ZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL1JFQURNRSBiL21ldGEtb3BlbmVtYmVkZGVkL1JFQURNRQppbmRleCBhNzE2ODAxLi43MzE4ZjA5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9SRUFETUUKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvUkVBRE1FCkBAIC0xLDYgKzEsNiBAQAogQ29sbGVjdGlvbiBvZiBsYXllcnMgZm9yIHRoZSBPRS1jb3JlIHVuaXZlcnNlCiAKLVRodWQgbWFpbnRhaW5lcjogQXJtaW4gS3VzdGVyICA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitNYWluIGxheWVyIG1haW50YWluZXI6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiAKIFRoaXMgcmVwb3NpdG9yeSBpcyBhIGNvbGxlY3Rpb24gb2YgbGF5ZXJzIHRvIHN1cHBsaW1lbnQgT0UtQ29yZQogd2l0aCBhZGRpdGlvbmFsIHBhY2thZ2VzLCBFYWNoIGxheWVyIGhhdmUgZGVzaWduYXRlZCBtYWludGFpbmVyCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL1JFQURNRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvUkVBRE1FCmluZGV4IGFjMDAzNWEuLjg3Y2I2ODUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvUkVBRE1FCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvUkVBRE1FCkBAIC0xMCwzMCArMTAsMzAgQEAKIFRoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKIAogICBVUkk6IGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL2JpdGJha2UKLSAgYnJhbmNoOiAxLjQwCisgIGJyYW5jaDogbWFzdGVyCiAKICAgVVJJOiBnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9vcGVuZW1iZWRkZWQtY29yZQogICBsYXllcnM6IG1ldGEKLSAgYnJhbmNoOiB0aHVkCisgIGJyYW5jaDogbWFzdGVyCiAKICAgVVJJOiBnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9tZXRhLW9wZW5lbWJlZGRlZAogICBsYXllcnM6IG1ldGEtb2UKLSAgYnJhbmNoOiB0aHVkCisgIGJyYW5jaDogbWFzdGVyCiAKIFBhdGNoZXMKID09PT09PT0KIAogUGxlYXNlIHN1Ym1pdCBhbnkgcGF0Y2hlcyBhZ2FpbnN0IHRoZSBmaWxlc3lzdGVtcyBsYXllciB0byB0aGUKIE9wZW5FbWJlZGRlZCBkZXZlbG9wbWVudCBtYWlsaW5nIGxpc3QgKG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnKQotd2l0aCAnW21ldGEtZmlsZXN5c3RlbXNdW3RodWRdJyBpbiB0aGUgc3ViamVjdC4KK3dpdGggJ1ttZXRhLWZpbGVzeXN0ZW1zXScgaW4gdGhlIHN1YmplY3QuCiAKLVRodWQgbWFpbnRhaW5lcjogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KK0xheWVyIG1haW50YWluZXI6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiAKIFdoZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzZSBzb21ldGhpbmcgbGlrZToKIAogICAgZ2l0IHNlbmQtZW1haWwgLTEgLU0gXAogICAgICAgICAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIFwKLSAgICAgICAgLS1zdWJqZWN0LXByZWZpeD1tZXRhLWZpbGVzeXN0ZW1zXVt0aHVkXVtQQVRDSAorICAgICAgICAtLXN1YmplY3QtcHJlZml4PW1ldGEtZmlsZXN5c3RlbXNdW1BBVENICiAKIAogVGFibGUgb2YgQ29udGVudHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvY29uZi9sYXllci5jb25mIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9jb25mL2xheWVyLmNvbmYKaW5kZXggMDAyZjA5OS4uNWFhMmIwYyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9jb25mL2xheWVyLmNvbmYKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9jb25mL2xheWVyLmNvbmYKQEAgLTE1LDQgKzE1LDQgQEAKIAogTEFZRVJERVBFTkRTX2ZpbGVzeXN0ZW1zLWxheWVyID0gImNvcmUgb3BlbmVtYmVkZGVkLWxheWVyIgogCi1MQVlFUlNFUklFU19DT01QQVRfZmlsZXN5c3RlbXMtbGF5ZXIgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9maWxlc3lzdGVtcy1sYXllciA9ICJ0aHVkIHdhcnJpb3IiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvZnVzZS1leGZhdC9mdXNlLWV4ZmF0XzEuMi4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL2Z1c2UtZXhmYXQvZnVzZS1leGZhdF8xLjIuMy5iYgppbmRleCA5OWJmMmJlLi4xOGZjOWNkIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvZnVzZS1leGZhdC9mdXNlLWV4ZmF0XzEuMi4zLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9mdXNlLWV4ZmF0L2Z1c2UtZXhmYXRfMS4yLjMuYmIKQEAgLTE3LDUgKzE3LDQgQEAKIFNSQ19VUklbbWQ1c3VtXSA9ICJmY2E3MWU2NTk4Zjc5ZDAzN2EzYzdjOTY5Y2I1NzEwYyIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJmMmUwNmViYTVhMjFjNjIxYWFjMWQ2ZGEyMWIxMmE1YTMyNGZkZDFlMjBmOWM4YWNkMzU3ZGQ0NjNjMjM1NWQ5IgogCi1TID0gIiR7V09SS0RJUn0vJHtQTn0tJHtQVn0iCiBFWFRSQV9PRUNPTkYgKz0gInNiaW5kaXI9JHtiYXNlX3NiaW5kaXJ9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL2ltYWdlcy9tZXRhLWZpbGVzeXN0ZW1zLWltYWdlLWJhc2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvaW1hZ2VzL21ldGEtZmlsZXN5c3RlbXMtaW1hZ2UtYmFzZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODliMWUxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL2ltYWdlcy9tZXRhLWZpbGVzeXN0ZW1zLWltYWdlLWJhc2UuYmIKQEAgLTAsMCArMSw3IEBACitTVU1NQVJZID0gIm1ldGEtZmlsZXN5c3RlbXMgYnVpbGQgdGVzdCBpbWFnZSIKKworSU1BR0VfSU5TVEFMTCA9ICJwYWNrYWdlZ3JvdXAtY29yZS1ib290IgorCitMSUNFTlNFID0gIk1JVCIKKworaW5oZXJpdCBjb3JlLWltYWdlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvaW1hZ2VzL21ldGEtZmlsZXN5c3RlbXMtaW1hZ2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvaW1hZ2VzL21ldGEtZmlsZXN5c3RlbXMtaW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2EyMWQyYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9pbWFnZXMvbWV0YS1maWxlc3lzdGVtcy1pbWFnZS5iYgpAQCAtMCwwICsxLDMgQEAKK3JlcXVpcmUgIG1ldGEtZmlsZXN5c3RlbXMtaW1hZ2UtYmFzZS5iYgorCitJTUFHRV9JTlNUQUxMICs9ICJwYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9vd2ZzL293ZnNfMy4ycDIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvb3dmcy9vd2ZzXzMuMnAyLmJiCmluZGV4IDUwODY1Y2MuLjg1N2FhZjIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9vd2ZzL293ZnNfMy4ycDIuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL293ZnMvb3dmc18zLjJwMi5iYgpAQCAtMTgsNyArMTgsNyBAQAogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgcGtnY29uZmlnCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgcGtnY29uZmlnIHN5c3RlbWQKIAogRVhUUkFfT0VDT05GID0gIiBcCiAgICAgICAgICAgICAgICAgIC0td2l0aC1mdXNlaW5jbHVkZT0ke1NUQUdJTkdfSU5DRElSfSBcCkBAIC01Miw5ICs1MiwxMiBAQAogREVTQ1JJUFRJT05fb3dtb24gPSAiTW9uaXRvciBmb3Igb3dzZXJ2ZXIgc2V0dGluZ3MgYW5kIHN0YXRpc3RpY3MiCiBERVNDUklQVElPTl9vd3RhcCA9ICJQYWNrZXQgc25pZmZlciBmb3IgdGhlIG93c2VydmVyIHByb3RvY29sIgogCi1GSUxFU19vd2Z0cGQgPSAiJHtiaW5kaXJ9L293ZnRwZCIKLUZJTEVTX293aHR0cGQgPSAiJHtiaW5kaXJ9L293aHR0cGQgJHtzeXNjb25mZGlyfS9pbml0LmQvb3dodHRwZCIKLUZJTEVTX293c2VydmVyID0gIiR7YmluZGlyfS9vd3NlcnZlciAke3N5c2NvbmZkaXJ9L2luaXQuZC9vd3NlcnZlciIKK0ZJTEVTX293ZnRwZCA9ICIke2JpbmRpcn0vb3dmdHBkICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vb3dmdHBkLnNlcnZpY2UiCitGSUxFU19vd2h0dHBkID0gIiR7YmluZGlyfS9vd2h0dHBkICR7c3lzY29uZmRpcn0vaW5pdC5kL293aHR0cGQgXAorICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L293aHR0cGQuc2VydmljZSIKK0ZJTEVTX293c2VydmVyID0gIiR7YmluZGlyfS9vd3NlcnZlciAke3N5c2NvbmZkaXJ9L2luaXQuZC9vd3NlcnZlciBcCisgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L293c2VydmVyLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9vd3NlcnZlci5zb2NrZXQiCiBGSUxFU19vd3NoZWxsID0gIiR7YmluZGlyfS9vd3JlYWQgJHtiaW5kaXJ9L293d3JpdGUgXAogICAgICAgICAgICAgICAgICAke2JpbmRpcn0vb3dkaXIgJHtiaW5kaXJ9L293cHJlc2VudCBcCiAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9vd2dldCAke2JpbmRpcn0vb3dzaWRlIgpAQCAtNjMsOSArNjYsMTUgQEAKIEZJTEVTX2xpYm93Y2FwaSA9ICIke2xpYmRpcn0vbGlib3djYXBpLSoiCiBGSUxFU19saWJvdyA9ICIke2xpYmRpcn0vbGlib3ctKiIKIEZJTEVTX2xpYm93bmV0ID0gIiR7bGliZGlyfS9saWJvd25ldC0qIgorRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vb3dmcy5zZXJ2aWNlIgogCiBJTklUU0NSSVBUX1BBQ0tBR0VTID0gIm93aHR0cGQgb3dzZXJ2ZXIiCiBJTklUU0NSSVBUX05BTUVfb3dzZXJ2ZXIgPSAib3dzZXJ2ZXIiCiBJTklUU0NSSVBUX05BTUVfb3dodHRwZCA9ICJvd2h0dHBkIgogSU5JVFNDUklQVF9QQVJBTVNfb3dzZXJ2ZXIgPSAiZGVmYXVsdHMgMjAiCiBJTklUU0NSSVBUX1BBUkFNU19vd2h0dHBkID0gImRlZmF1bHRzIDIxIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAib3dmcy5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LW93ZnRwZCA9ICJvd2Z0cGQuc2VydmljZSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1vd2h0dHBkID0gIm93aHR0cGQuc2VydmljZSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1vd3NlcnZlciA9ICJvd3NlcnZlci5zZXJ2aWNlIG93c2VydmVyLnNvY2tldCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9wYWNrYWdlY29uZmlncy9wYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9wYWNrYWdlY29uZmlncy9wYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmIxYzliCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3BhY2thZ2Vjb25maWdzL3BhY2thZ2Vncm91cC1tZXRhLWZpbGVzeXN0ZW1zLmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiTWV0YS1maWxlc3lzdGVtIHBhY2thZ2Vncm91cHMiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1BST1ZJREVTID0gIiR7UEFDS0FHRVN9IgorUEFDS0FHRVMgPSAnIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtZmlsZXN5c3RlbXMtc3VwcG9ydCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtZmlsZXN5c3RlbXMtdXRscyBcCisnCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLWZpbGVzeXN0ZW1zID0gIlwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtZmlsZXN5c3RlbXMtc3VwcG9ydCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtZmlsZXN5c3RlbXMtdXRscyBcCisiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLWZpbGVzeXN0ZW1zID0gIlwKKyAgICBudGZzLTNnLW50ZnNwcm9ncyBpZnVzZSBzc2hmcy1mdXNlIFwKKyAgICBsb2dmc3Byb2dzIG93ZnMgc2ltcGxlLW10cGZzIFwKKyAgICB1bmlvbmZzLWZ1c2UgZnVzZS1leGZhdCB5YWZmczItdXRpbHMgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAicGFtIiwgInNtYm5ldGZzIiwgIiIsIGQpfSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcy1zdXBwb3J0ID0gIlwKKyAgICBwaHlzZnMgZnVzZSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcy11dGlscyA9ICJcCisgICAgeG9ycmlzbyBhdWZzLXV0aWwgeGZzcHJvZ3MgXAorICAgIGYyZnMtdG9vbHMgZXhmYXQtdXRpbHMgdWRldmlsIFwKKyAgICB4ZnNkdW1wIFwKKyAgICAiCisKK0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3lhZmZzMi95YWZmczItdXRpbHNfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3lhZmZzMi95YWZmczItdXRpbHNfZ2l0LmJiCmluZGV4IDYwOTVlMjcuLjg2MjhiZWEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy95YWZmczIveWFmZnMyLXV0aWxzX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMveWFmZnMyL3lhZmZzMi11dGlsc19naXQuYmIKQEAgLTQzLDMgKzQzLDkgQEAKIH0KIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKKyMgRml4ZWQgbWFrZSBjbGVhbiBlcnJvcjoKKyNtYWtlIC1DIC9saWIvbW9kdWxlcy80LjQuMC0xMTItZ2VuZXJpYy9idWlsZCBNPTxzbmlwPgorI21ha2U6ICoqKiAvbGliL21vZHVsZXMvNC40LjAtMTEyLWdlbmVyaWMvYnVpbGQ6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkuICBTdG9wLgorI21ha2U6ICoqKiBbY2xlYW5dIEVycm9yIDIKK0NMRUFOQlJPS0VOID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzMuMC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXN1cHBvcnQvcGh5c2ZzL3BoeXNmc18zLjAuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2M5N2RlYS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzMuMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotU1VNTUFSWSA9ICJQaHlzaWNzRlMgaXMgYSBsaWJyYXJ5IHRvIHByb3ZpZGUgYWJzdHJhY3QgYWNjZXNzIHRvIHZhcmlvdXMgYXJjaGl2ZXMiCi1IT01FQVBBR0UgPSAiaHR0cDovL2ljY3VsdXMub3JnL3BoeXNmcyIKLUxJQ0VOU0UgPSAiWmxpYiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT0yNjY4ZTJmYjA1MWMzZTU2NDE5OGUxNDZhOWEyZDlmMCIKLURFUEVORFMgPSAicmVhZGxpbmUgemxpYiIKLQotaW5oZXJpdCBjbWFrZQotCi1QRSA9ICIxIgotCi1TUkNfVVJJID0gImh0dHA6Ly9pY2N1bHVzLm9yZy8ke0JQTn0vZG93bmxvYWRzLyR7QlB9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiMzU5ZjEwMmJjYmQ2MmFjY2Y4NGVmMzJmNDg2MzI1NWQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjc3YjlmODUzMTY4ZDk2MzZhNDRmNzVmY2EzNzJiMzYzMTA2ZjUyZDc4OWQxOGEyZjc3NjM5N2JmMTE3ZjJmMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1zdXBwb3J0L3BoeXNmcy9waHlzZnNfMy4wLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzMuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwMDMzZmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzMuMC4yLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiUGh5c2ljc0ZTIGlzIGEgbGlicmFyeSB0byBwcm92aWRlIGFic3RyYWN0IGFjY2VzcyB0byB2YXJpb3VzIGFyY2hpdmVzIgorSE9NRUFQQUdFID0gImh0dHA6Ly9pY2N1bHVzLm9yZy9waHlzZnMiCitMSUNFTlNFID0gIlpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9OTY4MDE4ODJkMTEyMDIzOWRjYWZiZjg4OGU4MjFhNmUiCitERVBFTkRTID0gInJlYWRsaW5lIHpsaWIiCisKK2luaGVyaXQgY21ha2UKKworUEUgPSAiMSIKKworU1JDX1VSSSA9ICJodHRwOi8vaWNjdWx1cy5vcmcvJHtCUE59L2Rvd25sb2Fkcy8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImRjNzUxMjk0YWFmNTlkMTM1OWJiZTM0ZTY5M2QxZDg3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMwNGRmNzYyMDZkNjMzZGY1MzYwZTczOGIxMzhjOTRlODJjY2YwODZlNTBiYTg0ZjQ1NmQzZjg0MzJmOWY4NjMiCisKK0VYVFJBX09FQ01BS0UgPSAiLURMSUJfU1VGRklYPSR7QGQuZ2V0VmFyKCdiYXNlbGliJykucmVwbGFjZSgnbGliJywgJycpfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNwcm9ncy94ZnNwcm9nc180LjE4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzcHJvZ3MveGZzcHJvZ3NfNC4xOC4wLmJiCmluZGV4IDBhMWJhY2IuLjg4NjAzZGIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNwcm9ncy94ZnNwcm9nc180LjE4LjAuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL3hmc3Byb2dzL3hmc3Byb2dzXzQuMTguMC5iYgpAQCAtNTgsNiArNTgsOCBAQAogICAgIHJtIC1mICR7Qn0vaW5jbHVkZS9idWlsZGRlZnMgJHtCfS9pbmNsdWRlL3BsYXRmb3JtX2RlZnMuaCAke0J9L2NvbmZpZ3VyZQogICAgICMgUmVjcmVhdGUgY29uZmlndXJlIHNjcmlwdC4KICAgICBvZV9ydW5tYWtlIGNvbmZpZ3VyZQorICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLmd1ZXNzICR7U30KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5zdWIgJHtTfQogICAgIG9lX3J1bmNvbmYKIH0KIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9SRUFETUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL1JFQURNRQppbmRleCA4NGQ0ZjczLi4yYTY4MmU3IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL1JFQURNRQorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL1JFQURNRQpAQCAtMjMsMTYgKzIzLDE2IEBACiBUaGlzIGxheWVyIGRlcGVuZHMgb246CiAKIFVSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvb2UtY29yZS5naXQKLWJyYW5jaDogdGh1ZAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKIFVSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvbWV0YS1vZS5naXQKLWJyYW5jaDogdGh1ZAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKLVNlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1nbm9tZV1bdGh1ZF0nIGluIHRoZSBzdWJqZWN0JworU2VuZCBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdpdGggJ1ttZXRhLWdub21lXScgaW4gdGhlIHN1YmplY3QnCiAKIFdoZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzaW5nIHNvbWV0aGluZyBsaWtlOgotJ2dpdCBzZW5kLWVtYWlsIC1NIC0xIC0tdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgLS1zdWJqZWN0LXByZWZpeD1tZXRhLWdub21lXVt0aHVkXVtQQVRDSCcKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1nbm9tZV1bUEFUQ0gnCiAKLVRodWQgbWFpbnRhaW5lcjogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KK0xheWVyIG1haW50YWluZXI6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvY29uZi9sYXllci5jb25mIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9jb25mL2xheWVyLmNvbmYKaW5kZXggZTlkMDc4NS4uMGI2ODIzMiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9jb25mL2xheWVyLmNvbmYKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9jb25mL2xheWVyLmNvbmYKQEAgLTE0LDcgKzE0LDcgQEAKIAogTEFZRVJERVBFTkRTX2dub21lLWxheWVyID0gImNvcmUgb3BlbmVtYmVkZGVkLWxheWVyIG5ldHdvcmtpbmctbGF5ZXIiCiAKLUxBWUVSU0VSSUVTX0NPTVBBVF9nbm9tZS1sYXllciA9ICJ0aHVkIgorTEFZRVJTRVJJRVNfQ09NUEFUX2dub21lLWxheWVyID0gInRodWQgd2FycmlvciIKIAogIyBTYW5pdHkgY2hlY2sgZm9yIG1ldGEtZ25vbWUgbGF5ZXIuCiAjIFNldHRpbmcgU0tJUF9NRVRBX0dOT01FX1NBTklUWV9DSEVDSyB0byAiMSIgd291bGQgc2tpcCB0aGUgYmJhcHBlbmQgZmlsZXMgY2hlY2suCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmstbWFuYWdlci1hcHBsZXQvbmV0d29yay1tYW5hZ2VyLWFwcGxldF8xLjguMTguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmstbWFuYWdlci1hcHBsZXQvbmV0d29yay1tYW5hZ2VyLWFwcGxldF8xLjguMTguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxODQwMDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrLW1hbmFnZXItYXBwbGV0L25ldHdvcmstbWFuYWdlci1hcHBsZXRfMS44LjE4LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotU1VNTUFSWSA9ICJHVEsrIGFwcGxldCBmb3IgTmV0d29ya01hbmFnZXIiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCi0KLURFUEVORFMgPSAiZ3RrKzMgbGlibm90aWZ5IGxpYnNlY3JldCBuZXR3b3JrbWFuYWdlciBkYnVzLWdsaWIgXAotICAgICAgICAgICBnY29uZiBsaWJnbm9tZS1rZXlyaW5nIGlzby1jb2RlcyBuc3MgXAotICAgICAgICAgICBpbnRsdG9vbC1uYXRpdmUgXAotIgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gImF1dG90b29scy1icm9rZW5zZXAiCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBnbm9tZWJhc2UgZ3NldHRpbmdzIGd0ay1pY29uLWNhY2hlIGdvYmplY3QtaW50cm9zcGVjdGlvbgotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIzNDkyMzU3OWIzOTM2MGRiNjQ2NDkzNDJlZTY3MzVkOCIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjIzZGMxNDA0ZjFlMDYyMmI3YzQ3MThiNmQ5NzhiMTAxZDVlNGQ5YmUwYjkyMTMzYjM4NjNhNGRjMjk3ODYxNzgiCi0KLVBBQ0tBR0VDT05GSUdbbW9kZW1tYW5hZ2VyXSA9ICItLXdpdGgtd3dhbiwtLXdpdGhvdXQtd3dhbixtb2RlbW1hbmFnZXIiCi1QQUNLQUdFQ09ORklHW21vYmlsZS1wcm92aWRlci1pbmZvXSA9ICItLWVuYWJsZS1tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8sLS1kaXNhYmxlLW1vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mbyxtb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8sbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvIgotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLQotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS13aXRob3V0LXNlbGludXggXAotIgotCi1kb19jb25maWd1cmVfYXBwZW5kKCkgewotICAgICMgU2lnaC4uLiAtLWVuYWJsZS1jb21waWxlLXdhcm5pbmdzPW5vIGRvZXNuJ3QgYWN0dWFsbHkgdHVybiBvZmYgLVdlcnJvcgotICAgIGZvciBpIGluICQoZmluZCAke0J9IC1uYW1lICJNYWtlZmlsZSIpIDsgZG8KLSAgICAgICAgc2VkIC1pIC1lIHMlLVdlcnJvclteWzpzcGFjZTpdXSolJWcgJGkKLSAgICBkb25lCi19Ci0KLSMgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHJlbGF0ZWQKLUdJX0RBVEFfRU5BQkxFRF9saWJjLW11c2wgPSAiRmFsc2UiCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLSAgICBleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0iJHtCfS9zcmMvbGlibm1hLy5saWJzOiR7Qn0vc3JjL2xpYm5tLWd0ay8ubGlicyIKLX0KLQotUkRFUEVORFNfJHtQTn0gPSsgIm5ldHdvcmttYW5hZ2VyIgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2RhdGFkaXJ9L25tLWFwcGxldC8gXAotICAgICR7ZGF0YWRpcn0vbGlibm0tZ3RrL3dpZmkudWkgXAotICAgICR7ZGF0YWRpcn0vbGlibm1hL3dpZmkudWkgXAotICAgICR7ZGF0YWRpcn0vbWV0YWluZm8gXAotIgotCi0jIG11c2wgYnVpbGRzIGdlbmVyYXRlIGdpciBmaWxlcyB3aGljaCBvdGhlcndpc2UgZ28gdW4tcGFja2FnZWQKLUZJTEVTXyR7UE59LWRldiArPSAiIFwKLSAgICAke2RhdGFkaXJ9L2dpci0xLjAgXAotIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrLW1hbmFnZXItYXBwbGV0L25ldHdvcmstbWFuYWdlci1hcHBsZXRfMS44LjIwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrLW1hbmFnZXItYXBwbGV0L25ldHdvcmstbWFuYWdlci1hcHBsZXRfMS44LjIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxODFmNWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmstbWFuYWdlci1hcHBsZXQvbmV0d29yay1tYW5hZ2VyLWFwcGxldF8xLjguMjAuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJHVEsrIGFwcGxldCBmb3IgTmV0d29ya01hbmFnZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK0RFUEVORFMgPSAiZ3RrKzMgbGlibm90aWZ5IGxpYnNlY3JldCBuZXR3b3JrbWFuYWdlciBkYnVzLWdsaWIgXAorICAgICAgICAgICBnY29uZiBsaWJnbm9tZS1rZXlyaW5nIGlzby1jb2RlcyBuc3MgXAorICAgICAgICAgICBpbnRsdG9vbC1uYXRpdmUgXAorIgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gImF1dG90b29scy1icm9rZW5zZXAiCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBnbm9tZWJhc2UgZ3NldHRpbmdzIGd0ay1pY29uLWNhY2hlIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIwNmFhZmE4NTE3NjIxNDYwMzQzNTFhYTcyZWJiMjNkNCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjA1MGRiYjE1NTU2NmM3MTUyMzlkYzAzNzg4NDRkOGJlZWQxMDk1NGU2NGU3MTAxNGVjZWY4Y2E5MTJkZjM0ZWMiCisKK1BBQ0tBR0VDT05GSUdbbW9kZW1tYW5hZ2VyXSA9ICItLXdpdGgtd3dhbiwtLXdpdGhvdXQtd3dhbixtb2RlbW1hbmFnZXIiCitQQUNLQUdFQ09ORklHW21vYmlsZS1wcm92aWRlci1pbmZvXSA9ICItLWVuYWJsZS1tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8sLS1kaXNhYmxlLW1vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mbyxtb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8sbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvIgorUEFDS0FHRUNPTkZJRyA/Pz0gIiIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS13aXRob3V0LXNlbGludXggXAorIgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgICMgU2lnaC4uLiAtLWVuYWJsZS1jb21waWxlLXdhcm5pbmdzPW5vIGRvZXNuJ3QgYWN0dWFsbHkgdHVybiBvZmYgLVdlcnJvcgorICAgIGZvciBpIGluICQoZmluZCAke0J9IC1uYW1lICJNYWtlZmlsZSIpIDsgZG8KKyAgICAgICAgc2VkIC1pIC1lIHMlLVdlcnJvclteWzpzcGFjZTpdXSolJWcgJGkKKyAgICBkb25lCit9CisKKyMgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHJlbGF0ZWQKK0dJX0RBVEFfRU5BQkxFRF9saWJjLW11c2wgPSAiRmFsc2UiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0iJHtCfS9zcmMvbGlibm1hLy5saWJzOiR7Qn0vc3JjL2xpYm5tLWd0ay8ubGlicyIKK30KKworUkRFUEVORFNfJHtQTn0gPSsgIm5ldHdvcmttYW5hZ2VyIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L25tLWFwcGxldC8gXAorICAgICR7ZGF0YWRpcn0vbGlibm0tZ3RrL3dpZmkudWkgXAorICAgICR7ZGF0YWRpcn0vbGlibm1hL3dpZmkudWkgXAorICAgICR7ZGF0YWRpcn0vbWV0YWluZm8gXAorIgorCisjIG11c2wgYnVpbGRzIGdlbmVyYXRlIGdpciBmaWxlcyB3aGljaCBvdGhlcndpc2UgZ28gdW4tcGFja2FnZWQKK0ZJTEVTXyR7UE59LWRldiArPSAiIFwKKyAgICAke2RhdGFkaXJ9L2dpci0xLjAgXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWV4dGVuZGVkL2dwYXJ0ZWQvZ3BhcnRlZF8wLjMxLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9ncGFydGVkXzAuMzEuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNThiZWFmNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9ncGFydGVkXzAuMzEuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLVNVTU1BUlkgPSAiQSBwYXJ0aXRpb24gZWRpdG9yIHRvIGdyYXBoaWNhbGx5IG1hbmFnZSBkaXNrIHBhcnRpdGlvbnMgIgotSE9NRVBBR0UgPSAiaHR0cDovL2dwYXJ0ZWQub3JnL2luZGV4LnBocCIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstaWNvbi1jYWNoZQotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJID0gIiBcCi0gICAgJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvJHtCUE59LyR7QlBOfS8ke0JQTn0tJHtQVn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCi0gICAgZmlsZTovL29yZy55b2N0b3Byb2plY3QucGtleGVjLnJ1bi1ncGFydGVkLnBvbGljeSBcCi0gICAgZmlsZTovL2dwYXJ0ZWRfcG9sa2l0IFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICJjNTU0Y2M1NzM0YzUwNDU5ZGQ1NTFiZDNmYTEwNzEwZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzYjdiNDlhNDM0ZDllNGIzOTdiYzQxYTFmNWFjYWI4NTM5YjlmZjQwMmI0NzJkZmQ4M2FkNzdiMmRlY2QwN2JhIgotCi1ERVBFTkRTID0gImdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSBndGttbSBwYXJ0ZWQgZ25vbWUtZG9jLXV0aWxzIGludGx0b29sLW5hdGl2ZSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgIyBBZGQgYSBzY3JpcHQgd2hpY2ggY2hlY2tzIGlmIHBvbGtpdCBpcyBpbnN0YWxsZWQuCi0gICAgIyBJZiB5ZXM6IGEgcG9saWN5IGlzIHJlcXVlc3RlZCBmcm9tIHBvbGtpdCAvIG90aGVyd2lzZSBzdGFydCBhcyB1c3VhbAotICAgIGluc3RhbGwgJHtXT1JLRElSfS9ncGFydGVkX3BvbGtpdCAke0R9JHtzYmluZGlyfQotICAgIHNlZCAtaSAnczolc2JpbmRpciU6JHtzYmluZGlyfTpnJyAke0R9JHtzYmluZGlyfS9ncGFydGVkX3BvbGtpdAotICAgICMgcmVsaW5rIG1lbnUgZW50cnkgdG8gdXNlIG91ciBzY3JpcHQKLSAgICBzZWQgLWkgJ3M6JHtzYmluZGlyfS9ncGFydGVkOiR7c2JpbmRpcn0vZ3BhcnRlZF9wb2xraXQ6ZycgJHtEfSR7ZGF0YWRpcn0vYXBwbGljYXRpb25zL2dwYXJ0ZWQuZGVza3RvcAotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9hY3Rpb25zCi0gICAgaW5zdGFsbCAke1dPUktESVJ9L29yZy55b2N0b3Byb2plY3QucGtleGVjLnJ1bi1ncGFydGVkLnBvbGljeSAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9hY3Rpb25zL29yZy55b2N0b3Byb2plY3QucGtleGVjLnJ1bi1ncGFydGVkLnBvbGljeQotfQotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXNjcm9sbGtlZXBlciAtLWRpc2FibGUtZG9jIgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2RhdGFkaXJ9L2FwcGRhdGEgXAotICAgICR7ZGF0YWRpcn0vaWNvbnMgXAotICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAotIgotCi1SREVQRU5EU18ke1BOfSA9ICJkb3Nmc3Rvb2xzIG10b29scyBlMmZzcHJvZ3MiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9ncGFydGVkXzAuMzMuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1leHRlbmRlZC9ncGFydGVkL2dwYXJ0ZWRfMC4zMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZjY5OTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9ncGFydGVkXzAuMzMuMC5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIkEgcGFydGl0aW9uIGVkaXRvciB0byBncmFwaGljYWxseSBtYW5hZ2UgZGlzayBwYXJ0aXRpb25zICIKK0hPTUVQQUdFID0gImh0dHA6Ly9ncGFydGVkLm9yZy9pbmRleC5waHAiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGF1dG90b29scyBwa2djb25maWcgZ3RrLWljb24tY2FjaGUKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSSA9ICIgXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0LyR7QlBOfS8ke0JQTn0vJHtCUE59LSR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgIGZpbGU6Ly9vcmcueW9jdG9wcm9qZWN0LnBrZXhlYy5ydW4tZ3BhcnRlZC5wb2xpY3kgXAorICAgIGZpbGU6Ly9ncGFydGVkX3BvbGtpdCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMmY0ODFhZDM0ZGVjYjcwMjFjYTA0Y2EzMDVlNzllN2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTAyM2I4Yzk4M2Y4OGEyMmU2NWJmNmYwOWExMmVhMDkzNjlkZWZjMDA4OTgxYjUyZWU4Yjk2YTM4NzlmODFkNiIKKworREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgZ3RrbW0gcGFydGVkIGdub21lLWRvYy11dGlscyBpbnRsdG9vbC1uYXRpdmUiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgQWRkIGEgc2NyaXB0IHdoaWNoIGNoZWNrcyBpZiBwb2xraXQgaXMgaW5zdGFsbGVkLgorICAgICMgSWYgeWVzOiBhIHBvbGljeSBpcyByZXF1ZXN0ZWQgZnJvbSBwb2xraXQgLyBvdGhlcndpc2Ugc3RhcnQgYXMgdXN1YWwKKyAgICBpbnN0YWxsICR7V09SS0RJUn0vZ3BhcnRlZF9wb2xraXQgJHtEfSR7c2JpbmRpcn0KKyAgICBzZWQgLWkgJ3M6JXNiaW5kaXIlOiR7c2JpbmRpcn06ZycgJHtEfSR7c2JpbmRpcn0vZ3BhcnRlZF9wb2xraXQKKyAgICAjIHJlbGluayBtZW51IGVudHJ5IHRvIHVzZSBvdXIgc2NyaXB0CisgICAgc2VkIC1pICdzOiR7c2JpbmRpcn0vZ3BhcnRlZDoke3NiaW5kaXJ9L2dwYXJ0ZWRfcG9sa2l0OmcnICR7RH0ke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucy9ncGFydGVkLmRlc2t0b3AKKworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vcG9sa2l0LTEvYWN0aW9ucworICAgIGluc3RhbGwgJHtXT1JLRElSfS9vcmcueW9jdG9wcm9qZWN0LnBrZXhlYy5ydW4tZ3BhcnRlZC5wb2xpY3kgJHtEfSR7ZGF0YWRpcn0vcG9sa2l0LTEvYWN0aW9ucy9vcmcueW9jdG9wcm9qZWN0LnBrZXhlYy5ydW4tZ3BhcnRlZC5wb2xpY3kKK30KKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1zY3JvbGxrZWVwZXIgLS1kaXNhYmxlLWRvYyIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9hcHBkYXRhIFwKKyAgICAke2RhdGFkaXJ9L2ljb25zIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyIKKworUkRFUEVORFNfJHtQTn0gPSAiZG9zZnN0b29scyBtdG9vbHMgZTJmc3Byb2dzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Rjb25mL2Rjb25mLWVkaXRvcl8zLjI4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmYtZWRpdG9yXzMuMjguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzBmOTE3ZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmYtZWRpdG9yXzMuMjguMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVNVTU1BUlkgPSAiQ29uZmlndXJhdGlvbiBlZGl0b3IgZm9yIGRjb25mIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFlYmJkM2UzNDIzN2FmMjZkYTVkYzA4YTRlNDQwNDY0IgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgotCi1ERVBFTkRTID0gImRjb25mIGd0ayszIgotCi1pbmhlcml0IGdub21lYmFzZSB2YWxhIGdldHRleHQgZ3NldHRpbmdzIGJhc2gtY29tcGxldGlvbgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJjYzllYjgwMjBjYzg0ODgxMjk3MmQ4NTE5YzNkMDVjZiIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjQ1NWI1M2Q4Mjc4MjBlZmQyOGExNzZlZTUyZTEzZWRhNWNkYThjZGY0ZTMxZTAxNDVjZmRkNjk5MzFiZjBjNWEiCi0KLUZJTEVTXyR7UE59ICs9ICIgXAotICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKLSAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZi1lZGl0b3JfMy4zMi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Rjb25mL2Rjb25mLWVkaXRvcl8zLjMyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTk5ZWQwNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZi1lZGl0b3JfMy4zMi4wLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiQ29uZmlndXJhdGlvbiBlZGl0b3IgZm9yIGRjb25mIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFlYmJkM2UzNDIzN2FmMjZkYTVkYzA4YTRlNDQwNDY0IgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgorCitERVBFTkRTID0gImRjb25mIGd0ayszIgorCitpbmhlcml0IGdub21lYmFzZSB2YWxhIGdldHRleHQgZ3NldHRpbmdzIGJhc2gtY29tcGxldGlvbgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIzMzFhMzYwM2MwZjhhOTkxM2UzYTNjMGYxNzhiNTMxMCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImYxOWQxMzMyYWMyN2UyM2VmM2RjMmVkMDdiYTRlNDY0NmQ5ZDdmMDVlMmU3ODc0OGFhNTI1YTEzMjBhZGJhYmEiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKKyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZl8wLjI4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmZfMC4yOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTI5MmE4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZl8wLjI4LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gImNvbmZpZ3VhdGlvbiBkYXRhYmFzZSBzeXN0ZW0iCi1MSUNFTlNFID0gIkxHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEiCi1TRUNUSU9OID0gIngxMS9nbm9tZSIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiODFmYWE4ZTY4ZTVlYTcxZmYwZWU3NTA1MGZjMDc1OWMiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI2MWQzYjM4NjVlZjU4YjcyOWMzYjM5YWEwOTc5Zjg4NmMwMTRhYTgzNjJmOTNkY2ZjNzRiZjU2NDhlZDljNzQyIgotCi1ERVBFTkRTID0gImRidXMgZ2xpYi0yLjAgaW50bHRvb2wtbmF0aXZlIgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgotCi1pbmhlcml0IGdub21lYmFzZSBnc2V0dGluZ3MgYmFzaC1jb21wbGV0aW9uIHZhbGEKLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS9kYnVzLTEgXAotICAgICR7bGliZGlyfS9naW8vbW9kdWxlcy8qLnNvIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZl8wLjMyLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmZfMC4zMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkMWJiZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmZfMC4zMi4wLmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiY29uZmlndWF0aW9uIGRhdGFiYXNlIHN5c3RlbSIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSIKK1NFQ1RJT04gPSAieDExL2dub21lIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJlMWFjMGI2Mjg1YWJlZmVlZDY5Y2E5ZTM4MGU0NGY1YSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjY4YmNlNzhiMTliYzk0Y2IyYzNiYjg1ODdlMzdmOWU1ZTMzODU2OGMzYTY3NGY4NmVkZGU5YzlmMTYyNGZmYWIiCisKK0RFUEVORFMgPSAiZGJ1cyBnbGliLTIuMCBpbnRsdG9vbC1uYXRpdmUiCisKK0dOT01FQkFTRUJVSUxEQ0xBU1MgPSAibWVzb24iCisKK2luaGVyaXQgZ25vbWViYXNlIGJhc2gtY29tcGxldGlvbiB2YWxhCisKKyMgSS9PIGVycm9yIDogQXR0ZW1wdCB0byBsb2FkIG5ldHdvcmsgZW50aXR5IGh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC9jdXJyZW50L21hbnBhZ2VzL2RvY2Jvb2sueHNsCitFWFRSQV9PRU1FU09OID0gIi1EbWFuPWZhbHNlIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMSBcCisgICAgJHtsaWJkaXJ9L2dpby9tb2R1bGVzLyouc28gXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXJfMy4yNi42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXJfMy4yNi42LmJiCmluZGV4IGRiNWRjYTkuLjE5NDlmYzcgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9lZHMvZXZvbHV0aW9uLWRhdGEtc2VydmVyXzMuMjYuNi5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlcl8zLjI2LjYuYmIKQEAgLTM4LDYgKzM4LDcgQEAKICAgICAtREVOQUJMRV9HT09HTEVfQVVUSD1PRkYgXAogICAgIC1ERU5BQkxFX1dFQVRIRVI9T0ZGIFwKICAgICAtRCR7TEtTVFJGVElNRX0gXAorICAgIC1ETElCX1NVRkZJWD0ke0BkLmdldFZhcignYmFzZWxpYicpLnJlcGxhY2UoJ2xpYicsICcnKX0gXAogIgogCiBQQUNLQUdFQ09ORklHID8/PSAiIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2V2aW5jZS9ldmluY2VfMy4yOC4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2V2aW5jZS9ldmluY2VfMy4yOC4yLmJiCmluZGV4IDhiZjhhMDQuLjAxZjU4MWEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ldmluY2UvZXZpbmNlXzMuMjguMi5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZXZpbmNlL2V2aW5jZV8zLjI4LjIuYmIKQEAgLTYsOCArNiw2IEBACiAKIGluaGVyaXQgZ25vbWUgcGtnY29uZmlnIGd0ay1pY29uLWNhY2hlIGdzZXR0aW5ncyBnb2JqZWN0LWludHJvc3BlY3Rpb24gZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHN5c3RlbWQKIAotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQogU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtHTk9NRUJOfS8ke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9LyR7R05PTUVCTn0tJHtQVn0udGFyLiR7R05PTUVfQ09NUFJFU1NfVFlQRX07bmFtZT1hcmNoaXZlIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtaGVscC1yZW1vdmUtWUVMUC1tYWNyby5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1mb3JtYXQtYXR0cmlidXRlLXRvLV9zeW5jdGV4X21hbGxvYy5wYXRjaCBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZmFlbnphLWljb24tdGhlbWUvZmFlbnphLWljb24tdGhlbWVfMS4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2ZhZW56YS1pY29uLXRoZW1lL2ZhZW56YS1pY29uLXRoZW1lXzEuMy5iYgppbmRleCBhMzliMWEwLi41NjFiMDk0IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZmFlbnphLWljb24tdGhlbWUvZmFlbnphLWljb24tdGhlbWVfMS4zLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9mYWVuemEtaWNvbi10aGVtZS9mYWVuemEtaWNvbi10aGVtZV8xLjMuYmIKQEAgLTgsNyArOCw3IEBACiAKIFMgPSAiJHtXT1JLRElSfSIKIAotU1JDX1VSSSA9ICJodHRwOi8vZmFlbnphLWljb24tdGhlbWUuZ29vZ2xlY29kZS5jb20vZmlsZXMvJHtQTn1fJHtQVn0uemlwIgorU1JDX1VSSSA9ICJodHRwOi8vZmFlbnphLWljb24tdGhlbWUuZ29vZ2xlY29kZS5jb20vZmlsZXMvJHtCUE59XyR7UFZ9LnppcCIKIFNSQ19VUklbbWQ1c3VtXSA9ICJlOWJkNjEwNmQxMzAxN2NlMDZkMjRiNTg2MjU5YWU5YyIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJkNDQ4NmZkYTA0MTNmOGE4MWE4N2UwZGQyMzI5ZjUwZjJhOGE3Y2I0MTQ3YjQ4Y2YxNDdmMDE2MGFkZDgxNzRhIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wLzAwMDEtRGlzYWJsZS1saWJzZWNjb21wLXN5Y2FsbC1maWx0ZXJpbmctbWVjaGFuaXNtLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRlc2t0b3AvZ25vbWUtZGVza3RvcC8wMDAxLURpc2FibGUtbGlic2VjY29tcC1zeWNhbGwtZmlsdGVyaW5nLW1lY2hhbmlzbS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWExMWU4YS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wLzAwMDEtRGlzYWJsZS1saWJzZWNjb21wLXN5Y2FsbC1maWx0ZXJpbmctbWVjaGFuaXNtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSA5Njc1M2Q4NWQ4YjUzZGQ4Zjg3YjhmNDQ0ODkyZWZmZmRiZmFiMzg4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDUgT2N0IDIwMTcgMTQ6NTQ6MTcgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gRGlzYWJsZSBsaWJzZWNjb21wIChzeWNhbGwgZmlsdGVyaW5nIG1lY2hhbmlzbSkKLQotVXBzdHJlYW0gZm9yZ290IHRvIG1ha2UgaXQgb3B0aW9uYWwsIGFuZCBpdCBpcyBub3QgY3VycmVudGx5IHVzZWQgaW4gWW9jdG8KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci0KLS0tLQotIGNvbmZpZ3VyZS5hYyB8IDIwIC0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIwIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCAxMThkMDRmLi40N2M4ODk0IDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0xNTEsMjYgKzE1MSw2IEBAIGZpCi0gCi0gU0VDQ09NUF9QS0c9IiIKLSBlbmFibGVfc2VjY29tcD0ibm8iCi0tZG5sIENoZWNrIGZvciBidWJibGV3cmFwIGNvbXBhdGlibGUgcGxhdGZvcm0KLS1jYXNlICRob3N0X29zIGluCi0tICBsaW51eCopCi0tICAgIGNhc2UgJGhvc3RfY3B1IGluCi0tICAgICAgYWxwaGF8aWE2NHxtNjhrfHNoNHxzcGFyYzY0KQotLSAgICAgICAgZW5hYmxlX3NlY2NvbXA9Im5vIChub3QgYXZhaWxhYmxlIG9uIHRoaXMgYXJjaGl0ZWN0dXJlKSIKLS0gICAgICAgIEFDX01TR19XQVJOKCJzZWNjb21wIG5vdCBhdmFpbGFibGUgb24gdGhpcyBhcmNoaXRlY3R1cmUiKQotLSAgICAgICAgOzsKLS0gICAgICAqKQotLSAgICAgICAgUEtHX0NIRUNLX01PRFVMRVMoTElCU0VDQ09NUCwgW2xpYnNlY2NvbXBdKQotLSAgICAgICAgU0VDQ09NUF9QS0c9ImxpYnNlY2NvbXAiCi0tICAgICAgICBBQ19ERUZJTkUoW0VOQUJMRV9TRUNDT01QXSwgWzFdLCBbRGVmaW5lIGlmIHVzaW5nIHNlY2NvbXBdKQotLSAgICAgICAgZW5hYmxlX3NlY2NvbXA9InllcyIKLS0gICAgICAgIDs7Ci0tICAgIGVzYWMKLS0gICAgQUNfREVGSU5FX1VOUVVPVEVEKF9HTlVfU09VUkNFLCAxLCBbRGVmaW5lIHRvIGluY2x1ZGUgR05VIGV4dGVuc2lvbnNdKQotLSAgICBBQ19ERUZJTkVfVU5RVU9URUQoSEFWRV9CV1JBUCwgMSwgW0RlZmluZSB0byAxIGlmIEJ1YmJsZXdyYXAgc3VwcG9ydCBpcyBhdmFpbGFibGVdKQotLSAgICBBQ19ERUZJTkVfVU5RVU9URUQoSU5TVEFMTF9QUkVGSVgsICIkcHJlZml4IiwgW1BhdGggdG8gbGlicmFyeSBpbnN0YWxsIHByZWZpeF0pCi0tICAgIDs7Ci0tZXNhYwotIAotIGRubCBwa2ctY29uZmlnIGRlcGVuZGVuY3kgY2hlY2tzCi0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wM18zLjI4LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wM18zLjI4LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5YjM0OTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRlc2t0b3AvZ25vbWUtZGVza3RvcDNfMy4yOC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotU1VNTUFSWSA9ICJHTk9NRSBsaWJyYXJ5IGZvciByZWFkaW5nIC5kZXNrdG9wIGZpbGVzIgotU0VDVElPTiA9ICJ4MTEvZ25vbWUiCi1MSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTVmMzBmMDcxNmRmZGQwZDkxZWI0MzllYmVjNTIyZWMyIgotCi1CUE4gPSAiZ25vbWUtZGVza3RvcCIKLQotaW5oZXJpdCBnbm9tZSBwa2djb25maWcgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdvYmplY3QtaW50cm9zcGVjdGlvbgotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiYmNiZjkwNmQ5NGViMDgwNjBjNjBhNzM2NDM4NGQ2NzgiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI3OGEzOTdhMmJlNDc1ODZlNmRjMDc1ZDZhN2ZjNTY1OWFhZTNkMTA3MTNkNzY5OTRjZTFiNDYwODZlN2VjYjlhIgotCi1TUkNfVVJJICs9ICIgXAotICAgICAgICAgICBmaWxlOi8vZ25vbWUtZGVza3RvcC10aHVtYm5haWwtZG9uLXQtYXNzdW1lLXRpbWVfdC1pcy1sb25nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRGlzYWJsZS1saWJzZWNjb21wLXN5Y2FsbC1maWx0ZXJpbmctbWVjaGFuaXNtLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1ERVBFTkRTICs9ICJpbnRsdG9vbC1uYXRpdmUgZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyBnY29uZiB2aXJ0dWFsL2xpYngxMSBndGsrMyBnbGliLTIuMCBzdGFydHVwLW5vdGlmaWNhdGlvbiB4a2V5Ym9hcmQtY29uZmlnIGlzby1jb2RlcyB1ZGV2IgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBndGstZG9jCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWRlc2t0b3AtZG9jcyIKLQotUEFDS0FHRVMgPSsgImxpYmdub21lLWRlc2t0b3AzIgotRklMRVNfbGliZ25vbWUtZGVza3RvcDMgPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30gJHtkYXRhZGlyfS9saWJnbm9tZS1kZXNrdG9wKi9wbnAuaWRzICR7ZGF0YWRpcn0vZ25vbWUvKnhtbCIKLQotUlJFQ09NTUVORFNfbGliZ25vbWUtZGVza3RvcDMgKz0gImdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wM18zLjMyLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wM18zLjMyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTg1YTI1MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1kZXNrdG9wL2dub21lLWRlc2t0b3AzXzMuMzIuMC5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIkdOT01FIGxpYnJhcnkgZm9yIHJlYWRpbmcgLmRlc2t0b3AgZmlsZXMiCitTRUNUSU9OID0gIngxMS9nbm9tZSIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIiCisKK0JQTiA9ICJnbm9tZS1kZXNrdG9wIgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgorCitpbmhlcml0IGdub21lIHBrZ2NvbmZpZyB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImU0MjNlZDZkNjQ4YzZjNGY5Nzk4ZmE5Y2Q5ZWE4ZDk5IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiYTYzOTNkYzVmYzI5ZmMwNjUyYWM4NGM3M2IzZGEyMDVkMGIwMTY4MTI4YzRjZjZkMjc3OTdhMDhmM2QwN2I1NCIKKworU1JDX1VSSSArPSAiZmlsZTovL2dub21lLWRlc2t0b3AtdGh1bWJuYWlsLWRvbi10LWFzc3VtZS10aW1lX3QtaXMtbG9uZy5wYXRjaCIKKworREVQRU5EUyArPSAiaXRzdG9vbC1uYXRpdmUgZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyBnY29uZiB2aXJ0dWFsL2xpYngxMSBndGsrMyBnbGliLTIuMCBzdGFydHVwLW5vdGlmaWNhdGlvbiB4a2V5Ym9hcmQtY29uZmlnIGlzby1jb2RlcyB1ZGV2IgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBndGstZG9jCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitFWFRSQV9PRU1FU09OID0gIi1EZGVza3RvcF9kb2NzPWZhbHNlIgorCitQQUNLQUdFUyA9KyAibGliZ25vbWUtZGVza3RvcDMiCitGSUxFU19saWJnbm9tZS1kZXNrdG9wMyA9ICIke2xpYmRpcn0vbGliKiR7U09MSUJTfSAke2RhdGFkaXJ9L2xpYmdub21lLWRlc2t0b3AqL3BucC5pZHMgJHtkYXRhZGlyfS9nbm9tZS8qeG1sIgorCitSUkVDT01NRU5EU19saWJnbm9tZS1kZXNrdG9wMyArPSAiZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9maWxlcy8wMDAxLWhlbHAtcmVtb3ZlLVlFTFAtbWFjcm8ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZmlsZXMvMDAwMS1oZWxwLXJlbW92ZS1ZRUxQLW1hY3JvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1N2I2MGEwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9maWxlcy8wMDAxLWhlbHAtcmVtb3ZlLVlFTFAtbWFjcm8ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIDRhM2VlOGI0NmQyNWIzZDMxMDQ0OGJmYTQ0NDZlMTVhNjg2ZmM2ODUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotRGF0ZTogRnJpLCAyMyBNYXIgMjAxOCAxMzo1MDoxOCArMDEwMAotU3ViamVjdDogW1BBVENIXSBoZWxwOiByZW1vdmUgWUVMUCBtYWNybwotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkLXNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotLS0tCi0gaGVscC9NYWtlZmlsZS5hbSB8IDIgLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2hlbHAvTWFrZWZpbGUuYW0gYi9oZWxwL01ha2VmaWxlLmFtCi1pbmRleCBjNWNkMGQzLi40YjgzYWRmIDEwMDY0NAotLS0tIGEvaGVscC9NYWtlZmlsZS5hbQotKysrIGIvaGVscC9NYWtlZmlsZS5hbQotQEAgLTEsNSArMSwzIEBACi0tQFlFTFBfSEVMUF9SVUxFU0AKLS0KLSBIRUxQX0lEID0gZ25vbWUtc3lzdGVtLW1vbml0b3IKLSAKLSBIRUxQX0ZJTEVTID0gXAotLS0gCi0yLjE0LjMKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2dub21lLXN5c3RlbS1tb25pdG9yLzAwMDEtRG8tbm90LWJ1aWxkLWhlbHAtd2UtZG8tbm90LWhhdmUteWVscC15ZXQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZ25vbWUtc3lzdGVtLW1vbml0b3IvMDAwMS1Eby1ub3QtYnVpbGQtaGVscC13ZS1kby1ub3QtaGF2ZS15ZWxwLXlldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMmU3MjBlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2dub21lLXN5c3RlbS1tb25pdG9yLzAwMDEtRG8tbm90LWJ1aWxkLWhlbHAtd2UtZG8tbm90LWhhdmUteWVscC15ZXQucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSBjNjY0OWZkY2ZiMmY0NDgwNzA4OTc0MTU1N2Y4ZTUyN2FiOTc1MWU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjQgTWFyIDIwMTkgMDI6NDY6MDcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IGJ1aWxkIGhlbHAgLSB3ZSBkbyBub3QgaGF2ZSB5ZWxwIHlldAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkLXNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorLS0tCisgbWVzb24uYnVpbGQgfCAxIC0KKyAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAoraW5kZXggZDYwY2VkNy4uNmEwYWI0YiAxMDA2NDQKKy0tLSBhL21lc29uLmJ1aWxkCisrKysgYi9tZXNvbi5idWlsZAorQEAgLTE4Myw3ICsxODMsNiBAQCBzdWJkaXIoJ2RhdGEnKQorIHN1YmRpcigncG8nKQorIHN1YmRpcignc2NyaXB0cycpCisgc3ViZGlyKCdzcmMnKQorLXN1YmRpcignaGVscCcpCisgCisgCisgbWVzc2FnZSgnXG4nLmpvaW4oWycnLAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2dub21lLXN5c3RlbS1tb25pdG9yXzMuMjYuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9nbm9tZS1zeXN0ZW0tbW9uaXRvcl8zLjI2LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliNmNlMTcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2dub21lLXN5c3RlbS1tb25pdG9yXzMuMjYuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLVNVTU1BUlkgPSAiR25vbWUgc3lzdGVtIG1vbml0b3IiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi0KLURFUEVORFMgPSAiIFwKLSAgICBpbnRsdG9vbC1uYXRpdmUgXAotICAgIGdub21lLWNvbW1vbi1uYXRpdmUgXAotICAgIGdsaWItMi4wLW5hdGl2ZSBcCi0gICAgZ3RrbW0zIFwKLSAgICBsaWJndG9wIFwKLSAgICBsaWJyc3ZnIFwKLSAgICBsaWJ3bmNrMyBcCi0iCi0KLWluaGVyaXQgZ25vbWViYXNlIGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJmY2Q1OTg2N2MwN2Y4YzQ4NTNiMWUyOGQ2MGNiYzAzNyIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImY4NDhhOGMyY2E1ZTE2NGNmMDlkM2EyMDVkZDQ5ZTRlNGJmNGI2MGQ0M2IwOTY5YzEwNDQzZWI1MTlkMGU2YjMiCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1oZWxwLXJlbW92ZS1ZRUxQLW1hY3JvLnBhdGNoIgotCi1SUkVDT01NRU5EU18ke1BOfSA9ICJhZHdhaXRhLWljb24tdGhlbWUiCi0KLUZJTEVTXyR7UE59ICs9ICIgXAotICAgICR7ZGF0YWRpcn0vaWNvbnMgXAotICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKLSAgICAke2RhdGFkaXJ9L2dub21lL2F1dG9zdGFydCBcCi0iCi0KLUZJTEVTXyR7UE59LWRvYyArPSAiIFwKLSAgICAke2RhdGFkaXJ9L29tZiBcCi0gICAgJHtkYXRhZGlyfS9nbm9tZS9oZWxwIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9nbm9tZS1zeXN0ZW0tbW9uaXRvcl8zLjMyLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZ25vbWUtc3lzdGVtLW1vbml0b3JfMy4zMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyNDMyYTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZ25vbWUtc3lzdGVtLW1vbml0b3JfMy4zMi4wLmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAiR25vbWUgc3lzdGVtIG1vbml0b3IiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAiIFwKKyAgICBpdHN0b29sLW5hdGl2ZSBcCisgICAgZ25vbWUtY29tbW9uLW5hdGl2ZSBcCisgICAgbGlieG1sMi1uYXRpdmUgXAorICAgIGdsaWItMi4wLW5hdGl2ZSBcCisgICAgZ3RrbW0zIFwKKyAgICBsaWJndG9wIFwKKyAgICBsaWJyc3ZnIFwKKyIKKworR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWljb24tY2FjaGUgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGdldHRleHQKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNmMyYzVjNWJmOGYxNWQzZTY5ODVmYWFjYmQzMDU1ZGQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJhZjAwYzRhNDJkZDFkYjE3ZDlhYmU4OGVkYjExYzc3NTFiMjA5ODJkYjFhOGEyYTQ2N2JhYjIwNmZkOGE3N2UzIgorU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtRG8tbm90LWJ1aWxkLWhlbHAtd2UtZG8tbm90LWhhdmUteWVscC15ZXQucGF0Y2giCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItRHN5c3RlbWQ9dHJ1ZSwgLURzeXN0ZW1kPWZhbHNlLCBzeXN0ZW1kIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJhZHdhaXRhLWljb24tdGhlbWUiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKKyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nc3BlbGwvZ3NwZWxsXzEuOC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dzcGVsbC9nc3BlbGxfMS44LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRlMjk4YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nc3BlbGwvZ3NwZWxsXzEuOC4xLmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAic3BlbGwgYWRkcyBzcGVsbC1jaGVja2luZyB0byBhIEdUSysgYXBwbGljYXRpb25zIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLmdub21lLm9yZy9Qcm9qZWN0cy9nc3BlbGwiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGMyZTFlYzE1NDBmYjNlMGJlYjY4MzYxMzQ0Y2JhN2UiCisKK0RFUEVORFMgPSAiZ3RrKzMgaXNvLWNvZGVzIGVuY2hhbnQyIgorCitpbmhlcml0IGdub21lYmFzZSBnZXR0ZXh0IGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI4MjY5OTE4ZWE1ZmY3OThlNDk5NDNlN2RhZjZhMzJiOSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjgxOWExZDIzYzc2MDMwMDBlNzNmNWU3MzhiZGQyODQzNDJlMGNkMzQ1ZmIwYzc2NTA5OTljMzFlYzc0MWJiZTUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3Rrc291cmNldmlldy9ndGtzb3VyY2V2aWV3M18zLjI0LjEwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzNfMy4yNC4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTFlNDc5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzNfMy4yNC4xMC5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIlBvcnRhYmxlIEMgbGlicmFyeSBmb3IgbXVsdGlsaW5lIHRleHQgZWRpdGluZyIKK0hPTUVQQUdFID0gImh0dHA6Ly9wcm9qZWN0cy5nbm9tZS5vcmcvZ3Rrc291cmNldmlldy8iCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCIKKworREVQRU5EUyA9ICJndGsrMyBsaWJ4bWwyIGludGx0b29sLW5hdGl2ZSBnbm9tZS1jb21tb24tbmF0aXZlIGdsaWItMi4wLW5hdGl2ZSIKKworUE5BTUUgPSAiZ3Rrc291cmNldmlldyIKKworUyA9ICIke1dPUktESVJ9LyR7UE5BTUV9LSR7UFZ9IgorCitpbmhlcml0IGdub21lYmFzZSBsaWJfcGFja2FnZSBnZXR0ZXh0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9nbm9tZS9zb3VyY2VzL2d0a3NvdXJjZXZpZXcvMy4yNC8ke1BOQU1FfS0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiZTQzMzM3ZDE3YzQwZWFlNDQwYTc2NjMwZGI3NmM1NGUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWI1NDA2Y2RkMGJkY2Y2NmFmY2Q1MmIxZTA0OGEyZjQzYzBmM2FiMzkxNjQ0ZWUzMGQ5YWM0MTliOTNjZDU5YiIKKworRklMRVNfJHtQTn0gKz0gIiAke2RhdGFkaXJ9L2d0a3NvdXJjZXZpZXctMy4wIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzNfMy4yNC44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzNfMy4yNC44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3Y2I4ODY2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndGtzb3VyY2V2aWV3L2d0a3NvdXJjZXZpZXczXzMuMjQuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLVNVTU1BUlkgPSAiUG9ydGFibGUgQyBsaWJyYXJ5IGZvciBtdWx0aWxpbmUgdGV4dCBlZGl0aW5nIgotSE9NRVBBR0UgPSAiaHR0cDovL3Byb2plY3RzLmdub21lLm9yZy9ndGtzb3VyY2V2aWV3LyIKLQotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiYzA5MzkwMTg1N2ZjZDExOGYwNjVmOTAwOTgyYzI0IgotCi1ERVBFTkRTID0gImd0ayszIGxpYnhtbDIgaW50bHRvb2wtbmF0aXZlIGdub21lLWNvbW1vbi1uYXRpdmUgZ2xpYi0yLjAtbmF0aXZlIgotCi1QTkFNRSA9ICJndGtzb3VyY2V2aWV3IgotCi1TID0gIiR7V09SS0RJUn0vJHtQTkFNRX0tJHtQVn0iCi0KLWluaGVyaXQgZ25vbWViYXNlIGxpYl9wYWNrYWdlIGdldHRleHQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGd0ay1kb2MgZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL2dub21lL3NvdXJjZXMvZ3Rrc291cmNldmlldy8zLjI0LyR7UE5BTUV9LSR7UFZ9LnRhci54eiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI1MmY4YzgzYWQyMWFkNzVlOWVlNmNjYTAzY2UyZTYzZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxZTliYjhmZjE5MGRiNzA1ZGViOTE2ZGQyM2ZmNjgxZjBlODgwM2FlYzQwN2JmMGZkNjRjN2U2MTVhYzQzNmZlIgotCi1GSUxFU18ke1BOfSArPSAiICR7ZGF0YWRpcn0vZ3Rrc291cmNldmlldy0zLjAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3Zmcy9ndmZzXzEuMzkuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS4zOS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTFlYjZhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS4zOS4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzAgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiZ3ZmcyBpcyBhIHVzZXJzcGFjZSB2aXJ0dWFsIGZpbGVzeXN0ZW0iCi1MSUNFTlNFID0gIkxHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA1ZGYzOGRkNzdjMzVlYzg0MzFmMjEyNDEwYTMzMjllIgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgotaW5oZXJpdCBnbm9tZSBiYXNoLWNvbXBsZXRpb24gZ2V0dGV4dAotCi1ERVBFTkRTICs9ICJsaWJzZWNyZXQgZ2xpYi0yLjAgZ2NvbmYgaW50bHRvb2wtbmF0aXZlIGxpYmd1ZGV2IHVkaXNrczIgcG9sa2l0IHNoYWRvdy1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9kb3dubG9hZC5nbm9tZS5vcmcvc291cmNlcy8ke0JQTn0vJHtAZ25vbWVfdmVyZGlyKCIke1BWfSIpfS8ke0JQTn0tJHtQVn0udGFyLnh6O25hbWU9YXJjaGl2ZSIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNGM2ODg5OWNmZDgwZDU3YTE1Mzc3MTUzNDE5M2JiOWEiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI2ZTcyMTM1NzAzODliMTdiNjc0MzM2OTVmNTE1ZjNiMTc3MDViYTk3NjE2OGE0Yzg4MjhmYzE3N2NjZTUwMjIzIgotCi0KLUVYVFJBX09FTUVTT04gPSAiIFwKLSAgICAtRGJsdXJheT1mYWxzZSBcCi0gICAgLURnZHU9ZmFsc2UgXAotICAgIC1EZ29hPWZhbHNlIFwKLSAgICAtRGdvb2dsZT1mYWxzZSBcCi0gICAgLURuZnM9ZmFsc2UgXAotICAgIC1EdWRpc2tzMj10cnVlIFwKLSAgICAtRGRvY3VtZW50YXRpb249ZmFsc2UgXAotIgotCi1QQUNLQUdFUyA9KyAiZ3Zmc2QtZnRwIGd2ZnNkLXNmdHAgZ3Zmc2QtdHJhc2giCi0KLUZJTEVTXyR7UE59ICs9ICIgXAotICAgICR7ZGF0YWRpcn0vZ2xpYi0yLjAgXAotICAgICR7ZGF0YWRpcn0vR0NvbmYgXAotICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzIFwKLSAgICAke2xpYmRpcn0vZ2lvL21vZHVsZXMvKi5zbyBcCi0gICAgJHtsaWJkaXJ9L3RtcGZpbGVzLmQgXAotICAgICR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9IFwKLSIKLVJERVBFTkRTXyR7UE59ID0gInVkaXNrczIiCi0KLUZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dpby9tb2R1bGVzLy5kZWJ1Zy8qIgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvKi5sYSIKLQotRklMRVNfZ3Zmc2QtZnRwID0gIiR7bGliZXhlY2Rpcn0vZ3Zmc2QtZnRwICR7ZGF0YWRpcn0vZ3Zmcy9tb3VudHMvZnRwLm1vdW50IgotRklMRVNfZ3Zmc2Qtc2Z0cCA9ICIke2xpYmV4ZWNkaXJ9L2d2ZnNkLXNmdHAgJHtkYXRhZGlyfS9ndmZzL21vdW50cy9zZnRwLm1vdW50IgotRklMRVNfZ3Zmc2QtdHJhc2ggPSAiJHtsaWJleGVjZGlyfS9ndmZzZC10cmFzaCAke2RhdGFkaXJ9L2d2ZnMvbW91bnRzL3RyYXNoLm1vdW50IgotCi1SUkVDT01NRU5EU19ndmZzZC1mdHAgKz0gIm9wZW5zc2gtc2Z0cCBvcGVuc3NoLXNzaCIKLQotUEFDS0FHRUNPTkZJRyA/PSAibGliZ3Bob3RvMiAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgotCi1QQUNLQUdFQ09ORklHW2FmY10gPSAiLURhZmM9dHJ1ZSwgLURhZmM9ZmFsc2UsIGxpYmltb2JpbGVkZXZpY2UgbGlicGxpc3QiCi1QQUNLQUdFQ09ORklHW2FyY2hpdmVdID0gIi1EYXJjaGl2ZT10cnVlLCAtRGFyY2hpdmU9ZmFsc2UsIGxpYmFyY2hpdmUiCi1QQUNLQUdFQ09ORklHW2Ruc3NkXSA9ICItRGRuc3NkPXRydWUsIC1EZG5zc2Q9ZmFsc2UsIGF2YWhpIgotUEFDS0FHRUNPTkZJR1tnY3JdID0gIi1EZ2NyPXRydWUsIC1EZ2NyPWZhbHNlLCBnY3IiCi1QQUNLQUdFQ09ORklHW2h0dHBdID0gIi1EaHR0cD10cnVlLCAtRGh0dHA9ZmFsc2UsIGxpYnNvdXAtMi40IgotUEFDS0FHRUNPTkZJR1tsaWJtdHBdID0gIi1EbXRwPXRydWUsIC1EbXRwPWZhbHNlLCBsaWJtdHAiCi1QQUNLQUdFQ09ORklHW2xvZ2luZF0gPSAiLURsb2dpbmQ9dHJ1ZSwgLURsb2dpbmQ9ZmFsc2UsIHN5c3RlbWQiCi1QQUNLQUdFQ09ORklHW2xpYmdwaG90bzJdID0gIi1EZ3Bob3RvMj10cnVlLCAtRGdwaG90bzI9ZmFsc2UsIGxpYmdwaG90bzIiCi1QQUNLQUdFQ09ORklHW3NhbWJhXSA9ICItRHNtYj10cnVlLCAtRHNtYj1mYWxzZSwgc2FtYmEiCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi1Ec3lzdGVtZHVzZXJ1bml0ZGlyPSR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9IC1EdG1wZmlsZXNkaXI9JHtsaWJkaXJ9L3RtcGZpbGVzLmQsIC1Ec3lzdGVtZHVzZXJ1bml0ZGlyPW5vIC1EdG1wZmlsZXNkaXI9bm8sIHN5c3RlbWQiCi0KLSMgbmVlZHMgbWV0YS1maWxlc3lzdGVtcwotUEFDS0FHRUNPTkZJR1tmdXNlXSA9ICItRGZ1c2U9dHJ1ZSwgLURmdXNlPWZhbHNlLCBmdXNlIgotCi0jIGxpYmNkaW8tcGFyYW5vaWEgcmVjaXBlIGRvZXNuJ3QgZXhpc3QgeWV0Ci1QQUNLQUdFQ09ORklHW2NkZGFdID0gIi1EY2RkYT10cnVlLCAtRGNkZGE9ZmFsc2UsIGxpYmNkaW8tcGFyYW5vaWEiCi0KLSMgRml4IHVwIHBlcm1pc3Npb25zIG9uIHBvbGtpdCBydWxlcy5kIHRvIHdvcmsgd2l0aCBycG00IGNvbnN0cmFpbnRzCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQljaG1vZCA3MDAgJHtEfS8ke2RhdGFkaXJ9L3BvbGtpdC0xL3J1bGVzLmQKLQljaG93biBwb2xraXRkOnJvb3QgJHtEfS8ke2RhdGFkaXJ9L3BvbGtpdC0xL3J1bGVzLmQKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS40MC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d2ZnMvZ3Zmc18xLjQwLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2YyMzljNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS40MC4wLmJiCkBAIC0wLDAgKzEsNzAgQEAKK0RFU0NSSVBUSU9OID0gImd2ZnMgaXMgYSB1c2Vyc3BhY2UgdmlydHVhbCBmaWxlc3lzdGVtIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNWRmMzhkZDc3YzM1ZWM4NDMxZjIxMjQxMGEzMzI5ZSIKKworR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKK2luaGVyaXQgZ25vbWUgYmFzaC1jb21wbGV0aW9uIGdldHRleHQgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuCisKK0RFUEVORFMgKz0gImxpYnNlY3JldCBnbGliLTIuMCBnY29uZiBpbnRsdG9vbC1uYXRpdmUgbGliZ3VkZXYgdWRpc2tzMiBwb2xraXQgc2hhZG93LW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwczovL2Rvd25sb2FkLmdub21lLm9yZy9zb3VyY2VzLyR7QlBOfS8ke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9LyR7QlBOfS0ke1BWfS50YXIueHo7bmFtZT1hcmNoaXZlIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI5NmVmNTNlZDYxM2U0ZDIyM2UwZGIzYTdhY2VhNDRmMCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjM3MzlkNjRiNzljOTVhOWYwZjlmYWYyYzVmOWU1Mjk4YjRiMmViZGQ2NDMxNDM1Y2U2NTZlY2QxOWIzMWUyZjIiCisKKworRVhUUkFfT0VNRVNPTiA9ICIgXAorICAgIC1EYmx1cmF5PWZhbHNlIFwKKyAgICAtRGdkdT1mYWxzZSBcCisgICAgLURnb2E9ZmFsc2UgXAorICAgIC1EZ29vZ2xlPWZhbHNlIFwKKyAgICAtRG5mcz1mYWxzZSBcCisgICAgLUR1ZGlza3MyPXRydWUgXAorICAgIC1EZG9jdW1lbnRhdGlvbj1mYWxzZSBcCisiCisKK1BBQ0tBR0VTID0rICJndmZzZC1mdHAgZ3Zmc2Qtc2Z0cCBndmZzZC10cmFzaCIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9nbGliLTIuMCBcCisgICAgJHtkYXRhZGlyfS9HQ29uZiBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMgXAorICAgICR7bGliZGlyfS9naW8vbW9kdWxlcy8qLnNvIFwKKyAgICAke2xpYmRpcn0vdG1wZmlsZXMuZCBcCisgICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAorIgorUkRFUEVORFNfJHtQTn0gPSAidWRpc2tzMiIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvLmRlYnVnLyoiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9naW8vbW9kdWxlcy8qLmxhIgorCitGSUxFU19ndmZzZC1mdHAgPSAiJHtsaWJleGVjZGlyfS9ndmZzZC1mdHAgJHtkYXRhZGlyfS9ndmZzL21vdW50cy9mdHAubW91bnQiCitGSUxFU19ndmZzZC1zZnRwID0gIiR7bGliZXhlY2Rpcn0vZ3Zmc2Qtc2Z0cCAke2RhdGFkaXJ9L2d2ZnMvbW91bnRzL3NmdHAubW91bnQiCitGSUxFU19ndmZzZC10cmFzaCA9ICIke2xpYmV4ZWNkaXJ9L2d2ZnNkLXRyYXNoICR7ZGF0YWRpcn0vZ3Zmcy9tb3VudHMvdHJhc2gubW91bnQiCisKK1JSRUNPTU1FTkRTX2d2ZnNkLWZ0cCArPSAib3BlbnNzaC1zZnRwIG9wZW5zc2gtc3NoIgorCitQQUNLQUdFQ09ORklHID89ICJsaWJncGhvdG8yICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbYWZjXSA9ICItRGFmYz10cnVlLCAtRGFmYz1mYWxzZSwgbGliaW1vYmlsZWRldmljZSBsaWJwbGlzdCIKK1BBQ0tBR0VDT05GSUdbYXJjaGl2ZV0gPSAiLURhcmNoaXZlPXRydWUsIC1EYXJjaGl2ZT1mYWxzZSwgbGliYXJjaGl2ZSIKK1BBQ0tBR0VDT05GSUdbZG5zc2RdID0gIi1EZG5zc2Q9dHJ1ZSwgLURkbnNzZD1mYWxzZSwgYXZhaGkiCitQQUNLQUdFQ09ORklHW2djcl0gPSAiLURnY3I9dHJ1ZSwgLURnY3I9ZmFsc2UsIGdjciIKK1BBQ0tBR0VDT05GSUdbaHR0cF0gPSAiLURodHRwPXRydWUsIC1EaHR0cD1mYWxzZSwgbGlic291cC0yLjQiCitQQUNLQUdFQ09ORklHW2xpYm10cF0gPSAiLURtdHA9dHJ1ZSwgLURtdHA9ZmFsc2UsIGxpYm10cCIKK1BBQ0tBR0VDT05GSUdbbG9naW5kXSA9ICItRGxvZ2luZD10cnVlLCAtRGxvZ2luZD1mYWxzZSwgc3lzdGVtZCIKK1BBQ0tBR0VDT05GSUdbbGliZ3Bob3RvMl0gPSAiLURncGhvdG8yPXRydWUsIC1EZ3Bob3RvMj1mYWxzZSwgbGliZ3Bob3RvMiIKK1BBQ0tBR0VDT05GSUdbc2FtYmFdID0gIi1Ec21iPXRydWUsIC1Ec21iPWZhbHNlLCBzYW1iYSIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLURzeXN0ZW1kdXNlcnVuaXRkaXI9JHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gLUR0bXBmaWxlc2Rpcj0ke2xpYmRpcn0vdG1wZmlsZXMuZCwgLURzeXN0ZW1kdXNlcnVuaXRkaXI9bm8gLUR0bXBmaWxlc2Rpcj1ubywgc3lzdGVtZCIKKworIyBuZWVkcyBtZXRhLWZpbGVzeXN0ZW1zCitQQUNLQUdFQ09ORklHW2Z1c2VdID0gIi1EZnVzZT10cnVlLCAtRGZ1c2U9ZmFsc2UsIGZ1c2UiCisKKyMgbGliY2Rpby1wYXJhbm9pYSByZWNpcGUgZG9lc24ndCBleGlzdCB5ZXQKK1BBQ0tBR0VDT05GSUdbY2RkYV0gPSAiLURjZGRhPXRydWUsIC1EY2RkYT1mYWxzZSwgbGliY2Rpby1wYXJhbm9pYSIKKworIyBGaXggdXAgcGVybWlzc2lvbnMgb24gcG9sa2l0IHJ1bGVzLmQgdG8gd29yayB3aXRoIHJwbTQgY29uc3RyYWludHMKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCWNobW9kIDcwMCAke0R9LyR7ZGF0YWRpcn0vcG9sa2l0LTEvcnVsZXMuZAorCWNob3duIHBvbGtpdGQ6cm9vdCAke0R9LyR7ZGF0YWRpcn0vcG9sa2l0LTEvcnVsZXMuZAorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmdub21lL2xpYmdub21la2JkXzMuMjYuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZWtiZF8zLjI2LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1NmE3NDQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmdub21lL2xpYmdub21la2JkXzMuMjYuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVNVTU1BUlkgPSAiR05PTUUga2V5Ym9hcmQgbGlicmFyeSIKLUxJQ0VOU0UgPSAiTEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTZlMjljNjg4ZDkxMmRhMTJiNjZiNzNlMzJiMDNkODEyIgotCi1TRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgotCi1ERVBFTkRTID0gImdjb25mIGdsaWItMi4wIGxpYnhrbGF2aWVyIGd0ayszIGludGx0b29sLW5hdGl2ZSIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgZ25vbWUgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGdldHRleHQKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiOGI5ZDEzZDQ2MjU1Y2RlOTEwYjNkYjVhNmViYjQ3MjciCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJlYTNiNDE4YzU3YzMwNjE1ZjdlZTViNmY3MThkZWY3YzlkMDljZTM0NjM3MzI0MzYxMTUwNzQ0MjU4OTY4ODc1IgotCi1FWFRSQV9PRUNPTkZfcmVtb3ZlID0gIi0tZGlzYWJsZS1zY2hlbWFzLWluc3RhbGwiCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZWtiZF8zLjI2LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVrYmRfMy4yNi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhNzM3OWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVrYmRfMy4yNi4xLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiR05PTUUga2V5Ym9hcmQgbGlicmFyeSIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTZlMjljNjg4ZDkxMmRhMTJiNjZiNzNlMzJiMDNkODEyIgorCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorCitERVBFTkRTID0gImdjb25mIGdsaWItMi4wIGxpYnhrbGF2aWVyIGd0ayszIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgZ25vbWUgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGdldHRleHQKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiOTgwNDAwMjI0ODQ0MDZlN2ViZTI1ZjgyY2VmOTMzNDQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJmN2NhMDI2MzE1NzZlOWI4OGFlZTFiMWJhZTM3YWMxNDg4YjgwZWU3OTc1ZjIwYTk3ZjI5ZTc2MWE3MTcyNjc5IgorCitFWFRSQV9PRUNPTkZfcmVtb3ZlID0gIi0tZGlzYWJsZS1zY2hlbWFzLWluc3RhbGwiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnc2YvbGliZ3NmXzEuMTQuMjkuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3NmL2xpYmdzZl8xLjE0LjI5LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNWUyZjFkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnc2YvbGliZ3NmXzEuMTQuMjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1TVU1NQVJZID0gIkdOT01FIFN0cnVjdHVyZWQgRmlsZSBMaWJyYXJ5IgotTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGM3MzcxYjUwODE2Yzk2ZTE0NWZhMGY4YWRlOGUyNGQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTYxNDY0Y2ZlMzQyNzk4ZWVjZWQ4MmVmZTlhZTU1ZjYzIgotCi1TRUNUSU9OID0gImxpYnMiCi0KLURFUEVORFM9ICJsaWJ4bWwyIGJ6aXAyIGdsaWItMi4wIHpsaWIgaW50bHRvb2wtbmF0aXZlIGdub21lLWNvbW1vbi1uYXRpdmUiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnbm9tZSBnY29uZiBnb2JqZWN0LWludHJvc3BlY3Rpb24KLQotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWRyb3AtYS1jb3B5LXBhc3RlLW9mLWludHJvc3BlY3Rpb24ubTQtbS5wYXRjaCIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMzA1NmI5NGJiMzI4MWRiYzgzMTEzNzFiZmMyM2NmNzIiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI0ZDhiY2EzMzQyNGViNzExYWNkYjZhMDYwY2I0ODhiMTMyMDYzZDY5OWM0ZmEyMDFkYjI0YzJjODljNjI1MjljIgotCi1HTk9NRV9DT01QUkVTU19UWVBFID0gInh6IgotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tnZGstcGl4YnVmXSA9ICItLXdpdGgtZ2RrLXBpeGJ1ZiwtLXdpdGhvdXQtZ2RrLXBpeGJ1ZixnZGstcGl4YnVmIgotCi1FWFRSQV9PRUNPTkYgPSAiXAotICAgIC0tZGlzYWJsZS1ndGstZG9jIFwKLSAgICAtLXdpdGgtYnoyIFwKLSIKLQotUkRFUEVORFNfJHtQTn0gPSAiZ2NvbmYiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3RodW1ibmFpbGVycyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnc2YvbGliZ3NmXzEuMTQuNDUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3NmL2xpYmdzZl8xLjE0LjQ1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2M2UyNmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3NmL2xpYmdzZl8xLjE0LjQ1LmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiR05PTUUgU3RydWN0dXJlZCBGaWxlIExpYnJhcnkiCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kYzczNzFiNTA4MTZjOTZlMTQ1ZmEwZjhhZGU4ZTI0ZCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NjE0NjRjZmUzNDI3OThlZWNlZDgyZWZlOWFlNTVmNjMiCisKK1NFQ1RJT04gPSAibGlicyIKKworREVQRU5EUz0gImxpYnhtbDIgYnppcDIgZ2xpYi0yLjAgemxpYiBpbnRsdG9vbC1uYXRpdmUgZ25vbWUtY29tbW9uLW5hdGl2ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdub21lIGdjb25mIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtZHJvcC1hLWNvcHktcGFzdGUtb2YtaW50cm9zcGVjdGlvbi5tNC1tLnBhdGNoIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJlNDVjYzhhYTljNDk1MTZkNTQwYjdkNzMwN2Y3NTVmMSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjVjYmMyYzBmMWRjNDRkMjAyZmEwYzZlM2E1MWU5ZjE3YjBjMmRlYjg3MTFiYTY1MDQzMmJmZGUzMTgwYjY5ZmEiCisKK0dOT01FX0NPTVBSRVNTX1RZUEUgPSAieHoiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2dkay1waXhidWZdID0gIi0td2l0aC1nZGstcGl4YnVmLC0td2l0aG91dC1nZGstcGl4YnVmLGdkay1waXhidWYiCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1kaXNhYmxlLWd0ay1kb2MgXAorICAgIC0td2l0aC1iejIgXAorIgorCitSREVQRU5EU18ke1BOfSA9ICJnY29uZiIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vdGh1bWJuYWlsZXJzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmd0b3AvbGliZ3RvcF8yLjM4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3RvcC9saWJndG9wXzIuMzguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDk0OTM0Zi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3RvcC9saWJndG9wXzIuMzguMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLVNVTU1BUlkgPSAiTGliR1RvcDIiCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgotCi1pbmhlcml0IGdub21lYmFzZSBsaWJfcGFja2FnZSBndGstZG9jIGRpc3Ryb19mZWF0dXJlc19jaGVjayBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ2V0dGV4dAotCi0jIGRlcGVuZHMgb24gbGlieGF1Ci1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJiYjBjZTdkZTZiMjg2OTRiNDA0MDVlZWRhYzhhMzFiNSIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjRmNmMwZTYyYmI0MzhhYmZkMTZiNDU1OWNkMmVjYTAyNTFkZTE5ZTI5MWM4ODhjZGM0ZGM4OGU1ZmZlYmI2MTIiCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAgbGlieGF1IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmd0b3AvbGliZ3RvcF8yLjQwLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3RvcC9saWJndG9wXzIuNDAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTk0MTk4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmd0b3AvbGliZ3RvcF8yLjQwLjAuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJMaWJHVG9wMiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK2luaGVyaXQgZ25vbWViYXNlIGxpYl9wYWNrYWdlIGd0ay1kb2MgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGdldHRleHQgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuCisKKyMgZGVwZW5kcyBvbiBsaWJ4YXUKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJjNmQ2NzMyNWNkOTdiMjIwOGI0MWUwN2U2Y2M3Yjk0NyIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjc4ZjMyNzRjMGM3OWM0MzRjMDM2NTVjMWIzNWVkZjdiOTVlYzA0MjE0MzA4OTdmYjEzNDVhOThhMjY1ZWQyZDQiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgbGlieGF1IgorCitFWFRSQV9PRU1BS0UgKz0gIkxJQkdUT1BfTElCUz0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGlidGltZXpvbmVtYXAvbGlidGltZXpvbmVtYXBfMC40LjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGlidGltZXpvbmVtYXAvbGlidGltZXpvbmVtYXBfMC40LjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1N2Q3ZDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYnRpbWV6b25lbWFwL2xpYnRpbWV6b25lbWFwXzAuNC41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiVGltZSB6b25lIG1hcCB3aWRnZXQgZm9yIEd0aysiCi1IT01FUEFHRSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvdGltZXpvbmVtYXAiCi1TRUNUSU9OID0gImRldmVsL2xpYiIKLUxJQ0VOU0UgPSAiR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLQotU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS51YnVudHUuY29tL3VidW50dS9wb29sL21haW4vbGlidC8ke0JQTn0vJHtCUE59XyR7UFZ9LnRhci5neiBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiMDU0MzA2ZmE5OThmZTU4MGYxN2I2OGFhMWUxNjU1MWIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzI3ZTY0YTE3YzY3NmMxYmNkYTNiNmJhMzM5NGQzZDAxMjUwZTVhYzlhNDkyMjJiOWZmNTczN2Q5MGIxNTM4MyIKLQotCi1ERVBFTkRTID0gImd0ayszIGdkay1waXhidWYgbGlic291cC0yLjQganNvbi1nbGliIGdub21lLWNvbW1vbi1uYXRpdmUgXAotIgotCi1CID0gIiR7U30iCi0KLWluaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGF1dG90b29scyBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotCShjZCAke1N9OyBOT0NPTkZJR1VSRT0ieWVzIiAuICR7U30vYXV0b2dlbi5zaCkKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJ0aW1lem9uZW1hcC9saWJ0aW1lem9uZW1hcF8wLjQuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJ0aW1lem9uZW1hcC9saWJ0aW1lem9uZW1hcF8wLjQuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjUyYzQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYnRpbWV6b25lbWFwL2xpYnRpbWV6b25lbWFwXzAuNC42LmJiCkBAIC0wLDAgKzEsMjEgQEAKK0RFU0NSSVBUSU9OID0gIlRpbWUgem9uZSBtYXAgd2lkZ2V0IGZvciBHdGsrIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L3RpbWV6b25lbWFwIgorU0VDVElPTiA9ICJkZXZlbC9saWIiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK1NSQ19VUkkgPSAiaHR0cDovL2FyY2hpdmUudWJ1bnR1LmNvbS91YnVudHUvcG9vbC9tYWluL2xpYnQvJHtCUE59LyR7QlBOfV8ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZjg1YTIxOTk0YTM5N2ZiMWZmMmQzZWM0MDRiZGQ1OTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGQ2MzRjYzI0NzZkOGY1N2QxZWUxODY0YmQ0ZjQ0MjE4MGFlNGJmMDQwYTlhZTRiZjczYjY2YmJkODVkNzE5NSIKKworREVQRU5EUyA9ICJndGsrMyBnZGstcGl4YnVmIGxpYnNvdXAtMi40IGpzb24tZ2xpYiBnbm9tZS1jb21tb24tbmF0aXZlIgorCitCID0gIiR7U30iCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGF1dG90b29scyBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworCShjZCAke1N9OyBOT0NPTkZJR1VSRT0ieWVzIiAuICR7U30vYXV0b2dlbi5zaCkKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9tZXRhY2l0eS9tZXRhY2l0eV8zLjI4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbWV0YWNpdHkvbWV0YWNpdHlfMy4yOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxODlmNmVjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9tZXRhY2l0eS9tZXRhY2l0eV8zLjI4LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1TRUNUSU9OID0gIngxMS93bSIKLVNVTU1BUlkgPSAiTWV0YWNpdHkgaXMgdGhlIGJvcmluZyB3aW5kb3cgbWFuYWdlciBmb3IgdGhlIGFkdWx0IGluIHlvdSIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjRjY2U1MzU2MGI4ZTYxOWZmYTdjODMwZmI4NzYxYWEgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2luY2x1ZGUvbWFpbi5oO2VuZGxpbmU9MjQ7bWQ1PTcyMTQ4ZWRlMDdhNmRhZGQwMWRlNmE4ODJkMjBhOWFkIgotCi1QRSA9ICIxIgotCi1ERVBFTkRTID0gImdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMgc3RhcnR1cC1ub3RpZmljYXRpb24gXAotICAgICAgICAgICBnbm9tZS1kb2MtdXRpbHMgZ2RrLXBpeGJ1Zi1uYXRpdmUgXAotICAgICAgICAgICBndGsrMyBnbGliLTIuMCBsaWJjYW5iZXJyYSBsaWJndG9wIGludGx0b29sLW5hdGl2ZSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBnbm9tZWJhc2UgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0jIGRlcGVuZHMgb24gc3RhcnR1cC1ub3RpZmljYXRpb24gd2hpY2ggZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0dOT01FL21ldGFjaXR5LmdpdDticmFuY2g9bWFzdGVyIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZHJvcC16ZW5pdHktZGV0ZWN0aW9uLnBhdGNoIFwKLSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLVNSQ1JFViA9ICJjMGQ0YjJmYzBmY2Q2ZjJkM2MzN2RhOTM1OTIzZjllOWVkNWViOTlmIgotCi1FWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS14aW5lcmFtYSIKLQotUEFDS0FHRUNPTkZJRyA/PSAiIgotCi0jIGVuYWJsZSBhcyBuZWNjZXNzYXJ5IHVudGlsIG5ldyB3YXJuaW5ncyBhcmUgZGVhbHQgd2l0aAotUEFDS0FHRUNPTkZJR1t3ZXJyb3JdID0gIi0tZW5hYmxlLVdlcnJvciwtLWRpc2FibGUtV2Vycm9yLCwiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgIGNkICR7U30KLSAgICBhY2xvY2FsIC0taW5zdGFsbCB8fCBleGl0IDEKLSAgICBhdXRvcmVjb25mIC0tdmVyYm9zZSAtLWZvcmNlIC0taW5zdGFsbCAtV25vLXBvcnRhYmlsaXR5IHx8IGV4aXQgMQotICAgIGNkIC0KLQotfQotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS90aGVtZXMgJHtkYXRhZGlyfS9nbm9tZS1jb250cm9sLWNlbnRlciAke2RhdGFkaXJ9L2dub21lIgotUkRFUEVORFNfJHtQTn0gKz0gImdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMiCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9tZXRhY2l0eS9tZXRhY2l0eV8zLjMwLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbWV0YWNpdHkvbWV0YWNpdHlfMy4zMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1M2Y3ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbWV0YWNpdHkvbWV0YWNpdHlfMy4zMC4xLmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NFQ1RJT04gPSAieDExL3dtIgorU1VNTUFSWSA9ICJNZXRhY2l0eSBpcyB0aGUgYm9yaW5nIHdpbmRvdyBtYW5hZ2VyIGZvciB0aGUgYWR1bHQgaW4geW91IgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iNGNjZTUzNTYwYjhlNjE5ZmZhN2M4MzBmYjg3NjFhYSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvaW5jbHVkZS9tYWluLmg7ZW5kbGluZT0yNDttZDU9NzIxNDhlZGUwN2E2ZGFkZDAxZGU2YTg4MmQyMGE5YWQiCisKK1BFID0gIjEiCisKK0RFUEVORFMgPSAiZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyBzdGFydHVwLW5vdGlmaWNhdGlvbiBcCisgICAgICAgICAgIGdub21lLWRvYy11dGlscyBnZGstcGl4YnVmLW5hdGl2ZSBcCisgICAgICAgICAgIGd0ayszIGdsaWItMi4wIGxpYmNhbmJlcnJhIGxpYmd0b3AgaW50bHRvb2wtbmF0aXZlIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IGdub21lYmFzZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiBzdGFydHVwLW5vdGlmaWNhdGlvbiB3aGljaCBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vR05PTUUvbWV0YWNpdHkuZ2l0O2JyYW5jaD1tYXN0ZXIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1kcm9wLXplbml0eS1kZXRlY3Rpb24ucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorU1JDUkVWID0gImQ2OWZiYTA1MmNkZDBhYTgzNDhkYzFiYmJiYjFlY2JhZGZiZWJiZDgiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXhpbmVyYW1hIgorCitQQUNLQUdFQ09ORklHID89ICIiCisKKyMgZW5hYmxlIGFzIG5lY2Nlc3NhcnkgdW50aWwgbmV3IHdhcm5pbmdzIGFyZSBkZWFsdCB3aXRoCitQQUNLQUdFQ09ORklHW3dlcnJvcl0gPSAiLS1lbmFibGUtV2Vycm9yLC0tZGlzYWJsZS1XZXJyb3IsLCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgY2QgJHtTfQorICAgIGFjbG9jYWwgLS1pbnN0YWxsIHx8IGV4aXQgMQorICAgIGF1dG9yZWNvbmYgLS12ZXJib3NlIC0tZm9yY2UgLS1pbnN0YWxsIC1Xbm8tcG9ydGFiaWxpdHkgfHwgZXhpdCAxCisgICAgY2QgLQorCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3RoZW1lcyAke2RhdGFkaXJ9L2dub21lLWNvbnRyb2wtY2VudGVyICR7ZGF0YWRpcn0vZ25vbWUiCitSREVQRU5EU18ke1BOfSArPSAiZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2XzEuMi40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2XzEuMi40LmJiCmluZGV4IDhlZDFmY2QuLjAzZWU1YjQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS93di93dl8xLjIuNC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvd3Yvd3ZfMS4yLjQuYmIKQEAgLTE2LDYgKzE2LDQgQEAKIAogaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCiAKLVMgPSAiJHtXT1JLRElSfS8ke1BOfS0ke1BWfSIKLQogRVhUUkFfT0VDT05GID0gIiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L3VzZXJtb2RlL3VzZXJtb2RlLzAwMDEtSW5jbHVkZS1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGUvMDAwMS1JbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3N2Y2ZTIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGUvMDAwMS1JbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3IucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1Gcm9tIDc1NTM5NjU5Mzk2YjE4MTEwZDVhNTJhOGEzMjg0NTI1NGI0ZDhlY2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAxMSBBdWcgMjAxOCAxODoyNTo0NyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBJbmNsdWRlIHN5cy9zeXNtYWNyb3MuaCBmb3IgbWFqb3IvbWlub3IKLQotdXNlcm1vdW50LmM6MjM4OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBtYWpvcicKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gdXNlcm1vdW50LmMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3VzZXJtb3VudC5jIGIvdXNlcm1vdW50LmMKLWluZGV4IDQxMDcwMjcuLjIxZWY3N2YgMTAwNjQ0Ci0tLS0gYS91c2VybW91bnQuYwotKysrIGIvdXNlcm1vdW50LmMKLUBAIC00MCw2ICs0MCw3IEBACi0gI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0gI2luY2x1ZGUgPHN5cy90aW1lLmg+Ci0gI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotKyNpbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+Ci0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPGdsb2IuaD4KLSAjaW5jbHVkZSA8bGliaW50bC5oPgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGUvMDAwMS1NaXNzaW5nLW4taW4tdHJhbnNsYXRlZC1zdHJpbmcucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC91c2VybW9kZS91c2VybW9kZS8wMDAxLU1pc3Npbmctbi1pbi10cmFuc2xhdGVkLXN0cmluZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWRiNzAwZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC91c2VybW9kZS91c2VybW9kZS8wMDAxLU1pc3Npbmctbi1pbi10cmFuc2xhdGVkLXN0cmluZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gN2NiYzY0NDFjZDA2ZTBjMGJiNTFhYzM3YzhmMjJiMGZkNTFmMTJmMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEppcmkgS3VjZXJhIDxqa3VjZXJhQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDExIEFwciAyMDE4IDE3OjEzOjQ0ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIE1pc3NpbmcgXG4gaW4gdHJhbnNsYXRlZCBzdHJpbmcKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBwby90ci5wbyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3BvL3RyLnBvIGIvcG8vdHIucG8KLWluZGV4IDg0ZTUwMjEuLmEyOGU5NDcgMTAwNjQ0Ci0tLS0gYS9wby90ci5wbwotKysrIGIvcG8vdHIucG8KLUBAIC00MDgsNyArNDA4LDcgQEAgbXNnc3RyICJHcmFmaWsgcGVuY2VyZSBhw6fEsWxhbWFkxLEgdmUgdcOnYmlyaW0gZGVuZXRpbWkgYnVsdW5hbWFkxLEuXG4iCi0gIzogLi4vLi4vcG8vLi4vdXNlcnBhc3N3ZC5jOjM3Ci0gIywgYy1mb3JtYXQKLSBtc2dpZCAiVW5leHBlY3RlZCBjb21tYW5kLWxpbmUgYXJndW1lbnRzXG4iCi0tbXNnc3RyICJCZWtsZW5tZXllbiBrb211dCBzYXTEsXLEsSBhcmfDvG1hbmxhcsSxIgotK21zZ3N0ciAiQmVrbGVubWV5ZW4ga29tdXQgc2F0xLFyxLEgYXJnw7xtYW5sYXLEsVxuIgotIAotICM6IC4uLy4uL3BvLy4uL3VzZXJpbmZvLmM6NDExCi0gIywgYy1mb3JtYXQKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGVfMS4xMTIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC91c2VybW9kZS91c2VybW9kZV8xLjExMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODJjY2YzZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC91c2VybW9kZS91c2VybW9kZV8xLjExMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLURFU0NSSVBUSU9OID0gIlRoZSB1c2VybW9kZSBjb250YWlucyB0aGUgdXNlcmhlbHBlciBwcm9ncmFtLCB3aGljaCBjYW4gYmUgdXNlZCB0byBhbGxvdyBjb25maWd1cmVkIFwKLXByb2dyYW1zIHRvIGJlIHJ1biB3aXRoIHN1cGVydXNlciBwcml2aWxlZ2VzIGJ5IG9yZGluYXJ5IHVzZXJzLCBhbmQgc2V2ZXJhbCBcCi1ncmFwaGljYWwgdG9vbHMgZm9yIHVzZXJzOiBcCi0qIHVzZXJpbmZvIGFsbG93cyB1c2VycyB0byBjaGFuZ2UgdGhlaXIgZmluZ2VyIGluZm9ybWF0aW9uLiBcCi0qIHVzZXJtb3VudCBsZXRzIHVzZXJzIG1vdW50LCB1bm1vdW50LCBhbmQgZm9ybWF0IGZpbGVzeXN0ZW1zLiBcCi0qIHVzZXJwYXNzd2QgYWxsb3dzIHVzZXJzIHRvIGNoYW5nZSB0aGVpciBwYXNzd29yZHMuIFwKLSIKLUhPTUVQQUdFID0gImh0dHBzOi8vcGFndXJlLmlvL3VzZXJtb2RlIgotTElDRU5TRSA9ICJHUEx2MisiCi1ERVBFTkRTID0gImxpYnVzZXIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSBcCi0gICAgICAgICAgIGd0aysgZGVza3RvcC1maWxlLXV0aWxzLW5hdGl2ZSBcCi0gICAgICAgICAgIHN0YXJ0dXAtbm90aWZpY2F0aW9uIGludGx0b29sLW5hdGl2ZSBcCi0gICAgICAgICAgIHV0aWwtbGludXggXAotIgotCi1TUkNfVVJJID0gImh0dHBzOi8vcmVsZWFzZXMucGFndXJlLm9yZy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1jb21waWxlLWZhaWx1cmUtYWdhaW5zdC1tdXNsLUMtbGlicmFyeS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLUxpbmstd2l0aC1saWJtLWZvci1wb3dsLUFQSS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLU1pc3Npbmctbi1pbi10cmFuc2xhdGVkLXN0cmluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICJhNzY2YTlmNzYwMGY1NzNmYjZkZTQ2NTVkNDE2MjE5NiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzN2M0ZDY2NzIwOWRhMTQwODJjMDhkZjZlNDhmZTk1NWQxNTMyZWZlYmQ1MzIyZjEzZjk0NjgzYzZjYzEwMzcwIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCi0KLUVYVFJBX09FTUFLRSArPSAiSU5TVEFMTD0naW5zdGFsbCAtcCciCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEgcGFtIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGVfMS4xMTMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC91c2VybW9kZS91c2VybW9kZV8xLjExMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTI3ODM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGVfMS4xMTMuYmIKQEAgLTAsMCArMSwyOSBAQAorREVTQ1JJUFRJT04gPSAiVGhlIHVzZXJtb2RlIGNvbnRhaW5zIHRoZSB1c2VyaGVscGVyIHByb2dyYW0sIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGFsbG93IGNvbmZpZ3VyZWQgXAorcHJvZ3JhbXMgdG8gYmUgcnVuIHdpdGggc3VwZXJ1c2VyIHByaXZpbGVnZXMgYnkgb3JkaW5hcnkgdXNlcnMsIGFuZCBzZXZlcmFsIFwKK2dyYXBoaWNhbCB0b29scyBmb3IgdXNlcnM6IFwKKyogdXNlcmluZm8gYWxsb3dzIHVzZXJzIHRvIGNoYW5nZSB0aGVpciBmaW5nZXIgaW5mb3JtYXRpb24uIFwKKyogdXNlcm1vdW50IGxldHMgdXNlcnMgbW91bnQsIHVubW91bnQsIGFuZCBmb3JtYXQgZmlsZXN5c3RlbXMuIFwKKyogdXNlcnBhc3N3ZCBhbGxvd3MgdXNlcnMgdG8gY2hhbmdlIHRoZWlyIHBhc3N3b3Jkcy4gXAorIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9wYWd1cmUuaW8vdXNlcm1vZGUiCitMSUNFTlNFID0gIkdQTHYyKyIKK0RFUEVORFMgPSAibGlidXNlciAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdsaWJwYW0nLCAnJywgZCl9IFwKKyAgICAgICAgICAgZ3RrKyBkZXNrdG9wLWZpbGUtdXRpbHMtbmF0aXZlIFwKKyAgICAgICAgICAgc3RhcnR1cC1ub3RpZmljYXRpb24gaW50bHRvb2wtbmF0aXZlIFwKKyAgICAgICAgICAgdXRpbC1saW51eCBcCisiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9yZWxlYXNlcy5wYWd1cmUub3JnLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWNvbXBpbGUtZmFpbHVyZS1hZ2FpbnN0LW11c2wtQy1saWJyYXJ5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tTGluay13aXRoLWxpYm0tZm9yLXBvd2wtQVBJLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImVhZGZiZmYxODU3OGI2NDUwOTZiNmZhNjE4NTRiNDFkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk5ZmJmZDI0OGI0MTFlZDBlN2M0NGQxOTU3YjBlY2RlNjk5YjVhOTY4YTRkYjVkMzcyMjhlODJlN2IxYmEwOTIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKKworRVhUUkFfT0VNQUtFICs9ICJJTlNUQUxMPSdpbnN0YWxsIC1wJyIKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSBwYW0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9SRUFETUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9SRUFETUUKaW5kZXggYmEyYmE1Zi4uNzkyNDRkNCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvUkVBRE1FCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL1JFQURNRQpAQCAtMTIsNyArMTIsNyBAQAogVGhpcyBsYXllciBkZXBlbmRzIG9uOgogCiBVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29lLWNvcmUuZ2l0Ci1icmFuY2g6IHRodWQKK2JyYW5jaDogbWFzdGVyCiByZXZpc2lvbjogSEVBRAogCiAKQEAgLTIwLDEyICsyMCwxMiBAQAogLS0tLS0tLS0tLS0KIAogU2VuZCBwYXRjaGVzIC8gcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZwotd2l0aCAnW21ldGEtaW5pdHJhbWZzXVt0aHVkXScgaW4gdGhlIHN1YmplY3QuCit3aXRoICdbbWV0YS1pbml0cmFtZnNdJyBpbiB0aGUgc3ViamVjdC4KIAogV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNpbmcgc29tZXRoaW5nIGxpa2U6Ci0nZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtaW5pdHJhbWZzXVt0aHVkXVtQQVRDSCcKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1pbml0cmFtZnNdW1BBVENIJwogCi1UaHVkIG1haW50YWluZXI6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitJbnRlcm0gbGF5ZXIgbWFpbnRhaW5lcjogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIAogCiBMaWNlbnNlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9jbGFzc2VzL2tsaWJjLmJiY2xhc3MgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9jbGFzc2VzL2tsaWJjLmJiY2xhc3MKaW5kZXggYjdiNzJiNy4uYmJhMTBmMSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvY2xhc3Nlcy9rbGliYy5iYmNsYXNzCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL2NsYXNzZXMva2xpYmMuYmJjbGFzcwpAQCAtOCw5ICs4LDkgQEAKIENDX2FwcGVuZF9hcm12N3ZlID0gIiAke0AnIC1tZmxvYXQtYWJpPSR7VFVORV9DQ0FSR1NfTUZMT0FUfScgaWYgKGQuZ2V0VmFyKCdUVU5FX0NDQVJHU19NRkxPQVQnKSAhPSAnJykgZWxzZSAnJ30iCiBDQ19hcHBlbmRfYXJtdjdhID0gIiAke0AnIC1tZmxvYXQtYWJpPSR7VFVORV9DQ0FSR1NfTUZMT0FUfScgaWYgKGQuZ2V0VmFyKCdUVU5FX0NDQVJHU19NRkxPQVQnKSAhPSAnJykgZWxzZSAnJ30iCiAKLUNQUF9mb3JjZXZhcmlhYmxlID0gIiR7Q0N9IC1FIgotCiAjIGtsY2MgdXNlcyBvd24gb3B0aW1pemF0aW9ucyBieSBkZWZhdWx0LiBTZWUga2xjYygxKSBtYW4gZmlsZS4KIGV4cG9ydCBDRkxBR1M9IiR7VFVORV9DQ0FSR1N9IgogZXhwb3J0IENQUEZMQUdTPSIke1RVTkVfQ0NBUkdTfSIKIGV4cG9ydCBMREZMQUdTPSIke1RVTkVfQ0NBUkdTfSIKKworT1ZFUlJJREVTID0uICJsaWJjLWtsaWJjOiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL2NvbmYvbGF5ZXIuY29uZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL2NvbmYvbGF5ZXIuY29uZgppbmRleCBiZDkyZGRmLi42ZTBiMDBkIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9jb25mL2xheWVyLmNvbmYKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvY29uZi9sYXllci5jb25mCkBAIC0xNiw3ICsxNiw3IEBACiBCQkZJTEVfUFJJT1JJVFlfbWV0YS1pbml0cmFtZnMgPSAiOCIKIExBWUVSREVQRU5EU19tZXRhLWluaXRyYW1mcyA9ICJjb3JlIgogCi1MQVlFUlNFUklFU19DT01QQVRfbWV0YS1pbml0cmFtZnMgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9tZXRhLWluaXRyYW1mcyA9ICJ0aHVkIHdhcnJpb3IiCiAKIFNJR0dFTl9FWENMVURFX1NBRkVfUkVDSVBFX0RFUFMgKz0gIiBcCiAgIGRyYWN1dC0+dmlydHVhbC9rZXJuZWwgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDEta2V4ZWNib290LVVzZS1uZXctcmVib290LUFQSS13aXRoLWtsaWJjLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDEta2V4ZWNib290LVVzZS1uZXctcmVib290LUFQSS13aXRoLWtsaWJjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyZDYyMmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3QvZmlsZXMvMDAwMS1rZXhlY2Jvb3QtVXNlLW5ldy1yZWJvb3QtQVBJLXdpdGgta2xpYmMucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSBhNmQxNjc4Mzc5ZGY2MTQyYTY4Y2M5YmI3NmRhZTU0MGEzMWI4ZmRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTQgTWFyIDIwMTkgMjM6NDc6NTAgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0ga2V4ZWNib290OiBVc2UgbmV3IHJlYm9vdCgpIEFQSSB3aXRoIGtsaWJjCisKK0tsaWJjIGhhcyBjaGFuZ2VkIHRoaXMgQVBJIGluCitodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGlicy9rbGliYy9rbGliYy5naXQvY29tbWl0Lz9pZD02YjYyMWI4NzA1Y2U1OTAxZGNmNDk2MDdjOGEzNTIzYzllNTIxOTAxCisKK3RoZXJlZm9yZSBhZG9wdCB0aGUgY29kZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9rZXhlY2Jvb3QuYyB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMva2V4ZWNib290LmMgYi9zcmMva2V4ZWNib290LmMKK2luZGV4IGNmNDliNDAuLmM3ODVmY2UgMTAwNjQ0CistLS0gYS9zcmMva2V4ZWNib290LmMKKysrKyBiL3NyYy9rZXhlY2Jvb3QuYworQEAgLTg1Nyw3ICs4NTcsNyBAQCBpbnQgcHJvY2Vzc19jdHhfbWVudShzdHJ1Y3QgcGFyYW1zX3QgKnBhcmFtcywgaW50IGFjdGlvbikgeworICNlbHNlCisgCQlzeW5jKCk7CisgCQkvKiBpZiAoIC0xID09IHJlYm9vdChMSU5VWF9SRUJPT1RfQ01EX1JFU1RBUlQpICkgeyAqLworLQkJaWYgKCAtMSA9PSByZWJvb3QoUkJfQVVUT0JPT1QpICkgeworKwkJaWYgKCAtMSA9PSByZWJvb3QoUkJfQVVUT0JPT1QsIE5VTEwpICkgeworIAkJCWxvZ19tc2cobGcsICJDYW4ndCBpbml0aWF0ZSByZWJvb3Q6ICVzIiwgRVJSTVNHKTsKKyAJCX0KKyAjZW5kaWYKK0BAIC04NzQsNyArODc0LDcgQEAgaW50IHByb2Nlc3NfY3R4X21lbnUoc3RydWN0IHBhcmFtc190ICpwYXJhbXMsIGludCBhY3Rpb24pIHsKKyAjZWxzZQorIAkJc3luYygpOworIAkJLyogaWYgKCAtMSA9PSByZWJvb3QoTElOVVhfUkVCT09UX0NNRF9QT1dFUl9PRkYpICkgeyAqLworLQkJaWYgKCAtMSA9PSByZWJvb3QoUkJfUE9XRVJfT0ZGKSApIHsKKysJCWlmICggLTEgPT0gcmVib290KFJCX1BPV0VSX09GRiwgTlVMTCkgKSB7CisgCQkJbG9nX21zZyhsZywgIkNhbid0IGluaXRpYXRlIHNodXRkb3duOiAlcyIsIEVSUk1TRyk7CisgCQl9CisgI2VuZGlmCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3Qva2V4ZWNib290X2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9rZXhlY2Jvb3RfZ2l0LmJiCmluZGV4IDZkNzllOGYuLjRiMjBlMWUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9rZXhlY2Jvb3RfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9rZXhlY2Jvb3RfZ2l0LmJiCkBAIC02LDcgKzYsOSBAQAogUFYgPSAiMC42K2dpdCR7U1JDUFZ9IgogUyA9ICIke1dPUktESVJ9L2dpdCIKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9rZXhlY2Jvb3Qva2V4ZWNib290LmdpdCIKLVNSQ1JFViA9ICI0YzAxZDY5NjBhYTZhOWQwMzY3NTYwNTA2MjQ2OWFiNzc3ZmEyYjAxIgorU1JDX1VSSV9hcHBlbmRfbGliYy1rbGliYyA9ICIgZmlsZTovLzAwMDEta2V4ZWNib290LVVzZS1uZXctcmVib290LUFQSS13aXRoLWtsaWJjLnBhdGNoICIKKworU1JDUkVWID0gIjc0MDlhMWUwYWFlYTYxYWY4N2M0ZWNhMDE0OWNlYzE4YTlmNThhYjYiCiBpbmhlcml0IGF1dG90b29scwogCiBFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtdGV4dHVpIC0tZW5hYmxlLWRlbGF5PTIgLS1lbmFibGUtZXZkZXYtcmF0ZT0xMDAwLDI1MCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1pbml0cmFtZnMtaW1hZ2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtaW5pdHJhbWZzLWltYWdlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkNzBkNmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtaW5pdHJhbWZzLWltYWdlLmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJtZXRhLWluaXRyYW1mcyBidWlsZCB0ZXN0IGltYWdlIgorCitJTUFHRV9JTlNUQUxMID0gInBhY2thZ2Vncm91cC1jb3JlLWJvb3QgXAorICAgICAgICAgICAgICAgICBwYWNrYWdlZ3JvdXAtbWV0YS1pbml0cmFtZnMiCisKK0xJQ0VOU0UgPSAiTUlUIgorCitpbmhlcml0IGNvcmUtaW1hZ2UKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLWluaXRyYW1mcy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLWluaXRyYW1mcy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZmVkZTVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtaW5pdHJhbWZzLmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAiTWV0YS1pbml0cmFtZnMgcGFja2FnZWdyb3VwcyIKKworaW5oZXJpdCBwYWNrYWdlZ3JvdXAKKworUFJPVklERVMgPSAiJHtQQUNLQUdFU30iCitQQUNLQUdFUyA9ICcgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLWluaXRyYW1mcyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtaW5pdHJhbWZzLWRldnRvb2xzIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1pbml0cmFtZnMta2VybmVsIFwKKycKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtaW5pdHJhbWZzID0gIlwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1pbml0cmFtZnMtZGV2dG9vbHMgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLWluaXRyYW1mcy1rZXJuZWwgXAorIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1pbml0cmFtZnMtZGV2dG9vbHMgPSAiXAorICAgIGxpYmtsaWJjICBkcmFjdXQgXAorICAgIGtsaWJjLXV0aWxzLWNhdCBrbGliYy11dGlscy1sb3NldHVwIGtsaWJjLXV0aWxzLXJlYWRsaW5rIGtsaWJjLXV0aWxzLWNocm9vdCBcCisgICAga2xpYmMtdXRpbHMtbHMga2xpYmMtdXRpbHMtcmVib290IGtsaWJjLXV0aWxzLWNwaW8ga2xpYmMtdXRpbHMtbWluaXBzIFwKKyAgICBrbGliYy11dGlscy1yZXN1bWUga2xpYmMtdXRpbHMtZGQga2xpYmMtdXRpbHMtbWtkaXIga2xpYmMtdXRpbHMtcnVuLWluaXQgXAorICAgIGtsaWJjLXV0aWxzLWRtZXNnIGtsaWJjLXV0aWxzLW1rZmlmbyBrbGliYy11dGlscy1zaC5zaGFyZWQga2xpYmMtdXRpbHMtZmFsc2UgXAorICAgIGtsaWJjLXV0aWxzLW1rbm9kIGtsaWJjLXV0aWxzLXNsZWVwIGtsaWJjLXV0aWxzLWZzdHlwZSBrbGliYy11dGlscy1tb3VudCBcCisgICAga2xpYmMtdXRpbHMtc3luYyBrbGliYy11dGlscy1oYWx0IGtsaWJjLXV0aWxzLW12IGtsaWJjLXV0aWxzLXRydWUga2xpYmMtdXRpbHMtaXBjb25maWcgXAorICAgIGtsaWJjLXV0aWxzLW5mc21vdW50IGtsaWJjLXV0aWxzLXVtb3VudCBrbGliYy11dGlscy1raWxsIGtsaWJjLXV0aWxzLW51a2Uga2xpYmMtdXRpbHMtdW5hbWUgXAorICAgIG10ZGluZm8ta2xpYmMgdWJpYXR0YWNoLWtsaWJjIHViaWJsb2NrLWtsaWJjIHViaWNyYzMyLWtsaWJjIHViaWRldGFjaC1rbGliYyBcCisgICAgdWJpZm9ybWF0LWtsaWJjIHViaW1rdm9sLWtsaWJjIHViaW5mby1rbGliYyB1YmluaXplLWtsaWJjIHViaXJlbmFtZS1rbGliYyBcCisgICAgdWJpcm12b2wta2xpYmMgdWJpcnN2b2wta2xpYmMgdWJpdXBkYXRldm9sLWtsaWJjIFwKKyAgICAke0BiYi51dGlscy5jb250YWluc19hbnkoIlRSQU5TTEFURURfVEFSR0VUX0FSQ0giLCAiaTU4NiB4ODYtNjQiLCAiZ3J1YmJ5IiwgIiIsIGQpfSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1pbml0cmFtZnMta2VybmVsID0gIlwKKyAgICBrZXhlYy1rbGliYyB2bWNvcmUtZG1lc2cta2xpYmMgXAorICAgICIKKworRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtRGVmaW5lLWluXy1zdHJ1Y3RzLWZvci1ub24tZ2xpYmMtc3lzdGVtLWxpYnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtRGVmaW5lLWluXy1zdHJ1Y3RzLWZvci1ub24tZ2xpYmMtc3lzdGVtLWxpYnMucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1EZWZpbmUtaW5fLXN0cnVjdHMtZm9yLW5vbi1nbGliYy1zeXN0ZW0tbGlicy5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLURlZmluZS1pbl8tc3RydWN0cy1mb3Itbm9uLWdsaWJjLXN5c3RlbS1saWJzLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtRGVmaW5lLXVsb2NrZWRfLWZnZXRzLWZyZWFkLWZ3cml0ZS1hbGlhc2VzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLURlZmluZS11bG9ja2VkXy1mZ2V0cy1mcmVhZC1md3JpdGUtYWxpYXNlcy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLURlZmluZS11bG9ja2VkXy1mZ2V0cy1mcmVhZC1md3JpdGUtYWxpYXNlcy5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLURlZmluZS11bG9ja2VkXy1mZ2V0cy1mcmVhZC1md3JpdGUtYWxpYXNlcy5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLUtidWlsZC5rbGliYy1BZGQtcGF0aC10by1jb21waWxlci1oZWFkZXJzLXZpYS1pc3lzdGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtS2J1aWxkLmtsaWJjLUFkZC1wYXRoLXRvLWNvbXBpbGVyLWhlYWRlcnMtdmlhLWlzeXN0ZS5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLUtidWlsZC5rbGliYy1BZGQtcGF0aC10by1jb21waWxlci1oZWFkZXJzLXZpYS1pc3lzdGUucGF0Y2gKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1LYnVpbGQua2xpYmMtQWRkLXBhdGgtdG8tY29tcGlsZXItaGVhZGVycy12aWEtaXN5c3RlLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtS2J1aWxkLmtsaWJjLVVzZS1wcmludC1saWJnY2MtZmlsZS1uYW1lLWluc3RlYWQtb2YtcC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1LYnVpbGQua2xpYmMtVXNlLXByaW50LWxpYmdjYy1maWxlLW5hbWUtaW5zdGVhZC1vZi1wLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtS2J1aWxkLmtsaWJjLVVzZS1wcmludC1saWJnY2MtZmlsZS1uYW1lLWluc3RlYWQtb2YtcC5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLUtidWlsZC5rbGliYy1Vc2UtcHJpbnQtbGliZ2NjLWZpbGUtbmFtZS1pbnN0ZWFkLW9mLXAucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1hbHdheXMtdXNlLWJmZC1saW5rZXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtYWx3YXlzLXVzZS1iZmQtbGlua2VyLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtYWx3YXlzLXVzZS1iZmQtbGlua2VyLnBhdGNoCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtYWx3YXlzLXVzZS1iZmQtbGlua2VyLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtYXJtLURvLW5vdC1zZXQtYS1mYWxsYmFjay1tYXJjaC1hbmQtbXR1bmUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtYXJtLURvLW5vdC1zZXQtYS1mYWxsYmFjay1tYXJjaC1hbmQtbXR1bmUucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1hcm0tRG8tbm90LXNldC1hLWZhbGxiYWNrLW1hcmNoLWFuZC1tdHVuZS5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWFybS1Eby1ub3Qtc2V0LWEtZmFsbGJhY2stbWFyY2gtYW5kLW10dW5lLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtZGFzaC1TcGVjaWZ5LWZvcm1hdC1zdHJpbmctaW4tZm10c3RyLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWRhc2gtU3BlY2lmeS1mb3JtYXQtc3RyaW5nLWluLWZtdHN0ci5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWRhc2gtU3BlY2lmeS1mb3JtYXQtc3RyaW5nLWluLWZtdHN0ci5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWRhc2gtU3BlY2lmeS1mb3JtYXQtc3RyaW5nLWluLWZtdHN0ci5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWluY2x1ZGUtbGludXgtc3lzaW5mby5oLWRpcmVjdGx5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWluY2x1ZGUtbGludXgtc3lzaW5mby5oLWRpcmVjdGx5LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtaW5jbHVkZS1saW51eC1zeXNpbmZvLmgtZGlyZWN0bHkucGF0Y2gKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1pbmNsdWRlLWxpbnV4LXN5c2luZm8uaC1kaXJlY3RseS5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjLUtidWlsZC1BY2NlcHQtRVhUUkFfS0xJQkNBRkxBR1MucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEta2xpYmMtS2J1aWxkLUFjY2VwdC1FWFRSQV9LTElCQ0FGTEFHUy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjLUtidWlsZC1BY2NlcHQtRVhUUkFfS0xJQkNBRkxBR1MucGF0Y2gKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1rbGliYy1LYnVpbGQtQWNjZXB0LUVYVFJBX0tMSUJDQUZMQUdTLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEta2xpYmMtYWRkLWdldHJhbmRvbS1zeXNjYWxsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWtsaWJjLWFkZC1nZXRyYW5kb20tc3lzY2FsbC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjLWFkZC1nZXRyYW5kb20tc3lzY2FsbC5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWtsaWJjLWFkZC1nZXRyYW5kb20tc3lzY2FsbC5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjXzIuMC40LWFkZC1rZXhlY19maWxlX2xvYWQtc3lzY2FsbC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1rbGliY18yLjAuNC1hZGQta2V4ZWNfZmlsZV9sb2FkLXN5c2NhbGwucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1rbGliY18yLjAuNC1hZGQta2V4ZWNfZmlsZV9sb2FkLXN5c2NhbGwucGF0Y2gKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1rbGliY18yLjAuNC1hZGQta2V4ZWNfZmlsZV9sb2FkLXN5c2NhbGwucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1ta2ZpZm8tSW1wbGVtZW50LW1rZmlmby5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1ta2ZpZm8tSW1wbGVtZW50LW1rZmlmby5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLW1rZmlmby1JbXBsZW1lbnQtbWtmaWZvLnBhdGNoCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtbWtmaWZvLUltcGxlbWVudC1ta2ZpZm8ucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvYXJtdjQtZml4LXY0YngucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL2FybXY0LWZpeC12NGJ4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMzM0ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL2FybXY0LWZpeC12NGJ4LnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK0Zyb20gZDJmYjQ4NGQ5OTUyMjEyNzdjY2U3YWJkZGNkN2RmYTBlOGJjZWVjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMTEgSmFuIDIwMTMgMTc6MjY6NDAgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0ga2xpYmNfMi4wLjI6IGFwcGx5IEZJWF9WNEJYIHBhdGNoIGZvciBhcm12NCB0YXJnZXRzIG9ubHkKKworU3RhdHVzOiBub3QgYXBwbGljYWJsZSB1cHN0cmVhbSwgaW4gT0UvWW9jdG8gd2UgdXNlICQoRklYX1Y0QlgpCit3aGljaCBpcyAiIiBpbiBjYXNlIG9mIGFybXY1IG9yIHRodW1icy4KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorCistLS0KKyB1c3Iva2xpYmMvYXJjaC9hcm0vTUNPTkZJRyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCistLS0gYS91c3Iva2xpYmMvYXJjaC9hcm0vTUNPTkZJRworKysrIGIvdXNyL2tsaWJjL2FyY2gvYXJtL01DT05GSUcKK0BAIC0yOSw2ICsyOSw3IEBAIGVsc2UKKyBLTElCQ1NIQVJFREZMQUdTID0gLVR0ZXh0LXNlZ21lbnQgMHgwMTgwMDAwMAorIGlmZXEgKCQoQ09ORklHX0FFQUJJKSx5KQorIEtMSUJDUkVRRkxBR1MgKz0gLW1hYmk9YWFwY3MtbGludXggLW1uby10aHVtYi1pbnRlcndvcmsKKytLTElCQ0xERkxBR1MgKz0gJChGSVhfQVJNVjRfRUFCSV9CWCkKKyBlbHNlCisgS0xJQkNSRVFGTEFHUyArPSAtbWFiaT1hcGNzLWdudSAtbW5vLXRodW1iLWludGVyd29yaworIGVuZGlmCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2tsY2MtY29uc2lkZXItc3lzcm9vdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMva2xjYy1jb25zaWRlci1zeXNyb290LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2tsY2MtY29uc2lkZXItc3lzcm9vdC5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy9rbGNjLWNvbnNpZGVyLXN5c3Jvb3QucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xjYy1jcm9zcy1hY2NlcHQtY2xhbmctb3B0aW9ucy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMva2xjYy1jcm9zcy1hY2NlcHQtY2xhbmctb3B0aW9ucy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGNjLWNyb3NzLWFjY2VwdC1jbGFuZy1vcHRpb25zLnBhdGNoCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL2tsY2MtY3Jvc3MtYWNjZXB0LWNsYW5nLW9wdGlvbnMucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMva2xpYmMtY29uZmlnLWVhYmkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL2tsaWJjLWNvbmZpZy1lYWJpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2OTk4ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL2tsaWJjLWNvbmZpZy1lYWJpLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK0Zyb20gMTExOGNjOTcxOTE3YWJlMTlkZGIwMjlhYTgwNDE3ZjZmZDZiYjM0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRob21hcyBLdW56ZSA8dGhvbW15Y2hlY2tAZ214LmRlPgorRGF0ZTogU2F0LCA2IEF1ZyAyMDExIDA1OjMwOjE0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIGtsaWJjOiBpbml0aWFsIGNvbW1pdCBvZiB2ZXJzaW9uIDEuNS4yNAorCitQYXRjaCB3YXMgaW1wb3J0ZWQgZnJvbSB0aGUgT3BlbkVtYmVkZGVkIGdpdCBzZXJ2ZXIKKyhnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9vcGVuZW1iZWRkZWQpCithcyBvZiBjb21taXQgaWQgYjY3NjRjZjMyZWM5MzU0NzUzMTEzMGRjYTM2NGZiOTVlMWM0OTVmNAorU2lnbmVkLW9mZi1ieTogVGhvbWFzIEt1bnplIDx0aG9tbXljaGVja0BnbXguZGU+CisKKy0tLQorIGRlZmNvbmZpZyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworLS0tIGEvZGVmY29uZmlnCisrKysgYi9kZWZjb25maWcKK0BAIC02LDUgKzYsNSBAQCBDT05GSUdfS0xJQkNfWkxJQj15CisgQ09ORklHX1JFR1BBUk09eQorICMgQVJNIG9wdGlvbnMKKyAjIENPTkZJR19LTElCQ19USFVNQiBpcyBub3Qgc2V0CistIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAorK0NPTkZJR19BRUFCST15CisgIyBDT05GSUdfREVCVUdfSU5GTyBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L3VzZS1lbnYtZm9yLXBlcmwucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL3VzZS1lbnYtZm9yLXBlcmwucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvdXNlLWVudi1mb3ItcGVybC5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy91c2UtZW52LWZvci1wZXJsLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsY2MtY3Jvc3NfMi4wLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsY2MtY3Jvc3NfMi4wLjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyODViMmUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGNjLWNyb3NzXzIuMC40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotU1VNTUFSWSA9ICJUaGUga2xjYyBjcm9zc2NvbXBpbGVyIGZvciBrbGliYyIKLQotcmVxdWlyZSBrbGliYy5pbmMKLURFUEVORFMgPSAia2xpYmMiCi0KLSMgbm8gcGFja2FnaW5nIGZvciB0aGlzIGNyb3Nzc2NyaXB0Ci1QQUNLQUdFUyA9ICIiCi1pbmhlcml0IG5vcGFja2FnZXMKLQotRklMRVNQQVRIID0uICIke0ZJTEVfRElSTkFNRX0va2xpYmMtJHtQVn06IgotCi1TUkNfVVJJICs9ICJmaWxlOi8vdXNlLWVudi1mb3ItcGVybC5wYXRjaCIKLQotIyBkaXNhYmxlIHRhc2sgYWxyZWFkeSBydW4gaW4ga2xpYmMgcmVjaXBlCi1kb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgotCi1kb19jb21waWxlKCkgewotICAgIG9lX3J1bm1ha2UgJ0lOU1RBTExESVI9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtsaWJkaXJ9L2tsaWJjJyBrbGNjCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS8KLSAgICBpbnN0YWxsIC1tIDA3NTUga2xjYy9rbGNjICR7RH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LyR7VEFSR0VUX1BSRUZJWH1rbGNjCi0gICAgIyBUdXJuIHRoZSBob3JyaWJseSBlbmNvZGVkIHBhdGhzIGludG8gc29tZXRoaW5nIHdoaWNoIHNzdGF0ZSBjYW4gdHJhbnNmb3JtIHVzaW5nIGl0cyB1c3VzYWwKLSAgICAjIG1hZ2ljIGJ5IHJlbW92aW5nIGFsbCB0aGUgY3JhenkgZXNjYXBpbmcuCi0gICAgc2VkIC1pIC1lICIyaSBcJFRBUkdFVFNZU1JPT1QgPSAnJHtTVEFHSU5HX0RJUl9UQVJHRVR9JzsiIFwKLSAgICAgICAgICAgLWUgIjJpIFwkTkFUSVZFU1lTUk9PVCA9ICcke1NUQUdJTkdfRElSX05BVElWRX0nOyIgXAotICAgICAgICAgICAtZSAncyMke0BkLmdldFZhcigiU1RBR0lOR19ESVJfTkFUSVZFIiwgVHJ1ZSkucmVwbGFjZSgiLyIsICJcXFxcLyIpLnJlcGxhY2UoIi0iLCAiXFxcXC0iKS5yZXBsYWNlKCIuIiwgIlxcXFwuIil9IyR7TkFUSVZFU1lTUk9PVH0jZzsnIFwKLSAgICAgICAgICAgLWUgJ3MjJHtAZC5nZXRWYXIoIlNUQUdJTkdfRElSX1RBUkdFVCIsIFRydWUpLnJlcGxhY2UoIi8iLCAiXFxcXC8iKS5yZXBsYWNlKCItIiwgIlxcXFwtIikucmVwbGFjZSgiLiIsICJcXFxcLiIpfSMke1RBUkdFVFNZU1JPT1R9I2cnIFwKLSAgICAgICAgJHtEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vJHtUQVJHRVRfUFJFRklYfWtsY2MKLX0KLQotU1lTUk9PVF9ESVJTICs9ICIke2JpbmRpcl9jcm9zc3NjcmlwdHN9IgotU1NUQVRFX1NDQU5fRklMRVMgKz0gIiota2xjYyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xjYy1jcm9zc18yLjAuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xjYy1jcm9zc18yLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDExYWEyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGNjLWNyb3NzXzIuMC42LmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiVGhlIGtsY2MgY3Jvc3Njb21waWxlciBmb3Iga2xpYmMiCisKK3JlcXVpcmUga2xpYmMuaW5jCitERVBFTkRTID0gImtsaWJjIgorCisjIG5vIHBhY2thZ2luZyBmb3IgdGhpcyBjcm9zc3NjcmlwdAorUEFDS0FHRVMgPSAiIgoraW5oZXJpdCBub3BhY2thZ2VzCisKK1NSQ19VUkkgKz0gImZpbGU6Ly91c2UtZW52LWZvci1wZXJsLnBhdGNoIgorCisjIGRpc2FibGUgdGFzayBhbHJlYWR5IHJ1biBpbiBrbGliYyByZWNpcGUKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSAnSU5TVEFMTERJUj0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke2xpYmRpcn0va2xpYmMnIGtsY2MKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LworICAgIGluc3RhbGwgLW0gMDc1NSBrbGNjL2tsY2MgJHtEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vJHtUQVJHRVRfUFJFRklYfWtsY2MKKyAgICAjIFR1cm4gdGhlIGhvcnJpYmx5IGVuY29kZWQgcGF0aHMgaW50byBzb21ldGhpbmcgd2hpY2ggc3N0YXRlIGNhbiB0cmFuc2Zvcm0gdXNpbmcgaXRzIHVzdXNhbAorICAgICMgbWFnaWMgYnkgcmVtb3ZpbmcgYWxsIHRoZSBjcmF6eSBlc2NhcGluZy4KKyAgICBzZWQgLWkgLWUgIjJpIFwkVEFSR0VUU1lTUk9PVCA9ICcke1NUQUdJTkdfRElSX1RBUkdFVH0nOyIgXAorICAgICAgICAgICAtZSAiMmkgXCROQVRJVkVTWVNST09UID0gJyR7U1RBR0lOR19ESVJfTkFUSVZFfSc7IiBcCisgICAgICAgICAgIC1lICdzIyR7QGQuZ2V0VmFyKCJTVEFHSU5HX0RJUl9OQVRJVkUiKS5yZXBsYWNlKCIvIiwgIlxcXFwvIikucmVwbGFjZSgiLSIsICJcXFxcLSIpLnJlcGxhY2UoIi4iLCAiXFxcXC4iKX0jJHtOQVRJVkVTWVNST09UfSNnOycgXAorICAgICAgICAgICAtZSAncyMke0BkLmdldFZhcigiU1RBR0lOR19ESVJfVEFSR0VUIikucmVwbGFjZSgiLyIsICJcXFxcLyIpLnJlcGxhY2UoIi0iLCAiXFxcXC0iKS5yZXBsYWNlKCIuIiwgIlxcXFwuIil9IyR7VEFSR0VUU1lTUk9PVH0jZycgXAorICAgICAgICAke0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS8ke1RBUkdFVF9QUkVGSVh9a2xjYworfQorCitTWVNST09UX0RJUlMgKz0gIiR7YmluZGlyX2Nyb3Nzc2NyaXB0c30iCitTU1RBVEVfU0NBTl9GSUxFUyArPSAiKi1rbGNjIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjLXN0YXRpYy11dGlscy1kby1ub3QtYnVpbGQtc2hhcmVkLWJpbmFyaWVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjLXN0YXRpYy11dGlscy1kby1ub3QtYnVpbGQtc2hhcmVkLWJpbmFyaWVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjdjZDM1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1rbGliYy1zdGF0aWMtdXRpbHMtZG8tbm90LWJ1aWxkLXNoYXJlZC1iaW5hcmllcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxMyArMCwwIEBACi1Gcm9tIGMwMzRkY2VhZTE3YjdkOGQ0Mzc4NzFhZmU1ZWJhNTVhNTU0MzQyMjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDEwIE9jdCAyMDE4IDAwOjQ4OjMxICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGtsaWJjLXN0YXRpYy11dGlsczogZG8gbm90IGJ1aWxkIHNoYXJlZCBiaW5hcmllcwotCi1XZSB3ZXJlIGJ1aWxkaW5nIHNvbWUgc2hhcmVkIHV0aWxpdGllcyBhbmQgdGhpcyB3YXMgbGVhZGluZyB0byBsaW5rZXIgZXJyb3JzCi1mb3IgeDg2IHdpdGggc2VjdXJpdHkgZmxhZ3MgZW5hYmxlZC4KLQotRml4Ci0gaTU4Ni1vZS1saW51eC1tdXNsLWxkLmJmZDogZGlzY2FyZGVkIG91dHB1dCBzZWN0aW9uOiBgLmdvdC5wbHQnCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbRW1iZWRkZWQgU3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KLS0tLQotIHVzci9kYXNoL0tidWlsZCAgICAgICAgICAgfCA2ICstLS0tLQotIHVzci9raW5pdC9LYnVpbGQgICAgICAgICAgfCA0ICstLS0KLSB1c3Iva2luaXQvZnN0eXBlL0tidWlsZCAgIHwgNCArLS0tCi0gdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZCB8IDQgKy0tLQotIHVzci9raW5pdC9uZnNtb3VudC9LYnVpbGQgfCA0ICstLS0KLSB1c3Iva2luaXQvcmVzdW1lL0tidWlsZCAgIHwgNSArLS0tLQotIHVzci9raW5pdC9ydW4taW5pdC9LYnVpbGQgfCA1ICstLS0tCi0gdXNyL3V0aWxzL0tidWlsZCAgICAgICAgICB8IDcgKystLS0tLQotIDggZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Vzci9kYXNoL0tidWlsZCBiL3Vzci9kYXNoL0tidWlsZAotaW5kZXggMWE2OTIwYS4uYjNhNGU2NCAxMDA2NDQKLS0tLSBhL3Vzci9kYXNoL0tidWlsZAotKysrIGIvdXNyL2Rhc2gvS2J1aWxkCi1AQCAtMjUsMTIgKzI1LDggQEAgZ2VuLWgtZmlsZXMgOj0gYnVpbHRpbnMuaCBub2Rlcy5oIHN5bnRheC5oIHRva2VuLmgKLSAKLSBzdGF0aWMteSA6PSBzaAotIAotLSMgVGhlIHNoYXJlZCBiaW5hcnkKLS1zaGFyZWQteSAgICA6PSBzaC5zaGFyZWQKLS1zaC5zaGFyZWQteSA6PSAkKHNoLXkpCi0tCi0gIyBGb3IgY2xlYW5pbmcKLS10YXJnZXRzIDo9IHNoIHNoLmcgc2guc2hhcmVkIHNoLnNoYXJlZC5nICQoZ2VuLW8tZmlsZXMpCi0rdGFyZ2V0cyA6PSBzaCBzaC5nICQoZ2VuLW8tZmlsZXMpCi0gCi0gIyBleHBsaWNpdCBkZXBlbmRlbmN5IGZvciBhbGwgZ2VuZXJhdGVkIGZpbGVzCi0gJChhZGRwcmVmaXggJChvYmopLywgJChzaC15KSk6ICQoYWRkcHJlZml4ICQob2JqKS8sICQoZ2VuLWgtZmlsZXMpKQotZGlmZiAtLWdpdCBhL3Vzci9raW5pdC9LYnVpbGQgYi91c3Iva2luaXQvS2J1aWxkCi1pbmRleCBmN2ZkY2NkLi44ZGIwNmFiIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L0tidWlsZAotKysrIGIvdXNyL2tpbml0L0tidWlsZAotQEAgLTE4LDggKzE4LDYgQEAga2luaXQteSAgKz0gZnN0eXBlLwotIGtpbml0LXkgICs9IHJlc3VtZS8KLSAKLSBzdGF0aWMteSA6PSBraW5pdAotLXNoYXJlZC15IDo9IGtpbml0LnNoYXJlZAotLWtpbml0LnNoYXJlZC15IDo9ICQoa2luaXQteSkKLSAKLSAjIEFkZGl0aW9uYWwgaW5jbHVkZSBwYXRocyBmaWxlcwotIEtMSUJDQ0ZMQUdTICs9IC1JJChzcmN0cmVlKS8kKHNyYykvZnN0eXBlIFwKLUBAIC0yOSw3ICsyNyw3IEBAIEtMSUJDQ0ZMQUdTICs9IC1JJChzcmN0cmVlKS8kKHNyYykvZnN0eXBlIFwKLSAgCSAgICAgICAtSSQoc3JjdHJlZSkvJChzcmMpL3J1bi1pbml0Ci0gCi0gIyBDbGVhbmluZwotLXRhcmdldHMgKz0ga2luaXQga2luaXQuZyBraW5pdC5zaGFyZWQga2luaXQuc2hhcmVkLmcKLSt0YXJnZXRzICs9IGtpbml0IGtpbml0LmcKLSBzdWJkaXItIDo9IGZzdHlwZSBpcGNvbmZpZyBuZnNtb3VudCByZXN1bWUgcnVuLWluaXQKLSAKLSAKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvZnN0eXBlL0tidWlsZCBiL3Vzci9raW5pdC9mc3R5cGUvS2J1aWxkCi1pbmRleCAzNjc2MTFkLi44ZDQ1M2VhIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L2ZzdHlwZS9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9mc3R5cGUvS2J1aWxkCi1AQCAtMyw3ICszLDYgQEAKLSAjCi0gCi0gc3RhdGljLXkgOj0gc3RhdGljL2ZzdHlwZQotLXNoYXJlZC15IDo9IHNoYXJlZC9mc3R5cGUKLSAKLSAjIGNvbW1vbiAubyBmaWxlcwotIG9ianMgOj0gbWFpbi5vIGZzdHlwZS5vCi1AQCAtMTYsOCArMTUsNyBAQCBsaWIteSA6PSAkKG9ianMpCi0gCi0gIyAubyBmaWxlcyB1c2VkIHRvIGJ1aWx0IGV4ZWN1dGFibGVzCi0gc3RhdGljL2ZzdHlwZS15IDo9ICQob2JqcykKLS1zaGFyZWQvZnN0eXBlLXkgOj0gJChvYmpzKQotIAotICMgQ2xlYW5pbmcKLS1jbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKLStjbGVhbi1kaXJzIDo9IHN0YXRpYwotIAotZGlmZiAtLWdpdCBhL3Vzci9raW5pdC9pcGNvbmZpZy9LYnVpbGQgYi91c3Iva2luaXQvaXBjb25maWcvS2J1aWxkCi1pbmRleCBlYjFkNDcyLi5lZjg3ZTdlIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZAotKysrIGIvdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZAotQEAgLTMsNyArMyw2IEBACi0gIwotIAotIHN0YXRpYy15IDo9IHN0YXRpYy9pcGNvbmZpZwotLXNoYXJlZC15IDo9IHNoYXJlZC9pcGNvbmZpZwotIAotICMgY29tbW9uIC5vIGZpbGVzCi0gb2JqcyA6PSBtYWluLm8gbmV0ZGV2Lm8gcGFja2V0Lm8KLUBAIC0yMiw4ICsyMSw3IEBAIGxpYi15IDo9ICQob2JqcykKLSAKLSAjIC5vIGZpbGVzIHVzZWQgdG8gYnVpbHQgZXhlY3V0YWJsZXMKLSBzdGF0aWMvaXBjb25maWcteSA6PSAkKG9ianMpCi0tc2hhcmVkL2lwY29uZmlnLXkgOj0gJChvYmpzKQotIAotICMgQ2xlYW5pbmcKLS1jbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKLStjbGVhbi1kaXJzIDo9IHN0YXRpYwotIAotZGlmZiAtLWdpdCBhL3Vzci9raW5pdC9uZnNtb3VudC9LYnVpbGQgYi91c3Iva2luaXQvbmZzbW91bnQvS2J1aWxkCi1pbmRleCBiYTMxNzA4Li4wMWJlZGNlIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L25mc21vdW50L0tidWlsZAotKysrIGIvdXNyL2tpbml0L25mc21vdW50L0tidWlsZAotQEAgLTQsNyArNCw2IEBACi0gCi0gc3RhdGljLXkgOj0gc3RhdGljL25mc21vdW50Ci0gI0ZJWE1FIC0gYnVpbGQgaXMgYnJva2VuIHN0YXRpYy15IDo9IGR1bW15cG1hcAotLXNoYXJlZC15IDo9IHNoYXJlZC9uZnNtb3VudAotIAotIG9ianMgOj0gbWFpbi5vIG1vdW50Lm8gcG9ydG1hcC5vIGR1bW15cG1hcC5vIHN1bnJwYy5vCi0gCi1AQCAtMTMsNyArMTIsNiBAQCBsaWIteSA6PSAkKG9ianMpCi0gCi0gIyAubyBmaWxlcyB1c2VkIGZvciBleGVjdXRhYmxlcwotIHN0YXRpYy9uZnNtb3VudC15IDo9ICQob2JqcykKLS1zaGFyZWQvbmZzbW91bnQteSA6PSAkKG9ianMpCi0gCi0gIyBkdW1teXBtYXAgdXNlcyBhIHNpbmdsZSAubyBmaWxlIChyZW5hbWUgc3JjIGZpbGU/KQotIGR1bW15cG1hcC15IDo9IGR1bW15cG1hcF90ZXN0Lm8KLUBAIC0yMSw1ICsxOSw1IEBAIGR1bW15cG1hcC15IDo9IGR1bW15cG1hcF90ZXN0Lm8KLSAjIFRPRE8gLSBkbyB3ZSB3YW50IGEgc3RyaXBwZWQgdmVyc2lvbgotICMgVE9ETyAtIGRvIHdlIHdhbnQgdGhlIHN0YXRpYy5nICsgc2hhcmVkLmcgZGlyZWN0b3JpZXM/Ci0gCi0tY2xlYW4tZGlycyA6PSBzdGF0aWMgc2hhcmVkCi0rY2xlYW4tZGlycyA6PSBzdGF0aWMKLSAKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvcmVzdW1lL0tidWlsZCBiL3Vzci9raW5pdC9yZXN1bWUvS2J1aWxkCi1pbmRleCBjMTM0MmUxLi4xNWI5NTkwIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L3Jlc3VtZS9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9yZXN1bWUvS2J1aWxkCi1AQCAtMyw3ICszLDYgQEAKLSAjCi0gCi0gc3RhdGljLXkgOj0gc3RhdGljL3Jlc3VtZQotLXNoYXJlZC15IDo9IHNoYXJlZC9yZXN1bWUKLSAKLSAjIGNvbW1vbiAubyBmaWxlcwotIG9ianMgOj0gcmVzdW1lLm8gcmVzdW1lbGliLm8KLUBAIC0yMCw5ICsxOSw3IEBAIEtMSUJDQ0ZMQUdTICs9IC1JJChzcmN0cmVlKS8kKHNyYykvLi4KLSAjIC5vIGZpbGVzIHVzZWQgdG8gYnVpbHQgZXhlY3V0YWJsZXMKLSBzdGF0aWMvcmVzdW1lLXkgICA6PSAkKG9ianMpCi0gc3RhdGljL3Jlc3VtZS1saWIgOj0gLi4vbGliLmEKLS1zaGFyZWQvcmVzdW1lLXkgICA6PSAkKG9ianMpCi0tc2hhcmVkL3Jlc3VtZS1saWIgOj0gLi4vbGliLmEKLSAKLSAjIENsZWFuaW5nCi0tY2xlYW4tZGlycyA6PSBzdGF0aWMgc2hhcmVkCi0rY2xlYW4tZGlycyA6PSBzdGF0aWMKLSAKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvcnVuLWluaXQvS2J1aWxkIGIvdXNyL2tpbml0L3J1bi1pbml0L0tidWlsZAotaW5kZXggYzE1M2IwYS4uYTFlYTgzNCAxMDA2NDQKLS0tLSBhL3Vzci9raW5pdC9ydW4taW5pdC9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9ydW4taW5pdC9LYnVpbGQKLUBAIC0zLDcgKzMsNiBAQAotICMKLSAKLSBzdGF0aWMteSA6PSBzdGF0aWMvcnVuLWluaXQKLS1zaGFyZWQteSA6PSBzaGFyZWQvcnVuLWluaXQKLSAKLSAjIGNvbW1vbiAubyBmaWxlcwotIG9ianMgOj0gcnVuLWluaXQubyBydW5pbml0bGliLm8KLUBAIC0yNCw5ICsyMyw3IEBAIEtMSUJDQ0ZMQUdTICs9IC1JJChzcmN0cmVlKS8kKHNyYykvLi4KLSAjIC5vIGZpbGVzIHVzZWQgdG8gYnVpbHQgZXhlY3V0YWJsZXMKLSBzdGF0aWMvcnVuLWluaXQteSAgIDo9ICQob2JqcykKLSBzdGF0aWMvcnVuLWluaXQtbGliIDo9IC4uL2xpYi5hCi0tc2hhcmVkL3J1bi1pbml0LXkgICA6PSAkKG9ianMpCi0tc2hhcmVkL3J1bi1pbml0LWxpYiA6PSAuLi9saWIuYQotIAotICMgQ2xlYW5pbmcKLS1jbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKLStjbGVhbi1kaXJzIDo9IHN0YXRpYwotIAotZGlmZiAtLWdpdCBhL3Vzci91dGlscy9LYnVpbGQgYi91c3IvdXRpbHMvS2J1aWxkCi1pbmRleCA2N2Q5NDg2Li4xNTczMzYzIDEwMDY0NAotLS0tIGEvdXNyL3V0aWxzL0tidWlsZAotKysrIGIvdXNyL3V0aWxzL0tidWlsZAotQEAgLTcsNyArNyw2IEBAIHByb2dzICs9IHRydWUgZmFsc2Ugc2xlZXAgbG4gbXYgbnVrZSBtaW5pcHMgY2F0IGxzIGxvc2V0dXAKLSBwcm9ncyArPSB1bmFtZSBoYWx0IGtpbGwgcmVhZGxpbmsgY3BpbyBzeW5jIGRtZXNnCi0gCi0gc3RhdGljLXkgOj0gJChhZGRwcmVmaXggc3RhdGljLywgJChwcm9ncykpCi0tc2hhcmVkLXkgOj0gJChhZGRwcmVmaXggc2hhcmVkLywgJChwcm9ncykpCi0gCi0gIyBUaGUgYmluYXJ5IGlzIHBsYWNlZCBpbiBhIHN1YmRpciwgc28gd2UgbmVlZCB0byB0ZWxsIGtidWlsZCB0aGlzCi0gc3RhdGljL2Nocm9vdC15ICAgICA6PSBjaHJvb3QubwotQEAgLTYyLDEzICs2MSwxMSBAQCBzdGF0aWMvbG9zZXR1cC15ICAgIDo9IGxvc2V0dXAubwotIHNoYXJlZC9sb3NldHVwLXkgICAgOj0gbG9zZXR1cC5vCi0gCi0gIyBBZGRpdGlvbmFsbHkgbGlua2VkIHRhcmdldHMKLS1hbHdheXMgOj0gc3RhdGljL3JlYm9vdCBzdGF0aWMvcG93ZXJvZmYgc2hhcmVkL3JlYm9vdCBzaGFyZWQvcG93ZXJvZmYKLSthbHdheXMgOj0gc3RhdGljL3JlYm9vdCBzdGF0aWMvcG93ZXJvZmYKLSAKLSAkKG9iaikvc3RhdGljL3JlYm9vdCAkKG9iaikvc3RhdGljL3Bvd2Vyb2ZmOiAkKG9iaikvc3RhdGljL2hhbHQKLSAJJChjYWxsIGNtZCxsbikKLS0kKG9iaikvc2hhcmVkL3JlYm9vdCAkKG9iaikvc2hhcmVkL3Bvd2Vyb2ZmOiAkKG9iaikvc2hhcmVkL2hhbHQKLS0JJChjYWxsIGNtZCxsbikKLSAKLSAjIENsZWFuIGRlbGV0ZXMgdGhlIHN0YXRpYyBhbmQgc2hhcmVkIGRpcgotLWNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAotK2NsZWFuLWRpcnMgOj0gc3RhdGljCi0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvYXJtdjQtZml4LXY0YngucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2FybXY0LWZpeC12NGJ4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlODQyMzUzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvYXJtdjQtZml4LXY0YngucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIGQyZmI0ODRkOTk1MjIxMjc3Y2NlN2FiZGRjZDdkZmEwZThiY2VlYzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDExIEphbiAyMDEzIDE3OjI2OjQwICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGtsaWJjXzIuMC4yOiBhcHBseSBGSVhfVjRCWCBwYXRjaCBmb3IgYXJtdjQgdGFyZ2V0cyBvbmx5Ci0KLVN0YXR1czogbm90IGFwcGxpY2FibGUgdXBzdHJlYW0sIGluIE9FL1lvY3RvIHdlIHVzZSAkKEZJWF9WNEJYKQotd2hpY2ggaXMgIiIgaW4gY2FzZSBvZiBhcm12NSBvciB0aHVtYnMuCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KLQotLS0tCi0gdXNyL2tsaWJjL2FyY2gvYXJtL01DT05GSUcgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3Vzci9rbGliYy9hcmNoL2FybS9NQ09ORklHIGIvdXNyL2tsaWJjL2FyY2gvYXJtL01DT05GSUcKLWluZGV4IDUzYmMxZGMuLjMwM2M2YWMgMTAwNjQ0Ci0tLS0gYS91c3Iva2xpYmMvYXJjaC9hcm0vTUNPTkZJRwotKysrIGIvdXNyL2tsaWJjL2FyY2gvYXJtL01DT05GSUcKLUBAIC0yOSw2ICsyOSw3IEBAIGVsc2UKLSBLTElCQ1NIQVJFREZMQUdTID0gLVR0ZXh0IDB4MDE4MDAyMDAKLSBpZmVxICgkKENPTkZJR19BRUFCSSkseSkKLSBLTElCQ1JFUUZMQUdTICs9IC1tYWJpPWFhcGNzLWxpbnV4IC1tbm8tdGh1bWItaW50ZXJ3b3JrCi0rS0xJQkNMREZMQUdTICs9ICQoRklYX0FSTVY0X0VBQklfQlgpCi0gZWxzZQotIEtMSUJDUkVRRkxBR1MgKz0gLW1hYmk9YXBjcy1nbnUgLW1uby10aHVtYi1pbnRlcndvcmsKLSBlbmRpZgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGliYy1jb25maWctZWFiaS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xpYmMtY29uZmlnLWVhYmkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYyOGNkNTQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGliYy1jb25maWctZWFiaS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLUZyb20gMTExOGNjOTcxOTE3YWJlMTlkZGIwMjlhYTgwNDE3ZjZmZDZiYjM0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRob21hcyBLdW56ZSA8dGhvbW15Y2hlY2tAZ214LmRlPgotRGF0ZTogU2F0LCA2IEF1ZyAyMDExIDA1OjMwOjE0ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGtsaWJjOiBpbml0aWFsIGNvbW1pdCBvZiB2ZXJzaW9uIDEuNS4yNAotCi1QYXRjaCB3YXMgaW1wb3J0ZWQgZnJvbSB0aGUgT3BlbkVtYmVkZGVkIGdpdCBzZXJ2ZXIKLShnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9vcGVuZW1iZWRkZWQpCi1hcyBvZiBjb21taXQgaWQgYjY3NjRjZjMyZWM5MzU0NzUzMTEzMGRjYTM2NGZiOTVlMWM0OTVmNAotU2lnbmVkLW9mZi1ieTogVGhvbWFzIEt1bnplIDx0aG9tbXljaGVja0BnbXguZGU+Ci0KLS0tLQotIGRlZmNvbmZpZyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2RlZmNvbmZpZyBiL2RlZmNvbmZpZwotaW5kZXggMDRiOThlOS4uMGNiMjNkMCAxMDA2NDQKLS0tLSBhL2RlZmNvbmZpZwotKysrIGIvZGVmY29uZmlnCi1AQCAtNiw0ICs2LDQgQEAgQ09ORklHX0tMSUJDX1pMSUI9eQotIENPTkZJR19SRUdQQVJNPXkKLSAjIEFSTSBvcHRpb25zCi0gIyBDT05GSUdfS0xJQkNfVEhVTUIgaXMgbm90IHNldAotLSMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKLStDT05GSUdfQUVBQkk9eQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGliYy1saW51eC1saWJjLWRldi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xpYmMtbGludXgtbGliYy1kZXYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1NTYzYjcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGliYy1saW51eC1saWJjLWRldi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUZyb20gMWJlMmJjNDFmOTE1OTIyMTAyYTNiYTY3MWI1NGMyZGY2ZjAwNTJlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbiBIdXRjaGluZ3MgPGJlbkBkZWNhZGVudC5vcmcudWs+Ci1EYXRlOiBTdW4sIDE0IE1hciAyMDEwIDE4OjQxOjU2ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGtsaWJjXzEuNS4yNjogbm93IGJ1aWxkIGFnYWluc3QgbGludXgtbGliYy1oZWFkZXJzCi0KLWNvbW1pdCA0M2FkZjY5MDYyMjU0ZmI0ZjhkNGQxMWZiNWZlMzZhNjBhZTI1ZDVhCi0KLSAgICBUYWtlbiBmcm9tIGRlYmlhbiAiRml4IGtsaWJjIERlYmlhbiBzcGVjaWZpYyBidWlsZCB0cm91YmxlIgotICAgIEFkYXB0ZWQgZm9yIGtsaWJjXzIuMC4yCi0KLS0tLQotIHNjcmlwdHMvS2J1aWxkLmluc3RhbGwgfCA0ICsrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zY3JpcHRzL0tidWlsZC5pbnN0YWxsIGIvc2NyaXB0cy9LYnVpbGQuaW5zdGFsbAotaW5kZXggOGFmNTY5Ny4uZDMyYThhNSAxMDA2NDQKLS0tLSBhL3NjcmlwdHMvS2J1aWxkLmluc3RhbGwKLSsrKyBiL3NjcmlwdHMvS2J1aWxkLmluc3RhbGwKLUBAIC05NSw3ICs5NSw5IEBAIGhlYWRlcjoKLSAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlCi0gCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpbGliCi0gCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpYmluCi0tCSQoUSkkKE1BS0UpIC1DICQoS0xJQkNLRVJORUxTUkMpIEFSQ0g9JChLTElCQ0FSQ0gpIElOU1RBTExfSERSX1BBVEg9JChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKSBoZWFkZXJzX2luc3RhbGwKLSsJJChRKWZvciB4IGluIC4uLy4uLy4uL2luY2x1ZGUvYXNtIC4uLy4uLy4uL2luY2x1ZGUvYXNtLWdlbmVyaWMgLi4vLi4vLi4vaW5jbHVkZS9saW51eCAuLi8uLi8uLi9pbmNsdWRlL210ZDsgZG8gXAotKwkJbG4gLXNmICQke3h9ICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlLyB8fCBleGl0OyBcCi0rCWRvbmUKLSAJJChRKWNwIC1yZiB1c3IvaW5jbHVkZS8uICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlLy4KLSAJJChRKWNobW9kIC1SIGErclgsZ28tdyAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpaW5jbHVkZQotIAkkKFEpJChpbnN0YWxsLWRhdGEpICQoc3JjdHJlZSkva2xjYy9rbGNjLjEgJChJTlNUQUxMUk9PVCkkKG1hbmRpcikvbWFuMS8kKEtDUk9TUylrbGNjLjEKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvc3RhZ2luZy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvc3RhZ2luZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWM3YTY2Mi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L3N0YWdpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNTEgKzAsMCBAQAotRnJvbSAxODkyMDc5YjgyN2NmOGY4MzE2MzA1YjZkNmUwOTg1ZGI4MjQ0MWEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhvbWFzIEt1bnplIDx0aG9tbXljaGVja0BnbXguZGU+Ci1EYXRlOiBTYXQsIDYgQXVnIDIwMTEgMDU6MzA6MTQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0ga2xpYmM6IGluaXRpYWwgY29tbWl0IG9mIHZlcnNpb24gMS41LjI0Ci0KLVBhdGNoIHdhcyBpbXBvcnRlZCBmcm9tIHRoZSBPcGVuRW1iZWRkZWQgZ2l0IHNlcnZlcgotKGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL29wZW5lbWJlZGRlZCkKLWFzIG9mIGNvbW1pdCBpZCBlZWZiOTlhMzEzYmJjYzhmMzRjOGIzMmJmMGM1YWEyZGQyNTgwNzM1Ci1TaWduZWQtb2ZmLWJ5OiBUaG9tYXMgS3VuemUgPHRob21teWNoZWNrQGdteC5kZT4KLQotTWlub3IgZWRpdHMgZm9sbG93aW5nIHVwc3RyZWFtIGNoYW5nZXMKLVNpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KLQotLS0tCi0gc2NyaXB0cy9LYnVpbGQuaW5zdGFsbCAgICB8IDQgLS0tLQotIHVzci9kYXNoL0tidWlsZCAgICAgICAgICAgfCAyIC0tCi0gdXNyL2d6aXAvS2J1aWxkICAgICAgICAgICB8IDIgLS0KLSB1c3Iva2luaXQvS2J1aWxkICAgICAgICAgIHwgMiAtLQotIHVzci9raW5pdC9mc3R5cGUvS2J1aWxkICAgfCAyIC0tCi0gdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZCB8IDIgLS0KLSB1c3Iva2luaXQvbmZzbW91bnQvS2J1aWxkIHwgMiAtLQotIHVzci9raW5pdC9yZXN1bWUvS2J1aWxkICAgfCAyIC0tCi0gdXNyL2tpbml0L3J1bi1pbml0L0tidWlsZCB8IDIgLS0KLSB1c3Iva2xpYmMvS2J1aWxkICAgICAgICAgIHwgMiAtLQotIHVzci91dGlscy9LYnVpbGQgICAgICAgICAgfCAyIC0tCi0gMTEgZmlsZXMgY2hhbmdlZCwgMjQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zY3JpcHRzL0tidWlsZC5pbnN0YWxsIGIvc2NyaXB0cy9LYnVpbGQuaW5zdGFsbAotaW5kZXggZDMyYThhNS4uZmRhNjk5ZCAxMDA2NDQKLS0tLSBhL3NjcmlwdHMvS2J1aWxkLmluc3RhbGwKLSsrKyBiL3NjcmlwdHMvS2J1aWxkLmluc3RhbGwKLUBAIC04OCwxOSArODgsMTUgQEAgZWxzZQotIGhlYWRlcjoKLSAJJChRKWVjaG8gIiAgSU5TVEFMTCBoZWFkZXJzICsgbWFuIHBhZ2VzIHRvICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKSIKLSAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChiaW5kaXIpCi0tCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQobWFuZGlyKS9tYW4xCi0tCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoU0hMSUJESVIpCi0gCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikKLSAJJChRKS1ybSAtcmYgJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKWluY2x1ZGUKLSAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlCi0gCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpbGliCi0tCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpYmluCi0gCSQoUSlmb3IgeCBpbiAuLi8uLi8uLi9pbmNsdWRlL2FzbSAuLi8uLi8uLi9pbmNsdWRlL2FzbS1nZW5lcmljIC4uLy4uLy4uL2luY2x1ZGUvbGludXggLi4vLi4vLi4vaW5jbHVkZS9tdGQ7IGRvIFwKLSAJCWxuIC1zZiAkJHt4fSAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpaW5jbHVkZS8gfHwgZXhpdDsgXAotIAlkb25lCi0gCSQoUSljcCAtcmYgdXNyL2luY2x1ZGUvLiAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpaW5jbHVkZS8uCi0gCSQoUSljaG1vZCAtUiBhK3JYLGdvLXcgJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKWluY2x1ZGUKLS0JJChRKSQoaW5zdGFsbC1kYXRhKSAkKHNyY3RyZWUpL2tsY2Mva2xjYy4xICQoSU5TVEFMTFJPT1QpJChtYW5kaXIpL21hbjEvJChLQ1JPU1Mpa2xjYy4xCi0gCSQoUSkkKGluc3RhbGwtYmluKSAkKG9ianRyZWUpL2tsY2MvJChLQ1JPU1Mpa2xjYyAkKElOU1RBTExST09UKSQoYmluZGlyKQotIAotIGZvb3RlcjogaGVhZGVyCi1kaWZmIC0tZ2l0IGEvdXNyL2Rhc2gvS2J1aWxkIGIvdXNyL2Rhc2gvS2J1aWxkCi1pbmRleCAzYTk4YzFmLi4xYTY5MjBhIDEwMDY0NAotLS0tIGEvdXNyL2Rhc2gvS2J1aWxkCi0rKysgYi91c3IvZGFzaC9LYnVpbGQKLUBAIC05Miw1ICs5MiwzIEBAICQob2JqKS9zeW50YXguYzogJChvYmopL21rc3ludGF4Ci0gJChvYmopL3N5bnRheC5oOiAkKG9iaikvc3ludGF4LmMKLSAJJChRKToKLSAKLS0jIFRhcmdldHMgdG8gaW5zdGFsbAotLWluc3RhbGwteSA6PSBzaC5zaGFyZWQKLWRpZmYgLS1naXQgYS91c3IvZ3ppcC9LYnVpbGQgYi91c3IvZ3ppcC9LYnVpbGQKLWluZGV4IDliYmYwYTQuLmM0OTdkMDIgMTAwNjQ0Ci0tLS0gYS91c3IvZ3ppcC9LYnVpbGQKLSsrKyBiL3Vzci9nemlwL0tidWlsZAotQEAgLTIxLDUgKzIxLDMgQEAgJChvYmopL2d1bnppcCAkKG9iaikvemNhdDogJChvYmopL2d6aXAKLSAjIENsZWFuaW5nCi0gdGFyZ2V0cyA6PSBnemlwIGd6aXAuZyBndW56aXAgemNhdAotIAotLSMgVGFyZ2V0cyB0byBpbnN0YWxsCi0taW5zdGFsbC15IDo9IGd6aXAgZ3VuemlwIHpjYXQKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvS2J1aWxkIGIvdXNyL2tpbml0L0tidWlsZAotaW5kZXggNTMyMDEyNy4uZjdmZGNjZCAxMDA2NDQKLS0tLSBhL3Vzci9raW5pdC9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9LYnVpbGQKLUBAIC0zMyw1ICszMywzIEBAIHRhcmdldHMgKz0ga2luaXQga2luaXQuZyBraW5pdC5zaGFyZWQga2luaXQuc2hhcmVkLmcKLSBzdWJkaXItIDo9IGZzdHlwZSBpcGNvbmZpZyBuZnNtb3VudCByZXN1bWUgcnVuLWluaXQKLSAKLSAKLS0jIGluc3RhbGwgYmluYXJ5Ci0taW5zdGFsbC15IDo9IGtpbml0IGtpbml0LnNoYXJlZAotZGlmZiAtLWdpdCBhL3Vzci9raW5pdC9mc3R5cGUvS2J1aWxkIGIvdXNyL2tpbml0L2ZzdHlwZS9LYnVpbGQKLWluZGV4IDliMjBkYjEuLjM2NzYxMWQgMTAwNjQ0Ci0tLS0gYS91c3Iva2luaXQvZnN0eXBlL0tidWlsZAotKysrIGIvdXNyL2tpbml0L2ZzdHlwZS9LYnVpbGQKLUBAIC0yMSw1ICsyMSwzIEBAIHNoYXJlZC9mc3R5cGUteSA6PSAkKG9ianMpCi0gIyBDbGVhbmluZwotIGNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAotIAotLSMgaW5zdGFsbCBiaW5hcnkKLS1pbnN0YWxsLXkgOj0gJChzaGFyZWQteSkKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvaXBjb25maWcvS2J1aWxkIGIvdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZAotaW5kZXggN2Y4ZDE4MS4uZWIxZDQ3MiAxMDA2NDQKLS0tLSBhL3Vzci9raW5pdC9pcGNvbmZpZy9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9pcGNvbmZpZy9LYnVpbGQKLUBAIC0yNyw1ICsyNywzIEBAIHNoYXJlZC9pcGNvbmZpZy15IDo9ICQob2JqcykKLSAjIENsZWFuaW5nCi0gY2xlYW4tZGlycyA6PSBzdGF0aWMgc2hhcmVkCi0gCi0tIyBpbnN0YWxsIGJpbmFyeQotLWluc3RhbGwteSA6PSAkKHNoYXJlZC15KQotZGlmZiAtLWdpdCBhL3Vzci9raW5pdC9uZnNtb3VudC9LYnVpbGQgYi91c3Iva2luaXQvbmZzbW91bnQvS2J1aWxkCi1pbmRleCA0NjFlNmYzLi5iYTMxNzA4IDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L25mc21vdW50L0tidWlsZAotKysrIGIvdXNyL2tpbml0L25mc21vdW50L0tidWlsZAotQEAgLTIzLDUgKzIzLDMgQEAgZHVtbXlwbWFwLXkgOj0gZHVtbXlwbWFwX3Rlc3QubwotIAotIGNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAotIAotLSMgSW5zdGFsbCBiaW5hcnkKLS1pbnN0YWxsLXkgOj0gJChzaGFyZWQteSkKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvcmVzdW1lL0tidWlsZCBiL3Vzci9raW5pdC9yZXN1bWUvS2J1aWxkCi1pbmRleCAwMzQxOTVkLi5jMTM0MmUxIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L3Jlc3VtZS9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9yZXN1bWUvS2J1aWxkCi1AQCAtMjYsNSArMjYsMyBAQCBzaGFyZWQvcmVzdW1lLWxpYiA6PSAuLi9saWIuYQotICMgQ2xlYW5pbmcKLSBjbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKLSAKLS0jIGluc3RhbGwgYmluYXJ5Ci0taW5zdGFsbC15IDo9ICQoc2hhcmVkLXkpCi1kaWZmIC0tZ2l0IGEvdXNyL2tpbml0L3J1bi1pbml0L0tidWlsZCBiL3Vzci9raW5pdC9ydW4taW5pdC9LYnVpbGQKLWluZGV4IGY3ODMyYjcuLmMxNTNiMGEgMTAwNjQ0Ci0tLS0gYS91c3Iva2luaXQvcnVuLWluaXQvS2J1aWxkCi0rKysgYi91c3Iva2luaXQvcnVuLWluaXQvS2J1aWxkCi1AQCAtMzAsNSArMzAsMyBAQCBzaGFyZWQvcnVuLWluaXQtbGliIDo9IC4uL2xpYi5hCi0gIyBDbGVhbmluZwotIGNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAotIAotLSMgaW5zdGFsbCBiaW5hcnkKLS1pbnN0YWxsLXkgOj0gJChzaGFyZWQteSkKLWRpZmYgLS1naXQgYS91c3Iva2xpYmMvS2J1aWxkIGIvdXNyL2tsaWJjL0tidWlsZAotaW5kZXggZWJhNmFkZC4uOThjYWYyZSAxMDA2NDQKLS0tLSBhL3Vzci9rbGliYy9LYnVpbGQKLSsrKyBiL3Vzci9rbGliYy9LYnVpbGQKLUBAIC0xODUsNSArMTg1LDMgQEAgaW5zdGFsbC1ydWxlOgotIAkgICAgICAgICAgJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0xJQkNDUk9TUylsaWIpKQotIAkkKFEpJChpbnN0YWxsLWxpYikgJChvYmopL2tsaWJjLSQoU09MSUJIQVNIKS5zbyBcCi0gCSAgICAgICAgICAgICAgICAgICAgICAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLTElCQ0NST1NTKWxpYgotLQkkKFEpJChpbnN0YWxsLWxpYikgJChvYmopL2tsaWJjLSQoU09MSUJIQVNIKS5zbyBcCi0tCSAgICAgICAgICAgICAgICAgICAgICAkKElOU1RBTExST09UKSQoU0hMSUJESVIpCi1kaWZmIC0tZ2l0IGEvdXNyL3V0aWxzL0tidWlsZCBiL3Vzci91dGlscy9LYnVpbGQKLWluZGV4IDA1YWE3OTQuLjY3ZDk0ODYgMTAwNjQ0Ci0tLS0gYS91c3IvdXRpbHMvS2J1aWxkCi0rKysgYi91c3IvdXRpbHMvS2J1aWxkCi1AQCAtNzIsNSArNzIsMyBAQCAkKG9iaikvc2hhcmVkL3JlYm9vdCAkKG9iaikvc2hhcmVkL3Bvd2Vyb2ZmOiAkKG9iaikvc2hhcmVkL2hhbHQKLSAjIENsZWFuIGRlbGV0ZXMgdGhlIHN0YXRpYyBhbmQgc2hhcmVkIGRpcgotIGNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAotIAotLSMgaW5zdGFsbCBvbmx5IGluc3RhbGwgdGhlIHNoYXJlZCBiaW5hcmllcwotLWluc3RhbGwteSA6PSAkKHNoYXJlZC15KSBzaGFyZWQvcmVib290IHNoYXJlZC9wb3dlcm9mZgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy1zdGF0aWMtdXRpbHNfMi4wLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXN0YXRpYy11dGlsc18yLjAuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTY3Nzg2My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXN0YXRpYy11dGlsc18yLjAuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVNVTU1BUlkgPSAia2xpYmMgdXRpbHMgZm9yIGluaXRyYW1mcyBzdGF0aWNhbGx5IGNvbXBpbGVkIgotCi1GSUxFU1BBVEggPS4gIiR7RklMRV9ESVJOQU1FfS9rbGliYy0ke1BWfToiCi0KLVBBQ0tBR0VTID0gIiR7UE59IgotRklMRVNfJHtQTn0gPSAiIgotCi1LTElCQ19VVElMU19WQVJJQU5UID0gInN0YXRpYyIKLUtMSUJDX1VUSUxTX1BLR05BTUUgPSAia2xpYmMtc3RhdGljLXV0aWxzIgotCi1yZXF1aXJlIGtsaWJjLXV0aWxzLmluYwotcmVxdWlyZSBrbGliYy5pbmMKLQotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEta2xpYmMtc3RhdGljLXV0aWxzLWRvLW5vdC1idWlsZC1zaGFyZWQtYmluYXJpZXMucGF0Y2giCi0KLSMgYXZvaWQgdGV4dHJlbCBpZiBsaW5raW5nIHdpdGggLXBpZQotU0VDVVJJVFlfQ0ZMQUdTID0gIiIKLVNFQ1VSSVRZX0xERkxBR1MgPSAiIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy1zdGF0aWMtdXRpbHNfMi4wLjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXN0YXRpYy11dGlsc18yLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODM1ZmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy1zdGF0aWMtdXRpbHNfMi4wLjYuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJrbGliYyB1dGlscyBmb3IgaW5pdHJhbWZzIHN0YXRpY2FsbHkgY29tcGlsZWQiCisKK0ZJTEVTUEFUSCA9LiAiJHtGSUxFX0RJUk5BTUV9L2tsaWJjLSR7UFZ9OiIKKworUEFDS0FHRVMgPSAiJHtQTn0iCitGSUxFU18ke1BOfSA9ICIiCisKK0tMSUJDX1VUSUxTX1ZBUklBTlQgPSAic3RhdGljIgorS0xJQkNfVVRJTFNfUEtHTkFNRSA9ICJrbGliYy1zdGF0aWMtdXRpbHMiCisKK3JlcXVpcmUga2xpYmMtdXRpbHMuaW5jCityZXF1aXJlIGtsaWJjLmluYwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy11dGlscy5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzLmluYwppbmRleCAyYWFjOWU2Li4wMGNiODZkIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzLmluYwpAQCAtMiwxMSArMiwxMSBAQAogICAgIGluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9CiAgICAgaW5zdGFsbCAtZCAke0R9JHtiYXNlX3NiaW5kaXJ9CiAgICAgaWYgWyAiJHtLTElCQ19VVElMU19WQVJJQU5UfSIgPSAic2hhcmVkIiBdOyB0aGVuCi0gICAgICAgIGluc3RhbGwgLW0gNzU1IHVzci9raW5pdC9raW5pdC5zaGFyZWQgJHtEfSR7YmFzZV9iaW5kaXJ9L2tpbml0LnNoYXJlZAotICAgICAgICBpbnN0YWxsIC1tIDc1NSB1c3IvZGFzaC9zaC5zaGFyZWQgJHtEfSR7YmFzZV9iaW5kaXJ9L3NoLnNoYXJlZAorICAgICAgICBpbnN0YWxsIC1tIDc1NSB1c3Iva2luaXQvc2hhcmVkL2tpbml0ICR7RH0ke2Jhc2VfYmluZGlyfS9raW5pdC5zaGFyZWQKKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2Rhc2gvc2hhcmVkL3NoICR7RH0ke2Jhc2VfYmluZGlyfS9zaC5zaGFyZWQKICAgICBlbHNlCi0gICAgICAgIGluc3RhbGwgLW0gNzU1IHVzci9kYXNoL3NoICR7RH0ke2Jhc2VfYmluZGlyfS9zaAotICAgICAgICBpbnN0YWxsIC1tIDc1NSB1c3Iva2luaXQva2luaXQgJHtEfSR7YmFzZV9iaW5kaXJ9L2tpbml0CisgICAgICAgIGluc3RhbGwgLW0gNzU1IHVzci9kYXNoL3N0YXRpYy9zaCAke0R9JHtiYXNlX2JpbmRpcn0vc2gKKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2tpbml0L3N0YXRpYy9raW5pdCAke0R9JHtiYXNlX2JpbmRpcn0va2luaXQKICAgICAgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2d6aXAvZ3ppcCAke0R9JHtiYXNlX2JpbmRpcn0KICAgICAgICAgbG4gLXMgZ3ppcCAke0R9JHtiYXNlX2JpbmRpcn0vZ3VuemlwCiAgICAgICAgIGxuIC1zIGd6aXAgJHtEfSR7YmFzZV9iaW5kaXJ9L3pjYXQKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtdXRpbHNfMi4wLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzXzIuMC42LmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzXzIuMC40LmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzXzIuMC42LmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMuaW5jCmluZGV4IGVjNTJlOTcuLjU4MDU0NDggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMuaW5jCkBAIC01LDEyICs1LDEwIEBACiBMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSAmIEdQTC0yLjAgJiBNSVQgJiBabGliIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdXNyL2tsaWJjL0xJQ0VOU0U7bWQ1PWQ3NTE4MWYxMGU5OThjMjFlYjE0N2Y2ZDJlNDNjZThiIgogREVQRU5EUyA9ICJsaW51eC1saWJjLWhlYWRlcnMgcGVybC1uYXRpdmUiCi1TUkNSRVYgPSAiNGQxOTk3NGQ3MDIwNDg4ZjYzNjUxMjQ0ZTFmOWY1MTcyN2MzZjY2YyIKK1NSQ1JFViA9ICIyMmIzNmQxYWUzNDQxNmJjNDg4Njk2MTljYmIwY2NjYjIwNzBmNDhmIgogCiBTUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGlicy9rbGliYy9rbGliYy5naXQgXAogICAgICAgICAgICAke0FSTVBBVENIRVN9IFwKLSAgICAgICAgICAgZmlsZTovL2tsaWJjLWxpbnV4LWxpYmMtZGV2LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3N0YWdpbmcucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8va2xjYy1jb25zaWRlci1zeXNyb290LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2tsY2MtY3Jvc3MtYWNjZXB0LWNsYW5nLW9wdGlvbnMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1kYXNoLVNwZWNpZnktZm9ybWF0LXN0cmluZy1pbi1mbXRzdHIucGF0Y2ggXApAQCAtNDgsOCArNDYsNiBAQAogICAgICAgICAgICAgICAgICdLTElCQ09QVEZMQUdTPSR7VFVORV9DQ0FSR1N9IC1PcycgXAogICAgICAgICAgICAgICAgICBWPTEgXAogICAgICAgICAgICAgICAgICIKLUVYVFJBX09FTUFLRSArPSAiJ0VYVFJBX0tMSUJDQUZMQUdTPSR7U0VDVVJJVFlfQ0ZMQUdTfSAtV2EsLS1ub2V4ZWNzdGFjaycgXAotICAgICAgICAgICAgICAgICAnRVhUUkFfS0xJQkNMREZMQUdTPSR7U0VDVVJJVFlfTERGTEFHU30gLXogbm9leGVjc3RhY2snIgogCiBleHBvcnQgRklYX0FSTVY0X0VBQklfQlggPSAiJHtGSVhfVjRCWH0iCiBLTElCQ1RIVU1CID0gIiR7QFsnQ09ORklHX0tMSUJDX1RIVU1CPW4nLCAnQ09ORklHX0tMSUJDX1RIVU1CPXknXVsoZC5nZXRWYXIoJ0FSTV9JTlNUUlVDVElPTl9TRVQnKSA9PSAndGh1bWInKV19IgpAQCAtNzYsMTAgKzcyLDMgQEAKIEtMSUJDX0FSQ0hfcG93ZXJwYyA9ICJwcGMiCiBLTElCQ19BUkNIX3Bvd2VycGM2NCA9ICJwcGM2NCIKIFRISVNfTElCS0xJQkMgPSAibGlia2xpYmMgKD0gJHtQVn0tJHtQUn0pIgotCi1HQ0NQSUUgPz0gIiIKLVNFQ1VSSVRZX0xERkxBR1MgPSAiJHtAJy16IHJlbHJvIC16IG5vdyAtcGllJyBpZiAnJHtHQ0NQSUV9JyBlbHNlICcnfSIKLVNFQ1VSSVRZX0xERkxBR1NfbWlwcyA9ICIiCi1TRUNVUklUWV9MREZMQUdTX21pcHNlbCA9ICIiCi1TRUNVUklUWV9MREZMQUdTX21pcHM2NCA9ICIiCi1TRUNVUklUWV9MREZMQUdTX21pcHM2NGVsID0gIiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmNfMi4wLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjXzIuMC40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYzgwZjM4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmNfMi4wLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1TVU1NQVJZID0gImtsaWJjLCBhIHNtYWxsIEMgbGlicmFyeSBmb3IgdXNlIHdpdGggaW5pdHJhbWZzIgotCi1kb19pbnN0YWxsKCkgewotICAgIG9lX3J1bm1ha2UgaW5zdGFsbAotICAgICMgdGhlIGNyb3NzY29tcGlsZXIgaXMgcGFja2FnZWQgYnkga2xjYy1jcm9zcwotICAgICMgcmVtb3ZlIGtsY2MKLSAgICBybSAke0R9JHtiaW5kaXJ9L2tsY2MKLSAgICAjIHJlbW92ZSBub3cgZW1wdHkgZGlyCi0gICAgcm1kaXIgJHtEfSR7YmluZGlyfQotICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfQotICAgIGluc3RhbGwgLW0gNzU1IHVzci9rbGliYy9rbGliYy0qLnNvICR7RH0ke2xpYmRpcn0KLSAgICAoY2QgICR7RH0ke2xpYmRpcn07IGxuIC1zIGtsaWJjLSouc28ga2xpYmMuc28pCi19Ci0KLVBBQ0tBR0VTID0gImxpYmtsaWJjIGxpYmtsaWJjLXN0YXRpY2RldiBsaWJrbGliYy1kZXYiCi0KLUZJTEVTX2xpYmtsaWJjID0gIiR7bGliZGlyfS9rbGliYy0qLnNvIgotRklMRVNfbGlia2xpYmMtc3RhdGljZGV2ID0gIiR7bGliZGlyfS9rbGliYy9saWIvbGliYy5hIgotRklMRVNfbGlia2xpYmMtZGV2ID0gIiR7bGliZGlyfS9rbGliYy5zbyBcCi0gICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2tsaWJjL2xpYi8qIFwKLSAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0va2xpYmMvaW5jbHVkZS8qIFwKLSAgICAgICAgICAgICAgICAgICAgICAiCi0KLXJlcXVpcmUga2xpYmMuaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjXzIuMC42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliY18yLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGYwYjBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliY18yLjAuNi5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gImtsaWJjLCBhIHNtYWxsIEMgbGlicmFyeSBmb3IgdXNlIHdpdGggaW5pdHJhbWZzIgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbAorICAgICMgdGhlIGNyb3NzY29tcGlsZXIgaXMgcGFja2FnZWQgYnkga2xjYy1jcm9zcworICAgICMgcmVtb3ZlIGtsY2MKKyAgICBybSAke0R9JHtiaW5kaXJ9L2tsY2MKKyAgICAjIHJlbW92ZSBub3cgZW1wdHkgZGlyCisgICAgcm1kaXIgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci9rbGliYy9rbGliYy0qLnNvICR7RH0ke2xpYmRpcn0KKyAgICAoY2QgICR7RH0ke2xpYmRpcn07IGxuIC1zIGtsaWJjLSouc28ga2xpYmMuc28pCisgICAgcm0gLXJmICR7RH0ke2V4ZWNfcHJlZml4fS9tYW4KKyAgICBybSAtcmYgJHtEfSR7bGliZGlyfS9rbGliYy9iaW4KK30KKworUEFDS0FHRVMgPSAibGlia2xpYmMgbGlia2xpYmMtc3RhdGljZGV2IGxpYmtsaWJjLWRldiIKKworRklMRVNfbGlia2xpYmMgPSAiJHtsaWJkaXJ9L2tsaWJjLSouc28iCitGSUxFU19saWJrbGliYy1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2tsaWJjL2xpYi9saWJjLmEiCitGSUxFU19saWJrbGliYy1kZXYgPSAiJHtsaWJkaXJ9L2tsaWJjLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0va2xpYmMvbGliLyogXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9rbGliYy9pbmNsdWRlLyogXAorICAgICAgICAgICAgICAgICAgICAgICIKKworcmVxdWlyZSBrbGliYy5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLzE0MC1taXBzX2Rpc2FibGVfZGV2aWNldHJlZV9zdXBwb3J0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMvMTQwLW1pcHNfZGlzYWJsZV9kZXZpY2V0cmVlX3N1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNlZjNjOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLzE0MC1taXBzX2Rpc2FibGVfZGV2aWNldHJlZV9zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMTYzIEBACitGcm9tIDVlYTdjZDc4Y2QyNTJmZmQzYTlmM2ZiYzhkYzc5NWQ2ZTE1OTYwODQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDE3IERlYyAyMDE4IDExOjI1OjIwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGtleGVjLXRvb2xzOiBmaXggbm9uLWRldmljZSB0cmVlIGRldmljZXMgb24gbWlwcworCitBZGQgYWRkaXRpb25hbCBhcmd1bWVudCAnLS1uby1kdGInIHdoaWNoIGRpc2FibGVzIGRldmljZSB0cmVlCitzZWFyY2ggaW4gY3VycmVudGx5IGxvYWRlZCBrZXJuZWwuCisKK1Rha2VuIGZyb20gTEVERS1ERVY6CitodHRwczovL3BhdGNod29yay5vemxhYnMub3JnL3BhdGNoLzg1Mjk2MS8KKworUmViYXNlZCBmb3Iga2V4ZWMtdG9vbHMgMi4wLjE4CitSZW1vdmVkIHBwYyBjaGFuZ2UgKHVud2FudGVkID8pCisKK1NpZ25lZC1vZmYtYnk6IEtvbnN0YW50aW4gS3V6b3YgPG1hc3Rlci5ub3NmZXJhdHVAZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorLS0tCisga2V4ZWMvYXJjaC9taXBzL2luY2x1ZGUvYXJjaC9vcHRpb25zLmggfCAgNCArLQorIGtleGVjL2FyY2gvbWlwcy9rZXhlYy1lbGYtbWlwcy5jICAgICAgIHwgNTggKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KKyBrZXhlYy9hcmNoL21pcHMva2V4ZWMtbWlwcy5jICAgICAgICAgICB8ICA0ICsrCisga2V4ZWMvYXJjaC9taXBzL2tleGVjLW1pcHMuaCAgICAgICAgICAgfCAgMSArCisgNCBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2tleGVjL2FyY2gvbWlwcy9pbmNsdWRlL2FyY2gvb3B0aW9ucy5oIGIva2V4ZWMvYXJjaC9taXBzL2luY2x1ZGUvYXJjaC9vcHRpb25zLmgKK2luZGV4IDQxNmUyMjQuLjE4ZDI4MTEgMTAwNjQ0CistLS0gYS9rZXhlYy9hcmNoL21pcHMvaW5jbHVkZS9hcmNoL29wdGlvbnMuaAorKysrIGIva2V4ZWMvYXJjaC9taXBzL2luY2x1ZGUvYXJjaC9vcHRpb25zLmgKK0BAIC01LDYgKzUsNyBAQAorICNkZWZpbmUgT1BUX0FQUEVORAkoT1BUX0FSQ0hfTUFYKzApCisgI2RlZmluZSBPUFRfRFRCCQkoT1BUX0FSQ0hfTUFYKzEpCisgI2RlZmluZSBPUFRfUkFNRElTSwkoT1BUX0FSQ0hfTUFYKzIpCisrI2RlZmluZSBPUFRfTk9fRFRCCShPUFRfQVJDSF9NQVgrMykKKyAKKyAvKiBPcHRpb25zIHJlbGV2YW50IHRvIHRoZSBhcmNoaXRlY3R1cmUgKGV4Y2x1ZGluZyBsb2FkZXItc3BlY2lmaWMgb25lcyksCisgICogaW4gdGhpcyBjYXNlIG5vbmU6CitAQCAtMTQsNyArMTUsOCBAQAorIAl7ImNvbW1hbmQtbGluZSIsIDEsIDAsIE9QVF9BUFBFTkR9LCBcCisgCXsiYXBwZW5kIiwJIDEsIDAsIE9QVF9BUFBFTkR9LCBcCisgCXsiZHRiIiwJCTEsIDAsIE9QVF9EVEIgfSwgXAorLQl7ImluaXRyZCIsCTEsIDAsIE9QVF9SQU1ESVNLIH0sCisrCXsiaW5pdHJkIiwJMSwgMCwgT1BUX1JBTURJU0sgfSwgXAorKwl7Im5vLWR0YiIsCTAsIDAsIE9QVF9OT19EVEIgfSwKKyAKKyAKKyAjZGVmaW5lIEtFWEVDX0FSQ0hfT1BUX1NUUiBLRVhFQ19PUFRfU1RSICIiCitkaWZmIC0tZ2l0IGEva2V4ZWMvYXJjaC9taXBzL2tleGVjLWVsZi1taXBzLmMgYi9rZXhlYy9hcmNoL21pcHMva2V4ZWMtZWxmLW1pcHMuYworaW5kZXggODQ5YTdiYS4uNWMwZTUzNSAxMDA2NDQKKy0tLSBhL2tleGVjL2FyY2gvbWlwcy9rZXhlYy1lbGYtbWlwcy5jCisrKysgYi9rZXhlYy9hcmNoL21pcHMva2V4ZWMtZWxmLW1pcHMuYworQEAgLTE0MSwzNSArMTQxLDM3IEBAIGludCBlbGZfbWlwc19sb2FkKGludCBhcmdjLCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqYnVmLCBvZmZfdCBsZW4sCisgCWVsc2UKKyAJCWNtZGxpbmVfYWRkciA9IDA7CisgCistCS8qIE1JUFMgc3lzdGVtcyB0aGF0IGhhdmUgYmVlbiBjb252ZXJ0ZWQgdG8gdXNlIGRldmljZSB0cmVlCistCSAqIHBhc3NlZCB0aHJvdWdoIFVISSB3aWxsIHVzZSBjb21tYW5kbGluZSBpbiB0aGUgRFRCIGFuZAorLQkgKiB0aGUgRFRCIHBhc3NlZCBhcyBhIHNlcGFyYXRlIGJ1ZmZlci4gTm90ZSB0aGF0CistCSAqIENNRExJTkVfUFJFRklYIGlzIHNraXBwZWQgaGVyZSBpbnRlbnRpb25hbGx5LCBhcyBpdCBpcworLQkgKiB1c2VkIG9ubHkgaW4gdGhlIGxlZ2FjeSBtZXRob2QgKi8KKy0KKy0JaWYgKGFyY2hfb3B0aW9ucy5kdGJfZmlsZSkgeworLQkJZHRiX2J1ZiA9IHNsdXJwX2ZpbGUoYXJjaF9vcHRpb25zLmR0Yl9maWxlLCAmZHRiX2xlbmd0aCk7CistCX0gZWxzZSB7CistCQljcmVhdGVfZmxhdHRlbl90cmVlKCZkdGJfYnVmLCAmZHRiX2xlbmd0aCwgY21kbGluZV9idWYgKyBzdHJsZW4oQ01ETElORV9QUkVGSVgpKTsKKy0JfQorIAorLQlpZiAoYXJjaF9vcHRpb25zLmluaXRyZF9maWxlKSB7CistCQlpbml0cmRfYnVmID0gc2x1cnBfZmlsZShhcmNoX29wdGlvbnMuaW5pdHJkX2ZpbGUsICZpbml0cmRfc2l6ZSk7CisrCWlmICghYXJjaF9vcHRpb25zLm5vX2R0YikgeworKwkJLyogTUlQUyBzeXN0ZW1zIHRoYXQgaGF2ZSBiZWVuIGNvbnZlcnRlZCB0byB1c2UgZGV2aWNlIHRyZWUKKysJCSAqIHBhc3NlZCB0aHJvdWdoIFVISSB3aWxsIHVzZSBjb21tYW5kbGluZSBpbiB0aGUgRFRCIGFuZAorKwkJICogdGhlIERUQiBwYXNzZWQgYXMgYSBzZXBhcmF0ZSBidWZmZXIuIE5vdGUgdGhhdAorKwkJICogQ01ETElORV9QUkVGSVggaXMgc2tpcHBlZCBoZXJlIGludGVudGlvbmFsbHksIGFzIGl0IGlzCisrCQkgKiB1c2VkIG9ubHkgaW4gdGhlIGxlZ2FjeSBtZXRob2QgKi8KKysKKysJCWlmIChhcmNoX29wdGlvbnMuZHRiX2ZpbGUpIHsKKysJCQlkdGJfYnVmID0gc2x1cnBfZmlsZShhcmNoX29wdGlvbnMuZHRiX2ZpbGUsICZkdGJfbGVuZ3RoKTsKKysJCX0gZWxzZSB7CisrCQkJY3JlYXRlX2ZsYXR0ZW5fdHJlZSgmZHRiX2J1ZiwgJmR0Yl9sZW5ndGgsIGNtZGxpbmVfYnVmICsgc3RybGVuKENNRExJTkVfUFJFRklYKSk7CisrCQl9CisgCistCQkvKiBDcmVhdGUgaW5pdHJkIGVudHJpZXMgaW4gZHRiIC0gYWx0aG91Z2ggYXQgdGhpcyB0aW1lCistCQkgKiB0aGV5IHdvdWxkIG5vdCBwb2ludCB0byB0aGUgY29ycmVjdCBsb2NhdGlvbiAqLworLQkJZHRiX3NldF9pbml0cmQoJmR0Yl9idWYsICZkdGJfbGVuZ3RoLCBpbml0cmRfYnVmLCBpbml0cmRfYnVmICsgaW5pdHJkX3NpemUpOworKwkJaWYgKGFyY2hfb3B0aW9ucy5pbml0cmRfZmlsZSkgeworKwkJCWluaXRyZF9idWYgPSBzbHVycF9maWxlKGFyY2hfb3B0aW9ucy5pbml0cmRfZmlsZSwgJmluaXRyZF9zaXplKTsKKyAKKy0JCWluaXRyZF9iYXNlID0gYWRkX2J1ZmZlcihpbmZvLCBpbml0cmRfYnVmLCBpbml0cmRfc2l6ZSwKKy0JCQkJCWluaXRyZF9zaXplLCBzaXplb2Yodm9pZCAqKSwKKy0JCQkJCV9BTElHTl9VUChrZXJuZWxfYWRkciArIGtlcm5lbF9zaXplICsgZHRiX2xlbmd0aCwKKy0JCQkJCQlwYWdlc2l6ZSksIDB4MGZmZmZmZmYsIDEpOworKwkJCS8qIENyZWF0ZSBpbml0cmQgZW50cmllcyBpbiBkdGIgLSBhbHRob3VnaCBhdCB0aGlzIHRpbWUKKysJCQkgKiB0aGV5IHdvdWxkIG5vdCBwb2ludCB0byB0aGUgY29ycmVjdCBsb2NhdGlvbiAqLworKwkJCWR0Yl9zZXRfaW5pdHJkKCZkdGJfYnVmLCAmZHRiX2xlbmd0aCwgaW5pdHJkX2J1ZiwgaW5pdHJkX2J1ZiArIGluaXRyZF9zaXplKTsKKyAKKy0JCS8qIE5vdyB0aGF0IHRoZSBidWZmZXIgZm9yIGluaXRyZCBpcyBwcmVwYXJlZCwgdXBkYXRlIHRoZSBkdGIKKy0JCSAqIHdpdGggYW4gYXBwcm9wcmlhdGUgbG9jYXRpb24gKi8KKy0JCWR0Yl9zZXRfaW5pdHJkKCZkdGJfYnVmLCAmZHRiX2xlbmd0aCwgaW5pdHJkX2Jhc2UsIGluaXRyZF9iYXNlICsgaW5pdHJkX3NpemUpOworLQl9CisrCQkJaW5pdHJkX2Jhc2UgPSBhZGRfYnVmZmVyKGluZm8sIGluaXRyZF9idWYsIGluaXRyZF9zaXplLAorKwkJCQkJCWluaXRyZF9zaXplLCBzaXplb2Yodm9pZCAqKSwKKysJCQkJCQlfQUxJR05fVVAoa2VybmVsX2FkZHIgKyBrZXJuZWxfc2l6ZSArIGR0Yl9sZW5ndGgsCisrCQkJCQkJCXBhZ2VzaXplKSwgMHgwZmZmZmZmZiwgMSk7CisgCisrCQkJLyogTm93IHRoYXQgdGhlIGJ1ZmZlciBmb3IgaW5pdHJkIGlzIHByZXBhcmVkLCB1cGRhdGUgdGhlIGR0YgorKwkJCSAqIHdpdGggYW4gYXBwcm9wcmlhdGUgbG9jYXRpb24gKi8KKysJCQlkdGJfc2V0X2luaXRyZCgmZHRiX2J1ZiwgJmR0Yl9sZW5ndGgsIGluaXRyZF9iYXNlLCBpbml0cmRfYmFzZSArIGluaXRyZF9zaXplKTsKKysJCX0KKysJfQorIAorIAkvKiBUaGlzIGlzIGEgbGVnYWN5IG1ldGhvZCBmb3IgY29tbWFuZGxpbmUgcGFzc2luZyB1c2VkCisgCSAqIGN1cnJlbnRseSBieSBPY3Rlb24gQ1BVcyBvbmx5ICovCitAQCAtMTc3LDkgKzE3OSwxMSBAQCBpbnQgZWxmX21pcHNfbG9hZChpbnQgYXJnYywgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKmJ1Ziwgb2ZmX3QgbGVuLAorIAkJCXNpemVvZihjbWRsaW5lX2J1ZiksIHNpemVvZih2b2lkICopLAorIAkJCWNtZGxpbmVfYWRkciwgMHgwZmZmZmZmZiwgMSk7CisgCistCWFkZF9idWZmZXIoaW5mbywgZHRiX2J1ZiwgZHRiX2xlbmd0aCwgZHRiX2xlbmd0aCwgMCwKKy0JCV9BTElHTl9VUChrZXJuZWxfYWRkciArIGtlcm5lbF9zaXplLCBwYWdlc2l6ZSksCistCQkweDBmZmZmZmZmLCAxKTsKKysJaWYgKCFhcmNoX29wdGlvbnMubm9fZHRiKSB7CisrCQlhZGRfYnVmZmVyKGluZm8sIGR0Yl9idWYsIGR0Yl9sZW5ndGgsIGR0Yl9sZW5ndGgsIDAsCisrCQkJX0FMSUdOX1VQKGtlcm5lbF9hZGRyICsga2VybmVsX3NpemUsIHBhZ2VzaXplKSwKKysJCQkweDBmZmZmZmZmLCAxKTsKKysJfQorIAorIAlyZXR1cm4gMDsKKyB9CitkaWZmIC0tZ2l0IGEva2V4ZWMvYXJjaC9taXBzL2tleGVjLW1pcHMuYyBiL2tleGVjL2FyY2gvbWlwcy9rZXhlYy1taXBzLmMKK2luZGV4IDQxNWMyZWQuLmU1NTdmOGIgMTAwNjQ0CistLS0gYS9rZXhlYy9hcmNoL21pcHMva2V4ZWMtbWlwcy5jCisrKysgYi9rZXhlYy9hcmNoL21pcHMva2V4ZWMtbWlwcy5jCitAQCAtODksNiArODksNyBAQCB2b2lkIGFyY2hfdXNhZ2Uodm9pZCkKKyAJIiAgICAtLWFwcGVuZD1TVFJJTkcgICAgICAgU2V0IHRoZSBrZXJuZWwgY29tbWFuZCBsaW5lIHRvIFNUUklORy5cbiIKKyAJIiAgICAtLWR0Yj1GSUxFICAgICAgICAgICAgVXNlIEZJTEUgYXMgdGhlIGRldmljZSB0cmVlIGJsb2IuXG4iCisgCSIgICAgLS1pbml0cmQ9RklMRSAgICAgICAgIFVzZSBGSUxFIGFzIGluaXRpYWwgcmFtZGlzay5cbiIKKysJIiAgICAtLW5vLWR0YiAgICAgICAgICAgICAgRG9uJ3QgdHJ5IHRvIGZpbmQgZGV2aWNlIHRyZWVcbiIKKyAJKTsKKyB9CisgCitAQCAtMTIxLDYgKzEyMiw5IEBAIGludCBhcmNoX3Byb2Nlc3Nfb3B0aW9ucyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCQljYXNlIE9QVF9SQU1ESVNLOgorIAkJCWFyY2hfb3B0aW9ucy5pbml0cmRfZmlsZSA9IG9wdGFyZzsKKyAJCQlicmVhazsKKysJCWNhc2UgT1BUX05PX0RUQjoKKysJCQlhcmNoX29wdGlvbnMubm9fZHRiID0gMTsKKysJCQlicmVhazsKKyAJCWRlZmF1bHQ6CisgCQkJYnJlYWs7CisgCQl9CitkaWZmIC0tZ2l0IGEva2V4ZWMvYXJjaC9taXBzL2tleGVjLW1pcHMuaCBiL2tleGVjL2FyY2gvbWlwcy9rZXhlYy1taXBzLmgKK2luZGV4IDIyMmM4MTUuLjkwYjIxYzMgMTAwNjQ0CistLS0gYS9rZXhlYy9hcmNoL21pcHMva2V4ZWMtbWlwcy5oCisrKysgYi9rZXhlYy9hcmNoL21pcHMva2V4ZWMtbWlwcy5oCitAQCAtMjIsNiArMjIsNyBAQCBzdHJ1Y3QgYXJjaF9vcHRpb25zX3QgeworIAljaGFyICpkdGJfZmlsZTsKKyAJY2hhciAqaW5pdHJkX2ZpbGU7CisgCWludCBjb3JlX2hlYWRlcl90eXBlOworKwlpbnQgbm9fZHRiOworIH07CisgCisgZXh0ZXJuIHN0cnVjdCBtZW1vcnlfcmFuZ2VzIHVzYWJsZW1lbV9yZ25zOworLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMva2xpYmMtcmVib290LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMva2xpYmMtcmVib290LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlMTMwMWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy9rbGliYy1yZWJvb3QucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGEva2V4ZWMva2V4ZWMuYworKysrIGIva2V4ZWMva2V4ZWMuYworQEAgLTkwMSw3ICs5MDEsNyBAQCBzdGF0aWMgaW50IG15X2V4ZWModm9pZCkKKyAJaWYgKHhlbl9wcmVzZW50KCkpCisgCQl4ZW5fa2V4ZWNfZXhlYygpOworIAllbHNlCistCQlyZWJvb3QoTElOVVhfUkVCT09UX0NNRF9LRVhFQyk7CisrCQlyZWJvb3QoTElOVVhfUkVCT09UX0NNRF9LRVhFQywgTlVMTCk7CisgCS8qIEkgaGF2ZSBmYWlsZWQgaWYgSSBtYWtlIGl0IGhlcmUgKi8KKyAJZnByaW50ZihzdGRlcnIsICJrZXhlYyBmYWlsZWQ6ICVzXG4iLCAKKyAJCXN0cmVycm9yKGVycm5vKSk7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliY19naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliY19naXQuYmIKaW5kZXggY2MxYzU1MS4uN2FkNTVkOCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmNfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjX2dpdC5iYgpAQCAtNiwxNCArNiwxNCBAQAogTElDRU5TRSA9ICJHUEx2MiIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVhNWJlZDJmNjBkMzU3NjE4Y2ExNjFhZDUzOWY3YzBhIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2tleGVjL2tleGVjLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9YWYxMGY2YWU0YTg3MTU5NjVlNjQ4YWE2ODdhZDNlMDkiCi1QViA9ICIyLjAuMTcrZ2l0JHtTUkNQVn0iCitQViA9ICIyLjAuMTgrZ2l0JHtTUkNQVn0iCiAKIERFUEVORFMgPSAiemxpYiB4eiIKIAogaW5oZXJpdCBrbGliYyBhdXRvdG9vbHMKIAogU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL3V0aWxzL2tlcm5lbC9rZXhlYy9rZXhlYy10b29scy5naXQiCi1TUkNSRVYgPSAiYjlkZTIxZWY1MWE3Y2VhYjcxMjJhNzA3YzE4ODYwMmVhZTIyYzRlZSIKK1NSQ1JFViA9ICI1NzUwOTgwY2RiYmMzM2VmNzViZmJhNjY2MDI5NWI5MzIzNzZjZTE1IgogCiBCVUlMRF9QQVRDSEVTID0gImZpbGU6Ly8wMDAxLWZvcmNlLXN0YXRpYy1idWlsZC5wYXRjaCBcCiAgICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAyLUFkanVzdC10aGUtb3JkZXItb2YtaGVhZGVycy10by1maXgtYnVpbGQtZm9yLW11c2wucGF0Y2giCkBAIC0zMSw3ICszMSw4IEBACiAgICAgICAgICAgICBmaWxlOi8vMDAxMi1wdXJnYXRvcnktc3RyaW5nLmMtYXZvaWQtaW5jbHVzaW9uLW9mLXN0cmluZy5oLnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly8wMDEzLXNoYTI1Ni5oLWF2b2lkLWluY2x1c2lvbi1vZi1zeXMtdHlwZXMuaC5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vMDAxNC1hZGQtaWZfbmFtZWluZGV4LWZyb20tbXVzbC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAxNS12bWNvcmUtZG1lc2ctZml4LXdhcm5pbmcucGF0Y2giCisgICAgICAgICAgICBmaWxlOi8vMDAxNS12bWNvcmUtZG1lc2ctZml4LXdhcm5pbmcucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2tsaWJjLXJlYm9vdC5wYXRjaCIKIAogV0FSTklOR19GSVhFUyA9ICIiCiBGUk9NX09FX0NPUkUgPSAiZmlsZTovL2FybV9jcmFzaGR1bXAtZml4LWJ1ZmZlci1hbGlnbi5wYXRjaCBcCkBAIC00Miw2ICs0Myw5IEBACiAKIFNSQ19VUklfYXBwZW5kX2FybSA9ICIgZmlsZTovL2FybV9jcmFzaGR1bXAucGF0Y2giCiAKK1NSQ19VUklfYXBwZW5kX21pcHMgPSAiIGZpbGU6Ly8xNDAtbWlwc19kaXNhYmxlX2RldmljZXRyZWVfc3VwcG9ydC5wYXRjaCIKK1NSQ19VUklfYXBwZW5kX21pcHNlbCA9ICIgZmlsZTovLzE0MC1taXBzX2Rpc2FibGVfZGV2aWNldHJlZV9zdXBwb3J0LnBhdGNoIgorCiBTUkNfVVJJX2FwcGVuZF94ODYgPSAiIGZpbGU6Ly94ODZfc3lzX2lvLnBhdGNoIGZpbGU6Ly94ODZfYmFzZW5hbWUucGF0Y2ggXAogICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8veDg2X3Zmc2NhbmYucGF0Y2ggZmlsZTovL3g4Nl9rZXhlY190ZXN0LnBhdGNoIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvUkVBRE1FIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL1JFQURNRQppbmRleCAwNTAzOTJkLi4yMGY0ZmI4IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvUkVBRE1FCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9SRUFETUUKQEAgLTEsMTkgKzEsMTkgQEAKIFRoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAotYnJhbmNoOiB0aHVkCiticmFuY2g6IG1hc3RlcgogcmV2aXNpb246IEhFQUQKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLmdpdAogbGF5ZXJzOiBtZXRhLW9lCi1icmFuY2g6IHRodWQKK2JyYW5jaDogbWFzdGVyCiByZXZpc2lvbjogSEVBRAogCi1TZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEtbXVsdGltZWRpYV1bdGh1ZF0nIGluIHRoZSBzdWJqZWN0JworU2VuZCBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdpdGggJ1ttZXRhLW11bHRpbWVkaWFdJyBpbiB0aGUgc3ViamVjdCcKIAogV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNlIHNvbWV0aGluZyBsaWtlOgotJ2dpdCBzZW5kLWVtYWlsIC1NIC0xIC0tdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgLS1zdWJqZWN0LXByZWZpeD1tZXRhLW11bHRpbWVkaWFdW3RodWRdW1BBVENICisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtbXVsdGltZWRpYV1bUEFUQ0gKIAogWW91IGFyZSBlbmNvdXJhZ2VkIHRvIGZvcmsgdGhlIG1pcnJvciBvbiBnaXRodWIgaHR0cHM6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLyB0byBzaGFyZSB5b3VyIHBhdGNoZXMsIHRoaXMgaXMgcHJlZmVycmVkIGZvciBwYXRjaCBzZXRzIGNvbnNpc3Rpbmcgb2YgbW9yZSB0aGFuIG9uZSBwYXRjaC4gT3RoZXIgc2VydmljZXMgbGlrZSBnaXRvcmlvdXMsIHJlcG8ub3IuY3ogb3Igc2VsZiBob3N0ZWQgc2V0dXBzIGFyZSBvZiBjb3Vyc2UgYWNjZXB0ZWQgYXMgd2VsbCwgJ2dpdCBmZXRjaCA8cmVtb3RlPicgd29ya3MgdGhlIHNhbWUgb24gYWxsIG9mIHRoZW0uIFdlIHJlY29tbWVuZCBnaXRodWIgYmVjYXVzZSBpdCBpcyBmcmVlLCBlYXN5IHRvIHVzZSwgaGFzIGJlZW4gcHJvdmVuIHRvIGJlIHJlbGlhYmxlIGFuZCBoYXMgYSByZWFsbHkgZ29vZCB3ZWIgR1VJLgogCi1UaHVkIG1haW50YWluZXI6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitMYXllciBtYWludGFpbmVyOiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvY29uZi9sYXllci5jb25mIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2NvbmYvbGF5ZXIuY29uZgppbmRleCBlMmE3NzAxLi5lMDVhNjUyIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9jb25mL2xheWVyLmNvbmYKQEAgLTE3LDYgKzE3LDggQEAKIEJCRklMRV9DT0xMRUNUSU9OUyArPSAibXVsdGltZWRpYS1sYXllciIKIEJCRklMRV9QQVRURVJOX211bHRpbWVkaWEtbGF5ZXIgOj0gIl4ke0xBWUVSRElSfS8iCiAKK0xJQ0VOU0VfUEFUSCArPSAiJHtMQVlFUkRJUn0vbGljZW5zZXMiCisKICMgRGVmaW5lIHRoZSBwcmlvcml0eSBmb3IgcmVjaXBlcyAoLmJiIGZpbGVzKSBmcm9tIHRoaXMgbGF5ZXIsCiAjIGNob29zaW5nIGNhcmVmdWxseSBob3cgdGhpcyBsYXllciBpbnRlcmFjdHMgd2l0aCBhbGwgb2YgdGhlCiAjIG90aGVyIGxheWVycy4KQEAgLTI5LDQgKzMxLDQgQEAKIAogTEFZRVJERVBFTkRTX211bHRpbWVkaWEtbGF5ZXIgPSAiY29yZSIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX211bHRpbWVkaWEtbGF5ZXIgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9tdWx0aW1lZGlhLWxheWVyID0gInRodWQgd2FycmlvciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9saWNlbnNlcy9CZWxsQmlyZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9saWNlbnNlcy9CZWxsQmlyZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzVjMDNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2xpY2Vuc2VzL0JlbGxCaXJkCkBAIC0wLDAgKzEsMjUgQEAKKyhjKSBDb3B5cmlnaHQgdGhlIGF1dGhvcnMgb2YgQmVsbGJpcmQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byB1c2UgYW5kIGRpc3RyaWJ1dGUgIAordGhpcyBzb2Z0d2FyZSBhbmQgaXRzIGRvY3VtZW50YXRpb24gd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nICAgCit3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsICAKK2Rpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGlzIHdvcmssIGFuZCB0byAgICAgIAorcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGlzIHdvcmsgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvICAgCit0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAxLiBUaGUgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mICAgIAorICAgIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gICAgICAgICAgICAgICAgICAgICAgICAgCisgMi4gQW55IG1vZGlmaWNhdGlvbnMgbXVzdCBiZSBjbGVhcmx5IG1hcmtlZCBhcyBzdWNoLiAgICAgICAgICAgICAgICAKKyAzLiBPcmlnaW5hbCBhdXRob3JzJyBuYW1lcyBhcmUgbm90IGRlbGV0ZWQuICAgICAgICAgICAgICAgICAgICAgICAgIAorIDQuIFRoZSBhdXRob3JzJyBuYW1lcyBhcmUgbm90IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzICAgCisgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuICAgICAgICAKKyAgICBwZXJtaXNzaW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitUSEUgQ09OVFJJQlVUT1JTIFRPIFRISVMgV09SSyAgICAgICAgIAorRElTQ0xBSU0gQUxMIFdBUlJBTlRJRVMgV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSwgSU5DTFVESU5HICAgICAgCitBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUywgSU4gTk8gRVZFTlQgICAKK1NIQUxMIFRIRSBDT05UUklCVVRPUlMgQkUgTElBQkxFICAgICAgCitGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyAgICAKK1dIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiAgIAorQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgICAgICAgICAgCitBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiAgICAgICAKK1RISVMgU09GVFdBUkUuIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2xpY2Vuc2VzL0NNVS1UZXggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvbGljZW5zZXMvQ01VLVRleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTEyMjI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2xpY2Vuc2VzL0NNVS1UZXgKQEAgLTAsMCArMSwyMCBAQAorQ29weXJpZ2h0IChDKSAyMDAxLTIwMTQgQ2FybmVnaWUgTWVsbG9uIFVuaXZlcnNpdHkKKworUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIG1ha2UgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mCit0aGlzIG1hbnVhbCBwcm92aWRlZCB0aGUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZQorYXJlIHByZXNlcnZlZCBvbiBhbGwgY29waWVzLgorCitQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gcHJvY2VzcyB0aGlzIGZpbGUgdGhyb3VnaCBUZVgsIG9yIG90aGVyd2lzZSBhbmQKK3ByaW50IHRoZSByZXN1bHRzLCBwcm92aWRlZCB0aGUgcHJpbnRlZCBkb2N1bWVudCBjYXJyaWVzIGNvcHlpbmcKK3Blcm1pc3Npb24gbm90aWNlIGlkZW50aWNhbCB0byB0aGlzIG9uZSBleGNlcHQgZm9yIHRoZSByZW1vdmFsIG9mIHRoaXMKK3BhcmFncmFwaCAodGhpcyBwYXJhZ3JhcGggbm90IGJlaW5nIHJlbGV2YW50IHRvIHRoZSBwcmludGVkIG1hbnVhbCkuCisKK1Blcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIG1vZGlmaWVkIHZlcnNpb25zIG9mIHRoaXMKK21hbnVhbCB1bmRlciB0aGUgY29uZGl0aW9ucyBmb3IgdmVyYmF0aW0gY29weWluZywgcHJvdmlkZWQgdGhhdCB0aGUgZW50aXJlCityZXN1bHRpbmcgZGVyaXZlZCB3b3JrIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBhIHBlcm1pc3Npb24KK25vdGljZSBpZGVudGljYWwgdG8gdGhpcyBvbmUuCisKK1Blcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHRyYW5zbGF0aW9ucyBvZiB0aGlzIG1hbnVhbAoraW50byBhbm90aGVyIGxhbmd1YWdlLCB1bmRlciB0aGUgYWJvdmUgY29uZGl0aW9ucyBmb3IgbW9kaWZpZWQgdmVyc2lvbnMsCitleGNlcHQgdGhhdCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIG1heSBiZSBzdGF0ZWQgaW4gYSB0cmFuc2xhdGlvbiBhcHByb3ZlZAorYnkgdGhlIGF1dGhvcnMuCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvbGljZW5zZXMvU3VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2xpY2Vuc2VzL1N1bgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTI1YTE2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2xpY2Vuc2VzL1N1bgpAQCAtMCwwICsxLDIzIEBACitUaGlzIHNvdXJjZSBjb2RlIGlzIGEgcHJvZHVjdCBvZiBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIGFuZCBpcyBwcm92aWRlZAorZm9yIHVucmVzdHJpY3RlZCB1c2UuICBVc2VycyBtYXkgY29weSBvciBtb2RpZnkgdGhpcyBzb3VyY2UgY29kZSB3aXRob3V0CitjaGFyZ2UuCisKK1NVTiBTT1VSQ0UgQ09ERSBJUyBQUk9WSURFRCBBUyBJUyBXSVRIIE5PIFdBUlJBTlRJRVMgT0YgQU5ZIEtJTkQgSU5DTFVESU5HCitUSEUgV0FSUkFOVElFUyBPRiBERVNJR04sIE1FUkNIQU5USUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCitQVVJQT1NFLCBPUiBBUklTSU5HIEZST00gQSBDT1VSU0UgT0YgREVBTElORywgVVNBR0UgT1IgVFJBREUgUFJBQ1RJQ0UuCisKK1N1biBzb3VyY2UgY29kZSBpcyBwcm92aWRlZCB3aXRoIG5vIHN1cHBvcnQgYW5kIHdpdGhvdXQgYW55IG9ibGlnYXRpb24gb24KK3RoZSBwYXJ0IG9mIFN1biBNaWNyb3N5c3RlbXMsIEluYy4gdG8gYXNzaXN0IGluIGl0cyB1c2UsIGNvcnJlY3Rpb24sCittb2RpZmljYXRpb24gb3IgZW5oYW5jZW1lbnQuCisKK1NVTiBNSUNST1NZU1RFTVMsIElOQy4gU0hBTEwgSEFWRSBOTyBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRQorSU5GUklOR0VNRU5UIE9GIENPUFlSSUdIVFMsIFRSQURFIFNFQ1JFVFMgT1IgQU5ZIFBBVEVOVFMgQlkgVEhJUyBTT0ZUV0FSRQorT1IgQU5ZIFBBUlQgVEhFUkVPRi4KKworSW4gbm8gZXZlbnQgd2lsbCBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIGJlIGxpYWJsZSBmb3IgYW55IGxvc3QgcmV2ZW51ZQorb3IgcHJvZml0cyBvciBvdGhlciBzcGVjaWFsLCBpbmRpcmVjdCBhbmQgY29uc2VxdWVudGlhbCBkYW1hZ2VzLCBldmVuIGlmCitTdW4gaGFzIGJlZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2VzLgorCitTdW4gTWljcm9zeXN0ZW1zLCBJbmMuCisyNTUwIEdhcmNpYSBBdmVudWUKK01vdW50YWluIFZpZXcsIENhbGlmb3JuaWEgIDk0MDQzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXBucC9saWJ1cG5wX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1cG5wL2xpYnVwbnBfZ2l0LmJiCmluZGV4IDdhNTI0ZjIuLjMzOWMwN2MgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1cG5wL2xpYnVwbnBfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1cG5wL2xpYnVwbnBfZ2l0LmJiCkBAIC01LDE2ICs1LDIxIEBACiBzdXBwb3J0aW5nIHRoZSBEb2N1bWVudCBPYmplY3QgTW9kZWwgKERPTSkgTGV2ZWwgMiBBUEkgYW5kIGFuIG9wdGlvbmFsLCBcCiBpbnRlZ3JhdGVkIG1pbmkgd2ViIHNlcnZlciBmb3Igc2VydmluZyBVUG5QIHJlbGF0ZWQgZG9jdW1lbnRzLiIKIEhPTUVQQUdFID0gImh0dHA6Ly9wdXBucC5zb3VyY2Vmb3JnZS5uZXQvIgotTElDRU5TRSA9ICJCU0QiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKIAotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YjMxOTBkNTI0NGUwOGU3OGU0YzhlZTc4NTQ0ZjQ4NjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zOTRhMGYxN2I5N2YzMzQyNjI3NTU3MWUxNTkyMDQzNCIKIAotUFYgPSAiMS44LjIrZ2l0JHtTUkNQVn0iCi1TUkNSRVYgPSAiNTZkNjA0MmFiYWU4NjFlODgzOGE0ZTZiNmI1YjU3NWI5OWUzOGYzNCIKK1BWID0gIjEuOC40K2dpdCR7U1JDUFZ9IgorIyByZWxlYXNlLTEuOC40CitTUkNSRVYgPSAiZDVhMDFmYzk4OTVkYWFlOThhMGM1YThjN2QzYWZjZTQ2YWRkNTI5ZCIKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9tcmppbWVuZXovcHVwbnAuZ2l0O3Byb3RvY29sPWh0dHBzIgogCiBTPSIke1dPUktESVJ9L2dpdCIKIAogaW5oZXJpdCBhdXRvdG9vbHMKIAotRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1yZXVzZWFkZHIiClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1yZXVzZWFkZHIiCisKKyMgRW5hYmxlIExGUyBzdXBwb3J0ICggZm9yIHNhbXBsZXMgKQorQ0ZMQUdTICs9ICItRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCitDWFhGTEFHUyArPSAiLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3J5Z2VsL3J5Z2VsXzAuMzQuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yeWdlbC9yeWdlbF8wLjM0LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxMzMxZmYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3J5Z2VsL3J5Z2VsXzAuMzQuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLVNVTU1BUlkgPSAiQSBVUG5QIEFWIG1lZGlhIHNlcnZlciBhbmQgcmVuZGVyZXIiCi1ERVNDUklQVElPTiA9ICJSeWdlbCBpcyBhIGhvbWUgbWVkaWEgc29sdXRpb24gKFVQblAgQVYgTWVkaWFTZXJ2ZXIpIHRoYXQgXAotYWxsb3cgeW91IHRvIGVhc2lseSBzaGFyZSBhdWRpbywgdmlkZW8gYW5kIHBpY3R1cmVzIHRvIG90aGVyIGRldmljZXMuIFwKLUFkZGl0aW9uYWxseSwgbWVkaWEgcGxheWVyIHNvZnR3YXJlIG1heSB1c2UgUnlnZWwgdG8gYmVjb21lIGEgTWVkaWFSZW5kZXJlciBcCi10aGF0IG1heSBiZSBjb250cm9sbGVkIHJlbW90ZWx5IGJ5IGEgVVBuUCBvciBETE5BIENvbnRyb2xsZXIuIgotSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL1J5Z2VsIgotCi1MSUNFTlNFID0gIkxHUEwtMi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCi0KLURFUEVORFMgPSAibGlieG1sMiBnbGliLTIuMCBnc3NkcCBndXBucCBndXBucC1hdiBndXBucC1kbG5hIGdzdHJlYW1lcjEuMCBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIGxpYmdlZSBsaWJzb3VwLTIuNCBsaWJtZWRpYWFydC0yLjAgbGlidW5pc3RyaW5nIHNxbGl0ZTMgaW50bHRvb2wtbmF0aXZlIgotUkRFUEVORFNfJHtQTn0gPSAiZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZS1wbGF5YmFjayBzaGFyZWQtbWltZS1pbmZvIgotUlJFQ09NTUVORFNfJHtQTn0gPSAicnlnZWwtcGx1Z2luLW1lZGlhLWV4cG9ydCIKLQotR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjdkODkyMzMyNGIyODBjZDU0NTI4MDNkNjExNzZhMzRhIgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZmJiMmQ0NmNiZTRlNzUwZGY2NjEwYjRjNjZiMjI3OGYwNmQxZjcxYTI1N2M3OTAzZTY3NmNjYjM5NGRhZDQxOCIKLQotaW5oZXJpdCBnbm9tZWJhc2UgdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ2V0dGV4dCBzeXN0ZW1kCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtdHJhY2tlci1wbHVnaW4gLS13aXRoLW1lZGlhLWVuZ2luZT1nc3RyZWFtZXIiCi0KLVBBQ0tBR0VDT05GSUcgPz0gImV4dGVybmFsIG1wcmlzIHJ1aWggbWVkaWEtZXhwb3J0IGdzdC1sYXVuY2giCi0KLVBBQ0tBR0VDT05GSUdfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAieDExIiwgIiBndGsrMyIsICIiLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUdbZXh0ZXJuYWxdID0gIi0tZW5hYmxlLWV4dGVybmFsLXBsdWdpbiwtLWRpc2FibGUtZXh0ZXJuYWwtcGx1Z2luIgotUEFDS0FHRUNPTkZJR1ttcHJpc10gPSAiLS1lbmFibGUtbXByaXMtcGx1Z2luLC0tZGlzYWJsZS1tcHJpcy1wbHVnaW4iCi1QQUNLQUdFQ09ORklHW3J1aWhdID0gIi0tZW5hYmxlLXJ1aWgtcGx1Z2luLC0tZGlzYWJsZS1ydWloLXBsdWdpbiIKLVBBQ0tBR0VDT05GSUdbbWVkaWEtZXhwb3J0XSA9ICItLWVuYWJsZS1tZWRpYS1leHBvcnQtcGx1Z2luLC0tZGlzYWJsZS1tZWRpYS1leHBvcnQtcGx1Z2luIgotUEFDS0FHRUNPTkZJR1tnc3QtbGF1bmNoXSA9ICItLWVuYWJsZS1nc3QtbGF1bmNoLXBsdWdpbiwtLWRpc2FibGUtZ3N0LWxhdW5jaC1wbHVnaW4iCi1QQUNLQUdFQ09ORklHW2d0ayszXSA9ICIsLS13aXRob3V0LXVpLGd0ayszIgotUEFDS0FHRUNPTkZJR1tsbXNdID0gIi0tZW5hYmxlLWxtcy1wbHVnaW4sLS1kaXNhYmxlLWxtcy1wbHVnaW4iCi0KLUxJQlYgPSAiMi42IgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICAgICAjIFJlbW92ZSAubGEgZmlsZXMgZm9yIGxvYWRhYmxlIG1vZHVsZXMKLSAgICAgICBybSAtZiAke0R9LyR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9L2VuZ2luZXMvKi5sYQotICAgICAgIHJtIC1mICR7RH0vJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vcGx1Z2lucy8qLmxhCi0gICAgICAgaWYgWyAtZSAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlci9yeWdlbC5zZXJ2aWNlIF07IHRoZW4KLSAgICAgICAgICAgICAgIG1rZGlyIC1wICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgICAgICAgICAgICBtdiAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlci9yeWdlbC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgICAgICAgICAgICBybWRpciAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlciAke0R9JHtsaWJkaXJ9L3N5c3RlbWQKLSAgICAgICBmaQotfQotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vZW5naW5lcyAke2RhdGFkaXJ9L2RidXMtMSAke2RhdGFkaXJ9L2ljb25zIgotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcnlnZWwtJHtMSUJWfS9lbmdpbmVzLy5kZWJ1ZyAke2xpYmRpcn0vcnlnZWwtJHtMSUJWfS9wbHVnaW5zLy5kZWJ1ZyIKLQotUEFDS0FHRVMgKz0gIiR7UE59LW1ldGEiCi1BTExPV19FTVBUWV8ke1BOfS1tZXRhID0gIjEiCi0KLVBBQ0tBR0VTX0RZTkFNSUMgPSAiJHtQTn0tcGx1Z2luLSoiCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJyeWdlbC5zZXJ2aWNlIgotCi1weXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7Ci0gICAgcnlnZWxfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9JykKLSAgICBwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwbHVnaW5fcG9zdGluc3QnKQotICAgIHBrZ3MgPSBbXQotCi0gICAgcGtncyArPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBvZS5wYXRoLmpvaW4ocnlnZWxfbGliZGlyLCAicGx1Z2lucyIpLCAnbGlicnlnZWwtKC4qKVwuc28kJywgZC5leHBhbmQoJyR7UE59LXBsdWdpbi0lcycpLCAnUnlnZWwgcGx1Z2luIGZvciAlcycsIHBvc3RpbnN0PXBvc3RpbnN0LCBleHRyYV9kZXBlbmRzPWQuZXhwYW5kKCcke1BOfScpKQotICAgIHBrZ3MgKz0gZG9fc3BsaXRfcGFja2FnZXMoZCwgb2UucGF0aC5qb2luKHJ5Z2VsX2xpYmRpciwgInBsdWdpbnMiKSwgJyguKilcLnBsdWdpbiQnLCBkLmV4cGFuZCgnJHtQTn0tcGx1Z2luLSVzJyksICdSeWdlbCBwbHVnaW4gZm9yICVzJywgcG9zdGluc3Q9cG9zdGluc3QsIGV4dHJhX2RlcGVuZHM9ZC5leHBhbmQoJyR7UE59JykpCi0KLSAgICBtZXRhcGtnID0gZC5nZXRWYXIoJ1BOJykgKyAnLW1ldGEnCi0gICAgZC5zZXRWYXIoJ1JERVBFTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihwa2dzKSkKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yeWdlbC9yeWdlbF8wLjM3LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvcnlnZWwvcnlnZWxfMC4zNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4NjlkODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvcnlnZWwvcnlnZWxfMC4zNy4wLmJiCkBAIC0wLDAgKzEsNjggQEAKK1NVTU1BUlkgPSAiQSBVUG5QIEFWIG1lZGlhIHNlcnZlciBhbmQgcmVuZGVyZXIiCitERVNDUklQVElPTiA9ICJSeWdlbCBpcyBhIGhvbWUgbWVkaWEgc29sdXRpb24gKFVQblAgQVYgTWVkaWFTZXJ2ZXIpIHRoYXQgXAorYWxsb3cgeW91IHRvIGVhc2lseSBzaGFyZSBhdWRpbywgdmlkZW8gYW5kIHBpY3R1cmVzIHRvIG90aGVyIGRldmljZXMuIFwKK0FkZGl0aW9uYWxseSwgbWVkaWEgcGxheWVyIHNvZnR3YXJlIG1heSB1c2UgUnlnZWwgdG8gYmVjb21lIGEgTWVkaWFSZW5kZXJlciBcCit0aGF0IG1heSBiZSBjb250cm9sbGVkIHJlbW90ZWx5IGJ5IGEgVVBuUCBvciBETE5BIENvbnRyb2xsZXIuIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL1J5Z2VsIgorCitMSUNFTlNFID0gIkxHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK0RFUEVORFMgPSAibGlieG1sMiBnbGliLTIuMCBnc3NkcCBndXBucCBndXBucC1hdiBndXBucC1kbG5hIGdzdHJlYW1lcjEuMCBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIGxpYmdlZSBsaWJzb3VwLTIuNCBsaWJtZWRpYWFydC0yLjAgbGlidW5pc3RyaW5nIHNxbGl0ZTMgaW50bHRvb2wtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAiZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZS1wbGF5YmFjayBzaGFyZWQtbWltZS1pbmZvIgorUlJFQ09NTUVORFNfJHtQTn0gPSAicnlnZWwtcGx1Z2luLW1lZGlhLWV4cG9ydCIKKworR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImY4OTcxNjdhZDgyZTJlNzQxNTgyZjJjMzkzYTc2ODQzIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZGZkM2Q4ODVkYTNhYzM4M2JhMGNmYmYxMTk5OTVmNGEwYzJiY2EyY2M4ZjhjZmNkM2RmMTBjZmVjOGYzNWNkNyIKKworaW5oZXJpdCBnbm9tZWJhc2UgdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ2V0dGV4dCBzeXN0ZW1kCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtdHJhY2tlci1wbHVnaW4gLS13aXRoLW1lZGlhLWVuZ2luZT1nc3RyZWFtZXIiCisKK1BBQ0tBR0VDT05GSUcgPz0gImV4dGVybmFsIG1wcmlzIHJ1aWggbWVkaWEtZXhwb3J0IGdzdC1sYXVuY2giCisKK1BBQ0tBR0VDT05GSUdfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAieDExIiwgIiBndGsrMyIsICIiLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbZXh0ZXJuYWxdID0gIi0tZW5hYmxlLWV4dGVybmFsLXBsdWdpbiwtLWRpc2FibGUtZXh0ZXJuYWwtcGx1Z2luIgorUEFDS0FHRUNPTkZJR1ttcHJpc10gPSAiLS1lbmFibGUtbXByaXMtcGx1Z2luLC0tZGlzYWJsZS1tcHJpcy1wbHVnaW4iCitQQUNLQUdFQ09ORklHW3J1aWhdID0gIi0tZW5hYmxlLXJ1aWgtcGx1Z2luLC0tZGlzYWJsZS1ydWloLXBsdWdpbiIKK1BBQ0tBR0VDT05GSUdbbWVkaWEtZXhwb3J0XSA9ICItLWVuYWJsZS1tZWRpYS1leHBvcnQtcGx1Z2luLC0tZGlzYWJsZS1tZWRpYS1leHBvcnQtcGx1Z2luIgorUEFDS0FHRUNPTkZJR1tnc3QtbGF1bmNoXSA9ICItLWVuYWJsZS1nc3QtbGF1bmNoLXBsdWdpbiwtLWRpc2FibGUtZ3N0LWxhdW5jaC1wbHVnaW4iCitQQUNLQUdFQ09ORklHW2d0ayszXSA9ICIsLS13aXRob3V0LXVpLGd0ayszIgorUEFDS0FHRUNPTkZJR1tsbXNdID0gIi0tZW5hYmxlLWxtcy1wbHVnaW4sLS1kaXNhYmxlLWxtcy1wbHVnaW4iCisKK0xJQlYgPSAiMi42IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAgICAjIFJlbW92ZSAubGEgZmlsZXMgZm9yIGxvYWRhYmxlIG1vZHVsZXMKKyAgICAgICBybSAtZiAke0R9LyR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9L2VuZ2luZXMvKi5sYQorICAgICAgIHJtIC1mICR7RH0vJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vcGx1Z2lucy8qLmxhCisgICAgICAgaWYgWyAtZSAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlci9yeWdlbC5zZXJ2aWNlIF07IHRoZW4KKyAgICAgICAgICAgICAgIG1rZGlyIC1wICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgICAgICAgICBtdiAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlci9yeWdlbC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgICAgICAgICBybWRpciAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlciAke0R9JHtsaWJkaXJ9L3N5c3RlbWQKKyAgICAgICBmaQorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vZW5naW5lcyAke2RhdGFkaXJ9L2RidXMtMSAke2RhdGFkaXJ9L2ljb25zIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcnlnZWwtJHtMSUJWfS9lbmdpbmVzLy5kZWJ1ZyAke2xpYmRpcn0vcnlnZWwtJHtMSUJWfS9wbHVnaW5zLy5kZWJ1ZyIKKworUEFDS0FHRVMgKz0gIiR7UE59LW1ldGEiCitBTExPV19FTVBUWV8ke1BOfS1tZXRhID0gIjEiCisKK1BBQ0tBR0VTX0RZTkFNSUMgPSAiJHtQTn0tcGx1Z2luLSoiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJyeWdlbC5zZXJ2aWNlIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgcnlnZWxfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9JykKKyAgICBwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwbHVnaW5fcG9zdGluc3QnKQorICAgIHBrZ3MgPSBbXQorCisgICAgcGtncyArPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBvZS5wYXRoLmpvaW4ocnlnZWxfbGliZGlyLCAicGx1Z2lucyIpLCAnbGlicnlnZWwtKC4qKVwuc28kJywgZC5leHBhbmQoJyR7UE59LXBsdWdpbi0lcycpLCAnUnlnZWwgcGx1Z2luIGZvciAlcycsIHBvc3RpbnN0PXBvc3RpbnN0LCBleHRyYV9kZXBlbmRzPWQuZXhwYW5kKCcke1BOfScpKQorICAgIHBrZ3MgKz0gZG9fc3BsaXRfcGFja2FnZXMoZCwgb2UucGF0aC5qb2luKHJ5Z2VsX2xpYmRpciwgInBsdWdpbnMiKSwgJyguKilcLnBsdWdpbiQnLCBkLmV4cGFuZCgnJHtQTn0tcGx1Z2luLSVzJyksICdSeWdlbCBwbHVnaW4gZm9yICVzJywgcG9zdGluc3Q9cG9zdGluc3QsIGV4dHJhX2RlcGVuZHM9ZC5leHBhbmQoJyR7UE59JykpCisKKyAgICBtZXRhcGtnID0gZC5nZXRWYXIoJ1BOJykgKyAnLW1ldGEnCisgICAgZC5zZXRWYXIoJ1JERVBFTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihwa2dzKSkKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi9vc2NhbS9vc2NhbS8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbml0aW9ucy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi9vc2NhbS9vc2NhbS8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbml0aW9ucy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDNkODllMy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvb3NjYW0vb3NjYW0vMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW5pdGlvbnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIGEzNzJmZTQ2NzQ5NWE2NzRhZDYyNDRiNjdlODNkZmJmYTg0NTVmNTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAxMSBBdWcgMjAxOCAxMzo1NDozMiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBpbmNsdWRlIHN5cy9zeXNtYWNyb3MuaCBmb3IgbWFqb3IvbWlub3IgZGVmaW5pdGlvbnMKLQotY3NjdGFwaS9pZmRfZGIyY29tLmM6Mjc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG1pbm9yJwotY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdsb2JhbHMuaCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvZ2xvYmFscy5oIGIvZ2xvYmFscy5oCi1pbmRleCBiZDEyMjQ0Li45ZTEwMjI1IDEwMDY0NAotLS0tIGEvZ2xvYmFscy5oCi0rKysgYi9nbG9iYWxzLmgKLUBAIC0zNiw2ICszNiw3IEBACi0gI2luY2x1ZGUgPHRlcm1pb3MuaD4KLSAjaW5jbHVkZSA8aW50dHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotIAotIC8qCi0gICogVGhlIGZvbGxvd2luZyBoYWNrIGlzIHRha2VuIGZyb20gTGludXg6IGluY2x1ZGUvbGludXgva2NvbmZpZy5oCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvb3NjYW0vb3NjYW1fc3ZuLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL29zY2FtL29zY2FtX3N2bi5iYgppbmRleCBhOGFlYzExLi41YWNkZDdlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvb3NjYW0vb3NjYW1fc3ZuLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi9vc2NhbS9vc2NhbV9zdm4uYmIKQEAgLTQsMTIgKzQsMTEgQEAKIExJQ0VOU0UgPSAiR1BMdjMiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKIAotREVQRU5EUyA9ICJsaWJ1c2IxIG9wZW5zc2wxMCBwY3NjLWxpdGUiCitERVBFTkRTID0gImxpYnVzYjEgb3BlbnNzbCBwY3NjLWxpdGUiCiAKIFNSQ19VUkkgPSAic3ZuOi8vd3d3LnN0cmVhbWJvYXJkLnR2L3N2bi9vc2NhbTttb2R1bGU9dHJ1bms7cHJvdG9jb2w9aHR0cCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbml0aW9ucy5wYXRjaCBcCiAgICAgICAgICAgICIKLVNSQ1JFViA9ICIxMTQzMSIKK1NSQ1JFViA9ICIxMTQ5MSIKIFBWID0gIjEuMTArJHtTUkNQVn0iCiAKIFMgPSAiJHtXT1JLRElSfS90cnVuayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi90dmhlYWRlbmQvdHZoZWFkZW5kX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi90dmhlYWRlbmQvdHZoZWFkZW5kX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzZjZDQ2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi90dmhlYWRlbmQvdHZoZWFkZW5kX2dpdC5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIlR2aGVhZGVuZDogVFYgc3RyZWFtaW5nIHNlcnZlciBhbmQgcmVjb3JkZXIiCitIT01FUEFHRSA9ICJodHRwczovL3R2aGVhZGVuZC5vcmcvIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgZ2V0dGV4dCBnaXRwa2d2IHBrZ2NvbmZpZworCitERVBFTkRTID0gImF2YWhpIGNtYWtlLW5hdGl2ZSBkdmItYXBwcyBsaWJkdmJjc2EgbGlicGNyZTIgb3BlbnNzbCB1cmlwYXJzZXIgemxpYiIKKworTElDRU5TRSA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLm1kO21kNT05Y2FlNWFjYWMyZTllZTJmYzNhZWMwMWFjODhjZTVkYiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3R2aGVhZGVuZC90dmhlYWRlbmQuZ2l0IgorCitTUkNSRVYgPSAiYmRjMmFlOWUxOTUyMGExMGNkZjBiZWMwZmNjMDA1MGIzMmJjNzVmZiIKK1BWID0gIjQuMytnaXQke1NSQ1BWfSIKK1BLR1YgPSAiNC4zK2dpdCR7R0lUUEtHVn0iCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0VYVFJBX09FQ09ORiArPSAiLS1hcmNoPSR7VEFSR0VUX0FSQ0h9IFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWhkaG9tZXJ1bl9zdGF0aWMgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtZmZtcGVnX3N0YXRpYyBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1saWJhdiBcCisgICAgICAgICAgICAgICAgICIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvY2Fwcy9jYXBzXzAuOS4yNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvY2Fwcy9jYXBzXzAuOS4yNC5iYgppbmRleCBmZTg2NGM0Li4wNDA0YmQ1IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2NhcHMvY2Fwc18wLjkuMjQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9jYXBzL2NhcHNfMC45LjI0LmJiCkBAIC0zLDcgKzMsNyBAQAogTElDRU5TRSA9ICJHUEwtMyIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgogCi1TUkNfVVJJID0gImh0dHA6Ly9xdWl0dGUuZGUvZHNwLyR7UE59XyR7UFZ9LnRhci5iejIgXAorU1JDX1VSSSA9ICJodHRwOi8vcXVpdHRlLmRlL2RzcC8ke0JQTn1fJHtQVn0udGFyLmJ6MiBcCiAgICAgICAgICAgIGZpbGU6Ly9Bdm9pZC1hbWJpZ3VpdHktaW4tZGl2LWludm9jYXRpb24ucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1iYXNpYy5oLVVzZS1jOTktc3VwcG9ydGVkLXN0ZGludC10eXBlcy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9hcHBlbmRfbGRmbGFncy5wYXRjaCBcCkBAIC0xMyw4ICsxMyw2IEBACiBTUkNfVVJJW21kNXN1bV0gPSAiYzFkNjM0MDM4ZGNiNTQ3MDIzMDZjMGUzMGNiMWM2MjYiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjc0NmZlYmE1N2FmMzE2YjE1OWYwMTY5ZGU1ZDc4YjRmZDEwNjRjMmMwYzgwMTdjYjU4NTZiMmYyMmU4M2YyMCIKIAotUyA9ICIke1dPUktESVJ9LyR7UE59LSR7UFZ9IgotCiBFWFRSQV9PRU1BS0UgPSAiIFwKICAgICBDQz0nJHtDWFh9JyBcCiAgICAgQ0ZMQUdTPScke0NGTEFHU30gLWZmYXN0LW1hdGggLWZ1bnJvbGwtbG9vcHMgLWZQSUMgLURQSUMnIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZHZiLWFwcHNfMS4xLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2R2Yi1hcHBzXzEuMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmOWVhYmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2R2Yi1hcHBzXzEuMS4xLmJiCkBAIC0wLDAgKzEsMTA3IEBACitTVU1NQVJZID0gIkxpbnV4IERWQiBBUEkgYXBwbGljYXRpb25zIGFuZCB1dGlsaXRpZXMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpbnV4dHYub3JnIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorU1JDUkVWID0gIjNkNDNiMjgwMjk4YzM5YTY3ZDFkODg5ZTAxZTE3M2Y1MmMxMmRhMzUiCisKK1NSQ19VUkkgPSAiaGc6Ly9saW51eHR2Lm9yZy9oZzttb2R1bGU9ZHZiLWFwcHM7cHJvdG9jb2w9aHR0cCBcCisgICAgICAgICAgZmlsZTovL2R2Yi1mZS14YzUwMDBjLTQuMS4zMC43LmZ3IFwKKyAgICAgICAgICBmaWxlOi8vZHZiLXNjYW4tdGFibGUgXAorICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1nZW5lcmF0ZS1rZXluYW1lcy5wYXRjaCBcCisgICAgICAgICAgZmlsZTovLzAwMDItRml4LWNvbXBpbGVyLXdhcm5pbmctZmxhZ3MucGF0Y2ggXAorICAgICAgICAgIGZpbGU6Ly8wMDAzLWhhbmRsZS1zdGF0aWMtc2hhcmVkLW9ubHktYnVpbGQucGF0Y2ggXAorICAgICAgICAgIGZpbGU6Ly8wMDA0LU1ha2VmaWxlLXJlbW92ZS10ZXN0LnBhdGNoIFwKKyAgICAgICAgICBmaWxlOi8vMDAwNS1saWJ1Y3NpLW9wdGltaXphdGlvbi1yZW1vdmFsLnBhdGNoIFwKKyAgICAgICAgICBmaWxlOi8vMDAwNi1DQV9TRVRfUElELnBhdGNoIFwKKyAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK2luaGVyaXQgcGVybG5hdGl2ZQorCitleHBvcnQgZW5hYmxlX3N0YXRpYz0ibm8iCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBzZWQgLWkgLWUgczovdXNyL2luY2x1ZGU6JHtTVEFHSU5HX0lOQ0RJUn06ZyB1dGlsL2F2NzExMF9sb2Fka2V5cy9nZW5lcmF0ZS1rZXluYW1lcy5zaAorfQorZG9faW5zdGFsbCgpIHsKKyAgICBtYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfS8ke2RvY2Rpcn0vZHZiLWFwcHMKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtkb2NkaXJ9L2R2Yi1hcHBzL3NjYW4KKyAgICBpbnN0YWxsIC1kICR7RH0vJHtkb2NkaXJ9L2R2Yi1hcHBzL3N6YXAKKyAgICBjaG1vZCBhK3J4ICR7RH0vJHtsaWJkaXJ9Lyouc28qCisgICAgaWYgWyAiJHtEVkJfV0lOVFZfVFVORVJ9IiA9ICJ0cnVlIiBdOyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS9saWIvZmlybXdhcmUKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vKi5mdyAke0R9L2xpYi9maXJtd2FyZS8KKyAgICBmaQorICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzICR7U30vdXRpbC9zemFwL2NoYW5uZWxzLWNvbmYqICR7RH0vJHtkb2NkaXJ9L2R2Yi1hcHBzL3N6YXAvCisgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgJHtTfS91dGlsL3N6YXAvUkVBRE1FICAgJHtEfS8ke2RvY2Rpcn0vZHZiLWFwcHMvc3phcC8KKyAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAke1dPUktESVJ9L2R2Yi1zY2FuLXRhYmxlLyogJHtEfS91c3Ivc2hhcmUvZHZiCit9CisKK1BBQ0tBR0VTID0rICJkdmItZXZ0ZXN0IGR2Yi1ldnRlc3QtZGJnIFwKKyAgICAgICAgICAgICBkdmJhcHAtdGVzdHMgZHZiYXBwLXRlc3RzLWRiZyBcCisgICAgICAgICAgICAgZHZiZGF0ZSBkdmJkYXRlLWRiZyBcCisgICAgICAgICAgICAgZHZidHJhZmZpYyBkdmJ0cmFmZmljLWRiZyBcCisgICAgICAgICAgICAgZHZibmV0IGR2Ym5ldC1kYmcgXAorICAgICAgICAgICAgIGR2Yi1zY2FuIGR2Yi1zY2FuLWRiZyBkdmItc2Nhbi1kYXRhIFwKKyAgICAgICAgICAgICBkdmItYXphcCBkdmItYXphcC1kYmcgXAorICAgICAgICAgICAgIGR2Yi1jemFwIGR2Yi1jemFwLWRiZyBcCisgICAgICAgICAgICAgZHZiLXN6YXAgZHZiLXN6YXAtZGJnIFwKKyAgICAgICAgICAgICBkdmItdHphcCBkdmItdHphcC1kYmcgXAorICAgICAgICAgICAgIGR2Yi1mZW1vbiBkdmItZmVtb24tZGJnIFwKKyAgICAgICAgICAgICBkdmItemFwLWRhdGEiCitQQUNLQUdFUyA9KyAibGliZHZiYXBpIGxpYmR2YmNmZyBsaWJkdmJlbjUwMjIxIFwKKyAgICAgICAgICAgIGxpYmVzZyBsaWJ1Y3NpIGxpYmR2YnNlYyIKKworUkRFUEVORFNfZHZiZGF0ZSA9KyAibGliZHZiYXBpIGxpYnVjc2kiCitSREVQRU5EU19kdmJ0cmFmZmljID0rICJsaWJkdmJhcGkiCitSREVQRU5EU19kdmItc2NhbiA9KyAibGliZHZiYXBpIGxpYmR2YmNmZyBsaWJkdmJzZWMiCitSREVQRU5EU19kdmItYXBwcyA9KyAibGliZHZiYXBpIGxpYmR2YmNmZyBsaWJkdmJzZWMgbGliZHZiZW41MDIyMSBsaWJ1Y3NpIgorUkRFUEVORFNfZHZiLWZlbW9uID0rICJsaWJkdmJhcGkiCitSREVQRU5EU19kdmJuZXQgPSsgImxpYmR2YmFwaSIKKworUkNPTkZMSUNUU19kdmItZXZ0ZXN0ID0gImV2dGVzdCIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9ICR7ZGF0YWRpcn0vZHZiIGxpYi9maXJtd2FyZSIKK0ZJTEVTXyR7UE59LWRvYyA9ICIiCitGSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSIKK0ZJTEVTX2R2Yi1ldnRlc3QgPSAiJHtiaW5kaXJ9L2V2dGVzdCIKK0ZJTEVTX2R2Yi1ldnRlc3QtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvZXZ0ZXN0IgorRklMRVNfZHZiYXBwLXRlc3RzID0gIiR7YmluZGlyfS8qdGVzdCogIgorRklMRVNfZHZiYXBwLXRlc3RzLWRiZyA9ICIke2JpbmRpcn0vLmRlYnVnLyp0ZXN0KiIKK0ZJTEVTX2R2YmRhdGUgPSAiJHtiaW5kaXJ9L2R2YmRhdGUiCitGSUxFU19kdmJkYXRlLWRiZyA9ICIke2JpbmRpcn0vLmRlYnVnL2R2YmRhdGUiCitGSUxFU19kdmJ0cmFmZmljID0gIiR7YmluZGlyfS9kdmJ0cmFmZmljIgorRklMRVNfZHZidHJhZmZpYy1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9kdmJ0cmFmZmljIgorRklMRVNfZHZibmV0ID0gIiR7YmluZGlyfS9kdmJuZXQiCitGSUxFU19kdmJuZXQtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvZHZibmV0IgorRklMRVNfZHZiLXNjYW4gPSAiJHtiaW5kaXJ9LypzY2FuICIKK0ZJTEVTX2R2Yi1zY2FuLWRiZyA9ICIke2JpbmRpcn0vLmRlYnVnLypzY2FuIgorRklMRVNfZHZiLXNjYW4tZGF0YSA9ICIke2RvY2Rpcn0vZHZiLWFwcHMvc2NhbiIKK0ZJTEVTX2R2Yi1hemFwID0gIiR7YmluZGlyfS9hemFwIgorRklMRVNfZHZiLWF6YXAtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvYXphcCIKK0ZJTEVTX2R2Yi1jemFwID0gIiR7YmluZGlyfS9jemFwIgorRklMRVNfZHZiLWN6YXAtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvY3phcCIKK0ZJTEVTX2R2Yi1zemFwID0gIiR7YmluZGlyfS9zemFwIgorRklMRVNfZHZiLXN6YXAtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvc3phcCIKK0ZJTEVTX2R2Yi10emFwID0gIiR7YmluZGlyfS90emFwIgorRklMRVNfZHZiLXR6YXAtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvdHphcCIKK0ZJTEVTX2R2Yi1mZW1vbiA9ICIke2JpbmRpcn0vZmVtb24iCitGSUxFU19kdmItZmVtb24tZGJnID0gIiR7YmluZGlyfS8uZGVidWcvZmVtb24iCitGSUxFU19kdmItemFwLWRhdGEgPSAiJHtkb2NkaXJ9L2R2Yi1hcHBzL3N6YXAiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBkdmJfbGliZGlyID0gYmIuZGF0YS5leHBhbmQoJyR7bGliZGlyfScsIGQpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZHZiX2xpYmRpciwgJ15saWIoLiopXC5zbyQnLCAnbGliJXMnLCAnRFZCICVzIHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGR2Yl9saWJkaXIsICdebGliKC4qKVwubGEkJywgJ2xpYiVzLWRldicsICdEVkIgJXMgZGV2ZWxvcG1lbnQgcGFja2FnZScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LWRldicpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZHZiX2xpYmRpciwgJ15saWIoLiopXC5hJCcsICdsaWIlcy1kZXYnLCAnRFZCICVzIGRldmVsb3BtZW50IHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGR2Yl9saWJkaXIsICdebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnRFZCICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorfQorCitJTlNBTkVfU0tJUF8ke1BOfSA9ICJsZGZsYWdzIgorSU5TQU5FX1NLSVBfJHtQTn0tZGV2ID0gImxkZmxhZ3MiCisKK0RWQl9XSU5UVl9UVU5FUiA9ICJ0cnVlIgorVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDEtRml4LWdlbmVyYXRlLWtleW5hbWVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy8wMDAxLUZpeC1nZW5lcmF0ZS1rZXluYW1lcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTg2MDdkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy8wMDAxLUZpeC1nZW5lcmF0ZS1rZXluYW1lcy5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGaXggZ2VuZXJhdGUta2V5bmFtZXMuc2ggc2NyaXB0IGZvciBjcm9zcy1jb21waWxhdGlvbgorCitnZW5lcmF0ZS1rZXluYW1lcy5zaCByZWFkcyAvdXNyL2luY2x1ZGUvbGludXggdG8gZmluZCB0aGUga2V5bmFtZQorc3ltYm9scy4gSG93ZXZlciwgd2hlbiBjcm9zcy1jb21waWxpbmcsIHRoZSBpbmNsdWRlIHBhdGggcG9pbnRzCitzb21ld2hlcmUgZWxzZS4gQWxsb3cgdGhlIHVzZXIgdG8gcGFzcyBDUk9TU19ST09UIHRvIHBvaW50IHRvIHRoZQorcm9vdCBvZiB0aGUgY3Jvc3MtY29tcGlsYXRpb24gZW52aXJvbm1lbnQuCisKK1NpZ25lZC1vZmYtYnk6IEFybm91dCBWYW5kZWNhcHBlbGxlIChFc3NlbnNpdW0vTWluZCkgPGFybm91dEBtaW5kLmJlPgorLS0tCitkaWZmIC1ydXAgZHZiLWFwcHMtODNjNzQ2NDYyY2NiLm9yaWcvdXRpbC9hdjcxMTBfbG9hZGtleXMvZ2VuZXJhdGUta2V5bmFtZXMuc2ggZHZiLWFwcHMtODNjNzQ2NDYyY2NiL3V0aWwvYXY3MTEwX2xvYWRrZXlzL2dlbmVyYXRlLWtleW5hbWVzLnNoCistLS0gZHZiLWFwcHMtODNjNzQ2NDYyY2NiLm9yaWcvdXRpbC9hdjcxMTBfbG9hZGtleXMvZ2VuZXJhdGUta2V5bmFtZXMuc2gJMjAxMi0xMi0wNiAxMDozODowNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBkdmItYXBwcy04M2M3NDY0NjJjY2IvdXRpbC9hdjcxMTBfbG9hZGtleXMvZ2VuZXJhdGUta2V5bmFtZXMuc2gJMjAxMy0wOC0yOSAyMTo0NzowOS43MTc5OTE0MzkgKzAyMDAKK0BAIC0xOCw3ICsxOCw3IEBAIGVjaG8gIn07IiA+PiAkMQorIGVjaG8gPj4gJDEKKyBlY2hvID4+ICQxCisgZWNobyAic3RhdGljIHN0cnVjdCBpbnB1dF9rZXlfbmFtZSBrZXlfbmFtZSBbXSA9IHsiID4+ICQxCistZm9yIHggaW4gJChjYXQgL3Vzci9pbmNsdWRlL2xpbnV4L2lucHV0LmggaW5wdXRfZmFrZS5oIHwgXAorK2ZvciB4IGluICQoY2F0ICR7Q1JPU1NfUk9PVH0vdXNyL2luY2x1ZGUvbGludXgvaW5wdXQuaCBpbnB1dF9mYWtlLmggfCBcCisgICAgICAgICAgICBlZ3JlcCAiI2RlZmluZVsgXHRdK0tFWV8iIHwgZ3JlcCAtdiBLRVlfTUFYIHwgXAorICAgICAgICAgICAgY3V0IC1mIDEgfCBjdXQgLWYgMiAtZCAiICIgfCBzb3J0IC11KSA7IGRvCisgICAgIGVjaG8gIiAgICAgICAgeyBcIiQoZWNobyAkeCB8IGN1dCAtYiA1LSlcIiwgJHggfSwiID4+ICQxCitAQCAtMjYsNyArMjYsNyBAQCBkb25lCisgZWNobyAifTsiID4+ICQxCisgZWNobyA+PiAkMQorIGVjaG8gInN0YXRpYyBzdHJ1Y3QgaW5wdXRfa2V5X25hbWUgYnRuX25hbWUgW10gPSB7IiA+PiAkMQorLWZvciB4IGluICQoY2F0IC91c3IvaW5jbHVkZS9saW51eC9pbnB1dC5oIGlucHV0X2Zha2UuaCB8IFwKKytmb3IgeCBpbiAkKGNhdCAke0NST1NTX1JPT1R9L3Vzci9pbmNsdWRlL2xpbnV4L2lucHV0LmggaW5wdXRfZmFrZS5oIHwgXAorICAgICAgICAgICAgZWdyZXAgIiNkZWZpbmVbIFx0XStCVE5fIiB8IFwKKyAgICAgICAgICAgIGN1dCAtZiAxIHwgY3V0IC1mIDIgLWQgIiAiIHwgc29ydCAtdSkgOyBkbworICAgICAgZWNobyAiICAgICAgICB7IFwiJChlY2hvICR4IHwgY3V0IC1iIDUtKVwiLCAkeCB9LCIgPj4gJDEKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwMi1GaXgtY29tcGlsZXItd2FybmluZy1mbGFncy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwMi1GaXgtY29tcGlsZXItd2FybmluZy1mbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzYyNzZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy8wMDAyLUZpeC1jb21waWxlci13YXJuaW5nLWZsYWdzLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK0Zyb20gOWI4ZjFkZjQxZjc1NzlkYTYzYzI3NzYzZmYxODRkMzUxZTRjN2ZlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNpbW9uIERhd3NvbiA8c3BkYXdzb25AZ21haWwuY29tPgorRGF0ZTogU3VuLCA0IEphbiAyMDE1IDEyOjA2OjE4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBjb21waWxlciB3YXJuaW5nIGZsYWdzCisKKyAgV2hlbiBidWlsZGluZyBmb3IgYmZpbiwgdGhlIGJ1aWxkIGZhaWxzIGFzIGZvbGxvd3MuCisKKyAgY2MxOiBlcnJvcjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gIi1Xbm8tcGFja2VkLWJpdGZpZWxkLWNvbXBhdCIKKworQW4gZXhhbXBsZSBvZiBhbiBhdXRvYnVpbGQgZmFpbHVyZSBhcmlzaW5nIGZyb20gdGhpcyBpcyB0aGUgZm9sbG93aW5nLgorCisgIGh0dHA6Ly9hdXRvYnVpbGQuYnVpbGRyb290Lm5ldC9yZXN1bHRzLzkyZS85MmU0NzIwMDQ4MTJhMzYxNmY2MmQ3NjZhOWVhMDdhOTk3YTY2ZTg5LworICBodHRwOi8vYXV0b2J1aWxkLmJ1aWxkcm9vdC5uZXQvcmVzdWx0cy82ZTcvNmU3YjQ4YWQ5NzY4MzQ5ZDk4Mzk4NWMzMDY3YzQyNjdjZGU4MDU0MS8KKworQ2xlYXJseSwgbm90IGFsbCB0b29sY2hhaW5zIHByb3ZpZGUgYSBnY2MgdGhhdCB1bmRlcnN0YW5kcwordGhlIC1Xbm8tcGFja2VkLWJpdGZpZWxkLWNvbXBhdCBmbGFnOyByZW1vdmUgdXNhZ2Ugb2YgdGhpcyBmbGFnLgorCitXbm8tcGFja2VkLWJpdGZpZWxkLWNvbXBhdCBvcHRpb24gd2FzIGFkZGVkIGluIGdjYyA0LjQuCisKK1tSb21haW46CisgIC0gVGhpcyBwYXRjaCBpcyBhbHNvIG5lZWRlZCBmb3IgYmZpbiB0b29sY2hhaW5zIHdoaWNoIHVzZSBnY2MgNC4zLjUKKyAgLSBBZGQgYSBsaW5rIHRvIGJmaW4gYnVpbGQgZmFpbHVyZV0KK1NpZ25lZC1vZmYtYnk6IFNpbW9uIERhd3NvbiA8c3BkYXdzb25AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogUm9tYWluIE5hb3VyIDxyb21haW4ubmFvdXJAb3BlbndpZGUuZnI+CistLS0KKyB1dGlsL3NjYW4vTWFrZWZpbGUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS91dGlsL3NjYW4vTWFrZWZpbGUgYi91dGlsL3NjYW4vTWFrZWZpbGUKK2luZGV4IGQ0OGM0NzguLjg4NjY3YzUgMTAwNjQ0CistLS0gYS91dGlsL3NjYW4vTWFrZWZpbGUKKysrKyBiL3V0aWwvc2Nhbi9NYWtlZmlsZQorQEAgLTE0LDcgKzE0LDcgQEAgaW5zdF9iaW4gPSAkKGJpbmFyaWVzKQorIAorIHJlbW92aW5nID0gYXRzY19wc2lwX3NlY3Rpb24uYyBhdHNjX3BzaXBfc2VjdGlvbi5oCisgCistQ1BQRkxBR1MgKz0gLVduby1wYWNrZWQtYml0ZmllbGQtY29tcGF0IC1EX19LRVJORUxfU1RSSUNUX05BTUVTCisrQ1BQRkxBR1MgKz0gLURfX0tFUk5FTF9TVFJJQ1RfTkFNRVMKKyAKKyAuUEhPTlk6IGFsbAorIAorLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDMtaGFuZGxlLXN0YXRpYy1zaGFyZWQtb25seS1idWlsZC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwMy1oYW5kbGUtc3RhdGljLXNoYXJlZC1vbmx5LWJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkYzdjNjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDMtaGFuZGxlLXN0YXRpYy1zaGFyZWQtb25seS1idWlsZC5wYXRjaApAQCAtMCwwICsxLDQ0IEBACitGcm9tIGE4MjZjN2M3MjJkYjQwYmZlZGYwMGU1MWNlMzg0MTE1NTBhZTgyMTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb21haW4gTmFvdXIgPHJvbWFpbi5uYW91ckBvcGVud2lkZS5mcj4KK0RhdGU6IFRodSwgMjUgRGVjIDIwMTQgMTk6MjI6MTYgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZS5ydWxlczogSGFuZGxlIHN0YXRpYy9zaGFyZWQgb25seSBidWlsZAorCitEbyBub3QgYnVpbGQgLmEgbGlicmFyeSB3aGVuIGVuYWJsZV9zdGF0aWMgaXMgc2V0IHRvICJubyIKK0RvIG5vdCBidWlsZCAuc28gbGlicmFyeSB3aGVuIGVuYWJsZV9zaGFyZWQgaXMgc2V0IHRvICJubyIKKworU2lnbmVkLW9mZi1ieTogUm9tYWluIE5hb3VyIDxyb21haW4ubmFvdXJAb3BlbndpZGUuZnI+CistLS0KKyBNYWtlLnJ1bGVzIHwgMTAgKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlLnJ1bGVzIGIvTWFrZS5ydWxlcworaW5kZXggMzQxMGQ3Yi4uZDI3NGUxNiAxMDA2NDQKKy0tLSBhL01ha2UucnVsZXMKKysrKyBiL01ha2UucnVsZXMKK0BAIC05LDcgKzksMTMgQEAgaWZuZXEgKCQobGliX25hbWUpLCkKKyBDRkxBR1NfTElCID89IC1mUElDCisgQ0ZMQUdTICs9ICQoQ0ZMQUdTX0xJQikKKyAKKy1saWJyYXJpZXMgPSAkKGxpYl9uYW1lKS5zbyAkKGxpYl9uYW1lKS5hCisraWZuZXEgKCQoZW5hYmxlX3N0YXRpYyksbm8pCisrbGlicmFyaWVzICs9ICQobGliX25hbWUpLmEKKytlbmRpZgorKworK2lmbmVxICgkKGVuYWJsZV9zaGFyZWQpLG5vKQorK2xpYnJhcmllcyArPSAkKGxpYl9uYW1lKS5zbworK2VuZGlmCisgCisgLlBIT05ZOiBsaWJyYXJ5CisgCitAQCAtMjMsNyArMjksNyBAQCBwcmVyZXF1aXNpdGVzID0gJChzdWJzdCAubywuZCwkKG9iamVjdHMpKSAkKGFkZHN1ZmZpeCAuZCwkKGJpbmFyaWVzKSkKKyAKKyAuUEhPTlk6IGNsZWFuIGluc3RhbGwKKyAKKy1pZmVxICgkKHN0YXRpYyksMSkKKytpZm5lcSAoJChlbmFibGVfc3RhdGljKSxubykKKyBMREZMQUdTICs9IC1zdGF0aWMKKyBlbmRpZgorIAorLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDQtTWFrZWZpbGUtcmVtb3ZlLXRlc3QucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDQtTWFrZWZpbGUtcmVtb3ZlLXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDViZmFkOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwNC1NYWtlZmlsZS1yZW1vdmUtdGVzdC5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIGM1Nzg3NzJkNmFiYzVmZGYzZWM4M2Y2MzJjMzcxMzczZTViYWY5ZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb21haW4gTmFvdXIgPHJvbWFpbi5uYW91ckBvcGVud2lkZS5mcj4KK0RhdGU6IEZyaSwgMjYgRGVjIDIwMTQgMDE6MDQ6NTggKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGU6IHJlbW92ZSB0ZXN0CisKK1Rlc3RzIG5lZWRzIHN0YXRpYyBsaWJyYXJpZXMsIHJlbW92ZSB0aGVtIGZvciBzaGFyZWQgb25seSBidWlsZC4KKworU2lnbmVkLW9mZi1ieTogUm9tYWluIE5hb3VyIDxyb21haW4ubmFvdXJAb3BlbndpZGUuZnI+CistLS0KKyBNYWtlZmlsZSB8IDEgLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCA2NWEyMjczLi4xMDVjNDYwIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMTAsNyArMTAsNiBAQCBEVkJfQVBJX01JTk9SIDo9ICQod29yZCAzLCAkKHNoZWxsIGdyZXAgLW0xICJEVkJfQVBJX1ZFUlNJT05fTUlOT1IiICQoVkVSU0lPTl9GSQorIAorIGFsbCBjbGVhbiBpbnN0YWxsOgorIAkkKE1BS0UpIC1DIGxpYiAkQAorLQkkKE1BS0UpIC1DIHRlc3QgJEAKKyAJJChNQUtFKSAtQyB1dGlsICRACisgCisgdXBkYXRlOgorLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDUtbGlidWNzaS1vcHRpbWl6YXRpb24tcmVtb3ZhbC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwNS1saWJ1Y3NpLW9wdGltaXphdGlvbi1yZW1vdmFsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxMmQzNWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDUtbGlidWNzaS1vcHRpbWl6YXRpb24tcmVtb3ZhbC5wYXRjaApAQCAtMCwwICsxLDEzIEBACitkaWZmIC1yIDNkNDNiMjgwMjk4YyBsaWIvbGlidWNzaS9lbmRpYW5vcHMuaAorLS0tIGEvbGliL2xpYnVjc2kvZW5kaWFub3BzLmgJRnJpIE1hciAyMSAyMDoyNjozNiAyMDE0ICswMTAwCisrKysgYi9saWIvbGlidWNzaS9lbmRpYW5vcHMuaAlGcmkgSmFuIDE5IDA2OjU2OjE1IDIwMTggKzAwMDAKK0BAIC0zMyw2ICszMyw5IEBACisgI2RlZmluZSBfX3Vjc2lfcGFja2VkIF9fYXR0cmlidXRlX18oKHBhY2tlZCkpCisgCisgCisrI2lmIF9fR05VQ19fID49IDYgKyAoMCA+PSBfX0dOVUNfTUlOT1JfXykKKysjcHJhZ21hIEdDQyBvcHRpbWl6ZSAoIk8xIikKKysjZW5kaWYKKyAKKyAKKyAjaWYgX19CWVRFX09SREVSID09IF9fQklHX0VORElBTgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy8wMDA2LUNBX1NFVF9QSUQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDYtQ0FfU0VUX1BJRC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTAwYzY1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy8wMDA2LUNBX1NFVF9QSUQucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorSW5kZXg6IGR2Yi1hcHBzL3V0aWwvZHN0LXV0aWxzL2RzdF90ZXN0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkdmItYXBwcy5vcmlnL3V0aWwvZHN0LXV0aWxzL2RzdF90ZXN0LmMKKysrKyBkdmItYXBwcy91dGlsL2RzdC11dGlscy9kc3RfdGVzdC5jCitAQCAtMzUsNyArMzUsMTggQEAKKyAjaW5jbHVkZSA8bGliZHZiZW41MDIyMS9lbjUwMjIxX2FwcF90YWdzLmg+CisgCisgI2RlZmluZSBDQV9OT0RFICIvZGV2L2R2Yi9hZGFwdGVyMC9jYTAiCistCisrLyoKKysgUXVpY2sgaGFjayBhcm91bmQgdGhlIHJlbW92YWwgb2YgY2FfcGlkX3QgYW5kIENBX0dFVF9QSUQgaW4gcmVjZW50IGtlcm5lbHMKKysgIGh0dHBzOi8vZ2l0aHViLmNvbS90b3J2YWxkcy9saW51eC9jb21taXQvODMzZmY1ZTdmZWRhMWEwNDJiODNlODIyMDhjZWYzZDIxMmNhMGVmMQorKyovCisrI2lmbmRlZiBDQV9TRVRfUElECisrdHlwZWRlZiBzdHJ1Y3QgY2FfcGlkIHsKKysJdW5zaWduZWQgaW50IHBpZDsKKysJaW50IGluZGV4OyAgICAgIC8qIC0xID09IGRpc2FibGUqLworK30gY2FfcGlkX3Q7CisrLyogV2Ugc2hvdWxkIG5vdCBiZSBhYmxlIHRvIGdldCBpdCBzbyBhIG51bWJlciB0aGF0IGlzIHVubGlrZWx5IHRvIGhhcHBlbiAqLworKyNkZWZpbmUgQ0FfU0VUX1BJRCA0MjQyNDI0MgorKyNlbmRpZgorIHN0YXRpYyBpbnQgZHN0X2NvbW1zKGludCBjYWZkLCB1aW50MzJfdCB0YWcsIHVpbnQzMl90IGZ1bmN0aW9uLCBzdHJ1Y3QgY2FfbXNnICptc2cpCisgeworIAlpZiAodGFnKSB7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1mZS14YzUwMDBjLTQuMS4zMC43LmZ3IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItZmUteGM1MDAwYy00LjEuMzAuNy5mdwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Nzg2ZmZhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItZmUteGM1MDAwYy00LjEuMzAuNy5mdwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvY2EtQUItQ2FsZ2FyeSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy9jYS1BQi1DYWxnYXJ5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ2MDJjMmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvY2EtQUItQ2FsZ2FyeQpAQCAtMCwwICsxLDQ4IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAxMTA1MDIgMSAwIEFUU0MgQ0EgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogQ2FsZ2FyeSBBQiwgQ2FuYWRhIE9UQQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDEtMTgKKworIyBwcm92aWRlZCBieSAob3B0KSAgICA6IHNoYWRvd29mZGFya25lc3NAZ21haWwuY29tCisjCisjIEFbMl0gPGZyZXE+IDxtb2Q+IFsjIGNvbW1lbnRdCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTE1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTYzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTgxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjE3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjM1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjgzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQVRTQy1jZW50ZXItZnJlcXVlbmNpZXMtOFZTQiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1BVFNDLWNlbnRlci1mcmVxdWVuY2llcy04VlNCCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU3NDQ4NzgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQVRTQy1jZW50ZXItZnJlcXVlbmNpZXMtOFZTQgpAQCAtMCwwICsxLDQxMCBAQAorIyBVUyBBVFNDIGNlbnRlciBmcmVxdWVuY2llcywgdXNlIGlmIGluIGRvdWJ0CisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NzAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYzMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3OTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDg1MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMTc3MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMTgzMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMTg5MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMTk1MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMjAxMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMjA3MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMjEzMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNDczMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNDc5MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNDg1MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNDkxMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNDk3MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTAzMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTA5MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTE1MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTIxMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTI3MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTMzMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTM5MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTQ1MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTUxMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTU3MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTYzMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTY5MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTc1MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTgxMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTg3MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTkzMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTk5MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjA1MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjExMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjE3MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjIzMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjI5MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjM1MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjQxMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjQ3MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjUzMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjU5MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjY1MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjcxMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjc3MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjgzMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjg5MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjk1MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzAxMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzA3MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzEzMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzE5MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzI1MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzMxMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzM3MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzQzMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzQ5MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzU1MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzYxMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzY3MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzczMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzc5MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzg1MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzkxMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzk3MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gODAzMDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ0EtU0YtQmF5LUFyZWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ0EtU0YtQmF5LUFyZWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTQ4ZTZlMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DQS1TRi1CYXktQXJlYQpAQCAtMCwwICsxLDgxIEBACisjIGluaXRpYWwgdHVuaW5nIGRhdGEgZm9yIHNvbWUgZnJlcXVlbmNpZXMgb2YgZm9yIHRoZSBTYW4gRnJhbmNpc2NvIEJheSBBcmVhCisjIGluY2x1ZGVzIFNhbiBGcmFuY2lzY28sIFNhbiBKb3NlLCBPYWtsYW5kLi4uCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MDMwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NjMwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1OTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MjMwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NDcwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2ODMwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2ODkwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MjUwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MzEwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DTy1EZW52ZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ08tRGVudmVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA3OGVjYjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ08tRGVudmVyCkBAIC0wLDAgKzEsMTE2IEBACisjIG1haW4gY2hhbm5lbHMgaW4gRGVudmVyCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAxODkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAyMTMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA0NzkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA0ODUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA0OTEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA0OTcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MDMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MTUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NjMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1ODEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1OTMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1OTkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MTcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MjkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MzUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NDcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NTkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2ODkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2OTUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DYWJsZS1FSUEtNTQyLUhSQy1jZW50ZXItZnJlcXVlbmNpZXMtUUFNMjU2IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLUVJQS01NDItSFJDLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzU0MWIxZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DYWJsZS1FSUEtNTQyLUhSQy1jZW50ZXItZnJlcXVlbmNpZXMtUUFNMjU2CkBAIC0wLDAgKzEsNzY3IEBACisjIFVTIEVJQS01NDIgQ2FibGUgY2VudGVyIGZyZXF1ZW5jaWVzCisjIEhhcm1vbmljYWxseSBSZWxhdGVkIENhcnJpZXJzIChIUkMpCisjIENoYW5uZWxzIDEgdG8gMTI1IGFyZSBpbiBhc2NlbmRpbmcgRUlBL05DVEEgY2hhbm5lbCBkZXNpZ25hdGlvbiBvcmRlcgorCisjMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzM3NTM2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTU3NTI3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjE3NTMwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjc3NTMzMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzc3NTM5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODM3NTQyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTc1NzU4NzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE4MTc1OTAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxODc3NTkzMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxOTM3NTk2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTk5NzU5OTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIwNTc2MDIwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMTE3NjA1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTIxNzU2MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEyNzc1NjMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMzM3NTY2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTM5NzU2OTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE0NTc1NzIwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNTE3NTc1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzIwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNTc3NTc4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTYzNzU4MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE2OTc1ODQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMTc3NjA4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjIzNzYxMTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIyOTc2MTQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMzU3NjE3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjQxNzYyMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI0Nzc2MjMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNTM3NjI2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzMwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNTk3NjI5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjY1NzYzMjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI3MTc2MzUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNzc3NjM4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjgzNzY0MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI4OTc2NDQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyOTU3NjQ3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzAxNzY1MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMwNzc2NTMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMTM3NjU2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzQwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMTk3NjU5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzI1NzY2MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMzMTc2NjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMzc3NjY4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzQzNzY3MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM0OTc2NzQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNTU3Njc3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzYxNzY4MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM2Nzc2ODMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNzM3Njg2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzUwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNzk3Njg5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzg1NzY5MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM5MTc2OTUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzOTc3Njk4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDAzNzcwMTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQwOTc3MDQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MTU3NzA3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDIxNzcxMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQyNzc3MTMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MzM3NzE2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzYwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0Mzk3NzE5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDQ1NzcyMjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ1MTc3MjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NTc3NzI4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDYzNzczMTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ2OTc3MzQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NzU3NzM3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDgxNzc0MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ4Nzc3NDMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0OTM3NzQ2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzcwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0OTk3NzQ5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTA1Nzc1MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUxMTc3NTUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MTc3NzU4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTIzNzc2MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUyOTc3NjQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MzU3NzY3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTQxNzc3MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU0Nzc3NzMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NTM3Nzc2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzgwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NTk3Nzc5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTY1Nzc4MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU3MTc3ODUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1Nzc3Nzg4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTgzNzc5MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU4OTc3OTQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1OTU3Nzk3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjAxNzgwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYwNzc4MDMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MTM3ODA2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzkwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MTk3ODA5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjI1NzgxMjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYzMTc4MTUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2Mzc3ODE4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjQzNzgyMTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDkxNzU0NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk3NzU0ODAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEwMzc1NTEwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMDk3NzUwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTE1Nzc1MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY0OTc4MjQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NTU3ODI3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjYxNzgzMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY2Nzc4MzMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NzM3ODM2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjc5NzgzOTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY4NTc4NDIwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2OTE3ODQ1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjk3Nzg0ODAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcwMzc4NTEwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MDk3ODU0MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzE1Nzg1NzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcyMTc4NjAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3Mjc3ODYzMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzMzNzg2NjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDczOTc4NjkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NDU3ODcyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzUxNzg3NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc1Nzc4NzgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NjM3ODgxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEyMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzY5Nzg4NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc3NTc4ODcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3ODE3ODkwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzg3Nzg5MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc5Mzc4OTYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3OTk3ODk5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLUVJQS01NDItSVJDLWNlbnRlcl9mcmVxdWVuY2llcy1RQU0yNTYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtRUlBLTU0Mi1JUkMtY2VudGVyX2ZyZXF1ZW5jaWVzLVFBTTI1NgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xYWEyYTExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLUVJQS01NDItSVJDLWNlbnRlcl9mcmVxdWVuY2llcy1RQU0yNTYKQEAgLTAsMCArMSw3NjcgQEAKKyMgVVMgQ2FibGUgRUlBLTU0MiBjZW50ZXIgZnJlcXVlbmNpZXMKKyMgSW5jcmVtZW50YWxseSBSZWxhdGVkIENhcnJpZXJzIChJUkMpCisjIENoYW5uZWxzIDEtMTI1IGFyZSBpbiBhc2NlbmRpbmcgRUlBL05DVEEgY2hhbm5lbCBkZXNpZ25hdGlvbiBvcmRlcgorCisjMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTcwMjUwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTc3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE4MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxODkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxOTUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjAxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIwNzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMTMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTIzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEyOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMzUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTQxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE0NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNTMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzIwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNTkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTY1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE3MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMTkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjI1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIzMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMzcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjQzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI0OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNTUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzMwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNjEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjY3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI3MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNzkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjg1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI5MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyOTcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzAzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMwOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMTUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzQwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMjEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzI3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMzMzAyNTAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMzkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzQ1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM1MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNTcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzYzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM2OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNzUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzUwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzODEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzg3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM5MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzOTkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDA1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQxMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MTcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDIzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQyOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MzUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzYwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NDEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDQ3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ1MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NTkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDY1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ3MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NzcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDgzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ4OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0OTUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzcwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MDEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTA3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUxMzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MTkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTI1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUzMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MzcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTQzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU0OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NTUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzgwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NjEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTY3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU3MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NzkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTg1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU5MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1OTcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjAzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYwOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MTUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzkwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MjEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjI3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYzMzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MzkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjQ1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDkzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEwNTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMTEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTE3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY1MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NTcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjYzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY2OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NzUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjgxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY4NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2OTMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjk5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcwNTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MTEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzE3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcyMzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MjkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzM1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc0MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NDcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzUzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc1OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NjUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEyMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzcxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc3NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3ODMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzg5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc5NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4MDEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLUhSQy1jZW50ZXItZnJlcXVlbmNpZXMtUUFNMjU2IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLUhSQy1jZW50ZXItZnJlcXVlbmNpZXMtUUFNMjU2Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJlMjBiNDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtSFJDLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYKQEAgLTAsMCArMSw3NjcgQEAKKyMgVVMgQ2FibGUgY2VudGVyIGZyZXF1ZW5jaWVzCisjIEhhcm1vbmljYWxseSBSZWxhdGVkIENhcnJpZXJzIChIUkMpCisjIENoYW5uZWxzIGFyZSBpbiBhc2NlbmRpbmcgRUlBL05DVEEgY2hhbm5lbCBkZXNpZ25hdGlvbiBvcmRlcgorCisjMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzM3NTM2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTU3NTI3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjE3NTMwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjc3NTMzMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzc3NTM5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODM3NTQyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTc1NzU4NzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE4MTc1OTAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxODc3NTkzMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxOTM3NTk2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTk5NzU5OTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIwNTc2MDIwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMTE3NjA1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTIxNzU2MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEyNzc1NjMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMzM3NTY2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTM5NzU2OTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE0NTc1NzIwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNTE3NTc1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzIwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNTc3NTc4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTYzNzU4MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE2OTc1ODQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMTc3NjA4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjIzNzYxMTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIyOTc2MTQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMzU3NjE3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjQxNzYyMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI0Nzc2MjMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNTM3NjI2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzMwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNTk3NjI5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjY1NzYzMjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI3MTc2MzUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNzc3NjM4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjgzNzY0MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI4OTc2NDQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyOTU3NjQ3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzAxNzY1MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMwNzc2NTMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMTM3NjU2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzQwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMTk3NjU5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzI1NzY2MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMzMTc2NjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMzc3NjY4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzQzNzY3MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM0OTc2NzQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNTU3Njc3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzYxNzY4MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM2Nzc2ODMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNzM3Njg2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzUwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNzk3Njg5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzg1NzY5MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM5MTc2OTUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzOTc3Njk4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDAzNzcwMTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQwOTc3MDQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MTU3NzA3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDIxNzcxMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQyNzc3MTMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MzM3NzE2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzYwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0Mzk3NzE5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDQ1NzcyMjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ1MTc3MjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NTc3NzI4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDYzNzczMTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ2OTc3MzQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NzU3NzM3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDgxNzc0MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ4Nzc3NDMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0OTM3NzQ2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzcwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0OTk3NzQ5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTA1Nzc1MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUxMTc3NTUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MTc3NzU4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTIzNzc2MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUyOTc3NjQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MzU3NzY3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTQxNzc3MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU0Nzc3NzMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NTM3Nzc2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzgwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NTk3Nzc5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTY1Nzc4MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU3MTc3ODUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1Nzc3Nzg4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTgzNzc5MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU4OTc3OTQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1OTU3Nzk3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjAxNzgwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYwNzc4MDMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MTM3ODA2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzkwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MTk3ODA5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjI1NzgxMjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYzMTc4MTUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2Mzc3ODE4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjQzNzgyMTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDkxNzU0NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk3NzU0ODAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEwMzc1NTEwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMDk3NTU0MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTE1NzU1NzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY0OTc4MjQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NTU3ODI3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjYxNzgzMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY2Nzc4MzMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NzM3ODM2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjc5NzgzOTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY4NTc4NDIwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2OTE3ODQ1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjk3Nzg0ODAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcwMzc4NTEwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MDk3ODU0MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzE1Nzg1NzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcyMTc4NjAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3Mjc3ODYzMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzMzNzg2NjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDczOTc4NjkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NDU3ODcyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzUxNzg3NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc1Nzc4NzgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NjM3ODgxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEyMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzY5Nzg4NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc3NTc4ODcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3ODE3ODkwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzg3Nzg5MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc5Mzc4OTYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3OTk3ODk5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLUlSQy1jZW50ZXItZnJlcXVlbmNpZXMtUUFNMjU2IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLUlSQy1jZW50ZXItZnJlcXVlbmNpZXMtUUFNMjU2Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkOGM0MDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtSVJDLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYKQEAgLTAsMCArMSw3NjcgQEAKKyMgVVMgQ2FibGUgY2VudGVyIGZyZXF1ZW5jaWVzCisjIEluY3JlbWVudGFsbHkgUmVsYXRlZCBDYXJyaWVycyAoSVJDKQorIyBDaGFubmVscyBhcmUgaW4gYXNjZW5kaW5nIEVJQS9OQ1RBIGNoYW5uZWwgZGVzaWduYXRpb24gb3JkZXIKKworIzEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDg1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE3NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxODMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTg5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTk1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIwMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMDcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjEzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEyMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTM1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE0MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNDcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTUzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMyMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTU5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE2NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNzEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjE5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIyNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMzEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjM3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI0MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNDkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjU1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMzMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjYxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI2NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNzMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjc5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI4NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyOTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjk3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMwMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMDkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzE1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyM0MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzIxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMyNzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMzMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzM5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM0NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzU3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM2MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzc1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyM1MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzgxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM4NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzOTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzk5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQwNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDE3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQyMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDM1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyM2MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDQxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ0NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDU5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ2NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NzEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDc3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ4MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0ODkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDk1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyM3MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTAxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUwNzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTE5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUyNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MzEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTM3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU0MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NDkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTU1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyM4MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTYxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU2NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NzMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTc5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU4NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1OTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTk3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYwMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MDkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjE1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyM5MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjIxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYyNzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MzMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjM5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY0NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMDUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTExMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDExNzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTAwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjU3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY2MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjc1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY4MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2ODcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjkzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY5OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MDUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzExMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzExMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcxNzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MjMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzI5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDczNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzQ3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc1MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzY1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc3MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NzcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzgzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc4OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3OTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODAxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DYWJsZS1TdGFuZGFyZC1jZW50ZXItZnJlcXVlbmNpZXMtUUFNMjU2IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLVN0YW5kYXJkLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjQ5MzEyOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DYWJsZS1TdGFuZGFyZC1jZW50ZXItZnJlcXVlbmNpZXMtUUFNMjU2CkBAIC0wLDAgKzEsOTYxIEBACisjIFVTIEVJQS9OQ1RBIFN0YW5kYXJkIENhYmxlIGNlbnRlciBmcmVxdWVuY2llcworIyBDaGFubmVscyBhcmUgaW4gYXNjZW5kaW5nIEVJQS9OQ1RBIGNoYW5uZWwgZGVzaWduYXRpb24gb3JkZXIKKworIzIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDg1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE3NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxODMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTg5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTk1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIwMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMDcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjEzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEyMzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMjkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTM1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE0MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNDcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTUzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMyMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTU5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE2NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNzEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjE5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIyNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMzEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjM3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI0MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNDkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjU1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMzMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjYxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI2NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNzMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjc5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI4NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyOTEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjk3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMwMzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMDkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzE1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyM0MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzIxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMyNzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMzMwMjUwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzM5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM0NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNTEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzU3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM2MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNjkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzc1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyM1MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzgxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM4NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzOTMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzk5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQwNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDE3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQyMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDM1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyM2MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDQxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ0NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDU5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ2NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NzEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDc3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ4MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0ODkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDk1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyM3MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTAxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUwNzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTE5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUyNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MzEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTM3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU0MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NDkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTU1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyM4MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTYxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU2NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NzMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTc5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU4NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1OTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTk3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYwMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MDkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjE1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyM5MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjIxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYyNzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MzMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjM5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY0NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMDUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTExMDI1MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDExNzAyNTAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTAwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjU3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY2MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjc1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY4MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2ODcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjkzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY5OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MDUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzExMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzExMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcxNzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MjMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzI5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDczNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzQ3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc1MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzY1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc3MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NzcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzgzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc4OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3OTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODAxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDgwNzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4MTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODE5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDgyNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTIxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4MzEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODM3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDg0MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4NDkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODU1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDg2MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4NjcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODczMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDg3OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4ODUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEyMgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODkxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDg5NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5MDMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTA5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDkxNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5MjEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTI3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDkzMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5MzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTQ1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMjMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk1MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5NTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTYzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk2OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5NzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTgxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk4NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5OTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTk5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1JRC1Cb2lzZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1JRC1Cb2lzZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kY2VmNjdjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUlELUJvaXNlCkBAIC0wLDAgKzEsMzggQEAKKyMgQm9pc2UsIElELCBVU0EKKyMgQSBmcmVxIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDE5NTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDIxMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUxNTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUzMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU0NTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU1NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLU1BLUJvc3RvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1NQS1Cb3N0b24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjMyNDQwMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1NQS1Cb3N0b24KQEAgLTAsMCArMSw2OCBAQAorIyBpbml0aWFsIHR1bmluZyBkYXRhIGZvciBCb3N0b24sIE1BCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MDMwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MDkwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MjcwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NjMwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1ODEwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MjMwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NDcwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1NSS1MYW5zaW5nIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLU1JLUxhbnNpbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDFmYjhkMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1NSS1MYW5zaW5nCkBAIC0wLDAgKzEsMzIgQEAKKyMgaW5pdGlhbCB0dW5pbmcgZGF0YSBmb3IgTGFuc2luZywgTUkKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYxNzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY5NTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDcxOTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDczMTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDc0MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLU5UU0MtY2VudGVyLWZyZXF1ZW5jaWVzLThWU0IgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtTlRTQy1jZW50ZXItZnJlcXVlbmNpZXMtOFZTQgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZjE1M2FmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLU5UU0MtY2VudGVyLWZyZXF1ZW5jaWVzLThWU0IKQEAgLTAsMCArMSw0MTAgQEAKKyMgVVMgTlRTQyBjZW50ZXIgZnJlcXVlbmNpZXMsIHVzZSBpZiBpbiBkb3VidAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDE3NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDE4MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDE4OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDE5NTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDIwMTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDIwNzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDIxMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDQ3MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDQ3OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDQ4NTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDQ5MTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDQ5NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUwMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUwOTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUxNTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUyMTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUyNzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUzMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUzOTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU0NTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU1MTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU1NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU2MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU2OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU3NTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU4MTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU4NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU5MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU5OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYwNTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYxMTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYxNzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYyMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYyOTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYzNTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY0MTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY0NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY1MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY1OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY2NTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY3MTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY3NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY4MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY4OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY5NTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDcwMTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDcwNzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDcxMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDcxOTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDcyNTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDczMTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDczNzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDc0MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDc0OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDc1NTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDc2MTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDc2NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDc3MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDc3OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDc4NTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDc5MTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDc5NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDgwMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLVBBLVBoaWxhZGVscGhpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1QQS1QaGlsYWRlbHBoaWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjRhN2U2OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1QQS1QaGlsYWRlbHBoaWEKQEAgLTAsMCArMSw1NiBAQAorIyBVUyBOWSBzdGF0ZQorCisjQSAxODMwMDAwMDAgOFZTQgorI0EgNTE1MDAwMDAwIDhWU0IKKyNBIDU0NTAwMDAwMCA4VlNCCisjQSA1NTEwMDAwMDAgOFZTQgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU3NTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU4MTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU5MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworI0EgNjQxMDAwMDAwIDhWU0IKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NDcwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKyNBIDcxOTAwMDAwMCA4VlNCCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzczMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzg1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzkxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9hY3RpdnkucmNtbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2FjdGl2eS5yY21tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3ZDcyODAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9hY3RpdnkucmNtbQpAQCAtMCwwICsxLDUzIEBACisweDAwIEtFWV8wCisweDAxIEtFWV8xCisweDAyIEtFWV8yCisweDAzIEtFWV8zCisweDA0IEtFWV80CisweDA1IEtFWV81CisweDA2IEtFWV82CisweDA3IEtFWV83CisweDA4IEtFWV84CisweDA5IEtFWV85CisKKzB4MGMgS0VZX1BPV0VSCisweDBhIEtFWV9CQUNLCisKKzB4ZmUgS0VZX1NDUk9MTFVQCisweGZmIEtFWV9TQ1JPTExET1dOCisKKzB4NDAgS0VZX0dPVE8KKzB4ODYgS0VZX0tFWUJPQVJECisKKzB4ODcgS0VZX1JFRAorMHhkYSBLRVlfR1JFRU4KKzB4ZjMgS0VZX1lFTExPVworMHg4OCBLRVlfQkxVRQorCisweDgyIEtFWV9IT01FCisweDU0IEtFWV9NRU5VCisKKzB4NTggS0VZX1VQCisweDU5IEtFWV9ET1dOCisweDVhIEtFWV9MRUZUCisweDViIEtFWV9SSUdIVAorCisweDVjIEtFWV9PSworCisweGYwIEtFWV9DSEFOTkVMVVAKKzB4ZWYgS0VZX0NIQU5ORUxET1dOCisKKzB4MTAgS0VZX1ZPTFVNRVVQCisweDExIEtFWV9WT0xVTUVET1dOCisKKzB4ODEgS0VZX0lORk8KKzB4MGQgS0VZX01VVEUKKworMHgyZiBLRVlfUkVXSU5ECisweDJjIEtFWV9QTEFZUEFVU0UKKzB4MmUgS0VZX0ZBU1RGT1JXQVJECisweDM3IEtFWV9SRUNPUkQKKworMHgyMSBLRVlfUFJFVklPVVMKKzB4MzEgS0VZX1NUT1AKKzB4MjAgS0VZX05FWFQKKzB4NDIgS0VZX0VKRUNUQ0QKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2dhbGF4aXMucmNtbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2dhbGF4aXMucmNtbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOGViMzg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvZ2FsYXhpcy5yY21tCkBAIC0wLDAgKzEsNTAgQEAKKzB4MDAgS0VZXzAKKzB4MDEgS0VZXzEKKzB4MDIgS0VZXzIKKzB4MDMgS0VZXzMKKzB4MDQgS0VZXzQKKzB4MDUgS0VZXzUKKzB4MDYgS0VZXzYKKzB4MDcgS0VZXzcKKzB4MDggS0VZXzgKKzB4MDkgS0VZXzkKKworMHgwYSBLRVlfTUhQCisweDBjIEtFWV9QT1dFUgorMHgwZCBLRVlfTVVURQorMHgwZiBLRVlfSU5GTworMHgxMCBLRVlfVk9MVU1FVVAKKzB4MTEgS0VZX1ZPTFVNRURPV04KKzB4MjAgS0VZX0NIQU5ORUxVUAorMHgyMSBLRVlfQ0hBTk5FTERPV04KKzB4M2MgS0VZX1RFWFQKKzB4M2YgS0VZX1RWCisKKzB4NDUgS0VZX1NFVFVQCisweDRiIEtFWV9TVUJUSVRMRQorMHg0ZSBLRVlfTEFOR1VBR0UKKworMHg1MCBLRVlfUkFESU8KKzB4NTUgS0VZX0VYSVQKKworMHg1OCBLRVlfVVAKKzB4NTkgS0VZX0RPV04KKzB4NWEgS0VZX0xFRlQKKzB4NWIgS0VZX1JJR0hUCisweDVjIEtFWV9PSworCisweDZkIEtFWV9SRUQKKzB4NmUgS0VZX0dSRUVOCisweDZmIEtFWV9ZRUxMT1cKKzB4NzAgS0VZX0JMVUUKKworMHg3OCBLRVlfTUVOVQorMHg3OSBLRVlfTElTVAorMHhjYyBLRVlfRVBHCisKKzB4YzQgS0VZX1VQCisweGM1IEtFWV9VUAorMHhjNiBLRVlfRE9XTgorMHhjNyBLRVlfRE9XTgorCisweGZmIEtFWV9WQ1IKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2hhdXBwYXVnZS5yYzUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9oYXVwcGF1Z2UucmM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1MmViODUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9oYXVwcGF1Z2UucmM1CkBAIC0wLDAgKzEsMjQgQEAKKzB4MDAgS0VZXzAKKzB4MDEgS0VZXzEKKzB4MDIgS0VZXzIKKzB4MDMgS0VZXzMKKzB4MDQgS0VZXzQKKzB4MDUgS0VZXzUKKzB4MDYgS0VZXzYKKzB4MDcgS0VZXzcKKzB4MDggS0VZXzgKKzB4MDkgS0VZXzkKKworMHgwYyBLRVlfUkFESU8KKzB4MGQgS0VZX01VVEUKKzB4MGYgS0VZX1RWCisKKzB4MTAgS0VZX1ZPTFVNRVVQCisweDExIEtFWV9WT0xVTUVET1dOCisweDFlIEtFWV9WRU5ET1IKKworMHgyMCBLRVlfQ0hBTk5FTFVQCisweDIxIEtFWV9DSEFOTkVMRE9XTgorMHgyMiBLRVlfU0VMRUNUCisweDI2IEtFWV9DWUNMRVdJTkRPV1MKKzB4MmUgS0VZX1NDUkVFTgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvaGF1cHBhdWdlMi5yYzUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9oYXVwcGF1Z2UyLnJjNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjNmZWE4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvaGF1cHBhdWdlMi5yYzUKQEAgLTAsMCArMSw0MCBAQAorMHgwMCBLRVlfMAorMHgwMSBLRVlfMQorMHgwMiBLRVlfMgorMHgwMyBLRVlfMworMHgwNCBLRVlfNAorMHgwNSBLRVlfNQorMHgwNiBLRVlfNgorMHgwNyBLRVlfNworMHgwOCBLRVlfOAorMHgwOSBLRVlfOQorCisweDEwIEtFWV9WT0xVTUVVUAorMHgxMSBLRVlfVk9MVU1FRE9XTgorMHgxZSBLRVlfVkVORE9SCisKKzB4MjAgS0VZX0NIQU5ORUxVUAorMHgyMSBLRVlfQ0hBTk5FTERPV04KKzB4MjIgS0VZX1NFTEVDVAorMHgyNiBLRVlfQ1lDTEVXSU5ET1dTCisKKzB4M2QgS0VZX1BPV0VSCisweDNiIEtFWV9HT1RPCisweDFmIEtFWV9CQUNLCisweDBkIEtFWV9NRU5VCisweDBiIEtFWV9SRUQKKzB4MmUgS0VZX0dSRUVOCisweDM4IEtFWV9ZRUxMT1cKKzB4MjUgS0VZX09LCisweDI5IEtFWV9CTFVFCisweDBmIEtFWV9NVVRFCisweDBjIEtFWV9BVVgKKzB4M2MgS0VZX1NDUkVFTgorMHgzMiBLRVlfUkVXSU5ECisweDM1IEtFWV9QTEFZCisweDM0IEtFWV9GT1JXQVJECisweDM3IEtFWV9SRUNPUkQKKzB4MzYgS0VZX1NUT1AKKzB4MzAgS0VZX1BBVVNFCisweDI0IEtFWV9MRUZUCisweDFlIEtFWV9SSUdIVApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvaGF1cHBhdWdlX2dyZXkucmM1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvaGF1cHBhdWdlX2dyZXkucmM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiY2E1MjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9oYXVwcGF1Z2VfZ3JleS5yYzUKQEAgLTAsMCArMSwzOSBAQAorMHgzZCBLRVlfUE9XRVIKKzB4M2IgS0VZX0dPVE8KKworMHgwMCBLRVlfMAorMHgwMSBLRVlfMQorMHgwMiBLRVlfMgorMHgwMyBLRVlfMworMHgwNCBLRVlfNAorMHgwNSBLRVlfNQorMHgwNiBLRVlfNgorMHgwNyBLRVlfNworMHgwOCBLRVlfOAorMHgwOSBLRVlfOQorCisweDFmIEtFWV9FWElUCisweDBkIEtFWV9NRU5VCisKKzB4MGIgS0VZX1JFRAorMHgyZSBLRVlfR1JFRU4KKzB4MzggS0VZX1lFTExPVworMHgyOSBLRVlfQkxVRQorCisweDExIEtFWV9MRUZUCisweDEwIEtFWV9SSUdIVAorMHgyMCBLRVlfVVAKKzB4MjEgS0VZX0RPV04KKzB4MjUgS0VZX09LCisKKzB4MGYgS0VZX01VVEUKKzB4MGMgS0VZX0lORk8KKzB4M2MgS0VZX0VQRworMHgzMiBLRVlfUkVXSU5ECisweDM1IEtFWV9QTEFZCisweDM0IEtFWV9GQVNURk9SV0FSRAorMHgzNyBLRVlfUkVDT1JECisweDM2IEtFWV9TVE9QCisweDMwIEtFWV9QQVVTRQorMHgyNCBLRVlfUFJFVklPVVMKKzB4MWUgS0VZX05FWFQKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL21ib184MTA5NS1jb2RlXzU2Mi5yYzUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9tYm9fODEwOTUtY29kZV81NjIucmM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1N2U0MTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9tYm9fODEwOTUtY29kZV81NjIucmM1CkBAIC0wLDAgKzEsMzkgQEAKKzB4MGMgS0VZX1BPV0VSCisKKzB4MDEgS0VZXzEKKzB4MDIgS0VZXzIKKzB4MDMgS0VZXzMKKzB4MDQgS0VZXzQKKworMHgwNSBLRVlfNQorMHgwNiBLRVlfNgorMHgwNyBLRVlfNworMHgwOCBLRVlfOAorCisweDA5IEtFWV85CisweDAwIEtFWV8wCisweDBhIEtFWV9GMTEKKzB4MmIgS0VZX0YxMgorCisweDNmIEtFWV9QUk9HUkFNCisweDIzIEtFWV9DT05GSUcKKzB4MGQgS0VZX01VVEUKKworMHgxMSBLRVlfVk9MVU1FRE9XTgorMHgxMCBLRVlfVk9MVU1FVVAKKzB4MjAgS0VZX0NIQU5ORUxVUAorMHgyMSBLRVlfQ0hBTk5FTERPV04KKzB4MjkgS0VZX1RWCisKKzB4MWEgS0VZX1JFRAorMHgxYiBLRVlfR1JFRU4KKzB4MmUgS0VZX1lFTExPVworMHgyNCBLRVlfQkxVRQorCisweDMyIEtFWV9SRVdJTkQKKzB4MzUgS0VZX1BMQVkKKzB4MzQgS0VZX0ZPUldBUkQKKzB4MzcgS0VZX1JFQ09SRAorCisweDM2IEtFWV9TVE9QCisweDMwIEtFWV9QQVVTRQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvbWVkaW9uXzA4OC5yYzUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9tZWRpb25fMDg4LnJjNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYmVjM2ZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvbWVkaW9uXzA4OC5yYzUKQEAgLTAsMCArMSwzNiBAQAorMHgwMCBLRVlfMAorMHgwMSBLRVlfMQorMHgwMiBLRVlfMgorMHgwMyBLRVlfMworMHgwNCBLRVlfNAorMHgwNSBLRVlfNQorMHgwNiBLRVlfNgorMHgwNyBLRVlfNworMHgwOCBLRVlfOAorMHgwOSBLRVlfOQorCisweDBiIEtFWV9CQUNLCisweDBjIEtFWV9QT1dFUgorMHgwZCBLRVlfTVVURQorMHgwZSBLRVlfTUVOVQorMHgwZiBLRVlfVFYKKworMHgxMCBLRVlfVk9MVU1FVVAKKzB4MTEgS0VZX1ZPTFVNRURPV04KKzB4MTIgS0VZX1VQCisweDEzIEtFWV9ET1dOCisweDE0IEtFWV9SSUdIVAorMHgxNSBLRVlfTEVGVAorMHgxZSBLRVlfVkVORE9SCisKKzB4MjAgS0VZX0NIQU5ORUxVUAorMHgyMSBLRVlfQ0hBTk5FTERPV04KKzB4MjIgS0VZX1NFTEVDVAorMHgyMyBLRVlfT0sKKzB4MjYgS0VZX0NZQ0xFV0lORE9XUworMHgyZSBLRVlfU0NSRUVOCisKKzB4MzcgS0VZX1JFRAorMHgzNiBLRVlfR1JFRU4KKzB4MzQgS0VZX0JMVUUKKzB4MzIgS0VZX1lFTExPVwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvbWVkaW9uXzE1NS5yYzUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9tZWRpb25fMTU1LnJjNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTZiYmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvbWVkaW9uXzE1NS5yYzUKQEAgLTAsMCArMSwzNSBAQAorMHgwMCBLRVlfMAorMHgwMSBLRVlfMQorMHgwMiBLRVlfMgorMHgwMyBLRVlfMworMHgwNCBLRVlfNAorMHgwNSBLRVlfNQorMHgwNiBLRVlfNgorMHgwNyBLRVlfNworMHgwOCBLRVlfOAorMHgwOSBLRVlfOQorCisweDM1IEtFWV9CQUNLCisweDBjIEtFWV9QT1dFUgorMHgwZCBLRVlfTVVURQorMHgzZiBLRVlfTUVOVQorMHgwZiBLRVlfVFYKKworMHgxMCBLRVlfVk9MVU1FVVAKKzB4MTEgS0VZX1ZPTFVNRURPV04KKzB4MTIgS0VZX1VQCisweDEzIEtFWV9ET1dOCisweDE0IEtFWV9SSUdIVAorMHgxNSBLRVlfTEVGVAorCisweDBhIEtFWV9DSEFOTkVMVVAKKzB4MGIgS0VZX0NIQU5ORUxET1dOCisweDIyIEtFWV9TRUxFQ1QKKzB4MjMgS0VZX09LCisweDI2IEtFWV9DWUNMRVdJTkRPV1MKKzB4MmUgS0VZX1NDUkVFTgorCisweDM3IEtFWV9SRUQKKzB4MzYgS0VZX0dSRUVOCisweDM0IEtFWV9CTFVFCisweDMyIEtFWV9ZRUxMT1cKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL3BoaWxpcHMucmM1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvcGhpbGlwcy5yYzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjhiYzg1ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL3BoaWxpcHMucmM1CkBAIC0wLDAgKzEsMzIgQEAKKzB4MDAgS0VZXzAKKzB4MDEgS0VZXzEKKzB4MDIgS0VZXzIKKzB4MDMgS0VZXzMKKzB4MDQgS0VZXzQKKzB4MDUgS0VZXzUKKzB4MDYgS0VZXzYKKzB4MDcgS0VZXzcKKzB4MDggS0VZXzgKKzB4MDkgS0VZXzkKKworMHgwYiBLRVlfTUVOVQorMHgwYyBLRVlfUE9XRVIKKzB4MGQgS0VZX01VVEUKKzB4MGUgS0VZX09LCisweDBmIEtFWV9NSU5VUworMHgxMCBLRVlfVk9MVU1FVVAKKzB4MTEgS0VZX1ZPTFVNRURPV04KKworMHgyMCBLRVlfQ0hBTk5FTFVQCisweDIxIEtFWV9DSEFOTkVMRE9XTgorMHgyNiBLRVlfSU5GTworMHgyZCBLRVlfWk9PTQorMHgyZSBLRVlfQ1lDTEVXSU5ET1dTCisKKzB4MzIgS0VZX1BMQVkKKzB4MzQgS0VZX0ZPUldBUkQKKzB4MzYgS0VZX1NUT1AKKzB4MzcgS0VZX1JFV0lORAorMHgzOCBLRVlfQVVYCisweDNjIEtFWV9URVhUCisweDNmIEtFWV9TQ1JFRU4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL3BoaWxpcHMxMzU4LnJjNSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL3BoaWxpcHMxMzU4LnJjNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDU3NTVlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvcGhpbGlwczEzNTgucmM1CkBAIC0wLDAgKzEsMzcgQEAKKzB4MDAgS0VZXzAKKzB4MDEgS0VZXzEKKzB4MDIgS0VZXzIKKzB4MDMgS0VZXzMKKzB4MDQgS0VZXzQKKzB4MDUgS0VZXzUKKzB4MDYgS0VZXzYKKzB4MDcgS0VZXzcKKzB4MDggS0VZXzgKKzB4MDkgS0VZXzkKKzB4MEMgS0VZX1BPV0VSCisweDBEIEtFWV9NVVRFCisweDBFIEtFWV9PSworMHgwRiBLRVlfRElHSVRTCisweDEwIEtFWV9SSUdIVAorMHgxMSBLRVlfTEVGVAorMHgxRSBLRVlfU1RPUAorMHgyMCBLRVlfVVAKKzB4MjEgS0VZX0RPV04KKzB4MjMgS0VZX0FCCisweDI0IEtFWV9SRUNPUkQKKzB4MjUgS0VZX1NVQlRJVExFCisweDI2IEtFWV9JTkZPCisweDI5IEtFWV9QTEFZCisweDJBIEtFWV9GT1JXQVJECisweDJCIEtFWV9QQVVTRQorMHgyQyBLRVlfUkVXSU5ECisweDJEIEtFWV9GNAorMHgyRSBLRVlfRjMKKzB4MzIgS0VZX1lFTExPVworMHgzNCBLRVlfQkxVRQorMHgzNiBLRVlfR1JFRU4KKzB4MzcgS0VZX1JFRAorMHgzOCBLRVlfQVVYCisweDNDIEtFWV9GMgorMHgzRCBLRVlfU0NSRUVOCisweDNGIEtFWV9GMQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvdGVjaG5vdHJlbmQucmM1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvdGVjaG5vdHJlbmQucmM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyNmZkYzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy90ZWNobm90cmVuZC5yYzUKQEAgLTAsMCArMSw0MSBAQAorMHgyMiBLRVlfRVBHCisweDFhIEtFWV9SQURJTworMHgxOSBLRVlfVEVYVAorCisweDBjIEtFWV8wCisweDAzIEtFWV8xCisweDA0IEtFWV8yCisweDA1IEtFWV8zCisweDA2IEtFWV80CisweDA3IEtFWV81CisweDA4IEtFWV82CisweDA5IEtFWV83CisweDBhIEtFWV84CisweDBiIEtFWV85CisKKzB4MGQgS0VZX1VQCisweDExIEtFWV9ET1dOCisweDI1IEtFWV9WT0xVTUVVUAorMHgyNiBLRVlfVk9MVU1FRE9XTgorCisweDIzIEtFWV9DSEFOTkVMVVAKKzB4MjQgS0VZX0NIQU5ORUxET1dOCisKKzB4MDEgS0VZX1BPV0VSCisweDEzIEtFWV9CQUNLCisweDAyIEtFWV9NRU5VCisweDE0IEtFWV9SRUQKKzB4MTUgS0VZX0dSRUVOCisweDE2IEtFWV9ZRUxMT1cKKzB4MGYgS0VZX09LCisweDE3IEtFWV9CTFVFCisweDE4IEtFWV9NVVRFCisweDNkIEtFWV9SRVdJTkQKKzB4M2IgS0VZX1BMQVkKKzB4M2YgS0VZX0ZPUldBUkQKKzB4M2EgS0VZX1JFQ09SRAorMHgzYyBLRVlfU1RPUAorMHgzZSBLRVlfUEFVU0UKKzB4MGUgS0VZX0xFRlQKKzB4MTAgS0VZX1JJR0hUCisweDEyIEtFWV9JTkZPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LUlubnNicnVjayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtSW5uc2JydWNrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg5ODMzZWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LUlubnNicnVjawpAQCAtMCwwICsxLDUwIEBACisjIHNjYW4gY29uZmlnIGZvciBJbm5zYnJ1Y2sgVGVsZXN5c3RlbSBjYWJsZSBwcm92aWRlcgorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtS2FiZWwtQnJhdW5hdSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtS2FiZWwtQnJhdW5hdQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MTExYzNiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1LYWJlbC1CcmF1bmF1CkBAIC0wLDAgKzEsMTk0IEBACisjIEthYmVsIEJyYXVuYXUKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2MTExMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2MTExMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY0MjgwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjQyODAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2MTExMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1LYWJlbHNpZ25hbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtS2FiZWxzaWduYWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTI3MzA0NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtS2FiZWxzaWduYWwKQEAgLTAsMCArMSwyOTAgQEAKKyMga2FiZWxzaWduYWwKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LUthcnJlck5ldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtS2FycmVyTmV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM3MWM2M2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LUthcnJlck5ldApAQCAtMCwwICsxLDE4NyBAQAorIyBLYWJlbCBTdC4gRmxvcmlhbiBiZWkgTGluei9BVCBLYXJyZXJOZXQKKyMgMjAwOS0wMS0xMAorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtTGl3ZXN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1MaXdlc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjNiMGNhZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtTGl3ZXN0CkBAIC0wLDAgKzEsMjI3IEBACisjIEthYmVsIExpbnovQVQgTGl3ZXN0CisjIDIwMDYtMDgtMDEKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1TYWx6YnVyZ0FHIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1TYWx6YnVyZ0FHCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBhOWUzNjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LVNhbHpidXJnQUcKQEAgLTAsMCArMSw1MCBAQAorIyBzY2FuIGNvbmZpZyBmb3IgU2FsemJ1cmcgQUcgY2FibGUgcHJvdmlkZXIKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LVZpZW5uYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtVmllbm5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRiY2U0YTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LVZpZW5uYQpAQCAtMCwwICsxLDEwIEBACisjIEthYmVsIFZpZW5uYQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3Nzc1MDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9iZS1JTi5ESS1JbnRlZ2FuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9iZS1JTi5ESS1JbnRlZ2FuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE2ZWNmZmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2JlLUlOLkRJLUludGVnYW4KQEAgLTAsMCArMSwxMTQgQEAKKyMgSW50ZWdhbiBEVkItQyAoQmVsZ2l1bSwgSU4uREkgcmVnaW9uKQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYnItTmV0LURpZ2l0YWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2JyLU5ldC1EaWdpdGFsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE5NzM4MzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2JyLU5ldC1EaWdpdGFsCkBAIC0wLDAgKzEsMTMgQEAKKyMgTmV0IERpZ2l0YWwKKyMgSnVzdCB0aGUgaW5pdGlhbCB0cmFuc3BvbmRlciBpcyBlbm91Z2gKKworIyBmcmVxIHNyIGZlYyBtb2QKKyMgRm91bmQgb24gU2FvIEpvc2UgZG9zIENhbXBvcywgU1AKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3MzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNTIxNzAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1CZXJuLXVwYy1jYWJsZWNvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtQmVybi11cGMtY2FibGVjb20KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjA1M2Q2YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtQmVybi11cGMtY2FibGVjb20KQEAgLTAsMCArMSwxMSBAQAorIyB1cGMgY2FibGVjb20KKyMgQmVybmUsIFN3aXR6ZXJsYW5kCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtR0dBLVByYXR0ZWxuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1HR0EtUHJhdHRlbG4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjU4MWQ4MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtR0dBLVByYXR0ZWxuCkBAIC0wLDAgKzEsMjg3IEBACisjIERWQi1DIHRyYW5zcG9uZGVyL211eGVzIHNjYW4KKyMgR0dBIFByYXR0ZWxuLCBTd2l0emVybGFuZAorIyB3d3cuZ2dhLXByYXR0ZWxuLmNoCisjIE5ldHdvcmsgSUQ6IDE4NgorIyAyMDEyLTEyLTE3CisKKyMgZnJlcSAgICAgIHNyICAgICAgZmVjICBtb2QgICAgQ29tbWVudAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tUZWxlY2x1Yl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0ludGVydGFpbm1lbnRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbSW50ZXJ0YWlubWVudF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tJbnRlcnRhaW5tZW50XQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tJbnRlcnRhaW5tZW50XQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbSW50ZXJ0YWlubWVudF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLVJlZ2EtU2Vuc2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLVJlZ2EtU2Vuc2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmI1YmVmZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtUmVnYS1TZW5zZQpAQCAtMCwwICsxLDIwOSBAQAorIyBSZWdhIFNlbnNlLCBTd2l0emVybGFuZAorIyBmcmVxIHNyIGZlYyBtb2QKKworIyBQYXkgVFYKK1tUZWxlY2x1Yl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQmFzaXMgb2ZmZXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyNTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBIRFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1WaWRlbzIwMDAgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLVZpZGVvMjAwMApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NjVjOTBlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1WaWRlbzIwMDAKQEAgLTAsMCArMSwxMiBAQAorIyBDYWJsZSBWaWRlbzIwMDAKKyMgQ2FudG9uIG9mIE5ldWNoYXRlbCwgU3dpdHplcmxhbmQKKworIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLVp1ZXJpY2gtdXBjLWNhYmxlY29tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1adWVyaWNoLXVwYy1jYWJsZWNvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNjM5ZjgyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1adWVyaWNoLXVwYy1jYWJsZWNvbQpAQCAtMCwwICsxLDExIEBACisjIHVwYyBjYWJsZWNvbQorIyBadXJpY2gsIFN3aXR6ZXJsYW5kCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtaW50ZXJHR0EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLWludGVyR0dBCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUwNDU3ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLWludGVyR0dBCkBAIC0wLDAgKzEsMjIzIEBACisjIERWQi1DIHRyYW5zcG9uZGVyL211eGVzIHNjYW4KKyMgaW50ZXJHR0EsIFN3aXR6ZXJsYW5kCisjIHd3dy5pbnRlcmdnYS1hZy5jaAorIyBOZXR3b3JrIElEOiA1NTUKKyMgMjAxMi0xMi0xOAorCisjIGZyZXEgICAgICBzciAgICAgIGZlYyAgbW9kICAgIENvbW1lbnQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtcXVpY2tsaW5lLWV3YWFyYmVyZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtcXVpY2tsaW5lLWV3YWFyYmVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNTE2ODIxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1xdWlja2xpbmUtZXdhYXJiZXJnCkBAIC0wLDAgKzEsOCBAQAorIyBJbml0aWFsIHNjYW4gY29uZmlnIGZvciBTd2lzcyBEVkItQyBwcm92aWRlciBRdWlja2xpbmUgaW4gQWFyYmVyZyAoRVdBKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jei1Nb3JhdmlhbmV0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jei1Nb3JhdmlhbmV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ1N2Y4M2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2N6LU1vcmF2aWFuZXQKQEAgLTAsMCArMSwxMDggQEAKKyMgRFZCLUMgTW9yYXZpYW5ldCAoaHR0cDovL3d3dy5tb3JhdmlhLm5ldC8pCisjIEF2YWlsYWJsZSBpbiB2aWxsYWdlcyBhbmQgY2l0aWVzIGFyb3VuZCBCcm5vOgorIyBCb2h1c2xhdmljZSwgQnVrb3ZhbnksIEhydXNvdmFueSB1IEJybmEsIEh1c3RvcGVjZSwgSXZhbmNpY2UsIEppcmlrb3ZpY2UsCisjIEt5am92LCBNb3JhdnNreSBLcnVtbG92LCBNdXRlbmljZSwgTmVzbG92aWNlLCBOb3ZlIEJyYW5pY2UsIE9zbGF2YW55LAorIyBQb3B1dmt5LCBQYWRvY2hvdiwgVHJvdWJza28sIFJvc2ljZSwgVGlzbm92LCBWb2prb3ZpY2UsIFN2YXRvYm9yaWNlLAorIyBTbGFwYW5pY2UsIFphYmNpY2UsIFppZGxvY2hvdmljZQorIyBUaGUgc2FtZSBjb250ZW50IGlzIGF2YWlsYWJsZSBhbHNvIGZyb20gTmVqVFYgd2hlcmUgdGhleSBwcm92aWRlIERWQi1DLgorIyBDdXJyZW50bHkgaXQgaXMgaW4gSGF2bGlja3V2IEJyb2QsIEJyZWNsYXYsIFZlbGtlIE1lemlyaWNpCisjCisjIDIwMDgtMTItMDMKKyMKKyMgZnJlcSAgICAgIHNyICAgICAgZmVjICBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyOTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY3otVVBDIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jei1VUEMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2Q3ZmQyOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY3otVVBDCkBAIC0wLDAgKzEsMjI3IEBACisjIFVQQyDEjGVza8OhIHJlcHVibGlrYSB8IGh0dHBzOi8vd3d3LnVwYy5jei8KKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudXBjem9uZS5jei9kb3dubG9hZC9zZXpuYW1fbXV4dS5odG0KKyMgTGFzdCB1cGRhdGVkOiAyMC8zLzIwMTYKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtQmVybGluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1CZXJsaW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjkzZmY2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtQmVybGluCkBAIC0wLDAgKzEsMjYgQEAKKyMgS2FiZWwgQmVybGluCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDExMzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1CcmFuZGVuYnVyZy1IYXZlbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtQnJhbmRlbmJ1cmctSGF2ZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDA0MTdhZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtQnJhbmRlbmJ1cmctSGF2ZWwKQEAgLTAsMCArMSwyMjYgQEAKKyMgQnJhbmRlbmJ1cmcgYW4gZGVyIEhhdmVsCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtSGVzc2VuLVVuaXR5bWVkaWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLUhlc3Nlbi1Vbml0eW1lZGlhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgwN2M0NDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLUhlc3Nlbi1Vbml0eW1lZGlhCkBAIC0wLDAgKzEsMzQzIEBACitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtS2FiZWxfQlcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLUthYmVsX0JXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYyMDE1Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLUthYmVsX0JXCkBAIC0wLDAgKzEsMjMgQEAKKyMgS2FiZWwtQlcsIFN0YW5kIDA0LzIwMDcKKyMKKyMgTnVyIGVpbmUgQW5mYW5nc2ZyZXF1ZW56IGlzdCBub2V0aWcsIHVtIGRlbiBCYWxsIGlucworIyBSb2xsZW4genUgYnJpbmdlbi4gUXVhc2kgYWxzIEVpbnN0aWVnc3B1bmt0IGZ1ZXIgZWluZQorIyB1bWZhc3NlbmRlIFN1Y2hlLiBFcyBiZXN0ZWh0IGtlaW4gR3J1bmQsIHNpY2ggdW0gYWxsIGRpZQorIyB2aWVsZW4gYW5kZXJlbiBGcmVxdWVuemVuIHVuZCBkZXJlbiBha3R1ZWxsIHZlcndlbmRldGUKKyMgUGFyYW1ldGVyIHp1IGt1ZW1tZXJuIHVuZCBkaWVzZSBkYW5uIHdvbW9lZ2xpY2ggYXVjaAorIyBub2NoIGF1ZiBlaW5lbSBha3R1ZWxsZW4gU3RhbmQgaGFsdGVuIHp1IHdvbGxlbi4gQmVpIGRlcgorIyBzY2hpZXJlbiBBbnphaGwgZGVyIGlubmVyaGFsYiBkZXMgQXVzYmF1Z2ViaWV0cyBkdXJjaAorIyBLYWJlbCBCVyBnZW51dHp0ZW4gRnJlcXVlbnplbiB3YWVyZSBkYXMgbnVyIHplaXRyYXViZW5kCisjIHVuZCBmZWhsZXJhbmZhZWxsaWcuLi4gOy0pCisjCisjIERpcmsgUml0dGVyIDxkaXJrQEdOVW1hdGljLmRlPgorIworIyBmcmVxICAgICAgc3IgICAgICBmZWMgIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLUthYmVsX0RldXRzY2hsYW5kLUhhbm5vdmVyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1LYWJlbF9EZXV0c2NobGFuZC1IYW5ub3ZlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNDMyMzg0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1LYWJlbF9EZXV0c2NobGFuZC1IYW5ub3ZlcgpAQCAtMCwwICsxLDIxOSBAQAorIyBLYWJlbCBEZXV0c2NobGFuZAorIyBDcmVhdGVkIGZyb20gaHR0cDovL2hlbHBkZXNrLmtkZ2ZvcnVtLmRlL3NlbmRiL2JlbGVndW5nLTE4OC5odG1sCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtTXVlbmNoZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLU11ZW5jaGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2ZjYzNzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLU11ZW5jaGVuCkBAIC0wLDAgKzEsMTc0IEBACisjIDIwMDgtMDYtMjIKKyMgQXJlYTogTXVlbmNoZW4gQ2l0eQorIyBDYWJsZSBQcm92aWRlcjogS2FiZWwgJiBNZWRpZW4gU2VydmljZSAtIGh0dHA6Ly93d3cuYXRjYWJsZS5kZQorIyBDYWJsZSBDb250ZW50OiBDYWJsZXZpc3RhIEdtYkggLSBodHRwOi8vd3d3LmNhYmxldmlzdGEuZGUKKyMKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMTMwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTIxMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLU5ldEFhY2hlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtTmV0QWFjaGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU4ZWU1OTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLU5ldEFhY2hlbgpAQCAtMCwwICsxLDI5MiBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBmaWxlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHdfc2NhbgorIyAoaHR0cDovL3dpcmJlbC5odHBjLWZvcnVtLmRlL3dfc2Nhbi9pbmRleDIuaHRtbCkKKyMhIDx3X3NjYW4+IDIwMTIwNjA1IDEgMCBDQUJMRSBERSA8L3dfc2Nhbj4KKyMgTWFudWFsbHkgYWRqdXN0ZWQgYnkgcmVkdWNpbmcgd2hpdGVzcGFjZSBiZXR3ZWVuIGZlYyBhbmQgbW9kCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogR2VybWFueSwgQWFjaGVuLCBOZXRBYWNoZW4sIGh0dHA6Ly93d3cubmV0YWFjaGVuLmRlLworIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTMtMDQtMTEKKyMgcHJvdmlkZWQgYnkgKG9wdCkgICAgOiBUaWxsIE1hYXMgPG9wZW5zb3VyY2VAdGlsbC5uYW1lPgorIworIyBDWzJdIFtwbHBfaWRdIFtkYXRhX3NsaWNlX2lkXSBbc3lzdGVtX2lkXSA8ZnJlcT4gPHNyPiA8ZmVjPiA8bW9kPiBbIyBjb21tZW50XQorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTEzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMjEwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMjkwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tCZXRhRGlnaXRhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0JldGFEaWdpdGFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQmV0YURpZ2l0YWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tCZXRhRGlnaXRhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0JldGFEaWdpdGFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtUHJpbWFjb20gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLVByaW1hY29tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY4OWE4NmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLVByaW1hY29tCkBAIC0wLDAgKzEsMjUxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAxMzAzMzEgMSAwIENBQkxFIERFIDwvd19zY2FuPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IENoZW1uaXR6IFByaW1hY29tCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxMy0wNi0yMgorIyBwcm92aWRlZCBieSAob3B0KSAgICA6IFN2ZW4gRWNrZWxtYW5uIDxzdmVuQG5hcmZhdGlvbi5vcmc+CisjCisjIENbMl0gW3BscF9pZF0gW2RhdGFfc2xpY2VfaWRdIFtzeXN0ZW1faWRdIDxmcmVxPiA8c3I+IDxmZWM+IDxtb2Q+IFsjIGNvbW1lbnRdCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMjEwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTY5MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMjkwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTM3MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE0NTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTUzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNjEwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtVW5pdHltZWRpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtVW5pdHltZWRpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMzIzZDFhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1Vbml0eW1lZGlhCkBAIC0wLDAgKzEsMjYwIEBACisjIFVuaXR5bWVkaWEKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudW5pdHltZWRpYS5kZS9zZXJ2aWNlL3NvZm9ydGhpbGZlL2ZyZXF1ZW56ZW4uaHRtbAorIyBhbmQgaHR0cDovL3d3dy51bml0eW1lZGlhLmRlL2ltYWdlcy9Vbml0eURpZ2l0YWxUVl9MaW5ldXBfMDEtMDctMjAwOS5wZGYKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMTMwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyMTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1pZXN5IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1pZXN5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZiMzYzMGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLWllc3kKQEAgLTAsMCArMSwxNDYgQEAKKyMgVW5pdHkgTWVkaWEgKGllc3kgSGVzc2VuLCBpc2ggTm9yZHJoZWluLVdlc3RmYWxlbikKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMTMwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTIxMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUta29tcm8tUm9zZW5oZWltIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1rb21yby1Sb3NlbmhlaW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDlmZmE1YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUta29tcm8tUm9zZW5oZWltCkBAIC0wLDAgKzEsMjI2IEBACisjIGtvbXJvIChSb3NlbmhlaW0pCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTEzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyMTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtbmVmdHYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLW5lZnR2Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiZjBmMDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLW5lZnR2CkBAIC0wLDAgKzEsMjM3IEBACisjIENhYmxlIGNvbmYgZm9yIE5FRnR2CisjIChOdWVybmJlcmcsIEVybGFuZ2VuLCBGdWVydGggYW5kIEhlcnpvZ2VuYXVyYWNoIChoZXJ6b21lZGlhKSkKKworIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDExMzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVGhlIGZvbGxvd2luZyBjaGFubmVsIGlzIG9ubHkgYXZhaWxhYmxlIGluIEhlcnpvZ2VuYXVyYWNoCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGstQWFyaHVzLUFudGVubmVmb3JlbmluZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGstQWFyaHVzLUFudGVubmVmb3JlbmluZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZDBhZTEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kay1BYXJodXMtQW50ZW5uZWZvcmVuaW5nCkBAIC0wLDAgKzEsOSBAQAorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RrLUNvcGVuaGFnZW4tQUZESyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGstQ29wZW5oYWdlbi1BRkRLCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE3NzNjYzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RrLUNvcGVuaGFnZW4tQUZESwpAQCAtMCwwICsxLDY3IEBACisjIEFGREssIENvcGVuaGFnZW4KKyMgaHR0cDovL3d3dy5hZmRrLnR2LworIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kay1PZGVuc2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RrLU9kZW5zZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZmFjOWM4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kay1PZGVuc2UKQEAgLTAsMCArMSw2NiBAQAorIyBHbGVudGV2ZWpzIEFudGVubmVsYXVnIChEZW5tYXJrIC8gT2RlbnNlKQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI1NTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNTAwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGstWW91U2VlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kay1Zb3VTZWUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTRjYWRiNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGstWW91U2VlCkBAIC0wLDAgKzEsMjIzIEBACitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDYwMjAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNTg2MDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDU3ODAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNTYyMDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDU1NDAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNTM4MDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDUzMDAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNTE0MDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDUwNjAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNDkwMDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA0NTgwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNDUwMDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNDAyMDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDM3ODAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSAyNDgwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gMjM4MDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDIzMDAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSAxNTYwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gMTQzMDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDEzNTAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZXMtRXVza2FsdGVsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9lcy1FdXNrYWx0ZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmY1OTI2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZXMtRXVza2FsdGVsCkBAIC0wLDAgKzEsMTE3IEBACisjIFNjYW4gY29uZmlnIGZvciBFdXNrYWx0ZWwgKERWQi1DKQorIyBCYXNxdWUgQ291bnRyeSAtIFNwYWluCisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vZnJlZS5wYWdlcy5hdC93aXJiZWw0dmRyL3dfc2Nhbi9pbmRleDIuaHRtbCkKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktSFRWIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1IVFYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWI2OWRlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktSFRWCkBAIC0wLDAgKzEsMjM0IEBACisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly9kdmIud2VsaG8uZmkvaGVsNS1zaWR1bXAxLnhtbAorIyAyMDE2LTAxLTA2IDE1OjQyOjMyLjA3MzYzNworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyOTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktSm9lbnN1dS1UaWtrYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktSm9lbnN1dS1UaWtrYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZjhkYmUxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1Kb2Vuc3V1LVRpa2thCkBAIC0wLDAgKzEsOTAgQEAKKyMgRFZCLUMsIFRpa2thIE1lZGlhLCBKb2Vuc3V1LCBGaW5sYW5kCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktS2Fpc2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLUthaXNhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkxYjg2OWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLUthaXNhCkBAIC0wLDAgKzEsMjI2IEBACisjIEthaXNhbmV0IE95IChLYWphYW5pKQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzA4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzA4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1UVFYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLVRUVgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMTA3MTljCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1UVFYKQEAgLTAsMCArMSwxOCBAQAorIyBUVFYKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1UdXJrdSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktVHVya3UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDhjN2RhNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktVHVya3UKQEAgLTAsMCArMSwxNzAgQEAKKyMgVHVydW4gS2FhcGVsaXRlbGV2aXNpbyBPeSAoVHVya3UpCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1kbmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLWRuYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MGJkZDYzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1kbmEKQEAgLTAsMCArMSwyMzcgQEAKKyMgRE5BIG5ldHdvcmsgcmVmZXJlbmNlIGNoYW5uZWxzCisjIHVwZGF0ZWQgMjAxMS0wNC0wOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgaHR0cDovL3d3dy5kbmEuZmkvWUtTSVRZSVNJTExFL1RWL0tBQVBFTElUVi9TaXZ1dC9UYWFqdXVkZXQuYXNweAorIworIyBmcmVxICAgICAgc3IgICAgICBmZWMgIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyOTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktamtsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1qa2wKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2RmZDY3OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktamtsCkBAIC0wLDAgKzEsNjYgQEAKKyMgT25DYWJsZSAoRmlubGFuZCAvIEp5dsOkc2t5bMOkKQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLXNvbmVyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktc29uZXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZhMTMyNmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLXNvbmVyYQpAQCAtMCwwICsxLDE5NiBAQAorIyBTb25lcmEga2FhcGVsaS10diAoRmlubGFuZCkKKyMgTWFrc3V0dG9tYXQga2FuYXZhdCBvdmF0IDI0MiwyNTAsMzE0LDM3MCBqYSA0MTAgTUh6Om4gbXV4ZWlzc2EKKyMKKyMgZnJlcSDCoCDCoCDCoHNyIMKgIMKgIMKgZmVjIMKgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyOTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLXZhYXNhLW9uY2FibGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLXZhYXNhLW9uY2FibGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzc1MTgwZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktdmFhc2Etb25jYWJsZQpAQCAtMCwwICsxLDkwIEBACisjIE9uQ2FibGUgKEZpbmxhbmQgLyBWYWFzYSkKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE0MzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZnItbm9vcy1udW1lcmljYWJsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZnItbm9vcy1udW1lcmljYWJsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMjQ5YjM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9mci1ub29zLW51bWVyaWNhYmxlCkBAIC0wLDAgKzEsMzE0IEBACisjIENhYmxlIGVuIEZyYW5jZQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyMzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMzEwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTM5MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE0NzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNTUwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTYzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE3MTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNzkwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTg3MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE5NTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMDMwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjExMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIxOTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMjcwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjM1MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI0MzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTEwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjU5MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI2NzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNzUwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjgzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5MTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyOTkwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzE1MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzkwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ3MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc0ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvaHItQi5uZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2hyLUIubmV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFkZThlYjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2hyLUIubmV0CkBAIC0wLDAgKzEsMjUwIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAxMzAzMzEgMSAwIENBQkxFIEhSIDwvd19zY2FuPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IDxDcm9hdGlhLCBCLm5ldCwgaHR0cDovL3d3dy5ibmV0LmhyLz4KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE1LTA2LTA3CisjIHByb3ZpZGVkIGJ5IChvcHQpICAgIDogPGdvZ28gdHJlYmVsbmlrMkBnbWFpbC5jb20+CisjCisjIENbMl0gW3BscF9pZF0gW2RhdGFfc2xpY2VfaWRdIFtzeXN0ZW1faWRdIDxmcmVxPiA8c3I+IDxmZWM+IDxtb2Q+IFsjIGNvbW1lbnRdCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvaHUtRGlnaWthYmVsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9odS1EaWdpa2FiZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDhkNTA2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvaHUtRGlnaWthYmVsCkBAIC0wLDAgKzEsMTQ0IEBACisjIERpZ2lrYWJlbCwgSHVuZ2FyeQorIyBGb3IgdGhlIGZvbGxvd2luZyBjaXRpZXM6CisjICBCdWRhcGVzdCwgRG9yb2csIEhhdHZhbiwgS2lza3VuaGFsYXMsIERlYnJlY2VuLCBTemVrZXNmZWhlcnZhciwgUGVjcywKKyMgIFZlc3pwcmVtLCBEdW5hdWp2YXJvcywgTWlza29sYywgR3lvbmd5b3MsIFRhdGFiYW55YSwgVmFycGFsb3RhLCBOYWd5a2FuaXpzYSwKKyMgIFNhbGdvdGFyamFuLCBCYXRvbnl0ZXJlbnllLCBTem9sbm9rLCBTemVudGlzdHZhbiwgTnlpcmVneWhhemEsIEd5b3IsCisjICBTemF6aGFsb21iYXR0YSwgQmVrZXNjc2FiYSwgQmVrZXMsIEVnZXIsIEtvbWxvLCBPcm9zemxhbnkKKyMgSW4gc29tZSBvZiB0aGUgY2l0aWVzIG5vdCBhbGwgdGhlIGZyZXF1ZW5jaWVzIGFyZSBhdmFpbGFibGUuCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTIxMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbHUtRXR0ZWxicnVjay1BQ0UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2x1LUV0dGVsYnJ1Y2stQUNFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRhNTY3ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2x1LUV0dGVsYnJ1Y2stQUNFCkBAIC0wLDAgKzEsMTMyIEBACisjIFNjYW4gY29uZmlnIGZvciBBbnRlbm5lIENvbGxlY3RpdmUgRXR0ZWxicnVjayBhLnMuYi5sLgorIyAoaHR0cDovL2FudGVubmUtZXR0ZWxicnVjay5sdSkKKyMgTHV4ZW1ib3VyZyAtIEV0dGVsYnJ1Y2sKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjU2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSAzNDUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY2MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gMzQ1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MjAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDM0NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzMyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSAzNDUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcyNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gMzQ1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MjgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDM0NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9ubC1EZWx0YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbmwtRGVsdGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDI3OGY4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbmwtRGVsdGEKQEAgLTAsMCArMSwxNSBAQAorIyBJbml0aWFsIFR1bmluZyBmaWxlIGZvciBubC1ERUxUQQorIyBUaGlzIGZpbGUgb25seSBsaXN0cyB0aGUgbWFpbgorIyBmcmVxdWVuY3kuIFlvdSBzdGlsbCBuZWVkIHRvIGRvCisjIGEgbmV0d29yayBzY2FuIHRvIGZpbmQgb3RoZXIKKyMgdHJhbnNwb25kZXJzLgorIworIworW01haW4gRnJlcXVlbmN5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL25sLVJFS0FNLUNBSVdfR291ZGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL25sLVJFS0FNLUNBSVdfR291ZGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGNkNjBiZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbmwtUkVLQU0tQ0FJV19Hb3VkYQpAQCAtMCwwICsxLDE4IEBACisjIFJFS0FNIC8gQ2Fpd2F5LCBHb3VkYSwgTmV0aGVybGFuZHMKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNjMwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbmwtWmlnZ28gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL25sLVppZ2dvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg4Yzg5NjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL25sLVppZ2dvCkBAIC0wLDAgKzEsMTcgQEAKKyMgSW5pdGlhbCBUdW5pbmcgZmlsZSBmb3IgbmwtWmlnZ28KKyMgVGhpcyBmaWxlIG9ubHkgbGlzdHMgdGhlIG1haW4KKyMgZnJlcXVlbmNpZS4gWW91IHN0aWxsIG5lZWQgdG8gZG8KKyMgYSBuZXR3b3JrIHNjYW4gdG8gZmluZCBvdGhlcgorIyB0cmFuc3BvbmRlcnMuCisjIEFsc28gc2V0IHRoZSBuZXR3b3JrIGlkCisjIChha2Egbml0IG90aGVyKSB0bzogNTU1NQorIworCitbTWFpbiBGcmVxdWVuY3kgWmlnZ29dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbm8tT3Nsby1DYW5hbERpZ2l0YWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL25vLU9zbG8tQ2FuYWxEaWdpdGFsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE2MGMxOWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL25vLU9zbG8tQ2FuYWxEaWdpdGFsCkBAIC0wLDAgKzEsOTcgQEAKKyMgbm8tb3Nsby1DYW5hbERpZ2l0YWwgKGNhYmxlKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjk1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjk1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjk1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjk1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9uby1Pc2xvLUdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbm8tT3Nsby1HZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDVhYzQ2MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbm8tT3Nsby1HZXQKQEAgLTAsMCArMSwxNjkgQEAKKyMgbm8tT3Nsby1HZXQgKGNhYmxlKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjQxMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNzIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI4MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyOTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTUyMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9yby1EaWdpVFYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL3JvLURpZ2lUVgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZTZjYjZhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9yby1EaWdpVFYKQEAgLTAsMCArMSwyMDEgQEAKKyMgRnJvbSBodHRwOi8vd3d3LnJjcy1yZHMucm8vcGVyc29uYWwtdHY/dD1jYWJsdSZwYWNoZXQ9ZGlnaXRhbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9zZS1Hb3RobmV0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9zZS1Hb3RobmV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNmNGY3MGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL3NlLUdvdGhuZXQKQEAgLTAsMCArMSwxMjEgQEAKKyMgR290aG5ldCBEVkItQworIyBVcGRhdGVkOiAyMDA4LTA5LTE5CisjIGZyZXEgc3IgZmVjIG1vZAorCisjIEZyZWUgY2hhbm5lbHMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU1BBIGNoYW5uZWxzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIENhbmFsIERpZ2l0YWwgY2hhbm5lbHMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNzAwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDcwMDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA3MDAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNzAwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDcwMDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA3MDAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvc2UtY29taGVtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9zZS1jb21oZW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjRhY2Q5NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvc2UtY29taGVtCkBAIC0wLDAgKzEsMjQ4IEBACitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyOTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BQlMxLTc1LjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BQlMxLTc1LjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIxODM2MjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FCUzEtNzUuMEUKQEAgLTAsMCArMSw2NiBAQAorIyBBQlMtMSBAIDc1RQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUxODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU0ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU3OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY5MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjcwNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzQwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc0MDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzEtMTAzdyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DMS0xMDN3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJiOWRiODQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzEtMTAzdwpAQCAtMCwwICsxLDE5IEBACisjIEFNQyAxIEAgMTAzVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxMF9DLTEzNVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzEwX0MtMTM1VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZTM2ODQzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxMF9DLTEzNVcKQEAgLTAsMCArMSwyMSBAQAorIyBBTUMgMTAgQCAxMzVXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTI2ODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5MjY4MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DMTFfQy0xMzFXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxMV9DLTEzMVcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjIwN2Q5YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DMTFfQy0xMzFXCkBAIC0wLDAgKzEsMzAgQEAKKyMgQU1DIDExIEAgMTMxVyBDLUJBTkQKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzgyMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NzI2MDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM4NjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTQzMjIwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxNi04NS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DMTYtODUuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGQ4OWY5MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DMTYtODUuMFcKQEAgLTAsMCArMSwyNyBAQAorIyBBTUMgMiBAIDg1VworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzMxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMwMjEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzAyMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc3MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDIxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxOF9DLTEwNVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzE4X0MtMTA1VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wOWFhY2I2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxOF9DLTEwNVcKQEAgLTAsMCArMSwyMCBAQAorIyBBTUMgMTggQCAxMDVXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDY4MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzQtMTAxdyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DNC0xMDF3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjExMzk3ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzQtMTAxdwpAQCAtMCwwICsxLDU5IEBACisjIEFNQyA0IEAgMTAxLjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzIzNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY1NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcwODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODIyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTcwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MTM4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTY5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DNS03OXcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzUtNzl3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZkOGY3ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzUtNzl3CkBAIC0wLDAgKzEsMTkgQEAKKyMgQU1DIDUgQCA3OVcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMTExMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE4MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM2LTcydyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DNi03MncKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTI1OTcyYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DNi03MncKQEAgLTAsMCArMSwzMzEgQEAKKyMgQU1DIDYgQCA3MlcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ4MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjU2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDk0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0OTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTUwNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTYzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTQ2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTQ4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU1MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MzkyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTYzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDM5MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU3MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQzOTIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MzkyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTg2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY1MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYwMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjA1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM2MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYyODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NTYwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjM3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NDEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzcwMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY0ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjY3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcxNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQ2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNDAxNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc1MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzYzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5ODYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk5NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDMxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MTExMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDU1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY4OTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjU3MzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE4ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY1MTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzhfQy0xMzlXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM4X0MtMTM5VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YTMyYWRiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM4X0MtMTM5VwpAQCAtMCwwICsxLDU3IEBACisjIEFNQyA4IEAgMTM5VyBDLUJBTkQKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDU2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk1NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzM1MDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTExMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDcxMzYwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gOTI1OTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMDEyODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzktODMuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzktODMuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODQ3YWIyYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DOS04My4wVwpAQCAtMCwwICsxLDEyMyBAQAorIyBBTUMgOSBAIDgzVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDIzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc1MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyMzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzYzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDIzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc2OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyMzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODI2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NzEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg4OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDI1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTI2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDUwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDExMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DOV9DLTgzLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM5X0MtODMuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2JiMTBiZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DOV9DLTgzLjBXCkBAIC0wLDAgKzEsNDkgQEAKKyMgQU1DIDkgQCA4M1cgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MTY3MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODExMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzOTgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgxNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODgzMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzgyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MDM0MDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQWdpbGEyX0MtMTQ2LjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BZ2lsYTJfQy0xNDYuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTU5MWU1MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQWdpbGEyX0MtMTQ2LjBFCkBAIC0wLDAgKzEsMTg2IEBACisjIEFnaWxhIDIgQCAxNDYuMEUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIFZpdmEgUHJpbWUgQ2hhbm5lbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMzQ1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgWm9lIFBoaWxpcHBpbmVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRGEgQWkgVFYgaW5kb25lc2lhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMxMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUcmluaXR5IEJyb2FkY2FzdGluZyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzkxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEwMDkxMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQmF5b24gVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzk2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzM2MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFdoaXRlIFNwcmluZ3MgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQ2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjExMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRDVCBXb3JsZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjAzMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQ0NUTgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjUzMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE5CTiBQaGlsaXBwaW5lcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQWwgTWFzcml5YWgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFZpdmEgRW50ZXJ0YWlubWVudCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODg3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjcxNjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIElCQzEzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg5NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBDVE4gQ2FtYm9kaWEgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk3OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA5NjI4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRGl2eWEgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEzMzMwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRmFtaWx5bGFuZCBUViBOZXR3b3JrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE2NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNzM1MDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTVRWIFBoaWxpcHBpbmVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE3MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjEzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGhlIE9sZCBQYXRoIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE4MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVU5UVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxODgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE3MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbWF6b25hcy02MS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQW1hem9uYXMtNjEuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjc0NzFjMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQW1hem9uYXMtNjEuMFcKQEAgLTAsMCArMSw0MTEgQEAKKyMgQW1hem9uYXMgQCA2MS4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5OTMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNDA5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzQ4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA5MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTc0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMzMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEyODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDExODAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDQ5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjcwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5NzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjcwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzYzMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3ODUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjc3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgxMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTIxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxNzQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ3NTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE2ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDczMDcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjY2NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE3MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODg4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gOTYxNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA5OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3NTc2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDg5MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg4MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMTM0MzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEzMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMTExMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDc4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE4NjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTA2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEwODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExMzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjY2NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQ0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ1NDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMTExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk3MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjY3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDU0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQ5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ1NDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMzAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODQ0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE2NjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDk1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3OTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTcyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAxMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbW9zLTR3IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbW9zLTR3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUyMjI4MGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0Ftb3MtNHcKQEAgLTAsMCArMSwzNzAgQEAKKyMgQW1vcyA2IEAgNFcKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3MjIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzIyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3MjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3NTkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODA2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDgwNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODQyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg0MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4OTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5MjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5NzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAwODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjI5NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTIzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTg1MDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTY3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTI1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE3OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTU0MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzE5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzI5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzMzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzQ3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzM1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzg0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTkwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQxMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDc5MjUwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQyOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU5MjUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQzNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIwODkwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ3NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTEwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU1OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzNDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA4ODg4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1OTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMTM1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTkzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjMwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk2MzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjMwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYzNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDgwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA5MTY3MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODUxODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg1MjAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQW5pay1GMS0xMDcuM1cgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FuaWstRjEtMTA3LjNXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ2MTMwMjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FuaWstRjEtMTA3LjNXCkBAIC0wLDAgKzEsMzUgQEAKKyMgQW5payBGMSBAIDEwNy4zVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDAyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTk5ODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTk4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyNTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTk5ODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FuaWstRjFSX0MtMTA3LjNXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbmlrLUYxUl9DLTEwNy4zVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iOTk1OWI2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbmlrLUYxUl9DLTEwNy4zVwpAQCAtMCwwICsxLDkzIEBACisjIEFuaWsgRjFSIEAgMTA3LjNXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA3ODU2MDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDA4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NDk5MDAwCisJSU5ORVJfRkVDID0gMS8yCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODI0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MDAwMDAKKwlJTk5FUl9GRUMgPSAxLzIKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTE0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDcwNzgwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTI4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODM0ODAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODM0ODAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxNDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQW5pay1GMl9DLTExMS4xVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQW5pay1GMl9DLTExMS4xVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOWE4MzhhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbmlrLUYyX0MtMTExLjFXCkBAIC0wLDAgKzEsMTIgQEAKKyMgQW5payBGMiBAIDExMS4xVyBDLUJBTkQKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDEwNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MTQzMDAwCisJSU5ORVJfRkVDID0gMS8yCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQW5pay1GMy0xMTlXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbmlrLUYzLTExOVcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjQ0MDVmYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQW5pay1GMy0xMTlXCkBAIC0wLDAgKzEsNTYwIEBACisjRGlzaCBOZXR3b3JrIFVTQSB3b3JrcyB3aXRoIFBTSy84dHVyYm8KKyNKdXN0IERWQlMtVVNCIEdlbnBpeCBTa3kgV2Fsa2VyIDEgb3IgMiB3b3JrcyB3aXRoIFBTSy84dHVyYm8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzE1MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MjgwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQ1MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NTgwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzc2MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODkwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODA2MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MTkwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODM3MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NTAwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODY3MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODAwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODk4MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MjgwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1OTAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTcyMDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk4OTAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDAyMDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAyMDAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDMzMDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA1MDAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDYzMDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA4MTAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDk0MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjExMTAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTI0MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE0MjAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTU1MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE3MjAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTg1MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjIyNDAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjM5MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjUzMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyNjgwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjgyMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyOTcwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzExMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzMjYwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzQxMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNTUwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzcwMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzODQwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMDE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM5OTAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDE0MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDI4MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ0MzAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0NTcwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ3MjAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0ODYwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTAxMDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUxNjAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTMwMDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU0NTAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTU5MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU3NDAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTg5MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYwMzAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjE4MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYzMjAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjQ3MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY2MTAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjc2MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0Fwc3RhcjZfQy0xMzQuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0Fwc3RhcjZfQy0xMzQuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjYxYzdjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXBzdGFyNl9DLTEzNC4wRQpAQCAtMCwwICsxLDM2IEBACisjIEFwc3RhciA2IEAgMTM0LjBFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBOZXcgRW50ZXJ0YWlubWVudAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Mjg1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGVzdAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWIE51c2FudGFyYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzaWFTYXQyX0MtMTAwLjVFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc2lhU2F0Ml9DLTEwMC41RQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMDg4OWM4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc2lhU2F0Ml9DLTEwMC41RQpAQCAtMCwwICsxLDE1NiBAQAorIyBBc2lhU2F0IDIgMTAwLjVFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBJcmlzIFNhdCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQVBUTiBEaXJlY3QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzA2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDE2NzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFQVE4gR2xvYmFsIFZpZGVvIFdpcmUgKE1QRUctNCBTLzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzczMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg4ODkwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCWVUgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzY3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MjcwMDAKKwlJTk5FUl9GRUMgPSAxLzIKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBSksgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzc4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBSVEIgSW50ZXJuYXRpb25hbCBCcnVuZWkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzg2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNoYW1zaGFkIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNDQ0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRlRWIEhEIChNUEVHLTQgUy8yKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NjQwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQXJhYnNhdCBBU0JVIEJvdXF1ZXQgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFN0YXIgVFYgTXVsdGlwbGV4IChNUEVHLTQgUy8yKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEUgTmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTYXRMaW5rIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFN0YXIgVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODEwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNhdExpbmsgRXVyb3BlYW4gQm91cXVldCAoTVBFRy0yICYgTVBFRy00IFMyKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODEyNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE1hY2F1IFNhdGVsbGl0ZSBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQ4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDExODUyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzaWFTYXQzU19DLTEwNS41RSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXNpYVNhdDNTX0MtMTA1LjVFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ0NTRlNDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzaWFTYXQzU19DLTEwNS41RQpAQCAtMCwwICsxLDMyNiBAQAorIyBBc2lhU2F0IDNTIDEwNS41RSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgQ2hpbmEgRW50ZXJ0YWlubWVudCBUViAmIE1haGFyaXNoaSBWZWRhIFZpc2lvbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjY3MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE1lZGlhQ29ycCBDaGFubmVsIE5ld3MgQXNpYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQlRWIFdvcmxkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgR2FsYXh5IFRWQgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzY1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFplZSBOZXR3b3JrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzczMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTWFkYW5pIENoYW5uZWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzM5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MTUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBGYXNoaW9uIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQWFqIE5ld3MKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MjEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBcmlyYW5nIEFyYWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0MTgwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBHbG9iZWNhc3QgbXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU3RhciBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQWlyd2F2ZXMgTWVkaWEgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc4NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU3MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBaZWUgTmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU3RhciBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY4NTAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTdGFyIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCNFUgSU5ESUEgLSBNUEVHLTQgUy8yIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFN0YXIgVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODEwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFR1bmVyIEludGVybmF0aW9uYWwgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU3RhciBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU3RhciBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY4NTAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTYWhhcmEgU2FtYXkgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFZPQSBWb2ljZSBPZiBBbWVyaWNhIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMDQwMDAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEdsb2JlY2FzdCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDcxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTQyNDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBQVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA5MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFN1biBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwOTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NTU0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUFRWIEdsb2JhbCBVU0EKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTAyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4OTQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBQVFYgR2xvYmFsIFVLICYgRXVyb3BlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEwNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODk0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgR2FsYXh5IFRWQiBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTExMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTM2NTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBQVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDExNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRXllIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzYwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFplZSBOZXR3b3JrIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBHZW8gVFYgTmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2NjY2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzaWFzYXQ0X0MtMTIyLjJFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc2lhc2F0NF9DLTEyMi4yRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYmMwYzA5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc2lhc2F0NF9DLTEyMi4yRQpAQCAtMCwwICsxLDc2IEBACisjIEFzaWFzYXQgNCBAIDEyMi4yRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgU0lUSSBEaWdpdGFsIE5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU0lUSSBEaWdpdGFsIE5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEhlbmFuIFJhZGlvIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU0lUSSBEaWdpdGFsIE5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU0lUSSBEaWdpdGFsIG5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU0lUSSBEaWdpdGFsIG5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU0lUSSBEaWdpdGFsIG5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc3RyYS0xOS4yRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXN0cmEtMTkuMkUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmQxZjBiMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXN0cmEtMTkuMkUKQEAgLTAsMCArMSwxMCBAQAorIyBBc3RyYSAxOS4yRSBTRFQgaW5mbyBzZXJ2aWNlIHRyYW5zcG9uZGVyCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTUxNTAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzdHJhLTIzLjVFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc3RyYS0yMy41RQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZDUwNWVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc3RyYS0yMy41RQpAQCAtMCwwICsxLDQ1MCBAQAorIyBBc3RyYSAyMy41RQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzg4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4MDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEzMzMzMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4NjIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBc3RyYTJDb25uZWN0CisjIFMyIDEwODkxMjUwIEggMjIwMDAwMDAgMy80IEFVVE8gOFBTSworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDc1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTUxNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODUwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBRUFNLCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTU1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNTU1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNTkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNTk1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjg1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2MzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODUwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBRUFNLCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTYzNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODUwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBRUFNLCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjg1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE3MTkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBRUFNLCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzM5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIEFzdHJhMkNvbm5lY3QKKyMgUzIgMTE3NTgwMDAgSCAyNzUwMDAwMCA1LzYgQVVUTyA4UFNLCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNzc4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3OTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTgxNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBRUFNLCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk5MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE4NTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBRUFNLCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkxNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIEFzdHJhMkNvbm5lY3QKKyMgUzIgMTE5NTQwMDAgSCAyNzUwMDAwMCAzLzQgQVVUTyA4UFNLCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDEyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMDMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA3MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMTA5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQXN0cmEyQ29ubmVjdAorIyBTMiAxMjE0ODAwMCBIIDI3NTAwMDAwIDMvNCBBVVRPIDhQU0sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE2ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBc3RyYTJDb25uZWN0CisjIFMyIDEyMjI2MDAwIEggMjc1MDAwMDAgMy81IEFVVE8gOFBTSworIyBBc3RyYTJDb25uZWN0CisjIFMyIDEyMzA0MDAwIEggMjc1MDAwMDAgNS82IEFVVE8gOFBTSworIyBBc3RyYTJDb25uZWN0CisjIFMyIDEyMzQ0MDAwIEggMjgyMDAwMDAgNS82IEFVVE8gOFBTSworIyBBc3RyYTJDb25uZWN0CisjIFMyIDEyMzgyMDAwIEggMjc1MDAwMDAgMy80IEFVVE8gOFBTSworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTY1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU2NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjYwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNjA1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjMxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjM2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyNzcwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY0MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMjAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY0OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU2MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY2MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY4NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjk2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzExMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjcyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc3RyYS0yOC4yRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXN0cmEtMjguMkUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDI2NjgzOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXN0cmEtMjguMkUKQEAgLTAsMCArMSw4NjMgQEAKKyMgQXN0cmEgMjguMkUgU0RUIGluZm8gc2VydmljZSB0cmFuc3BvbmRlcgorIyBmcmVxIHBvbCBzciBmZWMKKworIyMgQXN0cmEgMkUKKyMgVHJhbnNwb25kZXIgMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTcxOTUwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTc1ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzc4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTc5ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExODU2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgOQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODc2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkxNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDEzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDE2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMDEyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA1MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDE5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDIwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMDkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMjEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjExMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMjIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEyOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBBc3RyYSAyRgorIyBUcmFuc3BvbmRlciAyMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTQ4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAyNAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjE2ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDI1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxODgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDI2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyMDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAyNworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjIyNjUwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMjgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIyNDYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyMgQXN0cmEgMkUKKyMgVHJhbnNwb25kZXIgMjkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjI2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIEFzdHJhIDJFCisjIFRyYW5zcG9uZGVyIDMxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzMDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBBc3RyYSAyRQorIyBUcmFuc3BvbmRlciAzMQorW0NIQU5ORUxdCisgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCUworICAgICAgIEZSRVFVRU5DWSA9IDEyMzA0MDAwCisgICAgICAgUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorICAgICAgIFNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKyAgICAgICBJTk5FUl9GRUMgPSAyLzMKKyAgICAgICBNT0RVTEFUSU9OID0gUVBTSworICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAzMgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjMyNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDMzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMzQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAzNAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjM2MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBBc3RyYSAyRgorIyBUcmFuc3BvbmRlciAzOAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjQ0MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDM5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNDYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyMgQXN0cmEgMkUKKyMgVHJhbnNwb25kZXIgNDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBBc3RyYSAyRQorIyBUcmFuc3BvbmRlciA0MQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzE0MjUwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA0MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzI5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNDMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNDQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDQ1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3NzMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDQ2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3ODgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA0NworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODAzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA0OAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODE4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNDkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTA4MzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA1MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMDg0NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA1MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMDg3NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA1MworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODkxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA1NAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTA2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNTYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTA5MzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIEFzdHJhIDJHCisjIFRyYW5zcG9uZGVyIDU3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5NjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDU5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5OTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDYxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMDI0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNjMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTEwNTI3NTAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA2NAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTA2ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA2NQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDgxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA2NgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTA5NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA2NworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTEyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA2OAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTI3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNjkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE0MTI1MAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNzEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE3MDc1MAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgODkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ2NDI1MAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgOTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ3OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDkyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MDg1MDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA5MworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTIzNTAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA5NAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTUzODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA5NQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTUyNzUwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA5NgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTY3NTAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgOTcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU4MjI1MAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgOTgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU5NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDk5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjExNzUwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTAyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxMDIKK1tDSEFOTkVMXQorICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQlMKKyAgICAgICBGUkVRVUVOQ1kgPSAxMTY1NjAwMAorICAgICAgIFBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisgICAgICAgU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorICAgICAgIElOTkVSX0ZFQyA9IDUvNgorICAgICAgIE1PRFVMQVRJT04gPSBRUFNLCisgICAgICAgSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDEwMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjcxNzUwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxMDQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY4NTUwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBBc3RyYSAyRgorIyBUcmFuc3BvbmRlciAxMDkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMwNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxMTEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTEyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzNDQ1MDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyMgQXN0cmEgMkUKKyMgVHJhbnNwb25kZXIgMTEzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDExNAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTM4NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDExNQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxMTYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQyNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIEMxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyMjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIEMyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMjI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIEMxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyNjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIEMyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyNjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXRsYW50aWMtQmlyZC0xLTEyLjVXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BdGxhbnRpYy1CaXJkLTEtMTIuNVcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGM4NWQ1MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXRsYW50aWMtQmlyZC0xLTEyLjVXCkBAIC0wLDAgKzEsMjcwIEBACisjIEF0bGFudGljIEJpcmQgMSBAIDEyLjVXCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA5OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEzNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNzAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNTE5MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyNDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExODgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NzIyMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NDI4MDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTIzMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzNDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjc5MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzNTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMTc4MTAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDA4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0MjgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MjIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjQzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjM5ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY0NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NzkwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjUxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM2ODgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNzQ1NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTM1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE3NDU1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1OTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1OTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNzMwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNDgxMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Mjg1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMTQxMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzkyODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjcxODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2NTEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI3MTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNjUxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDM0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNzE4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzY1MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAzNQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjcxODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2NTEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjcyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxODA4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3NDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIxNDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BdGxhbnRpYy1CaXJkLTMtNS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXRsYW50aWMtQmlyZC0zLTUuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWQ3NTFhNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXRsYW50aWMtQmlyZC0zLTUuMFcKQEAgLTAsMCArMSwzNjQgQEAKKyMgQXRsYW50aWMgQmlyZCAzIEAgNS4wVworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMDEyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMgorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTEwMTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAzCisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTAxMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDExCisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTE3OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDQKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMTc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gNQorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTExNzkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxMgorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2MzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTYzNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDIKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjM3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMworCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2MzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSA0CisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTYzNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDUKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjM3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gNgorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDcKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSA4CisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTY3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gOQorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEwCisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTY3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMTEKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxMgorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEzCisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTY3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMTQKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxNQorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDE2CisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjU4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjU4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMgorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjYwNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI2MDYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAyCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNjQ4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gMTIxMjEyCisJUExTX01PREUgPSAxCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNjQ4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMgorCVBMU19DT0RFID0gMTIxMjEyCisJUExTX01PREUgPSAxCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNjY5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNjY5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAyCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0JyYXNpbFNhdC1CMS03NS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQnJhc2lsU2F0LUIxLTc1LjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIwMzFjYTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0JyYXNpbFNhdC1CMS03NS4wVwpAQCAtMCwwICsxLDY3IEBACisjIEJyYXNpbHNhdCBCMSBAIDc1LjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0Mjg1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjYyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjUzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ3MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2MjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzYyOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2MjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcxMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9CcmFzaWxTYXQtQjItNjUuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0JyYXNpbFNhdC1CMi02NS4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYzI0OTU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9CcmFzaWxTYXQtQjItNjUuMFcKQEAgLTAsMCArMSwyNTEgQEAKKyMgQnJhc2lsc2F0IEIyIEAgNjUuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzU0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDA4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDExMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDUwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzkzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIxNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDk3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2NjcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg5MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDExMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0Mjg1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTgwODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzg3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODc2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDExNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTYzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTYzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2ODQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzM2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDYyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NjcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA3MjM2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTQ4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzM0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4NTIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgxMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMzMzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTcyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNTcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9CcmFzaWxTYXQtQjQtNzAuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0JyYXNpbFNhdC1CNC03MC4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNzNjOWZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9CcmFzaWxTYXQtQjQtNzAuMFcKQEAgLTAsMCArMSwyOTEgQEAKKyMgQnJhc2lsc2F0IEI0IEAgNzAuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTUxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzIxNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzE0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY3MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ3MTMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTMwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MjgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIxNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjUwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI4NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjg4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjYyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ2MDYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyMTQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk3OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNjE3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjIyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY1MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzAyMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjY1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDcwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzA4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5MjgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3MTQzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODQ1NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE4NzUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY5NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM1OTgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzUyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTgzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE2MzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzYzMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ2ODcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg3NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1OTI2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gOTEyMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTk3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk3MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MzM4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9CcmFzaWxzYXRCNC04NC4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQnJhc2lsc2F0QjQtODQuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTRkNGQwYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQnJhc2lsc2F0QjQtODQuMFcKQEAgLTAsMCArMSw2NTkgQEAKKyMgQnJhc2lsc2F0IEIzIEAgODQuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzI4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDM0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjk4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA1NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMjg3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MzAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDcwODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTIzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE4MDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDM0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTY3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzkxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0MjUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjUzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTA2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzkyODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQyODgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY2NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMTc3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIxNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzc0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMzMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTI3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcxMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNjEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg4MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyNzgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Mjg1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNjE2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzgwNjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTAxMjcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzgwNzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzUxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzU2NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODcxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQzNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODk1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQzMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODU1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTcxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjE3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzE2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDgwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDY4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjYwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDcwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MzQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2ODQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTY5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDgxNDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3MzQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzczNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEwNDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjA3NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTIxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjI5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTcwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk4NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0Njg3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwODcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNzIwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODg5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQ0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTc2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM1MTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MzQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY2MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM1NjUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY5NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE4MDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk4OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2OTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjU3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM2MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk5NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMzAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMTQyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDI4NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTMxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzg2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQyODYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY4ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMzA4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTExMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2ODUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTI5NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg3NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0NTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9DaGluYVNhdDVBLTg3LjVFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9DaGluYVNhdDVBLTg3LjVFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIzMWZjMGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0NoaW5hU2F0NUEtODcuNUUKQEAgLTAsMCArMSwzNiBAQAorIyBDaGluYVN0YXIgMSBAIDg3LjVFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBNeWF3YWR5IFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzczNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU5MjUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBaYW0gVFYgVGVzdHMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDc2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjUzMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRlc3QgQ2FyZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwODEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Njg3MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0VjaG9zdGFyLTEwKzExLTExMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0VjaG9zdGFyLTEwKzExLTExMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjUyMWFiNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRWNob3N0YXItMTArMTEtMTEwVwpAQCAtMCwwICsxLDI4MSBAQAorI0Rpc2ggTmV0d29yayBVU0Egd29ya3Mgd2l0aCBQU0svOHR1cmJvCisjSnVzdCBEVkJTLVVTQiBHZW5waXggU2t5IFdhbGtlciAxIG9yIDIgd29ya3Mgd2l0aCBQU0svOHR1cmJvCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjIyNDAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjM5MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjI1MzAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjY4MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjgyMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyOTcwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjk3MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjMxMTAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzI2MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM0MTAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzU1MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM3MDAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzg0MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzk5MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MTQwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDI4MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0NDMwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0NTcwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ3MjAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0ODYwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUwMTAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MTYwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTMwMDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU0NTAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTU5MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU3NDAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1ODkwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MDMwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYxODAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MzIwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY2MTAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXN0cmVsYS1kby1TdWwtNjMuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0VzdHJlbGEtZG8tU3VsLTYzLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZlMDY5MzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0VzdHJlbGEtZG8tU3VsLTYzLjBXCkBAIC0wLDAgKzEsMTk1IEBACisjIEVzdHJlbGEgZG8gU3VsIEAgNjMuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg5MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTY0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTg3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMzMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjYwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODMwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzEyNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU5ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMTI0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjEwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxMjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NjEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg3OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTY0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzNjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU3NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMTI0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxMjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5ODIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA4ODg4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODg4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzOTIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4OTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg3MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxODEwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEwNDEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FdXRlbHNhdDktOS4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXV0ZWxzYXQ5LTkuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDllNjVkNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXV0ZWxzYXQ5LTkuMEUKQEAgLTAsMCArMSwxMTQgQEAKKyMgRXVyb2JpcmQgOS4wRQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcyNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQ3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc2NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgwNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODIzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg0MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODgxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2NzAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTk2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXV0ZWxzYXRXMi0xNkUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V1dGVsc2F0VzItMTZFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjViMmJhODgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V1dGVsc2F0VzItMTZFCkBAIC0wLDAgKzEsNDUxIEBACisjIEV1dGVsc2F0IFcyIEAgMTZFCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5NTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODIxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTY4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5ODkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTk3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjg5NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA0NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEwNTU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDU3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMyNzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA2MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU3MjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1MjA4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDk0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjczNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDE4NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE3ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE5MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyNjcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMjc2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTExMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyOTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzMzMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMwNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMyNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDI4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDQ5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0NzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk5NTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0OTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTk1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTUxMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTk1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTUzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTU0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1OTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjg4MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTk1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYzNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNzU3ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY1ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjU5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE3NTc4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0NDY4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTM4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQzNDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjg5NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU2MzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE1NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU2MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU2MzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NjMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU2ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM3MDMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYzMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0ODgzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM0MTgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNTAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY1NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0ODgzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2ODMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODk0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzAzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc0ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjcxNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzMzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE2Mjc3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FeHByZXNzLTNBLTExLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FeHByZXNzLTNBLTExLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJiZTI3MmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3MtM0EtMTEuMFcKQEAgLTAsMCArMSwxMSBAQAorIyBFeHByZXNzIDNBIEAgMTEuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjc1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjIzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FeHByZXNzQU0xLTQwLjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FeHByZXNzQU0xLTQwLjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZkMzFkYTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3NBTTEtNDAuMEUKQEAgLTAsMCArMSwyNiBAQAorIyBFeHByZXNzIEFNMSBAIDQwRQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk2NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk5NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA5NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3NBTTItODAuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3NBTTItODAuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWRmY2ZjMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXhwcmVzc0FNMi04MC4wRQpAQCAtMCwwICsxLDE2OCBAQAorIyBFeHByZXNzIEFNMiBAIDgwRQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTkxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDk0ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA4MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1MDY0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDg4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ1NDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExOTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDYyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0NzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTQ0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0OTUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjA2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0OTQ4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRXhwcmVzcyBBTTIgQCA4MEUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBSb21hbiBLYXNoY2hlZXYKKyMgTWFyIDMwLCAyMDA4CisjIGZyZXEgcG9sIHNyIGZlYworCisjIFJTQ0MKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxMTA2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRSSyBTZXZlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIxNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUUlYgTXVqaQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1NjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIyNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBPVFYgU2FraGFsaW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUlNDQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzM0ODMwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNSBLYW5hbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA4NzA1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRWIENlbnRyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE0NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBCbGFnb3Zlc3QgVGVsZWthbmFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NTEwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3NBTTIyLTUzLjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FeHByZXNzQU0yMi01My4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MTMyNDRjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FeHByZXNzQU0yMi01My4wRQpAQCAtMCwwICsxLDUxIEBACisjIEV4cHJlc3MgQU0gMjIgQCA1M0UKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ5NTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDgxNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyNTIDEwOTc0MDAwIFYgMzIyMjMwMDAgNy84CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMzEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNzUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwOTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjQwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTI0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc1OTMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE2MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1Nzg1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTEwUi0xMjN3IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxMFItMTIzdwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MjEyZjU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxMFItMTIzdwpAQCAtMCwwICsxLDU5IEBACisjIEdhbGF4eSAxMFIgQCAxMjNXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc2OTIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzI0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjY1NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ1ODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NjYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTMwMjEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjExNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxM19DLTEyN1cgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTEzX0MtMTI3VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYjg1ZTI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxM19DLTEyN1cKQEAgLTAsMCArMSwzOSBAQAorIyBHYWxheHkgMTMgQCAxMjdXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzgyMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMTMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MTg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTAwOTcwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTRfQy0xMjVXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNF9DLTEyNVcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjdmZmUwZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTRfQy0xMjVXCkBAIC0wLDAgKzEsMzAgQEAKKyMgR2FsYXh5IDE0IEAgMTI1VyBDLUJBTkQKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY2NjgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTg4NzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5MDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjkwNzcwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTVfQy0xMzNXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNV9DLTEzM1cKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmNjMDk2ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTVfQy0xMzNXCkBAIC0wLDAgKzEsMjIgQEAKKyMgR0FMQVhZIDE1IEAgMTMzVyBDLUJBTkQKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzkwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTE5MzUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODA5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE2MzAzMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTZfQy05OS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTZfQy05OS4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZDIzYzZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNl9DLTk5LjBXCkBAIC0wLDAgKzEsMTM3IEBACisjIEdhbGF4eSAxNiBAIDk5VyBDLUJBTkQKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3MjEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA4NzAzMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc4OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE2NzEwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzgwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA4MDI5MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTU2MTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE1NDUwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjM5ODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NzgwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDEyMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzQwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgxMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNTAwNDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwMDYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTgzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzc4MTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxNDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE3LTkxLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNy05MS4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZjc1OTlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNy05MS4wVwpAQCAtMCwwICsxLDM3MCBAQAorIyBHYWxheHkgMTcgQCA5MVcKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5NjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTk4NTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5OTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgxNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTM1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk0NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTUwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTU1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTY1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTcwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk4NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTkwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk5MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTk1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk5NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAwNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDEwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAxMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAxNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAzMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDM1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA4MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU2MzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwODYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjE0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA5NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MTQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxNDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjE0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTdfQy05MS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTdfQy05MS4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNTMwYmM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxN19DLTkxLjBXCkBAIC0wLDAgKzEsNDggQEAKKyMgR2FsYXh5IDE3IEAgOTFXIEMtQmFuZAorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODY3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjYxOTAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNDg5MDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzkyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MjQ5MDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5NjYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTYwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDY3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYwNTEwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxOS05Ny4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTktOTcuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2MxY2RmMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTktOTcuMFcKQEAgLTAsMCArMSwxMzAgQEAKKyMgR2FsYXh5IDE5IEAgOTdXCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzg5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MTI1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODM2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwNzY1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODY3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODc0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4OTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTkxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDUzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDg0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDkwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjI0MjUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMjIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE0NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE1MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxOV9DLTk3LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxOV9DLTk3LjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZkOWY0NjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE5X0MtOTcuMFcKQEAgLTAsMCArMSwxMzggQEAKKyMgR2FsYXh5IDE5IEAgOTdXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzk0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU0OTkwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk4NjIwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzE0NTYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzkxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEzMzMyMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzgxNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MzczMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODUxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM1MzIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk0MDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNzAzMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzk4NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNTk5MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwNjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk4NTgwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk4NTgwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxMjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5ODYyMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTIzX0MtMTIxVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjNfQy0xMjFXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYwM2IxZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTIzX0MtMTIxVwpAQCAtMCwwICsxLDExMSBAQAorIyBHYWxheHkgMjMgQCAxMjFXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODQwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODc3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg5MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDIwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzkxMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE0Mzk5MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDExNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE4MDg2MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5MjY5MDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5MjcwMDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDAzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4MzMyMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA1MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTkwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDA3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NTM3MDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxNzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTg5MTUwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDExMDY4MDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjUtOTMuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTI1LTkzLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNmMzQ5ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTI1LTkzLjBXCkBAIC0wLDAgKzEsNDc0IEBACisjIEdhbGF4eSAyNSBAIDkzVworIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcxMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDMxMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcyMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzI3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTczNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQ4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc2NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc3MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc4ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzkzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgxNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODI3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg0MjkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA3MTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODQxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg2NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNTE2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODg3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4OTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkwNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkxOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTI0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA4ODQ4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTI5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg4NDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA4ODQ4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTQ5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk3MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDQ3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNDgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDU5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA2MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDY0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA2OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODY3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA4OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NTExMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTEwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDEwNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjExNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMjEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTI2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTE0NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjctMTI5dyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjctMTI5dwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZmI0MDJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkyNy0xMjl3CkBAIC0wLDAgKzEsMTEgQEAKKyMgR2FsYXh5IDI3IEAgMTI5VworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTY0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjkyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjgtODkuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTI4LTg5LjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNlZmIzMjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTI4LTg5LjBXCkBAIC0wLDAgKzEsMzE1IEBACisjIEdhbGF4eSAyOCBAIDg5VworIyBJbnRlbHNhdCBBbWVyaWNhcyA4IEAgODlXCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzE3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQxMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2MjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjkwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ1NTIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNzAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODgyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDg4MzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTM1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjg4MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTcwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTg5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTk1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4ODAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDA5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjMxNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjExNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE0Mzk4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTM0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTkxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE5NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTI4X0MtODkuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTI4X0MtODkuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWJhNjk4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjhfQy04OS4wVwpAQCAtMCwwICsxLDMwIEBACisjIEdhbGF4eSAyOCBAIDg5VyAgQy1CYW5kCisjIAorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzg2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTg2MjAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyMzY0MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5M0MtOTUuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTNDLTk1LjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ5ZTYyY2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTNDLTk1LjBXCkBAIC0wLDAgKzEsMTAgQEAKKyMgR2FsYXh5IDNDIEAgOTVXCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjA3NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTNDX0MtOTUuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTNDX0MtOTUuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWMwM2M0MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5M0NfQy05NS4wVwpAQCAtMCwwICsxLDI5IEBACisjIEdhbGF4eSAzQyBAIDk1VyBDLUJBTkQKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5NTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNDk5OTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjkyMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODI0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSGlzcGFzYXQtMzAuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0hpc3Bhc2F0LTMwLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY3NjI1MTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0hpc3Bhc2F0LTMwLjBXCkBAIC0wLDAgKzEsMjk3IEBACisjIEhpc3Bhc2F0IDMwLjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEwNzMwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTA3MzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg5MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDkzMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNTI5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEwMDAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjkwMDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NDEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzMxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzcxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODExMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODUxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODkxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTMxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTQ4MTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA5MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEzMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNjgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjA3CisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjIyNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjI0NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjg0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjMwMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjMyMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzOTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ1NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Ib3RiaXJkLTEzLjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Ib3RiaXJkLTEzLjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBkZjBhYjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0hvdGJpcmQtMTMuMEUKQEAgLTAsMCArMSw3NzggQEAKKyMgRVVURUxTQVQgU2t5UGxleCwgSG90YmlyZCAxM0UKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzE5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3MjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTkwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzU3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4MzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg1MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4NzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg5MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5MTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDkzMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5NDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5OTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAxMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA5NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExMTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEzNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyMDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTIxOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyNDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI3ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMjk1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzNTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM3MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzOTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQxMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0NzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ4ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTQxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjIzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjYyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzI3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NjEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTkxOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTkxOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMgorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTM4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTc2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA5MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE0OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTY5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE4ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjA3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjIyNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjI2NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjg0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjMwMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzIyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM0MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM3OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzk4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQxODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI1MzkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjUzOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAyCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU3NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1OTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYxNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY5MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjczMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0lBNy0xMjl3IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JQTctMTI5dwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MTI1MDRhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JQTctMTI5dwpAQCAtMCwwICsxLDExIEBACisjIEludGVsc2F0IEFtZXJpY2FzIDcgQCAxMjlXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5ODkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODIxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnNhdDJFX0MtODMuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0luc2F0MkVfQy04My4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNmJkY2NjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnNhdDJFX0MtODMuMEUKQEAgLTAsMCArMSwyOTYgQEAKKyMgSW5zYXQgMkUgQCA4My4wRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgTkUgVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzUyMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4NjQwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTkUgVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzUzNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMDgwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWIDkgVGVsdWd1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU1MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUzEgQ2hhbm5lbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1NTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzM2NjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWIDkgS2FubmFkYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1ODEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEpheWEgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTkzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg2ODAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUYXRhIENvbW11bmljYXRpb25zIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1OTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gOTYyOTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFzaWFuZXQgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxOTUzMTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFtcml0YSBUViBNaWRkbGUgRWFzdAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTkyNjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE1haGFhIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY4OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODkzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGF0YSBDb21tdW5pY2F0aW9ucyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjk2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBDTkJDIEluZGlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUmFqIFRWIE5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMzAyMTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFVUVmkgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzk0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBQVEMgTXVsdGlwbGV4IChNUEVHLTQgUy8yKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRhdGEgQ29tbXVuaWNhdGlvbnMgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjA0MzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEluZGlhdmlzaW9uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgWWVzIEluZGlhdmlzaW9uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTWFub3JhbWEgTmV3cyBJbnRlcm5hdGlvbmFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGF0YSBDb21tdW5pY2F0aW9ucyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTM0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEzMDIxMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUmFqIE11c2l4IGthbmFkYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NjEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjY1NjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWIDkgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk3NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFzaWFuZXQgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAxMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxOTUzMTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRhdGEgQ29tbXVuaWNhdGlvbnMgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAzMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3NDQwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlJTYXQgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3NDIwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGF0YSBDb21tdW5pY2F0aW9ucyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDUwODQwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBuYXRpb25hbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEluZGlhc2lnbiBNdWxpdHBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDkxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDkyMzAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBOZXdzIExpdmUgKE1QRUctNCBTLzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NzAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0luc2F0M0FfQy05My41RSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW5zYXQzQV9DLTkzLjVFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIxMmQzNmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0luc2F0M0FfQy05My41RQpAQCAtMCwwICsxLDIwNiBAQAorIyBJbnNhdCAzQSBAIDkzLjVFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBERCBCYW5nbGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBQdW5qYWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzQwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBHdWphcmF0aQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIENoYW5kYW5hCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgT3JpeWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzcyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBrYXNoaXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBTYWh5YWRyaQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODYwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIE1hbGF5YWxhbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIFNhcHRhZ2lyaQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIHBvZGhpZ2FpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgzMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4NjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgSGltYWNoYWwgUHJhZGVzaAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIEphaXB1cgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE1hZGh5YSBQcmFkZXNoCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgVXR0YXIgUHJhZGVzaAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIE5vcnRoIEVhc3QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBNaXpvcmFtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEwMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgVHJpcHVyYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFJUQSBBZmdoYW5pc3RhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFJUQSBBZmdoYW5pc3RhbiBOYW5nYXJoYXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTM2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBcmlhbmEgVFYgTmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDUxNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW5zYXQ0QV9DLTgzLjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnNhdDRBX0MtODMuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGUxZTkwMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW5zYXQ0QV9DLTgzLjBFCkBAIC0wLDAgKzEsMjk2IEBACisjIEluc2F0IDRBIEAgODMuMEUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIE5TVFBMIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjY2NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEluZGlhc2lnbiBtdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMzMzMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTdGFyIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMDkwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEVzc2VsIFNoeWFtIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRhcmFuZyBUViBNdWx0aXBsZXggKE1QRUctNCBTLzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY5MjAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBDVFZOIEFLRCBQbHVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNjUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBLYXN0aHVyaSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNDYyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgS2FteWFiIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg3NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM0MDMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBWYW5pdGhhIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg5MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBFc3NlbCBTaGF5YW0gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg5ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY4MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBDaGFubmVsIDEwIEluZGlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBFc3NlbCBTaHlhbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIERZIDM2NQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDk1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBaZWUgTmV3cyBVdHRhciBQcmFkZXNoCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBFVFYgTmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDA0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBFc3NlbCBTaHlhbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA3NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTGFtaGFzIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzIzMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE5ldHdvcmsgMTggTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBJQk4gTG9rbWF0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBMaXZlIEluZGlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBNaSBNYXJhdGhpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA5MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCQlMgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDc1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE1hbm9yYW1hIE5ld3MKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTU1NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEJBRyBGaWxtcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMDYwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFplZSBOZXR3b3JrIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgWmVlIE5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE2MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBMb2sgU2FiaGEgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTcwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEtvbGthdGEgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzIzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnNhdDRCX0MtOTMuNUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0luc2F0NEJfQy05My41RQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZTkzOTk3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnNhdDRCX0MtOTMuNUUKQEAgLTAsMCArMSwxNTYgQEAKKyMgSW5zYXQgNEIgQCA5My41RSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgRG9vcmRhcnNoYW4gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgRGVocmFkdW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzUwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIFJhaXB1cgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgUmFuY2hpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBKYW1tdQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgSGlzc2FyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBDaGFuZGlnYXJoCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBQb3J0IEJsYWlyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBCaWhhcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgTm9ydGggRWFzdAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU3VuIG5ldHdvcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBEb29yZGFyc2hhbiBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTYWtzaGkgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTUwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQ0MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRhdGEgQ29tbXVuaWNhdGlvbnMgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1NDIyMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU3VuIE5ldHdvcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWw0LTcyLjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbDQtNzIuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmViYTY1ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWw0LTcyLjBFCkBAIC0wLDAgKzEsMzQgQEAKKyMgSW50ZWw0IEAgNzJFCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTMzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQyMjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTE4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDgyMzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MjYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWw5MDQtNjAuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsOTA0LTYwLjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjExYmNjZTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsOTA0LTYwLjBFCkBAIC0wLDAgKzEsOTAgQEAKKyMgSW50ZWw5MDQgQCA2MEUKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTc1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDExMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk3NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NzUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwOTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEwMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MTA1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTQyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk2MzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE1MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTYzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDczMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk3MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk3MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTEwMDItMS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMTAwMi0xLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU3YjJiNjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTEwMDItMS4wVwpAQCAtMCwwICsxLDE0NiBAQAorIyBJbnRlbHNhdCAxMDAyIEAgMS4wVworIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTc1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMTA1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA5MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5MTkxMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNjYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTQ1MDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYwNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMzU2MDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MjcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTYzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU2MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjA3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYwNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjQzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY0MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjg3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY4NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzE4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE4NDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzM1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg4MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMTEtNDMuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTExLTQzLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNhZTkxMDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTExLTQzLjBXCkBAIC0wLDAgKzEsMTEgQEAKKyMgSW50ZWxzYXQgMTEgQCA0My4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1OTQ1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0xMi00NS4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMTItNDUuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTI0YjBlYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMTItNDUuMEUKQEAgLTAsMCArMSwxMDYgQEAKKyMgSW50ZWxzYXQgMTIgQCA0NS4wRQorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNDY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTQ5NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3Mjk5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MjMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTc4NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE1NTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNTkxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTU5MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE1OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSA0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTY3MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMVItNDUuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTFSLTQ1LjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ1MTJjNTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTFSLTQ1LjBXCkBAIC0wLDAgKzEsMzMxIEBACisjIEludGVsc2F0IDFSIEAgNDUuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0NDUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMzcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODkzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjYyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODY5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzUxNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTg2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MzQ3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjYxNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTkxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQwNDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg4MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzg4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzI4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDUwNTcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTA1NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcyMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzE4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ2NjcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MzMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNzM2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMTc5MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgwODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ3NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU3NDkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTQxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzA1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTQxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODk5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2MTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE5MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIwNzUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA5NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDgxMDIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NzMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODU2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcxNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxMTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMjEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTEwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQyOTIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0MDkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg2ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMDA3NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg4MjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0zUi00My4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtM1ItNDMuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWZmY2VjNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtM1ItNDMuMFcKQEAgLTAsMCArMSwyNTkgQEAKKyMgSW50ZWxzYXQgM1IgQCA0My4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MDEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjYyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODkxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNzM2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjYyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjkyNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEwNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjQ3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTEwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU2MzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwODMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjU5OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTA2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjkyNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk5NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxMDkwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjQyOTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MjgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDM1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODg4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNzgxMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzA4MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjU5MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTg4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQwNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwODAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDgwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODgwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM3MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTExMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzExMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDY4NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMxMDkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTI2MTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTUwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ1NzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MTIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTZCLTQzLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC02Qi00My4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNjllNmViCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC02Qi00My4wVwpAQCAtMCwwICsxLDExNSBAQAorIyBJbnRlbHNhdCA2QiBAIDQzLjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4ODIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg4MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTcwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDUwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExMzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM4MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEzMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDcyMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzgyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDgwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtNzA1LTUwLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC03MDUtNTAuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDYxYjY4YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtNzA1LTUwLjBXCkBAIC0wLDAgKzEsMzUgQEAKKyMgSW50ZWxzYXQgNzA1IEAgNTAuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTExMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM2MTcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MDg3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA3MDUzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MTExMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC03MDctNTMuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTcwNy01My4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMjg4NjZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC03MDctNTMuMFcKQEAgLTAsMCArMSwxOSBAQAorIyBJbnRlbHNhdCA3MDcgQCA1My4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ4MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1MzMzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC05MDMtMzQuNVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTkwMy0zNC41VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNmJlNmVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC05MDMtMzQuNVcKQEAgLTAsMCArMSwzNSBAQAorIyBJbnRlbHNhdCA5MDMgQCAzNC41VworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI1NTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ5NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg5NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDIxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtOTA1LTI0LjVXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC05MDUtMjQuNVcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzMwZDJjOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtOTA1LTI0LjVXCkBAIC0wLDAgKzEsNTEgQEAKKyMgSW50ZWxzYXQgOTA1IEAgMjQuNVcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTcxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE4MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MTExMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxOTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTE5MzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTYyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MTExMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtOTA3LTI3LjVXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC05MDctMjcuNVcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWU2ZDU1MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtOTA3LTI3LjVXCkBAIC0wLDAgKzEsNTEgQEAKKyMgSW50ZWxzYXQgOTA3IEAgMjcuNVcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODczMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDY4NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTM1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDY4NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzczMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTgwODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTM4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzU0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQyMV9DLTU4LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdDIxX0MtNTguMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODQ2NzE1OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQyMV9DLTU4LjBXCkBAIC0wLDAgKzEsMjczIEBACisjIEludGVsc2F0IDIxIEAgNTguMFcgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3MjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzc4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDUxOTkwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzkxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMyOTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NjkwMDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc2OTAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5NTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNTE0NjAwMAorCUlOTkVSX0ZFQyA9IDMvNQorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQ5OTAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgxMjIwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY1OTEwMDAKKwlJTk5FUl9GRUMgPSAxLzIKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzcwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3MjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA4LzkKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NjkwMDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzgwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc2OTAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5MTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTQ5OTkwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTI0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2MjAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDAwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDQwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzY5MDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE1MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NDAwMDAJCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTY5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk0MTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0MzRfQy01NS41VyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQzNF9DLTU1LjVXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBiMjBmZmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0MzRfQy01NS41VwpAQCAtMCwwICsxLDM3MSBAQAorIyBJbnRlbHNhdCAzNCBAIDU1LjVXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA4ODkwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzcyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzQ2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTYwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNQorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyMzIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTY3MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzc2MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzc2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNzk5OTAwMAorCUlOTkVSX0ZFQyA9IDMvNQorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzk3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY3MDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzg3MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDkzMzMwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzkxMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU4MzMwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NjI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzk2OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDcxMjAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDAxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwNTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDg0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTA1NjAwMDAKKwlJTk5FUl9GRUMgPSAzLzUKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDA5NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyNzIwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTg0MDAwMAorCUlOTkVSX0ZFQyA9IDMvNQorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MTA2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTM2MDAwMAorCUlOTkVSX0ZFQyA9IDMvNQorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MTExMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNQorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MTIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTQ5OTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxNDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxNDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNDQzMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE1MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MTYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTU5OTAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY2NjQwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY3MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODg0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5MjYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzE5OTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTg3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMjkwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzk5MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNTkwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4NjgxMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDAyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxODQwMTAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQwNzQwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwOTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzYxNjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxMDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjMxOTAwMAorCUlOTkVSX0ZFQyA9IDgvOQorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxMTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTg1MDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MTM2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxNzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0OF9DLTE2Ni4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQ4X0MtMTY2LjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJlNjFlNmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0OF9DLTE2Ni4wRQpAQCAtMCwwICsxLDExNiBAQAorIyBJbnRlbHNhdCA4IEAgMTY2LjBFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBWaWFjb20gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU291dGggS29yZWFuIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjUxMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFyaXJhbmcgV29ybGQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBdXN0cmFsaWFuIG5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMjM4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFZCUyBtdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODMzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTkJDIFVuaXZlcnNhbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEludGVsc2F0IG11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzY5MDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIENoaW5hIFJhZGlvIG11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzQyODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE5ISyBXb3JsZCBuZXR3b3JrIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNjE4MDAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFBoaWxpcHBpbmVzIE5ldHdvcmsgVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1NTU0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVEFTIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTgwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9KQ1NhdDNBX0MtMTI4LjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9KQ1NhdDNBX0MtMTI4LjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIxMWM2MzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0pDU2F0M0FfQy0xMjguMEUKQEAgLTAsMCArMSw0NiBAQAorIyBKQ1NBVCAzQSBAIDEyOC4wRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgVEFTIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUQVMgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE1pcmFjbGVuZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDU1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUQVMgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9NZWFzYXQzX0MtOTEuNUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL01lYXNhdDNfQy05MS41RQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZWNjZTVlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9NZWFzYXQzX0MtOTEuNUUKQEAgLTAsMCArMSwxNjYgQEAKKyMgTWVhc2F0IDMgQCA5MS41RSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgU2hvcCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFvcmEgVFYgTXVsaXRwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMzIwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU29sYXIgRW50ZXJ0YWlubWVudAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTk1MTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBOYXRpb25hbCBHZW9ncmFwaGljIG11c2ljCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcxODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNzAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRFpSSCBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzIxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBc2NlbnQgTWVkaWEgKE1QRUctNCBTLzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMzMzMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEdsb2JlY2FzdCBNdWx0aXBsZXggKE1QRUctNCBTLzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEhUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzk2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDcwMzAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTa3kgSW50ZXJuYXRpb25hbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFVuLW5hbWVkIE11bGl0cGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzgzNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFJUTSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEyNTI1MDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlRNIFNhcmF3YWsgRmVlZHMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODg3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5ODQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBHbG9iZWNhc3QgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEdpbnggVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTEzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBZUiBBc2lhIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDExNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTYzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQWxsIFNwb3J0cyBOZXR3b3JrIChNUEVHLTQgUy8yKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzIwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OU1MtMTAtMzcuNVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05TUy0xMC0zNy41VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40Zjg5MmFhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OU1MtMTAtMzcuNVcKQEAgLTAsMCArMSw3NSBAQAorIyBOU1MgMTAgQCAzNy41VworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjcwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODI0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTgwODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDU5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyMTQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQzNDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMTUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQ0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OU1MtNy0yMi4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvTlNTLTctMjIuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTA4NWQwZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvTlNTLTctMjIuMFcKQEAgLTAsMCArMSwxNzkgQEAKKyMgTlNTIDcgQCAyMi4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNzE1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNzE1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTI5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU2MzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM3MTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjY1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU5MDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNjIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NTEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzc3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM1MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDQ5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkyMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM1MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNjgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxODA4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxODQyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODE0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYzMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDM4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM2OTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY3NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzY4OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDE2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzY2MzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvTlNTLTgwNi00MC41VyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvTlNTLTgwNi00MC41VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mYjVkMDU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OU1MtODA2LTQwLjVXCkBAIC0wLDAgKzEsODQzIEBACisjIE5TUyA4MDYgQCA0MC41VworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTIxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzUwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQzNTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk4NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMxNzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTYwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTcxMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTc4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY2NjcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzYwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTE4NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2NjY3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTc4MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA5MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTE1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA4NjgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDAzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQ4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjY0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MzQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY5NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE0MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0ODAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NDEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTkxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzU3ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDA5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDAzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjkxODUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg2ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2ODgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE0ODEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDUyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTcxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NDYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTk1MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0ODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY1MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1OTI0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA3MjMzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDc4NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTUyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMzMxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDkwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjYyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEwNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMjYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjUzMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3MTMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk4MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA2MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzMwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNjAzMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2ODYwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA1MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk2MzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTE2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU2MzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzUxNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU2MzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA5MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODg3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MzkxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNDgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjkzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE5NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjc2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjUyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY2NjkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg5ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MTk1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNjIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA3MjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNjgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjU0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMjcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjU0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTYwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjU0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTcwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjMwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE4NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYxNDIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxODYwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzgwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODc4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMTE3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc0NDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE0MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk5MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MTk1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzM0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05haHVlbC0xLTcxLjhXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OYWh1ZWwtMS03MS44VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NmMzNzAyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OYWh1ZWwtMS03MS44VwpAQCAtMCwwICsxLDY3IEBACisjIE5haHVlbCAxIEAgNzEuOFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY3MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDE3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg3NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTM2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NzMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA4MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTE2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTQzOTYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvTmlsZXNhdDEwMSsxMDItNy4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvTmlsZXNhdDEwMSsxMDItNy4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40YTZiYjMwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OaWxlc2F0MTAxKzEwMi03LjBXCkBAIC0wLDAgKzEsMzE0IEBACisjIE5pbGVzYXQgMTAxLzEwMiAmIEF0bGFudGljIEJpcmQgQCA3VworIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDcxOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzIzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc5NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDkxMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTMwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMxNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQ3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODIzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODYyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MTkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTM4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NjAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDU0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNzMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTMwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjA3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyMjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjg0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzMDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzQxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzOTkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDE4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0NzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9PcHR1c0MxLTE1NkUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL09wdHVzQzEtMTU2RQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jM2VkZGIzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9PcHR1c0MxLTE1NkUKQEAgLTAsMCArMSwxNDYgQEAKKyMgT3B0dXMgQzEgc2F0ZWxsaXRlIDE1NkUKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyNzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM1ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3MDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzOTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzgwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDA3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzgwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDg3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3ODAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MDEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTQ3MzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTE4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc4MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUyNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTU4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc4MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NDczMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc4MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU5ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3ODAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk0NzMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYzODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3ODAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2ODkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzgwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL09wdHVzRDEtMTYwLjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9PcHR1c0QxLTE2MC4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZWY5MDFhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9PcHR1c0QxLTE2MC4wRQpAQCAtMCwwICsxLDE4IEBACisjIE9wdHVzIEQxIHNhdGVsbGl0ZSAxNjAuMEUKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0NTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDgzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjI1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvUEFTLTQzLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9QQVMtNDMuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGI1YmY5MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvUEFTLTQzLjBXCkBAIC0wLDAgKzEsMzQgQEAKKyMgUEFTIDYvNkIvM1IgYXQgNDMuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTg1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTg0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjE2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTg1MDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9QYWxhcGFDMl9DLTExMy4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvUGFsYXBhQzJfQy0xMTMuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjAwZTRjOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvUGFsYXBhQzJfQy0xMTMuMEUKQEAgLTAsMCArMSwxMTYgQEAKKyMgUGFsYXBhIEMyIEAgMTEzLjBFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBTQ1RWIEphd2EgVGltdXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzEyNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNDVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQ3MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWUkkgTmFzaW9uYWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzY1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTU1NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFJDVEkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzc0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjUyMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEtCUyBXb3JsZCBJbmRvbmVzaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODM2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwOTcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCYWxpIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyMDgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUViBPbmUgSW5kb25lc2lhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU2MzIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBTlRWIEluZG9uZXNpYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjUxMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEluZG9zaWFyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU2F0ZWxpbmRvIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODEyNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRQSSBJbmRvbmVzaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTg0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY3MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU0JTNi03NHcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NCUzYtNzR3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY2Y2E2YzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NCUzYtNzR3CkBAIC0wLDAgKzEsMTEgQEAKKyMgU0JTIDYgQCA3NFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2MTYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NFUzFfQy0xMDFXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TRVMxX0MtMTAxVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZGJiODYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TRVMxX0MtMTAxVwpAQCAtMCwwICsxLDc1IEBACisjIFNFUyAxIEAgMTAxLjBXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzcxNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0Nzc1MDAwCisJSU5ORVJfRkVDID0gMy81CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQxMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTUyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3MzQwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjczNDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzM0MDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU5MjQwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TRVMyLTg3LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TRVMyLTg3LjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlmYTIxYWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NFUzItODcuMFcKQEAgLTAsMCArMSw1OSBAQAorIyBBTUMgMyBAIDg3LjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0ODU5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTQ3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDM0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE1OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE4MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU0VTMl9DLTg3LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TRVMyX0MtODcuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzE5MzcyZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU0VTMl9DLTg3LjBXCkBAIC0wLDAgKzEsNjYgQEAKKyMgU0VTIDIgQCA4Ny4wVyBDLUJBTkQKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjE0OTAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTEyMzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NzEwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzc0MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1MDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4NjgxMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzk0ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MTY0MDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5NTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TRVMzX0MtMTAzVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU0VTM19DLTEwM1cKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmEwZDQxMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU0VTM19DLTEwM1cKQEAgLTAsMCArMSwxMTEgQEAKKyMgU0VTIDMgQCAxMDNXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjY4MjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY1MTEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTI3MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzE0OTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5MjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzMzMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjkyNzEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDQwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzQwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5MjY4MDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTcxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0ODAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDAyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNDk5MDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA5MAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDAyOTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxNDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU1QxX0MtODAuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NUMV9DLTgwLjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ2MGEzOWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NUMV9DLTgwLjBFCkBAIC0wLDAgKzEsNzYgQEAKKyMgU1QxIEAgODguMEUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIEdUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNDY5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQUJUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTIxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gODMzMjAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFZpZGVvbGFuZCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgR1RWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1OTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFZpZGVvbGFuZCBtdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQ2h1bmd3YSBUZWxlY29tCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY3MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDkyNTYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBOVEQgVFYgQXNpYS1QYWNpZmljCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY4OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU2F0bWV4LTUtMTE2LjhXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TYXRtZXgtNS0xMTYuOFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTZjODA0ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU2F0bWV4LTUtMTE2LjhXCkBAIC0wLDAgKzEsNTU1IEBACisjIFNhdG1leCA1IEAgMTE2LjhXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDIzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTk1MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTYzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwODQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTYyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5NTEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjUzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjkyNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTI3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgxMjUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA1MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MzA3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDI0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTM0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzYxNzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAyODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzA3ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDEyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxMzEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTYyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTg0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjYwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTc1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxMzEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk4MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MzEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTk3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODg2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTk2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTE0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyMjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg4ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDUzNTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0Njc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDEwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDIzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5ODUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEwODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAzODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3Njc1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzEwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5MjcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNzMzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTkzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc4ODUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA0NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MzQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjcwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA5NzYwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAzNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NDEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NDEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODkyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjg5MzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTM1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk3MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzNjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1NTgyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzEyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzQxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTUyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODc2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5MjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NhdG1leC02LTExMy4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU2F0bWV4LTYtMTEzLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE5YThmMzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NhdG1leC02LTExMy4wVwpAQCAtMCwwICsxLDEzMSBAQAorIyBTYXRtZXggNiBAIDExMy4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNjA5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE0NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgyMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEyNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MDIyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTY2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNzgyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwOTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzcyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTU3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMzgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwOTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzNzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQ3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM3MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTA3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTYzNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU2lyaXVzLTUuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1Npcml1cy01LjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlmOTNjMzgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1Npcml1cy01LjBFCkBAIC0wLDAgKzEsNTE5IEBACisjIFNpcml1cyA1LjBFCisjIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20ga2luZ29mc2F0Lm5ldCBpbmkgZmlsZSAwMDQ4LmluaQorIyBodHRwOi8vZW4ua2luZ29mc2F0Lm5ldC9zYXRlbGxpdGVzLnBocAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTI2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMjY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMzA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTEzMDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTEzNDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTM0NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTM4NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzI3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzY2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc4NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODA0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgyMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODQzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg2MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODgxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTE5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTU4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk3NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTk2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAxNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDM0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA1NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDczMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA5MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTExMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEzMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTQ5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIxNjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIxODgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwlTVFJFQU1fSUQgPSAxMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMTg4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisJU1RSRUFNX0lEID0gMjAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjIwNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjI2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjU1NDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjI0NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjY1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjI4NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzAzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjU1NDcwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjMyMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjM0MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCVNUUkVBTV9JRCA9IDMwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIzNDEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwlTVFJFQU1fSUQgPSA0MAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMzYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNzkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzk5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjQzNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjQ1NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0NzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI1NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzkyMjAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjA4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYzNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE0NDY1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA5NDA0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2ODIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjg4ODAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjY4NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU2MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY4NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY3MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2OTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjcwMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjcwMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTYzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjcyMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNzI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0ODAwMDAKKwlJTk5FUl9GRUMgPSA4LzkKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjcyODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNjAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RlbGVjb20yLTguMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RlbGVjb20yLTguMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjM3ODcxZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsZWNvbTItOC4wVwpAQCAtMCwwICsxLDEyMiBAQAorIyBUZWxlY29tMiA4LjBXCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTcyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5NzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDEwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAxMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDQyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNzg2MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDUzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjg1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDY0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTI2NjcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM4NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NzQwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0MjgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzQ2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU1NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDM4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NjYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY0OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UZWxrb20xX0MtMTA4LjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UZWxrb20xX0MtMTA4LjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE5NGI1ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RlbGtvbTFfQy0xMDguMEUKQEAgLTAsMCArMSwxNDYgQEAKKyMgVGVsa29tIDEgQCAxMDguMEUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIFRlbGtvbSBWaXNpb24gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGVsa29tIFZpc2lvbiBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUZWxrb20gVmlzaW9uIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUViBUaW1vciBMZXN0ZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Mjg1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFYgRWR1a2FzaSAxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUVlJJIEthbGJhcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFZSSSBQYXB1YQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFYgRWR1a2FzaSAyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUcmFucyA3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk5MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUVlJJIEFjZWgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFJDVEkgSmF3YSBUaW11cgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVHJhbnMgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDg0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFBhcHVhIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA5MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM1NzAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBKVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDk3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzEyNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UZWxzdGFyMTBfQy03Ni41RSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsc3RhcjEwX0MtNzYuNUUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2VhNjM0YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsc3RhcjEwX0MtNzYuNUUKQEAgLTAsMCArMSwxOTYgQEAKKyMgVGVsc3RhciAxMCBAIDc2LjVFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBSYWNpbmcgSW50ZXJuYXRpb25hbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1MDY0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSW1hZ2UgQ2hhbm5lbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjE0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgR2xvYmUgQ2FzdCBBc2lhIG11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFVCSSBXb3JsZCBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgwNjYwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBVQkkgV29ybGQgVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODA2NjAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEVrdXNoZXkgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzg3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDYwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIERpZ2FudGEgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzkzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDM0MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFJSU2F0IEdsb2JhbCBOZXR3b3JrIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIENoYW5uZWwgMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDgwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQm9pc2hha2hpIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQzMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUViBNYWxkaXZlcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjMxMjAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIENoYW5uZWwgSQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MzAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQmFuZ2xhIFZpc2lvbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgS2FudGlwdXIgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDU2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzIxNDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEJCQyBXb3JsZCBTZXJ2aWNlIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNzMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzAyMDAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE1OQyBJbmRvbmVzaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzEyNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE5EVFYgQXJhYmlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4OTMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBJc2xhbWljIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE0NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCYW5nbGFkZXNoIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA3NDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RlbHN0YXIxMi0xNS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsc3RhcjEyLTE1LjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlkZDM2N2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RlbHN0YXIxMi0xNS4wVwpAQCAtMCwwICsxLDE5NCBAQAorIyBUZWxzdGFyIDEyIDE1LjBXCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTg4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjg5MzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjg5MzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTkyNzkwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEyMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxOTI3OTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTI0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTgzODYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE1MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE4Mzg2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTkyNzkwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTUzMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMxOTgwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyODQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY3NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzE5NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgwNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3NTk2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNDcxNDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDgyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzkzNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTE3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDc3MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE1OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDc3NzcwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM1MDMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE3MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM1MDMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUyNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjQ3MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTQ3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTE5MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU4OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NTAzMDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MDgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTI3OTAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDExOTM5MDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RlbHN0YXIxOF9DLTEzOC4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsc3RhcjE4X0MtMTM4LjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE4YWUzMDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RlbHN0YXIxOF9DLTEzOC4wRQpAQCAtMCwwICsxLDQ2IEBACisjIFRlbHN0YXIgMTggQCAxMzguMEUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIEktU2t5LU5ldCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTk5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSS1Ta3ktTmV0IE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBMTlRWIExhb3MKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMzQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCQkMgV29ybGQgU2VydmljZSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTI0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSAxLzIKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGhhaWNvbTFBX0MtMTIwLjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UaGFpY29tMUFfQy0xMjAuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTliY2IxNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGhhaWNvbTFBX0MtMTIwLjBFCkBAIC0wLDAgKzEsNjYgQEAKKyMgVGhhaWNvbSAxQSBAIDEyMC4wRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgVFYzIENhbWJvZGlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUGFueWFwaXdhdAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjg1MDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIENUTiBDYW1ib2RpYSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODU0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDk2MjgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBLYXNpa29ybiBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEJheW9uIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzU5MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUmFkaW8gVGhhaWxhbmQgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxODA4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RoYWljb20yX0MtNzguNUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RoYWljb20yX0MtNzguNUUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzQyZTcwYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGhhaWNvbTJfQy03OC41RQpAQCAtMCwwICsxLDk2IEBACisjIFRoYWljb20gMiBAIDc4LjVFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBCQlRWIENoYW5uZWwgNworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1OTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU0JUIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE0NDUwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBNQ09UIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNTYyNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFJveWFsIFRoYWkgQXJteSBUViA1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUaGFpIFRWIENvbG9yIENoYW5uZWwgMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NjcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NTUxMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlUgVFYgMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMDg1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGVuIFRWICYgUmljaCBDaGFubmVsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAxNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIzMDUwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBOQlQgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTA2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDY4ODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRoYWkgUEJTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ4MTUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGhhaWNvbTVfQy03OC41RSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGhhaWNvbTVfQy03OC41RQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMTcxYTk3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UaGFpY29tNV9DLTc4LjVFCkBAIC0wLDAgKzEsMjE2IEBACisjIFRoYWljb20gNSBAIDc4LjVFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBFVEMgSW5kaWEgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzQyMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY3MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRXVyb3BlIE1lZGlhIFBvcnQgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzQzMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMzMzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTmVwYWwgVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzQzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY3MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQ1RWOQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM0NDgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFJSU2F0IEdsb2JhbCBOZXR3b3JrIChNUEVHLTQgUy8yKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM0NTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEF2ZW51ZXMgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNDU0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBQU0kgQ2hhbm5lbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM0NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTUzODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNhZ2FybWF0aGEgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNDg5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBEaGkgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTAyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBLb3JlYW4gQ2VudHJhbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1MDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzY3MDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgR2FuZyBDYXJ0b29uIENoYW5uZWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTA1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE4NTIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBMYW8gU3RhciBDaGFubmVsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzUyMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTE3MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGhhaWNvbSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlJTYXQgR2xvYmFsIE5ldHdvcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTUxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMzMzMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBWVFYgTWFsZGl2ZXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTYyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE1SVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU3NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDc0OTIwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUaGFpY29tIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1ODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY2NjcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUaGFpY29tIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjY2NzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE1SVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzYxNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFJSU2F0IEdsb2JhbCBOZXR3b3JrIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODA2NjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWSyBDYW1ib2RpYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNzA0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1Rob3ItMS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGhvci0xLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBiNDYyNjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1Rob3ItMS4wVwpAQCAtMCwwICsxLDUwNiBAQAorIyBUaG9yIDEuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3NDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzc4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3NzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODA5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4MDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODQxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4NDEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODcyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4NzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5MDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTM0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5MzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMjE2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyMjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMjQ3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyNjEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMjc4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyOTMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzA5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM0MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzU3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM3MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzg5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQwMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDIxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQzNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzI3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzY2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NjIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODgxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTE5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTk2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDM0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA5MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTQ5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTg4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyMjYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjI0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzMDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjMyMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3ODAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNDEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzk5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQxODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDU2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0NzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UdXJrc2F0LTQyLjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UdXJrc2F0LTQyLjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMzNjNhZWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1R1cmtzYXQtNDIuMEUKQEAgLTAsMCArMSw4MTggQEAKKyMgVHVya3NhdCA0Mi4wRQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk2ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NTU3MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5NzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTk5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAwMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTc1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDExMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxMjUwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAxNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDI4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA4MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4ODg4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExMzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE3MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE1OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTk2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTY2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE3NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTE2MDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1ODEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNzUwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2MzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzE2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcyOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNTU1NTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzM0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI5MTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzM5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzEyNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc1MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc1NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2MjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTkyNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzYyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxNTUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc2NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE3NzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0MjAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc3NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMTUwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgxNTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzk0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NDQ0MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODM5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg0NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg2NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzQwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODc4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM3NTAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg4MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTY1MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTI4MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg5MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTYwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4OTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTEyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTE5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NDQ0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODgwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTU5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMzAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDM0MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTcwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTc5MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk3MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjQwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5ODQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjYwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAwMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ4MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAwODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ4MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAyMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDUzODAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAyODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ1NTcwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEyNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMjcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA3NDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTEzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTE4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzEyNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTI0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI1MDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTMwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk2MjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTQwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzEyNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTYzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU5MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1OTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjA1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYwOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNzAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjMzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ4MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYzNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ4MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYzODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjUyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjI1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY1MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gOTE1MDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gODg4ODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjk2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjk5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzAyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjI4NTAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU5MjUwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjczMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1ZpbmFzYXQxX0MtMTMyLjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9WaW5hc2F0MV9DLTEzMi4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNmY5YWNiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9WaW5hc2F0MV9DLTEzMi4wRQpAQCAtMCwwICsxLDI2IEBACisjIFZJTkFTQVQgMSBAIDEzMi4wRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgVlRWIE11bHRpcGxleCAoVlRWIDEsIFZUViAyLCBWVFYgMywgVlRWIDQsIFZUVjYpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzQxMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA5NzY2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVk9WIFRWIChWb2ljZSBvZiBWaWV0TmFtKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1MjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9ZYW1hbDIwMS05MC4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvWWFtYWwyMDEtOTAuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmQ0Yjk3ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvWWFtYWwyMDEtOTAuMEUKQEAgLTAsMCArMSwyMDkgQEAKKyMgWWFtYWwyMDEgQCA5MEUKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5OTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk5NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0Mjg1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDU3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2NDcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2NDcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjcxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE4MjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFlhbWFsMjAxIEAgOTBFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUm9tYW4gS2FzaGNoZWV2CisjIE1hciAzMCwgMjAwOAorIyBmcmVxIHBvbCBzciBmZWMKKworIyBOYXVUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTMyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIFR1cmttZW5pc3RhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1NTMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBDTkwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTc3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjYyNjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOb3JkIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU4ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVGVsZWtvbXBhbmlqYSBPVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI4NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBPYmxhc3Rub2UgVGVsZXZpZGVuaWUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQ05MCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzYwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2MjYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgR2FzY29tCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIFNwYXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjc0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVFYgR3ViZXJuaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzIwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBZdXpobml5IFJlZ2lvbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Mjg1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIFJvc3RvdiBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjY1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIE9SVFJLIDEyIEthbmFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyOTUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTzIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTU1NTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgS2x1YiBQdXRlc2hlc3R2aXkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzgwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTXVzaWMgQm94CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4NjgxMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIE5ldFNlcnZpY2UKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDg0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYWQtQW5kb3JyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYWQtQW5kb3JyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNDMyNTFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hZC1BbmRvcnJhCkBAIC0wLDAgKzEsNDkgQEAKKyMgRFZCLVQgQW5kb3JyYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXQtQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdC1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2ZiZmRjZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXQtQWxsCkBAIC0wLDAgKzEsNTkxIEBACisjIEF1c3RyaWEsIGFsbCBEVkItVCB0cmFuc21pdHRlcnMgcnVuIGJ5IE9SUworIyBDcmVhdGVkIGZyb20KKyMgaHR0cDovL3d3dy5vcnMuYXQvZmlsZWFkbWluL3VzZXJfdXBsb2FkL2Rvd25sb2Fkcy9EVkItVF9LYW5hbGJlemVpY2hudW5nZW5fdW5kX01pdHRlbmZyZXF1ZW56ZW4ucGRmCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1BZGVsYWlkZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQWRlbGFpZGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTM3NmRkOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQWRlbGFpZGUKQEAgLTAsMCArMSw3OSBAQAorIyBBdXN0cmFsaWEgLyBBZGVsYWlkZSAvIE10IExvZnR5CisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNldmVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgM0QgVHJpYWwgQXVzdHJhbGlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM2NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1BZGVsYWlkZUZvb3RoaWxscyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQWRlbGFpZGVGb290aGlsbHMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzNkYmUzZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQWRlbGFpZGVGb290aGlsbHMKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBBZGVsYWlkZSAvIEdyZW5mZWxsIFN0cmVldAorIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODE2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxMTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5pbmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUJhbGxhcmF0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1CYWxsYXJhdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MzhhZGE5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1CYWxsYXJhdApAQCAtMCwwICsxLDY2IEBACisjIEF1c3RyYWxpYSAvIEJhbGxhcmF0CisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyMDYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFByaW1lCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgV0lOCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTkyNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQmVuZGlnbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQmVuZGlnbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wN2YwOWNhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1CZW5kaWdvCkBAIC0wLDAgKzEsMzI2IEBACisjIEF1c3RyYWxpYSAvIEJlbmRpZ28gKE10IEFsZXhhbmRyaWEgdHJhbnNtaXR0ZXJzKQorIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2Njk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyMDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTZXZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTUyNTAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE5pbmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzYyNTAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5MjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MjUwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1Mjk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzNDI1MDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBVTksxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVU5LMgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTY0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDM1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTI5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM2NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxMTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTUwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQnJpc2JhbmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUJyaXNiYW5lCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmEyM2NiOWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUJyaXNiYW5lCkBAIC0wLDAgKzEsNzkgQEAKKyMgQXVzdHJhbGlhIC8gQnJpc2JhbmUgKE10IENvb3QtdGhhIHRyYW5zbWl0dGVycykKKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOaW5lCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAzMSBEaWdpdGFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTI5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1DYWlybnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUNhaXJucwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNzJjNjA1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1DYWlybnMKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBDYWlybnMgKE10IEJlbGxlbmRlbi1LZXIgdHJhbnNtaXR0ZXJzKQorIyBBQkMgVkhGIDgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTRVZFTiBWSEYgMTEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBXSU4gVkhGIDEyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVEVOIFZIRiA2IChFeHBlY3RlZCBTdGFydCBEYXRlIERlYyAyMDA2KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyBVSEYgMjkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUNhbmJlcnJhLUJsYWNrLU10IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1DYW5iZXJyYS1CbGFjay1NdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNzgzZThhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1DYW5iZXJyYS1CbGFjay1NdApAQCAtMCwwICsxLDY2IEBACisjIEF1c3RyYWxpYSAvIENhbmJlcnJhIC8gQmxhY2sgTXQKKyMgQUJDIChBQkM4KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNldmVuIChDQk4xMikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAoTmluZSAoV0lOMTEpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVGVuIChDVEM2KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyAoU0JTNykKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1Db29uYWJhcmFicmFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1Db29uYWJhcmFicmFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgzYTRlNmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUNvb25hYmFyYWJyYW4KQEAgLTAsMCArMSw1NyBAQAorIyBBdXN0cmFsaWEgLyBDb29uYWJhcmFicmFuCisjCisjCisjIEFCQyBWSEYxMgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRFTiBVSEY0NgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1NTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5pbmUgVUhGNDUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbiBWSEYxMQorI1QgNjE4MjUwMDAwIDdNSHogMy80IE5PTkUgUUFNNjQgOGsgMS8xNiBOT05FCisjIFNCUyBVSEY0NAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtRGFyd2luIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1EYXJ3aW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGU3NzE5NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtRGFyd2luCkBAIC0wLDAgKzEsNjUgQEAKKyMgQUJDIChVSEYgMzApCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQzNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZSAoVUhGIDMxKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1MDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyAoVUhGIDI5KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzNjYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU291dGhlcm4gQ3Jvc3MgKFVIRiAzMikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTc2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBEYXJ3aW4gRGlnaXRhbCBUZWxldmlzaW9uIChVSEYgMzMpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTY0NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtRGV2b25wb3J0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1EZXZvbnBvcnQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGEzOWUwZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtRGV2b25wb3J0CkBAIC0wLDAgKzEsOTUgQEAKKyMgQXVzdHJhbGlhIC8gVGFzbWFuaWEgLyBEZXZvbnBvcnQKKyMKKyMgQnJldHQgUyBIYWxsZXR0IE9jdG9iZXIgMjAwOSAsIG1heSBub3QgYmUgY29tcGxldGUgISEKKyMKKyMgQUJDIFZIRiA1NworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDI1MDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEFCQyBEaWdpdGFsIDQ1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQ4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTIFZIRiA1NAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwOTI1MDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTIERpZ2l0YWwgMzkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNDVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTM0OTgwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBXSU4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2Mjc0OTgwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFREVAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NTQ5ODAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtRnJhc2VyQ29hc3QtQnVuZGFiZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1GcmFzZXJDb2FzdC1CdW5kYWJlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWE5M2Q4MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtRnJhc2VyQ29hc3QtQnVuZGFiZXJnCkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gUUxEIC8gRnJhc2VyIENvYXN0IC0gQnVuZGFiZXJnIC8gTXQgR29vbmFuZW1hbgorIyBBQkMgVkhGOUEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMDU2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMgVUhGMjgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1Mjk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNldmVuIFZIRjcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxODQ2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBXSU4gV2lkZSBCYXkgVkhGMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTb3V0aGVybiBDcm9zcyBUZW4gVkhGOQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5ODUyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUdvbGRDb2FzdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtR29sZENvYXN0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlmM2E3NGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUdvbGRDb2FzdApAQCAtMCwwICsxLDEwOCBAQAorIyBEVkItVCBmcmVxdWVuY2llcyAmIG1vZHVsYXRpb24gZm9yIHRoZSBHb2xkIENvYXN0LCBBdXN0cmFsaWEgKE10IFRhbWJvcmluZSkKKyMgU2VlIGh0dHA6Ly93d3cuZGJhLm9yZy5hdS9pbmRleC5hc3A/c2VjdGlvbklEPTIyJnJlY0xvY2F0aW9uPUdvbGQrQ29hc3QKKyMgYW5kIGh0dHA6Ly93d3cuZGJhLm9yZy5hdS9pbmRleC5hc3A/c2VjdGlvbklEPTEyMAorIworIyBBQkMgKFVIRiA2MikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3Njc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMgKFVIRiAzNikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNldmVuIChVSEYgNTMpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOQk4gKFVIRiA2OCkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBQcmltZSAoVUhGIDY1KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNvdXRoZXJuIENyb3NzIFRlbiAoVUhGIDQzKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5pbmUgKFVIRiA1OSkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4gKFVIRiA1NikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1Hb3VsYnVybi1Sb2NreV9IaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1Hb3VsYnVybi1Sb2NreV9IaWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI1OWQ5ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUdvdWxidXJuLVJvY2t5X0hpbGwKQEAgLTAsMCArMSw2NjQgQEAKKyMgQXVzdHJhbGlhIC8gR291bGJ1cm4gLyBSb2NreSBIaWxsCisjCisjIFNjYW5uZWQgMzEvMDcvMjAxNiAtIEFsZXggRmVycmFyYSAoYWxleEByZWNlcHRpdmVpdC5jb20uYXUpCisKK1tOaW5lIENhbmJlcnJhXQorCVNFUlZJQ0VfSUQgPSAyMDU1CisJVklERU9fUElEID0gMzUzCisJQVVESU9fUElEID0gMzU0CisJUElEXzBiID0gODAyNgorCVBJRF8wNiA9IDM1NQorCVBJRF8wNSA9IDgwMjUKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworWzlIRCBDYW5iZXJyYV0KKwlTRVJWSUNFX0lEID0gMjI0NworCVZJREVPX1BJRCA9IDE3NjEKKwlBVURJT19QSUQgPSAxNzYyIDE3NjMgODAyNQorCVBJRF8wYiA9IDgwMjYKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW05pbmUgQ2FuYmVycmFdCisJU0VSVklDRV9JRCA9IDIyMTUKKwlWSURFT19QSUQgPSAzNTMKKwlBVURJT19QSUQgPSAzNTQKKwlQSURfMGIgPSA4MDI2CisJUElEXzA2ID0gMzU1CisJUElEXzA1ID0gODAyNQorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbOUdlbV0KKwlTRVJWSUNFX0lEID0gMjA4NworCVZJREVPX1BJRCA9IDE3MTEKKwlBVURJT19QSUQgPSAxNzEyCisJUElEXzBiID0gODAyNgorCVBJRF8wNiA9IDE3MTMKKwlQSURfMDUgPSA4MDI1CisJRlJFUVVFTkNZID0gNjQxNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1s5R28hXQorCVNFUlZJQ0VfSUQgPSAyMTE5CisJVklERU9fUElEID0gMTcyMQorCUFVRElPX1BJRCA9IDE3MjIKKwlQSURfMGIgPSA4MDI2CisJUElEXzA2ID0gMTcyMworCVBJRF8wNSA9IDgwMjUKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworWzlMaWZlXQorCVNFUlZJQ0VfSUQgPSAyMjc5CisJVklERU9fUElEID0gMTc3MQorCUFVRElPX1BJRCA9IDE3NzIKKwlQSURfMGIgPSA4MDI2CisJUElEXzA2ID0gMTc3MworCVBJRF8wNSA9IDgwMjUKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1lFU1NIT1BdCisJU0VSVklDRV9JRCA9IDIxNTEKKwlWSURFT19QSUQgPSAxNzMxCisJQVVESU9fUElEID0gMTczMgorCVBJRF8wYiA9IDgwMjYKKwlQSURfMDUgPSA4MDI1CisJRlJFUVVFTkNZID0gNjQxNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tBc3BpcmVdCisJU0VSVklDRV9JRCA9IDIxODMKKwlWSURFT19QSUQgPSAxNzQxCisJQVVESU9fUElEID0gMTc0MgorCVBJRF8wYiA9IDgwMjYKKwlQSURfMDUgPSA4MDI1CisJRlJFUVVFTkNZID0gNjQxNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tXSU4gQ2FuYmVycmFdCisJU0VSVklDRV9JRCA9IDE5MjEKKwlWSURFT19QSUQgPSAxMjIKKwlBVURJT19QSUQgPSA1MjIKKwlQSURfMGIgPSAxMDIKKwlQSURfMDYgPSA3MjIKKwlGUkVRVUVOQ1kgPSA2MzQ1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1dJTiBDYW5iZXJyYSBIRF0KKwlTRVJWSUNFX0lEID0gMTkzOQorCVZJREVPX1BJRCA9IDEyNQorCUFVRElPX1BJRCA9IDUyNSA3MjUKKwlQSURfMGIgPSAxMDIKKwlGUkVRVUVOQ1kgPSA2MzQ1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW09ORSBDYW5iZXJyYV0KKwlTRVJWSUNFX0lEID0gMTkyMgorCVZJREVPX1BJRCA9IDEyMworCUFVRElPX1BJRCA9IDUyMworCVBJRF8wYiA9IDEwMgorCVBJRF8wNiA9IDcyMworCUZSRVFVRU5DWSA9IDYzNDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbRUxFVkVOIENhbmJlcnJhXQorCVNFUlZJQ0VfSUQgPSAxOTI2CisJVklERU9fUElEID0gMTI0CisJQVVESU9fUElEID0gNTI0CisJUElEXzBiID0gMTAyCisJUElEXzA2ID0gNzI0CisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tXSU4gTkVUV09SS10KKwlTRVJWSUNFX0lEID0gMTkzNgorCVZJREVPX1BJRCA9IDEyNgorCUFVRElPX1BJRCA9IDUyNgorCVBJRF8wYiA9IDEwMgorCVBJRF8wNiA9IDcyNgorCUZSRVFVRU5DWSA9IDYzNDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbVFZTTl0KKwlTRVJWSUNFX0lEID0gMTkyOAorCVZJREVPX1BJRCA9IDExNgorCUFVRElPX1BJRCA9IDUxNgorCVBJRF8wYiA9IDEwMgorCVBJRF8wNiA9IDcxNgorCUZSRVFVRU5DWSA9IDYzNDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbR09MRF0KKwlTRVJWSUNFX0lEID0gMTkyNworCVZJREVPX1BJRCA9IDExNQorCUFVRElPX1BJRCA9IDUxNQorCVBJRF8wYiA9IDEwMgorCVBJRF8wNiA9IDcxNQorCUZSRVFVRU5DWSA9IDYzNDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbT05FIENhbmJlcnJhXQorCVNFUlZJQ0VfSUQgPSAxOTI1CisJVklERU9fUElEID0gMTIzCisJQVVESU9fUElEID0gNTIzCisJUElEXzBiID0gMTAyCisJUElEXzA2ID0gNzIzCisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tXSU4gQ2FuYmVycmFdCisJU0VSVklDRV9JRCA9IDE5MjQKKwlWSURFT19QSUQgPSAxMjIKKwlBVURJT19QSUQgPSA1MjIKKwlQSURfMGIgPSAxMDIKKwlQSURfMDYgPSA3MjIKKwlGUkVRVUVOQ1kgPSA2MzQ1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1BSSU1FNyBDYW5iZXJyYV0KKwlTRVJWSUNFX0lEID0gMjM3NAorCVZJREVPX1BJRCA9IDI3NDAKKwlBVURJT19QSUQgPSAyNzQxCisJUElEXzBiID0gMjc0OQorCVBJRF8wNiA9IDI3NDUKKwlGUkVRVUVOQ1kgPSA2Mjc1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1BSSU1FNyBDYW5iZXJyYV0KKwlTRVJWSUNFX0lEID0gMjQwMAorCVZJREVPX1BJRCA9IDI3NDAKKwlBVURJT19QSUQgPSAyNzQxCisJUElEXzBiID0gMjc0OQorCVBJRF8wNiA9IDI3NDUKKwlGUkVRVUVOQ1kgPSA2Mjc1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1BSSU1FNyBDYW5iZXJyYV0KKwlTRVJWSUNFX0lEID0gMjQwMQorCVZJREVPX1BJRCA9IDI3NDAKKwlBVURJT19QSUQgPSAyNzQxCisJUElEXzBiID0gMjc0OQorCVBJRF8wNiA9IDI3NDUKKwlGUkVRVUVOQ1kgPSA2Mjc1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworWzdUV08gQ2FuYmVycmFdCisJU0VSVklDRV9JRCA9IDI0MDIKKwlWSURFT19QSUQgPSA0NjIwCisJQVVESU9fUElEID0gNDYyMQorCVBJRF8wYiA9IDI3NDkKKwlQSURfMDYgPSA0NjI1CisJRlJFUVVFTkNZID0gNjI3NTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1s3bWF0ZSBDYW5iZXJyYV0KKwlTRVJWSUNFX0lEID0gMjQwMworCVZJREVPX1BJRCA9IDQ2MzAKKwlBVURJT19QSUQgPSA0NjMyIDQ2MzUKKwlQSURfMGIgPSAyNzQ5CisJRlJFUVVFTkNZID0gNjI3NTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tpc2hvcHR2XQorCVNFUlZJQ0VfSUQgPSAyNDA1CisJVklERU9fUElEID0gNDY1MAorCUFVRElPX1BJRCA9IDQ2NTEKKwlQSURfMGIgPSAyNzQ5CisJRlJFUVVFTkNZID0gNjI3NTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tSQUNJTkcuQ09NXQorCVNFUlZJQ0VfSUQgPSAyNDA4CisJVklERU9fUElEID0gNDY4MAorCUFVRElPX1BJRCA9IDQ2ODEKKwlQSURfMGIgPSAyNzQ5CisJRlJFUVVFTkNZID0gNjI3NTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tBQkMgTmV3cyAyNF0KKwlTRVJWSUNFX0lEID0gNjcyCisJVklERU9fUElEID0gNTE2CisJQVVESU9fUElEID0gNjU0IDU4MCA1NTAwCisJUElEXzBiID0gNTUwMSA1MDAwCisJRlJFUVVFTkNZID0gNjIwNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tBQkNdCisJU0VSVklDRV9JRCA9IDY3MworCVZJREVPX1BJRCA9IDUxMgorCUFVRElPX1BJRCA9IDY1MAorCVBJRF8wYiA9IDU1MDEgNTAwMAorCVBJRF8wNiA9IDU3NgorCVBJRF8wNSA9IDU1MDAKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW0FCQzIvS0lEU10KKwlTRVJWSUNFX0lEID0gNjc0CisJVklERU9fUElEID0gNTEzCisJQVVESU9fUElEID0gNjUxCisJUElEXzBiID0gNTUwMSA1MDAwCisJUElEXzA2ID0gNTc3CisJUElEXzA1ID0gNTUwMAorCUZSRVFVRU5DWSA9IDYyMDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbQUJDXQorCVNFUlZJQ0VfSUQgPSA2NzUKKwlWSURFT19QSUQgPSA1MTIKKwlBVURJT19QSUQgPSA2NTAKKwlQSURfMGIgPSA1NTAxIDUwMDAKKwlQSURfMDYgPSA1NzYKKwlQSURfMDUgPSA1NTAwCisJRlJFUVVFTkNZID0gNjIwNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tBQkMzXQorCVNFUlZJQ0VfSUQgPSA2NzYKKwlWSURFT19QSUQgPSA1MTQKKwlBVURJT19QSUQgPSA2NTIKKwlQSURfMGIgPSA1NTAxIDUwMDAKKwlQSURfMDYgPSA1NzgKKwlQSURfMDUgPSA1NTAwCisJRlJFUVVFTkNZID0gNjIwNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tEb3VibGUgSl0KKwlTRVJWSUNFX0lEID0gNjc4CisJQVVESU9fUElEID0gNjkwCisJUElEXzBiID0gNTUwMQorCVBJRF8wNSA9IDU1MDAKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW0FCQyBKYXp6XQorCVNFUlZJQ0VfSUQgPSA2NzkKKwlBVURJT19QSUQgPSA3MDAKKwlQSURfMGIgPSA1NTAxCisJUElEXzA1ID0gNTUwMAorCUZSRVFVRU5DWSA9IDYyMDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbU0JTIE9ORV0KKwlTRVJWSUNFX0lEID0gODQ5CisJVklERU9fUElEID0gMTYxCisJQVVESU9fUElEID0gODEKKwlQSURfMGIgPSA3MDAwIDUwMDAKKwlQSURfMDYgPSA0MQorCVBJRF8wNSA9IDc4NDkKKwlGUkVRVUVOQ1kgPSA2MTM1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1NCUyBIRF0KKwlTRVJWSUNFX0lEID0gODUzCisJVklERU9fUElEID0gMTAyCisJQVVESU9fUElEID0gMTAzCisJUElEXzBiID0gNzAwMCA1MDAwCisJUElEXzA2ID0gNDMKKwlQSURfMDUgPSA3ODUzCisJRlJFUVVFTkNZID0gNjEzNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tTQlMgVFdPXQorCVNFUlZJQ0VfSUQgPSA4NTAKKwlWSURFT19QSUQgPSAxNjIKKwlBVURJT19QSUQgPSA4MworCVBJRF8wYiA9IDcwMDAgNTAwMAorCVBJRF8wNiA9IDQyCisJUElEXzA1ID0gNzg1MAorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbRm9vZCBOZXR3b3JrXQorCVNFUlZJQ0VfSUQgPSA4NTEKKwlWSURFT19QSUQgPSAxNjMKKwlBVURJT19QSUQgPSA4NQorCVBJRF8wYiA9IDcwMDAgNTAwMAorCVBJRF8wNiA9IDQ0CisJUElEXzA1ID0gNzg0OQorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbTklUVl0KKwlTRVJWSUNFX0lEID0gODUyCisJVklERU9fUElEID0gMTY0CisJQVVESU9fUElEID0gODcKKwlQSURfMGIgPSA3MDAwIDUwMDAKKwlQSURfMDYgPSA0NQorCVBJRF8wNSA9IDc4NTIKKwlGUkVRVUVOQ1kgPSA2MTM1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1NCUyBSYWRpbyAxXQorCVNFUlZJQ0VfSUQgPSA4NjIKKwlBVURJT19QSUQgPSAyMDEKKwlGUkVRVUVOQ1kgPSA2MTM1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1NCUyBSYWRpbyAyXQorCVNFUlZJQ0VfSUQgPSA4NjMKKwlBVURJT19QSUQgPSAyMDIKKwlGUkVRVUVOQ1kgPSA2MTM1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1NCUyBSYWRpbyAzXQorCVNFUlZJQ0VfSUQgPSA4NjQKKwlBVURJT19QSUQgPSAyMDMKKwlGUkVRVUVOQ1kgPSA2MTM1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1IZXJ2ZXlfQmF5LUdob3N0X0hpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUhlcnZleV9CYXktR2hvc3RfSGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lMzU4NjlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1IZXJ2ZXlfQmF5LUdob3N0X0hpbGwKQEAgLTAsMCArMSw4MSBAQAorIyBBdXN0cmFsaWEgLyBIZXJ2ZXkgQmF5IC8gR2hvc3QgSGlsbAorIworIworIyBBQkMgVUhGNTYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbiBVSEY1OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5pbmUgVUhGNjIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3Njc2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4gVUhGNjgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMgVUhGMjgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1Mjk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyBVSEYzNAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtSG9iYXJ0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1Ib2JhcnQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzk0YzUzZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtSG9iYXJ0CkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gVGFzbWFuaWEgLyBIb2JhcnQKKyMgQUJDIFZIRiA4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTIFZIRiA5YQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0NUIFZIRiAxMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFdJTiBWSEYgNworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE4NDYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVERUIFZIRiAxMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtTWFja2F5IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NYWNrYXkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjg5NDAwNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtTWFja2F5CkBAIC0wLDAgKzEsNjggQEAKKyMgQXVzdHJhbGlhIC8gTWFja2F5IChNdCBCbGFja3dvb2QgdHJhbnNtaXR0ZXJzKQorIyBhdWZyZXE9KChVSEYgY2hhbm5lbCBudW1iZXIpKjgrMzA2KQorCisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNldmVuIE5ldHdvcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFdJTiBEaWdpdGFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU291dGhlcm4gQ3Jvc3MgVGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NZWxib3VybmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1lbGJvdXJuZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYzc0MmZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NZWxib3VybmUKQEAgLTAsMCArMSw4OCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBmaWxlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHdfc2NhbgorIyAoaHR0cDovL3dpcmJlbC5odHBjLWZvcnVtLmRlL3dfc2Nhbi9pbmRleDIuaHRtbCkKKyMhIDx3X3NjYW4+IDIwMTMwMzMxIDEgMCBURVJSRVNUUklBTCBBVSA8L3dfc2Nhbj4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBBdXN0cmFsaWEgLyBNZWxib3VybmUgKE10IERhbmRlbm9uZyB0cmFuc21pdHRlcnMpCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wOC0xNworIyBwcm92aWRlZCBieSAob3B0KSAgICA6IDx5b3VyIG5hbWUgb3IgZW1haWwgaGVyZT4KKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgU2V2ZW4gTmV0d29yaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMgTWVsYm91cm5lCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZSBOZXR3b3JrIEF1c3RyYWxpYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOZXR3b3JrIFRFTgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBQkMgTWVsYm91cm5lCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEMzMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NzYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtTWVsYm91cm5lLVNlbGJ5IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NZWxib3VybmUtU2VsYnkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjIxOTQ2NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtTWVsYm91cm5lLVNlbGJ5CkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gTWVsYm91cm5lIChTZWxieSBSZXBlYXRlcikKKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjYyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOaW5lCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzExNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtTWVsYm91cm5lLVVwd2V5IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NZWxib3VybmUtVXB3ZXkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTc4ZTJhZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtTWVsYm91cm5lLVVwd2V5CkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gTWVsYm91cm5lIChVcHdleSBSZXBlYXRlcikKKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjYyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOaW5lCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzExNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NaWROb3J0aENvYXN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NaWROb3J0aENvYXN0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcxNGQ4ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1pZE5vcnRoQ29hc3QKQEAgLTAsMCArMSwxMzEgQEAKKyMgQXVzdHJhbGlhIEFCQyBNaWQgTm9ydGggQ29hc3QKKyMgQUJDIG1pZGRsZSBicm90aGVyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTg0NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUHJpbWUgTWlkZGxlIEJyb3RoZXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOQk4gTWlkZGxlIEJyb3RoZXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4gTWlkZGxlIEJyb3RoZXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMgbWlkZGxlIGJyb3RoZXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEFCQyBNb29tYmlsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUHJpbWUgTW9vbWJpbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0MzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5CTiBNb29tYmlsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTY0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVGVuIE1vb21iaWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMgTW9vbWJpbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtTmV3Y2FzdGxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1OZXdjYXN0bGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGQ2MzRlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtTmV3Y2FzdGxlCkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gTmV3Y2FzdGxlCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5OTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTkJOCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUHJpbWUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQzEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtUGVydGggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVBlcnRoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRjNmZiMDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVBlcnRoCkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gUGVydGgKKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4gTmV0d29yaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5pbmUgTmV0d29yaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5ldHdvcmsgVEVOCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM2NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1QZXJ0aF9Sb2xleXN0b25lIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1QZXJ0aF9Sb2xleXN0b25lCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYwMmNjMjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVBlcnRoX1JvbGV5c3RvbmUKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBQZXJ0aCAoUm9sZXlzdG9uZSB0cmFuc21pdHRlcikKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5pbmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3Njc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TcGVuY2VyR3VsZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3BlbmNlckd1bGYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTk4MzExMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3BlbmNlckd1bGYKQEAgLTAsMCArMSw0MCBAQAorIyBBdXN0cmFsaWEgLyBTb3V0aCBBdXN0cmFsaWEgLyBQdCBQaXJpZSAoVEhFIEJMVUZGKQorIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTb3V0aGVybiBDcm9zcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyMDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3Vuc2hpbmVDb2FzdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3Vuc2hpbmVDb2FzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZjZmNWRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TdW5zaGluZUNvYXN0CkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gU3Vuc2hpbmUgQ29hc3QKKyMgU0JTNDAgU0JTICoqKgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVE5RNDQgMTAgKioqCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBQkM0MSBBQkMgKioqCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjIwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU1RRNDIgNyAqKioKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2Mjc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBSVFE0MyBXSU4gKioqCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3V0aGVybGFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3V0aGVybGFuZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MDNmNGJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TdXRoZXJsYW5kCkBAIC0wLDAgKzEsNjMgQEAKKyMgQXVzdHJhbGlhIC8gU3V0aGVybGFuZAorIworIyBBdXN0cmFsaWEgbW9kdWxhdGlvbiBwYXJhbXM6CisjIC0gaHR0cDovL3d3dy5kYmEub3JnLmF1L2luZGV4LmFzcD9zZWN0aW9uSUQ9MTIwCisjCisjCisjIE5vcnRoIChCcm9hZGNhc3QgU2l0ZSBFc2NhcnBtZW50IFJvYWQgQlJPS0VSUyBOT1NFKQorIyAtIGh0dHA6Ly93d3cuZGJhLm9yZy5hdS9pbmRleC5hc3A/cXVlcnk9dHJ1ZSZzZWN0aW9uSUQ9MjImcmVjTG9jYXRpb249V29sbG9uZ29uZyslMkQrTm9ydGgKKyMKKyNDaGFubmVsIDcgc3RhdGlvbnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworI0NoYW5uZWwgOSBidW5kbGUKKyMgVCAxOTE1MDAwMDAgN01IeiBBVVRPIEFVVE8gQVVUTyBBVVRPIEFVVE8gQVVUTworI09uZSBhbmQgQ2hhbm5lbCAxMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjQXVudHkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworI1NCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVN5ZG5leSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3lkbmV5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE5ZTdiZTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVN5ZG5leQpAQCAtMCwwICsxLDgyIEBACisjIEF1c3RyYWxpYSAvIFN5ZG5leSAodHJhbnNtaXR0ZXJzIGF0IEFydGFybW9uL0dvcmUgSGlsbC9XaWxsb3VnaGJ5KQorIworIyAjIyBTZXJ2aWNlIC0gQ2hhbm5lbCAtIE5ldHdvcmsgb3duZXIKKyMKKyMjIEFCQyAtIENIMTIgLSBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIEFUTiAtIENINiAtIFNldmVuIE5ldHdvcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIFRDTiAtIENIOCAtIE5pbmUgTmV0d29yaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyMgVEVOIC0gQ0gxMSAtIE5ldHdvcmsgVGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBTQlMgLSBDSDcgLSBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyMgVFNOIC0gQ0gyOSAtIENvbW11bml0eSBUZWxldmlzaW9uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM2NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVN5ZG5leV9LaW5nc19Dcm9zcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3lkbmV5X0tpbmdzX0Nyb3NzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY2MWZiOTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVN5ZG5leV9LaW5nc19Dcm9zcwpAQCAtMCwwICsxLDY4IEBACisjIEF1c3RyYWxpYSAvIFN5ZG5leSAvIEtpbmdzIENyb3NzIGFuZCBOb3J0aCBIZWFkCisjCisjCisjIEFCQyBVSEYzMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0MzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNldmVuIFVIRjQ4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZSBVSEYzMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbiBVSEY0NQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyBVSEYzNAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtVGFtd29ydGggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVRhbXdvcnRoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg3YzMxODAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVRhbXdvcnRoCkBAIC0wLDAgKzEsMjAwIEBACisjIEF1c3RyYWxpYSAvIE5TVyAvIE5ldyBFbmdsYW5kIC8gVGFtd29ydGggLyBNdC5Tb21hCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTkJOCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzUzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUHJpbWUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQzEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBdXN0cmFsaWEgLyBOU1cgLyBOZXcgRW5nbGFuZCAvIFVwcGVyIE5hbW9pIC8gTXQuRG93ZQorIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5CTgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5MjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFByaW1lCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjA1NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0MxMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQXVzdHJhbGlhIC8gTlNXIC8gV2VzdGVybiBEaXN0cmljdHMgLyBDZW50cmFsIFdlc3Rlcm4gU2xvcGVzIC8gTXQuIENlbm4gQ3J1YWljaAorIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFdJTgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFByaW1lCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjIwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjI2NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0MxMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVRvd25zdmlsbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVRvd25zdmlsbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDdjOGI2YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtVG93bnN2aWxsZQpAQCAtMCwwICsxLDY2IEBACisjIEF1c3RyYWxpYSAvIEJyaXNiYW5lIChNdCBDb290LXRoYSB0cmFuc21pdHRlcnMpCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5MjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTUwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOaW5lCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjIwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtV2FnZ2FXYWdnYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtV2FnZ2FXYWdnYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMDc2MmM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1XYWdnYVdhZ2dhCkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gV2FnZ2EgV2FnZ2EgKE10IFVsdW5kcmEpCisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1NTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2OTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUHJpbWUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTb3V0aGVybiBDcm9zcyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBXSU4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODM1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1Xb2xsb25nb25nIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1Xb2xsb25nb25nCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk0ZmU3NDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVdvbGxvbmdvbmcKQEAgLTAsMCArMSwxNDkgQEAKKyMgQXVzdHJhbGlhIC8gV29sbG9uZ29uZworIworIyBBdXN0cmFsaWEgbW9kdWxhdGlvbiBwYXJhbXM6CisjIC0gaHR0cDovL3d3dy5kYmEub3JnLmF1L2luZGV4LmFzcD9zZWN0aW9uSUQ9MTIwCisjCisjCisjIE5vcnRoIChCcm9hZGNhc3QgU2l0ZSBFc2NhcnBtZW50IFJvYWQgQlJPS0VSUyBOT1NFKQorIyAtIGh0dHA6Ly93d3cuZGJhLm9yZy5hdS9pbmRleC5hc3A/cXVlcnk9dHJ1ZSZzZWN0aW9uSUQ9MjImcmVjTG9jYXRpb249V29sbG9uZ29uZyslMkQrTm9ydGgKKyMKKyMgQUJDIFVIRjUyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUHJpbWUgVUhGNDYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBXSU4gVUhGNDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTM1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4gVUhGNDMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMgVUhGNTQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTE2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIElsbGF3YXJyYSAoQnJvYWRjYXN0IEF1c3RyYWxpYSBEaWdpdGFsIFRlbGV2aXNpb24gVG93ZXIgS05JR0hUUyBISUxMKQorIyAtIGh0dHA6Ly93d3cuZGJhLm9yZy5hdS9pbmRleC5hc3A/cXVlcnk9dHJ1ZSZzZWN0aW9uSUQ9MjImcmVjTG9jYXRpb249V29sbG9uZ29uZyslMkQrSWxsYXdhcnJhCisjCisjIEFCQyBVSEY1MQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFByaW1lIFVIRjM4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgV0lOIFVIRjM2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVGVuIFVIRjM3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTkyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTIC0gc2FtZSBhcyBOb3J0aAorIworIyBTdGFud2VsbCBQYXJrIChCYWxkIEhpbGwgU1RBTldFTEwgVE9QUykKKyMgLSBodHRwOi8vd3d3LmRiYS5vcmcuYXUvaW5kZXguYXNwP3F1ZXJ5PXRydWUmc2VjdGlvbklEPTIyJnJlY0xvY2F0aW9uPVdvbGxvbmdvbmcrJTJEK1N0YW53ZWxsJTIwUGFyaworIworIyBBQkMsIFByaW1lLCBXSU4sIFRlbiBhcmUgaWRlbnRpY2FsIHRvIFdvbGxvbmdvbmcgLyBOb3J0aAorIyBTQlMgVUhGNDkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LWNhbmJlcnJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1jYW5iZXJyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43OWEwOTRhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1jYW5iZXJyYQpAQCAtMCwwICsxLDY2IEBACisjIEF1c3RyYWxpYSAvIENhbmJlcnJhIC8gV29kZW4KKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjA1NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5pbmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTE2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDM1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LXVua25vd24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LXVua25vd24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzhkMTZiMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtdW5rbm93bgpAQCAtMCwwICsxLDEzIEBACisjIEF1c3RyYWxpYSBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tQXVzdHJhbGlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdXRvLUF1c3RyYWxpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNThmYWUzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdXRvLUF1c3RyYWxpYQpAQCAtMCwwICsxLDEyMDkgQEAKKyMgZm9yICgkZnJlcSA9IDE3NzUwMDAwMDsgJGZyZXEgPD0gMjI2NTAwMDAwOyAkZnJlcSArPSA3MDAwMDAwKSB7CisjIAlwcmludCAiVCAkZnJlcSA3TUh6IEFVVE8gTk9ORSBBVVRPIEFVVE8gQVVUTyBOT05FXG4iOworIyAJcHJpbnQgIlQgIiwgJGZyZXEgKyAxMjUwMDAsICIgN01IeiBBVVRPIE5PTkUgQVVUTyBBVVRPIEFVVE8gTk9ORVxuIjsKKyMgfQorIyBmb3IgKCRmcmVxID0gNTI5NTAwMDAwOyAkZnJlcSA8PSA4MTY1MDAwMDA7ICRmcmVxICs9IDcwMDAwMDApIHsKKyMgCXByaW50ICJUICRmcmVxIDdNSHogQVVUTyBOT05FIEFVVE8gQVVUTyBBVVRPIE5PTkVcbiI7CisjIAlwcmludCAiVCAiLCAkZnJlcSArIDEyNTAwMCwgIiA3TUh6IEFVVE8gTk9ORSBBVVRPIEFVVE8gQVVUTyBOT05FXG4iOworIyB9CisjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE3NzYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTg0NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTE2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5ODYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjA1NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTI2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxOTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjI2NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1Mjk2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzNjYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDM1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQzNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1MDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTA2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NzYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTY0NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzE2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg1NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5MjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTI2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5OTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjA2NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTM2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjIwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyMDYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2Mjc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI3NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQ2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQ4NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1NTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTU2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjYyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2MjYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2Njk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY5NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MzYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTc2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNDYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzExNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTg2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzI1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyNTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMyNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3Mzk2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTM1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzUzNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjA2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzY3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2NzYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc0NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODE2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4ODYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzk1NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDI2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODA5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwOTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE2NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdXRvLURlZmF1bHQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tRGVmYXVsdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZGQ4MWI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdXRvLURlZmF1bHQKQEAgLTAsMCArMSw2OTEgQEAKKyMgZm9yICgkZnJlcSA9IDE3NzUwMDAwMDsgJGZyZXEgPD0gMjI2NTAwMDAwOyAkZnJlcSArPSA3MDAwMDAwKSB7CisjIAlwcmludCAiVCAkZnJlcSA3TUh6IEFVVE8gTk9ORSBBVVRPIEFVVE8gQVVUTyBOT05FXG4iOworIyB9CisjIGZvciAoJGZyZXEgPSA0NzQwMDAwMDA7ICRmcmVxIDw9IDg1ODAwMDAwMDsgJGZyZXEgKz0gODAwMDAwMCkgeworIyAJcHJpbnQgIlQgJGZyZXEgOE1IeiBBVVRPIE5PTkUgQVVUTyBBVVRPIEFVVE8gTk9ORVxuIjsKKyMgfQorIworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdXRvLVRhaXdhbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXV0by1UYWl3YW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2IyZmI5ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXV0by1UYWl3YW4KQEAgLTAsMCArMSwxNjAgQEAKKyMgZm9yICgkZnJlcSA9IDUyNzAwMDAwMDsgJGZyZXEgPD0gNTk5MDAwMDAwOyAkZnJlcSArPSA2MDAwMDAwKSB7CisjIAlwcmludCAiVCAkZnJlcSA2TUh6IEFVVE8gTk9ORSBBVVRPIEFVVE8gQVVUTyBOT05FXG4iOworIyB9CisjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTI3MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMzAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzkwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ1MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1MTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTcwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYzMDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2OTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzUwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTgxMDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NzAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTMwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk5MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdXRvLVdpdGgxNjdrSHpPZmZzZXRzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdXRvLVdpdGgxNjdrSHpPZmZzZXRzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM1NDJkYjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tV2l0aDE2N2tIek9mZnNldHMKQEAgLTAsMCArMSwxODY5IEBACisjIGZvciAoJGZyZXEgPSAxNzc1MDAwMDA7ICRmcmVxIDw9IDIyNjUwMDAwMDsgJGZyZXEgKz0gNzAwMDAwMCkgeworIyAJcHJpbnQgIlQgJGZyZXEgN01IeiBBVVRPIE5PTkUgQVVUTyBBVVRPIEFVVE8gTk9ORVxuIjsKKyMgfQorIyBmb3IgKCRmcmVxID0gNDc0MDAwMDAwOyAkZnJlcSA8PSA4NTgwMDAwMDA7ICRmcmVxICs9IDgwMDAwMDApIHsKKyMgCXByaW50ICJUICRmcmVxIDhNSHogQVVUTyBOT05FIEFVVE8gQVVUTyBBVVRPIE5PTkVcbiI7CisjIAlwcmludCAiVCAiLCAkZnJlcSAtIDE2NzAwMCwgIiA4TUh6IEFVVE8gTk9ORSBBVVRPIEFVVE8gQVVUTyBOT05FXG4iOworIyAJcHJpbnQgIlQgIiwgJGZyZXEgKyAxNjcwMDAsICIgOE1IeiBBVVRPIE5PTkUgQVVUTyBBVVRPIEFVVE8gTk9ORVxuIjsKKyMgfQorIworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3MzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4OTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxMzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyOTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzNzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1MzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2OTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5MzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwOTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxNzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzMzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0OTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3MzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4OTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxMzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyOTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczNzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1MzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2OTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5MzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwOTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxNzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgyNTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzMzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0OTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F4LVNtZWRzYm9sZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXgtU21lZHNib2xlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE5ZTIwNmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F4LVNtZWRzYm9sZQpAQCAtMCwwICsxLDM0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAwOTA4MDggMiAwIE9GRE0gRkkgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogw4VsYW5kIFNtZWRzYsO2bGUvU3VuZAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMDktMTItMjMKKyMgcHJvdmlkZWQgYnkgKG9wdCkgICAgOiBrLmhhbXBmQGdtYWlsLmNvbQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW8OFbGFuZCBOZXR3b3JrXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbw4VsYW5kIE5ldHdvcmtdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYmUtQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9iZS1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzk1N2MwNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYmUtQWxsCkBAIC0wLDAgKzEsNjIgQEAKKyMgQmVsZ2l1bSwgd2hvbGUgY291bnRyeQorIyBDcmVhdGVkIGZyb20gaHR0cDovL25sLndpa2lwZWRpYS5vcmcvd2lraS9EVkItVC1mcmVxdWVudGllcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2JnLVNvZmlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9iZy1Tb2ZpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xZDM5ZDFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9iZy1Tb2ZpYQpAQCAtMCwwICsxLDU4IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAxMzAzMzEgMSAwIFRFUlJFU1RSSUFMIEJHIDwvd19zY2FuPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFNvZmlhCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxMy0wNS0xMworIyBwcm92aWRlZCBieSAob3B0KSAgICA6IHYubGFsb3ZAZ21haWwuY29tCisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbTlVSVFMgRGlnaXRhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW05VUlRTIERpZ2l0YWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tGaXJzdCBEaWdpdGFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbTlVSVFNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2NoLUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvY2gtQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBmZjc3Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2NoLUFsbApAQCAtMCwwICsxLDMzOSBAQAorIyBTd2l0emVybGFuZCwgd2hvbGUgY291bnRyeQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5icm9hZGNhc3QuY2gvcG9ydGFsLmFzcHg/cGlkPTcwNQorIyBhbmQgaHR0cDovL3d3dy5icm9hZGNhc3QuY2gvZGF0YV9wcm9ncmFtX2R2YnQuYXNweAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvY2gtQ2l0eWNhYmxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9jaC1DaXR5Y2FibGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWY1OGQwNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvY2gtQ2l0eWNhYmxlCkBAIC0wLDAgKzEsMzI1IEBACisjIExhdXNhbm5lIC0gU3dpdHplcmxhbmQgKERWQi1UIG9uIENpdHlDYWJsZSBjYWJsZSBuZXR3b3JrKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9jaC1HZW5ldmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2NoLUdlbmV2YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNjRjYzk0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9jaC1HZW5ldmEKQEAgLTAsMCArMSwxNDcgQEAKKyMgU3dpdHplcmxhbmQsIEdlbmV2YSByZWdpb24KKyMgVXBkYXRlZCBieSB0a2VybmVuQGRlY2twb2ludC5jaCBvbiAyMDEwLzEyLzAzCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMTY2MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MTY2MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjE2NjAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMTY2MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYxNjYwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMTY2MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDE2NjAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgxNjYwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMTY2MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9jby1BbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2NvLUFsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMDYwNTZhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9jby1BbGwKQEAgLTAsMCArMSwzNCBAQAorIyBpbml0aWFsIHNjYW4gZmlsZSBmb3IgQ29sb21iaWEsIG5hdGlvbmFsIGxldmVsCisjIERWQi1UMiwgNDcwLTg2ME1IeiwgNk1IeiBiYW5kd2lkdGgKKyMgU2VlOiBodHRwczovL2VzLndpa2lwZWRpYS5vcmcvd2lraS9UZWxldmlzaSVDMyVCM25fRGlnaXRhbF9UZXJyZXN0cmVfZW5fQ29sb21iaWEKKyMgU2VlOiBodHRwczovL3d3dy5jcmNvbS5nb3YuY28vcmVjdXJzb3NfdXNlci9Eb2N1bWVudG9zX0NSQ18yMDEyL0FjdGl2aWRhZGVzX1JlZ3VsYXRvcmlhcy9URFQvZG9jdW1lbnRvc19zb3BvcnRlX1REVF8yMDEyMDkxNC5wZGYjcGFnZT01MQorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ3MzAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0NzkwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDg1MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ5MTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NTEwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU3MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9jei1BbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2N6LUFsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NzJmMmM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9jei1BbGwKQEAgLTAsMCArMSw0ODMgQEAKKyMgQ3plY2ggUmVwdWJsaWMsIHdob2xlIGNvdW50cnkgKHVwZGF0ZWQgdG8gcmVndWxhdG9yeSAyMDEzKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5jdHUuY3ovY3MvZG93bmxvYWQvcGxhbi12eXV6aXRpLXJhZGlvdmVoby1zcGVrdHJhL3Jva18yMDEyL3B2LXBfMTAtMDhfMjAxMi0xMS5wZGYKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQmFkZW4tV3VlcnR0ZW1iZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1CYWRlbi1XdWVydHRlbWJlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDdlYWQzMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQmFkZW4tV3VlcnR0ZW1iZXJnCkBAIC0wLDAgKzEsMTk0IEBACisjIERWQi1UIEJhZGVuLVfDvHJ0dGVtYmVyZworIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjE6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjI6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjY6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMzOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM5OiBTV1ItQlcsIEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgaHIsIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDA6IFNXUi1CVywgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBociwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0MTogU1dSLUJXLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIGhyLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQzOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NTogUlRMLCBSVEwyLCBTdXBlciBSVEwsIFZPWCwgUlRMIENyaW1lLCBQYXNzaW9uIFtTZW5kZW5vcm06IE1QRUctNF1dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ5OiBTV1ItQlcsIEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgaHIsIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTA6IFNXUi1CVywgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBociwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1MjogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTQ6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU5OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g2MDogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1CYXllcm4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJheWVybgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZDQxODJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1CYXllcm4KQEAgLTAsMCArMSwyMzcgQEAKKyMgRFZCLVQgQmF5ZXJuCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LnVlYmVyYWxsZmVybnNlaGVuLmRlL2RhdGEvc2VuZGVybGlzdGUucGRmCitbQ0gyMzogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNTogQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBCUi1hbHBoYSwgU1dSLCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBDSDI1OiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm8KK1tDSDI3OiBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIEJSLWFscGhhLCBTV1IsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjg6IEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgQlItYWxwaGEsIFNXUiwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ0gyODogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvCitbQ0gyOTogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzA6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMzOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM0OiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM2OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzOTogQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBCUi1hbHBoYSwgU1dSLCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQwOiBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIEJSLWFscGhhLCBNRFIsIGhyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ0g0MDogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1cworW0NINDI6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBDSDQyOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm8KK1tDSDQ0OiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ1OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NjogQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBCUi1hbHBoYSwgTURSLCBocl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENINDY6IEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgQlItYWxwaGEsIFNXUiwgRWluc0V4dHJhCitbQ0g0NzogQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBCUi1hbHBoYSwgTURSLCBocl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENINDc6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXMKK1tDSDQ5OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1MzogQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBCUi1hbHBoYSwgU1dSLCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBDSDUzOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm8KK1tDSDU1OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJlcmxpbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQmVybGluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc5ZDI5YjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJlcmxpbgpAQCAtMCwwICsxLDExMCBAQAorIyBEVkItVCBCZXJsaW4KKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDI1OiBSVEwsIFJUTDIsIFN1cGVyIFJUTCwgVk9YXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNzogRGFzIEVyc3RlLCBSQkIsIFBob2VuaXgsIEVpbnNFeHRyYSAvIEJyYW5kZW5idXJnQWt0dWVsbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzk6IFFWQywgRGFzVmllcnRlLCBCaWJlbC5UViwgQlItRmVybnNlaGVuLCBuLXR2LCBFdXJvTmV3cy9DaGFubmUyMSBTaG9wICsgNyBSYWRpb3Byb2dyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NDogUHJvU2llYmVuLCBTYXQuMSwgS2FiZWwxLCBOMjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ3OiBNRFIsIE5EUiwgYXJ0ZSwgaHJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDUwOiBUZWxlNSwgSFNFIDI0LCBXRFIsIFNXUiAoQlcgLyBSUCldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU2OiBFdXJvc3BvcnQsIFRWLkIsIE11c2ljMSwgc2l4eCxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU5OiBCZXJsaW5lclNwcmVla2FuYWwgLyBKdXZlbG9UViwgU2VydnVzVFYsIEFuaXhlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJyYW5kZW5idXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1CcmFuZGVuYnVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMjMxMjZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1CcmFuZGVuYnVyZwpAQCAtMCwwICsxLDUwIEBACisjIERWQi1UIEJyYW5kZW5idXJnCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LnVlYmVyYWxsZmVybnNlaGVuLmRlL2RhdGEvc2VuZGVybGlzdGUucGRmCitbQ0gzMzogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzNjogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1MzogRGFzIEVyc3RlLCBSQkIsIFBob2VuaXgsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTc6IE1EUiwgTkRSLCBhcnRlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJyZW1lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQnJlbWVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI0YWI4ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJyZW1lbgpAQCAtMCwwICsxLDc0IEBACisjIERWQi1UIEJyZW1lbgorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjI6IERhcyBFcnN0ZSAoUkIpLCBSQiBUViAoTkRSIE5EUyksIGFydGUsIFBob2VuaXhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI5OiBORFIgTkRTLCBXRFIvTkRSIFNILCBNRFIvTkRSIE1WUCwgSFIvTkRSIEhIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMjogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0MjogUlRMLCBSVEwyLCBTdXBlciBSVEwsIFZPWF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDU6IFRlbGUgNSwgU0lYWCwgUVZDLCBNb25hIC8gQmliZWwgVFYgLyBEYXMgVmllcnRlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0OTogUHJvU2llYmVuLCBTYXQuMSwgS2FiZWwxLCBOMjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtRHVzc2VsZG9yZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtRHVzc2VsZG9yZgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYWY1YTUzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1EdXNzZWxkb3JmCkBAIC0wLDAgKzEsMTQ0IEBACitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUhhbWJ1cmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUhhbWJ1cmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2E0M2I3OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtSGFtYnVyZwpAQCAtMCwwICsxLDk4IEBACisjIERWQi1UIEhhbWJ1cmcKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDIzOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI4OiBORFIgU0gsIFdEUi9ORFIgTkRTLCBNRFIvTkRSIE1WUCwgQlIgRmVybnNlaGVuL05EUiBISF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzA6IFByb1NpZWJlbiwgU2F0LjEvIFNhdC4xUmVnaW9uYWwsIEthYmVsMSwgTjI0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMzogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM2OiBUZWxlNSwgRGFzIFZpZXJ0ZSwgUVZDLCBDaGFubmVsMjEvIEV1cm9uZXdzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0MDogUlRMLCBSVEwyLCBTdXBlciBSVEwsIFZPWF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDY6IFNJWFgsIEhhbWJ1cmcgMSwgQmliZWwgVFYsIEV1cm9zcG9ydF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTQ6IE5EUiBISCwgV0RSL05EUiBORFMsIE1EUi9ORFIgTVZQLCBCUiBGZXJuc2VoZW4vTkRSIFNIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUhlc3NlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtSGVzc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYzNmUzMGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUhlc3NlbgpAQCAtMCwwICsxLDE5NCBAQAorIyBEVkItVCBIZXNzZW4KKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDIxOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDIyOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI0OiBociwgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBTV1ItUlAsIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjU6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzI6IERhcyBFcnN0ZSwgUGhvZW5peCwgYXJ0ZSwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzNDogUlRMLCBSVEwyLCBTdXBlciBSVEwsIFZPWF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzU6IGhyLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIFNXUi1SUCwgTURSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzNzogRGFzIEVyc3RlLCBQaG9lbml4LCBhcnRlLCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM5OiBociwgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBTV1ItUlAsIHJiYl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDI6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDM6IERhcyBFcnN0ZSwgUGhvZW5peCwgYXJ0ZSwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NTogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1MjogVGVsZTUsIFFWQywgcmhlaW5tYWludHYgLyBDaGFubmVsMjEsIGlNdXNpYzEgLyBBbml4ZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTM6IGhyLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIFNXUi1CVywgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1NDogUHJvU2llYmVuLCBTYXQuMSwgS2FiZWwxLCBOMjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU1OiBociwgTkRSLCBNRFIsIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1NZWNrbGVuYnVyZy1Wb3Jwb21tZXJuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1NZWNrbGVuYnVyZy1Wb3Jwb21tZXJuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI1OTAxMmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLU1lY2tsZW5idXJnLVZvcnBvbW1lcm4KQEAgLTAsMCArMSwxMTAgQEAKKyMgRFZCLVQgTWVja2xlbmJ1cmctVm9ycG9tbWVybmVuCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LnVlYmVyYWxsZmVybnNlaGVuLmRlL2RhdGEvc2VuZGVybGlzdGUucGRmCitbQ0gyMjogRGFzIEVyc3RlLCBORFIgTVZQLCBSQkIsIE1EUi9ORFIgU0hdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDIzOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI2OiBEYXMgRXJzdGUsIE5EUiBNVlAsIFJCQiwgTURSL05EUiBTSF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjk6IERhcyBFcnN0ZSwgTkRSIE1WUCwgUkJCLCBNRFIvTkRSIFNIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzNjogRGFzIEVyc3RlLCBORFIgTVZQLCBSQkIsIE1EUi9ORFIgU0hdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM3OiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQwOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ2OiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDUzOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtTmllZGVyc2FjaHNlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtTmllZGVyc2FjaHNlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40OTZlMWM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1OaWVkZXJzYWNoc2VuCkBAIC0wLDAgKzEsMjcwIEBACisjIERWQi1UIE5pZWRlcnNhY2hzZW4KKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDIxOiBORFIgTkRTLCBXRFIvTkRSIFNILCBNRFIvTkRSIE1WUCwgSFIvTkRSIEhIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyMjogRGFzIEVyc3RlIChSQiksIFJCIFRWIChORFIgTkRTKSwgYXJ0ZSwgUGhvZW5peF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENIMjI6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0V4dHJhCitbQ0gyMzogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNDogUlRMLCBSVEwyLCBTdXBlciBSVEwsIFZPWF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjY6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyODogVGVsZSA1LCBOaWNrZWxvZGVvbi9Db21lZHkgQ2VudHJhbCwgRXVyb3Nwb3J0LCBNb25hIC8gQmliZWwgVFYgLyBEYXMgVmllcnRlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyOTogTkRSIE5EUywgV0RSL05EUiBTSCwgTURSL05EUiBNVlAsIEhSL05EUiBISF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzE6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzI6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzU6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzY6IE5EUiBORFMsIFdEUi9ORFIgU0gsIE1EUi9ORFIgTVZQLCBIUi9ORFIgSEhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM4OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENIMzg6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mbworW0NINDI6IFJUTCwgUlRMMiwgU3VwZXIgUlRMLCBWT1hdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBDSDQyOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm8KK1tDSDQzOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENINDM6IE5EUiBORFMsIFdEUi9ORFIgU0gsIE1EUi9ORFIgTVZQLCBIUi9ORFIgSEgKK1tDSDQ0OiBQcm9TaWViZW4sIFNhdC4xLCBLYWJlbDEsIE4yNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDU6IFRlbGUgNSwgU0lYWCwgUVZDLCBNb25hIC8gQmliZWwgVFYgLyBEYXMgVmllcnRlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NzogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ4OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDk6IFByb1NpZWJlbiwgU2F0LjEsIEthYmVsMSwgTjI0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1ODogTkRSIE5EUywgV0RSL05EUiBTSCwgTURSL05EUiBNVlAsIEhSL05EUiBISF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTk6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g2MDogVGVsZSA1LCBOaWNrZWxvZGVvbi9Db21lZHkgQ2VudHJhbCwgRXVyb3Nwb3J0LCBNb25hIC8gQmliZWwgVFYgLyBEYXMgVmllcnRlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLU5vcmRyaGVpbi1XZXN0ZmFsZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLU5vcmRyaGVpbi1XZXN0ZmFsZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTQwZDE4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtTm9yZHJoZWluLVdlc3RmYWxlbgpAQCAtMCwwICsxLDIzMSBAQAorIyBEVkItVCBOb3JkcmhlaW4tV2VzdGZhbGVuCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LnVlYmVyYWxsZmVybnNlaGVuLmRlL2RhdGEvc2VuZGVybGlzdGUucGRmCitbQ0gyNTogV0RSLURvcnRtdW5kLCBORFIvV0RSLVJ1aHIsIE1EUiwgU1dSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNjogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRmVzdGl2YWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBDSDI2OiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm8KK1tDSDI3OiBXRFItU8O8ZHdlc3RmYWxlbiwgTkRSLCBNRFIsIFNXUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjk6IFJUTCwgUlRMMiwgU3VwZXIgUlRMLCBWT1hdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMwOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMxOiBXRFItT1dMX2FrdHVlbGwsIE5EUi9XRFItU8O8ZHdlc3RmYWxlbiwgTURSLCBTV1JdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMzOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM1OiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM2OiBUZWxlNSwgQ05OLCBFdXJvc3BvcnQsIFZJVkFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM3OiBXRFItQWFjaGVuLCBORFIvV0RSLUvDtmxuLCBNRFIsIFNXUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDY6IFdEUi1Ew7xzc2VsZG9yZiwgTURSL1dEUi1EdWlzYnVyZywgTkRSL1dEUi1CZXJnLkxhbmQsIFNXUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDg6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0OTogV0RSLUvDtmxuLCBNRFIvV0RSLUJvbm4sIE5EUi9XRFItQWFjaGVuLCBTV1JdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDUwOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNGZXN0aXZhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTI6IFRlbGU1LCBDTk4sIEV1cm9zcG9ydCwgVklWQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTM6IFByb1NpZWJlbiwgU2F0LjEsIEthYmVsMSwgTjI0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1NTogUHJvU2llYmVuLCBTYXQuMSwgS2FiZWwxLCBOMjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU3OiBXRFItUnVociwgTkRSL1dEUi1Eb3J0bXVuZCwgTURSLCBTV1JdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDYwOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNGZXN0aXZhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1SaGVpbmxhbmQtUGZhbHogYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVJoZWlubGFuZC1QZmFsegpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44Nzc5OTQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1SaGVpbmxhbmQtUGZhbHoKQEAgLTAsMCArMSw5OCBAQAorIyBEVkItVCBSaGVpbmxhbmQtUGZhbHoKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDI4OiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMwOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMzOiBTV1ItUlAsIEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgaHIsIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDQ6IFNXUi1SUCwgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBociwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NjogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDg6IFNXUi1SUCwgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBociwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1NjogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTc6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtU2FhcmxhbmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVNhYXJsYW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ4MDk1NTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVNhYXJsYW5kCkBAIC0wLDAgKzEsNTAgQEAKKyMgRFZCLVQgU2FhcmxhbmQKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDMwOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQyOiBEYXMgRXJzdGUsIFNSIEZlcm5zZWhlbiwgYXJ0ZSwgUGhvZW5peF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDQ6IFNXUi1SUCwgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBociwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0OTogVGVsZTUsIFFWQywgQmliZWwuVFYsIGZyZWllIEthcGF6aXTDpHRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtU2FjaHNlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtU2FjaHNlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZDg3NTE0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1TYWNoc2VuCkBAIC0wLDAgKzEsMTM0IEBACisjIERWQi1UIFNhY2hzZW4KKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDIyOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI0OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNGZXN0aXZhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjU6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNzogTURSLVNOLCByYmIsIEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyODogUlRMLCBSVEwyLCBTdXBlciBSVEwsIFZPWCwgUlRMIENyaW1lLCBQYXNzaW9uIFtTZW5kZW5vcm06IE1QRUctNF1dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI5OiBNRFItU04sIHJiYiwgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMxOiBMRiBMZWlwemcuRmVybnMuLCBJbmZvVFZMZWlwemlnLCBCQkNXb3JsZCwgQmliZWwuVFYsIFJhZGlvTGVpcHppZywgUmFkaW9Ib3JlYl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMyOiBNRFItU04sIHJiYiwgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM2OiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM3OiBNRFItU04sIHJiYiwgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM5OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNGZXN0aXZhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1TYWNoc2VuLUFuaGFsdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtU2FjaHNlbi1BbmhhbHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTkyNWEyZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtU2FjaHNlbi1BbmhhbHQKQEAgLTAsMCArMSwxMjIgQEAKKyMgRFZCLVQgU2FjaHNlbi1BbmhhbHQKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDIyOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI0OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNGZXN0aXZhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjg6IFJUTCwgUlRMMiwgU3VwZXIgUlRMLCBWT1gsIFJUTCBDcmltZSwgUGFzc2lvbiBbU2VuZGVub3JtOiBNUEVHLTRdXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyOTogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRmVzdGl2YWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMwOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMxOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM0OiBNRFItU1QsIHJiYiwgTkRSLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM4OiBNRFItU1QsIHJiYiwgTkRSLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQxOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNGZXN0aXZhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTU6IFRWIEhhbGxlIChUZXN0YmV0cmllYildCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVNjaGxlc3dpZy1Ib2xzdGVpbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtU2NobGVzd2lnLUhvbHN0ZWluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAwOTc2YWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVNjaGxlc3dpZy1Ib2xzdGVpbgpAQCAtMCwwICsxLDE4MiBAQAorIyBEVkItVCBTY2hsZXN3aWctSG9sc3RlaW4KKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDIxOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDIzOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI0OiBORFIgU0gsIFdEUi9ORFIgTkRTLCBNRFIvTkRSIE1WUCwgQlIgRmVybnNlaGVuL05EUiBISF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjY6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyODogTkRSIFNILCBXRFIvTkRSIE5EUywgTURSL05EUiBNVlAsIEJSIEZlcm5zZWhlbi9ORFIgSEhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMwOiBQcm9TaWViZW4sIFNhdC4xLyBTYXQuMVJlZ2lvbmFsLCBLYWJlbDEsIE4yNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzE6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzM6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzNTogUHJvU2llYmVuLCBTYXQuMS8gU2F0LjFSZWdpb25hbCwgS2FiZWwxLCBOMjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM5OiBORFIgU0gsIFdEUi9ORFIgTkRTLCBNRFIvTkRSIE1WUCwgQlIgRmVybnNlaGVuL05EUiBISF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDA6IFJUTCwgUlRMMiwgU3VwZXIgUlRMLCBWT1hdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ1OiBSVEwsIFJUTDIsIFN1cGVyIFJUTCwgVk9YXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NzogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU3OiBUZWxlIDUsIFNJWFgsIGRhcyBWaWVydGUsIEJpYmVsIFRWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1OTogVGVsZSA1LCBTSVhYLCBkYXMgVmllcnRlLCBCaWJlbCBUVl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1UaHVlcmluZ2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1UaHVlcmluZ2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcyZmE5NDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVRodWVyaW5nZW4KQEAgLTAsMCArMSw4NiBAQAorIyBEVkItVCBUaMO8cmluZ2VuCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LnVlYmVyYWxsZmVybnNlaGVuLmRlL2RhdGEvc2VuZGVybGlzdGUucGRmCitbQ0gyMTogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRmVzdGl2YWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDIyOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI1OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNGZXN0aXZhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjc6IE1EUi1USCwgcmJiLCBociwgQmF5ZXJpc2NoZXMgRmVybnNlaGVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0ODogTURSLVRILCByYmIsIGhyLCBCYXllcmlzY2hlcyBGZXJuc2VoZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDUwOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDUzOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNGZXN0aXZhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kay1BbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RrLUFsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YmQ1OTBjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kay1BbGwKQEAgLTAsMCArMSwyMzEgQEAKKyMgRGVubWFyaywgd2hvbGUgY291bnRyeQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpLXR2LmRrL0luZGhvbGRfb2dfdGlsYnVkL2ZyZWt2ZW5zZXIuYXNwCisjIGFuZCBodHRwOi8vd3d3LmRpZ2ktdHYuZGsvU2VuZGVuZXR0ZXRzX29wYnlnbmluZy8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VlLUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZWUtQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY4OWEzNWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VlLUFsbApAQCAtMCwwICsxLDM5MyBAQAorIyBFc3RvbmlhLCB3aG9sZSBjb3VudHJ5CisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmxldmlyYS5lZS90cmFuc21pdHRlci5wZGYKKyMgYW5kIGh0dHA6Ly93aWtpLndpZmkuZWUvaW5kZXgucGhwL0RWQi1UI1RlaG5pbGluZV90ZWF2ZQorIyBBZGRpdGlvbmFsIE1VWCBpbmZvIGh0dHA6Ly93d3cubGV2aXJhLmVlL3Byb2dyYW0ucGRmCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gNDI5NDk2NzI5NQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDQyOTQ5NjcyOTUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gNDI5NDk2NzI5NQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSA0Mjk0OTY3Mjk1CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gNDI5NDk2NzI5NQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1BbGJhY2V0ZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxiYWNldGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDY0MDEyZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxiYWNldGUKQEAgLTAsMCArMSwxNDUgQEAKKyMgU3BhaW4sIEFsYmFjZXRlIC0gVXBkYXRlIDIwMTAvMDgvMTIgKEZyZXVkKQorW0NhbmFsIDM3OiBMYSBSZWdpb25hbCwgVENNLCBDUk5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA0NjogU29nZWN1YXRybywgbGFTZXh0YTIsIGxhU2V4dGEzIChUb2RvcyBwZW5kaWVudGVzIGRlIGFzaWduYXIpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNDc6IENOQywgVmlzaW9uNiwgQUJUZVZlLCBQdW50byBSYWRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDUwOiBCb2luZywgTGEgMTAsIE1UViwgUHVudG8gUmFkaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1MzogTml0cm8sIE1hcmNhIFRWLCBWZW8xM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDU2OiBUVkUgSEQsIFRlbGVkZXBvcnRlLCBQcnVlYmFzIFRWRSwgUk5FIDEsIFJORSBDTMOBU0lDQSwgUk5FIDNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1OTogTGEgMSwgTGEgMiwgMjRILCBDbGFuLCBSTkUxLCBSTkUgQ2zDoXNpY2EsIFJORSAzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjM6IENNVCwgQ01UMiwgUkNNXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjY6IFZlbzcsIFRpZW5kYSBlbiBWZW8sIEludGVyZWNvbm9tw61hLCBBWE4sIFRlbGVkZXBvcnRlLCBSYWRpbyBJbnRlcmVjb25vbcOtYSwgUmFkaW8gTWFyY2EsIGVzUmFkaW8sIFZhdWdoYW4gUmFkaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NzogQ3VhdHJvLCBDTk4rLCA0MCBMYXRpbm8sIENhbmFsKyBEb3MsIENhbmFsIENsdWIsIExhU2V4dGEsIFNFUiwgNDAgUHJpbmNpcGFsZXMsIENhZGVuYSBEaWFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjg6IFRlbGVjaW5jbywgTGEgU2lldGUsIEZERiwgQ2luY29TaG9wLCBEaXNuZXkgQ2hhbm5lbCwgUHVudG8gUmFkaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2OTogQW50ZW5hIDMsIE5lb3gsIE5vdmEsIEdvbCBUZWxldmlzacOzbiwgT25kYSBDZXJvLCBFdXJvcGEgRk0sIE9uZGEgTWVsb2TDrWEgXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFsZmFiaWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFsZmFiaWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWUyMGU2OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxmYWJpYQpAQCAtMCwwICsxLDE0NSBAQAorIyBEVkItVCBBbGZhYmlhLCBNYWxsb3JjYSwgQmFsZWFyaWMgSXNsYW5kcywgU3BhaW4uCitbVFYzIENhdCwgMy8yNCwgMzMsIFN1cGVyMy8zMDBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOaXRybywgQTNUVkhELCAxM1RWLCBUaWVuZGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tUViBNYWxsb3JjYSwgQ2FuYWwgNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1BvcHVsYXIgVFYsIFRFVkVpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbWHBsb3JhLCBsYVNleHRhMywgbGFTZXh0YUhELCBDdWF0cm9IRCwgRW5lcmd5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQm9pbmcsIFRlbGVjaW5jb0hELCBQYXJhbW91bnRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tMYTFIRCwgVERQLCBURFBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MuNjM6IDI0aCwgNTAgYW5pdi4sIENsYW5UViwgTGEgMiwgVFZFMTsgUk5FIDEsIFJORSAzLCBSTkUgQzsgRGlnaXRleHQsIEVQRywgTGFuemFkZXJhLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MuNjU6IElCMywgSUIzSEQsIE1ldHJvcG9saXRhbiBUVl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MuNjc6IEN1YXRybywgTGEgU2V4dGEsIEdvbFRWLCBEaXZpbml0eSwgTnVldmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDLjY4OiBUZWxlIDUsIExhNywgRkRGLCBEaXNuZXkgQ2hhbm5lbCwgSW50ZXJlY29ub23DrWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDLjY5OiBBbnRlbmEgMywgRGlzY292ZXJ5IE1heCwgTmVveCwgTm92YSwgQVhOXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFsaWNhbnRlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1BbGljYW50ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOTVhNDkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1BbGljYW50ZQpAQCAtMCwwICsxLDg1IEBACisjIERWQi1UIEFsaWNhbnRlLCBTcGFpbgorW0NhbmFsIDU1OiBUVjMsIEszMy8zMywgMy8yNCwgQ2FuYWwgMzAwXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTg6IExhIFByaW1lcmEsIExhIDIsIENhbmFsIDI0SCwgQ2xhbi9UVkUgNTAsIFJORTEsIFJORSBDbMOhc2ljYSwgUk5FIDNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MzogVGVsZW1hZHJpZCwgTGEgT3RyYSwgT25kYSA2XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjY6IFZlbywgVmVvIDIsIE5ldCBUViwgVGVsZWRlcG9ydGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NzogQ3VhdHJvLCBDTk4rLCA0MCBMYXRpbm8sIExhIFNleHRhIDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2ODogVGVsZWNpbmNvLCBUZWxlY2luY28gU3BvcnQsIFRlbGVjaW5jbyBFc3RyZWxsYXMsIEZseSBNdXNpY10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBBbnRlbmEgMywgQW50ZW5hIE5lb3gsIEFudGVuYSBOb3ZhLCBMYSBTZXh0YSAyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFsbWVyaWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFsbWVyaWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTY0ODFlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxtZXJpYQpAQCAtMCwwICsxLDEwOCBAQAorIyBTcGFpbiwgQWxtZXJpYSAtIFVwZGF0ZSAyMDE2LzAzLzE3IChkZW5pc2VfYW1pZ2EpCitbQ2FuYWwgMzQ6IEludGVyYWxtZXJpYSBUViwgOFRWLCBUdWJpZW5zdGFyIEFzdHJvY2FuYWwsIENhbmFsIDI4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgMzY6IEF0cmVzZXJpZXMgSEQsIEVuZXJneSBIRCwgUmVhbCBNYWRyaWQgVFZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCAzODogQm9pbmcsIEVuZXJneSwgTWVnYSwgMTNUViwgT25kYSBDZXJvLCBFdXJvcGEgRk0sIE1lbG9kaWEgRk0sIENvcGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA0MTogQW50ZW5hIDMsIEFudGVuYSAzSEQsIGxhU2V4dGEsIGxhU2VjdGEgSEQsIE5lb3gsIE5vdmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA0NDogVGVsZWNpbmNvLCBUZWxlY2luY28gSEQsIEN1YXRybywgQ3VhdHJvIEhELCBGREYsIERpdmluaXR5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNDc6IFREUCwgVERQIEhEIDlLaXNzIFRWLCAxMCwgUmFkaW8gQ2xhc2ljYSBIUSwgUmFkaW8gMyBIUSwgUmFkaW8gRXh0ZXJpb3IgUk5FIEtpc3MgRk0sIENhbmFsIEluZ2VuaWVyaWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1NzogTGEgMSwgTGEgMSBIRCwgTGEgMiwgMjRoLCBDbGFuLCBSYWRpbywgUmFkaW8gNV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDU4OiAxM1RWLCBEaXNjb3ZlcnkgTUFYLCBEaXNuZXkgQ2hhbm5lbCwgUGFyYW1vdW50IENoYW5uZWwsIENvcGUsIFJhZGlvIE1hcmlhLCBSYWRpbyBNYXJjYSwgVmF1Z2hhbiBSYWRpbywgZXNSYWRpbywgR3VpZGUgUGx1cytdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1OTogQ2FuYWwgU3VyLCBDYW5hbCBTdXIgMiwgQW5kYWx1Y2lhIFRWLCBFSFMgVFYsIENhbmFsIFN1ciBSYWRpbywgRmxhbWVuY28gUmFkaW8sIENhbmFsIEZpZXN0YSBSYWRpbywgUmFkaW8gQW5kYWx1Y2lhIEluZm9ybWFjaW9uXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1BbHBpY2F0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1BbHBpY2F0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJlNDY3NDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFscGljYXQKQEAgLTAsMCArMSw3MyBAQAorIyBEVkItVCBBbHBpY2F0IChMbGVpZGEpCitbYzU4OiBUVjMsIEszLzMzLCAzLzI0LCAzMDAsIDNpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbYzY0OiBUVkUxLCBUVkUyLCBUZWxlZGVwb3J0ZSwgQzI0aF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW2M2NjogVFZFIENsYW5UViwgVFZFIDUwYSwgVmVvMSwgVmVvMiwgTmV0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbYzY3OiBDdWF0cm8sIDQwTGF0aW5vLCBDTk4rLCBMYVNleHRhIDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tjNjg6IFQ1LCBUNSBTcG9ydHMsIFQ1IEVzdHJlbGxhcywgTmV0IEZseSBNdXNpY10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW2M2OTogQW50ZW5hMywgQW50ZW5hLk5lb3gsIEFudGVuYS5Ob3ZhLCBMYSBTZXh0YSAyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFzdHVyaWFzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1Bc3R1cmlhcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yODNiOTEyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1Bc3R1cmlhcwpAQCAtMCwwICsxLDE5NCBAQAorIyBEVkItVCBBc3R1cmlhcworW0NhbmFsIDIyOiBBdHJlc2VyaWVzIEhELCBFbmVyZ3kgSEQsIFJlYWwgTWFkcmlkIFRWLCBCZSBNYWRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU1RBUlQgQ0FOR0FTIERFIE5BUkNFQSBZIExMQU5FUworW0NhbmFsIDI1OiBFZC4gUHJlbnNhIEFzdHVyaWFuYSwgVGVsZU5hcmNlYSwgVGVsZUF2aWzDqXMsIFVURSBPcGFsb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKyMgRU5EIENBTkdBUyBERSBOQVJDRUEgWSBMTEFORVMKKworW0NhbmFsIDI3OiBCb2luZywgRW5lcmd5LCBNZWdhLCAxMyBUViwgT25kYSBDZXJvLCBFdXJvcGEgRk0sIE1lbG9kw61hIEZNLCBDb3BlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgMjg6IFRlbGVjaW5jbywgVGVsZWNpbmNvIEhELCBDdWF0cm8sIEN1YXRybyBIRCwgRkRGLCBEaXZpbml0eV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDMyOiBBbnRlbmEgMywgQW50ZW5hIDMgSEQsIGxhU2V4dGEsIGxhU2V4dGEgSEQsIE5lb3gsIE5vdmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCAzNTogUHJveGltYW1lbnRlLCBEaXNjb3ZlcnkgTWF4LCBEaXNuZXkgQ2hhbm5lbCwgUGFyYW1vdW50IENoYW5uZWwsIENvcGUsIFJhZGlvIE1hcsOtYSwgUmFkaW8gTWFyY2EsIFZhdWdoYW4gUmFkaW8sIGVzUmFkaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU1RBUlQgR0lKw5NOCitbQ2FuYWwgMzg6IE11eSBNdXkgVFYsIENhbmFsIDEwLCBBc3Ryb2NhbmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworIyBFTkQgR0lKw5NOCisKK1tDYW5hbCAzOTogTGEgMSwgTGEgMSBIRCwgTGEgMiwgMjRoLCBDbGFuLCBSYWRpbyBOYWNpb25hbCwgUmFkaW8gNV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDQyOiBURFAsIFREUCBIRCwgS0lTUywgVEVOLCBSYWRpbyBDbMOhc2ljYSBIUSwgUmFkaW8gMyBIUSwgUmFkaW8gRXh0ZXJpb3IgUk5FLCBLaXNzIEZNXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNUQVJUIE9WSUVETworW0NhbmFsIDQzOiBFZC4gUHJlbnNhIEFzdHVyaWFuYSwgT3ZpZWRvIFRWLCBDYW5hbCAxMF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKyMgRU5EIE9WSUVETworCisjIFNUQVJUIElORklFU1RPCitbQ2FuYWwgNDQ6IEVkLiBQcmVuc2EgQXN0dXJpYW5hLCBUZWxlQXZpbMOpcywgVVRFIE9wYWxvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworIyBFTkQgSU5GSUVTVE8KKworW0NhbmFsIDQ1OiBUUEE3LCBUUEE4LCBUUEEgSEQsIFJQQSwgUmFkaW8gTGFuZ3Jlb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTVEFSVCBNSUVSRVMKK1tDYW5hbCA0NjogQ3VlbmNhcyBNaW5lcmFzIFRWLCBQcm9kdWNjaW9uZXMgR3JlbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisjIEVORCBNSUVSRVMKKworIyBTVEFSVCBBVklMw4lTCitbQ2FuYWwgNDc6IEVkLiBQcmVuc2EgQXN0dXJpYW5hLCBDYW5hbCAxMCwgVGVsZUF2aWzDqXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisjIEVORCBBVklMw4lTCisKKyMgU1RBUlQgTFVBUkNBLVZBTETDiVMKK1tDYW5hbCA1NjogRWQuIFByZW5zYSBBc3R1cmlhbmEsIFRlbGVBdmlsw6lzLCBPUlRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisjIEVORCBMVUFSQ0EtVkFMRMOJUwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1CYWl4b01pbmhvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1CYWl4b01pbmhvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZmYzFkZTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUJhaXhvTWluaG8KQEAgLTAsMCArMSw4MSBAQAorIyBmaWxlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHdfc2NhbgorIyAoaHR0cDovL3dpcmJlbC5odHBjLWZvcnVtLmRlL3dfc2Nhbi9pbmRleDIuaHRtbCkKKyMhIDx3X3NjYW4+IDIwMDkwNTI4IDEgMCBPRkRNIEVTIDwvd19zY2FuPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IEJhaXhvIE1pbmhvLCBQb250ZXZlZHJhIChTcGFpbikKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDA5LTA3LTExCisjIHByb3ZpZGVkIGJ5IChvcHQpICAgIDogbmVvbm1hbm5AZ21haWwuY29tCisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbU0ZOXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1NGTl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tSQVIgUG9udGV2ZWRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1JHRSBHQUxJQ0lBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUJpbGJhbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQmlsYmFvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM0MjMzZjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUJpbGJhbwpAQCAtMCwwICsxLDcyIEBACitbQ2FuYWwgNjc6IENOTisuIEN1YXRybywgTGEgU2V4dGEsIDQwIGxhdGlubyBUVl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBBbnRlbmEgMywgTGEgU2V4dGEgMiwgTmVvLCBOb3ZhLCBUZWxlaGl0LCBPbmRhIENlcm8sIEV1cm9wYSBGTSwgT25kYSBNZWxvZGlhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjM6IExhIFByaW1lcmEsIExhIDIsIENhbmFsIDI0SCwgQ2xhbi9UVkUgNTAsIFJORTEsIFJORSBDbMOhc2ljYSwgUk5FIDNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NjogVmVvLCBWZW8gMiwgTmV0IFRWLCBUZWxlZGVwb3J0ZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBUZWxlY2luY28sIFRlbGVjaW5jbyBTcG9ydCwgVGVsZWNpbmNvIEVzdHJlbGxhcywgRmx5IE11c2ljXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjE6IEVUQjEsIEVUQjIsIEVUQi1TYXQsIENhbmFsIFZhc2NvLCBFdXNrYWRpIElycmF0aWEsIFJhZGlvIEV1c2thZGksIEV1c2thZGkgR2FzdGVhLCBSYWRpbyBFSVRCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUNhZGl6IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1DYWRpegpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MTU1MDAzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1DYWRpegpAQCAtMCwwICsxLDI5NCBAQAorIyBEVkItVCBDYWRpeiAoQW5kYWx1c2lhKSAgICAgICAgICAgICAgICAgICAgICBieSB4aXRlcnJleCAgQXVnIDIwMTQKKyMgSW5mbyBvYnRhaW5lZCBmcm9tIFNwYW5pc2ggR292ZXJubWVudCAoTWluaXN0ZXJpbyBkZSBJbmR1c3RyaWEpIGF0IFVSTDoKKyMgPGh0dHA6Ly93d3cubWluZXR1ci5nb2IuZXMvdGVsZWNvbXVuaWNhY2lvbmVzL2luZnJhZXN0cnVjdHVyYXMvcGFnaW5hcy90ZHRfaWN0LmFzcHg+CitbQzIxICMgTVBFMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyAjIFJHRTFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgIyBSR0UxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDQ5ODAwMDAwMCA4TUh6IDIvMyBOT05FIFFBTTY0IDhrIDEvNCBOT05FICAgICMgQzI0ICMgVEwwMkNBIEFyY29zCitbQzI3ICMgUkdFMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA1MjIwMDAwMDAgOE1IeiAyLzMgTk9ORSBRQU02NCA4ayAxLzQgTk9ORSAgICAjIEMyNyAjIFRMMDZDQSBPbHZlcmEKK1tDMjggIyBUTDAxQ0EgQWxnZWNpcmFzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwICMgVEwwNUNBIEplcmV6XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMzICMgUkdFMiAoTWFpbildCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzggIyBNUEUzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQxICMgTVBFMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyAjIFRMMDhDQSBNZWRpbmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDQgIyBNUEUxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2ICMgQU5EXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5ICMgTVBFMyAoTWFpbildCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgIyBUTDA3Q0EgVWJyaXF1ZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MiAjIFJHRTJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNzIyMDAwMDAwIDhNSHogMi8zIE5PTkUgUUFNNjQgOGsgMS80IE5PTkUgICAgIyBDNTIgIyBUTDA0Q0EgQ2hpY2xhbmEKK1tDNTMgIyBNUEUxIChNYWluKV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NCAjIFRMMDNDQSBDYWRpel0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NSAjIE1QRTIgKE1haW4pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3ICMgUkdFMSAoTWFpbildCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTkgIyBBTkQgKE1haW4pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzY0ICMgUkdFMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2NyAjIE1ENjddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjggIyBNRDY4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzY5ICMgTUQ2OV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1DYXJjZXJlcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQ2FyY2VyZXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGY1MmE0NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQ2FyY2VyZXMKQEAgLTAsMCArMSwxMDggQEAKK1tDYW5hbCAzOTogOE1hZHJpZCwgVE1ULVBvcHVsYXIgVFYsIEtpc3MgVFYsIEludGVyZWNvbm9tw61hIFRWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTA6IEVzTWFkcmlkIFRWLCBWZXItdCwgRU0yLCBMaWJlcnRhZCBEaWdpdGFsIFRWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTg6IExhIFByaW1lcmEsIExhIDIsIENhbmFsIDI0SCwgQ2xhbi9UVkUgNTAsIFJORTEsIFJORSBDbMOhc2ljYSwgUk5FIDNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MzogVGVsZW1hZHJpZCwgTGEgT3RyYSwgT25kYSA2XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjY6IFZlbywgVmVvIDIsIE5ldCBUViwgVGVsZWRlcG9ydGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NzogQ3VhdHJvLCBDTk4rLCA0MCBMYXRpbm8sIExhIFNleHRhIDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2ODogVGVsZWNpbmNvLCBUZWxlY2luY28gU3BvcnQsIFRlbGVjaW5jbyBFc3RyZWxsYXMsIEZseSBNdXNpY10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBBbnRlbmEgMywgQW50ZW5hIE5lb3gsIEFudGVuYSBOb3ZhLCBMYSBTZXh0YSAyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjE6IENhbmFsIEV4dHJlbWFkdXJhLCBFeHRyZW1hZHVyYSBUZWxldmlzaW9uXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUNvbGxzZXJvbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUNvbGxzZXJvbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjBjNzNmMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQ29sbHNlcm9sYQpAQCAtMCwwICsxLDEyMSBAQAorIyBEVkItVCBDb2xsc2Vyb2xhIChCYXJjZWxvbmEpCitbQlRWLCBUViBCYWRhbG9uYSwgVFYgTCdIb3NwaXRhbGV0LCBUViBkZWwgQmVzw7JzLCBDT00gUsOgZGlvLCBSw6BkaW8gQ2l1dGF0IEJhZGFsb25hLCBSw6BkaW8gTCdIb3NwaXRhbGV0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbOFRWLCBCYXLDp2EgVFYsIEVEQzMsIDEwNVRWLCBSQUMgMSwgUkFDIDEwNV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RWM0hELCAzLzI0LCBDYW5hbCA5LCBJQjMsIENhdGFsdW55YSBNw7pzaWNhLCBpQ2F0IEZNXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVXJiZSBUViwgQ2FuYWwgQ2F0YWzDoCwgMjUgVFYsIExvY2FsaWEsIE9uYSBGTSwgT25kYSBSYW1ibGEsIFNlbnNhY2nDsyBSw6BkaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tUVjMsIDMzLCAzLzI0LCBLMy8zMDAsIENhdGFsdW55YSBSw6BkaW8sIENhdGFsdW55YSBJbmZvcm1hY2nDs10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RWRTEsIFRWRTIsIFRWRSAyNEgsIENsYW4vVFZFIDUwIEHDsW9zLCBSTkUxLCBSTkVDLCBSTkUzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVmVvNywgU29ueSBUViBlbiBWZW8sIFRpZW5kYSBlbiBWZW8sIEludGVyZWNvbm9tw61hLCBUZWxlZGVwb3J0ZSwgUmFkaW8gSW50ZXJlY29ub23DrWEsIFJhZGlvIE1hcmNhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ3VhdHJvLCBDTk4rLCA0MCBMYXRpbm8sIExhIFNleHRhLCBTZXIsIDQwIFByaW5jaXBhbGVzLCBDYWRlbmEgRGlhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RlbGVjaW5vLCBMYSBTaWV0ZSwgRkRGLCBDaW5jb1Nob3AsIERpc25leSBDaGFubmVsLCBQdW50byBSYWRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0FudGVuYSAzLCBBbnRlbmEuTmVveCwgQW50ZW5hLk5vdmEsIEhvZ2FyIDEwLCBPbmRhIENlcm8sIEV1cm9wYSBGTSwgT25kYSBNZWxvZMOtYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1Eb25vc3RpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtRG9ub3N0aWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTc2MDM0NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtRG9ub3N0aWEKQEAgLTAsMCArMSwxMjIgQEAKKyMgVGhlIGNoYW5uZWxzIHdpdGggMS8zMiBndWFyZC1pbnRlcnZhbCBhcmUgRnJlbmNoIGFuZCBzaG91bGQgYmUgcGVyZmVjdGx5IHZpc2libGUKKyMgaGVyZS4gSG93ZXZlciBJIGhhdmUgb25seSBtYW5hZ2VkIHRvIGdldCBhIGxvY2sgZm9yIHRoZSBjaGFubmVsIDU3IG9mIHRoZSBGcmVuY2ggb25lcy4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUdyYW5hZGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUdyYW5hZGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTU0NWI5NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtR3JhbmFkYQpAQCAtMCwwICsxLDczIEBACisjIFNwYWluLCBHcmFuYWRhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUh1ZXNjYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtSHVlc2NhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUzY2IwODcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUh1ZXNjYQpAQCAtMCwwICsxLDEyNCBAQAorIyBEVkItVCBIdWVzY2EgKEFyYWdvbikgW1NwYWluXSBbZXMtSHVlc2NhXQorIyBHZW5lcmF0ZWQgYnkgVmljZW50ZSBIZXJuYW5kbyBBcmEgPGJpemVudG9uQGdtYWlsLmNvbT4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworW0NIIDQzICBIVFYtSHVlc2NhVGVsZXZpc2lvbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIIDQ0ICBMYSBTZXh0YSAyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0ggNDUgIFRWRSBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIIDQ4ICBOSVRST10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIIDU0ICBCT0lOR10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIIDU3ICBBUkFHT04gVFZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSCA2MSAgVFZFXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0ggNjddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSCA2OF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIIDY5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUxhc19QYWxtYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUxhc19QYWxtYXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGE5NzFlZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtTGFzX1BhbG1hcwpAQCAtMCwwICsxLDE0OSBAQAorIyBGdW5jaW9uYSBjb3JyZWN0YW1lbnRlIGVuIExhcyBQYWxtYXMgZGUgR3JhbiBDYW5hcmlhICgyNS0wOS0yMDEwKQorIyAKKyMgUmV2aXNhZGEgeSBjb3JyZWdpZGEgcG9yIGVsIEdydXBvIGRlIFVzdWFyaW9zIGRlIExpbnV4IGRlIENhbmFyaWFzCisjIGh0dHA6Ly93d3cuZ3VsaWMub3JnCisjCitbQ2FuYWwgMjg6IFRWRSBIRCwgVGVsZWRlcG9ydGUsIFJORSBDbMOhc2ljYSwgUk5FIDNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCAzMjogQm9pbmcsIFRlbGVjaW5jbyBIRCwgTGEgMTAsIE1UViwgUHVudG8gUmFkaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCAzNTogU29nZWN1YXRybywgTGFTZXh0YTIsIExhU2V4dGEzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgMzg6IE5pdHJvLCBBbnRlbmEgMyBIRCwgTWFyY2EgVFYsIFZlbzEzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNDQ6IENhbmFsIDcgR3JhbiBDYW5hcmlhLCBUSUMgQ2FuYWwgOCwgQ2FuYWwgNCwgUlRJXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTI6IExvY2FsaWEsIE51ZXZlIFRWLCBOdWV2ZSBSYWRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDYwOiBUVkUxLCBUVkUyLCAyNEggVFZFLCBDbGFuL1RWRSwgUk5FLCBSTkVDLCBSTkUzLCBMYW56YWRlcmEsIEVQRywgRGlnaXRleHQsIE1ldGVvLCBCb2xzYSwgVHJhZmljbywgRW1wbGVhdF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY1OiBUViBDLCBUViBDMiwgQW50ZW5hIDMgQ2FuYXJpYXMsIFBvcHVsYXIgVFYsIENhbmFyaWFzIFJhZGlvLCBDb3BlLCBDYWRlbmEgMTAwLCBSYWRpbyBFQ0NBLCBMYW56YWRlcmEsIFRpY2tlciwgUGlsb3RvIFREVF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY2OiBWZW83LCBUaWVuZGEgZW4gVmVvLCBBWE4sIEludGVyZWNvbm9taWEsIFRlbGVkZXBvcnRlLCBSYWRpbyBJbnRlcmVjb25vbWlhLCBSYWRpbyBNYXJjYSwgZXNSYWRpbywgVmF1Z2hhbiBSYWRpbywgQ2FuYWwgSW5nZW5pZXLDrWEsIEdVSURFIFBsdXMgKywgQzY2R2FuY2hvLCBDNjZMYW56YWRlcmEsIEM2NkVQRywgRXBnTmV0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjc6IEN1YXRybywgQ05OKywgQ2FuYWwrIERvcywgQ2FuYWwgQ2x1YiwgbGFTZXh0YSwgU0VSLCA0MCBQcmluY2lwYWxlcywgQ2FkZW5hIERpYWwsIExhbnphZGVyYSwgRVBHIFREVCwgVGlja2VyLCBMYW56YWRlcmEsIE5vdGljaWFzLCBFUEddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2ODogVGVsZWNpbmNvLCBMYSBTaWV0ZSwgRkRGLCBDaW5jb1Nob3AsIERpc25leSBDaGFubmVsLCBUNUxhbnphZGVyYSwgVDVEaWdpdGV4dCwgTm90aWNpYXMsIFRpZW1wbywgQm9sc2EsIFRyw6FmaWNvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjk6IEFudGVuYSAzLCBOZW94LCBOb3ZhLCBHb2wgVGVsZXZpc2nDs24sIE9uZGEgQ2VybywgRXVyb3BhIEZNLCBPbmRhIE1lbG9kw61hLCB0dnR2IERJR0lUQUwsIEEzTGFuemFkZXJhLCBBM1BvcnRhbCwgQTNFUEcsIEEzVGlja2VyLCBULXNlbmlvcml0eSwgR29sIEJhcl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1MdWdvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1MdWdvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUzMTY0YTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUx1Z28KQEAgLTAsMCArMSw3NCBAQAorIyBEVkItVCBMdWdvIChDZW50cm8gZW1pc29yIFBhcmFtbykgLSBSZXYuIDEuMiAtIDExLjEyLjA1CisKK1tUVkUgMSwgVFZFIDIsIDI0SCBUVkUsIENMQU4vNTAgVFZFLCBSTkUxLCBSTkUgQ0xBU0lDQSwgUk5FM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RWRywgR0FMSUNJQSBUViBBTUVSSUNBLCBSQURJTyBHQUxFR0EsIFIuR0FMRUdBIE1VU0lDQSwgU09OIEdBTElDSUEgUkFESU8sIFBST0JBUyBSRVRFR0FMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVEVMRURFUE9SVEUsIFZFTyBUViwgVkVPIDIsIE5FVCBUVl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NVQVRSTywgQ05OKywgNDAgTEFUSU5PLCBMQSBTRVhUQSAxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVEVMRUNJTkNPLCBUNSBFU1RSRUxMQVMsIFQ1IFNQT1JULCBGTFlNVVNJQ10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0FOVEVOQSAzLCBBTlRFTkEuTkVPWCwgQU5URU5BLk5PVkEsIExBIFNFWFRBIDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtTWFkcmlkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1NYWRyaWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDBkZjZlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtTWFkcmlkCkBAIC0wLDAgKzEsMTQyIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAxMTAzMDYgMiAwIE9GRE0gRVMgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogPGFkZCBkZXNjcmlwdGlvbiBoZXJlPgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTEtMDMtMTYKKyMgcHJvdmlkZWQgYnkgKG9wdCkgICAgOiA8eW91ciBuYW1lIG9yIGVtYWlsIGhlcmU+CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RlbGVkaWZ1c2lvbiBNYWRyaWRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbUkdFMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1JHRSBNQURSSURdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVERULUNBTV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1NGTl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1NGTl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1NGTl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1NGTl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1NYWxhZ2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLU1hbGFnYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MjFlNWRhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1NYWxhZ2EKQEAgLTAsMCArMSw3MyBAQAorIyBEVkItVCBNYWxhZ2EgKEFuZGFsdWNpYSkgICAgICAgICAgICAgICAgICAgYnkgUGVkcm8gTGVvbiA0IE1heW8gMjAwNworW0M1NyBMYSBQcmltZXJhLCBMYSAyLCBDYW5hbCAyNEgsIENsYW4vVFZFIDUwLCBSTkUxLCBSTkUgQ2zDoXNpY2EsIFJORSAzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYzIENhbmFsIFN1ciwgQ2FuYWwgMiBBbmRhbHVjaWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjYgVEVMRURFUE9SVEUsIFZFTywgKkNhbmFsIEluZ2VuaWVyaWEsIFNFVGVuVkVPLCBUaWVuZGEgZW4gVkVPLCBORVQgVFYsIFJhZGlvIEludGVyZWNvbm9taWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjcgQ1VBVFJPLCBDTk4rLCA0MCBMQVRJTk8sIGxhU2V4dGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjggVGVsZWNpbmNvLCBUNSBFc3RyZWxsYXMsIFQ1IFNwb3J0LCBGTFlNVVNJQywgUFVOVE8gUkFESU9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjkgQU5URU5BIDMsIEFOVEVOQS5ORU9YLCBBTlRFTkEuTk9WQSwgKnR2dHYgRElHSVRBTCwgT05EQSBDRVJPLCBFVVJPUEEgRk0sIE9OREEgTUVMT0RJQSwgVGVsZWhpdF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1NdXJvcy1Ob2lhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1NdXJvcy1Ob2lhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI2ZDMwMTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLU11cm9zLU5vaWEKQEAgLTAsMCArMSw4NSBAQAorIyBEVkItVCBNdXJvcyBhbmQgTm9pYQorW0NhbmFsIDI3OiBMb2NhbCBSaWJlaXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjE6IFJBUiBBIENvcnVuaGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MzogUkdFIEdhbGljaWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NjogU0ZOIDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NzogU0ZOIDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2ODogU0ZOIDNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2OTogU0ZOIDRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtTXVzc2FyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtTXVzc2FyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMDIzODNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1NdXNzYXJhCkBAIC0wLDAgKzEsNzMgQEAKKyMgRFZCLVQgTGEgTXVzc2FyYSAoUmV1cy1UYXJyYWdvbmEpCitbYzU5OiBUVjMsIEszLzMzLCAzLzI0LCAzMDAsIDNpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbYzY0OiBUVkUxLCBUVkUyLCBUZWxlZGVwb3J0ZSwgQzI0aF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW2M2NjogVFZFIENsYW5UViwgVFZFIDUwYSwgVmVvMSwgVmVvMiwgTmV0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbYzY3OiBDdWF0cm8sIDQwTGF0aW5vLCBDTk4rLCBMYVNleHRhIDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tjNjg6IFQ1LCBUNSBTcG9ydHMsIFQ1IEVzdHJlbGxhcywgTmV0IEZseSBNdXNpY10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW2M2OTogQW50ZW5hMywgQW50ZW5hLk5lb3gsIEFudGVuYS5Ob3ZhLCBMYSBTZXh0YSAyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVBhbXBsb25hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1QYW1wbG9uYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZWQ2ZjUzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1QYW1wbG9uYQpAQCAtMCwwICsxLDg1IEBACisjIERWQi1UIFBhbXBsb25hCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TQ19UZW5lcmlmZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtU0NfVGVuZXJpZmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjVlZjNiYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtU0NfVGVuZXJpZmUKQEAgLTAsMCArMSwxNDkgQEAKKyMgRnVuY2lvbmEgY29ycmVjdGFtZW50ZSBlbiBTYW50YSBDcnV6IGRlIFRlbmVyaWZlICgyNS0wOS0yMDEwKQorIyAKKyMgUmV2aXNhZGEgeSBjb3JyZWdpZGEgcG9yIGVsIEdydXBvIGRlIFVzdWFyaW9zIGRlIExpbnV4IGRlIENhbmFyaWFzCisjIGh0dHA6Ly93d3cuZ3VsaWMub3JnCisjCitbQzIzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI2XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU2XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzY2XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzY3XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzY4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzY5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVNhbnRhbmRlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtU2FudGFuZGVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQyZmMzOTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVNhbnRhbmRlcgpAQCAtMCwwICsxLDUwIEBACisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtU2FudGlhZ29fZGVfQ29tcG9zdGVsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtU2FudGlhZ29fZGVfQ29tcG9zdGVsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NTk0M2RiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TYW50aWFnb19kZV9Db21wb3N0ZWxhCkBAIC0wLDAgKzEsODUgQEAKKyMgRFZCLVQgU2FudGlhZ28gZGUgQ29tcG9zdGVsYQorW0NhbmFsIDIzOiBMb2NhbCBTYW50aWFnb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDQwOiBSQVIgU2FudGlhZ29dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MzogUkdFIEdhbGljaWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NjogU0ZOIDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NzogU0ZOIDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2ODogU0ZOIDNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2OTogU0ZOIDRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtU2V2aWxsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtU2V2aWxsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xN2VhZTJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TZXZpbGxhCkBAIC0wLDAgKzEsMjMxIEBACisjIERWQi1UIFNldmlsbGEgKFNwYWluKSBieSB4MiAxNS1hZ29zLTIwMTAsIG1vZGlmaWNhZG8gMTUtYWdvLTIwMTAKKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFua3MgdG8gaHR0cDovL3d3dy50ZHQxLmNvbQorIyAgICAgICAgIHRoYW5rcyB0byBodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sCitbQzMzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM2XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU2XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzY2XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzY3XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzY4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzY5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVRlbmVyaWZlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1UZW5lcmlmZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOTdhMDAyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1UZW5lcmlmZQpAQCAtMCwwICsxLDE0NSBAQAorIyBEVkItVCBUZW5lcmlmZSwgU3BhaW4gKDAzLzA0LzIwMTEpCitbQ2FuYWwgMjM6IGxhU2V4dGEgMiwgbGFTZXh0YSAzLCBsYVNleHRhIEhELCBDKyAyLCBDdWF0cm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCAyNDogQ2FuYWwgNywgTcOtcmFtZSwgQ2FuYWwgNCBUZW5lcmlmZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDI2OiBOaXRybywgQW50ZW5hIDMsIE1hcmNhLCAxM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDI5OiBCb2luZywgVGVsZTUgSEQsIE1UViwgTGEgMTBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA0NTogVFZFIEhELCB0ZHBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1NjogQ2FuYWwgNiBUZWlkZVZpc2nDs24sIEVsRMOtYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDU5OiBUViBDYW5hcmlhLCBUViBDYW5hcmlhIDIsIEFudGVuYSAzIENhbmFyaWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MDogTGEgMSwgTGEgMiwgMjRoLCBDbGFuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjY6IFRlbGVkZXBvcnRlLCBDYW5hbCBJbmdlbmllcsOtYSwgVmVvNywgSW50ZXJlY29ub23DrWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NzogbGFTZXh0YSwgbGFTZXh0YSAzLCBHb2wgVGVsZXZpc2nDs24sIEN1YXRybywgRGl2aW5pdHksIExhIFRpZW5kYSBlbiBDYXNhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjg6IFRlbGU1LCBGREYsIGxhU2lldGUsIERpc25leSBDaGFubmVsLCBJbnRlcmVjb25vbcOtYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBBbnRlbmEgMywgTmVveCwgTm92YSwgVmVvNywgQVhOXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVZhbGVuY2lhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1WYWxlbmNpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NGMzNTYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1WYWxlbmNpYQpAQCAtMCwwICsxLDk3IEBACisjIERWQi1UIFZhbGVuY2lhLCBTcGFpbgorW0NhbmFsIDIzOiBUTVYsIFRlbGUgNywgQXByZW5kZSBpbmdsZXMgVFYsIEVkLiBQcmVuc2EgVmFsLixSLk1lZGlhbWVkXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTU6IFRWMywgMzMsIDMvMjQsIEszLzMwMF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDU3OiBDYW5hbCA5LCBQdW50IDIsIFBvcHVsYXIgVFYsIExQIFRldmEsIFJhZGlvIDksIFNpIFJhZGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTg6IFRWRSAxLCBMYSAyLCAyNEggVFZFLCBDbGFuIFRWRSwgUk5FIDEsIFJORSBDLCBSTkUgM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY2OiBWZW8sIFNvbnkgVFYgZW4gVmVvLCBUaWVuZGEgZW4gVmVvLCBJbnRlcmVjb25vbWlhLCBUZWxlZGVwb3J0ZSwgUi4gSW50ZXJlYy4sIFIuIE1hcmNhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjc6IEN1YXRybywgQ05OKywgNDAgTGF0aW5vLCBQcm9tbywgTGEgU2V4dGEsIFNlciwgNDAgUHJpbmMuLCBDYWQuIERpYWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2ODogVGVsZWNpbmNvLCBUZWxlY2luY28gMiwgRkRGLCBDaW5jbyBTaG9wLCBEaXNuZXkgQ2hhbm5lbCwgUHVudG8gUmFkaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2OTogQW50ZW5hIDMsIEFudGVuYSBOZW94LCBBbnRlbmEgTm92YSwgSG9nYXIgMTAsIE9uZGEgQ2VybywgRXVyb3BhIEZNLCBPbmRhIE1lbG9kaWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtVmFsbGFkb2xpZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtVmFsbGFkb2xpZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMWJmMGFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1WYWxsYWRvbGlkCkBAIC0wLDAgKzEsNjEgQEAKKyMgRFZCLVQgVmFsbGFkb2xpZAorW0NhbmFsIDU3OiBDbGFuIFRWRSwgMjRIIFRWRSwgTGEgMiwgVFZFIDEsIFJORTEsIFJORTMsIFJOQ10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY2OiBWZW8sIFZlbyAyLCBOZXQgVFYsIFRlbGVkZXBvcnRlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjc6IEN1YXRybywgQ05OKywgNDAgTGF0aW5vLCBMYSBTZXh0YSAxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjg6IFRlbGVjaW5jbywgVGVsZWNpbmNvIFNwb3J0LCBUZWxlY2luY28gRXN0cmVsbGFzLCBGbHkgTXVzaWNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2OTogQW50ZW5hIDMsIEFudGVuYSBOZW94LCBBbnRlbmEgTm92YSwgTGEgU2V4dGEgMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1WaWxhbWFyeGFudCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtVmlsYW1hcnhhbnQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzM1NWVlZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtVmlsYW1hcnhhbnQKQEAgLTAsMCArMSwyNSBAQAorIyBEVkItVCBWaWxhbWFyeGFudCwgVmFsZW5jaWEsIEMuIFZhbGVuY2lhbmEsIFNwYWluLgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVZpdG9yaWEtR2FzdGVpeiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtVml0b3JpYS1HYXN0ZWl6Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE0NzVjOGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVZpdG9yaWEtR2FzdGVpegpAQCAtMCwwICsxLDc0IEBACisjIENoYW5uZWwgbmFtZXMgaW4gdXNlIGF0IDIwMDkvMDcvMTIsIGluIENoYW5uZWwgNjYgW2ZmZmVdIGlzIGEgc2NyYW1ibGVkIGNoYW5uZWwuCisjIEluIHRoZSBnZW5lcmF0ZWQgKmNoYW5uZWxzLmNvbmYgZmlsZSBjb3VsZCBiZSBuZWNlc2FyeSB0byBjaGFuZ2UgSW50ZXJlY29ub23DrWEsIFJhZGlvIEludGVyZWNvbm9tw61hLCBPTkRBIE1FTE9Ew41BIHRvIEludGVyZWNvbm9taWEsIFJhZGlvIEludGVyZWNvbm9taWEsIE9OREEgTUVMT0RJQSBmb3IgVG90ZW0gdG8gd29yayB3ZWxsLgorW0NhbmFsIDU4OiBFVEIxLCBFVEIyLCBFVEIzLCBFVEJTQVQsIEV1c2thZGkgSXJyYXRpYSwgR2F6dGVhLCBFaVRCIElycmF0aWEsIFJhZGlvIEV1c2thZGksIFJhZGlvIFZpdG9yaWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MzogTGEgMSwgTGEgMiwgMjRoLCBDbGFuLCBSTkUxLCBSTkVDLCBSTkUzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjY6IFRlbGVkZXBvcnRlLCBDYW5hbCBJbmdlbmllcmlhLCBWRU83LCBTT05ZIFRWIGVuIFZFTywgVGllbmRhIGVuIFZFTywgR1VJREUgUExVUyssIEludGVyZWNvbm9tw61hLCBSYWRpbyBJbnRlcmVjb25vbcOtYSwgW2ZmZmVdLCBSQURJTyBNQVJDQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY3OiBsYVNleHRhLCBDVUFUUk8sIENOTissIDQwIExBVElOTywgQ0FOQUwgQ0xVQiwgU0VSLCA0MCBQUklOQ0lQQUxFUywgQ0FERU5BIERJQUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2ODogVGVsZWNpbmNvLCBGREYsIExhU2lldGUsIERpc25leSBDaGFubmVsLCBDaW5jb3Nob3BdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2OTogQU5URU5BIDMsIEFOVEVOQS5ORU9YLCBBTlRFTkEuTk9WQSwgT05EQSBDRVJPLCBFVVJPUEEgRk0sIE9OREEgTUVMT0TDjUEsIEhPR0FSIDEwXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVphcmFnb3phIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1aYXJhZ296YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNmFhYjQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1aYXJhZ296YQpAQCAtMCwwICsxLDYyIEBACisjIERWQi1UIFphcmFnb3phIChBcmFnw7NuKSBbU3BhaW5dIFtlcy1aYXJhZ296YV0KKyMgR2VuZXJhdGVkIGJ5IFbDrWN0b3IgTWFydMOtbmV6IFJvbWFub3MgPHZtcm9tYW5vc0BnbWFpbC5jb20+CitbQ2FuYWwgNjM6IFRWRSAxLCBUVkUgMiwgMjRILCBDTEFOLzUwLCBSTkUxLCBSTkVDLCBSTkUzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjY6IFRFTEVERVBPUlRFLCBWRU8gVFYsIFZFTyAyLCBORVQgVFZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NzogQ1VBVFJPLCBDTk4rLCA0MCBMQVRJTk8sIExBIFNFWFRBIDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2ODogVDUgRVNUUkVMTEFTLCBUNSBTUE9SVCwgVEVMRUNJTkNPLCBGTFlNVVNJQ10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBBTlRFTkEgMywgQU5URU5BLk5FT1gsIEFOVEVOQS5OT1ZBLCBMQSBTRVhUQSAyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFhbmVrb3NraSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQWFuZWtvc2tpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdkZGEzMjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFhbmVrb3NraQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0FhbmVrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQWFuZWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tBYW5la29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0FhbmVrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFhbmVrb3NraV9Lb25naW5rYW5nYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFhbmVrb3NraV9Lb25naW5rYW5nYXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmYxMzc0MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQWFuZWtvc2tpX0tvbmdpbmthbmdhcwpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0FhbmVrb3NraV9Lb25naW5rYW5nYXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0FhbmVrb3NraV9Lb25naW5rYW5nYXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0FhbmVrb3NraV9Lb25naW5rYW5nYXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0FhbmVrb3NraV9Lb25naW5rYW5nYXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1BaHRhcmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFodGFyaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYTkwZWEyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1BaHRhcmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tBaHRhcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0FodGFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFsYWphcnZpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1BbGFqYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MTI0ODNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1BbGFqYXJ2aQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0FsYWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tBbGFqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQWxhamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0FsYWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQW5qYWxhbmtvc2tpX1J1b3RpbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFuamFsYW5rb3NraV9SdW90aWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhZTEyMzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFuamFsYW5rb3NraV9SdW90aWxhCkBAIC0wLDAgKzEsMjggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbQW5qYWxhbmtvc2tpX1J1b3RpbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0FuamFsYW5rb3NraV9SdW90aWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tBbmphbGFua29za2lfUnVvdGlsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQW5qYWxhbmtvc2tpX1J1b3RpbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0FuamFsYW5rb3NraV9SdW90aWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Fc3BvbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUVzcG9vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdkNzRmYzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Fc3BvbwpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUV1cmFqb2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtRXVyYWpva2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzFkZTkzNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUV1cmFqb2tpCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSGFtZWVubGlubmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1IYW1lZW5saW5uYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MmI0ZWNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSGFtZWVubGlubmEKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1IYW1pbmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1IYW1pbmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzUyNWNiMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUhhbWluYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUhhdXNqYXJ2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUhhdXNqYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MmI0ZWNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSGF1c2phcnZpCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSGVsc2lua2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1IZWxzaW5raQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZDc0ZmMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSGVsc2lua2kKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Kb2tpb2luZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Kb2tpb2luZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTJiNGVjZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUpva2lvaW5lbgpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUp5dmFza3lsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUp5dmFza3lsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MjVjODI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSnl2YXNreWxhCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2FhcmluYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUthYXJpbmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODVjYTNiZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUthYXJpbmEKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LYWphYW5pIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2FqYWFuaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNTI1Y2IwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2FqYWFuaQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUthbmdhc2FsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUthbmdhc2FsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYjI3ZGUyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2FuZ2FzYWxhCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2Fya2tpbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LYXJra2lsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZDc0ZmMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2Fya2tpbGEKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LaWltaW5raSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUtpaW1pbmtpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyNWM4MjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LaWltaW5raQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUtva2tvbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Lb2trb2xhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyNWM4MjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Lb2trb2xhCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS29udGlvbGFodGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Lb250aW9sYWh0aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNzg5NWQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS29udGlvbGFodGkKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Lb3V2b2xhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS291dm9sYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNTI1Y2IwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS291dm9sYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUt1b3BpbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUt1b3BpbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42M2JlM2NhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS3VvcGlvCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTGFodGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1MYWh0aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MTQ3ZDUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTGFodGkKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1MYXBwZWVucmFudGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1MYXBwZWVucmFudGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjc4OTVkMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUxhcHBlZW5yYW50YQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUxvaGphIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTG9oamEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2Q3NGZjMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUxvaGphCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTG92aWlzYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUxvdmlpc2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2Q3NGZjMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUxvdmlpc2EKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1NaWtrZWxpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTWlra2VsaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNzg5NWQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTWlra2VsaQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLU5vdXNpYWluZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Ob3VzaWFpbmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg1Y2EzYmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Ob3VzaWFpbmVuCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTnVybWlqYXJ2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLU51cm1pamFydmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2Q3NGZjMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLU51cm1pamFydmkKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Qb3J2b28gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Qb3J2b28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2Q3NGZjMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVBvcnZvbwpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVNhbG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1TYWxvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg1Y2EzYmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1TYWxvCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtU2F2b25saW5uYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVNhdm9ubGlubmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzI5NTQxMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVNhdm9ubGlubmEKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1TZWluYWpva2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1TZWluYWpva2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmY1ZDdlNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVNlaW5ham9raQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVR5cm5hdmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1UeXJuYXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyNWM4MjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1UeXJuYXZhCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtVWx2aWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtVWx2aWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMxZGU5MzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1VbHZpbGEKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1WYWFzYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVZhYXNhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJmNWQ3ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1WYWFzYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVZhbGtlYWtvc2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtVmFsa2Vha29za2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2IyN2RlMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVZhbGtlYWtvc2tpCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtVmVzaWxhaHRpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtVmVzaWxhaHRpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNiMjdkZTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1WZXNpbGFodGkKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1ZbGl2aWVza2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1ZbGl2aWVza2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODE0N2Q1MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVlsaXZpZXNrYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRW5vbnRla2lvX0Fob3ZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Fbm9udGVraW9fQWhvdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjFhYmRiYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRW5vbnRla2lvX0Fob3ZhYXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbRW5vbnRla2lvX0Fob3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tFbm9udGVraW9fQWhvdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Fbm9udGVraW9fSGV0dGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUVub250ZWtpb19IZXR0YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZmY2Yjg0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Fbm9udGVraW9fSGV0dGEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tFbm9udGVraW9fSGV0dGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0Vub250ZWtpb19IZXR0YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUVub250ZWtpb19LdXR0YW5lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRW5vbnRla2lvX0t1dHRhbmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY5YTZhZjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUVub250ZWtpb19LdXR0YW5lbgpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0Vub250ZWtpb19LdXR0YW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRW5vbnRla2lvX0t1dHRhbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRXNwb28gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUVzcG9vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNlYjkwNmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUVzcG9vCkBAIC0wLDAgKzEsMzMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbRXNwb28tQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRXNwb28tQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRXNwb28tQ10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRXNwb28tRV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRXNwb28tRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0VzcG9vLUhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRXVyYWpva2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUV1cmFqb2tpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFkMDkwYTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUV1cmFqb2tpCkBAIC0wLDAgKzEsMjggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbRXVyYWpva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0V1cmFqb2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tFdXJham9raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRXVyYWpva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0V1cmFqb2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUZpc2thcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUZpc2thcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGY4NGJiNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRmlza2FycwpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0Zpc2thcnNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0Zpc2thcnNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0Zpc2thcnNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0Zpc2thcnNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IYWFwYXZlc2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhYXBhdmVzaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YmUxZjYyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IYWFwYXZlc2kKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tIYWFwYXZlc2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hhYXBhdmVzaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGFhcGF2ZXNpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIYWFwYXZlc2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IYW1lZW5reXJvX0t5cm9za29za2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhbWVlbmt5cm9fS3lyb3Nrb3NraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YTk4NzkxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IYW1lZW5reXJvX0t5cm9za29za2kKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tIYW1lZW5reXJvX0t5cm9za29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hhbWVlbmt5cm9fS3lyb3Nrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGFtZWVua3lyb19LeXJvc2tvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIYW1lZW5reXJvX0t5cm9za29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IYW1lZW5saW5uYV9QYWlub2thbmdhcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGFtZWVubGlubmFfUGFpbm9rYW5nYXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWE1NmIyYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGFtZWVubGlubmFfUGFpbm9rYW5nYXMKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tIYW1lZW5saW5uYV9QYWlub2thbmdhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGFtZWVubGlubmFfUGFpbm9rYW5nYXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hhbWVlbmxpbm5hX1BhaW5va2FuZ2FzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGFua28gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhbmtvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiMDhhMTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhbmtvCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSGFua29dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hhbmtvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIYW5rb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGFua29dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IYXJ0b2xhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IYXJ0b2xhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQxMGRmMjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhcnRvbGEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tIYXJ0b2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIYXJ0b2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIYXJ0b2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGVpbmF2ZXNpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IZWluYXZlc2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjMzYmIzOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGVpbmF2ZXNpCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSGVpbmF2ZXNpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIZWluYXZlc2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hlaW5hdmVzaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhlaW5vbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhlaW5vbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2E2ZjIzNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGVpbm9sYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0hlaW5vbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hlaW5vbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hlaW5vbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hlaW5vbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IeXJ5bnNhbG1pIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IeXJ5bnNhbG1pCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmUxMWY4OWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUh5cnluc2FsbWkKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tIeXJ5bnNhbG1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIeXJ5bnNhbG1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIeXJ5bnNhbG1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSHlyeW5zYWxtaV9LeXBhcmF2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSHlyeW5zYWxtaV9LeXBhcmF2YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNDAyZDhhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IeXJ5bnNhbG1pX0t5cGFyYXZhYXJhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSHlyeW5zYWxtaV9LeXBhcmF2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSHlyeW5zYWxtaV9LeXBhcmF2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSHlyeW5zYWxtaV9LeXBhcmF2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUh5cnluc2FsbWlfUGFsamFra2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUh5cnluc2FsbWlfUGFsamFra2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODA2YTNjMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSHlyeW5zYWxtaV9QYWxqYWtrYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0h5cnluc2FsbWlfUGFsamFra2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0h5cnluc2FsbWlfUGFsamFra2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0h5cnluc2FsbWlfUGFsamFra2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IeXZpbmthYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSHl2aW5rYWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTcxMWIxNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSHl2aW5rYWEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tIeXZpbmthYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSHl2aW5rYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0h5dmlua2FhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIeXZpbmthYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUlpX1JhaXNraW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUlpX1JhaXNraW8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzVmZGE2NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSWlfUmFpc2tpbwpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0lpX1JhaXNraW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0lpX1JhaXNraW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1JaXNhbG1pIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1JaXNhbG1pCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQyODE4MjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUlpc2FsbWkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tJaXNhbG1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tJaXNhbG1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSWthYWxpbmVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Ja2FhbGluZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODg1ZDQ0YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSWthYWxpbmVuCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSWthYWxpbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tJa2FhbGluZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0lrYWFsaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSWthYWxpbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSWthYWxpbmVuX1JpaXRpYWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Ja2FhbGluZW5fUmlpdGlhbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTVkODIwMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSWthYWxpbmVuX1JpaXRpYWxhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSWthYWxpbmVuX1JpaXRpYWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tJa2FhbGluZW5fUmlpdGlhbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0lrYWFsaW5lbl9SaWl0aWFsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSWthYWxpbmVuX1JpaXRpYWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSW5hcmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUluYXJpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMxZGViMjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUluYXJpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSW5hcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0luYXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSW5hcmlfSmFuaXNwYWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUluYXJpX0phbmlzcGFhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM3YmQzMWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUluYXJpX0phbmlzcGFhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSW5hcmlfSmFuaXNwYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0luYXJpX0phbmlzcGFhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSW5hcmlfTmFhdGFtbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSW5hcmlfTmFhdGFtbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYTg0MzYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1JbmFyaV9OYWF0YW1vCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSW5hcmlfTmFhdGFtb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSW5hcmlfTmFhdGFtb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUl2YWxvX1NhYXJpbmVpdGFtb3ZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1JdmFsb19TYWFyaW5laXRhbW92YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MDE4MWJiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1JdmFsb19TYWFyaW5laXRhbW92YWFyYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0l2YWxvX1NhYXJpbmVpdGFtb3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tJdmFsb19TYWFyaW5laXRhbW92YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUphbGFzamFydmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUphbGFzamFydmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWJjNzA1OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFsYXNqYXJ2aQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0phbGFzamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbGFzamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbGFzamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbGFzamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYV9IYWxsaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2FfSGFsbGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWQwNjUyMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2FfSGFsbGkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tKYW1zYV9IYWxsaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfSGFsbGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbXNhX0hhbGxpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKYW1zYV9IYWxsaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUphbXNhX0thaXBvbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUphbXNhX0thaXBvbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2E4ZTU2MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2FfS2FpcG9sYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0phbXNhX0thaXBvbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbXNhX0thaXBvbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbXNhX0thaXBvbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbXNhX0thaXBvbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYV9NYXRrb3N2dW9yaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2FfTWF0a29zdnVvcmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWFjYWNmZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2FfTWF0a29zdnVvcmkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tKYW1zYV9NYXRrb3N2dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfTWF0a29zdnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbXNhX01hdGtvc3Z1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKYW1zYV9NYXRrb3N2dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUphbXNhX091bmlucG9oamEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUphbXNhX091bmlucG9oamEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzBlYjhlMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2FfT3VuaW5wb2hqYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0phbXNhX091bmlucG9oamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbXNhX091bmlucG9oamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbXNhX091bmlucG9oamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYW5rb3NraSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2Fua29za2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTQyYmU5MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2Fua29za2kKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tKYW1zYW5rb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2Fua29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbXNhbmtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKYW1zYW5rb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUpvZW5zdXVfVmVzdGlua2FsbGlvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Kb2Vuc3V1X1Zlc3RpbmthbGxpbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NjViYTFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Kb2Vuc3V1X1Zlc3RpbmthbGxpbwpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0pvZW5zdXVfVmVzdGlua2FsbGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKb2Vuc3V1X1Zlc3RpbmthbGxpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSm9lbnN1dV9WZXN0aW5rYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Kb3JvaW5lbl9QdXVra29sYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSm9yb2luZW5fUHV1a2tvbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWZjZThkYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSm9yb2luZW5fUHV1a2tvbGEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tKb3JvaW5lbl9QdXVra29sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSm9yb2luZW5fUHV1a2tvbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0pvcm9pbmVuX1B1dWtrb2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSm91dHNhX0xhbmtpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSm91dHNhX0xhbmtpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYzQ0YzgxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Kb3V0c2FfTGFua2lhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSm91dHNhX0xhbmtpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSm91dHNhX0xhbmtpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSm91dHNhX0xhbmtpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSm91dHNhX0xhbmtpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUpvdXRzZW5vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Kb3V0c2VubwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MDMzN2ZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Kb3V0c2VubwpAQCAtMCwwICsxLDI4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0pvdXRzZW5vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKb3V0c2Vub10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSm91dHNlbm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0pvdXRzZW5vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKb3V0c2Vub10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KdXVwYWpva2lfS29wc2FtbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSnV1cGFqb2tpX0tvcHNhbW8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTk5YWY3NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSnV1cGFqb2tpX0tvcHNhbW8KQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tKdXVwYWpva2lfS29wc2Ftb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSnV1cGFqb2tpX0tvcHNhbW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0p1dXBham9raV9Lb3BzYW1vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSnV2YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSnV2YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYjhhMTVlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KdXZhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSnV2YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSnV2YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSnV2YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSnV2YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUp5dmFza3lsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSnl2YXNreWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAyY2VkOWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUp5dmFza3lsYQpAQCAtMCwwICsxLDMzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0p5dmFza3lsYS1BXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKeXZhc2t5bGEtQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSnl2YXNreWxhLUNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0p5dmFza3lsYS1FXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKeXZhc2t5bGEtRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0p5dmFza3lsYS1IXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUp5dmFza3lsYV9WYWFqYWtvc2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KeXZhc2t5bGFfVmFhamFrb3NraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MmI1YWM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KeXZhc2t5bGFfVmFhamFrb3NraQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0p5dmFza3lsYV9WYWFqYWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKeXZhc2t5bGFfVmFhamFrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSnl2YXNreWxhX1ZhYWpha29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYWF2aV9TaXZha2thdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthYXZpX1NpdmFra2F2YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NTk1YTM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYWF2aV9TaXZha2thdmFhcmEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLYWF2aV9TaXZha2thdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thYXZpX1NpdmFra2F2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FhdmlfU2l2YWtrYXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FqYWFuaV9Qb2xseXZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYWphYW5pX1BvbGx5dmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2VhN2I5MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FqYWFuaV9Qb2xseXZhYXJhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS2FqYWFuaV9Qb2xseXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYWphYW5pX1BvbGx5dmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thamFhbmlfUG9sbHl2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthbGFqb2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYWxham9raQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYWI3OTZkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYWxham9raQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0thbGFqb2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYWxham9raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FsYWpva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYW5nYXNsYW1waSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FuZ2FzbGFtcGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDg0YjJhOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FuZ2FzbGFtcGkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLYW5nYXNsYW1waV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FuZ2FzbGFtcGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thbmdhc2xhbXBpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYW5nYXNsYW1waV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthbmdhc25pZW1pX1R1cmtpbm1ha2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthbmdhc25pZW1pX1R1cmtpbm1ha2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTY0NzZlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FuZ2FzbmllbWlfVHVya2lubWFraQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0thbmdhc25pZW1pX1R1cmtpbm1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thbmdhc25pZW1pX1R1cmtpbm1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thbmdhc25pZW1pX1R1cmtpbm1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thbmdhc25pZW1pX1R1cmtpbm1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYW5rYWFucGFhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYW5rYWFucGFhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmEzZGY3YmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthbmthYW5wYWEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLYW5rYWFucGFhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYW5rYWFucGFhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYW5rYWFucGFhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYW5rYWFucGFhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FyaWdhc25pZW1pIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXJpZ2FzbmllbWkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjA1NDhjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FyaWdhc25pZW1pCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS2FyaWdhc25pZW1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYXJpZ2FzbmllbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXJra2lsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2Fya2tpbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDU5OGY0NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2Fya2tpbGEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLYXJra2lsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2Fya2tpbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thcmtraWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYXJra2lsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthcnN0dWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXJzdHVsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZmQzMDAxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXJzdHVsYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0thcnN0dWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYXJzdHVsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2Fyc3R1bGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXJ2aWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthcnZpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MWU4OWI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXJ2aWEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLYXJ2aWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thcnZpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FydmlhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2F1bmlzcGFhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXVuaXNwYWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTlmZWE5YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2F1bmlzcGFhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS2F1bmlzcGFhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYXVuaXNwYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LZW1pamFydmlfU3VvbXV0dW50dXJpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LZW1pamFydmlfU3VvbXV0dW50dXJpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRhYzVkOTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtlbWlqYXJ2aV9TdW9tdXR1bnR1cmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLZW1pamFydmlfU3VvbXV0dW50dXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLZW1pamFydmlfU3VvbXV0dW50dXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2VyaW1ha2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtlcmltYWtpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY4ZjQ1ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtlcmltYWtpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS2VyaW1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tlcmltYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLZXJpbWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2VyaW1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LZXVydXUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtldXJ1dQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZDQ5YjViCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LZXVydXUKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLZXVydXVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tldXJ1dV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2V1cnV1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLZXVydXVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LZXVydXVfSGFhcGFtYWtpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LZXVydXVfSGFhcGFtYWtpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNmYjliMGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtldXJ1dV9IYWFwYW1ha2kKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLZXVydXVfSGFhcGFtYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLZXVydXVfSGFhcGFtYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLZXVydXVfSGFhcGFtYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLZXVydXVfSGFhcGFtYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2lobmlvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LaWhuaW8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2M1Yzk5MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2lobmlvCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS2lobmlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLaWhuaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tpaG5pb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2lobmlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2lpaHRlbHlzdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtpaWh0ZWx5c3ZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUyZTYwYjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtpaWh0ZWx5c3ZhYXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS2lpaHRlbHlzdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tpaWh0ZWx5c3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2lscGlzamFydmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtpbHBpc2phcnZpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlkMzQzNWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtpbHBpc2phcnZpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS2lscGlzamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tpbHBpc2phcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2l0dGlsYV9MZXZpdHVudHVyaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2l0dGlsYV9MZXZpdHVudHVyaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZTRjMWM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LaXR0aWxhX0xldml0dW50dXJpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS2l0dGlsYV9MZXZpdHVudHVyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2l0dGlsYV9MZXZpdHVudHVyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtvbGFyaV9WdW9saXR0YWphIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Lb2xhcmlfVnVvbGl0dGFqYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNTA3NzUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Lb2xhcmlfVnVvbGl0dGFqYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0tvbGFyaV9WdW9saXR0YWphXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLb2xhcmlfVnVvbGl0dGFqYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtvbGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtvbGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDM0YmYyZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS29saQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0tvbGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tvbGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tvbGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tvbGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Lb3JwaWxhaHRpX1ZhYXJ1bnZ1b3JpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Lb3JwaWxhaHRpX1ZhYXJ1bnZ1b3JpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdmYTNlZDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtvcnBpbGFodGlfVmFhcnVudnVvcmkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLb3JwaWxhaHRpX1ZhYXJ1bnZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLb3JwaWxhaHRpX1ZhYXJ1bnZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLb3JwaWxhaHRpX1ZhYXJ1bnZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLb3JwaWxhaHRpX1ZhYXJ1bnZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS29ycHBvbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS29ycHBvbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42Yzg0MjQxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Lb3JwcG9vCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS29ycHBvb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS29ycHBvb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS29ycHBvb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS29ycHBvb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtydXVudXB5eSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3J1dW51cHl5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY1ZDg2YzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtydXVudXB5eQpAQCAtMCwwICsxLDI4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0tydXVudXB5eV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3J1dW51cHl5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLcnV1bnVweXldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tydXVudXB5eV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3J1dW51cHl5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1aG1vX0hhdWtlbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1aG1vX0hhdWtlbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzNhM2JkOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9fSGF1a2VsYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0t1aG1vX0hhdWtlbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1aG1vX0hhdWtlbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1aG1vX0hhdWtlbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb19MZW50aWlyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9fTGVudGlpcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTEyNzk5OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9fTGVudGlpcmEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLdWhtb19MZW50aWlyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9fTGVudGlpcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1aG1vX0xlbnRpaXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9fTml2YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9fTml2YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZjdhYTJjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb19OaXZhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS3VobW9fTml2YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9fTml2YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9fTml2YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1aG1vaW5lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9pbmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUzZDJkZTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1aG1vaW5lbgpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0t1aG1vaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdWhtb2luZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1aG1vaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1aG1vaW5lbl9IYXJqdW5zYWxtaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9pbmVuX0hhcmp1bnNhbG1pCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA1OWRmOTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1aG1vaW5lbl9IYXJqdW5zYWxtaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0t1aG1vaW5lbl9IYXJqdW5zYWxtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9pbmVuX0hhcmp1bnNhbG1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdWhtb2luZW5fSGFyanVuc2FsbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1aG1vaW5lbl9IYXJqdW5zYWxtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1aG1vaW5lbl9QdXVra29pbmVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb2luZW5fUHV1a2tvaW5lbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMTNlMGY0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb2luZW5fUHV1a2tvaW5lbgpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0t1aG1vaW5lbl9QdXVra29pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdWhtb2luZW5fUHV1a2tvaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9pbmVuX1B1dWtrb2luZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdW9waW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1b3BpbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYjM5ZTVmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdW9waW8KQEAgLTAsMCArMSwyOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLdW9waW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1b3Bpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VvcGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdW9waW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1b3Bpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdXJpa2thX0tlc3RpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdXJpa2thX0tlc3RpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMzNGNmZTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1cmlra2FfS2VzdGkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLdXJpa2thX0tlc3RpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdXJpa2thX0tlc3RpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdXJpa2thX0tlc3RpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdXJpa2thX0tlc3RpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VzdGF2aV9WaWhlcmxhaHRpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdXN0YXZpX1ZpaGVybGFodGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWNlZjc0ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VzdGF2aV9WaWhlcmxhaHRpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS3VzdGF2aV9WaWhlcmxhaHRpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdXN0YXZpX1ZpaGVybGFodGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1c3RhdmlfVmloZXJsYWh0aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VzdGF2aV9WaWhlcmxhaHRpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3V1c2Ftb19IYW1wcHVsYW1waSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3V1c2Ftb19IYW1wcHVsYW1waQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42Y2U5MjQzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdXVzYW1vX0hhbXBwdWxhbXBpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS3V1c2Ftb19IYW1wcHVsYW1waV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3V1c2Ftb19IYW1wcHVsYW1waV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt5eWphcnZpX05vcG9zZW5haG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt5eWphcnZpX05vcG9zZW5haG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDNkZWFiOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3l5amFydmlfTm9wb3NlbmFobwpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0t5eWphcnZpX05vcG9zZW5haG9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t5eWphcnZpX05vcG9zZW5haG9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t5eWphcnZpX05vcG9zZW5haG9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYWh0aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTGFodGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjRjODliOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTGFodGkKQEAgLTAsMCArMSwzMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tMYWh0aS1BXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYWh0aS1CXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYWh0aS1DXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYWh0aS1FXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYWh0aS1EXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTGFodGktSF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXB1YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTGFwdWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTA4NDQ0MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTGFwdWEKQEAgLTAsMCArMSwyOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tMYXB1YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTGFwdWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhcHVhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYXB1YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTGFwdWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTGF1a2FhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXVrYWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2M0ODRhZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTGF1a2FhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTGF1a2FhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYXVrYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhdWthYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTGF1a2FhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTGF1a2FhX1ZpaHRhdnVvcmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxhdWthYV9WaWh0YXZ1b3JpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjViYzkzYTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxhdWthYV9WaWh0YXZ1b3JpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTGF1a2FhX1ZpaHRhdnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhdWthYV9WaWh0YXZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYXVrYWFfVmlodGF2dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTGF1a2FhX1ZpaHRhdnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXZpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTGF2aWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjJmMTM5MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTGF2aWEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tMYXZpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTGF2aWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhdmlhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTG9oamEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxvaGphCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQwNDBmOWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxvaGphCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTG9oamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xvaGphXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMb2hqYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTG9oamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Mb2ltYWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxvaW1hYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wYjZhYWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Mb2ltYWEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tMb2ltYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xvaW1hYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTG9pbWFhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMb2ltYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MdWhhbmthIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MdWhhbmthCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY2NDA3Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUx1aGFua2EKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tMdWhhbmthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMdWhhbmthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMdWhhbmthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMdWhhbmthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTHVvcGlvaW5lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTHVvcGlvaW5lbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZWQ0ZTNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MdW9waW9pbmVuCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTHVvcGlvaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTHVvcGlvaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTHVvcGlvaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTHVvcGlvaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU1hbnR0YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTWFudHRhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmUyMDE0MDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU1hbnR0YQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW01hbnR0YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTWFudHRhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tNYW50dGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW01hbnR0YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU1hbnR5aGFyanUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU1hbnR5aGFyanUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2I3ZjEyNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTWFudHloYXJqdQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW01hbnR5aGFyanVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW01hbnR5aGFyanVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW01hbnR5aGFyanVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1NaWtrZWxpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1NaWtrZWxpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY1MjM4NzgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU1pa2tlbGkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tNaWtrZWxpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tNaWtrZWxpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tNaWtrZWxpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tNaWtrZWxpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTXVvbmlvX09sb3N0dW50dXJpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1NdW9uaW9fT2xvc3R1bnR1cmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmZkZjBjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTXVvbmlvX09sb3N0dW50dXJpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTXVvbmlvX09sb3N0dW50dXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tNdW9uaW9fT2xvc3R1bnR1cmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OaWxzaWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5pbHNpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMDhkMWM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OaWxzaWEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tOaWxzaWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW05pbHNpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTmlsc2lhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOaWxzaWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OaWxzaWFfS2Vza2ktU2lpa2FqYXJ2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTmlsc2lhX0tlc2tpLVNpaWthamFydmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmZiYzU2MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTmlsc2lhX0tlc2tpLVNpaWthamFydmkKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tOaWxzaWFfS2Vza2ktU2lpa2FqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTmlsc2lhX0tlc2tpLVNpaWthamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW05pbHNpYV9LZXNraS1TaWlrYWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTmlsc2lhX1Bpc2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5pbHNpYV9QaXNhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhjOGVlMzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5pbHNpYV9QaXNhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTmlsc2lhX1Bpc2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW05pbHNpYV9QaXNhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOaWxzaWFfUGlzYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5va2lhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Ob2tpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yYTJiMzgwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Ob2tpYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW05va2lhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOb2tpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTm9raWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW05va2lhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTm9raWFfU2l1cm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5va2lhX1NpdXJvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFiYTNjY2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5va2lhX1NpdXJvCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTm9raWFfU2l1cm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW05va2lhX1NpdXJvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOb2tpYV9TaXVyb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTm9raWFfU2l1cm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OdW1taS1QdXN1bGFfSHlvbm9sYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVtbWktUHVzdWxhX0h5b25vbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDg4NDBjYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVtbWktUHVzdWxhX0h5b25vbGEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tOdW1taS1QdXN1bGFfSHlvbm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTnVtbWktUHVzdWxhX0h5b25vbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW051bW1pLVB1c3VsYV9IeW9ub2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOdW1taS1QdXN1bGFfSHlvbm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51b3JnYW1fTmphbGxhdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51b3JnYW1fTmphbGxhdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTFjMWMzZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVvcmdhbV9OamFsbGF2YWFyYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW051b3JnYW1fTmphbGxhdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW051b3JnYW1fTmphbGxhdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OdW9yZ2FtX3JhamEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51b3JnYW1fcmFqYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yYjJjYjNjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OdW9yZ2FtX3JhamEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tOdW9yZ2FtX3JhamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW051b3JnYW1fcmFqYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51cm1lc19Lb25uYW52YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVybWVzX0tvbm5hbnZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdjZDNkOTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51cm1lc19Lb25uYW52YWFyYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW051cm1lc19Lb25uYW52YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTnVybWVzX0tvbm5hbnZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOdXJtZXNfS29ubmFudmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW051cm1lc19Lb25uYW52YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51cm1lc19Lb3J0ZXZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OdXJtZXNfS29ydGV2YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZTExOGFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OdXJtZXNfS29ydGV2YWFyYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW051cm1lc19Lb3J0ZXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOdXJtZXNfS29ydGV2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTnVybWVzX0tvcnRldmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Pcml2ZXNpX1RhbHZpYWluZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU9yaXZlc2lfVGFsdmlhaW5lbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNDk3ODJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Pcml2ZXNpX1RhbHZpYWluZW4KQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tPcml2ZXNpX1RhbHZpYWluZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW09yaXZlc2lfVGFsdmlhaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbT3JpdmVzaV9UYWx2aWFpbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktT3VsdSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktT3VsdQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZTM5MDZhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1PdWx1CkBAIC0wLDAgKzEsMzMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbT3VsdS1BXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tPdWx1LUJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW091bHUtQ10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbT3VsdS1FXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tPdWx1LURdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tPdWx1LUhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGFkYXNqb2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYWRhc2pva2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDcyNDZiNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGFkYXNqb2tpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUGFkYXNqb2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYWRhc2pva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BhZGFzam9raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFkYXNqb2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGFkYXNqb2tpX0FycmFrb3NraSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGFkYXNqb2tpX0FycmFrb3NraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOGMxYjA1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYWRhc2pva2lfQXJyYWtvc2tpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUGFkYXNqb2tpX0FycmFrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFkYXNqb2tpX0FycmFrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFkYXNqb2tpX0FycmFrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFkYXNqb2tpX0FycmFrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhbHRhbW9fS2l2ZXN2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGFsdGFtb19LaXZlc3ZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU2ZjhiYTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhbHRhbW9fS2l2ZXN2YWFyYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1BhbHRhbW9fS2l2ZXN2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFsdGFtb19LaXZlc3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYWx0YW1vX0tpdmVzdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYXJhaW5lbl9Ib3V0c2thcmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhcmFpbmVuX0hvdXRza2FyaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lMTg3ODE0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYXJhaW5lbl9Ib3V0c2thcmkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQYXJhaW5lbl9Ib3V0c2thcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BhcmFpbmVuX0hvdXRza2FyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFyYWluZW5fSG91dHNrYXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYXJhaW5lbl9Ib3V0c2thcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYXJpa2thbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhcmlra2FsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMGY1MmY3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYXJpa2thbGEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQYXJpa2thbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1Bhcmlra2FsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFyaWtrYWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYXJpa2thbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYXJrYW5vX1NvcHVrYWxsaW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhcmthbm9fU29wdWthbGxpbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MmU4NTA3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYXJrYW5vX1NvcHVrYWxsaW8KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQYXJrYW5vX1NvcHVrYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1Bhcmthbm9fU29wdWthbGxpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFya2Fub19Tb3B1a2FsbGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYXJrYW5vX1NvcHVrYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QZWxsbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGVsbG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmNiZDI4ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGVsbG8KQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQZWxsb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGVsbG9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QZWxsb19SYXRhc3ZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QZWxsb19SYXRhc3ZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZmN2Y2NjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBlbGxvX1JhdGFzdmFhcmEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQZWxsb19SYXRhc3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQZWxsb19SYXRhc3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGVyaG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBlcmhvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBhN2EyZGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBlcmhvCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUGVyaG9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BlcmhvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQZXJob10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGVyaG9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QZXJuYWphIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QZXJuYWphCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU0NTllODgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBlcm5hamEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQZXJuYWphXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQZXJuYWphXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQZXJuYWphXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGlla3NhbWFraV9IYWxrb2t1bXB1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QaWVrc2FtYWtpX0hhbGtva3VtcHUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjAzZjlhMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGlla3NhbWFraV9IYWxrb2t1bXB1CkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUGlla3NhbWFraV9IYWxrb2t1bXB1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQaWVrc2FtYWtpX0hhbGtva3VtcHVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BpZWtzYW1ha2lfSGFsa29rdW1wdV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBpaHRpcHVkYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBpaHRpcHVkYXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDJjZGQyOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGlodGlwdWRhcwpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1BpaHRpcHVkYXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BpaHRpcHVkYXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BpaHRpcHVkYXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Qb3J2b29fU3VvbWVua3lsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUG9ydm9vX1N1b21lbmt5bGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2I1ZTc5ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUG9ydm9vX1N1b21lbmt5bGEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQb3J2b29fU3VvbWVua3lsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUG9ydm9vX1N1b21lbmt5bGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BvcnZvb19TdW9tZW5reWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQb3J2b29fU3VvbWVua3lsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBvc2lvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Qb3NpbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMjU4NjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Qb3NpbwpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1Bvc2lvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQb3Npb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB1ZGFzamFydmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB1ZGFzamFydmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGM4NWQ5YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHVkYXNqYXJ2aQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1B1ZGFzamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1B1ZGFzamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1B1ZGFzamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QdWRhc2phcnZpX0lzby1TeW90ZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHVkYXNqYXJ2aV9Jc28tU3lvdGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjRjZWJkZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHVkYXNqYXJ2aV9Jc28tU3lvdGUKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQdWRhc2phcnZpX0lzby1TeW90ZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHVkYXNqYXJ2aV9Jc28tU3lvdGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1B1ZGFzamFydmlfSXNvLVN5b3RlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHVkYXNqYXJ2aV9LYW5nYXN2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHVkYXNqYXJ2aV9LYW5nYXN2YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYjkxMTYzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QdWRhc2phcnZpX0thbmdhc3ZhYXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUHVkYXNqYXJ2aV9LYW5nYXN2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHVkYXNqYXJ2aV9LYW5nYXN2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB1b2xhbmthIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QdW9sYW5rYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMzcwYTlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QdW9sYW5rYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1B1b2xhbmthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQdW9sYW5rYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHVvbGFua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1B1b2xhbmthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHloYXR1bnR1cmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB5aGF0dW50dXJpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM1MDA1NzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB5aGF0dW50dXJpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUHloYXR1bnR1cmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1B5aGF0dW50dXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHloYXZ1b3JpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QeWhhdnVvcmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWQyMzI2NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHloYXZ1b3JpCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUHloYXZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQeWhhdnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1B5aGF2dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB5bGtvbm1ha2lfS2FyYW5rYWphcnZpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QeWxrb25tYWtpX0thcmFua2FqYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZDdlZjE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QeWxrb25tYWtpX0thcmFua2FqYXJ2aQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1B5bGtvbm1ha2lfS2FyYW5rYWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQeWxrb25tYWtpX0thcmFua2FqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHlsa29ubWFraV9LYXJhbmthamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYWFoZV9NZXN0YXVza2FsbGlvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYWFoZV9NZXN0YXVza2FsbGlvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU0Y2M3YjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhYWhlX01lc3RhdXNrYWxsaW8KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSYWFoZV9NZXN0YXVza2FsbGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSYWFoZV9NZXN0YXVza2FsbGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSYWFoZV9NZXN0YXVza2FsbGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSYWFoZV9NZXN0YXVza2FsbGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmFhaGVfUGllaGlua2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhYWhlX1BpZWhpbmtpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFiMzgzNmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhYWhlX1BpZWhpbmtpCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUmFhaGVfUGllaGlua2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JhYWhlX1BpZWhpbmtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSYWFoZV9QaWVoaW5raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhbnVhX0hhYXNpb25tYWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhbnVhX0hhYXNpb25tYWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODM3YTEwZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmFudWFfSGFhc2lvbm1hYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1JhbnVhX0hhYXNpb25tYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JhbnVhX0hhYXNpb25tYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYW51YV9MZXBwaWFobyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmFudWFfTGVwcGlhaG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTRkM2VlZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmFudWFfTGVwcGlhaG8KQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSYW51YV9MZXBwaWFob10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUmFudWFfTGVwcGlhaG9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYXV0YXZhYXJhX0FuZ2Vydmlra28gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhdXRhdmFhcmFfQW5nZXJ2aWtrbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jODllNGJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYXV0YXZhYXJhX0FuZ2Vydmlra28KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSYXV0YXZhYXJhX0FuZ2Vydmlra29dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JhdXRhdmFhcmFfQW5nZXJ2aWtrb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUmF1dGF2YWFyYV9BbmdlcnZpa2tvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSYXV0YXZhYXJhX0FuZ2Vydmlra29dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYXV0amFydmlfU2ltcGVsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmF1dGphcnZpX1NpbXBlbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmQ0YzI1NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmF1dGphcnZpX1NpbXBlbGUKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSYXV0amFydmlfU2ltcGVsZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUmF1dGphcnZpX1NpbXBlbGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JhdXRqYXJ2aV9TaW1wZWxlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmlzdGlqYXJ2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmlzdGlqYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43OWE1OGMzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SaXN0aWphcnZpCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUmlzdGlqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUmlzdGlqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUmlzdGlqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg3YTY1YjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1JvdmFuaWVtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUm92YW5pZW1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSb3ZhbmllbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWlfS2FpaHVhbnZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWlfS2FpaHVhbnZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM4MDhlYmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaV9LYWlodWFudmFhcmEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSb3ZhbmllbWlfS2FpaHVhbnZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSb3ZhbmllbWlfS2FpaHVhbnZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX0thcmh1dmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaV9LYXJodXZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA2OWVjYjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaV9LYXJodXZhYXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUm92YW5pZW1pX0thcmh1dmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JvdmFuaWVtaV9LYXJodXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX01hcmFzZW5rYWxsaW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaV9NYXJhc2Vua2FsbGlvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZjOGQ1NDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaV9NYXJhc2Vua2FsbGlvCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUm92YW5pZW1pX01hcmFzZW5rYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JvdmFuaWVtaV9NYXJhc2Vua2FsbGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX1JhbnRhbGFraSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX1JhbnRhbGFraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZTNlYTRjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWlfUmFudGFsYWtpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUm92YW5pZW1pX1JhbnRhbGFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUm92YW5pZW1pX1JhbnRhbGFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaV9Tb25rYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX1NvbmthCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkzMmI0MDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaV9Tb25rYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1JvdmFuaWVtaV9Tb25rYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUm92YW5pZW1pX1NvbmthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX1NvcnZpc2Vsa2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaV9Tb3J2aXNlbGthCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZlYjNiY2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaV9Tb3J2aXNlbGthCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUm92YW5pZW1pX1NvcnZpc2Vsa2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JvdmFuaWVtaV9Tb3J2aXNlbGthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUnVrYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUnVrYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZTQxZGRjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SdWthCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUnVrYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUnVrYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUnVrYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJ1b3Zlc2lfU3Rvcm1pbmllbWkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJ1b3Zlc2lfU3Rvcm1pbmllbWkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWM0NjVjYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUnVvdmVzaV9TdG9ybWluaWVtaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1J1b3Zlc2lfU3Rvcm1pbmllbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1J1b3Zlc2lfU3Rvcm1pbmllbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1J1b3Zlc2lfU3Rvcm1pbmllbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1J1b3Zlc2lfU3Rvcm1pbmllbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWFyaWphcnZpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWFyaWphcnZpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE4YzkyM2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhYXJpamFydmkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTYWFyaWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTYWFyaWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTYWFyaWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTYWFyaWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FhcmlqYXJ2aV9LYWxtYXJpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWFyaWphcnZpX0thbG1hcmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzdkNWFkZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FhcmlqYXJ2aV9LYWxtYXJpCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU2FhcmlqYXJ2aV9LYWxtYXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTYWFyaWphcnZpX0thbG1hcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhYXJpamFydmlfS2FsbWFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhYXJpamFydmlfTWFobHUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhYXJpamFydmlfTWFobHUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDgzMjRkMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FhcmlqYXJ2aV9NYWhsdQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NhYXJpamFydmlfTWFobHVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhYXJpamFydmlfTWFobHVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhYXJpamFydmlfTWFobHVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxsYV9IaXJ2YXN2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfSGlydmFzdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTE0MTBhMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfSGlydmFzdmFhcmEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTYWxsYV9IaXJ2YXN2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2FsbGFfSGlydmFzdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxsYV9JaGlzdHlzamFua2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX0loaXN0eXNqYW5rYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZDg1N2I1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxsYV9JaGlzdHlzamFua2EKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTYWxsYV9JaGlzdHlzamFua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhbGxhX0loaXN0eXNqYW5rYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX05hcnVza2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX05hcnVza2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDZiYzFiYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfTmFydXNrYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NhbGxhX05hcnVza2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhbGxhX05hcnVza2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxsYV9TYWxsYXR1bnR1cmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX1NhbGxhdHVudHVyaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NGE1NTU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxsYV9TYWxsYXR1bnR1cmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTYWxsYV9TYWxsYXR1bnR1cmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhbGxhX1NhbGxhdHVudHVyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX1Nhcml2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfU2FyaXZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmViOWJiYzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX1Nhcml2YWFyYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NhbGxhX1Nhcml2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2FsbGFfU2FyaXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2Fsb19Jc29reWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxvX0lzb2t5bGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDJkZjNiNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2Fsb19Jc29reWxhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU2Fsb19Jc29reWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTYWxvX0lzb2t5bGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhbG9fSXNva3lsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2Fsb19Jc29reWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2F2dWtvc2tpX01hcnR0aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2F2dWtvc2tpX01hcnR0aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYWZiZGNiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYXZ1a29za2lfTWFydHRpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU2F2dWtvc2tpX01hcnR0aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2F2dWtvc2tpX01hcnR0aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhdnVrb3NraV9UYW5odWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhdnVrb3NraV9UYW5odWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTFmNWZhNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2F2dWtvc2tpX1Rhbmh1YQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NhdnVrb3NraV9UYW5odWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhdnVrb3NraV9UYW5odWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TaWlsaW5qYXJ2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2lpbGluamFydmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2ZjMWY0NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2lpbGluamFydmkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTaWlsaW5qYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2lpbGluamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NpaWxpbmphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTaWlsaW5qYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNpbW9fVmlhbnRpZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2ltb19WaWFudGllCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU4MGM3YmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNpbW9fVmlhbnRpZQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NpbW9fVmlhbnRpZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2ltb19WaWFudGllXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTaW1vX1ZpYW50aWVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TaXBvb19Ob3Jya3VsbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNpcG9vX05vcnJrdWxsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYmZiNDEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TaXBvb19Ob3Jya3VsbGEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTaXBvb19Ob3Jya3VsbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NpcG9vX05vcnJrdWxsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2lwb29fTm9ycmt1bGxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTaXBvb19Ob3Jya3VsbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Tb2Rhbmt5bGFfUGl0dGlvdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNvZGFua3lsYV9QaXR0aW92YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMTIzZjY0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Tb2Rhbmt5bGFfUGl0dGlvdmFhcmEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTb2Rhbmt5bGFfUGl0dGlvdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NvZGFua3lsYV9QaXR0aW92YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNvZGFua3lsYV9WdW90c28gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNvZGFua3lsYV9WdW90c28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWM2MGI3NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU29kYW5reWxhX1Z1b3RzbwpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NvZGFua3lsYV9WdW90c29dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NvZGFua3lsYV9WdW90c29dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdWxrYXZhX1ZhYXRhbGFubWFraSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU3Vsa2F2YV9WYWF0YWxhbm1ha2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzFiZGQ2MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU3Vsa2F2YV9WYWF0YWxhbm1ha2kKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTdWxrYXZhX1ZhYXRhbGFubWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU3Vsa2F2YV9WYWF0YWxhbm1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1N1bGthdmFfVmFhdGFsYW5tYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU3VvbXVzc2FsbWlfQWxhLVZ1b2traSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU3VvbXVzc2FsbWlfQWxhLVZ1b2traQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wODc4YTg4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdW9tdXNzYWxtaV9BbGEtVnVva2tpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU3VvbXVzc2FsbWlfQWxhLVZ1b2traV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU3VvbXVzc2FsbWlfQWxhLVZ1b2traV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVN1b211c3NhbG1pX0FtbWFuc2FhcmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVN1b211c3NhbG1pX0FtbWFuc2FhcmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWFmY2VmZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU3VvbXVzc2FsbWlfQW1tYW5zYWFyaQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1N1b211c3NhbG1pX0FtbWFuc2FhcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1N1b211c3NhbG1pX0FtbWFuc2FhcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdW9tdXNzYWxtaV9KdW50dXNyYW50YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU3VvbXVzc2FsbWlfSnVudHVzcmFudGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjZjNGU1YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU3VvbXVzc2FsbWlfSnVudHVzcmFudGEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTdW9tdXNzYWxtaV9KdW50dXNyYW50YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU3VvbXVzc2FsbWlfSnVudHVzcmFudGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdW9tdXNzYWxtaV9NeWxseWxhaHRpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdW9tdXNzYWxtaV9NeWxseWxhaHRpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk2MzA5NzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVN1b211c3NhbG1pX015bGx5bGFodGkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTdW9tdXNzYWxtaV9NeWxseWxhaHRpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTdW9tdXNzYWxtaV9NeWxseWxhaHRpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU3lzbWFfTGlpa29sYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU3lzbWFfTGlpa29sYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZGI0NDI0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TeXNtYV9MaWlrb2xhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU3lzbWFfTGlpa29sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU3lzbWFfTGlpa29sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU3lzbWFfTGlpa29sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU3lzbWFfTGlpa29sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhaXZhbGtvc2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UYWl2YWxrb3NraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMzA3YWU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UYWl2YWxrb3NraQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1RhaXZhbGtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUYWl2YWxrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhaXZhbGtvc2tpX1RhaXZhbHZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UYWl2YWxrb3NraV9UYWl2YWx2YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZjgxYmYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UYWl2YWxrb3NraV9UYWl2YWx2YWFyYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1RhaXZhbGtvc2tpX1RhaXZhbHZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUYWl2YWxrb3NraV9UYWl2YWx2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhbW1lbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhbW1lbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjUzN2JlZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtbWVsYQpAQCAtMCwwICsxLDI4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1RhbW1lbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1RhbW1lbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1RhbW1lbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1RhbW1lbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1RhbW1lbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtbWlzYWFyaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtbWlzYWFyaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MjQ4ZmQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UYW1taXNhYXJpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVGFtbWlzYWFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtbWlzYWFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtbWlzYWFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtbWlzYWFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhbXBlcmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhbXBlcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjdjZjNhNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtcGVyZQpAQCAtMCwwICsxLDMzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1RhbXBlcmUtQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtcGVyZS1CXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUYW1wZXJlLUNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1RhbXBlcmUtRV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtcGVyZS1EXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtcGVyZS1IXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhbXBlcmVfUHl5bmlra2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhbXBlcmVfUHl5bmlra2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDNlOGVjYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtcGVyZV9QeXluaWtraQpAQCAtMCwwICsxLDI4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1RhbXBlcmVfUHl5bmlra2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1RhbXBlcmVfUHl5bmlra2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1RhbXBlcmVfUHl5bmlra2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1RhbXBlcmVfUHl5bmlra2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1RhbXBlcmVfUHl5bmlra2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGVydm9sYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGVydm9sYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMmMyZDk0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UZXJ2b2xhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVGVydm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGVydm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGVydm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVR1cmt1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UdXJrdQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lMzkwN2E2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UdXJrdQpAQCAtMCwwICsxLDMzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1R1cmt1LUFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1R1cmt1LUJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1R1cmt1LUNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1R1cmt1LUVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1R1cmt1LURdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUdXJrdS1IXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjg4NGExNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXRzam9raQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1V0c2pva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1V0c2pva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX051dnZ1cyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXRzam9raV9OdXZ2dXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjZkMzVhMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXRzam9raV9OdXZ2dXMKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tVdHNqb2tpX051dnZ1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVXRzam9raV9OdXZ2dXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX091dGFrb3NraSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXRzam9raV9PdXRha29za2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTNhNzVhZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXRzam9raV9PdXRha29za2kKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tVdHNqb2tpX091dGFrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVXRzam9raV9PdXRha29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX1BvbHZhcm5pZW1pIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX1BvbHZhcm5pZW1pCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBlZTRjZWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfUG9sdmFybmllbWkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tVdHNqb2tpX1BvbHZhcm5pZW1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tVdHNqb2tpX1BvbHZhcm5pZW1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXRzam9raV9Sb3Zpc3V2YW50byBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXRzam9raV9Sb3Zpc3V2YW50bwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NDU5YThkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX1JvdmlzdXZhbnRvCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVXRzam9raV9Sb3Zpc3V2YW50b10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVXRzam9raV9Sb3Zpc3V2YW50b10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfVGVub2xhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX1Rlbm9sYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NjUwNDM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX1Rlbm9sYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1V0c2pva2lfVGVub2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tVdHNqb2tpX1Rlbm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV1c2lrYXVwdW5raV9Pcml2byBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXVzaWthdXB1bmtpX09yaXZvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiZTFmN2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV1c2lrYXVwdW5raV9Pcml2bwpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1V1c2lrYXVwdW5raV9Pcml2b10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVXVzaWthdXB1bmtpX09yaXZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tVdXNpa2F1cHVua2lfT3Jpdm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1V1c2lrYXVwdW5raV9Pcml2b10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhYWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYWFsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NmU4NzczCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYWFsYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1ZhYWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYWFsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFhbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYWFzYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFhc2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzgyNjMxMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFhc2EKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tWYWFzYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFhc2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1ZhYXNhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFsdGltbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFsdGltbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MWU4MjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYWx0aW1vCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVmFsdGltb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFsdGltb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFsdGltb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhbW1hbGFfSnlyYW52dW9yaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFtbWFsYV9KeXJhbnZ1b3JpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI2NTgyYTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhbW1hbGFfSnlyYW52dW9yaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1ZhbW1hbGFfSnlyYW52dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFtbWFsYV9KeXJhbnZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYW1tYWxhX0p5cmFudnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1ZhbW1hbGFfSnlyYW52dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhbW1hbGFfUm9pc21hbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhbW1hbGFfUm9pc21hbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTNmMzc5MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFtbWFsYV9Sb2lzbWFsYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1ZhbW1hbGFfUm9pc21hbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1ZhbW1hbGFfUm9pc21hbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1ZhbW1hbGFfUm9pc21hbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYW1tYWxhX1NhdmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhbW1hbGFfU2F2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xODlhZmI0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYW1tYWxhX1NhdmkKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tWYW1tYWxhX1NhdmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1ZhbW1hbGFfU2F2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFtbWFsYV9TYXZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFudGFhX0hha3VuaWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYW50YWFfSGFrdW5pbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWY0OTNhMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFudGFhX0hha3VuaWxhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVmFudGFhX0hha3VuaWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYW50YWFfSGFrdW5pbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1ZhbnRhYV9IYWt1bmlsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFudGFhX0hha3VuaWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFycGFpc2phcnZpX0hvbmthbWFraSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFycGFpc2phcnZpX0hvbmthbWFraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41YmRmOTc0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYXJwYWlzamFydmlfSG9ua2FtYWtpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVmFycGFpc2phcnZpX0hvbmthbWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFycGFpc2phcnZpX0hvbmthbWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFycGFpc2phcnZpX0hvbmthbWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFycGFpc2phcnZpX0hvbmthbWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZpcnJhdF9MYXBwYXZ1b3JpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WaXJyYXRfTGFwcGF2dW9yaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MWYxMmIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WaXJyYXRfTGFwcGF2dW9yaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1ZpcnJhdF9MYXBwYXZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWaXJyYXRfTGFwcGF2dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmlycmF0X0xhcHBhdnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1ZpcnJhdF9MYXBwYXZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVnVva2F0dGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZ1b2thdHRpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVhNzhjZjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZ1b2thdHRpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVnVva2F0dGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1Z1b2thdHRpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWdW9rYXR0aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVnVva2F0dGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ZbGl0b3JuaW9fQWluaW92YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktWWxpdG9ybmlvX0FpbmlvdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWJkNzJiOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktWWxpdG9ybmlvX0FpbmlvdmFhcmEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tZbGl0b3JuaW9fQWluaW92YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbWWxpdG9ybmlvX0FpbmlvdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1lsaXRvcm5pb19BaW5pb3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktWWxpdG9ybmlvX1JhYW51amFydmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVlsaXRvcm5pb19SYWFudWphcnZpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg4NWMxOGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVlsaXRvcm5pb19SYWFudWphcnZpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbWWxpdG9ybmlvX1JhYW51amFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1lsaXRvcm5pb19SYWFudWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktWWxsYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVlsbGFzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA0ODhjZmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVlsbGFzCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbWWxsYXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1lsbGFzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktWWxsYXNqYXJ2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktWWxsYXNqYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NzkwMDg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ZbGxhc2phcnZpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbWWxsYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbWWxsYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZyLUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZnItQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMzZWJhMTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZyLUFsbApAQCAtMCwwICsxLDQ4MSBAQAorIyBGcmFuY2UgQUxMIChBbGwgY2hhbm5lbCAyMSB0byA2MCkKK1tVSEYgMjFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDIyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAyM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDI1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAyNl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMjddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDI4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAyOV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMzBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDMxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAzMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMzNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDM0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAzNV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMzZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDM3XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAzOF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMzldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDQwXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA0MV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDQzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA0NF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNDVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDQ2XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA0N10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNDhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDQ5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA1MF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNTFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDUyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA1M10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNTRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDU1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA1Nl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNTddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDU4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA1OV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNjBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2dyLUF0aGVucyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZ3ItQXRoZW5zCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI4ZTZjMDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2dyLUF0aGVucwpAQCAtMCwwICsxLDk1IEBACisjIEluaXRpYWwgc2NhbiBjb25maWcgZm9yIERWQi1UIGluIEF0aGVucyBHcmVlY2UKKyMgQ3JlYXRlZCBmcm9tIHRoZSBmcmVxdWVuY2llcyBsaXN0ZWQgaW4KKyMgaHR0cDovL3d3dy5zYXRzcG90LmdyL3RlbGV2aXNpb24vY2hhbm5lbHMvMTYwLXR2LXNpeG5vdGl0ZXMtYXR0aWtpCisjIGFuZCB0aGUgYWN0dWFsIHNlcnZpY2UgbmFtZXMgZm9yIGNvbW1lbnRzLgorCisjIEFSVCwgQU5UMSwgQUxQSEEsIEUKK1tEaWdlYSAwMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTVEFSLCBNLnR2LCBTS0FJLCBNRUdBCitbRGlnZWEgMDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVm91bGksIEtvc21vcywgTiBQbHVzLCBEZXV0ZXJvLCBOMSwgTiBIRCwgVHJpdG8sIFByb3RvCitbRFQgRElHSVRBTCAwMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBEVywgUFJPVE8sIEtPU01PUywgUklLLCBUUklUTywgVFYgNSwgRXVyb3BlLCBCQkMgV29ybGQgTmV3cworW0RUIERJR0lUQUwgMDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQkxVRSBTS1ksIEFUVElDQSBUViwgQUIgQ0hBTk5FTCwgQ0hBTk5FTCA5LCBBQ1RJT04yNAorW01VTFRJIEFUVElLSSAwMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBLT05UUkEsIE1BRCBUViwgRVhUUkEgQ0hBTk5FTCwgSElHSCBUVgorW01VTFRJIEFUVElLSSAwMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOSUNLRUxPREVPTiwgU01JTEUsIFNCQywgTVRWIEdSRUVDRQorW01VTFRJIEFUVElLSSAwM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaGstSG9uZ0tvbmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2hrLUhvbmdLb25nCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFlMmQxMzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2hrLUhvbmdLb25nCkBAIC0wLDAgKzEsOTQgQEAKKyMgSG9uZyBLb25nIChETUItVEgpCisKKyMgVFZCIChiYW5kIDM1KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBVFYgKGJhbmQgMzcpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU2ltdWxjYXN0IChiYW5kIDIyKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTaW11bGNhc3QgKGJhbmQgMzApCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNpbXVsY2FzdCAoYmFuZCAzMikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2ltdWxjYXN0IChiYW5kIDQwKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTaW11bGNhc3QgKGJhbmQgNDMpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2hyLUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHItQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI5MTkwOTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2hyLUFsbApAQCAtMCwwICsxLDMxNSBAQAorIyBDcm9hdGlhLCB3aG9sZSBjb3VudHJ5CisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3Lm9pdi5oci9icm9hZGNhc3RpbmcvdGFibGVzL2R0dl9oci5hc3B4CisjIGFuZCBmcm9tIGh0dHA6Ly93d3cub2l2LmhyL2Jyb2FkY2FzdGluZy90YWJsZXMvZHR2X2NoYW5uZWxfaHIuYXNweAorW0QxIE1VWERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tEMiBNVVhBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDQgTVVYQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0Q1IE1VWEEsIEQ5IE1VWERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tENSBNVVhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW2Q3MiBNVVhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDYgTVVYQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0Q3IE1VWERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tEOCBNVVhBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDggTVVYRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW2Q3MSBNVVhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDMgTVVYRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0QxIE1VWEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tEMiBNVVhCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDQgTVVYRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0QxIE1VWEIsIEQzIE1VWEEsIEQ2IE1VWEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tENSBNVVhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1NMTyBNVVhBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDMgTVVYQiwgRDQgTVVYQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0Q3IE1VWEEsIEQ5IE1VWEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tENSBNVVhCLCBEOCBNVVhCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDYgTVVYRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1R1c3RpIFZyaCBNVVhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDIgTVVYRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0Q3IE1VWEIsIEQ5IE1VWEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tENSBNRk5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUJla2VzY3NhYmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUJla2VzY3NhYmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGFjMmU3YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtQmVrZXNjc2FiYQpAQCAtMCwwICsxLDUzIEBACisjIEh1bmdhcnkgLyBCZWtlc2NzYWJhCisjCisjIEEubXVsdGlwbGV4IFVIRi0zODoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtNTQ6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjU6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1CdWRhcGVzdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtQnVkYXBlc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjRjMTdiMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtQnVkYXBlc3QKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gQnVkYXBlc3QKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTM4OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi01NToKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEMubXVsdGlwbGV4IFVIRi02MjoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUNzYXZvbHktS2lza29yb3MgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUNzYXZvbHktS2lza29yb3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWI4ODM3MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtQ3Nhdm9seS1LaXNrb3JvcwpAQCAtMCwwICsxLDQyIEBACisjIEh1bmdhcnkgLyBDc2F2b2x5LUtpc2tvcm9zCisjCisjIEEubXVsdGlwbGV4IFVIRi00NToKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMDA6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCisjIFQgNzQ2MDAwMDAwIDhNSHogMy80IE5PTkUgUUFNNjQgOGsgMS80IE5PTkUKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTY4OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtRGVicmVjZW4tS29tYWRpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1EZWJyZWNlbi1Lb21hZGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzM5NTkzOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtRGVicmVjZW4tS29tYWRpCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIERlYnJlY2VuLUtvbWFkaQorIworIyBBLm11bHRpcGxleCBVSEYtNDY6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTUxOgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTYyOgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtRmVoZXJneWFybWF0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1GZWhlcmd5YXJtYXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGJmZGRhMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtRmVoZXJneWFybWF0CkBAIC0wLDAgKzEsNDIgQEAKKyMgSHVuZ2FyeSAvIEZlaGVyZ3lhcm1hdAorIworIyBBLm11bHRpcGxleCBVSEYtNTg6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTAwOgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorIyBUIDcxNDAwMDAwMCA4TUh6IDMvNCBOT05FIFFBTTY0IDhrIDEvNCBOT05FCisjCisjIEMubXVsdGlwbGV4IFVIRi0zODoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUdlcmVjc2UtRG9yb2ctVGF0YWJhbnlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1HZXJlY3NlLURvcm9nLVRhdGFiYW55YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xYTE0Nzk1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1HZXJlY3NlLURvcm9nLVRhdGFiYW55YQpAQCAtMCwwICsxLDUzIEBACisjIEh1bmdhcnkgLyBHZXJlY3NlLURvcm9nLVRhdGFiYW55YQorIworIyBBLm11bHRpcGxleCBVSEYtNjQ6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTI5OgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTYzOgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtR3lvciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtR3lvcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZWNkNTljCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1HeW9yCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIEd5b3IKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTQyOgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi0yNToKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEMubXVsdGlwbGV4IFVIRi02MToKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUthYmhlZ3ktS2Fwb3N2YXItVGFtYXNpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LYWJoZWd5LUthcG9zdmFyLVRhbWFzaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YzVjYmZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LYWJoZWd5LUthcG9zdmFyLVRhbWFzaQpAQCAtMCwwICsxLDQyIEBACisjIEh1bmdhcnkgLyBLYWJoZWd5LUthcG9zdmFyLVRhbWFzaQorIworIyBBLm11bHRpcGxleCBVSEYtNjQ6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTAwOgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorIyBUIDUwNjAwMDAwMCA4TUh6IDMvNCBOT05FIFFBTTY0IDhrIDEvNCBOT05FCisjCisjIEMubXVsdGlwbGV4IFVIRi02MToKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUthcmFuY3MtTmFneS1IaWRlZy1oZWd5LUJhbGFzc2FneWFybWF0LUdvZG9sbG8tU2FsZ290YXJqYW4tVmFjIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LYXJhbmNzLU5hZ3ktSGlkZWctaGVneS1CYWxhc3NhZ3lhcm1hdC1Hb2RvbGxvLVNhbGdvdGFyamFuLVZhYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yYjJjYWI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LYXJhbmNzLU5hZ3ktSGlkZWctaGVneS1CYWxhc3NhZ3lhcm1hdC1Hb2RvbGxvLVNhbGdvdGFyamFuLVZhYwpAQCAtMCwwICsxLDUzIEBACisjIEh1bmdhcnkgLyBLYXJhbmNzLU5hZ3ktSGlkZWctaGVneS1CYWxhc3NhZ3lhcm1hdC1Hb2RvbGxvLVNhbGdvdGFyamFuLVZhYworIworIyBBLm11bHRpcGxleCBVSEYtMzg6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTU1OgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTYyOgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtS2FyY2FnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LYXJjYWcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWU2MzkwYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtS2FyY2FnCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIEthcmNhZworIworIyBBLm11bHRpcGxleCBVSEYtNDY6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTMwOgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTY0OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtS2Vjc2tlbWV0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LZWNza2VtZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2Y5ZmZhZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtS2Vjc2tlbWV0CkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIEtlY3NrZW1ldAorIworIyBBLm11bHRpcGxleCBVSEYtNTY6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTM5OgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTY4OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtS2VrZXMtQ2VnbGVkLUVnZXItTWlza29sY3RhcG9sY2EtT3pkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LZWtlcy1DZWdsZWQtRWdlci1NaXNrb2xjdGFwb2xjYS1PemQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNThhZmNkOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtS2VrZXMtQ2VnbGVkLUVnZXItTWlza29sY3RhcG9sY2EtT3pkCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIEtla2VzLUNlZ2xlZC1NaXNrb2xjdGFwb2xjYQorIworIyBBLm11bHRpcGxleCBVSEYtNDQ6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTM5OgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTY5OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtTWlza29sYy1BZ2d0ZWxlay1Gb255IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1NaXNrb2xjLUFnZ3RlbGVrLUZvbnkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzYxYWM1YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtTWlza29sYy1BZ2d0ZWxlay1Gb255CkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIE1pc2tvbGMtQWdndGVsZWstRm9ueQorIworIyBBLm11bHRpcGxleCBVSEYtNDU6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTMxOgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTYzOgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtTW9yLVNpb2Zvay1WZXN6cHJlbS1aaXJjIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Nb3ItU2lvZm9rLVZlc3pwcmVtLVppcmMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2MyZTMyYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtTW9yLVNpb2Zvay1WZXN6cHJlbS1aaXJjCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIE1vci1TaW9mb2stVmVzenByZW0tWmlyYworIworIyBBLm11bHRpcGxleCBVSEYtNjQ6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTI5OgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjE6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1OYWd5a2FuaXpzYS1CYXJjcy1LZXN6dGhlbHkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LU5hZ3lrYW5penNhLUJhcmNzLUtlc3p0aGVseQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZTBlZTA3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1OYWd5a2FuaXpzYS1CYXJjcy1LZXN6dGhlbHkKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gTmFneWthbml6c2EtQmFyY3MtS2VzenRoZWx5CisjCisjIEEubXVsdGlwbGV4IFVIRi0yNDoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtNTU6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjU6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1OeWlyZWd5aGF6YS1Ub2thai1LYXppbmNiYXJjaWthLVNhbHktU2F0b3JhbGphdWpoZWx5IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1OeWlyZWd5aGF6YS1Ub2thai1LYXppbmNiYXJjaWthLVNhbHktU2F0b3JhbGphdWpoZWx5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAzZjhlOTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LU55aXJlZ3loYXphLVRva2FqLUthemluY2JhcmNpa2EtU2FseS1TYXRvcmFsamF1amhlbHkKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gTnntcmVneWhhemEtVG9rYWotS3ppbmNiYXJjaWthLVNhbHktU2F0b3JhbGphdWpoZWx5CisjCisjIEEubXVsdGlwbGV4IFVIRi02ODoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMzE6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjM6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1QZWNzLVNpa2xvcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtUGVjcy1TaWtsb3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjU0OTdjOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtUGVjcy1TaWtsb3MKQEAgLTAsMCArMSw0MiBAQAorIyBIdW5nYXJ5IC8gUGVjcy1TaWtsb3MKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTUyOgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi0wMDoKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKKyMgVCA1NTQwMDAwMDAgOE1IeiAzLzQgTk9ORSBRQU02NCA4ayAxLzQgTk9ORQorIworIyBDLm11bHRpcGxleCBVSEYtNjc6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Tb3Byb24tS29zemVnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Tb3Byb24tS29zemVnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRhOWIwODAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVNvcHJvbi1Lb3N6ZWcKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gU29wcm9uLUtvc3plZworIworIyBBLm11bHRpcGxleCBVSEYtNDI6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTQwOgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTY4OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtU3plZ2VkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1TemVnZWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWZhMmFhMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtU3plZ2VkCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIFN6ZWdlZAorIworIyBBLm11bHRpcGxleCBVSEYtNjA6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTIyOgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTY1OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtU3pla2VzZmVoZXJ2YXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVN6ZWtlc2ZlaGVydmFyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY5YjIxNjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVN6ZWtlc2ZlaGVydmFyCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIFN6ZWtlc2ZlaGVydmFyCisjCisjIEEubXVsdGlwbGV4IFVIRi0zMDoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMjk6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjM6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1TemVudGVzLUJhdHRvbnlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1TemVudGVzLUJhdHRvbnlhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM0Zjc1NmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVN6ZW50ZXMtQmF0dG9ueWEKQEAgLTAsMCArMSw0MiBAQAorIyBIdW5nYXJ5IC8gU3plbnRlcy1CYXR0b255YQorIworIyBBLm11bHRpcGxleCBVSEYtNjA6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTAwOgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCisjIFQgNTM4MDAwMDAwIDhNSHogMy80IE5PTkUgUUFNNjQgOGsgMS80IE5PTkUKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTY1OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtU3pvbG5vayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtU3pvbG5vawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xZjM3MWUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Tem9sbm9rCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIFN6b2xub2sKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTU2OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi0zMDoKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTY0OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtU3pvbWJhdGhlbHktVmFzdmFyLUxlbnRpLVphbGFlZ2Vyc3plZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtU3pvbWJhdGhlbHktVmFzdmFyLUxlbnRpLVphbGFlZ2Vyc3plZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ODc3YjRjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Tem9tYmF0aGVseS1WYXN2YXItTGVudGktWmFsYWVnZXJzemVnCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIFN6b21iYXRoZWx5LVZhc3Zhci1MZW50aS1aYWxhZWdlcnN6ZWcKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTM4OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi01ODoKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTY4OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtVXpkLUJvbnloYWQtRHVuYXVqdmFyb3MtU3pla3N6YXJkLVN6aWdldHZhciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtVXpkLUJvbnloYWQtRHVuYXVqdmFyb3MtU3pla3N6YXJkLVN6aWdldHZhcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ODA3NWU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1VemQtQm9ueWhhZC1EdW5hdWp2YXJvcy1TemVrc3phcmQtU3ppZ2V0dmFyCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIFV6ZC1Cb255aGFkLUR1bmF1anZhcm9zLVN6ZWtzemFyZC1TemlnZXR2YXIKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTUyOgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi0zNzoKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTY3OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtQ2Fpcm5IaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1DYWlybkhpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDNhNWRjNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtQ2Fpcm5IaWxsCkBAIC0wLDAgKzEsMjYgQEAKKyMgSXJlbGFuZCwgQ2Fpcm4gSGlsbAorIyBHZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmNvbXJlZy5pZS9fZmlsZXVwbG9hZC9Ccm9hZGNhc3RfVGVjaG5pY2FsX1BhcmFtZXRlcnMueGxzeAorW0NINDc6IFNhb3J2aWV3IE1VWDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NDogU2FvcnZpZXcgTVVYMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtQ2xlcm1vbnRDYXJuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1DbGVybW9udENhcm4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODFmMTdkMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtQ2xlcm1vbnRDYXJuCkBAIC0wLDAgKzEsMjYgQEAKKyMgSXJlbGFuZCwgQ2xlcm1vbnQgQ2FybgorIyBHZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmNvbXJlZy5pZS9fZmlsZXVwbG9hZC9Ccm9hZGNhc3RfVGVjaG5pY2FsX1BhcmFtZXRlcnMueGxzeAorW0NINTI6IFNhb3J2aWV3IE1VWDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1NjogU2FvcnZpZXcgTVVYMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtRHVuZ2FydmFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1EdW5nYXJ2YW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWMyY2NkOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtRHVuZ2FydmFuCkBAIC0wLDAgKzEsMjYgQEAKKyMgSXJlbGFuZCwgRHVuZ2FydmFuCisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuY29tcmVnLmllL19maWxldXBsb2FkL0Jyb2FkY2FzdF9UZWNobmljYWxfUGFyYW1ldGVycy54bHN4CitbQ0g1NTogU2FvcnZpZXcgTVVYMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU5OiBTYW9ydmlldyBNVVgyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1Ib2x5d2VsbEhpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUhvbHl3ZWxsSGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41YmIyYzU4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1Ib2x5d2VsbEhpbGwKQEAgLTAsMCArMSwyNiBAQAorIyBJcmVsYW5kLCBIb2x5d2VsbCBIaWxsCisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuY29tcmVnLmllL19maWxldXBsb2FkL0Jyb2FkY2FzdF9UZWNobmljYWxfUGFyYW1ldGVycy54bHN4CitbQ0gzMDogU2FvcnZpZXcgTVVYMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMzOiBTYW9ydmlldyBNVVgyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1LaXBwdXJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1LaXBwdXJlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhN2EzYmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUtpcHB1cmUKQEAgLTAsMCArMSwyNiBAQAorIyBJcmVsYW5kLCBLaXBwdXJlCisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuY29tcmVnLmllL19maWxldXBsb2FkL0Jyb2FkY2FzdF9UZWNobmljYWxfUGFyYW1ldGVycy54bHN4CitbQ0g1NDogU2FvcnZpZXcgTVVYMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU4OiBTYW9ydmlldyBNVVgyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1NYWdoZXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1NYWdoZXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU4N2FjZDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLU1hZ2hlcmEKQEAgLTAsMCArMSwyNiBAQAorIyBJcmVsYW5kLCBNYWdoZXJhCisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuY29tcmVnLmllL19maWxldXBsb2FkL0Jyb2FkY2FzdF9UZWNobmljYWxfUGFyYW1ldGVycy54bHN4CitbQ0g0ODogU2FvcnZpZXcgTVVYMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU1OiBTYW9ydmlldyBNVVgyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1Nb3VudExlaW5zdGVyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1Nb3VudExlaW5zdGVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYwNDMwYTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLU1vdW50TGVpbnN0ZXIKQEAgLTAsMCArMSwyNiBAQAorIyBJcmVsYW5kLCBNb3VudCBMZWluc3RlcgorIyBHZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmNvbXJlZy5pZS9fZmlsZXVwbG9hZC9Ccm9hZGNhc3RfVGVjaG5pY2FsX1BhcmFtZXRlcnMueGxzeAorW0NIMjM6IFNhb3J2aWV3IE1VWDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNjogU2FvcnZpZXcgTVVYMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtTXVsbGFnaGFuaXNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1NdWxsYWdoYW5pc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWViN2NlYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtTXVsbGFnaGFuaXNoCkBAIC0wLDAgKzEsMjYgQEAKKyMgSXJlbGFuZCwgTXVsbGFnaGFuaXNoCisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuY29tcmVnLmllL19maWxldXBsb2FkL0Jyb2FkY2FzdF9UZWNobmljYWxfUGFyYW1ldGVycy54bHN4CitbQ0gyMTogU2FvcnZpZXcgTVVYMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI0OiBTYW9ydmlldyBNVVgyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1TcHVySGlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtU3B1ckhpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTY3ODJmZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtU3B1ckhpbGwKQEAgLTAsMCArMSwyNiBAQAorIyBJcmVsYW5kLCBTcHVyIEhpbGwKKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5jb21yZWcuaWUvX2ZpbGV1cGxvYWQvQnJvYWRjYXN0X1RlY2huaWNhbF9QYXJhbWV0ZXJzLnhsc3gKK1tDSDQ1OiBTYW9ydmlldyBNVVgxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDk6IFNhb3J2aWV3IE1VWDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLVRocmVlUm9jayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtVGhyZWVSb2NrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdkZjY0OGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLVRocmVlUm9jawpAQCAtMCwwICsxLDI2IEBACisjIElyZWxhbmQsIFRocmVlIFJvY2sKKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5jb21yZWcuaWUvX2ZpbGV1cGxvYWQvQnJvYWRjYXN0X1RlY2huaWNhbF9QYXJhbWV0ZXJzLnhsc3gKK1tDSDMwOiBTYW9ydmlldyBNVVgxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzM6IFNhb3J2aWV3IE1VWDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLVRydXNrbW9yZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtVHJ1c2ttb3JlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgzODQyOWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLVRydXNrbW9yZQpAQCAtMCwwICsxLDI2IEBACisjIElyZWxhbmQsIFRydXNrbW9yZQorIyBHZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmNvbXJlZy5pZS9fZmlsZXVwbG9hZC9Ccm9hZGNhc3RfVGVjaG5pY2FsX1BhcmFtZXRlcnMueGxzeAorW0NINTM6IFNhb3J2aWV3IE1VWDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1NzogU2FvcnZpZXcgTVVYMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtV29vZGNvY2tIaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1Xb29kY29ja0hpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDY1ZTZmYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtV29vZGNvY2tIaWxsCkBAIC0wLDAgKzEsMjYgQEAKKyMgSXJlbGFuZCwgV29vZGNvY2sgSGlsbAorIyBHZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmNvbXJlZy5pZS9fZmlsZXVwbG9hZC9Ccm9hZGNhc3RfVGVjaG5pY2FsX1BhcmFtZXRlcnMueGxzeAorW0NINDc6IFNhb3J2aWV3IE1VWDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NDogU2FvcnZpZXcgTVVYMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWwtQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pbC1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTRlMmI1ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWwtQWxsCkBAIC0wLDAgKzEsMjYgQEAKKyMgSXNyYWVsLCBJc3JhZWwgQnJvYWRjYXN0aW5nIEF1dGhvcml0eSdzIHRyYW5zbWl0dGVycworIyBHZW5lcmF0ZWQgZnJvbSBsaXN0IGluIGh0dHA6Ly93d3cuaWJhLm9yZy5pbC9yZWNlcHRpb24vCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaXItVGVocmFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pci1UZWhyYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWMyOGE3NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaXItVGVocmFuCkBAIC0wLDAgKzEsMjUgQEAKKyMgRFZCLVQgVGVocmFuCitbSVJJQi1UVjEvMi8zLzQvNSwgSVJJTk4sIEFNT1VaRVNILCBRVVJBTi1UVl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1BSRVNTIFRWLCBBTC1BTEFNLCBBTC1LT1VTQVIsIEpBQU1FSkFNIDEsIElSSUIgTU9TVEFOQUQsIElSSUIgT1NUQU5JXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2lzLVJleWtqYXZpayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaXMtUmV5a2phdmlrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM4OThhNmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2lzLVJleWtqYXZpawpAQCAtMCwwICsxLDIyNiBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBmaWxlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHdfc2NhbgorIyAoaHR0cDovL3dpcmJlbC5odHBjLWZvcnVtLmRlL3dfc2Nhbi9pbmRleDIuaHRtbCkKKyMhIDx3X3NjYW4+IDIwMTAwMzE2IDEgMCBPRkRNIElTIDwvd19zY2FuPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IDxhZGQgZGVzY3JpcHRpb24gaGVyZT4KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDEwLTEwLTIyCisjIHByb3ZpZGVkIGJ5IChvcHQpICAgIDogPHlvdXIgbmFtZSBvciBlbWFpbCBoZXJlPgorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVm9kYWZvbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVm9kYWZvbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVm9kYWZvbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVm9kYWZvbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVm9kYWZvbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVm9kYWZvbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVm9kYWZvbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVm9kYWZvbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVm9kYWZvbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVm9kYWZvbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVm9kYWZvbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2l0LUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaXQtQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM0MWNhYzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2l0LUFsbApAQCAtMCwwICsxLDc2MSBAQAorIyBUaGlzIGZpbGUgbGlzdHMgYWxsIGZyZXF1ZW5jaWVzIHVzZWQgaW4gV2VzdGVybiBFdXJvcGUgZm9yIERWQi1ULgorIyBUaGUgdHJhbnNtaXNzaW9uIHBhcmFtZXRlcnMgbGlzdGVkIGhlcmUgYXJlIHRoZSBvbmVzIGdlbmVyYWxseSB1c2VkIGluCisjIEl0YWx5LCBicm9hZGNhc3QgbmV3b3JrcyBpbiBvdGhlciBjb3VudHJpZXMgZG8gdXNlIGRpZmZlcmVudCBwYXJhbWV0ZXJzLgorIyBNb3Jlb3Zlciwgb3RoZXIgY291bnRyaWVzIHVzZSBhIGJhbmR3aWR0aCBvZiA4IE1IeiBhbHNvIGZvciBCYW5kIElJSQorIyBjaGFubmVscy4KKyMKKyMgQ29tcGlsZWQgaW4gRGVjZW1iZXIgMjAxMCBieSBNYXJjbyBkJ0l0cmkgPG1kQGxpbnV4Lml0Pi4KKyMKKyMgUmVmZXJlbmNlczoKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CYW5kX0kjRXVyb3BlCisjIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQmFuZF9JSUkjRXVyb3BlCisjIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRmlsZTpWSEZfVXNhZ2Uuc3ZnCisjIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVGVsZXZpc2lvbl9jaGFubmVsX2ZyZXF1ZW5jaWVzCisKKworIyMjIFZIRiAtIEJhbmQgSUlJICMjIworIyA1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgOQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMTEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAxMgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMjIyBVSEYgLSBCYW5kIElWICMjIworIyAyMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDIyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMjMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAyNAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDI1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMjYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAyNworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDI4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMjkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAzMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDMxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMzIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAzMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDM0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMzUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAzNgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDM3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyMjIFVIRiAtIEJhbmQgViAjIyMKKyMgMzgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAzOQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDQwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNDEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA0MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDQzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNDQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA0NQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDQ2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNDcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA0OAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDQ5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA1MQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDUyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNTMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA1NAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDU1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNTYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA1NworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDU4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA2MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDYxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNjIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA2MworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDY0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNjUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA2NgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDY3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNjgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA2OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2x0LUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbHQtQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRhZTVmZWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2x0LUFsbApAQCAtMCwwICsxLDMwMiBAQAorIyBMaXRodWFuaWEsIHdob2xlIGNvdW50cnkKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuc2thaXRtZW5pbmUubHQvbHQvc2thaXRtZW5pbmVfdHZfbGlldHV2b2plL2FudHplbWluZV9kdmJfdC5odG1sCisjIENyZWF0ZWQgYnkgYmFydXNlQGdtYWlsLmNvbQorCisjIExSVEMgSSB0aW5rbGFzCitba2FuYWxhcyAyMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyAyNl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyAzOV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA0NF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA0N10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA1N10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA1OF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA2MF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA2MV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTFJUQyBJSSB0aW5rbGFzCitba2FuYWxhcyAzM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyAzOF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA0OF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA1NF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA2Ml0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA2M10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA2NF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVEVPIExUIEkgdGlua2xhcworW2thbmFsYXMgMzZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW2thbmFsYXMgNTBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW2thbmFsYXMgNTldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW2thbmFsYXMgNjVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRFTyBMVCBJSSB0aW5rbGFzCitba2FuYWxhcyAyMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyAzMF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA1M10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjVCA3ODYwMDAwMDAgOE1IeiBBVVRPIE5PTkUgUUFNNjQgOGsgMS8xNiBOT05FICMga2FuYWxhcyA2MAorCisjIFZpbG5pdWkgYm9udXNhcworW2thbmFsYXMgMzddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9sdS1BbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2x1LUFsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZTgwNTNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9sdS1BbGwKQEAgLTAsMCArMSw0OSBAQAorIyBEVkItVCBMdXhlbWJvdXJnIFsyMDA3LTExLTE4XQorW0thbmFsIDcgICBNNiwgUlRMIDgsIExVWEUuVFZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tLYW5hbCAyMSAgYWlyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbS2FuYWwgMjQgIGNsdWIgUlRMLCBSVEwgVFZJLCBwbHVnIFRWLCBSVEwgNCwgUlRMIDUsIFJUTCA3XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0thbmFsIDI3ICBSVEwgVGVsZUxldHosIDIgdGVuIFJUTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbHYtUmlnYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbHYtUmlnYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZmIyZTM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9sdi1SaWdhCkBAIC0wLDAgKzEsOTIgQEAKKyMgTGF0dmlhIC0gUmlnYSAobHYtUmlnYSkKKyMgR2VuZXJhdGVkIGJ5IFJhaW1vbmRzIENpY2FucworIyBVVEY4IGVuY29kaW5nCisKKworIyBETFJUQworW1dlYWsgc2lnbmFsISBWxIFqxaEgc2lnbsSBbHMhINCh0LvQsNCx0YvQuSDRgdC40LPQvdCw0LshXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQmFsdGtvbSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9ubC1BbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L25sLUFsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zM2ZjY2QzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9ubC1BbGwKQEAgLTAsMCArMSw0ODMgQEAKKyMgVGhlIE5ldGhlcmxhbmRzLCB3aG9sZSBjb3VudHJ5CisjIENyZWF0ZWQgZnJvbSBodHRwOi8vcmFkaW8tdHYtbmVkZXJsYW5kLm5sL1RWICAgICAgIDEuMjUxOTc4ZS0zMTJuZGVybGlqc3QlMjBOZWRlcmxhbmQueGxzCisjIGFuZCBodHRwOi8vcmFkaW8tdHYtbmVkZXJsYW5kLm5sL2R2YnQvZHZidC1sb2thYWwuaHRtbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbm8tVHJvbmRlbGFnX1N0am9yZGFsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uby1Ucm9uZGVsYWdfU3Rqb3JkYWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjZkODk5NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbm8tVHJvbmRlbGFnX1N0am9yZGFsCkBAIC0wLDAgKzEsMzkgQEAKKyMgTm9yd2F5IC8gVHJvbmRlbGFnIC8gU3Rqb3JkYWwKKyMgbW9kaWZpZWQgYWNjb3JkaW5nIHRvIGRhdGEgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIGZyZWUgKG5yaykgY2hhbm5lbHMgYXJlIG9uIDY1ODAwMDAwMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1BdWNrbGFuZEluZmlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotQXVja2xhbmRJbmZpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGMwNWYwYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotQXVja2xhbmRJbmZpbGwKQEAgLTAsMCArMSw0MiBAQAorIyBQaW5laGlsbCwgUmVtdWVyYSwgU2t5IFRvd2VyLCBBdWNrbGFuZCBJbmZpbGwsIEF1Y2tsYW5kIE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotQXVja2xhbmRXYWlhdGFydWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUF1Y2tsYW5kV2FpYXRhcnVhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmYmViODcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUF1Y2tsYW5kV2FpYXRhcnVhCkBAIC0wLDAgKzEsNDIgQEAKKyMgV2FpYXRhcnVhLCBBdWNrbGFuZCBOWgorIworIyBDaGFubmVsIGFsbG9jYXRpb24gZGV0YWlscyBmb3IgTlogY2FuIGJlIGZvdW5kIGF0CisjIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRnJlZXZpZXdfKE5ld19aZWFsYW5kKQorIworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUNocmlzdGNodXJjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotQ2hyaXN0Y2h1cmNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI0MmMxODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUNocmlzdGNodXJjaApAQCAtMCwwICsxLDQyIEBACisjIFN1Z2FybG9hZiwgQ2hyaXN0Y2h1cmNoIE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotRHVuZWRpbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotRHVuZWRpbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NDA0NDlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1EdW5lZGluCkBAIC0wLDAgKzEsNDIgQEAKKyMgTXQgQ2FyZ2lsbCwgRHVuZWRpbiBOWgorIworIyBDaGFubmVsIGFsbG9jYXRpb24gZGV0YWlscyBmb3IgTlogY2FuIGJlIGZvdW5kIGF0CisjIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRnJlZXZpZXdfKE5ld19aZWFsYW5kKQorIworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUhhbWlsdG9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1IYW1pbHRvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZWI1YjQxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1IYW1pbHRvbgpAQCAtMCwwICsxLDQyIEBACisjIEhhbWlsdG9uIEluZmlsbCwgV2Fpa2F0byBOWgorIworIyBDaGFubmVsIGFsbG9jYXRpb24gZGV0YWlscyBmb3IgTlogY2FuIGJlIGZvdW5kIGF0CisjIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRnJlZXZpZXdfKE5ld19aZWFsYW5kKQorIworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUhhd2tlc0JheU10RXJpbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotSGF3a2VzQmF5TXRFcmluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZiNmNlZTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUhhd2tlc0JheU10RXJpbgpAQCAtMCwwICsxLDQyIEBACisjIE10LiBFcmluLCBIYXdrZXMgQmF5IE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotSGF3a2VzQmF5TmFwaWVyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1IYXdrZXNCYXlOYXBpZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDk0MWI4MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotSGF3a2VzQmF5TmFwaWVyCkBAIC0wLDAgKzEsNDIgQEAKKyMgTmFwaWVyIEluZmlsbCwgSGF3a2VzIEJheSBOWgorIworIyBDaGFubmVsIGFsbG9jYXRpb24gZGV0YWlscyBmb3IgTlogY2FuIGJlIGZvdW5kIGF0CisjIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRnJlZXZpZXdfKE5ld19aZWFsYW5kKQorIworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LU1hbmF3YXR1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1NYW5hd2F0dQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YzAxMzA0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1NYW5hd2F0dQpAQCAtMCwwICsxLDQyIEBACisjIFdoYXJpdGUsIE1hbmF3YXR1IE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotVGF1cmFuZ2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LVRhdXJhbmdhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNiMzBjNWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LVRhdXJhbmdhCkBAIC0wLDAgKzEsNDIgQEAKKyMgS29wdWthaXJ1YSwgVGF1cmFuZ2EgTloKKyMKKyMgQ2hhbm5lbCBhbGxvY2F0aW9uIGRldGFpbHMgZm9yIE5aIGNhbiBiZSBmb3VuZCBhdAorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZyZWV2aWV3XyhOZXdfWmVhbGFuZCkKKyMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1XYWlrYXRvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1XYWlrYXRvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ4OGNlYTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LVdhaWthdG8KQEAgLTAsMCArMSw0MiBAQAorIyBUZSBBcm9oYSwgV2Fpa2F0byBOWgorIworIyBDaGFubmVsIGFsbG9jYXRpb24gZGV0YWlscyBmb3IgTlogY2FuIGJlIGZvdW5kIGF0CisjIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRnJlZXZpZXdfKE5ld19aZWFsYW5kKQorIworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LVdlbGxpbmd0b25JbmZpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LVdlbGxpbmd0b25JbmZpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjNkNDg3MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotV2VsbGluZ3RvbkluZmlsbApAQCAtMCwwICsxLDQyIEBACisjIEZpdHpoZXJiZXJ0LCBCYXh0ZXJzIEtub2IsIFdlbGxpbmd0b24gaW5maWxsLCBXZWxsaW5ndG9uIE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotV2VsbGluZ3RvbkthdWthdSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotV2VsbGluZ3RvbkthdWthdQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MTExZjFhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1XZWxsaW5ndG9uS2F1a2F1CkBAIC0wLDAgKzEsNDIgQEAKKyMgS2F1a2F1LCBXZWxsaW5ndG9uIE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotV2VsbGluZ3Rvbk5nYXJhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LVdlbGxpbmd0b25OZ2FyYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI3ZDkyMGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LVdlbGxpbmd0b25OZ2FyYXJhCkBAIC0wLDAgKzEsNDIgQEAKKyMgTmdhcmFyYSwgV2VsbGluZ3RvbiBOWgorIworIyBDaGFubmVsIGFsbG9jYXRpb24gZGV0YWlscyBmb3IgTlogY2FuIGJlIGZvdW5kIGF0CisjIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRnJlZXZpZXdfKE5ld19aZWFsYW5kKQorIworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLUN6ZXN0b2Nob3dhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1DemVzdG9jaG93YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lMjRmNWY2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1DemVzdG9jaG93YQpAQCAtMCwwICsxLDQ2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAxMjA2MDUgMSAwIFRFUlJFU1RSSUFMIFBMIDwvd19zY2FuPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFBMIEN6ZXN0b2Nob3dhIHNsYXNraWUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDEyLTExLTMwCisjIHByb3ZpZGVkIGJ5IChvcHQpICAgIDogSmFrdWIgS2FzcHJ6eWNraSBqYWt1YkBrYXNwcnp5Y2tpLm5hbWUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tNVVgtMSBFbWl0ZWwgV3JlY3p5Y2EgMTAwS1cgSF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbTVVYLTIgRW1pdGVsIFdyZWN6eWNhIDEwMEtXIEhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW01VWC0zIFRPTiBDemVzdG9jaG93YS9CbGVzem5vIDJLVyBIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtR2RhbnNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1HZGFuc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmZmMThjYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtR2RhbnNrCkBAIC0wLDAgKzEsMjUgQEAKKyMgR2RhxYRzaywgUG9sYW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtS3Jha293IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1LcmFrb3cKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTJiMTY0ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtS3Jha293CkBAIC0wLDAgKzEsODIgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDA5MTIzMCAxIDAgT0ZETSBQTCA8L3dfc2Nhbj4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBQb2xhbmQsIEtyYWtvdworIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTEtMTAtMjkKKyMgcHJvdmlkZWQgYnkgKG9wdCkgICAgOiBEYW1pYW4gR29sZGEKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDaC4yMywgTXV4MiBUYXJub3cvZy5Tdy5NYXJjaW5hXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbTlcgMDQgTWFsb3BvbHNraWUsIENoLjQ4LCBNdXgzIEtyYWtvdy9DaG9yYWd3aWNhIDJrV10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NoLjQ5LCBNdXgyIEthdG93aWNlL0tvc3p0b3d5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2guNTEsIE11eDMgS2F0b3dpY2UvS29zenRvd3kgMi41a1ddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDaC42MiwgTXV4MSBXaXNsYS9Ta3J6eWN6bmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tUUCBFbWlUZWwgQ2guNjQsIE11eDMgS3Jha293L0Nob3JhZ3dpY2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtS3Jvc25vX1N1Y2hhX0dvcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLUtyb3Nub19TdWNoYV9Hb3JhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNiNGU5MmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLUtyb3Nub19TdWNoYV9Hb3JhCkBAIC0wLDAgKzEsMzUgQEAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLVJ6ZXN6b3cgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLVJ6ZXN6b3cKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTk5MTg3OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtUnplc3pvdwpAQCAtMCwwICsxLDEzIEBACisjIFJ6ZXN6b3cgLyBTdWNoYSBHb3JhLCBTb3V0aC1FYXN0IFBvbGFuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLVN6Y3plY2luIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1TemN6ZWNpbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NmRiNjlmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1TemN6ZWNpbgpAQCAtMCwwICsxLDQ2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAwOTEyMzAgMSAwIE9GRE0gUEwgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogUG9sYW5kLCBTemN6ZWNpbgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMTItMDEKKyMgcHJvdmlkZWQgYnkgKG9wdCkgICAgOiBGYW50b20KKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworW1phY2hvZG5pb3BvbW9yc2tpZSwgQ2guNDEsIE11eDEgU3pjemVjaW4vS29sb3dvIDEwMGtXXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbWmFjaG9kbmlvcG9tb3Jza2llLCBDaC4zNCwgTXV4MiBTemN6ZWNpbi9Lb2xvd28gMTAwa1ddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1taYWNob2RuaW9wb21vcnNraWUsIENoLjQ4LCBNdXgzIFN6Y3plY2luL0tvbG93byAxMDBrV10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtV2Fyc3phd2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLVdhcnN6YXdhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2YzZiM2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLVdhcnN6YXdhCkBAIC0wLDAgKzEsNjQgQEAKKyMgV2Fyc2F3IChNYXNvd2lhbiksIFBvbGFuZAorIworIyBDaGFubmVscyBpbmZvOiBodHRwOi8vc2F0LWNoYXJ0cy5ldS9kdmItdC5waHAKKyMKK1tSYXN6eW4vUEtpTiBNVVgtM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1Jhc3p5bi9QS2lOIE1VWC04IChUVk5IRCldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbUmFzenluL1BLaU4gTVVYLTFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tSYXN6eW4vUEtpTiBNVVgtMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1BLaU4gTVVYLThdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtV3JvY2xhdyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtV3JvY2xhdwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZmZiZTdmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1Xcm9jbGF3CkBAIC0wLDAgKzEsMTMgQEAKKyMgV3JvY2xhdyAvIFpvcmF3aW5hLCBTb3V0aC1XZXN0IFBvbGFuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3B0LUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcHQtQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjExOWU0ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3B0LUFsbApAQCAtMCwwICsxLDg1IEBACisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly90ZHQtcG9ydHVnYWwuYmxvZ3Nwb3QucHQvCitbTW9udGUgZGEgVmlyZ2VtXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbTG91c2EgKFRyZXZpbSldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW01vbnRlanVudG9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbTWFpbmxhbmQgU0ZOXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3JvLUJ1Y2hhcmVzdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcm8tQnVjaGFyZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmUyNDI3Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3JvLUJ1Y2hhcmVzdApAQCAtMCwwICsxLDM3IEBACisjIFJvbWFuaWEgLyBCdWNoYXJlc3QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1NSVFZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbU05SIERWQi1UXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9ydS1LcmFzbm9kYXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3J1LUtyYXNub2RhcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNGEwZmRiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9ydS1LcmFzbm9kYXIKQEAgLTAsMCArMSwyNiBAQAorIyBSdXNzaWEsIEtyYXNub2RhcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNC81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA0LzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDEKKwlJTlZFUlNJT04gPSBBVVRPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3J1LU5vdm9zaWJpcnNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9ydS1Ob3Zvc2liaXJzawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYmUzYzMzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9ydS1Ob3Zvc2liaXJzawpAQCAtMCwwICsxLDI2IEBACisjIFJ1c3NpYSwgTm92b3NpYmlyc2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDQvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNC81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAxCisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9ydS1Wb2xnb2RvbnNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9ydS1Wb2xnb2RvbnNrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY4MzJkNzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3J1LVZvbGdvZG9uc2sKQEAgLTAsMCArMSwyNiBAQAorIyBSdXNzaWEsIFZvbGdvZG9uc2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDQvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNC81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAxCisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BYXJlYXZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BYXJlYXZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEzZDcxNmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFhcmVhdmFhcmEKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEFhcmVhdmFhcmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFkb2xmc3Ryb20gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFkb2xmc3Ryb20KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjdhYTQ0NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWRvbGZzdHJvbQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQWRvbGZzdHLDtm0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFnbmFzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BZ25hcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZDdjMWM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BZ25hcwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQWduw6RzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ba2Vyc2pvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWtlcnNqb24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjZkYzRlZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWtlcnNqb24KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIMOFa2Vyc2rDtm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsYWZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsYWZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzEyNmRjZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxhZm9ycwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEFsYWZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxiYWNrZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsYmFja2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU5MWFhNGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsYmFja2VuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBBbGJhY2tlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxnc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbGdzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmJjYjc4MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxnc2pvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDhGxnc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxpbmdzYXNfTWFyaWVkYWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsaW5nc2FzX01hcmllZGFsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI0OWZlOTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsaW5nc2FzX01hcmllZGFsCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gQWxpbmdzw6VzL01hcmllZGFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdmFuZ2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZhbmdlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZDM4OWEyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZhbmdlbgpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIMOEbHbDpG5nZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWx2ZGFsZW5fQnJ1bm5zYmVyZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWx2ZGFsZW5fQnJ1bm5zYmVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZjFiODI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZkYWxlbl9CcnVubnNiZXJnCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gw4RsdmRhbGVuL0JydW5uc2JlcmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdmRhbHNhc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZkYWxzYXNlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNTYxNTg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZkYWxzYXNlbgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIMOEbHZkYWxzw6VzZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdnNiYWNrYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWx2c2JhY2thCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNlYjk2MzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdnNiYWNrYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw4RsdnNiYWNrYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWx2c2J5biBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWx2c2J5bgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40YzMwOGQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZzYnluCkBAIC0wLDAgKzEsNzAgQEAKKyMgU3dlZGVuIC0gw4RsdnNieW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbW1hcm5hc19SaWJvdmFyZG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFtbWFybmFzX1JpYm92YXJkbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MjA2YTlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbW1hcm5hc19SaWJvdmFyZG8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEFtbWFybsOkcyBSaWJvdmFyZG8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFtbWFybmFzX1RqdWx0cmFzayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW1tYXJuYXNfVGp1bHRyYXNrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRiYjFkMzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFtbWFybmFzX1RqdWx0cmFzawpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQW1tYXJuw6RzL1RqdWx0csOkc2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFtb3QgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFtb3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzY2OTdiNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW1vdApAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIMOFbW90CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbW90Zm9yc19Lcm9wcHN0YWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFtb3Rmb3JzX0tyb3Bwc3RhZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MjcyNjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbW90Zm9yc19Lcm9wcHN0YWQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIMOFbW90Zm9ycyBLcm9wcHN0YWQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hY2FiZWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw4VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmRlcnN2YXR0bmV0X0Vyc215cmJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW5kZXJzdmF0dG5ldF9FcnNteXJiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWE4MmIzZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW5kZXJzdmF0dG5ldF9FcnNteXJiZXJnZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEFuZGVyc3ZhdHRuZXQvRXJzbXlyYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmdlX1Nub2JlcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZ2VfU25vYmVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZjBiYWM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmdlX1Nub2JlcmcKQEAgLTAsMCArMSw2MyBAQAorIyBTd2VkZW4gLSDDhW5nZS9TbsO2YmVyZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZ2VibyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW5nZWJvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQzMTQ1ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZ2VibwpAQCAtMCwwICsxLDYgQEAKKyMgU3dlZGVuIC0gw4RuZ2VibworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmdlbGhvbG1fVmVnZWhvbG0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZ2VsaG9sbV9WZWdlaG9sbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNjExMTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmdlbGhvbG1fVmVnZWhvbG0KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSDDhG5nZWxob2xtL1ZlZ2Vob2xtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmdlcnNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW5nZXJzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTkwYzdmNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW5nZXJzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIMOEbmdlcnNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFyZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJlNTgxYmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFyZQpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIMOFcmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJqYW5nIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BcmphbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2I1NDBhYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJqYW5nCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gw4VyasOkbmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJqZXBsb2dfR2FsdGlzcG91ZGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFyamVwbG9nX0dhbHRpc3BvdWRhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRjMGM4MTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFyamVwbG9nX0dhbHRpc3BvdWRhCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gQXJqZXBsb2cgR2FsdGlzcG91ZGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJvc2pva2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFyb3Nqb2trCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZhODhkZTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFyb3Nqb2trCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDhXJvc2pva2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFydmlkc2phdXJfSnVsdHJhc2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFydmlkc2phdXJfSnVsdHJhc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzZjNDg2MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJ2aWRzamF1cl9KdWx0cmFzawpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEFydmlkc2phdXIvSnVsdHLDpHNrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BcnZpa2FfT3JzaHVsdGFiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFydmlrYV9PcnNodWx0YWJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZDA0MWIyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BcnZpa2FfT3JzaHVsdGFiZXJnZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEFydmlrYS/DlnJzaHVsdGFiZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYTYyMTNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BcwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw4VzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Bc2VsZV9Bc2xpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXNlbGVfQXNsaWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2FjMGQ4ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXNlbGVfQXNsaWEKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIMOFc2VsZSDDhXNsaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFzbW9uX1Nvcm1vZmxvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Bc21vbl9Tb3Jtb2ZsbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNzQ0MjA2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Bc21vbl9Tb3Jtb2ZsbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw4VzbW9uL1PDtnJtb2ZsbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXNwZWJvZGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFzcGVib2RhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVjYTUwMDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFzcGVib2RhCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gQXNwZWJvZGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUF0dmlkYWJlcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUF0dmlkYWJlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzgwYjdlMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXR2aWRhYmVyZwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIMOFdHZpZGFiZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUF2ZXN0YV9LcnlsYm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUF2ZXN0YV9LcnlsYm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTlhMTQ2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXZlc3RhX0tyeWxibwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEF2ZXN0YS9LcnlsYm8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJhY2tlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CYWNrZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNjg4YmY3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CYWNrZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQmFja2UKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJhY2tlZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmFja2Vmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI2YjliYTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJhY2tlZm9ycwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIELDpGNrZWZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJhbmtlcnlkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CYW5rZXJ5ZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYjEyMzEyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CYW5rZXJ5ZApAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEJhbmtlcnlkCitbW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmVuZ3RzZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmVuZ3RzZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MWRlN2UyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZW5ndHNmb3JzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCZW5ndHNmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZXJnaGFtbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmVyZ2hhbW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTliMTk4YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmVyZ2hhbW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJlcmdoYW1uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZXJnc2hhbXJhX1ZheHR1bmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlcmdzaGFtcmFfVmF4dHVuYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wOGU3ZTZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZXJnc2hhbXJhX1ZheHR1bmEKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBCZXJnc2hhbXJhL1ZheHR1bmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmVyZ3Nqb19CYWxsZWJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmVyZ3Nqb19CYWxsZWJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNGM4YzMzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZXJnc2pvX0JhbGxlYmVyZ2V0CkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gQmVyZ3Nqw7YvQsOlbGxlYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZXJndmlrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZXJndmlrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQxYWM2YmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlcmd2aWsKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBCZXJndmlrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CaWxsc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CaWxsc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZmM2JiZjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJpbGxzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJpbGxzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CaXNwZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmlzcGZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDkzYWE3YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmlzcGZvcnMKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBCaXNwZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cam9ya2xpZGVuX1Rvcm5laGFtbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmpvcmtsaWRlbl9Ub3JuZWhhbW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzY1M2Q1NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmpvcmtsaWRlbl9Ub3JuZWhhbW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJqw7Zya2xpZGVuL1Rvcm5laGFtbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmpvcmtzZWxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cam9ya3NlbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmEyNGZkMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmpvcmtzZWxlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCasO2cmtzZWxlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cam9ya3ZhdHRuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJqb3JrdmF0dG5ldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iOGNlM2FkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cam9ya3ZhdHRuZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJqw7Zya3ZhdHRuZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJqb3JuYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmpvcm5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmEwMjIzMjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJqb3JuYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQmrDtnJuYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmp1cmJlcmdldF9IZW10amFybiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmp1cmJlcmdldF9IZW10amFybgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNmQ1N2M1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CanVyYmVyZ2V0X0hlbXRqYXJuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCanVyYmVyZ2V0L0hlbXRqw6RybgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmp1cnRyYXNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CanVydHJhc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzFkN2EzMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmp1cnRyYXNrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCanVydHLDpHNrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb2JlcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvYmVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMjNiMWMyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb2JlcmcKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJvYmVyZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9kYV9GYWdlcnVtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb2RhX0ZhZ2VydW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmY3MDVhNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9kYV9GYWdlcnVtCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gQsO2ZGEvRmFnZXJ1bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb2Rlbl9Ta29nc2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvZGVuX1Nrb2dzYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jN2RiYWJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb2Rlbl9Ta29nc2EKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJvZGVuL1Nrb2dzw6UKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvZ3JhbmdlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ncmFuZ2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBhZTQ2NTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvZ3JhbmdlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQm9ncmFuZ2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb2xsZWJ5Z2QgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvbGxlYnlnZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MDYwNjYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb2xsZWJ5Z2QKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBCb2xsZWJ5Z2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb2xsbmFzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb2xsbmFzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYzZjU2YjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvbGxuYXMKQEAgLTAsMCArMSw2MyBAQAorIyBTd2VkZW4gLSBCb2xsbsOkcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvbmhhbW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvbmhhbW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDdlNmQ4NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9uaGFtbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQsO2bmhhbW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmFzX0RhbHNqb2ZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmFzX0RhbHNqb2ZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFlNGI5ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9yYXNfRGFsc2pvZm9ycwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEJvcsOlcy9EYWxzasO2Zm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3Jhc19Tam9ibyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9yYXNfU2pvYm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjJlODBmMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9yYXNfU2pvYm8KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBCb3LDpXMvU2rDtmJvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JnYWZqYWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JnYWZqYWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY4ZTcyYTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmdhZmphbGwKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJvcmdhZmrDpGxsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JnaG9sbV9SYW1zYXR0cmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmdob2xtX1JhbXNhdHRyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNGRmMDAyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JnaG9sbV9SYW1zYXR0cmEKQEAgLTAsMCArMSwzMSBAQAorIyBTd2VkZW4gLSBCb3JnaG9sbS9SYW1zw6R0dHJhCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9yZ3Nqb2J5biBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9yZ3Nqb2J5bgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZDU1ZDk3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3Jnc2pvYnluCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCb3Jnc2rDtmJ5bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ya2FuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JrYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWZlYmEzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ya2FuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCb3JrYW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmxhbmdlX0lka2VyYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JsYW5nZV9JZGtlcmJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNjc4ZWU5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JsYW5nZV9JZGtlcmJlcmdldApAQCAtMCwwICsxLDYzIEBACisjIFN3ZWRlbiAtIEJvcmzDpG5nZS9JZGtlcmJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ybGFuZ2VfTnlnYXJkYXJuYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ybGFuZ2VfTnlnYXJkYXJuYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zOTNlNzI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JsYW5nZV9OeWdhcmRhcm5hCkBAIC0wLDAgKzEsNDkgQEAKKyMgU3dlZGVuIC0gQm9ybMOkbmdlL055Z8OlcmRhcm5hCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ydGFuc2J5bl9Cb3J0YW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcnRhbnNieW5fQm9ydGFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRjMGYyNjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcnRhbnNieW5fQm9ydGFuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCb3J0YW5zYnluL0JvcnRhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9zZWJ5biBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9zZWJ5bgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZGI3YzRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3NlYnluCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCb3NlYnluCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3RzbWFyayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm90c21hcmsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2EyNTdhMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm90c21hcmsKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJvdHNtYXJrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3R0bmFyeWRfUnlkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3R0bmFyeWRfUnlkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmEyOWU1NGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvdHRuYXJ5ZF9SeWQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBCb3R0bmFyeWQvUnlkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcmVkYWtlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnJlZGFrZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzQyNzQ0YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnJlZGFrZXIKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJyZWTDpWtlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnJlZGJ5bl9LdWJiZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnJlZGJ5bl9LdWJiZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMDM4ZTIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcmVkYnluX0t1YmJlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCcmVkYnluL0t1YmJlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcmVkYnluX1Zhc3RlcmZhbm5ieW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyZWRieW5fVmFzdGVyZmFubmJ5bgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yYWJiMWFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcmVkYnluX1Zhc3RlcmZhbm5ieW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJyZWRieW4gVsOkc3RlcmZhbm5ieW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyZWRzam9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcmVkc2pvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNmI0ZTdlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcmVkc2pvbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQnJlZHNqw7ZuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ccm9tc2Vicm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyb21zZWJybwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40OGU4MTc1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ccm9tc2Vicm8KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBCcsO2bXNlYnJvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJydXphaG9sbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnJ1emFob2xtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ1Y2FkZGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJydXphaG9sbQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEJydXphaG9sbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnlkYWxlbl9Ib3ZkZWhvZ2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CeWRhbGVuX0hvdmRlaG9nZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGNlYzQxNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnlkYWxlbl9Ib3ZkZWhvZ2VuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCeWRhbGVuL0hvdmRlaMO2Z2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CeWdkZXRyYXNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CeWdkZXRyYXNrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE3NjYxNjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJ5Z2RldHJhc2sKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJ5Z2RldHLDpHNrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CeWdkc2lsanVtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CeWdkc2lsanVtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJhN2ViMDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJ5Z2RzaWxqdW0KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJ5Z2RzaWxqdW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJ5eGVsa3JvayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnl4ZWxrcm9rCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiZmY1NDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJ5eGVsa3JvawpAQCAtMCwwICsxLDI1IEBACisjIFN3ZWRlbiAtIEJ5eGVsa3JvaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURhZHJhbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFkcmFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM4ZWI5YTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURhZHJhbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRMOlZHJhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjMzYWIyZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBEYWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURhbGZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURhbGZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTdhZTFkMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFsZm9ycwpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIERhbGZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURhbHNfTGFuZ2VkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWxzX0xhbmdlZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NzM3MzNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWxzX0xhbmdlZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRGFscyBMw6VuZ2VkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWxzdHVnYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFsc3R1Z2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzI4NDk2YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFsc3R1Z2EKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBEYWxzdHVnYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGVnZWJlcmdhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EZWdlYmVyZ2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTM1MThmNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGVnZWJlcmdhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBEZWdlYmVyZ2EKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURlZ2VyZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGVnZXJmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIyZjY1NzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURlZ2VyZm9ycwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIERlZ2VyZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGVsYXJ5IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EZWxhcnkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTYyNTAwYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGVsYXJ5CkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRGVsYXJ5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EZWxhcnlfS29sYWJvZGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURlbGFyeV9Lb2xhYm9kYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNjJkZjI2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EZWxhcnlfS29sYWJvZGEKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIERlbGFyeS9Lw7ZsYWJvZGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURqdXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EanVyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMjBhNGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EanVyYQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIERqdXJhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Eb3JvdGVhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Eb3JvdGVhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdiNWFhY2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURvcm90ZWEKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIERvcm90ZWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURyZXZkYWdlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRHJldmRhZ2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmUyYzlkYTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURyZXZkYWdlbgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIERyZXZkYWdlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRHV2ZWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUR1dmVkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRmYjM5ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUR1dmVkCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBEdXZlZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRHV2bmFzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EdXZuYXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzNhYWY5NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRHV2bmFzCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRHV2bsOkcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRHV2bmFzX0Jhc25hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EdXZuYXNfQmFzbmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGU1ZWM1NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRHV2bmFzX0Jhc25hCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRHV2bsOkcy9Cw6RzbmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVkYW5lIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FZGFuZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMTY4NjgxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FZGFuZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRWRhbmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVkc2J5biBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWRzYnluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY5MjQ0MGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVkc2J5bgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEVkc2J5bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWRzZWxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FZHNlbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzdkZjNiOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWRzZWxlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBFZHNlbGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVkc2xlc2tvZ19Ib2doZWRlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWRzbGVza29nX0hvZ2hlZGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNkZjdmMGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVkc2xlc2tvZ19Ib2doZWRlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRWRzbGVza29nL0jDtmdoZWRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWtzaGFyYWRfRWtlc2JlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWtzaGFyYWRfRWtlc2JlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZGFhMmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Fa3NoYXJhZF9Fa2VzYmVyZ2V0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBFa3Now6RyYWQgRWtlc2JlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWxsb3MgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVsbG9zCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJhODM4NDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVsbG9zCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBFbGzDtnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVtbWFib2RhX0JhbHNodWx0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FbW1hYm9kYV9CYWxzaHVsdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MWQxMTdiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FbW1hYm9kYV9CYWxzaHVsdApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEVtbWFib2RhL0LDpGxzaHVsdAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVuYWZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVuYWZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWUyMDg5YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRW5hZm9ycwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRW5hZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRW52aWtlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRW52aWtlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OTM2NzE4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FbnZpa2VuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gRW52aWtlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVyaWtzbHVuZF9CZXJnYXNlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRXJpa3NsdW5kX0Jlcmdhc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZiMTYyMmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVyaWtzbHVuZF9CZXJnYXNlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRXJpa3NsdW5kL0JlcmfDpXNlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFnZXJzdGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhZ2Vyc3RhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMyMDFiMzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhZ2Vyc3RhCkBAIC0wLDAgKzEsMjUgQEAKKyMgU3dlZGVuIC0gRmFnZXJzdGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWdlcnN0YV9KYXR0YXNlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFnZXJzdGFfSmF0dGFzZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGU5M2QyOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFnZXJzdGFfSmF0dGFzZW4KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBGYWdlcnN0YSBKw6R0dMOlc2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhbGVydW1fQ2VudHJ1bSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFsZXJ1bV9DZW50cnVtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcxNmYyNjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhbGVydW1fQ2VudHJ1bQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEZhbGVydW0vQ2VudHJ1bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFsa2VuYmVyZ19SaW5nc2VnYXJkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWxrZW5iZXJnX1JpbmdzZWdhcmQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzA5ZGJhZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFsa2VuYmVyZ19SaW5nc2VnYXJkCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGYWxrZW5iZXJnL1JpbmdzZWfDpXJkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWx0cmFzayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFsdHJhc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTNiY2RhMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFsdHJhc2sKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEZhbHRyw6RzaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFsdW5fTG92YmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWx1bl9Mb3ZiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzkyYmNiNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFsdW5fTG92YmVyZ2V0CkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gRmFsdW4vTMO2dmJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhcmlsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyaWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVhZDUxNjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhcmlsYQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEbDpHJpbGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhcmplc3RhZGVuX0FsZ3V0c3J1bSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyamVzdGFkZW5fQWxndXRzcnVtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU0NWExZGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhcmplc3RhZGVuX0FsZ3V0c3J1bQpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEbDpHJqZXN0YWRlbi9BbGd1dHNydW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyb19BamtlcnN0cmFzayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyb19BamtlcnN0cmFzawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mM2YyNjUyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYXJvX0Fqa2Vyc3RyYXNrCkBAIC0wLDAgKzEsMjUgQEAKKyMgU3dlZGVuIC0gRsOlcsO2L0Fqa2Vyc3Ryw6RzaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhcm9fQWprZXN0cmFzayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyb19Bamtlc3RyYXNrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVlMzY4MzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhcm9fQWprZXN0cmFzawpAQCAtMCwwICsxLDMwIEBACisjIFN3ZWRlbiAtIEbDpXLDti9Bamtlc3Ryw6RzaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhcm9zdW5kX0J1bmdlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYXJvc3VuZF9CdW5nZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYjBkY2IxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYXJvc3VuZF9CdW5nZQpAQCAtMCwwICsxLDMxIEBACisjIFN3ZWRlbiAtIEbDpXLDtnN1bmQvQnVuZ2UKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZlbmdlcnNmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GZW5nZXJzZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NGVlY2EyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GZW5nZXJzZm9ycwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRmVuZ2Vyc2ZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZpbGlwc3RhZF9LbG9ja2FyaG9qZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GaWxpcHN0YWRfS2xvY2thcmhvamRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMzY3NGJiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GaWxpcHN0YWRfS2xvY2thcmhvamRlbgpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEZpbGlwc3RhZC9LbG9ja2FyaMO2amRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZpbm52ZWRlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmlubnZlZGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFmYTBkYmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZpbm52ZWRlbgpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEZpbm52ZWRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZqYWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZqYWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjAwZDk5MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmphbApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRmrDpGwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZqYWxsc3RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GamFsbHN0YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZmM5OWNjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GamFsbHN0YQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRmrDpGxsc3RhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbGFya2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZsYXJrZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZTBkOWVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbGFya2UKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEZsw6Rya2UKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZsb2RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbG9kYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZjRlNjI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbG9kYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRmxvZGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZsdXJrbWFyayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmx1cmttYXJrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNlZGJhODAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZsdXJrbWFyawpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRmx1cmttYXJrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbHlnZ3NqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmx5Z2dzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmNlYzAzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmx5Z2dzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEZseWdnc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmx5biBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmx5bgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41OWI4YWVlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbHluCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGbHluCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Gb2xzYnluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Gb2xzYnluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjliNzAwMDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvbHNieW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEbDtmxzYnluCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Gb3JzZWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvcnNlZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40OTgxMzI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Gb3JzZWQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEZvcnNlZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRm9yc21vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Gb3JzbW8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTYwYmFmYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRm9yc21vCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGb3JzbW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvcnNtb19ZdHRlcnNlbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRm9yc21vX1l0dGVyc2VsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg2NjgxYzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvcnNtb19ZdHRlcnNlbApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRm9yc21vL1l0dGVyc2VsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Gb3JzbmFzZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvcnNuYXNldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MTI3MjE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Gb3JzbmFzZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEZvcnNuw6RzZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyYW5rcmlrZWdhcmRlbl9GcmFua3Jpa2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyYW5rcmlrZWdhcmRlbl9GcmFua3Jpa2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGE4Mjk4OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJhbmtyaWtlZ2FyZGVuX0ZyYW5rcmlrZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRnJhbmtyaWtlZ8OlcmRlbi9GcmFua3Jpa2UKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyYW5zdGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyYW5zdGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWM4NmVkZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJhbnN0YQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRnLDpG5zdGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyZWRyaWthIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GcmVkcmlrYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NjIzMGQxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GcmVkcmlrYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRnJlZHJpa2EKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyZWRyaWtzYmVyZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJlZHJpa3NiZXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAzOGRlZmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyZWRyaWtzYmVyZwpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEZyZWRyaWtzYmVyZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJlZHJvcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJlZHJvcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMDEzZDg2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GcmVkcm9zCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGcmVkcm9zCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Gcml0c2xhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Gcml0c2xhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEyNGU3NjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyaXRzbGEKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBGcml0c2xhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GdWxsc2pvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnVsbHNqb24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjU3NzM5ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnVsbHNqb24KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEZ1bGxzasO2bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnVuYXNkYWxlbl9GdW5hc2RhbHNiZXJnZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnVuYXNkYWxlbl9GdW5hc2RhbHNiZXJnZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMjRjZTVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GdW5hc2RhbGVuX0Z1bmFzZGFsc2JlcmdlCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gRnVuw6RzZGFsZW4gRnVuw6RzZGFsc2JlcmdlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZ1bmFzZGFsZW5fVGVsZXN0YXRpb24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZ1bmFzZGFsZW5fVGVsZXN0YXRpb24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGNmZjA2MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnVuYXNkYWxlbl9UZWxlc3RhdGlvbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRnVuw6RzZGFsZW4vVGVsZXN0YXRpb24KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZ1cnVkYWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZ1cnVkYWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTJkMDgxNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnVydWRhbApAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEZ1cnVkYWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhZGRlZGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhZGRlZGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzExODNiNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FkZGVkZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR8OkZGRlZGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhbGxpdmFyZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FsbGl2YXJlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFmOThhOTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhbGxpdmFyZQpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEfDpGxsaXZhcmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HYWxsc2F0dGVyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HYWxsc2F0dGVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZjZTU0MjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhbGxzYXR0ZXIKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEdhbGxzw6R0dGVyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HYXJkaWtmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HYXJkaWtmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVjOTdhOTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhcmRpa2ZvcnMKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEdhcmRpa2ZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhcmduYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhcmduYXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWVmNzlhMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FyZ25hcwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR2FyZ27DpHMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhcnBlbmJlcmdfS3VwcGdhcmRlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FycGVuYmVyZ19LdXBwZ2FyZGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlkYzc5MGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhcnBlbmJlcmdfS3VwcGdhcmRlbgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEdhcnBlbmJlcmcvS3VwcGfDpXJkZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhdmxlX1Nrb2dtdXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhdmxlX1Nrb2dtdXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWU4YWM3NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2F2bGVfU2tvZ211cgpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEfDpHZsZS9Ta29nbXVyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2lsbGhvdiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2lsbGhvdgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNTQxNWYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HaWxsaG92CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHaWxsaG92CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HbGltYWtyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2xpbWFrcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWYwMjdjYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2xpbWFrcmEKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEdsaW3DpWtyYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR25hcnAgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUduYXJwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA0YjQ2MWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUduYXJwCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gR25hcnAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUduZXN0YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR25lc3RhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjViYWY3MGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUduZXN0YQpAQCAtMCwwICsxLDI1IEBACisjIFN3ZWRlbiAtIEduZXN0YQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdub3Nqb19NYXJpZWhvbG0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdub3Nqb19NYXJpZWhvbG0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjU0YzVhYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR25vc2pvX01hcmllaG9sbQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEdub3Nqw7YvTWFyaWVob2xtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hb3JkYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR29yZGFsZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTQ3MjYzZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR29yZGFsZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEfDtnJkYWxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR290ZWJvcmdfQnJ1ZGFyZW1vc3NlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR290ZWJvcmdfQnJ1ZGFyZW1vc3NlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MWQ3YjY1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hb3RlYm9yZ19CcnVkYXJlbW9zc2VuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gR8O2dGVib3JnL0JydWRhcmVtb3NzZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hb3RlYm9yZ19TbGF0dGFkYW1tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hb3RlYm9yZ19TbGF0dGFkYW1tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmNDk5ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdvdGVib3JnX1NsYXR0YWRhbW0KQEAgLTAsMCArMSwzMSBAQAorIyBTd2VkZW4gLSBHw7Z0ZWJvcmcvU2zDpHR0YWRhbW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyYW5pbmdlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HcmFuaW5nZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xOTFlMTRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HcmFuaW5nZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR3JhbmluZ2UKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyYXNtYXJrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HcmFzbWFyawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYzBjZDZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HcmFzbWFyawpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR3LDpHNtYXJrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HcmFzbXlyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HcmFzbXlyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE3NjdmNTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyYXNteXIKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEdyw6RzbXlyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HcmViYmVzdGFkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HcmViYmVzdGFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQxYjZiYTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyZWJiZXN0YWQKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBHcmViYmVzdGFkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyZXZpZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3JldmllCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRjMmE5OGE0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HcmV2aWUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEdyZXZpZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3JvdmVsc2pvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3JvdmVsc2pvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNGY3OTE2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hcm92ZWxzam9uCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHcsO2dmVsc2rDtm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdydW1zIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HcnVtcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kN2U5OTc2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HcnVtcwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR3J1bXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bGlrc2JlcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bGlrc2JlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDUwZjg2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VsaWtzYmVyZwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR3VsaWtzYmVyZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VsaWtzYmVyZ19Sb2R2YXR0bmV0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdWxpa3NiZXJnX1JvZHZhdHRuZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzU1YjgwYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VsaWtzYmVyZ19Sb2R2YXR0bmV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHdWxpa3NiZXJnL1LDtmR2YXR0bmV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdWxsYnJhbmRzdG9ycCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VsbGJyYW5kc3RvcnAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjkxNzEzNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VsbGJyYW5kc3RvcnAKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBHdWxsYnJhbmRzdG9ycAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VtaG9qZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW1ob2pkZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzMyMjgyMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VtaG9qZGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHdW1ow7ZqZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW5uYXJuX1NvcnNqb2xpZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW5uYXJuX1NvcnNqb2xpZGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVhZWUwMmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bm5hcm5fU29yc2pvbGlkZW4KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBHdW5uYXJuL1PDtnJzasO2bGlkZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VubmFyc2JvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW5uYXJzYm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTk1MWNkZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VubmFyc2JvCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gR3VubmFyc2JvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW5uYXJzYnluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW5uYXJzYnluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE2MjU3MzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bm5hcnNieW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEd1bm5hcnNieW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bm5hcnNrb2cgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bm5hcnNrb2cKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTYwMGM5MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VubmFyc2tvZwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR3VubmFyc2tvZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VzdW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1c3VtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZhZWVlYzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1c3VtCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gR3VzdW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhZGFuYmVyZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFkYW5iZXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhMzQ4ODcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhZGFuYmVyZwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSMOkZGFuYmVyZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFnZm9yc19WYXJtdWxsc2FzZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhZ2ZvcnNfVmFybXVsbHNhc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdiOGY5MzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhZ2ZvcnNfVmFybXVsbHNhc2VuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gSGFnZm9ycy9Ww6RybXVsbHPDpXNlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhha2Fmb3QgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhha2Fmb3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWYxYjM5MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFrYWZvdApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSMOla2Fmb3QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGFmb3JzZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGFmb3JzZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjlhYjg0OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsYWZvcnNlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSMOlbGFmb3JzZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGplYm9kYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsamVib2RhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ1NmJiMWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGplYm9kYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSMOkbGplYm9kYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbGFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzE2MjY2YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbGFuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw6VsbGFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYXJ5ZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbGFyeWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDM4ODIyNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbGFyeWQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBIYWxsYXJ5ZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbGFzdHJvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbGFzdHJvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZTA3ZGUxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYXN0cm9tCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw6RsbGFzdHLDtm0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxibyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbGJvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY4ZTYwZjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxibwpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEjDpGxsYm8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MjE5MmZkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSMOkbGxlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsZXZpa3NzdHJhbmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxldmlrc3N0cmFuZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZTEyNTI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsZXZpa3NzdHJhbmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEjDpGxsZXZpa3NzdHJhbmQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxzam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFjNjY0NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbHNqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSMOkbGxzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxtc3RhZF9IYW1uZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbG1zdGFkX0hhbW5lbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNDRlNzEyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxtc3RhZF9IYW1uZW4KQEAgLTAsMCArMSwzMSBAQAorIyBTd2VkZW4gLSBIYWxtc3RhZC9IYW1uZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbG1zdGFkX09za2Fyc3Ryb20gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbG1zdGFkX09za2Fyc3Ryb20KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmQ4YjA2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbXN0YWRfT3NrYXJzdHJvbQpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEhhbG1zdGFkL09za2Fyc3Ryw7ZtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFtYnVyZ3N1bmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbWJ1cmdzdW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA5YWNhNWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbWJ1cmdzdW5kCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIYW1idXJnc3VuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFyYWRzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYXJhZHMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFjYWU5YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFyYWRzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIYXJhZHMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhcm5vc2FuZF9IYXJub24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhcm5vc2FuZF9IYXJub24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjUxMWZlYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFybm9zYW5kX0hhcm5vbgpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEjDpHJuw7ZzYW5kL0jDpHJuw7ZuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFycnNqb24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhcnJzam9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU5N2Q5ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhcnJzam9uCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIYXJyc2rDtm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhc3NlbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhc3NlbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDllZTk4YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFzc2VsYQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEhhc3NlbGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhdmRoZW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhdmRoZW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmE4ZjE5OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGF2ZGhlbQpAQCAtMCwwICsxLDYxIEBACisjIFN3ZWRlbiAtIEhhdmRoZW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWRlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWRlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmUwMjRhYTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlZGUKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBIZWRlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlZGVtb3JhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWRlbW9yYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNGM0ZTU1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWRlbW9yYQpAQCAtMCwwICsxLDYgQEAKKyMgU3dlZGVuIC0gSGVkZW1vcmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVkZW5hc2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWRlbmFzZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzMzZTZhZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVkZW5hc2V0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIZWRlbsOkc2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWxndW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlbGd1bQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41N2Y4MmE5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWxndW0KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEhlbGd1bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVsc2luZ2JvcmdfT2x5bXBpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVsc2luZ2JvcmdfT2x5bXBpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMjQ4NDBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWxzaW5nYm9yZ19PbHltcGlhCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gSGVsc2luZ2JvcmcvT2x5bXBpYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlbWF2YW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlbWF2YW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWFmMzRiZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVtYXZhbgpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEhlbWF2YW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVtc29uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW1zb24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmE2ZTAwMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVtc29uCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIZW1zw7ZuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW5hbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVuYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmZhYjI0YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVuYW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEhlbsOlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVubmFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW5uYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzdlNzhjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVubmFuCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gSGVubmFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZXN0cmFfQXNwYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlc3RyYV9Bc3BhcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mM2E1NTRhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZXN0cmFfQXNwYXMKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBIZXN0cmEvw4RzcMOlcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGpvX0dyZXZiYWNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Iam9fR3JldmJhY2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTA2M2MxZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGpvX0dyZXZiYWNrCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gSGpvL0dyZXZiw6RjaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9mb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2ZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTQ3NmViOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9mb3JzCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gSG9mb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9nZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9nZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xOTc0MjNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2dmb3JzCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gSMO2Z2ZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvZ2x1bmRhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2dsdW5kYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NjY1NmY1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2dsdW5kYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSMO2Z2x1bmRhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2dzYnlfVmlyc3RhZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9nc2J5X1ZpcnN0YWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjdlMzc2OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9nc2J5X1ZpcnN0YWQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBIw7Znc2J5L1ZpcnN0YWQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2d2YWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9ndmFsZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjkwZTAxZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9ndmFsZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEjDtmd2w6VsZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvbGplcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9samVzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZlZWZhODQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvbGplcwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSMO2bGplcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9sbHZpa2VuX1N0b3JhX0hhbW1hciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9sbHZpa2VuX1N0b3JhX0hhbW1hcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MWRlOTlkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2xsdmlrZW5fU3RvcmFfSGFtbWFyCkBAIC0wLDAgKzEsMzAgQEAKKyMgU3dlZGVuIC0gSMO2bGx2aWtlbi9TdG9yYSBIYW1tYXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2xzYnlicnVubl9Ib2xzYnlob2xtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2xzYnlicnVubl9Ib2xzYnlob2xtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQxODAwNTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvbHNieWJydW5uX0hvbHNieWhvbG0KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBIb2xzYnlicnVubi9Ib2xzYnlob2xtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3JieV9TYWxsZXJ1cCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9yYnlfU2FsbGVydXAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzM2M2NiYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9yYnlfU2FsbGVydXAKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBIw7ZyYnkvU2FsbGVydXAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3JrZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvcmtlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kNThlZTZkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3JrZW4KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBIw7Zya2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3Jub24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvcm5vbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ODkyYzFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3Jub24KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEhvcm7Dtm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvdGFnZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvdGFnZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjMxYTYyNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG90YWdlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSG90YWdlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG90aW5nIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3RpbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjAzODdjNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG90aW5nCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIb3RpbmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvdmZqYWxsZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvdmZqYWxsZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2QzNzk0NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG92ZmphbGxldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSG92ZmrDpGxsZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1ZGlrc3ZhbGxfRm9yc2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1ZGlrc3ZhbGxfRm9yc2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWVjZjZkNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVkaWtzdmFsbF9Gb3JzYQpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEh1ZGlrc3ZhbGwvRm9yc2EKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdWRpa3N2YWxsX0dhbGdiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1ZGlrc3ZhbGxfR2FsZ2JlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MzZmM2M1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdWRpa3N2YWxsX0dhbGdiZXJnZXQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBIdWRpa3N2YWxsL0dhbGdiZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdW1tZWxob2xtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdW1tZWxob2xtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg4NjM4YWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1bW1lbGhvbG0KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEh1bW1lbGhvbG0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1bm5lYm9zdHJhbmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1bm5lYm9zdHJhbmQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTQ5MThkZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVubmVib3N0cmFuZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSHVubmVib3N0cmFuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVza3Zhcm5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdXNrdmFybmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWI1MDBhYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVza3Zhcm5hCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gSHVza3Zhcm5hCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdXN1bSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVzdW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDY2NzhhNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVzdW0KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEh1c3VtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1JZGl2dW9tYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSWRpdnVvbWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDhhM2I0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSWRpdnVvbWEKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIElkaXZ1b21hCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1JZHJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1JZHJlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM0MWZmOGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUlkcmUKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBJZHJlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSW5nYXRvcnAgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUluZ2F0b3JwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJiMTE4ODgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUluZ2F0b3JwCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gSW5nYXRvcnAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUluZ3ZhbGxzYmVubmluZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSW5ndmFsbHNiZW5uaW5nCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM5MWNiMTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUluZ3ZhbGxzYmVubmluZwpAQCAtMCwwICsxLDYgQEAKKyMgU3dlZGVuIC0gSW5ndmFsbHNiZW5uaW5nCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUlyZXZpayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSXJldmlrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlmYTQ5ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUlyZXZpawpAQCAtMCwwICsxLDI1IEBACisjIFN3ZWRlbiAtIElyZXZpaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUlyZXZpa18zMTk1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1JcmV2aWtfMzE5NQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42OTRiNzU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1JcmV2aWtfMzE5NQpAQCAtMCwwICsxLDMwIEBACisjIFN3ZWRlbiAtIElyZXZpay8zMTk1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSXZhcnNieW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUl2YXJzYnluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlmNWM1NTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUl2YXJzYnluCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBJdmFyc2J5bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFra3Zpa19GcmFrZW5teXJlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFra3Zpa19GcmFrZW5teXJlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYTJjZWExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYWtrdmlrX0ZyYWtlbm15cmVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBKw6Rra3ZpayBGcsOka2VubXlyZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphbWpvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYW1qbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZDE0NDZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYW1qbwpAQCAtMCwwICsxLDI1IEBACisjIFN3ZWRlbiAtIErDpG1qw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJrdmlzc2xlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJrdmlzc2xlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdjZmJhZWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcmt2aXNzbGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIErDpHJrdmlzc2xlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJuZm9yc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJuZm9yc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQxNjNiZTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcm5mb3JzZW4KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBKw6RybmZvcnNlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFycGVuX01lbGxhbmdhcmRzYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJwZW5fTWVsbGFuZ2FyZHNiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDRiNDdjNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFycGVuX01lbGxhbmdhcmRzYmVyZ2V0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBKw6RycGVuIE1lbGxhbmfDpXJkc2JlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFydnNvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJ2c28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDVkY2Y2MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFydnNvCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gSsOkcnZzw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcnZ0cmFzayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFydnRyYXNrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRlNDY1MTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcnZ0cmFzawpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSsOkcnZ0csOkc2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpvZXN0cm9tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Kb2VzdHJvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZTFiYzRhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Kb2VzdHJvbQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSm9lc3Ryw7ZtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Kb2trbW9ra19OeWJvcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpva2ttb2trX055Ym9yZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZjEyY2YyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Kb2trbW9ra19OeWJvcmcKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBKb2trbW9ray9OeWJvcmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9ra21va2tfVGphbG1lamF1cmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpva2ttb2trX1RqYWxtZWphdXJlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM2NGJhNmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpva2ttb2trX1RqYWxtZWphdXJlCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gSm9ra21va2svVGphbG1lamF1cmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Kb25rb3BpbmdfQm9uZGJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9ua29waW5nX0JvbmRiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjhjYTFkNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9ua29waW5nX0JvbmRiZXJnZXQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBKw7Zua8O2cGluZy9Cb25kYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9ybXZhdHRuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpvcm12YXR0bmV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBhOWI0NTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpvcm12YXR0bmV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBKb3JtdmF0dG5ldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSnVkZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSnVkZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMGE0ZGZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KdWRlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBKdWRlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KdW5zZWxlX0hhbXB0amFybnNiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUp1bnNlbGVfSGFtcHRqYXJuc2JlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMDMxYjcxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KdW5zZWxlX0hhbXB0amFybnNiZXJnZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEp1bnNlbGUgSGFtcHRqw6RybnNiZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUp1bnNlbGVfVmFsbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KdW5zZWxlX1ZhbGxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZjFmZTE0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KdW5zZWxlX1ZhbGxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSnVuc2VsZS9WYWxsZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthZ2Vyb2RfTW9sbGFycCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FnZXJvZF9Nb2xsYXJwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY2NWIxOTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthZ2Vyb2RfTW9sbGFycApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS8OlZ2Vyw7ZkL03DtmxsYXJwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxhcm5lIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxhcm5lCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNlZDRjNzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGFybmUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEvDpGxhcm5lCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FsZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzI2ZDc3NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FsZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEvDpGxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FsaXggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGl4Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZlNGUxZDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGl4CkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gS2FsaXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxsZXJlZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FsbGVyZWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWJhZDAzNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FsbGVyZWQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEvDpWxsZXJlZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FsbGluZ2VfS2FsbGViZXJnYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FsbGluZ2VfS2FsbGViZXJnYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MDc5YzZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxsaW5nZV9LYWxsZWJlcmdhCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gS2FsbGluZ2UvS2FsbGViZXJnYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxscm9yIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxscm9yCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjljMDVmNDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGxyb3IKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEthbGxyw7ZyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYW1wZXJzdmlrX0VrZWJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FtcGVyc3Zpa19Fa2ViZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzczOTRjYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FtcGVyc3Zpa19Fa2ViZXJnZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEvDpG1wZXJzdmlrL0VrZWJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FyYm9sZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FyYm9sZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNzM0MGNjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJib2xlCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gS8OlcmLDtmxlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJlc3VhbmRvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJlc3VhbmRvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFjOGU5MzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmVzdWFuZG8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEthcmVzdWFuZG8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmxhbmRhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsYW5kYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYzQ1NWExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsYW5kYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS2FybGFuZGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmxzYm9yZ19WYWJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHNib3JnX1ZhYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRjMWE2YWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmxzYm9yZ19WYWJlcmdldApAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEthcmxzYm9yZy9WYWJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHNoYW1uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc2hhbW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTQ4ZTVkMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHNoYW1uCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gS2FybHNoYW1uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHNrcm9uYV9KYW1qbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHNrcm9uYV9KYW1qbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kN2MyYmY5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc2tyb25hX0phbWpvCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gS2FybHNrcm9uYS9Kw6RtasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmxza3JvbmFfVmFtbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHNrcm9uYV9WYW1vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU2MTk1ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmxza3JvbmFfVmFtbwpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEthcmxza3JvbmEvVsOkbcO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHN0YWRfU29ybW9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc3RhZF9Tb3Jtb24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDE3M2U0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHN0YWRfU29ybW9uCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gS2FybHN0YWQgU8O2cm1vbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthc3RhX1JpbmdrYWxsZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthc3RhX1JpbmdrYWxsZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjI4OGQ0MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FzdGFfUmluZ2thbGxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS8Olc3RhIFJpbmdrYWxsZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtheGFzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXhhcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNGU2N2M4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXhhcwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS2F4w6VzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXhob2xtZW5fVmlzdGFrdWxsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2F4aG9sbWVuX1Zpc3Rha3VsbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTNmMDRlMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2F4aG9sbWVuX1Zpc3Rha3VsbGUKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBLYXhob2xtZW4vVmlzdGFrdWxsZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2lubmFzdHJvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2lubmFzdHJvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNjEyZDM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LaW5uYXN0cm9tCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gS2lubmFzdHLDtm0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtpcnVuYV9LaXJ1bmF2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2lydW5hX0tpcnVuYXZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkxZWU0NjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtpcnVuYV9LaXJ1bmF2YWFyYQpAQCAtMCwwICsxLDYzIEBACisjIFN3ZWRlbiAtIEtpcnVuYS9LaXJ1bmF2YWFyYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtpc2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtpc2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTkwMTExZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2lzYQpAQCAtMCwwICsxLDcwIEBACisjIFN3ZWRlbiAtIEtpc2EKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LbGluZ3N0YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2xpbmdzdGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDFiOTY2OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2xpbmdzdGEKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEtsaW5nc3RhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LbG92c2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LbG92c2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJjYmYyZTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtsb3Zzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEtsw7Z2c2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS25hcmVkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LbmFyZWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDRkYjg1NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS25hcmVkCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gS27DpHJlZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS25hdmxhbmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtuYXZsYW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlhMDkyMjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtuYXZsYW5kCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLbsOkdmxhbmQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvcG1hbmhvbG1lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS29wbWFuaG9sbWVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJiZTU1YTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvcG1hbmhvbG1lbgpAQCAtMCwwICsxLDYzIEBACisjIFN3ZWRlbiAtIEvDtnBtYW5ob2xtZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3BwYXJiZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3BwYXJiZXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI2ODQ0NDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvcHBhcmJlcmcKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBLb3BwYXJiZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3Bwb20gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvcHBvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNjAwMTUzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3Bwb20KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBLb3Bwb20KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS29yc3RyYXNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3JzdHJhc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjg1NGNjMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS29yc3RyYXNrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLb3JzdHLDpHNrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3R0c2pvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS290dHNqb24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTNiMGNkZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS290dHNqb24KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEvDtnR0c2rDtm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvdmxhbmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvdmxhbmQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWY1ZDk3YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS292bGFuZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS292bGFuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3JhbWZvcnNfTHVnbnZpayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3JhbWZvcnNfTHVnbnZpawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42N2JhYjlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmFtZm9yc19MdWdudmlrCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gS3JhbWZvcnMvTHVnbnZpaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyYW1mb3JzX09zdGJ5IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmFtZm9yc19Pc3RieQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45Y2QwZDc4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmFtZm9yc19Pc3RieQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS3JhbWZvcnMvw5ZzdGJ5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmFuZ2VkZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3JhbmdlZGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWM2ZmYwYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3JhbmdlZGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEtyw6VuZ2VkZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3Jpc3RpbmViZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmlzdGluZWJlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjhjMDBhNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3Jpc3RpbmViZXJnCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLcmlzdGluZWJlcmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyaXN0aW5laGFtbl9VdHNpa3RzYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmlzdGluZWhhbW5fVXRzaWt0c2JlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNGQ1MzkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmlzdGluZWhhbW5fVXRzaWt0c2JlcmdldApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEtyaXN0aW5laGFtbi9VdHNpa3RzYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3Jva3N0cmFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3Jva3N0cmFuZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iOTk5ZDM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lcm9rc3RyYW5kCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLcm9rc3RyYW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdWx0c2pvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VsdHNqb24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTc5Y2E1OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VsdHNqb24KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEt1bHRzasO2bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VuZ2FsdiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VuZ2FsdgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYTUxODgyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nYWx2CkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gS3VuZ8OkbHYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VuZ3NhdGVyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2F0ZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjYwMjZiNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VuZ3NhdGVyCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gS3VuZ3PDpHRlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VuZ3NiYWNrYV9PamVyc2JvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2JhY2thX09qZXJzYm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTdmYmRhMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VuZ3NiYWNrYV9PamVyc2JvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLdW5nc2JhY2thL8OWamVyc2JvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2JlcmdldF9HSSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VuZ3NiZXJnZXRfR0kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGQzNGUyMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VuZ3NiZXJnZXRfR0kKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBLdW5nc2JlcmdldC9HSQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VuZ3NiZXJnZXRfR2wgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1bmdzYmVyZ2V0X0dsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYzZTVjMmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1bmdzYmVyZ2V0X0dsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLdW5nc2JlcmdldC9HbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VuZ3NoYW1uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2hhbW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWRiNTk4OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VuZ3NoYW1uCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gS3VuZ3NoYW1uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1cnJhdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1cnJhdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDZhYmYyYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VycmF2YWFyYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS3VycmF2YWFyYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3Zhcm5zdmVkamFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdmFybnN2ZWRqYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzJkOWY2ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3Zhcm5zdmVkamFuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLdmFybnN2ZWRqYW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt2aWtram9ra19BcnJldmFyZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3Zpa2tqb2trX0FycmV2YXJlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI0NjA2YWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt2aWtram9ra19BcnJldmFyZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS3Zpa2tqb2trL8OFcnJldmFyZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3Zpa2tqb2trX1RhdnZldmFyZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3Zpa2tqb2trX1RhdnZldmFyZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMTVlOWE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ldmlra2pva2tfVGF2dmV2YXJlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLdmlra2pva2svVGF2dmV2YXJlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LeXJrZXN1bmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt5cmtlc3VuZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MzVhMzAwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LeXJrZXN1bmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEt5cmtlc3VuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFnZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFnZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNGY1MzBjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYWdmb3JzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBMYWdmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYWdnYXJiZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYWdnYXJiZXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBjOTY4NzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhZ2dhcmJlcmcKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIExhZ2dhcmJlcmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhaXN2YWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYWlzdmFsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNmQxYjBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYWlzdmFsbApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGFpc3ZhbGwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhbmdhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYW5nYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMDgzNTMyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYW5nYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTMOlbmfDpQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFuZ3NlbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhbmdzZWxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE1YmRkZmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhbmdzZWxlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBMw6VuZ3NlbGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhbmdzaHl0dGFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYW5nc2h5dHRhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNThmOGIxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYW5nc2h5dHRhbgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEzDpW5nc2h5dHRhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFuZ3NoeXR0YW5fRW5nZWxzZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFuZ3NoeXR0YW5fRW5nZWxzZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MjBkMThiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYW5nc2h5dHRhbl9FbmdlbHNmb3JzCkBAIC0wLDAgKzEsNiBAQAorIyBTd2VkZW4gLSBMw6VuZ3NoeXR0YW4vRW5nZWxzZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYXhzam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxheHNqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NTViMjhhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYXhzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIExheHNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxheHZpa2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYXh2aWtlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40YmQ2YmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYXh2aWtlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGF4dmlrZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxla3NhbmRfQXNsZWRzYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZWtzYW5kX0FzbGVkc2JlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mN2EwZDhhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZWtzYW5kX0FzbGVkc2JlcmdldApAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIExla3NhbmQvw4VzbGVkc2JlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZWtzYW5kX0thcmluZ2JlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGVrc2FuZF9LYXJpbmdiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDMxMjMzYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGVrc2FuZF9LYXJpbmdiZXJnZXQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBMZWtzYW5kL0vDpHJpbmdiZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxla3ZhdHRuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxla3ZhdHRuZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTA1MjkyNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGVrdmF0dG5ldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGVrdmF0dG5ldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGVyZGFsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGVyZGFsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZTk3NTBmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZXJkYWxhCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gTGVyZGFsYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGVzam9mb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZXNqb2ZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDdlYzEwNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGVzam9mb3JzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gTGVzasO2Zm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWRlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlkZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2UwZTg0NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlkZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIExpZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWRlbl9Pc3RlcnN0cm9tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWRlbl9Pc3RlcnN0cm9tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM3MTIwYTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpZGVuX09zdGVyc3Ryb20KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIExpZGVuL8OWc3RlcnN0csO2bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlsbGFfRWRldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlsbGFfRWRldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZGFmOTA2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxsYV9FZGV0CkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gTGlsbGEgRWRldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxsb2dkYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlsbG9nZGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGNlYWVhMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlsbG9nZGEKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIExpbGzDtmdkYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlsbHBpdGVfQmFzdGFiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbGxwaXRlX0Jhc3RhYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmEyOTZjMGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbGxwaXRlX0Jhc3RhYmVyZ2V0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBMaWxscGl0ZSBCYXN0YWJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlsbHRqYXJhX0RpZ2VyYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxsdGphcmFfRGlnZXJiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2Q5MTk3YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlsbHRqYXJhX0RpZ2VyYmVyZ2V0CkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gTGlsbHRqw6RyYS9EaWdlcmJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGltZWRzZm9yc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaW1lZHNmb3JzZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjRjNGQyNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGltZWRzZm9yc2VuCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gTGltZWRzZm9yc2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaW5kc2hhbW1hcl9SYW1rdmlsbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbmRzaGFtbWFyX1JhbWt2aWxsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNzM2ZDBkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaW5kc2hhbW1hcl9SYW1rdmlsbGEKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBMaW5kc2hhbW1hci9SYW1rdmlsbGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbmtvcGluZ19WYXR0ZW50b3JuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbmtvcGluZ19WYXR0ZW50b3JuZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWNjNDRlOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlua29waW5nX1ZhdHRlbnRvcm5ldApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIExpbmvDtnBpbmcvVmF0dGVudG9ybmV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGluc2VsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGluc2VsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NzkyMDliCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaW5zZWxsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBMaW5zZWxsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYmUyNGVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIExpdAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1Z2FybiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1Z2FybgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMjU2Y2UyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVnYXJuCkBAIC0wLDAgKzEsMjUgQEAKKyMgU3dlZGVuIC0gTGp1Z2FybgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxqdWdhcm5fMzE5MyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1Z2Fybl8zMTkzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQyNDhjZWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxqdWdhcm5fMzE5MwpAQCAtMCwwICsxLDMwIEBACisjIFN3ZWRlbiAtIExqdWdhcm4vMzE5MworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxqdW5nYXZlcmsgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxqdW5nYXZlcmsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWI4MTQ0ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1bmdhdmVyawpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGp1bmdhdmVyaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1bmdkYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1bmdkYWxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OTNlZmQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVuZ2RhbGVuCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gTGp1bmdkYWxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVzdG9ycCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1c3RvcnAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTQ0NGRjOWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxqdXN0b3JwCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBManVzdG9ycAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1c3ZhdHRuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxqdXN2YXR0bmV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI1MDI2Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxqdXN2YXR0bmV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBManVzdmF0dG5ldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9kZXJ1cHNfU3RyYW5kYmFkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb2RlcnVwc19TdHJhbmRiYWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTliNDA3MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9kZXJ1cHNfU3RyYW5kYmFkCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBMw7ZkZXJ1cHMgU3RyYW5kYmFkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb2Zmc3RyYW5kIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb2Zmc3RyYW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ0MGFjMGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvZmZzdHJhbmQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBMb2Zmc3RyYW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9mc2RhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb2ZzZGFsZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGNhZTIzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9mc2RhbGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBMb2ZzZGFsZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvZ2RlYWx2IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb2dkZWFsdgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMWE3YWM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb2dkZWFsdgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTMO2Z2Rlw6RsdgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9ubmViZXJnYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9ubmViZXJnYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yOWE4ZThmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb25uZWJlcmdhCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gTMO2bm5lYmVyZ2EKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9yc3RyYW5kIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb3JzdHJhbmQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGJiZGU0YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9yc3RyYW5kCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gTMO2cnN0cmFuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG92YW5nZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvdmFuZ2VyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBlMDVkZjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvdmFuZ2VyCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBMw7Z2w6VuZ2VyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MdWR2aWthX0Jqb3JrYXNlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTHVkdmlrYV9Cam9ya2FzZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODUxMmEwZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTHVkdmlrYV9Cam9ya2FzZW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBMdWR2aWthL0Jqw7Zya8Olc2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTHVtc2hlZGVuX1RyZWthbnRlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTHVtc2hlZGVuX1RyZWthbnRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41YjllMGI2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MdW1zaGVkZW5fVHJla2FudGVuCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gTHVtc2hlZGVuL1RyZWthbnRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTHlja3NlbGVfS25hZnRlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTHlja3NlbGVfS25hZnRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNWVjNmRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MeWNrc2VsZV9LbmFmdGVuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gTHlja3NlbGUvS25hZnRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1haHVsdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFodWx0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQyNzMxMWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1haHVsdApAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIE1haHVsdAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NmZjZTVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYWxhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNYWzDpQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFsbW9fSmFnZXJzcm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hbG1vX0phZ2Vyc3JvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM4NzI1YzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hbG1vX0phZ2Vyc3JvCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gTWFsbcO2L0rDpGdlcnNybworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hbHVuZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFsdW5nCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRlYTYzNjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hbHVuZwpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIE1hbHVuZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hbnNlcnVkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYW5zZXJ1ZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOWVlNWIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYW5zZXJ1ZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTcOlbnNlcnVkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYXJkc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYXJkc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRkZjY3YmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hcmRzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE3DpXJkc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFyaWFubmVsdW5kIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYXJpYW5uZWx1bmQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjFiNTEwMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFyaWFubmVsdW5kCkBAIC0wLDAgKzEsNiBAQAorIyBTd2VkZW4gLSBNYXJpYW5uZWx1bmQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFya2FyeWRfSHVhbHRldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFya2FyeWRfSHVhbHRldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NTM4MDdlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYXJrYXJ5ZF9IdWFsdGV0CkBAIC0wLDAgKzEsNDkgQEAKKyMgU3dlZGVuIC0gTWFya2FyeWQvSHVhbHRldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYXRmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYXRmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmMGI4MmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hdGZvcnMKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBNYXRmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYXRzZGFsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYXRzZGFsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmEwNmVjMzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hdHNkYWwKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE1hdHNkYWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1lZHN0dWdhbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWVkc3R1Z2FuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJjYTcxOTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1lZHN0dWdhbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTWVkc3R1Z2FuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NaXR0YWRhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NaXR0YWRhbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRkYmM2MGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1pdHRhZGFsZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE1pdHTDpWRhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NamFsbG9tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NamFsbG9tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhmMGVhMjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1qYWxsb20KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBNasOkbGxvbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nam9zam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1qb3NqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYTMzOWZkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nam9zam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE1qw7ZzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb2xpZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb2xpZGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYwNjc4MjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vbGlkZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE1vbGlkZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vbG5ib19UYWxsc3R1Z2FuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb2xuYm9fVGFsbHN0dWdhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41YWE2MTc2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb2xuYm9fVGFsbHN0dWdhbgpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIE3DtmxuYm8vVGFsbHN0dWdhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb2xuZGFsX1Zhc3RlcmJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9sbmRhbF9WYXN0ZXJiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGJjMzEyMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9sbmRhbF9WYXN0ZXJiZXJnZXQKQEAgLTAsMCArMSwzMCBAQAorIyBTd2VkZW4gLSBNw7ZsbmRhbC9Ww6RzdGVyYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9yYV9FbGRyaXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vcmFfRWxkcmlzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMyMjMzMWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vcmFfRWxkcmlzCkBAIC0wLDAgKzEsNjMgQEAKKyMgU3dlZGVuIC0gTW9yYS9FbGRyaXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb3JrcmV0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb3JrcmV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNhYzgyODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vcmtyZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE3DtnJrcmV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb3Nrb3NlbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9za29zZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2MyMDc1MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9za29zZWwKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE1vc2tvc2VsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb3RhbGFfRXJ2YXN0ZWJ5IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb3RhbGFfRXJ2YXN0ZWJ5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmViNDY5NzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vdGFsYV9FcnZhc3RlYnkKQEAgLTAsMCArMSw3MCBAQAorIyBTd2VkZW4gLSBNb3RhbGEvRXJ2YXN0ZWJ5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU11bGxzam9fVG9yZXN0b3JwIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NdWxsc2pvX1RvcmVzdG9ycApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZjY3NmU1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NdWxsc2pvX1RvcmVzdG9ycApAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIE11bGxzasO2L1RvcmVzdG9ycAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTXVua2VkYWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU11bmtlZGFsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJjMDIyYzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU11bmtlZGFsCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gTXVua2VkYWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTXVua2ZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU11bmtmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVkY2M2NTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU11bmtmb3JzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gTXVua2ZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTXVvZG9zbG9tcG9sbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTXVvZG9zbG9tcG9sbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMTBkNzQxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NdW9kb3Nsb21wb2xvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNdW9kb3Nsb21wb2xvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYWxkZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hbGRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MmU0ZWJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYWxkZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE7DpGxkZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hc2FrZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hc2FrZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWRmNmUyYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmFzYWtlcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTsOkc8Ola2VyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXNhbmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmFzYW5nZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzgxYWM2NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmFzYW5nZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE7DpHPDpG5nZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hc3NqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmFzc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdiMTYyODQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hc3NqbwpAQCAtMCwwICsxLDYzIEBACisjIFN3ZWRlbiAtIE7DpHNzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXN0ZWxuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXN0ZWxuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU0N2FkZTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hc3RlbG4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE7DpHN0ZWxuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXZla3Zhcm4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hdmVrdmFybgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jY2NjNjNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXZla3Zhcm4KQEAgLTAsMCArMSw2IEBACisjIFN3ZWRlbiAtIE7DpHZla3Zhcm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmF2ZXJlZGVfT2JlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmF2ZXJlZGVfT2JlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNmU2ZmI2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXZlcmVkZV9PYmVyZ2V0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBOw6R2ZXJlZGUgw5ZiZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5pZW1pc2VsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OaWVtaXNlbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZWU2YmU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OaWVtaXNlbApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTmllbWlzZWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcmRhbmVkZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9yZGFuZWRlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNhMmFkMjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcmRhbmVkZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTm9yZGFuZWRlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JkbWFsaW5nIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JkbWFsaW5nCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlkMDJjZDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcmRtYWxpbmcKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE5vcmRtYWxpbmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJhX1JvcnVtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyYV9Sb3J1bQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMDhkZmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyYV9Sb3J1bQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTm9ycmEgUsO2cnVtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyYWhhbW1hciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycmFoYW1tYXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDI3NjA1OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycmFoYW1tYXIKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBOb3JyYWhhbW1hcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycmFrZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJha2VyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNmZWE0M2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJha2VyCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBOb3Jyw6VrZXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kOWEwY2JlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyZm9ycwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTm9ycmZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJoYXNzZWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJoYXNzZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjliNjk4ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycmhhc3NlbApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTm9ycmhhc3NlbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycmtvcGluZ19Lcm9rZWsgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJrb3BpbmdfS3Jva2VrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY2ZTZlNDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJrb3BpbmdfS3Jva2VrCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gTm9ycmvDtnBpbmcvS3Jva2VrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycnRhbGplX1NvZHJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JydGFsamVfU29kcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzNiNmM4ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycnRhbGplX1NvZHJhCkBAIC0wLDAgKzEsMzAgQEAKKyMgU3dlZGVuIC0gTm9ycnTDpGxqZSBTw7ZkcmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycnRhbGplX1NvZHJhX0JlcmdlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycnRhbGplX1NvZHJhX0JlcmdlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YzgyOTY4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JydGFsamVfU29kcmFfQmVyZ2VuCkBAIC0wLDAgKzEsNjEgQEAKKyMgU3dlZGVuIC0gTm9ycnTDpGxqZS9Tw7ZkcmEgQmVyZ2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9yc2pvdmFsbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3Jzam92YWxsZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGYzZTc2OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9yc2pvdmFsbGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBOb3JzasO2dmFsbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OeWhlbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTnloZW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTc0MDZmNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTnloZW0KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE55aGVtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OeWtvcGluZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTnlrb3BpbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjczNTE0OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTnlrb3BpbmcKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBOeWvDtnBpbmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55bGlkZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55bGlkZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzAzYmM0YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTnlsaWRlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTnlsaWRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTnluYXNoYW1uX1ZhdHRlbnRvcm5ldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTnluYXNoYW1uX1ZhdHRlbnRvcm5ldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYzExOGQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OeW5hc2hhbW5fVmF0dGVudG9ybmV0CkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gTnluw6RzaGFtbi9WYXR0ZW50b3JuZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT2RzbWFsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PZHNtYWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmZmOTM1NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT2RzbWFsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDlmRzbcOlbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT2xkZW5fVGVsZXN0YXRpb24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9sZGVuX1RlbGVzdGF0aW9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRhNjVmYWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9sZGVuX1RlbGVzdGF0aW9uCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBPbGRlbi9UZWxlc3RhdGlvbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT2xrYW1hbmdpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PbGthbWFuZ2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzc2Yjc4NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT2xrYW1hbmdpCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBPbGthbWFuZ2kKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9sb2ZzdHJvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT2xvZnN0cm9tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU4ODNkYzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9sb2ZzdHJvbQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gT2xvZnN0csO2bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3JlYnJvX0xvY2toeXR0YW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9yZWJyb19Mb2NraHl0dGFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAzNmQ3NGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9yZWJyb19Mb2NraHl0dGFuCkBAIC0wLDAgKzEsNzAgQEAKKyMgU3dlZGVuIC0gw5ZyZWJyby9Mb2NraHl0dGFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3JrZWxsanVuZ2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9ya2VsbGp1bmdhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIzMDZjN2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9ya2VsbGp1bmdhCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gw5Zya2VsbGp1bmdhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9ybnNrb2xkc3Zpa19BcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3Juc2tvbGRzdmlrX0FzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIzNTQ1MmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9ybnNrb2xkc3Zpa19BcwpAQCAtMCwwICsxLDcwIEBACisjIFN3ZWRlbiAtIMOWcm5za8O2bGRzdmlrL8OFcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc2thcnNoYW1uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc2thcnNoYW1uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhlZTA0Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9za2Fyc2hhbW4KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBPc2thcnNoYW1uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9zbW9fQmpvcnN0YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3Ntb19Cam9yc3RhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM1OTczYmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9zbW9fQmpvcnN0YQpAQCAtMCwwICsxLDEwIEBACisjIFN3ZWRlbiAtIMOWc21vL0Jqw7Zyc3RhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc3RlcmZvcnNlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc3RlcmZvcnNlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNlNzJiOTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9zdGVyZm9yc2UKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIMOWc3RlcmZvcnNlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc3RlcmdyYW5pbmdlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc3RlcmdyYW5pbmdlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFjMGE1ODkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9zdGVyZ3JhbmluZ2UKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIMOWc3RlcmdyYW5pbmdlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc3RlcnN1bmRfQnJhdHRhc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc3RlcnN1bmRfQnJhdHRhc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRkYjc0YTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9zdGVyc3VuZF9CcmF0dGFzZW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSDDlnN0ZXJzdW5kL0JyYXR0w6VzZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc3RoYW1tYXJfVmFsbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0aGFtbWFyX1ZhbG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzAxMDYzZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0aGFtbWFyX1ZhbG8KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSDDlnN0aGFtbWFyL1ZhbMO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0bWFyayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0bWFyawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MGNiMWE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc3RtYXJrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDlnN0bWFyaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcmFtbWVyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVyYW1tZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGIzZTEzYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcmFtbWVyCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDlnZlcmFtbWVyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVyaG9nZGFsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVyaG9nZGFsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ5OTA3NDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJob2dkYWwKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIMOWdmVyaG9nZGFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVya2FsaXggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJrYWxpeApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NjYxMmI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVya2FsaXgKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSDDlnZlcmthbGl4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcmtsaW50ZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJrbGludGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVjNDI3ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJrbGludGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDlnZlcmtsaW50ZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJyaXNzam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJyaXNzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDMwZjE0ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcnJpc3NqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw5Z2ZXJyaXNzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVydG9ybmVhX1NhcmtpdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJ0b3JuZWFfU2Fya2l2YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xZDliZWUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVydG9ybmVhX1NhcmtpdmFhcmEKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSDDlnZlcnRvcm5lw6UgU8OkcmtpdmFhcmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcnR1cmluZ2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVydHVyaW5nZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWRiYWMxMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcnR1cmluZ2VuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDlnZlcnR1cmluZ2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PeGJlcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU94YmVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYTI4YmU1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PeGJlcmcKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBPeGJlcmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVBhamFsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUGFqYWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmEwZTdiNjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVBhamFsYQpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIFBhamFsYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1QYXVsaXN0b20gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVBhdWxpc3RvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZGQ5YjUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1QYXVsaXN0b20KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBQYXVsaXN0w7ZtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1QYXVsaXN0cm9tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1QYXVsaXN0cm9tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYwZjgyNTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVBhdWxpc3Ryb20KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFBhdWxpc3Ryw7ZtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1QaWxncmltc3RhZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUGlsZ3JpbXN0YWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2JlZDI5MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUGlsZ3JpbXN0YWQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFBpbGdyaW1zdGFkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Qb3JqdXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVBvcmp1cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MjA2MjNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Qb3JqdXMKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBQb3JqdXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUHVvbHRzYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUHVvbHRzYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZDMxNDBiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1QdW9sdHNhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBQdW9sdHNhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYWd1bmRhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYWd1bmRhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdiZDE3MDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhZ3VuZGEKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBSYWd1bmRhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhbXNlbGVfU2thdmFzZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhbXNlbGVfU2thdmFzZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmJkNmU0YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFtc2VsZV9Ta2F2YXNlbgpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIFJhbXNlbGUgU2thdsOlc2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhbXNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFtc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhiYjNmZmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhbXNqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUmFtc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFtdW5kYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW11bmRiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGY4YzE2OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFtdW5kYmVyZ2V0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBSYW11bmRiZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhbmRhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW5kYWxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMGY0MjMwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW5kYWxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUsOlbmRhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW5kaWphdXJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW5kaWphdXJlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNjZmE4NmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhbmRpamF1cmUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFJhbmRpamF1cmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhbnNhdGVyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW5zYXRlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NjE1Njk1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW5zYXRlcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUmFuc8OkdGVyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYXR0dmlrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYXR0dmlrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcyNWJjOGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhdHR2aWsKQEAgLTAsMCArMSw2IEBACisjIFN3ZWRlbiAtIFLDpHR0dmlrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJlbmdzam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJlbmdzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDc2YzQ1ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmVuZ3NqbwpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFJlbmdzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SZW5zdHJvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmVuc3Ryb20KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjcxMGVjMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmVuc3Ryb20KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFJlbnN0csO2bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmVzZWxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SZXNlbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjcwNmM4NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmVzZWxlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBSZXNlbGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJpc2JhY2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJpc2JhY2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjI3MTczZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmlzYmFjawpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUmlzYsOkY2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJpc3NuYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmlzc25hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI5ZWZmZmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJpc3NuYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUmlzc25hCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SaXRzZW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJpdHNlbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40Yzk4MjA5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SaXRzZW0KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFJpdHNlbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9iZXJ0c2ZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJvYmVydHNmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAxZjBjZWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJvYmVydHNmb3JzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBSb2JlcnRzZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9qZGFmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Sb2pkYWZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDExOWRiYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9qZGFmb3JzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBSw7ZqZMOlZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9ubmFuZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9ubmFuZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZTg2MDdmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Sb25uYW5nCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBSw7ZubsOkbmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJvcmJhY2tzbmFzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Sb3JiYWNrc25hcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNGUwODFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Sb3JiYWNrc25hcwpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFLDtnJiw6Rja3Nuw6RzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Sb3Nzb24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJvc3NvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ODA3YmQzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Sb3Nzb24KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFJvc3PDtm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJ1c2tzZWxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SdXNrc2VsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NWQzNmU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SdXNrc2VsZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUnVza3NlbGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhZHZhbHVzcGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWR2YWx1c3BlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NTEwYTM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWR2YWx1c3BlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU8OkZHZhbHVzcGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWdteXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWdteXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5ZDY3ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhZ215cmEKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTw6VnbXlyYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2Fpdm9tdW90a2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhaXZvbXVvdGthCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU3YjQzYTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhaXZvbXVvdGthCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTYWl2b211b3RrYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2FsZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU4YmQ1YTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhbGVuCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU8OkbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWxmamFsbGV0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWxmamFsbGV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFhMTYxYWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhbGZqYWxsZXQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTw6RsZmrDpGxsZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhcm5hX01pY2tlbHRlbXBsZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhcm5hX01pY2tlbHRlbXBsZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWFlNGUyNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2FybmFfTWlja2VsdGVtcGxldApAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFPDpHJuYS9NaWNrZWx0ZW1wbGV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXRpbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhdGlsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MGVmZjAyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXRpbGEKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTw6R0aWxhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXZhcl9Tb3JieW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhdmFyX1NvcmJ5bgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40YzkyNGJkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXZhcl9Tb3JieW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFPDpHZhciBTw7ZyYnluCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXZhc3QgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhdmFzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYTk5MDA3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXZhc3QKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFPDpHZhc3QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNheGRhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXhkYWxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZjNmNGFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXhkYWxlbgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFNheGRhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TZWl0ZXZhYXJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TZWl0ZXZhYXJlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmEwMmM4MzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNlaXRldmFhcmUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNlaXRldmFhcmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNlbGFuZ2VyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TZWxhbmdlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZWEzZTJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TZWxhbmdlcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU2Vsw6VuZ2VyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TZWx0amFybiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2VsdGphcm4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzkxNGM4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2VsdGphcm4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNlbHRqw6RybgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2lkZW5zam9fQWJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2lkZW5zam9fQWJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xYWU5YjViCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TaWRlbnNqb19BYmVyZ2V0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTaWRlbnNqw7Ygw4ViZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNpbGphbnNuYXNfVXZiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNpbGphbnNuYXNfVXZiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2YzNWM1MTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNpbGphbnNuYXNfVXZiZXJnZXQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTaWxqYW5zbsOkcy9VdmJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2ltcmlzaGFtbl9GYWJyaWtzZ2F0YW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNpbXJpc2hhbW5fRmFicmlrc2dhdGFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU1NTgzZGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNpbXJpc2hhbW5fRmFicmlrc2dhdGFuCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gU2ltcmlzaGFtbi9GYWJyaWtzZ2F0YW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thbGFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2FsYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzEzNjJlNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thbGFuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTa8OlbGFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2FsbXNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thbG1zam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2Y0YmQ0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thbG1zam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNrYWxtc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thcnN0YWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXJzdGFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU4YTc0OTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXJzdGFkCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU2vDpHJzdGFkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2FydmFuZ2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2FydmFuZ2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmViZTk1OTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXJ2YW5nZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNrw6RydsOlbmdlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thdHR1bmdieW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXR0dW5nYnluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM4NDJiMzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXR0dW5nYnluCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU2thdHR1bmdieW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXVsb19QeWhha2llbGluZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXVsb19QeWhha2llbGluZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmJmZWY3YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thdWxvX1B5aGFraWVsaW5lbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU2thdWxvIFB5aMOka2llbGluZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrZWxsZWZ0ZWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrZWxsZWZ0ZWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmFiMTQwMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tlbGxlZnRlYQpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFNrZWxsZWZ0ZcOlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tlbmVfTnlja2xhcmJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tlbmVfTnlja2xhcmJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40OTM0N2QzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2VuZV9OeWNrbGFyYmVyZ2V0CkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU2tlbmUvTnlja2xhcmJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tpbGxpbmdzZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tpbGxpbmdzZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNjM1ZGI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2lsbGluZ3Nmb3JzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTa2lsbGluZ3Nmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta29ycGVkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta29ycGVkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY5NGUzZTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrb3JwZWQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNrb3JwZWQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrb3R0c3VuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tvdHRzdW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg2MmMwNDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrb3R0c3VuZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU2tvdHRzdW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta292ZGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrb3ZkZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40YTVmOGIyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta292ZGUKQEAgLTAsMCArMSw3MCBAQAorIyBTd2VkZW4gLSBTa8O2dmRlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tyb3ZlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tyb3ZlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OGUyNGYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta3JvdmVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTa3LDtnZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2t5bW5hcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2t5bW5hcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNjU4ZDYzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta3ltbmFzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTa3ltbsOkcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2x1c3Nmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TbHVzc2ZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGE2YTliNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2x1c3Nmb3JzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTbHVzc2ZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNtZWRqZWJhY2tlbl9VdmJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU21lZGplYmFja2VuX1V2YmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAxNjU4ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNtZWRqZWJhY2tlbl9VdmJlcmdldApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFNtZWRqZWJhY2tlbi9VdmJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvZGVyaGFtbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29kZXJoYW1uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZhODVmMGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvZGVyaGFtbgpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFPDtmRlcmhhbW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb2RlcmtvcGluZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29kZXJrb3BpbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2U1NWNkNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29kZXJrb3BpbmcKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTw7ZkZXJrw7ZwaW5nCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29kZXJ0YWxqZV9SYWduaGlsZHNib3JnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb2RlcnRhbGplX1JhZ25oaWxkc2JvcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDY1NDM0ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29kZXJ0YWxqZV9SYWduaGlsZHNib3JnCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gU8O2ZGVydMOkbGplL1JhZ25oaWxkc2JvcmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb2xsZWZ0ZWFfSGFsbHN0YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29sbGVmdGVhX0hhbGxzdGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTI3OWJlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29sbGVmdGVhX0hhbGxzdGEKQEAgLTAsMCArMSw2MyBAQAorIyBTd2VkZW4gLSBTb2xsZWZ0ZcOlL0hhbGxzdGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvbGxlZnRlYV9NdWx0cmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvbGxlZnRlYV9NdWx0cmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGZiOGVjMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29sbGVmdGVhX011bHRyYQpAQCAtMCwwICsxLDYzIEBACisjIFN3ZWRlbiAtIFNvbGxlZnRlw6UvTXVsdHLDpQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yYWtlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yYWtlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MzY1MjE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb3Jha2VyCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTw7Zyw6VrZXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcmJ5Z2RlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yYnlnZGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIwZTlkMzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcmJ5Z2RlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU8O2cmJ5Z2RlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yZmxhcmtlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb3JmbGFya2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmU3NzlmNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yZmxhcmtlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTw7ZyZmzDpHJrZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yc2VsZV9OYWxvdmFyZG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcnNlbGVfTmFsb3ZhcmRvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVmOGNkN2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcnNlbGVfTmFsb3ZhcmRvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTb3JzZWxlIE5hbG92YXJkbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yc2VsZV9WYXR0ZW50b3JuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcnNlbGVfVmF0dGVudG9ybmV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJhN2UzYzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcnNlbGVfVmF0dGVudG9ybmV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTb3JzZWxlL1ZhdHRlbnRvcm5ldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yc2pvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yc2pvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NGU5OWU4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb3Jzam9uCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU8O2cnNqw7ZuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb3Vrb2xvamFydmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvdWtvbG9qYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZDVlMjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb3Vrb2xvamFydmkKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNvdWtvbG9qw6RydmkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0YWxvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RhbG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNlODgxNTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0YWxvbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3RhbG9uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdGlnc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdGlnc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEzN2E1OWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0aWdzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN0aWdzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9ja2hvbG1fTWFyaWViZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9ja2hvbG1fTWFyaWViZXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBhZTMwYTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b2NraG9sbV9NYXJpZWJlcmcKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdG9ja2hvbG0vTWFyaWViZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvY2tob2xtX05hY2thIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9ja2hvbG1fTmFja2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjUzNDUwNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvY2tob2xtX05hY2thCkBAIC0wLDAgKzEsNzEgQEAKKyMgU3dlZGVuIC0gU3RvY2tob2xtL05hY2thCitbVGVyYWNvbV9NdXhfMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RlcmFjb21fTXV4XzJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tUZXJhY29tX011eF8zXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVGVyYWNvbV9NdXhfNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RlcmFjb21fTXV4XzVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9kZV9IdWxsc2pvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvZGVfSHVsbHNqb24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTQ2YmM4MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvZGVfSHVsbHNqb24KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN0w7ZkZS9IdWxsc2rDtm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b2RlX0ludGFnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b2RlX0ludGFnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGViM2JhYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvZGVfSW50YWdldApAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIFN0w7ZkZSBJbnRhZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b21uZV9Ta2FzYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b21uZV9Ta2FzYXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2UyOTNiYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvbW5lX1NrYXNhcwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3TDtm1uZS9Ta2Fzw6VzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9yYV9Ta2VkdmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JhX1NrZWR2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMDBjNzkzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9yYV9Ta2VkdmkKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTdG9yYSBTa2VkdmkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JkYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvcmRhbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc1NjU2ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JkYWxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3RvcmRhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9yZmphdGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9yZmphdGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkzYjg5OGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JmamF0ZW4KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTdG9yZmrDpHRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvcmxpZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JsaWVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEwZTI1MjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JsaWVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTdG9ybGllbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvcnVtYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3J1bWFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlmZTIzZmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3J1bWFuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gU3RvcnVtYW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdHJvbXN0YWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0cm9tc3RhZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMjYwOWY2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdHJvbXN0YWQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdHLDtm1zdGFkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3Ryb21zdW5kX0dyZWxzZ2FyZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3Ryb21zdW5kX0dyZWxzZ2FyZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMTI2NTUyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdHJvbXN1bmRfR3JlbHNnYXJkCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gU3Ryw7Ztc3VuZC9HcmVsc2fDpXJkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0dWd1biBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3R1Z3VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU0YjYyMTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0dWd1bgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3R1Z3VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdHlyc2pvYm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0eXJzam9ibwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xY2NjZTA0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdHlyc2pvYm8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTdHlyc2rDtmJvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdWRkZXNqYXVyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdWRkZXNqYXVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM2YTUzZGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1ZGRlc2phdXIKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN1ZGRlc2phdXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1aWphdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1aWphdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWYwMzcxYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3VpamF2YWFyYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3VpamF2YWFyYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3VsdmlrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdWx2aWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDI2ZjU5MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3VsdmlrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTdWx2aWsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1bmRib3JuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5kYm9ybgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNDIzNzU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5kYm9ybgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFN1bmRib3JuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5kc2JydWsgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1bmRzYnJ1awpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YzdhN2ZkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5kc2JydWsKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdW5kc2JydWsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5kc3ZhbGxfU19TdGFkc2JlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3VuZHN2YWxsX1NfU3RhZHNiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2Y2YmJkYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3VuZHN2YWxsX1NfU3RhZHNiZXJnZXQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdW5kc3ZhbGwvUyBTdGFkc2JlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1bm5lX0FzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZV9BcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOTQ1MDBlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZV9BcwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3VubmUvw4VzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZV9CbGFiYXJza3VsbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZV9CbGFiYXJza3VsbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMwZjI5YTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1bm5lX0JsYWJhcnNrdWxsZW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdW5uZS9CbMOlYsOkcnNrdWxsZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZW1vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZW1vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE4YmVlYzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1bm5lbW8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN1bm5lbW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2YW5laG9sbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZhbmVob2xtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjliMzJkNDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2YW5laG9sbQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3ZhbmVob2xtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmFuc3RlaW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2YW5zdGVpbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45N2UxZDNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmFuc3RlaW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN2YW5zdGVpbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZhcmRzb3N1bmRfU3ZhcmRzbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZhcmRzb3N1bmRfU3ZhcmRzbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMzNjMTBlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmFyZHNvc3VuZF9TdmFyZHNvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTdsOkcmRzw7ZzdW5kL1N2w6RyZHPDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZhcnRuYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2YXJ0bmFzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFjMzc2OTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2YXJ0bmFzCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU3ZhcnRuw6RzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmVnX0JyaWNrYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2ZWdfQnJpY2thbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMzg1Yjk4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmVnX0JyaWNrYW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdmVnL0JyaWNrYW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmVnX1JhbnNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZlZ19SYW5zam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmI1MDNkOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZlZ19SYW5zam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN2ZWcvUmFuc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZlbnN0YXZpayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZlbnN0YXZpawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NTFlMzNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmVuc3RhdmlrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTdmVuc3RhdmlrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmluZXN1bmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2aW5lc3VuZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMmM1MDk4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmluZXN1bmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN2aW5lc3VuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3lzc2xlYmFjayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3lzc2xlYmFjawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMmJlNjgyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TeXNzbGViYWNrCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gU3lzc2xlYsOkY2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFiZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYWJlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2VlODUzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFiZXJnCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gVGFiZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYW5kYWRhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYW5kYWRhbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU3MjZkM2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhbmRhZGFsZW4KQEAgLTAsMCArMSw2IEBACisjIFN3ZWRlbiAtIFRhbmTDpWRhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhbm5hc19WYXN0cmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhbm5hc19WYXN0cmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWUxNzk5YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFubmFzX1Zhc3RyYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVMOkbm7DpHMgVsOkc3RyYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFubmRhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYW5uZGFsZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2E0YjY2OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFubmRhbGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBUw6RubmRhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYXJuYWJ5X1J5ZmphbGxldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFybmFieV9SeWZqYWxsZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjI3MjBhOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFybmFieV9SeWZqYWxsZXQKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBUw6RybmFieSBSeWZqw6RsbGV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhcm5hbW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhcm5hbW8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGZkNGU5MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFybmFtbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVMOkcm5hbW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYXNqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMTk1ODU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYXNqbwpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFTDpXNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYXZlbHNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGF2ZWxzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjMwMDk5MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGF2ZWxzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFRhdmVsc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ja3Nmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ub2Nrc2ZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmMwODc5NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ja3Nmb3JzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gVMO2Y2tzZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ub2xsc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ub2xsc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNmMTg1MjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvbGxzam8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBUw7ZsbHNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcm1lc3RvcnAgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcm1lc3RvcnAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDRiZjQ0OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ybWVzdG9ycApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVG9ybWVzdG9ycAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ybmV0cmFzayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ybmV0cmFzawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOTdiM2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ub3JuZXRyYXNrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBUb3JuZXRyw6RzaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ycHNoYW1tYXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcnBzaGFtbWFyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI1MTAyNjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcnBzaGFtbWFyCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gVG9ycHNoYW1tYXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9yc2J5X0JhZGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcnNieV9CYWRhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZjM2U1MDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcnNieV9CYWRhCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gVG9yc2J5L0JhZGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuYXNfQnJlZGthcnIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyYW5hc19CcmVka2FycgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZTg4NTg4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuYXNfQnJlZGthcnIKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBUcmFuw6VzL0JyZWRrw6RycgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuZW1vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuZW1vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVjYTkzMDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyYW5lbW8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBUcmFuZW1vCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuc3RyYW5kX0JvbGhlZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuc3RyYW5kX0JvbGhlZGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJkMTQwYTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyYW5zdHJhbmRfQm9saGVkZW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBUcmFuc3RyYW5kL0JvbGhlZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHJhcnlkX0JldGFzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFyeWRfQmV0YXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmE3YmNkZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHJhcnlkX0JldGFzCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gVHJhcnlkL0JldMOlcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyZWhvcm5pbmdzam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyZWhvcm5pbmdzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTE0ZDQ4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHJlaG9ybmluZ3NqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVHJlaMO2cm5pbmdzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmVsbGVib3JnX0d5bGxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmVsbGVib3JnX0d5bGxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQxMjdmNjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyZWxsZWJvcmdfR3lsbGUKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBUcmVsbGVib3JnL0d5bGxlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyb2xsaGF0dGFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ucm9sbGhhdHRhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MmNhMDYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ucm9sbGhhdHRhbgpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFRyb2xsaMOkdHRhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyb3NhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ucm9zYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZDZiOTYzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ucm9zYQpAQCAtMCwwICsxLDI1IEBACisjIFN3ZWRlbiAtIFRyb3NhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHVsbGluZ2VfSGFtcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVR1bGxpbmdlX0hhbXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIxYjE1YWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVR1bGxpbmdlX0hhbXJhCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gVHVsbGluZ2UvSGFtcmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHlyaW5nZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHlyaW5nZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMjIyZTVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UeXJpbmdlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBUeXJpbmdlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UeXN0YmVyZ2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVR5c3RiZXJnYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZjI0MGEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UeXN0YmVyZ2EKQEAgLTAsMCArMSw2IEBACisjIFN3ZWRlbiAtIFR5c3RiZXJnYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VZGRldmFsbGFfSGVycmVzdGFkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VZGRldmFsbGFfSGVycmVzdGFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJjMTk5MmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVkZGV2YWxsYV9IZXJyZXN0YWQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBVZGRldmFsbGEvSGVycmVzdGFkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVWRkZXZhbGxhX0thcGVsbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVkZGV2YWxsYV9LYXBlbGxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdhMjY2OGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVkZGV2YWxsYV9LYXBlbGxlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBVZGRldmFsbGEvS2FwZWxsZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVWdnbGVoZWRlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVWdnbGVoZWRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZmJmYzY4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VZ2dsZWhlZGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBVZ2dsZWhlZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbGxhbmdlcl9Ta2lkc3RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbGxhbmdlcl9Ta2lkc3RhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhmNWE1NGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVsbGFuZ2VyX1NraWRzdGEKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFVsbMOlbmdlciBTa2lkc3RhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbGxhcmVkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbGxhcmVkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI5ZDRhMDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVsbGFyZWQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBVbGxhcmVkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbHJpY2VoYW1uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbHJpY2VoYW1uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc1OWM2MmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVscmljZWhhbW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBVbHJpY2VoYW1uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVWx2b2hhbW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVsdm9oYW1uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU3YWU3MzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVsdm9oYW1uCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBVbHbDtmhhbW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVsdnNoeXR0YW5fUG9yanVzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbHZzaHl0dGFuX1Bvcmp1cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wOGYwMjM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbHZzaHl0dGFuX1Bvcmp1cwpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFVsdnNoeXR0YW4vUG9yanVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbWVhX01hcmllaGVtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbWVhX01hcmllaGVtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcwZjczNjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVtZWFfTWFyaWVoZW0KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFVtZcOlL01hcmllaGVtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbWZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVtZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MWExZTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbWZvcnMKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFVtZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVW1ncmFuc2VsZV9HcmFuc2VsZWx1bmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVtZ3JhbnNlbGVfR3JhbnNlbGVsdW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhmZWYxMmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVtZ3JhbnNlbGVfR3JhbnNlbGVsdW5kCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBVbWdyYW5zZWxlL0dyYW5zZWxlbHVuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVW5kZXJzYWtlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVW5kZXJzYWtlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NWU4MTZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbmRlcnNha2VyCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBVbmRlcnPDpWtlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVXBwc2FsYV9SaWNrb21iZXJnYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVXBwc2FsYV9SaWNrb21iZXJnYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yYzBhYzhmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VcHBzYWxhX1JpY2tvbWJlcmdhCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gVXBwc2FsYS9SaWNrb21iZXJnYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVXBwc2FsYV9WZWR5eGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVwcHNhbGFfVmVkeXhhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU1Zjk5YTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVwcHNhbGFfVmVkeXhhCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gVXBwc2FsYS9WZWR5eGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VdGFuc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VdGFuc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk1MDQ0MDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVV0YW5zam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFV0YW5zasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VdGFuc2tvZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVXRhbnNrb2cKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzk5ZDg1MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVXRhbnNrb2cKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFV0YW5za29nCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWRkb19FbG1zdGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhZGRvX0VsbXN0YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMTBhMWRhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWRkb19FbG1zdGEKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBWw6RkZMO2L0VsbXN0YQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhbGFkYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFsYWRhbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlhZWVkODgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhbGFkYWxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVsOlbMOlZGFsZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhbGFuZ2VyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWxhbmdlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NGUzM2YxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWxhbmdlcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVsOlbMOlbmdlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFsZGVtYXJzdmlrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWxkZW1hcnN2aWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGQ3Yzc0MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFsZGVtYXJzdmlrCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gVmFsZGVtYXJzdmlrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFsc2pvYnluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWxzam9ieW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGMxNThiOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFsc2pvYnluCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWYWxzasO2YnluCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYW5uYXNfR3Jhbmx1bmRzYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYW5uYXNfR3Jhbmx1bmRzYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUzZTdkZjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhbm5hc19HcmFubHVuZHNiZXJnZXQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBWw6RubsOkcy9HcmFubHVuZHNiZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYW5zYnJvX0h1bW1lbGJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFuc2Jyb19IdW1tZWxiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGI0MjYzZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFuc2Jyb19IdW1tZWxiZXJnZXQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBWYW5zYnJvL0h1bW1lbGJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFyYmVyZ19HcmltZXRvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFyYmVyZ19HcmltZXRvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42Yzg1YWNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXJiZXJnX0dyaW1ldG9uCkBAIC0wLDAgKzEsNjMgQEAKKyMgU3dlZGVuIC0gVmFyYmVyZy9HcmltZXRvbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFybXZhdHRuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhcm12YXR0bmV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjllNTYwOTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhcm12YXR0bmV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWYXJtdmF0dG5ldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFybmFtb19BbGFuZHNyeWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhcm5hbW9fQWxhbmRzcnlkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY5ZjY0MTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhcm5hbW9fQWxhbmRzcnlkCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWw6RybmFtby9BbGFuZHNyeWQgLQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzc2JvdHRlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzc2JvdHRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41YWFjNWU5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXNzYm90dGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWYXNzYm90dGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXNzaWphdXJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXNzaWphdXJlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhkNmViZjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhc3NpamF1cmUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFZhc3NpamF1cmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhc3RhbnNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzdGFuc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRhZmE4OGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhc3RhbnNqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVsOkc3RhbnNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhc3RlcmFzX0xpbGxoYXJhZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzdGVyYXNfTGlsbGhhcmFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBjNTAxOTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhc3RlcmFzX0xpbGxoYXJhZApAQCAtMCwwICsxLDgyIEBACisjIFN3ZWRlbiAtIFbDpHN0ZXLDpXMvTGlsbGjDpHJhZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXN0ZXJ2aWtfRmFyaHVsdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzdGVydmlrX0Zhcmh1bHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmIxN2QzOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzdGVydmlrX0Zhcmh1bHQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBWw6RzdGVydmlrL0bDpXJodWx0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmF0byBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmF0bwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NDcyMWQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXRvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWw6R0w7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZheGJvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXhibwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMTY0ODNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXhibwpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFbDpHhibworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmVtZGFsc3NrYWxldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmVtZGFsc3NrYWxldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNDQ3ODg3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WZW1kYWxzc2thbGV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWZW1kYWxzc2thbGV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WZXNzaWdlYnJvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WZXNzaWdlYnJvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJjZDkyMWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZlc3NpZ2Vicm8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBWZXNzaWdlYnJvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WZXRsYW5kYV9OeWUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZldGxhbmRhX055ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43Y2QxZjVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WZXRsYW5kYV9OeWUKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBWZXRsYW5kYS9OeWUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpZHNlbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlkc2VsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAzNTE3ODMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpZHNlbApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVmlkc2VsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWV0YXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpZXRhcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42Njg2NTdiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWV0YXMKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFZpZXRhcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlrbWFuc2h5dHRhbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlrbWFuc2h5dHRhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YjI0ZDZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWttYW5zaHl0dGFuCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gVmlrbWFuc2h5dHRhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlrc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWtzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDAwNDI1MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlrc2pvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWaWtzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWxoZWxtaW5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWxoZWxtaW5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFhZGIyYTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpbGhlbG1pbmEKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBWaWxoZWxtaW5hCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpbGxhbmRzX1ZhbmdhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWxsYW5kc19WYW5nYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MzFlYzBjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWxsYW5kc19WYW5nYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVmlsbGFuZHMgVsOlbmdhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaW5kZWxncmFuc2VsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmluZGVsZ3JhbnNlbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDMxZTY4MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmluZGVsZ3JhbnNlbGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFZpbmRlbGdyYW5zZWxlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaW5kZWxuX1JlbmZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpbmRlbG5fUmVuZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMzRjODM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaW5kZWxuX1JlbmZvcnMKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBWaW5kZWxuL1JlbmZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlyc2VydW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpcnNlcnVtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMyYzc5YmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpcnNlcnVtCkBAIC0wLDAgKzEsNjMgQEAKKyMgU3dlZGVuIC0gVmlyc2VydW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2J5X0ZvbGxpbmdibyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzYnlfRm9sbGluZ2JvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMzYjE0ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2J5X0ZvbGxpbmdibwpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFZpc2J5L0ZvbGxpbmdibworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2J5X0hhbW5lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzYnlfSGFtbmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFjODM5ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2J5X0hhbW5lbgpAQCAtMCwwICsxLDY1IEBACisjIFN3ZWRlbiAtIFZpc2J5L0hhbW5lbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzYnlfSGF2ZGhlbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzYnlfSGF2ZGhlbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMzc2MjE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaXNieV9IYXZkaGVtCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gVmlzYnkvSGF2ZGhlbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaXNpbmdzbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzaW5nc28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGRjYzRmNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzaW5nc28KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBWaXNpbmdzw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2xhbmRhX055ZGFsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzbGFuZGFfTnlkYWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFhYWYzZWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2xhbmRhX055ZGFsYQpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFZpc2xhbmRhL055ZGFsYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpdGJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVml0YmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcwNTNmNWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpdGJlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVml0YmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaXRzYW5kIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaXRzYW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmExYjRkYzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpdHNhbmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFZpdHNhbmQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpdHNhbmRfVmFnc2pvZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVml0c2FuZF9WYWdzam9mb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMwN2MwMTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpdHNhbmRfVmFnc2pvZm9ycwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVml0c2FuZC9Ww6Rnc2rDtmZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZveG5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Wb3huYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMTRjYmE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Wb3huYQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFZveG5hCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WdW9sbGVyaW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZ1b2xsZXJpbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMDM0Y2E4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WdW9sbGVyaW0KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBWdW9sbGVyaW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtWXN0YWRfTWV0YWxsZ2F0YW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVlzdGFkX01ldGFsbGdhdGFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVjMjUwYjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVlzdGFkX01ldGFsbGdhdGFuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gWXN0YWQvTWV0YWxsZ2F0YW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ZdHRlcm1hbHVuZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtWXR0ZXJtYWx1bmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzQ3M2IzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtWXR0ZXJtYWx1bmcKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBZdHRlcm1hbHVuZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2ktTGp1YmxqYW5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zaS1ManVibGphbmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTFkM2U4YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2ktTGp1YmxqYW5hCkBAIC0wLDAgKzEsMjcgQEAKKyMgU2xvdmVuaWEgLyBManVibGphbmEKKyMgTVVMVElQTEVYIEEKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1CYW5za2FCeXN0cmljYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQmFuc2thQnlzdHJpY2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzQwMTY0YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQmFuc2thQnlzdHJpY2EKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBCYW5za2EgQnlzdHJpY2EgKEJhbnNrYSBCeXN0cmljYSwgU2xvdmFrIFJlcHVibGljKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kdmJ0LnRvd2VyY29tLnNrL29kYm9ybmljaS5waHAKKworIyAyLnN0IG11bHRpcGxleCAoY29tbWVyY2lhbCkgLSBvbiBjaGFubmVsIDUxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIDMuc3QgbXVsdGlwbGV4IChwdWJsaWMpIC0gb24gY2hhbm5lbCAzMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQmFuc2thU3RpYXZuaWNhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1CYW5za2FTdGlhdm5pY2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGFmYzQ3MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQmFuc2thU3RpYXZuaWNhCkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgQmFuc2thIFN0aWF2bmljYSAoQmFuc2thIFN0aWF2bmljYSwgU2xvdmFrIFJlcHVibGljKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kdmJ0LnRvd2VyY29tLnNrL29kYm9ybmljaS5waHAKKworIyAyLnN0IG11bHRpcGxleCAoY29tbWVyY2lhbCkgLSBvbiBjaGFubmVsIDIxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIDMuc3QgbXVsdGlwbGV4IChwdWJsaWMpIC0gb24gY2hhbm5lbCA0OAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQmFyZGVqb3YgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUJhcmRlam92Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE0ODFiZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUJhcmRlam92CkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgQmFyZGVqb3YgKEJhcmRlam92LCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1CcmF0aXNsYXZhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1CcmF0aXNsYXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkNDYxNjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUJyYXRpc2xhdmEKQEAgLTAsMCArMSw0OCBAQAorIyBEVkItVCBCcmF0aXNsYXZhIChCcmF0aXNsYXZhLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjCisjIFQtIFZpZGVvIEFnZW5jeQorIyAoVE9ETzogaHR0cDovL3d3dy56aXZlLnNrL2JyYXRpc2xhdmEtc2EtZG9ja2FsYS1ub3Z5Y2gtcHJvZ3JhbW92LXYtZHZiLXQtZGl2YWNpLXNpLW5hbGFkaWEtdXotYWotdGEzL3NjLTQtYS0yOTg4MzAvZGVmYXVsdC5hc3B4KQorIworIyByZWdpb25hbCBtdWx0aXBsZXggLSBvbiBjaGFubmVsIDU1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1DYWRjYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQ2FkY2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWJkMGU1YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQ2FkY2EKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBDYWRjYSAoQ2FkY2EsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgMzIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLURldHZhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1EZXR2YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NGNmMmE2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1EZXR2YQpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIERldHZhIChEZXR2YSwgU2xvdmFrIFJlcHVibGljKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kdmJ0LnRvd2VyY29tLnNrL29kYm9ybmljaS5waHAKKworIyAyLnN0IG11bHRpcGxleCAoY29tbWVyY2lhbCkgLSBvbiBjaGFubmVsIDYwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIDMuc3QgbXVsdGlwbGV4IChwdWJsaWMpIC0gb24gY2hhbm5lbCAzMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stSG51c3RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1IbnVzdGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDBiNDFlZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stSG51c3RhCkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgSG51c3RhIChIbnVzdGEsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCAyNworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgNTQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUtvc2ljZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stS29zaWNlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdjMDFiODEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUtvc2ljZQpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIEtvc2ljZSAoS29zaWNlLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1LcmFsb3Zza3lDaGxtZWMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUtyYWxvdnNreUNobG1lYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MTYzZTgzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1LcmFsb3Zza3lDaGxtZWMKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBLcmFsb3Zza3kgQ2hsbWVjIChLcmFsb3Zza3kgQ2hsbWVjLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1Lcm9tcGFjaHkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUtyb21wYWNoeQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNzc0N2NkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1Lcm9tcGFjaHkKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBLcm9tcGFjaHkgKEtyb21wYWNoeSwgU2xvdmFrIFJlcHVibGljKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kdmJ0LnRvd2VyY29tLnNrL29kYm9ybmljaS5waHAKKworIyAyLnN0IG11bHRpcGxleCAoY29tbWVyY2lhbCkgLSBvbiBjaGFubmVsIDU5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIDMuc3QgbXVsdGlwbGV4IChwdWJsaWMpIC0gb24gY2hhbm5lbCAyNQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTHVjZW5lYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTHVjZW5lYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMjI1ZWFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1MdWNlbmVjCkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgTHVjZW5lYyAoTHVjZW5lYywgU2xvdmFrIFJlcHVibGljKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kdmJ0LnRvd2VyY29tLnNrL29kYm9ybmljaS5waHAKKworIyAyLnN0IG11bHRpcGxleCAoY29tbWVyY2lhbCkgLSBvbiBjaGFubmVsIDYwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIDMuc3QgbXVsdGlwbGV4IChwdWJsaWMpIC0gb24gY2hhbm5lbCAzMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTWVkemV2IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1NZWR6ZXYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTJlMTliYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTWVkemV2CkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgTWVkemV2IChNZWR6ZXYsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgMjUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLU5hbWVzdG92byBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTmFtZXN0b3ZvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVhNzZjMTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLU5hbWVzdG92bwpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIE5hbWVzdG92byAoTmFtZXN0b3ZvLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1OaXRyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTml0cmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTgyMzQyNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTml0cmEKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBOaXRyYSAoTml0cmEsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCAyMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgNDgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVBvcHJhZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUG9wcmFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNjZWMzNTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVBvcHJhZApAQCAtMCwwICsxLDQyIEBACisjIERWQi1UIFBvcHJhZCAoUG9wcmFkLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI0LzU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUG92YXpza2FCeXN0cmljYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUG92YXpza2FCeXN0cmljYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMzI3NTllCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1Qb3ZhenNrYUJ5c3RyaWNhCkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgUG92YXpza2EgQnlzdHJpY2EgKFBvdmF6c2thIEJ5c3RyaWNhLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDMyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1QcmVzb3YgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVByZXNvdgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZjBhMzZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1QcmVzb3YKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBQcmXFoW92IChQcmXFoW92LCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIE1VWDIgLSBDb21tZXJjaWFsIC0gb24gY2hhbm5lbCA1OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBNVVgzIC0gUHVibGljIC0gb24gY2hhbm5lbCAyNQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUHJpZXZpZHphIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1QcmlldmlkemEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGFmYmMxZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUHJpZXZpZHphCkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgUHJpZXZpZHphIChQcmlldmlkemEsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgNTcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVJldnVjYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUmV2dWNhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmNzk3Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVJldnVjYQpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIFJldnVjYSAoUmV2dWNhLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgMjcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1Sb3puYXZhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1Sb3puYXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZjMDlhYWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVJvem5hdmEKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBSb3puYXZhIChSb3puYXZhLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgMjcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1SdXpvbWJlcm9rIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1SdXpvbWJlcm9rCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZjMmM2NjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVJ1em9tYmVyb2sKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBSdXpvbWJlcm9rIChSdXpvbWJlcm9rLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1TbmluYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stU25pbmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjBmMTU4NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stU25pbmEKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBTbmluYSAoU25pbmEsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgMjUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVN0YXJhTHVib3ZuYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stU3RhcmFMdWJvdm5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIxY2Y3NDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVN0YXJhTHVib3ZuYQpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIFN0YXJhIEx1Ym92bmEgKFN0YXJhIEx1Ym92bmEsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1NQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgMjQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVN0dXJvdm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVN0dXJvdm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjU0ZjhkZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stU3R1cm92bwpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIFN0dXJvdm8gKFN0dXJvdm8sIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCAyMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgNDgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVRyZW5jaW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVRyZW5jaW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODA1MDM4YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stVHJlbmNpbgpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIFRyZW5jaW4gKFRyZW5jaW4sIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgNTcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVppbGluYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stWmlsaW5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU4ZDQ4NmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVppbGluYQpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIFppbGluYSAoWmlsaW5hLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDMyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC90dy1BbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3R3LUFsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZTE4MTY3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC90dy1BbGwKQEAgLTAsMCArMSwxMzIgQEAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzMwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM5MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTEwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU3MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MzAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjkwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc1MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4MTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODcwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTkzMDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1LaGFya292IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1LaGFya292Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM4YzZiMDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VhLUtoYXJrb3YKQEAgLTAsMCArMSw0OSBAQAorIyBVa3JhaW5lLCBLaGFya292CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWEtS2lldiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWEtS2lldgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YmYwOTZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1LaWV2CkBAIC0wLDAgKzEsNDkgQEAKKyMgVWtyYWluZSwgS2lldgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VhLUxvem92YXlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1Mb3pvdmF5YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZTdkOWI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1Mb3pvdmF5YQpAQCAtMCwwICsxLDQ5IEBACisjIFVrcmFpbmUsIExvem92YXlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWEtT2Rlc3NhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1PZGVzc2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTZmMDBmYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWEtT2Rlc3NhCkBAIC0wLDAgKzEsNDkgQEAKKyMgVWtyYWluZSwgT2Rlc3NhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWctQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91Zy1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2UyYTI4NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWctQWxsCkBAIC0wLDAgKzEsNDUgQEAKKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyCTogS2FtcGFsYS1VZ2FuZGEKKyMgZGF0ZQkJCTogMjAxMy0xMS0wMQorIyBwcm92aWRlZCBieQkJOiBKb3NlcGggWmlrdXNvb2thCisjIAkgICAgICAgICAgICAgICAJOiBodHRwOi8vam9zZXBoLnppa3Vzb29rYS5jb20KKyMgCSAgICAgICAgICAgICAgIAk6IGpvc2VwaEB6aWt1c29va2EuY29tCisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbVUNDIFByaW1hcnldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gQVVUTworCVNUUkVBTV9JRCA9IDEKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBBVVRPCisJU1RSRUFNX0lEID0gOQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1BYmVyZGFyZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQWJlcmRhcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTBjMDhiMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQWJlcmRhcmUKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0NGNDQrMERBL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQWJlcmRhcmUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNC0gQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNSsgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMisgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI4KyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjctIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTIxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUFuZ3VzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Bbmd1cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMTI3ZTM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Bbmd1cwpAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvREQ0oDBSUS9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEFuZ3VzCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNjAtIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CZWFjb25IaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CZWFjb25IaWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU0OWIzYzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJlYWNvbkhpbGwKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1RRM6AxUlQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCZWFjb24gSGlsbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzYwLSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTMrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMzIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTEgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3KyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CZWxtb250IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CZWxtb250Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQxN2MzY2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJlbG1vbnQKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0xOOKA2SlQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCZWxtb250CisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjIgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMzIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAtIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTMgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwLSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjggQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQmlsc2RhbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJpbHNkYWxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI4MTY0Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJpbHNkYWxlCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9UUzmgN0pTL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQmlsc2RhbGUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzEgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQmxhY2tIaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CbGFja0hpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjk3YzI2ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQmxhY2tIaWxsCkBAIC0wLDAgKzEsMTA2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvTUw3oDROWi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEJsYWNrIEhpbGwKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDMgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzIgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MSsgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NCBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDcgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQwIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxIEwtR0xXXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQmxhZW5wbHd5ZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQmxhZW5wbHd5ZgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41YTU2OWMyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CbGFlbnBsd3lmCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9TWTIzoDRRSC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEJsYWVucGx3eWYKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjggQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CbHVlYmVsbEhpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJsdWViZWxsSGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MzBhZTc1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CbHVlYmVsbEhpbGwKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L01FNaA5UkQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCbHVlYmVsbCBIaWxsCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDYgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQzIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMyIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDUgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOSsgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCsgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MjYxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQnJlc3NheSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQnJlc3NheQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45Yzk1MjM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CcmVzc2F5CkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9aRTKgOUVML05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQnJlc3NheQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI4IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyKyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ4MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CcmllcmxleUhpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJyaWVybGV5SGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNGZiYzkwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CcmllcmxleUhpbGwKQEAgLTAsMCArMSw5MyBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0RZNaAyUEQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCcmllcmxleSBIaWxsCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNjAtIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NysgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OS0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOSBMLUJSTV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJyaXN0b2xJbGNoZXN0ZXJDcmVzY2VudCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQnJpc3RvbElsY2hlc3RlckNyZXNjZW50Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZhMjY4ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJyaXN0b2xJbGNoZXN0ZXJDcmVzY2VudApAQCAtMCwwICsxLDkzIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvQlMxM6A3SFUvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCcmlzdG9sIElsY2hlc3RlciBDcmVzY2VudAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQxKyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIrIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDUgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM5KyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDcgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAgTC1CU0xdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CcmlzdG9sS2luZ3NXZXN0b24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJyaXN0b2xLaW5nc1dlc3RvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWJkMjJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CcmlzdG9sS2luZ3NXZXN0b24KQEAgLTAsMCArMSw5MyBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0JTOaAyUVkvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCcmlzdG9sIEtpbmdzIFdlc3RvbgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQzIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwIEwtQlNMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQnJvbXNncm92ZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQnJvbXNncm92ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44OTU2ZWRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Ccm9tc2dyb3ZlCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CNjGgOUpEL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQnJvbXNncm92ZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI2IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MSsgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NCBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDcgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwLSBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Ccm91Z2hlck1vdW50YWluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Ccm91Z2hlck1vdW50YWluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk5YzA0YTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJyb3VnaGVyTW91bnRhaW4KQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0JUNzigM1NHL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQnJvdWdoZXIgTW91bnRhaW4KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyOCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAtIE5JIG11eF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1DYWxkYmVjayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2FsZGJlY2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzc1YzNkMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2FsZGJlY2sKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0NBN6A4RFcvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBDYWxkYmVjaworIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI1LSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjgtIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyOTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMyIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMtIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDg5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjYtIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTM4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOS0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzNzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwLSBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1DYXJhZG9uSGlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2FyYWRvbkhpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTIxNmFhNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2FyYWRvbkhpbGwKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1BMMTSgNUxUL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQ2FyYWRvbiBIaWxsCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjgrIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNSsgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzEgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNC0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI3LSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNhcm1lbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2FybWVsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjllNzhkZmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNhcm1lbApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvU0ExNKA3TkEvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBDYXJtZWwKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M2MC0gQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUzIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1DaGF0dG9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1DaGF0dG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRkNDBhNDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNoYXR0b24KQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L05FNjegNUpEL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQ2hhdHRvbgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQ1IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkrIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNoZXN0ZXJmaWVsZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2hlc3RlcmZpZWxkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM4YmVkYjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNoZXN0ZXJmaWVsZApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvUzE4oDRCVC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIENoZXN0ZXJmaWVsZAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI2IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ3JhaWdrZWxseSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ3JhaWdrZWxseQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MjQ5NDgxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1DcmFpZ2tlbGx5CkBAIC0wLDAgKzEsMTA2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvS1kzoDlIVy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIENyYWlna2VsbHkKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzMgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MiBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ1IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOSsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMCBMLUVETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNyeXN0YWxQYWxhY2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNyeXN0YWxQYWxhY2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2QxN2RkOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ3J5c3RhbFBhbGFjZQpAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvU0UxOaAxVUUvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBDcnlzdGFsIFBhbGFjZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzIzIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMyBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI4LSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTI5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAtIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTQ1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLURhcnZlbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRGFydmVsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAxNWY5ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLURhcnZlbApAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvS0ExNqA5TFMvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBEYXJ2ZWwKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE1LTAxLTE3CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyMi0gQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMxIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI4IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLURpdmlzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1EaXZpcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZGJjNmM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1EaXZpcwpAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvQlQxN6AwTkcvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBEaXZpcworIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI3IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzMgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRG92ZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLURvdmVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE1ZmQyNzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLURvdmVyCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9DVDE1oDdBUS9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIERvdmVyCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNTAgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTkgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ4IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1EdXJyaXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUR1cnJpcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZWNkYzcwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1EdXJyaXMKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0FCMzmgM1RIL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgRHVycmlzCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjggQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMyIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUVpdHNoYWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUVpdHNoYWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzkwMWMxMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRWl0c2hhbApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvSFMyoDlKVy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEVpdHNoYWwKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjggQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI5IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUVtbGV5TW9vciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRW1sZXlNb29yCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM5YzAxZDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUVtbGV5TW9vcgpAQCAtMCwwICsxLDEwNiBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0hEOKA5VEYvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBFbWxleSBNb29yCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDcgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ0IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMyIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTEgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDggQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQxIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU2IEwtTERTXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRmVuaGFtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1GZW5oYW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGQwNTRmNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRmVuaGFtCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9ORTE1oDZQTC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEZlbmhhbQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI3IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjErIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUZlbnRvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRmVudG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhjMGE1NDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUZlbnRvbgpAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvU1Q0oDJOWC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEZlbnRvbgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI0IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMiBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjErIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUZlcnJ5c2lkZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRmVycnlzaWRlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcxYzJlMTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUZlcnJ5c2lkZQpAQCAtMCwwICsxLDU3IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvU0ExNys1VVIvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBGZXJyeXNpZGUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyMSsgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwLSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUd1aWxkZm9yZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstR3VpbGRmb3JkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiNTYxNjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUd1aWxkZm9yZApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvR1UyoDdSVy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEd1aWxkZm9yZAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQzIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OCBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUyIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDAgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSGFubmluZ3RvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSGFubmluZ3RvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kM2JiYzc1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1IYW5uaW5ndG9uCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9SRzI2oDVVRC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEhhbm5pbmd0b24KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzIgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkrIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUhhc3RpbmdzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1IYXN0aW5ncwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MjBjODZhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1IYXN0aW5ncwpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVE4zNKAxTEUvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBIYXN0aW5ncworIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI1IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMC0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUhlYXRoZmllbGQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUhlYXRoZmllbGQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmRhNmZlMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSGVhdGhmaWVsZApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVE4yMaAwVUcvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBIZWF0aGZpZWxkCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNTIgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDQgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQxIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1IZW1lbEhlbXBzdGVhZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSGVtZWxIZW1wc3RlYWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDExNmQ0ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSGVtZWxIZW1wc3RlYWQKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0hQM6A4U0EvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBIZW1lbCBIZW1wc3RlYWQKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDEgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTUgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ3IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUh1bnRzaGF3Q3Jvc3MgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUh1bnRzaGF3Q3Jvc3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2IyYjk2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSHVudHNoYXdDcm9zcwpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvRVgzMaAzTkQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBIdW50c2hhdyBDcm9zcworIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzUwIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OS0gRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDggU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTYrIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NS0gQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NDU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSWRsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSWRsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNzM2Y2E5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1JZGxlCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CRDE4oDFKUC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIElkbGUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjEgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI3IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUtlZWx5bGFuZ0hpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUtlZWx5bGFuZ0hpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWM5MGI1ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstS2VlbHlsYW5nSGlsbApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvS1cxNaAxU0YvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBLZWVseWxhbmcgSGlsbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQ2IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MiBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ1IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOSsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQwKyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYyNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1LZWlnaGxleSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstS2VpZ2hsZXkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWI4NjQ0OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstS2VpZ2hsZXkKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0JEMjCgNVJML05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgS2VpZ2hsZXkKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0OSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTcgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjAtIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NCBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1LaWx2ZXlIaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1LaWx2ZXlIaWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU5MTllZTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUtpbHZleUhpbGwKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1NBMaA3QkwvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBLaWx2ZXkgSGlsbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzIzIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstS25vY2tNb3JlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Lbm9ja01vcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2Q3ZTQxZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstS25vY2tNb3JlCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9BQjU1oDZYUC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEtub2NrbW9yZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI2IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI5IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUxhbmNhc3RlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTGFuY2FzdGVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA2OTRlN2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUxhbmNhc3RlcgpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvTEE1oDhBRi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIExhbmNhc3RlcgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI3LSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQtIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1KyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI4KyBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTGFya1N0b2tlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1MYXJrU3Rva2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2Q3YTZmYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTGFya1N0b2tlCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9HTDU1oDZMUy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIExhcmsgU3Rva2UKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDErIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDQgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ3IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMC0gQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTGltYXZhZHkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUxpbWF2YWR5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk3N2I5NzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUxpbWF2YWR5CkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CVDQ5oDlMSi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIExpbWF2YWR5CisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNTAgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU5IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NSBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1MbGFuZGRvbmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUxsYW5kZG9uYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ODA2N2VlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1MbGFuZGRvbmEKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0xMNTigOFlCL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgTGxhbmRkb25hCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNTcgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwLSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTMgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTWFsdmVybiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTWFsdmVybgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NmMxMGUyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1NYWx2ZXJuCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9XUjE0oDRBRC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIE1hbHZlcm4KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M1MyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTcgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OS0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTWVuZGlwIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1NZW5kaXAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGQzODQ5YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTWVuZGlwCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CQTWgM0xCL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgTWVuZGlwCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDkgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMzIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDggU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTIgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU4IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU1pZGh1cnN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1NaWRodXJzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNzQxNmFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1NaWRodXJzdApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvR1UyOKA5RUEvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBNaWRodXJzdAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzU1IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NCBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU5IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTW9lbHlQYXJjIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Nb2VseVBhcmMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTIzMDBiNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTW9lbHlQYXJjCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9DSDegNVVVL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgTW9lbCB5IFBhcmMKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE1LTAxLTE3CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMyIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTEtIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzEzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTIrIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OC0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4OTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU5vdHRpbmdoYW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU5vdHRpbmdoYW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODExMmVjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTm90dGluZ2hhbQpAQCAtMCwwICsxLDkzIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvTkcxNqAyU1UvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBOb3R0aW5naGFtCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjcgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTIgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ4IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgTC1OT1RdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1PbGl2ZXJzTW91bnQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU9saXZlcnNNb3VudApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44OThlMjlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1PbGl2ZXJzTW91bnQKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1lPMTGgMlRaL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgT2xpdmVycyBNb3VudAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzU3IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTQgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OCBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUzIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU94Zm9yZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstT3hmb3JkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEyNzQzNDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU94Zm9yZApAQCAtMCwwICsxLDEwNiBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L09YM6A5U1MvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBPeGZvcmQKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE1LTAxLTE3CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M1MysgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwLSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUwIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTktIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3Nzc4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTcgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgTC1PRkRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1QZW5kbGVGb3Jlc3QgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBlbmRsZUZvcmVzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YmNkZDVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1QZW5kbGVGb3Jlc3QKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0JCMTKgOVBXL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgUGVuZGxlIEZvcmVzdAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI4KyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI3LSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQtIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTc4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMisgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUGx5bXB0b24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBseW1wdG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQzYmNlOTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBseW1wdG9uCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9QTDegMVRUL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgUGx5bXB0b24KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M1NCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDkgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTYgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU4IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBvbnRvcFBpa2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBvbnRvcFBpa2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmNlYjIyOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUG9udG9wUGlrZQpAQCAtMCwwICsxLDEwNiBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0RIOaA5QVQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBQb250b3AgUGlrZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzU4IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMyBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUwIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTkgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OSBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NiBMLU5DTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBvbnR5cG9vbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUG9udHlwb29sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI2NmM4MzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBvbnR5cG9vbApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvTlA0oDVYSi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFBvbnR5cG9vbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzIzKyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjYrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1LSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyLSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjgtIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1Mjk4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOSsgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUHJlc2VsaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUHJlc2VsaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MmU3MWMyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1QcmVzZWxpCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9TQTQxoDNRUi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFByZXNlbGkKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0MysgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2KyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0Mi0gU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDE4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NS0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM5KyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDArIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjI2MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJlZHJ1dGggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJlZHJ1dGgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjUwY2E2MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUmVkcnV0aApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVFIxNqA2UVovTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBSZWRydXRoCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDQrIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MSsgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDggU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTEgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ3IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJlaWdhdGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJlaWdhdGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjg0NWQzNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUmVpZ2F0ZQpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvUkgyoDlSTi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFJlaWdhdGUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M2MC0gQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTMgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUmlkZ2VIaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1SaWRnZUhpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWJiMDk3MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUmlkZ2VIaWxsCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9IUjigMlBHL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgUmlkZ2UgSGlsbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI4IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMiBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJvc2VtYXJraWUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJvc2VtYXJraWUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2ZiZDdlMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUm9zZW1hcmtpZQpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvSVYxMaA4WFkvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBSb3NlbWFya2llCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDUgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM5KyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJvc25lYXRoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Sb3NuZWF0aApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZjAwNmU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Sb3NuZWF0aApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvRzg0oDBMRi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFJvc25lYXRoCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDkgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU4IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUzIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTcgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwLSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTQgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUm93cmlkZ2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJvd3JpZGdlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE2Zjc4MWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJvd3JpZGdlCkBAIC0wLDAgKzEsMTA2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvUE8zMKA0SFQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBSb3dyaWRnZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI0IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjErIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI5IEwtU09UXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUnVtc3RlckZvcmVzdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUnVtc3RlckZvcmVzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xZjIyOWNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1SdW1zdGVyRm9yZXN0CkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9LVzWgNkRKL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgUnVtc3RlciBGb3Jlc3QKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAtIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTkgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU2FkZGxld29ydGggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNhZGRsZXdvcnRoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZhNGIyZDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNhZGRsZXdvcnRoCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9PTDOgNVJVL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgU2FkZGxld29ydGgKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxLSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxMzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUyKyBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDggQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNhbGlzYnVyeSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU2FsaXNidXJ5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE3ZjI0YTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNhbGlzYnVyeQpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvU1AyoDhOWi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFNhbGlzYnVyeQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzU3IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OS0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TYW5keUhlYXRoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TYW5keUhlYXRoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjViMzQyMzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNhbmR5SGVhdGgKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1NHMTmgMk5IL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgU2FuZHkgSGVhdGgKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzIgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUyIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjErIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNlbGtpcmsgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNlbGtpcmsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWU0ZDgyMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU2Vsa2lyawpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVEQ3oDRRTi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFNlbGtpcmsKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M1MCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTktIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTMgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwLSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTUgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU2hlZmZpZWxkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TaGVmZmllbGQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2MzMTIwNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU2hlZmZpZWxkCkBAIC0wLDAgKzEsMTA2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvUzEwoDVHTC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFNoZWZmaWVsZAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI3IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDUgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM5KyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjErIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEwtU0ZEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3RvY2tsYW5kSGlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3RvY2tsYW5kSGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YjlhZDVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TdG9ja2xhbmRIaWxsCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9FWDE0oDlFUC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFN0b2NrbGFuZCBIaWxsCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjYrIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMysgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUtIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjItIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOC0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI5KyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TdG9yZXRvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3RvcmV0b24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTVmODg2OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3RvcmV0b24KQEAgLTAsMCArMSw5MyBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0NINjOgMlJIL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgU3RvcmV0b24KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyOCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwIEwtTElWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3VkYnVyeSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3VkYnVyeQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYmUwOTQ3OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3VkYnVyeQpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvQ08xMKA1TkcvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBTdWRidXJ5CisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDQgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQxIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU4IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjAtIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NiBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDcgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3V0dG9uQ29sZGZpZWxkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TdXR0b25Db2xkZmllbGQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmYxZGVlZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3V0dG9uQ29sZGZpZWxkCkBAIC0wLDAgKzEsMTA2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvQjc1oDVKSi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFN1dHRvbiBDb2xkZmllbGQKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0MyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDYgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzMgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MiBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ1IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOSsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQwKyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYyNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MSBMLUJSTV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVRhY29sbmVzdG9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1UYWNvbG5lc3RvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xZjY2NGI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1UYWNvbG5lc3RvbgpAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvTlIxNqAxRFcvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBUYWNvbG5lc3RvbgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzU1LSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTktIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMxIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkrIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MCBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1UaGVXcmVraW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVRoZVdyZWtpbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZTU4Nzg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1UaGVXcmVraW4KQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1RGNqA1QUgvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBUaGUgV3Jla2luCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjYgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIzIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQxKyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAtIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTQ1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVRvcm9zYXkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVRvcm9zYXkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzRiOTZlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstVG9yb3NheQpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvUEE2NaA2QVovTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBUb3Jvc2F5CisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjggQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIzIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjYgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI5IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMiBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1UdW5icmlkZ2VXZWxscyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstVHVuYnJpZGdlV2VsbHMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDdlZDI4MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstVHVuYnJpZGdlV2VsbHMKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1ROMTGgME5CL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgVHVuYnJpZGdlIFdlbGxzCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNTIgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDQgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQxIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1XYWx0aGFtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1XYWx0aGFtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc4OWFlNjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVdhbHRoYW0KQEAgLTAsMCArMSwxMDYgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9MRTE0oDRBSi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFdhbHRoYW0KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0OSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTQtIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczNzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMxIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTcgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU4IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI2IEwtTk9UXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstV2Vudm9lIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1XZW52b2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2QyMWI3YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstV2Vudm9lCkBAIC0wLDAgKzEsMTA2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvQ0Y1oDZTQS9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFdlbnZvZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQxKyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzEgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MisgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkrIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MSBMLUNERl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVdoaXRlaGF3a0hpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVdoaXRlaGF3a0hpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2NiYWJiYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstV2hpdGVoYXdrSGlsbApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvQk4yoDVFTC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFdoaXRlaGF3ayBIaWxsCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNjAtIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTEgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstV2ludGVySGlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstV2ludGVySGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNTU0NmQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1XaW50ZXJIaWxsCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CTDagNlNML05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgV2ludGVyIEhpbGwKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M1MCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTkgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzEgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OCBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTQtIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzM3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3ZuLUhhbm9pIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC92bi1IYW5vaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYmI5Njk1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC92bi1IYW5vaQpAQCAtMCwwICsxLDI2IEBACisjIEhhbm9pIC0gVmlldG5hbSAtIERWQi1UIGJ5IFZUQworIyBjb250cmlidXRlZCBieSBQaGFtIFRoYW5oIE5hbSA8cGhhbXRoYW5obmFtLnB0bkBnbWFpbC5jb20+CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC92bi1UaGFpYmluaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdm4tVGhhaWJpbmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjM0MDk0OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdm4tVGhhaWJpbmgKQEAgLTAsMCArMSwyNiBAQAorIyBUaGFpYmluaCAtIFZpZXRuYW0gLSBEVkItVCBieSBWVEMKKyMgY29udHJpYnV0ZWQgYnkgUGhhbSBUaGFuaCBOYW0gPHBoYW10aGFuaG5hbS5wdG5AZ21haWwuY29tPgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhYy9mYWFjXzEuMjkuOS4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZhYWNfMS4yOS45LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjc4YmRhOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhYy9mYWFjXzEuMjkuOS4yLmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiRnJlZXdhcmUgQWR2YW5jZWQgQXVkaW8gQ29kZXIgKE1QRUcyLUFBQywgTVBFRzQtQUFDKSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYXVkaW9jb2RpbmcuY29tL2ZhYWMuaHRtbCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNiZjUwMDAyYWVmZDAwMmY0OWU3YmI4NTQwNjNmN2U3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYmZhYWMvY29kZXIuaDtiZWdpbmxpbmU9NTtlbmRsaW5lPTE3O21kNT1mYTFmZDZhNWZhOGNkYzg3N2Q2M2ExMjUzMGQyNzNlMCIKKworTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgorCitpbmhlcml0IGF1dG90b29scworCitTUkNfVVJJID0gIiBcCisgICAgJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2ZhYWMvJHtCUH0udGFyLmd6IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjJiNThkNjIxZmFkOGZkYTg3OWYwN2I3Y2FkOGJmZTEwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ0NWYyMDlkODM3YzQ5ZGFlNmRlZWJjZGQ4N2I4Y2MzYjA0ZWEyOTA4ODAzNThmYWVjZjVlNzczNzc0MGM3NzEiCisKK1BBQ0tBR0VTID0rICJsaWIke0JQTn0gbGliJHtCUE59LWRldiIKKworRklMRVNfJHtQTn0gPSAiICR7YmluZGlyfS9mYWFjICIKK0ZJTEVTX2xpYiR7QlBOfSA9ICIgJHtsaWJkaXJ9Lyouc28uKiIKK0ZJTEVTX2xpYiR7QlBOfS1kZXYgPSAiIFwKKyAgICAke2luY2x1ZGVkaXJ9IFwKKyAgICAke2xpYmRpcn0vKi5zbyBcCisgICAgJHtsaWJkaXJ9LyoubGEgXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZhYWNfMS4yOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhYy9mYWFjXzEuMjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzNmYyZjQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZhYWNfMS4yOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLVNVTU1BUlkgPSAiRnJlZXdhcmUgQWR2YW5jZWQgQXVkaW8gQ29kZXIgKE1QRUcyLUFBQywgTVBFRzQtQUFDKSIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTEdQTHYyKyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuYXVkaW9jb2RpbmcuY29tL2ZhYWMuaHRtbCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNiZjUwMDAyYWVmZDAwMmY0OWU3YmI4NTQwNjNmN2U3IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYmZhYWMvY29kZXIuaDtiZWdpbmxpbmU9NTtlbmRsaW5lPTE3O21kNT1mYTFmZDZhNWZhOGNkYzg3N2Q2M2ExMjUzMGQyNzNlMCIKLQotTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgotCi1pbmhlcml0IGF1dG90b29scwotCi1TUkNfVVJJID0gIiBcCi0gICAgJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2ZhYWMvJHtCUH0udGFyLmd6IFwKLSAgICBmaWxlOi8vMDAwMS1tcDR2Mi1EZWZpbmUtX19TVFJJTkctaWYtY2RlZnMuaC1kb2VzLW5vdC1leGlzdC5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI3ODYwMzcyMGY2NTUxODAwNTlkNjk3MGM1ODJhMzAwNSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4Y2M3YjAzY2ViMjcyMjIyM2E2NDU3ZTk1ZDRjOTk0NzMxZDgwMjE0YTAzYmEzM2QxYWY3NmJhNTNmNGIzMTk3IgotCi1FWFRSQV9PRUNPTkYgKz0gIi0td2l0aG91dC1tcDR2MiIKLQotUEFDS0FHRVMgPSsgImxpYiR7QlBOfSBsaWIke0JQTn0tZGV2IgotCi1GSUxFU18ke1BOfSA9ICIgJHtiaW5kaXJ9L2ZhYWMgIgotRklMRVNfbGliJHtQTn0gPSAiICR7bGliZGlyfS8qLnNvLioiCi1GSUxFU19saWIke1BOfS1kZXYgPSAiIFwKLSAgICAke2luY2x1ZGVkaXJ9IFwKLSAgICAke2xpYmRpcn0vKi5zbyBcCi0gICAgJHtsaWJkaXJ9LyoubGEgXAotIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZpbGVzLzAwMDEtbXA0djItRGVmaW5lLV9fU1RSSU5HLWlmLWNkZWZzLmgtZG9lcy1ub3QtZXhpc3QucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWMvZmlsZXMvMDAwMS1tcDR2Mi1EZWZpbmUtX19TVFJJTkctaWYtY2RlZnMuaC1kb2VzLW5vdC1leGlzdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDg0NWRkZi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWMvZmlsZXMvMDAwMS1tcDR2Mi1EZWZpbmUtX19TVFJJTkctaWYtY2RlZnMuaC1kb2VzLW5vdC1leGlzdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gNDZjYzkyOThjMzhiOWRkNzM1ZmVjM2YzOWFhMmQ2ZTU2YTM2MjQxMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDI4IE1hciAyMDE3IDIxOjMzOjM2IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8yXSBtcDR2MjogRGVmaW5lIF9fU1RSSU5HIGlmIGNkZWZzLmggZG9lcyBub3QgZXhpc3QKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGNvbW1vbi9tcDR2Mi9tcDR1dGlsLmggfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9jb21tb24vbXA0djIvbXA0dXRpbC5oIGIvY29tbW9uL21wNHYyL21wNHV0aWwuaAotaW5kZXggMWY5Y2I2NC4uMWU3YWNlZCAxMDA2NDQKLS0tLSBhL2NvbW1vbi9tcDR2Mi9tcDR1dGlsLmgKLSsrKyBiL2NvbW1vbi9tcDR2Mi9tcDR1dGlsLmgKLUBAIC0yMyw2ICsyMywxMCBAQAotICNkZWZpbmUgX19NUDRfVVRJTF9JTkNMVURFRF9fCi0gI2luY2x1ZGUgPGFzc2VydC5oPgotIAotKyNpZm5kZWYgX19TVFJJTkcKLSsjZGVmaW5lIF9fU1RSSU5HKHgpICAgICAjeAotKyNlbmRpZgotKwotICNpZm5kZWYgQVNTRVJUCi0gI2RlZmluZSBBU1NFUlQoZXhwcikgXAotIAlpZiAoIShleHByKSkgeyBcCi0tLSAKLTIuMTIuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmlsZXMvMDAwMS1Vc2UtQVJNLU5FT04tYWNjZWxhcmF0aW9uLWZvci1mbG9hdC1tdWx0aXRocmVhZGVkLXNlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZpbGVzLzAwMDEtVXNlLUFSTS1ORU9OLWFjY2VsYXJhdGlvbi1mb3ItZmxvYXQtbXVsdGl0aHJlYWRlZC1zZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGUxODQ2ZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmlsZXMvMDAwMS1Vc2UtQVJNLU5FT04tYWNjZWxhcmF0aW9uLWZvci1mbG9hdC1tdWx0aXRocmVhZGVkLXNlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotRnJvbSAyZGU3ZTEyOGZiZGY1Mjg3MTZiNTAwY2YyN2VkOWE0MzU4YzkzMWM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjQgTm92IDIwMTcgMDA6MDU6MzUgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIFVzZSBBUk0tTkVPTiBhY2NlbGFyYXRpb24gZm9yIGZsb2F0LW11bHRpdGhyZWFkZWQgc2V0dXBzCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotLS0tCi0gc3JjL3J2b2ljZS9mbHVpZF9ydm9pY2VfbWl4ZXIuYyB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9ydm9pY2UvZmx1aWRfcnZvaWNlX21peGVyLmMgYi9zcmMvcnZvaWNlL2ZsdWlkX3J2b2ljZV9taXhlci5jCi1pbmRleCA5NjE2NTE4Li5kYmY4MDU3IDEwMDY0NAotLS0tIGEvc3JjL3J2b2ljZS9mbHVpZF9ydm9pY2VfbWl4ZXIuYwotKysrIGIvc3JjL3J2b2ljZS9mbHVpZF9ydm9pY2VfbWl4ZXIuYwotQEAgLTI3LDYgKzI3LDEwIEBACi0gI2luY2x1ZGUgImZsdWlkX2xhZHNwYS5oIgotICNpbmNsdWRlICJmbHVpZF9zeW50aC5oIgotIAotKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykKLSsjaW5jbHVkZSAiYXJtX25lb24uaCIKLSsjZW5kaWYKLSsKLSAKLSAjZGVmaW5lIEVOQUJMRV9NSVhFUl9USFJFQURTIDEKLSAKLUBAIC03OTQsMjAgKzc5OCw0MiBAQCBmbHVpZF9taXhlcl9idWZmZXJzX21peChmbHVpZF9taXhlcl9idWZmZXJzX3QqIGRlc3QsIGZsdWlkX21peGVyX2J1ZmZlcnNfdCogc3JjKQotICAgaWYgKG1pbmJ1ZiA+IHNyYy0+YnVmX2NvdW50KQotICAgICBtaW5idWYgPSBzcmMtPmJ1Zl9jb3VudDsKLSAgIGZvciAoaT0wOyBpIDwgbWluYnVmOyBpKyspIHsKLSsjaWYgZGVmaW5lZChfX0FSTV9ORU9OX18pICYmIGRlZmluZWQoV0lUSF9GTE9BVCkKLSsgICAgZm9yIChqPTA7IGogPCBzY291bnQ7IGorPTQpIHsKLSsgICAgICAgIGZsb2F0MzJ4NF90IHZsZWZ0ID0gdmxkMXFfZjMyKCZkZXN0LT5sZWZ0X2J1ZltpXVtqXSk7Ci0rICAgICAgICBmbG9hdDMyeDRfdCB2cmlnaHQgPSB2bGQxcV9mMzIoJmRlc3QtPnJpZ2h0X2J1ZltpXVtqXSk7Ci0rICAgICAgICB2bGVmdCA9IHZhZGRxX2YzMih2bGVmdCwgdmxkMXFfZjMyKCZzcmMtPmxlZnRfYnVmW2ldW2pdKSk7Ci0rICAgICAgICB2cmlnaHQgPSB2YWRkcV9mMzIodnJpZ2h0LCB2bGQxcV9mMzIoJnNyYy0+cmlnaHRfYnVmW2ldW2pdKSk7Ci0rICAgICAgICB2c3QxcV9mMzIoJmRlc3QtPmxlZnRfYnVmW2ldW2pdLCB2bGVmdCk7Ci0rICAgICAgICB2c3QxcV9mMzIoJmRlc3QtPnJpZ2h0X2J1ZltpXVtqXSwgdnJpZ2h0KTsKLSsgICAgfQotKyNlbHNlCi0gICAgIGZvciAoaj0wOyBqIDwgc2NvdW50OyBqKyspIHsKLSAgICAgICBkZXN0LT5sZWZ0X2J1ZltpXVtqXSArPSBzcmMtPmxlZnRfYnVmW2ldW2pdOwotICAgICAgIGRlc3QtPnJpZ2h0X2J1ZltpXVtqXSArPSBzcmMtPnJpZ2h0X2J1ZltpXVtqXTsKLSAgICAgfQotKyNlbmRpZgotICAgfQotIAotICAgbWluYnVmID0gZGVzdC0+ZnhfYnVmX2NvdW50OwotICAgaWYgKG1pbmJ1ZiA+IHNyYy0+ZnhfYnVmX2NvdW50KQotICAgICBtaW5idWYgPSBzcmMtPmZ4X2J1Zl9jb3VudDsKLSAgIGZvciAoaT0wOyBpIDwgbWluYnVmOyBpKyspIHsKLSsjaWYgZGVmaW5lZChfX0FSTV9ORU9OX18pICYmIGRlZmluZWQoV0lUSF9GTE9BVCkKLSsgICAgZm9yIChqPTA7IGogPCBzY291bnQ7IGorPTQpIHsKLSsgICAgICAgIGZsb2F0MzJ4NF90IHZsZWZ0ID0gdmxkMXFfZjMyKCZkZXN0LT5meF9sZWZ0X2J1ZltpXVtqXSk7Ci0rICAgICAgICBmbG9hdDMyeDRfdCB2cmlnaHQgPSB2bGQxcV9mMzIoJmRlc3QtPmZ4X3JpZ2h0X2J1ZltpXVtqXSk7Ci0rICAgICAgICB2bGVmdCA9IHZhZGRxX2YzMih2bGVmdCwgdmxkMXFfZjMyKCZzcmMtPmZ4X2xlZnRfYnVmW2ldW2pdKSk7Ci0rICAgICAgICB2cmlnaHQgPSB2YWRkcV9mMzIodnJpZ2h0LCB2bGQxcV9mMzIoJnNyYy0+ZnhfcmlnaHRfYnVmW2ldW2pdKSk7Ci0rICAgICAgICB2c3QxcV9mMzIoJmRlc3QtPmZ4X2xlZnRfYnVmW2ldW2pdLCB2bGVmdCk7Ci0rICAgICAgICB2c3QxcV9mMzIoJmRlc3QtPmZ4X3JpZ2h0X2J1ZltpXVtqXSwgdnJpZ2h0KTsKLSsgICAgfQotKyNlbHNlCi0gICAgIGZvciAoaj0wOyBqIDwgc2NvdW50OyBqKyspIHsKLSAgICAgICBkZXN0LT5meF9sZWZ0X2J1ZltpXVtqXSArPSBzcmMtPmZ4X2xlZnRfYnVmW2ldW2pdOwotICAgICAgIGRlc3QtPmZ4X3JpZ2h0X2J1ZltpXVtqXSArPSBzcmMtPmZ4X3JpZ2h0X2J1ZltpXVtqXTsKLSAgICAgfQotKyNlbmRpZgotICAgfQotIH0KLSAKLS0tIAotMi45LjUKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgtbmF0aXZlX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoLW5hdGl2ZV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk1YzRjNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoLW5hdGl2ZV9naXQuYmIKQEAgLTAsMCArMSwxMCBAQAorcmVxdWlyZSAke0JQTn0uaW5jCisKK2luaGVyaXQgbmF0aXZlCisKK09FQ01BS0VfU09VUkNFUEFUSCA9ICIke1N9L3NyYy9nZW50YWJsZXMiCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1ICR7Qn0vbWFrZV90YWJsZXMuZXhlICR7RH0vJHtiaW5kaXJ9LworfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGguaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGguaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMGNhOTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC5pbmMKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJGbHVpZHN5bnRoIGlzIGEgc29mdHdhcmUgc3ludGhlc2l6ZXIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZsdWlkc3ludGgub3JnLyIKK1NFQ1RJT04gPSAibGlicy9tdWx0aW1lZGlhIgorTElDRU5TRSA9ICJMR1BMLTIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWZjMTc4YmNkNDI1MDkwOTM5YThiNjM0ZDFkNmE5NTk0IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vRmx1aWRTeW50aC9mbHVpZHN5bnRoLmdpdCIKK1NSQ1JFViA9ICI5NjcxZTQxMmZlZWRiOTAzMjVlMDM4YzNhYWY1ZDU0M2VlYmMyMGMwIgorUyA9ICIke1dPUktESVJ9L2dpdCIKK1BWID0gIjIuMC40IgorCitpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZyBsaWJfcGFja2FnZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgvMDAwMS1Eby1ub3QtYnVpbGQtZ2VudGFibGVzLWhlbHBlci13ZS1oYXZlLXRvLXVzZS1uYXRpdmUtLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgvMDAwMS1Eby1ub3QtYnVpbGQtZ2VudGFibGVzLWhlbHBlci13ZS1oYXZlLXRvLXVzZS1uYXRpdmUtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0NjEyMjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC8wMDAxLURvLW5vdC1idWlsZC1nZW50YWJsZXMtaGVscGVyLXdlLWhhdmUtdG8tdXNlLW5hdGl2ZS0ucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSA4MWVhODIwYjE1NWU4ODdiMTNlYTU5ODZjMzQwN2NmOTNiMjczN2Y2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMiBKYW4gMjAxOSAxODo0Mjo0NiArMDEwMAorU3ViamVjdDogW1BBVENIXSBEbyBub3QgYnVpbGQgZ2VudGFibGVzIGhlbHBlciAtIHdlIGhhdmUgdG8gdXNlIG5hdGl2ZSB2YXJpYW50CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CistLS0KKyBzcmMvQ01ha2VMaXN0cy50eHQgfCAxMSAtLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9DTWFrZUxpc3RzLnR4dAoraW5kZXggYTBiYTUzZDEuLjFjNjI2NzE3IDEwMDY0NAorLS0tIGEvc3JjL0NNYWtlTGlzdHMudHh0CisrKysgYi9zcmMvQ01ha2VMaXN0cy50eHQKK0BAIC0zNTksMTQgKzM1OSwzIEBAIGVsc2UgKCBNQUNPU1hfRlJBTUVXT1JLICkKKyApCisgICAgaW5zdGFsbCAoIEZJTEVTICR7cHVibGljX21haW5fSEVBREVSfSBERVNUSU5BVElPTiAke0lOQ0xVREVfSU5TVEFMTF9ESVJ9ICkKKyBlbmRpZiAoIE1BQ09TWF9GUkFNRVdPUksgKQorLQorLSMgKioqKioqKiBBdXRvIEdlbmVyYXRlZCBMb29rdXAgVGFibGVzICoqKioqKgorLQorLWluY2x1ZGUoRXh0ZXJuYWxQcm9qZWN0KQorLUV4dGVybmFsUHJvamVjdF9BZGQoZ2VudGFibGVzCistICAgIERPV05MT0FEX0NPTU1BTkQgIiIKKy0gICAgU09VUkNFX0RJUiAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vZ2VudGFibGVzCistICAgIEJJTkFSWV9ESVIgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dlbnRhYmxlcworLSAgICBJTlNUQUxMX0NPTU1BTkQgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dlbnRhYmxlcy9tYWtlX3RhYmxlcy5leGUgIiR7Q01BS0VfQklOQVJZX0RJUn0vIgorLSkKKy1hZGRfZGVwZW5kZW5jaWVzKGxpYmZsdWlkc3ludGgtT0JKIGdlbnRhYmxlcykKKy0tIAorMi4xNC41CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoLzAwMDItZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0LUFsbG93LXplcm8tcG9pbnRlci1mb3ItbGVmdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoLzAwMDItZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0LUFsbG93LXplcm8tcG9pbnRlci1mb3ItbGVmdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGRhYTk1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgvMDAwMi1mbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQtQWxsb3ctemVyby1wb2ludGVyLWZvci1sZWZ0LnBhdGNoCkBAIC0wLDAgKzEsMTc4IEBACitGcm9tIDMwMDk3NzUzN2I2MDU2YmRiYmJhOWRmOTEwMGZhNmU4OTFjYTFmNDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorRGF0ZTogTW9uLCAxNyBEZWMgMjAxOCAxNDowODo0NSArMDEwMAorU3ViamVjdDogW1BBVENIIDIvMl0gZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0OiBBbGxvdyB6ZXJvIHBvaW50ZXIgZm9yCisgbGVmdC9yaWdodCBhbmQgemVybyBwb2ludGVyIGluIGFycmF5cworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitXaXRoIHRoaXMgbW9kaWZpY2F0aW9uIGEgY2xpZW50IGNhbiBkZWZpbmUgZXhhY3RseSB3aGF0IGl0IHdhbnRzIHRvIGdldCBpbnRvCitidWZmZXJzIHRvIGF2b2lkIHVzZWxlc3MgY29weWluZyBvZiBkYXRhLiBPbiB3ZWFrIG1hY2hpbmVzIHRoaXMgbGVhZHMgdG8gbWVhc3VyYWJsZQorcGVyZm9ybWFuY2Ugd2lucy4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgWzFdCisKK1sxXSBodHRwczovL2dpdGh1Yi5jb20vRmx1aWRTeW50aC9mbHVpZHN5bnRoL3B1bGwvNDkwCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CistLS0KKyBzcmMvc3ludGgvZmx1aWRfc3ludGguYyB8IDY5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvc3ludGgvZmx1aWRfc3ludGguYyBiL3NyYy9zeW50aC9mbHVpZF9zeW50aC5jCitpbmRleCAwZGY2MjBkMy4uMzc5ZjgyMTYgMTAwNjQ0CistLS0gYS9zcmMvc3ludGgvZmx1aWRfc3ludGguYworKysrIGIvc3JjL3N5bnRoL2ZsdWlkX3N5bnRoLmMKK0BAIC0zMzA2LDEwICszMzA2LDEwIEBAIGZsdWlkX3N5bnRoX3Byb2dyYW1fcmVzZXQoZmx1aWRfc3ludGhfdCAqc3ludGgpCisgICogU3ludGhlc2l6ZSBhIGJsb2NrIG9mIGZsb2F0aW5nIHBvaW50IGF1ZGlvIHRvIHNlcGFyYXRlIGF1ZGlvIGJ1ZmZlcnMgKG11bHRpY2hhbm5lbCByZW5kZXJpbmcpLiBGaXJzdCBlZmZlY3QgY2hhbm5lbCB1c2VkIGJ5IHJldmVyYiwgc2Vjb25kIGZvciBjaG9ydXMuCisgICogQHBhcmFtIHN5bnRoIEZsdWlkU3ludGggaW5zdGFuY2UKKyAgKiBAcGFyYW0gbGVuIENvdW50IG9mIGF1ZGlvIGZyYW1lcyB0byBzeW50aGVzaXplCistICogQHBhcmFtIGxlZnQgQXJyYXkgb2YgZmxvYXQgYnVmZmVycyB0byBzdG9yZSBsZWZ0IGNoYW5uZWwgb2YgcGxhbmFyIGF1ZGlvIChhcyBtYW55IGFzIFxjIHN5bnRoLmF1ZGlvLWNoYW5uZWxzIGJ1ZmZlcnMsIGVhY2ggb2YgXGMgbGVuIGluIHNpemUpCistICogQHBhcmFtIHJpZ2h0IEFycmF5IG9mIGZsb2F0IGJ1ZmZlcnMgdG8gc3RvcmUgcmlnaHQgY2hhbm5lbCBvZiBwbGFuYXIgYXVkaW8gKHNpemU6IGRpdG8pCistICogQHBhcmFtIGZ4X2xlZnQgU2luY2UgMS4xLjc6IElmIG5vdCBcYyBOVUxMLCBhcnJheSBvZiBmbG9hdCBidWZmZXJzIHRvIHN0b3JlIGxlZnQgZWZmZWN0IGNoYW5uZWxzIChhcyBtYW55IGFzIFxjIHN5bnRoLmVmZmVjdHMtY2hhbm5lbHMgYnVmZmVycywgZWFjaCBvZiBcYyBsZW4gaW4gc2l6ZSkKKy0gKiBAcGFyYW0gZnhfcmlnaHQgU2luY2UgMS4xLjc6IElmIG5vdCBcYyBOVUxMLCBhcnJheSBvZiBmbG9hdCBidWZmZXJzIHRvIHN0b3JlIHJpZ2h0IGVmZmVjdCBjaGFubmVscyAoc2l6ZTogZGl0bykKKysgKiBAcGFyYW0gbGVmdCBBcnJheSBvZiBmbG9hdCBidWZmZXJzIHRvIHN0b3JlIGxlZnQgY2hhbm5lbCBvZiBwbGFuYXIgYXVkaW8gKGFzIG1hbnkgYXMgXGMgc3ludGguYXVkaW8tY2hhbm5lbHMgYnVmZmVycywgZWFjaCBvZiBcYyBsZW4gaW4gc2l6ZSkuIFNpbmNlIDIuMC4zOiBOVUxMIGFsbG93ZWQgLyBOVUxMIGFsbG93ZWQgZm9yIGFycmF5IGVudHJ5CisrICogQHBhcmFtIHJpZ2h0IEFycmF5IG9mIGZsb2F0IGJ1ZmZlcnMgdG8gc3RvcmUgcmlnaHQgY2hhbm5lbCBvZiBwbGFuYXIgYXVkaW8gKHNpemU6IGRpdG8pLiBTaW5jZSAyLjAuMzogTlVMTCBhbGxvd2VkIC8gTlVMTCBhbGxvd2VkIGZvciBhcnJheSBlbnRyeQorKyAqIEBwYXJhbSBmeF9sZWZ0IFNpbmNlIDEuMS43OiBJZiBub3QgXGMgTlVMTCwgYXJyYXkgb2YgZmxvYXQgYnVmZmVycyB0byBzdG9yZSBsZWZ0IGVmZmVjdCBjaGFubmVscyAoYXMgbWFueSBhcyBcYyBzeW50aC5lZmZlY3RzLWNoYW5uZWxzIGJ1ZmZlcnMsIGVhY2ggb2YgXGMgbGVuIGluIHNpemUpLiBTaW5jZSAyLjAuMzogTlVMTCBhbGxvd2VkIGZvciBhcnJheSBlbnRyeQorKyAqIEBwYXJhbSBmeF9yaWdodCBTaW5jZSAxLjEuNzogSWYgbm90IFxjIE5VTEwsIGFycmF5IG9mIGZsb2F0IGJ1ZmZlcnMgdG8gc3RvcmUgcmlnaHQgZWZmZWN0IGNoYW5uZWxzIChzaXplOiBkaXRvKS4gU2luY2UgMi4wLjM6IE5VTEwgYWxsb3dlZCBmb3IgYXJyYXkgZW50cnkKKyAgKiBAcmV0dXJuICNGTFVJRF9PSyBvbiBzdWNjZXNzLCAjRkxVSURfRkFJTEVEIG90aGVyd2lzZQorICAqCisgICogQG5vdGUgU2hvdWxkIG9ubHkgYmUgY2FsbGVkIGZyb20gc3ludGhlc2lzIHRocmVhZC4KK0BAIC0zMzg2LDE1ICszMzg2LDI3IEBAIGZsdWlkX3N5bnRoX253cml0ZV9mbG9hdChmbHVpZF9zeW50aF90ICpzeW50aCwgaW50IGxlbiwKKyAgICAgICAgIGZvcihpID0gMDsgaSA8IHN5bnRoLT5hdWRpb19jaGFubmVsczsgaSsrKQorICAgICAgICAgeworICNpZmRlZiBXSVRIX0ZMT0FUCistICAgICAgICAgICAgRkxVSURfTUVNQ1BZKGxlZnRbaV0sICZsZWZ0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVCArIHN5bnRoLT5jdXJdLCBieXRlcyk7CistICAgICAgICAgICAgRkxVSURfTUVNQ1BZKHJpZ2h0W2ldLCAmcmlnaHRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgc3ludGgtPmN1cl0sIGJ5dGVzKTsKKysgICAgICAgICAgICBpZihsZWZ0ICE9IE5VTEwgJiYgbGVmdFtpXSAhPSBOVUxMKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgRkxVSURfTUVNQ1BZKGxlZnRbaV0sICZsZWZ0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVCArIHN5bnRoLT5jdXJdLCBieXRlcyk7CisrICAgICAgICAgICAgfQorKyAgICAgICAgICAgIGlmKHJpZ2h0ICE9IE5VTEwgJiYgcmlnaHRbaV0gIT0gTlVMTCkKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIEZMVUlEX01FTUNQWShyaWdodFtpXSwgJnJpZ2h0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVCArIHN5bnRoLT5jdXJdLCBieXRlcyk7CisrICAgICAgICAgICAgfQorICNlbHNlIC8vV0lUSF9GTE9BVAorICAgICAgICAgICAgIGludCBqOworIAorICAgICAgICAgICAgIGZvcihqID0gMDsgaiA8IG51bTsgaisrKQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgbGVmdFtpXVtqXSA9IChmbG9hdCkgbGVmdF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFQgKyBqICsgc3ludGgtPmN1cl07CistICAgICAgICAgICAgICAgIHJpZ2h0W2ldW2pdID0gKGZsb2F0KSByaWdodF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFQgKyBqICsgc3ludGgtPmN1cl07CisrICAgICAgICAgICAgICAgIGlmKGxlZnQgIT0gTlVMTCAmJiBsZWZ0W2ldICE9IE5VTEwpCisrICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgIGxlZnRbaV1bal0gPSAoZmxvYXQpIGxlZnRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgaiArIHN5bnRoLT5jdXJdOworKyAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgIGlmKHJpZ2h0ICE9IE5VTEwgJiYgcmlnaHRbaV0gIT0gTlVMTCkKKysgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgcmlnaHRbaV1bal0gPSAoZmxvYXQpIHJpZ2h0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVCArIGogKyBzeW50aC0+Y3VyXTsKKysgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KKyAKKyAjZW5kaWYgLy9XSVRIX0ZMT0FUCitAQCAtMzQwNCwxMiArMzQxNiwxMiBAQCBmbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQoZmx1aWRfc3ludGhfdCAqc3ludGgsIGludCBsZW4sCisgICAgICAgICB7CisgI2lmZGVmIFdJVEhfRkxPQVQKKyAKKy0gICAgICAgICAgICBpZihmeF9sZWZ0ICE9IE5VTEwpCisrICAgICAgICAgICAgaWYoZnhfbGVmdCAhPSBOVUxMICYmIGZ4X2xlZnRbaV0gIT0gTlVMTCkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIEZMVUlEX01FTUNQWShmeF9sZWZ0W2ldLCAmZnhfbGVmdF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFQgKyBzeW50aC0+Y3VyXSwgYnl0ZXMpOworICAgICAgICAgICAgIH0KKyAKKy0gICAgICAgICAgICBpZihmeF9yaWdodCAhPSBOVUxMKQorKyAgICAgICAgICAgIGlmKGZ4X3JpZ2h0ICE9IE5VTEwgJiYgZnhfcmlnaHRbaV0gIT0gTlVMTCkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIEZMVUlEX01FTUNQWShmeF9yaWdodFtpXSwgJmZ4X3JpZ2h0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVCArIHN5bnRoLT5jdXJdLCBieXRlcyk7CisgICAgICAgICAgICAgfQorQEAgLTM0MTcsNyArMzQyOSw3IEBAIGZsdWlkX3N5bnRoX253cml0ZV9mbG9hdChmbHVpZF9zeW50aF90ICpzeW50aCwgaW50IGxlbiwKKyAjZWxzZSAvL1dJVEhfRkxPQVQKKyAgICAgICAgICAgICBpbnQgajsKKyAKKy0gICAgICAgICAgICBpZihmeF9sZWZ0ICE9IE5VTEwpCisrICAgICAgICAgICAgaWYoZnhfbGVmdCAhPSBOVUxMICYmIGZ4X2xlZnRbaV0gIT0gTlVMTCkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIGZvcihqID0gMDsgaiA8IG51bTsgaisrKQorICAgICAgICAgICAgICAgICB7CitAQCAtMzQyNSw3ICszNDM3LDcgQEAgZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0KGZsdWlkX3N5bnRoX3QgKnN5bnRoLCBpbnQgbGVuLAorICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgfQorIAorLSAgICAgICAgICAgIGlmKGZ4X3JpZ2h0ICE9IE5VTEwpCisrICAgICAgICAgICAgaWYoZnhfcmlnaHQgIT0gTlVMTCAmJiBmeF9yaWdodFtpXSAhPSBOVUxMKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgZm9yKGogPSAwOyBqIDwgbnVtOyBqKyspCisgICAgICAgICAgICAgICAgIHsKK0BAIC0zNDU2LDE1ICszNDY4LDMwIEBAIGZsdWlkX3N5bnRoX253cml0ZV9mbG9hdChmbHVpZF9zeW50aF90ICpzeW50aCwgaW50IGxlbiwKKyAgICAgICAgIGZvcihpID0gMDsgaSA8IHN5bnRoLT5hdWRpb19jaGFubmVsczsgaSsrKQorICAgICAgICAgeworICNpZmRlZiBXSVRIX0ZMT0FUCistICAgICAgICAgICAgRkxVSURfTUVNQ1BZKGxlZnRbaV0gKyBjb3VudCwgJmxlZnRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUXSwgYnl0ZXMpOworLSAgICAgICAgICAgIEZMVUlEX01FTUNQWShyaWdodFtpXSArIGNvdW50LCAmcmlnaHRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUXSwgYnl0ZXMpOworKyAgICAgICAgICAgIGlmKGxlZnQgIT0gTlVMTCAmJiBsZWZ0W2ldICE9IE5VTEwpCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICBGTFVJRF9NRU1DUFkobGVmdFtpXSArIGNvdW50LCAmbGVmdF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFRdLCBieXRlcyk7CisrICAgICAgICAgICAgfQorKyAgICAgICAgICAgIGlmKHJpZ2h0ICE9IE5VTEwgJiYgcmlnaHRbaV0gIT0gTlVMTCkKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIEZMVUlEX01FTUNQWShyaWdodFtpXSArIGNvdW50LCAmcmlnaHRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUXSwgYnl0ZXMpOworKyAgICAgICAgICAgIH0KKyAjZWxzZSAvL1dJVEhfRkxPQVQKKyAgICAgICAgICAgICBpbnQgajsKKyAKKy0gICAgICAgICAgICBmb3IoaiA9IDA7IGogPCBudW07IGorKykKKysgICAgICAgICAgICBpZihsZWZ0ICE9IE5VTEwgJiYgbGVmdFtpXSAhPSBOVUxMKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgZm9yKGogPSAwOyBqIDwgbnVtOyBqKyspCisrICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgIGxlZnRbaV1baiArIGNvdW50XSA9IChmbG9hdCkgbGVmdF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFQgKyBqXTsKKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgIH0KKysgICAgICAgICAgICBpZihyaWdodCAhPSBOVUxMICYmIHJpZ2h0W2ldICE9IE5VTEwpCisgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICBsZWZ0W2ldW2ogKyBjb3VudF0gPSAoZmxvYXQpIGxlZnRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgal07CistICAgICAgICAgICAgICAgIHJpZ2h0W2ldW2ogKyBjb3VudF0gPSAoZmxvYXQpIHJpZ2h0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVCArIGpdOworKyAgICAgICAgICAgICAgICBmb3IoaiA9IDA7IGogPCBudW07IGorKykKKysgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgcmlnaHRbaV1baiArIGNvdW50XSA9IChmbG9hdCkgcmlnaHRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgal07CisrICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICB9CisgCisgI2VuZGlmIC8vV0lUSF9GTE9BVAorQEAgLTM0NzQsMTIgKzM1MDEsMTIgQEAgZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0KGZsdWlkX3N5bnRoX3QgKnN5bnRoLCBpbnQgbGVuLAorICAgICAgICAgeworICNpZmRlZiBXSVRIX0ZMT0FUCisgCistICAgICAgICAgICAgaWYoZnhfbGVmdCAhPSBOVUxMKQorKyAgICAgICAgICAgIGlmKGZ4X2xlZnQgIT0gTlVMTCAmJiBmeF9sZWZ0W2ldICE9IE5VTEwpCisgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICBGTFVJRF9NRU1DUFkoZnhfbGVmdFtpXSArIGNvdW50LCAmZnhfbGVmdF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFRdLCBieXRlcyk7CisgICAgICAgICAgICAgfQorIAorLSAgICAgICAgICAgIGlmKGZ4X3JpZ2h0ICE9IE5VTEwpCisrICAgICAgICAgICAgaWYoZnhfcmlnaHQgIT0gTlVMTCAmJiBmeF9yaWdodFtpXSAhPSBOVUxMKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgRkxVSURfTUVNQ1BZKGZ4X3JpZ2h0W2ldICsgY291bnQsICZmeF9yaWdodF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFRdLCBieXRlcyk7CisgICAgICAgICAgICAgfQorQEAgLTM0ODcsNyArMzUxNCw3IEBAIGZsdWlkX3N5bnRoX253cml0ZV9mbG9hdChmbHVpZF9zeW50aF90ICpzeW50aCwgaW50IGxlbiwKKyAjZWxzZSAvL1dJVEhfRkxPQVQKKyAgICAgICAgICAgICBpbnQgajsKKyAKKy0gICAgICAgICAgICBpZihmeF9sZWZ0ICE9IE5VTEwpCisrICAgICAgICAgICAgaWYoZnhfbGVmdCAhPSBOVUxMICYmIGZ4X2xlZnRbaV0gIT0gTlVMTCkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIGZvcihqID0gMDsgaiA8IG51bTsgaisrKQorICAgICAgICAgICAgICAgICB7CitAQCAtMzQ5NSw3ICszNTIyLDcgQEAgZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0KGZsdWlkX3N5bnRoX3QgKnN5bnRoLCBpbnQgbGVuLAorICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgfQorIAorLSAgICAgICAgICAgIGlmKGZ4X3JpZ2h0ICE9IE5VTEwpCisrICAgICAgICAgICAgaWYoZnhfcmlnaHQgIT0gTlVMTCAmJiBmeF9yaWdodFtpXSAhPSBOVUxMKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgZm9yKGogPSAwOyBqIDwgbnVtOyBqKyspCisgICAgICAgICAgICAgICAgIHsKKy0tIAorMi4xNC41CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoLzAwMDMtVXNlLUFSTS1ORU9OLWFjY2VsYXJhdGlvbi1mb3ItZmxvYXQtbXVsdGl0aHJlYWRlZC1zZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoLzAwMDMtVXNlLUFSTS1ORU9OLWFjY2VsYXJhdGlvbi1mb3ItZmxvYXQtbXVsdGl0aHJlYWRlZC1zZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWQwOTk1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgvMDAwMy1Vc2UtQVJNLU5FT04tYWNjZWxhcmF0aW9uLWZvci1mbG9hdC1tdWx0aXRocmVhZGVkLXNlLnBhdGNoCkBAIC0wLDAgKzEsMzA0IEBACitGcm9tIDk0N2Y3OWY5N2E1ZmE2NTQ3ZDk5YmZmMjgyNjA2MDI2NjMyZTAxMGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorRGF0ZTogU2F0LCAxMyBPY3QgMjAxOCAyMzowMToxMSArMDIwMAorU3ViamVjdDogW1BBVENIXSBVc2UgQVJNLU5FT04gYWNjZWxhcmF0aW9uIGZvciBmbG9hdC1tdWx0aXRocmVhZGVkIHNldHVwcworCitQcm9maWxpbmcgc2hvd3MgYSBjb25zaWRlcmFibGUgcGVyZm9ybWFuY2Ugd2luLiBTZWUgZXN0aW1hdGVkIG51bWJlciBvZiB2b2ljZXM6CitUaGV5IGluY3JlYXNlIGZyb20gfjQ3MSB0byB+NTEzIHdoaWNoIG1ha2VzIGEgfjklIHdpbjoKKworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorV0lUSE9VVCBBUk0gTkVPTjoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworbW9yb25hQHJhc3BiZXJyeXBpMzp+JCBmbHVpZHN5bnRoIC1vIHN5bnRoLmNwdS1jb3Jlcz00IC1vIHN5bnRoLmNob3J1cy5hY3RpdmU9MCAtbyBzeW50aC5yZXZlcmIuYWN0aXZlPTAgL3Vzci9zaGFyZS9zZjIvZmx1aWRyM2dtLnNmMgorPiBwcm9mX3NldF9wcmludCAxCis+IHByb2Zfc2V0X25vdGVzIDEwCis+IHByb2Zfc3RhcnQgMyAxMDAwMAorR2VuZXJhdGluZyAxMCBub3RlcywgZ2VuZXJhdGVkIHZvaWNlczoyMAorTnVtYmVyIG9mIG1lYXN1cmVzKG5fcHJvZik6MywgZHVyYXRpb24gb2Ygb25lIG1lc3VyZShkdXIpOjEwMDAwbXMKKworUHJvZmlsaW5nIHRpbWUobW06c3MpOiBUb3RhbD0wOjMwICBSZW1haW5kZXI9MDozMCwgcHJlc3MgPEVOVEVSPiB0byBjYW5jZWwKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBEdXJhdGlvbihtaWNyb3NlY29uZCkgYW5kIGNwdSBsb2FkcyglKSAoc3I6IDQ4MDAwIEh6LCBzcDogMjAuODMgbWljcm9zZWNvbmQpCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQ29kZSB1bmRlciBwcm9maWxpbmcgICAgICAgfFZvaWNlc3wgICAgICAgRHVyYXRpb24gKG1pY3Jvc2Vjb25kKSAgIHwgIExvYWQoJSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgbmJyfCAgICAgICBtaW58ICAgICAgIGF2Z3wgICAgICAgbWF4fAorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLQorIHN5bnRoX3dyaXRlXyogLS0tLS0tLS0tLS0tPnwgICAgMjB8ICAgIDExMi4wMHwgICAgMTE4Ljk2fCAgICAyMDYuMDB8ICAgNC40NjEKKyBzeW50aF9vbmVfYmxvY2sgLS0tLS0tLS0tLT58ICAgIDIwfCAgICAxMDkuMDB8ICAgIDExNi40NHwgICAgMTk2LjAwfCAgIDQuMzY3Cisgc3ludGhfb25lX2Jsb2NrOmNsZWFyIC0tLS0+fCAgICAyMHwgICAgICAxLjAwfCAgICAgIDEuNjd8ICAgICAxOC4wMHwgICAwLjA2MworIHN5bnRoX29uZV9ibG9jazpvbmUgdm9pY2UtPnwgICAgIDF8ICAgICAxMS4wMHwgICAgIDEyLjM2fCAgICAgNTguMDB8ICAgMC40NjMKKyBzeW50aF9vbmVfYmxvY2s6YWxsIHZvaWNlcz58ICAgIDIwfCAgICAxMDcuMDB8ICAgIDExMy40N3wgICAgMTg3LjAwfCAgIDQuMjU1Cisgc3ludGhfb25lX2Jsb2NrOnJldmVyYiAtLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgc3ludGhfb25lX2Jsb2NrOmNob3J1cyAtLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgdm9pY2U6bm90ZSAtLS0tLS0tLS0tLS0tLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgdm9pY2U6cmVsZWFzZSAtLS0tLS0tLS0tLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQ3B1IGxvYWRzKCUpIChzcjogNDgwMDAgSHosIHNwOiAyMC44MyBtaWNyb3NlY29uZCkgYW5kIG1heGltdW0gdm9pY2VzCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgblZvaWNlc3wgdG90YWwoJSl8dm9pY2VzKCUpfCByZXZlcmIoJSl8Y2hvcnVzKCUpfCB2b2ljZSglKXxlc3RpbWF0ZWQgbWF4Vm9pY2VzCisgLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAyMHwgICAgNC40NjF8ICAgIDQuNDYxfCAgICAgMC4wMDB8ICAgIDAuMDAwfCAgICAwLjIxM3wgICAgICAgICAgICAgIDQ3MAorCitQcm9maWxpbmcgdGltZShtbTpzcyk6IFRvdGFsPTA6MzAgIFJlbWFpbmRlcj0wOjIwLCBwcmVzcyA8RU5URVI+IHRvIGNhbmNlbAorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIER1cmF0aW9uKG1pY3Jvc2Vjb25kKSBhbmQgY3B1IGxvYWRzKCUpIChzcjogNDgwMDAgSHosIHNwOiAyMC44MyBtaWNyb3NlY29uZCkKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDb2RlIHVuZGVyIHByb2ZpbGluZyAgICAgICB8Vm9pY2VzfCAgICAgICBEdXJhdGlvbiAobWljcm9zZWNvbmQpICAgfCAgTG9hZCglKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICBuYnJ8ICAgICAgIG1pbnwgICAgICAgYXZnfCAgICAgICBtYXh8CisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tCisgc3ludGhfd3JpdGVfKiAtLS0tLS0tLS0tLS0+fCAgICAyMHwgICAgMTEyLjAwfCAgICAxMTguNDJ8ICAgIDIxNi4wMHwgICA0LjQ0MQorIHN5bnRoX29uZV9ibG9jayAtLS0tLS0tLS0tPnwgICAgMjB8ICAgIDEwOS4wMHwgICAgMTE1LjkxfCAgICAyMDUuMDB8ICAgNC4zNDcKKyBzeW50aF9vbmVfYmxvY2s6Y2xlYXIgLS0tLT58ICAgIDIwfCAgICAgIDEuMDB8ICAgICAgMS42NXwgICAgIDE4LjAwfCAgIDAuMDYyCisgc3ludGhfb25lX2Jsb2NrOm9uZSB2b2ljZS0+fCAgICAgMXwgICAgIDExLjAwfCAgICAgMTIuMzB8ICAgICA1OC4wMHwgICAwLjQ2MQorIHN5bnRoX29uZV9ibG9jazphbGwgdm9pY2VzPnwgICAgMjB8ICAgIDEwNy4wMHwgICAgMTEyLjk4fCAgICAxOTcuMDB8ICAgNC4yMzcKKyBzeW50aF9vbmVfYmxvY2s6cmV2ZXJiIC0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyBzeW50aF9vbmVfYmxvY2s6Y2hvcnVzIC0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyB2b2ljZTpub3RlIC0tLS0tLS0tLS0tLS0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyB2b2ljZTpyZWxlYXNlIC0tLS0tLS0tLS0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDcHUgbG9hZHMoJSkgKHNyOiA0ODAwMCBIeiwgc3A6IDIwLjgzIG1pY3Jvc2Vjb25kKSBhbmQgbWF4aW11bSB2b2ljZXMKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBuVm9pY2VzfCB0b3RhbCglKXx2b2ljZXMoJSl8IHJldmVyYiglKXxjaG9ydXMoJSl8IHZvaWNlKCUpfGVzdGltYXRlZCBtYXhWb2ljZXMKKyAtLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgIDIwfCAgICA0LjQ0MXwgICAgNC40NDF8ICAgICAwLjAwMHwgICAgMC4wMDB8ICAgIDAuMjEyfCAgICAgICAgICAgICAgNDcyCisKK1Byb2ZpbGluZyB0aW1lKG1tOnNzKTogVG90YWw9MDozMCAgUmVtYWluZGVyPTA6MTAsIHByZXNzIDxFTlRFUj4gdG8gY2FuY2VsCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgRHVyYXRpb24obWljcm9zZWNvbmQpIGFuZCBjcHUgbG9hZHMoJSkgKHNyOiA0ODAwMCBIeiwgc3A6IDIwLjgzIG1pY3Jvc2Vjb25kKQorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIENvZGUgdW5kZXIgcHJvZmlsaW5nICAgICAgIHxWb2ljZXN8ICAgICAgIER1cmF0aW9uIChtaWNyb3NlY29uZCkgICB8ICBMb2FkKCUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIG5icnwgICAgICAgbWlufCAgICAgICBhdmd8ICAgICAgIG1heHwKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0KKyBzeW50aF93cml0ZV8qIC0tLS0tLS0tLS0tLT58ICAgIDIwfCAgICAxMTIuMDB8ICAgIDExOC42NHwgICAgMjQ0LjAwfCAgIDQuNDQ5Cisgc3ludGhfb25lX2Jsb2NrIC0tLS0tLS0tLS0+fCAgICAyMHwgICAgMTA5LjAwfCAgICAxMTYuMTJ8ICAgIDIzNC4wMHwgICA0LjM1NQorIHN5bnRoX29uZV9ibG9jazpjbGVhciAtLS0tPnwgICAgMjB8ICAgICAgMS4wMHwgICAgICAxLjY3fCAgICAgMzcuMDB8ICAgMC4wNjIKKyBzeW50aF9vbmVfYmxvY2s6b25lIHZvaWNlLT58ICAgICAxfCAgICAgMTEuMDB8ICAgICAxMi4zMXwgICAgIDYzLjAwfCAgIDAuNDYyCisgc3ludGhfb25lX2Jsb2NrOmFsbCB2b2ljZXM+fCAgICAyMHwgICAgMTA3LjAwfCAgICAxMTMuMTh8ICAgIDIxNC4wMHwgICA0LjI0NAorIHN5bnRoX29uZV9ibG9jazpyZXZlcmIgLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHN5bnRoX29uZV9ibG9jazpjaG9ydXMgLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHZvaWNlOm5vdGUgLS0tLS0tLS0tLS0tLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHZvaWNlOnJlbGVhc2UgLS0tLS0tLS0tLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIENwdSBsb2FkcyglKSAoc3I6IDQ4MDAwIEh6LCBzcDogMjAuODMgbWljcm9zZWNvbmQpIGFuZCBtYXhpbXVtIHZvaWNlcworIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG5Wb2ljZXN8IHRvdGFsKCUpfHZvaWNlcyglKXwgcmV2ZXJiKCUpfGNob3J1cyglKXwgdm9pY2UoJSl8ZXN0aW1hdGVkIG1heFZvaWNlcworIC0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgMjB8ICAgIDQuNDQ5fCAgICA0LjQ0OXwgICAgIDAuMDAwfCAgICAwLjAwMHwgICAgMC4yMTJ8ICAgICAgICAgICAgICA0NzEKK1N0b3BwaW5nIDIwIHZvaWNlcy4uLnZvaWNlcyBzdG9wcGVkLgorPiBxdWl0CitjaGVlcnMhCitKYWNrVGVtcG9yYXJ5RXhjZXB0aW9uIDogbm93IHF1aXRzLi4uCitKYWNrIG1haW4gY2F1Z2h0IHNpZ25hbCAyCitmbHVpZF9wcm9maWxpbmdfcHJpbnQKK2ZsdWlkc3ludGg6IEVzdGltYXRlZCB0aW1lczogbWluL2F2Zy9tYXggKG1pY3JvIHNlY29uZHMpCitmbHVpZHN5bnRoOiBzeW50aF93cml0ZV8qIC0tLS0tLS0tLS0tLT46IDExMi4wMDAvMTE4LjYzNi8yNDQuMDAwCitmbHVpZHN5bnRoOiBzeW50aF9vbmVfYmxvY2sgLS0tLS0tLS0tLT46IDEwOS4wMDAvMTE2LjEyNC8yMzQuMDAwCitmbHVpZHN5bnRoOiBzeW50aF9vbmVfYmxvY2s6Y2xlYXIgLS0tLT46IDEuMDAwLzEuNjY1LzM3LjAwMAorZmx1aWRzeW50aDogc3ludGhfb25lX2Jsb2NrOm9uZSB2b2ljZS0+OiAxMS4wMDAvMTIuMzA5LzYzLjAwMAorZmx1aWRzeW50aDogc3ludGhfb25lX2Jsb2NrOmFsbCB2b2ljZXM+OiAxMDcuMDAwLzExMy4xODAvMjE0LjAwMAorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitXSVRIIEFSTSBORU9OOgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCittb3JvbmFAcmFzcGJlcnJ5cGkzOn4kIGZsdWlkc3ludGggLW8gc3ludGguY3B1LWNvcmVzPTQgLW8gc3ludGguY2hvcnVzLmFjdGl2ZT0wIC1vIHN5bnRoLnJldmVyYi5hY3RpdmU9MCAvdXNyL3NoYXJlL3NmMi9mbHVpZHIzZ20uc2YyCis+IHByb2Zfc2V0X3ByaW50IDEKKz4gcHJvZl9zZXRfbm90ZXMgMTAKKz4gcHJvZl9zdGFydCAzIDEwMDAwCitHZW5lcmF0aW5nIDEwIG5vdGVzLCBnZW5lcmF0ZWQgdm9pY2VzOjIwCitOdW1iZXIgb2YgbWVhc3VyZXMobl9wcm9mKTozLCBkdXJhdGlvbiBvZiBvbmUgbWVzdXJlKGR1cik6MTAwMDBtcworCitQcm9maWxpbmcgdGltZShtbTpzcyk6IFRvdGFsPTA6MzAgIFJlbWFpbmRlcj0wOjMwLCBwcmVzcyA8RU5URVI+IHRvIGNhbmNlbAorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIER1cmF0aW9uKG1pY3Jvc2Vjb25kKSBhbmQgY3B1IGxvYWRzKCUpIChzcjogNDgwMDAgSHosIHNwOiAyMC44MyBtaWNyb3NlY29uZCkKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDb2RlIHVuZGVyIHByb2ZpbGluZyAgICAgICB8Vm9pY2VzfCAgICAgICBEdXJhdGlvbiAobWljcm9zZWNvbmQpICAgfCAgTG9hZCglKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICBuYnJ8ICAgICAgIG1pbnwgICAgICAgYXZnfCAgICAgICBtYXh8CisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tCisgc3ludGhfd3JpdGVfKiAtLS0tLS0tLS0tLS0+fCAgICAyMHwgICAgMTAyLjAwfCAgICAxMDkuMjF8ICAgIDIxMy4wMHwgICA0LjA5NQorIHN5bnRoX29uZV9ibG9jayAtLS0tLS0tLS0tPnwgICAgMjB8ICAgICA5OS4wMHwgICAgMTA2LjY4fCAgICAyMDEuMDB8ICAgNC4wMDEKKyBzeW50aF9vbmVfYmxvY2s6Y2xlYXIgLS0tLT58ICAgIDIwfCAgICAgIDEuMDB8ICAgICAgMS42NHwgICAgIDE4LjAwfCAgIDAuMDYyCisgc3ludGhfb25lX2Jsb2NrOm9uZSB2b2ljZS0+fCAgICAgMXwgICAgIDExLjAwfCAgICAgMTIuMzB8ICAgICA1NC4wMHwgICAwLjQ2MQorIHN5bnRoX29uZV9ibG9jazphbGwgdm9pY2VzPnwgICAgMjB8ICAgICA5Ny4wMHwgICAgMTAzLjcxfCAgICAxODguMDB8ICAgMy44ODkKKyBzeW50aF9vbmVfYmxvY2s6cmV2ZXJiIC0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyBzeW50aF9vbmVfYmxvY2s6Y2hvcnVzIC0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyB2b2ljZTpub3RlIC0tLS0tLS0tLS0tLS0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyB2b2ljZTpyZWxlYXNlIC0tLS0tLS0tLS0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDcHUgbG9hZHMoJSkgKHNyOiA0ODAwMCBIeiwgc3A6IDIwLjgzIG1pY3Jvc2Vjb25kKSBhbmQgbWF4aW11bSB2b2ljZXMKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBuVm9pY2VzfCB0b3RhbCglKXx2b2ljZXMoJSl8IHJldmVyYiglKXxjaG9ydXMoJSl8IHZvaWNlKCUpfGVzdGltYXRlZCBtYXhWb2ljZXMKKyAtLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgIDIwfCAgICA0LjA5NXwgICAgNC4wOTV8ICAgICAwLjAwMHwgICAgMC4wMDB8ICAgIDAuMTk0fCAgICAgICAgICAgICAgNTE0CisKK1Byb2ZpbGluZyB0aW1lKG1tOnNzKTogVG90YWw9MDozMCAgUmVtYWluZGVyPTA6MjAsIHByZXNzIDxFTlRFUj4gdG8gY2FuY2VsCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgRHVyYXRpb24obWljcm9zZWNvbmQpIGFuZCBjcHUgbG9hZHMoJSkgKHNyOiA0ODAwMCBIeiwgc3A6IDIwLjgzIG1pY3Jvc2Vjb25kKQorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIENvZGUgdW5kZXIgcHJvZmlsaW5nICAgICAgIHxWb2ljZXN8ICAgICAgIER1cmF0aW9uIChtaWNyb3NlY29uZCkgICB8ICBMb2FkKCUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIG5icnwgICAgICAgbWlufCAgICAgICBhdmd8ICAgICAgIG1heHwKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0KKyBzeW50aF93cml0ZV8qIC0tLS0tLS0tLS0tLT58ICAgIDIwfCAgICAxMDIuMDB8ICAgIDEwOS40NnwgICAgMjc4LjAwfCAgIDQuMTA1Cisgc3ludGhfb25lX2Jsb2NrIC0tLS0tLS0tLS0+fCAgICAyMHwgICAgIDk5LjAwfCAgICAxMDYuOTF8ICAgIDI2NS4wMHwgICA0LjAwOQorIHN5bnRoX29uZV9ibG9jazpjbGVhciAtLS0tPnwgICAgMjB8ICAgICAgMS4wMHwgICAgICAxLjY3fCAgICAgMjIuMDB8ICAgMC4wNjIKKyBzeW50aF9vbmVfYmxvY2s6b25lIHZvaWNlLT58ICAgICAxfCAgICAgMTEuMDB8ICAgICAxMi4zMHwgICAgIDU0LjAwfCAgIDAuNDYxCisgc3ludGhfb25lX2Jsb2NrOmFsbCB2b2ljZXM+fCAgICAyMHwgICAgIDk3LjAwfCAgICAxMDMuOTR8ICAgIDI1MS4wMHwgICAzLjg5OAorIHN5bnRoX29uZV9ibG9jazpyZXZlcmIgLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHN5bnRoX29uZV9ibG9jazpjaG9ydXMgLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHZvaWNlOm5vdGUgLS0tLS0tLS0tLS0tLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHZvaWNlOnJlbGVhc2UgLS0tLS0tLS0tLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIENwdSBsb2FkcyglKSAoc3I6IDQ4MDAwIEh6LCBzcDogMjAuODMgbWljcm9zZWNvbmQpIGFuZCBtYXhpbXVtIHZvaWNlcworIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG5Wb2ljZXN8IHRvdGFsKCUpfHZvaWNlcyglKXwgcmV2ZXJiKCUpfGNob3J1cyglKXwgdm9pY2UoJSl8ZXN0aW1hdGVkIG1heFZvaWNlcworIC0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgMjB8ICAgIDQuMTA1fCAgICA0LjEwNXwgICAgIDAuMDAwfCAgICAwLjAwMHwgICAgMC4xOTV8ICAgICAgICAgICAgICA1MTMKKworUHJvZmlsaW5nIHRpbWUobW06c3MpOiBUb3RhbD0wOjMwICBSZW1haW5kZXI9MDoxMCwgcHJlc3MgPEVOVEVSPiB0byBjYW5jZWwKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBEdXJhdGlvbihtaWNyb3NlY29uZCkgYW5kIGNwdSBsb2FkcyglKSAoc3I6IDQ4MDAwIEh6LCBzcDogMjAuODMgbWljcm9zZWNvbmQpCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQ29kZSB1bmRlciBwcm9maWxpbmcgICAgICAgfFZvaWNlc3wgICAgICAgRHVyYXRpb24gKG1pY3Jvc2Vjb25kKSAgIHwgIExvYWQoJSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgbmJyfCAgICAgICBtaW58ICAgICAgIGF2Z3wgICAgICAgbWF4fAorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLQorIHN5bnRoX3dyaXRlXyogLS0tLS0tLS0tLS0tPnwgICAgMjB8ICAgIDEwMi4wMHwgICAgMTA5LjIyfCAgICAyNzguMDB8ICAgNC4wOTYKKyBzeW50aF9vbmVfYmxvY2sgLS0tLS0tLS0tLT58ICAgIDIwfCAgICAgOTkuMDB8ICAgIDEwNi42NXwgICAgMjY1LjAwfCAgIDMuOTk5Cisgc3ludGhfb25lX2Jsb2NrOmNsZWFyIC0tLS0+fCAgICAyMHwgICAgICAxLjAwfCAgICAgIDEuNjd8ICAgICAyMi4wMHwgICAwLjA2MgorIHN5bnRoX29uZV9ibG9jazpvbmUgdm9pY2UtPnwgICAgIDF8ICAgICAxMS4wMHwgICAgIDEyLjMxfCAgICAgNTcuMDB8ICAgMC40NjIKKyBzeW50aF9vbmVfYmxvY2s6YWxsIHZvaWNlcz58ICAgIDIwfCAgICAgOTcuMDB8ICAgIDEwMy42OHwgICAgMjUxLjAwfCAgIDMuODg4Cisgc3ludGhfb25lX2Jsb2NrOnJldmVyYiAtLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgc3ludGhfb25lX2Jsb2NrOmNob3J1cyAtLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgdm9pY2U6bm90ZSAtLS0tLS0tLS0tLS0tLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgdm9pY2U6cmVsZWFzZSAtLS0tLS0tLS0tLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQ3B1IGxvYWRzKCUpIChzcjogNDgwMDAgSHosIHNwOiAyMC44MyBtaWNyb3NlY29uZCkgYW5kIG1heGltdW0gdm9pY2VzCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgblZvaWNlc3wgdG90YWwoJSl8dm9pY2VzKCUpfCByZXZlcmIoJSl8Y2hvcnVzKCUpfCB2b2ljZSglKXxlc3RpbWF0ZWQgbWF4Vm9pY2VzCisgLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAyMHwgICAgNC4wOTZ8ICAgIDQuMDk2fCAgICAgMC4wMDB8ICAgIDAuMDAwfCAgICAwLjE5NHwgICAgICAgICAgICAgIDUxNAorU3RvcHBpbmcgMjAgdm9pY2VzLi4udm9pY2VzIHN0b3BwZWQuCis+IHF1aXQKK2NoZWVycyEKK0phY2tUZW1wb3JhcnlFeGNlcHRpb24gOiBub3cgcXVpdHMuLi4KK0phY2sgbWFpbiBjYXVnaHQgc2lnbmFsIDIKK2ZsdWlkX3Byb2ZpbGluZ19wcmludAorZmx1aWRzeW50aDogRXN0aW1hdGVkIHRpbWVzOiBtaW4vYXZnL21heCAobWljcm8gc2Vjb25kcykKK2ZsdWlkc3ludGg6IHN5bnRoX3dyaXRlXyogLS0tLS0tLS0tLS0tPjogMTAyLjAwMC8xMDkuMjE2LzI3OC4wMDAKK2ZsdWlkc3ludGg6IHN5bnRoX29uZV9ibG9jayAtLS0tLS0tLS0tPjogOTkuMDAwLzEwNi42NDkvMjY1LjAwMAorZmx1aWRzeW50aDogc3ludGhfb25lX2Jsb2NrOmNsZWFyIC0tLS0+OiAxLjAwMC8xLjY2Ni8yMi4wMDAKK2ZsdWlkc3ludGg6IHN5bnRoX29uZV9ibG9jazpvbmUgdm9pY2UtPjogMTEuMDAwLzEyLjMwNy81Ny4wMDAKK2ZsdWlkc3ludGg6IHN5bnRoX29uZV9ibG9jazphbGwgdm9pY2VzPjogOTcuMDAwLzEwMy42ODEvMjUxLjAwMAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkLXNwZWNpZmljXQorCistLS0KKyBzcmMvcnZvaWNlL2ZsdWlkX3J2b2ljZV9taXhlci5jIHwgNTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9ydm9pY2UvZmx1aWRfcnZvaWNlX21peGVyLmMgYi9zcmMvcnZvaWNlL2ZsdWlkX3J2b2ljZV9taXhlci5jCitpbmRleCBhZjBlZjc1ZC4uMDdhMzU3YzcgMTAwNjQ0CistLS0gYS9zcmMvcnZvaWNlL2ZsdWlkX3J2b2ljZV9taXhlci5jCisrKysgYi9zcmMvcnZvaWNlL2ZsdWlkX3J2b2ljZV9taXhlci5jCitAQCAtMjcsNiArMjcsOSBAQAorICNpbmNsdWRlICJmbHVpZF9sYWRzcGEuaCIKKyAjaW5jbHVkZSAiZmx1aWRfc3ludGguaCIKKyAKKysjaWYgZGVmaW5lZChfX0FSTV9ORU9OX18pCisrI2luY2x1ZGUgImFybV9uZW9uLmgiCisrI2VuZGlmCisgCisgLy8gSWYgbGVzcyB0aGFuIHggdm9pY2VzLCB0aGUgdGhyZWFkIG92ZXJoZWFkIGlzIGxhcmdlciB0aGFuIHRoZSBnYWluLAorIC8vIHNvIGRvbid0IGFjdGl2YXRlIHRoZSB0aHJlYWQocykuCitAQCAtMTA1Myw5ICsxMDU2LDE1IEBAIGZsdWlkX21peGVyX2J1ZmZlcnNfbWl4KGZsdWlkX21peGVyX2J1ZmZlcnNfdCAqZHN0LCBmbHVpZF9taXhlcl9idWZmZXJzX3QgKnNyYywKKyAgICAgaW50IGksIGo7CisgICAgIGludCBzY291bnQgPSBjdXJyZW50X2Jsb2NrY291bnQgKiBGTFVJRF9CVUZTSVpFOworICAgICBpbnQgbWluYnVmOworKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgZGVmaW5lZChXSVRIX0ZMT0FUKQorKyAgICBmbHVpZF9yZWFsX3QgKkZMVUlEX1JFU1RSSUNUIGJhc2Vfc3JjX2xlZnQ7CisrICAgIGZsdWlkX3JlYWxfdCAqRkxVSURfUkVTVFJJQ1QgYmFzZV9zcmNfcmlnaHQ7CisrICAgIGZsdWlkX3JlYWxfdCAqRkxVSURfUkVTVFJJQ1QgYmFzZV9kc3RfbGVmdDsKKysgICAgZmx1aWRfcmVhbF90ICpGTFVJRF9SRVNUUklDVCBiYXNlX2RzdF9yaWdodDsKKysjZWxzZQorICAgICBmbHVpZF9yZWFsX3QgKkZMVUlEX1JFU1RSSUNUIGJhc2Vfc3JjOworICAgICBmbHVpZF9yZWFsX3QgKkZMVUlEX1JFU1RSSUNUIGJhc2VfZHN0OworLQorKyNlbmRpZgorICAgICBtaW5idWYgPSBkc3QtPmJ1Zl9jb3VudDsKKyAKKyAgICAgaWYobWluYnVmID4gc3JjLT5idWZfY291bnQpCitAQCAtMTA2Myw2ICsxMDcyLDI3IEBAIGZsdWlkX21peGVyX2J1ZmZlcnNfbWl4KGZsdWlkX21peGVyX2J1ZmZlcnNfdCAqZHN0LCBmbHVpZF9taXhlcl9idWZmZXJzX3QgKnNyYywKKyAgICAgICAgIG1pbmJ1ZiA9IHNyYy0+YnVmX2NvdW50OworICAgICB9CisgCisrI2lmIGRlZmluZWQoX19BUk1fTkVPTl9fKSAmJiBkZWZpbmVkKFdJVEhfRkxPQVQpCisrICAgIGJhc2Vfc3JjX2xlZnQgPSBmbHVpZF9hbGlnbl9wdHIoc3JjLT5sZWZ0X2J1ZiwgRkxVSURfREVGQVVMVF9BTElHTk1FTlQpOworKyAgICBiYXNlX2RzdF9sZWZ0ID0gZmx1aWRfYWxpZ25fcHRyKGRzdC0+bGVmdF9idWYsIEZMVUlEX0RFRkFVTFRfQUxJR05NRU5UKTsKKysgICAgYmFzZV9zcmNfcmlnaHQgPSBmbHVpZF9hbGlnbl9wdHIoc3JjLT5yaWdodF9idWYsIEZMVUlEX0RFRkFVTFRfQUxJR05NRU5UKTsKKysgICAgYmFzZV9kc3RfcmlnaHQgPSBmbHVpZF9hbGlnbl9wdHIoZHN0LT5yaWdodF9idWYsIEZMVUlEX0RFRkFVTFRfQUxJR05NRU5UKTsKKysKKysgICAgZm9yKGkgPSAwOyBpIDwgbWluYnVmOyBpKyspCisrICAgIHsKKysgICAgICAgIGZvcihqID0gMDsgaiA8IHNjb3VudDsgais9NCkKKysgICAgICAgIHsKKysgICAgICAgICAgICBpbnQgZHNwX2kgPSBpICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVCAqIEZMVUlEX0JVRlNJWkUgKyBqOworKworKyAgICAgICAgICAgIGZsb2F0MzJ4NF90IHZsZWZ0ID0gdmxkMXFfZjMyKCZiYXNlX2RzdF9sZWZ0W2RzcF9pXSk7CisrICAgICAgICAgICAgZmxvYXQzMng0X3QgdnJpZ2h0ID0gdmxkMXFfZjMyKCZiYXNlX2RzdF9yaWdodFtkc3BfaV0pOworKyAgICAgICAgICAgIHZsZWZ0ID0gdmFkZHFfZjMyKHZsZWZ0LCB2bGQxcV9mMzIoJmJhc2Vfc3JjX2xlZnRbZHNwX2ldKSk7CisrICAgICAgICAgICAgdnJpZ2h0ID0gdmFkZHFfZjMyKHZyaWdodCwgdmxkMXFfZjMyKCZiYXNlX3NyY19yaWdodFtkc3BfaV0pKTsKKysgICAgICAgICAgICB2c3QxcV9mMzIoJmJhc2VfZHN0X2xlZnRbZHNwX2ldLCB2bGVmdCk7CisrICAgICAgICAgICAgdnN0MXFfZjMyKCZiYXNlX2RzdF9yaWdodFtkc3BfaV0sIHZyaWdodCk7CisrICAgICAgICB9CisrICAgIH0KKysjZWxzZQorICAgICBiYXNlX3NyYyA9IGZsdWlkX2FsaWduX3B0cihzcmMtPmxlZnRfYnVmLCBGTFVJRF9ERUZBVUxUX0FMSUdOTUVOVCk7CisgICAgIGJhc2VfZHN0ID0gZmx1aWRfYWxpZ25fcHRyKGRzdC0+bGVmdF9idWYsIEZMVUlEX0RFRkFVTFRfQUxJR05NRU5UKTsKKyAKK0BAIC0xMDkwLDYgKzExMjAsNyBAQCBmbHVpZF9taXhlcl9idWZmZXJzX21peChmbHVpZF9taXhlcl9idWZmZXJzX3QgKmRzdCwgZmx1aWRfbWl4ZXJfYnVmZmVyc190ICpzcmMsCisgICAgICAgICAgICAgYmFzZV9kc3RbZHNwX2ldICs9IGJhc2Vfc3JjW2RzcF9pXTsKKyAgICAgICAgIH0KKyAgICAgfQorKyNlbmRpZgorIAorICAgICBtaW5idWYgPSBkc3QtPmZ4X2J1Zl9jb3VudDsKKyAKK0BAIC0xMDk4LDYgKzExMjksMjcgQEAgZmx1aWRfbWl4ZXJfYnVmZmVyc19taXgoZmx1aWRfbWl4ZXJfYnVmZmVyc190ICpkc3QsIGZsdWlkX21peGVyX2J1ZmZlcnNfdCAqc3JjLAorICAgICAgICAgbWluYnVmID0gc3JjLT5meF9idWZfY291bnQ7CisgICAgIH0KKyAKKysjaWYgZGVmaW5lZChfX0FSTV9ORU9OX18pICYmIGRlZmluZWQoV0lUSF9GTE9BVCkKKysgICAgYmFzZV9zcmNfbGVmdCA9IGZsdWlkX2FsaWduX3B0cihzcmMtPmZ4X2xlZnRfYnVmLCBGTFVJRF9ERUZBVUxUX0FMSUdOTUVOVCk7CisrICAgIGJhc2VfZHN0X2xlZnQgPSBmbHVpZF9hbGlnbl9wdHIoZHN0LT5meF9sZWZ0X2J1ZiwgRkxVSURfREVGQVVMVF9BTElHTk1FTlQpOworKyAgICBiYXNlX3NyY19yaWdodCA9IGZsdWlkX2FsaWduX3B0cihzcmMtPmZ4X3JpZ2h0X2J1ZiwgRkxVSURfREVGQVVMVF9BTElHTk1FTlQpOworKyAgICBiYXNlX2RzdF9yaWdodCA9IGZsdWlkX2FsaWduX3B0cihkc3QtPmZ4X3JpZ2h0X2J1ZiwgRkxVSURfREVGQVVMVF9BTElHTk1FTlQpOworKworKyAgICBmb3IoaSA9IDA7IGkgPCBtaW5idWY7IGkrKykKKysgICAgeworKyAgICAgICAgZm9yKGogPSAwOyBqIDwgc2NvdW50OyBqKz00KQorKyAgICAgICAgeworKyAgICAgICAgICAgIGludCBkc3BfaSA9IGkgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICogRkxVSURfQlVGU0laRSArIGo7CisrCisrICAgICAgICAgICAgZmxvYXQzMng0X3QgdmxlZnQgPSB2bGQxcV9mMzIoJmJhc2VfZHN0X2xlZnRbZHNwX2ldKTsKKysgICAgICAgICAgICBmbG9hdDMyeDRfdCB2cmlnaHQgPSB2bGQxcV9mMzIoJmJhc2VfZHN0X3JpZ2h0W2RzcF9pXSk7CisrICAgICAgICAgICAgdmxlZnQgPSB2YWRkcV9mMzIodmxlZnQsIHZsZDFxX2YzMigmYmFzZV9zcmNfbGVmdFtkc3BfaV0pKTsKKysgICAgICAgICAgICB2cmlnaHQgPSB2YWRkcV9mMzIodnJpZ2h0LCB2bGQxcV9mMzIoJmJhc2Vfc3JjX3JpZ2h0W2RzcF9pXSkpOworKyAgICAgICAgICAgIHZzdDFxX2YzMigmYmFzZV9kc3RfbGVmdFtkc3BfaV0sIHZsZWZ0KTsKKysgICAgICAgICAgICB2c3QxcV9mMzIoJmJhc2VfZHN0X3JpZ2h0W2RzcF9pXSwgdnJpZ2h0KTsKKysgICAgICAgIH0KKysgICAgfQorKyNlbHNlCisgICAgIGJhc2Vfc3JjID0gZmx1aWRfYWxpZ25fcHRyKHNyYy0+ZnhfbGVmdF9idWYsIEZMVUlEX0RFRkFVTFRfQUxJR05NRU5UKTsKKyAgICAgYmFzZV9kc3QgPSBmbHVpZF9hbGlnbl9wdHIoZHN0LT5meF9sZWZ0X2J1ZiwgRkxVSURfREVGQVVMVF9BTElHTk1FTlQpOworIAorQEAgLTExMjUsNiArMTE3Nyw3IEBAIGZsdWlkX21peGVyX2J1ZmZlcnNfbWl4KGZsdWlkX21peGVyX2J1ZmZlcnNfdCAqZHN0LCBmbHVpZF9taXhlcl9idWZmZXJzX3QgKnNyYywKKyAgICAgICAgICAgICBiYXNlX2RzdFtkc3BfaV0gKz0gYmFzZV9zcmNbZHNwX2ldOworICAgICAgICAgfQorICAgICB9CisrI2VuZGlmCisgfQorIAorIAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGhfMS4xLjExLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGhfMS4xLjExLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZGYzMTAyLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoXzEuMS4xMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVNVTU1BUlkgPSAiRmx1aWRzeW50aCBpcyBhIHNvZnR3YXJlIHN5bnRoZXNpemVyIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mbHVpZHN5bnRoLm9yZy8iCi1TRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKLUxJQ0VOU0UgPSAiTEdQTC0yLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1mYzE3OGJjZDQyNTA5MDkzOWE4YjYzNGQxZDZhOTU5NCIKLQotREVQRU5EUyA9ICJhbHNhLWxpYiBuY3Vyc2VzIGdsaWItMi4wIgotCi1TUkNfVVJJID0gIiBcCi0gICAgZ2l0Oi8vZ2l0aHViLmNvbS9GbHVpZFN5bnRoL2ZsdWlkc3ludGguZ2l0O2JyYW5jaD0xLjEueCBcCi0gICAgZmlsZTovLzAwMDEtVXNlLUFSTS1ORU9OLWFjY2VsYXJhdGlvbi1mb3ItZmxvYXQtbXVsdGl0aHJlYWRlZC1zZS5wYXRjaCBcCi0iCi1TUkNSRVYgPSAiZjY1YzZiYTI1ZmIyYzdlMzdjODlmYzZhNGFmYzVhYTY0NWUyMDhjMiIKLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgY21ha2UgcGtnY29uZmlnIGxpYl9wYWNrYWdlCi0KLUVYVFJBX09FQ01BS0UgPSAiLURlbmFibGUtZmxvYXRzPU9OIC1ETElCX1NVRkZJWD0ke0BkLmdldFZhcignYmFzZWxpYicpLnJlcGxhY2UoJ2xpYicsICcnKX0iCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwdWxzZWF1ZGlvJywgZCl9IgotUEFDS0FHRUNPTkZJR1tzbmRmaWxlXSA9ICItRGVuYWJsZS1saWJzbmRmaWxlLXN1cHBvcnQ9T04sLURlbmFibGUtbGlic25kZmlsZS1zdXBwb3J0PU9GRixsaWJzbmRmaWxlMSIKLVBBQ0tBR0VDT05GSUdbamFja10gPSAiLURlbmFibGUtamFjay1zdXBwb3J0PU9OLC1EZW5hYmxlLWphY2stc3VwcG9ydD1PRkYsamFjayIKLVBBQ0tBR0VDT05GSUdbcHVsc2VhdWRpb10gPSAiLURlbmFibGUtcHVsc2VhdWRpbz1PTiwtRGVuYWJsZS1wdWxzZWF1ZGlvPU9GRixwdWxzZWF1ZGlvIgotUEFDS0FHRUNPTkZJR1twb3J0YXVkaW9dID0gIi1EZW5hYmxlLXBvcnRhdWRpbz1PTiwtRGVuYWJsZS1wb3J0YXVkaW89T0ZGLHBvcnRhdWRpby12MTkiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aF9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGY2MDBhMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoX2dpdC5iYgpAQCAtMCwwICsxLDIyIEBACityZXF1aXJlICR7QlBOfS5pbmMKKworREVQRU5EUyA9ICIke0JQTn0tbmF0aXZlIGFsc2EtbGliIG5jdXJzZXMgZ2xpYi0yLjAiCisKK1NSQ19VUkkgKz0gIiBcCisgICAgZmlsZTovLzAwMDEtRG8tbm90LWJ1aWxkLWdlbnRhYmxlcy1oZWxwZXItd2UtaGF2ZS10by11c2UtbmF0aXZlLS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0LUFsbG93LXplcm8tcG9pbnRlci1mb3ItbGVmdC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDMtVXNlLUFSTS1ORU9OLWFjY2VsYXJhdGlvbi1mb3ItZmxvYXQtbXVsdGl0aHJlYWRlZC1zZS5wYXRjaCBcCisiCisKK0VYVFJBX09FQ01BS0UgPSAiLURlbmFibGUtZmxvYXRzPU9OIC1ETElCX1NVRkZJWD0ke0BkLmdldFZhcignYmFzZWxpYicpLnJlcGxhY2UoJ2xpYicsICcnKX0iCisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7CisgICAgbWFrZV90YWJsZXMuZXhlICR7Qn0vCit9CisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwdWxzZWF1ZGlvJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzbmRmaWxlXSA9ICItRGVuYWJsZS1saWJzbmRmaWxlPU9OLC1EZW5hYmxlLWxpYnNuZGZpbGU9T0ZGLGxpYnNuZGZpbGUxIgorUEFDS0FHRUNPTkZJR1tqYWNrXSA9ICItRGVuYWJsZS1qYWNrPU9OLC1EZW5hYmxlLWphY2s9T0ZGLGphY2siCitQQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi1EZW5hYmxlLXB1bHNlYXVkaW89T04sLURlbmFibGUtcHVsc2VhdWRpbz1PRkYscHVsc2VhdWRpbyIKK1BBQ0tBR0VDT05GSUdbcG9ydGF1ZGlvXSA9ICItRGVuYWJsZS1wb3J0YXVkaW89T04sLURlbmFibGUtcG9ydGF1ZGlvPU9GRixwb3J0YXVkaW8tdjE5IgorUEFDS0FHRUNPTkZJR1twcm9maWxpbmddID0gIi1EZW5hYmxlLXByb2ZpbGluZz1PTiwtRGVuYWJsZS1wcm9maWxpbmc9T0ZGIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nZXJiZXJhL2dlcmJlcmFfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nZXJiZXJhL2dlcmJlcmFfZ2l0LmJiCmluZGV4IGY3NjNjZjEuLjljNzhkYTAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ2VyYmVyYS9nZXJiZXJhX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dlcmJlcmEvZ2VyYmVyYV9naXQuYmIKQEAgLTcsMjAgKzcsMjEgQEAKICAgICBmaWxlOi8vZ2VyYmVyYS5zZXJ2aWNlIFwKICIKIAotUFYgPSAiMS4wK2dpdCR7U1JDUFZ9IgotU1JDUkVWID0gIjQ0MzViMTY1ZDEyMTE5NWFlZmQ2N2QwMjg3ZjdmOTM0OWUxODFkNDUiCitQViA9ICIxLjMuMCtnaXQke1NSQ1BWfSIKKyMgdjEuMy4wCitTUkNSRVYgPSAiYzdhODFmYjQxZTQ0NmVlNjdiM2VhYzkwZTJjYWVjZDZkZTY1MWExNiIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIAotREVQRU5EUyA9ICJleHBhdCB6bGliIGN1cmwgbGlidXBucCBlMmZzcHJvZ3Mgc3FsaXRlMyAiCitERVBFTkRTID0gImV4cGF0IHpsaWIgY3VybCBsaWJ1cG5wIGUyZnNwcm9ncyBzcWxpdGUzIGxpYm5zbDIiCiAKIFNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJnZXJiZXJhLnNlcnZpY2UiCiAKIGluaGVyaXQgY21ha2Ugc3lzdGVtZAogCi1QQUNLQUdFQ09ORklHID0gIiIKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItRFdJVEhfU1lTVEVNRD1UUlVFLC1EV0lUSF9TWVNURU1EPUZBTFNFLHN5c3RlbWQiCiBQQUNLQUdFQ09ORklHW3RhZ2xpYl0gPSAiLURXSVRIX1RBR0xJQj1UUlVFLC1EV0lUSF9UQUdMSUI9RkFMU0UsdGFnbGliIgotCiBFWFRSQV9PRUNNQUtFID0gIi1EV0lUSF9KUz1GQUxTRSAtRFdJVEhfTUFHSUM9RkFMU0UgLURXSVRIX0VYSUY9RkFMU0UgLURMSUJVVUlEX0lOQ0xVREVfRElSUz0ke1NUQUdJTkdfSU5DRElSfSAtRExJQlVVSURfTElCUkFSSUVTPS1sdXVpZCIKIAogZG9faW5zdGFsbF9hcHBlbmQoKSB7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wM18wLjEwLjMxLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmx1ZW5kby1tcDNfMC4xMC4zMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWUyY2QyYS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wM18wLjEwLjMxLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotcmVxdWlyZSBnc3QtZmx1ZW5kby5pbmMKLQotU1VNTUFSWSA9ICJGbHVlbmRvIGNsb3NlZC1mb3JtYXQgbXAzIEdTdHJlYW1lciBwbHVnLWluIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNTlhNDNkZDFjOTg1NGI3MWZjMzk2Zjc0Njk5ZjRkMiIKLUxJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKLQotR1NUUkVBTUVSX0RFQlVHID89ICItLWRpc2FibGUtZGVidWciCi1FWFRSQV9PRUNPTkYgKz0gIiR7R1NUUkVBTUVSX0RFQlVHfSAtLXdpdGgtZ3N0cmVhbWVyLWFwaT0wLjEwIgotCi1hY3BhdGhzID0gIi1JICR7U30vY29tbW9uL200IC1JICR7U30vbTQiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJhZGYwMzkwZjM0MTZiYjcyZjkxYzM1ODUyOGJlMGMzOCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkYWUwZDA1NTlhNGUxNTljMGRkOTJiN2UxOGRlMDU5YTU3ODNmOGQwMzg5MDRjN2RlNGNhNjM5M2Y3ZDU1YzdkIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmx1ZW5kby1tcGVnZGVtdXhfMC4xMC44NS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZsdWVuZG8tbXBlZ2RlbXV4XzAuMTAuODUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiYmE0MWEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmx1ZW5kby1tcGVnZGVtdXhfMC4xMC44NS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLXJlcXVpcmUgZ3N0LWZsdWVuZG8uaW5jCi0KLVNVTU1BUlkgPSAiRmx1ZW5kbyBNUEVHIFRyYW5zcG9ydCBTdHJlYW0gYW5kIFByb2dyYW0gU3RyZWFtIGRlbXV4ZXIgZm9yIEdTdHJlYW1lciIKLUxJQ0VOU0UgPSAiTVBMdjEuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJlMjgyZjFjM2NjOWE5OGNjMGRjNWMyYjI1ZGZjNTEwIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9nc3RtcGVnZGVtdXguaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTE5O21kNT1hOWU5MDAzM2Y1OTg5N2I5MTY2NGQ5ZjJhMmZmMDFkZCIKLUxJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKLQotYWNwYXRocyA9ICItSSAke1N9L2NvbW1vbi9tNCAtSSAke1N9L200IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiN2M0ZmI5OTNmODBiOWFlNjMxYjExODk3NzMzZjA5NzAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGYwNGM5MWNjOGU1ZDlhODkyYzI0OTJlZDk4OTk3NGI0NTQ3YmVhYTJhMzY0NzY0OWU4NTExMzMxNzg5NzQyNCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZsdWVuZG8uaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmx1ZW5kby5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhNzdkNjIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmx1ZW5kby5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1TVU1NQVJZID0gIkZsdWVuZG8gY2xvc2VkLWZvcm1hdCBHU3RyZWFtZXIgcGx1Zy1pbiIKLVNFQ1RJT04gPSAibXVsdGltZWRpYSIKLUhPTUVQQUdFID0gImh0dHBzOi8vY29yZS5mbHVlbmRvLmNvbS9nc3RyZWFtZXIvdHJhYy93aWtpIgotREVQRU5EUyA9ICJnc3RyZWFtZXIgZ3N0LXBsdWdpbnMtYmFzZSB6bGliIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotU1JDX1VSSSA9ICJodHRwOi8vY29yZS5mbHVlbmRvLmNvbS9nc3RyZWFtZXIvc3JjLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLnNvIgotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvLmRlYnVnIgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvKi5sYSAke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvKi5hIgotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXZhbGdyaW5kIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtbWV0YS1iYXNlXzAuMTAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1tZXRhLWJhc2VfMC4xMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODhmMWFiZi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1tZXRhLWJhc2VfMC4xMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLVNVTU1BUlkgPSAiR1N0cmVhbWVyIHBhY2thZ2UgZ3JvdXBzIgotTElDRU5TRSA9ICJNSVQiCi0KLUNPTU1FUkNJQUxfUExVR0lOUyA9ICIke0NPTU1FUkNJQUxfQVVESU9fUExVR0lOU30gJHtDT01NRVJDSUFMX1ZJREVPX1BMVUdJTlN9IgotREVQRU5EU19VR0xZPSIke0AnZ3N0LXBsdWdpbnMtdWdseScgaWYgJ3VnbHknIGluIENPTU1FUkNJQUxfUExVR0lOUy5zcGxpdCgnLScpIGVsc2UgJyd9IgotREVQRU5EU19CQUQ9IiR7QCdnc3QtcGx1Z2lucy1iYWQnIGlmICdiYWQnIGluIENPTU1FUkNJQUxfUExVR0lOUy5zcGxpdCgnLScpIGVsc2UgJyd9IgotREVQRU5EUyA9ICJnc3RyZWFtZXIgZ3N0LXBsdWdpbnMtYmFzZSBnc3QtcGx1Z2lucy1nb29kICR7REVQRU5EU19VR0xZfSAke0RFUEVORFNfQkFEfSIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT01NT05fTElDRU5TRV9ESVJ9L01JVDttZDU9MDgzNWFkZTY5OGUwYmNmODUwNmVjZGEyZjdiNGYzMDIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9DT1BZSU5HLk1JVDttZDU9M2RhOWNmYmNiNzg4YzgwYTAzODQzNjFiNGRlMjA0MjAiCi0KLQotUFIgPSAicjEzIgotCi1QQUNLQUdFUyA9ICJcCi0gICAgZ3N0LW1ldGEtYmFzZSBcCi0gICAgZ3N0LW1ldGEteDExLWJhc2UgXAotICAgIGdzdC1tZXRhLWF1ZGlvIFwKLSAgICBnc3QtbWV0YS1kZWJ1ZyBcCi0gICAgZ3N0LW1ldGEtdmlkZW8iCi0KLUFMTE9XX0VNUFRZX2dzdC1tZXRhLWJhc2UgPSAiMSIKLUFMTE9XX0VNUFRZX2dzdC1tZXRhLXgxMS1iYXNlID0gIjEiCi1BTExPV19FTVBUWV9nc3QtbWV0YS1hdWRpbyA9ICIxIgotQUxMT1dfRU1QVFlfZ3N0LW1ldGEtZGVidWcgPSAiMSIKLUFMTE9XX0VNUFRZX2dzdC1tZXRhLXZpZGVvID0gIjEiCi0KLVJERVBFTkRTX2dzdC1tZXRhLWJhc2UgPSAiXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ2dzdC1tZXRhLXgxMS1iYXNlJywgJycsIGQpfSBcCi0gICAgZ3N0cmVhbWVyIFwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLXBsYXliaW4gXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtZGVjb2RlYmluIFwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLWRlY29kZWJpbjIgXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtZ2lvIFwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLWFsc2EgXAotICAgIGdzdC1wbHVnaW5zLWJhc2Utdm9sdW1lIFwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLWF1ZGlvY29udmVydCBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS1hdWRpb3Jlc2FtcGxlIFwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLXR5cGVmaW5kZnVuY3Rpb25zIFwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLXZpZGVvc2NhbGUgXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtZmZtcGVnY29sb3JzcGFjZSBcCi0gICAgZ3N0LXBsdWdpbnMtZ29vZC1hdXRvZGV0ZWN0IFwKLSAgICBnc3QtcGx1Z2lucy1nb29kLXNvdXBodHRwc3JjIgotCi1SUkVDT01NRU5EU19nc3QtbWV0YS14MTEtYmFzZSA9ICJcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS14aW1hZ2VzaW5rIFwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLXh2aW1hZ2VzaW5rIgotCi1SREVQRU5EU19nc3QtbWV0YS1hdWRpbyA9ICJcCi0gICAgZ3N0LW1ldGEtYmFzZSBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS12b3JiaXMgXAotICAgIGdzdC1wbHVnaW5zLWJhc2Utb2dnIFwKLSAgICBnc3QtcGx1Z2lucy1nb29kLXdhdnBhcnNlIFwKLSAgICBnc3QtcGx1Z2lucy1nb29kLWZsYWMgXAotICAgICR7Q09NTUVSQ0lBTF9BVURJT19QTFVHSU5TfSIKLQotCi1SREVQRU5EU19nc3QtbWV0YS1kZWJ1ZyA9ICJcCi0gICAgZ3N0LW1ldGEtYmFzZSBcCi0gICAgZ3N0LXBsdWdpbnMtZ29vZC1kZWJ1ZyBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS1hdWRpb3Rlc3RzcmMgXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtdmlkZW90ZXN0c3JjIgotCi0KLVJERVBFTkRTX2dzdC1tZXRhLXZpZGVvID0gIlwKLSAgICBnc3QtbWV0YS1iYXNlIFwKLSAgICBnc3QtcGx1Z2lucy1nb29kLWF2aSBcCi0gICAgZ3N0LXBsdWdpbnMtZ29vZC1tYXRyb3NrYSBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS10aGVvcmEgXAotICAgICR7Q09NTUVSQ0lBTF9WSURFT19QTFVHSU5TfSIKLQotUlJFQ09NTUVORFNfZ3N0LW1ldGEtdmlkZW8gPSAiXAotICAgIGdzdC1tZXRhLWF1ZGlvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3Qtb3Blbm1heC9nY2NfNC42LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3Qtb3Blbm1heC9nY2NfNC42LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1N2E2M2I1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXgvZ2NjXzQuNi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBTYXVsIFdvbGQgPHNnd0BsaW51eC5pbnRlbC5jb20+Ci0KLUluZGV4OiBnc3Qtb3Blbm1heC0wLjEwLjEvb214L2dzdG9teC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ3N0LW9wZW5tYXgtMC4xMC4xLm9yaWcvb214L2dzdG9teC5jCTIwMTAtMDktMzAgMTg6MDA6MjQuMDAwMDAwMDAwIC0wNzAwCi0rKysgZ3N0LW9wZW5tYXgtMC4xMC4xL29teC9nc3RvbXguYwkyMDExLTA1LTE3IDIzOjA4OjA4Ljc5NDUzNTg3MiAtMDcwMAotQEAgLTIzOCw3ICsyMzgsOCBAQAotICAgICBjb25zdCBnY2hhciAqZWxlbWVudF9uYW1lID0gZ3N0X3N0cnVjdHVyZV9udGhfZmllbGRfbmFtZSAoZWxlbWVudF90YWJsZSwgaSk7Ci0gICAgIEdzdFN0cnVjdHVyZSAqZWxlbWVudCA9IGdldF9lbGVtZW50X2VudHJ5IChlbGVtZW50X25hbWUpOwotICAgICBjb25zdCBnY2hhciAqdHlwZV9uYW1lLCAqcGFyZW50X3R5cGVfbmFtZTsKLS0gICAgY29uc3QgZ2NoYXIgKmNvbXBvbmVudF9uYW1lLCAqY29tcG9uZW50X3JvbGUsICpsaWJyYXJ5X25hbWU7Ci0rICAgIGNvbnN0IGdjaGFyICpjb21wb25lbnRfbmFtZSwgKmxpYnJhcnlfbmFtZTsKLSsgICAgY29uc3QgZ2NoYXIgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpICpjb21wb25lbnRfcm9sZTsKLSAgICAgR1R5cGUgdHlwZTsKLSAgICAgZ2ludCByYW5rOwotIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3Qtb3Blbm1heC9wdHItYXJyYXkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L3B0ci1hcnJheS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTk2NWJiYS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L3B0ci1hcnJheS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLVJlbmFtZSBzdGF0aWMgZnVuY3Rpb25zIHRoYXQgdXNlIEdMaWIgbmFtaW5nIGNvbnZlbnRpb25zIGFzIG9uZSBvZiB0aGVtCi0oZ19wdHJfYXJyYXlfaW5zZXJ0KSBoYXMgbm93IGJlZW4gYWRkZWQgdG8gR0xpYi4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1kaWZmIC0tZ2l0IGEvb214L2dzdG9teF91dGlsLmMgYi9vbXgvZ3N0b214X3V0aWwuYwotaW5kZXggNDIzZTQ0MS4uNTc5ZGJmNSAxMDA2NDQKLS0tLSBhL29teC9nc3RvbXhfdXRpbC5jCi0rKysgYi9vbXgvZ3N0b214X3V0aWwuYwotQEAgLTg1LDcgKzg1LDcgQEAgc3RhdGljIGdib29sZWFuIGluaXRpYWxpemVkOwotICAqLwotIAotIHN0YXRpYyB2b2lkCi0tZ19wdHJfYXJyYXlfY2xlYXIgKEdQdHJBcnJheSAqIGFycmF5KQotK29teF9nX3B0cl9hcnJheV9jbGVhciAoR1B0ckFycmF5ICogYXJyYXkpCi0gewotICAgZ3VpbnQgaW5kZXg7Ci0gICBmb3IgKGluZGV4ID0gMDsgaW5kZXggPCBhcnJheS0+bGVuOyBpbmRleCsrKQotQEAgLTkzLDcgKzkzLDcgQEAgZ19wdHJfYXJyYXlfY2xlYXIgKEdQdHJBcnJheSAqIGFycmF5KQotIH0KLSAKLSBzdGF0aWMgdm9pZAotLWdfcHRyX2FycmF5X2luc2VydCAoR1B0ckFycmF5ICogYXJyYXksIGd1aW50IGluZGV4LCBncG9pbnRlciBkYXRhKQotK29teF9nX3B0cl9hcnJheV9pbnNlcnQgKEdQdHJBcnJheSAqIGFycmF5LCBndWludCBpbmRleCwgZ3BvaW50ZXIgZGF0YSkKLSB7Ci0gICBpZiAoaW5kZXggKyAxID4gYXJyYXktPmxlbikgewotICAgICBnX3B0cl9hcnJheV9zZXRfc2l6ZSAoYXJyYXksIGluZGV4ICsgMSk7Ci1AQCAtMzk0LDcgKzM5NCw3IEBAIGdfb214X2NvcmVfdW5sb2FkIChHT214Q29yZSAqIGNvcmUpCi0gICB9Ci0gCi0gICBjb3JlX2Zvcl9lYWNoX3BvcnQgKGNvcmUsIGdfb214X3BvcnRfZnJlZSk7Ci0tICBnX3B0cl9hcnJheV9jbGVhciAoY29yZS0+cG9ydHMpOwotKyAgb214X2dfcHRyX2FycmF5X2NsZWFyIChjb3JlLT5wb3J0cyk7Ci0gfQotIAotIHN0YXRpYyBpbmxpbmUgR09teFBvcnQgKgotQEAgLTQxOCw3ICs0MTgsNyBAQCBnX29teF9jb3JlX25ld19wb3J0IChHT214Q29yZSAqIGNvcmUsIGd1aW50IGluZGV4KQotICAgfQotIAotICAgcG9ydCA9IGdfb214X3BvcnRfbmV3IChjb3JlLCBpbmRleCk7Ci0tICBnX3B0cl9hcnJheV9pbnNlcnQgKGNvcmUtPnBvcnRzLCBpbmRleCwgcG9ydCk7Ci0rICBvbXhfZ19wdHJfYXJyYXlfaW5zZXJ0IChjb3JlLT5wb3J0cywgaW5kZXgsIHBvcnQpOwotIAotICAgcmV0dXJuIHBvcnQ7Ci0gfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3Qtb3Blbm1heF8wLjEwLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4XzAuMTAuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmUwMTU3OS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4XzAuMTAuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLVNVTU1BUlkgPSAiR1N0cmVhbWVyIHBsdWctaW4gZm9yIGNvbW11bmljYXRpb24gd2l0aCBPcGVuTUFYIElMIGNvbXBvbmVudHMiCi1ERVNDUklQVElPTiA9ICJHc3RPcGVuTUFYIGlzIGEgR1N0cmVhbWVyIHBsdWctaW4gdGhhdCBhbGxvd3MgXAotY29tbXVuaWNhdGlvbiB3aXRoIE9wZW5NQVggSW50ZWdyYXRpb24gTGF5ZXIgKElMKSBjb21wb25lbnRzLiBPcGVuTUFYIFwKLUlMIGlzIGFuIGluZHVzdHJ5IHN0YW5kYXJkIHRoYXQgcHJvdmlkZXMgYW4gYWJzdHJhY3Rpb24gbGF5ZXIgZm9yIFwKLWNvbXB1dGVyIGdyYXBoaWNzLCB2aWRlbywgYW5kIHNvdW5kIHJvdXRpbmVzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9mcmVlZGVza3RvcC5vcmcvd2lraS9Hc3RPcGVuTUFYIgotREVQRU5EUyA9ICJnc3RyZWFtZXIiCi1SREVQRU5EU18ke1BOfSA9ICJsaWJvbXhpbCIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEiCi1MSUNFTlNFX0ZMQUdTID0gImNvbW1lcmNpYWwiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly91dGlsL3NlbS5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MjA7bWQ1PWFjY2NlNTU1MGQ1NTgzYjgzOWI0NDFhMDYyM2YwOWZjIgotCi1TUkNfVVJJID0gImh0dHA6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3Qtb3Blbm1heC9nc3Qtb3Blbm1heC0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL2djY180LjYucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcHRyLWFycmF5LnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotIyBUZWxsIGNvbmZpZ3VyZSB0aGF0IHRoaXMgaXNuJ3QgYSBkZXZlbG9wbWVudCBzbmFwc2hvdCBzbyB3ZSBkb24ndCB3YW50Ci0jIC1XZXJyb3IgKGhvcGVmdWxseSBmaXhlZCBpbiAwLjEwLjIpCi1leHBvcnQgR1NUX0NWUz0ibm8iCi0KLUVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXZhbGdyaW5kIgotCi1QUiA9ICJyNCIKLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC9saWJnc3RvbXguc28iCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC9saWJnc3RvbXgubGEiCi1GSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC9saWJnc3RvbXguYSIKLUZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLy5kZWJ1Zy8iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI0ZDAzNzBiZmU5OWRlYTIwOTE4Yzg0MzQ3YWJhZGI0ZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5MDc0ZDVhMDU5MTk5NTEzM2QxOWNmYjE1MTQ0ZjE5NjY0ZjkwMmMxNjIzZjk5NjU5NTY5NWNmMmMyMDcwZTFmIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYWQvYnVmZmVyLW92ZXJmbG93LW1wNC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFkL2J1ZmZlci1vdmVyZmxvdy1tcDQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzNWFjZGEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYWQvYnVmZmVyLW92ZXJmbG93LW1wNC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLURlc2NyaXB0aW9uOiBGaXggYnVmZmVyIG92ZXJmbG93IGluIG1wNCBwYXJzaW5nCi1BdXRob3I6IFJhbHBoIEdpbGVzIDxnaWxlc0Btb3ppbGxhLmNvbT4KLS0tLQotQmFja3BvcnQgcGF0Y2ggZnJvbSBkZWJpYW4gdG8gZml4IENWRS0yMDE1LTA3OTcuCi1odHRwczovL3NvdXJjZXMuZGViaWFuLm5ldC9kYXRhL21haW4vZy9nc3QtcGx1Z2lucy1iYWQwLjEwLzAuMTAuMjMtNy4xK2RlYjd1Mi9kZWJpYW4vcGF0Y2hlcy9idWZmZXItb3ZlcmZsb3ctbXA0LnBhdGNoCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLS0tLSBnc3QtcGx1Z2lucy1iYWQwLjEwLTAuMTAuMjMub3JpZy9nc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCi0rKysgZ3N0LXBsdWdpbnMtYmFkMC4xMC0wLjEwLjIzL2dzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKLUBAIC0zODQsNiArMzg0LDExIEBAIGdzdF9oMjY0X3BhcnNlX3dyYXBfbmFsIChHc3RIMjY0UGFyc2UgKgotIAotICAgR1NUX0RFQlVHX09CSkVDVCAoaDI2NHBhcnNlLCAibmFsIGxlbmd0aCAlZCIsIHNpemUpOwotIAotKyAgaWYgKHNpemUgPiBHX01BWFVJTlQzMiAtIG5sKSB7Ci0rICAgIEdTVF9FTEVNRU5UX0VSUk9SIChoMjY0cGFyc2UsIFNUUkVBTSwgRkFJTEVELCAoTlVMTCksCi0rICAgICAgICAoIm92ZXJmbG93IGluIG5hbCBzaXplIikpOwotKyAgICByZXR1cm4gTlVMTDsKLSsgIH0KLSAgIGJ1ZiA9IGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYyAoc2l6ZSArIG5sICsgNCk7Ci0gICBpZiAoZm9ybWF0ID09IEdTVF9IMjY0X1BBUlNFX0ZPUk1BVF9BVkMpIHsKLSAgICAgR1NUX1dSSVRFX1VJTlQzMl9CRSAoR1NUX0JVRkZFUl9EQVRBIChidWYpLCBzaXplIDw8ICgzMiAtIDggKiBubCkpOwotQEAgLTQ1Miw2ICs0NTcsMTEgQEAgZ3N0X2gyNjRfcGFyc2VfcHJvY2Vzc19uYWwgKEdzdEgyNjRQYXJzZQotICAgICBHU1RfREVCVUdfT0JKRUNUIChoMjY0cGFyc2UsICJub3QgcHJvY2Vzc2luZyBuYWwgc2l6ZSAldSIsIG5hbHUtPnNpemUpOwotICAgICByZXR1cm47Ci0gICB9Ci0rICBpZiAoR19VTkxJS0VMWSAobmFsdS0+c2l6ZSA+IDIwICogMTAyNCAqIDEwMjQpKSB7Ci0rICAgIEdTVF9ERUJVR19PQkpFQ1QgKGgyNjRwYXJzZSwgIm5vdCBwcm9jZXNzaW5nIG5hbCBzaXplICV1ICh0b28gYmlnKSIsCi0rICAgICAgICBuYWx1LT5zaXplKTsKLSsgICAgcmV0dXJuOwotKyAgfQotIAotICAgLyogd2UgaGF2ZSBhIHBlZWsgYXMgd2VsbCAqLwotICAgbmFsX3R5cGUgPSBuYWx1LT50eXBlOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYWRfMC4xMC4yMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFkXzAuMTAuMjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4ZmNjYzguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYWRfMC4xMC4yMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLXJlcXVpcmUgZ3N0LXBsdWdpbnMuaW5jCi0KLUxJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyKyAmIExHUEx2Mi4xKyAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nc3QvdHRhL2ZpbHRlcnMuaDtiZWdpbmxpbmU9MTI7ZW5kbGluZT0yOTttZDU9NjI5YjBjN2E2NjVkMTU1YTY2Nzc3NzhmNDQ2MGVjMDYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC90dGEvY3JjMzIuaDtiZWdpbmxpbmU9MTI7ZW5kbGluZT0yOTttZDU9NzFhOTA0ZDk5Y2U3YWUwYzFjZjEyOTg5MWI5ODE0NWMiCi0KLURFUEVORFMgKz0gImdzdC1wbHVnaW5zLWJhc2UiCi0KLVBSID0gInI0IgotCi1TUkNfVVJJICs9ICJmaWxlOi8vYnVmZmVyLW92ZXJmbG93LW1wNC5wYXRjaCIKLQotaW5oZXJpdCBnZXR0ZXh0IGdzZXR0aW5ncwotCi1FWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1leHBlcmltZW50YWwgXAotICAgICAgICAgICAgICAgICAtLWRpc2FibGUtc2RsIC0tZGlzYWJsZS1jZGF1ZGlvIC0tZGlzYWJsZS1kaXJlY3RmYiBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS12ZHBhdSAtLWRpc2FibGUtYXBleHNpbmsiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJiemlwIGN1cmwgXAotICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3JzdmcnLCAnJywgZCl9IgotCi1QQUNLQUdFQ09ORklHW2J6aXBdID0gIi0tZW5hYmxlLWJ6MiwtLWRpc2FibGUtYnoyLGJ6aXAyIgotUEFDS0FHRUNPTkZJR1tjdXJsXSA9ICItLWVuYWJsZS1jdXJsLC0tZGlzYWJsZS1jdXJsLGN1cmwiCi1QQUNLQUdFQ09ORklHW3JzdmddID0gIi0tZW5hYmxlLXJzdmcsLS1kaXNhYmxlLXJzdmcsbGlicnN2ZywiCi1QQUNLQUdFQ09ORklHW29yY10gPSAiLS1lbmFibGUtb3JjLC0tZGlzYWJsZS1vcmMsb3JjIgotUEFDS0FHRUNPTkZJR1tuZW9uXSA9ICItLWVuYWJsZS1uZW9uLC0tZGlzYWJsZS1uZW9uLG5lb24iCi1QQUNLQUdFQ09ORklHW21tc10gPSAiLS1lbmFibGUtbGlibW1zLC0tZGlzYWJsZS1saWJtbXMsbGlibW1zIgotUEFDS0FHRUNPTkZJR1tjb2ddID0gIi0tZW5hYmxlLWNvZywtLWRpc2FibGUtY29nLGxpYnBuZyIKLVBBQ0tBR0VDT05GSUdbZmFhZF0gPSAiLS1lbmFibGUtZmFhZCwtLWRpc2FibGUtZmFhZCxmYWFkMiIKLVBBQ0tBR0VDT05GSUdbanAya10gPSAiLS1lbmFibGUtanAyaywtLWRpc2FibGUtanAyayxqYXNwZXIiCi1QQUNLQUdFQ09ORklHW21vZHBsdWddID0gIi0tZW5hYmxlLW1vZHBsdWcsLS1kaXNhYmxlLW1vZHBsdWcsbGlibW9kcGx1ZyIKLVBBQ0tBR0VDT05GSUdbb3B1c10gPSAiLS1lbmFibGUtb3B1cywtLWRpc2FibGUtb3B1cyxsaWJvcHVzIgotUEFDS0FHRUNPTkZJR1tzbmRmaWxlXSA9ICItLWVuYWJsZS1zbmRmaWxlLC0tZGlzYWJsZS1zbmRmaWxlLGxpYnNuZGZpbGUxIgotUEFDS0FHRUNPTkZJR1t2cDhdID0gIi0tZW5hYmxlLXZwOCwtLWRpc2FibGUtdnA4LGxpYnZweCIKLVBBQ0tBR0VDT05GSUdbYXNzXSA9ICItLWVuYWJsZS1hc3NyZW5kZXIsLS1kaXNhYmxlLWFzc3JlbmRlcixsaWJhc3MiCi1QQUNLQUdFQ09ORklHW29wZW5hbF0gPSAiLS1lbmFibGUtb3BlbmFsLC0tZGlzYWJsZS1vcGVuYWwsb3BlbmFsLXNvZnQiCi1QQUNLQUdFQ09ORklHW3NjaHJvXSA9ICItLWVuYWJsZS1zY2hybywtLWRpc2FibGUtc2Nocm8sc2Nocm9lZGluZ2VyIgotUEFDS0FHRUNPTkZJR1tkYzEzOTRdID0gIi0tZW5hYmxlLWRjMTM5NCwtLWRpc2FibGUtZGMxMzk0LGxpYmRjMTM5NCIKLVBBQ0tBR0VDT05GSUdbZmFhY10gPSAiLS1lbmFibGUtZmFhYywtLWRpc2FibGUtZmFhYyxmYWFjIgotUEFDS0FHRUNPTkZJR1tydG1wXSA9ICItLWVuYWJsZS1ydG1wLC0tZGlzYWJsZS1ydG1wLHJ0bXBkdW1wIgotUEFDS0FHRUNPTkZJR1t2b2FtcndiZW5jXSA9ICItLWVuYWJsZS12b2FtcndiZW5jLC0tZGlzYWJsZS12b2FtcndiZW5jLHZvLWFtcndiZW5jIgotUEFDS0FHRUNPTkZJR1t2b2FhY2VuY10gPSAiLS1lbmFibGUtdm9hYWNlbmMsLS1kaXNhYmxlLXZvYWFjZW5jLHZvLWFhY2VuYyIKLVBBQ0tBR0VDT05GSUdbcmVzaW5kdmRdID0gIi0tZW5hYmxlLXJlc2luZHZkLC0tZGlzYWJsZS1yZXNpbmR2ZCxsaWJkdmRuYXYgbGliZHZkcmVhZCIKLVBBQ0tBR0VDT05GSUdbemJhcl0gPSAiLS1lbmFibGUtemJhciwtLWRpc2FibGUtemJhcix6YmFyIGpwZWciCi0KLUFSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tcmVzaW5kdmQiCi1GSUxFU18ke1BOfS1yZXNpbmR2ZCA9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLSR7TElCVn0vbGlicmVzaW5kdmQuc28iCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItJHtMSUJWfS9saWJyZXNpbmR2ZC5sYSIKLUZJTEVTXyR7UE59LXZvYW1yd2JlbmMgKz0gIiR7ZGF0YWRpcn0vZ3N0cmVhbWVyLSR7TElCVn0vcHJlc2V0cy9Hc3RWb0FtcndiRW5jLnBycyIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgIyBUaGlzIG00IGZpbGUgY29udGFpbnMgbmFzdGluZXNzIHdoaWNoIGNvbmZsaWN0cyB3aXRoIGxpYnRvb2wgMi4yLjIKLSAgICBybSAke1N9L200L2xpYi1saW5rLm00IHx8IHRydWUKLX0KLQotU1JDX1VSSVttZDVzdW1dID0gImZjYjA5Nzk4MTE0NDYxOTU1MjYwZTRkOTQwZGI1OTg3IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBlYWU3ZDFhMTM1N2FlODM3N2ZkZWQ2YTFiNDJlNjYzODg3YmVhYmUwZTZjYzMzNmUyZWY5YWRhNDJlMTE0OTEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi8wMDAxLWFjbG9jYWwubTQtZG9uLXQtZG8tY3JhenktdGhpbmdzLXRvLUdMSUJfQ0ZMQUdTLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvMDAwMS1hY2xvY2FsLm00LWRvbi10LWRvLWNyYXp5LXRoaW5ncy10by1HTElCX0NGTEFHUy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjlmYmVjNS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi8wMDAxLWFjbG9jYWwubTQtZG9uLXQtZG8tY3JhenktdGhpbmdzLXRvLUdMSUJfQ0ZMQUdTLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotRnJvbSA1NDc4ZWFmZWNmNjE4Y2Q4ZTc0MmNjMWI5NmQ2ODhhMmM3Y2U1YTc5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgotRGF0ZTogU3VuLCAyIE9jdCAyMDE2IDIxOjQ5OjMzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGdzdC1nbGliMi5tNDogZG9uJ3QgZG8gY3JhenkgdGhpbmdzIHRvIEdMSUJfQ0ZMQUdTCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLXdlIGFyZSBkZWZpbml0ZWx5IG5vdCBvbmUgb2YgdGhvc2UgcG9vciBzb3VscyBtZW50aW9uZWQKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KLS0tLQotIGNvbW1vbi9tNC9nc3QtZ2xpYjIubTQgfCAxIC0KLSAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY29tbW9uL200L2dzdC1nbGliMi5tNCBiL2NvbW1vbi9tNC9nc3QtZ2xpYjIubTQKLWluZGV4IGIwMWYwMmYuLjQ1NjlhZTUgMTAwNjQ0Ci0tLS0gYS9jb21tb24vbTQvZ3N0LWdsaWIyLm00Ci0rKysgYi9jb21tb24vbTQvZ3N0LWdsaWIyLm00Ci1AQCAtNjksNyArNjksNiBAQCBBQ19ERUZVTihbQUdfR1NUX0dMSUJfQ0hFQ0tdLAotICAgZmkKLSAKLSAgIGRubCBmb3IgdGhlIHBvb3Igc291bHMgd2hvIGZvciBleGFtcGxlIGhhdmUgZ2xpYiBpbiAvdXNyL2xvY2FsCi0tICBBU19TQ1JVQl9JTkNMVURFKEdMSUJfQ0ZMQUdTKQotIAotICAgQUNfU1VCU1QoR0xJQl9FWFRSQV9DRkxBR1MpCi0gXSkKLS0tIAotMi41LjUKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvYXVkaW9yZXNhbXBsZS1GaXgtYnVpbGQtb24teDg2LWlmLWVtbWludHJpbi5oLWlzLWF2YS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2L2F1ZGlvcmVzYW1wbGUtRml4LWJ1aWxkLW9uLXg4Ni1pZi1lbW1pbnRyaW4uaC1pcy1hdmEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyMTQyNTYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvYXVkaW9yZXNhbXBsZS1GaXgtYnVpbGQtb24teDg2LWlmLWVtbWludHJpbi5oLWlzLWF2YS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLWF1ZGlvcmVzYW1wbGU6IEZpeCBidWlsZCBvbiB4ODYgaWYgZW1taW50cmluLmggaXMgYXZhaWxhYmxlIGJ1dCBjYW4ndCBiZSB1c2VkCi0KLU9uIHg4NiwgRU1NSU5UUklOIGlzIGRlZmluZWQgYnV0IG5vdCB1c2FibGUgd2l0aG91dCBTU0Ugc28gY2hlY2sgZm9yCi1fX1NTRV9fIGFuZCBfX1NTRTJfXyBhcyB3ZWxsLgotCi1odHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwNjkwCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmMgfCAgICA0ICsrLS0KLSAxIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2dzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmMgYi9nc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jCi1pbmRleCA5OGQwMDZjLi40ODFmYTAxIDEwMDY0NAotLS0tIGEvZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYwotKysrIGIvZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYwotQEAgLTc3LDEzICs3NywxMyBAQAotICNkZWZpbmUgRVhQT1JUIEdfR05VQ19JTlRFUk5BTAotIAotICNpZmRlZiBfVVNFX1NTRQotLSNpZm5kZWYgSEFWRV9YTU1JTlRSSU5fSAotKyNpZiAhZGVmaW5lZChfX1NTRV9fKSB8fCAhZGVmaW5lZChIQVZFX1hNTUlOVFJJTl9IKQotICN1bmRlZiBfVVNFX1NTRQotICNlbmRpZgotICNlbmRpZgotIAotICNpZmRlZiBfVVNFX1NTRTIKLS0jaWZuZGVmIEhBVkVfRU1NSU5UUklOX0gKLSsjaWYgIWRlZmluZWQoX19TU0UyX18pIHx8ICFkZWZpbmVkKEhBVkVfRU1NSU5UUklOX0gpCi0gI3VuZGVmIF9VU0VfU1NFMgotICNlbmRpZgotICNlbmRpZgotLS0gCi0xLjcuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi9jb25maWd1cmUuYWMtZml4LXN1YnBhcnNlLXBsdWdpbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2L2NvbmZpZ3VyZS5hYy1maXgtc3VicGFyc2UtcGx1Z2luLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiODYwMmM4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2L2NvbmZpZ3VyZS5hYy1maXgtc3VicGFyc2UtcGx1Z2luLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW3NpbWlsYXIgcGF0Y2ggYnkgb3RoZXIgYXV0aG9yLCBidWd6aWxsYV0KLUJ1Z3RyYWNrZXItVVJMOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNjAwCi0KLVByZXBlbmQgUEtHX0NPTkZJR19TWVNST09UIHRvIGluY2x1ZGVkaXIsIHNvIGNvbmZpZ3VyZSBkb2Vzbid0Ci1zZWFyY2ggZm9yIGdzdGNvbmZpZy5oIGluIC91c3IvaW5jbHVkZS4KLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBPYmVycml0dGVyIDxvYmlAb3BlbmRyZWFtYm94Lm9yZz4KLS0tLQotIGNvbmZpZ3VyZS5hYyB8ICAgIDIgKy0KLSAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggMTkwMWJjZi4uNDYwZmIwYSAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtNDM1LDcgKzQzNSw3IEBAIEFHX0dTVF9DSEVDS19QTFVHSU4odm9sdW1lKQotIGRubCBjaGVjayBmb3IgZ3N0cmVhbWVyIGNvcmUgZmVhdHVyZXMgKHN1YnN5c3RlbXMpCi0gZG5sIEZJWE1FOiB0aGlzIGFzc3VtZXMgc3JjZGlyID09IGJ1aWxkZGlyIGZvciB1bmluc3RhbGxlZCBzZXR1cHMKLSBHU1RfQ09ORklHUEFUSD1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1pbmNsdWRlZGlyIGdzdHJlYW1lci0wLjEwYCIvZ3N0L2dzdGNvbmZpZy5oIgotLUFHX0dTVF9QQVJTRV9TVUJTWVNURU1fRElTQUJMRVMoJEdTVF9DT05GSUdQQVRIKQotK0FHX0dTVF9QQVJTRV9TVUJTWVNURU1fRElTQUJMRVMoJFBLR19DT05GSUdfU1lTUk9PVF9ESVIkR1NUX0NPTkZJR1BBVEgpCi0gQU1fQ09ORElUSU9OQUwoVVNFX1hNTCwgdGVzdCAkR1NUX0RJU0FCTEVfWE1MICE9ICIxIikKLSAKLSBkbmwgZGlzYWJsZSBwbHVnLWlucyB0aGF0IHJlcXVpcmUgbGlieG1sMidzIEhUTUwgc3VwcG9ydCBpZiBpdCBpcyBub3QgYXZhaWxhYmxlCi0tLSAKLTEuNy41LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvZ3N0LXBsdWdpbnMtYmFzZS10cmVtb3IucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi9nc3QtcGx1Z2lucy1iYXNlLXRyZW1vci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTlkYmM5ZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi9nc3QtcGx1Z2lucy1iYXNlLXRyZW1vci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLVJlbW92ZSAtRFRSRU1PUiBvcHRpb24gc2luY2UgVHJlbW9yIGhhcyBkcm9wcGVkIGl0cyBpbnRlcm5hbAotbGlib2dnMiwgYW5kIGdzdC1wbHVnaW5zLWJhc2UgaGFzIGRlcGVuZGVuY3kgb24gdGhhdC4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQotCi1TaWduZWQtb2ZmLWJ5OiBEb25neGlhbyBYdSA8ZG9uZ3hpYW8ueHVAaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogU2hhbmUgV2FuZyA8c2hhbmUud2FuZ0BpbnRlbC5jb20+Ci0KLWRpZmYgLXIgNzAwNjVmYjRlMDg1IGV4dC92b3JiaXMvTWFrZWZpbGUuYW0KLS0tLSBhL2V4dC92b3JiaXMvTWFrZWZpbGUuYW0JVHVlIE1hciAxMyAxNjozNjo1NiAyMDEyICswODAwCi0rKysgYi9leHQvdm9yYmlzL01ha2VmaWxlLmFtCVR1ZSBNYXIgMTMgMTY6Mzg6NTMgMjAxMiArMDgwMAotQEAgLTMwLDcgKzMwLDcgQEAKLSAJZ3N0dm9yYmlzZGVjLmMgZ3N0dm9yYmlzZGVjbGliLmMgZ3N0dm9yYmlzY29tbW9uLmMKLSBsaWJnc3Rpdm9yYmlzZGVjX2xhX0NGTEFHUyA9IFwKLSAJJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgJChHU1RfQ0ZMQUdTKSBcCi0tCS1EVFJFTU9SICQoSVZPUkJJU19DRkxBR1MpCi0rCSQoSVZPUkJJU19DRkxBR1MpCi0gbGliZ3N0aXZvcmJpc2RlY19sYV9MSUJBREQgPSBcCi0gCSQodG9wX2J1aWxkZGlyKS9nc3QtbGlicy9nc3QvdGFnL2xpYmdzdHRhZy1AR1NUX01BSk9STUlOT1JALmxhIFwKLSAJJCh0b3BfYnVpbGRkaXIpL2dzdC1saWJzL2dzdC9hdWRpby9saWJnc3RhdWRpby1AR1NUX01BSk9STUlOT1JALmxhIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZV8wLjEwLjM2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlXzAuMTAuMzYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYyMzU0NjQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlXzAuMTAuMzYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1yZXF1aXJlIGdzdC1wbHVnaW5zLmluYwotCi1MSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9jb21tb24vY292ZXJhZ2UvY292ZXJhZ2UtcmVwb3J0LnBsO2JlZ2lubGluZT0yO2VuZGxpbmU9MTc7bWQ1PTYyMjkyMWZmYWQ4Y2IxOGFiOTA2YzU2MDUyNzg4YTNmIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nc3QvZmZtcGVnY29sb3JzcGFjZS91dGlscy5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjA7bWQ1PTljODNhMjAwYjhlNTk3YjI2Y2EyOWRmMjBmYzZlY2QwIgotCi1ERVBFTkRTICs9ICJhbHNhLWxpYiBsaWJvZ2cgbGlidm9yYmlzIGxpYnRoZW9yYSB1dGlsLWxpbnV4IHRyZW1vciBnbGliLTIuMC1uYXRpdmUiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9nc3QtcGx1Z2lucy1iYXNlLXRyZW1vci5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmFjLWZpeC1zdWJwYXJzZS1wbHVnaW4ucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2F1ZGlvcmVzYW1wbGUtRml4LWJ1aWxkLW9uLXg4Ni1pZi1lbW1pbnRyaW4uaC1pcy1hdmEucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDEtYWNsb2NhbC5tNC1kb24tdC1kby1jcmF6eS10aGluZ3MtdG8tR0xJQl9DRkxBR1MucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNzc2YzczODgzZTU2N2Y2N2I5YzRhMjg0N2Q4ZDA0MWEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmNkM2IwZmE4ZTliNTk1ZGI4ZjUxNGVmN2MyYmRiY2Q2MzlhMGQ2M2QxNTRjMDBmOGM5YjYwOTMyMWY0OTk3NiIKLQotUFIgPSAicjgiCi0KLWluaGVyaXQgZ2V0dGV4dAotCi1FWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1mcmVldHlwZXRlc3QiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUdbb3JjXSA9ICItLWVuYWJsZS1vcmMsLS1kaXNhYmxlLW9yYyxvcmMiCi1QQUNLQUdFQ09ORklHW3BhbmdvXSA9ICItLWVuYWJsZS1wYW5nbywtLWRpc2FibGUtcGFuZ28scGFuZ28iCi1QQUNLQUdFQ09ORklHW3gxMV0gPSAiLS1lbmFibGUteCAtLWVuYWJsZS14dmlkZW8sLS1kaXNhYmxlLXggLS1kaXNhYmxlLXh2aWRlbyx2aXJ0dWFsL2xpYngxMSBsaWJ4diBsaWJzbSBsaWJpY2UiCi1QQUNLQUdFQ09ORklHW2NkcGFyYW5vaWFdID0gIi0tZW5hYmxlLWNkcGFyYW5vaWEsLS1kaXNhYmxlLWNkcGFyYW5vaWEsY2RwYXJhbm9pYSIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgIyBUaGlzIG00IGZpbGUgY29udGFpbnMgbmFzdGluZXNzIHdoaWNoIGNvbmZsaWN0cyB3aXRoIGxpYnRvb2wgMi4yLjIKLSAgICBybSAtZiAke1N9L200L2xpYi1saW5rLm00Ci19Ci0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9LyR7QlBOfSIKLQotQ0FDSEVEX0NPTkZJR1VSRVZBUlNfYXBwZW5kX3g4NiA9ICIgYWNfY3ZfaGVhZGVyX2VtbWludHJpbl9oPW5vIGFjX2N2X2hlYWRlcl94bW1pbnRyaW5faD1ubyIKLQotIyAvdXNyL2Jpbi9nc3QtdmlzdWFsaXNlLTAuMTAgaXMgYSBwZXJsIHNjcmlwdC4KLVJERVBFTkRTXyR7UE59LWFwcHMgKz0gInBlcmwiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdsLzAwMDEtY29uZGl0aW9uYWwtZ2wtZnJhbWVidWZmZXItdW5kZWZpbmVkLXVzZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2wvMDAwMS1jb25kaXRpb25hbC1nbC1mcmFtZWJ1ZmZlci11bmRlZmluZWQtdXNlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYzJmODhiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2wvMDAwMS1jb25kaXRpb25hbC1nbC1mcmFtZWJ1ZmZlci11bmRlZmluZWQtdXNlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotRnJvbSAxNGQ1MWNiZWZlZjE5NzM3ZTdhYjJiNjgxOGVlMWQzYmRiMjQ4ZDEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmVyZW15IFN0YXNobHVrIDxqc3Rhc2hsdWtAZGVrYXJlc2VhcmNoLmNvbT4KLURhdGU6IFdlZCwgNiBGZWIgMjAxMyAwOTo1OTo0OCAtMDUwMAotU3ViamVjdDogW1BBVENIXSBjb25kaXRpb25hbCBnbCBmcmFtZWJ1ZmZlciB1bmRlZmluZWQgdXNlCi0KLVRoZSBPcGVuR0wgZXh0ZW5zaW9uIEdMX0FSQl9mcmFtZWJ1ZmZlcl9vYmplY3QgZGVmaW5lcyB0aGUgbWFjcm8KLUdMX0ZSQU1FQlVGRkVSX1VOREVGSU5FRC4gVGhlIG1hY3JvIHdpbGwgb25seSBuZWVkIHRvIG1hcCB0byBhbiBlcnJvcgotc3RyaW5nIGlmIHRoZSBleHRlbnNpb24gcHJvdmlkZXMgZnVuY3Rpb25zIHRoYXQgbWlnaHQgcmV0dXJuIHRoZSBtYWNyby4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEplcmVteSBTdGFzaGx1ayA8anN0YXNobHVrQGRla2FyZXNlYXJjaC5jb20+Ci0tLS0KLSBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmMgfCAgICAyICsrCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jIGIvZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jCi1pbmRleCAzZWQwYjcxLi42NGM2YzJjIDEwMDY0NAotLS0tIGEvZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jCi0rKysgYi9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmMKLUBAIC0yMTc3LDkgKzIxNzcsMTEgQEAgZ3N0X2dsX2Rpc3BsYXlfY2hlY2tfZnJhbWVidWZmZXJfc3RhdHVzICh2b2lkKQotICAgICAgIEdTVF9FUlJPUiAoIkdMX0ZSQU1FQlVGRkVSX0lOQ09NUExFVEVfRElNRU5TSU9OUyIpOwotICAgICAgIGJyZWFrOwotIAotKyNpZiBkZWZpbmVkKEdMX0FSQl9mcmFtZWJ1ZmZlcl9vYmplY3QpCi0gICAgIGNhc2UgR0xfRlJBTUVCVUZGRVJfVU5ERUZJTkVEOgotICAgICAgIEdTVF9FUlJPUiAoIkdMX0ZSQU1FQlVGRkVSX1VOREVGSU5FRCIpOwotICAgICAgIGJyZWFrOwotKyNlbmRpZgotIAotICAgICBkZWZhdWx0OgotICAgICAgIEdTVF9FUlJPUiAoIkdlbmVyYWwgRkJPIGVycm9yIik7Ci0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nbC9ycGktZWdsLWdsZXMyLWRlcC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2wvcnBpLWVnbC1nbGVzMi1kZXAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkYjFjNWEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nbC9ycGktZWdsLWdsZXMyLWRlcC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLUNoZWNrIGZvciBoZWFkZXIgYW5kIGxpYnJhcnkgc2VwYXJhdGVseSBhbmQgY2hlY2sgZm9yIEdMRVN2MiBiZWZvcmUgZWdsCi10aGlzIGlzIHRvIG92ZXJjb21lIGFuIGFubm95aW5nIGlzc3VlIHdpdGggcnBpL3VzZXJsYW5kIHdoZXJlIGVnbCBkZXBlbmRzCi1vbiBzeXNtYm9scyBmcm9tIGxpYkdMRVN2MgotCi0tS2hlbQotSW5kZXg6IGdzdC1wbHVnaW5zLWdsLTAuMTAuMy9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnc3QtcGx1Z2lucy1nbC0wLjEwLjMub3JpZy9jb25maWd1cmUuYWMKLSsrKyBnc3QtcGx1Z2lucy1nbC0wLjEwLjMvY29uZmlndXJlLmFjCi1AQCAtMTgzLDggKzE4MywxMCBAQCBjYXNlICRob3N0IGluCi0gICAgIGVsc2UKLSAgICAgICBBQ19DSEVDS19IRUFERVJTKFtFR0wvZWdsLmhdLCBbSEFWRV9FR0w9eWVzXSwgW0hBVkVfRUdMPW5vXSkKLSAgICAgICBpZiB0ZXN0ICJ4JEhBVkVfRUdMIiA9ICJ4eWVzIjsgdGhlbgotLSAgICAgICAgQUdfR1NUX0NIRUNLX0xJQkhFQURFUihFR0wsIEVHTCwgZWdsR2V0RXJyb3IsLCBFR0wvZWdsLmgsLCBBQ19NU0dfRVJST1IoW0VHTCBpcyByZXF1aXJlZF0pKQotLSAgICAgICAgQUdfR1NUX0NIRUNLX0xJQkhFQURFUihHTEVTMiwgR0xFU3YyLCBnbFRleEltYWdlMkQsLCBHTEVTMi9nbDIuaCwsIEFDX01TR19FUlJPUihbT3BlbkdMRVMyIGlzIHJlcXVpcmVkXSkpCi0rICAgICAgICBBQ19DSEVDS19IRUFERVJTKFtHTEVTMi9nbDIuaF0sLCBBQ19NU0dfRVJST1IoW09wZW5HTEVTMiBpcyByZXF1aXJlZF0pKQotKyAgICAgICAgQUNfQ0hFQ0tfTElCKEdMRVN2MixbZ2xUZXhJbWFnZTJEXSwsIEFDX01TR19FUlJPUihbT3BlbkdMRVMyIGlzIHJlcXVpcmVkXSkpCi0rICAgICAgICBBQ19DSEVDS19IRUFERVJTKFtFR0wvZWdsLmhdLCwgQUNfTVNHX0VSUk9SKFtFR0wgaXMgcmVxdWlyZWRdKSkKLSsgICAgICAgIEFDX0NIRUNLX0xJQihFR0wsW2VnbEdldEVycm9yXSwsIEFDX01TR19FUlJPUihbRUdMIGlzIHJlcXVpcmVkXSkpCi0gICAgICAgICBHTF9MSUJTPSIkTElCUyAkWF9MSUJTIC1sRUdMIC1sR0xFU3YyIgotICAgICAgICAgR0xfQkFDS0VORD14MTFFUzIKLSAgICAgICAgIEdMX1RZUEU9Z2xlcwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nbF8wLjEwLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdsXzAuMTAuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjNlYWYzMC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdsXzAuMTAuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLXJlcXVpcmUgZ3N0LXBsdWdpbnMuaW5jCi0KLUxJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyKyAmIExHUEx2Mi4xKyAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSIKLQotU1JDX1VSSVttZDVzdW1dID0gImFjNzBlZGUxM2Y3OTk3OGQ1NmVhZWQ4YWJhYTNjOTM4IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ4MzQwYjZhNGI4YWJjZTE2MzQ0YTdiYzMzZTc0YTk0ZmRjY2U0ZjU3ZWY2MzQyY2RmMmY5NDFjNDI5YmYyMTAiCi0KLVNSQ19VUkkgKz0gIiBmaWxlOi8vMDAwMS1jb25kaXRpb25hbC1nbC1mcmFtZWJ1ZmZlci11bmRlZmluZWQtdXNlLnBhdGNoIFwKLSAgICAgICAgICAgICBmaWxlOi8vcnBpLWVnbC1nbGVzMi1kZXAucGF0Y2ggXAotIgotCi1ERVBFTkRTICs9ICJnc3QtcGx1Z2lucy1iYXNlIHZpcnR1YWwvbGliZ2xlczIgdmlydHVhbC9lZ2wganBlZyBsaWJwbmcgZ2xldyIKLQotUFIgPSAicjQiCi0KLWluaGVyaXQgZ2V0dGV4dCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIm9wZW5nbCIKLQotIyBUaGlzIHBhY2thZ2UgZG9lc24ndCBoYXZlIGEgY29uZmlndXJlIHN3aXRjaCBmb3IgRUdMIG9yIEdMLCBzbyBmb3JjaWJseSB0ZWxsCi0jIGNvbmZpZ3VyZSB0aGF0IGl0IGNhbid0IGZpbmQgZ2wuaCBzbyBpdCBhbHdheXMgdXNlcyBFR0wuICBJZi93aGVuIHdlIGhhdmUgc29tZQotIyB3YXkgZm9yIG1hY2hpbmVzIHRvIHNwZWNpZnkgdGhlaXIgcHJlZmVycmVkIEdMIGZsYXZvdXIgdGhpcyBjYW4gYmUKLSMgYXV0b21hdGljYWxseSBhZGFwdGVkLgotRVhUUkFfT0VDT05GICs9ICJhY19jdl9oZWFkZXJfR0xfZ2xfaD1ubyIKLQotQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKLUFMTE9XX0VNUFRZXyR7UE59LWFwcHMgPSAiMSIKLUFMTE9XX0VNUFRZXyR7UE59LWdsaWIgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZC0wLjEwLjMxLzAwMDEtdjRsMi1maXgtYnVpbGQtd2l0aC1yZWNlbnQta2VybmVscy10aGUtdjRsMl9idWZmZXItaS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZC0wLjEwLjMxLzAwMDEtdjRsMi1maXgtYnVpbGQtd2l0aC1yZWNlbnQta2VybmVscy10aGUtdjRsMl9idWZmZXItaS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjQ1NmQzYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wMDAxLXY0bDItZml4LWJ1aWxkLXdpdGgtcmVjZW50LWtlcm5lbHMtdGhlLXY0bDJfYnVmZmVyLWkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1Gcm9tIDEyZDE4ZmU0ZTk4ZTdjMjMyZDU5YjU2ZDUyOWEwNTIxZjI5M2ZlNmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDUgU2VwIDIwMTIgMTg6NTQ6NDIgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gdjRsMjogZml4IGJ1aWxkIHdpdGggcmVjZW50IGtlcm5lbHMsIHRoZSB2NGwyX2J1ZmZlciBpbnB1dAotIGZpZWxkIHdhcyByZW1vdmVkCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotWzFdIGh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZC9jb21taXQvP2lkPTlmMmFhOGQ0N2Y4MzVlYTE1NWFhZjYzNWY2MThjMGZjMWNhODcwMTIKLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgotLS0tCi0gc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYyB8ICAgIDEgLQotIDEgZmlsZXMgY2hhbmdlZCwgMCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYyBiL3N5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmMKLWluZGV4IGI4MWM2YTQuLjUxY2MwY2UgMTAwNjQ0Ci0tLS0gYS9zeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jCi0rKysgYi9zeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jCi1AQCAtMTgxLDcgKzE4MSw2IEBAIGdzdF92NGwyX2J1ZmZlcl9uZXcgKEdzdFY0bDJCdWZmZXJQb29sICogcG9vbCwgZ3VpbnQgaW5kZXgsIEdzdENhcHMgKiBjYXBzKQotICAgICBHU1RfTE9HX09CSkVDVCAocG9vbC0+djRsMmVsZW0sICIgIE1NQVAgb2Zmc2V0OiAgJXUiLAotICAgICAgICAgcmV0LT52YnVmZmVyLm0ub2Zmc2V0KTsKLSAgIEdTVF9MT0dfT0JKRUNUIChwb29sLT52NGwyZWxlbSwgIiAgbGVuZ3RoOiAgICAldSIsIHJldC0+dmJ1ZmZlci5sZW5ndGgpOwotLSAgR1NUX0xPR19PQkpFQ1QgKHBvb2wtPnY0bDJlbGVtLCAiICBpbnB1dDogICAgICV1IiwgcmV0LT52YnVmZmVyLmlucHV0KTsKLSAKLSAgIGRhdGEgPSAoZ3VpbnQ4ICopIHY0bDJfbW1hcCAoMCwgcmV0LT52YnVmZmVyLmxlbmd0aCwKLSAgICAgICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLCBNQVBfU0hBUkVELCBwb29sLT52aWRlb19mZCwKLS0tIAotMS43LjYuNQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wMDAxLXY0bDJfY2FsbHMtZGVmaW5lLVY0TDJfQ0lEX0hDRU5URVItYW5kLVY0TDJfQ0lEX1ZDRU4ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wMDAxLXY0bDJfY2FsbHMtZGVmaW5lLVY0TDJfQ0lEX0hDRU5URVItYW5kLVY0TDJfQ0lEX1ZDRU4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkMGRlNTguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kLTAuMTAuMzEvMDAwMS12NGwyX2NhbGxzLWRlZmluZS1WNEwyX0NJRF9IQ0VOVEVSLWFuZC1WNEwyX0NJRF9WQ0VOLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSBjY2IwMWRlODA5NmEzMmQ4NmQ0N2IwZDkyZWMzNDE2YzU3ZWU0ZDI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDIyIEF1ZyAyMDEzIDEyOjE1OjU0IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHY0bDJfY2FsbHM6IGRlZmluZSBWNEwyX0NJRF9IQ0VOVEVSIGFuZCBWNEwyX0NJRF9WQ0VOVEVSCi0KLWtlcm5lbCBjb21taXQgMjRiOWY1MDE3IFtbbWVkaWFdIFY0TDogUmVtb3ZlIGRlcHJlY2F0ZWQgaW1hZ2UgY2VudGVyaW5nIGNvbnRyb2xzXQotcmVtb3ZlZCB0aGUgZGVmaW5pdGlvbnMgb2YgVjRMMl9DSURfSENFTlRFUiBhbmQgVjRMMl9DSURfVkNFTlRFUiBhZnRlciB0aHJlZQoteWVhcnMgb2YgZGVwcmVjaWF0aW9uLgotCi1UaGUgaW9jdGwgdmFsdWVzIGFyZSBzdGlsbCBmcmVlLCBhbmQgdGhlIGNhc2Ugc3RhdGVtZW50IHdoaWNoIHByb2Nlc3Nlc3MgdGhlbQotaW4gdjRsMiB1c2Vyc3BhY2UgZmFsbHMgdGhyb3VnaCB0byB0aGUgcHJvcGVyIHJlcGxhY2VtZW50LiBTbyBpbiB0aGUgc2hvcnQKLXRlcm0sIHdlIGNhbiBleHBsaWNpdGx5IGRlZmluZSB0aGVtIHVzaW5nIHRoZSBvbGQgYWJzb2x1dGUgdmFsdWVzLCBhbmQgZXZlcnl0aGluZwotd2lsbCB3b3JrLgotCi1TaWduZWQtb2ZmLWJ5OiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4KLS0tLQotIHN5cy92NGwyL3Y0bDJfY2FsbHMuYyB8ICAgIDkgKysrKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3N5cy92NGwyL3Y0bDJfY2FsbHMuYyBiL3N5cy92NGwyL3Y0bDJfY2FsbHMuYwotaW5kZXggMzA5YmZiNi4uM2M2NDU0NCAxMDA2NDQKLS0tLSBhL3N5cy92NGwyL3Y0bDJfY2FsbHMuYwotKysrIGIvc3lzL3Y0bDIvdjRsMl9jYWxscy5jCi1AQCAtNTQsMTEgKzU0LDE2IEBACi0gI2luY2x1ZGUgImdzdC9nc3QtaTE4bi1wbHVnaW4uaCIKLSAKLSAvKiBUaG9zZSBhcmUgaW9jdGwgY2FsbHMgKi8KLSsKLSsvKiBWNEwyX0NJRF9IQ0VOVEVSIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgbWFpbmxpbmUga2VybmVsLCBidXQKLSsgICB0aGUgaW9jdGwgc3BhY2UgaXMgc3RpbGwgcHJlc2VudC4gU2luY2UgdGhlc2UgdmFsdWVzIGZhbGwgdGhyb3VnaAotKyAgIHRvIHRoZWlyIHJlcGxhY2VtZW50LCBpdCBpcyBzYWZlIChpbiB0aGUgc2hvcnQgdGVybSkgdG8gcmUtdXNlIHRoZQotKyAgICBvbGQgdmFsdWVzIGV4cGxpY3RpbHkgKi8KLSAjaWZuZGVmIFY0TDJfQ0lEX0hDRU5URVIKLS0jZGVmaW5lIFY0TDJfQ0lEX0hDRU5URVIgVjRMMl9DSURfSENFTlRFUl9ERVBSRUNBVEVECi0rI2RlZmluZSBWNEwyX0NJRF9IQ0VOVEVSIFY0TDJfQ0lEX0JBU0UrMjIKLSAjZW5kaWYKLSAjaWZuZGVmIFY0TDJfQ0lEX1ZDRU5URVIKLS0jZGVmaW5lIFY0TDJfQ0lEX1ZDRU5URVIgVjRMMl9DSURfVkNFTlRFUl9ERVBSRUNBVEVECi0rI2RlZmluZSBWNEwyX0NJRF9WQ0VOVEVSIFY0TDJfQ0lEX0JBU0UrMjMKLSAjZW5kaWYKLSAKLSBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOICh2NGwyX2RlYnVnKTsKLS0tIAotMS43LjEwLjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kLTAuMTAuMzEvMDQwNy1tdWxhd2RlYy1maXgtaW50ZWdlci1vdmVycnVuLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kLTAuMTAuMzEvMDQwNy1tdWxhd2RlYy1maXgtaW50ZWdlci1vdmVycnVuLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OGI4ZTk4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZC0wLjEwLjMxLzA0MDctbXVsYXdkZWMtZml4LWludGVnZXItb3ZlcnJ1bi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLUZyb20gY2U5NGIyYzJiOTFiNmRiMTkwYzEyMTg2MGUxMmE2YWZhZmNlN2FlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvbGFuZCBLcmlrYXZhIDxya3Jpa2F2YUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDIgTm92IDIwMTIgMTI6Mzg6NDQgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCA0MDcvNDQwXSBtdWxhd2RlYzogZml4IGludGVnZXIgb3ZlcnJ1bgotCi1UaGVyZSBtaWdodCBiZSBtb3JlIHRoYW4gNjU1MzUgc2FtcGxlcyBpbiBhIGNodW5rIG9mIGRhdGEuCi0KLWh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0NjkKLQotQ29tbWl0IC0gM2JlNDVmNzAyMjAzMTBlYzFjNjBkODE5ZjkwYjVmMmFlMDNiNWQ4MyBpbiAwLjEwIGJyYW5jaAotCi1VcHN0cmVhbSBTdGF0dXM6ICBCYWNrcG9ydGVkCi0KLVNpZ25lZC1vZmYtYnk6IFJvbGFuZCBLcmlrYXZhIDxya3Jpa2F2YUBnbWFpbC5jb20+Ci0tLS0KLSBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYyB8ICAgIDYgKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2dzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jIGIvZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmMKLWluZGV4IDhhZmFlODAuLjE5MGE5ZjUgMTAwNjQ0Ci0tLS0gYS9nc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYwotKysrIGIvZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmMKLUBAIC01MSw5ICs1MSwxMCBAQCBtdWxhd19lbmNvZGUgKGdpbnQxNiAqIGluLCBndWludDggKiBvdXQsIGdpbnQgbnVtc2FtcGxlcykKLSAgICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywKLSAgICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNwotICAgfTsKLS0gIGdpbnQxNiBzaWduLCBleHBvbmVudCwgbWFudGlzc2EsIGk7Ci0rICBnaW50MTYgc2lnbiwgZXhwb25lbnQsIG1hbnRpc3NhOwotICAgZ2ludDE2IHNhbXBsZTsKLSAgIGd1aW50OCB1bGF3Ynl0ZTsKLSsgIGdpbnQgaTsKLSAKLSAgIGZvciAoaSA9IDA7IGkgPCBudW1zYW1wbGVzOyBpKyspIHsKLSAgICAgc2FtcGxlID0gaW5baV07Ci1AQCAtMTAyLDcgKzEwMyw4IEBAIG11bGF3X2RlY29kZSAoZ3VpbnQ4ICogaW4sIGdpbnQxNiAqIG91dCwgZ2ludCBudW1zYW1wbGVzKQotICAgc3RhdGljIGdpbnQxNiBleHBfbHV0WzhdID0geyAwLCAxMzIsIDM5NiwgOTI0LCAxOTgwLCA0MDkyLCA4MzE2LCAxNjc2NCB9OwotICAgZ2ludDE2IHNpZ24sIGV4cG9uZW50LCBtYW50aXNzYTsKLSAgIGd1aW50OCB1bGF3Ynl0ZTsKLS0gIGdpbnQxNiBsaW5lYXIsIGk7Ci0rICBnaW50MTYgbGluZWFyOwotKyAgZ2ludCBpOwotIAotICAgZm9yIChpID0gMDsgaSA8IG51bXNhbXBsZXM7IGkrKykgewotICAgICB1bGF3Ynl0ZSA9IGluW2ldOwotLS0gCi0xLjcuOS41Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZF8wLjEwLjMxLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kXzAuMTAuMzEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5OTNjZmMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kXzAuMTAuMzEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1yZXF1aXJlIGdzdC1wbHVnaW5zLmluYwotCi1MSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2Mi4xKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWE2Zjg5ZTIxMDBkOWI2Y2RmZmNlYTRmMzk4ZTM3MzQzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2NvbW1vbi9jb3ZlcmFnZS9jb3ZlcmFnZS1yZXBvcnQucGw7YmVnaW5saW5lPTI7ZW5kbGluZT0xNzttZDU9NjIyOTIxZmZhZDhjYjE4YWI5MDZjNTYwNTI3ODhhM2YgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjM7bWQ1PWI2MGViZWZkNWIyZjVhOGUwY2FiNmJmZWUzOTFhNWZlIgotCi1QUiA9ICJyOCIKLQotUEFDS0FHRUNPTkZJRyA/PSAianBlZyB2NGwgXAotICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8geDExJywgZCl9IFwKLSIKLVBBQ0tBR0VDT05GSUdbcHVsc2VhdWRpb10gPSAiLS1lbmFibGUtcHVsc2UsLS1kaXNhYmxlLXB1bHNlLHB1bHNlYXVkaW8iCi1QQUNLQUdFQ09ORklHW2phY2tdID0gIi0tZW5hYmxlLWphY2ssLS1kaXNhYmxlLWphY2ssamFjayIKLVBBQ0tBR0VDT05GSUdbanBlZ10gPSAiLS1lbmFibGUtanBlZywtLWRpc2FibGUtanBlZyxqcGVnIgotUEFDS0FHRUNPTkZJR1t3YXZwYWNrXSA9ICItLWVuYWJsZS13YXZwYWNrLC0tZGlzYWJsZS13YXZwYWNrLHdhdnBhY2siCi1QQUNLQUdFQ09ORklHW2dka3BpeGJ1Zl0gPSAiLS1lbmFibGUtZ2RrX3BpeGJ1ZiwtLWRpc2FibGUtZ2RrX3BpeGJ1ZixnZGstcGl4YnVmIgotUEFDS0FHRUNPTkZJR1t2NGxdID0gIi0tZW5hYmxlLWdzdF92NGwyIC0td2l0aC1ndWRldiwtLWRpc2FibGUtZ3N0X3Y0bDIgLS13aXRob3V0LWd1ZGV2LGxpYmd1ZGV2IgotIyBzdWItZmVhdHVyZSBvZiB2NGwsIGJ1dCBjb250cm9sIHNlcGFyYXRlbHkgc2luY2UgbGlidjRsIGlzIG5vdCBwYXJ0IG9mIG9lLWNvcmUKLVBBQ0tBR0VDT05GSUdbbGlidjRsXSA9ICItLXdpdGgtbGlidjRsMiwtLXdpdGhvdXQtbGlidjRsMixsaWJ2NGwiCi1QQUNLQUdFQ09ORklHW2J6aXAyXSA9ICItLWVuYWJsZS1iejIsLS1kaXNhYmxlLWJ6MixiemlwMiIKLVBBQ0tBR0VDT05GSUdbb3JjXSA9ICItLWVuYWJsZS1vcmMsLS1kaXNhYmxlLW9yYyxvcmMiCi1QQUNLQUdFQ09ORklHW3gxMV0gPSAiLS1lbmFibGUteCwtLWRpc2FibGUteCx2aXJ0dWFsL2xpYngxMSBsaWJ4Zml4ZXMgbGlieGRhbWFnZSIKLVBBQ0tBR0VDT05GSUdbZHYxMzk0XSA9ICItLWVuYWJsZS1kdjEzOTQsLS1kaXNhYmxlLWR2MTM5NCxsaWJyYXcxMzk0IGxpYmllYzYxODgzIGxpYmF2YzEzOTQiCi0KLURFUEVORFMgKz0gImdzdC1wbHVnaW5zLWJhc2UgZ2NvbmYgY2Fpcm8gbGlicG5nIHpsaWIgbGliaWQzdGFnIGZsYWMgXAotICAgICAgICAgICAgc3BlZXggbGlic291cC0yLjQgbGliY2FwIgotCi1pbmhlcml0IGdldHRleHQgZ2NvbmYKLQotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtdjRsMi1maXgtYnVpbGQtd2l0aC1yZWNlbnQta2VybmVscy10aGUtdjRsMl9idWZmZXItaS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS12NGwyX2NhbGxzLWRlZmluZS1WNEwyX0NJRF9IQ0VOVEVSLWFuZC1WNEwyX0NJRF9WQ0VOLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wNDA3LW11bGF3ZGVjLWZpeC1pbnRlZ2VyLW92ZXJydW4ucGF0Y2ggXAotIgotRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtYWFsaWIgLS1kaXNhYmxlLWVzZCAtLWRpc2FibGUtc2hvdXQyIC0tZGlzYWJsZS1saWJjYWNhIC0tZGlzYWJsZS1oYWwgXAotICAgICAgICAgICAgICAgICAtLWRpc2FibGUtZXhhbXBsZXMgLS1kaXNhYmxlLXRhZ2xpYiIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgIyBUaGlzIG00IGZpbGUgY29udGFpbnMgbmFzdGluZXNzIHdoaWNoIGNvbmZsaWN0cyB3aXRoIGxpYnRvb2wgMi4yLjIKLSAgICBybSAke1N9L200L2xpYi1saW5rLm00IHx8IHRydWUKLX0KLQotU1JDX1VSSVttZDVzdW1dID0gIjI0Zjk4YTI5NGEyYjUyMWUxYjI5NDEyYmRhZGFlMmU2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdlMjc4NDBlNDBhNzkzMmVmMmRjMDMyZDcyMDFmOWY0MWFmY2FmMGI0MzdkYWY1ZDFkNDRkYzk2ZDllMzVhYzYiCi0KLUZJTEVTXyR7UE59LWdjb25mZWxlbWVudHMgKz0gIiR7c3lzY29uZmRpcn0vZ2NvbmYvc2NoZW1hcy9nc3RyZWFtZXItMC4xMC5zY2hlbWFzIgotRklMRVNfJHtQTn0tZXF1YWxpemVyICs9ICIke2RhdGFkaXJ9L2dzdHJlYW1lci0wLjEwL3ByZXNldHMvKi5wcnMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHkvMDAwMS1jZGlvLWNvbXBlbnNhdGUtZm9yLWxpYmNkaW8tcy1yZWNlbnQtY2QtdGV4dC1hcGktY2hhLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy11Z2x5LzAwMDEtY2Rpby1jb21wZW5zYXRlLWZvci1saWJjZGlvLXMtcmVjZW50LWNkLXRleHQtYXBpLWNoYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWY3MmZjMC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHkvMDAwMS1jZGlvLWNvbXBlbnNhdGUtZm9yLWxpYmNkaW8tcy1yZWNlbnQtY2QtdGV4dC1hcGktY2hhLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTkzICswLDAgQEAKLUZyb20gNjQ5YmQ5MmNkMjYwMDcxOTg2MmFkNTE4OTg5OTIxMjQwOWRkMGE2NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IExlb24gTWVydGVuIExvaHNlIDxsZW9uQGdyZWVuLXNpZGUuZGU+Ci1EYXRlOiBUaHUsIDMgTWF5IDIwMTIgMjM6NTA6MzAgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gY2RpbzogY29tcGVuc2F0ZSBmb3IgbGliY2RpbydzIHJlY2VudCBjZC10ZXh0IGFwaSBjaGFuZ2VzCi0KLWh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzUxMTIKLQotQ29uZmxpY3RzOgotCi0JZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYwotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLS0tLQotIGV4dC9jZGlvL2dzdGNkaW8uYyAgICAgICAgfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQotIGV4dC9jZGlvL2dzdGNkaW8uaCAgICAgICAgfCAxNiArKysrKysrKysrKysrKysrCi0gZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYyB8IDE5ICsrKysrKysrKysrKysrKysrKysKLSAzIGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9leHQvY2Rpby9nc3RjZGlvLmMgYi9leHQvY2Rpby9nc3RjZGlvLmMKLWluZGV4IDJmNThkMTguLjQ4M2ViZjUgMTAwNjQ0Ci0tLS0gYS9leHQvY2Rpby9nc3RjZGlvLmMKLSsrKyBiL2V4dC9jZGlvL2dzdGNkaW8uYwotQEAgLTMwLDEyICszMCwxNiBAQAotIEdTVF9ERUJVR19DQVRFR09SWSAoZ3N0X2NkaW9fZGVidWcpOwotIAotIHZvaWQKLS1nc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChHc3RPYmplY3QgKiBzcmMsIGNkdGV4dF90ICogY2R0ZXh0LAotK2dzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKEdzdE9iamVjdCAqIHNyYywgY2R0ZXh0X3QgKiBjZHRleHQsIHRyYWNrX3QgdHJhY2ssCi0gICAgIGNkdGV4dF9maWVsZF90IGZpZWxkLCBjb25zdCBnY2hhciAqIGdzdF90YWcsIEdzdFRhZ0xpc3QgKiogcF90YWdzKQotIHsKLSAgIGNvbnN0IGdjaGFyICp0eHQ7Ci0gCi0rI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPiA4MwotKyAgdHh0ID0gY2R0ZXh0X2dldF9jb25zdCAoY2R0ZXh0LCBmaWVsZCwgdHJhY2spOwotKyNlbHNlCi0gICB0eHQgPSBjZHRleHRfZ2V0X2NvbnN0IChmaWVsZCwgY2R0ZXh0KTsKLSsjZW5kaWYKLSAgIGlmICh0eHQgPT0gTlVMTCB8fCAqdHh0ID09ICdcMCcpIHsKLSAgICAgR1NUX0RFQlVHX09CSkVDVCAoc3JjLCAiZW1wdHkgQ0QtVEVYVCBmaWVsZCAldSAoJXMpIiwgZmllbGQsIGdzdF90YWcpOwotICAgICByZXR1cm47Ci1AQCAtNTcsNiArNjEsMTIgQEAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoR3N0T2JqZWN0ICogc3JjLCBjZHRleHRfdCAqIGNkdGV4dCwKLSB9Ci0gCi0gR3N0VGFnTGlzdCAqCi0rI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPiA4MwotK2dzdF9jZGlvX2dldF9jZHRleHQgKEdzdE9iamVjdCAqIHNyYywgY2R0ZXh0X3QgKiB0LCB0cmFja190IHRyYWNrKQotK3sKLSsgIEdzdFRhZ0xpc3QgKnRhZ3MgPSBOVUxMOwotKwotKyNlbHNlCi0gZ3N0X2NkaW9fZ2V0X2NkdGV4dCAoR3N0T2JqZWN0ICogc3JjLCBDZElvICogY2RpbywgdHJhY2tfdCB0cmFjaykKLSB7Ci0gICBHc3RUYWdMaXN0ICp0YWdzID0gTlVMTDsKLUBAIC02NywxNCArNzcsMjIgQEAgZ3N0X2NkaW9fZ2V0X2NkdGV4dCAoR3N0T2JqZWN0ICogc3JjLCBDZElvICogY2RpbywgdHJhY2tfdCB0cmFjaykKLSAgICAgR1NUX0RFQlVHX09CSkVDVCAoc3JjLCAibm8gQ0QtVEVYVCBmb3IgdHJhY2sgJXUiLCB0cmFjayk7Ci0gICAgIHJldHVybiBOVUxMOwotICAgfQotKyNlbmRpZgotIAotLSAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoc3JjLCB0LCBDRFRFWFRfUEVSRk9STUVSLCBHU1RfVEFHX0FSVElTVCwgJnRhZ3MpOwotLSAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoc3JjLCB0LCBDRFRFWFRfVElUTEUsIEdTVF9UQUdfVElUTEUsICZ0YWdzKTsKLSsgIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKHNyYywgdCwgdHJhY2ssIENEVEVYVF9GSUVMRF9QRVJGT1JNRVIsCi0rICAgICAgR1NUX1RBR19BUlRJU1QsICZ0YWdzKTsKLSsgIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKHNyYywgdCwgdHJhY2ssIENEVEVYVF9GSUVMRF9USVRMRSwgR1NUX1RBR19USVRMRSwKLSsgICAgICAmdGFncyk7Ci0gCi0gICByZXR1cm4gdGFnczsKLSB9Ci0gCi0gdm9pZAotKyNpZiBMSUJDRElPX1ZFUlNJT05fTlVNID4gODMKLStnc3RfY2Rpb19hZGRfY2R0ZXh0X2FsYnVtX3RhZ3MgKEdzdE9iamVjdCAqIHNyYywgY2R0ZXh0X3QgKiB0LAotKyAgICBHc3RUYWdMaXN0ICogdGFncykKLSt7Ci0rI2Vsc2UKLSBnc3RfY2Rpb19hZGRfY2R0ZXh0X2FsYnVtX3RhZ3MgKEdzdE9iamVjdCAqIHNyYywgQ2RJbyAqIGNkaW8sIEdzdFRhZ0xpc3QgKiB0YWdzKQotIHsKLSAgIGNkdGV4dF90ICp0OwotQEAgLTg0LDExICsxMDIsMTQgQEAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9hbGJ1bV90YWdzIChHc3RPYmplY3QgKiBzcmMsIENkSW8gKiBjZGlvLCBHc3RUYWdMaXN0ICogdGFncykKLSAgICAgR1NUX0RFQlVHX09CSkVDVCAoc3JjLCAibm8gQ0QtVEVYVCBmb3IgYWxidW0iKTsKLSAgICAgcmV0dXJuOwotICAgfQotKyNlbmRpZgotIAotLSAgLyogRklYTUU6IG1hcCBDRFRFWFRfUEVSRk9STUVSIHRvIEdTVF9UQUdfQUxCVU1fQVJUSVNUIG9uY2Ugd2UgaGF2ZSB0aGF0ICovCi0tICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIENEVEVYVF9USVRMRSwgR1NUX1RBR19BTEJVTSwgJnRhZ3MpOwotLSAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoc3JjLCB0LCBDRFRFWFRfR0VOUkUsIEdTVF9UQUdfR0VOUkUsICZ0YWdzKTsKLS0KLSsgIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKHNyYywgdCwgMCwgQ0RURVhUX0ZJRUxEX1BFUkZPUk1FUiwKLSsgICAgICBHU1RfVEFHX0FMQlVNX0FSVElTVCwgJnRhZ3MpOwotKyAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoc3JjLCB0LCAwLCBDRFRFWFRfRklFTERfVElUTEUsIEdTVF9UQUdfQUxCVU0sCi0rICAgICAgJnRhZ3MpOwotKyAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoc3JjLCB0LCAwLCBDRFRFWFRfRklFTERfR0VOUkUsIEdTVF9UQUdfR0VOUkUsCi0rICAgICAgJnRhZ3MpOwotICAgR1NUX0RFQlVHICgiQ0QtVEVYVCBhbGJ1bSB0YWdzOiAlIiBHU1RfUFRSX0ZPUk1BVCwgdGFncyk7Ci0gfQotIAotZGlmZiAtLWdpdCBhL2V4dC9jZGlvL2dzdGNkaW8uaCBiL2V4dC9jZGlvL2dzdGNkaW8uaAotaW5kZXggZWYzMWVkMC4uYzZkYTU4MCAxMDA2NDQKLS0tLSBhL2V4dC9jZGlvL2dzdGNkaW8uaAotKysrIGIvZXh0L2NkaW8vZ3N0Y2Rpby5oCi1AQCAtMjQsMjIgKzI0LDM4IEBACi0gI2luY2x1ZGUgPGdzdC9nc3QuaD4KLSAjaW5jbHVkZSA8Y2Rpby9jZGlvLmg+Ci0gI2luY2x1ZGUgPGNkaW8vY2R0ZXh0Lmg+Ci0rI2luY2x1ZGUgPGNkaW8vdmVyc2lvbi5oPgotKwotKyNpZiBMSUJDRElPX1ZFUlNJT05fTlVNIDw9IDgzCi0rICAjZGVmaW5lIENEVEVYVF9GSUVMRF9QRVJGT1JNRVIgQ0RURVhUX1BFUkZPUk1FUgotKyAgI2RlZmluZSBDRFRFWFRfRklFTERfR0VOUkUgICAgIENEVEVYVF9HRU5SRQotKyAgI2RlZmluZSBDRFRFWFRfRklFTERfVElUTEUgICAgIENEVEVYVF9USVRMRQotKyNlbmRpZgotIAotIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4gKGdzdF9jZGlvX2RlYnVnKTsKLSAjZGVmaW5lIEdTVF9DQVRfREVGQVVMVCBnc3RfY2Rpb19kZWJ1ZwotIAotIHZvaWQgICAgIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKEdzdE9iamVjdCAgICAgICogc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNkdGV4dF90ICAgICAgICogY2R0ZXh0LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrX3QgICAgICAgICAgdHJhY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2R0ZXh0X2ZpZWxkX3QgICBmaWVsZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAqIGdzdF90YWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3N0VGFnTGlzdCAgICAqKiBwX3RhZ3MpOwotIAotIEdzdFRhZ0xpc3QgICogZ3N0X2NkaW9fZ2V0X2NkdGV4dCAgKEdzdE9iamVjdCAgICAgICogc3JjLAotKyNpZiBMSUJDRElPX1ZFUlNJT05fTlVNID4gODMKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZHRleHRfdCAgICAgICAqIHQsCi0rI2Vsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDZElvICAgICAgICAgICAqIGNkaW8sCi0rI2VuZGlmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tfdCAgICAgICAgICB0cmFjayk7Ci0gCi0gdm9pZCAgICAgIGdzdF9jZGlvX2FkZF9jZHRleHRfYWxidW1fdGFncyAoR3N0T2JqZWN0ICAqIHNyYywKLSsjaWYgTElCQ0RJT19WRVJTSU9OX05VTSA+IDgzCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2R0ZXh0X3QgICAqIHQsCi0rI2Vsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDZElvICAgICAgICogY2RpbywKLSsjZW5kaWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHc3RUYWdMaXN0ICogdGFncyk7Ci0gCi0gI2VuZGlmIC8qIF9fR1NUX0NESU9fSF9fICovCi1kaWZmIC0tZ2l0IGEvZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYyBiL2V4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmMKLWluZGV4IDYxNWEwYzguLjgzMDgzOWUgMTAwNjQ0Ci0tLS0gYS9leHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jCi0rKysgYi9leHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jCi1AQCAtMjA2LDYgKzIwNiw5IEBAIGdzdF9jZGlvX2NkZGFfc3JjX29wZW4gKEdzdEF1ZGlvQ2RTcmMgKiBhdWRpb2Nkc3JjLCBjb25zdCBnY2hhciAqIGRldmljZSkKLSAgIEdzdENkaW9DZGRhU3JjICpzcmM7Ci0gICBkaXNjbW9kZV90IGRpc2Ntb2RlOwotICAgZ2ludCBmaXJzdF90cmFjaywgbnVtX3RyYWNrcywgaTsKLSsjaWYgTElCQ0RJT19WRVJTSU9OX05VTSA+IDgzCi0rICBjZHRleHRfdCAqY2R0ZXh0OwotKyNlbmRpZgotIAotICAgc3JjID0gR1NUX0NESU9fQ0REQV9TUkMgKGF1ZGlvY2RzcmMpOwotIAotQEAgLTI0NCw4ICsyNDQsMTggQEAgZ3N0X2NkaW9fY2RkYV9zcmNfb3BlbiAoR3N0Q2RkYUJhc2VTcmMgKiBjZGRhYmFzZXNyYywgY29uc3QgZ2NoYXIgKiBkZXZpY2UpCi0gICBpZiAoc3JjLT5yZWFkX3NwZWVkICE9IC0xKQotICAgICBjZGlvX3NldF9zcGVlZCAoc3JjLT5jZGlvLCBzcmMtPnJlYWRfc3BlZWQpOwotIAotKyNpZiBMSUJDRElPX1ZFUlNJT05fTlVNID4gODMKLSsgIGNkdGV4dCA9IGNkaW9fZ2V0X2NkdGV4dCAoc3JjLT5jZGlvKTsKLSsKLSsgIGlmIChOVUxMID09IGNkdGV4dCkKLSsgICAgR1NUX0RFQlVHX09CSkVDVCAoc3JjLCAibm8gQ0QtVEVYVCBvbiBkaXNjIik7Ci0rICBlbHNlCi0rICAgIGdzdF9jZGlvX2FkZF9jZHRleHRfYWxidW1fdGFncyAoR1NUX09CSkVDVF9DQVNUIChzcmMpLCBjZHRleHQsCi0rICAgICAgICBjZGRhYmFzZXNyYy0+dGFncyk7Ci0rI2Vsc2UKLSAgIGdzdF9jZGlvX2FkZF9jZHRleHRfYWxidW1fdGFncyAoR1NUX09CSkVDVF9DQVNUIChzcmMpLCBzcmMtPmNkaW8sCi0gICAgICAgY2RkYWJhc2VzcmMtPnRhZ3MpOwotKyNlbmRpZgotIAotICAgR1NUX0xPR19PQkpFQ1QgKHNyYywgIiV1IHRyYWNrcywgZmlyc3QgdHJhY2s6ICVkIiwgbnVtX3RyYWNrcywgZmlyc3RfdHJhY2spOwotIAotQEAgLTI1MCw4ICsyNjMsMTQgQEAgZ3N0X2NkaW9fY2RkYV9zcmNfb3BlbiAoR3N0QXVkaW9DZFNyYyAqIGF1ZGlvY2RzcmMsIGNvbnN0IGdjaGFyICogZGV2aWNlKQotICAgICAgKiB0aGUgcmlnaHQgdGhpbmcgaGVyZSAoZm9yIGNkZGIgaWQgY2FsY3VsYXRpb25zIGV0Yy4gYXMgd2VsbCkgKi8KLSAgICAgdHJhY2suc3RhcnQgPSBjZGlvX2dldF90cmFja19sc24gKHNyYy0+Y2RpbywgaSArIGZpcnN0X3RyYWNrKTsKLSAgICAgdHJhY2suZW5kID0gdHJhY2suc3RhcnQgKyBsZW5fc2VjdG9ycyAtIDE7ICAvKiAtMT8gKi8KLSsjaWYgTElCQ0RJT19WRVJTSU9OX05VTSA+IDgzCi0rICAgIGlmIChOVUxMICE9IGNkdGV4dCkKLSsgICAgICB0cmFjay50YWdzID0gZ3N0X2NkaW9fZ2V0X2NkdGV4dCAoR1NUX09CSkVDVCAoc3JjKSwgY2R0ZXh0LAotKyAgICAgICAgICBpICsgZmlyc3RfdHJhY2spOwotKyNlbHNlCi0gICAgIHRyYWNrLnRhZ3MgPSBnc3RfY2Rpb19nZXRfY2R0ZXh0IChHU1RfT0JKRUNUIChzcmMpLCBzcmMtPmNkaW8sCi0gICAgICAgICBpICsgZmlyc3RfdHJhY2spOwotKyNlbmRpZgotIAotICAgICBnc3RfYXVkaW9fY2Rfc3JjX2FkZF90cmFjayAoR1NUX0FVRElPX0NEX1NSQyAoc3JjKSwgJnRyYWNrKTsKLSAgIH0KLS0tIAotMi4xLjAKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy11Z2x5LzAwMDItRml4LW9wZW5jb3JlLWluY2x1ZGUtcGF0aHMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHkvMDAwMi1GaXgtb3BlbmNvcmUtaW5jbHVkZS1wYXRocy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2ZkNmEyNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHkvMDAwMi1GaXgtb3BlbmNvcmUtaW5jbHVkZS1wYXRocy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLUZyb20gZTYzNGJjNjQyMDgyNmY3NjBmNjUxOWE5ZjEzNGM2YTRkMzQxMmVmOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KLURhdGU6IE1vbiwgMTkgT2N0IDIwMTUgMTU6MjY6MjQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IG9wZW5jb3JlIGluY2x1ZGUgcGF0aHMKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtubyB1cHN0cmVhbSAtIEdTdHJlYW1lciAwLjEwIGlzIG5vIGxvbmdlciBiZWluZyBtYWludGFpbmVkXQotCi1TaWduZWQtb2ZmLWJ5OiBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+Ci0tLS0KLSBleHQvYW1ybmIvYW1ybmJkZWMuaCAgICB8IDIgKy0KLSBleHQvYW1ybmIvYW1ybmJlbmMuaCAgICB8IDIgKy0KLSBleHQvYW1yd2JkZWMvYW1yd2JkZWMuaCB8IDQgKystLQotIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZXh0L2Ftcm5iL2Ftcm5iZGVjLmggYi9leHQvYW1ybmIvYW1ybmJkZWMuaAotaW5kZXggMWU4MTgzOS4uMDFiNzE1NCAxMDA2NDQKLS0tLSBhL2V4dC9hbXJuYi9hbXJuYmRlYy5oCi0rKysgYi9leHQvYW1ybmIvYW1ybmJkZWMuaAotQEAgLTIyLDcgKzIyLDcgQEAKLSAKLSAjaW5jbHVkZSA8Z3N0L2dzdC5oPgotICNpbmNsdWRlIDxnc3QvYXVkaW8vZ3N0YXVkaW9kZWNvZGVyLmg+Ci0tI2luY2x1ZGUgPGludGVyZl9kZWMuaD4KLSsjaW5jbHVkZSA8b3BlbmNvcmUtYW1ybmIvaW50ZXJmX2RlYy5oPgotIAotIEdfQkVHSU5fREVDTFMKLSAKLWRpZmYgLS1naXQgYS9leHQvYW1ybmIvYW1ybmJlbmMuaCBiL2V4dC9hbXJuYi9hbXJuYmVuYy5oCi1pbmRleCA3ZjY3M2FjLi41YmUzOWI1IDEwMDY0NAotLS0tIGEvZXh0L2Ftcm5iL2Ftcm5iZW5jLmgKLSsrKyBiL2V4dC9hbXJuYi9hbXJuYmVuYy5oCi1AQCAtMjEsNyArMjEsNyBAQAotICNkZWZpbmUgX19HU1RfQU1STkJFTkNfSF9fCi0gCi0gI2luY2x1ZGUgPGdzdC9nc3QuaD4KLS0jaW5jbHVkZSA8aW50ZXJmX2VuYy5oPgotKyNpbmNsdWRlIDxvcGVuY29yZS1hbXJuYi9pbnRlcmZfZW5jLmg+Ci0gI2luY2x1ZGUgPGdzdC9hdWRpby9nc3RhdWRpb2VuY29kZXIuaD4KLSAKLSBHX0JFR0lOX0RFQ0xTCi1kaWZmIC0tZ2l0IGEvZXh0L2FtcndiZGVjL2FtcndiZGVjLmggYi9leHQvYW1yd2JkZWMvYW1yd2JkZWMuaAotaW5kZXggYzM1MjhmYy4uZjI3YzZkMiAxMDA2NDQKLS0tLSBhL2V4dC9hbXJ3YmRlYy9hbXJ3YmRlYy5oCi0rKysgYi9leHQvYW1yd2JkZWMvYW1yd2JkZWMuaAotQEAgLTIyLDggKzIyLDggQEAKLSAKLSAjaW5jbHVkZSA8Z3N0L2dzdC5oPgotICNpbmNsdWRlIDxnc3QvYXVkaW8vZ3N0YXVkaW9kZWNvZGVyLmg+Ci0tI2luY2x1ZGUgPGRlY19pZi5oPgotLSNpbmNsdWRlIDxpZl9yb20uaD4KLSsjaW5jbHVkZSA8b3BlbmNvcmUtYW1yd2IvZGVjX2lmLmg+Ci0rI2luY2x1ZGUgPG9wZW5jb3JlLWFtcndiL2lmX3JvbS5oPgotIAotIEdfQkVHSU5fREVDTFMKLSAKLS0tIAotMS45LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy11Z2x5XzAuMTAuMTkuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHlfMC4xMC4xOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTk5YjQ3ZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHlfMC4xMC4xOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLXJlcXVpcmUgZ3N0LXBsdWdpbnMuaW5jCi0KLUxJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyLjErICYgTEdQTHYyKyIKLUxJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWE2Zjg5ZTIxMDBkOWI2Y2RmZmNlYTRmMzk4ZTM3MzQzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC9zeW5hZXN0aGVzaWEvc3luYWVzY29wZS5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MjA7bWQ1PTk5ZjMwMWRmN2I4MDQ5MGM2ZmY4MzA1ZmNjNzEyODM4IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3Rlc3RzL2NoZWNrL2VsZW1lbnRzL3hpbmdtdXguYztiZWdpbmxpbmU9MTtlbmRsaW5lPTIxO21kNT00Yzc3MWI4YWYxODg3MjQ4NTVjYjk5Y2FkZDM5MDA2OCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nc3QvbXBlZ3N0cmVhbS9nc3RtcGVncGFyc2UuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTE4O21kNT1mZjY1NDY3YjBjNTNjZGZhOThkMDY4NGMxYmMyNDBhOSIKLQotREVQRU5EUyArPSAiZ3N0LXBsdWdpbnMtYmFzZSBsaWJpZDN0YWcgbGlibWFkIG1wZWcyZGVjIGxpYmE1MiBsYW1lIgotUFIgPSAicjMiCi0KLWluaGVyaXQgZ2V0dGV4dAotCi1FWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1wbHVnaW5zPWE1MmRlYyxsYW1lLGlkM3RhZyxtYWQsbXBlZzJkZWMsbXBlZ3N0cmVhbSxtcGVnYXVkaW9wYXJzZSxhc2ZkZW11eCxyZWFsbWVkaWEgXAotICAgICAgICAgICAgICAgICAtLWRpc2FibGUtb3JjIgotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1t4MjY0XSA9ICItLWVuYWJsZS14MjY0LC0tZGlzYWJsZS14MjY0LHgyNjQiCi1QQUNLQUdFQ09ORklHW2NkaW9dID0gIi0tZW5hYmxlLWNkaW8sLS1kaXNhYmxlLWNkaW8sbGliY2RpbyIKLVBBQ0tBR0VDT05GSUdbZHZkcmVhZF0gPSAiLS1lbmFibGUtZHZkcmVhZCwtLWRpc2FibGUtZHZkcmVhZCxsaWJkdmRyZWFkIgotUEFDS0FHRUNPTkZJR1thbXJuYl0gPSAiLS1lbmFibGUtYW1ybmIsLS1kaXNhYmxlLWFtcm5iLG9wZW5jb3JlLWFtciIKLVBBQ0tBR0VDT05GSUdbYW1yd2JdID0gIi0tZW5hYmxlLWFtcndiLC0tZGlzYWJsZS1hbXJ3YixvcGVuY29yZS1hbXIiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgICMgVGhpcyBtNCBmaWxlIGNvbnRhaW5zIG5hc3RpbmVzcyB3aGljaCBjb25mbGljdHMgd2l0aCBsaWJ0b29sIDIuMi4yCi0gICAgcm0gJHtTfS9tNC9saWItbGluay5tNCB8fCB0cnVlCi19Ci0KLVNSQ19VUklbbWQ1c3VtXSA9ICIxZDgxYzU5M2UyMmE2Y2RmMGYyYjRmNTdlYWU5M2RmMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxY2E5MDA1OTI3NWMwZjVkY2E3MWQ0ZDE2MDFhOGY0MjliNzg1MmJhZWQwNzIzZTgyMDcwM2I5NzdlMmM4ZGYwIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtY2Rpby1jb21wZW5zYXRlLWZvci1saWJjZGlvLXMtcmVjZW50LWNkLXRleHQtYXBpLWNoYS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMi1GaXgtb3BlbmNvcmUtaW5jbHVkZS1wYXRocy5wYXRjaCIKLQotRklMRVNfJHtQTn0tYW1ybmIgKz0gIiR7ZGF0YWRpcn0vZ3N0cmVhbWVyLTAuMTAvcHJlc2V0cy9Hc3RBbXJuYkVuYy5wcnMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZTE2M2E4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotU1VNTUFSWSA9ICJQbHVnaW5zIGZvciB0aGUgR1N0cmVhbWVyIG11bHRpbWVkaWEgZnJhbWV3b3JrIgotSE9NRVBBR0UgPSAiaHR0cDovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9R3N0cmVhbWVyIgotU0VDVElPTiA9ICJtdWx0aW1lZGlhIgotREVQRU5EUyA9ICJnc3RyZWFtZXIiCi0KLSMgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHRvIGdldCAtLWRpc2FibGUtaW50cm9zcGVjdGlvbiBpbnRvIFVOS05PV05fQ09ORklHVVJFX1dISVRFTElTVAotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdvYmplY3QtaW50cm9zcGVjdGlvbgotCi1TUkNfVVJJID0gImh0dHA6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5iejIiCi0KLUdTVFJFQU1FUl9ERUJVRyA/PSAiLS1kaXNhYmxlLWRlYnVnIgotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS12YWxncmluZCAke0dTVFJFQU1FUl9ERUJVR30gLS1kaXNhYmxlLWV4YW1wbGVzIC0tZGlzYWJsZS1pbnRyb3NwZWN0aW9uIgotCi1hY3BhdGhzID0gIi1JICR7U30vY29tbW9uL200IC1JICR7U30vbTQiCi0KLUxJQlYgPSAiMC4xMCIKLXJlcXVpcmUgcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1wYWNrYWdlLmluYwotCi1QQUNLQUdFU19EWU5BTUlDICs9ICJeJHtQTn0tLioiCi0KLSMgYXBwbHkgZ3N0cmVhbWVyIGhhY2sgYWZ0ZXIgTWFrZWZpbGUuaW4uaW4gaW4gc291cmNlIGlzIHJlcGxhY2VkIGJ5IG91ciB2ZXJzaW9uIGZyb20KLSMgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nZXR0ZXh0L3BvL01ha2VmaWxlLmluLmluLCBidXQgYmVmb3JlIGNvbmZpZ3VyZSBpcyBleGVjdXRlZAotIyBodHRwOi8vbGlzdHMubGludXh0b2dvLm9yZy9waXBlcm1haWwvb3BlbmVtYmVkZGVkLWNvcmUvMjAxMi1Ob3ZlbWJlci8wMzIyMzMuaHRtbAotb2VfcnVuY29uZl9wcmVwZW5kKCkgewotICAgIGlmIFsgLWUgJHtTfS9wby9NYWtlZmlsZS5pbi5pbiBdOyB0aGVuCi0gICAgICAgIHNlZCAtaSAtZSAiMWFcXCIgLWUgJ0dFVFRFWFRfUEFDS0FHRSA9IEBHRVRURVhUX1BBQ0tBR0VAJyAke1N9L3BvL01ha2VmaWxlLmluLmluCi0gICAgZmkKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXJ0c3AvMDAwMS1jaGFuZ2UtZGVwcmVjYXRlZC1JTkNMVURFUy10by1BTV9DUFBGTEFHUy1mb3ItYXV0b21hLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcnRzcC8wMDAxLWNoYW5nZS1kZXByZWNhdGVkLUlOQ0xVREVTLXRvLUFNX0NQUEZMQUdTLWZvci1hdXRvbWEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5YjIxZGQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcnRzcC8wMDAxLWNoYW5nZS1kZXByZWNhdGVkLUlOQ0xVREVTLXRvLUFNX0NQUEZMQUdTLWZvci1hdXRvbWEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1pbmRleCBnc3QtcnRzcF8wLjEwLjgvYmluZGluZ3MvcHl0aG9uL01ha2VmaWxlLmFtCi1JbmRleDogZ3N0LXJ0c3AtMC4xMC44L2JpbmRpbmdzL3B5dGhvbi9NYWtlZmlsZS5hbQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdzdC1ydHNwLTAuMTAuOC5vcmlnL2JpbmRpbmdzL3B5dGhvbi9NYWtlZmlsZS5hbQotKysrIGdzdC1ydHNwLTAuMTAuOC9iaW5kaW5ncy9weXRob24vTWFrZWZpbGUuYW0KLUBAIC0xNCw3ICsxNCw3IEBAIGRlZnNfREFUQSA9ICQoREVGUykKLSBkZWZzZGlyID0gJChwa2dkYXRhZGlyKS8kKEdTVF9NQUpPUk1JTk9SKS9kZWZzCi0gT1ZFUlJJREVTID0gcnRzcHNlcnZlci5vdmVycmlkZQotIAotLUlOQ0xVREVTID0gLUkkKHRvcF9zcmNkaXIpIC1JJChzcmNkaXIpICQoUFlUSE9OX0lOQ0xVREVTKQotK0FNX0NQUEZMQUdTID0gLUkkKHRvcF9zcmNkaXIpIC1JJChzcmNkaXIpICQoUFlUSE9OX0lOQ0xVREVTKQotIAotIHJ0c3BzZXJ2ZXJfbGFfQ0ZMQUdTID0gLUkkKHRvcF9zcmNkaXIpL3NyYyBcCi0gCQkkKFBZR09CSkVDVF9DRkxBR1MpICQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpICQoR1NUX0NGTEFHUykKLUluZGV4OiBnc3QtcnRzcC0wLjEwLjgvZXhhbXBsZXMvTWFrZWZpbGUuYW0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnc3QtcnRzcC0wLjEwLjgub3JpZy9leGFtcGxlcy9NYWtlZmlsZS5hbQotKysrIGdzdC1ydHNwLTAuMTAuOC9leGFtcGxlcy9NYWtlZmlsZS5hbQotQEAgLTEsNiArMSw2IEBACi0gbm9pbnN0X1BST0dSQU1TID0gdGVzdC12aWRlbyB0ZXN0LW9nZyB0ZXN0LW1wNCB0ZXN0LXJlYWRtZSB0ZXN0LWxhdW5jaCB0ZXN0LXNkcCB0ZXN0LXVyaSB0ZXN0LWF1dGgKLSAKLS1JTkNMVURFUyA9IC1JJCh0b3Bfc3JjZGlyKSAtSSQoc3JjZGlyKQotK0FNX0NQUEZMQUdTID0gLUkkKHRvcF9zcmNkaXIpIC1JJChzcmNkaXIpCi0gCi0gQU1fQ0ZMQUdTID0gJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgJChHU1RfQ0ZMQUdTKQotIEFNX0xERkxBR1MgPSBcCi1JbmRleDogZ3N0LXJ0c3AtMC4xMC44L3Rlc3RzL01ha2VmaWxlLmFtCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ3N0LXJ0c3AtMC4xMC44Lm9yaWcvdGVzdHMvTWFrZWZpbGUuYW0KLSsrKyBnc3QtcnRzcC0wLjEwLjgvdGVzdHMvTWFrZWZpbGUuYW0KLUBAIC0xLDYgKzEsNiBAQAotIG5vaW5zdF9QUk9HUkFNUyA9IHRlc3QtY2xlYW51cAotIAotLUlOQ0xVREVTID0gLUkkKHRvcF9zcmNkaXIpIC1JJChzcmNkaXIpCi0rQU1fQ1BQRkxBR1MgPSAtSSQodG9wX3NyY2RpcikgLUkkKHNyY2RpcikKLSAKLSBBTV9DRkxBR1MgPSAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSAkKEdTVF9DRkxBR1MpCi0gQU1fTERGTEFHUyA9IFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXJ0c3BfMC4xMC44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcnRzcF8wLjEwLjguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3OGJjYWYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcnRzcF8wLjEwLjguYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gIkdTdHJlYW1lciBSVFNQIHNlcnZlciIKLUxJQ0VOU0UgPSAiTEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IgotCi1TUkNfVVJJID0gImh0dHA6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jaGFuZ2UtZGVwcmVjYXRlZC1JTkNMVURFUy10by1BTV9DUFBGTEFHUy1mb3ItYXV0b21hLnBhdGNoIgotU1JDX1VSSVttZDVzdW1dID0gImI1MTFhZjA3MDAwNTk1ZjYzYzNhNzA1OTQ2MjIxNjQzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk5MTU4ODdjZjg1MTViZGE4NzQ2MmM2OTczODY0NmFmYjcxNWI1OTc2MTNlZGM3MzQwNDc3Y2NhYjYzYTY2MTciCi0KLURFUEVORFMgPSAiZ3N0LXBsdWdpbnMtYmFzZSBnc3RyZWFtZXIiCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtaW50cm9zcGVjdGlvbiIKLQotIyBDb25maWd1cmUgYWx3YXlzIGNoZWNrcyBmb3IgUHl0aG9uIHNvIGluaGVyaXQgcHl0aG9ubmF0aXZlLiBCZXR0ZXIgc29sdXRpb24KLSMgd291bGQgYmUgdG8gZGlzYWJsZSB0aGUgY2hlY2tzIGVudGlyZWx5LgotaW5oZXJpdCBhdXRvdG9vbHMgcHl0aG9ubmF0aXZlIGdldHRleHQKLQotRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9L3ZhbGEvdmFwaS8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2LzAwMDEtYmFzZXBhcnNlLUZpeC1zZWxmLWNvbXBhcmlzb24tYWx3YXlzLWV2YWx1YXRlcy10by10ci5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1iYXNlcGFyc2UtRml4LXNlbGYtY29tcGFyaXNvbi1hbHdheXMtZXZhbHVhdGVzLXRvLXRyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMDc3NDk2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1iYXNlcGFyc2UtRml4LXNlbGYtY29tcGFyaXNvbi1hbHdheXMtZXZhbHVhdGVzLXRvLXRyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotRnJvbSBlZDdmNDgwMjIyMjIzNGVlZjE5MmFhM2Y3NGJjOTIyNjhmMzM4Zjk3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU2ViYXN0aWFuIERyb2VnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+Ci1EYXRlOiBUdWUsIDYgTWFyIDIwMTIgMTI6Mjg6MDIgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gYmFzZXBhcnNlOiBGaXggJ3NlbGYtY29tcGFyaXNvbiBhbHdheXMgZXZhbHVhdGVzIHRvIHRydWUnCi0KLVRoaXMgd2FzIHJlYWxseSBhIGJ1Zy4KLQotQ29tbWl0IGlzIGVkN2Y0ODAyMjIyMjM0ZWVmMTkyYWEzZjc0YmM5MjI2OGYzMzhmOTcgaW4gMC4xMCBicmFuY2gKLQotVXBzdHJlYW0gU3RhdHVzOiAgQmFja3BvcnRlZAotCi1TaWduZWQtb2ZmLWJ5OiBTZWJhc3RpYW4gRHJvZWdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KLS0tLQotIGxpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXBhcnNlLmMgfCAgICAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9saWJzL2dzdC9iYXNlL2dzdGJhc2VwYXJzZS5jIGIvbGlicy9nc3QvYmFzZS9nc3RiYXNlcGFyc2UuYwotaW5kZXggODUxZWMxZC4uMTA4ZWU4OSAxMDA2NDQKLS0tLSBhL2xpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXBhcnNlLmMKLSsrKyBiL2xpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXBhcnNlLmMKLUBAIC0zODk5LDcgKzM4OTksNyBAQCBnc3RfYmFzZV9wYXJzZV9oYW5kbGVfc2VlayAoR3N0QmFzZVBhcnNlICogcGFyc2UsIEdzdEV2ZW50ICogZXZlbnQpCi0gICAgICAgIHNlZWsgZXZlbnQgKGluIGJ5dGVzKSB0byB1cHN0cmVhbS4gU2VnbWVudCAvIGZsdXNoIGhhbmRsaW5nIGhhcHBlbnMKLSAgICAgICAgaW4gY29ycmVzcG9uZGluZyBzcmMgZXZlbnQgaGFuZGxlcnMgKi8KLSAgICAgR1NUX0RFQlVHX09CSkVDVCAocGFyc2UsICJzZWVrIGluIFBVU0ggbW9kZSIpOwotLSAgICBpZiAoc2Vla3N0b3AgPj0gMCAmJiBzZWVrcG9zIDw9IHNlZWtwb3MpCi0rICAgIGlmIChzZWVrc3RvcCA+PSAwICYmIHNlZWtzdG9wIDw9IHNlZWtwb3MpCi0gICAgICAgc2Vla3N0b3AgPSBzZWVrcG9zOwotICAgICBuZXdfZXZlbnQgPSBnc3RfZXZlbnRfbmV3X3NlZWsgKHJhdGUsIEdTVF9GT1JNQVRfQllURVMsIGZsYWdzLAotICAgICAgICAgR1NUX1NFRUtfVFlQRV9TRVQsIHNlZWtwb3MsIHN0b3BfdHlwZSwgc2Vla3N0b3ApOwotLS0gCi0xLjcuOS41Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1wYXJzZS1tYWtlLWdyYW1tYXIueS13b3JrLXdpdGgtQmlzb24tMy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1wYXJzZS1tYWtlLWdyYW1tYXIueS13b3JrLXdpdGgtQmlzb24tMy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGMyZDYwNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2LzAwMDEtcGFyc2UtbWFrZS1ncmFtbWFyLnktd29yay13aXRoLUJpc29uLTMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIDYwNTE2ZjQ3OTg4OTRmOTU4ZmM1M2I0NzBlMTI4MzMxOGQwZjg3MDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLZXJyaWNrIFN0YWxleSA8a2Vycmlja0BrZXJyaWNrc3RhbGV5LmNvbT4KLURhdGU6IFR1ZSwgMjAgQXVnIDIwMTMgMjM6NTk6MjkgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIHBhcnNlOiBtYWtlIGdyYW1tYXIueSB3b3JrIHdpdGggQmlzb24gMwotCi1ZWUxFWF9QQVJBTSBpcyBubyBsb25nZXIgc3VwcG9ydGVkIGluIEJpc29uIDMuCi0KLWh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY0NjIKLS0tLQotIGdzdC9wYXJzZS9ncmFtbWFyLnkgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9nc3QvcGFyc2UvZ3JhbW1hci55IGIvZ3N0L3BhcnNlL2dyYW1tYXIueQotaW5kZXggMjRmYzg3Yi4uN2Y5ZGQxNiAxMDA2NDQKLS0tLSBhL2dzdC9wYXJzZS9ncmFtbWFyLnkKLSsrKyBiL2dzdC9wYXJzZS9ncmFtbWFyLnkKLUBAIC0yNiw3ICsyNiw2IEBACi0gICovCi0gCi0gI2RlZmluZSBZWUVSUk9SX1ZFUkJPU0UgMQotLSNkZWZpbmUgWVlMRVhfUEFSQU0gc2Nhbm5lcgotIAotICNkZWZpbmUgWVlFTkFCTEVfTkxTIDAKLSAKLUBAIC02NDgsNiArNjQ3LDcgQEAgc3RhdGljIGludCB5eWVycm9yICh2b2lkICpzY2FubmVyLCBncmFwaF90ICpncmFwaCwgY29uc3QgY2hhciAqcyk7Ci0gJXJpZ2h0ICcuJwotICVsZWZ0ICchJyAnPScKLSAKLSslbGV4LXBhcmFtIHsgdm9pZCAqc2Nhbm5lciB9Ci0gJXBhcnNlLXBhcmFtIHsgdm9pZCAqc2Nhbm5lciB9Ci0gJXBhcnNlLXBhcmFtIHsgZ3JhcGhfdCAqZ3JhcGggfQotICVwdXJlLXBhcnNlcgotLS0gCi0yLjcuMgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2LzAwMDItZ3N0LWdsaWIyLm00LWRvbi10LWRvLWNyYXp5LXRoaW5ncy10by1HTElCX0NGTEFHUy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMi1nc3QtZ2xpYjIubTQtZG9uLXQtZG8tY3JhenktdGhpbmdzLXRvLUdMSUJfQ0ZMQUdTLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZGIzOTY2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMi1nc3QtZ2xpYjIubTQtZG9uLXQtZG8tY3JhenktdGhpbmdzLXRvLUdMSUJfQ0ZMQUdTLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotRnJvbSA0YjE0NWNlYjIyYmJjZTdiYTZlMjA5YzZhYjYxZjJkNTg2N2U2OWY5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgotRGF0ZTogVHVlLCAxIE5vdiAyMDE2IDE5OjAyOjMwICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGdzdC1nbGliMi5tNDogZG9uJ3QgZG8gY3JhenkgdGhpbmdzIHRvIEdMSUJfQ0ZMQUdTCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLXdlIGFyZSBkZWZpbml0ZWx5IG5vdCBvbmUgb2YgdGhvc2UgcG9vciBzb3VscyBtZW50aW9uZWQKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KLS0tLQotIGNvbW1vbi9tNC9nc3QtZ2xpYjIubTQgfCAxIC0KLSAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY29tbW9uL200L2dzdC1nbGliMi5tNCBiL2NvbW1vbi9tNC9nc3QtZ2xpYjIubTQKLWluZGV4IGIwMWYwMmYuLjQ1NjlhZTUgMTAwNjQ0Ci0tLS0gYS9jb21tb24vbTQvZ3N0LWdsaWIyLm00Ci0rKysgYi9jb21tb24vbTQvZ3N0LWdsaWIyLm00Ci1AQCAtNjksNyArNjksNiBAQCBBQ19ERUZVTihbQUdfR1NUX0dMSUJfQ0hFQ0tdLAotICAgZmkKLSAKLSAgIGRubCBmb3IgdGhlIHBvb3Igc291bHMgd2hvIGZvciBleGFtcGxlIGhhdmUgZ2xpYiBpbiAvdXNyL2xvY2FsCi0tICBBU19TQ1JVQl9JTkNMVURFKEdMSUJfQ0ZMQUdTKQotIAotICAgQUNfU1VCU1QoR0xJQl9FWFRSQV9DRkxBR1MpCi0gXSkKLS0tIAotMi41LjUKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9jaGVja19maXgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2NoZWNrX2ZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWQ4YmIxMy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2NoZWNrX2ZpeC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLSMgZ3N0cmVhbWVyOiBGaXggYSBwcm9ibGVtIHdpdGggY29uZmlndXJlIGlmIGNoZWNrIGhhcyBhbHJlYWR5IGJlZW4gYnVpbHQKLSMgUmljaGFyZCBQdXJkaWUgPHJwdXJkaWVAbGludXguaW50ZWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCi0KLWRpZmYgLXVyTiBnc3RyZWFtZXItMC4xMC4yOS1vcmlnL2NvbmZpZ3VyZS5hYyBnc3RyZWFtZXItMC4xMC4yOS9jb25maWd1cmUuYWMKLS0tLSBnc3RyZWFtZXItMC4xMC4yOS1vcmlnL2NvbmZpZ3VyZS5hYwkyMDEwLTA2LTI2IDEyOjQ5OjI3Ljc3NDkzMDc3MyArMDgwMAotKysrIGdzdHJlYW1lci0wLjEwLjI5L2NvbmZpZ3VyZS5hYwkyMDEwLTA2LTI2IDEyOjUxOjEyLjg5OTIwMDIzMyArMDgwMAotQEAgLTU0Myw4ICs1NDMsMTAgQEAKLSAgICAgICAqKSBCVUlMRF9DSEVDSz15ZXMgOzsKLSAgICAgZXNhYwotIF0pCi0rCi0gZG5sIGJpdCBvZiBhIG1pc25vbWVyLCBidXQga2VlcCB0aGUgY29uZGl0aW9uYWwgbmFtZWQgbGlrZSB0aGlzIHNvIHdlIGRvbid0Ci0gZG5sIGhhdmUgdG8gY2hhbmdlIHRvbyBtdWNoIGVsc2V3aGVyZQotK0hBVkVfQ0hFQ0s9bm8KLSBBTV9DT05ESVRJT05BTChIQVZFX0NIRUNLLCB0ZXN0ICJ4JEJVSUxEX0NIRUNLIiA9ICJ4eWVzIikKLSAKLSBkbmwgY29uZmlndXJlIHRoZSBkZXNpcmVkIGJ1ZmZlciBhbGlnbm1lbnQKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0LWluc3BlY3QtY2hlY2stZXJyb3IucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2dzdC1pbnNwZWN0LWNoZWNrLWVycm9yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMGJlODVmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0LWluc3BlY3QtY2hlY2stZXJyb3IucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0jIEZpeCBjcmFzaCB3aXRoIGdzdC1pbnNwZWN0Ci0jIENocmlzIExvcmQgPGNocmlzQG9wZW5lZGhhbmQuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotLS0tIGdzdHJlYW1lci0wLjEwLjkvdG9vbHMvZ3N0LWluc3BlY3QuYy5vbGQJMjAwNi0wOS0xMiAxMTo1Njo1My4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnc3RyZWFtZXItMC4xMC45L3Rvb2xzL2dzdC1pbnNwZWN0LmMJMjAwNi0wOS0xMiAxMTo1NzoyNy4wMDAwMDAwMDAgKzAxMDAKLUBAIC0xMTIzLDcgKzExMjMsNyBAQAotICAgZ19vcHRpb25fY29udGV4dF9hZGRfbWFpbl9lbnRyaWVzIChjdHgsIG9wdGlvbnMsIEdFVFRFWFRfUEFDS0FHRSk7Ci0gICBnX29wdGlvbl9jb250ZXh0X2FkZF9ncm91cCAoY3R4LCBnc3RfaW5pdF9nZXRfb3B0aW9uX2dyb3VwICgpKTsKLSAgIGlmICghZ19vcHRpb25fY29udGV4dF9wYXJzZSAoY3R4LCAmYXJnYywgJmFyZ3YsICZlcnIpKSB7Ci0tICAgIGdfcHJpbnQgKCJFcnJvciBpbml0aWFsaXppbmc6ICVzXG4iLCBlcnItPm1lc3NhZ2UpOwotKyAgICBnX3ByaW50ICgiRXJyb3IgaW5pdGlhbGl6aW5nOiAlc1xuIiwgZXJyID8gZXJyLT5tZXNzYWdlIDogIihudWxsKSIpOwotICAgICBleGl0ICgxKTsKLSAgIH0KLSAgIGdfb3B0aW9uX2NvbnRleHRfZnJlZSAoY3R4KTsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0cmVnaXN0cnliaW5hcnkuYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0cmVnaXN0cnliaW5hcnkuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzFmM2U3MS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2dzdHJlZ2lzdHJ5YmluYXJ5LmMKKysrIC9kZXYvbnVsbApAQCAtMSw0ODcgKzAsMCBAQAotLyogR1N0cmVhbWVyCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTksMjAwMCBFcmlrIFdhbHRoaW5zZW4gPG9tZWdhQGNzZS5vZ2kuZWR1PgotICogICAgICAgICAgICAgICAgICAgIDIwMDAgV2ltIFRheW1hbnMgPHd0YXlAY2hlbGxvLmJlPgotICogICAgICAgICAgICAgICAgICAgIDIwMDUgRGF2aWQgQS4gU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+Ci0gKgotICogZ3N0cmVnaXN0cnl4bWwuYzogR3N0UmVnaXN0cnkgb2JqZWN0LCBzdXBwb3J0IHJvdXRpbmVzCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVsbmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlCi0gKiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgotICovCi0KLQotI2luY2x1ZGUgPGdzdC9nc3RyZWdpc3RyeWJpbmFyeS5oPgotCi0vKgotKiogU2ltcGxlIGhhbmR5IGZ1bmN0aW9uIHRvIHdyaXRlIGEgbWVtb3J5IGxvY2F0aW9uIHRvIHRoZSByZWdpc3RyeSBjYWNoZSBmaWxlCi0qLwotaW5saW5lIHN0YXRpYyBnYm9vbGVhbgotZ3N0X3JlZ2lzdHJ5X2JpbmFyeV93cml0ZShHc3RSZWdpc3RyeSAqcmVnaXN0cnksIGNvbnN0IHZvaWQgKm1lbSwgY29uc3Qgc3NpemVfdCBzaXplKQotewotICBpZiAod3JpdGUocmVnaXN0cnktPmNhY2hlX2ZpbGUsIG1lbSwgc2l6ZSkgIT0gc2l6ZSkKLSAgICB7Ci0gICAgICBHU1RfRVJST1IoIkZhaWxlZCB0byB3cml0ZSBiaW5hcnkgcmVnaXN0cnkgZWxlbWVudDogcHRyPSVwIHNpemU9JXUgZXJyb3I9JXNcbiIsCi0JCW1lbSwgc2l6ZSwgc3RyZXJyb3IoZXJybm8pKTsKLSAgICAgIHJldHVybiBGQUxTRTsKLSAgICB9Ci0gIHJldHVybiBUUlVFOwotfQotCi0vKgotKiogU2F2ZSBmZWF0dXJlcyBHc3RCaW5hcnkgc3R5bGUKLSovCi1zdGF0aWMgZ2Jvb2xlYW4gCi1nc3RfcmVnaXN0cnlfYmluYXJ5X2ZpbGxfZmVhdHVyZShHTGlzdCAqKmxpc3QsIEdzdFBsdWdpbkZlYXR1cmUgKm9yaWcsIEdzdEJpbmFyeVBsdWdpbkZlYXR1cmUgKmRlc3QsIGNvbnN0IGNoYXIgKm5hbWUpCi17Ci0gIEdzdEJpbmFyeUNodW5jayAqY2hrOwotCi0gIGlmICgoY2hrID0gY2FsbG9jKDEsIHNpemVvZiAoR3N0QmluYXJ5Q2h1bmNrKSkpID09IE5VTEwpCi0gICAgcmV0dXJuIEZBTFNFOwotCi0gIGNoay0+ZGF0YSA9IGRlc3Q7Ci0gIGNoay0+c2l6ZSA9IHNpemVvZiAoR3N0QmluYXJ5UGx1Z2luRmVhdHVyZSk7Ci0KLSAgKmxpc3QgPSBnX2xpc3RfYXBwZW5kKCpsaXN0LCBjaGspOwotCi0gIGRlc3QtPnJhbmsgPSBvcmlnLT5yYW5rOwotICBpZiAoIXN0cm5jcHkoZGVzdC0+dHlwZW5hbWUsIG5hbWUsIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfVFlQRU5BTUVfTEVOKSB8fAotICAgICAgIXN0cm5jcHkoZGVzdC0+bmFtZSwgb3JpZy0+bmFtZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9OQU1FX0xFTikpCi0gICAgewotICAgICAgR1NUX0VSUk9SKCJGYWlsZWQgdG8gd3JpdGUgYmluYXJ5IHJlZ2lzdHJ5IGZlYXR1cmUiKTsKLSAgICAgIGdvdG8gZmFpbDsKLSAgICB9Ci0gIAotICBpZiAoR1NUX0lTX0VMRU1FTlRfRkFDVE9SWShvcmlnKSkKLSAgICB7Ci0gICAgICBHc3RFbGVtZW50RmFjdG9yeSAqZmFjdG9yeSA9IEdTVF9FTEVNRU5UX0ZBQ1RPUlkob3JpZyk7Ci0gICAgICAKLSAgICAgIGlmICghc3RybmNweShkZXN0LT5sb25nbmFtZSwgZmFjdG9yeS0+ZGV0YWlscy5sb25nbmFtZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9MT05HTkFNRV9MRU4pIHx8Ci0JICAhc3RybmNweShkZXN0LT5jbGFzcywgZmFjdG9yeS0+ZGV0YWlscy5rbGFzcywgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9DTEFTU19MRU4pIHx8Ci0JICAhc3RybmNweShkZXN0LT5kZXNjcmlwdGlvbiwgZmFjdG9yeS0+ZGV0YWlscy5kZXNjcmlwdGlvbiwgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9ERVNDUklQVElPTl9MRU4pIHx8Ci0JICAhc3RybmNweShkZXN0LT5hdXRob3IsIGZhY3RvcnktPmRldGFpbHMuYXV0aG9yLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0FVVEhPUl9MRU4pKQotCXsKLQkgIEdTVF9FUlJPUigiRmFpbGVkIHRvIHdyaXRlIGJpbmFyeSByZWdpc3RyeSBmZWF0dXJlIik7Ci0JICBnb3RvIGZhaWw7Ci0JfQotICAgIH0KLSAgCi0gIGRlc3QtPm5wYWR0ZW1wbGF0ZXMgPSBkZXN0LT5uaW50ZXJmYWNlcyA9IGRlc3QtPm51cml0eXBlcyA9IDA7Ci0gIHJldHVybiBUUlVFOwotCi0gZmFpbDoKLSAgZnJlZShjaGspOwotICByZXR1cm4gRkFMU0U7Ci19Ci0KLQotLyoKLSoqIEluaXRpYWxpemUgdGhlIEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMsIHNldHRpbmcgYm90aCBvdXIgbWFnaWMgbnVtYmVyIGFuZCBnc3RyZWFtZXIgbWFqb3IvbWlub3IgdmVyc2lvbgotKi8KLWlubGluZSBzdGF0aWMgZ2Jvb2xlYW4KLWdzdF9yZWdpc3RyeV9iaW5hcnlfaW5pdGlhbGl6ZV9tYWdpYyhHc3RCaW5hcnlSZWdpc3RyeU1hZ2ljICptKQotewotICBpZiAoIXN0cm5jcHkobS0+bWFnaWMsIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfU1RSLCBHU1RfTUFHSUNfQklOQVJZX1JFR0lTVFJZX0xFTikgfHwKLSAgICAgICFzdHJuY3B5KG0tPnZlcnNpb24sIEdTVF9NQUpPUk1JTk9SLCBHU1RfQklOQVJZX1JFR0lTVFJZX1ZFUlNJT05fTEVOKSkKLSAgICB7Ci0gICAgICBHU1RfRVJST1IoIkZhaWxlZCB0byB3cml0ZSBtYWdpYyB0byB0aGUgcmVnaXN0cnkgbWFnaWMgc3RydWN0dXJlIik7Ci0gICAgICByZXR1cm4gRkFMU0U7Ci0gICAgfQotICByZXR1cm4gVFJVRTsKLX0KLQotLyoKLSoqIENoZWNrIEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMgdmFsaWRpdHkuCi0qKiBSZXR1cm4gYSBwb2ludGVyIHBvaW50aW5nIHJpZ2h0IGFmdGVyIHRoZSBtYWdpYyBzdHJ1Y3R1cmUKLSovCi1zdGF0aWMgZ2NoYXIgKgotZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9jaGVja19tYWdpYyhnY2hhciAqaW4pCi17Ci0gIEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMgKm0gPSAoR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyAqKSBpbjsKLQotICBpZiAobSA9PSBOVUxMIHx8IG0tPm1hZ2ljID09IE5VTEwgfHwgbS0+dmVyc2lvbiA9PSBOVUxMKQotICAgIHsKLSAgICAgIEdTVF9FUlJPUigiQmluYXJ5IHJlZ2lzdHJ5IG1hZ2ljIHN0cnVjdHVyZSBpcyBicm9rZW4iKTsKLSAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgaWYgKHN0cm5jbXAobS0+bWFnaWMsIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfU1RSLCBHU1RfTUFHSUNfQklOQVJZX1JFR0lTVFJZX0xFTikgIT0gMCkKLSAgICB7Ci0gICAgICBHU1RfRVJST1IoIkJpbmFyeSByZWdpc3RyeSBtYWdpYyBpcyBkaWZmZXJlbnQgOiAlMDJ4JTAyeCUwMnglMDJ4ICE9ICUwMnglMDJ4JTAyeCUwMngiLAotCQlHU1RfTUFHSUNfQklOQVJZX1JFR0lTVFJZX1NUUlswXSAmIDB4ZmYsIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfU1RSWzFdICYgMHhmZiwKLQkJR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9TVFJbMl0gJiAweGZmLCBHU1RfTUFHSUNfQklOQVJZX1JFR0lTVFJZX1NUUlszXSAmIDB4ZmYsCi0JCW0tPm1hZ2ljWzBdICYgMHhmZiwgbS0+bWFnaWNbMV0gJiAweGZmLCBtLT5tYWdpY1syXSAmIDB4ZmYsIG0tPm1hZ2ljWzNdICYgMHhmZik7Ci0gICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gIGlmIChzdHJuY21wKG0tPnZlcnNpb24sIEdTVF9NQUpPUk1JTk9SLCBHU1RfQklOQVJZX1JFR0lTVFJZX1ZFUlNJT05fTEVOKSkKLSAgICB7Ci0gICAgICBHU1RfRVJST1IoIkJpbmFyeSByZWdpc3RyeSBtYWdpYyB2ZXJzaW9uIGlzIGRpZmZlcmVudCA6ICVzICE9ICVzIiwKLQkJR1NUX01BSk9STUlOT1IsIG0tPnZlcnNpb24pOwotICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICByZXR1cm4gKGluICsgc2l6ZW9mIChHc3RCaW5hcnlSZWdpc3RyeU1hZ2ljKSk7Ci19Ci0KLS8qCi0qKiBBZGFwdCBhIEdzdFBsdWdpbiB0byBvdXIgR3N0QmluYXJ5UGx1Z2luRWxlbWVudCBzdHJ1Y3R1cmUsIGFuZCB3cml0ZSBpdCB0byB0aGUgCi0qKiByZWdpc3RyeSBmaWxlLgotKi8gICAKLXN0YXRpYyBnYm9vbGVhbgotZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9zYXZlX3BsdWdpbihHTGlzdCAqKmxpc3QsIEdzdFJlZ2lzdHJ5ICpyZWdpc3RyeSwgR3N0UGx1Z2luICpwbHVnaW4pCi17Ci0gIEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQgKmU7Ci0gIEdzdEJpbmFyeUNodW5jayAqY2hrOwotICBHTGlzdCAqd2FsazsKLQotICBpZiAoKGUgPSBjYWxsb2MoMSwgc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5FbGVtZW50KSkpID09IE5VTEwgfHwKLSAgICAgIChjaGsgPSBjYWxsb2MoMSwgc2l6ZW9mIChHc3RCaW5hcnlDaHVuY2spKSkgPT0gTlVMTCkKLSAgICByZXR1cm4gRkFMU0U7Ci0KLSAgY2hrLT5kYXRhID0gZTsKLSAgY2hrLT5zaXplID0gc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5FbGVtZW50KTsKLSAgKmxpc3QgPSBnX2xpc3RfYXBwZW5kKCpsaXN0LCBjaGspOwotCi0gIGlmICghc3RybmNweShlLT5uYW1lLCBwbHVnaW4tPmRlc2MubmFtZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9OQU1FX0xFTikJCSAgICAgICAJfHwKLSAgICAgICFzdHJuY3B5KGUtPmRlc2NyaXB0aW9uLCBwbHVnaW4tPmRlc2MuZGVzY3JpcHRpb24sIEdTVF9CSU5BUllfUkVHSVNUUllfREVTQ1JJUFRJT05fTEVOKQl8fAotICAgICAgIXN0cm5jcHkoZS0+ZmlsZW5hbWUsIHBsdWdpbi0+ZmlsZW5hbWUsIF9QT1NJWF9QQVRIX01BWCkJCQkJCXx8Ci0gICAgICAhc3RybmNweShlLT52ZXJzaW9uLCBwbHVnaW4tPmRlc2MudmVyc2lvbiwgR1NUX0JJTkFSWV9SRUdJU1RSWV9WRVJTSU9OX0xFTikJCXx8Ci0gICAgICAhc3RybmNweShlLT5saWNlbnNlLCBwbHVnaW4tPmRlc2MubGljZW5zZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9MSUNFTlNFX0xFTikJCXx8Ci0gICAgICAhc3RybmNweShlLT5zb3VyY2UsIHBsdWdpbi0+ZGVzYy5zb3VyY2UsIEdTVF9CSU5BUllfUkVHSVNUUllfU09VUkNFX0xFTikJCQl8fAotICAgICAgIXN0cm5jcHkoZS0+cGFja2FnZSwgcGx1Z2luLT5kZXNjLnBhY2thZ2UsIEdTVF9CSU5BUllfUkVHSVNUUllfUEFDS0FHRV9MRU4pCQl8fAotICAgICAgIXN0cm5jcHkoZS0+b3JpZ2luLCBwbHVnaW4tPmRlc2Mub3JpZ2luLCBHU1RfQklOQVJZX1JFR0lTVFJZX09SSUdJTl9MRU4pKQotICAgIHsKLSAgICAgIEdTVF9ERUJVRygiQ2FuJ3QgYWRhcHQgR3N0UGx1Z2luIHRvIEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQiKTsKLSAgICAgIGdvdG8gZmFpbDsKLSAgICB9Ci0KLSAgZS0+c2l6ZSA9IHBsdWdpbi0+ZmlsZV9zaXplOwotICBlLT5tMzJwID0gcGx1Z2luLT5maWxlX210aW1lOwotICAKLSAgR0xpc3QgKmZ0X2xpc3QgPSBnc3RfcmVnaXN0cnlfZ2V0X2ZlYXR1cmVfbGlzdF9ieV9wbHVnaW4ocmVnaXN0cnksIHBsdWdpbi0+ZGVzYy5uYW1lKTsKLQotICBmb3IgKHdhbGsgPSBmdF9saXN0OyB3YWxrOyB3YWxrID0gZ19saXN0X25leHQod2FsayksIGUtPm5mZWF0dXJlcysrKQotICAgIHsKLSAgICAgIEdzdFBsdWdpbkZlYXR1cmUgKmN1cmZlYXQgPSBHU1RfUExVR0lOX0ZFQVRVUkUgKHdhbGstPmRhdGEpOwotICAgICAgR3N0QmluYXJ5UGx1Z2luRmVhdHVyZSAqbmV3ZmVhdDsKLSAgICAgIGNvbnN0IGNoYXIgKmZlYXRfbmFtZSA9IGdfdHlwZV9uYW1lKEdfT0JKRUNUX1RZUEUoY3VyZmVhdCkpOwotICAgICAgCi0gICAgICBpZiAoKG5ld2ZlYXQgPSBjYWxsb2MoMSwgc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5GZWF0dXJlKSkpID09IE5VTEwpCi0JICBnb3RvIGZhaWw7Ci0KLSAgICAgIGlmICghZmVhdF9uYW1lIHx8ICFnc3RfcmVnaXN0cnlfYmluYXJ5X2ZpbGxfZmVhdHVyZShsaXN0LCBjdXJmZWF0LCBuZXdmZWF0LCBmZWF0X25hbWUpKQotCXsKLQkgIEdTVF9FUlJPUigiQ2FuJ3QgZmlsbCBwbHVnaW4gZmVhdHVyZSwgYWJvcnRpbmcuIik7Ci0JICBnb3RvIGZhaWw7Ci0JfQotICAgIH0KLQotICBHU1RfREVCVUcoIkZvdW5kICVkIGZlYXR1cmVzIGluIHBsdWdpbiBcIiVzXCJcbiIsIGUtPm5mZWF0dXJlcywgZS0+bmFtZSk7Ci0gIHJldHVybiBUUlVFOwotCi0gZmFpbDoKLSAgZnJlZShjaGspOwotICBmcmVlKGUpOwotICByZXR1cm4gRkFMU0U7Ci19Ci0KLS8qCi0qKiBXcml0ZSB0aGUgY2FjaGUgdG8gZmlsZS4gUGFydCBvZiB0aGUgY29kZSB3YXMgdGFrZW4gZnJvbSBnc3RyZWdpc3RyeXhtbC5jCi0qLwotZ2Jvb2xlYW4gCi1nc3RfcmVnaXN0cnlfYmluYXJ5X3dyaXRlX2NhY2hlKEdzdFJlZ2lzdHJ5ICpyZWdpc3RyeSwgY29uc3QgY2hhciAqbG9jYXRpb24pCi17Ci0gIEdMaXN0ICp3YWxrOwotICBjaGFyICp0bXBfbG9jYXRpb247Ci0gIEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMgKm1hZ2ljOwotICBHc3RCaW5hcnlDaHVuY2sgKm1hZ2ljX2NodW5jazsKLSAgR0xpc3QgKnRvX3dyaXRlID0gTlVMTDsKLSAKLSAgR1NUX0lORk8oIldyaXRpbmcgYmluYXJ5IHJlZ2lzdHJ5IGNhY2hlIik7Ci0KLSAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKEdTVF9JU19SRUdJU1RSWSAocmVnaXN0cnkpLCBGQUxTRSk7Ci0gIHRtcF9sb2NhdGlvbiA9IGdfc3RyY29uY2F0IChsb2NhdGlvbiwgIi50bXBYWFhYWFgiLCBOVUxMKTsKLSAgcmVnaXN0cnktPmNhY2hlX2ZpbGUgPSBnX21rc3RlbXAgKHRtcF9sb2NhdGlvbik7Ci0gIGlmIChyZWdpc3RyeS0+Y2FjaGVfZmlsZSA9PSAtMSkKLSAgICB7Ci0gICAgICBjaGFyICpkaXI7Ci0KLSAgICAgIC8qIG9vcHMsIEkgYmV0IHRoZSBkaXJlY3RvcnkgZG9lc24ndCBleGlzdCAqLwotICAgICAgZGlyID0gZ19wYXRoX2dldF9kaXJuYW1lIChsb2NhdGlvbik7Ci0gICAgICBnX21rZGlyX3dpdGhfcGFyZW50cyAoZGlyLCAwNzc3KTsKLSAgICAgIGdfZnJlZSAoZGlyKTsKLSAgICAgIAotICAgICAgcmVnaXN0cnktPmNhY2hlX2ZpbGUgPSBnX21rc3RlbXAgKHRtcF9sb2NhdGlvbik7Ci0gICAgfQotCi0gIGlmIChyZWdpc3RyeS0+Y2FjaGVfZmlsZSA9PSAtMSkKLSAgICBnb3RvIGZhaWw7Ci0KLSAgaWYgKChtYWdpYyA9IGNhbGxvYygxLCBzaXplb2YgKEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMpKSkgPT0gTlVMTCB8fAotICAgICAgIWdzdF9yZWdpc3RyeV9iaW5hcnlfaW5pdGlhbGl6ZV9tYWdpYyhtYWdpYykpCi0gICAgZ290byBmYWlsOwotCi0gIGlmICgobWFnaWNfY2h1bmNrID0gY2FsbG9jKDEsIHNpemVvZiAoR3N0QmluYXJ5Q2h1bmNrKSkpID09IE5VTEwpCi0gICAgZ290byBmYWlsOwotCi0gIG1hZ2ljX2NodW5jay0+ZGF0YSA9IG1hZ2ljOwotICBtYWdpY19jaHVuY2stPnNpemUgPSBzaXplb2YgKEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMpOwotICB0b193cml0ZSA9IGdfbGlzdF9hcHBlbmQodG9fd3JpdGUsIG1hZ2ljX2NodW5jayk7IAotCi0gIC8qIEl0ZXJhdGUgdHJvdWdoIHRoZSBsaXN0IG9mIHBsdWdpbnMgaW4gdGhlIEdzdFJlZ2lzdHJ5IGFuZCBhZGFwdCB0aGVtIHRvIG91ciBzdHJ1Y3R1cmVzICovCi0gIGZvciAod2FsayA9IGdfbGlzdF9sYXN0KHJlZ2lzdHJ5LT5wbHVnaW5zKTsgd2Fsazsgd2FsayA9IGdfbGlzdF9wcmV2aW91cyh3YWxrKSkKLSAgICB7Ci0gICAgICBHc3RQbHVnaW4gKnBsdWdpbiA9IEdTVF9QTFVHSU4od2Fsay0+ZGF0YSk7Ci0gICAgICAKLSAgICAgIGlmICghcGx1Z2luLT5maWxlbmFtZSkKLQljb250aW51ZTsKLQkgIAotICAgICAgaWYgKHBsdWdpbi0+ZmxhZ3MgJiBHU1RfUExVR0lOX0ZMQUdfQ0FDSEVEKQotCXsKLQkgIGludCByZXQ7Ci0JICBzdHJ1Y3Qgc3RhdCBzdGF0YnVmOwotCSAgCi0JICByZXQgPSBnX3N0YXQgKHBsdWdpbi0+ZmlsZW5hbWUsICZzdGF0YnVmKTsKLQkgIGlmICgocmV0ID0gZ19zdGF0IChwbHVnaW4tPmZpbGVuYW1lLCAmc3RhdGJ1ZikpIDwgMCAJfHwKLQkgICAgICBwbHVnaW4tPmZpbGVfbXRpbWUgIT0gc3RhdGJ1Zi5zdF9tdGltZQkJfHwKLQkgICAgICBwbHVnaW4tPmZpbGVfc2l6ZSAhPSBzdGF0YnVmLnN0X3NpemUpCi0JICAgIGNvbnRpbnVlOwotCX0KLQotICAgICAgaWYgKCFnc3RfcmVnaXN0cnlfYmluYXJ5X3NhdmVfcGx1Z2luKCZ0b193cml0ZSwgcmVnaXN0cnksIHBsdWdpbikpCi0JewotCSAgR1NUX0VSUk9SKCJDYW4ndCB3cml0ZSBiaW5hcnkgcGx1Z2luIGluZm9ybWF0aW9uIGZvciBcIiVzXCIiLCBwbHVnaW4tPmZpbGVuYW1lKTsKLQkgIGNvbnRpbnVlOyAvKiBUcnkgYW55d2F5ICovCi0JfQotICAgIH0KLQotICBmb3IgKHdhbGsgPSBnX2xpc3RfZmlyc3QodG9fd3JpdGUpOyB3YWxrOyB3YWxrID0gZ19saXN0X25leHQod2FsaykpCi0gICAgewotICAgICAgR3N0QmluYXJ5Q2h1bmNrICpjdXIgPSB3YWxrLT5kYXRhOwotCi0gICAgICBpZiAoIWdzdF9yZWdpc3RyeV9iaW5hcnlfd3JpdGUocmVnaXN0cnksIGN1ci0+ZGF0YSwgY3VyLT5zaXplKSkKLQl7Ci0JICBmcmVlKGN1ci0+ZGF0YSk7Ci0JICBmcmVlKGN1cik7Ci0JICBnX2xpc3RfZnJlZSh0b193cml0ZSk7Ci0JICBnb3RvIGZhaWw7Ci0JfQotICAgICAgZnJlZShjdXItPmRhdGEpOwotICAgICAgZnJlZShjdXIpOwotICAgIH0KLSAgZ19saXN0X2ZyZWUodG9fd3JpdGUpOwotCi0gIGlmIChjbG9zZShyZWdpc3RyeS0+Y2FjaGVfZmlsZSkgPCAwKQotICAgIHsKLSAgICAgIEdTVF9ERUJVRygiQ2FuJ3QgY2xvc2UgcmVnaXN0cnkgZmlsZSA6ICVzIiwgc3RyZXJyb3IoZXJybm8pKTsKLSAgICAgIGdvdG8gZmFpbDsKLSAgICB9Ci0gIAotICBpZiAoZ19maWxlX3Rlc3QgKHRtcF9sb2NhdGlvbiwgR19GSUxFX1RFU1RfRVhJU1RTKSkgewotI2lmZGVmIFdJTjMyCi0gICAgcmVtb3ZlIChsb2NhdGlvbik7Ci0jZW5kaWYKLSAgICByZW5hbWUgKHRtcF9sb2NhdGlvbiwgbG9jYXRpb24pOwotICB9Ci0KLSAgZ19mcmVlICh0bXBfbG9jYXRpb24pOwotICByZXR1cm4gVFJVRTsKLQotIGZhaWw6Ci0gIGdfZnJlZSh0bXBfbG9jYXRpb24pOwotICByZXR1cm4gRkFMU0U7Ci19Ci0KLXN0YXRpYyBHc3RQbHVnaW5GZWF0dXJlKgotZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9sb2FkX2ZlYXR1cmUoR3N0QmluYXJ5UGx1Z2luRmVhdHVyZSAqaW4pCi17Ci0gIEdzdFBsdWdpbkZlYXR1cmUgKmZlYXR1cmU7Ci0gIEdUeXBlIHR5cGU7Ci0KLSAgaWYgKCFpbi0+dHlwZW5hbWUgfHwgISooaW4tPnR5cGVuYW1lKSkKLSAgICByZXR1cm4gTlVMTDsKLQotICAvKiAgR1NUX0lORk8oIlBsdWdpbiBmZWF0dXJlIHR5cGVuYW1lIDogJXMiLCBpbi0+dHlwZW5hbWUpOyovCi0KLSAgaWYgKCEodHlwZSA9IGdfdHlwZV9mcm9tX25hbWUoaW4tPnR5cGVuYW1lKSkpCi0gICAgewotICAgICAgR1NUX0VSUk9SKCJVbmtub3duIHR5cGUgZnJvbSB0eXBlbmFtZSIpOwotICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICBmZWF0dXJlID0gZ19vYmplY3RfbmV3ICh0eXBlLCBOVUxMKTsKLQotICBpZiAoIWZlYXR1cmUpIHsKLSAgICBHU1RfRVJST1IoIkNhbid0IGNyZWF0ZSBmZWF0dXJlIGZyb20gdHlwZSIpOwotICAgIHJldHVybiBOVUxMOwotICB9Ci0KLSAgaWYgKCFHU1RfSVNfUExVR0lOX0ZFQVRVUkUgKGZlYXR1cmUpKSB7Ci0gICAgLyogZG9uJ3QgcmVhbGx5IGtub3cgd2hhdCBpdCBpcyAqLwotICAgIGlmIChHU1RfSVNfT0JKRUNUIChmZWF0dXJlKSkKLSAgICAgIGdzdF9vYmplY3RfdW5yZWYgKGZlYXR1cmUpOwotICAgIGVsc2UKLSAgICAgIGdfb2JqZWN0X3VucmVmIChmZWF0dXJlKTsKLSAgICByZXR1cm4gTlVMTDsKLSAgfQotCi0gIGZlYXR1cmUtPm5hbWUgPSBnX3N0cmR1cChpbi0+bmFtZSk7Ci0gIGZlYXR1cmUtPnJhbmsgPSBpbi0+cmFuazsKLQotICBpZiAoR1NUX0lTX0VMRU1FTlRfRkFDVE9SWShmZWF0dXJlKSkKLSAgICB7Ci0gICAgICBHc3RFbGVtZW50RmFjdG9yeSAqZmFjdG9yeSA9IEdTVF9FTEVNRU5UX0ZBQ1RPUlkoZmVhdHVyZSk7Ci0KLSAgICAgIGZhY3RvcnktPmRldGFpbHMubG9uZ25hbWUgPSBnX3N0cmR1cChpbi0+bG9uZ25hbWUpOwotICAgICAgZmFjdG9yeS0+ZGV0YWlscy5rbGFzcyA9IGdfc3RyZHVwKGluLT5jbGFzcyk7Ci0gICAgICBmYWN0b3J5LT5kZXRhaWxzLmRlc2NyaXB0aW9uID0gZ19zdHJkdXAoaW4tPmRlc2NyaXB0aW9uKTsKLSAgICAgIGZhY3RvcnktPmRldGFpbHMuYXV0aG9yID0gZ19zdHJkdXAoaW4tPmF1dGhvcik7Ci0KLSAgICAgIC8qICAgICAgR1NUX0lORk8oIkVsZW1lbnQgZmFjdG9yeSA6ICVzIiwgZmFjdG9yeS0+ZGV0YWlscy5sb25nbmFtZSk7ICovCi0gICAgfQotCi0gIEdTVF9ERUJVRygiQWRkZWQgZmVhdHVyZSAlcCB3aXRoIG5hbWUgJXMiLCBmZWF0dXJlLCBmZWF0dXJlLT5uYW1lKTsKLSAgcmV0dXJuIGZlYXR1cmU7Ci19Ci0KLS8qCi0qKiBNYWtlIGEgbmV3IHBsdWdpbiBmcm9tIGN1cnJlbnQgR3N0QmluYXJ5UGx1Z2luRWxlbWVudCBzdHJ1Y3R1cmUKLSoqIGFuZCBzYXZlIGl0IHRvIHRoZSBHc3RSZWdpc3RyeS4gUmV0dXJuIGFuIG9mZnNldCB0byB0aGUgbmV4dAotKiogR3N0QmluYXJ5UGx1Z2luRWxlbWVudCBzdHJ1Y3R1cmUuCi0qLwotc3RhdGljIHVuc2lnbmVkIGxvbmcKLWdzdF9yZWdpc3RyeV9iaW5hcnlfZ2V0X2JpbmFyeV9wbHVnaW4oR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBnY2hhciAqaW4pCi17Ci0gIEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQgKnAgPSAoR3N0QmluYXJ5UGx1Z2luRWxlbWVudCAqKSBpbjsKLSAgR3N0UGx1Z2luICpwbHVnaW4gPSBOVUxMOwotICBHTGlzdCAqcGx1Z2luX2ZlYXR1cmVzID0gTlVMTDsKLSAgR3N0QmluYXJ5UGx1Z2luRmVhdHVyZSAqZmVhdDsKLSAgdW5zaWduZWQgaW50IGk7Ci0gIHVuc2lnbmVkIGxvbmcgb2Zmc2V0OwotCi0gIHBsdWdpbiA9IGdfb2JqZWN0X25ldyAoR1NUX1RZUEVfUExVR0lOLCBOVUxMKTsKLQotICBwbHVnaW4tPmZsYWdzIHw9IEdTVF9QTFVHSU5fRkxBR19DQUNIRUQ7Ci0KLSAgcGx1Z2luLT5kZXNjLm5hbWUgPSBnX3N0cmR1cChwLT5uYW1lKTsKLSAgcGx1Z2luLT5kZXNjLmRlc2NyaXB0aW9uPSBnX3N0cmR1cChwLT5kZXNjcmlwdGlvbik7Ci0gIHBsdWdpbi0+ZmlsZW5hbWUgPSBnX3N0cmR1cChwLT5maWxlbmFtZSk7Ci0gIHBsdWdpbi0+ZGVzYy52ZXJzaW9uID0gZ19zdHJkdXAocC0+dmVyc2lvbik7Ci0gIHBsdWdpbi0+ZGVzYy5saWNlbnNlID0gZ19zdHJkdXAocC0+bGljZW5zZSk7Ci0gIHBsdWdpbi0+ZGVzYy5zb3VyY2UgPSBnX3N0cmR1cChwLT5zb3VyY2UpOwotICBwbHVnaW4tPmRlc2MucGFja2FnZSA9IGdfc3RyZHVwKHAtPnBhY2thZ2UpOwotICBwbHVnaW4tPmRlc2Mub3JpZ2luID0gZ19zdHJkdXAocC0+b3JpZ2luKTsKLSAgcGx1Z2luLT5maWxlX210aW1lID0gcC0+bTMycDsKLSAgcGx1Z2luLT5maWxlX3NpemUgPSBwLT5zaXplOwotICBwbHVnaW4tPmJhc2VuYW1lID0gZ19wYXRoX2dldF9iYXNlbmFtZSAocGx1Z2luLT5maWxlbmFtZSk7Ci0KLSAgaWYgKHBsdWdpbi0+ZmlsZV9tdGltZSA8IDAgfHwgcGx1Z2luLT5maWxlX3NpemUgPCAwKQotICAgIHsKLSAgICAgIEdTVF9FUlJPUigiUGx1Z2luIHRpbWUgb3IgZmlsZSBzaXplIGlzIG5vdCB2YWxpZCAhIik7Ci0gICAgICBnX2ZyZWUocGx1Z2luKTsKLSAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0KLSAgaWYgKHAtPm5mZWF0dXJlcyA8IDApCi0gICAgewotICAgICAgR1NUX0VSUk9SKCJUaGUgbnVtYmVyIG9mIGZlYXR1cmUgc3RydWN0dXJlIGlzIG5vdCB2YWxpZCAhIik7Ci0gICAgICBnc3Rfb2JqZWN0X3VucmVmKHBsdWdpbik7Ci0gICAgICByZXR1cm4gLTE7Ci0gICAgfQotCi0gIGZvciAoZmVhdCA9IChHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICopIChpbiArIHNpemVvZiAoR3N0QmluYXJ5UGx1Z2luRWxlbWVudCkpLCBpID0gMDsgCi0gICAgICAgaSA8IHAtPm5mZWF0dXJlczsgaSsrLCBmZWF0KyspCi0gICAgewotICAgICAgR3N0UGx1Z2luRmVhdHVyZSAqZ3N0ZmVhdDsKLQotICAgICAgaWYgKChnc3RmZWF0ID0gZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9sb2FkX2ZlYXR1cmUoZmVhdCkpID09IE5VTEwpCi0JewotCSAgZ19saXN0X2ZyZWUocGx1Z2luX2ZlYXR1cmVzKTsKLQkgIGdfZnJlZShwbHVnaW4pOwotCSAgR1NUX0VSUk9SKCJFcnJvciB3aGlsZSBsb2FkaW5nIGJpbmFyeSBmZWF0dXJlIik7Ci0JICByZXR1cm4gLTE7Ci0JfQotICAgICAgZ3N0ZmVhdC0+cGx1Z2luX25hbWUgPSBnX3N0cmR1cChwbHVnaW4tPmRlc2MubmFtZSk7Ci0gICAgICBwbHVnaW5fZmVhdHVyZXMgPSBnX2xpc3RfcHJlcGVuZChwbHVnaW5fZmVhdHVyZXMsIGdzdGZlYXQpOwotICAgIH0KLSAgCi0gIEdTVF9ERUJVRygiQWRkZWQgcGx1Z2luIFwiJXNcIiB0byBnbG9iYWwgcmVnaXN0cnkgZnJvbSBiaW5hcnkgcmVnaXN0cnkiLCBwbHVnaW4tPmRlc2MubmFtZSk7IAotICBHTGlzdCAqZzsKLQotICBnc3RfcmVnaXN0cnlfYWRkX3BsdWdpbiAocmVnaXN0cnksIHBsdWdpbik7Ci0gIGZvciAoZyA9IHBsdWdpbl9mZWF0dXJlczsgZzsgZyA9IGdfbGlzdF9uZXh0IChnKSkKLSAgICBnc3RfcmVnaXN0cnlfYWRkX2ZlYXR1cmUgKHJlZ2lzdHJ5LCBHU1RfUExVR0lOX0ZFQVRVUkUgKGctPmRhdGEpKTsKLSAgLyogIGdfbGlzdF9mcmVlKHBsdWdpbl9mZWF0dXJlcyk7ICovCi0KLSAgb2Zmc2V0ID0gc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5FbGVtZW50KSArIHAtPm5mZWF0dXJlcyAqIHNpemVvZiAoR3N0QmluYXJ5UGx1Z2luRmVhdHVyZSk7Ci0gIHJldHVybiBvZmZzZXQ7Ci19Ci0KLQotLyoKLSoqIFJlYWQgdGhlIGNhY2hlIGFuZCBhZGFwdCBpdCB0byBmaWxsIEdzdFJlZ2lzdHJ5Ci0qLyAKLWdib29sZWFuIAotZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9yZWFkX2NhY2hlKEdzdFJlZ2lzdHJ5ICpyZWdpc3RyeSwgY29uc3QgY2hhciAqbG9jYXRpb24pCi17Ci0gIEdNYXBwZWRGaWxlICptYXBwZWQgPSBOVUxMOwotICBHVGltZXIgKnRpbWVyID0gTlVMTDsKLSAgZ2NoYXIgKmNvbnRlbnRzID0gTlVMTDsKLSAgZ2RvdWJsZSBzZWNvbmRzOwotICB1bnNpZ25lZCBsb25nIG9mZnNldCwgaW5jOwotICBnc2l6ZSBzaXplOwotCi0gIC8qIG1ha2Ugc3VyZSB0aGVzZSB0eXBlcyBleGlzdCAqLwotICBHU1RfVFlQRV9FTEVNRU5UX0ZBQ1RPUlk7Ci0gIEdTVF9UWVBFX1RZUEVfRklORF9GQUNUT1JZOwotICBHU1RfVFlQRV9JTkRFWF9GQUNUT1JZOwotCi0gIHRpbWVyID0gZ190aW1lcl9uZXcgKCk7Ci0KLSAgaWYgKChtYXBwZWQgPSBnX21hcHBlZF9maWxlX25ldyhsb2NhdGlvbiwgRkFMU0UsIE5VTEwpKSA9PSBOVUxMIHx8Ci0gICAgICAoY29udGVudHMgPSBnX21hcHBlZF9maWxlX2dldF9jb250ZW50cyhtYXBwZWQpKSA9PSBOVUxMKQotICAgIHsKLSAgICAgIEdTVF9FUlJPUigiQ2FuJ3QgbG9hZCBmaWxlIDogJXMiLCBzdHJlcnJvcihlcnJubykpOwotICAgICAgcmV0dXJuIEZBTFNFOwotICAgIH0KLSAgaWYgKChjb250ZW50cyA9IGdzdF9yZWdpc3RyeV9iaW5hcnlfY2hlY2tfbWFnaWMoY29udGVudHMpKSA9PSBOVUxMKQotICAgIHsKLSAgICAgIEdTVF9FUlJPUigiQmluYXJ5IHJlZ2lzdHJ5IHR5cGUgbm90IHJlY29nbml6ZWQgKGludmFsaWQgbWFnaWMpIik7Ci0gICAgICBnX21hcHBlZF9maWxlX2ZyZWUobWFwcGVkKTsKLSAgICAgIHJldHVybiBGQUxTRTsKLSAgICB9Ci0KLSAgaWYgKChzaXplID0gZ19tYXBwZWRfZmlsZV9nZXRfbGVuZ3RoKG1hcHBlZCkpIDwgc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5FbGVtZW50KSkKLSAgICB7Ci0gICAgICBHU1RfSU5GTygiTm8gYmluYXJ5IHBsdWdpbnMgc3RydWN0dXJlIHRvIHJlYWQiKTsKLSAgICAgIHJldHVybiBUUlVFOyAvKiBUaGlzIGlzIG5vdCByZWFsbHkgYW4gZXJyb3IgKi8KLSAgICB9Ci0KLSAgZm9yIChvZmZzZXQgPSBpbmMgPSAwOyAob2Zmc2V0ICsgc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5FbGVtZW50KSkgPCBzaXplICYmCi0JIChpbmMgPSBnc3RfcmVnaXN0cnlfYmluYXJ5X2dldF9iaW5hcnlfcGx1Z2luKHJlZ2lzdHJ5LCBjb250ZW50cyArIG9mZnNldCkpID4gMDsKLSAgICAgICBvZmZzZXQgKz0gaW5jKQotICAgIDsgLyogTWF5IHdhbnQgaW4gdGhlIGZ1dHVyZSB0byBkbyBzb21ldGhpbmcgaGVyZSAqLwotICBpZiAoaW5jIDwgMCkKLSAgICB7Ci0gICAgICBHU1RfREVCVUcoIlByb2JsZW0gd2hpbGUgcmVhZGluZyBiaW5hcnkgcmVnaXN0cnkiKTsKLSAgICAgIHJldHVybiBGQUxTRTsKLSAgICB9Ci0KLSAgZ190aW1lcl9zdG9wICh0aW1lcik7Ci0gIHNlY29uZHMgPSBnX3RpbWVyX2VsYXBzZWQgKHRpbWVyLCBOVUxMKTsKLSAgZ190aW1lcl9kZXN0cm95ICh0aW1lcik7Ci0KLSAgR1NUX0lORk8gKCJsb2FkZWQgJXMgaW4gJWYgc2Vjb25kcyIsIGxvY2F0aW9uLCBzZWNvbmRzKTsKLQotICBpZiAobWFwcGVkKQotICAgIGdfbWFwcGVkX2ZpbGVfZnJlZSAobWFwcGVkKTsKLSAgcmV0dXJuIFRSVUU7Ci19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2dzdHJlZ2lzdHJ5YmluYXJ5LmggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2dzdHJlZ2lzdHJ5YmluYXJ5LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlZjI0ZDcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3RyZWdpc3RyeWJpbmFyeS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTk0ICswLDAgQEAKLS8qIEdTdHJlYW1lcgotICogQ29weXJpZ2h0IChDKSAxOTk5LDIwMDAgRXJpayBXYWx0aGluc2VuIDxvbWVnYUBjc2Uub2dpLmVkdT4KLSAqICAgICAgICAgICAgICAgICAgICAyMDAwIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BjaGVsbG8uYmU+Ci0gKgotICogZ3N0cmVnaXN0cnkuaDogSGVhZGVyIGZvciByZWdpc3RyeSBoYW5kbGluZwotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlCi0gKiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgotICovCi0KLS8qIFNVR0dFU1RJT05TIEFORCBUT0RPIDoKLSoqID09PT09PT09PT09PT09PT09PT09Ci0qKiAtIFVzZSBhIGNvbXByZXNzZWQgcmVnaXN0cnksIGJ1dCB3b3VsZCBpbmR1Y2UgcGVyZm9ybWFuY2UgbG9zcwotKiogLSBFbmNyeXB0IHRoZSByZWdpc3RyeSwgZm9yIHNlY3VyaXR5IHB1cnBvc2UsIGJ1dCB3b3VsZCBhbHNvIHJlZHVjZSBwZXJmb3JtYW5jZXMKLSoqIC0gQWxzbyBoYXZlIGEgbm9uLW1tYXAgYmFzZWQgY2FjaGUgcmVhZGluZyAod29yayB3aXRoIGZpbGUgZGVzY3JpcHRvcnMpCi0qLwotCi0jaWZuZGVmIF9fR1NUX1JFR0lTVFJZQklOQVJZX0hfXwotI2RlZmluZSBfX0dTVF9SRUdJU1RSWUJJTkFSWV9IX18KLQotI2lmZGVmIEhBVkVfQ09ORklHX0gKLSMgIGluY2x1ZGUgImNvbmZpZy5oIgotI2VuZGlmCi0KLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPGVycm5vLmg+Ci0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSNpbmNsdWRlIDxkaXJlbnQuaD4KLSNpbmNsdWRlIDxmY250bC5oPgotI2luY2x1ZGUgPHN5cy9tbWFuLmg+Ci0jaWZkZWYgSEFWRV9VTklTVERfSAotI2luY2x1ZGUgPHVuaXN0ZC5oPgotI2VuZGlmCi0KLSNpbmNsdWRlIDxnc3QvZ3N0X3ByaXZhdGUuaD4KLSNpbmNsdWRlIDxnc3QvZ3N0ZWxlbWVudC5oPgotI2luY2x1ZGUgPGdzdC9nc3R0eXBlZmluZC5oPgotI2luY2x1ZGUgPGdzdC9nc3R0eXBlZmluZGZhY3RvcnkuaD4KLSNpbmNsdWRlIDxnc3QvZ3N0dXJpLmg+Ci0jaW5jbHVkZSA8Z3N0L2dzdGluZm8uaD4KLSNpbmNsdWRlIDxnc3QvZ3N0ZW51bXR5cGVzLmg+Ci0jaW5jbHVkZSA8Z3N0L2dzdHJlZ2lzdHJ5Lmg+Ci0jaW5jbHVkZSA8Z3N0L2dzdHBhZHRlbXBsYXRlLmg+Ci0KLSNpbmNsdWRlICJnbGliLWNvbXBhdC1wcml2YXRlLmgiCi0jaW5jbHVkZSA8Z2xpYi9nc3RkaW8uaD4KLQotLyogQSBtYWdpYywgd3JpdHRlbiBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlICovCi0jZGVmaW5lIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfU1RSICJceGMwXHhkZVx4ZjBceDBkIgotI2RlZmluZSBHU1RfTUFHSUNfQklOQVJZX1JFR0lTVFJZX0xFTiAoNCkKLSNkZWZpbmUgR1NUX01BR0lDX0JJTkFSWV9WRVJTSU9OX0xFTiAoNjQpCi0KLXR5cGVkZWYgc3RydWN0IF9Hc3RCaW5hcnlSZWdpc3RyeU1hZ2ljCi17Ci0gIGNoYXIgbWFnaWNbR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9MRU5dOwotICBjaGFyIHZlcnNpb25bR1NUX01BR0lDX0JJTkFSWV9WRVJTSU9OX0xFTl07Ci19IEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWM7Ci0KLQotLyogVXNlZCB0byBzdG9yZSBwb2ludGVycyB0byB3cml0ZSAqLwotdHlwZWRlZiBzdHJ1Y3QgX0dzdEJpbmFyeUNodW5jawotewotICB2b2lkICpkYXRhOwotICB1bnNpZ25lZCBpbnQgc2l6ZTsKLX0gR3N0QmluYXJ5Q2h1bmNrOwotCi0KLS8qIEEgc3RydWN0dXJlIGNvbnRhaW5pbmcgKHN0YXRpY2VseSkgZXZlcnkgaW5mb3JtYXRpb24gbmVlZGVkIGZvciBhIHBsdWdpbgotKioKLSoqIE5vdGVzIDoKLSoqICJuZmVhdHVyZXMiIGlzIHVzZWQgdG8gc2F5IGhvdyBtYW55IEdzdEJpbmFyeVBsdWdpbkZlYXR1cmUgc3RydWN0dXJlcyB3ZSB3aWxsIGhhdmUgCi0qKiByaWdodCBhZnRlciB0aGUgc3RydWN0dXJlIGl0c2VsZi4KLSovCi0KLS8qIFZhcmlvdXMgbGVuZ2h0IGRlZmluZXMgZm9yIG91ciBHc3RCaW5hcnlQbHVnaW5FbGVtZW50IHN0cnVjdHVyZSAKLSoqIE5vdGUgOiBXZSBjb3VsZCBldmVudHVhbGx5IHVzZSBzbWFsbGVyIHNpemUKLSovCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfTkFNRV9MRU4gKDI1NikKLSNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9ERVNDUklQVElPTl9MRU4gKDEwMjQpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfVkVSU0lPTl9MRU4gKDY0KQotI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX0xJQ0VOU0VfTEVOICgyNTYpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfU09VUkNFX0xFTiAoMjU2KQotI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1BBQ0tBR0VfTEVOICgxMDI0KQotI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX09SSUdJTl9MRU4gKDEwMjQpCi0KLXR5cGVkZWYgc3RydWN0IF9Hc3RCaW5hcnlQbHVnaW5FbGVtZW50Ci17Ci0gIGNoYXIgbmFtZVtHU1RfQklOQVJZX1JFR0lTVFJZX05BTUVfTEVOXTsKLSAgY2hhciBkZXNjcmlwdGlvbltHU1RfQklOQVJZX1JFR0lTVFJZX0RFU0NSSVBUSU9OX0xFTl07Ci0gIGNoYXIgZmlsZW5hbWVbX1BPU0lYX1BBVEhfTUFYXTsKLSAgY2hhciB2ZXJzaW9uW0dTVF9CSU5BUllfUkVHSVNUUllfVkVSU0lPTl9MRU5dOwotICBjaGFyIGxpY2Vuc2VbR1NUX0JJTkFSWV9SRUdJU1RSWV9MSUNFTlNFX0xFTl07Ci0gIGNoYXIgc291cmNlW0dTVF9CSU5BUllfUkVHSVNUUllfU09VUkNFX0xFTl07Ci0gIGNoYXIgcGFja2FnZVtHU1RfQklOQVJZX1JFR0lTVFJZX1BBQ0tBR0VfTEVOXTsKLSAgY2hhciBvcmlnaW5bR1NUX0JJTkFSWV9SRUdJU1RSWV9PUklHSU5fTEVOXTsKLSAgdW5zaWduZWQgbG9uZyBzaXplOwotICB1bnNpZ25lZCBsb25nIG0zMnA7Ci0gIHVuc2lnbmVkIGludCBuZmVhdHVyZXM7Ci19IEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQ7Ci0KLQotLyogQSBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgcGx1Z2luIGZlYXR1cmVzCi0qKgotKiogTm90ZSA6Ci0qKiAibnBhZHRlbXBsYXRlcyIgaXMgdXNlZCB0byBzdG9yZSB0aGUgbnVtYmVyIG9mIEdzdEJpbmFyeVBhZFRlbXBsYXRlIHN0cnVjdHVyZXMgZm9sbG93aW5nIHRoZSBzdHJ1Y3R1cmUgaXRzZWxmLgotKiogIm5pbnRlcmZhY2VzIiBpcyB1c2VkIHRvIHN0b3JlIHRoZSBudW1iZXIgb2YgR3N0QmluYXJ5SW50ZXJmYWNlIHN0cnVjdHVyZXMgZm9sbG93aW5nIHRoZSBzdHJ1Y3R1cmUgaXRzZWxmLgotKiogIm51cml0eXBlcyIgaXMgdXNlZCB0byBzdG9yZSB0aGUgbnVtYmVyIG9mIEdzdEJpbmFyeVVyaVR5cGUgc3RydWN0dXJlcyBmb2xsb3dpbmcgdGhlIHN0cnVjdHVyZSBpdHNlbGYuCi0qLwotI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX1RZUEVOQU1FX0xFTiAoMjU2KQotI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX05BTUVfTEVOICgyNTYpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfTE9OR05BTUVfTEVOICgxMDI0KQotI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0NMQVNTX0xFTiAoNTEyKQotI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0RFU0NSSVBUSU9OX0xFTiAoMTAyNCkKLSNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9BVVRIT1JfTEVOICgyNTYpCi0KLXR5cGVkZWYgc3RydWN0IF9Hc3RCaW5hcnlQbHVnaW5GZWF0dXJlCi17Ci0gIGNoYXIgdHlwZW5hbWVbR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9UWVBFTkFNRV9MRU5dOwotICBjaGFyIG5hbWVbR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9OQU1FX0xFTl07Ci0gIHVuc2lnbmVkIGxvbmcgcmFuazsKLSAgY2hhciBsb25nbmFtZVtHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0xPTkdOQU1FX0xFTl07Ci0gIGNoYXIgY2xhc3NbR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9DTEFTU19MRU5dOwotICBjaGFyIGRlc2NyaXB0aW9uW0dTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfREVTQ1JJUFRJT05fTEVOXTsKLSAgY2hhciBhdXRob3JbR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9BVVRIT1JfTEVOXTsKLSAgdW5zaWduZWQgaW50IG5wYWR0ZW1wbGF0ZXM7Ci0gIHVuc2lnbmVkIGludCBuaW50ZXJmYWNlczsKLSAgdW5zaWduZWQgaW50IG51cml0eXBlczsKLX0gR3N0QmluYXJ5UGx1Z2luRmVhdHVyZTsKLQotCi0vKiAKLSoqIEEgc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlIHN0YXRpYyBwYWQgdGVtcGxhdGVzIG9mIGEgcGx1Z2luIGZlYXR1cmUgCi0qLwotI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1BBRFRFTVBMQVRFX05BTUVfTEVOICgyNTYpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfUEFEVEVNUExBVEVfQ0FQX0xFTiAoMTAyNCkKLQotdHlwZWRlZiBzdHJ1Y3QgX0dzdEJpbmFyeVBhZFRlbXBsYXRlCi17Ci0gIGNoYXIgbmFtZVtHU1RfQklOQVJZX1JFR0lTVFJZX1BBRFRFTVBMQVRFX05BTUVfTEVOXTsKLSAgY2hhciBjYXBbR1NUX0JJTkFSWV9SRUdJU1RSWV9QQURURU1QTEFURV9DQVBfTEVOXTsKLSAgaW50IGRpcmVjdGlvbjsJCQkJCS8qIEVpdGhlciAwOiJzaW5rIiBvciAxOiJzcmMiICovCi0gIEdzdFBhZFByZXNlbmNlIHByZXNlbmNlOwotfSBHc3RCaW5hcnlQYWRUZW1wbGF0ZTsKLQotLyoKLSoqIEEgdmVyeSBzaW1wbGUgc3RydWN0dXJlIGRlZmluaW5nIHRoZSBwbHVnaW4gZmVhdHVyZSBpbnRlcmZhY2Ugc3RyaW5nCi0qLwotI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX0lOVEVSRkFDRV9JTlRFUkZBQ0VfTEVOICg1MTIpCi10eXBlZGVmIHN0cnVjdCBfR3N0QmluYXJ5SW50ZXJmYWNlCi17Ci0gIGNoYXIgaW50ZXJmYWNlW0dTVF9CSU5BUllfUkVHSVNUUllfSU5URVJGQUNFX0lOVEVSRkFDRV9MRU5dOwotICB1bnNpZ25lZCBsb25nIHNpemU7Ci19IEdzdEJpbmFyeUludGVyZmFjZTsKLQotLyogVXJpIFR5cGUgKi8KLXR5cGVkZWYgc3RydWN0IF9Hc3RCaW5hcnlVcmlUeXBlCi17Ci0gIEdzdFVSSVR5cGUgdHlwZTsKLSAgdW5zaWduZWQgbG9uZyBudXJpcHJvdG9jb2xzOwotfSBHc3RCaW5hcnlVcmlUeXBlOwotCi0vKiAKLSoqIEZ1bmN0aW9uIHByb3RvdHlwZXMKLSovCi0KLS8qIExvY2FsIHByb3RvdHlwZXMgKi8KLWlubGluZSBzdGF0aWMgZ2Jvb2xlYW4gZ3N0X3JlZ2lzdHJ5X2JpbmFyeV93cml0ZShHc3RSZWdpc3RyeSAqcmVnaXN0cnksIGNvbnN0IHZvaWQgKm1lbSwgY29uc3Qgc3NpemVfdCBzaXplKTsKLWlubGluZSBzdGF0aWMgZ2Jvb2xlYW4gZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9pbml0aWFsaXplX21hZ2ljKEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMgKm0pOwotc3RhdGljIGdib29sZWFuIGdzdF9yZWdpc3RyeV9iaW5hcnlfZmlsbF9mZWF0dXJlKEdMaXN0ICoqbGlzdCwgR3N0UGx1Z2luRmVhdHVyZSAqLCBHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICosIGNvbnN0IGNoYXIgKik7Ci1zdGF0aWMgZ2Jvb2xlYW4gZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9zYXZlX3BsdWdpbihHTGlzdCAqKmxpc3QsIEdzdFJlZ2lzdHJ5ICpyZWdpc3RyeSwgR3N0UGx1Z2luICpwbHVnaW4pOwotc3RhdGljIGdjaGFyICpnc3RfcmVnaXN0cnlfYmluYXJ5X2NoZWNrX21hZ2ljKGdjaGFyICppbik7Ci1zdGF0aWMgR3N0UGx1Z2luRmVhdHVyZSAqZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9sb2FkX2ZlYXR1cmUoR3N0QmluYXJ5UGx1Z2luRmVhdHVyZSAqKTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGdzdF9yZWdpc3RyeV9iaW5hcnlfZ2V0X2JpbmFyeV9wbHVnaW4oR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBnY2hhciAqaW4pOwotCi0vKiBFeHBvcnRhYmxlICovCi1nYm9vbGVhbiBnc3RfcmVnaXN0cnlfYmluYXJ5X3dyaXRlX2NhY2hlKEdzdFJlZ2lzdHJ5ICpyZWdpc3RyeSwgY29uc3QgY2hhciAqbG9jYXRpb24pOwotZ2Jvb2xlYW4gZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9yZWFkX2NhY2hlKEdzdFJlZ2lzdHJ5ICpyZWdpc3RyeSwgY29uc3QgY2hhciAqbG9jYXRpb24pOwotCi0jZW5kaWYgLyogIV9fR1NUX1JFR0lTVFJZQklOQVJZX0hfXyAqLwotCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyXzAuMTAuMzYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lcl8wLjEwLjM2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NmQ4MjIwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyXzAuMTAuMzYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1TVU1NQVJZID0gIkdTdHJlYW1lciBtdWx0aW1lZGlhIGZyYW1ld29yayIKLURFU0NSSVBUSU9OID0gIkdTdHJlYW1lciBpcyBhIG11bHRpbWVkaWEgZnJhbWV3b3JrIGZvciBlbmNvZGluZyBhbmQgZGVjb2RpbmcgdmlkZW8gYW5kIHNvdW5kLiBcCi1JdCBzdXBwb3J0cyBhIHdpZGUgcmFuZ2Ugb2YgZm9ybWF0cyBpbmNsdWRpbmcgbXAzLCBvZ2csIGF2aSwgbXBlZyBhbmQgcXVpY2t0aW1lLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnLyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PUdzdHJlYW1lciIKLVNFQ1RJT04gPSAibXVsdGltZWRpYSIKLUxJQ0VOU0UgPSAiTEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC9nc3QuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTIxO21kNT04ZTVmZTVlODdkMzNhMDQ0NzlmZGU4NjJlMjM4ZWFhNCIKLURFUEVORFMgPSAiZ2xpYi0yLjAgbGlieG1sMiBiaXNvbi1uYXRpdmUgZmxleC1uYXRpdmUgZ2xpYi0yLjAtbmF0aXZlIgotCi1QUiA9ICJyMiIKLQotU1JDX1VSSSA9ICJodHRwOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy9zcmMvZ3N0cmVhbWVyL2dzdHJlYW1lci0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL2NoZWNrX2ZpeC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9nc3QtaW5zcGVjdC1jaGVjay1lcnJvci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWJhc2VwYXJzZS1GaXgtc2VsZi1jb21wYXJpc29uLWFsd2F5cy1ldmFsdWF0ZXMtdG8tdHIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1wYXJzZS1tYWtlLWdyYW1tYXIueS13b3JrLXdpdGgtQmlzb24tMy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWdzdC1nbGliMi5tNC1kb24tdC1kby1jcmF6eS10aGluZ3MtdG8tR0xJQl9DRkxBR1MucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYTBjZjdkNjg3N2Y2OTRhMWEyYWQyYjRkMWVjYjg5MGIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTU1NmE1MjllMGE4Y2YxY2QwYWZkMGNhYjJhZjU0ODhjOTUyNGU3YzNmNDA5ZGUyOWI1ZDgyYmI0MWFlN2EzMCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQKLQotR1NUUkVBTUVSX0RFQlVHID89ICItLWRpc2FibGUtZGVidWciCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWRvY2Jvb2sgLS1kaXNhYmxlLWd0ay1kb2MgXAotICAgICAgICAgICAgLS1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgLS1kaXNhYmxlLWNoZWNrIFwKLSAgICAgICAgICAgIC0tZGlzYWJsZS1leGFtcGxlcyAtLWRpc2FibGUtdGVzdHMgXAotICAgICAgICAgICAgLS1kaXNhYmxlLXZhbGdyaW5kICR7R1NUUkVBTUVSX0RFQlVHfSBcCi0gICAgICAgICAgICAtLWRpc2FibGUtaW50cm9zcGVjdGlvbiBcCi0gICAgICAgICAgICAiCi0KLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9oZWFkZXJfdmFsZ3JpbmRfdmFsZ3JpbmRfaD1ubyIKLQotIyBhcHBseSBnc3RyZWFtZXIgaGFjayBhZnRlciBNYWtlZmlsZS5pbi5pbiBpbiBzb3VyY2UgaXMgcmVwbGFjZWQgYnkgb3VyIHZlcnNpb24gZnJvbQotIyAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dldHRleHQvcG8vTWFrZWZpbGUuaW4uaW4sIGJ1dCBiZWZvcmUgY29uZmlndXJlIGlzIGV4ZWN1dGVkCi0jIGh0dHA6Ly9saXN0cy5saW51eHRvZ28ub3JnL3BpcGVybWFpbC9vcGVuZW1iZWRkZWQtY29yZS8yMDEyLU5vdmVtYmVyLzAzMjIzMy5odG1sCi1vZV9ydW5jb25mX3ByZXBlbmQoKSB7Ci0gICAgICAgIHNlZCAtaSAtZSAiMWFcXCIgLWUgJ0dFVFRFWFRfUEFDS0FHRSA9IEBHRVRURVhUX1BBQ0tBR0VAJyAke1N9L3BvL01ha2VmaWxlLmluLmluCi19Ci0KLSNkb19jb21waWxlX3ByZXBlbmQgKCkgewotIyAgICBtdiAke1dPUktESVJ9L2dzdHJlZ2lzdHJ5YmluYXJ5LltjaF0gJHtTfS9nc3QvCi0jfQotCi1GSUxFU18ke1BOfSArPSAiICR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLnNvIgotRklMRVNfJHtQTn0tZGV2ICs9ICIgJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyoubGEgJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyouYSIKLUZJTEVTXyR7UE59LWRiZyArPSAiICR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8uZGVidWcvICR7bGliZXhlY2Rpcn0vZ3N0cmVhbWVyLTAuMTAvLmRlYnVnLyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvaW1hZ2VzL21ldGEtbXVsdGltZWRpYS1pbWFnZS1iYXNlLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9pbWFnZXMvbWV0YS1tdWx0aW1lZGlhLWltYWdlLWJhc2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQ5Zjk4OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvaW1hZ2VzL21ldGEtbXVsdGltZWRpYS1pbWFnZS1iYXNlLmJiCkBAIC0wLDAgKzEsNyBAQAorU1VNTUFSWSA9ICJtZXRhLW11bHRpbWVkaWEgYnVpbGQgdGVzdCBpbWFnZSIKKworSU1BR0VfSU5TVEFMTCA9ICJwYWNrYWdlZ3JvdXAtY29yZS1ib290IgorCitMSUNFTlNFID0gIk1JVCIKKworaW5oZXJpdCBjb3JlLWltYWdlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ltYWdlcy9tZXRhLW11bHRpbWVkaWEtaW1hZ2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ltYWdlcy9tZXRhLW11bHRpbWVkaWEtaW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWYyZmRhOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvaW1hZ2VzL21ldGEtbXVsdGltZWRpYS1pbWFnZS5iYgpAQCAtMCwwICsxLDMgQEAKK3JlcXVpcmUgIG1ldGEtbXVsdGltZWRpYS1pbWFnZS1iYXNlLmJiCisKK0lNQUdFX0lOU1RBTEwgKz0gInBhY2thZ2Vncm91cC1tZXRhLW11bHRpbWVkaWEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmRjMTM5NC9saWJkYzEzOTRfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkYzEzOTQvbGliZGMxMzk0X2dpdC5iYgppbmRleCBiNmJiNDQ3Li4zYjNhYzgzIDEwMDc1NQotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmRjMTM5NC9saWJkYzEzOTRfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZGMxMzk0L2xpYmRjMTM5NF9naXQuYmIKQEAgLTE5LDcgKzE5LDcgQEAKICAgICAgICAgICAgZmlsZTovL2luc3RhbGxfZXhhbXBsZXMucGF0Y2ggXAogICAgICAgICAgICIKIAotUyA9ICIke1dPUktESVJ9L2dpdC8ke1BOfSIKK1MgPSAiJHtXT1JLRElSfS9naXQvJHtCUE59IgogCiBpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZiY3NhL2xpYmR2YmNzYS9saWJkdmJjc2EucGMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmR2YmNzYS9saWJkdmJjc2EvbGliZHZiY3NhLnBjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3ZTc0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmR2YmNzYS9saWJkdmJjc2EvbGliZHZiY3NhLnBjCkBAIC0wLDAgKzEsMTAgQEAKK3ByZWZpeD0vdXNyCitsaWJkaXI9JHtwcmVmaXh9L2xpYgoraW5jbHVkZWRpcj0ke3ByZWZpeH0vaW5jbHVkZQorCitOYW1lOiBsaWJkdmJjc2EKK0Rlc2NyaXB0aW9uOiAgaXMgYSBmcmVlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBEVkIgQ29tbW9uIFNjcmFtYmxpbmcgQWxnb3JpdGhtIC0gRFZCL0NTQSAtIHdpdGggZW5jcnlwdGlvbiBhbmQgZGVjcnlwdGlvbiBjYXBhYmlsaXRpZXMuCitWZXJzaW9uOiAxLjEuMAorUmVxdWlyZXM6CitMaWJzOiAtTCR7bGliZGlyfSAtbGR2YmNzYQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmR2YmNzYS9saWJkdmJjc2FfMS4xLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmR2YmNzYS9saWJkdmJjc2FfMS4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2YwNDJjMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZiY3NhL2xpYmR2YmNzYV8xLjEuMC5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIk9wZW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIERWQiBDb21tb24gU2NyYW1ibGluZyBBbGdvcml0aG0sIGVuY3J5cHQgYW5kIGRlY3J5cHQgIgorU0VDVElPTiA9ICJsaWJzL211bHRpbWVkaWEiCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTUkNSRVYgPSAiYmM2YzBiMTY0YTg3Y2UwNWU5OTI1Nzg1Y2M2ZmIzZjU0YzAyYjAyNiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9jb2RlLnZpZGVvbGFuLm9yZy92aWRlb2xhbi9saWJkdmJjc2EuZ2l0O3Byb3RvY29sPWh0dHBzIFwKKyAgICAgICAgICAgZmlsZTovL2xpYmR2YmNzYS5wYyBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlIHBrZ2NvbmZpZworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1EIC1tIDA2NDQgJHtTfS9zcmMvZHZiY3NhL2R2YmNzYS5oICR7RH0ke2luY2x1ZGVkaXJ9L2R2YmNzYS9kdmJjc2EuaAorICAgIGluc3RhbGwgLUQgLW0gMDY0NCAke1dPUktESVJ9L2xpYmR2YmNzYS5wYyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9saWJkdmJjc2EucGMKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbWltaWMvbWltaWNfMS4yLjAuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbWltaWMvbWltaWNfMS4yLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjRiMWIzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9taW1pYy9taW1pY18xLjIuMC4yLmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiQSBmYXN0IGxpZ2h0d2VpZ2h0IFRleHQtdG8tc3BlZWNoIGVuZ2luZSIKK0RFU0NSSVBUSU9OID0gIk1pbWljIGlzIGEgZmFzdCwgbGlnaHR3ZWlnaHQgVGV4dC10by1zcGVlY2ggZW5naW5lIGRldmVsb3BlZCBieSBNeWNyb2Z0IEEuSS4gYW5kIFZvY2FsaUQsIGJhc2VkIG9uIENhcm5lZ2llIE1lbGxvbiBVbml2ZXJzaXR54oCZcyBGbGl0ZSAoRmVzdGl2YWwtTGl0ZSkgc29mdHdhcmUuIE1pbWljIHRha2VzIGluIHRleHQgYW5kIHJlYWRzIGl0IG91dCBsb3VkIHRvIGNyZWF0ZSBhIGhpZ2ggcXVhbGl0eSB2b2ljZS4iCitIT01FUEFHRSA9ICJodHRwczovL21pbWljLm15Y3JvZnQuYWkvIgorU0VDVElPTiA9ICJtdWx0aW1lZGlhIgorCisjICJNaW1pYyBpcyBhdmFpbGFibGUgdW5kZXIgcGVybWlzc2l2ZSBCU0QtbGlrZSBsaWNlbnNlcyIKK0xJQ0VOU0UgPSAiTUlULVggJiBcCisgICAgICAgICAgIFBEICYgXAorICAgICAgICAgICBDTVUtVGV4ICYgXAorICAgICAgICAgICBCU0QgJiBcCisgICAgICAgICAgIEJTRC0yLUNsYXVzZSAmIFwKKyAgICAgICAgICAgQlNELTMtQ2xhdXNlICYgXAorICAgICAgICAgICBmbGl0ZSAmIFwKKyAgICAgICAgICAgKGZsaXRlICYgU3VuKSAmIFwKKyAgICAgICAgICAgQmVsbEJpcmQgJiBcCisgICAgICAgICAgIEFwYWNoZS0yLjAgXAorICAgICAgICAgICAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00MTZlZjFjYTUxNjc3MDdmZTM4MWQ3YmUzMzY2NGEzMyIKKworREVQRU5EUyA9ICJjdXJsLW5hdGl2ZSBpY3UiCisKK1NSQ1JFViA9ICI2N2U0M2JmMGZhNTYwMDgyNzZiODc4ZWMzNzkwYWE1ZjMyZWIyYTE2IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL015Y3JvZnRBSS9taW1pYy5naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL29wZW5hbC9vcGVuYWwtc29mdC8wMDAxLVVzZS1CVUlMRF9DQy10by1jb21waWxlLW5hdGl2ZS10b29scy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0LzAwMDEtVXNlLUJVSUxEX0NDLXRvLWNvbXBpbGUtbmF0aXZlLXRvb2xzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2ZjEyM2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL29wZW5hbC9vcGVuYWwtc29mdC8wMDAxLVVzZS1CVUlMRF9DQy10by1jb21waWxlLW5hdGl2ZS10b29scy5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDI5MjE3OTMyYzM0ZDdlMzM2ODc2NGFiNjQ4NzlkYzZmMWVkYWIxYTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogTW9uLCAxNCBKYW4gMjAxOSAxMToxOTo0NCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBVc2UgaG9zdCBjb21waWxlciB0byBjb21waWxlIG5hdGl2ZSB0b29scworCitIZWxwcyBpbiBjcm9zcyBjb21waWxpbmcKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1TcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tCisgQ01ha2VMaXN0cy50eHQgfCA1ICsrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDM5YjgwMjUwLi5kNmJkZjhlZCAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTEyODgsMTEgKzEyODgsMTAgQEAgRklMRShNQUtFX0RJUkVDVE9SWSAiJHtOQVRJVkVfQklOX0RJUn0iKQorIFNFVChCSU4ySF9DT01NQU5EICAiJHtOQVRJVkVfQklOX0RJUn1iaW4yaCIpCisgU0VUKEJTSU5DR0VOX0NPTU1BTkQgICIke05BVElWRV9CSU5fRElSfWJzaW5jZ2VuIikKKyBBRERfQ1VTVE9NX0NPTU1BTkQoT1VUUFVUICIke0JJTjJIX0NPTU1BTkR9IiAiJHtCU0lOQ0dFTl9DT01NQU5EfSIKKy0gICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1HICIke0NNQUtFX0dFTkVSQVRPUn0iICIke05BVElWRV9TUkNfRElSfSIKKyAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIHJlbW92ZSAiJHtCSU4ySF9DT01NQU5EfSIgIiR7QlNJTkNHRU5fQ09NTUFORH0iCistICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtLWJ1aWxkIC4gLS1jb25maWcgIlJlbGVhc2UiCisrICAgIENPTU1BTkQgZ2NjICIke05BVElWRV9TUkNfRElSfWJpbjJoLmMiIC1vICIke0JJTjJIX0NPTU1BTkR9IiAtbG0KKysgICAgQ09NTUFORCBnY2MgIiR7TkFUSVZFX1NSQ19ESVJ9YnNpbmNnZW4uYyIgLW8gIiR7QlNJTkNHRU5fQ09NTUFORH0iIC1sbQorICAgICBXT1JLSU5HX0RJUkVDVE9SWSAiJHtOQVRJVkVfQklOX0RJUn0iCistICAgIERFUEVORFMgIiR7TkFUSVZFX1NSQ19ESVJ9Q01ha2VMaXN0cy50eHQiCisgICAgIElNUExJQ0lUX0RFUEVORFMgQyAiJHtOQVRJVkVfU1JDX0RJUn1iaW4yaC5jIgorICAgICAgICAgICAgICAgICAgICAgIEMgIiR7TkFUSVZFX1NSQ19ESVJ9YnNpbmNnZW4uYyIKKyAgICAgVkVSQkFUSU0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0LzAwMDItbWFrZWhydGYtRGlzYWJsZS1Xc3RyaW5nb3AtdHJ1bmNhdGlvbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0LzAwMDItbWFrZWhydGYtRGlzYWJsZS1Xc3RyaW5nb3AtdHJ1bmNhdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDIwMzg2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuYWwvb3BlbmFsLXNvZnQvMDAwMi1tYWtlaHJ0Zi1EaXNhYmxlLVdzdHJpbmdvcC10cnVuY2F0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gMDdlZjg2ZTMzZWQ2Zjc1ODVmMGRmYWExNzMyZWExN2M4MTY2NTVhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDE0IEphbiAyMDE5IDExOjQ1OjQyIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIG1ha2VocnRmOiBEaXNhYmxlIFdzdHJpbmdvcC10cnVuY2F0aW9uCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbU2hvdWxkIGJlIGZpeGVkIGluIGNvZGVdCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgdXRpbHMvbWFrZWhydGYuYyB8IDIgKysKKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS91dGlscy9tYWtlaHJ0Zi5jIGIvdXRpbHMvbWFrZWhydGYuYworaW5kZXggMGJkMzY4NDkuLjBhYmU0MjUyIDEwMDY0NAorLS0tIGEvdXRpbHMvbWFrZWhydGYuYworKysrIGIvdXRpbHMvbWFrZWhydGYuYworQEAgLTg2Miw2ICs4NjIsNyBAQCBzdGF0aWMgaW50IFRyUmVhZE9wZXJhdG9yKFRva2VuUmVhZGVyVCAqdHIsIGNvbnN0IGNoYXIgKm9wKQorICAqIHBhdHRlcm4gc3RyaW5nIGFyZSByZXBsYWNlZCB3aXRoIHRoZSByZXBsYWNlbWVudCBzdHJpbmcuICBUaGUgcmVzdWx0IGlzCisgICogdHJ1bmNhdGVkIGlmIG5lY2Vzc2FyeS4KKyAgKi8KKysjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc3RyaW5nb3AtdHJ1bmNhdGlvbiIKKyBzdGF0aWMgaW50IFN0clN1YnN0KGNvbnN0IGNoYXIgKmluLCBjb25zdCBjaGFyICpwYXQsIGNvbnN0IGNoYXIgKnJlcCwgY29uc3Qgc2l6ZV90IG1heExlbiwgY2hhciAqb3V0KQorIHsKKyAgICAgc2l6ZV90IGluTGVuLCBwYXRMZW4sIHJlcExlbjsKK0BAIC05MDAsNiArOTAxLDcgQEAgc3RhdGljIGludCBTdHJTdWJzdChjb25zdCBjaGFyICppbiwgY29uc3QgY2hhciAqcGF0LCBjb25zdCBjaGFyICpyZXAsIGNvbnN0IHNpemUKKyAgICAgcmV0dXJuICF0cnVuY2F0ZWQ7CisgfQorIAorKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCisgCisgLyoqKioqKioqKioqKioqKioqKioqKgorICAqKiogTWF0aCByb3V0aW5lcyAqKioKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0XzEuMTUuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0XzEuMTUuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTBmMWEyNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL29wZW5hbC9vcGVuYWwtc29mdF8xLjE1LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1TVU1NQVJZID0gIk9wZW5BTCBpcyBhIGNyb3NzLXBsYXRmb3JtIDNEIGF1ZGlvIEFQSSIKLUhPTUVQQUdFID0gImh0dHA6Ly9rY2F0LnN0cmFuZ2Vzb2Z0Lm5ldC9vcGVuYWwuaHRtbCIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYWNjM2E4ZjQ1MjkzMDA4M2JiYjk1ZDgyYjk4OWMzNSIKLQotaW5oZXJpdCBjbWFrZQotCi1TUkNfVVJJID0gImh0dHA6Ly9rY2F0LnN0cmFuZ2Vzb2Z0Lm5ldC9vcGVuYWwtcmVsZWFzZXMvJHtCUH0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICJlYTgzZGVjM2I5NjU1YTI3ZDI4ZTdiYzdjYWU5Y2Q3MSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIwZTI5YTE2MmYwODQxY2NiNDEzNWNlNzZlOTJlOGE3MDQ1ODliNjgwYTg1ZWRkZjc2Zjg5OGRlNTIzNmViMDU2IgotCi1QQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhbHNhIHB1bHNlYXVkaW8nLCBkKX0iCi1QQUNLQUdFQ09ORklHW2Fsc2FdID0gIi1EQUxTQT1UUlVFLCAtREFMU0E9RkFMU0UsIGFsc2EtbGliIgotUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItRFBVTFNFQVVESU89VFJVRSwgLURQVUxTRUFVRElPPUZBTFNFLCBwdWxzZWF1ZGlvIgotIyBjdXJyZW50bHkgZG9lc24ndCB3b3JrIHdpdGggbGliYXYtOQotIyBQS0dfQ0hFQ0tfTU9EVUxFUyhGRk1QRUcgbGliYXZjb2RlYz49NTMuNjEuMTAwIGxpYmF2Zm9ybWF0Pj01My4zMi4xMDAgbGliYXZ1dGlsPj01MS4zNS4xMDApCi0jIGJ1dCBhbGZmbXBlZy5jOjQxODo0NDogZXJyb3I6ICdBVl9DSF9MQVlPVVRfTU9OTycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCi1QQUNLQUdFQ09ORklHW2V4YW1wbGVzXSA9ICItREVYQU1QTEVTPVRSVUUsIC1ERVhBTVBMRVM9RkFMU0UsIGxpYmF2IgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9vcGVuYWwiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL29wZW5hbC9vcGVuYWwtc29mdF8xLjE5LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL29wZW5hbC9vcGVuYWwtc29mdF8xLjE5LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTljZGZhYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0XzEuMTkuMS5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIk9wZW5BTCBpcyBhIGNyb3NzLXBsYXRmb3JtIDNEIGF1ZGlvIEFQSSIKK0hPTUVQQUdFID0gImh0dHA6Ly9rY2F0LnN0cmFuZ2Vzb2Z0Lm5ldC9vcGVuYWwuaHRtbCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wZjE1OWYxOWY5Mzc3ZTE4OTVmYmI0NzdkNWE3OTUzZSIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcKKworIyBvcGVuYWwtc29mdC0xLjE5LjEKK1NSQ1JFViA9ICI2NzYxMjE4ZTUxNjk5ZjQ2YmYyNWMzNzdlNjViM2U5ZWE1ZTQzNGI5IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2tjYXQvb3BlbmFsLXNvZnQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Vc2UtQlVJTERfQ0MtdG8tY29tcGlsZS1uYXRpdmUtdG9vbHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1tYWtlaHJ0Zi1EaXNhYmxlLVdzdHJpbmdvcC10cnVuY2F0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitQQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhbHNhIHB1bHNlYXVkaW8nLCBkKX0iCitQQUNLQUdFQ09ORklHW2Fsc2FdID0gIi1EQUxTQT1UUlVFLCAtREFMU0E9RkFMU0UsIGFsc2EtbGliIgorUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItRFBVTFNFQVVESU89VFJVRSwgLURQVUxTRUFVRElPPUZBTFNFLCBwdWxzZWF1ZGlvIgorIyBjdXJyZW50bHkgZG9lc24ndCB3b3JrIHdpdGggbGliYXYtOQorIyBQS0dfQ0hFQ0tfTU9EVUxFUyhGRk1QRUcgbGliYXZjb2RlYz49NTMuNjEuMTAwIGxpYmF2Zm9ybWF0Pj01My4zMi4xMDAgbGliYXZ1dGlsPj01MS4zNS4xMDApCisjIGJ1dCBhbGZmbXBlZy5jOjQxODo0NDogZXJyb3I6ICdBVl9DSF9MQVlPVVRfTU9OTycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCitQQUNLQUdFQ09ORklHW2V4YW1wbGVzXSA9ICItREVYQU1QTEVTPVRSVUUsIC1ERVhBTVBMRVM9RkFMU0UsIGxpYmF2IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9vcGVuYWwiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwNDhhYzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS5iYgpAQCAtMCwwICsxLDUyIEBACitTVU1NQVJZID0gIk1ldGEtbXVsdGltZWRpYSBwYWNrYWdlZ3JvdXBzIgorCitpbmhlcml0IHBhY2thZ2Vncm91cAorCitQUk9WSURFUyA9ICIke1BBQ0tBR0VTfSIKK1BBQ0tBR0VTID0gJyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYSBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS1jb25uZWN0aXZpdHkgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW11bHRpbWVkaWEtZHZiIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLW1rdiBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS1zdXBwb3J0IFwKKycKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYSA9ICJcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYSBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS1jb25uZWN0aXZpdHkgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW11bHRpbWVkaWEtZHZiIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLW1rdiBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS1zdXBwb3J0IFwKKyIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYSA9ICJcCisgICAgbGliZHZicHNpIGxpYmRjMTM5NCBnc3RkIGdzdC1zaGFyayBcCisgICAgYmlnYnVja2J1bm55LTcyMHAgdGVhcnNvZnN0ZWVsLTEwODBwIGJpZ2J1Y2tidW5ueS0xMDgwcCBiaWdidWNrYnVubnktNDgwcCBcCisgICAgb3BlbmFsLXNvZnQgZGxleW5hLWNvcmUgZGxleW5hLXJlbmRlcmVyIGRsZXluYS1zZXJ2ZXIgZGxleW5hLWNvbm5lY3Rvci1kYnVzIFwKKyAgICBhbHNhLWVxdWFsIGxpYmR2ZG5hdiBsaWJtdXNpY2JyYWlueiB0aW55YWxzYSBcCisgICAgZmx1aWRzeW50aCBjZHBhcmFub2lhIHZvcmJpcy10b29scyB0cmVtb3IgY2FwcyBsaWJhbyBsaWJhdmMxMzk0IFwKKyAgICBvcHVzZmlsZSBnZXJiZXJhIGxpYmR2ZGNzcyB3ZWJydGMtYXVkaW8tcHJvY2Vzc2luZyBcCisgICAgcnRtcGR1bXAgbGlib3Blbm1wdCBzY2hyb2VkaW5nZXIgbXBkIG1wYyBsaWJtcGRjbGllbnQgXAorICAgIG5jbXBjIGxpYm1wZCBsaWJzcXVpc2ggZGNhZGVjIGxpYmllYzYxODgzIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInBhbSIsICIiLCAiIiwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiTElDRU5TRV9GTEFHU19XSElURUxJU1QiLCAiY29tbWVyY2lhbCIsICJtaW5pZGxuYSBnc3QtZmx1ZW5kby1tcGVnZGVtdXggdmxjIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkxJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIiwgImNvbW1lcmNpYWwiLCAidm8tYWFjZW5jIHNveCBsaWJkZTI2NSBnc3Qtb3Blbm1heCIsICIiLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJMSUNFTlNFX0ZMQUdTX1dISVRFTElTVCIsICJjb21tZXJjaWFsIiwgInN0cmVhbXJpcHBlciBnc3QtcGx1Z2lucy11Z2x5IGdzdC1mbHVlbmRvLW1wMyBnc3QtcGx1Z2lucy1nbCIsICIiLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJMSUNFTlNFX0ZMQUdTX1dISVRFTElTVCIsICJjb21tZXJjaWFsIiwgIm9wZW5oMjY0IG9wZW5jb3JlLWFtciBmYWFjIHZvLWFtcndiZW5jIiwgIiIsIGQpfSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLWNvbm5lY3Rpdml0eSA9ICJcCisgICAgcnlnZWwgZ3VwbnAgZ3VwbnAtaWdkIGdzc2RwIGd1cG5wLWRsbmEgZ3VwbnAtYXYgbGlidXBucCBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAiZ3VwbnAtdG9vbHMiLCAiIiwgZCl9IFwKKyAgICAiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW11bHRpbWVkaWEtZHZiID0gIlwKKyAgICBvc2NhbSAiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW11bHRpbWVkaWEtbWt2ID0gIlwKKyAgICBsaWJtYXRyb3NrYSBsaWJlYm1sIFwKKyAgICAiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW11bHRpbWVkaWEtc3VwcG9ydCA9ICJcCisgICAgbGlib2lsIGxpYm1lZGlhYXJ0IGxpYm1lZGlhYXJ0LTIuMCBnc3QtaW5zdHJ1bWVudHMgbGlic3J0cCBjcm9zc2d1aWQgXAorICAgICIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMuaW5jCmluZGV4IGYxM2MwZWEuLjE5YWM4MjAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLmluYwpAQCAtNSw3ICs1LDcgQEAKIExJQ0VOU0UgPSAiR1BMLTIuMCIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgogCi1ERVBFTkRTID0gImZyaWJpZGkgbGlidG9vbCBsaWJnY3J5cHQgbGliZ2NyeXB0LW5hdGl2ZSBcCitERVBFTkRTID0gImNvcmV1dGlscy1uYXRpdmUgZnJpYmlkaSBsaWJ0b29sIGxpYmdjcnlwdCBsaWJnY3J5cHQtbmF0aXZlIFwKICAgIGRidXMgZGJ1cy1nbGliIGxpYnhtbDIgZ251dGxzIFwKICAgIHRyZW1vciBmYWFkMiBmZm1wZWcgZmxhYyBmbHVpZHN5bnRoIGFsc2EtbGliIFwKICAgIGx1YS1uYXRpdmUgbHVhIGxpYmlkbiBcCkBAIC0yMSwxMiArMjEsMTIgQEAKIGluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjawogCiBBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKLQorZXhwb3J0IEJVSUxEQ0MgPSAiJHtCVUlMRF9DQ30iCiBFWFRSQV9PRUNPTkYgPSAiXAogICAgIC0tZW5hYmxlLXJ1bi1hcy1yb290IFwKICAgICAtLWVuYWJsZS14dmlkZW8gXAogICAgIC0tZGlzYWJsZS1zY3JlZW4gLS1kaXNhYmxlLWNhY2EgXAotICAgIC0tZW5hYmxlLWh0dHBkIC0tZW5hYmxlLXZsbSBcCisgICAgLS1lbmFibGUtdmxtIFwKICAgICAtLWVuYWJsZS1mcmVldHlwZSBcCiAgICAgLS1lbmFibGUtdHJlbW9yIFwKICAgICAtLWVuYWJsZS12NGwyIC0tZGlzYWJsZS1hYSAtLWRpc2FibGUtZmFhZCBcCkBAIC0zNSwyMiArMzUsMjIgQEAKICAgICAtLXdpdGhvdXQta2RlLXNvbGlkIFwKICAgICAtLWVuYWJsZS1yZWFscnRzcCBcCiAgICAgLS1kaXNhYmxlLWxpYnRhciBcCisgICAgLS1lbmFibGUtYXZjb2RlYyBcCiAgICAgYWNfY3ZfcGF0aF9NT0M9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L21vYzQgXAogICAgIGFjX2N2X3BhdGhfUkNDPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9yY2M0IFwKICAgICBhY19jdl9wYXRoX1VJQz0ke1NUQUdJTkdfQklORElSX05BVElWRX0vdWljNCBcCiAiCiAKLVBBQ0tBR0VDT05GSUcgPz0gIiBsaXZlNTU1IGRjMTM5NCBkdjEzOTQgbm90aWZ5IGZvbnRjb25maWcgZnJlZXR5cGUgZHZkcmVhZCBwbmcgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExIHNkbCB2ZHBhdScsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHID89ICIgbGl2ZTU1NSBkYzEzOTQgZHYxMzk0IG5vdGlmeSBmb250Y29uZmlnIGZyZWV0eXBlIGR2ZHJlYWQgcG5nICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMScsICcnLCBkKX0iCisKIFBBQ0tBR0VDT05GSUdbbWFkXSA9ICItLWVuYWJsZS1tYWQsLS1kaXNhYmxlLW1hZCxsaWJtYWQiCi1QQUNLQUdFQ09ORklHW3NkbF0gPSAiLS1lbmFibGUtc2RsLC0tZGlzYWJsZS1zZGwsdmlydHVhbC9saWJzZGwgbGlic2RsLWltYWdlICIKIFBBQ0tBR0VDT05GSUdbYTUyXSA9ICItLWVuYWJsZS1hNTIsLS1kaXNhYmxlLWE1MixsaWJhNTIiCiBQQUNLQUdFQ09ORklHW2phY2tdID0gIi0tZW5hYmxlLWphY2ssLS1kaXNhYmxlLWphY2ssamFjayIKIFBBQ0tBR0VDT05GSUdbbGl2ZTU1NV0gPSAiLS1lbmFibGUtbGl2ZTU1NSwtLWRpc2FibGUtbGl2ZTU1NSxsaXZlNTU1IgogUEFDS0FHRUNPTkZJR1tsaWJhc3NdID0gIi0tZW5hYmxlLWxpYmFzcywtLWRpc2FibGUtbGliYXNzLGxpYmFzcyIKLVBBQ0tBR0VDT05GSUdbbWt2XSA9ICItLWVuYWJsZS1ta3YsLS1kaXNhYmxlLW1rdixsaWJtYXRyb3NrYSBsaWJlYm1sIgogUEFDS0FHRUNPTkZJR1twb3N0cHJvY10gPSAiLS1lbmFibGUtcG9zdHByb2MsLS1kaXNhYmxlLXBvc3Rwcm9jLGxpYnBvc3Rwcm9jIgorUEFDS0FHRUNPTkZJR1tsaWJ2YV0gPSAiLS1lbmFibGUtbGlidmEsLS1kaXNhYmxlLWxpYnZhLGxpYnZhIgogUEFDS0FHRUNPTkZJR1tvcGVuY3ZdID0gIi0tZW5hYmxlLW9wZW5jdiwtLWRpc2FibGUtb3BlbmN2LG9wZW5jdiIKLVBBQ0tBR0VDT05GSUdbbGlidmFdID0gIi0tZW5hYmxlLWxpYnZhIC0tZW5hYmxlLWF2Y29kZWMsLS1kaXNhYmxlLWxpYnZhIC0tZGlzYWJsZS1hdmNvZGVjLGxpYnZhIGxpYmF2IgogUEFDS0FHRUNPTkZJR1tzcGVleF0gPSAiLS1lbmFibGUtc3BlZXgsLS1kaXNhYmxlLXNwZWV4LHNwZWV4IgogUEFDS0FHRUNPTkZJR1tnc3RyZWFtZXJdID0gIi0tZW5hYmxlLWdzdC1kZWNvZGUsLS1kaXNhYmxlLWdzdC1kZWNvZGUsZ3N0cmVhbWVyMS4wIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UgZ3N0LXBsdWdpbnMtYmFkIgogUEFDS0FHRUNPTkZJR1t2cHhdID0gIi0tZW5hYmxlLXZweCwtLWRpc2FibGUtdnB4LCBsaWJ2cHgiCkBAIC04MSw3ICs4MSw2IEBACiB9CiAKIGRvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7Ci0gICAgc2VkIC1pIC1lIHM6JyQoTU9DKSAkKERFRlMpICQoQ1BQRkxBR1MpJzonJChNT0MpICQoREVGUyknXCAtSSR7Qn0vaW5jbHVkZVwgLURTWVNfTElOVVg6ZyAke0J9L21vZHVsZXMvZ3VpL3F0NC9NYWtlZmlsZQogICAgIHNlZCAtaSAtZSBzOicke3RvcF9idWlsZGRpcl9zbGFzaH1saWJ0b29sJzonJHt0b3BfYnVpbGRkaXJfc2xhc2h9JyR7VEFSR0VUX1NZU30tbGlidG9vbDpnICR7Qn0vZG9sdGxpYnRvb2wKIH0KIApAQCAtOTQsMTAgKzkzLDExIEBACiAKIEZJTEVTXyR7UE59ICs9ICJcCiAgICAgJHtiaW5kaXJ9L3ZsYyBcCisgICAgJHtsaWJkaXJ9L3ZsYy92bGMvbGlidmxjX3ZkcGF1LnNvIFwKICAgICAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucyBcCiAgICAgJHtkYXRhZGlyfS92bGMvIFwKICAgICAke2RhdGFkaXJ9L2ljb25zIFwKLSAgICAke2xpbmRpcn0vdmxjL3ZsYy9saWJ2bGNfdmRwYXUuc28gXAorICAgICR7ZGF0YWRpcn0vbWV0YWluZm8vdmxjLmFwcGRhdGEueG1sIFwKICIKIAogRklMRVNfJHtQTn0tZGJnICs9ICJcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMS1lbmFibGUtc3ViZGlyLW9iamVjdHMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMS1lbmFibGUtc3ViZGlyLW9iamVjdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmMGU3MDguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDEtZW5hYmxlLXN1YmRpci1vYmplY3RzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotSW5kZXg6IHZsYy0yLjEuMi9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4xLjIub3JpZy9jb25maWd1cmUuYWMKLSsrKyB2bGMtMi4xLjIvY29uZmlndXJlLmFjCi1AQCAtMjQsNyArMjQsNyBAQCBBQ19DQU5PTklDQUxfQlVJTEQKLSBBQ19DQU5PTklDQUxfSE9TVAotIEFDX1BSRVNFUlZFX0hFTFBfT1JERVIKLSAKLS1BTV9JTklUX0FVVE9NQUtFKHRhci11c3RhciBjb2xvci10ZXN0cyBmb3JlaWduKQotK0FNX0lOSVRfQVVUT01BS0UodGFyLXVzdGFyIGNvbG9yLXRlc3RzIGZvcmVpZ24gc3ViZGlyLW9iamVjdHMpCi0gQUNfQ09ORklHX0hFQURFUlMoW2NvbmZpZy5oXSkKLSAKLSAjIERpc2FibGUgd2l0aCAiLi9jb25maWd1cmUgLS1kaXNhYmxlLXNpbGVudC1ydWxlcyIgb3IgIm1ha2UgVj0xIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDItZ2xpYmMtZG9lcy1ub3QtcHJvdmlkZS1zdHJsY3B5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDItZ2xpYmMtZG9lcy1ub3QtcHJvdmlkZS1zdHJsY3B5LnBhdGNoCmluZGV4IDZkMmE0NmYuLjNkYjNkZjMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDAyLWdsaWJjLWRvZXMtbm90LXByb3ZpZGUtc3RybGNweS5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMi1nbGliYy1kb2VzLW5vdC1wcm92aWRlLXN0cmxjcHkucGF0Y2gKQEAgLTEsOCArMSw2IEBACi1JbmRleDogdmxjLTIuMS4yL3NyYy9pbnB1dC9zdWJ0aXRsZXMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHZsYy0yLjEuMi5vcmlnL3NyYy9pbnB1dC9zdWJ0aXRsZXMuYwotKysrIHZsYy0yLjEuMi9zcmMvaW5wdXQvc3VidGl0bGVzLmMKLUBAIC00NCw2ICs0NCwxMiBAQAorLS0tIGEvc3JjL2lucHV0L3N1YnRpdGxlcy5jCisrKysgYi9zcmMvaW5wdXQvc3VidGl0bGVzLmMKK0BAIC00Miw2ICs0MiwxMiBAQAogICNpbmNsdWRlICJpbnB1dF9pbnRlcm5hbC5oIgogIAogIC8qKgpAQCAtMTIsNiArMTAsNiBAQAogKyNkZWZpbmUgc3RybGNweShkc3QsIHNyYywgbikgKigoY2hhciogKSBtZW1wY3B5KGRzdCwgc3JjLCBuKSkgPSAnXDAnCiArCiArLyoqCi0gICogV2UgYXJlIG5vdCBnb2luZyB0byBhdXRvZGV0ZWN0IG1vcmUgc3VidGl0bGUgZmlsZXMgdGhhbiB0aGlzLgorICAqIFRoZSBwb3NzaWJsZSBleHRlbnNpb25zIGZvciBzdWJ0aXRsZSBmaWxlcyB3ZSBzdXBwb3J0CiAgICovCi0gI2RlZmluZSBNQVhfU1VCVElUTEVfRklMRVMgMTI4Cisgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN1Yl9leHRzW10gPSB7IFNMQVZFX1NQVV9FWFRFTlNJT05TLCAiIiB9OwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDMtdXNlLWFtLXBhdGgtbGliZ2NyeXB0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDMtdXNlLWFtLXBhdGgtbGliZ2NyeXB0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZTg4MWQwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDAzLXVzZS1hbS1wYXRoLWxpYmdjcnlwdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLSogVGhlIHVwc3RyZWFtIHRlc3RzIGZvciBsaWJnY3J5cHQgYXJlIGF3a3dhcmQgYW5kIG5vdCB3b3JraW5nLgotICAtIFJlcXVpcmVzIGxpYmdjcnlwdC1jb25maWcsIHdoaWNoIHNlZW1zIGJyb2tlbj8KLSogQU1fUEFUSF9MSUJHQ1JZUFQgZXhpc3RzIGZvciBhIHJlYXNvbiwgd2h5IG5vdCB1c2UgaXQ/IEtJU1MuCi0qIFVwc3RyZWFtIGFiYW5kb25lZCBBTV9QQVRIX0xJQkdDUllQVCBpbiB0aGUgcGFzdC4uLm5ld2VyIGF1dG9tYWtlIG9rPwotCi1VcHN0cmVhbSBzdGF0dXM6IFBlbmRpbmcKLQotSW5kZXg6IHZsYy0yLjIuMS9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4yLjEub3JpZy9jb25maWd1cmUuYWMKLSsrKyB2bGMtMi4yLjEvY29uZmlndXJlLmFjCi1AQCAtNDAxNywyNSArNDAxNywxOSBAQCBQS0dfRU5BQkxFX01PRFVMRVNfVkxDKFtMSUJYTUwyXSwgW3htbF0sCi0gZG5sCi0gZG5sIGxpYmdjcnlwdAotIGRubAotK0dDUllQVF9MSUJWRVI9MQotK0dDUllQVF9SRVE9MS4xLjk0Ci0gQUNfQVJHX0VOQUJMRShsaWJnY3J5cHQsCi0gICBbICAtLWRpc2FibGUtbGliZ2NyeXB0ICAgICBnY3J5cHQgc3VwcG9ydCAoZGVmYXVsdCBlbmFibGVkKV0pCi0gQVNfSUYoW3Rlc3QgIiR7ZW5hYmxlX2xpYmdjcnlwdH0iICE9ICJubyJdLCBbCi0tICBBQ19DSEVDS19ERUNMKFtHQ1JZQ1RMX1NFVF9USFJFQURfQ0JTXSwgWwotLSAgICBsaWJnY3J5cHQtY29uZmlnIC0tdmVyc2lvbiA+L2Rldi9udWxsIHx8IFwKLS0gICAgICAgIEFDX01TR19FUlJPUihbZ2NyeXB0LmggcHJlc2VudCBidXQgbGliZ2NyeXB0LWNvbmZpZyBjb3VsZCBub3QgYmUgZm91bmRdKQotLSAgICBBQ19DSEVDS19MSUIoZ2NyeXB0LCBnY3J5X2NvbnRyb2wsIFsKLS0gICAgICBoYXZlX2xpYmdjcnlwdD0ieWVzIgotLSAgICAgIEdDUllQVF9DRkxBR1M9ImBsaWJnY3J5cHQtY29uZmlnIC0tY2ZsYWdzYCIKLS0gICAgICBHQ1JZUFRfTElCUz0iYGxpYmdjcnlwdC1jb25maWcgLS1saWJzYCIKLS0gICAgXSwgWwotLSAgICAgIEFDX01TR19FUlJPUihbbGliZ2NyeXB0IG5vdCBmb3VuZC4gSW5zdGFsbCBsaWJnY3J5cHQgb3IgcGFzcyAtLWRpc2FibGUtbGliZ2NyeXB0Ll0pCi0tICAgIF0sIFtgbGliZ2NyeXB0LWNvbmZpZyAtLWxpYnNgXSkKLS0gIF0sIFsKLS0gICAgQUNfTVNHX0VSUk9SKFtsaWJnY3J5cHQgdmVyc2lvbiAxLjEuOTQgb3IgaGlnaGVyIG5vdCBmb3VuZC4gSW5zdGFsbCBsaWJnY3J5cHQgb3IgcGFzcyAtLWRpc2FibGUtbGliZ2NyeXB0Ll0pCi0tICBdLCBbI2luY2x1ZGUgPGdjcnlwdC5oPl0KLS0gICkKLSsgICAgICBBTV9QQVRIX0xJQkdDUllQVCgkR0NSWVBUX0xJQlZFUjokR0NSWVBUX1JFUSwKLSsgICAgICBbCi0rICAgICAgICAgIEdDUllQVF9DRkxBR1M9IiRMSUJHQ1JZUFRfQ0ZMQUdTIgotKyAgICAgICAgICBHQ1JZUFRfTElCUz0iJExJQkdDUllQVF9MSUJTIgotKyAgICAgIF0sWwotKyAgICAgICAgICBBQ19NU0dfRVJST1IoW2xpYmdjcnlwdCB2ZXJzaW9uIDEuMS45NCBvciBoaWdoZXIgbm90IGZvdW5kLiBJbnN0YWxsIGxpYmdjcnlwdCBvciB1c2UgLS1kaXNhYmxlLWxpYmdjcnlwdC4gSGF2ZSBhIG5pY2UgZGF5Ll0pCi0rICAgICAgXSkKLSBdKQotLQotIEFDX1NVQlNUKEdDUllQVF9DRkxBR1MpCi0gQUNfU1VCU1QoR0NSWVBUX0xJQlMpCi0gQU1fQ09ORElUSU9OQUwoW0hBVkVfR0NSWVBUXSwgW3Rlc3QgIiR7aGF2ZV9saWJnY3J5cHR9IiA9ICJ5ZXMiXSkKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA0LW1vZHVsZXMtZ3VpLXF0NC1vdXQtb2YtdHJlZS1idWlsZC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA0LW1vZHVsZXMtZ3VpLXF0NC1vdXQtb2YtdHJlZS1idWlsZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTNkZjFjNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNC1tb2R1bGVzLWd1aS1xdDQtb3V0LW9mLXRyZWUtYnVpbGQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0qIG1vZHVsZXMvZ3VpL3F0NC9NYWtlZmlsZS5hbSBub3QgQiE9UyBmcmllbmRseQotKiBTaW1wbGUgc29sdXRpb24gdG8gbWlzc2luZyBkaXJlY3RvcmllcyBpbiAke0J9Ci0KLVVwc3RyZWFtIHN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBUaW0gT3JsaW5nIDxUaWNvVGltb0BnbWFpbC5jb20+Ci0KLUluZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9ndWkvcXQ0L01ha2VmaWxlLmFtCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gdmxjLTIuMi4xLm9yaWcvbW9kdWxlcy9ndWkvcXQ0L01ha2VmaWxlLmFtCi0rKysgdmxjLTIuMi4xL21vZHVsZXMvZ3VpL3F0NC9NYWtlZmlsZS5hbQotQEAgLTEyNyw2ICsxMjcsNyBAQCBtb2NfdmVyYm9zZV8wID0gQGVjaG8gIiAgTU9DICAgIiAkQDsKLSBtb2NfdmVyYm9zZV9fMCA9ICQobW9jX3ZlcmJvc2VfMCkKLSAKLSAuaHBwLm1vYy5jcHA6Ci0rCVsgLWQgJChkaXIgJEApIF0gfHwgbWtkaXIgLXAgJChkaXIgJEApCi0gCSQobW9jX3ZlcmJvc2UpJChNT0MpICQoTU9DX0NQUEZMQUdTKSAtbyAkQCAkPAotIAotICMgVGhlc2UgTU9DIGZpbGVzIGRlcGVuZCBvbiB0aGUgY29uZmlndXJlIHNldHRpbmdzOgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDUtbGlicG9zdHByb2MtaGVhZGVyLWNoZWNrLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDUtbGlicG9zdHByb2MtaGVhZGVyLWNoZWNrLnBhdGNoCmluZGV4IDJkODRmZmQuLjc3YTdkNjEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA1LWxpYnBvc3Rwcm9jLWhlYWRlci1jaGVjay5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNS1saWJwb3N0cHJvYy1oZWFkZXItY2hlY2sucGF0Y2gKQEAgLTIsMTYgKzIsMTQgQEAKIAogVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCiAKLUluZGV4OiB2bGMtMi4xLjQvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gdmxjLTIuMS40Lm9yaWcvY29uZmlndXJlLmFjCi0rKysgdmxjLTIuMS40L2NvbmZpZ3VyZS5hYwotQEAgLTI0NDQsNyArMjQ0NCw3IEBAIHRoZW4KKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMjU4OSw3ICsyNTg5LDcgQEAgdGhlbgogICAgICAgIFZMQ19TQVZFX0ZMQUdTCiAgICAgICAgQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9ICR7UE9TVFBST0NfQ0ZMQUdTfSIKICAgICAgICBDRkxBR1M9IiR7Q0ZMQUdTfSAke1BPU1RQUk9DX0NGTEFHU30iCiAtICAgICAgQUNfQ0hFQ0tfSEVBREVSUyhwb3N0cHJvYy9wb3N0cHJvY2Vzcy5oKQogKyAgICAgIEFDX0NIRUNLX0hFQURFUlMocG9zdHByb2MvcG9zdHByb2Nlc3MuaCxbXSxbQUNfQ0hFQ0tfSEVBREVSUyhsaWJwb3N0cHJvYy9wb3N0cHJvY2Vzcy5oKV0pCiAgICAgICAgVkxDX0FERF9QTFVHSU4oW3Bvc3Rwcm9jXSkKLSAgICAgICBWTENfQUREX0xJQlMoW3Bvc3Rwcm9jXSxbJFBPU1RQUk9DX0xJQlMgJEFWVVRJTF9MSUJTXSkKLSAgICAgICBWTENfQUREX0NGTEFHUyhbcG9zdHByb2NdLFskUE9TVFBST0NfQ0ZMQUdTICRBVlVUSUxfQ0ZMQUdTXSkKKyAgICAgICBWTENfUkVTVE9SRV9GTEFHUworICAgICBdLFsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA4LWZpeC1sdWFMLWNoZWNraW50LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDgtZml4LWx1YUwtY2hlY2tpbnQucGF0Y2gKaW5kZXggMTQ1ZTFhYi4uOTZiNWQyZCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDgtZml4LWx1YUwtY2hlY2tpbnQucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDgtZml4LWx1YUwtY2hlY2tpbnQucGF0Y2gKQEAgLTUsNDYgKzUsMjkgQEAKIAogU2lnbmVkLW9mZi1ieTogVGltIE9ybGluZyA8VGljb1RpbW9AZ21haWwuY29tPgogCi1JbmRleDogdmxjLTIuMi4xL21vZHVsZXMvbHVhL2RlbXV4LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9kZW11eC5jCi0rKysgdmxjLTIuMi4xL21vZHVsZXMvbHVhL2RlbXV4LmMKLUBAIC01Miw3ICs1Miw3IEBAIHN0cnVjdCBkZW11eF9zeXNfdAorLS0tIGEvbW9kdWxlcy9sdWEvZGVtdXguYworKysrIGIvbW9kdWxlcy9sdWEvZGVtdXguYworQEAgLTUyLDcgKzUyLDcgQEAgc3RydWN0IHZsY2x1YV9wbGF5bGlzdAogIHN0YXRpYyBpbnQgdmxjbHVhX2RlbXV4X3BlZWsoIGx1YV9TdGF0ZSAqTCApCiAgewotICAgICBkZW11eF90ICpwX2RlbXV4ID0gKGRlbXV4X3QgKil2bGNsdWFfZ2V0X3RoaXMoIEwgKTsKKyAgICAgc3RyZWFtX3QgKnMgPSAoc3RyZWFtX3QgKil2bGNsdWFfZ2V0X3RoaXMoTCk7CiAtICAgIGludCBuID0gbHVhTF9jaGVja2ludCggTCwgMSApOwogKyAgICBpbnQgbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAxICk7CiAgICAgIGNvbnN0IHVpbnQ4X3QgKnBfcGVlazsKICAKLSAgICAgaW50IGlfcGVlayA9IHN0cmVhbV9QZWVrKCBwX2RlbXV4LT5zLCAmcF9wZWVrLCBuICk7Ci1AQCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9kZW11eF9yZWFkKCBsdWFfU3RhdGUKKyAgICAgc3NpemVfdCB2YWwgPSB2bGNfc3RyZWFtX1BlZWsocy0+cF9zb3VyY2UsICZwX3BlZWssIG4pOworQEAgLTY2LDcgKzY2LDcgQEAgc3RhdGljIGludCB2bGNsdWFfZGVtdXhfcGVlayggbHVhX1N0YXRlCisgc3RhdGljIGludCB2bGNsdWFfZGVtdXhfcmVhZCggbHVhX1N0YXRlICpMICkKICB7Ci0gICAgIGRlbXV4X3QgKnBfZGVtdXggPSAoZGVtdXhfdCAqKXZsY2x1YV9nZXRfdGhpcyggTCApOwotICAgICBjb25zdCB1aW50OF90ICpwX3JlYWQ7CisgICAgIHN0cmVhbV90ICpzID0gKHN0cmVhbV90ICopdmxjbHVhX2dldF90aGlzKEwpOwogLSAgICBpbnQgbiA9IGx1YUxfY2hlY2tpbnQoIEwsIDEgKTsKICsgICAgaW50IG4gPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApOwotICAgICBpbnQgaV9yZWFkID0gc3RyZWFtX1BlZWsoIHBfZGVtdXgtPnMsICZwX3JlYWQsIG4gKTsKKyAgICAgY2hhciAqYnVmID0gbWFsbG9jKG4pOwogIAotICAgICBpZiggaV9yZWFkID4gMCApCi1JbmRleDogdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvY29uZmlndXJhdGlvbi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gdmxjLTIuMi4xLm9yaWcvbW9kdWxlcy9sdWEvbGlicy9jb25maWd1cmF0aW9uLmMKLSsrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9jb25maWd1cmF0aW9uLmMKLUBAIC04NCw3ICs4NCw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX2NvbmZpZ19zZXQoIGx1YV9TdGF0ZQotICAgICAgICAgICAgIGJyZWFrOwotIAotICAgICAgICAgY2FzZSBWTENfVkFSX0lOVEVHRVI6Ci0tICAgICAgICAgICAgY29uZmlnX1B1dEludCggcF90aGlzLCBwc3pfbmFtZSwgbHVhTF9jaGVja2ludCggTCwgMiApICk7Ci0rICAgICAgICAgICAgY29uZmlnX1B1dEludCggcF90aGlzLCBwc3pfbmFtZSwgbHVhTF9jaGVja2ludGVnZXIoIEwsIDIgKSApOwotICAgICAgICAgICAgIGJyZWFrOwotIAotICAgICAgICAgY2FzZSBWTENfVkFSX0JPT0w6Ci1JbmRleDogdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvbmV0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL25ldC5jCi0rKysgdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvbmV0LmMKLUBAIC0yMDIsNyArMjAyLDcgQEAgc3RhdGljIGludCB2bGNsdWFfbmV0X2xpc3Rlbl90Y3AoIGx1YV9TdAorICAgICBpZiAoYnVmICE9IE5VTEwpCistLS0gYS9tb2R1bGVzL2x1YS9saWJzL25ldC5jCisrKysgYi9tb2R1bGVzL2x1YS9saWJzL25ldC5jCitAQCAtMTc5LDcgKzE3OSw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX25ldF9saXN0ZW5fdGNwKCBsdWFfU3QKICB7CiAgICAgIHZsY19vYmplY3RfdCAqcF90aGlzID0gdmxjbHVhX2dldF90aGlzKCBMICk7CiAgICAgIGNvbnN0IGNoYXIgKnBzel9ob3N0ID0gbHVhTF9jaGVja3N0cmluZyggTCwgMSApOwpAQCAtNTMsMTYgKzM2LDE2IEBACiAgICAgIGludCAqcGlfZmQgPSBuZXRfTGlzdGVuVENQKCBwX3RoaXMsIHBzel9ob3N0LCBpX3BvcnQgKTsKICAgICAgaWYoIHBpX2ZkID09IE5VTEwgKQogICAgICAgICAgcmV0dXJuIGx1YUxfZXJyb3IoIEwsICJDYW5ub3QgbGlzdGVuIG9uICVzOiVkIiwgcHN6X2hvc3QsIGlfcG9ydCApOwotQEAgLTI3NCw3ICsyNzQsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9uZXRfY29ubmVjdF90Y3AoIGx1YV9TCitAQCAtMjUxLDcgKzI1MSw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX25ldF9jb25uZWN0X3RjcCggbHVhX1MKICB7CiAgICAgIHZsY19vYmplY3RfdCAqcF90aGlzID0gdmxjbHVhX2dldF90aGlzKCBMICk7CiAgICAgIGNvbnN0IGNoYXIgKnBzel9ob3N0ID0gbHVhTF9jaGVja3N0cmluZyggTCwgMSApOwogLSAgICBpbnQgaV9wb3J0ID0gbHVhTF9jaGVja2ludCggTCwgMiApOwogKyAgICBpbnQgaV9wb3J0ID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIDIgKTsKLSAgICAgaW50IGlfZmQgPSBuZXRfQ29ubmVjdCggcF90aGlzLCBwc3pfaG9zdCwgaV9wb3J0LCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1AgKTsKKyAgICAgaW50IGlfZmQgPSBuZXRfQ29ubmVjdFRDUCggcF90aGlzLCBwc3pfaG9zdCwgaV9wb3J0ICk7CiAgICAgIGx1YV9wdXNoaW50ZWdlciggTCwgdmxjbHVhX2ZkX21hcF9zYWZlKCBMLCBpX2ZkICkgKTsKICAgICAgcmV0dXJuIDE7Ci1AQCAtMjgyLDI2ICsyODIsMjYgQEAgc3RhdGljIGludCB2bGNsdWFfbmV0X2Nvbm5lY3RfdGNwKCBsdWFfUworQEAgLTI1OSwxNCArMjU5LDE0IEBAIHN0YXRpYyBpbnQgdmxjbHVhX25ldF9jb25uZWN0X3RjcCggbHVhX1MKICAKICBzdGF0aWMgaW50IHZsY2x1YV9uZXRfY2xvc2UoIGx1YV9TdGF0ZSAqTCApCiAgewpAQCAtNzksMjIgKzYyLDI1IEBACiAgICAgIHNpemVfdCBpX2xlbjsKICAgICAgY29uc3QgY2hhciAqcHN6X2J1ZmZlciA9IGx1YUxfY2hlY2tsc3RyaW5nKCBMLCAyLCAmaV9sZW4gKTsKICAKLS0gICAgaV9sZW4gPSBsdWFMX29wdGludCggTCwgMywgaV9sZW4gKTsKLSsgICAgaV9sZW4gPSBsdWFMX29wdGludGVnZXIoIEwsIDMsIGlfbGVuICk7Ci0gICAgIGx1YV9wdXNoaW50ZWdlciggTCwgKGZkICE9IC0xKSA/IHNlbmQoIGZkLCBwc3pfYnVmZmVyLCBpX2xlbiwgMCApIDogLTEgKTsKLSAgICAgcmV0dXJuIDE7Ci0gfQorQEAgLTI3OCw3ICsyNzgsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9uZXRfc2VuZCggbHVhX1N0YXRlICpMCiAgCiAgc3RhdGljIGludCB2bGNsdWFfbmV0X3JlY3YoIGx1YV9TdGF0ZSAqTCApCiAgewogLSAgICBpbnQgZmQgPSB2bGNsdWFfZmRfZ2V0KCBMLCBsdWFMX2NoZWNraW50KCBMLCAxICkgKTsKLS0gICAgc2l6ZV90IGlfbGVuID0gbHVhTF9vcHRpbnQoIEwsIDIsIDEgKTsKICsgICAgaW50IGZkID0gdmxjbHVhX2ZkX2dldCggTCwgbHVhTF9jaGVja2ludGVnZXIoIEwsIDEgKSApOwotKyAgICBzaXplX3QgaV9sZW4gPSBsdWFMX29wdGludGVnZXIoIEwsIDIsIDEgKTsKKyAgICAgc2l6ZV90IGlfbGVuID0gKHNpemVfdClsdWFMX29wdGludGVnZXIoIEwsIDIsIDEgKTsKICAgICAgY2hhciBwc3pfYnVmZmVyW2lfbGVuXTsKICAKLSAgICAgc3NpemVfdCBpX3JldCA9IChmZCAhPSAtMSkgPyByZWN2KCBmZCwgcHN6X2J1ZmZlciwgaV9sZW4sIDAgKSA6IC0xOwotQEAgLTM4MiwxOSArMzgyLDE5IEBAIHN0YXRpYyBpbnQgdmxjbHVhX2ZkX29wZW4oIGx1YV9TdGF0ZSAqTAorQEAgLTMxMiw3ICszMTIsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9uZXRfcG9sbCggbHVhX1N0YXRlICpMCisgICAgIGx1YV9wdXNobmlsKCBMICk7CisgICAgIGZvciggaW50IGkgPSAwOyBsdWFfbmV4dCggTCwgMSApOyBpKysgKQorICAgICB7CistICAgICAgICBsdWFmZHNbaV0gPSBsdWFMX2NoZWNraW50KCBMLCAtMiApOworKyAgICAgICAgbHVhZmRzW2ldID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIC0yICk7CisgICAgICAgICBwX2Zkc1tpXS5mZCA9IHZsY2x1YV9mZF9nZXQoIEwsIGx1YWZkc1tpXSApOworICAgICAgICAgcF9mZHNbaV0uZXZlbnRzID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIC0xICk7CisgICAgICAgICBwX2Zkc1tpXS5ldmVudHMgJj0gUE9MTElOIHwgUE9MTE9VVCB8IFBPTExQUkk7CitAQCAtMzYwLDcgKzM2MCw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX2ZkX29wZW4oIGx1YV9TdGF0ZSAqTAogICNpZm5kZWYgX1dJTjMyCiAgc3RhdGljIGludCB2bGNsdWFfZmRfd3JpdGUoIGx1YV9TdGF0ZSAqTCApCiAgewpAQCAtMTAzLDQ3ICs4OSwxOCBAQAogICAgICBzaXplX3QgaV9sZW47CiAgICAgIGNvbnN0IGNoYXIgKnBzel9idWZmZXIgPSBsdWFMX2NoZWNrbHN0cmluZyggTCwgMiwgJmlfbGVuICk7CiAgCi0tICAgIGlfbGVuID0gbHVhTF9vcHRpbnQoIEwsIDMsIGlfbGVuICk7Ci0rICAgIGlfbGVuID0gbHVhTF9vcHRpbnRlZ2VyKCBMLCAzLCBpX2xlbiApOwotICAgICBsdWFfcHVzaGludGVnZXIoIEwsIChmZCAhPSAtMSkgPyB3cml0ZSggZmQsIHBzel9idWZmZXIsIGlfbGVuICkgOiAtMSApOwotICAgICByZXR1cm4gMTsKLSB9CitAQCAtMzcxLDcgKzM3MSw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX2ZkX3dyaXRlKCBsdWFfU3RhdGUgKkwKICAKICBzdGF0aWMgaW50IHZsY2x1YV9mZF9yZWFkKCBsdWFfU3RhdGUgKkwgKQogIHsKIC0gICAgaW50IGZkID0gdmxjbHVhX2ZkX2dldCggTCwgbHVhTF9jaGVja2ludCggTCwgMSApICk7Ci0tICAgIHNpemVfdCBpX2xlbiA9IGx1YUxfb3B0aW50KCBMLCAyLCAxICk7CiArICAgIGludCBmZCA9IHZsY2x1YV9mZF9nZXQoIEwsIGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAxICkgKTsKLSsgICAgc2l6ZV90IGlfbGVuID0gbHVhTF9vcHRpbnRlZ2VyKCBMLCAyLCAxICk7CisgICAgIHNpemVfdCBpX2xlbiA9IChzaXplX3QpbHVhTF9vcHRpbnRlZ2VyKCBMLCAyLCAxICk7CiAgICAgIGNoYXIgcHN6X2J1ZmZlcltpX2xlbl07CiAgCi0gICAgIHNzaXplX3QgaV9yZXQgPSAoZmQgIT0gLTEpID8gcmVhZCggZmQsIHBzel9idWZmZXIsIGlfbGVuICkgOiAtMTsKLUluZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9vc2QuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2xpYnMvb3NkLmMKLSsrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9vc2QuYwotQEAgLTY3LDcgKzY3LDcgQEAgc3RhdGljIGludCB2bGNsdWFfb3NkX2ljb24oIGx1YV9TdGF0ZSAqTAotIHsKLSAgICAgY29uc3QgY2hhciAqcHN6X2ljb24gPSBsdWFMX2NoZWNrc3RyaW5nKCBMLCAxICk7Ci0gICAgIGludCBpX2ljb24gPSB2bGNfb3NkX2ljb25fZnJvbV9zdHJpbmcoIHBzel9pY29uICk7Ci0tICAgIGludCBpX2NoYW4gPSBsdWFMX29wdGludCggTCwgMiwgU1BVX0RFRkFVTFRfQ0hBTk5FTCApOwotKyAgICBpbnQgaV9jaGFuID0gbHVhTF9vcHRpbnRlZ2VyKCBMLCAyLCBTUFVfREVGQVVMVF9DSEFOTkVMICk7Ci0gICAgIGlmKCAhaV9pY29uICkKLSAgICAgICAgIHJldHVybiBsdWFMX2Vycm9yKCBMLCAiXCIlc1wiIGlzIG5vdCBhIHZhbGlkIG9zZCBpY29uLiIsIHBzel9pY29uICk7Ci0gCi1AQCAtMTE0LDkgKzExNCw5IEBAIHN0YXRpYyBpbnQgdmxjX29zZF9wb3NpdGlvbl9mcm9tX3N0cmluZygKLSBzdGF0aWMgaW50IHZsY2x1YV9vc2RfbWVzc2FnZSggbHVhX1N0YXRlICpMICkKLSB7Ci0gICAgIGNvbnN0IGNoYXIgKnBzel9tZXNzYWdlID0gbHVhTF9jaGVja3N0cmluZyggTCwgMSApOwotLSAgICBpbnQgaV9jaGFuID0gbHVhTF9vcHRpbnQoIEwsIDIsIFNQVV9ERUZBVUxUX0NIQU5ORUwgKTsKLSsgICAgaW50IGlfY2hhbiA9IGx1YUxfb3B0aW50ZWdlciggTCwgMiwgU1BVX0RFRkFVTFRfQ0hBTk5FTCApOwotICAgICBjb25zdCBjaGFyICpwc3pfcG9zaXRpb24gPSBsdWFMX29wdHN0cmluZyggTCwgMywgInRvcC1yaWdodCIgKTsKLS0gICAgbXRpbWVfdCBkdXJhdGlvbiA9IGx1YUxfb3B0aW50KCBMLCA0LCAxMDAwMDAwICk7Ci0rICAgIG10aW1lX3QgZHVyYXRpb24gPSBsdWFMX29wdGludGVnZXIoIEwsIDQsIDEwMDAwMDAgKTsKLSAKLSAgICAgaW5wdXRfdGhyZWFkX3QgKnBfaW5wdXQgPSB2bGNsdWFfZ2V0X2lucHV0X2ludGVybmFsKCBMICk7Ci0gICAgIGlmKCBwX2lucHV0ICkKLUBAIC0xNTQsMTAgKzE1NCwxMCBAQCBzdGF0aWMgaW50IHZsY19vc2Rfc2xpZGVyX3R5cGVfZnJvbV9zdHJpCistLS0gYS9tb2R1bGVzL2x1YS9saWJzL29zZC5jCisrKysgYi9tb2R1bGVzL2x1YS9saWJzL29zZC5jCitAQCAtMTU0LDcgKzE1NCw3IEBAIHN0YXRpYyBpbnQgdmxjX29zZF9zbGlkZXJfdHlwZV9mcm9tX3N0cmkKICAKICBzdGF0aWMgaW50IHZsY2x1YV9vc2Rfc2xpZGVyKCBsdWFfU3RhdGUgKkwgKQogIHsKQEAgLTE1MSwxMSArMTA4LDcgQEAKICsgICAgaW50IGlfcG9zaXRpb24gPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApOwogICAgICBjb25zdCBjaGFyICpwc3pfdHlwZSA9IGx1YUxfY2hlY2tzdHJpbmcoIEwsIDIgKTsKICAgICAgaW50IGlfdHlwZSA9IHZsY19vc2Rfc2xpZGVyX3R5cGVfZnJvbV9zdHJpbmcoIHBzel90eXBlICk7Ci0tICAgIGludCBpX2NoYW4gPSBsdWFMX29wdGludCggTCwgMywgU1BVX0RFRkFVTFRfQ0hBTk5FTCApOwotKyAgICBpbnQgaV9jaGFuID0gbHVhTF9vcHRpbnRlZ2VyKCBMLCAzLCBTUFVfREVGQVVMVF9DSEFOTkVMICk7Ci0gICAgIGlmKCAhaV90eXBlICkKLSAgICAgICAgIHJldHVybiBsdWFMX2Vycm9yKCBMLCAiXCIlc1wiIGlzIG5vdCBhIHZhbGlkIHNsaWRlciB0eXBlLiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHN6X3R5cGUgKTsKKyAgICAgaW50IGlfY2hhbiA9IChpbnQpbHVhTF9vcHRpbnRlZ2VyKCBMLCAzLCBWT1VUX1NQVV9DSEFOTkVMX09TRCApOwogQEAgLTE5OCw3ICsxOTgsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9zcHVfY2hhbm5lbF9yZWdpc3RlcigKICAKICBzdGF0aWMgaW50IHZsY2x1YV9zcHVfY2hhbm5lbF9jbGVhciggbHVhX1N0YXRlICpMICkKQEAgLTE2NSwxMCArMTE4LDggQEAKICAgICAgaW5wdXRfdGhyZWFkX3QgKnBfaW5wdXQgPSB2bGNsdWFfZ2V0X2lucHV0X2ludGVybmFsKCBMICk7CiAgICAgIGlmKCAhcF9pbnB1dCApCiAgICAgICAgICByZXR1cm4gbHVhTF9lcnJvciggTCwgIlVuYWJsZSB0byBmaW5kIGlucHV0LiIgKTsKLUluZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9wbGF5bGlzdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gdmxjLTIuMi4xLm9yaWcvbW9kdWxlcy9sdWEvbGlicy9wbGF5bGlzdC5jCi0rKysgdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvcGxheWxpc3QuYworLS0tIGEvbW9kdWxlcy9sdWEvbGlicy9wbGF5bGlzdC5jCisrKysgYi9tb2R1bGVzL2x1YS9saWJzL3BsYXlsaXN0LmMKIEBAIC02OSw3ICs2OSw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX3BsYXlsaXN0X25leHQoIGx1YV9TdGEKICAKICBzdGF0aWMgaW50IHZsY2x1YV9wbGF5bGlzdF9za2lwKCBsdWFfU3RhdGUgKiBMICkKQEAgLTE4NiwxNyArMTM3LDE3IEBACiArICAgIGludCBpX2lkID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIDEgKTsKICAgICAgcGxheWxpc3RfdCAqcF9wbGF5bGlzdCA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKICAgICAgUExfTE9DSzsKLSAgICAgaW50IGlfcmV0ID0gcGxheWxpc3RfQ29udHJvbCggcF9wbGF5bGlzdCwgUExBWUxJU1RfVklFV1BMQVksCi1AQCAtMTM5LDcgKzEzOSw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX3BsYXlsaXN0X2dvdG9pdGVtKCBsdWEKKyAgICAgcGxheWxpc3RfVmlld1BsYXkoIHBfcGxheWxpc3QsIE5VTEwsCitAQCAtMTM4LDcgKzEzOCw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX3BsYXlsaXN0X2dvdG9pdGVtKCBsdWEKICAKICBzdGF0aWMgaW50IHZsY2x1YV9wbGF5bGlzdF9kZWxldGUoIGx1YV9TdGF0ZSAqIEwgKQogIHsKIC0gICAgaW50IGlfaWQgPSBsdWFMX2NoZWNraW50KCBMLCAxICk7CiArICAgIGludCBpX2lkID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIDEgKTsKICAgICAgcGxheWxpc3RfdCAqcF9wbGF5bGlzdCA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKKyAKICAgICAgUExfTE9DSzsKLSAgICAgcGxheWxpc3RfaXRlbV90ICpwX2l0ZW0gPSBwbGF5bGlzdF9JdGVtR2V0QnlJZCggcF9wbGF5bGlzdCwgaV9pZCApOwotQEAgLTE1NSw4ICsxNTUsOCBAQCBzdGF0aWMgaW50IHZsY2x1YV9wbGF5bGlzdF9kZWxldGUoIGx1YV9TCitAQCAtMTUyLDggKzE1Miw4IEBAIHN0YXRpYyBpbnQgdmxjbHVhX3BsYXlsaXN0X2RlbGV0ZSggbHVhX1MKICAKICBzdGF0aWMgaW50IHZsY2x1YV9wbGF5bGlzdF9tb3ZlKCBsdWFfU3RhdGUgKiBMICkKICB7CkBAIC0yMDcsMTEgKzE1OCw5IEBACiAgICAgIHBsYXlsaXN0X3QgKnBfcGxheWxpc3QgPSB2bGNsdWFfZ2V0X3BsYXlsaXN0X2ludGVybmFsKCBMICk7CiAgICAgIFBMX0xPQ0s7CiAgICAgIHBsYXlsaXN0X2l0ZW1fdCAqcF9pdGVtID0gcGxheWxpc3RfSXRlbUdldEJ5SWQoIHBfcGxheWxpc3QsIGlfaXRlbSApOwotSW5kZXg6IHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9saWJzL3N0cmVhbS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gdmxjLTIuMi4xLm9yaWcvbW9kdWxlcy9sdWEvbGlicy9zdHJlYW0uYwotKysrIHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9saWJzL3N0cmVhbS5jCi1AQCAtMTAxLDcgKzEwMSw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX3N0cmVhbV9yZWFkKCBsdWFfU3RhdGUKKy0tLSBhL21vZHVsZXMvbHVhL2xpYnMvc3RyZWFtLmMKKysrKyBiL21vZHVsZXMvbHVhL2xpYnMvc3RyZWFtLmMKK0BAIC0xMjMsNyArMTIzLDcgQEAgc3RhdGljIGludCB2bGNsdWFfc3RyZWFtX3JlYWQoIGx1YV9TdGF0ZQogIHsKICAgICAgaW50IGlfcmVhZDsKICAgICAgc3RyZWFtX3QgKipwcF9zdHJlYW0gPSAoc3RyZWFtX3QgKiopbHVhTF9jaGVja3VkYXRhKCBMLCAxLCAic3RyZWFtIiApOwpAQCAtMjIwLDIzICsxNjksOCBAQAogICAgICB1aW50OF90ICpwX3JlYWQgPSBtYWxsb2MoIG4gKTsKICAgICAgaWYoICFwX3JlYWQgKSByZXR1cm4gdmxjbHVhX2Vycm9yKCBMICk7CiAgCi1JbmRleDogdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvdmFyaWFibGVzLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL3ZhcmlhYmxlcy5jCi0rKysgdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvdmFyaWFibGVzLmMKLUBAIC0xMDMsNyArMTAzLDcgQEAgc3RhdGljIGludCB2bGNsdWFfdG92YWx1ZSggbHVhX1N0YXRlICpMLAotICAgICAgICAgICAgIHZhbC0+Yl9ib29sID0gbHVhTF9jaGVja2Jvb2xlYW4oIEwsIC0xICk7Ci0gICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICBjYXNlIFZMQ19WQVJfSU5URUdFUjoKLS0gICAgICAgICAgICB2YWwtPmlfaW50ID0gbHVhTF9jaGVja2ludCggTCwgLTEgKTsKLSsgICAgICAgICAgICB2YWwtPmlfaW50ID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIC0xICk7Ci0gICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICBjYXNlIFZMQ19WQVJfU1RSSU5HOgotICAgICAgICAgICAgIHZhbC0+cHN6X3N0cmluZyA9IChjaGFyKilsdWFMX2NoZWNrc3RyaW5nKCBMLCAtMSApOyAvKiBYWFg6IEJld2FyZSwgdGhpcyBvbmx5IHN0YXlzIHZhbGlkIGFzIGxvbmcgYXMgKEwsLTEpIHN0YXlzIGluIHRoZSBzdGFjayAqLwotSW5kZXg6IHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9saWJzL3ZvbHVtZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gdmxjLTIuMi4xLm9yaWcvbW9kdWxlcy9sdWEvbGlicy92b2x1bWUuYwotKysrIHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9saWJzL3ZvbHVtZS5jCistLS0gYS9tb2R1bGVzL2x1YS9saWJzL3ZvbHVtZS5jCisrKysgYi9tb2R1bGVzL2x1YS9saWJzL3ZvbHVtZS5jCiBAQCAtNDgsNyArNDgsNyBAQAogIHN0YXRpYyBpbnQgdmxjbHVhX3ZvbHVtZV9zZXQoIGx1YV9TdGF0ZSAqTCApCiAgewpAQCAtMjQ2LDM0ICsxODAsNTQgQEAKICAgICAgaWYoIGlfdm9sdW1lIDwgMCApCiAgICAgICAgICBpX3ZvbHVtZSA9IDA7CiAgICAgIGludCBpX3JldCA9IHBsYXlsaXN0X1ZvbHVtZVNldCggcF90aGlzLCBpX3ZvbHVtZS8oZmxvYXQpQU9VVF9WT0xVTUVfREVGQVVMVCApOwotQEAgLTY4LDcgKzY4LDcgQEAgc3RhdGljIGludCB2bGNsdWFfdm9sdW1lX3VwKCBsdWFfU3RhdGUgKgotICAgICBwbGF5bGlzdF90ICpwX3RoaXMgPSB2bGNsdWFfZ2V0X3BsYXlsaXN0X2ludGVybmFsKCBMICk7Ci0gICAgIGZsb2F0IHZvbHVtZTsKLSAKLS0gICAgcGxheWxpc3RfVm9sdW1lVXAoIHBfdGhpcywgbHVhTF9vcHRpbnQoIEwsIDEsIDEgKSwgJnZvbHVtZSApOwotKyAgICBwbGF5bGlzdF9Wb2x1bWVVcCggcF90aGlzLCBsdWFMX29wdGludGVnZXIoIEwsIDEsIDEgKSwgJnZvbHVtZSApOwotICAgICBsdWFfcHVzaG51bWJlciggTCwgbHJvdW5kZih2b2x1bWUgKiBBT1VUX1ZPTFVNRV9ERUZBVUxUKSApOwotICAgICByZXR1cm4gMTsKKy0tLSBhL21vZHVsZXMvbHVhL2xpYnMvZGlhbG9nLmMKKysrKyBiL21vZHVsZXMvbHVhL2xpYnMvZGlhbG9nLmMKK0BAIC0zODIsNyArMzgyLDcgQEAgc3RhdGljIGludCBsdWFfR2V0RGlhbG9nVXBkYXRlKCBsdWFfU3RhdAorICAgICAvKiBSZWFkIGVudHJ5IGluIHRoZSBMdWEgcmVnaXN0cnkgKi8KKyAgICAgbHVhX3B1c2hsaWdodHVzZXJkYXRhKCBMLCAodm9pZCopICZrZXlfdXBkYXRlICk7CisgICAgIGx1YV9nZXR0YWJsZSggTCwgTFVBX1JFR0lTVFJZSU5ERVggKTsKKy0gICAgcmV0dXJuIGx1YUxfY2hlY2tpbnQoIEwsIC0xICk7CisrICAgIHJldHVybiBsdWFMX2NoZWNraW50ZWdlciggTCwgLTEgKTsKICB9Ci1AQCAtNzgsNyArNzgsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV92b2x1bWVfZG93biggbHVhX1N0YXRlCi0gICAgIHBsYXlsaXN0X3QgKnBfdGhpcyA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKLSAgICAgZmxvYXQgdm9sdW1lOwogIAotLSAgICBwbGF5bGlzdF9Wb2x1bWVEb3duKCBwX3RoaXMsIGx1YUxfb3B0aW50KCBMLCAxLCAxICksICZ2b2x1bWUgKTsKLSsgICAgcGxheWxpc3RfVm9sdW1lRG93biggcF90aGlzLCBsdWFMX29wdGludGVnZXIoIEwsIDEsIDEgKSwgJnZvbHVtZSApOwotICAgICBsdWFfcHVzaG51bWJlciggTCwgbHJvdW5kZih2b2x1bWUgKiBBT1VUX1ZPTFVNRV9ERUZBVUxUKSApOwotICAgICByZXR1cm4gMTsKLSB9Ci1JbmRleDogdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvd2luLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL3dpbi5jCi0rKysgdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvd2luLmMKLUBAIC0xMjMsNyArMTIzLDcgQEAgc3RhdGljIGludCB2bGNsdWFfY29uc29sZV9pbml0KCBsdWFfU3RhdAorIC8qKiBNYW51YWxseSB1cGRhdGUgYSBkaWFsb2cKK0BAIC01NzMsMjIgKzU3MywyMiBAQCBzdGF0aWMgaW50IHZsY2x1YV9jcmVhdGVfd2lkZ2V0X2lubmVyKCBsCiAgCi0gc3RhdGljIGludCB2bGNsdWFfY29uc29sZV93YWl0KCBsdWFfU3RhdGUgKkwgKQotIHsKLS0gICAgaW50IGlfdGltZW91dCA9IGx1YUxfb3B0aW50KCBMLCAxLCAwICk7Ci0rICAgIGludCBpX3RpbWVvdXQgPSBsdWFMX29wdGludGVnZXIoIEwsIDEsIDAgKTsKLSAgICAgRFdPUkQgc3RhdHVzID0gV2FpdEZvclNpbmdsZU9iamVjdCggR2V0Q29uc29sZSggTCApLCBpX3RpbWVvdXQgKTsKLSAgICAgbHVhX3B1c2hib29sZWFuKCBMLCBzdGF0dXMgPT0gV0FJVF9PQkpFQ1RfMCApOwotICAgICByZXR1cm4gMTsKKyAgICAgLyogU2V0IGNvbW1vbiBhcmd1bWVudHM6IGNvbCwgcm93LCBoc3BhbiwgdnNwYW4sIHdpZHRoLCBoZWlnaHQgKi8KKyAgICAgaWYoIGx1YV9pc251bWJlciggTCwgYXJnICkgKQorLSAgICAgICAgcF93aWRnZXQtPmlfY29sdW1uID0gbHVhTF9jaGVja2ludCggTCwgYXJnICk7CisrICAgICAgICBwX3dpZGdldC0+aV9jb2x1bW4gPSBsdWFMX2NoZWNraW50ZWdlciggTCwgYXJnICk7CisgICAgIGVsc2UgZ290byBlbmRfb2ZfYXJnczsKKyAgICAgaWYoIGx1YV9pc251bWJlciggTCwgKythcmcgKSApCistICAgICAgICBwX3dpZGdldC0+aV9yb3cgPSBsdWFMX2NoZWNraW50KCBMLCBhcmcgKTsKKysgICAgICAgIHBfd2lkZ2V0LT5pX3JvdyA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCBhcmcgKTsKKyAgICAgZWxzZSBnb3RvIGVuZF9vZl9hcmdzOworICAgICBpZiggbHVhX2lzbnVtYmVyKCBMLCArK2FyZyApICkKKy0gICAgICAgIHBfd2lkZ2V0LT5pX2hvcml6X3NwYW4gPSBsdWFMX2NoZWNraW50KCBMLCBhcmcgKTsKKysgICAgICAgIHBfd2lkZ2V0LT5pX2hvcml6X3NwYW4gPSBsdWFMX2NoZWNraW50ZWdlciggTCwgYXJnICk7CisgICAgIGVsc2UgZ290byBlbmRfb2ZfYXJnczsKKyAgICAgaWYoIGx1YV9pc251bWJlciggTCwgKythcmcgKSApCistICAgICAgICBwX3dpZGdldC0+aV92ZXJ0X3NwYW4gPSBsdWFMX2NoZWNraW50KCBMLCBhcmcgKTsKKysgICAgICAgIHBfd2lkZ2V0LT5pX3ZlcnRfc3BhbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCBhcmcgKTsKKyAgICAgZWxzZSBnb3RvIGVuZF9vZl9hcmdzOworICAgICBpZiggbHVhX2lzbnVtYmVyKCBMLCArK2FyZyApICkKKy0gICAgICAgIHBfd2lkZ2V0LT5pX3dpZHRoID0gbHVhTF9jaGVja2ludCggTCwgYXJnICk7CisrICAgICAgICBwX3dpZGdldC0+aV93aWR0aCA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCBhcmcgKTsKKyAgICAgZWxzZSBnb3RvIGVuZF9vZl9hcmdzOworICAgICBpZiggbHVhX2lzbnVtYmVyKCBMLCArK2FyZyApICkKKy0gICAgICAgIHBfd2lkZ2V0LT5pX2hlaWdodCA9IGx1YUxfY2hlY2tpbnQoIEwsIGFyZyApOworKyAgICAgICAgcF93aWRnZXQtPmlfaGVpZ2h0ID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIGFyZyApOworICAgICBlbHNlIGdvdG8gZW5kX29mX2FyZ3M7CisgCisgZW5kX29mX2FyZ3M6CistLS0gYS9tb2R1bGVzL2x1YS9saWJzL2lvLmMKKysrKyBiL21vZHVsZXMvbHVhL2xpYnMvaW8uYworQEAgLTEzOSw3ICsxMzksNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9pb19maWxlX3NlZWsoIGx1YV9TdGF0CisgICAgIGNvbnN0IGNoYXIqIHBzel9tb2RlID0gbHVhTF9vcHRzdHJpbmcoIEwsIDIsIE5VTEwgKTsKKyAgICAgaWYgKCBwc3pfbW9kZSAhPSBOVUxMICkKKyAgICAgeworLSAgICAgICAgbG9uZyBpX29mZnNldCA9IGx1YUxfb3B0bG9uZyggTCwgMywgMCApOworKyAgICAgICAgbG9uZyBpX29mZnNldCA9IChsb25nKWx1YUxfb3B0aW50ZWdlciggTCwgMywgMCApOworICAgICAgICAgaW50IGlfbW9kZTsKKyAgICAgICAgIGlmICggIXN0cmNtcCggcHN6X21vZGUsICJzZXQiICkgKQorICAgICAgICAgICAgIGlfbW9kZSA9IFNFRUtfU0VUOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDktQXZjb2RlYy1zd3NjYWxlLXVzZS1BVl9QSVhfRk1ULWNvbnNpc3RlbnRseS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA5LUF2Y29kZWMtc3dzY2FsZS11c2UtQVZfUElYX0ZNVC1jb25zaXN0ZW50bHkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiM2JhNzEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDktQXZjb2RlYy1zd3NjYWxlLXVzZS1BVl9QSVhfRk1ULWNvbnNpc3RlbnRseS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5MyArMCwwIEBACi1Gcm9tIDQyNzczMmEzNzk4OTM0OTFlYWMyN2FlYWRmZjBlMGIzZTI1MmQxNTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKZWFuLUJhcHRpc3RlIEtlbXBmIDxqYkB2aWRlb2xhbi5vcmc+Ci1EYXRlOiBNb24sIDMxIEF1ZyAyMDE1IDA4OjE5OjAwICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIEF2Y29kZWMvc3dzY2FsZTogdXNlIEFWX1BJWF9GTVQgY29uc2lzdGVudGx5Ci1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGZhYTdiZDM1N2IxZjllMDdhNmZmYmM0NTFhMTg4NzczZmFkN2EyNzUpCi1TaWduZWQtb2ZmLWJ5OiBSYWZhw6tsIENhcnLDqSA8ZnVubWFuQHZpZGVvbGFuLm9yZz4KLQotQ29uZmxpY3RzOgotCW1vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYwotCW1vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCi0tLS0KLSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMgfCAxMDQgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYyAgfCAgMTAgKystLQotIG1vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYyB8ICAyOCArKysrKy0tLS0tLQotIDMgZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgNzEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMKLWluZGV4IDM5MzM2NGIuLmMzMWY5M2QgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMKLSsrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYwotQEAgLTYyLDc3ICs2Miw3NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0Ci0gfSBjaHJvbWFfdGFibGVbXSA9Ci0gewotICAgICAvKiBQbGFuYXIgWVVWIGZvcm1hdHMgKi8KLS0gICAge1ZMQ19DT0RFQ19JNDQ0LCBQSVhfRk1UX1lVVjQ0NFAsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19KNDQ0LCBQSVhfRk1UX1lVVko0NDRQLCAwLCAwLCAwIH0sCi0tCi0tICAgIHtWTENfQ09ERUNfSTQ0MCwgUElYX0ZNVF9ZVVY0NDBQLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSjQ0MCwgUElYX0ZNVF9ZVVZKNDQwUCwgMCwgMCwgMCB9LAotLQotLSAgICB7VkxDX0NPREVDX0k0MjIsIFBJWF9GTVRfWVVWNDIyUCwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0NPREVDX0o0MjIsIFBJWF9GTVRfWVVWSjQyMlAsIDAsIDAsIDAgfSwKLS0KLS0gICAge1ZMQ19DT0RFQ19JNDIwLCBQSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19ZVjEyLCBQSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19GT1VSQ0MoJ0knLCdZJywnVScsJ1YnKSwgUElYX0ZNVF9ZVVY0MjBQLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSjQyMCwgUElYX0ZNVF9ZVVZKNDIwUCwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0NPREVDX0k0MTEsIFBJWF9GTVRfWVVWNDExUCwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0NPREVDX0k0MTAsIFBJWF9GTVRfWVVWNDEwUCwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0ZPVVJDQygnWScsJ1YnLCdVJywnOScpLCBQSVhfRk1UX1lVVjQxMFAsIDAsIDAsIDAgfSwKLS0KLS0gICAge1ZMQ19GT1VSQ0MoJ04nLCdWJywnMScsJzInKSwgUElYX0ZNVF9OVjEyLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfRk9VUkNDKCdOJywnVicsJzInLCcxJyksIFBJWF9GTVRfTlYyMSwgMCwgMCwgMCB9LAotLQotLSAgICB7VkxDX0NPREVDX0k0MjBfOUwsIFBJWF9GTVRfWVVWNDIwUDlMRSwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0NPREVDX0k0MjBfOUIsIFBJWF9GTVRfWVVWNDIwUDlCRSwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0NPREVDX0k0MjBfMTBMLCBQSVhfRk1UX1lVVjQyMFAxMExFLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSTQyMF8xMEIsIFBJWF9GTVRfWVVWNDIwUDEwQkUsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19JNDQ0LCBBVl9QSVhfRk1UX1lVVjQ0NFAsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19KNDQ0LCBBVl9QSVhfRk1UX1lVVko0NDRQLCAwLCAwLCAwIH0sCi0rCi0rICAgIHtWTENfQ09ERUNfSTQ0MCwgQVZfUElYX0ZNVF9ZVVY0NDBQLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSjQ0MCwgQVZfUElYX0ZNVF9ZVVZKNDQwUCwgMCwgMCwgMCB9LAotKwotKyAgICB7VkxDX0NPREVDX0k0MjIsIEFWX1BJWF9GTVRfWVVWNDIyUCwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0o0MjIsIEFWX1BJWF9GTVRfWVVWSjQyMlAsIDAsIDAsIDAgfSwKLSsKLSsgICAge1ZMQ19DT0RFQ19JNDIwLCBBVl9QSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19ZVjEyLCBBVl9QSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19GT1VSQ0MoJ0knLCdZJywnVScsJ1YnKSwgQVZfUElYX0ZNVF9ZVVY0MjBQLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSjQyMCwgQVZfUElYX0ZNVF9ZVVZKNDIwUCwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0MTEsIEFWX1BJWF9GTVRfWVVWNDExUCwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0MTAsIEFWX1BJWF9GTVRfWVVWNDEwUCwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0ZPVVJDQygnWScsJ1YnLCdVJywnOScpLCBBVl9QSVhfRk1UX1lVVjQxMFAsIDAsIDAsIDAgfSwKLSsKLSsgICAge1ZMQ19GT1VSQ0MoJ04nLCdWJywnMScsJzInKSwgQVZfUElYX0ZNVF9OVjEyLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfRk9VUkNDKCdOJywnVicsJzInLCcxJyksIEFWX1BJWF9GTVRfTlYyMSwgMCwgMCwgMCB9LAotKwotKyAgICB7VkxDX0NPREVDX0k0MjBfOUwsIEFWX1BJWF9GTVRfWVVWNDIwUDlMRSwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0MjBfOUIsIEFWX1BJWF9GTVRfWVVWNDIwUDlCRSwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0MjBfMTBMLCBBVl9QSVhfRk1UX1lVVjQyMFAxMExFLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQyMF8xMEIsIEFWX1BJWF9GTVRfWVVWNDIwUDEwQkUsIDAsIDAsIDAgfSwKLSAjaWYgTElCQVZVVElMX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKDUxLDEzLDApCi0tICAgIHtWTENfQ09ERUNfSTQyMl85TCwgUElYX0ZNVF9ZVVY0MjJQOUxFLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSTQyMl85QiwgUElYX0ZNVF9ZVVY0MjJQOUJFLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQyMl85TCwgQVZfUElYX0ZNVF9ZVVY0MjJQOUxFLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQyMl85QiwgQVZfUElYX0ZNVF9ZVVY0MjJQOUJFLCAwLCAwLCAwIH0sCi0gI2VuZGlmCi0tICAgIHtWTENfQ09ERUNfSTQyMl8xMEwsIFBJWF9GTVRfWVVWNDIyUDEwTEUsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19JNDIyXzEwQiwgUElYX0ZNVF9ZVVY0MjJQMTBCRSwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0MjJfMTBMLCBBVl9QSVhfRk1UX1lVVjQyMlAxMExFLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQyMl8xMEIsIEFWX1BJWF9GTVRfWVVWNDIyUDEwQkUsIDAsIDAsIDAgfSwKLSAKLS0gICAge1ZMQ19DT0RFQ19ZVVY0MjBBLCBQSVhfRk1UX1lVVkE0MjBQLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfWVVWNDIwQSwgQVZfUElYX0ZNVF9ZVVZBNDIwUCwgMCwgMCwgMCB9LAotICNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyggNTEsIDQ1LCAwLCA3NCwgMTAwICkKLSAgICAge1ZMQ19DT0RFQ19ZVVY0MjJBLCBBVl9QSVhfRk1UX1lVVkE0MjJQLCAwLCAwLCAwIH0sCi0gI2VuZGlmCi0gCi0tICAgIHtWTENfQ09ERUNfSTQ0NF85TCwgUElYX0ZNVF9ZVVY0NDRQOUxFLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSTQ0NF85QiwgUElYX0ZNVF9ZVVY0NDRQOUJFLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSTQ0NF8xMEwsIFBJWF9GTVRfWVVWNDQ0UDEwTEUsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19JNDQ0XzEwQiwgUElYX0ZNVF9ZVVY0NDRQMTBCRSwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0NPREVDX0k0NDRfMTZMLCBQSVhfRk1UX1lVVjQ0NFAxNkxFLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSTQ0NF8xNkIsIFBJWF9GTVRfWVVWNDQ0UDE2QkUsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19JNDQ0XzlMLCBBVl9QSVhfRk1UX1lVVjQ0NFA5TEUsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19JNDQ0XzlCLCBBVl9QSVhfRk1UX1lVVjQ0NFA5QkUsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19JNDQ0XzEwTCwgQVZfUElYX0ZNVF9ZVVY0NDRQMTBMRSwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0NDRfMTBCLCBBVl9QSVhfRk1UX1lVVjQ0NFAxMEJFLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQ0NF8xNkwsIEFWX1BJWF9GTVRfWVVWNDQ0UDE2TEUsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19JNDQ0XzE2QiwgQVZfUElYX0ZNVF9ZVVY0NDRQMTZCRSwgMCwgMCwgMCB9LAotIAotICAgICAvKiBQYWNrZWQgWVVWIGZvcm1hdHMgKi8KLS0gICAge1ZMQ19DT0RFQ19ZVVlWLCBQSVhfRk1UX1lVWVY0MjIsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19GT1VSQ0MoJ1knLCdVJywnWScsJ1YnKSwgUElYX0ZNVF9ZVVlWNDIyLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfVVlWWSwgUElYX0ZNVF9VWVZZNDIyLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfRk9VUkNDKCdZJywnNCcsJzEnLCcxJyksIFBJWF9GTVRfVVlZVllZNDExLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfWVVZViwgQVZfUElYX0ZNVF9ZVVlWNDIyLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfRk9VUkNDKCdZJywnVScsJ1knLCdWJyksIEFWX1BJWF9GTVRfWVVZVjQyMiwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX1VZVlksIEFWX1BJWF9GTVRfVVlWWTQyMiwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0ZPVVJDQygnWScsJzQnLCcxJywnMScpLCBBVl9QSVhfRk1UX1VZWVZZWTQxMSwgMCwgMCwgMCB9LAotIAotICAgICAvKiBQYWNrZWQgUkdCIGZvcm1hdHMgKi8KLS0gICAgVkxDX1JHQiggVkxDX0ZPVVJDQygnUicsJ0cnLCdCJywnNCcpLCBQSVhfRk1UX1JHQjQsIFBJWF9GTVRfQkdSNCwgMHgxMCwgMHgwNiwgMHgwMSApCi0tICAgIFZMQ19SR0IoIFZMQ19GT1VSQ0MoJ1InLCdHJywnQicsJzgnKSwgUElYX0ZNVF9SR0I4LCBQSVhfRk1UX0JHUjgsIDB4QzAsIDB4MzgsIDB4MDcgKQotKyAgICBWTENfUkdCKCBWTENfRk9VUkNDKCdSJywnRycsJ0InLCc0JyksIEFWX1BJWF9GTVRfUkdCNCwgQVZfUElYX0ZNVF9CR1I0LCAweDEwLCAweDA2LCAweDAxICkKLSsgICAgVkxDX1JHQiggVkxDX0ZPVVJDQygnUicsJ0cnLCdCJywnOCcpLCBBVl9QSVhfRk1UX1JHQjgsIEFWX1BJWF9GTVRfQkdSOCwgMHhDMCwgMHgzOCwgMHgwNyApCi0gCi0tICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IxNSwgUElYX0ZNVF9SR0I1NTUsIFBJWF9GTVRfQkdSNTU1LCAweDdjMDAsIDB4MDNlMCwgMHgwMDFmICkKLS0gICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjE2LCBQSVhfRk1UX1JHQjU2NSwgUElYX0ZNVF9CR1I1NjUsIDB4ZjgwMCwgMHgwN2UwLCAweDAwMWYgKQotLSAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMjQsIFBJWF9GTVRfQkdSMjQsIFBJWF9GTVRfUkdCMjQsIDB4ZmYwMDAwLCAweDAwZmYwMCwgMHgwMDAwZmYgKQotKyAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMTUsIEFWX1BJWF9GTVRfUkdCNTU1LCBBVl9QSVhfRk1UX0JHUjU1NSwgMHg3YzAwLCAweDAzZTAsIDB4MDAxZiApCi0rICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IxNiwgQVZfUElYX0ZNVF9SR0I1NjUsIEFWX1BJWF9GTVRfQkdSNTY1LCAweGY4MDAsIDB4MDdlMCwgMHgwMDFmICkKLSsgICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjI0LCBBVl9QSVhfRk1UX0JHUjI0LCBBVl9QSVhfRk1UX1JHQjI0LCAweGZmMDAwMCwgMHgwMGZmMDAsIDB4MDAwMGZmICkKLSAKLS0gICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjMyLCBQSVhfRk1UX1JHQjMyLCBQSVhfRk1UX0JHUjMyLCAweDAwZmYwMDAwLCAweDAwMDBmZjAwLCAweDAwMDAwMGZmICkKLS0gICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjMyLCBQSVhfRk1UX1JHQjMyXzEsIFBJWF9GTVRfQkdSMzJfMSwgMHhmZjAwMDAwMCwgMHgwMGZmMDAwMCwgMHgwMDAwZmYwMCApCi0rICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IzMiwgQVZfUElYX0ZNVF9SR0IzMiwgQVZfUElYX0ZNVF9CR1IzMiwgMHgwMGZmMDAwMCwgMHgwMDAwZmYwMCwgMHgwMDAwMDBmZiApCi0rICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IzMiwgQVZfUElYX0ZNVF9SR0IzMl8xLCBBVl9QSVhfRk1UX0JHUjMyXzEsIDB4ZmYwMDAwMDAsIDB4MDBmZjAwMDAsIDB4MDAwMGZmMDAgKQotIAotICNpZmRlZiBBVl9QSVhfRk1UXzBCR1IzMgotICAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMzIsIEFWX1BJWF9GTVRfMEJHUjMyLCBBVl9QSVhfRk1UXzBSR0IzMiwgMHgwMDAwMDBmZiwgMHgwMDAwZmYwMCwgMHgwMGZmMDAwMCApCi0gI2VuZGlmCi0gCi0tICAgIHtWTENfQ09ERUNfUkdCQSwgUElYX0ZNVF9SR0JBLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfQVJHQiwgUElYX0ZNVF9BUkdCLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfQkdSQSwgUElYX0ZNVF9CR1JBLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfR1JFWSwgUElYX0ZNVF9HUkFZOCwgMCwgMCwgMH0sCi0rICAgIHtWTENfQ09ERUNfUkdCQSwgQVZfUElYX0ZNVF9SR0JBLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfQVJHQiwgQVZfUElYX0ZNVF9BUkdCLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfQkdSQSwgQVZfUElYX0ZNVF9CR1JBLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfR1JFWSwgQVZfUElYX0ZNVF9HUkFZOCwgMCwgMCwgMH0sCi0gCi0gICAgICAvKiBQYWxldGl6ZWQgUkdCICovCi0tICAgIHtWTENfQ09ERUNfUkdCUCwgUElYX0ZNVF9QQUw4LCAwLCAwLCAwfSwKLSsgICAge1ZMQ19DT0RFQ19SR0JQLCBBVl9QSVhfRk1UX1BBTDgsIDAsIDAsIDB9LAotIAotICNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1MSwgNDIsIDAsIDc0LDEwMCkKLSAgICAge1ZMQ19DT0RFQ19HQlJfUExBTkFSLCBBVl9QSVhfRk1UX0dCUlAsIDAsIDAsIDAgfSwKLUBAIC0yMDEsNSArMjAxLDUgQEAgaW50IEZpbmRGZm1wZWdDaHJvbWEoIHZsY19mb3VyY2NfdCBmb3VyY2MgKQotICAgICBmb3IoIGludCBpID0gMDsgY2hyb21hX3RhYmxlW2ldLmlfY2hyb21hICE9IDA7IGkrKyApCi0gICAgICAgICBpZiggY2hyb21hX3RhYmxlW2ldLmlfY2hyb21hID09IGZvdXJjYyApCi0gICAgICAgICAgICAgcmV0dXJuIGNocm9tYV90YWJsZVtpXS5pX2Nocm9tYV9pZDsKLS0gICAgcmV0dXJuIFBJWF9GTVRfTk9ORTsKLSsgICAgcmV0dXJuIEFWX1BJWF9GTVRfTk9ORTsKLSB9Ci1kaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYwotaW5kZXggYzExNWRiOS4uYWU2MDBlOCAxMDA2NDQKLS0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCi0rKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYwotQEAgLTEwMDQsNyArMTAwNCw3IEBAIHN0YXRpYyBwaWN0dXJlX3QgKmxhdmNfZHJfR2V0RnJhbWUoc3RydWN0IEFWQ29kZWNDb250ZXh0ICpjdHgsCi0gICAgIGlmIChHZXRWbGNDaHJvbWEoJmRlYy0+Zm10X291dC52aWRlbywgY3R4LT5waXhfZm10KSAhPSBWTENfU1VDQ0VTUykKLSAgICAgICAgIHJldHVybiBOVUxMOwotICAgICBkZWMtPmZtdF9vdXQuaV9jb2RlYyA9IGRlYy0+Zm10X291dC52aWRlby5pX2Nocm9tYTsKLS0gICAgaWYgKGN0eC0+cGl4X2ZtdCA9PSBQSVhfRk1UX1BBTDgpCi0rICAgIGlmIChjdHgtPnBpeF9mbXQgPT0gQVZfUElYX0ZNVF9QQUw4KQotICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gCi0gICAgIGludCB3aWR0aCA9IGZyYW1lLT53aWR0aDsKLUBAIC0xMTgwLDcgKzExODAsNyBAQCBzdGF0aWMgcGljdHVyZV90ICpmZm1wZWdfZHJfR2V0RnJhbWVCdWYoc3RydWN0IEFWQ29kZWNDb250ZXh0ICpwX2NvbnRleHQpCi0gICAgIGlmIChHZXRWbGNDaHJvbWEoJnBfZGVjLT5mbXRfb3V0LnZpZGVvLCBwX2NvbnRleHQtPnBpeF9mbXQpICE9IFZMQ19TVUNDRVNTKQotICAgICAgICAgZ290byBub19kcjsKLSAKLS0gICAgaWYgKHBfY29udGV4dC0+cGl4X2ZtdCA9PSBQSVhfRk1UX1BBTDgpCi0rICAgIGlmIChwX2NvbnRleHQtPnBpeF9mbXQgPT0gQVZfUElYX0ZNVF9QQUw4KQotICAgICAgICAgZ290byBub19kcjsKLSAKLSAgICAgcF9kZWMtPmZtdF9vdXQuaV9jb2RlYyA9IHBfZGVjLT5mbXRfb3V0LnZpZGVvLmlfY2hyb21hOwotQEAgLTEyMTUsNyArMTIxNSw3IEBAIHN0YXRpYyBwaWN0dXJlX3QgKmZmbXBlZ19kcl9HZXRGcmFtZUJ1ZihzdHJ1Y3QgQVZDb2RlY0NvbnRleHQgKnBfY29udGV4dCkKLSAgICAgICAgICAgICBnb3RvIG5vX2RyOwotICAgICB9Ci0gCi0tICAgIGlmKCBwX2NvbnRleHQtPnBpeF9mbXQgPT0gUElYX0ZNVF9ZVVY0MjJQICkKLSsgICAgaWYoIHBfY29udGV4dC0+cGl4X2ZtdCA9PSBBVl9QSVhfRk1UX1lVVjQyMlAgKQotICAgICB7Ci0gICAgICAgICBpZiggMiAqIHBfcGljLT5wWzFdLmlfcGl0Y2ggIT0gcF9waWMtPnBbMF0uaV9waXRjaCB8fAotICAgICAgICAgICAgIDIgKiBwX3BpYy0+cFsyXS5pX3BpdGNoICE9IHBfcGljLT5wWzBdLmlfcGl0Y2ggKQotQEAgLTEzMjUsNyArMTMyNSw3IEBAIHN0YXRpYyBlbnVtIFBpeGVsRm9ybWF0IGZmbXBlZ19HZXRGb3JtYXQoIEFWQ29kZWNDb250ZXh0ICpwX2NvbnRleHQsCi0gCi0gICAgIC8qIEVudW1lcmF0ZSBhdmFpbGFibGUgZm9ybWF0cyAqLwotICAgICBib29sIGNhbl9od2FjY2VsID0gZmFsc2U7Ci0tICAgIGZvciggc2l6ZV90IGkgPSAwOyBwaV9mbXRbaV0gIT0gUElYX0ZNVF9OT05FOyBpKysgKQotKyAgICBmb3IoIHNpemVfdCBpID0gMDsgcGlfZm10W2ldICE9IEFWX1BJWF9GTVRfTk9ORTsgaSsrICkKLSAgICAgewotICAgICAgICAgY29uc3QgQVZQaXhGbXREZXNjcmlwdG9yICpkc2MgPSBhdl9waXhfZm10X2Rlc2NfZ2V0KHBpX2ZtdFtpXSk7Ci0gICAgICAgICBpZiAoZHNjID09IE5VTEwpCi1AQCAtMTM1Miw3ICsxMzUyLDcgQEAgc3RhdGljIGVudW0gUGl4ZWxGb3JtYXQgZmZtcGVnX0dldEZvcm1hdCggQVZDb2RlY0NvbnRleHQgKnBfY29udGV4dCwKLSAgICAgaWYoIHBfdmEgPT0gTlVMTCApCi0gICAgICAgICBnb3RvIGVuZDsKLSAKLS0gICAgZm9yKCBzaXplX3QgaSA9IDA7IHBpX2ZtdFtpXSAhPSBQSVhfRk1UX05PTkU7IGkrKyApCi0rICAgIGZvciggc2l6ZV90IGkgPSAwOyBwaV9mbXRbaV0gIT0gQVZfUElYX0ZNVF9OT05FOyBpKysgKQotICAgICB7Ci0gICAgICAgICBpZiggcF92YS0+cGl4X2ZtdCAhPSBwaV9mbXRbaV0gKQotICAgICAgICAgICAgIGNvbnRpbnVlOwotZGlmZiAtLWdpdCBhL21vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYyBiL21vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYwotaW5kZXggNTY5ZTBmNS4uNGUwZWNmMSAxMDA2NDQKLS0tLSBhL21vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYwotKysrIGIvbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jCi1AQCAtMjU3LDM1ICsyNTcsMzUgQEAgc3RhdGljIHZvaWQgRml4UGFyYW1ldGVycyggaW50ICpwaV9mbXQsIGJvb2wgKnBiX2hhc19hLCBib29sICpwYl9zd2FwX3V2LCB2bGNfZm8KLSAgICAgc3dpdGNoKCBmbXQgKQotICAgICB7Ci0gICAgIGNhc2UgVkxDX0NPREVDX1lVVjQyMkE6Ci0tICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9ZVVY0MjJQOwotKyAgICAgICAgKnBpX2ZtdCA9IEFWX1BJWF9GTVRfWVVWNDIyUDsKLSAgICAgICAgICpwYl9oYXNfYSA9IHRydWU7Ci0gICAgICAgICBicmVhazsKLSAgICAgY2FzZSBWTENfQ09ERUNfWVVWNDIwQToKLS0gICAgICAgICpwaV9mbXQgPSBQSVhfRk1UX1lVVjQyMFA7Ci0rICAgICAgICAqcGlfZm10ID0gQVZfUElYX0ZNVF9ZVVY0MjBQOwotICAgICAgICAgKnBiX2hhc19hID0gdHJ1ZTsKLSAgICAgICAgIGJyZWFrOwotICAgICBjYXNlIFZMQ19DT0RFQ19ZVVZBOgotLSAgICAgICAgKnBpX2ZtdCA9IFBJWF9GTVRfWVVWNDQ0UDsKLSsgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX1lVVjQ0NFA7Ci0gICAgICAgICAqcGJfaGFzX2EgPSB0cnVlOwotICAgICAgICAgYnJlYWs7Ci0gICAgIGNhc2UgVkxDX0NPREVDX1JHQkE6Ci0tICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9CR1IzMjsKLSsgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX0JHUjMyOwotICAgICAgICAgKnBiX2hhc19hID0gdHJ1ZTsKLSAgICAgICAgIGJyZWFrOwotICAgICBjYXNlIFZMQ19DT0RFQ19BUkdCOgotLSAgICAgICAgKnBpX2ZtdCA9IFBJWF9GTVRfQkdSMzJfMTsKLSsgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX0JHUjMyXzE7Ci0gICAgICAgICAqcGJfaGFzX2EgPSB0cnVlOwotICAgICAgICAgYnJlYWs7Ci0gICAgIGNhc2UgVkxDX0NPREVDX0JHUkE6Ci0tICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9SR0IzMjsKLSsgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX1JHQjMyOwotICAgICAgICAgKnBiX2hhc19hID0gdHJ1ZTsKLSAgICAgICAgIGJyZWFrOwotICAgICBjYXNlIFZMQ19DT0RFQ19ZVjEyOgotLSAgICAgICAgKnBpX2ZtdCA9IFBJWF9GTVRfWVVWNDIwUDsKLSsgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX1lVVjQyMFA7Ci0gICAgICAgICAqcGJfc3dhcF91diA9IHRydWU7Ci0gICAgICAgICBicmVhazsKLSAgICAgY2FzZSBWTENfQ09ERUNfWVY5OgotLSAgICAgICAgKnBpX2ZtdCA9IFBJWF9GTVRfWVVWNDEwUDsKLSsgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX1lVVjQxMFA7Ci0gICAgICAgICAqcGJfc3dhcF91diA9IHRydWU7Ci0gICAgICAgICBicmVhazsKLSAgICAgZGVmYXVsdDoKLUBAIC0zMTQsNyArMzE0LDcgQEAgc3RhdGljIGludCBHZXRQYXJhbWV0ZXJzKCBTY2FsZXJDb25maWd1cmF0aW9uICpwX2NmZywKLSAgICAgewotICAgICAgICAgaWYoIHBfZm10aS0+aV9jaHJvbWEgPT0gVkxDX0NPREVDX1lVVlAgJiYgQUxMT1dfWVVWUCApCi0gICAgICAgICB7Ci0tICAgICAgICAgICAgaV9mbXRpID0gaV9mbXRvID0gUElYX0ZNVF9HUkFZODsKLSsgICAgICAgICAgICBpX2ZtdGkgPSBpX2ZtdG8gPSBBVl9QSVhfRk1UX0dSQVk4OwotICAgICAgICAgICAgIGlfc3dzX2ZsYWdzID0gU1dTX1BPSU5UOwotICAgICAgICAgfQotICAgICB9Ci1AQCAtMzI3LDkgKzMyNyw5IEBAIHN0YXRpYyBpbnQgR2V0UGFyYW1ldGVycyggU2NhbGVyQ29uZmlndXJhdGlvbiAqcF9jZmcsCi0gICAgICAqIFdpdGhvdXQgU1dTX0FDQ1VSQVRFX1JORCB0aGUgcXVhbGl0eSBpcyByZWFsbHkgYmFkIGZvciBzb21lIGNvbnZlcnNpb25zICovCi0gICAgIHN3aXRjaCggaV9mbXRvICkKLSAgICAgewotLSAgICBjYXNlIFBJWF9GTVRfQVJHQjoKLS0gICAgY2FzZSBQSVhfRk1UX1JHQkE6Ci0tICAgIGNhc2UgUElYX0ZNVF9BQkdSOgotKyAgICBjYXNlIEFWX1BJWF9GTVRfQVJHQjoKLSsgICAgY2FzZSBBVl9QSVhfRk1UX1JHQkE6Ci0rICAgIGNhc2UgQVZfUElYX0ZNVF9BQkdSOgotICAgICAgICAgaV9zd3NfZmxhZ3MgfD0gU1dTX0FDQ1VSQVRFX1JORDsKLSAgICAgICAgIGJyZWFrOwotICAgICB9Ci1AQCAtNDAzLDggKzQwMyw4IEBAIHN0YXRpYyBpbnQgSW5pdCggZmlsdGVyX3QgKnBfZmlsdGVyICkKLSAgICAgY29uc3QgdW5zaWduZWQgaV9mbXRvX3Zpc2libGVfd2lkdGggPSBwX2ZtdG8tPmlfdmlzaWJsZV93aWR0aCAqIHBfc3lzLT5pX2V4dGVuZF9mYWN0b3I7Ci0gICAgIGZvciggaW50IG4gPSAwOyBuIDwgKGNmZy5iX2hhc19hID8gMiA6IDEpOyBuKysgKQotICAgICB7Ci0tICAgICAgICBjb25zdCBpbnQgaV9mbXRpID0gbiA9PSAwID8gY2ZnLmlfZm10aSA6IFBJWF9GTVRfR1JBWTg7Ci0tICAgICAgICBjb25zdCBpbnQgaV9mbXRvID0gbiA9PSAwID8gY2ZnLmlfZm10byA6IFBJWF9GTVRfR1JBWTg7Ci0rICAgICAgICBjb25zdCBpbnQgaV9mbXRpID0gbiA9PSAwID8gY2ZnLmlfZm10aSA6IEFWX1BJWF9GTVRfR1JBWTg7Ci0rICAgICAgICBjb25zdCBpbnQgaV9mbXRvID0gbiA9PSAwID8gY2ZnLmlfZm10byA6IEFWX1BJWF9GTVRfR1JBWTg7Ci0gICAgICAgICBzdHJ1Y3QgU3dzQ29udGV4dCAqY3R4OwotIAotICAgICAgICAgY3R4ID0gc3dzX2dldENvbnRleHQoIGlfZm10aV92aXNpYmxlX3dpZHRoLCBwX2ZtdGktPmlfdmlzaWJsZV9oZWlnaHQsIGlfZm10aSwKLS0tIAotMi41LjAKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMTAtU1dTQ0FMRS1maXgtY29tcGlsYXRpb24td2l0aC00LngucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAxMC1TV1NDQUxFLWZpeC1jb21waWxhdGlvbi13aXRoLTQueC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTY3NDRlNy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAxMC1TV1NDQUxFLWZpeC1jb21waWxhdGlvbi13aXRoLTQueC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLUZyb20gNmZhOGE0YTliYjY0ZmYzNDMyOGFhZTQ2YWNkNjAwZjg1MDJiMmMwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEplYW4tQmFwdGlzdGUgS2VtcGYgPGpiQHZpZGVvbGFuLm9yZz4KLURhdGU6IE1vbiwgMzEgQXVnIDIwMTUgMDk6MDc6MzkgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gU1dTQ0FMRTogZml4IGNvbXBpbGF0aW9uIHdpdGggNC54Ci1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDJiMjM4NTdjNjg2MjJlZGRhNzZiNzJiNzRhZWIzZDk0M2VlMjc3YzkpCi1TaWduZWQtb2ZmLWJ5OiBSYWZhw6tsIENhcnLDqSA8ZnVubWFuQHZpZGVvbGFuLm9yZz4KLS0tLQotIG1vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYyB8IDMgKysrCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jIGIvbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jCi1pbmRleCA0ZTBlY2YxLi4yNmQwZDZmIDEwMDY0NAotLS0tIGEvbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jCi0rKysgYi9tb2R1bGVzL3ZpZGVvX2Nocm9tYS9zd3NjYWxlLmMKLUBAIC0zNiw2ICszNiw3IEBACi0gI2luY2x1ZGUgPHZsY19jcHUuaD4KLSAKLSAjaW5jbHVkZSA8bGlic3dzY2FsZS9zd3NjYWxlLmg+Ci0rI2luY2x1ZGUgPGxpYnN3c2NhbGUvdmVyc2lvbi5oPgotIAotICNpZmRlZiBfX0FQUExFX18KLSAjIGluY2x1ZGUgPFRhcmdldENvbmRpdGlvbmFscy5oPgotQEAgLTIzNSw2ICsyMzYsNyBAQCBzdGF0aWMgaW50IEdldFN3c0NwdU1hc2sodm9pZCkKLSB7Ci0gICAgIGludCBpX3N3c19jcHUgPSAwOwotIAotKyNpZiBMSUJTV1NDQUxFX1ZFUlNJT05fTUFKT1IgPCA0Ci0gI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykKLSAgICAgaWYoIHZsY19DUFVfTU1YKCkgKQotICAgICAgICAgaV9zd3NfY3B1IHw9IFNXU19DUFVfQ0FQU19NTVg7Ci1AQCAtMjQ4LDYgKzI1MCw3IEBAIHN0YXRpYyBpbnQgR2V0U3dzQ3B1TWFzayh2b2lkKQotICAgICBpZiggdmxjX0NQVV9BTFRJVkVDKCkgKQotICAgICAgICAgaV9zd3NfY3B1IHw9IFNXU19DUFVfQ0FQU19BTFRJVkVDOwotICNlbmRpZgotKyNlbmRpZgotIAotICAgICByZXR1cm4gaV9zd3NfY3B1OwotIH0KLS0tIAotMi41LjAKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjXzIuMi4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjXzIuMi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNWJlMDRjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsY18yLjIuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLXJlcXVpcmUgJHtCUE59LmluYwotCi0jIHdvcmsgYXJvdW5kIGJ1aWxkIGZhaWx1cmUKLUVYVFJBX09FQ09ORiArPSAiIC0tZW5hYmxlLWxpYnhtbDI9bm8iCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLWVuYWJsZS1zdWJkaXItb2JqZWN0cy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMi1nbGliYy1kb2VzLW5vdC1wcm92aWRlLXN0cmxjcHkucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDMtdXNlLWFtLXBhdGgtbGliZ2NyeXB0LnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDA0LW1vZHVsZXMtZ3VpLXF0NC1vdXQtb2YtdHJlZS1idWlsZC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwNS1saWJwb3N0cHJvYy1oZWFkZXItY2hlY2sucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDYtbWFrZS1vcGVuY3YtY29uZmlndXJhYmxlLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDA3LXVzZS12b3JiaXNpZGVjLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDA4LWZpeC1sdWFMLWNoZWNraW50LnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDA5LUF2Y29kZWMtc3dzY2FsZS11c2UtQVZfUElYX0ZNVC1jb25zaXN0ZW50bHkucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMTAtU1dTQ0FMRS1maXgtY29tcGlsYXRpb24td2l0aC00LngucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZjk4ZDYwZjBmNTllZjcyYjZlMzQwN2YyZmYwOWJkYTYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWFkMjMxMjhiZTE2ZjliNDBlZDc3Mjk2MTI3MmNiMDc0OGVkOGU0YWExYmM3OWMxMjllNTg5ZmVlYmVhNWZiNSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsY18zLjAuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsY18zLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWUyMTNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjXzMuMC42LmJiCkBAIC0wLDAgKzEsMTYgQEAKK3JlcXVpcmUgJHtCUE59LmluYworCisjIHdvcmsgYXJvdW5kIGJ1aWxkIGZhaWx1cmUKK0VYVFJBX09FQ09ORiArPSAiIC0tZW5hYmxlLWxpYnhtbDI9bm8iCisKK0xERkxBR1NfYXBwZW5kX3Jpc2N2NjQgPSAiIC1wdGhyZWFkIgorCitTUkNfVVJJICs9ICIgXAorICAgICAgICAgICAgZmlsZTovLzAwMDItZ2xpYmMtZG9lcy1ub3QtcHJvdmlkZS1zdHJsY3B5LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDA1LWxpYnBvc3Rwcm9jLWhlYWRlci1jaGVjay5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwNi1tYWtlLW9wZW5jdi1jb25maWd1cmFibGUucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDctdXNlLXZvcmJpc2lkZWMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDgtZml4LWx1YUwtY2hlY2tpbnQucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjRmZjcxZDI2MmUwNzBmZDE5Zjg2YTFjMzU0MmM3YjRlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE4YzE2ZDRiZTBmMzQ4NjFkMGFhNTFmYmQyNzRmYjg3ZjBjYWIzYjcxMTk3NTdlYWQ5M2YzZGIzYTFmMjdlZDMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nL3dlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nL3Jpc2N2X3N1cHBvcnQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nL3dlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nL3Jpc2N2X3N1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTc2Yjk4NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvd2VicnRjLWF1ZGlvLXByb2Nlc3Npbmcvd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmcvcmlzY3Zfc3VwcG9ydC5wYXRjaApAQCAtMCwwICsxLDMzIEBACitBZGQgc3VwcG9ydCBmb3IgUklTQy1WCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLSBhL3dlYnJ0Yy9iYXNlL2Jhc2ljdHlwZXMuaAorKysrIGIvd2VicnRjL2Jhc2UvYmFzaWN0eXBlcy5oCitAQCAtMjksNiArMjksMTAgQEAKKyAjZGVmaW5lIENQVV9BUk0gMQorICNlbmRpZgorIAorKyNpZiBkZWZpbmVkKF9fcmlzY3YpIHx8IGRlZmluZWQoX01fUklTQ1YpCisrI2RlZmluZSBDUFVfUklTQ1YgMQorKyNlbmRpZgorKworICNpZiBkZWZpbmVkKENQVV9YODYpICYmIGRlZmluZWQoQ1BVX0FSTSkKKyAjZXJyb3IgQ1BVX1g4NiBhbmQgQ1BVX0FSTSBib3RoIGRlZmluZWQuCisgI2VuZGlmCistLS0gYS93ZWJydGMvdHlwZWRlZnMuaAorKysrIGIvd2VicnRjL3R5cGVkZWZzLmgKK0BAIC01Niw2ICs1NiwxMyBAQAorICNlbGlmIGRlZmluZWQoX19wb3dlcnBjX18pCisgI2RlZmluZSBXRUJSVENfQVJDSF8zMl9CSVRTCisgI2RlZmluZSBXRUJSVENfQVJDSF9CSUdfRU5ESUFOCisrI2VsaWYgZGVmaW5lZChfX3Jpc2N2KQorKyNpZiBfX3Jpc2N2X3hsZW4gPT0gNjQKKysjIGRlZmluZSBXRUJSVENfQVJDSF82NF9CSVRTCisrI2Vsc2UKKysjIGRlZmluZSBXRUJSVENfQVJDSF8zMl9CSVRTCisrI2VuZGlmCisrI2RlZmluZSBXRUJSVENfQVJDSF9MSVRUTEVfRU5ESUFOCisgI2VsaWYgZGVmaW5lZChfX3BuYWNsX18pCisgI2RlZmluZSBXRUJSVENfQVJDSF8zMl9CSVRTCisgI2RlZmluZSBXRUJSVENfQVJDSF9MSVRUTEVfRU5ESUFOCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nL3dlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nXzAuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvd2VicnRjLWF1ZGlvLXByb2Nlc3Npbmcvd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmdfMC4zLmJiCmluZGV4IDJiMGY3YzYuLmRiYmEyZjQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvd2VicnRjLWF1ZGlvLXByb2Nlc3Npbmcvd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmdfMC4zLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvd2VicnRjLWF1ZGlvLXByb2Nlc3Npbmcvd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmdfMC4zLmJiCkBAIC0xOSw2ICsxOSw3IEBACiAgICAgICAgICAgIGZpbGU6Ly8wMDA0LXR5cGVkZWZzLmgtYWRkLXN1cHBvcnQtZm9yLTY0LWJpdC1hbmQtYmlnLWVuZGlhbi1NSVAucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwNS10eXBlZGVmcy5oLWFkZC1zdXBwb3J0LWZvci1Qb3dlclBDLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDYtY29tbW9uX2F1ZGlvLWltcGxlbWVudC1lbmRpYW5uZXNzLWNvbnZlcnNpb24taW4td2F2LS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yaXNjdl9zdXBwb3J0LnBhdGNoIFwKICIKIAogU1JDX1VSSVttZDVzdW1dID0gIjMzNmFlMDMyZjYwOGU2NTgwOGFjNTc3Y2RlMGFiNzJjIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy8wMDAxLW1hdGhfdmZwX2FzbS5TLUNvbnZlcnQtZmxkbWlhLWZzdG1pYS1pbnN0cnVjdGlvbnMtdG8ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3LzAwMDEtbWF0aF92ZnBfYXNtLlMtQ29udmVydC1mbGRtaWEtZnN0bWlhLWluc3RydWN0aW9ucy10by5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTkwMzgwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy8wMDAxLW1hdGhfdmZwX2FzbS5TLUNvbnZlcnQtZmxkbWlhLWZzdG1pYS1pbnN0cnVjdGlvbnMtdG8ucGF0Y2gKQEAgLTAsMCArMSwyNTcgQEAKK0Zyb20gMDJhMTM4ZjBiMjQ3ZmIwOGI3OTlmMzJjNDliMzU5MTJiMjkyMTMyMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDEyIEZlYiAyMDE5IDExOjM4OjQ2IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIG1hdGhfdmZwX2FzbS5TOiBDb252ZXJ0IGZsZG1pYS9mc3RtaWEgaW5zdHJ1Y3Rpb25zIHRvIFVBTAorIHN5bnRheCBmb3IgY2xhbmcKKworVGhpcyBpcyBmbGFnZ2VkIHdpdGggY2xhbmcgaW50ZXJuYWwgYXNzZW1ibGVyLCBzaW5jZSBpdCBkb2VzIG5vdCBhbGxvdworbm9uIFVBTCBzeW50YXgKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBsaWJvaWwvYXJtL21hdGhfdmZwX2FzbS5TIHwgOTQgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGlib2lsL2FybS9tYXRoX3ZmcF9hc20uUyBiL2xpYm9pbC9hcm0vbWF0aF92ZnBfYXNtLlMKK2luZGV4IGFlNWM4MDMuLjNkZDE0ZDkgMTAwNjQ0CistLS0gYS9saWJvaWwvYXJtL21hdGhfdmZwX2FzbS5TCisrKysgYi9saWJvaWwvYXJtL21hdGhfdmZwX2FzbS5TCitAQCAtMjUsNyArMjUsNyBAQAorICAqLworIAorICNpZiBkZWZpbmVkKF9fVkZQX0ZQX18pICYmICFkZWZpbmVkKF9fU09GVEZQX18pCistLyogCisrLyoKKyAqKiBjb21waWxlIHdpdGggLW1jcHU9YXJtMTEzNmotcyAtbWZwdT12ZnAgLW1mbG9hdC1hYmk9c29mdGZwCisgKioKKyAqKiB2b2lkIHZmcF9hZGRfZjMyIChmbG9hdCAqZCwgY29uc3QgZmxvYXQgKnMxLCBjb25zdCBmbG9hdCAqczIsIGludCBuKTsKK0BAIC00OCwxMCArNDgsMTAgQEAKKyAgICAgYW5kcyAgICAgICAgICBpcCwgcjMsICM3OyAgICAgICAgICAgICAgIC8qIGlwID0gbiAlIDggKi8gICAgICAgICAgICAgICAgICBcCisgICAgIGJlcSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfdW5yb2xsOyAvKiBpZiBpcCA9PSAwIGdvdG8gcHJlcF9sb29wMiAqLyAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhcyAgICAgICByMSEsIHtzMH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZsZG1pYXMgICAgICAgcjIhLCB7czF9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjMyICAgICAgIHIxISwge3MwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmYzMiAgICAgICByMiEsIHtzMX07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICMjIGZpbnN0ICMjcyAgczIsIHMwLCBzMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmc3RtaWFzICAgICAgIHIwISwge3MyfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgdnN0bWlhLmYzMiAgICAgICByMCEsIHtzMn07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIHN1YnMgICAgICAgICAgaXAsIGlwLCAjMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBibmUgICAgICAgICAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX3Vucm9sbDogICAgICAgICAgICAgICAgIC8qIHVucm9sbCBieSA4ICovICAgICAgICAgICAgICAgICBcCitAQCAtNjIsMTUgKzYyLDE1IEBACisgICAgIG9yciAgICAgICAgICAgZnAsIGxyLCBmcCwgbHNsICMxNjsgICAgICAvKiBzZXQgdmVjdG9yIGxlbmdodCB0byA4ICovICAgICAgXAorICAgICBmbXhyICAgICAgICAgIGZwc2NyLCBmcDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZsZG1pYXMgICAgICAgcjEhLCB7czgsIHM5LCBzMTAsIHMxMSwgczEyLCBzMTMsIHMxNCwgczE1fTsgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFzICAgICAgIHIyISwge3MxNiwgczE3LCBzMTgsIHMxOSwgczIwLCBzMjEsIHMyMiwgczIzfTsgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmYzMiAgICAgICByMSEsIHtzOCwgczksIHMxMCwgczExLCBzMTIsIHMxMywgczE0LCBzMTV9OyAgICAgICAgICAgICAgICBcCisrICAgIHZsZG1pYS5mMzIgICAgICAgcjIhLCB7czE2LCBzMTcsIHMxOCwgczE5LCBzMjAsIHMyMSwgczIyLCBzMjN9OyAgICAgICAgICAgICAgXAorICAgICAjIyBmaW5zdCAjI3MgIHMyNCwgczgsIHMxNjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZnN0bWlhcyAgICAgICByMCEsIHtzMjQsIHMyNSwgczI2LCBzMjcsIHMyOCwgczI5LCBzMzAsIHMzMX07ICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mMzIgICAgICAgcjAhLCB7czI0LCBzMjUsIHMyNiwgczI3LCBzMjgsIHMyOSwgczMwLCBzMzF9OyAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGxyOyAgICAgICAgICAgICAgICAvKiByZXN0b3JlIG9yaWdpbmFsIGZwc2NyICovICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfZW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8gICAKKysgICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8KKyAKKyAjZGVmaW5lIFVOUk9MTF9GNjRfVEVNUExBVEUoZm5hbWUsZmluc3QpIFwKKyAgIC5nbG9iYWwgdmZwXyAjIyBmbmFtZSAjIyA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCitAQCAtNzksMTAgKzc5LDEwIEBACisgICAgIGFuZHMgICAgICAgICAgaXAsIHIzLCAjMzsgICAgICAgICAgICAgICAvKiBpcCA9IG4gJSAzICovICAgICAgICAgICAgICAgICAgXAorICAgICBiZXEgICAgICAgICAgIHZmcF8gIyMgZm5hbWUgIyMgX3Vucm9sbDsgLyogaWYgaXAgPT0gMCBnb3RvIHByZXBfbG9vcDIgKi8gIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZsZG1pYWQgICAgICAgcjEhLCB7ZDB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFkICAgICAgIHIyISwge2QxfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmY2NCAgICAgICByMSEsIHtkMH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZsZG1pYS5mNjQgICAgICAgcjIhLCB7ZDF9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAjIyBmaW5zdCAjI2QgIGQyLCBkMCwgZDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZnN0bWlhZCAgICAgICByMCEsIHtkMn07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mNjQgICAgICAgcjAhLCB7ZDJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF91bnJvbGw6ICAgICAgICAgICAgICAgICAvKiB1bnJvbGwgYnkgNCAqLyAgICAgICAgICAgICAgICAgXAorQEAgLTkzLDE1ICs5MywxNSBAQAorICAgICBvcnIgICAgICAgICAgIGZwLCBsciwgZnAsIGxzbCAjMTY7ICAgICAgLyogc2V0IHZlY3RvciBsZW5naHQgdG8gOCAqLyAgICAgIFwKKyAgICAgZm14ciAgICAgICAgICBmcHNjciwgZnA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFkICAgICAgIHIxISwge2Q0LCBkNSwgZDYsIGQ3fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhZCAgICAgICByMiEsIHtkOCwgZDksIGQxMCwgZDExfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZsZG1pYS5mNjQgICAgICAgcjEhLCB7ZDQsIGQ1LCBkNiwgZDd9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjY0ICAgICAgIHIyISwge2Q4LCBkOSwgZDEwLCBkMTF9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIyMgZmluc3QgIyNkICBkMTIsIGQ0LCBkODsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZzdG1pYWQgICAgICAgcjAhLCB7ZDEyLCBkMTMsIGQxNCwgZDE1fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2c3RtaWEuZjY0ICAgICAgIHIwISwge2QxMiwgZDEzLCBkMTQsIGQxNX07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgc3VicyAgICAgICAgICBpcCwgaXAsICMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGJuZSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBmbXhyICAgICAgICAgIGZwc2NyLCBscjsgICAgICAgICAgICAgICAgLyogcmVzdG9yZSBvcmlnaW5hbCBmcHNjciAqLyAgICAgIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX2VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGxkbWlhICAgICAgICAgc3AhLCB7ZnAsIHBjfTsgICAgICAgIC8qIHJlY292ZXJpbmcgZnJvbSBzdGFjayBhbmQgcmV0dXJuICovICAgCisrICAgIGxkbWlhICAgICAgICAgc3AhLCB7ZnAsIHBjfTsgICAgICAgIC8qIHJlY292ZXJpbmcgZnJvbSBzdGFjayBhbmQgcmV0dXJuICovCisgCisgLmFsaWduIDIKKyBVTlJPTExfRjMyX1RFTVBMQVRFKGFkZF9mMzIsZmFkZCk7CitAQCAtMTE5LDcgKzExOSw3IEBAIFVOUk9MTF9GNjRfVEVNUExBVEUoc3VidHJhY3RfZjY0LGZzdWIpOworICN1bmRlZiBVTlJPTExfRjMyX1RFTVBMQVRFCisgI3VuZGVmIFVOUk9MTF9GNjRfVEVNUExBVEUKKyAKKy0vKiAKKysvKgorICoqCisgKiogdm9pZCB2ZnBfc2NhbGFyYWRkX2YzMl9ucyAoZmxvYXQgKmQsIGNvbnN0IGZsb2F0ICpzMSwgY29uc3QgZmxvYXQgKnMyXzEsIGludCBuKTsKKyAqKiB2b2lkIHZmcF9zY2FsYXJhZGRfZjY0X25zIChkb3VibGUgKmQsIGNvbnN0IGRvdWJsZSAqczEsIGNvbnN0IGRvdWJsZSAqczJfMSwgaW50IG4pOworQEAgLTEzMywxMyArMTMzLDEzIEBAIFVOUk9MTF9GNjRfVEVNUExBVEUoc3VidHJhY3RfZjY0LGZzdWIpOworICAgLmdsb2JhbCB2ZnBfICMjIGZuYW1lICMjIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIHN0bWRiICAgICAgICAgc3AhLCB7ZnAsIGxyfTsgICAgICAgICAgICAvKiBzYXZlIHJlZ2lzdGVycyB0byBzdGFjayAqLyAgICAgXAorLSAgICBmbGRtaWFzICAgICAgIHIyLCB7czF9OyAgICAgICAgICAgICAgICAgLyogbG9hZCBzY2FsYXIgdmFsdWUgKi8gICAgICAgICAgIFwKKysgICAgdmxkbWlhLmYzMiAgICAgICByMiwge3MxfTsgICAgICAgICAgICAgICAgIC8qIGxvYWQgc2NhbGFyIHZhbHVlICovICAgICAgICAgICBcCisgICAgIGFuZHMgICAgICAgICAgaXAsIHIzLCAjNzsgICAgICAgICAgICAgICAvKiBpcCA9IG4gJSA4ICovICAgICAgICAgICAgICAgICAgXAorICAgICBiZXEgICAgICAgICAgIHZmcF8gIyMgZm5hbWUgIyMgX3Vucm9sbDsgLyogaWYgaXAgPT0gMCBnb3RvIHByZXBfbG9vcDIgKi8gIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZsZG1pYXMgICAgICAgcjEhLCB7czB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjMyICAgICAgIHIxISwge3MwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIyMgZmluc3QgIyNzICBzMiwgczAsIHMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZzdG1pYXMgICAgICAgcjAhLCB7czJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2c3RtaWEuZjMyICAgICAgIHIwISwge3MyfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgc3VicyAgICAgICAgICBpcCwgaXAsICMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGJuZSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfdW5yb2xsOiAgICAgICAgICAgICAgICAgLyogdW5yb2xsIGJ5IDggKi8gICAgICAgICAgICAgICAgIFwKK0BAIC0xNTAsMjYgKzE1MCwyNiBAQCBVTlJPTExfRjY0X1RFTVBMQVRFKHN1YnRyYWN0X2Y2NCxmc3ViKTsKKyAgICAgb3JyICAgICAgICAgICBmcCwgbHIsIGZwLCBsc2wgIzE2OyAgICAgIC8qIHNldCB2ZWN0b3IgbGVuZ2h0IHRvIDggKi8gICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGZwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhcyAgICAgICByMSEsIHtzOCwgczksIHMxMCwgczExLCBzMTIsIHMxMywgczE0LCBzMTV9OyAgICAgICAgICAgICAgICBcCisrICAgIHZsZG1pYS5mMzIgICAgICAgcjEhLCB7czgsIHM5LCBzMTAsIHMxMSwgczEyLCBzMTMsIHMxNCwgczE1fTsgICAgICAgICAgICAgICAgXAorICAgICAjIyBmaW5zdCAjI3MgIHMyNCwgczgsIHMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZnN0bWlhcyAgICAgICByMCEsIHtzMjQsIHMyNSwgczI2LCBzMjcsIHMyOCwgczI5LCBzMzAsIHMzMX07ICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mMzIgICAgICAgcjAhLCB7czI0LCBzMjUsIHMyNiwgczI3LCBzMjgsIHMyOSwgczMwLCBzMzF9OyAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGxyOyAgICAgICAgICAgICAgICAvKiByZXN0b3JlIG9yaWdpbmFsIGZwc2NyICovICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfZW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8gICAKKysgICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8KKyAKKyAjZGVmaW5lIFVOUk9MTF9GNjRfVEVNUExBVEUoZm5hbWUsZmluc3QpIFwKKyAgIC5nbG9iYWwgdmZwXyAjIyBmbmFtZSAjIyA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBzdG1kYiAgICAgICAgIHNwISwge2ZwLCBscn07ICAgICAgICAgICAgLyogc2F2ZSByZWdpc3RlcnMgdG8gc3RhY2sgKi8gICAgIFwKKy0gICAgZmxkbWlhZCAgICAgICByMiwge2QxfTsgICAgICAgICAgICAgICAgIC8qIGxvYWQgc2NhbGFyIHZhbHVlICovICAgICAgICAgICBcCisrICAgIHZsZG1pYS5mNjQgICAgICAgcjIsIHtkMX07ICAgICAgICAgICAgICAgICAvKiBsb2FkIHNjYWxhciB2YWx1ZSAqLyAgICAgICAgICAgXAorICAgICBhbmRzICAgICAgICAgIGlwLCByMywgIzM7ICAgICAgICAgICAgICAgLyogaXAgPSBuICUgMyAqLyAgICAgICAgICAgICAgICAgIFwKKyAgICAgYmVxICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF91bnJvbGw7IC8qIGlmIGlwID09IDAgZ290byBwcmVwX2xvb3AyICovICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFkICAgICAgIHIxISwge2QwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmY2NCAgICAgICByMSEsIHtkMH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICMjIGZpbnN0ICMjZCAgZDIsIGQwLCBkMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmc3RtaWFkICAgICAgIHIwISwge2QyfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgdnN0bWlhLmY2NCAgICAgICByMCEsIHtkMn07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIHN1YnMgICAgICAgICAgaXAsIGlwLCAjMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBibmUgICAgICAgICAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX3Vucm9sbDogICAgICAgICAgICAgICAgIC8qIHVucm9sbCBieSA0ICovICAgICAgICAgICAgICAgICBcCitAQCAtMTgwLDE0ICsxODAsMTQgQEAgVU5ST0xMX0Y2NF9URU1QTEFURShzdWJ0cmFjdF9mNjQsZnN1Yik7CisgICAgIG9yciAgICAgICAgICAgZnAsIGxyLCBmcCwgbHNsICMxNjsgICAgICAvKiBzZXQgdmVjdG9yIGxlbmdodCB0byA0ICovICAgICAgXAorICAgICBmbXhyICAgICAgICAgIGZwc2NyLCBmcDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZsZG1pYWQgICAgICAgcjEhLCB7ZDQsIGQ1LCBkNiwgZDd9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjY0ICAgICAgIHIxISwge2Q0LCBkNSwgZDYsIGQ3fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIyMgZmluc3QgIyNkICBkMTIsIGQ0LCBkMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZzdG1pYWQgICAgICAgcjAhLCB7ZDEyLCBkMTMsIGQxNCwgZDE1fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2c3RtaWEuZjY0ICAgICAgIHIwISwge2QxMiwgZDEzLCBkMTQsIGQxNX07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgc3VicyAgICAgICAgICBpcCwgaXAsICMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGJuZSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBmbXhyICAgICAgICAgIGZwc2NyLCBscjsgICAgICAgICAgICAgICAgLyogcmVzdG9yZSBvcmlnaW5hbCBmcHNjciAqLyAgICAgIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX2VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGxkbWlhICAgICAgICAgc3AhLCB7ZnAsIHBjfTsgICAgICAgIC8qIHJlY292ZXJpbmcgZnJvbSBzdGFjayBhbmQgcmV0dXJuICovICAgCisrICAgIGxkbWlhICAgICAgICAgc3AhLCB7ZnAsIHBjfTsgICAgICAgIC8qIHJlY292ZXJpbmcgZnJvbSBzdGFjayBhbmQgcmV0dXJuICovCisgCisgVU5ST0xMX0YzMl9URU1QTEFURShzY2FsYXJhZGRfZjMyX25zLGZhZGQpOworIFVOUk9MTF9GNjRfVEVNUExBVEUoc2NhbGFyYWRkX2Y2NF9ucyxmYWRkKTsKK0BAIC0xOTgsNyArMTk4LDcgQEAgVU5ST0xMX0Y2NF9URU1QTEFURShzY2FsYXJtdWx0aXBseV9mNjRfbnMsZm11bCk7CisgI3VuZGVmIFVOUk9MTF9GMzJfVEVNUExBVEUKKyAjdW5kZWYgVU5ST0xMX0Y2NF9URU1QTEFURQorIAorLS8qIAorKy8qCisgKioKKyAqKiB2b2lkIHZmcF9hYnNfZjMyX2YzMl9ucyhmbG9hdCAqZCwgY29uc3QgZmxvYXQgKnMsIGludCBuKTsKKyAqKiB2b2lkIHZmcF9hYnNfZjY0X2Y2NF9ucyhkb3VibGUgKmQsIGNvbnN0IGRvdWJsZSAqcywgaW50IG4pOworQEAgLTIxNSw5ICsyMTUsOSBAQCBVTlJPTExfRjY0X1RFTVBMQVRFKHNjYWxhcm11bHRpcGx5X2Y2NF9ucyxmbXVsKTsKKyAgICAgYW5kcyAgICAgICAgICBpcCwgcjIsICM3OyAgICAgICAgICAgICAgIC8qIGlwID0gbiAlIDggKi8gICAgICAgICAgICAgICAgICBcCisgICAgIGJlcSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfdW5yb2xsOyAvKiBpZiBpcCA9PSAwIGdvdG8gcHJlcF9sb29wMiAqLyAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhcyAgICAgICByMSEsIHtzMH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICMjIGZpbnN0ICMjcyAgczIsIHMwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmc3RtaWFzICAgICAgIHIwISwge3MyfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmYzMiAgICAgICByMSEsIHtzMH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgICMjIGZpbnN0ICMjLmYzMiAgczIsIHMwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2c3RtaWEuZjMyICAgICAgIHIwISwge3MyfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgc3VicyAgICAgICAgICBpcCwgaXAsICMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGJuZSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfdW5yb2xsOiAgICAgICAgICAgICAgICAgLyogdW5yb2xsIGJ5IDggKi8gICAgICAgICAgICAgICAgIFwKK0BAIC0yMjgsMTQgKzIyOCwxNCBAQCBVTlJPTExfRjY0X1RFTVBMQVRFKHNjYWxhcm11bHRpcGx5X2Y2NF9ucyxmbXVsKTsKKyAgICAgb3JyICAgICAgICAgICBmcCwgbHIsIGZwLCBsc2wgIzE2OyAgICAgIC8qIHNldCB2ZWN0b3IgbGVuZ2h0IHRvIDggKi8gICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGZwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhcyAgICAgICByMSEsIHtzOCwgczksIHMxMCwgczExLCBzMTIsIHMxMywgczE0LCBzMTV9OyAgICAgICAgICAgICAgICBcCistICAgICMjIGZpbnN0ICMjcyAgczI0LCBzODsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmc3RtaWFzICAgICAgIHIwISwge3MyNCwgczI1LCBzMjYsIHMyNywgczI4LCBzMjksIHMzMCwgczMxfTsgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmYzMiAgICAgICByMSEsIHtzOCwgczksIHMxMCwgczExLCBzMTIsIHMxMywgczE0LCBzMTV9OyAgICAgICAgICAgICAgICBcCisrICAgICMjIGZpbnN0ICAjIy5mMzIgczI0LCBzODsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2c3RtaWEuZjMyICAgICAgIHIwISwge3MyNCwgczI1LCBzMjYsIHMyNywgczI4LCBzMjksIHMzMCwgczMxfTsgICAgICAgICAgICAgIFwKKyAgICAgc3VicyAgICAgICAgICBpcCwgaXAsICMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGJuZSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBmbXhyICAgICAgICAgIGZwc2NyLCBscjsgICAgICAgICAgICAgICAgLyogcmVzdG9yZSBvcmlnaW5hbCBmcHNjciAqLyAgICAgIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX2VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGxkbWlhICAgICAgICAgc3AhLCB7ZnAsIHBjfTsgICAgICAgIC8qIHJlY292ZXJpbmcgZnJvbSBzdGFjayBhbmQgcmV0dXJuICovICAgCisrICAgIGxkbWlhICAgICAgICAgc3AhLCB7ZnAsIHBjfTsgICAgICAgIC8qIHJlY292ZXJpbmcgZnJvbSBzdGFjayBhbmQgcmV0dXJuICovCisgCisgI2RlZmluZSBVTlJPTExfRjY0X1RFTVBMQVRFKGZuYW1lLGZpbnN0KSBcCisgICAuZ2xvYmFsIHZmcF8gIyMgZm5hbWUgIyMgOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorQEAgLTI0NCw5ICsyNDQsOSBAQCBVTlJPTExfRjY0X1RFTVBMQVRFKHNjYWxhcm11bHRpcGx5X2Y2NF9ucyxmbXVsKTsKKyAgICAgYW5kcyAgICAgICAgICBpcCwgcjIsICMzOyAgICAgICAgICAgICAgIC8qIGlwID0gbiAlIDMgKi8gICAgICAgICAgICAgICAgICBcCisgICAgIGJlcSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfdW5yb2xsOyAvKiBpZiBpcCA9PSAwIGdvdG8gcHJlcF9sb29wMiAqLyAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhZCAgICAgICByMSEsIHtkMH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICMjIGZpbnN0ICMjZCAgZDIsIGQwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmc3RtaWFkICAgICAgIHIwISwge2QyfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmY2NCAgICAgICByMSEsIHtkMH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgICMjIGZpbnN0ICAjIy5mNjQgZDIsIGQwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2c3RtaWEuZjY0ICAgICAgIHIwISwge2QyfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgc3VicyAgICAgICAgICBpcCwgaXAsICMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGJuZSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfdW5yb2xsOiAgICAgICAgICAgICAgICAgLyogdW5yb2xsIGJ5IDQgKi8gICAgICAgICAgICAgICAgIFwKK0BAIC0yNTcsMjAgKzI1NywyMCBAQCBVTlJPTExfRjY0X1RFTVBMQVRFKHNjYWxhcm11bHRpcGx5X2Y2NF9ucyxmbXVsKTsKKyAgICAgb3JyICAgICAgICAgICBmcCwgbHIsIGZwLCBsc2wgIzE2OyAgICAgIC8qIHNldCB2ZWN0b3IgbGVuZ2h0IHRvIDQgKi8gICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGZwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhZCAgICAgICByMSEsIHtkNCwgZDUsIGQ2LCBkN307ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICMjIGZpbnN0ICMjZCAgZDEyLCBkNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmc3RtaWFkICAgICAgIHIwISwge2QxMiwgZDEzLCBkMTQsIGQxNX07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmY2NCAgICAgICByMSEsIHtkNCwgZDUsIGQ2LCBkN307ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgICMjIGZpbnN0ICAjIy5mNjQgZDEyLCBkNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2c3RtaWEuZjY0ICAgICAgIHIwISwge2QxMiwgZDEzLCBkMTQsIGQxNX07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgc3VicyAgICAgICAgICBpcCwgaXAsICMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGJuZSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBmbXhyICAgICAgICAgIGZwc2NyLCBscjsgICAgICAgICAgICAgICAgLyogcmVzdG9yZSBvcmlnaW5hbCBmcHNjciAqLyAgICAgIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX2VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGxkbWlhICAgICAgICAgc3AhLCB7ZnAsIHBjfTsgICAgICAgIC8qIHJlY292ZXJpbmcgZnJvbSBzdGFjayBhbmQgcmV0dXJuICovICAgCisrICAgIGxkbWlhICAgICAgICAgc3AhLCB7ZnAsIHBjfTsgICAgICAgIC8qIHJlY292ZXJpbmcgZnJvbSBzdGFjayBhbmQgcmV0dXJuICovCisgCistVU5ST0xMX0YzMl9URU1QTEFURShhYnNfZjMyX2YzMl9ucyxmYWJzKTsKKy1VTlJPTExfRjY0X1RFTVBMQVRFKGFic19mNjRfZjY0X25zLGZhYnMpOworK1VOUk9MTF9GMzJfVEVNUExBVEUoYWJzX2YzMl9mMzJfbnMsdmFicyk7CisrVU5ST0xMX0Y2NF9URU1QTEFURShhYnNfZjY0X2Y2NF9ucyx2YWJzKTsKKyAKKy1VTlJPTExfRjMyX1RFTVBMQVRFKG5lZ2F0aXZlX2YzMixmbmVnKTsKKy1VTlJPTExfRjY0X1RFTVBMQVRFKG5lZ2F0aXZlX2Y2NCxmbmVnKTsKKytVTlJPTExfRjMyX1RFTVBMQVRFKG5lZ2F0aXZlX2YzMix2bmVnKTsKKytVTlJPTExfRjY0X1RFTVBMQVRFKG5lZ2F0aXZlX2Y2NCx2bmVnKTsKKyAKKyAjdW5kZWYgVU5ST0xMX0YzMl9URU1QTEFURQorICN1bmRlZiBVTlJPTExfRjY0X1RFTVBMQVRFCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3L2ZpeF9yaXNjdl91bmFsaWduZWRfYWNjZXNzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy9maXhfcmlzY3ZfdW5hbGlnbmVkX2FjY2Vzcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDhiZGU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy9maXhfcmlzY3ZfdW5hbGlnbmVkX2FjY2Vzcy5wYXRjaApAQCAtMCwwICsxLDE1IEBACitSSVNDLVYgc3VwcG9ydHMgdW5hbGlnbmVkIGFjY2Vzc2VzLCB0aGVyZWZvcmUgZW5hYmxlIGl0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLSBhL200L2FzLXVuYWxpZ25lZC1hY2Nlc3MubTQKKysrKyBiL200L2FzLXVuYWxpZ25lZC1hY2Nlc3MubTQKK0BAIC01LDcgKzUsNyBAQCBBQ19ERUZVTihbQVNfVU5BTElHTkVEX0FDQ0VTU10sIFsKKyAgIEFDX01TR19DSEVDS0lORyhbaWYgdW5hbGlnbmVkIG1lbW9yeSBhY2Nlc3Mgd29ya3MgY29ycmVjdGx5XSkKKyAgIGlmIHRlc3QgeCIkYXNfY3ZfdW5hbGlnbmVkX2FjY2VzcyIgPSB4IDsgdGhlbgorICAgICBjYXNlICRob3N0IGluCistICAgICAgYWxwaGEqfGFybSp8aHAqfG1pcHMqfHNoKnxzcGFyYyp8aWE2NCopCisrICAgICAgYWxwaGEqfGFybSp8aHAqfG1pcHMqfHJpc2N2KnxzaCp8c3BhcmMqfGlhNjQqKQorICAgICAgICAgX0FTX0VDSE9fTihbKGJsYWNrbGlzdGVkKSBdKQorICAgICAgICAgYXNfY3ZfdW5hbGlnbmVkX2FjY2Vzcz1ubworIAk7OwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsXzAuMy4xNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLXN1cHBvcnQvbGlib2lsL2xpYm9pbF8wLjMuMTcuYmIKaW5kZXggMDNiNzc4NS4uNjU0ZWUxZSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsXzAuMy4xNy5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWxfMC4zLjE3LmJiCkBAIC0xNyw3ICsxNyw5IEBACiAgICAgICAgICAgIGZpbGU6Ly9maXgtdW5hbGlnbmVkLXdoaXRlbGlzdC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1lbmFibGUtdmZwLWZsYWcucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vbGlib2lsX2ZpeF9mb3JfeDMyLnBhdGNoIFwKLSAgICAgICAgICAiCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1hdGhfdmZwX2FzbS5TLUNvbnZlcnQtZmxkbWlhLWZzdG1pYS1pbnN0cnVjdGlvbnMtdG8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4X3Jpc2N2X3VuYWxpZ25lZF9hY2Nlc3MucGF0Y2ggXAorICAgICAgICAgICAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICI0N2RjNzM0ZjgyZmFlYjI5NjRkOTc3NzFjZmQyZTcwMSIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICIxMDVmMDIwNzliMGI1MDAzNGM3NTlkYjM0YjQ3M2VjYjU3MDRmZmEyMGE1NDg2YjYwYThiNzY5ODEyOGJmYzY5IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL01BSU5UQUlORVJTIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL01BSU5UQUlORVJTCmluZGV4IDk0NWVlODYuLjVjNGM0Y2UgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9NQUlOVEFJTkVSUworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvTUFJTlRBSU5FUlMKQEAgLTIsMTIgKzIsMzggQEAKIAogUGxlYXNlIHN1Ym1pdCBhbnkgcGF0Y2hlcyBhZ2FpbnN0IG1ldGEtbmV0d29ya2luZyB0byB0aGUgT3BlbkVtYmVkZGVkCiBkZXZlbG9wbWVudCBtYWlsaW5nIGxpc3QgKG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnKSB3aXRoCi0nW21ldGEtbmV0d29ya2luZ11bdGh1ZF0nIGluIHRoZSBzdWJqZWN0LgorJ1ttZXRhLW5ldHdvcmtpbmddJyBpbiB0aGUgc3ViamVjdC4KIAogV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNlIHNvbWV0aGluZyBsaWtlOgogCiAgICBnaXQgc2VuZC1lbWFpbCAtMSAtTSBcCiAgICAgICAgIC0tdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgXAotICAgICAgICAtLXN1YmplY3QtcHJlZml4PW1ldGEtbmV0d29ya2luZ11bdGh1ZF1bUEFUQ0gKKyAgICAgICAgLS1zdWJqZWN0LXByZWZpeD1tZXRhLW5ldHdvcmtpbmddW1BBVENICiAKLVRodWQgTWFpbnRhaW5lcjogICAgICBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorWW91IG1heSBhbHNvIGNvbnRhY3QgdGhlIG1haW50YWluZXJzIGRpcmVjdGx5LgorCitEZXNjcmlwdGlvbnMgb2Ygc2VjdGlvbiBlbnRyaWVzOgorCisgICAgICAgIE06IE1haWwgcGF0Y2hlcyB0bzogRnVsbE5hbWUgPGFkZHJlc3NAZG9tYWluPgorICAgICAgICBGOiBGaWxlcyBhbmQgZGlyZWN0b3JpZXMgd2l0aCB3aWxkY2FyZCBwYXR0ZXJucy4KKyAgICAgICAgICAgQSB0cmFpbGluZyBzbGFzaCBpbmNsdWRlcyBhbGwgZmlsZXMgYW5kIHN1YmRpcmVjdG9yeSBmaWxlcy4KKyAgICAgICAgICAgRjogcmVjaXBlcy1kZXZ0b29scy8gICAgYWxsIGZpbGVzIGluIGFuZCBiZWxvdyByZWNpcGVzLWRldnRvb2xzCisgICAgICAgICAgIEY6IHJlY2lwZXMtc2VsaW51eC8qICAgIGFsbCBmaWxlcyBpbiByZWNpcGVzLXNlbGludXgsIGJ1dCBub3QgYmVsb3cKKyAgICAgICAgICAgT25lIHBhdHRlcm4gcGVyIGxpbmUuICBNdWx0aXBsZSBGOiBsaW5lcyBhY2NlcHRhYmxlLgorCitQbGVhc2Uga2VlcCB0aGlzIGxpc3QgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLgorCitNYWludGFpbmVycyBMaXN0ICh0cnkgdG8gbG9vayBmb3IgbW9zdCBwcmVjaXNlIGFyZWFzIGZpcnN0KQorCitDT01NT04KK006ICAgICAgS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK006ICAgICAgIkpvZSBNYWNEb25hbGQgKGJhY2t1cCkiIDxqb2VAZGVzZXJ0ZWQubmV0PgorTDogICAgICBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZworUTogICAgICBodHRwczovL3BhdGNod29yay5vcGVuZW1iZWRkZWQub3JnL3Byb2plY3Qvb2UvCitTOiAgICAgIE1haW50YWluZWQKK0Y6ICAgICAgY29uZgorRjogICAgICByZWNpcGVzLSoKKworTkVUS0lUCitNOiAgICAgIEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitGOiAgICAgIHJlY2lwZXMtbmV0a2l0CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvUkVBRE1FIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL1JFQURNRQppbmRleCA3YTRhY2E0Li5lMWJhMjdkIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvUkVBRE1FCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9SRUFETUUKQEAgLTE4LDE5ICsxOCwxOSBAQAogVGhpcyBsYXllciBkZXBlbmRzIG9uOgogCiBVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29wZW5lbWJlZGRlZC1jb3JlLmdpdAotYnJhbmNoOiB0aHVkCiticmFuY2g6IG1hc3RlcgogcmV2aXNpb246IEhFQUQKIAogRm9yIHNvbWUgcmVjaXBlcywgdGhlIG1ldGEtb2UgbGF5ZXIgaXMgcmVxdWlyZWQ6CiAKIFVSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvbWV0YS1vcGVuZW1iZWRkZWQuZ2l0CiBzdWJkaXJlY3Rvcnk6IG1ldGEtb2UKLWJyYW5jaDogdGh1ZAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKIFVSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvbWV0YS1vcGVuZW1iZWRkZWQuZ2l0CiBzdWJkaXJlY3Rvcnk6IG1ldGEtcHl0aG9uCi1icmFuY2g6IHRodWQKK2JyYW5jaDogbWFzdGVyCiByZXZpc2lvbjogSEVBRAogCiBNYWludGVuYW5jZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2NvbmYvbGF5ZXIuY29uZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9jb25mL2xheWVyLmNvbmYKaW5kZXggZDM2ZmY1Yi4uNjdmNThiYyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2NvbmYvbGF5ZXIuY29uZgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvY29uZi9sYXllci5jb25mCkBAIC0xNyw3ICsxNyw3IEBACiBMQVlFUkRFUEVORFNfbmV0d29ya2luZy1sYXllciArPSAib3BlbmVtYmVkZGVkLWxheWVyIgogTEFZRVJERVBFTkRTX25ldHdvcmtpbmctbGF5ZXIgKz0gIm1ldGEtcHl0aG9uIgogCi1MQVlFUlNFUklFU19DT01QQVRfbmV0d29ya2luZy1sYXllciA9ICJ0aHVkIgorTEFZRVJTRVJJRVNfQ09NUEFUX25ldHdvcmtpbmctbGF5ZXIgPSAidGh1ZCB3YXJyaW9yIgogCiBMSUNFTlNFX1BBVEggKz0gIiR7TEFZRVJESVJ9L2xpY2Vuc2VzIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY2l2ZXR3ZWIvY2l2ZXR3ZWIvMDAwMS11bmRlZmluZS1tYWNyby1iZWZvcmUtcmVkZWZpbmluZy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jaXZldHdlYi9jaXZldHdlYi8wMDAxLXVuZGVmaW5lLW1hY3JvLWJlZm9yZS1yZWRlZmluaW5nLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NjUzMzAyLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jaXZldHdlYi9jaXZldHdlYi8wMDAxLXVuZGVmaW5lLW1hY3JvLWJlZm9yZS1yZWRlZmluaW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotRnJvbSA1OWY2NTIzNWE3YTY5MGY1MGQxNjg2ZTk5Nzc5MDhjMDUzNjk3ZDhjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjggQXVnIDIwMTggMjI6NTk6MTMgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gdW5kZWZpbmUgbWFjcm8gYmVmb3JlIHJlZGVmaW5pbmcKLQotRml4ZXMKLXNyYy9tYWluLmM6ODk6OTogZXJyb3I6ICdwcmludGYnIG1hY3JvIHJlZGVmaW5lZCBbLVdlcnJvciwtV21hY3JvLXJlZGVmaW5lZF0KLQotVXBzdHJlYW0tU3RhdHM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL2NpdmV0d2ViL2NpdmV0d2ViL3B1bGwvNjQ5XQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9tYWluLmMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3NyYy9tYWluLmMgYi9zcmMvbWFpbi5jCi1pbmRleCBiYmNiMGFlYy4uMDExOTFhM2MgMTAwNjQ0Ci0tLS0gYS9zcmMvbWFpbi5jCi0rKysgYi9zcmMvbWFpbi5jCi1AQCAtODYsNiArODYsNyBAQAotIAotICNpbmNsdWRlICJjaXZldHdlYi5oIgotIAotKyN1bmRlZiBwcmludGYKLSAjZGVmaW5lIHByaW50ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotIAlET19OT1RfVVNFX1RISVNfRlVOQ1RJT05fX1VTRV9mcHJpbnRmIC8qIFJlcXVpcmVkIGZvciB1bml0IHRlc3RpbmcgKi8KLSAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jaXZldHdlYi9jaXZldHdlYl9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY2l2ZXR3ZWIvY2l2ZXR3ZWJfZ2l0LmJiCmluZGV4IGQ2ODFmN2YuLmM4ZmUyNGMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jaXZldHdlYi9jaXZldHdlYl9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NpdmV0d2ViL2NpdmV0d2ViX2dpdC5iYgpAQCAtNCwxMSArNCwxMCBAQAogTElDRU5TRSA9ICJNSVQiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLm1kO21kNT02ZjI4ZmRjYmEwZGRhNzM1ZWVkNjJiYWM2YTM5NzU2MiIKIAotU1JDUkVWID0gIjE5ZjMxYmE4ZGQ4NDQzZTg2YzcwMjhhNGI0YzM3ZjRiMjk5YWE2OGMiCi1QViA9ICIxLjEwK2dpdCR7U1JDUFZ9IgorU1JDUkVWID0gImNlOGY2ZDM4YTYwZWIxNmM5OTZhZmVlMWU1MzQwZjc2ZWY0ZDA5MjMiCitQViA9ICIxLjExK2dpdCR7U1JDUFZ9IgogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2NpdmV0d2ViL2NpdmV0d2ViLmdpdCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVuaXR0ZXN0LUxpbmstbGlicnQtYW5kLWxpYm0tdXNpbmctbC1vcHRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS11bmRlZmluZS1tYWNyby1iZWZvcmUtcmVkZWZpbmluZy5wYXRjaCBcCiAgICAgICAgICAgICIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKQEAgLTM2LDcgKzM1LDcgQEAKIFBBQ0tBR0VDT05GSUdbY3BwXSA9ICItRENJVkVUV0VCX0VOQUJMRV9DWFg9T04sLURDSVZFVFdFQl9FTkFCTEVfQ1hYPU9GRiwiCiBQQUNLQUdFQ09ORklHW2RlYnVnXSA9ICItRENJVkVUV0VCX0VOQUJMRV9NRU1PUllfREVCVUdHSU5HPU9OLC1EQ0lWRVRXRUJfRU5BQkxFX01FTU9SWV9ERUJVR0dJTkc9T0ZGLCIKIFBBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLURDSVZFVFdFQl9FTkFCTEVfSVBWNj1PTiwtRENJVkVUV0VCX0VOQUJMRV9JUFY2PU9GRiwiCi1QQUNLQUdFQ09ORklHW3NlcnZlcl0gPSAiLURDSVZFVFdFQl9JTlNUQUxMX0VYRUNVVEFCTEU9T04sLURDSVZFVFdFQl9JTlNUQUxMX0VYRUNVVEFCTEU9T0ZGLCIKK1BBQ0tBR0VDT05GSUdbc2VydmVyXSA9ICItRENJVkVUV0VCX0VOQUJMRV9TRVJWRVJfRVhFQ1VUQUJMRT1PTiAtRENJVkVUV0VCX0lOU1RBTExfRVhFQ1VUQUJMRT1PTiwtRENJVkVUV0VCX0VOQUJMRV9TRVJWRVJfRVhFQ1VUQUJMRT1PRkYgLURDSVZFVFdFQl9JTlNUQUxMX0VYRUNVVEFCTEU9T0ZGLCIKIFBBQ0tBR0VDT05GSUdbc3NsXSA9ICItRENJVkVUV0VCX0VOQUJMRV9TU0w9T04gLURDSVZFVFdFQl9TU0xfT1BFTlNTTF9BUElfMV8xPU9GRiAtRENJVkVUV0VCX0VOQUJMRV9TU0xfRFlOQU1JQ19MT0FESU5HPU9GRiwtRENJVkVUV0VCX0VOQUJMRV9TU0w9T0ZGLG9wZW5zc2wgKD0xLjAuMiUpLCIKIFBBQ0tBR0VDT05GSUdbd2Vic29ja2V0c10gPSAiLURDSVZFVFdFQl9FTkFCTEVfV0VCU09DS0VUUz1PTiwtRENJVkVUV0VCX0VOQUJMRV9XRUJTT0NLRVRTPU9GRiwiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jcmRhL2NyZGFfMy4xOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jcmRhL2NyZGFfMy4xOC5iYgppbmRleCBkNWQyYWI2Li5jOTM5MDVlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY3JkYS9jcmRhXzMuMTguYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NyZGEvY3JkYV8zLjE4LmJiCkBAIC00LDEwICs0LDcgQEAKIExJQ0VOU0UgPSAiY29weWxlZnQtbmV4dC0wLjMuMCIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2NvcHlsZWZ0LW5leHQtMC4zLjA7bWQ1PTg3NDNhMmMzNTkwMzdkNGQzMjlhMzFlNzllYWJlZmZlIgogCi1ERVBFTkRTID0gInB5dGhvbi1tMmNyeXB0by1uYXRpdmUgcHl0aG9uLXR5cGluZy1uYXRpdmUgcHl0aG9uLW5hdGl2ZSBsaWJubCBcCi0gICAgICAgICAgICR7QG9lLnV0aWxzLmNvbmRpdGlvbmFsKCJERUZBVUxUX0NSWVBUIiwgImdjcnlwdCIsICJsaWJnY3J5cHQiLCAiIiwgZCl9IFwKLSAgICAgICAgICAgJHtAb2UudXRpbHMuY29uZGl0aW9uYWwoIkRFRkFVTFRfQ1JZUFQiLCAib3BlbnNzbCIsICJvcGVuc3NsMTAiLCAiIiwgZCl9IFwKLSAgICAgICAgICAiCitERVBFTkRTID0gInB5dGhvbi1tMmNyeXB0by1uYXRpdmUgcHl0aG9uLXR5cGluZy1uYXRpdmUgcHl0aG9uLW5hdGl2ZSBsaWJubCBsaWJnY3J5cHQiCiAKIFNSQ19VUkkgPSAiaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvc29mdHdhcmUvbmV0d29yay8ke0JQTn0vJHtCUH0udGFyLnh6IFwKICAgICAgICAgICAgZmlsZTovL2RvLW5vdC1ydW4tbGRjb25maWctaWYtZGVzdGRpci1pcy1zZXQucGF0Y2ggXApAQCAtMjMsMTMgKzIwLDkgQEAKIAogaW5oZXJpdCBweXRob24tZGlyIHB5dGhvbm5hdGl2ZSBzaXRlaW5mbwogCi0jICJnY3J5cHQiIG9yICJvcGVuc3NsIgotREVGQVVMVF9DUllQVCA/Pz0gImdjcnlwdCIKLQogIyBSZWN1cnNpdmUgbWFrZSBwcm9ibGVtCiBFWFRSQV9PRU1BS0UgPSAiTUFLRUZMQUdTPSBERVNURElSPSR7RH0gTElCRElSPSR7bGliZGlyfS9jcmRhIExETElCUkVHPSctV2wsLXJwYXRoLCR7bGliZGlyfS9jcmRhIC1scmVnJyBcCiAgICAgICAgICAgICAgICAgVURFVl9SVUxFX0RJUj0ke25vbmFyY2hfbGliZGlyfS91ZGV2L3J1bGVzLmQvIgotRVhUUkFfT0VNQUtFX2FwcGVuZCA9ICIgJHtAb2UudXRpbHMuY29uZGl0aW9uYWwoIkRFRkFVTFRfQ1JZUFQiLCAib3BlbnNzbCIsICJVU0VfT1BFTlNTTD0xIiwgIiIsIGQpfSIKIFRBUkdFVF9CSVRTID0gIiR7U0lURUlORk9fQklUU30iCiBleHBvcnQgVEFSR0VUX0JJVFMKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3BjZC9kaGNwY2RfNi4xMS41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3BjZC9kaGNwY2RfNi4xMS41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ODVjNmMwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwY2QvZGhjcGNkXzYuMTEuNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVNFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgotU1VNTUFSWSA9ICJkaGNwY2QgLSBhIERIQ1AgY2xpZW50IgotREVTQ1JJUFRJT04gPSAiZGhjcGNkIHJ1bnMgb24geW91ciBtYWNoaW5lIGFuZCBzaWxlbnRseSBjb25maWd1cmVzIHlvdXIgY29tcHV0ZXIgdG8gd29yayBvbiB0aGUgYXR0YWNoZWQgbmV0d29ya3Mgd2l0aG91dCB0cm91YmxlIGFuZCBtb3N0bHkgd2l0aG91dCBjb25maWd1cmF0aW9uLiIKLQotSE9NRVBBR0UgPSAiaHR0cDovL3JveS5tYXJwbGVzLm5hbWUvcHJvamVjdHMvZGhjcGNkLyIKLQotTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kaGNwY2QuYztlbmRsaW5lPTI2O21kNT03N2M0MGQ2NzFhZmY4MDRjYTkxZWE5OTU1NmRhOGU5YiIKLQotU1JDX1VSSSA9ICJodHRwOi8vcm95Lm1hcnBsZXMubmFtZS9kb3dubG9hZHMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIueHoiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIyNDY1NjI0YjYyYzExNTRmMGU4OWRjNjljNDJjODQ5YiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2Zjk2NzRkYzdlMjdlOTM2Y2M3ODcxNzU0MDRhNjE3MTYxODY3NWVjZmI2OTAzYWI5ODg3YjFiNjZhODdkNjllIgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKLQotUEFDS0FHRUNPTkZJRyA/PSAidWRldiAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IgotCi1QQUNLQUdFQ09ORklHW3VkZXZdID0gIi0td2l0aC11ZGV2LC0td2l0aG91dC11ZGV2LHVkZXYsdWRldiIKLVBBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiIKLQotRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLWlwdjQiCi0KLUZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2RoY3BjZC9kZXYvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3BjZC9kaGNwY2RfNy4wLjguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcGNkL2RoY3BjZF83LjAuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGMzZGI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3BjZC9kaGNwY2RfNy4wLjguYmIKQEAgLTAsMCArMSwyNiBAQAorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitTVU1NQVJZID0gImRoY3BjZCAtIGEgREhDUCBjbGllbnQiCitERVNDUklQVElPTiA9ICJkaGNwY2QgcnVucyBvbiB5b3VyIG1hY2hpbmUgYW5kIHNpbGVudGx5IGNvbmZpZ3VyZXMgeW91ciBjb21wdXRlciB0byB3b3JrIG9uIHRoZSBhdHRhY2hlZCBuZXR3b3JrcyB3aXRob3V0IHRyb3VibGUgYW5kIG1vc3RseSB3aXRob3V0IGNvbmZpZ3VyYXRpb24uIgorCitIT01FUEFHRSA9ICJodHRwOi8vcm95Lm1hcnBsZXMubmFtZS9wcm9qZWN0cy9kaGNwY2QvIgorCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTFlOGYxN2U0ZWRjY2NjMzgxNTJjY2Y2MDM3NGUwZjg5IgorCitTUkNfVVJJID0gImh0dHA6Ly9yb3kubWFycGxlcy5uYW1lL2Rvd25sb2Fkcy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci54eiIKKworU1JDX1VSSVttZDVzdW1dID0gIjc3YmJiMWQ3M2I2ZjMwZDZkZGNjOGIwZmQzZWFlMjY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk2OTY4ZTg4MzM2OWFiNGFmZDExZWJhOWRmZDliYjEwOWY1ZGZmZjY1YjI4MTRjZTZjNDMyZjM2MzYyZGM5YjUiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXJlbW92ZS1JTkNMVURFRElSLXRvLXByZXZlbnQtYnVpbGQtaXNzdWVzLnBhdGNoIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUEFDS0FHRUNPTkZJRyA/PSAidWRldiAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IgorCitQQUNLQUdFQ09ORklHW3VkZXZdID0gIi0td2l0aC11ZGV2LC0td2l0aG91dC11ZGV2LHVkZXYsdWRldiIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiIKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLWlwdjQiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2RoY3BjZC9kZXYvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3BjZC9maWxlcy8wMDAxLXJlbW92ZS1JTkNMVURFRElSLXRvLXByZXZlbnQtYnVpbGQtaXNzdWVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3BjZC9maWxlcy8wMDAxLXJlbW92ZS1JTkNMVURFRElSLXRvLXByZXZlbnQtYnVpbGQtaXNzdWVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3ZDIzNDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcGNkL2ZpbGVzLzAwMDEtcmVtb3ZlLUlOQ0xVREVESVItdG8tcHJldmVudC1idWlsZC1pc3N1ZXMucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorRnJvbSBhYTllMzk4MmMxZTc1YWQ0OTk0NWE2MmY1ZTI2MjI3OWM3YTkwNWE0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3RlZmFubyBDYXBwYSA8c3RlZmFuby5jYXBwYS5rczg5QGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMTMgSmFuIDIwMTkgMDE6NTA6NTIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gcmVtb3ZlIElOQ0xVREVESVIgdG8gcHJldmVudCBidWlsZCBpc3N1ZXMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFN0ZWZhbm8gQ2FwcGEgPHN0ZWZhbm8uY2FwcGEua3M4OUBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUgfCA1IC0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKK2luZGV4IDZjODFlMGRiLi4zMmRlYTJiNCAxMDA3NTUKKy0tLSBhL2NvbmZpZ3VyZQorKysrIGIvY29uZmlndXJlCitAQCAtMjAsNyArMjAsNiBAQCBCVUlMRD0KKyBIT1NUPQorIEhPU1RDQz0KKyBUQVJHRVQ9CistSU5DTFVERURJUj0KKyBERUJVRz0KKyBGT1JLPQorIFNUQVRJQz0KK0BAIC03Miw3ICs3MSw2IEBAIGZvciB4IGRvCisgCS0tbWFuZGlyKSBNQU5ESVI9JHZhcjs7CisgCS0tZGF0YWRpcikgREFUQURJUj0kdmFyOzsKKyAJLS13aXRoLWNjb3B0c3xDRkxBR1MpIENGTEFHUz0kdmFyOzsKKy0JLUl8LS1pbmNsdWRlZGlyKSBJTkNMVURFRElSPSIkSU5DTFVERURJUiR7SU5DTFVERURJUjorIH0tSSR2YXIiOzsKKyAJQ0MpIENDPSR2YXI7OworIAlDUFBGTEFHUykgQ1BQRkxBR1M9JHZhcjs7CisgCVBLR19DT05GSUcpIFBLR19DT05GSUc9JHZhcjs7CitAQCAtMzA5LDkgKzMwNyw2IEBAIGlmIFsgLW4gIiRDUFBGTEFHUyIgXTsgdGhlbgorIAllY2hvICJDUFBGTEFHUz0iID4+JENPTkZJR19NSworIAllY2hvICJDUFBGTEFHUys9CSRDUFBGTEFHUyIgPj4kQ09ORklHX01LCisgZmkKKy1pZiBbIC1uICIkSU5DTFVERURJUiIgXTsgdGhlbgorLQllY2hvICJDUFBGTEFHUys9CSRJTkNMVURFRElSIiA+PiRDT05GSUdfTUsKKy1maQorIGlmIFsgLW4gIiRMREZMQUdTIiBdOyB0aGVuCisgCWVjaG8gIkxERkxBR1M9IiA+PiRDT05GSUdfTUsKKyAJZWNobyAiTERGTEFHUys9CSRMREZMQUdTIiA+PiRDT05GSUdfTUsKKy0tIAorMi4xNy4yIChBcHBsZSBHaXQtMTEzKQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGliYmxlci9kaWJibGVyLzAwMDEtbGludXgtcG9ydC1SZW5hbWUtcHRocmVhZF9tdXRleF90LXZhcmlhYmxlLWxvY2sucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGliYmxlci9kaWJibGVyLzAwMDEtbGludXgtcG9ydC1SZW5hbWUtcHRocmVhZF9tdXRleF90LXZhcmlhYmxlLWxvY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQ2YTU2YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaWJibGVyL2RpYmJsZXIvMDAwMS1saW51eC1wb3J0LVJlbmFtZS1wdGhyZWFkX211dGV4X3QtdmFyaWFibGUtbG9jay5wYXRjaApAQCAtMCwwICsxLDc0IEBACitGcm9tIDYzMDA4NmNmMWIzZmJhNzE4MjIzMTlhMjY4ZDM3MTE3MzRjZDZhYTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVGh1LCAzMSBKYW4gMjAxOSAxMjo1NjoxMyAtMDgwMAorU3ViamVjdDogW1BBVENIXSBsaW51eC1wb3J0OiBSZW5hbWUgcHRocmVhZF9tdXRleF90IHZhcmlhYmxlICdsb2NrJworCitsb2NrIGlzIGFsc28gdXNlZCBieSBsaWJjKysgaW4gc3RkIG5hbWVzcGFjZSBhbmQgdXNpbmcgaXQgaGVyZSBjYXVzZXMKK2NsYW5nIHRvIGZhaWwgZS5nLgorCitkaWJibGVyLWNsaWVudC5jcHA6NDc6MjU6IGVycm9yOiByZWZlcmVuY2UgdG8gJ2xvY2snIGlzIGFtYmlndW91cworICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmbG9jayk7CisgICAgICAgICAgICAgICAgICAgICAgICBeCisuLi8uLi8uLi8uLi8uLi8uLi8uLi93b3Jrc3BhY2Uvc291cmNlcy9kaWJibGVyL1BvcnQtbGludXgvZGliYmxlci1jbGllbnQuY3BwOjI5OjI2OiBub3RlOiBjYW5kaWRhdGUgZm91bmQgYnkgbmFtZSBsb29rdXAgaXMgJ2xvY2snCitleHRlcm4gOjpwdGhyZWFkX211dGV4X3QgbG9jazsKKyAgICAgICAgICAgICAgICAgICAgICAgICBeCisvbW50L2EveW9lL2J1aWxkL3RtcC93b3JrL2FhcmNoNjQteW9lLWxpbnV4L2RpYmJsZXIvMS4wLjErMS4wLjJSQzErZ2l0YzRiMGVkNTJlNzUxZGE3ODIzZGQ5YTM2ZTkxZjkzYTYzMTBlNTUyNS1yMC9yZWNpcGUtc3lzcm9vdC91c3IvaW5jbHVkZS9jKysvdjEvbXV0ZXg6NDQ2OjE6IG5vdGU6IGNhbmRpZGF0ZSBmb3VuZCBieSBuYW1lIGxvb2t1cCBpcyAnc3RkOjpfXzE6OmxvY2snCitsb2NrKF9MMCYgX19sMCwgX0wxJiBfX2wxLCBfTDImIF9fbDIsIF9MMyYgLi4uX19sMykKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS90b21hc3ptcnVnYWxza2kvZGliYmxlci9wdWxsLzM3XQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgUG9ydC1saW51eC9kaWJibGVyLWNsaWVudC5jcHAgICAgICAgICAgfCA2ICsrKy0tLQorIFBvcnQtbGludXgvbG93bGV2ZWwtbGludXgtbGluay1zdGF0ZS5jIHwgNiArKystLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL1BvcnQtbGludXgvZGliYmxlci1jbGllbnQuY3BwIGIvUG9ydC1saW51eC9kaWJibGVyLWNsaWVudC5jcHAKK2luZGV4IDc4ZjM0MjQxLi5iNWViYjlmMCAxMDA2NDQKKy0tLSBhL1BvcnQtbGludXgvZGliYmxlci1jbGllbnQuY3BwCisrKysgYi9Qb3J0LWxpbnV4L2RpYmJsZXItY2xpZW50LmNwcAorQEAgLTI2LDcgKzI2LDcgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKKyAKKyAjZGVmaW5lIElGX1JFQ09OTkVDVEVEX0RFVEVDVEVEIC0xCisgCistZXh0ZXJuIHB0aHJlYWRfbXV0ZXhfdCBsb2NrOworK2V4dGVybiBwdGhyZWFkX211dGV4X3QgZGliYmxlcl9sb2NrOworIAorIFRESENQQ2xpZW50KiBwdHIgPSAwOworIAorQEAgLTQ0LDggKzQ0LDggQEAgdm9pZCBzaWduYWxfaGFuZGxlcihpbnQgbikgeworICNpZmRlZiBNT0RfQ0xOVF9DT05GSVJNCisgdm9pZCBzaWduYWxfaGFuZGxlcl9vZl9saW5rc3RhdGVfY2hhbmdlKGludCBuKSB7CisgICAgIExvZyhOb3RpY2UpIDw8ICJOZXR3b3JrIHN3aXRjaCBvZmYgZXZlbnQgZGV0ZWN0ZWQuIGluaXRpYXRpbmcgQ09ORklSTS4iIDw8IExvZ0VuZDsKKy0gICAgcHRocmVhZF9tdXRleF9sb2NrKCZsb2NrKTsKKy0gICAgcHRocmVhZF9tdXRleF91bmxvY2soJmxvY2spOworKyAgICBwdGhyZWFkX211dGV4X2xvY2soJmRpYmJsZXJfbG9jayk7CisrICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZkaWJibGVyX2xvY2spOworIH0KKyAjZW5kaWYKKyAKK2RpZmYgLS1naXQgYS9Qb3J0LWxpbnV4L2xvd2xldmVsLWxpbnV4LWxpbmstc3RhdGUuYyBiL1BvcnQtbGludXgvbG93bGV2ZWwtbGludXgtbGluay1zdGF0ZS5jCitpbmRleCA3NjI5M2VhMS4uZTZiOTQwNjMgMTAwNjQ0CistLS0gYS9Qb3J0LWxpbnV4L2xvd2xldmVsLWxpbnV4LWxpbmstc3RhdGUuYworKysrIGIvUG9ydC1saW51eC9sb3dsZXZlbC1saW51eC1saW5rLXN0YXRlLmMKK0BAIC0zNCw3ICszNCw3IEBAIHZvbGF0aWxlIGludCAqIG5vdGlmaWVyID0gMDsKKyBpbnQgaXNEb25lID0gMDsKKyBwdGhyZWFkX3QgcGFyZW50X2lkOworIHB0aHJlYWRfdCBudGlkOworLXB0aHJlYWRfbXV0ZXhfdCBsb2NrOworK3B0aHJlYWRfbXV0ZXhfdCBkaWJibGVyX2xvY2s7CisgCisgc3RydWN0IHN0YXRlIHsKKyAgICAgaW50IGlkOworQEAgLTg2LDkgKzg2LDkgQEAgdm9pZCBsaW5rX3N0YXRlX2NoYW5nZWQoaW50IGlmaW5kZXgpCisgICAgIHsKKyAJaWYgKGNoYW5nZWRfbGlua3MtPmNudDwxNikKKyAJICAgIGNoYW5nZWRfbGlua3MtPmlmaW5kZXhbY2hhbmdlZF9saW5rcy0+Y250KytdID0gaWZpbmRleDsKKy0JcHRocmVhZF9tdXRleF9sb2NrKCZsb2NrKTsKKysJcHRocmVhZF9tdXRleF9sb2NrKCZkaWJibGVyX2xvY2spOworIAkqbm90aWZpZXIgPSAxOyAvKiBub3RpZnkgdGhhdCBjaGFuZ2UgaGFzIG9jY3VyZWQgKi8KKy0JcHRocmVhZF9tdXRleF91bmxvY2soJmxvY2spOworKwlwdGhyZWFkX211dGV4X3VubG9jaygmZGliYmxlcl9sb2NrKTsKKyAJcHRocmVhZF9raWxsKHBhcmVudF9pZCxTSUdVU1IxKTsKKyAgICAgfSBlbHNlCisgICAgIHsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaWJibGVyL2RpYmJsZXJfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RpYmJsZXIvZGliYmxlcl9naXQuYmIKaW5kZXggODg5MGUxNC4uOTAwNTFhMyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RpYmJsZXIvZGliYmxlcl9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RpYmJsZXIvZGliYmxlcl9naXQuYmIKQEAgLTksNyArOSw4IEBACiAKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS90b21hc3ptcnVnYWxza2kvZGliYmxlciBcCiAgICAgICAgICAgIGZpbGU6Ly9kaWJibGVyX2ZpeF9nZXRTaXplX2NyYXNoLnBhdGNoIFwKLSAgICAgICAgICAiCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxpbnV4LXBvcnQtUmVuYW1lLXB0aHJlYWRfbXV0ZXhfdC12YXJpYWJsZS1sb2NrLnBhdGNoIFwKKyAgICAgICAgICAgIgogUFYgPSAiMS4wLjErMS4wLjJSQzErZ2l0JHtTUkNSRVZ9IgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2ZpcmV3YWxsZC9maWxlcy8wMDAxLWZpeC1idWlsZGluZy1pbi1hLXNlcGFyYXRlLWRpcmVjdG9yeS1vdXRzaWRlLXRoZS1zb3UucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZmlyZXdhbGxkL2ZpbGVzLzAwMDEtZml4LWJ1aWxkaW5nLWluLWEtc2VwYXJhdGUtZGlyZWN0b3J5LW91dHNpZGUtdGhlLXNvdS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjM0ZmYyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2ZpcmV3YWxsZC9maWxlcy8wMDAxLWZpeC1idWlsZGluZy1pbi1hLXNlcGFyYXRlLWRpcmVjdG9yeS1vdXRzaWRlLXRoZS1zb3UucGF0Y2gKQEAgLTAsMCArMSw3NyBAQAorZmlyZXdhbGxkOiBmaXggYnVpbGRpbmcgaW4gYSBzZXBhcmF0ZSBkaXJlY3Rvcnkgb3V0c2lkZSB0aGUgc291cmNlIHRyZWUKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9maXJld2FsbGQvZmlyZXdhbGxkL3B1bGwvNDU2XQorU2lnbmVkLW9mZi1ieTogRGFuIENhbGxhZ2hhbiA8ZGFuLmNhbGxhZ2hhbkBvcGVuZ2Vhci5jb20+CisKK2RpZmYgLS1naXQgYS9jb25maWcvTWFrZWZpbGUuYW0gYi9jb25maWcvTWFrZWZpbGUuYW0KK2luZGV4IDcwNDhkMmVlLi41MjcwZDQwOCAxMDA2NDQKKy0tLSBhL2NvbmZpZy9NYWtlZmlsZS5hbQorKysrIGIvY29uZmlnL01ha2VmaWxlLmFtCitAQCAtMzc3LDExICszNzcsMTEgQEAgaW5zdGFsbC1jb25maWc6CisgCSQoTUtESVJfUCkgJChERVNURElSKSQoc2NvbmZkaXIpL3pvbmVzCisgCSQoTUtESVJfUCkgJChERVNURElSKSQoc2NvbmZkaXIpL2hlbHBlcnMKKyAJJChNS0RJUl9QKSAkKERFU1RESVIpJChwcmVmaXhsaWJkaXIpCistCWNwIC1yIGljbXB0eXBlcyAkKERFU1RESVIpJChwcmVmaXhsaWJkaXIpCistCWNwIC1yIGlwc2V0cyAkKERFU1RESVIpJChwcmVmaXhsaWJkaXIpCistCWNwIC1yIHNlcnZpY2VzICQoREVTVERJUikkKHByZWZpeGxpYmRpcikKKy0JY3AgLXIgem9uZXMgJChERVNURElSKSQocHJlZml4bGliZGlyKQorLQljcCAtciBoZWxwZXJzICQoREVTVERJUikkKHByZWZpeGxpYmRpcikKKysJY3AgLXIgJChzcmNkaXIpL2ljbXB0eXBlcyAkKERFU1RESVIpJChwcmVmaXhsaWJkaXIpCisrCWNwIC1yICQoc3JjZGlyKS9pcHNldHMgJChERVNURElSKSQocHJlZml4bGliZGlyKQorKwljcCAtciAkKHNyY2Rpcikvc2VydmljZXMgJChERVNURElSKSQocHJlZml4bGliZGlyKQorKwljcCAtciAkKHNyY2Rpcikvem9uZXMgJChERVNURElSKSQocHJlZml4bGliZGlyKQorKwljcCAtciAkKHNyY2RpcikvaGVscGVycyAkKERFU1RESVIpJChwcmVmaXhsaWJkaXIpCisgCisgdW5pbnN0YWxsLWNvbmZpZzoKKyAJcm1kaXIgJChERVNURElSKSQoc2NvbmZkaXIpL2ljbXB0eXBlcworZGlmZiAtLWdpdCBhL2RvYy94bWwvTWFrZWZpbGUuYW0gYi9kb2MveG1sL01ha2VmaWxlLmFtCitpbmRleCA4YzkzYWI5Yy4uZDAzMTNlM2UgMTAwNjQ0CistLS0gYS9kb2MveG1sL01ha2VmaWxlLmFtCisrKysgYi9kb2MveG1sL01ha2VmaWxlLmFtCitAQCAtNjksNyArNjksOCBAQCBlZGl0ID0gc2VkIFwKKyAJLWUgJ3N8XEBQUkVGSVhcQHwkKHByZWZpeCl8JyBcCisgCS1lICdzfFxAU1lTQ09ORkRJUlxAfCQoc3lzY29uZmRpcil8JyBcCisgCS1lICdzfFxAUEFDS0FHRV9TVFJJTkdcQHwkKFBBQ0tBR0VfU1RSSU5HKXwnIFwKKy0JLWUgJ3N8XEBJRkNGR0RJUlxAfCQoSUZDRkdESVIpfCcKKysJLWUgJ3N8XEBJRkNGR0RJUlxAfCQoSUZDRkdESVIpfCcgXAorKwktZSAnc3xAU1JDRElSQHwkKHNyY2Rpcil8JworIAorIHRyYW5zZm9ybS1tYW4ueHNsOiB0cmFuc2Zvcm0tbWFuLnhzbC5pbgorIAkkKGVkaXQpICQ8ID4kQAorZGlmZiAtLWdpdCBhL2RvYy94bWwvZmlyZXdhbGwtY21kLnhtbC5pbiBiL2RvYy94bWwvZmlyZXdhbGwtY21kLnhtbC5pbgoraW5kZXggYzI2MDY1NTMuLjI0ZDc3ODU4IDEwMDY0NAorLS0tIGEvZG9jL3htbC9maXJld2FsbC1jbWQueG1sLmluCisrKysgYi9kb2MveG1sL2ZpcmV3YWxsLWNtZC54bWwuaW4KK0BAIC0xLDkgKzEsOSBAQAorIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+CisgPCFET0NUWVBFIHJlZmVudHJ5IFBVQkxJQyAiLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4yLy9FTiIgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4yL2RvY2Jvb2t4LmR0ZCIKKyBbCistPCFFTlRJVFkgYXV0aG9ycyBTWVNURU0gImF1dGhvcnMueG1sIj4KKy08IUVOVElUWSBzZWVhbHNvIFNZU1RFTSAic2VlYWxzby54bWwiPgorLTwhRU5USVRZIG5vdGVzIFNZU1RFTSAibm90ZXMueG1sIj4KKys8IUVOVElUWSBhdXRob3JzIFNZU1RFTSAiQFNSQ0RJUkAvYXV0aG9ycy54bWwiPgorKzwhRU5USVRZIHNlZWFsc28gU1lTVEVNICJAU1JDRElSQC9zZWVhbHNvLnhtbCI+CisrPCFFTlRJVFkgbm90ZXMgU1lTVEVNICJAU1JDRElSQC9ub3Rlcy54bWwiPgorIDwhRU5USVRZIGVycm9yY29kZXMgU1lTVEVNICJlcnJvcmNvZGVzLnhtbCI+CisgXT4KKyAKK2RpZmYgLS1naXQgYS9kb2MveG1sL2ZpcmV3YWxsZC54bWwuaW4gYi9kb2MveG1sL2ZpcmV3YWxsZC54bWwuaW4KK2luZGV4IGRlODAyMDU5Li4zZDMxOWIwNCAxMDA2NDQKKy0tLSBhL2RvYy94bWwvZmlyZXdhbGxkLnhtbC5pbgorKysrIGIvZG9jL3htbC9maXJld2FsbGQueG1sLmluCitAQCAtMSw5ICsxLDkgQEAKKyA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorIDwhRE9DVFlQRSByZWZlbnRyeSBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMi8vRU4iICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMi9kb2Nib29reC5kdGQiCisgWworLTwhRU5USVRZIGF1dGhvcnMgU1lTVEVNICJhdXRob3JzLnhtbCI+CistPCFFTlRJVFkgc2VlYWxzbyBTWVNURU0gInNlZWFsc28ueG1sIj4KKy08IUVOVElUWSBub3RlcyBTWVNURU0gIm5vdGVzLnhtbCI+CisrPCFFTlRJVFkgYXV0aG9ycyBTWVNURU0gIkBTUkNESVJAL2F1dGhvcnMueG1sIj4KKys8IUVOVElUWSBzZWVhbHNvIFNZU1RFTSAiQFNSQ0RJUkAvc2VlYWxzby54bWwiPgorKzwhRU5USVRZIG5vdGVzIFNZU1RFTSAiQFNSQ0RJUkAvbm90ZXMueG1sIj4KKyBdPgorIAorIDwhLS0KKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9maXJld2FsbGQvZmlsZXMvZmlyZXdhbGxkLmluaXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZmlyZXdhbGxkL2ZpbGVzL2ZpcmV3YWxsZC5pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4ZTg5MzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZmlyZXdhbGxkL2ZpbGVzL2ZpcmV3YWxsZC5pbml0CkBAIC0wLDAgKzEsNDggQEAKKyMhL2Jpbi9zaAorCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiBmaXJld2FsbGQKKyMgUmVxdWlyZWQtU3RhcnQ6ICRzeXNsb2cgJGxvY2FsX2ZzIG1lc3NhZ2VidXMKKyMgUmVxdWlyZWQtU3RvcDogCisjIERlZmF1bHQtU3RhcnQ6IDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAwIDEgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogCisjIERlc2NyaXB0aW9uOiAKKyMjIyBFTkQgSU5JVCBJTkZPCisKKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKK2ZpcmV3YWxsZD0vdXNyL3NiaW4vZmlyZXdhbGxkCitwaWRmaWxlPS92YXIvcnVuL2ZpcmV3YWxsZC5waWQKKworY2FzZSAiJDEiIGluCisgICAgc3RhcnQpCisgICAgICAgIGVjaG8gLW4gIlN0YXJ0aW5nIGZpcmV3YWxsZDogIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1leGVjICRmaXJld2FsbGQKKyAgICAgICAgZWNobyAiLiIKKyAgICAgICAgOzsKKyAgICBzdG9wKQorICAgICAgICBlY2hvIC1uICJTdG9wcGluZyBmaXJld2FsbGQ6ICIKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1waWRmaWxlICRwaWRmaWxlCisgICAgICAgIGVjaG8gIi4iCisgICAgICAgIDs7CisgICAgcmVzdGFydCkKKyAgICAgICAgZWNobyAtbiAiU3RvcHBpbmcgZmlyZXdhbGxkOiAiCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tcGlkZmlsZSAkcGlkZmlsZQorICAgICAgICBlY2hvICIuIgorICAgICAgICBlY2hvIC1uICJTdGFydGluZyBmaXJld2FsbGQ6ICIKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tZXhlYyAkZmlyZXdhbGxkCisgICAgICAgIGVjaG8gIi4iCisgICAgICAgIDs7CisgICAgcmVsb2FkKQorICAgICAgICBlY2hvIC1uICJSZWxvYWRpbmcgZmlyZXdhbGxkOiAiCisgICAgICAgIGZpcmV3YWxsLWNtZCAtLXJlbG9hZAorICAgICAgICBlY2hvICIuIgorICAgICAgICA7OworICAgIHN0YXR1cykKKyAgICAgICAgZmlyZXdhbGwtY21kIC0tc3RhdGUKKyAgICAgICAgOzsKKyAgICAqKQorICAgICAgICBlY2hvICJVc2FnZTogL2V0Yy9pbml0LmQvZmlyZXdhbGxkIHtzdGFydHxzdG9wfHJlc3RhcnR8cmVsb2FkfHN0YXR1c30iID4mMgorICAgICAgICBleGl0IDEKK2VzYWMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9maXJld2FsbGQvZmlyZXdhbGxkXzAuNi4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2ZpcmV3YWxsZC9maXJld2FsbGRfMC42LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk5OWZhNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9maXJld2FsbGQvZmlyZXdhbGxkXzAuNi4zLmJiCkBAIC0wLDAgKzEsODQgQEAKK1NVTU1BUlkgPSAiRHluYW1pYyBmaXJld2FsbCBkYWVtb24gd2l0aCBhIEQtQnVzIGludGVyZmFjZSIKK0hPTUVQQUdFID0gImh0dHBzOi8vZmlyZXdhbGxkLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9maXJld2FsbGQvZmlyZXdhbGxkL2lzc3VlcyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ZpcmV3YWxsZC9maXJld2FsbGQvYXJjaGl2ZS92JHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2ZpcmV3YWxsZC5pbml0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWJ1aWxkaW5nLWluLWEtc2VwYXJhdGUtZGlyZWN0b3J5LW91dHNpZGUtdGhlLXNvdS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiNWVmOTU0ZDliNmIyNDRmZmVhYmNkMjI2YmUxODY3YTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDM5YWQ1NmVhNmQ2NTUzYWFkZjMzMjQzZWE1YjM5ODAyZDczNTE5ZTQ2YTg5YzgwYzY0OGIyYmQxZWM3OGFlYiIKKworIyBnbGliLTIuMC1uYXRpdmUgaXMgbmVlZGVkIGZvciBHU0VUVElOR1NfUlVMRVMgYXV0b2NvbmYgbWFjcm8gZnJvbSBnc2V0dGluZ3MubTQKKyMgeG1sdG8tbmF0aXZlIGlzIG5lZWRlZCB0byBwb3B1bGF0ZSAvZXRjL3htbC9jYXRhbG9nLnhtbCBpbiB0aGUgc3lzcm9vdCBzbyB0aGF0IHhzbHRwcm9jIGZpbmRzIHRoZSBkb2Nib29rIHhzbHQKK0RFUEVORFMgPSAiaW50bHRvb2wtbmF0aXZlIGdsaWItMi4wLW5hdGl2ZSBsaWJ4c2x0LW5hdGl2ZSBkb2Nib29rLXhzbC1zdHlsZXNoZWV0cy1uYXRpdmUgeG1sdG8tbmF0aXZlIgorCitpbmhlcml0IGdldHRleHQgYXV0b3Rvb2xzIGJhc2gtY29tcGxldGlvbiBweXRob24zbmF0aXZlIGdzZXR0aW5ncyBzeXN0ZW1kIHVwZGF0ZS1yYy5kCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZC11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vLC0tZGlzYWJsZS1zeXN0ZW1kIgorCisjIGlwdGFibGVzLCBpcDZ0YWJsZXMsIGVidGFibGVzLCBhbmQgaXBzZXQgKnNob3VsZCogYmUgdW5uZWNlc3NhcnkKKyMgd2hlbiB0aGUgbmZ0YWJsZXMgYmFja2VuZCBpcyBhdmFpbGFibGUsIGJlY2F1c2UgbmZ0YWJsZXMgc3VwZXJzZWRlcyBhbGwgb2YgdGhlbS4KKyMgSG93ZXZlciB3ZSBzdGlsbCBuZWVkIGlwdGFibGVzIGFuZCBpcDZ0YWJsZXMgdG8gYmUgYXZhaWxhYmxlIG90aGVyd2lzZSBhbnkKKyMgYXBwbGljYXRpb24gcmVseWluZyBvbiAiZGlyZWN0IHBhc3N0aHJvdWdoIiBydWxlcyAoc3VjaCBhcyBkb2NrZXIpIHdpbGwgYnJlYWsuCisjIC9ldGMvc3lzY29uZmlnL2ZpcmV3YWxsZCBpcyBhIFJlZCBIYXQtaXNtLCBvbmx5IHJlZmVyZW5jZWQgYnkKKyMgdGhlIFJlZCBIYXQtc3BlY2lmaWMgaW5pdCBzY3JpcHQgd2hpY2ggd2UgYXJlbid0IHVzaW5nLCBzbyB3ZSBkaXNhYmxlIHRoYXQuCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0td2l0aC1uZnQ9JHtzYmluZGlyfS9uZnQgXAorICAgIC0td2l0aG91dC1pcHNldCBcCisgICAgLS13aXRoLWlwdGFibGVzPSR7c2JpbmRpcn0vaXB0YWJsZXMgXAorICAgIC0td2l0aC1pcHRhYmxlcy1yZXN0b3JlPSR7c2JpbmRpcn0vaXB0YWJsZXMtcmVzdG9yZSBcCisgICAgLS13aXRoLWlwNnRhYmxlcz0ke3NiaW5kaXJ9L2lwNnRhYmxlcyBcCisgICAgLS13aXRoLWlwNnRhYmxlcy1yZXN0b3JlPSR7c2JpbmRpcn0vaXA2dGFibGVzLXJlc3RvcmUgXAorICAgIC0td2l0aG91dC1lYnRhYmxlcyBcCisgICAgLS13aXRob3V0LWVidGFibGVzLXJlc3RvcmUgXAorICAgIC0tZGlzYWJsZS1zeXNjb25maWcgXAorIgorCitJTklUU0NSSVBUX05BTUUgPSAiZmlyZXdhbGxkIgorU1lTVEVNRF9TRVJWSUNFID0gImZpcmV3YWxsZC5zZXJ2aWNlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICA6CisgICAgZWxzZQorICAgICAgICAjIGZpcmV3YWxsZCBzaGlwcyBhbiBpbml0IHNjcmlwdCBidXQgaXQgY29udGFpbnMgUmVkIEhhdC1pc21zLCByZXBsYWNlIGl0IHdpdGggb3VyIG93bgorICAgICAgICBybSAtcmYgJHtEfSR7c3lzY29uZmRpcn0vcmMuZC8KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICAgICAgaW5zdGFsbCAtbTA3NTUgJHtXT1JLRElSfS9maXJld2FsbGQuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvZmlyZXdhbGxkCisgICAgZmkKKworICAgICMgV2UgcmFuIC4vY29uZmlndXJlIHdpdGggUFlUSE9OIHBvaW50ZWQgYXQgdGhlIGJpbmFyeSBpbnNpZGUgJFNUQUdJTkdfQklORElSX05BVElWRQorICAgICMgc28gbm93IHdlIG5lZWQgdG8gZml4IHVwIGFueSByZWZlcmVuY2VzIHRvIHBvaW50IGF0IHRoZSBwcm9wZXIgcGF0aCBpbiB0aGUgaW1hZ2UuCisgICAgIyBUaGlzIGhhY2sgaXMgYWxzbyBpbiBkaXN0dXRpbHMuYmJjbGFzcywgYnV0IGZpcmV3YWxsZCBkb2Vzbid0IHVzZSBkaXN0dXRpbHMvc2V0dXB0b29scy4KKyAgICBpZiBbICR7UE59ICE9ICIke0JQTn0tbmF0aXZlIiBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAtZSBzOiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9weXRob24zLW5hdGl2ZS9weXRob24zOiR7YmluZGlyfS9weXRob24zOmcgXAorICAgICAgICAgICAgJHtEfSR7YmluZGlyfS8qICR7RH0ke3NiaW5kaXJ9LyogJHtEfSR7c3lzY29uZmRpcn0vZmlyZXdhbGxkLyoueG1sCisgICAgZmkKKyAgICBzZWQgLWkgLWUgczoke1NUQUdJTkdfQklORElSX05BVElWRX06JHtiaW5kaXJ9OmcgXAorICAgICAgICAke0R9JHtiaW5kaXJ9LyogJHtEfSR7c2JpbmRpcn0vKiAke0R9JHtzeXNjb25mZGlyfS9maXJld2FsbGQvKi54bWwKK30KKworRklMRVNfJHtQTn0gKz0gIlwKKyAgICAke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS9maXJld2FsbCBcCisgICAgJHtkYXRhZGlyfS9wb2xraXQtMSBcCisgICAgJHtkYXRhZGlyfS9tZXRhaW5mbyBcCisiCisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICBuZnRhYmxlcyBcCisgICAgaXB0YWJsZXMgXAorICAgIHB5dGhvbjMtY29yZSBcCisgICAgcHl0aG9uMy1pbyBcCisgICAgcHl0aG9uMy1mY250bCBcCisgICAgcHl0aG9uMy1zaGVsbCBcCisgICAgcHl0aG9uMy1zeXNsb2cgXAorICAgIHB5dGhvbjMteG1sIFwKKyAgICBweXRob24zLWRidXMgXAorICAgIHB5dGhvbjMtc2xpcC1kYnVzIFwKKyAgICBweXRob24zLWRlY29yYXRvciBcCisgICAgcHl0aG9uMy1weWdvYmplY3QgXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2ZyZWVyYWRpdXMvZmlsZXMvcmFkaXVzZC5zZXJ2aWNlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2ZyZWVyYWRpdXMvZmlsZXMvcmFkaXVzZC5zZXJ2aWNlCmluZGV4IDg5OWM0ZTQuLjhkYWUwZGYgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9mcmVlcmFkaXVzL2ZpbGVzL3JhZGl1c2Quc2VydmljZQorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZnJlZXJhZGl1cy9maWxlcy9yYWRpdXNkLnNlcnZpY2UKQEAgLTYsNyArNiw2IEBACiBUeXBlPWZvcmtpbmcKIFBJREZpbGU9QFNUQVRFRElSQC9ydW4vcmFkaXVzZC9yYWRpdXNkLnBpZAogRXhlY1N0YXJ0UHJlPS1AQkFTRV9CSU5ESVJAL2Nob3duIC1SIHJhZGl1c2QucmFkaXVzZCBAU1RBVEVESVJAL3J1bi9yYWRpdXNkCi1FeGVjU3RhcnRQcmU9LUBCQVNFX0JJTkRJUkAvc2ggLWMgImlmIFsgISAtZiBAU1lTQ09ORkRJUkAvcmFkZGIvY2VydHMvc2VydmVyLnBlbSBdOyB0aGVuIHN1ZG8gLXUgcmFkaXVzZCBAU1lTQ09ORkRJUkAvcmFkZGIvY2VydHMvYm9vdHN0cmFwOyBmaSIKIEV4ZWNTdGFydFByZT1AU0JJTkRJUkAvcmFkaXVzZCAtQwogRXhlY1N0YXJ0PUBTQklORElSQC9yYWRpdXNkIC1kIEBTWVNDT05GRElSQC9yYWRkYgogRXhlY1JlbG9hZD1AU0JJTkRJUkAvcmFkaXVzZCAtQwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2ZyZWVyYWRpdXMvZnJlZXJhZGl1c18zLjAuMTcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZnJlZXJhZGl1cy9mcmVlcmFkaXVzXzMuMC4xNy5iYgppbmRleCBjMTdkNTZkLi41YWI5YTNmIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZnJlZXJhZGl1cy9mcmVlcmFkaXVzXzMuMC4xNy5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZnJlZXJhZGl1cy9mcmVlcmFkaXVzXzMuMC4xNy5iYgpAQCAtNjgsNiArNjgsNyBAQAogCiBQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtJywgJycsIGQpfSBcCiAgICAgICAgICAgICAgICAgICAgcGNyZSBsaWJjYXAgXAorICAgICAgICAgICAgICAgICAgIG9wZW5zc2wgcmxtLWVhcC1mYXN0IHJsbS1lYXAtcHdkIFwKICIKIAogUEFDS0FHRUNPTkZJR1trcmI1XSA9ICItLXdpdGgtcmxtX2tyYjUsLS13aXRob3V0LXJsbV9rcmI1LGtyYjUiCkBAIC04Myw2ICs4NCw5IEBACiBQQUNLQUdFQ09ORklHW3B5dGhvbl0gPSAiLS13aXRoLXJsbV9weXRob24gLS13aXRoLXJsbS1weXRob24tYmluPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9weXRob24tbmF0aXZlL3B5dGhvbiAtLXdpdGgtcmxtLXB5dGhvbi1pbmNsdWRlLWRpcj0ke1NUQUdJTkdfSU5DRElSfS8ke1BZVEhPTl9ESVJ9LC0td2l0aG91dC1ybG1fcHl0aG9uLHB5dGhvbi1uYXRpdmUgcHl0aG9uIgogUEFDS0FHRUNPTkZJR1tyZXN0XSA9ICItLXdpdGgtcmxtX3Jlc3QsLS13aXRob3V0LXJsbV9yZXN0LGN1cmwganNvbi1jIgogUEFDS0FHRUNPTkZJR1tydWJ5XSA9ICItLXdpdGgtcmxtX3J1YnksLS13aXRob3V0LXJsbV9ydWJ5LHJ1YnkiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1vcGVuc3NsLCAtLXdpdGhvdXQtb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbcmxtLWVhcC1mYXN0XSA9ICItLXdpdGgtcmxtX2VhcF9mYXN0LCAtLXdpdGhvdXQtcmxtX2VhcF9mYXN0IgorUEFDS0FHRUNPTkZJR1tybG0tZWFwLXB3ZF0gPSAiLS13aXRoLXJsbV9lYXBfcHdkLCAtLXdpdGhvdXQtcmxtX2VhcF9wd2QiCiAKIGluaGVyaXQgdXNlcmFkZCBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kIHN5c3RlbWQKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHNfMS45LjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlsc18xLjkuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTI3ZGJhZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlsc18xLjkuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIwNiArMCwwIEBACi1ERVNDUklQVElPTiA9ICJUaGUgR05VIGluZXR1dGlscyBhcmUgYSBjb2xsZWN0aW9uIG9mIGNvbW1vbiBcCi1uZXR3b3JraW5nIHV0aWxpdGllcyBhbmQgc2VydmVycyBpbmNsdWRpbmcgZnRwLCBmdHBkLCByY3AsIFwKLXJleGVjLCBybG9naW4sIHJsb2dpbmQsIHJzaCwgcnNoZCwgc3lzbG9nLCBzeXNsb2dkLCB0YWxrLCBcCi10YWxrZCwgdGVsbmV0LCB0ZWxuZXRkLCB0ZnRwLCB0ZnRwZCwgYW5kIHV1Y3BkLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9pbmV0dXRpbHMiCi1TRUNUSU9OID0gIm5ldCIKLURFUEVORFMgPSAibmN1cnNlcyBuZXRiYXNlIHJlYWRsaW5lIHZpcnR1YWwvY3J5cHQiCi0KLUxJQ0VOU0UgPSAiR1BMdjMiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTBjNzA1MWFlZjkyMTlkYzcyMzdmMjA2YzVjNDE3OWE3IgotCi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vaW5ldHV0aWxzL2luZXR1dGlscy0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vdmVyc2lvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9pbmV0dXRpbHMtMS44LTAwMDEtcHJpbnRmLXBhcnNlLXB1bGwtaW4tZmVhdHVyZXMuaC1mb3ItX19HTElCQ19fLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2luZXR1dGlscy0xLjgtMDAwMy13Y2hhci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9yZXhlYy54aW5ldGQuaW5ldHV0aWxzICBcCi0gICAgICAgICAgIGZpbGU6Ly9ybG9naW4ueGluZXRkLmluZXR1dGlscyBcCi0gICAgICAgICAgIGZpbGU6Ly9yc2gueGluZXRkLmluZXR1dGlscyBcCi0gICAgICAgICAgIGZpbGU6Ly90ZWxuZXQueGluZXRkLmluZXR1dGlscyBcCi0gICAgICAgICAgIGZpbGU6Ly90ZnRwZC54aW5ldGQuaW5ldHV0aWxzIFwKLSAgICAgICAgICAgZmlsZTovL2luZXR1dGlscy0xLjktUEFUSF9QUk9DTkVUX0RFVi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9pbmV0dXRpbHMtb25seS1jaGVjay1wYW1fYXBwbC5oLXdoZW4tcGFtLWVuYWJsZWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1yY3AtZml4LXRvLXdvcmstd2l0aC1sYXJnZS1maWxlcy5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwNDg1MmMyNmM0N2NjOGM2YjgyNWYyYjc0ZjE5MWY1MiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiZThmNzVlZmY5MzZiOGU0MWIxMTI0NjJkYjUxYWRmNjg5NzE1NjU4YTFiMDllMGQ2YjA1ZDExZWM5MmNjNjE2IgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMgdGV4aW5mbwotCi1hY3BhdGhzID0gIi1JIC4vbTQiCi0KLVNSQ19VUkkgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICcnLCAnZmlsZTovL2ZpeC1kaXNhYmxlLWlwdjYucGF0Y2gnLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJmdHAgdXVjcGQgXAotICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJ2lwdjYgcGluZzYnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICIKLVBBQ0tBR0VDT05GSUdbZnRwXSA9ICItLWVuYWJsZS1mdHAsLS1kaXNhYmxlLWZ0cCxyZWFkbGluZSIKLVBBQ0tBR0VDT05GSUdbdXVjcGRdID0gIi0tZW5hYmxlLXV1Y3BkLC0tZGlzYWJsZS11dWNwZCxyZWFkbGluZSIKLVBBQ0tBR0VDT05GSUdbcGFtXSA9ICItLXdpdGgtcGFtLC0td2l0aG91dC1wYW0sbGlicGFtIgotUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2IGdsX2N2X3NvY2tldF9pcHY2PW5vLCIKLVBBQ0tBR0VDT05GSUdbcGluZzZdID0gIi0tZW5hYmxlLXBpbmc2LC0tZGlzYWJsZS1waW5nNiwiCi0KLUVYVFJBX09FQ09ORiA9ICItLXdpdGgtbmN1cnNlcy1pbmNsdWRlLWRpcj0ke1NUQUdJTkdfSU5DRElSfSBcCi0gICAgICAgIGluZXR1dGlsc19jdl9wYXRoX2xvZ2luPSR7YmFzZV9iaW5kaXJ9L2xvZ2luIFwKLSAgICAgICAgLS13aXRoLWxpYnJlYWRsaW5lLXByZWZpeD0ke1NUQUdJTkdfTElCRElSfSBcCi0gICAgICAgIC0tZW5hYmxlLXJwYXRoPW5vIFwKLSIKLQotRVhUUkFfT0VDT05GX2FwcGVuZF9saWJjLW11c2wgPSAiIC0tZGlzYWJsZS1yc2ggLS1kaXNhYmxlLXJjcCAtLWRpc2FibGUtcmxvZ2luICIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotICAgIGV4cG9ydCBIRUxQMk1BTj0ndHJ1ZScKLSAgICBjcCAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dldHRleHQvY29uZmlnLnJwYXRoICR7U30vYnVpbGQtYXV4L2NvbmZpZy5ycGF0aAotICAgIHJtIC1mICR7U30vZ2xvYi9jb25maWd1cmUqCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLSAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7YmFzZV9zYmluZGlyfQotICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzYmluZGlyfQotICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzeXNjb25mZGlyfS94aW5ldGQuZAotICAgIGlmIFsgIiR7YmFzZV9iaW5kaXJ9IiAhPSAiJHtiaW5kaXJ9IiBdIDsgdGhlbgotICAgICAgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2Jhc2VfYmluZGlyfQotICAgICAgICAgbXYgJHtEfSR7YmluZGlyfS9waW5nKiAke0R9JHtiYXNlX2JpbmRpcn0vCi0gICAgICAgICBtdiAke0R9JHtiaW5kaXJ9L2hvc3RuYW1lICR7RH0ke2Jhc2VfYmluZGlyfS8KLSAgICBmaQotICAgIG12ICR7RH0ke2JpbmRpcn0vaWZjb25maWcgJHtEfSR7YmFzZV9zYmluZGlyfS8KLSAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9zeXNsb2dkICR7RH0ke2Jhc2Vfc2JpbmRpcn0vCi0gICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vdGZ0cGQgJHtEfSR7c2JpbmRpcn0vaW4udGZ0cGQKLSAgICBtdiAke0R9JHtsaWJleGVjZGlyfS90ZWxuZXRkICR7RH0ke3NiaW5kaXJ9L2luLnRlbG5ldGQKLSAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9yZXhlY2QgJHtEfSR7c2JpbmRpcn0vaW4ucmV4ZWNkCi0gICAgaWYgWyAtZSAke0R9JHtsaWJleGVjZGlyfS9ybG9naW5kIF07IHRoZW4KLSAgICAgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vcmxvZ2luZCAke0R9JHtzYmluZGlyfS9pbi5ybG9naW5kCi0gICAgZmkKLSAgICBpZiBbIC1lICR7RH0ke2xpYmV4ZWNkaXJ9L3JzaGQgXTsgdGhlbgotICAgICAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9yc2hkICR7RH0ke3NiaW5kaXJ9L2luLnJzaGQKLSAgICBmaQotICAgIGlmIFsgLWUgJHtEfSR7bGliZXhlY2Rpcn0vdGFsa2QgXTsgdGhlbgotICAgICAgICBtdiAke0R9JHtsaWJleGVjZGlyfS90YWxrZCAke0R9JHtzYmluZGlyfS9pbi50YWxrZAotICAgIGZpCi0gICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vdXVjcGQgJHtEfSR7c2JpbmRpcn0vaW4udXVjcGQKLSAgICBtdiAke0R9JHtsaWJleGVjZGlyfS8qICR7RH0ke2JpbmRpcn0vCi0gICAgY3AgJHtXT1JLRElSfS9yZXhlYy54aW5ldGQuaW5ldHV0aWxzICAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvcmV4ZWMKLSAgICBjcCAke1dPUktESVJ9L3Jsb2dpbi54aW5ldGQuaW5ldHV0aWxzICAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvcmxvZ2luCi0gICAgY3AgJHtXT1JLRElSfS9yc2gueGluZXRkLmluZXR1dGlscyAgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3JzaAotICAgIGNwICR7V09SS0RJUn0vdGVsbmV0LnhpbmV0ZC5pbmV0dXRpbHMgICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC90ZWxuZXQKLSAgICBjcCAke1dPUktESVJ9L3RmdHBkLnhpbmV0ZC5pbmV0dXRpbHMgICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC90ZnRwZAotCi0gICAgc2VkIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIC1pICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC8qCi0gICAgaWYgWyAtZSAke0R9JHtsaWJkaXJ9L2NoYXJzZXQuYWxpYXMgXTsgdGhlbgotICAgICAgICBybSAtcmYgJHtEfSR7bGliZGlyfS9jaGFyc2V0LmFsaWFzCi0gICAgZmkKLSAgICBybSAtcmYgJHtEfSR7bGliZXhlY2Rpcn0vCi0gICAgIyByZW1vdmUgdXNyL2xpYiBpZiBlbXB0eQotICAgIHJtZGlyICR7RH0ke2xpYmRpcn0gfHwgdHJ1ZQotfQotCi1QQUNLQUdFUyA9KyAiJHtQTn0tcGluZyAke1BOfS1waW5nNiAke1BOfS1ob3N0bmFtZSAke1BOfS1pZmNvbmZpZyBcCi0ke1BOfS10ZnRwICR7UE59LWxvZ2dlciAke1BOfS10cmFjZXJvdXRlICR7UE59LXN5c2xvZ2QgXAotJHtQTn0tZnRwICR7UE59LWZ0cGQgJHtQTn0tdGZ0cGQgJHtQTn0tdGVsbmV0ICR7UE59LXRlbG5ldGQgJHtQTn0taW5ldGQgXAotJHtQTn0tcnNoICR7UE59LXJzaGQiCi0KLSMgVGhlIHBhY2thZ2VzIHRmdHBkLCB0ZWxuZXRkIGFuZCByc2hkIGNvbmZsaWN0IHdpdGggdGhlIG9uZXMKLSMgcHJvdmlkZWQgYnkgbmV0a2l0LCBzbyBhZGQgdGhlIGNvcnJlc3BvbmRpbmcgLWRiZyBwYWNrYWdlcwotIyBmb3IgdGhlbSB0byBhdm9pZCB0aGUgY29uZmxpY3Rpb24gYmV0d2VlbiB0aGUgZGJnIHBhY2thZ2UKLSMgb2YgaW5ldHV0aWxzIGFuZCBuZXRraXQuCi1QQUNLQUdFUyA9KyAiJHtQTn0tdGZ0cGQtZGJnICR7UE59LXRlbG5ldGQtZGJnICR7UE59LXJzaGQtZGJnIgotTk9BVVRPUEFDS0FHRURFQlVHID0gIjEiCi0KLUFMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjc5IgotQUxURVJOQVRJVkVfJHtQTn0gPSAidGFsayB3aG9pcyIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVt0YWxrZF0gID0gIiR7c2JpbmRpcn0vaW4udGFsa2QiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbdXVjcGRdICA9ICIke3NiaW5kaXJ9L2luLnV1Y3BkIgotCi1BTFRFUk5BVElWRV9QUklPUklUWV8ke1BOfS1sb2dnZXIgPSAiNjAiCi1BTFRFUk5BVElWRV8ke1BOfS1sb2dnZXIgPSAibG9nZ2VyIgotQUxURVJOQVRJVkVfJHtQTn0tc3lzbG9nZCA9ICJzeXNsb2dkIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3N5c2xvZ2RdICA9ICIke2Jhc2Vfc2JpbmRpcn0vc3lzbG9nZCIKLQotQUxURVJOQVRJVkVfJHtQTn0tZnRwID0gImZ0cCIKLUFMVEVSTkFUSVZFXyR7UE59LWZ0cGQgPSAiZnRwZCIKLUFMVEVSTkFUSVZFXyR7UE59LXRmdHAgPSAidGZ0cCIKLUFMVEVSTkFUSVZFXyR7UE59LXRmdHBkID0gInRmdHBkIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3RmdHBkXSA9ICIke3NiaW5kaXJ9L3RmdHBkIgotQUxURVJOQVRJVkVfVEFSR0VUW3RmdHBkXSAgPSAiJHtzYmluZGlyfS9pbi50ZnRwZCIKLQotQUxURVJOQVRJVkVfJHtQTn0tdGVsbmV0ID0gInRlbG5ldCIKLUFMVEVSTkFUSVZFXyR7UE59LXRlbG5ldGQgPSAidGVsbmV0ZCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVt0ZWxuZXRkXSA9ICIke3NiaW5kaXJ9L3RlbG5ldGQiCi1BTFRFUk5BVElWRV9UQVJHRVRbdGVsbmV0ZF0gPSAiJHtzYmluZGlyfS9pbi50ZWxuZXRkIgotCi1BTFRFUk5BVElWRV8ke1BOfS1yc2ggPSAicmNwIHJleGVjIHJsb2dpbiByc2giCi1BTFRFUk5BVElWRV8ke1BOfS1yc2hkID0gInJzaGQgcmV4ZWNkIHJsb2dpbmQiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbcnNoZF0gPSAiJHtzYmluZGlyfS9yc2hkIgotQUxURVJOQVRJVkVfVEFSR0VUW3JzaGRdID0gIiR7c2JpbmRpcn0vaW4ucnNoZCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtyZXhlY2RdID0gIiR7c2JpbmRpcn0vcmV4ZWNkIgotQUxURVJOQVRJVkVfVEFSR0VUW3JleGVjZF0gPSAiJHtzYmluZGlyfS9pbi5yZXhlY2QiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbcmxvZ2luZF0gPSAiJHtzYmluZGlyfS9ybG9naW5kIgotQUxURVJOQVRJVkVfVEFSR0VUW3Jsb2dpbmRdID0gIiR7c2JpbmRpcn0vaW4ucmxvZ2luZCIKLQotQUxURVJOQVRJVkVfJHtQTn0taW5ldGQ9ICJpbmV0ZCIKLUFMVEVSTkFUSVZFXyR7UE59LXRyYWNlcm91dGUgPSAidHJhY2Vyb3V0ZSIKLQotQUxURVJOQVRJVkVfJHtQTn0taG9zdG5hbWUgPSAiaG9zdG5hbWUiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbaG9zdG5hbWVdICA9ICIke2Jhc2VfYmluZGlyfS9ob3N0bmFtZSIKLQotQUxURVJOQVRJVkVfJHtQTn0tZG9jID0gImhvc3RuYW1lLjEgZG5zZG9tYWlubmFtZS4xIGxvZ2dlci4xIHN5c2xvZ2QuOCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtob3N0bmFtZS4xXSA9ICIke21hbmRpcn0vbWFuMS9ob3N0bmFtZS4xIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2Ruc2RvbWFpbm5hbWUuMV0gPSAiJHttYW5kaXJ9L21hbjEvZG5zZG9tYWlubmFtZS4xIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2xvZ2dlci4xXSA9ICIke21hbmRpcn0vbWFuMS9sb2dnZXIuMSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtzeXNsb2dkLjhdID0gIiR7bWFuZGlyfS9tYW44L3N5c2xvZ2QuOCIKLQotQUxURVJOQVRJVkVfJHtQTn0taWZjb25maWcgPSAiaWZjb25maWciCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbaWZjb25maWddICA9ICIke2Jhc2Vfc2JpbmRpcn0vaWZjb25maWciCi0KLUFMVEVSTkFUSVZFXyR7UE59LXBpbmcgPSAicGluZyIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtwaW5nXSAgID0gIiR7YmFzZV9iaW5kaXJ9L3BpbmciCi0KLUFMVEVSTkFUSVZFXyR7UE59LXBpbmc2ID0gIiR7QGJiLnV0aWxzLmZpbHRlcignUEFDS0FHRUNPTkZJRycsICdwaW5nNicsIGQpfSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtwaW5nNl0gID0gIiR7YmFzZV9iaW5kaXJ9L3Bpbmc2IgotCi0KLUZJTEVTXyR7UE59LWRiZyArPSAiJHtiYXNlX2JpbmRpcn0vLmRlYnVnICR7YmFzZV9zYmluZGlyfS8uZGVidWcgJHtiaW5kaXJ9Ly5kZWJ1ZyAke3NiaW5kaXJ9Ly5kZWJ1ZyIKLUZJTEVTXyR7UE59LXBpbmcgPSAiJHtiYXNlX2JpbmRpcn0vcGluZy4ke0JQTn0iCi1GSUxFU18ke1BOfS1waW5nNiA9ICIke2Jhc2VfYmluZGlyfS9waW5nNi4ke0JQTn0iCi1GSUxFU18ke1BOfS1ob3N0bmFtZSA9ICIke2Jhc2VfYmluZGlyfS9ob3N0bmFtZS4ke0JQTn0iCi1GSUxFU18ke1BOfS1pZmNvbmZpZyA9ICIke2Jhc2Vfc2JpbmRpcn0vaWZjb25maWcuJHtCUE59IgotRklMRVNfJHtQTn0tdHJhY2Vyb3V0ZSA9ICIke2JpbmRpcn0vdHJhY2Vyb3V0ZS4ke0JQTn0iCi1GSUxFU18ke1BOfS1sb2dnZXIgPSAiJHtiaW5kaXJ9L2xvZ2dlci4ke0JQTn0iCi0KLUZJTEVTXyR7UE59LXN5c2xvZ2QgPSAiJHtiYXNlX3NiaW5kaXJ9L3N5c2xvZ2QuJHtCUE59IgotUkNPTkZMSUNUU18ke1BOfS1zeXNsb2dkID0gInJzeXNsb2cgYnVzeWJveC1zeXNsb2cgc3lza2xvZ2Qgc3lzbG9nLW5nIgotCi1GSUxFU18ke1BOfS1mdHAgPSAiJHtiaW5kaXJ9L2Z0cC4ke0JQTn0iCi0KLUZJTEVTXyR7UE59LXRmdHAgPSAiJHtiaW5kaXJ9L3RmdHAuJHtCUE59IgotRklMRVNfJHtQTn0tdGVsbmV0ID0gIiR7YmluZGlyfS90ZWxuZXQuJHtCUE59IgotRklMRVNfJHtQTn0tcnNoID0gIiR7YmluZGlyfS9yc2guJHtCUE59ICR7YmluZGlyfS9ybG9naW4uJHtCUE59ICR7YmluZGlyfS9yZXhlYy4ke0JQTn0gJHtiaW5kaXJ9L3JjcC4ke0JQTn0iCi0KLUZJTEVTXyR7UE59LXJzaGQgPSAiJHtzYmluZGlyfS9pbi5yc2hkICR7c2JpbmRpcn0vaW4ucmxvZ2luZCAke3NiaW5kaXJ9L2luLnJleGVjZCBcCi0gICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0veGluZXRkLmQvcnNoICR7c3lzY29uZmRpcn0veGluZXRkLmQvcmxvZ2luICR7c3lzY29uZmRpcn0veGluZXRkLmQvcmV4ZWMiCi1GSUxFU18ke1BOfS1yc2hkLWRiZyA9ICIke3NiaW5kaXJ9Ly5kZWJ1Zy9pbi5yc2hkICR7c2JpbmRpcn0vLmRlYnVnL2luLnJsb2dpbmQgJHtzYmluZGlyfS8uZGVidWcvaW4ucmV4ZWNkIgotUkRFUEVORFNfJHtQTn0tcnNoZCArPSAieGluZXRkIHRjcC13cmFwcGVycyIKLVJDT05GTElDVFNfJHtQTn0tcnNoZCArPSAibmV0a2l0LXJzaGQiCi1SUFJPVklERVNfJHtQTn0tcnNoZCA9ICJyc2hkIgotCi1GSUxFU18ke1BOfS1mdHBkID0gIiR7YmluZGlyfS9mdHBkLiR7QlBOfSIKLUZJTEVTXyR7UE59LWZ0cGQtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvZnRwZC4ke0JQTn0iCi1SREVQRU5EU18ke1BOfS1mdHBkICs9ICJ4aW5ldGQiCi0KLUZJTEVTXyR7UE59LXRmdHBkID0gIiR7c2JpbmRpcn0vaW4udGZ0cGQgJHtzeXNjb25mZGlyfS94aW5ldGQuZC90ZnRwZCIKLUZJTEVTXyR7UE59LXRmdHBkLWRiZyA9ICIke3NiaW5kaXJ9Ly5kZWJ1Zy9pbi50ZnRwZCIKLVJDT05GTElDVFNfJHtQTn0tdGZ0cGQgKz0gIm5ldGtpdC10ZnRwZCIKLVJERVBFTkRTXyR7UE59LXRmdHBkICs9ICJ4aW5ldGQiCi0KLUZJTEVTXyR7UE59LXRlbG5ldGQgPSAiJHtzYmluZGlyfS9pbi50ZWxuZXRkICR7c3lzY29uZmRpcn0veGluZXRkLmQvdGVsbmV0IgotRklMRVNfJHtQTn0tdGVsbmV0ZC1kYmcgPSAiJHtzYmluZGlyfS8uZGVidWcvaW4udGVsbmV0ZCIKLVJDT05GTElDVFNfJHtQTn0tdGVsbmV0ZCArPSAibmV0a2l0LXRlbG5ldGQiCi1SUFJPVklERVNfJHtQTn0tdGVsbmV0ZCA9ICJ0ZWxuZXRkIgotUkRFUEVORFNfJHtQTn0tdGVsbmV0ZCArPSAieGluZXRkIgotCi1GSUxFU18ke1BOfS1pbmV0ZCA9ICIke2JpbmRpcn0vaW5ldGQuJHtCUE59IgotCi1SREVQRU5EU18ke1BOfSA9ICJ4aW5ldGQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbWJlZHRscy9tYmVkdGxzXzIuMTMuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tYmVkdGxzL21iZWR0bHNfMi4xMy4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZjNmN2YwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tYmVkdGxzL21iZWR0bHNfMi4xMy4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotU1VNTUFSWSA9ICJMaWdodHdlaWdodCBjcnlwdG8gYW5kIFNTTC9UTFMgbGlicmFyeSIKLURFU0NSSVBUSU9OID0gIm1iZWR0bHMgaXMgYSBsZWFuIG9wZW4gc291cmNlIGNyeXB0byBsaWJyYXJ5ICAgICAgICAgIFwKLWZvciBwcm92aWRpbmcgU1NMIGFuZCBUTFMgc3VwcG9ydCBpbiB5b3VyIHByb2dyYW1zLiBJdCBvZmZlcnMgICAgICAgIFwKLWFuIGludHVpdGl2ZSBBUEkgYW5kIGRvY3VtZW50ZWQgaGVhZGVyIGZpbGVzLCBzbyB5b3UgY2FuIGFjdHVhbGx5ICAgIFwKLXVuZGVyc3RhbmQgd2hhdCB0aGUgY29kZSBkb2VzLiBJdCBmZWF0dXJlczogICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAtIFN5bW1ldHJpYyBhbGdvcml0aG1zLCBsaWtlIEFFUywgQmxvd2Zpc2gsIFRyaXBsZS1ERVMsIERFUywgQVJDNCwgIFwKLSAgIENhbWVsbGlhIGFuZCBYVEVBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAtIEhhc2ggYWxnb3JpdGhtcywgbGlrZSBTSEEtMSwgU0hBLTIsIFJJUEVNRC0xNjAgYW5kIE1ENSAgICAgICAgICAgIFwKLSAtIEVudHJvcHkgcG9vbCBhbmQgcmFuZG9tIGdlbmVyYXRvcnMsIGxpa2UgQ1RSLURSQkcgYW5kIEhNQUMtRFJCRyAgIFwKLSAtIFB1YmxpYyBrZXkgYWxnb3JpdGhtcywgbGlrZSBSU0EsIEVsbGlwdGljIEN1cnZlcywgRGlmZmllLUhlbGxtYW4sIFwKLSAgIEVDRFNBIGFuZCBFQ0RIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAtIFNTTCB2MyBhbmQgVExTIDEuMCwgMS4xIGFuZCAxLjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAtIEFic3RyYWN0aW9uIGxheWVycyBmb3IgY2lwaGVycywgaGFzaGVzLCBwdWJsaWMga2V5IG9wZXJhdGlvbnMsICAgIFwKLSAgIHBsYXRmb3JtIGFic3RyYWN0aW9uIGFuZCB0aHJlYWRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSIKLQotSE9NRVBBR0UgPSAiaHR0cHM6Ly90bHMubWJlZC5vcmcvIgotCi1MSUNFTlNFID0gIkFwYWNoZS0yLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zMDJkNTBhNjM2OWY1ZjIyZWZkYjY3NGRiOTA4MTY3YSIKLQotU0VDVElPTiA9ICJsaWJzIgotCi1TUkNfVVJJID0gImh0dHBzOi8vdGxzLm1iZWQub3JnL2Rvd25sb2FkL21iZWR0bHMtJHtQVn0tYXBhY2hlLnRneiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjY1OWQ5NmJiMDMwMTJjYTZkYjQxNGE5MTM3ZmNkYmQ2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU5M2I0ZTRkMmUxNjI5ZmM0MDdhYjQ3NTBkNjlmYTMwOWEwZGRiNjY1NjVkYzNkZWI1YjYwZWRkYmRlYjA2ZGEiCi0KLWluaGVyaXQgY21ha2UKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInNoYXJlZC1saWJzIHByb2dyYW1zIgotUEFDS0FHRUNPTkZJR1tzaGFyZWQtbGlic10gPSAiLURVU0VfU0hBUkVEX01CRURUTFNfTElCUkFSWT1PTiwtVVNFX1NIQVJFRF9NQkVEVExTX0xJQlJBUlk9T0ZGIgotUEFDS0FHRUNPTkZJR1twcm9ncmFtc10gPSAiLURFTkFCTEVfUFJPR1JBTVM9T04sLURFTkFCTEVfUFJPR1JBTVM9T0ZGIgotCi1FWFRSQV9PRUNNQUtFID0gIi1ERU5BQkxFX1RFU1RJTkc9T0ZGIC1ETElCX0lOU1RBTExfRElSOlNUUklORz0ke2xpYmRpcn0iCi0KLVBST1ZJREVTICs9ICJwb2xhcnNzbCIKLVJQUk9WSURFU18ke1BOfSA9ICJwb2xhcnNzbCIKLQotUEFDS0FHRVMgPSsgIiR7UE59LXByb2dyYW1zIgotRklMRVNfJHtQTn0tcHJvZ3JhbXMgPSAiJHtiaW5kaXJ9LyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tYmVkdGxzL21iZWR0bHNfMi4xNi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21iZWR0bHMvbWJlZHRsc18yLjE2LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU5ZDAxZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tYmVkdGxzL21iZWR0bHNfMi4xNi4wLmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiTGlnaHR3ZWlnaHQgY3J5cHRvIGFuZCBTU0wvVExTIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJtYmVkdGxzIGlzIGEgbGVhbiBvcGVuIHNvdXJjZSBjcnlwdG8gbGlicmFyeSAgICAgICAgICBcCitmb3IgcHJvdmlkaW5nIFNTTCBhbmQgVExTIHN1cHBvcnQgaW4geW91ciBwcm9ncmFtcy4gSXQgb2ZmZXJzICAgICAgICBcCithbiBpbnR1aXRpdmUgQVBJIGFuZCBkb2N1bWVudGVkIGhlYWRlciBmaWxlcywgc28geW91IGNhbiBhY3R1YWxseSAgICBcCit1bmRlcnN0YW5kIHdoYXQgdGhlIGNvZGUgZG9lcy4gSXQgZmVhdHVyZXM6ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgLSBTeW1tZXRyaWMgYWxnb3JpdGhtcywgbGlrZSBBRVMsIEJsb3dmaXNoLCBUcmlwbGUtREVTLCBERVMsIEFSQzQsICBcCisgICBDYW1lbGxpYSBhbmQgWFRFQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgLSBIYXNoIGFsZ29yaXRobXMsIGxpa2UgU0hBLTEsIFNIQS0yLCBSSVBFTUQtMTYwIGFuZCBNRDUgICAgICAgICAgICBcCisgLSBFbnRyb3B5IHBvb2wgYW5kIHJhbmRvbSBnZW5lcmF0b3JzLCBsaWtlIENUUi1EUkJHIGFuZCBITUFDLURSQkcgICBcCisgLSBQdWJsaWMga2V5IGFsZ29yaXRobXMsIGxpa2UgUlNBLCBFbGxpcHRpYyBDdXJ2ZXMsIERpZmZpZS1IZWxsbWFuLCBcCisgICBFQ0RTQSBhbmQgRUNESCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgLSBTU0wgdjMgYW5kIFRMUyAxLjAsIDEuMSBhbmQgMS4yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgLSBBYnN0cmFjdGlvbiBsYXllcnMgZm9yIGNpcGhlcnMsIGhhc2hlcywgcHVibGljIGtleSBvcGVyYXRpb25zLCAgICBcCisgICBwbGF0Zm9ybSBhYnN0cmFjdGlvbiBhbmQgdGhyZWFkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisiCisKK0hPTUVQQUdFID0gImh0dHBzOi8vdGxzLm1iZWQub3JnLyIKKworTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MzAyZDUwYTYzNjlmNWYyMmVmZGI2NzRkYjkwODE2N2EiCisKK1NFQ1RJT04gPSAibGlicyIKKworU1JDX1VSSSA9ICJodHRwczovL3Rscy5tYmVkLm9yZy9kb3dubG9hZC9tYmVkdGxzLSR7UFZ9LWFwYWNoZS50Z3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZWFlOWNmMTYxMTRmNDQ5MWRiYmMwZmUzNmJiN2U2YzMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTNkYWI1NmU5MDkzYzc5MGI3ZDVlMGY3ZWIxOTQ1MTAxMGZlNjgwNjQ5ZDI1Y2YxZGNjYTlkNTQ0MTY2OWFlMiIKKworaW5oZXJpdCBjbWFrZQorCitQQUNLQUdFQ09ORklHID8/PSAic2hhcmVkLWxpYnMgcHJvZ3JhbXMiCitQQUNLQUdFQ09ORklHW3NoYXJlZC1saWJzXSA9ICItRFVTRV9TSEFSRURfTUJFRFRMU19MSUJSQVJZPU9OLC1VU0VfU0hBUkVEX01CRURUTFNfTElCUkFSWT1PRkYiCitQQUNLQUdFQ09ORklHW3Byb2dyYW1zXSA9ICItREVOQUJMRV9QUk9HUkFNUz1PTiwtREVOQUJMRV9QUk9HUkFNUz1PRkYiCisKK0VYVFJBX09FQ01BS0UgPSAiLURFTkFCTEVfVEVTVElORz1PRkYgLURMSUJfSU5TVEFMTF9ESVI6U1RSSU5HPSR7bGliZGlyfSIKKworUFJPVklERVMgKz0gInBvbGFyc3NsIgorUlBST1ZJREVTXyR7UE59ID0gInBvbGFyc3NsIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tcHJvZ3JhbXMiCitGSUxFU18ke1BOfS1wcm9ncmFtcyA9ICIke2JpbmRpcn0vIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21pbml1cG5wZC9maWxlcy8wMDAxLUFkZC1PcGVuRW1iZWRkZWQtY3Jvc3MtY29tcGlsZS1jYXNlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21pbml1cG5wZC9maWxlcy8wMDAxLUFkZC1PcGVuRW1iZWRkZWQtY3Jvc3MtY29tcGlsZS1jYXNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkNDI5MWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbWluaXVwbnBkL2ZpbGVzLzAwMDEtQWRkLU9wZW5FbWJlZGRlZC1jcm9zcy1jb21waWxlLWNhc2UucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSA1NDY5ODg1NmU1NjAyYmJkOWQ2MWU4NTU4MTRjODU0YTAxM2I0ODQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFNhdCwgMjIgRGVjIDIwMTggMTg6NDc6NDUgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIE9wZW5FbWJlZGRlZCBjcm9zcyBjb21waWxlIGNhc2UKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2VuY29uZmlnLnNoIHwgMTEgKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZ2VuY29uZmlnLnNoIGIvZ2VuY29uZmlnLnNoCitpbmRleCBkYzQyNDYyLi41OTkyMmU5IDEwMDc1NQorLS0tIGEvZ2VuY29uZmlnLnNoCisrKysgYi9nZW5jb25maWcuc2gKK0BAIC05OCw2ICs5OCwxMiBAQCBpZiBbIC1mIC4uL3NoYXJlZC90b21hdG9fdmVyc2lvbiBdOyB0aGVuCisgCU9TX1ZFUlNJT049IlRvbWF0byAkVE9NQVRPX1ZFUiIKKyBmaQorIAorKyMgT3BlbkVtYmVkZGVkIHNwZWNpYWwgY2FzZQorK2lmIFsgLWYgLi9vcy5vcGVuZW1iZWRkZWQgXTsgdGhlbgorKwlPU19OQU1FPU9wZW5FbWJlZGRlZAorKwlPU19WRVJTSU9OPSQoY2F0IC4vb3Mub3BlbmVtYmVkZGVkKQorK2ZpCisrCisgJHtSTX0gJHtDT05GSUdGSUxFfQorIAorIGVjaG8gIi8qIE1pbmlVUG5QIFByb2plY3QiID4+ICR7Q09ORklHRklMRX0KK0BAIC0zMTgsNiArMzI0LDExIEBAIGNhc2UgJE9TX05BTUUgaW4KKyAJCWVjaG8gIiNkZWZpbmUgVVNFX0lGQUNFV0FUQ0hFUiAxIiA+PiAke0NPTkZJR0ZJTEV9CisgCQlGVz1uZXRmaWx0ZXIKKyAJCTs7CisrCU9wZW5FbWJlZGRlZCkKKysJCU9TX1VSTD1odHRwOi8vd3d3Lm9wZW5lbWJlZGRlZC5vcmcvCisrCQllY2hvICIjZGVmaW5lIFVTRV9JRkFDRVdBVENIRVIgMSIgPj4gJHtDT05GSUdGSUxFfQorKwkJRlc9bmV0ZmlsdGVyCisrCQk7OworIAlBc3RMaW51eCkKKyAJCU9TX1VSTD1odHRwOi8vd3d3LmFzdGxpbnV4Lm9yZy8KKyAJCWVjaG8gIiNkZWZpbmUgVVNFX0lGQUNFV0FUQ0hFUiAxIiA+PiAke0NPTkZJR0ZJTEV9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbWluaXVwbnBkL21pbml1cG5wZF8yLjAuMjAxODAyMDMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbWluaXVwbnBkL21pbml1cG5wZF8yLjAuMjAxODAyMDMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA0YjVjZDUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21pbml1cG5wZC9taW5pdXBucGRfMi4wLjIwMTgwMjAzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotU1VNTUFSWSA9ICJMaWdodHdlaWdodCBVUG5QIElHRCBkYWVtb24iCi1ERVNDUklQVElPTiA9ICJUaGUgbWluaVVQblAgZGFlbW9uIGlzIGFuIFVQblAgSUdEIChpbnRlcm5ldCBnYXRld2F5IGRldmljZSkgXAotd2hpY2ggcHJvdmlkZSBOQVQgdHJhdmVyc2FsIHNlcnZpY2VzIHRvIGFueSBVUG5QIGVuYWJsZWQgY2xpZW50IG9uIFwKLXRoZSBuZXR3b3JrLiIKLQotU0VDVElPTiA9ICJuZXR3b3JraW5nIgotTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT05MWFjMDBjNmI5ZjVjMTA2ZTg5MjkxZTE5NmZlMDIzNCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcgc3lzdGVtZAotCi1ERVBFTkRTICs9ICJpcHRhYmxlcyBuZXQtdG9vbHMgdXRpbC1saW51eCBsaWJtbmwgbGlibmV0ZmlsdGVyLWNvbm50cmFjayIKLQotU1JDX1VSSSA9ICJodHRwOi8vbWluaXVwbnAudHV4ZmFtaWx5Lm9yZy9maWxlcy9kb3dubG9hZC5waHA/ZmlsZT0ke1B9LnRhci5nejtkb3dubG9hZGZpbGVuYW1lPSR7UH0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL21pbml1cG5wZC5zZXJ2aWNlIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYjRjN2M5Mzg5MTVlZGVlZTZjYTRjNjVkZDAyMWYyMTIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiODYwYzE1ZjJmODM0MGZkNjk1NDZiMDFjZmZlNGM3ZmNmZjNlNjNhN2JkZmU1YTJhZjZiMjM0NmYwZTA3NGJiNiIKLQotSVBWNiA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnLS1pcHY2JywgJycsIGQpfSIKLQotZG9fY29tcGlsZSgpIHsKLSAgICBjZCAke1N9Ci0gICAgQ09ORklHX09QVElPTlM9IiR7SVBWNn0gLS1sZWFzZWZpbGUgLS12ZW5kb3JjZmciIG9lX3J1bm1ha2UgLWYgTWFrZWZpbGUubGludXgKLX0KLQotZG9faW5zdGFsbCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0vJHtzYmluZGlyfQotICAgIGluc3RhbGwgJHtTfS9taW5pdXBucGQgJHtEfS8ke3NiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59Ci0gICAgaW5zdGFsbCAke1N9L25ldGZpbHRlci9pcHRhYmxlc19pbml0LnNoICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsICR7U30vbmV0ZmlsdGVyL2lwdGFibGVzX3JlbW92ZWFsbC5zaCAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59Ci0gICAgaW5zdGFsbCAke1N9L25ldGZpbHRlci9pcDZ0YWJsZXNfaW5pdC5zaCAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59Ci0gICAgaW5zdGFsbCAke1N9L25ldGZpbHRlci9pcDZ0YWJsZXNfcmVtb3ZlYWxsLnNoICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsIC1tIDA2NDQgLWIgJHtTfS9taW5pdXBucGQuY29uZiAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59Ci0gICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCi0gICAgaW5zdGFsbCAke1N9L2xpbnV4L21pbml1cG5wZC5pbml0LmQuc2NyaXB0ICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvbWluaXVwbnBkCi0KLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbWluaXVwbnBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCi19Ci0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJtaW5pdXBucGQuc2VydmljZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9taW5pdXBucGQvbWluaXVwbnBkXzIuMS4yMDE5MDIxMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9taW5pdXBucGQvbWluaXVwbnBkXzIuMS4yMDE5MDIxMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDJmNTA3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21pbml1cG5wZC9taW5pdXBucGRfMi4xLjIwMTkwMjEwLmJiCkBAIC0wLDAgKzEsNDggQEAKK1NVTU1BUlkgPSAiTGlnaHR3ZWlnaHQgVVBuUCBJR0QgZGFlbW9uIgorREVTQ1JJUFRJT04gPSAiVGhlIG1pbmlVUG5QIGRhZW1vbiBpcyBhbiBVUG5QIElHRCAoaW50ZXJuZXQgZ2F0ZXdheSBkZXZpY2UpIFwKK3doaWNoIHByb3ZpZGUgTkFUIHRyYXZlcnNhbCBzZXJ2aWNlcyB0byBhbnkgVVBuUCBlbmFibGVkIGNsaWVudCBvbiBcCit0aGUgbmV0d29yay4iCisKK1NFQ1RJT04gPSAibmV0d29ya2luZyIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OTFhYzAwYzZiOWY1YzEwNmU4OTI5MWUxOTZmZTAyMzQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnIHN5c3RlbWQKKworREVQRU5EUyArPSAiaXB0YWJsZXMgbmV0LXRvb2xzIHV0aWwtbGludXggbGlibW5sIGxpYm5ldGZpbHRlci1jb25udHJhY2siCisKK1NSQ19VUkkgPSAiaHR0cDovL21pbml1cG5wLnR1eGZhbWlseS5vcmcvZmlsZXMvZG93bmxvYWQucGhwP2ZpbGU9JHtQfS50YXIuZ3o7ZG93bmxvYWRmaWxlbmFtZT0ke1B9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9taW5pdXBucGQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1PcGVuRW1iZWRkZWQtY3Jvc3MtY29tcGlsZS1jYXNlLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjAzYjAwYzI3MTA2ODM1ZTcyOGEzYjg1OGVjZjgzMzkwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFhYWVjZDI1Y2YxNTJkOTk1NTdkZmU4MGM3NTA4YWY5Y2IwNmU5N2VjYWQ0Nzg2Y2U1ZGFmYjRjOTU4ZDE5NmIiCisKK0lQVjYgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJy0taXB2NicsICcnLCBkKX0iCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgZWNobyAiJHtAZC5nZXRWYXIoJ0RJU1RST19WRVJTSU9OJyl9IiA+ICR7U30vb3Mub3BlbmVtYmVkZGVkCit9CisKK2RvX2NvbXBpbGUoKSB7CisgICAgY2QgJHtTfQorICAgIENPTkZJR19PUFRJT05TPSIke0lQVjZ9IC0tbGVhc2VmaWxlIC0tdmVuZG9yY2ZnIiBvZV9ydW5tYWtlIC1mIE1ha2VmaWxlLmxpbnV4Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c2JpbmRpcn0KKyAgICBpbnN0YWxsICR7U30vbWluaXVwbnBkICR7RH0vJHtzYmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9LyR7QlBOfQorICAgIGluc3RhbGwgJHtTfS9uZXRmaWx0ZXIvaXB0YWJsZXNfaW5pdC5zaCAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59CisgICAgaW5zdGFsbCAke1N9L25ldGZpbHRlci9pcHRhYmxlc19yZW1vdmVhbGwuc2ggJHtEfS8ke3N5c2NvbmZkaXJ9LyR7QlBOfQorICAgIGluc3RhbGwgJHtTfS9uZXRmaWx0ZXIvaXA2dGFibGVzX2luaXQuc2ggJHtEfS8ke3N5c2NvbmZkaXJ9LyR7QlBOfQorICAgIGluc3RhbGwgJHtTfS9uZXRmaWx0ZXIvaXA2dGFibGVzX3JlbW92ZWFsbC5zaCAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59CisgICAgaW5zdGFsbCAtbSAwNjQ0IC1iICR7U30vbWluaXVwbnBkLmNvbmYgJHtEfS8ke3N5c2NvbmZkaXJ9LyR7QlBOfQorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgJHtTfS9saW51eC9taW5pdXBucGQuaW5pdC5kLnNjcmlwdCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kL21pbml1cG5wZAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L21pbml1cG5wZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworfQorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibWluaXVwbnBkLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9zcXVpdHRvL2ZpbGVzLzAwMDItdXRoYXNoLXJlbW92ZS1pbi10cmVlLXZlcnNpb24ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9zcXVpdHRvL2ZpbGVzLzAwMDItdXRoYXNoLXJlbW92ZS1pbi10cmVlLXZlcnNpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4OWRmZTYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc3F1aXR0by9maWxlcy8wMDAyLXV0aGFzaC1yZW1vdmUtaW4tdHJlZS12ZXJzaW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTc1ICswLDAgQEAKLUZyb20gZDlhZWVmOGQ5NWEzMjU5NDJjYzkyZjRkNzI0MTU3NzFkNzVkOTA0YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9BbmRyPUMzPUE5PTIwRHJhc3ppaz89IDxhbmRyZS5kcmFzemlrQGpjaS5jb20+Ci1EYXRlOiBUdWUsIDEyIEFwciAyMDE2IDEzOjA1OjEwICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8yXSB1dGhhc2g6IHJlbW92ZSBpbi10cmVlIHZlcnNpb24KLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotV2UgZG9uJ3QgbmVlZCBpdCBhcyB3ZSB3YW50IHRvIHVzZSB0aGUgdmVyc2lvbiBwcm92aWRlZCBieQotbWV0YS1vZSBpbnN0ZWFkLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkLXNwZWNpZmljXQotU2lnbmVkLW9mZi1ieTogQW5kcsOpIERyYXN6aWsgPGFuZHJlLmRyYXN6aWtAamNpLmNvbT4KLS0tLQotIHNyYy91dGhhc2guaCB8IDk0OCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA5NDggZGVsZXRpb25zKC0pCi0gZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy91dGhhc2guaAotCi1kaWZmIC0tZ2l0IGEvc3JjL3V0aGFzaC5oIGIvc3JjL3V0aGFzaC5oCi1kZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDkxNWE4MjUuLjAwMDAwMDAKLS0tLSBhL3NyYy91dGhhc2guaAotKysrIC9kZXYvbnVsbAotQEAgLTEsOTQ4ICswLDAgQEAKLS0vKgotLUNvcHlyaWdodCAoYykgMjAwMy0yMDEzLCBUcm95IEQuIEhhbnNvbiAgICAgaHR0cDovL3Ryb3lkaGFuc29uLmdpdGh1Yi5jb20vdXRoYXNoLwotLUFsbCByaWdodHMgcmVzZXJ2ZWQuCi0tCi0tUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0tbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6Ci0tCi0tICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLS0gICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0tCi0tVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMKLS1JUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQKLS1UTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEKLS1QQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIKLS1PUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLS1FWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0tUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0tUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgotLUxJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCi0tTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0tU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0tKi8KLS0KLS0jaWZuZGVmIFVUSEFTSF9ICi0tI2RlZmluZSBVVEhBU0hfSCAKLS0KLS0jaW5jbHVkZSA8c3RyaW5nLmg+ICAgLyogbWVtY21wLHN0cmxlbiAqLwotLSNpbmNsdWRlIDxzdGRkZWYuaD4gICAvKiBwdHJkaWZmX3QgKi8KLS0jaW5jbHVkZSA8c3RkbGliLmg+ICAgLyogZXhpdCgpICovCi0tCi0tLyogVGhlc2UgbWFjcm9zIHVzZSBkZWNsdHlwZSBvciB0aGUgZWFybGllciBfX3R5cGVvZiBHTlUgZXh0ZW5zaW9uLgotLSAgIEFzIGRlY2x0eXBlIGlzIG9ubHkgYXZhaWxhYmxlIGluIG5ld2VyIGNvbXBpbGVycyAoVlMyMDEwIG9yIGdjYyA0LjMrCi0tICAgd2hlbiBjb21waWxpbmcgYysrIHNvdXJjZSkgdGhpcyBjb2RlIHVzZXMgd2hhdGV2ZXIgbWV0aG9kIGlzIG5lZWRlZAotLSAgIG9yLCBmb3IgVlMyMDA4IHdoZXJlIG5laXRoZXIgaXMgYXZhaWxhYmxlLCB1c2VzIGNhc3Rpbmcgd29ya2Fyb3VuZHMuICovCi0tI2lmZGVmIF9NU0NfVkVSICAgICAgICAgLyogTVMgY29tcGlsZXIgKi8KLS0jaWYgX01TQ19WRVIgPj0gMTYwMCAmJiBkZWZpbmVkKF9fY3BsdXNwbHVzKSAgLyogVlMyMDEwIG9yIG5ld2VyIGluIEMrKyBtb2RlICovCi0tI2RlZmluZSBERUNMVFlQRSh4KSAoZGVjbHR5cGUoeCkpCi0tI2Vsc2UgICAgICAgICAgICAgICAgICAgLyogVlMyMDA4IG9yIG9sZGVyIChvciBWUzIwMTAgaW4gQyBtb2RlKSAqLwotLSNkZWZpbmUgTk9fREVDTFRZUEUKLS0jZGVmaW5lIERFQ0xUWVBFKHgpCi0tI2VuZGlmCi0tI2Vsc2UgICAgICAgICAgICAgICAgICAgLyogR05VLCBTdW4gYW5kIG90aGVyIGNvbXBpbGVycyAqLwotLSNkZWZpbmUgREVDTFRZUEUoeCkgKF9fdHlwZW9mKHgpKQotLSNlbmRpZgotLQotLSNpZmRlZiBOT19ERUNMVFlQRQotLSNkZWZpbmUgREVDTFRZUEVfQVNTSUdOKGRzdCxzcmMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBjaGFyICoqX2RhX2RzdCA9IChjaGFyKiopKCYoZHN0KSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgKl9kYV9kc3QgPSAoY2hhciopKHNyYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlKDApCi0tI2Vsc2UgCi0tI2RlZmluZSBERUNMVFlQRV9BU1NJR04oZHN0LHNyYykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIChkc3QpID0gREVDTFRZUEUoZHN0KShzcmMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSgwKQotLSNlbmRpZgotLQotLS8qIGEgbnVtYmVyIG9mIHRoZSBoYXNoIGZ1bmN0aW9uIHVzZSB1aW50MzJfdCB3aGljaCBpc24ndCBkZWZpbmVkIG9uIHdpbjMyICovCi0tI2lmZGVmIF9NU0NfVkVSCi0tdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludDMyX3Q7Ci0tdHlwZWRlZiB1bnNpZ25lZCBjaGFyIHVpbnQ4X3Q7Ci0tI2Vsc2UKLS0jaW5jbHVkZSA8aW50dHlwZXMuaD4gICAvKiB1aW50MzJfdCAqLwotLSNlbmRpZgotLQotLSNkZWZpbmUgVVRIQVNIX1ZFUlNJT04gMS45LjgKLS0KLS0jaWZuZGVmIHV0aGFzaF9mYXRhbAotLSNkZWZpbmUgdXRoYXNoX2ZhdGFsKG1zZykgZXhpdCgtMSkgICAgICAgIC8qIGZhdGFsIGVycm9yIChvdXQgb2YgbWVtb3J5LGV0YykgKi8KLS0jZW5kaWYKLS0jaWZuZGVmIHV0aGFzaF9tYWxsb2MKLS0jZGVmaW5lIHV0aGFzaF9tYWxsb2Moc3opIG1hbGxvYyhzeikgICAgICAvKiBtYWxsb2MgZmNuICAgICAgICAgICAgICAgICAgICAgICovCi0tI2VuZGlmCi0tI2lmbmRlZiB1dGhhc2hfZnJlZQotLSNkZWZpbmUgdXRoYXNoX2ZyZWUocHRyLHN6KSBmcmVlKHB0cikgICAgIC8qIGZyZWUgZmNuICAgICAgICAgICAgICAgICAgICAgICAgKi8KLS0jZW5kaWYKLS0KLS0jaWZuZGVmIHV0aGFzaF9ub2V4cGFuZF9meWkKLS0jZGVmaW5lIHV0aGFzaF9ub2V4cGFuZF9meWkodGJsKSAgICAgICAgICAvKiBjYW4gYmUgZGVmaW5lZCB0byBsb2cgbm9leHBhbmQgICovCi0tI2VuZGlmCi0tI2lmbmRlZiB1dGhhc2hfZXhwYW5kX2Z5aQotLSNkZWZpbmUgdXRoYXNoX2V4cGFuZF9meWkodGJsKSAgICAgICAgICAgIC8qIGNhbiBiZSBkZWZpbmVkIHRvIGxvZyBleHBhbmRzICAgKi8KLS0jZW5kaWYKLS0KLS0vKiBpbml0aWFsIG51bWJlciBvZiBidWNrZXRzICovCi0tI2RlZmluZSBIQVNIX0lOSVRJQUxfTlVNX0JVQ0tFVFMgMzIgICAgICAvKiBpbml0aWFsIG51bWJlciBvZiBidWNrZXRzICAgICAgICAqLwotLSNkZWZpbmUgSEFTSF9JTklUSUFMX05VTV9CVUNLRVRTX0xPRzIgNSAgLyogbGcyIG9mIGluaXRpYWwgbnVtYmVyIG9mIGJ1Y2tldHMgKi8KLS0jZGVmaW5lIEhBU0hfQktUX0NBUEFDSVRZX1RIUkVTSCAxMCAgICAgIC8qIGV4cGFuZCB3aGVuIGJ1Y2tldCBjb3VudCByZWFjaGVzICovCi0tCi0tLyogY2FsY3VsYXRlIHRoZSBlbGVtZW50IHdob3NlIGhhc2ggaGFuZGxlIGFkZHJlc3MgaXMgaGhlICovCi0tI2RlZmluZSBFTE1UX0ZST01fSEgodGJsLGhocCkgKCh2b2lkKikoKChjaGFyKikoaGhwKSkgLSAoKHRibCktPmhobykpKQotLQotLSNkZWZpbmUgSEFTSF9GSU5EKGhoLGhlYWQsa2V5cHRyLGtleWxlbixvdXQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1bnNpZ25lZCBfaGZfYmt0LF9oZl9oYXNodjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgb3V0PU5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGlmIChoZWFkKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICBIQVNIX0ZDTihrZXlwdHIsa2V5bGVuLCAoaGVhZCktPmhoLnRibC0+bnVtX2J1Y2tldHMsIF9oZl9oYXNodiwgX2hmX2JrdCk7ICAgXAotLSAgICAgaWYgKEhBU0hfQkxPT01fVEVTVCgoaGVhZCktPmhoLnRibCwgX2hmX2hhc2h2KSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgSEFTSF9GSU5EX0lOX0JLVCgoaGVhZCktPmhoLnRibCwgaGgsIChoZWFkKS0+aGgudGJsLT5idWNrZXRzWyBfaGZfYmt0IF0sICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAga2V5cHRyLGtleWxlbixvdXQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSAoMCkKLS0KLS0jaWZkZWYgSEFTSF9CTE9PTQotLSNkZWZpbmUgSEFTSF9CTE9PTV9CSVRMRU4gKDFVTEwgPDwgSEFTSF9CTE9PTSkKLS0jZGVmaW5lIEhBU0hfQkxPT01fQllURUxFTiAoSEFTSF9CTE9PTV9CSVRMRU4vOCkgKyAoKEhBU0hfQkxPT01fQklUTEVOJTgpID8gMTowKQotLSNkZWZpbmUgSEFTSF9CTE9PTV9NQUtFKHRibCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAodGJsKS0+Ymxvb21fbmJpdHMgPSBIQVNIX0JMT09NOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgKHRibCktPmJsb29tX2J2ID0gKHVpbnQ4X3QqKXV0aGFzaF9tYWxsb2MoSEFTSF9CTE9PTV9CWVRFTEVOKTsgICAgICAgICAgICAgICAgIFwKLS0gIGlmICghKCh0YmwpLT5ibG9vbV9idikpICB7IHV0aGFzaF9mYXRhbCggIm91dCBvZiBtZW1vcnkiKTsgfSAgICAgICAgICAgICAgICAgICBcCi0tICBtZW1zZXQoKHRibCktPmJsb29tX2J2LCAwLCBIQVNIX0JMT09NX0JZVEVMRU4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgKHRibCktPmJsb29tX3NpZyA9IEhBU0hfQkxPT01fU0lHTkFUVVJFOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlICgwKSAKLS0KLS0jZGVmaW5lIEhBU0hfQkxPT01fRlJFRSh0YmwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgdXRoYXNoX2ZyZWUoKHRibCktPmJsb29tX2J2LCBIQVNIX0JMT09NX0JZVEVMRU4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlICgwKSAKLS0KLS0jZGVmaW5lIEhBU0hfQkxPT01fQklUU0VUKGJ2LGlkeCkgKGJ2WyhpZHgpLzhdIHw9ICgxVSA8PCAoKGlkeCklOCkpKQotLSNkZWZpbmUgSEFTSF9CTE9PTV9CSVRURVNUKGJ2LGlkeCkgKGJ2WyhpZHgpLzhdICYgKDFVIDw8ICgoaWR4KSU4KSkpCi0tCi0tI2RlZmluZSBIQVNIX0JMT09NX0FERCh0YmwsaGFzaHYpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgSEFTSF9CTE9PTV9CSVRTRVQoKHRibCktPmJsb29tX2J2LCAoaGFzaHYgJiAodWludDMyX3QpKCgxVUxMIDw8ICh0YmwpLT5ibG9vbV9uYml0cykgLSAxKSkpCi0tCi0tI2RlZmluZSBIQVNIX0JMT09NX1RFU1QodGJsLGhhc2h2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgSEFTSF9CTE9PTV9CSVRURVNUKCh0YmwpLT5ibG9vbV9idiwgKGhhc2h2ICYgKHVpbnQzMl90KSgoMVVMTCA8PCAodGJsKS0+Ymxvb21fbmJpdHMpIC0gMSkpKQotLQotLSNlbHNlCi0tI2RlZmluZSBIQVNIX0JMT09NX01BS0UodGJsKSAKLS0jZGVmaW5lIEhBU0hfQkxPT01fRlJFRSh0YmwpIAotLSNkZWZpbmUgSEFTSF9CTE9PTV9BREQodGJsLGhhc2h2KSAKLS0jZGVmaW5lIEhBU0hfQkxPT01fVEVTVCh0YmwsaGFzaHYpICgxKQotLSNkZWZpbmUgSEFTSF9CTE9PTV9CWVRFTEVOIDAKLS0jZW5kaWYKLS0KLS0jZGVmaW5lIEhBU0hfTUFLRV9UQUJMRShoaCxoZWFkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgKGhlYWQpLT5oaC50YmwgPSAoVVRfaGFzaF90YWJsZSopdXRoYXNoX21hbGxvYyggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICBzaXplb2YoVVRfaGFzaF90YWJsZSkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBpZiAoISgoaGVhZCktPmhoLnRibCkpICB7IHV0aGFzaF9mYXRhbCggIm91dCBvZiBtZW1vcnkiKTsgfSAgICAgICAgICAgICAgICAgICAgXAotLSAgbWVtc2V0KChoZWFkKS0+aGgudGJsLCAwLCBzaXplb2YoVVRfaGFzaF90YWJsZSkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIChoZWFkKS0+aGgudGJsLT50YWlsID0gJigoaGVhZCktPmhoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAoaGVhZCktPmhoLnRibC0+bnVtX2J1Y2tldHMgPSBIQVNIX0lOSVRJQUxfTlVNX0JVQ0tFVFM7ICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgKGhlYWQpLT5oaC50YmwtPmxvZzJfbnVtX2J1Y2tldHMgPSBIQVNIX0lOSVRJQUxfTlVNX0JVQ0tFVFNfTE9HMjsgICAgICAgICAgICAgIFwKLS0gIChoZWFkKS0+aGgudGJsLT5oaG8gPSAoY2hhciopKCYoaGVhZCktPmhoKSAtIChjaGFyKikoaGVhZCk7ICAgICAgICAgICAgICAgICAgICBcCi0tICAoaGVhZCktPmhoLnRibC0+YnVja2V0cyA9IChVVF9oYXNoX2J1Y2tldCopdXRoYXNoX21hbGxvYyggICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICBIQVNIX0lOSVRJQUxfTlVNX0JVQ0tFVFMqc2l6ZW9mKHN0cnVjdCBVVF9oYXNoX2J1Y2tldCkpOyAgICAgICAgICAgICAgIFwKLS0gIGlmICghIChoZWFkKS0+aGgudGJsLT5idWNrZXRzKSB7IHV0aGFzaF9mYXRhbCggIm91dCBvZiBtZW1vcnkiKTsgfSAgICAgICAgICAgICBcCi0tICBtZW1zZXQoKGhlYWQpLT5oaC50YmwtPmJ1Y2tldHMsIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICBIQVNIX0lOSVRJQUxfTlVNX0JVQ0tFVFMqc2l6ZW9mKHN0cnVjdCBVVF9oYXNoX2J1Y2tldCkpOyAgICAgICAgICAgICAgIFwKLS0gIEhBU0hfQkxPT01fTUFLRSgoaGVhZCktPmhoLnRibCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAoaGVhZCktPmhoLnRibC0+c2lnbmF0dXJlID0gSEFTSF9TSUdOQVRVUkU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0KLS0jZGVmaW5lIEhBU0hfQUREKGhoLGhlYWQsZmllbGRuYW1lLGtleWxlbl9pbixhZGQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBIQVNIX0FERF9LRVlQVFIoaGgsaGVhZCwmKChhZGQpLT5maWVsZG5hbWUpLGtleWxlbl9pbixhZGQpCi0tCi0tI2RlZmluZSBIQVNIX1JFUExBQ0UoaGgsaGVhZCxmaWVsZG5hbWUsa2V5bGVuX2luLGFkZCxyZXBsYWNlZCkgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHJlcGxhY2VkPU5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBIQVNIX0ZJTkQoaGgsaGVhZCwmKChhZGQpLT5maWVsZG5hbWUpLGtleWxlbl9pbixyZXBsYWNlZCk7ICAgICAgICAgICAgICAgICAgICAgXAotLSAgaWYgKHJlcGxhY2VkIT1OVUxMKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIEhBU0hfREVMRVRFKGhoLGhlYWQscmVwbGFjZWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgSEFTSF9BREQoaGgsaGVhZCxmaWVsZG5hbWUsa2V5bGVuX2luLGFkZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlKDApCi0tIAotLSNkZWZpbmUgSEFTSF9BRERfS0VZUFRSKGhoLGhlYWQsa2V5cHRyLGtleWxlbl9pbixhZGQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIHVuc2lnbmVkIF9oYV9ia3Q7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAoYWRkKS0+aGgubmV4dCA9IE5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gKGFkZCktPmhoLmtleSA9IChjaGFyKilrZXlwdHI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIChhZGQpLT5oaC5rZXlsZW4gPSAodW5zaWduZWQpa2V5bGVuX2luOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gaWYgKCEoaGVhZCkpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGhlYWQgPSAoYWRkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAoaGVhZCktPmhoLnByZXYgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgSEFTSF9NQUtFX1RBQkxFKGhoLGhlYWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAoaGVhZCktPmhoLnRibC0+dGFpbC0+bmV4dCA9IChhZGQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgKGFkZCktPmhoLnByZXYgPSBFTE1UX0ZST01fSEgoKGhlYWQpLT5oaC50YmwsIChoZWFkKS0+aGgudGJsLT50YWlsKTsgICAgICAgICBcCi0tICAgIChoZWFkKS0+aGgudGJsLT50YWlsID0gJigoYWRkKS0+aGgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gKGhlYWQpLT5oaC50YmwtPm51bV9pdGVtcysrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIChhZGQpLT5oaC50YmwgPSAoaGVhZCktPmhoLnRibDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSBIQVNIX0ZDTihrZXlwdHIsa2V5bGVuX2luLCAoaGVhZCktPmhoLnRibC0+bnVtX2J1Y2tldHMsICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAoYWRkKS0+aGguaGFzaHYsIF9oYV9ia3QpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIEhBU0hfQUREX1RPX0JLVCgoaGVhZCktPmhoLnRibC0+YnVja2V0c1tfaGFfYmt0XSwmKGFkZCktPmhoKTsgICAgICAgICAgICAgICAgICAgXAotLSBIQVNIX0JMT09NX0FERCgoaGVhZCktPmhoLnRibCwoYWRkKS0+aGguaGFzaHYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gSEFTSF9FTUlUX0tFWShoaCxoZWFkLGtleXB0cixrZXlsZW5faW4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIEhBU0hfRlNDSyhoaCxoZWFkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0KLS0jZGVmaW5lIEhBU0hfVE9fQktUKCBoYXNodiwgbnVtX2JrdHMsIGJrdCApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgYmt0ID0gKChoYXNodikgJiAoKG51bV9ia3RzKSAtIDEpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlKDApCi0tCi0tLyogZGVsZXRlICJkZWxwdHIiIGZyb20gdGhlIGhhc2ggdGFibGUuCi0tICogInRoZSB1c3VhbCIgcGF0Y2gtdXAgcHJvY2VzcyBmb3IgdGhlIGFwcC1vcmRlciBkb3VibHktbGlua2VkLWxpc3QuCi0tICogVGhlIHVzZSBvZiBfaGRfaGhfZGVsIGJlbG93IGRlc2VydmVzIHNwZWNpYWwgZXhwbGFuYXRpb24uCi0tICogVGhlc2UgdXNlZCB0byBiZSBleHByZXNzZWQgdXNpbmcgKGRlbHB0cikgYnV0IHRoYXQgbGVkIHRvIGEgYnVnCi0tICogaWYgc29tZW9uZSB1c2VkIHRoZSBzYW1lIHN5bWJvbCBmb3IgdGhlIGhlYWQgYW5kIGRlbGV0ZWUsIGxpa2UKLS0gKiAgSEFTSF9ERUxFVEUoaGgsdXNlcnMsdXNlcnMpOwotLSAqIFdlIHdhbnQgdGhhdCB0byB3b3JrLCBidXQgYnkgY2hhbmdpbmcgdGhlIGhlYWQgKHVzZXJzKSBiZWxvdwotLSAqIHdlIHdlcmUgZm9yZmVpdGluZyBvdXIgYWJpbGl0eSB0byBmdXJ0aGVyIHJlZmVyIHRvIHRoZSBkZWxldGVlICh1c2VycykKLS0gKiBpbiB0aGUgcGF0Y2gtdXAgcHJvY2Vzcy4gU29sdXRpb246IHVzZSBzY3JhdGNoIHNwYWNlIHRvCi0tICogY29weSB0aGUgZGVsZXRlZSBwb2ludGVyLCB0aGVuIHRoZSBsYXR0ZXIgcmVmZXJlbmNlcyBhcmUgdmlhIHRoYXQKLS0gKiBzY3JhdGNoIHBvaW50ZXIgcmF0aGVyIHRoYW4gdGhyb3VnaCB0aGUgcmVwb2ludGVkICh1c2Vycykgc3ltYm9sLgotLSAqLwotLSNkZWZpbmUgSEFTSF9ERUxFVEUoaGgsaGVhZCxkZWxwdHIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHVuc2lnbmVkIF9oZF9ia3Q7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBzdHJ1Y3QgVVRfaGFzaF9oYW5kbGUgKl9oZF9oaF9kZWw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaWYgKCAoKGRlbHB0ciktPmhoLnByZXYgPT0gTlVMTCkgJiYgKChkZWxwdHIpLT5oaC5uZXh0ID09IE5VTEwpICkgIHsgICAgICAgICBcCi0tICAgICAgICB1dGhhc2hfZnJlZSgoaGVhZCktPmhoLnRibC0+YnVja2V0cywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPm51bV9idWNrZXRzKnNpemVvZihzdHJ1Y3QgVVRfaGFzaF9idWNrZXQpICk7IFwKLS0gICAgICAgIEhBU0hfQkxPT01fRlJFRSgoaGVhZCktPmhoLnRibCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICB1dGhhc2hfZnJlZSgoaGVhZCktPmhoLnRibCwgc2l6ZW9mKFVUX2hhc2hfdGFibGUpKTsgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgaGVhZCA9IE5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBfaGRfaGhfZGVsID0gJigoZGVscHRyKS0+aGgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgaWYgKChkZWxwdHIpID09IEVMTVRfRlJPTV9ISCgoaGVhZCktPmhoLnRibCwoaGVhZCktPmhoLnRibC0+dGFpbCkpIHsgICAgIFwKLS0gICAgICAgICAgICAoaGVhZCktPmhoLnRibC0+dGFpbCA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgIChVVF9oYXNoX2hhbmRsZSopKChwdHJkaWZmX3QpKChkZWxwdHIpLT5oaC5wcmV2KSArICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAoaGVhZCktPmhoLnRibC0+aGhvKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBpZiAoKGRlbHB0ciktPmhoLnByZXYpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICgoVVRfaGFzaF9oYW5kbGUqKSgocHRyZGlmZl90KSgoZGVscHRyKS0+aGgucHJldikgKyAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT5oaG8pKS0+bmV4dCA9IChkZWxwdHIpLT5oaC5uZXh0OyAgICAgICAgICAgICBcCi0tICAgICAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIERFQ0xUWVBFX0FTU0lHTihoZWFkLChkZWxwdHIpLT5oaC5uZXh0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBpZiAoX2hkX2hoX2RlbC0+bmV4dCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICgoVVRfaGFzaF9oYW5kbGUqKSgocHRyZGlmZl90KV9oZF9oaF9kZWwtPm5leHQgKyAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT5oaG8pKS0+cHJldiA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICBfaGRfaGhfZGVsLT5wcmV2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIEhBU0hfVE9fQktUKCBfaGRfaGhfZGVsLT5oYXNodiwgKGhlYWQpLT5oaC50YmwtPm51bV9idWNrZXRzLCBfaGRfYmt0KTsgICBcCi0tICAgICAgICBIQVNIX0RFTF9JTl9CS1QoaGgsKGhlYWQpLT5oaC50YmwtPmJ1Y2tldHNbX2hkX2JrdF0sIF9oZF9oaF9kZWwpOyAgICAgICAgXAotLSAgICAgICAgKGhlYWQpLT5oaC50YmwtPm51bV9pdGVtcy0tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIEhBU0hfRlNDSyhoaCxoZWFkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUgKDApCi0tCi0tCi0tLyogY29udmVuaWVuY2UgZm9ybXMgb2YgSEFTSF9GSU5EL0hBU0hfQUREL0hBU0hfREVMICovCi0tI2RlZmluZSBIQVNIX0ZJTkRfU1RSKGhlYWQsZmluZHN0cixvdXQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBIQVNIX0ZJTkQoaGgsaGVhZCxmaW5kc3RyLHN0cmxlbihmaW5kc3RyKSxvdXQpCi0tI2RlZmluZSBIQVNIX0FERF9TVFIoaGVhZCxzdHJmaWVsZCxhZGQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBIQVNIX0FERChoaCxoZWFkLHN0cmZpZWxkLHN0cmxlbihhZGQtPnN0cmZpZWxkKSxhZGQpCi0tI2RlZmluZSBIQVNIX1JFUExBQ0VfU1RSKGhlYWQsc3RyZmllbGQsYWRkLHJlcGxhY2VkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgSEFTSF9SRVBMQUNFKGhoLGhlYWQsc3RyZmllbGQsc3RybGVuKGFkZC0+c3RyZmllbGQpLGFkZCxyZXBsYWNlZCkKLS0jZGVmaW5lIEhBU0hfRklORF9JTlQoaGVhZCxmaW5kaW50LG91dCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIEhBU0hfRklORChoaCxoZWFkLGZpbmRpbnQsc2l6ZW9mKGludCksb3V0KQotLSNkZWZpbmUgSEFTSF9BRERfSU5UKGhlYWQsaW50ZmllbGQsYWRkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgSEFTSF9BREQoaGgsaGVhZCxpbnRmaWVsZCxzaXplb2YoaW50KSxhZGQpCi0tI2RlZmluZSBIQVNIX1JFUExBQ0VfSU5UKGhlYWQsaW50ZmllbGQsYWRkLHJlcGxhY2VkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBIQVNIX1JFUExBQ0UoaGgsaGVhZCxpbnRmaWVsZCxzaXplb2YoaW50KSxhZGQscmVwbGFjZWQpCi0tI2RlZmluZSBIQVNIX0ZJTkRfUFRSKGhlYWQsZmluZHB0cixvdXQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBIQVNIX0ZJTkQoaGgsaGVhZCxmaW5kcHRyLHNpemVvZih2b2lkICopLG91dCkKLS0jZGVmaW5lIEhBU0hfQUREX1BUUihoZWFkLHB0cmZpZWxkLGFkZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIEhBU0hfQUREKGhoLGhlYWQscHRyZmllbGQsc2l6ZW9mKHZvaWQgKiksYWRkKQotLSNkZWZpbmUgSEFTSF9SRVBMQUNFX1BUUihoZWFkLHB0cmZpZWxkLGFkZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgSEFTSF9SRVBMQUNFKGhoLGhlYWQscHRyZmllbGQsc2l6ZW9mKHZvaWQgKiksYWRkLHJlcGxhY2VkKQotLSNkZWZpbmUgSEFTSF9ERUwoaGVhZCxkZWxwdHIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgSEFTSF9ERUxFVEUoaGgsaGVhZCxkZWxwdHIpCi0tCi0tLyogSEFTSF9GU0NLIGNoZWNrcyBoYXNoIGludGVncml0eSBvbiBldmVyeSBhZGQvZGVsZXRlIHdoZW4gSEFTSF9ERUJVRyBpcyBkZWZpbmVkLgotLSAqIFRoaXMgaXMgZm9yIHV0aGFzaCBkZXZlbG9wZXIgb25seTsgaXQgY29tcGlsZXMgYXdheSBpZiBIQVNIX0RFQlVHIGlzbid0IGRlZmluZWQuCi0tICovCi0tI2lmZGVmIEhBU0hfREVCVUcKLS0jZGVmaW5lIEhBU0hfT09QUyguLi4pIGRvIHsgZnByaW50ZihzdGRlcnIsX19WQV9BUkdTX18pOyBleGl0KC0xKTsgfSB3aGlsZSAoMCkKLS0jZGVmaW5lIEhBU0hfRlNDSyhoaCxoZWFkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB1bnNpZ25lZCBfYmt0X2k7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdW5zaWduZWQgX2NvdW50LCBfYmt0X2NvdW50OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGNoYXIgKl9wcmV2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBzdHJ1Y3QgVVRfaGFzaF9oYW5kbGUgKl90aGg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaWYgKGhlYWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBfY291bnQgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgZm9yKCBfYmt0X2kgPSAwOyBfYmt0X2kgPCAoaGVhZCktPmhoLnRibC0+bnVtX2J1Y2tldHM7IF9ia3RfaSsrKSB7ICAgICAgIFwKLS0gICAgICAgICAgICBfYmt0X2NvdW50ID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgX3RoaCA9IChoZWFkKS0+aGgudGJsLT5idWNrZXRzW19ia3RfaV0uaGhfaGVhZDsgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIF9wcmV2ID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICB3aGlsZSAoX3RoaCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgaWYgKF9wcmV2ICE9IChjaGFyKikoX3RoaC0+aGhfcHJldikpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICBIQVNIX09PUFMoImludmFsaWQgaGhfcHJldiAlcCwgYWN0dWFsICVwXG4iLCAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgIF90aGgtPmhoX3ByZXYsIF9wcmV2ICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgIF9ia3RfY291bnQrKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICBfcHJldiA9IChjaGFyKikoX3RoaCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgX3RoaCA9IF90aGgtPmhoX25leHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBfY291bnQgKz0gX2JrdF9jb3VudDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgaWYgKChoZWFkKS0+aGgudGJsLT5idWNrZXRzW19ia3RfaV0uY291bnQgIT0gIF9ia3RfY291bnQpIHsgICAgICAgICAgXAotLSAgICAgICAgICAgICAgIEhBU0hfT09QUygiaW52YWxpZCBidWNrZXQgY291bnQgJWQsIGFjdHVhbCAlZFxuIiwgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPmJ1Y2tldHNbX2JrdF9pXS5jb3VudCwgX2JrdF9jb3VudCk7ICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIGlmIChfY291bnQgIT0gKGhlYWQpLT5oaC50YmwtPm51bV9pdGVtcykgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgSEFTSF9PT1BTKCJpbnZhbGlkIGhoIGl0ZW0gY291bnQgJWQsIGFjdHVhbCAlZFxuIiwgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAoaGVhZCktPmhoLnRibC0+bnVtX2l0ZW1zLCBfY291bnQgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAvKiB0cmF2ZXJzZSBoaCBpbiBhcHAgb3JkZXI7IGNoZWNrIG5leHQvcHJldiBpbnRlZ3JpdHksIGNvdW50ICovICAgICAgICAgXAotLSAgICAgICAgX2NvdW50ID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIF9wcmV2ID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBfdGhoID0gICYoaGVhZCktPmhoOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgd2hpbGUgKF90aGgpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgIF9jb3VudCsrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICBpZiAoX3ByZXYgIT0oY2hhciopKF90aGgtPnByZXYpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgSEFTSF9PT1BTKCJpbnZhbGlkIHByZXYgJXAsIGFjdHVhbCAlcFxuIiwgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgIF90aGgtPnByZXYsIF9wcmV2ICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgX3ByZXYgPSAoY2hhciopRUxNVF9GUk9NX0hIKChoZWFkKS0+aGgudGJsLCBfdGhoKTsgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgIF90aGggPSAoIF90aGgtPm5leHQgPyAgKFVUX2hhc2hfaGFuZGxlKikoKGNoYXIqKShfdGhoLT5uZXh0KSArICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT5oaG8pIDogTlVMTCApOyAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIGlmIChfY291bnQgIT0gKGhlYWQpLT5oaC50YmwtPm51bV9pdGVtcykgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgSEFTSF9PT1BTKCJpbnZhbGlkIGFwcCBpdGVtIGNvdW50ICVkLCBhY3R1YWwgJWRcbiIsICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAoaGVhZCktPmhoLnRibC0+bnVtX2l0ZW1zLCBfY291bnQgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUgKDApCi0tI2Vsc2UKLS0jZGVmaW5lIEhBU0hfRlNDSyhoaCxoZWFkKSAKLS0jZW5kaWYKLS0KLS0vKiBXaGVuIGNvbXBpbGVkIHdpdGggLURIQVNIX0VNSVRfS0VZUywgbGVuZ3RoLXByZWZpeGVkIGtleXMgYXJlIGVtaXR0ZWQgdG8gCi0tICogdGhlIGRlc2NyaXB0b3IgdG8gd2hpY2ggdGhpcyBtYWNybyBpcyBkZWZpbmVkIGZvciB0dW5pbmcgdGhlIGhhc2ggZnVuY3Rpb24uCi0tICogVGhlIGFwcCBjYW4gI2luY2x1ZGUgPHVuaXN0ZC5oPiB0byBnZXQgdGhlIHByb3RvdHlwZSBmb3Igd3JpdGUoMikuICovCi0tI2lmZGVmIEhBU0hfRU1JVF9LRVlTCi0tI2RlZmluZSBIQVNIX0VNSVRfS0VZKGhoLGhlYWQsa2V5cHRyLGZpZWxkbGVuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdW5zaWduZWQgX2tsZW4gPSBmaWVsZGxlbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHdyaXRlKEhBU0hfRU1JVF9LRVlTLCAmX2tsZW4sIHNpemVvZihfa2xlbikpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB3cml0ZShIQVNIX0VNSVRfS0VZUywga2V5cHRyLCBmaWVsZGxlbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlICgwKQotLSNlbHNlIAotLSNkZWZpbmUgSEFTSF9FTUlUX0tFWShoaCxoZWFkLGtleXB0cixmaWVsZGxlbikgICAgICAgICAgICAgICAgICAgIAotLSNlbmRpZgotLQotLS8qIGRlZmF1bHQgdG8gSmVua2luJ3MgaGFzaCB1bmxlc3Mgb3ZlcnJpZGRlbiBlLmcuIERIQVNIX0ZVTkNUSU9OPUhBU0hfU0FYICovCi0tI2lmZGVmIEhBU0hfRlVOQ1RJT04gCi0tI2RlZmluZSBIQVNIX0ZDTiBIQVNIX0ZVTkNUSU9OCi0tI2Vsc2UKLS0jZGVmaW5lIEhBU0hfRkNOIEhBU0hfSkVOCi0tI2VuZGlmCi0tCi0tLyogVGhlIEJlcm5zdGVpbiBoYXNoIGZ1bmN0aW9uLCB1c2VkIGluIFBlcmwgcHJpb3IgdG8gdjUuNiAqLwotLSNkZWZpbmUgSEFTSF9CRVIoa2V5LGtleWxlbixudW1fYmt0cyxoYXNodixia3QpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1bnNpZ25lZCBfaGJfa2V5bGVuPWtleWxlbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgY2hhciAqX2hiX2tleT0oY2hhciopKGtleSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIChoYXNodikgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB3aGlsZSAoX2hiX2tleWxlbi0tKSAgeyAoaGFzaHYpID0gKChoYXNodikgKiAzMykgKyAqX2hiX2tleSsrOyB9ICAgICAgICAgICAgICAgXAotLSAgYmt0ID0gKGhhc2h2KSAmIChudW1fYmt0cy0xKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlICgwKQotLQotLQotLS8qIFNBWC9GTlYvT0FUL0pFTiBoYXNoIGZ1bmN0aW9ucyBhcmUgbWFjcm8gdmFyaWFudHMgb2YgdGhvc2UgbGlzdGVkIGF0IAotLSAqIGh0dHA6Ly9ldGVybmFsbHljb25mdXp6bGVkLmNvbS90dXRzL2FsZ29yaXRobXMvanN3X3R1dF9oYXNoaW5nLmFzcHggKi8KLS0jZGVmaW5lIEhBU0hfU0FYKGtleSxrZXlsZW4sbnVtX2JrdHMsaGFzaHYsYmt0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgdW5zaWduZWQgX3N4X2k7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGNoYXIgKl9oc19rZXk9KGNoYXIqKShrZXkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBoYXNodiA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgZm9yKF9zeF9pPTA7IF9zeF9pIDwga2V5bGVuOyBfc3hfaSsrKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICBoYXNodiBePSAoaGFzaHYgPDwgNSkgKyAoaGFzaHYgPj4gMikgKyBfaHNfa2V5W19zeF9pXTsgICAgICAgICAgICAgICAgICAgICBcCi0tICBia3QgPSBoYXNodiAmIChudW1fYmt0cy0xKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUgKDApCi0tCi0tI2RlZmluZSBIQVNIX0ZOVihrZXksa2V5bGVuLG51bV9ia3RzLGhhc2h2LGJrdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVuc2lnbmVkIF9mbl9pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBjaGFyICpfaGZfa2V5PShjaGFyKikoa2V5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgaGFzaHYgPSAyMTY2MTM2MjYxVUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGZvcihfZm5faT0wOyBfZm5faSA8IGtleWxlbjsgX2ZuX2krKykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgaGFzaHYgPSAoaGFzaHYgKiAxNjc3NzYxOSkgXiBfaGZfa2V5W19mbl9pXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgYmt0ID0gaGFzaHYgJiAobnVtX2JrdHMtMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlKDApIAotLSAKLS0jZGVmaW5lIEhBU0hfT0FUKGtleSxrZXlsZW4sbnVtX2JrdHMsaGFzaHYsYmt0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgdW5zaWduZWQgX2hvX2k7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGNoYXIgKl9ob19rZXk9KGNoYXIqKShrZXkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBoYXNodiA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgZm9yKF9ob19pPTA7IF9ob19pIDwga2V5bGVuOyBfaG9faSsrKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICBoYXNodiArPSBfaG9fa2V5W19ob19pXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgaGFzaHYgKz0gKGhhc2h2IDw8IDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIGhhc2h2IF49IChoYXNodiA+PiA2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBoYXNodiArPSAoaGFzaHYgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgaGFzaHYgXj0gKGhhc2h2ID4+IDExKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGhhc2h2ICs9IChoYXNodiA8PCAxNSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBia3QgPSBoYXNodiAmIChudW1fYmt0cy0xKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0KLS0jZGVmaW5lIEhBU0hfSkVOX01JWChhLGIsYykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgYSAtPSBiOyBhIC09IGM7IGEgXj0gKCBjID4+IDEzICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGIgLT0gYzsgYiAtPSBhOyBiIF49ICggYSA8PCA4ICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBjIC09IGE7IGMgLT0gYjsgYyBePSAoIGIgPj4gMTMgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgYSAtPSBiOyBhIC09IGM7IGEgXj0gKCBjID4+IDEyICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGIgLT0gYzsgYiAtPSBhOyBiIF49ICggYSA8PCAxNiApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBjIC09IGE7IGMgLT0gYjsgYyBePSAoIGIgPj4gNSApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgYSAtPSBiOyBhIC09IGM7IGEgXj0gKCBjID4+IDMgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGIgLT0gYzsgYiAtPSBhOyBiIF49ICggYSA8PCAxMCApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBjIC09IGE7IGMgLT0gYjsgYyBePSAoIGIgPj4gMTUgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUgKDApCi0tCi0tI2RlZmluZSBIQVNIX0pFTihrZXksa2V5bGVuLG51bV9ia3RzLGhhc2h2LGJrdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVuc2lnbmVkIF9oal9pLF9oal9qLF9oal9rOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1bnNpZ25lZCBjaGFyICpfaGpfa2V5PSh1bnNpZ25lZCBjaGFyKikoa2V5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgaGFzaHYgPSAweGZlZWRiZWVmOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIF9oal9pID0gX2hqX2ogPSAweDllMzc3OWI5OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBfaGpfayA9ICh1bnNpZ25lZClrZXlsZW47ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgd2hpbGUgKF9oal9rID49IDEyKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX2hqX2kgKz0gICAgKF9oal9rZXlbMF0gKyAoICh1bnNpZ25lZClfaGpfa2V5WzFdIDw8IDggKSAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICArICggKHVuc2lnbmVkKV9oal9rZXlbMl0gPDwgMTYgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgKyAoICh1bnNpZ25lZClfaGpfa2V5WzNdIDw8IDI0ICkgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX2hqX2ogKz0gICAgKF9oal9rZXlbNF0gKyAoICh1bnNpZ25lZClfaGpfa2V5WzVdIDw8IDggKSAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICArICggKHVuc2lnbmVkKV9oal9rZXlbNl0gPDwgMTYgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgKyAoICh1bnNpZ25lZClfaGpfa2V5WzddIDw8IDI0ICkgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaGFzaHYgKz0gKF9oal9rZXlbOF0gKyAoICh1bnNpZ25lZClfaGpfa2V5WzldIDw8IDggKSAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICArICggKHVuc2lnbmVkKV9oal9rZXlbMTBdIDw8IDE2ICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgKyAoICh1bnNpZ25lZClfaGpfa2V5WzExXSA8PCAyNCApICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICBIQVNIX0pFTl9NSVgoX2hqX2ksIF9oal9qLCBoYXNodik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIF9oal9rZXkgKz0gMTI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICBfaGpfayAtPSAxMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGhhc2h2ICs9IGtleWxlbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBzd2l0Y2ggKCBfaGpfayApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgY2FzZSAxMTogaGFzaHYgKz0gKCAodW5zaWduZWQpX2hqX2tleVsxMF0gPDwgMjQgKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIGNhc2UgMTA6IGhhc2h2ICs9ICggKHVuc2lnbmVkKV9oal9rZXlbOV0gPDwgMTYgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICBjYXNlIDk6ICBoYXNodiArPSAoICh1bnNpZ25lZClfaGpfa2V5WzhdIDw8IDggKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgY2FzZSA4OiAgX2hqX2ogKz0gKCAodW5zaWduZWQpX2hqX2tleVs3XSA8PCAyNCApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIGNhc2UgNzogIF9oal9qICs9ICggKHVuc2lnbmVkKV9oal9rZXlbNl0gPDwgMTYgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICBjYXNlIDY6ICBfaGpfaiArPSAoICh1bnNpZ25lZClfaGpfa2V5WzVdIDw8IDggKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgY2FzZSA1OiAgX2hqX2ogKz0gX2hqX2tleVs0XTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIGNhc2UgNDogIF9oal9pICs9ICggKHVuc2lnbmVkKV9oal9rZXlbM10gPDwgMjQgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICBjYXNlIDM6ICBfaGpfaSArPSAoICh1bnNpZ25lZClfaGpfa2V5WzJdIDw8IDE2ICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgY2FzZSAyOiAgX2hqX2kgKz0gKCAodW5zaWduZWQpX2hqX2tleVsxXSA8PCA4ICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIGNhc2UgMTogIF9oal9pICs9IF9oal9rZXlbMF07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgSEFTSF9KRU5fTUlYKF9oal9pLCBfaGpfaiwgaGFzaHYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGJrdCA9IGhhc2h2ICYgKG51bV9ia3RzLTEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSgwKQotLQotLS8qIFRoZSBQYXVsIEhzaWVoIGhhc2ggZnVuY3Rpb24gKi8KLS0jdW5kZWYgZ2V0MTZiaXRzCi0tI2lmIChkZWZpbmVkKF9fR05VQ19fKSAmJiBkZWZpbmVkKF9faTM4Nl9fKSkgfHwgZGVmaW5lZChfX1dBVENPTUNfXykgICAgICAgICAgICAgXAotLSAgfHwgZGVmaW5lZChfTVNDX1ZFUikgfHwgZGVmaW5lZCAoX19CT1JMQU5EQ19fKSB8fCBkZWZpbmVkIChfX1RVUkJPQ19fKQotLSNkZWZpbmUgZ2V0MTZiaXRzKGQpICgqKChjb25zdCB1aW50MTZfdCAqKSAoZCkpKQotLSNlbmRpZgotLQotLSNpZiAhZGVmaW5lZCAoZ2V0MTZiaXRzKQotLSNkZWZpbmUgZ2V0MTZiaXRzKGQpICgoKCh1aW50MzJfdCkoKChjb25zdCB1aW50OF90ICopKGQpKVsxXSkpIDw8IDgpICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICsodWludDMyX3QpKCgoY29uc3QgdWludDhfdCAqKShkKSlbMF0pICkKLS0jZW5kaWYKLS0jZGVmaW5lIEhBU0hfU0ZIKGtleSxrZXlsZW4sbnVtX2JrdHMsaGFzaHYsYmt0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgdW5zaWduZWQgY2hhciAqX3NmaF9rZXk9KHVuc2lnbmVkIGNoYXIqKShrZXkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVpbnQzMl90IF9zZmhfdG1wLCBfc2ZoX2xlbiA9IGtleWxlbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgaW50IF9zZmhfcmVtID0gX3NmaF9sZW4gJiAzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIF9zZmhfbGVuID4+PSAyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBoYXNodiA9IDB4Y2FmZWJhYmU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIC8qIE1haW4gbG9vcCAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBmb3IgKDtfc2ZoX2xlbiA+IDA7IF9zZmhfbGVuLS0pIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBoYXNodiAgICArPSBnZXQxNmJpdHMgKF9zZmhfa2V5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX3NmaF90bXAgICAgICAgPSAodWludDMyX3QpKGdldDE2Yml0cyAoX3NmaF9rZXkrMikpIDw8IDExICBeIGhhc2h2OyAgICAgICAgICBcCi0tICAgIGhhc2h2ICAgICA9IChoYXNodiA8PCAxNikgXiBfc2ZoX3RtcDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBfc2ZoX2tleSArPSAyKnNpemVvZiAodWludDE2X3QpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaGFzaHYgICAgKz0gaGFzaHYgPj4gMTE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIC8qIEhhbmRsZSBlbmQgY2FzZXMgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBzd2l0Y2ggKF9zZmhfcmVtKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBjYXNlIDM6IGhhc2h2ICs9IGdldDE2Yml0cyAoX3NmaF9rZXkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBoYXNodiBePSBoYXNodiA8PCAxNjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgaGFzaHYgXj0gKHVpbnQzMl90KShfc2ZoX2tleVtzaXplb2YgKHVpbnQxNl90KV0gPDwgMTgpOyAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIGhhc2h2ICs9IGhhc2h2ID4+IDExOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBicmVhazsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGNhc2UgMjogaGFzaHYgKz0gZ2V0MTZiaXRzIChfc2ZoX2tleSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIGhhc2h2IF49IGhhc2h2IDw8IDExOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBoYXNodiArPSBoYXNodiA+PiAxNzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgYnJlYWs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBjYXNlIDE6IGhhc2h2ICs9ICpfc2ZoX2tleTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBoYXNodiBePSBoYXNodiA8PCAxMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgaGFzaHYgKz0gaGFzaHYgPj4gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIC8qIEZvcmNlICJhdmFsYW5jaGluZyIgb2YgZmluYWwgMTI3IGJpdHMgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBoYXNodiBePSBoYXNodiA8PCAzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaGFzaHYgKz0gaGFzaHYgPj4gNTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGhhc2h2IF49IGhhc2h2IDw8IDQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBoYXNodiArPSBoYXNodiA+PiAxNzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaGFzaHYgXj0gaGFzaHYgPDwgMjU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGhhc2h2ICs9IGhhc2h2ID4+IDY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBia3QgPSBoYXNodiAmIChudW1fYmt0cy0xKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlKDApIAotLQotLSNpZmRlZiBIQVNIX1VTSU5HX05PX1NUUklDVF9BTElBU0lORwotLS8qIFRoZSBNdXJtdXJIYXNoIGV4cGxvaXRzIHNvbWUgQ1BVJ3MgKHg4Nix4ODZfNjQpIHRvbGVyYW5jZSBmb3IgdW5hbGlnbmVkIHJlYWRzLgotLSAqIEZvciBvdGhlciB0eXBlcyBvZiBDUFUncyAoZS5nLiBTcGFyYykgYW4gdW5hbGlnbmVkIHJlYWQgY2F1c2VzIGEgYnVzIGVycm9yLgotLSAqIE11cm11ckhhc2ggdXNlcyB0aGUgZmFzdGVyIGFwcHJvYWNoIG9ubHkgb24gQ1BVJ3Mgd2hlcmUgd2Uga25vdyBpdCdzIHNhZmUuIAotLSAqCi0tICogTm90ZSB0aGUgcHJlcHJvY2Vzc29yIGJ1aWx0LWluIGRlZmluZXMgY2FuIGJlIGVtaXR0ZWQgdXNpbmc6Ci0tICoKLS0gKiAgIGdjYyAtbTY0IC1kTSAtRSAtIDwgL2Rldi9udWxsICAgICAgICAgICAgICAgICAgKG9uIGdjYykKLS0gKiAgIGNjIC0jIyBhLmMgKHdoZXJlIGEuYyBpcyBhIHNpbXBsZSB0ZXN0IGZpbGUpICAgKFN1biBTdHVkaW8pCi0tICovCi0tI2lmIChkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pICB8fCBkZWZpbmVkKF9NX0lYODYpKQotLSNkZWZpbmUgTVVSX0dFVEJMT0NLKHAsaSkgcFtpXQotLSNlbHNlIC8qIG5vbiBpbnRlbCAqLwotLSNkZWZpbmUgTVVSX1BMVVMwX0FMSUdORUQocCkgKCgodW5zaWduZWQgbG9uZylwICYgMHgzKSA9PSAwKQotLSNkZWZpbmUgTVVSX1BMVVMxX0FMSUdORUQocCkgKCgodW5zaWduZWQgbG9uZylwICYgMHgzKSA9PSAxKQotLSNkZWZpbmUgTVVSX1BMVVMyX0FMSUdORUQocCkgKCgodW5zaWduZWQgbG9uZylwICYgMHgzKSA9PSAyKQotLSNkZWZpbmUgTVVSX1BMVVMzX0FMSUdORUQocCkgKCgodW5zaWduZWQgbG9uZylwICYgMHgzKSA9PSAzKQotLSNkZWZpbmUgV1AocCkgKCh1aW50MzJfdCopKCh1bnNpZ25lZCBsb25nKShwKSAmIH4zVUwpKQotLSNpZiAoZGVmaW5lZChfX0JJR19FTkRJQU5fXykgfHwgZGVmaW5lZChTUEFSQykgfHwgZGVmaW5lZChfX3BwY19fKSB8fCBkZWZpbmVkKF9fcHBjNjRfXykpCi0tI2RlZmluZSBNVVJfVEhSRUVfT05FKHApICgoKCgqV1AocCkpJjB4MDBmZmZmZmYpIDw8IDgpIHwgKCgoKihXUChwKSsxKSkmMHhmZjAwMDAwMCkgPj4gMjQpKQotLSNkZWZpbmUgTVVSX1RXT19UV08ocCkgICAoKCgoKldQKHApKSYweDAwMDBmZmZmKSA8PDE2KSB8ICgoKCooV1AocCkrMSkpJjB4ZmZmZjAwMDApID4+IDE2KSkKLS0jZGVmaW5lIE1VUl9PTkVfVEhSRUUocCkgKCgoKCpXUChwKSkmMHgwMDAwMDBmZikgPDwyNCkgfCAoKCgqKFdQKHApKzEpKSYweGZmZmZmZjAwKSA+PiAgOCkpCi0tI2Vsc2UgLyogYXNzdW1lIGxpdHRsZSBlbmRpYW4gbm9uLWludGVsICovCi0tI2RlZmluZSBNVVJfVEhSRUVfT05FKHApICgoKCgqV1AocCkpJjB4ZmZmZmZmMDApID4+IDgpIHwgKCgoKihXUChwKSsxKSkmMHgwMDAwMDBmZikgPDwgMjQpKQotLSNkZWZpbmUgTVVSX1RXT19UV08ocCkgICAoKCgoKldQKHApKSYweGZmZmYwMDAwKSA+PjE2KSB8ICgoKCooV1AocCkrMSkpJjB4MDAwMGZmZmYpIDw8IDE2KSkKLS0jZGVmaW5lIE1VUl9PTkVfVEhSRUUocCkgKCgoKCpXUChwKSkmMHhmZjAwMDAwMCkgPj4yNCkgfCAoKCgqKFdQKHApKzEpKSYweDAwZmZmZmZmKSA8PCAgOCkpCi0tI2VuZGlmCi0tI2RlZmluZSBNVVJfR0VUQkxPQ0socCxpKSAoTVVSX1BMVVMwX0FMSUdORUQocCkgPyAoKHApW2ldKSA6ICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIChNVVJfUExVUzFfQUxJR05FRChwKSA/IE1VUl9USFJFRV9PTkUocCkgOiBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoTVVSX1BMVVMyX0FMSUdORUQocCkgPyBNVVJfVFdPX1RXTyhwKSA6ICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVVSX09ORV9USFJFRShwKSkpKQotLSNlbmRpZgotLSNkZWZpbmUgTVVSX1JPVEwzMih4LHIpICgoKHgpIDw8IChyKSkgfCAoKHgpID4+ICgzMiAtIChyKSkpKQotLSNkZWZpbmUgTVVSX0ZNSVgoX2gpIFwKLS1kbyB7ICAgICAgICAgICAgICAgICBcCi0tICBfaCBePSBfaCA+PiAxNjsgICAgXAotLSAgX2ggKj0gMHg4NWViY2E2YjsgIFwKLS0gIF9oIF49IF9oID4+IDEzOyAgICBcCi0tICBfaCAqPSAweGMyYjJhZTM1bDsgXAotLSAgX2ggXj0gX2ggPj4gMTY7ICAgIFwKLS19IHdoaWxlKDApCi0tCi0tI2RlZmluZSBIQVNIX01VUihrZXksa2V5bGVuLG51bV9ia3RzLGhhc2h2LGJrdCkgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBjb25zdCB1aW50OF90ICpfbXVyX2RhdGEgPSAoY29uc3QgdWludDhfdCopKGtleSk7ICAgICAgICAgICAgICAgICAgICBcCi0tICBjb25zdCBpbnQgX211cl9uYmxvY2tzID0gKGtleWxlbikgLyA0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1aW50MzJfdCBfbXVyX2gxID0gMHhmODhENTM1MzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1aW50MzJfdCBfbXVyX2MxID0gMHhjYzllMmQ1MTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1aW50MzJfdCBfbXVyX2MyID0gMHgxYjg3MzU5MzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1aW50MzJfdCBfbXVyX2sxID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBjb25zdCB1aW50OF90ICpfbXVyX3RhaWw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBjb25zdCB1aW50MzJfdCAqX211cl9ibG9ja3MgPSAoY29uc3QgdWludDMyX3QqKShfbXVyX2RhdGErX211cl9uYmxvY2tzKjQpOyBcCi0tICBpbnQgX211cl9pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBmb3IoX211cl9pID0gLV9tdXJfbmJsb2NrczsgX211cl9pOyBfbXVyX2krKykgeyAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIF9tdXJfazEgPSBNVVJfR0VUQkxPQ0soX211cl9ibG9ja3MsX211cl9pKTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIF9tdXJfazEgKj0gX211cl9jMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIF9tdXJfazEgPSBNVVJfUk9UTDMyKF9tdXJfazEsMTUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIF9tdXJfazEgKj0gX211cl9jMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIF9tdXJfaDEgXj0gX211cl9rMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIF9tdXJfaDEgPSBNVVJfUk9UTDMyKF9tdXJfaDEsMTMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIF9tdXJfaDEgPSBfbXVyX2gxKjUrMHhlNjU0NmI2NDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBfbXVyX3RhaWwgPSAoY29uc3QgdWludDhfdCopKF9tdXJfZGF0YSArIF9tdXJfbmJsb2Nrcyo0KTsgICAgICAgICAgICBcCi0tICBfbXVyX2sxPTA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBzd2l0Y2goKGtleWxlbikgJiAzKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGNhc2UgMzogX211cl9rMSBePSBfbXVyX3RhaWxbMl0gPDwgMTY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGNhc2UgMjogX211cl9rMSBePSBfbXVyX3RhaWxbMV0gPDwgODsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGNhc2UgMTogX211cl9rMSBePSBfbXVyX3RhaWxbMF07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIF9tdXJfazEgKj0gX211cl9jMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIF9tdXJfazEgPSBNVVJfUk9UTDMyKF9tdXJfazEsMTUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIF9tdXJfazEgKj0gX211cl9jMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIF9tdXJfaDEgXj0gX211cl9rMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBfbXVyX2gxIF49IChrZXlsZW4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBNVVJfRk1JWChfbXVyX2gxKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBoYXNodiA9IF9tdXJfaDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBia3QgPSBoYXNodiAmIChudW1fYmt0cy0xKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSgwKQotLSNlbmRpZiAgLyogSEFTSF9VU0lOR19OT19TVFJJQ1RfQUxJQVNJTkcgKi8KLS0KLS0vKiBrZXkgY29tcGFyaXNvbiBmdW5jdGlvbjsgcmV0dXJuIDAgaWYga2V5cyBlcXVhbCAqLwotLSNkZWZpbmUgSEFTSF9LRVlDTVAoYSxiLGxlbikgbWVtY21wKGEsYixsZW4pIAotLQotLS8qIGl0ZXJhdGUgb3ZlciBpdGVtcyBpbiBhIGtub3duIGJ1Y2tldCB0byBmaW5kIGRlc2lyZWQgaXRlbSAqLwotLSNkZWZpbmUgSEFTSF9GSU5EX0lOX0JLVCh0YmwsaGgsaGVhZCxrZXlwdHIsa2V5bGVuX2luLG91dCkgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIGlmIChoZWFkLmhoX2hlYWQpIERFQ0xUWVBFX0FTU0lHTihvdXQsRUxNVF9GUk9NX0hIKHRibCxoZWFkLmhoX2hlYWQpKTsgICAgICAgICAgXAotLSBlbHNlIG91dD1OVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gd2hpbGUgKG91dCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGlmICgob3V0KS0+aGgua2V5bGVuID09IGtleWxlbl9pbikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBpZiAoKEhBU0hfS0VZQ01QKChvdXQpLT5oaC5rZXksa2V5cHRyLGtleWxlbl9pbikpID09IDApIGJyZWFrOyAgICAgICAgICAgICBcCi0tICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBpZiAoKG91dCktPmhoLmhoX25leHQpIERFQ0xUWVBFX0FTU0lHTihvdXQsRUxNVF9GUk9NX0hIKHRibCwob3V0KS0+aGguaGhfbmV4dCkpOyBcCi0tICAgIGVsc2Ugb3V0ID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlKDApCi0tCi0tLyogYWRkIGFuIGl0ZW0gdG8gYSBidWNrZXQgICovCi0tI2RlZmluZSBIQVNIX0FERF9UT19CS1QoaGVhZCxhZGRoaCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gaGVhZC5jb3VudCsrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIChhZGRoaCktPmhoX25leHQgPSBoZWFkLmhoX2hlYWQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAoYWRkaGgpLT5oaF9wcmV2ID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gaWYgKGhlYWQuaGhfaGVhZCkgeyAoaGVhZCkuaGhfaGVhZC0+aGhfcHJldiA9IChhZGRoaCk7IH0gICAgICAgICAgICAgICAgICAgICAgICBcCi0tIChoZWFkKS5oaF9oZWFkPWFkZGhoOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSBpZiAoaGVhZC5jb3VudCA+PSAoKGhlYWQuZXhwYW5kX211bHQrMSkgKiBIQVNIX0JLVF9DQVBBQ0lUWV9USFJFU0gpICAgICAgICAgICAgIFwKLS0gICAgICYmIChhZGRoaCktPnRibC0+bm9leHBhbmQgIT0gMSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgIEhBU0hfRVhQQU5EX0JVQ0tFVFMoKGFkZGhoKS0+dGJsKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlKDApCi0tCi0tLyogcmVtb3ZlIGFuIGl0ZW0gZnJvbSBhIGdpdmVuIGJ1Y2tldCAqLwotLSNkZWZpbmUgSEFTSF9ERUxfSU5fQktUKGhoLGhlYWQsaGhfZGVsKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgKGhlYWQpLmNvdW50LS07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGlmICgoaGVhZCkuaGhfaGVhZCA9PSBoaF9kZWwpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIChoZWFkKS5oaF9oZWFkID0gaGhfZGVsLT5oaF9uZXh0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGlmIChoaF9kZWwtPmhoX3ByZXYpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgaGhfZGVsLT5oaF9wcmV2LT5oaF9uZXh0ID0gaGhfZGVsLT5oaF9uZXh0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGlmIChoaF9kZWwtPmhoX25leHQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgaGhfZGVsLT5oaF9uZXh0LT5oaF9wcmV2ID0gaGhfZGVsLT5oaF9wcmV2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLS0KLS0vKiBCdWNrZXQgZXhwYW5zaW9uIGhhcyB0aGUgZWZmZWN0IG9mIGRvdWJsaW5nIHRoZSBudW1iZXIgb2YgYnVja2V0cwotLSAqIGFuZCByZWRpc3RyaWJ1dGluZyB0aGUgaXRlbXMgaW50byB0aGUgbmV3IGJ1Y2tldHMuIElkZWFsbHkgdGhlCi0tICogaXRlbXMgd2lsbCBkaXN0cmlidXRlIG1vcmUgb3IgbGVzcyBldmVubHkgaW50byB0aGUgbmV3IGJ1Y2tldHMKLS0gKiAodGhlIGV4dGVudCB0byB3aGljaCB0aGlzIGlzIHRydWUgaXMgYSBtZWFzdXJlIG9mIHRoZSBxdWFsaXR5IG9mCi0tICogdGhlIGhhc2ggZnVuY3Rpb24gYXMgaXQgYXBwbGllcyB0byB0aGUga2V5IGRvbWFpbikuIAotLSAqIAotLSAqIFdpdGggdGhlIGl0ZW1zIGRpc3RyaWJ1dGVkIGludG8gbW9yZSBidWNrZXRzLCB0aGUgY2hhaW4gbGVuZ3RoCi0tICogKGl0ZW0gY291bnQpIGluIGVhY2ggYnVja2V0IGlzIHJlZHVjZWQuIFRodXMgYnkgZXhwYW5kaW5nIGJ1Y2tldHMKLS0gKiB0aGUgaGFzaCBrZWVwcyBhIGJvdW5kIG9uIHRoZSBjaGFpbiBsZW5ndGguIFRoaXMgYm91bmRlZCBjaGFpbiAKLS0gKiBsZW5ndGggaXMgdGhlIGVzc2VuY2Ugb2YgaG93IGEgaGFzaCBwcm92aWRlcyBjb25zdGFudCB0aW1lIGxvb2t1cC4KLS0gKiAKLS0gKiBUaGUgY2FsY3VsYXRpb24gb2YgdGJsLT5pZGVhbF9jaGFpbl9tYXhsZW4gYmVsb3cgZGVzZXJ2ZXMgc29tZQotLSAqIGV4cGxhbmF0aW9uLiBGaXJzdCwga2VlcCBpbiBtaW5kIHRoYXQgd2UncmUgY2FsY3VsYXRpbmcgdGhlIGlkZWFsCi0tICogbWF4aW11bSBjaGFpbiBsZW5ndGggYmFzZWQgb24gdGhlICpuZXcqIChkb3VibGVkKSBidWNrZXQgY291bnQuCi0tICogSW4gZnJhY3Rpb25zIHRoaXMgaXMganVzdCBuL2IgKG49bnVtYmVyIG9mIGl0ZW1zLGI9bmV3IG51bSBidWNrZXRzKS4KLS0gKiBTaW5jZSB0aGUgaWRlYWwgY2hhaW4gbGVuZ3RoIGlzIGFuIGludGVnZXIsIHdlIHdhbnQgdG8gY2FsY3VsYXRlIAotLSAqIGNlaWwobi9iKS4gV2UgZG9uJ3QgZGVwZW5kIG9uIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgaW4gdGhpcwotLSAqIGhhc2gsIHNvIHRvIGNhbGN1bGF0ZSBjZWlsKG4vYikgd2l0aCBpbnRlZ2VycyB3ZSBjb3VsZCB3cml0ZQotLSAqIAotLSAqICAgICAgY2VpbChuL2IpID0gKG4vYikgKyAoKG4lYik/MTowKQotLSAqIAotLSAqIGFuZCBpbiBmYWN0IGEgcHJldmlvdXMgdmVyc2lvbiBvZiB0aGlzIGhhc2ggZGlkIGp1c3QgdGhhdC4KLS0gKiBCdXQgbm93IHdlIGhhdmUgaW1wcm92ZWQgdGhpbmdzIGEgYml0IGJ5IHJlY29nbml6aW5nIHRoYXQgYiBpcwotLSAqIGFsd2F5cyBhIHBvd2VyIG9mIHR3by4gV2Uga2VlcCBpdHMgYmFzZSAyIGxvZyBoYW5keSAoY2FsbCBpdCBsYiksCi0tICogc28gbm93IHdlIGNhbiB3cml0ZSB0aGlzIHdpdGggYSBiaXQgc2hpZnQgYW5kIGxvZ2ljYWwgQU5EOgotLSAqIAotLSAqICAgICAgY2VpbChuL2IpID0gKG4+PmxiKSArICggKG4gJiAoYi0xKSkgPyAxOjApCi0tICogCi0tICovCi0tI2RlZmluZSBIQVNIX0VYUEFORF9CVUNLRVRTKHRibCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdW5zaWduZWQgX2hlX2JrdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHVuc2lnbmVkIF9oZV9ia3RfaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBzdHJ1Y3QgVVRfaGFzaF9oYW5kbGUgKl9oZV90aGgsICpfaGVfaGhfbnh0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgVVRfaGFzaF9idWNrZXQgKl9oZV9uZXdfYnVja2V0cywgKl9oZV9uZXdia3Q7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIF9oZV9uZXdfYnVja2V0cyA9IChVVF9oYXNoX2J1Y2tldCopdXRoYXNoX21hbGxvYyggICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAyICogdGJsLT5udW1fYnVja2V0cyAqIHNpemVvZihzdHJ1Y3QgVVRfaGFzaF9idWNrZXQpKTsgICAgICAgICAgICAgIFwKLS0gICAgaWYgKCFfaGVfbmV3X2J1Y2tldHMpIHsgdXRoYXNoX2ZhdGFsKCAib3V0IG9mIG1lbW9yeSIpOyB9ICAgICAgICAgICAgICAgICAgICBcCi0tICAgIG1lbXNldChfaGVfbmV3X2J1Y2tldHMsIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIDIgKiB0YmwtPm51bV9idWNrZXRzICogc2l6ZW9mKHN0cnVjdCBVVF9oYXNoX2J1Y2tldCkpOyAgICAgICAgICAgICAgIFwKLS0gICAgdGJsLT5pZGVhbF9jaGFpbl9tYXhsZW4gPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICh0YmwtPm51bV9pdGVtcyA+PiAodGJsLT5sb2cyX251bV9idWNrZXRzKzEpKSArICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAoKHRibC0+bnVtX2l0ZW1zICYgKCh0YmwtPm51bV9idWNrZXRzKjIpLTEpKSA/IDEgOiAwKTsgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdGJsLT5ub25pZGVhbF9pdGVtcyA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGZvcihfaGVfYmt0X2kgPSAwOyBfaGVfYmt0X2kgPCB0YmwtPm51bV9idWNrZXRzOyBfaGVfYmt0X2krKykgICAgICAgICAgICAgICAgXAotLSAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIF9oZV90aGggPSB0YmwtPmJ1Y2tldHNbIF9oZV9ia3RfaSBdLmhoX2hlYWQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICB3aGlsZSAoX2hlX3RoaCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgX2hlX2hoX254dCA9IF9oZV90aGgtPmhoX25leHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgIEhBU0hfVE9fQktUKCBfaGVfdGhoLT5oYXNodiwgdGJsLT5udW1fYnVja2V0cyoyLCBfaGVfYmt0KTsgICAgICAgICAgICBcCi0tICAgICAgICAgICBfaGVfbmV3Ymt0ID0gJihfaGVfbmV3X2J1Y2tldHNbIF9oZV9ia3QgXSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgaWYgKCsrKF9oZV9uZXdia3QtPmNvdW50KSA+IHRibC0+aWRlYWxfY2hhaW5fbWF4bGVuKSB7ICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgdGJsLT5ub25pZGVhbF9pdGVtcysrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgIF9oZV9uZXdia3QtPmV4cGFuZF9tdWx0ID0gX2hlX25ld2JrdC0+Y291bnQgLyAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YmwtPmlkZWFsX2NoYWluX21heGxlbjsgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICBfaGVfdGhoLT5oaF9wcmV2ID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgX2hlX3RoaC0+aGhfbmV4dCA9IF9oZV9uZXdia3QtPmhoX2hlYWQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgIGlmIChfaGVfbmV3Ymt0LT5oaF9oZWFkKSBfaGVfbmV3Ymt0LT5oaF9oZWFkLT5oaF9wcmV2ID0gICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgIF9oZV90aGg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgX2hlX25ld2JrdC0+aGhfaGVhZCA9IF9oZV90aGg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgIF9oZV90aGggPSBfaGVfaGhfbnh0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdXRoYXNoX2ZyZWUoIHRibC0+YnVja2V0cywgdGJsLT5udW1fYnVja2V0cypzaXplb2Yoc3RydWN0IFVUX2hhc2hfYnVja2V0KSApOyBcCi0tICAgIHRibC0+bnVtX2J1Y2tldHMgKj0gMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB0YmwtPmxvZzJfbnVtX2J1Y2tldHMrKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdGJsLT5idWNrZXRzID0gX2hlX25ld19idWNrZXRzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHRibC0+aW5lZmZfZXhwYW5kcyA9ICh0YmwtPm5vbmlkZWFsX2l0ZW1zID4gKHRibC0+bnVtX2l0ZW1zID4+IDEpKSA/ICAgICAgICAgXAotLSAgICAgICAgKHRibC0+aW5lZmZfZXhwYW5kcysxKSA6IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaWYgKHRibC0+aW5lZmZfZXhwYW5kcyA+IDEpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICB0YmwtPm5vZXhwYW5kPTE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgdXRoYXNoX25vZXhwYW5kX2Z5aSh0YmwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHV0aGFzaF9leHBhbmRfZnlpKHRibCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0KLS0KLS0vKiBUaGlzIGlzIGFuIGFkYXB0YXRpb24gb2YgU2ltb24gVGF0aGFtJ3MgTyhuIGxvZyhuKSkgbWVyZ2Vzb3J0ICovCi0tLyogTm90ZSB0aGF0IEhBU0hfU09SVCBhc3N1bWVzIHRoZSBoYXNoIGhhbmRsZSBuYW1lIHRvIGJlIGhoLiAKLS0gKiBIQVNIX1NSVCB3YXMgYWRkZWQgdG8gYWxsb3cgdGhlIGhhc2ggaGFuZGxlIG5hbWUgdG8gYmUgcGFzc2VkIGluLiAqLwotLSNkZWZpbmUgSEFTSF9TT1JUKGhlYWQsY21wZmNuKSBIQVNIX1NSVChoaCxoZWFkLGNtcGZjbikKLS0jZGVmaW5lIEhBU0hfU1JUKGhoLGhlYWQsY21wZmNuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgdW5zaWduZWQgX2hzX2k7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVuc2lnbmVkIF9oc19sb29waW5nLF9oc19ubWVyZ2VzLF9oc19pbnNpemUsX2hzX3BzaXplLF9oc19xc2l6ZTsgICAgICAgICAgICAgICBcCi0tICBzdHJ1Y3QgVVRfaGFzaF9oYW5kbGUgKl9oc19wLCAqX2hzX3EsICpfaHNfZSwgKl9oc19saXN0LCAqX2hzX3RhaWw7ICAgICAgICAgICAgXAotLSAgaWYgKGhlYWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICBfaHNfaW5zaXplID0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgX2hzX2xvb3BpbmcgPSAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIF9oc19saXN0ID0gJigoaGVhZCktPmhoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICB3aGlsZSAoX2hzX2xvb3BpbmcpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIF9oc19wID0gX2hzX2xpc3Q7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICBfaHNfbGlzdCA9IE5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgX2hzX3RhaWwgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIF9oc19ubWVyZ2VzID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICB3aGlsZSAoX2hzX3ApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIF9oc19ubWVyZ2VzKys7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICBfaHNfcSA9IF9oc19wOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgX2hzX3BzaXplID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIGZvciAoIF9oc19pID0gMDsgX2hzX2kgIDwgX2hzX2luc2l6ZTsgX2hzX2krKyApIHsgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgX2hzX3BzaXplKys7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIF9oc19xID0gKFVUX2hhc2hfaGFuZGxlKikoKF9oc19xLT5uZXh0KSA/ICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICgodm9pZCopKChjaGFyKikoX2hzX3EtPm5leHQpICsgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAoaGVhZCktPmhoLnRibC0+aGhvKSkgOiBOVUxMKTsgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIGlmICghIChfaHNfcSkgKSBicmVhazsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICBfaHNfcXNpemUgPSBfaHNfaW5zaXplOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgd2hpbGUgKChfaHNfcHNpemUgPiAwKSB8fCAoKF9oc19xc2l6ZSA+IDApICYmIF9oc19xICkpIHsgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICBpZiAoX2hzX3BzaXplID09IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgIF9oc19lID0gX2hzX3E7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBfaHNfcSA9IChVVF9oYXNoX2hhbmRsZSopKChfaHNfcS0+bmV4dCkgPyAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvaWQqKSgoY2hhciopKF9oc19xLT5uZXh0KSArICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPmhobykpIDogTlVMTCk7ICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBfaHNfcXNpemUtLTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCAoX2hzX3FzaXplID09IDApIHx8ICEoX2hzX3EpICkgeyAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgIF9oc19lID0gX2hzX3A7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBpZiAoX2hzX3ApeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICBfaHNfcCA9IChVVF9oYXNoX2hhbmRsZSopKChfaHNfcC0+bmV4dCkgPyAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvaWQqKSgoY2hhciopKF9oc19wLT5uZXh0KSArICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPmhobykpIDogTlVMTCk7ICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgIF9oc19wc2l6ZS0tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgY21wZmNuKERFQ0xUWVBFKGhlYWQpKEVMTVRfRlJPTV9ISCgoaGVhZCktPmhoLnRibCxfaHNfcCkpLCBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERUNMVFlQRShoZWFkKShFTE1UX0ZST01fSEgoKGhlYWQpLT5oaC50YmwsX2hzX3EpKSkgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA8PSAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgX2hzX2UgPSBfaHNfcDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgIGlmIChfaHNfcCl7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgIF9oc19wID0gKFVUX2hhc2hfaGFuZGxlKikoKF9oc19wLT5uZXh0KSA/ICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2lkKikoKGNoYXIqKShfaHNfcC0+bmV4dCkgKyAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT5oaG8pKSA6IE5VTEwpOyAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgX2hzX3BzaXplLS07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBfaHNfZSA9IF9oc19xOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgX2hzX3EgPSAoVVRfaGFzaF9oYW5kbGUqKSgoX2hzX3EtPm5leHQpID8gICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2lkKikoKGNoYXIqKShfaHNfcS0+bmV4dCkgKyAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT5oaG8pKSA6IE5VTEwpOyAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgX2hzX3FzaXplLS07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIGlmICggX2hzX3RhaWwgKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgX2hzX3RhaWwtPm5leHQgPSAoKF9oc19lKSA/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVMTVRfRlJPTV9ISCgoaGVhZCktPmhoLnRibCxfaHNfZSkgOiBOVUxMKTsgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgX2hzX2xpc3QgPSBfaHNfZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIGlmIChfaHNfZSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICBfaHNfZS0+cHJldiA9ICgoX2hzX3RhaWwpID8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgRUxNVF9GUk9NX0hIKChoZWFkKS0+aGgudGJsLF9oc190YWlsKSA6IE5VTEwpOyAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICBfaHNfdGFpbCA9IF9oc19lOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgX2hzX3AgPSBfaHNfcTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIGlmIChfaHNfdGFpbCl7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIF9oc190YWlsLT5uZXh0ID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIGlmICggX2hzX25tZXJnZXMgPD0gMSApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgX2hzX2xvb3Bpbmc9MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT50YWlsID0gX2hzX3RhaWw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICBERUNMVFlQRV9BU1NJR04oaGVhZCxFTE1UX0ZST01fSEgoKGhlYWQpLT5oaC50YmwsIF9oc19saXN0KSk7ICAgICAgXAotLSAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgX2hzX2luc2l6ZSAqPSAyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIEhBU0hfRlNDSyhoaCxoZWFkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSAoMCkKLS0KLS0vKiBUaGlzIGZ1bmN0aW9uIHNlbGVjdHMgaXRlbXMgZnJvbSBvbmUgaGFzaCBpbnRvIGFub3RoZXIgaGFzaC4gCi0tICogVGhlIGVuZCByZXN1bHQgaXMgdGhhdCB0aGUgc2VsZWN0ZWQgaXRlbXMgaGF2ZSBkdWFsIHByZXNlbmNlIAotLSAqIGluIGJvdGggaGFzaGVzLiBUaGVyZSBpcyBubyBjb3B5IG9mIHRoZSBpdGVtcyBtYWRlOyByYXRoZXIgCi0tICogdGhleSBhcmUgYWRkZWQgaW50byB0aGUgbmV3IGhhc2ggdGhyb3VnaCBhIHNlY29uZGFyeSBoYXNoIAotLSAqIGhhc2ggaGFuZGxlIHRoYXQgbXVzdCBiZSBwcmVzZW50IGluIHRoZSBzdHJ1Y3R1cmUuICovCi0tI2RlZmluZSBIQVNIX1NFTEVDVChoaF9kc3QsIGRzdCwgaGhfc3JjLCBzcmMsIGNvbmQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVuc2lnbmVkIF9zcmNfYmt0LCBfZHN0X2JrdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB2b2lkICpfbGFzdF9lbHQ9TlVMTCwgKl9lbHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgVVRfaGFzaF9oYW5kbGUgKl9zcmNfaGgsICpfZHN0X2hoLCAqX2xhc3RfZWx0X2hoPU5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHB0cmRpZmZfdCBfZHN0X2hobyA9ICgoY2hhciopKCYoZHN0KS0+aGhfZHN0KSAtIChjaGFyKikoZHN0KSk7ICAgICAgICAgICAgICAgICBcCi0tICBpZiAoc3JjKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBmb3IoX3NyY19ia3Q9MDsgX3NyY19ia3QgPCAoc3JjKS0+aGhfc3JjLnRibC0+bnVtX2J1Y2tldHM7IF9zcmNfYmt0KyspIHsgICAgIFwKLS0gICAgICBmb3IoX3NyY19oaCA9IChzcmMpLT5oaF9zcmMudGJsLT5idWNrZXRzW19zcmNfYmt0XS5oaF9oZWFkOyAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIF9zcmNfaGg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICBfc3JjX2hoID0gX3NyY19oaC0+aGhfbmV4dCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgX2VsdCA9IEVMTVRfRlJPTV9ISCgoc3JjKS0+aGhfc3JjLnRibCwgX3NyY19oaCk7ICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIGlmIChjb25kKF9lbHQpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIF9kc3RfaGggPSAoVVRfaGFzaF9oYW5kbGUqKSgoKGNoYXIqKV9lbHQpICsgX2RzdF9oaG8pOyAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBfZHN0X2hoLT5rZXkgPSBfc3JjX2hoLT5rZXk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgX2RzdF9oaC0+a2V5bGVuID0gX3NyY19oaC0+a2V5bGVuOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIF9kc3RfaGgtPmhhc2h2ID0gX3NyY19oaC0+aGFzaHY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBfZHN0X2hoLT5wcmV2ID0gX2xhc3RfZWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgX2RzdF9oaC0+bmV4dCA9IE5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIGlmIChfbGFzdF9lbHRfaGgpIHsgX2xhc3RfZWx0X2hoLT5uZXh0ID0gX2VsdDsgfSAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBpZiAoIWRzdCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICBERUNMVFlQRV9BU1NJR04oZHN0LF9lbHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgSEFTSF9NQUtFX1RBQkxFKGhoX2RzdCxkc3QpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICBfZHN0X2hoLT50YmwgPSAoZHN0KS0+aGhfZHN0LnRibDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBIQVNIX1RPX0JLVChfZHN0X2hoLT5oYXNodiwgX2RzdF9oaC0+dGJsLT5udW1fYnVja2V0cywgX2RzdF9ia3QpOyAgICBcCi0tICAgICAgICAgICAgSEFTSF9BRERfVE9fQktUKF9kc3RfaGgtPnRibC0+YnVja2V0c1tfZHN0X2JrdF0sX2RzdF9oaCk7ICAgICAgICAgICAgXAotLSAgICAgICAgICAgIChkc3QpLT5oaF9kc3QudGJsLT5udW1faXRlbXMrKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBfbGFzdF9lbHQgPSBfZWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgX2xhc3RfZWx0X2hoID0gX2RzdF9oaDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIEhBU0hfRlNDSyhoaF9kc3QsZHN0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSAoMCkKLS0KLS0jZGVmaW5lIEhBU0hfQ0xFQVIoaGgsaGVhZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgaWYgKGhlYWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdXRoYXNoX2ZyZWUoKGhlYWQpLT5oaC50YmwtPmJ1Y2tldHMsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT5udW1fYnVja2V0cypzaXplb2Yoc3RydWN0IFVUX2hhc2hfYnVja2V0KSk7ICAgICAgXAotLSAgICBIQVNIX0JMT09NX0ZSRUUoKGhlYWQpLT5oaC50YmwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdXRoYXNoX2ZyZWUoKGhlYWQpLT5oaC50YmwsIHNpemVvZihVVF9oYXNoX3RhYmxlKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIChoZWFkKT1OVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlKDApCi0tCi0tI2RlZmluZSBIQVNIX09WRVJIRUFEKGhoLGhlYWQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAoc2l6ZV90KSgoKChoZWFkKS0+aGgudGJsLT5udW1faXRlbXMgICAqIHNpemVvZihVVF9oYXNoX2hhbmRsZSkpICAgKyAgICAgICAgICAgIFwKLS0gICAgICAgICAgICgoaGVhZCktPmhoLnRibC0+bnVtX2J1Y2tldHMgKiBzaXplb2YoVVRfaGFzaF9idWNrZXQpKSAgICsgICAgICAgICAgICBcCi0tICAgICAgICAgICAgKHNpemVvZihVVF9oYXNoX3RhYmxlKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArICAgICAgICAgICAgXAotLSAgICAgICAgICAgIChIQVNIX0JMT09NX0JZVEVMRU4pKSkKLS0KLS0jaWZkZWYgTk9fREVDTFRZUEUKLS0jZGVmaW5lIEhBU0hfSVRFUihoaCxoZWFkLGVsLHRtcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZm9yKChlbCk9KGhlYWQpLCAoKihjaGFyKiopKCYodG1wKSkpPShjaGFyKikoKGhlYWQpPyhoZWFkKS0+aGgubmV4dDpOVUxMKTsgICAgICAgXAotLSAgZWw7IChlbCk9KHRtcCksKCooY2hhcioqKSgmKHRtcCkpKT0oY2hhciopKCh0bXApPyh0bXApLT5oaC5uZXh0Ok5VTEwpKSAKLS0jZWxzZQotLSNkZWZpbmUgSEFTSF9JVEVSKGhoLGhlYWQsZWwsdG1wKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1mb3IoKGVsKT0oaGVhZCksKHRtcCk9REVDTFRZUEUoZWwpKChoZWFkKT8oaGVhZCktPmhoLm5leHQ6TlVMTCk7ICAgICAgICAgICAgICAgICBcCi0tICBlbDsgKGVsKT0odG1wKSwodG1wKT1ERUNMVFlQRShlbCkoKHRtcCk/KHRtcCktPmhoLm5leHQ6TlVMTCkpCi0tI2VuZGlmCi0tCi0tLyogb2J0YWluIGEgY291bnQgb2YgaXRlbXMgaW4gdGhlIGhhc2ggKi8KLS0jZGVmaW5lIEhBU0hfQ09VTlQoaGVhZCkgSEFTSF9DTlQoaGgsaGVhZCkgCi0tI2RlZmluZSBIQVNIX0NOVChoaCxoZWFkKSAoKGhlYWQpPygoaGVhZCktPmhoLnRibC0+bnVtX2l0ZW1zKTowKQotLQotLXR5cGVkZWYgc3RydWN0IFVUX2hhc2hfYnVja2V0IHsKLS0gICBzdHJ1Y3QgVVRfaGFzaF9oYW5kbGUgKmhoX2hlYWQ7Ci0tICAgdW5zaWduZWQgY291bnQ7Ci0tCi0tICAgLyogZXhwYW5kX211bHQgaXMgbm9ybWFsbHkgc2V0IHRvIDAuIEluIHRoaXMgc2l0dWF0aW9uLCB0aGUgbWF4IGNoYWluIGxlbmd0aAotLSAgICAqIHRocmVzaG9sZCBpcyBlbmZvcmNlZCBhdCBpdHMgZGVmYXVsdCB2YWx1ZSwgSEFTSF9CS1RfQ0FQQUNJVFlfVEhSRVNILiAoSWYKLS0gICAgKiB0aGUgYnVja2V0J3MgY2hhaW4gZXhjZWVkcyB0aGlzIGxlbmd0aCwgYnVja2V0IGV4cGFuc2lvbiBpcyB0cmlnZ2VyZWQpLiAKLS0gICAgKiBIb3dldmVyLCBzZXR0aW5nIGV4cGFuZF9tdWx0IHRvIGEgbm9uLXplcm8gdmFsdWUgZGVsYXlzIGJ1Y2tldCBleHBhbnNpb24KLS0gICAgKiAodGhhdCB3b3VsZCBiZSB0cmlnZ2VyZWQgYnkgYWRkaXRpb25zIHRvIHRoaXMgcGFydGljdWxhciBidWNrZXQpCi0tICAgICogdW50aWwgaXRzIGNoYWluIGxlbmd0aCByZWFjaGVzIGEgKm11bHRpcGxlKiBvZiBIQVNIX0JLVF9DQVBBQ0lUWV9USFJFU0guCi0tICAgICogKFRoZSBtdWx0aXBsaWVyIGlzIHNpbXBseSBleHBhbmRfbXVsdCsxKS4gVGhlIHdob2xlIGlkZWEgb2YgdGhpcwotLSAgICAqIG11bHRpcGxpZXIgaXMgdG8gcmVkdWNlIGJ1Y2tldCBleHBhbnNpb25zLCBzaW5jZSB0aGV5IGFyZSBleHBlbnNpdmUsIGluCi0tICAgICogc2l0dWF0aW9ucyB3aGVyZSB3ZSBrbm93IHRoYXQgYSBwYXJ0aWN1bGFyIGJ1Y2tldCB0ZW5kcyB0byBiZSBvdmVydXNlZC4KLS0gICAgKiBJdCBpcyBiZXR0ZXIgdG8gbGV0IGl0cyBjaGFpbiBsZW5ndGggZ3JvdyB0byBhIGxvbmdlciB5ZXQtc3RpbGwtYm91bmRlZAotLSAgICAqIHZhbHVlLCB0aGFuIHRvIGRvIGFuIE8obikgYnVja2V0IGV4cGFuc2lvbiB0b28gb2Z0ZW4uIAotLSAgICAqLwotLSAgIHVuc2lnbmVkIGV4cGFuZF9tdWx0OwotLQotLX0gVVRfaGFzaF9idWNrZXQ7Ci0tCi0tLyogcmFuZG9tIHNpZ25hdHVyZSB1c2VkIG9ubHkgdG8gZmluZCBoYXNoIHRhYmxlcyBpbiBleHRlcm5hbCBhbmFseXNpcyAqLwotLSNkZWZpbmUgSEFTSF9TSUdOQVRVUkUgMHhhMDExMWZlMQotLSNkZWZpbmUgSEFTSF9CTE9PTV9TSUdOQVRVUkUgMHhiMTIyMjBmMgotLQotLXR5cGVkZWYgc3RydWN0IFVUX2hhc2hfdGFibGUgewotLSAgIFVUX2hhc2hfYnVja2V0ICpidWNrZXRzOwotLSAgIHVuc2lnbmVkIG51bV9idWNrZXRzLCBsb2cyX251bV9idWNrZXRzOwotLSAgIHVuc2lnbmVkIG51bV9pdGVtczsKLS0gICBzdHJ1Y3QgVVRfaGFzaF9oYW5kbGUgKnRhaWw7IC8qIHRhaWwgaGggaW4gYXBwIG9yZGVyLCBmb3IgZmFzdCBhcHBlbmQgICAgKi8KLS0gICBwdHJkaWZmX3QgaGhvOyAvKiBoYXNoIGhhbmRsZSBvZmZzZXQgKGJ5dGUgcG9zIG9mIGhhc2ggaGFuZGxlIGluIGVsZW1lbnQgKi8KLS0KLS0gICAvKiBpbiBhbiBpZGVhbCBzaXR1YXRpb24gKGFsbCBidWNrZXRzIHVzZWQgZXF1YWxseSksIG5vIGJ1Y2tldCB3b3VsZCBoYXZlCi0tICAgICogbW9yZSB0aGFuIGNlaWwoI2l0ZW1zLyNidWNrZXRzKSBpdGVtcy4gdGhhdCdzIHRoZSBpZGVhbCBjaGFpbiBsZW5ndGguICovCi0tICAgdW5zaWduZWQgaWRlYWxfY2hhaW5fbWF4bGVuOwotLQotLSAgIC8qIG5vbmlkZWFsX2l0ZW1zIGlzIHRoZSBudW1iZXIgb2YgaXRlbXMgaW4gdGhlIGhhc2ggd2hvc2UgY2hhaW4gcG9zaXRpb24KLS0gICAgKiBleGNlZWRzIHRoZSBpZGVhbCBjaGFpbiBtYXhsZW4uIHRoZXNlIGl0ZW1zIHBheSB0aGUgcGVuYWx0eSBmb3IgYW4gdW5ldmVuCi0tICAgICogaGFzaCBkaXN0cmlidXRpb247IHJlYWNoaW5nIHRoZW0gaW4gYSBjaGFpbiB0cmF2ZXJzYWwgdGFrZXMgPmlkZWFsIHN0ZXBzICovCi0tICAgdW5zaWduZWQgbm9uaWRlYWxfaXRlbXM7Ci0tCi0tICAgLyogaW5lZmZlY3RpdmUgZXhwYW5kcyBvY2N1ciB3aGVuIGEgYnVja2V0IGRvdWJsaW5nIHdhcyBwZXJmb3JtZWQsIGJ1dCAKLS0gICAgKiBhZnRlcndhcmQsIG1vcmUgdGhhbiBoYWxmIHRoZSBpdGVtcyBpbiB0aGUgaGFzaCBoYWQgbm9uaWRlYWwgY2hhaW4KLS0gICAgKiBwb3NpdGlvbnMuIElmIHRoaXMgaGFwcGVucyBvbiB0d28gY29uc2VjdXRpdmUgZXhwYW5zaW9ucyB3ZSBpbmhpYml0IGFueQotLSAgICAqIGZ1cnRoZXIgZXhwYW5zaW9uLCBhcyBpdCdzIG5vdCBoZWxwaW5nOyB0aGlzIGhhcHBlbnMgd2hlbiB0aGUgaGFzaAotLSAgICAqIGZ1bmN0aW9uIGlzbid0IGEgZ29vZCBmaXQgZm9yIHRoZSBrZXkgZG9tYWluLiBXaGVuIGV4cGFuc2lvbiBpcyBpbmhpYml0ZWQKLS0gICAgKiB0aGUgaGFzaCB3aWxsIHN0aWxsIHdvcmssIGFsYmVpdCBubyBsb25nZXIgaW4gY29uc3RhbnQgdGltZS4gKi8KLS0gICB1bnNpZ25lZCBpbmVmZl9leHBhbmRzLCBub2V4cGFuZDsKLS0KLS0gICB1aW50MzJfdCBzaWduYXR1cmU7IC8qIHVzZWQgb25seSB0byBmaW5kIGhhc2ggdGFibGVzIGluIGV4dGVybmFsIGFuYWx5c2lzICovCi0tI2lmZGVmIEhBU0hfQkxPT00KLS0gICB1aW50MzJfdCBibG9vbV9zaWc7IC8qIHVzZWQgb25seSB0byB0ZXN0IGJsb29tIGV4aXN0cyBpbiBleHRlcm5hbCBhbmFseXNpcyAqLwotLSAgIHVpbnQ4X3QgKmJsb29tX2J2OwotLSAgIGNoYXIgYmxvb21fbmJpdHM7Ci0tI2VuZGlmCi0tCi0tfSBVVF9oYXNoX3RhYmxlOwotLQotLXR5cGVkZWYgc3RydWN0IFVUX2hhc2hfaGFuZGxlIHsKLS0gICBzdHJ1Y3QgVVRfaGFzaF90YWJsZSAqdGJsOwotLSAgIHZvaWQgKnByZXY7ICAgICAgICAgICAgICAgICAgICAgICAvKiBwcmV2IGVsZW1lbnQgaW4gYXBwIG9yZGVyICAgICAgKi8KLS0gICB2b2lkICpuZXh0OyAgICAgICAgICAgICAgICAgICAgICAgLyogbmV4dCBlbGVtZW50IGluIGFwcCBvcmRlciAgICAgICovCi0tICAgc3RydWN0IFVUX2hhc2hfaGFuZGxlICpoaF9wcmV2OyAgIC8qIHByZXZpb3VzIGhoIGluIGJ1Y2tldCBvcmRlciAgICAqLwotLSAgIHN0cnVjdCBVVF9oYXNoX2hhbmRsZSAqaGhfbmV4dDsgICAvKiBuZXh0IGhoIGluIGJ1Y2tldCBvcmRlciAgICAgICAgKi8KLS0gICB2b2lkICprZXk7ICAgICAgICAgICAgICAgICAgICAgICAgLyogcHRyIHRvIGVuY2xvc2luZyBzdHJ1Y3QncyBrZXkgICovCi0tICAgdW5zaWduZWQga2V5bGVuOyAgICAgICAgICAgICAgICAgIC8qIGVuY2xvc2luZyBzdHJ1Y3QncyBrZXkgbGVuICAgICAqLwotLSAgIHVuc2lnbmVkIGhhc2h2OyAgICAgICAgICAgICAgICAgICAvKiByZXN1bHQgb2YgaGFzaC1mY24oa2V5KSAgICAgICAgKi8KLS19IFVUX2hhc2hfaGFuZGxlOwotLQotLSNlbmRpZiAvKiBVVEhBU0hfSCAqLwotLS0gCi0yLjE1LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc3F1aXR0by9tb3NxdWl0dG9fMS41LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9zcXVpdHRvL21vc3F1aXR0b18xLjUuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDZjMWQ2Ny4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9zcXVpdHRvL21vc3F1aXR0b18xLjUuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDkzICswLDAgQEAKLVNVTU1BUlkgPSAiT3BlbiBzb3VyY2UgTVFUVCB2My4xLzMuMS4xIGltcGxlbWVudGlvbiIKLURFU0NSSVBUSU9OID0gIk1vc3F1aXR0byBpcyBhbiBvcGVuIHNvdXJjZSAoRWNsaXBzZSBsaWNlbnNlZCkgbWVzc2FnZSBicm9rZXIgdGhhdCBpbXBsZW1lbnRzIHRoZSBNUSBUZWxlbWV0cnkgVHJhbnNwb3J0IHByb3RvY29sIHZlcnNpb24gMy4xIGFuZCAzLjEuMS4gTVFUVCBwcm92aWRlcyBhIGxpZ2h0d2VpZ2h0IG1ldGhvZCBvZiBjYXJyeWluZyBvdXQgbWVzc2FnaW5nIHVzaW5nIGEgcHVibGlzaC9zdWJzY3JpYmUgbW9kZWwuICIKLUhPTUVQQUdFID0gImh0dHA6Ly9tb3NxdWl0dG8ub3JnLyIKLVNFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgotTElDRU5TRSA9ICJFUEwtMS4wIHwgRURMLTEuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT02MmRkYzg0NjE3OWU5MDhkYzBjOGVmZWM0YTQyZWYyMCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9lZGwtdjEwO21kNT1jMDlmMTIxOTM5ZjA2M2FlYjUyMzU5NzJiZThjNzIyYyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9lcGwtdjEwO21kNT04ZDM4M2MzNzllOTFkMjBiYTE4YTUyYzNlN2QzYTk3OSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ub3RpY2UuaHRtbDttZDU9YTAwZDZmOWFiNTQyYmU3YmFiYzJkOGI4MGQ1ZDJhNGMgXAotIgotREVQRU5EUyA9ICJ1dGhhc2giCi0KLVNSQ19VUkkgPSAiaHR0cDovL21vc3F1aXR0by5vcmcvZmlsZXMvc291cmNlL21vc3F1aXR0by0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vMDAwMi11dGhhc2gtcmVtb3ZlLWluLXRyZWUtdmVyc2lvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9tb3NxdWl0dG8uaW5pdCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJmOThjOTk5OThhMzZhMjM0ZjNhOWQ5YjQwMmI5OTFkYiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4NTU3YmM3YWUzNGRmYWYzMmEwZmI1NmQyNDkxYjdhN2Y3MzEyNjljODgzMzcyMjcyMzMwMTM1MDJkZjRkNWIwIgotCi1pbmhlcml0IHN5c3RlbWQgdXBkYXRlLXJjLmQgdXNlcmFkZAotCi1QQUNLQUdFQ09ORklHID8/PSAic3NsIHV1aWQgXAotICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICIKLQotUEFDS0FHRUNPTkZJR1tkbnMtc3J2XSA9ICJXSVRIX1NSVj15ZXMsV0lUSF9TUlY9bm8sYy1hcmVzIgotUEFDS0FHRUNPTkZJR1tzc2xdID0gIldJVEhfVExTPXllcyBXSVRIX1RMU19QU0s9eWVzLFdJVEhfVExTPW5vIFdJVEhfVExTX1BTSz1ubyxvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1t1dWlkXSA9ICJXSVRIX1VVSUQ9eWVzLFdJVEhfVVVJRD1ubyx1dGlsLWxpbnV4IgotUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICJXSVRIX1NZU1RFTUQ9eWVzLFdJVEhfU1lTVEVNRD1ubyxzeXN0ZW1kIgotUEFDS0FHRUNPTkZJR1t3ZWJzb2NrZXRzXSA9ICJXSVRIX1dFQlNPQ0tFVFM9eWVzLFdJVEhfV0VCU09DS0VUUz1ubyxsaWJ3ZWJzb2NrZXRzIgotCi1FWFRSQV9PRU1BS0UgPSAiIFwKLSAgICBwcmVmaXg9JHtwcmVmaXh9IFwKLSAgICBtYW5kaXI9JHttYW5kaXJ9IFwKLSAgICBsb2NhbGVkaXI9JHtsb2NhbGVkaXJ9IFwKLSAgICAke1BBQ0tBR0VDT05GSUdfQ09ORkFSR1N9IFwKLSAgICBTVFJJUD0vYmluL3RydWUgXAotICAgIFdJVEhfRE9DUz1ubyBcCi0iCi0KLWV4cG9ydCBMSUJfU1VGRklYID0gIiR7QGQuZ2V0VmFyKCdiYXNlbGliJywgVHJ1ZSkucmVwbGFjZSgnbGliJywgJycpfSIKLQotZG9faW5zdGFsbCgpIHsKLSAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKLQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc2VydmljZS9zeXN0ZW1kL21vc3F1aXR0by5zZXJ2aWNlLm5vdGlmeSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9tb3NxdWl0dG8uc2VydmljZQotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9tb3NxdWl0dG8KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtEfSR7c3lzY29uZmRpcn0vbW9zcXVpdHRvL21vc3F1aXR0by5jb25mLmV4YW1wbGUgXAotICAgICAgICAgICAgICAgICAgICAke0R9JHtzeXNjb25mZGlyfS9tb3NxdWl0dG8vbW9zcXVpdHRvLmNvbmYKLQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLwotICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L21vc3F1aXR0by5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9tb3NxdWl0dG8KLSAgICBzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAotICAgICAgICAtZSAncyxAQkFTRV9TQklORElSQCwke2Jhc2Vfc2JpbmRpcn0sZycgXAotICAgICAgICAtZSAncyxATE9DQUxTVEFURURJUkAsJHtsb2NhbHN0YXRlZGlyfSxnJyBcCi0gICAgICAgIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKLSAgICAgICAgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL21vc3F1aXR0bwotfQotCi1QQUNLQUdFUyArPSAibGlibW9zcXVpdHRvMSBsaWJtb3NxdWl0dG9wcDEgJHtQTn0tY2xpZW50cyIKLQotUEFDS0FHRV9CRUZPUkVfUE4gPSAiJHtQTn0tZXhhbXBsZXMiCi0KLUZJTEVTXyR7UE59ID0gIiR7c2JpbmRpcn0vbW9zcXVpdHRvIFwKLSAgICAgICAgICAgICAgICR7YmluZGlyfS9tb3NxdWl0dG9fcGFzc3dkIFwKLSAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9zcXVpdHRvIFwKLSAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vaW5pdC5kIFwKLSAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbW9zcXVpdHRvLnNlcnZpY2UgXAotIgotCi1DT05GRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vbW9zcXVpdHRvL21vc3F1aXR0by5jb25mIgotCi1GSUxFU19saWJtb3NxdWl0dG8xID0gIiR7bGliZGlyfS9saWJtb3NxdWl0dG8uc28uMSIKLQotRklMRVNfbGlibW9zcXVpdHRvcHAxID0gIiR7bGliZGlyfS9saWJtb3NxdWl0dG9wcC5zby4xIgotCi1GSUxFU18ke1BOfS1jbGllbnRzID0gIiR7YmluZGlyfS9tb3NxdWl0dG9fcHViIFwKLSAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L21vc3F1aXR0b19zdWIgXAotIgotCi1GSUxFU18ke1BOfS1leGFtcGxlcyA9ICIke3N5c2NvbmZkaXJ9L21vc3F1aXR0by8qLmV4YW1wbGUiCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJtb3NxdWl0dG8uc2VydmljZSIKLQotSU5JVFNDUklQVF9OQU1FID0gIm1vc3F1aXR0byIKLUlOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDMwIgotCi1VU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgotVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0tc2hlbGwgL2Jpbi9mYWxzZSBcCi0gICAgICAgICAgICAgICAgICAgICAgIC0tdXNlci1ncm91cCBtb3NxdWl0dG8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9zcXVpdHRvL21vc3F1aXR0b18xLjUuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NxdWl0dG8vbW9zcXVpdHRvXzEuNS44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2OGI1OTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9zcXVpdHRvL21vc3F1aXR0b18xLjUuOC5iYgpAQCAtMCwwICsxLDkzIEBACitTVU1NQVJZID0gIk9wZW4gc291cmNlIE1RVFQgdjMuMS8zLjEuMSBpbXBsZW1lbnRpb24iCitERVNDUklQVElPTiA9ICJNb3NxdWl0dG8gaXMgYW4gb3BlbiBzb3VyY2UgKEVjbGlwc2UgbGljZW5zZWQpIG1lc3NhZ2UgYnJva2VyIHRoYXQgaW1wbGVtZW50cyB0aGUgTVEgVGVsZW1ldHJ5IFRyYW5zcG9ydCBwcm90b2NvbCB2ZXJzaW9uIDMuMSBhbmQgMy4xLjEuIE1RVFQgcHJvdmlkZXMgYSBsaWdodHdlaWdodCBtZXRob2Qgb2YgY2Fycnlpbmcgb3V0IG1lc3NhZ2luZyB1c2luZyBhIHB1Ymxpc2gvc3Vic2NyaWJlIG1vZGVsLiAiCitIT01FUEFHRSA9ICJodHRwOi8vbW9zcXVpdHRvLm9yZy8iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiRVBMLTEuMCB8IEVETC0xLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9NjJkZGM4NDYxNzllOTA4ZGMwYzhlZmVjNGE0MmVmMjAgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZWRsLXYxMDttZDU9YzA5ZjEyMTkzOWYwNjNhZWI1MjM1OTcyYmU4YzcyMmMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZXBsLXYxMDttZDU9OGQzODNjMzc5ZTkxZDIwYmExOGE1MmMzZTdkM2E5NzkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbm90aWNlLmh0bWw7bWQ1PWEwMGQ2ZjlhYjU0MmJlN2JhYmMyZDhiODBkNWQyYTRjIFwKKyIKK0RFUEVORFMgPSAidXRoYXNoIgorCitTUkNfVVJJID0gImh0dHA6Ly9tb3NxdWl0dG8ub3JnL2ZpbGVzL3NvdXJjZS9tb3NxdWl0dG8tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL21vc3F1aXR0by5pbml0IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImJiYmNjZWIzMmRiMzY1N2Q5ZDQzNmE4NDQwYTlkYjFjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc4ZDdlNzBjMzc5NGRjM2ExZDQ4NGI0ZjJmOGQzYWRkZWJlOWMyZGEzZjVhMWNlYmU1NTdmN2QxM2JlYjBkYTQiCisKK2luaGVyaXQgc3lzdGVtZCB1cGRhdGUtcmMuZCB1c2VyYWRkCisKK1BBQ0tBR0VDT05GSUcgPz89ICJzc2wgdXVpZCBcCisgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgIgorCitQQUNLQUdFQ09ORklHW2Rucy1zcnZdID0gIldJVEhfU1JWPXllcyxXSVRIX1NSVj1ubyxjLWFyZXMiCitQQUNLQUdFQ09ORklHW3NzbF0gPSAiV0lUSF9UTFM9eWVzIFdJVEhfVExTX1BTSz15ZXMsV0lUSF9UTFM9bm8gV0lUSF9UTFNfUFNLPW5vLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW3V1aWRdID0gIldJVEhfVVVJRD15ZXMsV0lUSF9VVUlEPW5vLHV0aWwtbGludXgiCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIldJVEhfU1lTVEVNRD15ZXMsV0lUSF9TWVNURU1EPW5vLHN5c3RlbWQiCitQQUNLQUdFQ09ORklHW3dlYnNvY2tldHNdID0gIldJVEhfV0VCU09DS0VUUz15ZXMsV0lUSF9XRUJTT0NLRVRTPW5vLGxpYndlYnNvY2tldHMiCisKK0VYVFJBX09FTUFLRSA9ICIgXAorICAgIHByZWZpeD0ke3ByZWZpeH0gXAorICAgIG1hbmRpcj0ke21hbmRpcn0gXAorICAgIGxvY2FsZWRpcj0ke2xvY2FsZWRpcn0gXAorICAgICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30gXAorICAgIFNUUklQPS9iaW4vdHJ1ZSBcCisgICAgV0lUSF9ET0NTPW5vIFwKKyAgICBXSVRIX0JVTkRMRURfREVQUz1ubyBcCisiCisKK2V4cG9ydCBMSUJfU1VGRklYID0gIiR7QGQuZ2V0VmFyKCdiYXNlbGliJykucmVwbGFjZSgnbGliJywgJycpfSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc2VydmljZS9zeXN0ZW1kL21vc3F1aXR0by5zZXJ2aWNlLm5vdGlmeSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9tb3NxdWl0dG8uc2VydmljZQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9tb3NxdWl0dG8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtEfSR7c3lzY29uZmRpcn0vbW9zcXVpdHRvL21vc3F1aXR0by5jb25mLmV4YW1wbGUgXAorICAgICAgICAgICAgICAgICAgICAke0R9JHtzeXNjb25mZGlyfS9tb3NxdWl0dG8vbW9zcXVpdHRvLmNvbmYKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLworICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L21vc3F1aXR0by5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9tb3NxdWl0dG8KKyAgICBzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAorICAgICAgICAtZSAncyxAQkFTRV9TQklORElSQCwke2Jhc2Vfc2JpbmRpcn0sZycgXAorICAgICAgICAtZSAncyxATE9DQUxTVEFURURJUkAsJHtsb2NhbHN0YXRlZGlyfSxnJyBcCisgICAgICAgIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKKyAgICAgICAgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL21vc3F1aXR0bworfQorCitQQUNLQUdFUyArPSAibGlibW9zcXVpdHRvMSBsaWJtb3NxdWl0dG9wcDEgJHtQTn0tY2xpZW50cyIKKworUEFDS0FHRV9CRUZPUkVfUE4gPSAiJHtQTn0tZXhhbXBsZXMiCisKK0ZJTEVTXyR7UE59ID0gIiR7c2JpbmRpcn0vbW9zcXVpdHRvIFwKKyAgICAgICAgICAgICAgICR7YmluZGlyfS9tb3NxdWl0dG9fcGFzc3dkIFwKKyAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9zcXVpdHRvIFwKKyAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vaW5pdC5kIFwKKyAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbW9zcXVpdHRvLnNlcnZpY2UgXAorIgorCitDT05GRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vbW9zcXVpdHRvL21vc3F1aXR0by5jb25mIgorCitGSUxFU19saWJtb3NxdWl0dG8xID0gIiR7bGliZGlyfS9saWJtb3NxdWl0dG8uc28uMSIKKworRklMRVNfbGlibW9zcXVpdHRvcHAxID0gIiR7bGliZGlyfS9saWJtb3NxdWl0dG9wcC5zby4xIgorCitGSUxFU18ke1BOfS1jbGllbnRzID0gIiR7YmluZGlyfS9tb3NxdWl0dG9fcHViIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L21vc3F1aXR0b19zdWIgXAorIgorCitGSUxFU18ke1BOfS1leGFtcGxlcyA9ICIke3N5c2NvbmZkaXJ9L21vc3F1aXR0by8qLmV4YW1wbGUiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJtb3NxdWl0dG8uc2VydmljZSIKKworSU5JVFNDUklQVF9OQU1FID0gIm1vc3F1aXR0byIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDMwIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0tc2hlbGwgL2Jpbi9mYWxzZSBcCisgICAgICAgICAgICAgICAgICAgICAgIC0tdXNlci1ncm91cCBtb3NxdWl0dG8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMS1Eby1ub3QtaW5jbHVkZS1uZXQtZXRoZXJuZXQuaC1hbmQtbGludXgtaWZfZXRoZXIuaC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAxLURvLW5vdC1pbmNsdWRlLW5ldC1ldGhlcm5ldC5oLWFuZC1saW51eC1pZl9ldGhlci5oLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYzQxNWJjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAxLURvLW5vdC1pbmNsdWRlLW5ldC1ldGhlcm5ldC5oLWFuZC1saW51eC1pZl9ldGhlci5oLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotRnJvbSAzZjRiNjMxOTcwMTgzNDE4MjMwNGM0MDc5MTE5NzgwZjRhZTViNDliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgNyBOb3YgMjAxOCAxMTozMDo0NCAtMDgwMAotU3ViamVjdDogW1BBVENIXSBEbyBub3QgaW5jbHVkZSBuZXQvZXRoZXJuZXQuaCBhbmQgbGludXgvaWZfZXRoZXIuaAotCi1UaGV5IGNvbmZsaWN0IHdoZW4gdXNlZCB0b2dldGhlciBlc3BlY2lhbGx5IHdpdGggbXVzbAotcmVtb3ZpbmcgdGhlbSBzdGlsbCBrZWVwcyBpdCB3b3JraW5nIHNvIGl0IHNlZW1zIHRoZXkgYXJlIHJlZHVuZGFudAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc2hhcmVkL24tYWNkL3NyYy9uLWFjZC5jICAgICAgICAgICAgICB8IDEgLQotIHNyYy9wbGF0Zm9ybS93cGFuL25tLXdwYW4tdXRpbHMuaCAgICAgfCAyIC0tCi0gc3JjL3NldHRpbmdzL25tLXNldHRpbmdzLWNvbm5lY3Rpb24uaCB8IDIgLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zaGFyZWQvbi1hY2Qvc3JjL24tYWNkLmMgYi9zaGFyZWQvbi1hY2Qvc3JjL24tYWNkLmMKLWluZGV4IDkxNjRmOTUuLjk1MzhlNTAgMTAwNjQ0Ci0tLS0gYS9zaGFyZWQvbi1hY2Qvc3JjL24tYWNkLmMKLSsrKyBiL3NoYXJlZC9uLWFjZC9zcmMvbi1hY2QuYwotQEAgLTIzLDcgKzIzLDYgQEAKLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8bGltaXRzLmg+Ci0gI2luY2x1ZGUgPGxpbnV4L2ZpbHRlci5oPgotLSNpbmNsdWRlIDxsaW51eC9pZl9ldGhlci5oPgotICNpbmNsdWRlIDxsaW51eC9pZl9wYWNrZXQuaD4KLSAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0gI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4KLWRpZmYgLS1naXQgYS9zcmMvcGxhdGZvcm0vd3Bhbi9ubS13cGFuLXV0aWxzLmggYi9zcmMvcGxhdGZvcm0vd3Bhbi9ubS13cGFuLXV0aWxzLmgKLWluZGV4IGY3ZDBjMDMuLmUxYzgxZjUgMTAwNjQ0Ci0tLS0gYS9zcmMvcGxhdGZvcm0vd3Bhbi9ubS13cGFuLXV0aWxzLmgKLSsrKyBiL3NyYy9wbGF0Zm9ybS93cGFuL25tLXdwYW4tdXRpbHMuaAotQEAgLTIwLDggKzIwLDYgQEAKLSAjaWZuZGVmIF9fV1BBTl9VVElMU19IX18KLSAjZGVmaW5lIF9fV1BBTl9VVElMU19IX18KLSAKLS0jaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0tCi0gI2luY2x1ZGUgIm5tLWRidXMtaW50ZXJmYWNlLmgiCi0gI2luY2x1ZGUgInBsYXRmb3JtL25tLW5ldGxpbmsuaCIKLSAKLWRpZmYgLS1naXQgYS9zcmMvc2V0dGluZ3Mvbm0tc2V0dGluZ3MtY29ubmVjdGlvbi5oIGIvc3JjL3NldHRpbmdzL25tLXNldHRpbmdzLWNvbm5lY3Rpb24uaAotaW5kZXggZTc5NmI3MS4uYzAxZmVmNiAxMDA2NDQKLS0tLSBhL3NyYy9zZXR0aW5ncy9ubS1zZXR0aW5ncy1jb25uZWN0aW9uLmgKLSsrKyBiL3NyYy9zZXR0aW5ncy9ubS1zZXR0aW5ncy1jb25uZWN0aW9uLmgKLUBAIC0yMiw4ICsyMiw2IEBACi0gI2lmbmRlZiBfX05FVFdPUktNQU5BR0VSX1NFVFRJTkdTX0NPTk5FQ1RJT05fSF9fCi0gI2RlZmluZSBfX05FVFdPUktNQU5BR0VSX1NFVFRJTkdTX0NPTk5FQ1RJT05fSF9fCi0gCi0tI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgotLQotICNpbmNsdWRlICJubS1kYnVzLW9iamVjdC5oIgotICNpbmNsdWRlICJubS1jb25uZWN0aW9uLmgiCi0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMS1GaXhlZC1jb25maWd1cmUuYWMtRml4LXBrZ2NvbmZpZy1zeXNyb290LWxvY2F0aW9ucy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAxLUZpeGVkLWNvbmZpZ3VyZS5hYy1GaXgtcGtnY29uZmlnLXN5c3Jvb3QtbG9jYXRpb25zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwMmMwMjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMS1GaXhlZC1jb25maWd1cmUuYWMtRml4LXBrZ2NvbmZpZy1zeXNyb290LWxvY2F0aW9ucy5wYXRjaApAQCAtMCwwICsxLDIyIEBACitGcm9tIDNkYzNkOGU3M2JjNDMwZWE0ZTkzZTMzZjdiMmE0YjNlMGZmMTc1YWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQYWJsbyBTYWF2ZWRyYSA8cHNhYXZlZHJhQGlnYWxpYS5jb20+CitEYXRlOiBUdWUsIDEzIE1hciAyMDE4IDE3OjM2OjIwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeGVkIGNvbmZpZ3VyZS5hYzogRml4IHBrZ2NvbmZpZyBzeXNyb290IGxvY2F0aW9ucworCistLS0KKyBjb25maWd1cmUuYWMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDk2N2VhYzAuLmI5MTQyMTkgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTU5Miw3ICs1OTIsNyBAQCBpZiB0ZXN0ICIkaGF2ZV9qYW5zc29uIiA9ICJ5ZXMiOyB0aGVuCisgCUFDX0RFRklORShXSVRIX0pBTlNTT04sIDEsIFtEZWZpbmUgaWYgSkFOU1NPTiBpcyBlbmFibGVkXSkKKyAKKyAJQUNfQ0hFQ0tfVE9PTFMoUkVBREVMRiwgW2V1LXJlYWRlbGYgcmVhZGVsZl0pCistCUpBTlNTT05fTElCRElSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWxpYmRpciBqYW5zc29uYAorKwlKQU5TU09OX0xJQkRJUj0ke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9bGliZGlyIGphbnNzb25gCisgCUpBTlNTT05fU09OQU1FPWAkUkVBREVMRiAtZCAkSkFOU1NPTl9MSUJESVIvbGliamFuc3Nvbi5zbyB8c2VkIC1uICdzLy4qU09OQU1FLipcW1tcKFteXV0qXCldXS9cMS9wJ2AKKyAKKyAJaWYgdGVzdCAiJEpBTlNTT05fU09OQU1FIiA9ICIiOyB0aGVuCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMS1zZC1sbGRwLmgtUmVtb3ZlLW5ldC1ldGhlcm5ldC5oLXNlZW1zLXRvLWJlLW92ZXItc3BlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDEtc2QtbGxkcC5oLVJlbW92ZS1uZXQtZXRoZXJuZXQuaC1zZWVtcy10by1iZS1vdmVyLXNwZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDlhMDczNS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMS1zZC1sbGRwLmgtUmVtb3ZlLW5ldC1ldGhlcm5ldC5oLXNlZW1zLXRvLWJlLW92ZXItc3BlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotRnJvbSAxOGY3MWMxYjQ4NzMwYjg2MDI4MjY1MTdmMmI1YjA4ODI4M2FlOTQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMzEgTWFyIDIwMTcgMTY6NDg6MDAgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gc2QtbGxkcC5oOiBSZW1vdmUgbmV0L2V0aGVybmV0Lmggc2VlbXMgdG8gYmUgb3ZlciBzcGVjaWZpZWQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9zeXN0ZW1kL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvc2QtbGxkcC5jIHwgMSArCi0gc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtbGxkcC5oICAgICAgICAgICAgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9zeXN0ZW1kL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvc2QtbGxkcC5jIGIvc3JjL3N5c3RlbWQvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9zZC1sbGRwLmMKLWluZGV4IDMxZTI0NDguLjc3MjFjYzIgMTAwNjQ0Ci0tLS0gYS9zcmMvc3lzdGVtZC9zcmMvbGlic3lzdGVtZC1uZXR3b3JrL3NkLWxsZHAuYwotKysrIGIvc3JjL3N5c3RlbWQvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9zZC1sbGRwLmMKLUBAIC0zLDYgKzMsNyBAQAotICNpbmNsdWRlICJubS1zZC1hZGFwdC5oIgotIAotICNpbmNsdWRlIDxhcnBhL2luZXQuaD4KLSsjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0gI2luY2x1ZGUgPGxpbnV4L3NvY2tpb3MuaD4KLSAKLSAjaW5jbHVkZSAic2QtbGxkcC5oIgotZGlmZiAtLWdpdCBhL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWxsZHAuaCBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWxsZHAuaAotaW5kZXggM2YzNWVlYi4uNjFiMGU0NSAxMDA2NDQKLS0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWxsZHAuaAotKysrIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtbGxkcC5oCi1AQCAtMTgsNyArMTgsNyBAQAotICoqKi8KLSAKLSAjaW5jbHVkZSA8aW50dHlwZXMuaD4KLS0jaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0rLy8jaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0gI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotIAotICNpbmNsdWRlICJzZC1ldmVudC5oIgotLS0gCi0yLjE0LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDItRG8tbm90LWNyZWF0ZS1zZXR0aW5ncy1zZXR0aW5ncy1wcm9wZXJ0eS1kb2N1bWVudGF0aS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAyLURvLW5vdC1jcmVhdGUtc2V0dGluZ3Mtc2V0dGluZ3MtcHJvcGVydHktZG9jdW1lbnRhdGkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU4MWRkMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAyLURvLW5vdC1jcmVhdGUtc2V0dGluZ3Mtc2V0dGluZ3MtcHJvcGVydHktZG9jdW1lbnRhdGkucGF0Y2gKQEAgLTAsMCArMSw3MSBAQAorRnJvbSA0ZjAwMGE0YTE5OTc1ZDZhYmE3MTQyN2U2OTNjZDFlZDA4MGFiZGE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjIgTWFyIDIwMTggMTE6MDg6MzAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IGNyZWF0ZSBzZXR0aW5ncyBzZXR0aW5ncy9wcm9wZXJ0eSBkb2N1bWVudGF0aW9uCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK0l0IHdhcyB0cmllZCB0byBnZXQgdGhpcyB3b3JrIGJ1dCBnaSAvIEdpclJlcG9zaXRvcnkgY291bGQgbm90IGJlIGZvdW5kIGJ5CitweXRob24uIEFueXdheSBpdCBpcyBub3QgbmVjZXNzYXJ5IGZvciB1cyB0byBoYXZlIHRoZSBzZXR0aW5ncy9wcm9wZXJ0eSBkb2NzLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorLS0tCisgTWFrZWZpbGUuYW0gIHwgMTEgLS0tLS0tLS0tLS0KKyBjb25maWd1cmUuYWMgfCAgNSAtLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCitpbmRleCBiMTgwNDY2Li4xYWI0NjU4IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuYW0KKysrKyBiL01ha2VmaWxlLmFtCitAQCAtMTI5OCw5ICsxMjk4LDcgQEAgRVhUUkFfRElTVCArPSBcCisgaWYgSEFWRV9JTlRST1NQRUNUSU9OCisgCisgbGlibm1fbm9pbnN0X2RhdGEgPSBcCistCWxpYm5tL25tLXByb3BlcnR5LWRvY3MueG1sIFwKKyAJbGlibm0vbm0tc2V0dGluZ3MtZG9jcy1vdmVycmlkZXMueG1sIFwKKy0JbGlibm0vbm0tc2V0dGluZ3MtZG9jcy54bWwgXAorIAlsaWJubS9ubS1zZXR0aW5ncy1rZXlmaWxlLWRvY3MueG1sIFwKKyAJbGlibm0vbm0tc2V0dGluZ3MtaWZjZmctcmgtZG9jcy54bWwKKyAKK0BAIC0zOTMwLDE4ICszOTI4LDkgQEAgJChjbGllbnRzX2NvbW1vbl9saWJubWNfYmFzZV9sYV9PQkpFQ1RTKTogJChsaWJubV9saWJfaF9wdWJfbWtlbnVtcykKKyAkKGNsaWVudHNfY29tbW9uX2xpYm5tY19iYXNlX2xhX09CSkVDVFMpOiBjbGllbnRzL2NvbW1vbi8uZGlyc3RhbXAKKyAKKyBjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCA9IGNsaWVudHMvY29tbW9uL3NldHRpbmdzLWRvY3MuaAorLWlmIEhBVkVfSU5UUk9TUEVDVElPTgorLSQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpOiBjbGllbnRzL2NvbW1vbi9zZXR0aW5ncy1kb2NzLnhzbCBsaWJubS9ubS1wcm9wZXJ0eS1kb2NzLnhtbCBjbGllbnRzL2NvbW1vbi8uZGlyc3RhbXAKKy0JJChBTV9WX0dFTikgJChYU0xUUFJPQykgLS1vdXRwdXQgJEAgJDwgJCh3b3JkIDIsJF4pCistRElTVENMRUFORklMRVMgKz0gJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCkKKy1jaGVjay1sb2NhbC1zZXR0aW5ncy1kb2NzOiAkKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKQorLQkkKHNyY2RpcikvdG9vbHMvY2hlY2stc2V0dGluZ3MtZG9jcy5zaCAiJChzcmNkaXIpIiAiJChidWlsZGRpcikiICIkKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKSIKKy1jaGVja19sb2NhbCArPSBjaGVjay1sb2NhbC1zZXR0aW5ncy1kb2NzCistZWxzZQorICQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpOiAkKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKS5pbiBjbGllbnRzL2NvbW1vbi8uZGlyc3RhbXAKKyAJJChBTV9WX0dFTikgY3AgIiQoc3JjZGlyKS8kKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKS5pbiIgIiQoYnVpbGRkaXIpLyQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpIgorIGNoZWNrLWxvY2FsLXNldHRpbmdzLWRvY3M6CistZW5kaWYKKyBFWFRSQV9ESVNUICs9IFwKKyAJJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCkgXAorIAkkKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKS5pbgorZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYjkxNDIxOS4uODcyYzI5MiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTIxNSwxMSArMTIxNSw2IEBAIEdUS19ET0NfQ0hFQ0soMS4wKQorICMgY2hlY2sgaWYgd2UgY2FuIGJ1aWxkIHNldHRpbmcgcHJvcGVydHkgZG9jdW1lbnRhdGlvbgorIGJ1aWxkX2RvY3M9bm8KKyBpZiB0ZXN0IC1uICIkSU5UUk9TUEVDVElPTl9NQUtFRklMRSI7IHRoZW4KKy0JIyBJZiBnLWkgaXMgaW5zdGFsbGVkIHdlIGtub3cgd2UgaGF2ZSBweXRob24sIGJ1dCB3ZSBtaWdodCBub3QgaGF2ZSBweWdvYmplY3QKKy0JaWYgISAiJFBZVEhPTiIgLWMgJ2Zyb20gZ2kucmVwb3NpdG9yeSBpbXBvcnQgR09iamVjdCcgPiYgL2Rldi9udWxsOyB0aGVuCistCQlBQ19NU0dfRVJST1IoWyItLWVuYWJsZS1pbnRyb3NwZWN0aW9uIGFpbXMgdG8gYnVpbGQgdGhlIHNldHRpbmdzIGRvY3VtZW50YXRpb24uIFRoaXMgcmVxdWlyZXMgR09iamVjdCBpbnRyb3NwZWN0aW9uIGZvciBweXRob24gKHB5Z29iamVjdCldKQorLQlmaQorLQorIAlBQ19QQVRIX1BST0coUEVSTCwgcGVybCkKKyAJaWYgdGVzdCAteiAiJFBFUkwiOyB0aGVuCisgCQlBQ19NU0dfRVJST1IoWy0tZW5hYmxlLWludHJvc3BlY3Rpb24gcmVxdWlyZXMgcGVybF0pCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMi1GaXhlZC1jb25maWd1cmUuYWMtRml4LXBrZ2NvbmZpZy1zeXNyb290LWxvY2F0aW9ucy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAyLUZpeGVkLWNvbmZpZ3VyZS5hYy1GaXgtcGtnY29uZmlnLXN5c3Jvb3QtbG9jYXRpb25zLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNTFmMjY0Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAyLUZpeGVkLWNvbmZpZ3VyZS5hYy1GaXgtcGtnY29uZmlnLXN5c3Jvb3QtbG9jYXRpb25zLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotRnJvbSA1ODNmMDQ0OGZiN2U5YWJhMmI0MTBjMDZlZWM2ZjQyMGI0MWE2YTBjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUGFibG8gU2FhdmVkcmEgPHBzYWF2ZWRyYUBpZ2FsaWEuY29tPgotRGF0ZTogVHVlLCAxMyBNYXIgMjAxOCAxNzozNjoyMCArMDEwMAotU3ViamVjdDogW1BBVENIXSBGaXhlZCBjb25maWd1cmUuYWM6IEZpeCBwa2djb25maWcgc3lzcm9vdCBsb2NhdGlvbnMKLQotLS0tCi0gY29uZmlndXJlLmFjIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCA1MWU1ZWI2Li5jOWQzZTU2IDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC01NzIsNyArNTcyLDcgQEAgaWYgdGVzdCAiJGhhdmVfamFuc3NvbiIgPSAieWVzIjsgdGhlbgotIAlBQ19ERUZJTkUoV0lUSF9KQU5TU09OLCAxLCBbRGVmaW5lIGlmIEpBTlNTT04gaXMgZW5hYmxlZF0pCi0gCi0gCUFDX0NIRUNLX1RPT0xTKFJFQURFTEYsIFtldS1yZWFkZWxmIHJlYWRlbGZdKQotLQlKQU5TU09OX0xJQkRJUj1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1saWJkaXIgamFuc3NvbmAKLSsJSkFOU1NPTl9MSUJESVI9JHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWxpYmRpciBqYW5zc29uYAotIAlKQU5TU09OX1NPTkFNRT1gJFJFQURFTEYgLWQgJEpBTlNTT05fTElCRElSL2xpYmphbnNzb24uc28gfHNlZCAtbiAncy8uKlNPTkFNRS4qXFtbXChbXl1dKlwpXV0vXDEvcCdgCi0gCi0gCWlmIHRlc3QgIiRKQU5TU09OX1NPTkFNRSIgPSAiIjsgdGhlbgotLS0gCi0yLjE0LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDMtRG8tbm90LWNyZWF0ZS1zZXR0aW5ncy1zZXR0aW5ncy1wcm9wZXJ0eS1kb2N1bWVudGF0aS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAzLURvLW5vdC1jcmVhdGUtc2V0dGluZ3Mtc2V0dGluZ3MtcHJvcGVydHktZG9jdW1lbnRhdGkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1MDI5M2MuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDMtRG8tbm90LWNyZWF0ZS1zZXR0aW5ncy1zZXR0aW5ncy1wcm9wZXJ0eS1kb2N1bWVudGF0aS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAKLUZyb20gNGYwMDBhNGExOTk3NWQ2YWJhNzE0MjdlNjkzY2QxZWQwODBhYmRhOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDIyIE1hciAyMDE4IDExOjA4OjMwICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBjcmVhdGUgc2V0dGluZ3Mgc2V0dGluZ3MvcHJvcGVydHkgZG9jdW1lbnRhdGlvbgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1JdCB3YXMgdHJpZWQgdG8gZ2V0IHRoaXMgd29yayBidXQgZ2kgLyBHaXJSZXBvc2l0b3J5IGNvdWxkIG5vdCBiZSBmb3VuZCBieQotcHl0aG9uLiBBbnl3YXkgaXQgaXMgbm90IG5lY2Vzc2FyeSBmb3IgdXMgdG8gaGF2ZSB0aGUgc2V0dGluZ3MvcHJvcGVydHkgZG9jcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLS0tLQotIE1ha2VmaWxlLmFtICB8IDIwIC0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gY29uZmlndXJlLmFjIHwgIDUgLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDI1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQotaW5kZXggMWUxMDBmNi4uZDMxZTNjMSAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLmFtCi0rKysgYi9NYWtlZmlsZS5hbQotQEAgLTExMTUsOSArMTExNSw3IEBAIEVYVFJBX0RJU1QgKz0gXAotIGlmIEhBVkVfSU5UUk9TUEVDVElPTgotIAotIGxpYm5tX25vaW5zdF9kYXRhID0gXAotLQlsaWJubS9ubS1wcm9wZXJ0eS1kb2NzLnhtbCBcCi0gCWxpYm5tL25tLXNldHRpbmdzLWRvY3Mtb3ZlcnJpZGVzLnhtbCBcCi0tCWxpYm5tL25tLXNldHRpbmdzLWRvY3MueG1sIFwKLSAJbGlibm0vbm0tc2V0dGluZ3Mta2V5ZmlsZS1kb2NzLnhtbCBcCi0gCWxpYm5tL25tLXNldHRpbmdzLWlmY2ZnLXJoLWRvY3MueG1sCi0gCi1AQCAtMzY5MiwyNyArMzY5MCw5IEBAICQoY2xpZW50c19jb21tb25fbGlibm1jX2Jhc2VfbGFfT0JKRUNUUyk6ICQobGlibm1fbGliX2hfcHViX21rZW51bXMpCi0gJChjbGllbnRzX2NvbW1vbl9saWJubWNfYmFzZV9sYV9PQkpFQ1RTKTogY2xpZW50cy9jb21tb24vLmRpcnN0YW1wCi0gCi0gY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2ggPSBjbGllbnRzL2NvbW1vbi9zZXR0aW5ncy1kb2NzLmgKLS1pZiBIQVZFX0lOVFJPU1BFQ1RJT04KLS0kKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKTogY2xpZW50cy9jb21tb24vc2V0dGluZ3MtZG9jcy54c2wgbGlibm0vbm0tcHJvcGVydHktZG9jcy54bWwgY2xpZW50cy9jb21tb24vLmRpcnN0YW1wCi0tCSQoQU1fVl9HRU4pICQoWFNMVFBST0MpIC0tb3V0cHV0ICRAICQ8ICQod29yZCAyLCReKQotLURJU1RDTEVBTkZJTEVTICs9ICQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpCi0tY2hlY2stbG9jYWwtc2V0dGluZ3MtZG9jczogJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCkKLS0JQGlmIHRlc3QgLXogIiQkTk1UU1RfTk9fQ0hFQ0tfU0VUVElOR1NfRE9DUyIgOyB0aGVuIFwKLS0JCWlmICEgY21wIC1zICIkKHNyY2RpcikvJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCkuaW4iICIkKGJ1aWxkZGlyKS8kKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKSIgOyB0aGVuIFwKLS0JCQlpZiB0ZXN0ICIkJE5NX1RFU1RfUkVHRU5FUkFURSIgPT0gMSA7IHRoZW4gXAotLQkJCQljcCAtZiAiJChidWlsZGRpcikvJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCkiICIkKHNyY2RpcikvJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCkuaW4iOyBcCi0tCQkJZWxzZSBcCi0tCQkJCWVjaG8gIlRoZSBnZW5lcmF0ZWQgZmlsZSBcIiQoYnVpbGRkaXIpLyQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpXCIgZGlmZmVycyBmcm9tIHRoZSBzb3VyY2UgZmlsZSBcIiQoc3JjZGlyKS8kKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKS5pblwiLiBZb3UgcHJvYmFibHkgc2hvdWxkIGNvcHkgdGhlIGdlbmVyYXRlZCBmaWxlIG92ZXIgdG8gdGhlIHNvdXJjZSBmaWxlLiBZb3UgY2FuIHNraXAgdGhpcyB0ZXN0IGJ5IHNldHRpbmcgXCQkTk1UU1RfTk9fQ0hFQ0tfU0VUVElOR1NfRE9DUz15ZXMiLiBZb3UgY2FuIGFsc28gYXV0b21hdGljYWxseSBjb3B5IHRoZSBmaWxlIGJ5IHJlcnVubmluZyB0aGUgdGVzdCB3aXRoIFwkJE5NX1RFU1RfUkVHRU5FUkFURT0xIDsgXAotLQkJCQlmYWxzZTsgXAotLQkJCWZpOyBcCi0tCQlmaTtcCi0tCWZpCi0tY2hlY2tfbG9jYWwgKz0gY2hlY2stbG9jYWwtc2V0dGluZ3MtZG9jcwotLWVsc2UKLSAkKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKTogJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCkuaW4gY2xpZW50cy9jb21tb24vLmRpcnN0YW1wCi0gCSQoQU1fVl9HRU4pIGNwICIkKHNyY2RpcikvJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCkuaW4iICIkKGJ1aWxkZGlyKS8kKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKSIKLSBjaGVjay1sb2NhbC1zZXR0aW5ncy1kb2NzOgotLWVuZGlmCi0gRVhUUkFfRElTVCArPSBcCi0gCSQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpIFwKLSAJJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCkuaW4KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDc5ZGMzYjkuLjIzZDE0YTYgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTExOTUsMTEgKzExOTUsNiBAQCBHVEtfRE9DX0NIRUNLKDEuMCkKLSAjIGNoZWNrIGlmIHdlIGNhbiBidWlsZCBzZXR0aW5nIHByb3BlcnR5IGRvY3VtZW50YXRpb24KLSBidWlsZF9kb2NzPW5vCi0gaWYgdGVzdCAtbiAiJElOVFJPU1BFQ1RJT05fTUFLRUZJTEUiOyB0aGVuCi0tCSMgSWYgZy1pIGlzIGluc3RhbGxlZCB3ZSBrbm93IHdlIGhhdmUgcHl0aG9uLCBidXQgd2UgbWlnaHQgbm90IGhhdmUgcHlnb2JqZWN0Ci0tCWlmICEgIiRQWVRIT04iIC1jICdmcm9tIGdpLnJlcG9zaXRvcnkgaW1wb3J0IEdPYmplY3QnID4mIC9kZXYvbnVsbDsgdGhlbgotLQkJQUNfTVNHX0VSUk9SKFsiLS1lbmFibGUtaW50cm9zcGVjdGlvbiBhaW1zIHRvIGJ1aWxkIHRoZSBzZXR0aW5ncyBkb2N1bWVudGF0aW9uLiBUaGlzIHJlcXVpcmVzIEdPYmplY3QgaW50cm9zcGVjdGlvbiBmb3IgcHl0aG9uIChweWdvYmplY3QpXSkKLS0JZmkKLS0KLSAJQUNfUEFUSF9QUk9HKFBFUkwsIHBlcmwpCi0gCWlmIHRlc3QgLXogIiRQRVJMIjsgdGhlbgotIAkJQUNfTVNHX0VSUk9SKFstLWVuYWJsZS1pbnRyb3NwZWN0aW9uIHJlcXVpcmVzIHBlcmxdKQotLS0gCi0yLjE0LjUKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMS1Eby1ub3QtaW5jbHVkZS1uZXQtZXRoZXJuZXQuaC1hbmQtbGludXgtaWZfZXRoZXIuaC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDEtRG8tbm90LWluY2x1ZGUtbmV0LWV0aGVybmV0LmgtYW5kLWxpbnV4LWlmX2V0aGVyLmgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU1ZTVmZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDEtRG8tbm90LWluY2x1ZGUtbmV0LWV0aGVybmV0LmgtYW5kLWxpbnV4LWlmX2V0aGVyLmgucGF0Y2gKQEAgLTAsMCArMSw1NCBAQAorRnJvbSBiMmNkYWI3NDZlZjY0YmMyNWJhMGI5Y2ZmNTk2ZWJkZGRkNmU4ZGM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgNyBOb3YgMjAxOCAxMTozMDo0NCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBEbyBub3QgaW5jbHVkZSBuZXQvZXRoZXJuZXQuaCBhbmQgbGludXgvaWZfZXRoZXIuaAorCitUaGV5IGNvbmZsaWN0IHdoZW4gdXNlZCB0b2dldGhlciBlc3BlY2lhbGx5IHdpdGggbXVzbAorcmVtb3ZpbmcgdGhlbSBzdGlsbCBrZWVwcyBpdCB3b3JraW5nIHNvIGl0IHNlZW1zIHRoZXkgYXJlIHJlZHVuZGFudAorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCistLS0KKyBzaGFyZWQvbi1hY2Qvc3JjL24tYWNkLmMgICAgICAgICAgICAgIHwgMSAtCisgc3JjL3BsYXRmb3JtL3dwYW4vbm0td3Bhbi11dGlscy5oICAgICB8IDIgLS0KKyBzcmMvc2V0dGluZ3Mvbm0tc2V0dGluZ3MtY29ubmVjdGlvbi5oIHwgMiAtLQorIDMgZmlsZXMgY2hhbmdlZCwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NoYXJlZC9uLWFjZC9zcmMvbi1hY2QuYyBiL3NoYXJlZC9uLWFjZC9zcmMvbi1hY2QuYworaW5kZXggZGVmNTZhMi4uZGQ0ZWI3OCAxMDA2NDQKKy0tLSBhL3NoYXJlZC9uLWFjZC9zcmMvbi1hY2QuYworKysrIGIvc2hhcmVkL24tYWNkL3NyYy9uLWFjZC5jCitAQCAtMTEsNyArMTEsNiBAQAorICNpbmNsdWRlIDxpbnR0eXBlcy5oPgorICNpbmNsdWRlIDxsaW1pdHMuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfcGFja2V0Lmg+CistI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4KKyAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CitkaWZmIC0tZ2l0IGEvc3JjL3BsYXRmb3JtL3dwYW4vbm0td3Bhbi11dGlscy5oIGIvc3JjL3BsYXRmb3JtL3dwYW4vbm0td3Bhbi11dGlscy5oCitpbmRleCAxYjU0ZWM0Li5lZDM5OTM4IDEwMDY0NAorLS0tIGEvc3JjL3BsYXRmb3JtL3dwYW4vbm0td3Bhbi11dGlscy5oCisrKysgYi9zcmMvcGxhdGZvcm0vd3Bhbi9ubS13cGFuLXV0aWxzLmgKK0BAIC0yMCw4ICsyMCw2IEBACisgI2lmbmRlZiBfX1dQQU5fVVRJTFNfSF9fCisgI2RlZmluZSBfX1dQQU5fVVRJTFNfSF9fCisgCistI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgorLQorICNpbmNsdWRlICJubS1kYnVzLWludGVyZmFjZS5oIgorICNpbmNsdWRlICJwbGF0Zm9ybS9ubS1uZXRsaW5rLmgiCisgCitkaWZmIC0tZ2l0IGEvc3JjL3NldHRpbmdzL25tLXNldHRpbmdzLWNvbm5lY3Rpb24uaCBiL3NyYy9zZXR0aW5ncy9ubS1zZXR0aW5ncy1jb25uZWN0aW9uLmgKK2luZGV4IGU3OTZiNzEuLmMwMWZlZjYgMTAwNjQ0CistLS0gYS9zcmMvc2V0dGluZ3Mvbm0tc2V0dGluZ3MtY29ubmVjdGlvbi5oCisrKysgYi9zcmMvc2V0dGluZ3Mvbm0tc2V0dGluZ3MtY29ubmVjdGlvbi5oCitAQCAtMjIsOCArMjIsNiBAQAorICNpZm5kZWYgX19ORVRXT1JLTUFOQUdFUl9TRVRUSU5HU19DT05ORUNUSU9OX0hfXworICNkZWZpbmUgX19ORVRXT1JLTUFOQUdFUl9TRVRUSU5HU19DT05ORUNUSU9OX0hfXworIAorLSNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KKy0KKyAjaW5jbHVkZSAibm0tZGJ1cy1vYmplY3QuaCIKKyAjaW5jbHVkZSAibm0tY29ubmVjdGlvbi5oIgorIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMS1tdXNsLWJhc2ljLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMS1tdXNsLWJhc2ljLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMGRkYTViLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDEtbXVzbC1iYXNpYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLUZyb20gZTkyZGU3NDA5YTNlMTA3ZjkwZDEwOGE5YzVkNDliZDA0MTgyOTZkZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDIyIE1hciAyMDE4IDE3OjU0OjEwICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIFVzdWFsIGZpeCBmb3IgbXVzbCBsaWJjCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TdG9sZW4gZnJvbSBbMV0gYW5kIHByZXR0eWZpZWQgc2xpZ2h0bHkKLQotWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkbGludXgvdm9pZC1wYWNrYWdlcy90cmVlL21hc3Rlci9zcmNwa2dzL05ldHdvcmtNYW5hZ2VyL3BhdGNoZXMKLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLQotLS0tCi0gc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3N0ZGlvLXV0aWwuaCB8IDIgKysKLSBzcmMvc3lzdGVtZC9zcmMvYmFzaWMvdXRpbC5oICAgICAgIHwgNSArKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvc3RkaW8tdXRpbC5oIGIvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3N0ZGlvLXV0aWwuaAotaW5kZXggNzNjMDMyNy4uZTFjZTY0ZiAxMDA2NDQKLS0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9zdGRpby11dGlsLmgKLSsrKyBiL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9zdGRpby11dGlsLmgKLUBAIC0xLDcgKzEsOSBAQAotIC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KLSAjcHJhZ21hIG9uY2UKLSAKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pCi0gI2luY2x1ZGUgPHByaW50Zi5oPgotKyNlbmRpZgotICNpbmNsdWRlIDxzdGRhcmcuaD4KLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci1kaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3V0aWwuaCBiL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy91dGlsLmgKLWluZGV4IGIzMWRmZDEuLjliNzAzMmMgMTAwNjQ0Ci0tLS0gYS9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvdXRpbC5oCi0rKysgYi9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvdXRpbC5oCi1AQCAtMjgsNiArMjgsMTEgQEAKLSAjaW5jbHVkZSAibWlzc2luZy5oIgotICNpbmNsdWRlICJ0aW1lLXV0aWwuaCIKLSAKLSsjaWYgIWRlZmluZWQoX19HTElCQ19fKQotK3R5cGVkZWYgaW50ICgqX19jb21wYXJfZm5fdCkgKGNvbnN0IHZvaWQqLCBjb25zdCB2b2lkKik7Ci0rdHlwZWRlZiBfX2NvbXBhcl9mbl90IGNvbXBhcmlzb25fZm5fdDsKLSsjZW5kaWYKLSsKLSBzaXplX3QgcGFnZV9zaXplKHZvaWQpIF9wdXJlXzsKLSAjZGVmaW5lIFBBR0VfQUxJR04obCkgQUxJR05fVE8oKGwpLCBwYWdlX3NpemUoKSkKLSAKLS0tIAotMi4xNC4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDItbXVzbC1kbG9wZW4tY29uZmlndXJlLWFjLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMi1tdXNsLWRsb3Blbi1jb25maWd1cmUtYWMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxNjJjMWQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMi1tdXNsLWRsb3Blbi1jb25maWd1cmUtYWMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIDU3MjM5ZmRhNTZiNjhhOGYzZTQxM2Y3YjZhZjUyOTBiYTBkODY2MzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotRGF0ZTogVGh1LCAyMiBNYXIgMjAxOCAxODoxODowNiArMDEwMAotU3ViamVjdDogW1BBVENIXSBtdXNsOiBkbG9wZW4gaXMgaW5jbHVkZWQgc28gTERfTElCUz0iIiBpbnN0ZWFkIG9mCi0gTERfTElCUz0ibm9uZSByZXF1aXJlZCIKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVN0b2xlbiBmcm9tIFsxXSBhbmQgcHJldHR5ZmllZCBzbGlnaHRseQotCi1bMV0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWRsaW51eC92b2lkLXBhY2thZ2VzL3RyZWUvbWFzdGVyL3NyY3BrZ3MvTmV0d29ya01hbmFnZXIvcGF0Y2hlcwotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotLS0tCi0gY29uZmlndXJlLmFjIHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDQ4N2EyNjYuLjk2YWU0ZjcgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTIzNSw2ICsyMzUsNyBAQCBkbmwKLSBkbmwgQ2hlY2tzIGZvciBsaWJkbCAtIG9uIGNlcnRhaW4gcGxhdGZvcm1zIGl0cyBwYXJ0IG9mIGxpYmMKLSBkbmwKLSBBQ19TRUFSQ0hfTElCUyhbZGxvcGVuXSwgW2RsIGRsZF0sIFtdLCBbYWNfY3Zfc2VhcmNoX2Rsb3Blbj1dKQotK0FTX0lGKFt0ZXN0ICIkYWNfY3Zfc2VhcmNoX2Rsb3BlbiIgPSAibm9uZSByZXF1aXJlZCJdLFthY19jdl9zZWFyY2hfZGxvcGVuPSIiXSkKLSBBQ19TVUJTVChbRExfTElCU10sICIkYWNfY3Zfc2VhcmNoX2Rsb3BlbiIpCi0gCi0gUEtHX0NIRUNLX01PRFVMRVMoR0xJQiwgW2dpby11bml4LTIuMCA+PSAyLjM3LjYgZ21vZHVsZS0yLjBdLAotLS0gCi0yLjE0LjMKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMi1zZC1sbGRwLmgtUmVtb3ZlLW5ldC1ldGhlcm5ldC5oLXNlZW1zLXRvLWJlLW92ZXItc3BlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMi1zZC1sbGRwLmgtUmVtb3ZlLW5ldC1ldGhlcm5ldC5oLXNlZW1zLXRvLWJlLW92ZXItc3BlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjNTkyMDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAyLXNkLWxsZHAuaC1SZW1vdmUtbmV0LWV0aGVybmV0Lmgtc2VlbXMtdG8tYmUtb3Zlci1zcGUucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSAzMmRjNmNhYjU4OTEyYWRkNWJjNjQ5NTU1ODUzODk1M2Q5MzQ0YzM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMzEgTWFyIDIwMTcgMTY6NDg6MDAgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gc2QtbGxkcC5oOiBSZW1vdmUgbmV0L2V0aGVybmV0Lmggc2VlbXMgdG8gYmUgb3ZlciBzcGVjaWZpZWQKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tCisgc3JjL3N5c3RlbWQvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9zZC1sbGRwLmMgfCAxICsKKyBzcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1sbGRwLmggICAgICAgICAgICB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9zZC1sbGRwLmMgYi9zcmMvc3lzdGVtZC9zcmMvbGlic3lzdGVtZC1uZXR3b3JrL3NkLWxsZHAuYworaW5kZXggNzQxMTI4ZS4uNjI5MTRhZSAxMDA2NDQKKy0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvc2QtbGxkcC5jCisrKysgYi9zcmMvc3lzdGVtZC9zcmMvbGlic3lzdGVtZC1uZXR3b3JrL3NkLWxsZHAuYworQEAgLTMsNiArMyw3IEBACisgI2luY2x1ZGUgIm5tLXNkLWFkYXB0LWNvcmUuaCIKKyAKKyAjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+CisrI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgorICNpbmNsdWRlIDxsaW51eC9zb2NraW9zLmg+CisgI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorIAorZGlmZiAtLWdpdCBhL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWxsZHAuaCBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWxsZHAuaAoraW5kZXggYmYzYWZhZC4uNGNhY2U4NyAxMDA2NDQKKy0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWxsZHAuaAorKysrIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtbGxkcC5oCitAQCAtMTgsNyArMTgsNyBAQAorICoqKi8KKyAKKyAjaW5jbHVkZSA8aW50dHlwZXMuaD4KKy0jaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+CisrLy8jaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIAorICNpbmNsdWRlICJzZC1ldmVudC5oIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMy1tdXNsLWJhc2ljLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMy1tdXNsLWJhc2ljLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkOTA1NDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAzLW11c2wtYmFzaWMucGF0Y2gKQEAgLTAsMCArMSw1NiBAQAorRnJvbSBmZjFhNWI4NDk3NTVkYjY3YjE3Nzg5NDBmZmY5MmQ2ZWI4YjhiMDUwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjIgTWFyIDIwMTggMTc6NTQ6MTAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXN1YWwgZml4IGZvciBtdXNsIGxpYmMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1N0b2xlbiBmcm9tIFsxXSBhbmQgcHJldHR5ZmllZCBzbGlnaHRseQorCitbMV0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWRsaW51eC92b2lkLXBhY2thZ2VzL3RyZWUvbWFzdGVyL3NyY3BrZ3MvTmV0d29ya01hbmFnZXIvcGF0Y2hlcworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorCistLS0KKyBzaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc3RkaW8tdXRpbC5oIHwgMiArKworIHNoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy91dGlsLmggICAgICAgfCA1ICsrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9zdGRpby11dGlsLmggYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc3RkaW8tdXRpbC5oCitpbmRleCBkYzY3YjZlLi42MzM2MjQzIDEwMDY0NAorLS0tIGEvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3N0ZGlvLXV0aWwuaAorKysrIGIvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3N0ZGlvLXV0aWwuaAorQEAgLTEsNyArMSw5IEBACisgLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xKyAqLworICNwcmFnbWEgb25jZQorIAorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8cHJpbnRmLmg+CisrI2VuZGlmCisgI2luY2x1ZGUgPHN0ZGFyZy5oPgorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KK2RpZmYgLS1naXQgYS9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvdXRpbC5oIGIvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3V0aWwuaAoraW5kZXggZGMzM2Q2Ni4uOGVlMmQ2NCAxMDA2NDQKKy0tLSBhL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy91dGlsLmgKKysrKyBiL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy91dGlsLmgKK0BAIC0yNyw2ICsyNywxMSBAQAorICNpbmNsdWRlICJtYWNyby5oIgorICNpbmNsdWRlICJ0aW1lLXV0aWwuaCIKKyAKKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorK3R5cGVkZWYgaW50ICgqX19jb21wYXJfZm5fdCkgKGNvbnN0IHZvaWQqLCBjb25zdCB2b2lkKik7CisrdHlwZWRlZiBfX2NvbXBhcl9mbl90IGNvbXBhcmlzb25fZm5fdDsKKysjZW5kaWYKKysKKyBzaXplX3QgcGFnZV9zaXplKHZvaWQpIF9wdXJlXzsKKyAjZGVmaW5lIFBBR0VfQUxJR04obCkgQUxJR05fVE8oKGwpLCBwYWdlX3NpemUoKSkKKyAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDMtbXVzbC1uZXR3b3JrLXN1cHBvcnQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAzLW11c2wtbmV0d29yay1zdXBwb3J0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTU4YzBlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDMtbXVzbC1uZXR3b3JrLXN1cHBvcnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MiArMCwwIEBACi1Gcm9tIDcxNGI0NzMxYTIzODY1M2U5YzdkODg1YzBkZWUxMDY3N2IwYTRkZjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotRGF0ZTogVGh1LCAyMiBNYXIgMjAxOCAxODoyNDowNyArMDEwMAotU3ViamVjdDogW1BBVENIXSBtdXNsOiBuZXR3b3JrIHN1cHBvcnQKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVN0b2xlbiBmcm9tIFsxXSBhbmQgcHJldHR5ZmllZCBzbGlnaHRseQotCi1bMV0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWRsaW51eC92b2lkLXBhY2thZ2VzL3RyZWUvbWFzdGVyL3NyY3BrZ3MvTmV0d29ya01hbmFnZXIvcGF0Y2hlcwotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotLS0tCi0gbGlibm0tY29yZS9ubS11dGlscy5oICAgICAgICAgICAgICAgfCA0ICsrKysKLSBzcmMvcGxhdGZvcm0vd2lmaS9ubS13aWZpLXV0aWxzLmggICB8IDQgKysrKwotIHNyYy9zeXN0ZW1kL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5oIHwgNSArKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbGlibm0tY29yZS9ubS11dGlscy5oIGIvbGlibm0tY29yZS9ubS11dGlscy5oCi1pbmRleCBkZjkyODRiLi4yYmNmNGI4IDEwMDY0NAotLS0tIGEvbGlibm0tY29yZS9ubS11dGlscy5oCi0rKysgYi9saWJubS1jb3JlL25tLXV0aWxzLmgKLUBAIC0zMCw3ICszMCwxMSBAQAotICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+Ci0gCi0gLyogRm9yIEVUSF9BTEVOIGFuZCBJTkZJTklCQU5EX0FMRU4gKi8KLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pCi0gI2luY2x1ZGUgPGxpbnV4L2lmX2V0aGVyLmg+Ci0rI2Vsc2UKLSsjZGVmaW5lIEVUSF9BTEVOCTYJCS8qIE9jdGV0cyBpbiBvbmUgZXRoZXJuZXQgYWRkcgkgKi8KLSsjZW5kaWYKLSAjaW5jbHVkZSA8bGludXgvaWZfaW5maW5pYmFuZC5oPgotIAotICNpbmNsdWRlICJubS1jb3JlLWVudW0tdHlwZXMuaCIKLWRpZmYgLS1naXQgYS9zcmMvcGxhdGZvcm0vd2lmaS9ubS13aWZpLXV0aWxzLmggYi9zcmMvcGxhdGZvcm0vd2lmaS9ubS13aWZpLXV0aWxzLmgKLWluZGV4IDcwNTcxN2IuLmRhM2VkYzQgMTAwNjQ0Ci0tLS0gYS9zcmMvcGxhdGZvcm0vd2lmaS9ubS13aWZpLXV0aWxzLmgKLSsrKyBiL3NyYy9wbGF0Zm9ybS93aWZpL25tLXdpZmktdXRpbHMuaAotQEAgLTIyLDcgKzIyLDExIEBACi0gI2lmbmRlZiBfX1dJRklfVVRJTFNfSF9fCi0gI2RlZmluZSBfX1dJRklfVVRJTFNfSF9fCi0gCi0rI2lmIGRlZmluZWQoX19HTElCQ19fKQotICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSsjZWxzZSAvKiBtdXNsIGxpYmMgKi8KLSsjZGVmaW5lIEVUSF9BTEVOCTYJCS8qIE9jdGV0cyBpbiBvbmUgZXRoZXJuZXQgYWRkcgkgKi8KLSsjZW5kaWYKLSAKLSAjaW5jbHVkZSAibm0tZGJ1cy1pbnRlcmZhY2UuaCIKLSAjaW5jbHVkZSAibm0tc2V0dGluZy13aXJlbGVzcy5oIgotZGlmZiAtLWdpdCBhL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5oIGIvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmgKLWluZGV4IGQ3ZTJkODUuLmQxMDljODQgMTAwNjQ0Ci0tLS0gYS9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaAotKysrIGIvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmgKLUBAIC0xMSw2ICsxMSwxMSBAQAotICNpbmNsdWRlIDxsaW51eC9uZXRsaW5rLmg+Ci0gI2luY2x1ZGUgPGxpbnV4L2lmX2luZmluaWJhbmQuaD4KLSAjaW5jbHVkZSA8bGludXgvaWZfcGFja2V0Lmg+Ci0rI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKLSsvKiBTSU9DR1NUQU1QTlMgZnJvbSBsaW51eC9hc20tZ2VuZXJpYy5oCi0rICogZm9yIHNyYy9zeXN0ZW1kL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvc2QtbGxkcC5jICovCi0rI2luY2x1ZGUgPGxpbnV4L3NvY2tpb3MuaD4KLSsjZW5kaWYKLSAKLSAjaW5jbHVkZSAibWFjcm8uaCIKLSAjaW5jbHVkZSAibWlzc2luZy5oIgotLS0gCi0yLjE0LjMKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNC1tdXNsLWRsb3Blbi1jb25maWd1cmUtYWMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA0LW11c2wtZGxvcGVuLWNvbmZpZ3VyZS1hYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTllMWJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNC1tdXNsLWRsb3Blbi1jb25maWd1cmUtYWMucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSA3NzQzZWE2M2ZiZTU3MmIxZjgyZGI3ZDM5OWZlOWM1Yzk5NTIxNDMyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjIgTWFyIDIwMTggMTg6MTg6MDYgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gbXVzbDogZGxvcGVuIGlzIGluY2x1ZGVkIHNvIExEX0xJQlM9IiIgaW5zdGVhZCBvZgorIExEX0xJQlM9Im5vbmUgcmVxdWlyZWQiCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTdG9sZW4gZnJvbSBbMV0gYW5kIHByZXR0eWZpZWQgc2xpZ2h0bHkKKworWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkbGludXgvdm9pZC1wYWNrYWdlcy90cmVlL21hc3Rlci9zcmNwa2dzL05ldHdvcmtNYW5hZ2VyL3BhdGNoZXMKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KKworLS0tCisgY29uZmlndXJlLmFjIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGI5MTQyMTkuLjFiMmIwZmYgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTI0MSw2ICsyNDEsNyBAQCBkbmwKKyBkbmwgQ2hlY2tzIGZvciBsaWJkbCAtIG9uIGNlcnRhaW4gcGxhdGZvcm1zIGl0cyBwYXJ0IG9mIGxpYmMKKyBkbmwKKyBBQ19TRUFSQ0hfTElCUyhbZGxvcGVuXSwgW2RsIGRsZF0sIFtdLCBbYWNfY3Zfc2VhcmNoX2Rsb3Blbj1dKQorK0FTX0lGKFt0ZXN0ICIkYWNfY3Zfc2VhcmNoX2Rsb3BlbiIgPSAibm9uZSByZXF1aXJlZCJdLFthY19jdl9zZWFyY2hfZGxvcGVuPSIiXSkKKyBBQ19TVUJTVChbRExfTElCU10sICIkYWNfY3Zfc2VhcmNoX2Rsb3BlbiIpCisgCisgUEtHX0NIRUNLX01PRFVMRVMoR0xJQiwgW2dpby11bml4LTIuMCA+PSAyLjM3LjYgZ21vZHVsZS0yLjBdLApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNC1tdXNsLXByb2Nlc3MtdXRpbC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDQtbXVzbC1wcm9jZXNzLXV0aWwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllNWM5NDMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNC1tdXNsLXByb2Nlc3MtdXRpbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLUZyb20gZDUxM2M4YmZjOTgyZGJkOTc2NjE3MTc4YjA0MGM1MTJjOTU3MTBiNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDI1IE9jdCAyMDE4IDA5OjU3OjA3ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11c2w6IHByb2Nlc3MtdXRpbAotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU3RvbGVuIGZyb20gWzFdIGFuZCBwcmV0dHlmaWVkIHNsaWdodGx5Ci0KLVsxXSBodHRwczovL2dpdGh1Yi5jb20vdm9pZGxpbnV4L3ZvaWQtcGFja2FnZXMvdHJlZS9tYXN0ZXIvc3JjcGtncy9OZXR3b3JrTWFuYWdlci9wYXRjaGVzCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvc3lzdGVtZC9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMgfCA5ICsrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYyBiL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYwotaW5kZXggMTQxMmYwMy4uNDVmNTA0OSAxMDA2NDQKLS0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYwotKysrIGIvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCi1AQCAtMjEsNiArMjEsOSBAQAotICNpbmNsdWRlIDxzeXMvd2FpdC5oPgotICNpbmNsdWRlIDxzeXNsb2cuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0rI2lmbmRlZiBfX0dMSUJDX18KLSsjaW5jbHVkZSA8cHRocmVhZC5oPgotKyNlbmRpZgotICNpZiAwIC8qIE5NX0lHTk9SRUQgKi8KLSAjaWYgSEFWRV9WQUxHUklORF9WQUxHUklORF9ICi0gI2luY2x1ZGUgPHZhbGdyaW5kL3ZhbGdyaW5kLmg+Ci1AQCAtMTE1MywxMSArMTE1NiwxMyBAQCB2b2lkIHJlc2V0X2NhY2hlZF9waWQodm9pZCkgewotICAgICAgICAgY2FjaGVkX3BpZCA9IENBQ0hFRF9QSURfVU5TRVQ7Ci0gfQotIAotKyNpZmRlZiBfX0dMSUJDX18KLSAvKiBXZSB1c2UgZ2xpYmMgX19yZWdpc3Rlcl9hdGZvcmsoKSArIF9fZHNvX2hhbmRsZSBkaXJlY3RseSBoZXJlLCBhcyB0aGV5IGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIGdsaWJjCi0gICogaGVhZGVycy4gX19yZWdpc3Rlcl9hdGZvcmsoKSBpcyBtb3N0bHkgZXF1aXZhbGVudCB0byBwdGhyZWFkX2F0Zm9yaygpLCBidXQgZG9lc24ndCByZXF1aXJlIHVzIHRvIGxpbmsgYWdhaW5zdAotICAqIGxpYnB0aHJlYWQsIGFzIGl0IGlzIHBhcnQgb2YgZ2xpYmMgYW55d2F5LiAqLwotIGV4dGVybiBpbnQgX19yZWdpc3Rlcl9hdGZvcmsodm9pZCAoKnByZXBhcmUpICh2b2lkKSwgdm9pZCAoKnBhcmVudCkgKHZvaWQpLCB2b2lkICgqY2hpbGQpICh2b2lkKSwgdm9pZCAqZHNvX2hhbmRsZSk7Ci0gZXh0ZXJuIHZvaWQqIF9fZHNvX2hhbmRsZSBfX2F0dHJpYnV0ZV9fICgoX193ZWFrX18pKTsKLSsjZW5kaWYKLSAKLSBwaWRfdCBnZXRwaWRfY2FjaGVkKHZvaWQpIHsKLSAgICAgICAgIHN0YXRpYyBib29sIGluc3RhbGxlZCA9IGZhbHNlOwotQEAgLTExODYsNyArMTE5MSwxMSBAQCBwaWRfdCBnZXRwaWRfY2FjaGVkKHZvaWQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKiBvbmx5IGhhbGYtZG9jdW1lbnRlZCAoZ2xpYmMgZG9lc24ndCBkb2N1bWVudCBpdCBidXQgTFNCIGRvZXMg4oCUIHRob3VnaCBvbmx5IHN1cGVyZmljaWFsbHkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICogd2UnbGwgY2hlY2sgZm9yIGVycm9ycyBvbmx5IGluIHRoZSBtb3N0IGdlbmVyaWMgZmFzaGlvbiBwb3NzaWJsZS4gKi8KLSAKLSsjaWZkZWYgX19HTElCQ19fCi0gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9fcmVnaXN0ZXJfYXRmb3JrKE5VTEwsIE5VTEwsIHJlc2V0X2NhY2hlZF9waWQsIF9fZHNvX2hhbmRsZSkgIT0gMCkgewotKyNlbHNlCi0rICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHB0aHJlYWRfYXRmb3JrKE5VTEwsIE5VTEwsIHJlc2V0X2NhY2hlZF9waWQpICE9IDApIHsKLSsjZW5kaWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE9PTT8gTGV0J3MgdHJ5IGFnYWluIGxhdGVyICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZWRfcGlkID0gQ0FDSEVEX1BJRF9VTlNFVDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdfcGlkOwotLS0gCi0yLjE0LjUKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNS1tdXNsLWF2b2lkLWZ1cnRoZXItY29uZmxpY3RzLWJ5LWluY2x1ZGluZy1uZXQtZXRoZXJuLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNS1tdXNsLWF2b2lkLWZ1cnRoZXItY29uZmxpY3RzLWJ5LWluY2x1ZGluZy1uZXQtZXRoZXJuLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YmNhOTVlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDUtbXVzbC1hdm9pZC1mdXJ0aGVyLWNvbmZsaWN0cy1ieS1pbmNsdWRpbmctbmV0LWV0aGVybi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc3ICswLDAgQEAKLUZyb20gYjNiNGZlMzUwMThjOThhZDE3NjcxOWIyZDlmZmI4Njc5NzRmYzdjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDE2IEFwciAyMDE4IDE0OjQ1OjQ0ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11c2w6IGF2b2lkIGZ1cnRoZXIgY29uZmxpY3RzIGJ5IGluY2x1ZGluZyBuZXQvZXRoZXJuZXQuaAotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLS0tLQotIHNyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtY2xpZW50LmggIHwgMiArKwotIHNyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtbGVhc2UuaCAgIHwgMiArKwotIHNyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3A2LWNsaWVudC5oIHwgMiArKwotIHNyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWlwdjRsbC5oICAgICAgIHwgMiArKwotIDQgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWNsaWVudC5oIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1jbGllbnQuaAotaW5kZXggZTM4ODU1Mi4uOWM0ZGRlOCAxMDA2NDQKLS0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtY2xpZW50LmgKLSsrKyBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtY2xpZW50LmgKLUBAIC0yMCw3ICsyMCw5IEBACi0gKioqLwotIAotICNpbmNsdWRlIDxpbnR0eXBlcy5oPgotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKLSAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0rI2VuZGlmCi0gI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1sZWFzZS5oIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1sZWFzZS5oCi1pbmRleCAyYTYwMTQ1Li4xOWQxODE0IDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1sZWFzZS5oCi0rKysgYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWxlYXNlLmgKLUBAIC0xOSw3ICsxOSw5IEBACi0gKioqLwotIAotICNpbmNsdWRlIDxpbnR0eXBlcy5oPgotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKLSAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0rI2VuZGlmCi0gI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcDYtY2xpZW50LmggYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwNi1jbGllbnQuaAotaW5kZXggZmEzNmRjYS4uMmQyNTAxMCAxMDA2NDQKLS0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3A2LWNsaWVudC5oCi0rKysgYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwNi1jbGllbnQuaAotQEAgLTIwLDcgKzIwLDkgQEAKLSAqKiovCi0gCi0gI2luY2x1ZGUgPGludHR5cGVzLmg+Ci0rI2lmIGRlZmluZWQoX19HTElCQ19fKQotICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSsjZW5kaWYKLSAjaW5jbHVkZSA8c3RkYm9vbC5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAKLWRpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1pcHY0bGwuaCBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWlwdjRsbC5oCi1pbmRleCA3MWJkNGNmLi4xYzY2N2JhIDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtaXB2NGxsLmgKLSsrKyBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWlwdjRsbC5oCi1AQCAtMTksNyArMTksOSBAQAotICAgYWxvbmcgd2l0aCBzeXN0ZW1kOyBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gKioqLwotIAotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKLSAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0rI2VuZGlmCi0gI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KLSAKLSAjaW5jbHVkZSAic2QtZXZlbnQuaCIKLS0tIAotMi4xNC41Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDUtbXVzbC1uZXR3b3JrLXN1cHBvcnQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA1LW11c2wtbmV0d29yay1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1ZjYwN2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA1LW11c2wtbmV0d29yay1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsNzEgQEAKK0Zyb20gNzBlY2JjMDE4NzRiZjJmODYwM2NjYmRmZGE2MzRjYWMwYmI4M2Q5MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDIyIE1hciAyMDE4IDE4OjI0OjA3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIG11c2w6IG5ldHdvcmsgc3VwcG9ydAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU3RvbGVuIGZyb20gWzFdIGFuZCBwcmV0dHlmaWVkIHNsaWdodGx5CisKK1sxXSBodHRwczovL2dpdGh1Yi5jb20vdm9pZGxpbnV4L3ZvaWQtcGFja2FnZXMvdHJlZS9tYXN0ZXIvc3JjcGtncy9OZXR3b3JrTWFuYWdlci9wYXRjaGVzCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CisKKy0tLQorIGxpYm5tLWNvcmUvbm0tdXRpbHMuaCAgICAgICAgICAgICAgICAgIHwgNCArKysrCisgc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmggfCA2ICsrKysrKworIHNyYy9wbGF0Zm9ybS93aWZpL25tLXdpZmktdXRpbHMuaCAgICAgIHwgNCArKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9saWJubS1jb3JlL25tLXV0aWxzLmggYi9saWJubS1jb3JlL25tLXV0aWxzLmgKK2luZGV4IDJiNWJhYmEuLjk3Njg1MGMgMTAwNjQ0CistLS0gYS9saWJubS1jb3JlL25tLXV0aWxzLmgKKysrKyBiL2xpYm5tLWNvcmUvbm0tdXRpbHMuaAorQEAgLTMwLDcgKzMwLDExIEBACisgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyAKKyAvKiBGb3IgRVRIX0FMRU4gYW5kIElORklOSUJBTkRfQUxFTiAqLworKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8bGludXgvaWZfZXRoZXIuaD4KKysjZWxzZQorKyNkZWZpbmUgRVRIX0FMRU4JNgkJLyogT2N0ZXRzIGluIG9uZSBldGhlcm5ldCBhZGRyCSAqLworKyNlbmRpZgorICNpbmNsdWRlIDxsaW51eC9pZl9pbmZpbmliYW5kLmg+CisgCisgI2luY2x1ZGUgIm5tLWNvcmUtZW51bS10eXBlcy5oIgorZGlmZiAtLWdpdCBhL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5oIGIvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmgKK2luZGV4IGQyMjQ2YTguLjc2ZjI1N2YgMTAwNjQ0CistLS0gYS9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaAorKysrIGIvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmgKK0BAIC0xMyw2ICsxMywxMiBAQAorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3VuLmg+CisgCisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKysvKiBTSU9DR1NUQU1QTlMgZnJvbSBsaW51eC9hc20tZ2VuZXJpYy5oCisrICogZm9yIHNyYy9zeXN0ZW1kL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvc2QtbGxkcC5jICovCisrI2luY2x1ZGUgPGxpbnV4L3NvY2tpb3MuaD4KKysjZW5kaWYKKysKKyAjaW5jbHVkZSAibWFjcm8uaCIKKyAjaW5jbHVkZSAibWlzc2luZ19zb2NrZXQuaCIKKyAjaW5jbHVkZSAic3BhcnNlLWVuZGlhbi5oIgorZGlmZiAtLWdpdCBhL3NyYy9wbGF0Zm9ybS93aWZpL25tLXdpZmktdXRpbHMuaCBiL3NyYy9wbGF0Zm9ybS93aWZpL25tLXdpZmktdXRpbHMuaAoraW5kZXggMzYxNDhiNS4uZDI4MmViMiAxMDA2NDQKKy0tLSBhL3NyYy9wbGF0Zm9ybS93aWZpL25tLXdpZmktdXRpbHMuaAorKysrIGIvc3JjL3BsYXRmb3JtL3dpZmkvbm0td2lmaS11dGlscy5oCitAQCAtMjIsNyArMjIsMTEgQEAKKyAjaWZuZGVmIF9fV0lGSV9VVElMU19IX18KKyAjZGVmaW5lIF9fV0lGSV9VVElMU19IX18KKyAKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgorKyNlbHNlIC8qIG11c2wgbGliYyAqLworKyNkZWZpbmUgRVRIX0FMRU4JNgkJLyogT2N0ZXRzIGluIG9uZSBldGhlcm5ldCBhZGRyCSAqLworKyNlbmRpZgorIAorICNpbmNsdWRlICJubS1kYnVzLWludGVyZmFjZS5oIgorICNpbmNsdWRlICJubS1zZXR0aW5nLXdpcmVsZXNzLmgiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA2LUFkZC1hLXN0cm5kdXBhLXJlcGxhY2VtZW50LWZvci1tdXNsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNi1BZGQtYS1zdHJuZHVwYS1yZXBsYWNlbWVudC1mb3ItbXVzbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDIzYTRkOS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA2LUFkZC1hLXN0cm5kdXBhLXJlcGxhY2VtZW50LWZvci1tdXNsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotRnJvbSA2ZGI2NTk2ZTQ1MDA2MjYwMWQxOGIyYWU4MTJhNGE1OGQyZTAzYTUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMTYgQXByIDIwMTggMTU6MDc6MjAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gQWRkIGEgc3RybmR1cGEgcmVwbGFjZW1lbnQgZm9yIG11c2wKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvc3lzdGVtZC9zcmMvYmFzaWMvaW4tYWRkci11dGlsLmMgfCAxICsKLSBzcmMvc3lzdGVtZC9zcmMvYmFzaWMvc3RyaW5nLXV0aWwuaCAgfCA1ICsrKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9pbi1hZGRyLXV0aWwuYyBiL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9pbi1hZGRyLXV0aWwuYwotaW5kZXggMmEwMmQ5MC4uYTU3YzM2MCAxMDA2NDQKLS0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9pbi1hZGRyLXV0aWwuYwotKysrIGIvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL2luLWFkZHItdXRpbC5jCi1AQCAtMTMsNiArMTMsNyBAQAotICNpbmNsdWRlICJpbi1hZGRyLXV0aWwuaCIKLSAjaW5jbHVkZSAibWFjcm8uaCIKLSAjaW5jbHVkZSAicGFyc2UtdXRpbC5oIgotKyNpbmNsdWRlICJzdHJpbmctdXRpbC5oIgotICNpbmNsdWRlICJ1dGlsLmgiCi0gCi0gYm9vbCBpbjRfYWRkcl9pc19udWxsKGNvbnN0IHN0cnVjdCBpbl9hZGRyICphKSB7Ci1kaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3N0cmluZy11dGlsLmggYi9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvc3RyaW5nLXV0aWwuaAotaW5kZXggNGM5NGIxOC4uYTZkYzQ0NiAxMDA2NDQKLS0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9zdHJpbmctdXRpbC5oCi0rKysgYi9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvc3RyaW5nLXV0aWwuaAotQEAgLTI2LDYgKzI2LDExIEBACi0gI2RlZmluZSBzdHJjYXNlZXEoYSxiKSAoc3RyY2FzZWNtcCgoYSksKGIpKSA9PSAwKQotICNkZWZpbmUgc3RybmNhc2VlcShhLCBiLCBuKSAoc3RybmNhc2VjbXAoKGEpLCAoYiksIChuKSkgPT0gMCkKLSAKLSsvKiBtdXNsIGRvZXMgbm90IGtub3cgc3RybmR1cGEgKi8KLSsjaWYgIWRlZmluZWQoX19HTElCQ19fKQotKyNkZWZpbmUgc3RybmR1cGEoeCxzKSBzdHJuY3B5KGFsbG9jYShzdHJsZW4oeCkrMSkseCxzKQotKyNlbmRpZgotKwotIGludCBzdHJjbXBfcHRyKGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIpIF9wdXJlXzsKLSAKLSBzdGF0aWMgaW5saW5lIGJvb2wgc3RyZXFfcHRyKGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIpIHsKLS0tIAotMi4xNC4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDYtbXVzbC1wcm9jZXNzLXV0aWwucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA2LW11c2wtcHJvY2Vzcy11dGlsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyNWUzNTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA2LW11c2wtcHJvY2Vzcy11dGlsLnBhdGNoCkBAIC0wLDAgKzEsNjAgQEAKK0Zyb20gNGYyZmIxZTFmNzg1YmFkMjJkZjhmM2Q5NmNiNDc5MmFjZjIxZjMxNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDI1IE9jdCAyMDE4IDA5OjU3OjA3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIG11c2w6IHByb2Nlc3MtdXRpbAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU3RvbGVuIGZyb20gWzFdIGFuZCBwcmV0dHlmaWVkIHNsaWdodGx5CisKK1sxXSBodHRwczovL2dpdGh1Yi5jb20vdm9pZGxpbnV4L3ZvaWQtcGFja2FnZXMvdHJlZS9tYXN0ZXIvc3JjcGtncy9OZXR3b3JrTWFuYWdlci9wYXRjaGVzCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CisKKy0tLQorIHNoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYyB8IDkgKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIGIvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCitpbmRleCBiMGFmYjVjLi43YWRjOGJkIDEwMDY0NAorLS0tIGEvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCisrKysgYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKK0BAIC0yMSw2ICsyMSw5IEBACisgI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisgI2luY2x1ZGUgPHN5c2xvZy5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKysjaWZuZGVmIF9fR0xJQkNfXworKyNpbmNsdWRlIDxwdGhyZWFkLmg+CisrI2VuZGlmCisgI2lmIDAgLyogTk1fSUdOT1JFRCAqLworICNpZiBIQVZFX1ZBTEdSSU5EX1ZBTEdSSU5EX0gKKyAjaW5jbHVkZSA8dmFsZ3JpbmQvdmFsZ3JpbmQuaD4KK0BAIC0xMTY4LDExICsxMTcxLDEzIEBAIHZvaWQgcmVzZXRfY2FjaGVkX3BpZCh2b2lkKSB7CisgICAgICAgICBjYWNoZWRfcGlkID0gQ0FDSEVEX1BJRF9VTlNFVDsKKyB9CisgCisrI2lmZGVmIF9fR0xJQkNfXworIC8qIFdlIHVzZSBnbGliYyBfX3JlZ2lzdGVyX2F0Zm9yaygpICsgX19kc29faGFuZGxlIGRpcmVjdGx5IGhlcmUsIGFzIHRoZXkgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgZ2xpYmMKKyAgKiBoZWFkZXJzLiBfX3JlZ2lzdGVyX2F0Zm9yaygpIGlzIG1vc3RseSBlcXVpdmFsZW50IHRvIHB0aHJlYWRfYXRmb3JrKCksIGJ1dCBkb2Vzbid0IHJlcXVpcmUgdXMgdG8gbGluayBhZ2FpbnN0CisgICogbGlicHRocmVhZCwgYXMgaXQgaXMgcGFydCBvZiBnbGliYyBhbnl3YXkuICovCisgZXh0ZXJuIGludCBfX3JlZ2lzdGVyX2F0Zm9yayh2b2lkICgqcHJlcGFyZSkgKHZvaWQpLCB2b2lkICgqcGFyZW50KSAodm9pZCksIHZvaWQgKCpjaGlsZCkgKHZvaWQpLCB2b2lkICpkc29faGFuZGxlKTsKKyBleHRlcm4gdm9pZCogX19kc29faGFuZGxlIF93ZWFrXzsKKysjZW5kaWYKKyAKKyBwaWRfdCBnZXRwaWRfY2FjaGVkKHZvaWQpIHsKKyAgICAgICAgIHN0YXRpYyBib29sIGluc3RhbGxlZCA9IGZhbHNlOworQEAgLTEyMDEsNyArMTIwNiwxMSBAQCBwaWRfdCBnZXRwaWRfY2FjaGVkKHZvaWQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKiBvbmx5IGhhbGYtZG9jdW1lbnRlZCAoZ2xpYmMgZG9lc24ndCBkb2N1bWVudCBpdCBidXQgTFNCIGRvZXMg4oCUIHRob3VnaCBvbmx5IHN1cGVyZmljaWFsbHkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICogd2UnbGwgY2hlY2sgZm9yIGVycm9ycyBvbmx5IGluIHRoZSBtb3N0IGdlbmVyaWMgZmFzaGlvbiBwb3NzaWJsZS4gKi8KKyAKKysjaWZkZWYgX19HTElCQ19fCisgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9fcmVnaXN0ZXJfYXRmb3JrKE5VTEwsIE5VTEwsIHJlc2V0X2NhY2hlZF9waWQsIF9fZHNvX2hhbmRsZSkgIT0gMCkgeworKyNlbHNlCisrICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHB0aHJlYWRfYXRmb3JrKE5VTEwsIE5VTEwsIHJlc2V0X2NhY2hlZF9waWQpICE9IDApIHsKKysjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE9PTT8gTGV0J3MgdHJ5IGFnYWluIGxhdGVyICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZWRfcGlkID0gQ0FDSEVEX1BJRF9VTlNFVDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdfcGlkOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNy1tdXNsLWF2b2lkLWZ1cnRoZXItY29uZmxpY3RzLWJ5LWluY2x1ZGluZy1uZXQtZXRoZXJuLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNy1tdXNsLWF2b2lkLWZ1cnRoZXItY29uZmxpY3RzLWJ5LWluY2x1ZGluZy1uZXQtZXRoZXJuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxMWEyZGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA3LW11c2wtYXZvaWQtZnVydGhlci1jb25mbGljdHMtYnktaW5jbHVkaW5nLW5ldC1ldGhlcm4ucGF0Y2gKQEAgLTAsMCArMSw3NSBAQAorRnJvbSA0MjMyYTM0MDY0ZTMzYjUyZjA3Y2NhNTFiOTAyYjkzNjk5ODAwZjcyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTYgQXByIDIwMTggMTQ6NDU6NDQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbXVzbDogYXZvaWQgZnVydGhlciBjb25mbGljdHMgYnkgaW5jbHVkaW5nIG5ldC9ldGhlcm5ldC5oCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorCistLS0KKyBzcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWNsaWVudC5oICB8IDIgKysKKyBzcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWxlYXNlLmggICB8IDIgKysKKyBzcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwNi1jbGllbnQuaCB8IDIgKysKKyBzcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1pcHY0bGwuaCAgICAgICB8IDIgKysKKyA0IGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1jbGllbnQuaCBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtY2xpZW50LmgKK2luZGV4IGJkMGQ0MjkuLmM5MzVmZTEgMTAwNjQ0CistLS0gYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWNsaWVudC5oCisrKysgYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWNsaWVudC5oCitAQCAtMjAsNyArMjAsOSBAQAorICoqKi8KKyAKKyAjaW5jbHVkZSA8aW50dHlwZXMuaD4KKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgorKyNlbmRpZgorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDxzdGRib29sLmg+CitkaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1sZWFzZS5oIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1sZWFzZS5oCitpbmRleCBkMjk5Yzc5Li45OTFlNjdlIDEwMDY0NAorLS0tIGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1sZWFzZS5oCisrKysgYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWxlYXNlLmgKK0BAIC0xOSw3ICsxOSw5IEBACisgKioqLworIAorICNpbmNsdWRlIDxpbnR0eXBlcy5oPgorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+CisrI2VuZGlmCisgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgCitkaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcDYtY2xpZW50LmggYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwNi1jbGllbnQuaAoraW5kZXggNDNkMzhmNS4uNTdhYjQ4NyAxMDA2NDQKKy0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3A2LWNsaWVudC5oCisrKysgYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwNi1jbGllbnQuaAorQEAgLTIwLDcgKzIwLDkgQEAKKyAqKiovCisgCisgI2luY2x1ZGUgPGludHR5cGVzLmg+CisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KKysjZW5kaWYKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgCisgI2luY2x1ZGUgInNkLWRoY3A2LWxlYXNlLmgiCitkaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtaXB2NGxsLmggYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1pcHY0bGwuaAoraW5kZXggNzFiZDRjZi4uMWM2NjdiYSAxMDA2NDQKKy0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWlwdjRsbC5oCisrKysgYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1pcHY0bGwuaAorQEAgLTE5LDcgKzE5LDkgQEAKKyAgIGFsb25nIHdpdGggc3lzdGVtZDsgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICoqKi8KKyAKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgorKyNlbmRpZgorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisgCisgI2luY2x1ZGUgInNkLWV2ZW50LmgiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA4LUFkZC1hLXN0cm5kdXBhLXJlcGxhY2VtZW50LWZvci1tdXNsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwOC1BZGQtYS1zdHJuZHVwYS1yZXBsYWNlbWVudC1mb3ItbXVzbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ODU4MTAxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwOC1BZGQtYS1zdHJuZHVwYS1yZXBsYWNlbWVudC1mb3ItbXVzbC5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIGNkZDY5MzIxZWM5N2VkMTllNjZhNzQ3YTk2OGExNjM3YTI1MWI5ZTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorRGF0ZTogTW9uLCAxNiBBcHIgMjAxOCAxNTowNzoyMCArMDIwMAorU3ViamVjdDogW1BBVENIXSBBZGQgYSBzdHJuZHVwYSByZXBsYWNlbWVudCBmb3IgbXVzbAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KKworLS0tCisgc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL2luLWFkZHItdXRpbC5jIHwgMSArCisgc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3N0cmluZy11dGlsLmggIHwgNSArKysrKworIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvaW4tYWRkci11dGlsLmMgYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvaW4tYWRkci11dGlsLmMKK2luZGV4IDVjZWQzNTAuLmM2YjUyYjggMTAwNjQ0CistLS0gYS9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvaW4tYWRkci11dGlsLmMKKysrKyBiL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9pbi1hZGRyLXV0aWwuYworQEAgLTEzLDYgKzEzLDcgQEAKKyAjaW5jbHVkZSAiaW4tYWRkci11dGlsLmgiCisgI2luY2x1ZGUgIm1hY3JvLmgiCisgI2luY2x1ZGUgInBhcnNlLXV0aWwuaCIKKysjaW5jbHVkZSAic3RyaW5nLXV0aWwuaCIKKyAjaW5jbHVkZSAidXRpbC5oIgorIAorIGJvb2wgaW40X2FkZHJfaXNfbnVsbChjb25zdCBzdHJ1Y3QgaW5fYWRkciAqYSkgeworZGlmZiAtLWdpdCBhL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9zdHJpbmctdXRpbC5oIGIvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3N0cmluZy11dGlsLmgKK2luZGV4IDM4MDcwYWIuLjZiOTE4ZTAgMTAwNjQ0CistLS0gYS9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc3RyaW5nLXV0aWwuaAorKysrIGIvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3N0cmluZy11dGlsLmgKK0BAIC0yNyw2ICsyNywxMSBAQAorICNkZWZpbmUgc3RyY2FzZWVxKGEsYikgKHN0cmNhc2VjbXAoKGEpLChiKSkgPT0gMCkKKyAjZGVmaW5lIHN0cm5jYXNlZXEoYSwgYiwgbikgKHN0cm5jYXNlY21wKChhKSwgKGIpLCAobikpID09IDApCisgCisrLyogbXVzbCBkb2VzIG5vdCBrbm93IHN0cm5kdXBhICovCisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKysjZGVmaW5lIHN0cm5kdXBhKHgscykgc3RybmNweShhbGxvY2Eoc3RybGVuKHgpKzEpLHgscykKKysjZW5kaWYKKysKKyBpbnQgc3RyY21wX3B0cihjb25zdCBjaGFyICphLCBjb25zdCBjaGFyICpiKSBfcHVyZV87CisgCisgc3RhdGljIGlubGluZSBib29sIHN0cmVxX3B0cihjb25zdCBjaGFyICphLCBjb25zdCBjaGFyICpiKSB7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXJfMS4xNC40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyXzEuMTQuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjIxNjAwZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXJfMS4xNC40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTQ0ICswLDAgQEAKLVNVTU1BUlkgPSAiTmV0d29ya01hbmFnZXIiCi1IT01FUEFHRSA9ICJodHRwczovL3dpa2kuZ25vbWUub3JnL1Byb2plY3RzL05ldHdvcmtNYW5hZ2VyIgotU0VDVElPTiA9ICJuZXQvbWlzYyIKLQotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jYmJmZmQ1NjgyMjdhZGE1MDY2NDBmZTk1MGE0ODIzYiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJubS11dGlsL0NPUFlJTkc7bWQ1PTFjNGZhNzY1ZDZlYjNjZDJmYmQ4NDM0NGExYjgxNmNkIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RvY3MvYXBpL2h0bWwvbGljZW5zZS5odG1sO21kNT0yZDU2YTFiMGM0MmUzODhhYTg2YWVmNTliMTU0ZThjMyBcCi0iCi0KLURFUEVORFMgPSAiIFwKLSAgICBpbnRsdG9vbC1uYXRpdmUgXAotICAgIGxpYnhzbHQtbmF0aXZlIFwKLSAgICBsaWJubCBcCi0gICAgbGliZ3VkZXYgXAotICAgIHV0aWwtbGludXggXAotICAgIGxpYm5kcCBcCi0gICAgbGlibmV3dCBcCi0gICAgcG9sa2l0IFwKLSAgICBqYW5zc29uIFwKLSAgICBjdXJsIFwKLSIKLQotaW5oZXJpdCBnbm9tZWJhc2UgZ2V0dGV4dCBzeXN0ZW1kIGJsdWV0b290aCBiYXNoLWNvbXBsZXRpb24gdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ3RrLWRvYwotCi1TUkNfVVJJID0gIiBcCi0gICAgJHtHTk9NRV9NSVJST1J9L05ldHdvcmtNYW5hZ2VyLyR7QGdub21lX3ZlcmRpcigiJHtQVn0iKX0vTmV0d29ya01hbmFnZXItJHtQVn0udGFyLnh6IFwKLSAgICBmaWxlOi8vMDAwMS1zZC1sbGRwLmgtUmVtb3ZlLW5ldC1ldGhlcm5ldC5oLXNlZW1zLXRvLWJlLW92ZXItc3BlLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMi1GaXhlZC1jb25maWd1cmUuYWMtRml4LXBrZ2NvbmZpZy1zeXNyb290LWxvY2F0aW9ucy5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDMtRG8tbm90LWNyZWF0ZS1zZXR0aW5ncy1zZXR0aW5ncy1wcm9wZXJ0eS1kb2N1bWVudGF0aS5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDEtRG8tbm90LWluY2x1ZGUtbmV0LWV0aGVybmV0LmgtYW5kLWxpbnV4LWlmX2V0aGVyLmgucGF0Y2ggXAotICAgIGZpbGU6Ly9tdXNsLzAwMDEtbXVzbC1iYXNpYy5wYXRjaCBcCi0gICAgZmlsZTovL211c2wvMDAwMi1tdXNsLWRsb3Blbi1jb25maWd1cmUtYWMucGF0Y2ggXAotICAgIGZpbGU6Ly9tdXNsLzAwMDMtbXVzbC1uZXR3b3JrLXN1cHBvcnQucGF0Y2ggXAotICAgIGZpbGU6Ly9tdXNsLzAwMDQtbXVzbC1wcm9jZXNzLXV0aWwucGF0Y2ggXAotICAgIGZpbGU6Ly9tdXNsLzAwMDUtbXVzbC1hdm9pZC1mdXJ0aGVyLWNvbmZsaWN0cy1ieS1pbmNsdWRpbmctbmV0LWV0aGVybi5wYXRjaCBcCi0gICAgZmlsZTovL211c2wvMDAwNi1BZGQtYS1zdHJuZHVwYS1yZXBsYWNlbWVudC1mb3ItbXVzbC5wYXRjaCBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiNTRjZTYyZjBhYTE4ZWY2YzVlNzU0ZWFhYzQ3NDk0YWMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzVhM2VkZTRjN2QxMmQ2MjEyMDMzYzllNDRjYjgyYjc2OTJmMzgwNjNiNTNhMDY3NTY3ZjAyZjU5MzdjOGMxOCIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7R05PTUVfTUlSUk9SfS9OZXR3b3JrTWFuYWdlci8xLjEwLyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIk5ldHdvcmtNYW5hZ2VyXC0oP1A8cHZlcj4xXC4xMChcLlxkKykrKS50YXIueHoiCi0KLVMgPSAiJHtXT1JLRElSfS9OZXR3b3JrTWFuYWdlci0ke1BWfSIKLQotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS1kaXNhYmxlLWlmY2ZnLXJoIFwKLSAgICAtLWRpc2FibGUtbW9yZS13YXJuaW5ncyBcCi0gICAgLS13aXRoLWlwdGFibGVzPSR7c2JpbmRpcn0vaXB0YWJsZXMgXAotICAgIC0td2l0aC10ZXN0cyBcCi0gICAgLS13aXRoLW5tdHVpPXllcyBcCi0gICAgLS13aXRoLXVkZXYtZGlyPSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldiBcCi0iCi0KLSMgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHJlbGF0ZWQKLUdJX0RBVEFfRU5BQkxFRF9saWJjLW11c2wgPSAiRmFsc2UiCi0KLSMgc3RvbGVuIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWRsaW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL3NyY3BrZ3MvTmV0d29ya01hbmFnZXIvdGVtcGxhdGUKLUNGTEFHU19saWJjLW11c2xfYXBwZW5kID0gIiBcCi0gICAgLURIQVZFX1NFQ1VSRV9HRVRFTlYgLURzZWN1cmVfZ2V0ZW52PWdldGVudiBcCi0gICAgLURfX1VTRV9QT1NJWDE5OTMwOSAtRFJUTERfREVFUEJJTkQ9MCBcCi0iCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLSAgICBleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0iJHtCfS9saWJubS8ubGliczoke0J9L2xpYm5tLWdsaWIvLmxpYnM6JHtCfS9saWJubS11dGlsLy5saWJzIgotfQotCi1QQUNLQUdFQ09ORklHID8/PSAibnNzIGlmdXBkb3duIGRoY2xpZW50IGRuc21hc3EgXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAnY29uc29sZWtpdCcsICcnLCBkKSwgZCl9IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV0b290aCcsICcke0JMVUVafScsICcnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3dpZmknLCBkKX0gXAotIgotUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICIgXAotICAgIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtIC0td2l0aC1zZXNzaW9uLXRyYWNraW5nPXN5c3RlbWQgLS1lbmFibGUtcG9sa2l0LCBcCi0gICAgLS13aXRob3V0LXN5c3RlbWRzeXN0ZW11bml0ZGlyLCBcCi0gICAgcG9sa2l0IFwKLSIKLVBBQ0tBR0VDT05GSUdbYmx1ZXo1XSA9ICItLWVuYWJsZS1ibHVlejUtZHVuLC0tZGlzYWJsZS1ibHVlejUtZHVuLGJsdWV6NSIKLSMgY29uc29sZWtpdCBpcyBub3QgcGlja2VkIGJ5IHNobGlicywgc28gYWRkIGl0IHRvIFJERVBFTkRTIHRvbwotUEFDS0FHRUNPTkZJR1tjb25zb2xla2l0XSA9ICItLXdpdGgtc2Vzc2lvbi10cmFja2luZz1jb25zb2xla2l0LCxjb25zb2xla2l0LGNvbnNvbGVraXQiCi1QQUNLQUdFQ09ORklHW21vZGVtbWFuYWdlcl0gPSAiLS13aXRoLW1vZGVtLW1hbmFnZXItMT15ZXMsLS13aXRoLW1vZGVtLW1hbmFnZXItMT1ubyxtb2RlbW1hbmFnZXIiCi1QQUNLQUdFQ09ORklHW3BwcF0gPSAiLS1lbmFibGUtcHBwLC0tZGlzYWJsZS1wcHAscHBwLHBwcCIKLSMgVXNlIGZ1bGwgZmVhdHVyZWQgZGhjcCBjbGllbnQgaW5zdGVhZCBvZiBpbnRlcm5hbCBvbmUKLVBBQ0tBR0VDT05GSUdbZGhjbGllbnRdID0gIi0td2l0aC1kaGNsaWVudD0ke2Jhc2Vfc2JpbmRpcn0vZGhjbGllbnQsLCxkaGNwLWNsaWVudCIKLVBBQ0tBR0VDT05GSUdbZG5zbWFzcV0gPSAiLS13aXRoLWRuc21hc3E9JHtiaW5kaXJ9L2Ruc21hc3EiCi1QQUNLQUdFQ09ORklHW25zc10gPSAiLS13aXRoLWNyeXB0bz1uc3MsLG5zcyIKLVBBQ0tBR0VDT05GSUdbZ2xpYl0gPSAiLS13aXRoLWxpYm5tLWdsaWIsLGRidXMtZ2xpYi1uYXRpdmUgZGJ1cy1nbGliIgotUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0td2l0aC1jcnlwdG89Z251dGxzLCxnbnV0bHMiCi1QQUNLQUdFQ09ORklHW3dpZmldID0gIi0tZW5hYmxlLXdpZmk9eWVzLC0tZW5hYmxlLXdpZmk9bm8sLHdwYS1zdXBwbGljYW50IgotUEFDS0FHRUNPTkZJR1tpZnVwZG93bl0gPSAiLS1lbmFibGUtaWZ1cGRvd24sLS1kaXNhYmxlLWlmdXBkb3duIgotUEFDS0FHRUNPTkZJR1txdDQteDExLWZyZWVdID0gIi0tZW5hYmxlLXF0LC0tZGlzYWJsZS1xdCxxdDQteDExLWZyZWUiCi0KLVBBQ0tBR0VTID0rICJsaWJubXV0aWwgbGlibm1nbGliIGxpYm5tZ2xpYi12cG4gXAotICAke1BOfS1ubXR1aSAke1BOfS1ubXR1aS1kb2MgXAotICAke1BOfS1hZHNsIFwKLSIKLQotRklMRVNfbGlibm11dGlsICs9ICIke2xpYmRpcn0vbGlibm0tdXRpbC5zby4qIgotRklMRVNfbGlibm1nbGliICs9ICIke2xpYmRpcn0vbGlibm0tZ2xpYi5zby4qIgotRklMRVNfbGlibm1nbGliLXZwbiArPSAiJHtsaWJkaXJ9L2xpYm5tLWdsaWItdnBuLnNvLioiCi0KLUZJTEVTXyR7UE59LWFkc2wgPSAiJHtsaWJkaXJ9L05ldHdvcmtNYW5hZ2VyL2xpYm5tLWRldmljZS1wbHVnaW4tYWRzbC5zbyIKLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtsaWJleGVjZGlyfSBcCi0gICAgJHtsaWJkaXJ9L05ldHdvcmtNYW5hZ2VyLyR7UFZ9Lyouc28gXAotICAgICR7bm9uYXJjaF9saWJkaXJ9L05ldHdvcmtNYW5hZ2VyL1ZQTiBcCi0gICAgJHtub25hcmNoX2xpYmRpcn0vTmV0d29ya01hbmFnZXIvY29uZi5kIFwKLSAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKLSAgICAke2RhdGFkaXJ9L2RidXMtMSBcCi0gICAgJHtub2FyY2hfYmFzZV9saWJkaXJ9L3VkZXYvKiBcCi0gICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbSBcCi0gICAgJHtsaWJkaXJ9L3BwcGQgXAotIgotCi1SUkVDT01NRU5EU18ke1BOfSArPSAiaXB0YWJsZXMgXAotICAgICR7QGJiLnV0aWxzLmZpbHRlcignUEFDS0FHRUNPTkZJRycsICdkbnNtYXNxJywgZCl9IFwKLSIKLVJDT05GTElDVFNfJHtQTn0gPSAiY29ubm1hbiIKLQotRklMRVNfJHtQTn0tZGV2ICs9ICIgXAotICAgICR7ZGF0YWRpcn0vTmV0d29ya01hbmFnZXIvZ2RiLWNtZCBcCi0gICAgJHtsaWJkaXJ9L3BwcGQvKi8qLmxhIFwKLSAgICAke2xpYmRpcn0vTmV0d29ya01hbmFnZXIvKi5sYSBcCi0gICAgJHtsaWJkaXJ9L05ldHdvcmtNYW5hZ2VyLyR7UFZ9LyoubGEgXAotIgotCi1GSUxFU18ke1BOfS1ubXR1aSA9ICIgXAotICAgICR7YmluZGlyfS9ubXR1aSBcCi0gICAgJHtiaW5kaXJ9L25tdHVpLWVkaXQgXAotICAgICR7YmluZGlyfS9ubXR1aS1jb25uZWN0IFwKLSAgICAke2JpbmRpcn0vbm10dWktaG9zdG5hbWUgXAotIgotCi1GSUxFU18ke1BOfS1ubXR1aS1kb2MgPSAiIFwKLSAgICAke21hbmRpcn0vbWFuMS9ubXR1aSogXAotIgotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiTmV0d29ya01hbmFnZXIuc2VydmljZSBOZXR3b3JrTWFuYWdlci1kaXNwYXRjaGVyLnNlcnZpY2UiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIHJtIC1yZiAke0R9L3J1biAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlcl8xLjE2LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXJfMS4xNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkZjYwZWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXJfMS4xNi4wLmJiCkBAIC0wLDAgKzEsMTQzIEBACitTVU1NQVJZID0gIk5ldHdvcmtNYW5hZ2VyIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLmdub21lLm9yZy9Qcm9qZWN0cy9OZXR3b3JrTWFuYWdlciIKK1NFQ1RJT04gPSAibmV0L21pc2MiCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9Y2JiZmZkNTY4MjI3YWRhNTA2NjQwZmU5NTBhNDgyM2IgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGlibm0tdXRpbC9DT1BZSU5HO21kNT0xYzRmYTc2NWQ2ZWIzY2QyZmJkODQzNDRhMWI4MTZjZCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2NzL2FwaS9odG1sL2xpY2Vuc2UuaHRtbDttZDU9MjMzOTMxMzAzZWY4MGVkZWQxNjdhZGQxZjYwYTUwYzEgXAorIgorCitERVBFTkRTID0gIiBcCisgICAgaW50bHRvb2wtbmF0aXZlIFwKKyAgICBsaWJ4c2x0LW5hdGl2ZSBcCisgICAgbGlibmwgXAorICAgIGxpYmd1ZGV2IFwKKyAgICB1dGlsLWxpbnV4IFwKKyAgICBsaWJuZHAgXAorICAgIGxpYm5ld3QgXAorICAgIGphbnNzb24gXAorICAgIGN1cmwgXAorIgorCitpbmhlcml0IGdub21lYmFzZSBnZXR0ZXh0IHN5c3RlbWQgYmx1ZXRvb3RoIGJhc2gtY29tcGxldGlvbiB2YWxhIGdvYmplY3QtaW50cm9zcGVjdGlvbiBndGstZG9jCisKK1NSQ19VUkkgPSAiIFwKKyAgICAke0dOT01FX01JUlJPUn0vTmV0d29ya01hbmFnZXIvJHtAZ25vbWVfdmVyZGlyKCIke1BWfSIpfS9OZXR3b3JrTWFuYWdlci0ke1BWfS50YXIueHogXAorICAgIGZpbGU6Ly8wMDAxLUZpeGVkLWNvbmZpZ3VyZS5hYy1GaXgtcGtnY29uZmlnLXN5c3Jvb3QtbG9jYXRpb25zLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1Eby1ub3QtY3JlYXRlLXNldHRpbmdzLXNldHRpbmdzLXByb3BlcnR5LWRvY3VtZW50YXRpLnBhdGNoIFwKKyAgICBmaWxlOi8vbXVzbC8wMDAxLURvLW5vdC1pbmNsdWRlLW5ldC1ldGhlcm5ldC5oLWFuZC1saW51eC1pZl9ldGhlci5oLnBhdGNoIFwKKyAgICBmaWxlOi8vbXVzbC8wMDAyLXNkLWxsZHAuaC1SZW1vdmUtbmV0LWV0aGVybmV0Lmgtc2VlbXMtdG8tYmUtb3Zlci1zcGUucGF0Y2ggXAorICAgIGZpbGU6Ly9tdXNsLzAwMDMtbXVzbC1iYXNpYy5wYXRjaCBcCisgICAgZmlsZTovL211c2wvMDAwNC1tdXNsLWRsb3Blbi1jb25maWd1cmUtYWMucGF0Y2ggXAorICAgIGZpbGU6Ly9tdXNsLzAwMDUtbXVzbC1uZXR3b3JrLXN1cHBvcnQucGF0Y2ggXAorICAgIGZpbGU6Ly9tdXNsLzAwMDYtbXVzbC1wcm9jZXNzLXV0aWwucGF0Y2ggXAorICAgIGZpbGU6Ly9tdXNsLzAwMDctbXVzbC1hdm9pZC1mdXJ0aGVyLWNvbmZsaWN0cy1ieS1pbmNsdWRpbmctbmV0LWV0aGVybi5wYXRjaCBcCisgICAgZmlsZTovL211c2wvMDAwOC1BZGQtYS1zdHJuZHVwYS1yZXBsYWNlbWVudC1mb3ItbXVzbC5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMTBhYmFjYWFmYjE2MmE2N2QyOTQyYWRmMDNlN2U5ZTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGU5NjI4MzNiNmNhMDNlZGRhMWJjNTdlZDY2MTRhN2I4YzIzMzk1MzFiNDRhY2VmMDk4ZDA1ZjIzMjRjNWQyYyIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7R05PTUVfTUlSUk9SfS9OZXR3b3JrTWFuYWdlci8xLjEwLyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIk5ldHdvcmtNYW5hZ2VyXC0oP1A8cHZlcj4xXC4xMChcLlxkKykrKS50YXIueHoiCisKK1MgPSAiJHtXT1JLRElSfS9OZXR3b3JrTWFuYWdlci0ke1BWfSIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1kaXNhYmxlLWlmY2ZnLXJoIFwKKyAgICAtLWRpc2FibGUtbW9yZS13YXJuaW5ncyBcCisgICAgLS13aXRoLWlwdGFibGVzPSR7c2JpbmRpcn0vaXB0YWJsZXMgXAorICAgIC0td2l0aC10ZXN0cyBcCisgICAgLS13aXRoLW5tdHVpPXllcyBcCisgICAgLS13aXRoLXVkZXYtZGlyPSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldiBcCisiCisKKyMgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHJlbGF0ZWQKK0dJX0RBVEFfRU5BQkxFRF9saWJjLW11c2wgPSAiRmFsc2UiCisKKyMgc3RvbGVuIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWRsaW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL3NyY3BrZ3MvTmV0d29ya01hbmFnZXIvdGVtcGxhdGUKK0NGTEFHU19saWJjLW11c2xfYXBwZW5kID0gIiBcCisgICAgLURIQVZFX1NFQ1VSRV9HRVRFTlYgLURzZWN1cmVfZ2V0ZW52PWdldGVudiBcCisgICAgLURfX1VTRV9QT1NJWDE5OTMwOSAtRFJUTERfREVFUEJJTkQ9MCBcCisiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0iJHtCfS9saWJubS8ubGliczoke0J9L2xpYm5tLWdsaWIvLmxpYnM6JHtCfS9saWJubS11dGlsLy5saWJzIgorfQorCitQQUNLQUdFQ09ORklHID8/PSAibnNzIGlmdXBkb3duIGRoY2xpZW50IGRuc21hc3EgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAnY29uc29sZWtpdCcsICcnLCBkKSwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV0b290aCcsICcke0JMVUVafScsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3dpZmkgcG9sa2l0JywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiIFwKKyAgICAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbSAtLXdpdGgtc2Vzc2lvbi10cmFja2luZz1zeXN0ZW1kLCBcCisgICAgLS13aXRob3V0LXN5c3RlbWRzeXN0ZW11bml0ZGlyLCBcCisiCitQQUNLQUdFQ09ORklHW3BvbGtpdF0gPSAiLS1lbmFibGUtcG9sa2l0IC0tZW5hYmxlLXBvbGtpdC1hZ2VudCwtLWRpc2FibGUtcG9sa2l0IC0tZGlzYWJsZS1wb2xraXQtYWdlbnQscG9sa2l0IgorUEFDS0FHRUNPTkZJR1tibHVlejVdID0gIi0tZW5hYmxlLWJsdWV6NS1kdW4sLS1kaXNhYmxlLWJsdWV6NS1kdW4sYmx1ZXo1IgorIyBjb25zb2xla2l0IGlzIG5vdCBwaWNrZWQgYnkgc2hsaWJzLCBzbyBhZGQgaXQgdG8gUkRFUEVORFMgdG9vCitQQUNLQUdFQ09ORklHW2NvbnNvbGVraXRdID0gIi0td2l0aC1zZXNzaW9uLXRyYWNraW5nPWNvbnNvbGVraXQsLGNvbnNvbGVraXQsY29uc29sZWtpdCIKK1BBQ0tBR0VDT05GSUdbbW9kZW1tYW5hZ2VyXSA9ICItLXdpdGgtbW9kZW0tbWFuYWdlci0xPXllcywtLXdpdGgtbW9kZW0tbWFuYWdlci0xPW5vLG1vZGVtbWFuYWdlciIKK1BBQ0tBR0VDT05GSUdbcHBwXSA9ICItLWVuYWJsZS1wcHAsLS1kaXNhYmxlLXBwcCxwcHAscHBwIgorIyBVc2UgZnVsbCBmZWF0dXJlZCBkaGNwIGNsaWVudCBpbnN0ZWFkIG9mIGludGVybmFsIG9uZQorUEFDS0FHRUNPTkZJR1tkaGNsaWVudF0gPSAiLS13aXRoLWRoY2xpZW50PSR7YmFzZV9zYmluZGlyfS9kaGNsaWVudCwsLGRoY3AtY2xpZW50IgorUEFDS0FHRUNPTkZJR1tkbnNtYXNxXSA9ICItLXdpdGgtZG5zbWFzcT0ke2JpbmRpcn0vZG5zbWFzcSIKK1BBQ0tBR0VDT05GSUdbbnNzXSA9ICItLXdpdGgtY3J5cHRvPW5zcywsbnNzIgorUEFDS0FHRUNPTkZJR1tnbGliXSA9ICItLXdpdGgtbGlibm0tZ2xpYiwsZGJ1cy1nbGliLW5hdGl2ZSBkYnVzLWdsaWIiCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLWNyeXB0bz1nbnV0bHMsLGdudXRscyIKK1BBQ0tBR0VDT05GSUdbd2lmaV0gPSAiLS1lbmFibGUtd2lmaT15ZXMsLS1lbmFibGUtd2lmaT1ubywsd3BhLXN1cHBsaWNhbnQiCitQQUNLQUdFQ09ORklHW2lmdXBkb3duXSA9ICItLWVuYWJsZS1pZnVwZG93biwtLWRpc2FibGUtaWZ1cGRvd24iCitQQUNLQUdFQ09ORklHW3F0NC14MTEtZnJlZV0gPSAiLS1lbmFibGUtcXQsLS1kaXNhYmxlLXF0LHF0NC14MTEtZnJlZSIKKworUEFDS0FHRVMgPSsgImxpYm5tdXRpbCBsaWJubWdsaWIgbGlibm1nbGliLXZwbiBcCisgICR7UE59LW5tdHVpICR7UE59LW5tdHVpLWRvYyBcCisgICR7UE59LWFkc2wgXAorIgorCitGSUxFU19saWJubXV0aWwgKz0gIiR7bGliZGlyfS9saWJubS11dGlsLnNvLioiCitGSUxFU19saWJubWdsaWIgKz0gIiR7bGliZGlyfS9saWJubS1nbGliLnNvLioiCitGSUxFU19saWJubWdsaWItdnBuICs9ICIke2xpYmRpcn0vbGlibm0tZ2xpYi12cG4uc28uKiIKKworRklMRVNfJHtQTn0tYWRzbCA9ICIke2xpYmRpcn0vTmV0d29ya01hbmFnZXIvbGlibm0tZGV2aWNlLXBsdWdpbi1hZHNsLnNvIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2xpYmV4ZWNkaXJ9IFwKKyAgICAke2xpYmRpcn0vTmV0d29ya01hbmFnZXIvJHtQVn0vKi5zbyBcCisgICAgJHtub25hcmNoX2xpYmRpcn0vTmV0d29ya01hbmFnZXIvVlBOIFwKKyAgICAke25vbmFyY2hfbGliZGlyfS9OZXR3b3JrTWFuYWdlci9jb25mLmQgXAorICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAke25vYXJjaF9iYXNlX2xpYmRpcn0vdWRldi8qIFwKKyAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtIFwKKyAgICAke2xpYmRpcn0vcHBwZCBcCisiCisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJpcHRhYmxlcyBcCisgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdQQUNLQUdFQ09ORklHJywgJ2Ruc21hc3EnLCBkKX0gXAorIgorUkNPTkZMSUNUU18ke1BOfSA9ICJjb25ubWFuIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiBcCisgICAgJHtkYXRhZGlyfS9OZXR3b3JrTWFuYWdlci9nZGItY21kIFwKKyAgICAke2xpYmRpcn0vcHBwZC8qLyoubGEgXAorICAgICR7bGliZGlyfS9OZXR3b3JrTWFuYWdlci8qLmxhIFwKKyAgICAke2xpYmRpcn0vTmV0d29ya01hbmFnZXIvJHtQVn0vKi5sYSBcCisiCisKK0ZJTEVTXyR7UE59LW5tdHVpID0gIiBcCisgICAgJHtiaW5kaXJ9L25tdHVpIFwKKyAgICAke2JpbmRpcn0vbm10dWktZWRpdCBcCisgICAgJHtiaW5kaXJ9L25tdHVpLWNvbm5lY3QgXAorICAgICR7YmluZGlyfS9ubXR1aS1ob3N0bmFtZSBcCisiCisKK0ZJTEVTXyR7UE59LW5tdHVpLWRvYyA9ICIgXAorICAgICR7bWFuZGlyfS9tYW4xL25tdHVpKiBcCisiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdzeXN0ZW1kJywgJ05ldHdvcmtNYW5hZ2VyLnNlcnZpY2UgTmV0d29ya01hbmFnZXItZGlzcGF0Y2hlci5zZXJ2aWNlJywgJycsIGQpfSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm0gLXJmICR7RH0vcnVuICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5jb25uZWN0L29wZW5jb25uZWN0X2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuY29ubmVjdC9vcGVuY29ubmVjdF9naXQuYmIKaW5kZXggYzk0NDE0NC4uMDUwYTI4MyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5jb25uZWN0L29wZW5jb25uZWN0X2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbmNvbm5lY3Qvb3BlbmNvbm5lY3RfZ2l0LmJiCkBAIC0yLDcgKzIsMTEgQEAKIExJQ0VOU0UgPSAiTEdQTHYyLjEiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxHUEw7bWQ1PTI0M2I3MjVkNzFiYjVkZjRhMWU1OTIwYjM0NGI4NmFkIgogCitTUkNfVVJJID0gImdpdDovL2dpdC5pbmZyYWRlYWQub3JnL3VzZXJzL2R3bXcyL29wZW5jb25uZWN0LmdpdCIKK1NSQ1JFViA9ICI2NDg3ZWU4NzYzZTFiNjM0NTcxODY4NDkwOWFjYTk3MGJlZmJjNDlkIgorCiBERVBFTkRTID0gInZwbmMgbGlieG1sMiBrcmI1IGdldHRleHQtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAiYmFzaCBweXRob24iCiAKIFBBQ0tBR0VDT05GSUcgPz89ICJnbnV0bHMgbHo0IGxpYnByb3h5IgogCkBAIC0xNCwxMCArMTgsNyBAQAogIyBub3QgY29uZmlnIGRlZmF1bHRzCiBQQUNLQUdFQ09ORklHW3Bjc2MtbGl0ZV0gPSAiLS13aXRoLWxpYnBjc2NsaXRlLC0td2l0aG91dC1saWJwY3NjbGl0ZSxwY3NjLWxpdGUsIgogCi1QViA9ICI3LjA4IgotCi1TUkNSRVYgPSAiOTY5N2JlYTBlNTA5NTJjYWI1NzA2MzIzOGI0M2E3MDk5ZTQ5OGNiYiIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmluZnJhZGVhZC5vcmcvdXNlcnMvZHdtdzIvb3BlbmNvbm5lY3QuZ2l0IgorUFYgPSAiOC4wMiIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIApAQCAtMjUsMyArMjYsOCBAQAogCiBFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC12cG5jLXNjcmlwdD0ke1NZU1JPT1RfREVTVERJUn0ke3N5c2NvbmZkaXJ9L3ZwbmMvdnBuYy1zY3JpcHQgXAogICAgICAgICAgICAgICAgICAtLWRpc2FibGUtc3RhdGljIgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgICMgc2NyaXB0IGhhcyAvdXNyL2Jpbi9weXRob24yIHBhdGggaGFyZGNvZGVkCisgICAgc2VkIC1pIC1lICdzPXB5dGhvbjJcLio9cHl0aG9uPWcnICR7U30vdHJvamFucy90bmNjLXdyYXBwZXIucHkKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tbmV0d29ya21hbmFnZXIvcHl0aG9uLW5ldHdvcmttYW5hZ2VyXzIuMC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1uZXR3b3JrbWFuYWdlci9weXRob24tbmV0d29ya21hbmFnZXJfMi4wLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRlNDFhYTUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1uZXR3b3JrbWFuYWdlci9weXRob24tbmV0d29ya21hbmFnZXJfMi4wLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1TVU1NQVJZID0gIkVhc3kgY29tbXVuaWNhdGlvbiB3aXRoIE5ldHdvcmtNYW5hZ2VyIGZyb20gUHl0aG9uIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3NldmVhcy9weXRob24tbmV0d29ya21hbmFnZXIiCi1MSUNFTlNFID0gIlpsaWIiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThkOGJhYzE3NGJmODQyMmIxNTEyMDBlNmNjNzhlYmU0IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNWZjNjQ0YTY1NDYzMDMxMjk1YzZiN2RkNTFhMGYxYmQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmMzNjUwNzUwNmFkMjliZmRhYzk0MWIwOTg3ZWJkMWNjOTYzM2M5YTkyOTFkNzM3OGUyMjllNDUxNWEwYTUxNyIKLQotUFlQSV9QQUNLQUdFID0gInB5dGhvbi1uZXR3b3JrbWFuYWdlciIKLWluaGVyaXQgcHlwaSBzZXR1cHRvb2xzCi0KLVJERVBFTkRTXyR7UE59ID0gIm5ldHdvcmttYW5hZ2VyIHB5dGhvbi1kYnVzIHB5dGhvbi1zaXgiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW5ldHdvcmttYW5hZ2VyL3B5dGhvbi1uZXR3b3JrbWFuYWdlcl8yLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW5ldHdvcmttYW5hZ2VyL3B5dGhvbi1uZXR3b3JrbWFuYWdlcl8yLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2FhNDFmMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tbmV0d29ya21hbmFnZXIvcHl0aG9uLW5ldHdvcmttYW5hZ2VyXzIuMS5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIkVhc3kgY29tbXVuaWNhdGlvbiB3aXRoIE5ldHdvcmtNYW5hZ2VyIGZyb20gUHl0aG9uIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3NldmVhcy9weXRob24tbmV0d29ya21hbmFnZXIiCitMSUNFTlNFID0gIlpsaWIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThkOGJhYzE3NGJmODQyMmIxNTEyMDBlNmNjNzhlYmU0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjYzOGQ4NTRhMzYzOWZiMzdjMGUwNmQxMDkyYTc3MWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWVmMWUzNGQ5OGQ3YmVjN2NjMzY4ZTBjYTBmMmU5NzQ5M2Y5YjVlYmU2ZDcxMDNmOGY2NDYwY2ZjYTNkYzZmYyIKKworUFlQSV9QQUNLQUdFID0gInB5dGhvbi1uZXR3b3JrbWFuYWdlciIKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ID0gIm5ldHdvcmttYW5hZ2VyIHB5dGhvbi1kYnVzIHB5dGhvbi1zaXgiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmFfNC44LjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmFfNC44LjQuYmIKaW5kZXggZjFhYWViOC4uZTg2ZWQ5NiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NhbWJhL3NhbWJhXzQuOC40LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYV80LjguNC5iYgpAQCAtMTkzLDE1ICsxOTMsMTUgQEAKIAogcHl0aG9uIHNhbWJhX3BvcHVsYXRlX3BhY2thZ2VzKCkgewogICAgIGRlZiBtb2R1bGVfaG9vayhmaWxlLCBwa2csIHBhdHRlcm4sIGZvcm1hdCwgYmFzZW5hbWUpOgotICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicsIFRydWUpCisgICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKICAgICAgICAgZC5hcHBlbmRWYXIoJ1JSRUNPTU1FTkRTXyVzLWJhc2UnICUgcG4sICcgJXMnICUgcGtnKQogCi0gICAgbWxwcmVmaXggPSBkLmdldFZhcignTUxQUkVGSVgnLCBUcnVlKSBvciAnJworICAgIG1scHJlZml4ID0gZC5nZXRWYXIoJ01MUFJFRklYJykgb3IgJycKICAgICBwYW1fbGliZGlyID0gZC5leHBhbmQoJyR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5JykKICAgICBwYW1fcGtnbmFtZSA9IG1scHJlZml4ICsgJ3BhbS1wbHVnaW4lcycKICAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwYW1fbGliZGlyLCAnXnBhbV8oLiopXC5zbyQnLCBwYW1fcGtnbmFtZSwgJ1BBTSBwbHVnaW4gZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJywgcHJlcGVuZD1UcnVlKQogCi0gICAgbGliZGlyID0gZC5nZXRWYXIoJ2xpYmRpcicsIFRydWUpCisgICAgbGliZGlyID0gZC5nZXRWYXIoJ2xpYmRpcicpCiAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCAnXmxpYiguKilcLnNvXC4uKiQnLCAnbGliJXMnLCAnU2FtYmEgJXMgbGlicmFyeScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LWNvbW1vbicsIHByZXBlbmQ9VHJ1ZSwgYWxsb3dfbGlua3M9VHJ1ZSkKICAgICBwa2dsaWJkaXIgPSAnJXMvc2FtYmEnICUgbGliZGlyCiAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGtnbGliZGlyLCAnXmxpYiguKilcLnNvJCcsICdsaWIlcycsICdTYW1iYSAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tY29tbW9uJywgcHJlcGVuZD1UcnVlKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0XzIuOS4xMS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0XzIuOS4xMS4xLmJiCmluZGV4IGE5OTEzOGQuLmMyZWI5NWYgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbm9ydC9zbm9ydF8yLjkuMTEuMS5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnRfMi45LjExLjEuYmIKQEAgLTcyLDcgKzcyLDcgQEAKICAgICBta2RpciAtcCAke0R9JHtsb2NhbHN0YXRlZGlyfS9sb2cvc25vcnQKICAgICBpbnN0YWxsIC1kICR7RH0vdmFyL2xvZy9zbm9ydAogCi0gICAgc2VkIC1pICdzLy1mZGVidWctcHJlZml4LW1hcFteIF0qLy9nOyBzIyR7U1RBR0lOR19ESVJfVEFSR0VUfSMjZycgJHtEfSR7bGliZGlyfS9wa2djb25maWcvKi5wYworICAgIHNlZCAtaSAtZSAnc3wtZmRlYnVnLXByZWZpeC1tYXBbXiBdKnx8Zzsgc3wtZm1hY3JvLXByZWZpeC1tYXBbXiBdKnx8Zzsgc3wke1NUQUdJTkdfRElSX1RBUkdFVH18fGcnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnLyoucGMKIH0KIAogRklMRVNfJHtQTn0gKz0gIiBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lyZWxlc3MtcmVnZGIvd2lyZWxlc3MtcmVnZGJfMjAxOC4xMC4yNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aXJlbGVzcy1yZWdkYi93aXJlbGVzcy1yZWdkYl8yMDE4LjEwLjI0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMWFhOWE1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aXJlbGVzcy1yZWdkYi93aXJlbGVzcy1yZWdkYl8yMDE4LjEwLjI0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotU1VNTUFSWSA9ICJXaXJlbGVzcyBDZW50cmFsIFJlZ3VsYXRvcnkgRG9tYWluIERhdGFiYXNlIgotSE9NRVBBR0UgPSAiaHR0cDovL3dpcmVsZXNzLmtlcm5lbC5vcmcvZW4vZGV2ZWxvcGVycy9SZWd1bGF0b3J5L0NSREEiCi1TRUNUSU9OID0gIm5ldCIKLUxJQ0VOU0UgPSAiSVNDIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MDdjNGY2ZGVhMzg0NWIwMmExOGRjMDBjOGM4NzY5OWMiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvc29mdHdhcmUvbmV0d29yay8ke0JQTn0vJHtCUH0udGFyLnh6IgotU1JDX1VSSVttZDVzdW1dID0gImI4MWJkMWY2NTI1YTQ4MDZhNzA3ODgxYWEzZGRhNjNmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBkM2U4NDVhYzc3ZDIxYWFjOWI4ODY0MmMzZGQwNDNhODNlMzkyMGQ3MDZiNjNkNWU1YzMxZGZmZGJlYzkxMTYiCi0KLWluaGVyaXQgYmluX3BhY2thZ2UgYWxsYXJjaAotCi1kb19pbnN0YWxsKCkgewotICAgIGluc3RhbGwgLWQgLW0wNzU1ICR7RH0ke25vbmFyY2hfbGliZGlyfS9jcmRhCi0gICAgaW5zdGFsbCAtZCAtbTA3NTUgJHtEfSR7c3lzY29uZmRpcn0vd2lyZWxlc3MtcmVnZGIvcHVia2V5cwotICAgIGluc3RhbGwgLW0gMDY0NCByZWd1bGF0b3J5LmJpbiAke0R9JHtub25hcmNoX2xpYmRpcn0vY3JkYS9yZWd1bGF0b3J5LmJpbgotICAgIGluc3RhbGwgLW0gMDY0NCBzZm9yc2hlZS5rZXkucHViLnBlbSAke0R9JHtzeXNjb25mZGlyfS93aXJlbGVzcy1yZWdkYi9wdWJrZXlzL3Nmb3JzaGVlLmtleS5wdWIucGVtCi0KLSAgICBpbnN0YWxsIC1tIDA2NDQgLUQgcmVndWxhdG9yeS5kYiAke0R9JHtub25hcmNoX2Jhc2VfbGliZGlyfS9maXJtd2FyZS9yZWd1bGF0b3J5LmRiCi0gICAgaW5zdGFsbCAtbSAwNjQ0IHJlZ3VsYXRvcnkuZGIucDdzICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L2Zpcm13YXJlL3JlZ3VsYXRvcnkuZGIucDdzCi19Ci0KLSMgSW5zdGFsbCBzdGF0aWMgcmVndWxhdG9yeSBEQiBpbiAvbGliL2Zpcm13YXJlIGZvciBrZXJuZWwgdG8gbG9hZC4KLSMgVGhpcyByZXF1aXJlcyBMaW51eCBrZXJuZWwgPj0gdjQuMTUuCi0jIEZvciBrZXJuZWwgPD0gdjQuMTQsIGluaGVyaXQgdGhlIGtlcm5lbF93aXJlbGVzc19yZWdkYi5iYmNsYXNzIGluIGtlcm5lbCdzIHJlY2lwZS4KLVBBQ0tBR0VTID0rICIke1BOfS1zdGF0aWMiCi1SQ09ORkxJQ1RTXyR7UE59ID0gIiR7UE59LXN0YXRpYyIKLQotRklMRVNfJHtQTn0tc3RhdGljID0gIiBcCi0gICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS9maXJtd2FyZS9yZWd1bGF0b3J5LmRiIFwKLSAgICAke25vbmFyY2hfYmFzZV9saWJkaXJ9L2Zpcm13YXJlL3JlZ3VsYXRvcnkuZGIucDdzIFwKLSIKLQotIyBOYXRpdmUgdXNlcnMgbWlnaHQgd2FudCB0byB1c2UgdGhlIHNvdXJjZSBvZiByZWd1bGF0b3J5IERCLgotIyBUaGlzIGlzIGZvciBleGFtcGxlIHVzZWQgYnkgTGludXgga2VybmVsIDw9IHY0LjE0IGFuZCBrZXJuZWxfd2lyZWxlc3NfcmVnZGIuYmJjbGFzcy4KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLSAgICBpbnN0YWxsIC1tIDA2NDQgLUQgZGIudHh0ICR7RH0ke2xpYmRpcn0vY3JkYS9kYi50eHQKLX0KLQotUlNVR0dFU1RTXyR7UE59ID0gImNyZGEiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpcmVsZXNzLXJlZ2RiL3dpcmVsZXNzLXJlZ2RiXzIwMTkuMDMuMDEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lyZWxlc3MtcmVnZGIvd2lyZWxlc3MtcmVnZGJfMjAxOS4wMy4wMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjdkZTU4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpcmVsZXNzLXJlZ2RiL3dpcmVsZXNzLXJlZ2RiXzIwMTkuMDMuMDEuYmIKQEAgLTAsMCArMSw0MiBAQAorU1VNTUFSWSA9ICJXaXJlbGVzcyBDZW50cmFsIFJlZ3VsYXRvcnkgRG9tYWluIERhdGFiYXNlIgorSE9NRVBBR0UgPSAiaHR0cDovL3dpcmVsZXNzLmtlcm5lbC5vcmcvZW4vZGV2ZWxvcGVycy9SZWd1bGF0b3J5L0NSREEiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiSVNDIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MDdjNGY2ZGVhMzg0NWIwMmExOGRjMDBjOGM4NzY5OWMiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvc29mdHdhcmUvbmV0d29yay8ke0JQTn0vJHtCUH0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gImI1ZWIyZDBjYzIzZjVlNDk1YTU5NDA1ZTM0Y2U0MzdmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNhNGU2ZjcwMDY1OTliYzU3NjRmODZlMWU4NjQyMjcxMGRhMTNhZDgwZTAyNDIxNDdiNjFjNjg1NWViYzkxNWYiCisKK2luaGVyaXQgYmluX3BhY2thZ2UgYWxsYXJjaAorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgLW0wNzU1ICR7RH0ke25vbmFyY2hfbGliZGlyfS9jcmRhCisgICAgaW5zdGFsbCAtZCAtbTA3NTUgJHtEfSR7c3lzY29uZmRpcn0vd2lyZWxlc3MtcmVnZGIvcHVia2V5cworICAgIGluc3RhbGwgLW0gMDY0NCByZWd1bGF0b3J5LmJpbiAke0R9JHtub25hcmNoX2xpYmRpcn0vY3JkYS9yZWd1bGF0b3J5LmJpbgorICAgIGluc3RhbGwgLW0gMDY0NCBzZm9yc2hlZS5rZXkucHViLnBlbSAke0R9JHtzeXNjb25mZGlyfS93aXJlbGVzcy1yZWdkYi9wdWJrZXlzL3Nmb3JzaGVlLmtleS5wdWIucGVtCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgLUQgcmVndWxhdG9yeS5kYiAke0R9JHtub25hcmNoX2Jhc2VfbGliZGlyfS9maXJtd2FyZS9yZWd1bGF0b3J5LmRiCisgICAgaW5zdGFsbCAtbSAwNjQ0IHJlZ3VsYXRvcnkuZGIucDdzICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L2Zpcm13YXJlL3JlZ3VsYXRvcnkuZGIucDdzCit9CisKKyMgSW5zdGFsbCBzdGF0aWMgcmVndWxhdG9yeSBEQiBpbiAvbGliL2Zpcm13YXJlIGZvciBrZXJuZWwgdG8gbG9hZC4KKyMgVGhpcyByZXF1aXJlcyBMaW51eCBrZXJuZWwgPj0gdjQuMTUuCisjIEZvciBrZXJuZWwgPD0gdjQuMTQsIGluaGVyaXQgdGhlIGtlcm5lbF93aXJlbGVzc19yZWdkYi5iYmNsYXNzIGluIGtlcm5lbCdzIHJlY2lwZS4KK1BBQ0tBR0VTID0rICIke1BOfS1zdGF0aWMiCitSQ09ORkxJQ1RTXyR7UE59ID0gIiR7UE59LXN0YXRpYyIKKworRklMRVNfJHtQTn0tc3RhdGljID0gIiBcCisgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS9maXJtd2FyZS9yZWd1bGF0b3J5LmRiIFwKKyAgICAke25vbmFyY2hfYmFzZV9saWJkaXJ9L2Zpcm13YXJlL3JlZ3VsYXRvcnkuZGIucDdzIFwKKyIKKworIyBOYXRpdmUgdXNlcnMgbWlnaHQgd2FudCB0byB1c2UgdGhlIHNvdXJjZSBvZiByZWd1bGF0b3J5IERCLgorIyBUaGlzIGlzIGZvciBleGFtcGxlIHVzZWQgYnkgTGludXgga2VybmVsIDw9IHY0LjE0IGFuZCBrZXJuZWxfd2lyZWxlc3NfcmVnZGIuYmJjbGFzcy4KK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICBpbnN0YWxsIC1tIDA2NDQgLUQgZGIudHh0ICR7RH0ke2xpYmRpcn0vY3JkYS9kYi50eHQKK30KKworUlNVR0dFU1RTXyR7UE59ID0gImNyZGEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dvbGZzc2wvZmlsZXMvMDAwMS1maXgtbm8tcnVsZS10by1tYWtlLWN5YXNzbC1vcHRpb25zLmgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd29sZnNzbC9maWxlcy8wMDAxLWZpeC1uby1ydWxlLXRvLW1ha2UtY3lhc3NsLW9wdGlvbnMuaC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjMwNGQ5My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd29sZnNzbC9maWxlcy8wMDAxLWZpeC1uby1ydWxlLXRvLW1ha2UtY3lhc3NsLW9wdGlvbnMuaC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLUZyb20gZmI0OTAxMzZjZjhmMjQ1NmNmZTEzYjBiNGY3OTZlNmMxNTVlNzVkYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERlbmdrZSBEdSA8ZGVuZ2tlLmR1QHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDMwIEF1ZyAyMDE3IDAzOjAyOjMyIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGZpeCBubyBydWxlIHRvIG1ha2UgY3lhc3NsL29wdGlvbnMuaAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogRGVuZ2tlIER1IDxkZW5na2UuZHVAd2luZHJpdmVyLmNvbT4KLS0tLQotIGNvbmZpZ3VyZS5hYyB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCAzOTVkNzVkLi5kNGEzODgwIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0zNjg0LDYgKzM2ODQsNyBAQCBBQ19DT05GSUdfRklMRVMoW3dvbGZzc2wvb3B0aW9ucy5oXSkKLSAjZmkKLSBBQ19DT05GSUdfRklMRVMoW3N1cHBvcnQvd29sZnNzbC5wY10pCi0gQUNfQ09ORklHX0ZJTEVTKFtycG0vc3BlY10pCi0rQUNfQ09ORklHX0ZJTEVTKFtjeWFzc2wvb3B0aW9ucy5oXSkKLSAKLSBBWF9DUkVBVEVfR0VORVJJQ19DT05GSUcKLSBBWF9BTV9KT0JTRVJWRVIoW3llc10pCi0tLSAKLTIuOC4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS93b2xmc3NsL3dvbGZzc2xfMy4xNC40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dvbGZzc2wvd29sZnNzbF8zLjE0LjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjOTA5NGQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dvbGZzc2wvd29sZnNzbF8zLjE0LjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1TVU1NQVJZID0gIndvbGZTU0wgTGlnaHR3ZWlnaHQsIEVtYmVkZGVkIFNTTCBMaWJyYXJ5IgotREVTQ1JJUFRJT04gPSAid29sZlNTTCwgZm9ybWVybHkgQ3lhU1NMLCBpcyBhIGxpZ2h0d2VpZ2h0IFNTTCBsaWJyYXJ5IHdyaXR0ZW4gaW4gQyBhbmQgXAotICAgICAgICAgICAgICAgb3B0aW1pemVkIGZvciBlbWJlZGRlZCBhbmQgUlRPUyBlbnZpcm9ubWVudHMuIEl0IGNhbiBiZSBcCi0gICAgICAgICAgICAgICBVcCB0byAyMCB0aW1lcyBzbWFsbGVyIHRoYW4gT3BlblNTTCB3aGlsZSBzdGlsbCBzdXBwb3J0aW5nIFwKLSAgICAgICAgICAgICAgIGEgZnVsbCBUTFMgMS4yIGNsaWVudCBhbmQgc2VydmVyLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cud29sZnNzbC5jb20veWFTU0wvUHJvZHVjdHMtd29sZnNzbC5odG1sIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vZ2l0aHViLmNvbS93b2xmc3NsL3dvbGZzc2wvaXNzdWVzIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotCi1QUk9WSURFUyArPSAiY3lhc3NsIgotUlBST1ZJREVTXyR7UE59ID0gImN5YXNzbCIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLVNSQ1JFViA9ICIxMTk2YTNiNjRkOWZhYmZmYzgyNzNiODdmNmY2OWFjMGU3NWQyZWI3IgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3dvbGZTU0wvd29sZnNzbC5naXQ7cHJvdG9jb2w9aHR0cHM7IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LW5vLXJ1bGUtdG8tbWFrZS1jeWFzc2wtb3B0aW9ucy5oLnBhdGNoIFwKLSAgICAgICAgICAiCi0KLWluaGVyaXQgYXV0b3Rvb2xzCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IgotUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS93b2xmc3NsL3dvbGZzc2xfMy4xNS43LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dvbGZzc2wvd29sZnNzbF8zLjE1LjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGEwYTYwNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS93b2xmc3NsL3dvbGZzc2xfMy4xNS43LmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAid29sZlNTTCBMaWdodHdlaWdodCBFbWJlZGRlZCBTU0wvVExTIExpYnJhcnkiCitERVNDUklQVElPTiA9ICJ3b2xmU1NMLCBmb3JtZXJseSBDeWFTU0wsIGlzIGEgbGlnaHR3ZWlnaHQgU1NMIGxpYnJhcnkgd3JpdHRlbiBcCisgICAgICAgICAgICAgICBpbiBDIGFuZCBvcHRpbWl6ZWQgZm9yIGVtYmVkZGVkIGFuZCBSVE9TIGVudmlyb25tZW50cy4gSXQgY2FuIFwKKyAgICAgICAgICAgICAgIGJlIHVwIHRvIDIwIHRpbWVzIHNtYWxsZXIgdGhhbiBPcGVuU1NMIHdoaWxlIHN0aWxsIHN1cHBvcnRpbmcgXAorICAgICAgICAgICAgICAgYSBmdWxsIFRMUyBjbGllbnQgYW5kIHNlcnZlciwgdXAgdG8gVExTIDEuMyIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3LndvbGZzc2wuY29tL3Byb2R1Y3RzL3dvbGZzc2wiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS93b2xmc3NsL3dvbGZzc2wvaXNzdWVzIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitQUk9WSURFUyArPSAiY3lhc3NsIgorUlBST1ZJREVTXyR7UE59ID0gImN5YXNzbCIKKworU1JDX1VSSSA9ICJodHRwczovL3d3dy53b2xmc3NsLmNvbS93b2xmc3NsLSR7UFZ9LnppcCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2ZWMwOGMwOWUzZjUxY2NjYmIxNjg2YjRmZDQ1ZjkyZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0Y2MzMThjNDk1ODBkM2I5YzM2MWZlMjU4ZmFjNjEwNjYyNGFhNzQ0ZjFkMzRlMDM5NzdiNTg3NzY2YTc1M2VlIgorCitpbmhlcml0IGF1dG90b29scworCitCQkNMQVNTRVhURU5EICs9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1uZXR3b3JraW5nLWltYWdlLWJhc2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLW5ldHdvcmtpbmctaW1hZ2UtYmFzZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWYxNDA5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1uZXR3b3JraW5nLWltYWdlLWJhc2UuYmIKQEAgLTAsMCArMSw3IEBACitTVU1NQVJZID0gIm1ldGEtbmV0d29ya2luZyBidWlsZCB0ZXN0IGltYWdlIgorCitJTUFHRV9JTlNUQUxMID0gInBhY2thZ2Vncm91cC1jb3JlLWJvb3QiCisKK0xJQ0VOU0UgPSAiTUlUIgorCitpbmhlcml0IGNvcmUtaW1hZ2UKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtbmV0d29ya2luZy1pbWFnZS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtbmV0d29ya2luZy1pbWFnZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNGM3NDAxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1uZXR3b3JraW5nLWltYWdlLmJiCkBAIC0wLDAgKzEsMyBAQAorcmVxdWlyZSAgbWV0YS1uZXR3b3JraW5nLWltYWdlLWJhc2UuYmIKKworSU1BR0VfSU5TVEFMTCArPSAicGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjNhZDM0YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLmJiCkBAIC0wLDAgKzEsMTIyIEBACitTVU1NQVJZID0gIk1ldGEtbmV0d29ya2luZyBwYWNrYWdlZ3JvdXBzIgorCitpbmhlcml0IHBhY2thZ2Vncm91cAorCitQUk9WSURFUyA9ICIke1BBQ0tBR0VTfSIKK1BBQ0tBR0VTID0gJyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1jb25uZWN0aXZpdHkgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctZGFlbW9ucyAgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctZGV2dG9vbHMgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctZXh0ZW5kZWQgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctZmlsdGVyIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWlyYyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1rZXJuZWwgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctbmV0a2l0IFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLXByb3RvY29scyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1zdXBwb3J0IFwKKycKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZyA9ICJcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1jb25uZWN0aXZpdHkgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctZGFlbW9ucyAgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctZGV2dG9vbHMgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctZXh0ZW5kZWQgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctZmlsdGVyIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWlyYyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1rZXJuZWwgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctbmV0a2l0IFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLXByb3RvY29scyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1zdXBwb3J0IFwKKyAgICAiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctY29ubmVjdGl2aXR5ID0gIlwKKyAgICBvcGVuY29ubmVjdCBlei1pcHVwZGF0ZSBtb3NxdWl0dG8gc2V0aGRsYyBjcmRhIFwKKyAgICBkaWJibGVyLXNlcnZlciBkaWJibGVyLWNsaWVudCBkaWJibGVyLXJlcXVlc3RvciBkaWJibGVyLXJlbGF5IFwKKyAgICBsaWJkbmV0IHVmdyBjaXZldHdlYiBmcmVlcmFkaXVzIGtlYSBkYXEgXAorICAgIG1iZWR0bHMgcmVsYXlkIHNub3J0IGRoY3BjZCByZGF0ZSB2bGFuIHVtaXAgdnBuYyBcCisgICAgaW5ldHV0aWxzIHdvbGZzc2wgbGZ0cCBtaW5pdXBucGQgbmV0d29ya21hbmFnZXIgXAorICAgIG5ldHdvcmttYW5hZ2VyLW9wZW52cG4gcmRpc3QgbmFub21zZyBweXRob24tbmV0d29ya21hbmFnZXIgXAorICAgIHdpcmVsZXNzLXJlZ2RiIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkUiLCAiYmx1ZXo1IHgxMSIsICJibHVlbWFuIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFIiwgInBhbSIsICJzYW1iYSIsICIiLCBkKX0gXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1kYWVtb25zID0gIlwKKyAgICBpcHBvb2wgcmFkdmQgYXV0b2ZzIGtlZXBhbGl2ZWQgcHJvZnRwZCBvcGVuaHBpIGxsZHBkIFwKKyAgICBwdHBkIGlnbXBwcm94eSBvcGVuc2FmIHNxdWlkIFwKKyAgICBhdGZ0cCBwb3N0Zml4IGlzY3NpLWluaXRpYXRvci11dGlscyB2c2Z0cGQgY3lydXMtc2FzbCBcCisgICAgcHVyZS1mdHBkIHZibGFkZSB0ZnRwLWhwYSBuY2Z0cCBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFIiwgInN5c3RlbWQiLCAibmV0d29ya2QtZGlzcGF0Y2hlciIsICIiLCBkKX0gXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1kZXZ0b29scyA9ICJcCisgICAgcHl0aG9uLWxkYXAgZ3JwYyBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWV4dGVuZGVkID0gIlwKKyAgICBjb3Jvc3luYyBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFIiwgInN5c3RlbWQiLCAiZGxtIiwgIiIsIGQpfSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWZpbHRlciA9ICJcCisgICAgZWJ0YWJsZXMgY29ubnRyYWNrLXRvb2xzIGxpYm5ldGZpbHRlci1xdWV1ZSBcCisgICAgbGlibmV0ZmlsdGVyLWNvbm50cmFjayBsaWJuZXRmaWx0ZXItY3RoZWxwZXIgbGlibmV0ZmlsdGVyLWFjY3QgXAorICAgIGxpYm5ldGZpbHRlci1jdHRpbWVvdXQgbGlibmV0ZmlsdGVyLWxvZyBuZmFjY3QgXAorICAgIGFybm8taXB0YWJsZXMtZmlyZXdhbGwgbGlibmZ0bmwgbmZ0YWJsZXMgXAorICAgIGxpYm5mbmV0bGluayBcCisgICAgIiAKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1pcmMgPSAiXAorICAgIHpuYyBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWtlcm5lbCA9ICJcCisgICAgd2lyZWd1YXJkLW1vZHVsZSB3aXJlZ3VhcmQtdG9vbHMgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1uZXRraXQgPSAiXAorICAgIG5ldGtpdC1yd2hvLWNsaWVudCBuZXRraXQtcndoby1zZXJ2ZXIgbmV0a2l0LXJzaC1jbGllbnQgbmV0a2l0LXJzaC1zZXJ2ZXIgXAorICAgIG5ldGtpdC10ZWxuZXQgbmV0a2l0LXRmdHAtY2xpZW50IG5ldGtpdC10ZnRwLXNlcnZlciBcCisgICAgbmV0a2l0LWZ0cCBuZXRraXQtcnVzZXJzLWNsaWVudCBuZXRraXQtcnVzZXJzLXNlcnZlciBuZXRraXQtcnBjIFwKKyAgICAiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctcHJvdG9jb2xzID0gIlwKKyAgICB0c29ja3MgZnJlZWRpYW1ldGVyIHhsMnRwZCBiYWJlbGQgbWRucyBuZXQtc25tcCBcCisgICAgcXVhZ2dhIHBwdHAtbGludXggemVyb2NvbmYgbm9wb2xsIG9wZW5mbG93IHJwLXBwcG9lIFwKKyAgICByYWRpdXNjbGllbnQtbmcgb3BlbmwydHAgdXNyc2N0cCBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFIiwgInBhbSIsICJkYW50ZSIsICIiLCBkKX0gXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1zdXBwb3J0ID0gIlwKKyAgICBuY3AgbmRpc2M2IG10ciB0aW55cHJveHkgc3NtcGluZyBudHAgXAorICAgIHdwYW4tdG9vbHMgYnJpZGdlLXV0aWxzIGlmZW5zbGF2ZSBjZWx0MDUxIHBpbWQgXAorICAgIG5iZC1jbGllbnQgbmJkLXNlcnZlciBuYmQtdHJkdW1wIFwKKyAgICBwaHl0b29sIGZ3a25vcCBodHBkYXRlIHRjcHJlcGxheSBpcHNlYy10b29scyBcCisgICAgdHJhY2Vyb3V0ZSBnZW9pcC1wZXJsIGdlb2lwIGdlb2lwdXBkYXRlIGVzbXRwIFwKKyAgICBsaWJ0ZGIgbmV0Y2YgZG5zbWFzcSBjdXJscHAgb3BlbmlwbWkgZHJiZC11dGlscyBcCisgICAgZHJiZCB0dW5jdGwgZG92ZWNvdCBpcHZzYWRtIHN0dW5uZWwgY2hyb255IHNwaWNlLXByb3RvY29sIFwKKyAgICB1c2JyZWRpciBudG9wIHdpcmVzaGFyayB0bmZ0cCBsa3NjdHAtdG9vbHMgXAorICAgIGNpbS1zY2hlbWEtZG9jcyBjaW0tc2NoZW1hLWZpbmFsIGNpbS1zY2hlbWEtZXhwZXIgXAorICAgIGxpYm1lbWNhY2hlZCBzbWNyb3V0ZSBsaWJ0ZXZlbnQgaXBjYWxjIGMtYXJlcyB1ZnRwIFwKKyAgICBudGltZWQgbGludXgtYXRtIHNzbXRwIG9wZW52cG4gbG93cGFuLXRvb2xzIHJkbWEtY29yZSBcCisgICAgaWZ0b3AgYW9ldG9vbHMgdGNwc2xpY2UgdGNwZHVtcCBsaWJ0YWxsb2MgbWVtY2FjaGVkIG51dHRjcCBuZXRjYXQgXAorICAgIG5ldGNhdC1vcGVuYnNkIGZldGNobWFpbCB5cC10b29scyB5cGJpbmQtbXQgeXAtdG9vbHMgXAorICAgIGFycHRhYmxlcyBtYWNjaGFuZ2VyIG5naHR0cDIgc3Ryb25nc3dhbiBmcGluZyBcCisgICAgZG5zc2VjLWNvbmYgbGliZXNtdHAgY2lmcy11dGlscyBvcGVuLWlzbnMgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRSIsICJwYW0iLCAibGlibGRiIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkxJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIiwgIm5vbi1jb21tZXJjaWFsIiwgIm5ldHBlcmYiLCAiIiwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWluc19hbnkoIlRSQU5TTEFURURfVEFSR0VUX0FSQ0giLCAiaTU4NiB4ODYtNjQiLCAic3BpY2UiLCAiIiwgZCl9IFwKKyAgICAiCisKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1zdXBwb3J0X3JlbW92ZV9taXBzYXJjaCA9ICJzcGljZS1wcm90b2NvbCIKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctc3VwcG9ydF9yZW1vdmVfbWlwczY0ID0gInNwaWNlLXByb3RvY29sIgorUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1zdXBwb3J0X3JlbW92ZV9taXBzNjRlbCA9ICJzcGljZS1wcm90b2NvbCIKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctc3VwcG9ydF9yZW1vdmVfcG93ZXJwYyA9ICJzcGljZS1wcm90b2NvbCIKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctc3VwcG9ydF9yZW1vdmVfcmlzY3Y2NCA9ICJzcGljZS1wcm90b2NvbCIKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctc3VwcG9ydF9yZW1vdmVfcmlzY3YzMiA9ICJzcGljZS1wcm90b2NvbCIKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctc3VwcG9ydF9yZW1vdmVfYXJtdjUgPSAic3BpY2UtcHJvdG9jb2wiCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLXN1cHBvcnRfcmVtb3ZlX2FhcmNoNjQgPSAic3BpY2UtcHJvdG9jb2wgbWVtY2FjaGVkIgorCitFWENMVURFX0ZST01fV09STEQgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy8wMDAxLURvLW5vdC1oYXJkY29kZS1wYXRoLWZvci1wa2cubTQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvMDAwMS1Eby1ub3QtaGFyZGNvZGUtcGF0aC1mb3ItcGtnLm00LnBhdGNoCmluZGV4IGYzZjI1ZjQuLjQxMDgyN2IgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy8wMDAxLURvLW5vdC1oYXJkY29kZS1wYXRoLWZvci1wa2cubTQucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzLzAwMDEtRG8tbm90LWhhcmRjb2RlLXBhdGgtZm9yLXBrZy5tNC5wYXRjaApAQCAtMSwyMSArMSwyNiBAQAotRnJvbSA2ZDI0MzY1ZjA4MjgxODVmZDFiYjRkMTk5MjA5Y2EwN2ViOTVjNDFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjQgQXVnIDIwMTggMDY6MjQ6MzYgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gRG8gbm90IGhhcmRjb2RlIHBhdGggZm9yIHBrZy5tNAorRnJvbSBhMjcyMTdhNTQzN2RhMzEzZDI1MWI0YTc2NWJmN2NiNjBmZmFhNjJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjcgTm92IDIwMTggMTU6Mjc6NDcgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRnJvbSA2ZDI0MzY1ZjA4MjgxODVmZDFiYjRkMTk5MjA5Y2EwN2ViOTVjNDFkIE1vbiBTZXAgMTcKKyAwMDowMDowMCAyMDAxIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IERhdGU6IEZyaSwgMjQgQXVnIDIwMTgKKyAwNjoyNDozNiArMDAwMCBTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBoYXJkY29kZSBwYXRoIGZvciBwa2cubTQKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiAKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK3VwZGF0ZSBwYXRjaCB0byB2ZXJzaW9uIDUuMS41CitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAgY29uZmlndXJlLmluIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCi1pbmRleCA1MGFlZDE1Li5mODE3NjdjIDEwMDY0NAoraW5kZXggNDkzYjlmMS4uMjY4ZDA2YiAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5pbgogKysrIGIvY29uZmlndXJlLmluCiBAQCAtMTIsNyArMTIsNyBAQCBkZWZpbmUoW0FDX0NBQ0hFX1NBVkVdLCApZG5sCi0gQUNfSU5JVCguYXV0b2ZzLTUuMS40KQorIEFDX0lOSVQoLmF1dG9mcy01LjEuNSkKICAKICAjIGZvciBwa2ctY29uZmlnIG1hY3JvcwogLW00X2luY2x1ZGUoWy91c3Ivc2hhcmUvYWNsb2NhbC9wa2cubTRdKQpAQCAtMjQsNSArMjksNSBAQAogICMKICAjIGF1dG9mcyBpbnN0YWxscyBieSBkZWZhdWx0IGluIC91c3IKIC0tIAotMS45LjEKKzIuNy40CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy8wMDAyLVJlcGxhY2UtX19TX0lFWEVDLXdpdGgtU19JRVhFQy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy8wMDAyLVJlcGxhY2UtX19TX0lFWEVDLXdpdGgtU19JRVhFQy5wYXRjaAppbmRleCA0NjkwMjdhLi5lN2ZkZDEwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvMDAwMi1SZXBsYWNlLV9fU19JRVhFQy13aXRoLVNfSUVYRUMucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzLzAwMDItUmVwbGFjZS1fX1NfSUVYRUMtd2l0aC1TX0lFWEVDLnBhdGNoCkBAIC0xLDIyICsxLDI2IEBACi1Gcm9tIDU1N2NhMzk5ZjRiM2EzOTdmMjBiYjE0N2VjNmRjNGFiOTczMmRkMWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAzMSBNYXIgMjAxNyAxOToxMjoxMCAtMDcwMAotU3ViamVjdDogW1BBVENIXSBSZXBsYWNlIF9fU19JRVhFQyB3aXRoIFNfSUVYRUMKK0Zyb20gMDk2ZTMzNzQzMTU4ZTBlOGMwNGQ2MGQwMWNjNjZlMjk0NWQ3OTc3NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDI3IE5vdiAyMDE4IDE2OjUyOjM1ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZyb20gNTU3Y2EzOTlmNGIzYTM5N2YyMGJiMTQ3ZWM2ZGM0YWI5NzMyZGQxZSBNb24gU2VwIDE3CisgMDA6MDA6MDAgMjAwMSBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiBEYXRlOiBGcmksIDMxIE1hciAyMDE3CisgMTk6MTI6MTAgLTA3MDAgU3ViamVjdDogW1BBVENIXSBSZXBsYWNlIF9fU19JRVhFQyB3aXRoIFNfSUVYRUMKIAogU19JRVhFQyBpcyBwb3J0YWJsZQogCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogCit1cGRhdGUgcGF0Y2ggdG8gdmVyc2lvbiA1LjEuNQorU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KIC0tLQotIGRhZW1vbi9sb29rdXAuYyAgICAgICAgfCA0ICsrLS0KKyBkYWVtb24vbG9va3VwLmMgICAgICAgIHwgNiArKystLS0KICBtb2R1bGVzL2xvb2t1cF9tdWx0aS5jIHwgMiArLQotIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZGFlbW9uL2xvb2t1cC5jIGIvZGFlbW9uL2xvb2t1cC5jCi1pbmRleCAyMDFjY2JiLi5kODIxZGI4IDEwMDY0NAoraW5kZXggMThkZjkzNS4uZDM1ZDQ4NCAxMDA2NDQKIC0tLSBhL2RhZW1vbi9sb29rdXAuYwogKysrIGIvZGFlbW9uL2xvb2t1cC5jCi1AQCAtMzY2LDcgKzM2Niw3IEBAIHN0YXRpYyBpbnQgcmVhZF9maWxlX3NvdXJjZV9pbnN0YW5jZShzdHJ1Y3QgYXV0b2ZzX3BvaW50ICphcCwgc3RydWN0IG1hcF9zb3VyY2UKK0BAIC0zODIsNyArMzgyLDcgQEAgc3RhdGljIGludCByZWFkX2ZpbGVfc291cmNlX2luc3RhbmNlKHN0cnVjdCBhdXRvZnNfcG9pbnQgKmFwLCBzdHJ1Y3QgbWFwX3NvdXJjZQogIAlpZiAoIVNfSVNSRUcoc3Quc3RfbW9kZSkpCiAgCQlyZXR1cm4gTlNTX1NUQVRVU19OT1RGT1VORDsKICAKQEAgLTI1LDcgKzI5LDcgQEAKICAJCXR5cGUgPSBzcmNfcHJvZzsKICAJZWxzZQogIAkJdHlwZSA9IHNyY19maWxlOwotQEAgLTg1Niw3ICs4NTYsNyBAQCBzdGF0aWMgaW50IGxvb2t1cF9uYW1lX2ZpbGVfc291cmNlX2luc3RhbmNlKHN0cnVjdCBhdXRvZnNfcG9pbnQgKmFwLCBzdHJ1Y3QgbWFwXworQEAgLTk0Miw3ICs5NDIsNyBAQCBzdGF0aWMgaW50IGxvb2t1cF9uYW1lX2ZpbGVfc291cmNlX2luc3RhbmNlKHN0cnVjdCBhdXRvZnNfcG9pbnQgKmFwLCBzdHJ1Y3QgbWFwXwogIAlpZiAoIVNfSVNSRUcoc3Quc3RfbW9kZSkpCiAgCQlyZXR1cm4gTlNTX1NUQVRVU19OT1RGT1VORDsKICAKQEAgLTM0LDggKzM4LDE3IEBACiAgCQl0eXBlID0gc3JjX3Byb2c7CiAgCWVsc2UKICAJCXR5cGUgPSBzcmNfZmlsZTsKK0BAIC0xMTE4LDcgKzExMTgsNyBAQCBzdGF0aWMgc3RydWN0IG1hcF9zb3VyY2UgKmxvb2t1cF9nZXRfbWFwX3NvdXJjZShzdHJ1Y3QgbWFzdGVyX21hcGVudCAqZW50cnkpCisgCWlmICghU19JU1JFRyhzdC5zdF9tb2RlKSkKKyAJCXJldHVybiBOVUxMOworIAorLQlpZiAoc3Quc3RfbW9kZSAmIF9fU19JRVhFQykKKysJaWYgKHN0LnN0X21vZGUgJiBTX0lFWEVDKQorIAkJdHlwZSA9ICJwcm9ncmFtIjsKKyAJZWxzZQorIAkJdHlwZSA9ICJmaWxlIjsKIGRpZmYgLS1naXQgYS9tb2R1bGVzL2xvb2t1cF9tdWx0aS5jIGIvbW9kdWxlcy9sb29rdXBfbXVsdGkuYwotaW5kZXggZmFkZDJlYS4uM2VjZGE2ZCAxMDA2NDQKK2luZGV4IGJiOWY4OGMuLmNmMTA5ZGUgMTAwNjQ0CiAtLS0gYS9tb2R1bGVzL2xvb2t1cF9tdWx0aS5jCiArKysgYi9tb2R1bGVzL2xvb2t1cF9tdWx0aS5jCiBAQCAtMjQ3LDcgKzI0Nyw3IEBAIHN0YXRpYyBzdHJ1Y3QgbG9va3VwX21vZCAqbnNzX29wZW5fbG9va3VwKGNvbnN0IGNoYXIgKmZvcm1hdCwgaW50IGFyZ2MsIGNvbnN0IGNoCkBAIC00NywzICs2MCw2IEBACiAgCQkJCXR5cGUgPSBzcmNfcHJvZzsKICAJCQllbHNlCiAgCQkJCXR5cGUgPSBzcmNfZmlsZTsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2F1dG9mcy01LjAuNy1kby1ub3QtY2hlY2stZm9yLW1vZHByb2JlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2F1dG9mcy01LjAuNy1kby1ub3QtY2hlY2stZm9yLW1vZHByb2JlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZDVjM2UxLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9hdXRvZnMtNS4wLjctZG8tbm90LWNoZWNrLWZvci1tb2Rwcm9iZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLUZyb20gMmNiYzU3NmVhMWZiZDFjYmY0NTc5ZDY0YjMwZTQxZDc2MjA4NGU3ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ICJ5YW5qdW4uemh1IiA8eWFuanVuLnpodUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVHVlLCAxNSBKYW4gMjAxMyAxMjo0NTo0NCArMDgwMAotU3ViamVjdDogW1BBVENIXSBhdXRvZnM6IGRvIG5vdCBjaGVjayBmb3IgbW9kcHJvYmUKLQotRGVzY3JpcHRpb246IExvYWRpbmcgYXV0b2ZzIG1vZHVsZSBpcyAjaWZkZWYnZWQgaW4gdGhlIHNvdXJjZSwgc28KLSB0aGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGZvciAvcHJvYyAod2hpY2ggaXMgb25seSB1c2VkCi0gdG8gbG9hZCBtb2R1bGUpIG9yIG1vZHByb2JlLiAgQm90aCBtb2Rwcm9iZSBhbmQgL3Byb2MKLSBhcmUgYWx3YXlzIGluIHRoZSBmaXhlZCBsb2NhdGlvbiBzbyB0aGVyZSdzIG5vIG5lZWQgdG8KLSBjaGVjayBmb3IgdGhlc2UgdG8gc3RhcnQgd2l0aC4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbMV0KLVsxXSBodHRwOi8vd3d3LnNwaW5pY3MubmV0L2xpc3RzL2F1dG9mcy9tc2cwMDEzOS5odG1sCi0KLS0tLQotIGNvbmZpZ3VyZS5pbiAgICAgICAgfCAgNiAtLS0tLS0KLSBkYWVtb24vbW9kdWxlLmMgICAgIHwgIDMgKysrCi0gaW5jbHVkZS9hdXRvbW91bnQuaCB8IDExICsrKy0tLS0tLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCi1pbmRleCA0NGExYzhiLi5iMjI2MjM2IDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmluCi0rKysgYi9jb25maWd1cmUuaW4KLUBAIC0zNCwxMSArMzQsNiBAQCBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBiaW5hcmllcyBpbl0pCi0gQUNfTVNHX1JFU1VMVChbJHNlYXJjaHBhdGhdKQotIAotICMKLS0jIE1ha2Ugc3VyZSB3ZSBoYXZlICIvcHJvYyIKLS0jCi0tQUZfTElOVVhfUFJPQ0ZTKCkKLS0KLS0jCi0gIyBMb2NhdGlvbiBvZiBpbml0LmQgZGlyZWN0b3J5PwotICMKLSBBRl9JTklUX0QoKQotQEAgLTE0Miw3ICsxMzcsNiBAQCBBRl9QQVRIX0lOQ0xVREUoVU1PVU5ULCB1bW91bnQsIC9iaW4vdW1vdW50LCAkc2VhcmNocGF0aCkKLSBBRl9QQVRIX0lOQ0xVREUoRTJGU0NLLCBmc2NrLmV4dDIgZTJmc2NrLCAsICRzZWFyY2hwYXRoKQotIEFGX1BBVEhfSU5DTFVERShFM0ZTQ0ssIGZzY2suZXh0MyBlM2ZzY2ssICwgJHNlYXJjaHBhdGgpCi0gQUZfUEFUSF9JTkNMVURFKEU0RlNDSywgZnNjay5leHQ0IGU0ZnNjaywgLCAkc2VhcmNocGF0aCkKLS1BRl9QQVRIX0lOQ0xVREUoTU9EUFJPQkUsIG1vZHByb2JlLCAsICRzZWFyY2hwYXRoKQotIAotIEFGX0NIRUNLX1BST0coTEVYLCBmbGV4IGxleCwgLCAkc2VhcmNocGF0aCkKLSBBRl9DSEVDS19QUk9HKFlBQ0MsIGJpc29uLCAsICRzZWFyY2hwYXRoKQotZGlmZiAtLWdpdCBhL2RhZW1vbi9tb2R1bGUuYyBiL2RhZW1vbi9tb2R1bGUuYwotaW5kZXggYmVkOGY3YS4uZTQxYTk4ZSAxMDA2NDQKLS0tLSBhL2RhZW1vbi9tb2R1bGUuYwotKysrIGIvZGFlbW9uL21vZHVsZS5jCi1AQCAtMTksNiArMTksOCBAQAotICNpbmNsdWRlICJhdXRvbW91bnQuaCIKLSAjaW5jbHVkZSAibnNzd2l0Y2guaCIKLSAKLSsjaWYgMAotKy8qIHNlZSBjb21tZW50IGluIGRhZW1vbi9hdXRvbW91bnQuYyBhcm91bmQgbG9hZF9hdXRvZnM0X21vZHVsZSgpIGNhbGwgKi8KLSBpbnQgbG9hZF9hdXRvZnM0X21vZHVsZSh2b2lkKQotIHsKLSAJRklMRSAqZnA7Ci1AQCAtNTMsNiArNTUsNyBAQCBpbnQgbG9hZF9hdXRvZnM0X21vZHVsZSh2b2lkKQotIAotIAlyZXR1cm4gMTsKLSB9Ci0rI2VuZGlmCi0gCi0gaW50IG9wZW5fbG9va3VwKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmVycl9wcmVmaXgsIGNvbnN0IGNoYXIgKm1hcGZtdCwKLSAJCWludCBhcmdjLCBjb25zdCBjaGFyICpjb25zdCAqYXJndiwgc3RydWN0IGxvb2t1cF9tb2QgKipsb29rdXApCi1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9hdXRvbW91bnQuaCBiL2luY2x1ZGUvYXV0b21vdW50LmgKLWluZGV4IGMwZjVmYmYuLmNjMzM2YWQgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL2F1dG9tb3VudC5oCi0rKysgYi9pbmNsdWRlL2F1dG9tb3VudC5oCi1AQCAtNTEsMTYgKzUxLDExIEBACi0gI2Vycm9yIEZhaWxlZCB0byBsb2NhdGUgdW1vdW50KDgpIQotICNlbmRpZgotIAotLSNpZm5kZWYgSEFWRV9NT0RQUk9CRQotLSNlcnJvciBGYWlsZWQgdG8gbG9jYXRlIG1vZHByb2JlKDgpIQotLSNlbmRpZgotLQotLSNpZm5kZWYgSEFWRV9MSU5VWF9QUk9DRlMKLS0jZXJyb3IgRmFpbGVkIHRvIHZlcmlmeSBleGlzdGVuY2Ugb2YgcHJvY2ZzIGZpbGVzeXN0ZW0hCi0tI2VuZGlmCi0tCi0rI2lmIDAKLSsvKiBzZWUgY29tbWVudCBpbiBkYWVtb24vYXV0b21vdW50LmMgYXJvdW5kIGxvYWRfYXV0b2ZzNF9tb2R1bGUoKSBjYWxsICovCi0gI2RlZmluZSBGU19NT0RVTEVfTkFNRSAgImF1dG9mczQiCi0gaW50IGxvYWRfYXV0b2ZzNF9tb2R1bGUodm9pZCk7Ci0rI2VuZGlmCi0gCi0gLyogVGhlIC1zIChzbG9wcHkpIG9wdGlvbiB0byBtb3VudCBpcyBnb29kLCBpZiB3ZSBoYXZlIGl0Li4uICovCi0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvcGtnY29uZmlnLWxpYm5zbC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9wa2djb25maWctbGlibnNsLnBhdGNoCmluZGV4IDFjN2IxMTkuLmJlNzUwYWIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9wa2djb25maWctbGlibnNsLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9wa2djb25maWctbGlibnNsLnBhdGNoCkBAIC0xLDcgKzEsOSBAQAotRnJvbSBlM2FlNTZjZjBiYjQwNjNjMzEyOTVmNDVkMDRlM2M1MDRmNGI2Y2M3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMjQgQXByIDIwMTcgMjA6NDE6MjUgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gYXV0b2ZzOiBVcGdyYWRlIHRvIDUuMS4yIHJlbGVhc2UKK0Zyb20gNjAyZjljYTgzYzJiZGJmNTExYmNiMTc4ZmNiNGI5ZmM1NGRhOTU1ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDI3IE5vdiAyMDE4IDE1OjIwOjQ2ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZyb20gZTNhZTU2Y2YwYmI0MDYzYzMxMjk1ZjQ1ZDA0ZTNjNTA0ZjRiNmNjNyBNb24gU2VwIDE3CisgMDA6MDA6MDAgMjAwMSBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiBEYXRlOiBNb24sIDI0IEFwciAyMDE3CisgMjA6NDE6MjUgLTA3MDAgU3ViamVjdDogW1BBVENIXSBhdXRvZnM6IFVwZ3JhZGUgdG8gNS4xLjIgcmVsZWFzZQogCiBVc2UgcGtnLWNvbmZpZyBmaXJzdCB0byBsb29rIGZvciBleHRlcm5hbCBsaWJuc2wgd2hpY2ggaXMgbm93CiBzcGxpdCBvdXQgZnJvbSBnbGliYywgaWYgaXQgZG9lcyBub3QgZXhpc3QgdGhlbiBzZWUgaWYgaXRzIHByb3ZpZGVkCkBAIC05LDIwICsxMSwyNyBAQAogCiAtS2hlbQogCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKwordXBkYXRlIHBhdGNoIHRvIHZlcnNpb24gNS4xLjUKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KICBjb25maWd1cmUuaW4gfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IDljZjczYjguLjEwMTZjNzEgMTAwNjQ0CitpbmRleCA3NmVjYjQwLi40OTNiOWYxIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmluCiArKysgYi9jb25maWd1cmUuaW4KLUBAIC0xODYsNyArMTg2LDcgQEAgZmkKLSAjCi0gIyBnbGliYy9saWJjIDYgbmV3IGxpYnJhcmllcwotICMKLS1BQ19DSEVDS19MSUIobnNsLCB5cF9tYXRjaCwgTElCTlNMPSItbG5zbCIpCi0rUEtHX0NIRUNLX01PRFVMRVMoW05TTF0sIFtsaWJuc2xdLCBbXSwgW0FDX0NIRUNLX0xJQihbbnNsXSxbeXBfbWF0Y2hdLFtMSUJOU0w9Ii1sbnNsIl0sW0xJQk5TTD0iIl0pXSkKLSBBQ19TVUJTVChMSUJOU0wpCitAQCAtMjM4LDcgKzIzOCw3IEBAIEFDX1NVQlNUKExJQkNMT0NLX0dFVFRJTUUpCiAgCi0gQUNfQ0hFQ0tfTElCKHJlc29sdiwgcmVzX3F1ZXJ5LCBMSUJSRVNPTFY9Ii1scmVzb2x2IikKKyBQS0dfQ0hFQ0tfTU9EVUxFUyhbTlNMXSxbbGlibnNsXSwsCisgWworLUFDX0NIRUNLX0xJQihuc2wsIHlwX21hdGNoLCBOU0xfTElCUz0iLWxuc2wiKQorK1BLR19DSEVDS19NT0RVTEVTKFtOU0xdLCBbbGlibnNsXSwgW10sIFtBQ19DSEVDS19MSUIoW25zbF0sW3lwX21hdGNoXSxbTElCTlNMPSItbG5zbCJdLFtMSUJOU0w9IiJdKV0pCisgQUNfU1VCU1QoTlNMX0xJQlMpCisgTlNMX0NGTEFHUz0iIgorIF0pCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy91c2luZy1wa2ctY29uZmlnLXRvLWRldGVjdC1saWJ4bWwtMi4wLWFuZC1rcmI1LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL3VzaW5nLXBrZy1jb25maWctdG8tZGV0ZWN0LWxpYnhtbC0yLjAtYW5kLWtyYjUucGF0Y2gKaW5kZXggM2QwYzZiZC4uZDFmOWYzNCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL3VzaW5nLXBrZy1jb25maWctdG8tZGV0ZWN0LWxpYnhtbC0yLjAtYW5kLWtyYjUucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL3VzaW5nLXBrZy1jb25maWctdG8tZGV0ZWN0LWxpYnhtbC0yLjAtYW5kLWtyYjUucGF0Y2gKQEAgLTEsMjIgKzEsMjcgQEAKLUZyb20gZGFiY2JkYWUzODAzOGE4ZTRhZDJjNDI4NjExMjM4MWM0MDdjNWNlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLURhdGU6IFR1ZSwgMTkgQXVnIDIwMTQgMTE6MzE6MzUgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gdXNpbmcgcGtnLWNvbmZpZyB0byBkZXRlY3QgbGlieG1sLTIuMCBhbmQga3JiNQorRnJvbSBkZDkwYTY5MGY5NTU2OWI5OTliOGFjOWFiNTdlODM0YjM0MjFkY2JiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjcgTm92IDIwMTggMTU6MTk6MDcgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRnJvbSBkYWJjYmRhZTM4MDM4YThlNGFkMmM0Mjg2MTEyMzgxYzQwN2M1Y2U3IE1vbiBTZXAgMTcKKyAwMDowMDowMCAyMDAxIEZyb206IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4gRGF0ZTogVHVlLCAxOSBBdWcgMjAxNAorIDExOjMxOjM1ICswODAwIFN1YmplY3Q6IFtQQVRDSF0gdXNpbmcgcGtnLWNvbmZpZyB0byBkZXRlY3QgbGlieG1sLTIuMCBhbmQKKyBrcmI1CiAKLVVwc3RyZWFtLXN0YXR1czogUGVuZGluZworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiAKIFNpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KIAordXBkYXRlIHBhdGNoIHRvIDUuMS41CitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAgY29uZmlndXJlLmluIHwgMTYgKysrKysrKysrKysrKystLQogIDEgZmlsZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCi1pbmRleCBiMjI2MjM2Li45Y2Y3M2I4IDEwMDY0NAoraW5kZXggZjVmYmIzNS4uNzZlY2I0MCAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5pbgogKysrIGIvY29uZmlndXJlLmluCi1AQCAtMTYyLDggKzE2MiwyMCBAQCBpZiB0ZXN0IHgkZW5hYmxlX3Nsb3BweV9tb3VudCA9IHh5ZXM7IHRoZW4KLSBmaQorQEAgLTIxMSw4ICsyMTEsMjAgQEAgZmkKKyBBQ19TVUJTVChFTkFCTEVfRkVERlMpCiAgCiAgIyBMREFQIFNBU0wgYXV0aCBuZWVkcyBsaWJ4bWwgYW5kIEtlcmJlcm9zCiAtQUZfQ0hFQ0tfTElCWE1MKCkKQEAgLTM4LDMgKzQzLDYgQEAKICAKICBBQ19TRUFSQ0hfTElCUyhbdmVyc2lvbnNvcnRdLFtdKQogIGlmIHRlc3QgIiRhY19jdl9zZWFyY2hfdmVyc2lvbnNvcnQiID0gIm5vIjsgdGhlbgorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnNfNS4xLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnNfNS4xLjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhMWJjYWQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzXzUuMS40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotU1VNTUFSWSA9ICJLZXJuZWwgYmFzZWQgYXV0b21vdW50ZXIgZm9yIGxpbnV4IgotU0VDVElPTiA9ICJ1dGlscyIKLUxJQ0VOU0UgPSAiR1BMLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgotCi1ERVBFTkRTICs9ICJsaWJ0aXJwYyBmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUgZTJmc3Byb2dzIG9wZW5zc2wgbGlieG1sMiB1dGlsLWxpbnV4IGN5cnVzLXNhc2wgbGlibnNsMiIKLQotQ0ZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9L3RpcnBjIgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgc3lzdGVtZCB1cGRhdGUtcmMuZCBwa2djb25maWcKLQotU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L2RhZW1vbnMvYXV0b2ZzL3Y1L2F1dG9mcy0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vYXV0b2ZzLTUuMC43LWluY2x1ZGUtbGludXgtbmZzLmgtZGlyZWN0bHktaW4tcnBjX3N1Yi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9uby1iYXNoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2Nyb3NzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2F1dG9mcy01LjAuNy1kby1ub3QtY2hlY2stZm9yLW1vZHByb2JlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2ZpeF9kaXNhYmxlX2xkYXAucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vYXV0b2ZzLTUuMC43LWZpeC1saWItZGVwcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9hZGQtdGhlLW5lZWRlZC1zdGRhcmcuaC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly91c2luZy1wa2ctY29uZmlnLXRvLWRldGVjdC1saWJ4bWwtMi4wLWFuZC1rcmI1LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2ZvcmNlLVNUUklQLXRvLWVtdHB5LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3JlbW92ZS1iYXNoaXNtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2ZpeC10aGUtWUFDQy1ydWxlLXRvLWZpeC1hLWJ1aWxkaW5nLWZhaWx1cmUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1EZWZpbmUtX19TV09SRF9UWVBFLWFuZC1fUEFUSF9OU1NXSVRDSF9DT05GLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItUmVwbGFjZS1fX1NfSUVYRUMtd2l0aC1TX0lFWEVDLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3BrZ2NvbmZpZy1saWJuc2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1tb2R1bGVzLWxvb2t1cF9tdWx0aS5jLVJlcGxhY2UtX19TX0lFWEVDLXdpdGgtU19JRVhFLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWhhcmRjb2RlLXBhdGgtZm9yLXBrZy5tNC5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICIxN2JjOWQzNzFjZjM5ZDk5ZjQwMGViYWRmYzIyODliYiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZDFjOTk2NGM4Mjg2Y2NiMDgyNjJhZDQ3YzYwYmI2MzQzNDkyOTAyZGVmNTM5OWZkMzZkNzlhMGNjYjBlNzE4IgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC9kYWVtb25zL2F1dG9mcy92NS8iCi0KLUlOSVRTQ1JJUFRfTkFNRSA9ICJhdXRvZnMiCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKLQotIyBGSVhNRTogbW9kdWxlcy9NYWtlZmlsZSBoYXMgY3JhcHB5IHJ1bGVzIHRoYXQgZG9uJ3Qgb2JleSBMREZMQUdTCi0jQ0ZMQUdTICs9ICIke0xERkxBR1N9IgotCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0sLS13aXRob3V0LXN5c3RlbWQsc3lzdGVtZCIKLQotUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsIGQpfSIKLQotRVhUUkFfT0VNQUtFID0gIkRPTlRTVFJJUD0xIgotRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtbW91bnQtbG9ja2luZyBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtaWdub3JlLWJ1c3kgLS13aXRoLW9wZW5sZGFwPW5vIFwKLSAgICAgICAgICAgICAgICAtLXdpdGgtc2FzbD1ubyAtLXdpdGgtbGlidGlycGMgXAotICAgICAgICAgICAgICAgIC0td2l0aC1wYXRoPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfSBcCi0gICAgICAgICAgICAgICAgLS13aXRoLWZpZm9kaXI9JHtsb2NhbHN0YXRlZGlyfS9ydW4gXAotICAgICAgICAgICAgICAgIC0td2l0aC1mbGFnZGlyPSR7bG9jYWxzdGF0ZWRpcn0vcnVuIFwKLSIKLUNBQ0hFRF9DT05GSUdVUkVWQVJTID0gImFjX2N2X3BhdGhfUkFOTElCPSR7UkFOTElCfSBcCi0gICAgICAgICAgICAgICAgICAgICAgICBhY19jdl9wYXRoX1JQQ0dFTj1ycGNnZW4gXAotIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0gICAgaWYgWyAhIC1lICR7U30vYWNpbmNsdWRlLm00IF07IHRoZW4KLSAgICAgICAgY3AgJHtTfS9hY2xvY2FsLm00ICR7U30vYWNpbmNsdWRlLm00Ci0gICAgZmkKLSAgICBjcCAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2FjbG9jYWwvcGtnLm00IC4KLX0KLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotICAgIGlmIFsgLWQgJHtEfS9ydW4gXTsgdGhlbgotICAgICAgICBybWRpciAke0R9L3J1bgotICAgIGZpCi0gICAgaWYgWyAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4gXTsgdGhlbgotICAgICAgICBybWRpciAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KLSAgICBmaQotfQotU0VDVVJJVFlfQ0ZMQUdTID0gIiR7U0VDVVJJVFlfTk9fUElFX0NGTEFHU30iCi0KLUlOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKLQotUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgotUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgotUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJhdXRvZnMuc2VydmljZSIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzXzUuMS41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzXzUuMS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNDM1NDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnNfNS4xLjUuYmIKQEAgLTAsMCArMSw4NCBAQAorU1VNTUFSWSA9ICJLZXJuZWwgYmFzZWQgYXV0b21vdW50ZXIgZm9yIGxpbnV4IgorU0VDVElPTiA9ICJ1dGlscyIKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorCitERVBFTkRTICs9ICJsaWJ0aXJwYyBmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUgZTJmc3Byb2dzIG9wZW5zc2wgbGlieG1sMiB1dGlsLWxpbnV4IGN5cnVzLXNhc2wgbGlibnNsMiIKKworQ0ZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9L3RpcnBjIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgc3lzdGVtZCB1cGRhdGUtcmMuZCBwa2djb25maWcKKworU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L2RhZW1vbnMvYXV0b2ZzL3Y1L2F1dG9mcy0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vYXV0b2ZzLTUuMC43LWluY2x1ZGUtbGludXgtbmZzLmgtZGlyZWN0bHktaW4tcnBjX3N1Yi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9uby1iYXNoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Nyb3NzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeF9kaXNhYmxlX2xkYXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXV0b2ZzLTUuMC43LWZpeC1saWItZGVwcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hZGQtdGhlLW5lZWRlZC1zdGRhcmcuaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly91c2luZy1wa2ctY29uZmlnLXRvLWRldGVjdC1saWJ4bWwtMi4wLWFuZC1rcmI1LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZvcmNlLVNUUklQLXRvLWVtdHB5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JlbW92ZS1iYXNoaXNtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC10aGUtWUFDQy1ydWxlLXRvLWZpeC1hLWJ1aWxkaW5nLWZhaWx1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1EZWZpbmUtX19TV09SRF9UWVBFLWFuZC1fUEFUSF9OU1NXSVRDSF9DT05GLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItUmVwbGFjZS1fX1NfSUVYRUMtd2l0aC1TX0lFWEVDLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3BrZ2NvbmZpZy1saWJuc2wucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1tb2R1bGVzLWxvb2t1cF9tdWx0aS5jLVJlcGxhY2UtX19TX0lFWEVDLXdpdGgtU19JRVhFLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWhhcmRjb2RlLXBhdGgtZm9yLXBrZy5tNC5wYXRjaCBcCisgICAgICAgICAgICIKKworCitTUkNfVVJJW21kNXN1bV0gPSAiMDNiMTMxNjhlYzdiZDY2YTZmMmQ1ZjZmZWE3MDVlZWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODZhOGU1NmVhOWQ3MmJiNTNmZjhjZGZlZWZiNWNhZmU5ODM1OTJjNmIwMTc4ZmI5OWM0YTczMWU1OTg3OTE4MSIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvZGFlbW9ucy9hdXRvZnMvdjUvIgorCitJTklUU0NSSVBUX05BTUUgPSAiYXV0b2ZzIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCisKKyMgRklYTUU6IG1vZHVsZXMvTWFrZWZpbGUgaGFzIGNyYXBweSBydWxlcyB0aGF0IGRvbid0IG9iZXkgTERGTEFHUworI0NGTEFHUyArPSAiJHtMREZMQUdTfSIKKworUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZD0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLC0td2l0aG91dC1zeXN0ZW1kLHN5c3RlbWQiCisKK1BBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBkKX0iCisKK0VYVFJBX09FTUFLRSA9ICJET05UU1RSSVA9MSIKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLW1vdW50LWxvY2tpbmcgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWlnbm9yZS1idXN5IC0td2l0aC1vcGVubGRhcD1ubyBcCisgICAgICAgICAgICAgICAgLS13aXRoLXNhc2w9bm8gLS13aXRoLWxpYnRpcnBjIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtcGF0aD0ke1NUQUdJTkdfQklORElSX05BVElWRX0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1maWZvZGlyPSR7bG9jYWxzdGF0ZWRpcn0vcnVuIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtZmxhZ2Rpcj0ke2xvY2Fsc3RhdGVkaXJ9L3J1biBcCisiCitDQUNIRURfQ09ORklHVVJFVkFSUyA9ICJhY19jdl9wYXRoX1JBTkxJQj0ke1JBTkxJQn0gXAorICAgICAgICAgICAgICAgICAgICAgICAgYWNfY3ZfcGF0aF9SUENHRU49cnBjZ2VuIFwKKyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIGlmIFsgISAtZSAke1N9L2FjaW5jbHVkZS5tNCBdOyB0aGVuCisgICAgICAgIGNwICR7U30vYWNsb2NhbC5tNCAke1N9L2FjaW5jbHVkZS5tNAorICAgIGZpCisgICAgY3AgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9hY2xvY2FsL3BrZy5tNCAuCit9CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICAjIHNhbXBsZXMgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSBTVUJESVJTIGZyb20gNS4xLjUsIG5lZWQgdG8gaW5zdGFsbCBzZXBhcmF0ZWx5CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsX3NhbXBsZXMKKworICAgIGlmIFsgLWQgJHtEfS9ydW4gXTsgdGhlbgorICAgICAgICBybWRpciAke0R9L3J1bgorICAgIGZpCisgICAgaWYgWyAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4gXTsgdGhlbgorICAgICAgICBybWRpciAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KKyAgICBmaQorfQorU0VDVVJJVFlfQ0ZMQUdTID0gIiR7U0VDVVJJVFlfTk9fUElFX0NGTEFHU30iCisKK0lOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJhdXRvZnMuc2VydmljZSIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pZ21wcHJveHkvaWdtcHByb3h5XzAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaWdtcHByb3h5L2lnbXBwcm94eV8wLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU0MjRkYzQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pZ21wcHJveHkvaWdtcHByb3h5XzAuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLVNVTU1BUlkgPSAic2ltcGxlIGR5bmFtaWMgbXVsdGljYXN0IHJvdXRpbmcgZGFlbW9uIHRoYXQgb25seSB1c2VzIElHTVAgc2lnbmFsbGluZyIKLUhPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvaWdtcHByb3h5LyIKLQotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFlOTk1ZTI3OTliYjBkMjdkNjMwNjliOTdmODA1NDIwIgotCi1TUkNfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvaWdtcHByb3h5L2ZpbGVzLyR7QlBOfS8ke1BWfS8ke0JQTn0tJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3JjLWlnbXBwcm94eS5oLUluY2x1ZGUtc3lzLXR5cGVzLmgtZm9yLXVfc2hvcnQtdV9pbi5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gImM1NmY0MWVjMTk1YmMxZmUwMTYzNjliZjc0ZWZjNWExIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImVlMThmZjNkOGMzYWUzYTI5ZGNjYjdlNWVlZGYzMzIzMzczMzAwMjAxNjhiZDk1YTExY2VjZThkN2Q3ZWU2YWUiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1DRkxBR1MgKz0gIi1EX0dOVV9TT1VSQ0UiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lnbXBwcm94eS9pZ21wcHJveHlfMC4yLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lnbXBwcm94eS9pZ21wcHJveHlfMC4yLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk5ZWJlMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaWdtcHByb3h5L2lnbXBwcm94eV8wLjIuMS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gInNpbXBsZSBkeW5hbWljIG11bHRpY2FzdCByb3V0aW5nIGRhZW1vbiB0aGF0IG9ubHkgdXNlcyBJR01QIHNpZ25hbGxpbmciCitIT01FUEFHRSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2lnbXBwcm94eS8iCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDMyMDQwZmYzYTU1NjcwYzFkZWMwYzMyYjIwOWFkNjkiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3BhbGkvaWdtcHByb3h5L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9L2lnbXBwcm94eS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1zcmMtaWdtcHByb3h5LmgtSW5jbHVkZS1zeXMtdHlwZXMuaC1mb3ItdV9zaG9ydC11X2luLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzYTljMmNiNDJjMWY1ZWUwY2I3NjlhNDg4NDU0NTY0MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMzUxZTYyMzAzNzM5MGY1NzVjMTIwM2Q5Y2JiN2JhMzNhOGJkZWY4NWEzYzVlMWQyOTAxYzVhMmEzODQ0OWExIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworQ0ZMQUdTICs9ICItRF9HTlVfU09VUkNFIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvMDAwMS1GaXgtaTU4Ni1idWlsZC1pc3N1ZXMtd2l0aC1zdHJpbmctbGVuZ3RoLW92ZXJmbG93LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvMDAwMS1GaXgtaTU4Ni1idWlsZC1pc3N1ZXMtd2l0aC1zdHJpbmctbGVuZ3RoLW92ZXJmbG93LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5NDVjNjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9maWxlcy8wMDAxLUZpeC1pNTg2LWJ1aWxkLWlzc3Vlcy13aXRoLXN0cmluZy1sZW5ndGgtb3ZlcmZsb3cucGF0Y2gKQEAgLTAsMCArMSwxMTUgQEAKK0Zyb20gMjRjZThmNjJlMDQyZTY5NDk3ZTEyOTkyMTI1MDRjMzU2MTc5ZTE1YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExlZSBEdW5jYW4gPGxkdW5jYW5Ac3VzZS5jb20+CitEYXRlOiBUdWUsIDYgTm92IDIwMTggMTE6MTY6MDYgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGk1ODYgYnVpbGQgaXNzdWVzIHdpdGggc3RyaW5nIGxlbmd0aCBvdmVyZmxvdy4KKworR2NjNyB3YXJucyBvZiBwb3NzaWJsZSBzdHJpbmcgcHJpbnQgb3ZlcmZsb3csIG9uIGk1ODYsCit3aGVuIHByaW50aW5nIHBhc3N3b3JkIGxlbmd0aCAodmlhIGEgbWFjcm8pLCBnZW5lcmF0aW5nCitlcnJvcnMgbGlrZToKKworWyAgIDU5c10gICBefn5+fn5+fn5+fn5+fn5+fn5+fgorWyAgIDU5c10gSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC91c3IvaW5jbHVkZS9zdGRpby5oOjg2MjowLAorWyAgIDU5c10gICAgICAgICAgICAgICAgICBmcm9tIGlkYm0uaDoyNywKK1sgICA1OXNdICAgICAgICAgICAgICAgICAgZnJvbSBjb250ZXh0Lmg6MjIsCitbICAgNTlzXSAgICAgICAgICAgICAgICAgIGZyb20gaWRibS5jOjU5OgorWyAgIDU5c10gL3Vzci9pbmNsdWRlL2JpdHMvc3RkaW8yLmg6NjQ6MTA6IG5vdGU6CisnX19idWlsdGluX19fc25wcmludGZfY2hrJyBvdXRwdXQgYmV0d2VlbiAyIGFuZCAxMSBieXRlcyBpbnRvIGEKK2Rlc3RpbmF0aW9uIG9mIHNpemUgOAorWyAgIDU5c10gICAgcmV0dXJuIF9fYnVpbHRpbl9fX3NucHJpbnRmX2NoayAoX19zLCBfX24sCitfX1VTRV9GT1JUSUZZX0xFVkVMIC0gMSwKK1sgICA1OXNdICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorfn5+fn5+fn5+fgorWyAgIDU5c10gICAgICAgICBfX2JvcyAoX19zKSwgX19mbXQsIF9fdmFfYXJnX3BhY2sgKCkpOworWyAgIDU5c10gICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CitbICAgNTlzXSBjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycworWyAgIDU5c10gbWFrZVsxXTogKioqIFs8YnVpbHRpbj46IGlkYm0ub10gRXJyb3IgMQorWyAgIDU5c10gbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkKKworVGhlIGZpeCBpcyB0byBsaW1pdCB0aGUgc2l6ZSBvZiB0aGUgc3RyaW5nIHByaW50ZWQsIHNvIHRoYXQgbm8KK292ZXJmbG93IGlzIHBvc3NpYmxlLgorCitUaGUgcHJpbnQgbWFjcm9zIGluIHVzci9pZGJtLmMgd2VyZSB1cGRhdGVkLCBhcyB3ZWxsLCB0byBtYXRjaAordGhlIG5ld2VyIHZlcnNpb24gaW4gbGlib3BlbmlzY3NpdXNyL2lkYm0uYywgYWxzbyB0byBoZWxwIHRoZQoraTU4NiBidWlsZC4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydFtodHRwczovL2dpdGh1Yi5jb20vb3Blbi1pc2NzaS9vcGVuLWlzY3NpL2NvbW1pdC8yNGNlOGY2MmUwNDJlNjk0OTdlMTI5OTIxMjUwNGMzNTYxNzllMTViXQorCitTaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgorLS0tCisgbGlib3BlbmlzY3NpdXNyL2lkYm0uYyB8ICAyICstCisgdXNyL2lkYm0uYyAgICAgICAgICAgICB8IDExICsrKysrKy0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJvcGVuaXNjc2l1c3IvaWRibS5jIGIvbGlib3BlbmlzY3NpdXNyL2lkYm0uYworaW5kZXggNzcyNGRlMi4uMDU1ZGQ5YSAxMDA2NDQKKy0tLSBhL2xpYm9wZW5pc2NzaXVzci9pZGJtLmMKKysrKyBiL2xpYm9wZW5pc2NzaXVzci9pZGJtLmMKK0BAIC02NzYsNyArNjc2LDcgQEAgdXBkYXRlZDoKKyAJaWYgKCFwYXNzd2RfZG9uZSAmJiAhc3RyY21wKCNfcGFyYW0sIG5hbWUpKSB7IFwKKyAJCXBhc3N3ZF9kb25lID0gMTsgXAorIAkJbmFtZSA9ICNfcGFyYW0gIl9sZW5ndGgiOyBcCistCQlzbnByaW50ZihwYXNzd2RfbGVuLCA4LCAiJWQiLCAoaW50KXN0cmxlbih2YWx1ZSkpOyBcCisrCQlzbnByaW50ZihwYXNzd2RfbGVuLCA4LCAiJS43ZCIsIChpbnQpc3RybGVuKHZhbHVlKSAmIDB4ZmZmZik7IFwKKyAJCXZhbHVlID0gcGFzc3dkX2xlbjsgXAorIAkJZ290byBzZXR1cF9wYXNzd2RfbGVuOyBcCisgCX0KK2RpZmYgLS1naXQgYS91c3IvaWRibS5jIGIvdXNyL2lkYm0uYworaW5kZXggYTAyMDdlMi4uODlhNmMyNyAxMDA2NDQKKy0tLSBhL3Vzci9pZGJtLmMKKysrKyBiL3Vzci9pZGJtLmMKK0BAIC0zMCw2ICszMCw3IEBACisgI2luY2x1ZGUgPGZjbnRsLmg+CisgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisgI2luY2x1ZGUgPHN5cy9maWxlLmg+CisrI2luY2x1ZGUgPGludHR5cGVzLmg+CisgCisgI2luY2x1ZGUgImlkYm0uaCIKKyAjaW5jbHVkZSAiaWRibV9maWVsZHMuaCIKK0BAIC02NSw3ICs2Niw3IEBAIHN0YXRpYyBzdHJ1Y3QgaWRibSAqZGI7CisgI2RlZmluZSBfX3JlY2luZm9faW50KF9rZXksIF9pbmZvLCBfcmVjLCBfbmFtZSwgX3Nob3csIF9uLCBfbW9kKSBkbyB7IFwKKyAJX2luZm9bX25dLnR5cGUgPSBUWVBFX0lOVDsgXAorIAlzdHJsY3B5KF9pbmZvW19uXS5uYW1lLCBfa2V5LCBOQU1FX01BWFZBTCk7IFwKKy0Jc25wcmludGYoX2luZm9bX25dLnZhbHVlLCBWQUxVRV9NQVhWQUwsICIlZCIsIF9yZWMtPl9uYW1lKTsgXAorKwlzbnByaW50ZihfaW5mb1tfbl0udmFsdWUsIFZBTFVFX01BWFZBTCwgIiUiIFBSSWkzMiwgX3JlYy0+X25hbWUpOyBcCisgCV9pbmZvW19uXS5kYXRhID0gJl9yZWMtPl9uYW1lOyBcCisgCV9pbmZvW19uXS5kYXRhX2xlbiA9IHNpemVvZihfcmVjLT5fbmFtZSk7IFwKKyAJX2luZm9bX25dLnZpc2libGUgPSBfc2hvdzsgXAorQEAgLTc2LDcgKzc3LDcgQEAgc3RhdGljIHN0cnVjdCBpZGJtICpkYjsKKyAjZGVmaW5lIF9fcmVjaW5mb191aW50OChfa2V5LCBfaW5mbywgX3JlYywgX25hbWUsIF9zaG93LCBfbiwgX21vZCkgZG8geyBcCisgCV9pbmZvW19uXS50eXBlID0gVFlQRV9VSU5UODsgXAorIAlzdHJsY3B5KF9pbmZvW19uXS5uYW1lLCBfa2V5LCBOQU1FX01BWFZBTCk7IFwKKy0Jc25wcmludGYoX2luZm9bX25dLnZhbHVlLCBWQUxVRV9NQVhWQUwsICIlZCIsIF9yZWMtPl9uYW1lKTsgXAorKwlzbnByaW50ZihfaW5mb1tfbl0udmFsdWUsIFZBTFVFX01BWFZBTCwgIiUiIFBSSXU4LCBfcmVjLT5fbmFtZSk7IFwKKyAJX2luZm9bX25dLmRhdGEgPSAmX3JlYy0+X25hbWU7IFwKKyAJX2luZm9bX25dLmRhdGFfbGVuID0gc2l6ZW9mKF9yZWMtPl9uYW1lKTsgXAorIAlfaW5mb1tfbl0udmlzaWJsZSA9IF9zaG93OyBcCitAQCAtODcsNyArODgsNyBAQCBzdGF0aWMgc3RydWN0IGlkYm0gKmRiOworICNkZWZpbmUgX19yZWNpbmZvX3VpbnQxNihfa2V5LCBfaW5mbywgX3JlYywgX25hbWUsIF9zaG93LCBfbiwgX21vZCkgZG8geyBcCisgCV9pbmZvW19uXS50eXBlID0gVFlQRV9VSU5UMTY7IFwKKyAJc3RybGNweShfaW5mb1tfbl0ubmFtZSwgX2tleSwgTkFNRV9NQVhWQUwpOyBcCistCXNucHJpbnRmKF9pbmZvW19uXS52YWx1ZSwgVkFMVUVfTUFYVkFMLCAiJWQiLCBfcmVjLT5fbmFtZSk7IFwKKysJc25wcmludGYoX2luZm9bX25dLnZhbHVlLCBWQUxVRV9NQVhWQUwsICIlIiBQUkl1MTYsIF9yZWMtPl9uYW1lKTsgXAorIAlfaW5mb1tfbl0uZGF0YSA9ICZfcmVjLT5fbmFtZTsgXAorIAlfaW5mb1tfbl0uZGF0YV9sZW4gPSBzaXplb2YoX3JlYy0+X25hbWUpOyBcCisgCV9pbmZvW19uXS52aXNpYmxlID0gX3Nob3c7IFwKK0BAIC05OCw3ICs5OSw3IEBAIHN0YXRpYyBzdHJ1Y3QgaWRibSAqZGI7CisgI2RlZmluZSBfX3JlY2luZm9fdWludDMyKF9rZXksIF9pbmZvLCBfcmVjLCBfbmFtZSwgX3Nob3csIF9uLCBfbW9kKSBkbyB7IFwKKyAJX2luZm9bX25dLnR5cGUgPSBUWVBFX1VJTlQzMjsgXAorIAlzdHJsY3B5KF9pbmZvW19uXS5uYW1lLCBfa2V5LCBOQU1FX01BWFZBTCk7IFwKKy0Jc25wcmludGYoX2luZm9bX25dLnZhbHVlLCBWQUxVRV9NQVhWQUwsICIlZCIsIF9yZWMtPl9uYW1lKTsgXAorKwlzbnByaW50ZihfaW5mb1tfbl0udmFsdWUsIFZBTFVFX01BWFZBTCwgIiUiIFBSSXUzMiwgX3JlYy0+X25hbWUpOyBcCisgCV9pbmZvW19uXS5kYXRhID0gJl9yZWMtPl9uYW1lOyBcCisgCV9pbmZvW19uXS5kYXRhX2xlbiA9IHNpemVvZihfcmVjLT5fbmFtZSk7IFwKKyAJX2luZm9bX25dLnZpc2libGUgPSBfc2hvdzsgXAorQEAgLTEwNDEsNyArMTA0Miw3IEBAIHVwZGF0ZWQ6CisgCWlmICghcGFzc3dkX2RvbmUgJiYgIXN0cmNtcCgjX3BhcmFtLCBuYW1lKSkgeyBcCisgCQlwYXNzd2RfZG9uZSA9IDE7IFwKKyAJCW5hbWUgPSAjX3BhcmFtICJfbGVuZ3RoIjsgXAorLQkJc25wcmludGYocGFzc3dkX2xlbiwgOCwgIiVkIiwgKGludClzdHJsZW4odmFsdWUpKTsgXAorKwkJc25wcmludGYocGFzc3dkX2xlbiwgOCwgIiUuNyIgUFJJaTMyLCAoaW50KXN0cmxlbih2YWx1ZSkgJiAweGZmZmYpOyBcCisgCQl2YWx1ZSA9IHBhc3N3ZF9sZW47IFwKKyAJCWdvdG8gc2V0dXBfcGFzc3dkX2xlbjsgXAorIAl9CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2lzY3NpLWluaXRpYXRvci11dGlsc18yLjAuODc2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzXzIuMC44NzYuYmIKaW5kZXggZTZhODdhMy4uNDhiMDc4MyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzXzIuMC44NzYuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzXzIuMC44NzYuYmIKQEAgLTE0LDYgKzE0LDcgQEAKIFNSQ1JFViA/PSAiYmQ3OWU0ZWQxMDA0YTYwMzVkMjUzOGEzMDhjNTkzMDg5MDQyMWEyMiIKIAogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL29wZW4taXNjc2kvb3Blbi1pc2NzaSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1pNTg2LWJ1aWxkLWlzc3Vlcy13aXRoLXN0cmluZy1sZW5ndGgtb3ZlcmZsb3cucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vaW5pdGQuZGViaWFuIFwKICAgICAgICAgICAgZmlsZTovLzk5X2lzY3NpLWluaXRpYXRvci11dGlscyBcCiAgICAgICAgICAgIGZpbGU6Ly9pc2NzaS1pbml0aWF0b3IgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuaHBpL29wZW5ocGlfMy44LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5ocGkvb3BlbmhwaV8zLjguMC5iYgppbmRleCBjNGIzMzA5Li5jYTkxMzBkIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5ocGkvb3BlbmhwaV8zLjguMC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5ocGkvb3BlbmhwaV8zLjguMC5iYgpAQCAtNjAsMTAgKzYwLDExIEBACiBJTlNBTkVfU0tJUF8ke1BOfS1saWJzID0gImRldi1zbyIKIFJERVBFTkRTXyR7UE59ICs9ICIke1BOfS1saWJzIgogCi1QQUNLQUdFQ09ORklHID8/PSAibGliZ2NyeXB0IG5vbjMyYml0IgorUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmdjcnlwdCBub24zMmJpdCBzbm1wLWJjIgogUEFDS0FHRUNPTkZJR1tzeXNmc10gPSAiLS1lbmFibGUtc3lzZnMsLS1kaXNhYmxlLXN5c2ZzLHN5c2ZzdXRpbHMsIgogUEFDS0FHRUNPTkZJR1tsaWJnY3J5cHRdID0gIi0tZW5hYmxlLWVuY3J5cHRpb24sLS1kaXNhYmxlLWVuY3J5cHRpb24sbGliZ2NyeXB0LCIKIFBBQ0tBR0VDT05GSUdbbm9uMzJiaXRdID0gIi0tZW5hYmxlLW5vbjMyYml0LWludCwtLWRpc2FibGUtbm9uMzJiaXQtaW50LCwiCitQQUNLQUdFQ09ORklHW3NubXAtYmNdID0gIi0tZW5hYmxlLXNubXBfYmMsLS1kaXNhYmxlLXNubXBfYmMiCiAKIGV4cG9ydCBESVNUUk8KIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuc2FmL29wZW5zYWYvMDAwMS1GaXgtc3RyaW5nLW92ZXJmbG93LWluLXNucHJpbnRmLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuc2FmL29wZW5zYWYvMDAwMS1GaXgtc3RyaW5nLW92ZXJmbG93LWluLXNucHJpbnRmLnBhdGNoCmluZGV4IGRiNjc5NmQuLjkzYzc1NzcgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbnNhZi9vcGVuc2FmLzAwMDEtRml4LXN0cmluZy1vdmVyZmxvdy1pbi1zbnByaW50Zi5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZi8wMDAxLUZpeC1zdHJpbmctb3ZlcmZsb3ctaW4tc25wcmludGYucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGFlNzE3OGE3OGFiYTJlNTc2NmI3MDE5MTYxNzExMzQ4N2ZkN2FkMGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDg4NjYxYTYwNjI5ODk0MzUzNTEyYzUzZWQzMmYyYjkwMWY2NDE0OWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogTW9uLCAxNiBBcHIgMjAxOCAxODoyOToxNyAtMDcwMAogU3ViamVjdDogW1BBVENIXSBGaXggc3RyaW5nIG92ZXJmbG93IGluIHNucHJpbnRmCkBAIC01Myw3ICs1Myw3IEBACiAgICBUUkFDRV9FTlRFUigpOwogIAogZGlmZiAtLWdpdCBhL3NyYy9zbWYvc21mZC9TbWZVcGdyYWRlQ2FtcGFpZ24uY2MgYi9zcmMvc21mL3NtZmQvU21mVXBncmFkZUNhbXBhaWduLmNjCi1pbmRleCA0NWNkY2U4Li42NzYxYmNmIDEwMDY0NAoraW5kZXggYzMwZWExNC4uMDk4ZjE3YSAxMDA2NDQKIC0tLSBhL3NyYy9zbWYvc21mZC9TbWZVcGdyYWRlQ2FtcGFpZ24uY2MKICsrKyBiL3NyYy9zbWYvc21mZC9TbWZVcGdyYWRlQ2FtcGFpZ24uY2MKIEBAIC00NDcsNyArNDQ3LDcgQEAgU2FBaXNFcnJvclQgU21mVXBncmFkZUNhbXBhaWduOjp0b29NYW55UmVzdGFydHMoYm9vbCAqb19yZXN1bHQpIHsKQEAgLTY2LDExICs2NiwxMSBAQAogICAgLyogUmVhZCB0aGUgU21mQ2FtcFJlc3RhcnRJbmZvIG9iamVjdCBzbWZDYW1wUmVzdGFydENudCBhdHRyICovCiAgICBzdGQ6OnN0cmluZyBvYmogPSAic21mUmVzdGFydEluZm89aW5mbywiICsKIEBAIC00NzMsNyArNDczLDcgQEAgU2FBaXNFcnJvclQgU21mVXBncmFkZUNhbXBhaWduOjp0b29NYW55UmVzdGFydHMoYm9vbCAqb19yZXN1bHQpIHsKLSAgICAgYXR0cnNtZkNhbXBSZXN0YXJ0Q250LnNldE5hbWUoInNtZkNhbXBSZXN0YXJ0Q250Iik7Ci0gICAgIGF0dHJzbWZDYW1wUmVzdGFydENudC5zZXRUeXBlKCJTQV9JTU1fQVRUUl9TQVVJTlQzMlQiKTsKKyAgICAgYXR0cnNtZkNhbXBSZXN0YXJ0Q250LlNldEF0dHJpYnV0ZU5hbWUoInNtZkNhbXBSZXN0YXJ0Q250Iik7CisgICAgIGF0dHJzbWZDYW1wUmVzdGFydENudC5TZXRBdHRyaWJ1dGVUeXBlKCJTQV9JTU1fQVRUUl9TQVVJTlQzMlQiKTsKICAgICAgY2hhciBidWZbNV07CiAtICAgIHNucHJpbnRmKGJ1ZiwgNCwgIiVkIiwgY3VyQ250KTsKICsgICAgc25wcmludGYoYnVmLCA0LCAiJWhkIiwgY3VyQ250KTsKLSAgICAgYXR0cnNtZkNhbXBSZXN0YXJ0Q250LmFkZFZhbHVlKGJ1Zik7Ci0gICAgIGltb0NhbXBSZXN0YXJ0SW5mby5hZGRWYWx1ZShhdHRyc21mQ2FtcFJlc3RhcnRDbnQpOworICAgICBhdHRyc21mQ2FtcFJlc3RhcnRDbnQuQWRkQXR0cmlidXRlVmFsdWUoYnVmKTsKKyAgICAgaW1vQ2FtcFJlc3RhcnRJbmZvLkFkZFZhbHVlKGF0dHJzbWZDYW1wUmVzdGFydENudCk7CiAgCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZl81LjE4LjA0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuc2FmL29wZW5zYWZfNS4xOC4wNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzUzNGM2Mi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZl81LjE4LjA0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzQgKzAsMCBAQAotU1VNTUFSWSA9ICJPcGVuU0FGIGlzIGFuIG9wZW4gc291cmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBTQUYgQUlTIHNwZWNpZmljYXRpb24iCi1ERVNDUklQVElPTiA9ICJPcGVuU0FGIGlzIGFuIG9wZW4gc291cmNlIHByb2plY3QgZXN0YWJsaXNoZWQgdG8gZGV2ZWxvcCBhIGJhc2UgcGxhdGZvcm0gXAotbWlkZGxld2FyZSBjb25zaXN0ZW50IHdpdGggU2VydmljZSBBdmFpbGFiaWxpdHkgRm9ydW0gKFNBIEZvcnVtKSBcCi1zcGVjaWZpY2F0aW9ucywgdW5kZXIgdGhlIExHUEx2Mi4xIGxpY2Vuc2UuIFRoZSBPcGVuU0FGIEZvdW5kYXRpb24gd2FzIFwKLWVzdGFibGlzaGVkIGJ5IGxlYWRpbmcgQ29tbXVuaWNhdGlvbnMgYW5kIEVudGVycHJpc2UgQ29tcHV0aW5nIENvbXBhbmllcyB0byBcCi1mYWNpbGl0YXRlIHRoZSBPcGVuU0FGIFByb2plY3QgYW5kIHRvIGFjY2VsZXJhdGUgdGhlIGFkb3B0aW9uIG9mIHRoZSBPcGVuU0FGIFwKLWNvZGUgYmFzZSBpbiBjb21tZXJjaWFsIHByb2R1Y3RzLiBcCi1UaGUgT3BlblNBRiBwcm9qZWN0IHdhcyBsYXVuY2hlZCBpbiBtaWQgMjAwNyBhbmQgaGFzIGJlZW4gdW5kZXIgZGV2ZWxvcG1lbnQgYnkgXAotYW4gaW5mb3JtYWwgZ3JvdXAgb2Ygc3VwcG9ydGVycyBvZiB0aGUgT3BlblNBRiBpbml0aWF0aXZlLiBUaGUgT3BlblNBRiBcCi1Gb3VuZGF0aW9uIHdhcyBmb3VuZGVkIG9uIEphbnVhcnkgMjJuZCAyMDA4IHdpdGggRW1lcnNvbiBOZXR3b3JrIFBvd2VyLCBcCi1Fcmljc3NvbiwgTm9raWEgU2llbWVucyBOZXR3b3JrcywgSFAgYW5kIFN1biBNaWNyb3N5c3RlbXMgYXMgZm91bmRpbmcgbWVtYmVycy4iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5zYWYub3JnIgotU0VDVElPTiA9ICJhZG1pbiIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9YTkxNjQ2N2I5MTA3NmU2MzFkZDhlZGI3NDI0NzY5YzciCi0KLURFUEVORFMgPSAibGlieG1sMiBweXRob24iCi1UT09MQ0hBSU4gPSAiZ2NjIgotCi1TRUNVUklUWV9DRkxBR1MgPSAiJHtTRUNVUklUWV9OT19QSUVfQ0ZMQUdTfSIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59L3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtUGFzcy1saW5rZXItc3BlY2lmaWMtb3B0aW9ucy13aXRoLVdsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLURpc2FibGUtZm9ybWF0LW92ZXJmbG93LWlmLXN1cHBvcnRlZC1ieS1nYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXNyYy1BZGQtbWlzc2luZy1oZWFkZXItbGltaXRzLmgtZm9yLV9QT1NJWF9IT1NUX05BTUUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1pbW1wYmVfZHVtcC5jYy1Vc2Utc3lzLXdhaXQuaC1pbnN0ZWFkLW9mLXdhaXQuaC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUNhdGNoLXN0ZC1pZnN0cmVhbS1mYWlsdXJlLWJ5LXJlZmVyZW5jZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLUZpeC1mb3JtYXQtdHJ1bmNhdGlvbi1lcnJvcnMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtc3RyaW5nLW92ZXJmbG93LWluLXNucHJpbnRmLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDgtY2hlY2stZm9yLXNpemUtYmVmb3JlLXVzaW5nLXN0cm5jcHkucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiMjE4MzZlNDNiMTNhZDMzYmVkOWJkMGVkMzkxZTVhNmUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTU1ZGMyNjQ1NDg3ZmIyMjkzOGU4Mzg2Yjk5ZWVmNmViN2FmZjQzYTI0NmNlM2U5MjQ4OGRhZjZlZTQ2MjQ3YSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXNlcmFkZCBzeXN0ZW1kIHBrZ2NvbmZpZwotCi1VU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgotR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLWYgLXIgb3BlbnNhZiIKLVVTRVJBRERfUEFSQU1fJHtQTn0gPSAgIi1yIC1nIG9wZW5zYWYgLWQgJHtkYXRhZGlyfS9vcGVuc2FmLyAtcyAke3NiaW5kaXJ9L25vbG9naW4gLWMgXCJPcGVuU0FGXCIgb3BlbnNhZiIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ICs9ICJvcGVuc2FmZC5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIiwsc3lzdGVtZCIKLVBBQ0tBR0VDT05GSUdbb3BlbmhwaV0gPSAiLS13aXRoLWhwaS1pbnRlcmZhY2U9QjAzLCxvcGVuaHBpIgotUEFDS0FHRUNPTkZJR1twbG1dID0gIi0tZW5hYmxlLWFpcy1wbG0sLS1kaXNhYmxlLWFpcy1wbG0sbGlidmlydCBvcGVuaHBpIgotCi1QQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnIHN5c3RlbWQnLCAnJywgZCl9IgotCi1QS0dMSUJESVI9IiR7bGliZGlyfSIKLQotTERGTEFHUyArPSAiLVdsLC0tYXMtbmVlZGVkIC1sYXRvbWljIC1XbCwtLW5vLWFzLW5lZWRlZCIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgY3AgLWF2IC0tbm8tcHJlc2VydmU9b3duZXJzaGlwICR7Qn0vbGliLy5saWJzLyouc28qICR7RH0ke2xpYmRpcn0KLSAgICBybSAtZnIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xvY2siCi0gICAgcm0gLWZyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCi0gICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9IgotICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtkYXRhZGlyfS9qYXZhIgotICAgIGlmIFsgISAtZCAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kIiBdOyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0gICAgICAgIGluc3RhbGwgLW0gMDc1NSAke0J9L29zYWYvc2VydmljZXMvaW5mcmFzdHJ1Y3R1cmUvbmlkL3NjcmlwdHMvb3BlbnNhZmQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLwotICAgIGZpCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyouc2VydmljZSIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtQS0dMSUJESVJ9LyouYSIKLQotSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgotCi1SREVQRU5EU18ke1BOfSArPSAiYmFzaCBweXRob24iCi0KLSMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzE4Njk3MC8KLUVYQ0xVREVfRlJPTV9XT1JMRF9saWJjLW11c2wgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbnNhZi9vcGVuc2FmXzUuMTguMDkuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZl81LjE4LjA5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxYWVkYzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZl81LjE4LjA5LmJiCkBAIC0wLDAgKzEsNzUgQEAKK1NVTU1BUlkgPSAiT3BlblNBRiBpcyBhbiBvcGVuIHNvdXJjZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU0FGIEFJUyBzcGVjaWZpY2F0aW9uIgorREVTQ1JJUFRJT04gPSAiT3BlblNBRiBpcyBhbiBvcGVuIHNvdXJjZSBwcm9qZWN0IGVzdGFibGlzaGVkIHRvIGRldmVsb3AgYSBiYXNlIHBsYXRmb3JtIFwKK21pZGRsZXdhcmUgY29uc2lzdGVudCB3aXRoIFNlcnZpY2UgQXZhaWxhYmlsaXR5IEZvcnVtIChTQSBGb3J1bSkgXAorc3BlY2lmaWNhdGlvbnMsIHVuZGVyIHRoZSBMR1BMdjIuMSBsaWNlbnNlLiBUaGUgT3BlblNBRiBGb3VuZGF0aW9uIHdhcyBcCitlc3RhYmxpc2hlZCBieSBsZWFkaW5nIENvbW11bmljYXRpb25zIGFuZCBFbnRlcnByaXNlIENvbXB1dGluZyBDb21wYW5pZXMgdG8gXAorZmFjaWxpdGF0ZSB0aGUgT3BlblNBRiBQcm9qZWN0IGFuZCB0byBhY2NlbGVyYXRlIHRoZSBhZG9wdGlvbiBvZiB0aGUgT3BlblNBRiBcCitjb2RlIGJhc2UgaW4gY29tbWVyY2lhbCBwcm9kdWN0cy4gXAorVGhlIE9wZW5TQUYgcHJvamVjdCB3YXMgbGF1bmNoZWQgaW4gbWlkIDIwMDcgYW5kIGhhcyBiZWVuIHVuZGVyIGRldmVsb3BtZW50IGJ5IFwKK2FuIGluZm9ybWFsIGdyb3VwIG9mIHN1cHBvcnRlcnMgb2YgdGhlIE9wZW5TQUYgaW5pdGlhdGl2ZS4gVGhlIE9wZW5TQUYgXAorRm91bmRhdGlvbiB3YXMgZm91bmRlZCBvbiBKYW51YXJ5IDIybmQgMjAwOCB3aXRoIEVtZXJzb24gTmV0d29yayBQb3dlciwgXAorRXJpY3Nzb24sIE5va2lhIFNpZW1lbnMgTmV0d29ya3MsIEhQIGFuZCBTdW4gTWljcm9zeXN0ZW1zIGFzIGZvdW5kaW5nIG1lbWJlcnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVuc2FmLm9yZyIKK1NFQ1RJT04gPSAiYWRtaW4iCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWE5MTY0NjdiOTEwNzZlNjMxZGQ4ZWRiNzQyNDc2OWM3IgorCitERVBFTkRTID0gImxpYnhtbDIgcHl0aG9uIgorVE9PTENIQUlOID0gImdjYyIKKworU0VDVVJJVFlfQ0ZMQUdTID0gIiR7U0VDVVJJVFlfTk9fUElFX0NGTEFHU30iCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLVBhc3MtbGlua2VyLXNwZWNpZmljLW9wdGlvbnMtd2l0aC1XbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS1EaXNhYmxlLWZvcm1hdC1vdmVyZmxvdy1pZi1zdXBwb3J0ZWQtYnktZ2MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1zcmMtQWRkLW1pc3NpbmctaGVhZGVyLWxpbWl0cy5oLWZvci1fUE9TSVhfSE9TVF9OQU1FLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaW1tcGJlX2R1bXAuY2MtVXNlLXN5cy13YWl0LmgtaW5zdGVhZC1vZi13YWl0LmgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1DYXRjaC1zdGQtaWZzdHJlYW0tZmFpbHVyZS1ieS1yZWZlcmVuY2UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1GaXgtZm9ybWF0LXRydW5jYXRpb24tZXJyb3JzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LXN0cmluZy1vdmVyZmxvdy1pbi1zbnByaW50Zi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA4LWNoZWNrLWZvci1zaXplLWJlZm9yZS11c2luZy1zdHJuY3B5LnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjQ1MDQ0ZmRlMGIzNWVhYzA1N2E1ZmEwNWMyN2I4MDQwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIzMGEwZWE2MjhiYTI3ODE3MGE5MTM3NDZjMzliMmM4Y2Q1MjlkN2RjMjUzMjZiMmUxN2I1YzA5NWNmOTQwMjUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVzZXJhZGQgc3lzdGVtZCBwa2djb25maWcKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi1mIC1yIG9wZW5zYWYiCitVU0VSQUREX1BBUkFNXyR7UE59ID0gICItciAtZyBvcGVuc2FmIC1kICR7ZGF0YWRpcn0vb3BlbnNhZi8gLXMgJHtzYmluZGlyfS9ub2xvZ2luIC1jIFwiT3BlblNBRlwiIG9wZW5zYWYiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSArPSAib3BlbnNhZmQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICIsLHN5c3RlbWQiCitQQUNLQUdFQ09ORklHW29wZW5ocGldID0gIi0td2l0aC1ocGktaW50ZXJmYWNlPUIwMywsb3BlbmhwaSIKK1BBQ0tBR0VDT05GSUdbcGxtXSA9ICItLWVuYWJsZS1haXMtcGxtLC0tZGlzYWJsZS1haXMtcGxtLGxpYnZpcnQgb3BlbmhwaSIKKworUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJyBzeXN0ZW1kJywgJycsIGQpfSIKKworUEtHTElCRElSPSIke2xpYmRpcn0iCitDUFBGTEFHUyArPSAiLVduby1lcnJvcj1zdHJpbmdvcC1vdmVyZmxvdz0gLVduby1lcnJvcj1zdHJpbmdvcC10cnVuY2F0aW9uIgorQ1hYRkxBR1MgKz0gIi1Xbm8tZXJyb3I9c3RyaW5nb3Atb3ZlcmZsb3c9IC1Xbm8tZXJyb3I9c3RyaW5nb3AtdHJ1bmNhdGlvbiAtV25vLWVycm9yPWZvcm1hdC10cnVuY2F0aW9uPSIKK0xERkxBR1MgKz0gIi1XbCwtLWFzLW5lZWRlZCAtbGF0b21pYyAtV2wsLS1uby1hcy1uZWVkZWQiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGNwIC1hdiAtLW5vLXByZXNlcnZlPW93bmVyc2hpcCAke0J9L2xpYi8ubGlicy8qLnNvKiAke0R9JHtsaWJkaXJ9CisgICAgcm0gLWZyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9sb2NrIgorICAgIHJtIC1mciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfSIKKyAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7ZGF0YWRpcn0vamF2YSIKKyAgICBpZiBbICEgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZCIgXTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJHtCfS9vc2FmL3NlcnZpY2VzL2luZnJhc3RydWN0dXJlL25pZC9zY3JpcHRzL29wZW5zYWZkICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC8KKyAgICBmaQorfQorCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLnNlcnZpY2UiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7UEtHTElCRElSfS8qLmEiCisKK0lOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKKworUkRFUEVORFNfJHtQTn0gKz0gImJhc2ggcHl0aG9uIgorCisjIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy8xODY5NzAvCitFWENMVURFX0ZST01fV09STERfbGliYy1tdXNsID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvZmlsZXMvbGludXhfNS54LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL2xpbnV4XzUueC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYmI4MTFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL2xpbnV4XzUueC5wYXRjaApAQCAtMCwwICsxLDI3IEBACitSZWNvZ25pc2Uga2VybmVsIDUueCB2ZXJzaW9uaW5nIHNjaGVtZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKKy0tLSBhL21ha2VkZWZzCisrKysgYi9tYWtlZGVmcworQEAgLTU0Myw3ICs1NDMsNyBAQCBFT0YKKyAJCTogJHtTSExJQl9FTlY9IkxEX0xJQlJBUllfUEFUSD1gcHdkYC9saWIifQorIAkJOiAke1BMVUdJTl9MRD0iJHtDQy1nY2N9IC1zaGFyZWQifQorIAkJOzsKKy0gIExpbnV4LlszNF0uKikJU1lTVFlQRT1MSU5VWCRSRUxFQVNFX01BSk9SCisrICBMaW51eC5bMzQ1XS4qKQlTWVNUWVBFPUxJTlVYJFJFTEVBU0VfTUFKT1IKKyAJCWNhc2UgIiRDQ0FSR1MiIGluCisgCQkgKi1ETk9fREIqKSA7OworIAkJICotREhBU19EQiopIDs7CistLS0gYS9zcmMvdXRpbC9zeXNfZGVmcy5oCisrKysgYi9zcmMvdXRpbC9zeXNfZGVmcy5oCitAQCAtNzQ5LDcgKzc0OSw3IEBAIGV4dGVybiBpbnQgaW5pdGdyb3Vwcyhjb25zdCBjaGFyICosIGludCkKKyAgLyoKKyAgICogTElOVVguCisgICAqLworLSNpZiBkZWZpbmVkKExJTlVYMikgfHwgZGVmaW5lZChMSU5VWDMpIHx8IGRlZmluZWQoTElOVVg0KQorKyNpZiBkZWZpbmVkKExJTlVYMikgfHwgZGVmaW5lZChMSU5VWDMpIHx8IGRlZmluZWQoTElOVVg0KSB8fCBkZWZpbmVkKExJTlVYNSkKKyAjZGVmaW5lIFNVUFBPUlRFRAorICNkZWZpbmUgVUlOVDMyX1RZUEUJdW5zaWduZWQgaW50CisgI2RlZmluZSBVSU5UMTZfVFlQRQl1bnNpZ25lZCBzaG9ydApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L3Bvc3RmaXhfMy4zLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvcG9zdGZpeF8zLjMuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjcxOGI3ZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvcG9zdGZpeF8zLjMuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLXJlcXVpcmUgcG9zdGZpeC5pbmMKLQotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtbWFrZWRlZnMtVXNlLW5hdGl2ZS1jb21waWxlci10by1idWlsZC1tYWtlZGVmcy50ZXN0LnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9wb3N0Zml4LWluc3RhbGwucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2ljdS1jb25maWcucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDEtbWFrZWRlZnMtYWRkLWxuc2wtYW5kLWxyZXNvbHYtdG8tU1lTTElCUy1ieS1kZWZhdWx0LnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNDM4MWM2NDkyZjQxNWU0YTY5Y2Y1MDk5ZDRhY2VhNzYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTRmNTE0ZGFlNDJiNTI3NWNiNGJjOWM2OTI4M2YxNmMwNjIwMGI3MTgxM2QwYmI2OTY1NjhjNGJhN2FlN2UzYiIKLQotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAicG9zdGZpeFwtKD9QPHB2ZXI+M1wuMyhcLlxkKykrKS50YXIuZ3oiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvcG9zdGZpeF8zLjQuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9wb3N0Zml4XzMuNC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczMzgwZDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvcG9zdGZpeF8zLjQuMS5iYgpAQCAtMCwwICsxLDEyIEBACityZXF1aXJlIHBvc3RmaXguaW5jCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLW1ha2VkZWZzLVVzZS1uYXRpdmUtY29tcGlsZXItdG8tYnVpbGQtbWFrZWRlZnMudGVzdC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vcG9zdGZpeC1pbnN0YWxsLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9pY3UtY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1ha2VkZWZzLWFkZC1sbnNsLWFuZC1scmVzb2x2LXRvLVNZU0xJQlMtYnktZGVmYXVsdC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vbGludXhfNS54LnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImQyOTJiYjQ5YTFjNzlmZjZkMmViOWM1ZTg4YzUxNDI1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhjOTc2M2Y3YThlYzcwZDQ5OTI1N2I3ZjI1YmI1MGUxZjNkYThhNGM0M2U1OTgyNmJhOGEyNmM0YTc3OGQwY2UiCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInBvc3RmaXhcLSg/UDxwdmVyPjNcLjMoXC5cZCspKykudGFyLmd6IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9yYWR2ZF8yLjE3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9yYWR2ZF8yLjE3LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YmFlYTAxLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvcmFkdmRfMi4xNy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotCi1yZXF1aXJlIHJhZHZkLmluYwotCi1TUkNfVVJJW21kNXN1bV0gPSAiNjRlZTNmZGI1NTQ0YmNkZGVmMWM2Y2Q4MGQ3N2ZhMGEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTM3NTdlN2YyMTY0ODk5ZTExNDU0ODJmMWFlOTE4Mjk2MDBhNmUyZjZmZWMyOWNmYjNiMzUwYTNiYjQ1YmQ1ZCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvcmFkdmRfMi4xOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvcmFkdmRfMi4xOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDk3YjIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9yYWR2ZF8yLjE4LmJiCkBAIC0wLDAgKzEsNSBAQAorCityZXF1aXJlIHJhZHZkLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiMjZlYWQzYTBkNWNmYmU0YzgxYzMwODllYWY3YjMyNTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGY1NzNlMzZiOTZiYTkyZDAzYjVhYmJiZDVmMDU5YjljODk5NDk2NzgxMmM3Nzg1MmY0NDA0OWFjNWE0NDhmZCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvc3F1aWRfMy41LjI3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9zcXVpZF8zLjUuMjcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1NTdjNGIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9zcXVpZF8zLjUuMjcuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMTUgKzAsMCBAQAotU1VNTUFSWSA9ICJBIGZ1bGx5LWZlYXR1cmVkIGh0dHAgcHJveHkgYW5kIHdlYi1jYWNoZSBkYWVtb24gZm9yIExpbnV4IgotREVTQ1JJUFRJT04gPSAiQSBmdWxseS1mZWF0dXJlZCBodHRwIHByb3h5IGFuZCB3ZWItY2FjaGUgZGFlbW9uIGZvciBMaW51eC4gXAotU3F1aWQgb2ZmZXJzIGEgcmljaCBhY2Nlc3MgY29udHJvbCwgYXV0aG9yaXphdGlvbiBhbmQgbG9nZ2luZyBlbnZpcm9ubWVudCB0byBcCi1kZXZlbG9wIHdlYiBwcm94eSBhbmQgY29udGVudCBzZXJ2aW5nIGFwcGxpY2F0aW9ucy4gXAotU3F1aWQgb2ZmZXJzIGEgcmljaCBzZXQgb2YgdHJhZmZpYyBvcHRpbWl6YXRpb24gb3B0aW9ucywgbW9zdCBvZiB3aGljaCBhcmUgXAotZW5hYmxlZCBieSBkZWZhdWx0IGZvciBzaW1wbGVyIGluc3RhbGxhdGlvbiBhbmQgaGlnaCBwZXJmb3JtYW5jZS4gXAotIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zcXVpZC1jYWNoZS5vcmciCi1TRUNUSU9OID0gIndlYiIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotCi1NQUpfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAxKX0iCi1NSU5fVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5zcXVpZC1jYWNoZS5vcmcvVmVyc2lvbnMvdiR7TUFKX1ZFUn0vJHtNSU5fVkVSfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9TZXQtdXAtZm9yLWNyb3NzLWNvbXBpbGF0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL1NraXAtQUNfUlVOX0lGRUxTRS10ZXN0cy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9GaXgtZmxhd2VkLWR5bmFtaWMtbGRiLWxpbmstdGVzdC1pbi1jb25maWd1cmUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc3F1aWQtdXNlLXNlcmlhbC10ZXN0cy1jb25maWctbmVlZGVkLWJ5LXB0ZXN0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly92b2xhdGlsZXMuMDNfc3F1aWQgXAotICAgICAgICAgICBmaWxlOi8vc2V0X3N5c3Jvb3RfcGF0Y2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc3F1aWQtZG9uLXQtZG8tc3F1aWQtY29uZi10ZXN0cy1hdC1idWlsZC10aW1lLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLUNoZWNrLWZvci1Xbm8tZXJyb3ItZm9ybWF0LXRydW5jYXRpb24tY29tcC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXRvb2xzLmNjLWZpeGVkLXVudXNlZC1yZXN1bHQtd2FybmluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUJ1Zy00ODQzLXB0MS1leHRfZWRpcmVjdG9yeV91c2VyaXBfYWNsLXJlZmFjdG9yaW5nLWYucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1zbWJsaWItZml4LWJ1ZmZlci1vdmVyLXJlYWQucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklfcmVtb3ZlX3Rvb2xjaGFpbi1jbGFuZyA9ICJmaWxlOi8vMDAwMS1jb25maWd1cmUtQ2hlY2stZm9yLVduby1lcnJvci1mb3JtYXQtdHJ1bmNhdGlvbi1jb21wLnBhdGNoIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYzE3YTNlZDNhNDBjZDU5YzIzZjQ4Yjg1MzlkYWZjZDgiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDY3ZGExMzRlYWYwZjc5NjJiYTU4ODE3OTNkMTA2NzcyZmIwNWZlZmE0YWVhN2Q5NTY5ZWVjMDQxMmM1MjQzMyIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzQ5MmUyZDZkMzJlYzVjMWFhZDBlMDYwOWExNDFjZTkgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZXJyb3JzL0NPUFlSSUdIVDttZDU9ODg2MTEzMGZhZTkxNDAwYmNmOTliNjZmMTMzMTcyYjMgXAotICAgICAgICAgICAgICAgICAgICIKLURFUEVORFMgPSAibGlidG9vbCBrcmI1IG9wZW5sZGFwIGRiIGN5cnVzLXNhc2wgb3BlbnNzbCBleHBhdCBsaWJ4bWwyIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgdXNlcmFkZCBwdGVzdCBwZXJsbmF0aXZlCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1VU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgLS1ob21lLWRpciAvdmFyL3J1bi9zcXVpZCAtLXNoZWxsIC9iaW4vZmFsc2UgLS11c2VyLWdyb3VwIHNxdWlkIgotCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RBUkdFVF9BUkNIJywgJ3Bvd2VycGMnLCAnbm9hdG9taWNzJywgJycsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RBUkdFVF9BUkNIJywgJ21pcHMnLCAnbm9hdG9taWNzJywgJycsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RBUkdFVF9BUkNIJywgJ21pcHNlbCcsICdub2F0b21pY3MnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICIKLVBBQ0tBR0VDT05GSUdbbGlibmV0ZmlsdGVyLWNvbm50cmFja10gPSAiLS13aXRoLW5ldGZpbHRlci1jb25udHJhY2s9JHtpbmNsdWRlZGlyfSwgLS13aXRob3V0LW5ldGZpbHRlci1jb25udHJhY2ssIGxpYm5ldGZpbHRlci1jb25udHJhY2siCi1QQUNLQUdFQ09ORklHW25vYXRvbWljc10gPSAic3F1aWRfY3ZfZ251X2F0b21pY3M9bm8sc3F1aWRfY3ZfZ251X2F0b21pY3M9eWVzLCwiCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgotUEFDS0FHRUNPTkZJR1t3ZXJyb3JdID0gIi0tZW5hYmxlLXN0cmljdC1lcnJvci1jaGVja2luZywtLWRpc2FibGUtc3RyaWN0LWVycm9yLWNoZWNraW5nLCIKLQotQkFTSUNfQVVUSCA9ICJEQiBTQVNMIExEQVAiCi0KLURFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0iCi1CQVNJQ19BVVRIICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdQQU0nLCAnJywgZCl9IgotCi1FWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1kZWZhdWx0LXVzZXI9c3F1aWQgLS1lbmFibGUtYXV0aC1iYXNpYz0nJHtCQVNJQ19BVVRIfScgXAotICAgICAgICAgICAgICAgICAtLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS8ke0JQTn0gXAotICAgICAgICAgICAgICAgICAtLXdpdGgtbG9nZGlyPSR7bG9jYWxzdGF0ZWRpcn0vbG9nLyR7QlBOfSBcCi0gICAgICAgICAgICAgICAgICdQRVJMPSR7VVNSQklOUEFUSH0vZW52IHBlcmwnIgotCi1leHBvcnQgQlVJTERDWFhGTEFHUz0iJHtCVUlMRF9DWFhGTEFHU30iCi0KLVRFU1RESVIgPSAidGVzdC1zdWl0ZSIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgZXhwb3J0IFNZU1JPT1Q9JFBLR19DT05GSUdfU1lTUk9PVF9ESVIKLX0KLQotZG9fY29tcGlsZV9wdGVzdCgpIHsKLSAgICBvZV9ydW5tYWtlIC1DICR7VEVTVERJUn0gYnVpbGR0ZXN0LVRFU1RTCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0gICAgY3AgLXJmICR7Qn0vJHtURVNURElSfSAke0R9JHtQVEVTVF9QQVRIfQotICAgIGNwIC1yZiAke1N9LyR7VEVTVERJUn0gJHtEfSR7UFRFU1RfUEFUSH0KLQotICAgICMgZG8gTk9UIG5lZWQgdG8gcmVidWlsZCBNYWtlZmlsZSBpdHNlbGYKLSAgICBzZWQgLWkgJ3MvXk1ha2VmaWxlOi4qJC9NYWtlZmlsZTovJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCi0KLSAgICAjIEFkZCBzcXVpZC1jb25mLXRlc3RzIGZvciBydW50aW1lIHRlc3RzCi0gICAgc2VkIC1lICdzL15cKHJ1bnRlc3QtVEVTVFM6XCkvXDEgc3F1aWQtY29uZi10ZXN0cy8nIFwKLSAgICAgICAgLWUgInMvXChsaXN0PScgXCQoVEVTVFMpXCkvXDEgc3F1aWQtY29uZi10ZXN0cy8iIFwKLSAgICAgICAgLWkgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQotCi0gICAgIyBFbnN1cmUgdGhlIHBhdGggZm9yIGNvbW1hbmQgdHJ1ZSBpcyBjb3JyZWN0Ci0gICAgc2VkIC1pICdzOl5UUlVFID0gLiokOlRSVUUgPSAvYmluL3RydWU6JyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAotICAgICAgICBlY2hvICJkICR7bG9jYWxzdGF0ZWRpcn0vcnVuLyR7QlBOfSAwNzU1IHNxdWlkIHNxdWlkIC0iID4+ICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvJHtCUE59LmNvbmYKLSAgICAgICAgZWNobyAiZCAke2xvY2Fsc3RhdGVkaXJ9L2xvZy8ke0JQTn0gMDc1MCBzcXVpZCBzcXVpZCAtIiA+PiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kLyR7QlBOfS5jb25mCi0gICAgZmkKLQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuMDNfc3F1aWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvMDNfc3F1aWQKLQotICAgIHJtZGlyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4vJHtCUE59IgotICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCi0KLSAgICBybWRpciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbG9nLyR7QlBOfSIKLSAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbG9nIgotfQotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9ICR7ZGF0YWRpcn0vZXJyb3JzICR7ZGF0YWRpcn0vaWNvbnMiCi1GSUxFU18ke1BOfS1kYmcgKz0gIi91c3Ivc3JjL2RlYnVnIgotRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9LyoudHh0IgotCi1SREVQRU5EU18ke1BOfSArPSAicGVybCIKLVJERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJtYWtlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9zcXVpZF8zLjUuMjguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL3NxdWlkXzMuNS4yOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzNjMWI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9zcXVpZF8zLjUuMjguYmIKQEAgLTAsMCArMSwxMTUgQEAKK1NVTU1BUlkgPSAiQSBmdWxseS1mZWF0dXJlZCBodHRwIHByb3h5IGFuZCB3ZWItY2FjaGUgZGFlbW9uIGZvciBMaW51eCIKK0RFU0NSSVBUSU9OID0gIkEgZnVsbHktZmVhdHVyZWQgaHR0cCBwcm94eSBhbmQgd2ViLWNhY2hlIGRhZW1vbiBmb3IgTGludXguIFwKK1NxdWlkIG9mZmVycyBhIHJpY2ggYWNjZXNzIGNvbnRyb2wsIGF1dGhvcml6YXRpb24gYW5kIGxvZ2dpbmcgZW52aXJvbm1lbnQgdG8gXAorZGV2ZWxvcCB3ZWIgcHJveHkgYW5kIGNvbnRlbnQgc2VydmluZyBhcHBsaWNhdGlvbnMuIFwKK1NxdWlkIG9mZmVycyBhIHJpY2ggc2V0IG9mIHRyYWZmaWMgb3B0aW1pemF0aW9uIG9wdGlvbnMsIG1vc3Qgb2Ygd2hpY2ggYXJlIFwKK2VuYWJsZWQgYnkgZGVmYXVsdCBmb3Igc2ltcGxlciBpbnN0YWxsYXRpb24gYW5kIGhpZ2ggcGVyZm9ybWFuY2UuIFwKKyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuc3F1aWQtY2FjaGUub3JnIgorU0VDVElPTiA9ICJ3ZWIiCitMSUNFTlNFID0gIkdQTHYyKyIKKworTUFKX1ZFUiA9ICIke0BvZS51dGlscy50cmltX3ZlcnNpb24oIiR7UFZ9IiwgMSl9IgorTUlOX1ZFUiA9ICIke0BvZS51dGlscy50cmltX3ZlcnNpb24oIiR7UFZ9IiwgMil9IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuc3F1aWQtY2FjaGUub3JnL1ZlcnNpb25zL3Yke01BSl9WRVJ9LyR7TUlOX1ZFUn0vJHtCUE59LSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vU2V0LXVwLWZvci1jcm9zcy1jb21waWxhdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9Ta2lwLUFDX1JVTl9JRkVMU0UtdGVzdHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vRml4LWZsYXdlZC1keW5hbWljLWxkYi1saW5rLXRlc3QtaW4tY29uZmlndXJlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NxdWlkLXVzZS1zZXJpYWwtdGVzdHMtY29uZmlnLW5lZWRlZC1ieS1wdGVzdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vdm9sYXRpbGVzLjAzX3NxdWlkIFwKKyAgICAgICAgICAgZmlsZTovL3NldF9zeXNyb290X3BhdGNoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NxdWlkLWRvbi10LWRvLXNxdWlkLWNvbmYtdGVzdHMtYXQtYnVpbGQtdGltZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS1DaGVjay1mb3ItV25vLWVycm9yLWZvcm1hdC10cnVuY2F0aW9uLWNvbXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS10b29scy5jYy1maXhlZC11bnVzZWQtcmVzdWx0LXdhcm5pbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1CdWctNDg0My1wdDEtZXh0X2VkaXJlY3RvcnlfdXNlcmlwX2FjbC1yZWZhY3RvcmluZy1mLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItc21ibGliLWZpeC1idWZmZXItb3Zlci1yZWFkLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJX3JlbW92ZV90b29sY2hhaW4tY2xhbmcgPSAiZmlsZTovLzAwMDEtY29uZmlndXJlLUNoZWNrLWZvci1Xbm8tZXJyb3ItZm9ybWF0LXRydW5jYXRpb24tY29tcC5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjRhZTNmNjI3N2IzYWE2Mzg2Y2I1YWQyZDk1NDE3OWMyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjExOTcxYmZlM2MxM2Y0MzhlNDI1NjllYTU1MTIwNmNhZjY4ZWNhYTk2ODMwNWMzMGY3YjQyMmI1NTZlYmM3YWMiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM0OTJlMmQ2ZDMyZWM1YzFhYWQwZTA2MDlhMTQxY2U5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2Vycm9ycy9DT1BZUklHSFQ7bWQ1PTFjMDc4MWUyZWNkMzA1MWM3NjVkNTI1NTcyZGVmYmM3IFwKKyAgICAgICAgICAgICAgICAgICAiCitERVBFTkRTID0gImxpYnRvb2wga3JiNSBvcGVubGRhcCBkYiBjeXJ1cy1zYXNsIG9wZW5zc2wgZXhwYXQgbGlieG1sMiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHVzZXJhZGQgcHRlc3QgcGVybG5hdGl2ZQorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0taG9tZS1kaXIgL3Zhci9ydW4vc3F1aWQgLS1zaGVsbCAvYmluL2ZhbHNlIC0tdXNlci1ncm91cCBzcXVpZCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUQVJHRVRfQVJDSCcsICdwb3dlcnBjJywgJ25vYXRvbWljcycsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUQVJHRVRfQVJDSCcsICdtaXBzJywgJ25vYXRvbWljcycsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUQVJHRVRfQVJDSCcsICdtaXBzZWwnLCAnbm9hdG9taWNzJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSBcCisgICAgICAgICAgICAgICAgICAiCitQQUNLQUdFQ09ORklHW2xpYm5ldGZpbHRlci1jb25udHJhY2tdID0gIi0td2l0aC1uZXRmaWx0ZXItY29ubnRyYWNrPSR7aW5jbHVkZWRpcn0sIC0td2l0aG91dC1uZXRmaWx0ZXItY29ubnRyYWNrLCBsaWJuZXRmaWx0ZXItY29ubnRyYWNrIgorUEFDS0FHRUNPTkZJR1tub2F0b21pY3NdID0gInNxdWlkX2N2X2dudV9hdG9taWNzPW5vLHNxdWlkX2N2X2dudV9hdG9taWNzPXllcywsIgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKK1BBQ0tBR0VDT05GSUdbd2Vycm9yXSA9ICItLWVuYWJsZS1zdHJpY3QtZXJyb3ItY2hlY2tpbmcsLS1kaXNhYmxlLXN0cmljdC1lcnJvci1jaGVja2luZywiCisKK0JBU0lDX0FVVEggPSAiREIgU0FTTCBMREFQIgorCitERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdsaWJwYW0nLCAnJywgZCl9IgorQkFTSUNfQVVUSCArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnUEFNJywgJycsIGQpfSIKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGgtZGVmYXVsdC11c2VyPXNxdWlkIC0tZW5hYmxlLWF1dGgtYmFzaWM9JyR7QkFTSUNfQVVUSH0nIFwKKyAgICAgICAgICAgICAgICAgLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0vJHtCUE59IFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWxvZ2Rpcj0ke2xvY2Fsc3RhdGVkaXJ9L2xvZy8ke0JQTn0gXAorICAgICAgICAgICAgICAgICAnUEVSTD0ke1VTUkJJTlBBVEh9L2VudiBwZXJsJyIKKworZXhwb3J0IEJVSUxEQ1hYRkxBR1M9IiR7QlVJTERfQ1hYRkxBR1N9IgorCitURVNURElSID0gInRlc3Qtc3VpdGUiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGV4cG9ydCBTWVNST09UPSRQS0dfQ09ORklHX1NZU1JPT1RfRElSCit9CisKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisgICAgb2VfcnVubWFrZSAtQyAke1RFU1RESVJ9IGJ1aWxkdGVzdC1URVNUUworfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworICAgIGNwIC1yZiAke0J9LyR7VEVTVERJUn0gJHtEfSR7UFRFU1RfUEFUSH0KKyAgICBjcCAtcmYgJHtTfS8ke1RFU1RESVJ9ICR7RH0ke1BURVNUX1BBVEh9CisKKyAgICAjIGRvIE5PVCBuZWVkIHRvIHJlYnVpbGQgTWFrZWZpbGUgaXRzZWxmCisgICAgc2VkIC1pICdzL15NYWtlZmlsZTouKiQvTWFrZWZpbGU6LycgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQorCisgICAgIyBBZGQgc3F1aWQtY29uZi10ZXN0cyBmb3IgcnVudGltZSB0ZXN0cworICAgIHNlZCAtZSAncy9eXChydW50ZXN0LVRFU1RTOlwpL1wxIHNxdWlkLWNvbmYtdGVzdHMvJyBcCisgICAgICAgIC1lICJzL1wobGlzdD0nIFwkKFRFU1RTKVwpL1wxIHNxdWlkLWNvbmYtdGVzdHMvIiBcCisgICAgICAgIC1pICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKKworICAgICMgRW5zdXJlIHRoZSBwYXRoIGZvciBjb21tYW5kIHRydWUgaXMgY29ycmVjdAorICAgIHNlZCAtaSAnczpeVFJVRSA9IC4qJDpUUlVFID0gL2Jpbi90cnVlOicgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKyAgICAgICAgZWNobyAiZCAke2xvY2Fsc3RhdGVkaXJ9L3J1bi8ke0JQTn0gMDc1NSBzcXVpZCBzcXVpZCAtIiA+PiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kLyR7QlBOfS5jb25mCisgICAgICAgIGVjaG8gImQgJHtsb2NhbHN0YXRlZGlyfS9sb2cvJHtCUE59IDA3NTAgc3F1aWQgc3F1aWQgLSIgPj4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC8ke0JQTn0uY29uZgorICAgIGZpCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdm9sYXRpbGVzLjAzX3NxdWlkICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzAzX3NxdWlkCisKKyAgICBybWRpciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuLyR7QlBOfSIKKyAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgorCisgICAgcm1kaXIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xvZy8ke0JQTn0iCisgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xvZyIKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfSAke2RhdGFkaXJ9L2Vycm9ycyAke2RhdGFkaXJ9L2ljb25zIgorRklMRVNfJHtQTn0tZGJnICs9ICIvdXNyL3NyYy9kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS8qLnR4dCIKKworUkRFUEVORFNfJHtQTn0gKz0gInBlcmwiCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAibWFrZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy8wMDAxLXZzZnRwZC1hbGxvdy1zeXNjYWxscy1pbi10aGUtc2VjY29tcC1zYW5kYm94LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zLzAwMDEtdnNmdHBkLWFsbG93LXN5c2NhbGxzLWluLXRoZS1zZWNjb21wLXNhbmRib3gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzU3M2M5NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy8wMDAxLXZzZnRwZC1hbGxvdy1zeXNjYWxscy1pbi10aGUtc2VjY29tcC1zYW5kYm94LnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAKK0Zyb20gZGQzNTMzMDNmNjJkMWRmZTMyY2IwMDBlNDgyNjE2YjAyMTcwOGZiZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDI5IE5vdiAyMDE4IDAwOjQ3OjM0IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIHZzZnRwZDogYWxsb3cgc3lzY2FsbHMgaW4gdGhlIHNlY2NvbXAgc2FuZGJveAorCisqIEFsbG93IHN5c2luZm8oKSBhbmQgZ2V0ZGVudHM2NCBpbiB0aGUgc2VjY29tcAorICBzYW5kYm94IG90aGVyd2lzZSBjb21lcyBiZWxvdyBPT1BTOiBwcml2X3NvY2tfZ2V0X2NtZAorICBhcyB0aGUgc3lzY2FsbCBzeXNpbmZvKCkgYW5kIGdldGRlbnRzNjQgbm90IGFsbG93ZWQKKworcm9vdEBxZW11eDg2LTY0On4jIHRuZnRwIDE5Mi4xNjguMS4xCitDb25uZWN0ZWQgdG8gMTkyLjE2OC4xLjEuCisyMjAgKHZzRlRQZCAzLjAuMykKK05hbWUgKDE5Mi4xNjguMS4xOnJvb3QpOiBhbm9ueW1vdXMKKzMzMSBQbGVhc2Ugc3BlY2lmeSB0aGUgcGFzc3dvcmQuCitQYXNzd29yZDoKKzIzMCBMb2dpbiBzdWNjZXNzZnVsLgorUmVtb3RlIHN5c3RlbSB0eXBlIGlzIFVOSVguCitVc2luZyBiaW5hcnkgbW9kZSB0byB0cmFuc2ZlciBmaWxlcy4KK2Z0cD4gcHJvbXB0CitJbnRlcmFjdGl2ZSBtb2RlIG9mZi4KK2Z0cD4gbWdldCBzbWFsbCoKK09PUFM6IHByaXZfc29ja19nZXRfY21kCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgorLS0tCisgc2VjY29tcHNhbmRib3guYyB8IDIgKysKKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zZWNjb21wc2FuZGJveC5jIGIvc2VjY29tcHNhbmRib3guYworaW5kZXggMmMzNTBhOS4uMzc3YzUwZSAxMDA2NDQKKy0tLSBhL3NlY2NvbXBzYW5kYm94LmMKKysrKyBiL3NlY2NvbXBzYW5kYm94LmMKK0BAIC00MDksNiArNDA5LDggQEAgc2VjY29tcF9zYW5kYm94X3NldHVwX3Bvc3Rsb2dpbihjb25zdCBzdHJ1Y3QgdnNmX3Nlc3Npb24qIHBfc2VzcykKKyAgIGFsbG93X25yKF9fTlJfZ2V0Y3dkKTsKKyAgIGFsbG93X25yKF9fTlJfY2hkaXIpOworICAgYWxsb3dfbnIoX19OUl9nZXRkZW50cyk7CisrICBhbGxvd19ucihfX05SX2dldGRlbnRzNjQpOworKyAgYWxsb3dfbnIoX19OUl9zeXNpbmZvKTsKKyAgIC8qIE1pc2MgKi8KKyAgIGFsbG93X25yKF9fTlJfdW1hc2spOworIAorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zLzAwMDEtdnNmdHBkLWFsbG93LXN5c2luZm8taW4tdGhlLXNlY2NvbXAtc2FuZGJveC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy8wMDAxLXZzZnRwZC1hbGxvdy1zeXNpbmZvLWluLXRoZS1zZWNjb21wLXNhbmRib3gucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2YzBmODAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zLzAwMDEtdnNmdHBkLWFsbG93LXN5c2luZm8taW4tdGhlLXNlY2NvbXAtc2FuZGJveC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gOWM0ODI2YzE5ZjA0ZGE1MzM4ODYyMDkzNjFhMmNhZGRmNTgyZDY1YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pbmdsaSBZdSA8TWluZ2xpLll1QHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUdWUsIDYgU2VwIDIwMTYgMTc6MTc6NDQgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gdnNmdHBkOiBhbGxvdyBzeXNpbmZvKCkgaW4gdGhlIHNlY2NvbXAgc2FuZGJveAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotKiBBbGxvdyBzeXNpbmZvKCkgaW4gdGhlIHNlY2NvbXAgc2FuZGJveCBvdGhlcndpc2UKLSAgY29tZXMgYmVsb3cgT09QUzogcHJpdl9zb2NrX2dldF9jbWQgYXMgdGhlIHN5c2NhbGwKLSAgc3lzaW5mbygpIG5vdCBhbGxvd2VkCi0KLXRuZnRwIDE5Mi4xNjguMS4xCi1Db25uZWN0ZWQgdG8gMTkyLjE2OC4xLjEuCi0yMjAgKHZzRlRQZCAzLjAuMykKLU5hbWUgKDE5Mi4xNjguMS4xOnJvb3QpOiBhbm9ueW1vdXMKLTMzMSBQbGVhc2Ugc3BlY2lmeSB0aGUgcGFzc3dvcmQuCi1QYXNzd29yZDoKLTIzMCBMb2dpbiBzdWNjZXNzZnVsLgotUmVtb3RlIHN5c3RlbSB0eXBlIGlzIFVOSVguCi1Vc2luZyBiaW5hcnkgbW9kZSB0byB0cmFuc2ZlciBmaWxlcy4KLWZ0cD4gcHJvbXB0Ci1JbnRlcmFjdGl2ZSBtb2RlIG9mZi4KLWZ0cD4gbWdldCBzbWFsbCoKLU9PUFM6IHByaXZfc29ja19nZXRfY21kCi0KLVNpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8TWluZ2xpLll1QHdpbmRyaXZlci5jb20+Ci0KLS0tLQotIHNlY2NvbXBzYW5kYm94LmMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3NlY2NvbXBzYW5kYm94LmMgYi9zZWNjb21wc2FuZGJveC5jCi1pbmRleCAyYzM1MGE5Li42N2Q5Y2E1IDEwMDY0NAotLS0tIGEvc2VjY29tcHNhbmRib3guYwotKysrIGIvc2VjY29tcHNhbmRib3guYwotQEAgLTQwOSw2ICs0MDksNyBAQCBzZWNjb21wX3NhbmRib3hfc2V0dXBfcG9zdGxvZ2luKGNvbnN0IHN0cnVjdCB2c2Zfc2Vzc2lvbiogcF9zZXNzKQotICAgYWxsb3dfbnIoX19OUl9nZXRjd2QpOwotICAgYWxsb3dfbnIoX19OUl9jaGRpcik7Ci0gICBhbGxvd19ucihfX05SX2dldGRlbnRzKTsKLSsgIGFsbG93X25yKF9fTlJfc3lzaW5mbyk7Ci0gICAvKiBNaXNjICovCi0gICBhbGxvd19ucihfX05SX3VtYXNrKTsKLSAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZF8zLjAuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZF8zLjAuMy5iYgppbmRleCAyZTNlMGU4Li5kZjBkN2Y0IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGRfMy4wLjMuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkXzMuMC4zLmJiCkBAIC0xOCw3ICsxOCw3IEBACiAgICAgICAgICAgIGZpbGU6Ly92b2xhdGlsZXMuOTlfdnNmdHBkIFwKICAgICAgICAgICAgZmlsZTovL3ZzZnRwZC5zZXJ2aWNlIFwKICAgICAgICAgICAgZmlsZTovL3ZzZnRwZC0yLjEuMC1maWx0ZXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS12c2Z0cGQtYWxsb3ctc3lzaW5mby1pbi10aGUtc2VjY29tcC1zYW5kYm94LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtdnNmdHBkLWFsbG93LXN5c2NhbGxzLWluLXRoZS1zZWNjb21wLXNhbmRib3gucGF0Y2ggXAogICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd0Y3Atd3JhcHBlcnMnLCAnZmlsZTovL3ZzZnRwZC10Y3Bfd3JhcHBlcnMtc3VwcG9ydC5wYXRjaCcsICcnLCBkKX0gXAogICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICcnLCAnJHtOT1BBTV9TUkN9JywgZCl9IFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtc3lzZGVwdXRpbC5jLUZpeC13aXRoLW11c2wtd2hpY2gtZG9lcy1ub3QtaGF2ZS11dG1weC5wYXRjaCBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1pcmMvem5jL3puY19naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1pcmMvem5jL3puY19naXQuYmIKaW5kZXggOGM2OTc5Yy4uNzI4ZWY4NyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtaXJjL3puYy96bmNfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWlyYy96bmMvem5jX2dpdC5iYgpAQCAtMzAsNSArMzAsNSBAQAogfQogCiBkb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBzZWQgLWkgJ3MvLWZkZWJ1Zy1wcmVmaXgtbWFwW14gXSovL2c7IHMjJHtTVEFHSU5HX0RJUl9UQVJHRVR9IyNnJyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy8qLnBjCisgICAgc2VkIC1pIC1lICdzfCR7REVCVUdfUFJFRklYX01BUH18fGc7IHN8LS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfXx8ZycgJHtEfSR7bGliZGlyfS9wa2djb25maWcvKi5wYwogfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL3dpcmVndWFyZC93aXJlZ3VhcmQtbW9kdWxlXzAuMC4yMDE3MTIyMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC93aXJlZ3VhcmQvd2lyZWd1YXJkLW1vZHVsZV8wLjAuMjAxNzEyMjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJjNjljNTguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL3dpcmVndWFyZC93aXJlZ3VhcmQtbW9kdWxlXzAuMC4yMDE3MTIyMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLXJlcXVpcmUgd2lyZWd1YXJkLmluYwotCi1pbmhlcml0IG1vZHVsZSBrZXJuZWwtbW9kdWxlLXNwbGl0Ci0KLURFUEVORFMgPSAidmlydHVhbC9rZXJuZWwgbGlibW5sIgotCi0jIFRoaXMgbW9kdWxlIHJlcXVpcmVzIExpbnV4IDMuMTAgaGlnaGVyIGFuZCBzZXZlcmFsIG5ldHdvcmtpbmcgcmVsYXRlZAotIyBjb25maWd1cmF0aW9uIG9wdGlvbnMuIEZvciBleGFjdCBrZXJuZWwgcmVxdWlyZW1lbnRzIHZpc2l0OgotIyBodHRwczovL3d3dy53aXJlZ3VhcmQuaW8vaW5zdGFsbC8ja2VybmVsLXJlcXVpcmVtZW50cwotCi1FWFRSQV9PRU1BS0VfYXBwZW5kID0gIiBcCi0gICAgS0VSTkVMRElSPSR7U1RBR0lOR19LRVJORUxfRElSfSBcCi0gICAgIgotCi1NQUtFX1RBUkdFVFMgPSAibW9kdWxlIgotCi1SUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLXh0LWhhc2hsaW1pdCIKLU1PRFVMRV9OQU1FID0gIndpcmVndWFyZCIKLQotIyBLZXJuZWwgbW9kdWxlIHBhY2thZ2VzIE1VU1QgYmVnaW4gd2l0aCAna2VybmVsLW1vZHVsZS0nLCBvdGhlcndpc2UKLSMgbXVsdGlsaWIgaW1hZ2UgZ2VuZXJhdGlvbiBjYW4gZmFpbC4KLSMKLSMgVGhlIGZvbGxvd2luZyBsaW5lIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHRoZSByZWNpcGUgbmFtZSBkb2VzIG5vdCBiZWdpbgotIyB3aXRoIGtlcm5lbC1tb2R1bGUtLgotUEtHXyR7UE59ID0gImtlcm5lbC1tb2R1bGUtJHtNT0RVTEVfTkFNRX0iCi0KLW1vZHVsZV9kb19pbnN0YWxsKCkgewotICAgIGluc3RhbGwgLWQgJHtEfS9saWIvbW9kdWxlcy8ke0tFUk5FTF9WRVJTSU9OfS9rZXJuZWwvJHtNT0RVTEVfTkFNRX0KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtNT0RVTEVfTkFNRX0ua28gXAotICAgICR7RH0vbGliL21vZHVsZXMvJHtLRVJORUxfVkVSU0lPTn0va2VybmVsLyR7TU9EVUxFX05BTUV9LyR7TU9EVUxFX05BTUV9LmtvCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC1tb2R1bGVfMC4wLjIwMTkwMTIzLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL3dpcmVndWFyZC93aXJlZ3VhcmQtbW9kdWxlXzAuMC4yMDE5MDEyMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYWRjOTdhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL3dpcmVndWFyZC93aXJlZ3VhcmQtbW9kdWxlXzAuMC4yMDE5MDEyMy5iYgpAQCAtMCwwICsxLDMxIEBACityZXF1aXJlIHdpcmVndWFyZC5pbmMKKworaW5oZXJpdCBtb2R1bGUga2VybmVsLW1vZHVsZS1zcGxpdAorCitERVBFTkRTID0gInZpcnR1YWwva2VybmVsIGxpYm1ubCIKKworIyBUaGlzIG1vZHVsZSByZXF1aXJlcyBMaW51eCAzLjEwIGhpZ2hlciBhbmQgc2V2ZXJhbCBuZXR3b3JraW5nIHJlbGF0ZWQKKyMgY29uZmlndXJhdGlvbiBvcHRpb25zLiBGb3IgZXhhY3Qga2VybmVsIHJlcXVpcmVtZW50cyB2aXNpdDoKKyMgaHR0cHM6Ly93d3cud2lyZWd1YXJkLmlvL2luc3RhbGwvI2tlcm5lbC1yZXF1aXJlbWVudHMKKworRVhUUkFfT0VNQUtFX2FwcGVuZCA9ICIgXAorICAgIEtFUk5FTERJUj0ke1NUQUdJTkdfS0VSTkVMX0RJUn0gXAorICAgICIKKworTUFLRV9UQVJHRVRTID0gIm1vZHVsZSIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS14dC1oYXNobGltaXQiCitNT0RVTEVfTkFNRSA9ICJ3aXJlZ3VhcmQiCisKKyMgS2VybmVsIG1vZHVsZSBwYWNrYWdlcyBNVVNUIGJlZ2luIHdpdGggJ2tlcm5lbC1tb2R1bGUtJywgb3RoZXJ3aXNlCisjIG11bHRpbGliIGltYWdlIGdlbmVyYXRpb24gY2FuIGZhaWwuCisjCisjIFRoZSBmb2xsb3dpbmcgbGluZSBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB0aGUgcmVjaXBlIG5hbWUgZG9lcyBub3QgYmVnaW4KKyMgd2l0aCBrZXJuZWwtbW9kdWxlLS4KK1BLR18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLSR7TU9EVUxFX05BTUV9IgorCittb2R1bGVfZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L21vZHVsZXMvJHtLRVJORUxfVkVSU0lPTn0va2VybmVsLyR7TU9EVUxFX05BTUV9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7TU9EVUxFX05BTUV9LmtvIFwKKyAgICAke0R9JHtub25hcmNoX2Jhc2VfbGliZGlyfS9tb2R1bGVzLyR7S0VSTkVMX1ZFUlNJT059L2tlcm5lbC8ke01PRFVMRV9OQU1FfS8ke01PRFVMRV9OQU1FfS5rbworfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL3dpcmVndWFyZC93aXJlZ3VhcmQtdG9vbHNfMC4wLjIwMTcxMjIxLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL3dpcmVndWFyZC93aXJlZ3VhcmQtdG9vbHNfMC4wLjIwMTkwMTIzLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC10b29sc18wLjAuMjAxNzEyMjEuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC93aXJlZ3VhcmQvd2lyZWd1YXJkLXRvb2xzXzAuMC4yMDE5MDEyMy5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL3dpcmVndWFyZC93aXJlZ3VhcmQuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL3dpcmVndWFyZC93aXJlZ3VhcmQuaW5jCmluZGV4IDZiZDU4MWEuLjgzMTRlNzkgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC93aXJlZ3VhcmQvd2lyZWd1YXJkLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC5pbmMKQEAgLTExLDcgKzExLDcgQEAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgogCiBTUkNfVVJJID0gImh0dHBzOi8vZ2l0Lnp4MmM0LmNvbS9XaXJlR3VhcmQvc25hcHNob3QvV2lyZUd1YXJkLSR7UFZ9LnRhci54eiIKLVNSQ19VUklbbWQ1c3VtXSA9ICIzOWJiOTlmZTExMzU2NDIzZmIxYWI0NWFlMmQ5MzhiYiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyYjk3Njk3ZTliMjcxYmE4ODM2YTA0MTIwYTI4N2I4MjQ2NDgxMjRmMjFkNTMwOTE3MGVjNTFjMWY4NmFjNWVkIgorU1JDX1VSSVttZDVzdW1dID0gIjhhMGEyMzJmNjVkNWQ4NmRkNDA4ZWZkOWFjMzBiY2Y5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVkZDEzYzc2MzFhZjE2OWUzODM4NjIxYjFhMWJmZjNlZjczY2Y3YmM3NzhlZWMyYmQ1NWY3YzEwODlmZmRmOWIiCiAKIFMgPSAiJHtXT1JLRElSfS9XaXJlR3VhcmQtJHtQVn0vc3JjLyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2hfMC4xNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2hfMC4xNy5iYgppbmRleCAwM2RkOTYzLi5kMDM0Y2Q4IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoXzAuMTcuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaF8wLjE3LmJiCkBAIC0zOSw2ICszOSw4IEBACiBQQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCBkKX0iCiBQQUNLQUdFQ09ORklHW3BhbV0gPSAiICwgLS13aXRob3V0LXBhbSwgbGlicGFtLCBsaWJwYW0iCiAKK0NPTVBBVElCTEVfSE9TVF9saWJjLW11c2wgPSAnbnVsbCcKKwogZG9fY29uZmlndXJlICgpIHsKICAgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0gLS1leGVjLXByZWZpeD0ke2V4ZWNfcHJlZml4fQogICAgIGVjaG8gIklOU1RBTExST09UPSR7RH0iID4gTUNPTkZJRwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wLzAwMDEtbmV0LXNubXAtZml4LWNvbXBpbGUtZXJyb3ItZGlzYWJsZS1kZXMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1uZXQtc25tcC1maXgtY29tcGlsZS1lcnJvci1kaXNhYmxlLWRlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTY4NmNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wLzAwMDEtbmV0LXNubXAtZml4LWNvbXBpbGUtZXJyb3ItZGlzYWJsZS1kZXMucGF0Y2gKQEAgLTAsMCArMSw2MiBAQAorRnJvbSBlMzhjNTA4ZWY0MDE1OTNiMWQ0ZmU0MmI2MmU0MmE0OWNmZWM4MmFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjYgRmViIDIwMTkgMTQ6MjY6MDcgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gbmV0LXNubXA6IGZpeCBjb21waWxlIGVycm9yIHdpdGggLS1kaXNhYmxlLWRlcworCit8IHNjYXBpLmM6IEluIGZ1bmN0aW9uICdzY19lbmNyeXB0JzoKK3wgc2NhcGkuYzoxMjU2OjU6IGVycm9yOiAncGFkX3NpemUnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdkeXNpemUnPworfCAgICAgIHBhZF9zaXplID0gcGFpLT5wYWRfc2l6ZTsKK3wgICAgICBefn5+fn5+fgorfCAgICAgIGR5c2l6ZQorCitwYWRfc2l6ZSBpcyBkZWZpbmVkIG9ubHkgd2l0aG91dCAtLWRpc2FibGUtZGVzCitbc25pcF0KKyNpZm5kZWYgTkVUU05NUF9ESVNBQkxFX0RFUworICAgIGludCAgICAgICAgICAgICBwYWQsIHBsYXN0LCBwYWRfc2l6ZSA9IDA7IAorCitidXQgdXNlZCB3aGVuIGRpc2FibGUtZGVzLAorW3NuaXBdCisgICAgICAgIFFVSVRGVU4oU05NUEVSUl9HRU5FUlIsIHNjX2VuY3J5cHRfcXVpdCk7CisgICAgfSAgICAKKyAgICBwYWRfc2l6ZSA9IHBhaS0+cGFkX3NpemU7CisKKyAgICBtZW1zZXQobXlfaXYsIDAsIHNpemVvZihteV9pdikpOworCisjaWZuZGVmIE5FVFNOTVBfRElTQUJMRV9ERVMKKyAgICBpZiAoVVNNX0NSRUFURV9VU0VSX1BSSVZfREVTID09IChwYWktPnR5cGUgJiBVU01fUFJJVl9NQVNLX0FMRykpIHsKKworICAgICAgICAvKgorCitmaXggYnkgbW92ZSBpdCBpbnRvICNpZm5kZWYgTkVUU05NUF9ESVNBQkxFX0RFUworCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9uZXQtc25tcC9idWdzLzI5MjcvXQorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgc25tcGxpYi9zY2FwaS5jIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zbm1wbGliL3NjYXBpLmMgYi9zbm1wbGliL3NjYXBpLmMKK2luZGV4IDQzY2FkZGYuLmMwOWRlYjAgMTAwNjQ0CistLS0gYS9zbm1wbGliL3NjYXBpLmMKKysrKyBiL3NubXBsaWIvc2NhcGkuYworQEAgLTEyNTMsNyArMTI1Myw2IEBAIHNjX2VuY3J5cHQoY29uc3Qgb2lkICogcHJpdnR5cGUsIHNpemVfdCBwcml2dHlwZWxlbiwKKyAKKyAgICAgICAgIFFVSVRGVU4oU05NUEVSUl9HRU5FUlIsIHNjX2VuY3J5cHRfcXVpdCk7CisgICAgIH0KKy0gICAgcGFkX3NpemUgPSBwYWktPnBhZF9zaXplOworIAorICAgICBtZW1zZXQobXlfaXYsIDAsIHNpemVvZihteV9pdikpOworIAorQEAgLTEyNjMsNiArMTI2Miw4IEBAIHNjX2VuY3J5cHQoY29uc3Qgb2lkICogcHJpdnR5cGUsIHNpemVfdCBwcml2dHlwZWxlbiwKKyAgICAgICAgIC8qCisgICAgICAgICAgKiBub3cgY2FsY3VsYXRlIHRoZSBwYWRkaW5nIG5lZWRlZCAKKyAgICAgICAgICAqLworKworKyAgICAgICBwYWRfc2l6ZSA9IHBhaS0+cGFkX3NpemU7CisgICAgICAgICBwYWQgPSBwYWRfc2l6ZSAtIChwdGxlbiAlIHBhZF9zaXplKTsKKyAgICAgICAgIHBsYXN0ID0gKGludCkgcHRsZW4gLSAocGFkX3NpemUgLSBwYWQpOworICAgICAgICAgaWYgKHBhZCA9PSBwYWRfc2l6ZSkKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wLzAwMDEtcmVtb3ZlLWNvbmZpZ3VyZS1vcHRpb25zLWZyb20tdmVyc2lvbmluZm8ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1yZW1vdmUtY29uZmlndXJlLW9wdGlvbnMtZnJvbS12ZXJzaW9uaW5mby5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQ1NDA5Ni4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1yZW1vdmUtY29uZmlndXJlLW9wdGlvbnMtZnJvbS12ZXJzaW9uaW5mby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLUZyb20gZjU5MjM5OGIxYzY1OWY4NDE2OGY1Yzg0ZjYzYWYzYjcxNDU0YjhmNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IEZyaSwgMjggU2VwIDIwMTggMjI6NTk6MjMgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gcmVtb3ZlIGNvbmZpZ3VyZSBvcHRpb25zIGZyb20gdmVyc2lvbmluZm8KLQotQ29uZmlndXJlIG9wdGlvbnMgY29udGFpbnMgaG9zdCBidWlsZCBwYXRocyB3aGljaCBicmVha3MKLWJpbmFyeSByZXByb2R1Y2liaWxpdHkuCi0KLUl0IGlzIG5vIGhhcm0gdG8gcmVtb3ZlIGl0IGZyb20gdmVyc2lvbiBpbmZvLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Nyb3NzIGNvbXBpbGUgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGFnZW50L21pYmdyb3VwL3VjZC1zbm1wL3ZlcnNpb25pbmZvLmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYWdlbnQvbWliZ3JvdXAvdWNkLXNubXAvdmVyc2lvbmluZm8uYyBiL2FnZW50L21pYmdyb3VwL3VjZC1zbm1wL3ZlcnNpb25pbmZvLmMKLWluZGV4IGE1MTUxYzEuLjExNjAzODIgMTAwNjQ0Ci0tLS0gYS9hZ2VudC9taWJncm91cC91Y2Qtc25tcC92ZXJzaW9uaW5mby5jCi0rKysgYi9hZ2VudC9taWJncm91cC91Y2Qtc25tcC92ZXJzaW9uaW5mby5jCi1AQCAtOTIsNyArOTIsNyBAQCB2YXJfZXh0ZW5zaWJsZV92ZXJzaW9uKHN0cnVjdCB2YXJpYWJsZSAqdnAsCi0gICAgIHN0YXRpYyBjaGFyICAgICBlcnJtc2dbMzAwXTsKLSAgICAgY2hhciAgICAgICAgICAgKmNwdHI7Ci0gICAgIHRpbWVfdCAgICAgICAgICBjdXJ0aW1lOwotLSNpZmRlZiBORVRTTk1QX0NPTkZJR1VSRV9PUFRJT05TCi0rI2lmIDAKLSAgICAgc3RhdGljIGNoYXIgICAgIGNvbmZpZ19vcHRzW10gPSBORVRTTk1QX0NPTkZJR1VSRV9PUFRJT05TOwotICNlbmRpZgotIAotQEAgLTEyNiw3ICsxMjYsNyBAQCB2YXJfZXh0ZW5zaWJsZV92ZXJzaW9uKHN0cnVjdCB2YXJpYWJsZSAqdnAsCi0gICAgICAgICAqdmFyX2xlbiA9IHN0cmxlbihlcnJtc2cpOwotICAgICAgICAgcmV0dXJuICgodV9jaGFyICopIGVycm1zZyk7Ci0gICAgIGNhc2UgVkVSQ09ORklHOgotLSNpZmRlZiBORVRTTk1QX0NPTkZJR1VSRV9PUFRJT05TCi0rI2lmIDAKLSAgICAgICAgICp2YXJfbGVuID0gc3RybGVuKGNvbmZpZ19vcHRzKTsKLSAgICAgICAgIGlmICgqdmFyX2xlbiA+IDEwMjQpCi0gICAgICAgICAgICAgKnZhcl9sZW4gPSAxMDI0OyAgICAvKiBtaWIgaW1wb3NlZCByZXN0cmljdGlvbiAqLwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvcmVwcm9kdWNpYmlsaXR5LWFjY2VwdC1jb25maWd1cmUtb3B0aW9ucy1mcm9tLWVudi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9yZXByb2R1Y2liaWxpdHktYWNjZXB0LWNvbmZpZ3VyZS1vcHRpb25zLWZyb20tZW52LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwZGJmNWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvcmVwcm9kdWNpYmlsaXR5LWFjY2VwdC1jb25maWd1cmUtb3B0aW9ucy1mcm9tLWVudi5wYXRjaApAQCAtMCwwICsxLDE1IEBACitSZXByb2R1Y2libGUgYnVpbGQ6IFRvIGF2b2lkIGJ1aWxkIGhvc3QgcGF0aHMgYmVpbmcgd3JpdHRlbiBpbnRvIGJpbmFyaWVzLAorYWNjZXB0IE5FVFNOTVBfQ09ORklHVVJFX09QVElPTlMgZnJvbSB0aGUgZW52aXJvbm1lbnQuCitORVRTTk1QX0NPTkZJR1VSRV9PUFRJT05TIGNhbiBiZSBzZXQgZWl0aGVyIG51bGwgb3IgdG8gYSBmaXhlZCB2YWx1ZS4KKworLS0tIG5ldC1zbm1wLTUuOC5vcmlnaW5hbC9jb25maWd1cmUuYWMJMjAxOC0xMS0yMCAxNzo0MTozOS45MjY1MjkwNzIgKzEzMDAKKysrKyBuZXQtc25tcC01LjgvY29uZmlndXJlLmFjCTIwMTgtMTEtMjAgMTc6NTQ6NDQuNDg4MTgwMjI0ICsxMzAwCitAQCAtMjgsNyArMjgsNyBAQAorICMKKyAjIHNhdmUgdGhlIGNvbmZpZ3VyZSBhcmd1bWVudHMKKyAjCistQUNfREVGSU5FX1VOUVVPVEVEKE5FVFNOTVBfQ09ORklHVVJFX09QVElPTlMsIiRhY19jb25maWd1cmVfYXJncyIsCisrQUNfREVGSU5FX1VOUVVPVEVEKE5FVFNOTVBfQ09ORklHVVJFX09QVElPTlMsIiR7TkVUU05NUF9DT05GSUdVUkVfT1BUSU9OUy0kYWNfY29uZmlndXJlX2FyZ3N9IiwKKyAgIFtjb25maWd1cmUgb3B0aW9ucyBzcGVjaWZpZWRdKQorIENPTkZJR1VSRV9PUFRJT05TPSJcIiRhY19jb25maWd1cmVfYXJnc1wiIgorIEFDX1NVQlNUKENPTkZJR1VSRV9PUFRJT05TKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL3JlcHJvZHVjaWJpbGl0eS1oYXZlLXByaW50Y2FwLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL3JlcHJvZHVjaWJpbGl0eS1oYXZlLXByaW50Y2FwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzMTZjN2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvcmVwcm9kdWNpYmlsaXR5LWhhdmUtcHJpbnRjYXAucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorUmVwcm9kdWNpYmxlIGJ1aWxkOiBEb24ndCBjaGVjayBmb3IgL2V0Yy9wcmludGNhcCBvbiB0aGUgYnVpbGQgbWFjaGluZSB3aGVuCitjcm9zcy1jb21waWxpbmcuIFVzZSBBQ19DSEVDS19GSUxFIHRvIHNldCB0aGUgY2FjaGVkIHZhcmlhYmxlCithY19jdl9maWxlX19ldGNfcHJpbnRjYXAgaW5zdGVhZC4gV2hlbiBjcm9zcy1jb21waWxpbmcsIHRoaXMgdmFyaWFibGUgc2hvdWxkIGJlCitzZXQgaW4gdGhlIGVudmlyb25tZW50IHRvICJ5ZXMiIG9yICJubyIgYXMgYXBwcm9wcmlhdGUgZm9yIHRoZSB0YXJnZXQgcGxhdGZvcm0uCisKKy0tLSBuZXQtc25tcC01Ljgub3JpZ2luYWwvY29uZmlndXJlLmQvY29uZmlnX29zX21pc2M0CTIwMTgtMTEtMjAgMTc6MDU6MDMuOTg2Mjc0NTIyICsxMzAwCisrKysgbmV0LXNubXAtNS44L2NvbmZpZ3VyZS5kL2NvbmZpZ19vc19taXNjNAkyMDE4LTExLTIwIDE3OjA4OjMyLjI1MDcwMDQ0OCArMTMwMAorQEAgLTExNiw5ICsxMTYsOSBAQAorIAlbUGF0aCB0byB0aGUgbHBzdGF0IGNvbW1hbmRdKQorICAgICBBQ19ERUZJTkUoSEFWRV9MUFNUQVQsIDEsIFtTZXQgaWYgdGhlIGxwc3RhdCBjb21tYW5kIGlzIGF2YWlsYWJsZV0pCisgZmkKKy1pZiB0ZXN0IC1yIC9ldGMvcHJpbnRjYXA7IHRoZW4KKytBQ19DSEVDS19GSUxFKFsvZXRjL3ByaW50Y2FwXSwKKyAgICAgQUNfREVGSU5FKEhBVkVfUFJJTlRDQVAsIDEsIFtTZXQgaWYgL2V0Yy9wcmludGNhcCBleGlzdHNdKQorLWZpCisrKQorIAorIAorICMgICAgICAgQ2hlY2sgcHMgYXJncwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wXzUuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcF81LjguYmIKaW5kZXggNzU3YzFkYi4uNjczMTQyYiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wXzUuOC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXBfNS44LmJiCkBAIC0xLDkgKzEsOSBAQAogU1VNTUFSWSA9ICJWYXJpb3VzIHRvb2xzIHJlbGF0aW5nIHRvIHRoZSBTaW1wbGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sIgogSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uZXQtc25tcC5vcmcvIgogU0VDVElPTiA9ICJuZXQiCi1MSUNFTlNFID0gIkJTRCIKK0xJQ0VOU0UgPSAiQlNEICYgTUlUIgogCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTM7ZW5kbGluZT04O21kNT03ZjdmMDBiYTYzOWFjOGU4ZGViNWE2MjJlYTI0NjM0ZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTlkMTAwYTM5NWEzODU4NGYyZWMxOGE4Mjc1MjYxNjg3IgogCiBERVBFTkRTID0gIm9wZW5zc2wgbGlibmwgcGNpdXRpbHMiCiAKQEAgLTI0LDcgKzI0LDkgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDQtY29uZmlndXJlLWZpeC1pbmNvcnJlY3QtdmFyaWFibGUucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vbmV0LXNubXAtNS43LjItZml4LWVuZ2luZUJvb3RzLXZhbHVlLW9uLVNJR0hVUC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9uZXQtc25tcC1maXgtZm9yLWRpc2FibGUtZGVzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtcmVtb3ZlLWNvbmZpZ3VyZS1vcHRpb25zLWZyb20tdmVyc2lvbmluZm8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVwcm9kdWNpYmlsaXR5LWhhdmUtcHJpbnRjYXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVwcm9kdWNpYmlsaXR5LWFjY2VwdC1jb25maWd1cmUtb3B0aW9ucy1mcm9tLWVudi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW5ldC1zbm1wLWZpeC1jb21waWxlLWVycm9yLWRpc2FibGUtZGVzLnBhdGNoIFwKICAgICAgICAgICAgIgogU1JDX1VSSVttZDVzdW1dID0gIjZhYWU1OTQ4ZGY3ZWZkZTYyNjYxM2Q2YTRiM2NkOWQ0IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gImM2MjkxMzg1YjhlZDg0ZjA1ODkwZmU0MTk3MDA1ZGFmN2U3ZWU3YjA4MmMyZTM5MGZhMTE0YTk0NzdhNTYwNDIiCkBAIC00MSwxNSArNDMsMTUgQEAKIAogVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCiAKLVBBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSBkZXMiCiBQQUNLQUdFQ09ORklHW2VsZnV0aWxzXSA9ICItLXdpdGgtZWxmLCAtLXdpdGhvdXQtZWxmLCBlbGZ1dGlscyIKIFBBQ0tBR0VDT05GSUdbbGlibmxdID0gIi0td2l0aC1ubCwgLS13aXRob3V0LW5sLCBsaWJubCIKIAotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCiBQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsLCIKIAogUEFDS0FHRUNPTkZJR1twZXJsXSA9ICItLWVuYWJsZS1lbWJlZGRlZC1wZXJsIC0td2l0aC1wZXJsLW1vZHVsZXM9eWVzLCAtLWRpc2FibGUtZW1iZWRkZWQtcGVybCAtLXdpdGgtcGVybC1tb2R1bGVzPW5vLFwKICAgICAgICAgICAgICAgICAgICAgICAgcGVybCwgcGVybCBwZXJsLWxpYiIKK1BBQ0tBR0VDT05GSUdbZGVzXSA9ICItLWVuYWJsZS1kZXMsLS1kaXNhYmxlLWRlcyIKIAogRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXNoYXJlZCBcCiAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW1hbnVhbHMgXApAQCAtNjgsMTIgKzcwLDE3IEBACiAgICAgYWNfY3ZfaGVhZGVyX3ZhbGdyaW5kX21lbWNoZWNrX2g9bm8gXAogICAgIGFjX2N2X0VUQ19NTlRUQUI9L2V0Yy9tdGFiIFwKICAgICBsdF9jdl9zaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGg9eWVzIFwKKyAgICBhY19jdl9wYXRoX1VOQU1FUFJPRz0ke2Jhc2VfYmluZGlyfS91bmFtZSBcCisgICAgYWNfY3ZfZmlsZV9fZXRjX3ByaW50Y2FwPW5vIFwKKyAgICBORVRTTk1QX0NPTkZJR1VSRV9PUFRJT05TPSBcCiAiCiBleHBvcnQgUEVSTFBST0c9IiR7YmluZGlyfS9lbnYgcGVybCIKIFBFUkxQUk9HX2FwcGVuZCA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwZXJsJywgJyAtSSR7V09SS0RJUn0nLCAnJywgZCl9IgogCiBIQVNfUEVSTCA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwZXJsJywgJzEnLCAnMCcsIGQpfSIKIAorUFRFU1RfQlVJTERfSE9TVF9GSUxFUyArPSAibmV0LXNubXAtY29uZmlnIGdlbi12YXJpYWJsZXMiCisKIGRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewogICAgIHNlZCAtaSAtZSAic3xJL3Vzci9pbmNsdWRlfEkke1NUQUdJTkdfSU5DRElSfXxnIiBcCiAgICAgICAgICIke1N9Ii9jb25maWd1cmUgXApAQCAtMTE0LDExICsxMjEsMTMgQEAKICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zbm1wdHJhcGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQogICAgIHNlZCAgICAtZSAic0BeTlNDX1NSQ0RJUj0uKkBOU0NfU1JDRElSPS5AZyIgXAogICAgICAgICAtaSAke0R9JHtiaW5kaXJ9L25ldC1zbm1wLWNyZWF0ZS12My11c2VyCi0gICAgc2VkICAgIC1lICJzQF5OU0NfU1JDRElSPS4qQE5TQ19TUkNESVI9LkBnIiBcCi0gICAgICAgICAgIC1lICJzQFwoW14gXSotZmRlYnVnLXByZWZpeC1tYXA9W14gXSpcKVwxKkBAZyIgXAotICAgICAgICAgICAtZSAic0BcKFteIF0qLS1zeXNyb290PVteIF0qXClcMSpAQGciIFwKLSAgICAgICAgICAgLWUgInNAXChbXiBdKi0td2l0aC1saWJ0b29sLXN5c3Jvb3Q9W14gXSpcKVwxKkBAZyIgXAotICAgICAgICAgICAtZSAic0BcKFteIF0qLS13aXRoLWluc3RhbGwtcHJlZml4PVteIF0qXClcMSpAQGciIFwKKyAgICBzZWQgLWUgJ3NAXk5TQ19TUkNESVI9LipATlNDX1NSQ0RJUj0uQGcnIFwKKyAgICAgICAgLWUgJ3NAW14gXSotZmRlYnVnLXByZWZpeC1tYXA9W14gIl0qQEBnJyBcCisgICAgICAgIC1lICdzQFteIF0qLS1zeXNyb290PVteICJdKkBAZycgXAorICAgICAgICAtZSAnc0BbXiBdKi0td2l0aC1saWJ0b29sLXN5c3Jvb3Q9W14gIl0qQEBnJyBcCisgICAgICAgIC1lICdzQFteIF0qLS13aXRoLWluc3RhbGwtcHJlZml4PVteICJdKkBAZycgXAorICAgICAgICAtZSAnc0BbXiBdKlBLR19DT05GSUdfUEFUSD1bXiAiXSpAQGcnIFwKKyAgICAgICAgLWUgJ3NAW14gXSpQS0dfQ09ORklHX0xJQkRJUj1bXiAiXSpAQGcnIFwKICAgICAgICAgLWkgJHtEfSR7YmluZGlyfS9uZXQtc25tcC1jb25maWcKIAogICAgIGlmIFsgIiR7SEFTX1BFUkx9IiA9ICIxIiBdOyB0aGVuCkBAIC0xNjksMTIgKzE3OCw2IEBACiAgICAgZmkKIH0KIAotUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTICs9ICJuZXRfc25tcF9wYWNrYWdlX3ByZXByb2Nlc3MiCi1uZXRfc25tcF9wYWNrYWdlX3ByZXByb2Nlc3MgKCkgewotICAgIHNlZCAtZSAnc0Ake1JFQ0lQRV9TWVNST09UfUBAZycgXAotICAgICAgIC1pICR7UEtHRH0ke2JpbmRpcn0vbmV0LXNubXAtY29uZmlnCi19Ci0KIFBBQ0tBR0VTICs9ICIke1BOfS1saWJzICR7UE59LW1pYnMgJHtQTn0tc2VydmVyICR7UE59LWNsaWVudCBcCiAgICAgICAgICAgICAgJHtQTn0tc2VydmVyLXNubXBkICR7UE59LXNlcnZlci1zbm1wdHJhcGQgXAogICAgICAgICAgICAgICR7UE59LWxpYi1uZXRzbm1wICR7UE59LWxpYi1hZ2VudCAke1BOfS1saWItaGVscGVycyBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2MtYXJlcy9jLWFyZXNfMS4xNC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jLWFyZXMvYy1hcmVzXzEuMTQuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjMxNTQzZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2MtYXJlcy9jLWFyZXNfMS4xNC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotIyBDb3B5cmlnaHQgKGMpIDIwMTItMjAxNCBMRyBFbGVjdHJvbmljcywgSW5jLgotU1VNTUFSWSA9ICJjLWFyZXMgaXMgYSBDIGxpYnJhcnkgdGhhdCByZXNvbHZlcyBuYW1lcyBhc3luY2hyb25vdXNseS4iCi1IT01FUEFHRSA9ICJodHRwOi8vZGFuaWVsLmhheHguc2UvcHJvamVjdHMvYy1hcmVzLyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5tZDttZDU9ZmI5OTc0NTRjOGQ2MmFhNmE0N2YwN2E4Y2Q0OGIwMDYiCi0KLVBWID0gIjEuMTQuMCtnaXRyJHtTUkNQVn0iCi0KLVNSQ19VUkkgPSAiXAotICAgIGdpdDovL2dpdGh1Yi5jb20vYy1hcmVzL2MtYXJlcy5naXQgXAotICAgIGZpbGU6Ly9jbWFrZS1pbnN0YWxsLWxpYmNhcmVzLnBjLnBhdGNoIFwKLSIKLVNSQ1JFViA9ICIxN2RjMWIzMTAyZTBkZmMzZTdlMzEzNjk5ODkwMTMxNTRlZTE3ODkzIgotCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJjYXJlcy0oP1A8cHZlcj5cZCtfKFxkXz8pKykiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgY21ha2UgcGtnY29uZmlnCi0KLVBBQ0tBR0VTID0rICIke1BOfS11dGlscyIKLQotRklMRVNfJHtQTn0tdXRpbHMgPSAiJHtiaW5kaXJ9IgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2MtYXJlcy9jLWFyZXNfMS4xNS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jLWFyZXMvYy1hcmVzXzEuMTUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDM3NTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jLWFyZXMvYy1hcmVzXzEuMTUuMC5iYgpAQCAtMCwwICsxLDI2IEBACisjIENvcHlyaWdodCAoYykgMjAxMi0yMDE0IExHIEVsZWN0cm9uaWNzLCBJbmMuCitTVU1NQVJZID0gImMtYXJlcyBpcyBhIEMgbGlicmFyeSB0aGF0IHJlc29sdmVzIG5hbWVzIGFzeW5jaHJvbm91c2x5LiIKK0hPTUVQQUdFID0gImh0dHA6Ly9kYW5pZWwuaGF4eC5zZS9wcm9qZWN0cy9jLWFyZXMvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLm1kO21kNT1mYjk5NzQ1NGM4ZDYyYWE2YTQ3ZjA3YThjZDQ4YjAwNiIKKworUFYgPSAiMS4xNS4wK2dpdHIke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJcCisgICAgZ2l0Oi8vZ2l0aHViLmNvbS9jLWFyZXMvYy1hcmVzLmdpdCBcCisgICAgZmlsZTovL2NtYWtlLWluc3RhbGwtbGliY2FyZXMucGMucGF0Y2ggXAorIgorU1JDUkVWID0gImU5ODI5MjRhY2VlN2Y3MzEzYjRiYWE0ZWU1ZWMwMDBjNWUzNzNjMzAiCisKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gImNhcmVzLSg/UDxwdmVyPlxkK18oXGRfPykrKSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcKKworUEFDS0FHRVMgPSsgIiR7UE59LXV0aWxzIgorCitGSUxFU18ke1BOfS11dGlscyA9ICIke2JpbmRpcn0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2ltLXNjaGVtYS9jaW0tc2NoZW1hLWRvY3NfMi40MC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEtZG9jc18yLjQwLjAuYmIKaW5kZXggMzE4NzVlYS4uNGVjYWFiZCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEtZG9jc18yLjQwLjAuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEtZG9jc18yLjQwLjAuYmIKQEAgLTQsMTggKzQsMTMgQEAKIAogTElDRU5TRSA9ICJETVRGIgogCi1TUkNfVVJJID0gImh0dHA6Ly9kbXRmLm9yZy9zaXRlcy9kZWZhdWx0L2ZpbGVzL2NpbS9jaW1fc2NoZW1hX3YyNDAwL2NpbV9zY2hlbWFfJHtQVn1GaW5hbC1Eb2MuemlwIFwKK1NSQ19VUkkgPSAiaHR0cDovL2RtdGYub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvY2ltL2NpbV9zY2hlbWFfdjI0MDAvY2ltX3NjaGVtYV8ke1BWfUZpbmFsLURvYy56aXA7c3ViZGlyPSR7QlB9IFwKICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UgXAogICAgICAgICAgICIKIFNSQ19VUklbbWQ1c3VtXSA9ICIzZDAxOTQwYmMxMDg1YzZjNDIxODRjMjVmYjYxZjczOSIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICIzMTc0Y2YwZjg2NTdiMTlkODBkYzU5ZTE4NDc3OGQ4ZTU1M2RhNDI0NzI4Y2IyOTY2ZmU5ZDU0MjhkZDg0MjY3IgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtXT1JLRElSfS9MSUNFTlNFO21kNT1lZWNjNmY3MWE1NmZmM2NhZjE3ZjE1YmY3YWVhYzdiNCIKIAotZG9fdW5wYWNrKCkgewotICAgICAgICB1bnppcCAtcSAke0RMX0RJUn0vY2ltX3NjaGVtYV8ke1BWfUZpbmFsLURvYy56aXAgLWQgJHtTfQotICAgICAgICBjcCAtZiAke0ZJTEVfRElSTkFNRX0vZmlsZXMvTElDRU5TRSAke1dPUktESVJ9LwotfQotCiBkb19pbnN0YWxsKCkgewogICAgICAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7ZGF0YWRpcn0vZG9jL2NpbS1zY2hlbWEtJHtQVn0tZG9jcwogICAgICAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiAke1N9LyogJHtEfSR7ZGF0YWRpcn0vZG9jL2NpbS1zY2hlbWEtJHtQVn0tZG9jcwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEtZmluYWxfMi40MC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEtZmluYWxfMi40MC4wLmJiCmluZGV4IGExNGRlNDYuLjY3ZDFkYjIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2ltLXNjaGVtYS9jaW0tc2NoZW1hLWZpbmFsXzIuNDAuMC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1maW5hbF8yLjQwLjAuYmIKQEAgLTQsMTggKzQsMTMgQEAKIAogUkNPTkZMSUNUU18ke1BOfSA9ICJjaW0tc2NoZW1hLWV4cGVyIgogCi1TUkNfVVJJID0gImh0dHA6Ly9kbXRmLm9yZy9zaXRlcy9kZWZhdWx0L2ZpbGVzL2NpbS9jaW1fc2NoZW1hX3YyNDAwL2NpbV9zY2hlbWFfJHtQVn1GaW5hbC1NT0ZzLnppcCBcCitTUkNfVVJJID0gImh0dHA6Ly9kbXRmLm9yZy9zaXRlcy9kZWZhdWx0L2ZpbGVzL2NpbS9jaW1fc2NoZW1hX3YyNDAwL2NpbV9zY2hlbWFfJHtQVn1GaW5hbC1NT0ZzLnppcDtzdWJkaXI9JHtCUH0gXAogICAgIGZpbGU6Ly9MSUNFTlNFIFwKICIKIFNSQ19VUklbbWQ1c3VtXSA9ICJhOWJkZjE3YzczNzRlM2I1YjdhZGVhYWM0ODQyYzRhZCIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJkYmZhMzA2NGVhNDI3YWNkNzFhNGJlYmJjMTcyY2EyZGM0NGIwYjA5YTZkODNiMDk0NWI5ZmZhOTg4YTkwNThhIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtXT1JLRElSfS9MSUNFTlNFO21kNT1lZWNjNmY3MWE1NmZmM2NhZjE3ZjE1YmY3YWVhYzdiNCIKIAotZG9fdW5wYWNrKCkgewotICAgIHVuemlwIC1xICR7RExfRElSfS9jaW1fc2NoZW1hXyR7UFZ9RmluYWwtTU9Gcy56aXAgLWQgJHtTfQotICAgIGNwIC1mICR7RklMRV9ESVJOQU1FfS9maWxlcy9MSUNFTlNFICR7V09SS0RJUn0vCi19Ci0KIGRvX2luc3RhbGwoKSB7CiAgICAgaW5zdGFsbCAtZCAtbSAwNzU1ICR7RH0ke2RhdGFkaXJ9L21vZi9jaW12JHtQVn0vCiAgICAgaW5zdGFsbCAtZCAtbSAwNzU1ICR7RH0ke2RhdGFkaXJ9L2RvYy9jaW0tc2NoZW1hLSR7UFZ9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZG5zbWFzcS5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZG5zbWFzcS5pbmMKaW5kZXggNGY0YmJmMS4uMzM2NzhlMiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2Ruc21hc3EuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxLmluYwpAQCAtMTIsNiArMTIsNyBAQAogICAgICAgICAgICBmaWxlOi8vZG5zbWFzcS5jb25mIFwKICAgICAgICAgICAgZmlsZTovL2Ruc21hc3EtcmVzb2x2Y29uZi5zZXJ2aWNlIFwKICAgICAgICAgICAgZmlsZTovL2Ruc21hc3Etbm9yZXNvbHZjb25mLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vZG5zbWFzcS1yZXNvbHZlZC5jb25mIFwKICIKIAogaW5oZXJpdCBwa2djb25maWcgdXBkYXRlLXJjLmQgc3lzdGVtZApAQCAtNTgsNiArNTksOCBAQAogICAgIGVsc2UKICAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZG5zbWFzcS1ub3Jlc29sdmNvbmYuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9kbnNtYXNxLnNlcnZpY2UKICAgICBmaQorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3lzdGVtZC9yZXNvbHZlZC5jb25mLmQvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZG5zbWFzcS1yZXNvbHZlZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3N5c3RlbWQvcmVzb2x2ZWQuY29uZi5kLwogCiAgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vY29udHJpYi9sZWFzZS10b29scy9kaGNwX3JlbGVhc2UgJHtEfSR7YmluZGlyfQogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZG5zbWFzcV8yLjc5LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2Ruc21hc3FfMi43OS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTY2YjlhOS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZG5zbWFzcV8yLjc5LmJiCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi1yZXF1aXJlIGRuc21hc3EuaW5jCi0KLVNSQ19VUklbZG5zbWFzcS0yLjc5Lm1kNXN1bV0gPSAiNWQ3MTIwYTQ2ZDBjMTZhMzM0ZjQ2NzU3ZDdlMmJhNTUiCi1TUkNfVVJJW2Ruc21hc3EtMi43OS5zaGEyNTZzdW1dID0gIjc3NTEyZGQ2ZjMxZmZkOTY3MThlOGRjYmJmNTRmMDJjMDgzZjA1MWQ0Y2NhNzA5YmQzMjU0MGFlYTI2OWY3ODkiCi1TUkNfVVJJICs9ICJcCi0gICAgZmlsZTovL2x1YS5wYXRjaCBcCi0iCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxXzIuODAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZG5zbWFzcV8yLjgwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkYmRlZmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZG5zbWFzcV8yLjgwLmJiCkBAIC0wLDAgKzEsOCBAQAorcmVxdWlyZSBkbnNtYXNxLmluYworCitTUkNfVVJJW2Ruc21hc3EtMi44MC5tZDVzdW1dID0gIjFmMDcxZmQxMTQ1NGUxY2ZmZWE3M2JkYWRjZjcwYjIxIgorU1JDX1VSSVtkbnNtYXNxLTIuODAuc2hhMjU2c3VtXSA9ICI5ZTRhNThmODE2Y2UwMDMzY2UzODNjNTQ5YjdkNDA1OGFkOWI4MjM5NjhkMzUyZDJiNzY2MTRmODNlYTM5YWRjIgorU1JDX1VSSSArPSAiXAorICAgIGZpbGU6Ly9sdWEucGF0Y2ggXAorIgorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvZG5zbWFzcS1yZXNvbHZlZC5jb25mIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzL2Ruc21hc3EtcmVzb2x2ZWQuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2Y0NjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzL2Ruc21hc3EtcmVzb2x2ZWQuY29uZgpAQCAtMCwwICsxLDMgQEAKKyMgQXZvaWQgY29uZmxpY3RzIGJldHdlZW4gZG5zbWFzcSBhbmQgc3lzdGVtZC1yZXNvbHZlZCBhYm91dCBwb3J0IDUzCitbUmVzb2x2ZV0KK0ROU1N0dWJMaXN0ZW5lcj1ubwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kb3ZlY290L2RvdmVjb3RfMi4yLjMzLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kb3ZlY290L2RvdmVjb3RfMi4yLjMzLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ODJkNWQ1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG92ZWNvdC9kb3ZlY290XzIuMi4zMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLVNVTU1BUlkgPSAiRG92ZWNvdCBpcyBhbiBvcGVuIHNvdXJjZSBJTUFQIGFuZCBQT1AzIGVtYWlsIHNlcnZlciIKLUhPTUVQQUdFID0gImh0dHBzOi8vd3d3LmRvdmVjb3Qub3JnLyIKLURFU0NSSVBUSU9OID0gIkRvdmVjb3QgaXMgYW4gb3BlbiBzb3VyY2UgSU1BUCBhbmQgUE9QMyBlbWFpbCBzZXJ2ZXIgZm9yIExpbnV4L1VOSVgtbGlrZSBzeXN0ZW1zLCB3cml0dGVuIHdpdGggc2VjdXJpdHkgcHJpbWFyaWx5IGluIG1pbmQuIERvdmVjb3QgaXMgYW4gZXhjZWxsZW50IGNob2ljZSBmb3IgYm90aCBzbWFsbCBhbmQgbGFyZ2UgaW5zdGFsbGF0aW9ucy4gSXQncyBmYXN0LCBzaW1wbGUgdG8gc2V0IHVwLCByZXF1aXJlcyBubyBzcGVjaWFsIGFkbWluaXN0cmF0aW9uIGFuZCBpdCB1c2VzIHZlcnkgbGl0dGxlIG1lbW9yeS4iCi1TRUNUSU9OID0gIm1haWwiCi1MSUNFTlNFID0gIkxHUEx2Mi4xICYgTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTk4MTM3OWJkMGYxYzM2MmY4ZDFkMjE1MTVlNWIzMGIiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2RvdmVjb3Qub3JnL3JlbGVhc2VzLzIuMi9kb3ZlY290LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5hYy1jb252ZXJ0LUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTkstc3RhdGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZG92ZWNvdC5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovL2RvdmVjb3Quc29ja2V0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZG92ZWFkbS1GaXgtcGFyYWxsZWwtYnVpbGQucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJkNjFkMWU5MjNhMjJmOTA2MmNjOWY0NzY5Njg4MjY2NiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlOTQ4M2Q2OGE3Njk4ZDcwMWJjMDYxMjRmY2Y2ZTFiMWYxNjM4MGMyOTg2YzdlYzBjZjRlMTQ3NWI5ZDBjMjE4IgotCi1ERVBFTkRTID0gIm9wZW5zc2wgeHogemxpYiBiemlwMiBsaWJjYXAgaWN1IGxpYnRpcnBjIgotQ0ZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9L3RpcnBjIgotTERGTEFHUyArPSAiLWx0aXJwYyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQgdXNlcmFkZAotCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnbGRhcCBwYW0nLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUdbcGFtXSA9ICItLXdpdGgtcGFtLC0td2l0aG91dC1wYW0sbGlicGFtLCIKLVBBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS13aXRoLWxkYXA9cGx1Z2luLC0td2l0aG91dC1sZGFwLG9wZW5sZGFwLCIKLVBBQ0tBR0VDT05GSUdbbHo0XSA9ICItLXdpdGgtbHo0LC0td2l0aG91dC1sejQsbHo0LCIKLQotIyBGcm9tIG5hdGl2ZSBidWlsZCBpbiBhcm12N2EtaGYvZWdsaWJjCi1DQUNIRURfQ09ORklHVVJFVkFSUyArPSAiaV9jdl9zaWduZWRfc2l6ZV90PW5vIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpX2N2X2dtdGltZV9tYXhfdGltZV90PTMyIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpX2N2X3NpZ25lZF90aW1lX3Q9eWVzIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpX2N2X21tYXBfcGxheXNfd2l0aF93cml0ZT15ZXMgXAotICAgICAgICAgICAgICAgICAgICAgICAgIGlfY3ZfZmRfcGFzc2luZz15ZXMgXAotICAgICAgICAgICAgICAgICAgICAgICAgIGlfY3ZfYzk5X3ZzbnByaW50Zj15ZXMgXAotICAgICAgICAgICAgICAgICAgICAgICAgIGxpYl9jdl9fX3ZhX2NvcHk9eWVzIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICBsaWJfY3ZfdmFfY29weT15ZXMgXAotICAgICAgICAgICAgICAgICAgICAgICAgIGxpYl9jdl92YV92YWxfY29weT15ZXMgXAotICAgICAgICAgICAgICAgICAgICAgICAgIgotCi0jIGhhcmRjb2RlIGVwb2xsKCkgdG8gYXZvaWQgcnVubmluZyB1bnNhZmUgdGVzdHMKLSMgQlNEIG5lZWRzIGtxdWV1ZSBhbmQgdWNsaWJjIHBvbGwoKQotRVhUUkFfT0VDT05GID0gIiAtLXdpdGgtaW9sb29wPWVwb2xsIFwKLSAgICAgICAgICAgICAgICAgLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0iCi0KLVNZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiZG92ZWNvdC5zZXJ2aWNlIGRvdmVjb3Quc29ja2V0IgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0gICAgaW5zdGFsbCAtZCA3NTUgJHtEfS9ldGMvZG92ZWNvdAotICAgIHRvdWNoIDY0NCAke0R9L2V0Yy9kb3ZlY290L2RvdmVjb3QuY29uZgotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2RvdmVjb3Quc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgIHNlZCAtaSAtZSAncyNAU1lTQ09ORkRJUkAjJHtzeXNjb25mZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9kb3ZlY290LnNlcnZpY2UKLSAgICBzZWQgLWkgLWUgJ3MjQFNCSU5ESVJAIyR7c2JpbmRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vZG92ZWNvdC5zZXJ2aWNlCi19Ci0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1VU0VSQUREX1BBUkFNXyR7UE59ID0gIi1yIC1kICR7bGliZXhlY2Rpcn0gLU0gLXMgJHtiYXNlX3NiaW5kaXJ9L25vbG9naW4gLWcgZG92ZWNvdCBkb3ZlY290OyBcCi0gICAgICAgICAgICAgICAgICAgICAgLXIgLWQgJHtsaWJleGVjZGlyfSAtTSAtcyAke2Jhc2Vfc2JpbmRpcn0vbm9sb2dpbiAtZyBkb3ZlbnVsbCBkb3ZlbnVsbCIKLUdST1VQQUREX1BBUkFNXyR7UE59ID0gIi1mIC1yIGRvdmVjb3Q7LWYgLXIgZG92ZW51bGwiCi0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZG92ZWNvdC8qcGx1Z2luLnNvIFwKLSAgICAgICAgICAgICAgICAke2xpYmRpcn0vZG92ZWNvdC9saWJmc19jb21wcmVzcy5zbyBcCi0gICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2RvdmVjb3QvbGlic3NsX2lvc3RyZWFtX29wZW5zc2wuc28iCi1GSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9kb3ZlY290LyovKi5hIgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZG92ZWNvdC9saWJkb3ZlY290Ki5zbyIKLUZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2RvdmVjb3QvKi8uZGVidWciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdF8yLjIuMzYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdF8yLjIuMzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzliZmI5MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG92ZWNvdC9kb3ZlY290XzIuMi4zNi5iYgpAQCAtMCwwICsxLDY5IEBACitTVU1NQVJZID0gIkRvdmVjb3QgaXMgYW4gb3BlbiBzb3VyY2UgSU1BUCBhbmQgUE9QMyBlbWFpbCBzZXJ2ZXIiCitIT01FUEFHRSA9ICJodHRwczovL3d3dy5kb3ZlY290Lm9yZy8iCitERVNDUklQVElPTiA9ICJEb3ZlY290IGlzIGFuIG9wZW4gc291cmNlIElNQVAgYW5kIFBPUDMgZW1haWwgc2VydmVyIGZvciBMaW51eC9VTklYLWxpa2Ugc3lzdGVtcywgd3JpdHRlbiB3aXRoIHNlY3VyaXR5IHByaW1hcmlseSBpbiBtaW5kLiBEb3ZlY290IGlzIGFuIGV4Y2VsbGVudCBjaG9pY2UgZm9yIGJvdGggc21hbGwgYW5kIGxhcmdlIGluc3RhbGxhdGlvbnMuIEl0J3MgZmFzdCwgc2ltcGxlIHRvIHNldCB1cCwgcmVxdWlyZXMgbm8gc3BlY2lhbCBhZG1pbmlzdHJhdGlvbiBhbmQgaXQgdXNlcyB2ZXJ5IGxpdHRsZSBtZW1vcnkuIgorU0VDVElPTiA9ICJtYWlsIgorTElDRU5TRSA9ICJMR1BMdjIuMSAmIE1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWE5ODEzNzliZDBmMWMzNjJmOGQxZDIxNTE1ZTViMzBiIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3ZlY290Lm9yZy9yZWxlYXNlcy8yLjIvZG92ZWNvdC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtY29udmVydC1BQ19UUllfUlVOLXRvLUFDX1RSWV9MSU5LLXN0YXRlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RvdmVjb3Quc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9kb3ZlY290LnNvY2tldCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRvdmVhZG0tRml4LXBhcmFsbGVsLWJ1aWxkLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYThkNjQ5MjU4NDAyNWIyNDEzZTgyZWE0OGRlM2NkNWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTlhYmE4OWJiMWFjMWU5NTgxYjg0ZTRhN2E1MGY1MzE0MjUzOTYxNGVhZjdjYzRjODAwMDdlYmVhNDk4OGJlNSIKKworREVQRU5EUyA9ICJvcGVuc3NsIHh6IHpsaWIgYnppcDIgbGliY2FwIGljdSBsaWJ0aXJwYyIKK0NGTEFHUyArPSAiLUkke1NUQUdJTkdfSU5DRElSfS90aXJwYyIKK0xERkxBR1MgKz0gIi1sdGlycGMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBzeXN0ZW1kIHVzZXJhZGQKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2xkYXAgcGFtJywgZCl9IgorCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS13aXRoLXBhbSwtLXdpdGhvdXQtcGFtLGxpYnBhbSwiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0td2l0aC1sZGFwPXBsdWdpbiwtLXdpdGhvdXQtbGRhcCxvcGVubGRhcCwiCitQQUNLQUdFQ09ORklHW2x6NF0gPSAiLS13aXRoLWx6NCwtLXdpdGhvdXQtbHo0LGx6NCwiCisKKyMgRnJvbSBuYXRpdmUgYnVpbGQgaW4gYXJtdjdhLWhmL2VnbGliYworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImlfY3Zfc2lnbmVkX3NpemVfdD1ubyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgaV9jdl9nbXRpbWVfbWF4X3RpbWVfdD0zMiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgaV9jdl9zaWduZWRfdGltZV90PXllcyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgaV9jdl9tbWFwX3BsYXlzX3dpdGhfd3JpdGU9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpX2N2X2ZkX3Bhc3Npbmc9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpX2N2X2M5OV92c25wcmludGY9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsaWJfY3ZfX192YV9jb3B5PXllcyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgbGliX2N2X3ZhX2NvcHk9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsaWJfY3ZfdmFfdmFsX2NvcHk9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICIKKworIyBoYXJkY29kZSBlcG9sbCgpIHRvIGF2b2lkIHJ1bm5pbmcgdW5zYWZlIHRlc3RzCisjIEJTRCBuZWVkcyBrcXVldWUgYW5kIHVjbGliYyBwb2xsKCkKK0VYVFJBX09FQ09ORiA9ICIgLS13aXRoLWlvbG9vcD1lcG9sbCBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtIgorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImRvdmVjb3Quc2VydmljZSBkb3ZlY290LnNvY2tldCIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLWQgNzU1ICR7RH0vZXRjL2RvdmVjb3QKKyAgICB0b3VjaCA2NDQgJHtEfS9ldGMvZG92ZWNvdC9kb3ZlY290LmNvbmYKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9kb3ZlY290LnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWkgLWUgJ3MjQFNZU0NPTkZESVJAIyR7c3lzY29uZmRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vZG92ZWNvdC5zZXJ2aWNlCisgICAgc2VkIC1pIC1lICdzI0BTQklORElSQCMke3NiaW5kaXJ9I2cnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2RvdmVjb3Quc2VydmljZQorfQorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItciAtZCAke2xpYmV4ZWNkaXJ9IC1NIC1zICR7YmFzZV9zYmluZGlyfS9ub2xvZ2luIC1nIGRvdmVjb3QgZG92ZWNvdDsgXAorICAgICAgICAgICAgICAgICAgICAgIC1yIC1kICR7bGliZXhlY2Rpcn0gLU0gLXMgJHtiYXNlX3NiaW5kaXJ9L25vbG9naW4gLWcgZG92ZW51bGwgZG92ZW51bGwiCitHUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItZiAtciBkb3ZlY290Oy1mIC1yIGRvdmVudWxsIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2RvdmVjb3QvKnBsdWdpbi5zbyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2RvdmVjb3QvbGliZnNfY29tcHJlc3Muc28gXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS9kb3ZlY290L2xpYnNzbF9pb3N0cmVhbV9vcGVuc3NsLnNvIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZG92ZWNvdC8qLyouYSIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2RvdmVjb3QvbGliZG92ZWNvdCouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9kb3ZlY290LyovLmRlYnVnIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kcmJkL2RyYmRfOS4wLjE2LTEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RyYmQvZHJiZF85LjAuMTYtMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Nzk0YzRmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kcmJkL2RyYmRfOS4wLjE2LTEuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJEaXN0cmlidXRlZCBibG9jayBkZXZpY2UgZHJpdmVyIGZvciBMaW51eCIKK0RFU0NSSVBUSU9OID0gIkRSQkQgaXMgYSBibG9jayBkZXZpY2Ugd2hpY2ggaXMgZGVzaWduZWQgdG8gYnVpbGQgaGlnaCBcCisgICAgICAgICAgICAgICBhdmFpbGFiaWxpdHkgY2x1c3RlcnMuIFRoaXMgaXMgZG9uZSBieSBtaXJyb3JpbmcgYSB3aG9sZSBcCisgICAgICAgICAgICAgICBibG9jayBkZXZpY2UgdmlhIChhIGRlZGljYXRlZCkgbmV0d29yay4gWW91IGNvdWxkIHNlZSBcCisgICAgICAgICAgICAgICBpdCBhcyBhIG5ldHdvcmsgcmFpZC0xLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9vc3MubGluYml0LmNvbS9kcmJkLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NTc0YzY5NjVhZTVmNTgzZTU1ODgwZTM5N2ZiYjAxOCIKK0RFUEVORFMgPSAidmlydHVhbC9rZXJuZWwiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saW5iaXQuY29tL2Rvd25sb2Fkcy9kcmJkLzkuMC9kcmJkLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jaGVja19leGlzdGVuY2Vfb2ZfbW9kdWxlc19iZWZvcmVfaW5zdGFsbGluZy5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjY0MTRhOWVlZjI4MDdjODIxMGI2NDAzZTM2Y2UzZWE0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYwNzRiMGQ2NDNmNGJiYWU0NjQxZDNiNGJjMzBmNDg0MGU3NGYyYTIxMmRkOWM2NTU1YjgxNDFlNTMwZTU3ODkiCisKK2luaGVyaXQgbW9kdWxlCisKK0VYVFJBX09FTUFLRSArPSAiS0RJUj0nJHtTVEFHSU5HX0tFUk5FTF9ESVJ9JyIKKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9IiR7RH0iCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RyYmQvZHJiZF85LjAuOC0xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kcmJkL2RyYmRfOS4wLjgtMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmE0ZDEwYi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RyYmQvZHJiZF85LjAuOC0xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotU1VNTUFSWSA9ICJEaXN0cmlidXRlZCBibG9jayBkZXZpY2UgZHJpdmVyIGZvciBMaW51eCIKLURFU0NSSVBUSU9OID0gIkRSQkQgaXMgYSBibG9jayBkZXZpY2Ugd2hpY2ggaXMgZGVzaWduZWQgdG8gYnVpbGQgaGlnaCBcCi0gICAgICAgICAgICAgICBhdmFpbGFiaWxpdHkgY2x1c3RlcnMuIFRoaXMgaXMgZG9uZSBieSBtaXJyb3JpbmcgYSB3aG9sZSBcCi0gICAgICAgICAgICAgICBibG9jayBkZXZpY2UgdmlhIChhIGRlZGljYXRlZCkgbmV0d29yay4gWW91IGNvdWxkIHNlZSBcCi0gICAgICAgICAgICAgICBpdCBhcyBhIG5ldHdvcmsgcmFpZC0xLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9vc3MubGluYml0LmNvbS9kcmJkLyIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NTc0YzY5NjVhZTVmNTgzZTU1ODgwZTM5N2ZiYjAxOCIKLURFUEVORFMgPSAidmlydHVhbC9rZXJuZWwiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5saW5iaXQuY29tL2Rvd25sb2Fkcy9kcmJkLzkuMC9kcmJkLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9jaGVja19leGlzdGVuY2Vfb2ZfbW9kdWxlc19iZWZvcmVfaW5zdGFsbGluZy5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gImMxZGQ1ODA0M2Y0NmU5OTI2YjU3OWFhNjVkNGVhOTgwIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg3ZjcyZDQ2ZGI5YmFkOTI2NDE1YjNhYjlmNWYxMzk3ZGU4YzU4MWQyZTJlYzFhZGRiZGQ1Y2UyNjA0ZTYxMjMiCi1pbmhlcml0IG1vZHVsZQotCi1FWFRSQV9PRU1BS0UgKz0gIktESVI9JyR7U1RBR0lOR19LRVJORUxfRElSfSciCi0KLWRvX2luc3RhbGwgKCkgewotICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSIke0R9IgotfQotCi1QTkJMQUNLTElTVFtkcmJkXSA9ICJpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnc2V0dXBfdGltZXInOyA0LjE1IGhlYWQgZmlsZSBpc3N1ZT8iIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiLzAwMDEtTWFrZWZpbGUtZml4LXByb2JsZW0tdGhhdC13YWYtY2Fubm90LWZvdW5kLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiLzAwMDEtTWFrZWZpbGUtZml4LXByb2JsZW0tdGhhdC13YWYtY2Fubm90LWZvdW5kLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwZjJlZjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvMDAwMS1NYWtlZmlsZS1maXgtcHJvYmxlbS10aGF0LXdhZi1jYW5ub3QtZm91bmQucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSA3MjA1NzYxZDY1NDYzNmE2YzFmYWQwM2EzY2E0MGQzOGUyNTNlMTkyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IEZyaSwgMjUgSmFuIDIwMTkgMTY6MDE6MDcgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGU6IGZpeCBwcm9ibGVtIHRoYXQgd2FmIGNhbm5vdCBmb3VuZAorCit0ZGIgaXMgc3ViZm9sZGVyIG9mIHNhbWJhLCBidXQgaXQgY2FuIGFsc28gYnVpbGQgaW5kZXBlbmRlbnRseS4KK3NvIGJvdGggcGF0aCBuZWVkIHRvIGJlIGFkZGVkIGludG8gUEFUSAorCitVcHN0ZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2Ugc3BlY2lmaWNdCisKK0ZpeCByZWplY3QgYnkgdXBzdHJlYW0gc2luY2UgdXBzdGVhbSBuZWVkIHRvIHN1cHBvcnQgYm90aCBweXRob24yLzMsCitzbyBkcm9wIGFkZCBhcHBlbmQgUEFUSC4gcmVmZXIgbGluazoKK2h0dHBzOi8vZ2l0bGFiLmNvbS9zYW1iYS10ZWFtL3NhbWJhL21lcmdlX3JlcXVlc3RzLzIwOQoraHR0cHM6Ly9naXRsYWIuY29tL3NhbWJhLXRlYW0vc2FtYmEvbWVyZ2VfcmVxdWVzdHMvMjExCisKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBNYWtlZmlsZSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDNlNzAxNDYuLjY0YmIzOTMgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0xLDYgKzEsNiBAQAorICMgc2ltcGxlIG1ha2VmaWxlIHdyYXBwZXIgdG8gcnVuIHdhZgorIAorLVdBRl9CSU5BUlk9JChQWVRIT04pIC4uLy4uL2J1aWxkdG9vbHMvYmluL3dhZgorK1dBRl9CSU5BUlk9UEFUSD1idWlsZHRvb2xzL2JpbjouLi8uLi9idWlsZHRvb2xzL2JpbjokJFBBVEggd2FmCisgV0FGPVBZVEhPTkhBU0hTRUVEPTEgV0FGX01BS0U9MSAkKFdBRl9CSU5BUlkpCisgCisgYWxsOgorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvMDAwMS13YWYtYWRkLXN1cHBvcnQtb2YtY3Jvc3NfY29tcGlsZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYi8wMDAxLXdhZi1hZGQtc3VwcG9ydC1vZi1jcm9zc19jb21waWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyMGM5YTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvMDAwMS13YWYtYWRkLXN1cHBvcnQtb2YtY3Jvc3NfY29tcGlsZS5wYXRjaApAQCAtMCwwICsxLDYzIEBACitGcm9tIDRiODQ2M2ZmNDNmODk4M2E3MDZiMTgxYzUyOTI0OTFmOWY5NTRiZTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCAyNSBKYW4gMjAxOSAxNTowMDo1OSArMDgwMAorU3ViamVjdDogW1BBVENIXSB3YWY6IGFkZCBzdXBwb3J0IG9mIGNyb3NzX2NvbXBpbGUKKworQWZ0ZXIgdXBncmFkZSBsaWJ0ZGIgZnJvbSAxLjMuMTYgdG8gMS4zLjE3LCB3YWYgYnVpbGQgc3lzdGVtCit3aGljaCB1c2VkIGJ5IGxpYnRkYiB1cGdyYWRlIGZyb20gMS41LjE5IHRvIDIuMC44CisKK29uIDEuNS4xOSwgZm9yIGNyb3NzX2NvbXBpbGUsIHN1YnByb2Nlc3MuUG9wZW4gaXMgc2V0IHRvIGJlCitzYW1iYV9jcm9zcy5jcm9zc19Qb3Blbiwgd2hpY2ggd2lsbCBub3QgZXhlY3V0ZSB0ZXN0cHJvZyBvbgoraG9zdCwgYnV0IG9ubHkgcmVhZCByZXN1bHQgZnJvbSBjcm9zcy1hbnN3ZXJzLnR4dCB3aGljaCBpcworcGFzc2VkIGJ5IG9wdGlvbiAtLWNyb3NzLWFuc3dlcgorCitwYXJ0IG9mIG9sZCBjb2RlOgorICAgIGFyZ3MgPSBVdGlscy50b19saXN0KGt3LmdldCgnZXhlY19hcmdzJywgW10pKQorICAgIHByb2MgPSBVdGlscy5wcHJvYy5Qb3BlbihbbGFzdHByb2ddICsgYXJncywgc3Rkb3V0PVV0aWxzLnBwcm9jLlBJUEUsIHN0ZGVycj1VdGlscy5wcHJvYy5QSVBFKQorCitidXQgb24gMi4wLjgsIGV4ZWNfYXJncyBpcyBub3QgdXNlZCBhbmQgY2F1c2UgZG9fY29uZmlndXJlCitmYWlsZWQgd2l0aCBFeGVjIGZvcm1hdCBlcnJvcgorCitmaXhlZCBieSBhcHBlbmQgY3Jvc3MgYW5zZXIgcmVsYXRlZCBhcmdzIHRvIGNtZAorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRsYWIuY29tL3NhbWJhLXRlYW0vc2FtYmEvbWVyZ2VfcmVxdWVzdHMvMjExXQorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgdGhpcmRfcGFydHkvd2FmL3dhZmxpYi9Ub29scy9jX2NvbmZpZy5weSB8IDExICsrKysrKy0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3dhZi93YWZsaWIvVG9vbHMvY19jb25maWcucHkgYi90aGlyZF9wYXJ0eS93YWYvd2FmbGliL1Rvb2xzL2NfY29uZmlnLnB5CitpbmRleCA3NjA4MjE1Li43NjdjZjMzIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvd2FmL3dhZmxpYi9Ub29scy9jX2NvbmZpZy5weQorKysrIGIvdGhpcmRfcGFydHkvd2FmL3dhZmxpYi9Ub29scy9jX2NvbmZpZy5weQorQEAgLTY2MCwyMCArNjYwLDIxIEBAIGNsYXNzIHRlc3RfZXhlYyhUYXNrLlRhc2spOgorIAkiIiIKKyAJY29sb3IgPSAnUElOSycKKyAJZGVmIHJ1bihzZWxmKToKKysJCWFyZ3MgPSBzZWxmLmdlbmVyYXRvci5ibGQua3cuZ2V0KCdleGVjX2FyZ3MnLCBbXSkKKyAJCWlmIGdldGF0dHIoc2VsZi5nZW5lcmF0b3IsICdycGF0aCcsIE5vbmUpOgorIAkJCWlmIGdldGF0dHIoc2VsZi5nZW5lcmF0b3IsICdkZWZpbmVfcmV0JywgRmFsc2UpOgorLQkJCQlzZWxmLmdlbmVyYXRvci5ibGQucmV0dmFsID0gc2VsZi5nZW5lcmF0b3IuYmxkLmNtZF9hbmRfbG9nKFtzZWxmLmlucHV0c1swXS5hYnNwYXRoKCldKQorLQkJCWVsc2U6CistCQkJCXNlbGYuZ2VuZXJhdG9yLmJsZC5yZXR2YWwgPSBzZWxmLmdlbmVyYXRvci5ibGQuZXhlY19jb21tYW5kKFtzZWxmLmlucHV0c1swXS5hYnNwYXRoKCldKQorKwkJCQlzZWxmLmdlbmVyYXRvci5ibGQucmV0dmFsID0gc2VsZi5nZW5lcmF0b3IuYmxkLmNtZF9hbmRfbG9nKFtzZWxmLmlucHV0c1swXS5hYnNwYXRoKCldICsgYXJncykKKysJCQllbHNlOiAKKysJCQkJc2VsZi5nZW5lcmF0b3IuYmxkLnJldHZhbCA9IHNlbGYuZ2VuZXJhdG9yLmJsZC5leGVjX2NvbW1hbmQoW3NlbGYuaW5wdXRzWzBdLmFic3BhdGgoKV0gKyBhcmdzKQorIAkJZWxzZToKKyAJCQllbnYgPSBzZWxmLmVudi5lbnYgb3Ige30KKyAJCQllbnYudXBkYXRlKGRpY3Qob3MuZW52aXJvbikpCisgCQkJZm9yIHZhciBpbiAoJ0xEX0xJQlJBUllfUEFUSCcsICdEWUxEX0xJQlJBUllfUEFUSCcsICdQQVRIJyk6CisgCQkJCWVudlt2YXJdID0gc2VsZi5pbnB1dHNbMF0ucGFyZW50LmFic3BhdGgoKSArIG9zLnBhdGgucGF0aHNlcCArIGVudi5nZXQodmFyLCAnJykKKyAJCQlpZiBnZXRhdHRyKHNlbGYuZ2VuZXJhdG9yLCAnZGVmaW5lX3JldCcsIEZhbHNlKToKKy0JCQkJc2VsZi5nZW5lcmF0b3IuYmxkLnJldHZhbCA9IHNlbGYuZ2VuZXJhdG9yLmJsZC5jbWRfYW5kX2xvZyhbc2VsZi5pbnB1dHNbMF0uYWJzcGF0aCgpXSwgZW52PWVudikKKysJCQkJc2VsZi5nZW5lcmF0b3IuYmxkLnJldHZhbCA9IHNlbGYuZ2VuZXJhdG9yLmJsZC5jbWRfYW5kX2xvZyhbc2VsZi5pbnB1dHNbMF0uYWJzcGF0aCgpXSArIGFyZ3MsIGVudj1lbnYpCisgCQkJZWxzZToKKy0JCQkJc2VsZi5nZW5lcmF0b3IuYmxkLnJldHZhbCA9IHNlbGYuZ2VuZXJhdG9yLmJsZC5leGVjX2NvbW1hbmQoW3NlbGYuaW5wdXRzWzBdLmFic3BhdGgoKV0sIGVudj1lbnYpCisrCQkJCXNlbGYuZ2VuZXJhdG9yLmJsZC5yZXR2YWwgPSBzZWxmLmdlbmVyYXRvci5ibGQuZXhlY19jb21tYW5kKFtzZWxmLmlucHV0c1swXS5hYnNwYXRoKCldICsgYXJncywgZW52PWVudikKKyAKKyBAZmVhdHVyZSgndGVzdF9leGVjJykKKyBAYWZ0ZXJfbWV0aG9kKCdhcHBseV9saW5rJykKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiL3RkYi1BZGQtY29uZmlndXJlLW9wdGlvbnMtZm9yLXBhY2thZ2VzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiL3RkYi1BZGQtY29uZmlndXJlLW9wdGlvbnMtZm9yLXBhY2thZ2VzLnBhdGNoCmluZGV4IDM2NWI5MmQuLmU2ZTEwMjMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYi90ZGItQWRkLWNvbmZpZ3VyZS1vcHRpb25zLWZvci1wYWNrYWdlcy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvdGRiLUFkZC1jb25maWd1cmUtb3B0aW9ucy1mb3ItcGFja2FnZXMucGF0Y2gKQEAgLTEsNiArMSw2IEBACi1Gcm9tIDZkZTFhZmZkZGRlNDAwM2E5NTY1MjNjMzMwZWNmMjRlMjJlMDk0YWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDEzYmJjODUxZDlmZDczOTZmMDg3NzU4ZTYxNGFiYmE2MGVlYjJhYWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCAxOSBKdWwgMjAxOCAxNjoyMDozMiArMDgwMAorRGF0ZTogV2VkLCAyMyBKYW4gMjAxOSAxMDoxNDowNSArMDgwMAogU3ViamVjdDogW1BBVENIXSB0ZGI6IEFkZCBjb25maWd1cmUgb3B0aW9ucyBmb3IgcGFja2FnZXMKIAogQWRkIGNvbmZpZ3VyZSBvcHRpb25zIGZvciB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOgpAQCAtMjEsMTYgKzIxLDE5IEBACiAKIFVwZGF0ZSBmb3IgbGlidGRiXzEuMy4xNgogU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKworVXBkYXRlIGZvciBsaWJ0ZGJfMS4zLjE3CitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCi0gbGliL3JlcGxhY2Uvd3NjcmlwdCB8IDg5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCisgbGliL3JlcGxhY2Uvd3NjcmlwdCB8IDk1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiAgd3NjcmlwdCAgICAgICAgICAgICB8ICA2ICsrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDc1IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQorIDIgZmlsZXMgY2hhbmdlZCwgNzkgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9saWIvcmVwbGFjZS93c2NyaXB0IGIvbGliL3JlcGxhY2Uvd3NjcmlwdAotaW5kZXggZmQwMGE0Mi4uMmRmODNjZCAxMDA2NDQKK2luZGV4IDZjYmFlOTMuLjdhZWFmNDYgMTAwNjQ0CiAtLS0gYS9saWIvcmVwbGFjZS93c2NyaXB0CiArKysgYi9saWIvcmVwbGFjZS93c2NyaXB0Ci1AQCAtMjMsNiArMjMsNDEgQEAgZGVmIHNldF9vcHRpb25zKG9wdCk6CitAQCAtMjUsNiArMjUsNDEgQEAgZGVmIG9wdGlvbnMob3B0KToKICAgICAgb3B0LlBSSVZBVEVfRVhURU5TSU9OX0RFRkFVTFQoJycpCiAgICAgIG9wdC5SRUNVUlNFKCdidWlsZHRvb2xzL3dhZnNhbWJhJykKICAKQEAgLTcyLDcgKzc1LDcgQEAKICBAVXRpbHMucnVuX29uY2UKICBkZWYgY29uZmlndXJlKGNvbmYpOgogICAgICBjb25mLlJFQ1VSU0UoJ2J1aWxkdG9vbHMvd2Fmc2FtYmEnKQotQEAgLTMyLDEyICs2NywyNSBAQCBkZWYgY29uZmlndXJlKGNvbmYpOgorQEAgLTM0LDEyICs2OSwyNSBAQCBkZWYgY29uZmlndXJlKGNvbmYpOgogICAgICBjb25mLkRFRklORSgnSEFWRV9MSUJSRVBMQUNFJywgMSkKICAgICAgY29uZi5ERUZJTkUoJ0xJQlJFUExBQ0VfTkVUV09SS19DSEVDS1MnLCAxKQogIApAQCAtMTAzLDIxICsxMDYsMjQgQEAKICAgICAgY29uZi5DSEVDS19IRUFERVJTKCdwb3J0LmgnKQogICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3N5cy9mY250bC5oIHN5cy9maWxpby5oIHN5cy9maWxzeXMuaCBzeXMvZnMvczVwYXJhbS5oIHN5cy9mcy92eC9xdW90YS5oJykKICAgICAgY29uZi5DSEVDS19IRUFERVJTKCdzeXMvaWQuaCBzeXMvaW9jdGwuaCBzeXMvaXBjLmggc3lzL21tYW4uaCBzeXMvbW9kZS5oIHN5cy9uZGlyLmggc3lzL3ByaXYuaCcpCi1AQCAtMTA4LDcgKzE1Niw5IEBAIGRlZiBjb25maWd1cmUoY29uZik6CitAQCAtMTEwLDggKzE1OCwxMCBAQCBkZWYgY29uZmlndXJlKGNvbmYpOgogICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3N5cy9maWxlaW8uaCBzeXMvZmlsZXN5cy5oIHN5cy9kdXN0YXQuaCBzeXMvc3lzbWFjcm9zLmgnKQogICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3hmcy9saWJ4ZnMuaCBuZXRncm91cC5oJykKICAKLS0gICAgY29uZi5DSEVDS19IRUFERVJTKCd2YWxncmluZC5oIHZhbGdyaW5kL3ZhbGdyaW5kLmggdmFsZ3JpbmQvbWVtY2hlY2suaCcpCistICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygndmFsZ3JpbmQuaCB2YWxncmluZC92YWxncmluZC5oJykKKy0gICAgY29uZi5DSEVDS19IRUFERVJTKCd2YWxncmluZC9tZW1jaGVjay5oIHZhbGdyaW5kL2hlbGdyaW5kLmgnKQogKyAgICBpZiBPcHRpb25zLm9wdGlvbnMuZW5hYmxlX3ZhbGdyaW5kOgotKyAgICAgICAgY29uZi5DSEVDS19IRUFERVJTKCd2YWxncmluZC5oIHZhbGdyaW5kL3ZhbGdyaW5kLmggdmFsZ3JpbmQvbWVtY2hlY2suaCcpCisrICAgICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3ZhbGdyaW5kLmggdmFsZ3JpbmQvdmFsZ3JpbmQuaCcpCisrICAgICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3ZhbGdyaW5kL21lbWNoZWNrLmggdmFsZ3JpbmQvaGVsZ3JpbmQuaCcpCiArCiAgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygnbnNzX2NvbW1vbi5oIG5zc3dpdGNoLmggbnNfYXBpLmgnKQogICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3N5cy9leHRhdHRyLmggc3lzL2VhLmggc3lzL3Byb3BsaXN0Lmggc3lzL2NkZWZzLmgnKQogICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3V0bXAuaCB1dG1weC5oIGxhc3Rsb2cuaCcpCi1AQCAtMzQyLDIwICszOTIsMTkgQEAgZGVmIGNvbmZpZ3VyZShjb25mKToKK0BAIC0zNzksMjEgKzQyOSwyMiBAQCBkZWYgY29uZmlndXJlKGNvbmYpOgorICAgICBjb25mLkNIRUNLX0ZVTkNTKCdwcmN0bCBkaXJuYW1lIGJhc2VuYW1lJykKICAKICAgICAgc3RybGNweV9pbl9ic2QgPSBGYWxzZQotIAorLQogLSAgICAjIGxpYmJzZCBvbiBzb21lIHBsYXRmb3JtcyBwcm92aWRlcyBzdHJsY3B5IGFuZCBzdHJsY2F0CiAtICAgIGlmIG5vdCBjb25mLkNIRUNLX0ZVTkNTKCdzdHJsY3B5IHN0cmxjYXQnKToKIC0gICAgICAgIGlmIGNvbmYuQ0hFQ0tfRlVOQ1NfSU4oJ3N0cmxjcHkgc3RybGNhdCcsICdic2QnLCBoZWFkZXJzPSdic2Qvc3RyaW5nLmgnLApAQCAtMTMyLDI3ICsxMzgsMzAgQEAKIC0KIC0gICAgaWYgbm90IGNvbmYuQ0hFQ0tfRlVOQ1MoJ2Nsb3NlZnJvbScpOgogLSAgICAgICAgY29uZi5DSEVDS19GVU5DU19JTignY2xvc2Vmcm9tJywgJ2JzZCcsIGhlYWRlcnM9J2JzZC91bmlzdGQuaCcpCisrICAgIAogKyAgICBpZiBPcHRpb25zLm9wdGlvbnMuZW5hYmxlX2xpYmJzZDoKICsgICAgICAgICMgbGliYnNkIG9uIHNvbWUgcGxhdGZvcm1zIHByb3ZpZGVzIHN0cmxjcHkgYW5kIHN0cmxjYXQKICsgICAgICAgIGlmIG5vdCBjb25mLkNIRUNLX0ZVTkNTKCdzdHJsY3B5IHN0cmxjYXQnKToKLSsgICAgICAgICAgICBjb25mLkNIRUNLX0ZVTkNTX0lOKCdzdHJsY3B5IHN0cmxjYXQnLCAnYnNkJywgaGVhZGVycz0nYnNkL3N0cmluZy5oJywKLSsgICAgICAgICAgICAgICAgICAgIGNoZWNrbGliYz1UcnVlKQorKyAgICAgICAgICAgIGlmIGNvbmYuQ0hFQ0tfRlVOQ1NfSU4oJ3N0cmxjcHkgc3RybGNhdCcsICdic2QnLCBoZWFkZXJzPSdic2Qvc3RyaW5nLmgnLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tsaWJjPVRydWUpOgorKyAgICAgICAgICAgICAgICBzdHJsY3B5X2luX2JzZCA9IFRydWUKICsgICAgICAgIGlmIG5vdCBjb25mLkNIRUNLX0ZVTkNTKCdnZXRwZWVyZWlkJyk6CiArICAgICAgICAgICAgY29uZi5DSEVDS19GVU5DU19JTignZ2V0cGVlcmVpZCcsICdic2QnLCBoZWFkZXJzPSdzeXMvdHlwZXMuaCBic2QvdW5pc3RkLmgnKQogKyAgICAgICAgaWYgbm90IGNvbmYuQ0hFQ0tfRlVOQ1NfSU4oJ3NldHByb2N0aXRsZScsICdzZXRwcm9jdGl0bGUnLCBoZWFkZXJzPSdzZXRwcm9jdGl0bGUuaCcpOgogKyAgICAgICAgICAgIGNvbmYuQ0hFQ0tfRlVOQ1NfSU4oJ3NldHByb2N0aXRsZScsICdic2QnLCBoZWFkZXJzPSdzeXMvdHlwZXMuaCBic2QvdW5pc3RkLmgnKQorKyAgICAgICAgaWYgbm90IGNvbmYuQ0hFQ0tfRlVOQ1MoJ3NldHByb2N0aXRsZV9pbml0Jyk6CisrICAgICAgICAgICAgY29uZi5DSEVDS19GVU5DU19JTignc2V0cHJvY3RpdGxlX2luaXQnLCAnYnNkJywgaGVhZGVycz0nc3lzL3R5cGVzLmggYnNkL3VuaXN0ZC5oJykKICsKICsgICAgICAgIGlmIG5vdCBjb25mLkNIRUNLX0ZVTkNTKCdjbG9zZWZyb20nKToKICsgICAgICAgICAgICBjb25mLkNIRUNLX0ZVTkNTX0lOKCdjbG9zZWZyb20nLCAnYnNkJywgaGVhZGVycz0nYnNkL3VuaXN0ZC5oJykKLSsgICAgCiAgCiAgICAgIGNvbmYuQ0hFQ0tfQ09ERSgnJycKICAgICAgICAgICAgICAgICAgc3RydWN0IHVjcmVkIGNyZWQ7CiBkaWZmIC0tZ2l0IGEvd3NjcmlwdCBiL3dzY3JpcHQKLWluZGV4IDY1MDU2NDguLjY2MDg0ODEgMTAwNjQ0CitpbmRleCBiYzVlZTI2Li45YWMxMGI2IDEwMDY0NAogLS0tIGEvd3NjcmlwdAogKysrIGIvd3NjcmlwdAotQEAgLTYzLDYgKzYzLDEyIEBAIGRlZiBzZXRfb3B0aW9ucyhvcHQpOgorQEAgLTY5LDYgKzY5LDEyIEBAIGRlZiBvcHRpb25zKG9wdCk6CiAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlc3Q9J2Rpc2FibGVfdGRiX211dGV4X2xvY2tpbmcnLAogICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PUZhbHNlKQogIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiXzEuMy4xNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYl8xLjMuMTYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1NzllZDYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiXzEuMy4xNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLVNVTU1BUlkgPSAiVGhlIHRkYiBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL3RkYi5zYW1iYS5vcmcvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJMR1BMLTMuMCsgJiBHUEwtMy4wKyIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdG9vbHMvdGRiZHVtcC5jO2VuZGxpbmU9MTg7bWQ1PWI1OWNkNDVhYTg2MjQ1NzgxMjZhOGM5OGY0ODAxOGM0IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2luY2x1ZGUvdGRiLmg7ZW5kbGluZT0yNzttZDU9ZjViYjU0NDY0MWQzMDgxODIxYmNjMWRkNTgzMTBiZTYiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9zYW1iYS5vcmcvZnRwL3RkYi90ZGItJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2RvLW5vdC1jaGVjay14c2x0cHJvYy1tYW5wYWdlcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly90ZGItQWRkLWNvbmZpZ3VyZS1vcHRpb25zLWZvci1wYWNrYWdlcy5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI3ZDA2ZDg3MDkxODhlMDdkZjg1M2Q5ZTkxZGI4ODkyNyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2YTNmYzI2MTY1NjdmMjM5OTM5ODRhZGEzY2VhOTdkOTUzYTI3NjY5ZmZkMWJmYmJlOTYxZjI2ZTBjZjk2Y2M1IgotCi1QQUNLQUdFQ09ORklHID8/PSAiXAotICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2FjbCcsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4YXR0cicsICdhdHRyJywgJycsIGQpfSBcCi0iCi1QQUNLQUdFQ09ORklHW2FjbF0gPSAiLS13aXRoLWFjbCwtLXdpdGhvdXQtYWNsLGFjbCIKLVBBQ0tBR0VDT05GSUdbYXR0cl0gPSAiLS13aXRoLWF0dHIsLS13aXRob3V0LWF0dHIsYXR0ciIKLVBBQ0tBR0VDT05GSUdbbGliYWlvXSA9ICItLXdpdGgtbGliYWlvLC0td2l0aG91dC1saWJhaW8sbGliYWlvIgotUEFDS0FHRUNPTkZJR1tsaWJic2RdID0gIi0td2l0aC1saWJic2QsLS13aXRob3V0LWxpYmJzZCxsaWJic2QiCi1QQUNLQUdFQ09ORklHW2xpYmNhcF0gPSAiLS13aXRoLWxpYmNhcCwtLXdpdGhvdXQtbGliY2FwLGxpYmNhcCIKLVBBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi0td2l0aC12YWxncmluZCwtLXdpdGhvdXQtdmFsZ3JpbmQsdmFsZ3JpbmQiCi0KLVMgPSAiJHtXT1JLRElSfS90ZGItJHtQVn0iCi0KLWluaGVyaXQgd2FmLXNhbWJhCi0KLUVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXJwYXRoIFwKLSAgICAgICAgICAgICAgICAgLS1idW5kbGVkLWxpYnJhcmllcz1OT05FIFwKLSAgICAgICAgICAgICAgICAgLS1idWlsdGluLWxpYnJhcmllcz1yZXBsYWNlIFwKLSAgICAgICAgICAgICAgICAgLS13aXRoLWxpYmljb252PSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH1cCi0gICAgICAgICAgICAgICAgIgotCi1QQUNLQUdFUyArPSAidGRiLXRvb2xzIHB5dGhvbi10ZGIiCi0KLVJQUk9WSURFU18ke1BOfS1kYmcgKz0gInB5dGhvbi10ZGItZGJnIgotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKi5zby4qIgotRklMRVNfdGRiLXRvb2xzID0gIiR7YmluZGlyfS8qIgotRklMRVNfcHl0aG9uLXRkYiA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvKiIKLVJERVBFTkRTX3B5dGhvbi10ZGIgPSAicHl0aG9uIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiXzEuMy4xNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYl8xLjMuMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM3NzU1YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYl8xLjMuMTcuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJUaGUgdGRiIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vdGRiLnNhbWJhLm9yZy8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEwtMy4wKyAmIEdQTC0zLjArIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly90b29scy90ZGJkdW1wLmM7ZW5kbGluZT0xODttZDU9YjU5Y2Q0NWFhODYyNDU3ODEyNmE4Yzk4ZjQ4MDE4YzQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vaW5jbHVkZS90ZGIuaDtlbmRsaW5lPTI3O21kNT1mNWJiNTQ0NjQxZDMwODE4MjFiY2MxZGQ1ODMxMGJlNiIKKworU1JDX1VSSSA9ICJodHRwczovL3NhbWJhLm9yZy9mdHAvdGRiL3RkYi0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZG8tbm90LWNoZWNrLXhzbHRwcm9jLW1hbnBhZ2VzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3RkYi1BZGQtY29uZmlndXJlLW9wdGlvbnMtZm9yLXBhY2thZ2VzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtd2FmLWFkZC1zdXBwb3J0LW9mLWNyb3NzX2NvbXBpbGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS1maXgtcHJvYmxlbS10aGF0LXdhZi1jYW5ub3QtZm91bmQucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTE5ZDM3M2FjNzJhNjZiMGEyNzM5ZGJiNDk1ZGUxMjciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWNiNDM5OTM5NGM2MGE3NzM0MzBjYTU0ODQ4MzU5YWRjZjU0ZmI2ZjEzNmFmZGNmY2JiZTYyYjVmNDI0NTYxNCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIlwKKyAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhY2wnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneGF0dHInLCAnYXR0cicsICcnLCBkKX0gXAorIgorCitQQUNLQUdFQ09ORklHW2FjbF0gPSAiLS13aXRoLWFjbCwtLXdpdGhvdXQtYWNsLGFjbCIKK1BBQ0tBR0VDT05GSUdbYXR0cl0gPSAiLS13aXRoLWF0dHIsLS13aXRob3V0LWF0dHIsYXR0ciIKK1BBQ0tBR0VDT05GSUdbbGliYWlvXSA9ICItLXdpdGgtbGliYWlvLC0td2l0aG91dC1saWJhaW8sbGliYWlvIgorUEFDS0FHRUNPTkZJR1tsaWJic2RdID0gIi0td2l0aC1saWJic2QsLS13aXRob3V0LWxpYmJzZCxsaWJic2QiCitQQUNLQUdFQ09ORklHW2xpYmNhcF0gPSAiLS13aXRoLWxpYmNhcCwtLXdpdGhvdXQtbGliY2FwLGxpYmNhcCIKK1BBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi0td2l0aC12YWxncmluZCwtLXdpdGhvdXQtdmFsZ3JpbmQsdmFsZ3JpbmQiCisKK1MgPSAiJHtXT1JLRElSfS90ZGItJHtQVn0iCisKK2luaGVyaXQgd2FmLXNhbWJhCisKKyNjcm9zc19jb21waWxlIGNhbm5vdCB1c2UgcHJlZm9ya2VkIHByb2Nlc3MsIHNpbmNlIGZvcmsgcHJvY2VzcyBlYXJsaWVyIHRoYW4gcG9pbnQgc3VicHJvY2VzLnBvcGVuCisjdG8gY3Jvc3MgUG9wZW4KK2V4cG9ydCBXQUZfTk9fUFJFRk9SSz0ieWVzIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1ycGF0aCBcCisgICAgICAgICAgICAgICAgIC0tYnVuZGxlZC1saWJyYXJpZXM9Tk9ORSBcCisgICAgICAgICAgICAgICAgIC0tYnVpbHRpbi1saWJyYXJpZXM9cmVwbGFjZSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1saWJpY29udj0ke1NUQUdJTkdfRElSX0hPU1R9JHtwcmVmaXh9XAorICAgICAgICAgICAgICAgICIKKworUEFDS0FHRVMgKz0gInRkYi10b29scyBweXRob24tdGRiIgorCitSUFJPVklERVNfJHtQTn0tZGJnICs9ICJweXRob24tdGRiLWRiZyIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9Lyouc28uKiIKK0ZJTEVTX3RkYi10b29scyA9ICIke2JpbmRpcn0vKiIKK0ZJTEVTX3B5dGhvbi10ZGIgPSAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzLyoiCitSREVQRU5EU19weXRob24tdGRiID0gInB5dGhvbiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bS8wMDAxLUlGTkFNU0laLWlzLWRlZmluZWQtaW4tbmV0LWlmLmgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpbnV4LWF0bS9saW51eC1hdG0vMDAwMS1JRk5BTVNJWi1pcy1kZWZpbmVkLWluLW5ldC1pZi5oLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3YzcwOTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpbnV4LWF0bS9saW51eC1hdG0vMDAwMS1JRk5BTVNJWi1pcy1kZWZpbmVkLWluLW5ldC1pZi5oLnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK0Zyb20gMjliMzdlNDU1NzdjMDkyMTg0NmMxNzA5YTE5MGYwOGEzYjAzMjY2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDggTWFyIDIwMTkgMDk6MDg6MzggLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gSUZOQU1TSVogaXMgZGVmaW5lZCBpbiBuZXQvaWYuaAorCitGaXhlcworL21udC9hL3lvZS9idWlsZC90bXAvd29yay9xZW11cmlzY3Y2NC15b2UtbGludXgtbXVzbC9saW51eC1hdG0vMi41LjItcjAvcmVjaXBlLXN5c3Jvb3QvdXNyL2luY2x1ZGUvbGludXgvaWZfYXJwLmg6MTIxOjE2OiBlcnJvcjogJ0lGTkFNU0laJyB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0aW9uKQorfCAgY2hhciAgYXJwX2RldltJRk5BTVNJWl07Cit8ICAgICAgICAgICAgICAgIF5+fn5+fn5+CitJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vbGludXgtYXRtLTIuNS4yL3NyYy9hcnBkL2l0Zi5jOjE3OgorL21udC9hL3lvZS9idWlsZC90bXAvd29yay9xZW11cmlzY3Y2NC15b2UtbGludXgtbXVzbC9saW51eC1hdG0vMi41LjItcjAvcmVjaXBlLXN5c3Jvb3QvdXNyL2luY2x1ZGUvbGludXgvaWZfYXJwLmg6MTIxOjE2OiBlcnJvcjogJ0lGTkFNU0laJyB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0aW9uKQorfCAgY2hhciAgYXJwX2RldltJRk5BTVNJWl07Cit8ICAgICAgICAgICAgICAgIF5+fn5+fn5+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9hcnBkL2FycC5jIHwgMSArCisgc3JjL2FycGQvaXRmLmMgfCAxICsKKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2FycGQvYXJwLmMgYi9zcmMvYXJwZC9hcnAuYworaW5kZXggOTJkMzc4Ny4uZmYxNTc0YyAxMDA2NDQKKy0tLSBhL3NyYy9hcnBkL2FycC5jCisrKysgYi9zcmMvYXJwZC9hcnAuYworQEAgLTE3LDYgKzE3LDcgQEAKKyAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPiAvKiBmb3IgbnRvaHMsIGV0Yy4gKi8KKyAjZGVmaW5lIF9MSU5VWF9ORVRERVZJQ0VfSCAvKiB2ZXJ5IGNydWRlIGhhY2sgZm9yIGdsaWJjMiAqLworICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorKyNpbmNsdWRlIDxuZXQvaWYuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfYXJwLmg+CisgI2luY2x1ZGUgPGxpbnV4L2lmX2V0aGVyLmg+CisgI2luY2x1ZGUgPGF0bS5oPgorZGlmZiAtLWdpdCBhL3NyYy9hcnBkL2l0Zi5jIGIvc3JjL2FycGQvaXRmLmMKK2luZGV4IDkyZjA5NTEuLmQyODVlM2IgMTAwNjQ0CistLS0gYS9zcmMvYXJwZC9pdGYuYworKysrIGIvc3JjL2FycGQvaXRmLmMKK0BAIC0xNCw2ICsxNCw3IEBACisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyAjZGVmaW5lIF9MSU5VWF9ORVRERVZJQ0VfSCAvKiBnbGliYzIgKi8KKyAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKysjaW5jbHVkZSA8bmV0L2lmLmg+CisgI2luY2x1ZGUgPGxpbnV4L2lmX2FycC5oPgorIAorICNpbmNsdWRlICJhdG1kLmgiCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpbnV4LWF0bS9saW51eC1hdG1fMi41LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpbnV4LWF0bS9saW51eC1hdG1fMi41LjIuYmIKaW5kZXggOWZjZTRmYi4uNTE2ODJiMSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saW51eC1hdG0vbGludXgtYXRtXzIuNS4yLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bV8yLjUuMi5iYgpAQCAtMTQsNiArMTQsNyBAQAogICAgICAgICAgICBmaWxlOi8vMDAwMS10dGNwLUFkZC1wcmludGYtZm9ybWF0LXN0cmluZy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAyLXNpZ2QtUmVwbGFjZS1vbl9leGl0LUFQSS13aXRoLWF0ZXhpdC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAzLW1wb2FkLURyb3Atb2xkLWhhY2stdG8tY29tcGlsZS13aXRoLXZlcnktb2xkLWdsaWJjLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtSUZOQU1TSVotaXMtZGVmaW5lZC1pbi1uZXQtaWYuaC5wYXRjaCBcCiAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICJkNDk0OTkzNjhjM2NmMTVmNzNhMDVkOWJjZTg4MjRhOCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0Y2F0L25ldGNhdC1vcGVuYnNkXzEuMTkwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0LW9wZW5ic2RfMS4xOTAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlZmMwNWMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0LW9wZW5ic2RfMS4xOTAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1yZXF1aXJlIG5ldGNhdC5pbmMKLVNVTU1BUlkgPSAiT3BlbkJTRCBOZXRjYXQiCi1IT01FUEFHRSA9ICJodHRwOi8vZnRwLmRlYmlhbi5vcmciCi1MSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PWYzOWU2MGFlNGVhOWZkYjU1OWM4MzNiZTJlNTlkZTk5IgotCi1ERVBFTkRTICs9ICJnbGliLTIuMCBsaWJic2QiCi1kb19wYXRjaFtkZXBlbmRzXSA9ICJxdWlsdC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKLQotU1JDX1VSSSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvdWJ1bnR1LythcmNoaXZlL3ByaW1hcnkvK3NvdXJjZWZpbGVzL25ldGNhdC1vcGVuYnNkLzEuMTkwLTIvbmV0Y2F0LW9wZW5ic2RfJHtQVn0ub3JpZy50YXIuZ3o7bmFtZT1uZXRjYXQgXAotICAgICAgICAgICBodHRwczovL2xhdW5jaHBhZC5uZXQvdWJ1bnR1LythcmNoaXZlL3ByaW1hcnkvK3NvdXJjZWZpbGVzL25ldGNhdC1vcGVuYnNkLzEuMTkwLTIvbmV0Y2F0LW9wZW5ic2RfJHtQVn0tMi5kZWJpYW4udGFyLnh6O25hbWU9bmV0Y2F0LXBhdGNoO3N1YmRpcj0ke0JQfSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWJ1bmRsZS1vd24tYmFzZTY0LWVuY29kZS1kZWNvZGUtZnVuY3Rpb25zLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW25ldGNhdC5tZDVzdW1dID0gImRkMzJmZDFkNzkwM2I1NDFhZDg3MDk3OTQ1MzliOTU5IgotU1JDX1VSSVtuZXRjYXQuc2hhMjU2c3VtXSA9ICI2OGNjYzQ0ODM5MmMwNWVjNTFiYWVkMDE2N2E3MmI4YzY1MDQ1NGY5OTBiODk1ZDZlNjg3N2Q0MTZhMzhlNTM2IgotU1JDX1VSSVtuZXRjYXQtcGF0Y2gubWQ1c3VtXSA9ICI3ODA1OGI3YWYwMTcwNjU0Yjg3N2IwMmMzNzcxNmNkZiIKLVNSQ19VUklbbmV0Y2F0LXBhdGNoLnNoYTI1NnN1bV0gPSAiODgwODhhZjNmNTIwYzc4MjVlNTliYzEzM2Q2NWU3MGZjNGEzMDEzOWQ0NTFjNmZhYWJiZDlmMjQwYmM3ODM3NCIKLQotaW5oZXJpdCBwa2djb25maWcKLQotRVhUUkFfT0VNQUtFICs9ICInTERGTEFHUz0ke0xERkxBR1N9JyIKLQotZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKLQotbmV0Y2F0X2RvX3BhdGNoKCkgewotICAgIGNkICR7U30KLSAgICBxdWlsdCBwb3AgLWEgfHwgdHJ1ZQotICAgIGlmIFsgLWQgJHtTfS8ucGMtbmV0Y2F0IF07IHRoZW4KLSAgICAgICAgICAgIHJtIC1yZiAke1N9Ly5wYwotICAgICAgICAgICAgbXYgJHtTfS8ucGMtbmV0Y2F0ICR7U30vLnBjCi0gICAgICAgICAgICBRVUlMVF9QQVRDSEVTPSR7U30vZGViaWFuL3BhdGNoZXMgcXVpbHQgcG9wIC1hCi0gICAgICAgICAgICBybSAtcmYgJHtTfS8ucGMKLSAgICBmaQotICAgIFFVSUxUX1BBVENIRVM9JHtTfS9kZWJpYW4vcGF0Y2hlcyBxdWlsdCBwdXNoIC1hCi0gICAgbXYgJHtTfS8ucGMgJHtTfS8ucGMtbmV0Y2F0Ci19Ci0KLWRvX3VucGFja1tjbGVhbmRpcnNdICs9ICIke1N9IgotCi1weXRob24gZG9fcGF0Y2goKSB7Ci0gICAgYmIuYnVpbGQuZXhlY19mdW5jKCduZXRjYXRfZG9fcGF0Y2gnLCBkKQotICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygncGF0Y2hfZG9fcGF0Y2gnLCBkKQotfQotCi1kb19jb21waWxlKCkgewotICAgIGNkICR7U30KLSAgICBwa2dyZWw9NAotICAgIG9lX3J1bm1ha2UgQ0ZMQUdTPSIkQ0ZMQUdTIC1EREVCSUFOX1ZFUlNJT049XCJcXFwiJHtwa2dyZWx9XFxcIlwiIgotfQotCi1kb19pbnN0YWxsKCkgewotICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQotICAgIGluc3RhbGwgLW0gNzU1ICR7U30vbmMgJHtEfSR7YmluZGlyfS9uYy4ke0JQTn0KLX0KLUFMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjYwIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0LW9wZW5ic2RfMS4xOTUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQtb3BlbmJzZF8xLjE5NS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGFkNDNhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0LW9wZW5ic2RfMS4xOTUuYmIKQEAgLTAsMCArMSw1NiBAQAorcmVxdWlyZSBuZXRjYXQuaW5jCitTVU1NQVJZID0gIk9wZW5CU0QgTmV0Y2F0IgorSE9NRVBBR0UgPSAiaHR0cDovL2Z0cC5kZWJpYW4ub3JnIgorTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT1mMzllNjBhZTRlYTlmZGI1NTljODMzYmUyZTU5ZGU5OSIKKworREVQRU5EUyArPSAiZ2xpYi0yLjAgbGliYnNkIgorZG9fcGF0Y2hbZGVwZW5kc10gPSAicXVpbHQtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4vMjAxODEwMjJUMDg1NDA0Wi9wb29sL21haW4vbi9uZXRjYXQtb3BlbmJzZC9uZXRjYXQtb3BlbmJzZF8ke1BWfS5vcmlnLnRhci5nejtuYW1lPW5ldGNhdCBcCisgICAgICAgICAgIGh0dHA6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hpdmUvZGViaWFuLzIwMTgxMDIyVDA4NTQwNFovcG9vbC9tYWluL24vbmV0Y2F0LW9wZW5ic2QvbmV0Y2F0LW9wZW5ic2RfJHtQVn0tMS5kZWJpYW4udGFyLnh6O25hbWU9bmV0Y2F0LXBhdGNoO3N1YmRpcj0ke0JQfSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWJ1bmRsZS1vd24tYmFzZTY0LWVuY29kZS1kZWNvZGUtZnVuY3Rpb25zLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW25ldGNhdC5tZDVzdW1dID0gIjIxOWQ1ZTQ5YzQ1NjU4ZTIyOWEzYmRhNjMwNjNhOTg2IgorU1JDX1VSSVtuZXRjYXQuc2hhMjU2c3VtXSA9ICIwZTI4M2IyYTIxNDMxM2M2OTQ0N2NkOTYyYzUyOGFjMTlhZmIzZGRmZTYwNmIyNWRlNmQxNzlmMTg3Y2RlNGMzIgorU1JDX1VSSVtuZXRjYXQtcGF0Y2gubWQ1c3VtXSA9ICI3ZWJhMjQxOTg5ZGJlZjZjYWE3OGVjNGJjOGUzNTE1MSIKK1NSQ19VUklbbmV0Y2F0LXBhdGNoLnNoYTI1NnN1bV0gPSAiYzY3MzZmY2JhYjUyNTRjYmJjNTIyNzg5OTNhOTUxZGExMTI2ZTQyODAwYTI5N2MyN2RiMjk3ZTMzMmUyMDE3ZSIKKworaW5oZXJpdCBwa2djb25maWcKKworRVhUUkFfT0VNQUtFICs9ICInTERGTEFHUz0ke0xERkxBR1N9JyIKKworZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKKworbmV0Y2F0X2RvX3BhdGNoKCkgeworICAgIGNkICR7U30KKyAgICBxdWlsdCBwb3AgLWEgfHwgdHJ1ZQorICAgIGlmIFsgLWQgJHtTfS8ucGMtbmV0Y2F0IF07IHRoZW4KKyAgICAgICAgICAgIHJtIC1yZiAke1N9Ly5wYworICAgICAgICAgICAgbXYgJHtTfS8ucGMtbmV0Y2F0ICR7U30vLnBjCisgICAgICAgICAgICBRVUlMVF9QQVRDSEVTPSR7U30vZGViaWFuL3BhdGNoZXMgcXVpbHQgcG9wIC1hCisgICAgICAgICAgICBybSAtcmYgJHtTfS8ucGMKKyAgICBmaQorICAgIFFVSUxUX1BBVENIRVM9JHtTfS9kZWJpYW4vcGF0Y2hlcyBxdWlsdCBwdXNoIC1hCisgICAgbXYgJHtTfS8ucGMgJHtTfS8ucGMtbmV0Y2F0Cit9CisKK2RvX3VucGFja1tjbGVhbmRpcnNdICs9ICIke1N9IgorCitweXRob24gZG9fcGF0Y2goKSB7CisgICAgYmIuYnVpbGQuZXhlY19mdW5jKCduZXRjYXRfZG9fcGF0Y2gnLCBkKQorICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygncGF0Y2hfZG9fcGF0Y2gnLCBkKQorfQorCitkb19jb21waWxlKCkgeworICAgIGNkICR7U30KKyAgICBwa2dyZWw9NAorICAgIG9lX3J1bm1ha2UgQ0ZMQUdTPSIkQ0ZMQUdTIC1EREVCSUFOX1ZFUlNJT049XCJcXFwiJHtwa2dyZWx9XFxcIlwiIgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1ICR7U30vbmMgJHtEfSR7YmluZGlyfS9uYy4ke0JQTn0KK30KK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjYwIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZ2h0dHAyL25naHR0cDJfMS4yNi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZ2h0dHAyL25naHR0cDJfMS4yNi4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzY2NkNDg2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmdodHRwMi9uZ2h0dHAyXzEuMjYuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLVNVTU1BUlkgPSAiSFRUUC8yIEMgTGlicmFyeSBhbmQgdG9vbHMiCi1IT01FUEFHRSA9ICJodHRwczovL25naHR0cDIub3JnLyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzY0YWJkZjMwYjJlYWRkMzdjZTQ3ZGNiY2UwZWExZWMiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL25naHR0cDIvbmdodHRwMi9yZWxlYXNlcy9kb3dubG9hZC92JHtQVn0vbmdodHRwMi0ke1BWfS50YXIuYnoyIgotU1JDX1VSSVttZDVzdW1dID0gIjkyNmYwN2FkM2I1MGYzOGY3ZDg5MzVjZWQwNDcxNmNmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBkZjQyMjlmNDEyM2I1YWE5NmU4MzRlYmNmZGZmZTk1NGU5M2Q5ODZmMDI1MmZkMTAxMjNkNTBjNmYwMTA5ODMiCi0KLURFUEVORFMgPSAibGlieG1sMiBvcGVuc3NsIHpsaWIgamFuc3NvbiBjdW5pdCBjLWFyZXMiCi0KLWluaGVyaXQgY21ha2UgcHl0aG9ubmF0aXZlIHB5dGhvbi1kaXIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmdodHRwMi9uZ2h0dHAyXzEuMzcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmdodHRwMi9uZ2h0dHAyXzEuMzcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDE5NmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZ2h0dHAyL25naHR0cDJfMS4zNy4wLmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiSFRUUC8yIEMgTGlicmFyeSBhbmQgdG9vbHMiCitIT01FUEFHRSA9ICJodHRwczovL25naHR0cDIub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzY0YWJkZjMwYjJlYWRkMzdjZTQ3ZGNiY2UwZWExZWMiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL25naHR0cDIvbmdodHRwMi9yZWxlYXNlcy9kb3dubG9hZC92JHtQVn0vbmdodHRwMi0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiZGM3NTM2ZDAyYWE3ZDQ4ODNjMjBlYWY2Mzc3NDczODEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWEwOTBiMTY0YjE3ZjRiOTFmZTMyMzEwYTFjMGVkZjNlOTdlMDJjZDlkMTUyNGVlZjQyZDYwZGQxZThkNDdiNyIKKworREVQRU5EUyA9ICJsaWJ4bWwyIG9wZW5zc2wgemxpYiBqYW5zc29uIGN1bml0IGMtYXJlcyIKKworaW5oZXJpdCBjbWFrZSBweXRob25uYXRpdmUgcHl0aG9uLWRpcgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMvbmlzLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmlzL25pcy5pbmMKaW5kZXggMjAwZWFmNy4uYTk2OGFmMSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMvbmlzLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy9uaXMuaW5jCkBAIC0yNSw3ICsyNSw3IEBACiAjIHNvIGZvcmNlIHRoZSBwYWNrYWdlIHRvIGJlIHNraXBwZWQgaGVyZSAodGhpcyB3aWxsIGNhdXNlIGEKICMgJ25vdGhpbmcgcHJvdmlkZXMnIGVycm9yKQogcHl0aG9uICgpIHsKLSAgICBvcyA9IGQuZ2V0VmFyKCJUQVJHRVRfT1MiLCBUcnVlKQorICAgIG9zID0gZC5nZXRWYXIoIlRBUkdFVF9PUyIpCiAgICAgaWYgb3MgPT0gImxpbnV4LXVjbGliYyI6CiAgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoIk5JUyBmdW5jdGlvbmFsaXR5IHJlcXVpcmVzIHJwY3N2Yy95cC5oLCB1Q2xpYkMgZG9lcyBub3QgcHJvdmlkZSB0aGlzIikKIH0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvb3BlbmlwbWkvb3BlbmlwbWlfMi4wLjI1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9vcGVuaXBtaS9vcGVuaXBtaV8yLjAuMjUuYmIKaW5kZXggZDI4ZWJkNC4uZjA0MjZjZSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9vcGVuaXBtaS9vcGVuaXBtaV8yLjAuMjUuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9vcGVuaXBtaS9vcGVuaXBtaV8yLjAuMjUuYmIKQEAgLTM4LDcgKzM4LDcgQEAKIFNSQ19VUklbbWQ1c3VtXSA9ICIxNDYxYWM0ZDc4ZmM1MTY2NDZmZDBhNmU2MDVhOGIwNSIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJmMGYxYTBlYzczMjQwOTkzMGI3YTMxYTZkYWE2Y2YzOWI1ODVmNTIwNTliNjJhNWYwOTJiN2VjZTIxYWE3NWE1IgogCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHB5dGhvbm5hdGl2ZSBwZXJsbmF0aXZlIHVwZGF0ZS1yYy5kIHN5c3RlbWQKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgcHl0aG9ubmF0aXZlIHBlcmxuYXRpdmUgdXBkYXRlLXJjLmQgc3lzdGVtZCBjcGFuLWJhc2UKIAogRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1zdGF0aWMgXAogICAgICAgICAgICAgICAgIC0td2l0aC1wZXJsPScke1NUQUdJTkdfQklORElSX05BVElWRX0vcGVybC1uYXRpdmUvcGVybCcgXApAQCAtNzgsNiArNzgsNyBAQAogICAgICAgICBlY2hvICJTQUw6IFNUQUdJTkdfSU5DRElSX05BVElWRSA9ICRTVEFHSU5HX0lOQ0RJUl9OQVRJVkUiCiAgICAgICAgIGVjaG8gIlNBTDogbGliZGlyID0gJGxpYmRpciIKICAgICAgICAgc2VkIC1pIC1lICIvXlBFUkxfQ0ZMQUdTL3M6LUkvdXNyL2xvY2FsL2luY2x1ZGU6LUkke1NUQUdJTkdfSU5DRElSX05BVElWRX06ZyIgJGkKKyAgICAgICAgc2VkIC1pIC1lICIvXlBFUkxfQ0ZMQUdTL3M6LUkgLiogOi1JICR7U1RBR0lOR19MSUJESVJ9JHtQRVJMX09XTl9ESVJ9L3Blcmw1LyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyR7QGdldF9wZXJsX2FyY2goZCl9L0NPUkUgOmciICRpCiAgICAgICAgIHNlZCAtaSAtZSAiL15QRVJMX0lOU1RBTExfRElSL3M6XlBFUkxfSU5TVEFMTF9ESVIgPSAuKjpQRVJMX0lOU1RBTExfRElSID0gJHtsaWJkaXJ9L3BlcmwvdmVuZG9yX3BlcmwvJHBlcmxfdmVyOmciICRpCiAgICAgZG9uZQogfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9zdHJvbmdzd2FuL3N0cm9uZ3N3YW5fNS43LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0cm9uZ3N3YW4vc3Ryb25nc3dhbl81LjcuMS5iYgppbmRleCBjOGJiMTdjLi41YTRlMmQzIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0cm9uZ3N3YW4vc3Ryb25nc3dhbl81LjcuMS5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0cm9uZ3N3YW4vc3Ryb25nc3dhbl81LjcuMS5iYgpAQCAtNjYsOCArNjYsOCBAQAogICAgIGRiZ2xpYmRpciA9IG9zLnBhdGguam9pbihsaWJkaXIsICcuZGVidWcnKQogCiAgICAgZGVmIGFkZF9wbHVnaW5fY29uZihmLCBwa2csIGZpbGVfcmVnZXgsIG91dHB1dF9wYXR0ZXJuLCBtb2R1bGVuYW1lKToKLSAgICAgICAgZHZhciA9IGQuZ2V0VmFyKCdQS0dEJywgVHJ1ZSkKLSAgICAgICAgb2xkZmlsZXMgPSBkLmdldFZhcignQ09ORkZJTEVTXycgKyBwa2csIFRydWUpCisgICAgICAgIGR2YXIgPSBkLmdldFZhcignUEtHRCcpCisgICAgICAgIG9sZGZpbGVzID0gZC5nZXRWYXIoJ0NPTkZGSUxFU18nICsgcGtnKQogICAgICAgICBuZXdmaWxlID0gJy8nICsgb3MucGF0aC5yZWxwYXRoKGYsIGR2YXIpCiAKICAgICAgICAgaWYgbm90IG9sZGZpbGVzOgpAQCAtODMsNyArODMsNyBAQAogICAgIHNwbGl0X3N0YXRpY2Rldl9wYWNrYWdlcyA9IGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxpYmRpciwgJ2xpYnN0cm9uZ3N3YW4tKC4qKVwuYScsICcke1BOfS1wbHVnaW4tJXMtc3RhdGljZGV2JywgJ3N0cm9uZ1N3YW4gJXMgcGx1Z2luIC0gRGV2ZWxvcG1lbnQgZmlsZXMgKFN0YXRpYyBMaWJyYXJpZXMpJywgcHJlcGVuZD1UcnVlLCBleHRyYV9kZXBlbmRzPScke1BOfS1zdGF0aWNkZXYnKQogCiAgICAgaWYgc3BsaXRfcGFja2FnZXM6Ci0gICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJywgVHJ1ZSkKKyAgICAgICAgcG4gPSBkLmdldFZhcignUE4nKQogICAgICAgICBkLnNldFZhcignUlJFQ09NTUVORFNfJyArIHBuICsgJy1wbHVnaW5zJywgJyAnLmpvaW4oc3BsaXRfcGFja2FnZXMpKQogICAgICAgICBkLmFwcGVuZFZhcignUlJFQ09NTUVORFNfJyArIHBuICsgJy1kYmcnLCAnICcgKyAnICcuam9pbihzcGxpdF9kYmdfcGFja2FnZXMpKQogICAgICAgICBkLmFwcGVuZFZhcignUlJFQ09NTUVORFNfJyArIHBuICsgJy1kZXYnLCAnICcgKyAnICcuam9pbihzcGxpdF9kZXZfcGFja2FnZXMpKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvYXZvaWQtYWJzb2x1dGUtcGF0aC13aGVuLXNlYXJjaGluZy1mb3ItbGliZGxwaS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wL2F2b2lkLWFic29sdXRlLXBhdGgtd2hlbi1zZWFyY2hpbmctZm9yLWxpYmRscGkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDgyYzE2MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wL2F2b2lkLWFic29sdXRlLXBhdGgtd2hlbi1zZWFyY2hpbmctZm9yLWxpYmRscGkucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSBhMmJmZDI4MDM0ZDlhYTQ4ZDhmZjEwOWMxMzE0ZTUzYmM5Nzc5NzUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjQgT2N0IDIwMTggMjI6MjY6MDggLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gYXZvaWQgYWJzb2x1dGUgcGF0aCB3aGVuIHNlYXJjaGluZyBmb3IgbGliZGxwaQorCitMZXQgdGhlIGJ1aWxkIGVudmlyb25tZW50IGNvbnRyb2wgbGlicmFyeSBzZWFyY2ggcGF0aHMuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuaW4gfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IGM4ODI5MDkuLjUyYWVmZDYgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTU0Miw3ICs1NDIsNyBAQCBkb24ndC5dKQorIGZpCisgCisgIyBsaWJkbHBpIGlzIG5lZWRlZCBmb3IgU29sYXJpcyAxMSBhbmQgbGF0ZXIuCistQUNfQ0hFQ0tfTElCKGRscGksIGRscGlfd2FsaywgTElCUz0iJExJQlMgLWxkbHBpIiBMREZMQUdTPSItTC9saWIgJExERkxBR1MiLCAsLUwvbGliKQorK0FDX0NIRUNLX0xJQihkbHBpLCBkbHBpX3dhbGssIExJQlM9IiRMSUJTIC1sZGxwaSIpCisgCisgZG5sCisgZG5sIENoZWNrIGZvciAicGNhcF9saXN0X2RhdGFsaW5rcygpIiwgInBjYXBfc2V0X2RhdGFsaW5rKCkiLAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcC91bm5lY2Vzc2FyeS10by1jaGVjay1saWJwY2FwLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvdW5uZWNlc3NhcnktdG8tY2hlY2stbGlicGNhcC5wYXRjaAppbmRleCA4Y2VmYWRmLi42OWQ2OGJhIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcC91bm5lY2Vzc2FyeS10by1jaGVjay1saWJwY2FwLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wL3VubmVjZXNzYXJ5LXRvLWNoZWNrLWxpYnBjYXAucGF0Y2gKQEAgLTEsMTAgKzEsOCBAQAotRnJvbSA3NDFkNzdlNDJmYzRhZjQ5ODA0ZjdlZTQzYjcyMzdlMDE2MzNjYmNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBkZDAyM2MxMzM5ODBmY2MwY2ZmNTg5NmU4NTM3NzY3NWUwNTcxODk0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVHVlLCA4IEp1bCAyMDE0IDEzOjIwOjQ3ICswODAwCiBTdWJqZWN0OiBbUEFUQ0hdIHVubmVjZXNzYXJ5IHRvIGNoZWNrIGxpYnBjYXAKIAotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KIHNpbmNlIHRoZSBjaGVjayBvZiBsaWJwY2FwIGRpZCBub3QgY29uc2lkZXIgdGhlIGNyb3NzLWNvbXBpbGUsIGxlYWQgdG8gdGhlCiBiZWxvdyBlcnJvcjoKIAlUaGlzIGF1dG9jb25mIGxvZyBpbmRpY2F0ZXMgZXJyb3JzLCBpdCBsb29rZWQgYXQgaG9zdCBpbmNsdWRlIGFuZC9vcgpAQCAtMTMsMjIgKzExLDI5IEBACiBJbiBmYWN0LCB0aGUgbGlicGNhcCBoYXMgYmVlbiBhZGRlZCBpbnRvIHRoZSB0Y3BkdW1wJ3MgREVQRU5EUywgbm90IG5lZWQgdG8KIGNoZWNrIGlmIGxpYnBjYXAgZXhpc3RlZC4KIAotU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KIAorU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KIC0tLQotIGNvbmZpZ3VyZS5pbiB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKyBjb25maWd1cmUuaW4gfCA0ICsrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IGIyMzA1YTUuLmIzYjVkYmYgMTAwNjQ0CitpbmRleCBiMjMwNWE1Li5jODgyOTA5IDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmluCiArKysgYi9jb25maWd1cmUuaW4KLUBAIC00MTgsNyArNDE4LDcgQEAgZG5sIFNvbWUgcGxhdGZvcm1zIG1heSBuZWVkIC1sbnNsIGZvciBnZXRycGNieW51bWJlci4KK0BAIC00MTgsNyArNDE4LDkgQEAgZG5sIFNvbWUgcGxhdGZvcm1zIG1heSBuZWVkIC1sbnNsIGZvciBnZXRycGNieW51bWJlci4KICBBQ19TRUFSQ0hfTElCUyhnZXRycGNieW51bWJlciwgbnNsLAogICAgICBBQ19ERUZJTkUoSEFWRV9HRVRSUENCWU5VTUJFUiwgMSwgW2RlZmluZSBpZiB5b3UgaGF2ZSBnZXRycGNieW51bWJlcigpXSkpCiAgCiAtQUNfTEJMX0xJQlBDQVAoVl9QQ0FQREVQLCBWX0lOQ0xTKQotKyNBQ19MQkxfTElCUENBUChWX1BDQVBERVAsIFZfSU5DTFMpCisrIyBTaW1wbGlmaWVkIChtb3JlIGNyb3NzIGNvbXBpbGUgZnJpZW5kbHkpIGNoZWNrIGZvciBsaWJwY2FwLiBBbGwgd2UgcmVhbGx5CisrIyBuZWVkIGlzIHRvIHNhbml0eSBjaGVjayB0aGF0IGxpYnBjYXAgaXMgYXZhaWxhYmxlIGFuZCBhZGQgLWxwY2FwIHRvIExJQlMuCisrQUNfQ0hFQ0tfTElCKHBjYXAsIHBjYXBfY29tcGlsZSwgTElCUz0iJExJQlMgLWxwY2FwIikKICAKICAjCiAgIyBDaGVjayBmb3IgdGhlc2UgYWZ0ZXIgQUNfTEJMX0xJQlBDQVAsIHNvIHdlIGxpbmsgd2l0aCB0aGUgYXBwcm9wcmlhdGUKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXBfNC45LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcF80LjkuMi5iYgppbmRleCBkMzg1NDBlLi4wMzhjMTYxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcF80LjkuMi5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcF80LjkuMi5iYgpAQCAtMSwxMyArMSwxNSBAQAogU1VNTUFSWSA9ICJBIHNvcGhpc3RpY2F0ZWQgbmV0d29yayBwcm90b2NvbCBhbmFseXplciIKIEhPTUVQQUdFID0gImh0dHA6Ly93d3cudGNwZHVtcC5vcmcvIgorU0VDVElPTiA9ICJuZXQiCiBMSUNFTlNFID0gIkJTRCIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTFkNGIwMzY2NTU3OTUxYzg0YTk0ZmFiZTM1MjlmODY3IgotU0VDVElPTiA9ICJuZXQiCisKIERFUEVORFMgPSAibGlicGNhcCIKIAogU1JDX1VSSSA9ICIgXAogICAgIGh0dHA6Ly93d3cudGNwZHVtcC5vcmcvcmVsZWFzZS8ke0JQfS50YXIuZ3ogXAogICAgIGZpbGU6Ly91bm5lY2Vzc2FyeS10by1jaGVjay1saWJwY2FwLnBhdGNoIFwKKyAgICBmaWxlOi8vYXZvaWQtYWJzb2x1dGUtcGF0aC13aGVuLXNlYXJjaGluZy1mb3ItbGliZGxwaS5wYXRjaCBcCiAgICAgZmlsZTovL2FkZC1wdGVzdC5wYXRjaCBcCiAgICAgZmlsZTovL3J1bi1wdGVzdCBcCiAiCkBAIC0xNSwzNCArMTcsMjUgQEAKIFNSQ19VUklbbWQ1c3VtXSA9ICI5YmJjMWVlMzNkYWI2MTMwMjQxMWIwMmRkMDUxNTU3NiIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICI3OThiMzUzNmEyOTgzMmNlMGNiYjA3ZmFmYjFjZTUwOTdjOTVlMzA4YTZmNTkyZDE0MDUyZTFlZjE1MDVmZTc5IgogCi1leHBvcnQgTElCUz0iIC1scGNhcCIKLQogaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHB0ZXN0Ci1DQUNIRURfQ09ORklHVVJFVkFSUyA9ICJhY19jdl9saW51eF92ZXJzPSR7YWNfY3ZfbGludXhfdmVycz0yfSIKIAotUEFDS0FHRUNPTkZJRyA/Pz0gIm9wZW5zc2wiCi1QQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1jcnlwdG89eWVzLCAtLXdpdGhvdXQtb3BlbnNzbCAtLXdpdGhvdXQtY3J5cHRvLCBvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1tzbWldID0gIi0td2l0aC1zbWksIC0td2l0aG91dC1zbWksbGlic21pIgotUEFDS0FHRUNPTkZJR1tsaWJjYXAtbmddID0gIi0td2l0aC1jYXAtbmc9eWVzLC0td2l0aC1jYXAtbmc9bm8sbGliY2FwLW5nIgorUEFDS0FHRUNPTkZJRyA/PSAib3BlbnNzbCIKIAotRVhUUkFfQVVUT1JFQ09ORiArPSAiIC1JIG00IgorUEFDS0FHRUNPTkZJR1tsaWJjYXAtbmddID0gIi0td2l0aC1jYXAtbmcsLS13aXRob3V0LWNhcC1uZyxsaWJjYXAtbmciCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1jcnlwdG8sLS13aXRob3V0LW9wZW5zc2wgLS13aXRob3V0LWNyeXB0byxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tzbWldID0gIi0td2l0aC1zbWksLS13aXRob3V0LXNtaSxsaWJzbWkiCisKK0VYVFJBX0FVVE9SRUNPTkYgKz0gIi1JIG00IgogCiBkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKICAgICBta2RpciAtcCAke1N9L200CiAgICAgaWYgWyAtZiBhY2xvY2FsLm00IF07IHRoZW4KICAgICAgICAgbXYgYWNsb2NhbC5tNCAke1N9L200CiAgICAgZmkKLSAgICAjIEFDX0NIRUNLX0xJQihkbHBpLi4gd2FzIGxvb2tpbmcgdG8gaG9zdCAvbGliCi0gICAgc2VkIC1pICdzOi1ML2xpYjo6ZycgLi9jb25maWd1cmUuaW4KLX0KLWRvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7Ci0gICAgc2VkIC1pICdzOi1ML3Vzci9saWI6OicgLi9NYWtlZmlsZQotICAgIHNlZCAtaSAnczotV2wsLXJwYXRoLCR7U1RBR0lOR19MSUJESVJ9OjonIC4vTWFrZWZpbGUKLSAgICBzZWQgLWkgJ3M6LUkvdXNyL2luY2x1ZGU6OicgLi9NYWtlZmlsZQogfQogCiBkb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICAjIHRjcGR1bXAgNC4wLjAgaW5zdGFsbHMgYSBjb3B5IHRvIC91c3Ivc2Jpbi90Y3BkdW1wLjQuMC4wCisgICAgIyBtYWtlIGluc3RhbGwgaW5zdGFsbHMgYW4gdW5uZWVkZWQgZXh0cmEgY29weSBvZiB0aGUgdGNwZHVtcCBiaW5hcnkKICAgICBybSAtZiAke0R9JHtzYmluZGlyfS90Y3BkdW1wLiR7UFZ9CiB9CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvd2lyZXNoYXJrL3dpcmVzaGFyay8wMDAxLUFkZC1saWJtLXRvLWxpbmstZm9yLWZtb2QtQVBJLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC93aXJlc2hhcmsvd2lyZXNoYXJrLzAwMDEtQWRkLWxpYm0tdG8tbGluay1mb3ItZm1vZC1BUEkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2NWVmOWIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC93aXJlc2hhcmsvd2lyZXNoYXJrLzAwMDEtQWRkLWxpYm0tdG8tbGluay1mb3ItZm1vZC1BUEkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIDFhNmE1ZDJiY2IxYWRlYzliYTEzOGMyZWJlZTdiYmM5OTQ2MjBhZmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAxMiBKdW4gMjAxOCAyMzoyMzo0NCAtMDcwMAotU3ViamVjdDogW1BBVENIXSBBZGQgbGlibSB0byBsaW5rIGZvciBmbW9kKCkgQVBJCi0KLWZpeGVzCi1sZDogQ01ha2VGaWxlcy90c2hhcmsuZGlyL3VpL2NsaS90YXAtY29tcGFyZXN0YXQuYy5vOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIHN5bWJvbCAnZm1vZEBAR0xJQkNfMi4yLjUnCi18IC9tbnQvYS9vZS9idWlsZC90bXAvd29yay9jb3JlMi02NC1iZWMtbGludXgvd2lyZXNoYXJrLzFfMi42LjEtcjAvcmVjaXBlLXN5c3Jvb3QvbGliL2xpYm0uc28uNjogZXJyb3IgYWRkaW5nIHN5bWJvbHM6IERTTyBtaXNzaW5nIGZyb20gY29tbWFuZCBsaW5lCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBDTWFrZUxpc3RzLnR4dCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAotaW5kZXggNzk1MGU4NS4uYWNlZTE0MCAxMDA2NDQKLS0tLSBhL0NNYWtlTGlzdHMudHh0Ci0rKysgYi9DTWFrZUxpc3RzLnR4dAotQEAgLTI0OTQsNiArMjQ5NCw3IEBAIGlmKEJVSUxEX3RzaGFyaykKLSAJCSR7TElCRVBBTl9MSUJTfQotIAkJJHtBUFBMRV9DT1JFX0ZPVU5EQVRJT05fTElCUkFSWX0KLSAJCSR7QVBQTEVfU1lTVEVNX0NPTkZJR1VSQVRJT05fTElCUkFSWX0KLSsJCW0KLSAJKQotIAlzZXQodHNoYXJrX0ZJTEVTCi0gCQljYXB0dXJlX29wdHMuYwotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC93aXJlc2hhcmsvd2lyZXNoYXJrXzIuNi42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC93aXJlc2hhcmsvd2lyZXNoYXJrXzIuNi42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Njk5ZjY3Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvd2lyZXNoYXJrL3dpcmVzaGFya18yLjYuNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDk0ICswLDAgQEAKLURFU0NSSVBUSU9OID0gIndpcmVzaGFyayAtIGEgcG9wdWxhciBuZXR3b3JrIHByb3RvY29sIGFuYWx5emVyIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53aXJlc2hhcmsub3JnIgotU0VDVElPTiA9ICJuZXQiCi1MSUNFTlNFID0gIkdQTC0yLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02ZTI3MTIzNGJhMWExM2M2ZTUxMmU3NmI5NGFjMmY3NyIKLQotREVQRU5EUyA9ICJwY3JlIGV4cGF0IGdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSBsaWJnY3J5cHQgbGliZ3BnLWVycm9yIGxpYnhtbDIgYmlzb24tbmF0aXZlIgotCi1ERVBFTkRTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIHdpcmVzaGFyay1uYXRpdmUgY2hycGF0aC1yZXBsYWNlbWVudC1uYXRpdmUgIgotCi1TUkNfVVJJID0gImh0dHBzOi8vMS5hcy5kbC53aXJlc2hhcmsub3JnL3NyYy9hbGwtdmVyc2lvbnMvJHtCUH0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLWxpYm0tdG8tbGluay1mb3ItZm1vZC1BUEkucGF0Y2ggXAotICAgICAgICAgICIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vMS5hcy5kbC53aXJlc2hhcmsub3JnL3NyYyIKLQotU1JDX1VSSVttZDVzdW1dID0gImIzMGJhNWI5YjQ4ZWQyZmY5MWMwY2UzNTdkMzNiNDZiIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ4NzkzM2VhMDc1YmRiYjI1ZDhkZjA2MDE3ZDljNGY0OWZjMjBlYjdmNmVjODBhZjA4NjcxOGVkNTU1MGU4NjMiCi0KLVBFID0gIjEiCi0KLWluaGVyaXQgY21ha2UgcGtnY29uZmlnIHB5dGhvbm5hdGl2ZSBwZXJsbmF0aXZlIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgotCi1BUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKLQotIyBPcHRpb25zOiBndGsrLCBndGsrMyBhbmQgcXQ1Ci1HVEsgPSAiZ3RrKzMiCi0KLVBBQ0tBR0VDT05GSUcgPz0gImxpYnBjYXAgZ251dGxzIGxpYm5sIGxpYmNhcCBzYmMiCi1QQUNLQUdFQ09ORklHX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAieDExIiwgIiAke0dUS30iLCAiIiwgZCl9IgotCi1QQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICJsaWJwY2FwIGdudXRscyBzc2wgbGlic3NoIgotCi1QQUNLQUdFQ09ORklHW2xpYmNhcF0gPSAiLURFTkFCTEVfQ0FQPU9OLC1ERU5BQkxFX0NBUD1PRkYgLURFTkFCTEVfUENBUF9OR19ERUZBVUxUPU9OLCBsaWJjYXAiCi1QQUNLQUdFQ09ORklHW2xpYnBjYXBdID0gIi1ERU5BQkxFX1BDQVA9T04sLURFTkFCTEVfUENBUD1PRkYgLURFTkFCTEVfUENBUF9OR19ERUZBVUxUPU9OICwgbGlicGNhcCIKLVBBQ0tBR0VDT05GSUdbbGlic21pXSA9ICItREVOQUJMRV9TTUk9T04sLURFTkFCTEVfU01JPU9GRixsaWJzbWkiCi1QQUNLQUdFQ09ORklHW2xpYm5sXSA9ICIsLGxpYm5sIgotUEFDS0FHRUNPTkZJR1twb3J0YXVkaW9dID0gIi1ERU5BQkxFX1BPUlRBVURJTz1PTiwtREVOQUJMRV9QT1JUQVVESU89T0ZGLCBwb3J0YXVkaW8tdjE5IgotUEFDS0FHRUNPTkZJR1tndGsrXSA9ICItREVOQUJMRV9HVEs9T04gLURCVUlMRF93aXJlc2hhcmtfZ3RrPU9OLCAtREVOQUJMRV9HVEs9T0ZGLCBndGsrIgotUEFDS0FHRUNPTkZJR1tndGsrM10gPSAiLURFTkFCTEVfR1RLMz1PTiAtREJVSUxEX3dpcmVzaGFya19ndGs9T04sIC1ERU5BQkxFX0dUSzM9T0ZGLCBndGsrMyIKLVBBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItREVOQUJMRV9HTlVUTFM9T04sLURFTkFCTEVfR05VVExTPU9GRiwgZ251dGxzIgotUEFDS0FHRUNPTkZJR1tzc2xdID0gIiwsb3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdba3JiNV0gPSAiLURFTkFCTEVfS1JCNT1PTiwtREVOQUJMRV9LUkI1PU9GRiwga3JiNSIKLVBBQ0tBR0VDT05GSUdbbHVhXSA9ICItREVOQUJMRV9MVUE9T04sLURFTkFCTEVfTFVBPU9GRiwgbHVhIgotUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItREVOQUJMRV9aTElCPU9OLC1ERU5BQkxFX1pMSUI9T0ZGLCB6bGliIgotUEFDS0FHRUNPTkZJR1tnZW9pcF0gPSAiLCwgZ2VvaXAiCi1QQUNLQUdFQ09ORklHW3BsdWdpbnNdID0gIi1ERU5BQkxFX1BMVUdJTlM9T04sLURFTkFCTEVfUExVR0lOUz1PRkYiCi1QQUNLQUdFQ09ORklHW3NiY10gPSAiLURFTkFCTEVfU0JDPU9OLC1ERU5BQkxFX1NCQz1PRkYsIHNiYyIKLVBBQ0tBR0VDT05GSUdbbGlic3NoXSA9ICIsLGxpYnNzaDIiCi1QQUNLQUdFQ09ORklHW2x6NF0gPSAiLURFTkFCTEVfTFo0PU9OLC1ERU5BQkxFX0xaND1PRkYsIGx6NCIKLQotIyB0aGVzZSBuZXh0IHR3byBvcHRpb25zIHJlcXVpcmUgYWRkaW9uYWwgbGF5ZXJzCi1QQUNLQUdFQ09ORklHW2MtYXJlc10gPSAiLURFTkFCTEVfQ0FSRVM9T04sLURFTkFCTEVfQ0FSRVM9T0ZGLCBjLWFyZXMiCi1QQUNLQUdFQ09ORklHW3F0NV0gPSAiLURFTkFCTEVfUVQ1PU9OIC1EQlVJTERfd2lyZXNoYXJrPU9OLCAtREVOQUJMRV9RVDU9T0ZGIC1EQlVJTERfd2lyZXNoYXJrPU9GRiwgcXRiYXNlIgotCi1FWFRSQV9PRUNNQUtFICs9ICItREVOQUJMRV9ORVRMSU5LPU9OIFwKLSAgICAgICAgICAgICAgICAgIC1EQlVJTERfbW1kYnJlc29sdmU9T0ZGIFwKLSAgICAgICAgICAgICAgICAgIC1EQlVJTERfcmFuZHBrdGR1bXA9T0ZGIFwKLSAgICAgICAgICAgICAgICAgIC1EQlVJTERfYW5kcm9pZGR1bXA9T0ZGIFwKLSAgICAgICAgICAgICAgICAgIC1EQlVJTERfZGNlcnBjaWRsMndycz1PRkYgXAotICAgICAgICAgICAgICAgICAgLURNX0lOQ0xVREVfRElSPSR7aW5jbHVkZWRpcn0gXAotICAgICAgICAgICAgICAgICAgLURNX0xJQlJBUlk9JHtsaWJkaXJ9IFwKLSAgICAgICAgICAgICAgICAgIgotQ0ZMQUdTX2FwcGVuZCA9ICIgLWxtIgotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0JZm9yIGYgaW4gbGVtb24KLQlkbwotCQlpbnN0YWxsIC1tIDA3NTUgJHtCfS9ydW4vJGYgJHtEfSR7YmluZGlyfQotCWRvbmUKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotCWZvciBmIGluIGBmaW5kICR7RH0ke2xpYmRpcn0gJHtEfSR7YmluZGlyfSAtdHlwZSBmIC1leGVjdXRhYmxlYAotCWRvCi0JCWNocnBhdGggLS1kZWxldGUgJGYKLQlkb25lCi19Ci0KLVBBQ0tBR0VfQkVGT1JFX1BOICs9ICJ0c2hhcmsiCi1QQUNLQUdFX0JFRk9SRV9QTiArPSAiJHtQTn0tZ3RrIgotCi1GSUxFU190c2hhcmsgPSAiJHtiaW5kaXJ9L3RzaGFyayAke21hbmRpcn0vbWFuMS90c2hhcmsuKiIKLUZJTEVTXyR7UE59LWd0ayA9ICIke2JpbmRpcn0vd2lyZXNoYXJrLWd0ayAke2RhdGFkaXJ9L2ljb25zICR7ZGF0YWRpcn0vYXBwZGF0YSBcCi0gICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMgJHtkYXRhZGlyfS93aXJlc2hhcmsgJHtkYXRhZGlyfS9taW1lIFwKLSAgICAgICAgICAgICAgICAgICAke21hbmRpcn0vbWFuMS93aXJlc2hhcmsuKiAiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9KiIKLQotUkRFUEVORFNfdHNoYXJrID0gIndpcmVzaGFyayIKLVJERVBFTkRTXyR7UE59LWd0ayA9ICIke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgIngxMSIsICIke0dUS30iLCAiIiwgZCl9IHdpcmVzaGFyayIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay93aXJlc2hhcmtfMy4wLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay93aXJlc2hhcmtfMy4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGM1NWUzZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvd2lyZXNoYXJrL3dpcmVzaGFya18zLjAuMC5iYgpAQCAtMCwwICsxLDgxIEBACitERVNDUklQVElPTiA9ICJ3aXJlc2hhcmsgLSBhIHBvcHVsYXIgbmV0d29yayBwcm90b2NvbCBhbmFseXplciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cud2lyZXNoYXJrLm9yZyIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmUyNzEyMzRiYTFhMTNjNmU1MTJlNzZiOTRhYzJmNzciCisKK0RFUEVORFMgPSAicGNyZSBleHBhdCBnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgbGliZ2NyeXB0IGxpYmdwZy1lcnJvciBsaWJ4bWwyIGJpc29uLW5hdGl2ZSIKKworREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiB3aXJlc2hhcmstbmF0aXZlIGNocnBhdGgtcmVwbGFjZW1lbnQtbmF0aXZlICIKKworU1JDX1VSSSA9ICJodHRwczovLzEuZXUuZGwud2lyZXNoYXJrLm9yZy9zcmMvd2lyZXNoYXJrLSR7UFZ9LnRhci54eiIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vMS5hcy5kbC53aXJlc2hhcmsub3JnL3NyYyIKKworU1JDX1VSSVttZDVzdW1dID0gIjI1OGQ2MmFjNzQzNGQxMjZkYzQ5NzMwM2M4Zjc5NjFiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJjNGYzMGY1YjJlOTRmM2E2OTZmZWY5ZGU0NDY3M2NkZjQwMmRiOTBhYWM1Mjk5OTY2ZGE2NDdmNzA4ZjAwOWUiCisKK1BFID0gIjEiCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnIHB5dGhvbjNuYXRpdmUgcGVybG5hdGl2ZSB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KKworQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCisKK1BBQ0tBR0VDT05GSUcgPz0gImxpYnBjYXAgZ251dGxzIGxpYm5sIGxpYmNhcCBzYmMiCisKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gImxpYnBjYXAgZ251dGxzIHNzbCBsaWJzc2giCisKK1BBQ0tBR0VDT05GSUdbbGliY2FwXSA9ICItREVOQUJMRV9DQVA9T04sLURFTkFCTEVfQ0FQPU9GRiAtREVOQUJMRV9QQ0FQX05HX0RFRkFVTFQ9T04sIGxpYmNhcCIKK1BBQ0tBR0VDT05GSUdbbGlicGNhcF0gPSAiLURFTkFCTEVfUENBUD1PTiwtREVOQUJMRV9QQ0FQPU9GRiAtREVOQUJMRV9QQ0FQX05HX0RFRkFVTFQ9T04gLCBsaWJwY2FwIgorUEFDS0FHRUNPTkZJR1tsaWJzbWldID0gIi1ERU5BQkxFX1NNST1PTiwtREVOQUJMRV9TTUk9T0ZGLGxpYnNtaSIKK1BBQ0tBR0VDT05GSUdbbGlibmxdID0gIiwsbGlibmwiCitQQUNLQUdFQ09ORklHW3BvcnRhdWRpb10gPSAiLURFTkFCTEVfUE9SVEFVRElPPU9OLC1ERU5BQkxFX1BPUlRBVURJTz1PRkYsIHBvcnRhdWRpby12MTkiCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLURFTkFCTEVfR05VVExTPU9OLC1ERU5BQkxFX0dOVVRMUz1PRkYsIGdudXRscyIKK1BBQ0tBR0VDT05GSUdbc3NsXSA9ICIsLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2tyYjVdID0gIi1ERU5BQkxFX0tSQjU9T04sLURFTkFCTEVfS1JCNT1PRkYsIGtyYjUiCitQQUNLQUdFQ09ORklHW2x1YV0gPSAiLURFTkFCTEVfTFVBPU9OLC1ERU5BQkxFX0xVQT1PRkYsIGx1YSIKK1BBQ0tBR0VDT05GSUdbemxpYl0gPSAiLURFTkFCTEVfWkxJQj1PTiwtREVOQUJMRV9aTElCPU9GRiwgemxpYiIKK1BBQ0tBR0VDT05GSUdbZ2VvaXBdID0gIiwsIGdlb2lwIgorUEFDS0FHRUNPTkZJR1twbHVnaW5zXSA9ICItREVOQUJMRV9QTFVHSU5TPU9OLC1ERU5BQkxFX1BMVUdJTlM9T0ZGIgorUEFDS0FHRUNPTkZJR1tzYmNdID0gIi1ERU5BQkxFX1NCQz1PTiwtREVOQUJMRV9TQkM9T0ZGLCBzYmMiCitQQUNLQUdFQ09ORklHW2xpYnNzaF0gPSAiLCxsaWJzc2gyIgorUEFDS0FHRUNPTkZJR1tsejRdID0gIi1ERU5BQkxFX0xaND1PTiwtREVOQUJMRV9MWjQ9T0ZGLCBsejQiCisKKyMgdGhlc2UgbmV4dCB0d28gb3B0aW9ucyByZXF1aXJlIGFkZGlvbmFsIGxheWVycworUEFDS0FHRUNPTkZJR1tjLWFyZXNdID0gIi1ERU5BQkxFX0NBUkVTPU9OLC1ERU5BQkxFX0NBUkVTPU9GRiwgYy1hcmVzIgorUEFDS0FHRUNPTkZJR1txdDVdID0gIi1ERU5BQkxFX1FUNT1PTiAtREJVSUxEX3dpcmVzaGFyaz1PTiwgLURFTkFCTEVfUVQ1PU9GRiAtREJVSUxEX3dpcmVzaGFyaz1PRkYsIHF0YmFzZSIKKworRVhUUkFfT0VDTUFLRSArPSAiLURFTkFCTEVfTkVUTElOSz1PTiBcCisgICAgICAgICAgICAgICAgICAtREJVSUxEX21tZGJyZXNvbHZlPU9GRiBcCisgICAgICAgICAgICAgICAgICAtREJVSUxEX3JhbmRwa3RkdW1wPU9GRiBcCisgICAgICAgICAgICAgICAgICAtREJVSUxEX2FuZHJvaWRkdW1wPU9GRiBcCisgICAgICAgICAgICAgICAgICAtREJVSUxEX2RjZXJwY2lkbDJ3cnM9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1ETV9JTkNMVURFX0RJUj0ke2luY2x1ZGVkaXJ9IFwKKyAgICAgICAgICAgICAgICAgIC1ETV9MSUJSQVJZPSR7bGliZGlyfSBcCisgICAgICAgICAgICAgICAgICIKK0NGTEFHU19hcHBlbmQgPSAiIC1sbSIKKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorCWZvciBmIGluIGxlbW9uCisJZG8KKwkJaW5zdGFsbCAtbSAwNzU1ICR7Qn0vcnVuLyRmICR7RH0ke2JpbmRpcn0KKwlkb25lCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKwlmb3IgZiBpbiBgZmluZCAke0R9JHtsaWJkaXJ9ICR7RH0ke2JpbmRpcn0gLXR5cGUgZiAtZXhlY3V0YWJsZWAKKwlkbworCQljaHJwYXRoIC0tZGVsZXRlICRmCisJZG9uZQorfQorCitQQUNLQUdFX0JFRk9SRV9QTiArPSAidHNoYXJrIgorCitGSUxFU190c2hhcmsgPSAiJHtiaW5kaXJ9L3RzaGFyayAke21hbmRpcn0vbWFuMS90c2hhcmsuKiIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0qIgorCitSREVQRU5EU190c2hhcmsgPSAid2lyZXNoYXJrIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvUkVBRE1FIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9SRUFETUUKaW5kZXggZGUzNTFmMi4uMGU5Zjg0MiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9SRUFETUUKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9SRUFETUUKQEAgLTQsMTMgKzQsMTMgQEAKIFRoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vcGVuZW1iZWRkZWQtY29yZS5naXQKLWJyYW5jaDogdGh1ZCAKK2JyYW5jaDogbWFzdGVyCiByZXZpc2lvbjogSEVBRAogCi1TZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEtb2VdW3RodWRdJyBpbiB0aGUgc3ViamVjdCcKK1NlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1vZV0nIGluIHRoZSBzdWJqZWN0JwogCiBXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2Ugc29tZXRoaW5nIGxpa2U6Ci0nZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtb2VbdGh1ZF1bUEFUQ0gnCisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtb2VdW1BBVENIJwogCiBZb3UgYXJlIGVuY291cmFnZWQgdG8gZm9yayB0aGUgbWlycm9yIG9uIEdpdEh1YiBodHRwczovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29wZW5lbWJlZGRlZC1jb3JlCiB0byBzaGFyZSB5b3VyIHBhdGNoZXMsIHRoaXMgaXMgcHJlZmVycmVkIGZvciBwYXRjaCBzZXRzIGNvbnNpc3Rpbmcgb2YgbW9yZSB0aGFuIG9uZSBwYXRjaC4KQEAgLTE5LDQgKzE5LDQgQEAKICdnaXQgZmV0Y2ggPHJlbW90ZT4nIHdvcmtzIHRoZSBzYW1lIG9uIGFsbCBvZiB0aGVtLiBXZSByZWNvbW1lbmQgR2l0SHViIGJlY2F1c2UgaXQgaXMgZnJlZSwgZWFzeQogdG8gdXNlLCBoYXMgYmVlbiBwcm92ZW4gdG8gYmUgcmVsaWFibGUgYW5kIGhhcyBhIHJlYWxseSBnb29kIHdlYiBHVUkuCiAKLVRodWQgbWFpbnRhaW5lcjogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KK2xheWVyIG1haW50YWluZXI6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NsYXNzZXMvYnJlYWtwYWQuYmJjbGFzcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9icmVha3BhZC5iYmNsYXNzCmluZGV4IDM2ZjExZmYuLmNlYmU1NTkgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9icmVha3BhZC5iYmNsYXNzCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9icmVha3BhZC5iYmNsYXNzCkBAIC0yNSw2ICsyNSw5IEBACiBicmVha3BhZF9wYWNrYWdlX3ByZXByb2Nlc3MgKCkgewogICAgIG1rZGlyIC1wICR7UEtHRH0vdXNyL3NoYXJlL2JyZWFrcGFkLXN5bXMKICAgICBmaW5kICR7RH0gLW5hbWUgJHtCUkVBS1BBRF9CSU59IC1leGVjIHNoIC1jICJkdW1wX3N5bXMge30gPiAke1BLR0R9L3Vzci9zaGFyZS9icmVha3BhZC1zeW1zLyR7QlJFQUtQQURfQklOfS5zeW0iIFw7CisgICAgSEFTSD0kKGhlYWQgLW4xICR7UEtHRH0vdXNyL3NoYXJlL2JyZWFrcGFkLXN5bXMvJHtCUkVBS1BBRF9CSU59LnN5bSB8IHJldiB8IGN1dCAtZCAnICcgLWYyIHwgcmV2KQorICAgIG1rZGlyIC1wICR7UEtHRH0vdXNyL3NoYXJlL2JyZWFrcGFkLXN5bXMvJHtCUkVBS1BBRF9CSU59LyR7SEFTSH0KKyAgICBtdiAke1BLR0R9L3Vzci9zaGFyZS9icmVha3BhZC1zeW1zLyR7QlJFQUtQQURfQklOfS5zeW0gJHtQS0dEfS91c3Ivc2hhcmUvYnJlYWtwYWQtc3ltcy8ke0JSRUFLUEFEX0JJTn0vJHtIQVNIfQogfQogCiBQQUNLQUdFUyA9KyAiJHtQTn0tYnJlYWtwYWQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NsYXNzZXMvc2NhbmNvZGUuYmJjbGFzcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9zY2FuY29kZS5iYmNsYXNzCmluZGV4IDcwMTY2MGYuLmUwZjBkYmMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9zY2FuY29kZS5iYmNsYXNzCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9zY2FuY29kZS5iYmNsYXNzCkBAIC0zLDE4ICszLDE4IEBACiAjIEZvciBtb3JlIGluZm9ybWFpdG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9uZXhCL3NjYW5jb2RlLXRvb2xraXQKIAogU0NBTkNPREVfRk9STUFUID89ICJodG1sLWFwcCIKLUVYVCA9ICIke0AnaHRtbCcgaWYgZC5nZXRWYXIoJ1NDQU5DT0RFX0ZPUk1BVCcsIFRydWUpID09ICdodG1sLWFwcCcgZWxzZSAnanNvbid9IgorRVhUID0gIiR7QCdodG1sJyBpZiBkLmdldFZhcignU0NBTkNPREVfRk9STUFUJykgPT0gJ2h0bWwtYXBwJyBlbHNlICdqc29uJ30iCiBTQ0FOQ09ERV9UT09MS0lUID0gIiR7QGdldF9zY2FuY29kZV90b29sa2l0KGQpfSIKIFNDQU5DT0RFX1RBRyA9ICJ2Mi4yLjEiCiBTQ0FOQ09ERV9HSVRfTE9DQVRJT04gPz0gImh0dHBzOi8vZ2l0aHViLmNvbS9uZXhCL3NjYW5jb2RlLXRvb2xraXQuZ2l0IgogU0NBTkNPREVfU1JDX0xPQ0FUSU9OID89ICIke0RMX0RJUn0vc2NhbmNvZGUiCiAKIGRlZiBnZXRfc2NhbmNvZGVfdG9vbGtpdChkKToKLSAgICBsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKGQuZ2V0VmFyKCdTQ0FOQ09ERV9TUkNfTE9DQVRJT04nLCBUcnVlKSArICIubG9jayIpCi0gICAgaWYgKG5vdCBvcy5wYXRoLmV4aXN0cyhkLmdldFZhcignU0NBTkNPREVfU1JDX0xPQ0FUSU9OJywgVHJ1ZSkpKToKLSAgICAgICAgb3Muc3lzdGVtKCJnaXQgY2xvbmUgJXMgJXMgLWIgJXMiICUgKGQuZ2V0VmFyKCdTQ0FOQ09ERV9HSVRfTE9DQVRJT04nLCBUcnVlKSwgZC5nZXRWYXIoJ1NDQU5DT0RFX1NSQ19MT0NBVElPTicsIFRydWUpLCBkLmdldFZhcignU0NBTkNPREVfVEFHJywgVHJ1ZSkpKQorICAgIGxmID0gYmIudXRpbHMubG9ja2ZpbGUoZC5nZXRWYXIoJ1NDQU5DT0RFX1NSQ19MT0NBVElPTicpICsgIi5sb2NrIikKKyAgICBpZiAobm90IG9zLnBhdGguZXhpc3RzKGQuZ2V0VmFyKCdTQ0FOQ09ERV9TUkNfTE9DQVRJT04nKSkpOgorICAgICAgICBvcy5zeXN0ZW0oImdpdCBjbG9uZSAlcyAlcyAtYiAlcyIgJSAoZC5nZXRWYXIoJ1NDQU5DT0RFX0dJVF9MT0NBVElPTicpLCBkLmdldFZhcignU0NBTkNPREVfU1JDX0xPQ0FUSU9OJyksIGQuZ2V0VmFyKCdTQ0FOQ09ERV9UQUcnKSkpCiAgICAgYmIudXRpbHMudW5sb2NrZmlsZShsZikKLSAgICByZXR1cm4gKGQuZ2V0VmFyKCdTQ0FOQ09ERV9TUkNfTE9DQVRJT04nLCBUcnVlKSkKKyAgICByZXR1cm4gKGQuZ2V0VmFyKCdTQ0FOQ09ERV9TUkNfTE9DQVRJT04nKSkKIAogZG9fc2NhbmNvZGUoKSB7CiAJbWtkaXIgLXAgJHtERVBMT1lfRElSX0lNQUdFfS9zY2FuY29kZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jb25mL2xheWVyLmNvbmYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NvbmYvbGF5ZXIuY29uZgppbmRleCAyM2MxMGNlLi4zMWYyZjE3IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NvbmYvbGF5ZXIuY29uZgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NvbmYvbGF5ZXIuY29uZgpAQCAtMjksNyArMjksNyBAQAogCiBMQVlFUkRFUEVORFNfb3BlbmVtYmVkZGVkLWxheWVyID0gImNvcmUiCiAKLUxBWUVSU0VSSUVTX0NPTVBBVF9vcGVuZW1iZWRkZWQtbGF5ZXIgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9vcGVuZW1iZWRkZWQtbGF5ZXIgPSAidGh1ZCB3YXJyaW9yIgogCiBMSUNFTlNFX1BBVEggKz0gIiR7TEFZRVJESVJ9L2xpY2Vuc2VzIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0hERjUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0hERjUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTA0ODFkZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvSERGNQpAQCAtMCwwICsxLDkyIEBACitDb3B5cmlnaHQgTm90aWNlIGFuZCBMaWNlbnNlIFRlcm1zIGZvciAKK0hERjUgKEhpZXJhcmNoaWNhbCBEYXRhIEZvcm1hdCA1KSBTb2Z0d2FyZSBMaWJyYXJ5IGFuZCBVdGlsaXRpZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0hERjUgKEhpZXJhcmNoaWNhbCBEYXRhIEZvcm1hdCA1KSBTb2Z0d2FyZSBMaWJyYXJ5IGFuZCBVdGlsaXRpZXMKK0NvcHlyaWdodCAoYykgMjAwNi0yMDE4LCBUaGUgSERGIEdyb3VwLiAKKworTkNTQSBIREY1IChIaWVyYXJjaGljYWwgRGF0YSBGb3JtYXQgNSkgU29mdHdhcmUgTGlicmFyeSBhbmQgVXRpbGl0aWVzCitDb3B5cmlnaHQgKGMpIDE5OTgtMjAwNiwgVGhlIEJvYXJkIG9mIFRydXN0ZWVzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzLiAKKworQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIGZvciBhbnkgcHVycG9zZSAoaW5jbHVkaW5nIGNvbW1lcmNpYWwgcHVycG9zZXMpIAorcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCAKKyAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zLCBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIAorICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMsIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gCisgICBhbmQvb3IgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBUaGUgSERGIEdyb3VwLCB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSwgbm9yIHRoZSAKKyAgIG5hbWUgb2YgYW55IENvbnRyaWJ1dG9yIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIAorICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uIGZyb20gCisgICBUaGUgSERGIEdyb3VwLCB0aGUgVW5pdmVyc2l0eSwgb3IgdGhlIENvbnRyaWJ1dG9yLCByZXNwZWN0aXZlbHkuCisKK0RJU0NMQUlNRVI6IAorVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgSERGIEdST1VQIEFORCBUSEUgQ09OVFJJQlVUT1JTIAorIkFTIElTIiBXSVRIIE5PIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTU0VEIE9SIElNUExJRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBIREYgR1JPVVAgT1IgVEhFIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBEQU1BR0VTIFNVRkZFUkVEIEJZIFRIRSBVU0VSUyBBUklTSU5HIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgCitZb3UgYXJlIHVuZGVyIG5vIG9ibGlnYXRpb24gd2hhdHNvZXZlciB0byBwcm92aWRlIGFueSBidWcgZml4ZXMsIHBhdGNoZXMsIG9yIHVwZ3JhZGVzIHRvIHRoZSBmZWF0dXJlcywgZnVuY3Rpb25hbGl0eSBvciBwZXJmb3JtYW5jZSBvZiB0aGUgc291cmNlIGNvZGUgKCJFbmhhbmNlbWVudHMiKSB0byBhbnlvbmU7IGhvd2V2ZXIsIGlmIHlvdSBjaG9vc2UgdG8gbWFrZSB5b3VyIEVuaGFuY2VtZW50cyBhdmFpbGFibGUgZWl0aGVyIHB1YmxpY2x5LCBvciBkaXJlY3RseSB0byBUaGUgSERGIEdyb3VwLCB3aXRob3V0IGltcG9zaW5nIGEgc2VwYXJhdGUgd3JpdHRlbiBsaWNlbnNlIGFncmVlbWVudCBmb3Igc3VjaCBFbmhhbmNlbWVudHMsIHRoZW4geW91IGhlcmVieSBncmFudCB0aGUgZm9sbG93aW5nIGxpY2Vuc2U6IGEgbm9uLWV4Y2x1c2l2ZSwgcm95YWx0eS1mcmVlIHBlcnBldHVhbCBsaWNlbnNlIHRvIGluc3RhbGwsIHVzZSwgbW9kaWZ5LCBwcmVwYXJlIGRlcml2YXRpdmUgd29ya3MsIGluY29ycG9yYXRlIGludG8gb3RoZXIgY29tcHV0ZXIgc29mdHdhcmUsIGRpc3RyaWJ1dGUsIGFuZCBzdWJsaWNlbnNlIHN1Y2ggZW5oYW5jZW1lbnRzIG9yIGRlcml2YXRpdmUgd29ya3MgdGhlcmVvZiwgaW4gYmluYXJ5IGFuZCBzb3VyY2UgY29kZSBmb3JtLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworTGltaXRlZCBwb3J0aW9ucyBvZiBIREY1IHdlcmUgZGV2ZWxvcGVkIGJ5IExhd3JlbmNlIEJlcmtlbGV5IE5hdGlvbmFsIAorTGFib3JhdG9yeSAoTEJOTCkuIExCTkwncyBDb3B5cmlnaHQgTm90aWNlIGFuZCBMaWNlbnNpbmcgVGVybXMgY2FuIGJlCitmb3VuZCBoZXJlOiBDT1BZSU5HX0xCTkxfSERGNSBmaWxlIGluIHRoaXMgZGlyZWN0b3J5IG9yIGF0IAoraHR0cDovL3N1cHBvcnQuaGRmZ3JvdXAub3JnL2Z0cC9IREY1L3JlbGVhc2VzL0NPUFlJTkdfTEJOTF9IREY1LiAKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NvbnRyaWJ1dG9yczogICBOYXRpb25hbCBDZW50ZXIgZm9yIFN1cGVyY29tcHV0aW5nIEFwcGxpY2F0aW9ucyAoTkNTQSkgYXQgCit0aGUgVW5pdmVyc2l0eSBvZiBJbGxpbm9pcywgRm9ydG5lciBTb2Z0d2FyZSwgVW5pZGF0YSBQcm9ncmFtIENlbnRlciAobmV0Q0RGKSwgVGhlIEluZGVwZW5kZW50IEpQRUcgR3JvdXAgKEpQRUcpLCBKZWFuLWxvdXAgR2FpbGx5IGFuZCBNYXJrIEFkbGVyIChnemlwKSwgYW5kIERpZ2l0YWwgRXF1aXBtZW50IENvcnBvcmF0aW9uIChERUMpLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorUG9ydGlvbnMgb2YgSERGNSB3ZXJlIGRldmVsb3BlZCB3aXRoIHN1cHBvcnQgZnJvbSB0aGUgTGF3cmVuY2UgQmVya2VsZXkgCitOYXRpb25hbCBMYWJvcmF0b3J5IChMQk5MKSBhbmQgdGhlIFVuaXRlZCBTdGF0ZXMgRGVwYXJ0bWVudCBvZiBFbmVyZ3kgCit1bmRlciBQcmltZSBDb250cmFjdCBOby4gREUtQUMwMi0wNUNIMTEyMzEuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1BvcnRpb25zIG9mIEhERjUgd2VyZSBkZXZlbG9wZWQgd2l0aCBzdXBwb3J0IGZyb20gdGhlIFVuaXZlcnNpdHkgb2YgCitDYWxpZm9ybmlhLCBMYXdyZW5jZSBMaXZlcm1vcmUgTmF0aW9uYWwgTGFib3JhdG9yeSAoVUMgTExOTCkuICAKK1RoZSBmb2xsb3dpbmcgc3RhdGVtZW50IGFwcGxpZXMgdG8gdGhvc2UgcG9ydGlvbnMgb2YgdGhlIHByb2R1Y3QgYW5kIG11c3QgCitiZSByZXRhaW5lZCBpbiBhbnkgcmVkaXN0cmlidXRpb24gb2Ygc291cmNlIGNvZGUsIGJpbmFyaWVzLCBkb2N1bWVudGF0aW9uLCAKK2FuZC9vciBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzOgorCisgICBUaGlzIHdvcmsgd2FzIHBhcnRpYWxseSBwcm9kdWNlZCBhdCB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLCAKKyAgIExhd3JlbmNlIExpdmVybW9yZSBOYXRpb25hbCBMYWJvcmF0b3J5IChVQyBMTE5MKSB1bmRlciBjb250cmFjdCAKKyAgIG5vLiBXLTc0MDUtRU5HLTQ4IChDb250cmFjdCA0OCkgYmV0d2VlbiB0aGUgVS5TLiBEZXBhcnRtZW50IG9mIEVuZXJneSAKKyAgIChET0UpIGFuZCBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhIChVbml2ZXJzaXR5KSAKKyAgIGZvciB0aGUgb3BlcmF0aW9uIG9mIFVDIExMTkwuCisKKyAgIERJU0NMQUlNRVI6IAorICAgVGhpcyB3b3JrIHdhcyBwcmVwYXJlZCBhcyBhbiBhY2NvdW50IG9mIHdvcmsgc3BvbnNvcmVkIGJ5IGFuIGFnZW5jeSBvZiAKKyAgIHRoZSBVbml0ZWQgU3RhdGVzIEdvdmVybm1lbnQuIE5laXRoZXIgdGhlIFVuaXRlZCBTdGF0ZXMgR292ZXJubWVudCBub3IgCisgICB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhIG5vciBhbnkgb2YgdGhlaXIgZW1wbG95ZWVzLCBtYWtlcyBhbnkgCisgICB3YXJyYW50eSwgZXhwcmVzcyBvciBpbXBsaWVkLCBvciBhc3N1bWVzIGFueSBsaWFiaWxpdHkgb3IgcmVzcG9uc2liaWxpdHkgCisgICBmb3IgdGhlIGFjY3VyYWN5LCBjb21wbGV0ZW5lc3MsIG9yIHVzZWZ1bG5lc3Mgb2YgYW55IGluZm9ybWF0aW9uLCAKKyAgIGFwcGFyYXR1cywgcHJvZHVjdCwgb3IgcHJvY2VzcyBkaXNjbG9zZWQsIG9yIHJlcHJlc2VudHMgdGhhdCBpdHMgdXNlIAorICAgd291bGQgbm90IGluZnJpbmdlIHByaXZhdGVseS0gb3duZWQgcmlnaHRzLiBSZWZlcmVuY2UgaGVyZWluIHRvIGFueSAKKyAgIHNwZWNpZmljIGNvbW1lcmNpYWwgcHJvZHVjdHMsIHByb2Nlc3MsIG9yIHNlcnZpY2UgYnkgdHJhZGUgbmFtZSwgCisgICB0cmFkZW1hcmssIG1hbnVmYWN0dXJlciwgb3Igb3RoZXJ3aXNlLCBkb2VzIG5vdCBuZWNlc3NhcmlseSBjb25zdGl0dXRlIAorICAgb3IgaW1wbHkgaXRzIGVuZG9yc2VtZW50LCByZWNvbW1lbmRhdGlvbiwgb3IgZmF2b3JpbmcgYnkgdGhlIFVuaXRlZCAKKyAgIFN0YXRlcyBHb3Zlcm5tZW50IG9yIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuIFRoZSB2aWV3cyBhbmQgCisgICBvcGluaW9ucyBvZiBhdXRob3JzIGV4cHJlc3NlZCBoZXJlaW4gZG8gbm90IG5lY2Vzc2FyaWx5IHN0YXRlIG9yIHJlZmxlY3QgCisgICB0aG9zZSBvZiB0aGUgVW5pdGVkIFN0YXRlcyBHb3Zlcm5tZW50IG9yIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEsIAorICAgYW5kIHNoYWxsIG5vdCBiZSB1c2VkIGZvciBhZHZlcnRpc2luZyBvciBwcm9kdWN0IGVuZG9yc2VtZW50IHB1cnBvc2VzLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitIREY1IGlzIGF2YWlsYWJsZSB3aXRoIHRoZSBTWklQIGNvbXByZXNzaW9uIGxpYnJhcnkgYnV0IFNaSVAgaXMgbm90IHBhcnQgCitvZiBIREY1IGFuZCBoYXMgc2VwYXJhdGUgY29weXJpZ2h0IGFuZCBsaWNlbnNlIHRlcm1zLiBTZWUgU1pJUCBDb21wcmVzc2lvbiAKK2luIEhERiBQcm9kdWN0cyAod3d3LmhkZmdyb3VwLm9yZy9kb2NfcmVzb3VyY2UvU1pJUC8pIGZvciBmdXJ0aGVyIGRldGFpbHMuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvU1NQTC0xIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9TU1BMLTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUxMzgzZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvU1NQTC0xCkBAIC0wLDAgKzEsNTU3IEBACisgICAgICAgICAgICAgICAgICAgICBTZXJ2ZXIgU2lkZSBQdWJsaWMgTGljZW5zZQorICAgICAgICAgICAgICAgICAgICAgVkVSU0lPTiAxLCBPQ1RPQkVSIDE2LCAyMDE4CisKKyAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IMKpIDIwMTggTW9uZ29EQiwgSW5jLgorCisgIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGlzCisgIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KKworICAgICAgICAgICAgICAgICAgICAgICBURVJNUyBBTkQgQ09ORElUSU9OUworCisgIDAuIERlZmluaXRpb25zLgorICAKKyAg4oCcVGhpcyBMaWNlbnNl4oCdIHJlZmVycyB0byBTZXJ2ZXIgU2lkZSBQdWJsaWMgTGljZW5zZS4KKworICDigJxDb3B5cmlnaHTigJ0gYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKKyAgd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KKworICDigJxUaGUgUHJvZ3JhbeKAnSByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCisgIExpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyDigJx5b3XigJ0uIOKAnExpY2Vuc2Vlc+KAnSBhbmQKKyAg4oCccmVjaXBpZW50c+KAnSBtYXkgYmUgaW5kaXZpZHVhbHMgb3Igb3JnYW5pemF0aW9ucy4KKworICBUbyDigJxtb2RpZnnigJ0gYSB3b3JrIG1lYW5zIHRvIGNvcHkgZnJvbSBvciBhZGFwdCBhbGwgb3IgcGFydCBvZiB0aGUgd29yayBpbgorICBhIGZhc2hpb24gcmVxdWlyaW5nIGNvcHlyaWdodCBwZXJtaXNzaW9uLCBvdGhlciB0aGFuIHRoZSBtYWtpbmcgb2YgYW4KKyAgZXhhY3QgY29weS4gVGhlIHJlc3VsdGluZyB3b3JrIGlzIGNhbGxlZCBhIOKAnG1vZGlmaWVkIHZlcnNpb27igJ0gb2YgdGhlCisgIGVhcmxpZXIgd29yayBvciBhIHdvcmsg4oCcYmFzZWQgb27igJ0gdGhlIGVhcmxpZXIgd29yay4KKworICBBIOKAnGNvdmVyZWQgd29ya+KAnSBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQgb24KKyAgdGhlIFByb2dyYW0uCisKKyAgVG8g4oCccHJvcGFnYXRl4oCdIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKKyAgcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgorICBpbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKKyAgY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiBQcm9wYWdhdGlvbiBpbmNsdWRlcyBjb3B5aW5nLAorICBkaXN0cmlidXRpb24gKHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24pLCBtYWtpbmcgYXZhaWxhYmxlIHRvIHRoZQorICBwdWJsaWMsIGFuZCBpbiBzb21lIGNvdW50cmllcyBvdGhlciBhY3Rpdml0aWVzIGFzIHdlbGwuCisKKyAgVG8g4oCcY29udmV54oCdIGEgd29yayBtZWFucyBhbnkga2luZCBvZiBwcm9wYWdhdGlvbiB0aGF0IGVuYWJsZXMgb3RoZXIKKyAgcGFydGllcyB0byBtYWtlIG9yIHJlY2VpdmUgY29waWVzLiBNZXJlIGludGVyYWN0aW9uIHdpdGggYSB1c2VyIHRocm91Z2ggYQorICBjb21wdXRlciBuZXR3b3JrLCB3aXRoIG5vIHRyYW5zZmVyIG9mIGEgY29weSwgaXMgbm90IGNvbnZleWluZy4KKworICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyDigJxBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2Vz4oCdIHRvIHRoZQorICBleHRlbnQgdGhhdCBpdCBpbmNsdWRlcyBhIGNvbnZlbmllbnQgYW5kIHByb21pbmVudGx5IHZpc2libGUgZmVhdHVyZSB0aGF0CisgICgxKSBkaXNwbGF5cyBhbiBhcHByb3ByaWF0ZSBjb3B5cmlnaHQgbm90aWNlLCBhbmQgKDIpIHRlbGxzIHRoZSB1c2VyIHRoYXQKKyAgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoZSB3b3JrIChleGNlcHQgdG8gdGhlIGV4dGVudCB0aGF0IHdhcnJhbnRpZXMKKyAgYXJlIHByb3ZpZGVkKSwgdGhhdCBsaWNlbnNlZXMgbWF5IGNvbnZleSB0aGUgd29yayB1bmRlciB0aGlzIExpY2Vuc2UsIGFuZAorICBob3cgdG8gdmlldyBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlLiBJZiB0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZgorICB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYSBtZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0CisgIG1lZXRzIHRoaXMgY3JpdGVyaW9uLgorCisgIDEuIFNvdXJjZSBDb2RlLgorCisgIFRoZSDigJxzb3VyY2UgY29kZeKAnSBmb3IgYSB3b3JrIG1lYW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiB0aGUgd29yayBmb3IKKyAgbWFraW5nIG1vZGlmaWNhdGlvbnMgdG8gaXQuIOKAnE9iamVjdCBjb2Rl4oCdIG1lYW5zIGFueSBub24tc291cmNlIGZvcm0gb2YgYQorICB3b3JrLgorCisgIEEg4oCcU3RhbmRhcmQgSW50ZXJmYWNl4oCdIG1lYW5zIGFuIGludGVyZmFjZSB0aGF0IGVpdGhlciBpcyBhbiBvZmZpY2lhbAorICBzdGFuZGFyZCBkZWZpbmVkIGJ5IGEgcmVjb2duaXplZCBzdGFuZGFyZHMgYm9keSwgb3IsIGluIHRoZSBjYXNlIG9mCisgIGludGVyZmFjZXMgc3BlY2lmaWVkIGZvciBhIHBhcnRpY3VsYXIgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIG9uZSB0aGF0IGlzCisgIHdpZGVseSB1c2VkIGFtb25nIGRldmVsb3BlcnMgd29ya2luZyBpbiB0aGF0IGxhbmd1YWdlLiAgVGhlIOKAnFN5c3RlbQorICBMaWJyYXJpZXPigJ0gb2YgYW4gZXhlY3V0YWJsZSB3b3JrIGluY2x1ZGUgYW55dGhpbmcsIG90aGVyIHRoYW4gdGhlIHdvcmsgYXMKKyAgYSB3aG9sZSwgdGhhdCAoYSkgaXMgaW5jbHVkZWQgaW4gdGhlIG5vcm1hbCBmb3JtIG9mIHBhY2thZ2luZyBhIE1ham9yCisgIENvbXBvbmVudCwgYnV0IHdoaWNoIGlzIG5vdCBwYXJ0IG9mIHRoYXQgTWFqb3IgQ29tcG9uZW50LCBhbmQgKGIpIHNlcnZlcworICBvbmx5IHRvIGVuYWJsZSB1c2Ugb2YgdGhlIHdvcmsgd2l0aCB0aGF0IE1ham9yIENvbXBvbmVudCwgb3IgdG8gaW1wbGVtZW50CisgIGEgU3RhbmRhcmQgSW50ZXJmYWNlIGZvciB3aGljaCBhbiBpbXBsZW1lbnRhdGlvbiBpcyBhdmFpbGFibGUgdG8gdGhlCisgIHB1YmxpYyBpbiBzb3VyY2UgY29kZSBmb3JtLiBBIOKAnE1ham9yIENvbXBvbmVudOKAnSwgaW4gdGhpcyBjb250ZXh0LCBtZWFucyBhCisgIG1ham9yIGVzc2VudGlhbCBjb21wb25lbnQgKGtlcm5lbCwgd2luZG93IHN5c3RlbSwgYW5kIHNvIG9uKSBvZiB0aGUKKyAgc3BlY2lmaWMgb3BlcmF0aW5nIHN5c3RlbSAoaWYgYW55KSBvbiB3aGljaCB0aGUgZXhlY3V0YWJsZSB3b3JrIHJ1bnMsIG9yCisgIGEgY29tcGlsZXIgdXNlZCB0byBwcm9kdWNlIHRoZSB3b3JrLCBvciBhbiBvYmplY3QgY29kZSBpbnRlcnByZXRlciB1c2VkCisgIHRvIHJ1biBpdC4KKworICBUaGUg4oCcQ29ycmVzcG9uZGluZyBTb3VyY2XigJ0gZm9yIGEgd29yayBpbiBvYmplY3QgY29kZSBmb3JtIG1lYW5zIGFsbCB0aGUKKyAgc291cmNlIGNvZGUgbmVlZGVkIHRvIGdlbmVyYXRlLCBpbnN0YWxsLCBhbmQgKGZvciBhbiBleGVjdXRhYmxlIHdvcmspIHJ1bgorICB0aGUgb2JqZWN0IGNvZGUgYW5kIHRvIG1vZGlmeSB0aGUgd29yaywgaW5jbHVkaW5nIHNjcmlwdHMgdG8gY29udHJvbAorICB0aG9zZSBhY3Rpdml0aWVzLiBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MgU3lzdGVtCisgIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZSBwcm9ncmFtcworICB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQgd2hpY2ggYXJlCisgIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiBGb3IgZXhhbXBsZSwgQ29ycmVzcG9uZGluZyBTb3VyY2UgaW5jbHVkZXMKKyAgaW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMgYXNzb2NpYXRlZCB3aXRoIHNvdXJjZSBmaWxlcyBmb3IgdGhlIHdvcmssIGFuZAorICB0aGUgc291cmNlIGNvZGUgZm9yIHNoYXJlZCBsaWJyYXJpZXMgYW5kIGR5bmFtaWNhbGx5IGxpbmtlZCBzdWJwcm9ncmFtcworICB0aGF0IHRoZSB3b3JrIGlzIHNwZWNpZmljYWxseSBkZXNpZ25lZCB0byByZXF1aXJlLCBzdWNoIGFzIGJ5IGludGltYXRlCisgIGRhdGEgY29tbXVuaWNhdGlvbiBvciBjb250cm9sIGZsb3cgYmV0d2VlbiB0aG9zZSBzdWJwcm9ncmFtcyBhbmQgb3RoZXIKKyAgcGFydHMgb2YgdGhlIHdvcmsuCisKKyAgVGhlIENvcnJlc3BvbmRpbmcgU291cmNlIG5lZWQgbm90IGluY2x1ZGUgYW55dGhpbmcgdGhhdCB1c2VycyBjYW4KKyAgcmVnZW5lcmF0ZSBhdXRvbWF0aWNhbGx5IGZyb20gb3RoZXIgcGFydHMgb2YgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLgorCisgIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdCBzYW1lIHdvcmsuCisKKyAgMi4gQmFzaWMgUGVybWlzc2lvbnMuCisKKyAgQWxsIHJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSBhcmUgZ3JhbnRlZCBmb3IgdGhlIHRlcm0gb2YKKyAgY29weXJpZ2h0IG9uIHRoZSBQcm9ncmFtLCBhbmQgYXJlIGlycmV2b2NhYmxlIHByb3ZpZGVkIHRoZSBzdGF0ZWQKKyAgY29uZGl0aW9ucyBhcmUgbWV0LiBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCisgIHBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0sIHN1YmplY3QgdG8gc2VjdGlvbiAxMy4gVGhlCisgIG91dHB1dCBmcm9tIHJ1bm5pbmcgYSBjb3ZlcmVkIHdvcmsgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2Ugb25seSBpZiB0aGUKKyAgb3V0cHV0LCBnaXZlbiBpdHMgY29udGVudCwgY29uc3RpdHV0ZXMgYSBjb3ZlcmVkIHdvcmsuIFRoaXMgTGljZW5zZQorICBhY2tub3dsZWRnZXMgeW91ciByaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkKKyAgY29weXJpZ2h0IGxhdy4gIFN1YmplY3QgdG8gc2VjdGlvbiAxMywgeW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZQorICBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdCBjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIKKyAgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucyBpbiBmb3JjZS4gWW91IG1heSBjb252ZXkgY292ZXJlZCB3b3JrcyB0bworICBvdGhlcnMgZm9yIHRoZSBzb2xlIHB1cnBvc2Ugb2YgaGF2aW5nIHRoZW0gbWFrZSBtb2RpZmljYXRpb25zIGV4Y2x1c2l2ZWx5CisgIGZvciB5b3UsIG9yIHByb3ZpZGUgeW91IHdpdGggZmFjaWxpdGllcyBmb3IgcnVubmluZyB0aG9zZSB3b3JrcywgcHJvdmlkZWQKKyAgdGhhdCB5b3UgY29tcGx5IHdpdGggdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSBpbiBjb252ZXlpbmcgYWxsCisgIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGNvbnRyb2wgY29weXJpZ2h0LiBUaG9zZSB0aHVzIG1ha2luZyBvcgorICBydW5uaW5nIHRoZSBjb3ZlcmVkIHdvcmtzIGZvciB5b3UgbXVzdCBkbyBzbyBleGNsdXNpdmVseSBvbiB5b3VyCisgIGJlaGFsZiwgdW5kZXIgeW91ciBkaXJlY3Rpb24gYW5kIGNvbnRyb2wsIG9uIHRlcm1zIHRoYXQgcHJvaGliaXQgdGhlbQorICBmcm9tIG1ha2luZyBhbnkgY29waWVzIG9mIHlvdXIgY29weXJpZ2h0ZWQgbWF0ZXJpYWwgb3V0c2lkZSB0aGVpcgorICByZWxhdGlvbnNoaXAgd2l0aCB5b3UuCisKKyAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIgdGhlCisgIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiBTdWJsaWNlbnNpbmcgaXMgbm90IGFsbG93ZWQ7IHNlY3Rpb24gMTAgbWFrZXMgaXQKKyAgdW5uZWNlc3NhcnkuCisKKyAgMy4gUHJvdGVjdGluZyBVc2VycycgTGVnYWwgUmlnaHRzIEZyb20gQW50aS1DaXJjdW12ZW50aW9uIExhdy4KKworICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKKyAgbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlIDExCisgIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvciBzaW1pbGFyIGxhd3MKKyAgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoIG1lYXN1cmVzLgorCisgIFdoZW4geW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgeW91IHdhaXZlIGFueSBsZWdhbCBwb3dlciB0byBmb3JiaWQKKyAgY2lyY3VtdmVudGlvbiBvZiB0ZWNobm9sb2dpY2FsIG1lYXN1cmVzIHRvIHRoZSBleHRlbnQgc3VjaCBjaXJjdW12ZW50aW9uIGlzCisgIGVmZmVjdGVkIGJ5IGV4ZXJjaXNpbmcgcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZSB3aXRoIHJlc3BlY3QgdG8gdGhlCisgIGNvdmVyZWQgd29yaywgYW5kIHlvdSBkaXNjbGFpbSBhbnkgaW50ZW50aW9uIHRvIGxpbWl0IG9wZXJhdGlvbiBvcgorICBtb2RpZmljYXRpb24gb2YgdGhlIHdvcmsgYXMgYSBtZWFucyBvZiBlbmZvcmNpbmcsIGFnYWluc3QgdGhlIHdvcmsncyB1c2VycywKKyAgeW91ciBvciB0aGlyZCBwYXJ0aWVzJyBsZWdhbCByaWdodHMgdG8gZm9yYmlkIGNpcmN1bXZlbnRpb24gb2YKKyAgdGVjaG5vbG9naWNhbCBtZWFzdXJlcy4KKworICA0LiBDb252ZXlpbmcgVmVyYmF0aW0gQ29waWVzLgorCisgIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQorICByZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAorICBhcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7IGtlZXAKKyAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueSBub24tcGVybWlzc2l2ZSB0ZXJtcworICBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7IGtlZXAgaW50YWN0IGFsbCBub3RpY2VzCisgIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsIHJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMKKyAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLiAgWW91IG1heSBjaGFyZ2UgYW55IHByaWNlIG9yIG5vIHByaWNlIGZvcgorICBlYWNoIGNvcHkgdGhhdCB5b3UgY29udmV5LCBhbmQgeW91IG1heSBvZmZlciBzdXBwb3J0IG9yIHdhcnJhbnR5CisgIHByb3RlY3Rpb24gZm9yIGEgZmVlLgorCisgIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCisKKyAgWW91IG1heSBjb252ZXkgYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtLCBvciB0aGUgbW9kaWZpY2F0aW9ucyB0bworICBwcm9kdWNlIGl0IGZyb20gdGhlIFByb2dyYW0sIGluIHRoZSBmb3JtIG9mIHNvdXJjZSBjb2RlIHVuZGVyIHRoZSB0ZXJtcworICBvZiBzZWN0aW9uIDQsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0aW9uczoKKworICAgIGEpIFRoZSB3b3JrIG11c3QgY2FycnkgcHJvbWluZW50IG5vdGljZXMgc3RhdGluZyB0aGF0IHlvdSBtb2RpZmllZCBpdCwKKyAgICBhbmQgZ2l2aW5nIGEgcmVsZXZhbnQgZGF0ZS4KKworICAgIGIpIFRoZSB3b3JrIG11c3QgY2FycnkgcHJvbWluZW50IG5vdGljZXMgc3RhdGluZyB0aGF0IGl0IGlzIHJlbGVhc2VkCisgICAgdW5kZXIgdGhpcyBMaWNlbnNlIGFuZCBhbnkgY29uZGl0aW9ucyBhZGRlZCB1bmRlciBzZWN0aW9uIDcuIFRoaXMKKyAgICByZXF1aXJlbWVudCBtb2RpZmllcyB0aGUgcmVxdWlyZW1lbnQgaW4gc2VjdGlvbiA0IHRvIOKAnGtlZXAgaW50YWN0IGFsbAorICAgIG5vdGljZXPigJ0uCisKKyAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcyBMaWNlbnNlIHRvCisgICAgYW55b25lIHdobyBjb21lcyBpbnRvIHBvc3Nlc3Npb24gb2YgYSBjb3B5LiBUaGlzIExpY2Vuc2Ugd2lsbCB0aGVyZWZvcmUKKyAgICBhcHBseSwgYWxvbmcgd2l0aCBhbnkgYXBwbGljYWJsZSBzZWN0aW9uIDcgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlCisgICAgd2hvbGUgb2YgdGhlIHdvcmssIGFuZCBhbGwgaXRzIHBhcnRzLCByZWdhcmRsZXNzIG9mIGhvdyB0aGV5IGFyZQorICAgIHBhY2thZ2VkLiBUaGlzIExpY2Vuc2UgZ2l2ZXMgbm8gcGVybWlzc2lvbiB0byBsaWNlbnNlIHRoZSB3b3JrIGluIGFueQorICAgIG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90IGludmFsaWRhdGUgc3VjaCBwZXJtaXNzaW9uIGlmIHlvdSBoYXZlCisgICAgc2VwYXJhdGVseSByZWNlaXZlZCBpdC4KKworICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CisgICAgQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlczsgaG93ZXZlciwgaWYgdGhlIFByb2dyYW0gaGFzIGludGVyYWN0aXZlCisgICAgaW50ZXJmYWNlcyB0aGF0IGRvIG5vdCBkaXNwbGF5IEFwcHJvcHJpYXRlIExlZ2FsIE5vdGljZXMsIHlvdXIgd29yaworICAgIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KKworICBBIGNvbXBpbGF0aW9uIG9mIGEgY292ZXJlZCB3b3JrIHdpdGggb3RoZXIgc2VwYXJhdGUgYW5kIGluZGVwZW5kZW50CisgIHdvcmtzLCB3aGljaCBhcmUgbm90IGJ5IHRoZWlyIG5hdHVyZSBleHRlbnNpb25zIG9mIHRoZSBjb3ZlcmVkIHdvcmssIGFuZAorICB3aGljaCBhcmUgbm90IGNvbWJpbmVkIHdpdGggaXQgc3VjaCBhcyB0byBmb3JtIGEgbGFyZ2VyIHByb2dyYW0sIGluIG9yIG9uCisgIGEgdm9sdW1lIG9mIGEgc3RvcmFnZSBvciBkaXN0cmlidXRpb24gbWVkaXVtLCBpcyBjYWxsZWQgYW4g4oCcYWdncmVnYXRl4oCdIGlmCisgIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdCB1c2VkIHRvIGxpbWl0IHRoZQorICBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzIGJleW9uZCB3aGF0IHRoZQorICBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gSW5jbHVzaW9uIG9mIGEgY292ZXJlZCB3b3JrIGluIGFuIGFnZ3JlZ2F0ZSBkb2VzCisgIG5vdCBjYXVzZSB0aGlzIExpY2Vuc2UgdG8gYXBwbHkgdG8gdGhlIG90aGVyIHBhcnRzIG9mIHRoZSBhZ2dyZWdhdGUuCisgIAorICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KKworICBZb3UgbWF5IGNvbnZleSBhIGNvdmVyZWQgd29yayBpbiBvYmplY3QgY29kZSBmb3JtIHVuZGVyIHRoZSB0ZXJtcyBvZgorICBzZWN0aW9ucyA0IGFuZCA1LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIGNvbnZleSB0aGUgbWFjaGluZS1yZWFkYWJsZQorICBDb3JyZXNwb25kaW5nIFNvdXJjZSB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLCBpbiBvbmUgb2YgdGhlc2UKKyAgd2F5czoKKworICAgIGEpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKKyAgICAoaW5jbHVkaW5nIGEgcGh5c2ljYWwgZGlzdHJpYnV0aW9uIG1lZGl1bSksIGFjY29tcGFuaWVkIGJ5IHRoZQorICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0gY3VzdG9tYXJpbHkKKyAgICB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZS4KKyAgIAorICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKKyAgICAoaW5jbHVkaW5nIGEgcGh5c2ljYWwgZGlzdHJpYnV0aW9uIG1lZGl1bSksIGFjY29tcGFuaWVkIGJ5IGEgd3JpdHRlbgorICAgIG9mZmVyLCB2YWxpZCBmb3IgYXQgbGVhc3QgdGhyZWUgeWVhcnMgYW5kIHZhbGlkIGZvciBhcyBsb25nIGFzIHlvdQorICAgIG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdCBtb2RlbCwgdG8gZ2l2ZQorICAgIGFueW9uZSB3aG8gcG9zc2Vzc2VzIHRoZSBvYmplY3QgY29kZSBlaXRoZXIgKDEpIGEgY29weSBvZiB0aGUKKyAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYWxsIHRoZSBzb2Z0d2FyZSBpbiB0aGUgcHJvZHVjdCB0aGF0IGlzCisgICAgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0gY3VzdG9tYXJpbHkgdXNlZAorICAgIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZSwgZm9yIGEgcHJpY2Ugbm8gbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0CisgICAgb2YgcGh5c2ljYWxseSBwZXJmb3JtaW5nIHRoaXMgY29udmV5aW5nIG9mIHNvdXJjZSwgb3IgKDIpIGFjY2VzcyB0bworICAgIGNvcHkgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGZyb20gYSBuZXR3b3JrIHNlcnZlciBhdCBubyBjaGFyZ2UuCisgICAKKyAgICBjKSBDb252ZXkgaW5kaXZpZHVhbCBjb3BpZXMgb2YgdGhlIG9iamVjdCBjb2RlIHdpdGggYSBjb3B5IG9mIHRoZQorICAgIHdyaXR0ZW4gb2ZmZXIgdG8gcHJvdmlkZSB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UuIFRoaXMgYWx0ZXJuYXRpdmUgaXMKKyAgICBhbGxvd2VkIG9ubHkgb2NjYXNpb25hbGx5IGFuZCBub25jb21tZXJjaWFsbHksIGFuZCBvbmx5IGlmIHlvdSByZWNlaXZlZAorICAgIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZCB3aXRoIHN1YnNlY3Rpb24gNmIuCisgICAKKyAgICBkKSBDb252ZXkgdGhlIG9iamVjdCBjb2RlIGJ5IG9mZmVyaW5nIGFjY2VzcyBmcm9tIGEgZGVzaWduYXRlZCBwbGFjZQorICAgIChncmF0aXMgb3IgZm9yIGEgY2hhcmdlKSwgYW5kIG9mZmVyIGVxdWl2YWxlbnQgYWNjZXNzIHRvIHRoZQorICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCisgICAgZnVydGhlciBjaGFyZ2UuIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKKyAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBhbG9uZyB3aXRoIHRoZSBvYmplY3QgY29kZS4gSWYgdGhlIHBsYWNlIHRvIGNvcHkKKyAgICB0aGUgb2JqZWN0IGNvZGUgaXMgYSBuZXR3b3JrIHNlcnZlciwgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIG1heSBiZSBvbgorICAgIGEgZGlmZmVyZW50IHNlcnZlciAob3BlcmF0ZWQgYnkgeW91IG9yIGEgdGhpcmQgcGFydHkpIHRoYXQgc3VwcG9ydHMKKyAgICBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluIGNsZWFyIGRpcmVjdGlvbnMKKyAgICBuZXh0IHRvIHRoZSBvYmplY3QgY29kZSBzYXlpbmcgd2hlcmUgdG8gZmluZCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UuCisgICAgUmVnYXJkbGVzcyBvZiB3aGF0IHNlcnZlciBob3N0cyB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4KKyAgICBvYmxpZ2F0ZWQgdG8gZW5zdXJlIHRoYXQgaXQgaXMgYXZhaWxhYmxlIGZvciBhcyBsb25nIGFzIG5lZWRlZCB0bworICAgIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgorICAgCisgICAgZSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uLCBwcm92aWRlZCB5b3UKKyAgICBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZgorICAgIHRoZSB3b3JrIGFyZSBiZWluZyBvZmZlcmVkIHRvIHRoZSBnZW5lcmFsIHB1YmxpYyBhdCBubyBjaGFyZ2UgdW5kZXIKKyAgICBzdWJzZWN0aW9uIDZkLgorCisgIEEgc2VwYXJhYmxlIHBvcnRpb24gb2YgdGhlIG9iamVjdCBjb2RlLCB3aG9zZSBzb3VyY2UgY29kZSBpcyBleGNsdWRlZAorICBmcm9tIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBhcyBhIFN5c3RlbSBMaWJyYXJ5LCBuZWVkIG5vdCBiZSBpbmNsdWRlZAorICBpbiBjb252ZXlpbmcgdGhlIG9iamVjdCBjb2RlIHdvcmsuCisKKyAgQSDigJxVc2VyIFByb2R1Y3TigJ0gaXMgZWl0aGVyICgxKSBhIOKAnGNvbnN1bWVyIHByb2R1Y3TigJ0sIHdoaWNoIG1lYW5zIGFueQorICB0YW5naWJsZSBwZXJzb25hbCBwcm9wZXJ0eSB3aGljaCBpcyBub3JtYWxseSB1c2VkIGZvciBwZXJzb25hbCwgZmFtaWx5LAorICBvciBob3VzZWhvbGQgcHVycG9zZXMsIG9yICgyKSBhbnl0aGluZyBkZXNpZ25lZCBvciBzb2xkIGZvciBpbmNvcnBvcmF0aW9uCisgIGludG8gYSBkd2VsbGluZy4gSW4gZGV0ZXJtaW5pbmcgd2hldGhlciBhIHByb2R1Y3QgaXMgYSBjb25zdW1lciBwcm9kdWN0LAorICBkb3VidGZ1bCBjYXNlcyBzaGFsbCBiZSByZXNvbHZlZCBpbiBmYXZvciBvZiBjb3ZlcmFnZS4gRm9yIGEgcGFydGljdWxhcgorICBwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCDigJxub3JtYWxseSB1c2Vk4oCdIHJlZmVycyB0byBhCisgIHR5cGljYWwgb3IgY29tbW9uIHVzZSBvZiB0aGF0IGNsYXNzIG9mIHByb2R1Y3QsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN0YXR1cworICBvZiB0aGUgcGFydGljdWxhciB1c2VyIG9yIG9mIHRoZSB3YXkgaW4gd2hpY2ggdGhlIHBhcnRpY3VsYXIgdXNlcgorICBhY3R1YWxseSB1c2VzLCBvciBleHBlY3RzIG9yIGlzIGV4cGVjdGVkIHRvIHVzZSwgdGhlIHByb2R1Y3QuIEEgcHJvZHVjdAorICBpcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbAorICBjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAorICB0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KKworICDigJxJbnN0YWxsYXRpb24gSW5mb3JtYXRpb27igJ0gZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLAorICBwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKKyAgYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQorICBhIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiBUaGUgaW5mb3JtYXRpb24gbXVzdAorICBzdWZmaWNlIHRvIGVuc3VyZSB0aGF0IHRoZSBjb250aW51ZWQgZnVuY3Rpb25pbmcgb2YgdGhlIG1vZGlmaWVkIG9iamVjdAorICBjb2RlIGlzIGluIG5vIGNhc2UgcHJldmVudGVkIG9yIGludGVyZmVyZWQgd2l0aCBzb2xlbHkgYmVjYXVzZQorICBtb2RpZmljYXRpb24gaGFzIGJlZW4gbWFkZS4KKworICBJZiB5b3UgY29udmV5IGFuIG9iamVjdCBjb2RlIHdvcmsgdW5kZXIgdGhpcyBzZWN0aW9uIGluLCBvciB3aXRoLCBvcgorICBzcGVjaWZpY2FsbHkgZm9yIHVzZSBpbiwgYSBVc2VyIFByb2R1Y3QsIGFuZCB0aGUgY29udmV5aW5nIG9jY3VycyBhcyBwYXJ0CisgIG9mIGEgdHJhbnNhY3Rpb24gaW4gd2hpY2ggdGhlIHJpZ2h0IG9mIHBvc3Nlc3Npb24gYW5kIHVzZSBvZiB0aGUgVXNlcgorICBQcm9kdWN0IGlzIHRyYW5zZmVycmVkIHRvIHRoZSByZWNpcGllbnQgaW4gcGVycGV0dWl0eSBvciBmb3IgYSBmaXhlZCB0ZXJtCisgIChyZWdhcmRsZXNzIG9mIGhvdyB0aGUgdHJhbnNhY3Rpb24gaXMgY2hhcmFjdGVyaXplZCksIHRoZSBDb3JyZXNwb25kaW5nCisgIFNvdXJjZSBjb252ZXllZCB1bmRlciB0aGlzIHNlY3Rpb24gbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUKKyAgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uLiBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseSBpZiBuZWl0aGVyCisgIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbCBtb2RpZmllZCBvYmplY3QKKyAgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzIGJlZW4gaW5zdGFsbGVkIGluCisgIFJPTSkuCisKKyAgVGhlIHJlcXVpcmVtZW50IHRvIHByb3ZpZGUgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIGRvZXMgbm90IGluY2x1ZGUgYQorICByZXF1aXJlbWVudCB0byBjb250aW51ZSB0byBwcm92aWRlIHN1cHBvcnQgc2VydmljZSwgd2FycmFudHksIG9yIHVwZGF0ZXMKKyAgZm9yIGEgd29yayB0aGF0IGhhcyBiZWVuIG1vZGlmaWVkIG9yIGluc3RhbGxlZCBieSB0aGUgcmVjaXBpZW50LCBvciBmb3IKKyAgdGhlIFVzZXIgUHJvZHVjdCBpbiB3aGljaCBpdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQuIEFjY2VzcworICB0byBhIG5ldHdvcmsgbWF5IGJlIGRlbmllZCB3aGVuIHRoZSBtb2RpZmljYXRpb24gaXRzZWxmIG1hdGVyaWFsbHkKKyAgYW5kIGFkdmVyc2VseSBhZmZlY3RzIHRoZSBvcGVyYXRpb24gb2YgdGhlIG5ldHdvcmsgb3IgdmlvbGF0ZXMgdGhlCisgIHJ1bGVzIGFuZCBwcm90b2NvbHMgZm9yIGNvbW11bmljYXRpb24gYWNyb3NzIHRoZSBuZXR3b3JrLgorCisgIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLCBpbgorICBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5IGRvY3VtZW50ZWQKKyAgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0pLAorICBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvciB1bnBhY2tpbmcsIHJlYWRpbmcgb3IKKyAgY29weWluZy4KKworICA3LiBBZGRpdGlvbmFsIFRlcm1zLgorCisgIOKAnEFkZGl0aW9uYWwgcGVybWlzc2lvbnPigJ0gYXJlIHRlcm1zIHRoYXQgc3VwcGxlbWVudCB0aGUgdGVybXMgb2YgdGhpcworICBMaWNlbnNlIGJ5IG1ha2luZyBleGNlcHRpb25zIGZyb20gb25lIG9yIG1vcmUgb2YgaXRzIGNvbmRpdGlvbnMuCisgIEFkZGl0aW9uYWwgcGVybWlzc2lvbnMgdGhhdCBhcmUgYXBwbGljYWJsZSB0byB0aGUgZW50aXJlIFByb2dyYW0gc2hhbGwgYmUKKyAgdHJlYXRlZCBhcyB0aG91Z2ggdGhleSB3ZXJlIGluY2x1ZGVkIGluIHRoaXMgTGljZW5zZSwgdG8gdGhlIGV4dGVudCB0aGF0CisgIHRoZXkgYXJlIHZhbGlkIHVuZGVyIGFwcGxpY2FibGUgbGF3LiBJZiBhZGRpdGlvbmFsIHBlcm1pc3Npb25zIGFwcGx5IG9ubHkKKyAgdG8gcGFydCBvZiB0aGUgUHJvZ3JhbSwgdGhhdCBwYXJ0IG1heSBiZSB1c2VkIHNlcGFyYXRlbHkgdW5kZXIgdGhvc2UKKyAgcGVybWlzc2lvbnMsIGJ1dCB0aGUgZW50aXJlIFByb2dyYW0gcmVtYWlucyBnb3Zlcm5lZCBieSB0aGlzIExpY2Vuc2UKKyAgd2l0aG91dCByZWdhcmQgdG8gdGhlIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMuICBXaGVuIHlvdSBjb252ZXkgYSBjb3B5IG9mCisgIGEgY292ZXJlZCB3b3JrLCB5b3UgbWF5IGF0IHlvdXIgb3B0aW9uIHJlbW92ZSBhbnkgYWRkaXRpb25hbCBwZXJtaXNzaW9ucworICBmcm9tIHRoYXQgY29weSwgb3IgZnJvbSBhbnkgcGFydCBvZiBpdC4gKEFkZGl0aW9uYWwgcGVybWlzc2lvbnMgbWF5IGJlCisgIHdyaXR0ZW4gdG8gcmVxdWlyZSB0aGVpciBvd24gcmVtb3ZhbCBpbiBjZXJ0YWluIGNhc2VzIHdoZW4geW91IG1vZGlmeSB0aGUKKyAgd29yay4pIFlvdSBtYXkgcGxhY2UgYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvCisgIGEgY292ZXJlZCB3b3JrLCBmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0CisgIHBlcm1pc3Npb24uCisKKyAgTm90d2l0aHN0YW5kaW5nIGFueSBvdGhlciBwcm92aXNpb24gb2YgdGhpcyBMaWNlbnNlLCBmb3IgbWF0ZXJpYWwgeW91IGFkZAorICB0byBhIGNvdmVyZWQgd29yaywgeW91IG1heSAoaWYgYXV0aG9yaXplZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlcnMgb2YKKyAgdGhhdCBtYXRlcmlhbCkgc3VwcGxlbWVudCB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlIHdpdGggdGVybXM6CisKKyAgICBhKSBEaXNjbGFpbWluZyB3YXJyYW50eSBvciBsaW1pdGluZyBsaWFiaWxpdHkgZGlmZmVyZW50bHkgZnJvbSB0aGUKKyAgICB0ZXJtcyBvZiBzZWN0aW9ucyAxNSBhbmQgMTYgb2YgdGhpcyBMaWNlbnNlOyBvcgorCisgICAgYikgUmVxdWlyaW5nIHByZXNlcnZhdGlvbiBvZiBzcGVjaWZpZWQgcmVhc29uYWJsZSBsZWdhbCBub3RpY2VzIG9yCisgICAgYXV0aG9yIGF0dHJpYnV0aW9ucyBpbiB0aGF0IG1hdGVyaWFsIG9yIGluIHRoZSBBcHByb3ByaWF0ZSBMZWdhbAorICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCisKKyAgICBjKSBQcm9oaWJpdGluZyBtaXNyZXByZXNlbnRhdGlvbiBvZiB0aGUgb3JpZ2luIG9mIHRoYXQgbWF0ZXJpYWwsIG9yCisgICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KKyAgICByZWFzb25hYmxlIHdheXMgYXMgZGlmZmVyZW50IGZyb20gdGhlIG9yaWdpbmFsIHZlcnNpb247IG9yCisKKyAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCisgICAgYXV0aG9ycyBvZiB0aGUgbWF0ZXJpYWw7IG9yCisKKyAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lIHRyYWRlCisgICAgbmFtZXMsIHRyYWRlbWFya3MsIG9yIHNlcnZpY2UgbWFya3M7IG9yCisKKyAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0IG1hdGVyaWFsCisgICAgYnkgYW55b25lIHdobyBjb252ZXlzIHRoZSBtYXRlcmlhbCAob3IgbW9kaWZpZWQgdmVyc2lvbnMgb2YgaXQpIHdpdGgKKyAgICBjb250cmFjdHVhbCBhc3N1bXB0aW9ucyBvZiBsaWFiaWxpdHkgdG8gdGhlIHJlY2lwaWVudCwgZm9yIGFueQorICAgIGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbiB0aG9zZQorICAgIGxpY2Vuc29ycyBhbmQgYXV0aG9ycy4KKworICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCDigJxmdXJ0aGVyCisgIHJlc3RyaWN0aW9uc+KAnSB3aXRoaW4gdGhlIG1lYW5pbmcgb2Ygc2VjdGlvbiAxMC4gSWYgdGhlIFByb2dyYW0gYXMgeW91CisgIHJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCisgIGdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlciByZXN0cmljdGlvbiwKKyAgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiBJZiBhIGxpY2Vuc2UgZG9jdW1lbnQgY29udGFpbnMgYSBmdXJ0aGVyCisgIHJlc3RyaWN0aW9uIGJ1dCBwZXJtaXRzIHJlbGljZW5zaW5nIG9yIGNvbnZleWluZyB1bmRlciB0aGlzIExpY2Vuc2UsIHlvdQorICBtYXkgYWRkIHRvIGEgY292ZXJlZCB3b3JrIG1hdGVyaWFsIGdvdmVybmVkIGJ5IHRoZSB0ZXJtcyBvZiB0aGF0IGxpY2Vuc2UKKyAgZG9jdW1lbnQsIHByb3ZpZGVkIHRoYXQgdGhlIGZ1cnRoZXIgcmVzdHJpY3Rpb24gZG9lcyBub3Qgc3Vydml2ZSBzdWNoCisgIHJlbGljZW5zaW5nIG9yIGNvbnZleWluZy4KKworICBJZiB5b3UgYWRkIHRlcm1zIHRvIGEgY292ZXJlZCB3b3JrIGluIGFjY29yZCB3aXRoIHRoaXMgc2VjdGlvbiwgeW91IG11c3QKKyAgcGxhY2UsIGluIHRoZSByZWxldmFudCBzb3VyY2UgZmlsZXMsIGEgc3RhdGVtZW50IG9mIHRoZSBhZGRpdGlvbmFsIHRlcm1zCisgIHRoYXQgYXBwbHkgdG8gdGhvc2UgZmlsZXMsIG9yIGEgbm90aWNlIGluZGljYXRpbmcgd2hlcmUgdG8gZmluZCB0aGUKKyAgYXBwbGljYWJsZSB0ZXJtcy4gIEFkZGl0aW9uYWwgdGVybXMsIHBlcm1pc3NpdmUgb3Igbm9uLXBlcm1pc3NpdmUsIG1heSBiZQorICBzdGF0ZWQgaW4gdGhlIGZvcm0gb2YgYSBzZXBhcmF0ZWx5IHdyaXR0ZW4gbGljZW5zZSwgb3Igc3RhdGVkIGFzCisgIGV4Y2VwdGlvbnM7IHRoZSBhYm92ZSByZXF1aXJlbWVudHMgYXBwbHkgZWl0aGVyIHdheS4KKworICA4LiBUZXJtaW5hdGlvbi4KKworICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKKyAgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiBBbnkgYXR0ZW1wdCBvdGhlcndpc2UgdG8gcHJvcGFnYXRlIG9yIG1vZGlmeQorICBpdCBpcyB2b2lkLCBhbmQgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzCisgIExpY2Vuc2UgKGluY2x1ZGluZyBhbnkgcGF0ZW50IGxpY2Vuc2VzIGdyYW50ZWQgdW5kZXIgdGhlIHRoaXJkIHBhcmFncmFwaAorICBvZiBzZWN0aW9uIDExKS4KKworICBIb3dldmVyLCBpZiB5b3UgY2Vhc2UgYWxsIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UsIHRoZW4geW91ciBsaWNlbnNlCisgIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMgcmVpbnN0YXRlZCAoYSkgcHJvdmlzaW9uYWxseSwKKyAgdW5sZXNzIGFuZCB1bnRpbCB0aGUgY29weXJpZ2h0IGhvbGRlciBleHBsaWNpdGx5IGFuZCBmaW5hbGx5IHRlcm1pbmF0ZXMKKyAgeW91ciBsaWNlbnNlLCBhbmQgKGIpIHBlcm1hbmVudGx5LCBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBmYWlscyB0bworICBub3RpZnkgeW91IG9mIHRoZSB2aW9sYXRpb24gYnkgc29tZSByZWFzb25hYmxlIG1lYW5zIHByaW9yIHRvIDYwIGRheXMKKyAgYWZ0ZXIgdGhlIGNlc3NhdGlvbi4KKworICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMgcmVpbnN0YXRlZAorICBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lCisgIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUgcmVjZWl2ZWQgbm90aWNlIG9mCisgIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0IGNvcHlyaWdodCBob2xkZXIsIGFuZAorICB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIgeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCisKKyAgVGVybWluYXRpb24gb2YgeW91ciByaWdodHMgdW5kZXIgdGhpcyBzZWN0aW9uIGRvZXMgbm90IHRlcm1pbmF0ZSB0aGUKKyAgbGljZW5zZXMgb2YgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMgb3IgcmlnaHRzIGZyb20geW91IHVuZGVyCisgIHRoaXMgTGljZW5zZS4gSWYgeW91ciByaWdodHMgaGF2ZSBiZWVuIHRlcm1pbmF0ZWQgYW5kIG5vdCBwZXJtYW5lbnRseQorICByZWluc3RhdGVkLCB5b3UgZG8gbm90IHF1YWxpZnkgdG8gcmVjZWl2ZSBuZXcgbGljZW5zZXMgZm9yIHRoZSBzYW1lCisgIG1hdGVyaWFsIHVuZGVyIHNlY3Rpb24gMTAuCisKKyAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCisKKyAgWW91IGFyZSBub3QgcmVxdWlyZWQgdG8gYWNjZXB0IHRoaXMgTGljZW5zZSBpbiBvcmRlciB0byByZWNlaXZlIG9yIHJ1biBhCisgIGNvcHkgb2YgdGhlIFByb2dyYW0uIEFuY2lsbGFyeSBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQgd29yayBvY2N1cnJpbmcKKyAgc29sZWx5IGFzIGEgY29uc2VxdWVuY2Ugb2YgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiB0byByZWNlaXZlIGEKKyAgY29weSBsaWtld2lzZSBkb2VzIG5vdCByZXF1aXJlIGFjY2VwdGFuY2UuIEhvd2V2ZXIsIG5vdGhpbmcgb3RoZXIgdGhhbgorICB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvciBtb2RpZnkgYW55IGNvdmVyZWQKKyAgd29yay4gVGhlc2UgYWN0aW9ucyBpbmZyaW5nZSBjb3B5cmlnaHQgaWYgeW91IGRvIG5vdCBhY2NlcHQgdGhpcyBMaWNlbnNlLgorICBUaGVyZWZvcmUsIGJ5IG1vZGlmeWluZyBvciBwcm9wYWdhdGluZyBhIGNvdmVyZWQgd29yaywgeW91IGluZGljYXRlIHlvdXIKKyAgYWNjZXB0YW5jZSBvZiB0aGlzIExpY2Vuc2UgdG8gZG8gc28uCisKKyAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgorCisgIEVhY2ggdGltZSB5b3UgY29udmV5IGEgY292ZXJlZCB3b3JrLCB0aGUgcmVjaXBpZW50IGF1dG9tYXRpY2FsbHkgcmVjZWl2ZXMKKyAgYSBsaWNlbnNlIGZyb20gdGhlIG9yaWdpbmFsIGxpY2Vuc29ycywgdG8gcnVuLCBtb2RpZnkgYW5kIHByb3BhZ2F0ZSB0aGF0CisgIHdvcmssIHN1YmplY3QgdG8gdGhpcyBMaWNlbnNlLiBZb3UgYXJlIG5vdCByZXNwb25zaWJsZSBmb3IgZW5mb3JjaW5nCisgIGNvbXBsaWFuY2UgYnkgdGhpcmQgcGFydGllcyB3aXRoIHRoaXMgTGljZW5zZS4KKworICBBbiDigJxlbnRpdHkgdHJhbnNhY3Rpb27igJ0gaXMgYSB0cmFuc2FjdGlvbiB0cmFuc2ZlcnJpbmcgY29udHJvbCBvZiBhbgorICBvcmdhbml6YXRpb24sIG9yIHN1YnN0YW50aWFsbHkgYWxsIGFzc2V0cyBvZiBvbmUsIG9yIHN1YmRpdmlkaW5nIGFuCisgIG9yZ2FuaXphdGlvbiwgb3IgbWVyZ2luZyBvcmdhbml6YXRpb25zLiBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQgd29yaworICByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQgdHJhbnNhY3Rpb24gd2hvCisgIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyIGxpY2Vuc2VzIHRvIHRoZSB3b3JrCisgIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZCBnaXZlIHVuZGVyIHRoZSBwcmV2aW91cworICBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUKKyAgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYgdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4KKyAgZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgorCisgIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlciByZXN0cmljdGlvbnMgb24gdGhlIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMKKyAgZ3JhbnRlZCBvciBhZmZpcm1lZCB1bmRlciB0aGlzIExpY2Vuc2UuIEZvciBleGFtcGxlLCB5b3UgbWF5IG5vdCBpbXBvc2UgYQorICBsaWNlbnNlIGZlZSwgcm95YWx0eSwgb3Igb3RoZXIgY2hhcmdlIGZvciBleGVyY2lzZSBvZiByaWdodHMgZ3JhbnRlZAorICB1bmRlciB0aGlzIExpY2Vuc2UsIGFuZCB5b3UgbWF5IG5vdCBpbml0aWF0ZSBsaXRpZ2F0aW9uIChpbmNsdWRpbmcgYQorICBjcm9zcy1jbGFpbSBvciBjb3VudGVyY2xhaW0gaW4gYSBsYXdzdWl0KSBhbGxlZ2luZyB0aGF0IGFueSBwYXRlbnQgY2xhaW0KKyAgaXMgaW5mcmluZ2VkIGJ5IG1ha2luZywgdXNpbmcsIHNlbGxpbmcsIG9mZmVyaW5nIGZvciBzYWxlLCBvciBpbXBvcnRpbmcKKyAgdGhlIFByb2dyYW0gb3IgYW55IHBvcnRpb24gb2YgaXQuCisKKyAgMTEuIFBhdGVudHMuCisKKyAgQSDigJxjb250cmlidXRvcuKAnSBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKKyAgTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuIFRoZSB3b3JrCisgIHRodXMgbGljZW5zZWQgaXMgY2FsbGVkIHRoZSBjb250cmlidXRvcidzIOKAnGNvbnRyaWJ1dG9yIHZlcnNpb27igJ0uCisKKyAgQSBjb250cmlidXRvcidzIOKAnGVzc2VudGlhbCBwYXRlbnQgY2xhaW1z4oCdIGFyZSBhbGwgcGF0ZW50IGNsYWltcyBvd25lZCBvcgorICBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yIGhlcmVhZnRlcgorICBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZCBieSB0aGlzCisgIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sIGJ1dCBkbyBub3QKKyAgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhIGNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIKKyAgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiBGb3IgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLAorICDigJxjb250cm9s4oCdIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudCBwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIKKyAgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLgorCisgIEVhY2ggY29udHJpYnV0b3IgZ3JhbnRzIHlvdSBhIG5vbi1leGNsdXNpdmUsIHdvcmxkd2lkZSwgcm95YWx0eS1mcmVlCisgIHBhdGVudCBsaWNlbnNlIHVuZGVyIHRoZSBjb250cmlidXRvcidzIGVzc2VudGlhbCBwYXRlbnQgY2xhaW1zLCB0byBtYWtlLAorICB1c2UsIHNlbGwsIG9mZmVyIGZvciBzYWxlLCBpbXBvcnQgYW5kIG90aGVyd2lzZSBydW4sIG1vZGlmeSBhbmQgcHJvcGFnYXRlCisgIHRoZSBjb250ZW50cyBvZiBpdHMgY29udHJpYnV0b3IgdmVyc2lvbi4KKworICBJbiB0aGUgZm9sbG93aW5nIHRocmVlIHBhcmFncmFwaHMsIGEg4oCccGF0ZW50IGxpY2Vuc2XigJ0gaXMgYW55IGV4cHJlc3MKKyAgYWdyZWVtZW50IG9yIGNvbW1pdG1lbnQsIGhvd2V2ZXIgZGVub21pbmF0ZWQsIG5vdCB0byBlbmZvcmNlIGEgcGF0ZW50CisgIChzdWNoIGFzIGFuIGV4cHJlc3MgcGVybWlzc2lvbiB0byBwcmFjdGljZSBhIHBhdGVudCBvciBjb3ZlbmFudCBub3QgdG8KKyAgc3VlIGZvciBwYXRlbnQgaW5mcmluZ2VtZW50KS4gVG8g4oCcZ3JhbnTigJ0gc3VjaCBhIHBhdGVudCBsaWNlbnNlIHRvIGEgcGFydHkKKyAgbWVhbnMgdG8gbWFrZSBzdWNoIGFuIGFncmVlbWVudCBvciBjb21taXRtZW50IG5vdCB0byBlbmZvcmNlIGEgcGF0ZW50CisgIGFnYWluc3QgdGhlIHBhcnR5LgorCisgIElmIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIGtub3dpbmdseSByZWx5aW5nIG9uIGEgcGF0ZW50IGxpY2Vuc2UsIGFuZAorICB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2Ugb2YgdGhlIHdvcmsgaXMgbm90IGF2YWlsYWJsZSBmb3IgYW55b25lIHRvIGNvcHksCisgIGZyZWUgb2YgY2hhcmdlIGFuZCB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLCB0aHJvdWdoIGEgcHVibGljbHkKKyAgYXZhaWxhYmxlIG5ldHdvcmsgc2VydmVyIG9yIG90aGVyIHJlYWRpbHkgYWNjZXNzaWJsZSBtZWFucywgdGhlbiB5b3UgbXVzdAorICBlaXRoZXIgKDEpIGNhdXNlIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSB0byBiZSBzbyBhdmFpbGFibGUsIG9yICgyKQorICBhcnJhbmdlIHRvIGRlcHJpdmUgeW91cnNlbGYgb2YgdGhlIGJlbmVmaXQgb2YgdGhlIHBhdGVudCBsaWNlbnNlIGZvciB0aGlzCisgIHBhcnRpY3VsYXIgd29yaywgb3IgKDMpIGFycmFuZ2UsIGluIGEgbWFubmVyIGNvbnNpc3RlbnQgd2l0aCB0aGUKKyAgcmVxdWlyZW1lbnRzIG9mIHRoaXMgTGljZW5zZSwgdG8gZXh0ZW5kIHRoZSBwYXRlbnQgbGljZW5zZSB0byBkb3duc3RyZWFtCisgIHJlY2lwaWVudHMuIOKAnEtub3dpbmdseSByZWx5aW5n4oCdIG1lYW5zIHlvdSBoYXZlIGFjdHVhbCBrbm93bGVkZ2UgdGhhdCwgYnV0CisgIGZvciB0aGUgcGF0ZW50IGxpY2Vuc2UsIHlvdXIgY29udmV5aW5nIHRoZSBjb3ZlcmVkIHdvcmsgaW4gYSBjb3VudHJ5LCBvcgorICB5b3VyIHJlY2lwaWVudCdzIHVzZSBvZiB0aGUgY292ZXJlZCB3b3JrIGluIGEgY291bnRyeSwgd291bGQgaW5mcmluZ2UKKyAgb25lIG9yIG1vcmUgaWRlbnRpZmlhYmxlIHBhdGVudHMgaW4gdGhhdCBjb3VudHJ5IHRoYXQgeW91IGhhdmUgcmVhc29uCisgIHRvIGJlbGlldmUgYXJlIHZhbGlkLgorCisgIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKKyAgYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQorICBjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMgcmVjZWl2aW5nCisgIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5IG9yIGNvbnZleSBhCisgIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UgeW91IGdyYW50IGlzCisgIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQgd29yayBhbmQgd29ya3MKKyAgYmFzZWQgb24gaXQuCisKKyAgQSBwYXRlbnQgbGljZW5zZSBpcyDigJxkaXNjcmltaW5hdG9yeeKAnSBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbiB0aGUKKyAgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcyBjb25kaXRpb25lZCBvbgorICB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUgc3BlY2lmaWNhbGx5CisgIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiBZb3UgbWF5IG5vdCBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaWYgeW91IGFyZQorICBhIHBhcnR5IHRvIGFuIGFycmFuZ2VtZW50IHdpdGggYSB0aGlyZCBwYXJ0eSB0aGF0IGlzIGluIHRoZSBidXNpbmVzcyBvZgorICBkaXN0cmlidXRpbmcgc29mdHdhcmUsIHVuZGVyIHdoaWNoIHlvdSBtYWtlIHBheW1lbnQgdG8gdGhlIHRoaXJkIHBhcnR5CisgIGJhc2VkIG9uIHRoZSBleHRlbnQgb2YgeW91ciBhY3Rpdml0eSBvZiBjb252ZXlpbmcgdGhlIHdvcmssIGFuZCB1bmRlcgorICB3aGljaCB0aGUgdGhpcmQgcGFydHkgZ3JhbnRzLCB0byBhbnkgb2YgdGhlIHBhcnRpZXMgd2hvIHdvdWxkIHJlY2VpdmUgdGhlCisgIGNvdmVyZWQgd29yayBmcm9tIHlvdSwgYSBkaXNjcmltaW5hdG9yeSBwYXRlbnQgbGljZW5zZSAoYSkgaW4gY29ubmVjdGlvbgorICB3aXRoIGNvcGllcyBvZiB0aGUgY292ZXJlZCB3b3JrIGNvbnZleWVkIGJ5IHlvdSAob3IgY29waWVzIG1hZGUgZnJvbQorICB0aG9zZSBjb3BpZXMpLCBvciAoYikgcHJpbWFyaWx5IGZvciBhbmQgaW4gY29ubmVjdGlvbiB3aXRoIHNwZWNpZmljCisgIHByb2R1Y3RzIG9yIGNvbXBpbGF0aW9ucyB0aGF0IGNvbnRhaW4gdGhlIGNvdmVyZWQgd29yaywgdW5sZXNzIHlvdQorICBlbnRlcmVkIGludG8gdGhhdCBhcnJhbmdlbWVudCwgb3IgdGhhdCBwYXRlbnQgbGljZW5zZSB3YXMgZ3JhbnRlZCwgcHJpb3IKKyAgdG8gMjggTWFyY2ggMjAwNy4KKworICBOb3RoaW5nIGluIHRoaXMgTGljZW5zZSBzaGFsbCBiZSBjb25zdHJ1ZWQgYXMgZXhjbHVkaW5nIG9yIGxpbWl0aW5nIGFueQorICBpbXBsaWVkIGxpY2Vuc2Ugb3Igb3RoZXIgZGVmZW5zZXMgdG8gaW5mcmluZ2VtZW50IHRoYXQgbWF5IG90aGVyd2lzZSBiZQorICBhdmFpbGFibGUgdG8geW91IHVuZGVyIGFwcGxpY2FibGUgcGF0ZW50IGxhdy4KKworICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KKworICBJZiBjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yCisgIG90aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QKKyAgZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gSWYgeW91IGNhbm5vdCB1c2UsCisgIHByb3BhZ2F0ZSBvciBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgc28gYXMgdG8gc2F0aXNmeSBzaW11bHRhbmVvdXNseSB5b3VyCisgIG9ibGlnYXRpb25zIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IG90aGVyIHBlcnRpbmVudCBvYmxpZ2F0aW9ucywgdGhlbgorICBhcyBhIGNvbnNlcXVlbmNlIHlvdSBtYXkgbm90IHVzZSwgcHJvcGFnYXRlIG9yIGNvbnZleSBpdCBhdCBhbGwuIEZvcgorICBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UgdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yCisgIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5IHRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkKKyAgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcyBMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4KKyAgZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCisKKyAgMTMuIE9mZmVyaW5nIHRoZSBQcm9ncmFtIGFzIGEgU2VydmljZS4KKworICBJZiB5b3UgbWFrZSB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgUHJvZ3JhbSBvciBhIG1vZGlmaWVkIHZlcnNpb24KKyAgYXZhaWxhYmxlIHRvIHRoaXJkIHBhcnRpZXMgYXMgYSBzZXJ2aWNlLCB5b3UgbXVzdCBtYWtlIHRoZSBTZXJ2aWNlIFNvdXJjZQorICBDb2RlIGF2YWlsYWJsZSB2aWEgbmV0d29yayBkb3dubG9hZCB0byBldmVyeW9uZSBhdCBubyBjaGFyZ2UsIHVuZGVyIHRoZQorICB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuIE1ha2luZyB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgUHJvZ3JhbSBvcgorICBtb2RpZmllZCB2ZXJzaW9uIGF2YWlsYWJsZSB0byB0aGlyZCBwYXJ0aWVzIGFzIGEgc2VydmljZSBpbmNsdWRlcywKKyAgd2l0aG91dCBsaW1pdGF0aW9uLCBlbmFibGluZyB0aGlyZCBwYXJ0aWVzIHRvIGludGVyYWN0IHdpdGggdGhlCisgIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIFByb2dyYW0gb3IgbW9kaWZpZWQgdmVyc2lvbiByZW1vdGVseSB0aHJvdWdoIGEKKyAgY29tcHV0ZXIgbmV0d29yaywgb2ZmZXJpbmcgYSBzZXJ2aWNlIHRoZSB2YWx1ZSBvZiB3aGljaCBlbnRpcmVseSBvcgorICBwcmltYXJpbHkgZGVyaXZlcyBmcm9tIHRoZSB2YWx1ZSBvZiB0aGUgUHJvZ3JhbSBvciBtb2RpZmllZCB2ZXJzaW9uLCBvcgorICBvZmZlcmluZyBhIHNlcnZpY2UgdGhhdCBhY2NvbXBsaXNoZXMgZm9yIHVzZXJzIHRoZSBwcmltYXJ5IHB1cnBvc2Ugb2YgdGhlCisgIFByb2dyYW0gb3IgbW9kaWZpZWQgdmVyc2lvbi4KKworICDigJxTZXJ2aWNlIFNvdXJjZSBDb2Rl4oCdIG1lYW5zIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgdGhlIFByb2dyYW0gb3IKKyAgdGhlIG1vZGlmaWVkIHZlcnNpb24sIGFuZCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCBwcm9ncmFtcyB0aGF0CisgIHlvdSB1c2UgdG8gbWFrZSB0aGUgUHJvZ3JhbSBvciBtb2RpZmllZCB2ZXJzaW9uIGF2YWlsYWJsZSBhcyBhIHNlcnZpY2UsCisgIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBtYW5hZ2VtZW50IHNvZnR3YXJlLCB1c2VyIGludGVyZmFjZXMsCisgIGFwcGxpY2F0aW9uIHByb2dyYW0gaW50ZXJmYWNlcywgYXV0b21hdGlvbiBzb2Z0d2FyZSwgbW9uaXRvcmluZyBzb2Z0d2FyZSwKKyAgYmFja3VwIHNvZnR3YXJlLCBzdG9yYWdlIHNvZnR3YXJlIGFuZCBob3N0aW5nIHNvZnR3YXJlLCBhbGwgc3VjaCB0aGF0IGEKKyAgdXNlciBjb3VsZCBydW4gYW4gaW5zdGFuY2Ugb2YgdGhlIHNlcnZpY2UgdXNpbmcgdGhlIFNlcnZpY2UgU291cmNlIENvZGUKKyAgeW91IG1ha2UgYXZhaWxhYmxlLiAgCisKKyAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgorCisgIE1vbmdvREIsIEluYy4gbWF5IHB1Ymxpc2ggcmV2aXNlZCBhbmQvb3IgbmV3IHZlcnNpb25zIG9mIHRoZSBTZXJ2ZXIgU2lkZQorICBQdWJsaWMgTGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4gU3VjaCBuZXcgdmVyc2lvbnMgd2lsbCBiZSBzaW1pbGFyIGluCisgIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQgbWF5IGRpZmZlciBpbiBkZXRhaWwgdG8gYWRkcmVzcyBuZXcKKyAgcHJvYmxlbXMgb3IgY29uY2VybnMuCisKKyAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuIElmIHRoZSBQcm9ncmFtCisgIHNwZWNpZmllcyB0aGF0IGEgY2VydGFpbiBudW1iZXJlZCB2ZXJzaW9uIG9mIHRoZSBTZXJ2ZXIgU2lkZSBQdWJsaWMKKyAgTGljZW5zZSDigJxvciBhbnkgbGF0ZXIgdmVyc2lvbuKAnSBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUgb3B0aW9uIG9mCisgIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQgdmVyc2lvbiBvciBvZgorICBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgTW9uZ29EQiwgSW5jLiBJZiB0aGUgUHJvZ3JhbSBkb2VzIG5vdAorICBzcGVjaWZ5IGEgdmVyc2lvbiBudW1iZXIgb2YgdGhlIFNlcnZlciBTaWRlIFB1YmxpYyBMaWNlbnNlLCB5b3UgbWF5CisgIGNob29zZSBhbnkgdmVyc2lvbiBldmVyIHB1Ymxpc2hlZCBieSBNb25nb0RCLCBJbmMuCisKKyAgSWYgdGhlIFByb2dyYW0gc3BlY2lmaWVzIHRoYXQgYSBwcm94eSBjYW4gZGVjaWRlIHdoaWNoIGZ1dHVyZSB2ZXJzaW9ucyBvZgorICB0aGUgU2VydmVyIFNpZGUgUHVibGljIExpY2Vuc2UgY2FuIGJlIHVzZWQsIHRoYXQgcHJveHkncyBwdWJsaWMgc3RhdGVtZW50CisgIG9mIGFjY2VwdGFuY2Ugb2YgYSB2ZXJzaW9uIHBlcm1hbmVudGx5IGF1dGhvcml6ZXMgeW91IHRvIGNob29zZSB0aGF0CisgIHZlcnNpb24gZm9yIHRoZSBQcm9ncmFtLgorCisgIExhdGVyIGxpY2Vuc2UgdmVyc2lvbnMgbWF5IGdpdmUgeW91IGFkZGl0aW9uYWwgb3IgZGlmZmVyZW50IHBlcm1pc3Npb25zLgorICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueSBhdXRob3Igb3IgY29weXJpZ2h0CisgIGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhIGxhdGVyIHZlcnNpb24uCisKKyAgMTUuIERpc2NsYWltZXIgb2YgV2FycmFudHkuCisKKyAgVEhFUkUgSVMgTk8gV0FSUkFOVFkgRk9SIFRIRSBQUk9HUkFNLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBCWQorICBBUFBMSUNBQkxFIExBVy4gRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKKyAgSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNIOKAnEFTIElT4oCdIFdJVEhPVVQgV0FSUkFOVFkKKyAgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTRUQgT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAgUFVSUE9TRS4gVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQorICBJUyBXSVRIIFlPVS4gU0hPVUxEIFRIRSBQUk9HUkFNIFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRSBUSEUgQ09TVCBPRgorICBBTEwgTkVDRVNTQVJZIFNFUlZJQ0lORywgUkVQQUlSIE9SIENPUlJFQ1RJT04uCisgIAorICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCisgIAorICBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcKKyAgV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNT0RJRklFUyBBTkQvT1IgQ09OVkVZUworICBUSEUgUFJPR1JBTSBBUyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SIERBTUFHRVMsIElOQ0xVRElORworICBBTlkgR0VORVJBTCwgU1BFQ0lBTCwgSU5DSURFTlRBTCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORyBPVVQgT0YKKyAgVEhFIFVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRSBQUk9HUkFNIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPCisgIExPU1MgT0YgREFUQSBPUiBEQVRBIEJFSU5HIFJFTkRFUkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWSBZT1UKKyAgT1IgVEhJUkQgUEFSVElFUyBPUiBBIEZBSUxVUkUgT0YgVEhFIFBST0dSQU0gVE8gT1BFUkFURSBXSVRIIEFOWSBPVEhFUgorICBQUk9HUkFNUyksIEVWRU4gSUYgU1VDSCBIT0xERVIgT1IgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUKKyAgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0VTLgorICAKKyAgMTcuIEludGVycHJldGF0aW9uIG9mIFNlY3Rpb25zIDE1IGFuZCAxNi4KKworICBJZiB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50eSBhbmQgbGltaXRhdGlvbiBvZiBsaWFiaWxpdHkgcHJvdmlkZWQgYWJvdmUKKyAgY2Fubm90IGJlIGdpdmVuIGxvY2FsIGxlZ2FsIGVmZmVjdCBhY2NvcmRpbmcgdG8gdGhlaXIgdGVybXMsIHJldmlld2luZworICBjb3VydHMgc2hhbGwgYXBwbHkgbG9jYWwgbGF3IHRoYXQgbW9zdCBjbG9zZWx5IGFwcHJveGltYXRlcyBhbiBhYnNvbHV0ZQorICB3YWl2ZXIgb2YgYWxsIGNpdmlsIGxpYWJpbGl0eSBpbiBjb25uZWN0aW9uIHdpdGggdGhlIFByb2dyYW0sIHVubGVzcyBhCisgIHdhcnJhbnR5IG9yIGFzc3VtcHRpb24gb2YgbGlhYmlsaXR5IGFjY29tcGFuaWVzIGEgY29weSBvZiB0aGUgUHJvZ3JhbSBpbgorICByZXR1cm4gZm9yIGEgZmVlLgorICAKKyAgICAgICAgICAgICAgICAgICAgICAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9yZWFkLWVkaWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3JlYWQtZWRpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWIyYzYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9yZWFkLWVkaWQKQEAgLTAsMCArMSwxNyBAQAorCisgKiBUaGlzIGlzIGFuIHVub2ZmaWNpYWwgbGljZW5zZS4gTGV0J3MgY2FsbCBpdCBCU0QtbGlrZSwgd2l0aCB0aGVzZSB0ZXJtczoKKyAqICAgKiBZb3UgYXJlIGZyZWUgdG8gdXNlIHRoaXMgc29mdHdhcmUgZm9yIGFueSBwdXJwb3NlLiBJIGNhbm5vdCBndWFyYW50ZWUKKyAqICAgICBhbnl0aGluZyBhYm91dCB0aGlzIHNvZnR3YXJlIG9yIGl0cyBmaXRuZXNzIGZvciBhbnkgcHVycG9zZS4gSSB3aWxsCisgKiAgICAgb2ZmZXIgc3VwcG9ydCBmb3IgdGhpcyBzb2Z0d2FyZSBhcyBsb25nIGFzIEkgYW0gY2FwYWJsZSBvZiBkb2luZyBzbywKKyAqICAgICBidXQgdGhpcyBzaG91bGQgbm90IGJlIGludGVycHJldGVkIGFzIGEgc3VwcG9ydCBjb250cmFjdCBvZiBhbnkga2luZC4KKyAqCisgKiAgICogWW91IGFyZSBmcmVlIHRvIG1vZGlmeSwgZGlzdHJpYnV0ZSwgZXRjLiB0aGlzIGNvZGUgdW5kZXIgdGhlIHN0cmljdAorICogICAgIGNvbmRpdGlvbiB0aGF0IHlvdSBlbWFpbCBtZSwgTWF0dGhldyBLZXJuIDxweXJvcGhvYmljbWFuQGdtYWlsLmNvbT4sIGEKKyAqICAgICBicmllZiBtZXNzYWdlIG9uIHdoYXQgeW91J3JlIGRvaW5nLiBOb3RoaW5nIHdpbGwgYmUgcmVqZWN0ZWQsIHRoaXMgaXMKKyAqICAgICBzaW1wbHkgdG8ga2VlcCB0YWJzIG9uIG15IHdvcmssIGFuZCBtYXliZSB3ZSBjYW4gc2hhcmUgaWRlYXMgb24gRURJRHMuCisgKgorICogICAqIChDKW9weXJpZ2h0IDIwMDgtMjAxNCBNYXR0aGV3IEtlcm4KKyAqCisgKiAgIFBsZWFzZSBzZWUgQVVUSE9SUyBmb3IgYSBsaXN0IG9mIHRoZSBwZW9wbGUgd2hvIG1hZGUgdGhpcyBzb2Z0d2FyZQorICogICBwb3NzaWJsZS4gQWxsIG9mIHRoZSBjdXJyZW50IGNvZGUgaXMgYSByZXdyaXRlIG9mIG15IG93biB3b3JrLCBidXQKKyAqICAgSSBhbSBzdGlsbCBpbmRlYnRlZCB0byB0aG9zZSBndXlzIGZvciBhIHRvbiBvZiB0aGUgaWRlYXMuCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm0vMDAwMS1jcHVidXJuLWE4LlMtUmVtb3ZlLS5mdW5jLS5lbmRmdW5jLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tYXJtLzAwMDEtY3B1YnVybi1hOC5TLVJlbW92ZS0uZnVuYy0uZW5kZnVuYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MmYxMmZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tYXJtLzAwMDEtY3B1YnVybi1hOC5TLVJlbW92ZS0uZnVuYy0uZW5kZnVuYy5wYXRjaApAQCAtMCwwICsxLDY5IEBACitGcm9tIDA2NGE2Mzg2MGJmOWVlNGJmNTRmYWNiNzZjYTY2ZjlmOTU3ZDQ3OTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAyOSBKYW4gMjAxOSAxMToxMjozOCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBjcHVidXJuKi5TOiBSZW1vdmUgLmZ1bmMvLmVuZGZ1bmMKKworVGhlc2UgYXJlIG5lZWRlZCB0byBnZW5lcmF0ZSBzdGFicyBkZWJ1ZyBpbmZvIHdoaWNoIHdlIGRvbnQgdXNlCithbmQgYXJlIHNpbGVudGx5IGlnbm9yZWQgYnkgZ251IGFzc2VtYmxlciB3aGVuIHVudXNlZCwgY2xhbmcgYXNzZW1ibGVyCitob3dldmVyIGJhcmZzLCBzbyByZW1vdmUgdGhlbQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKKy0tLQorIGNwdWJ1cm4tYTcuUyB8IDIgLS0KKyBjcHVidXJuLWE4LlMgfCAyIC0tCisgY3B1YnVybi1hOS5TIHwgMiAtLQorIDMgZmlsZXMgY2hhbmdlZCwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NwdWJ1cm4tYTcuUyBiL2NwdWJ1cm4tYTcuUworaW5kZXggNzRlOTI1YS4uYzFlMzA4YyAxMDA2NDQKKy0tLSBhL2NwdWJ1cm4tYTcuUworKysrIGIvY3B1YnVybi1hNy5TCitAQCAtNDIsNyArNDIsNiBAQAorIAorICAgICAuZ2xvYmFsIG1haW4KKyAKKy0uZnVuYyBtYWluCisgLnR5cGUgbWFpbiwgJWZ1bmN0aW9uCisgbWFpbjoKKyAgICAgICAgIHB1c2ggICAgICAgIHtyNC1yMTIsIGxyfQorQEAgLTg4LDQgKzg3LDMgQEAgbWFpbjoKKyAKKyAgICAgICAgIG1vdiAgICAgICAgIHIwLCAjMAorICAgICAgICAgcG9wICAgICAgICAge3I0LXIxMiwgcGN9CistLmVuZGZ1bmMKK2RpZmYgLS1naXQgYS9jcHVidXJuLWE4LlMgYi9jcHVidXJuLWE4LlMKK2luZGV4IGM2ZjkzYTYuLmE0MmY1YTUgMTAwNjQ0CistLS0gYS9jcHVidXJuLWE4LlMKKysrKyBiL2NwdWJ1cm4tYTguUworQEAgLTQ2LDcgKzQ2LDYgQEAKKyAvKiAxNiBzZWVtcyB0byBiZSBhIGdvb2QgY2hvaWNlICovCisgI2RlZmluZSBTVEVQICAgICAgICAgICAgICAgICAxNgorIAorLS5mdW5jIG1haW4KKyAudGh1bWJfZnVuYworIG1haW46CisgICAgICAgICBtb3YgICAgICAgICBsciwgcGMKK0BAIC03MCw0ICs2OSwzIEBAIG1haW46CisgICAgICAgICBzdWJzICAgICAgICBsciwgbHIsICMoU1RFUCAqIDQpCisgICAgIC5lbmRyCisgICAgICAgICBibmUgICAgICAgICAwYgorLS5lbmRmdW5jCitkaWZmIC0tZ2l0IGEvY3B1YnVybi1hOS5TIGIvY3B1YnVybi1hOS5TCitpbmRleCAwMzM4YjAwLi5hMWNjYWU1IDEwMDY0NAorLS0tIGEvY3B1YnVybi1hOS5TCisrKysgYi9jcHVidXJuLWE5LlMKK0BAIC00OCw3ICs0OCw2IEBACisgLyogNjQgc2VlbXMgdG8gYmUgYSBnb29kIGNob2ljZSAqLworICNkZWZpbmUgU1RFUCAgICAgICAgICAgICAgICAgNjQKKyAKKy0uZnVuYyBtYWluCisgLnR5cGUgbWFpbiwgJWZ1bmN0aW9uCisgbWFpbjoKKyAKK0BAIC05NCw0ICs5MywzIEBAIG1haW46CisgICAgICAgICBzdWJzbmUgICAgICBsciwgbHIsICMoU1RFUCAqIDQpCisgICAgIC5lbmRyCisgICAgICAgICBibmUgICAgICAgICAwYgorLS5lbmRmdW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm0vMDAwMi1idXJuLlMtQWRkLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tYXJtLzAwMDItYnVybi5TLUFkZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjY4YzljCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tYXJtLzAwMDItYnVybi5TLUFkZC5wYXRjaApAQCAtMCwwICsxLDQ3IEBACitGcm9tIGMyYWRjY2E5M2EwMDc1NjY1YTgxOTVjYWFkNDliODk3ODU4ODZlOGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAyOSBKYW4gMjAxOSAxMjowMjoyMiAtMDgwMAorU3ViamVjdDogW1BBVENIXSBidXJuLlM6IEFkZAorCitUaGlzIGlzIG9yaWdpbmFsbHkgZnJvbQoraHR0cHM6Ly9oYXJkd2FyZWJ1Zy5vcmcvZmlsZXMvYnVybi5TCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGJ1cm4uUyB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYnVybi5TCisKK2RpZmYgLS1naXQgYS9idXJuLlMgYi9idXJuLlMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5jMzcyYzg3CistLS0gL2Rldi9udWxsCisrKysgYi9idXJuLlMKK0BAIC0wLDAgKzEsMjYgQEAKKysgICAgICAgIC5hcmNoICAgYXJtdjctYQorKyAgICAgICAgLmZwdSAgICBuZW9uCisrCisrICAgICAgICAudGV4dAorKworKyAgICAgICAgLmdsb2JhbCBtYWluCisrICAgICAgICAudHlwZSAgIG1haW4sIFNUVF9GVU5DCisrICAgICAgICAuZnVuYyAgIG1haW4KKyttYWluOgorKyAgICAgICAgYmljICAgICAgICAgICAgIHNwLCAgc3AsICAjMTUKKysxOgorKyAgICAgICAgdmxkMS44ICAgICAgICAgIHtxOH0sIFtzcCw6MTI4XQorKyAgICAgICAgc211YWQgICAgICAgICAgIHI2LCAgcjQsICByNQorKyAgICAgICAgdmVvciAgICAgICAgICAgIHE5LCAgcTAsICBxMQorKyAgICAgICAgYWRkICAgICAgICAgICAgIGxyLCAgcjQsICByNQorKyAgICAgICAgbGRyICAgICAgICAgICAgIGlwLCAgW3NwXQorKyAgICAgICAgdmV4dC44ICAgICAgICAgIHExMCwgcTMsICBxNCwgICMxCisrICAgICAgICBlb3IgICAgICAgICAgICAgcjUsICByNCwgIHI1CisrICAgICAgICB2YWRkLmkzMiAgICAgICAgcTExLCBxMCwgIHExCisrICAgICAgICBzbXVzZCAgICAgICAgICAgcjYsICByNCwgIHI1CisrICAgICAgICBsZHIgICAgICAgICAgICAgcjIsICBbc3BdCisrICAgICAgICB2ZXh0LjggICAgICAgICAgcTEyLCBxMSwgIHEyLCAgIzMKKysgICAgICAgIHNzdWI4ICAgICAgICAgICBsciwgIHI0LCAgcjUKKysgICAgICAgIHZtdWwudTE2ICAgICAgICBxMTMsIHEwLCAgcTQKKysgICAgICAgIGIgICAgICAgICAgICAgICAxYgorKy5lbmRmdW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm0vMDAwMy1idXJuLlMtUmVtb3ZlLS5mdW5jLS5lbmRmdW5jLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tYXJtLzAwMDMtYnVybi5TLVJlbW92ZS0uZnVuYy0uZW5kZnVuYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzUxYjYyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tYXJtLzAwMDMtYnVybi5TLVJlbW92ZS0uZnVuYy0uZW5kZnVuYy5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDA3OGRmNWIyNWQ3NTU3OGJiMDQ0OGNhNTM1MTRjMjNkZWJlNmQ5MjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAyOSBKYW4gMjAxOSAxMjowMzoxMSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBidXJuLlM6IFJlbW92ZSAuZnVuYy8uZW5kZnVuYworCitUaGVzZSBhcmUgdXNlbGVzcyBvbiBMaW51eCBzeXN0ZW1zIHdoZXJlIHdlIHVzZSBkd2FyZiBkZWJ1ZyBpbmZvIGluc3RlYWQKK29mIHN0YWJzCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGJ1cm4uUyB8IDIgLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2J1cm4uUyBiL2J1cm4uUworaW5kZXggYzM3MmM4Ny4uNDQ1OGY1MSAxMDA2NDQKKy0tLSBhL2J1cm4uUworKysrIGIvYnVybi5TCitAQCAtNSw3ICs1LDYgQEAKKyAKKyAgICAgICAgIC5nbG9iYWwgbWFpbgorICAgICAgICAgLnR5cGUgICBtYWluLCBTVFRfRlVOQworLSAgICAgICAgLmZ1bmMgICBtYWluCisgbWFpbjoKKyAgICAgICAgIGJpYyAgICAgICAgICAgICBzcCwgIHNwLCAgIzE1CisgMToKK0BAIC0yMyw0ICsyMiwzIEBAIG1haW46CisgICAgICAgICBzc3ViOCAgICAgICAgICAgbHIsICByNCwgIHI1CisgICAgICAgICB2bXVsLnUxNiAgICAgICAgcTEzLCBxMCwgIHE0CisgICAgICAgICBiICAgICAgICAgICAgICAgMWIKKy0uZW5kZnVuYwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tYXJtX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvY3B1YnVybi9jcHVidXJuLWFybV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE4OWRhMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvY3B1YnVybi9jcHVidXJuLWFybV9naXQuYmIKQEAgLTAsMCArMSwzOCBAQAorU1VNTUFSWSA9ICJBIGNvbGxlY3Rpb24gb2YgY3B1YnVybiBwcm9ncmFtcyB0dW5lZCBmb3IgZGlmZmVyZW50IEFSTSBoYXJkd2FyZSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vY3B1YnVybi1hNTMuUztiZWdpbmxpbmU9MTtlbmRsaW5lPTIyO21kNT0zYjdjY2Q3MDE0NGMxNmQzZmUxNGFjNDkxYzJkNGE4NyIKKworUlBST1ZJREVTXyR7UE59ID0gImNwdWJ1cm4tbmVvbiIKK1BST1ZJREVTICs9ICJjcHVidXJuLW5lb24iCisKK1NSQ1JFViA9ICJhZDdlNjQ2NzAwZDE0YjgxNDEzMjk3YmRhMDJmYjdmZTk2NjEzYzNmIgorCitQViA9ICIxLjArZ2l0JHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zc3ZiL2NwdWJ1cm4tYXJtLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNwdWJ1cm4tYTguUy1SZW1vdmUtLmZ1bmMtLmVuZGZ1bmMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1idXJuLlMtQWRkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtYnVybi5TLVJlbW92ZS0uZnVuYy0uZW5kZnVuYy5wYXRjaCBcCisgICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9fY29tcGlsZSgpIHsKKyAgICAke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSBidXJuLlMgLW8gYnVybgorICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IGNwdWJ1cm4tYTcuUyAtbyBidXJuLWE3CisgICAgJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30gY3B1YnVybi1hOC5TIC1vIGJ1cm4tYTgKKyAgICAke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSBjcHVidXJuLWE5LlMgLW8gYnVybi1hOQorICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IGNwdWJ1cm4tYTUzLlMgLW8gYnVybi1hNTMKKyAgICAke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSBjcHVidXJuLWtyYWl0LlMgLW8gYnVybi1rcmFpdAorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGZvciBmIGluIGJ1cm4gYnVybi1hNyBidXJuLWE4IGJ1cm4tYTkgYnVybi1hNTMgYnVybi1rcmFpdDsgZG8KKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICRmICR7RH0ke2JpbmRpcn0vJGYKKyAgICBkb25lCit9CisKK0NPTVBBVElCTEVfTUFDSElORSA/PSAiKF4kKSIKK0NPTVBBVElCTEVfTUFDSElORV9hcm12N2EgPSAiKC4qKSIKK0NPTVBBVElCTEVfTUFDSElORV9hcm12N3ZlID0gIiguKikiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1uZW9uXzIwMTQwNjI2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tbmVvbl8yMDE0MDYyNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTRlM2ZjNC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1uZW9uXzIwMTQwNjI2LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotU1VNTUFSWSA9ICJDUFUgYnVybiBhcHAgdGhhdCBsb2FkcyB0aGUgTkVPTiBjb3Byb2Nlc3NvciBmdWxseSIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vYnVybi5TO21kNT04MjNhYmM3MmMyY2Q0NDhlODdkZjliYzUzNTVhNDQ1NiIKLQotRExfRElSX2FwcGVuZCA9ICIvJHtQTn0tJHtQVn0iCi0KLSMgRW5zdXJlIHRvIG1ha2UgdGhpcyBhdmFpbGFibGUgZm9yIG1hY2hpbmUgd2hpY2ggaGFzIG5lb24KLUNPTVBBVElCTEVfTUFDSElORSA9ICIoJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAibmVvbiIsICIke01BQ0hJTkV9IiwgIkludmFsaWQhIiwgZCl9KSIKLQotU1JDX1VSSSA9ICJodHRwOi8vaGFyZHdhcmVidWcub3JnL2ZpbGVzL2J1cm4uUztuYW1lPW1ydSBcCi0gICAgICAgICAgIGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9zc3ZiL2NwdWJ1cm4tYXJtL2RkNWM1YmE1OGQyYjBiMjNjZmFiNGEyODZmOWQzZjU1MTAwMDBmMjAvY3B1YnVybi1hOC5TO25hbWU9c3N2YiIKLQotU1JDX1VSSVttcnUubWQ1c3VtXSA9ICI4MjNhYmM3MmMyY2Q0NDhlODdkZjliYzUzNTVhNDQ1NiIKLVNSQ19VUklbbXJ1LnNoYTI1NnN1bV0gPSAiMDFkOWZjMDRmODM3NDBjNTEzYzI1NDAxZGNjODljMTFiMmE1YTYwMTNlNzBiZmNhNDJiN2IwMjEyOWY4OGNkMiIKLVNSQ19VUklbc3N2Yi5tZDVzdW1dID0gImJhMGVmMjkzOWEzYjNiNDg3NTIzNDQ4YzY3NTQ0ZTk0IgotU1JDX1VSSVtzc3ZiLnNoYTI1NnN1bV0gPSAiY2U0MmViZGM3MWM4NzZhMzNkOWY3NTM0MzU1ZWY3NmNlZmEwZDAwZGRiMTlhZDY5Y2YwNWEyNjZjODYxZDA4ZCIKLQotUyA9ICIke1dPUktESVJ9IgotCi1kb19jb21waWxlKCkgewotICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IGJ1cm4uUyAtbyBidXJuCi0gICAgJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30gY3B1YnVybi1hOC5TIC1vIGJ1cm4tbmVvbmE4Ci19Ci0KLWRvX2luc3RhbGwoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vYnVybiAke0R9JHtiaW5kaXJ9L2J1cm4tbmVvbgotICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2J1cm4tbmVvbmE4ICR7RH0ke2JpbmRpcn0vCi19Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy8wMDAxLUZpeC1jbGFuZy13YXJuaW5ncy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy8wMDAxLUZpeC1jbGFuZy13YXJuaW5ncy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2RmMDlmYS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZmlsZXMvMDAwMS1GaXgtY2xhbmctd2FybmluZ3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi1Gcm9tIDM1ZTlmODA1MThkNjY2ZGI1ZjljNjJlODA3MmZmYmMzMDdiNGFmNGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAyNiBBdWcgMjAxNyAwODozMDowMSAtMDcwMAotU3ViamVjdDogW1BBVENIXSBGaXggY2xhbmcgd2FybmluZ3MKLQotLi4vc3JjL25hdGl2ZS1zdGF0ZS1kcm0uY3BwOjMzNDoyMDogZXJyb3I6IGNhbm5vdCBwYXNzIG9iamVjdCBvZiBub24tdHJpdmlhbCB0eXBlICdzdGQ6Ol9fY3h4MTE6OmJhc2ljX3N0cmluZzxjaGFyPicgdGhyb3VnaCB2YXJpYWRpYyBmdW5jdGlvbjsgY2FsbCB3aWxsIGFib3J0IGF0IHJ1bnRpbWUgWy1Xbm9uLXBvZC12YXJhcmdzXQotICAgICAgICAgICAgICAgICAgIGRldl9wYXRoKTsKLSAgICAgICAgICAgICAgICAgICBeCi0xIGVycm9yIGdlbmVyYXRlZC4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9uYXRpdmUtc3RhdGUtZHJtLmNwcCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9uYXRpdmUtc3RhdGUtZHJtLmNwcCBiL3NyYy9uYXRpdmUtc3RhdGUtZHJtLmNwcAotaW5kZXggZGMyYjMyMy4uNjI1NjZlZSAxMDA2NDQKLS0tLSBhL3NyYy9uYXRpdmUtc3RhdGUtZHJtLmNwcAotKysrIGIvc3JjL25hdGl2ZS1zdGF0ZS1kcm0uY3BwCi1AQCAtMzMxLDcgKzMzMSw3IEBAIHN0YXRpYyBpbnQgb3Blbl91c2luZ191ZGV2X3NjYW4oKQotICAgICBpZiAoIXZhbGlkX2ZkKGZkKSkgewotICAgICAgICAgLy8gJW0gaXMgR0xJQkMgc3BlY2lmaWMuLi4gTWF5YmUgdXNlIHN0cmVycm9yIGhlcmUuLi4KLSAgICAgICAgIExvZzo6ZXJyb3IoIlRyaWVkIHRvIHVzZSAnJXMnIGJ1dCBmYWlsZWQuXG5SZWFzb24gOiAlbSIsCi0tICAgICAgICAgICAgICAgICAgIGRldl9wYXRoKTsKLSsgICAgICAgICAgICAgICAgICAgZGV2X3BhdGguY19zdHIoKSk7Ci0gICAgIH0KLSAgICAgZWxzZQotICAgICAgICAgTG9nOjpkZWJ1ZygiU3VjY2VzcyFcbiIpOwotLS0gCi0yLjE0LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9nbG1hcmsyL2ZpbGVzL0ZpeC1jb25maWd1cmUtZm9yLXNxcnQtY2hlY2sucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZmlsZXMvRml4LWNvbmZpZ3VyZS1mb3Itc3FydC1jaGVjay5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2RlMDVlZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZmlsZXMvRml4LWNvbmZpZ3VyZS1mb3Itc3FydC1jaGVjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLUZyb20gOWZiMjk4YzM5OGY4OGE2M2Q3MTQzMmJlMTQxMGQ1MmZhZTA4OTA2MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRvbSBIb2Noc3RlaW4gPHRvbS5ob2Noc3RlaW5AbnhwLmNvbT4KLURhdGU6IE1vbiwgOCBBdWcgMjAxNiAxMTozOTo1NCAtMDUwMAotCi0tLS0KLSB3c2NyaXB0IHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvd3NjcmlwdCBiL3dzY3JpcHQKLWluZGV4IGNhODQzZjQuLmViNGEyNmEgMTAwNjQ0Ci0tLS0gYS93c2NyaXB0Ci0rKysgYi93c2NyaXB0Ci1AQCAtODQsNyArODQsNyBAQCBkZWYgY29uZmlndXJlKGN0eCk6Ci0gICAgICAgICBjdHguY2hlY2tfY2MobGliID0gbGliLCB1c2VsaWJfc3RvcmUgPSB1c2VsaWIpCi0gCi0gICAgICMgQ2hlY2sgcmVxdWlyZWQgZnVuY3Rpb25zCi0tICAgIHJlcV9mdW5jcyA9IFsoJ21lbXNldCcsICdzdHJpbmcuaCcsIFtdKSAsKCdzcXJ0JywgJ21hdGguaCcsIFsnbSddKV0KLSsgICAgcmVxX2Z1bmNzID0gWygnbWVtc2V0JywgJ3N0cmluZy5oJywgW10pXQotICAgICBmb3IgZnVuYywgaGVhZGVyLCB1c2VsaWIgaW4gcmVxX2Z1bmNzOgotICAgICAgICAgY3R4LmNoZWNrX2NjKGZ1bmN0aW9uX25hbWUgPSBmdW5jLCBoZWFkZXJfbmFtZSA9IGhlYWRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgdXNlbGliID0gdXNlbGliLCBtYW5kYXRvcnkgPSBUcnVlKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9nbG1hcmsyL2ZpbGVzL2J1aWxkLUNoZWNrLXBhY2thZ2VzLXRvLWJlLXVzZWQtYnktdGhlLWVuYWJsZWQtZmxhdm8ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZmlsZXMvYnVpbGQtQ2hlY2stcGFja2FnZXMtdG8tYmUtdXNlZC1ieS10aGUtZW5hYmxlZC1mbGF2by5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzJiOGRlYi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZmlsZXMvYnVpbGQtQ2hlY2stcGFja2FnZXMtdG8tYmUtdXNlZC1ieS10aGUtZW5hYmxlZC1mbGF2by5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb206IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+Ci1TdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkOiBDaGVjayBwYWNrYWdlcyB0byBiZSB1c2VkIGJ5IHRoZSBlbmFibGVkIGZsYXZvcnMKLU9yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCi0KLVRoZSBwYWNrYWdlcyBzaG91bGRuJ3QgYmUgZHluYW1pY2FsbHkgZGV0ZWN0ZWQgb3RoZXJ3aXNlIHRoZSBidWlsZAotcHJlZGljdGFiaWxpdHkgaXMgbG9zdC4gV2Ugbm93IGhhdmUgYWxsIHBhY2thZ2VzIGFzIG1hbmRhdG9yeSBidXQKLWRlcGVuZGVudCBvZiB0aGUgZmxhdm9ycyB3aGljaCB1c2UgdGhlbS4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9nbG1hcmsyL2dsbWFyazIvcHVsbC84XQotCi1TaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgotLS0tCi0gd3NjcmlwdCB8IDEwICsrKysrKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvd3NjcmlwdCBiL3dzY3JpcHQKLWluZGV4IGNhYjYyYTMuLmU3ZWFlZDAgMTAwNjQ0Ci0tLS0gYS93c2NyaXB0Ci0rKysgYi93c2NyaXB0Ci1AQCAtMTIxLDEzICsxMjEsMTcgQEAgZGVmIGNvbmZpZ3VyZShjdHgpOgotICAgICAgICAgICAgICAgICAoJ21pcmNsaWVudCcsJ21pcmNsaWVudCcsICcwLjEzJywgbGlzdF9jb250YWlucyhjdHgub3B0aW9ucy5mbGF2b3JzLCAnbWlyJykpLAotICAgICAgICAgICAgICAgICAoJ3dheWxhbmQtY2xpZW50Jywnd2F5bGFuZC1jbGllbnQnLCBOb25lLCBsaXN0X2NvbnRhaW5zKGN0eC5vcHRpb25zLmZsYXZvcnMsICd3YXlsYW5kJykpLAotICAgICAgICAgICAgICAgICAoJ3dheWxhbmQtZWdsJywnd2F5bGFuZC1lZ2wnLCBOb25lLCBsaXN0X2NvbnRhaW5zKGN0eC5vcHRpb25zLmZsYXZvcnMsICd3YXlsYW5kJykpXQotLSAgICBmb3IgKHBrZywgdXNlbGliLCBhdGxlYXN0LCBtYW5kYXRvcnkpIGluIG9wdF9wa2dzOgotKyAgICBmb3IgKHBrZywgdXNlbGliLCBhdGxlYXN0LCBjaGVjaykgaW4gb3B0X3BrZ3M6Ci0rICAgICAgICAjIENoZWNrIHBhY2thZ2VzIHJlcXVpcmVkIGJ5IHRoZSBmbGF2b3JzCi0rICAgICAgICBpZiBub3QgY2hlY2s6Ci0rICAgICAgICAgICAgY29udGludWUKLSsKLSAgICAgICAgIGlmIGF0bGVhc3QgaXMgTm9uZToKLSAgICAgICAgICAgICBjdHguY2hlY2tfY2ZnKHBhY2thZ2UgPSBwa2csIHVzZWxpYl9zdG9yZSA9IHVzZWxpYiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MgPSAnLS1jZmxhZ3MgLS1saWJzJywgbWFuZGF0b3J5ID0gbWFuZGF0b3J5KQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncyA9ICctLWNmbGFncyAtLWxpYnMnLCBtYW5kYXRvcnkgPSBUcnVlKQotICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICBjdHguY2hlY2tfY2ZnKHBhY2thZ2UgPSBwa2csIHVzZWxpYl9zdG9yZSA9IHVzZWxpYiwgYXRsZWFzdF92ZXJzaW9uPWF0bGVhc3QsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzID0gJy0tY2ZsYWdzIC0tbGlicycsIG1hbmRhdG9yeSA9IG1hbmRhdG9yeSkKLSsgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MgPSAnLS1jZmxhZ3MgLS1saWJzJywgbWFuZGF0b3J5ID0gVHJ1ZSkKLSAKLSAKLSAgICAgIyBQcmVwZW5kIENYWCBmbGFncyBzbyB0aGF0IHRoZXkgY2FuIGJlIG92ZXJyaWRlbiBieSB0aGUKLS0tIAotMi40LjYKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9nbG1hcmsyL2dsbWFyazJfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9nbG1hcmsyL2dsbWFyazJfZ2l0LmJiCmluZGV4IDk5MDUwZTcuLjdlZDVjZDAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9nbG1hcmsyX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZ2xtYXJrMl9naXQuYmIKQEAgLTEwLDE2ICsxMCwxMiBAQAogCiBERVBFTkRTID0gImxpYnBuZyBqcGVnIHVkZXYiCiAKLVBWID0gIjIwMTcuMDcrJHtTUkNQVn0iCitQViA9ICIyMDE5MDIwNSske1NSQ1BWfSIKIAogQ09NUEFUSUJMRV9IT1NUX3JwaSAgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ01BQ0hJTkVfRkVBVFVSRVMnLCAndmM0Z3JhcGhpY3MnLCAnLiotbGludXgqJywgJ251bGwnLCBkKX0iCiAKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9nbG1hcmsyL2dsbWFyazIuZ2l0O3Byb3RvY29sPWh0dHBzIFwKLSAgICAgICAgICAgZmlsZTovL2J1aWxkLUNoZWNrLXBhY2thZ2VzLXRvLWJlLXVzZWQtYnktdGhlLWVuYWJsZWQtZmxhdm8ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vRml4LWNvbmZpZ3VyZS1mb3Itc3FydC1jaGVjay5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1jbGFuZy13YXJuaW5ncy5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ1JFViA9ICJlZDIwYzYzM2YxOTI2ZDFkZDc4ZTNlODkwNDNjODVhODEzMDJjYmU2IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2dsbWFyazIvZ2xtYXJrMi5naXQ7cHJvdG9jb2w9aHR0cHMiCitTUkNSRVYgPSAiMGM5MGRkNDhkZjQzYTZiMGRiMWQ5YWFiY2E2Mjk4MjQwZjQ5NjhmNyIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIApAQCAtMzEsOSArMjcsNiBAQAogICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd3YXlsYW5kIG9wZW5nbCcsICd3YXlsYW5kLWdsIHdheWxhbmQtZ2xlczInLCAnJywgZCl9IFwKICAgICAgICAgICAgICAgICAgIGRybS1nbCBkcm0tZ2xlczIiCiAKLSMgRW5hYmxlIEMrKzExIGZlYXR1cmVzCi1DWFhGTEFHUyArPSAiLXN0ZD1jKysxMSIKLQogUEFDS0FHRUNPTkZJR1t4MTEtZ2xdID0gIiwsdmlydHVhbC9saWJnbCB2aXJ0dWFsL2xpYngxMSIKIFBBQ0tBR0VDT05GSUdbeDExLWdsZXMyXSA9ICIsLHZpcnR1YWwvbGliZ2xlczIgdmlydHVhbC9saWJ4MTEiCiBQQUNLQUdFQ09ORklHW2RybS1nbF0gPSAiLCx2aXJ0dWFsL2xpYmdsIGxpYmRybSB2aXJ0dWFsL2xpYmdibSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliYy1iZW5jaC9saWJjLWJlbmNoXzIwMTEwMjA2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJjLWJlbmNoL2xpYmMtYmVuY2hfMjAxMTAyMDYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1MzRjNzMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJjLWJlbmNoL2xpYmMtYmVuY2hfMjAxMTAyMDYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1TVU1NQVJZID0gIlRlc3RzIHRvIGNvbXBhcmUgc3RhbmRhcmQgZnVuY3Rpb25zIG9mIGRpZmZlcmVudCBsaWJjIGltcGxlbWVudGF0aW9ucyIKLURFU0NSSVBUSU9OID0gImxpYmMtYmVuY2ggaXMgYSBzZXQgb2YgdGltZS0gYW5kIG1lbW9yeS1lZmZpY2llbmN5IHRlc3RzIHRvIGNvbXBhcmUgXAotaW1wbGVtZW50YXRpb25zIG9mIHZhcmlvdXMgQy9QT1NJWCBzdGFuZGFyZCBsaWJyYXJ5IGZ1bmN0aW9ucy4iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmV0YWxhYnMubmV0L2xpYmMtYmVuY2guaHRtbCIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9NYWtlZmlsZTttZDU9ZTEyZjExM2RhMjdkZmU5Y2ZiNmMyYzUzN2RhOGQ4ZGYiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5ldGFsYWJzLm5ldC9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLmd6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZjc2M2RlOTBmOTVmZTY4ZTRlMDNlNWI2ZjQ5Njk4YWMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjgyNTI2MGFhNWYxNWY0ZmJjNzk1N2VjNTc4ZTljODU5Y2JiZTIxMGUwMjVlYzc0YzRhMGQwNTY3NzUyMzc5NCIKLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNzU1ICR7Qn0vbGliYy1iZW5jaCAke0R9JHtiaW5kaXJ9Ci19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmMtYmVuY2gvbGliYy1iZW5jaF9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmMtYmVuY2gvbGliYy1iZW5jaF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTgxMzg5NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliYy1iZW5jaC9saWJjLWJlbmNoX2dpdC5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIlRlc3RzIHRvIGNvbXBhcmUgc3RhbmRhcmQgZnVuY3Rpb25zIG9mIGRpZmZlcmVudCBsaWJjIGltcGxlbWVudGF0aW9ucyIKK0RFU0NSSVBUSU9OID0gImxpYmMtYmVuY2ggaXMgYSBzZXQgb2YgdGltZS0gYW5kIG1lbW9yeS1lZmZpY2llbmN5IHRlc3RzIHRvIGNvbXBhcmUgXAoraW1wbGVtZW50YXRpb25zIG9mIHZhcmlvdXMgQy9QT1NJWCBzdGFuZGFyZCBsaWJyYXJ5IGZ1bmN0aW9ucy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmV0YWxhYnMubmV0L2xpYmMtYmVuY2guaHRtbCIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT05YTgyNWM2Mzg5N2M1M2Y0ODdlZjkwMDU5OGMzMTUyNyIKKworU1JDUkVWID0gImI2YjJjZTVmOWY4N2EwOWIxNDQ5OWNiMDBjNjAwYzYwMWYwMjI2MzQiCitQViA9ICIyMDExMDIwNitnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQubXVzbC1saWJjLm9yZy9saWJjLWJlbmNoIFwKKyAgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtCfS9saWJjLWJlbmNoICR7RH0ke2JpbmRpcn0KK30KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZV8yLjIuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbmJlbmNoLWJ5dGUvbmJlbmNoLWJ5dGVfMi4yLjMuYmIKaW5kZXggMjJiYjA0MS4uYjRkNTViZSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZV8yLjIuMy5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL25iZW5jaC1ieXRlL25iZW5jaC1ieXRlXzIuMi4zLmJiCkBAIC03LDcgKzcsNyBAQAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT01NztlbmRsaW5lPTY2O21kNT0wMjBlZjU3OWY4ZmE1NzQ2YjdlMzA3YTU0NzA3ODM0ZiIKIFNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKIAotU1JDX1VSSSA9ICJodHRwczovL2Zvc3NpZXMub3JnL2xpbnV4L21pc2MvJHtCUH0udGFyLmd6IFwKK1NSQ19VUkkgPSAiaHR0cHM6Ly9mb3NzaWVzLm9yZy9saW51eC9taXNjL29sZC8ke0JQfS50YXIuZ3ogXAogICAgICAgICAgICBmaWxlOi8vbmJlbmNoXzMyYml0cy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS1hZGQtbW9yZS1kZXBlbmRlbmNpZXMtdG8tcG9pbnRlci5oLnBhdGNoIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Bob3Jvbml4LXRlc3Qtc3VpdGUvcGhvcm9uaXgtdGVzdC1zdWl0ZV84LjAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvcGhvcm9uaXgtdGVzdC1zdWl0ZS9waG9yb25peC10ZXN0LXN1aXRlXzguMC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMWZhNTFiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvcGhvcm9uaXgtdGVzdC1zdWl0ZS9waG9yb25peC10ZXN0LXN1aXRlXzguMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotU1VNTUFSWSA9ICJQaG9yb25peCBUZXN0IFN1aXRlIgotREVTQ1JJUFRJT04gPSAiVGhlIFBob3Jvbml4IFRlc3QgU3VpdGUgaXMgZGVzaWduZWQgdG8gY2Fycnkgb3V0IGJvdGggcXVhbGl0YXRpdmUgXAotYW5kIHF1YW50aXRhdGl2ZSBiZW5jaG1hcmtzIGluIGEgY2xlYW4sIHJlcHJvZHVjaWJsZSwgYW5kIGVhc3ktdG8tdXNlIG1hbm5lci4iCi1MSUNFTlNFID0gIkdQTHYzIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi1TRUNUSU9OID0gImNvbnNvbGUvdGVzdHMiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5waG9yb25peC10ZXN0LXN1aXRlLmNvbS9yZWxlYXNlcy8ke0JQfS50YXIuZ3oiCi1TUkNfVVJJW21kNXN1bV0gPSAiM2RjM2EwZTQ5MGU5MDlmMTg4Mzc5YTllMDVmZDQ3ODAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjMwNjU0OTEwOWM3MjU0YmFmMzFlZGIzODUyNjViMTk1NTdiNTY5MjIxN2QyZGZjZjk2ZjZmYjE3ZGU4ZTg0MiIKLQotUyA9ICIke1dPUktESVJ9L3Bob3Jvbml4LXRlc3Qtc3VpdGUiCi0KLWluaGVyaXQgc3lzdGVtZCBhbGxhcmNoCi0KLWRvX2luc3RhbGwoKSB7Ci0gICAgREVTVERJUj0ke0R9IC4vaW5zdGFsbC1zaCAke2V4ZWNfcHJlZml4fQotCi0gICAgaWYgWyAiJHtzeXN0ZW1kX3VuaXRkaXJ9IiAhPSAiL3Vzci9saWIvc3lzdGVtZCIgXTsgdGhlbgotICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KLSAgICAgICAgbXYgJHtEfS91c3IvbGliL3N5c3RlbWQvc3lzdGVtLyogJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLwotICAgICAgICBybSAtcmYgJHtEfS91c3IvbGliLwotICAgIGZpCi19Ci0KLSMgSXQgaXMgbm90IGFkdmlzYWJsZSB0byBlbmFibGUgdGhlc2Ugc2VydmljZXMgYnkgZGVmYXVsdCBzaW5jZSB0aGV5IGNhbiBjYXVzZQotIyBjb250aW51YWwgdGFyZ2V0IHJlYm9vdHMgaWYgdGhleSBlbmNvdW50ZXIgbmV0d29yayBwcm9ibGVtcy4KLSMKLVNZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJwaG9yb21hdGljLWNsaWVudC5zZXJ2aWNlIHBob3JvbWF0aWMtc2VydmVyLnNlcnZpY2UiCi0KLVJERVBFTkRTXyR7UE59ICs9ICJiYXNoIHB5dGhvbiBwaHAtY2xpIHV0aWwtbGludXgtbHNjcHUgb3MtcmVsZWFzZSBsc2IiCi0KLUZJTEVTXyR7UE59ICs9ICIgXAotICAgICR7ZGF0YWRpcn0vcGhvcm9uaXgtdGVzdC1zdWl0ZSBcCi0gICAgJHtkYXRhZGlyfS9hcHBkYXRhL3Bob3Jvbml4LXRlc3Qtc3VpdGUuYXBwZGF0YS54bWwgXAotICAgICR7ZGF0YWRpcn0vaWNvbnMvaGljb2xvci80OHg0OC9hcHBzL3Bob3Jvbml4LXRlc3Qtc3VpdGUucG5nIFwKLSAgICAke2RhdGFkaXJ9L2ljb25zL2hpY29sb3IvNjR4NjQvbWltZXR5cGVzL2FwcGxpY2F0aW9uLXgtb3BlbmJlbmNobWFya2luZy5wbmcgXAotICAgICR7ZGF0YWRpcn0vbWltZS9wYWNrYWdlcy9vcGVuYmVuY2htYXJraW5nLW1pbWUueG1sIFwKLSAgICAke3N5c3RlbWRfdW5pdGRpcn0vKiBcCi0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Bob3Jvbml4LXRlc3Qtc3VpdGUvcGhvcm9uaXgtdGVzdC1zdWl0ZV84LjYuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvcGhvcm9uaXgtdGVzdC1zdWl0ZS9waG9yb25peC10ZXN0LXN1aXRlXzguNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjN2IwNTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Bob3Jvbml4LXRlc3Qtc3VpdGUvcGhvcm9uaXgtdGVzdC1zdWl0ZV84LjYuMC5iYgpAQCAtMCwwICsxLDQxIEBACitTVU1NQVJZID0gIlBob3Jvbml4IFRlc3QgU3VpdGUiCitERVNDUklQVElPTiA9ICJUaGUgUGhvcm9uaXggVGVzdCBTdWl0ZSBpcyBkZXNpZ25lZCB0byBjYXJyeSBvdXQgYm90aCBxdWFsaXRhdGl2ZSBcCithbmQgcXVhbnRpdGF0aXZlIGJlbmNobWFya3MgaW4gYSBjbGVhbiwgcmVwcm9kdWNpYmxlLCBhbmQgZWFzeS10by11c2UgbWFubmVyLiIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKK1NFQ1RJT04gPSAiY29uc29sZS90ZXN0cyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LnBob3Jvbml4LXRlc3Qtc3VpdGUuY29tL3JlbGVhc2VzLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhM2Q5ZTgxZjVhYmMxOTIxZDNhYWY3MTBhYzRmNDA0NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhY2I5ZGZjZjRhMzQ1MmFhZjgyY2NlNTljY2MwNGZhNGNmNTFhNDM2MTdhNmNjYTlkMWY5YzVjNjcwYTU2NTVkIgorCitTID0gIiR7V09SS0RJUn0vcGhvcm9uaXgtdGVzdC1zdWl0ZSIKKworaW5oZXJpdCBzeXN0ZW1kIGFsbGFyY2gKKworZG9faW5zdGFsbCgpIHsKKyAgICBERVNURElSPSR7RH0gLi9pbnN0YWxsLXNoICR7ZXhlY19wcmVmaXh9CisKKyAgICBpZiBbICIke3N5c3RlbWRfdW5pdGRpcn0iICE9ICIvdXNyL2xpYi9zeXN0ZW1kIiBdOyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworICAgICAgICBtdiAke0R9L3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0vKiAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgICAgIHJtIC1yZiAke0R9L3Vzci9saWIvCisgICAgZmkKK30KKworIyBJdCBpcyBub3QgYWR2aXNhYmxlIHRvIGVuYWJsZSB0aGVzZSBzZXJ2aWNlcyBieSBkZWZhdWx0IHNpbmNlIHRoZXkgY2FuIGNhdXNlCisjIGNvbnRpbnVhbCB0YXJnZXQgcmVib290cyBpZiB0aGV5IGVuY291bnRlciBuZXR3b3JrIHByb2JsZW1zLgorIworU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInBob3JvbWF0aWMtY2xpZW50LnNlcnZpY2UgcGhvcm9tYXRpYy1zZXJ2ZXIuc2VydmljZSIKKworUkRFUEVORFNfJHtQTn0gKz0gImJhc2ggcHl0aG9uIHBocC1jbGkgdXRpbC1saW51eC1sc2NwdSBvcy1yZWxlYXNlIGxzYiIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9waG9yb25peC10ZXN0LXN1aXRlIFwKKyAgICAke2RhdGFkaXJ9L2FwcGRhdGEvcGhvcm9uaXgtdGVzdC1zdWl0ZS5hcHBkYXRhLnhtbCBcCisgICAgJHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yLzQ4eDQ4L2FwcHMvcGhvcm9uaXgtdGVzdC1zdWl0ZS5wbmcgXAorICAgICR7ZGF0YWRpcn0vaWNvbnMvaGljb2xvci82NHg2NC9taW1ldHlwZXMvYXBwbGljYXRpb24teC1vcGVuYmVuY2htYXJraW5nLnBuZyBcCisgICAgJHtkYXRhZGlyfS9taW1lL3BhY2thZ2VzL29wZW5iZW5jaG1hcmtpbmctbWltZS54bWwgXAorICAgICR7c3lzdGVtZF91bml0ZGlyfS8qIFwKKyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvcy1zdWl0ZS9zLXN1aXRlX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvcy1zdWl0ZS9zLXN1aXRlX2dpdC5iYgppbmRleCA3N2QxNzI4Li40N2QyMWQzIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Mtc3VpdGUvcy1zdWl0ZV9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9zLXN1aXRlL3Mtc3VpdGVfZ2l0LmJiCkBAIC0yLDcgKzIsNyBAQAogTElDRU5TRSA9ICJHUEx2MiIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI1MjlhYWE2YTBjNTBmMTVkMjlmODk2MDliNWMyMmYzIgogCi1TUkNSRVYgPSAiNzk2OThmNjQ1YmZiMjhkMGQ5NjY0ODRkZGFkM2ExZWZiNTYyMjQ2ZCIKK1NSQ1JFViA9ICJkMDUwMDY4NjVmNjg4MjlmYTc2MDNiZGI5MmJkNTE2NDlmNWJhMWI2IgogUFYgPSAiMC4wK2dpdCR7U1JDUFZ9IgogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0FsZ29kZXYtZ2l0aHViL1MuZ2l0O3Byb3RvY29sPWh0dHBzO2JyYW5jaD1tYXN0ZXIiCiAKQEAgLTE3LDExICsxNywxMyBAQAogICAgICAgICBpbnN0YWxsIC1tMDc1NSAtcCAke1N9LyQoYmFzZW5hbWUgJGkpLyogJHtEfS9vcHQvUy1zdWl0ZS8kKGJhc2VuYW1lICRpKQogICAgIGRvbmUKIAorICAgIGluc3RhbGwgLW0wNzU1ICR7U30vZGVmX2NvbmZpZy5zaCAke0R9L29wdC9TLXN1aXRlCiAgICAgaW5zdGFsbCAtbTA3NTUgJHtTfS9jb25maWdfcGFyYW1zLnNoICR7RH0vb3B0L1Mtc3VpdGUKLSAgICBpbnN0YWxsIC1tMDc1NSAke1N9L2RlZl9jb25maWdfcGFyYW1zLnNoICR7RH0vb3B0L1Mtc3VpdGUKKyAgICBpbnN0YWxsIC1tMDc1NSAke1N9L3Byb2Nlc3NfY29uZmlnLnNoICR7RH0vb3B0L1Mtc3VpdGUKIH0KIAotUkRFUEVORFNfJHtQTn0gPSAiYmFzaCBiYyBjb3JldXRpbHMgZ2F3ayBnKysgZ2NjIGZpbyBsaWJhaW8gbGliYWlvLWRldiBzeXNzdGF0IgorUkRFUEVORFNfJHtQTn0gPSAiYmFzaCBiYyBjb3JldXRpbHMgZ2F3ayBnKysgZ2NjIGZpbyBsaWJhaW8gbGliYWlvLWRldiBzeXNzdGF0IFwKKwkJICBnaXQiCiAKIEZJTEVTXyR7UE59ID0gIi9vcHQvUy1zdWl0ZS8iCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlueW1lbWJlbmNoL3RpbnltZW1iZW5jaC8wMDAxLWFzbS1EZWxldGUtLmZ1bmMtLmVuZGZ1bmMtZGlyZWN0aXZlcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlueW1lbWJlbmNoL3RpbnltZW1iZW5jaC8wMDAxLWFzbS1EZWxldGUtLmZ1bmMtLmVuZGZ1bmMtZGlyZWN0aXZlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMDkwNzAwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW55bWVtYmVuY2gvdGlueW1lbWJlbmNoLzAwMDEtYXNtLURlbGV0ZS0uZnVuYy0uZW5kZnVuYy1kaXJlY3RpdmVzLnBhdGNoCkBAIC0wLDAgKzEsNDQ0IEBACitGcm9tIGIwYTY0ZGRlYmI1MTdhMTY3OGM0NGQ5YmFmMjRkOGJiZTM5ZDAyY2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAyOSBKYW4gMjAxOSAxMzoxNTowNyAtMDgwMAorU3ViamVjdDogW1BBVENIXSBhc206IERlbGV0ZSAuZnVuYy8uZW5kZnVuYyBkaXJlY3RpdmVzCisKK1RoZXNlIGFyZSB1c2VmdWwgb25seSB3aXRoIHN0YWJzIGRlYnVnIGZvcm1hdCwgd2hpY2ggaXMgbm90IHVzZWQgb24KK2xpbnV4IHN5c3RlbXMsIGdhcyBpZ25vcmVzIHRoZW0gc2lsZW50bHksIGJ1dCBjbGFuZyBhc3NlbWJsZXIgZG9lcyBub3QKK2FuZCByaWdodGx5IHNvLgorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgYWFyY2g2NC1hc20uUyB8IDE0ICstLS0tLS0tLS0tLS0tCisgYXJtLW5lb24uUyAgICB8IDI0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG1pcHMtMzIuUyAgICAgfCAgNSArKy0tLQorIHg4Ni1zc2UyLlMgICAgfCAyMSArKysrKysrKysrLS0tLS0tLS0tLS0KKyA0IGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWFyY2g2NC1hc20uUyBiL2FhcmNoNjQtYXNtLlMKK2luZGV4IDg0MmI5ZTIuLjE2NWM4YWMgMTAwNjQ0CistLS0gYS9hYXJjaDY0LWFzbS5TCisrKysgYi9hYXJjaDY0LWFzbS5TCitAQCAtMzEsOCArMzEsNyBAQAorIAorIC5tYWNybyBhc21fZnVuY3Rpb24gZnVuY3Rpb25fbmFtZQorICAgICAuZ2xvYmFsIFxmdW5jdGlvbl9uYW1lCistICAgIC50eXBlIFxmdW5jdGlvbl9uYW1lLCVmdW5jdGlvbiAKKy0uZnVuYyBcZnVuY3Rpb25fbmFtZQorKyAgICAudHlwZSBcZnVuY3Rpb25fbmFtZSwlZnVuY3Rpb24KKyBcZnVuY3Rpb25fbmFtZToKKyAgICAgRFNUICAgICAgICAgLnJlcSB4MAorICAgICBTUkMgICAgICAgICAucmVxIHgxCitAQCAtNTQsNyArNTMsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2xkcHN0cF94X2FhcmNoNjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9sZHBzdHBfcV9hYXJjaDY0CisgMDoKK0BAIC02Nyw3ICs2NSw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbGRwc3RwX3FfYWFyY2g2NAorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjNjQKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2xkcHN0cF9xX3BmMzJfbDJzdHJtX2FhcmNoNjQKKyAwOgorQEAgLTgyLDcgKzc5LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9sZHBzdHBfcV9wZjMyX2wyc3RybV9hYXJjaDY0CisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbGRwc3RwX3FfcGY2NF9sMnN0cm1fYWFyY2g2NAorIDA6CitAQCAtOTYsNyArOTIsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2xkcHN0cF9xX3BmNjRfbDJzdHJtX2FhcmNoNjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9sZHBzdHBfcV9wZjMyX2wxa2VlcF9hYXJjaDY0CisgMDoKK0BAIC0xMTEsNyArMTA2LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9sZHBzdHBfcV9wZjMyX2wxa2VlcF9hYXJjaDY0CisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbGRwc3RwX3FfcGY2NF9sMWtlZXBfYWFyY2g2NAorIDA6CitAQCAtMTI1LDcgKzExOSw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbGRwc3RwX3FfcGY2NF9sMWtlZXBfYWFyY2g2NAorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjNjQKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX3N0cF94X2FhcmNoNjQKKyAwOgorQEAgLTEzNyw3ICsxMzAsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX3N0cF94X2FhcmNoNjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9zdHBfcV9hYXJjaDY0CisgMDoKK0BAIC0xNDcsNyArMTM5LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9zdHBfcV9hYXJjaDY0CisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfc3RucF94X2FhcmNoNjQKKyAwOgorQEAgLTE1OSw3ICsxNTAsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX3N0bnBfeF9hYXJjaDY0CisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfc3RucF9xX2FhcmNoNjQKKyAwOgorQEAgLTE2OSw3ICsxNTksNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX3N0bnBfcV9hYXJjaDY0CisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbGQxc3QxX2FhcmNoNjQKKyAwOgorQEAgLTE4MCw2ICsxNjksNSBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2xkMXN0MV9hYXJjaDY0CisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworIAorICNlbmRpZgorZGlmZiAtLWdpdCBhL2FybS1uZW9uLlMgYi9hcm0tbmVvbi5TCitpbmRleCA0ZGI3OGNlLi45NjMxZDgyIDEwMDY0NAorLS0tIGEvYXJtLW5lb24uUworKysrIGIvYXJtLW5lb24uUworQEAgLTMyLDcgKzMyLDYgQEAKKyAKKyAubWFjcm8gYXNtX2Z1bmN0aW9uIGZ1bmN0aW9uX25hbWUKKyAgICAgLmdsb2JhbCBcZnVuY3Rpb25fbmFtZQorLS5mdW5jIFxmdW5jdGlvbl9uYW1lCisgXGZ1bmN0aW9uX25hbWU6CisgICAgIERTVCAgICAgICAgIC5yZXEgcjAKKyAgICAgU1JDICAgICAgICAgLnJlcSByMQorQEAgLTY2LDcgKzY1LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfcmVhZF9uZW9uCisgICAgIHZwYWRkLnUzMiAgIGQzMSwgZDMxLCBkMzEKKyAgICAgdm1vdi51MzIgICAgcjAsIGQzMVswXQorICAgICBieCAgICAgICAgICBscgorLS5lbmRmdW5jCisgCisgLyogQWN0dWFsbHkgdGhpcyBjYWxjdWxhdGVzIGEgc3VtIG9mIDMyLWJpdCB2YWx1ZXMgKi8KKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19yZWFkX3BmMzJfbmVvbgorQEAgLTk3LDcgKzk1LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfcmVhZF9wZjMyX25lb24KKyAgICAgdnBhZGQudTMyICAgZDMxLCBkMzEsIGQzMQorICAgICB2bW92LnUzMiAgICByMCwgZDMxWzBdCisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyAvKiBBY3R1YWxseSB0aGlzIGNhbGN1bGF0ZXMgYSBzdW0gb2YgMzItYml0IHZhbHVlcyAqLworIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX3JlYWRfcGY2NF9uZW9uCitAQCAtMTI3LDcgKzEyNCw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX3JlYWRfcGY2NF9uZW9uCisgICAgIHZwYWRkLnUzMiAgIGQzMSwgZDMxLCBkMzEKKyAgICAgdm1vdi51MzIgICAgcjAsIGQzMVswXQorICAgICBieCAgICAgICAgICBscgorLS5lbmRmdW5jCisgCisgLyogQWN0dWFsbHkgdGhpcyBjYWxjdWxhdGVzIGEgc3VtIG9mIDMyLWJpdCB2YWx1ZXMgKi8KKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19yZWFkMl9uZW9uCitAQCAtMTU2LDcgKzE1Miw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX3JlYWQyX25lb24KKyAgICAgdnBhZGQudTMyICAgZDMxLCBkMzEsIGQzMQorICAgICB2bW92LnUzMiAgICByMCwgZDMxWzBdCisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyAvKiBBY3R1YWxseSB0aGlzIGNhbGN1bGF0ZXMgYSBzdW0gb2YgMzItYml0IHZhbHVlcyAqLworIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX3JlYWQyX3BmMzJfbmVvbgorQEAgLTE4Nyw3ICsxODIsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19yZWFkMl9wZjMyX25lb24KKyAgICAgdnBhZGQudTMyICAgZDMxLCBkMzEsIGQzMQorICAgICB2bW92LnUzMiAgICByMCwgZDMxWzBdCisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyAvKiBBY3R1YWxseSB0aGlzIGNhbGN1bGF0ZXMgYSBzdW0gb2YgMzItYml0IHZhbHVlcyAqLworIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX3JlYWQyX3BmNjRfbmVvbgorQEAgLTIxNyw3ICsyMTEsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19yZWFkMl9wZjY0X25lb24KKyAgICAgdnBhZGQudTMyICAgZDMxLCBkMzEsIGQzMQorICAgICB2bW92LnUzMiAgICByMCwgZDMxWzBdCisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X25lb24KKyAwOgorQEAgLTIyNiw3ICsyMTksNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X25lb24KKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzMyCisgICAgIGJndCAgICAgICAgIDBiCisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3Vucm9sbGVkX25lb24KKyAgICAgdnB1c2ggICAgICAge2Q4LWQxNX0KK0BAIC0yNDQsNyArMjM2LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV91bnJvbGxlZF9uZW9uCisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHZwb3AgICAgICAgIHtkOC1kMTV9CisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3BmMzJfbmVvbgorIDA6CitAQCAtMjU0LDcgKzI0NSw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfcGYzMl9uZW9uCisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICMzMgorICAgICBiZ3QgICAgICAgICAwYgorICAgICBieCAgICAgICAgICBscgorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV91bnJvbGxlZF9wZjMyX25lb24KKyAgICAgdnB1c2ggICAgICAge2Q4LWQxNX0KK0BAIC0yODAsNyArMjcwLDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV91bnJvbGxlZF9wZjMyX25lb24KKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgdnBvcCAgICAgICAge2Q4LWQxNX0KKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfcGY2NF9uZW9uCisgMDoKK0BAIC0yOTIsNyArMjgxLDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9wZjY0X25lb24KKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3Vucm9sbGVkX3BmNjRfbmVvbgorICAgICB2cHVzaCAgICAgICB7ZDgtZDE1fQorQEAgLTMxNCw3ICszMDIsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3Vucm9sbGVkX3BmNjRfbmVvbgorICAgICBiZ3QgICAgICAgICAwYgorICAgICB2cG9wICAgICAgICB7ZDgtZDE1fQorICAgICBieCAgICAgICAgICBscgorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9iYWNrd2FyZHNfbmVvbgorICAgICBhZGQgICAgICAgICBTUkMsIFNSQywgU0laRQorQEAgLTMyOCw3ICszMTUsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2JhY2t3YXJkc19uZW9uCisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICMzMgorICAgICBiZ3QgICAgICAgICAwYgorICAgICBieCAgICAgICAgICBscgorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9iYWNrd2FyZHNfcGYzMl9uZW9uCisgICAgIGFkZCAgICAgICAgIFNSQywgU1JDLCBTSVpFCitAQCAtMzQzLDcgKzMyOSw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfYmFja3dhcmRzX3BmMzJfbmVvbgorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjMzIKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfYmFja3dhcmRzX3BmNjRfbmVvbgorICAgICBhZGQgICAgICAgICBTUkMsIFNSQywgU0laRQorQEAgLTM2MCw3ICszNDUsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2JhY2t3YXJkc19wZjY0X25lb24KKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX25lb24KKyAgICAgdmxkMS44ICAgICAge2QwLCBkMSwgZDIsIGQzfSwgW1NSQ10hCitAQCAtMzcwLDcgKzM1NCw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfbmVvbgorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjNjQKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfYmFja3dhcmRzX25lb24KKyAgICAgYWRkICAgICAgICAgU1JDLCBTUkMsIFNJWkUKK0BAIC0zODMsNyArMzY2LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9iYWNrd2FyZHNfbmVvbgorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjMzIKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIC8qIHNvbWUgY29kZSBmb3Igb2xkZXIgQVJNIHByb2Nlc3NvcnMgKi8KKyAKK0BAIC0zOTgsNyArMzgwLDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9zdG00X2FybXY0CisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICBwb3AgICAgICAgICB7cjQtcjEyLCBwY30KKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfc3RtOF9hcm12NAorICAgICBwdXNoICAgICAgICB7cjQtcjEyLCBscn0KK0BAIC00MDksNyArMzkwLDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9zdG04X2FybXY0CisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICBwb3AgICAgICAgICB7cjQtcjEyLCBwY30KKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfc3RyZF9hcm12NXRlCisgICAgIHB1c2ggICAgICAgIHtyNC1yMTIsIGxyfQorQEAgLTQyNiw3ICs0MDYsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX3N0cmRfYXJtdjV0ZQorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjNjQKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgcG9wICAgICAgICAge3I0LXIxMiwgcGN9CistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2luY3JfYXJtdjV0ZQorICAgICBwdXNoICAgICAgICB7cjQtcjEyLCBscn0KK0BAIC00NDIsNyArNDIxLDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9pbmNyX2FybXY1dGUKKyAgICAgc3RtaWEgICAgICAgRFNUISwge3I4LXIxMX0KKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgcG9wICAgICAgICAge3I0LXIxMiwgcGN9CistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3dyYXBfYXJtdjV0ZQorICAgICBwdXNoICAgICAgICB7cjQtcjEyLCBscn0KK0BAIC00NTgsNyArNDM2LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV93cmFwX2FybXY1dGUKKyAgICAgc3RtaWEgICAgICAgRFNUISwge3I4LXIxMX0KKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgcG9wICAgICAgICAge3I0LXIxMiwgcGN9CistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3ZmcAorICAgICBwdXNoICAgICAgICB7cjQtcjEyLCBscn0KK0BAIC00NzAsNiArNDQ3LDUgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV92ZnAKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgdnBvcCAgICAgICAge2Q4LWQxNX0KKyAgICAgcG9wICAgICAgICAge3I0LXIxMiwgcGN9CistLmVuZGZ1bmMKKyAKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9taXBzLTMyLlMgYi9taXBzLTMyLlMKK2luZGV4IDE3YjJiN2YuLjRmN2RkYWUgMTAwNjQ0CistLS0gYS9taXBzLTMyLlMKKysrKyBiL21pcHMtMzIuUworQEAgLTMyLDcgKzMyLDYgQEAKKyAubWFjcm8gYXNtX2Z1bmN0aW9uIGZ1bmN0aW9uX25hbWUKKyAgICAgLmdsb2JhbCBcZnVuY3Rpb25fbmFtZQorICAgICAudHlwZSBcZnVuY3Rpb25fbmFtZSwgQGZ1bmN0aW9uCistICAgIC5mdW5jIFxmdW5jdGlvbl9uYW1lCisgXGZ1bmN0aW9uX25hbWU6CisgLmVuZG0KKyAKK0BAIC05Myw3ICs5Miw3IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfcGYzMl9taXBzMzIKKyAyOgorICAgICBqciAgICAgICAgICAkcmEKKyAgICAgbm9wCistLmVuZGZ1bmMKKysKKyAKKyAvKgorICAqIHZvaWQgYWxpZ25lZF9ibG9ja19jb3B5X3BmMzJfbWlwczMyKGludDY0X3QgKmRzdCwgaW50NjRfdCAqc3JjLCBpbnQgc2l6ZSkKK0BAIC0xNzgsNiArMTc3LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9wZjMyX21pcHMzMgorICAgICBsdyAgICAgICAgICAkczcsICAgIDI4KCRzcCkKKyAgICAganIgICAgICAgICAgJHJhCisgICAgIGFkZGkgICAgICAgICRzcCwgICAgJHNwLCAgICAzMgorLS5lbmRmdW5jCisrCisgCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEveDg2LXNzZTIuUyBiL3g4Ni1zc2UyLlMKK2luZGV4IGQ4ODQwZTQuLjQwOTAzMWIgMTAwNjQ0CistLS0gYS94ODYtc3NlMi5TCisrKysgYi94ODYtc3NlMi5TCitAQCAtMzAsNyArMzAsNiBAQAorIAorIC5tYWNybyBhc21fZnVuY3Rpb25faGVscGVyIGZ1bmN0aW9uX25hbWUKKyAgICAgLmdsb2JhbCBcZnVuY3Rpb25fbmFtZQorLS5mdW5jIFxmdW5jdGlvbl9uYW1lCisgXGZ1bmN0aW9uX25hbWU6CisgI2lmZGVmIF9fYW1kNjRfXworICAgI2lmZGVmIF9XSU42NAorQEAgLTkwLDcgKzg5LDcgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9tb3ZzYgorICAgICBwb3AzICAgICAgICBlZGkgZXNpIGVjeAorICNlbmRpZgorICAgICByZXQKKy0uZW5kZnVuYworKworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbW92c2QKKyAwOgorQEAgLTExMCw3ICsxMDksNyBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X21vdnNkCisgICAgIHBvcDMgICAgICAgIGVkaSBlc2kgZWN4CisgI2VuZGlmCisgICAgIHJldAorLS5lbmRmdW5jCisrCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9zc2UyCisgMDoKK0BAIC0xMjcsNyArMTI2LDcgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9zc2UyCisgICAgIHN1YiAgICAgICAgIFNJWkUsIDY0CisgICAgIGpnICAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisrCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9udF9zc2UyCisgMDoKK0BAIC0xNDQsNyArMTQzLDcgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9udF9zc2UyCisgICAgIHN1YiAgICAgICAgIFNJWkUsIDY0CisgICAgIGpnICAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisrCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9wZjMyX3NzZTIKKyAwOgorQEAgLTE2Myw3ICsxNjIsNyBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3BmMzJfc3NlMgorICAgICBzdWIgICAgICAgICBTSVpFLCAgICAgICA2NAorICAgICBqZyAgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworKworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbnRfcGYzMl9zc2UyCisgMDoKK0BAIC0xODIsNyArMTgxLDcgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9udF9wZjMyX3NzZTIKKyAgICAgc3ViICAgICAgICAgU0laRSwgICAgICAgNjQKKyAgICAgamcgICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKysKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3BmNjRfc3NlMgorIDA6CitAQCAtMjAwLDcgKzE5OSw3IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfcGY2NF9zc2UyCisgICAgIHN1YiAgICAgICAgIFNJWkUsICAgICAgIDY0CisgICAgIGpnICAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisrCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9udF9wZjY0X3NzZTIKKyAwOgorQEAgLTIxOCw3ICsyMTcsNyBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X250X3BmNjRfc3NlMgorICAgICBzdWIgICAgICAgICBTSVpFLCAgICAgICA2NAorICAgICBqZyAgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworKworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfc3NlMgorICAgICBtb3ZkcWEgICAgICB4bW0wLCAgICAgICBbU1JDICsgMF0KK0BAIC0yMzEsNyArMjMwLDcgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9zc2UyCisgICAgIHN1YiAgICAgICAgIFNJWkUsICAgICAgIDY0CisgICAgIGpnICAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisrCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9udF9zc2UyCisgICAgIG1vdmRxYSAgICAgIHhtbTAsICAgICAgIFtTUkMgKyAwXQorQEAgLTI0NCw3ICsyNDMsNyBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX250X3NzZTIKKyAgICAgc3ViICAgICAgICAgU0laRSwgICAgICAgNjQKKyAgICAgamcgICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKysKKyAKKyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3RpbnltZW1iZW5jaC90aW55bWVtYmVuY2hfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW55bWVtYmVuY2gvdGlueW1lbWJlbmNoX2dpdC5iYgppbmRleCA4Y2I1OWRhLi4yY2UxMGY5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3RpbnltZW1iZW5jaC90aW55bWVtYmVuY2hfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlueW1lbWJlbmNoL3RpbnltZW1iZW5jaF9naXQuYmIKQEAgLTgsOCArOCwxMCBAQAogCiBQViA9ICIwLjQuMCtnaXQke1NSQ1BWfSIKIAotU1JDUkVWID0gIjJjNzg5ODQ5NzA5ZDgzN2I0YmQxMTRjMTFlZDJkOWJkYzY1YWZiYzYiCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc3N2Yi90aW55bWVtYmVuY2guZ2l0IgorU1JDUkVWID0gImEyY2Y2ZDdlMzgyZTNhZWExZWIzOTE3MzE3NGQ5ZmEyOGNhZDE1ZjMiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc3N2Yi90aW55bWVtYmVuY2guZ2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYXNtLURlbGV0ZS0uZnVuYy0uZW5kZnVuYy1kaXJlY3RpdmVzLnBhdGNoIFwKKyAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaWJvb3RtZ3IvZWZpYm9vdG1ncl8wLjE2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9lZmlib290bWdyL2VmaWJvb3RtZ3JfMC4xNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjQ5N2UwOS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaWJvb3RtZ3IvZWZpYm9vdG1ncl8wLjE2LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiTGludXggdXNlci1zcGFjZSBhcHBsaWNhdGlvbiB0byBtb2RpZnkgdGhlIEVGSSBCb290IE1hbmFnZXIuIgotU1VNTUFSWSA9ICJFRkkgQm9vdCBNYW5hZ2VyIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2VmaWJvb3RtZ3IiCi1TRUNUSU9OID0gImJhc2UiCi0KLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCi0KLURFUEVORFMgPSAicGNpdXRpbHMgemxpYiBlZml2YXIiCi0KLUNPTVBBVElCTEVfSE9TVCA9ICIoaS44Nnx4ODZfNjR8YXJtfGFhcmNoNjQpLiotbGludXgiCi0KLVNSQ1JFViA9ICJhNTEwMzI1MWExMTY2M2FkZGRjODVjODZlMGI4ZDNkM2I3M2NiYjRhIgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2VmaWJvb3RtZ3IuZ2l0O3Byb3RvY29sPWh0dHBzIFwKLSAgICAgICAgICAiCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IHBrZ2NvbmZpZwotCi1FWFRSQV9PRU1BS0UgPSAiJ0VGSURJUj0vJyAnQ0M9JHtDQ30nICdDRkxBR1M9JHtDRkxBR1N9IC1JJHtTfS9zcmMvaW5jbHVkZSBgcGtnLWNvbmZpZyAtLWNmbGFncyBlZml2YXJgJyIKLQotQ0ZMQUdTX2FwcGVuZF90b29sY2hhaW4tY2xhbmcgPSAiIC1Xbm8tZXJyb3IiCi1kb19pbnN0YWxsICgpIHsKLSAgICBpbnN0YWxsIC1EIC1wIC1tMDc1NSAke0J9L3NyYy9lZmlib290bWdyICR7RH0vJHtzYmluZGlyfS9lZmlib290bWdyCi19Ci0KLUNMRUFOQlJPS0VOID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaWJvb3RtZ3IvZWZpYm9vdG1ncl8xNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvZWZpYm9vdG1nci9lZmlib290bWdyXzE3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlZGIyZTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaWJvb3RtZ3IvZWZpYm9vdG1ncl8xNy5iYgpAQCAtMCwwICsxLDI4IEBACitERVNDUklQVElPTiA9ICJMaW51eCB1c2VyLXNwYWNlIGFwcGxpY2F0aW9uIHRvIG1vZGlmeSB0aGUgRUZJIEJvb3QgTWFuYWdlci4iCitTVU1NQVJZID0gIkVGSSBCb290IE1hbmFnZXIiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvZWZpYm9vdG1nciIKK1NFQ1RJT04gPSAiYmFzZSIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKKworREVQRU5EUyA9ICJwY2l1dGlscyB6bGliIGVmaXZhciIKKworQ09NUEFUSUJMRV9IT1NUID0gIihpLjg2fHg4Nl82NHxhcm18YWFyY2g2NCkuKi1saW51eCIKKworU1JDUkVWID0gImUwNjcxNjBlY2VmODIwOGUxOTQ0MDAyZTVkNTBiMjc1NzMzMjExZmIiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvZWZpYm9vdG1nci5naXQ7cHJvdG9jb2w9aHR0cHMgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1yZW1vdmUtZXh0cmEtZGVjbC5wYXRjaCBcCisgICAgICAgICAgIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBwa2djb25maWcKKworRVhUUkFfT0VNQUtFID0gIidFRklESVI9LycgJ0NDPSR7Q0N9JyAnQ0ZMQUdTPSR7Q0ZMQUdTfSAtSSR7U30vc3JjL2luY2x1ZGUgYHBrZy1jb25maWcgLS1jZmxhZ3MgZWZpdmFyYCciCisKK0NGTEFHU19hcHBlbmRfdG9vbGNoYWluLWNsYW5nID0gIiAtV25vLWVycm9yIgorZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtRCAtcCAtbTA3NTUgJHtCfS9zcmMvZWZpYm9vdG1nciAke0R9LyR7c2JpbmRpcn0vZWZpYm9vdG1ncgorfQorCitDTEVBTkJST0tFTiA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9lZmlib290bWdyL2ZpbGVzLzAwMDEtcmVtb3ZlLWV4dHJhLWRlY2wucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaWJvb3RtZ3IvZmlsZXMvMDAwMS1yZW1vdmUtZXh0cmEtZGVjbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MmYzYTgxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9lZmlib290bWdyL2ZpbGVzLzAwMDEtcmVtb3ZlLWV4dHJhLWRlY2wucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA5OWI1Nzg1MDE2NDMzNzdlMGIxOTk0YjJhMDY4Yjc5MGQxODlkNWFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGV0ZXIgSm9uZXMgPHBqb25lc0ByZWRoYXQuY29tPgorRGF0ZTogV2VkLCAxMyBKdW4gMjAxOCAwOTo0MTowMSAtMDQwMAorU3ViamVjdDogW1BBVENIXSByZW1vdmUgZXh0cmEgZGVjbAorCitTaWduZWQtb2ZmLWJ5OiBQZXRlciBKb25lcyA8cGpvbmVzQHJlZGhhdC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2dpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvZWZpYm9vdG1nci5naXRdCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKKy0tLQorIHNyYy9lZmlib290bWdyLmMgfCAzIC0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2VmaWJvb3RtZ3IuYyBiL3NyYy9lZmlib290bWdyLmMKK2luZGV4IGRlMzhmMDEuLjRlMWE2ODAgMTAwNjQ0CistLS0gYS9zcmMvZWZpYm9vdG1nci5jCisrKysgYi9zcmMvZWZpYm9vdG1nci5jCitAQCAtMTUzNiw5ICsxNTM2LDYgQEAgcGFyc2Vfb3B0cyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCQkJCQkgICAgICAgImludmFsaWQgbnVtZXJpYyB2YWx1ZSAlc1xuIiwKKyAJCQkJCSAgICAgICBvcHRhcmcpOworIAkJCX0KKy0gICAgICAgICAgICAgICAgICAgICAgICAvKiBYWFggZWZpdmFyLTM2IGFjY2lkZW50YWxseSBkb2Vzbid0IGhhdmUgYSBwdWJsaWMKKy0gICAgICAgICAgICAgICAgICAgICAgICAgKiBoZWFkZXIgZm9yIHRoaXMgKi8KKy0JCQlleHRlcm4gaW50IGVmaV9zZXRfdmVyYm9zZShpbnQgdmVyYm9zaXR5LCBGSUxFICplcnJsb2cpOworIAkJCWVmaV9zZXRfdmVyYm9zZShvcHRzLnZlcmJvc2UgLSAyLCBzdGRlcnIpOworIAkJCWJyZWFrOworIAkJY2FzZSAnVic6CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvZWZpdmFyL2VmaXZhcl8wLjM2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9lZml2YXIvZWZpdmFyXzAuMzYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIwNTg4ZWUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9lZml2YXIvZWZpdmFyXzAuMzYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1TVU1NQVJZID0gIlRvb2xzIHRvIG1hbmlwdWxhdGUgVUVGSSB2YXJpYWJsZXMiCi1ERVNDUklQVElPTiA9ICJlZml2YXIgcHJvdmlkZXMgYSBzaW1wbGUgY29tbWFuZCBsaW5lIGludGVyZmFjZSB0byB0aGUgVUVGSSB2YXJpYWJsZSBmYWNpbGl0eSIKLUhPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZml2YXIiCi0KLUxJQ0VOU0UgPSAiTEdQTHYyLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02NjI2YmIxZTIwMTg5Y2ZhOTVmMmM1MDhiYTI4NjM5MyIKLQotREVQRU5EUyA9ICJwb3B0IgotREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBlZml2YXItbmF0aXZlIgotCi1pbmhlcml0IHBrZ2NvbmZpZwotCi1DT01QQVRJQkxFX0hPU1QgPSAiKGkuODZ8eDg2XzY0fGFybXxhYXJjaDY0KS4qLWxpbnV4IgotCi1TUkNSRVYgPSAiZWYzNDQ5MjIzZWNkMWU3YjEwOThjNTIzZDY2YjJmOTYwZmU4MzllYSIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZml2YXIuZ2l0IFwKLSAgICAgICAgICAgZmlsZTovL2FsbG93LW11bHRpLWRlZmluaXRpb25zLWZvci1uYXRpdmUucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIGZpbGU6Ly8wMDAxLWVmaXZhci1maXgtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2ggXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xkLWlzLWdvbGQnLCAnZmlsZTovLzAwMDQtZml4LXVua25vdy1vcHRpb24tZm9yLWdvbGQtbGlua2VyLnBhdGNoJywgJycsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGU6Ly9maXgtY29tcGlsZS1mYWlsdXJlLXdpdGgtaG9zdC1nY2MtNC42LnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotZG9fY29tcGlsZV9wcmVwZW5kKCkgewotICAgIHNlZCAtaSAtZSBzOi1XZXJyb3I6OmcgJHtTfS9nY2Muc3BlY3MKLX0KLQotZG9fY29tcGlsZV9jbGFzcy1uYXRpdmUoKSB7Ci0gICAgb2VfcnVubWFrZSAtQyBzcmMgbWFrZWd1aWRzIENDX0ZPUl9CVUlMRD0iJHtCVUlMRF9DQ30iCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0gICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQotfQotCi1kb19pbnN0YWxsX2NsYXNzLW5hdGl2ZSgpIHsKLSAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtCfS9zcmMvbWFrZWd1aWRzICR7RH0ke2JpbmRpcn0vbWFrZWd1aWRzCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9lZml2YXIvZWZpdmFyXzM3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9lZml2YXIvZWZpdmFyXzM3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhNTZlN2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaXZhci9lZml2YXJfMzcuYmIKQEAgLTAsMCArMSw0NSBAQAorU1VNTUFSWSA9ICJUb29scyB0byBtYW5pcHVsYXRlIFVFRkkgdmFyaWFibGVzIgorREVTQ1JJUFRJT04gPSAiZWZpdmFyIHByb3ZpZGVzIGEgc2ltcGxlIGNvbW1hbmQgbGluZSBpbnRlcmZhY2UgdG8gdGhlIFVFRkkgdmFyaWFibGUgZmFjaWxpdHkiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvZWZpdmFyIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NjYyNmJiMWUyMDE4OWNmYTk1ZjJjNTA4YmEyODYzOTMiCisKK0RFUEVORFMgPSAicG9wdCIKK0RFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgZWZpdmFyLW5hdGl2ZSIKKworaW5oZXJpdCBwa2djb25maWcKKworQ09NUEFUSUJMRV9IT1NUID0gIihpLjg2fHg4Nl82NHxhcm18YWFyY2g2NCkuKi1saW51eCIKKworU1JDUkVWID0gImMxZDZiMTBlMWVkNGJhMmJlMDdmMzg1ZWFlNWJjZWI2OTQ0NzhhMTAiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvZWZpdmFyLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly9hbGxvdy1tdWx0aS1kZWZpbml0aW9ucy1mb3ItbmF0aXZlLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBmaWxlOi8vMDAwMS1lZml2YXItZml4LWZvci1jcm9zcy1jb21waWxlLnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZC1pcy1nb2xkJywgJ2ZpbGU6Ly8wMDA0LWZpeC11bmtub3ctb3B0aW9uLWZvci1nb2xkLWxpbmtlci5wYXRjaCcsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgorU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vZml4LWNvbXBpbGUtZmFpbHVyZS13aXRoLWhvc3QtZ2NjLTQuNi5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgczotV2Vycm9yOjpnICR7U30vZ2NjLnNwZWNzCit9CisKK2RvX2NvbXBpbGVfY2xhc3MtbmF0aXZlKCkgeworICAgIG9lX3J1bm1ha2UgLUMgc3JjIG1ha2VndWlkcyBDQ19GT1JfQlVJTEQ9IiR7QlVJTERfQ0N9IgorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KK30KKworZG9faW5zdGFsbF9jbGFzcy1uYXRpdmUoKSB7CisgICAgaW5zdGFsbCAtRCAtbSAwNzU1ICR7Qn0vc3JjL21ha2VndWlkcyAke0R9JHtiaW5kaXJ9L21ha2VndWlkcworfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1lZml2YXJmcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvbG1fc2Vuc29ycy9sbXNlbnNvcnMvMDAwMS1sbS1zZW5zb3JzLWZpeC1zZW5zb3JzLWRldGVjdC1jYW4tdC1yZWFkLXRoZS1jcHUtaW5mLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9sbV9zZW5zb3JzL2xtc2Vuc29ycy8wMDAxLWxtLXNlbnNvcnMtZml4LXNlbnNvcnMtZGV0ZWN0LWNhbi10LXJlYWQtdGhlLWNwdS1pbmYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQ1NzA5ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvbG1fc2Vuc29ycy9sbXNlbnNvcnMvMDAwMS1sbS1zZW5zb3JzLWZpeC1zZW5zb3JzLWRldGVjdC1jYW4tdC1yZWFkLXRoZS1jcHUtaW5mLnBhdGNoCkBAIC0wLDAgKzEsNzQgQEAKK0Zyb20gZGQ5YjQwYzU0ZjE2MGE0NGYxZDc4ZTU5NDZkNGNkMDBhODg1MjgwMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERlbmdrZSBEdSA8ZGVuZ2tlLmR1QHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDIxIFNlcCAyMDE2IDAzOjE3OjMyIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIGxtLXNlbnNvcnM6IGZpeCBzZW5zb3JzLWRldGVjdCBjYW4ndCByZWFkIHRoZSBjcHUgaW5mb3JtYXRpb24KKyBvbiBmc2wtdDR4eHgKKworVGhpcyBpcyBiZWNhdXNlIHR3byByZWFzb25zOgorCisxLiBUaGUgc2Vuc29ycy1kZXRlY3QgcHJvZ3JhbSBpbiBsbS1zZW5zb3JzIGRlcGVuZHMgb24gdGhlIGZpbGUgJy9wcm9jL2NwdWluZm8nLAorICAgZGlmZmVyZW50IGFyY2ggd3JpdGUgZGlmZmVyZW50IGluZm9tYXRpb24gdG8gaXQuIFRoYXQgcHJvZ3JhbSBzdXBwb3J0cyB4ODYKKyAgIGFuZCB4ODYtNjQgd2VsbCwgYnV0IHdlYWsgb24gcHBjIGFuZCBhcm0uCisKKzIuIFRoZSBzZW5zb3JzLWRldGVjdCBwcm9ncmFtIHNob3cgdGhlIGNwdSBpbmZvcm1hdGlvbiBqdXN0IGRlc2lnbiBmb3IgaW50ZWwncworICAgY3B1LCB3aGVuIG1lZXRzIG90aGVyIGFyY2gsIGl0IGNhbid0IG91dHB1dCB0aGUgY29ycmVjdCBpbmZvcm1hdGlvbi4KKworU28gd2UgbmVlZCB0byBhZGQgdGhlIHBwYyBhbmQgYXJtIHN1cHBvcnQgZm9yIHRoaXMgcHJvZ3JhbToKKworMS4gYWRkIHRoZSBwcGMgY3B1IGluZm9ybWF0aW9uIGZpZWxkICdjcHUnIGluIGluaXRpYWxpemVfY3B1X2xpc3QgZnVuY3Rpb24uCisKKzIuIGFkZCB0aGUgY29ycmVzcG9uZCBjYXNlIG9mIHBwYyBhbmQgYXJtIHdoZW4gcHJpbnQgY3B1IGluZm9ybWF0aW9uIGluCisgICBwcmludF9jcHVfaW5mbyBmdW5jdGlvbi4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IERlbmdrZSBEdSA8ZGVuZ2tlLmR1QHdpbmRyaXZlci5jb20+CistLS0KKyBwcm9nL2RldGVjdC9zZW5zb3JzLWRldGVjdCB8IDExICsrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3Byb2cvZGV0ZWN0L3NlbnNvcnMtZGV0ZWN0IGIvcHJvZy9kZXRlY3Qvc2Vuc29ycy1kZXRlY3QKK2luZGV4IDVmNjI0MDUuLmFlNGRlZjEgMTAwNzU1CistLS0gYS9wcm9nL2RldGVjdC9zZW5zb3JzLWRldGVjdAorKysrIGIvcHJvZy9kZXRlY3Qvc2Vuc29ycy1kZXRlY3QKK0BAIC0yODMzLDYgKzI4MzMsNyBAQCBzdWIga2VybmVsX3ZlcnNpb25fYXRfbGVhc3QKKyAjIG1vZGVsIG5hbWUgYW5kIHN0ZXBwaW5nLCBkaXJlY3RseSB0YWtlbiBmcm9tIC9wcm9jL2NwdWluZm8uCisgdXNlIHZhcnMgcXcoQGNwdSk7CisgCisrIyBUaGUgYWRkZWQgZmllbGQgJ2NwdScgaXMgZm9yIHN1cHBvcnQgdGhlIHBwYy4KKyBzdWIgaW5pdGlhbGl6ZV9jcHVfbGlzdAorIHsKKyAJbG9jYWwgJF87CitAQCAtMjg0OCw3ICsyODQ5LDcgQEAgc3ViIGluaXRpYWxpemVfY3B1X2xpc3QKKyAJCQl9OworIAkJCW5leHQ7CisgCQl9CistCQlpZiAobS9eKHZlbmRvcl9pZHxjcHUgZmFtaWx5fG1vZGVsfG1vZGVsIG5hbWV8c3RlcHBpbmd8Y3B1aWQgbGV2ZWwpXHMqOlxzKiguKykkLykgeworKwkJaWYgKG0vXih2ZW5kb3JfaWR8Y3B1IGZhbWlseXxtb2RlbHxtb2RlbCBuYW1lfHN0ZXBwaW5nfGNwdWlkIGxldmVsfGNwdXxyZXZpc2lvbilccyo6XHMqKC4rKSQvKSB7CisgCQkJbXkgJGsgPSAkMTsKKyAJCQlteSAkdiA9ICQyOworIAkJCSR2ID1+IHMvXHMrLyAvZzsJIyBNZXJnZSBtdWx0aXBsZSBzcGFjZXMKK0BAIC0yODYxLDEyICsyODYyLDIwIEBAIHN1YiBpbml0aWFsaXplX2NwdV9saXN0CisgCXB1c2ggQGNwdSwgJGVudHJ5IGlmIHNjYWxhciBrZXlzKCV7JGVudHJ5fSk7ICMgTGFzdCBlbnRyeQorIH0KKyAKKysjIFRoZSBmaWVsZCAnbW9kZWwgbmFtZScgaXMgZm9yIEFSTS4KKysjIFRoZSBmaWVsZCAnY3B1JyBpcyBmb3IgcHBjLgorIHN1YiBwcmludF9jcHVfaW5mbworIHsKKyAJbXkgJGNwdSA9ICRjcHVbMF07CisgCWlmICggJGNwdS0+eydtb2RlbCBuYW1lJ30gJiYgJGNwdS0+eydjcHUgZmFtaWx5J30gJiYgJGNwdS0+e21vZGVsfSAmJiAkY3B1LT57c3RlcHBpbmd9ICkgeworIAkJcHJpbnQgIiMgUHJvY2Vzc29yOiAkY3B1LT57J21vZGVsIG5hbWUnfSAoJGNwdS0+eydjcHUgZmFtaWx5J30vJGNwdS0+e21vZGVsfS8kY3B1LT57c3RlcHBpbmd9KVxuIjsKKyAJfQorKwllbHNpZiAoICRjcHUtPnsnbW9kZWwgbmFtZSd9ICkgeworKwkJcHJpbnQgIiMgUHJvY2Vzc29yOiAkY3B1LT57J21vZGVsIG5hbWUnfVxuIjsKKysJfQorKwllbHNpZiAoICRjcHUtPnsnY3B1J30gJiYgJGNwdS0+eydyZXZpc2lvbid9ICkgeworKwkJcHJpbnQgIiMgUHJvY2Vzc29yOiAkY3B1LT57J2NwdSd9ICRjcHUtPnsncmV2aXNpb24nfVxuIjsKKysJfQorIAllbHNlIHsKKyAJCXByaW50ICIjIFByb2Nlc3NvcjogVGhlcmUgaXNuJ3QgZW5vdWdoIGNwdSBpbmZvIGZvciB0aGlzIGFyY2ghISFcbiI7CisgCX0KKy0tIAorMi44LjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9sbV9zZW5zb3JzL2xtc2Vuc29yc18zLjQuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvbG1fc2Vuc29ycy9sbXNlbnNvcnNfMy40LjAuYmIKaW5kZXggZmZhYjVkNi4uNGRiZWY3MyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9sbV9zZW5zb3JzL2xtc2Vuc29yc18zLjQuMC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2xtX3NlbnNvcnMvbG1zZW5zb3JzXzMuNC4wLmJiCkBAIC0xMiw2ICsxMiw3IEBACiAgICAgICAgICAgIGZpbGU6Ly9zZW5zb3JkLmluaXQgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1sbXNlbnNvcnMtc2Vuc29ycy1kZXRlY3QtcHJpbnQtYS1zcGVjaWFsLW1lc3NhZ2Utd2hlLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtcHJvZy1Eby1ub3QtbGltaXQtc3lzLWlvLmgtaGVhZGVyLWluY2x1ZGUtdG8tanVzdC1nbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxtLXNlbnNvcnMtZml4LXNlbnNvcnMtZGV0ZWN0LWNhbi10LXJlYWQtdGhlLWNwdS1pbmYucGF0Y2ggXAogIgogU1JDX1VSSVttZDVzdW1dID0gIjFlOWYxMTdjYmZhMTFiZTE5NTVhZGM5NmRmNzFlYWRiIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gImUzMzRjMWMyYjA2ZjcyOTBlM2U2NmJkYWUzMzBhNWQzNjA1NDcwMWZmZDQ3YTVkZGU3YTA2ZjlhNzQwMmNiNGUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2hvc3RhcGQvaG9zdGFwZC9kZWZjb25maWcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2hvc3RhcGQvaG9zdGFwZC9kZWZjb25maWcKaW5kZXggMjc4OTY0MC4uYTYyYmVjNCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ob3N0YXBkL2hvc3RhcGQvZGVmY29uZmlnCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaG9zdGFwZC9ob3N0YXBkL2RlZmNvbmZpZwpAQCAtMTM5LDYgKzEzOSw5IEBACiAjIElFRUUgODAyLjExbiAoSGlnaCBUaHJvdWdocHV0KSBzdXBwb3J0CiBDT05GSUdfSUVFRTgwMjExTj15CiAKKyMgSUVFRSA4MDIuMTFhYyAoVmVyeSBIaWdoIFRocm91Z2hwdXQpIHN1cHBvcnQKK0NPTkZJR19JRUVFODAyMTFBQz15CisKICMgUmVtb3ZlIGRlYnVnZ2luZyBjb2RlIHRoYXQgaXMgcHJpbnRpbmcgb3V0IGRlYnVnIG1lc3NhZ2VzIHRvIHN0ZG91dC4KICMgVGhpcyBjYW4gYmUgdXNlZCB0byByZWR1Y2UgdGhlIHNpemUgb2YgdGhlIGhvc3RhcGQgY29uc2lkZXJhYmx5IGlmIGRlYnVnZ2luZwogIyBjb2RlIGlzIG5vdCBuZWVkZWQuCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2lyc3NpL2lyc3NpXzEuMC40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pcnNzaS9pcnNzaV8xLjAuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTBiMDRiYi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2lyc3NpL2lyc3NpXzEuMC40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotU1VNTUFSWSA9ICJuY3Vyc2VzIElSQyBjbGllbnQiCi1ERVNDUklQVElPTiA9ICJJcnNzaSBpcyBhbiBuY3Vyc2VzIElSQyBjbGllbnQiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTVmZGMxMTEzMzA2MTY3ZDZlYTI1NjE0MDRjZTAyZjgiCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAgbmN1cnNlcyBvcGVuc3NsIgotCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS8ke0JQTn0vJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci54eiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI0NmQ0YWMyYTdhYjQ3MmU1ZGM4MDBlNWQ3YmQ5YTg3OSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiODVjMDdkYmFmZTE3ODIxM2VjY2RjNjlmNWY4ZjBhYzAyNGRlYTAxYzY3MjQ0NjY4ZjkxZWMxYzA2Yjk4NmNhIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotRVhUUkFfT0VDT05GICs9ICItLXdpdGgtdGV4dHVpIFwKLSAgICAgICAgICAgICAgICAgLS13aXRoLXByb3h5IFwKLSAgICAgICAgICAgICAgICAgLS13aXRoLWJvdCBcCi0gICAgICAgICAgICAgICAgIC0td2l0aC1wZXJsPW5vIFwKLSAgICAgICAgICAgICAgICAgLS1lbmFibGUtdHJ1ZS1jb2xvciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXJzc2kvaXJzc2lfMS4xLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2lyc3NpL2lyc3NpXzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyODY3ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2lyc3NpL2lyc3NpXzEuMS4yLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAibmN1cnNlcyBJUkMgY2xpZW50IgorREVTQ1JJUFRJT04gPSAiSXJzc2kgaXMgYW4gbmN1cnNlcyBJUkMgY2xpZW50IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1ZmRjMTExMzMwNjE2N2Q2ZWEyNTYxNDA0Y2UwMmY4IgorCitERVBFTkRTID0gImdsaWItMi4wIG5jdXJzZXMgb3BlbnNzbCIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vJHtCUE59LyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke1BWfS8ke0JQfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiMjcxZDJmZDg3NWNkZGQzNDUyNjIzNGQ4YTc2NmQ4MmMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWNjYzJiODlhMzk0ZTkxYmVhMGFhODNhOTUxYzNiMWQ0NzFjNzZkYTg3YjQxNjllYzQzNTUzMGEzMWJmOTczMiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiArPSAiLS13aXRoLXRleHR1aSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1wcm94eSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1ib3QgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtcGVybD1ubyBcCisgICAgICAgICAgICAgICAgIC0tZW5hYmxlLXRydWUtY29sb3IiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2l3ZC9pd2RfMC4xNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXdkL2l3ZF8wLjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkZmJlZDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2l3ZC9pd2RfMC4xNC5iYgpAQCAtMCwwICsxLDMxIEBACitERVNDUklQVElPTiA9ICJXaXJlbGVzcyBkYWVtb24gZm9yIExpbnV4IgorTElDRU5TRSA9ICJMR1BMLTIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiNTA0YjY3YzUwMzMxZmM3ODczNGZlZDkwZmIwZTA5IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZAorCitERVBFTkRTID0gImVsbCByZWFkbGluZSBkYnVzIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbmV0d29yay93aXJlbGVzcy9pd2QuZ2l0IgorU1JDUkVWID0gImY4NzE1OTk2NGNmOGZkOWY4NWIwNjk5ZDUwZTRhMDUxZDRmN2M5NDgiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsIGQpfSIKK1BBQ0tBR0VDT05GSUdbd2lyZWRdID0gIi0tZW5hYmxlLXdpcmVkLC0tZGlzYWJsZS13aXJlZCIKK1BBQ0tBR0VDT05GSUdbb2Zvbm9dID0gIi0tZW5hYmxlLW9mb25vLC0tZGlzYWJsZS1vZm9ubyIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWQtdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LC0tZGlzYWJsZS1zeXN0ZW1kLXNlcnZpY2Usc3lzdGVtZCIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1leHRlcm5hbC1lbGwiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICBta2RpciAtcCAke1N9L2J1aWxkLWF1eAorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBta2RpciAtLXBhcmVudHMgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsIC1tNjQ0ICR7U30vZG9jLyoudHh0ICR7RH0ke2RvY2Rpcn0vJHtCUE59Cit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMSIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIml3ZC5zZXJ2aWNlICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3dpcmVkJywgJ2VhZC5zZXJ2aWNlJywgJycsIGQpfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1XzEuMTYuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1XzEuMTYuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTE3NDhjYi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNV8xLjE2LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxODggKzAsMCBAQAotU1VNTUFSWSA9ICJBIG5ldHdvcmsgYXV0aGVudGljYXRpb24gcHJvdG9jb2wiCi1ERVNDUklQVElPTiA9ICJLZXJiZXJvcyBpcyBhIHN5c3RlbSBmb3IgYXV0aGVudGljYXRpbmcgdXNlcnMgYW5kIHNlcnZpY2VzIG9uIGEgbmV0d29yay4gXAotIEtlcmJlcm9zIGlzIGEgdHJ1c3RlZCB0aGlyZC1wYXJ0eSBzZXJ2aWNlLiAgVGhhdCBtZWFucyB0aGF0IHRoZXJlIGlzIGEgXAotIHRoaXJkIHBhcnR5ICh0aGUgS2VyYmVyb3Mgc2VydmVyKSB0aGF0IGlzIHRydXN0ZWQgYnkgYWxsIHRoZSBlbnRpdGllcyBvbiBcCi0gdGhlIG5ldHdvcmsgKHVzZXJzIGFuZCBzZXJ2aWNlcywgdXN1YWxseSBjYWxsZWQgInByaW5jaXBhbHMiKS4gXAotIC4gXAotIFRoaXMgaXMgdGhlIE1JVCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gb2YgS2VyYmVyb3MgVjUuIFwKLSAuIFwKLSBUaGlzIHBhY2thZ2UgY29udGFpbnMgdGhlIEtlcmJlcm9zIGtleSBzZXJ2ZXIgKEtEQykuICBUaGUgS0RDIG1hbmFnZXMgYWxsIFwKLSBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyBmb3IgYSBLZXJiZXJvcyByZWFsbSwgaG9sZHMgdGhlIG1hc3RlciBrZXlzIFwKLSBmb3IgdGhlIHJlYWxtLCBhbmQgcmVzcG9uZHMgdG8gYXV0aGVudGljYXRpb24gcmVxdWVzdHMuICBUaGlzIHBhY2thZ2UgXAotIHNob3VsZCBiZSBpbnN0YWxsZWQgb24gYm90aCBtYXN0ZXIgYW5kIHNsYXZlIEtEQ3MuIgotCi1IT01FUEFHRSA9ICJodHRwOi8vd2ViLm1pdC5lZHUvS2VyYmVyb3MvIgotU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7U30vLi4vTk9USUNFO21kNT03Zjk1YmMzZDhkMDM1MWFhNDgxZDU2ZDVlOWRlMjBjMyIKLURFUEVORFMgPSAiYmlzb24tbmF0aXZlIG5jdXJzZXMgdXRpbC1saW51eCBlMmZzcHJvZ3MgZTJmc3Byb2dzLW5hdGl2ZSBvcGVuc3NsIgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgYmluY29uZmlnIHBlcmxuYXRpdmUgc3lzdGVtZCB1cGRhdGUtcmMuZAotCi1TSFJUX1ZFUiA9ICIke0BvZS51dGlscy50cmltX3ZlcnNpb24oIiR7UFZ9IiwgMil9IgotU1JDX1VSSSA9ICJodHRwOi8vd2ViLm1pdC5lZHUva2VyYmVyb3MvZGlzdC8ke0JQTn0vJHtTSFJUX1ZFUn0vJHtCUH0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtYWNsb2NhbC1BZGQtcGFyYW1ldGVyLXRvLWRpc2FibGUta2V5dXRpbHMtZGV0ZWN0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2RlYmlhbi1zdXBwcmVzcy11c3ItbGliLWluLWtyYjUtY29uZmlnLnBhdGNoO3N0cmlwbGV2ZWw9MiBcCi0gICAgICAgICAgIGZpbGU6Ly9jcm9zc2NvbXBpbGVfbm0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZXRjL2luaXQuZC9rcmI1LWtkYyBcCi0gICAgICAgICAgIGZpbGU6Ly9ldGMvaW5pdC5kL2tyYjUtYWRtaW4tc2VydmVyIFwKLSAgICAgICAgICAgZmlsZTovL2V0Yy9kZWZhdWx0L2tyYjUta2RjIFwKLSAgICAgICAgICAgZmlsZTovL2V0Yy9kZWZhdWx0L2tyYjUtYWRtaW4tc2VydmVyIFwKLSAgICAgICAgICAgZmlsZTovL2tyYjUta2RjLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8va3JiNS1hZG1pbi1zZXJ2ZXIuc2VydmljZSBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiODQ4ZTliODBkNmFhYWE3OThlM2YzZGYyNGI4M2M0MDciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjE0ZmZlMzk0ZTNhZDBjNzMwNTY0MDc0ZWM0NGYxZGExMTkxNTlkOTQyODFiYmVjNTQxZGMyOTE2OGQyMTExNyIKLQotQ1ZFX1BST0RVQ1QgPSAia2VyYmVyb3MiCi0KLVMgPSAiJHtXT1JLRElSfS8ke0JQfS9zcmMiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHW2xpYmVkaXRdID0gIi0td2l0aC1saWJlZGl0LC0td2l0aG91dC1saWJlZGl0LGxpYmVkaXQiCi1QQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1jcnlwdG8taW1wbD1vcGVuc3NsLCxvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1trZXl1dGlsc10gPSAiLS1lbmFibGUta2V5dXRpbHMsLS1kaXNhYmxlLWtleXV0aWxzLGtleXV0aWxzIgotUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLXdpdGgtbGRhcCwtLXdpdGhvdXQtbGRhcCxvcGVubGRhcCIKLVBBQ0tBR0VDT05GSUdbcmVhZGxpbmVdID0gIi0td2l0aC1yZWFkbGluZSwtLXdpdGhvdXQtcmVhZGxpbmUscmVhZGxpbmUiCi0KLUVYVFJBX09FQ09ORiArPSAiIC0td2l0aG91dC10Y2wgLS13aXRoLXN5c3RlbS1ldCAtLWRpc2FibGUtcnBhdGgiCi1DQUNIRURfQ09ORklHVVJFVkFSUyArPSAia3JiNV9jdl9hdHRyX2NvbnN0cnVjdG9yX2Rlc3RydWN0b3I9eWVzIGFjX2N2X2Z1bmNfcmVnY29tcD15ZXMgXAotICAgICAgICAgICAgICAgICAgYWNfY3ZfcHJpbnRmX3Bvc2l0aW9uYWw9eWVzIGFjX2N2X2ZpbGVfX2V0Y19lbnZpcm9ubWVudD15ZXMgXAotICAgICAgICAgICAgICAgICAgYWNfY3ZfZmlsZV9fZXRjX1RJTUVaT05FPW5vIgotCi1DRkxBR1NfYXBwZW5kID0gIiAtZlBJQyAtRERFU1RSVUNUT1JfQVRUUl9XT1JLUz0xIC1JJHtTVEFHSU5HX0lOQ0RJUn0vZXQiCi1DRkxBR1NfYXBwZW5kX3Jpc2N2NjQgPSAiIC1EX1JFRU5UUkFOVCAtcHRocmVhZCIKLUxERkxBR1NfYXBwZW5kID0gIiAtcHRocmVhZCIKLQotZG9fY29uZmlndXJlKCkgewotICAgIGdudS1jb25maWdpemUgLS1mb3JjZQotICAgIGF1dG9yZWNvbmYKLSAgICBvZV9ydW5jb25mCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIHJtIC1yZiAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vcnVuCi0gICAgcm0gLWYgJHtEfSR7YmluZGlyfS9zY2xpZW50Ci0gICAgcm0gLWYgJHtEfSR7YmluZGlyfS9zaW1fY2xpZW50Ci0gICAgcm0gLWYgJHtEfSR7YmluZGlyfS91dWNsaWVudAotICAgIHJtIC1mICR7RH0ke3NiaW5kaXJ9L2tyYjUtc2VuZC1wcgotICAgIHJtIC1mICR7RH0ke3NiaW5kaXJ9L3NpbV9zZXJ2ZXIKLSAgICBybSAtZiAke0R9JHtzYmluZGlyfS9zc2VydmVyCi0gICAgcm0gLWYgJHtEfSR7c2JpbmRpcn0vdXVzZXJ2ZXIKLQotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBta2RpciAtcCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0Ci0gICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2V0Yy9pbml0LmQvKiAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCi0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2V0Yy9kZWZhdWx0LyogJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKLQotICAgICAgICBta2RpciAtcCAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKLSAgICAgICAgZWNobyAiZCByb290IHJvb3QgMDc1NSAke2xvY2Fsc3RhdGVkaXJ9L3J1bi9rcmI1a2RjIG5vbmUiIFwKLSAgICAgICAgICAgICAgPiAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy84N19rcmI1Ci0KLSAgICAgICAgZWNobyAiUlVOX0tBRE1JTkQ9dHJ1ZSIgPj4gJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQva3JiNS1hZG1pbi1zZXJ2ZXIKLSAgICBmaQotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAotICAgICAgICBlY2hvICJkIC9ydW4va3JiNWtkYyAtIC0gLSAtIiBcCi0gICAgICAgICAgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9rcmI1LmNvbmYKLQotICAgICAgICBta2RpciAtcCAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdAotICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ldGMvZGVmYXVsdC8qICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0Ci0KLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQotICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9rcmI1LWFkbWluLXNlcnZlci5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9Ci0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2tyYjUta2RjLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KLSAgICBmaQotfQotCi1QQUNLQUdFUyA9KyAiJHtQTn0tYWRtaW4tc2VydmVyIFwKLSAgICAgICAgICAgICAke1BOfS1nc3Mtc2FtcGxlcyBcCi0gICAgICAgICAgICAgJHtQTn0tazV0bHMgXAotICAgICAgICAgICAgICR7UE59LWtkYyBcCi0gICAgICAgICAgICAgJHtQTn0ta2RjLWxkYXAgXAotICAgICAgICAgICAgICR7UE59LWtwcm9wZCBcCi0gICAgICAgICAgICAgJHtQTn0tb3RwIFwKLSAgICAgICAgICAgICAke1BOfS1wa2luaXQgXAotICAgICAgICAgICAgICR7UE59LXVzZXIgXAotICAgICAgICAgICAgIGxpYmdzc2FwaS1rcmI1IFwKLSAgICAgICAgICAgICBsaWJnc3NycGMgXAotICAgICAgICAgICAgIGxpYms1Y3J5cHRvIFwKLSAgICAgICAgICAgICBsaWJrYWRtNWNsbnQtbWl0IFwKLSAgICAgICAgICAgICBsaWJrYWRtNXNydi1taXQgXAotICAgICAgICAgICAgIGxpYmtkYjUgXAotICAgICAgICAgICAgIGxpYmtyYWQgXAotICAgICAgICAgICAgIGxpYmtyYjUgXAotICAgICAgICAgICAgIGxpYmtyYjVzdXBwb3J0IFwKLSAgICAgICAgICAgICBsaWJ2ZXJ0byIKLQotRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9wcmVhdXRoL3Rlc3Quc28iCi1GSUxFU18ke1BOfS1kb2MgKz0gIiR7ZGF0YWRpcn0vZXhhbXBsZXMiCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9rcmI1L3BsdWdpbnMvKi8uZGVidWciCi0KLUZJTEVTXyR7UE59LWFkbWluLXNlcnZlciA9ICIke3NiaW5kaXJ9L2thZG1pbi5sb2NhbCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9rYWRtaW5kIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2twcm9wIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2RlZmF1bHQva3JiNS1hZG1pbi1zZXJ2ZXIgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL2tyYjUtYWRtaW4tc2VydmVyIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2tyYjUtYWRtaW4tc2VydmVyLnNlcnZpY2UiCi0KLUZJTEVTXyR7UE59LWdzcy1zYW1wbGVzID0gIiR7YmluZGlyfS9nc3MtY2xpZW50IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c2JpbmRpcn0vZ3NzLXNlcnZlciIKLQotRklMRVNfJHtQTn0tazV0bHMgPSAiJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy90bHMvazV0bHMuc28iCi0KLUZJTEVTXyR7UE59LWtkYyA9ICIke2xpYmRpcn0va3JiNS9wbHVnaW5zL2tkYi9kYjIuc28gXAotICAgICAgICAgICAgICAgICAgICR7bG9jYWxzdGF0ZWRpcn0va3JiNWtkYyBcCi0gICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9rZGI1X3V0aWwgXAotICAgICAgICAgICAgICAgICAgICR7c2JpbmRpcn0va3Byb3Bsb2cgXAotICAgICAgICAgICAgICAgICAgICR7c2JpbmRpcn0va3JiNWtkYyBcCi0gICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9kZWZhdWx0L2tyYjUta2RjIFwKLSAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzg3X2tyYjUgXAotICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL2tyYjUta2RjIFwKLSAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQva3JiNS5jb25mIFwKLSAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2tyYjUta2RjLnNlcnZpY2UiCi0KLUZJTEVTXyR7UE59LWtkYy1sZGFwID0gIiR7bGliZGlyfS9rcmI1L2xpYmtkYl9sZGFwJHtTT0xJQlN9IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9rcmI1L3BsdWdpbnMva2RiL2tsZGFwLnNvIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7c2JpbmRpcn0va2RiNV9sZGFwX3V0aWwiCi0KLUZJTEVTXyR7UE59LWtwcm9wZCA9ICIke3NiaW5kaXJ9L2twcm9wZCIKLUZJTEVTXyR7UE59LW90cCA9ICIke2xpYmRpcn0va3JiNS9wbHVnaW5zL3ByZWF1dGgvb3RwLnNvIgotRklMRVNfJHtQTn0tcGtpbml0ID0gIiR7bGliZGlyfS9rcmI1L3BsdWdpbnMvcHJlYXV0aC9wa2luaXQuc28iCi1GSUxFU18ke1BOfS11c2VyID0gIiR7YmluZGlyfS9rKiIKLQotRklMRVNfbGliZ3NzYXBpLWtyYjUgPSAiJHtsaWJkaXJ9L2xpYmdzc2FwaV9rcmI1JHtTT0xJQlN9IgotRklMRVNfbGliZ3NzcnBjID0gIiR7bGliZGlyfS9saWJnc3NycGMke1NPTElCU30iCi1GSUxFU19saWJrNWNyeXB0byA9ICIke2xpYmRpcn0vbGliazVjcnlwdG8ke1NPTElCU30iCi1GSUxFU19saWJrYWRtNWNsbnQtbWl0ID0gIiR7bGliZGlyfS9saWJrYWRtNWNsbnRfbWl0JHtTT0xJQlN9IgotRklMRVNfbGlia2FkbTVzcnYtbWl0ID0gIiR7bGliZGlyfS9saWJrYWRtNXNydl9taXQke1NPTElCU30iCi1GSUxFU19saWJrZGI1ID0gIiR7bGliZGlyfS9saWJrZGI1JHtTT0xJQlN9IgotRklMRVNfbGlia3JhZCA9ICIke2xpYmRpcn0vbGlia3JhZCR7U09MSUJTfSIKLUZJTEVTX2xpYmtyYjUgPSAiJHtsaWJkaXJ9L2xpYmtyYjUke1NPTElCU30gXAotICAgICAgICAgICAgICAgICAke2xpYmRpcn0va3JiNS9wbHVnaW5zL2F1dGhkYXRhIFwKLSAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9saWJrcmI1IgotRklMRVNfbGlia3JiNXN1cHBvcnQgPSAiJHtsaWJkaXJ9L2xpYmtyYjVzdXBwb3J0JHtTT0xJQlN9IgotRklMRVNfbGlidmVydG8gPSAiJHtsaWJkaXJ9L2xpYnZlcnRvJHtTT0xJQlN9IgotCi1SREVQRU5EU18ke1BOfS1rYWRtaW4tc2VydmVyID0gIiR7UE59LWtkYyIKLVJERVBFTkRTXyR7UE59LWtwcm9wZCA9ICIke1BOfS1rZGMiCi0KLUlOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0tYWRtaW4tc2VydmVyICR7UE59LWtkYyIKLUlOSVRTQ1JJUFRfTkFNRV8ke1BOfS1hZG1pbi1zZXJ2ZXIgPSAia3JiNS1hZG1pbi1zZXJ2ZXIiCi1JTklUU0NSSVBUX05BTUVfJHtQTn0ta2RjID0gImtyYjUta2RjIgotCi1TWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59LWFkbWluLXNlcnZlciAke1BOfS1rZGMiCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0tYWRtaW4tc2VydmVyID0gImtyYjUtYWRtaW4tc2VydmVyLnNlcnZpY2UiCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0ta2RjID0gImtyYjUta2RjLnNlcnZpY2UiCi0KLXBrZ19wb3N0aW5zdF8ke1BOfS1rZGMgKCkgewotICAgIGlmIFsgLXogIiREIiBdOyB0aGVuCi0gICAgICAgIGlmIGNvbW1hbmQgLXYgc3lzdGVtZC10bXBmaWxlcyA+L2Rldi9udWxsOyB0aGVuCi0gICAgICAgICAgICBzeXN0ZW1kLXRtcGZpbGVzIC0tY3JlYXRlICR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9rcmI1LmNvbmYKLSAgICAgICAgZWxpZiBbIC1lICR7c3lzY29uZmRpcn0vaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIF07IHRoZW4KLSAgICAgICAgICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIHVwZGF0ZQotICAgICAgICBmaQotICAgIGZpCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1XzEuMTcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNV8xLjE3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyN2E0YWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNV8xLjE3LmJiCkBAIC0wLDAgKzEsMTkyIEBACitTVU1NQVJZID0gIkEgbmV0d29yayBhdXRoZW50aWNhdGlvbiBwcm90b2NvbCIKK0RFU0NSSVBUSU9OID0gIktlcmJlcm9zIGlzIGEgc3lzdGVtIGZvciBhdXRoZW50aWNhdGluZyB1c2VycyBhbmQgc2VydmljZXMgb24gYSBuZXR3b3JrLiBcCisgS2VyYmVyb3MgaXMgYSB0cnVzdGVkIHRoaXJkLXBhcnR5IHNlcnZpY2UuICBUaGF0IG1lYW5zIHRoYXQgdGhlcmUgaXMgYSBcCisgdGhpcmQgcGFydHkgKHRoZSBLZXJiZXJvcyBzZXJ2ZXIpIHRoYXQgaXMgdHJ1c3RlZCBieSBhbGwgdGhlIGVudGl0aWVzIG9uIFwKKyB0aGUgbmV0d29yayAodXNlcnMgYW5kIHNlcnZpY2VzLCB1c3VhbGx5IGNhbGxlZCAicHJpbmNpcGFscyIpLiBcCisgLiBcCisgVGhpcyBpcyB0aGUgTUlUIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBvZiBLZXJiZXJvcyBWNS4gXAorIC4gXAorIFRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgS2VyYmVyb3Mga2V5IHNlcnZlciAoS0RDKS4gIFRoZSBLREMgbWFuYWdlcyBhbGwgXAorIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIGZvciBhIEtlcmJlcm9zIHJlYWxtLCBob2xkcyB0aGUgbWFzdGVyIGtleXMgXAorIGZvciB0aGUgcmVhbG0sIGFuZCByZXNwb25kcyB0byBhdXRoZW50aWNhdGlvbiByZXF1ZXN0cy4gIFRoaXMgcGFja2FnZSBcCisgc2hvdWxkIGJlIGluc3RhbGxlZCBvbiBib3RoIG1hc3RlciBhbmQgc2xhdmUgS0RDcy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93ZWIubWl0LmVkdS9LZXJiZXJvcy8iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtTfS8uLi9OT1RJQ0U7bWQ1PWFmZjU0MWU3MjYxZjE5MjZhYzZhMmE5YTdiYmFiODM5IgorREVQRU5EUyA9ICJiaXNvbi1uYXRpdmUgbmN1cnNlcyB1dGlsLWxpbnV4IGUyZnNwcm9ncyBlMmZzcHJvZ3MtbmF0aXZlIG9wZW5zc2wiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBiaW5jb25maWcgcGVybG5hdGl2ZSBzeXN0ZW1kIHVwZGF0ZS1yYy5kCisKK1NIUlRfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCitTUkNfVVJJID0gImh0dHA6Ly93ZWIubWl0LmVkdS9rZXJiZXJvcy9kaXN0LyR7QlBOfS8ke1NIUlRfVkVSfS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hY2xvY2FsLUFkZC1wYXJhbWV0ZXItdG8tZGlzYWJsZS1rZXl1dGlscy1kZXRlY3Rpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGViaWFuLXN1cHByZXNzLXVzci1saWItaW4ta3JiNS1jb25maWcucGF0Y2g7c3RyaXBsZXZlbD0yIFwKKyAgICAgICAgICAgZmlsZTovL2Nyb3NzY29tcGlsZV9ubS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ldGMvaW5pdC5kL2tyYjUta2RjIFwKKyAgICAgICAgICAgZmlsZTovL2V0Yy9pbml0LmQva3JiNS1hZG1pbi1zZXJ2ZXIgXAorICAgICAgICAgICBmaWxlOi8vZXRjL2RlZmF1bHQva3JiNS1rZGMgXAorICAgICAgICAgICBmaWxlOi8vZXRjL2RlZmF1bHQva3JiNS1hZG1pbi1zZXJ2ZXIgXAorICAgICAgICAgICBmaWxlOi8va3JiNS1rZGMuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9rcmI1LWFkbWluLXNlcnZlci5zZXJ2aWNlIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzYjcyOWQ4OWViNDQxMTUwZTE0Njc4MGM0MTM4NDgxYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1YTZlMjI4NGE1M2RlNTcwMmQzZGMyYmUzYjkzMzljOTYzZjliNTM5N2QzZmJiYzUzYmViMjQ5MzgwYTc4MWY1IgorCitDVkVfUFJPRFVDVCA9ICJrZXJiZXJvcyIKK0NWRV9WRVJTSU9OID0gIjUtJHtQVn0iCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQfS9zcmMiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJwa2luaXQiCitQQUNLQUdFQ09ORklHW2xpYmVkaXRdID0gIi0td2l0aC1saWJlZGl0LC0td2l0aG91dC1saWJlZGl0LGxpYmVkaXQiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1jcnlwdG8taW1wbD1vcGVuc3NsLCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1trZXl1dGlsc10gPSAiLS1lbmFibGUta2V5dXRpbHMsLS1kaXNhYmxlLWtleXV0aWxzLGtleXV0aWxzIgorUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLXdpdGgtbGRhcCwtLXdpdGhvdXQtbGRhcCxvcGVubGRhcCIKK1BBQ0tBR0VDT05GSUdbcmVhZGxpbmVdID0gIi0td2l0aC1yZWFkbGluZSwtLXdpdGhvdXQtcmVhZGxpbmUscmVhZGxpbmUiCitQQUNLQUdFQ09ORklHW3BraW5pdF0gPSAiLS1lbmFibGUtcGtpbml0LCAtLWRpc2FibGUtcGtpbml0IgorCitFWFRSQV9PRUNPTkYgKz0gIiAtLXdpdGhvdXQtdGNsIC0td2l0aC1zeXN0ZW0tZXQgLS1kaXNhYmxlLXJwYXRoIgorQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImtyYjVfY3ZfYXR0cl9jb25zdHJ1Y3Rvcl9kZXN0cnVjdG9yPXllcyBhY19jdl9mdW5jX3JlZ2NvbXA9eWVzIFwKKyAgICAgICAgICAgICAgICAgIGFjX2N2X3ByaW50Zl9wb3NpdGlvbmFsPXllcyBhY19jdl9maWxlX19ldGNfZW52aXJvbm1lbnQ9eWVzIFwKKyAgICAgICAgICAgICAgICAgIGFjX2N2X2ZpbGVfX2V0Y19USU1FWk9ORT1ubyIKKworQ0ZMQUdTX2FwcGVuZCA9ICIgLWZQSUMgLURERVNUUlVDVE9SX0FUVFJfV09SS1M9MSAtSSR7U1RBR0lOR19JTkNESVJ9L2V0IgorQ0ZMQUdTX2FwcGVuZF9yaXNjdjY0ID0gIiAtRF9SRUVOVFJBTlQgLXB0aHJlYWQiCitMREZMQUdTX2FwcGVuZCA9ICIgLXB0aHJlYWQiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBnbnUtY29uZmlnaXplIC0tZm9yY2UKKyAgICBhdXRvcmVjb25mCisgICAgb2VfcnVuY29uZgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBybSAtcmYgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L3J1bgorICAgIHJtIC1mICR7RH0ke2JpbmRpcn0vc2NsaWVudAorICAgIHJtIC1mICR7RH0ke2JpbmRpcn0vc2ltX2NsaWVudAorICAgIHJtIC1mICR7RH0ke2JpbmRpcn0vdXVjbGllbnQKKyAgICBybSAtZiAke0R9JHtzYmluZGlyfS9rcmI1LXNlbmQtcHIKKyAgICBybSAtZiAke0R9JHtzYmluZGlyfS9zaW1fc2VydmVyCisgICAgcm0gLWYgJHtEfSR7c2JpbmRpcn0vc3NlcnZlcgorICAgIHJtIC1mICR7RH0ke3NiaW5kaXJ9L3V1c2VydmVyCisKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgbWtkaXIgLXAgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZCAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdAorICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9ldGMvaW5pdC5kLyogJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ldGMvZGVmYXVsdC8qICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0CisKKyAgICAgICAgbWtkaXIgLXAgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisgICAgICAgIGVjaG8gImQgcm9vdCByb290IDA3NTUgJHtsb2NhbHN0YXRlZGlyfS9ydW4va3JiNWtkYyBub25lIiBcCisgICAgICAgICAgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvODdfa3JiNQorCisgICAgICAgIGVjaG8gIlJVTl9LQURNSU5EPXRydWUiID4+ICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0L2tyYjUtYWRtaW4tc2VydmVyCisgICAgZmkKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKyAgICAgICAgZWNobyAiZCAvcnVuL2tyYjVrZGMgLSAtIC0gLSIgXAorICAgICAgICAgICAgICA+ICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQva3JiNS5jb25mCisKKyAgICAgICAgbWtkaXIgLXAgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZXRjL2RlZmF1bHQvKiAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdAorCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0va3JiNS1hZG1pbi1zZXJ2ZXIuc2VydmljZSAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9rcmI1LWtkYy5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9CisgICAgZmkKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LWFkbWluLXNlcnZlciBcCisgICAgICAgICAgICAgJHtQTn0tZ3NzLXNhbXBsZXMgXAorICAgICAgICAgICAgICR7UE59LWs1dGxzIFwKKyAgICAgICAgICAgICAke1BOfS1rZGMgXAorICAgICAgICAgICAgICR7UE59LWtkYy1sZGFwIFwKKyAgICAgICAgICAgICAke1BOfS1rcHJvcGQgXAorICAgICAgICAgICAgICR7UE59LW90cCBcCisgICAgICAgICAgICAgJHtQTn0tcGtpbml0IFwKKyAgICAgICAgICAgICAke1BOfS1zcGFrZSBcCisgICAgICAgICAgICAgJHtQTn0tdXNlciBcCisgICAgICAgICAgICAgbGliZ3NzYXBpLWtyYjUgXAorICAgICAgICAgICAgIGxpYmdzc3JwYyBcCisgICAgICAgICAgICAgbGliazVjcnlwdG8gXAorICAgICAgICAgICAgIGxpYmthZG01Y2xudC1taXQgXAorICAgICAgICAgICAgIGxpYmthZG01c3J2LW1pdCBcCisgICAgICAgICAgICAgbGlia2RiNSBcCisgICAgICAgICAgICAgbGlia3JhZCBcCisgICAgICAgICAgICAgbGlia3JiNSBcCisgICAgICAgICAgICAgbGlia3JiNXN1cHBvcnQgXAorICAgICAgICAgICAgIGxpYnZlcnRvIgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0va3JiNS9wbHVnaW5zL3ByZWF1dGgvdGVzdC5zbyIKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS9leGFtcGxlcyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy8qLy5kZWJ1ZyIKKworRklMRVNfJHtQTn0tYWRtaW4tc2VydmVyID0gIiR7c2JpbmRpcn0va2FkbWluLmxvY2FsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2thZG1pbmQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c2JpbmRpcn0va3Byb3AgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGVmYXVsdC9rcmI1LWFkbWluLXNlcnZlciBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQva3JiNS1hZG1pbi1zZXJ2ZXIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0va3JiNS1hZG1pbi1zZXJ2ZXIuc2VydmljZSIKKworRklMRVNfJHtQTn0tZ3NzLXNhbXBsZXMgPSAiJHtiaW5kaXJ9L2dzcy1jbGllbnQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9nc3Mtc2VydmVyIgorCitGSUxFU18ke1BOfS1rNXRscyA9ICIke2xpYmRpcn0va3JiNS9wbHVnaW5zL3Rscy9rNXRscy5zbyIKKworRklMRVNfJHtQTn0ta2RjID0gIiR7bGliZGlyfS9rcmI1L3BsdWdpbnMva2RiL2RiMi5zbyBcCisgICAgICAgICAgICAgICAgICAgJHtsb2NhbHN0YXRlZGlyfS9rcmI1a2RjIFwKKyAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2tkYjVfdXRpbCBcCisgICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9rcHJvcGxvZyBcCisgICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9rcmI1a2RjIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2RlZmF1bHQva3JiNS1rZGMgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvODdfa3JiNSBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQva3JiNS1rZGMgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9rcmI1LmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0va3JiNS1rZGMuc2VydmljZSIKKworRklMRVNfJHtQTn0ta2RjLWxkYXAgPSAiJHtsaWJkaXJ9L2tyYjUvbGlia2RiX2xkYXAke1NPTElCU30gXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9rZGIva2xkYXAuc28gXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9rZGI1X2xkYXBfdXRpbCIKKworRklMRVNfJHtQTn0ta3Byb3BkID0gIiR7c2JpbmRpcn0va3Byb3BkIgorRklMRVNfJHtQTn0tb3RwID0gIiR7bGliZGlyfS9rcmI1L3BsdWdpbnMvcHJlYXV0aC9vdHAuc28iCitGSUxFU18ke1BOfS1wa2luaXQgPSAiJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9wcmVhdXRoL3BraW5pdC5zbyIKK0ZJTEVTXyR7UE59LXNwYWtlID0gIiR7bGliZGlyfS9rcmI1L3BsdWdpbnMvcHJlYXV0aC9zcGFrZS5zbyIKK0ZJTEVTXyR7UE59LXVzZXIgPSAiJHtiaW5kaXJ9L2sqIgorCitGSUxFU19saWJnc3NhcGkta3JiNSA9ICIke2xpYmRpcn0vbGliZ3NzYXBpX2tyYjUke1NPTElCU30iCitGSUxFU19saWJnc3NycGMgPSAiJHtsaWJkaXJ9L2xpYmdzc3JwYyR7U09MSUJTfSIKK0ZJTEVTX2xpYms1Y3J5cHRvID0gIiR7bGliZGlyfS9saWJrNWNyeXB0byR7U09MSUJTfSIKK0ZJTEVTX2xpYmthZG01Y2xudC1taXQgPSAiJHtsaWJkaXJ9L2xpYmthZG01Y2xudF9taXQke1NPTElCU30iCitGSUxFU19saWJrYWRtNXNydi1taXQgPSAiJHtsaWJkaXJ9L2xpYmthZG01c3J2X21pdCR7U09MSUJTfSIKK0ZJTEVTX2xpYmtkYjUgPSAiJHtsaWJkaXJ9L2xpYmtkYjUke1NPTElCU30iCitGSUxFU19saWJrcmFkID0gIiR7bGliZGlyfS9saWJrcmFkJHtTT0xJQlN9IgorRklMRVNfbGlia3JiNSA9ICIke2xpYmRpcn0vbGlia3JiNSR7U09MSUJTfSBcCisgICAgICAgICAgICAgICAgICR7bGliZGlyfS9rcmI1L3BsdWdpbnMvYXV0aGRhdGEgXAorICAgICAgICAgICAgICAgICAke2xpYmRpcn0va3JiNS9wbHVnaW5zL2xpYmtyYjUiCitGSUxFU19saWJrcmI1c3VwcG9ydCA9ICIke2xpYmRpcn0vbGlia3JiNXN1cHBvcnQke1NPTElCU30iCitGSUxFU19saWJ2ZXJ0byA9ICIke2xpYmRpcn0vbGlidmVydG8ke1NPTElCU30iCisKK1JERVBFTkRTXyR7UE59LWthZG1pbi1zZXJ2ZXIgPSAiJHtQTn0ta2RjIgorUkRFUEVORFNfJHtQTn0ta3Byb3BkID0gIiR7UE59LWtkYyIKKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfS1hZG1pbi1zZXJ2ZXIgJHtQTn0ta2RjIgorSU5JVFNDUklQVF9OQU1FXyR7UE59LWFkbWluLXNlcnZlciA9ICJrcmI1LWFkbWluLXNlcnZlciIKK0lOSVRTQ1JJUFRfTkFNRV8ke1BOfS1rZGMgPSAia3JiNS1rZGMiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0tYWRtaW4tc2VydmVyICR7UE59LWtkYyIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1hZG1pbi1zZXJ2ZXIgPSAia3JiNS1hZG1pbi1zZXJ2ZXIuc2VydmljZSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1rZGMgPSAia3JiNS1rZGMuc2VydmljZSIKKworcGtnX3Bvc3RpbnN0XyR7UE59LWtkYyAoKSB7CisgICAgaWYgWyAteiAiJEQiIF07IHRoZW4KKyAgICAgICAgaWYgY29tbWFuZCAtdiBzeXN0ZW1kLXRtcGZpbGVzID4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgICAgIHN5c3RlbWQtdG1wZmlsZXMgLS1jcmVhdGUgJHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL2tyYjUuY29uZgorICAgICAgICBlbGlmIFsgLWUgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggXTsgdGhlbgorICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCisgICAgICAgIGZpCisgICAgZmkKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJldi9saWJldl80LjI0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJldi9saWJldl80LjI0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTgzOGQzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGliZXYvbGliZXZfNC4yNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLVNVTU1BUlkgPSAiQSBmdWxsLWZlYXR1cmVkIGFuZCBoaWdoLXBlcmZvcm1hbmNlIGV2ZW50IGxvb3AgdGhhdCBpcyBsb29zZWx5IFwKLW1vZGVsbGVkIGFmdGVyIGxpYmV2ZW50LiIKLUhPTUVQQUdFID0gImh0dHA6Ly9zb2Z0d2FyZS5zY2htb3JwLmRlL3BrZy9saWJldi5odG1sIgotTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UgfCBHUEwtMi4wKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWQ2YWQ0MTZhZmQwNDBjOTA2OThlZGNkZjFjYmVlMzQ3IgotCi1TUkNfVVJJID0gImh0dHA6Ly9kaXN0LnNjaG1vcnAuZGUvbGliZXYvQXR0aWMvJHtCUH0udGFyLmd6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOTQ0NTlhNWEyMmRiMDQxZGVjNmY5ODQyNGQ2ZWZlNTQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTczNTkzZDM0NzlhYmRmNjU3Njc0YTU1YWZlNWY3ODYyNGIwZTQ0MDYxNGUyYjhjYjNhMDdmMTZkNGQ3ZjgyMSIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotRVhUUkFfT0VDT05GICs9ICItLXdpdGgtcGljIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICAjIEF2b2lkIGNvbmZsaWN0aW5nIHdpdGggbGliZXZlbnQuIFRoZSBwcm92aWRlZCBjb21wYXRpYmlsaXR5IGxheWVyIGlzCi0gICAgIyBzdGlsbCBiYXNpYyBzbyBkcm9wIGl0IGZvciBub3cuCi0gICAgcm0gJHtEfSR7aW5jbHVkZWRpcn0vZXZlbnQuaAotfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJldi9saWJldl80LjI1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJldi9saWJldl80LjI1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0NTZlNTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmV2L2xpYmV2XzQuMjUuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJBIGZ1bGwtZmVhdHVyZWQgYW5kIGhpZ2gtcGVyZm9ybWFuY2UgZXZlbnQgbG9vcCB0aGF0IGlzIGxvb3NlbHkgXAorbW9kZWxsZWQgYWZ0ZXIgbGliZXZlbnQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvZnR3YXJlLnNjaG1vcnAuZGUvcGtnL2xpYmV2Lmh0bWwiCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSB8IEdQTC0yLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDZhZDQxNmFmZDA0MGM5MDY5OGVkY2RmMWNiZWUzNDciCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rpc3Quc2NobW9ycC5kZS9saWJldi9BdHRpYy8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiOTExZGFmNTY2NTM0Zjc0NTcyNjAxNTczNmEwNGYwNGEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzg3NTdlMWMyNzc3OGQyZjM3OTUyNTFkOWZlMDk3MTVkNTFjZTA0MjI0MTZkYTRhYmIzNGFmMzkyOWMwMjU4OSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGgtcGljIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIEF2b2lkIGNvbmZsaWN0aW5nIHdpdGggbGliZXZlbnQuIFRoZSBwcm92aWRlZCBjb21wYXRpYmlsaXR5IGxheWVyIGlzCisgICAgIyBzdGlsbCBiYXNpYyBzbyBkcm9wIGl0IGZvciBub3cuCisgICAgcm0gJHtEfSR7aW5jbHVkZWRpcn0vZXZlbnQuaAorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJtYmltL2xpYm1iaW0vY2xhbmcucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbS9jbGFuZy5wYXRjaAppbmRleCA5MmU2NTdjLi5kODg1Nzg0IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbS9jbGFuZy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbS9jbGFuZy5wYXRjaApAQCAtNDUsNyArNDUsNyBAQAogIAkJICAgICAgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdzdHJpY3QtcHJvdG90eXBlcyBcCiBAQCAtMTcsMjIgKzM3LDIzIEBAIGlmIHRlc3QgIiRHQ0MiID0gInllcyIgLWEgIiRzZXRfbW9yZV93YXIKICAJCSAgICAgIC1XbWlzc2luZy1pbmNsdWRlLWRpcnMgLVdhZ2dyZWdhdGUtcmV0dXJuIFwKLSAJCSAgICAgIC1XZm9ybWF0LXNlY3VyaXR5OyBkbworIAkJICAgICAgLVdmb3JtYXQtc2VjdXJpdHkgLVd0eXBlLWxpbWl0czsgZG8KICAJCVNBVkVfQ0ZMQUdTPSIkQ0ZMQUdTIgogLQkJQ0ZMQUdTPSIkQ0ZMQUdTICRvcHRpb24iCiArCQlDRkxBR1M9IiRDRkxBR1MgJG9wdGlvbiAkV0VSUk9SIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJtYmltL2xpYm1iaW1fMS4xNi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJtYmltL2xpYm1iaW1fMS4xNi4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MjYwYzBmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibWJpbS9saWJtYmltXzEuMTYuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVNVTU1BUlkgPSAibGlibWJpbSBpcyBsaWJyYXJ5IGZvciB0YWxraW5nIHRvIFdXQU4gZGV2aWNlcyBieSBNQklNIHByb3RvY29sIgotREVTQ1JJUFRJT04gPSAibGlibWJpbSBpcyBhIGdsaWItYmFzZWQgbGlicmFyeSBmb3IgdGFsa2luZyB0byBXV0FOIG1vZGVtcyBhbmQgZGV2aWNlcyB3aGljaCBzcGVhayB0aGUgTW9iaWxlIEludGVyZmFjZSBCcm9hZGJhbmQgTW9kZWwgKE1CSU0pIHByb3RvY29sIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9saWJtYmltLyIKLUxJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiIFwKLSAgICBmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAotIgotCi1ERVBFTkRTID0gImdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSBsaWJndWRldiIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJhc2gtY29tcGxldGlvbgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovL2NsYW5nLnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI3NmVhNGQ4MzgxOTg5OTE5YjFkOWI5MWM4MThmZWQ4MCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJjOGNhNTBiZWVkZGQ0YjQzMzA5ZGY1YjY5ODkxNzI2ODMwM2JmMTc2Y2VhNThmZTRmZTUzZDViZjBlOTNmYWMyIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJtYmltL2xpYm1iaW1fMS4xOC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJtYmltL2xpYm1iaW1fMS4xOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNTlhZDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbV8xLjE4LjAuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJsaWJtYmltIGlzIGxpYnJhcnkgZm9yIHRhbGtpbmcgdG8gV1dBTiBkZXZpY2VzIGJ5IE1CSU0gcHJvdG9jb2wiCitERVNDUklQVElPTiA9ICJsaWJtYmltIGlzIGEgZ2xpYi1iYXNlZCBsaWJyYXJ5IGZvciB0YWxraW5nIHRvIFdXQU4gbW9kZW1zIGFuZCBkZXZpY2VzIHdoaWNoIHNwZWFrIHRoZSBNb2JpbGUgSW50ZXJmYWNlIEJyb2FkYmFuZCBNb2RlbCAoTUJJTSkgcHJvdG9jb2wiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL2xpYm1iaW0vIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCisiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIGxpYmd1ZGV2IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgYmFzaC1jb21wbGV0aW9uCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vY2xhbmcucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjg0MGNkMTMzYmMwZjcxNWE3ZWU0Nzk3ZGQ5YWM1NTYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZjZjQwMTI4ZDgzZDA4Nzk0NmE3ZDg1NzdlNzM1NTI2MjAyZTAzNGQ1MmY5MDA0NzczNTMyOTYwOTA5N2IyODIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnFtaS9saWJxbWkvMDAwMS1xbWktbmV0d29yay1Eb24tdC1jcmVhdGUtaW52YWxpZC13ZHMtc3RhcnQtbmV0d29yay13LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJxbWkvbGlicW1pLzAwMDEtcW1pLW5ldHdvcmstRG9uLXQtY3JlYXRlLWludmFsaWQtd2RzLXN0YXJ0LW5ldHdvcmstdy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDIzMGQ2OC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnFtaS9saWJxbWkvMDAwMS1xbWktbmV0d29yay1Eb24tdC1jcmVhdGUtaW52YWxpZC13ZHMtc3RhcnQtbmV0d29yay13LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotRnJvbSA4MjY5ZjRkODY5MjdmYmUxOWU3ODc3NmExMjczNjY4MGZlOTE2OWI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWRyaWFuIEJ1bmsgPGJ1bmtAc3R1c3RhLmRlPgotRGF0ZTogTW9uLCAxIE9jdCAyMDE4IDE2OjUzOjMxICswMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIHFtaS1uZXR3b3JrOiBEb24ndCBjcmVhdGUgaW52YWxpZCAtLXdkcy1zdGFydC1uZXR3b3JrIHdoZW4KLSBBUE4gaXMgbm90IHNldAotCi1JbiAxLjIwLjIgdGhlIHdhcm5pbmcgZm9yIHRoaXMgd2FzIHR1cm5lZCBpbnRvIGFuIGVycm9yLgotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyODlkOGFkNjQxOTg5NWUyZTFmYmEzZDc4YTU0YTBkYjY1ZGE1MjFkKQotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLSB1dGlscy9xbWktbmV0d29yay5pbiB8IDEyICsrKysrKystLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS91dGlscy9xbWktbmV0d29yay5pbiBiL3V0aWxzL3FtaS1uZXR3b3JrLmluCi1pbmRleCBiZjdiZWQ5Li5hOWU1Mjk5IDEwMDc1NQotLS0tIGEvdXRpbHMvcW1pLW5ldHdvcmsuaW4KLSsrKyBiL3V0aWxzL3FtaS1uZXR3b3JrLmluCi1AQCAtMzM0LDExICszMzQsMTMgQEAgc3RhcnRfbmV0d29yayAoKQotIAotICAgICBzZXR1cF9kYXRhX2Zvcm1hdAotIAotLSAgICBTVEFSVF9ORVRXT1JLX0FSR1M9ImFwbj0nJEFQTiciCi0tICAgIGlmIFsgLW4gIiRBUE5fVVNFUiIgXTsgdGhlbgotLSAgICAgICAgU1RBUlRfTkVUV09SS19BUkdTPSIke1NUQVJUX05FVFdPUktfQVJHU30sdXNlcm5hbWU9JyRBUE5fVVNFUiciCi0tICAgICAgICBpZiBbIC1uICIkQVBOX1BBU1MiIF07IHRoZW4KLS0gICAgICAgICAgICBTVEFSVF9ORVRXT1JLX0FSR1M9IiR7U1RBUlRfTkVUV09SS19BUkdTfSxwYXNzd29yZD0nJEFQTl9QQVNTJyIKLSsgICAgaWYgWyAtbiAiJEFQTiIgXTsgdGhlbgotKyAgICAgICAgU1RBUlRfTkVUV09SS19BUkdTPSJhcG49JyRBUE4nIgotKyAgICAgICAgaWYgWyAtbiAiJEFQTl9VU0VSIiBdOyB0aGVuCi0rICAgICAgICAgICAgU1RBUlRfTkVUV09SS19BUkdTPSIke1NUQVJUX05FVFdPUktfQVJHU30sdXNlcm5hbWU9JyRBUE5fVVNFUiciCi0rICAgICAgICAgICAgaWYgWyAtbiAiJEFQTl9QQVNTIiBdOyB0aGVuCi0rICAgICAgICAgICAgICAgIFNUQVJUX05FVFdPUktfQVJHUz0iJHtTVEFSVF9ORVRXT1JLX0FSR1N9LHBhc3N3b3JkPSckQVBOX1BBU1MnIgotKyAgICAgICAgICAgIGZpCi0gICAgICAgICBmaQotICAgICBmaQotIAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnFtaS9saWJxbWlfMS4yMC4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJxbWkvbGlicW1pXzEuMjAuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjBiYzgxYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnFtaS9saWJxbWlfMS4yMC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotU1VNTUFSWSA9ICJsaWJxbWkgaXMgYSBsaWJyYXJ5IGZvciB0YWxraW5nIHRvIFdXQU4gZGV2aWNlcyBieSBRTUkgcHJvdG9jb2wiCi1ERVNDUklQVElPTiA9ICJsaWJxbWkgaXMgYSBnbGliLWJhc2VkIGxpYnJhcnkgZm9yIHRhbGtpbmcgdG8gV1dBTiBtb2RlbXMgYW5kIGRldmljZXMgd2hpY2ggc3BlYWsgdGhlIFF1YWxjb21tIE1TTSBJbnRlcmZhY2UgKFFNSSkgcHJvdG9jb2wiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL2xpYnFtaSIKLUxJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiIFwKLSAgICBmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAotIgotCi1ERVBFTkRTID0gImdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJhc2gtY29tcGxldGlvbgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtcW1pLW5ldHdvcmstRG9uLXQtY3JlYXRlLWludmFsaWQtd2RzLXN0YXJ0LW5ldHdvcmstdy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURldGVjdC1jbGFuZy5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI1ODQyMTQ0NzZhYjc1YzM5NDE2MGNiODVmYmNjYWExZCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJjNzM0NTljYThiZmUxMjEzZjgwNDc4NThkNDk0NmZjMWY1OGUxNjRkNGY0ODhhN2E2OTA0ZWRlZTI1ZTJjYTQ0IgotCi1QQUNLQUdFQ09ORklHID8/PSAidWRldiBtYmltIgotUEFDS0FHRUNPTkZJR1t1ZGV2XSA9ICIsLS13aXRob3V0LXVkZXYsbGliZ3VkZXYiCi1QQUNLQUdFQ09ORklHW21iaW1dID0gIi0tZW5hYmxlLW1iaW0tcW11eCwtLWRpc2FibGUtbWJpbS1xbXV4LGxpYm1iaW0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnFtaS9saWJxbWlfMS4yMi4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJxbWkvbGlicW1pXzEuMjIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTEzMjg2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJxbWkvbGlicW1pXzEuMjIuMi5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gImxpYnFtaSBpcyBhIGxpYnJhcnkgZm9yIHRhbGtpbmcgdG8gV1dBTiBkZXZpY2VzIGJ5IFFNSSBwcm90b2NvbCIKK0RFU0NSSVBUSU9OID0gImxpYnFtaSBpcyBhIGdsaWItYmFzZWQgbGlicmFyeSBmb3IgdGFsa2luZyB0byBXV0FOIG1vZGVtcyBhbmQgZGV2aWNlcyB3aGljaCBzcGVhayB0aGUgUXVhbGNvbW0gTVNNIEludGVyZmFjZSAoUU1JKSBwcm90b2NvbCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvbGlicW1pIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCisiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgYmFzaC1jb21wbGV0aW9uCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1EZXRlY3QtY2xhbmcucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiM2ZkODMxYzFiMGRlNGE0NDMyYmU2Mjg0MzJhOTYwZmYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjFmMWU1MTRhODliMWRjYmEwNWNmNzI3NDg5NWU3MzAxYTJkYTRjOTQ3YjdjMmYxN2FjYjg0ZmM3NDAzODIyNyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gInVkZXYgbWJpbSIKK1BBQ0tBR0VDT05GSUdbdWRldl0gPSAiLC0td2l0aG91dC11ZGV2LGxpYmd1ZGV2IgorUEFDS0FHRUNPTkZJR1ttYmltXSA9ICItLWVuYWJsZS1tYmltLXFtdXgsLS1kaXNhYmxlLW1iaW0tcW11eCxsaWJtYmltIgorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnV2L2xpYnV2XzEuMjAuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXYvbGlidXZfMS4yMC4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMTFmZjlkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXYvbGlidXZfMS4yMC4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotU1VNTUFSWSA9ICJBIG11bHRpLXBsYXRmb3JtIHN1cHBvcnQgbGlicmFyeSB3aXRoIGEgZm9jdXMgb24gYXN5bmNocm9ub3VzIEkvTyIKLUhPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9saWJ1di9saWJ1diIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL2xpYnV2L2xpYnV2L2lzc3VlcyIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YTY4OTAyYTQzMGUzMjIwMDI2M2QxODJkNDQ5MjRkNDciCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi1TUkNSRVYgPSAiOGNmZDY3ZTU5MTk1MjUxZGZmNzkzZWU0N2MxODVjOWQ2YThmMzgxOCIKLUJSQU5DSCA9ICJ2MS54IgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2xpYnV2L2xpYnV2LmdpdDtwcm90b2NvbD1odHRwczticmFuY2g9JHtCUkFOQ0h9OyIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotZG9fY29uZmlndXJlKCkgewotICAgICR7U30vYXV0b2dlbi5zaCB8fCBiYm5vdGUgIiR7UE59IGZhaWxlZCB0byBhdXRvZ2VuLnNoIgotICAgIG9lX3J1bmNvbmYKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnV2L2xpYnV2XzEuMjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXYvbGlidXZfMS4yNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4MjM5NDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnV2L2xpYnV2XzEuMjcuMC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIkEgbXVsdGktcGxhdGZvcm0gc3VwcG9ydCBsaWJyYXJ5IHdpdGggYSBmb2N1cyBvbiBhc3luY2hyb25vdXMgSS9PIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2xpYnV2L2xpYnV2IgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vbGlidXYvbGlidXYvaXNzdWVzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1hNjg5MDJhNDMwZTMyMjAwMjYzZDE4MmQ0NDkyNGQ0NyIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbGlidXYvbGlidXYvYXJjaGl2ZS92JHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImNjMmNmMjU5NDQyZmJlODU0MDRlNzU2OTFlODI0NGUxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRhZmNkYzg0Y2QzMTViNzdjOGU1MzJlN2IzZmRlNDNkNTM2YWYwZTJlODM1ZWFmYmQwZTc1NTE4ZWQyNmRiZWQiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICAke1N9L2F1dG9nZW4uc2ggfHwgYmJub3RlICIke1BOfSBmYWlsZWQgdG8gYXV0b2dlbi5zaCIKKyAgICBvZV9ydW5jb25mCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ3ZWJzb2NrZXRzL2xpYndlYnNvY2tldHNfMy4wLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYndlYnNvY2tldHMvbGlid2Vic29ja2V0c18zLjAuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjM4NDE0OC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYndlYnNvY2tldHMvbGlid2Vic29ja2V0c18zLjAuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLVNVTU1BUlkgPSAiQ2Fub25pY2FsIGxpYndlYnNvY2tldHMub3JnIHdlYnNvY2tldCBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9saWJ3ZWJzb2NrZXRzLm9yZy8iCi1MSUNFTlNFID0gIkxHUEwtMi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NGNlODdmM2ZhY2I2ZjkxMWMxNDJjOGJlZjliZmIzODAiCi0KLURFUEVORFMgPSAiemxpYiIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLVNSQ1JFViA9ICJlYWE5MzVhODBhZGIzOGI1Y2M0ZDA5Y2UwNmVjOTg3Yjg3ZGNkZGZhIgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3dhcm1jYXQvbGlid2Vic29ja2V0cy5naXQ7cHJvdG9jb2w9aHR0cHM7IgotCi1pbmhlcml0IGNtYWtlIHBrZ2NvbmZpZwotCi1QQUNLQUdFQ09ORklHID89ICJsaWJ1diBjbGllbnQgc2VydmVyIGh0dHAyIHNzbCIKLVBBQ0tBR0VDT05GSUdbY2xpZW50XSA9ICItRExXU19XSVRIT1VUX0NMSUVOVD1PRkYsLURMV1NfV0lUSE9VVF9DTElFTlQ9T04sIgotUEFDS0FHRUNPTkZJR1todHRwMl0gPSAiLURMV1NfV0lUSF9IVFRQMj1PTiwtRExXU19XSVRIX0hUVFAyPU9GRiwiCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi1ETFdTX0lQVjY9T04sLURMV1NfSVBWNj1PRkYsIgotUEFDS0FHRUNPTkZJR1tsaWJldl0gPSAiLURMV1NfV0lUSF9MSUJFVj1PTiwtRExXU19XSVRIX0xJQkVWPU9GRixsaWJldiIKLVBBQ0tBR0VDT05GSUdbbGlidXZdID0gIi1ETFdTX1dJVEhfTElCVVY9T04sLURMV1NfV0lUSF9MSUJVVj1PRkYsbGlidXYiCi1QQUNLQUdFQ09ORklHW3NlcnZlcl0gPSAiLURMV1NfV0lUSE9VVF9TRVJWRVI9T0ZGLC1ETFdTX1dJVEhPVVRfU0VSVkVSPU9OLCIKLVBBQ0tBR0VDT05GSUdbc3NsXSA9ICItRExXU19XSVRIX1NTTD1PTiwtRExXU19XSVRIX1NTTD1PRkYsb3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbdGVzdGFwcHNdID0gIi1ETFdTX1dJVEhPVVRfVEVTVEFQUFM9T0ZGLC1ETFdTX1dJVEhPVVRfVEVTVEFQUFM9T04sIgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tdGVzdGFwcHMiCi0KLUZJTEVTXyR7UE59LXRlc3RhcHBzICs9ICIke2RhdGFkaXJ9L2xpYndlYnNvY2tldHMtdGVzdC1zZXJ2ZXIvKiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlid2Vic29ja2V0cy9saWJ3ZWJzb2NrZXRzXzMuMS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ3ZWJzb2NrZXRzL2xpYndlYnNvY2tldHNfMy4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTA2MjBkOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlid2Vic29ja2V0cy9saWJ3ZWJzb2NrZXRzXzMuMS4wLmJiCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiQ2Fub25pY2FsIGxpYndlYnNvY2tldHMub3JnIHdlYnNvY2tldCBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9saWJ3ZWJzb2NrZXRzLm9yZy8iCitMSUNFTlNFID0gIkxHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NGNlODdmM2ZhY2I2ZjkxMWMxNDJjOGJlZjliZmIzODAiCisKK0RFUEVORFMgPSAiemxpYiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK1NSQ1JFViA9ICI4OWVlZGNhYTk0ZTFjOGE5N2VhM2FmMTA2NDJmZDIyNGJjZWEwNjhmIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3dhcm1jYXQvbGlid2Vic29ja2V0cy5naXQ7cHJvdG9jb2w9aHR0cHM7IgorCitpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZworCitQQUNLQUdFQ09ORklHID89ICJsaWJ1diBjbGllbnQgc2VydmVyIGh0dHAyIHNzbCIKK1BBQ0tBR0VDT05GSUdbY2xpZW50XSA9ICItRExXU19XSVRIT1VUX0NMSUVOVD1PRkYsLURMV1NfV0lUSE9VVF9DTElFTlQ9T04sIgorUEFDS0FHRUNPTkZJR1todHRwMl0gPSAiLURMV1NfV0lUSF9IVFRQMj1PTiwtRExXU19XSVRIX0hUVFAyPU9GRiwiCitQQUNLQUdFQ09ORklHW2lwdjZdID0gIi1ETFdTX0lQVjY9T04sLURMV1NfSVBWNj1PRkYsIgorUEFDS0FHRUNPTkZJR1tsaWJldl0gPSAiLURMV1NfV0lUSF9MSUJFVj1PTiwtRExXU19XSVRIX0xJQkVWPU9GRixsaWJldiIKK1BBQ0tBR0VDT05GSUdbbGlidXZdID0gIi1ETFdTX1dJVEhfTElCVVY9T04sLURMV1NfV0lUSF9MSUJVVj1PRkYsbGlidXYiCitQQUNLQUdFQ09ORklHW3NlcnZlcl0gPSAiLURMV1NfV0lUSE9VVF9TRVJWRVI9T0ZGLC1ETFdTX1dJVEhPVVRfU0VSVkVSPU9OLCIKK1BBQ0tBR0VDT05GSUdbc3NsXSA9ICItRExXU19XSVRIX1NTTD1PTiwtRExXU19XSVRIX1NTTD1PRkYsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbdGVzdGFwcHNdID0gIi1ETFdTX1dJVEhPVVRfVEVTVEFQUFM9T0ZGLC1ETFdTX1dJVEhPVVRfVEVTVEFQUFM9T04sIgorCitFWFRSQV9PRUNNQUtFICs9ICIgXAorICAgIC1ETElCX1NVRkZJWD0ke0BkLmdldFZhcignYmFzZWxpYicpLnJlcGxhY2UoJ2xpYicsICcnKX0gXAorIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tdGVzdGFwcHMiCisKK0ZJTEVTXyR7UE59LXRlc3RhcHBzICs9ICIke2RhdGFkaXJ9L2xpYndlYnNvY2tldHMtdGVzdC1zZXJ2ZXIvKiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHAvMDAwMy1pbmNsdWRlLW1pc3NpbmctdGltZS5oLWZvci10aW1lX3QucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwLzAwMDMtaW5jbHVkZS1taXNzaW5nLXRpbWUuaC1mb3ItdGltZV90LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjE2M2Y2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHAvMDAwMy1pbmNsdWRlLW1pc3NpbmctdGltZS5oLWZvci10aW1lX3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIGIzNmNhZmRiY2JlMjE5M2Y1YjY2OWU3MDNjNjA4ZTE5ZTIzZjgwYTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAxNSBKdWwgMjAxNyAxMToxNjo0MiAtMDcwMAotU3ViamVjdDogW1BBVENIIDMvNF0gaW5jbHVkZSBtaXNzaW5nIHRpbWUuaCBmb3IgdGltZV90Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSB1dGlsLmggfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS91dGlsLmggYi91dGlsLmgKLWluZGV4IGU5MTJmMTkuLjNjNjM0YzEgMTAwNjQ0Ci0tLS0gYS91dGlsLmgKLSsrKyBiL3V0aWwuaAotQEAgLTIyLDcgKzIyLDcgQEAKLSAKLSAjaW5jbHVkZSAiZGR0LmgiCi0gI2luY2x1ZGUgImV0aGVyLmgiCi0tCi0rI2luY2x1ZGUgPHRpbWUuaD4KLSAvKioKLSAgKiBUYWJsZSBvZiBodW1hbiByZWFkYWJsZSBzdHJpbmdzLCBvbmUgZm9yIGVhY2ggcG9ydCBzdGF0ZS4KLSAgKi8KLS0tIAotMi4xMy4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHAvMDAwNC1BZGp1c3QtaW5jbHVkZS1oZWFkZXItc2VxdWVuY2UtdG8tYXZvaWQtZHVwbGljYXRlLWRlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saW51eHB0cC9saW51eHB0cC8wMDA0LUFkanVzdC1pbmNsdWRlLWhlYWRlci1zZXF1ZW5jZS10by1hdm9pZC1kdXBsaWNhdGUtZGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2OTkyNzUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saW51eHB0cC9saW51eHB0cC8wMDA0LUFkanVzdC1pbmNsdWRlLWhlYWRlci1zZXF1ZW5jZS10by1hdm9pZC1kdXBsaWNhdGUtZGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIDNjZDI4YWE3NzE5MzRkOTE2NWZmMGQ3ZTE5OTMyY2RlNjVkZTNlNTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAxNSBKdWwgMjAxNyAxMToxNjo1NyAtMDcwMAotU3ViamVjdDogW1BBVENIIDQvNF0gQWRqdXN0IGluY2x1ZGUgaGVhZGVyIHNlcXVlbmNlIHRvIGF2b2lkIGR1cGxpY2F0ZQotIGRlZmluaXRpb25zIG9uIG11c2wKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHJhdy5jIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Jhdy5jIGIvcmF3LmMKLWluZGV4IGY1MWM4MjkuLjQ5NGVhN2YgMTAwNjQ0Ci0tLS0gYS9yYXcuYwotKysrIGIvcmF3LmMKLUBAIC0xOCw4ICsxOCw2IEBACi0gICovCi0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPGZjbnRsLmg+Ci0tI2luY2x1ZGUgPGxpbnV4L2ZpbHRlci5oPgotLSNpbmNsdWRlIDxsaW51eC9pZl9ldGhlci5oPgotICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSAjaW5jbHVkZSA8bmV0L2lmLmg+Ci0gI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KLUBAIC0zMiw2ICszMCw4IEBACi0gI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSAKLSsjaW5jbHVkZSA8bGludXgvZmlsdGVyLmg+Ci0rI2luY2x1ZGUgPGxpbnV4L2lmX2V0aGVyLmg+Ci0gI2luY2x1ZGUgPGxpbnV4L2VycnF1ZXVlLmg+Ci0gI2luY2x1ZGUgPGxpbnV4L25ldF90c3RhbXAuaD4KLSAjaW5jbHVkZSA8bGludXgvc29ja2lvcy5oPgotLS0gCi0yLjEzLjMKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saW51eHB0cC9saW51eHB0cF8xLjguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwXzEuOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzdiOGIyOS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwXzEuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLURFU0NSSVBUSU9OID0gIlByZWNpc2lvbiBUaW1lIFByb3RvY29sIChQVFApIGFjY29yZGluZyB0byBJRUVFIHN0YW5kYXJkIDE1ODggZm9yIExpbnV4IgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotCi1TUkNfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGludXhwdHAvZmlsZXMvdiR7UFZ9L2xpbnV4cHRwLSR7UFZ9LnRneiBcCi0gICAgICAgICAgIGZpbGU6Ly9idWlsZC1BbGxvdy1DQy1hbmQtcHJlZml4LXRvLWJlLW92ZXJyaWRlbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9uby1pbmNkZWZzLXVzaW5nLWhvc3QtaGVhZGVycy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLWluY2x1ZGUtbWlzc2luZy10aW1lLmgtZm9yLXRpbWVfdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LUFkanVzdC1pbmNsdWRlLWhlYWRlci1zZXF1ZW5jZS10by1hdm9pZC1kdXBsaWNhdGUtZGUucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI1Njg4Y2RmZTU3OTMyMjczZTFkYmYzNWIzYjk3YjlhMCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmYThlMDBmNmVjNzNjZWZhN2JiMzEzZGNlN2Y2MGRmZTVlYjllMmJkZTMzNTM1OTRlOWFjMThlZGM5M2U1MTY1IgotCi1FWFRSQV9PRU1BS0UgPSAiQVJDSD0ke1RBUkdFVF9BUkNIfSBcCi0gICAgRVhUUkFfQ0ZMQUdTPSctRF9HTlVfU09VUkNFIC1ESEFWRV9DTE9DS19BREpUSU1FIC1ESEFWRV9QT1NJWF9TUEFXTiAtREhBVkVfT05FU1RFUF9TWU5DICR7Q0ZMQUdTfSciCi0KLWRvX2luc3RhbGwgKCkgewotICAgIGluc3RhbGwgLWQgJHtEfS8ke2JpbmRpcn0KLSAgICBpbnN0YWxsIC1wICR7U30vcHRwNGwgICR7RH0vJHtiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtcCAke1N9L3BtYyAgJHtEfS8ke2JpbmRpcn0KLSAgICBpbnN0YWxsIC1wICR7U30vcGhjMnN5cyAgJHtEfS8ke2JpbmRpcn0KLSAgICBpbnN0YWxsIC1wICR7U30vaHdzdGFtcF9jdGwgICR7RH0vJHtiaW5kaXJ9Ci19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwXzIuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHBfMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViMjYyZDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwXzIuMC5iYgpAQCAtMCwwICsxLDIyIEBACitERVNDUklQVElPTiA9ICJQcmVjaXNpb24gVGltZSBQcm90b2NvbCAoUFRQKSBhY2NvcmRpbmcgdG8gSUVFRSBzdGFuZGFyZCAxNTg4IGZvciBMaW51eCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworU1JDX1VSSSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpbnV4cHRwL2ZpbGVzL3Yke1BWfS9saW51eHB0cC0ke1BWfS50Z3ogXAorICAgICAgICAgICBmaWxlOi8vYnVpbGQtQWxsb3ctQ0MtYW5kLXByZWZpeC10by1iZS1vdmVycmlkZW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbm8taW5jZGVmcy11c2luZy1ob3N0LWhlYWRlcnMucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkOGJiNzM3NDk0M2JiNzQ3ZGI3Nzg2YWMyNmYxN2YxMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwYTI0ZDk0MDFlODdkNGFmMDIzZDIwMWUyMzRkOTExMjdkODJjMzUwZGFhZDkzNDMyMTA2Mjg0YWE5NDU5YzdkIgorCitFWFRSQV9PRU1BS0UgPSAiQVJDSD0ke1RBUkdFVF9BUkNIfSBcCisgICAgRVhUUkFfQ0ZMQUdTPSctRF9HTlVfU09VUkNFIC1ESEFWRV9DTE9DS19BREpUSU1FIC1ESEFWRV9QT1NJWF9TUEFXTiAtREhBVkVfT05FU1RFUF9TWU5DICR7Q0ZMQUdTfSciCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1wICR7U30vcHRwNGwgICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtcCAke1N9L3BtYyAgJHtEfS8ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1wICR7U30vcGhjMnN5cyAgJHtEfS8ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1wICR7U30vaHdzdGFtcF9jdGwgICR7RH0vJHtiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vZGVtbWFuYWdlci9tb2RlbW1hbmFnZXIvMDAwMS1Eby1ub3QtcGFzcy1udWxsLXN0cmluZy10by1zLXByaW50Zi1mb3JtYXR0ZWQtc3RyaW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb2RlbW1hbmFnZXIvbW9kZW1tYW5hZ2VyLzAwMDEtRG8tbm90LXBhc3MtbnVsbC1zdHJpbmctdG8tcy1wcmludGYtZm9ybWF0dGVkLXN0cmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZmJhZmJiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb2RlbW1hbmFnZXIvbW9kZW1tYW5hZ2VyLzAwMDEtRG8tbm90LXBhc3MtbnVsbC1zdHJpbmctdG8tcy1wcmludGYtZm9ybWF0dGVkLXN0cmluZy5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIGI4ODYyZTZhZjFjNmQwMjJiOGMxODIwOThlN2RlZGRiODc0ZWNlMTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAxOCBEZWMgMjAxOCAyMzoxMDo0NCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBEbyBub3QgcGFzcyBudWxsIHN0cmluZyB0byAlcyBwcmludGYgZm9ybWF0dGVkIHN0cmluZworCitIZXJlIHRoZSBzdHJpbmcgaXMgYWxyZWFkeSBkZWNpZGVkIHRvIGJlIE5VTEwgYW5kIHBhc3NpbmcKK2EgbnVsbCBwb2ludGVyIHRvICVzIHdpbGwgbm90IHdvcmsKKworRml4ZXMKK2Vycm9yOiAnJXMnIGRpcmVjdGl2ZSBhcmd1bWVudCBpcyBudWxsCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvbW9iaWxlLWJyb2FkYmFuZC9Nb2RlbU1hbmFnZXIvbWVyZ2VfcmVxdWVzdHMvNjddCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBwbHVnaW5zL210ay9tbS1icm9hZGJhbmQtbW9kZW0tbXRrLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9wbHVnaW5zL210ay9tbS1icm9hZGJhbmQtbW9kZW0tbXRrLmMgYi9wbHVnaW5zL210ay9tbS1icm9hZGJhbmQtbW9kZW0tbXRrLmMKK2luZGV4IDQ3NWE2M2FjLi41NDFkZTRhNSAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvbXRrL21tLWJyb2FkYmFuZC1tb2RlbS1tdGsuYworKysrIGIvcGx1Z2lucy9tdGsvbW0tYnJvYWRiYW5kLW1vZGVtLW10ay5jCitAQCAtMTkxLDcgKzE5MSw3IEBAIGdldF9zdXBwb3J0ZWRfbW9kZXNfcmVhZHkgKE1NQmFzZU1vZGVtICpzZWxmLAorIAorICAgICByZXNwb25zZSA9IG1tX2Jhc2VfbW9kZW1fYXRfY29tbWFuZF9maW5pc2ggKE1NX0JBU0VfTU9ERU0gKHNlbGYpLCByZXMsICZlcnJvcik7CisgICAgIGlmICghcmVzcG9uc2UpIHsKKy0gICAgICAgIG1tX2RiZyAoIkZhaWwgdG8gZ2V0IHJlc3BvbnNlICVzIiwgcmVzcG9uc2UpOworKyAgICAgICAgbW1fZGJnICgiRmFpbCB0byBnZXQgcmVzcG9uc2UiKTsKKyAgICAgICAgIGdfdGFza19yZXR1cm5fZXJyb3IgKHRhc2ssIGVycm9yKTsKKyAgICAgICAgIGdfb2JqZWN0X3VucmVmICh0YXNrKTsKKyAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9kZW1tYW5hZ2VyL21vZGVtbWFuYWdlcl8xLjguMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9kZW1tYW5hZ2VyL21vZGVtbWFuYWdlcl8xLjguMi5iYgppbmRleCAwMWM2MjE0Li5mOWIzMDJhIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vZGVtbWFuYWdlci9tb2RlbW1hbmFnZXJfMS44LjIuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb2RlbW1hbmFnZXIvbW9kZW1tYW5hZ2VyXzEuOC4yLmJiCkBAIC05LDEwICs5LDExIEBACiAKIGluaGVyaXQgZ25vbWViYXNlIGdldHRleHQgc3lzdGVtZCB2YWxhIGdvYmplY3QtaW50cm9zcGVjdGlvbiBiYXNoLWNvbXBsZXRpb24KIAotREVQRU5EUyA9ICJnbGliLTIuMCBsaWJndWRldiBkYnVzLWdsaWIgaW50bHRvb2wtbmF0aXZlIgorREVQRU5EUyA9ICJnbGliLTIuMCBsaWJndWRldiBkYnVzLWdsaWIgaW50bHRvb2wtbmF0aXZlIGxpYnhzbHQtbmF0aXZlIgogCiBTUkNfVVJJID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlL01vZGVtTWFuYWdlci9Nb2RlbU1hbmFnZXItJHtQVn0udGFyLnh6IFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LXNldC1Xbm8tdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtcGFzcy1udWxsLXN0cmluZy10by1zLXByaW50Zi1mb3JtYXR0ZWQtc3RyaW5nLnBhdGNoIFwKICAgICAgICAgICAgIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiYTQ5YzlmNzNlNDZjN2I4OWU1ZWZlZGRhMjUwZDIyYzAiCkBAIC0yMCwxNCArMjEsMTQgQEAKIAogUyA9ICIke1dPUktESVJ9L01vZGVtTWFuYWdlci0ke1BWfSIKIAotUEFDS0FHRUNPTkZJRyA/Pz0gIm1iaW0gcW1pIHBvbGtpdCBcCi0gICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsIGQpfSBcCitQQUNLQUdFQ09ORklHID8/PSAibWJpbSBxbWkgXAorICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQgcG9sa2l0JywgZCl9IFwKICIKIAogUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8sLCIKIFBBQ0tBR0VDT05GSUdbcG9sa2l0XSA9ICItLXdpdGgtcG9sa2l0PXllcywtLXdpdGgtcG9sa2l0PW5vLHBvbGtpdCIKICMgU3VwcG9ydCBXV0FOIG1vZGVtcyBhbmQgZGV2aWNlcyB3aGljaCBzcGVhayB0aGUgTW9iaWxlIEludGVyZmFjZSBCcm9hZGJhbmQgTW9kZWwgKE1CSU0pIHByb3RvY29sLgotUEFDS0FHRUNPTkZJR1ttYmltXSA9ICItLXdpdGgtbWJpbSwtLXdpdGgtbWJpbT1ubyxsaWJtYmltIgorUEFDS0FHRUNPTkZJR1ttYmltXSA9ICItLXdpdGgtbWJpbSwtLXdpdGhvdXQtbWJpbSxsaWJtYmltIgogIyBTdXBwb3J0IFdXQU4gbW9kZW1zIGFuZCBkZXZpY2VzIHdoaWNoIHNwZWFrIHRoZSBRdWFsY29tbSBNU00gSW50ZXJmYWNlIChRTUkpIHByb3RvY29sLgogUEFDS0FHRUNPTkZJR1txbWldID0gIi0td2l0aC1xbWksLS13aXRob3V0LXFtaSxsaWJxbWkiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9zaC9tb3NoLzAwMDEtRml4LWJ1aWxkaW5nLXdpdGgtbGliYy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9zaC9tb3NoLzAwMDEtRml4LWJ1aWxkaW5nLXdpdGgtbGliYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDBlZGUxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NoL21vc2gvMDAwMS1GaXgtYnVpbGRpbmctd2l0aC1saWJjLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK0Zyb20gZWZhOWU0OTcxNGIzMGQ3ZDkxMjg5NDZhMjUwNGM5M2UxMGQxMDliNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDEyOjIwOjAzIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZGluZyB3aXRoIGxpYmMrKworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBzcmMvbmV0d29yay9uZXR3b3JrLmNjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsvbmV0d29yay5jYyBiL3NyYy9uZXR3b3JrL25ldHdvcmsuY2MKK2luZGV4IDI2ZGE2MDMuLmU0ODA4NTMgMTAwNjQ0CistLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrLmNjCisrKysgYi9zcmMvbmV0d29yay9uZXR3b3JrLmNjCitAQCAtMzM1LDcgKzMzNSw3IEBAIGJvb2wgQ29ubmVjdGlvbjo6dHJ5X2JpbmQoIGNvbnN0IGNoYXIgKmFkZHIsIGludCBwb3J0X2xvdywgaW50IHBvcnRfaGlnaCApCisgICAgICAgfQorICAgICB9CisgCistICAgIGlmICggYmluZCggc29jaygpLCAmbG9jYWxfYWRkci5zYSwgbG9jYWxfYWRkcl9sZW4gKSA9PSAwICkgeworKyAgICBpZiAoIDo6YmluZCggc29jaygpLCAmbG9jYWxfYWRkci5zYSwgbG9jYWxfYWRkcl9sZW4gKSA9PSAwICkgeworICAgICAgIHNldF9NVFUoIGxvY2FsX2FkZHIuc2Euc2FfZmFtaWx5ICk7CisgICAgICAgcmV0dXJuIHRydWU7CisgICAgIH0gZWxzZSBpZiAoIGkgPT0gc2VhcmNoX2hpZ2ggKSB7IC8qIGxhc3QgcG9ydCB0byBzZWFyY2ggKi8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9zaC9tb3NoXzEuMy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NoL21vc2hfMS4zLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmYzg0MzUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NoL21vc2hfMS4zLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi0jIE5PVEU6IG1vc2gtc2VydmVyIHJlcXVpcmVzIGEgVVRGLTggbG9jYWxlLCBidXQgdGhlcmUncyBubyB3YXkgdG8gYWRkCi0jIGFuIGV4cGxpY2l0IGRlcGVuZGVuY3kgZm9yIHRoaXMgc28geW91IG5lZWQgdG8gZW5zdXJlIHRoaXMgaXMgaW4geW91cgotIyBpbWFnZSB5b3Vyc2VsZiB3aGVuIHlvdSBpbnN0YWxsIG1vc2gtc2VydmVyLgotCi1TVU1NQVJZID0gIlJlbW90ZSBzaGVsbCBzdXBwb3J0aW5nIHJvYW1pbmcgYW5kIGhpZ2gtbGF0ZW5jeSBjb25uZWN0aW9ucyIKLURFU0NSSVBUSU9OID0gIlJlbW90ZSB0ZXJtaW5hbCBhcHBsaWNhdGlvbiB0aGF0IGFsbG93cyByb2FtaW5nLCBzdXBwb3J0cyBcCi1pbnRlcm1pdHRlbnQgY29ubmVjdGl2aXR5LCBhbmQgcHJvdmlkZXMgaW50ZWxsaWdlbnQgbG9jYWwgZWNobyBhbmQgbGluZSBcCi1lZGl0aW5nIG9mIHVzZXIga2V5c3Ryb2tlcy4gTW9zaCBpcyBhIHJlcGxhY2VtZW50IGZvciBTU0guIEl0J3MgbW9yZSBcCi1yb2J1c3QgYW5kIHJlc3BvbnNpdmUsIGVzcGVjaWFsbHkgb3ZlciBXaS1GaSwgY2VsbHVsYXIsIGFuZCBcCi1sb25nLWRpc3RhbmNlIGxpbmtzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9tb3NoLm1pdC5lZHUiCi1MSUNFTlNFID0gIkdQTHYzKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgotCi1ERVBFTkRTID0gInByb3RvYnVmLW5hdGl2ZSBwcm90b2J1ZiBuY3Vyc2VzIHpsaWIgbGliaW8tcHR5LXBlcmwgb3BlbnNzbCBsaWJ1dGVtcHRlciIKLQotU1JDX1VSSSA9ICJodHRwOi8vbW9zaC5taXQuZWR1L21vc2gtJHtQVn0udGFyLmd6IgotU1JDX1VSSVttZDVzdW1dID0gImQ5NjEyNzY5OTU5MzY5NTNiZjJkNWE3OTQwNjhiMDc2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMyMGUxMmY0NjFlNTVkNzE1NjY1OTc5NzZiZDk0NDBiYTZjNTI2NWZhNjhmYmY2MTRjNmYxYzg0MDFmOTMzNzYiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1QQUNLQUdFX0JFRk9SRV9QTiArPSAiJHtQTn0tc2VydmVyIgotRklMRVNfJHtQTn0tc2VydmVyID0gIiR7YmluZGlyfS9tb3NoLXNlcnZlciIKLQotTkVFREVEX1BFUkxfTU9EVUxFUyA9ICJcCi0gICAgcGVybC1tb2R1bGUtc29ja2V0IFwKLSAgICBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBcCi0gICAgcGVybC1tb2R1bGUtZXJybm8gXAotICAgIHBlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0IFwKLSAgICBwZXJsLW1vZHVsZS1wb3NpeCBcCi0iCi0KLSMgbW9zaCB1c2VzIFNTSCB0byBhdXRoZW50aWNhdGUgYW5kIHRoZSBjbGllbnQgdXNlcyBPcGVuU1NILXNwZWNpZmljIGZlYXR1cmVzCi1SREVQRU5EU18ke1BOfSArPSAib3BlbnNzaC1zc2ggJHtORUVERURfUEVSTF9NT0RVTEVTfSIKLSMgVGhlIHNlcnZlciBzZWVtZWQgbm90IHRvIHdvcmsgd2l0aCBkcm9wYmVhciBlaXRoZXIKLVJERVBFTkRTXyR7UE59LXNlcnZlciArPSAib3BlbnNzaC1zc2hkICR7TkVFREVEX1BFUkxfTU9EVUxFU30iCi0KLSMgRmFpbHMgdG8gYnVpbGQgd2l0aCB0aHVtYi0xIChxZW11YXJtKQotI3wge3N0YW5kYXJkIGlucHV0fTogQXNzZW1ibGVyIG1lc3NhZ2VzOgotI3wge3N0YW5kYXJkIGlucHV0fToyMTAwOiBFcnJvcjogaW5zdHJ1Y3Rpb24gbm90IHN1cHBvcnRlZCBpbiBUaHVtYjE2IG1vZGUgLS0gYGFkZHMgcjQscjQscjQnCi0jfCB7c3RhbmRhcmQgaW5wdXR9OjIxMDE6IEVycm9yOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSAtLSBgYWRjcyByNSxyNSxyNScKLSN8IHtzdGFuZGFyZCBpbnB1dH06MjEwMjogRXJyb3I6IGluc3RydWN0aW9uIG5vdCBzdXBwb3J0ZWQgaW4gVGh1bWIxNiBtb2RlIC0tIGBhZGNzIHI2LHI2LHI2JwotI3wge3N0YW5kYXJkIGlucHV0fToyMTAzOiBFcnJvcjogaW5zdHJ1Y3Rpb24gbm90IHN1cHBvcnRlZCBpbiBUaHVtYjE2IG1vZGUgLS0gYGFkY3MgcjcscjcscjcnCi0jfCB7c3RhbmRhcmQgaW5wdXR9OjIxMDQ6IEVycm9yOiBzZWxlY3RlZCBwcm9jZXNzb3IgZG9lcyBub3Qgc3VwcG9ydCBUaHVtYiBtb2RlIGBpdCBjcycKLUFSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NoL21vc2hfMS4zLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc2gvbW9zaF8xLjMuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzQzOTM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NoL21vc2hfMS4zLjIuYmIKQEAgLTAsMCArMSw0OCBAQAorIyBOT1RFOiBtb3NoLXNlcnZlciByZXF1aXJlcyBhIFVURi04IGxvY2FsZSwgYnV0IHRoZXJlJ3Mgbm8gd2F5IHRvIGFkZAorIyBhbiBleHBsaWNpdCBkZXBlbmRlbmN5IGZvciB0aGlzIHNvIHlvdSBuZWVkIHRvIGVuc3VyZSB0aGlzIGlzIGluIHlvdXIKKyMgaW1hZ2UgeW91cnNlbGYgd2hlbiB5b3UgaW5zdGFsbCBtb3NoLXNlcnZlci4KKworU1VNTUFSWSA9ICJSZW1vdGUgc2hlbGwgc3VwcG9ydGluZyByb2FtaW5nIGFuZCBoaWdoLWxhdGVuY3kgY29ubmVjdGlvbnMiCitERVNDUklQVElPTiA9ICJSZW1vdGUgdGVybWluYWwgYXBwbGljYXRpb24gdGhhdCBhbGxvd3Mgcm9hbWluZywgc3VwcG9ydHMgXAoraW50ZXJtaXR0ZW50IGNvbm5lY3Rpdml0eSwgYW5kIHByb3ZpZGVzIGludGVsbGlnZW50IGxvY2FsIGVjaG8gYW5kIGxpbmUgXAorZWRpdGluZyBvZiB1c2VyIGtleXN0cm9rZXMuIE1vc2ggaXMgYSByZXBsYWNlbWVudCBmb3IgU1NILiBJdCdzIG1vcmUgXAorcm9idXN0IGFuZCByZXNwb25zaXZlLCBlc3BlY2lhbGx5IG92ZXIgV2ktRmksIGNlbGx1bGFyLCBhbmQgXAorbG9uZy1kaXN0YW5jZSBsaW5rcy4iCitIT01FUEFHRSA9ICJodHRwOi8vbW9zaC5taXQuZWR1IgorTElDRU5TRSA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJwcm90b2J1Zi1uYXRpdmUgcHJvdG9idWYgbmN1cnNlcyB6bGliIGxpYmlvLXB0eS1wZXJsIG9wZW5zc2wgbGlidXRlbXB0ZXIiCisKK1NSQ19VUkkgPSAiaHR0cDovL21vc2gubWl0LmVkdS9tb3NoLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZGluZy13aXRoLWxpYmMucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiNTEyMmY0ZDJiOTczYWI3YzM4ZGNkYWM4YzM1Y2I2MWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGE2MDA1NzNkZmE4MjdkODhjZTExNGUwZmVkMzAyMTA2ODkzODFiYmRjZmY1NDNjOTMxZTRkNmEyZTg1MTIxNiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS1zZXJ2ZXIiCitGSUxFU18ke1BOfS1zZXJ2ZXIgPSAiJHtiaW5kaXJ9L21vc2gtc2VydmVyIgorCitORUVERURfUEVSTF9NT0RVTEVTID0gIlwKKyAgICBwZXJsLW1vZHVsZS1zb2NrZXQgXAorICAgIHBlcmwtbW9kdWxlLWdldG9wdC1sb25nIFwKKyAgICBwZXJsLW1vZHVsZS1lcnJubyBcCisgICAgcGVybC1tb2R1bGUtaW8tc29ja2V0LWluZXQgXAorICAgIHBlcmwtbW9kdWxlLXBvc2l4IFwKKyIKKworIyBtb3NoIHVzZXMgU1NIIHRvIGF1dGhlbnRpY2F0ZSBhbmQgdGhlIGNsaWVudCB1c2VzIE9wZW5TU0gtc3BlY2lmaWMgZmVhdHVyZXMKK1JERVBFTkRTXyR7UE59ICs9ICJvcGVuc3NoLXNzaCAke05FRURFRF9QRVJMX01PRFVMRVN9IgorIyBUaGUgc2VydmVyIHNlZW1lZCBub3QgdG8gd29yayB3aXRoIGRyb3BiZWFyIGVpdGhlcgorUkRFUEVORFNfJHtQTn0tc2VydmVyICs9ICJvcGVuc3NoLXNzaGQgJHtORUVERURfUEVSTF9NT0RVTEVTfSIKKworIyBGYWlscyB0byBidWlsZCB3aXRoIHRodW1iLTEgKHFlbXVhcm0pCisjfCB7c3RhbmRhcmQgaW5wdXR9OiBBc3NlbWJsZXIgbWVzc2FnZXM6CisjfCB7c3RhbmRhcmQgaW5wdXR9OjIxMDA6IEVycm9yOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSAtLSBgYWRkcyByNCxyNCxyNCcKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjEwMTogRXJyb3I6IGluc3RydWN0aW9uIG5vdCBzdXBwb3J0ZWQgaW4gVGh1bWIxNiBtb2RlIC0tIGBhZGNzIHI1LHI1LHI1JworI3wge3N0YW5kYXJkIGlucHV0fToyMTAyOiBFcnJvcjogaW5zdHJ1Y3Rpb24gbm90IHN1cHBvcnRlZCBpbiBUaHVtYjE2IG1vZGUgLS0gYGFkY3MgcjYscjYscjYnCisjfCB7c3RhbmRhcmQgaW5wdXR9OjIxMDM6IEVycm9yOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSAtLSBgYWRjcyByNyxyNyxyNycKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjEwNDogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYGl0IGNzJworQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXRvb2xzLWJsdWV0b290aC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtdG9vbHMtYmx1ZXRvb3RoLmJiCmluZGV4IGYyYTE2ZGMuLjkxM2UzMTEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtdG9vbHMtYmx1ZXRvb3RoLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtdG9vbHMtYmx1ZXRvb3RoLmJiCkBAIC0zMSw3ICszMSwzIEBACiAgICAgICAgICBwdWxzZWF1ZGlvLW1vZHVsZS1sb29wYmFjaycsIFwKICAgICAgICAgJycsIGQpfSBcCiAiCi0KLSMgSW5zdGFsbCBibHVlejQgdG9vbHMgb3IgYmx1ZXo1IHRvb2xzIGRlcGVuZGluZyBvbiB3aGF0IGlzIHNwZWNpZmllZCBpbiB0aGUgZGlzdHJvLgotIyBPdGhlcndpc2UgaW5zdGFsbCBub3RoaW5nLgotUkRFUEVORFNfJHtQTn0gPSAiJHtSREVQRU5EU18ke0JMVUVafX0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3JhYmJpdG1xLWMvcmFiYml0bXEtY18wLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmFiYml0bXEtYy9yYWJiaXRtcS1jXzAuNy4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlOTg0NmZkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmFiYml0bXEtYy9yYWJiaXRtcS1jXzAuNy4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiQSBDLWxhbmd1YWdlIEFNUVAgY2xpZW50IGxpYnJhcnkgZm9yIHVzZSB3aXRoIHYyLjArIG9mIHRoZSBSYWJiaXRNUSBicm9rZXIiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vYWxhbnh6L3JhYmJpdG1xLWMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLU1JVDttZDU9NmI3NDI0ZjlkYjgwY2ZiMTFmZGQ1Yzk4MGI1ODNmNTMiCi1MSUNFTlNFID0gIk1JVCIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2FsYW54ei9yYWJiaXRtcS1jLmdpdCIKLVNSQ1JFViA9ICI0ZGRlMzBjZThkOTg0ZWRkYTU0MDM0OWY1N2ViNzk5NWE4N2JhOWRlIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1ERVBFTkRTID0gInBvcHQgb3BlbnNzbCIKLQotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1leGFtcGxlcyAtLWVuYWJsZS10b29scyAtLWRpc2FibGUtZG9jcyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLVBBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS10b29scyIKLUZJTEVTXyR7UE59LXRvb2xzID0gIiR7YmluZGlyfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmFiYml0bXEtYy9yYWJiaXRtcS1jXzAuOS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yYWJiaXRtcS1jL3JhYmJpdG1xLWNfMC45LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTA5NmQ2YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmFiYml0bXEtYy9yYWJiaXRtcS1jXzAuOS4wLmJiCkBAIC0wLDAgKzEsMTkgQEAKK0RFU0NSSVBUSU9OID0gIkEgQy1sYW5ndWFnZSBBTVFQIGNsaWVudCBsaWJyYXJ5IGZvciB1c2Ugd2l0aCB2Mi4wKyBvZiB0aGUgUmFiYml0TVEgYnJva2VyIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2FsYW54ei9yYWJiaXRtcS1jIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS1NSVQ7bWQ1PTZiNzQyNGY5ZGI4MGNmYjExZmRkNWM5ODBiNTgzZjUzIgorTElDRU5TRSA9ICJNSVQiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9hbGFueHovcmFiYml0bXEtYy5naXQiCisjIHYwLjkuMC1tYXN0ZXIKK1NSQ1JFViA9ICI3ZTY5M2EyM2Y3ZmI3MTIwZjg1OTk1ZDNjOTIyODE0NDk1YmUzMGRiIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitERVBFTkRTID0gInBvcHQgb3BlbnNzbCIKKworRVhUUkFfT0VDTUFLRSA9ICItREJVSUxEX0VYQU1QTEVTPU9GRiAtREJVSUxEX1RPT0xTPU9OIC1EQlVJTERfVE9PTFNfRE9DUz1PRkYgLURCVUlMRF9BUElfRE9DUz1PRkYiCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnCisKK1BBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS10b29scyIKK0ZJTEVTXyR7UE59LXRvb2xzID0gIiR7YmluZGlyfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lmaS10ZXN0LXN1aXRlL2ZpbGVzLzAwMDEtVXNlLXRvb2xjaGFpbi1mcm9tLWVudmlyb25tZW50LXZhcmlhYmxlcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lmaS10ZXN0LXN1aXRlL2ZpbGVzLzAwMDEtVXNlLXRvb2xjaGFpbi1mcm9tLWVudmlyb25tZW50LXZhcmlhYmxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZWU0YTUxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aWZpLXRlc3Qtc3VpdGUvZmlsZXMvMDAwMS1Vc2UtdG9vbGNoYWluLWZyb20tZW52aXJvbm1lbnQtdmFyaWFibGVzLnBhdGNoCkBAIC0wLDAgKzEsOTIgQEAKK0Zyb20gNmI4MjJiMzY3MzkyMjJkMGM4NjQyNDk5OTJiNWQyOGUzZmY0ZDk0OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFkcmlhbiBGcmllZGxpIDxhZHJpYW4uZnJpZWRsaUBodXNxdmFybmFncm91cC5jb20+CitEYXRlOiBNb24sIDMgU2VwIDIwMTggMTc6NTg6MjcgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIHRvb2xjaGFpbiBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcworCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL1dpLUZpVGVzdFN1aXRlL1dpLUZpVGVzdFN1aXRlLUxpbnV4LURVVC9wdWxsLzQyXQorU2lnbmVkLW9mZi1ieTogQWRyaWFuIEZyaWVkbGkgPGFkcmlhbi5mcmllZGxpQGh1c3F2YXJuYWdyb3VwLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEFua2l0IE5hdmlrIDxhbmtpdC50YXJvdEBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZS5pbmMgICAgICAgICB8IDcgKysrKy0tLQorIFdUR1NlcnZpY2UvTWFrZWZpbGUgIHwgMiArLQorIGNvbnNvbGVfc3JjL01ha2VmaWxlIHwgMiArLQorIGxpYi9NYWtlZmlsZSAgICAgICAgIHwgNiArKystLS0KKyA0IGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluYyBiL01ha2VmaWxlLmluYworaW5kZXggYjBlZGY1YS4uMDA5NGJkZiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmluYworKysrIGIvTWFrZWZpbGUuaW5jCitAQCAtMTMsMTQgKzEzLDE1IEBACisgIyBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorICMgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCisgIworLUNDID0gZ2NjCisrQ0MgPz0gZ2NjCisrQVIgPz0gYXIKKyBMSUI9bGliCisgRFVUPWR1dAorIENBPWNhCisgVUNDPXVjYworIENPTj1jb25zb2xlX3NyYworIFdURz1XVEdTZXJ2aWNlCistTUFLRT1tYWtlCisrTUFLRT89bWFrZQorIAorICMgVGhpcyBpcyBmb3IgV01NLVBTCisgI2ZvciBFeHQgVEcKK0BAIC00Niw3ICs0Nyw3IEBAIENGTEFHUyA9IC1nIC1PMiAtRF9SRUVOVFJBTlQgLVdhbGwgLUkuLi9pbmMKKyAKKyBEVVRMSUJTID0gLi4vbGliL2xpYndmYV9kdXQuYSAtbHB0aHJlYWQKKyBDQUxJQlMgPSAuLi9saWIvbGlid2ZhX2NhLmEgLWxwdGhyZWFkCistUkFOTElCID0gcmFubGliCisrUkFOTElCID89IHJhbmxpYgorIAorIExJQldGQV9OQU1FX0RVVCA9IGxpYndmYV9kdXQuYQorIExJQldGQV9OQU1FX0NBID0gbGlid2ZhX2NhLmEKK2RpZmYgLS1naXQgYS9XVEdTZXJ2aWNlL01ha2VmaWxlIGIvV1RHU2VydmljZS9NYWtlZmlsZQoraW5kZXggNTMxMmViNi4uNDg1NTc3MSAxMDA2NDQKKy0tLSBhL1dUR1NlcnZpY2UvTWFrZWZpbGUKKysrKyBiL1dUR1NlcnZpY2UvTWFrZWZpbGUKK0BAIC0xMyw3ICsxMyw3IEBACisgIyBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorICMgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCisgIworLUNDPWdjYworK0NDPz1nY2MKKyBDRkxBR1M9IC1XYWxsCisgTElCPS1scHRocmVhZAorIAorZGlmZiAtLWdpdCBhL2NvbnNvbGVfc3JjL01ha2VmaWxlIGIvY29uc29sZV9zcmMvTWFrZWZpbGUKK2luZGV4IDgyODIyODMuLmQxMDk4ZWIgMTAwNjQ0CistLS0gYS9jb25zb2xlX3NyYy9NYWtlZmlsZQorKysrIGIvY29uc29sZV9zcmMvTWFrZWZpbGUKK0BAIC0xNCw3ICsxNCw3IEBACisgIyBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKyAjCisgCistQ0MJPSBnY2MKKytDQwk/PSBnY2MKKyBDRkxBR1MJPSAtZyAtRFdGQV9ERUJVRyAtcHRocmVhZAorIAorIFRBUkdFVFMgPSB3ZmFfY29uCitkaWZmIC0tZ2l0IGEvbGliL01ha2VmaWxlIGIvbGliL01ha2VmaWxlCitpbmRleCBmZmNlZjk0Li4yOTliOGQ2IDEwMDY0NAorLS0tIGEvbGliL01ha2VmaWxlCisrKysgYi9saWIvTWFrZWZpbGUKK0BAIC0xNyw5ICsxNyw5IEBACisgaW5jbHVkZSAuLi9NYWtlZmlsZS5pbmMKKyAKKyBhbGw6ICAgICR7TElCX09CSlN9CistCQlhciBjcnYgJHtMSUJXRkFfTkFNRX0gJD8KKy0JCWFyIGNydiAke0xJQldGQV9OQU1FX0RVVH0gJHtMSUJfT0JKU19EVVR9CistCQlhciBjcnYgJHtMSUJXRkFfTkFNRV9DQX0gJHtMSUJfT0JKU19DQX0gCisrCQkkKEFSKSBjcnYgJHtMSUJXRkFfTkFNRX0gJD8KKysJCSQoQVIpIGNydiAke0xJQldGQV9OQU1FX0RVVH0gJHtMSUJfT0JKU19EVVR9CisrCQkkKEFSKSBjcnYgJHtMSUJXRkFfTkFNRV9DQX0gJHtMSUJfT0JKU19DQX0KKyAJCSR7UkFOTElCfSAke0xJQldGQV9OQU1FfSAke0xJQldGQV9OQU1FX0RVVH0gJHtMSUJXRkFfTkFNRV9DQX0KKyAKKyB3ZmFfdGcubzogd2ZhX3RnLmMgLi4vaW5jL3dmYV9hZ3QuaCAuLi9pbmMvd2ZhX3R5cGVzLmggLi4vaW5jL3dmYV9yc3AuaCAuLi9pbmMvd2ZhX3Rsdi5oICAuLi9pbmMvd2ZhX3RnLmgKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aWZpLXRlc3Qtc3VpdGUvZmlsZXMvMDAwMi1BZGQtbWlzc2luZy1pbmNsdWRlLXJlbW92ZXMtdW5uZWRkZWQtc3R1ZmYtYW5kLWFkZC1uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aWZpLXRlc3Qtc3VpdGUvZmlsZXMvMDAwMi1BZGQtbWlzc2luZy1pbmNsdWRlLXJlbW92ZXMtdW5uZWRkZWQtc3R1ZmYtYW5kLWFkZC1uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwZmI2NDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS9maWxlcy8wMDAyLUFkZC1taXNzaW5nLWluY2x1ZGUtcmVtb3Zlcy11bm5lZGRlZC1zdHVmZi1hbmQtYWRkLW4ucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorRnJvbSA0NTFiMTYyYzkwM2ExZWYwNzBhNzVkYzE4MTcxNjIwZjNiZWVmN2IzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5raXQgTmF2aWsgPGFua2l0LnRhcm90QGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjUgRGVjIDIwMTggMDA6MzY6NTkgKzA1MzAKK1N1YmplY3Q6IFtQQVRDSCAyLzNdIEFkZCBtaXNzaW5nIGluY2x1ZGUsIHJlbW92ZXMgdW5uZWRkZWQgc3R1ZmYgYW5kIGFkZCBub24KKyBnbGliYyBycGMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogUmV0byBTY2huZWlkZXIgPGNvZGVAcmV0by1zY2huZWlkZXIuY2g+CitTaWduZWQtb2ZmLWJ5OiBBbmtpdCBOYXZpayA8YW5raXQudGFyb3RAZ21haWwuY29tPgorLS0tCisgTWFrZWZpbGUgICAgIHwgMiArLQorIGluYy93ZmFfdGcuaCB8IDMgKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDJjNDFhMTcuLjVjNGFkOGMgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0xNSw3ICsxNSw3IEBACisgIworIGluY2x1ZGUgTWFrZWZpbGUuaW5jCisgCistRElSUz0gJHtMSUJ9ICR7RFVUfSAke0NBfSAke1RDfSAke1dUR30gJHtDT059CisrRElSUz0gJHtMSUJ9ICR7RFVUfSAke0NBfSAke1RDfQorIAorIGFsbDoKKyAJZm9yIGkgaW4gJHtESVJTfTsgZG8gXAorZGlmZiAtLWdpdCBhL2luYy93ZmFfdGcuaCBiL2luYy93ZmFfdGcuaAoraW5kZXggNzk5YmY5Zi4uYTE4MDRkZCAxMDA2NDQKKy0tLSBhL2luYy93ZmFfdGcuaAorKysrIGIvaW5jL3dmYV90Zy5oCitAQCAtMjQsNiArMjQsOSBAQAorICNpZm5kZWYgX1dGQV9UR19ICisgI2RlZmluZSBfV0ZBX1RHX0gKKyAKKysjaWZuZGVmIF9XSU5ET1dTCisrI2luY2x1ZGUgPHB0aHJlYWQuaD4KKysjZW5kaWYKKyAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyAKKyAvKiBtYXhpbXVtIG51bWJlciBvZiBzdHJlYW1zIHRvIHN1cHBvcnQgKi8KKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aWZpLXRlc3Qtc3VpdGUvZmlsZXMvMDAwMy1maXgtcGF0aC10by11c3Itc2Jpbi1mb3Itc2NyaXB0LWFuZC1tYWtlLXNjcmlwdC1mb3ItLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aWZpLXRlc3Qtc3VpdGUvZmlsZXMvMDAwMy1maXgtcGF0aC10by11c3Itc2Jpbi1mb3Itc2NyaXB0LWFuZC1tYWtlLXNjcmlwdC1mb3ItLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1MTMwMmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS9maWxlcy8wMDAzLWZpeC1wYXRoLXRvLXVzci1zYmluLWZvci1zY3JpcHQtYW5kLW1ha2Utc2NyaXB0LWZvci0ucGF0Y2gKQEAgLTAsMCArMSw1OCBAQAorRnJvbSBmYzdiNzEwNmRkMGQ4ZDEyM2YyMGNiZDhkNDA4NjM3ZmJjMzE1ZTE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5raXQgTmF2aWsgPGFua2l0LnRhcm90QGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjUgRGVjIDIwMTggMDE6MTI6MzIgKzA1MzAKK1N1YmplY3Q6IFtQQVRDSCAzLzNdIGZpeCBwYXRoIHRvIC91c3Ivc2JpbiBmb3Igc2NyaXB0IGFuZCBtYWtlIHNjcmlwdCBmb3IKKyBnZW5lcmljIHNoZWxsCisKK1NpZ25lZC1vZmYtYnk6IEFua2l0IE5hdmlrIDxhbmtpdC50YXJvdEBnbWFpbC5jb20+CistLS0KKyBsaWIvd2ZhX2NzLmMgICAgICAgICAgIHwgNCArKy0tCisgc2NyaXB0cy9kZXZfc2VuZF9mcmFtZSB8IDIgKy0KKyBzY3JpcHRzL3N0YV9yZXNldF9wYXJtIHwgMiArLQorIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL3dmYV9jcy5jIGIvbGliL3dmYV9jcy5jCitpbmRleCA2YjFmNWEyLi4yYTE4NTMzIDEwMDY0NAorLS0tIGEvbGliL3dmYV9jcy5jCisrKysgYi9saWIvd2ZhX2NzLmMKK0BAIC0zMTksNyArMzE5LDcgQEAgaW50IHdmYVN0YUdldElwQ29uZmlnKGludCBsZW4sIEJZVEUgKmNhQ21kQnVmLCBpbnQgKnJlc3BMZW4sIEJZVEUgKnJlc3BCdWYpCisgICAgIC8qCisgICAgICAqIGNoZWNrIGEgc2NyaXB0IGZpbGUgKHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIHNwZWNpZmljKQorICAgICAgKi8KKy0gICAgcmV0ID0gYWNjZXNzKCIvdXNyL2xvY2FsL3NiaW4vZ2V0aXBjb25maWcuc2giLCBGX09LKTsKKysgICAgcmV0ID0gYWNjZXNzKCIvdXNyL3NiaW4vZ2V0aXBjb25maWcuc2giLCBGX09LKTsKKyAgICAgaWYocmV0ID09IC0xKQorICAgICB7CisgICAgICAgICBpcGNvbmZpZ1Jlc3AtPnN0YXR1cyA9IFNUQVRVU19FUlJPUjsKK0BAIC0yMTE1LDcgKzIxMTUsNyBAQCBpbnQgd2ZhU3RhUHJlc2V0UGFyYW1zKGludCBsZW4sIEJZVEUgKmNhQ21kQnVmLCBpbnQgKnJlc3BMZW4sIEJZVEUgKnJlc3BCdWYpCisgCSAgICBzdCA9IHJlbW92ZSgiL3RtcC9wcm9jZXNzaWQudHh0Iik7CisgCX0KKyAJCistCXNwcmludGYoY21kU3RyLCAiL3Vzci9sb2NhbC9zYmluL2ZpbmRwcm9jZXNzLnNoICVzIC90bXAvcHJvY2Vzc2lkLnR4dFxuIiwgIndwYV9zdXBwbGljYW50Iik7CisrCXNwcmludGYoY21kU3RyLCAiL3Vzci9zYmluL2ZpbmRwcm9jZXNzLnNoICVzIC90bXAvcHJvY2Vzc2lkLnR4dFxuIiwgIndwYV9zdXBwbGljYW50Iik7CisgCXN0ID0gc3lzdGVtKGNtZFN0cik7CisgCQorIAl0bXBmZCA9IGZvcGVuKCIvdG1wL3Byb2Nlc3NpZC50eHQiLCAicisiKTsKK2RpZmYgLS1naXQgYS9zY3JpcHRzL2Rldl9zZW5kX2ZyYW1lIGIvc2NyaXB0cy9kZXZfc2VuZF9mcmFtZQoraW5kZXggOWU2YWZkMy4uM2MzN2Q2MSAxMDA2NDQKKy0tLSBhL3NjcmlwdHMvZGV2X3NlbmRfZnJhbWUKKysrKyBiL3NjcmlwdHMvZGV2X3NlbmRfZnJhbWUKK0BAIC0xLDQgKzEsNCBAQAorLSMhL2Jpbi9iYXNoIAorKyMhL3Vzci9iaW4vZW52IHNoIAorIAorICMKKyAjIENvcHlyaWdodCAoYykgMjAxNiBXaS1GaSBBbGxpYW5jZQorZGlmZiAtLWdpdCBhL3NjcmlwdHMvc3RhX3Jlc2V0X3Bhcm0gYi9zY3JpcHRzL3N0YV9yZXNldF9wYXJtCitpbmRleCAyYWZmMWYxLi4yYzFjMzFlIDEwMDY0NAorLS0tIGEvc2NyaXB0cy9zdGFfcmVzZXRfcGFybQorKysrIGIvc2NyaXB0cy9zdGFfcmVzZXRfcGFybQorQEAgLTEsNCArMSw0IEBACistIyEvYmluL2Jhc2gKKysjIS91c3IvYmluL2VudiBzaAorIAorICMKKyAjIENvcHlyaWdodCAoYykgMjAxNiBXaS1GaSBBbGxpYW5jZQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS9maWxlcy8wMDA0LXJ1bi1yYW5saWItcGVyLWxpYnJhcnktYW5kLXVzZS1BUi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lmaS10ZXN0LXN1aXRlL2ZpbGVzLzAwMDQtcnVuLXJhbmxpYi1wZXItbGlicmFyeS1hbmQtdXNlLUFSLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwYWY0ODkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS9maWxlcy8wMDA0LXJ1bi1yYW5saWItcGVyLWxpYnJhcnktYW5kLXVzZS1BUi5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIGNjYTJmOTkwMWZiNGZkY2RkNDkwNjZmZTQzNGVhZTUxMjk2NDE0M2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogU2F0LCA5IEZlYiAyMDE5IDA3OjU5OjQ3IC0wODAwCitTdWJqZWN0OiBbUEFUQ0ggNC80XSBydW4gcmFubGliIHBlciBsaWJyYXJ5IGFuZCB1c2UgQVIKKworVXNlIEFSIHZhcmlhYmxlIHRvIGludm9rZSBhcmNoaXZlciBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcsIGhlbHBzIGNyb3NzCitjb21waWxlCisKK2NvbXBpbGVyIHJhbmxpYiBlLmcuIGxsdm0tcmFubGliIGZhaWxzIHRvIG9wZXJhdGUgb24gbXVsdGlwbGUgYXJjaGl2ZXMKK29uIHNpbmdsZSBpbnZvY2F0aW9uCisKK2ZpeGVzIGVycm9ycyBsaWtlCithcm0teW9lLWxpbnV4LW11c2xlYWJpLWxsdm0tcmFubGliOiBlcnJvcjogRXhhY3RseSBvbmUgYXJjaGl2ZSBzaG91bGQgYmUgc3BlY2lmaWVkLgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL1dpLUZpVGVzdFN1aXRlL1dpLUZpVGVzdFN1aXRlLUxpbnV4LURVVC9wdWxsLzQ3XQorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxpYi9NYWtlZmlsZSB8IDQgKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2xpYi9NYWtlZmlsZSBiL2xpYi9NYWtlZmlsZQoraW5kZXggMjk5YjhkNi4uNWZjYTMyMiAxMDA2NDQKKy0tLSBhL2xpYi9NYWtlZmlsZQorKysrIGIvbGliL01ha2VmaWxlCitAQCAtMjAsNyArMjAsOSBAQCBhbGw6ICAgICR7TElCX09CSlN9CisgCQkkKEFSKSBjcnYgJHtMSUJXRkFfTkFNRX0gJD8KKyAJCSQoQVIpIGNydiAke0xJQldGQV9OQU1FX0RVVH0gJHtMSUJfT0JKU19EVVR9CisgCQkkKEFSKSBjcnYgJHtMSUJXRkFfTkFNRV9DQX0gJHtMSUJfT0JKU19DQX0KKy0JCSR7UkFOTElCfSAke0xJQldGQV9OQU1FfSAke0xJQldGQV9OQU1FX0RVVH0gJHtMSUJXRkFfTkFNRV9DQX0KKysJCSR7UkFOTElCfSAke0xJQldGQV9OQU1FfQorKwkJJHtSQU5MSUJ9ICR7TElCV0ZBX05BTUVfRFVUfQorKwkJJHtSQU5MSUJ9ICR7TElCV0ZBX05BTUVfQ0F9CisgCisgd2ZhX3RnLm86IHdmYV90Zy5jIC4uL2luYy93ZmFfYWd0LmggLi4vaW5jL3dmYV90eXBlcy5oIC4uL2luYy93ZmFfcnNwLmggLi4vaW5jL3dmYV90bHYuaCAgLi4vaW5jL3dmYV90Zy5oCisgCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS93aWZpLXRlc3Qtc3VpdGVfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aWZpLXRlc3Qtc3VpdGUvd2lmaS10ZXN0LXN1aXRlX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWNmYjMyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aWZpLXRlc3Qtc3VpdGUvd2lmaS10ZXN0LXN1aXRlX2dpdC5iYgpAQCAtMCwwICsxLDM4IEBACitTVU1NQVJZICA9ICJXaS1GaSBUZXN0IFN1aXRlIExpbnV4IENvbnRyb2wgQWdlbnQiCitERVNDUklQVElPTiA9ICJXaS1GaSBUZXN0IFN1aXRlIGlzIGEgc29mdHdhcmUgcGxhdGZvcm0gb3JpZ2luYWxseSBkZXZlbG9wZWQgXAorYnkgV2ktRmkgQWxsaWFuY2UsIHRoZSBnbG9iYWwgbm9uLXByb2ZpdCBpbmR1c3RyeSBhc3NvY2lhdGlvbiB0aGF0IGJyaW5ncyB5b3UgXAorV2ktRmksIHRvIHN1cHBvcnQgY2VydGlmaWNhdGlvbiBwcm9ncmFtIGRldmVsb3BtZW50IGFuZCBkZXZpY2UgY2VydGlmaWNhdGlvbi4iCitIT01FUEFHRSA9ICJodHRwczovL3d3dy53aS1maS5vcmcvY2VydGlmaWNhdGlvbi93aS1maS10ZXN0LXN1aXRlIgorTElDRU5TRSAgPSAiSVNDIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTA1NDI0MjdlZDVjMzE1Y2EzNGFhMDlhZTdhODVlZDMyIgorU0VDVElPTiA9ICJ0ZXN0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorU1JDUkVWID0gImY3YThkN2VmN2QxYTgzMWMxYmI0N2RlMjFmYTA4MzUzNmVhMmYzYTkiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vV2ktRmlUZXN0U3VpdGUvV2ktRmlUZXN0U3VpdGUtTGludXgtRFVULmdpdCBcCisJZmlsZTovLzAwMDEtVXNlLXRvb2xjaGFpbi1mcm9tLWVudmlyb25tZW50LXZhcmlhYmxlcy5wYXRjaCBcCisJZmlsZTovLzAwMDItQWRkLW1pc3NpbmctaW5jbHVkZS1yZW1vdmVzLXVubmVkZGVkLXN0dWZmLWFuZC1hZGQtbi5wYXRjaCBcCisJZmlsZTovLzAwMDMtZml4LXBhdGgtdG8tdXNyLXNiaW4tZm9yLXNjcmlwdC1hbmQtbWFrZS1zY3JpcHQtZm9yLS5wYXRjaCBcCisJZmlsZTovLzAwMDQtcnVuLXJhbmxpYi1wZXItbGlicmFyeS1hbmQtdXNlLUFSLnBhdGNoIFwKKyIKKworIyB0byBhdm9pZCBob3N0IHBhdGggUUEgZXJyb3IKK0NGTEFHUyArPSAiLUkke1NUQUdJTkdfSU5DRElSfS90aXJwYyIKKyMgRml4IEdOVSBIQVNIIGVycm9yCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworZG9faW5zdGFsbCAoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9CisJaW5zdGFsbCAtbSAwNjQ0ICR7U30vbGliL2xpYndmYS5hICR7RH0ke2xpYmRpcn0KKwlpbnN0YWxsIC1tIDA2NDQgJHtTfS9saWIvbGlid2ZhX2NhLmEgJHtEfSR7bGliZGlyfQorCWluc3RhbGwgLW0gMDY0NCAke1N9L2xpYi9saWJ3ZmFfZHV0LmEgJHtEfSR7bGliZGlyfQorCWluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKwlpbnN0YWxsIC1tIDA3NTUgJHtTfS9kdXQvd2ZhX2R1dCAke0R9JHtzYmluZGlyfQorCWluc3RhbGwgLW0gMDc1NSAke1N9L2NhL3dmYV9jYSAke0R9JHtzYmluZGlyfQorCWluc3RhbGwgLW0gMDc1NSAke1N9L3NjcmlwdHMvKi5zaCAke0R9JHtzYmluZGlyfQorCWluc3RhbGwgLW0gMDc1NSAke1N9L3NjcmlwdHMvYXJwX25laWdoX2xvb3AgJHtEfSR7c2JpbmRpcn0KKwlpbnN0YWxsIC1tIDA3NTUgJHtTfS9zY3JpcHRzL2Rldl9zZW5kX2ZyYW1lICR7RH0ke3NiaW5kaXJ9CisJaW5zdGFsbCAtbSAwNzU1ICR7U30vc2NyaXB0cy9zdGFfcmVzZXRfcGFybSAke0R9JHtzYmluZGlyfQorfQorCitSREVQRU5EU18ke1BOfSA9ICJ3cGEtc3VwcGxpY2FudCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvemVyb21xL2N6bXFfNC4xLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9tcS9jem1xXzQuMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyZGIwMDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9tcS9jem1xXzQuMS4xLmJiCkBAIC0wLDAgKzEsMzAgQEAKK0RFU0NSSVBUSU9OID0gIkMgYmluZGluZ3MgZm9yIFplcm9NUSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuemVyb21xLm9yZyIKK0xJQ0VOU0UgPSAiTVBMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTk3NDFjMzQ2ZWVmNTYxMzExNjNlMTNiOWRiMTI0MWIzIgorREVQRU5EUyA9ICJ6ZXJvbXEiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3plcm9tcS9jem1xL3JlbGVhc2VzL2Rvd25sb2FkL3Yke1BWfS9jem1xLSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovLzAwMDEtUHJvYmxlbS1vdXQtb2YtZGF0ZS13aXRoLXpwcm9qZWN0LnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjZkM2E2ZmRkMjVjMmJiMjk4OTdjNTM2NzBkY2U5N2JmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImYwMGZmNDE5ODgxZGMyYTA1ZDA2ODZjODQ2N2NkODliNDg4MjY3N2ZjNTZmMzFjMGUyY2M4MWMxMzRjYmIwYzAiCisKK2luaGVyaXQgY21ha2UKKworUEFDS0FHRVMgPSAibGliJHtCUE59IGxpYiR7QlBOfS1kZXYgbGliJHtCUE59LXN0YXRpY2RldiAke1BOfSAke1BOfS1kYmciCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS8qIgorRklMRVNfbGliJHtCUE59ID0gIiR7bGliZGlyfS8qLnNvLioiCitGSUxFU19saWIke0JQTn0tZGV2ID0gIiR7bGliZGlyfS8qLnNvICR7bGliZGlyfS9wa2djb25maWcgJHtpbmNsdWRlZGlyfSIKK0ZJTEVTX2xpYiR7QlBOfS1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYiouYSIKKworUkRFUEVORFNfbGliJHtCUE59LWRldiA9ICJ6ZXJvbXEtZGV2IgorCitQQUNLQUdFQ09ORklHID8/PSAibHo0IHV1aWQiCitQQUNLQUdFQ09ORklHW2x6NF0gPSAiLC1EQ01BS0VfRElTQUJMRV9GSU5EX1BBQ0tBR0VfbHo0PVRSVUUsbHo0IgorUEFDS0FHRUNPTkZJR1t1dWlkXSA9ICIsLURDTUFLRV9ESVNBQkxFX0ZJTkRfUEFDS0FHRV91dWlkPVRSVUUsdXRpbC1saW51eCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvemVyb21xL2ZpbGVzLzAwMDEtUHJvYmxlbS1vdXQtb2YtZGF0ZS13aXRoLXpwcm9qZWN0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96ZXJvbXEvZmlsZXMvMDAwMS1Qcm9ibGVtLW91dC1vZi1kYXRlLXdpdGgtenByb2plY3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWY1NzAyYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvemVyb21xL2ZpbGVzLzAwMDEtUHJvYmxlbS1vdXQtb2YtZGF0ZS13aXRoLXpwcm9qZWN0LnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gZDE1NWZmZDMzNjMwZjgwYjIzYzMxYjNhNmUwMWRhMjIxZGQ5YmQxMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEx1Y2EgQm9jY2Fzc2kgPGx1Y2EuYm9jY2Fzc2lAZ21haWwuY29tPgorRGF0ZTogRnJpLCAzMCBNYXIgMjAxOCAxNjozNjoyMiArMDEwMAorU3ViamVjdDogW1BBVENIXSBQcm9ibGVtOiBvdXQgb2YgZGF0ZSB3aXRoIHpwcm9qZWN0CisKK1Vwc3RyZWFtLVN0YXR1czogYmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IEFkcmlhbiBCdW5rIDxidW5rQHN0dXN0YS5kZT4KKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IGEzYjgxNzIyLi40ZjIwMzQ2MSAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTM4LDcgKzM4LDcgQEAgaWYgKE5PVCBDTUFLRV9CVUlMRF9UWVBFKQorICAgICAgICAgICAgIE9VVFBVVF9TVFJJUF9UUkFJTElOR19XSElURVNQQUNFCisgICAgICAgICApCisgICAgICAgICBtZXNzYWdlKFNUQVRVUyAiZ2l0IHdvcmtzcGFjZSByb290IFske2dpdF9yZXN1bHR9XTogJHtnaXRfcm9vdH0iKQorLSAgICAgICAgaWYgKCAiJHtnaXRfcmVzdWx0fSIgPT0gIjAiICkKKysgICAgICAgIGlmICggIiR7Z2l0X3Jlc3VsdH0iIFNUUkVRVUFMICIwIiApCisgICAgICAgICAgICAgc2V0IChDTUFLRV9CVUlMRF9UWVBFIERlYnVnKQorICAgICAgICAgZWxzZSAoKQorICAgICAgICAgICAgIHNldCAoQ01BS0VfQlVJTERfVFlQRSBSZWxlYXNlKQorQEAgLTYwOCw3ICs2MDgsNyBAQCBhZGRfY3VzdG9tX2NvbW1hbmQoCisgICAgIFRBUkdFVCAgZGlzdGNsZWFuCisgKQorIAorLWluY2x1ZGUoQ2xhbmdGb3JtYXQpCisraW5jbHVkZShDbGFuZ0Zvcm1hdCBPUFRJT05BTCkKKyAKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjIHN1bW1hcnkKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLWJyb2tlcl8xOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2RidXMvZGJ1cy1icm9rZXJfMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJkOGI4YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2RidXMvZGJ1cy1icm9rZXJfMTkuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJkYnVzIGJyb2tlciIKK0RFU0NSSVBUSU9OID0gIkRyb3AtaW4gcmVwbGFjZW1lbnQgZm9yIGRidXMtZGFlbW9uLiIKKworU0VDVElPTiA9ICJiYXNlIgorCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT03YjQ4NmMyMzM4ZDIyNWExNDA1ZDk3OWVkMmMxNWNlOCIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vYnVzMS9kYnVzLWJyb2tlci9yZWxlYXNlcy9kb3dubG9hZC92JHtQVn0vZGJ1cy1icm9rZXItJHtQVn0udGFyLnh6IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE2NDgyMjdmNWEzNDdkNGYzOGQ4YTI5YmI5Mjk1YTczYTI1YzNmZWI0ZjNlNzllM2YwNGNjODQ3MzQzZGEzZWQiCisKK2luaGVyaXQgbWVzb24gcGtnY29uZmlnIHN5c3RlbWQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK0RFUEVORFMgPSAiZXhwYXQgc3lzdGVtZCIKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInN5c3RlbWQiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0JQTn0uc2VydmljZSIKKworRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0iCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9kYnVzL2RidXMtYnJva2VyX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2RidXMvZGJ1cy1icm9rZXJfZ2l0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYzBmMzI1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2RidXMvZGJ1cy1icm9rZXJfZ2l0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotU1VNTUFSWSA9ICJkYnVzIGJyb2tlciIKLURFU0NSSVBUSU9OID0gIkRyb3AtaW4gcmVwbGFjZW1lbnQgZm9yIGRidXMtZGFlbW9uLiIKLQotU0VDVElPTiA9ICJiYXNlIgotCi1MSUNFTlNFID0gIkFwYWNoZS0yLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT03YjQ4NmMyMzM4ZDIyNWExNDA1ZDk3OWVkMmMxNWNlOCIKLQotREVQRU5EUyA9ICJkYnVzIGdsaWItMi4wIGV4cGF0IgotCi1QViA9ICIxNitnaXQke1NSQ1BWfSIKLVNSQ1JFViA9ICJmYzg3NGFmYTA5OTJkMGM3NWVjMjVhY2I0M2QzNDQ2NzlmMGVlN2QyIgotCi1TUkNfVVJJID0gImdpdHNtOi8vZ2l0aHViLmNvbS9idXMxL2RidXMtYnJva2VyO3Byb3RvY29sPWdpdCIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBtZXNvbiBwa2djb25maWcgc3lzdGVtZCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotRVhUUkFfT0VNRVNPTiArPSAiLURkb2NzPWZhbHNlIgotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAic3lzdGVtZCIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QlBOfS5zZXJ2aWNlIgotCi1GSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSIKLUZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdXNlcl91bml0ZGlyfSIKLQotUkRFUEVORFNfJHtQTn0gPSAiZGJ1cyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2VsbC9lbGwvMDAwMS1kaGNwLWluY2x1ZGUtaWZfYXJwLmgtZnJvbS1saWJjLWluc3RlYWQtb2YtbGludXgtaGVhLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZWxsL2VsbC8wMDAxLWRoY3AtaW5jbHVkZS1pZl9hcnAuaC1mcm9tLWxpYmMtaW5zdGVhZC1vZi1saW51eC1oZWEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkYTY1NDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZWxsL2VsbC8wMDAxLWRoY3AtaW5jbHVkZS1pZl9hcnAuaC1mcm9tLWxpYmMtaW5zdGVhZC1vZi1saW51eC1oZWEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1Gcm9tIGQ4MjM2ZDFkNzg5ZjQ5NmExOTNkYWU1ZDJhMTVkNzA2YjgxZjY0ODIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/TWFydGluPTIwSHVuZGViPUMzPUI4bGw/PSA8bWFydGluQGdlYW5peC5jb20+Ci1EYXRlOiBUaHUsIDEyIEp1bCAyMDE4IDEwOjE5OjUwICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGRoY3A6IGluY2x1ZGUgaWZfYXJwLmggZnJvbSBsaWJjIGluc3RlYWQgb2YgbGludXggaGVhZGVycwotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotVG86IGVsbEBsaXN0cy4wMS5vcmcKLQotQ29tcGlsYXRpb24gd2l0aCBtdXNsIGxpYmMgZmFpbHMgZHVlIHRvIHJlZGVmaW5pdGlvbiBvZiAnc3RydWN0Ci1hcnB7cmVxLHJlcV9vbGQsaGRyfScgaW4gbGludXgvaWZfYXJwLmgsIHNpbmNlIGl0IGlzIGFscmVhZHkgZGVmaW5lZCBhbmQKLWluY2x1ZGVkIGluIG5ldC9pZl9hcnAuaCAodGhyb3VnaCBuZXQvZXRoZXJuZXQuaCAtPiBuZXQvaWZfZXRoZXIuaCkuCi0KLVRoZSBvbmx5IHN5bWJvbHMgdXNlZCBmcm9tIGlmX2FycC5oIGlzIEFSUEhSRF9FVEhFUiwgc28gaXQgc2hvdWxkIGJlCi1zYWZlIHRvIGF2b2lkIHRoZSBjb21waWxlIGVycm9yIGJ5IGluY2x1ZGluZyB0aGUgaWZfYXJwLmggaGVhZGVyIGZyb20KLXRoZSBjLWxpYnJhcnkgaW5zdGVhZC4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9saXN0cy4wMS5vcmcvcGlwZXJtYWlsL2VsbC8yMDE4LUp1bHkvMDAxMjQ0Lmh0bWxdCi1TaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSHVuZGViw7hsbCA8bWFydGluQGdlYW5peC5jb20+Ci0tLS0KLSBlbGwvZGhjcC5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvZWxsL2RoY3AuYyBiL2VsbC9kaGNwLmMKLWluZGV4IDZjOTAzNzAuLjBkOTlmNzQgMTAwNjQ0Ci0tLS0gYS9lbGwvZGhjcC5jCi0rKysgYi9lbGwvZGhjcC5jCi1AQCAtMjcsNyArMjcsNyBAQAotICNpbmNsdWRlIDxuZXRpbmV0L2lwLmg+Ci0gI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgotICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgotLSNpbmNsdWRlIDxsaW51eC9pZl9hcnAuaD4KLSsjaW5jbHVkZSA8bmV0L2lmX2FycC5oPgotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDx0aW1lLmg+Ci0gCi0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lbGwvZWxsXzAuMTcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lbGwvZWxsXzAuMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdmMTFjZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2VsbC9lbGxfMC4xNy5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZICA9ICJFbWJlZGRlZCBMaW51eCBMaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiRUxMIGlzIGEgREJVUyBsaWJyYXJ5IHdoaWNoIHByb3ZpZGVzIERCVVMgYmluZGluZ3MuIgorTElDRU5TRSAgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYjUwNGI2N2M1MDMzMWZjNzg3MzRmZWQ5MGZiMGUwOSIKK1NFQ1RJT04gPSAibGlicyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCitTUkNSRVYgPSAiZWJjMDIxY2VlM2IyZDIwY2EyYWY1ZTNlZDAyNDk1ZGE2MTZiMmZkMyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saWJzL2VsbC9lbGwuZ2l0IgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgbWtkaXIgLXAgJHtTfS9idWlsZC1hdXgKK30KKworREVQRU5EUyA9ICJkYnVzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZWxsL2VsbF8wLjguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lbGwvZWxsXzAuOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDQyOGNhYi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lbGwvZWxsXzAuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVNVTU1BUlkgID0gIkVtYmVkZGVkIExpbnV4IExpYnJhcnkiCi1ERVNDUklQVElPTiA9ICJFTEwgaXMgYSBEQlVTIGxpYnJhcnkgd2hpY2ggcHJvdmlkZXMgREJVUyBiaW5kaW5ncy4iCi1MSUNFTlNFICA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiNTA0YjY3YzUwMzMxZmM3ODczNGZlZDkwZmIwZTA5IgotU0VDVElPTiA9ICJsaWJzIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLVNSQ1JFViA9ICJkNTcyMjgxY2FlZGVmMzU3YzM5MmE3YzlhYTY1YTNiMjFhMThjZmRiIgotU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpYnMvZWxsL2VsbC5naXQiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLSAgICBta2RpciAtcCAke1N9L2J1aWxkLWF1eAotfQotCi1ERVBFTkRTID0gImRidXMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW0vcmVtb3ZlLWV4YW1wbGVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYm1tL3JlbW92ZS1leGFtcGxlcy5wYXRjaAppbmRleCBkMzJmZTc4Li40MmYyNTIwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW0vcmVtb3ZlLWV4YW1wbGVzLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWJtbS9yZW1vdmUtZXhhbXBsZXMucGF0Y2gKQEAgLTEsNiArMSw3IEBACi1Gcm9tIGY0OGE2OWZkMTFiMmVkYTZjNDNmZjA0NmMyMDJjYmM0ZGNkNGU5MmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDUyMzYwMjYwYzBkNzNhMDAwODJkODY3YmM0MTYyMjVmYmMyYjY1N2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgogRGF0ZTogVHVlLCAxMiBKdWwgMjAxMSAxMTo0NjozNyArMDIwMAorU3ViamVjdDogW1BBVENIXSBnbGlibW06IGFkZCAyLjI4LjIKIAogLS0tCiAgTWFrZWZpbGUuYW0gIHwgNyArLS0tLS0tCkBAIC04LDcgKzksNyBAQAogIDIgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDcgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCi1pbmRleCBhMGRmOGFmLi5jM2Q1ZTA2IDEwMDY0NAoraW5kZXggMWIzNjZiNC4uMGZmNThiNSAxMDA2NDQKIC0tLSBhL01ha2VmaWxlLmFtCiArKysgYi9NYWtlZmlsZS5hbQogQEAgLTIzLDEyICsyMyw3IEBAIHNyY19zdWJkaXJzID0gZ2xpYi9zcmMgZ2lvL3NyYwpAQCAtMjYsNyArMjcsNyBAQAogIGdsaWJtbV9pbmNsdWRlZGlyID0gJChpbmNsdWRlZGlyKS8kKEdMSUJNTV9NT0RVTEVfTkFNRSkKICBnbGlibW1faW5jbHVkZV9IRUFERVJTID0gZ2xpYi9nbGlibW0uaAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggYzIwZTc3OC4uNzQyMDNiZSAxMDA2NDQKK2luZGV4IGU3MDY2ODcuLjE5OGUwZDAgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuYWMKICsrKyBiL2NvbmZpZ3VyZS5hYwogQEAgLTE2Niw3ICsxNjYsNiBAQCBBQ19DT05GSUdfRklMRVMoW01ha2VmaWxlCkBAIC0zNiw0ICszNyw0IEBACiAtICAgICAgICAgICAgICAgICBleGFtcGxlcy9NYWtlZmlsZQogICAgICAgICAgICAgICAgICAgZG9jcy9NYWtlZmlsZQogICAgICAgICAgICAgICAgICAgZG9jcy9yZWZlcmVuY2UvRG94eWZpbGUKLSAgICAgICAgICAgICAgICAgIE1TVkNfTmV0MjAxMy9nbGlibW0vZ2xpYm1tLnJjCisgICAgICAgICAgICAgICAgICBNU1ZDX05NYWtlL2dsaWJtbS9nbGlibW0ucmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWJtbV8yLjU2LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW1fMi41Ni4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjA0OGQyLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWJtbV8yLjU2LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1TVU1NQVJZID0gIkMrKyBiaW5kaW5ncyBmb3IgdGhlIGdsaWIgbGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3RrbW0ub3JnLyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQyZGZmZmViYzU2ZmVjNzUyN2FhYzUzYjdhODlkMWQ4IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcudG9vbHM7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgotCi1ERVBFTkRTID0gIm1tLWNvbW1vbiBnbGliLTIuMCBsaWJzaWdjKystMi4wIGdsaWItMi4wLW5hdGl2ZSIKLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1TSFJUX1ZFUiA9ICIke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzBdfS4ke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzFdfSIKLQotU1JDX1VSSSA9ICIgXAotICAgIGZ0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvZ2xpYm1tLyR7U0hSVF9WRVJ9L2dsaWJtbS0ke1BWfS50YXIueHogXAotICAgIGZpbGU6Ly9yZW1vdmUtZXhhbXBsZXMucGF0Y2ggXAotIgotU1JDX1VSSVttZDVzdW1dID0gIjVhYTdhNjAwODRmZTNlMDFkNzQ2Yzk2ZjRhMTE1MzAyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZlNzRmY2JhMGQyNDU0NTFjNThmYzhhMTk2ZTlkMTAzNzg5YmM1MTBlMWVlZTFhOWIxZTgxNmM1MjA5ZTc5YTkiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZ2xpYm1tLTIuNAotICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vYWNsb2NhbAotCi0gICAgaW5zdGFsbCAtbSAwNjQ0IGdsaWIvZ2xpYm1tY29uZmlnLmggJHtEfSR7ZGF0YWRpcn0vZ2xpYm1tLTIuNC8KLSAgICBpbnN0YWxsIC1tIDA2NDQgc2NyaXB0cy9nbGlibW1fY2hlY2tfcGVybC5tNCAke0R9JHtkYXRhZGlyfS9hY2xvY2FsLyB8fCB0cnVlCi0KLSAgICBmb3IgaSBpbiBnZW5lcmF0ZV93cmFwX2luaXQucGwgZ21tcHJvYzsgZG8KLSAgICAgICAgc2VkIC1pIC1lICcxcywuKiwjISR7YmluZGlyfS9lbnYgcGVybCwnICR7RH0ke2xpYmRpcn0vZ2xpYm1tLTIuNC9wcm9jLyRpCi0gICAgZG9uZQotfQotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKi5zby4qIgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9L2dsaWJtbS0qICR7bGliZGlyfS9nbGlibW0tMi40L2luY2x1ZGUvICR7bGliZGlyfS9nbGlibW0tMi40L3Byb2MvICR7bGliZGlyfS9naW9tbS0yLjQvaW5jbHVkZS8iCi0KLVJERVBFTkRTXyR7UE59LWRldiA9ICJwZXJsIgotU0VDVVJJVFlfQ0ZMQUdTID0gIiR7U0VDVVJJVFlfTk9fUElFX0NGTEFHU30iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW1fMi41OC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYm1tXzIuNTguMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44N2FiMGNiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYm1tXzIuNTguMS5iYgpAQCAtMCwwICsxLDM2IEBACitTVU1NQVJZID0gIkMrKyBiaW5kaW5ncyBmb3IgdGhlIGdsaWIgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3RrbW0ub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQyZGZmZmViYzU2ZmVjNzUyN2FhYzUzYjdhODlkMWQ4IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcudG9vbHM7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitERVBFTkRTID0gIm1tLWNvbW1vbiBnbGliLTIuMCBsaWJzaWdjKystMi4wIGdsaWItMi4wLW5hdGl2ZSIKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTSFJUX1ZFUiA9ICIke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzBdfS4ke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzFdfSIKKworU1JDX1VSSSA9ICIgXAorICAgIGZ0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvZ2xpYm1tLyR7U0hSVF9WRVJ9L2dsaWJtbS0ke1BWfS50YXIueHogXAorICAgIGZpbGU6Ly9yZW1vdmUtZXhhbXBsZXMucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjc3ZjEwMTZjYmIyN2UxNWQ0ZTA0YTJiN2JmZGI0Y2FlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZlNWZlMDNiZGYxZTIyMGVlZmZkNTQzZTAxN2ZkMmZiMTViY2VjOTIzNWYwZmZkNTA2NzRhZmY5MzYyYTg1ZjAiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZ2xpYm1tLTIuNAorICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vYWNsb2NhbAorCisgICAgaW5zdGFsbCAtbSAwNjQ0IGdsaWIvZ2xpYm1tY29uZmlnLmggJHtEfSR7ZGF0YWRpcn0vZ2xpYm1tLTIuNC8KKyAgICBpbnN0YWxsIC1tIDA2NDQgc2NyaXB0cy9nbGlibW1fY2hlY2tfcGVybC5tNCAke0R9JHtkYXRhZGlyfS9hY2xvY2FsLyB8fCB0cnVlCisKKyAgICBmb3IgaSBpbiBnZW5lcmF0ZV93cmFwX2luaXQucGwgZ21tcHJvYzsgZG8KKyAgICAgICAgc2VkIC1pIC1lICcxcywuKiwjISR7YmluZGlyfS9lbnYgcGVybCwnICR7RH0ke2xpYmRpcn0vZ2xpYm1tLTIuNC9wcm9jLyRpCisgICAgZG9uZQorfQorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKi5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9L2dsaWJtbS0qICR7bGliZGlyfS9nbGlibW0tMi40L2luY2x1ZGUvICR7bGliZGlyfS9nbGlibW0tMi40L3Byb2MvICR7bGliZGlyfS9naW9tbS0yLjQvaW5jbHVkZS8iCisKK1JERVBFTkRTXyR7UE59LWRldiA9ICJwZXJsIgorU0VDVVJJVFlfQ0ZMQUdTID0gIiR7U0VDVVJJVFlfTk9fUElFX0NGTEFHU30iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJzaWdjKystMi4wL2xpYnNpZ2MrKy0yLjBfMi4xMC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGlic2lnYysrLTIuMC9saWJzaWdjKystMi4wXzIuMTAuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTNiZDVkZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJzaWdjKystMi4wL2xpYnNpZ2MrKy0yLjBfMi4xMC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotU1VNTUFSWSA9ICJBIGxpYnJhcnkgZm9yIGxvb3NlIGNvdXBsaW5nIG9mIEMrKyBtZXRob2QgY2FsbHMiCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIkxHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDgwNDVmM2I4ZjkyOWMxY2IyOWExZTNmZDczN2I0OTkiCi0KLURFUEVORFMgPSAibW0tY29tbW9uIgotCi1TUkNfVVJJID0gImh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzL2xpYnNpZ2MrKy8yLjEwL2xpYnNpZ2MrKy0ke1BWfS50YXIueHoiCi1TUkNfVVJJW21kNXN1bV0gPSAiNzBiY2JkZTJjOTAwZTQ5MjVkNmVmNGJmNTA5NTQxOTUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjg0M2Q2MzQ2MjYwYmZjYjQ0MjYyNTllMzE0NTEyYjk5ZTI5NmU4Y2EyNDFkNzcxZDIxYWM2NGYyODI5OGQ4MSIKLQotUyA9ICIke1dPUktESVJ9L2xpYnNpZ2MrKy0ke1BWfSIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotRVhUUkFfQVVUT1JFQ09ORiA9ICItLWV4Y2x1ZGU9YXV0b2hlYWRlciIKLQotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vc2lnYysrLSovIgotRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9L2RldmhlbHAiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotU0VDVVJJVFlfQ0ZMQUdTID0gIiR7U0VDVVJJVFlfTk9fUElFX0NGTEFHU30iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJzaWdjKystMi4wL2xpYnNpZ2MrKy0yLjBfMi4xMC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGlic2lnYysrLTIuMC9saWJzaWdjKystMi4wXzIuMTAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjA1NGExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGlic2lnYysrLTIuMC9saWJzaWdjKystMi4wXzIuMTAuMS5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkEgbGlicmFyeSBmb3IgbG9vc2UgY291cGxpbmcgb2YgQysrIG1ldGhvZCBjYWxscyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSIKKworREVQRU5EUyA9ICJtbS1jb21tb24iCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvbGlic2lnYysrLzIuMTAvbGlic2lnYysrLSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NDljZmZiZGI3MmZhMTA1Yjc4Mjc1NmYyNzEzZmZjNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjOWEyNWYyNjE3OGM2Y2JiMTQ3Zjk5MDRkOGM1MzNiNWE1YzUxMTFhNDFhYzJlYjc4MWViNzM0ZWVhNDQ2MDAzIgorCitTID0gIiR7V09SS0RJUn0vbGlic2lnYysrLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scworCitFWFRSQV9BVVRPUkVDT05GID0gIi0tZXhjbHVkZT1hdXRvaGVhZGVyIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9zaWdjKystKi8iCitGSUxFU18ke1BOfS1kb2MgKz0gIiR7ZGF0YWRpcn0vZGV2aGVscCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCitTRUNVUklUWV9DRkxBR1MgPSAiJHtTRUNVUklUWV9OT19QSUVfQ0ZMQUdTfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL25kY3RsL25kY3RsX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL25kY3RsL25kY3RsX2dpdC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDQ4ZjE2Ni4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9uZGN0bC9uZGN0bF9naXQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1TVU1NQVJZID0gImxpYm52ZGltbSB1dGlsaXR5IGxpYnJhcnkiCi1ERVNDUklQVElPTiA9ICJVdGlsaXR5IGxpYnJhcnkgZm9yIG1hbmFnaW5nIHRoZSBsaWJudmRpbW0gXAotKG5vbi12b2xhdGlsZSBtZW1vcnkgZGV2aWNlKSBzdWItc3lzdGVtIGluIHRoZSBMaW51eCBrZXJuZWwuIFwKLVRoZSBMSUJOVkRJTU0gc3Vic3lzdGVtIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRocmVlIHR5cGVzIG9mIFwKLU5WRElNTXMsIG5hbWVseSxQTUVNLCBCTEssIGFuZCBOVkRJTU0gZGV2aWNlcyB0aGF0IGNhbiBcCi1zaW11bHRhbmVvdXNseSBzdXBwb3J0IGJvdGggUE1FTSBhbmQgQkxLIG1vZGUgYWNjZXNzLiIKLUhPTUVQQUdFID0gImh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvY2dpdC9saW51eC9rZXJuZWwvZ2l0L252ZGltbS9udmRpbW0uZ2l0L3RyZWUvRG9jdW1lbnRhdGlvbi9udmRpbW0vbnZkaW1tLnR4dD9oPWxpYm52ZGltbS1mb3ItbmV4dCIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTY2NjUxODA5Y2FjNWRhNjBjOGI4MGU5ZTRlNzllMDgiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgbW9kdWxlLWJhc2UgYmFzaC1jb21wbGV0aW9uIHN5c3RlbWQKLQotIyB2NjIKLVNSQ1JFViA9ICIxMWY1NjBmNDA0OGMxZDM4YjcwMTFhNDk1NjY4NzFhMWU4YTA3Yzk0IgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3BtZW0vbmRjdGwuZ2l0IgotCi1ERVBFTkRTID0gInZpcnR1YWwva2VybmVsIGttb2QgdWRldiBqc29uLWMiCi0KLVBWID0gInY2MitnaXQke1NSQ1BWfSIKLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLUVYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtdGVzdCAtLWVuYWJsZS1kZXN0cnVjdGl2ZSAtLWRpc2FibGUtZG9jcyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWQtdW5pdC1kaXI9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSwgLS13aXRob3V0LXN5c3RlbWQtdW5pdC1kaXIsIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICAke1N9L2F1dG9nZW4uc2gKLX0KLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm5kY3RsLW1vbml0b3Iuc2VydmljZSIKLQotQ09NUEFUSUJMRV9IT1NUPScoeDg2XzY0KS4qJwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbmRjdGwvbmRjdGxfdjYzLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbmRjdGwvbmRjdGxfdjYzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmM2FiZjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9uZGN0bC9uZGN0bF92NjMuYmIKQEAgLTAsMCArMSwzMCBAQAorU1VNTUFSWSA9ICJsaWJudmRpbW0gdXRpbGl0eSBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiVXRpbGl0eSBsaWJyYXJ5IGZvciBtYW5hZ2luZyB0aGUgbGlibnZkaW1tIFwKKyhub24tdm9sYXRpbGUgbWVtb3J5IGRldmljZSkgc3ViLXN5c3RlbSBpbiB0aGUgTGludXgga2VybmVsLiBcCitUaGUgTElCTlZESU1NIHN1YnN5c3RlbSBwcm92aWRlcyBzdXBwb3J0IGZvciB0aHJlZSB0eXBlcyBvZiBcCitOVkRJTU1zLCBuYW1lbHksUE1FTSwgQkxLLCBhbmQgTlZESU1NIGRldmljZXMgdGhhdCBjYW4gXAorc2ltdWx0YW5lb3VzbHkgc3VwcG9ydCBib3RoIFBNRU0gYW5kIEJMSyBtb2RlIGFjY2Vzcy4iCitIT01FUEFHRSA9ICJodHRwczovL2dpdC5rZXJuZWwub3JnL2NnaXQvbGludXgva2VybmVsL2dpdC9udmRpbW0vbnZkaW1tLmdpdC90cmVlL0RvY3VtZW50YXRpb24vbnZkaW1tL252ZGltbS50eHQ/aD1saWJudmRpbW0tZm9yLW5leHQiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU2NjY1MTgwOWNhYzVkYTYwYzhiODBlOWU0ZTc5ZTA4IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIGJhc2gtY29tcGxldGlvbiBzeXN0ZW1kCisKK1NSQ1JFViA9ICJjYjJkNjc4ZGQ2ZDI4NmRkOTZkMzE1NDhjMzI0NDlhOGI4ODNhZTMyIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3BtZW0vbmRjdGwuZ2l0IgorCitERVBFTkRTID0gInZpcnR1YWwva2VybmVsIGttb2QgdWRldiBqc29uLWMiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtdGVzdCAtLWVuYWJsZS1kZXN0cnVjdGl2ZSAtLWRpc2FibGUtZG9jcyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywnc3lzdGVtZCcsJycsZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZCwgLS13aXRob3V0LXN5c3RlbWQsIHN5c3RlbWQiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICR7U30vYXV0b2dlbi5zaAorfQorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibmRjdGwtbW9uaXRvci5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRV8ke1BOfSA9ICJkaXNhYmxlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1vZS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtb2UuYmIKaW5kZXggNjJmMWM3Ny4uNWZjZjk4OSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1vZS5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLW9lLmJiCkBAIC0xMzYsOCArMTM2LDcgQEAKICAgICBsaWJwd3F1YWxpdHkgbGlicWIgbGlidWlvIFwKICAgICBsb2NrZmlsZS1wcm9ncyBsb2d3YXRjaCBscHJuZyBtYWlseCBtZDVkZWVwIFwKICAgICBtb3pqcyBtcmFhIG5hbmEgbmljc3RhdCBcCi0gICAgcDd6aXAgcDhwbGF0Zm9ybSBsaWJmaWxlLWZubWF0Y2gtcGVybCBwb2xraXQgXAotICAgIHBvbGtpdC1ncm91cC1ydWxlLWRhdGV0aW1lIHBvbGtpdC1ncm91cC1ydWxlLW5ldHdvcmsgXAorICAgIHA3emlwIHA4cGxhdGZvcm0gbGliZmlsZS1mbm1hdGNoLXBlcmwgXAogICAgIHJhcnBkIHJlZGlzIHJyZHRvb2wgbGliZmFzdGpzb24gbGlicmVscCByc3lzbG9nIHNhbmxvY2sgXAogICAgIHNibGltLWNtcGktZGV2ZWwgc2JsaW0tc2ZjLWNvbW1vbiBzYmxpbS1zZmNjIFwKICAgICBzY3NpcmFzdG9vbHMgc2dwaW8gc21hcnRtb250b29scyBzbmFwcHkgY2FuLWlzb3RwIFwKQEAgLTE0OCw2ICsxNDcsOCBAQAogICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAiYmx1ZXoiLCAiY29sbGVjdGQiLCAiIiwgZCl9IFwKICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInBhbSIsICJwYW0tcGx1Z2luLWNjcmVkcyBwYW0tcGx1Z2luLWxkYXBkYiIsICIiLCBkKX0gXAogICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAicGFtIiwgInBhbS1zc2gtYWdlbnQtYXV0aCBvcGVud3NtYW4gc2JsaW0tc2ZjYiAiLCAiIiwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInBvbGtpdCIsICJwb2xraXQgcG9sa2l0LWdyb3VwLXJ1bGUtZGF0ZXRpbWUgIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJwb2xraXQiLCAicG9sa2l0LWdyb3VwLXJ1bGUtbmV0d29yayAiLCAiIiwgZCl9IFwKICAgICAke0BiYi51dGlscy5jb250YWlucygiQkJQQVRIIiwgIm1ldGEtcHl0aG9uIiwgIm9wZW5sbWktdG9vbHMiLCAiIiwgZCl9IFwKICAgICAiCiBSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1vZS1leHRlbmRlZF9yZW1vdmVfbWlwc2FyY2ggPSAidXBtIG1yYWEgdGlwdG9wIgpAQCAtMjI1LDcgKzIyNiw3IEBACiAgICAgYW50aHkgYXNpbyBhdG9wIGF1Z2VhcyBhdnJvLWMgYmR3Z2MgZnJhbWUgZ3JhaWwgXAogICAgIGNjaWQgY2VyZXMtc29sdmVyIGNrZXJtaXQgY3BwcmVzdCBjdGFwaS1jb21tb24gZGFlbW9uaXplIFwKICAgICBkYWVtb250b29scyBkZWJzdW1zIGRldm1lbTIgZGZ1LXV0aWwgZGZ1LXV0aWwtbmF0aXZlIGRpZ2l0ZW1wIFwKLSAgICBkc3RhdCBlamVjdCBlbmNhIGVwZWcgZXNwZWFrIGVzcGVhay1kYXRhIGZic2V0IGZic2V0LW1vZGVzIFwKKyAgICBkc3RhdCBlamVjdCBlbmNhIGVwZWcgZXNwZWFrIGZic2V0IGZic2V0LW1vZGVzIFwKICAgICBmZnR3IGZsdGstbmF0aXZlIGdkIGdmbGFncyBnbG9nIGdudWxpYiBncGVyZnRvb2xzIFwKICAgICBncG0gZ3JhZG0gZ3NsIGdzb2FwIGhkZHRlbXAgaGlkYXBpIGh0b3AgaHVuc3BlbGwgaHdkYXRhIGlrc2VtZWwgXAogICAgIGxpYmluaWggaW5vdGlmeS10b29scyBqb2UgbGNtcyBsY292IGxpYmF0YXNtYXJ0IGxpYmJ5dGVzaXplIFwKQEAgLTI0Miw3ICsyNDMsNyBAQAogICAgIHNqZjI0MTAtbGludXgtbmF0aXZlIHNhdHlyIHNkcGFybSBwdHktZm9yd2FyZC1uYXRpdmUgc2VyaWFsLWZvcndhcmQgXAogICAgIHNnMy11dGlscyBzaGFydXRpbHMgc21lbSBzcGl0b29scyBzcmVjb3JkIHNzaWFwaSBzdGFydC1zdG9wLWRhZW1vbiBzdG0zMmZsYXNoIFwKICAgICBzeXNsb2ctbmcgc3lzdGVtLWNvbmZpZy1rZXlib2FyZCB0YmIgdGhpbi1wcm92aXNpb25pbmctdG9vbHMgdG9reW9jYWJpbmV0IFwKLSAgICB0cmVlIHVkaXNrcyB1ZGlza3MyIHVodWJjdGwgdW5peG9kYmMgdXBvd2VyIHVyaXBhcnNlciB1c2ItbW9kZXN3aXRjaCBcCisgICAgdHJlZSB1aHViY3RsIHVuaXhvZGJjIHVyaXBhcnNlciB1c2ItbW9kZXN3aXRjaCBcCiAgICAgdXNiLW1vZGVzd2l0Y2gtZGF0YSB1c2JwYXRoIHV0aGFzaCB1dG91Y2gtZXZlbXUgdXRvdWNoLWZyYW1lIFwKICAgICB2aW0gdmltLXRpbnkgd2Vic29ja2V0cHAgd21pY29uZmlnIHhkZWx0YTMgeGRnLXVzZXItZGlycyB4bWxzdGFybGV0IFwKICAgICB6YmFyIHppbGUgXApAQCAtMjUwLDYgKzI1MSw3IEBACiAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJwdWxzZWFkaW8gYmx1ZXo0IiwgImxpYmNhbmJlcnJhIiwgIiIsIGQpfSBcCiAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEgcGFtIiwgInhvcmd4cmRwIHhyZHAiLCAiIiwgZCl9IFwKICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgImJsdWV6NCIsICJwcm9jbWFpbCIsICIiLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAicG9sa2l0IiwgInVkaXNrcyB1ZGlza3MyIHVwb3dlciIsICIiLCBkKX0gXAogICAgICR7TkUxMH0gXAogICAgICIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGx5bW91dGgvZmlsZXMvMDAwMi1GaXgtYnVpbGQtd2l0aC1nbGliYy0yLjI4LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGx5bW91dGgvZmlsZXMvMDAwMi1GaXgtYnVpbGQtd2l0aC1nbGliYy0yLjI4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NjM4Zjc1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BseW1vdXRoL2ZpbGVzLzAwMDItRml4LWJ1aWxkLXdpdGgtZ2xpYmMtMi4yOC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLUZyb20gMGMwMzQ1MzAzYjc5NzFkNmNlYzQ3OGZkOGI4MWQ2NGJjMWZiZTBmNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDIxIEF1ZyAyMDE4IDIzOjI2OjQ1ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCB3aXRoID49IGdsaWJjIDIuMjgKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotU3RvbGVuIGZyb20gWzFdCi0KLVsxXSBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIxOTEKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvbGlicGx5LXNwbGFzaC1jb3JlL3BseS10ZXJtaW5hbC5jIHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvbGlicGx5LXNwbGFzaC1jb3JlL3BseS10ZXJtaW5hbC5jIGIvc3JjL2xpYnBseS1zcGxhc2gtY29yZS9wbHktdGVybWluYWwuYwotaW5kZXggYTA5NTRmMi4uZjNiMzJmZSAxMDA2NDQKLS0tLSBhL3NyYy9saWJwbHktc3BsYXNoLWNvcmUvcGx5LXRlcm1pbmFsLmMKLSsrKyBiL3NyYy9saWJwbHktc3BsYXNoLWNvcmUvcGx5LXRlcm1pbmFsLmMKLUBAIC0zMiw2ICszMiw3IEBACi0gI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0rI2luY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4KLSAjaW5jbHVkZSA8dGVybWlvcy5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSAjaW5jbHVkZSA8d2NoYXIuaD4KLS0tIAotMi4xNC40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BseW1vdXRoL3BseW1vdXRoXzAuOS4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGx5bW91dGgvcGx5bW91dGhfMC45LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1YjE2YzkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGx5bW91dGgvcGx5bW91dGhfMC45LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi1TVU1NQVJZID0gIlBseW1vdXRoIGlzIGEgcHJvamVjdCBmcm9tIEZlZG9yYSBwcm92aWRpbmcgYSBmbGlja2VyLWZyZWUgZ3JhcGhpY2FsIGJvb3QgcHJvY2Vzcy4iCi0KLURFU0NSSVBUSU9OID0gIlBseW1vdXRoIGlzIGFuIGFwcGxpY2F0aW9uIHRoYXQgcnVucyB2ZXJ5IGVhcmx5IGluIHRoZSBib290IHByb2Nlc3MgXAotICAgIChldmVuIGJlZm9yZSB0aGUgcm9vdCBmaWxlc3lzdGVtIGlzIG1vdW50ZWQhKSB0aGF0IHByb3ZpZGVzIGEgXAotICAgIGdyYXBoaWNhbCBib290IGFuaW1hdGlvbiB3aGlsZSB0aGUgYm9vdCBwcm9jZXNzIGhhcHBlbnMgaW4gdGhlIGJhY2tncm91bmQuIFwKLSIKLQotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9QbHltb3V0aCIKLVNFQ1RJT04gPSAiYmFzZSIKLQotTElDRU5TRSA9ICJHUEx2MisiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgotCi1ERVBFTkRTID0gImxpYmNhcCBsaWJwbmcgY2Fpcm8gZGJ1cyB1ZGV2IgotUFJPVklERVMgPSAidmlydHVhbC9wc3BsYXNoIgotUlBST1ZJREVTXyR7UE59ID0gInZpcnR1YWwtcHNwbGFzaCB2aXJ0dWFsLXBzcGxhc2gtc3VwcG9ydCIKLQotU1JDX1VSSSA9ICIgXAotICAgIGh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlL3BseW1vdXRoL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuYnoyIFwKLSAgICBmaWxlOi8vMDAwMS1NYWtlLWZ1bGwtcGF0aC10by1zeXN0ZW1kLXR0eS1hc2stcGFzc3dvcmQtYWdlbnQtY29uLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMi1GaXgtYnVpbGQtd2l0aC1nbGliYy0yLjI4LnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICJmZjQyMDk5NGRlYjdlYTIwM2RmNjc4ZGY5MmU3YWI3ZCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyZjBjZTgyMDQyY2Y5YzdlYWRkMjUxN2ExZjc0YzhhODVmYTg2OTk3ODFkOWYyOTRhMDZlYWRlMjlmYmVkNTdmIgotCi1FWFRSQV9PRUNPTkYgKz0gIiAtLWVuYWJsZS1zaGFyZWQgLS1kaXNhYmxlLXN0YXRpYyAtLWRpc2FibGUtZ3RrIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uIFwKLSAgICAtLXdpdGgtbG9nbz0ke0xPR099IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnLS1lbmFibGUtc3lzdGVtZC1pbnRlZ3JhdGlvbiAtLXdpdGgtc3lzdGVtLXJvb3QtaW5zdGFsbCAtLXdpdGgtc3lzdGVtZC10dHktYXNrLXBhc3N3b3JkLWFnZW50PSR7YmFzZV9iaW5kaXJ9L3N5c3RlbWQtdHR5LWFzay1wYXNzd29yZC1hZ2VudCcsICcnLCBkKX0gXAotIgotCi1QQUNLQUdFQ09ORklHID8/PSAicGFuZ28gaW5pdHJkIgotUEFDS0FHRUNPTkZJR19hcHBlbmRfeDg2ID0gIiBkcm0iCi1QQUNLQUdFQ09ORklHX2FwcGVuZF94ODYtNjQgPSAiIGRybSIKLQotUEFDS0FHRUNPTkZJR1tkcm1dID0gIi0tZW5hYmxlLWRybSwtLWRpc2FibGUtZHJtLGxpYmRybSIKLVBBQ0tBR0VDT05GSUdbcGFuZ29dID0gIi0tZW5hYmxlLXBhbmdvLC0tZGlzYWJsZS1wYW5nbyxwYW5nbyIKLVBBQ0tBR0VDT05GSUdbZ3RrXSA9ICItLWVuYWJsZS1ndGssLS1kaXNhYmxlLWd0ayxndGsrMyIKLVBBQ0tBR0VDT05GSUdbaW5pdHJkXSA9ICIsLCwiCi0KLUxPR08gPz89ICIke2RhdGFkaXJ9L3BseW1vdXRoL2JpemNvbS5wbmciCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBzeXN0ZW1kCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgICMgUmVtb3ZlIC92YXIvcnVuIGZyb20gcGFja2FnZSBhcyBwbHltb3V0aCB3aWxsIHBvcHVsYXRlIGl0IG9uIHN0YXJ0dXAKLSAgICBybSAtZnIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKLQotICAgIGlmICEgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnaW5pdHJkJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLSAgICAgICAgcm0gLXJmICIke0R9JHtsaWJleGVjZGlyfSIKLSAgICBmaQotfQotCi1QQUNLQUdFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnaW5pdHJkJywgJyR7UE59LWluaXRyZCAnLCAnJywgZCl9IgotUEFDS0FHRVMgPSsgIiR7UE59LXNldC1kZWZhdWx0LXRoZW1lIgotCi1GSUxFU18ke1BOfS1pbml0cmQgPSAiJHtsaWJleGVjZGlyfS9wbHltb3V0aC8qIgotRklMRVNfJHtQTn0tc2V0LWRlZmF1bHQtdGhlbWUgPSAiJHtzYmluZGlyfS9wbHltb3V0aC1zZXQtZGVmYXVsdC10aGVtZSIKLQotRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKiIKLUZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3BseW1vdXRoL3JlbmRlcmVycy8uZGVidWciCi0KLQotUkRFUEVORFNfJHtQTn0taW5pdHJkID0gImJhc2ggZHJhY3V0IgotUkRFUEVORFNfJHtQTn0tc2V0LWRlZmF1bHQtdGhlbWUgPSAiYmFzaCIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInBseW1vdXRoLXN0YXJ0LnNlcnZpY2UiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wbHltb3V0aC9wbHltb3V0aF8wLjkuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BseW1vdXRoL3BseW1vdXRoXzAuOS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwNTk3N2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wbHltb3V0aC9wbHltb3V0aF8wLjkuNC5iYgpAQCAtMCwwICsxLDY3IEBACitTVU1NQVJZID0gIlBseW1vdXRoIGlzIGEgcHJvamVjdCBmcm9tIEZlZG9yYSBwcm92aWRpbmcgYSBmbGlja2VyLWZyZWUgZ3JhcGhpY2FsIGJvb3QgcHJvY2Vzcy4iCisKK0RFU0NSSVBUSU9OID0gIlBseW1vdXRoIGlzIGFuIGFwcGxpY2F0aW9uIHRoYXQgcnVucyB2ZXJ5IGVhcmx5IGluIHRoZSBib290IHByb2Nlc3MgXAorICAgIChldmVuIGJlZm9yZSB0aGUgcm9vdCBmaWxlc3lzdGVtIGlzIG1vdW50ZWQhKSB0aGF0IHByb3ZpZGVzIGEgXAorICAgIGdyYXBoaWNhbCBib290IGFuaW1hdGlvbiB3aGlsZSB0aGUgYm9vdCBwcm9jZXNzIGhhcHBlbnMgaW4gdGhlIGJhY2tncm91bmQuIFwKKyIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9QbHltb3V0aCIKK1NFQ1RJT04gPSAiYmFzZSIKKworTElDRU5TRSA9ICJHUEx2MisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitERVBFTkRTID0gImxpYmNhcCBsaWJwbmcgY2Fpcm8gZGJ1cyB1ZGV2IgorUFJPVklERVMgPSAidmlydHVhbC9wc3BsYXNoIgorUlBST1ZJREVTXyR7UE59ID0gInZpcnR1YWwtcHNwbGFzaCB2aXJ0dWFsLXBzcGxhc2gtc3VwcG9ydCIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlL3BseW1vdXRoL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIueHogXAorICAgIGZpbGU6Ly8wMDAxLU1ha2UtZnVsbC1wYXRoLXRvLXN5c3RlbWQtdHR5LWFzay1wYXNzd29yZC1hZ2VudC1jb24ucGF0Y2ggXAorICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZWZhNTU1MWQyMzAxNjU5ODFiMTA1ZTdjNmE1MGFhNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0YTE5N2E0ZjFhMDU3ODVkNzQ1M2RkODI5YjIzMTM1MmZiMmQwOTE3MWJkODZjNWZmYWFmYmIyZGQ2NzkxMzUxIgorCitFWFRSQV9PRUNPTkYgKz0gIiAtLWVuYWJsZS1zaGFyZWQgLS1kaXNhYmxlLXN0YXRpYyAtLWRpc2FibGUtZ3RrIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uIFwKKyAgICAtLXdpdGgtbG9nbz0ke0xPR099IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnLS1lbmFibGUtc3lzdGVtZC1pbnRlZ3JhdGlvbiAtLXdpdGgtc3lzdGVtLXJvb3QtaW5zdGFsbCAtLXdpdGgtc3lzdGVtZC10dHktYXNrLXBhc3N3b3JkLWFnZW50PSR7YmFzZV9iaW5kaXJ9L3N5c3RlbWQtdHR5LWFzay1wYXNzd29yZC1hZ2VudCcsICcnLCBkKX0gXAorIgorCitQQUNLQUdFQ09ORklHID8/PSAicGFuZ28gaW5pdHJkIgorUEFDS0FHRUNPTkZJR19hcHBlbmRfeDg2ID0gIiBkcm0iCitQQUNLQUdFQ09ORklHX2FwcGVuZF94ODYtNjQgPSAiIGRybSIKKworUEFDS0FHRUNPTkZJR1tkcm1dID0gIi0tZW5hYmxlLWRybSwtLWRpc2FibGUtZHJtLGxpYmRybSIKK1BBQ0tBR0VDT05GSUdbcGFuZ29dID0gIi0tZW5hYmxlLXBhbmdvLC0tZGlzYWJsZS1wYW5nbyxwYW5nbyIKK1BBQ0tBR0VDT05GSUdbZ3RrXSA9ICItLWVuYWJsZS1ndGssLS1kaXNhYmxlLWd0ayxndGsrMyIKK1BBQ0tBR0VDT05GSUdbaW5pdHJkXSA9ICIsLCwiCisKK0xPR08gPz89ICIke2RhdGFkaXJ9L3BseW1vdXRoL2JpemNvbS5wbmciCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBzeXN0ZW1kCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgUmVtb3ZlIC92YXIvcnVuIGZyb20gcGFja2FnZSBhcyBwbHltb3V0aCB3aWxsIHBvcHVsYXRlIGl0IG9uIHN0YXJ0dXAKKyAgICBybSAtZnIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKKworICAgIGlmICEgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnaW5pdHJkJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgcm0gLXJmICIke0R9JHtsaWJleGVjZGlyfSIKKyAgICBmaQorfQorCitQQUNLQUdFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnaW5pdHJkJywgJyR7UE59LWluaXRyZCAnLCAnJywgZCl9IgorUEFDS0FHRVMgPSsgIiR7UE59LXNldC1kZWZhdWx0LXRoZW1lIgorCitGSUxFU18ke1BOfS1pbml0cmQgPSAiJHtsaWJleGVjZGlyfS9wbHltb3V0aC8qIgorRklMRVNfJHtQTn0tc2V0LWRlZmF1bHQtdGhlbWUgPSAiJHtzYmluZGlyfS9wbHltb3V0aC1zZXQtZGVmYXVsdC10aGVtZSIKKworRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3BseW1vdXRoL3JlbmRlcmVycy8uZGVidWciCisKKworUkRFUEVORFNfJHtQTn0taW5pdHJkID0gImJhc2ggZHJhY3V0IgorUkRFUEVORFNfJHtQTn0tc2V0LWRlZmF1bHQtdGhlbWUgPSAiYmFzaCIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInBseW1vdXRoLXN0YXJ0LnNlcnZpY2UiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS90b3lib3gvdG95Ym94XzAuNy41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvdG95Ym94L3RveWJveF8wLjcuNS5iYgppbmRleCAxZWE4NjhmLi42MTQxMzZlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS90b3lib3gvdG95Ym94XzAuNy41LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3RveWJveC90b3lib3hfMC43LjUuYmIKQEAgLTQ4LDcgKzQ4LDcgQEAKICAgICBpbnN0YWxsIC1tIDA2NDQgJHtCfS90b3lib3gubGlua3MgJHtEfSR7c3lzY29uZmRpcn0KIH0KIAotaW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzCitpbmhlcml0IGNtbDEgdXBkYXRlLWFsdGVybmF0aXZlcwogCiAjIElmIHlvdSd2ZSBjaG9zZW4gdG8gaW5zdGFsbCB0b3lib3ggeW91IHByb2JhYmx5IHdhbnQgaXQgdG8gdGFrZSBwcmVjZWRlbmNlCiAjIG92ZXIgYnVzeWJveCB3aGVyZSBwb3NzaWJsZSBidXQgbm90IG92ZXIgb3RoZXIgcGFja2FnZXMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vYm90YW4vYm90YW5fMi43LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY3J5cHRvL2JvdGFuL2JvdGFuXzIuNy4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Mjg1M2QwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vYm90YW4vYm90YW5fMi43LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi0jIENvcHlyaWdodCAoQykgMjAxOCBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBDT1BZSU5HLk1JVCBmb3IgdGhlIHRlcm1zKQotCi1ERVNDUklQVElPTiA9ICJDcnlwdG8gYW5kIFRMUyBmb3IgQysrMTEiCi1IT01FUEFHRSA9ICJodHRwczovL2JvdGFuLnJhbmRvbWJpdC5uZXQiCi1MSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2xpY2Vuc2UudHh0O21kNT1iZjM2MWZjNjNkZjNmYTI1NjUyZWU4MmM0M2I3NjAxYSIKLVNFQ1RJT04gPSAibGlicyIKLQotCi0jdjIuNy4wCi1TUkNSRVYgPSAiNTg3NDAwMGQ0MmMzMzhlYzk1YTdmZjI0Y2RjMGM2NGU3MGY5NjdiNSIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yYW5kb21iaXQvYm90YW4uZ2l0IgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IHB5dGhvbjNuYXRpdmUgc2l0ZWluZm8gbGliX3BhY2thZ2UKLQotQ1BVID89ICIke1RBUkdFVF9BUkNIfSIKLUNQVV94ODYgPSAieDg2XzMyIgotQ1BVX2FybXY3YSA9ICJhcm12NyIKLUNQVV9hcm12N3ZlID0gImFybXY3IgotCi1kb19jb25maWd1cmUoKSB7Ci0JcHl0aG9uMyAke1N9L2NvbmZpZ3VyZS5weSBcCi0JLS1wcmVmaXg9IiR7RH0ke3ByZWZpeH0iIFwKLQktLWNwdT0iJHtDUFV9IiBcCi0JLS1jYy1iaW49IiR7Q1hYfSIgXAotCS0tY3h4ZmxhZ3M9IiR7Q1hYRkxBR1N9IiBcCi0JLS1sZGZsYWdzPSIke0xERkxBR1N9IiBcCi0JLS13aXRoLWVuZGlhbj0ke0BvZS51dGlscy5jb25kaXRpb25hbCgnU0lURUlORk9fRU5ESUFOTkVTUycsICdsZScsICdsaXR0bGUnLCAnYmlnJywgZCl9IFwKLQkke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsIm5lb24iLCIiLCItLWRpc2FibGUtbmVvbiIsZCl9IFwKLQktLXdpdGgtc3lzcm9vdC1kaXI9JHtTVEFHSU5HX0RJUl9UQVJHRVR9IFwKLQktLXdpdGgtYnVpbGQtZGlyPSIke0J9IiBcCi0JLS1vcHRpbWl6ZS1mb3Itc2l6ZSBcCi0JLS13aXRoLXN0YWNrLXByb3RlY3RvciBcCi0JLS1lbmFibGUtc2hhcmVkLWxpYnJhcnkgXAotCS0td2l0aC1weXRob24tdmVyc2lvbnM9MyBcCi0JJHtFWFRSQV9PRUNPTkZ9Ci19Ci0KLWRvX2NvbXBpbGUoKSB7Ci0Jb2VfcnVubWFrZQotfQotZG9faW5zdGFsbCgpIHsKLQlvZV9ydW5tYWtlIGluc3RhbGwKLQlzZWQgLWkgLWUgInN8JHtEfXx8ZyIgJHtEfSR7bGliZGlyfS9wa2djb25maWcvYm90YW4tMi5wYwotfQotCi1QQUNLQUdFUyArPSAiJHtQTn0tcHl0aG9uMyIKLQotRklMRVNfJHtQTn0tcHl0aG9uMyA9ICIke2xpYmRpcn0vcHl0aG9uMyIKLQotUkRFUEVORFNfJHtQTn0tcHl0aG9uMyArPSAicHl0aG9uMyIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9ib3Rhbi9ib3Rhbl8yLjkuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vYm90YW4vYm90YW5fMi45LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdkMjVkNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vYm90YW4vYm90YW5fMi45LjAuYmIKQEAgLTAsMCArMSw1MyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTggS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworREVTQ1JJUFRJT04gPSAiQ3J5cHRvIGFuZCBUTFMgZm9yIEMrKzExIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9ib3Rhbi5yYW5kb21iaXQubmV0IgorTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9saWNlbnNlLnR4dDttZDU9ZjRjMTQ1ZDRkNzBhMzI0NGEwNTNjOWY5MGQ0ODQxZmMiCitTRUNUSU9OID0gImxpYnMiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9ib3Rhbi5yYW5kb21iaXQubmV0L3JlbGVhc2VzL0JvdGFuLSR7UFZ9LnRneiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYjg0MDNkNmEyZjEwYzIwZmRlM2YzYzc2YmU5YTA0NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzMDU1NjQzNTIzMzRkZDYzYWU2M2RiMDM5MDc3ZDk2YWU1MmRmYTU3YTMyNDg4NzEwODE3MTliNmE5ZjJkMTE5IgorCitTID0gIiR7V09SS0RJUn0vQm90YW4tJHtQVn0iCisKK2luaGVyaXQgcHl0aG9uM25hdGl2ZSBzaXRlaW5mbyBsaWJfcGFja2FnZQorCitDUFUgPz0gIiR7VEFSR0VUX0FSQ0h9IgorQ1BVX3g4NiA9ICJ4ODZfMzIiCitDUFVfYXJtdjdhID0gImFybXY3IgorQ1BVX2FybXY3dmUgPSAiYXJtdjciCisKK2RvX2NvbmZpZ3VyZSgpIHsKKwlweXRob24zICR7U30vY29uZmlndXJlLnB5IFwKKwktLXByZWZpeD0iJHtEfSR7cHJlZml4fSIgXAorCS0tY3B1PSIke0NQVX0iIFwKKwktLWNjLWJpbj0iJHtDWFh9IiBcCisJLS1jeHhmbGFncz0iJHtDWFhGTEFHU30iIFwKKwktLWxkZmxhZ3M9IiR7TERGTEFHU30iIFwKKwktLXdpdGgtZW5kaWFuPSR7QG9lLnV0aWxzLmNvbmRpdGlvbmFsKCdTSVRFSU5GT19FTkRJQU5ORVNTJywgJ2xlJywgJ2xpdHRsZScsICdiaWcnLCBkKX0gXAorCSR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwibmVvbiIsIiIsIi0tZGlzYWJsZS1uZW9uIixkKX0gXAorCS0td2l0aC1zeXNyb290LWRpcj0ke1NUQUdJTkdfRElSX1RBUkdFVH0gXAorCS0td2l0aC1idWlsZC1kaXI9IiR7Qn0iIFwKKwktLW9wdGltaXplLWZvci1zaXplIFwKKwktLXdpdGgtc3RhY2stcHJvdGVjdG9yIFwKKwktLWVuYWJsZS1zaGFyZWQtbGlicmFyeSBcCisJLS13aXRoLXB5dGhvbi12ZXJzaW9ucz0zIFwKKwkke0VYVFJBX09FQ09ORn0KK30KKworZG9fY29tcGlsZSgpIHsKKwlvZV9ydW5tYWtlCit9Citkb19pbnN0YWxsKCkgeworCW9lX3J1bm1ha2UgaW5zdGFsbAorCXNlZCAtaSAtZSAic3wke0R9fHxnIiAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9ib3Rhbi0yLnBjCit9CisKK1BBQ0tBR0VTICs9ICIke1BOfS1weXRob24zIgorCitGSUxFU18ke1BOfS1weXRob24zID0gIiR7bGliZGlyfS9weXRob24zIgorCitSREVQRU5EU18ke1BOfS1weXRob24zICs9ICJweXRob24zIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9jcnlwdHNldHVwL2NyeXB0c2V0dXBfMi4wLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY3J5cHRvL2NyeXB0c2V0dXAvY3J5cHRzZXR1cF8yLjAuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2M3YmM2ZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY3J5cHRvL2NyeXB0c2V0dXAvY3J5cHRzZXR1cF8yLjAuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLVNVTU1BUlkgPSAiTWFuYWdlIHBsYWluIGRtLWNyeXB0IGFuZCBMVUtTIGVuY3J5cHRlZCB2b2x1bWVzIgotREVTQ1JJUFRJT04gPSAiQ3J5cHRzZXR1cCBpcyB1c2VkIHRvIGNvbnZlbmllbnRseSBzZXR1cCBkbS1jcnlwdCBtYW5hZ2VkIFwKLWRldmljZS1tYXBwZXIgbWFwcGluZ3MuIFRoZXNlIGluY2x1ZGUgcGxhaW4gZG0tY3J5cHQgdm9sdW1lcyBhbmQgXAotTFVLUyB2b2x1bWVzLiBUaGUgZGlmZmVyZW5jZSBpcyB0aGF0IExVS1MgdXNlcyBhIG1ldGFkYXRhIGhlYWRlciBcCi1hbmQgY2FuIGhlbmNlIG9mZmVyIG1vcmUgZmVhdHVyZXMgdGhhbiBwbGFpbiBkbS1jcnlwdC4gT24gdGhlIG90aGVyIFwKLWhhbmQsIHRoZSBoZWFkZXIgaXMgdmlzaWJsZSBhbmQgdnVsbmVyYWJsZSB0byBkYW1hZ2UuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRsYWIuY29tL2NyeXB0c2V0dXAvY3J5cHRzZXR1cCIKLVNFQ1RJT04gPSAiY29uc29sZSIKLUxJQ0VOU0UgPSAiR1BMLTIuMC13aXRoLU9wZW5TU0wtZXhjZXB0aW9uIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzIxMDdkZDI4M2IxZGZlYjY2YzliM2U2YmUzMTIzMjYiCi0KLURFUEVORFMgPSAidXRpbC1saW51eCBsaWJkZXZtYXBwZXIgcG9wdCBsaWJnY3J5cHQganNvbi1jIgotCi1TUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMvJHtCUE59L3YyLjAvJHtCUH0udGFyLnh6IgotU1JDX1VSSVttZDVzdW1dID0gImVkNDJiMzFmNjdkMDViMDVlMzkyZDE5NDNkNDY3YjhkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlkM2EzYzcwMzMyOTNlMGM5N2YwYWQwNTAxZmQ1YjRkNDkxM2FlNDk3Y2JmNzBjY2EwNjYzM2NjYzU0YjU3MzQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCi0KLSMgVXNlIG9wZW5zc2wgYmVjYXVzZSBsaWJnY3J5cHQgZHJvcHMgcm9vdCBwcml2aWxlZ2VzCi0jIGlmIGxpYmdjcnlwdCBpcyBsaW5rZWQgd2l0aCBsaWJjYXAgc3VwcG9ydAotUEFDS0FHRUNPTkZJRyA/Pz0gIm9wZW5zc2wiCi1QQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1jcnlwdG9fYmFja2VuZD1vcGVuc3NsLCxvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1tnY3J5cHRdID0gIi0td2l0aC1jcnlwdG9fYmFja2VuZD1nY3J5cHQsLGxpYmdjcnlwdCIKLQotUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1hZXMtZ2VuZXJpYyBcCi0gICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLWRtLWNyeXB0IFwKLSAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtbWQ1IFwKLSAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtY2JjIFwKLSAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtc2hhMjU2LWdlbmVyaWMgXAotICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS14dHMgXAotIgotCi1FWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtc3RhdGljIgotCi1GSUxFU18ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCcke2V4ZWNfcHJlZml4fS9saWIvdG1wZmlsZXMuZC9jcnlwdHNldHVwLmNvbmYnLCAnJywgZCl9IgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY3J5cHRvL2NyeXB0c2V0dXAvY3J5cHRzZXR1cF8yLjEuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vY3J5cHRzZXR1cC9jcnlwdHNldHVwXzIuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmMWQyMjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY3J5cHRvL2NyeXB0c2V0dXAvY3J5cHRzZXR1cF8yLjEuMC5iYgpAQCAtMCwwICsxLDM4IEBACitTVU1NQVJZID0gIk1hbmFnZSBwbGFpbiBkbS1jcnlwdCBhbmQgTFVLUyBlbmNyeXB0ZWQgdm9sdW1lcyIKK0RFU0NSSVBUSU9OID0gIkNyeXB0c2V0dXAgaXMgdXNlZCB0byBjb252ZW5pZW50bHkgc2V0dXAgZG0tY3J5cHQgbWFuYWdlZCBcCitkZXZpY2UtbWFwcGVyIG1hcHBpbmdzLiBUaGVzZSBpbmNsdWRlIHBsYWluIGRtLWNyeXB0IHZvbHVtZXMgYW5kIFwKK0xVS1Mgdm9sdW1lcy4gVGhlIGRpZmZlcmVuY2UgaXMgdGhhdCBMVUtTIHVzZXMgYSBtZXRhZGF0YSBoZWFkZXIgXAorYW5kIGNhbiBoZW5jZSBvZmZlciBtb3JlIGZlYXR1cmVzIHRoYW4gcGxhaW4gZG0tY3J5cHQuIE9uIHRoZSBvdGhlciBcCitoYW5kLCB0aGUgaGVhZGVyIGlzIHZpc2libGUgYW5kIHZ1bG5lcmFibGUgdG8gZGFtYWdlLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0bGFiLmNvbS9jcnlwdHNldHVwL2NyeXB0c2V0dXAiCitTRUNUSU9OID0gImNvbnNvbGUiCitMSUNFTlNFID0gIkdQTC0yLjAtd2l0aC1PcGVuU1NMLWV4Y2VwdGlvbiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTMyMTA3ZGQyODNiMWRmZWI2NmM5YjNlNmJlMzEyMzI2IgorCitERVBFTkRTID0gInV0aWwtbGludXggbGliZGV2bWFwcGVyIHBvcHQgbGliZ2NyeXB0IGpzb24tYyIKKworU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L3V0aWxzLyR7QlBOfS92JHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVsxXX0vJHtCUH0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gIjQxZDhiOTg1ZWY2OTI0Mjg1MmI5M2U5NWQ1M2U4ZTI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEzZWViMjc0MWY4ZjMzNzZkMTY1ODUxOTFmM2M2MGUwNjdkZDk4N2UwOTZjM2M0YjA3M2ZhYjc3NDhiMWM4OTciCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCisKKyMgVXNlIG9wZW5zc2wgYmVjYXVzZSBsaWJnY3J5cHQgZHJvcHMgcm9vdCBwcml2aWxlZ2VzCisjIGlmIGxpYmdjcnlwdCBpcyBsaW5rZWQgd2l0aCBsaWJjYXAgc3VwcG9ydAorUEFDS0FHRUNPTkZJRyA/Pz0gIm9wZW5zc2wiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1jcnlwdG9fYmFja2VuZD1vcGVuc3NsLCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tnY3J5cHRdID0gIi0td2l0aC1jcnlwdG9fYmFja2VuZD1nY3J5cHQsLGxpYmdjcnlwdCIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1hZXMtZ2VuZXJpYyBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLWRtLWNyeXB0IFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtbWQ1IFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtY2JjIFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtc2hhMjU2LWdlbmVyaWMgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS14dHMgXAorIgorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtc3RhdGljIgorCitGSUxFU18ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCcke2V4ZWNfcHJlZml4fS9saWIvdG1wZmlsZXMuZC9jcnlwdHNldHVwLmNvbmYnLCAnJywgZCl9IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY3J5cHRvL2xpYmtjYXBpL2xpYmtjYXBpX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vbGlia2NhcGkvbGlia2NhcGlfZ2l0LmJiCmluZGV4IGE5M2RkYzguLjQ2YzY2YTEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vbGlia2NhcGkvbGlia2NhcGlfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vbGlia2NhcGkvbGlia2NhcGlfZ2l0LmJiCkBAIC0xLDE0ICsxLDEzIEBACiBTVU1NQVJZID0gIkxpbnV4IEtlcm5lbCBDcnlwdG8gQVBJIFVzZXIgU3BhY2UgSW50ZXJmYWNlIExpYnJhcnkiCiBIT01FUEFHRSA9ICJodHRwOi8vd3d3LmNocm9ub3guZGUvbGlia2NhcGkuaHRtbCIKIExJQ0VOU0UgPSAiQlNEIHwgR1BMLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQwNDIxY2YyMzE0MjNiZGExMGNlYTY5MWI2MTNlODY2IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTRkNWE2OGIyODc1NWMwNGViZGJhMjI2ZTg4OGIxNTciCiAKIERFUEVORFMgPSAibGlidG9vbCIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKLSMgVXNlIHYxLjEuMyB3aXRoIGNoYW5nZXMgb24gdG9wIGZvciBidWlsZGluZyBpbiBPRQotU1JDUkVWID0gIjFjNzM2YzQzZWI3MWZiYjU2NDBkMDBlZmFmMzRhMWVkZjE5NzJjNDkiCi1QViA9ICIxLjEuMytnaXQke1NSQ1BWfSIKK1NSQ1JFViA9ICIzYzU2OTM0ZjQ0YThmNWExMjU3YzM0Mjk0MmU2ZTAzNGZjNmYyMGJlIgorUFYgPSAiMS4xLjQrZ2l0JHtTUkNQVn0iCiBTUkNfVVJJID0gIiBcCiAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9zbXVlbGxlckREL2xpYmtjYXBpLmdpdCBcCiAiCkBAIC0xNiwxMyArMTUsMTcgQEAKIGluaGVyaXQgYXV0b3Rvb2xzCiAKIFBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHW3Rlc3RhcHBdID0gIi0tZW5hYmxlLWtjYXBpLXRlc3QsLCwiCitQQUNLQUdFQ09ORklHW3Rlc3RhcHBdID0gIi0tZW5hYmxlLWtjYXBpLXRlc3QsLCxiYXNoIgogUEFDS0FHRUNPTkZJR1thcHBzXSA9ICItLWVuYWJsZS1rY2FwaS1zcGVlZCAtLWVuYWJsZS1rY2FwaS1oYXNoZXIgLS1lbmFibGUta2NhcGktcm5nYXBwIC0tZW5hYmxlLWtjYXBpLWVuY2FwcCAtLWVuYWJsZS1rY2FwaS1kZ3N0YXBwLCwsIgogCiBkb19pbnN0YWxsX2FwcGVuZCgpIHsKICAgICAjIGJpbmRpciBjb250YWlucyB0ZXN0YXBwIGFuZCBhcHBzLiAgSG93ZXZlciBpdCBpcyBhbHdheXMgY3JlYXRlZCwgZXZlbgogICAgICMgd2hlbiBubyBiaW5hcmllcyBhcmUgaW5zdGFsbGVkIChlbXB0eSBiaW5fUFJPR1JBTVMgaW4gTWFrZWZpbGUuYW0pLAogICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICR7RH0ke2JpbmRpcn0KKworICAgICMgUmVtb3ZlIHRoZSBnZW5lcmF0ZWQgYmluYXJ5IGNoZWNrc3VtIGZpbGVzCisgICAgcm0gLWYgJHtEfSR7YmluZGlyfS8uKi5obWFjCisgICAgcm0gLWYgJHtEfSR7bGliZGlyfS8uKi5obWFjCiB9CiAKIENQUEZMQUdTX2FwcGVuZF9saWJjLW11c2xfdG9vbGNoYWluLWNsYW5nID0gIiAtV25vLWVycm9yPXNpZ24tY29tcGFyZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vbGlic29kaXVtL2xpYnNvZGl1bV8xLjAuMTYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY3J5cHRvL2xpYnNvZGl1bS9saWJzb2RpdW1fMS4wLjE2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1N2YzOGZlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vbGlic29kaXVtL2xpYnNvZGl1bV8xLjAuMTYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1TVU1NQVJZID0gIlRoZSBTb2RpdW0gY3J5cHRvIGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwOi8vbGlic29kaXVtLm9yZy8iCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9qZWRpc2N0MS9saWJzb2RpdW0vaXNzdWVzIgotTElDRU5TRSA9ICJJU0MiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT03ZjVlY2JhMWZhNzkzZmMxZjNjOGYzMmQ2Y2I1YTM3YiIKLQotU1JDX1VSSSA9ICJodHRwczovL2Rvd25sb2FkLmxpYnNvZGl1bS5vcmcvbGlic29kaXVtL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuZ3oiCi1TUkNfVVJJW21kNXN1bV0gPSAiMzdiMTg4MzllNTdlN2E2MjgzNDIzMTM5NWM4ZTk2MmIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWVhZGM3ZTFlMWJjZWYwOTY4MGZiNDgzN2Q0NDhmYmRmNTcyMjQ5NzhmODY1YWMxYzE2NzQ1ODY4ZmJkMDUzMyIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9saWJzb2RpdW0vbGlic29kaXVtXzEuMC4xNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vbGlic29kaXVtL2xpYnNvZGl1bV8xLjAuMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQ5MzAyZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vbGlic29kaXVtL2xpYnNvZGl1bV8xLjAuMTcuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJUaGUgU29kaXVtIGNyeXB0byBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL2xpYnNvZGl1bS5vcmcvIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vamVkaXNjdDEvbGlic29kaXVtL2lzc3VlcyIKK0xJQ0VOU0UgPSAiSVNDIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NDcyMDNjNzUzOTcyZTg1NTE3OWRmZmZlMTUxODhiZWUiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9kb3dubG9hZC5saWJzb2RpdW0ub3JnL2xpYnNvZGl1bS9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjBmNzFlMjY4MDE4N2ExNTU4YjU0NjFlNjg3OTM0MmM1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBjYzNkYWUzM2U2NDJjYzE4N2I1Y2ViNDY3ZTBhZDBlMWI1MWRjYmE1NzdkZTExOTBlOWZmYTE3NzY2YWMyYjEiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbGV2ZWxkYi9sZXZlbGRiX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbGV2ZWxkYi9sZXZlbGRiX2dpdC5iYgppbmRleCA4ZmVjODljLi45MDhhZDNlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL2xldmVsZGIvbGV2ZWxkYl9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9sZXZlbGRiL2xldmVsZGJfZ2l0LmJiCkBAIC0zNSwzICszNSw3IEBACiAKIFBBQ0tBR0VTID0rICIke1BOfS1wdGVzdCIKIEZJTEVTXyR7UE59LXB0ZXN0ID0gIiR7YmluZGlyfSIKKworIyBEbyBub3QgdHJ5IHRvIGJ1aWxkIGxpYjMyLWxldmVsZGIgZm9yIG1pcHM2NCwgYnV0IGFsbG93IGxpYm4zMi1sZXZlbGRiLgorIworQ09NUEFUSUJMRV9IT1NUX21pcHNhcmNobzMyX3BuLWxpYjMyLWxldmVsZGIgPSAibnVsbCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbW9uZ29kYi9tb25nb2RiLzAwMDEtYXNpby1Eb250LXVzZS1leHBlcmltZW50YWwtd2l0aC1jbGFuZy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbW9uZ29kYi9tb25nb2RiLzAwMDEtYXNpby1Eb250LXVzZS1leHBlcmltZW50YWwtd2l0aC1jbGFuZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTk3NDIyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9tb25nb2RiL21vbmdvZGIvMDAwMS1hc2lvLURvbnQtdXNlLWV4cGVyaW1lbnRhbC13aXRoLWNsYW5nLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gMzFjYTVjNTYzZjFkOWEzZjcwMjU4YmUzZGQyYjFlNTQ3YTY1YTU1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDUgRmViIDIwMTkgMDA6MjE6MTIgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gYXNpbzogRG9udCB1c2UgZXhwZXJpbWVudGFsIHdpdGggY2xhbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIC4uLi9hc2lvLW1hc3Rlci9hc2lvL2luY2x1ZGUvYXNpby9kZXRhaWwvc3RyaW5nX3ZpZXcuaHBwICAgICAgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3RoaXJkX3BhcnR5L2FzaW8tbWFzdGVyL2FzaW8vaW5jbHVkZS9hc2lvL2RldGFpbC9zdHJpbmdfdmlldy5ocHAgYi9zcmMvdGhpcmRfcGFydHkvYXNpby1tYXN0ZXIvYXNpby9pbmNsdWRlL2FzaW8vZGV0YWlsL3N0cmluZ192aWV3LmhwcAoraW5kZXggMjIyYzAyMTg2ZC4uM2JmNzQ5NDUyOSAxMDA2NDQKKy0tLSBhL3NyYy90aGlyZF9wYXJ0eS9hc2lvLW1hc3Rlci9hc2lvL2luY2x1ZGUvYXNpby9kZXRhaWwvc3RyaW5nX3ZpZXcuaHBwCisrKysgYi9zcmMvdGhpcmRfcGFydHkvYXNpby1tYXN0ZXIvYXNpby9pbmNsdWRlL2FzaW8vZGV0YWlsL3N0cmluZ192aWV3LmhwcAorQEAgLTI4LDggKzI4LDggQEAKKyBuYW1lc3BhY2UgYXNpbyB7CisgCisgI2lmIGRlZmluZWQoQVNJT19IQVNfU1REX0VYUEVSSU1FTlRBTF9TVFJJTkdfVklFVykKKy11c2luZyBzdGQ6OmV4cGVyaW1lbnRhbDo6YmFzaWNfc3RyaW5nX3ZpZXc7CistdXNpbmcgc3RkOjpleHBlcmltZW50YWw6OnN0cmluZ192aWV3OworK3VzaW5nIHN0ZDo6YmFzaWNfc3RyaW5nX3ZpZXc7CisrdXNpbmcgc3RkOjpzdHJpbmdfdmlldzsKKyAjZWxzZSAvLyBkZWZpbmVkKEFTSU9fSEFTX1NURF9FWFBFUklNRU5UQUxfU1RSSU5HX1ZJRVcpCisgdXNpbmcgc3RkOjpiYXNpY19zdHJpbmdfdmlldzsKKyB1c2luZyBzdGQ6OnN0cmluZ192aWV3OworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9tb25nb2RiL21vbmdvZGIvZGlzYWJsZS1ody1jcmMzMi1vbi1hcm02NC1zMzkweC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbW9uZ29kYi9tb25nb2RiL2Rpc2FibGUtaHctY3JjMzItb24tYXJtNjQtczM5MHgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzZDQ5MjMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9tb25nb2RiL21vbmdvZGIvZGlzYWJsZS1ody1jcmMzMi1vbi1hcm02NC1zMzkweC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLWltcG9ydGVkIGZyb20gZGViaWFuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotSW5kZXg6IGdpdC9zcmMvdGhpcmRfcGFydHkvd2lyZWR0aWdlci9TQ29uc2NyaXB0Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvc3JjL3RoaXJkX3BhcnR5L3dpcmVkdGlnZXIvU0NvbnNjcmlwdAotKysrIGdpdC9zcmMvdGhpcmRfcGFydHkvd2lyZWR0aWdlci9TQ29uc2NyaXB0Ci1AQCAtMTgxLDcgKzE4MSw5IEBAIGlmIHVzZVNuYXBweToKLSAjIElmIG5vdCBhdmFpbGFibGUgYXQgcnVudGltZSwgd2UgZmFsbCBiYWNrIHRvIHNvZnR3YXJlIGluIHNvbWUgY2FzZXMuCi0gIwotICMgT24gelNlcmllcyB3ZSBtYXkgZGlzYWJsZSBiZWNhdXNlIFNMRVMgMTEga2VybmVsIGRvZSBub3Qgc3VwcG9ydCB0aGUgaW5zdHJ1Y3Rpb25zLgotLWlmIG5vdCAoZW52WydUQVJHRVRfQVJDSCddID09ICdzMzkweCcgYW5kIGdldF9vcHRpb24oInVzZS1zMzkweC1jcmMzMiIpID09ICJvZmYiKToKLSsjIERlYmlhbjogZGlzYWJsZSBoYXJkd2FyZS1hc3Npc3RlZCBjcmMzMiBvbiBzMzkweCBhbmQgYXJtNjQsIGFzIGF0IGxlYXN0IHRoZQotKyMgYnVpbGRkJ3MgZG8gbm90IHN1cHBvcnQgdGhlIGluc3RydWN0aW9ucy4KLStpZiBlbnZbJ1RBUkdFVF9BUkNIJ10gbm90IGluICgnczM5MHgnLCAnYXJtNjQnLCAnYWFyY2g2NCcpOgotICAgICBlbnYuQXBwZW5kKENQUERFRklORVM9WyJIQVZFX0NSQzMyX0hBUkRXQVJFIl0pCi0gCi0gd3RsaWIgPSBlbnYuTGlicmFyeSgKLUluZGV4OiBnaXQvc3JjL3RoaXJkX3BhcnR5L3dpcmVkdGlnZXIvZGlzdC9maWxlbGlzdAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL3NyYy90aGlyZF9wYXJ0eS93aXJlZHRpZ2VyL2Rpc3QvZmlsZWxpc3QKLSsrKyBnaXQvc3JjL3RoaXJkX3BhcnR5L3dpcmVkdGlnZXIvZGlzdC9maWxlbGlzdAotQEAgLTU0LDcgKzU0LDYgQEAgc3JjL2NoZWNrc3VtL3Bvd2VyOC9jcmMzMl93cmFwcGVyLmMJUE9XRQotIHNyYy9jaGVja3N1bS9zb2Z0d2FyZS9jaGVja3N1bS5jCi0gc3JjL2NoZWNrc3VtL3g4Ni9jcmMzMi14ODYuYwkJWDg2X0hPU1QKLSBzcmMvY2hlY2tzdW0venNlcmllcy9jcmMzMi1zMzkweC5jCVpTRVJJRVNfSE9TVAotLXNyYy9jaGVja3N1bS96c2VyaWVzL2NyYzMybGUtdnguc3gJWlNFUklFU19IT1NUCi0gc3JjL2NvbmZpZy9jb25maWcuYwotIHNyYy9jb25maWcvY29uZmlnX2FwaS5jCi0gc3JjL2NvbmZpZy9jb25maWdfY2hlY2suYwotSW5kZXg6IGdpdC9zcmMvdGhpcmRfcGFydHkvd2lyZWR0aWdlci9zcmMvY2hlY2tzdW0venNlcmllcy9jcmMzMi1zMzkweC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvc3JjL3RoaXJkX3BhcnR5L3dpcmVkdGlnZXIvc3JjL2NoZWNrc3VtL3pzZXJpZXMvY3JjMzItczM5MHguYwotKysrIGdpdC9zcmMvdGhpcmRfcGFydHkvd2lyZWR0aWdlci9zcmMvY2hlY2tzdW0venNlcmllcy9jcmMzMi1zMzkweC5jCi1AQCAtNzcsNiArNzcsNyBAQCB1bnNpZ25lZCBpbnQgX193dF9jcmMzMmNfbGUodW5zaWduZWQgaW50Ci0gCQlyZXR1cm4gY3JjOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gCX0KLSAKLSsjaWYgZGVmaW5lZChIQVZFX0NSQzMyX0hBUkRXQVJFKQotIC8qIE1haW4gQ1JDLTMyIGZ1bmN0aW9ucyAqLwotIERFRklORV9DUkMzMl9WWChfX3d0X2NyYzMyY19sZV92eCwgX193dF9jcmMzMmNfbGVfdmdmbV8xNiwgX193dF9jcmMzMmNfbGUpCi0gCi1AQCAtODksNiArOTAsNyBAQCBfX3d0X2NoZWNrc3VtX2h3KGNvbnN0IHZvaWQgKmNodW5rLCBzaXplCi0gewotIAlyZXR1cm4gKH5fX3d0X2NyYzMyY19sZV92eCgweGZmZmZmZmZmLCBjaHVuaywgbGVuKSk7Ci0gfQotKyNlbmRpZgotIAotICNlbmRpZgotIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9tb25nb2RiL21vbmdvZGJfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9tb25nb2RiL21vbmdvZGJfZ2l0LmJiCmluZGV4IGQzOWFiMGEuLjUzYTlmNjYgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbW9uZ29kYi9tb25nb2RiX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL21vbmdvZGIvbW9uZ29kYl9naXQuYmIKQEAgLTEsNiArMSw2IEBACiBTVU1NQVJZID0gIm1vbmdvZGIiCi1MSUNFTlNFID0gIkFHUEwtMy4wICYgQXBhY2hlLTIuMCAmIFpsaWIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9HTlUtQUdQTC0zLjAudHh0O21kNT03M2YxZWIyMDUxN2M1NWJmOTQ5M2I3ZGQ2ZTQ4MDc4OCBcCitMSUNFTlNFID0gIlNTUEwtMSAmIEFwYWNoZS0yLjAgJiBabGliIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS1Db21tdW5pdHkudHh0O21kNT0zYTg2NWYyN2YxMWY0M2VjYmU1NDJkOWVhMzg3ZGNmMSBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9BUEFDSEUtMi4wLnR4dDttZDU9M2I4M2VmOTYzODdmMTQ2NTVmYzg1NGRkYzNjNmJkNTciCiAKIERFUEVORFMgPSAib3BlbnNzbCBsaWJwY3JlIGxpYnBjYXAgemxpYiBib29zdCBjdXJsIHB5dGhvbiBcCkBAIC0xMCw5ICsxMCw5IEBACiAKIGluaGVyaXQgc2NvbnMgZG9zMnVuaXggc2l0ZWluZm8gcHl0aG9ubmF0aXZlCiAKLVBWID0gIjQuMC4xK2dpdCR7U1JDUFZ9IgotI3Y0LjAuMQotU1JDUkVWID0gIjU0ZjE1ODJmYzZlYjAxZGU0ZDRjNDJmMjZmYzEzM2U2MjNmMDY1ZmIiCitQViA9ICI0LjAuNitnaXQke1NSQ1BWfSIKKyN2NC4wLjYKK1NSQ1JFViA9ICJjYWE0MmExZjc1YTU2Yzc2NDNkMGI2OGQzODgwNDQ0Mzc1ZWM0MmUzIgogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL21vbmdvZGIvbW9uZ28uZ2l0O2JyYW5jaD12NC4wIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtVGVsbC1zY29ucy10by11c2UtYnVpbGQtc2V0dGluZ3MtZnJvbS1lbnZpcm9ubWVudC12YS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1sb25nLWxvbmctaW5zdGVhZC1vZi1pbnQ2NF90LnBhdGNoIFwKQEAgLTIwLDggKzIwLDggQEAKICAgICAgICAgICAgZmlsZTovLzAwMDItQWRkLWEtZGVmaW5pdGlvbi1mb3ItdGhlLW1hY3JvLV9fRUxGX05BVElWRV9DTEFTUy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9hcm02NC1zdXBwb3J0LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtSW50ZWxSREZQTWF0aExpYjIwVTEtQ2hlY2stZm9yLV9fREVGSU5FRF93Y2hhcl90LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2Rpc2FibGUtaHctY3JjMzItb24tYXJtNjQtczM5MHgucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1TdXBwb3J0LWRlcHJlY2F0ZWQtcmVzb2x2ZXItZnVuY3Rpb25zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYXNpby1Eb250LXVzZS1leHBlcmltZW50YWwtd2l0aC1jbGFuZy5wYXRjaCBcCiAgICAgICAgICAgICIKIFNSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9IlwKICAgICAgICAgICAgZmlsZTovLzAwMDItRml4LWRlZmF1bHQtc3RhY2stc2l6ZS10by0yNTZLLnBhdGNoIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi1uYXRpdmVfMTAuMy4xMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi1uYXRpdmVfMTAuMy4xMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWEwMzhkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLW5hdGl2ZV8xMC4zLjEzLmJiCkBAIC0wLDAgKzEsMjAgQEAKK3JlcXVpcmUgbWFyaWFkYi5pbmMKK2luaGVyaXQgbmF0aXZlCisKK1BST1ZJREVTICs9ICJteXNxbDUtbmF0aXZlIgorREVQRU5EUyA9ICJuY3Vyc2VzLW5hdGl2ZSB6bGliLW5hdGl2ZSBiaXNvbi1uYXRpdmUiCisKK1JERVBFTkRTXyR7UE59ID0gIiIKK1BBQ0tBR0VTID0gIiIKK0VYVFJBX09FTUFLRSA9ICIiCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgc3FsL2dlbl9sZXhfaGFzaCAke0R9JHtiaW5kaXJ9LworICAgIGluc3RhbGwgLW0gMDc1NSBzcWwvZ2VuX2xleF90b2tlbiAke0R9JHtiaW5kaXJ9LworICAgIGluc3RhbGwgLW0gMDc1NSBleHRyYS9jb21wX2VyciAke0R9JHtiaW5kaXJ9LworICAgIGluc3RhbGwgLW0gMDc1NSBzY3JpcHRzL2NvbXBfc3FsICR7RH0ke2JpbmRpcn0vCit9CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi1uYXRpdmVfNS41LjYyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLW5hdGl2ZV81LjUuNjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjZTk2MGQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLW5hdGl2ZV81LjUuNjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1yZXF1aXJlIG1hcmlhZGIuaW5jCi1pbmhlcml0IG5hdGl2ZQotCi1QUk9WSURFUyArPSAibXlzcWw1LW5hdGl2ZSIKLURFUEVORFMgPSAibmN1cnNlcy1uYXRpdmUgemxpYi1uYXRpdmUgYmlzb24tbmF0aXZlIgotCi1SREVQRU5EU18ke1BOfSA9ICIiCi1QQUNLQUdFUyA9ICIiCi1FWFRSQV9PRU1BS0UgPSAiIgotCi1kb19pbnN0YWxsKCkgewotICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNzU1IHNxbC9nZW5fbGV4X2hhc2ggJHtEfSR7YmluZGlyfS8KLSAgICBpbnN0YWxsIC1tIDA3NTUgZXh0cmEvY29tcF9lcnIgJHtEfSR7YmluZGlyfS8KLSAgICBpbnN0YWxsIC1tIDA3NTUgc2NyaXB0cy9jb21wX3NxbCAke0R9JHtiaW5kaXJ9LwotfQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLmluYwppbmRleCA4Y2E1YjJiLi5mY2E3NGQ0IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi5pbmMKQEAgLTQsMTAgKzQsNyBAQAogTElDRU5TRSA9ICJHUEx2MiIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgogCi1TUkNfVVJJID0gImh0dHBzOi8vZG93bmxvYWRzLm1hcmlhZGIub3JnL2YvJHtCUH0vc291cmNlLyR7QlB9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9maXgtY21ha2UtbW9kdWxlLXBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLWJhZC1wYXRoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2ZpeC1teXNxbGNsaWVudC1yLXZlcnNpb24ucGF0Y2ggXAorU1JDX1VSSSA9ICJodHRwczovL2Rvd25sb2Fkcy5tYXJpYWRiLm9yZy9pbnRlcnN0aXRpYWwvJHtCUE59LSR7UFZ9L3NvdXJjZS8ke0JQTn0tJHtQVn0udGFyLmd6IFwKICAgICAgICAgICAgZmlsZTovL215LmNuZiBcCiAgICAgICAgICAgIGZpbGU6Ly9teXNxbGQuc2VydmljZSBcCiAgICAgICAgICAgIGZpbGU6Ly9pbnN0YWxsX2RiLnNlcnZpY2UgXApAQCAtMTUsMTEgKzEyLDE1IEBACiAgICAgICAgICAgIGZpbGU6Ly9teXNxbC1zeXN0ZW1kLXN0YXJ0IFwKICAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5jbWFrZS1maXgtdmFsZ3JpbmQucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vZml4LWEtYnVpbGRpbmctZmFpbHVyZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9jaGFuZ2UtY2MtdG8tY2MtdmVyc2lvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zdXBwb3J0LWZpbGVzLUNNYWtlTGlzdHMudHh0LWZpeC1kb19wb3B1bGF0ZV9zeXNyb290LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NxbC1DTWFrZUxpc3RzLnR4dC1maXgtZ2VuX2xleF9oYXNoLW5vdC1mb3VuZC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRpc2FibGUtdWNvbnRleHQtb24tbXVzbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9jMTFfYXRvbWljcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9jbGFuZ192ZXJzaW9uX2hlYWRlcl9jb25mbGljdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtYXJtLWF0b21pYy5wYXRjaCBcCiAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjYzNzVkNTc3ZTk1MzliODM5ZjQ0ZDg1N2U3MGY4MmI5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU2YTM2NWFmNzFiOGE5ZWM4YmZlZTA4MDFlMmRlYzk1MDExZGE4ZWU3NTA3OTg2Y2EzMjliZTExMjk2NDExZGIiCitTUkNfVVJJW21kNXN1bV0gPSAiNjAzY2U0MmUzNWI5YTY4OGYyY2NhMDUyNzVhY2I1Y2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjJhYTg1N2VmNWI4NGY4NWE3ZWE2MGExZWFjN2IzNGMwY2E1MTUxYzcxYTBkNDRjZTJkN2ZiMDI4ZDcxNDU5YSIKIAogVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9NYXJpYURCL3NlcnZlci9yZWxlYXNlcyIKIApAQCAtNjIsNyArNjMsNyBAQAogIyBNYXJpYURCIGRvZXNuJ3QgbGluayBwcm9wZXJseSB3aXRoIGdvbGQKICMgaHR0cHM6Ly9tYXJpYWRiLmF0bGFzc2lhbi5uZXQvYnJvd3NlL01ERVYtNTk4MgogVEFSR0VUX0NGTEFHUyArPSAiLWZ1c2UtbGQ9YmZkIgotCitMREZMQUdTICs9ICIgLXB0aHJlYWQiCiBCVUlMRF9DRkxBR1MgKz0gIi1mdXNlLWxkPWJmZCIKIEJVSUxEX0NYWEZMQUdTICs9ICItZnVzZS1sZD1iZmQiCiAKQEAgLTEyMCw2ICsxMjEsMTEgQEAKICAgICAgICAgICAgIGVjaG8gIiNlbmRpZiIgPj4ke0J9L2luY2x1ZGUvb3BlbnNzbC9rc3NsLmgKICAgICAgICAgZmkKICAgICBmaQorICAgICMgd29ya2Fyb3VuZCB0byBoYW5kbGUgb3V0LW9mLXNvdXJjZSBidWlsZCBmcm9tIHNvdXJjZSBwYWNrYWdlCisgICAgeWFjY19maWxlcz0ic3FsX3lhY2MuaGggc3FsX3lhY2MuY2Mgc3FsX3lhY2Nfb3JhLmhoIHNxbF95YWNjX29yYS5jYyIKKyAgICBmb3IgeWFjY19maWxlIGluICR7eWFjY19maWxlc307IGRvCisgICAgICAgIGNwICR7U30vc3FsLyR7eWFjY19maWxlfSAke0J9L3NxbC8ke3lhY2NfZmlsZX0KKyAgICBkb25lCiB9CiAKIFNZU1JPT1RfUFJFUFJPQ0VTU19GVU5DUyArPSAibWFyaWFkYl9zeXNyb290X3ByZXByb2Nlc3MiCkBAIC0xODEsMTMgKzE4NywxMyBAQAogUkRFUEVORFNfJHtQTn0tc2VydmVyID0gInBlcmwgcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgXAogICAgIHBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUgcGVybC1tb2R1bGUtZmlsZS1wYXRoIHBlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSBcCiAgICAgcGVybC1tb2R1bGUtZmlsZS1jb3B5IHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBwZXJsLW1vZHVsZS1wb3NpeCBcCi0gICAgJHtQTn0tY2xpZW50IGxpYmRiaS1wZXJsIGxpYmRiZC1teXNxbC1wZXJsIgorICAgICR7UE59LWNsaWVudCAke1BOfS1zZXR1cGRiIGxpYmRiaS1wZXJsIGxpYmRiZC1teXNxbC1wZXJsIgogUkRFUEVORFNfJHtQTn0tbGVmdG92ZXJzID0gInBlcmwgcGVybC1tb2R1bGUtY3dkIHBlcmwtbW9kdWxlLWJlbmNobWFyayBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBcCiAgICAgcGVybC1tb2R1bGUtcG9zaXggcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgcGVybC1tb2R1bGUtc2lndHJhcCBwZXJsLW1vZHVsZS10aHJlYWRzIFwKICAgICBwZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCBwZXJsLW1vZHVsZS1pby1zb2NrZXQgcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lIHBlcmwtbW9kdWxlLWZpbGUtY29weSBcCiAgICAgcGVybC1tb2R1bGUtZmlsZS1zcGVjIHBlcmwtbW9kdWxlLWZpbGUtZmluZCBwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIHBlcmwtbW9kdWxlLWZpbGUtcGF0aCBcCiAgICAgcGVybC1tb2R1bGUtY29uc3RhbnQgcGVybC1tb2R1bGUtbGliIHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBwZXJsLW1vZHVsZS1maWxlLXNwZWMtZnVuY3Rpb25zIFwKLSAgICBwZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCBwZXJsLW1vZHVsZS1pby1zZWxlY3QiCisgICAgcGVybC1tb2R1bGUtaW8tc29ja2V0LWluZXQgcGVybC1tb2R1bGUtaW8tc2VsZWN0IGJhc2giCiBSREVQRU5EU18ke1BOfS1zZXR1cGRiID0gImNvcmV1dGlscyIKIAogIyBBbGxvdyBvbGQgY29kZSB0byBsaW5rIHRvIHRoZSBiYWNrd2FyZCBjb21wYXRpYmxlIGxpYnJhcnkKQEAgLTE5NSwxMCArMjAxLDEyIEBACiAKIEZJTEVTX2xpYm15c3FsY2xpZW50ID0gIlwKICAgICAke2xpYmRpcn0vbGlibXlzcWxjbGllbnQuc28uKiBcCisgICAgJHtsaWJkaXJ9L2xpYm1hcmlhZGIuc28uKiBcCiAgICAgJHtzeXNjb25mZGlyfS9teS5jbmYuZC9jbGllbnQuY25mIgogRklMRVNfbGlibXlzcWxjbGllbnQtZGV2ID0gIiBcCiAgICAgJHtpbmNsdWRlZGlyfS9teXNxbC8gXAogICAgICR7bGliZGlyfS9saWJteXNxbGNsaWVudC5zbyBcCisgICAgJHtsaWJkaXJ9L2xpYm1hcmlhZGIuc28gXAogICAgICR7c3lzY29uZmRpcn0vYWNsb2NhbCBcCiAgICAgJHtiaW5kaXJ9L215c3FsX2NvbmZpZyIKIEZJTEVTX2xpYm15c3FsY2xpZW50LXN0YXRpY2RldiA9ICJcCkBAIC0yMTUsOSArMjIzLDExIEBACiBGSUxFU19saWJteXNxbGNsaWVudC1yLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGlibXlzcWxjbGllbnRfci5hIgogCiBGSUxFU19saWJteXNxbGQgPSAiXAotICAgICR7bGliZGlyfS9saWJteXNxbGQuc28uKiIKKyAgICAke2xpYmRpcn0vbGlibXlzcWxkLnNvLiogXAorICAgICR7bGliZGlyfS9saWJtYXJpYWRiZC5zby4qIgogRklMRVNfbGlibXlzcWxkLWRldiA9ICJcCi0gICAgJHtsaWJkaXJ9L2xpYm15c3FsZC5zbyIKKyAgICAke2xpYmRpcn0vbGlibXlzcWxkLnNvIFwKKyAgICAke2xpYmRpcn0vbGlibWFyaWFkYmQuc28iCiAKIEZJTEVTXyR7UE59LWNsaWVudCA9ICJcCiAgICAgJHtiaW5kaXJ9L215aXNhbV9mdGR1bXAgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLzAwMDEtZGlzYWJsZS11Y29udGV4dC1vbi1tdXNsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLzAwMDEtZGlzYWJsZS11Y29udGV4dC1vbi1tdXNsLnBhdGNoCmluZGV4IDYwZTkxOTkuLmRhZjI0MzIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi8wMDAxLWRpc2FibGUtdWNvbnRleHQtb24tbXVzbC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvMDAwMS1kaXNhYmxlLXVjb250ZXh0LW9uLW11c2wucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDViYzNlN2VmOTcwMGQxMjA1NGUwMTI1YTEyNmYxYmIwOTNmMDFlZjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGI2NThiZGIzOGI3ZmY2YTc4OTE1ZmQwYWMzOTBmYzIyNGU0MDA2Y2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogU3VuLCAyNiBNYXIgMjAxNyAxNDozMDozMyAtMDcwMAogU3ViamVjdDogW1BBVENIXSBkaXNhYmxlIHVjb250ZXh0IG9uIG11c2wKQEAgLTYsMTIgKzYsMTMgQEAKIG11c2wgZG9lcyBub3QgaGF2ZSAqY29udGV4KCkgQVBJcyBldmVuIHRob3VnaCBpdCBoYXMgdWNvbnRleHQuaCBoZWFkZXIKIAogU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKwogLS0tCiAgaW5jbHVkZS9teV9jb250ZXh0LmggfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9pbmNsdWRlL215X2NvbnRleHQuaCBiL2luY2x1ZGUvbXlfY29udGV4dC5oCi1pbmRleCBkZDQ0MTAzLi45YjI4YzE3IDEwMDY0NAoraW5kZXggZWEwZTM0OTYuLjRjOWIzN2RjIDEwMDY0NAogLS0tIGEvaW5jbHVkZS9teV9jb250ZXh0LmgKICsrKyBiL2luY2x1ZGUvbXlfY29udGV4dC5oCiBAQCAtMzEsNyArMzEsNyBAQApAQCAtMjMsNiArMjQsMyBAQAogICNkZWZpbmUgTVlfQ09OVEVYVF9VU0VfVUNPTlRFWFQKICAjZWxzZQogICNkZWZpbmUgTVlfQ09OVEVYVF9ESVNBQkxFCi0tLSAKLTIuMTIuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvYzExX2F0b21pY3MucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvYzExX2F0b21pY3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTY5OTg2MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9jMTFfYXRvbWljcy5wYXRjaApAQCAtMCwwICsxLDY3IEBACitBdXRob3I6IFZpY2VuyJtpdSBDaW9yYmFydSA8dmljZW50aXVAbWFyaWFkYi5vcmc+CitEYXRlOiAgIEZyaSBEZWMgMjEgMTk6MTQ6MDQgMjAxOCArMDIwMAorCisgICBMaW5rIHdpdGggbGliYXRvbWljIHRvIGVuYWJsZSBDMTEgYXRvbWljcyBzdXBwb3J0CisKKyAgIFNvbWUgYXJjaGl0ZWN0dXJlcyAobWlwcykgcmVxdWlyZSBsaWJhdG9taWMgdG8gc3VwcG9ydCBwcm9wZXIKKyAgIGF0b21pYyBvcGVyYXRpb25zLiBDaGVjayBmaXJzdCBpZiBzdXBwb3J0IGlzIGF2YWlsYWJsZSB3aXRob3V0CisgICBsaW5raW5nLCBvdGhlcndpc2UgdXNlIHRoZSBsaWJyYXJ5LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKKy0tLSBhL2NvbmZpZ3VyZS5jbWFrZQorKysrIGIvY29uZmlndXJlLmNtYWtlCitAQCAtOTI2LDcgKzkyNiwyNSBAQCBpbnQgbWFpbigpCisgICBsb25nIGxvbmcgaW50ICpwdHI9ICZ2YXI7CisgICByZXR1cm4gKGludClfX2F0b21pY19sb2FkX24ocHRyLCBfX0FUT01JQ19TRVFfQ1NUKTsKKyB9IgorLUhBVkVfR0NDX0MxMV9BVE9NSUNTKQorK0hBVkVfR0NDX0MxMV9BVE9NSUNTX1dJVEhPVVRfTElCQVRPTUlDKQorK0lGIChIQVZFX0dDQ19DMTFfQVRPTUlDU19XSVRIT1VUX0xJQkFUT01JQykKKysgIFNFVChIQVZFX0dDQ19DMTFfQVRPTUlDUyBUcnVlKQorK0VMU0UoKQorKyAgU0VUKE9MRF9DTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVMgJHtDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVN9KQorKyAgTElTVChBUFBFTkQgQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTICJhdG9taWMiKQorKyAgQ0hFQ0tfQ1hYX1NPVVJDRV9DT01QSUxFUygiCisrICBpbnQgbWFpbigpCisrICB7CisrICAgIGxvbmcgbG9uZyBpbnQgdmFyPSAxOworKyAgICBsb25nIGxvbmcgaW50ICpwdHI9ICZ2YXI7CisrICAgIHJldHVybiAoaW50KV9fYXRvbWljX2xvYWRfbihwdHIsIF9fQVRPTUlDX1NFUV9DU1QpOworKyAgfSIKKysgIEhBVkVfR0NDX0MxMV9BVE9NSUNTX1dJVEhfTElCQVRPTUlDKQorKyAgSUYoSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSF9MSUJBVE9NSUMpCisrICAgIFNFVChIQVZFX0dDQ19DMTFfQVRPTUlDUyBUcnVlKQorKyAgRU5ESUYoKQorKyAgU0VUKENNQUtFX1JFUVVJUkVEX0xJQlJBUklFUyAke09MRF9DTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVN9KQorK0VORElGKCkKKyAKKyBJRihXSVRIX1ZBTEdSSU5EKQorICAgU0VUKEhBVkVfdmFsZ3JpbmQgMSkKKy0tLSBhL215c3lzL0NNYWtlTGlzdHMudHh0CisrKysgYi9teXN5cy9DTWFrZUxpc3RzLnR4dAorQEAgLTc4LDYgKzc4LDEwIEBAIFRBUkdFVF9MSU5LX0xJQlJBUklFUyhteXN5cyBkYnVnIHN0cmluZ3MKKyAgJHtMSUJOU0x9ICR7TElCTX0gJHtMSUJSVH0gJHtMSUJETH0gJHtMSUJTT0NLRVR9ICR7TElCRVhFQ0lORk99ICR7Q1JDMzJfTElCUkFSWX0pCisgRFRSQUNFX0lOU1RSVU1FTlQobXlzeXMpCisgCisrSUYgKEhBVkVfR0NDX0MxMV9BVE9NSUNTX1dJVEhfTElCQVRPTUlDKQorKyAgVEFSR0VUX0xJTktfTElCUkFSSUVTKG15c3lzIGF0b21pYykKKytFTkRJRigpCisrCisgSUYoSEFWRV9CRkRfSCkKKyAgIFRBUkdFVF9MSU5LX0xJQlJBUklFUyhteXN5cyBiZmQpICAKKyBFTkRJRihIQVZFX0JGRF9IKQorLS0tIGEvc3FsL0NNYWtlTGlzdHMudHh0CisrKysgYi9zcWwvQ01ha2VMaXN0cy50eHQKK0BAIC0xNzgsNiArMTc4LDEwIEBAIEVMU0UoKQorICAgU0VUKE1ZU1FMRF9TT1VSQ0UgbWFpbi5jYyAke0RUUkFDRV9QUk9CRVNfQUxMfSkKKyBFTkRJRigpCisgCisrSUYgKEhBVkVfR0NDX0MxMV9BVE9NSUNTX1dJVEhfTElCQVRPTUlDKQorKyAgVEFSR0VUX0xJTktfTElCUkFSSUVTKHNxbCBhdG9taWMpCisrRU5ESUYoKQorKworIAorIElGKE1TVkMgQU5EIE5PVCBXSVRIT1VUX0RZTkFNSUNfUExVR0lOUykKKyAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9jaGFuZ2UtY2MtdG8tY2MtdmVyc2lvbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9jaGFuZ2UtY2MtdG8tY2MtdmVyc2lvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDJiZGEyNC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvY2hhbmdlLWNjLXRvLWNjLXZlcnNpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1tYXJpYWRiOiByZXBsYWNlIHRoZSBDQyB3aXRoIENDX1ZFUlNJT04gYW5kIENYWCB3aXRoIENYWF9WRVJTSU9OCi0KLW15c3FsYnVnLnNoIGlzIGEgYnVnIHJlcG9ydCBzY3JpcHQuIEl0IG1ha2VzIGEgcmVwb3J0IHdpdGggdGhlIGJ1aWxkIGluZm9ybWF0aW9uLAotaW5jbHVkaW5nIGdjYyB2ZXJzaW9uLiBUaGUgQ0MgaXMgdGhlIGxvY2FsIHBhdGggb2YgZ2NjLCB3aGljaCBpcyB1c2VsZXNzIGZvciBidWcKLXJlcG9ydCwgYW5kIHRoZSBwYXRoIG1heSBleHBvc2UgcHJpdmF0ZSBpbmZvcm1hdGlvbiwgc28gY2hhbmdlIGl0IHRvIENDX1ZFUlNJT04uCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBZdWUgVGFvIDxZdWUuVGFvQHdpbmRyaXZlci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci1kaWZmIC0tZ2l0IGEvc2NyaXB0cy9teXNxbGJ1Zy5zaC5vbGQgYi9zY3JpcHRzL215c3FsYnVnLnNoCi1pbmRleCBlOWRmMjEwLi5kNGI4ZDUzIDEwMDY0NAotLS0tIGEvc2NyaXB0cy9teXNxbGJ1Zy5zaC5vbGQKLSsrKyBiL3NjcmlwdHMvbXlzcWxidWcuc2gKLUBAIC0yNCw4ICsyNCw4IEBAIFZFUlNJT049IkBWRVJTSU9OQEBNWVNRTF9TRVJWRVJfU1VGRklYQCIKLSBDT01QSUxBVElPTl9DT01NRU5UPSJAQ09NUElMQVRJT05fQ09NTUVOVEAiCi0gQlVHbXlzcWw9Im1hcmlhLWRldmVsb3BlcnNAbGlzdHMubGF1bmNocGFkLm5ldCIKLSAjIFRoaXMgaXMgc2V0IGJ5IGNvbmZpZ3VyZQotLUNPTVBfQ0FMTF9JTkZPPSJDQz0nQFNBVkVfQ0NAJyAgQ0ZMQUdTPSdAU0FWRV9DRkxBR1NAJyAgQ1hYPSdAU0FWRV9DWFhAJyAgQ1hYRkxBR1M9J0BTQVZFX0NYWEZMQUdTQCcgIExERkxBR1M9J0BTQVZFX0xERkxBR1NAJyAgQVNGTEFHUz0nQFNBVkVfQVNGTEFHU0AnIgotLUNPTVBfUlVOX0lORk89IkNDPSdAQ0NAJyAgQ0ZMQUdTPSdAQ0ZMQUdTQCcgIENYWD0nQENYWEAnICBDWFhGTEFHUz0nQENYWEZMQUdTQCcgIExERkxBR1M9J0BMREZMQUdTQCcgIEFTRkxBR1M9J0BBU0ZMQUdTQCciCi0rQ09NUF9DQUxMX0lORk89IkNDPSdAQ0NfVkVSU0lPTkAnICBDRkxBR1M9J0BTQVZFX0NGTEFHU0AnICBDWFg9J0BDWFhfVkVSU0lPTkAnICBDWFhGTEFHUz0nQFNBVkVfQ1hYRkxBR1NAJyAgTERGTEFHUz0nQFNBVkVfTERGTEFHU0AnICBBU0ZMQUdTPSdAU0FWRV9BU0ZMQUdTQCciCi0rQ09NUF9SVU5fSU5GTz0iQ0M9J0BDQ19WRVJTSU9OQCcgIENGTEFHUz0nQENGTEFHU0AnICBDWFg9J0BDWFhfVkVSU0lPTkAnICBDWFhGTEFHUz0nQENYWEZMQUdTQCcgIExERkxBR1M9J0BMREZMQUdTQCcgIEFTRkxBR1M9J0BBU0ZMQUdTQCciCi0gQ09ORklHVVJFX0xJTkU9IkBDT05GX0NPTU1BTkRAIgotIAotIExJQkNfSU5GTz0iIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2NsYW5nX3ZlcnNpb25faGVhZGVyX2NvbmZsaWN0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2NsYW5nX3ZlcnNpb25faGVhZGVyX2NvbmZsaWN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3N2E4NjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvY2xhbmdfdmVyc2lvbl9oZWFkZXJfY29uZmxpY3QucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorbGliYysrIGFsc28gaGFzIGEgZmlsZSBjYWxsZWQgdmVyc2lvbiBhbmQgdGhpcyBmaWxlIGFuZCBob3cgY2ZsYWdzIGFyZSBzcGVjaWZpZWQKK2l0IGVuZHMgdXAgaW5jbHVkaW5nIHRoaXMgZmlsZSBhbmQgcmVzdWx0aW5nIGluIGNvbXBpbGUgZXJyb3JzCisKK2ZpeGVzIGVycm9ycyBsaWtlCitzdG9yYWdlL21yb29uZ2EvdmVyc2lvbjoxOjE6IGVycm9yOiBleHBlY3RlZCB1bnF1YWxpZmllZC1pZAorNy4wNworXgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKKy0tLSBhL3N0b3JhZ2UvbXJvb25nYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvc3RvcmFnZS9tcm9vbmdhL0NNYWtlTGlzdHMudHh0CitAQCAtODAsNyArODAsNyBAQCBlbHNlKCkKKyAgIHNldChNUk5fU09VUkNFX0RJUiAke0NNQUtFX1NPVVJDRV9ESVJ9KQorIGVuZGlmKCkKKyAKKy1maWxlKFJFQUQgJHtNUk5fU09VUkNFX0RJUn0vdmVyc2lvbiAgICAgICAgTVJOX1ZFUlNJT04pCisrZmlsZShSRUFEICR7TVJOX1NPVVJDRV9ESVJ9L3ZlciAgICAgICAgICAgIE1STl9WRVJTSU9OKQorIGZpbGUoUkVBRCAke01STl9TT1VSQ0VfRElSfS92ZXJzaW9uX21ham9yICBNUk5fVkVSU0lPTl9NQUpPUikKKyBmaWxlKFJFQUQgJHtNUk5fU09VUkNFX0RJUn0vdmVyc2lvbl9taW5vciAgTVJOX1ZFUlNJT05fTUlOT1IpCisgZmlsZShSRUFEICR7TVJOX1NPVVJDRV9ESVJ9L3ZlcnNpb25fbWljcm8gIE1STl9WRVJTSU9OX01JQ1JPKQorLS0tIC9kZXYvbnVsbAorKysrIGIvc3RvcmFnZS9tcm9vbmdhL3ZlcgorQEAgLTAsMCArMSBAQAorKzcuMDcKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorLS0tIGEvc3RvcmFnZS9tcm9vbmdhL3ZlcnNpb24KKysrKyAvZGV2L251bGwKK0BAIC0xICswLDAgQEAKKy03LjA3CitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9jb25maWd1cmUuY21ha2UtZml4LXZhbGdyaW5kLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2NvbmZpZ3VyZS5jbWFrZS1maXgtdmFsZ3JpbmQucGF0Y2gKaW5kZXggZTk3ZGVmNi4uYWM5NDI3OSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2NvbmZpZ3VyZS5jbWFrZS1maXgtdmFsZ3JpbmQucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2NvbmZpZ3VyZS5jbWFrZS1maXgtdmFsZ3JpbmQucGF0Y2gKQEAgLTEsNiArMSw2IEBACi1Gcm9tIDVlZmZiYTBkN2Q0NzA3MWEzZjFiY2E1NjgyMzE5MGQ1YTk1YmIxYTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDI0ZTJiMGVkYzI2MTJhY2VmY2M0ODQxNGJiNmYwYWViMDg2MDYxYTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogV2VkLCAxMiBOb3YgMjAxNCAwMzowOToxMCAtMDUwMAorRGF0ZTogVHVlLCAyNiBGZWIgMjAxOSAyMzo1NzowNiAtMDgwMAogU3ViamVjdDogW1BBVENIXSBjb25maWd1cmUuY21ha2U6IGZpeCB2YWxncmluZAogCiBDaGVjayB2YWxncmluZCBoZWFkZXJzIG9ubHkgaWYgV0lUSF9WQUxHUklORCBpcyBzZXQuCkBAIC0xNSwyNyArMTUsMjYgQEAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2Ugc3BlY2lmaWNdCiAKIFNpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgorCiAtLS0KLSBjb25maWd1cmUuY21ha2UgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorIGNvbmZpZ3VyZS5jbWFrZSB8IDUgKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmNtYWtlIGIvY29uZmlndXJlLmNtYWtlCi1pbmRleCAwYmQ3YmJlLi41MWEwOThmIDEwMDY0NAoraW5kZXggM2NmYzRiMzEuLmQwMTdiM2IzIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmNtYWtlCiArKysgYi9jb25maWd1cmUuY21ha2UKLUBAIC0xMDQ3LDEwICsxMDQ3LDEwIEBAIE1BUktfQVNfQURWQU5DRUQoV0lUSF9BVE9NSUNfTE9DS1MgTVlfQVRPTUlDX01PREVfUldMT0NLIE1ZX0FUT01JQ19NT0RFX0RVTU1ZKQorQEAgLTkzMCwxMCArOTMwLDkgQEAgSEFWRV9HQ0NfQzExX0FUT01JQ1MpCiAgCiAgSUYoV0lUSF9WQUxHUklORCkKICAgIFNFVChIQVZFX3ZhbGdyaW5kIDEpCi0rICBDSEVDS19JTkNMVURFX0ZJTEVTKCJ2YWxncmluZC9tZW1jaGVjay5oO3ZhbGdyaW5kL3ZhbGdyaW5kLmgiCi0rICBIQVZFX1ZBTEdSSU5EKQotIEVORElGKCkKLSAKKy1FTkRJRigpCistCiAtQ0hFQ0tfSU5DTFVERV9GSUxFUygidmFsZ3JpbmQvbWVtY2hlY2suaDt2YWxncmluZC92YWxncmluZC5oIiAKLS0gIEhBVkVfVkFMR1JJTkQpCisrICBDSEVDS19JTkNMVURFX0ZJTEVTKCJ2YWxncmluZC9tZW1jaGVjay5oO3ZhbGdyaW5kL3ZhbGdyaW5kLmgiCisgICBIQVZFX1ZBTEdSSU5EX01FTUNIRUNLX0gpCisrRU5ESUYoKQogIAogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICMgQ2hlY2sgZm9yIElQdjYgc3VwcG9ydAotLS0gCi0yLjAuMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvZml4LWEtYnVpbGRpbmctZmFpbHVyZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9maXgtYS1idWlsZGluZy1mYWlsdXJlLnBhdGNoCmluZGV4IDBjNGUxMDIuLjkxNDllZTIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9maXgtYS1idWlsZGluZy1mYWlsdXJlLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9maXgtYS1idWlsZGluZy1mYWlsdXJlLnBhdGNoCkBAIC0xLDQgKzEsNyBAQAotW1BBVENIXSBmaXggYSBidWlsZGluZyBmYWlsdXJlCitGcm9tIDFiMmI2YTYxYzlmODIxNTdjZDJlMGMzNzQ0ZjZjMDdlMDdhZWIwYmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCA0IE1hciAyMDE5IDAxOjExOjMwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBhIGJ1aWxkaW5nIGZhaWx1cmUKIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQogCkBAIC02LDE3ICs5LDE4IEBACiBJbiBmYWN0LCBvdXIgYnVpbGRpbmcgc3lzdGVtIHdpbGwgZXhwb3J0IHRoZSBuZWVkZWQgY29tbWFuZHMKIAogU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KIC0tLQogIENNYWtlTGlzdHMudHh0IHwgNSAtLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA1IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAotaW5kZXggYzFjZTFjNS4uODNiM2E3ZSAxMDA2NDQKK2luZGV4IGZjMzA3NTAuLjRmOTExMGUgMTAwNjQ0CiAtLS0gYS9DTWFrZUxpc3RzLnR4dAogKysrIGIvQ01ha2VMaXN0cy50eHQKLUBAIC0zNTAsMTEgKzM1MCw2IEBAIE1ZU1FMX0NIRUNLX1JFQURMSU5FKCkKK0BAIC0zNDcsMTEgKzM0Nyw2IEBAIENIRUNLX1BDUkUoKQogIAotIENIRUNLX0pFTUFMTE9DKCkKKyBDSEVDS19TWVNURU1EKCkKICAKIC1JRihDTUFLRV9DUk9TU0NPTVBJTElORykKIC0gIFNFVChJTVBPUlRfRVhFQ1VUQUJMRVMgIklNUE9SVEZJTEUtTk9URk9VTkQiIENBQ0hFIEZJTEVQQVRIICJQYXRoIHRvIGltcG9ydF9leGVjdXRhYmxlcy5jbWFrZSBmcm9tIGEgbmF0aXZlIGJ1aWxkIikKQEAgLTI0LDggKzI4LDggQEAKIC1FTkRJRigpCiAtCiAgIwotICMgU2V0dXAgbWFpbnRhaW5lciBtb2RlIG9wdGlvbnMgYnkgdGhlIGVuZC4gUGxhdGZvcm0gY2hlY2tzIGFyZQorICMgU2V0dXAgbWFpbnRhaW5lciBtb2RlIG9wdGlvbnMuIFBsYXRmb3JtIGNoZWNrcyBhcmUKICAjIG5vdCBydW4gd2l0aCB0aGUgd2FybmluZyBvcHRpb25zIGFzIHRvIG5vdCBwZXJ0dXJiIGZyYWdpbGUgY2hlY2tzCiAtLSAKLTEuOS4xCisyLjE3LjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2ZpeC1hcm0tYXRvbWljLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2ZpeC1hcm0tYXRvbWljLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0ZDMxMTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvZml4LWFybS1hdG9taWMucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSBmZmFhZjRkNDNlYmYyZWY2ZDAyMjlhNjBmNDA3YzFmNWEwNmU1YzUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IEZyaSwgMTUgTWFyIDIwMTkgMDE6NDY6MDUgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gYnVpbGRfcm9ja3NkYi5jbWFrZTogZml4IGF0b21pYyBzdXBwb3J0IG9uIGFybQorCitDaGVjayB0byBsaW5rIHdpdGggbGliYXRvbWljIHRvIGVuYWJsZSBDMTEgYXRvbWljcyBzdXBwb3J0Cit0byBmaXggYmVsb3cgYnVpbGQgZXJyb3Igb24gYXJtOgorfCAvYnVpbGQvdG1wL3dvcmsvYXJtdjVlLXdycy1saW51eC1nbnVlYWJpL21hcmlhZGIvMTAuMy4xMy1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL2Jpbi9hcm0td3JzLWxpbnV4LWdudWVhYmkvLi4vLi4vbGliZXhlYy9hcm0td3JzLWxpbnV4LWdudWVhYmkvZ2NjL2FybS13cnMtbGludXgtZ251ZWFiaS84LjMuMC9sZC5iZmQ6IGxpYnJvY2tzZGJsaWIuYShlbnZfcG9zaXguY2Mubyk6IGluIGZ1bmN0aW9uIGBzdGQ6Ol9fYXRvbWljX2Jhc2U8dW5zaWduZWQgbG9uZyBsb25nPjo6c3RvcmUodW5zaWduZWQgbG9uZyBsb25nLCBzdGQ6Om1lbW9yeV9vcmRlciknOgorfCAvdXNyL2luY2x1ZGUvYysrLzguMy4wL2JpdHMvYXRvbWljX2Jhc2UuaDozNzQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fYXRvbWljX3N0b3JlXzgnCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPE1pbmdsaS5ZdUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3RvcmFnZS9yb2Nrc2RiL2J1aWxkX3JvY2tzZGIuY21ha2UgfCAzICsrKworIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3N0b3JhZ2Uvcm9ja3NkYi9idWlsZF9yb2Nrc2RiLmNtYWtlIGIvc3RvcmFnZS9yb2Nrc2RiL2J1aWxkX3JvY2tzZGIuY21ha2UKK2luZGV4IGMzNmM3NjEuLjJiNTM5ZmYgMTAwNjQ0CistLS0gYS9zdG9yYWdlL3JvY2tzZGIvYnVpbGRfcm9ja3NkYi5jbWFrZQorKysrIGIvc3RvcmFnZS9yb2Nrc2RiL2J1aWxkX3JvY2tzZGIuY21ha2UKK0BAIC00MjQsNiArNDI0LDkgQEAgbGlzdChBUFBFTkQgU09VUkNFUyAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vYnVpbGRfdmVyc2lvbi5jYykKKyAKKyBBRERfQ09OVkVOSUVOQ0VfTElCUkFSWShyb2Nrc2RibGliICR7U09VUkNFU30pCisgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKHJvY2tzZGJsaWIgJHtUSElSRFBBUlRZX0xJQlN9ICR7U1lTVEVNX0xJQlN9KQorK0lGIChIQVZFX0dDQ19DMTFfQVRPTUlDU19XSVRIX0xJQkFUT01JQykKKysgIFRBUkdFVF9MSU5LX0xJQlJBUklFUyhyb2Nrc2RibGliIGF0b21pYykKKytFTkRJRigpCisgSUYoQ01BS0VfQ1hYX0NPTVBJTEVSX0lEIE1BVENIRVMgIkdOVSIgT1IgQ01BS0VfQ1hYX0NPTVBJTEVSX0lEIE1BVENIRVMgIkNsYW5nIikKKyAgIHNldF90YXJnZXRfcHJvcGVydGllcyhyb2Nrc2RibGliIFBST1BFUlRJRVMgQ09NUElMRV9GTEFHUyAiLWZQSUMgLWZuby1idWlsdGluLW1lbWNtcCAtZnJ0dGkiKQorIGVuZGlmKCkKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9maXgtY21ha2UtbW9kdWxlLXBhdGgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvZml4LWNtYWtlLW1vZHVsZS1wYXRoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZDlmNTU4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9maXgtY21ha2UtbW9kdWxlLXBhdGgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Bdm9pZCBDTUFLRV9NT0RVTEVfUEFUSCBiZWluZyBvdmVyd3JpdHRlbgotCi1PRS1Db3JlJ3Mgc2V0dGluZyBvZiBDTUFLRV9NT0RVTEVfUEFUSCBzdG9tcHMgb24gTWFyaWFEQidzIHZhbHVlIHVubGVzcwotd2Ugc2V0IGl0IGFmdGVyIHNldHRpbmcgdGhlIHByb2plY3QgbmFtZS4KLQotU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbd29ya2luZyBhcm91bmQgT0UtQ29yZSBidWddCi0KLS0tLSBtYXJpYWRiL0NNYWtlTGlzdHMudHh0CTIwMTQtMDctMTcgMTE6MDE6MDcuNjc2MzUzMDQ3ICswMTAwCi0rKysgbWFyaWFkYi9DTWFrZUxpc3RzLnR4dAkyMDE0LTA3LTE3IDExOjAxOjMxLjI5OTM1MzEwNyArMDEwMAotQEAgLTI4LDggKzI4LDYgQEAKLSAKLSBNRVNTQUdFKFNUQVRVUyAiUnVubmluZyBjbWFrZSB2ZXJzaW9uICR7Q01BS0VfVkVSU0lPTn0iKQotIAotLVNFVChDTUFLRV9NT0RVTEVfUEFUSCAke0NNQUtFX01PRFVMRV9QQVRIfSAke0NNQUtFX1NPVVJDRV9ESVJ9L2NtYWtlKQotLQotICMgRGlzdGluZ3Vpc2ggYmV0d2VlbiBjb21tdW5pdHkgYW5kIG5vbi1jb21tdW5pdHkgYnVpbGRzLCB3aXRoIHRoZQotICMgZGVmYXVsdCBiZWluZyBhIGNvbW11bml0eSBidWlsZC4gVGhpcyBkb2VzIG5vdCBpbXBhY3QgdGhlIGZlYXR1cmUKLSAjIHNldCB0aGF0IHdpbGwgYmUgY29tcGlsZWQgaW47IGl0J3MgbWVyZWx5IHByb3ZpZGVkIGFzIGEgaGludCB0bwotQEAgLTc3LDYgKzc1LDggQEAKLSBFTkRJRigpCi0gUFJPSkVDVCgke01ZU1FMX1BST0pFQ1RfTkFNRX0pCi0gCi0rU0VUKENNQUtFX01PRFVMRV9QQVRIICR7Q01BS0VfTU9EVUxFX1BBVEh9ICR7Q01BS0VfU09VUkNFX0RJUn0vY21ha2UpCi0rCi0gSUYoQlVJTERfQ09ORklHKQotICAgSU5DTFVERSgKLSAgICR7Q01BS0VfU09VUkNFX0RJUn0vY21ha2UvYnVpbGRfY29uZmlndXJhdGlvbnMvJHtCVUlMRF9DT05GSUd9LmNtYWtlKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2ZpeC1teXNxbGNsaWVudC1yLXZlcnNpb24ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvZml4LW15c3FsY2xpZW50LXItdmVyc2lvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTUxOWU0Mi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvZml4LW15c3FsY2xpZW50LXItdmVyc2lvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE2MCArMCwwIEBACi1Gcm9tIDZkYjJhNjA2MTk2ZmIzOGE2ZDEwNmRjNDA5ZWVlMWNiOWE0MGE0NDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUb3IgRGlkcmlrc2VuIDx0b3IuZGlkcmlrc2VuQG9yYWNsZS5jb20+Ci1EYXRlOiBNb24sIDI0IEp1biAyMDEzIDE3OjE1OjM1ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIEJ1ZyMxNjgwOTA1NSBNWVNRTCA1LjYgQU5EIDUuNyBTVElMTCBVU0UgTElCTVlTUUxDTElFTlQuU08uMTgKLQotV2l0aCB0aGlzIHBhdGNoLCB0aGUgbGlibXlzcWwvIGRpcmVjdG9yeSBjb250YWluczoKLWxpYm15c3FsY2xpZW50LmEKLWxpYm15c3FsY2xpZW50X3IuYSAtPiBsaWJteXNxbGNsaWVudC5hCi1saWJteXNxbGNsaWVudF9yLnNvIC0+IGxpYm15c3FsY2xpZW50LnNvKgotbGlibXlzcWxjbGllbnRfci5zby4xOCAtPiBsaWJteXNxbGNsaWVudC5zby4xOCoKLWxpYm15c3FsY2xpZW50X3Iuc28uMTguMS4wIC0+IGxpYm15c3FsY2xpZW50LnNvLjE4LjEuMCoKLWxpYm15c3FsY2xpZW50LnNvIC0+IGxpYm15c3FsY2xpZW50LnNvLjE4KgotbGlibXlzcWxjbGllbnQuc28uMTggLT4gbGlibXlzcWxjbGllbnQuc28uMTguMS4wKgotbGlibXlzcWxjbGllbnQuc28uMTguMS4wKgotCi1UaGlzIGZpeGVzIGxpYm15c3FsY2xpZW50X3Igc3ltbGlua3MgcG9pbnRpbmcgdG8gdGhlIHVudmVyc2lvbmVkCi1saWJteXNxbGNsaWVudC5zbyBzeW1saW5rIChsZWFkaW5nIHRvIHBhY2thZ2UgUUEgZXJyb3JzIHNpbmNlIHRoZQotbGlibXlzcWxjbGllbnQtciBwYWNrYWdlIGVuZHMgdXAgZGVwZW5kaW5nIG9uIGxpYm15c3FsY2xpZW50LWRldikuCi0KLUJvcnJvd2VkIGZyb20gTXlTUUwgNS42IHRyZWUgYXQgaHR0cHM6Ly9naXRodWIuY29tL3BlcmNvbmEvbXlzcWwvCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KLQotLS0tCi0gY21ha2UvaW5zdGFsbF9tYWNyb3MuY21ha2UgfCAyNSArKysrKysrKysrKysrKystLS0tLS0tLS0tCi0gbGlibXlzcWwvQ01ha2VMaXN0cy50eHQgICAgfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NtYWtlL2luc3RhbGxfbWFjcm9zLmNtYWtlIGIvY21ha2UvaW5zdGFsbF9tYWNyb3MuY21ha2UKLWluZGV4IGI4ZWZkZjguLmEwZDBlNjggMTAwNjQ0Ci0tLS0gYS9jbWFrZS9pbnN0YWxsX21hY3Jvcy5jbWFrZQotKysrIGIvY21ha2UvaW5zdGFsbF9tYWNyb3MuY21ha2UKLUBAIC0xLDQgKzEsNCBAQAotLSMgQ29weXJpZ2h0IChjKSAyMDA5LCAyMDExLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotKyMgQ29weXJpZ2h0IChjKSAyMDA5LCAyMDEzLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICMgCi0gIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLUBAIC0xNjcsMjggKzE2NywzMyBAQCBFTkRGVU5DVElPTigpCi0gCi0gCi0gIyBJbnN0YWxsIHN5bWJvbGljIGxpbmsgdG8gQ01ha2UgdGFyZ2V0LiAKLS0jIHRoZSBsaW5rIGlzIGNyZWF0ZWQgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IGFzIHRhcmdldAotLSMgYW5kIGV4dGVuc2lvbiB3aWxsIGJlIHRoZSBzYW1lIGFzIGZvciB0YXJnZXQgZmlsZS4KLS1NQUNSTyhJTlNUQUxMX1NZTUxJTksgbGlua25hbWUgdGFyZ2V0IGRlc3RpbmF0aW9uIGNvbXBvbmVudCkKLSsjIFdlIGRvICdjZCBwYXRoOyBsbiAtcyB0YXJnZXRfbmFtZSBsaW5rX25hbWUnCi0rIyBXZSBhbHNvIGFkZCBhbiBJTlNUQUxMIHRhcmdldCBmb3IgIiR7cGF0aH0vJHtsaW5rX25hbWV9IgotK01BQ1JPKElOU1RBTExfU1lNTElOSyB0YXJnZXQgdGFyZ2V0X25hbWUgbGlua19uYW1lIGRlc3RpbmF0aW9uIGNvbXBvbmVudCkKLSBJRihVTklYKQotICAgR0VUX1RBUkdFVF9QUk9QRVJUWShsb2NhdGlvbiAke3RhcmdldH0gTE9DQVRJT04pCi0gICBHRVRfRklMRU5BTUVfQ09NUE9ORU5UKHBhdGggJHtsb2NhdGlvbn0gUEFUSCkKLS0gIEdFVF9GSUxFTkFNRV9DT01QT05FTlQobmFtZSAke2xvY2F0aW9ufSBOQU1FKQotLSAgU0VUKG91dHB1dCAke3BhdGh9LyR7bGlua25hbWV9KQotKyAgTUVTU0FHRShTVEFUVVMgInRhcmdldCAke3RhcmdldH0iKQotKyAgTUVTU0FHRShTVEFUVVMgImxpbmtfbmFtZSAke2xpbmtfbmFtZX0iKQotKyAgTUVTU0FHRShTVEFUVVMgInRhcmdldF9uYW1lICR7dGFyZ2V0X25hbWV9IikKLSsgIE1FU1NBR0UoU1RBVFVTICJwYXRoICR7cGF0aH0iKQotKyAgTUVTU0FHRShTVEFUVVMgIiIpCi0rCi0rICBTRVQob3V0cHV0ICR7cGF0aH0vJHtsaW5rX25hbWV9KQotICAgQUREX0NVU1RPTV9DT01NQU5EKAotICAgICBPVVRQVVQgJHtvdXRwdXR9Ci0gICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSBBUkdTIC1FIHJlbW92ZSAtZiAke291dHB1dH0KLSAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IEFSR1MgLUUgY3JlYXRlX3N5bWxpbmsgCi0tICAgICAgJHtuYW1lfSAKLS0gICAgICAke2xpbmtuYW1lfQotKyAgICAgICR7dGFyZ2V0X25hbWV9IAotKyAgICAgICR7bGlua19uYW1lfQotICAgICBXT1JLSU5HX0RJUkVDVE9SWSAke3BhdGh9Ci0gICAgIERFUEVORFMgJHt0YXJnZXR9Ci0gICAgICkKLSAgIAotLSAgQUREX0NVU1RPTV9UQVJHRVQoc3ltbGlua18ke2xpbmtuYW1lfQotKyAgQUREX0NVU1RPTV9UQVJHRVQoc3ltbGlua18ke2xpbmtfbmFtZX0KLSAgICAgQUxMCi0gICAgIERFUEVORFMgJHtvdXRwdXR9KQotLSAgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKHN5bWxpbmtfJHtsaW5rbmFtZX0gUFJPUEVSVElFUyBDTEVBTl9ESVJFQ1RfT1VUUFVUIDEpCi0rICBTRVRfVEFSR0VUX1BST1BFUlRJRVMoc3ltbGlua18ke2xpbmtfbmFtZX0gUFJPUEVSVElFUyBDTEVBTl9ESVJFQ1RfT1VUUFVUIDEpCi0gICBJRihDTUFLRV9HRU5FUkFUT1IgTUFUQ0hFUyAiWGNvZGUiKQotICAgICAjIEZvciBYY29kZSwgcmVwbGFjZSBwcm9qZWN0IGNvbmZpZyB3aXRoIGluc3RhbGwgY29uZmlnCi0gICAgIFNUUklORyhSRVBMQUNFICIke0NNQUtFX0NGR19JTlRESVJ9IiAKLWRpZmYgLS1naXQgYS9saWJteXNxbC9DTWFrZUxpc3RzLnR4dCBiL2xpYm15c3FsL0NNYWtlTGlzdHMudHh0Ci1pbmRleCBiZTU3NjBmLi45NjI4NmZmIDEwMDY0NAotLS0tIGEvbGlibXlzcWwvQ01ha2VMaXN0cy50eHQKLSsrKyBiL2xpYm15c3FsL0NNYWtlTGlzdHMudHh0Ci1AQCAtNDMzLDYgKzQzMywxMiBAQCBJRihNU1ZDKQotICBJTlNUQUxMX0RFQlVHX1RBUkdFVChjbGllbnRsaWIgREVTVElOQVRJT04gJHtJTlNUQUxMX0xJQkRJUn0vZGVidWcpCi0gRU5ESUYoKQotIAotK01BQ1JPKEdFVF9UQVJHRVRfTkFNRSB0YXJnZXQgb3V0X25hbWUpCi0rICBHRVRfVEFSR0VUX1BST1BFUlRZKGxvY2F0aW9uICR7dGFyZ2V0fSBMT0NBVElPTikKLSsgIEdFVF9GSUxFTkFNRV9DT01QT05FTlQobmFtZSAke2xvY2F0aW9ufSBOQU1FKQotKyAgU0VUKCR7b3V0X25hbWV9ICR7bmFtZX0pCi0rRU5ETUFDUk8oKQotKwotIElGKFVOSVgpCi0gICBNQUNSTyhHRVRfVkVSU0lPTkVEX0xJQk5BTUUgTElCTkFNRSBFWFRFTlNJT04gVkVSU0lPTiBPVVROQU1FKQotICAgICBTRVQoRE9UX1ZFUlNJT04gIi4ke1ZFUlNJT059IikKLUBAIC00NDUsNyArNDUxLDEzIEBAIElGKFVOSVgpCi0gICAgICAgU0VUKCR7T1VUTkFNRX0gJHtMSUJOQU1FfSR7RVhURU5TSU9OfSR7RE9UX1ZFUlNJT059KQotICAgICBFTkRJRigpIAotICAgRU5ETUFDUk8oKQotLSAgSU5TVEFMTF9TWU1MSU5LKCR7Q01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYfW15c3FsY2xpZW50X3IuYSBteXNxbGNsaWVudCAke0lOU1RBTExfTElCRElSfSBEZXZlbG9wbWVudCkKLStFTkRJRigpCi0rCi0rSUYoVU5JWCkKLSsgIEdFVF9UQVJHRVRfTkFNRShteXNxbGNsaWVudCBsaWJfbmFtZSkKLSsgIElOU1RBTExfU1lNTElOSyhteXNxbGNsaWVudAotKyAgICAke2xpYl9uYW1lfSAke0NNQUtFX1NUQVRJQ19MSUJSQVJZX1BSRUZJWH1teXNxbGNsaWVudF9yLmEKLSsgICAgJHtJTlNUQUxMX0xJQkRJUn0gRGV2ZWxvcG1lbnQpCi0gRU5ESUYoKQotIAotIElGKE5PVCBESVNBQkxFX1NIQVJFRCkKLUBAIC00NTYsMTAgKzQ2OCw5IEBAIElGKE5PVCBESVNBQkxFX1NIQVJFRCkKLSAgICAgIyBsaWJ0b29sIGNvbXBhdGFiaWxpdHkKLSAgICAgSUYoQ01BS0VfU1lTVEVNX05BTUUgTUFUQ0hFUyAiRnJlZUJTRCIgT1IgQVBQTEUpCi0gICAgICAgU0VUKE9TX1NIQVJFRF9MSUJfVkVSU0lPTiAiJHtTSEFSRURfTElCX01BSk9SX1ZFUlNJT059IikKLS0gICAgRUxTRUlGKENNQUtFX1NZU1RFTV9OQU1FIE1BVENIRVMgIkhQLVVYIikKLS0gICAgICBTRVQoT1NfU0hBUkVEX0xJQl9WRVJTSU9OICIke1NIQVJFRF9MSUJfTUFKT1JfVkVSU0lPTn0uMCIpCi0gICAgIEVMU0UoKQotLSAgICAgIFNFVChPU19TSEFSRURfTElCX1ZFUlNJT04gIiR7U0hBUkVEX0xJQl9NQUpPUl9WRVJTSU9OfS4wLjAiKQotKyAgICAgIFNFVChPU19TSEFSRURfTElCX1ZFUlNJT04KLSsgICAgICAgICIke1NIQVJFRF9MSUJfTUFKT1JfVkVSU0lPTn0uJHtTSEFSRURfTElCX01JTk9SX1ZFUlNJT059LjAiKQotICAgICBFTkRJRigpCi0gICAgICMgTmFtZSBvZiBzaGFyZWQgbGlicmFyeSBpcyBteXNxbGNsaWVudCBvbiBVbml4Ci0gICAgIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJteXNxbCBQUk9QRVJUSUVTIAotQEAgLTQ4Miw4ICs0OTMsMTMgQEAgSUYoTk9UIERJU0FCTEVfU0hBUkVEKQotICAgICAgICIke0NNQUtFX1NIQVJFRF9MSUJSQVJZX1NVRkZJWH0iCi0gICAgICAgIiIKLSAgICAgICBsaW5rbmFtZSkKLS0gICAgSU5TVEFMTF9TWU1MSU5LKCR7bGlua25hbWV9IGxpYm15c3FsICR7SU5TVEFMTF9MSUJESVJ9IFNoYXJlZExpYnJhcmllcykKLS0gICAgU0VUKE9TX1NIQVJFRF9MSUJfU1lNTElOS1MgIiR7U0hBUkVEX0xJQl9NQUpPUl9WRVJTSU9OfSIgIiR7T1NfU0hBUkVEX0xJQl9WRVJTSU9OfSIpCi0rICAgIEdFVF9UQVJHRVRfTkFNRShsaWJteXNxbCBsaWJfbmFtZSkKLSsgICAgR0VUX0ZJTEVOQU1FX0NPTVBPTkVOVChsaWJfbmFtZV93ZSAke2xpYl9uYW1lfSBOQU1FX1dFKQotKyAgICBJTlNUQUxMX1NZTUxJTksobGlibXlzcWwKLSsgICAgICAke2xpYl9uYW1lfSAke2xpbmtuYW1lfQotKyAgICAgICR7SU5TVEFMTF9MSUJESVJ9IFNoYXJlZExpYnJhcmllcykKLSsgICAgU0VUKE9TX1NIQVJFRF9MSUJfU1lNTElOS1MKLSsgICAgICAiJHtTSEFSRURfTElCX01BSk9SX1ZFUlNJT059IiAiJHtPU19TSEFSRURfTElCX1ZFUlNJT059IikKLSAgICAgTElTVChSRU1PVkVfRFVQTElDQVRFUyBPU19TSEFSRURfTElCX1NZTUxJTktTKQotICAgICBGT1JFQUNIKHZlciAke09TX1NIQVJFRF9MSUJfU1lNTElOS1N9KQotICAgICAgIEdFVF9WRVJTSU9ORURfTElCTkFNRSgKLUBAIC00OTEsNyArNTA3LDExIEBAIElGKE5PVCBESVNBQkxFX1NIQVJFRCkKLSAgICAgICAgICIke0NNQUtFX1NIQVJFRF9MSUJSQVJZX1NVRkZJWH0iCi0gICAgICAgICAiJHt2ZXJ9IgotICAgICAgICAgbGlua25hbWUpCi0tICAgICAgSU5TVEFMTF9TWU1MSU5LKCR7bGlua25hbWV9IGxpYm15c3FsICR7SU5TVEFMTF9MSUJESVJ9IFNoYXJlZExpYnJhcmllcykKLSsgICAgICBHRVRfVkVSU0lPTkVEX0xJQk5BTUUoCi0rICAgICAgICAke2xpYl9uYW1lX3dlfSAiJHtDTUFLRV9TSEFSRURfTElCUkFSWV9TVUZGSVh9IiAiJHt2ZXJ9IiBsaWJfbmFtZV92ZXIpCi0rICAgICAgSU5TVEFMTF9TWU1MSU5LKGxpYm15c3FsCi0rICAgICAgICAke2xpYl9uYW1lX3Zlcn0gJHtsaW5rbmFtZX0KLSsgICAgICAgICR7SU5TVEFMTF9MSUJESVJ9IFNoYXJlZExpYnJhcmllcykKLSAgICAgRU5ERk9SRUFDSCgpCi0gICBFTkRJRigpCi0gRU5ESUYoKQotLS0gCi0yLjAuMwotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvcmVtb3ZlLWJhZC1wYXRoLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL3JlbW92ZS1iYWQtcGF0aC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmYyNmIwYi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvcmVtb3ZlLWJhZC1wYXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotUmVtb3ZlIGhvc3QgcGF0aCBmcm9tIGluY2x1ZGUgZGlyZWN0b3JpZXMKLQotTmF0dXJhbGx5IHRoaXMgYnJlYWtzIGNyb3NzLWNvbXBpbGF0aW9uIGlmIHByZXNlbnQuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KLQotLS0tIG1hcmlhZGItNS41LjM4L3N0b3JhZ2UvdG9rdWRiL2Z0LWluZGV4L0NNYWtlTGlzdHMudHh0CTIwMTQtMDctMTcgMTQ6Mzc6MDQuNTI5MzI3OTk4ICswMTAwCi0rKysgbWFyaWFkYi01LjUuMzgvc3RvcmFnZS90b2t1ZGIvZnQtaW5kZXgvQ01ha2VMaXN0cy50eHQJMjAxNC0wNy0xNyAxNDo0Mzo1Ni45OTEzMzc4OTUgKzAxMDAKLUBAIC0zOSw3ICszOSw2IEBACi0gCi0gIyMgZGVmYXVsdCBpbmNsdWRlcyBhbmQgbGlicmFyaWVzCi0gaW5jbHVkZV9kaXJlY3RvcmllcyhTWVNURU0KLS0gIC91c3IvbG9jYWwvaW5jbHVkZQotICAgJHtaTElCX0lOQ0xVREVfRElSU30KLSAgICkKLSAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9zcWwtQ01ha2VMaXN0cy50eHQtZml4LWdlbl9sZXhfaGFzaC1ub3QtZm91bmQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvc3FsLUNNYWtlTGlzdHMudHh0LWZpeC1nZW5fbGV4X2hhc2gtbm90LWZvdW5kLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmYzFiZTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvc3FsLUNNYWtlTGlzdHMudHh0LWZpeC1nZW5fbGV4X2hhc2gtbm90LWZvdW5kLnBhdGNoCkBAIC0wLDAgKzEsNjUgQEAKK0Zyb20gNzk2NDY0MDE1YmZmZTZlMGJlY2E5ZTFjMzU1YjIyMzUxMjgwM2MzZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDI3IEZlYiAyMDE5IDIzOjAxOjAwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIHNxbC9DTWFrZUxpc3RzLnR4dDogZml4IGdlbl9sZXhfaGFzaCBub3QgZm91bmQKKworRml4IHRoZSBiZWxvdyBkb19jb21waWxlIGlzc3VlIGluIGNyb3NzLWNvbXBpbGluZyBlbnYuCit8IG1ha2VbMl06ICoqKiBObyBydWxlIHRvIG1ha2UgdGFyZ2V0ICcvYnVpbGQvdG1wL3dvcmsvYWFyY2g2NC1wb2t5LWxpbnV4L21hcmlhZGIvMTAuMy4xMy1yMC9tYXJpYWRiLTEwLjMuMTMvc3FsL2dlbl9sZXhfaGFzaCcsIG5lZWRlZCBieSAnc3FsL2xleF9oYXNoLmgnLiAgU3RvcC4KK3wgbWFrZVsyXTogKioqIE5vIHJ1bGUgdG8gbWFrZSB0YXJnZXQgJy9idWlsZC90bXAvd29yay9hYXJjaDY0LXBva3ktbGludXgvbWFyaWFkYi8xMC4zLjEzLXIwL21hcmlhZGItMTAuMy4xMy9zcWwvZ2VuX2xleF90b2tlbicsIG5lZWRlZCBieSAnc3FsL2xleF90b2tlbi5oJy4gIFN0b3AuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UgYnVpbGQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CisKKy0tLQorIHNxbC9DTWFrZUxpc3RzLnR4dCB8IDMwICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NxbC9DTWFrZUxpc3RzLnR4dCBiL3NxbC9DTWFrZUxpc3RzLnR4dAoraW5kZXggYzY5MTBmNDYuLmJmNTFmNGNiIDEwMDY0NAorLS0tIGEvc3FsL0NNYWtlTGlzdHMudHh0CisrKysgYi9zcWwvQ01ha2VMaXN0cy50eHQKK0BAIC01MCwxMSArNTAsMTYgQEAgJHtXU1JFUF9JTkNMVURFU30KKyAKKyAKKyAKKy1BRERfQ1VTVE9NX0NPTU1BTkQoCistICBPVVRQVVQgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2xleF90b2tlbi5oCistICBDT01NQU5EIGdlbl9sZXhfdG9rZW4gPiBsZXhfdG9rZW4uaAorLSAgREVQRU5EUyBnZW5fbGV4X3Rva2VuCistKQorK0lGKE5PVCBDTUFLRV9DUk9TU0NPTVBJTElORykKKysgIEFERF9DVVNUT01fQ09NTUFORCgKKysgICBPVVRQVVQgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2xleF90b2tlbi5oCisrICAgQ09NTUFORCBnZW5fbGV4X3Rva2VuID4gbGV4X3Rva2VuLmgKKysgICBERVBFTkRTIGdlbl9sZXhfdG9rZW4pCisrRUxTRSgpCisrICBBRERfQ1VTVE9NX0NPTU1BTkQoCisrICAgT1VUUFVUICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9sZXhfdG9rZW4uaAorKyAgIENPTU1BTkQgZ2VuX2xleF90b2tlbiA+IGxleF90b2tlbi5oKQorK0VORElGKCkKKyAKKyBBRERfREVGSU5JVElPTlMoLURNWVNRTF9TRVJWRVIgLURIQVZFX0VWRU5UX1NDSEVEVUxFUikKKyAKK0BAIC0zNzAsMTEgKzM3NSwxNiBAQCBJRihOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcpCisgICBBRERfRVhFQ1VUQUJMRShnZW5fbGV4X2hhc2ggZ2VuX2xleF9oYXNoLmNjKQorIEVORElGKCkKKyAKKy1BRERfQ1VTVE9NX0NPTU1BTkQoCistICBPVVRQVVQgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2xleF9oYXNoLmgKKy0gIENPTU1BTkQgZ2VuX2xleF9oYXNoID4gbGV4X2hhc2guaAorLSAgREVQRU5EUyBnZW5fbGV4X2hhc2gKKy0pCisrSUYoTk9UIENNQUtFX0NST1NTQ09NUElMSU5HKQorKyAgQUREX0NVU1RPTV9DT01NQU5EKAorKyAgIE9VVFBVVCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vbGV4X2hhc2guaAorKyAgIENPTU1BTkQgZ2VuX2xleF9oYXNoID4gbGV4X2hhc2guaAorKyAgIERFUEVORFMgZ2VuX2xleF9oYXNoKQorK0VMU0UoKQorKyAgQUREX0NVU1RPTV9DT01NQU5EKAorKyAgIE9VVFBVVCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vbGV4X2hhc2guaAorKyAgIENPTU1BTkQgZ2VuX2xleF9oYXNoID4gbGV4X2hhc2guaCkKKytFTkRJRigpCisgCisgTVlTUUxfQUREX0VYRUNVVEFCTEUobXlzcWxfdHppbmZvX3RvX3NxbCB0enRpbWUuY2MgQ09NUE9ORU5UIFNlcnZlcikKKyBTRVRfVEFSR0VUX1BST1BFUlRJRVMobXlzcWxfdHppbmZvX3RvX3NxbCBQUk9QRVJUSUVTIENPTVBJTEVfRkxBR1MgIi1EVFpJTkZPMlNRTCIpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvc3VwcG9ydC1maWxlcy1DTWFrZUxpc3RzLnR4dC1maXgtZG9fcG9wdWxhdGVfc3lzcm9vdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9zdXBwb3J0LWZpbGVzLUNNYWtlTGlzdHMudHh0LWZpeC1kb19wb3B1bGF0ZV9zeXNyb290LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmOWE0ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvc3VwcG9ydC1maWxlcy1DTWFrZUxpc3RzLnR4dC1maXgtZG9fcG9wdWxhdGVfc3lzcm9vdC5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIDRhYzViNTU1ZDA1OGQ0ZDQ4OWYyNWEzODA2YTc4N2I3YjI0NjVkMDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCAyNyBGZWIgMjAxOSAyMjo0MToyNiAtMDgwMAorU3ViamVjdDogW1BBVENIXSBzdXBwb3J0LWZpbGVzL0NNYWtlTGlzdHMudHh0OiBmaXggZG9fcG9wdWxhdGVfc3lzcm9vdCBpc3N1ZQorCitDb21tZW50IG91dCB0aGUgbG9naWMgd2hpY2ggZm9yIHN1c2UgYXMgaXQgaW50cm9kdWNlcworYmVsb3cgZG9fcG9wdWxhdGVfc3lzcm9vdCBlcnJvcjoKK0VSUk9SOiBtYXJpYWRiLW5hdGl2ZS0xMC4zLjEzLXIwIGRvX3BvcHVsYXRlX3N5c3Jvb3Q6IHNzdGF0ZSBmb3VuZCBhbiBhYnNvbHV0ZSBwYXRoIHN5bWxpbmsgL2J1aWxkL3RtcC93b3JrL3g4Nl82NC1saW51eC9tYXJpYWRiLW5hdGl2ZS8xMC4zLjEzLXIwL3N5c3Jvb3QtZGVzdGRpci9idWlsZC90bXAvd29yay94ODZfNjQtbGludXgvbWFyaWFkYi1uYXRpdmUvMTAuMy4xMy1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL3NiaW4vcmNteXNxbCBwb2ludGluZyBhdCAvYnVpbGQvdG1wL3dvcmsveDg2XzY0LWxpbnV4L21hcmlhZGItbmF0aXZlLzEwLjMuMTMtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL2V0Yy9pbml0LmQvbXlzcWwuIFBsZWFzZSByZXBsYWNlIHRoaXMgd2l0aCBhIHJlbGF0aXZlIGxpbmsuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZVtvZSBidWlsZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KKworLS0tCisgc3VwcG9ydC1maWxlcy9DTWFrZUxpc3RzLnR4dCB8IDcgLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3VwcG9ydC1maWxlcy9DTWFrZUxpc3RzLnR4dCBiL3N1cHBvcnQtZmlsZXMvQ01ha2VMaXN0cy50eHQKK2luZGV4IGI1NzY3NDMyLi41NjczM2RlMSAxMDA2NDQKKy0tLSBhL3N1cHBvcnQtZmlsZXMvQ01ha2VMaXN0cy50eHQKKysrKyBiL3N1cHBvcnQtZmlsZXMvQ01ha2VMaXN0cy50eHQKK0BAIC0xNjUsMTIgKzE2NSw1IEBAIElGKFVOSVgpCisgICAgICAgSU5TVEFMTChGSUxFUyBycG0vZW5hYmxlX2VuY3J5cHRpb24ucHJlc2V0IERFU1RJTkFUSU9OICR7SU5TVEFMTF9TWVNDT05GMkRJUn0KKyAgICAgICAgICAgICAgIENPTVBPTkVOVCBJbmlGaWxlcykKKyAgICAgRU5ESUYoKQorLQorLSAgICAjIFRoaXMgaXMgZm9yIFN1U0U6CistICAgIElOU1RBTEwoQ09ERSAiRVhFQ1VURV9QUk9DRVNTKENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBjcmVhdGVfc3ltbGluaworLSAgICAgICAgICAgICAgICAgICAke0lOU1RBTExfU1lTQ09ORkRJUn0vaW5pdC5kL215c3FsCistICAgICAgICAgICAgICAgICAgICR7SU5TVEFMTF9TQklORElSfS9yY215c3FsCistICAgICAgICAgICAgICAgICAgIFdPUktJTkdfRElSRUNUT1JZIFwkRU5We0RFU1RESVJ9JHtwcmVmaXh9KSIKKy0gICAgICAgICAgICAgICAgICAgQ09NUE9ORU5UIFN1cHBvcnRGaWxlcykKKyAgIEVORElGKElOU1RBTExfU1lTQ09ORkRJUikKKyBFTkRJRigpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGJfMTAuMy4xMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYl8xMC4zLjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlMjRjOTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGJfMTAuMy4xMy5iYgpAQCAtMCwwICsxLDI3IEBACityZXF1aXJlIG1hcmlhZGIuaW5jCisKK0VYVFJBX09FQ01BS0UgKz0gIi1EU1RBQ0tfRElSRUNUSU9OPS0xIgorCitERVBFTkRTICs9ICJtYXJpYWRiLW5hdGl2ZSBiaXNvbi1uYXRpdmUgb3BlbnNzbCBuY3Vyc2VzIHpsaWIgcmVhZGxpbmUgbGliYWlvIGxpYmV2ZW50IGxpYnhtbDIiCisKK1BST1ZJREVTICs9ICJteXNxbDUgbGlibXlzcWxjbGllbnQiCisKK1JQUk9WSURFU18ke1BOfSArPSAibXlzcWw1IgorUlJFUExBQ0VTXyR7UE59ICs9ICJteXNxbDUiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICJteXNxbDUiCisKK1JQUk9WSURFU18ke1BOfS1kYmcgKz0gIm15c3FsNS1kYmciCitSUkVQTEFDRVNfJHtQTn0tZGJnICs9ICJteXNxbDUtZGJnIgorUkNPTkZMSUNUU18ke1BOfS1kYmcgKz0gIm15c3FsNS1kYmciCisKK1JQUk9WSURFU18ke1BOfS1sZWZ0b3ZlcnMgKz0gIm15c3FsNS1sZWZ0b3ZlcnMiCitSUkVQTEFDRVNfJHtQTn0tbGVmdG92ZXJzICs9ICJteXNxbDUtbGVmdG92ZXJzIgorUkNPTkZMSUNUU18ke1BOfS1sZWZ0b3ZlcnMgKz0gIm15c3FsNS1sZWZ0b3ZlcnMiCisKK1JQUk9WSURFU18ke1BOfS1jbGllbnQgKz0gIm15c3FsNS1jbGllbnQiCitSUkVQTEFDRVNfJHtQTn0tY2xpZW50ICs9ICJteXNxbDUtY2xpZW50IgorUkNPTkZMSUNUU18ke1BOfS1jbGllbnQgKz0gIm15c3FsNS1jbGllbnQiCisKK1JQUk9WSURFU18ke1BOfS1zZXJ2ZXIgKz0gIm15c3FsNS1zZXJ2ZXIiCitSUkVQTEFDRVNfJHtQTn0tc2VydmVyICs9ICJteXNxbDUtc2VydmVyIgorUkNPTkZMSUNUU18ke1BOfS1zZXJ2ZXIgKz0gIm15c3FsNS1zZXJ2ZXIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGJfNS41LjYyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiXzUuNS42Mi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDc4OTU3My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGJfNS41LjYyLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotcmVxdWlyZSBtYXJpYWRiLmluYwotCi1FWFRSQV9PRUNNQUtFICs9ICItRFNUQUNLX0RJUkVDVElPTj0tMSIKLQotREVQRU5EUyArPSAibWFyaWFkYi1uYXRpdmUgbmN1cnNlcyB6bGliIHJlYWRsaW5lIGxpYmFpbyBsaWJldmVudCIKLQotUFJPVklERVMgKz0gIm15c3FsNSBsaWJteXNxbGNsaWVudCIKLQotUlBST1ZJREVTXyR7UE59ICs9ICJteXNxbDUiCi1SUkVQTEFDRVNfJHtQTn0gKz0gIm15c3FsNSIKLVJDT05GTElDVFNfJHtQTn0gKz0gIm15c3FsNSIKLQotUlBST1ZJREVTXyR7UE59LWRiZyArPSAibXlzcWw1LWRiZyIKLVJSRVBMQUNFU18ke1BOfS1kYmcgKz0gIm15c3FsNS1kYmciCi1SQ09ORkxJQ1RTXyR7UE59LWRiZyArPSAibXlzcWw1LWRiZyIKLQotUlBST1ZJREVTXyR7UE59LWxlZnRvdmVycyArPSAibXlzcWw1LWxlZnRvdmVycyIKLVJSRVBMQUNFU18ke1BOfS1sZWZ0b3ZlcnMgKz0gIm15c3FsNS1sZWZ0b3ZlcnMiCi1SQ09ORkxJQ1RTXyR7UE59LWxlZnRvdmVycyArPSAibXlzcWw1LWxlZnRvdmVycyIKLQotUlBST1ZJREVTXyR7UE59LWNsaWVudCArPSAibXlzcWw1LWNsaWVudCIKLVJSRVBMQUNFU18ke1BOfS1jbGllbnQgKz0gIm15c3FsNS1jbGllbnQiCi1SQ09ORkxJQ1RTXyR7UE59LWNsaWVudCArPSAibXlzcWw1LWNsaWVudCIKLQotUlBST1ZJREVTXyR7UE59LXNlcnZlciArPSAibXlzcWw1LXNlcnZlciIKLVJSRVBMQUNFU18ke1BOfS1zZXJ2ZXIgKz0gIm15c3FsNS1zZXJ2ZXIiCi1SQ09ORkxJQ1RTXyR7UE59LXNlcnZlciArPSAibXlzcWw1LXNlcnZlciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbXlzcWwtcHl0aG9uLzAwMDEtX215c3FsLmMtZml4LWNvbXBpbGF0aW9uLXdpdGgtTWFyaWFEQi13aXRoLTEwLjMuMTMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL215c3FsLXB5dGhvbi8wMDAxLV9teXNxbC5jLWZpeC1jb21waWxhdGlvbi13aXRoLU1hcmlhREItd2l0aC0xMC4zLjEzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3MzI0MWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL215c3FsLXB5dGhvbi8wMDAxLV9teXNxbC5jLWZpeC1jb21waWxhdGlvbi13aXRoLU1hcmlhREItd2l0aC0xMC4zLjEzLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb20gNDU0MzY1OTJhYTY0MzA4YjJhYjQ2Zjg0YzYxMDdjNmQ3ZGUwYTNlYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDYgTWFyIDIwMTkgMDA6MTY6MTcgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gX215c3FsLmM6IGZpeCBjb21waWxhdGlvbiB3aXRoIE1hcmlhREIgMTAuMy4xMworCitVc2Ugc3RhbmRhcmQgQVBJIGZ1bmN0aW9uIE1ZU1FMX09QVF9SRUNPTk5FQ1QKK2luc3RlYWQgb2YgZGlyZWN0IG1vZGlmaWNhdGlvbiBvZiBpbnRlcm5hbCBzdHJ1Y3R1cmVzCit3aGljaCBkb2VzIG5vdCB3b3JrIGZvciBNYXJpYURCLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KKy0tLQorIF9teXNxbC5jIHwgOSArKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKKy0tLSBhL19teXNxbC5jCisrKysgYi9fbXlzcWwuYworQEAgLTIwMDIsNyArMjAwMiwxNCBAQCBfbXlzcWxfQ29ubmVjdGlvbk9iamVjdF9waW5nKAorIAlpbnQgciwgcmVjb25uZWN0ID0gLTE7DQorIAlpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInxJIiwgJnJlY29ubmVjdCkpIHJldHVybiBOVUxMOw0KKyAJY2hlY2tfY29ubmVjdGlvbihzZWxmKTsNCistCWlmICggcmVjb25uZWN0ICE9IC0xICkgc2VsZi0+Y29ubmVjdGlvbi5yZWNvbm5lY3QgPSByZWNvbm5lY3Q7DQorKwlpZiAoIHJlY29ubmVjdCAhPSAtMSApIHsNCisrI2lmIE1ZU1FMX1ZFUlNJT05fSUQgPj0gNTAwMTMNCisrCQlteV9ib29sIHJlY29uID0gcmVjb25uZWN0Ow0KKysJCW15c3FsX29wdGlvbnMoJnNlbGYtPmNvbm5lY3Rpb24sIE1ZU1FMX09QVF9SRUNPTk5FQ1QsICZyZWNvbik7DQorKyNlbHNlDQorKwkJc2VsZi0+Y29ubmVjdGlvbi5yZWNvbm5lY3QgPSByZWNvbm5lY3Q7DQorKyNlbmRpZg0KKysgICAgICAgIH0NCisgCVB5X0JFR0lOX0FMTE9XX1RIUkVBRFMNCisgCXIgPSBteXNxbF9waW5nKCYoc2VsZi0+Y29ubmVjdGlvbikpOw0KKyAJUHlfRU5EX0FMTE9XX1RIUkVBRFMNCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL215c3FsLXB5dGhvbl8xLjIuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbXlzcWwtcHl0aG9uXzEuMi41LmJiCmluZGV4IGFjMGRmNGYuLmYyZmFlYzEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbXlzcWwtcHl0aG9uXzEuMi41LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbXlzcWwtcHl0aG9uXzEuMi41LmJiCkBAIC04LDcgKzgsOSBAQAogCiBTUkNOQU1FID0gIk15U1FMLXB5dGhvbiIKIAotU1JDX1VSSSA9ICJodHRwczovL3B5cGkucHl0aG9uLm9yZy9wYWNrYWdlcy9zb3VyY2UvTS8ke1NSQ05BTUV9LyR7U1JDTkFNRX0tJHtQVn0uemlwIgorU1JDX1VSSSA9ICJodHRwczovL3B5cGkucHl0aG9uLm9yZy9wYWNrYWdlcy9zb3VyY2UvTS8ke1NSQ05BTUV9LyR7U1JDTkFNRX0tJHtQVn0uemlwIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtX215c3FsLmMtZml4LWNvbXBpbGF0aW9uLXdpdGgtTWFyaWFEQi13aXRoLTEwLjMuMTMucGF0Y2ggXAorIgogU1JDX1VSSVttZDVzdW1dID0gIjY1NGY3NWIzMDJkYjZlZDhkYzVhODk4YzYyNWUwMzBjIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgxMTA0MGI2NDdlNWQ1Njg2Zjg0ZGI0MTVlZmQ2OTdlNjI1MDAwOGIxMTJiNjkwOWJhNzdhYzA1OWUxNDBjNzQiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy8wMDAxLUFkZC1zdXBwb3J0LWZvci1SSVNDLVYucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvMDAwMS1BZGQtc3VwcG9ydC1mb3ItUklTQy1WLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2NWFkMzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvMDAwMS1BZGQtc3VwcG9ydC1mb3ItUklTQy1WLnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gYjA2YTIyOGE1ZmQxNTg5ZmM5YmVkNjU0YjMyODhiMzIxZmMyMWFhMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJSaWNoYXJkIFcuTS4gSm9uZXMiIDxyam9uZXNAcmVkaGF0LmNvbT4KK0RhdGU6IFN1biwgMjAgTm92IDIwMTYgMTU6MDQ6NTIgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIHN1cHBvcnQgZm9yIFJJU0MtVi4KKworVGhlIGFyY2hpdGVjdHVyZSBpcyBzdWZmaWNpZW50bHkgc2ltaWxhciB0byBhYXJjaDY0IHRoYXQgc2ltcGx5CitleHRlbmRpbmcgdGhlIGV4aXN0aW5nIGFhcmNoNjQgbWFjcm8gd29ya3MuCistLS0KKyBzcmMvaW5jbHVkZS9zdG9yYWdlL3NfbG9jay5oIHwgNSArKystLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9zdG9yYWdlL3NfbG9jay5oIGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9zX2xvY2suaAoraW5kZXggM2ZlMjljZS4uN2NkNTc4ZiAxMDA2NDQKKy0tLSBhL3NyYy9pbmNsdWRlL3N0b3JhZ2Uvc19sb2NrLmgKKysrKyBiL3NyYy9pbmNsdWRlL3N0b3JhZ2Uvc19sb2NrLmgKK0BAIC0zMTYsMTEgKzMxNiwxMiBAQCB0YXModm9sYXRpbGUgc2xvY2tfdCAqbG9jaykKKyAKKyAvKgorICAqIE9uIEFSTSBhbmQgQVJNNjQsIHdlIHVzZSBfX3N5bmNfbG9ja190ZXN0X2FuZF9zZXQoaW50ICosIGludCkgaWYgYXZhaWxhYmxlLgorKyAqIE9uIFJJU0MtViwgdGhlIHNhbWUuCisgICoKKyAgKiBXZSB1c2UgdGhlIGludC13aWR0aCB2YXJpYW50IG9mIHRoZSBidWlsdGluIGJlY2F1c2UgaXQgd29ya3Mgb24gbW9yZSBjaGlwcworICAqIHRoYW4gb3RoZXIgd2lkdGhzLgorICAqLworLSNpZiBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19hcm0pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19hYXJjaDY0KQorKyNpZiBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19hcm0pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19hYXJjaDY0KSB8fCBkZWZpbmVkKF9fcmlzY3YpCisgI2lmZGVmIEhBVkVfR0NDX19TWU5DX0lOVDMyX1RBUworICNkZWZpbmUgSEFTX1RFU1RfQU5EX1NFVAorIAorQEAgLTMzNyw3ICszMzgsNyBAQCB0YXModm9sYXRpbGUgc2xvY2tfdCAqbG9jaykKKyAjZGVmaW5lIFNfVU5MT0NLKGxvY2spIF9fc3luY19sb2NrX3JlbGVhc2UobG9jaykKKyAKKyAjZW5kaWYJIC8qIEhBVkVfR0NDX19TWU5DX0lOVDMyX1RBUyAqLworLSNlbmRpZgkgLyogX19hcm1fXyB8fCBfX2FybSB8fCBfX2FhcmNoNjRfXyB8fCBfX2FhcmNoNjQgKi8KKysjZW5kaWYJIC8qIF9fYXJtX18gfHwgX19hcm0gfHwgX19hYXJjaDY0X18gfHwgX19hYXJjaDY0IHx8IF9fcmlzY3YgKi8KKyAKKyAKKyAvKiBTLzM5MCBhbmQgUy8zOTB4IExpbnV4ICgzMi0gYW5kIDY0LWJpdCB6U2VyaWVzKSAqLworLS0gCisyLjkuMworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvMDAwMS1TeW5jLW91ci1jb3B5LW9mLXRoZS10aW1lem9uZS1saWJyYXJ5LXdpdGgtSUFOQS1yZWxlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzLzAwMDEtU3luYy1vdXItY29weS1vZi10aGUtdGltZXpvbmUtbGlicmFyeS13aXRoLUlBTkEtcmVsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ4YzQ2ZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvMDAwMS1TeW5jLW91ci1jb3B5LW9mLXRoZS10aW1lem9uZS1saWJyYXJ5LXdpdGgtSUFOQS1yZWxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTE2NCArMCwwIEBACi1Gcm9tIDEyYmZiNzc4Y2U2ODhmYzY2MmE2Y2IzNWY2Mjk4NzM0ZmNmNDg1NmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUb20gTGFuZSA8dGdsQHNzcy5wZ2gucGEudXM+Ci1EYXRlOiBGcmksIDE5IE9jdCAyMDE4IDE5OjM2OjM0IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIFN5bmMgb3VyIGNvcHkgb2YgdGhlIHRpbWV6b25lIGxpYnJhcnkgd2l0aCBJQU5BIHJlbGVhc2UKLSB0emNvZGUyMDE4Zi4KLQotQWJvdXQgaGFsZiBvZiB0aGlzIGlzIHB1cmVseSBjb3NtZXRpYyBjaGFuZ2VzIHRvIHJlZHVjZSB0aGUgZGlmZiBiZXR3ZWVuCi1vdXIgY29kZSBhbmQgdGhlaXJzLCBsaWtlIGluc2VydGluZyAiY29uc3QiIG1hcmtlcnMgd2hlcmUgdGhleSBoYXZlIHRoZW0uCi0KLVRoZSBvdGhlciBoYWxmIGlzIHRyYWNraW5nIGFjdHVhbCBjb2RlIGNoYW5nZXMgaW4gemljLmMgYW5kIGxvY2FsdGltZS5jLgotSSBkb24ndCB0aGluayBhbnkgb2YgdGhlc2UgcmVwcmVzZW50IG5lYXItdGVybSBjb21wYXRpYmlsaXR5IGhhemFyZHMsIGJ1dAotaXQgc2VlbXMgYmVzdCB0byBzdGF5IHVwIHRvIGRhdGUuCi0KLUkgYWxzbyBmaXhlZCBsb25nc3RhbmRpbmcgYnVncyBpbiBvdXIgY29kZSBmb3IgcHJvZHVjaW5nIHRoZQota25vd25fYWJicmV2cy50eHQgbGlzdCwgd2hpY2ggYnkgY2hhbmNlIGhhZG4ndCBiZWVuIGV4cG9zZWQgYmVmb3JlLAotYnV0IHdoaWNoIHJlc3VsdGVkIGluIHNvbWUgZ2FyYmFnZSBvdXRwdXQgYWZ0ZXIgYXBwbHlpbmcgdGhlIHVwc3RyZWFtCi1jaGFuZ2VzIGluIHppYy5jLiAgTm90YWJseSwgYmVjYXVzZSB1cHN0cmVhbSByZW1vdmVkIHRoZWlyIG9sZCBwaG9ueQotdHJhbnNpdGlvbnMgYXQgdGhlIEJpZyBCYW5nLCBpdCdzIG5vdyBuZWNlc3NhcnkgdG8gY29wZSB3aXRoIFRaaWYgZmlsZXMKLWNvbnRhaW5pbmcgbm8gRFNUIHRyYW5zaXRpb24gdGltZXMgYXQgYWxsLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXJAbXZpc3RhLmNvbT4KLQotLS0tCi0gc3JjL3RpbWV6b25lL1JFQURNRSAgICAgIHwgICAyICstCi0gc3JjL3RpbWV6b25lL2xvY2FsdGltZS5jIHwgMTI2ICsrKysrKysrKysrKy0tLS0tLQotIHNyYy90aW1lem9uZS9wZ3R6LmggICAgICB8ICAxMCArLQotIHNyYy90aW1lem9uZS9wcml2YXRlLmggICB8ICAgMyArCi0gc3JjL3RpbWV6b25lL3N0cmZ0aW1lLmMgIHwgIDEwICstCi0gc3JjL3RpbWV6b25lL3R6ZmlsZS5oICAgIHwgICA3ICstCi0gc3JjL3RpbWV6b25lL3ppYy5jICAgICAgIHwgMzMwICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gNyBmaWxlcyBjaGFuZ2VkLCAyOTEgaW5zZXJ0aW9ucygrKSwgMTk3IGRlbGV0aW9ucygtKQotCi1JbmRleDogcG9zdGdyZXNxbC0xMC41L3NyYy90aW1lem9uZS9SRUFETUUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwb3N0Z3Jlc3FsLTEwLjUub3JpZy9zcmMvdGltZXpvbmUvUkVBRE1FCi0rKysgcG9zdGdyZXNxbC0xMC41L3NyYy90aW1lem9uZS9SRUFETUUKLUBAIC01NSw3ICs1NSw3IEBAIG1hdGNoIHByb3Blcmx5IG9uIHRoZSBvbGQgdmVyc2lvbi4KLSBUaW1lIFpvbmUgY29kZQotID09PT09PT09PT09PT09Ci0gCi0tVGhlIGNvZGUgaW4gdGhpcyBkaXJlY3RvcnkgaXMgY3VycmVudGx5IHN5bmNlZCB3aXRoIHR6Y29kZSByZWxlYXNlIDIwMThlLgotK1RoZSBjb2RlIGluIHRoaXMgZGlyZWN0b3J5IGlzIGN1cnJlbnRseSBzeW5jZWQgd2l0aCB0emNvZGUgcmVsZWFzZSAyMDE4Zi4KLSBUaGVyZSBhcmUgbWFueSBjb3NtZXRpYyAoYW5kIG5vdCBzbyBjb3NtZXRpYykgZGlmZmVyZW5jZXMgZnJvbSB0aGUKLSBvcmlnaW5hbCB0emNvZGUgbGlicmFyeSwgYnV0IGRpZmZzIGluIHRoZSB1cHN0cmVhbSB2ZXJzaW9uIHNob3VsZCB1c3VhbGx5Ci0gYmUgcHJvcGFnYXRlZCB0byBvdXIgdmVyc2lvbi4gIEhlcmUgYXJlIHNvbWUgbm90ZXMgYWJvdXQgdGhhdC4KLUluZGV4OiBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL2xvY2FsdGltZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcG9zdGdyZXNxbC0xMC41Lm9yaWcvc3JjL3RpbWV6b25lL2xvY2FsdGltZS5jCi0rKysgcG9zdGdyZXNxbC0xMC41L3NyYy90aW1lem9uZS9sb2NhbHRpbWUuYwotQEAgLTEsMyArMSw1IEBACi0rLyogQ29udmVydCB0aW1lc3RhbXAgZnJvbSBwZ190aW1lX3QgdG8gc3RydWN0IHBnX3RtLiAgKi8KLSsKLSAvKgotICAqIFRoaXMgZmlsZSBpcyBpbiB0aGUgcHVibGljIGRvbWFpbiwgc28gY2xhcmlmaWVkIGFzIG9mCi0gICogMTk5Ni0wNi0wNSBieSBBcnRodXIgRGF2aWQgT2xzb24uCi1AQCAtMTE3LDcgKzExOSw3IEBAIGluaXRfdHRpbmZvKHN0cnVjdCB0dGluZm8gKnMsIGludDMyIGdtdG8KLSB9Ci0gCi0gc3RhdGljIGludDMyCi0tZGV0emNvZGUoY29uc3QgY2hhciAqY29kZXApCi0rZGV0emNvZGUoY29uc3QgY2hhciAqY29uc3QgY29kZXApCi0gewotIAlpbnQzMgkJcmVzdWx0OwotIAlpbnQJCQlpOwotQEAgLTE0Myw3ICsxNDUsNyBAQCBkZXR6Y29kZShjb25zdCBjaGFyICpjb2RlcCkKLSB9Ci0gCi0gc3RhdGljIGludDY0Ci0tZGV0emNvZGU2NChjb25zdCBjaGFyICpjb2RlcCkKLStkZXR6Y29kZTY0KGNvbnN0IGNoYXIgKmNvbnN0IGNvZGVwKQotIHsKLSAJdWludDY0CQlyZXN1bHQ7Ci0gCWludAkJCWk7Ci1AQCAtMjU4LDggKzI2MCwxMyBAQCB0emxvYWRib2R5KGNoYXIgY29uc3QgKm5hbWUsIGNoYXIgKmNhbm9uCi0gCQlpbnQzMgkJY2hhcmNudCA9IGRldHpjb2RlKHVwLT50emhlYWQudHpoX2NoYXJjbnQpOwotIAkJY2hhciBjb25zdCAqcCA9IHVwLT5idWYgKyB0emhlYWRzaXplOwotIAotKwkJLyoKLSsJCSAqIEFsdGhvdWdoIHR6ZmlsZSg1KSBjdXJyZW50bHkgcmVxdWlyZXMgdHlwZWNudCB0byBiZSBub256ZXJvLAotKwkJICogc3VwcG9ydCBmdXR1cmUgZm9ybWF0cyB0aGF0IG1heSBhbGxvdyB6ZXJvIHR5cGVjbnQgaW4gZmlsZXMgdGhhdAotKwkJICogaGF2ZSBhIFRaIHN0cmluZyBhbmQgbm8gdHJhbnNpdGlvbnMuCi0rCQkgKi8KLSAJCWlmICghKDAgPD0gbGVhcGNudCAmJiBsZWFwY250IDwgVFpfTUFYX0xFQVBTCi0tCQkJICAmJiAwIDwgdHlwZWNudCAmJiB0eXBlY250IDwgVFpfTUFYX1RZUEVTCi0rCQkJICAmJiAwIDw9IHR5cGVjbnQgJiYgdHlwZWNudCA8IFRaX01BWF9UWVBFUwotIAkJCSAgJiYgMCA8PSB0aW1lY250ICYmIHRpbWVjbnQgPCBUWl9NQVhfVElNRVMKLSAJCQkgICYmIDAgPD0gY2hhcmNudCAmJiBjaGFyY250IDwgVFpfTUFYX0NIQVJTCi0gCQkJICAmJiAodHRpc3N0ZGNudCA9PSB0eXBlY250IHx8IHR0aXNzdGRjbnQgPT0gMCkKLUBAIC00MTYsOCArNDIzLDcgQEAgdHpsb2FkYm9keShjaGFyIGNvbnN0ICpuYW1lLCBjaGFyICpjYW5vbgotIAkJc3RydWN0IHN0YXRlICp0cyA9ICZsc3AtPnUuc3Q7Ci0gCi0gCQl1cC0+YnVmW25yZWFkIC0gMV0gPSAnXDAnOwotLQkJaWYgKHR6cGFyc2UoJnVwLT5idWZbMV0sIHRzLCBmYWxzZSkKLS0JCQkmJiB0cy0+dHlwZWNudCA9PSAyKQotKwkJaWYgKHR6cGFyc2UoJnVwLT5idWZbMV0sIHRzLCBmYWxzZSkpCi0gCQl7Ci0gCQkJLyoKLSAJCQkgKiBBdHRlbXB0IHRvIHJldXNlIGV4aXN0aW5nIGFiYnJldmlhdGlvbnMuIFdpdGhvdXQgdGhpcywKLUBAIC00MzAsNyArNDM2LDcgQEAgdHpsb2FkYm9keShjaGFyIGNvbnN0ICpuYW1lLCBjaGFyICpjYW5vbgotIAkJCWludAkJCWdvdGFiYnIgPSAwOwotIAkJCWludAkJCWNoYXJjbnQgPSBzcC0+Y2hhcmNudDsKLSAKLS0JCQlmb3IgKGkgPSAwOyBpIDwgMjsgaSsrKQotKwkJCWZvciAoaSA9IDA7IGkgPCB0cy0+dHlwZWNudDsgaSsrKQotIAkJCXsKLSAJCQkJY2hhcgkgICAqdHNhYmJyID0gdHMtPmNoYXJzICsgdHMtPnR0aXNbaV0udHRfYWJicmluZDsKLSAJCQkJaW50CQkJajsKLUBAIC00NTUsNyArNDYxLDcgQEAgdHpsb2FkYm9keShjaGFyIGNvbnN0ICpuYW1lLCBjaGFyICpjYW5vbgotIAkJCQkJfQotIAkJCQl9Ci0gCQkJfQotLQkJCWlmIChnb3RhYmJyID09IDIpCi0rCQkJaWYgKGdvdGFiYnIgPT0gdHMtPnR5cGVjbnQpCi0gCQkJewotIAkJCQlzcC0+Y2hhcmNudCA9IGNoYXJjbnQ7Ci0gCi1AQCAtNDcwLDcgKzQ3Niw4IEBAIHR6bG9hZGJvZHkoY2hhciBjb25zdCAqbmFtZSwgY2hhciAqY2Fub24KLSAJCQkJCXNwLT50aW1lY250LS07Ci0gCi0gCQkJCWZvciAoaSA9IDA7IGkgPCB0cy0+dGltZWNudDsgaSsrKQotLQkJCQkJaWYgKHNwLT5hdHNbc3AtPnRpbWVjbnQgLSAxXSA8IHRzLT5hdHNbaV0pCi0rCQkJCQlpZiAoc3AtPnRpbWVjbnQgPT0gMAotKwkJCQkJCXx8IHNwLT5hdHNbc3AtPnRpbWVjbnQgLSAxXSA8IHRzLT5hdHNbaV0pCi0gCQkJCQkJYnJlYWs7Ci0gCQkJCXdoaWxlIChpIDwgdHMtPnRpbWVjbnQKLSAJCQkJCSAgICYmIHNwLT50aW1lY250IDwgVFpfTUFYX1RJTUVTKQotQEAgLTQ4MSwxMSArNDg4LDEzIEBAIHR6bG9hZGJvZHkoY2hhciBjb25zdCAqbmFtZSwgY2hhciAqY2Fub24KLSAJCQkJCXNwLT50aW1lY250Kys7Ci0gCQkJCQlpKys7Ci0gCQkJCX0KLS0JCQkJc3AtPnR0aXNbc3AtPnR5cGVjbnQrK10gPSB0cy0+dHRpc1swXTsKLS0JCQkJc3AtPnR0aXNbc3AtPnR5cGVjbnQrK10gPSB0cy0+dHRpc1sxXTsKLSsJCQkJZm9yIChpID0gMDsgaSA8IHRzLT50eXBlY250OyBpKyspCi0rCQkJCQlzcC0+dHRpc1tzcC0+dHlwZWNudCsrXSA9IHRzLT50dGlzW2ldOwotIAkJCX0KLSAJCX0KLSAJfQotKwlpZiAoc3AtPnR5cGVjbnQgPT0gMCkKLSsJCXJldHVybiBFSU5WQUw7Ci0gCWlmIChzcC0+dGltZWNudCA+IDEpCi0gCXsKLSAJCWZvciAoaSA9IDE7IGkgPCBzcC0+dGltZWNudDsgKytpKQotQEAgLTUwNyw2ICs1MTYsMTggQEAgdHpsb2FkYm9keShjaGFyIGNvbnN0ICpuYW1lLCBjaGFyICpjYW5vbgotIAl9Ci0gCi0gCS8qCi0rCSAqIEluZmVyIHNwLT5kZWZhdWx0dHlwZSBmcm9tIHRoZSBkYXRhLiAgQWx0aG91Z2ggdGhpcyBkZWZhdWx0IHR5cGUgaXMKLSsJICogYWx3YXlzIHplcm8gZm9yIGRhdGEgZnJvbSByZWNlbnQgdHpkYiByZWxlYXNlcywgdGhpbmdzIGFyZSB0cmlja2llciBmb3IKLSsJICogZGF0YSBmcm9tIHR6ZGIgMjAxOGUgb3IgZWFybGllci4KLSsJICoKLSsJICogVGhlIGZpcnN0IHNldCBvZiBoZXVyaXN0aWNzIHdvcmsgYXJvdW5kIGJ1Z3MgaW4gMzItYml0IGRhdGEgZ2VuZXJhdGVkCi0rCSAqIGJ5IHR6ZGIgMjAxM2Mgb3IgZWFybGllci4gIFRoZSB3b3JrYXJvdW5kIGlzIGZvciB6b25lcyBsaWtlCi0rCSAqIEF1c3RyYWxpYS9NYWNxdWFyaWUgd2hlcmUgdGltZXN0YW1wcyBiZWZvcmUgdGhlIGZpcnN0IHRyYW5zaXRpb24gaGF2ZSBhCi0rCSAqIHRpbWUgdHlwZSB0aGF0IGlzIG5vdCB0aGUgZWFybGllc3Qgc3RhbmRhcmQtdGltZSB0eXBlLiAgU2VlOgotKwkgKiBodHRwczovL21tLmljYW5uLm9yZy9waXBlcm1haWwvdHovMjAxMy1NYXkvMDE5MzY4Lmh0bWwKLSsJICovCi0rCi0rCS8qCi0gCSAqIElmIHR5cGUgMCBpcyB1bnVzZWQgaW4gdHJhbnNpdGlvbnMsIGl0J3MgdGhlIHR5cGUgdG8gdXNlIGZvciBlYXJseQotIAkgKiB0aW1lcy4KLSAJICovCi1AQCAtNTI5LDYgKzU1MCwxMSBAQCB0emxvYWRib2R5KGNoYXIgY29uc3QgKm5hbWUsIGNoYXIgKmNhbm9uCi0gCX0KLSAKLSAJLyoKLSsJICogVGhlIG5leHQgaGV1cmlzdGljcyBhcmUgZm9yIGRhdGEgZ2VuZXJhdGVkIGJ5IHR6ZGIgMjAxOGUgb3IgZWFybGllciwKLSsJICogZm9yIHpvbmVzIGxpa2UgRVNUNUVEVCB3aGVyZSB0aGUgZmlyc3QgdHJhbnNpdGlvbiBpcyB0byBEU1QuCi0rCSAqLwotKwotKwkvKgotIAkgKiBJZiBubyByZXN1bHQgeWV0LCBmaW5kIHRoZSBmaXJzdCBzdGFuZGFyZCB0eXBlLiBJZiB0aGVyZSBpcyBub25lLCBwdW50Ci0gCSAqIHRvIHR5cGUgemVyby4KLSAJICovCi1AQCAtNTQyLDcgKzU2OCwxNCBAQCB0emxvYWRib2R5KGNoYXIgY29uc3QgKm5hbWUsIGNoYXIgKmNhbm9uCi0gCQkJCWJyZWFrOwotIAkJCX0KLSAJfQotKwotKwkvKgotKwkgKiBBIHNpbXBsZSAnc3AtPmRlZmF1bHR0eXBlID0gMDsnIHdvdWxkIHN1ZmZpY2UgaGVyZSBpZiB3ZSBkaWRuJ3QgaGF2ZSB0bwotKwkgKiB3b3JyeSBhYm91dCAyMDE4ZS1vci1lYXJsaWVyIGRhdGEuICBFdmVuIHNpbXBsZXIgd291bGQgYmUgdG8gcmVtb3ZlIHRoZQotKwkgKiBkZWZhdWx0dHlwZSBtZW1iZXIgYW5kIGp1c3QgdXNlIDAgaW4gaXRzIHBsYWNlLgotKwkgKi8KLSAJc3AtPmRlZmF1bHR0eXBlID0gaTsKLSsKLSAJcmV0dXJuIDA7Ci0gfQotIAotQEAgLTYwMSwxMCArNjM0LDExIEBAIHN0YXRpYyBjb25zdCBpbnQgeWVhcl9sZW5ndGhzWzJdID0gewotIH07Ci0gCi0gLyoKLS0gKiBHaXZlbiBhIHBvaW50ZXIgaW50byBhIHRpbWUgem9uZSBzdHJpbmcsIHNjYW4gdW50aWwgYSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QKLS0gKiBhIHZhbGlkIGNoYXJhY3RlciBpbiBhIHpvbmUgbmFtZSBpcyBmb3VuZC4gUmV0dXJuIGEgcG9pbnRlciB0byB0aGF0Ci0tICogY2hhcmFjdGVyLgotKyAqIEdpdmVuIGEgcG9pbnRlciBpbnRvIGEgdGltZXpvbmUgc3RyaW5nLCBzY2FuIHVudGlsIGEgY2hhcmFjdGVyIHRoYXQgaXMgbm90Ci0rICogYSB2YWxpZCBjaGFyYWN0ZXIgaW4gYSB0aW1lIHpvbmUgYWJicmV2aWF0aW9uIGlzIGZvdW5kLgotKyAqIFJldHVybiBhIHBvaW50ZXIgdG8gdGhhdCBjaGFyYWN0ZXIuCi0gICovCi0rCi0gc3RhdGljIGNvbnN0IGNoYXIgKgotIGdldHpuYW1lKGNvbnN0IGNoYXIgKnN0cnApCi0gewotQEAgLTYxNywxNSArNjUxLDE3IEBAIGdldHpuYW1lKGNvbnN0IGNoYXIgKnN0cnApCi0gfQotIAotIC8qCi0tICogR2l2ZW4gYSBwb2ludGVyIGludG8gYW4gZXh0ZW5kZWQgdGltZSB6b25lIHN0cmluZywgc2NhbiB1bnRpbCB0aGUgZW5kaW5nCi0tICogZGVsaW1pdGVyIG9mIHRoZSB6b25lIG5hbWUgaXMgbG9jYXRlZC4gUmV0dXJuIGEgcG9pbnRlciB0byB0aGUgZGVsaW1pdGVyLgotKyAqIEdpdmVuIGEgcG9pbnRlciBpbnRvIGFuIGV4dGVuZGVkIHRpbWV6b25lIHN0cmluZywgc2NhbiB1bnRpbCB0aGUgZW5kaW5nCi0rICogZGVsaW1pdGVyIG9mIHRoZSB0aW1lIHpvbmUgYWJicmV2aWF0aW9uIGlzIGxvY2F0ZWQuCi0rICogUmV0dXJuIGEgcG9pbnRlciB0byB0aGUgZGVsaW1pdGVyLgotICAqCi0gICogQXMgd2l0aCBnZXR6bmFtZSBhYm92ZSwgdGhlIGxlZ2FsIGNoYXJhY3RlciBzZXQgaXMgYWN0dWFsbHkgcXVpdGUKLSAgKiByZXN0cmljdGVkLCB3aXRoIG90aGVyIGNoYXJhY3RlcnMgcHJvZHVjaW5nIHVuZGVmaW5lZCByZXN1bHRzLgotICAqIFdlIGRvbid0IGRvIGFueSBjaGVja2luZyBoZXJlOyBjaGVja2luZyBpcyBkb25lIGxhdGVyIGluIGNvbW1vbi1jYXNlIGNvZGUuCi0gICovCi0rCi0gc3RhdGljIGNvbnN0IGNoYXIgKgotLWdldHF6bmFtZShjb25zdCBjaGFyICpzdHJwLCBpbnQgZGVsaW0pCi0rZ2V0cXpuYW1lKGNvbnN0IGNoYXIgKnN0cnAsIGNvbnN0IGludCBkZWxpbSkKLSB7Ci0gCWludAkJCWM7Ci0gCi1AQCAtNjM1LDEzICs2NzEsMTQgQEAgZ2V0cXpuYW1lKGNvbnN0IGNoYXIgKnN0cnAsIGludCBkZWxpbSkKLSB9Ci0gCi0gLyoKLS0gKiBHaXZlbiBhIHBvaW50ZXIgaW50byBhIHRpbWUgem9uZSBzdHJpbmcsIGV4dHJhY3QgYSBudW1iZXIgZnJvbSB0aGF0IHN0cmluZy4KLSsgKiBHaXZlbiBhIHBvaW50ZXIgaW50byBhIHRpbWV6b25lIHN0cmluZywgZXh0cmFjdCBhIG51bWJlciBmcm9tIHRoYXQgc3RyaW5nLgotICAqIENoZWNrIHRoYXQgdGhlIG51bWJlciBpcyB3aXRoaW4gYSBzcGVjaWZpZWQgcmFuZ2U7IGlmIGl0IGlzIG5vdCwgcmV0dXJuCi0gICogTlVMTC4KLSAgKiBPdGhlcndpc2UsIHJldHVybiBhIHBvaW50ZXIgdG8gdGhlIGZpcnN0IGNoYXJhY3RlciBub3QgcGFydCBvZiB0aGUgbnVtYmVyLgotICAqLwotKwotIHN0YXRpYyBjb25zdCBjaGFyICoKLS1nZXRudW0oY29uc3QgY2hhciAqc3RycCwgaW50ICpudW1wLCBpbnQgbWluLCBpbnQgbWF4KQotK2dldG51bShjb25zdCBjaGFyICpzdHJwLCBpbnQgKmNvbnN0IG51bXAsIGNvbnN0IGludCBtaW4sIGNvbnN0IGludCBtYXgpCi0gewotIAljaGFyCQljOwotIAlpbnQJCQludW07Ci1AQCAtNjYzLDE0ICs3MDAsMTUgQEAgZ2V0bnVtKGNvbnN0IGNoYXIgKnN0cnAsIGludCAqbnVtcCwgaW50Ci0gfQotIAotIC8qCi0tICogR2l2ZW4gYSBwb2ludGVyIGludG8gYSB0aW1lIHpvbmUgc3RyaW5nLCBleHRyYWN0IGEgbnVtYmVyIG9mIHNlY29uZHMsCi0rICogR2l2ZW4gYSBwb2ludGVyIGludG8gYSB0aW1lem9uZSBzdHJpbmcsIGV4dHJhY3QgYSBudW1iZXIgb2Ygc2Vjb25kcywKLSAgKiBpbiBoaFs6bW1bOnNzXV0gZm9ybSwgZnJvbSB0aGUgc3RyaW5nLgotICAqIElmIGFueSBlcnJvciBvY2N1cnMsIHJldHVybiBOVUxMLgotICAqIE90aGVyd2lzZSwgcmV0dXJuIGEgcG9pbnRlciB0byB0aGUgZmlyc3QgY2hhcmFjdGVyIG5vdCBwYXJ0IG9mIHRoZSBudW1iZXIKLSAgKiBvZiBzZWNvbmRzLgotICAqLwotKwotIHN0YXRpYyBjb25zdCBjaGFyICoKLS1nZXRzZWNzKGNvbnN0IGNoYXIgKnN0cnAsIGludDMyICpzZWNzcCkKLStnZXRzZWNzKGNvbnN0IGNoYXIgKnN0cnAsIGludDMyICpjb25zdCBzZWNzcCkKLSB7Ci0gCWludAkJCW51bTsKLSAKLUBAIC03MDQsMTMgKzc0MiwxNCBAQCBnZXRzZWNzKGNvbnN0IGNoYXIgKnN0cnAsIGludDMyICpzZWNzcCkKLSB9Ci0gCi0gLyoKLS0gKiBHaXZlbiBhIHBvaW50ZXIgaW50byBhIHRpbWUgem9uZSBzdHJpbmcsIGV4dHJhY3QgYW4gb2Zmc2V0LCBpbgotKyAqIEdpdmVuIGEgcG9pbnRlciBpbnRvIGEgdGltZXpvbmUgc3RyaW5nLCBleHRyYWN0IGFuIG9mZnNldCwgaW4KLSAgKiBbKy1daGhbOm1tWzpzc11dIGZvcm0sIGZyb20gdGhlIHN0cmluZy4KLSAgKiBJZiBhbnkgZXJyb3Igb2NjdXJzLCByZXR1cm4gTlVMTC4KLSAgKiBPdGhlcndpc2UsIHJldHVybiBhIHBvaW50ZXIgdG8gdGhlIGZpcnN0IGNoYXJhY3RlciBub3QgcGFydCBvZiB0aGUgdGltZS4KLSAgKi8KLSsKLSBzdGF0aWMgY29uc3QgY2hhciAqCi0tZ2V0b2Zmc2V0KGNvbnN0IGNoYXIgKnN0cnAsIGludDMyICpvZmZzZXRwKQotK2dldG9mZnNldChjb25zdCBjaGFyICpzdHJwLCBpbnQzMiAqY29uc3Qgb2Zmc2V0cCkKLSB7Ci0gCWJvb2wJCW5lZyA9IGZhbHNlOwotIAotQEAgLTczMCwxMyArNzY5LDE0IEBAIGdldG9mZnNldChjb25zdCBjaGFyICpzdHJwLCBpbnQzMiAqb2Zmc2UKLSB9Ci0gCi0gLyoKLS0gKiBHaXZlbiBhIHBvaW50ZXIgaW50byBhIHRpbWUgem9uZSBzdHJpbmcsIGV4dHJhY3QgYSBydWxlIGluIHRoZSBmb3JtCi0rICogR2l2ZW4gYSBwb2ludGVyIGludG8gYSB0aW1lem9uZSBzdHJpbmcsIGV4dHJhY3QgYSBydWxlIGluIHRoZSBmb3JtCi0gICogZGF0ZVsvdGltZV0uIFNlZSBQT1NJWCBzZWN0aW9uIDggZm9yIHRoZSBmb3JtYXQgb2YgImRhdGUiIGFuZCAidGltZSIuCi0gICogSWYgYSB2YWxpZCBydWxlIGlzIG5vdCBmb3VuZCwgcmV0dXJuIE5VTEwuCi0gICogT3RoZXJ3aXNlLCByZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBmaXJzdCBjaGFyYWN0ZXIgbm90IHBhcnQgb2YgdGhlIHJ1bGUuCi0gICovCi0rCi0gc3RhdGljIGNvbnN0IGNoYXIgKgotLWdldHJ1bGUoY29uc3QgY2hhciAqc3RycCwgc3RydWN0IHJ1bGUgKnJ1bGVwKQotK2dldHJ1bGUoY29uc3QgY2hhciAqc3RycCwgc3RydWN0IHJ1bGUgKmNvbnN0IHJ1bGVwKQotIHsKLSAJaWYgKCpzdHJwID09ICdKJykKLSAJewotQEAgLTc5NSw5ICs4MzUsMTAgQEAgZ2V0cnVsZShjb25zdCBjaGFyICpzdHJwLCBzdHJ1Y3QgcnVsZSAqcgotICAqIEdpdmVuIGEgeWVhciwgYSBydWxlLCBhbmQgdGhlIG9mZnNldCBmcm9tIFVUIGF0IHRoZSB0aW1lIHRoYXQgcnVsZSB0YWtlcwotICAqIGVmZmVjdCwgY2FsY3VsYXRlIHRoZSB5ZWFyLXJlbGF0aXZlIHRpbWUgdGhhdCBydWxlIHRha2VzIGVmZmVjdC4KLSAgKi8KLSsKLSBzdGF0aWMgaW50MzIKLS10cmFuc3RpbWUoaW50IHllYXIsIGNvbnN0IHN0cnVjdCBydWxlICpydWxlcCwKLS0JCSAgaW50MzIgb2Zmc2V0KQotK3RyYW5zdGltZShjb25zdCBpbnQgeWVhciwgY29uc3Qgc3RydWN0IHJ1bGUgKmNvbnN0IHJ1bGVwLAotKwkJICBjb25zdCBpbnQzMiBvZmZzZXQpCi0gewotIAlib29sCQlsZWFweWVhcjsKLSAJaW50MzIJCXZhbHVlOwotQEAgLTk4MSw3ICsxMDIyLDcgQEAgdHpwYXJzZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3RhdGUgKgotIAkJewotIAkJCWRzdG5hbWUgPSBuYW1lOwotIAkJCW5hbWUgPSBnZXR6bmFtZShuYW1lKTsKLS0JCQlkc3RsZW4gPSBuYW1lIC0gZHN0bmFtZTsJLyogbGVuZ3RoIG9mIERTVCB6b25lIG5hbWUgKi8KLSsJCQlkc3RsZW4gPSBuYW1lIC0gZHN0bmFtZTsJLyogbGVuZ3RoIG9mIERTVCBhYmJyLiAqLwotIAkJfQotIAkJaWYgKCFkc3RsZW4pCi0gCQkJcmV0dXJuIGZhbHNlOwotQEAgLTEwMjMsOCArMTA2NCw4IEBAIHR6cGFyc2UoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHN0YXRlICoKLSAJCQkvKgotIAkJCSAqIFR3byB0cmFuc2l0aW9ucyBwZXIgeWVhciwgZnJvbSBFUE9DSF9ZRUFSIGZvcndhcmQuCi0gCQkJICovCi0tCQkJaW5pdF90dGluZm8oJnNwLT50dGlzWzBdLCAtZHN0b2Zmc2V0LCB0cnVlLCBzdGRsZW4gKyAxKTsKLS0JCQlpbml0X3R0aW5mbygmc3AtPnR0aXNbMV0sIC1zdGRvZmZzZXQsIGZhbHNlLCAwKTsKLSsJCQlpbml0X3R0aW5mbygmc3AtPnR0aXNbMF0sIC1zdGRvZmZzZXQsIGZhbHNlLCAwKTsKLSsJCQlpbml0X3R0aW5mbygmc3AtPnR0aXNbMV0sIC1kc3RvZmZzZXQsIHRydWUsIHN0ZGxlbiArIDEpOwotIAkJCXNwLT5kZWZhdWx0dHlwZSA9IDA7Ci0gCQkJdGltZWNudCA9IDA7Ci0gCQkJamFuZmlyc3QgPSAwOwotQEAgLTEwNzMsMTkgKzExMTQsMTUgQEAgdHpwYXJzZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3RhdGUgKgotIAkJCQkJaWYgKCFpbmNyZW1lbnRfb3ZlcmZsb3dfdGltZQotIAkJCQkJCSgmc3AtPmF0c1t0aW1lY250XSwKLSAJCQkJCQkgamFub2Zmc2V0ICsgc3RhcnR0aW1lKSkKLS0JCQkJCQlzcC0+dHlwZXNbdGltZWNudCsrXSA9IHJldmVyc2VkOwotLQkJCQkJZWxzZSBpZiAoamFub2Zmc2V0KQotLQkJCQkJCXNwLT5kZWZhdWx0dHlwZSA9IHJldmVyc2VkOwotKwkJCQkJCXNwLT50eXBlc1t0aW1lY250KytdID0gIXJldmVyc2VkOwotIAkJCQkJc3AtPmF0c1t0aW1lY250XSA9IGphbmZpcnN0OwotIAkJCQkJaWYgKCFpbmNyZW1lbnRfb3ZlcmZsb3dfdGltZQotIAkJCQkJCSgmc3AtPmF0c1t0aW1lY250XSwKLSAJCQkJCQkgamFub2Zmc2V0ICsgZW5kdGltZSkpCi0gCQkJCQl7Ci0tCQkJCQkJc3AtPnR5cGVzW3RpbWVjbnQrK10gPSAhcmV2ZXJzZWQ7Ci0rCQkJCQkJc3AtPnR5cGVzW3RpbWVjbnQrK10gPSByZXZlcnNlZDsKLSAJCQkJCQl5ZWFybGltID0geWVhciArIFlFQVJTUEVSUkVQRUFUICsgMTsKLSAJCQkJCX0KLS0JCQkJCWVsc2UgaWYgKGphbm9mZnNldCkKLS0JCQkJCQlzcC0+ZGVmYXVsdHR5cGUgPSAhcmV2ZXJzZWQ7Ci0gCQkJCX0KLSAJCQkJaWYgKGluY3JlbWVudF9vdmVyZmxvd190aW1lCi0gCQkJCQkoJmphbmZpcnN0LCBqYW5vZmZzZXQgKyB5ZWFyc2VjcykpCi1AQCAtMTA5NCw3ICsxMTMxLDEwIEBAIHR6cGFyc2UoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHN0YXRlICoKLSAJCQl9Ci0gCQkJc3AtPnRpbWVjbnQgPSB0aW1lY250OwotIAkJCWlmICghdGltZWNudCkKLSsJCQl7Ci0rCQkJCXNwLT50dGlzWzBdID0gc3AtPnR0aXNbMV07Ci0gCQkJCXNwLT50eXBlY250ID0gMTsJLyogUGVycGV0dWFsIERTVC4gICovCi0rCQkJfQotIAkJCWVsc2UgaWYgKFlFQVJTUEVSUkVQRUFUIDwgeWVhciAtIHllYXJiZWcpCi0gCQkJCXNwLT5nb2JhY2sgPSBzcC0+Z29haGVhZCA9IHRydWU7Ci0gCQl9Ci1AQCAtMTE2Myw3ICsxMjAzLDYgQEAgdHpwYXJzZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3RhdGUgKgotIAkJCQkJICogb3RoZXJ3aXNlLCBhZGQgdGhlIHN0YW5kYXJkIHRpbWUgb2Zmc2V0IHRvIHRoZQotIAkJCQkJICogdHJhbnNpdGlvbiB0aW1lLgotIAkJCQkJICovCi0tCi0gCQkJCQkvKgotIAkJCQkJICogVHJhbnNpdGlvbnMgZnJvbSBEU1QgdG8gRERTVCB3aWxsIGVmZmVjdGl2ZWx5IGRpc2FwcGVhcgotIAkJCQkJICogc2luY2UgUE9TSVggcHJvdmlkZXMgZm9yIG9ubHkgb25lIERTVCBvZmZzZXQuCi1AQCAtMTIxNyw3ICsxMjU2LDcgQEAgdHpwYXJzZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3RhdGUgKgotIH0KLSAKLSBzdGF0aWMgdm9pZAotLWdtdGxvYWQoc3RydWN0IHN0YXRlICpzcCkKLStnbXRsb2FkKHN0cnVjdCBzdGF0ZSAqY29uc3Qgc3ApCi0gewotIAlpZiAodHpsb2FkKGdtdCwgTlVMTCwgc3AsIHRydWUpICE9IDApCi0gCQl0enBhcnNlKGdtdCwgc3AsIHRydWUpOwotQEAgLTEyMzIsNyArMTI3MSw3IEBAIGdtdGxvYWQoc3RydWN0IHN0YXRlICpzcCkKLSAgKi8KLSBzdGF0aWMgc3RydWN0IHBnX3RtICoKLSBsb2NhbHN1YihzdHJ1Y3Qgc3RhdGUgY29uc3QgKnNwLCBwZ190aW1lX3QgY29uc3QgKnRpbWVwLAotLQkJIHN0cnVjdCBwZ190bSAqdG1wKQotKwkJIHN0cnVjdCBwZ190bSAqY29uc3QgdG1wKQotIHsKLSAJY29uc3Qgc3RydWN0IHR0aW5mbyAqdHRpc3A7Ci0gCWludAkJCWk7Ci1AQCAtMTMwMCw2ICsxMzM5LDExIEBAIGxvY2Fsc3ViKHN0cnVjdCBzdGF0ZSBjb25zdCAqc3AsIHBnX3RpbWUKLSAJfQotIAl0dGlzcCA9ICZzcC0+dHRpc1tpXTsKLSAKLSsJLyoKLSsJICogVG8gZ2V0ICh3cm9uZykgYmVoYXZpb3IgdGhhdCdzIGNvbXBhdGlibGUgd2l0aCBTeXN0ZW0gViBSZWxlYXNlIDIuMAotKwkgKiB5b3UnZCByZXBsYWNlIHRoZSBzdGF0ZW1lbnQgYmVsb3cgd2l0aCB0ICs9IHR0aXNwLT50dF9nbXRvZmY7Ci0rCSAqIHRpbWVzdWIoJnQsIDBMLCBzcCwgdG1wKTsKLSsJICovCi0gCXJlc3VsdCA9IHRpbWVzdWIoJnQsIHR0aXNwLT50dF9nbXRvZmYsIHNwLCB0bXApOwotIAlpZiAocmVzdWx0KQotIAl7Ci1AQCAtMTMyMiw4ICsxMzY2LDEwIEBAIHBnX2xvY2FsdGltZShjb25zdCBwZ190aW1lX3QgKnRpbWVwLCBjb24KLSAgKgotICAqIEV4Y2VwdCB3ZSBoYXZlIGEgcHJpdmF0ZSAic3RydWN0IHN0YXRlIiBmb3IgR01ULCBzbyBubyBzcCBpcyBwYXNzZWQgaW4uCi0gICovCi0rCi0gc3RhdGljIHN0cnVjdCBwZ190bSAqCi0tZ210c3ViKHBnX3RpbWVfdCBjb25zdCAqdGltZXAsIGludDMyIG9mZnNldCwgc3RydWN0IHBnX3RtICp0bXApCi0rZ210c3ViKHBnX3RpbWVfdCBjb25zdCAqdGltZXAsIGludDMyIG9mZnNldCwKLSsJICAgc3RydWN0IHBnX3RtICp0bXApCi0gewotIAlzdHJ1Y3QgcGdfdG0gKnJlc3VsdDsKLSAKLUBAIC0xMzM3LDYgKzEzODMsNyBAQCBnbXRzdWIocGdfdGltZV90IGNvbnN0ICp0aW1lcCwgaW50MzIgb2ZmCi0gCQlnbXRfaXNfc2V0ID0gdHJ1ZTsKLSAJCWdtdGxvYWQoZ210cHRyKTsKLSAJfQotKwotIAlyZXN1bHQgPSB0aW1lc3ViKHRpbWVwLCBvZmZzZXQsIGdtdHB0ciwgdG1wKTsKLSAKLSAJLyoKLUBAIC0xMzYxLDYgKzE0MDgsNyBAQCBwZ19nbXRpbWUoY29uc3QgcGdfdGltZV90ICp0aW1lcCkKLSAgKiBSZXR1cm4gdGhlIG51bWJlciBvZiBsZWFwIHllYXJzIHRocm91Z2ggdGhlIGVuZCBvZiB0aGUgZ2l2ZW4geWVhcgotICAqIHdoZXJlLCB0byBtYWtlIHRoZSBtYXRoIGVhc3ksIHRoZSBhbnN3ZXIgZm9yIHllYXIgemVybyBpcyBkZWZpbmVkIGFzIHplcm8uCi0gICovCi0rCi0gc3RhdGljIGludAotIGxlYXBzX3RocnVfZW5kX29mX25vbm5lZyhpbnQgeSkKLSB7Ci1JbmRleDogcG9zdGdyZXNxbC0xMC41L3NyYy90aW1lem9uZS9wZ3R6LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwb3N0Z3Jlc3FsLTEwLjUub3JpZy9zcmMvdGltZXpvbmUvcGd0ei5oCi0rKysgcG9zdGdyZXNxbC0xMC41L3NyYy90aW1lem9uZS9wZ3R6LmgKLUBAIC00OSwxMCArNDksMTYgQEAgc3RydWN0IHN0YXRlCi0gCXBnX3RpbWVfdAlhdHNbVFpfTUFYX1RJTUVTXTsKLSAJdW5zaWduZWQgY2hhciB0eXBlc1tUWl9NQVhfVElNRVNdOwotIAlzdHJ1Y3QgdHRpbmZvIHR0aXNbVFpfTUFYX1RZUEVTXTsKLS0JY2hhcgkJY2hhcnNbQklHR0VTVChCSUdHRVNUKFRaX01BWF9DSEFSUyArIDEsIDMgLyogc2l6ZW9mIGdtdCAqLyApLAotKwljaGFyCQljaGFyc1tCSUdHRVNUKEJJR0dFU1QoVFpfTUFYX0NIQVJTICsgMSwgNCAvKiBzaXplb2YgZ210ICovICksCi0gCQkJCQkJCSAgKDIgKiAoVFpfU1RSTEVOX01BWCArIDEpKSldOwotIAlzdHJ1Y3QgbHNpbmZvIGxzaXNbVFpfTUFYX0xFQVBTXTsKLS0JaW50CQkJZGVmYXVsdHR5cGU7CS8qIGZvciBlYXJseSB0aW1lcyBvciBpZiBubyB0cmFuc2l0aW9ucyAqLwotKwotKwkvKgotKwkgKiBUaGUgdGltZSB0eXBlIHRvIHVzZSBmb3IgZWFybHkgdGltZXMgb3IgaWYgbm8gdHJhbnNpdGlvbnMuIEl0IGlzIGFsd2F5cwotKwkgKiB6ZXJvIGZvciByZWNlbnQgdHpkYiByZWxlYXNlcy4gSXQgbWlnaHQgYmUgbm9uemVybyBmb3IgZGF0YSBmcm9tIHR6ZGIKLSsJICogMjAxOGUgb3IgZWFybGllci4KLSsJICovCi0rCWludAkJCWRlZmF1bHR0eXBlOwotIH07Ci0gCi0gCi1JbmRleDogcG9zdGdyZXNxbC0xMC41L3NyYy90aW1lem9uZS9wcml2YXRlLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwb3N0Z3Jlc3FsLTEwLjUub3JpZy9zcmMvdGltZXpvbmUvcHJpdmF0ZS5oCi0rKysgcG9zdGdyZXNxbC0xMC41L3NyYy90aW1lem9uZS9wcml2YXRlLmgKLUBAIC0xLDQgKzEsNyBAQAotKy8qIFByaXZhdGUgaGVhZGVyIGZvciB0emRiIGNvZGUuICAqLwotKwotICNpZm5kZWYgUFJJVkFURV9ICi0rCi0gI2RlZmluZSBQUklWQVRFX0gKLSAKLSAvKgotSW5kZXg6IHBvc3RncmVzcWwtMTAuNS9zcmMvdGltZXpvbmUvc3RyZnRpbWUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBvc3RncmVzcWwtMTAuNS5vcmlnL3NyYy90aW1lem9uZS9zdHJmdGltZS5jCi0rKysgcG9zdGdyZXNxbC0xMC41L3NyYy90aW1lem9uZS9zdHJmdGltZS5jCi1AQCAtMSw0ICsxLDQgQEAKLS0vKiBDb252ZXJ0IGEgYnJva2VuLWRvd24gdGltZXN0YW1wIHRvIGEgc3RyaW5nLiAqLwotKy8qIENvbnZlcnQgYSBicm9rZW4tZG93biB0aW1lc3RhbXAgdG8gYSBzdHJpbmcuICAqLwotIAotIC8qCi0gICogQ29weXJpZ2h0IDE5ODkgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KLUBAIC0xMTUsNyArMTE1LDcgQEAgc3RhdGljIGNoYXIgKl9hZGQoY29uc3QgY2hhciAqLCBjaGFyICosCi0gc3RhdGljIGNoYXIgKl9jb252KGludCwgY29uc3QgY2hhciAqLCBjaGFyICosIGNvbnN0IGNoYXIgKik7Ci0gc3RhdGljIGNoYXIgKl9mbXQoY29uc3QgY2hhciAqLCBjb25zdCBzdHJ1Y3QgcGdfdG0gKiwgY2hhciAqLCBjb25zdCBjaGFyICosCi0gCSBlbnVtIHdhcm4gKik7Ci0tc3RhdGljIGNoYXIgKl95Y29udihpbnQsIGludCwgYm9vbCwgYm9vbCwgY2hhciAqLCBjb25zdCBjaGFyICopOwotK3N0YXRpYyBjaGFyICpfeWNvbnYoaW50LCBpbnQsIGJvb2wsIGJvb2wsIGNoYXIgKiwgY2hhciBjb25zdCAqKTsKLSAKLSAKLSBzaXplX3QKLUBAIC00NDEsNyArNDQxLDggQEAgX2ZtdChjb25zdCBjaGFyICpmb3JtYXQsIGNvbnN0IHN0cnVjdCBwZwotIAotIAkJCQkJLyoKLSAJCQkJCSAqIEM5OSBhbmQgbGF0ZXIgc2F5IHRoYXQgJVogbXVzdCBiZSByZXBsYWNlZCBieSB0aGUgZW1wdHkKLS0JCQkJCSAqIHN0cmluZyBpZiB0aGUgdGltZSB6b25lIGlzIG5vdCBkZXRlcm1pbmFibGUuCi0rCQkJCQkgKiBzdHJpbmcgaWYgdGhlIHRpbWUgem9uZSBhYmJyZXZpYXRpb24gaXMgbm90Ci0rCQkJCQkgKiBkZXRlcm1pbmFibGUuCi0gCQkJCQkgKi8KLSAJCQkJCWNvbnRpbnVlOwotIAkJCQljYXNlICd6JzoKLUBAIC01MTksNiArNTIwLDcgQEAgX2FkZChjb25zdCBjaGFyICpzdHIsIGNoYXIgKnB0LCBjb25zdCBjaAotICAqIHNhbWUgb3V0cHV0IGFzICVZLCBhbmQgdGhhdCAlWSBjb250YWlucyBhdCBsZWFzdCA0IGJ5dGVzLAotICAqIHdpdGggbW9yZSBvbmx5IGlmIG5lY2Vzc2FyeS4KLSAgKi8KLSsKLSBzdGF0aWMgY2hhciAqCi0gX3ljb252KGludCBhLCBpbnQgYiwgYm9vbCBjb252ZXJ0X3RvcCwgYm9vbCBjb252ZXJ0X3l5LAotIAkgICBjaGFyICpwdCwgY29uc3QgY2hhciAqcHRsaW0pCi1AQCAtNTI2LDcgKzUyOCw3IEBAIF95Y29udihpbnQgYSwgaW50IGIsIGJvb2wgY29udmVydF90b3AsIGIKLSAJaW50CQkJbGVhZDsKLSAJaW50CQkJdHJhaWw7Ci0gCi0tI2RlZmluZSBESVZJU09SIDEwMAotKyNkZWZpbmUgRElWSVNPUgkxMDAKLSAJdHJhaWwgPSBhICUgRElWSVNPUiArIGIgJSBESVZJU09SOwotIAlsZWFkID0gYSAvIERJVklTT1IgKyBiIC8gRElWSVNPUiArIHRyYWlsIC8gRElWSVNPUjsKLSAJdHJhaWwgJT0gRElWSVNPUjsKLUluZGV4OiBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL3R6ZmlsZS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcG9zdGdyZXNxbC0xMC41Lm9yaWcvc3JjL3RpbWV6b25lL3R6ZmlsZS5oCi0rKysgcG9zdGdyZXNxbC0xMC41L3NyYy90aW1lem9uZS90emZpbGUuaAotQEAgLTEsNCArMSw3IEBACi0rLyogTGF5b3V0IGFuZCBsb2NhdGlvbiBvZiBUWmlmIGZpbGVzLiAgKi8KLSsKLSAjaWZuZGVmIFRaRklMRV9ICi0rCi0gI2RlZmluZSBUWkZJTEVfSAotIAotIC8qCi1AQCAtMjEsMTQgKzI0LDE0IEBACi0gICogSW5mb3JtYXRpb24gYWJvdXQgdGltZSB6b25lIGZpbGVzLgotICAqLwotIAotLSNkZWZpbmUgVFpERUZBVUxUCSJsb2NhbHRpbWUiCi0rI2RlZmluZSBUWkRFRkFVTFQJIi9ldGMvbG9jYWx0aW1lIgotICNkZWZpbmUgVFpERUZSVUxFUwkicG9zaXhydWxlcyIKLSAKLSAvKgotICAqIEVhY2ggZmlsZSBiZWdpbnMgd2l0aC4gLiAuCi0gICovCi0gCi0tI2RlZmluZSBUWl9NQUdJQwkiVFppZiIKLSsjZGVmaW5lCVRaX01BR0lDCSJUWmlmIgotIAotIHN0cnVjdCB0emhlYWQKLSB7Ci1JbmRleDogcG9zdGdyZXNxbC0xMC41L3NyYy90aW1lem9uZS96aWMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBvc3RncmVzcWwtMTAuNS5vcmlnL3NyYy90aW1lem9uZS96aWMuYwotKysrIHBvc3RncmVzcWwtMTAuNS9zcmMvdGltZXpvbmUvemljLmMKLUBAIC0xLDMgKzEsNSBAQAotKy8qIENvbXBpbGUgLnppIHRpbWUgem9uZSBkYXRhIGludG8gVFppZiBiaW5hcnkgZmlsZXMuICAqLwotKwotIC8qCi0gICogVGhpcyBmaWxlIGlzIGluIHRoZSBwdWJsaWMgZG9tYWluLCBzbyBjbGFyaWZpZWQgYXMgb2YKLSAgKiAyMDA2LTA3LTE3IGJ5IEFydGh1ciBEYXZpZCBPbHNvbi4KLUBAIC0xMzAsOCArMTMyLDcgQEAgc3RhdGljIHZvaWQgYWRqbGVhcCh2b2lkKTsKLSBzdGF0aWMgdm9pZCBhc3NvY2lhdGUodm9pZCk7Ci0gc3RhdGljIHZvaWQgZG9saW5rKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBib29sKTsKLSBzdGF0aWMgY2hhciAqKmdldGZpZWxkcyhjaGFyICpidWYpOwotLXN0YXRpYyB6aWNfdCBnZXRobXMoY29uc3QgY2hhciAqc3RyaW5nLCBjb25zdCBjaGFyICplcnJzdHJpbmcsCi0tCSAgIGJvb2wpOwotK3N0YXRpYyB6aWNfdCBnZXRobXMoY29uc3QgY2hhciAqc3RyaW5nLCBjb25zdCBjaGFyICplcnJzdHJpbmcpOwotIHN0YXRpYyB6aWNfdCBnZXRzdGRvZmYoY2hhciAqLCBib29sICopOwotIHN0YXRpYyB2b2lkIGluZmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSk7Ci0gc3RhdGljIHZvaWQgaW5sZWFwKGNoYXIgKipmaWVsZHMsIGludCBuZmllbGRzKTsKLUBAIC0xNjIsNyArMTYzLDcgQEAgZW51bQotIFBFUkNFTlRfWl9MRU5fQk9VTkQgPSBzaXplb2YgIis5OTU5NTkiIC0gMX07Ci0gCi0gLyogSWYgdHJ1ZSwgd29yayBhcm91bmQgYSBidWcgaW4gUXQgNS42LjEgYW5kIGVhcmxpZXIsIHdoaWNoIG1pc2hhbmRsZXMKLS0gICB0eiBiaW5hcnkgZmlsZXMgd2hvc2UgUE9TSVgtVFotc3R5bGUgc3RyaW5ncyBjb250YWluICc8Jzsgc2VlCi0rICAgVFppZiBmaWxlcyB3aG9zZSBQT1NJWC1UWi1zdHlsZSBzdHJpbmdzIGNvbnRhaW4gJzwnOyBzZWUKLSAgICBRVEJVRy01MzA3MSA8aHR0cHM6Ly9idWdyZXBvcnRzLnF0LmlvL2Jyb3dzZS9RVEJVRy01MzA3MT4uICBUaGlzCi0gICAgd29ya2Fyb3VuZCB3aWxsIG5vIGxvbmdlciBiZSBuZWVkZWQgd2hlbiBRdCA1LjYuMSBhbmQgZWFybGllciBhcmUKLSAgICBvYnNvbGV0ZSwgc2F5IGluIHRoZSB5ZWFyIDIwMjEuICAqLwotQEAgLTIxMSw3ICsyMTIsNyBAQCBzdGF0aWMgaW50CXR5cGVjbnQ7Ci0gI2RlZmluZSBaRl9SVUxFCQkzCi0gI2RlZmluZSBaRl9GT1JNQVQJNAotICNkZWZpbmUgWkZfVElMWUVBUgk1Ci0tI2RlZmluZSBaRl9USUxNT05USCA2Ci0rI2RlZmluZSBaRl9USUxNT05USAk2Ci0gI2RlZmluZSBaRl9USUxEQVkJNwotICNkZWZpbmUgWkZfVElMVElNRQk4Ci0gI2RlZmluZSBaT05FX01JTkZJRUxEUwk1Ci1AQCAtMjI0LDEyICsyMjUsMTIgQEAgc3RhdGljIGludAl0eXBlY250OwotICNkZWZpbmUgWkZDX0dNVE9GRgkwCi0gI2RlZmluZSBaRkNfUlVMRQkxCi0gI2RlZmluZSBaRkNfRk9STUFUCTIKLS0jZGVmaW5lIFpGQ19USUxZRUFSIDMKLSsjZGVmaW5lIFpGQ19USUxZRUFSCTMKLSAjZGVmaW5lIFpGQ19USUxNT05USAk0Ci0gI2RlZmluZSBaRkNfVElMREFZCTUKLS0jZGVmaW5lIFpGQ19USUxUSU1FIDYKLS0jZGVmaW5lIFpPTkVDX01JTkZJRUxEUyAzCi0tI2RlZmluZSBaT05FQ19NQVhGSUVMRFMgNwotKyNkZWZpbmUgWkZDX1RJTFRJTUUJNgotKyNkZWZpbmUgWk9ORUNfTUlORklFTERTCTMKLSsjZGVmaW5lIFpPTkVDX01BWEZJRUxEUwk3Ci0gCi0gLyoKLSAgKiBXaGljaCBmaWxlcyBhcmUgd2hpY2ggb24gYSBSdWxlIGxpbmUuCi1AQCAtMjQ0LDcgKzI0NSw3IEBAIHN0YXRpYyBpbnQJdHlwZWNudDsKLSAjZGVmaW5lIFJGX1RPRAkJNwotICNkZWZpbmUgUkZfU1RET0ZGCTgKLSAjZGVmaW5lIFJGX0FCQlJWQVIJOQotLSNkZWZpbmUgUlVMRV9GSUVMRFMgMTAKLSsjZGVmaW5lIFJVTEVfRklFTERTCTEwCi0gCi0gLyoKLSAgKiBXaGljaCBmaWVsZHMgYXJlIHdoaWNoIG9uIGEgTGluayBsaW5lLgotQEAgLTI1Miw3ICsyNTMsNyBAQCBzdGF0aWMgaW50CXR5cGVjbnQ7Ci0gCi0gI2RlZmluZSBMRl9GUk9NCQkxCi0gI2RlZmluZSBMRl9UTwkJMgotLSNkZWZpbmUgTElOS19GSUVMRFMgMwotKyNkZWZpbmUgTElOS19GSUVMRFMJMwotIAotIC8qCi0gICogV2hpY2ggZmllbGRzIGFyZSB3aGljaCBvbiBhIExlYXAgbGluZS4KLUBAIC0yNjQsNyArMjY1LDcgQEAgc3RhdGljIGludAl0eXBlY250OwotICNkZWZpbmUgTFBfVElNRQkJNAotICNkZWZpbmUgTFBfQ09SUgkJNQotICNkZWZpbmUgTFBfUk9MTAkJNgotLSNkZWZpbmUgTEVBUF9GSUVMRFMgNwotKyNkZWZpbmUgTEVBUF9GSUVMRFMJNwotIAotIC8qCi0gICogWWVhciBzeW5vbnltcy4KLUBAIC05OTgsNDggKzk5OSw2IEBAIGRvbGluayhjaGFyIGNvbnN0ICpmcm9tZmllbGQsIGNoYXIgY29uc3QKLSBzdGF0aWMgemljX3QgY29uc3QgbWluX3RpbWUgPSBNSU5WQUwoemljX3QsIFRJTUVfVF9CSVRTX0lOX0ZJTEUpOwotIHN0YXRpYyB6aWNfdCBjb25zdCBtYXhfdGltZSA9IE1BWFZBTCh6aWNfdCwgVElNRV9UX0JJVFNfSU5fRklMRSk7Ci0gCi0tLyoKLS0gKiBFc3RpbWF0ZWQgdGltZSBvZiB0aGUgQmlnIEJhbmcsIGluIHNlY29uZHMgc2luY2UgdGhlIFBPU0lYIGVwb2NoLgotLSAqIHJvdW5kZWQgZG93bndhcmQgdG8gdGhlIG5lZ2F0aW9uIG9mIGEgcG93ZXIgb2YgdHdvIHRoYXQgaXMKLS0gKiBjb21mb3J0YWJseSBvdXRzaWRlIHRoZSBlcnJvciBib3VuZHMuCi0tICoKLS0gKiBGb3IgdGhlIHRpbWUgb2YgdGhlIEJpZyBCYW5nLCBzZWU6Ci0tICoKLS0gKiBBZGUgUEFSLCBBZ2hhbmltIE4sIEFybWl0YWdlLUNhcGxhbiBDIGV0IGFsLiAgUGxhbmNrIDIwMTMgcmVzdWx0cy4KLS0gKiBJLiBPdmVydmlldyBvZiBwcm9kdWN0cyBhbmQgc2NpZW50aWZpYyByZXN1bHRzLgotLSAqIGFyWGl2OjEzMDMuNTA2MiAyMDEzLTAzLTIwIDIwOjEwOjAxIFVUQwotLSAqIDxodHRwczovL2FyeGl2Lm9yZy9wZGYvMTMwMy41MDYydjE+IFtQREZdCi0tICoKLS0gKiBQYWdlIDM2LCBUYWJsZSA5LCByb3cgQWdlL0d5ciwgY29sdW1uIFBsYW5jaytXUCtoaWdoTCtCQU8gNjglIGxpbWl0cwotLSAqIGdpdmVzIHRoZSB2YWx1ZSAxMy43OTggcGx1cy1vci1taW51cyAwLjAzNyBiaWxsaW9uIHllYXJzLgotLSAqIE11bHRpcGx5aW5nIHRoaXMgYnkgMTAwMDAwMDAwMCBhbmQgdGhlbiBieSAzMTU1NzYwMCAodGhlIG51bWJlciBvZgotLSAqIHNlY29uZHMgaW4gYW4gYXN0cm9ub21pY2FsIHllYXIpIGdpdmVzIGEgdmFsdWUgdGhhdCBpcyBjb21mb3J0YWJseQotLSAqIGxlc3MgdGhhbiAyKio1OSwgc28gQklHX0JBTkcgaXMgLSAyKio1OS4KLS0gKgotLSAqIEJJR19CQU5HIGlzIGFwcHJveGltYXRlLCBhbmQgbWF5IGNoYW5nZSBpbiBmdXR1cmUgdmVyc2lvbnMuCi0tICogUGxlYXNlIGRvIG5vdCByZWx5IG9uIGl0cyBleGFjdCB2YWx1ZS4KLS0gKi8KLS0KLS0jaWZuZGVmIEJJR19CQU5HCi0tI2RlZmluZSBCSUdfQkFORyAoLSAoKCh6aWNfdCkgMSkgPDwgNTkpKQotLSNlbmRpZgotLQotLS8qIElmIHRydWUsIHdvcmsgYXJvdW5kIEdOT01FIGJ1ZyA3MzAzMzIKLS0gICA8aHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDMzMj4KLS0gICBieSByZWZ1c2luZyB0byBvdXRwdXQgdGltZSBzdGFtcHMgYmVmb3JlIEJJR19CQU5HLgotLSAgIFN1Y2ggdGltZSBzdGFtcHMgYXJlIHBoeXNpY2FsbHkgc3VzcGVjdCBhbnl3YXkuCi0tCi0tICAgVGhlIEdOT01FIGJ1ZyBpcyBzY2hlZHVsZWQgdG8gYmUgZml4ZWQgaW4gR05PTUUgMy4yMiwgYW5kIGlmIHNvCi0tICAgdGhpcyB3b3JrYXJvdW5kIHdpbGwgbm8gbG9uZ2VyIGJlIG5lZWRlZCB3aGVuIEdOT01FIDMuMjEgYW5kCi0tICAgZWFybGllciBhcmUgb2Jzb2xldGUsIHNheSBpbiB0aGUgeWVhciAyMDIxLiAgKi8KLS1lbnVtCi0tewotLVdPUktfQVJPVU5EX0dOT01FX0JVR183MzAzMzIgPSB0cnVlfTsKLS0KLS1zdGF0aWMgY29uc3QgemljX3QgZWFybHlfdGltZSA9IChXT1JLX0FST1VORF9HTk9NRV9CVUdfNzMwMzMyCi0tCQkJCQkJCQkgPyBCSUdfQkFORwotLQkJCQkJCQkJIDogTUlOVkFMKHppY190LCBUSU1FX1RfQklUU19JTl9GSUxFKSk7Ci0tCi0gLyogUmV0dXJuIHRydWUgaWYgTkFNRSBpcyBhIGRpcmVjdG9yeS4gICovCi0gc3RhdGljIGJvb2wKLSBpdHNkaXIoY2hhciBjb25zdCAqbmFtZSkKLUBAIC0xMjgxLDggKzEyNDAsOSBAQCBpbmZpbGUoY29uc3QgY2hhciAqbmFtZSkKLSAgKiBBIG51bGwgc3RyaW5nIG1hcHMgdG8gemVyby4KLSAgKiBDYWxsIGVycm9yIHdpdGggZXJyc3RyaW5nIGFuZCByZXR1cm4gemVybyBvbiBlcnJvcnMuCi0gICovCi0rCi0gc3RhdGljIHppY190Ci0tZ2V0aG1zKGNoYXIgY29uc3QgKnN0cmluZywgY2hhciBjb25zdCAqZXJyc3RyaW5nLCBib29sIHNpZ25hYmxlKQotK2dldGhtcyhjaGFyIGNvbnN0ICpzdHJpbmcsIGNoYXIgY29uc3QgKmVycnN0cmluZykKLSB7Ci0gCS8qIFBHOiBtYWtlIGhoIGJlIGludCBub3QgemljX3QgdG8gYXZvaWQgc3NjYW5mIHBvcnRhYmlsaXR5IGlzc3VlcyAqLwotIAlpbnQJCQloaDsKLUBAIC0xMjk5LDkgKzEyNTksNyBAQCBnZXRobXMoY2hhciBjb25zdCAqc3RyaW5nLCBjaGFyIGNvbnN0ICplCi0gCi0gCWlmIChzdHJpbmcgPT0gTlVMTCB8fCAqc3RyaW5nID09ICdcMCcpCi0gCQlyZXR1cm4gMDsKLS0JaWYgKCFzaWduYWJsZSkKLS0JCXNpZ24gPSAxOwotLQllbHNlIGlmICgqc3RyaW5nID09ICctJykKLSsJaWYgKCpzdHJpbmcgPT0gJy0nKQotIAl7Ci0gCQlzaWduID0gLTE7Ci0gCQkrK3N0cmluZzsKLUBAIC0xMzg0LDcgKzEzNDIsNyBAQCBnZXRzdGRvZmYoY2hhciAqZmllbGQsIGJvb2wgKmlzZHN0KQotIAkJCQlicmVhazsKLSAJCX0KLSAJfQotLQlzdGRvZmYgPSBnZXRobXMoZmllbGQsIF8oImludmFsaWQgc2F2ZWQgdGltZSIpLCB0cnVlKTsKLSsJc3Rkb2ZmID0gZ2V0aG1zKGZpZWxkLCBfKCJpbnZhbGlkIHNhdmVkIHRpbWUiKSk7Ci0gCSppc2RzdCA9IGRzdCA8IDAgPyBzdGRvZmYgIT0gMCA6IGRzdDsKLSAJcmV0dXJuIHN0ZG9mZjsKLSB9Ci1AQCAtMTM5OSwxMCArMTM1NywyOSBAQCBpbnJ1bGUoY2hhciAqKmZpZWxkcywgaW50IG5maWVsZHMpCi0gCQllcnJvcihfKCJ3cm9uZyBudW1iZXIgb2YgZmllbGRzIG9uIFJ1bGUgbGluZSIpKTsKLSAJCXJldHVybjsKLSAJfQotLQlpZiAoKmZpZWxkc1tSRl9OQU1FXSA9PSAnXDAnKQotKwlzd2l0Y2ggKCpmaWVsZHNbUkZfTkFNRV0pCi0gCXsKLS0JCWVycm9yKF8oIm5hbWVsZXNzIHJ1bGUiKSk7Ci0tCQlyZXR1cm47Ci0rCQljYXNlICdcMCc6Ci0rCQljYXNlICcgJzoKLSsJCWNhc2UgJ1xmJzoKLSsJCWNhc2UgJ1xuJzoKLSsJCWNhc2UgJ1xyJzoKLSsJCWNhc2UgJ1x0JzoKLSsJCWNhc2UgJ1x2JzoKLSsJCWNhc2UgJysnOgotKwkJY2FzZSAnLSc6Ci0rCQljYXNlICcwJzoKLSsJCWNhc2UgJzEnOgotKwkJY2FzZSAnMic6Ci0rCQljYXNlICczJzoKLSsJCWNhc2UgJzQnOgotKwkJY2FzZSAnNSc6Ci0rCQljYXNlICc2JzoKLSsJCWNhc2UgJzcnOgotKwkJY2FzZSAnOCc6Ci0rCQljYXNlICc5JzoKLSsJCQllcnJvcihfKCJJbnZhbGlkIHJ1bGUgbmFtZSBcIiVzXCIiKSwgZmllbGRzW1JGX05BTUVdKTsKLSsJCQlyZXR1cm47Ci0gCX0KLSAJci5yX2ZpbGVuYW1lID0gZmlsZW5hbWU7Ci0gCXIucl9saW5lbnVtID0gbGluZW51bTsKLUBAIC0xNTA3LDcgKzE0ODQsNyBAQCBpbnpzdWIoY2hhciAqKmZpZWxkcywgaW50IG5maWVsZHMsIGJvb2wKLSAJfQotIAl6LnpfZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAJei56X2xpbmVudW0gPSBsaW5lbnVtOwotLQl6LnpfZ210b2ZmID0gZ2V0aG1zKGZpZWxkc1tpX2dtdG9mZl0sIF8oImludmFsaWQgVVQgb2Zmc2V0IiksIHRydWUpOwotKwl6LnpfZ210b2ZmID0gZ2V0aG1zKGZpZWxkc1tpX2dtdG9mZl0sIF8oImludmFsaWQgVVQgb2Zmc2V0IikpOwotIAlpZiAoKGNwID0gc3RyY2hyKGZpZWxkc1tpX2Zvcm1hdF0sICclJykpICE9IE5VTEwpCi0gCXsKLSAJCWlmICgoKisrY3AgIT0gJ3MnICYmICpjcCAhPSAneicpIHx8IHN0cmNocihjcCwgJyUnKQotQEAgLTE2NDksNyArMTYyNiw3IEBAIGlubGVhcChjaGFyICoqZmllbGRzLCBpbnQgbmZpZWxkcykKLSAJCXJldHVybjsKLSAJfQotIAl0ID0gZGF5b2ZmICogU0VDU1BFUkRBWTsKLS0JdG9kID0gZ2V0aG1zKGZpZWxkc1tMUF9USU1FXSwgXygiaW52YWxpZCB0aW1lIG9mIGRheSIpLCBmYWxzZSk7Ci0rCXRvZCA9IGdldGhtcyhmaWVsZHNbTFBfVElNRV0sIF8oImludmFsaWQgdGltZSBvZiBkYXkiKSk7Ci0gCWNwID0gZmllbGRzW0xQX0NPUlJdOwotIAl7Ci0gCQlib29sCQlwb3NpdGl2ZTsKLUBAIC0xNzU3LDcgKzE3MzQsNyBAQCBydWxlc3ViKHN0cnVjdCBydWxlICpycCwgY29uc3QgY2hhciAqbG95Ci0gCQkJCWJyZWFrOwotIAkJfQotIAl9Ci0tCXJwLT5yX3RvZCA9IGdldGhtcyhkcCwgXygiaW52YWxpZCB0aW1lIG9mIGRheSIpLCBmYWxzZSk7Ci0rCXJwLT5yX3RvZCA9IGdldGhtcyhkcCwgXygiaW52YWxpZCB0aW1lIG9mIGRheSIpKTsKLSAJZnJlZShkcCk7Ci0gCi0gCS8qCi1AQCAtMTk0Miw3ICsxOTE5LDQzIEBAIGlzMzIoY29uc3QgemljX3QgeCkKLSB9Ci0gCi0gc3RhdGljIHZvaWQKLS13cml0ZXpvbmUoY29uc3QgY2hhciAqY29uc3QgbmFtZSwgY29uc3QgY2hhciAqY29uc3Qgc3RyaW5nLCBjaGFyIHZlcnNpb24pCi0rc3dhcHR5cGVzKGludCBpLCBpbnQgaikKLSt7Ci0rCXsKLSsJCXppY190CQl0ID0gZ210b2Zmc1tpXTsKLSsKLSsJCWdtdG9mZnNbaV0gPSBnbXRvZmZzW2pdOwotKwkJZ210b2Zmc1tqXSA9IHQ7Ci0rCX0KLSsJewotKwkJY2hhcgkJdCA9IGlzZHN0c1tpXTsKLSsKLSsJCWlzZHN0c1tpXSA9IGlzZHN0c1tqXTsKLSsJCWlzZHN0c1tqXSA9IHQ7Ci0rCX0KLSsJewotKwkJdW5zaWduZWQgY2hhciB0ID0gYWJicmluZHNbaV07Ci0rCi0rCQlhYmJyaW5kc1tpXSA9IGFiYnJpbmRzW2pdOwotKwkJYWJicmluZHNbal0gPSB0OwotKwl9Ci0rCXsKLSsJCWJvb2wJCXQgPSB0dGlzc3Rkc1tpXTsKLSsKLSsJCXR0aXNzdGRzW2ldID0gdHRpc3N0ZHNbal07Ci0rCQl0dGlzc3Rkc1tqXSA9IHQ7Ci0rCX0KLSsJewotKwkJYm9vbAkJdCA9IHR0aXNnbXRzW2ldOwotKwotKwkJdHRpc2dtdHNbaV0gPSB0dGlzZ210c1tqXTsKLSsJCXR0aXNnbXRzW2pdID0gdDsKLSsJfQotK30KLSsKLStzdGF0aWMgdm9pZAotK3dyaXRlem9uZShjb25zdCBjaGFyICpjb25zdCBuYW1lLCBjb25zdCBjaGFyICpjb25zdCBzdHJpbmcsIGNoYXIgdmVyc2lvbiwKLSsJCSAgaW50IGRlZmF1bHR0eXBlKQotIHsKLSAJRklMRQkgICAqZnA7Ci0gCXB0cmRpZmZfdAlpLAotQEAgLTE5NzcsMTQgKzE5OTAsMTIgQEAgd3JpdGV6b25lKGNvbnN0IGNoYXIgKmNvbnN0IG5hbWUsIGNvbnN0Ci0gCi0gCQl0b2kgPSAwOwotIAkJZnJvbWkgPSAwOwotLQkJd2hpbGUgKGZyb21pIDwgdGltZWNudCAmJiBhdHR5cGVzW2Zyb21pXS5hdCA8IGVhcmx5X3RpbWUpCi0tCQkJKytmcm9taTsKLSAJCWZvciAoOyBmcm9taSA8IHRpbWVjbnQ7ICsrZnJvbWkpCi0gCQl7Ci0tCQkJaWYgKHRvaSA+IDEgJiYgKChhdHR5cGVzW2Zyb21pXS5hdCArCi0tCQkJCQkJCSBnbXRvZmZzW2F0dHlwZXNbdG9pIC0gMV0udHlwZV0pIDw9Ci0tCQkJCQkJCShhdHR5cGVzW3RvaSAtIDFdLmF0ICsKLS0JCQkJCQkJIGdtdG9mZnNbYXR0eXBlc1t0b2kgLSAyXS50eXBlXSkpKQotKwkJCWlmICh0b2kgIT0gMCAmJiAoKGF0dHlwZXNbZnJvbWldLmF0ICsKLSsJCQkJCQkJICBnbXRvZmZzW2F0dHlwZXNbdG9pIC0gMV0udHlwZV0pIDw9Ci0rCQkJCQkJCSAoYXR0eXBlc1t0b2kgLSAxXS5hdCArIGdtdG9mZnNbdG9pID09IDEgPyAwCi0rCQkJCQkJCQkJCQkJCQkJOiBhdHR5cGVzW3RvaSAtIDJdLnR5cGVdKSkpCi0gCQkJewotIAkJCQlhdHR5cGVzW3RvaSAtIDFdLnR5cGUgPQotIAkJCQkJYXR0eXBlc1tmcm9taV0udHlwZTsKLUBAIC0yMDE5LDggKzIwMzAsOCBAQCB3cml0ZXpvbmUoY29uc3QgY2hhciAqY29uc3QgbmFtZSwgY29uc3QKLSAJfQotIAotIAkvKgotLQkgKiBXb3JrIGFyb3VuZCBRVEJVRy01MzA3MSBmb3IgdGltZSBzdGFtcHMgbGVzcyB0aGFuIHkyMDM4X2JvdW5kYXJ5IC0gMSwKLS0JICogYnkgaW5zZXJ0aW5nIGEgbm8tb3AgdHJhbnNpdGlvbiBhdCB0aW1lIHkyMDM4X2JvdW5kYXJ5IC0gMS4gVGhpcyB3b3JrcwotKwkgKiBXb3JrIGFyb3VuZCBRVEJVRy01MzA3MSBmb3IgdGltZXN0YW1wcyBsZXNzIHRoYW4geTIwMzhfYm91bmRhcnkgLSAxLCBieQotKwkgKiBpbnNlcnRpbmcgYSBuby1vcCB0cmFuc2l0aW9uIGF0IHRpbWUgeTIwMzhfYm91bmRhcnkgLSAxLiBUaGlzIHdvcmtzCi0gCSAqIG9ubHkgZm9yIHRpbWVzdGFtcHMgYmVmb3JlIHRoZSBib3VuZGFyeSwgd2hpY2ggc2hvdWxkIGJlIGdvb2QgZW5vdWdoIGluCi0gCSAqIHByYWN0aWNlIGFzIFFUQlVHLTUzMDcxIHNob3VsZCBiZSBsb25nLWRlYWQgYnkgMjAzOC4KLSAJICovCi1AQCAtMjExNiw3ICsyMTI3LDggQEAgd3JpdGV6b25lKGNvbnN0IGNoYXIgKmNvbnN0IG5hbWUsIGNvbnN0Ci0gCQlpbnQJCQl0aGlzbGVhcGksCi0gCQkJCQl0aGlzbGVhcGNudCwKLSAJCQkJCXRoaXNsZWFwbGltOwotLQkJaW50CQkJd3JpdGV0eXBlW1RaX01BWF9UWVBFU107Ci0rCQlpbnQJCQlvbGQwOwotKwkJY2hhcgkJb21pdHR5cGVbVFpfTUFYX1RZUEVTXTsKLSAJCWludAkJCXR5cGVtYXBbVFpfTUFYX1RZUEVTXTsKLSAJCWludAkJCXRoaXN0eXBlY250OwotIAkJY2hhcgkJdGhpc2NoYXJzW1RaX01BWF9DSEFSU107Ci1AQCAtMjE0NCwyOCArMjE1NiwxOSBAQCB3cml0ZXpvbmUoY29uc3QgY2hhciAqY29uc3QgbmFtZSwgY29uc3QKLSAJCQllcnJvcihfKCJ0b28gbWFueSB0cmFuc2l0aW9uIHRpbWVzIikpOwotIAkJdGhpc3RpbWVsaW0gPSB0aGlzdGltZWkgKyB0aGlzdGltZWNudDsKLSAJCXRoaXNsZWFwbGltID0gdGhpc2xlYXBpICsgdGhpc2xlYXBjbnQ7Ci0tCQlmb3IgKGkgPSAwOyBpIDwgdHlwZWNudDsgKytpKQotLQkJCXdyaXRldHlwZVtpXSA9IHRoaXN0aW1lY250ID09IHRpbWVjbnQ7Ci0tCQlpZiAodGhpc3RpbWVjbnQgPT0gMCkKLS0JCXsKLS0JCQkvKgotLQkJCSAqIE5vIHRyYW5zaXRpb24gdGltZXMgZmFsbCBpbiB0aGUgY3VycmVudCAoMzItIG9yIDY0LWJpdCkgd2luZG93LgotLQkJCSAqLwotLQkJCWlmICh0eXBlY250ICE9IDApCi0tCQkJCXdyaXRldHlwZVt0eXBlY250IC0gMV0gPSB0cnVlOwotLQkJfQotLQkJZWxzZQotLQkJewotLQkJCWZvciAoaSA9IHRoaXN0aW1laSAtIDE7IGkgPCB0aGlzdGltZWxpbTsgKytpKQotLQkJCQlpZiAoaSA+PSAwKQotLQkJCQkJd3JpdGV0eXBlW3R5cGVzW2ldXSA9IHRydWU7Ci0rCQltZW1zZXQob21pdHR5cGUsIHRydWUsIHR5cGVjbnQpOwotKwkJb21pdHR5cGVbZGVmYXVsdHR5cGVdID0gZmFsc2U7Ci0rCQlmb3IgKGkgPSB0aGlzdGltZWk7IGkgPCB0aGlzdGltZWxpbTsgaSsrKQotKwkJCW9taXR0eXBlW3R5cGVzW2ldXSA9IGZhbHNlOwotKwotKwkJLyoKLSsJCSAqIFJlb3JkZXIgdHlwZXMgdG8gbWFrZSBERUZBVUxUVFlQRSB0eXBlIDAuIFVzZSBUWVBFTUFQIHRvIHN3YXAgT0xEMAotKwkJICogYW5kIERFRkFVTFRUWVBFIHNvIHRoYXQgREVGQVVMVFRZUEUgYXBwZWFycyBhcyB0eXBlIDAgaW4gdGhlIG91dHB1dAotKwkJICogaW5zdGVhZCBvZiBPTEQwLiAgVFlQRU1BUCBhbHNvIG9taXRzIHVudXNlZCB0eXBlcy4KLSsJCSAqLwotKwkJb2xkMCA9IHN0cmxlbihvbWl0dHlwZSk7Ci0rCQlzd2FwdHlwZXMob2xkMCwgZGVmYXVsdHR5cGUpOwotIAotLQkJCS8qCi0tCQkJICogRm9yIEFtZXJpY2EvR29kdGhhYiBhbmQgQW50YXJjdGljYS9QYWxtZXIKLS0JCQkgKi8KLS0JCQlpZiAodGhpc3RpbWVpID09IDApCi0tCQkJCXdyaXRldHlwZVswXSA9IHRydWU7Ci0tCQl9Ci0gI2lmbmRlZiBMRUFWRV9TT01FX1BSRV8yMDExX1NZU1RFTVNfSU5fVEhFX0xVUkNICi0gCi0gCQkvKgotQEAgLTIxODcsOCArMjE5MCw4IEBAIHdyaXRlem9uZShjb25zdCBjaGFyICpjb25zdCBuYW1lLCBjb25zdAotIAkJCQkJbXJ1ZHN0ID0gdHlwZXNbaV07Ci0gCQkJCWVsc2UKLSAJCQkJCW1ydXN0ZCA9IHR5cGVzW2ldOwotLQkJCWZvciAoaSA9IDA7IGkgPCB0eXBlY250OyArK2kpCi0tCQkJCWlmICh3cml0ZXR5cGVbaV0pCi0rCQkJZm9yIChpID0gb2xkMDsgaSA8IHR5cGVjbnQ7IGkrKykKLSsJCQkJaWYgKCFvbWl0dHlwZVtpXSkKLSAJCQkJewotIAkJCQkJaWYgKGlzZHN0c1tpXSkKLSAJCQkJCQloaWRzdCA9IGk7Ci1AQCAtMjIwNSw3ICsyMjA4LDcgQEAgd3JpdGV6b25lKGNvbnN0IGNoYXIgKmNvbnN0IG5hbWUsIGNvbnN0Ci0gCQkJCQkJCSAgIHR0aXNzdGRzW21ydWRzdF0sCi0gCQkJCQkJCSAgIHR0aXNnbXRzW21ydWRzdF0pOwotIAkJCQlpc2RzdHNbbXJ1ZHN0XSA9IDE7Ci0tCQkJCXdyaXRldHlwZVt0eXBlXSA9IHRydWU7Ci0rCQkJCW9taXR0eXBlW3R5cGVdID0gZmFsc2U7Ci0gCQkJfQotIAkJCWlmIChoaXN0ZCA+PSAwICYmIG1ydXN0ZCA+PSAwICYmIGhpc3RkICE9IG1ydXN0ZCAmJgotIAkJCQlnbXRvZmZzW2hpc3RkXSAhPSBnbXRvZmZzW21ydXN0ZF0pCi1AQCAtMjIxNywyMiArMjIyMCwyNiBAQCB3cml0ZXpvbmUoY29uc3QgY2hhciAqY29uc3QgbmFtZSwgY29uc3QKLSAJCQkJCQkJICAgdHRpc3N0ZHNbbXJ1c3RkXSwKLSAJCQkJCQkJICAgdHRpc2dtdHNbbXJ1c3RkXSk7Ci0gCQkJCWlzZHN0c1ttcnVzdGRdID0gMDsKLS0JCQkJd3JpdGV0eXBlW3R5cGVdID0gdHJ1ZTsKLSsJCQkJb21pdHR5cGVbdHlwZV0gPSBmYWxzZTsKLSAJCQl9Ci0gCQl9Ci0gI2VuZGlmCQkJCQkJCS8qICFkZWZpbmVkCi0gCQkJCQkJCQkgKiBMRUFWRV9TT01FX1BSRV8yMDExX1NZU1RFTVNfSU5fVEhFX0xVUkNIICovCi0gCQl0aGlzdHlwZWNudCA9IDA7Ci0tCQlmb3IgKGkgPSAwOyBpIDwgdHlwZWNudDsgKytpKQotLQkJCXR5cGVtYXBbaV0gPSB3cml0ZXR5cGVbaV0gPyB0aGlzdHlwZWNudCsrIDogLTE7Ci0rCQlmb3IgKGkgPSBvbGQwOyBpIDwgdHlwZWNudDsgaSsrKQotKwkJCWlmICghb21pdHR5cGVbaV0pCi0rCQkJCXR5cGVtYXBbaSA9PSBvbGQwID8gZGVmYXVsdHR5cGUKLSsJCQkJCQk6IGkgPT0gZGVmYXVsdHR5cGUgPyBvbGQwIDogaV0KLSsJCQkJCT0gdGhpc3R5cGVjbnQrKzsKLSsKLSAJCWZvciAoaSA9IDA7IGkgPCBzaXplb2YgaW5kbWFwIC8gc2l6ZW9mIGluZG1hcFswXTsgKytpKQotIAkJCWluZG1hcFtpXSA9IC0xOwotIAkJdGhpc2NoYXJjbnQgPSAwOwotLQkJZm9yIChpID0gMDsgaSA8IHR5cGVjbnQ7ICsraSkKLSsJCWZvciAoaSA9IG9sZDA7IGkgPCB0eXBlY250OyBpKyspCi0gCQl7Ci0gCQkJY2hhcgkgICAqdGhpc2FiYnI7Ci0gCi0tCQkJaWYgKCF3cml0ZXR5cGVbaV0pCi0rCQkJaWYgKG9taXR0eXBlW2ldKQotIAkJCQljb250aW51ZTsKLSAJCQlpZiAoaW5kbWFwW2FiYnJpbmRzW2ldXSA+PSAwKQotIAkJCQljb250aW51ZTsKLUBAIC0yMjY3LDIzICsyMjc0LDE2IEBAIHdyaXRlem9uZShjb25zdCBjaGFyICpjb25zdCBuYW1lLCBjb25zdAotIAkJRE8odHpoX3R5cGVjbnQpOwotIAkJRE8odHpoX2NoYXJjbnQpOwotICN1bmRlZiBETwotLQkJZm9yIChpID0gdGhpc3RpbWVpOyBpIDwgdGhpc3RpbWVsaW07ICsraSkKLS0JCQlpZiAocGFzcyA9PSAxKQotIAotLQkJCQkvKgotLQkJCQkgKiBPdXRwdXQgYW4gSU5UMzJfTUlOICJ0cmFuc2l0aW9uIiBpZiBhcHByb3ByaWF0ZTsgc2VlIGFib3ZlLgotLQkJCQkgKi8KLS0JCQkJcHV0dHpjb2RlKCgoYXRzW2ldIDwgUEdfSU5UMzJfTUlOKSA/Ci0tCQkJCQkJICAgUEdfSU5UMzJfTUlOIDogYXRzW2ldKSwgZnApOwotLQkJCWVsc2UKLSsJCS8qIFBHOiBwcmludCBjdXJyZW50IHRpbWV6b25lIGFiYnJldmlhdGlvbnMgaWYgcmVxdWVzdGVkICovCi0rCQlpZiAocHJpbnRfYWJicmV2cyAmJiBwYXNzID09IDIpCi0rCQl7Ci0rCQkJLyogUHJpbnQgInR5cGUiIGRhdGEgZm9yIHBlcmlvZHMgZW5kaW5nIGFmdGVyIHByaW50X2N1dG9mZiAqLwotKwkJCWZvciAoaSA9IHRoaXN0aW1laTsgaSA8IHRoaXN0aW1lbGltOyArK2kpCi0gCQkJewotLQkJCQlwdXR0emNvZGU2NChhdHNbaV0sIGZwKTsKLS0KLS0JCQkJLyogUHJpbnQgY3VycmVudCB0aW1lem9uZSBhYmJyZXZpYXRpb25zIGlmIHJlcXVlc3RlZCAqLwotLQkJCQlpZiAocHJpbnRfYWJicmV2cyAmJgotLQkJCQkJKGkgPT0gdGhpc3RpbWVsaW0gLSAxIHx8IGF0c1tpICsgMV0gPiBwcmludF9jdXRvZmYpKQotKwkJCQlpZiAoaSA9PSB0aGlzdGltZWxpbSAtIDEgfHwgYXRzW2kgKyAxXSA+IHByaW50X2N1dG9mZikKLSAJCQkJewotLQkJCQkJdW5zaWduZWQgY2hhciB0bSA9IHR5cGVtYXBbdHlwZXNbaV1dOwotKwkJCQkJdW5zaWduZWQgY2hhciB0bSA9IHR5cGVzW2ldOwotIAkJCQkJY2hhcgkgICAqdGhpc2FiYnJldiA9ICZ0aGlzY2hhcnNbaW5kbWFwW2FiYnJpbmRzW3RtXV1dOwotIAotIAkJCQkJLyogZmlsdGVyIG91dCBhc3NvcnRlZCBqdW5rIGVudHJpZXMgKi8KLUBAIC0yMjk1LDYgKzIyOTUsMzIgQEAgd3JpdGV6b25lKGNvbnN0IGNoYXIgKmNvbnN0IG5hbWUsIGNvbnN0Ci0gCQkJCQkJCQlpc2RzdHNbdG1dID8gIlx0RCIgOiAiIik7Ci0gCQkJCX0KLSAJCQl9Ci0rCQkJLyogUHJpbnQgdGhlIGRlZmF1bHQgdHlwZSBpZiB3ZSBoYXZlIG5vIHRyYW5zaXRpb25zIGF0IGFsbCAqLwotKwkJCWlmICh0aGlzdGltZWkgPj0gdGhpc3RpbWVsaW0pCi0rCQkJewotKwkJCQl1bnNpZ25lZCBjaGFyIHRtID0gZGVmYXVsdHR5cGU7Ci0rCQkJCWNoYXIJICAgKnRoaXNhYmJyZXYgPSAmdGhpc2NoYXJzW2luZG1hcFthYmJyaW5kc1t0bV1dXTsKLSsKLSsJCQkJLyogZmlsdGVyIG91dCBhc3NvcnRlZCBqdW5rIGVudHJpZXMgKi8KLSsJCQkJaWYgKHN0cmNtcCh0aGlzYWJicmV2LCBHUkFORFBBUkVOVEVEKSAhPSAwICYmCi0rCQkJCQlzdHJjbXAodGhpc2FiYnJldiwgInp6eiIpICE9IDApCi0rCQkJCQlmcHJpbnRmKHN0ZG91dCwgIiVzXHQiIElOVDY0X0ZPUk1BVCAiJXNcbiIsCi0rCQkJCQkJCXRoaXNhYmJyZXYsCi0rCQkJCQkJCWdtdG9mZnNbdG1dLAotKwkJCQkJCQlpc2RzdHNbdG1dID8gIlx0RCIgOiAiIik7Ci0rCQkJfQotKwkJfQotKwotKwkJZm9yIChpID0gdGhpc3RpbWVpOyBpIDwgdGhpc3RpbWVsaW07ICsraSkKLSsJCQlpZiAocGFzcyA9PSAxKQotKwotKwkJCQkvKgotKwkJCQkgKiBPdXRwdXQgYW4gSU5UMzJfTUlOICJ0cmFuc2l0aW9uIiBpZiBhcHByb3ByaWF0ZTsgc2VlIGFib3ZlLgotKwkJCQkgKi8KLSsJCQkJcHV0dHpjb2RlKCgoYXRzW2ldIDwgUEdfSU5UMzJfTUlOKSA/Ci0rCQkJCQkJICAgUEdfSU5UMzJfTUlOIDogYXRzW2ldKSwgZnApOwotKwkJCWVsc2UKLSsJCQkJcHV0dHpjb2RlNjQoYXRzW2ldLCBmcCk7Ci0gCQlmb3IgKGkgPSB0aGlzdGltZWk7IGkgPCB0aGlzdGltZWxpbTsgKytpKQotIAkJewotIAkJCXVuc2lnbmVkIGNoYXIgdWM7Ci1AQCAtMjMwMiw4ICsyMzI4LDggQEAgd3JpdGV6b25lKGNvbnN0IGNoYXIgKmNvbnN0IG5hbWUsIGNvbnN0Ci0gCQkJdWMgPSB0eXBlbWFwW3R5cGVzW2ldXTsKLSAJCQlmd3JpdGUoJnVjLCBzaXplb2YgdWMsIDEsIGZwKTsKLSAJCX0KLS0JCWZvciAoaSA9IDA7IGkgPCB0eXBlY250OyArK2kpCi0tCQkJaWYgKHdyaXRldHlwZVtpXSkKLSsJCWZvciAoaSA9IG9sZDA7IGkgPCB0eXBlY250OyBpKyspCi0rCQkJaWYgKCFvbWl0dHlwZVtpXSkKLSAJCQl7Ci0gCQkJCXB1dHR6Y29kZShnbXRvZmZzW2ldLCBmcCk7Ci0gCQkJCXB1dGMoaXNkc3RzW2ldLCBmcCk7Ci1AQCAtMjM0NiwxMiArMjM3MiwxMyBAQCB3cml0ZXpvbmUoY29uc3QgY2hhciAqY29uc3QgbmFtZSwgY29uc3QKLSAJCQkJcHV0dHpjb2RlNjQodG9kbywgZnApOwotIAkJCXB1dHR6Y29kZShjb3JyW2ldLCBmcCk7Ci0gCQl9Ci0tCQlmb3IgKGkgPSAwOyBpIDwgdHlwZWNudDsgKytpKQotLQkJCWlmICh3cml0ZXR5cGVbaV0pCi0rCQlmb3IgKGkgPSBvbGQwOyBpIDwgdHlwZWNudDsgaSsrKQotKwkJCWlmICghb21pdHR5cGVbaV0pCi0gCQkJCXB1dGModHRpc3N0ZHNbaV0sIGZwKTsKLS0JCWZvciAoaSA9IDA7IGkgPCB0eXBlY250OyArK2kpCi0tCQkJaWYgKHdyaXRldHlwZVtpXSkKLSsJCWZvciAoaSA9IG9sZDA7IGkgPCB0eXBlY250OyBpKyspCi0rCQkJaWYgKCFvbWl0dHlwZVtpXSkKLSAJCQkJcHV0Yyh0dGlzZ210c1tpXSwgZnApOwotKwkJc3dhcHR5cGVzKG9sZDAsIGRlZmF1bHR0eXBlKTsKLSAJfQotIAlmcHJpbnRmKGZwLCAiXG4lc1xuIiwgc3RyaW5nKTsKLSAJY2xvc2VfZmlsZShmcCwgZGlyZWN0b3J5LCBuYW1lKTsKLUBAIC0yNzU3LDYgKzI3ODQsNyBAQCBvdXR6b25lKGNvbnN0IHN0cnVjdCB6b25lICp6cGZpcnN0LCBwdHJkCi0gCXppY190CQlvbmUgPSAxOwotIAl6aWNfdAkJeTIwMzhfYm91bmRhcnkgPSBvbmUgPDwgMzE7Ci0gCXppY190CQltYXhfeWVhcjA7Ci0rCWludAkJCWRlZmF1bHR0eXBlID0gLTE7Ci0gCi0gCW1heF9hYmJyX2xlbiA9IDIgKyBtYXhfZm9ybWF0X2xlbiArIG1heF9hYmJydmFyX2xlbjsKLSAJbWF4X2VudnZhcl9sZW4gPSAyICogbWF4X2FiYnJfbGVuICsgNSAqIDk7Ci1AQCAtMjg4MCw5ICsyOTA4LDkgQEAgb3V0em9uZShjb25zdCBzdHJ1Y3Qgem9uZSAqenBmaXJzdCwgcHRyZAotIAkJICovCi0gCQlzdGRvZmYgPSAwOwotIAkJenAgPSAmenBmaXJzdFtpXTsKLS0JCXVzZXN0YXJ0ID0gaSA+IDAgJiYgKHpwIC0gMSktPnpfdW50aWx0aW1lID4gZWFybHlfdGltZTsKLSsJCXVzZXN0YXJ0ID0gaSA+IDAgJiYgKHpwIC0gMSktPnpfdW50aWx0aW1lID4gbWluX3RpbWU7Ci0gCQl1c2V1bnRpbCA9IGkgPCAoem9uZWNvdW50IC0gMSk7Ci0tCQlpZiAodXNldW50aWwgJiYgenAtPnpfdW50aWx0aW1lIDw9IGVhcmx5X3RpbWUpCi0rCQlpZiAodXNldW50aWwgJiYgenAtPnpfdW50aWx0aW1lIDw9IG1pbl90aW1lKQotIAkJCWNvbnRpbnVlOwotIAkJZ210b2ZmID0genAtPnpfZ210b2ZmOwotIAkJZWF0KHpwLT56X2ZpbGVuYW1lLCB6cC0+el9saW5lbnVtKTsKLUBAIC0yOTAxLDcgKzI5MjksNyBAQCBvdXR6b25lKGNvbnN0IHN0cnVjdCB6b25lICp6cGZpcnN0LCBwdHJkCi0gCQkJCXVzZXN0YXJ0ID0gZmFsc2U7Ci0gCQkJfQotIAkJCWVsc2UKLS0JCQkJYWRkdHQoZWFybHlfdGltZSwgdHlwZSk7Ci0rCQkJCWRlZmF1bHR0eXBlID0gdHlwZTsKLSAJCX0KLSAJCWVsc2UKLSAJCQlmb3IgKHllYXIgPSBtaW5feWVhcjsgeWVhciA8PSBtYXhfeWVhcjsgKyt5ZWFyKQotQEAgLTMwMzIsNiArMzA2MCw4IEBAIG91dHpvbmUoY29uc3Qgc3RydWN0IHpvbmUgKnpwZmlyc3QsIHB0cmQKLSAJCQkJCW9mZnNldCA9IG9hZGQoenAtPnpfZ210b2ZmLCBycC0+cl9zdGRvZmYpOwotIAkJCQkJdHlwZSA9IGFkZHR5cGUob2Zmc2V0LCBhYiwgcnAtPnJfaXNkc3QsCi0gCQkJCQkJCQkgICBycC0+cl90b2Rpc3N0ZCwgcnAtPnJfdG9kaXNnbXQpOwotKwkJCQkJaWYgKGRlZmF1bHR0eXBlIDwgMCAmJiAhcnAtPnJfaXNkc3QpCi0rCQkJCQkJZGVmYXVsdHR5cGUgPSB0eXBlOwotIAkJCQkJaWYgKHJwLT5yX2hpeWVhciA9PSBaSUNfTUFYCi0gCQkJCQkJJiYgISgwIDw9IGxhc3RhdG1heAotIAkJCQkJCQkgJiYga3RpbWUgPCBhdHR5cGVzW2xhc3RhdG1heF0uYXQpKQotQEAgLTMwNTAsMTEgKzMwODAsMTUgQEAgb3V0em9uZShjb25zdCBzdHJ1Y3Qgem9uZSAqenBmaXJzdCwgcHRyZAotIAkJCWlmICgqc3RhcnRidWYgPT0gJ1wwJykKLSAJCQkJZXJyb3IoXygiY2Fubm90IGRldGVybWluZSB0aW1lIHpvbmUgYWJicmV2aWF0aW9uIHRvIHVzZSBqdXN0IGFmdGVyIHVudGlsIHRpbWUiKSk7Ci0gCQkJZWxzZQotLQkJCQlhZGR0dChzdGFydHRpbWUsCi0tCQkJCQkgIGFkZHR5cGUoc3RhcnRvZmYsIHN0YXJ0YnVmLAotLQkJCQkJCQkgIHN0YXJ0b2ZmICE9IHpwLT56X2dtdG9mZiwKLS0JCQkJCQkJICBzdGFydHR0aXNzdGQsCi0tCQkJCQkJCSAgc3RhcnR0dGlzZ210KSk7Ci0rCQkJewotKwkJCQlib29sCQlpc2RzdCA9IHN0YXJ0b2ZmICE9IHpwLT56X2dtdG9mZjsKLSsKLSsJCQkJdHlwZSA9IGFkZHR5cGUoc3RhcnRvZmYsIHN0YXJ0YnVmLCBpc2RzdCwKLSsJCQkJCQkJICAgc3RhcnR0dGlzc3RkLCBzdGFydHR0aXNnbXQpOwotKwkJCQlpZiAoZGVmYXVsdHR5cGUgPCAwICYmICFpc2RzdCkKLSsJCQkJCWRlZmF1bHR0eXBlID0gdHlwZTsKLSsJCQkJYWRkdHQoc3RhcnR0aW1lLCB0eXBlKTsKLSsJCQl9Ci0gCQl9Ci0gCi0gCQkvKgotQEAgLTMwNzEsNiArMzEwNSw4IEBAIG91dHpvbmUoY29uc3Qgc3RydWN0IHpvbmUgKnpwZmlyc3QsIHB0cmQKLSAJCQkJc3RhcnR0aW1lID0gdGFkZChzdGFydHRpbWUsIC1nbXRvZmYpOwotIAkJfQotIAl9Ci0rCWlmIChkZWZhdWx0dHlwZSA8IDApCi0rCQlkZWZhdWx0dHlwZSA9IDA7Ci0gCWlmICgwIDw9IGxhc3RhdG1heCkKLSAJCWF0dHlwZXNbbGFzdGF0bWF4XS5kb250bWVyZ2UgPSB0cnVlOwotIAlpZiAoZG9fZXh0ZW5kKQotQEAgLTMxMDAsNyArMzEzNiw3IEBAIG91dHpvbmUoY29uc3Qgc3RydWN0IHpvbmUgKnpwZmlyc3QsIHB0cmQKLSAJCQlhdHR5cGVzW3RpbWVjbnQgLSAxXS5kb250bWVyZ2UgPSB0cnVlOwotIAkJfQotIAl9Ci0tCXdyaXRlem9uZSh6cGZpcnN0LT56X25hbWUsIGVudnZhciwgdmVyc2lvbik7Ci0rCXdyaXRlem9uZSh6cGZpcnN0LT56X25hbWUsIGVudnZhciwgdmVyc2lvbiwgZGVmYXVsdHR5cGUpOwotIAlmcmVlKHN0YXJ0YnVmKTsKLSAJZnJlZShhYik7Ci0gCWZyZWUoZW52dmFyKTsKLUBAIC0zMTA5LDIxICszMTQ1LDYgQEAgb3V0em9uZShjb25zdCBzdHJ1Y3Qgem9uZSAqenBmaXJzdCwgcHRyZAotIHN0YXRpYyB2b2lkCi0gYWRkdHQoemljX3Qgc3RhcnR0aW1lLCBpbnQgdHlwZSkKLSB7Ci0tCWlmIChzdGFydHRpbWUgPD0gZWFybHlfdGltZQotLQkJfHwgKHRpbWVjbnQgPT0gMSAmJiBhdHR5cGVzWzBdLmF0IDwgZWFybHlfdGltZSkpCi0tCXsKLS0JCWdtdG9mZnNbMF0gPSBnbXRvZmZzW3R5cGVdOwotLQkJaXNkc3RzWzBdID0gaXNkc3RzW3R5cGVdOwotLQkJdHRpc3N0ZHNbMF0gPSB0dGlzc3Rkc1t0eXBlXTsKLS0JCXR0aXNnbXRzWzBdID0gdHRpc2dtdHNbdHlwZV07Ci0tCQlpZiAoYWJicmluZHNbdHlwZV0gIT0gMCkKLS0JCQlzdHJjcHkoY2hhcnMsICZjaGFyc1thYmJyaW5kc1t0eXBlXV0pOwotLQkJYWJicmluZHNbMF0gPSAwOwotLQkJY2hhcmNudCA9IHN0cmxlbihjaGFycykgKyAxOwotLQkJdHlwZWNudCA9IDE7Ci0tCQl0aW1lY250ID0gMDsKLS0JCXR5cGUgPSAwOwotLQl9Ci0gCWF0dHlwZXMgPSBncm93YWxsb2MoYXR0eXBlcywgc2l6ZW9mICphdHR5cGVzLCB0aW1lY250LCAmdGltZWNudF9hbGxvYyk7Ci0gCWF0dHlwZXNbdGltZWNudF0uYXQgPSBzdGFydHRpbWU7Ci0gCWF0dHlwZXNbdGltZWNudF0uZG9udG1lcmdlID0gZmFsc2U7Ci1AQCAtMzM2MSw3ICszMzgyLDcgQEAgaXNfYWxwaGEoY2hhciBhKQotIH0KLSAKLSAvKiBJZiBBIGlzIGFuIHVwcGVyY2FzZSBjaGFyYWN0ZXIgaW4gdGhlIEMgbG9jYWxlLCByZXR1cm4gaXRzIGxvd2VyY2FzZQotLSAqIGNvdW50ZXJwYXJ0LiAgT3RoZXJ3aXNlLCByZXR1cm4gQS4gICovCi0rICAgY291bnRlcnBhcnQuICBPdGhlcndpc2UsIHJldHVybiBBLiAgKi8KLSBzdGF0aWMgY2hhcgotIGxvd2VyaXQoY2hhciBhKQotIHsKLUBAIC0zNjI4LDYgKzM2NDksMTggQEAgcnB5dGltZShjb25zdCBzdHJ1Y3QgcnVsZSAqcnAsIHppY190IHdhbgotIAlkYXlvZmYgPSAwOwotIAltID0gVE1fSkFOVUFSWTsKLSAJeSA9IEVQT0NIX1lFQVI7Ci0rCWlmICh5IDwgd2FudGVkeSkKLSsJewotKwkJd2FudGVkeSAtPSB5OwotKwkJZGF5b2ZmID0gKHdhbnRlZHkgLyBZRUFSU1BFUlJFUEVBVCkgKiAoU0VDU1BFUlJFUEVBVCAvIFNFQ1NQRVJEQVkpOwotKwkJd2FudGVkeSAlPSBZRUFSU1BFUlJFUEVBVDsKLSsJCXdhbnRlZHkgKz0geTsKLSsJfQotKwllbHNlIGlmICh3YW50ZWR5IDwgMCkKLSsJewotKwkJZGF5b2ZmID0gKHdhbnRlZHkgLyBZRUFSU1BFUlJFUEVBVCkgKiAoU0VDU1BFUlJFUEVBVCAvIFNFQ1NQRVJEQVkpOwotKwkJd2FudGVkeSAlPSBZRUFSU1BFUlJFUEVBVDsKLSsJfQotIAl3aGlsZSAod2FudGVkeSAhPSB5KQotIAl7Ci0gCQlpZiAod2FudGVkeSA+IHkpCi1AQCAtMzcwNiw3ICszNzM5LDYgQEAgd2lsbCBub3Qgd29yayB3aXRoIHByZS0yMDA0IHZlcnNpb25zIG9mCi0gCWlmIChkYXlvZmYgPiBtYXhfdGltZSAvIFNFQ1NQRVJEQVkpCi0gCQlyZXR1cm4gbWF4X3RpbWU7Ci0gCXQgPSAoemljX3QpIGRheW9mZiAqIFNFQ1NQRVJEQVk7Ci0tCi0gCXJldHVybiB0YWRkKHQsIHJwLT5yX3RvZCk7Ci0gfQotIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzLzAwMDEtVXBkYXRlLXRpbWUtem9uZS1kYXRhLWZpbGVzLXRvLXR6ZGF0YS1yZWxlYXNlLTIwMThmLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzLzAwMDEtVXBkYXRlLXRpbWUtem9uZS1kYXRhLWZpbGVzLXRvLXR6ZGF0YS1yZWxlYXNlLTIwMThmLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MWU3NjNjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy8wMDAxLVVwZGF0ZS10aW1lLXpvbmUtZGF0YS1maWxlcy10by10emRhdGEtcmVsZWFzZS0yMDE4Zi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY0NTIgKzAsMCBAQAotRnJvbSAxMzg3N2QzMGYyZWM5M2Y2MDQzOTM3Zjc2YWYyMDdkY2M2MTRhNGU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVG9tIExhbmUgPHRnbEBzc3MucGdoLnBhLnVzPgotRGF0ZTogRnJpLCAxOSBPY3QgMjAxOCAxNzowMTozNCAtMDQwMAotU3ViamVjdDogW1BBVENIXSBVcGRhdGUgdGltZSB6b25lIGRhdGEgZmlsZXMgdG8gdHpkYXRhIHJlbGVhc2UgMjAxOGYuCi0KLURTVCBsYXcgY2hhbmdlcyBpbiBDaGlsZSwgRmlqaSwgYW5kIFJ1c3NpYSAoVm9sZ29ncmFkKS4KLUhpc3RvcmljYWwgY29ycmVjdGlvbnMgZm9yIENoaW5hLCBKYXBhbiwgTWFjYXUsIGFuZCBOb3J0aCBLb3JlYS4KLQotTm90ZTogbGlrZSB0aGUgcHJldmlvdXMgdHpkYXRhIHVwZGF0ZSwgdGhpcyBpbnZvbHZlcyBhIGRlcHJlc3NpbmdseQotbGFyZ2UgYW1vdW50IG9mIHNlbWFudGljYWxseS1tZWFuaW5nbGVzcyBjaHVybiBpbiB0emRhdGEuemkuICBUaGF0Ci1pcyBhIGNvbnNlcXVlbmNlIG9mIHVwc3RyZWFtJ3MgZGF0YSBjb21wcmVzc2lvbiBtZXRob2QgYXNzaWduaW5nCi11bnN0YWJsZSBhYmJyZXZpYXRpb25zIHRvIERTVCBydWxlc2V0cy4gIEkgY29tcGxhaW5lZCBhYm91dCB0aGF0Ci10byB0aGVtIGxhc3QgdGltZSwgYW5kIHRoaXMgdmVyc2lvbiBub3cgdXNlcyBhbiBhc3NpZ25tZW50IG1ldGhvZAotdGhhdCBwYXlzIHNvbWUgaGVlZCB0byBub3QgY2hhbmdpbmcgYWJicmV2aWF0aW9ucyB1bm5lY2Vzc2FyaWx5LgotU28gaG9wZWZ1bGx5LCB0aGF0J2xsIGJlIGJldHRlciBnb2luZyBmb3J3YXJkLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXJAbXZpc3RhLmNvbT4KLQotLS0tCi0gc3JjL3RpbWV6b25lL2RhdGEvdHpkYXRhLnppICAgICAgfCA1MjczICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCi0gc3JjL3RpbWV6b25lL2tub3duX2FiYnJldnMudHh0ICAgfCAgICAxICsKLSBzcmMvdGltZXpvbmUvdHpuYW1lcy9BbWVyaWNhLnR4dCB8ICAgIDMgKwotIHNyYy90aW1lem9uZS90em5hbWVzL0FzaWEudHh0ICAgIHwgICAgNCArCi0gc3JjL3RpbWV6b25lL3R6bmFtZXMvRGVmYXVsdCAgICAgfCAgICAzICsKLSBzcmMvdGltZXpvbmUvdHpuYW1lcy9QYWNpZmljLnR4dCB8ICAgIDMgKwotIDYgZmlsZXMgY2hhbmdlZCwgMjY2MCBpbnNlcnRpb25zKCspLCAyNjI3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3RpbWV6b25lL2RhdGEvdHpkYXRhLnppIGIvc3JjL3RpbWV6b25lL2RhdGEvdHpkYXRhLnppCi1pbmRleCBjNDcwMTEyLi42ZDk4OTAyIDEwMDY0NAotLS0tIGEvc3JjL3RpbWV6b25lL2RhdGEvdHpkYXRhLnppCi0rKysgYi9zcmMvdGltZXpvbmUvZGF0YS90emRhdGEuemkKLUBAIC0xLDM2ICsxLDM2IEBACi0tIyB2ZXJzaW9uIDIwMThlCi0rIyB2ZXJzaW9uIDIwMThmCi0gIyBUaGlzIHppYyBpbnB1dCBmaWxlIGlzIGluIHRoZSBwdWJsaWMgZG9tYWluLgotLVIgQSAxOTE2IG8gLSBKdW4gMTQgMjNzIDEgUwotLVIgQSAxOTE2IDE5MTkgLSBPIFN1bj49MSAyM3MgMCAtCi0tUiBBIDE5MTcgbyAtIE1hciAyNCAyM3MgMSBTCi0tUiBBIDE5MTggbyAtIE1hciA5IDIzcyAxIFMKLS1SIEEgMTkxOSBvIC0gTWFyIDEgMjNzIDEgUwotLVIgQSAxOTIwIG8gLSBGIDE0IDIzcyAxIFMKLS1SIEEgMTkyMCBvIC0gTyAyMyAyM3MgMCAtCi0tUiBBIDE5MjEgbyAtIE1hciAxNCAyM3MgMSBTCi0tUiBBIDE5MjEgbyAtIEp1biAyMSAyM3MgMCAtCi0tUiBBIDE5MzkgbyAtIFMgMTEgMjNzIDEgUwotLVIgQSAxOTM5IG8gLSBOIDE5IDEgMCAtCi0tUiBBIDE5NDQgMTk0NSAtIEFwIE0+PTEgMiAxIFMKLS1SIEEgMTk0NCBvIC0gTyA4IDIgMCAtCi0tUiBBIDE5NDUgbyAtIFMgMTYgMSAwIC0KLS1SIEEgMTk3MSBvIC0gQXAgMjUgMjNzIDEgUwotLVIgQSAxOTcxIG8gLSBTIDI2IDIzcyAwIC0KLS1SIEEgMTk3NyBvIC0gTWF5IDYgMCAxIFMKLS1SIEEgMTk3NyBvIC0gTyAyMSAwIDAgLQotLVIgQSAxOTc4IG8gLSBNYXIgMjQgMSAxIFMKLS1SIEEgMTk3OCBvIC0gUyAyMiAzIDAgLQotLVIgQSAxOTgwIG8gLSBBcCAyNSAwIDEgUwotLVIgQSAxOTgwIG8gLSBPIDMxIDIgMCAtCi0rUiBkIDE5MTYgbyAtIEp1biAxNCAyM3MgMSBTCi0rUiBkIDE5MTYgMTkxOSAtIE8gU3VuPj0xIDIzcyAwIC0KLStSIGQgMTkxNyBvIC0gTWFyIDI0IDIzcyAxIFMKLStSIGQgMTkxOCBvIC0gTWFyIDkgMjNzIDEgUwotK1IgZCAxOTE5IG8gLSBNYXIgMSAyM3MgMSBTCi0rUiBkIDE5MjAgbyAtIEYgMTQgMjNzIDEgUwotK1IgZCAxOTIwIG8gLSBPIDIzIDIzcyAwIC0KLStSIGQgMTkyMSBvIC0gTWFyIDE0IDIzcyAxIFMKLStSIGQgMTkyMSBvIC0gSnVuIDIxIDIzcyAwIC0KLStSIGQgMTkzOSBvIC0gUyAxMSAyM3MgMSBTCi0rUiBkIDE5MzkgbyAtIE4gMTkgMSAwIC0KLStSIGQgMTk0NCAxOTQ1IC0gQXAgTT49MSAyIDEgUwotK1IgZCAxOTQ0IG8gLSBPIDggMiAwIC0KLStSIGQgMTk0NSBvIC0gUyAxNiAxIDAgLQotK1IgZCAxOTcxIG8gLSBBcCAyNSAyM3MgMSBTCi0rUiBkIDE5NzEgbyAtIFMgMjYgMjNzIDAgLQotK1IgZCAxOTc3IG8gLSBNYXkgNiAwIDEgUwotK1IgZCAxOTc3IG8gLSBPIDIxIDAgMCAtCi0rUiBkIDE5NzggbyAtIE1hciAyNCAxIDEgUwotK1IgZCAxOTc4IG8gLSBTIDIyIDMgMCAtCi0rUiBkIDE5ODAgbyAtIEFwIDI1IDAgMSBTCi0rUiBkIDE5ODAgbyAtIE8gMzEgMiAwIC0KLSBaIEFmcmljYS9BbGdpZXJzIDA6MTI6MTIgLSBMTVQgMTg5MSBNYXIgMTUgMDoxCi0gMDo5OjIxIC0gUE1UIDE5MTEgTWFyIDExCi0tMCBBIFdFJXNUIDE5NDAgRiAyNSAyCi0tMSBBIENFJXNUIDE5NDYgTyA3Ci0rMCBkIFdFJXNUIDE5NDAgRiAyNSAyCi0rMSBkIENFJXNUIDE5NDYgTyA3Ci0gMCAtIFdFVCAxOTU2IEphIDI5Ci0gMSAtIENFVCAxOTYzIEFwIDE0Ci0tMCBBIFdFJXNUIDE5NzcgTyAyMQotLTEgQSBDRSVzVCAxOTc5IE8gMjYKLS0wIEEgV0Ulc1QgMTk4MSBNYXkKLSswIGQgV0Ulc1QgMTk3NyBPIDIxCi0rMSBkIENFJXNUIDE5NzkgTyAyNgotKzAgZCBXRSVzVCAxOTgxIE1heQotIDEgLSBDRVQKLSBaIEF0bGFudGljL0NhcGVfVmVyZGUgLTE6MzQ6NCAtIExNVCAxOTEyIEphIDEgMnUKLSAtMiAtIC0wMiAxOTQyIFMKLUBAIC01Miw0NCArNTIsNDQgQEAgTGkgQWZyaWNhL0FiaWRqYW4gQWZyaWNhL0xvbWUKLSBMaSBBZnJpY2EvQWJpZGphbiBBZnJpY2EvTm91YWtjaG90dAotIExpIEFmcmljYS9BYmlkamFuIEFmcmljYS9PdWFnYWRvdWdvdQotIExpIEFmcmljYS9BYmlkamFuIEF0bGFudGljL1N0X0hlbGVuYQotLVIgQiAxOTQwIG8gLSBKdWwgMTUgMCAxIFMKLS1SIEIgMTk0MCBvIC0gTyAxIDAgMCAtCi0tUiBCIDE5NDEgbyAtIEFwIDE1IDAgMSBTCi0tUiBCIDE5NDEgbyAtIFMgMTYgMCAwIC0KLS1SIEIgMTk0MiAxOTQ0IC0gQXAgMSAwIDEgUwotLVIgQiAxOTQyIG8gLSBPIDI3IDAgMCAtCi0tUiBCIDE5NDMgMTk0NSAtIE4gMSAwIDAgLQotLVIgQiAxOTQ1IG8gLSBBcCAxNiAwIDEgUwotLVIgQiAxOTU3IG8gLSBNYXkgMTAgMCAxIFMKLS1SIEIgMTk1NyAxOTU4IC0gTyAxIDAgMCAtCi0tUiBCIDE5NTggbyAtIE1heSAxIDAgMSBTCi0tUiBCIDE5NTkgMTk4MSAtIE1heSAxIDEgMSBTCi0tUiBCIDE5NTkgMTk2NSAtIFMgMzAgMyAwIC0KLS1SIEIgMTk2NiAxOTk0IC0gTyAxIDMgMCAtCi0tUiBCIDE5ODIgbyAtIEp1bCAyNSAxIDEgUwotLVIgQiAxOTgzIG8gLSBKdWwgMTIgMSAxIFMKLS1SIEIgMTk4NCAxOTg4IC0gTWF5IDEgMSAxIFMKLS1SIEIgMTk4OSBvIC0gTWF5IDYgMSAxIFMKLS1SIEIgMTk5MCAxOTk0IC0gTWF5IDEgMSAxIFMKLS1SIEIgMTk5NSAyMDEwIC0gQXAgbGFzdEYgMHMgMSBTCi0tUiBCIDE5OTUgMjAwNSAtIFMgbGFzdFRoIDI0IDAgLQotLVIgQiAyMDA2IG8gLSBTIDIxIDI0IDAgLQotLVIgQiAyMDA3IG8gLSBTIFRoPj0xIDI0IDAgLQotLVIgQiAyMDA4IG8gLSBBdSBsYXN0VGggMjQgMCAtCi0tUiBCIDIwMDkgbyAtIEF1IDIwIDI0IDAgLQotLVIgQiAyMDEwIG8gLSBBdSAxMCAyNCAwIC0KLS1SIEIgMjAxMCBvIC0gUyA5IDI0IDEgUwotLVIgQiAyMDEwIG8gLSBTIGxhc3RUaCAyNCAwIC0KLS1SIEIgMjAxNCBvIC0gTWF5IDE1IDI0IDEgUwotLVIgQiAyMDE0IG8gLSBKdW4gMjYgMjQgMCAtCi0tUiBCIDIwMTQgbyAtIEp1bCAzMSAyNCAxIFMKLS1SIEIgMjAxNCBvIC0gUyBsYXN0VGggMjQgMCAtCi0rUiBLIDE5NDAgbyAtIEp1bCAxNSAwIDEgUwotK1IgSyAxOTQwIG8gLSBPIDEgMCAwIC0KLStSIEsgMTk0MSBvIC0gQXAgMTUgMCAxIFMKLStSIEsgMTk0MSBvIC0gUyAxNiAwIDAgLQotK1IgSyAxOTQyIDE5NDQgLSBBcCAxIDAgMSBTCi0rUiBLIDE5NDIgbyAtIE8gMjcgMCAwIC0KLStSIEsgMTk0MyAxOTQ1IC0gTiAxIDAgMCAtCi0rUiBLIDE5NDUgbyAtIEFwIDE2IDAgMSBTCi0rUiBLIDE5NTcgbyAtIE1heSAxMCAwIDEgUwotK1IgSyAxOTU3IDE5NTggLSBPIDEgMCAwIC0KLStSIEsgMTk1OCBvIC0gTWF5IDEgMCAxIFMKLStSIEsgMTk1OSAxOTgxIC0gTWF5IDEgMSAxIFMKLStSIEsgMTk1OSAxOTY1IC0gUyAzMCAzIDAgLQotK1IgSyAxOTY2IDE5OTQgLSBPIDEgMyAwIC0KLStSIEsgMTk4MiBvIC0gSnVsIDI1IDEgMSBTCi0rUiBLIDE5ODMgbyAtIEp1bCAxMiAxIDEgUwotK1IgSyAxOTg0IDE5ODggLSBNYXkgMSAxIDEgUwotK1IgSyAxOTg5IG8gLSBNYXkgNiAxIDEgUwotK1IgSyAxOTkwIDE5OTQgLSBNYXkgMSAxIDEgUwotK1IgSyAxOTk1IDIwMTAgLSBBcCBsYXN0RiAwcyAxIFMKLStSIEsgMTk5NSAyMDA1IC0gUyBsYXN0VGggMjQgMCAtCi0rUiBLIDIwMDYgbyAtIFMgMjEgMjQgMCAtCi0rUiBLIDIwMDcgbyAtIFMgVGg+PTEgMjQgMCAtCi0rUiBLIDIwMDggbyAtIEF1IGxhc3RUaCAyNCAwIC0KLStSIEsgMjAwOSBvIC0gQXUgMjAgMjQgMCAtCi0rUiBLIDIwMTAgbyAtIEF1IDEwIDI0IDAgLQotK1IgSyAyMDEwIG8gLSBTIDkgMjQgMSBTCi0rUiBLIDIwMTAgbyAtIFMgbGFzdFRoIDI0IDAgLQotK1IgSyAyMDE0IG8gLSBNYXkgMTUgMjQgMSBTCi0rUiBLIDIwMTQgbyAtIEp1biAyNiAyNCAwIC0KLStSIEsgMjAxNCBvIC0gSnVsIDMxIDI0IDEgUwotK1IgSyAyMDE0IG8gLSBTIGxhc3RUaCAyNCAwIC0KLSBaIEFmcmljYS9DYWlybyAyOjU6OSAtIExNVCAxOTAwIE8KLS0yIEIgRUUlc1QKLS1SIEMgMTkyMCAxOTQyIC0gUyAxIDAgMDoyMCAtCi0tUiBDIDE5MjAgMTk0MiAtIEQgMzEgMCAwIC0KLSsyIEsgRUUlc1QKLStSIEdIIDE5MjAgMTk0MiAtIFMgMSAwIDA6MjAgLQotK1IgR0ggMTkyMCAxOTQyIC0gRCAzMSAwIDAgLQotIFogQWZyaWNhL0FjY3JhIC0wOjA6NTIgLSBMTVQgMTkxOAotLTAgQyBHTVQvKzAwMjAKLSswIEdIIEdNVC8rMDAyMAotIFogQWZyaWNhL0Jpc3NhdSAtMToyOjIwIC0gTE1UIDE5MTIgSmEgMSAxdQotIC0xIC0gLTAxIDE5NzUKLSAwIC0gR01UCi1AQCAtMTExLDk5ICsxMTEsOTkgQEAgWiBBZnJpY2EvTW9ucm92aWEgLTA6NDM6OCAtIExNVCAxODgyCi0gLTA6NDM6OCAtIE1NVCAxOTE5IE1hcgotIC0wOjQ0OjMwIC0gTU1UIDE5NzIgSmEgNwotIDAgLSBHTVQKLS1SIEQgMTk1MSBvIC0gTyAxNCAyIDEgUwotLVIgRCAxOTUyIG8gLSBKYSAxIDAgMCAtCi0tUiBEIDE5NTMgbyAtIE8gOSAyIDEgUwotLVIgRCAxOTU0IG8gLSBKYSAxIDAgMCAtCi0tUiBEIDE5NTUgbyAtIFMgMzAgMCAxIFMKLS1SIEQgMTk1NiBvIC0gSmEgMSAwIDAgLQotLVIgRCAxOTgyIDE5ODQgLSBBcCAxIDAgMSBTCi0tUiBEIDE5ODIgMTk4NSAtIE8gMSAwIDAgLQotLVIgRCAxOTg1IG8gLSBBcCA2IDAgMSBTCi0tUiBEIDE5ODYgbyAtIEFwIDQgMCAxIFMKLS1SIEQgMTk4NiBvIC0gTyAzIDAgMCAtCi0tUiBEIDE5ODcgMTk4OSAtIEFwIDEgMCAxIFMKLS1SIEQgMTk4NyAxOTg5IC0gTyAxIDAgMCAtCi0tUiBEIDE5OTcgbyAtIEFwIDQgMCAxIFMKLS1SIEQgMTk5NyBvIC0gTyA0IDAgMCAtCi0tUiBEIDIwMTMgbyAtIE1hciBsYXN0RiAxIDEgUwotLVIgRCAyMDEzIG8gLSBPIGxhc3RGIDIgMCAtCi0rUiBMIDE5NTEgbyAtIE8gMTQgMiAxIFMKLStSIEwgMTk1MiBvIC0gSmEgMSAwIDAgLQotK1IgTCAxOTUzIG8gLSBPIDkgMiAxIFMKLStSIEwgMTk1NCBvIC0gSmEgMSAwIDAgLQotK1IgTCAxOTU1IG8gLSBTIDMwIDAgMSBTCi0rUiBMIDE5NTYgbyAtIEphIDEgMCAwIC0KLStSIEwgMTk4MiAxOTg0IC0gQXAgMSAwIDEgUwotK1IgTCAxOTgyIDE5ODUgLSBPIDEgMCAwIC0KLStSIEwgMTk4NSBvIC0gQXAgNiAwIDEgUwotK1IgTCAxOTg2IG8gLSBBcCA0IDAgMSBTCi0rUiBMIDE5ODYgbyAtIE8gMyAwIDAgLQotK1IgTCAxOTg3IDE5ODkgLSBBcCAxIDAgMSBTCi0rUiBMIDE5ODcgMTk4OSAtIE8gMSAwIDAgLQotK1IgTCAxOTk3IG8gLSBBcCA0IDAgMSBTCi0rUiBMIDE5OTcgbyAtIE8gNCAwIDAgLQotK1IgTCAyMDEzIG8gLSBNYXIgbGFzdEYgMSAxIFMKLStSIEwgMjAxMyBvIC0gTyBsYXN0RiAyIDAgLQotIFogQWZyaWNhL1RyaXBvbGkgMDo1Mjo0NCAtIExNVCAxOTIwCi0tMSBEIENFJXNUIDE5NTkKLSsxIEwgQ0Ulc1QgMTk1OQotIDIgLSBFRVQgMTk4MgotLTEgRCBDRSVzVCAxOTkwIE1heSA0Ci0rMSBMIENFJXNUIDE5OTAgTWF5IDQKLSAyIC0gRUVUIDE5OTYgUyAzMAotLTEgRCBDRSVzVCAxOTk3IE8gNAotKzEgTCBDRSVzVCAxOTk3IE8gNAotIDIgLSBFRVQgMjAxMiBOIDEwIDIKLS0xIEQgQ0Ulc1QgMjAxMyBPIDI1IDIKLSsxIEwgQ0Ulc1QgMjAxMyBPIDI1IDIKLSAyIC0gRUVUCi0tUiBFIDE5ODIgbyAtIE8gMTAgMCAxIC0KLS1SIEUgMTk4MyBvIC0gTWFyIDIxIDAgMCAtCi0tUiBFIDIwMDggbyAtIE8gbGFzdFN1biAyIDEgLQotLVIgRSAyMDA5IG8gLSBNYXIgbGFzdFN1biAyIDAgLQotK1IgTVUgMTk4MiBvIC0gTyAxMCAwIDEgLQotK1IgTVUgMTk4MyBvIC0gTWFyIDIxIDAgMCAtCi0rUiBNVSAyMDA4IG8gLSBPIGxhc3RTdW4gMiAxIC0KLStSIE1VIDIwMDkgbyAtIE1hciBsYXN0U3VuIDIgMCAtCi0gWiBJbmRpYW4vTWF1cml0aXVzIDM6NTAgLSBMTVQgMTkwNwotLTQgRSArMDQvKzA1Ci0tUiBGIDE5MzkgbyAtIFMgMTIgMCAxIFMKLS1SIEYgMTkzOSBvIC0gTiAxOSAwIDAgLQotLVIgRiAxOTQwIG8gLSBGIDI1IDAgMSBTCi0tUiBGIDE5NDUgbyAtIE4gMTggMCAwIC0KLS1SIEYgMTk1MCBvIC0gSnVuIDExIDAgMSBTCi0tUiBGIDE5NTAgbyAtIE8gMjkgMCAwIC0KLS1SIEYgMTk2NyBvIC0gSnVuIDMgMTIgMSBTCi0tUiBGIDE5NjcgbyAtIE8gMSAwIDAgLQotLVIgRiAxOTc0IG8gLSBKdW4gMjQgMCAxIFMKLS1SIEYgMTk3NCBvIC0gUyAxIDAgMCAtCi0tUiBGIDE5NzYgMTk3NyAtIE1heSAxIDAgMSBTCi0tUiBGIDE5NzYgbyAtIEF1IDEgMCAwIC0KLS1SIEYgMTk3NyBvIC0gUyAyOCAwIDAgLQotLVIgRiAxOTc4IG8gLSBKdW4gMSAwIDEgUwotLVIgRiAxOTc4IG8gLSBBdSA0IDAgMCAtCi0tUiBGIDIwMDggbyAtIEp1biAxIDAgMSBTCi0tUiBGIDIwMDggbyAtIFMgMSAwIDAgLQotLVIgRiAyMDA5IG8gLSBKdW4gMSAwIDEgUwotLVIgRiAyMDA5IG8gLSBBdSAyMSAwIDAgLQotLVIgRiAyMDEwIG8gLSBNYXkgMiAwIDEgUwotLVIgRiAyMDEwIG8gLSBBdSA4IDAgMCAtCi0tUiBGIDIwMTEgbyAtIEFwIDMgMCAxIFMKLS1SIEYgMjAxMSBvIC0gSnVsIDMxIDAgMCAtCi0tUiBGIDIwMTIgMjAxMyAtIEFwIGxhc3RTdW4gMiAxIFMKLS1SIEYgMjAxMiBvIC0gSnVsIDIwIDMgMCAtCi0tUiBGIDIwMTIgbyAtIEF1IDIwIDIgMSBTCi0tUiBGIDIwMTIgbyAtIFMgMzAgMyAwIC0KLS1SIEYgMjAxMyBvIC0gSnVsIDcgMyAwIC0KLS1SIEYgMjAxMyBvIC0gQXUgMTAgMiAxIFMKLS1SIEYgMjAxMyBtYSAtIE8gbGFzdFN1biAzIDAgLQotLVIgRiAyMDE0IDIwMjEgLSBNYXIgbGFzdFN1biAyIDEgUwotLVIgRiAyMDE0IG8gLSBKdW4gMjggMyAwIC0KLS1SIEYgMjAxNCBvIC0gQXUgMiAyIDEgUwotLVIgRiAyMDE1IG8gLSBKdW4gMTQgMyAwIC0KLS1SIEYgMjAxNSBvIC0gSnVsIDE5IDIgMSBTCi0tUiBGIDIwMTYgbyAtIEp1biA1IDMgMCAtCi0tUiBGIDIwMTYgbyAtIEp1bCAxMCAyIDEgUwotLVIgRiAyMDE3IG8gLSBNYXkgMjEgMyAwIC0KLS1SIEYgMjAxNyBvIC0gSnVsIDIgMiAxIFMKLS1SIEYgMjAxOCBvIC0gTWF5IDEzIDMgMCAtCi0tUiBGIDIwMTggbyAtIEp1biAxNyAyIDEgUwotLVIgRiAyMDE5IG8gLSBNYXkgNSAzIDAgLQotLVIgRiAyMDE5IG8gLSBKdW4gOSAyIDEgUwotLVIgRiAyMDIwIG8gLSBBcCAxOSAzIDAgLQotLVIgRiAyMDIwIG8gLSBNYXkgMjQgMiAxIFMKLS1SIEYgMjAyMSBvIC0gQXAgMTEgMyAwIC0KLS1SIEYgMjAyMSBvIC0gTWF5IDE2IDIgMSBTCi0tUiBGIDIwMjIgbyAtIE1heSA4IDIgMSBTCi0tUiBGIDIwMjMgbyAtIEFwIDIzIDIgMSBTCi0tUiBGIDIwMjQgbyAtIEFwIDE0IDIgMSBTCi0tUiBGIDIwMjUgbyAtIEFwIDYgMiAxIFMKLS1SIEYgMjAyNiBtYSAtIE1hciBsYXN0U3VuIDIgMSBTCi0tUiBGIDIwMzYgbyAtIE8gMTkgMyAwIC0KLS1SIEYgMjAzNyBvIC0gTyA0IDMgMCAtCi0rNCBNVSArMDQvKzA1Ci0rUiBNIDE5MzkgbyAtIFMgMTIgMCAxIFMKLStSIE0gMTkzOSBvIC0gTiAxOSAwIDAgLQotK1IgTSAxOTQwIG8gLSBGIDI1IDAgMSBTCi0rUiBNIDE5NDUgbyAtIE4gMTggMCAwIC0KLStSIE0gMTk1MCBvIC0gSnVuIDExIDAgMSBTCi0rUiBNIDE5NTAgbyAtIE8gMjkgMCAwIC0KLStSIE0gMTk2NyBvIC0gSnVuIDMgMTIgMSBTCi0rUiBNIDE5NjcgbyAtIE8gMSAwIDAgLQotK1IgTSAxOTc0IG8gLSBKdW4gMjQgMCAxIFMKLStSIE0gMTk3NCBvIC0gUyAxIDAgMCAtCi0rUiBNIDE5NzYgMTk3NyAtIE1heSAxIDAgMSBTCi0rUiBNIDE5NzYgbyAtIEF1IDEgMCAwIC0KLStSIE0gMTk3NyBvIC0gUyAyOCAwIDAgLQotK1IgTSAxOTc4IG8gLSBKdW4gMSAwIDEgUwotK1IgTSAxOTc4IG8gLSBBdSA0IDAgMCAtCi0rUiBNIDIwMDggbyAtIEp1biAxIDAgMSBTCi0rUiBNIDIwMDggbyAtIFMgMSAwIDAgLQotK1IgTSAyMDA5IG8gLSBKdW4gMSAwIDEgUwotK1IgTSAyMDA5IG8gLSBBdSAyMSAwIDAgLQotK1IgTSAyMDEwIG8gLSBNYXkgMiAwIDEgUwotK1IgTSAyMDEwIG8gLSBBdSA4IDAgMCAtCi0rUiBNIDIwMTEgbyAtIEFwIDMgMCAxIFMKLStSIE0gMjAxMSBvIC0gSnVsIDMxIDAgMCAtCi0rUiBNIDIwMTIgMjAxMyAtIEFwIGxhc3RTdW4gMiAxIFMKLStSIE0gMjAxMiBvIC0gSnVsIDIwIDMgMCAtCi0rUiBNIDIwMTIgbyAtIEF1IDIwIDIgMSBTCi0rUiBNIDIwMTIgbyAtIFMgMzAgMyAwIC0KLStSIE0gMjAxMyBvIC0gSnVsIDcgMyAwIC0KLStSIE0gMjAxMyBvIC0gQXUgMTAgMiAxIFMKLStSIE0gMjAxMyBtYSAtIE8gbGFzdFN1biAzIDAgLQotK1IgTSAyMDE0IDIwMjEgLSBNYXIgbGFzdFN1biAyIDEgUwotK1IgTSAyMDE0IG8gLSBKdW4gMjggMyAwIC0KLStSIE0gMjAxNCBvIC0gQXUgMiAyIDEgUwotK1IgTSAyMDE1IG8gLSBKdW4gMTQgMyAwIC0KLStSIE0gMjAxNSBvIC0gSnVsIDE5IDIgMSBTCi0rUiBNIDIwMTYgbyAtIEp1biA1IDMgMCAtCi0rUiBNIDIwMTYgbyAtIEp1bCAxMCAyIDEgUwotK1IgTSAyMDE3IG8gLSBNYXkgMjEgMyAwIC0KLStSIE0gMjAxNyBvIC0gSnVsIDIgMiAxIFMKLStSIE0gMjAxOCBvIC0gTWF5IDEzIDMgMCAtCi0rUiBNIDIwMTggbyAtIEp1biAxNyAyIDEgUwotK1IgTSAyMDE5IG8gLSBNYXkgNSAzIDAgLQotK1IgTSAyMDE5IG8gLSBKdW4gOSAyIDEgUwotK1IgTSAyMDIwIG8gLSBBcCAxOSAzIDAgLQotK1IgTSAyMDIwIG8gLSBNYXkgMjQgMiAxIFMKLStSIE0gMjAyMSBvIC0gQXAgMTEgMyAwIC0KLStSIE0gMjAyMSBvIC0gTWF5IDE2IDIgMSBTCi0rUiBNIDIwMjIgbyAtIE1heSA4IDIgMSBTCi0rUiBNIDIwMjMgbyAtIEFwIDIzIDIgMSBTCi0rUiBNIDIwMjQgbyAtIEFwIDE0IDIgMSBTCi0rUiBNIDIwMjUgbyAtIEFwIDYgMiAxIFMKLStSIE0gMjAyNiBtYSAtIE1hciBsYXN0U3VuIDIgMSBTCi0rUiBNIDIwMzYgbyAtIE8gMTkgMyAwIC0KLStSIE0gMjAzNyBvIC0gTyA0IDMgMCAtCi0gWiBBZnJpY2EvQ2FzYWJsYW5jYSAtMDozMDoyMCAtIExNVCAxOTEzIE8gMjYKLS0wIEYgV0Ulc1QgMTk4NCBNYXIgMTYKLSswIE0gV0Ulc1QgMTk4NCBNYXIgMTYKLSAxIC0gQ0VUIDE5ODYKLS0wIEYgV0Ulc1QKLSswIE0gV0Ulc1QKLSBaIEFmcmljYS9FbF9BYWl1biAtMDo1Mjo0OCAtIExNVCAxOTM0Ci0gLTEgLSAtMDEgMTk3NiBBcCAxNAotLTAgRiBXRSVzVAotKzAgTSBXRSVzVAotIFogQWZyaWNhL01hcHV0byAyOjEwOjIwIC0gTE1UIDE5MDMgTWFyCi0gMiAtIENBVAotIExpIEFmcmljYS9NYXB1dG8gQWZyaWNhL0JsYW50eXJlCi1AQCAtMjEzLDE1ICsyMTMsMTUgQEAgTGkgQWZyaWNhL01hcHV0byBBZnJpY2EvSGFyYXJlCi0gTGkgQWZyaWNhL01hcHV0byBBZnJpY2EvS2lnYWxpCi0gTGkgQWZyaWNhL01hcHV0byBBZnJpY2EvTHVidW1iYXNoaQotIExpIEFmcmljYS9NYXB1dG8gQWZyaWNhL0x1c2FrYQotLVIgRyAxOTk0IG8gLSBNYXIgMjEgMCAtMSBXQVQKLS1SIEcgMTk5NCAyMDE3IC0gUyBTdW4+PTEgMiAwIENBVAotLVIgRyAxOTk1IDIwMTcgLSBBcCBTdW4+PTEgMiAtMSBXQVQKLStSIE5BIDE5OTQgbyAtIE1hciAyMSAwIC0xIFdBVAotK1IgTkEgMTk5NCAyMDE3IC0gUyBTdW4+PTEgMiAwIENBVAotK1IgTkEgMTk5NSAyMDE3IC0gQXAgU3VuPj0xIDIgLTEgV0FUCi0gWiBBZnJpY2EvV2luZGhvZWsgMTo4OjI0IC0gTE1UIDE4OTIgRiA4Ci0gMTozMCAtICswMTMwIDE5MDMgTWFyCi0gMiAtIFNBU1QgMTk0MiBTIDIwIDIKLSAyIDEgU0FTVCAxOTQzIE1hciAyMSAyCi0gMiAtIFNBU1QgMTk5MCBNYXIgMjEKLS0yIEcgJXMKLSsyIE5BICVzCi0gWiBBZnJpY2EvTGFnb3MgMDoxMzozNiAtIExNVCAxOTE5IFMKLSAxIC0gV0FUCi0gTGkgQWZyaWNhL0xhZ29zIEFmcmljYS9CYW5ndWkKLUBAIC0yNDEsNTIgKzI0MSw1MiBAQCBaIEFmcmljYS9TYW9fVG9tZSAwOjI2OjU2IC0gTE1UIDE4ODQKLSAxIC0gV0FUCi0gWiBJbmRpYW4vTWFoZSAzOjQxOjQ4IC0gTE1UIDE5MDYgSnVuCi0gNCAtICswNAotLVIgSCAxOTQyIDE5NDMgLSBTIFN1bj49MTUgMiAxIC0KLS1SIEggMTk0MyAxOTQ0IC0gTWFyIFN1bj49MTUgMiAwIC0KLStSIFNBIDE5NDIgMTk0MyAtIFMgU3VuPj0xNSAyIDEgLQotK1IgU0EgMTk0MyAxOTQ0IC0gTWFyIFN1bj49MTUgMiAwIC0KLSBaIEFmcmljYS9Kb2hhbm5lc2J1cmcgMTo1MiAtIExNVCAxODkyIEYgOAotIDE6MzAgLSBTQVNUIDE5MDMgTWFyCi0tMiBIIFNBU1QKLSsyIFNBIFNBU1QKLSBMaSBBZnJpY2EvSm9oYW5uZXNidXJnIEFmcmljYS9NYXNlcnUKLSBMaSBBZnJpY2EvSm9oYW5uZXNidXJnIEFmcmljYS9NYmFiYW5lCi0tUiBJIDE5NzAgbyAtIE1heSAxIDAgMSBTCi0tUiBJIDE5NzAgMTk4NSAtIE8gMTUgMCAwIC0KLS1SIEkgMTk3MSBvIC0gQXAgMzAgMCAxIFMKLS1SIEkgMTk3MiAxOTg1IC0gQXAgbGFzdFN1biAwIDEgUwotK1IgU0QgMTk3MCBvIC0gTWF5IDEgMCAxIFMKLStSIFNEIDE5NzAgMTk4NSAtIE8gMTUgMCAwIC0KLStSIFNEIDE5NzEgbyAtIEFwIDMwIDAgMSBTCi0rUiBTRCAxOTcyIDE5ODUgLSBBcCBsYXN0U3VuIDAgMSBTCi0gWiBBZnJpY2EvS2hhcnRvdW0gMjoxMDo4IC0gTE1UIDE5MzEKLS0yIEkgQ0Elc1QgMjAwMCBKYSAxNSAxMgotKzIgU0QgQ0Elc1QgMjAwMCBKYSAxNSAxMgotIDMgLSBFQVQgMjAxNyBOCi0gMiAtIENBVAotIFogQWZyaWNhL0p1YmEgMjo2OjI4IC0gTE1UIDE5MzEKLS0yIEkgQ0Elc1QgMjAwMCBKYSAxNSAxMgotKzIgU0QgQ0Elc1QgMjAwMCBKYSAxNSAxMgotIDMgLSBFQVQKLS1SIEogMTkzOSBvIC0gQXAgMTUgMjNzIDEgUwotLVIgSiAxOTM5IG8gLSBOIDE4IDIzcyAwIC0KLS1SIEogMTk0MCBvIC0gRiAyNSAyM3MgMSBTCi0tUiBKIDE5NDEgbyAtIE8gNiAwIDAgLQotLVIgSiAxOTQyIG8gLSBNYXIgOSAwIDEgUwotLVIgSiAxOTQyIG8gLSBOIDIgMyAwIC0KLS1SIEogMTk0MyBvIC0gTWFyIDI5IDIgMSBTCi0tUiBKIDE5NDMgbyAtIEFwIDE3IDIgMCAtCi0tUiBKIDE5NDMgbyAtIEFwIDI1IDIgMSBTCi0tUiBKIDE5NDMgbyAtIE8gNCAyIDAgLQotLVIgSiAxOTQ0IDE5NDUgLSBBcCBNPj0xIDIgMSBTCi0tUiBKIDE5NDQgbyAtIE8gOCAwIDAgLQotLVIgSiAxOTQ1IG8gLSBTIDE2IDAgMCAtCi0tUiBKIDE5NzcgbyAtIEFwIDMwIDBzIDEgUwotLVIgSiAxOTc3IG8gLSBTIDI0IDBzIDAgLQotLVIgSiAxOTc4IG8gLSBNYXkgMSAwcyAxIFMKLS1SIEogMTk3OCBvIC0gTyAxIDBzIDAgLQotLVIgSiAxOTg4IG8gLSBKdW4gMSAwcyAxIFMKLS1SIEogMTk4OCAxOTkwIC0gUyBsYXN0U3VuIDBzIDAgLQotLVIgSiAxOTg5IG8gLSBNYXIgMjYgMHMgMSBTCi0tUiBKIDE5OTAgbyAtIE1heSAxIDBzIDEgUwotLVIgSiAyMDA1IG8gLSBNYXkgMSAwcyAxIFMKLS1SIEogMjAwNSBvIC0gUyAzMCAxcyAwIC0KLS1SIEogMjAwNiAyMDA4IC0gTWFyIGxhc3RTdW4gMnMgMSBTCi0tUiBKIDIwMDYgMjAwOCAtIE8gbGFzdFN1biAycyAwIC0KLStSIG4gMTkzOSBvIC0gQXAgMTUgMjNzIDEgUwotK1IgbiAxOTM5IG8gLSBOIDE4IDIzcyAwIC0KLStSIG4gMTk0MCBvIC0gRiAyNSAyM3MgMSBTCi0rUiBuIDE5NDEgbyAtIE8gNiAwIDAgLQotK1IgbiAxOTQyIG8gLSBNYXIgOSAwIDEgUwotK1IgbiAxOTQyIG8gLSBOIDIgMyAwIC0KLStSIG4gMTk0MyBvIC0gTWFyIDI5IDIgMSBTCi0rUiBuIDE5NDMgbyAtIEFwIDE3IDIgMCAtCi0rUiBuIDE5NDMgbyAtIEFwIDI1IDIgMSBTCi0rUiBuIDE5NDMgbyAtIE8gNCAyIDAgLQotK1IgbiAxOTQ0IDE5NDUgLSBBcCBNPj0xIDIgMSBTCi0rUiBuIDE5NDQgbyAtIE8gOCAwIDAgLQotK1IgbiAxOTQ1IG8gLSBTIDE2IDAgMCAtCi0rUiBuIDE5NzcgbyAtIEFwIDMwIDBzIDEgUwotK1IgbiAxOTc3IG8gLSBTIDI0IDBzIDAgLQotK1IgbiAxOTc4IG8gLSBNYXkgMSAwcyAxIFMKLStSIG4gMTk3OCBvIC0gTyAxIDBzIDAgLQotK1IgbiAxOTg4IG8gLSBKdW4gMSAwcyAxIFMKLStSIG4gMTk4OCAxOTkwIC0gUyBsYXN0U3VuIDBzIDAgLQotK1IgbiAxOTg5IG8gLSBNYXIgMjYgMHMgMSBTCi0rUiBuIDE5OTAgbyAtIE1heSAxIDBzIDEgUwotK1IgbiAyMDA1IG8gLSBNYXkgMSAwcyAxIFMKLStSIG4gMjAwNSBvIC0gUyAzMCAxcyAwIC0KLStSIG4gMjAwNiAyMDA4IC0gTWFyIGxhc3RTdW4gMnMgMSBTCi0rUiBuIDIwMDYgMjAwOCAtIE8gbGFzdFN1biAycyAwIC0KLSBaIEFmcmljYS9UdW5pcyAwOjQwOjQ0IC0gTE1UIDE4ODEgTWF5IDEyCi0gMDo5OjIxIC0gUE1UIDE5MTEgTWFyIDExCi0tMSBKIENFJXNUCi0rMSBuIENFJXNUCi0gWiBBbnRhcmN0aWNhL0Nhc2V5IDAgLSAtMDAgMTk2OQotIDggLSArMDggMjAwOSBPIDE4IDIKLSAxMSAtICsxMSAyMDEwIE1hciA1IDIKLUBAIC0zMTQsMTAgKzMxNCwxMCBAQCBaIEFudGFyY3RpY2EvRHVtb250RFVydmlsbGUgMCAtIC0wMCAxOTQ3Ci0gMTAgLSArMTAKLSBaIEFudGFyY3RpY2EvU3lvd2EgMCAtIC0wMCAxOTU3IEphIDI5Ci0gMyAtICswMwotLVIgSyAyMDA1IG1hIC0gTWFyIGxhc3RTdW4gMXUgMiArMDIKLS1SIEsgMjAwNCBtYSAtIE8gbGFzdFN1biAxdSAwICswMAotK1IgVHIgMjAwNSBtYSAtIE1hciBsYXN0U3VuIDF1IDIgKzAyCi0rUiBUciAyMDA0IG1hIC0gTyBsYXN0U3VuIDF1IDAgKzAwCi0gWiBBbnRhcmN0aWNhL1Ryb2xsIDAgLSAtMDAgMjAwNSBGIDEyCi0tMCBLICVzCi0rMCBUciAlcwotIFogQW50YXJjdGljYS9Wb3N0b2sgMCAtIC0wMCAxOTU3IEQgMTYKLSA2IC0gKzA2Ci0gWiBBbnRhcmN0aWNhL1JvdGhlcmEgMCAtIC0wMCAxOTc2IEQKLUBAIC0zMjUsMzMgKzMyNSwzMyBAQCBaIEFudGFyY3RpY2EvUm90aGVyYSAwIC0gLTAwIDE5NzYgRAotIFogQXNpYS9LYWJ1bCA0OjM2OjQ4IC0gTE1UIDE4OTAKLSA0IC0gKzA0IDE5NDUKLSA0OjMwIC0gKzA0MzAKLS1SIEwgMjAxMSBvIC0gTWFyIGxhc3RTdW4gMnMgMSAtCi0tUiBMIDIwMTEgbyAtIE8gbGFzdFN1biAycyAwIC0KLStSIEFNIDIwMTEgbyAtIE1hciBsYXN0U3VuIDJzIDEgLQotK1IgQU0gMjAxMSBvIC0gTyBsYXN0U3VuIDJzIDAgLQotIFogQXNpYS9ZZXJldmFuIDI6NTggLSBMTVQgMTkyNCBNYXkgMgotIDMgLSArMDMgMTk1NyBNYXIKLS00IE0gKzA0LyswNSAxOTkxIE1hciAzMSAycwotLTMgTSArMDMvKzA0IDE5OTUgUyAyNCAycwotKzQgUiArMDQvKzA1IDE5OTEgTWFyIDMxIDJzCi0rMyBSICswMy8rMDQgMTk5NSBTIDI0IDJzCi0gNCAtICswNCAxOTk3Ci0tNCBNICswNC8rMDUgMjAxMQotLTQgTCArMDQvKzA1Ci0tUiBOIDE5OTcgMjAxNSAtIE1hciBsYXN0U3VuIDQgMSAtCi0tUiBOIDE5OTcgMjAxNSAtIE8gbGFzdFN1biA1IDAgLQotKzQgUiArMDQvKzA1IDIwMTEKLSs0IEFNICswNC8rMDUKLStSIEFaIDE5OTcgMjAxNSAtIE1hciBsYXN0U3VuIDQgMSAtCi0rUiBBWiAxOTk3IDIwMTUgLSBPIGxhc3RTdW4gNSAwIC0KLSBaIEFzaWEvQmFrdSAzOjE5OjI0IC0gTE1UIDE5MjQgTWF5IDIKLSAzIC0gKzAzIDE5NTcgTWFyCi0tNCBNICswNC8rMDUgMTk5MSBNYXIgMzEgMnMKLS0zIE0gKzAzLyswNCAxOTkyIFMgbGFzdFN1biAycwotKzQgUiArMDQvKzA1IDE5OTEgTWFyIDMxIDJzCi0rMyBSICswMy8rMDQgMTk5MiBTIGxhc3RTdW4gMnMKLSA0IC0gKzA0IDE5OTYKLS00IE8gKzA0LyswNSAxOTk3Ci0tNCBOICswNC8rMDUKLS1SIFAgMjAwOSBvIC0gSnVuIDE5IDIzIDEgLQotLVIgUCAyMDA5IG8gLSBEIDMxIDI0IDAgLQotKzQgRSArMDQvKzA1IDE5OTcKLSs0IEFaICswNC8rMDUKLStSIEJEIDIwMDkgbyAtIEp1biAxOSAyMyAxIC0KLStSIEJEIDIwMDkgbyAtIEQgMzEgMjQgMCAtCi0gWiBBc2lhL0RoYWthIDY6MTo0MCAtIExNVCAxODkwCi0gNTo1MzoyMCAtIEhNVCAxOTQxIE8KLSA2OjMwIC0gKzA2MzAgMTk0MiBNYXkgMTUKLSA1OjMwIC0gKzA1MzAgMTk0MiBTCi0gNjozMCAtICswNjMwIDE5NTEgUyAzMAotIDYgLSArMDYgMjAwOQotLTYgUCArMDYvKzA3Ci0rNiBCRCArMDYvKzA3Ci0gWiBBc2lhL1RoaW1waHUgNTo1ODozNiAtIExNVCAxOTQ3IEF1IDE1Ci0gNTozMCAtICswNTMwIDE5ODcgTwotIDYgLSArMDYKLUBAIC0zNjYsMTAzICszNjYsMTI3IEBAIFogQXNpYS9ZYW5nb24gNjoyNDo0NyAtIExNVCAxODgwCi0gNjozMCAtICswNjMwIDE5NDIgTWF5Ci0gOSAtICswOSAxOTQ1IE1heSAzCi0gNjozMCAtICswNjMwCi0tUiBRIDE5NDAgbyAtIEp1biAzIDAgMSBECi0tUiBRIDE5NDAgMTk0MSAtIE8gMSAwIDAgUwotLVIgUSAxOTQxIG8gLSBNYXIgMTYgMCAxIEQKLS1SIFIgMTk4NiBvIC0gTWF5IDQgMCAxIEQKLS1SIFIgMTk4NiAxOTkxIC0gUyBTdW4+PTExIDAgMCBTCi0tUiBSIDE5ODcgMTk5MSAtIEFwIFN1bj49MTAgMCAxIEQKLStSIFNoIDE5NDAgbyAtIEp1biAxIDAgMSBECi0rUiBTaCAxOTQwIG8gLSBPIDEyIDI0IDAgUwotK1IgU2ggMTk0MSBvIC0gTWFyIDE1IDAgMSBECi0rUiBTaCAxOTQxIG8gLSBOIDEgMjQgMCBTCi0rUiBTaCAxOTQyIG8gLSBKYSAzMSAwIDEgRAotK1IgU2ggMTk0NSBvIC0gUyAxIDI0IDAgUwotK1IgU2ggMTk0NiBvIC0gTWF5IDE1IDAgMSBECi0rUiBTaCAxOTQ2IG8gLSBTIDMwIDI0IDAgUwotK1IgU2ggMTk0NyBvIC0gQXAgMTUgMCAxIEQKLStSIFNoIDE5NDcgbyAtIE8gMzEgMjQgMCBTCi0rUiBTaCAxOTQ4IDE5NDkgLSBNYXkgMSAwIDEgRAotK1IgU2ggMTk0OCAxOTQ5IC0gUyAzMCAyNCAwIFMKLStSIENOIDE5ODYgbyAtIE1heSA0IDIgMSBECi0rUiBDTiAxOTg2IDE5OTEgLSBTIFN1bj49MTEgMiAwIFMKLStSIENOIDE5ODcgMTk5MSAtIEFwIFN1bj49MTEgMiAxIEQKLSBaIEFzaWEvU2hhbmdoYWkgODo1OjQzIC0gTE1UIDE5MDEKLS04IFEgQyVzVCAxOTQ5Ci0tOCBSIEMlc1QKLSs4IFNoIEMlc1QgMTk0OSBNYXkgMjgKLSs4IENOIEMlc1QKLSBaIEFzaWEvVXJ1bXFpIDU6NTA6MjAgLSBMTVQgMTkyOAotIDYgLSArMDYKLS1SIFMgMTk0MSBvIC0gQXAgMSAzOjMwIDEgUwotLVIgUyAxOTQxIG8gLSBTIDMwIDM6MzAgMCAtCi0tUiBTIDE5NDYgbyAtIEFwIDIwIDM6MzAgMSBTCi0tUiBTIDE5NDYgbyAtIEQgMSAzOjMwIDAgLQotLVIgUyAxOTQ3IG8gLSBBcCAxMyAzOjMwIDEgUwotLVIgUyAxOTQ3IG8gLSBEIDMwIDM6MzAgMCAtCi0tUiBTIDE5NDggbyAtIE1heSAyIDM6MzAgMSBTCi0tUiBTIDE5NDggMTk1MSAtIE8gbGFzdFN1biAzOjMwIDAgLQotLVIgUyAxOTUyIG8gLSBPIDI1IDM6MzAgMCAtCi0tUiBTIDE5NDkgMTk1MyAtIEFwIFN1bj49MSAzOjMwIDEgUwotLVIgUyAxOTUzIG8gLSBOIDEgMzozMCAwIC0KLS1SIFMgMTk1NCAxOTY0IC0gTWFyIFN1bj49MTggMzozMCAxIFMKLS1SIFMgMTk1NCBvIC0gTyAzMSAzOjMwIDAgLQotLVIgUyAxOTU1IDE5NjQgLSBOIFN1bj49MSAzOjMwIDAgLQotLVIgUyAxOTY1IDE5NzYgLSBBcCBTdW4+PTE2IDM6MzAgMSBTCi0tUiBTIDE5NjUgMTk3NiAtIE8gU3VuPj0xNiAzOjMwIDAgLQotLVIgUyAxOTczIG8gLSBEIDMwIDM6MzAgMSBTCi0tUiBTIDE5NzkgbyAtIE1heSBTdW4+PTggMzozMCAxIFMKLS1SIFMgMTk3OSBvIC0gTyBTdW4+PTE2IDM6MzAgMCAtCi0rUiBISyAxOTQxIG8gLSBBcCAxIDM6MzAgMSBTCi0rUiBISyAxOTQxIG8gLSBTIDMwIDM6MzAgMCAtCi0rUiBISyAxOTQ2IG8gLSBBcCAyMCAzOjMwIDEgUwotK1IgSEsgMTk0NiBvIC0gRCAxIDM6MzAgMCAtCi0rUiBISyAxOTQ3IG8gLSBBcCAxMyAzOjMwIDEgUwotK1IgSEsgMTk0NyBvIC0gRCAzMCAzOjMwIDAgLQotK1IgSEsgMTk0OCBvIC0gTWF5IDIgMzozMCAxIFMKLStSIEhLIDE5NDggMTk1MSAtIE8gbGFzdFN1biAzOjMwIDAgLQotK1IgSEsgMTk1MiBvIC0gTyAyNSAzOjMwIDAgLQotK1IgSEsgMTk0OSAxOTUzIC0gQXAgU3VuPj0xIDM6MzAgMSBTCi0rUiBISyAxOTUzIG8gLSBOIDEgMzozMCAwIC0KLStSIEhLIDE5NTQgMTk2NCAtIE1hciBTdW4+PTE4IDM6MzAgMSBTCi0rUiBISyAxOTU0IG8gLSBPIDMxIDM6MzAgMCAtCi0rUiBISyAxOTU1IDE5NjQgLSBOIFN1bj49MSAzOjMwIDAgLQotK1IgSEsgMTk2NSAxOTc2IC0gQXAgU3VuPj0xNiAzOjMwIDEgUwotK1IgSEsgMTk2NSAxOTc2IC0gTyBTdW4+PTE2IDM6MzAgMCAtCi0rUiBISyAxOTczIG8gLSBEIDMwIDM6MzAgMSBTCi0rUiBISyAxOTc5IG8gLSBNYXkgU3VuPj04IDM6MzAgMSBTCi0rUiBISyAxOTc5IG8gLSBPIFN1bj49MTYgMzozMCAwIC0KLSBaIEFzaWEvSG9uZ19Lb25nIDc6MzY6NDIgLSBMTVQgMTkwNCBPIDMwCi0tOCBTIEhLJXNUIDE5NDEgRCAyNQotKzggSEsgSEslc1QgMTk0MSBEIDI1Ci0gOSAtIEpTVCAxOTQ1IFMgMTUKLS04IFMgSEslc1QKLS1SIFQgMTk0NiBvIC0gTWF5IDE1IDAgMSBECi0tUiBUIDE5NDYgbyAtIE8gMSAwIDAgUwotLVIgVCAxOTQ3IG8gLSBBcCAxNSAwIDEgRAotLVIgVCAxOTQ3IG8gLSBOIDEgMCAwIFMKLS1SIFQgMTk0OCAxOTUxIC0gTWF5IDEgMCAxIEQKLS1SIFQgMTk0OCAxOTUxIC0gTyAxIDAgMCBTCi0tUiBUIDE5NTIgbyAtIE1hciAxIDAgMSBECi0tUiBUIDE5NTIgMTk1NCAtIE4gMSAwIDAgUwotLVIgVCAxOTUzIDE5NTkgLSBBcCAxIDAgMSBECi0tUiBUIDE5NTUgMTk2MSAtIE8gMSAwIDAgUwotLVIgVCAxOTYwIDE5NjEgLSBKdW4gMSAwIDEgRAotLVIgVCAxOTc0IDE5NzUgLSBBcCAxIDAgMSBECi0tUiBUIDE5NzQgMTk3NSAtIE8gMSAwIDAgUwotLVIgVCAxOTc5IG8gLSBKdWwgMSAwIDEgRAotLVIgVCAxOTc5IG8gLSBPIDEgMCAwIFMKLSs4IEhLIEhLJXNUCi0rUiBmIDE5NDYgbyAtIE1heSAxNSAwIDEgRAotK1IgZiAxOTQ2IG8gLSBPIDEgMCAwIFMKLStSIGYgMTk0NyBvIC0gQXAgMTUgMCAxIEQKLStSIGYgMTk0NyBvIC0gTiAxIDAgMCBTCi0rUiBmIDE5NDggMTk1MSAtIE1heSAxIDAgMSBECi0rUiBmIDE5NDggMTk1MSAtIE8gMSAwIDAgUwotK1IgZiAxOTUyIG8gLSBNYXIgMSAwIDEgRAotK1IgZiAxOTUyIDE5NTQgLSBOIDEgMCAwIFMKLStSIGYgMTk1MyAxOTU5IC0gQXAgMSAwIDEgRAotK1IgZiAxOTU1IDE5NjEgLSBPIDEgMCAwIFMKLStSIGYgMTk2MCAxOTYxIC0gSnVuIDEgMCAxIEQKLStSIGYgMTk3NCAxOTc1IC0gQXAgMSAwIDEgRAotK1IgZiAxOTc0IDE5NzUgLSBPIDEgMCAwIFMKLStSIGYgMTk3OSBvIC0gSnVsIDEgMCAxIEQKLStSIGYgMTk3OSBvIC0gTyAxIDAgMCBTCi0gWiBBc2lhL1RhaXBlaSA4OjYgLSBMTVQgMTg5NgotIDggLSBDU1QgMTkzNyBPCi0gOSAtIEpTVCAxOTQ1IFMgMjEgMQotLTggVCBDJXNUCi0tUiBVIDE5NjEgMTk2MiAtIE1hciBTdW4+PTE2IDM6MzAgMSBECi0tUiBVIDE5NjEgMTk2NCAtIE4gU3VuPj0xIDM6MzAgMCBTCi0tUiBVIDE5NjMgbyAtIE1hciBTdW4+PTE2IDAgMSBECi0tUiBVIDE5NjQgbyAtIE1hciBTdW4+PTE2IDM6MzAgMSBECi0tUiBVIDE5NjUgbyAtIE1hciBTdW4+PTE2IDAgMSBECi0tUiBVIDE5NjUgbyAtIE8gMzEgMCAwIFMKLS1SIFUgMTk2NiAxOTcxIC0gQXAgU3VuPj0xNiAzOjMwIDEgRAotLVIgVSAxOTY2IDE5NzEgLSBPIFN1bj49MTYgMzozMCAwIFMKLS1SIFUgMTk3MiAxOTc0IC0gQXAgU3VuPj0xNSAwIDEgRAotLVIgVSAxOTcyIDE5NzMgLSBPIFN1bj49MTUgMCAwIFMKLS1SIFUgMTk3NCAxOTc3IC0gTyBTdW4+PTE1IDM6MzAgMCBTCi0tUiBVIDE5NzUgMTk3NyAtIEFwIFN1bj49MTUgMzozMCAxIEQKLS1SIFUgMTk3OCAxOTgwIC0gQXAgU3VuPj0xNSAwIDEgRAotLVIgVSAxOTc4IDE5ODAgLSBPIFN1bj49MTUgMCAwIFMKLS1aIEFzaWEvTWFjYXUgNzozNDoyMCAtIExNVCAxOTExIEQgMzEgMTZ1Ci0tOCBVIEMlc1QKLS1SIFYgMTk3NSBvIC0gQXAgMTMgMCAxIFMKLS1SIFYgMTk3NSBvIC0gTyAxMiAwIDAgLQotLVIgViAxOTc2IG8gLSBNYXkgMTUgMCAxIFMKLS1SIFYgMTk3NiBvIC0gTyAxMSAwIDAgLQotLVIgViAxOTc3IDE5ODAgLSBBcCBTdW4+PTEgMCAxIFMKLS1SIFYgMTk3NyBvIC0gUyAyNSAwIDAgLQotLVIgViAxOTc4IG8gLSBPIDIgMCAwIC0KLS1SIFYgMTk3OSAxOTk3IC0gUyBsYXN0U3VuIDAgMCAtCi0tUiBWIDE5ODEgMTk5OCAtIE1hciBsYXN0U3VuIDAgMSBTCi0rOCBmIEMlc1QKLStSIF8gMTk0MiAxOTQzIC0gQXAgMzAgMjMgMSAtCi0rUiBfIDE5NDIgbyAtIE4gMTcgMjMgMCAtCi0rUiBfIDE5NDMgbyAtIFMgMzAgMjMgMCBTCi0rUiBfIDE5NDYgbyAtIEFwIDMwIDIzcyAxIEQKLStSIF8gMTk0NiBvIC0gUyAzMCAyM3MgMCBTCi0rUiBfIDE5NDcgbyAtIEFwIDE5IDIzcyAxIEQKLStSIF8gMTk0NyBvIC0gTiAzMCAyM3MgMCBTCi0rUiBfIDE5NDggbyAtIE1heSAyIDIzcyAxIEQKLStSIF8gMTk0OCBvIC0gTyAzMSAyM3MgMCBTCi0rUiBfIDE5NDkgMTk1MCAtIEFwIFNhdD49MSAyM3MgMSBECi0rUiBfIDE5NDkgMTk1MCAtIE8gbGFzdFNhdCAyM3MgMCBTCi0rUiBfIDE5NTEgbyAtIE1hciAzMSAyM3MgMSBECi0rUiBfIDE5NTEgbyAtIE8gMjggMjNzIDAgUwotK1IgXyAxOTUyIDE5NTMgLSBBcCBTYXQ+PTEgMjNzIDEgRAotK1IgXyAxOTUyIG8gLSBOIDEgMjNzIDAgUwotK1IgXyAxOTUzIDE5NTQgLSBPIGxhc3RTYXQgMjNzIDAgUwotK1IgXyAxOTU0IDE5NTYgLSBNYXIgU2F0Pj0xNyAyM3MgMSBECi0rUiBfIDE5NTUgbyAtIE4gNSAyM3MgMCBTCi0rUiBfIDE5NTYgMTk2NCAtIE4gU3VuPj0xIDM6MzAgMCBTCi0rUiBfIDE5NTcgMTk2NCAtIE1hciBTdW4+PTE4IDM6MzAgMSBECi0rUiBfIDE5NjUgMTk3MyAtIEFwIFN1bj49MTYgMzozMCAxIEQKLStSIF8gMTk2NSAxOTY2IC0gTyBTdW4+PTE2IDI6MzAgMCBTCi0rUiBfIDE5NjcgMTk3NiAtIE8gU3VuPj0xNiAzOjMwIDAgUwotK1IgXyAxOTczIG8gLSBEIDMwIDM6MzAgMSBECi0rUiBfIDE5NzUgMTk3NiAtIEFwIFN1bj49MTYgMzozMCAxIEQKLStSIF8gMTk3OSBvIC0gTWF5IDEzIDM6MzAgMSBECi0rUiBfIDE5NzkgbyAtIE8gU3VuPj0xNiAzOjMwIDAgUwotK1ogQXNpYS9NYWNhdSA3OjM0OjEwIC0gTE1UIDE5MDQgTyAzMAotKzggLSBDU1QgMTk0MSBEIDIxIDIzCi0rOSBfICswOS8rMTAgMTk0NSBTIDMwIDI0Ci0rOCBfIEMlc1QKLStSIENZIDE5NzUgbyAtIEFwIDEzIDAgMSBTCi0rUiBDWSAxOTc1IG8gLSBPIDEyIDAgMCAtCi0rUiBDWSAxOTc2IG8gLSBNYXkgMTUgMCAxIFMKLStSIENZIDE5NzYgbyAtIE8gMTEgMCAwIC0KLStSIENZIDE5NzcgMTk4MCAtIEFwIFN1bj49MSAwIDEgUwotK1IgQ1kgMTk3NyBvIC0gUyAyNSAwIDAgLQotK1IgQ1kgMTk3OCBvIC0gTyAyIDAgMCAtCi0rUiBDWSAxOTc5IDE5OTcgLSBTIGxhc3RTdW4gMCAwIC0KLStSIENZIDE5ODEgMTk5OCAtIE1hciBsYXN0U3VuIDAgMSBTCi0gWiBBc2lhL05pY29zaWEgMjoxMzoyOCAtIExNVCAxOTIxIE4gMTQKLS0yIFYgRUUlc1QgMTk5OCBTCi0tMiBPIEVFJXNUCi0rMiBDWSBFRSVzVCAxOTk4IFMKLSsyIEUgRUUlc1QKLSBaIEFzaWEvRmFtYWd1c3RhIDI6MTU6NDggLSBMTVQgMTkyMSBOIDE0Ci0tMiBWIEVFJXNUIDE5OTggUwotLTIgTyBFRSVzVCAyMDE2IFMgOAotKzIgQ1kgRUUlc1QgMTk5OCBTCi0rMiBFIEVFJXNUIDIwMTYgUyA4Ci0gMyAtICswMyAyMDE3IE8gMjkgMXUKLS0yIE8gRUUlc1QKLSsyIEUgRUUlc1QKLSBMaSBBc2lhL05pY29zaWEgRXVyb3BlL05pY29zaWEKLSBaIEFzaWEvVGJpbGlzaSAyOjU5OjExIC0gTE1UIDE4ODAKLSAyOjU5OjExIC0gVEJNVCAxOTI0IE1heSAyCi0gMyAtICswMyAxOTU3IE1hcgotLTQgTSArMDQvKzA1IDE5OTEgTWFyIDMxIDJzCi0tMyBNICswMy8rMDQgMTk5MgotLTMgVyArMDMvKzA0IDE5OTQgUyBsYXN0U3VuCi0tNCBXICswNC8rMDUgMTk5NiBPIGxhc3RTdW4KLSs0IFIgKzA0LyswNSAxOTkxIE1hciAzMSAycwotKzMgUiArMDMvKzA0IDE5OTIKLSszIGUgKzAzLyswNCAxOTk0IFMgbGFzdFN1bgotKzQgZSArMDQvKzA1IDE5OTYgTyBsYXN0U3VuCi0gNCAxICswNSAxOTk3IE1hciBsYXN0U3VuCi0tNCBXICswNC8rMDUgMjAwNCBKdW4gMjcKLS0zIE0gKzAzLyswNCAyMDA1IE1hciBsYXN0U3VuIDIKLSs0IGUgKzA0LyswNSAyMDA0IEp1biAyNwotKzMgUiArMDMvKzA0IDIwMDUgTWFyIGxhc3RTdW4gMgotIDQgLSArMDQKLSBaIEFzaWEvRGlsaSA4OjIyOjIwIC0gTE1UIDE5MTIKLSA4IC0gKzA4IDE5NDIgRiAyMSAyMwotQEAgLTUwNCw3MiArNTI4LDcyIEBAIFogQXNpYS9KYXlhcHVyYSA5OjIyOjQ4IC0gTE1UIDE5MzIgTgotIDkgLSArMDkgMTk0NCBTCi0gOTozMCAtICswOTMwIDE5NjQKLSA5IC0gV0lUCi0tUiBYIDE5NzggMTk4MCAtIE1hciAyMSAwIDEgLQotLVIgWCAxOTc4IG8gLSBPIDIxIDAgMCAtCi0tUiBYIDE5NzkgbyAtIFMgMTkgMCAwIC0KLS1SIFggMTk4MCBvIC0gUyAyMyAwIDAgLQotLVIgWCAxOTkxIG8gLSBNYXkgMyAwIDEgLQotLVIgWCAxOTkyIDE5OTUgLSBNYXIgMjIgMCAxIC0KLS1SIFggMTk5MSAxOTk1IC0gUyAyMiAwIDAgLQotLVIgWCAxOTk2IG8gLSBNYXIgMjEgMCAxIC0KLS1SIFggMTk5NiBvIC0gUyAyMSAwIDAgLQotLVIgWCAxOTk3IDE5OTkgLSBNYXIgMjIgMCAxIC0KLS1SIFggMTk5NyAxOTk5IC0gUyAyMiAwIDAgLQotLVIgWCAyMDAwIG8gLSBNYXIgMjEgMCAxIC0KLS1SIFggMjAwMCBvIC0gUyAyMSAwIDAgLQotLVIgWCAyMDAxIDIwMDMgLSBNYXIgMjIgMCAxIC0KLS1SIFggMjAwMSAyMDAzIC0gUyAyMiAwIDAgLQotLVIgWCAyMDA0IG8gLSBNYXIgMjEgMCAxIC0KLS1SIFggMjAwNCBvIC0gUyAyMSAwIDAgLQotLVIgWCAyMDA1IG8gLSBNYXIgMjIgMCAxIC0KLS1SIFggMjAwNSBvIC0gUyAyMiAwIDAgLQotLVIgWCAyMDA4IG8gLSBNYXIgMjEgMCAxIC0KLS1SIFggMjAwOCBvIC0gUyAyMSAwIDAgLQotLVIgWCAyMDA5IDIwMTEgLSBNYXIgMjIgMCAxIC0KLS1SIFggMjAwOSAyMDExIC0gUyAyMiAwIDAgLQotLVIgWCAyMDEyIG8gLSBNYXIgMjEgMCAxIC0KLS1SIFggMjAxMiBvIC0gUyAyMSAwIDAgLQotLVIgWCAyMDEzIDIwMTUgLSBNYXIgMjIgMCAxIC0KLS1SIFggMjAxMyAyMDE1IC0gUyAyMiAwIDAgLQotLVIgWCAyMDE2IG8gLSBNYXIgMjEgMCAxIC0KLS1SIFggMjAxNiBvIC0gUyAyMSAwIDAgLQotLVIgWCAyMDE3IDIwMTkgLSBNYXIgMjIgMCAxIC0KLS1SIFggMjAxNyAyMDE5IC0gUyAyMiAwIDAgLQotLVIgWCAyMDIwIG8gLSBNYXIgMjEgMCAxIC0KLS1SIFggMjAyMCBvIC0gUyAyMSAwIDAgLQotLVIgWCAyMDIxIDIwMjMgLSBNYXIgMjIgMCAxIC0KLS1SIFggMjAyMSAyMDIzIC0gUyAyMiAwIDAgLQotLVIgWCAyMDI0IG8gLSBNYXIgMjEgMCAxIC0KLS1SIFggMjAyNCBvIC0gUyAyMSAwIDAgLQotLVIgWCAyMDI1IDIwMjcgLSBNYXIgMjIgMCAxIC0KLS1SIFggMjAyNSAyMDI3IC0gUyAyMiAwIDAgLQotLVIgWCAyMDI4IDIwMjkgLSBNYXIgMjEgMCAxIC0KLS1SIFggMjAyOCAyMDI5IC0gUyAyMSAwIDAgLQotLVIgWCAyMDMwIDIwMzEgLSBNYXIgMjIgMCAxIC0KLS1SIFggMjAzMCAyMDMxIC0gUyAyMiAwIDAgLQotLVIgWCAyMDMyIDIwMzMgLSBNYXIgMjEgMCAxIC0KLS1SIFggMjAzMiAyMDMzIC0gUyAyMSAwIDAgLQotLVIgWCAyMDM0IDIwMzUgLSBNYXIgMjIgMCAxIC0KLS1SIFggMjAzNCAyMDM1IC0gUyAyMiAwIDAgLQotLVIgWCAyMDM2IG1hIC0gTWFyIDIxIDAgMSAtCi0tUiBYIDIwMzYgbWEgLSBTIDIxIDAgMCAtCi0rUiBpIDE5NzggMTk4MCAtIE1hciAyMSAwIDEgLQotK1IgaSAxOTc4IG8gLSBPIDIxIDAgMCAtCi0rUiBpIDE5NzkgbyAtIFMgMTkgMCAwIC0KLStSIGkgMTk4MCBvIC0gUyAyMyAwIDAgLQotK1IgaSAxOTkxIG8gLSBNYXkgMyAwIDEgLQotK1IgaSAxOTkyIDE5OTUgLSBNYXIgMjIgMCAxIC0KLStSIGkgMTk5MSAxOTk1IC0gUyAyMiAwIDAgLQotK1IgaSAxOTk2IG8gLSBNYXIgMjEgMCAxIC0KLStSIGkgMTk5NiBvIC0gUyAyMSAwIDAgLQotK1IgaSAxOTk3IDE5OTkgLSBNYXIgMjIgMCAxIC0KLStSIGkgMTk5NyAxOTk5IC0gUyAyMiAwIDAgLQotK1IgaSAyMDAwIG8gLSBNYXIgMjEgMCAxIC0KLStSIGkgMjAwMCBvIC0gUyAyMSAwIDAgLQotK1IgaSAyMDAxIDIwMDMgLSBNYXIgMjIgMCAxIC0KLStSIGkgMjAwMSAyMDAzIC0gUyAyMiAwIDAgLQotK1IgaSAyMDA0IG8gLSBNYXIgMjEgMCAxIC0KLStSIGkgMjAwNCBvIC0gUyAyMSAwIDAgLQotK1IgaSAyMDA1IG8gLSBNYXIgMjIgMCAxIC0KLStSIGkgMjAwNSBvIC0gUyAyMiAwIDAgLQotK1IgaSAyMDA4IG8gLSBNYXIgMjEgMCAxIC0KLStSIGkgMjAwOCBvIC0gUyAyMSAwIDAgLQotK1IgaSAyMDA5IDIwMTEgLSBNYXIgMjIgMCAxIC0KLStSIGkgMjAwOSAyMDExIC0gUyAyMiAwIDAgLQotK1IgaSAyMDEyIG8gLSBNYXIgMjEgMCAxIC0KLStSIGkgMjAxMiBvIC0gUyAyMSAwIDAgLQotK1IgaSAyMDEzIDIwMTUgLSBNYXIgMjIgMCAxIC0KLStSIGkgMjAxMyAyMDE1IC0gUyAyMiAwIDAgLQotK1IgaSAyMDE2IG8gLSBNYXIgMjEgMCAxIC0KLStSIGkgMjAxNiBvIC0gUyAyMSAwIDAgLQotK1IgaSAyMDE3IDIwMTkgLSBNYXIgMjIgMCAxIC0KLStSIGkgMjAxNyAyMDE5IC0gUyAyMiAwIDAgLQotK1IgaSAyMDIwIG8gLSBNYXIgMjEgMCAxIC0KLStSIGkgMjAyMCBvIC0gUyAyMSAwIDAgLQotK1IgaSAyMDIxIDIwMjMgLSBNYXIgMjIgMCAxIC0KLStSIGkgMjAyMSAyMDIzIC0gUyAyMiAwIDAgLQotK1IgaSAyMDI0IG8gLSBNYXIgMjEgMCAxIC0KLStSIGkgMjAyNCBvIC0gUyAyMSAwIDAgLQotK1IgaSAyMDI1IDIwMjcgLSBNYXIgMjIgMCAxIC0KLStSIGkgMjAyNSAyMDI3IC0gUyAyMiAwIDAgLQotK1IgaSAyMDI4IDIwMjkgLSBNYXIgMjEgMCAxIC0KLStSIGkgMjAyOCAyMDI5IC0gUyAyMSAwIDAgLQotK1IgaSAyMDMwIDIwMzEgLSBNYXIgMjIgMCAxIC0KLStSIGkgMjAzMCAyMDMxIC0gUyAyMiAwIDAgLQotK1IgaSAyMDMyIDIwMzMgLSBNYXIgMjEgMCAxIC0KLStSIGkgMjAzMiAyMDMzIC0gUyAyMSAwIDAgLQotK1IgaSAyMDM0IDIwMzUgLSBNYXIgMjIgMCAxIC0KLStSIGkgMjAzNCAyMDM1IC0gUyAyMiAwIDAgLQotK1IgaSAyMDM2IG1hIC0gTWFyIDIxIDAgMSAtCi0rUiBpIDIwMzYgbWEgLSBTIDIxIDAgMCAtCi0gWiBBc2lhL1RlaHJhbiAzOjI1OjQ0IC0gTE1UIDE5MTYKLSAzOjI1OjQ0IC0gVE1UIDE5NDYKLSAzOjMwIC0gKzAzMzAgMTk3NyBOCi0tNCBYICswNC8rMDUgMTk3OQotLTM6MzAgWCArMDMzMC8rMDQzMAotLVIgWSAxOTgyIG8gLSBNYXkgMSAwIDEgLQotLVIgWSAxOTgyIDE5ODQgLSBPIDEgMCAwIC0KLS1SIFkgMTk4MyBvIC0gTWFyIDMxIDAgMSAtCi0tUiBZIDE5ODQgMTk4NSAtIEFwIDEgMCAxIC0KLS1SIFkgMTk4NSAxOTkwIC0gUyBsYXN0U3VuIDFzIDAgLQotLVIgWSAxOTg2IDE5OTAgLSBNYXIgbGFzdFN1biAxcyAxIC0KLS1SIFkgMTk5MSAyMDA3IC0gQXAgMSAzcyAxIC0KLS1SIFkgMTk5MSAyMDA3IC0gTyAxIDNzIDAgLQotKzQgaSArMDQvKzA1IDE5NzkKLSszOjMwIGkgKzAzMzAvKzA0MzAKLStSIElRIDE5ODIgbyAtIE1heSAxIDAgMSAtCi0rUiBJUSAxOTgyIDE5ODQgLSBPIDEgMCAwIC0KLStSIElRIDE5ODMgbyAtIE1hciAzMSAwIDEgLQotK1IgSVEgMTk4NCAxOTg1IC0gQXAgMSAwIDEgLQotK1IgSVEgMTk4NSAxOTkwIC0gUyBsYXN0U3VuIDFzIDAgLQotK1IgSVEgMTk4NiAxOTkwIC0gTWFyIGxhc3RTdW4gMXMgMSAtCi0rUiBJUSAxOTkxIDIwMDcgLSBBcCAxIDNzIDEgLQotK1IgSVEgMTk5MSAyMDA3IC0gTyAxIDNzIDAgLQotIFogQXNpYS9CYWdoZGFkIDI6NTc6NDAgLSBMTVQgMTg5MAotIDI6NTc6MzYgLSBCTVQgMTkxOAotIDMgLSArMDMgMTk4MiBNYXkKLS0zIFkgKzAzLyswNAotKzMgSVEgKzAzLyswNAotIFIgWiAxOTQwIG8gLSBKdW4gMSAwIDEgRAotIFIgWiAxOTQyIDE5NDQgLSBOIDEgMCAwIFMKLSBSIFogMTk0MyBvIC0gQXAgMSAyIDEgRAotQEAgLTY1OSwxNjMgKzY4MywxNjMgQEAgUiBaIDIwMTMgbWEgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFzaWEvSmVydXNhbGVtIDI6MjA6NTQgLSBMTVQgMTg4MAotIDI6MjA6NDAgLSBKTVQgMTkxOAotIDIgWiBJJXNUCi0tUiBhIDE5NDggbyAtIE1heSBTYXQ+PTEgMjQgMSBECi0tUiBhIDE5NDggMTk1MSAtIFMgU3VuPj05IDAgMCBTCi0tUiBhIDE5NDkgbyAtIEFwIFNhdD49MSAyNCAxIEQKLS1SIGEgMTk1MCAxOTUxIC0gTWF5IFNhdD49MSAyNCAxIEQKLStSIEpQIDE5NDggbyAtIE1heSBTYXQ+PTEgMjQgMSBECi0rUiBKUCAxOTQ4IDE5NTEgLSBTIFNhdD49OCAyNSAwIFMKLStSIEpQIDE5NDkgbyAtIEFwIFNhdD49MSAyNCAxIEQKLStSIEpQIDE5NTAgMTk1MSAtIE1heSBTYXQ+PTEgMjQgMSBECi0gWiBBc2lhL1Rva3lvIDk6MTg6NTkgLSBMTVQgMTg4NyBEIDMxIDE1dQotLTkgYSBKJXNUCi0tUiBiIDE5NzMgbyAtIEp1biA2IDAgMSBTCi0tUiBiIDE5NzMgMTk3NSAtIE8gMSAwIDAgLQotLVIgYiAxOTc0IDE5NzcgLSBNYXkgMSAwIDEgUwotLVIgYiAxOTc2IG8gLSBOIDEgMCAwIC0KLS1SIGIgMTk3NyBvIC0gTyAxIDAgMCAtCi0tUiBiIDE5NzggbyAtIEFwIDMwIDAgMSBTCi0tUiBiIDE5NzggbyAtIFMgMzAgMCAwIC0KLS1SIGIgMTk4NSBvIC0gQXAgMSAwIDEgUwotLVIgYiAxOTg1IG8gLSBPIDEgMCAwIC0KLS1SIGIgMTk4NiAxOTg4IC0gQXAgRj49MSAwIDEgUwotLVIgYiAxOTg2IDE5OTAgLSBPIEY+PTEgMCAwIC0KLS1SIGIgMTk4OSBvIC0gTWF5IDggMCAxIFMKLS1SIGIgMTk5MCBvIC0gQXAgMjcgMCAxIFMKLS1SIGIgMTk5MSBvIC0gQXAgMTcgMCAxIFMKLS1SIGIgMTk5MSBvIC0gUyAyNyAwIDAgLQotLVIgYiAxOTkyIG8gLSBBcCAxMCAwIDEgUwotLVIgYiAxOTkyIDE5OTMgLSBPIEY+PTEgMCAwIC0KLS1SIGIgMTk5MyAxOTk4IC0gQXAgRj49MSAwIDEgUwotLVIgYiAxOTk0IG8gLSBTIEY+PTE1IDAgMCAtCi0tUiBiIDE5OTUgMTk5OCAtIFMgRj49MTUgMHMgMCAtCi0tUiBiIDE5OTkgbyAtIEp1bCAxIDBzIDEgUwotLVIgYiAxOTk5IDIwMDIgLSBTIGxhc3RGIDBzIDAgLQotLVIgYiAyMDAwIDIwMDEgLSBNYXIgbGFzdFRoIDBzIDEgUwotLVIgYiAyMDAyIDIwMTIgLSBNYXIgbGFzdFRoIDI0IDEgUwotLVIgYiAyMDAzIG8gLSBPIDI0IDBzIDAgLQotLVIgYiAyMDA0IG8gLSBPIDE1IDBzIDAgLQotLVIgYiAyMDA1IG8gLSBTIGxhc3RGIDBzIDAgLQotLVIgYiAyMDA2IDIwMTEgLSBPIGxhc3RGIDBzIDAgLQotLVIgYiAyMDEzIG8gLSBEIDIwIDAgMCAtCi0tUiBiIDIwMTQgbWEgLSBNYXIgbGFzdFRoIDI0IDEgUwotLVIgYiAyMDE0IG1hIC0gTyBsYXN0RiAwcyAwIC0KLSs5IEpQIEolc1QKLStSIEogMTk3MyBvIC0gSnVuIDYgMCAxIFMKLStSIEogMTk3MyAxOTc1IC0gTyAxIDAgMCAtCi0rUiBKIDE5NzQgMTk3NyAtIE1heSAxIDAgMSBTCi0rUiBKIDE5NzYgbyAtIE4gMSAwIDAgLQotK1IgSiAxOTc3IG8gLSBPIDEgMCAwIC0KLStSIEogMTk3OCBvIC0gQXAgMzAgMCAxIFMKLStSIEogMTk3OCBvIC0gUyAzMCAwIDAgLQotK1IgSiAxOTg1IG8gLSBBcCAxIDAgMSBTCi0rUiBKIDE5ODUgbyAtIE8gMSAwIDAgLQotK1IgSiAxOTg2IDE5ODggLSBBcCBGPj0xIDAgMSBTCi0rUiBKIDE5ODYgMTk5MCAtIE8gRj49MSAwIDAgLQotK1IgSiAxOTg5IG8gLSBNYXkgOCAwIDEgUwotK1IgSiAxOTkwIG8gLSBBcCAyNyAwIDEgUwotK1IgSiAxOTkxIG8gLSBBcCAxNyAwIDEgUwotK1IgSiAxOTkxIG8gLSBTIDI3IDAgMCAtCi0rUiBKIDE5OTIgbyAtIEFwIDEwIDAgMSBTCi0rUiBKIDE5OTIgMTk5MyAtIE8gRj49MSAwIDAgLQotK1IgSiAxOTkzIDE5OTggLSBBcCBGPj0xIDAgMSBTCi0rUiBKIDE5OTQgbyAtIFMgRj49MTUgMCAwIC0KLStSIEogMTk5NSAxOTk4IC0gUyBGPj0xNSAwcyAwIC0KLStSIEogMTk5OSBvIC0gSnVsIDEgMHMgMSBTCi0rUiBKIDE5OTkgMjAwMiAtIFMgbGFzdEYgMHMgMCAtCi0rUiBKIDIwMDAgMjAwMSAtIE1hciBsYXN0VGggMHMgMSBTCi0rUiBKIDIwMDIgMjAxMiAtIE1hciBsYXN0VGggMjQgMSBTCi0rUiBKIDIwMDMgbyAtIE8gMjQgMHMgMCAtCi0rUiBKIDIwMDQgbyAtIE8gMTUgMHMgMCAtCi0rUiBKIDIwMDUgbyAtIFMgbGFzdEYgMHMgMCAtCi0rUiBKIDIwMDYgMjAxMSAtIE8gbGFzdEYgMHMgMCAtCi0rUiBKIDIwMTMgbyAtIEQgMjAgMCAwIC0KLStSIEogMjAxNCBtYSAtIE1hciBsYXN0VGggMjQgMSBTCi0rUiBKIDIwMTQgbWEgLSBPIGxhc3RGIDBzIDAgLQotIFogQXNpYS9BbW1hbiAyOjIzOjQ0IC0gTE1UIDE5MzEKLS0yIGIgRUUlc1QKLSsyIEogRUUlc1QKLSBaIEFzaWEvQWxtYXR5IDU6Nzo0OCAtIExNVCAxOTI0IE1heSAyCi0gNSAtICswNSAxOTMwIEp1biAyMQotLTYgTSArMDYvKzA3IDE5OTEgTWFyIDMxIDJzCi0tNSBNICswNS8rMDYgMTk5MiBKYSAxOSAycwotLTYgTSArMDYvKzA3IDIwMDQgTyAzMSAycwotKzYgUiArMDYvKzA3IDE5OTEgTWFyIDMxIDJzCi0rNSBSICswNS8rMDYgMTk5MiBKYSAxOSAycwotKzYgUiArMDYvKzA3IDIwMDQgTyAzMSAycwotIDYgLSArMDYKLSBaIEFzaWEvUXl6eWxvcmRhIDQ6MjE6NTIgLSBMTVQgMTkyNCBNYXkgMgotIDQgLSArMDQgMTkzMCBKdW4gMjEKLSA1IC0gKzA1IDE5ODEgQXAKLSA1IDEgKzA2IDE5ODEgTwotIDYgLSArMDYgMTk4MiBBcAotLTUgTSArMDUvKzA2IDE5OTEgTWFyIDMxIDJzCi0tNCBNICswNC8rMDUgMTk5MSBTIDI5IDJzCi0tNSBNICswNS8rMDYgMTk5MiBKYSAxOSAycwotLTYgTSArMDYvKzA3IDE5OTIgTWFyIDI5IDJzCi0tNSBNICswNS8rMDYgMjAwNCBPIDMxIDJzCi0rNSBSICswNS8rMDYgMTk5MSBNYXIgMzEgMnMKLSs0IFIgKzA0LyswNSAxOTkxIFMgMjkgMnMKLSs1IFIgKzA1LyswNiAxOTkyIEphIDE5IDJzCi0rNiBSICswNi8rMDcgMTk5MiBNYXIgMjkgMnMKLSs1IFIgKzA1LyswNiAyMDA0IE8gMzEgMnMKLSA2IC0gKzA2Ci0gWiBBc2lhL0FxdG9iZSAzOjQ4OjQwIC0gTE1UIDE5MjQgTWF5IDIKLSA0IC0gKzA0IDE5MzAgSnVuIDIxCi0gNSAtICswNSAxOTgxIEFwCi0gNSAxICswNiAxOTgxIE8KLSA2IC0gKzA2IDE5ODIgQXAKLS01IE0gKzA1LyswNiAxOTkxIE1hciAzMSAycwotLTQgTSArMDQvKzA1IDE5OTIgSmEgMTkgMnMKLS01IE0gKzA1LyswNiAyMDA0IE8gMzEgMnMKLSs1IFIgKzA1LyswNiAxOTkxIE1hciAzMSAycwotKzQgUiArMDQvKzA1IDE5OTIgSmEgMTkgMnMKLSs1IFIgKzA1LyswNiAyMDA0IE8gMzEgMnMKLSA1IC0gKzA1Ci0gWiBBc2lhL0FxdGF1IDM6MjE6NCAtIExNVCAxOTI0IE1heSAyCi0gNCAtICswNCAxOTMwIEp1biAyMQotIDUgLSArMDUgMTk4MSBPCi0gNiAtICswNiAxOTgyIEFwCi0tNSBNICswNS8rMDYgMTk5MSBNYXIgMzEgMnMKLS00IE0gKzA0LyswNSAxOTkyIEphIDE5IDJzCi0tNSBNICswNS8rMDYgMTk5NCBTIDI1IDJzCi0tNCBNICswNC8rMDUgMjAwNCBPIDMxIDJzCi0rNSBSICswNS8rMDYgMTk5MSBNYXIgMzEgMnMKLSs0IFIgKzA0LyswNSAxOTkyIEphIDE5IDJzCi0rNSBSICswNS8rMDYgMTk5NCBTIDI1IDJzCi0rNCBSICswNC8rMDUgMjAwNCBPIDMxIDJzCi0gNSAtICswNQotIFogQXNpYS9BdHlyYXUgMzoyNzo0NCAtIExNVCAxOTI0IE1heSAyCi0gMyAtICswMyAxOTMwIEp1biAyMQotIDUgLSArMDUgMTk4MSBPCi0gNiAtICswNiAxOTgyIEFwCi0tNSBNICswNS8rMDYgMTk5MSBNYXIgMzEgMnMKLS00IE0gKzA0LyswNSAxOTkyIEphIDE5IDJzCi0tNSBNICswNS8rMDYgMTk5OSBNYXIgMjggMnMKLS00IE0gKzA0LyswNSAyMDA0IE8gMzEgMnMKLSs1IFIgKzA1LyswNiAxOTkxIE1hciAzMSAycwotKzQgUiArMDQvKzA1IDE5OTIgSmEgMTkgMnMKLSs1IFIgKzA1LyswNiAxOTk5IE1hciAyOCAycwotKzQgUiArMDQvKzA1IDIwMDQgTyAzMSAycwotIDUgLSArMDUKLSBaIEFzaWEvT3JhbCAzOjI1OjI0IC0gTE1UIDE5MjQgTWF5IDIKLSAzIC0gKzAzIDE5MzAgSnVuIDIxCi0gNSAtICswNSAxOTgxIEFwCi0gNSAxICswNiAxOTgxIE8KLSA2IC0gKzA2IDE5ODIgQXAKLS01IE0gKzA1LyswNiAxOTg5IE1hciAyNiAycwotLTQgTSArMDQvKzA1IDE5OTIgSmEgMTkgMnMKLS01IE0gKzA1LyswNiAxOTkyIE1hciAyOSAycwotLTQgTSArMDQvKzA1IDIwMDQgTyAzMSAycwotKzUgUiArMDUvKzA2IDE5ODkgTWFyIDI2IDJzCi0rNCBSICswNC8rMDUgMTk5MiBKYSAxOSAycwotKzUgUiArMDUvKzA2IDE5OTIgTWFyIDI5IDJzCi0rNCBSICswNC8rMDUgMjAwNCBPIDMxIDJzCi0gNSAtICswNQotLVIgYyAxOTkyIDE5OTYgLSBBcCBTdW4+PTcgMHMgMSAtCi0tUiBjIDE5OTIgMTk5NiAtIFMgbGFzdFN1biAwIDAgLQotLVIgYyAxOTk3IDIwMDUgLSBNYXIgbGFzdFN1biAyOjMwIDEgLQotLVIgYyAxOTk3IDIwMDQgLSBPIGxhc3RTdW4gMjozMCAwIC0KLStSIEtHIDE5OTIgMTk5NiAtIEFwIFN1bj49NyAwcyAxIC0KLStSIEtHIDE5OTIgMTk5NiAtIFMgbGFzdFN1biAwIDAgLQotK1IgS0cgMTk5NyAyMDA1IC0gTWFyIGxhc3RTdW4gMjozMCAxIC0KLStSIEtHIDE5OTcgMjAwNCAtIE8gbGFzdFN1biAyOjMwIDAgLQotIFogQXNpYS9CaXNoa2VrIDQ6NTg6MjQgLSBMTVQgMTkyNCBNYXkgMgotIDUgLSArMDUgMTkzMCBKdW4gMjEKLS02IE0gKzA2LyswNyAxOTkxIE1hciAzMSAycwotLTUgTSArMDUvKzA2IDE5OTEgQXUgMzEgMgotLTUgYyArMDUvKzA2IDIwMDUgQXUgMTIKLSs2IFIgKzA2LyswNyAxOTkxIE1hciAzMSAycwotKzUgUiArMDUvKzA2IDE5OTEgQXUgMzEgMgotKzUgS0cgKzA1LyswNiAyMDA1IEF1IDEyCi0gNiAtICswNgotLVIgZCAxOTQ4IG8gLSBKdW4gMSAwIDEgRAotLVIgZCAxOTQ4IG8gLSBTIDEzIDAgMCBTCi0tUiBkIDE5NDkgbyAtIEFwIDMgMCAxIEQKLS1SIGQgMTk0OSAxOTUxIC0gUyBTdW4+PTggMCAwIFMKLS1SIGQgMTk1MCBvIC0gQXAgMSAwIDEgRAotLVIgZCAxOTUxIG8gLSBNYXkgNiAwIDEgRAotLVIgZCAxOTU1IG8gLSBNYXkgNSAwIDEgRAotLVIgZCAxOTU1IG8gLSBTIDkgMCAwIFMKLS1SIGQgMTk1NiBvIC0gTWF5IDIwIDAgMSBECi0tUiBkIDE5NTYgbyAtIFMgMzAgMCAwIFMKLS1SIGQgMTk1NyAxOTYwIC0gTWF5IFN1bj49MSAwIDEgRAotLVIgZCAxOTU3IDE5NjAgLSBTIFN1bj49MTggMCAwIFMKLS1SIGQgMTk4NyAxOTg4IC0gTWF5IFN1bj49OCAyIDEgRAotLVIgZCAxOTg3IDE5ODggLSBPIFN1bj49OCAzIDAgUwotK1IgS1IgMTk0OCBvIC0gSnVuIDEgMCAxIEQKLStSIEtSIDE5NDggbyAtIFMgMTMgMCAwIFMKLStSIEtSIDE5NDkgbyAtIEFwIDMgMCAxIEQKLStSIEtSIDE5NDkgMTk1MSAtIFMgU3VuPj04IDAgMCBTCi0rUiBLUiAxOTUwIG8gLSBBcCAxIDAgMSBECi0rUiBLUiAxOTUxIG8gLSBNYXkgNiAwIDEgRAotK1IgS1IgMTk1NSBvIC0gTWF5IDUgMCAxIEQKLStSIEtSIDE5NTUgbyAtIFMgOSAwIDAgUwotK1IgS1IgMTk1NiBvIC0gTWF5IDIwIDAgMSBECi0rUiBLUiAxOTU2IG8gLSBTIDMwIDAgMCBTCi0rUiBLUiAxOTU3IDE5NjAgLSBNYXkgU3VuPj0xIDAgMSBECi0rUiBLUiAxOTU3IDE5NjAgLSBTIFN1bj49MTggMCAwIFMKLStSIEtSIDE5ODcgMTk4OCAtIE1heSBTdW4+PTggMiAxIEQKLStSIEtSIDE5ODcgMTk4OCAtIE8gU3VuPj04IDMgMCBTCi0gWiBBc2lhL1Nlb3VsIDg6Mjc6NTIgLSBMTVQgMTkwOCBBcAotIDg6MzAgLSBLU1QgMTkxMgotIDkgLSBKU1QgMTk0NSBTIDgKLSA5IC0gS1NUIDE5NTQgTWFyIDIxCi0tODozMCBkIEslc1QgMTk2MSBBdSAxMAotLTkgZCBLJXNUCi0rODozMCBLUiBLJXNUIDE5NjEgQXUgMTAKLSs5IEtSIEslc1QKLSBaIEFzaWEvUHlvbmd5YW5nIDg6MjMgLSBMTVQgMTkwOCBBcAotIDg6MzAgLSBLU1QgMTkxMgotIDkgLSBKU1QgMTk0NSBBdSAyNAotIDkgLSBLU1QgMjAxNSBBdSAxNQotLTg6MzAgLSBLU1QgMjAxOCBNYXkgNQotKzg6MzAgLSBLU1QgMjAxOCBNYXkgNCAyMzozMAotIDkgLSBLU1QKLS1SIGUgMTkyMCBvIC0gTWFyIDI4IDAgMSBTCi0tUiBlIDE5MjAgbyAtIE8gMjUgMCAwIC0KLS1SIGUgMTkyMSBvIC0gQXAgMyAwIDEgUwotLVIgZSAxOTIxIG8gLSBPIDMgMCAwIC0KLS1SIGUgMTkyMiBvIC0gTWFyIDI2IDAgMSBTCi0tUiBlIDE5MjIgbyAtIE8gOCAwIDAgLQotLVIgZSAxOTIzIG8gLSBBcCAyMiAwIDEgUwotLVIgZSAxOTIzIG8gLSBTIDE2IDAgMCAtCi0tUiBlIDE5NTcgMTk2MSAtIE1heSAxIDAgMSBTCi0tUiBlIDE5NTcgMTk2MSAtIE8gMSAwIDAgLQotLVIgZSAxOTcyIG8gLSBKdW4gMjIgMCAxIFMKLS1SIGUgMTk3MiAxOTc3IC0gTyAxIDAgMCAtCi0tUiBlIDE5NzMgMTk3NyAtIE1heSAxIDAgMSBTCi0tUiBlIDE5NzggbyAtIEFwIDMwIDAgMSBTCi0tUiBlIDE5NzggbyAtIFMgMzAgMCAwIC0KLS1SIGUgMTk4NCAxOTg3IC0gTWF5IDEgMCAxIFMKLS1SIGUgMTk4NCAxOTkxIC0gTyAxNiAwIDAgLQotLVIgZSAxOTg4IG8gLSBKdW4gMSAwIDEgUwotLVIgZSAxOTg5IG8gLSBNYXkgMTAgMCAxIFMKLS1SIGUgMTk5MCAxOTkyIC0gTWF5IDEgMCAxIFMKLS1SIGUgMTk5MiBvIC0gTyA0IDAgMCAtCi0tUiBlIDE5OTMgbWEgLSBNYXIgbGFzdFN1biAwIDEgUwotLVIgZSAxOTkzIDE5OTggLSBTIGxhc3RTdW4gMCAwIC0KLS1SIGUgMTk5OSBtYSAtIE8gbGFzdFN1biAwIDAgLQotK1IgbCAxOTIwIG8gLSBNYXIgMjggMCAxIFMKLStSIGwgMTkyMCBvIC0gTyAyNSAwIDAgLQotK1IgbCAxOTIxIG8gLSBBcCAzIDAgMSBTCi0rUiBsIDE5MjEgbyAtIE8gMyAwIDAgLQotK1IgbCAxOTIyIG8gLSBNYXIgMjYgMCAxIFMKLStSIGwgMTkyMiBvIC0gTyA4IDAgMCAtCi0rUiBsIDE5MjMgbyAtIEFwIDIyIDAgMSBTCi0rUiBsIDE5MjMgbyAtIFMgMTYgMCAwIC0KLStSIGwgMTk1NyAxOTYxIC0gTWF5IDEgMCAxIFMKLStSIGwgMTk1NyAxOTYxIC0gTyAxIDAgMCAtCi0rUiBsIDE5NzIgbyAtIEp1biAyMiAwIDEgUwotK1IgbCAxOTcyIDE5NzcgLSBPIDEgMCAwIC0KLStSIGwgMTk3MyAxOTc3IC0gTWF5IDEgMCAxIFMKLStSIGwgMTk3OCBvIC0gQXAgMzAgMCAxIFMKLStSIGwgMTk3OCBvIC0gUyAzMCAwIDAgLQotK1IgbCAxOTg0IDE5ODcgLSBNYXkgMSAwIDEgUwotK1IgbCAxOTg0IDE5OTEgLSBPIDE2IDAgMCAtCi0rUiBsIDE5ODggbyAtIEp1biAxIDAgMSBTCi0rUiBsIDE5ODkgbyAtIE1heSAxMCAwIDEgUwotK1IgbCAxOTkwIDE5OTIgLSBNYXkgMSAwIDEgUwotK1IgbCAxOTkyIG8gLSBPIDQgMCAwIC0KLStSIGwgMTk5MyBtYSAtIE1hciBsYXN0U3VuIDAgMSBTCi0rUiBsIDE5OTMgMTk5OCAtIFMgbGFzdFN1biAwIDAgLQotK1IgbCAxOTk5IG1hIC0gTyBsYXN0U3VuIDAgMCAtCi0gWiBBc2lhL0JlaXJ1dCAyOjIyIC0gTE1UIDE4ODAKLS0yIGUgRUUlc1QKLS1SIGYgMTkzNSAxOTQxIC0gUyAxNCAwIDA6MjAgLQotLVIgZiAxOTM1IDE5NDEgLSBEIDE0IDAgMCAtCi0rMiBsIEVFJXNUCi0rUiBOQiAxOTM1IDE5NDEgLSBTIDE0IDAgMDoyMCAtCi0rUiBOQiAxOTM1IDE5NDEgLSBEIDE0IDAgMCAtCi0gWiBBc2lhL0t1YWxhX0x1bXB1ciA2OjQ2OjQ2IC0gTE1UIDE5MDEKLSA2OjU1OjI1IC0gU01UIDE5MDUgSnVuCi0gNyAtICswNyAxOTMzCi1AQCAtODI3LDk4ICs4NTEsOTggQEAgWiBBc2lhL0t1YWxhX0x1bXB1ciA2OjQ2OjQ2IC0gTE1UIDE5MDEKLSA4IC0gKzA4Ci0gWiBBc2lhL0t1Y2hpbmcgNzoyMToyMCAtIExNVCAxOTI2IE1hcgotIDc6MzAgLSArMDczMCAxOTMzCi0tOCBmICswOC8rMDgyMCAxOTQyIEYgMTYKLSs4IE5CICswOC8rMDgyMCAxOTQyIEYgMTYKLSA5IC0gKzA5IDE5NDUgUyAxMgotIDggLSArMDgKLSBaIEluZGlhbi9NYWxkaXZlcyA0OjU0IC0gTE1UIDE4ODAKLSA0OjU0IC0gTU1UIDE5NjAKLSA1IC0gKzA1Ci0tUiBnIDE5ODMgMTk4NCAtIEFwIDEgMCAxIC0KLS1SIGcgMTk4MyBvIC0gTyAxIDAgMCAtCi0tUiBnIDE5ODUgMTk5OCAtIE1hciBsYXN0U3VuIDAgMSAtCi0tUiBnIDE5ODQgMTk5OCAtIFMgbGFzdFN1biAwIDAgLQotLVIgZyAyMDAxIG8gLSBBcCBsYXN0U2F0IDIgMSAtCi0tUiBnIDIwMDEgMjAwNiAtIFMgbGFzdFNhdCAyIDAgLQotLVIgZyAyMDAyIDIwMDYgLSBNYXIgbGFzdFNhdCAyIDEgLQotLVIgZyAyMDE1IDIwMTYgLSBNYXIgbGFzdFNhdCAyIDEgLQotLVIgZyAyMDE1IDIwMTYgLSBTIGxhc3RTYXQgMCAwIC0KLStSIFggMTk4MyAxOTg0IC0gQXAgMSAwIDEgLQotK1IgWCAxOTgzIG8gLSBPIDEgMCAwIC0KLStSIFggMTk4NSAxOTk4IC0gTWFyIGxhc3RTdW4gMCAxIC0KLStSIFggMTk4NCAxOTk4IC0gUyBsYXN0U3VuIDAgMCAtCi0rUiBYIDIwMDEgbyAtIEFwIGxhc3RTYXQgMiAxIC0KLStSIFggMjAwMSAyMDA2IC0gUyBsYXN0U2F0IDIgMCAtCi0rUiBYIDIwMDIgMjAwNiAtIE1hciBsYXN0U2F0IDIgMSAtCi0rUiBYIDIwMTUgMjAxNiAtIE1hciBsYXN0U2F0IDIgMSAtCi0rUiBYIDIwMTUgMjAxNiAtIFMgbGFzdFNhdCAwIDAgLQotIFogQXNpYS9Ib3ZkIDY6NjozNiAtIExNVCAxOTA1IEF1Ci0gNiAtICswNiAxOTc4Ci0tNyBnICswNy8rMDgKLSs3IFggKzA3LyswOAotIFogQXNpYS9VbGFhbmJhYXRhciA3Ojc6MzIgLSBMTVQgMTkwNSBBdQotIDcgLSArMDcgMTk3OAotLTggZyArMDgvKzA5Ci0rOCBYICswOC8rMDkKLSBaIEFzaWEvQ2hvaWJhbHNhbiA3OjM4IC0gTE1UIDE5MDUgQXUKLSA3IC0gKzA3IDE5NzgKLSA4IC0gKzA4IDE5ODMgQXAKLS05IGcgKzA5LysxMCAyMDA4IE1hciAzMQotLTggZyArMDgvKzA5Ci0rOSBYICswOS8rMTAgMjAwOCBNYXIgMzEKLSs4IFggKzA4LyswOQotIFogQXNpYS9LYXRobWFuZHUgNTo0MToxNiAtIExNVCAxOTIwCi0gNTozMCAtICswNTMwIDE5ODYKLSA1OjQ1IC0gKzA1NDUKLS1SIGggMjAwMiBvIC0gQXAgU3VuPj0yIDAgMSBTCi0tUiBoIDIwMDIgbyAtIE8gU3VuPj0yIDAgMCAtCi0tUiBoIDIwMDggbyAtIEp1biAxIDAgMSBTCi0tUiBoIDIwMDggMjAwOSAtIE4gMSAwIDAgLQotLVIgaCAyMDA5IG8gLSBBcCAxNSAwIDEgUwotK1IgUEsgMjAwMiBvIC0gQXAgU3VuPj0yIDAgMSBTCi0rUiBQSyAyMDAyIG8gLSBPIFN1bj49MiAwIDAgLQotK1IgUEsgMjAwOCBvIC0gSnVuIDEgMCAxIFMKLStSIFBLIDIwMDggMjAwOSAtIE4gMSAwIDAgLQotK1IgUEsgMjAwOSBvIC0gQXAgMTUgMCAxIFMKLSBaIEFzaWEvS2FyYWNoaSA0OjI4OjEyIC0gTE1UIDE5MDcKLSA1OjMwIC0gKzA1MzAgMTk0MiBTCi0gNTozMCAxICswNjMwIDE5NDUgTyAxNQotIDU6MzAgLSArMDUzMCAxOTUxIFMgMzAKLSA1IC0gKzA1IDE5NzEgTWFyIDI2Ci0tNSBoIFBLJXNUCi0tUiBpIDE5OTkgMjAwNSAtIEFwIEY+PTE1IDAgMSBTCi0tUiBpIDE5OTkgMjAwMyAtIE8gRj49MTUgMCAwIC0KLS1SIGkgMjAwNCBvIC0gTyAxIDEgMCAtCi0tUiBpIDIwMDUgbyAtIE8gNCAyIDAgLQotLVIgaSAyMDA2IDIwMDcgLSBBcCAxIDAgMSBTCi0tUiBpIDIwMDYgbyAtIFMgMjIgMCAwIC0KLS1SIGkgMjAwNyBvIC0gUyBUaD49OCAyIDAgLQotLVIgaSAyMDA4IDIwMDkgLSBNYXIgbGFzdEYgMCAxIFMKLS1SIGkgMjAwOCBvIC0gUyAxIDAgMCAtCi0tUiBpIDIwMDkgbyAtIFMgRj49MSAxIDAgLQotLVIgaSAyMDEwIG8gLSBNYXIgMjYgMCAxIFMKLS1SIGkgMjAxMCBvIC0gQXUgMTEgMCAwIC0KLS1SIGkgMjAxMSBvIC0gQXAgMSAwOjEgMSBTCi0tUiBpIDIwMTEgbyAtIEF1IDEgMCAwIC0KLS1SIGkgMjAxMSBvIC0gQXUgMzAgMCAxIFMKLS1SIGkgMjAxMSBvIC0gUyAzMCAwIDAgLQotLVIgaSAyMDEyIDIwMTQgLSBNYXIgbGFzdFRoIDI0IDEgUwotLVIgaSAyMDEyIG8gLSBTIDIxIDEgMCAtCi0tUiBpIDIwMTMgbyAtIFMgRj49MjEgMCAwIC0KLS1SIGkgMjAxNCAyMDE1IC0gTyBGPj0yMSAwIDAgLQotLVIgaSAyMDE1IG8gLSBNYXIgbGFzdEYgMjQgMSBTCi0tUiBpIDIwMTYgbWEgLSBNYXIgU2F0Pj0yMiAxIDEgUwotLVIgaSAyMDE2IG1hIC0gTyBsYXN0U2F0IDEgMCAtCi0rNSBQSyBQSyVzVAotK1IgUCAxOTk5IDIwMDUgLSBBcCBGPj0xNSAwIDEgUwotK1IgUCAxOTk5IDIwMDMgLSBPIEY+PTE1IDAgMCAtCi0rUiBQIDIwMDQgbyAtIE8gMSAxIDAgLQotK1IgUCAyMDA1IG8gLSBPIDQgMiAwIC0KLStSIFAgMjAwNiAyMDA3IC0gQXAgMSAwIDEgUwotK1IgUCAyMDA2IG8gLSBTIDIyIDAgMCAtCi0rUiBQIDIwMDcgbyAtIFMgVGg+PTggMiAwIC0KLStSIFAgMjAwOCAyMDA5IC0gTWFyIGxhc3RGIDAgMSBTCi0rUiBQIDIwMDggbyAtIFMgMSAwIDAgLQotK1IgUCAyMDA5IG8gLSBTIEY+PTEgMSAwIC0KLStSIFAgMjAxMCBvIC0gTWFyIDI2IDAgMSBTCi0rUiBQIDIwMTAgbyAtIEF1IDExIDAgMCAtCi0rUiBQIDIwMTEgbyAtIEFwIDEgMDoxIDEgUwotK1IgUCAyMDExIG8gLSBBdSAxIDAgMCAtCi0rUiBQIDIwMTEgbyAtIEF1IDMwIDAgMSBTCi0rUiBQIDIwMTEgbyAtIFMgMzAgMCAwIC0KLStSIFAgMjAxMiAyMDE0IC0gTWFyIGxhc3RUaCAyNCAxIFMKLStSIFAgMjAxMiBvIC0gUyAyMSAxIDAgLQotK1IgUCAyMDEzIG8gLSBTIEY+PTIxIDAgMCAtCi0rUiBQIDIwMTQgMjAxNSAtIE8gRj49MjEgMCAwIC0KLStSIFAgMjAxNSBvIC0gTWFyIGxhc3RGIDI0IDEgUwotK1IgUCAyMDE2IG1hIC0gTWFyIFNhdD49MjIgMSAxIFMKLStSIFAgMjAxNiBtYSAtIE8gbGFzdFNhdCAxIDAgLQotIFogQXNpYS9HYXphIDI6MTc6NTIgLSBMTVQgMTkwMCBPCi0gMiBaIEVFVC9FRVNUIDE5NDggTWF5IDE1Ci0tMiBCIEVFJXNUIDE5NjcgSnVuIDUKLSsyIEsgRUUlc1QgMTk2NyBKdW4gNQotIDIgWiBJJXNUIDE5OTYKLS0yIGIgRUUlc1QgMTk5OQotLTIgaSBFRSVzVCAyMDA4IEF1IDI5Ci0rMiBKIEVFJXNUIDE5OTkKLSsyIFAgRUUlc1QgMjAwOCBBdSAyOQotIDIgLSBFRVQgMjAwOCBTCi0tMiBpIEVFJXNUIDIwMTAKLSsyIFAgRUUlc1QgMjAxMAotIDIgLSBFRVQgMjAxMCBNYXIgMjcgMDoxCi0tMiBpIEVFJXNUIDIwMTEgQXUKLSsyIFAgRUUlc1QgMjAxMSBBdQotIDIgLSBFRVQgMjAxMgotLTIgaSBFRSVzVAotKzIgUCBFRSVzVAotIFogQXNpYS9IZWJyb24gMjoyMDoyMyAtIExNVCAxOTAwIE8KLSAyIFogRUVUL0VFU1QgMTk0OCBNYXkgMTUKLS0yIEIgRUUlc1QgMTk2NyBKdW4gNQotKzIgSyBFRSVzVCAxOTY3IEp1biA1Ci0gMiBaIEklc1QgMTk5NgotLTIgYiBFRSVzVCAxOTk5Ci0tMiBpIEVFJXNUCi0tUiBqIDE5MzYgbyAtIE4gMSAwIDEgLQotLVIgaiAxOTM3IG8gLSBGIDEgMCAwIC0KLS1SIGogMTk1NCBvIC0gQXAgMTIgMCAxIC0KLS1SIGogMTk1NCBvIC0gSnVsIDEgMCAwIC0KLS1SIGogMTk3OCBvIC0gTWFyIDIyIDAgMSAtCi0tUiBqIDE5NzggbyAtIFMgMjEgMCAwIC0KLSsyIEogRUUlc1QgMTk5OQotKzIgUCBFRSVzVAotK1IgUEggMTkzNiBvIC0gTiAxIDAgMSBECi0rUiBQSCAxOTM3IG8gLSBGIDEgMCAwIFMKLStSIFBIIDE5NTQgbyAtIEFwIDEyIDAgMSBECi0rUiBQSCAxOTU0IG8gLSBKdWwgMSAwIDAgUwotK1IgUEggMTk3OCBvIC0gTWFyIDIyIDAgMSBECi0rUiBQSCAxOTc4IG8gLSBTIDIxIDAgMCBTCi0gWiBBc2lhL01hbmlsYSAtMTU6NTYgLSBMTVQgMTg0NCBEIDMxCi0gODo0IC0gTE1UIDE4OTkgTWF5IDExCi0tOCBqICswOC8rMDkgMTk0MiBNYXkKLS05IC0gKzA5IDE5NDQgTgotLTggaiArMDgvKzA5Ci0rOCBQSCBQJXNUIDE5NDIgTWF5Ci0rOSAtIEpTVCAxOTQ0IE4KLSs4IFBIIFAlc1QKLSBaIEFzaWEvUWF0YXIgMzoyNjo4IC0gTE1UIDE5MjAKLSA0IC0gKzA0IDE5NzIgSnVuCi0gMyAtICswMwotQEAgLTk0NSw1MiArOTY5LDUyIEBAIFogQXNpYS9Db2xvbWJvIDU6MTk6MjQgLSBMTVQgMTg4MAotIDY6MzAgLSArMDYzMCAxOTk2IE8gMjYgMDozMAotIDYgLSArMDYgMjAwNiBBcCAxNSAwOjMwCi0gNTozMCAtICswNTMwCi0tUiBrIDE5MjAgMTkyMyAtIEFwIFN1bj49MTUgMiAxIFMKLS1SIGsgMTkyMCAxOTIzIC0gTyBTdW4+PTEgMiAwIC0KLS1SIGsgMTk2MiBvIC0gQXAgMjkgMiAxIFMKLS1SIGsgMTk2MiBvIC0gTyAxIDIgMCAtCi0tUiBrIDE5NjMgMTk2NSAtIE1heSAxIDIgMSBTCi0tUiBrIDE5NjMgbyAtIFMgMzAgMiAwIC0KLS1SIGsgMTk2NCBvIC0gTyAxIDIgMCAtCi0tUiBrIDE5NjUgbyAtIFMgMzAgMiAwIC0KLS1SIGsgMTk2NiBvIC0gQXAgMjQgMiAxIFMKLS1SIGsgMTk2NiAxOTc2IC0gTyAxIDIgMCAtCi0tUiBrIDE5NjcgMTk3OCAtIE1heSAxIDIgMSBTCi0tUiBrIDE5NzcgMTk3OCAtIFMgMSAyIDAgLQotLVIgayAxOTgzIDE5ODQgLSBBcCA5IDIgMSBTCi0tUiBrIDE5ODMgMTk4NCAtIE8gMSAyIDAgLQotLVIgayAxOTg2IG8gLSBGIDE2IDIgMSBTCi0tUiBrIDE5ODYgbyAtIE8gOSAyIDAgLQotLVIgayAxOTg3IG8gLSBNYXIgMSAyIDEgUwotLVIgayAxOTg3IDE5ODggLSBPIDMxIDIgMCAtCi0tUiBrIDE5ODggbyAtIE1hciAxNSAyIDEgUwotLVIgayAxOTg5IG8gLSBNYXIgMzEgMiAxIFMKLS1SIGsgMTk4OSBvIC0gTyAxIDIgMCAtCi0tUiBrIDE5OTAgbyAtIEFwIDEgMiAxIFMKLS1SIGsgMTk5MCBvIC0gUyAzMCAyIDAgLQotLVIgayAxOTkxIG8gLSBBcCAxIDAgMSBTCi0tUiBrIDE5OTEgMTk5MiAtIE8gMSAwIDAgLQotLVIgayAxOTkyIG8gLSBBcCA4IDAgMSBTCi0tUiBrIDE5OTMgbyAtIE1hciAyNiAwIDEgUwotLVIgayAxOTkzIG8gLSBTIDI1IDAgMCAtCi0tUiBrIDE5OTQgMTk5NiAtIEFwIDEgMCAxIFMKLS1SIGsgMTk5NCAyMDA1IC0gTyAxIDAgMCAtCi0tUiBrIDE5OTcgMTk5OCAtIE1hciBsYXN0TSAwIDEgUwotLVIgayAxOTk5IDIwMDYgLSBBcCAxIDAgMSBTCi0tUiBrIDIwMDYgbyAtIFMgMjIgMCAwIC0KLS1SIGsgMjAwNyBvIC0gTWFyIGxhc3RGIDAgMSBTCi0tUiBrIDIwMDcgbyAtIE4gRj49MSAwIDAgLQotLVIgayAyMDA4IG8gLSBBcCBGPj0xIDAgMSBTCi0tUiBrIDIwMDggbyAtIE4gMSAwIDAgLQotLVIgayAyMDA5IG8gLSBNYXIgbGFzdEYgMCAxIFMKLS1SIGsgMjAxMCAyMDExIC0gQXAgRj49MSAwIDEgUwotLVIgayAyMDEyIG1hIC0gTWFyIGxhc3RGIDAgMSBTCi0tUiBrIDIwMDkgbWEgLSBPIGxhc3RGIDAgMCAtCi0rUiBTIDE5MjAgMTkyMyAtIEFwIFN1bj49MTUgMiAxIFMKLStSIFMgMTkyMCAxOTIzIC0gTyBTdW4+PTEgMiAwIC0KLStSIFMgMTk2MiBvIC0gQXAgMjkgMiAxIFMKLStSIFMgMTk2MiBvIC0gTyAxIDIgMCAtCi0rUiBTIDE5NjMgMTk2NSAtIE1heSAxIDIgMSBTCi0rUiBTIDE5NjMgbyAtIFMgMzAgMiAwIC0KLStSIFMgMTk2NCBvIC0gTyAxIDIgMCAtCi0rUiBTIDE5NjUgbyAtIFMgMzAgMiAwIC0KLStSIFMgMTk2NiBvIC0gQXAgMjQgMiAxIFMKLStSIFMgMTk2NiAxOTc2IC0gTyAxIDIgMCAtCi0rUiBTIDE5NjcgMTk3OCAtIE1heSAxIDIgMSBTCi0rUiBTIDE5NzcgMTk3OCAtIFMgMSAyIDAgLQotK1IgUyAxOTgzIDE5ODQgLSBBcCA5IDIgMSBTCi0rUiBTIDE5ODMgMTk4NCAtIE8gMSAyIDAgLQotK1IgUyAxOTg2IG8gLSBGIDE2IDIgMSBTCi0rUiBTIDE5ODYgbyAtIE8gOSAyIDAgLQotK1IgUyAxOTg3IG8gLSBNYXIgMSAyIDEgUwotK1IgUyAxOTg3IDE5ODggLSBPIDMxIDIgMCAtCi0rUiBTIDE5ODggbyAtIE1hciAxNSAyIDEgUwotK1IgUyAxOTg5IG8gLSBNYXIgMzEgMiAxIFMKLStSIFMgMTk4OSBvIC0gTyAxIDIgMCAtCi0rUiBTIDE5OTAgbyAtIEFwIDEgMiAxIFMKLStSIFMgMTk5MCBvIC0gUyAzMCAyIDAgLQotK1IgUyAxOTkxIG8gLSBBcCAxIDAgMSBTCi0rUiBTIDE5OTEgMTk5MiAtIE8gMSAwIDAgLQotK1IgUyAxOTkyIG8gLSBBcCA4IDAgMSBTCi0rUiBTIDE5OTMgbyAtIE1hciAyNiAwIDEgUwotK1IgUyAxOTkzIG8gLSBTIDI1IDAgMCAtCi0rUiBTIDE5OTQgMTk5NiAtIEFwIDEgMCAxIFMKLStSIFMgMTk5NCAyMDA1IC0gTyAxIDAgMCAtCi0rUiBTIDE5OTcgMTk5OCAtIE1hciBsYXN0TSAwIDEgUwotK1IgUyAxOTk5IDIwMDYgLSBBcCAxIDAgMSBTCi0rUiBTIDIwMDYgbyAtIFMgMjIgMCAwIC0KLStSIFMgMjAwNyBvIC0gTWFyIGxhc3RGIDAgMSBTCi0rUiBTIDIwMDcgbyAtIE4gRj49MSAwIDAgLQotK1IgUyAyMDA4IG8gLSBBcCBGPj0xIDAgMSBTCi0rUiBTIDIwMDggbyAtIE4gMSAwIDAgLQotK1IgUyAyMDA5IG8gLSBNYXIgbGFzdEYgMCAxIFMKLStSIFMgMjAxMCAyMDExIC0gQXAgRj49MSAwIDEgUwotK1IgUyAyMDEyIG1hIC0gTWFyIGxhc3RGIDAgMSBTCi0rUiBTIDIwMDkgbWEgLSBPIGxhc3RGIDAgMCAtCi0gWiBBc2lhL0RhbWFzY3VzIDI6MjU6MTIgLSBMTVQgMTkyMAotLTIgayBFRSVzVAotKzIgUyBFRSVzVAotIFogQXNpYS9EdXNoYW5iZSA0OjM1OjEyIC0gTE1UIDE5MjQgTWF5IDIKLSA1IC0gKzA1IDE5MzAgSnVuIDIxCi0tNiBNICswNi8rMDcgMTk5MSBNYXIgMzEgMnMKLSs2IFIgKzA2LyswNyAxOTkxIE1hciAzMSAycwotIDUgMSArMDUvKzA2IDE5OTEgUyA5IDJzCi0gNSAtICswNQotIFogQXNpYS9CYW5na29rIDY6NDI6NCAtIExNVCAxODgwCi1AQCAtMTAwMCw4ICsxMDI0LDggQEAgTGkgQXNpYS9CYW5na29rIEFzaWEvUGhub21fUGVuaAotIExpIEFzaWEvQmFuZ2tvayBBc2lhL1ZpZW50aWFuZQotIFogQXNpYS9Bc2hnYWJhdCAzOjUzOjMyIC0gTE1UIDE5MjQgTWF5IDIKLSA0IC0gKzA0IDE5MzAgSnVuIDIxCi0tNSBNICswNS8rMDYgMTk5MSBNYXIgMzEgMgotLTQgTSArMDQvKzA1IDE5OTIgSmEgMTkgMgotKzUgUiArMDUvKzA2IDE5OTEgTWFyIDMxIDIKLSs0IFIgKzA0LyswNSAxOTkyIEphIDE5IDIKLSA1IC0gKzA1Ci0gWiBBc2lhL0R1YmFpIDM6NDE6MTIgLSBMTVQgMTkyMAotIDQgLSArMDQKLUBAIC0xMDExLDEyICsxMDM1LDEyIEBAIFogQXNpYS9TYW1hcmthbmQgNDoyNzo1MyAtIExNVCAxOTI0IE1heSAyCi0gNSAtICswNSAxOTgxIEFwCi0gNSAxICswNiAxOTgxIE8KLSA2IC0gKzA2IDE5ODIgQXAKLS01IE0gKzA1LyswNiAxOTkyCi0rNSBSICswNS8rMDYgMTk5MgotIDUgLSArMDUKLSBaIEFzaWEvVGFzaGtlbnQgNDozNzoxMSAtIExNVCAxOTI0IE1heSAyCi0gNSAtICswNSAxOTMwIEp1biAyMQotLTYgTSArMDYvKzA3IDE5OTEgTWFyIDMxIDIKLS01IE0gKzA1LyswNiAxOTkyCi0rNiBSICswNi8rMDcgMTk5MSBNYXIgMzEgMgotKzUgUiArMDUvKzA2IDE5OTIKLSA1IC0gKzA1Ci0gWiBBc2lhL0hvX0NoaV9NaW5oIDc6Njo0MCAtIExNVCAxOTA2IEp1bAotIDc6NjozMCAtIFBMTVQgMTkxMSBNYXkKLUBAIC0xMDI4LDE3NiArMTA1MiwxNzYgQEAgWiBBc2lhL0hvX0NoaV9NaW5oIDc6Njo0MCAtIExNVCAxOTA2IEp1bAotIDcgLSArMDcgMTk1OSBEIDMxIDIzCi0gOCAtICswOCAxOTc1IEp1biAxMwotIDcgLSArMDcKLS1SIGwgMTkxNyBvIC0gSmEgMSAwOjEgMSBECi0tUiBsIDE5MTcgbyAtIE1hciAyNSAyIDAgUwotLVIgbCAxOTQyIG8gLSBKYSAxIDIgMSBECi0tUiBsIDE5NDIgbyAtIE1hciAyOSAyIDAgUwotLVIgbCAxOTQyIG8gLSBTIDI3IDIgMSBECi0tUiBsIDE5NDMgMTk0NCAtIE1hciBsYXN0U3VuIDIgMCBTCi0tUiBsIDE5NDMgbyAtIE8gMyAyIDEgRAotK1IgQVUgMTkxNyBvIC0gSmEgMSAwOjEgMSBECi0rUiBBVSAxOTE3IG8gLSBNYXIgMjUgMiAwIFMKLStSIEFVIDE5NDIgbyAtIEphIDEgMiAxIEQKLStSIEFVIDE5NDIgbyAtIE1hciAyOSAyIDAgUwotK1IgQVUgMTk0MiBvIC0gUyAyNyAyIDEgRAotK1IgQVUgMTk0MyAxOTQ0IC0gTWFyIGxhc3RTdW4gMiAwIFMKLStSIEFVIDE5NDMgbyAtIE8gMyAyIDEgRAotIFogQXVzdHJhbGlhL0RhcndpbiA4OjQzOjIwIC0gTE1UIDE4OTUgRgotIDkgLSBBQ1NUIDE4OTkgTWF5Ci0tOTozMCBsIEFDJXNUCi0tUiBtIDE5NzQgbyAtIE8gbGFzdFN1biAycyAxIEQKLS1SIG0gMTk3NSBvIC0gTWFyIFN1bj49MSAycyAwIFMKLS1SIG0gMTk4MyBvIC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgbSAxOTg0IG8gLSBNYXIgU3VuPj0xIDJzIDAgUwotLVIgbSAxOTkxIG8gLSBOIDE3IDJzIDEgRAotLVIgbSAxOTkyIG8gLSBNYXIgU3VuPj0xIDJzIDAgUwotLVIgbSAyMDA2IG8gLSBEIDMgMnMgMSBECi0tUiBtIDIwMDcgMjAwOSAtIE1hciBsYXN0U3VuIDJzIDAgUwotLVIgbSAyMDA3IDIwMDggLSBPIGxhc3RTdW4gMnMgMSBECi0rOTozMCBBVSBBQyVzVAotK1IgQVcgMTk3NCBvIC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQVcgMTk3NSBvIC0gTWFyIFN1bj49MSAycyAwIFMKLStSIEFXIDE5ODMgbyAtIE8gbGFzdFN1biAycyAxIEQKLStSIEFXIDE5ODQgbyAtIE1hciBTdW4+PTEgMnMgMCBTCi0rUiBBVyAxOTkxIG8gLSBOIDE3IDJzIDEgRAotK1IgQVcgMTk5MiBvIC0gTWFyIFN1bj49MSAycyAwIFMKLStSIEFXIDIwMDYgbyAtIEQgMyAycyAxIEQKLStSIEFXIDIwMDcgMjAwOSAtIE1hciBsYXN0U3VuIDJzIDAgUwotK1IgQVcgMjAwNyAyMDA4IC0gTyBsYXN0U3VuIDJzIDEgRAotIFogQXVzdHJhbGlhL1BlcnRoIDc6NDM6MjQgLSBMTVQgMTg5NSBECi0tOCBsIEFXJXNUIDE5NDMgSnVsCi0tOCBtIEFXJXNUCi0rOCBBVSBBVyVzVCAxOTQzIEp1bAotKzggQVcgQVclc1QKLSBaIEF1c3RyYWxpYS9FdWNsYSA4OjM1OjI4IC0gTE1UIDE4OTUgRAotLTg6NDUgbCArMDg0NS8rMDk0NSAxOTQzIEp1bAotLTg6NDUgbSArMDg0NS8rMDk0NQotLVIgbiAxOTcxIG8gLSBPIGxhc3RTdW4gMnMgMSBECi0tUiBuIDE5NzIgbyAtIEYgbGFzdFN1biAycyAwIFMKLS1SIG4gMTk4OSAxOTkxIC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgbiAxOTkwIDE5OTIgLSBNYXIgU3VuPj0xIDJzIDAgUwotLVIgbyAxOTkyIDE5OTMgLSBPIGxhc3RTdW4gMnMgMSBECi0tUiBvIDE5OTMgMTk5NCAtIE1hciBTdW4+PTEgMnMgMCBTCi0rODo0NSBBVSArMDg0NS8rMDk0NSAxOTQzIEp1bAotKzg6NDUgQVcgKzA4NDUvKzA5NDUKLStSIEFRIDE5NzEgbyAtIE8gbGFzdFN1biAycyAxIEQKLStSIEFRIDE5NzIgbyAtIEYgbGFzdFN1biAycyAwIFMKLStSIEFRIDE5ODkgMTk5MSAtIE8gbGFzdFN1biAycyAxIEQKLStSIEFRIDE5OTAgMTk5MiAtIE1hciBTdW4+PTEgMnMgMCBTCi0rUiBIbyAxOTkyIDE5OTMgLSBPIGxhc3RTdW4gMnMgMSBECi0rUiBIbyAxOTkzIDE5OTQgLSBNYXIgU3VuPj0xIDJzIDAgUwotIFogQXVzdHJhbGlhL0JyaXNiYW5lIDEwOjEyOjggLSBMTVQgMTg5NQotLTEwIGwgQUUlc1QgMTk3MQotLTEwIG4gQUUlc1QKLSsxMCBBVSBBRSVzVCAxOTcxCi0rMTAgQVEgQUUlc1QKLSBaIEF1c3RyYWxpYS9MaW5kZW1hbiA5OjU1OjU2IC0gTE1UIDE4OTUKLS0xMCBsIEFFJXNUIDE5NzEKLS0xMCBuIEFFJXNUIDE5OTIgSnVsCi0tMTAgbyBBRSVzVAotLVIgcCAxOTcxIDE5ODUgLSBPIGxhc3RTdW4gMnMgMSBECi0tUiBwIDE5ODYgbyAtIE8gMTkgMnMgMSBECi0tUiBwIDE5ODcgMjAwNyAtIE8gbGFzdFN1biAycyAxIEQKLS1SIHAgMTk3MiBvIC0gRiAyNyAycyAwIFMKLS1SIHAgMTk3MyAxOTg1IC0gTWFyIFN1bj49MSAycyAwIFMKLS1SIHAgMTk4NiAxOTkwIC0gTWFyIFN1bj49MTUgMnMgMCBTCi0tUiBwIDE5OTEgbyAtIE1hciAzIDJzIDAgUwotLVIgcCAxOTkyIG8gLSBNYXIgMjIgMnMgMCBTCi0tUiBwIDE5OTMgbyAtIE1hciA3IDJzIDAgUwotLVIgcCAxOTk0IG8gLSBNYXIgMjAgMnMgMCBTCi0tUiBwIDE5OTUgMjAwNSAtIE1hciBsYXN0U3VuIDJzIDAgUwotLVIgcCAyMDA2IG8gLSBBcCAyIDJzIDAgUwotLVIgcCAyMDA3IG8gLSBNYXIgbGFzdFN1biAycyAwIFMKLS1SIHAgMjAwOCBtYSAtIEFwIFN1bj49MSAycyAwIFMKLS1SIHAgMjAwOCBtYSAtIE8gU3VuPj0xIDJzIDEgRAotKzEwIEFVIEFFJXNUIDE5NzEKLSsxMCBBUSBBRSVzVCAxOTkyIEp1bAotKzEwIEhvIEFFJXNUCi0rUiBBUyAxOTcxIDE5ODUgLSBPIGxhc3RTdW4gMnMgMSBECi0rUiBBUyAxOTg2IG8gLSBPIDE5IDJzIDEgRAotK1IgQVMgMTk4NyAyMDA3IC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQVMgMTk3MiBvIC0gRiAyNyAycyAwIFMKLStSIEFTIDE5NzMgMTk4NSAtIE1hciBTdW4+PTEgMnMgMCBTCi0rUiBBUyAxOTg2IDE5OTAgLSBNYXIgU3VuPj0xNSAycyAwIFMKLStSIEFTIDE5OTEgbyAtIE1hciAzIDJzIDAgUwotK1IgQVMgMTk5MiBvIC0gTWFyIDIyIDJzIDAgUwotK1IgQVMgMTk5MyBvIC0gTWFyIDcgMnMgMCBTCi0rUiBBUyAxOTk0IG8gLSBNYXIgMjAgMnMgMCBTCi0rUiBBUyAxOTk1IDIwMDUgLSBNYXIgbGFzdFN1biAycyAwIFMKLStSIEFTIDIwMDYgbyAtIEFwIDIgMnMgMCBTCi0rUiBBUyAyMDA3IG8gLSBNYXIgbGFzdFN1biAycyAwIFMKLStSIEFTIDIwMDggbWEgLSBBcCBTdW4+PTEgMnMgMCBTCi0rUiBBUyAyMDA4IG1hIC0gTyBTdW4+PTEgMnMgMSBECi0gWiBBdXN0cmFsaWEvQWRlbGFpZGUgOToxNDoyMCAtIExNVCAxODk1IEYKLSA5IC0gQUNTVCAxODk5IE1heQotLTk6MzAgbCBBQyVzVCAxOTcxCi0tOTozMCBwIEFDJXNUCi0tUiBxIDE5NjcgbyAtIE8gU3VuPj0xIDJzIDEgRAotLVIgcSAxOTY4IG8gLSBNYXIgbGFzdFN1biAycyAwIFMKLS1SIHEgMTk2OCAxOTg1IC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgcSAxOTY5IDE5NzEgLSBNYXIgU3VuPj04IDJzIDAgUwotLVIgcSAxOTcyIG8gLSBGIGxhc3RTdW4gMnMgMCBTCi0tUiBxIDE5NzMgMTk4MSAtIE1hciBTdW4+PTEgMnMgMCBTCi0tUiBxIDE5ODIgMTk4MyAtIE1hciBsYXN0U3VuIDJzIDAgUwotLVIgcSAxOTg0IDE5ODYgLSBNYXIgU3VuPj0xIDJzIDAgUwotLVIgcSAxOTg2IG8gLSBPIFN1bj49MTUgMnMgMSBECi0tUiBxIDE5ODcgMTk5MCAtIE1hciBTdW4+PTE1IDJzIDAgUwotLVIgcSAxOTg3IG8gLSBPIFN1bj49MjIgMnMgMSBECi0tUiBxIDE5ODggMTk5MCAtIE8gbGFzdFN1biAycyAxIEQKLS1SIHEgMTk5MSAxOTk5IC0gTyBTdW4+PTEgMnMgMSBECi0tUiBxIDE5OTEgMjAwNSAtIE1hciBsYXN0U3VuIDJzIDAgUwotLVIgcSAyMDAwIG8gLSBBdSBsYXN0U3VuIDJzIDEgRAotLVIgcSAyMDAxIG1hIC0gTyBTdW4+PTEgMnMgMSBECi0tUiBxIDIwMDYgbyAtIEFwIFN1bj49MSAycyAwIFMKLS1SIHEgMjAwNyBvIC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0tUiBxIDIwMDggbWEgLSBBcCBTdW4+PTEgMnMgMCBTCi0rOTozMCBBVSBBQyVzVCAxOTcxCi0rOTozMCBBUyBBQyVzVAotK1IgQVQgMTk2NyBvIC0gTyBTdW4+PTEgMnMgMSBECi0rUiBBVCAxOTY4IG8gLSBNYXIgbGFzdFN1biAycyAwIFMKLStSIEFUIDE5NjggMTk4NSAtIE8gbGFzdFN1biAycyAxIEQKLStSIEFUIDE5NjkgMTk3MSAtIE1hciBTdW4+PTggMnMgMCBTCi0rUiBBVCAxOTcyIG8gLSBGIGxhc3RTdW4gMnMgMCBTCi0rUiBBVCAxOTczIDE5ODEgLSBNYXIgU3VuPj0xIDJzIDAgUwotK1IgQVQgMTk4MiAxOTgzIC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0rUiBBVCAxOTg0IDE5ODYgLSBNYXIgU3VuPj0xIDJzIDAgUwotK1IgQVQgMTk4NiBvIC0gTyBTdW4+PTE1IDJzIDEgRAotK1IgQVQgMTk4NyAxOTkwIC0gTWFyIFN1bj49MTUgMnMgMCBTCi0rUiBBVCAxOTg3IG8gLSBPIFN1bj49MjIgMnMgMSBECi0rUiBBVCAxOTg4IDE5OTAgLSBPIGxhc3RTdW4gMnMgMSBECi0rUiBBVCAxOTkxIDE5OTkgLSBPIFN1bj49MSAycyAxIEQKLStSIEFUIDE5OTEgMjAwNSAtIE1hciBsYXN0U3VuIDJzIDAgUwotK1IgQVQgMjAwMCBvIC0gQXUgbGFzdFN1biAycyAxIEQKLStSIEFUIDIwMDEgbWEgLSBPIFN1bj49MSAycyAxIEQKLStSIEFUIDIwMDYgbyAtIEFwIFN1bj49MSAycyAwIFMKLStSIEFUIDIwMDcgbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotK1IgQVQgMjAwOCBtYSAtIEFwIFN1bj49MSAycyAwIFMKLSBaIEF1c3RyYWxpYS9Ib2JhcnQgOTo0OToxNiAtIExNVCAxODk1IFMKLSAxMCAtIEFFU1QgMTkxNiBPIDEgMgotIDEwIDEgQUVEVCAxOTE3IEYKLS0xMCBsIEFFJXNUIDE5NjcKLS0xMCBxIEFFJXNUCi0rMTAgQVUgQUUlc1QgMTk2NwotKzEwIEFUIEFFJXNUCi0gWiBBdXN0cmFsaWEvQ3VycmllIDk6MzU6MjggLSBMTVQgMTg5NSBTCi0gMTAgLSBBRVNUIDE5MTYgTyAxIDIKLSAxMCAxIEFFRFQgMTkxNyBGCi0tMTAgbCBBRSVzVCAxOTcxIEp1bAotLTEwIHEgQUUlc1QKLS1SIHIgMTk3MSAxOTg1IC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgciAxOTcyIG8gLSBGIGxhc3RTdW4gMnMgMCBTCi0tUiByIDE5NzMgMTk4NSAtIE1hciBTdW4+PTEgMnMgMCBTCi0tUiByIDE5ODYgMTk5MCAtIE1hciBTdW4+PTE1IDJzIDAgUwotLVIgciAxOTg2IDE5ODcgLSBPIFN1bj49MTUgMnMgMSBECi0tUiByIDE5ODggMTk5OSAtIE8gbGFzdFN1biAycyAxIEQKLS1SIHIgMTk5MSAxOTk0IC0gTWFyIFN1bj49MSAycyAwIFMKLS1SIHIgMTk5NSAyMDA1IC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0tUiByIDIwMDAgbyAtIEF1IGxhc3RTdW4gMnMgMSBECi0tUiByIDIwMDEgMjAwNyAtIE8gbGFzdFN1biAycyAxIEQKLS1SIHIgMjAwNiBvIC0gQXAgU3VuPj0xIDJzIDAgUwotLVIgciAyMDA3IG8gLSBNYXIgbGFzdFN1biAycyAwIFMKLS1SIHIgMjAwOCBtYSAtIEFwIFN1bj49MSAycyAwIFMKLS1SIHIgMjAwOCBtYSAtIE8gU3VuPj0xIDJzIDEgRAotKzEwIEFVIEFFJXNUIDE5NzEgSnVsCi0rMTAgQVQgQUUlc1QKLStSIEFWIDE5NzEgMTk4NSAtIE8gbGFzdFN1biAycyAxIEQKLStSIEFWIDE5NzIgbyAtIEYgbGFzdFN1biAycyAwIFMKLStSIEFWIDE5NzMgMTk4NSAtIE1hciBTdW4+PTEgMnMgMCBTCi0rUiBBViAxOTg2IDE5OTAgLSBNYXIgU3VuPj0xNSAycyAwIFMKLStSIEFWIDE5ODYgMTk4NyAtIE8gU3VuPj0xNSAycyAxIEQKLStSIEFWIDE5ODggMTk5OSAtIE8gbGFzdFN1biAycyAxIEQKLStSIEFWIDE5OTEgMTk5NCAtIE1hciBTdW4+PTEgMnMgMCBTCi0rUiBBViAxOTk1IDIwMDUgLSBNYXIgbGFzdFN1biAycyAwIFMKLStSIEFWIDIwMDAgbyAtIEF1IGxhc3RTdW4gMnMgMSBECi0rUiBBViAyMDAxIDIwMDcgLSBPIGxhc3RTdW4gMnMgMSBECi0rUiBBViAyMDA2IG8gLSBBcCBTdW4+PTEgMnMgMCBTCi0rUiBBViAyMDA3IG8gLSBNYXIgbGFzdFN1biAycyAwIFMKLStSIEFWIDIwMDggbWEgLSBBcCBTdW4+PTEgMnMgMCBTCi0rUiBBViAyMDA4IG1hIC0gTyBTdW4+PTEgMnMgMSBECi0gWiBBdXN0cmFsaWEvTWVsYm91cm5lIDk6Mzk6NTIgLSBMTVQgMTg5NSBGCi0tMTAgbCBBRSVzVCAxOTcxCi0tMTAgciBBRSVzVAotLVIgcyAxOTcxIDE5ODUgLSBPIGxhc3RTdW4gMnMgMSBECi0tUiBzIDE5NzIgbyAtIEYgMjcgMnMgMCBTCi0tUiBzIDE5NzMgMTk4MSAtIE1hciBTdW4+PTEgMnMgMCBTCi0tUiBzIDE5ODIgbyAtIEFwIFN1bj49MSAycyAwIFMKLS1SIHMgMTk4MyAxOTg1IC0gTWFyIFN1bj49MSAycyAwIFMKLS1SIHMgMTk4NiAxOTg5IC0gTWFyIFN1bj49MTUgMnMgMCBTCi0tUiBzIDE5ODYgbyAtIE8gMTkgMnMgMSBECi0tUiBzIDE5ODcgMTk5OSAtIE8gbGFzdFN1biAycyAxIEQKLS1SIHMgMTk5MCAxOTk1IC0gTWFyIFN1bj49MSAycyAwIFMKLS1SIHMgMTk5NiAyMDA1IC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0tUiBzIDIwMDAgbyAtIEF1IGxhc3RTdW4gMnMgMSBECi0tUiBzIDIwMDEgMjAwNyAtIE8gbGFzdFN1biAycyAxIEQKLS1SIHMgMjAwNiBvIC0gQXAgU3VuPj0xIDJzIDAgUwotLVIgcyAyMDA3IG8gLSBNYXIgbGFzdFN1biAycyAwIFMKLS1SIHMgMjAwOCBtYSAtIEFwIFN1bj49MSAycyAwIFMKLS1SIHMgMjAwOCBtYSAtIE8gU3VuPj0xIDJzIDEgRAotKzEwIEFVIEFFJXNUIDE5NzEKLSsxMCBBViBBRSVzVAotK1IgQU4gMTk3MSAxOTg1IC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQU4gMTk3MiBvIC0gRiAyNyAycyAwIFMKLStSIEFOIDE5NzMgMTk4MSAtIE1hciBTdW4+PTEgMnMgMCBTCi0rUiBBTiAxOTgyIG8gLSBBcCBTdW4+PTEgMnMgMCBTCi0rUiBBTiAxOTgzIDE5ODUgLSBNYXIgU3VuPj0xIDJzIDAgUwotK1IgQU4gMTk4NiAxOTg5IC0gTWFyIFN1bj49MTUgMnMgMCBTCi0rUiBBTiAxOTg2IG8gLSBPIDE5IDJzIDEgRAotK1IgQU4gMTk4NyAxOTk5IC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQU4gMTk5MCAxOTk1IC0gTWFyIFN1bj49MSAycyAwIFMKLStSIEFOIDE5OTYgMjAwNSAtIE1hciBsYXN0U3VuIDJzIDAgUwotK1IgQU4gMjAwMCBvIC0gQXUgbGFzdFN1biAycyAxIEQKLStSIEFOIDIwMDEgMjAwNyAtIE8gbGFzdFN1biAycyAxIEQKLStSIEFOIDIwMDYgbyAtIEFwIFN1bj49MSAycyAwIFMKLStSIEFOIDIwMDcgbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotK1IgQU4gMjAwOCBtYSAtIEFwIFN1bj49MSAycyAwIFMKLStSIEFOIDIwMDggbWEgLSBPIFN1bj49MSAycyAxIEQKLSBaIEF1c3RyYWxpYS9TeWRuZXkgMTA6NDo1MiAtIExNVCAxODk1IEYKLS0xMCBsIEFFJXNUIDE5NzEKLS0xMCBzIEFFJXNUCi0rMTAgQVUgQUUlc1QgMTk3MQotKzEwIEFOIEFFJXNUCi0gWiBBdXN0cmFsaWEvQnJva2VuX0hpbGwgOToyNTo0OCAtIExNVCAxODk1IEYKLSAxMCAtIEFFU1QgMTg5NiBBdSAyMwotIDkgLSBBQ1NUIDE4OTkgTWF5Ci0tOTozMCBsIEFDJXNUIDE5NzEKLS05OjMwIHMgQUMlc1QgMjAwMAotLTk6MzAgcCBBQyVzVAotLVIgdCAxOTgxIDE5ODQgLSBPIGxhc3RTdW4gMiAxIC0KLS1SIHQgMTk4MiAxOTg1IC0gTWFyIFN1bj49MSAyIDAgLQotLVIgdCAxOTg1IG8gLSBPIGxhc3RTdW4gMiAwOjMwIC0KLS1SIHQgMTk4NiAxOTg5IC0gTWFyIFN1bj49MTUgMiAwIC0KLS1SIHQgMTk4NiBvIC0gTyAxOSAyIDA6MzAgLQotLVIgdCAxOTg3IDE5OTkgLSBPIGxhc3RTdW4gMiAwOjMwIC0KLS1SIHQgMTk5MCAxOTk1IC0gTWFyIFN1bj49MSAyIDAgLQotLVIgdCAxOTk2IDIwMDUgLSBNYXIgbGFzdFN1biAyIDAgLQotLVIgdCAyMDAwIG8gLSBBdSBsYXN0U3VuIDIgMDozMCAtCi0tUiB0IDIwMDEgMjAwNyAtIE8gbGFzdFN1biAyIDA6MzAgLQotLVIgdCAyMDA2IG8gLSBBcCBTdW4+PTEgMiAwIC0KLS1SIHQgMjAwNyBvIC0gTWFyIGxhc3RTdW4gMiAwIC0KLS1SIHQgMjAwOCBtYSAtIEFwIFN1bj49MSAyIDAgLQotLVIgdCAyMDA4IG1hIC0gTyBTdW4+PTEgMiAwOjMwIC0KLSs5OjMwIEFVIEFDJXNUIDE5NzEKLSs5OjMwIEFOIEFDJXNUIDIwMDAKLSs5OjMwIEFTIEFDJXNUCi0rUiBMSCAxOTgxIDE5ODQgLSBPIGxhc3RTdW4gMiAxIC0KLStSIExIIDE5ODIgMTk4NSAtIE1hciBTdW4+PTEgMiAwIC0KLStSIExIIDE5ODUgbyAtIE8gbGFzdFN1biAyIDA6MzAgLQotK1IgTEggMTk4NiAxOTg5IC0gTWFyIFN1bj49MTUgMiAwIC0KLStSIExIIDE5ODYgbyAtIE8gMTkgMiAwOjMwIC0KLStSIExIIDE5ODcgMTk5OSAtIE8gbGFzdFN1biAyIDA6MzAgLQotK1IgTEggMTk5MCAxOTk1IC0gTWFyIFN1bj49MSAyIDAgLQotK1IgTEggMTk5NiAyMDA1IC0gTWFyIGxhc3RTdW4gMiAwIC0KLStSIExIIDIwMDAgbyAtIEF1IGxhc3RTdW4gMiAwOjMwIC0KLStSIExIIDIwMDEgMjAwNyAtIE8gbGFzdFN1biAyIDA6MzAgLQotK1IgTEggMjAwNiBvIC0gQXAgU3VuPj0xIDIgMCAtCi0rUiBMSCAyMDA3IG8gLSBNYXIgbGFzdFN1biAyIDAgLQotK1IgTEggMjAwOCBtYSAtIEFwIFN1bj49MSAyIDAgLQotK1IgTEggMjAwOCBtYSAtIE8gU3VuPj0xIDIgMDozMCAtCi0gWiBBdXN0cmFsaWEvTG9yZF9Ib3dlIDEwOjM2OjIwIC0gTE1UIDE4OTUgRgotIDEwIC0gQUVTVCAxOTgxIE1hcgotLTEwOjMwIHQgKzEwMzAvKzExMzAgMTk4NSBKdWwKLS0xMDozMCB0ICsxMDMwLysxMQotKzEwOjMwIExIICsxMDMwLysxMTMwIDE5ODUgSnVsCi0rMTA6MzAgTEggKzEwMzAvKzExCi0gWiBBbnRhcmN0aWNhL01hY3F1YXJpZSAwIC0gLTAwIDE4OTkgTgotIDEwIC0gQUVTVCAxOTE2IE8gMSAyCi0gMTAgMSBBRURUIDE5MTcgRgotLTEwIGwgQUUlc1QgMTkxOSBBcCAxIDBzCi0rMTAgQVUgQUUlc1QgMTkxOSBBcCAxIDBzCi0gMCAtIC0wMCAxOTQ4IE1hciAyNQotLTEwIGwgQUUlc1QgMTk2NwotLTEwIHEgQUUlc1QgMjAxMCBBcCA0IDMKLSsxMCBBVSBBRSVzVCAxOTY3Ci0rMTAgQVQgQUUlc1QgMjAxMCBBcCA0IDMKLSAxMSAtICsxMQotIFogSW5kaWFuL0NocmlzdG1hcyA3OjI6NTIgLSBMTVQgMTg5NSBGCi0gNyAtICswNwotIFogSW5kaWFuL0NvY29zIDY6Mjc6NDAgLSBMTVQgMTkwMAotIDY6MzAgLSArMDYzMAotLVIgdSAxOTk4IDE5OTkgLSBOIFN1bj49MSAyIDEgLQotLVIgdSAxOTk5IDIwMDAgLSBGIGxhc3RTdW4gMyAwIC0KLS1SIHUgMjAwOSBvIC0gTiAyOSAyIDEgLQotLVIgdSAyMDEwIG8gLSBNYXIgbGFzdFN1biAzIDAgLQotLVIgdSAyMDEwIDIwMTMgLSBPIFN1bj49MjEgMiAxIC0KLS1SIHUgMjAxMSBvIC0gTWFyIFN1bj49MSAzIDAgLQotLVIgdSAyMDEyIDIwMTMgLSBKYSBTdW4+PTE4IDMgMCAtCi0tUiB1IDIwMTQgbyAtIEphIFN1bj49MTggMiAwIC0KLS1SIHUgMjAxNCBtYSAtIE4gU3VuPj0xIDIgMSAtCi0tUiB1IDIwMTUgbWEgLSBKYSBTdW4+PTE0IDMgMCAtCi0rUiBGSiAxOTk4IDE5OTkgLSBOIFN1bj49MSAyIDEgLQotK1IgRkogMTk5OSAyMDAwIC0gRiBsYXN0U3VuIDMgMCAtCi0rUiBGSiAyMDA5IG8gLSBOIDI5IDIgMSAtCi0rUiBGSiAyMDEwIG8gLSBNYXIgbGFzdFN1biAzIDAgLQotK1IgRkogMjAxMCAyMDEzIC0gTyBTdW4+PTIxIDIgMSAtCi0rUiBGSiAyMDExIG8gLSBNYXIgU3VuPj0xIDMgMCAtCi0rUiBGSiAyMDEyIDIwMTMgLSBKYSBTdW4+PTE4IDMgMCAtCi0rUiBGSiAyMDE0IG8gLSBKYSBTdW4+PTE4IDIgMCAtCi0rUiBGSiAyMDE0IG1hIC0gTiBTdW4+PTEgMiAxIC0KLStSIEZKIDIwMTUgbWEgLSBKYSBTdW4+PTEzIDMgMCAtCi0gWiBQYWNpZmljL0ZpamkgMTE6NTU6NDQgLSBMTVQgMTkxNSBPIDI2Ci0tMTIgdSArMTIvKzEzCi0rMTIgRkogKzEyLysxMwotIFogUGFjaWZpYy9HYW1iaWVyIC04OjU5OjQ4IC0gTE1UIDE5MTIgTwotIC05IC0gLTA5Ci0gWiBQYWNpZmljL01hcnF1ZXNhcyAtOToxOCAtIExNVCAxOTEyIE8KLUBAIC0xMjM5LDUwICsxMjYzLDUwIEBAIFogUGFjaWZpYy9OYXVydSAxMTo3OjQwIC0gTE1UIDE5MjEgSmEgMTUKLSA5IC0gKzA5IDE5NDQgQXUgMTUKLSAxMTozMCAtICsxMTMwIDE5NzkgTWF5Ci0gMTIgLSArMTIKLS1SIHYgMTk3NyAxOTc4IC0gRCBTdW4+PTEgMCAxIC0KLS1SIHYgMTk3OCAxOTc5IC0gRiAyNyAwIDAgLQotLVIgdiAxOTk2IG8gLSBEIDEgMnMgMSAtCi0tUiB2IDE5OTcgbyAtIE1hciAyIDJzIDAgLQotK1IgTkMgMTk3NyAxOTc4IC0gRCBTdW4+PTEgMCAxIC0KLStSIE5DIDE5NzggMTk3OSAtIEYgMjcgMCAwIC0KLStSIE5DIDE5OTYgbyAtIEQgMSAycyAxIC0KLStSIE5DIDE5OTcgbyAtIE1hciAyIDJzIDAgLQotIFogUGFjaWZpYy9Ob3VtZWEgMTE6NTo0OCAtIExNVCAxOTEyIEphIDEzCi0tMTEgdiArMTEvKzEyCi0tUiB3IDE5MjcgbyAtIE4gNiAyIDEgUwotLVIgdyAxOTI4IG8gLSBNYXIgNCAyIDAgTQotLVIgdyAxOTI4IDE5MzMgLSBPIFN1bj49OCAyIDA6MzAgUwotLVIgdyAxOTI5IDE5MzMgLSBNYXIgU3VuPj0xNSAyIDAgTQotLVIgdyAxOTM0IDE5NDAgLSBBcCBsYXN0U3VuIDIgMCBNCi0tUiB3IDE5MzQgMTk0MCAtIFMgbGFzdFN1biAyIDA6MzAgUwotLVIgdyAxOTQ2IG8gLSBKYSAxIDAgMCBTCi0tUiB3IDE5NzQgbyAtIE4gU3VuPj0xIDJzIDEgRAotLVIgeCAxOTc0IG8gLSBOIFN1bj49MSAyOjQ1cyAxIC0KLS1SIHcgMTk3NSBvIC0gRiBsYXN0U3VuIDJzIDAgUwotLVIgeCAxOTc1IG8gLSBGIGxhc3RTdW4gMjo0NXMgMCAtCi0tUiB3IDE5NzUgMTk4OCAtIE8gbGFzdFN1biAycyAxIEQKLS1SIHggMTk3NSAxOTg4IC0gTyBsYXN0U3VuIDI6NDVzIDEgLQotLVIgdyAxOTc2IDE5ODkgLSBNYXIgU3VuPj0xIDJzIDAgUwotLVIgeCAxOTc2IDE5ODkgLSBNYXIgU3VuPj0xIDI6NDVzIDAgLQotLVIgdyAxOTg5IG8gLSBPIFN1bj49OCAycyAxIEQKLS1SIHggMTk4OSBvIC0gTyBTdW4+PTggMjo0NXMgMSAtCi0tUiB3IDE5OTAgMjAwNiAtIE8gU3VuPj0xIDJzIDEgRAotLVIgeCAxOTkwIDIwMDYgLSBPIFN1bj49MSAyOjQ1cyAxIC0KLS1SIHcgMTk5MCAyMDA3IC0gTWFyIFN1bj49MTUgMnMgMCBTCi0tUiB4IDE5OTAgMjAwNyAtIE1hciBTdW4+PTE1IDI6NDVzIDAgLQotLVIgdyAyMDA3IG1hIC0gUyBsYXN0U3VuIDJzIDEgRAotLVIgeCAyMDA3IG1hIC0gUyBsYXN0U3VuIDI6NDVzIDEgLQotLVIgdyAyMDA4IG1hIC0gQXAgU3VuPj0xIDJzIDAgUwotLVIgeCAyMDA4IG1hIC0gQXAgU3VuPj0xIDI6NDVzIDAgLQotKzExIE5DICsxMS8rMTIKLStSIE5aIDE5MjcgbyAtIE4gNiAyIDEgUwotK1IgTlogMTkyOCBvIC0gTWFyIDQgMiAwIE0KLStSIE5aIDE5MjggMTkzMyAtIE8gU3VuPj04IDIgMDozMCBTCi0rUiBOWiAxOTI5IDE5MzMgLSBNYXIgU3VuPj0xNSAyIDAgTQotK1IgTlogMTkzNCAxOTQwIC0gQXAgbGFzdFN1biAyIDAgTQotK1IgTlogMTkzNCAxOTQwIC0gUyBsYXN0U3VuIDIgMDozMCBTCi0rUiBOWiAxOTQ2IG8gLSBKYSAxIDAgMCBTCi0rUiBOWiAxOTc0IG8gLSBOIFN1bj49MSAycyAxIEQKLStSIGsgMTk3NCBvIC0gTiBTdW4+PTEgMjo0NXMgMSAtCi0rUiBOWiAxOTc1IG8gLSBGIGxhc3RTdW4gMnMgMCBTCi0rUiBrIDE5NzUgbyAtIEYgbGFzdFN1biAyOjQ1cyAwIC0KLStSIE5aIDE5NzUgMTk4OCAtIE8gbGFzdFN1biAycyAxIEQKLStSIGsgMTk3NSAxOTg4IC0gTyBsYXN0U3VuIDI6NDVzIDEgLQotK1IgTlogMTk3NiAxOTg5IC0gTWFyIFN1bj49MSAycyAwIFMKLStSIGsgMTk3NiAxOTg5IC0gTWFyIFN1bj49MSAyOjQ1cyAwIC0KLStSIE5aIDE5ODkgbyAtIE8gU3VuPj04IDJzIDEgRAotK1IgayAxOTg5IG8gLSBPIFN1bj49OCAyOjQ1cyAxIC0KLStSIE5aIDE5OTAgMjAwNiAtIE8gU3VuPj0xIDJzIDEgRAotK1IgayAxOTkwIDIwMDYgLSBPIFN1bj49MSAyOjQ1cyAxIC0KLStSIE5aIDE5OTAgMjAwNyAtIE1hciBTdW4+PTE1IDJzIDAgUwotK1IgayAxOTkwIDIwMDcgLSBNYXIgU3VuPj0xNSAyOjQ1cyAwIC0KLStSIE5aIDIwMDcgbWEgLSBTIGxhc3RTdW4gMnMgMSBECi0rUiBrIDIwMDcgbWEgLSBTIGxhc3RTdW4gMjo0NXMgMSAtCi0rUiBOWiAyMDA4IG1hIC0gQXAgU3VuPj0xIDJzIDAgUwotK1IgayAyMDA4IG1hIC0gQXAgU3VuPj0xIDI6NDVzIDAgLQotIFogUGFjaWZpYy9BdWNrbGFuZCAxMTozOTo0IC0gTE1UIDE4NjggTiAyCi0tMTE6MzAgdyBOWiVzVCAxOTQ2Ci0tMTIgdyBOWiVzVAotKzExOjMwIE5aIE5aJXNUIDE5NDYKLSsxMiBOWiBOWiVzVAotIFogUGFjaWZpYy9DaGF0aGFtIDEyOjEzOjQ4IC0gTE1UIDE4NjggTiAyCi0gMTI6MTUgLSArMTIxNSAxOTQ2Ci0tMTI6NDUgeCArMTI0NS8rMTM0NQotKzEyOjQ1IGsgKzEyNDUvKzEzNDUKLSBMaSBQYWNpZmljL0F1Y2tsYW5kIEFudGFyY3RpY2EvTWNNdXJkbwotLVIgeSAxOTc4IG8gLSBOIDEyIDAgMDozMCAtCi0tUiB5IDE5NzkgMTk5MSAtIE1hciBTdW4+PTEgMCAwIC0KLS1SIHkgMTk3OSAxOTkwIC0gTyBsYXN0U3VuIDAgMDozMCAtCi0rUiBDSyAxOTc4IG8gLSBOIDEyIDAgMDozMCAtCi0rUiBDSyAxOTc5IDE5OTEgLSBNYXIgU3VuPj0xIDAgMCAtCi0rUiBDSyAxOTc5IDE5OTAgLSBPIGxhc3RTdW4gMCAwOjMwIC0KLSBaIFBhY2lmaWMvUmFyb3RvbmdhIC0xMDozOTo0IC0gTE1UIDE5MDEKLSAtMTA6MzAgLSAtMTAzMCAxOTc4IE4gMTIKLS0tMTAgeSAtMTAvLTA5MzAKLSstMTAgQ0sgLTEwLy0wOTMwCi0gWiBQYWNpZmljL05pdWUgLTExOjE5OjQwIC0gTE1UIDE5MDEKLSAtMTE6MjAgLSAtMTEyMCAxOTUxCi0gLTExOjMwIC0gLTExMzAgMTk3OCBPCi1AQCAtMTMxMSw1NzAgKzEzMzUsNTcwIEBAIFogUGFjaWZpYy9QYWdvX1BhZ28gMTI6Mzc6MTIgLSBMTVQgMTg5MiBKdWwgNQotIC0xMToyMjo0OCAtIExNVCAxOTExCi0gLTExIC0gU1NUCi0gTGkgUGFjaWZpYy9QYWdvX1BhZ28gUGFjaWZpYy9NaWR3YXkKLS1SIHogMjAxMCBvIC0gUyBsYXN0U3VuIDAgMSAtCi0tUiB6IDIwMTEgbyAtIEFwIFNhdD49MSA0IDAgLQotLVIgeiAyMDExIG8gLSBTIGxhc3RTYXQgMyAxIC0KLS1SIHogMjAxMiBtYSAtIEFwIFN1bj49MSA0IDAgLQotLVIgeiAyMDEyIG1hIC0gUyBsYXN0U3VuIDMgMSAtCi0rUiBXUyAyMDEwIG8gLSBTIGxhc3RTdW4gMCAxIC0KLStSIFdTIDIwMTEgbyAtIEFwIFNhdD49MSA0IDAgLQotK1IgV1MgMjAxMSBvIC0gUyBsYXN0U2F0IDMgMSAtCi0rUiBXUyAyMDEyIG1hIC0gQXAgU3VuPj0xIDQgMCAtCi0rUiBXUyAyMDEyIG1hIC0gUyBsYXN0U3VuIDMgMSAtCi0gWiBQYWNpZmljL0FwaWEgMTI6MzM6NCAtIExNVCAxODkyIEp1bCA1Ci0gLTExOjI2OjU2IC0gTE1UIDE5MTEKLSAtMTE6MzAgLSAtMTEzMCAxOTUwCi0tLTExIHogLTExLy0xMCAyMDExIEQgMjkgMjQKLS0xMyB6ICsxMy8rMTQKLSstMTEgV1MgLTExLy0xMCAyMDExIEQgMjkgMjQKLSsxMyBXUyArMTMvKzE0Ci0gWiBQYWNpZmljL0d1YWRhbGNhbmFsIDEwOjM5OjQ4IC0gTE1UIDE5MTIgTwotIDExIC0gKzExCi0gWiBQYWNpZmljL0Zha2FvZm8gLTExOjI0OjU2IC0gTE1UIDE5MDEKLSAtMTEgLSAtMTEgMjAxMSBEIDMwCi0gMTMgLSArMTMKLS1SICEgMTk5OSBvIC0gTyA3IDJzIDEgLQotLVIgISAyMDAwIG8gLSBNYXIgMTkgMnMgMCAtCi0tUiAhIDIwMDAgMjAwMSAtIE4gU3VuPj0xIDIgMSAtCi0tUiAhIDIwMDEgMjAwMiAtIEphIGxhc3RTdW4gMiAwIC0KLS1SICEgMjAxNiBvIC0gTiBTdW4+PTEgMiAxIC0KLS1SICEgMjAxNyBvIC0gSmEgU3VuPj0xNSAzIDAgLQotK1IgVE8gMTk5OSBvIC0gTyA3IDJzIDEgLQotK1IgVE8gMjAwMCBvIC0gTWFyIDE5IDJzIDAgLQotK1IgVE8gMjAwMCAyMDAxIC0gTiBTdW4+PTEgMiAxIC0KLStSIFRPIDIwMDEgMjAwMiAtIEphIGxhc3RTdW4gMiAwIC0KLStSIFRPIDIwMTYgbyAtIE4gU3VuPj0xIDIgMSAtCi0rUiBUTyAyMDE3IG8gLSBKYSBTdW4+PTE1IDMgMCAtCi0gWiBQYWNpZmljL1RvbmdhdGFwdSAxMjoxOToyMCAtIExNVCAxOTAxCi0gMTI6MjAgLSArMTIyMCAxOTQxCi0gMTMgLSArMTMgMTk5OQotLTEzICEgKzEzLysxNAotKzEzIFRPICsxMy8rMTQKLSBaIFBhY2lmaWMvRnVuYWZ1dGkgMTE6NTY6NTIgLSBMTVQgMTkwMQotIDEyIC0gKzEyCi0gWiBQYWNpZmljL1dha2UgMTE6NjoyOCAtIExNVCAxOTAxCi0gMTIgLSArMTIKLS1SICQgMTk4MyBvIC0gUyAyNSAwIDEgLQotLVIgJCAxOTg0IDE5OTEgLSBNYXIgU3VuPj0yMyAwIDAgLQotLVIgJCAxOTg0IG8gLSBPIDIzIDAgMSAtCi0tUiAkIDE5ODUgMTk5MSAtIFMgU3VuPj0yMyAwIDEgLQotLVIgJCAxOTkyIDE5OTMgLSBKYSBTdW4+PTIzIDAgMCAtCi0tUiAkIDE5OTIgbyAtIE8gU3VuPj0yMyAwIDEgLQotK1IgVlUgMTk4MyBvIC0gUyAyNSAwIDEgLQotK1IgVlUgMTk4NCAxOTkxIC0gTWFyIFN1bj49MjMgMCAwIC0KLStSIFZVIDE5ODQgbyAtIE8gMjMgMCAxIC0KLStSIFZVIDE5ODUgMTk5MSAtIFMgU3VuPj0yMyAwIDEgLQotK1IgVlUgMTk5MiAxOTkzIC0gSmEgU3VuPj0yMyAwIDAgLQotK1IgVlUgMTk5MiBvIC0gTyBTdW4+PTIzIDAgMSAtCi0gWiBQYWNpZmljL0VmYXRlIDExOjEzOjE2IC0gTE1UIDE5MTIgSmEgMTMKLS0xMSAkICsxMS8rMTIKLSsxMSBWVSArMTEvKzEyCi0gWiBQYWNpZmljL1dhbGxpcyAxMjoxNToyMCAtIExNVCAxOTAxCi0gMTIgLSArMTIKLS1SICUgMTkxNiBvIC0gTWF5IDIxIDJzIDEgQlNUCi0tUiAlIDE5MTYgbyAtIE8gMSAycyAwIEdNVAotLVIgJSAxOTE3IG8gLSBBcCA4IDJzIDEgQlNUCi0tUiAlIDE5MTcgbyAtIFMgMTcgMnMgMCBHTVQKLS1SICUgMTkxOCBvIC0gTWFyIDI0IDJzIDEgQlNUCi0tUiAlIDE5MTggbyAtIFMgMzAgMnMgMCBHTVQKLS1SICUgMTkxOSBvIC0gTWFyIDMwIDJzIDEgQlNUCi0tUiAlIDE5MTkgbyAtIFMgMjkgMnMgMCBHTVQKLS1SICUgMTkyMCBvIC0gTWFyIDI4IDJzIDEgQlNUCi0tUiAlIDE5MjAgbyAtIE8gMjUgMnMgMCBHTVQKLS1SICUgMTkyMSBvIC0gQXAgMyAycyAxIEJTVAotLVIgJSAxOTIxIG8gLSBPIDMgMnMgMCBHTVQKLS1SICUgMTkyMiBvIC0gTWFyIDI2IDJzIDEgQlNUCi0tUiAlIDE5MjIgbyAtIE8gOCAycyAwIEdNVAotLVIgJSAxOTIzIG8gLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5MjMgMTkyNCAtIFMgU3VuPj0xNiAycyAwIEdNVAotLVIgJSAxOTI0IG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLS1SICUgMTkyNSAxOTI2IC0gQXAgU3VuPj0xNiAycyAxIEJTVAotLVIgJSAxOTI1IDE5MzggLSBPIFN1bj49MiAycyAwIEdNVAotLVIgJSAxOTI3IG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLS1SICUgMTkyOCAxOTI5IC0gQXAgU3VuPj0xNiAycyAxIEJTVAotLVIgJSAxOTMwIG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLS1SICUgMTkzMSAxOTMyIC0gQXAgU3VuPj0xNiAycyAxIEJTVAotLVIgJSAxOTMzIG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLS1SICUgMTkzNCBvIC0gQXAgU3VuPj0xNiAycyAxIEJTVAotLVIgJSAxOTM1IG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLS1SICUgMTkzNiAxOTM3IC0gQXAgU3VuPj0xNiAycyAxIEJTVAotLVIgJSAxOTM4IG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLS1SICUgMTkzOSBvIC0gQXAgU3VuPj0xNiAycyAxIEJTVAotLVIgJSAxOTM5IG8gLSBOIFN1bj49MTYgMnMgMCBHTVQKLS1SICUgMTk0MCBvIC0gRiBTdW4+PTIzIDJzIDEgQlNUCi0tUiAlIDE5NDEgbyAtIE1heSBTdW4+PTIgMXMgMiBCRFNUCi0tUiAlIDE5NDEgMTk0MyAtIEF1IFN1bj49OSAxcyAxIEJTVAotLVIgJSAxOTQyIDE5NDQgLSBBcCBTdW4+PTIgMXMgMiBCRFNUCi0tUiAlIDE5NDQgbyAtIFMgU3VuPj0xNiAxcyAxIEJTVAotLVIgJSAxOTQ1IG8gLSBBcCBNPj0yIDFzIDIgQkRTVAotLVIgJSAxOTQ1IG8gLSBKdWwgU3VuPj05IDFzIDEgQlNUCi0tUiAlIDE5NDUgMTk0NiAtIE8gU3VuPj0yIDJzIDAgR01UCi0tUiAlIDE5NDYgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTQ3IG8gLSBNYXIgMTYgMnMgMSBCU1QKLS1SICUgMTk0NyBvIC0gQXAgMTMgMXMgMiBCRFNUCi0tUiAlIDE5NDcgbyAtIEF1IDEwIDFzIDEgQlNUCi0tUiAlIDE5NDcgbyAtIE4gMiAycyAwIEdNVAotLVIgJSAxOTQ4IG8gLSBNYXIgMTQgMnMgMSBCU1QKLS1SICUgMTk0OCBvIC0gTyAzMSAycyAwIEdNVAotLVIgJSAxOTQ5IG8gLSBBcCAzIDJzIDEgQlNUCi0tUiAlIDE5NDkgbyAtIE8gMzAgMnMgMCBHTVQKLS1SICUgMTk1MCAxOTUyIC0gQXAgU3VuPj0xNCAycyAxIEJTVAotLVIgJSAxOTUwIDE5NTIgLSBPIFN1bj49MjEgMnMgMCBHTVQKLS1SICUgMTk1MyBvIC0gQXAgU3VuPj0xNiAycyAxIEJTVAotLVIgJSAxOTUzIDE5NjAgLSBPIFN1bj49MiAycyAwIEdNVAotLVIgJSAxOTU0IG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLS1SICUgMTk1NSAxOTU2IC0gQXAgU3VuPj0xNiAycyAxIEJTVAotLVIgJSAxOTU3IG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLS1SICUgMTk1OCAxOTU5IC0gQXAgU3VuPj0xNiAycyAxIEJTVAotLVIgJSAxOTYwIG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLS1SICUgMTk2MSAxOTYzIC0gTWFyIGxhc3RTdW4gMnMgMSBCU1QKLS1SICUgMTk2MSAxOTY4IC0gTyBTdW4+PTIzIDJzIDAgR01UCi0tUiAlIDE5NjQgMTk2NyAtIE1hciBTdW4+PTE5IDJzIDEgQlNUCi0tUiAlIDE5NjggbyAtIEYgMTggMnMgMSBCU1QKLS1SICUgMTk3MiAxOTgwIC0gTWFyIFN1bj49MTYgMnMgMSBCU1QKLS1SICUgMTk3MiAxOTgwIC0gTyBTdW4+PTIzIDJzIDAgR01UCi0tUiAlIDE5ODEgMTk5NSAtIE1hciBsYXN0U3VuIDF1IDEgQlNUCi0tUiAlIDE5ODEgMTk4OSAtIE8gU3VuPj0yMyAxdSAwIEdNVAotLVIgJSAxOTkwIDE5OTUgLSBPIFN1bj49MjIgMXUgMCBHTVQKLStSIEcgMTkxNiBvIC0gTWF5IDIxIDJzIDEgQlNUCi0rUiBHIDE5MTYgbyAtIE8gMSAycyAwIEdNVAotK1IgRyAxOTE3IG8gLSBBcCA4IDJzIDEgQlNUCi0rUiBHIDE5MTcgbyAtIFMgMTcgMnMgMCBHTVQKLStSIEcgMTkxOCBvIC0gTWFyIDI0IDJzIDEgQlNUCi0rUiBHIDE5MTggbyAtIFMgMzAgMnMgMCBHTVQKLStSIEcgMTkxOSBvIC0gTWFyIDMwIDJzIDEgQlNUCi0rUiBHIDE5MTkgbyAtIFMgMjkgMnMgMCBHTVQKLStSIEcgMTkyMCBvIC0gTWFyIDI4IDJzIDEgQlNUCi0rUiBHIDE5MjAgbyAtIE8gMjUgMnMgMCBHTVQKLStSIEcgMTkyMSBvIC0gQXAgMyAycyAxIEJTVAotK1IgRyAxOTIxIG8gLSBPIDMgMnMgMCBHTVQKLStSIEcgMTkyMiBvIC0gTWFyIDI2IDJzIDEgQlNUCi0rUiBHIDE5MjIgbyAtIE8gOCAycyAwIEdNVAotK1IgRyAxOTIzIG8gLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5MjMgMTkyNCAtIFMgU3VuPj0xNiAycyAwIEdNVAotK1IgRyAxOTI0IG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLStSIEcgMTkyNSAxOTI2IC0gQXAgU3VuPj0xNiAycyAxIEJTVAotK1IgRyAxOTI1IDE5MzggLSBPIFN1bj49MiAycyAwIEdNVAotK1IgRyAxOTI3IG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLStSIEcgMTkyOCAxOTI5IC0gQXAgU3VuPj0xNiAycyAxIEJTVAotK1IgRyAxOTMwIG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLStSIEcgMTkzMSAxOTMyIC0gQXAgU3VuPj0xNiAycyAxIEJTVAotK1IgRyAxOTMzIG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLStSIEcgMTkzNCBvIC0gQXAgU3VuPj0xNiAycyAxIEJTVAotK1IgRyAxOTM1IG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLStSIEcgMTkzNiAxOTM3IC0gQXAgU3VuPj0xNiAycyAxIEJTVAotK1IgRyAxOTM4IG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLStSIEcgMTkzOSBvIC0gQXAgU3VuPj0xNiAycyAxIEJTVAotK1IgRyAxOTM5IG8gLSBOIFN1bj49MTYgMnMgMCBHTVQKLStSIEcgMTk0MCBvIC0gRiBTdW4+PTIzIDJzIDEgQlNUCi0rUiBHIDE5NDEgbyAtIE1heSBTdW4+PTIgMXMgMiBCRFNUCi0rUiBHIDE5NDEgMTk0MyAtIEF1IFN1bj49OSAxcyAxIEJTVAotK1IgRyAxOTQyIDE5NDQgLSBBcCBTdW4+PTIgMXMgMiBCRFNUCi0rUiBHIDE5NDQgbyAtIFMgU3VuPj0xNiAxcyAxIEJTVAotK1IgRyAxOTQ1IG8gLSBBcCBNPj0yIDFzIDIgQkRTVAotK1IgRyAxOTQ1IG8gLSBKdWwgU3VuPj05IDFzIDEgQlNUCi0rUiBHIDE5NDUgMTk0NiAtIE8gU3VuPj0yIDJzIDAgR01UCi0rUiBHIDE5NDYgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTQ3IG8gLSBNYXIgMTYgMnMgMSBCU1QKLStSIEcgMTk0NyBvIC0gQXAgMTMgMXMgMiBCRFNUCi0rUiBHIDE5NDcgbyAtIEF1IDEwIDFzIDEgQlNUCi0rUiBHIDE5NDcgbyAtIE4gMiAycyAwIEdNVAotK1IgRyAxOTQ4IG8gLSBNYXIgMTQgMnMgMSBCU1QKLStSIEcgMTk0OCBvIC0gTyAzMSAycyAwIEdNVAotK1IgRyAxOTQ5IG8gLSBBcCAzIDJzIDEgQlNUCi0rUiBHIDE5NDkgbyAtIE8gMzAgMnMgMCBHTVQKLStSIEcgMTk1MCAxOTUyIC0gQXAgU3VuPj0xNCAycyAxIEJTVAotK1IgRyAxOTUwIDE5NTIgLSBPIFN1bj49MjEgMnMgMCBHTVQKLStSIEcgMTk1MyBvIC0gQXAgU3VuPj0xNiAycyAxIEJTVAotK1IgRyAxOTUzIDE5NjAgLSBPIFN1bj49MiAycyAwIEdNVAotK1IgRyAxOTU0IG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLStSIEcgMTk1NSAxOTU2IC0gQXAgU3VuPj0xNiAycyAxIEJTVAotK1IgRyAxOTU3IG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLStSIEcgMTk1OCAxOTU5IC0gQXAgU3VuPj0xNiAycyAxIEJTVAotK1IgRyAxOTYwIG8gLSBBcCBTdW4+PTkgMnMgMSBCU1QKLStSIEcgMTk2MSAxOTYzIC0gTWFyIGxhc3RTdW4gMnMgMSBCU1QKLStSIEcgMTk2MSAxOTY4IC0gTyBTdW4+PTIzIDJzIDAgR01UCi0rUiBHIDE5NjQgMTk2NyAtIE1hciBTdW4+PTE5IDJzIDEgQlNUCi0rUiBHIDE5NjggbyAtIEYgMTggMnMgMSBCU1QKLStSIEcgMTk3MiAxOTgwIC0gTWFyIFN1bj49MTYgMnMgMSBCU1QKLStSIEcgMTk3MiAxOTgwIC0gTyBTdW4+PTIzIDJzIDAgR01UCi0rUiBHIDE5ODEgMTk5NSAtIE1hciBsYXN0U3VuIDF1IDEgQlNUCi0rUiBHIDE5ODEgMTk4OSAtIE8gU3VuPj0yMyAxdSAwIEdNVAotK1IgRyAxOTkwIDE5OTUgLSBPIFN1bj49MjIgMXUgMCBHTVQKLSBaIEV1cm9wZS9Mb25kb24gLTA6MToxNSAtIExNVCAxODQ3IEQgMSAwcwotLTAgJSAlcyAxOTY4IE8gMjcKLSswIEcgJXMgMTk2OCBPIDI3Ci0gMSAtIEJTVCAxOTcxIE8gMzEgMnUKLS0wICUgJXMgMTk5NgotLTAgTyBHTVQvQlNUCi0rMCBHICVzIDE5OTYKLSswIEUgR01UL0JTVAotIExpIEV1cm9wZS9Mb25kb24gRXVyb3BlL0plcnNleQotIExpIEV1cm9wZS9Mb25kb24gRXVyb3BlL0d1ZXJuc2V5Ci0gTGkgRXVyb3BlL0xvbmRvbiBFdXJvcGUvSXNsZV9vZl9NYW4KLS1SICYgMTk3MSBvIC0gTyAzMSAydSAtMSAtCi0tUiAmIDE5NzIgMTk4MCAtIE1hciBTdW4+PTE2IDJ1IDAgLQotLVIgJiAxOTcyIDE5ODAgLSBPIFN1bj49MjMgMnUgLTEgLQotLVIgJiAxOTgxIG1hIC0gTWFyIGxhc3RTdW4gMXUgMCAtCi0tUiAmIDE5ODEgMTk4OSAtIE8gU3VuPj0yMyAxdSAtMSAtCi0tUiAmIDE5OTAgMTk5NSAtIE8gU3VuPj0yMiAxdSAtMSAtCi0tUiAmIDE5OTYgbWEgLSBPIGxhc3RTdW4gMXUgLTEgLQotK1IgSUUgMTk3MSBvIC0gTyAzMSAydSAtMSAtCi0rUiBJRSAxOTcyIDE5ODAgLSBNYXIgU3VuPj0xNiAydSAwIC0KLStSIElFIDE5NzIgMTk4MCAtIE8gU3VuPj0yMyAydSAtMSAtCi0rUiBJRSAxOTgxIG1hIC0gTWFyIGxhc3RTdW4gMXUgMCAtCi0rUiBJRSAxOTgxIDE5ODkgLSBPIFN1bj49MjMgMXUgLTEgLQotK1IgSUUgMTk5MCAxOTk1IC0gTyBTdW4+PTIyIDF1IC0xIC0KLStSIElFIDE5OTYgbWEgLSBPIGxhc3RTdW4gMXUgLTEgLQotIFogRXVyb3BlL0R1YmxpbiAtMDoyNSAtIExNVCAxODgwIEF1IDIKLSAtMDoyNToyMSAtIERNVCAxOTE2IE1heSAyMSAycwotIC0wOjI1OjIxIDEgSVNUIDE5MTYgTyAxIDJzCi0tMCAlICVzIDE5MjEgRCA2Ci0tMCAlIEdNVC9JU1QgMTk0MCBGIDI1IDJzCi0rMCBHICVzIDE5MjEgRCA2Ci0rMCBHIEdNVC9JU1QgMTk0MCBGIDI1IDJzCi0gMCAxIElTVCAxOTQ2IE8gNiAycwotIDAgLSBHTVQgMTk0NyBNYXIgMTYgMnMKLSAwIDEgSVNUIDE5NDcgTiAyIDJzCi0gMCAtIEdNVCAxOTQ4IEFwIDE4IDJzCi0tMCAlIEdNVC9JU1QgMTk2OCBPIDI3Ci0tMSAmIElTVC9HTVQKLS1SIE8gMTk3NyAxOTgwIC0gQXAgU3VuPj0xIDF1IDEgUwotLVIgTyAxOTc3IG8gLSBTIGxhc3RTdW4gMXUgMCAtCi0tUiBPIDE5NzggbyAtIE8gMSAxdSAwIC0KLS1SIE8gMTk3OSAxOTk1IC0gUyBsYXN0U3VuIDF1IDAgLQotLVIgTyAxOTgxIG1hIC0gTWFyIGxhc3RTdW4gMXUgMSBTCi0tUiBPIDE5OTYgbWEgLSBPIGxhc3RTdW4gMXUgMCAtCi0tUiAnIDE5NzcgMTk4MCAtIEFwIFN1bj49MSAxcyAxIFMKLS1SICcgMTk3NyBvIC0gUyBsYXN0U3VuIDFzIDAgLQotLVIgJyAxOTc4IG8gLSBPIDEgMXMgMCAtCi0tUiAnIDE5NzkgMTk5NSAtIFMgbGFzdFN1biAxcyAwIC0KLS1SICcgMTk4MSBtYSAtIE1hciBsYXN0U3VuIDFzIDEgUwotLVIgJyAxOTk2IG1hIC0gTyBsYXN0U3VuIDFzIDAgLQotLVIgKCAxOTE2IG8gLSBBcCAzMCAyMyAxIFMKLS1SICggMTkxNiBvIC0gTyAxIDEgMCAtCi0tUiAoIDE5MTcgMTkxOCAtIEFwIE0+PTE1IDJzIDEgUwotLVIgKCAxOTE3IDE5MTggLSBTIE0+PTE1IDJzIDAgLQotLVIgKCAxOTQwIG8gLSBBcCAxIDJzIDEgUwotLVIgKCAxOTQyIG8gLSBOIDIgMnMgMCAtCi0tUiAoIDE5NDMgbyAtIE1hciAyOSAycyAxIFMKLS1SICggMTk0MyBvIC0gTyA0IDJzIDAgLQotLVIgKCAxOTQ0IDE5NDUgLSBBcCBNPj0xIDJzIDEgUwotLVIgKCAxOTQ0IG8gLSBPIDIgMnMgMCAtCi0tUiAoIDE5NDUgbyAtIFMgMTYgMnMgMCAtCi0tUiAoIDE5NzcgMTk4MCAtIEFwIFN1bj49MSAycyAxIFMKLS1SICggMTk3NyBvIC0gUyBsYXN0U3VuIDJzIDAgLQotLVIgKCAxOTc4IG8gLSBPIDEgMnMgMCAtCi0tUiAoIDE5NzkgMTk5NSAtIFMgbGFzdFN1biAycyAwIC0KLS1SICggMTk4MSBtYSAtIE1hciBsYXN0U3VuIDJzIDEgUwotLVIgKCAxOTk2IG1hIC0gTyBsYXN0U3VuIDJzIDAgLQotLVIgVyAxOTc3IDE5ODAgLSBBcCBTdW4+PTEgMCAxIFMKLS1SIFcgMTk3NyBvIC0gUyBsYXN0U3VuIDAgMCAtCi0tUiBXIDE5NzggbyAtIE8gMSAwIDAgLQotLVIgVyAxOTc5IDE5OTUgLSBTIGxhc3RTdW4gMCAwIC0KLS1SIFcgMTk4MSBtYSAtIE1hciBsYXN0U3VuIDAgMSBTCi0tUiBXIDE5OTYgbWEgLSBPIGxhc3RTdW4gMCAwIC0KLS1SIE0gMTkxNyBvIC0gSnVsIDEgMjMgMSBNU1QKLS1SIE0gMTkxNyBvIC0gRCAyOCAwIDAgTU1UCi0tUiBNIDE5MTggbyAtIE1heSAzMSAyMiAyIE1EU1QKLS1SIE0gMTkxOCBvIC0gUyAxNiAxIDEgTVNUCi0tUiBNIDE5MTkgbyAtIE1heSAzMSAyMyAyIE1EU1QKLS1SIE0gMTkxOSBvIC0gSnVsIDEgMHUgMSBNU0QKLS1SIE0gMTkxOSBvIC0gQXUgMTYgMCAwIE1TSwotLVIgTSAxOTIxIG8gLSBGIDE0IDIzIDEgTVNECi0tUiBNIDE5MjEgbyAtIE1hciAyMCAyMyAyICswNQotLVIgTSAxOTIxIG8gLSBTIDEgMCAxIE1TRAotLVIgTSAxOTIxIG8gLSBPIDEgMCAwIC0KLS1SIE0gMTk4MSAxOTg0IC0gQXAgMSAwIDEgUwotLVIgTSAxOTgxIDE5ODMgLSBPIDEgMCAwIC0KLS1SIE0gMTk4NCAxOTk1IC0gUyBsYXN0U3VuIDJzIDAgLQotLVIgTSAxOTg1IDIwMTAgLSBNYXIgbGFzdFN1biAycyAxIFMKLS1SIE0gMTk5NiAyMDEwIC0gTyBsYXN0U3VuIDJzIDAgLQotLVogV0VUIDAgTyBXRSVzVAotLVogQ0VUIDEgKCBDRSVzVAotLVogTUVUIDEgKCBNRSVzVAotLVogRUVUIDIgTyBFRSVzVAotLVIgKSAxOTQwIG8gLSBKdW4gMTYgMCAxIFMKLS1SICkgMTk0MiBvIC0gTiAyIDMgMCAtCi0tUiApIDE5NDMgbyAtIE1hciAyOSAyIDEgUwotLVIgKSAxOTQzIG8gLSBBcCAxMCAzIDAgLQotLVIgKSAxOTc0IG8gLSBNYXkgNCAwIDEgUwotLVIgKSAxOTc0IG8gLSBPIDIgMCAwIC0KLS1SICkgMTk3NSBvIC0gTWF5IDEgMCAxIFMKLS1SICkgMTk3NSBvIC0gTyAyIDAgMCAtCi0tUiApIDE5NzYgbyAtIE1heSAyIDAgMSBTCi0tUiApIDE5NzYgbyAtIE8gMyAwIDAgLQotLVIgKSAxOTc3IG8gLSBNYXkgOCAwIDEgUwotLVIgKSAxOTc3IG8gLSBPIDIgMCAwIC0KLS1SICkgMTk3OCBvIC0gTWF5IDYgMCAxIFMKLS1SICkgMTk3OCBvIC0gTyAxIDAgMCAtCi0tUiApIDE5NzkgbyAtIE1heSA1IDAgMSBTCi0tUiApIDE5NzkgbyAtIFMgMzAgMCAwIC0KLS1SICkgMTk4MCBvIC0gTWF5IDMgMCAxIFMKLS1SICkgMTk4MCBvIC0gTyA0IDAgMCAtCi0tUiApIDE5ODEgbyAtIEFwIDI2IDAgMSBTCi0tUiApIDE5ODEgbyAtIFMgMjcgMCAwIC0KLS1SICkgMTk4MiBvIC0gTWF5IDIgMCAxIFMKLS1SICkgMTk4MiBvIC0gTyAzIDAgMCAtCi0tUiApIDE5ODMgbyAtIEFwIDE4IDAgMSBTCi0tUiApIDE5ODMgbyAtIE8gMSAwIDAgLQotLVIgKSAxOTg0IG8gLSBBcCAxIDAgMSBTCi0rMCBHIEdNVC9JU1QgMTk2OCBPIDI3Ci0rMSBJRSBJU1QvR01UCi0rUiBFIDE5NzcgMTk4MCAtIEFwIFN1bj49MSAxdSAxIFMKLStSIEUgMTk3NyBvIC0gUyBsYXN0U3VuIDF1IDAgLQotK1IgRSAxOTc4IG8gLSBPIDEgMXUgMCAtCi0rUiBFIDE5NzkgMTk5NSAtIFMgbGFzdFN1biAxdSAwIC0KLStSIEUgMTk4MSBtYSAtIE1hciBsYXN0U3VuIDF1IDEgUwotK1IgRSAxOTk2IG1hIC0gTyBsYXN0U3VuIDF1IDAgLQotK1IgVy0gMTk3NyAxOTgwIC0gQXAgU3VuPj0xIDFzIDEgUwotK1IgVy0gMTk3NyBvIC0gUyBsYXN0U3VuIDFzIDAgLQotK1IgVy0gMTk3OCBvIC0gTyAxIDFzIDAgLQotK1IgVy0gMTk3OSAxOTk1IC0gUyBsYXN0U3VuIDFzIDAgLQotK1IgVy0gMTk4MSBtYSAtIE1hciBsYXN0U3VuIDFzIDEgUwotK1IgVy0gMTk5NiBtYSAtIE8gbGFzdFN1biAxcyAwIC0KLStSIGMgMTkxNiBvIC0gQXAgMzAgMjMgMSBTCi0rUiBjIDE5MTYgbyAtIE8gMSAxIDAgLQotK1IgYyAxOTE3IDE5MTggLSBBcCBNPj0xNSAycyAxIFMKLStSIGMgMTkxNyAxOTE4IC0gUyBNPj0xNSAycyAwIC0KLStSIGMgMTk0MCBvIC0gQXAgMSAycyAxIFMKLStSIGMgMTk0MiBvIC0gTiAyIDJzIDAgLQotK1IgYyAxOTQzIG8gLSBNYXIgMjkgMnMgMSBTCi0rUiBjIDE5NDMgbyAtIE8gNCAycyAwIC0KLStSIGMgMTk0NCAxOTQ1IC0gQXAgTT49MSAycyAxIFMKLStSIGMgMTk0NCBvIC0gTyAyIDJzIDAgLQotK1IgYyAxOTQ1IG8gLSBTIDE2IDJzIDAgLQotK1IgYyAxOTc3IDE5ODAgLSBBcCBTdW4+PTEgMnMgMSBTCi0rUiBjIDE5NzcgbyAtIFMgbGFzdFN1biAycyAwIC0KLStSIGMgMTk3OCBvIC0gTyAxIDJzIDAgLQotK1IgYyAxOTc5IDE5OTUgLSBTIGxhc3RTdW4gMnMgMCAtCi0rUiBjIDE5ODEgbWEgLSBNYXIgbGFzdFN1biAycyAxIFMKLStSIGMgMTk5NiBtYSAtIE8gbGFzdFN1biAycyAwIC0KLStSIGUgMTk3NyAxOTgwIC0gQXAgU3VuPj0xIDAgMSBTCi0rUiBlIDE5NzcgbyAtIFMgbGFzdFN1biAwIDAgLQotK1IgZSAxOTc4IG8gLSBPIDEgMCAwIC0KLStSIGUgMTk3OSAxOTk1IC0gUyBsYXN0U3VuIDAgMCAtCi0rUiBlIDE5ODEgbWEgLSBNYXIgbGFzdFN1biAwIDEgUwotK1IgZSAxOTk2IG1hIC0gTyBsYXN0U3VuIDAgMCAtCi0rUiBSIDE5MTcgbyAtIEp1bCAxIDIzIDEgTVNUCi0rUiBSIDE5MTcgbyAtIEQgMjggMCAwIE1NVAotK1IgUiAxOTE4IG8gLSBNYXkgMzEgMjIgMiBNRFNUCi0rUiBSIDE5MTggbyAtIFMgMTYgMSAxIE1TVAotK1IgUiAxOTE5IG8gLSBNYXkgMzEgMjMgMiBNRFNUCi0rUiBSIDE5MTkgbyAtIEp1bCAxIDB1IDEgTVNECi0rUiBSIDE5MTkgbyAtIEF1IDE2IDAgMCBNU0sKLStSIFIgMTkyMSBvIC0gRiAxNCAyMyAxIE1TRAotK1IgUiAxOTIxIG8gLSBNYXIgMjAgMjMgMiArMDUKLStSIFIgMTkyMSBvIC0gUyAxIDAgMSBNU0QKLStSIFIgMTkyMSBvIC0gTyAxIDAgMCAtCi0rUiBSIDE5ODEgMTk4NCAtIEFwIDEgMCAxIFMKLStSIFIgMTk4MSAxOTgzIC0gTyAxIDAgMCAtCi0rUiBSIDE5ODQgMTk5NSAtIFMgbGFzdFN1biAycyAwIC0KLStSIFIgMTk4NSAyMDEwIC0gTWFyIGxhc3RTdW4gMnMgMSBTCi0rUiBSIDE5OTYgMjAxMCAtIE8gbGFzdFN1biAycyAwIC0KLStaIFdFVCAwIEUgV0Ulc1QKLStaIENFVCAxIGMgQ0Ulc1QKLStaIE1FVCAxIGMgTUUlc1QKLStaIEVFVCAyIEUgRUUlc1QKLStSIHEgMTk0MCBvIC0gSnVuIDE2IDAgMSBTCi0rUiBxIDE5NDIgbyAtIE4gMiAzIDAgLQotK1IgcSAxOTQzIG8gLSBNYXIgMjkgMiAxIFMKLStSIHEgMTk0MyBvIC0gQXAgMTAgMyAwIC0KLStSIHEgMTk3NCBvIC0gTWF5IDQgMCAxIFMKLStSIHEgMTk3NCBvIC0gTyAyIDAgMCAtCi0rUiBxIDE5NzUgbyAtIE1heSAxIDAgMSBTCi0rUiBxIDE5NzUgbyAtIE8gMiAwIDAgLQotK1IgcSAxOTc2IG8gLSBNYXkgMiAwIDEgUwotK1IgcSAxOTc2IG8gLSBPIDMgMCAwIC0KLStSIHEgMTk3NyBvIC0gTWF5IDggMCAxIFMKLStSIHEgMTk3NyBvIC0gTyAyIDAgMCAtCi0rUiBxIDE5NzggbyAtIE1heSA2IDAgMSBTCi0rUiBxIDE5NzggbyAtIE8gMSAwIDAgLQotK1IgcSAxOTc5IG8gLSBNYXkgNSAwIDEgUwotK1IgcSAxOTc5IG8gLSBTIDMwIDAgMCAtCi0rUiBxIDE5ODAgbyAtIE1heSAzIDAgMSBTCi0rUiBxIDE5ODAgbyAtIE8gNCAwIDAgLQotK1IgcSAxOTgxIG8gLSBBcCAyNiAwIDEgUwotK1IgcSAxOTgxIG8gLSBTIDI3IDAgMCAtCi0rUiBxIDE5ODIgbyAtIE1heSAyIDAgMSBTCi0rUiBxIDE5ODIgbyAtIE8gMyAwIDAgLQotK1IgcSAxOTgzIG8gLSBBcCAxOCAwIDEgUwotK1IgcSAxOTgzIG8gLSBPIDEgMCAwIC0KLStSIHEgMTk4NCBvIC0gQXAgMSAwIDEgUwotIFogRXVyb3BlL1RpcmFuZSAxOjE5OjIwIC0gTE1UIDE5MTQKLSAxIC0gQ0VUIDE5NDAgSnVuIDE2Ci0tMSApIENFJXNUIDE5ODQgSnVsCi0tMSBPIENFJXNUCi0rMSBxIENFJXNUIDE5ODQgSnVsCi0rMSBFIENFJXNUCi0gWiBFdXJvcGUvQW5kb3JyYSAwOjY6NCAtIExNVCAxOTAxCi0gMCAtIFdFVCAxOTQ2IFMgMzAKLSAxIC0gQ0VUIDE5ODUgTWFyIDMxIDIKLS0xIE8gQ0Ulc1QKLS1SICogMTkyMCBvIC0gQXAgNSAycyAxIFMKLS1SICogMTkyMCBvIC0gUyAxMyAycyAwIC0KLS1SICogMTk0NiBvIC0gQXAgMTQgMnMgMSBTCi0tUiAqIDE5NDYgMTk0OCAtIE8gU3VuPj0xIDJzIDAgLQotLVIgKiAxOTQ3IG8gLSBBcCA2IDJzIDEgUwotLVIgKiAxOTQ4IG8gLSBBcCAxOCAycyAxIFMKLS1SICogMTk4MCBvIC0gQXAgNiAwIDEgUwotLVIgKiAxOTgwIG8gLSBTIDI4IDAgMCAtCi0rMSBFIENFJXNUCi0rUiBhIDE5MjAgbyAtIEFwIDUgMnMgMSBTCi0rUiBhIDE5MjAgbyAtIFMgMTMgMnMgMCAtCi0rUiBhIDE5NDYgbyAtIEFwIDE0IDJzIDEgUwotK1IgYSAxOTQ2IDE5NDggLSBPIFN1bj49MSAycyAwIC0KLStSIGEgMTk0NyBvIC0gQXAgNiAycyAxIFMKLStSIGEgMTk0OCBvIC0gQXAgMTggMnMgMSBTCi0rUiBhIDE5ODAgbyAtIEFwIDYgMCAxIFMKLStSIGEgMTk4MCBvIC0gUyAyOCAwIDAgLQotIFogRXVyb3BlL1ZpZW5uYSAxOjU6MjEgLSBMTVQgMTg5MyBBcAotLTEgKCBDRSVzVCAxOTIwCi0tMSAqIENFJXNUIDE5NDAgQXAgMSAycwotLTEgKCBDRSVzVCAxOTQ1IEFwIDIgMnMKLSsxIGMgQ0Ulc1QgMTkyMAotKzEgYSBDRSVzVCAxOTQwIEFwIDEgMnMKLSsxIGMgQ0Ulc1QgMTk0NSBBcCAyIDJzCi0gMSAxIENFU1QgMTk0NSBBcCAxMiAycwotIDEgLSBDRVQgMTk0NgotLTEgKiBDRSVzVCAxOTgxCi0tMSBPIENFJXNUCi0rMSBhIENFJXNUIDE5ODEKLSsxIEUgQ0Ulc1QKLSBaIEV1cm9wZS9NaW5zayAxOjUwOjE2IC0gTE1UIDE4ODAKLSAxOjUwIC0gTU1UIDE5MjQgTWF5IDIKLSAyIC0gRUVUIDE5MzAgSnVuIDIxCi0gMyAtIE1TSyAxOTQxIEp1biAyOAotLTEgKCBDRSVzVCAxOTQ0IEp1bCAzCi0tMyBNIE1TSy9NU0QgMTk5MAotKzEgYyBDRSVzVCAxOTQ0IEp1bCAzCi0rMyBSIE1TSy9NU0QgMTk5MAotIDMgLSBNU0sgMTk5MSBNYXIgMzEgMnMKLS0yIE0gRUUlc1QgMjAxMSBNYXIgMjcgMnMKLSsyIFIgRUUlc1QgMjAxMSBNYXIgMjcgMnMKLSAzIC0gKzAzCi0tUiArIDE5MTggbyAtIE1hciA5IDBzIDEgUwotLVIgKyAxOTE4IDE5MTkgLSBPIFNhdD49MSAyM3MgMCAtCi0tUiArIDE5MTkgbyAtIE1hciAxIDIzcyAxIFMKLS1SICsgMTkyMCBvIC0gRiAxNCAyM3MgMSBTCi0tUiArIDE5MjAgbyAtIE8gMjMgMjNzIDAgLQotLVIgKyAxOTIxIG8gLSBNYXIgMTQgMjNzIDEgUwotLVIgKyAxOTIxIG8gLSBPIDI1IDIzcyAwIC0KLS1SICsgMTkyMiBvIC0gTWFyIDI1IDIzcyAxIFMKLS1SICsgMTkyMiAxOTI3IC0gTyBTYXQ+PTEgMjNzIDAgLQotLVIgKyAxOTIzIG8gLSBBcCAyMSAyM3MgMSBTCi0tUiArIDE5MjQgbyAtIE1hciAyOSAyM3MgMSBTCi0tUiArIDE5MjUgbyAtIEFwIDQgMjNzIDEgUwotLVIgKyAxOTI2IG8gLSBBcCAxNyAyM3MgMSBTCi0tUiArIDE5MjcgbyAtIEFwIDkgMjNzIDEgUwotLVIgKyAxOTI4IG8gLSBBcCAxNCAyM3MgMSBTCi0tUiArIDE5MjggMTkzOCAtIE8gU3VuPj0yIDJzIDAgLQotLVIgKyAxOTI5IG8gLSBBcCAyMSAycyAxIFMKLS1SICsgMTkzMCBvIC0gQXAgMTMgMnMgMSBTCi0tUiArIDE5MzEgbyAtIEFwIDE5IDJzIDEgUwotLVIgKyAxOTMyIG8gLSBBcCAzIDJzIDEgUwotLVIgKyAxOTMzIG8gLSBNYXIgMjYgMnMgMSBTCi0tUiArIDE5MzQgbyAtIEFwIDggMnMgMSBTCi0tUiArIDE5MzUgbyAtIE1hciAzMSAycyAxIFMKLS1SICsgMTkzNiBvIC0gQXAgMTkgMnMgMSBTCi0tUiArIDE5MzcgbyAtIEFwIDQgMnMgMSBTCi0tUiArIDE5MzggbyAtIE1hciAyNyAycyAxIFMKLS1SICsgMTkzOSBvIC0gQXAgMTYgMnMgMSBTCi0tUiArIDE5MzkgbyAtIE4gMTkgMnMgMCAtCi0tUiArIDE5NDAgbyAtIEYgMjUgMnMgMSBTCi0tUiArIDE5NDQgbyAtIFMgMTcgMnMgMCAtCi0tUiArIDE5NDUgbyAtIEFwIDIgMnMgMSBTCi0tUiArIDE5NDUgbyAtIFMgMTYgMnMgMCAtCi0tUiArIDE5NDYgbyAtIE1heSAxOSAycyAxIFMKLS1SICsgMTk0NiBvIC0gTyA3IDJzIDAgLQotK1IgYiAxOTE4IG8gLSBNYXIgOSAwcyAxIFMKLStSIGIgMTkxOCAxOTE5IC0gTyBTYXQ+PTEgMjNzIDAgLQotK1IgYiAxOTE5IG8gLSBNYXIgMSAyM3MgMSBTCi0rUiBiIDE5MjAgbyAtIEYgMTQgMjNzIDEgUwotK1IgYiAxOTIwIG8gLSBPIDIzIDIzcyAwIC0KLStSIGIgMTkyMSBvIC0gTWFyIDE0IDIzcyAxIFMKLStSIGIgMTkyMSBvIC0gTyAyNSAyM3MgMCAtCi0rUiBiIDE5MjIgbyAtIE1hciAyNSAyM3MgMSBTCi0rUiBiIDE5MjIgMTkyNyAtIE8gU2F0Pj0xIDIzcyAwIC0KLStSIGIgMTkyMyBvIC0gQXAgMjEgMjNzIDEgUwotK1IgYiAxOTI0IG8gLSBNYXIgMjkgMjNzIDEgUwotK1IgYiAxOTI1IG8gLSBBcCA0IDIzcyAxIFMKLStSIGIgMTkyNiBvIC0gQXAgMTcgMjNzIDEgUwotK1IgYiAxOTI3IG8gLSBBcCA5IDIzcyAxIFMKLStSIGIgMTkyOCBvIC0gQXAgMTQgMjNzIDEgUwotK1IgYiAxOTI4IDE5MzggLSBPIFN1bj49MiAycyAwIC0KLStSIGIgMTkyOSBvIC0gQXAgMjEgMnMgMSBTCi0rUiBiIDE5MzAgbyAtIEFwIDEzIDJzIDEgUwotK1IgYiAxOTMxIG8gLSBBcCAxOSAycyAxIFMKLStSIGIgMTkzMiBvIC0gQXAgMyAycyAxIFMKLStSIGIgMTkzMyBvIC0gTWFyIDI2IDJzIDEgUwotK1IgYiAxOTM0IG8gLSBBcCA4IDJzIDEgUwotK1IgYiAxOTM1IG8gLSBNYXIgMzEgMnMgMSBTCi0rUiBiIDE5MzYgbyAtIEFwIDE5IDJzIDEgUwotK1IgYiAxOTM3IG8gLSBBcCA0IDJzIDEgUwotK1IgYiAxOTM4IG8gLSBNYXIgMjcgMnMgMSBTCi0rUiBiIDE5MzkgbyAtIEFwIDE2IDJzIDEgUwotK1IgYiAxOTM5IG8gLSBOIDE5IDJzIDAgLQotK1IgYiAxOTQwIG8gLSBGIDI1IDJzIDEgUwotK1IgYiAxOTQ0IG8gLSBTIDE3IDJzIDAgLQotK1IgYiAxOTQ1IG8gLSBBcCAyIDJzIDEgUwotK1IgYiAxOTQ1IG8gLSBTIDE2IDJzIDAgLQotK1IgYiAxOTQ2IG8gLSBNYXkgMTkgMnMgMSBTCi0rUiBiIDE5NDYgbyAtIE8gNyAycyAwIC0KLSBaIEV1cm9wZS9CcnVzc2VscyAwOjE3OjMwIC0gTE1UIDE4ODAKLSAwOjE3OjMwIC0gQk1UIDE4OTIgTWF5IDEgMTIKLSAwIC0gV0VUIDE5MTQgTiA4Ci0gMSAtIENFVCAxOTE2IE1heQotLTEgKCBDRSVzVCAxOTE4IE4gMTEgMTF1Ci0tMCArIFdFJXNUIDE5NDAgTWF5IDIwIDJzCi0tMSAoIENFJXNUIDE5NDQgUyAzCi0tMSArIENFJXNUIDE5NzcKLS0xIE8gQ0Ulc1QKLS1SICwgMTk3OSBvIC0gTWFyIDMxIDIzIDEgUwotLVIgLCAxOTc5IG8gLSBPIDEgMSAwIC0KLS1SICwgMTk4MCAxOTgyIC0gQXAgU2F0Pj0xIDIzIDEgUwotLVIgLCAxOTgwIG8gLSBTIDI5IDEgMCAtCi0tUiAsIDE5ODEgbyAtIFMgMjcgMiAwIC0KLSsxIGMgQ0Ulc1QgMTkxOCBOIDExIDExdQotKzAgYiBXRSVzVCAxOTQwIE1heSAyMCAycwotKzEgYyBDRSVzVCAxOTQ0IFMgMwotKzEgYiBDRSVzVCAxOTc3Ci0rMSBFIENFJXNUCi0rUiBCRyAxOTc5IG8gLSBNYXIgMzEgMjMgMSBTCi0rUiBCRyAxOTc5IG8gLSBPIDEgMSAwIC0KLStSIEJHIDE5ODAgMTk4MiAtIEFwIFNhdD49MSAyMyAxIFMKLStSIEJHIDE5ODAgbyAtIFMgMjkgMSAwIC0KLStSIEJHIDE5ODEgbyAtIFMgMjcgMiAwIC0KLSBaIEV1cm9wZS9Tb2ZpYSAxOjMzOjE2IC0gTE1UIDE4ODAKLSAxOjU2OjU2IC0gSU1UIDE4OTQgTiAzMAotIDIgLSBFRVQgMTk0MiBOIDIgMwotLTEgKCBDRSVzVCAxOTQ1Ci0rMSBjIENFJXNUIDE5NDUKLSAxIC0gQ0VUIDE5NDUgQXAgMiAzCi0gMiAtIEVFVCAxOTc5IE1hciAzMSAyMwotLTIgLCBFRSVzVCAxOTgyIFMgMjYgMwotLTIgKCBFRSVzVCAxOTkxCi0tMiBXIEVFJXNUIDE5OTcKLS0yIE8gRUUlc1QKLS1SIC4gMTk0NSBvIC0gQXAgTT49MSAycyAxIFMKLS1SIC4gMTk0NSBvIC0gTyAxIDJzIDAgLQotLVIgLiAxOTQ2IG8gLSBNYXkgNiAycyAxIFMKLS1SIC4gMTk0NiAxOTQ5IC0gTyBTdW4+PTEgMnMgMCAtCi0tUiAuIDE5NDcgMTk0OCAtIEFwIFN1bj49MTUgMnMgMSBTCi0tUiAuIDE5NDkgbyAtIEFwIDkgMnMgMSBTCi0rMiBCRyBFRSVzVCAxOTgyIFMgMjYgMwotKzIgYyBFRSVzVCAxOTkxCi0rMiBlIEVFJXNUIDE5OTcKLSsyIEUgRUUlc1QKLStSIENaIDE5NDUgbyAtIEFwIE0+PTEgMnMgMSBTCi0rUiBDWiAxOTQ1IG8gLSBPIDEgMnMgMCAtCi0rUiBDWiAxOTQ2IG8gLSBNYXkgNiAycyAxIFMKLStSIENaIDE5NDYgMTk0OSAtIE8gU3VuPj0xIDJzIDAgLQotK1IgQ1ogMTk0NyAxOTQ4IC0gQXAgU3VuPj0xNSAycyAxIFMKLStSIENaIDE5NDkgbyAtIEFwIDkgMnMgMSBTCi0gWiBFdXJvcGUvUHJhZ3VlIDA6NTc6NDQgLSBMTVQgMTg1MAotIDA6NTc6NDQgLSBQTVQgMTg5MSBPCi0tMSAoIENFJXNUIDE5NDUgTWF5IDkKLS0xIC4gQ0Ulc1QgMTk0NiBEIDEgMwotKzEgYyBDRSVzVCAxOTQ1IE1heSA5Ci0rMSBDWiBDRSVzVCAxOTQ2IEQgMSAzCi0gMSAtMSBHTVQgMTk0NyBGIDIzIDIKLS0xIC4gQ0Ulc1QgMTk3OQotLTEgTyBDRSVzVAotLVIgLyAxOTE2IG8gLSBNYXkgMTQgMjMgMSBTCi0tUiAvIDE5MTYgbyAtIFMgMzAgMjMgMCAtCi0tUiAvIDE5NDAgbyAtIE1heSAxNSAwIDEgUwotLVIgLyAxOTQ1IG8gLSBBcCAyIDJzIDEgUwotLVIgLyAxOTQ1IG8gLSBBdSAxNSAycyAwIC0KLS1SIC8gMTk0NiBvIC0gTWF5IDEgMnMgMSBTCi0tUiAvIDE5NDYgbyAtIFMgMSAycyAwIC0KLS1SIC8gMTk0NyBvIC0gTWF5IDQgMnMgMSBTCi0tUiAvIDE5NDcgbyAtIEF1IDEwIDJzIDAgLQotLVIgLyAxOTQ4IG8gLSBNYXkgOSAycyAxIFMKLS1SIC8gMTk0OCBvIC0gQXUgOCAycyAwIC0KLSsxIENaIENFJXNUIDE5NzkKLSsxIEUgQ0Ulc1QKLStSIEQgMTkxNiBvIC0gTWF5IDE0IDIzIDEgUwotK1IgRCAxOTE2IG8gLSBTIDMwIDIzIDAgLQotK1IgRCAxOTQwIG8gLSBNYXkgMTUgMCAxIFMKLStSIEQgMTk0NSBvIC0gQXAgMiAycyAxIFMKLStSIEQgMTk0NSBvIC0gQXUgMTUgMnMgMCAtCi0rUiBEIDE5NDYgbyAtIE1heSAxIDJzIDEgUwotK1IgRCAxOTQ2IG8gLSBTIDEgMnMgMCAtCi0rUiBEIDE5NDcgbyAtIE1heSA0IDJzIDEgUwotK1IgRCAxOTQ3IG8gLSBBdSAxMCAycyAwIC0KLStSIEQgMTk0OCBvIC0gTWF5IDkgMnMgMSBTCi0rUiBEIDE5NDggbyAtIEF1IDggMnMgMCAtCi0gWiBFdXJvcGUvQ29wZW5oYWdlbiAwOjUwOjIwIC0gTE1UIDE4OTAKLSAwOjUwOjIwIC0gQ01UIDE4OTQKLS0xIC8gQ0Ulc1QgMTk0MiBOIDIgMnMKLS0xICggQ0Ulc1QgMTk0NSBBcCAyIDIKLS0xIC8gQ0Ulc1QgMTk4MAotLTEgTyBDRSVzVAotKzEgRCBDRSVzVCAxOTQyIE4gMiAycwotKzEgYyBDRSVzVCAxOTQ1IEFwIDIgMgotKzEgRCBDRSVzVCAxOTgwCi0rMSBFIENFJXNUCi0gWiBBdGxhbnRpYy9GYXJvZSAtMDoyNzo0IC0gTE1UIDE5MDggSmEgMTEKLSAwIC0gV0VUIDE5ODEKLS0wIE8gV0Ulc1QKLS1SIDogMTk5MSAxOTkyIC0gTWFyIGxhc3RTdW4gMiAxIEQKLS1SIDogMTk5MSAxOTkyIC0gUyBsYXN0U3VuIDIgMCBTCi0tUiA6IDE5OTMgMjAwNiAtIEFwIFN1bj49MSAyIDEgRAotLVIgOiAxOTkzIDIwMDYgLSBPIGxhc3RTdW4gMiAwIFMKLS1SIDogMjAwNyBtYSAtIE1hciBTdW4+PTggMiAxIEQKLS1SIDogMjAwNyBtYSAtIE4gU3VuPj0xIDIgMCBTCi0rMCBFIFdFJXNUCi0rUiBUaCAxOTkxIDE5OTIgLSBNYXIgbGFzdFN1biAyIDEgRAotK1IgVGggMTk5MSAxOTkyIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBUaCAxOTkzIDIwMDYgLSBBcCBTdW4+PTEgMiAxIEQKLStSIFRoIDE5OTMgMjAwNiAtIE8gbGFzdFN1biAyIDAgUwotK1IgVGggMjAwNyBtYSAtIE1hciBTdW4+PTggMiAxIEQKLStSIFRoIDIwMDcgbWEgLSBOIFN1bj49MSAyIDAgUwotIFogQW1lcmljYS9EYW5tYXJrc2hhdm4gLTE6MTQ6NDAgLSBMTVQgMTkxNiBKdWwgMjgKLSAtMyAtIC0wMyAxOTgwIEFwIDYgMgotLS0zIE8gLTAzLy0wMiAxOTk2Ci0rLTMgRSAtMDMvLTAyIDE5OTYKLSAwIC0gR01UCi0gWiBBbWVyaWNhL1Njb3Jlc2J5c3VuZCAtMToyNzo1MiAtIExNVCAxOTE2IEp1bCAyOAotIC0yIC0gLTAyIDE5ODAgQXAgNiAyCi0tLTIgKCAtMDIvLTAxIDE5ODEgTWFyIDI5Ci0tLTEgTyAtMDEvKzAwCi0rLTIgYyAtMDIvLTAxIDE5ODEgTWFyIDI5Ci0rLTEgRSAtMDEvKzAwCi0gWiBBbWVyaWNhL0dvZHRoYWIgLTM6MjY6NTYgLSBMTVQgMTkxNiBKdWwgMjgKLSAtMyAtIC0wMyAxOTgwIEFwIDYgMgotLS0zIE8gLTAzLy0wMgotKy0zIEUgLTAzLy0wMgotIFogQW1lcmljYS9UaHVsZSAtNDozNTo4IC0gTE1UIDE5MTYgSnVsIDI4Ci0tLTQgOiBBJXNUCi0rLTQgVGggQSVzVAotIFogRXVyb3BlL1RhbGxpbm4gMTozOSAtIExNVCAxODgwCi0gMTozOSAtIFRNVCAxOTE4IEYKLS0xICggQ0Ulc1QgMTkxOSBKdWwKLSsxIGMgQ0Ulc1QgMTkxOSBKdWwKLSAxOjM5IC0gVE1UIDE5MjEgTWF5Ci0gMiAtIEVFVCAxOTQwIEF1IDYKLSAzIC0gTVNLIDE5NDEgUyAxNQotLTEgKCBDRSVzVCAxOTQ0IFMgMjIKLS0zIE0gTVNLL01TRCAxOTg5IE1hciAyNiAycwotKzEgYyBDRSVzVCAxOTQ0IFMgMjIKLSszIFIgTVNLL01TRCAxOTg5IE1hciAyNiAycwotIDIgMSBFRVNUIDE5ODkgUyAyNCAycwotLTIgKCBFRSVzVCAxOTk4IFMgMjIKLS0yIE8gRUUlc1QgMTk5OSBPIDMxIDQKLSsyIGMgRUUlc1QgMTk5OCBTIDIyCi0rMiBFIEVFJXNUIDE5OTkgTyAzMSA0Ci0gMiAtIEVFVCAyMDAyIEYgMjEKLS0yIE8gRUUlc1QKLS1SIDsgMTk0MiBvIC0gQXAgMiAyNCAxIFMKLS1SIDsgMTk0MiBvIC0gTyA0IDEgMCAtCi0tUiA7IDE5ODEgMTk4MiAtIE1hciBsYXN0U3VuIDIgMSBTCi0tUiA7IDE5ODEgMTk4MiAtIFMgbGFzdFN1biAzIDAgLQotKzIgRSBFRSVzVAotK1IgRkkgMTk0MiBvIC0gQXAgMiAyNCAxIFMKLStSIEZJIDE5NDIgbyAtIE8gNCAxIDAgLQotK1IgRkkgMTk4MSAxOTgyIC0gTWFyIGxhc3RTdW4gMiAxIFMKLStSIEZJIDE5ODEgMTk4MiAtIFMgbGFzdFN1biAzIDAgLQotIFogRXVyb3BlL0hlbHNpbmtpIDE6Mzk6NDkgLSBMTVQgMTg3OCBNYXkgMzEKLSAxOjM5OjQ5IC0gSE1UIDE5MjEgTWF5Ci0tMiA7IEVFJXNUIDE5ODMKLS0yIE8gRUUlc1QKLSsyIEZJIEVFJXNUIDE5ODMKLSsyIEUgRUUlc1QKLSBMaSBFdXJvcGUvSGVsc2lua2kgRXVyb3BlL01hcmllaGFtbgotLVIgPCAxOTE2IG8gLSBKdW4gMTQgMjNzIDEgUwotLVIgPCAxOTE2IDE5MTkgLSBPIFN1bj49MSAyM3MgMCAtCi0tUiA8IDE5MTcgbyAtIE1hciAyNCAyM3MgMSBTCi0tUiA8IDE5MTggbyAtIE1hciA5IDIzcyAxIFMKLS1SIDwgMTkxOSBvIC0gTWFyIDEgMjNzIDEgUwotLVIgPCAxOTIwIG8gLSBGIDE0IDIzcyAxIFMKLS1SIDwgMTkyMCBvIC0gTyAyMyAyM3MgMCAtCi0tUiA8IDE5MjEgbyAtIE1hciAxNCAyM3MgMSBTCi0tUiA8IDE5MjEgbyAtIE8gMjUgMjNzIDAgLQotLVIgPCAxOTIyIG8gLSBNYXIgMjUgMjNzIDEgUwotLVIgPCAxOTIyIDE5MzggLSBPIFNhdD49MSAyM3MgMCAtCi0tUiA8IDE5MjMgbyAtIE1heSAyNiAyM3MgMSBTCi0tUiA8IDE5MjQgbyAtIE1hciAyOSAyM3MgMSBTCi0tUiA8IDE5MjUgbyAtIEFwIDQgMjNzIDEgUwotLVIgPCAxOTI2IG8gLSBBcCAxNyAyM3MgMSBTCi0tUiA8IDE5MjcgbyAtIEFwIDkgMjNzIDEgUwotLVIgPCAxOTI4IG8gLSBBcCAxNCAyM3MgMSBTCi0tUiA8IDE5MjkgbyAtIEFwIDIwIDIzcyAxIFMKLS1SIDwgMTkzMCBvIC0gQXAgMTIgMjNzIDEgUwotLVIgPCAxOTMxIG8gLSBBcCAxOCAyM3MgMSBTCi0tUiA8IDE5MzIgbyAtIEFwIDIgMjNzIDEgUwotLVIgPCAxOTMzIG8gLSBNYXIgMjUgMjNzIDEgUwotLVIgPCAxOTM0IG8gLSBBcCA3IDIzcyAxIFMKLS1SIDwgMTkzNSBvIC0gTWFyIDMwIDIzcyAxIFMKLS1SIDwgMTkzNiBvIC0gQXAgMTggMjNzIDEgUwotLVIgPCAxOTM3IG8gLSBBcCAzIDIzcyAxIFMKLS1SIDwgMTkzOCBvIC0gTWFyIDI2IDIzcyAxIFMKLS1SIDwgMTkzOSBvIC0gQXAgMTUgMjNzIDEgUwotLVIgPCAxOTM5IG8gLSBOIDE4IDIzcyAwIC0KLS1SIDwgMTk0MCBvIC0gRiAyNSAyIDEgUwotLVIgPCAxOTQxIG8gLSBNYXkgNSAwIDIgTQotLVIgPCAxOTQxIG8gLSBPIDYgMCAxIFMKLS1SIDwgMTk0MiBvIC0gTWFyIDkgMCAyIE0KLS1SIDwgMTk0MiBvIC0gTiAyIDMgMSBTCi0tUiA8IDE5NDMgbyAtIE1hciAyOSAyIDIgTQotLVIgPCAxOTQzIG8gLSBPIDQgMyAxIFMKLS1SIDwgMTk0NCBvIC0gQXAgMyAyIDIgTQotLVIgPCAxOTQ0IG8gLSBPIDggMSAxIFMKLS1SIDwgMTk0NSBvIC0gQXAgMiAyIDIgTQotLVIgPCAxOTQ1IG8gLSBTIDE2IDMgMCAtCi0tUiA8IDE5NzYgbyAtIE1hciAyOCAxIDEgUwotLVIgPCAxOTc2IG8gLSBTIDI2IDEgMCAtCi0rUiBGIDE5MTYgbyAtIEp1biAxNCAyM3MgMSBTCi0rUiBGIDE5MTYgMTkxOSAtIE8gU3VuPj0xIDIzcyAwIC0KLStSIEYgMTkxNyBvIC0gTWFyIDI0IDIzcyAxIFMKLStSIEYgMTkxOCBvIC0gTWFyIDkgMjNzIDEgUwotK1IgRiAxOTE5IG8gLSBNYXIgMSAyM3MgMSBTCi0rUiBGIDE5MjAgbyAtIEYgMTQgMjNzIDEgUwotK1IgRiAxOTIwIG8gLSBPIDIzIDIzcyAwIC0KLStSIEYgMTkyMSBvIC0gTWFyIDE0IDIzcyAxIFMKLStSIEYgMTkyMSBvIC0gTyAyNSAyM3MgMCAtCi0rUiBGIDE5MjIgbyAtIE1hciAyNSAyM3MgMSBTCi0rUiBGIDE5MjIgMTkzOCAtIE8gU2F0Pj0xIDIzcyAwIC0KLStSIEYgMTkyMyBvIC0gTWF5IDI2IDIzcyAxIFMKLStSIEYgMTkyNCBvIC0gTWFyIDI5IDIzcyAxIFMKLStSIEYgMTkyNSBvIC0gQXAgNCAyM3MgMSBTCi0rUiBGIDE5MjYgbyAtIEFwIDE3IDIzcyAxIFMKLStSIEYgMTkyNyBvIC0gQXAgOSAyM3MgMSBTCi0rUiBGIDE5MjggbyAtIEFwIDE0IDIzcyAxIFMKLStSIEYgMTkyOSBvIC0gQXAgMjAgMjNzIDEgUwotK1IgRiAxOTMwIG8gLSBBcCAxMiAyM3MgMSBTCi0rUiBGIDE5MzEgbyAtIEFwIDE4IDIzcyAxIFMKLStSIEYgMTkzMiBvIC0gQXAgMiAyM3MgMSBTCi0rUiBGIDE5MzMgbyAtIE1hciAyNSAyM3MgMSBTCi0rUiBGIDE5MzQgbyAtIEFwIDcgMjNzIDEgUwotK1IgRiAxOTM1IG8gLSBNYXIgMzAgMjNzIDEgUwotK1IgRiAxOTM2IG8gLSBBcCAxOCAyM3MgMSBTCi0rUiBGIDE5MzcgbyAtIEFwIDMgMjNzIDEgUwotK1IgRiAxOTM4IG8gLSBNYXIgMjYgMjNzIDEgUwotK1IgRiAxOTM5IG8gLSBBcCAxNSAyM3MgMSBTCi0rUiBGIDE5MzkgbyAtIE4gMTggMjNzIDAgLQotK1IgRiAxOTQwIG8gLSBGIDI1IDIgMSBTCi0rUiBGIDE5NDEgbyAtIE1heSA1IDAgMiBNCi0rUiBGIDE5NDEgbyAtIE8gNiAwIDEgUwotK1IgRiAxOTQyIG8gLSBNYXIgOSAwIDIgTQotK1IgRiAxOTQyIG8gLSBOIDIgMyAxIFMKLStSIEYgMTk0MyBvIC0gTWFyIDI5IDIgMiBNCi0rUiBGIDE5NDMgbyAtIE8gNCAzIDEgUwotK1IgRiAxOTQ0IG8gLSBBcCAzIDIgMiBNCi0rUiBGIDE5NDQgbyAtIE8gOCAxIDEgUwotK1IgRiAxOTQ1IG8gLSBBcCAyIDIgMiBNCi0rUiBGIDE5NDUgbyAtIFMgMTYgMyAwIC0KLStSIEYgMTk3NiBvIC0gTWFyIDI4IDEgMSBTCi0rUiBGIDE5NzYgbyAtIFMgMjYgMSAwIC0KLSBaIEV1cm9wZS9QYXJpcyAwOjk6MjEgLSBMTVQgMTg5MSBNYXIgMTUgMDoxCi0gMDo5OjIxIC0gUE1UIDE5MTEgTWFyIDExIDA6MQotLTAgPCBXRSVzVCAxOTQwIEp1biAxNCAyMwotLTEgKCBDRSVzVCAxOTQ0IEF1IDI1Ci0tMCA8IFdFJXNUIDE5NDUgUyAxNiAzCi0tMSA8IENFJXNUIDE5NzcKLS0xIE8gQ0Ulc1QKLS1SID0gMTk0NiBvIC0gQXAgMTQgMnMgMSBTCi0tUiA9IDE5NDYgbyAtIE8gNyAycyAwIC0KLS1SID0gMTk0NyAxOTQ5IC0gTyBTdW4+PTEgMnMgMCAtCi0tUiA9IDE5NDcgbyAtIEFwIDYgM3MgMSBTCi0tUiA9IDE5NDcgbyAtIE1heSAxMSAycyAyIE0KLS1SID0gMTk0NyBvIC0gSnVuIDI5IDMgMSBTCi0tUiA9IDE5NDggbyAtIEFwIDE4IDJzIDEgUwotLVIgPSAxOTQ5IG8gLSBBcCAxMCAycyAxIFMKLS1SID4gMTk0NSBvIC0gTWF5IDI0IDIgMiBNCi0tUiA+IDE5NDUgbyAtIFMgMjQgMyAxIFMKLS1SID4gMTk0NSBvIC0gTiAxOCAycyAwIC0KLSswIEYgV0Ulc1QgMTk0MCBKdW4gMTQgMjMKLSsxIGMgQ0Ulc1QgMTk0NCBBdSAyNQotKzAgRiBXRSVzVCAxOTQ1IFMgMTYgMwotKzEgRiBDRSVzVCAxOTc3Ci0rMSBFIENFJXNUCi0rUiBERSAxOTQ2IG8gLSBBcCAxNCAycyAxIFMKLStSIERFIDE5NDYgbyAtIE8gNyAycyAwIC0KLStSIERFIDE5NDcgMTk0OSAtIE8gU3VuPj0xIDJzIDAgLQotK1IgREUgMTk0NyBvIC0gQXAgNiAzcyAxIFMKLStSIERFIDE5NDcgbyAtIE1heSAxMSAycyAyIE0KLStSIERFIDE5NDcgbyAtIEp1biAyOSAzIDEgUwotK1IgREUgMTk0OCBvIC0gQXAgMTggMnMgMSBTCi0rUiBERSAxOTQ5IG8gLSBBcCAxMCAycyAxIFMKLStSIFNvIDE5NDUgbyAtIE1heSAyNCAyIDIgTQotK1IgU28gMTk0NSBvIC0gUyAyNCAzIDEgUwotK1IgU28gMTk0NSBvIC0gTiAxOCAycyAwIC0KLSBaIEV1cm9wZS9CZXJsaW4gMDo1MzoyOCAtIExNVCAxODkzIEFwCi0tMSAoIENFJXNUIDE5NDUgTWF5IDI0IDIKLS0xID4gQ0Ulc1QgMTk0NgotLTEgPSBDRSVzVCAxOTgwCi0tMSBPIENFJXNUCi0rMSBjIENFJXNUIDE5NDUgTWF5IDI0IDIKLSsxIFNvIENFJXNUIDE5NDYKLSsxIERFIENFJXNUIDE5ODAKLSsxIEUgQ0Ulc1QKLSBMaSBFdXJvcGUvWnVyaWNoIEV1cm9wZS9CdXNpbmdlbgotIFogRXVyb3BlL0dpYnJhbHRhciAtMDoyMToyNCAtIExNVCAxODgwIEF1IDIgMHMKLS0wICUgJXMgMTk1NyBBcCAxNCAyCi0rMCBHICVzIDE5NTcgQXAgMTQgMgotIDEgLSBDRVQgMTk4MgotLTEgTyBDRSVzVAotLVIgPyAxOTMyIG8gLSBKdWwgNyAwIDEgUwotLVIgPyAxOTMyIG8gLSBTIDEgMCAwIC0KLS1SID8gMTk0MSBvIC0gQXAgNyAwIDEgUwotLVIgPyAxOTQyIG8gLSBOIDIgMyAwIC0KLS1SID8gMTk0MyBvIC0gTWFyIDMwIDAgMSBTCi0tUiA/IDE5NDMgbyAtIE8gNCAwIDAgLQotLVIgPyAxOTUyIG8gLSBKdWwgMSAwIDEgUwotLVIgPyAxOTUyIG8gLSBOIDIgMCAwIC0KLS1SID8gMTk3NSBvIC0gQXAgMTIgMHMgMSBTCi0tUiA/IDE5NzUgbyAtIE4gMjYgMHMgMCAtCi0tUiA/IDE5NzYgbyAtIEFwIDExIDJzIDEgUwotLVIgPyAxOTc2IG8gLSBPIDEwIDJzIDAgLQotLVIgPyAxOTc3IDE5NzggLSBBcCBTdW4+PTEgMnMgMSBTCi0tUiA/IDE5NzcgbyAtIFMgMjYgMnMgMCAtCi0tUiA/IDE5NzggbyAtIFMgMjQgNCAwIC0KLS1SID8gMTk3OSBvIC0gQXAgMSA5IDEgUwotLVIgPyAxOTc5IG8gLSBTIDI5IDIgMCAtCi0tUiA/IDE5ODAgbyAtIEFwIDEgMCAxIFMKLS1SID8gMTk4MCBvIC0gUyAyOCAwIDAgLQotKzEgRSBDRSVzVAotK1IgZyAxOTMyIG8gLSBKdWwgNyAwIDEgUwotK1IgZyAxOTMyIG8gLSBTIDEgMCAwIC0KLStSIGcgMTk0MSBvIC0gQXAgNyAwIDEgUwotK1IgZyAxOTQyIG8gLSBOIDIgMyAwIC0KLStSIGcgMTk0MyBvIC0gTWFyIDMwIDAgMSBTCi0rUiBnIDE5NDMgbyAtIE8gNCAwIDAgLQotK1IgZyAxOTUyIG8gLSBKdWwgMSAwIDEgUwotK1IgZyAxOTUyIG8gLSBOIDIgMCAwIC0KLStSIGcgMTk3NSBvIC0gQXAgMTIgMHMgMSBTCi0rUiBnIDE5NzUgbyAtIE4gMjYgMHMgMCAtCi0rUiBnIDE5NzYgbyAtIEFwIDExIDJzIDEgUwotK1IgZyAxOTc2IG8gLSBPIDEwIDJzIDAgLQotK1IgZyAxOTc3IDE5NzggLSBBcCBTdW4+PTEgMnMgMSBTCi0rUiBnIDE5NzcgbyAtIFMgMjYgMnMgMCAtCi0rUiBnIDE5NzggbyAtIFMgMjQgNCAwIC0KLStSIGcgMTk3OSBvIC0gQXAgMSA5IDEgUwotK1IgZyAxOTc5IG8gLSBTIDI5IDIgMCAtCi0rUiBnIDE5ODAgbyAtIEFwIDEgMCAxIFMKLStSIGcgMTk4MCBvIC0gUyAyOCAwIDAgLQotIFogRXVyb3BlL0F0aGVucyAxOjM0OjUyIC0gTE1UIDE4OTUgUyAxNAotIDE6MzQ6NTIgLSBBTVQgMTkxNiBKdWwgMjggMDoxCi0tMiA/IEVFJXNUIDE5NDEgQXAgMzAKLS0xID8gQ0Ulc1QgMTk0NCBBcCA0Ci0tMiA/IEVFJXNUIDE5ODEKLS0yIE8gRUUlc1QKLS1SIEAgMTkxOCBvIC0gQXAgMSAzIDEgUwotLVIgQCAxOTE4IG8gLSBTIDE2IDMgMCAtCi0tUiBAIDE5MTkgbyAtIEFwIDE1IDMgMSBTCi0tUiBAIDE5MTkgbyAtIE4gMjQgMyAwIC0KLS1SIEAgMTk0NSBvIC0gTWF5IDEgMjMgMSBTCi0tUiBAIDE5NDUgbyAtIE4gMSAwIDAgLQotLVIgQCAxOTQ2IG8gLSBNYXIgMzEgMnMgMSBTCi0tUiBAIDE5NDYgMTk0OSAtIE8gU3VuPj0xIDJzIDAgLQotLVIgQCAxOTQ3IDE5NDkgLSBBcCBTdW4+PTQgMnMgMSBTCi0tUiBAIDE5NTAgbyAtIEFwIDE3IDJzIDEgUwotLVIgQCAxOTUwIG8gLSBPIDIzIDJzIDAgLQotLVIgQCAxOTU0IDE5NTUgLSBNYXkgMjMgMCAxIFMKLS1SIEAgMTk1NCAxOTU1IC0gTyAzIDAgMCAtCi0tUiBAIDE5NTYgbyAtIEp1biBTdW4+PTEgMCAxIFMKLS1SIEAgMTk1NiBvIC0gUyBsYXN0U3VuIDAgMCAtCi0tUiBAIDE5NTcgbyAtIEp1biBTdW4+PTEgMSAxIFMKLS1SIEAgMTk1NyBvIC0gUyBsYXN0U3VuIDMgMCAtCi0tUiBAIDE5ODAgbyAtIEFwIDYgMSAxIFMKLSsyIGcgRUUlc1QgMTk0MSBBcCAzMAotKzEgZyBDRSVzVCAxOTQ0IEFwIDQKLSsyIGcgRUUlc1QgMTk4MQotKzIgRSBFRSVzVAotK1IgaCAxOTE4IG8gLSBBcCAxIDMgMSBTCi0rUiBoIDE5MTggbyAtIFMgMTYgMyAwIC0KLStSIGggMTkxOSBvIC0gQXAgMTUgMyAxIFMKLStSIGggMTkxOSBvIC0gTiAyNCAzIDAgLQotK1IgaCAxOTQ1IG8gLSBNYXkgMSAyMyAxIFMKLStSIGggMTk0NSBvIC0gTiAxIDAgMCAtCi0rUiBoIDE5NDYgbyAtIE1hciAzMSAycyAxIFMKLStSIGggMTk0NiAxOTQ5IC0gTyBTdW4+PTEgMnMgMCAtCi0rUiBoIDE5NDcgMTk0OSAtIEFwIFN1bj49NCAycyAxIFMKLStSIGggMTk1MCBvIC0gQXAgMTcgMnMgMSBTCi0rUiBoIDE5NTAgbyAtIE8gMjMgMnMgMCAtCi0rUiBoIDE5NTQgMTk1NSAtIE1heSAyMyAwIDEgUwotK1IgaCAxOTU0IDE5NTUgLSBPIDMgMCAwIC0KLStSIGggMTk1NiBvIC0gSnVuIFN1bj49MSAwIDEgUwotK1IgaCAxOTU2IG8gLSBTIGxhc3RTdW4gMCAwIC0KLStSIGggMTk1NyBvIC0gSnVuIFN1bj49MSAxIDEgUwotK1IgaCAxOTU3IG8gLSBTIGxhc3RTdW4gMyAwIC0KLStSIGggMTk4MCBvIC0gQXAgNiAxIDEgUwotIFogRXVyb3BlL0J1ZGFwZXN0IDE6MTY6MjAgLSBMTVQgMTg5MCBPCi0tMSAoIENFJXNUIDE5MTgKLS0xIEAgQ0Ulc1QgMTk0MSBBcCA4Ci0tMSAoIENFJXNUIDE5NDUKLS0xIEAgQ0Ulc1QgMTk4MCBTIDI4IDJzCi0tMSBPIENFJXNUCi0tUiBbIDE5MTcgMTkxOSAtIEYgMTkgMjMgMSAtCi0tUiBbIDE5MTcgbyAtIE8gMjEgMSAwIC0KLS1SIFsgMTkxOCAxOTE5IC0gTiAxNiAxIDAgLQotLVIgWyAxOTIxIG8gLSBNYXIgMTkgMjMgMSAtCi0tUiBbIDE5MjEgbyAtIEp1biAyMyAxIDAgLQotLVIgWyAxOTM5IG8gLSBBcCAyOSAyMyAxIC0KLS1SIFsgMTkzOSBvIC0gTyAyOSAyIDAgLQotLVIgWyAxOTQwIG8gLSBGIDI1IDIgMSAtCi0tUiBbIDE5NDAgMTk0MSAtIE4gU3VuPj0yIDFzIDAgLQotLVIgWyAxOTQxIDE5NDIgLSBNYXIgU3VuPj0yIDFzIDEgLQotLVIgWyAxOTQzIDE5NDYgLSBNYXIgU3VuPj0xIDFzIDEgLQotLVIgWyAxOTQyIDE5NDggLSBPIFN1bj49MjIgMXMgMCAtCi0tUiBbIDE5NDcgMTk2NyAtIEFwIFN1bj49MSAxcyAxIC0KLS1SIFsgMTk0OSBvIC0gTyAzMCAxcyAwIC0KLS1SIFsgMTk1MCAxOTY2IC0gTyBTdW4+PTIyIDFzIDAgLQotLVIgWyAxOTY3IG8gLSBPIDI5IDFzIDAgLQotKzEgYyBDRSVzVCAxOTE4Ci0rMSBoIENFJXNUIDE5NDEgQXAgOAotKzEgYyBDRSVzVCAxOTQ1Ci0rMSBoIENFJXNUIDE5ODAgUyAyOCAycwotKzEgRSBDRSVzVAotK1IgdyAxOTE3IDE5MTkgLSBGIDE5IDIzIDEgLQotK1IgdyAxOTE3IG8gLSBPIDIxIDEgMCAtCi0rUiB3IDE5MTggMTkxOSAtIE4gMTYgMSAwIC0KLStSIHcgMTkyMSBvIC0gTWFyIDE5IDIzIDEgLQotK1IgdyAxOTIxIG8gLSBKdW4gMjMgMSAwIC0KLStSIHcgMTkzOSBvIC0gQXAgMjkgMjMgMSAtCi0rUiB3IDE5MzkgbyAtIE8gMjkgMiAwIC0KLStSIHcgMTk0MCBvIC0gRiAyNSAyIDEgLQotK1IgdyAxOTQwIDE5NDEgLSBOIFN1bj49MiAxcyAwIC0KLStSIHcgMTk0MSAxOTQyIC0gTWFyIFN1bj49MiAxcyAxIC0KLStSIHcgMTk0MyAxOTQ2IC0gTWFyIFN1bj49MSAxcyAxIC0KLStSIHcgMTk0MiAxOTQ4IC0gTyBTdW4+PTIyIDFzIDAgLQotK1IgdyAxOTQ3IDE5NjcgLSBBcCBTdW4+PTEgMXMgMSAtCi0rUiB3IDE5NDkgbyAtIE8gMzAgMXMgMCAtCi0rUiB3IDE5NTAgMTk2NiAtIE8gU3VuPj0yMiAxcyAwIC0KLStSIHcgMTk2NyBvIC0gTyAyOSAxcyAwIC0KLSBaIEF0bGFudGljL1JleWtqYXZpayAtMToyOCAtIExNVCAxOTA4Ci0tLTEgWyAtMDEvKzAwIDE5NjggQXAgNyAxcwotKy0xIHcgLTAxLyswMCAxOTY4IEFwIDcgMXMKLSAwIC0gR01UCi0tUiBcIDE5MTYgbyAtIEp1biAzIDI0IDEgUwotLVIgXCAxOTE2IDE5MTcgLSBTIDMwIDI0IDAgLQotLVIgXCAxOTE3IG8gLSBNYXIgMzEgMjQgMSBTCi0tUiBcIDE5MTggbyAtIE1hciA5IDI0IDEgUwotLVIgXCAxOTE4IG8gLSBPIDYgMjQgMCAtCi0tUiBcIDE5MTkgbyAtIE1hciAxIDI0IDEgUwotLVIgXCAxOTE5IG8gLSBPIDQgMjQgMCAtCi0tUiBcIDE5MjAgbyAtIE1hciAyMCAyNCAxIFMKLS1SIFwgMTkyMCBvIC0gUyAxOCAyNCAwIC0KLS1SIFwgMTk0MCBvIC0gSnVuIDE0IDI0IDEgUwotLVIgXCAxOTQyIG8gLSBOIDIgMnMgMCAtCi0tUiBcIDE5NDMgbyAtIE1hciAyOSAycyAxIFMKLS1SIFwgMTk0MyBvIC0gTyA0IDJzIDAgLQotLVIgXCAxOTQ0IG8gLSBBcCAyIDJzIDEgUwotLVIgXCAxOTQ0IG8gLSBTIDE3IDJzIDAgLQotLVIgXCAxOTQ1IG8gLSBBcCAyIDIgMSBTCi0tUiBcIDE5NDUgbyAtIFMgMTUgMSAwIC0KLS1SIFwgMTk0NiBvIC0gTWFyIDE3IDJzIDEgUwotLVIgXCAxOTQ2IG8gLSBPIDYgMnMgMCAtCi0tUiBcIDE5NDcgbyAtIE1hciAxNiAwcyAxIFMKLS1SIFwgMTk0NyBvIC0gTyA1IDBzIDAgLQotLVIgXCAxOTQ4IG8gLSBGIDI5IDJzIDEgUwotLVIgXCAxOTQ4IG8gLSBPIDMgMnMgMCAtCi0tUiBcIDE5NjYgMTk2OCAtIE1heSBTdW4+PTIyIDBzIDEgUwotLVIgXCAxOTY2IG8gLSBTIDI0IDI0IDAgLQotLVIgXCAxOTY3IDE5NjkgLSBTIFN1bj49MjIgMHMgMCAtCi0tUiBcIDE5NjkgbyAtIEp1biAxIDBzIDEgUwotLVIgXCAxOTcwIG8gLSBNYXkgMzEgMHMgMSBTCi0tUiBcIDE5NzAgbyAtIFMgbGFzdFN1biAwcyAwIC0KLS1SIFwgMTk3MSAxOTcyIC0gTWF5IFN1bj49MjIgMHMgMSBTCi0tUiBcIDE5NzEgbyAtIFMgbGFzdFN1biAwcyAwIC0KLS1SIFwgMTk3MiBvIC0gTyAxIDBzIDAgLQotLVIgXCAxOTczIG8gLSBKdW4gMyAwcyAxIFMKLS1SIFwgMTk3MyAxOTc0IC0gUyBsYXN0U3VuIDBzIDAgLQotLVIgXCAxOTc0IG8gLSBNYXkgMjYgMHMgMSBTCi0tUiBcIDE5NzUgbyAtIEp1biAxIDBzIDEgUwotLVIgXCAxOTc1IDE5NzcgLSBTIGxhc3RTdW4gMHMgMCAtCi0tUiBcIDE5NzYgbyAtIE1heSAzMCAwcyAxIFMKLS1SIFwgMTk3NyAxOTc5IC0gTWF5IFN1bj49MjIgMHMgMSBTCi0tUiBcIDE5NzggbyAtIE8gMSAwcyAwIC0KLS1SIFwgMTk3OSBvIC0gUyAzMCAwcyAwIC0KLStSIEkgMTkxNiBvIC0gSnVuIDMgMjQgMSBTCi0rUiBJIDE5MTYgMTkxNyAtIFMgMzAgMjQgMCAtCi0rUiBJIDE5MTcgbyAtIE1hciAzMSAyNCAxIFMKLStSIEkgMTkxOCBvIC0gTWFyIDkgMjQgMSBTCi0rUiBJIDE5MTggbyAtIE8gNiAyNCAwIC0KLStSIEkgMTkxOSBvIC0gTWFyIDEgMjQgMSBTCi0rUiBJIDE5MTkgbyAtIE8gNCAyNCAwIC0KLStSIEkgMTkyMCBvIC0gTWFyIDIwIDI0IDEgUwotK1IgSSAxOTIwIG8gLSBTIDE4IDI0IDAgLQotK1IgSSAxOTQwIG8gLSBKdW4gMTQgMjQgMSBTCi0rUiBJIDE5NDIgbyAtIE4gMiAycyAwIC0KLStSIEkgMTk0MyBvIC0gTWFyIDI5IDJzIDEgUwotK1IgSSAxOTQzIG8gLSBPIDQgMnMgMCAtCi0rUiBJIDE5NDQgbyAtIEFwIDIgMnMgMSBTCi0rUiBJIDE5NDQgbyAtIFMgMTcgMnMgMCAtCi0rUiBJIDE5NDUgbyAtIEFwIDIgMiAxIFMKLStSIEkgMTk0NSBvIC0gUyAxNSAxIDAgLQotK1IgSSAxOTQ2IG8gLSBNYXIgMTcgMnMgMSBTCi0rUiBJIDE5NDYgbyAtIE8gNiAycyAwIC0KLStSIEkgMTk0NyBvIC0gTWFyIDE2IDBzIDEgUwotK1IgSSAxOTQ3IG8gLSBPIDUgMHMgMCAtCi0rUiBJIDE5NDggbyAtIEYgMjkgMnMgMSBTCi0rUiBJIDE5NDggbyAtIE8gMyAycyAwIC0KLStSIEkgMTk2NiAxOTY4IC0gTWF5IFN1bj49MjIgMHMgMSBTCi0rUiBJIDE5NjYgbyAtIFMgMjQgMjQgMCAtCi0rUiBJIDE5NjcgMTk2OSAtIFMgU3VuPj0yMiAwcyAwIC0KLStSIEkgMTk2OSBvIC0gSnVuIDEgMHMgMSBTCi0rUiBJIDE5NzAgbyAtIE1heSAzMSAwcyAxIFMKLStSIEkgMTk3MCBvIC0gUyBsYXN0U3VuIDBzIDAgLQotK1IgSSAxOTcxIDE5NzIgLSBNYXkgU3VuPj0yMiAwcyAxIFMKLStSIEkgMTk3MSBvIC0gUyBsYXN0U3VuIDBzIDAgLQotK1IgSSAxOTcyIG8gLSBPIDEgMHMgMCAtCi0rUiBJIDE5NzMgbyAtIEp1biAzIDBzIDEgUwotK1IgSSAxOTczIDE5NzQgLSBTIGxhc3RTdW4gMHMgMCAtCi0rUiBJIDE5NzQgbyAtIE1heSAyNiAwcyAxIFMKLStSIEkgMTk3NSBvIC0gSnVuIDEgMHMgMSBTCi0rUiBJIDE5NzUgMTk3NyAtIFMgbGFzdFN1biAwcyAwIC0KLStSIEkgMTk3NiBvIC0gTWF5IDMwIDBzIDEgUwotK1IgSSAxOTc3IDE5NzkgLSBNYXkgU3VuPj0yMiAwcyAxIFMKLStSIEkgMTk3OCBvIC0gTyAxIDBzIDAgLQotK1IgSSAxOTc5IG8gLSBTIDMwIDBzIDAgLQotIFogRXVyb3BlL1JvbWUgMDo0OTo1NiAtIExNVCAxODY2IFMgMjIKLSAwOjQ5OjU2IC0gUk1UIDE4OTMgTyAzMSAyMzo0OTo1NgotLTEgXCBDRSVzVCAxOTQzIFMgMTAKLS0xICggQ0Ulc1QgMTk0NCBKdW4gNAotLTEgXCBDRSVzVCAxOTgwCi0tMSBPIENFJXNUCi0rMSBJIENFJXNUIDE5NDMgUyAxMAotKzEgYyBDRSVzVCAxOTQ0IEp1biA0Ci0rMSBJIENFJXNUIDE5ODAKLSsxIEUgQ0Ulc1QKLSBMaSBFdXJvcGUvUm9tZSBFdXJvcGUvVmF0aWNhbgotIExpIEV1cm9wZS9Sb21lIEV1cm9wZS9TYW5fTWFyaW5vCi0tUiBdIDE5ODkgMTk5NiAtIE1hciBsYXN0U3VuIDJzIDEgUwotLVIgXSAxOTg5IDE5OTYgLSBTIGxhc3RTdW4gMnMgMCAtCi0rUiBMViAxOTg5IDE5OTYgLSBNYXIgbGFzdFN1biAycyAxIFMKLStSIExWIDE5ODkgMTk5NiAtIFMgbGFzdFN1biAycyAwIC0KLSBaIEV1cm9wZS9SaWdhIDE6MzY6MzQgLSBMTVQgMTg4MAotIDE6MzY6MzQgLSBSTVQgMTkxOCBBcCAxNSAyCi0gMTozNjozNCAxIExTVCAxOTE4IFMgMTYgMwotQEAgLTE4ODMsMTMgKzE5MDcsMTMgQEAgWiBFdXJvcGUvUmlnYSAxOjM2OjM0IC0gTE1UIDE4ODAKLSAxOjM2OjM0IC0gUk1UIDE5MjYgTWF5IDExCi0gMiAtIEVFVCAxOTQwIEF1IDUKLSAzIC0gTVNLIDE5NDEgSnVsCi0tMSAoIENFJXNUIDE5NDQgTyAxMwotLTMgTSBNU0svTVNEIDE5ODkgTWFyIGxhc3RTdW4gMnMKLSsxIGMgQ0Ulc1QgMTk0NCBPIDEzCi0rMyBSIE1TSy9NU0QgMTk4OSBNYXIgbGFzdFN1biAycwotIDIgMSBFRVNUIDE5ODkgUyBsYXN0U3VuIDJzCi0tMiBdIEVFJXNUIDE5OTcgSmEgMjEKLS0yIE8gRUUlc1QgMjAwMCBGIDI5Ci0rMiBMViBFRSVzVCAxOTk3IEphIDIxCi0rMiBFIEVFJXNUIDIwMDAgRiAyOQotIDIgLSBFRVQgMjAwMSBKYSAyCi0tMiBPIEVFJXNUCi0rMiBFIEVFJXNUCi0gTGkgRXVyb3BlL1p1cmljaCBFdXJvcGUvVmFkdXoKLSBaIEV1cm9wZS9WaWxuaXVzIDE6NDE6MTYgLSBMTVQgMTg4MAotIDE6MjQgLSBXTVQgMTkxNwotQEAgLTE4OTgsNzgzICsxOTIyLDc3NiBAQCBaIEV1cm9wZS9WaWxuaXVzIDE6NDE6MTYgLSBMTVQgMTg4MAotIDIgLSBFRVQgMTkyMCBPIDkKLSAxIC0gQ0VUIDE5NDAgQXUgMwotIDMgLSBNU0sgMTk0MSBKdW4gMjQKLS0xICggQ0Ulc1QgMTk0NCBBdQotLTMgTSBNU0svTVNEIDE5ODkgTWFyIDI2IDJzCi0tMiBNIEVFJXNUIDE5OTEgUyAyOSAycwotLTIgKCBFRSVzVCAxOTk4Ci0rMSBjIENFJXNUIDE5NDQgQXUKLSszIFIgTVNLL01TRCAxOTg5IE1hciAyNiAycwotKzIgUiBFRSVzVCAxOTkxIFMgMjkgMnMKLSsyIGMgRUUlc1QgMTk5OAotIDIgLSBFRVQgMTk5OCBNYXIgMjkgMXUKLS0xIE8gQ0Ulc1QgMTk5OSBPIDMxIDF1Ci0rMSBFIENFJXNUIDE5OTkgTyAzMSAxdQotIDIgLSBFRVQgMjAwMwotLTIgTyBFRSVzVAotLVIgXiAxOTE2IG8gLSBNYXkgMTQgMjMgMSBTCi0tUiBeIDE5MTYgbyAtIE8gMSAxIDAgLQotLVIgXiAxOTE3IG8gLSBBcCAyOCAyMyAxIFMKLS1SIF4gMTkxNyBvIC0gUyAxNyAxIDAgLQotLVIgXiAxOTE4IG8gLSBBcCBNPj0xNSAycyAxIFMKLS1SIF4gMTkxOCBvIC0gUyBNPj0xNSAycyAwIC0KLS1SIF4gMTkxOSBvIC0gTWFyIDEgMjMgMSBTCi0tUiBeIDE5MTkgbyAtIE8gNSAzIDAgLQotLVIgXiAxOTIwIG8gLSBGIDE0IDIzIDEgUwotLVIgXiAxOTIwIG8gLSBPIDI0IDIgMCAtCi0tUiBeIDE5MjEgbyAtIE1hciAxNCAyMyAxIFMKLS1SIF4gMTkyMSBvIC0gTyAyNiAyIDAgLQotLVIgXiAxOTIyIG8gLSBNYXIgMjUgMjMgMSBTCi0tUiBeIDE5MjIgbyAtIE8gU3VuPj0yIDEgMCAtCi0tUiBeIDE5MjMgbyAtIEFwIDIxIDIzIDEgUwotLVIgXiAxOTIzIG8gLSBPIFN1bj49MiAyIDAgLQotLVIgXiAxOTI0IG8gLSBNYXIgMjkgMjMgMSBTCi0tUiBeIDE5MjQgMTkyOCAtIE8gU3VuPj0yIDEgMCAtCi0tUiBeIDE5MjUgbyAtIEFwIDUgMjMgMSBTCi0tUiBeIDE5MjYgbyAtIEFwIDE3IDIzIDEgUwotLVIgXiAxOTI3IG8gLSBBcCA5IDIzIDEgUwotLVIgXiAxOTI4IG8gLSBBcCAxNCAyMyAxIFMKLS1SIF4gMTkyOSBvIC0gQXAgMjAgMjMgMSBTCi0rMiBFIEVFJXNUCi0rUiBMWCAxOTE2IG8gLSBNYXkgMTQgMjMgMSBTCi0rUiBMWCAxOTE2IG8gLSBPIDEgMSAwIC0KLStSIExYIDE5MTcgbyAtIEFwIDI4IDIzIDEgUwotK1IgTFggMTkxNyBvIC0gUyAxNyAxIDAgLQotK1IgTFggMTkxOCBvIC0gQXAgTT49MTUgMnMgMSBTCi0rUiBMWCAxOTE4IG8gLSBTIE0+PTE1IDJzIDAgLQotK1IgTFggMTkxOSBvIC0gTWFyIDEgMjMgMSBTCi0rUiBMWCAxOTE5IG8gLSBPIDUgMyAwIC0KLStSIExYIDE5MjAgbyAtIEYgMTQgMjMgMSBTCi0rUiBMWCAxOTIwIG8gLSBPIDI0IDIgMCAtCi0rUiBMWCAxOTIxIG8gLSBNYXIgMTQgMjMgMSBTCi0rUiBMWCAxOTIxIG8gLSBPIDI2IDIgMCAtCi0rUiBMWCAxOTIyIG8gLSBNYXIgMjUgMjMgMSBTCi0rUiBMWCAxOTIyIG8gLSBPIFN1bj49MiAxIDAgLQotK1IgTFggMTkyMyBvIC0gQXAgMjEgMjMgMSBTCi0rUiBMWCAxOTIzIG8gLSBPIFN1bj49MiAyIDAgLQotK1IgTFggMTkyNCBvIC0gTWFyIDI5IDIzIDEgUwotK1IgTFggMTkyNCAxOTI4IC0gTyBTdW4+PTIgMSAwIC0KLStSIExYIDE5MjUgbyAtIEFwIDUgMjMgMSBTCi0rUiBMWCAxOTI2IG8gLSBBcCAxNyAyMyAxIFMKLStSIExYIDE5MjcgbyAtIEFwIDkgMjMgMSBTCi0rUiBMWCAxOTI4IG8gLSBBcCAxNCAyMyAxIFMKLStSIExYIDE5MjkgbyAtIEFwIDIwIDIzIDEgUwotIFogRXVyb3BlL0x1eGVtYm91cmcgMDoyNDozNiAtIExNVCAxOTA0IEp1bgotLTEgXiBDRSVzVCAxOTE4IE4gMjUKLS0wIF4gV0Ulc1QgMTkyOSBPIDYgMnMKLS0wICsgV0Ulc1QgMTk0MCBNYXkgMTQgMwotLTEgKCBXRSVzVCAxOTQ0IFMgMTggMwotLTEgKyBDRSVzVCAxOTc3Ci0tMSBPIENFJXNUCi0tUiBfIDE5NzMgbyAtIE1hciAzMSAwcyAxIFMKLS1SIF8gMTk3MyBvIC0gUyAyOSAwcyAwIC0KLS1SIF8gMTk3NCBvIC0gQXAgMjEgMHMgMSBTCi0tUiBfIDE5NzQgbyAtIFMgMTYgMHMgMCAtCi0tUiBfIDE5NzUgMTk3OSAtIEFwIFN1bj49MTUgMiAxIFMKLS1SIF8gMTk3NSAxOTgwIC0gUyBTdW4+PTE1IDIgMCAtCi0tUiBfIDE5ODAgbyAtIE1hciAzMSAyIDEgUwotKzEgTFggQ0Ulc1QgMTkxOCBOIDI1Ci0rMCBMWCBXRSVzVCAxOTI5IE8gNiAycwotKzAgYiBXRSVzVCAxOTQwIE1heSAxNCAzCi0rMSBjIFdFJXNUIDE5NDQgUyAxOCAzCi0rMSBiIENFJXNUIDE5NzcKLSsxIEUgQ0Ulc1QKLStSIE1UIDE5NzMgbyAtIE1hciAzMSAwcyAxIFMKLStSIE1UIDE5NzMgbyAtIFMgMjkgMHMgMCAtCi0rUiBNVCAxOTc0IG8gLSBBcCAyMSAwcyAxIFMKLStSIE1UIDE5NzQgbyAtIFMgMTYgMHMgMCAtCi0rUiBNVCAxOTc1IDE5NzkgLSBBcCBTdW4+PTE1IDIgMSBTCi0rUiBNVCAxOTc1IDE5ODAgLSBTIFN1bj49MTUgMiAwIC0KLStSIE1UIDE5ODAgbyAtIE1hciAzMSAyIDEgUwotIFogRXVyb3BlL01hbHRhIDA6NTg6NCAtIExNVCAxODkzIE4gMiAwcwotLTEgXCBDRSVzVCAxOTczIE1hciAzMQotLTEgXyBDRSVzVCAxOTgxCi0tMSBPIENFJXNUCi0tUiBgIDE5OTcgbWEgLSBNYXIgbGFzdFN1biAyIDEgUwotLVIgYCAxOTk3IG1hIC0gTyBsYXN0U3VuIDMgMCAtCi0rMSBJIENFJXNUIDE5NzMgTWFyIDMxCi0rMSBNVCBDRSVzVCAxOTgxCi0rMSBFIENFJXNUCi0rUiBNRCAxOTk3IG1hIC0gTWFyIGxhc3RTdW4gMiAxIFMKLStSIE1EIDE5OTcgbWEgLSBPIGxhc3RTdW4gMyAwIC0KLSBaIEV1cm9wZS9DaGlzaW5hdSAxOjU1OjIwIC0gTE1UIDE4ODAKLSAxOjU1IC0gQ01UIDE5MTggRiAxNQotIDE6NDQ6MjQgLSBCTVQgMTkzMSBKdWwgMjQKLS0yIHsgRUUlc1QgMTk0MCBBdSAxNQotKzIgeiBFRSVzVCAxOTQwIEF1IDE1Ci0gMiAxIEVFU1QgMTk0MSBKdWwgMTcKLS0xICggQ0Ulc1QgMTk0NCBBdSAyNAotLTMgTSBNU0svTVNEIDE5OTAgTWF5IDYgMgotLTIgTSBFRSVzVCAxOTkyCi0tMiBXIEVFJXNUIDE5OTcKLS0yIGAgRUUlc1QKLSsxIGMgQ0Ulc1QgMTk0NCBBdSAyNAotKzMgUiBNU0svTVNEIDE5OTAgTWF5IDYgMgotKzIgUiBFRSVzVCAxOTkyCi0rMiBlIEVFJXNUIDE5OTcKLSsyIE1EIEVFJXNUCi0gWiBFdXJvcGUvTW9uYWNvIDA6Mjk6MzIgLSBMTVQgMTg5MSBNYXIgMTUKLSAwOjk6MjEgLSBQTVQgMTkxMSBNYXIgMTEKLS0wIDwgV0Ulc1QgMTk0NSBTIDE2IDMKLS0xIDwgQ0Ulc1QgMTk3NwotLTEgTyBDRSVzVAotLVIgfCAxOTE2IG8gLSBNYXkgMSAwIDEgTlNUCi0tUiB8IDE5MTYgbyAtIE8gMSAwIDAgQU1UCi0tUiB8IDE5MTcgbyAtIEFwIDE2IDJzIDEgTlNUCi0tUiB8IDE5MTcgbyAtIFMgMTcgMnMgMCBBTVQKLS1SIHwgMTkxOCAxOTIxIC0gQXAgTT49MSAycyAxIE5TVAotLVIgfCAxOTE4IDE5MjEgLSBTIGxhc3RNIDJzIDAgQU1UCi0tUiB8IDE5MjIgbyAtIE1hciBsYXN0U3VuIDJzIDEgTlNUCi0tUiB8IDE5MjIgMTkzNiAtIE8gU3VuPj0yIDJzIDAgQU1UCi0tUiB8IDE5MjMgbyAtIEp1biBGPj0xIDJzIDEgTlNUCi0tUiB8IDE5MjQgbyAtIE1hciBsYXN0U3VuIDJzIDEgTlNUCi0tUiB8IDE5MjUgbyAtIEp1biBGPj0xIDJzIDEgTlNUCi0tUiB8IDE5MjYgMTkzMSAtIE1heSAxNSAycyAxIE5TVAotLVIgfCAxOTMyIG8gLSBNYXkgMjIgMnMgMSBOU1QKLS1SIHwgMTkzMyAxOTM2IC0gTWF5IDE1IDJzIDEgTlNUCi0tUiB8IDE5MzcgbyAtIE1heSAyMiAycyAxIE5TVAotLVIgfCAxOTM3IG8gLSBKdWwgMSAwIDEgUwotLVIgfCAxOTM3IDE5MzkgLSBPIFN1bj49MiAycyAwIC0KLS1SIHwgMTkzOCAxOTM5IC0gTWF5IDE1IDJzIDEgUwotLVIgfCAxOTQ1IG8gLSBBcCAyIDJzIDEgUwotLVIgfCAxOTQ1IG8gLSBTIDE2IDJzIDAgLQotKzAgRiBXRSVzVCAxOTQ1IFMgMTYgMwotKzEgRiBDRSVzVCAxOTc3Ci0rMSBFIENFJXNUCi0rUiBOIDE5MTYgbyAtIE1heSAxIDAgMSBOU1QKLStSIE4gMTkxNiBvIC0gTyAxIDAgMCBBTVQKLStSIE4gMTkxNyBvIC0gQXAgMTYgMnMgMSBOU1QKLStSIE4gMTkxNyBvIC0gUyAxNyAycyAwIEFNVAotK1IgTiAxOTE4IDE5MjEgLSBBcCBNPj0xIDJzIDEgTlNUCi0rUiBOIDE5MTggMTkyMSAtIFMgbGFzdE0gMnMgMCBBTVQKLStSIE4gMTkyMiBvIC0gTWFyIGxhc3RTdW4gMnMgMSBOU1QKLStSIE4gMTkyMiAxOTM2IC0gTyBTdW4+PTIgMnMgMCBBTVQKLStSIE4gMTkyMyBvIC0gSnVuIEY+PTEgMnMgMSBOU1QKLStSIE4gMTkyNCBvIC0gTWFyIGxhc3RTdW4gMnMgMSBOU1QKLStSIE4gMTkyNSBvIC0gSnVuIEY+PTEgMnMgMSBOU1QKLStSIE4gMTkyNiAxOTMxIC0gTWF5IDE1IDJzIDEgTlNUCi0rUiBOIDE5MzIgbyAtIE1heSAyMiAycyAxIE5TVAotK1IgTiAxOTMzIDE5MzYgLSBNYXkgMTUgMnMgMSBOU1QKLStSIE4gMTkzNyBvIC0gTWF5IDIyIDJzIDEgTlNUCi0rUiBOIDE5MzcgbyAtIEp1bCAxIDAgMSBTCi0rUiBOIDE5MzcgMTkzOSAtIE8gU3VuPj0yIDJzIDAgLQotK1IgTiAxOTM4IDE5MzkgLSBNYXkgMTUgMnMgMSBTCi0rUiBOIDE5NDUgbyAtIEFwIDIgMnMgMSBTCi0rUiBOIDE5NDUgbyAtIFMgMTYgMnMgMCAtCi0gWiBFdXJvcGUvQW1zdGVyZGFtIDA6MTk6MzIgLSBMTVQgMTgzNQotLTA6MTk6MzIgfCAlcyAxOTM3IEp1bAotLTA6MjAgfCArMDAyMC8rMDEyMCAxOTQwIE1heSAxNgotLTEgKCBDRSVzVCAxOTQ1IEFwIDIgMgotLTEgfCBDRSVzVCAxOTc3Ci0tMSBPIENFJXNUCi0tUiB9IDE5MTYgbyAtIE1heSAyMiAxIDEgUwotLVIgfSAxOTE2IG8gLSBTIDMwIDAgMCAtCi0tUiB9IDE5NDUgbyAtIEFwIDIgMnMgMSBTCi0tUiB9IDE5NDUgbyAtIE8gMSAycyAwIC0KLS1SIH0gMTk1OSAxOTY0IC0gTWFyIFN1bj49MTUgMnMgMSBTCi0tUiB9IDE5NTkgMTk2NSAtIFMgU3VuPj0xNSAycyAwIC0KLS1SIH0gMTk2NSBvIC0gQXAgMjUgMnMgMSBTCi0rMDoxOTozMiBOICVzIDE5MzcgSnVsCi0rMDoyMCBOICswMDIwLyswMTIwIDE5NDAgTWF5IDE2Ci0rMSBjIENFJXNUIDE5NDUgQXAgMiAyCi0rMSBOIENFJXNUIDE5NzcKLSsxIEUgQ0Ulc1QKLStSIE5PIDE5MTYgbyAtIE1heSAyMiAxIDEgUwotK1IgTk8gMTkxNiBvIC0gUyAzMCAwIDAgLQotK1IgTk8gMTk0NSBvIC0gQXAgMiAycyAxIFMKLStSIE5PIDE5NDUgbyAtIE8gMSAycyAwIC0KLStSIE5PIDE5NTkgMTk2NCAtIE1hciBTdW4+PTE1IDJzIDEgUwotK1IgTk8gMTk1OSAxOTY1IC0gUyBTdW4+PTE1IDJzIDAgLQotK1IgTk8gMTk2NSBvIC0gQXAgMjUgMnMgMSBTCi0gWiBFdXJvcGUvT3NsbyAwOjQzIC0gTE1UIDE4OTUKLS0xIH0gQ0Ulc1QgMTk0MCBBdSAxMCAyMwotLTEgKCBDRSVzVCAxOTQ1IEFwIDIgMgotLTEgfSBDRSVzVCAxOTgwCi0tMSBPIENFJXNUCi0rMSBOTyBDRSVzVCAxOTQwIEF1IDEwIDIzCi0rMSBjIENFJXNUIDE5NDUgQXAgMiAyCi0rMSBOTyBDRSVzVCAxOTgwCi0rMSBFIENFJXNUCi0gTGkgRXVyb3BlL09zbG8gQXJjdGljL0xvbmd5ZWFyYnllbgotLVIgfiAxOTE4IDE5MTkgLSBTIDE2IDJzIDAgLQotLVIgfiAxOTE5IG8gLSBBcCAxNSAycyAxIFMKLS1SIH4gMTk0NCBvIC0gQXAgMyAycyAxIFMKLS1SIH4gMTk0NCBvIC0gTyA0IDIgMCAtCi0tUiB+IDE5NDUgbyAtIEFwIDI5IDAgMSBTCi0tUiB+IDE5NDUgbyAtIE4gMSAwIDAgLQotLVIgfiAxOTQ2IG8gLSBBcCAxNCAwcyAxIFMKLS1SIH4gMTk0NiBvIC0gTyA3IDJzIDAgLQotLVIgfiAxOTQ3IG8gLSBNYXkgNCAycyAxIFMKLS1SIH4gMTk0NyAxOTQ5IC0gTyBTdW4+PTEgMnMgMCAtCi0tUiB+IDE5NDggbyAtIEFwIDE4IDJzIDEgUwotLVIgfiAxOTQ5IG8gLSBBcCAxMCAycyAxIFMKLS1SIH4gMTk1NyBvIC0gSnVuIDIgMXMgMSBTCi0tUiB+IDE5NTcgMTk1OCAtIFMgbGFzdFN1biAxcyAwIC0KLS1SIH4gMTk1OCBvIC0gTWFyIDMwIDFzIDEgUwotLVIgfiAxOTU5IG8gLSBNYXkgMzEgMXMgMSBTCi0tUiB+IDE5NTkgMTk2MSAtIE8gU3VuPj0xIDFzIDAgLQotLVIgfiAxOTYwIG8gLSBBcCAzIDFzIDEgUwotLVIgfiAxOTYxIDE5NjQgLSBNYXkgbGFzdFN1biAxcyAxIFMKLS1SIH4gMTk2MiAxOTY0IC0gUyBsYXN0U3VuIDFzIDAgLQotK1IgTyAxOTE4IDE5MTkgLSBTIDE2IDJzIDAgLQotK1IgTyAxOTE5IG8gLSBBcCAxNSAycyAxIFMKLStSIE8gMTk0NCBvIC0gQXAgMyAycyAxIFMKLStSIE8gMTk0NCBvIC0gTyA0IDIgMCAtCi0rUiBPIDE5NDUgbyAtIEFwIDI5IDAgMSBTCi0rUiBPIDE5NDUgbyAtIE4gMSAwIDAgLQotK1IgTyAxOTQ2IG8gLSBBcCAxNCAwcyAxIFMKLStSIE8gMTk0NiBvIC0gTyA3IDJzIDAgLQotK1IgTyAxOTQ3IG8gLSBNYXkgNCAycyAxIFMKLStSIE8gMTk0NyAxOTQ5IC0gTyBTdW4+PTEgMnMgMCAtCi0rUiBPIDE5NDggbyAtIEFwIDE4IDJzIDEgUwotK1IgTyAxOTQ5IG8gLSBBcCAxMCAycyAxIFMKLStSIE8gMTk1NyBvIC0gSnVuIDIgMXMgMSBTCi0rUiBPIDE5NTcgMTk1OCAtIFMgbGFzdFN1biAxcyAwIC0KLStSIE8gMTk1OCBvIC0gTWFyIDMwIDFzIDEgUwotK1IgTyAxOTU5IG8gLSBNYXkgMzEgMXMgMSBTCi0rUiBPIDE5NTkgMTk2MSAtIE8gU3VuPj0xIDFzIDAgLQotK1IgTyAxOTYwIG8gLSBBcCAzIDFzIDEgUwotK1IgTyAxOTYxIDE5NjQgLSBNYXkgbGFzdFN1biAxcyAxIFMKLStSIE8gMTk2MiAxOTY0IC0gUyBsYXN0U3VuIDFzIDAgLQotIFogRXVyb3BlL1dhcnNhdyAxOjI0IC0gTE1UIDE4ODAKLSAxOjI0IC0gV01UIDE5MTUgQXUgNQotLTEgKCBDRSVzVCAxOTE4IFMgMTYgMwotLTIgfiBFRSVzVCAxOTIyIEp1bgotLTEgfiBDRSVzVCAxOTQwIEp1biAyMyAyCi0tMSAoIENFJXNUIDE5NDQgTwotLTEgfiBDRSVzVCAxOTc3Ci0tMSAnIENFJXNUIDE5ODgKLS0xIE8gQ0Ulc1QKLS1SIEFBIDE5MTYgbyAtIEp1biAxNyAyMyAxIFMKLS1SIEFBIDE5MTYgbyAtIE4gMSAxIDAgLQotLVIgQUEgMTkxNyBvIC0gRiAyOCAyM3MgMSBTCi0tUiBBQSAxOTE3IDE5MjEgLSBPIDE0IDIzcyAwIC0KLS1SIEFBIDE5MTggbyAtIE1hciAxIDIzcyAxIFMKLS1SIEFBIDE5MTkgbyAtIEYgMjggMjNzIDEgUwotLVIgQUEgMTkyMCBvIC0gRiAyOSAyM3MgMSBTCi0tUiBBQSAxOTIxIG8gLSBGIDI4IDIzcyAxIFMKLS1SIEFBIDE5MjQgbyAtIEFwIDE2IDIzcyAxIFMKLS1SIEFBIDE5MjQgbyAtIE8gMTQgMjNzIDAgLQotLVIgQUEgMTkyNiBvIC0gQXAgMTcgMjNzIDEgUwotLVIgQUEgMTkyNiAxOTI5IC0gTyBTYXQ+PTEgMjNzIDAgLQotLVIgQUEgMTkyNyBvIC0gQXAgOSAyM3MgMSBTCi0tUiBBQSAxOTI4IG8gLSBBcCAxNCAyM3MgMSBTCi0tUiBBQSAxOTI5IG8gLSBBcCAyMCAyM3MgMSBTCi0tUiBBQSAxOTMxIG8gLSBBcCAxOCAyM3MgMSBTCi0tUiBBQSAxOTMxIDE5MzIgLSBPIFNhdD49MSAyM3MgMCAtCi0tUiBBQSAxOTMyIG8gLSBBcCAyIDIzcyAxIFMKLS1SIEFBIDE5MzQgbyAtIEFwIDcgMjNzIDEgUwotLVIgQUEgMTkzNCAxOTM4IC0gTyBTYXQ+PTEgMjNzIDAgLQotLVIgQUEgMTkzNSBvIC0gTWFyIDMwIDIzcyAxIFMKLS1SIEFBIDE5MzYgbyAtIEFwIDE4IDIzcyAxIFMKLS1SIEFBIDE5MzcgbyAtIEFwIDMgMjNzIDEgUwotLVIgQUEgMTkzOCBvIC0gTWFyIDI2IDIzcyAxIFMKLS1SIEFBIDE5MzkgbyAtIEFwIDE1IDIzcyAxIFMKLS1SIEFBIDE5MzkgbyAtIE4gMTggMjNzIDAgLQotLVIgQUEgMTk0MCBvIC0gRiAyNCAyM3MgMSBTCi0tUiBBQSAxOTQwIDE5NDEgLSBPIDUgMjNzIDAgLQotLVIgQUEgMTk0MSBvIC0gQXAgNSAyM3MgMSBTCi0tUiBBQSAxOTQyIDE5NDUgLSBNYXIgU2F0Pj04IDIzcyAxIFMKLS1SIEFBIDE5NDIgbyAtIEFwIDI1IDIycyAyIE0KLS1SIEFBIDE5NDIgbyAtIEF1IDE1IDIycyAxIFMKLS1SIEFBIDE5NDIgMTk0NSAtIE8gU2F0Pj0yNCAyM3MgMCAtCi0tUiBBQSAxOTQzIG8gLSBBcCAxNyAyMnMgMiBNCi0tUiBBQSAxOTQzIDE5NDUgLSBBdSBTYXQ+PTI1IDIycyAxIFMKLS1SIEFBIDE5NDQgMTk0NSAtIEFwIFNhdD49MjEgMjJzIDIgTQotLVIgQUEgMTk0NiBvIC0gQXAgU2F0Pj0xIDIzcyAxIFMKLS1SIEFBIDE5NDYgbyAtIE8gU2F0Pj0xIDIzcyAwIC0KLS1SIEFBIDE5NDcgMTk0OSAtIEFwIFN1bj49MSAycyAxIFMKLS1SIEFBIDE5NDcgMTk0OSAtIE8gU3VuPj0xIDJzIDAgLQotLVIgQUEgMTk1MSAxOTY1IC0gQXAgU3VuPj0xIDJzIDEgUwotLVIgQUEgMTk1MSAxOTY1IC0gTyBTdW4+PTEgMnMgMCAtCi0tUiBBQSAxOTc3IG8gLSBNYXIgMjcgMHMgMSBTCi0tUiBBQSAxOTc3IG8gLSBTIDI1IDBzIDAgLQotLVIgQUEgMTk3OCAxOTc5IC0gQXAgU3VuPj0xIDBzIDEgUwotLVIgQUEgMTk3OCBvIC0gTyAxIDBzIDAgLQotLVIgQUEgMTk3OSAxOTgyIC0gUyBsYXN0U3VuIDFzIDAgLQotLVIgQUEgMTk4MCBvIC0gTWFyIGxhc3RTdW4gMHMgMSBTCi0tUiBBQSAxOTgxIDE5ODIgLSBNYXIgbGFzdFN1biAxcyAxIFMKLS1SIEFBIDE5ODMgbyAtIE1hciBsYXN0U3VuIDJzIDEgUwotKzEgYyBDRSVzVCAxOTE4IFMgMTYgMwotKzIgTyBFRSVzVCAxOTIyIEp1bgotKzEgTyBDRSVzVCAxOTQwIEp1biAyMyAyCi0rMSBjIENFJXNUIDE5NDQgTwotKzEgTyBDRSVzVCAxOTc3Ci0rMSBXLSBDRSVzVCAxOTg4Ci0rMSBFIENFJXNUCi0rUiBwIDE5MTYgbyAtIEp1biAxNyAyMyAxIFMKLStSIHAgMTkxNiBvIC0gTiAxIDEgMCAtCi0rUiBwIDE5MTcgbyAtIEYgMjggMjNzIDEgUwotK1IgcCAxOTE3IDE5MjEgLSBPIDE0IDIzcyAwIC0KLStSIHAgMTkxOCBvIC0gTWFyIDEgMjNzIDEgUwotK1IgcCAxOTE5IG8gLSBGIDI4IDIzcyAxIFMKLStSIHAgMTkyMCBvIC0gRiAyOSAyM3MgMSBTCi0rUiBwIDE5MjEgbyAtIEYgMjggMjNzIDEgUwotK1IgcCAxOTI0IG8gLSBBcCAxNiAyM3MgMSBTCi0rUiBwIDE5MjQgbyAtIE8gMTQgMjNzIDAgLQotK1IgcCAxOTI2IG8gLSBBcCAxNyAyM3MgMSBTCi0rUiBwIDE5MjYgMTkyOSAtIE8gU2F0Pj0xIDIzcyAwIC0KLStSIHAgMTkyNyBvIC0gQXAgOSAyM3MgMSBTCi0rUiBwIDE5MjggbyAtIEFwIDE0IDIzcyAxIFMKLStSIHAgMTkyOSBvIC0gQXAgMjAgMjNzIDEgUwotK1IgcCAxOTMxIG8gLSBBcCAxOCAyM3MgMSBTCi0rUiBwIDE5MzEgMTkzMiAtIE8gU2F0Pj0xIDIzcyAwIC0KLStSIHAgMTkzMiBvIC0gQXAgMiAyM3MgMSBTCi0rUiBwIDE5MzQgbyAtIEFwIDcgMjNzIDEgUwotK1IgcCAxOTM0IDE5MzggLSBPIFNhdD49MSAyM3MgMCAtCi0rUiBwIDE5MzUgbyAtIE1hciAzMCAyM3MgMSBTCi0rUiBwIDE5MzYgbyAtIEFwIDE4IDIzcyAxIFMKLStSIHAgMTkzNyBvIC0gQXAgMyAyM3MgMSBTCi0rUiBwIDE5MzggbyAtIE1hciAyNiAyM3MgMSBTCi0rUiBwIDE5MzkgbyAtIEFwIDE1IDIzcyAxIFMKLStSIHAgMTkzOSBvIC0gTiAxOCAyM3MgMCAtCi0rUiBwIDE5NDAgbyAtIEYgMjQgMjNzIDEgUwotK1IgcCAxOTQwIDE5NDEgLSBPIDUgMjNzIDAgLQotK1IgcCAxOTQxIG8gLSBBcCA1IDIzcyAxIFMKLStSIHAgMTk0MiAxOTQ1IC0gTWFyIFNhdD49OCAyM3MgMSBTCi0rUiBwIDE5NDIgbyAtIEFwIDI1IDIycyAyIE0KLStSIHAgMTk0MiBvIC0gQXUgMTUgMjJzIDEgUwotK1IgcCAxOTQyIDE5NDUgLSBPIFNhdD49MjQgMjNzIDAgLQotK1IgcCAxOTQzIG8gLSBBcCAxNyAyMnMgMiBNCi0rUiBwIDE5NDMgMTk0NSAtIEF1IFNhdD49MjUgMjJzIDEgUwotK1IgcCAxOTQ0IDE5NDUgLSBBcCBTYXQ+PTIxIDIycyAyIE0KLStSIHAgMTk0NiBvIC0gQXAgU2F0Pj0xIDIzcyAxIFMKLStSIHAgMTk0NiBvIC0gTyBTYXQ+PTEgMjNzIDAgLQotK1IgcCAxOTQ3IDE5NDkgLSBBcCBTdW4+PTEgMnMgMSBTCi0rUiBwIDE5NDcgMTk0OSAtIE8gU3VuPj0xIDJzIDAgLQotK1IgcCAxOTUxIDE5NjUgLSBBcCBTdW4+PTEgMnMgMSBTCi0rUiBwIDE5NTEgMTk2NSAtIE8gU3VuPj0xIDJzIDAgLQotK1IgcCAxOTc3IG8gLSBNYXIgMjcgMHMgMSBTCi0rUiBwIDE5NzcgbyAtIFMgMjUgMHMgMCAtCi0rUiBwIDE5NzggMTk3OSAtIEFwIFN1bj49MSAwcyAxIFMKLStSIHAgMTk3OCBvIC0gTyAxIDBzIDAgLQotK1IgcCAxOTc5IDE5ODIgLSBTIGxhc3RTdW4gMXMgMCAtCi0rUiBwIDE5ODAgbyAtIE1hciBsYXN0U3VuIDBzIDEgUwotK1IgcCAxOTgxIDE5ODIgLSBNYXIgbGFzdFN1biAxcyAxIFMKLStSIHAgMTk4MyBvIC0gTWFyIGxhc3RTdW4gMnMgMSBTCi0gWiBFdXJvcGUvTGlzYm9uIC0wOjM2OjQ1IC0gTE1UIDE4ODQKLSAtMDozNjo0NSAtIExNVCAxOTEyIEphIDEgMHUKLS0wIEFBIFdFJXNUIDE5NjYgQXAgMyAyCi0rMCBwIFdFJXNUIDE5NjYgQXAgMyAyCi0gMSAtIENFVCAxOTc2IFMgMjYgMQotLTAgQUEgV0Ulc1QgMTk4MyBTIDI1IDFzCi0tMCAnIFdFJXNUIDE5OTIgUyAyNyAxcwotLTEgTyBDRSVzVCAxOTk2IE1hciAzMSAxdQotLTAgTyBXRSVzVAotKzAgcCBXRSVzVCAxOTgzIFMgMjUgMXMKLSswIFctIFdFJXNUIDE5OTIgUyAyNyAxcwotKzEgRSBDRSVzVCAxOTk2IE1hciAzMSAxdQotKzAgRSBXRSVzVAotIFogQXRsYW50aWMvQXpvcmVzIC0xOjQyOjQwIC0gTE1UIDE4ODQKLSAtMTo1NDozMiAtIEhNVCAxOTEyIEphIDEgMnUKLS0tMiBBQSAtMDIvLTAxIDE5NDIgQXAgMjUgMjJzCi0tLTIgQUEgKzAwIDE5NDIgQXUgMTUgMjJzCi0tLTIgQUEgLTAyLy0wMSAxOTQzIEFwIDE3IDIycwotLS0yIEFBICswMCAxOTQzIEF1IDI4IDIycwotLS0yIEFBIC0wMi8tMDEgMTk0NCBBcCAyMiAyMnMKLS0tMiBBQSArMDAgMTk0NCBBdSAyNiAyMnMKLS0tMiBBQSAtMDIvLTAxIDE5NDUgQXAgMjEgMjJzCi0tLTIgQUEgKzAwIDE5NDUgQXUgMjUgMjJzCi0tLTIgQUEgLTAyLy0wMSAxOTY2IEFwIDMgMgotLS0xIEFBIC0wMS8rMDAgMTk4MyBTIDI1IDFzCi0tLTEgJyAtMDEvKzAwIDE5OTIgUyAyNyAxcwotLTAgTyBXRSVzVCAxOTkzIE1hciAyOCAxdQotLS0xIE8gLTAxLyswMAotKy0yIHAgLTAyLy0wMSAxOTQyIEFwIDI1IDIycwotKy0yIHAgKzAwIDE5NDIgQXUgMTUgMjJzCi0rLTIgcCAtMDIvLTAxIDE5NDMgQXAgMTcgMjJzCi0rLTIgcCArMDAgMTk0MyBBdSAyOCAyMnMKLSstMiBwIC0wMi8tMDEgMTk0NCBBcCAyMiAyMnMKLSstMiBwICswMCAxOTQ0IEF1IDI2IDIycwotKy0yIHAgLTAyLy0wMSAxOTQ1IEFwIDIxIDIycwotKy0yIHAgKzAwIDE5NDUgQXUgMjUgMjJzCi0rLTIgcCAtMDIvLTAxIDE5NjYgQXAgMyAyCi0rLTEgcCAtMDEvKzAwIDE5ODMgUyAyNSAxcwotKy0xIFctIC0wMS8rMDAgMTk5MiBTIDI3IDFzCi0rMCBFIFdFJXNUIDE5OTMgTWFyIDI4IDF1Ci0rLTEgRSAtMDEvKzAwCi0gWiBBdGxhbnRpYy9NYWRlaXJhIC0xOjc6MzYgLSBMTVQgMTg4NAotIC0xOjc6MzYgLSBGTVQgMTkxMiBKYSAxIDF1Ci0tLTEgQUEgLTAxLyswMCAxOTQyIEFwIDI1IDIycwotLS0xIEFBICswMSAxOTQyIEF1IDE1IDIycwotLS0xIEFBIC0wMS8rMDAgMTk0MyBBcCAxNyAyMnMKLS0tMSBBQSArMDEgMTk0MyBBdSAyOCAyMnMKLS0tMSBBQSAtMDEvKzAwIDE5NDQgQXAgMjIgMjJzCi0tLTEgQUEgKzAxIDE5NDQgQXUgMjYgMjJzCi0tLTEgQUEgLTAxLyswMCAxOTQ1IEFwIDIxIDIycwotLS0xIEFBICswMSAxOTQ1IEF1IDI1IDIycwotLS0xIEFBIC0wMS8rMDAgMTk2NiBBcCAzIDIKLS0wIEFBIFdFJXNUIDE5ODMgUyAyNSAxcwotLTAgTyBXRSVzVAotLVIgeyAxOTMyIG8gLSBNYXkgMjEgMHMgMSBTCi0tUiB7IDE5MzIgMTkzOSAtIE8gU3VuPj0xIDBzIDAgLQotLVIgeyAxOTMzIDE5MzkgLSBBcCBTdW4+PTIgMHMgMSBTCi0tUiB7IDE5NzkgbyAtIE1heSAyNyAwIDEgUwotLVIgeyAxOTc5IG8gLSBTIGxhc3RTdW4gMCAwIC0KLS1SIHsgMTk4MCBvIC0gQXAgNSAyMyAxIFMKLS1SIHsgMTk4MCBvIC0gUyBsYXN0U3VuIDEgMCAtCi0tUiB7IDE5OTEgMTk5MyAtIE1hciBsYXN0U3VuIDBzIDEgUwotLVIgeyAxOTkxIDE5OTMgLSBTIGxhc3RTdW4gMHMgMCAtCi0rLTEgcCAtMDEvKzAwIDE5NDIgQXAgMjUgMjJzCi0rLTEgcCArMDEgMTk0MiBBdSAxNSAyMnMKLSstMSBwIC0wMS8rMDAgMTk0MyBBcCAxNyAyMnMKLSstMSBwICswMSAxOTQzIEF1IDI4IDIycwotKy0xIHAgLTAxLyswMCAxOTQ0IEFwIDIyIDIycwotKy0xIHAgKzAxIDE5NDQgQXUgMjYgMjJzCi0rLTEgcCAtMDEvKzAwIDE5NDUgQXAgMjEgMjJzCi0rLTEgcCArMDEgMTk0NSBBdSAyNSAyMnMKLSstMSBwIC0wMS8rMDAgMTk2NiBBcCAzIDIKLSswIHAgV0Ulc1QgMTk4MyBTIDI1IDFzCi0rMCBFIFdFJXNUCi0rUiB6IDE5MzIgbyAtIE1heSAyMSAwcyAxIFMKLStSIHogMTkzMiAxOTM5IC0gTyBTdW4+PTEgMHMgMCAtCi0rUiB6IDE5MzMgMTkzOSAtIEFwIFN1bj49MiAwcyAxIFMKLStSIHogMTk3OSBvIC0gTWF5IDI3IDAgMSBTCi0rUiB6IDE5NzkgbyAtIFMgbGFzdFN1biAwIDAgLQotK1IgeiAxOTgwIG8gLSBBcCA1IDIzIDEgUwotK1IgeiAxOTgwIG8gLSBTIGxhc3RTdW4gMSAwIC0KLStSIHogMTk5MSAxOTkzIC0gTWFyIGxhc3RTdW4gMHMgMSBTCi0rUiB6IDE5OTEgMTk5MyAtIFMgbGFzdFN1biAwcyAwIC0KLSBaIEV1cm9wZS9CdWNoYXJlc3QgMTo0NDoyNCAtIExNVCAxODkxIE8KLSAxOjQ0OjI0IC0gQk1UIDE5MzEgSnVsIDI0Ci0tMiB7IEVFJXNUIDE5ODEgTWFyIDI5IDJzCi0tMiAoIEVFJXNUIDE5OTEKLS0yIHsgRUUlc1QgMTk5NAotLTIgVyBFRSVzVCAxOTk3Ci0tMiBPIEVFJXNUCi0rMiB6IEVFJXNUIDE5ODEgTWFyIDI5IDJzCi0rMiBjIEVFJXNUIDE5OTEKLSsyIHogRUUlc1QgMTk5NAotKzIgZSBFRSVzVCAxOTk3Ci0rMiBFIEVFJXNUCi0gWiBFdXJvcGUvS2FsaW5pbmdyYWQgMToyMiAtIExNVCAxODkzIEFwCi0tMSAoIENFJXNUIDE5NDUKLS0yIH4gQ0Ulc1QgMTk0NgotLTMgTSBNU0svTVNEIDE5ODkgTWFyIDI2IDJzCi0tMiBNIEVFJXNUIDIwMTEgTWFyIDI3IDJzCi0rMSBjIENFJXNUIDE5NDUKLSsyIE8gQ0Ulc1QgMTk0NgotKzMgUiBNU0svTVNEIDE5ODkgTWFyIDI2IDJzCi0rMiBSIEVFJXNUIDIwMTEgTWFyIDI3IDJzCi0gMyAtICswMyAyMDE0IE8gMjYgMnMKLSAyIC0gRUVUCi0gWiBFdXJvcGUvTW9zY293IDI6MzA6MTcgLSBMTVQgMTg4MAotIDI6MzA6MTcgLSBNTVQgMTkxNiBKdWwgMwotLTI6MzE6MTkgTSAlcyAxOTE5IEp1bCAxIDB1Ci0tMyBNICVzIDE5MjEgTwotLTMgTSBNU0svTVNEIDE5MjIgTwotKzI6MzE6MTkgUiAlcyAxOTE5IEp1bCAxIDB1Ci0rMyBSICVzIDE5MjEgTwotKzMgUiBNU0svTVNEIDE5MjIgTwotIDIgLSBFRVQgMTkzMCBKdW4gMjEKLS0zIE0gTVNLL01TRCAxOTkxIE1hciAzMSAycwotLTIgTSBFRSVzVCAxOTkyIEphIDE5IDJzCi0tMyBNIE1TSy9NU0QgMjAxMSBNYXIgMjcgMnMKLSszIFIgTVNLL01TRCAxOTkxIE1hciAzMSAycwotKzIgUiBFRSVzVCAxOTkyIEphIDE5IDJzCi0rMyBSIE1TSy9NU0QgMjAxMSBNYXIgMjcgMnMKLSA0IC0gTVNLIDIwMTQgTyAyNiAycwotIDMgLSBNU0sKLSBaIEV1cm9wZS9TaW1mZXJvcG9sIDI6MTY6MjQgLSBMTVQgMTg4MAotIDI6MTYgLSBTTVQgMTkyNCBNYXkgMgotIDIgLSBFRVQgMTkzMCBKdW4gMjEKLSAzIC0gTVNLIDE5NDEgTgotLTEgKCBDRSVzVCAxOTQ0IEFwIDEzCi0tMyBNIE1TSy9NU0QgMTk5MAotKzEgYyBDRSVzVCAxOTQ0IEFwIDEzCi0rMyBSIE1TSy9NU0QgMTk5MAotIDMgLSBNU0sgMTk5MCBKdWwgMSAyCi0gMiAtIEVFVCAxOTkyCi0tMiBXIEVFJXNUIDE5OTQgTWF5Ci0tMyBXIE1TSy9NU0QgMTk5NiBNYXIgMzEgMHMKLSsyIGUgRUUlc1QgMTk5NCBNYXkKLSszIGUgTVNLL01TRCAxOTk2IE1hciAzMSAwcwotIDMgMSBNU0QgMTk5NiBPIDI3IDNzCi0tMyBNIE1TSy9NU0QgMTk5NwotKzMgUiBNU0svTVNEIDE5OTcKLSAzIC0gTVNLIDE5OTcgTWFyIGxhc3RTdW4gMXUKLS0yIE8gRUUlc1QgMjAxNCBNYXIgMzAgMgotKzIgRSBFRSVzVCAyMDE0IE1hciAzMCAyCi0gNCAtIE1TSyAyMDE0IE8gMjYgMnMKLSAzIC0gTVNLCi0gWiBFdXJvcGUvQXN0cmFraGFuIDM6MTI6MTIgLSBMTVQgMTkyNCBNYXkKLSAzIC0gKzAzIDE5MzAgSnVuIDIxCi0tNCBNICswNC8rMDUgMTk4OSBNYXIgMjYgMnMKLS0zIE0gKzAzLyswNCAxOTkxIE1hciAzMSAycwotKzQgUiArMDQvKzA1IDE5ODkgTWFyIDI2IDJzCi0rMyBSICswMy8rMDQgMTk5MSBNYXIgMzEgMnMKLSA0IC0gKzA0IDE5OTIgTWFyIDI5IDJzCi0tMyBNICswMy8rMDQgMjAxMSBNYXIgMjcgMnMKLSszIFIgKzAzLyswNCAyMDExIE1hciAyNyAycwotIDQgLSArMDQgMjAxNCBPIDI2IDJzCi0gMyAtICswMyAyMDE2IE1hciAyNyAycwotIDQgLSArMDQKLSBaIEV1cm9wZS9Wb2xnb2dyYWQgMjo1Nzo0MCAtIExNVCAxOTIwIEphIDMKLSAzIC0gKzAzIDE5MzAgSnVuIDIxCi0gNCAtICswNCAxOTYxIE4gMTEKLS00IE0gKzA0LyswNSAxOTg4IE1hciAyNyAycwotLTMgTSArMDMvKzA0IDE5OTEgTWFyIDMxIDJzCi0rNCBSICswNC8rMDUgMTk4OCBNYXIgMjcgMnMKLSszIFIgKzAzLyswNCAxOTkxIE1hciAzMSAycwotIDQgLSArMDQgMTk5MiBNYXIgMjkgMnMKLS0zIE0gKzAzLyswNCAyMDExIE1hciAyNyAycwotKzMgUiArMDMvKzA0IDIwMTEgTWFyIDI3IDJzCi0gNCAtICswNCAyMDE0IE8gMjYgMnMKLS0zIC0gKzAzCi0rMyAtICswMyAyMDE4IE8gMjggMnMKLSs0IC0gKzA0Ci0gWiBFdXJvcGUvU2FyYXRvdiAzOjQ6MTggLSBMTVQgMTkxOSBKdWwgMSAwdQotIDMgLSArMDMgMTkzMCBKdW4gMjEKLS00IE0gKzA0LyswNSAxOTg4IE1hciAyNyAycwotLTMgTSArMDMvKzA0IDE5OTEgTWFyIDMxIDJzCi0rNCBSICswNC8rMDUgMTk4OCBNYXIgMjcgMnMKLSszIFIgKzAzLyswNCAxOTkxIE1hciAzMSAycwotIDQgLSArMDQgMTk5MiBNYXIgMjkgMnMKLS0zIE0gKzAzLyswNCAyMDExIE1hciAyNyAycwotKzMgUiArMDMvKzA0IDIwMTEgTWFyIDI3IDJzCi0gNCAtICswNCAyMDE0IE8gMjYgMnMKLSAzIC0gKzAzIDIwMTYgRCA0IDJzCi0gNCAtICswNAotIFogRXVyb3BlL0tpcm92IDM6MTg6NDggLSBMTVQgMTkxOSBKdWwgMSAwdQotIDMgLSArMDMgMTkzMCBKdW4gMjEKLS00IE0gKzA0LyswNSAxOTg5IE1hciAyNiAycwotLTMgTSArMDMvKzA0IDE5OTEgTWFyIDMxIDJzCi0rNCBSICswNC8rMDUgMTk4OSBNYXIgMjYgMnMKLSszIFIgKzAzLyswNCAxOTkxIE1hciAzMSAycwotIDQgLSArMDQgMTk5MiBNYXIgMjkgMnMKLS0zIE0gKzAzLyswNCAyMDExIE1hciAyNyAycwotKzMgUiArMDMvKzA0IDIwMTEgTWFyIDI3IDJzCi0gNCAtICswNCAyMDE0IE8gMjYgMnMKLSAzIC0gKzAzCi0gWiBFdXJvcGUvU2FtYXJhIDM6MjA6MjAgLSBMTVQgMTkxOSBKdWwgMSAwdQotIDMgLSArMDMgMTkzMCBKdW4gMjEKLSA0IC0gKzA0IDE5MzUgSmEgMjcKLS00IE0gKzA0LyswNSAxOTg5IE1hciAyNiAycwotLTMgTSArMDMvKzA0IDE5OTEgTWFyIDMxIDJzCi0tMiBNICswMi8rMDMgMTk5MSBTIDI5IDJzCi0rNCBSICswNC8rMDUgMTk4OSBNYXIgMjYgMnMKLSszIFIgKzAzLyswNCAxOTkxIE1hciAzMSAycwotKzIgUiArMDIvKzAzIDE5OTEgUyAyOSAycwotIDMgLSArMDMgMTk5MSBPIDIwIDMKLS00IE0gKzA0LyswNSAyMDEwIE1hciAyOCAycwotLTMgTSArMDMvKzA0IDIwMTEgTWFyIDI3IDJzCi0rNCBSICswNC8rMDUgMjAxMCBNYXIgMjggMnMKLSszIFIgKzAzLyswNCAyMDExIE1hciAyNyAycwotIDQgLSArMDQKLSBaIEV1cm9wZS9VbHlhbm92c2sgMzoxMzozNiAtIExNVCAxOTE5IEp1bCAxIDB1Ci0gMyAtICswMyAxOTMwIEp1biAyMQotLTQgTSArMDQvKzA1IDE5ODkgTWFyIDI2IDJzCi0tMyBNICswMy8rMDQgMTk5MSBNYXIgMzEgMnMKLS0yIE0gKzAyLyswMyAxOTkyIEphIDE5IDJzCi0tMyBNICswMy8rMDQgMjAxMSBNYXIgMjcgMnMKLSs0IFIgKzA0LyswNSAxOTg5IE1hciAyNiAycwotKzMgUiArMDMvKzA0IDE5OTEgTWFyIDMxIDJzCi0rMiBSICswMi8rMDMgMTk5MiBKYSAxOSAycwotKzMgUiArMDMvKzA0IDIwMTEgTWFyIDI3IDJzCi0gNCAtICswNCAyMDE0IE8gMjYgMnMKLSAzIC0gKzAzIDIwMTYgTWFyIDI3IDJzCi0gNCAtICswNAotIFogQXNpYS9ZZWthdGVyaW5idXJnIDQ6MjozMyAtIExNVCAxOTE2IEp1bCAzCi0gMzo0NTo1IC0gUE1UIDE5MTkgSnVsIDE1IDQKLSA0IC0gKzA0IDE5MzAgSnVuIDIxCi0tNSBNICswNS8rMDYgMTk5MSBNYXIgMzEgMnMKLS00IE0gKzA0LyswNSAxOTkyIEphIDE5IDJzCi0tNSBNICswNS8rMDYgMjAxMSBNYXIgMjcgMnMKLSs1IFIgKzA1LyswNiAxOTkxIE1hciAzMSAycwotKzQgUiArMDQvKzA1IDE5OTIgSmEgMTkgMnMKLSs1IFIgKzA1LyswNiAyMDExIE1hciAyNyAycwotIDYgLSArMDYgMjAxNCBPIDI2IDJzCi0gNSAtICswNQotIFogQXNpYS9PbXNrIDQ6NTM6MzAgLSBMTVQgMTkxOSBOIDE0Ci0gNSAtICswNSAxOTMwIEp1biAyMQotLTYgTSArMDYvKzA3IDE5OTEgTWFyIDMxIDJzCi0tNSBNICswNS8rMDYgMTk5MiBKYSAxOSAycwotLTYgTSArMDYvKzA3IDIwMTEgTWFyIDI3IDJzCi0rNiBSICswNi8rMDcgMTk5MSBNYXIgMzEgMnMKLSs1IFIgKzA1LyswNiAxOTkyIEphIDE5IDJzCi0rNiBSICswNi8rMDcgMjAxMSBNYXIgMjcgMnMKLSA3IC0gKzA3IDIwMTQgTyAyNiAycwotIDYgLSArMDYKLSBaIEFzaWEvQmFybmF1bCA1OjM1IC0gTE1UIDE5MTkgRCAxMAotIDYgLSArMDYgMTkzMCBKdW4gMjEKLS03IE0gKzA3LyswOCAxOTkxIE1hciAzMSAycwotLTYgTSArMDYvKzA3IDE5OTIgSmEgMTkgMnMKLS03IE0gKzA3LyswOCAxOTk1IE1heSAyOAotLTYgTSArMDYvKzA3IDIwMTEgTWFyIDI3IDJzCi0rNyBSICswNy8rMDggMTk5MSBNYXIgMzEgMnMKLSs2IFIgKzA2LyswNyAxOTkyIEphIDE5IDJzCi0rNyBSICswNy8rMDggMTk5NSBNYXkgMjgKLSs2IFIgKzA2LyswNyAyMDExIE1hciAyNyAycwotIDcgLSArMDcgMjAxNCBPIDI2IDJzCi0gNiAtICswNiAyMDE2IE1hciAyNyAycwotIDcgLSArMDcKLSBaIEFzaWEvTm92b3NpYmlyc2sgNTozMTo0MCAtIExNVCAxOTE5IEQgMTQgNgotIDYgLSArMDYgMTkzMCBKdW4gMjEKLS03IE0gKzA3LyswOCAxOTkxIE1hciAzMSAycwotLTYgTSArMDYvKzA3IDE5OTIgSmEgMTkgMnMKLS03IE0gKzA3LyswOCAxOTkzIE1heSAyMwotLTYgTSArMDYvKzA3IDIwMTEgTWFyIDI3IDJzCi0rNyBSICswNy8rMDggMTk5MSBNYXIgMzEgMnMKLSs2IFIgKzA2LyswNyAxOTkyIEphIDE5IDJzCi0rNyBSICswNy8rMDggMTk5MyBNYXkgMjMKLSs2IFIgKzA2LyswNyAyMDExIE1hciAyNyAycwotIDcgLSArMDcgMjAxNCBPIDI2IDJzCi0gNiAtICswNiAyMDE2IEp1bCAyNCAycwotIDcgLSArMDcKLSBaIEFzaWEvVG9tc2sgNTozOTo1MSAtIExNVCAxOTE5IEQgMjIKLSA2IC0gKzA2IDE5MzAgSnVuIDIxCi0tNyBNICswNy8rMDggMTk5MSBNYXIgMzEgMnMKLS02IE0gKzA2LyswNyAxOTkyIEphIDE5IDJzCi0tNyBNICswNy8rMDggMjAwMiBNYXkgMSAzCi0tNiBNICswNi8rMDcgMjAxMSBNYXIgMjcgMnMKLSs3IFIgKzA3LyswOCAxOTkxIE1hciAzMSAycwotKzYgUiArMDYvKzA3IDE5OTIgSmEgMTkgMnMKLSs3IFIgKzA3LyswOCAyMDAyIE1heSAxIDMKLSs2IFIgKzA2LyswNyAyMDExIE1hciAyNyAycwotIDcgLSArMDcgMjAxNCBPIDI2IDJzCi0gNiAtICswNiAyMDE2IE1heSAyOSAycwotIDcgLSArMDcKLSBaIEFzaWEvTm92b2t1em5ldHNrIDU6NDg6NDggLSBMTVQgMTkyNCBNYXkKLSA2IC0gKzA2IDE5MzAgSnVuIDIxCi0tNyBNICswNy8rMDggMTk5MSBNYXIgMzEgMnMKLS02IE0gKzA2LyswNyAxOTkyIEphIDE5IDJzCi0tNyBNICswNy8rMDggMjAxMCBNYXIgMjggMnMKLS02IE0gKzA2LyswNyAyMDExIE1hciAyNyAycwotKzcgUiArMDcvKzA4IDE5OTEgTWFyIDMxIDJzCi0rNiBSICswNi8rMDcgMTk5MiBKYSAxOSAycwotKzcgUiArMDcvKzA4IDIwMTAgTWFyIDI4IDJzCi0rNiBSICswNi8rMDcgMjAxMSBNYXIgMjcgMnMKLSA3IC0gKzA3Ci0gWiBBc2lhL0tyYXNub3lhcnNrIDY6MTE6MjYgLSBMTVQgMTkyMCBKYSA2Ci0gNiAtICswNiAxOTMwIEp1biAyMQotLTcgTSArMDcvKzA4IDE5OTEgTWFyIDMxIDJzCi0tNiBNICswNi8rMDcgMTk5MiBKYSAxOSAycwotLTcgTSArMDcvKzA4IDIwMTEgTWFyIDI3IDJzCi0rNyBSICswNy8rMDggMTk5MSBNYXIgMzEgMnMKLSs2IFIgKzA2LyswNyAxOTkyIEphIDE5IDJzCi0rNyBSICswNy8rMDggMjAxMSBNYXIgMjcgMnMKLSA4IC0gKzA4IDIwMTQgTyAyNiAycwotIDcgLSArMDcKLSBaIEFzaWEvSXJrdXRzayA2OjU3OjUgLSBMTVQgMTg4MAotIDY6NTc6NSAtIElNVCAxOTIwIEphIDI1Ci0gNyAtICswNyAxOTMwIEp1biAyMQotLTggTSArMDgvKzA5IDE5OTEgTWFyIDMxIDJzCi0tNyBNICswNy8rMDggMTk5MiBKYSAxOSAycwotLTggTSArMDgvKzA5IDIwMTEgTWFyIDI3IDJzCi0rOCBSICswOC8rMDkgMTk5MSBNYXIgMzEgMnMKLSs3IFIgKzA3LyswOCAxOTkyIEphIDE5IDJzCi0rOCBSICswOC8rMDkgMjAxMSBNYXIgMjcgMnMKLSA5IC0gKzA5IDIwMTQgTyAyNiAycwotIDggLSArMDgKLSBaIEFzaWEvQ2hpdGEgNzozMzo1MiAtIExNVCAxOTE5IEQgMTUKLSA4IC0gKzA4IDE5MzAgSnVuIDIxCi0tOSBNICswOS8rMTAgMTk5MSBNYXIgMzEgMnMKLS04IE0gKzA4LyswOSAxOTkyIEphIDE5IDJzCi0tOSBNICswOS8rMTAgMjAxMSBNYXIgMjcgMnMKLSs5IFIgKzA5LysxMCAxOTkxIE1hciAzMSAycwotKzggUiArMDgvKzA5IDE5OTIgSmEgMTkgMnMKLSs5IFIgKzA5LysxMCAyMDExIE1hciAyNyAycwotIDEwIC0gKzEwIDIwMTQgTyAyNiAycwotIDggLSArMDggMjAxNiBNYXIgMjcgMgotIDkgLSArMDkKLSBaIEFzaWEvWWFrdXRzayA4OjM4OjU4IC0gTE1UIDE5MTkgRCAxNQotIDggLSArMDggMTkzMCBKdW4gMjEKLS05IE0gKzA5LysxMCAxOTkxIE1hciAzMSAycwotLTggTSArMDgvKzA5IDE5OTIgSmEgMTkgMnMKLS05IE0gKzA5LysxMCAyMDExIE1hciAyNyAycwotKzkgUiArMDkvKzEwIDE5OTEgTWFyIDMxIDJzCi0rOCBSICswOC8rMDkgMTk5MiBKYSAxOSAycwotKzkgUiArMDkvKzEwIDIwMTEgTWFyIDI3IDJzCi0gMTAgLSArMTAgMjAxNCBPIDI2IDJzCi0gOSAtICswOQotIFogQXNpYS9WbGFkaXZvc3RvayA4OjQ3OjMxIC0gTE1UIDE5MjIgTiAxNQotIDkgLSArMDkgMTkzMCBKdW4gMjEKLS0xMCBNICsxMC8rMTEgMTk5MSBNYXIgMzEgMnMKLS05IE0gKzA5LysxMCAxOTkyIEphIDE5IDJzCi0tMTAgTSArMTAvKzExIDIwMTEgTWFyIDI3IDJzCi0rMTAgUiArMTAvKzExIDE5OTEgTWFyIDMxIDJzCi0rOSBSICswOS8rMTAgMTk5MiBKYSAxOSAycwotKzEwIFIgKzEwLysxMSAyMDExIE1hciAyNyAycwotIDExIC0gKzExIDIwMTQgTyAyNiAycwotIDEwIC0gKzEwCi0gWiBBc2lhL0toYW5keWdhIDk6MjoxMyAtIExNVCAxOTE5IEQgMTUKLSA4IC0gKzA4IDE5MzAgSnVuIDIxCi0tOSBNICswOS8rMTAgMTk5MSBNYXIgMzEgMnMKLS04IE0gKzA4LyswOSAxOTkyIEphIDE5IDJzCi0tOSBNICswOS8rMTAgMjAwNAotLTEwIE0gKzEwLysxMSAyMDExIE1hciAyNyAycwotKzkgUiArMDkvKzEwIDE5OTEgTWFyIDMxIDJzCi0rOCBSICswOC8rMDkgMTk5MiBKYSAxOSAycwotKzkgUiArMDkvKzEwIDIwMDQKLSsxMCBSICsxMC8rMTEgMjAxMSBNYXIgMjcgMnMKLSAxMSAtICsxMSAyMDExIFMgMTMgMHMKLSAxMCAtICsxMCAyMDE0IE8gMjYgMnMKLSA5IC0gKzA5Ci0gWiBBc2lhL1Nha2hhbGluIDk6MzA6NDggLSBMTVQgMTkwNSBBdSAyMwotIDkgLSArMDkgMTk0NSBBdSAyNQotLTExIE0gKzExLysxMiAxOTkxIE1hciAzMSAycwotLTEwIE0gKzEwLysxMSAxOTkyIEphIDE5IDJzCi0tMTEgTSArMTEvKzEyIDE5OTcgTWFyIGxhc3RTdW4gMnMKLS0xMCBNICsxMC8rMTEgMjAxMSBNYXIgMjcgMnMKLSsxMSBSICsxMS8rMTIgMTk5MSBNYXIgMzEgMnMKLSsxMCBSICsxMC8rMTEgMTk5MiBKYSAxOSAycwotKzExIFIgKzExLysxMiAxOTk3IE1hciBsYXN0U3VuIDJzCi0rMTAgUiArMTAvKzExIDIwMTEgTWFyIDI3IDJzCi0gMTEgLSArMTEgMjAxNCBPIDI2IDJzCi0gMTAgLSArMTAgMjAxNiBNYXIgMjcgMnMKLSAxMSAtICsxMQotIFogQXNpYS9NYWdhZGFuIDEwOjM6MTIgLSBMTVQgMTkyNCBNYXkgMgotIDEwIC0gKzEwIDE5MzAgSnVuIDIxCi0tMTEgTSArMTEvKzEyIDE5OTEgTWFyIDMxIDJzCi0tMTAgTSArMTAvKzExIDE5OTIgSmEgMTkgMnMKLS0xMSBNICsxMS8rMTIgMjAxMSBNYXIgMjcgMnMKLSsxMSBSICsxMS8rMTIgMTk5MSBNYXIgMzEgMnMKLSsxMCBSICsxMC8rMTEgMTk5MiBKYSAxOSAycwotKzExIFIgKzExLysxMiAyMDExIE1hciAyNyAycwotIDEyIC0gKzEyIDIwMTQgTyAyNiAycwotIDEwIC0gKzEwIDIwMTYgQXAgMjQgMnMKLSAxMSAtICsxMQotIFogQXNpYS9TcmVkbmVrb2x5bXNrIDEwOjE0OjUyIC0gTE1UIDE5MjQgTWF5IDIKLSAxMCAtICsxMCAxOTMwIEp1biAyMQotLTExIE0gKzExLysxMiAxOTkxIE1hciAzMSAycwotLTEwIE0gKzEwLysxMSAxOTkyIEphIDE5IDJzCi0tMTEgTSArMTEvKzEyIDIwMTEgTWFyIDI3IDJzCi0rMTEgUiArMTEvKzEyIDE5OTEgTWFyIDMxIDJzCi0rMTAgUiArMTAvKzExIDE5OTIgSmEgMTkgMnMKLSsxMSBSICsxMS8rMTIgMjAxMSBNYXIgMjcgMnMKLSAxMiAtICsxMiAyMDE0IE8gMjYgMnMKLSAxMSAtICsxMQotIFogQXNpYS9Vc3QtTmVyYSA5OjMyOjU0IC0gTE1UIDE5MTkgRCAxNQotIDggLSArMDggMTkzMCBKdW4gMjEKLS05IE0gKzA5LysxMCAxOTgxIEFwCi0tMTEgTSArMTEvKzEyIDE5OTEgTWFyIDMxIDJzCi0tMTAgTSArMTAvKzExIDE5OTIgSmEgMTkgMnMKLS0xMSBNICsxMS8rMTIgMjAxMSBNYXIgMjcgMnMKLSs5IFIgKzA5LysxMCAxOTgxIEFwCi0rMTEgUiArMTEvKzEyIDE5OTEgTWFyIDMxIDJzCi0rMTAgUiArMTAvKzExIDE5OTIgSmEgMTkgMnMKLSsxMSBSICsxMS8rMTIgMjAxMSBNYXIgMjcgMnMKLSAxMiAtICsxMiAyMDExIFMgMTMgMHMKLSAxMSAtICsxMSAyMDE0IE8gMjYgMnMKLSAxMCAtICsxMAotIFogQXNpYS9LYW1jaGF0a2EgMTA6MzQ6MzYgLSBMTVQgMTkyMiBOIDEwCi0gMTEgLSArMTEgMTkzMCBKdW4gMjEKLS0xMiBNICsxMi8rMTMgMTk5MSBNYXIgMzEgMnMKLS0xMSBNICsxMS8rMTIgMTk5MiBKYSAxOSAycwotLTEyIE0gKzEyLysxMyAyMDEwIE1hciAyOCAycwotLTExIE0gKzExLysxMiAyMDExIE1hciAyNyAycwotKzEyIFIgKzEyLysxMyAxOTkxIE1hciAzMSAycwotKzExIFIgKzExLysxMiAxOTkyIEphIDE5IDJzCi0rMTIgUiArMTIvKzEzIDIwMTAgTWFyIDI4IDJzCi0rMTEgUiArMTEvKzEyIDIwMTEgTWFyIDI3IDJzCi0gMTIgLSArMTIKLSBaIEFzaWEvQW5hZHlyIDExOjQ5OjU2IC0gTE1UIDE5MjQgTWF5IDIKLSAxMiAtICsxMiAxOTMwIEp1biAyMQotLTEzIE0gKzEzLysxNCAxOTgyIEFwIDEgMHMKLS0xMiBNICsxMi8rMTMgMTk5MSBNYXIgMzEgMnMKLS0xMSBNICsxMS8rMTIgMTk5MiBKYSAxOSAycwotLTEyIE0gKzEyLysxMyAyMDEwIE1hciAyOCAycwotLTExIE0gKzExLysxMiAyMDExIE1hciAyNyAycwotKzEzIFIgKzEzLysxNCAxOTgyIEFwIDEgMHMKLSsxMiBSICsxMi8rMTMgMTk5MSBNYXIgMzEgMnMKLSsxMSBSICsxMS8rMTIgMTk5MiBKYSAxOSAycwotKzEyIFIgKzEyLysxMyAyMDEwIE1hciAyOCAycwotKzExIFIgKzExLysxMiAyMDExIE1hciAyNyAycwotIDEyIC0gKzEyCi0gWiBFdXJvcGUvQmVsZ3JhZGUgMToyMiAtIExNVCAxODg0Ci0gMSAtIENFVCAxOTQxIEFwIDE4IDIzCi0tMSAoIENFJXNUIDE5NDUKLSsxIGMgQ0Ulc1QgMTk0NQotIDEgLSBDRVQgMTk0NSBNYXkgOCAycwotIDEgMSBDRVNUIDE5NDUgUyAxNiAycwotIDEgLSBDRVQgMTk4MiBOIDI3Ci0tMSBPIENFJXNUCi0rMSBFIENFJXNUCi0gTGkgRXVyb3BlL0JlbGdyYWRlIEV1cm9wZS9ManVibGphbmEKLSBMaSBFdXJvcGUvQmVsZ3JhZGUgRXVyb3BlL1BvZGdvcmljYQotIExpIEV1cm9wZS9CZWxncmFkZSBFdXJvcGUvU2FyYWpldm8KLSBMaSBFdXJvcGUvQmVsZ3JhZGUgRXVyb3BlL1Nrb3BqZQotIExpIEV1cm9wZS9CZWxncmFkZSBFdXJvcGUvWmFncmViCi0gTGkgRXVyb3BlL1ByYWd1ZSBFdXJvcGUvQnJhdGlzbGF2YQotLVIgQUIgMTkxOCBvIC0gQXAgMTUgMjMgMSBTCi0tUiBBQiAxOTE4IDE5MTkgLSBPIDYgMjRzIDAgLQotLVIgQUIgMTkxOSBvIC0gQXAgNiAyMyAxIFMKLS1SIEFCIDE5MjQgbyAtIEFwIDE2IDIzIDEgUwotLVIgQUIgMTkyNCBvIC0gTyA0IDI0cyAwIC0KLS1SIEFCIDE5MjYgbyAtIEFwIDE3IDIzIDEgUwotLVIgQUIgMTkyNiAxOTI5IC0gTyBTYXQ+PTEgMjRzIDAgLQotLVIgQUIgMTkyNyBvIC0gQXAgOSAyMyAxIFMKLS1SIEFCIDE5MjggbyAtIEFwIDE1IDAgMSBTCi0tUiBBQiAxOTI5IG8gLSBBcCAyMCAyMyAxIFMKLS1SIEFCIDE5MzcgbyAtIEp1biAxNiAyMyAxIFMKLS1SIEFCIDE5MzcgbyAtIE8gMiAyNHMgMCAtCi0tUiBBQiAxOTM4IG8gLSBBcCAyIDIzIDEgUwotLVIgQUIgMTkzOCBvIC0gQXAgMzAgMjMgMiBNCi0tUiBBQiAxOTM4IG8gLSBPIDIgMjQgMSBTCi0tUiBBQiAxOTM5IG8gLSBPIDcgMjRzIDAgLQotLVIgQUIgMTk0MiBvIC0gTWF5IDIgMjMgMSBTCi0tUiBBQiAxOTQyIG8gLSBTIDEgMSAwIC0KLS1SIEFCIDE5NDMgMTk0NiAtIEFwIFNhdD49MTMgMjMgMSBTCi0tUiBBQiAxOTQzIDE5NDQgLSBPIFN1bj49MSAxIDAgLQotLVIgQUIgMTk0NSAxOTQ2IC0gUyBsYXN0U3VuIDEgMCAtCi0tUiBBQiAxOTQ5IG8gLSBBcCAzMCAyMyAxIFMKLS1SIEFCIDE5NDkgbyAtIE8gMiAxIDAgLQotLVIgQUIgMTk3NCAxOTc1IC0gQXAgU2F0Pj0xMiAyMyAxIFMKLS1SIEFCIDE5NzQgMTk3NSAtIE8gU3VuPj0xIDEgMCAtCi0tUiBBQiAxOTc2IG8gLSBNYXIgMjcgMjMgMSBTCi0tUiBBQiAxOTc2IDE5NzcgLSBTIGxhc3RTdW4gMSAwIC0KLS1SIEFCIDE5NzcgbyAtIEFwIDIgMjMgMSBTCi0tUiBBQiAxOTc4IG8gLSBBcCAyIDJzIDEgUwotLVIgQUIgMTk3OCBvIC0gTyAxIDJzIDAgLQotLVIgQUMgMTk2NyBvIC0gSnVuIDMgMTIgMSBTCi0tUiBBQyAxOTY3IG8gLSBPIDEgMCAwIC0KLS1SIEFDIDE5NzQgbyAtIEp1biAyNCAwIDEgUwotLVIgQUMgMTk3NCBvIC0gUyAxIDAgMCAtCi0tUiBBQyAxOTc2IDE5NzcgLSBNYXkgMSAwIDEgUwotLVIgQUMgMTk3NiBvIC0gQXUgMSAwIDAgLQotLVIgQUMgMTk3NyBvIC0gUyAyOCAwIDAgLQotLVIgQUMgMTk3OCBvIC0gSnVuIDEgMCAxIFMKLS1SIEFDIDE5NzggbyAtIEF1IDQgMCAwIC0KLStSIHMgMTkxOCBvIC0gQXAgMTUgMjMgMSBTCi0rUiBzIDE5MTggMTkxOSAtIE8gNiAyNHMgMCAtCi0rUiBzIDE5MTkgbyAtIEFwIDYgMjMgMSBTCi0rUiBzIDE5MjQgbyAtIEFwIDE2IDIzIDEgUwotK1IgcyAxOTI0IG8gLSBPIDQgMjRzIDAgLQotK1IgcyAxOTI2IG8gLSBBcCAxNyAyMyAxIFMKLStSIHMgMTkyNiAxOTI5IC0gTyBTYXQ+PTEgMjRzIDAgLQotK1IgcyAxOTI3IG8gLSBBcCA5IDIzIDEgUwotK1IgcyAxOTI4IG8gLSBBcCAxNSAwIDEgUwotK1IgcyAxOTI5IG8gLSBBcCAyMCAyMyAxIFMKLStSIHMgMTkzNyBvIC0gSnVuIDE2IDIzIDEgUwotK1IgcyAxOTM3IG8gLSBPIDIgMjRzIDAgLQotK1IgcyAxOTM4IG8gLSBBcCAyIDIzIDEgUwotK1IgcyAxOTM4IG8gLSBBcCAzMCAyMyAyIE0KLStSIHMgMTkzOCBvIC0gTyAyIDI0IDEgUwotK1IgcyAxOTM5IG8gLSBPIDcgMjRzIDAgLQotK1IgcyAxOTQyIG8gLSBNYXkgMiAyMyAxIFMKLStSIHMgMTk0MiBvIC0gUyAxIDEgMCAtCi0rUiBzIDE5NDMgMTk0NiAtIEFwIFNhdD49MTMgMjMgMSBTCi0rUiBzIDE5NDMgMTk0NCAtIE8gU3VuPj0xIDEgMCAtCi0rUiBzIDE5NDUgMTk0NiAtIFMgbGFzdFN1biAxIDAgLQotK1IgcyAxOTQ5IG8gLSBBcCAzMCAyMyAxIFMKLStSIHMgMTk0OSBvIC0gTyAyIDEgMCAtCi0rUiBzIDE5NzQgMTk3NSAtIEFwIFNhdD49MTIgMjMgMSBTCi0rUiBzIDE5NzQgMTk3NSAtIE8gU3VuPj0xIDEgMCAtCi0rUiBzIDE5NzYgbyAtIE1hciAyNyAyMyAxIFMKLStSIHMgMTk3NiAxOTc3IC0gUyBsYXN0U3VuIDEgMCAtCi0rUiBzIDE5NzcgbyAtIEFwIDIgMjMgMSBTCi0rUiBzIDE5NzggbyAtIEFwIDIgMnMgMSBTCi0rUiBzIDE5NzggbyAtIE8gMSAycyAwIC0KLSBaIEV1cm9wZS9NYWRyaWQgLTA6MTQ6NDQgLSBMTVQgMTkwMCBEIDMxIDIzOjQ1OjE2Ci0tMCBBQiBXRSVzVCAxOTQwIE1hciAxNiAyMwotLTEgQUIgQ0Ulc1QgMTk3OQotLTEgTyBDRSVzVAotKzAgcyBXRSVzVCAxOTQwIE1hciAxNiAyMwotKzEgcyBDRSVzVCAxOTc5Ci0rMSBFIENFJXNUCi0gWiBBZnJpY2EvQ2V1dGEgLTA6MjE6MTYgLSBMTVQgMTkwMCBEIDMxIDIzOjM4OjQ0Ci0gMCAtIFdFVCAxOTE4IE1heSA2IDIzCi0gMCAxIFdFU1QgMTkxOCBPIDcgMjMKLSAwIC0gV0VUIDE5MjQKLS0wIEFCIFdFJXNUIDE5MjkKLS0wIEFDIFdFJXNUIDE5ODQgTWFyIDE2Ci0rMCBzIFdFJXNUIDE5MjkKLSswIC0gV0VUIDE5NjcKLSswIE0gV0Ulc1QgMTk4NCBNYXIgMTYKLSAxIC0gQ0VUIDE5ODYKLS0xIE8gQ0Ulc1QKLSsxIEUgQ0Ulc1QKLSBaIEF0bGFudGljL0NhbmFyeSAtMToxOjM2IC0gTE1UIDE5MjIgTWFyCi0gLTEgLSAtMDEgMTk0NiBTIDMwIDEKLSAwIC0gV0VUIDE5ODAgQXAgNiAwcwotIDAgMSBXRVNUIDE5ODAgUyAyOCAxdQotLTAgTyBXRSVzVAotKzAgRSBXRSVzVAotIFogRXVyb3BlL1N0b2NraG9sbSAxOjEyOjEyIC0gTE1UIDE4NzkKLSAxOjA6MTQgLSBTRVQgMTkwMAotIDEgLSBDRVQgMTkxNiBNYXkgMTQgMjMKLSAxIDEgQ0VTVCAxOTE2IE8gMSAxCi0gMSAtIENFVCAxOTgwCi0tMSBPIENFJXNUCi0tUiBBRCAxOTQxIDE5NDIgLSBNYXkgTT49MSAxIDEgUwotLVIgQUQgMTk0MSAxOTQyIC0gTyBNPj0xIDIgMCAtCi0rMSBFIENFJXNUCi0rUiBDSCAxOTQxIDE5NDIgLSBNYXkgTT49MSAxIDEgUwotK1IgQ0ggMTk0MSAxOTQyIC0gTyBNPj0xIDIgMCAtCi0gWiBFdXJvcGUvWnVyaWNoIDA6MzQ6OCAtIExNVCAxODUzIEp1bCAxNgotIDA6Mjk6NDYgLSBCTVQgMTg5NCBKdW4KLS0xIEFEIENFJXNUIDE5ODEKLS0xIE8gQ0Ulc1QKLS1SIEFFIDE5MTYgbyAtIE1heSAxIDAgMSBTCi0tUiBBRSAxOTE2IG8gLSBPIDEgMCAwIC0KLS1SIEFFIDE5MjAgbyAtIE1hciAyOCAwIDEgUwotLVIgQUUgMTkyMCBvIC0gTyAyNSAwIDAgLQotLVIgQUUgMTkyMSBvIC0gQXAgMyAwIDEgUwotLVIgQUUgMTkyMSBvIC0gTyAzIDAgMCAtCi0tUiBBRSAxOTIyIG8gLSBNYXIgMjYgMCAxIFMKLS1SIEFFIDE5MjIgbyAtIE8gOCAwIDAgLQotLVIgQUUgMTkyNCBvIC0gTWF5IDEzIDAgMSBTCi0tUiBBRSAxOTI0IDE5MjUgLSBPIDEgMCAwIC0KLS1SIEFFIDE5MjUgbyAtIE1heSAxIDAgMSBTCi0tUiBBRSAxOTQwIG8gLSBKdW4gMzAgMCAxIFMKLS1SIEFFIDE5NDAgbyAtIE8gNSAwIDAgLQotLVIgQUUgMTk0MCBvIC0gRCAxIDAgMSBTCi0tUiBBRSAxOTQxIG8gLSBTIDIxIDAgMCAtCi0tUiBBRSAxOTQyIG8gLSBBcCAxIDAgMSBTCi0tUiBBRSAxOTQyIG8gLSBOIDEgMCAwIC0KLS1SIEFFIDE5NDUgbyAtIEFwIDIgMCAxIFMKLS1SIEFFIDE5NDUgbyAtIE8gOCAwIDAgLQotLVIgQUUgMTk0NiBvIC0gSnVuIDEgMCAxIFMKLS1SIEFFIDE5NDYgbyAtIE8gMSAwIDAgLQotLVIgQUUgMTk0NyAxOTQ4IC0gQXAgU3VuPj0xNiAwIDEgUwotLVIgQUUgMTk0NyAxOTUwIC0gTyBTdW4+PTIgMCAwIC0KLS1SIEFFIDE5NDkgbyAtIEFwIDEwIDAgMSBTCi0tUiBBRSAxOTUwIG8gLSBBcCAxOSAwIDEgUwotLVIgQUUgMTk1MSBvIC0gQXAgMjIgMCAxIFMKLS1SIEFFIDE5NTEgbyAtIE8gOCAwIDAgLQotLVIgQUUgMTk2MiBvIC0gSnVsIDE1IDAgMSBTCi0tUiBBRSAxOTYyIG8gLSBPIDggMCAwIC0KLS1SIEFFIDE5NjQgbyAtIE1heSAxNSAwIDEgUwotLVIgQUUgMTk2NCBvIC0gTyAxIDAgMCAtCi0tUiBBRSAxOTcwIDE5NzIgLSBNYXkgU3VuPj0yIDAgMSBTCi0tUiBBRSAxOTcwIDE5NzIgLSBPIFN1bj49MiAwIDAgLQotLVIgQUUgMTk3MyBvIC0gSnVuIDMgMSAxIFMKLS1SIEFFIDE5NzMgbyAtIE4gNCAzIDAgLQotLVIgQUUgMTk3NCBvIC0gTWFyIDMxIDIgMSBTCi0tUiBBRSAxOTc0IG8gLSBOIDMgNSAwIC0KLS1SIEFFIDE5NzUgbyAtIE1hciAzMCAwIDEgUwotLVIgQUUgMTk3NSAxOTc2IC0gTyBsYXN0U3VuIDAgMCAtCi0tUiBBRSAxOTc2IG8gLSBKdW4gMSAwIDEgUwotLVIgQUUgMTk3NyAxOTc4IC0gQXAgU3VuPj0xIDAgMSBTCi0tUiBBRSAxOTc3IG8gLSBPIDE2IDAgMCAtCi0tUiBBRSAxOTc5IDE5ODAgLSBBcCBTdW4+PTEgMyAxIFMKLS1SIEFFIDE5NzkgMTk4MiAtIE8gTT49MTEgMCAwIC0KLS1SIEFFIDE5ODEgMTk4MiAtIE1hciBsYXN0U3VuIDMgMSBTCi0tUiBBRSAxOTgzIG8gLSBKdWwgMzEgMCAxIFMKLS1SIEFFIDE5ODMgbyAtIE8gMiAwIDAgLQotLVIgQUUgMTk4NSBvIC0gQXAgMjAgMCAxIFMKLS1SIEFFIDE5ODUgbyAtIFMgMjggMCAwIC0KLS1SIEFFIDE5ODYgMTk5MyAtIE1hciBsYXN0U3VuIDFzIDEgUwotLVIgQUUgMTk4NiAxOTk1IC0gUyBsYXN0U3VuIDFzIDAgLQotLVIgQUUgMTk5NCBvIC0gTWFyIDIwIDFzIDEgUwotLVIgQUUgMTk5NSAyMDA2IC0gTWFyIGxhc3RTdW4gMXMgMSBTCi0tUiBBRSAxOTk2IDIwMDYgLSBPIGxhc3RTdW4gMXMgMCAtCi0rMSBDSCBDRSVzVCAxOTgxCi0rMSBFIENFJXNUCi0rUiBUIDE5MTYgbyAtIE1heSAxIDAgMSBTCi0rUiBUIDE5MTYgbyAtIE8gMSAwIDAgLQotK1IgVCAxOTIwIG8gLSBNYXIgMjggMCAxIFMKLStSIFQgMTkyMCBvIC0gTyAyNSAwIDAgLQotK1IgVCAxOTIxIG8gLSBBcCAzIDAgMSBTCi0rUiBUIDE5MjEgbyAtIE8gMyAwIDAgLQotK1IgVCAxOTIyIG8gLSBNYXIgMjYgMCAxIFMKLStSIFQgMTkyMiBvIC0gTyA4IDAgMCAtCi0rUiBUIDE5MjQgbyAtIE1heSAxMyAwIDEgUwotK1IgVCAxOTI0IDE5MjUgLSBPIDEgMCAwIC0KLStSIFQgMTkyNSBvIC0gTWF5IDEgMCAxIFMKLStSIFQgMTk0MCBvIC0gSnVuIDMwIDAgMSBTCi0rUiBUIDE5NDAgbyAtIE8gNSAwIDAgLQotK1IgVCAxOTQwIG8gLSBEIDEgMCAxIFMKLStSIFQgMTk0MSBvIC0gUyAyMSAwIDAgLQotK1IgVCAxOTQyIG8gLSBBcCAxIDAgMSBTCi0rUiBUIDE5NDIgbyAtIE4gMSAwIDAgLQotK1IgVCAxOTQ1IG8gLSBBcCAyIDAgMSBTCi0rUiBUIDE5NDUgbyAtIE8gOCAwIDAgLQotK1IgVCAxOTQ2IG8gLSBKdW4gMSAwIDEgUwotK1IgVCAxOTQ2IG8gLSBPIDEgMCAwIC0KLStSIFQgMTk0NyAxOTQ4IC0gQXAgU3VuPj0xNiAwIDEgUwotK1IgVCAxOTQ3IDE5NTAgLSBPIFN1bj49MiAwIDAgLQotK1IgVCAxOTQ5IG8gLSBBcCAxMCAwIDEgUwotK1IgVCAxOTUwIG8gLSBBcCAxOSAwIDEgUwotK1IgVCAxOTUxIG8gLSBBcCAyMiAwIDEgUwotK1IgVCAxOTUxIG8gLSBPIDggMCAwIC0KLStSIFQgMTk2MiBvIC0gSnVsIDE1IDAgMSBTCi0rUiBUIDE5NjIgbyAtIE8gOCAwIDAgLQotK1IgVCAxOTY0IG8gLSBNYXkgMTUgMCAxIFMKLStSIFQgMTk2NCBvIC0gTyAxIDAgMCAtCi0rUiBUIDE5NzAgMTk3MiAtIE1heSBTdW4+PTIgMCAxIFMKLStSIFQgMTk3MCAxOTcyIC0gTyBTdW4+PTIgMCAwIC0KLStSIFQgMTk3MyBvIC0gSnVuIDMgMSAxIFMKLStSIFQgMTk3MyBvIC0gTiA0IDMgMCAtCi0rUiBUIDE5NzQgbyAtIE1hciAzMSAyIDEgUwotK1IgVCAxOTc0IG8gLSBOIDMgNSAwIC0KLStSIFQgMTk3NSBvIC0gTWFyIDMwIDAgMSBTCi0rUiBUIDE5NzUgMTk3NiAtIE8gbGFzdFN1biAwIDAgLQotK1IgVCAxOTc2IG8gLSBKdW4gMSAwIDEgUwotK1IgVCAxOTc3IDE5NzggLSBBcCBTdW4+PTEgMCAxIFMKLStSIFQgMTk3NyBvIC0gTyAxNiAwIDAgLQotK1IgVCAxOTc5IDE5ODAgLSBBcCBTdW4+PTEgMyAxIFMKLStSIFQgMTk3OSAxOTgyIC0gTyBNPj0xMSAwIDAgLQotK1IgVCAxOTgxIDE5ODIgLSBNYXIgbGFzdFN1biAzIDEgUwotK1IgVCAxOTgzIG8gLSBKdWwgMzEgMCAxIFMKLStSIFQgMTk4MyBvIC0gTyAyIDAgMCAtCi0rUiBUIDE5ODUgbyAtIEFwIDIwIDAgMSBTCi0rUiBUIDE5ODUgbyAtIFMgMjggMCAwIC0KLStSIFQgMTk4NiAxOTkzIC0gTWFyIGxhc3RTdW4gMXMgMSBTCi0rUiBUIDE5ODYgMTk5NSAtIFMgbGFzdFN1biAxcyAwIC0KLStSIFQgMTk5NCBvIC0gTWFyIDIwIDFzIDEgUwotK1IgVCAxOTk1IDIwMDYgLSBNYXIgbGFzdFN1biAxcyAxIFMKLStSIFQgMTk5NiAyMDA2IC0gTyBsYXN0U3VuIDFzIDAgLQotIFogRXVyb3BlL0lzdGFuYnVsIDE6NTU6NTIgLSBMTVQgMTg4MAotIDE6NTY6NTYgLSBJTVQgMTkxMCBPCi0tMiBBRSBFRSVzVCAxOTc4IE8gMTUKLS0zIEFFICswMy8rMDQgMTk4NSBBcCAyMAotLTIgQUUgRUUlc1QgMjAwNwotLTIgTyBFRSVzVCAyMDExIE1hciAyNyAxdQotKzIgVCBFRSVzVCAxOTc4IE8gMTUKLSszIFQgKzAzLyswNCAxOTg1IEFwIDIwCi0rMiBUIEVFJXNUIDIwMDcKLSsyIEUgRUUlc1QgMjAxMSBNYXIgMjcgMXUKLSAyIC0gRUVUIDIwMTEgTWFyIDI4IDF1Ci0tMiBPIEVFJXNUIDIwMTQgTWFyIDMwIDF1Ci0rMiBFIEVFJXNUIDIwMTQgTWFyIDMwIDF1Ci0gMiAtIEVFVCAyMDE0IE1hciAzMSAxdQotLTIgTyBFRSVzVCAyMDE1IE8gMjUgMXUKLSsyIEUgRUUlc1QgMjAxNSBPIDI1IDF1Ci0gMiAxIEVFU1QgMjAxNSBOIDggMXUKLS0yIE8gRUUlc1QgMjAxNiBTIDcKLSsyIEUgRUUlc1QgMjAxNiBTIDcKLSAzIC0gKzAzCi0gTGkgRXVyb3BlL0lzdGFuYnVsIEFzaWEvSXN0YW5idWwKLSBaIEV1cm9wZS9LaWV2IDI6Mjo0IC0gTE1UIDE4ODAKLSAyOjI6NCAtIEtNVCAxOTI0IE1heSAyCi0gMiAtIEVFVCAxOTMwIEp1biAyMQotIDMgLSBNU0sgMTk0MSBTIDIwCi0tMSAoIENFJXNUIDE5NDMgTiA2Ci0tMyBNIE1TSy9NU0QgMTk5MCBKdWwgMSAyCi0rMSBjIENFJXNUIDE5NDMgTiA2Ci0rMyBSIE1TSy9NU0QgMTk5MCBKdWwgMSAyCi0gMiAxIEVFU1QgMTk5MSBTIDI5IDMKLS0yIFcgRUUlc1QgMTk5NQotLTIgTyBFRSVzVAotKzIgZSBFRSVzVCAxOTk1Ci0rMiBFIEVFJXNUCi0gWiBFdXJvcGUvVXpoZ29yb2QgMToyOToxMiAtIExNVCAxODkwIE8KLSAxIC0gQ0VUIDE5NDAKLS0xICggQ0Ulc1QgMTk0NCBPCi0rMSBjIENFJXNUIDE5NDQgTwotIDEgMSBDRVNUIDE5NDQgTyAyNgotIDEgLSBDRVQgMTk0NSBKdW4gMjkKLS0zIE0gTVNLL01TRCAxOTkwCi0rMyBSIE1TSy9NU0QgMTk5MAotIDMgLSBNU0sgMTk5MCBKdWwgMSAyCi0gMSAtIENFVCAxOTkxIE1hciAzMSAzCi0gMiAtIEVFVCAxOTkyCi0tMiBXIEVFJXNUIDE5OTUKLS0yIE8gRUUlc1QKLSsyIGUgRUUlc1QgMTk5NQotKzIgRSBFRSVzVAotIFogRXVyb3BlL1phcG9yb3poeWUgMjoyMDo0MCAtIExNVCAxODgwCi0gMjoyMCAtICswMjIwIDE5MjQgTWF5IDIKLSAyIC0gRUVUIDE5MzAgSnVuIDIxCi0gMyAtIE1TSyAxOTQxIEF1IDI1Ci0tMSAoIENFJXNUIDE5NDMgTyAyNQotLTMgTSBNU0svTVNEIDE5OTEgTWFyIDMxIDIKLS0yIFcgRUUlc1QgMTk5NQotLTIgTyBFRSVzVAotLVIgQUYgMTkxOCAxOTE5IC0gTWFyIGxhc3RTdW4gMiAxIEQKLS1SIEFGIDE5MTggMTkxOSAtIE8gbGFzdFN1biAyIDAgUwotLVIgQUYgMTk0MiBvIC0gRiA5IDIgMSBXCi0tUiBBRiAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0tUiBBRiAxOTQ1IG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFGIDE5NjcgMjAwNiAtIE8gbGFzdFN1biAyIDAgUwotLVIgQUYgMTk2NyAxOTczIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQUYgMTk3NCBvIC0gSmEgNiAyIDEgRAotLVIgQUYgMTk3NSBvIC0gRiAyMyAyIDEgRAotLVIgQUYgMTk3NiAxOTg2IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQUYgMTk4NyAyMDA2IC0gQXAgU3VuPj0xIDIgMSBECi0tUiBBRiAyMDA3IG1hIC0gTWFyIFN1bj49OCAyIDEgRAotLVIgQUYgMjAwNyBtYSAtIE4gU3VuPj0xIDIgMCBTCi0rMSBjIENFJXNUIDE5NDMgTyAyNQotKzMgUiBNU0svTVNEIDE5OTEgTWFyIDMxIDIKLSsyIGUgRUUlc1QgMTk5NQotKzIgRSBFRSVzVAotK1IgdSAxOTE4IDE5MTkgLSBNYXIgbGFzdFN1biAyIDEgRAotK1IgdSAxOTE4IDE5MTkgLSBPIGxhc3RTdW4gMiAwIFMKLStSIHUgMTk0MiBvIC0gRiA5IDIgMSBXCi0rUiB1IDE5NDUgbyAtIEF1IDE0IDIzdSAxIFAKLStSIHUgMTk0NSBvIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiB1IDE5NjcgMjAwNiAtIE8gbGFzdFN1biAyIDAgUwotK1IgdSAxOTY3IDE5NzMgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiB1IDE5NzQgbyAtIEphIDYgMiAxIEQKLStSIHUgMTk3NSBvIC0gRiAyMyAyIDEgRAotK1IgdSAxOTc2IDE5ODYgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiB1IDE5ODcgMjAwNiAtIEFwIFN1bj49MSAyIDEgRAotK1IgdSAyMDA3IG1hIC0gTWFyIFN1bj49OCAyIDEgRAotK1IgdSAyMDA3IG1hIC0gTiBTdW4+PTEgMiAwIFMKLSBaIEVTVCAtNSAtIEVTVAotIFogTVNUIC03IC0gTVNUCi0gWiBIU1QgLTEwIC0gSFNUCi0tWiBFU1Q1RURUIC01IEFGIEUlc1QKLS1aIENTVDZDRFQgLTYgQUYgQyVzVAotLVogTVNUN01EVCAtNyBBRiBNJXNUCi0tWiBQU1Q4UERUIC04IEFGIFAlc1QKLS1SIEFHIDE5MjAgbyAtIE1hciBsYXN0U3VuIDIgMSBECi0tUiBBRyAxOTIwIG8gLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFHIDE5MjEgMTk2NiAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFHIDE5MjEgMTk1NCAtIFMgbGFzdFN1biAyIDAgUwotLVIgQUcgMTk1NSAxOTY2IC0gTyBsYXN0U3VuIDIgMCBTCi0rWiBFU1Q1RURUIC01IHUgRSVzVAotK1ogQ1NUNkNEVCAtNiB1IEMlc1QKLStaIE1TVDdNRFQgLTcgdSBNJXNUCi0rWiBQU1Q4UERUIC04IHUgUCVzVAotK1IgTlkgMTkyMCBvIC0gTWFyIGxhc3RTdW4gMiAxIEQKLStSIE5ZIDE5MjAgbyAtIE8gbGFzdFN1biAyIDAgUwotK1IgTlkgMTkyMSAxOTY2IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgTlkgMTkyMSAxOTU0IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBOWSAxOTU1IDE5NjYgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvTmV3X1lvcmsgLTQ6NTY6MiAtIExNVCAxODgzIE4gMTggMTI6Mzo1OAotLS01IEFGIEUlc1QgMTkyMAotLS01IEFHIEUlc1QgMTk0MgotLS01IEFGIEUlc1QgMTk0NgotLS01IEFHIEUlc1QgMTk2NwotLS01IEFGIEUlc1QKLS1SIEFIIDE5MjAgbyAtIEp1biAxMyAyIDEgRAotLVIgQUggMTkyMCAxOTIxIC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBSCAxOTIxIG8gLSBNYXIgbGFzdFN1biAyIDEgRAotLVIgQUggMTkyMiAxOTY2IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQUggMTkyMiAxOTU0IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBSCAxOTU1IDE5NjYgLSBPIGxhc3RTdW4gMiAwIFMKLSstNSB1IEUlc1QgMTkyMAotKy01IE5ZIEUlc1QgMTk0MgotKy01IHUgRSVzVCAxOTQ2Ci0rLTUgTlkgRSVzVCAxOTY3Ci0rLTUgdSBFJXNUCi0rUiBDaCAxOTIwIG8gLSBKdW4gMTMgMiAxIEQKLStSIENoIDE5MjAgMTkyMSAtIE8gbGFzdFN1biAyIDAgUwotK1IgQ2ggMTkyMSBvIC0gTWFyIGxhc3RTdW4gMiAxIEQKLStSIENoIDE5MjIgMTk2NiAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIENoIDE5MjIgMTk1NCAtIFMgbGFzdFN1biAyIDAgUwotK1IgQ2ggMTk1NSAxOTY2IC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0NoaWNhZ28gLTU6NTA6MzYgLSBMTVQgMTg4MyBOIDE4IDEyOjk6MjQKLS0tNiBBRiBDJXNUIDE5MjAKLS0tNiBBSCBDJXNUIDE5MzYgTWFyIDEgMgotKy02IHUgQyVzVCAxOTIwCi0rLTYgQ2ggQyVzVCAxOTM2IE1hciAxIDIKLSAtNSAtIEVTVCAxOTM2IE4gMTUgMgotLS02IEFIIEMlc1QgMTk0MgotLS02IEFGIEMlc1QgMTk0NgotLS02IEFIIEMlc1QgMTk2NwotLS02IEFGIEMlc1QKLSstNiBDaCBDJXNUIDE5NDIKLSstNiB1IEMlc1QgMTk0NgotKy02IENoIEMlc1QgMTk2NwotKy02IHUgQyVzVAotIFogQW1lcmljYS9Ob3J0aF9EYWtvdGEvQ2VudGVyIC02OjQ1OjEyIC0gTE1UIDE4ODMgTiAxOCAxMjoxNDo0OAotLS03IEFGIE0lc1QgMTk5MiBPIDI1IDIKLS0tNiBBRiBDJXNUCi0rLTcgdSBNJXNUIDE5OTIgTyAyNSAyCi0rLTYgdSBDJXNUCi0gWiBBbWVyaWNhL05vcnRoX0Rha290YS9OZXdfU2FsZW0gLTY6NDU6MzkgLSBMTVQgMTg4MyBOIDE4IDEyOjE0OjIxCi0tLTcgQUYgTSVzVCAyMDAzIE8gMjYgMgotLS02IEFGIEMlc1QKLSstNyB1IE0lc1QgMjAwMyBPIDI2IDIKLSstNiB1IEMlc1QKLSBaIEFtZXJpY2EvTm9ydGhfRGFrb3RhL0JldWxhaCAtNjo0Nzo3IC0gTE1UIDE4ODMgTiAxOCAxMjoxMjo1MwotLS03IEFGIE0lc1QgMjAxMCBOIDcgMgotLS02IEFGIEMlc1QKLS1SIEFJIDE5MjAgMTkyMSAtIE1hciBsYXN0U3VuIDIgMSBECi0tUiBBSSAxOTIwIG8gLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFJIDE5MjEgbyAtIE1heSAyMiAyIDAgUwotLVIgQUkgMTk2NSAxOTY2IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQUkgMTk2NSAxOTY2IC0gTyBsYXN0U3VuIDIgMCBTCi0rLTcgdSBNJXNUIDIwMTAgTiA3IDIKLSstNiB1IEMlc1QKLStSIERlIDE5MjAgMTkyMSAtIE1hciBsYXN0U3VuIDIgMSBECi0rUiBEZSAxOTIwIG8gLSBPIGxhc3RTdW4gMiAwIFMKLStSIERlIDE5MjEgbyAtIE1heSAyMiAyIDAgUwotK1IgRGUgMTk2NSAxOTY2IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgRGUgMTk2NSAxOTY2IC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0RlbnZlciAtNjo1OTo1NiAtIExNVCAxODgzIE4gMTggMTI6MDo0Ci0tLTcgQUYgTSVzVCAxOTIwCi0tLTcgQUkgTSVzVCAxOTQyCi0tLTcgQUYgTSVzVCAxOTQ2Ci0tLTcgQUkgTSVzVCAxOTY3Ci0tLTcgQUYgTSVzVAotLVIgQUogMTk0OCBvIC0gTWFyIDE0IDI6MSAxIEQKLS1SIEFKIDE5NDkgbyAtIEphIDEgMiAwIFMKLS1SIEFKIDE5NTAgMTk2NiAtIEFwIGxhc3RTdW4gMSAxIEQKLS1SIEFKIDE5NTAgMTk2MSAtIFMgbGFzdFN1biAyIDAgUwotLVIgQUogMTk2MiAxOTY2IC0gTyBsYXN0U3VuIDIgMCBTCi0rLTcgdSBNJXNUIDE5MjAKLSstNyBEZSBNJXNUIDE5NDIKLSstNyB1IE0lc1QgMTk0NgotKy03IERlIE0lc1QgMTk2NwotKy03IHUgTSVzVAotK1IgQ0EgMTk0OCBvIC0gTWFyIDE0IDI6MSAxIEQKLStSIENBIDE5NDkgbyAtIEphIDEgMiAwIFMKLStSIENBIDE5NTAgMTk2NiAtIEFwIGxhc3RTdW4gMSAxIEQKLStSIENBIDE5NTAgMTk2MSAtIFMgbGFzdFN1biAyIDAgUwotK1IgQ0EgMTk2MiAxOTY2IC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0xvc19BbmdlbGVzIC03OjUyOjU4IC0gTE1UIDE4ODMgTiAxOCAxMjo3OjIKLS0tOCBBRiBQJXNUIDE5NDYKLS0tOCBBSiBQJXNUIDE5NjcKLS0tOCBBRiBQJXNUCi0rLTggdSBQJXNUIDE5NDYKLSstOCBDQSBQJXNUIDE5NjcKLSstOCB1IFAlc1QKLSBaIEFtZXJpY2EvSnVuZWF1IDE1OjI6MTkgLSBMTVQgMTg2NyBPIDE5IDE1OjMzOjMyCi0gLTg6NTc6NDEgLSBMTVQgMTkwMCBBdSAyMCAxMgotIC04IC0gUFNUIDE5NDIKLS0tOCBBRiBQJXNUIDE5NDYKLSstOCB1IFAlc1QgMTk0NgotIC04IC0gUFNUIDE5NjkKLS0tOCBBRiBQJXNUIDE5ODAgQXAgMjcgMgotLS05IEFGIFklc1QgMTk4MCBPIDI2IDIKLS0tOCBBRiBQJXNUIDE5ODMgTyAzMCAyCi0tLTkgQUYgWSVzVCAxOTgzIE4gMzAKLS0tOSBBRiBBSyVzVAotKy04IHUgUCVzVCAxOTgwIEFwIDI3IDIKLSstOSB1IFklc1QgMTk4MCBPIDI2IDIKLSstOCB1IFAlc1QgMTk4MyBPIDMwIDIKLSstOSB1IFklc1QgMTk4MyBOIDMwCi0rLTkgdSBBSyVzVAotIFogQW1lcmljYS9TaXRrYSAxNDo1ODo0NyAtIExNVCAxODY3IE8gMTkgMTU6MzAKLSAtOToxOjEzIC0gTE1UIDE5MDAgQXUgMjAgMTIKLSAtOCAtIFBTVCAxOTQyCi0tLTggQUYgUCVzVCAxOTQ2Ci0rLTggdSBQJXNUIDE5NDYKLSAtOCAtIFBTVCAxOTY5Ci0tLTggQUYgUCVzVCAxOTgzIE8gMzAgMgotLS05IEFGIFklc1QgMTk4MyBOIDMwCi0tLTkgQUYgQUslc1QKLSstOCB1IFAlc1QgMTk4MyBPIDMwIDIKLSstOSB1IFklc1QgMTk4MyBOIDMwCi0rLTkgdSBBSyVzVAotIFogQW1lcmljYS9NZXRsYWthdGxhIDE1OjEzOjQyIC0gTE1UIDE4NjcgTyAxOSAxNTo0NDo1NQotIC04OjQ2OjE4IC0gTE1UIDE5MDAgQXUgMjAgMTIKLSAtOCAtIFBTVCAxOTQyCi0tLTggQUYgUCVzVCAxOTQ2Ci0rLTggdSBQJXNUIDE5NDYKLSAtOCAtIFBTVCAxOTY5Ci0tLTggQUYgUCVzVCAxOTgzIE8gMzAgMgotKy04IHUgUCVzVCAxOTgzIE8gMzAgMgotIC04IC0gUFNUIDIwMTUgTiAxIDIKLS0tOSBBRiBBSyVzVAotKy05IHUgQUslc1QKLSBaIEFtZXJpY2EvWWFrdXRhdCAxNDo0MTo1IC0gTE1UIDE4NjcgTyAxOSAxNToxMjoxOAotIC05OjE4OjU1IC0gTE1UIDE5MDAgQXUgMjAgMTIKLSAtOSAtIFlTVCAxOTQyCi0tLTkgQUYgWSVzVCAxOTQ2Ci0rLTkgdSBZJXNUIDE5NDYKLSAtOSAtIFlTVCAxOTY5Ci0tLTkgQUYgWSVzVCAxOTgzIE4gMzAKLS0tOSBBRiBBSyVzVAotKy05IHUgWSVzVCAxOTgzIE4gMzAKLSstOSB1IEFLJXNUCi0gWiBBbWVyaWNhL0FuY2hvcmFnZSAxNDowOjI0IC0gTE1UIDE4NjcgTyAxOSAxNDozMTozNwotIC05OjU5OjM2IC0gTE1UIDE5MDAgQXUgMjAgMTIKLSAtMTAgLSBBU1QgMTk0MgotLS0xMCBBRiBBJXNUIDE5NjcgQXAKLSstMTAgdSBBJXNUIDE5NjcgQXAKLSAtMTAgLSBBSFNUIDE5NjkKLS0tMTAgQUYgQUglc1QgMTk4MyBPIDMwIDIKLS0tOSBBRiBZJXNUIDE5ODMgTiAzMAotLS05IEFGIEFLJXNUCi0rLTEwIHUgQUglc1QgMTk4MyBPIDMwIDIKLSstOSB1IFklc1QgMTk4MyBOIDMwCi0rLTkgdSBBSyVzVAotIFogQW1lcmljYS9Ob21lIDEyOjU4OjIyIC0gTE1UIDE4NjcgTyAxOSAxMzoyOTozNQotIC0xMToxOjM4IC0gTE1UIDE5MDAgQXUgMjAgMTIKLSAtMTEgLSBOU1QgMTk0MgotLS0xMSBBRiBOJXNUIDE5NDYKLSstMTEgdSBOJXNUIDE5NDYKLSAtMTEgLSBOU1QgMTk2NyBBcAotIC0xMSAtIEJTVCAxOTY5Ci0tLTExIEFGIEIlc1QgMTk4MyBPIDMwIDIKLS0tOSBBRiBZJXNUIDE5ODMgTiAzMAotLS05IEFGIEFLJXNUCi0rLTExIHUgQiVzVCAxOTgzIE8gMzAgMgotKy05IHUgWSVzVCAxOTgzIE4gMzAKLSstOSB1IEFLJXNUCi0gWiBBbWVyaWNhL0FkYWsgMTI6MTM6MjIgLSBMTVQgMTg2NyBPIDE5IDEyOjQ0OjM1Ci0gLTExOjQ2OjM4IC0gTE1UIDE5MDAgQXUgMjAgMTIKLSAtMTEgLSBOU1QgMTk0MgotLS0xMSBBRiBOJXNUIDE5NDYKLSstMTEgdSBOJXNUIDE5NDYKLSAtMTEgLSBOU1QgMTk2NyBBcAotIC0xMSAtIEJTVCAxOTY5Ci0tLTExIEFGIEIlc1QgMTk4MyBPIDMwIDIKLS0tMTAgQUYgQUglc1QgMTk4MyBOIDMwCi0tLTEwIEFGIEglc1QKLSstMTEgdSBCJXNUIDE5ODMgTyAzMCAyCi0rLTEwIHUgQUglc1QgMTk4MyBOIDMwCi0rLTEwIHUgSCVzVAotIFogUGFjaWZpYy9Ib25vbHVsdSAtMTA6MzE6MjYgLSBMTVQgMTg5NiBKYSAxMyAxMgotIC0xMDozMCAtIEhTVCAxOTMzIEFwIDMwIDIKLSAtMTA6MzAgMSBIRFQgMTkzMyBNYXkgMjEgMTIKLUBAIC0yNjgzLDUzMSArMjcwMCw1MzEgQEAgWiBQYWNpZmljL0hvbm9sdWx1IC0xMDozMToyNiAtIExNVCAxODk2IEphIDEzIDEyCi0gLTEwOjMwIC0gSFNUIDE5NDcgSnVuIDggMgotIC0xMCAtIEhTVAotIFogQW1lcmljYS9QaG9lbml4IC03OjI4OjE4IC0gTE1UIDE4ODMgTiAxOCAxMTozMTo0MgotLS03IEFGIE0lc1QgMTk0NCBKYSAxIDA6MQotKy03IHUgTSVzVCAxOTQ0IEphIDEgMDoxCi0gLTcgLSBNU1QgMTk0NCBBcCAxIDA6MQotLS03IEFGIE0lc1QgMTk0NCBPIDEgMDoxCi0rLTcgdSBNJXNUIDE5NDQgTyAxIDA6MQotIC03IC0gTVNUIDE5NjcKLS0tNyBBRiBNJXNUIDE5NjggTWFyIDIxCi0rLTcgdSBNJXNUIDE5NjggTWFyIDIxCi0gLTcgLSBNU1QKLSBaIEFtZXJpY2EvQm9pc2UgLTc6NDQ6NDkgLSBMTVQgMTg4MyBOIDE4IDEyOjE1OjExCi0tLTggQUYgUCVzVCAxOTIzIE1heSAxMyAyCi0tLTcgQUYgTSVzVCAxOTc0Ci0rLTggdSBQJXNUIDE5MjMgTWF5IDEzIDIKLSstNyB1IE0lc1QgMTk3NAotIC03IC0gTVNUIDE5NzQgRiAzIDIKLS0tNyBBRiBNJXNUCi0tUiBBSyAxOTQxIG8gLSBKdW4gMjIgMiAxIEQKLS1SIEFLIDE5NDEgMTk1NCAtIFMgbGFzdFN1biAyIDAgUwotLVIgQUsgMTk0NiAxOTU0IC0gQXAgbGFzdFN1biAyIDEgRAotKy03IHUgTSVzVAotK1IgSW4gMTk0MSBvIC0gSnVuIDIyIDIgMSBECi0rUiBJbiAxOTQxIDE5NTQgLSBTIGxhc3RTdW4gMiAwIFMKLStSIEluIDE5NDYgMTk1NCAtIEFwIGxhc3RTdW4gMiAxIEQKLSBaIEFtZXJpY2EvSW5kaWFuYS9JbmRpYW5hcG9saXMgLTU6NDQ6MzggLSBMTVQgMTg4MyBOIDE4IDEyOjE1OjIyCi0tLTYgQUYgQyVzVCAxOTIwCi0tLTYgQUsgQyVzVCAxOTQyCi0tLTYgQUYgQyVzVCAxOTQ2Ci0tLTYgQUsgQyVzVCAxOTU1IEFwIDI0IDIKLSstNiB1IEMlc1QgMTkyMAotKy02IEluIEMlc1QgMTk0MgotKy02IHUgQyVzVCAxOTQ2Ci0rLTYgSW4gQyVzVCAxOTU1IEFwIDI0IDIKLSAtNSAtIEVTVCAxOTU3IFMgMjkgMgotIC02IC0gQ1NUIDE5NTggQXAgMjcgMgotIC01IC0gRVNUIDE5NjkKLS0tNSBBRiBFJXNUIDE5NzEKLSstNSB1IEUlc1QgMTk3MQotIC01IC0gRVNUIDIwMDYKLS0tNSBBRiBFJXNUCi0tUiBBTCAxOTUxIG8gLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBTCAxOTUxIG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFMIDE5NTQgMTk2MCAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFMIDE5NTQgMTk2MCAtIFMgbGFzdFN1biAyIDAgUwotKy01IHUgRSVzVAotK1IgTWEgMTk1MSBvIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgTWEgMTk1MSBvIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBNYSAxOTU0IDE5NjAgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBNYSAxOTU0IDE5NjAgLSBTIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvSW5kaWFuYS9NYXJlbmdvIC01OjQ1OjIzIC0gTE1UIDE4ODMgTiAxOCAxMjoxNDozNwotLS02IEFGIEMlc1QgMTk1MQotLS02IEFMIEMlc1QgMTk2MSBBcCAzMCAyCi0rLTYgdSBDJXNUIDE5NTEKLSstNiBNYSBDJXNUIDE5NjEgQXAgMzAgMgotIC01IC0gRVNUIDE5NjkKLS0tNSBBRiBFJXNUIDE5NzQgSmEgNiAyCi0rLTUgdSBFJXNUIDE5NzQgSmEgNiAyCi0gLTYgMSBDRFQgMTk3NCBPIDI3IDIKLS0tNSBBRiBFJXNUIDE5NzYKLSstNSB1IEUlc1QgMTk3NgotIC01IC0gRVNUIDIwMDYKLS0tNSBBRiBFJXNUCi0tUiBBTSAxOTQ2IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBTSAxOTQ2IG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFNIDE5NTMgMTk1NCAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFNIDE5NTMgMTk1OSAtIFMgbGFzdFN1biAyIDAgUwotLVIgQU0gMTk1NSBvIC0gTWF5IDEgMCAxIEQKLS1SIEFNIDE5NTYgMTk2MyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFNIDE5NjAgbyAtIE8gbGFzdFN1biAyIDAgUwotLVIgQU0gMTk2MSBvIC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBTSAxOTYyIDE5NjMgLSBPIGxhc3RTdW4gMiAwIFMKLSstNSB1IEUlc1QKLStSIFYgMTk0NiBvIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgViAxOTQ2IG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIFYgMTk1MyAxOTU0IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgViAxOTUzIDE5NTkgLSBTIGxhc3RTdW4gMiAwIFMKLStSIFYgMTk1NSBvIC0gTWF5IDEgMCAxIEQKLStSIFYgMTk1NiAxOTYzIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgViAxOTYwIG8gLSBPIGxhc3RTdW4gMiAwIFMKLStSIFYgMTk2MSBvIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBWIDE5NjIgMTk2MyAtIE8gbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9JbmRpYW5hL1ZpbmNlbm5lcyAtNTo1MDo3IC0gTE1UIDE4ODMgTiAxOCAxMjo5OjUzCi0tLTYgQUYgQyVzVCAxOTQ2Ci0tLTYgQU0gQyVzVCAxOTY0IEFwIDI2IDIKLSstNiB1IEMlc1QgMTk0NgotKy02IFYgQyVzVCAxOTY0IEFwIDI2IDIKLSAtNSAtIEVTVCAxOTY5Ci0tLTUgQUYgRSVzVCAxOTcxCi0rLTUgdSBFJXNUIDE5NzEKLSAtNSAtIEVTVCAyMDA2IEFwIDIgMgotLS02IEFGIEMlc1QgMjAwNyBOIDQgMgotLS01IEFGIEUlc1QKLS1SIEFOIDE5NDYgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFOIDE5NDYgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQU4gMTk1MyAxOTU0IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQU4gMTk1MyAxOTU5IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBTiAxOTU1IG8gLSBNYXkgMSAwIDEgRAotLVIgQU4gMTk1NiAxOTYzIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQU4gMTk2MCBvIC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBTiAxOTYxIG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFOIDE5NjIgMTk2MyAtIE8gbGFzdFN1biAyIDAgUwotKy02IHUgQyVzVCAyMDA3IE4gNCAyCi0rLTUgdSBFJXNUCi0rUiBQZSAxOTQ2IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBQZSAxOTQ2IG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIFBlIDE5NTMgMTk1NCAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIFBlIDE5NTMgMTk1OSAtIFMgbGFzdFN1biAyIDAgUwotK1IgUGUgMTk1NSBvIC0gTWF5IDEgMCAxIEQKLStSIFBlIDE5NTYgMTk2MyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIFBlIDE5NjAgbyAtIE8gbGFzdFN1biAyIDAgUwotK1IgUGUgMTk2MSBvIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBQZSAxOTYyIDE5NjMgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvSW5kaWFuYS9UZWxsX0NpdHkgLTU6NDc6MyAtIExNVCAxODgzIE4gMTggMTI6MTI6NTcKLS0tNiBBRiBDJXNUIDE5NDYKLS0tNiBBTiBDJXNUIDE5NjQgQXAgMjYgMgotKy02IHUgQyVzVCAxOTQ2Ci0rLTYgUGUgQyVzVCAxOTY0IEFwIDI2IDIKLSAtNSAtIEVTVCAxOTY5Ci0tLTUgQUYgRSVzVCAxOTcxCi0rLTUgdSBFJXNUIDE5NzEKLSAtNSAtIEVTVCAyMDA2IEFwIDIgMgotLS02IEFGIEMlc1QKLS1SIEFPIDE5NTUgbyAtIE1heSAxIDAgMSBECi0tUiBBTyAxOTU1IDE5NjAgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFPIDE5NTYgMTk2NCAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFPIDE5NjEgMTk2NCAtIE8gbGFzdFN1biAyIDAgUwotKy02IHUgQyVzVAotK1IgUGkgMTk1NSBvIC0gTWF5IDEgMCAxIEQKLStSIFBpIDE5NTUgMTk2MCAtIFMgbGFzdFN1biAyIDAgUwotK1IgUGkgMTk1NiAxOTY0IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgUGkgMTk2MSAxOTY0IC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0luZGlhbmEvUGV0ZXJzYnVyZyAtNTo0OTo3IC0gTE1UIDE4ODMgTiAxOCAxMjoxMDo1MwotLS02IEFGIEMlc1QgMTk1NQotLS02IEFPIEMlc1QgMTk2NSBBcCAyNSAyCi0rLTYgdSBDJXNUIDE5NTUKLSstNiBQaSBDJXNUIDE5NjUgQXAgMjUgMgotIC01IC0gRVNUIDE5NjYgTyAzMCAyCi0tLTYgQUYgQyVzVCAxOTc3IE8gMzAgMgotKy02IHUgQyVzVCAxOTc3IE8gMzAgMgotIC01IC0gRVNUIDIwMDYgQXAgMiAyCi0tLTYgQUYgQyVzVCAyMDA3IE4gNCAyCi0tLTUgQUYgRSVzVAotLVIgQVAgMTk0NyAxOTYxIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVAgMTk0NyAxOTU0IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBUCAxOTU1IDE5NTYgLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFQIDE5NTcgMTk1OCAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVAgMTk1OSAxOTYxIC0gTyBsYXN0U3VuIDIgMCBTCi0rLTYgdSBDJXNUIDIwMDcgTiA0IDIKLSstNSB1IEUlc1QKLStSIFN0IDE5NDcgMTk2MSAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIFN0IDE5NDcgMTk1NCAtIFMgbGFzdFN1biAyIDAgUwotK1IgU3QgMTk1NSAxOTU2IC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBTdCAxOTU3IDE5NTggLSBTIGxhc3RTdW4gMiAwIFMKLStSIFN0IDE5NTkgMTk2MSAtIE8gbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9JbmRpYW5hL0tub3ggLTU6NDY6MzAgLSBMTVQgMTg4MyBOIDE4IDEyOjEzOjMwCi0tLTYgQUYgQyVzVCAxOTQ3Ci0tLTYgQVAgQyVzVCAxOTYyIEFwIDI5IDIKLSstNiB1IEMlc1QgMTk0NwotKy02IFN0IEMlc1QgMTk2MiBBcCAyOSAyCi0gLTUgLSBFU1QgMTk2MyBPIDI3IDIKLS0tNiBBRiBDJXNUIDE5OTEgTyAyNyAyCi0rLTYgdSBDJXNUIDE5OTEgTyAyNyAyCi0gLTUgLSBFU1QgMjAwNiBBcCAyIDIKLS0tNiBBRiBDJXNUCi0tUiBBUSAxOTQ2IDE5NjAgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBUSAxOTQ2IDE5NTQgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFRIDE5NTUgMTk1NiAtIE8gbGFzdFN1biAyIDAgUwotLVIgQVEgMTk1NyAxOTYwIC0gUyBsYXN0U3VuIDIgMCBTCi0rLTYgdSBDJXNUCi0rUiBQdSAxOTQ2IDE5NjAgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBQdSAxOTQ2IDE5NTQgLSBTIGxhc3RTdW4gMiAwIFMKLStSIFB1IDE5NTUgMTk1NiAtIE8gbGFzdFN1biAyIDAgUwotK1IgUHUgMTk1NyAxOTYwIC0gUyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0luZGlhbmEvV2luYW1hYyAtNTo0NjoyNSAtIExNVCAxODgzIE4gMTggMTI6MTM6MzUKLS0tNiBBRiBDJXNUIDE5NDYKLS0tNiBBUSBDJXNUIDE5NjEgQXAgMzAgMgotKy02IHUgQyVzVCAxOTQ2Ci0rLTYgUHUgQyVzVCAxOTYxIEFwIDMwIDIKLSAtNSAtIEVTVCAxOTY5Ci0tLTUgQUYgRSVzVCAxOTcxCi0rLTUgdSBFJXNUIDE5NzEKLSAtNSAtIEVTVCAyMDA2IEFwIDIgMgotLS02IEFGIEMlc1QgMjAwNyBNYXIgMTEgMgotLS01IEFGIEUlc1QKLSstNiB1IEMlc1QgMjAwNyBNYXIgMTEgMgotKy01IHUgRSVzVAotIFogQW1lcmljYS9JbmRpYW5hL1ZldmF5IC01OjQwOjE2IC0gTE1UIDE4ODMgTiAxOCAxMjoxOTo0NAotLS02IEFGIEMlc1QgMTk1NCBBcCAyNSAyCi0rLTYgdSBDJXNUIDE5NTQgQXAgMjUgMgotIC01IC0gRVNUIDE5NjkKLS0tNSBBRiBFJXNUIDE5NzMKLSstNSB1IEUlc1QgMTk3MwotIC01IC0gRVNUIDIwMDYKLS0tNSBBRiBFJXNUCi0tUiBBUiAxOTIxIG8gLSBNYXkgMSAyIDEgRAotLVIgQVIgMTkyMSBvIC0gUyAxIDIgMCBTCi0tUiBBUiAxOTQxIDE5NjEgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBUiAxOTQxIG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFSIDE5NDYgbyAtIEp1biAyIDIgMCBTCi0tUiBBUiAxOTUwIDE5NTUgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFSIDE5NTYgMTk2MCAtIE8gbGFzdFN1biAyIDAgUwotKy01IHUgRSVzVAotK1IgdiAxOTIxIG8gLSBNYXkgMSAyIDEgRAotK1IgdiAxOTIxIG8gLSBTIDEgMiAwIFMKLStSIHYgMTk0MSAxOTYxIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgdiAxOTQxIG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIHYgMTk0NiBvIC0gSnVuIDIgMiAwIFMKLStSIHYgMTk1MCAxOTU1IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiB2IDE5NTYgMTk2MCAtIE8gbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9LZW50dWNreS9Mb3Vpc3ZpbGxlIC01OjQzOjIgLSBMTVQgMTg4MyBOIDE4IDEyOjE2OjU4Ci0tLTYgQUYgQyVzVCAxOTIxCi0tLTYgQVIgQyVzVCAxOTQyCi0tLTYgQUYgQyVzVCAxOTQ2Ci0tLTYgQVIgQyVzVCAxOTYxIEp1bCAyMyAyCi0rLTYgdSBDJXNUIDE5MjEKLSstNiB2IEMlc1QgMTk0MgotKy02IHUgQyVzVCAxOTQ2Ci0rLTYgdiBDJXNUIDE5NjEgSnVsIDIzIDIKLSAtNSAtIEVTVCAxOTY4Ci0tLTUgQUYgRSVzVCAxOTc0IEphIDYgMgotKy01IHUgRSVzVCAxOTc0IEphIDYgMgotIC02IDEgQ0RUIDE5NzQgTyAyNyAyCi0tLTUgQUYgRSVzVAotKy01IHUgRSVzVAotIFogQW1lcmljYS9LZW50dWNreS9Nb250aWNlbGxvIC01OjM5OjI0IC0gTE1UIDE4ODMgTiAxOCAxMjoyMDozNgotLS02IEFGIEMlc1QgMTk0NgotKy02IHUgQyVzVCAxOTQ2Ci0gLTYgLSBDU1QgMTk2OAotLS02IEFGIEMlc1QgMjAwMCBPIDI5IDIKLS0tNSBBRiBFJXNUCi0tUiBBUyAxOTQ4IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBUyAxOTQ4IG8gLSBTIGxhc3RTdW4gMiAwIFMKLSstNiB1IEMlc1QgMjAwMCBPIDI5IDIKLSstNSB1IEUlc1QKLStSIER0IDE5NDggbyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIER0IDE5NDggbyAtIFMgbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9EZXRyb2l0IC01OjMyOjExIC0gTE1UIDE5MDUKLSAtNiAtIENTVCAxOTE1IE1heSAxNSAyCi0gLTUgLSBFU1QgMTk0MgotLS01IEFGIEUlc1QgMTk0NgotLS01IEFTIEUlc1QgMTk3MwotLS01IEFGIEUlc1QgMTk3NQotKy01IHUgRSVzVCAxOTQ2Ci0rLTUgRHQgRSVzVCAxOTczCi0rLTUgdSBFJXNUIDE5NzUKLSAtNSAtIEVTVCAxOTc1IEFwIDI3IDIKLS0tNSBBRiBFJXNUCi0tUiBBVCAxOTQ2IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBVCAxOTQ2IG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFUIDE5NjYgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFUIDE5NjYgbyAtIE8gbGFzdFN1biAyIDAgUwotKy01IHUgRSVzVAotK1IgTWUgMTk0NiBvIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgTWUgMTk0NiBvIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBNZSAxOTY2IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBNZSAxOTY2IG8gLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvTWVub21pbmVlIC01OjUwOjI3IC0gTE1UIDE4ODUgUyAxOCAxMgotLS02IEFGIEMlc1QgMTk0NgotLS02IEFUIEMlc1QgMTk2OSBBcCAyNyAyCi0rLTYgdSBDJXNUIDE5NDYKLSstNiBNZSBDJXNUIDE5NjkgQXAgMjcgMgotIC01IC0gRVNUIDE5NzMgQXAgMjkgMgotLS02IEFGIEMlc1QKLS1SIEFVIDE5MTggbyAtIEFwIDE0IDIgMSBECi0tUiBBVSAxOTE4IG8gLSBPIDI3IDIgMCBTCi0tUiBBVSAxOTQyIG8gLSBGIDkgMiAxIFcKLS1SIEFVIDE5NDUgbyAtIEF1IDE0IDIzdSAxIFAKLS1SIEFVIDE5NDUgbyAtIFMgMzAgMiAwIFMKLS1SIEFVIDE5NzQgMTk4NiAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFVIDE5NzQgMjAwNiAtIE8gbGFzdFN1biAyIDAgUwotLVIgQVUgMTk4NyAyMDA2IC0gQXAgU3VuPj0xIDIgMSBECi0tUiBBVSAyMDA3IG1hIC0gTWFyIFN1bj49OCAyIDEgRAotLVIgQVUgMjAwNyBtYSAtIE4gU3VuPj0xIDIgMCBTCi0tUiBBViAxOTE3IG8gLSBBcCA4IDIgMSBECi0tUiBBViAxOTE3IG8gLSBTIDE3IDIgMCBTCi0tUiBBViAxOTE5IG8gLSBNYXkgNSAyMyAxIEQKLS1SIEFWIDE5MTkgbyAtIEF1IDEyIDIzIDAgUwotLVIgQVYgMTkyMCAxOTM1IC0gTWF5IFN1bj49MSAyMyAxIEQKLS1SIEFWIDE5MjAgMTkzNSAtIE8gbGFzdFN1biAyMyAwIFMKLS1SIEFWIDE5MzYgMTk0MSAtIE1heSBNPj05IDAgMSBECi0tUiBBViAxOTM2IDE5NDEgLSBPIE0+PTIgMCAwIFMKLS1SIEFWIDE5NDYgMTk1MCAtIE1heSBTdW4+PTggMiAxIEQKLS1SIEFWIDE5NDYgMTk1MCAtIE8gU3VuPj0yIDIgMCBTCi0tUiBBViAxOTUxIDE5ODYgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBViAxOTUxIDE5NTkgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFWIDE5NjAgMTk4NiAtIE8gbGFzdFN1biAyIDAgUwotLVIgQVYgMTk4NyBvIC0gQXAgU3VuPj0xIDA6MSAxIEQKLS1SIEFWIDE5ODcgMjAwNiAtIE8gbGFzdFN1biAwOjEgMCBTCi0tUiBBViAxOTg4IG8gLSBBcCBTdW4+PTEgMDoxIDIgREQKLS1SIEFWIDE5ODkgMjAwNiAtIEFwIFN1bj49MSAwOjEgMSBECi0tUiBBViAyMDA3IDIwMTEgLSBNYXIgU3VuPj04IDA6MSAxIEQKLS1SIEFWIDIwMDcgMjAxMCAtIE4gU3VuPj0xIDA6MSAwIFMKLSstNiB1IEMlc1QKLStSIEMgMTkxOCBvIC0gQXAgMTQgMiAxIEQKLStSIEMgMTkxOCBvIC0gTyAyNyAyIDAgUwotK1IgQyAxOTQyIG8gLSBGIDkgMiAxIFcKLStSIEMgMTk0NSBvIC0gQXUgMTQgMjN1IDEgUAotK1IgQyAxOTQ1IG8gLSBTIDMwIDIgMCBTCi0rUiBDIDE5NzQgMTk4NiAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIEMgMTk3NCAyMDA2IC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBDIDE5ODcgMjAwNiAtIEFwIFN1bj49MSAyIDEgRAotK1IgQyAyMDA3IG1hIC0gTWFyIFN1bj49OCAyIDEgRAotK1IgQyAyMDA3IG1hIC0gTiBTdW4+PTEgMiAwIFMKLStSIGogMTkxNyBvIC0gQXAgOCAyIDEgRAotK1IgaiAxOTE3IG8gLSBTIDE3IDIgMCBTCi0rUiBqIDE5MTkgbyAtIE1heSA1IDIzIDEgRAotK1IgaiAxOTE5IG8gLSBBdSAxMiAyMyAwIFMKLStSIGogMTkyMCAxOTM1IC0gTWF5IFN1bj49MSAyMyAxIEQKLStSIGogMTkyMCAxOTM1IC0gTyBsYXN0U3VuIDIzIDAgUwotK1IgaiAxOTM2IDE5NDEgLSBNYXkgTT49OSAwIDEgRAotK1IgaiAxOTM2IDE5NDEgLSBPIE0+PTIgMCAwIFMKLStSIGogMTk0NiAxOTUwIC0gTWF5IFN1bj49OCAyIDEgRAotK1IgaiAxOTQ2IDE5NTAgLSBPIFN1bj49MiAyIDAgUwotK1IgaiAxOTUxIDE5ODYgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBqIDE5NTEgMTk1OSAtIFMgbGFzdFN1biAyIDAgUwotK1IgaiAxOTYwIDE5ODYgLSBPIGxhc3RTdW4gMiAwIFMKLStSIGogMTk4NyBvIC0gQXAgU3VuPj0xIDA6MSAxIEQKLStSIGogMTk4NyAyMDA2IC0gTyBsYXN0U3VuIDA6MSAwIFMKLStSIGogMTk4OCBvIC0gQXAgU3VuPj0xIDA6MSAyIERECi0rUiBqIDE5ODkgMjAwNiAtIEFwIFN1bj49MSAwOjEgMSBECi0rUiBqIDIwMDcgMjAxMSAtIE1hciBTdW4+PTggMDoxIDEgRAotK1IgaiAyMDA3IDIwMTAgLSBOIFN1bj49MSAwOjEgMCBTCi0gWiBBbWVyaWNhL1N0X0pvaG5zIC0zOjMwOjUyIC0gTE1UIDE4ODQKLS0tMzozMDo1MiBBViBOJXNUIDE5MTgKLS0tMzozMDo1MiBBVSBOJXNUIDE5MTkKLS0tMzozMDo1MiBBViBOJXNUIDE5MzUgTWFyIDMwCi0tLTM6MzAgQVYgTiVzVCAxOTQyIE1heSAxMQotLS0zOjMwIEFVIE4lc1QgMTk0NgotLS0zOjMwIEFWIE4lc1QgMjAxMSBOCi0tLTM6MzAgQVUgTiVzVAotKy0zOjMwOjUyIGogTiVzVCAxOTE4Ci0rLTM6MzA6NTIgQyBOJXNUIDE5MTkKLSstMzozMDo1MiBqIE4lc1QgMTkzNSBNYXIgMzAKLSstMzozMCBqIE4lc1QgMTk0MiBNYXkgMTEKLSstMzozMCBDIE4lc1QgMTk0NgotKy0zOjMwIGogTiVzVCAyMDExIE4KLSstMzozMCBDIE4lc1QKLSBaIEFtZXJpY2EvR29vc2VfQmF5IC00OjE6NDAgLSBMTVQgMTg4NAotIC0zOjMwOjUyIC0gTlNUIDE5MTgKLS0tMzozMDo1MiBBVSBOJXNUIDE5MTkKLSstMzozMDo1MiBDIE4lc1QgMTkxOQotIC0zOjMwOjUyIC0gTlNUIDE5MzUgTWFyIDMwCi0gLTM6MzAgLSBOU1QgMTkzNgotLS0zOjMwIEFWIE4lc1QgMTk0MiBNYXkgMTEKLS0tMzozMCBBVSBOJXNUIDE5NDYKLS0tMzozMCBBViBOJXNUIDE5NjYgTWFyIDE1IDIKLS0tNCBBViBBJXNUIDIwMTEgTgotLS00IEFVIEElc1QKLS1SIEFXIDE5MTYgbyAtIEFwIDEgMCAxIEQKLS1SIEFXIDE5MTYgbyAtIE8gMSAwIDAgUwotLVIgQVcgMTkyMCBvIC0gTWF5IDkgMCAxIEQKLS1SIEFXIDE5MjAgbyAtIEF1IDI5IDAgMCBTCi0tUiBBVyAxOTIxIG8gLSBNYXkgNiAwIDEgRAotLVIgQVcgMTkyMSAxOTIyIC0gUyA1IDAgMCBTCi0tUiBBVyAxOTIyIG8gLSBBcCAzMCAwIDEgRAotLVIgQVcgMTkyMyAxOTI1IC0gTWF5IFN1bj49MSAwIDEgRAotLVIgQVcgMTkyMyBvIC0gUyA0IDAgMCBTCi0tUiBBVyAxOTI0IG8gLSBTIDE1IDAgMCBTCi0tUiBBVyAxOTI1IG8gLSBTIDI4IDAgMCBTCi0tUiBBVyAxOTI2IG8gLSBNYXkgMTYgMCAxIEQKLS1SIEFXIDE5MjYgbyAtIFMgMTMgMCAwIFMKLS1SIEFXIDE5MjcgbyAtIE1heSAxIDAgMSBECi0tUiBBVyAxOTI3IG8gLSBTIDI2IDAgMCBTCi0tUiBBVyAxOTI4IDE5MzEgLSBNYXkgU3VuPj04IDAgMSBECi0tUiBBVyAxOTI4IG8gLSBTIDkgMCAwIFMKLS1SIEFXIDE5MjkgbyAtIFMgMyAwIDAgUwotLVIgQVcgMTkzMCBvIC0gUyAxNSAwIDAgUwotLVIgQVcgMTkzMSAxOTMyIC0gUyBNPj0yNCAwIDAgUwotLVIgQVcgMTkzMiBvIC0gTWF5IDEgMCAxIEQKLS1SIEFXIDE5MzMgbyAtIEFwIDMwIDAgMSBECi0tUiBBVyAxOTMzIG8gLSBPIDIgMCAwIFMKLS1SIEFXIDE5MzQgbyAtIE1heSAyMCAwIDEgRAotLVIgQVcgMTkzNCBvIC0gUyAxNiAwIDAgUwotLVIgQVcgMTkzNSBvIC0gSnVuIDIgMCAxIEQKLS1SIEFXIDE5MzUgbyAtIFMgMzAgMCAwIFMKLS1SIEFXIDE5MzYgbyAtIEp1biAxIDAgMSBECi0tUiBBVyAxOTM2IG8gLSBTIDE0IDAgMCBTCi0tUiBBVyAxOTM3IDE5MzggLSBNYXkgU3VuPj0xIDAgMSBECi0tUiBBVyAxOTM3IDE5NDEgLSBTIE0+PTI0IDAgMCBTCi0tUiBBVyAxOTM5IG8gLSBNYXkgMjggMCAxIEQKLS1SIEFXIDE5NDAgMTk0MSAtIE1heSBTdW4+PTEgMCAxIEQKLS1SIEFXIDE5NDYgMTk0OSAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFXIDE5NDYgMTk0OSAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVcgMTk1MSAxOTU0IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVcgMTk1MSAxOTU0IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBVyAxOTU2IDE5NTkgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBVyAxOTU2IDE5NTkgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFXIDE5NjIgMTk3MyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFXIDE5NjIgMTk3MyAtIE8gbGFzdFN1biAyIDAgUwotKy0zOjMwIGogTiVzVCAxOTQyIE1heSAxMQotKy0zOjMwIEMgTiVzVCAxOTQ2Ci0rLTM6MzAgaiBOJXNUIDE5NjYgTWFyIDE1IDIKLSstNCBqIEElc1QgMjAxMSBOCi0rLTQgQyBBJXNUCi0rUiBIIDE5MTYgbyAtIEFwIDEgMCAxIEQKLStSIEggMTkxNiBvIC0gTyAxIDAgMCBTCi0rUiBIIDE5MjAgbyAtIE1heSA5IDAgMSBECi0rUiBIIDE5MjAgbyAtIEF1IDI5IDAgMCBTCi0rUiBIIDE5MjEgbyAtIE1heSA2IDAgMSBECi0rUiBIIDE5MjEgMTkyMiAtIFMgNSAwIDAgUwotK1IgSCAxOTIyIG8gLSBBcCAzMCAwIDEgRAotK1IgSCAxOTIzIDE5MjUgLSBNYXkgU3VuPj0xIDAgMSBECi0rUiBIIDE5MjMgbyAtIFMgNCAwIDAgUwotK1IgSCAxOTI0IG8gLSBTIDE1IDAgMCBTCi0rUiBIIDE5MjUgbyAtIFMgMjggMCAwIFMKLStSIEggMTkyNiBvIC0gTWF5IDE2IDAgMSBECi0rUiBIIDE5MjYgbyAtIFMgMTMgMCAwIFMKLStSIEggMTkyNyBvIC0gTWF5IDEgMCAxIEQKLStSIEggMTkyNyBvIC0gUyAyNiAwIDAgUwotK1IgSCAxOTI4IDE5MzEgLSBNYXkgU3VuPj04IDAgMSBECi0rUiBIIDE5MjggbyAtIFMgOSAwIDAgUwotK1IgSCAxOTI5IG8gLSBTIDMgMCAwIFMKLStSIEggMTkzMCBvIC0gUyAxNSAwIDAgUwotK1IgSCAxOTMxIDE5MzIgLSBTIE0+PTI0IDAgMCBTCi0rUiBIIDE5MzIgbyAtIE1heSAxIDAgMSBECi0rUiBIIDE5MzMgbyAtIEFwIDMwIDAgMSBECi0rUiBIIDE5MzMgbyAtIE8gMiAwIDAgUwotK1IgSCAxOTM0IG8gLSBNYXkgMjAgMCAxIEQKLStSIEggMTkzNCBvIC0gUyAxNiAwIDAgUwotK1IgSCAxOTM1IG8gLSBKdW4gMiAwIDEgRAotK1IgSCAxOTM1IG8gLSBTIDMwIDAgMCBTCi0rUiBIIDE5MzYgbyAtIEp1biAxIDAgMSBECi0rUiBIIDE5MzYgbyAtIFMgMTQgMCAwIFMKLStSIEggMTkzNyAxOTM4IC0gTWF5IFN1bj49MSAwIDEgRAotK1IgSCAxOTM3IDE5NDEgLSBTIE0+PTI0IDAgMCBTCi0rUiBIIDE5MzkgbyAtIE1heSAyOCAwIDEgRAotK1IgSCAxOTQwIDE5NDEgLSBNYXkgU3VuPj0xIDAgMSBECi0rUiBIIDE5NDYgMTk0OSAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIEggMTk0NiAxOTQ5IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBIIDE5NTEgMTk1NCAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIEggMTk1MSAxOTU0IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBIIDE5NTYgMTk1OSAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIEggMTk1NiAxOTU5IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBIIDE5NjIgMTk3MyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIEggMTk2MiAxOTczIC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0hhbGlmYXggLTQ6MTQ6MjQgLSBMTVQgMTkwMiBKdW4gMTUKLS0tNCBBVyBBJXNUIDE5MTgKLS0tNCBBVSBBJXNUIDE5MTkKLS0tNCBBVyBBJXNUIDE5NDIgRiA5IDJzCi0tLTQgQVUgQSVzVCAxOTQ2Ci0tLTQgQVcgQSVzVCAxOTc0Ci0tLTQgQVUgQSVzVAotKy00IEggQSVzVCAxOTE4Ci0rLTQgQyBBJXNUIDE5MTkKLSstNCBIIEElc1QgMTk0MiBGIDkgMnMKLSstNCBDIEElc1QgMTk0NgotKy00IEggQSVzVCAxOTc0Ci0rLTQgQyBBJXNUCi0gWiBBbWVyaWNhL0dsYWNlX0JheSAtMzo1OTo0OCAtIExNVCAxOTAyIEp1biAxNQotLS00IEFVIEElc1QgMTk1MwotLS00IEFXIEElc1QgMTk1NAotKy00IEMgQSVzVCAxOTUzCi0rLTQgSCBBJXNUIDE5NTQKLSAtNCAtIEFTVCAxOTcyCi0tLTQgQVcgQSVzVCAxOTc0Ci0tLTQgQVUgQSVzVAotLVIgQVggMTkzMyAxOTM1IC0gSnVuIFN1bj49OCAxIDEgRAotLVIgQVggMTkzMyAxOTM1IC0gUyBTdW4+PTggMSAwIFMKLS1SIEFYIDE5MzYgMTkzOCAtIEp1biBTdW4+PTEgMSAxIEQKLS1SIEFYIDE5MzYgMTkzOCAtIFMgU3VuPj0xIDEgMCBTCi0tUiBBWCAxOTM5IG8gLSBNYXkgMjcgMSAxIEQKLS1SIEFYIDE5MzkgMTk0MSAtIFMgU2F0Pj0yMSAxIDAgUwotLVIgQVggMTk0MCBvIC0gTWF5IDE5IDEgMSBECi0tUiBBWCAxOTQxIG8gLSBNYXkgNCAxIDEgRAotLVIgQVggMTk0NiAxOTcyIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVggMTk0NiAxOTU2IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBWCAxOTU3IDE5NzIgLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFYIDE5OTMgMjAwNiAtIEFwIFN1bj49MSAwOjEgMSBECi0tUiBBWCAxOTkzIDIwMDYgLSBPIGxhc3RTdW4gMDoxIDAgUwotKy00IEggQSVzVCAxOTc0Ci0rLTQgQyBBJXNUCi0rUiBvIDE5MzMgMTkzNSAtIEp1biBTdW4+PTggMSAxIEQKLStSIG8gMTkzMyAxOTM1IC0gUyBTdW4+PTggMSAwIFMKLStSIG8gMTkzNiAxOTM4IC0gSnVuIFN1bj49MSAxIDEgRAotK1IgbyAxOTM2IDE5MzggLSBTIFN1bj49MSAxIDAgUwotK1IgbyAxOTM5IG8gLSBNYXkgMjcgMSAxIEQKLStSIG8gMTkzOSAxOTQxIC0gUyBTYXQ+PTIxIDEgMCBTCi0rUiBvIDE5NDAgbyAtIE1heSAxOSAxIDEgRAotK1IgbyAxOTQxIG8gLSBNYXkgNCAxIDEgRAotK1IgbyAxOTQ2IDE5NzIgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBvIDE5NDYgMTk1NiAtIFMgbGFzdFN1biAyIDAgUwotK1IgbyAxOTU3IDE5NzIgLSBPIGxhc3RTdW4gMiAwIFMKLStSIG8gMTk5MyAyMDA2IC0gQXAgU3VuPj0xIDA6MSAxIEQKLStSIG8gMTk5MyAyMDA2IC0gTyBsYXN0U3VuIDA6MSAwIFMKLSBaIEFtZXJpY2EvTW9uY3RvbiAtNDoxOTo4IC0gTE1UIDE4ODMgRCA5Ci0gLTUgLSBFU1QgMTkwMiBKdW4gMTUKLS0tNCBBVSBBJXNUIDE5MzMKLS0tNCBBWCBBJXNUIDE5NDIKLS0tNCBBVSBBJXNUIDE5NDYKLS0tNCBBWCBBJXNUIDE5NzMKLS0tNCBBVSBBJXNUIDE5OTMKLS0tNCBBWCBBJXNUIDIwMDcKLS0tNCBBVSBBJXNUCi0rLTQgQyBBJXNUIDE5MzMKLSstNCBvIEElc1QgMTk0MgotKy00IEMgQSVzVCAxOTQ2Ci0rLTQgbyBBJXNUIDE5NzMKLSstNCBDIEElc1QgMTk5MwotKy00IG8gQSVzVCAyMDA3Ci0rLTQgQyBBJXNUCi0gWiBBbWVyaWNhL0JsYW5jLVNhYmxvbiAtMzo0ODoyOCAtIExNVCAxODg0Ci0tLTQgQVUgQSVzVCAxOTcwCi0rLTQgQyBBJXNUIDE5NzAKLSAtNCAtIEFTVAotLVIgQVkgMTkxOSBvIC0gTWFyIDMwIDIzOjMwIDEgRAotLVIgQVkgMTkxOSBvIC0gTyAyNiAwIDAgUwotLVIgQVkgMTkyMCBvIC0gTWF5IDIgMiAxIEQKLS1SIEFZIDE5MjAgbyAtIFMgMjYgMCAwIFMKLS1SIEFZIDE5MjEgbyAtIE1heSAxNSAyIDEgRAotLVIgQVkgMTkyMSBvIC0gUyAxNSAyIDAgUwotLVIgQVkgMTkyMiAxOTIzIC0gTWF5IFN1bj49OCAyIDEgRAotLVIgQVkgMTkyMiAxOTI2IC0gUyBTdW4+PTE1IDIgMCBTCi0tUiBBWSAxOTI0IDE5MjcgLSBNYXkgU3VuPj0xIDIgMSBECi0tUiBBWSAxOTI3IDE5MzIgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFZIDE5MjggMTkzMSAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFZIDE5MzIgbyAtIE1heSAxIDIgMSBECi0tUiBBWSAxOTMzIDE5NDAgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBWSAxOTMzIG8gLSBPIDEgMiAwIFMKLS1SIEFZIDE5MzQgMTkzOSAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVkgMTk0NSAxOTQ2IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBWSAxOTQ2IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBWSAxOTQ3IDE5NDkgLSBBcCBsYXN0U3VuIDAgMSBECi0tUiBBWSAxOTQ3IDE5NDggLSBTIGxhc3RTdW4gMCAwIFMKLS1SIEFZIDE5NDkgbyAtIE4gbGFzdFN1biAwIDAgUwotLVIgQVkgMTk1MCAxOTczIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVkgMTk1MCBvIC0gTiBsYXN0U3VuIDIgMCBTCi0tUiBBWSAxOTUxIDE5NTYgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFZIDE5NTcgMTk3MyAtIE8gbGFzdFN1biAyIDAgUwotK1IgdCAxOTE5IG8gLSBNYXIgMzAgMjM6MzAgMSBECi0rUiB0IDE5MTkgbyAtIE8gMjYgMCAwIFMKLStSIHQgMTkyMCBvIC0gTWF5IDIgMiAxIEQKLStSIHQgMTkyMCBvIC0gUyAyNiAwIDAgUwotK1IgdCAxOTIxIG8gLSBNYXkgMTUgMiAxIEQKLStSIHQgMTkyMSBvIC0gUyAxNSAyIDAgUwotK1IgdCAxOTIyIDE5MjMgLSBNYXkgU3VuPj04IDIgMSBECi0rUiB0IDE5MjIgMTkyNiAtIFMgU3VuPj0xNSAyIDAgUwotK1IgdCAxOTI0IDE5MjcgLSBNYXkgU3VuPj0xIDIgMSBECi0rUiB0IDE5MjcgMTkzMiAtIFMgbGFzdFN1biAyIDAgUwotK1IgdCAxOTI4IDE5MzEgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiB0IDE5MzIgbyAtIE1heSAxIDIgMSBECi0rUiB0IDE5MzMgMTk0MCAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIHQgMTkzMyBvIC0gTyAxIDIgMCBTCi0rUiB0IDE5MzQgMTkzOSAtIFMgbGFzdFN1biAyIDAgUwotK1IgdCAxOTQ1IDE5NDYgLSBTIGxhc3RTdW4gMiAwIFMKLStSIHQgMTk0NiBvIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgdCAxOTQ3IDE5NDkgLSBBcCBsYXN0U3VuIDAgMSBECi0rUiB0IDE5NDcgMTk0OCAtIFMgbGFzdFN1biAwIDAgUwotK1IgdCAxOTQ5IG8gLSBOIGxhc3RTdW4gMCAwIFMKLStSIHQgMTk1MCAxOTczIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgdCAxOTUwIG8gLSBOIGxhc3RTdW4gMiAwIFMKLStSIHQgMTk1MSAxOTU2IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiB0IDE5NTcgMTk3MyAtIE8gbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9Ub3JvbnRvIC01OjE3OjMyIC0gTE1UIDE4OTUKLS0tNSBBVSBFJXNUIDE5MTkKLS0tNSBBWSBFJXNUIDE5NDIgRiA5IDJzCi0tLTUgQVUgRSVzVCAxOTQ2Ci0tLTUgQVkgRSVzVCAxOTc0Ci0tLTUgQVUgRSVzVAotKy01IEMgRSVzVCAxOTE5Ci0rLTUgdCBFJXNUIDE5NDIgRiA5IDJzCi0rLTUgQyBFJXNUIDE5NDYKLSstNSB0IEUlc1QgMTk3NAotKy01IEMgRSVzVAotIFogQW1lcmljYS9UaHVuZGVyX0JheSAtNTo1NyAtIExNVCAxODk1Ci0gLTYgLSBDU1QgMTkxMAotIC01IC0gRVNUIDE5NDIKLS0tNSBBVSBFJXNUIDE5NzAKLS0tNSBBWSBFJXNUIDE5NzMKLSstNSBDIEUlc1QgMTk3MAotKy01IHQgRSVzVCAxOTczCi0gLTUgLSBFU1QgMTk3NAotLS01IEFVIEUlc1QKLSstNSBDIEUlc1QKLSBaIEFtZXJpY2EvTmlwaWdvbiAtNTo1Mzo0IC0gTE1UIDE4OTUKLS0tNSBBVSBFJXNUIDE5NDAgUyAyOQotKy01IEMgRSVzVCAxOTQwIFMgMjkKLSAtNSAxIEVEVCAxOTQyIEYgOSAycwotLS01IEFVIEUlc1QKLSstNSBDIEUlc1QKLSBaIEFtZXJpY2EvUmFpbnlfUml2ZXIgLTY6MTg6MTYgLSBMTVQgMTg5NQotLS02IEFVIEMlc1QgMTk0MCBTIDI5Ci0rLTYgQyBDJXNUIDE5NDAgUyAyOQotIC02IDEgQ0RUIDE5NDIgRiA5IDJzCi0tLTYgQVUgQyVzVAotKy02IEMgQyVzVAotIFogQW1lcmljYS9BdGlrb2thbiAtNjo2OjI4IC0gTE1UIDE4OTUKLS0tNiBBVSBDJXNUIDE5NDAgUyAyOQotKy02IEMgQyVzVCAxOTQwIFMgMjkKLSAtNiAxIENEVCAxOTQyIEYgOSAycwotLS02IEFVIEMlc1QgMTk0NSBTIDMwIDIKLSstNiBDIEMlc1QgMTk0NSBTIDMwIDIKLSAtNSAtIEVTVAotLVIgQVogMTkxNiBvIC0gQXAgMjMgMCAxIEQKLS1SIEFaIDE5MTYgbyAtIFMgMTcgMCAwIFMKLS1SIEFaIDE5MTggbyAtIEFwIDE0IDIgMSBECi0tUiBBWiAxOTE4IG8gLSBPIDI3IDIgMCBTCi0tUiBBWiAxOTM3IG8gLSBNYXkgMTYgMiAxIEQKLS1SIEFaIDE5MzcgbyAtIFMgMjYgMiAwIFMKLS1SIEFaIDE5NDIgbyAtIEYgOSAyIDEgVwotLVIgQVogMTk0NSBvIC0gQXUgMTQgMjN1IDEgUAotLVIgQVogMTk0NSBvIC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBWiAxOTQ2IG8gLSBNYXkgMTIgMiAxIEQKLS1SIEFaIDE5NDYgbyAtIE8gMTMgMiAwIFMKLS1SIEFaIDE5NDcgMTk0OSAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFaIDE5NDcgMTk0OSAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVogMTk1MCBvIC0gTWF5IDEgMiAxIEQKLS1SIEFaIDE5NTAgbyAtIFMgMzAgMiAwIFMKLS1SIEFaIDE5NTEgMTk2MCAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFaIDE5NTEgMTk1OCAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVogMTk1OSBvIC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBWiAxOTYwIG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFaIDE5NjMgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFaIDE5NjMgbyAtIFMgMjIgMiAwIFMKLS1SIEFaIDE5NjYgMTk4NiAtIEFwIGxhc3RTdW4gMnMgMSBECi0tUiBBWiAxOTY2IDIwMDUgLSBPIGxhc3RTdW4gMnMgMCBTCi0tUiBBWiAxOTg3IDIwMDUgLSBBcCBTdW4+PTEgMnMgMSBECi0rUiBXIDE5MTYgbyAtIEFwIDIzIDAgMSBECi0rUiBXIDE5MTYgbyAtIFMgMTcgMCAwIFMKLStSIFcgMTkxOCBvIC0gQXAgMTQgMiAxIEQKLStSIFcgMTkxOCBvIC0gTyAyNyAyIDAgUwotK1IgVyAxOTM3IG8gLSBNYXkgMTYgMiAxIEQKLStSIFcgMTkzNyBvIC0gUyAyNiAyIDAgUwotK1IgVyAxOTQyIG8gLSBGIDkgMiAxIFcKLStSIFcgMTk0NSBvIC0gQXUgMTQgMjN1IDEgUAotK1IgVyAxOTQ1IG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIFcgMTk0NiBvIC0gTWF5IDEyIDIgMSBECi0rUiBXIDE5NDYgbyAtIE8gMTMgMiAwIFMKLStSIFcgMTk0NyAxOTQ5IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgVyAxOTQ3IDE5NDkgLSBTIGxhc3RTdW4gMiAwIFMKLStSIFcgMTk1MCBvIC0gTWF5IDEgMiAxIEQKLStSIFcgMTk1MCBvIC0gUyAzMCAyIDAgUwotK1IgVyAxOTUxIDE5NjAgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBXIDE5NTEgMTk1OCAtIFMgbGFzdFN1biAyIDAgUwotK1IgVyAxOTU5IG8gLSBPIGxhc3RTdW4gMiAwIFMKLStSIFcgMTk2MCBvIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBXIDE5NjMgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIFcgMTk2MyBvIC0gUyAyMiAyIDAgUwotK1IgVyAxOTY2IDE5ODYgLSBBcCBsYXN0U3VuIDJzIDEgRAotK1IgVyAxOTY2IDIwMDUgLSBPIGxhc3RTdW4gMnMgMCBTCi0rUiBXIDE5ODcgMjAwNSAtIEFwIFN1bj49MSAycyAxIEQKLSBaIEFtZXJpY2EvV2lubmlwZWcgLTY6Mjg6MzYgLSBMTVQgMTg4NyBKdWwgMTYKLS0tNiBBWiBDJXNUIDIwMDYKLS0tNiBBVSBDJXNUCi0tUiBBYSAxOTE4IG8gLSBBcCAxNCAyIDEgRAotLVIgQWEgMTkxOCBvIC0gTyAyNyAyIDAgUwotLVIgQWEgMTkzMCAxOTM0IC0gTWF5IFN1bj49MSAwIDEgRAotLVIgQWEgMTkzMCAxOTM0IC0gTyBTdW4+PTEgMCAwIFMKLS1SIEFhIDE5MzcgMTk0MSAtIEFwIFN1bj49OCAwIDEgRAotLVIgQWEgMTkzNyBvIC0gTyBTdW4+PTggMCAwIFMKLS1SIEFhIDE5MzggbyAtIE8gU3VuPj0xIDAgMCBTCi0tUiBBYSAxOTM5IDE5NDEgLSBPIFN1bj49OCAwIDAgUwotLVIgQWEgMTk0MiBvIC0gRiA5IDIgMSBXCi0tUiBBYSAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0tUiBBYSAxOTQ1IG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFhIDE5NDYgbyAtIEFwIFN1bj49OCAyIDEgRAotLVIgQWEgMTk0NiBvIC0gTyBTdW4+PTggMiAwIFMKLS1SIEFhIDE5NDcgMTk1NyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFhIDE5NDcgMTk1NyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQWEgMTk1OSBvIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQWEgMTk1OSBvIC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBYiAxOTU3IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBYiAxOTU3IG8gLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFiIDE5NTkgMTk2MSAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFiIDE5NTkgbyAtIE8gbGFzdFN1biAyIDAgUwotLVIgQWIgMTk2MCAxOTYxIC0gUyBsYXN0U3VuIDIgMCBTCi0rLTYgVyBDJXNUIDIwMDYKLSstNiBDIEMlc1QKLStSIHIgMTkxOCBvIC0gQXAgMTQgMiAxIEQKLStSIHIgMTkxOCBvIC0gTyAyNyAyIDAgUwotK1IgciAxOTMwIDE5MzQgLSBNYXkgU3VuPj0xIDAgMSBECi0rUiByIDE5MzAgMTkzNCAtIE8gU3VuPj0xIDAgMCBTCi0rUiByIDE5MzcgMTk0MSAtIEFwIFN1bj49OCAwIDEgRAotK1IgciAxOTM3IG8gLSBPIFN1bj49OCAwIDAgUwotK1IgciAxOTM4IG8gLSBPIFN1bj49MSAwIDAgUwotK1IgciAxOTM5IDE5NDEgLSBPIFN1bj49OCAwIDAgUwotK1IgciAxOTQyIG8gLSBGIDkgMiAxIFcKLStSIHIgMTk0NSBvIC0gQXUgMTQgMjN1IDEgUAotK1IgciAxOTQ1IG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIHIgMTk0NiBvIC0gQXAgU3VuPj04IDIgMSBECi0rUiByIDE5NDYgbyAtIE8gU3VuPj04IDIgMCBTCi0rUiByIDE5NDcgMTk1NyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIHIgMTk0NyAxOTU3IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiByIDE5NTkgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIHIgMTk1OSBvIC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBTdyAxOTU3IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBTdyAxOTU3IG8gLSBPIGxhc3RTdW4gMiAwIFMKLStSIFN3IDE5NTkgMTk2MSAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIFN3IDE5NTkgbyAtIE8gbGFzdFN1biAyIDAgUwotK1IgU3cgMTk2MCAxOTYxIC0gUyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL1JlZ2luYSAtNjo1ODozNiAtIExNVCAxOTA1IFMKLS0tNyBBYSBNJXNUIDE5NjAgQXAgbGFzdFN1biAyCi0rLTcgciBNJXNUIDE5NjAgQXAgbGFzdFN1biAyCi0gLTYgLSBDU1QKLSBaIEFtZXJpY2EvU3dpZnRfQ3VycmVudCAtNzoxMToyMCAtIExNVCAxOTA1IFMKLS0tNyBBVSBNJXNUIDE5NDYgQXAgbGFzdFN1biAyCi0tLTcgQWEgTSVzVCAxOTUwCi0tLTcgQWIgTSVzVCAxOTcyIEFwIGxhc3RTdW4gMgotKy03IEMgTSVzVCAxOTQ2IEFwIGxhc3RTdW4gMgotKy03IHIgTSVzVCAxOTUwCi0rLTcgU3cgTSVzVCAxOTcyIEFwIGxhc3RTdW4gMgotIC02IC0gQ1NUCi0tUiBBYyAxOTE4IDE5MTkgLSBBcCBTdW4+PTggMiAxIEQKLS1SIEFjIDE5MTggbyAtIE8gMjcgMiAwIFMKLS1SIEFjIDE5MTkgbyAtIE1heSAyNyAyIDAgUwotLVIgQWMgMTkyMCAxOTIzIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQWMgMTkyMCBvIC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBYyAxOTIxIDE5MjMgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFjIDE5NDIgbyAtIEYgOSAyIDEgVwotLVIgQWMgMTk0NSBvIC0gQXUgMTQgMjN1IDEgUAotLVIgQWMgMTk0NSBvIC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBYyAxOTQ3IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBYyAxOTQ3IG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFjIDE5NjcgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFjIDE5NjcgbyAtIE8gbGFzdFN1biAyIDAgUwotLVIgQWMgMTk2OSBvIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQWMgMTk2OSBvIC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBYyAxOTcyIDE5ODYgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBYyAxOTcyIDIwMDYgLSBPIGxhc3RTdW4gMiAwIFMKLStSIEVkIDE5MTggMTkxOSAtIEFwIFN1bj49OCAyIDEgRAotK1IgRWQgMTkxOCBvIC0gTyAyNyAyIDAgUwotK1IgRWQgMTkxOSBvIC0gTWF5IDI3IDIgMCBTCi0rUiBFZCAxOTIwIDE5MjMgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBFZCAxOTIwIG8gLSBPIGxhc3RTdW4gMiAwIFMKLStSIEVkIDE5MjEgMTkyMyAtIFMgbGFzdFN1biAyIDAgUwotK1IgRWQgMTk0MiBvIC0gRiA5IDIgMSBXCi0rUiBFZCAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0rUiBFZCAxOTQ1IG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIEVkIDE5NDcgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIEVkIDE5NDcgbyAtIFMgbGFzdFN1biAyIDAgUwotK1IgRWQgMTk2NyBvIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgRWQgMTk2NyBvIC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBFZCAxOTY5IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBFZCAxOTY5IG8gLSBPIGxhc3RTdW4gMiAwIFMKLStSIEVkIDE5NzIgMTk4NiAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIEVkIDE5NzIgMjAwNiAtIE8gbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9FZG1vbnRvbiAtNzozMzo1MiAtIExNVCAxOTA2IFMKLS0tNyBBYyBNJXNUIDE5ODcKLS0tNyBBVSBNJXNUCi0tUiBBZCAxOTE4IG8gLSBBcCAxNCAyIDEgRAotLVIgQWQgMTkxOCBvIC0gTyAyNyAyIDAgUwotLVIgQWQgMTk0MiBvIC0gRiA5IDIgMSBXCi0tUiBBZCAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0tUiBBZCAxOTQ1IG8gLSBTIDMwIDIgMCBTCi0tUiBBZCAxOTQ2IDE5ODYgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBZCAxOTQ2IG8gLSBPIDEzIDIgMCBTCi0tUiBBZCAxOTQ3IDE5NjEgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFkIDE5NjIgMjAwNiAtIE8gbGFzdFN1biAyIDAgUwotKy03IEVkIE0lc1QgMTk4NwotKy03IEMgTSVzVAotK1IgVmEgMTkxOCBvIC0gQXAgMTQgMiAxIEQKLStSIFZhIDE5MTggbyAtIE8gMjcgMiAwIFMKLStSIFZhIDE5NDIgbyAtIEYgOSAyIDEgVwotK1IgVmEgMTk0NSBvIC0gQXUgMTQgMjN1IDEgUAotK1IgVmEgMTk0NSBvIC0gUyAzMCAyIDAgUwotK1IgVmEgMTk0NiAxOTg2IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgVmEgMTk0NiBvIC0gTyAxMyAyIDAgUwotK1IgVmEgMTk0NyAxOTYxIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBWYSAxOTYyIDIwMDYgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvVmFuY291dmVyIC04OjEyOjI4IC0gTE1UIDE4ODQKLS0tOCBBZCBQJXNUIDE5ODcKLS0tOCBBVSBQJXNUCi0rLTggVmEgUCVzVCAxOTg3Ci0rLTggQyBQJXNUCi0gWiBBbWVyaWNhL0Rhd3Nvbl9DcmVlayAtODowOjU2IC0gTE1UIDE4ODQKLS0tOCBBVSBQJXNUIDE5NDcKLS0tOCBBZCBQJXNUIDE5NzIgQXUgMzAgMgotKy04IEMgUCVzVCAxOTQ3Ci0rLTggVmEgUCVzVCAxOTcyIEF1IDMwIDIKLSAtNyAtIE1TVAotIFogQW1lcmljYS9Gb3J0X05lbHNvbiAtODoxMDo0NyAtIExNVCAxODg0Ci0tLTggQWQgUCVzVCAxOTQ2Ci0rLTggVmEgUCVzVCAxOTQ2Ci0gLTggLSBQU1QgMTk0NwotLS04IEFkIFAlc1QgMTk4NwotLS04IEFVIFAlc1QgMjAxNSBNYXIgOCAyCi0rLTggVmEgUCVzVCAxOTg3Ci0rLTggQyBQJXNUIDIwMTUgTWFyIDggMgotIC03IC0gTVNUCi0gWiBBbWVyaWNhL0NyZXN0b24gLTc6NDY6NCAtIExNVCAxODg0Ci0gLTcgLSBNU1QgMTkxNiBPCi0gLTggLSBQU1QgMTkxOCBKdW4gMgotIC03IC0gTVNUCi0tUiBBZSAxOTE4IG8gLSBBcCAxNCAyIDEgRAotLVIgQWUgMTkxOCBvIC0gTyAyNyAyIDAgUwotLVIgQWUgMTkxOSBvIC0gTWF5IDI1IDIgMSBECi0tUiBBZSAxOTE5IG8gLSBOIDEgMCAwIFMKLS1SIEFlIDE5NDIgbyAtIEYgOSAyIDEgVwotLVIgQWUgMTk0NSBvIC0gQXUgMTQgMjN1IDEgUAotLVIgQWUgMTk0NSBvIC0gUyAzMCAyIDAgUwotLVIgQWUgMTk2NSBvIC0gQXAgbGFzdFN1biAwIDIgREQKLS1SIEFlIDE5NjUgbyAtIE8gbGFzdFN1biAyIDAgUwotLVIgQWUgMTk4MCAxOTg2IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQWUgMTk4MCAyMDA2IC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBZSAxOTg3IDIwMDYgLSBBcCBTdW4+PTEgMiAxIEQKLStSIFkgMTkxOCBvIC0gQXAgMTQgMiAxIEQKLStSIFkgMTkxOCBvIC0gTyAyNyAyIDAgUwotK1IgWSAxOTE5IG8gLSBNYXkgMjUgMiAxIEQKLStSIFkgMTkxOSBvIC0gTiAxIDAgMCBTCi0rUiBZIDE5NDIgbyAtIEYgOSAyIDEgVwotK1IgWSAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0rUiBZIDE5NDUgbyAtIFMgMzAgMiAwIFMKLStSIFkgMTk2NSBvIC0gQXAgbGFzdFN1biAwIDIgREQKLStSIFkgMTk2NSBvIC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBZIDE5ODAgMTk4NiAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIFkgMTk4MCAyMDA2IC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBZIDE5ODcgMjAwNiAtIEFwIFN1bj49MSAyIDEgRAotIFogQW1lcmljYS9QYW5nbmlydHVuZyAwIC0gLTAwIDE5MjEKLS0tNCBBZSBBJXNUIDE5OTUgQXAgU3VuPj0xIDIKLS0tNSBBVSBFJXNUIDE5OTkgTyAzMSAyCi0tLTYgQVUgQyVzVCAyMDAwIE8gMjkgMgotLS01IEFVIEUlc1QKLSstNCBZIEElc1QgMTk5NSBBcCBTdW4+PTEgMgotKy01IEMgRSVzVCAxOTk5IE8gMzEgMgotKy02IEMgQyVzVCAyMDAwIE8gMjkgMgotKy01IEMgRSVzVAotIFogQW1lcmljYS9JcWFsdWl0IDAgLSAtMDAgMTk0MiBBdQotLS01IEFlIEUlc1QgMTk5OSBPIDMxIDIKLS0tNiBBVSBDJXNUIDIwMDAgTyAyOSAyCi0tLTUgQVUgRSVzVAotKy01IFkgRSVzVCAxOTk5IE8gMzEgMgotKy02IEMgQyVzVCAyMDAwIE8gMjkgMgotKy01IEMgRSVzVAotIFogQW1lcmljYS9SZXNvbHV0ZSAwIC0gLTAwIDE5NDcgQXUgMzEKLS0tNiBBZSBDJXNUIDIwMDAgTyAyOSAyCi0rLTYgWSBDJXNUIDIwMDAgTyAyOSAyCi0gLTUgLSBFU1QgMjAwMSBBcCAxIDMKLS0tNiBBVSBDJXNUIDIwMDYgTyAyOSAyCi0rLTYgQyBDJXNUIDIwMDYgTyAyOSAyCi0gLTUgLSBFU1QgMjAwNyBNYXIgMTEgMwotLS02IEFVIEMlc1QKLSstNiBDIEMlc1QKLSBaIEFtZXJpY2EvUmFua2luX0lubGV0IDAgLSAtMDAgMTk1NwotLS02IEFlIEMlc1QgMjAwMCBPIDI5IDIKLSstNiBZIEMlc1QgMjAwMCBPIDI5IDIKLSAtNSAtIEVTVCAyMDAxIEFwIDEgMwotLS02IEFVIEMlc1QKLSstNiBDIEMlc1QKLSBaIEFtZXJpY2EvQ2FtYnJpZGdlX0JheSAwIC0gLTAwIDE5MjAKLS0tNyBBZSBNJXNUIDE5OTkgTyAzMSAyCi0tLTYgQVUgQyVzVCAyMDAwIE8gMjkgMgotKy03IFkgTSVzVCAxOTk5IE8gMzEgMgotKy02IEMgQyVzVCAyMDAwIE8gMjkgMgotIC01IC0gRVNUIDIwMDAgTiA1Ci0gLTYgLSBDU1QgMjAwMSBBcCAxIDMKLS0tNyBBVSBNJXNUCi0rLTcgQyBNJXNUCi0gWiBBbWVyaWNhL1llbGxvd2tuaWZlIDAgLSAtMDAgMTkzNQotLS03IEFlIE0lc1QgMTk4MAotLS03IEFVIE0lc1QKLSstNyBZIE0lc1QgMTk4MAotKy03IEMgTSVzVAotIFogQW1lcmljYS9JbnV2aWsgMCAtIC0wMCAxOTUzCi0tLTggQWUgUCVzVCAxOTc5IEFwIGxhc3RTdW4gMgotLS03IEFlIE0lc1QgMTk4MAotLS03IEFVIE0lc1QKLSstOCBZIFAlc1QgMTk3OSBBcCBsYXN0U3VuIDIKLSstNyBZIE0lc1QgMTk4MAotKy03IEMgTSVzVAotIFogQW1lcmljYS9XaGl0ZWhvcnNlIC05OjA6MTIgLSBMTVQgMTkwMCBBdSAyMAotLS05IEFlIFklc1QgMTk2NyBNYXkgMjgKLS0tOCBBZSBQJXNUIDE5ODAKLS0tOCBBVSBQJXNUCi0rLTkgWSBZJXNUIDE5NjcgTWF5IDI4Ci0rLTggWSBQJXNUIDE5ODAKLSstOCBDIFAlc1QKLSBaIEFtZXJpY2EvRGF3c29uIC05OjE3OjQwIC0gTE1UIDE5MDAgQXUgMjAKLS0tOSBBZSBZJXNUIDE5NzMgTyAyOAotLS04IEFlIFAlc1QgMTk4MAotLS04IEFVIFAlc1QKLS1SIEFmIDE5MzkgbyAtIEYgNSAwIDEgRAotLVIgQWYgMTkzOSBvIC0gSnVuIDI1IDAgMCBTCi0tUiBBZiAxOTQwIG8gLSBEIDkgMCAxIEQKLS1SIEFmIDE5NDEgbyAtIEFwIDEgMCAwIFMKLS1SIEFmIDE5NDMgbyAtIEQgMTYgMCAxIFcKLS1SIEFmIDE5NDQgbyAtIE1heSAxIDAgMCBTCi0tUiBBZiAxOTUwIG8gLSBGIDEyIDAgMSBECi0tUiBBZiAxOTUwIG8gLSBKdWwgMzAgMCAwIFMKLS1SIEFmIDE5OTYgMjAwMCAtIEFwIFN1bj49MSAyIDEgRAotLVIgQWYgMTk5NiAyMDAwIC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBZiAyMDAxIG8gLSBNYXkgU3VuPj0xIDIgMSBECi0tUiBBZiAyMDAxIG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFmIDIwMDIgbWEgLSBBcCBTdW4+PTEgMiAxIEQKLS1SIEFmIDIwMDIgbWEgLSBPIGxhc3RTdW4gMiAwIFMKLSstOSBZIFklc1QgMTk3MyBPIDI4Ci0rLTggWSBQJXNUIDE5ODAKLSstOCBDIFAlc1QKLStSIG0gMTkzOSBvIC0gRiA1IDAgMSBECi0rUiBtIDE5MzkgbyAtIEp1biAyNSAwIDAgUwotK1IgbSAxOTQwIG8gLSBEIDkgMCAxIEQKLStSIG0gMTk0MSBvIC0gQXAgMSAwIDAgUwotK1IgbSAxOTQzIG8gLSBEIDE2IDAgMSBXCi0rUiBtIDE5NDQgbyAtIE1heSAxIDAgMCBTCi0rUiBtIDE5NTAgbyAtIEYgMTIgMCAxIEQKLStSIG0gMTk1MCBvIC0gSnVsIDMwIDAgMCBTCi0rUiBtIDE5OTYgMjAwMCAtIEFwIFN1bj49MSAyIDEgRAotK1IgbSAxOTk2IDIwMDAgLSBPIGxhc3RTdW4gMiAwIFMKLStSIG0gMjAwMSBvIC0gTWF5IFN1bj49MSAyIDEgRAotK1IgbSAyMDAxIG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIG0gMjAwMiBtYSAtIEFwIFN1bj49MSAyIDEgRAotK1IgbSAyMDAyIG1hIC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0NhbmN1biAtNTo0Nzo0IC0gTE1UIDE5MjIgSmEgMSAwOjEyOjU2Ci0gLTYgLSBDU1QgMTk4MSBEIDIzCi0tLTUgQWYgRSVzVCAxOTk4IEF1IDIgMgotLS02IEFmIEMlc1QgMjAxNSBGIDEgMgotKy01IG0gRSVzVCAxOTk4IEF1IDIgMgotKy02IG0gQyVzVCAyMDE1IEYgMSAyCi0gLTUgLSBFU1QKLSBaIEFtZXJpY2EvTWVyaWRhIC01OjU4OjI4IC0gTE1UIDE5MjIgSmEgMSAwOjE6MzIKLSAtNiAtIENTVCAxOTgxIEQgMjMKLSAtNSAtIEVTVCAxOTgyIEQgMgotLS02IEFmIEMlc1QKLSstNiBtIEMlc1QKLSBaIEFtZXJpY2EvTWF0YW1vcm9zIC02OjQwIC0gTE1UIDE5MjEgRCAzMSAyMzoyMAotIC02IC0gQ1NUIDE5ODgKLS0tNiBBRiBDJXNUIDE5ODkKLS0tNiBBZiBDJXNUIDIwMTAKLS0tNiBBRiBDJXNUCi0rLTYgdSBDJXNUIDE5ODkKLSstNiBtIEMlc1QgMjAxMAotKy02IHUgQyVzVAotIFogQW1lcmljYS9Nb250ZXJyZXkgLTY6NDE6MTYgLSBMTVQgMTkyMSBEIDMxIDIzOjE4OjQ0Ci0gLTYgLSBDU1QgMTk4OAotLS02IEFGIEMlc1QgMTk4OQotLS02IEFmIEMlc1QKLSstNiB1IEMlc1QgMTk4OQotKy02IG0gQyVzVAotIFogQW1lcmljYS9NZXhpY29fQ2l0eSAtNjozNjozNiAtIExNVCAxOTIyIEphIDEgMDoyMzoyNAotIC03IC0gTVNUIDE5MjcgSnVuIDEwIDIzCi0gLTYgLSBDU1QgMTkzMCBOIDE1Ci0gLTcgLSBNU1QgMTkzMSBNYXkgMSAyMwotIC02IC0gQ1NUIDE5MzEgTwotIC03IC0gTVNUIDE5MzIgQXAKLS0tNiBBZiBDJXNUIDIwMDEgUyAzMCAyCi0rLTYgbSBDJXNUIDIwMDEgUyAzMCAyCi0gLTYgLSBDU1QgMjAwMiBGIDIwCi0tLTYgQWYgQyVzVAotKy02IG0gQyVzVAotIFogQW1lcmljYS9PamluYWdhIC02OjU3OjQwIC0gTE1UIDE5MjIgSmEgMSAwOjI6MjAKLSAtNyAtIE1TVCAxOTI3IEp1biAxMCAyMwotIC02IC0gQ1NUIDE5MzAgTiAxNQotQEAgLTMyMTUsMTAgKzMyMzIsMTAgQEAgWiBBbWVyaWNhL09qaW5hZ2EgLTY6NTc6NDAgLSBMTVQgMTkyMiBKYSAxIDA6MjoyMAotIC02IC0gQ1NUIDE5MzEgTwotIC03IC0gTVNUIDE5MzIgQXAKLSAtNiAtIENTVCAxOTk2Ci0tLTYgQWYgQyVzVCAxOTk4Ci0rLTYgbSBDJXNUIDE5OTgKLSAtNiAtIENTVCAxOTk4IEFwIFN1bj49MSAzCi0tLTcgQWYgTSVzVCAyMDEwCi0tLTcgQUYgTSVzVAotKy03IG0gTSVzVCAyMDEwCi0rLTcgdSBNJXNUCi0gWiBBbWVyaWNhL0NoaWh1YWh1YSAtNzo0OjIwIC0gTE1UIDE5MjEgRCAzMSAyMzo1NTo0MAotIC03IC0gTVNUIDE5MjcgSnVuIDEwIDIzCi0gLTYgLSBDU1QgMTkzMCBOIDE1Ci1AQCAtMzIyNiw5ICszMjQzLDkgQEAgWiBBbWVyaWNhL0NoaWh1YWh1YSAtNzo0OjIwIC0gTE1UIDE5MjEgRCAzMSAyMzo1NTo0MAotIC02IC0gQ1NUIDE5MzEgTwotIC03IC0gTVNUIDE5MzIgQXAKLSAtNiAtIENTVCAxOTk2Ci0tLTYgQWYgQyVzVCAxOTk4Ci0rLTYgbSBDJXNUIDE5OTgKLSAtNiAtIENTVCAxOTk4IEFwIFN1bj49MSAzCi0tLTcgQWYgTSVzVAotKy03IG0gTSVzVAotIFogQW1lcmljYS9IZXJtb3NpbGxvIC03OjIzOjUyIC0gTE1UIDE5MjEgRCAzMSAyMzozNjo4Ci0gLTcgLSBNU1QgMTkyNyBKdW4gMTAgMjMKLSAtNiAtIENTVCAxOTMwIE4gMTUKLUBAIC0zMjM4LDcgKzMyNTUsNyBAQCBaIEFtZXJpY2EvSGVybW9zaWxsbyAtNzoyMzo1MiAtIExNVCAxOTIxIEQgMzEgMjM6MzY6OAotIC02IC0gQ1NUIDE5NDIgQXAgMjQKLSAtNyAtIE1TVCAxOTQ5IEphIDE0Ci0gLTggLSBQU1QgMTk3MAotLS03IEFmIE0lc1QgMTk5OQotKy03IG0gTSVzVCAxOTk5Ci0gLTcgLSBNU1QKLSBaIEFtZXJpY2EvTWF6YXRsYW4gLTc6NTo0MCAtIExNVCAxOTIxIEQgMzEgMjM6NTQ6MjAKLSAtNyAtIE1TVCAxOTI3IEp1biAxMCAyMwotQEAgLTMyNDksNyArMzI2Niw3IEBAIFogQW1lcmljYS9NYXphdGxhbiAtNzo1OjQwIC0gTE1UIDE5MjEgRCAzMSAyMzo1NDoyMAotIC02IC0gQ1NUIDE5NDIgQXAgMjQKLSAtNyAtIE1TVCAxOTQ5IEphIDE0Ci0gLTggLSBQU1QgMTk3MAotLS03IEFmIE0lc1QKLSstNyBtIE0lc1QKLSBaIEFtZXJpY2EvQmFoaWFfQmFuZGVyYXMgLTc6MSAtIExNVCAxOTIxIEQgMzEgMjM6NTkKLSAtNyAtIE1TVCAxOTI3IEp1biAxMCAyMwotIC02IC0gQ1NUIDE5MzAgTiAxNQotQEAgLTMyNTksOCArMzI3Niw4IEBAIFogQW1lcmljYS9CYWhpYV9CYW5kZXJhcyAtNzoxIC0gTE1UIDE5MjEgRCAzMSAyMzo1OQotIC02IC0gQ1NUIDE5NDIgQXAgMjQKLSAtNyAtIE1TVCAxOTQ5IEphIDE0Ci0gLTggLSBQU1QgMTk3MAotLS03IEFmIE0lc1QgMjAxMCBBcCA0IDIKLS0tNiBBZiBDJXNUCi0rLTcgbSBNJXNUIDIwMTAgQXAgNCAyCi0rLTYgbSBDJXNUCi0gWiBBbWVyaWNhL1RpanVhbmEgLTc6NDg6NCAtIExNVCAxOTIyIEphIDEgMDoxMTo1NgotIC03IC0gTVNUIDE5MjQKLSAtOCAtIFBTVCAxOTI3IEp1biAxMCAyMwotQEAgLTMyNzMsMzE1ICszMjkwLDMxNSBAQCBaIEFtZXJpY2EvVGlqdWFuYSAtNzo0ODo0IC0gTE1UIDE5MjIgSmEgMSAwOjExOjU2Ci0gLTggLSBQU1QgMTk0OCBBcCA1Ci0gLTggMSBQRFQgMTk0OSBKYSAxNAotIC04IC0gUFNUIDE5NTQKLS0tOCBBSiBQJXNUIDE5NjEKLSstOCBDQSBQJXNUIDE5NjEKLSAtOCAtIFBTVCAxOTc2Ci0tLTggQUYgUCVzVCAxOTk2Ci0tLTggQWYgUCVzVCAyMDAxCi0tLTggQUYgUCVzVCAyMDAyIEYgMjAKLS0tOCBBZiBQJXNUIDIwMTAKLS0tOCBBRiBQJXNUCi0tUiBBZyAxOTY0IDE5NzUgLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFnIDE5NjQgMTk3NSAtIEFwIGxhc3RTdW4gMiAxIEQKLSstOCB1IFAlc1QgMTk5NgotKy04IG0gUCVzVCAyMDAxCi0rLTggdSBQJXNUIDIwMDIgRiAyMAotKy04IG0gUCVzVCAyMDEwCi0rLTggdSBQJXNUCi0rUiBCUyAxOTY0IDE5NzUgLSBPIGxhc3RTdW4gMiAwIFMKLStSIEJTIDE5NjQgMTk3NSAtIEFwIGxhc3RTdW4gMiAxIEQKLSBaIEFtZXJpY2EvTmFzc2F1IC01Ojk6MzAgLSBMTVQgMTkxMiBNYXIgMgotLS01IEFnIEUlc1QgMTk3NgotLS01IEFGIEUlc1QKLS1SIEFoIDE5NzcgbyAtIEp1biAxMiAyIDEgRAotLVIgQWggMTk3NyAxOTc4IC0gTyBTdW4+PTEgMiAwIFMKLS1SIEFoIDE5NzggMTk4MCAtIEFwIFN1bj49MTUgMiAxIEQKLS1SIEFoIDE5NzkgbyAtIFMgMzAgMiAwIFMKLS1SIEFoIDE5ODAgbyAtIFMgMjUgMiAwIFMKLSstNSBCUyBFJXNUIDE5NzYKLSstNSB1IEUlc1QKLStSIEJCIDE5NzcgbyAtIEp1biAxMiAyIDEgRAotK1IgQkIgMTk3NyAxOTc4IC0gTyBTdW4+PTEgMiAwIFMKLStSIEJCIDE5NzggMTk4MCAtIEFwIFN1bj49MTUgMiAxIEQKLStSIEJCIDE5NzkgbyAtIFMgMzAgMiAwIFMKLStSIEJCIDE5ODAgbyAtIFMgMjUgMiAwIFMKLSBaIEFtZXJpY2EvQmFyYmFkb3MgLTM6NTg6MjkgLSBMTVQgMTkyNAotIC0zOjU4OjI5IC0gQk1UIDE5MzIKLS0tNCBBaCBBJXNUCi0tUiBBaSAxOTE4IDE5NDIgLSBPIFN1bj49MiAwIDA6MzAgLTA1MzAKLS1SIEFpIDE5MTkgMTk0MyAtIEYgU3VuPj05IDAgMCBDU1QKLS1SIEFpIDE5NzMgbyAtIEQgNSAwIDEgQ0RUCi0tUiBBaSAxOTc0IG8gLSBGIDkgMCAwIENTVAotLVIgQWkgMTk4MiBvIC0gRCAxOCAwIDEgQ0RUCi0tUiBBaSAxOTgzIG8gLSBGIDEyIDAgMCBDU1QKLSstNCBCQiBBJXNUCi0rUiBCWiAxOTE4IDE5NDIgLSBPIFN1bj49MiAwIDA6MzAgLTA1MzAKLStSIEJaIDE5MTkgMTk0MyAtIEYgU3VuPj05IDAgMCBDU1QKLStSIEJaIDE5NzMgbyAtIEQgNSAwIDEgQ0RUCi0rUiBCWiAxOTc0IG8gLSBGIDkgMCAwIENTVAotK1IgQlogMTk4MiBvIC0gRCAxOCAwIDEgQ0RUCi0rUiBCWiAxOTgzIG8gLSBGIDEyIDAgMCBDU1QKLSBaIEFtZXJpY2EvQmVsaXplIC01OjUyOjQ4IC0gTE1UIDE5MTIgQXAKLS0tNiBBaSAlcwotKy02IEJaICVzCi0gWiBBdGxhbnRpYy9CZXJtdWRhIC00OjE5OjE4IC0gTE1UIDE5MzAgSmEgMSAyCi0gLTQgLSBBU1QgMTk3NCBBcCAyOCAyCi0tLTQgQVUgQSVzVCAxOTc2Ci0tLTQgQUYgQSVzVAotLVIgQWogMTk3OSAxOTgwIC0gRiBsYXN0U3VuIDAgMSBECi0tUiBBaiAxOTc5IDE5ODAgLSBKdW4gU3VuPj0xIDAgMCBTCi0tUiBBaiAxOTkxIDE5OTIgLSBKYSBTYXQ+PTE1IDAgMSBECi0tUiBBaiAxOTkxIG8gLSBKdWwgMSAwIDAgUwotLVIgQWogMTk5MiBvIC0gTWFyIDE1IDAgMCBTCi0rLTQgQyBBJXNUIDE5NzYKLSstNCB1IEElc1QKLStSIENSIDE5NzkgMTk4MCAtIEYgbGFzdFN1biAwIDEgRAotK1IgQ1IgMTk3OSAxOTgwIC0gSnVuIFN1bj49MSAwIDAgUwotK1IgQ1IgMTk5MSAxOTkyIC0gSmEgU2F0Pj0xNSAwIDEgRAotK1IgQ1IgMTk5MSBvIC0gSnVsIDEgMCAwIFMKLStSIENSIDE5OTIgbyAtIE1hciAxNSAwIDAgUwotIFogQW1lcmljYS9Db3N0YV9SaWNhIC01OjM2OjEzIC0gTE1UIDE4OTAKLSAtNTozNjoxMyAtIFNKTVQgMTkyMSBKYSAxNQotLS02IEFqIEMlc1QKLS1SIEFrIDE5MjggbyAtIEp1biAxMCAwIDEgRAotLVIgQWsgMTkyOCBvIC0gTyAxMCAwIDAgUwotLVIgQWsgMTk0MCAxOTQyIC0gSnVuIFN1bj49MSAwIDEgRAotLVIgQWsgMTk0MCAxOTQyIC0gUyBTdW4+PTEgMCAwIFMKLS1SIEFrIDE5NDUgMTk0NiAtIEp1biBTdW4+PTEgMCAxIEQKLS1SIEFrIDE5NDUgMTk0NiAtIFMgU3VuPj0xIDAgMCBTCi0tUiBBayAxOTY1IG8gLSBKdW4gMSAwIDEgRAotLVIgQWsgMTk2NSBvIC0gUyAzMCAwIDAgUwotLVIgQWsgMTk2NiBvIC0gTWF5IDI5IDAgMSBECi0tUiBBayAxOTY2IG8gLSBPIDIgMCAwIFMKLS1SIEFrIDE5NjcgbyAtIEFwIDggMCAxIEQKLS1SIEFrIDE5NjcgMTk2OCAtIFMgU3VuPj04IDAgMCBTCi0tUiBBayAxOTY4IG8gLSBBcCAxNCAwIDEgRAotLVIgQWsgMTk2OSAxOTc3IC0gQXAgbGFzdFN1biAwIDEgRAotLVIgQWsgMTk2OSAxOTcxIC0gTyBsYXN0U3VuIDAgMCBTCi0tUiBBayAxOTcyIDE5NzQgLSBPIDggMCAwIFMKLS1SIEFrIDE5NzUgMTk3NyAtIE8gbGFzdFN1biAwIDAgUwotLVIgQWsgMTk3OCBvIC0gTWF5IDcgMCAxIEQKLS1SIEFrIDE5NzggMTk5MCAtIE8gU3VuPj04IDAgMCBTCi0tUiBBayAxOTc5IDE5ODAgLSBNYXIgU3VuPj0xNSAwIDEgRAotLVIgQWsgMTk4MSAxOTg1IC0gTWF5IFN1bj49NSAwIDEgRAotLVIgQWsgMTk4NiAxOTg5IC0gTWFyIFN1bj49MTQgMCAxIEQKLS1SIEFrIDE5OTAgMTk5NyAtIEFwIFN1bj49MSAwIDEgRAotLVIgQWsgMTk5MSAxOTk1IC0gTyBTdW4+PTggMHMgMCBTCi0tUiBBayAxOTk2IG8gLSBPIDYgMHMgMCBTCi0tUiBBayAxOTk3IG8gLSBPIDEyIDBzIDAgUwotLVIgQWsgMTk5OCAxOTk5IC0gTWFyIGxhc3RTdW4gMHMgMSBECi0tUiBBayAxOTk4IDIwMDMgLSBPIGxhc3RTdW4gMHMgMCBTCi0tUiBBayAyMDAwIDIwMDMgLSBBcCBTdW4+PTEgMHMgMSBECi0tUiBBayAyMDA0IG8gLSBNYXIgbGFzdFN1biAwcyAxIEQKLS1SIEFrIDIwMDYgMjAxMCAtIE8gbGFzdFN1biAwcyAwIFMKLS1SIEFrIDIwMDcgbyAtIE1hciBTdW4+PTggMHMgMSBECi0tUiBBayAyMDA4IG8gLSBNYXIgU3VuPj0xNSAwcyAxIEQKLS1SIEFrIDIwMDkgMjAxMCAtIE1hciBTdW4+PTggMHMgMSBECi0tUiBBayAyMDExIG8gLSBNYXIgU3VuPj0xNSAwcyAxIEQKLS1SIEFrIDIwMTEgbyAtIE4gMTMgMHMgMCBTCi0tUiBBayAyMDEyIG8gLSBBcCAxIDBzIDEgRAotLVIgQWsgMjAxMiBtYSAtIE4gU3VuPj0xIDBzIDAgUwotLVIgQWsgMjAxMyBtYSAtIE1hciBTdW4+PTggMHMgMSBECi0rLTYgQ1IgQyVzVAotK1IgUSAxOTI4IG8gLSBKdW4gMTAgMCAxIEQKLStSIFEgMTkyOCBvIC0gTyAxMCAwIDAgUwotK1IgUSAxOTQwIDE5NDIgLSBKdW4gU3VuPj0xIDAgMSBECi0rUiBRIDE5NDAgMTk0MiAtIFMgU3VuPj0xIDAgMCBTCi0rUiBRIDE5NDUgMTk0NiAtIEp1biBTdW4+PTEgMCAxIEQKLStSIFEgMTk0NSAxOTQ2IC0gUyBTdW4+PTEgMCAwIFMKLStSIFEgMTk2NSBvIC0gSnVuIDEgMCAxIEQKLStSIFEgMTk2NSBvIC0gUyAzMCAwIDAgUwotK1IgUSAxOTY2IG8gLSBNYXkgMjkgMCAxIEQKLStSIFEgMTk2NiBvIC0gTyAyIDAgMCBTCi0rUiBRIDE5NjcgbyAtIEFwIDggMCAxIEQKLStSIFEgMTk2NyAxOTY4IC0gUyBTdW4+PTggMCAwIFMKLStSIFEgMTk2OCBvIC0gQXAgMTQgMCAxIEQKLStSIFEgMTk2OSAxOTc3IC0gQXAgbGFzdFN1biAwIDEgRAotK1IgUSAxOTY5IDE5NzEgLSBPIGxhc3RTdW4gMCAwIFMKLStSIFEgMTk3MiAxOTc0IC0gTyA4IDAgMCBTCi0rUiBRIDE5NzUgMTk3NyAtIE8gbGFzdFN1biAwIDAgUwotK1IgUSAxOTc4IG8gLSBNYXkgNyAwIDEgRAotK1IgUSAxOTc4IDE5OTAgLSBPIFN1bj49OCAwIDAgUwotK1IgUSAxOTc5IDE5ODAgLSBNYXIgU3VuPj0xNSAwIDEgRAotK1IgUSAxOTgxIDE5ODUgLSBNYXkgU3VuPj01IDAgMSBECi0rUiBRIDE5ODYgMTk4OSAtIE1hciBTdW4+PTE0IDAgMSBECi0rUiBRIDE5OTAgMTk5NyAtIEFwIFN1bj49MSAwIDEgRAotK1IgUSAxOTkxIDE5OTUgLSBPIFN1bj49OCAwcyAwIFMKLStSIFEgMTk5NiBvIC0gTyA2IDBzIDAgUwotK1IgUSAxOTk3IG8gLSBPIDEyIDBzIDAgUwotK1IgUSAxOTk4IDE5OTkgLSBNYXIgbGFzdFN1biAwcyAxIEQKLStSIFEgMTk5OCAyMDAzIC0gTyBsYXN0U3VuIDBzIDAgUwotK1IgUSAyMDAwIDIwMDMgLSBBcCBTdW4+PTEgMHMgMSBECi0rUiBRIDIwMDQgbyAtIE1hciBsYXN0U3VuIDBzIDEgRAotK1IgUSAyMDA2IDIwMTAgLSBPIGxhc3RTdW4gMHMgMCBTCi0rUiBRIDIwMDcgbyAtIE1hciBTdW4+PTggMHMgMSBECi0rUiBRIDIwMDggbyAtIE1hciBTdW4+PTE1IDBzIDEgRAotK1IgUSAyMDA5IDIwMTAgLSBNYXIgU3VuPj04IDBzIDEgRAotK1IgUSAyMDExIG8gLSBNYXIgU3VuPj0xNSAwcyAxIEQKLStSIFEgMjAxMSBvIC0gTiAxMyAwcyAwIFMKLStSIFEgMjAxMiBvIC0gQXAgMSAwcyAxIEQKLStSIFEgMjAxMiBtYSAtIE4gU3VuPj0xIDBzIDAgUwotK1IgUSAyMDEzIG1hIC0gTWFyIFN1bj49OCAwcyAxIEQKLSBaIEFtZXJpY2EvSGF2YW5hIC01OjI5OjI4IC0gTE1UIDE4OTAKLSAtNToyOTozNiAtIEhNVCAxOTI1IEp1bCAxOSAxMgotLS01IEFrIEMlc1QKLS1SIEFsIDE5NjYgbyAtIE8gMzAgMCAxIEVEVAotLVIgQWwgMTk2NyBvIC0gRiAyOCAwIDAgRVNUCi0tUiBBbCAxOTY5IDE5NzMgLSBPIGxhc3RTdW4gMCAwOjMwIC0wNDMwCi0tUiBBbCAxOTcwIG8gLSBGIDIxIDAgMCBFU1QKLS1SIEFsIDE5NzEgbyAtIEphIDIwIDAgMCBFU1QKLS1SIEFsIDE5NzIgMTk3NCAtIEphIDIxIDAgMCBFU1QKLSstNSBRIEMlc1QKLStSIERPIDE5NjYgbyAtIE8gMzAgMCAxIEVEVAotK1IgRE8gMTk2NyBvIC0gRiAyOCAwIDAgRVNUCi0rUiBETyAxOTY5IDE5NzMgLSBPIGxhc3RTdW4gMCAwOjMwIC0wNDMwCi0rUiBETyAxOTcwIG8gLSBGIDIxIDAgMCBFU1QKLStSIERPIDE5NzEgbyAtIEphIDIwIDAgMCBFU1QKLStSIERPIDE5NzIgMTk3NCAtIEphIDIxIDAgMCBFU1QKLSBaIEFtZXJpY2EvU2FudG9fRG9taW5nbyAtNDozOTozNiAtIExNVCAxODkwCi0gLTQ6NDAgLSBTRE1UIDE5MzMgQXAgMSAxMgotLS01IEFsICVzIDE5NzQgTyAyNwotKy01IERPICVzIDE5NzQgTyAyNwotIC00IC0gQVNUIDIwMDAgTyAyOSAyCi0tLTUgQUYgRSVzVCAyMDAwIEQgMyAxCi0rLTUgdSBFJXNUIDIwMDAgRCAzIDEKLSAtNCAtIEFTVAotLVIgQW0gMTk4NyAxOTg4IC0gTWF5IFN1bj49MSAwIDEgRAotLVIgQW0gMTk4NyAxOTg4IC0gUyBsYXN0U3VuIDAgMCBTCi0rUiBTViAxOTg3IDE5ODggLSBNYXkgU3VuPj0xIDAgMSBECi0rUiBTViAxOTg3IDE5ODggLSBTIGxhc3RTdW4gMCAwIFMKLSBaIEFtZXJpY2EvRWxfU2FsdmFkb3IgLTU6NTY6NDggLSBMTVQgMTkyMQotLS02IEFtIEMlc1QKLS1SIEFuIDE5NzMgbyAtIE4gMjUgMCAxIEQKLS1SIEFuIDE5NzQgbyAtIEYgMjQgMCAwIFMKLS1SIEFuIDE5ODMgbyAtIE1heSAyMSAwIDEgRAotLVIgQW4gMTk4MyBvIC0gUyAyMiAwIDAgUwotLVIgQW4gMTk5MSBvIC0gTWFyIDIzIDAgMSBECi0tUiBBbiAxOTkxIG8gLSBTIDcgMCAwIFMKLS1SIEFuIDIwMDYgbyAtIEFwIDMwIDAgMSBECi0tUiBBbiAyMDA2IG8gLSBPIDEgMCAwIFMKLSstNiBTViBDJXNUCi0rUiBHVCAxOTczIG8gLSBOIDI1IDAgMSBECi0rUiBHVCAxOTc0IG8gLSBGIDI0IDAgMCBTCi0rUiBHVCAxOTgzIG8gLSBNYXkgMjEgMCAxIEQKLStSIEdUIDE5ODMgbyAtIFMgMjIgMCAwIFMKLStSIEdUIDE5OTEgbyAtIE1hciAyMyAwIDEgRAotK1IgR1QgMTk5MSBvIC0gUyA3IDAgMCBTCi0rUiBHVCAyMDA2IG8gLSBBcCAzMCAwIDEgRAotK1IgR1QgMjAwNiBvIC0gTyAxIDAgMCBTCi0gWiBBbWVyaWNhL0d1YXRlbWFsYSAtNjoyOjQgLSBMTVQgMTkxOCBPIDUKLS0tNiBBbiBDJXNUCi0tUiBBbyAxOTgzIG8gLSBNYXkgOCAwIDEgRAotLVIgQW8gMTk4NCAxOTg3IC0gQXAgbGFzdFN1biAwIDEgRAotLVIgQW8gMTk4MyAxOTg3IC0gTyBsYXN0U3VuIDAgMCBTCi0tUiBBbyAxOTg4IDE5OTcgLSBBcCBTdW4+PTEgMXMgMSBECi0tUiBBbyAxOTg4IDE5OTcgLSBPIGxhc3RTdW4gMXMgMCBTCi0tUiBBbyAyMDA1IDIwMDYgLSBBcCBTdW4+PTEgMCAxIEQKLS1SIEFvIDIwMDUgMjAwNiAtIE8gbGFzdFN1biAwIDAgUwotLVIgQW8gMjAxMiAyMDE1IC0gTWFyIFN1bj49OCAyIDEgRAotLVIgQW8gMjAxMiAyMDE1IC0gTiBTdW4+PTEgMiAwIFMKLS1SIEFvIDIwMTcgbWEgLSBNYXIgU3VuPj04IDIgMSBECi0tUiBBbyAyMDE3IG1hIC0gTiBTdW4+PTEgMiAwIFMKLSstNiBHVCBDJXNUCi0rUiBIVCAxOTgzIG8gLSBNYXkgOCAwIDEgRAotK1IgSFQgMTk4NCAxOTg3IC0gQXAgbGFzdFN1biAwIDEgRAotK1IgSFQgMTk4MyAxOTg3IC0gTyBsYXN0U3VuIDAgMCBTCi0rUiBIVCAxOTg4IDE5OTcgLSBBcCBTdW4+PTEgMXMgMSBECi0rUiBIVCAxOTg4IDE5OTcgLSBPIGxhc3RTdW4gMXMgMCBTCi0rUiBIVCAyMDA1IDIwMDYgLSBBcCBTdW4+PTEgMCAxIEQKLStSIEhUIDIwMDUgMjAwNiAtIE8gbGFzdFN1biAwIDAgUwotK1IgSFQgMjAxMiAyMDE1IC0gTWFyIFN1bj49OCAyIDEgRAotK1IgSFQgMjAxMiAyMDE1IC0gTiBTdW4+PTEgMiAwIFMKLStSIEhUIDIwMTcgbWEgLSBNYXIgU3VuPj04IDIgMSBECi0rUiBIVCAyMDE3IG1hIC0gTiBTdW4+PTEgMiAwIFMKLSBaIEFtZXJpY2EvUG9ydC1hdS1QcmluY2UgLTQ6NDk6MjAgLSBMTVQgMTg5MAotIC00OjQ5IC0gUFBNVCAxOTE3IEphIDI0IDEyCi0tLTUgQW8gRSVzVAotLVIgQXAgMTk4NyAxOTg4IC0gTWF5IFN1bj49MSAwIDEgRAotLVIgQXAgMTk4NyAxOTg4IC0gUyBsYXN0U3VuIDAgMCBTCi0tUiBBcCAyMDA2IG8gLSBNYXkgU3VuPj0xIDAgMSBECi0tUiBBcCAyMDA2IG8gLSBBdSBNPj0xIDAgMCBTCi0rLTUgSFQgRSVzVAotK1IgSE4gMTk4NyAxOTg4IC0gTWF5IFN1bj49MSAwIDEgRAotK1IgSE4gMTk4NyAxOTg4IC0gUyBsYXN0U3VuIDAgMCBTCi0rUiBITiAyMDA2IG8gLSBNYXkgU3VuPj0xIDAgMSBECi0rUiBITiAyMDA2IG8gLSBBdSBNPj0xIDAgMCBTCi0gWiBBbWVyaWNhL1RlZ3VjaWdhbHBhIC01OjQ4OjUyIC0gTE1UIDE5MjEgQXAKLS0tNiBBcCBDJXNUCi0rLTYgSE4gQyVzVAotIFogQW1lcmljYS9KYW1haWNhIC01Ojc6MTAgLSBMTVQgMTg5MAotIC01Ojc6MTAgLSBLTVQgMTkxMiBGCi0gLTUgLSBFU1QgMTk3NAotLS01IEFGIEUlc1QgMTk4NAotKy01IHUgRSVzVCAxOTg0Ci0gLTUgLSBFU1QKLSBaIEFtZXJpY2EvTWFydGluaXF1ZSAtNDo0OjIwIC0gTE1UIDE4OTAKLSAtNDo0OjIwIC0gRkZNVCAxOTExIE1heQotIC00IC0gQVNUIDE5ODAgQXAgNgotIC00IDEgQURUIDE5ODAgUyAyOAotIC00IC0gQVNUCi0tUiBBcSAxOTc5IDE5ODAgLSBNYXIgU3VuPj0xNiAwIDEgRAotLVIgQXEgMTk3OSAxOTgwIC0gSnVuIE0+PTIzIDAgMCBTCi0tUiBBcSAyMDA1IG8gLSBBcCAxMCAwIDEgRAotLVIgQXEgMjAwNSBvIC0gTyBTdW4+PTEgMCAwIFMKLS1SIEFxIDIwMDYgbyAtIEFwIDMwIDIgMSBECi0tUiBBcSAyMDA2IG8gLSBPIFN1bj49MSAxIDAgUwotK1IgTkkgMTk3OSAxOTgwIC0gTWFyIFN1bj49MTYgMCAxIEQKLStSIE5JIDE5NzkgMTk4MCAtIEp1biBNPj0yMyAwIDAgUwotK1IgTkkgMjAwNSBvIC0gQXAgMTAgMCAxIEQKLStSIE5JIDIwMDUgbyAtIE8gU3VuPj0xIDAgMCBTCi0rUiBOSSAyMDA2IG8gLSBBcCAzMCAyIDEgRAotK1IgTkkgMjAwNiBvIC0gTyBTdW4+PTEgMSAwIFMKLSBaIEFtZXJpY2EvTWFuYWd1YSAtNTo0NTo4IC0gTE1UIDE4OTAKLSAtNTo0NToxMiAtIE1NVCAxOTM0IEp1biAyMwotIC02IC0gQ1NUIDE5NzMgTWF5Ci0gLTUgLSBFU1QgMTk3NSBGIDE2Ci0tLTYgQXEgQyVzVCAxOTkyIEphIDEgNAotKy02IE5JIEMlc1QgMTk5MiBKYSAxIDQKLSAtNSAtIEVTVCAxOTkyIFMgMjQKLSAtNiAtIENTVCAxOTkzCi0gLTUgLSBFU1QgMTk5NwotLS02IEFxIEMlc1QKLSstNiBOSSBDJXNUCi0gWiBBbWVyaWNhL1BhbmFtYSAtNToxODo4IC0gTE1UIDE4OTAKLSAtNToxOTozNiAtIENNVCAxOTA4IEFwIDIyCi0gLTUgLSBFU1QKLSBMaSBBbWVyaWNhL1BhbmFtYSBBbWVyaWNhL0NheW1hbgotIFogQW1lcmljYS9QdWVydG9fUmljbyAtNDoyNDoyNSAtIExNVCAxODk5IE1hciAyOCAxMgotIC00IC0gQVNUIDE5NDIgTWF5IDMKLS0tNCBBRiBBJXNUIDE5NDYKLSstNCB1IEElc1QgMTk0NgotIC00IC0gQVNUCi0gWiBBbWVyaWNhL01pcXVlbG9uIC0zOjQ0OjQwIC0gTE1UIDE5MTEgTWF5IDE1Ci0gLTQgLSBBU1QgMTk4MCBNYXkKLSAtMyAtIC0wMyAxOTg3Ci0tLTMgQVUgLTAzLy0wMgotKy0zIEMgLTAzLy0wMgotIFogQW1lcmljYS9HcmFuZF9UdXJrIC00OjQ0OjMyIC0gTE1UIDE4OTAKLSAtNTo3OjEwIC0gS01UIDE5MTIgRgotIC01IC0gRVNUIDE5NzkKLS0tNSBBRiBFJXNUIDIwMTUgTiBTdW4+PTEgMgotKy01IHUgRSVzVCAyMDE1IE4gU3VuPj0xIDIKLSAtNCAtIEFTVCAyMDE4IE1hciAxMSAzCi0tLTUgQUYgRSVzVAotLVIgQXIgMTkzMCBvIC0gRCAxIDAgMSAtCi0tUiBBciAxOTMxIG8gLSBBcCAxIDAgMCAtCi0tUiBBciAxOTMxIG8gLSBPIDE1IDAgMSAtCi0tUiBBciAxOTMyIDE5NDAgLSBNYXIgMSAwIDAgLQotLVIgQXIgMTkzMiAxOTM5IC0gTiAxIDAgMSAtCi0tUiBBciAxOTQwIG8gLSBKdWwgMSAwIDEgLQotLVIgQXIgMTk0MSBvIC0gSnVuIDE1IDAgMCAtCi0tUiBBciAxOTQxIG8gLSBPIDE1IDAgMSAtCi0tUiBBciAxOTQzIG8gLSBBdSAxIDAgMCAtCi0tUiBBciAxOTQzIG8gLSBPIDE1IDAgMSAtCi0tUiBBciAxOTQ2IG8gLSBNYXIgMSAwIDAgLQotLVIgQXIgMTk0NiBvIC0gTyAxIDAgMSAtCi0tUiBBciAxOTYzIG8gLSBPIDEgMCAwIC0KLS1SIEFyIDE5NjMgbyAtIEQgMTUgMCAxIC0KLS1SIEFyIDE5NjQgMTk2NiAtIE1hciAxIDAgMCAtCi0tUiBBciAxOTY0IDE5NjYgLSBPIDE1IDAgMSAtCi0tUiBBciAxOTY3IG8gLSBBcCAyIDAgMCAtCi0tUiBBciAxOTY3IDE5NjggLSBPIFN1bj49MSAwIDEgLQotLVIgQXIgMTk2OCAxOTY5IC0gQXAgU3VuPj0xIDAgMCAtCi0tUiBBciAxOTc0IG8gLSBKYSAyMyAwIDEgLQotLVIgQXIgMTk3NCBvIC0gTWF5IDEgMCAwIC0KLS1SIEFyIDE5ODggbyAtIEQgMSAwIDEgLQotLVIgQXIgMTk4OSAxOTkzIC0gTWFyIFN1bj49MSAwIDAgLQotLVIgQXIgMTk4OSAxOTkyIC0gTyBTdW4+PTE1IDAgMSAtCi0tUiBBciAxOTk5IG8gLSBPIFN1bj49MSAwIDEgLQotLVIgQXIgMjAwMCBvIC0gTWFyIDMgMCAwIC0KLS1SIEFyIDIwMDcgbyAtIEQgMzAgMCAxIC0KLS1SIEFyIDIwMDggMjAwOSAtIE1hciBTdW4+PTE1IDAgMCAtCi0tUiBBciAyMDA4IG8gLSBPIFN1bj49MTUgMCAxIC0KLSstNSB1IEUlc1QKLStSIEEgMTkzMCBvIC0gRCAxIDAgMSAtCi0rUiBBIDE5MzEgbyAtIEFwIDEgMCAwIC0KLStSIEEgMTkzMSBvIC0gTyAxNSAwIDEgLQotK1IgQSAxOTMyIDE5NDAgLSBNYXIgMSAwIDAgLQotK1IgQSAxOTMyIDE5MzkgLSBOIDEgMCAxIC0KLStSIEEgMTk0MCBvIC0gSnVsIDEgMCAxIC0KLStSIEEgMTk0MSBvIC0gSnVuIDE1IDAgMCAtCi0rUiBBIDE5NDEgbyAtIE8gMTUgMCAxIC0KLStSIEEgMTk0MyBvIC0gQXUgMSAwIDAgLQotK1IgQSAxOTQzIG8gLSBPIDE1IDAgMSAtCi0rUiBBIDE5NDYgbyAtIE1hciAxIDAgMCAtCi0rUiBBIDE5NDYgbyAtIE8gMSAwIDEgLQotK1IgQSAxOTYzIG8gLSBPIDEgMCAwIC0KLStSIEEgMTk2MyBvIC0gRCAxNSAwIDEgLQotK1IgQSAxOTY0IDE5NjYgLSBNYXIgMSAwIDAgLQotK1IgQSAxOTY0IDE5NjYgLSBPIDE1IDAgMSAtCi0rUiBBIDE5NjcgbyAtIEFwIDIgMCAwIC0KLStSIEEgMTk2NyAxOTY4IC0gTyBTdW4+PTEgMCAxIC0KLStSIEEgMTk2OCAxOTY5IC0gQXAgU3VuPj0xIDAgMCAtCi0rUiBBIDE5NzQgbyAtIEphIDIzIDAgMSAtCi0rUiBBIDE5NzQgbyAtIE1heSAxIDAgMCAtCi0rUiBBIDE5ODggbyAtIEQgMSAwIDEgLQotK1IgQSAxOTg5IDE5OTMgLSBNYXIgU3VuPj0xIDAgMCAtCi0rUiBBIDE5ODkgMTk5MiAtIE8gU3VuPj0xNSAwIDEgLQotK1IgQSAxOTk5IG8gLSBPIFN1bj49MSAwIDEgLQotK1IgQSAyMDAwIG8gLSBNYXIgMyAwIDAgLQotK1IgQSAyMDA3IG8gLSBEIDMwIDAgMSAtCi0rUiBBIDIwMDggMjAwOSAtIE1hciBTdW4+PTE1IDAgMCAtCi0rUiBBIDIwMDggbyAtIE8gU3VuPj0xNSAwIDEgLQotIFogQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIC0zOjUzOjQ4IC0gTE1UIDE4OTQgTyAzMQotIC00OjE2OjQ4IC0gQ01UIDE5MjAgTWF5Ci0gLTQgLSAtMDQgMTkzMCBECi0tLTQgQXIgLTA0Ly0wMyAxOTY5IE8gNQotLS0zIEFyIC0wMy8tMDIgMTk5OSBPIDMKLS0tNCBBciAtMDQvLTAzIDIwMDAgTWFyIDMKLS0tMyBBciAtMDMvLTAyCi0rLTQgQSAtMDQvLTAzIDE5NjkgTyA1Ci0rLTMgQSAtMDMvLTAyIDE5OTkgTyAzCi0rLTQgQSAtMDQvLTAzIDIwMDAgTWFyIDMKLSstMyBBIC0wMy8tMDIKLSBaIEFtZXJpY2EvQXJnZW50aW5hL0NvcmRvYmEgLTQ6MTY6NDggLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTkxIE1hciAzCi0rLTQgQSAtMDQvLTAzIDE5NjkgTyA1Ci0rLTMgQSAtMDMvLTAyIDE5OTEgTWFyIDMKLSAtNCAtIC0wNCAxOTkxIE8gMjAKLS0tMyBBciAtMDMvLTAyIDE5OTkgTyAzCi0tLTQgQXIgLTA0Ly0wMyAyMDAwIE1hciAzCi0tLTMgQXIgLTAzLy0wMgotKy0zIEEgLTAzLy0wMiAxOTk5IE8gMwotKy00IEEgLTA0Ly0wMyAyMDAwIE1hciAzCi0rLTMgQSAtMDMvLTAyCi0gWiBBbWVyaWNhL0FyZ2VudGluYS9TYWx0YSAtNDoyMTo0MCAtIExNVCAxODk0IE8gMzEKLSAtNDoxNjo0OCAtIENNVCAxOTIwIE1heQotIC00IC0gLTA0IDE5MzAgRAotLS00IEFyIC0wNC8tMDMgMTk2OSBPIDUKLS0tMyBBciAtMDMvLTAyIDE5OTEgTWFyIDMKLSstNCBBIC0wNC8tMDMgMTk2OSBPIDUKLSstMyBBIC0wMy8tMDIgMTk5MSBNYXIgMwotIC00IC0gLTA0IDE5OTEgTyAyMAotLS0zIEFyIC0wMy8tMDIgMTk5OSBPIDMKLS0tNCBBciAtMDQvLTAzIDIwMDAgTWFyIDMKLS0tMyBBciAtMDMvLTAyIDIwMDggTyAxOAotKy0zIEEgLTAzLy0wMiAxOTk5IE8gMwotKy00IEEgLTA0Ly0wMyAyMDAwIE1hciAzCi0rLTMgQSAtMDMvLTAyIDIwMDggTyAxOAotIC0zIC0gLTAzCi0gWiBBbWVyaWNhL0FyZ2VudGluYS9UdWN1bWFuIC00OjIwOjUyIC0gTE1UIDE4OTQgTyAzMQotIC00OjE2OjQ4IC0gQ01UIDE5MjAgTWF5Ci0gLTQgLSAtMDQgMTkzMCBECi0tLTQgQXIgLTA0Ly0wMyAxOTY5IE8gNQotLS0zIEFyIC0wMy8tMDIgMTk5MSBNYXIgMwotKy00IEEgLTA0Ly0wMyAxOTY5IE8gNQotKy0zIEEgLTAzLy0wMiAxOTkxIE1hciAzCi0gLTQgLSAtMDQgMTk5MSBPIDIwCi0tLTMgQXIgLTAzLy0wMiAxOTk5IE8gMwotLS00IEFyIC0wNC8tMDMgMjAwMCBNYXIgMwotKy0zIEEgLTAzLy0wMiAxOTk5IE8gMwotKy00IEEgLTA0Ly0wMyAyMDAwIE1hciAzCi0gLTMgLSAtMDMgMjAwNCBKdW4KLSAtNCAtIC0wNCAyMDA0IEp1biAxMwotLS0zIEFyIC0wMy8tMDIKLSstMyBBIC0wMy8tMDIKLSBaIEFtZXJpY2EvQXJnZW50aW5hL0xhX1Jpb2phIC00OjI3OjI0IC0gTE1UIDE4OTQgTyAzMQotIC00OjE2OjQ4IC0gQ01UIDE5MjAgTWF5Ci0gLTQgLSAtMDQgMTkzMCBECi0tLTQgQXIgLTA0Ly0wMyAxOTY5IE8gNQotLS0zIEFyIC0wMy8tMDIgMTk5MSBNYXIKLSstNCBBIC0wNC8tMDMgMTk2OSBPIDUKLSstMyBBIC0wMy8tMDIgMTk5MSBNYXIKLSAtNCAtIC0wNCAxOTkxIE1heSA3Ci0tLTMgQXIgLTAzLy0wMiAxOTk5IE8gMwotLS00IEFyIC0wNC8tMDMgMjAwMCBNYXIgMwotKy0zIEEgLTAzLy0wMiAxOTk5IE8gMwotKy00IEEgLTA0Ly0wMyAyMDAwIE1hciAzCi0gLTMgLSAtMDMgMjAwNCBKdW4KLSAtNCAtIC0wNCAyMDA0IEp1biAyMAotLS0zIEFyIC0wMy8tMDIgMjAwOCBPIDE4Ci0rLTMgQSAtMDMvLTAyIDIwMDggTyAxOAotIC0zIC0gLTAzCi0gWiBBbWVyaWNhL0FyZ2VudGluYS9TYW5fSnVhbiAtNDozNDo0IC0gTE1UIDE4OTQgTyAzMQotIC00OjE2OjQ4IC0gQ01UIDE5MjAgTWF5Ci0gLTQgLSAtMDQgMTkzMCBECi0tLTQgQXIgLTA0Ly0wMyAxOTY5IE8gNQotLS0zIEFyIC0wMy8tMDIgMTk5MSBNYXIKLSstNCBBIC0wNC8tMDMgMTk2OSBPIDUKLSstMyBBIC0wMy8tMDIgMTk5MSBNYXIKLSAtNCAtIC0wNCAxOTkxIE1heSA3Ci0tLTMgQXIgLTAzLy0wMiAxOTk5IE8gMwotLS00IEFyIC0wNC8tMDMgMjAwMCBNYXIgMwotKy0zIEEgLTAzLy0wMiAxOTk5IE8gMwotKy00IEEgLTA0Ly0wMyAyMDAwIE1hciAzCi0gLTMgLSAtMDMgMjAwNCBNYXkgMzEKLSAtNCAtIC0wNCAyMDA0IEp1bCAyNQotLS0zIEFyIC0wMy8tMDIgMjAwOCBPIDE4Ci0rLTMgQSAtMDMvLTAyIDIwMDggTyAxOAotIC0zIC0gLTAzCi0gWiBBbWVyaWNhL0FyZ2VudGluYS9KdWp1eSAtNDoyMToxMiAtIExNVCAxODk0IE8gMzEKLSAtNDoxNjo0OCAtIENNVCAxOTIwIE1heQotIC00IC0gLTA0IDE5MzAgRAotLS00IEFyIC0wNC8tMDMgMTk2OSBPIDUKLS0tMyBBciAtMDMvLTAyIDE5OTAgTWFyIDQKLSstNCBBIC0wNC8tMDMgMTk2OSBPIDUKLSstMyBBIC0wMy8tMDIgMTk5MCBNYXIgNAotIC00IC0gLTA0IDE5OTAgTyAyOAotIC00IDEgLTAzIDE5OTEgTWFyIDE3Ci0gLTQgLSAtMDQgMTk5MSBPIDYKLSAtMyAxIC0wMiAxOTkyCi0tLTMgQXIgLTAzLy0wMiAxOTk5IE8gMwotLS00IEFyIC0wNC8tMDMgMjAwMCBNYXIgMwotLS0zIEFyIC0wMy8tMDIgMjAwOCBPIDE4Ci0rLTMgQSAtMDMvLTAyIDE5OTkgTyAzCi0rLTQgQSAtMDQvLTAzIDIwMDAgTWFyIDMKLSstMyBBIC0wMy8tMDIgMjAwOCBPIDE4Ci0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvQXJnZW50aW5hL0NhdGFtYXJjYSAtNDoyMzo4IC0gTE1UIDE4OTQgTyAzMQotIC00OjE2OjQ4IC0gQ01UIDE5MjAgTWF5Ci0gLTQgLSAtMDQgMTkzMCBECi0tLTQgQXIgLTA0Ly0wMyAxOTY5IE8gNQotLS0zIEFyIC0wMy8tMDIgMTk5MSBNYXIgMwotKy00IEEgLTA0Ly0wMyAxOTY5IE8gNQotKy0zIEEgLTAzLy0wMiAxOTkxIE1hciAzCi0gLTQgLSAtMDQgMTk5MSBPIDIwCi0tLTMgQXIgLTAzLy0wMiAxOTk5IE8gMwotLS00IEFyIC0wNC8tMDMgMjAwMCBNYXIgMwotKy0zIEEgLTAzLy0wMiAxOTk5IE8gMwotKy00IEEgLTA0Ly0wMyAyMDAwIE1hciAzCi0gLTMgLSAtMDMgMjAwNCBKdW4KLSAtNCAtIC0wNCAyMDA0IEp1biAyMAotLS0zIEFyIC0wMy8tMDIgMjAwOCBPIDE4Ci0rLTMgQSAtMDMvLTAyIDIwMDggTyAxOAotIC0zIC0gLTAzCi0gWiBBbWVyaWNhL0FyZ2VudGluYS9NZW5kb3phIC00OjM1OjE2IC0gTE1UIDE4OTQgTyAzMQotIC00OjE2OjQ4IC0gQ01UIDE5MjAgTWF5Ci0gLTQgLSAtMDQgMTkzMCBECi0tLTQgQXIgLTA0Ly0wMyAxOTY5IE8gNQotLS0zIEFyIC0wMy8tMDIgMTk5MCBNYXIgNAotKy00IEEgLTA0Ly0wMyAxOTY5IE8gNQotKy0zIEEgLTAzLy0wMiAxOTkwIE1hciA0Ci0gLTQgLSAtMDQgMTk5MCBPIDE1Ci0gLTQgMSAtMDMgMTk5MSBNYXIKLSAtNCAtIC0wNCAxOTkxIE8gMTUKLSAtNCAxIC0wMyAxOTkyIE1hcgotIC00IC0gLTA0IDE5OTIgTyAxOAotLS0zIEFyIC0wMy8tMDIgMTk5OSBPIDMKLS0tNCBBciAtMDQvLTAzIDIwMDAgTWFyIDMKLSstMyBBIC0wMy8tMDIgMTk5OSBPIDMKLSstNCBBIC0wNC8tMDMgMjAwMCBNYXIgMwotIC0zIC0gLTAzIDIwMDQgTWF5IDIzCi0gLTQgLSAtMDQgMjAwNCBTIDI2Ci0tLTMgQXIgLTAzLy0wMiAyMDA4IE8gMTgKLSstMyBBIC0wMy8tMDIgMjAwOCBPIDE4Ci0gLTMgLSAtMDMKLS1SIEFzIDIwMDggMjAwOSAtIE1hciBTdW4+PTggMCAwIC0KLS1SIEFzIDIwMDcgMjAwOCAtIE8gU3VuPj04IDAgMSAtCi0rUiBTYSAyMDA4IDIwMDkgLSBNYXIgU3VuPj04IDAgMCAtCi0rUiBTYSAyMDA3IDIwMDggLSBPIFN1bj49OCAwIDEgLQotIFogQW1lcmljYS9BcmdlbnRpbmEvU2FuX0x1aXMgLTQ6MjU6MjQgLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTkwCi0rLTQgQSAtMDQvLTAzIDE5NjkgTyA1Ci0rLTMgQSAtMDMvLTAyIDE5OTAKLSAtMyAxIC0wMiAxOTkwIE1hciAxNAotIC00IC0gLTA0IDE5OTAgTyAxNQotIC00IDEgLTAzIDE5OTEgTWFyCi1AQCAtMzU5MCwyODYgKzM2MDcsMjg4IEBAIFogQW1lcmljYS9BcmdlbnRpbmEvU2FuX0x1aXMgLTQ6MjU6MjQgLSBMTVQgMTg5NCBPIDMxCi0gLTQgMSAtMDMgMjAwMCBNYXIgMwotIC0zIC0gLTAzIDIwMDQgTWF5IDMxCi0gLTQgLSAtMDQgMjAwNCBKdWwgMjUKLS0tMyBBciAtMDMvLTAyIDIwMDggSmEgMjEKLS0tNCBBcyAtMDQvLTAzIDIwMDkgTyAxMQotKy0zIEEgLTAzLy0wMiAyMDA4IEphIDIxCi0rLTQgU2EgLTA0Ly0wMyAyMDA5IE8gMTEKLSAtMyAtIC0wMwotIFogQW1lcmljYS9BcmdlbnRpbmEvUmlvX0dhbGxlZ29zIC00OjM2OjUyIC0gTE1UIDE4OTQgTyAzMQotIC00OjE2OjQ4IC0gQ01UIDE5MjAgTWF5Ci0gLTQgLSAtMDQgMTkzMCBECi0tLTQgQXIgLTA0Ly0wMyAxOTY5IE8gNQotLS0zIEFyIC0wMy8tMDIgMTk5OSBPIDMKLS0tNCBBciAtMDQvLTAzIDIwMDAgTWFyIDMKLSstNCBBIC0wNC8tMDMgMTk2OSBPIDUKLSstMyBBIC0wMy8tMDIgMTk5OSBPIDMKLSstNCBBIC0wNC8tMDMgMjAwMCBNYXIgMwotIC0zIC0gLTAzIDIwMDQgSnVuCi0gLTQgLSAtMDQgMjAwNCBKdW4gMjAKLS0tMyBBciAtMDMvLTAyIDIwMDggTyAxOAotKy0zIEEgLTAzLy0wMiAyMDA4IE8gMTgKLSAtMyAtIC0wMwotIFogQW1lcmljYS9BcmdlbnRpbmEvVXNodWFpYSAtNDozMzoxMiAtIExNVCAxODk0IE8gMzEKLSAtNDoxNjo0OCAtIENNVCAxOTIwIE1heQotIC00IC0gLTA0IDE5MzAgRAotLS00IEFyIC0wNC8tMDMgMTk2OSBPIDUKLS0tMyBBciAtMDMvLTAyIDE5OTkgTyAzCi0tLTQgQXIgLTA0Ly0wMyAyMDAwIE1hciAzCi0rLTQgQSAtMDQvLTAzIDE5NjkgTyA1Ci0rLTMgQSAtMDMvLTAyIDE5OTkgTyAzCi0rLTQgQSAtMDQvLTAzIDIwMDAgTWFyIDMKLSAtMyAtIC0wMyAyMDA0IE1heSAzMAotIC00IC0gLTA0IDIwMDQgSnVuIDIwCi0tLTMgQXIgLTAzLy0wMiAyMDA4IE8gMTgKLSstMyBBIC0wMy8tMDIgMjAwOCBPIDE4Ci0gLTMgLSAtMDMKLSBMaSBBbWVyaWNhL0N1cmFjYW8gQW1lcmljYS9BcnViYQotIFogQW1lcmljYS9MYV9QYXogLTQ6MzI6MzYgLSBMTVQgMTg5MAotIC00OjMyOjM2IC0gQ01UIDE5MzEgTyAxNQotIC00OjMyOjM2IDEgQlNUIDE5MzIgTWFyIDIxCi0gLTQgLSAtMDQKLS1SIEF0IDE5MzEgbyAtIE8gMyAxMSAxIC0KLS1SIEF0IDE5MzIgMTkzMyAtIEFwIDEgMCAwIC0KLS1SIEF0IDE5MzIgbyAtIE8gMyAwIDEgLQotLVIgQXQgMTk0OSAxOTUyIC0gRCAxIDAgMSAtCi0tUiBBdCAxOTUwIG8gLSBBcCAxNiAxIDAgLQotLVIgQXQgMTk1MSAxOTUyIC0gQXAgMSAwIDAgLQotLVIgQXQgMTk1MyBvIC0gTWFyIDEgMCAwIC0KLS1SIEF0IDE5NjMgbyAtIEQgOSAwIDEgLQotLVIgQXQgMTk2NCBvIC0gTWFyIDEgMCAwIC0KLS1SIEF0IDE5NjUgbyAtIEphIDMxIDAgMSAtCi0tUiBBdCAxOTY1IG8gLSBNYXIgMzEgMCAwIC0KLS1SIEF0IDE5NjUgbyAtIEQgMSAwIDEgLQotLVIgQXQgMTk2NiAxOTY4IC0gTWFyIDEgMCAwIC0KLS1SIEF0IDE5NjYgMTk2NyAtIE4gMSAwIDEgLQotLVIgQXQgMTk4NSBvIC0gTiAyIDAgMSAtCi0tUiBBdCAxOTg2IG8gLSBNYXIgMTUgMCAwIC0KLS1SIEF0IDE5ODYgbyAtIE8gMjUgMCAxIC0KLS1SIEF0IDE5ODcgbyAtIEYgMTQgMCAwIC0KLS1SIEF0IDE5ODcgbyAtIE8gMjUgMCAxIC0KLS1SIEF0IDE5ODggbyAtIEYgNyAwIDAgLQotLVIgQXQgMTk4OCBvIC0gTyAxNiAwIDEgLQotLVIgQXQgMTk4OSBvIC0gSmEgMjkgMCAwIC0KLS1SIEF0IDE5ODkgbyAtIE8gMTUgMCAxIC0KLS1SIEF0IDE5OTAgbyAtIEYgMTEgMCAwIC0KLS1SIEF0IDE5OTAgbyAtIE8gMjEgMCAxIC0KLS1SIEF0IDE5OTEgbyAtIEYgMTcgMCAwIC0KLS1SIEF0IDE5OTEgbyAtIE8gMjAgMCAxIC0KLS1SIEF0IDE5OTIgbyAtIEYgOSAwIDAgLQotLVIgQXQgMTk5MiBvIC0gTyAyNSAwIDEgLQotLVIgQXQgMTk5MyBvIC0gSmEgMzEgMCAwIC0KLS1SIEF0IDE5OTMgMTk5NSAtIE8gU3VuPj0xMSAwIDEgLQotLVIgQXQgMTk5NCAxOTk1IC0gRiBTdW4+PTE1IDAgMCAtCi0tUiBBdCAxOTk2IG8gLSBGIDExIDAgMCAtCi0tUiBBdCAxOTk2IG8gLSBPIDYgMCAxIC0KLS1SIEF0IDE5OTcgbyAtIEYgMTYgMCAwIC0KLS1SIEF0IDE5OTcgbyAtIE8gNiAwIDEgLQotLVIgQXQgMTk5OCBvIC0gTWFyIDEgMCAwIC0KLS1SIEF0IDE5OTggbyAtIE8gMTEgMCAxIC0KLS1SIEF0IDE5OTkgbyAtIEYgMjEgMCAwIC0KLS1SIEF0IDE5OTkgbyAtIE8gMyAwIDEgLQotLVIgQXQgMjAwMCBvIC0gRiAyNyAwIDAgLQotLVIgQXQgMjAwMCAyMDAxIC0gTyBTdW4+PTggMCAxIC0KLS1SIEF0IDIwMDEgMjAwNiAtIEYgU3VuPj0xNSAwIDAgLQotLVIgQXQgMjAwMiBvIC0gTiAzIDAgMSAtCi0tUiBBdCAyMDAzIG8gLSBPIDE5IDAgMSAtCi0tUiBBdCAyMDA0IG8gLSBOIDIgMCAxIC0KLS1SIEF0IDIwMDUgbyAtIE8gMTYgMCAxIC0KLS1SIEF0IDIwMDYgbyAtIE4gNSAwIDEgLQotLVIgQXQgMjAwNyBvIC0gRiAyNSAwIDAgLQotLVIgQXQgMjAwNyBvIC0gTyBTdW4+PTggMCAxIC0KLS1SIEF0IDIwMDggMjAxNyAtIE8gU3VuPj0xNSAwIDEgLQotLVIgQXQgMjAwOCAyMDExIC0gRiBTdW4+PTE1IDAgMCAtCi0tUiBBdCAyMDEyIG8gLSBGIFN1bj49MjIgMCAwIC0KLS1SIEF0IDIwMTMgMjAxNCAtIEYgU3VuPj0xNSAwIDAgLQotLVIgQXQgMjAxNSBvIC0gRiBTdW4+PTIyIDAgMCAtCi0tUiBBdCAyMDE2IDIwMjIgLSBGIFN1bj49MTUgMCAwIC0KLS1SIEF0IDIwMTggbWEgLSBOIFN1bj49MSAwIDEgLQotLVIgQXQgMjAyMyBvIC0gRiBTdW4+PTIyIDAgMCAtCi0tUiBBdCAyMDI0IDIwMjUgLSBGIFN1bj49MTUgMCAwIC0KLS1SIEF0IDIwMjYgbyAtIEYgU3VuPj0yMiAwIDAgLQotLVIgQXQgMjAyNyAyMDMzIC0gRiBTdW4+PTE1IDAgMCAtCi0tUiBBdCAyMDM0IG8gLSBGIFN1bj49MjIgMCAwIC0KLS1SIEF0IDIwMzUgMjAzNiAtIEYgU3VuPj0xNSAwIDAgLQotLVIgQXQgMjAzNyBvIC0gRiBTdW4+PTIyIDAgMCAtCi0tUiBBdCAyMDM4IG1hIC0gRiBTdW4+PTE1IDAgMCAtCi0rUiBCIDE5MzEgbyAtIE8gMyAxMSAxIC0KLStSIEIgMTkzMiAxOTMzIC0gQXAgMSAwIDAgLQotK1IgQiAxOTMyIG8gLSBPIDMgMCAxIC0KLStSIEIgMTk0OSAxOTUyIC0gRCAxIDAgMSAtCi0rUiBCIDE5NTAgbyAtIEFwIDE2IDEgMCAtCi0rUiBCIDE5NTEgMTk1MiAtIEFwIDEgMCAwIC0KLStSIEIgMTk1MyBvIC0gTWFyIDEgMCAwIC0KLStSIEIgMTk2MyBvIC0gRCA5IDAgMSAtCi0rUiBCIDE5NjQgbyAtIE1hciAxIDAgMCAtCi0rUiBCIDE5NjUgbyAtIEphIDMxIDAgMSAtCi0rUiBCIDE5NjUgbyAtIE1hciAzMSAwIDAgLQotK1IgQiAxOTY1IG8gLSBEIDEgMCAxIC0KLStSIEIgMTk2NiAxOTY4IC0gTWFyIDEgMCAwIC0KLStSIEIgMTk2NiAxOTY3IC0gTiAxIDAgMSAtCi0rUiBCIDE5ODUgbyAtIE4gMiAwIDEgLQotK1IgQiAxOTg2IG8gLSBNYXIgMTUgMCAwIC0KLStSIEIgMTk4NiBvIC0gTyAyNSAwIDEgLQotK1IgQiAxOTg3IG8gLSBGIDE0IDAgMCAtCi0rUiBCIDE5ODcgbyAtIE8gMjUgMCAxIC0KLStSIEIgMTk4OCBvIC0gRiA3IDAgMCAtCi0rUiBCIDE5ODggbyAtIE8gMTYgMCAxIC0KLStSIEIgMTk4OSBvIC0gSmEgMjkgMCAwIC0KLStSIEIgMTk4OSBvIC0gTyAxNSAwIDEgLQotK1IgQiAxOTkwIG8gLSBGIDExIDAgMCAtCi0rUiBCIDE5OTAgbyAtIE8gMjEgMCAxIC0KLStSIEIgMTk5MSBvIC0gRiAxNyAwIDAgLQotK1IgQiAxOTkxIG8gLSBPIDIwIDAgMSAtCi0rUiBCIDE5OTIgbyAtIEYgOSAwIDAgLQotK1IgQiAxOTkyIG8gLSBPIDI1IDAgMSAtCi0rUiBCIDE5OTMgbyAtIEphIDMxIDAgMCAtCi0rUiBCIDE5OTMgMTk5NSAtIE8gU3VuPj0xMSAwIDEgLQotK1IgQiAxOTk0IDE5OTUgLSBGIFN1bj49MTUgMCAwIC0KLStSIEIgMTk5NiBvIC0gRiAxMSAwIDAgLQotK1IgQiAxOTk2IG8gLSBPIDYgMCAxIC0KLStSIEIgMTk5NyBvIC0gRiAxNiAwIDAgLQotK1IgQiAxOTk3IG8gLSBPIDYgMCAxIC0KLStSIEIgMTk5OCBvIC0gTWFyIDEgMCAwIC0KLStSIEIgMTk5OCBvIC0gTyAxMSAwIDEgLQotK1IgQiAxOTk5IG8gLSBGIDIxIDAgMCAtCi0rUiBCIDE5OTkgbyAtIE8gMyAwIDEgLQotK1IgQiAyMDAwIG8gLSBGIDI3IDAgMCAtCi0rUiBCIDIwMDAgMjAwMSAtIE8gU3VuPj04IDAgMSAtCi0rUiBCIDIwMDEgMjAwNiAtIEYgU3VuPj0xNSAwIDAgLQotK1IgQiAyMDAyIG8gLSBOIDMgMCAxIC0KLStSIEIgMjAwMyBvIC0gTyAxOSAwIDEgLQotK1IgQiAyMDA0IG8gLSBOIDIgMCAxIC0KLStSIEIgMjAwNSBvIC0gTyAxNiAwIDEgLQotK1IgQiAyMDA2IG8gLSBOIDUgMCAxIC0KLStSIEIgMjAwNyBvIC0gRiAyNSAwIDAgLQotK1IgQiAyMDA3IG8gLSBPIFN1bj49OCAwIDEgLQotK1IgQiAyMDA4IDIwMTcgLSBPIFN1bj49MTUgMCAxIC0KLStSIEIgMjAwOCAyMDExIC0gRiBTdW4+PTE1IDAgMCAtCi0rUiBCIDIwMTIgbyAtIEYgU3VuPj0yMiAwIDAgLQotK1IgQiAyMDEzIDIwMTQgLSBGIFN1bj49MTUgMCAwIC0KLStSIEIgMjAxNSBvIC0gRiBTdW4+PTIyIDAgMCAtCi0rUiBCIDIwMTYgMjAyMiAtIEYgU3VuPj0xNSAwIDAgLQotK1IgQiAyMDE4IG1hIC0gTiBTdW4+PTEgMCAxIC0KLStSIEIgMjAyMyBvIC0gRiBTdW4+PTIyIDAgMCAtCi0rUiBCIDIwMjQgMjAyNSAtIEYgU3VuPj0xNSAwIDAgLQotK1IgQiAyMDI2IG8gLSBGIFN1bj49MjIgMCAwIC0KLStSIEIgMjAyNyAyMDMzIC0gRiBTdW4+PTE1IDAgMCAtCi0rUiBCIDIwMzQgbyAtIEYgU3VuPj0yMiAwIDAgLQotK1IgQiAyMDM1IDIwMzYgLSBGIFN1bj49MTUgMCAwIC0KLStSIEIgMjAzNyBvIC0gRiBTdW4+PTIyIDAgMCAtCi0rUiBCIDIwMzggbWEgLSBGIFN1bj49MTUgMCAwIC0KLSBaIEFtZXJpY2EvTm9yb25oYSAtMjo5OjQwIC0gTE1UIDE5MTQKLS0tMiBBdCAtMDIvLTAxIDE5OTAgUyAxNwotKy0yIEIgLTAyLy0wMSAxOTkwIFMgMTcKLSAtMiAtIC0wMiAxOTk5IFMgMzAKLS0tMiBBdCAtMDIvLTAxIDIwMDAgTyAxNQotKy0yIEIgLTAyLy0wMSAyMDAwIE8gMTUKLSAtMiAtIC0wMiAyMDAxIFMgMTMKLS0tMiBBdCAtMDIvLTAxIDIwMDIgTwotKy0yIEIgLTAyLy0wMSAyMDAyIE8KLSAtMiAtIC0wMgotIFogQW1lcmljYS9CZWxlbSAtMzoxMzo1NiAtIExNVCAxOTE0Ci0tLTMgQXQgLTAzLy0wMiAxOTg4IFMgMTIKLSstMyBCIC0wMy8tMDIgMTk4OCBTIDEyCi0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvU2FudGFyZW0gLTM6Mzg6NDggLSBMTVQgMTkxNAotLS00IEF0IC0wNC8tMDMgMTk4OCBTIDEyCi0rLTQgQiAtMDQvLTAzIDE5ODggUyAxMgotIC00IC0gLTA0IDIwMDggSnVuIDI0Ci0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvRm9ydGFsZXphIC0yOjM0IC0gTE1UIDE5MTQKLS0tMyBBdCAtMDMvLTAyIDE5OTAgUyAxNwotKy0zIEIgLTAzLy0wMiAxOTkwIFMgMTcKLSAtMyAtIC0wMyAxOTk5IFMgMzAKLS0tMyBBdCAtMDMvLTAyIDIwMDAgTyAyMgotKy0zIEIgLTAzLy0wMiAyMDAwIE8gMjIKLSAtMyAtIC0wMyAyMDAxIFMgMTMKLS0tMyBBdCAtMDMvLTAyIDIwMDIgTwotKy0zIEIgLTAzLy0wMiAyMDAyIE8KLSAtMyAtIC0wMwotIFogQW1lcmljYS9SZWNpZmUgLTI6MTk6MzYgLSBMTVQgMTkxNAotLS0zIEF0IC0wMy8tMDIgMTk5MCBTIDE3Ci0rLTMgQiAtMDMvLTAyIDE5OTAgUyAxNwotIC0zIC0gLTAzIDE5OTkgUyAzMAotLS0zIEF0IC0wMy8tMDIgMjAwMCBPIDE1Ci0rLTMgQiAtMDMvLTAyIDIwMDAgTyAxNQotIC0zIC0gLTAzIDIwMDEgUyAxMwotLS0zIEF0IC0wMy8tMDIgMjAwMiBPCi0rLTMgQiAtMDMvLTAyIDIwMDIgTwotIC0zIC0gLTAzCi0gWiBBbWVyaWNhL0FyYWd1YWluYSAtMzoxMjo0OCAtIExNVCAxOTE0Ci0tLTMgQXQgLTAzLy0wMiAxOTkwIFMgMTcKLSstMyBCIC0wMy8tMDIgMTk5MCBTIDE3Ci0gLTMgLSAtMDMgMTk5NSBTIDE0Ci0tLTMgQXQgLTAzLy0wMiAyMDAzIFMgMjQKLSstMyBCIC0wMy8tMDIgMjAwMyBTIDI0Ci0gLTMgLSAtMDMgMjAxMiBPIDIxCi0tLTMgQXQgLTAzLy0wMiAyMDEzIFMKLSstMyBCIC0wMy8tMDIgMjAxMyBTCi0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvTWFjZWlvIC0yOjIyOjUyIC0gTE1UIDE5MTQKLS0tMyBBdCAtMDMvLTAyIDE5OTAgUyAxNwotKy0zIEIgLTAzLy0wMiAxOTkwIFMgMTcKLSAtMyAtIC0wMyAxOTk1IE8gMTMKLS0tMyBBdCAtMDMvLTAyIDE5OTYgUyA0Ci0rLTMgQiAtMDMvLTAyIDE5OTYgUyA0Ci0gLTMgLSAtMDMgMTk5OSBTIDMwCi0tLTMgQXQgLTAzLy0wMiAyMDAwIE8gMjIKLSstMyBCIC0wMy8tMDIgMjAwMCBPIDIyCi0gLTMgLSAtMDMgMjAwMSBTIDEzCi0tLTMgQXQgLTAzLy0wMiAyMDAyIE8KLSstMyBCIC0wMy8tMDIgMjAwMiBPCi0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvQmFoaWEgLTI6MzQ6NCAtIExNVCAxOTE0Ci0tLTMgQXQgLTAzLy0wMiAyMDAzIFMgMjQKLSstMyBCIC0wMy8tMDIgMjAwMyBTIDI0Ci0gLTMgLSAtMDMgMjAxMSBPIDE2Ci0tLTMgQXQgLTAzLy0wMiAyMDEyIE8gMjEKLSstMyBCIC0wMy8tMDIgMjAxMiBPIDIxCi0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvU2FvX1BhdWxvIC0zOjY6MjggLSBMTVQgMTkxNAotLS0zIEF0IC0wMy8tMDIgMTk2MyBPIDIzCi0rLTMgQiAtMDMvLTAyIDE5NjMgTyAyMwotIC0zIDEgLTAyIDE5NjQKLS0tMyBBdCAtMDMvLTAyCi0rLTMgQiAtMDMvLTAyCi0gWiBBbWVyaWNhL0NhbXBvX0dyYW5kZSAtMzozODoyOCAtIExNVCAxOTE0Ci0tLTQgQXQgLTA0Ly0wMwotKy00IEIgLTA0Ly0wMwotIFogQW1lcmljYS9DdWlhYmEgLTM6NDQ6MjAgLSBMTVQgMTkxNAotLS00IEF0IC0wNC8tMDMgMjAwMyBTIDI0Ci0rLTQgQiAtMDQvLTAzIDIwMDMgUyAyNAotIC00IC0gLTA0IDIwMDQgTwotLS00IEF0IC0wNC8tMDMKLSstNCBCIC0wNC8tMDMKLSBaIEFtZXJpY2EvUG9ydG9fVmVsaG8gLTQ6MTU6MzYgLSBMTVQgMTkxNAotLS00IEF0IC0wNC8tMDMgMTk4OCBTIDEyCi0rLTQgQiAtMDQvLTAzIDE5ODggUyAxMgotIC00IC0gLTA0Ci0gWiBBbWVyaWNhL0JvYV9WaXN0YSAtNDoyOjQwIC0gTE1UIDE5MTQKLS0tNCBBdCAtMDQvLTAzIDE5ODggUyAxMgotKy00IEIgLTA0Ly0wMyAxOTg4IFMgMTIKLSAtNCAtIC0wNCAxOTk5IFMgMzAKLS0tNCBBdCAtMDQvLTAzIDIwMDAgTyAxNQotKy00IEIgLTA0Ly0wMyAyMDAwIE8gMTUKLSAtNCAtIC0wNAotIFogQW1lcmljYS9NYW5hdXMgLTQ6MDo0IC0gTE1UIDE5MTQKLS0tNCBBdCAtMDQvLTAzIDE5ODggUyAxMgotKy00IEIgLTA0Ly0wMyAxOTg4IFMgMTIKLSAtNCAtIC0wNCAxOTkzIFMgMjgKLS0tNCBBdCAtMDQvLTAzIDE5OTQgUyAyMgotKy00IEIgLTA0Ly0wMyAxOTk0IFMgMjIKLSAtNCAtIC0wNAotIFogQW1lcmljYS9FaXJ1bmVwZSAtNDozOToyOCAtIExNVCAxOTE0Ci0tLTUgQXQgLTA1Ly0wNCAxOTg4IFMgMTIKLSstNSBCIC0wNS8tMDQgMTk4OCBTIDEyCi0gLTUgLSAtMDUgMTk5MyBTIDI4Ci0tLTUgQXQgLTA1Ly0wNCAxOTk0IFMgMjIKLSstNSBCIC0wNS8tMDQgMTk5NCBTIDIyCi0gLTUgLSAtMDUgMjAwOCBKdW4gMjQKLSAtNCAtIC0wNCAyMDEzIE4gMTAKLSAtNSAtIC0wNQotIFogQW1lcmljYS9SaW9fQnJhbmNvIC00OjMxOjEyIC0gTE1UIDE5MTQKLS0tNSBBdCAtMDUvLTA0IDE5ODggUyAxMgotKy01IEIgLTA1Ly0wNCAxOTg4IFMgMTIKLSAtNSAtIC0wNSAyMDA4IEp1biAyNAotIC00IC0gLTA0IDIwMTMgTiAxMAotIC01IC0gLTA1Ci0tUiBBdSAxOTI3IDE5MzEgLSBTIDEgMCAxIC0KLS1SIEF1IDE5MjggMTkzMiAtIEFwIDEgMCAwIC0KLS1SIEF1IDE5NjggbyAtIE4gMyA0dSAxIC0KLS1SIEF1IDE5NjkgbyAtIE1hciAzMCAzdSAwIC0KLS1SIEF1IDE5NjkgbyAtIE4gMjMgNHUgMSAtCi0tUiBBdSAxOTcwIG8gLSBNYXIgMjkgM3UgMCAtCi0tUiBBdSAxOTcxIG8gLSBNYXIgMTQgM3UgMCAtCi0tUiBBdSAxOTcwIDE5NzIgLSBPIFN1bj49OSA0dSAxIC0KLS1SIEF1IDE5NzIgMTk4NiAtIE1hciBTdW4+PTkgM3UgMCAtCi0tUiBBdSAxOTczIG8gLSBTIDMwIDR1IDEgLQotLVIgQXUgMTk3NCAxOTg3IC0gTyBTdW4+PTkgNHUgMSAtCi0tUiBBdSAxOTg3IG8gLSBBcCAxMiAzdSAwIC0KLS1SIEF1IDE5ODggMTk5MCAtIE1hciBTdW4+PTkgM3UgMCAtCi0tUiBBdSAxOTg4IDE5ODkgLSBPIFN1bj49OSA0dSAxIC0KLS1SIEF1IDE5OTAgbyAtIFMgMTYgNHUgMSAtCi0tUiBBdSAxOTkxIDE5OTYgLSBNYXIgU3VuPj05IDN1IDAgLQotLVIgQXUgMTk5MSAxOTk3IC0gTyBTdW4+PTkgNHUgMSAtCi0tUiBBdSAxOTk3IG8gLSBNYXIgMzAgM3UgMCAtCi0tUiBBdSAxOTk4IG8gLSBNYXIgU3VuPj05IDN1IDAgLQotLVIgQXUgMTk5OCBvIC0gUyAyNyA0dSAxIC0KLS1SIEF1IDE5OTkgbyAtIEFwIDQgM3UgMCAtCi0tUiBBdSAxOTk5IDIwMTAgLSBPIFN1bj49OSA0dSAxIC0KLS1SIEF1IDIwMDAgMjAwNyAtIE1hciBTdW4+PTkgM3UgMCAtCi0tUiBBdSAyMDA4IG8gLSBNYXIgMzAgM3UgMCAtCi0tUiBBdSAyMDA5IG8gLSBNYXIgU3VuPj05IDN1IDAgLQotLVIgQXUgMjAxMCBvIC0gQXAgU3VuPj0xIDN1IDAgLQotLVIgQXUgMjAxMSBvIC0gTWF5IFN1bj49MiAzdSAwIC0KLS1SIEF1IDIwMTEgbyAtIEF1IFN1bj49MTYgNHUgMSAtCi0tUiBBdSAyMDEyIDIwMTQgLSBBcCBTdW4+PTIzIDN1IDAgLQotLVIgQXUgMjAxMiAyMDE0IC0gUyBTdW4+PTIgNHUgMSAtCi0tUiBBdSAyMDE2IG1hIC0gTWF5IFN1bj49OSAzdSAwIC0KLS1SIEF1IDIwMTYgbWEgLSBBdSBTdW4+PTkgNHUgMSAtCi0rUiB4IDE5MjcgMTkzMSAtIFMgMSAwIDEgLQotK1IgeCAxOTI4IDE5MzIgLSBBcCAxIDAgMCAtCi0rUiB4IDE5NjggbyAtIE4gMyA0dSAxIC0KLStSIHggMTk2OSBvIC0gTWFyIDMwIDN1IDAgLQotK1IgeCAxOTY5IG8gLSBOIDIzIDR1IDEgLQotK1IgeCAxOTcwIG8gLSBNYXIgMjkgM3UgMCAtCi0rUiB4IDE5NzEgbyAtIE1hciAxNCAzdSAwIC0KLStSIHggMTk3MCAxOTcyIC0gTyBTdW4+PTkgNHUgMSAtCi0rUiB4IDE5NzIgMTk4NiAtIE1hciBTdW4+PTkgM3UgMCAtCi0rUiB4IDE5NzMgbyAtIFMgMzAgNHUgMSAtCi0rUiB4IDE5NzQgMTk4NyAtIE8gU3VuPj05IDR1IDEgLQotK1IgeCAxOTg3IG8gLSBBcCAxMiAzdSAwIC0KLStSIHggMTk4OCAxOTkwIC0gTWFyIFN1bj49OSAzdSAwIC0KLStSIHggMTk4OCAxOTg5IC0gTyBTdW4+PTkgNHUgMSAtCi0rUiB4IDE5OTAgbyAtIFMgMTYgNHUgMSAtCi0rUiB4IDE5OTEgMTk5NiAtIE1hciBTdW4+PTkgM3UgMCAtCi0rUiB4IDE5OTEgMTk5NyAtIE8gU3VuPj05IDR1IDEgLQotK1IgeCAxOTk3IG8gLSBNYXIgMzAgM3UgMCAtCi0rUiB4IDE5OTggbyAtIE1hciBTdW4+PTkgM3UgMCAtCi0rUiB4IDE5OTggbyAtIFMgMjcgNHUgMSAtCi0rUiB4IDE5OTkgbyAtIEFwIDQgM3UgMCAtCi0rUiB4IDE5OTkgMjAxMCAtIE8gU3VuPj05IDR1IDEgLQotK1IgeCAyMDAwIDIwMDcgLSBNYXIgU3VuPj05IDN1IDAgLQotK1IgeCAyMDA4IG8gLSBNYXIgMzAgM3UgMCAtCi0rUiB4IDIwMDkgbyAtIE1hciBTdW4+PTkgM3UgMCAtCi0rUiB4IDIwMTAgbyAtIEFwIFN1bj49MSAzdSAwIC0KLStSIHggMjAxMSBvIC0gTWF5IFN1bj49MiAzdSAwIC0KLStSIHggMjAxMSBvIC0gQXUgU3VuPj0xNiA0dSAxIC0KLStSIHggMjAxMiAyMDE0IC0gQXAgU3VuPj0yMyAzdSAwIC0KLStSIHggMjAxMiAyMDE0IC0gUyBTdW4+PTIgNHUgMSAtCi0rUiB4IDIwMTYgMjAxOCAtIE1heSBTdW4+PTkgM3UgMCAtCi0rUiB4IDIwMTYgMjAxOCAtIEF1IFN1bj49OSA0dSAxIC0KLStSIHggMjAxOSBtYSAtIEFwIFN1bj49MiAzdSAwIC0KLStSIHggMjAxOSBtYSAtIFMgU3VuPj0yIDR1IDEgLQotIFogQW1lcmljYS9TYW50aWFnbyAtNDo0Mjo0NiAtIExNVCAxODkwCi0gLTQ6NDI6NDYgLSBTTVQgMTkxMCBKYSAxMAotIC01IC0gLTA1IDE5MTYgSnVsCi0gLTQ6NDI6NDYgLSBTTVQgMTkxOCBTIDEwCi0gLTQgLSAtMDQgMTkxOSBKdWwKLSAtNDo0Mjo0NiAtIFNNVCAxOTI3IFMKLS0tNSBBdSAtMDUvLTA0IDE5MzIgUwotKy01IHggLTA1Ly0wNCAxOTMyIFMKLSAtNCAtIC0wNCAxOTQyIEp1bgotIC01IC0gLTA1IDE5NDIgQXUKLSAtNCAtIC0wNCAxOTQ2IEp1bCAxNQotIC00IDEgLTAzIDE5NDYgUwotIC00IC0gLTA0IDE5NDcgQXAKLSAtNSAtIC0wNSAxOTQ3IE1heSAyMSAyMwotLS00IEF1IC0wNC8tMDMKLSstNCB4IC0wNC8tMDMKLSBaIEFtZXJpY2EvUHVudGFfQXJlbmFzIC00OjQzOjQwIC0gTE1UIDE4OTAKLSAtNDo0Mjo0NiAtIFNNVCAxOTEwIEphIDEwCi0gLTUgLSAtMDUgMTkxNiBKdWwKLSAtNDo0Mjo0NiAtIFNNVCAxOTE4IFMgMTAKLSAtNCAtIC0wNCAxOTE5IEp1bAotIC00OjQyOjQ2IC0gU01UIDE5MjcgUwotLS01IEF1IC0wNS8tMDQgMTkzMiBTCi0rLTUgeCAtMDUvLTA0IDE5MzIgUwotIC00IC0gLTA0IDE5NDIgSnVuCi0gLTUgLSAtMDUgMTk0MiBBdQotIC00IC0gLTA0IDE5NDcgQXAKLSAtNSAtIC0wNSAxOTQ3IE1heSAyMSAyMwotLS00IEF1IC0wNC8tMDMgMjAxNiBEIDQKLSstNCB4IC0wNC8tMDMgMjAxNiBEIDQKLSAtMyAtIC0wMwotIFogUGFjaWZpYy9FYXN0ZXIgLTc6MTc6MjggLSBMTVQgMTg5MAotIC03OjE3OjI4IC0gRU1UIDE5MzIgUwotLS03IEF1IC0wNy8tMDYgMTk4MiBNYXIgMTQgM3UKLS0tNiBBdSAtMDYvLTA1Ci0rLTcgeCAtMDcvLTA2IDE5ODIgTWFyIDE0IDN1Ci0rLTYgeCAtMDYvLTA1Ci0gWiBBbnRhcmN0aWNhL1BhbG1lciAwIC0gLTAwIDE5NjUKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTgyIE1heQotLS00IEF1IC0wNC8tMDMgMjAxNiBEIDQKLSstNCBBIC0wNC8tMDMgMTk2OSBPIDUKLSstMyBBIC0wMy8tMDIgMTk4MiBNYXkKLSstNCB4IC0wNC8tMDMgMjAxNiBEIDQKLSAtMyAtIC0wMwotLVIgQXYgMTk5MiBvIC0gTWF5IDMgMCAxIC0KLS1SIEF2IDE5OTMgbyAtIEFwIDQgMCAwIC0KLStSIENPIDE5OTIgbyAtIE1heSAzIDAgMSAtCi0rUiBDTyAxOTkzIG8gLSBBcCA0IDAgMCAtCi0gWiBBbWVyaWNhL0JvZ290YSAtNDo1NjoxNiAtIExNVCAxODg0IE1hciAxMwotIC00OjU2OjE2IC0gQk1UIDE5MTQgTiAyMwotLS01IEF2IC0wNS8tMDQKLSstNSBDTyAtMDUvLTA0Ci0gWiBBbWVyaWNhL0N1cmFjYW8gLTQ6MzU6NDcgLSBMTVQgMTkxMiBGIDEyCi0gLTQ6MzAgLSAtMDQzMCAxOTY1Ci0gLTQgLSBBU1QKLSBMaSBBbWVyaWNhL0N1cmFjYW8gQW1lcmljYS9Mb3dlcl9QcmluY2VzCi0gTGkgQW1lcmljYS9DdXJhY2FvIEFtZXJpY2EvS3JhbGVuZGlqawotLVIgQXcgMTk5MiBvIC0gTiAyOCAwIDEgLQotLVIgQXcgMTk5MyBvIC0gRiA1IDAgMCAtCi0rUiBFQyAxOTkyIG8gLSBOIDI4IDAgMSAtCi0rUiBFQyAxOTkzIG8gLSBGIDUgMCAwIC0KLSBaIEFtZXJpY2EvR3VheWFxdWlsIC01OjE5OjIwIC0gTE1UIDE4OTAKLSAtNToxNCAtIFFNVCAxOTMxCi0tLTUgQXcgLTA1Ly0wNAotKy01IEVDIC0wNS8tMDQKLSBaIFBhY2lmaWMvR2FsYXBhZ29zIC01OjU4OjI0IC0gTE1UIDE5MzEKLSAtNSAtIC0wNSAxOTg2Ci0tLTYgQXcgLTA2Ly0wNQotLVIgQXggMTkzNyAxOTM4IC0gUyBsYXN0U3VuIDAgMSAtCi0tUiBBeCAxOTM4IDE5NDIgLSBNYXIgU3VuPj0xOSAwIDAgLQotLVIgQXggMTkzOSBvIC0gTyAxIDAgMSAtCi0tUiBBeCAxOTQwIDE5NDIgLSBTIGxhc3RTdW4gMCAxIC0KLS1SIEF4IDE5NDMgbyAtIEphIDEgMCAwIC0KLS1SIEF4IDE5ODMgbyAtIFMgbGFzdFN1biAwIDEgLQotLVIgQXggMTk4NCAxOTg1IC0gQXAgbGFzdFN1biAwIDAgLQotLVIgQXggMTk4NCBvIC0gUyAxNiAwIDEgLQotLVIgQXggMTk4NSAyMDAwIC0gUyBTdW4+PTkgMCAxIC0KLS1SIEF4IDE5ODYgMjAwMCAtIEFwIFN1bj49MTYgMCAwIC0KLS1SIEF4IDIwMDEgMjAxMCAtIEFwIFN1bj49MTUgMiAwIC0KLS1SIEF4IDIwMDEgMjAxMCAtIFMgU3VuPj0xIDIgMSAtCi0rLTYgRUMgLTA2Ly0wNQotK1IgRksgMTkzNyAxOTM4IC0gUyBsYXN0U3VuIDAgMSAtCi0rUiBGSyAxOTM4IDE5NDIgLSBNYXIgU3VuPj0xOSAwIDAgLQotK1IgRksgMTkzOSBvIC0gTyAxIDAgMSAtCi0rUiBGSyAxOTQwIDE5NDIgLSBTIGxhc3RTdW4gMCAxIC0KLStSIEZLIDE5NDMgbyAtIEphIDEgMCAwIC0KLStSIEZLIDE5ODMgbyAtIFMgbGFzdFN1biAwIDEgLQotK1IgRksgMTk4NCAxOTg1IC0gQXAgbGFzdFN1biAwIDAgLQotK1IgRksgMTk4NCBvIC0gUyAxNiAwIDEgLQotK1IgRksgMTk4NSAyMDAwIC0gUyBTdW4+PTkgMCAxIC0KLStSIEZLIDE5ODYgMjAwMCAtIEFwIFN1bj49MTYgMCAwIC0KLStSIEZLIDIwMDEgMjAxMCAtIEFwIFN1bj49MTUgMiAwIC0KLStSIEZLIDIwMDEgMjAxMCAtIFMgU3VuPj0xIDIgMSAtCi0gWiBBdGxhbnRpYy9TdGFubGV5IC0zOjUxOjI0IC0gTE1UIDE4OTAKLSAtMzo1MToyNCAtIFNNVCAxOTEyIE1hciAxMgotLS00IEF4IC0wNC8tMDMgMTk4MyBNYXkKLS0tMyBBeCAtMDMvLTAyIDE5ODUgUyAxNQotLS00IEF4IC0wNC8tMDMgMjAxMCBTIDUgMgotKy00IEZLIC0wNC8tMDMgMTk4MyBNYXkKLSstMyBGSyAtMDMvLTAyIDE5ODUgUyAxNQotKy00IEZLIC0wNC8tMDMgMjAxMCBTIDUgMgotIC0zIC0gLTAzCi0gWiBBbWVyaWNhL0NheWVubmUgLTM6Mjk6MjAgLSBMTVQgMTkxMSBKdWwKLSAtNCAtIC0wNCAxOTY3IE8KLUBAIC0zODc4LDQ2ICszODk3LDQ2IEBAIFogQW1lcmljYS9HdXlhbmEgLTM6NTI6NDAgLSBMTVQgMTkxNSBNYXIKLSAtMzo0NSAtIC0wMzQ1IDE5NzUgSnVsIDMxCi0gLTMgLSAtMDMgMTk5MQotIC00IC0gLTA0Ci0tUiBBeSAxOTc1IDE5ODggLSBPIDEgMCAxIC0KLS1SIEF5IDE5NzUgMTk3OCAtIE1hciAxIDAgMCAtCi0tUiBBeSAxOTc5IDE5OTEgLSBBcCAxIDAgMCAtCi0tUiBBeSAxOTg5IG8gLSBPIDIyIDAgMSAtCi0tUiBBeSAxOTkwIG8gLSBPIDEgMCAxIC0KLS1SIEF5IDE5OTEgbyAtIE8gNiAwIDEgLQotLVIgQXkgMTk5MiBvIC0gTWFyIDEgMCAwIC0KLS1SIEF5IDE5OTIgbyAtIE8gNSAwIDEgLQotLVIgQXkgMTk5MyBvIC0gTWFyIDMxIDAgMCAtCi0tUiBBeSAxOTkzIDE5OTUgLSBPIDEgMCAxIC0KLS1SIEF5IDE5OTQgMTk5NSAtIEYgbGFzdFN1biAwIDAgLQotLVIgQXkgMTk5NiBvIC0gTWFyIDEgMCAwIC0KLS1SIEF5IDE5OTYgMjAwMSAtIE8gU3VuPj0xIDAgMSAtCi0tUiBBeSAxOTk3IG8gLSBGIGxhc3RTdW4gMCAwIC0KLS1SIEF5IDE5OTggMjAwMSAtIE1hciBTdW4+PTEgMCAwIC0KLS1SIEF5IDIwMDIgMjAwNCAtIEFwIFN1bj49MSAwIDAgLQotLVIgQXkgMjAwMiAyMDAzIC0gUyBTdW4+PTEgMCAxIC0KLS1SIEF5IDIwMDQgMjAwOSAtIE8gU3VuPj0xNSAwIDEgLQotLVIgQXkgMjAwNSAyMDA5IC0gTWFyIFN1bj49OCAwIDAgLQotLVIgQXkgMjAxMCBtYSAtIE8gU3VuPj0xIDAgMSAtCi0tUiBBeSAyMDEwIDIwMTIgLSBBcCBTdW4+PTggMCAwIC0KLS1SIEF5IDIwMTMgbWEgLSBNYXIgU3VuPj0yMiAwIDAgLQotK1IgeSAxOTc1IDE5ODggLSBPIDEgMCAxIC0KLStSIHkgMTk3NSAxOTc4IC0gTWFyIDEgMCAwIC0KLStSIHkgMTk3OSAxOTkxIC0gQXAgMSAwIDAgLQotK1IgeSAxOTg5IG8gLSBPIDIyIDAgMSAtCi0rUiB5IDE5OTAgbyAtIE8gMSAwIDEgLQotK1IgeSAxOTkxIG8gLSBPIDYgMCAxIC0KLStSIHkgMTk5MiBvIC0gTWFyIDEgMCAwIC0KLStSIHkgMTk5MiBvIC0gTyA1IDAgMSAtCi0rUiB5IDE5OTMgbyAtIE1hciAzMSAwIDAgLQotK1IgeSAxOTkzIDE5OTUgLSBPIDEgMCAxIC0KLStSIHkgMTk5NCAxOTk1IC0gRiBsYXN0U3VuIDAgMCAtCi0rUiB5IDE5OTYgbyAtIE1hciAxIDAgMCAtCi0rUiB5IDE5OTYgMjAwMSAtIE8gU3VuPj0xIDAgMSAtCi0rUiB5IDE5OTcgbyAtIEYgbGFzdFN1biAwIDAgLQotK1IgeSAxOTk4IDIwMDEgLSBNYXIgU3VuPj0xIDAgMCAtCi0rUiB5IDIwMDIgMjAwNCAtIEFwIFN1bj49MSAwIDAgLQotK1IgeSAyMDAyIDIwMDMgLSBTIFN1bj49MSAwIDEgLQotK1IgeSAyMDA0IDIwMDkgLSBPIFN1bj49MTUgMCAxIC0KLStSIHkgMjAwNSAyMDA5IC0gTWFyIFN1bj49OCAwIDAgLQotK1IgeSAyMDEwIG1hIC0gTyBTdW4+PTEgMCAxIC0KLStSIHkgMjAxMCAyMDEyIC0gQXAgU3VuPj04IDAgMCAtCi0rUiB5IDIwMTMgbWEgLSBNYXIgU3VuPj0yMiAwIDAgLQotIFogQW1lcmljYS9Bc3VuY2lvbiAtMzo1MDo0MCAtIExNVCAxODkwCi0gLTM6NTA6NDAgLSBBTVQgMTkzMSBPIDEwCi0gLTQgLSAtMDQgMTk3MiBPCi0gLTMgLSAtMDMgMTk3NCBBcAotLS00IEF5IC0wNC8tMDMKLS1SIEF6IDE5MzggbyAtIEphIDEgMCAxIC0KLS1SIEF6IDE5MzggbyAtIEFwIDEgMCAwIC0KLS1SIEF6IDE5MzggMTkzOSAtIFMgbGFzdFN1biAwIDEgLQotLVIgQXogMTkzOSAxOTQwIC0gTWFyIFN1bj49MjQgMCAwIC0KLS1SIEF6IDE5ODYgMTk4NyAtIEphIDEgMCAxIC0KLS1SIEF6IDE5ODYgMTk4NyAtIEFwIDEgMCAwIC0KLS1SIEF6IDE5OTAgbyAtIEphIDEgMCAxIC0KLS1SIEF6IDE5OTAgbyAtIEFwIDEgMCAwIC0KLS1SIEF6IDE5OTQgbyAtIEphIDEgMCAxIC0KLS1SIEF6IDE5OTQgbyAtIEFwIDEgMCAwIC0KLSstNCB5IC0wNC8tMDMKLStSIFBFIDE5MzggbyAtIEphIDEgMCAxIC0KLStSIFBFIDE5MzggbyAtIEFwIDEgMCAwIC0KLStSIFBFIDE5MzggMTkzOSAtIFMgbGFzdFN1biAwIDEgLQotK1IgUEUgMTkzOSAxOTQwIC0gTWFyIFN1bj49MjQgMCAwIC0KLStSIFBFIDE5ODYgMTk4NyAtIEphIDEgMCAxIC0KLStSIFBFIDE5ODYgMTk4NyAtIEFwIDEgMCAwIC0KLStSIFBFIDE5OTAgbyAtIEphIDEgMCAxIC0KLStSIFBFIDE5OTAgbyAtIEFwIDEgMCAwIC0KLStSIFBFIDE5OTQgbyAtIEphIDEgMCAxIC0KLStSIFBFIDE5OTQgbyAtIEFwIDEgMCAwIC0KLSBaIEFtZXJpY2EvTGltYSAtNTo4OjEyIC0gTE1UIDE4OTAKLSAtNTo4OjM2IC0gTE1UIDE5MDggSnVsIDI4Ci0tLTUgQXogLTA1Ly0wNAotKy01IFBFIC0wNS8tMDQKLSBaIEF0bGFudGljL1NvdXRoX0dlb3JnaWEgLTI6MjY6OCAtIExNVCAxODkwCi0gLTIgLSAtMDIKLSBaIEFtZXJpY2EvUGFyYW1hcmlibyAtMzo0MDo0MCAtIExNVCAxOTExCi1AQCAtMzk0MCw2NSArMzk1OSw2NSBAQCBMaSBBbWVyaWNhL1BvcnRfb2ZfU3BhaW4gQW1lcmljYS9TdF9MdWNpYQotIExpIEFtZXJpY2EvUG9ydF9vZl9TcGFpbiBBbWVyaWNhL1N0X1Rob21hcwotIExpIEFtZXJpY2EvUG9ydF9vZl9TcGFpbiBBbWVyaWNhL1N0X1ZpbmNlbnQKLSBMaSBBbWVyaWNhL1BvcnRfb2ZfU3BhaW4gQW1lcmljYS9Ub3J0b2xhCi0tUiBBISAxOTIzIDE5MjUgLSBPIDEgMCAwOjMwIC0KLS1SIEEhIDE5MjQgMTkyNiAtIEFwIDEgMCAwIC0KLS1SIEEhIDE5MzMgMTkzOCAtIE8gbGFzdFN1biAwIDA6MzAgLQotLVIgQSEgMTkzNCAxOTQxIC0gTWFyIGxhc3RTYXQgMjQgMCAtCi0tUiBBISAxOTM5IG8gLSBPIDEgMCAwOjMwIC0KLS1SIEEhIDE5NDAgbyAtIE8gMjcgMCAwOjMwIC0KLS1SIEEhIDE5NDEgbyAtIEF1IDEgMCAwOjMwIC0KLS1SIEEhIDE5NDIgbyAtIEQgMTQgMCAwOjMwIC0KLS1SIEEhIDE5NDMgbyAtIE1hciAxNCAwIDAgLQotLVIgQSEgMTk1OSBvIC0gTWF5IDI0IDAgMDozMCAtCi0tUiBBISAxOTU5IG8gLSBOIDE1IDAgMCAtCi0tUiBBISAxOTYwIG8gLSBKYSAxNyAwIDEgLQotLVIgQSEgMTk2MCBvIC0gTWFyIDYgMCAwIC0KLS1SIEEhIDE5NjUgbyAtIEFwIDQgMCAxIC0KLS1SIEEhIDE5NjUgbyAtIFMgMjYgMCAwIC0KLS1SIEEhIDE5NjggbyAtIE1heSAyNyAwIDA6MzAgLQotLVIgQSEgMTk2OCBvIC0gRCAxIDAgMCAtCi0tUiBBISAxOTcwIG8gLSBBcCAyNSAwIDEgLQotLVIgQSEgMTk3MCBvIC0gSnVuIDE0IDAgMCAtCi0tUiBBISAxOTcyIG8gLSBBcCAyMyAwIDEgLQotLVIgQSEgMTk3MiBvIC0gSnVsIDE2IDAgMCAtCi0tUiBBISAxOTc0IG8gLSBKYSAxMyAwIDE6MzAgLQotLVIgQSEgMTk3NCBvIC0gTWFyIDEwIDAgMDozMCAtCi0tUiBBISAxOTc0IG8gLSBTIDEgMCAwIC0KLS1SIEEhIDE5NzQgbyAtIEQgMjIgMCAxIC0KLS1SIEEhIDE5NzUgbyAtIE1hciAzMCAwIDAgLQotLVIgQSEgMTk3NiBvIC0gRCAxOSAwIDEgLQotLVIgQSEgMTk3NyBvIC0gTWFyIDYgMCAwIC0KLS1SIEEhIDE5NzcgbyAtIEQgNCAwIDEgLQotLVIgQSEgMTk3OCAxOTc5IC0gTWFyIFN1bj49MSAwIDAgLQotLVIgQSEgMTk3OCBvIC0gRCAxNyAwIDEgLQotLVIgQSEgMTk3OSBvIC0gQXAgMjkgMCAxIC0KLS1SIEEhIDE5ODAgbyAtIE1hciAxNiAwIDAgLQotLVIgQSEgMTk4NyBvIC0gRCAxNCAwIDEgLQotLVIgQSEgMTk4OCBvIC0gRiAyOCAwIDAgLQotLVIgQSEgMTk4OCBvIC0gRCAxMSAwIDEgLQotLVIgQSEgMTk4OSBvIC0gTWFyIDUgMCAwIC0KLS1SIEEhIDE5ODkgbyAtIE8gMjkgMCAxIC0KLS1SIEEhIDE5OTAgbyAtIEYgMjUgMCAwIC0KLS1SIEEhIDE5OTAgMTk5MSAtIE8gU3VuPj0yMSAwIDEgLQotLVIgQSEgMTk5MSAxOTkyIC0gTWFyIFN1bj49MSAwIDAgLQotLVIgQSEgMTk5MiBvIC0gTyAxOCAwIDEgLQotLVIgQSEgMTk5MyBvIC0gRiAyOCAwIDAgLQotLVIgQSEgMjAwNCBvIC0gUyAxOSAwIDEgLQotLVIgQSEgMjAwNSBvIC0gTWFyIDI3IDIgMCAtCi0tUiBBISAyMDA1IG8gLSBPIDkgMiAxIC0KLS1SIEEhIDIwMDYgMjAxNSAtIE1hciBTdW4+PTggMiAwIC0KLS1SIEEhIDIwMDYgMjAxNCAtIE8gU3VuPj0xIDIgMSAtCi0rUiBVIDE5MjMgMTkyNSAtIE8gMSAwIDA6MzAgLQotK1IgVSAxOTI0IDE5MjYgLSBBcCAxIDAgMCAtCi0rUiBVIDE5MzMgMTkzOCAtIE8gbGFzdFN1biAwIDA6MzAgLQotK1IgVSAxOTM0IDE5NDEgLSBNYXIgbGFzdFNhdCAyNCAwIC0KLStSIFUgMTkzOSBvIC0gTyAxIDAgMDozMCAtCi0rUiBVIDE5NDAgbyAtIE8gMjcgMCAwOjMwIC0KLStSIFUgMTk0MSBvIC0gQXUgMSAwIDA6MzAgLQotK1IgVSAxOTQyIG8gLSBEIDE0IDAgMDozMCAtCi0rUiBVIDE5NDMgbyAtIE1hciAxNCAwIDAgLQotK1IgVSAxOTU5IG8gLSBNYXkgMjQgMCAwOjMwIC0KLStSIFUgMTk1OSBvIC0gTiAxNSAwIDAgLQotK1IgVSAxOTYwIG8gLSBKYSAxNyAwIDEgLQotK1IgVSAxOTYwIG8gLSBNYXIgNiAwIDAgLQotK1IgVSAxOTY1IG8gLSBBcCA0IDAgMSAtCi0rUiBVIDE5NjUgbyAtIFMgMjYgMCAwIC0KLStSIFUgMTk2OCBvIC0gTWF5IDI3IDAgMDozMCAtCi0rUiBVIDE5NjggbyAtIEQgMSAwIDAgLQotK1IgVSAxOTcwIG8gLSBBcCAyNSAwIDEgLQotK1IgVSAxOTcwIG8gLSBKdW4gMTQgMCAwIC0KLStSIFUgMTk3MiBvIC0gQXAgMjMgMCAxIC0KLStSIFUgMTk3MiBvIC0gSnVsIDE2IDAgMCAtCi0rUiBVIDE5NzQgbyAtIEphIDEzIDAgMTozMCAtCi0rUiBVIDE5NzQgbyAtIE1hciAxMCAwIDA6MzAgLQotK1IgVSAxOTc0IG8gLSBTIDEgMCAwIC0KLStSIFUgMTk3NCBvIC0gRCAyMiAwIDEgLQotK1IgVSAxOTc1IG8gLSBNYXIgMzAgMCAwIC0KLStSIFUgMTk3NiBvIC0gRCAxOSAwIDEgLQotK1IgVSAxOTc3IG8gLSBNYXIgNiAwIDAgLQotK1IgVSAxOTc3IG8gLSBEIDQgMCAxIC0KLStSIFUgMTk3OCAxOTc5IC0gTWFyIFN1bj49MSAwIDAgLQotK1IgVSAxOTc4IG8gLSBEIDE3IDAgMSAtCi0rUiBVIDE5NzkgbyAtIEFwIDI5IDAgMSAtCi0rUiBVIDE5ODAgbyAtIE1hciAxNiAwIDAgLQotK1IgVSAxOTg3IG8gLSBEIDE0IDAgMSAtCi0rUiBVIDE5ODggbyAtIEYgMjggMCAwIC0KLStSIFUgMTk4OCBvIC0gRCAxMSAwIDEgLQotK1IgVSAxOTg5IG8gLSBNYXIgNSAwIDAgLQotK1IgVSAxOTg5IG8gLSBPIDI5IDAgMSAtCi0rUiBVIDE5OTAgbyAtIEYgMjUgMCAwIC0KLStSIFUgMTk5MCAxOTkxIC0gTyBTdW4+PTIxIDAgMSAtCi0rUiBVIDE5OTEgMTk5MiAtIE1hciBTdW4+PTEgMCAwIC0KLStSIFUgMTk5MiBvIC0gTyAxOCAwIDEgLQotK1IgVSAxOTkzIG8gLSBGIDI4IDAgMCAtCi0rUiBVIDIwMDQgbyAtIFMgMTkgMCAxIC0KLStSIFUgMjAwNSBvIC0gTWFyIDI3IDIgMCAtCi0rUiBVIDIwMDUgbyAtIE8gOSAyIDEgLQotK1IgVSAyMDA2IDIwMTUgLSBNYXIgU3VuPj04IDIgMCAtCi0rUiBVIDIwMDYgMjAxNCAtIE8gU3VuPj0xIDIgMSAtCi0gWiBBbWVyaWNhL01vbnRldmlkZW8gLTM6NDQ6NTEgLSBMTVQgMTkwOCBKdW4gMTAKLSAtMzo0NDo1MSAtIE1NVCAxOTIwIE1heQotIC00IC0gLTA0IDE5MjMgTwotLS0zOjMwIEEhIC0wMzMwLy0wMyAxOTQyIEQgMTQKLS0tMyBBISAtMDMvLTAyMzAgMTk2MAotLS0zIEEhIC0wMy8tMDIgMTk2OAotLS0zIEEhIC0wMy8tMDIzMCAxOTcwCi0tLTMgQSEgLTAzLy0wMiAxOTc0Ci0tLTMgQSEgLTAzLy0wMTMwIDE5NzQgTWFyIDEwCi0tLTMgQSEgLTAzLy0wMjMwIDE5NzQgRCAyMgotLS0zIEEhIC0wMy8tMDIKLSstMzozMCBVIC0wMzMwLy0wMyAxOTQyIEQgMTQKLSstMyBVIC0wMy8tMDIzMCAxOTYwCi0rLTMgVSAtMDMvLTAyIDE5NjgKLSstMyBVIC0wMy8tMDIzMCAxOTcwCi0rLTMgVSAtMDMvLTAyIDE5NzQKLSstMyBVIC0wMy8tMDEzMCAxOTc0IE1hciAxMAotKy0zIFUgLTAzLy0wMjMwIDE5NzQgRCAyMgotKy0zIFUgLTAzLy0wMgotIFogQW1lcmljYS9DYXJhY2FzIC00OjI3OjQ0IC0gTE1UIDE4OTAKLSAtNDoyNzo0MCAtIENNVCAxOTEyIEYgMTIKLSAtNDozMCAtIC0wNDMwIDE5NjUKLWRpZmYgLS1naXQgYS9zcmMvdGltZXpvbmUva25vd25fYWJicmV2cy50eHQgYi9zcmMvdGltZXpvbmUva25vd25fYWJicmV2cy50eHQKLWluZGV4IDY3ZDJmMGIuLjJhZTQ0M2EgMTAwNjQ0Ci0tLS0gYS9zcmMvdGltZXpvbmUva25vd25fYWJicmV2cy50eHQKLSsrKyBiL3NyYy90aW1lem9uZS9rbm93bl9hYmJyZXZzLnR4dAotQEAgLTkyLDYgKzkyLDcgQEAgTlpTVAk0MzIwMAotIFBEVAktMjUyMDAJRAotIFBLVAkxODAwMAotIFBTVAktMjg4MDAKLStQU1QJMjg4MDAKLSBTQVNUCTcyMDAKLSBTU1QJLTM5NjAwCi0gVUNUCTAKLWRpZmYgLS1naXQgYS9zcmMvdGltZXpvbmUvdHpuYW1lcy9BbWVyaWNhLnR4dCBiL3NyYy90aW1lem9uZS90em5hbWVzL0FtZXJpY2EudHh0Ci1pbmRleCAxYzVlYjFmLi4yNTk0YzM3IDEwMDY0NAotLS0tIGEvc3JjL3RpbWV6b25lL3R6bmFtZXMvQW1lcmljYS50eHQKLSsrKyBiL3NyYy90aW1lem9uZS90em5hbWVzL0FtZXJpY2EudHh0Ci1AQCAtMjM3LDYgKzIzNyw5IEBAIFBEVCAgICAtMjUyMDAgRCAgIyBQYWNpZmljIERheWxpZ2h0IFRpbWUKLSBQRVQgICAgLTE4MDAwICAgICMgUGVydSBUaW1lIChvYnNvbGV0ZSkKLSBQTURUICAgIC03MjAwIEQgICMgUGllcnJlICYgTWlxdWVsb24gRGF5bGlnaHQgVGltZSAob2Jzb2xldGUpCi0gUE1TVCAgIC0xMDgwMCAgICAjIFBpZXJyZSAmIE1pcXVlbG9uIFN0YW5kYXJkIFRpbWUgKG9ic29sZXRlKQotKyMgQ09ORkxJQ1QhIFBTVCBpcyBub3QgdW5pcXVlCi0rIyBPdGhlciB0aW1lem9uZXM6Ci0rIyAgLSBQU1Q6IFBoaWxpcHBpbmUgU3RhbmRhcmQgVGltZQotIFBTVCAgICAtMjg4MDAgICAgIyBQYWNpZmljIFN0YW5kYXJkIFRpbWUKLSAgICAgICAgICAgICAgICAgICMgICAgIChBbWVyaWNhL0Rhd3NvbikKLSAgICAgICAgICAgICAgICAgICMgICAgIChBbWVyaWNhL0xvc19BbmdlbGVzKQotZGlmZiAtLWdpdCBhL3NyYy90aW1lem9uZS90em5hbWVzL0FzaWEudHh0IGIvc3JjL3RpbWV6b25lL3R6bmFtZXMvQXNpYS50eHQKLWluZGV4IGUxZmE5MzEuLjExMzMzMzkgMTAwNjQ0Ci0tLS0gYS9zcmMvdGltZXpvbmUvdHpuYW1lcy9Bc2lhLnR4dAotKysrIGIvc3JjL3RpbWV6b25lL3R6bmFtZXMvQXNpYS50eHQKLUBAIC0xNTgsNiArMTU4LDEwIEBAIFBLVCAgICAgMTgwMDAgICAgIyBQYWtpc3RhbiBUaW1lCi0gICAgICAgICAgICAgICAgICAjICAgICAoQXNpYS9LYXJhY2hpKQotIFBLU1QgICAgMjE2MDAgRCAgIyBQYWtpc3RhbiBTdW1tZXIgVGltZQotICAgICAgICAgICAgICAgICAgIyAgICAgKEFzaWEvS2FyYWNoaSkKLSsjIENPTkZMSUNUISBQU1QgaXMgbm90IHVuaXF1ZQotKyMgT3RoZXIgdGltZXpvbmVzOgotKyMgIC0gUFNUOiBQYWNpZmljIFN0YW5kYXJkIFRpbWUgKEFtZXJpY2EpCi0rUFNUICAgICAyODgwMCAgICAjIFBoaWxpcHBpbmUgU3RhbmRhcmQgVGltZQotIFFZWlQgICAgMjE2MDAgICAgIyBLaXppbG9yZGEgVGltZSAob2Jzb2xldGUpCi0gU0FLU1QgICBBc2lhL1Nha2hhbGluICAjIFNha2hhbGluIFN1bW1lciBUaW1lIChvYnNvbGV0ZSkKLSBTQUtUICAgIEFzaWEvU2FraGFsaW4gICMgU2FraGFsaW4gVGltZSAob2Jzb2xldGUpCi1kaWZmIC0tZ2l0IGEvc3JjL3RpbWV6b25lL3R6bmFtZXMvRGVmYXVsdCBiL3NyYy90aW1lem9uZS90em5hbWVzL0RlZmF1bHQKLWluZGV4IDM4MjYwOTYuLjE1MzI0MTMgMTAwNjQ0Ci0tLS0gYS9zcmMvdGltZXpvbmUvdHpuYW1lcy9EZWZhdWx0Ci0rKysgYi9zcmMvdGltZXpvbmUvdHpuYW1lcy9EZWZhdWx0Ci1AQCAtMTgxLDYgKzE4MSw5IEBAIFBEVCAgICAtMjUyMDAgRCAgIyBQYWNpZmljIERheWxpZ2h0IFRpbWUKLSAgICAgICAgICAgICAgICAgICMgICAgIChBbWVyaWNhL1doaXRlaG9yc2UpCi0gUE1EVCAgICAtNzIwMCBEICAjIFBpZXJyZSAmIE1pcXVlbG9uIERheWxpZ2h0IFRpbWUgKG9ic29sZXRlKQotIFBNU1QgICAtMTA4MDAgICAgIyBQaWVycmUgJiBNaXF1ZWxvbiBTdGFuZGFyZCBUaW1lIChvYnNvbGV0ZSkKLSsjIENPTkZMSUNUISBQU1QgaXMgbm90IHVuaXF1ZQotKyMgT3RoZXIgdGltZXpvbmVzOgotKyMgIC0gUFNUOiBQaGlsaXBwaW5lIFN0YW5kYXJkIFRpbWUKLSBQU1QgICAgLTI4ODAwICAgICMgUGFjaWZpYyBTdGFuZGFyZCBUaW1lCi0gICAgICAgICAgICAgICAgICAjICAgICAoQW1lcmljYS9EYXdzb24pCi0gICAgICAgICAgICAgICAgICAjICAgICAoQW1lcmljYS9Mb3NfQW5nZWxlcykKLWRpZmYgLS1naXQgYS9zcmMvdGltZXpvbmUvdHpuYW1lcy9QYWNpZmljLnR4dCBiL3NyYy90aW1lem9uZS90em5hbWVzL1BhY2lmaWMudHh0Ci1pbmRleCBjODYyNDhiLi5jMzAwMDhjIDEwMDY0NAotLS0tIGEvc3JjL3RpbWV6b25lL3R6bmFtZXMvUGFjaWZpYy50eHQKLSsrKyBiL3NyYy90aW1lem9uZS90em5hbWVzL1BhY2lmaWMudHh0Ci1AQCAtNTIsNiArNTIsOSBAQCBOWlNUICAgIDQzMjAwICAgICMgTmV3IFplYWxhbmQgU3RhbmRhcmQgVGltZQotIFBHVCAgICAgMzYwMDAgICAgIyBQYXB1YSBOZXcgR3VpbmVhIFRpbWUgKG9ic29sZXRlKQotIFBIT1QgICAgUGFjaWZpYy9FbmRlcmJ1cnkgICMgUGhvZW5peCBJc2xhbmRzIFRpbWUgKEtpcmliYXRpKSAob2Jzb2xldGUpCi0gUE9OVCAgICAzOTYwMCAgICAjIFBvbmFwZSBUaW1lIChNaWNyb25lc2lhKSAob2Jzb2xldGUpCi0rIyBDT05GTElDVCEgUFNUIGlzIG5vdCB1bmlxdWUKLSsjIE90aGVyIHRpbWV6b25lczoKLSsjICAtIFBTVDogUGhpbGlwcGluZSBTdGFuZGFyZCBUaW1lCi0gUFNUICAgIC0yODgwMCAgICAjIFBhY2lmaWMgU3RhbmRhcmQgVGltZQotICAgICAgICAgICAgICAgICAgIyAgICAgKEFtZXJpY2EvRGF3c29uKQotICAgICAgICAgICAgICAgICAgIyAgICAgKEFtZXJpY2EvTG9zX0FuZ2VsZXMpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy9ub3QtY2hlY2stbGlicGVybC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy9ub3QtY2hlY2stbGlicGVybC5wYXRjaAppbmRleCA5NzE1MTA5Li4yMmI2MmQ5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvbm90LWNoZWNrLWxpYnBlcmwucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzL25vdC1jaGVjay1saWJwZXJsLnBhdGNoCkBAIC0xLDQgKzEsNyBAQAotW1BBVENIXSBub3QgY2hlY2sgbGlicGVybCB1bmRlciBjcm9zcyBjb21waWxpbmcKK0Zyb20gN2UyYWY0ZGUxOWJlNThiYzlkNTUxYzQxY2UyNzUwMzk2ZDM1N2YzNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDI3IE5vdiAyMDE4IDEzOjI1OjE1ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIFBBVENIXSBub3QgY2hlY2sgbGlicGVybCB1bmRlciBjcm9zcyBjb21waWxpbmcKIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQogCkBAIC02LDIzICs5LDI5IEBACiBjYW4gbm90IGJlIHVzZWQgdG8gY2hlY2sgdGFyZ2V0IGxpYnJhcnkuCiAKIHBvc3RwcmVzcWwgaGFzIHRoZSBkZXBlbmRlbmN5IG9uIHBlcmwsIHNvIG5vdCBuZWVkIHRvIGNoZWNrIGxpYnBlcmwKLWFnYWluLCBsaWtlIGluIHBvc3RncmVzcWwtOS4yLjQgCithZ2FpbiwgbGlrZSBpbiBwb3N0Z3Jlc3FsLTkuMi40CiAKIFNpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKwordXBkYXRlIHBhdGNoIHRvIHZlcnNpb24gMTEuMQorU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KIC0tLQogIGNvbmZpZ3VyZS5pbiB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IHBvc3RncmVzcWwtOS40LjE1L2NvbmZpZ3VyZS5pbgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBvc3RncmVzcWwtOS40LjE1Lm9yaWcvY29uZmlndXJlLmluCi0rKysgcG9zdGdyZXNxbC05LjQuMTUvY29uZmlndXJlLmluCi1AQCAtMTg3OSw3ICsxODc5LDcgQEAgaWYgdGVzdCAiJHdpdGhfdGNsIiA9IHllczsgdGhlbgorZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggYjk4YjliYi4uODU4NDY3NyAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtMjIxMSw3ICsyMjExLDcgQEAgVXNlIC0td2l0aG91dC10Y2wgdG8gZGlzYWJsZSBidWlsZGluZyBQTC9UY2wuXSkKICBmaQogIAogICMgY2hlY2sgZm9yIDxwZXJsLmg+CiAtaWYgdGVzdCAiJHdpdGhfcGVybCIgPSB5ZXM7IHRoZW4KICtpZiB0ZXN0ICIkd2l0aF9wZXJsIiA9IHllcyAmJiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IG5vOyB0aGVuCiAgICBhY19zYXZlX0NQUEZMQUdTPSRDUFBGTEFHUwotICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAtSSRwZXJsX2FyY2hsaWJleHAvQ09SRSIKKyAgIENQUEZMQUdTPSIkQ1BQRkxBR1MgJHBlcmxfaW5jbHVkZXNwZWMiCiAgICBBQ19DSEVDS19IRUFERVIocGVybC5oLCBbXSwgW0FDX01TR19FUlJPUihbaGVhZGVyIGZpbGUgPHBlcmwuaD4gaXMgcmVxdWlyZWQgZm9yIFBlcmxdKV0sCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLmluaXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC5pbml0CmluZGV4IDRhNGYwY2QuLjE3OTFlNjggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLmluaXQKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwuaW5pdApAQCAtMTQsOCArMTQsOCBAQAogIyBQR1ZFUlNJT04gaXMgdGhlIGZ1bGwgcGFja2FnZSB2ZXJzaW9uLCBlLmcuLCA4LjQuMAogIyBOb3RlOiB0aGUgc3BlY2ZpbGUgaW5zZXJ0cyB0aGUgY29ycmVjdCB2YWx1ZSBkdXJpbmcgcGFja2FnZSBidWlsZAogUEdWRVJTSU9OPTkuMi40Ci0jIFBHTUFKT1JWRVJTSU9OIGlzIG1ham9yIHZlcnNpb24sIGUuZy4sIDguNCAodGhpcyBzaG91bGQgbWF0Y2ggUEdfVkVSU0lPTikKLVBHTUFKT1JWRVJTSU9OPWBlY2hvICIkUEdWRVJTSU9OIiB8IHNlZCAncy9eXChbMC05XSpcLlswLTldKlwpLiokL1wxLydgCisjIFBHTUFKT1JWRVJTSU9OIGlzIG1ham9yIHZlcnNpb24sIGUuZy4sIDEwICh0aGlzIHNob3VsZCBtYXRjaCBQR19WRVJTSU9OKQorUEdNQUpPUlZFUlNJT049YGVjaG8gIiRQR1ZFUlNJT04iIHwgc2VkICdzL15cKFswLTldKlwpLiokL1wxLydgCiAKICMgU291cmNlIGZ1bmN0aW9uIGxpYnJhcnkuCiAuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWwuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWwuaW5jCmluZGV4IGRjODUyMjQuLjg1ZjE5MTcgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvcG9zdGdyZXNxbC5pbmMKQEAgLTM3LDcgKzM3LDcgQEAKICMgTERGTEFHUyBmb3Igc2hhcmVkIGxpYnJhcmllcwogZXhwb3J0IExERkxBR1NfU0wgPSAiJHtMREZMQUdTfSIKIAotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHBlcmxuYXRpdmUgcHl0aG9ubmF0aXZlIHVzZXJhZGQgdXBkYXRlLXJjLmQgc3lzdGVtZCBnZXR0ZXh0Citpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcGVybG5hdGl2ZSBweXRob25uYXRpdmUgdXNlcmFkZCB1cGRhdGUtcmMuZCBzeXN0ZW1kIGdldHRleHQgY3Bhbi1iYXNlCiAKIENGTEFHUyArPSAiLUkke1NUQUdJTkdfSU5DRElSfS8ke1BZVEhPTl9ESVJ9IC1JJHtTVEFHSU5HX0lOQ0RJUn0vdGNsOC42IgogCkBAIC0xMDYsNiArMTA2LDEwIEBACiAKIH0KIAorIyBUaGlzIHdpbGwgbWFrZSBuYXRpdmUgcGVybCB1c2UgdGFyZ2V0IHNldHRpbmdzIChmb3IgaW5jbHVkZSBkaXJzIGV0Yy4pCitleHBvcnQgUEVSTENPTkZJR1RBUkdFVCA9ICIke0Bpc190YXJnZXQoZCl9IgorZXhwb3J0IFBFUkxfQVJDSExJQiA9ICIke1NUQUdJTkdfTElCRElSfSR7UEVSTF9PV05fRElSfS9wZXJsNS8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfS8ke0BnZXRfcGVybF9hcmNoKGQpfSIKKwogZG9fY29uZmlndXJlKCkgewogICAgICMgZG9fY29uZmlndXJlCiAgICAgYXV0b3Rvb2xzX2RvX2NvbmZpZ3VyZQpAQCAtMTE5LDcgKzEyMyw3IEBACiAgICAgQkxJQk5BPSJcJHtTVEFHSU5HX0JBU0VfTElCRElSX05BVElWRX0iCiAgICAgc2VkIC1pIC1lICIvXnBlcmxfYXJjaGxpYmV4cC9zOiR7TElCUE5BfToke1NUQUdJTkdfTElCRElSfTpnIiBcCiAgICAgICAgICR7Qn0vc3JjL01ha2VmaWxlLmdsb2JhbAotICAgIHNlZCAtaSAtZSAiL15wZXJsX3ByaXZsaWJleHAvczoke0xJQlBOQX06JHtTVEFHSU5HX0xJQkRJUn06ZyIgXAorICAgIHNlZCAtaSAtZSAiL15wZXJsX3ByaXZsaWJleHAvczoke2xpYmRpcn06JHtTVEFHSU5HX0xJQkRJUn06ZyIgXAogICAgICAgICAke0J9L3NyYy9NYWtlZmlsZS5nbG9iYWwKICAgICAjIHJlbW92ZSB0aGUgcnBhdGgsIHJlcGxhY2Ugd2l0aCBjb3JyZWN0IGxpYiBwYXRoCiAgICAgc2VkIC1pIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsXzEwLjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvcG9zdGdyZXNxbF8xMC41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYTAyZjE1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsXzEwLjUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1yZXF1aXJlIHBvc3RncmVzcWwuaW5jCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9NmRjOTVlNjNhYTRkNzI1MDJmZjgxOTNkZmUyZGRkMzgiCi0KLVNSQ19VUkkgKz0gIlwKLSAgICBmaWxlOi8vbm90LWNoZWNrLWxpYnBlcmwucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAxLVVwZGF0ZS10aW1lLXpvbmUtZGF0YS1maWxlcy10by10emRhdGEtcmVsZWFzZS0yMDE4Zi5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDEtU3luYy1vdXItY29weS1vZi10aGUtdGltZXpvbmUtbGlicmFyeS13aXRoLUlBTkEtcmVsZS5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJhNWZlNWZkZmYyZDZjMjhmNjU2MDEzOThiZTA5NTBkZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2YzhlNjE2YzkxYTQ1MTQyYjg1YzBhZWIxZjI5ZWJiYTRhMzYxMzA5ZTg2NDY5ZTBmYjQ2MTdiNmE3M2M0MDExIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWxfMTEuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsXzExLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY1OWM4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsXzExLjIuYmIKQEAgLTAsMCArMSwxMSBAQAorcmVxdWlyZSBwb3N0Z3Jlc3FsLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTg3ZGEyYjg0ODg0ODYwYjcxZjVmMjRhYjM3ZTdkYTc4IgorCitTUkNfVVJJICs9ICJcCisgICBmaWxlOi8vbm90LWNoZWNrLWxpYnBlcmwucGF0Y2ggXAorICAgZmlsZTovLzAwMDEtQWRkLXN1cHBvcnQtZm9yLVJJU0MtVi5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxOWQ0M2JlNjc5Y2IwZDU1MzYzZmViODkyNmFmM2EwZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNjc2YjljZTA5YzIxOTc4MDMyMDcwYjY3OTQ2OTZlMGFhNWE0NzZlM2QyMWQ2MGFmYzAzNmRjMGE5YzA5NDA1IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9yb2Nrc2RiL2ZpbGVzLzAwMDEtRGlzYWJsZS1Xc2hhZG93LWFuZC1kby1ub3QtbWFyay1kZWZhdWx0LWNvcHktY29uc3RydS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9maWxlcy8wMDAxLURpc2FibGUtV3NoYWRvdy1hbmQtZG8tbm90LW1hcmstZGVmYXVsdC1jb3B5LWNvbnN0cnUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNjYWEzYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9maWxlcy8wMDAxLURpc2FibGUtV3NoYWRvdy1hbmQtZG8tbm90LW1hcmstZGVmYXVsdC1jb3B5LWNvbnN0cnUucGF0Y2gKQEAgLTAsMCArMSw1NyBAQAorRnJvbSBlZTcyODQzNDEyNGI5YjdkMTdhYmJkMDYwYTYyYWFjNzlhOWI3OWMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTIgRmViIDIwMTkgMTQ6MzE6MjQgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRGlzYWJsZSAtV3NoYWRvdyBhbmQgZG8gbm90IG1hcmsgZGVmYXVsdCBjb3B5IGNvbnN0cnVjdG9ycworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCisgdXRpbGl0aWVzL3BlcnNpc3RlbnRfY2FjaGUvYmxvY2tfY2FjaGVfdGllci5oICAgICAgfCA0ICsrLS0KKyB1dGlsaXRpZXMvcGVyc2lzdGVudF9jYWNoZS9ibG9ja19jYWNoZV90aWVyX2ZpbGUuaCB8IDIgKy0KKyAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDk4ZTJlMTk3My4uM2EyNGEwNzViIDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtMjU0LDcgKzI1NCw3IEBAIGlmKEZBSUxfT05fV0FSTklOR1MpCisgICBpZihNU1ZDKQorICAgICBzZXQoQ01BS0VfQ1hYX0ZMQUdTICIke0NNQUtFX0NYWF9GTEFHU30gL1dYIikKKyAgIGVsc2UoKSAjIGFzc3VtZSBHQ0MKKy0gICAgc2V0KENNQUtFX0NYWF9GTEFHUyAiJHtDTUFLRV9DWFhfRkxBR1N9IC1XZXJyb3IiKQorKyAgICBzZXQoQ01BS0VfQ1hYX0ZMQUdTICIke0NNQUtFX0NYWF9GTEFHU30gLVdlcnJvciAtV25vLWVycm9yPXNoYWRvdyIpCisgICBlbmRpZigpCisgZW5kaWYoKQorIAorZGlmZiAtLWdpdCBhL3V0aWxpdGllcy9wZXJzaXN0ZW50X2NhY2hlL2Jsb2NrX2NhY2hlX3RpZXIuaCBiL3V0aWxpdGllcy9wZXJzaXN0ZW50X2NhY2hlL2Jsb2NrX2NhY2hlX3RpZXIuaAoraW5kZXggMmIyYzBlZjRmLi45NmQwNTQwYTQgMTAwNjQ0CistLS0gYS91dGlsaXRpZXMvcGVyc2lzdGVudF9jYWNoZS9ibG9ja19jYWNoZV90aWVyLmgKKysrKyBiL3V0aWxpdGllcy9wZXJzaXN0ZW50X2NhY2hlL2Jsb2NrX2NhY2hlX3RpZXIuaAorQEAgLTkxLDkgKzkxLDkgQEAgY2xhc3MgQmxvY2tDYWNoZVRpZXIgOiBwdWJsaWMgUGVyc2lzdGVudENhY2hlVGllciB7CisgICAgICAgICA6IGtleV8oc3RkOjptb3ZlKGtleSkpLCBkYXRhXyhkYXRhKSB7fQorICAgICB+SW5zZXJ0T3AoKSB7fQorIAorLSAgICBJbnNlcnRPcCgpID0gZGVsZXRlOworKyAgICBJbnNlcnRPcCgpID0gZGVmYXVsdDsKKyAgICAgSW5zZXJ0T3AoSW5zZXJ0T3AmJiAvKnJocyovKSA9IGRlZmF1bHQ7CistICAgIEluc2VydE9wJiBvcGVyYXRvcj0oSW5zZXJ0T3AmJiByaHMpID0gZGVmYXVsdDsKKysgICAgSW5zZXJ0T3AmIG9wZXJhdG9yPShJbnNlcnRPcCYmIHJocykgPSBkZWxldGU7CisgCisgICAgIC8vIHVzZWQgZm9yIGVzdGltYXRpbmcgc2l6ZSBieSBib3VuZGVkIHF1ZXVlCisgICAgIHNpemVfdCBTaXplKCkgeyByZXR1cm4gZGF0YV8uc2l6ZSgpICsga2V5Xy5zaXplKCk7IH0KK2RpZmYgLS1naXQgYS91dGlsaXRpZXMvcGVyc2lzdGVudF9jYWNoZS9ibG9ja19jYWNoZV90aWVyX2ZpbGUuaCBiL3V0aWxpdGllcy9wZXJzaXN0ZW50X2NhY2hlL2Jsb2NrX2NhY2hlX3RpZXJfZmlsZS5oCitpbmRleCBlMzhiNmM5YTEuLmQ5Yjg5YTRmNyAxMDA2NDQKKy0tLSBhL3V0aWxpdGllcy9wZXJzaXN0ZW50X2NhY2hlL2Jsb2NrX2NhY2hlX3RpZXJfZmlsZS5oCisrKysgYi91dGlsaXRpZXMvcGVyc2lzdGVudF9jYWNoZS9ibG9ja19jYWNoZV90aWVyX2ZpbGUuaAorQEAgLTI2Miw3ICsyNjIsNyBAQCBjbGFzcyBUaHJlYWRlZFdyaXRlciA6IHB1YmxpYyBXcml0ZXIgeworICAgICAgICAgOiBmaWxlXyhmaWxlKSwgYnVmXyhidWYpLCBmaWxlX29mZl8oZmlsZV9vZmYpLCBjYWxsYmFja18oY2FsbGJhY2spIHt9CisgCisgICAgIElPKGNvbnN0IElPJikgPSBkZWZhdWx0OworLSAgICBJTyYgb3BlcmF0b3I9KGNvbnN0IElPJikgPSBkZWZhdWx0OworKyAgICBJTyYgb3BlcmF0b3I9KGNvbnN0IElPJikgPSBkZWxldGU7CisgICAgIHNpemVfdCBTaXplKCkgY29uc3QgeyByZXR1cm4gc2l6ZW9mKElPKTsgfQorIAorICAgICBXcml0YWJsZUZpbGUqIGZpbGVfID0gbnVsbHB0cjsgICAgICAgICAgIC8vIEZpbGUgdG8gd3JpdGUgdG8KKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9maWxlcy8wMDAxLXV0aWxpdGllcy1GaXgtYnVpbGQtZmFpbHVyZS13aXRoLVdlcnJvci1tYXliZS11bmluaXQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3JvY2tzZGIvZmlsZXMvMDAwMS11dGlsaXRpZXMtRml4LWJ1aWxkLWZhaWx1cmUtd2l0aC1XZXJyb3ItbWF5YmUtdW5pbml0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmMDQyOWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3JvY2tzZGIvZmlsZXMvMDAwMS11dGlsaXRpZXMtRml4LWJ1aWxkLWZhaWx1cmUtd2l0aC1XZXJyb3ItbWF5YmUtdW5pbml0LnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gODk5NmYwNzVlNjRkYTBlNmZmZWRhNTc2MzJlZjMxZjg3MTBkZWZjYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhlIFpoZSA8emhlLmhlQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDE1IE1hciAyMDE5IDE2OjQ3OjAzICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHV0aWxpdGllczogRml4IGJ1aWxkIGZhaWx1cmUgd2l0aCAtV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWQKKworU3VtbWFyeToKK0luaXRpYWxpemUgbWFnaWNfbnVtYmVyIHRvIHplcm8gdG8gYXZvaWQgc3VjaCBmYWlsdXJlLgordXRpbGl0aWVzL2Jsb2JfZGIvYmxvYl9sb2dfZm9ybWF0LmNjOjkxOjM6IGVycm9yOiAnbWFnaWNfbnVtYmVyJyBtYXkgYmUgdXNlZAordW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCisgICBpZiAobWFnaWNfbnVtYmVyICE9IGtNYWdpY051bWJlcikgeworICAgXn4KKworVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZCBbZXhwZWN0ZWQgdmVyc2lvbiA1LjE5XQorCitTaWduZWQtb2ZmLWJ5OiBIZSBaaGUgPHpoZS5oZUB3aW5kcml2ZXIuY29tPgorLS0tCisgdXRpbGl0aWVzL2Jsb2JfZGIvYmxvYl9sb2dfZm9ybWF0LmNjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvdXRpbGl0aWVzL2Jsb2JfZGIvYmxvYl9sb2dfZm9ybWF0LmNjIGIvdXRpbGl0aWVzL2Jsb2JfZGIvYmxvYl9sb2dfZm9ybWF0LmNjCitpbmRleCAyYmY3MDI4Li44NzI2Y2I4IDEwMDY0NAorLS0tIGEvdXRpbGl0aWVzL2Jsb2JfZGIvYmxvYl9sb2dfZm9ybWF0LmNjCisrKysgYi91dGlsaXRpZXMvYmxvYl9kYi9ibG9iX2xvZ19mb3JtYXQuY2MKK0BAIC04Miw3ICs4Miw3IEBAIFN0YXR1cyBCbG9iTG9nRm9vdGVyOjpEZWNvZGVGcm9tKFNsaWNlIHNyYykgeworICAgdWludDMyX3Qgc3JjX2NyYyA9IDA7CisgICBzcmNfY3JjID0gY3JjMzJjOjpWYWx1ZShzcmMuZGF0YSgpLCBCbG9iTG9nRm9vdGVyOjprU2l6ZSAtIHNpemVvZih1aW50MzJfdCkpOworICAgc3JjX2NyYyA9IGNyYzMyYzo6TWFzayhzcmNfY3JjKTsKKy0gIHVpbnQzMl90IG1hZ2ljX251bWJlcjsKKysgIHVpbnQzMl90IG1hZ2ljX251bWJlciA9IDA7CisgICBpZiAoIUdldEZpeGVkMzIoJnNyYywgJm1hZ2ljX251bWJlcikgfHwgIUdldEZpeGVkNjQoJnNyYywgJmJsb2JfY291bnQpIHx8CisgICAgICAgIUdldEZpeGVkNjQoJnNyYywgJmV4cGlyYXRpb25fcmFuZ2UuZmlyc3QpIHx8CisgICAgICAgIUdldEZpeGVkNjQoJnNyYywgJmV4cGlyYXRpb25fcmFuZ2Uuc2Vjb25kKSB8fCAhR2V0Rml4ZWQzMigmc3JjLCAmY3JjKSkgeworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3JvY2tzZGIvcm9ja3NkYi8wMDAxLUZpeC1HaXRIdWItaXNzdWUtMzcxNi1nY2MtOC13YXJuaW5ncy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9yb2Nrc2RiLzAwMDEtRml4LUdpdEh1Yi1pc3N1ZS0zNzE2LWdjYy04LXdhcm5pbmdzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZTQ5ODk3Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9yb2Nrc2RiLzAwMDEtRml4LUdpdEh1Yi1pc3N1ZS0zNzE2LWdjYy04LXdhcm5pbmdzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTk0ICswLDAgQEAKLUZyb20gOGQ2NWQ3MGI1NGQxZDMwNmEwYTBiMDBlMDM2YmM4ZGRkMzlkOGVjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ICJwcnplbXlzbGF3LnNraWJpbnNraUBwZXJjb25hLmNvbSIgPHByemVteXNsYXcuc2tpYmluc2tpQHBlcmNvbmEuY29tPgotRGF0ZTogRnJpLCAyMCBBcHIgMjAxOCAxMzoyODowNSAtMDcwMAotU3ViamVjdDogW1BBVENIXSBGaXggR2l0SHViIGlzc3VlICMzNzE2OiBnY2MtOCB3YXJuaW5ncwotCi1TdW1tYXJ5OgotRml4IHRoZSBmb2xsb3dpbmcgZ2NjLTggd2FybmluZ3M6Ci0tIGNvbmZsaWN0aW5nIEMgbGFuZ3VhZ2UgbGlua2FnZSBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KLS0gd3JpdGluZyB0byBhbiBvYmplY3Qgd2l0aCBubyB0cml2aWFsIGNvcHktYXNzaWdubWVudCBbLVdlcnJvcj1jbGFzcy1tZW1hY2Nlc3NdCi0tIGFycmF5IHN1YnNjcmlwdCAtMSBpcyBiZWxvdyBhcnJheSBib3VuZHMgWy1XZXJyb3I9YXJyYXktYm91bmRzXQotCi1Tb2x2ZXMgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JvY2tzZGIvaXNzdWVzLzM3MTYKLUNsb3NlcyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcm9ja3NkYi9wdWxsLzM3MzYKLQotRGlmZmVyZW50aWFsIFJldmlzaW9uOiBENzY4NDE2MQotCi1QdWxsZWQgQnk6IHlpd3UtYXJidWcKLQotZmJzaGlwaXQtc291cmNlLWlkOiA0N2MwNDIzZDI2Yjc0YWRkMjUxZjFkMzU5NTIxMWVlZTFlNDFlNTRhCi0tLS0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcm9ja3NkYi9jb21taXQvZGVlOTVhMWFmYzZjNjM1MTVlN2Q5NGRlYzMzYWNkYjc5NjM4YjZkNy5wYXRjaF0KLQotIGRiL2MuY2MgICAgICAgICAgICAgICAgICAgfCA3NyArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBtZW10YWJsZS9pbmxpbmVza2lwbGlzdC5oIHwgMTIgKysrLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2RiL2MuY2MgYi9kYi9jLmNjCi1pbmRleCAwNjQxMDNlZDQuLjBkNDg1ZDA5NiAxMDA2NDQKLS0tLSBhL2RiL2MuY2MKLSsrKyBiL2RiL2MuY2MKLUBAIC0xMzg4LDIzICsxMzg4LDI0IEBAIHZvaWQgcm9ja3NkYl93cml0ZWJhdGNoX3B1dF9sb2dfZGF0YSgKLSAgIGItPnJlcC5QdXRMb2dEYXRhKFNsaWNlKGJsb2IsIGxlbikpOwotIH0KLSAKLStjbGFzcyBIIDogcHVibGljIFdyaXRlQmF0Y2g6OkhhbmRsZXIgewotKyBwdWJsaWM6Ci0rICB2b2lkKiBzdGF0ZV87Ci0rICB2b2lkICgqcHV0Xykodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuLCBjb25zdCBjaGFyKiB2LCBzaXplX3Qgdmxlbik7Ci0rICB2b2lkICgqZGVsZXRlZF8pKHZvaWQqLCBjb25zdCBjaGFyKiBrLCBzaXplX3Qga2xlbik7Ci0rICB2aXJ0dWFsIHZvaWQgUHV0KGNvbnN0IFNsaWNlJiBrZXksIGNvbnN0IFNsaWNlJiB2YWx1ZSkgb3ZlcnJpZGUgewotKyAgICAoKnB1dF8pKHN0YXRlXywga2V5LmRhdGEoKSwga2V5LnNpemUoKSwgdmFsdWUuZGF0YSgpLCB2YWx1ZS5zaXplKCkpOwotKyAgfQotKyAgdmlydHVhbCB2b2lkIERlbGV0ZShjb25zdCBTbGljZSYga2V5KSBvdmVycmlkZSB7Ci0rICAgICgqZGVsZXRlZF8pKHN0YXRlXywga2V5LmRhdGEoKSwga2V5LnNpemUoKSk7Ci0rICB9Ci0rfTsKLSsKLSB2b2lkIHJvY2tzZGJfd3JpdGViYXRjaF9pdGVyYXRlKAotICAgICByb2Nrc2RiX3dyaXRlYmF0Y2hfdCogYiwKLSAgICAgdm9pZCogc3RhdGUsCi0gICAgIHZvaWQgKCpwdXQpKHZvaWQqLCBjb25zdCBjaGFyKiBrLCBzaXplX3Qga2xlbiwgY29uc3QgY2hhciogdiwgc2l6ZV90IHZsZW4pLAotICAgICB2b2lkICgqZGVsZXRlZCkodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuKSkgewotLSAgY2xhc3MgSCA6IHB1YmxpYyBXcml0ZUJhdGNoOjpIYW5kbGVyIHsKLS0gICBwdWJsaWM6Ci0tICAgIHZvaWQqIHN0YXRlXzsKLS0gICAgdm9pZCAoKnB1dF8pKHZvaWQqLCBjb25zdCBjaGFyKiBrLCBzaXplX3Qga2xlbiwgY29uc3QgY2hhciogdiwgc2l6ZV90IHZsZW4pOwotLSAgICB2b2lkICgqZGVsZXRlZF8pKHZvaWQqLCBjb25zdCBjaGFyKiBrLCBzaXplX3Qga2xlbik7Ci0tICAgIHZpcnR1YWwgdm9pZCBQdXQoY29uc3QgU2xpY2UmIGtleSwgY29uc3QgU2xpY2UmIHZhbHVlKSBvdmVycmlkZSB7Ci0tICAgICAgKCpwdXRfKShzdGF0ZV8sIGtleS5kYXRhKCksIGtleS5zaXplKCksIHZhbHVlLmRhdGEoKSwgdmFsdWUuc2l6ZSgpKTsKLS0gICAgfQotLSAgICB2aXJ0dWFsIHZvaWQgRGVsZXRlKGNvbnN0IFNsaWNlJiBrZXkpIG92ZXJyaWRlIHsKLS0gICAgICAoKmRlbGV0ZWRfKShzdGF0ZV8sIGtleS5kYXRhKCksIGtleS5zaXplKCkpOwotLSAgICB9Ci0tICB9OwotICAgSCBoYW5kbGVyOwotICAgaGFuZGxlci5zdGF0ZV8gPSBzdGF0ZTsKLSAgIGhhbmRsZXIucHV0XyA9IHB1dDsKLUBAIC0xNjQ5LDE4ICsxNjUwLDYgQEAgdm9pZCByb2Nrc2RiX3dyaXRlYmF0Y2hfd2lfaXRlcmF0ZSgKLSAgICAgdm9pZCogc3RhdGUsCi0gICAgIHZvaWQgKCpwdXQpKHZvaWQqLCBjb25zdCBjaGFyKiBrLCBzaXplX3Qga2xlbiwgY29uc3QgY2hhciogdiwgc2l6ZV90IHZsZW4pLAotICAgICB2b2lkICgqZGVsZXRlZCkodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuKSkgewotLSAgY2xhc3MgSCA6IHB1YmxpYyBXcml0ZUJhdGNoOjpIYW5kbGVyIHsKLS0gICBwdWJsaWM6Ci0tICAgIHZvaWQqIHN0YXRlXzsKLS0gICAgdm9pZCAoKnB1dF8pKHZvaWQqLCBjb25zdCBjaGFyKiBrLCBzaXplX3Qga2xlbiwgY29uc3QgY2hhciogdiwgc2l6ZV90IHZsZW4pOwotLSAgICB2b2lkICgqZGVsZXRlZF8pKHZvaWQqLCBjb25zdCBjaGFyKiBrLCBzaXplX3Qga2xlbik7Ci0tICAgIHZpcnR1YWwgdm9pZCBQdXQoY29uc3QgU2xpY2UmIGtleSwgY29uc3QgU2xpY2UmIHZhbHVlKSBvdmVycmlkZSB7Ci0tICAgICAgKCpwdXRfKShzdGF0ZV8sIGtleS5kYXRhKCksIGtleS5zaXplKCksIHZhbHVlLmRhdGEoKSwgdmFsdWUuc2l6ZSgpKTsKLS0gICAgfQotLSAgICB2aXJ0dWFsIHZvaWQgRGVsZXRlKGNvbnN0IFNsaWNlJiBrZXkpIG92ZXJyaWRlIHsKLS0gICAgICAoKmRlbGV0ZWRfKShzdGF0ZV8sIGtleS5kYXRhKCksIGtleS5zaXplKCkpOwotLSAgICB9Ci0tICB9OwotICAgSCBoYW5kbGVyOwotICAgaGFuZGxlci5zdGF0ZV8gPSBzdGF0ZTsKLSAgIGhhbmRsZXIucHV0XyA9IHB1dDsKLUBAIC0zMTA5LDIwICszMDk4LDIxIEBAIHZvaWQgcm9ja3NkYl9zbGljZXRyYW5zZm9ybV9kZXN0cm95KHJvY2tzZGJfc2xpY2V0cmFuc2Zvcm1fdCogc3QpIHsKLSAgIGRlbGV0ZSBzdDsKLSB9Ci0gCi0rc3RydWN0IFdyYXBwZXIgOiBwdWJsaWMgcm9ja3NkYl9zbGljZXRyYW5zZm9ybV90IHsKLSsgIGNvbnN0IFNsaWNlVHJhbnNmb3JtKiByZXBfOwotKyAgfldyYXBwZXIoKSB7IGRlbGV0ZSByZXBfOyB9Ci0rICBjb25zdCBjaGFyKiBOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gcmVwXy0+TmFtZSgpOyB9Ci0rICBTbGljZSBUcmFuc2Zvcm0oY29uc3QgU2xpY2UmIHNyYykgY29uc3Qgb3ZlcnJpZGUgewotKyAgICByZXR1cm4gcmVwXy0+VHJhbnNmb3JtKHNyYyk7Ci0rICB9Ci0rICBib29sIEluRG9tYWluKGNvbnN0IFNsaWNlJiBzcmMpIGNvbnN0IG92ZXJyaWRlIHsKLSsgICAgcmV0dXJuIHJlcF8tPkluRG9tYWluKHNyYyk7Ci0rICB9Ci0rICBib29sIEluUmFuZ2UoY29uc3QgU2xpY2UmIHNyYykgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gcmVwXy0+SW5SYW5nZShzcmMpOyB9Ci0rICBzdGF0aWMgdm9pZCBEb05vdGhpbmcodm9pZCopIHsgfQotK307Ci0rCi0gcm9ja3NkYl9zbGljZXRyYW5zZm9ybV90KiByb2Nrc2RiX3NsaWNldHJhbnNmb3JtX2NyZWF0ZV9maXhlZF9wcmVmaXgoc2l6ZV90IHByZWZpeExlbikgewotLSAgc3RydWN0IFdyYXBwZXIgOiBwdWJsaWMgcm9ja3NkYl9zbGljZXRyYW5zZm9ybV90IHsKLS0gICAgY29uc3QgU2xpY2VUcmFuc2Zvcm0qIHJlcF87Ci0tICAgIH5XcmFwcGVyKCkgeyBkZWxldGUgcmVwXzsgfQotLSAgICBjb25zdCBjaGFyKiBOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gcmVwXy0+TmFtZSgpOyB9Ci0tICAgIFNsaWNlIFRyYW5zZm9ybShjb25zdCBTbGljZSYgc3JjKSBjb25zdCBvdmVycmlkZSB7Ci0tICAgICAgcmV0dXJuIHJlcF8tPlRyYW5zZm9ybShzcmMpOwotLSAgICB9Ci0tICAgIGJvb2wgSW5Eb21haW4oY29uc3QgU2xpY2UmIHNyYykgY29uc3Qgb3ZlcnJpZGUgewotLSAgICAgIHJldHVybiByZXBfLT5JbkRvbWFpbihzcmMpOwotLSAgICB9Ci0tICAgIGJvb2wgSW5SYW5nZShjb25zdCBTbGljZSYgc3JjKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiByZXBfLT5JblJhbmdlKHNyYyk7IH0KLS0gICAgc3RhdGljIHZvaWQgRG9Ob3RoaW5nKHZvaWQqKSB7IH0KLS0gIH07Ci0gICBXcmFwcGVyKiB3cmFwcGVyID0gbmV3IFdyYXBwZXI7Ci0gICB3cmFwcGVyLT5yZXBfID0gcm9ja3NkYjo6TmV3Rml4ZWRQcmVmaXhUcmFuc2Zvcm0ocHJlZml4TGVuKTsKLSAgIHdyYXBwZXItPnN0YXRlXyA9IG51bGxwdHI7Ci1AQCAtMzEzMSwxOSArMzEyMSw2IEBAIHJvY2tzZGJfc2xpY2V0cmFuc2Zvcm1fdCogcm9ja3NkYl9zbGljZXRyYW5zZm9ybV9jcmVhdGVfZml4ZWRfcHJlZml4KHNpemVfdCBwcmVmCi0gfQotIAotIHJvY2tzZGJfc2xpY2V0cmFuc2Zvcm1fdCogcm9ja3NkYl9zbGljZXRyYW5zZm9ybV9jcmVhdGVfbm9vcCgpIHsKLS0gIHN0cnVjdCBXcmFwcGVyIDogcHVibGljIHJvY2tzZGJfc2xpY2V0cmFuc2Zvcm1fdCB7Ci0tICAgIGNvbnN0IFNsaWNlVHJhbnNmb3JtKiByZXBfOwotLSAgICB+V3JhcHBlcigpIHsgZGVsZXRlIHJlcF87IH0KLS0gICAgY29uc3QgY2hhciogTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHJlcF8tPk5hbWUoKTsgfQotLSAgICBTbGljZSBUcmFuc2Zvcm0oY29uc3QgU2xpY2UmIHNyYykgY29uc3Qgb3ZlcnJpZGUgewotLSAgICAgIHJldHVybiByZXBfLT5UcmFuc2Zvcm0oc3JjKTsKLS0gICAgfQotLSAgICBib29sIEluRG9tYWluKGNvbnN0IFNsaWNlJiBzcmMpIGNvbnN0IG92ZXJyaWRlIHsKLS0gICAgICByZXR1cm4gcmVwXy0+SW5Eb21haW4oc3JjKTsKLS0gICAgfQotLSAgICBib29sIEluUmFuZ2UoY29uc3QgU2xpY2UmIHNyYykgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gcmVwXy0+SW5SYW5nZShzcmMpOyB9Ci0tICAgIHN0YXRpYyB2b2lkIERvTm90aGluZyh2b2lkKikgeyB9Ci0tICB9OwotICAgV3JhcHBlciogd3JhcHBlciA9IG5ldyBXcmFwcGVyOwotICAgd3JhcHBlci0+cmVwXyA9IHJvY2tzZGI6Ok5ld05vb3BUcmFuc2Zvcm0oKTsKLSAgIHdyYXBwZXItPnN0YXRlXyA9IG51bGxwdHI7Ci1kaWZmIC0tZ2l0IGEvbWVtdGFibGUvaW5saW5lc2tpcGxpc3QuaCBiL21lbXRhYmxlL2lubGluZXNraXBsaXN0LmgKLWluZGV4IDcwMmE3MzM2ZC4uZWFkZGExZGMxIDEwMDY0NAotLS0tIGEvbWVtdGFibGUvaW5saW5lc2tpcGxpc3QuaAotKysrIGIvbWVtdGFibGUvaW5saW5lc2tpcGxpc3QuaAotQEAgLTI4MCw3ICsyODAsNyBAQCBzdHJ1Y3QgSW5saW5lU2tpcExpc3Q8Q29tcGFyYXRvcj46Ok5vZGUgewotICAgLy8gbmV4dF9bMF0uICBUaGlzIGlzIHVzZWQgZm9yIHBhc3NpbmcgZGF0YSBmcm9tIEFsbG9jYXRlS2V5IHRvIEluc2VydC4KLSAgIHZvaWQgU3Rhc2hIZWlnaHQoY29uc3QgaW50IGhlaWdodCkgewotICAgICBhc3NlcnQoc2l6ZW9mKGludCkgPD0gc2l6ZW9mKG5leHRfWzBdKSk7Ci0tICAgIG1lbWNweSgmbmV4dF9bMF0sICZoZWlnaHQsIHNpemVvZihpbnQpKTsKLSsgICAgbWVtY3B5KHN0YXRpY19jYXN0PHZvaWQqPigmbmV4dF9bMF0pLCAmaGVpZ2h0LCBzaXplb2YoaW50KSk7Ci0gICB9Ci0gCi0gICAvLyBSZXRyaWV2ZXMgdGhlIHZhbHVlIHBhc3NlZCB0byBTdGFzaEhlaWdodC4gIFVuZGVmaW5lZCBhZnRlciBhIGNhbGwKLUBAIC0zMDAsMzAgKzMwMCwzMCBAQCBzdHJ1Y3QgSW5saW5lU2tpcExpc3Q8Q29tcGFyYXRvcj46Ok5vZGUgewotICAgICBhc3NlcnQobiA+PSAwKTsKLSAgICAgLy8gVXNlIGFuICdhY3F1aXJlIGxvYWQnIHNvIHRoYXQgd2Ugb2JzZXJ2ZSBhIGZ1bGx5IGluaXRpYWxpemVkCi0gICAgIC8vIHZlcnNpb24gb2YgdGhlIHJldHVybmVkIE5vZGUuCi0tICAgIHJldHVybiAobmV4dF9bLW5dLmxvYWQoc3RkOjptZW1vcnlfb3JkZXJfYWNxdWlyZSkpOwotKyAgICByZXR1cm4gKCgmbmV4dF9bMF0gLSBuKS0+bG9hZChzdGQ6Om1lbW9yeV9vcmRlcl9hY3F1aXJlKSk7Ci0gICB9Ci0gCi0gICB2b2lkIFNldE5leHQoaW50IG4sIE5vZGUqIHgpIHsKLSAgICAgYXNzZXJ0KG4gPj0gMCk7Ci0gICAgIC8vIFVzZSBhICdyZWxlYXNlIHN0b3JlJyBzbyB0aGF0IGFueWJvZHkgd2hvIHJlYWRzIHRocm91Z2ggdGhpcwotICAgICAvLyBwb2ludGVyIG9ic2VydmVzIGEgZnVsbHkgaW5pdGlhbGl6ZWQgdmVyc2lvbiBvZiB0aGUgaW5zZXJ0ZWQgbm9kZS4KLS0gICAgbmV4dF9bLW5dLnN0b3JlKHgsIHN0ZDo6bWVtb3J5X29yZGVyX3JlbGVhc2UpOwotKyAgICAoJm5leHRfWzBdIC0gbiktPnN0b3JlKHgsIHN0ZDo6bWVtb3J5X29yZGVyX3JlbGVhc2UpOwotICAgfQotIAotICAgYm9vbCBDQVNOZXh0KGludCBuLCBOb2RlKiBleHBlY3RlZCwgTm9kZSogeCkgewotICAgICBhc3NlcnQobiA+PSAwKTsKLS0gICAgcmV0dXJuIG5leHRfWy1uXS5jb21wYXJlX2V4Y2hhbmdlX3N0cm9uZyhleHBlY3RlZCwgeCk7Ci0rICAgIHJldHVybiAoJm5leHRfWzBdIC0gbiktPmNvbXBhcmVfZXhjaGFuZ2Vfc3Ryb25nKGV4cGVjdGVkLCB4KTsKLSAgIH0KLSAKLSAgIC8vIE5vLWJhcnJpZXIgdmFyaWFudHMgdGhhdCBjYW4gYmUgc2FmZWx5IHVzZWQgaW4gYSBmZXcgbG9jYXRpb25zLgotICAgTm9kZSogTm9CYXJyaWVyX05leHQoaW50IG4pIHsKLSAgICAgYXNzZXJ0KG4gPj0gMCk7Ci0tICAgIHJldHVybiBuZXh0X1stbl0ubG9hZChzdGQ6Om1lbW9yeV9vcmRlcl9yZWxheGVkKTsKLSsgICAgcmV0dXJuICgmbmV4dF9bMF0gLSBuKS0+bG9hZChzdGQ6Om1lbW9yeV9vcmRlcl9yZWxheGVkKTsKLSAgIH0KLSAKLSAgIHZvaWQgTm9CYXJyaWVyX1NldE5leHQoaW50IG4sIE5vZGUqIHgpIHsKLSAgICAgYXNzZXJ0KG4gPj0gMCk7Ci0tICAgIG5leHRfWy1uXS5zdG9yZSh4LCBzdGQ6Om1lbW9yeV9vcmRlcl9yZWxheGVkKTsKLSsgICAgKCZuZXh0X1swXSAtIG4pLT5zdG9yZSh4LCBzdGQ6Om1lbW9yeV9vcmRlcl9yZWxheGVkKTsKLSAgIH0KLSAKLSAgIC8vIEluc2VydCBub2RlIGFmdGVyIHByZXYgb24gc3BlY2lmaWMgbGV2ZWwuCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3JvY2tzZGIvcm9ja3NkYl9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3JvY2tzZGIvcm9ja3NkYl9naXQuYmIKaW5kZXggNTk0ZDFhOS4uMjdjN2IyMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9yb2Nrc2RiL3JvY2tzZGJfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9yb2Nrc2RiX2dpdC5iYgpAQCAtNiwxMiArNiwxMyBAQAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRS5sZXZlbGRiO21kNT1mYjA0ZmY1N2ExNGYzMDhmMmVlZDRhOWI4N2Q0NTgzNyIKIAotU1JDUkVWID0gImM2MGRmOWQ5ZTc2MjlmZTIwOGE5Yjg0ODI5M2E1NTk5ZjgzZDVlNzciCi1TUkNCUkFOQ0ggPSAiNS4xMy5mYiIKLVBWID0gIjUuMTMuMSIKK1NSQ1JFViA9ICJhMTc3NGRkZTlhNWJkNTFiYzZlY2U1OTg4NzgxYzZmMjhjYzY5ZDQ4IgorU1JDQlJBTkNIID0gIjUuMTguZmIiCitQViA9ICI1LjE4LjIiCiAKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9mYWNlYm9vay8ke0JQTn0uZ2l0O2JyYW5jaD0ke1NSQ0JSQU5DSH0gXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtR2l0SHViLWlzc3VlLTM3MTYtZ2NjLTgtd2FybmluZ3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1EaXNhYmxlLVdzaGFkb3ctYW5kLWRvLW5vdC1tYXJrLWRlZmF1bHQtY29weS1jb25zdHJ1LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtdXRpbGl0aWVzLUZpeC1idWlsZC1mYWlsdXJlLXdpdGgtV2Vycm9yLW1heWJlLXVuaW5pdC5wYXRjaCBcCiAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgpAQCAtMTksOSArMjAsOSBAQAogaW5oZXJpdCBjbWFrZQogCiBQQUNLQUdFQ09ORklHID8/PSAiYnppcDIgemxpYiBsejQiCi1QQUNLQUdFQ09ORklHW2J6aXAyXSA9ICItRFdJVEhfQloyPU9OLC1EV0lUSF9CWjI9T0ZGLGJ6aXAyIgotUEFDS0FHRUNPTkZJR1tsejRdID0gIi1EV0lUSF9MWjQ9T04sLURXSVRIX0xaND1PRkYsbHo0IgotUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItRFdJVEhfWkxJQj1PTiwtRFdJVEhfWkxJQj1PRkYsemxpYiIKK1BBQ0tBR0VDT05GSUdbYnppcDJdID0gIi1EV0lUSF9CWjI9T04gLURCWklQMl9MSUJSQVJJRVM6U1RSSU5HPWJ6MiwtRFdJVEhfQloyPU9GRixiemlwMiIKK1BBQ0tBR0VDT05GSUdbbHo0XSA9ICItRFdJVEhfTFo0PU9OIC1ETFo0X0xJQlJBUklFUzpTVFJJTkc9bHo0LC1EV0lUSF9MWjQ9T0ZGLGx6NCIKK1BBQ0tBR0VDT05GSUdbemxpYl0gPSAiLURXSVRIX1pMSUI9T04gLURaTElCX0xJQlJBUklFUzpTVFJJTkc9eiwtRFdJVEhfWkxJQj1PRkYsemxpYiIKIFBBQ0tBR0VDT05GSUdbbGl0ZV0gPSAiLURST0NLU0RCX0xJVEU9T04sLURST0NLU0RCX0xJVEU9T0ZGIgogCiAjIFRvb2xzIGFuZCB0ZXN0cyBjdXJyZW50bHkgZG9uJ3QgY29tcGlsZSBvbiBhcm12NSBzbyB3ZSBkaXNhYmxlIHRoZW0KQEAgLTMwLDMgKzMxLDggQEAKICAgICAtRFdJVEhfVEVTVFM9T0ZGIFwKICAgICAtRFdJVEhfVE9PTFM9T0ZGIFwKICIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBmaXggZm9yIHFhIGNoZWNrIGJ1aWxkcGF0aHMKKyAgICBzZWQgLWkgInMjJHtSRUNJUEVfU1lTUk9PVH0jI2ciICR7RH0ke2xpYmRpcn0vY21ha2Uvcm9ja3NkYi9Sb2Nrc0RCVGFyZ2V0cy5jbWFrZQorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2FuZHJvaWQtdG9vbHMvYW5kcm9pZC10b29scy9jb3JlL2FkYl9saWJzc2xfMTEuZGlmZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9hbmRyb2lkLXRvb2xzL2FuZHJvaWQtdG9vbHMvY29yZS9hZGJfbGlic3NsXzExLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2VhZDY0OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9hbmRyb2lkLXRvb2xzL2FuZHJvaWQtdG9vbHMvY29yZS9hZGJfbGlic3NsXzExLmRpZmYKQEAgLTAsMCArMSwzOSBAQAorRGVzY3JpcHRpb246IGFkYjogTWFrZSBjb21wYXRpYmxlIHdpdGggb3BlbnNzbCAxLjEKKyBPcGVuU1NMIHZlcnNpb24gMS4xIGJyb3VnaHQgc29tZSBBUEkgY2hhbmdlcyB3aGljaCBicm9rZSB0aGUgYnVpbGQgaGVyZSwKKyBmaXggdGhhdCBieSBhY2Nlc3NpbmcgcnNhLT5uIChhbmQgZSkgZGlyZWN0bHksIHVzaW5nIFJTQV9nZXQwX2tleSBpbnN0ZWFkLgorQXV0aG9yOiBDaGlyYXl1IERlc2FpIDxjaGlyYXl1ZGVzYWkxQGdtYWlsLmNvbQorTGFzdC1VcGRhdGU6IDIwMTYtMTEtMTAKKy0tLQorVGhpcyBwYXRjaCBoZWFkZXIgZm9sbG93cyBERVAtMzogaHR0cDovL2RlcC5kZWJpYW4ubmV0L2RlcHMvZGVwMy8KKy0tLQorIHN5c3RlbS9jb3JlL2FkYi9hZGJfYXV0aF9ob3N0LmMgfCAgICA1ICsrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworLS0tIGEvYWRiL2FkYl9hdXRoX2hvc3QuYworKysrIGIvYWRiL2FkYl9hdXRoX2hvc3QuYworQEAgLTc1LDYgKzc1LDcgQEAgc3RhdGljIGludCBSU0FfdG9fUlNBUHVibGljS2V5KFJTQSAqcnNhLAorICAgICBCSUdOVU0qIHJlbSA9IEJOX25ldygpOworICAgICBCSUdOVU0qIG4gPSBCTl9uZXcoKTsKKyAgICAgQklHTlVNKiBuMGludiA9IEJOX25ldygpOworKyAgICBCSUdOVU0qIGUgPSBCTl9uZXcoKTsKKyAKKyAgICAgaWYgKFJTQV9zaXplKHJzYSkgIT0gUlNBTlVNQllURVMpIHsKKyAgICAgICAgIHJldCA9IDA7CitAQCAtODIsNyArODMsNyBAQCBzdGF0aWMgaW50IFJTQV90b19SU0FQdWJsaWNLZXkoUlNBICpyc2EsCisgICAgIH0KKyAKKyAgICAgQk5fc2V0X2JpdChyMzIsIDMyKTsKKy0gICAgQk5fY29weShuLCByc2EtPm4pOworKyAgICBSU0FfZ2V0MF9rZXkocnNhLCAmbiwgJmUsIE5VTEwpOworICAgICBCTl9zZXRfYml0KHIsIFJTQU5VTVdPUkRTICogMzIpOworICAgICBCTl9tb2Rfc3FyKHJyLCByLCBuLCBjdHgpOworICAgICBCTl9kaXYoTlVMTCwgcmVtLCBuLCByMzIsIGN0eCk7CitAQCAtOTYsNyArOTcsNyBAQCBzdGF0aWMgaW50IFJTQV90b19SU0FQdWJsaWNLZXkoUlNBICpyc2EsCisgICAgICAgICBCTl9kaXYobiwgcmVtLCBuLCByMzIsIGN0eCk7CisgICAgICAgICBwa2V5LT5uW2ldID0gQk5fZ2V0X3dvcmQocmVtKTsKKyAgICAgfQorLSAgICBwa2V5LT5leHBvbmVudCA9IEJOX2dldF93b3JkKHJzYS0+ZSk7CisrICAgIHBrZXktPmV4cG9uZW50ID0gQk5fZ2V0X3dvcmQoZSk7CisgCisgb3V0OgorICAgICBCTl9mcmVlKG4waW52KTsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9hbmRyb2lkLXRvb2xzL2FuZHJvaWQtdG9vbHNfNS4xLjEucjM3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2FuZHJvaWQtdG9vbHMvYW5kcm9pZC10b29sc181LjEuMS5yMzcuYmIKaW5kZXggMjYwNGY2NS4uZTA5Y2Q4MiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2FuZHJvaWQtdG9vbHMvYW5kcm9pZC10b29sc181LjEuMS5yMzcuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2FuZHJvaWQtdG9vbHMvYW5kcm9pZC10b29sc181LjEuMS5yMzcuYmIKQEAgLTgsNyArOCw3IEBACiAgICAgZmlsZTovLyR7Q09NTU9OX0xJQ0VOU0VfRElSfS9CU0QtMy1DbGF1c2U7bWQ1PTU1MDc5NDQ2NWJhMGVjNTMxMmQ2OTE5ZTIwM2E1NWY5IFwKICIKIERFUEVORFMgPSAibGliYnNkIGxpYnBjcmUgemxpYiBsaWJjYXAiCi1ERVBFTkRTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIG9wZW5zc2wxMCIKK0RFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgb3BlbnNzbCIKIAogQU5EUk9JRF9NSVJST1IgPSAiYW5kcm9pZC5nb29nbGVzb3VyY2UuY29tIgogCkBAIC0zNyw2ICszNyw3IEBACiAgICAgZmlsZTovL2NvcmUvMDAxMC1Vc2UtbGludXgtY2FwYWJpbGl0eS5oLW9uLWxpbnV4LXN5c3RlbXMtdG9vLnBhdGNoO3BhdGNoZGlyPXN5c3RlbS9jb3JlIFwKICAgICBmaWxlOi8vY29yZS8wMDExLVJlbW92ZS1iaW9uaWMtc3BlY2lmaWMtY2FsbHMucGF0Y2g7cGF0Y2hkaXI9c3lzdGVtL2NvcmUgXAogICAgIGZpbGU6Ly9jb3JlLzAwMTItRml4LWltcGxpY2l0LWRlY2xhcmF0aW9uLW9mLXN0bGNhdC1zdHJsY29weS1mdW5jdGlvbi5wYXRjaDtwYXRjaGRpcj1zeXN0ZW0vY29yZSBcCisgICAgZmlsZTovL2NvcmUvYWRiX2xpYnNzbF8xMS5kaWZmO3BhdGNoZGlyPXN5c3RlbS9jb3JlIFwKICAgICBmaWxlOi8vZXh0cmFzLzAwMDEtZXh0NF91dGlscy1yZW1vdmUtc2VsaW51eC1leHRlbnNpb25zLnBhdGNoO3BhdGNoZGlyPXN5c3RlbS9leHRyYXMgXAogICAgIGZpbGU6Ly9leHRyYXMvMDAwMi1leHQ0X3V0aWxzLWFkZC1vLWFyZ3VtZW50LXRvLXByZXNlcnZlLW93bmVyc2hpcC5wYXRjaDtwYXRjaGRpcj1zeXN0ZW0vZXh0cmFzIFwKICAgICBmaWxlOi8vbGlic2VsaW51eC8wMDAxLVJlbW92ZS1iaW9uaWMtc3BlY2lmaWMtY2FsbHMucGF0Y2g7cGF0Y2hkaXI9ZXh0ZXJuYWwvbGlic2VsaW51eCBcCkBAIC01Nyw2ICs1OCw5IEBACiBBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKIEFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgogCitDT01QQVRJQkxFX0hPU1RfcG93ZXJwYyA9ICIobnVsbCkiCitDT01QQVRJQkxFX0hPU1RfcG93ZXJwYzY0ID0gIihudWxsKSIKKwogaW5oZXJpdCBzeXN0ZW1kCiAKIFNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJhbmRyb2lkLXRvb2xzLWFkYmQuc2VydmljZSIKQEAgLTkxLDYgKzk1LDkgQEAKICAgICAgIG1pcHN8bWlwc2VsKQogICAgICAgICBleHBvcnQgYW5kcm9pZF9hcmNoPWxpbnV4LW1pcHMKICAgICAgIDs7CisgICAgICBtaXBzNjR8bWlwczY0ZWwpCisgICAgICAgIGV4cG9ydCBhbmRyb2lkX2FyY2g9bGludXgtbWlwczY0CisgICAgICA7OwogICAgICAgcG93ZXJwY3xwb3dlcnBjNjQpCiAgICAgICAgIGV4cG9ydCBhbmRyb2lkX2FyY2g9bGludXgtcHBjCiAgICAgICA7OwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkLzAwMDEtUmVwbGFjZS11c2Utb2Ytc3RydWN0LXVjb250ZXh0LXdpdGgtdWNvbnRleHRfdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9icmVha3BhZC9icmVha3BhZC8wMDAxLVJlcGxhY2UtdXNlLW9mLXN0cnVjdC11Y29udGV4dC13aXRoLXVjb250ZXh0X3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA3Y2I4YTMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkLzAwMDEtUmVwbGFjZS11c2Utb2Ytc3RydWN0LXVjb250ZXh0LXdpdGgtdWNvbnRleHRfdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI0MiArMCwwIEBACi1Gcm9tIGI5MGM4ZjNiNjBiZmU1ZGJlZDI4MjM2MjAyNDJlOWQzMGI5ZWIyOGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogV2VkLCAyOCBKdW4gMjAxNyAxOTowMToxOCAtMDcwMAotU3ViamVjdDogW1BBVENIXSBSZXBsYWNlIHVzZSBvZiBzdHJ1Y3QgdWNvbnRleHQgd2l0aCB1Y29udGV4dF90Ci0KLWdsaWJjIDIuMjYgd291bGQgbm90IGV4cG9zZSBzdHJ1Y3QgdWNvbnRleHQgYW55bW9yZQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotIC4uLi9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmNjICAgIHwgMzIgKysrKysrKysrKystLS0tLS0tLS0tLQotIC4uLi9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmggICAgIHwgMTQgKysrKystLS0tLQotIHNyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYyAgICAgIHwgMTAgKysrLS0tLQotIHNyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oICAgICAgIHwgIDQgKy0tCi0gLi4uL2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYyAgICAgfCAgMiArLQotIC4uLi9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjICAgICAgIHwgIDIgKy0KLSA2IGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmNjIGIvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmNjCi1pbmRleCBjODA3MjRkZC4uMDUyY2UzN2MgMTAwNjQ0Ci0tLS0gYS9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MKLSsrKyBiL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5jYwotQEAgLTM2LDE5ICszNiwxOSBAQCBuYW1lc3BhY2UgZ29vZ2xlX2JyZWFrcGFkIHsKLSAKLSAvLyBNaW5pZHVtcCBkZWZpbmVzIHJlZ2lzdGVyIHN0cnVjdHVyZXMgd2hpY2ggYXJlIGRpZmZlcmVudCBmcm9tIHRoZSByYXcKLSAvLyBzdHJ1Y3R1cmVzIHdoaWNoIHdlIGdldCBmcm9tIHRoZSBrZXJuZWwuIFRoZXNlIGFyZSBwbGF0Zm9ybSBzcGVjaWZpYwotLS8vIGZ1bmN0aW9ucyB0byBqdWdnbGUgdGhlIHVjb250ZXh0IGFuZCB1c2VyIHN0cnVjdHVyZXMgaW50byBtaW5pZHVtcCBmb3JtYXQuCi0rLy8gZnVuY3Rpb25zIHRvIGp1Z2dsZSB0aGUgdWNvbnRleHRfdCBhbmQgdXNlciBzdHJ1Y3R1cmVzIGludG8gbWluaWR1bXAgZm9ybWF0LgotIAotICNpZiBkZWZpbmVkKF9faTM4Nl9fKQotIAotLXVpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0U3RhY2tQb2ludGVyKGNvbnN0IHN0cnVjdCB1Y29udGV4dCogdWMpIHsKLSt1aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldFN0YWNrUG9pbnRlcihjb25zdCB1Y29udGV4dF90KiB1YykgewotICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfRVNQXTsKLSB9Ci0gCi0tdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3Qgc3RydWN0IHVjb250ZXh0KiB1YykgewotK3VpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7Ci0gICByZXR1cm4gdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19FSVBdOwotIH0KLSAKLS12b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0ICp1YywKLSt2b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBfbGliY19mcHN0YXRlKiBmcCkgewotICAgY29uc3QgZ3JlZ190KiByZWdzID0gdWMtPnVjX21jb250ZXh0LmdyZWdzOwotIAotQEAgLTg4LDE1ICs4OCwxNSBAQCB2b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0ICp1YywKLSAKLSAjZWxpZiBkZWZpbmVkKF9feDg2XzY0KQotIAotLXVpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0U3RhY2tQb2ludGVyKGNvbnN0IHN0cnVjdCB1Y29udGV4dCogdWMpIHsKLSt1aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldFN0YWNrUG9pbnRlcihjb25zdCB1Y29udGV4dF90KiB1YykgewotICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfUlNQXTsKLSB9Ci0gCi0tdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3Qgc3RydWN0IHVjb250ZXh0KiB1YykgewotK3VpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7Ci0gICByZXR1cm4gdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19SSVBdOwotIH0KLSAKLS12b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0ICp1YywKLSt2b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBfbGliY19mcHN0YXRlKiBmcHJlZ3MpIHsKLSAgIGNvbnN0IGdyZWdfdCogcmVncyA9IHVjLT51Y19tY29udGV4dC5ncmVnczsKLSAKLUBAIC0xNDUsMTUgKzE0NSwxNSBAQCB2b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0ICp1YywKLSAKLSAjZWxpZiBkZWZpbmVkKF9fQVJNX0VBQklfXykKLSAKLS11aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldFN0YWNrUG9pbnRlcihjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIHVjKSB7Ci0rdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFja1BvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKLSAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQuYXJtX3NwOwotIH0KLSAKLS11aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIHVjKSB7Ci0rdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKLSAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQuYXJtX3BjOwotIH0KLSAKLS12b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0ICp1YykgewotK3ZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHRfdCAqdWMpIHsKLSAgIG91dC0+Y29udGV4dF9mbGFncyA9IE1EX0NPTlRFWFRfQVJNX0ZVTEw7Ci0gCi0gICBvdXQtPmlyZWdzWzBdID0gdWMtPnVjX21jb250ZXh0LmFybV9yMDsKLUBAIC0xODQsMTUgKzE4NCwxNSBAQCB2b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0ICp1YykgewotIAotICNlbGlmIGRlZmluZWQoX19hYXJjaDY0X18pCi0gCi0tdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFja1BvaW50ZXIoY29uc3Qgc3RydWN0IHVjb250ZXh0KiB1YykgewotK3VpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0U3RhY2tQb2ludGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7Ci0gICByZXR1cm4gdWMtPnVjX21jb250ZXh0LnNwOwotIH0KLSAKLS11aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIHVjKSB7Ci0rdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKLSAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQucGM7Ci0gfQotIAotLXZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjLAotK3ZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHRfdCAqdWMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGZwc2ltZF9jb250ZXh0KiBmcHJlZ3MpIHsKLSAgIG91dC0+Y29udGV4dF9mbGFncyA9IE1EX0NPTlRFWFRfQVJNNjRfRlVMTDsKLSAKLUBAIC0yMTAsMTUgKzIxMCwxNSBAQCB2b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0ICp1YywKLSAKLSAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQotIAotLXVpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0U3RhY2tQb2ludGVyKGNvbnN0IHN0cnVjdCB1Y29udGV4dCogdWMpIHsKLSt1aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldFN0YWNrUG9pbnRlcihjb25zdCB1Y29udGV4dF90KiB1YykgewotICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5ncmVnc1tNRF9DT05URVhUX01JUFNfUkVHX1NQXTsKLSB9Ci0gCi0tdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3Qgc3RydWN0IHVjb250ZXh0KiB1YykgewotK3VpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7Ci0gICByZXR1cm4gdWMtPnVjX21jb250ZXh0LnBjOwotIH0KLSAKLS12b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0ICp1YykgewotK3ZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHRfdCAqdWMpIHsKLSAjaWYgX01JUFNfU0lNID09IF9BQkk2NAotICAgb3V0LT5jb250ZXh0X2ZsYWdzID0gTURfQ09OVEVYVF9NSVBTNjRfRlVMTDsKLSAjZWxpZiBfTUlQU19TSU0gPT0gX0FCSU8zMgotZGlmZiAtLWdpdCBhL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oIGIvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmgKLWluZGV4IGI2ZTc3YjRiLi4yZGU4MGI3MCAxMDA2NDQKLS0tLSBhL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oCi0rKysgYi9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAotQEAgLTM5LDIzICszOSwyMyBAQAotIAotIG5hbWVzcGFjZSBnb29nbGVfYnJlYWtwYWQgewotIAotLS8vIFdyYXBzIHBsYXRmb3JtLWRlcGVuZGVudCBpbXBsZW1lbnRhdGlvbnMgb2YgYWNjZXNzb3JzIHRvIHVjb250ZXh0IHN0cnVjdHMuCi0rLy8gV3JhcHMgcGxhdGZvcm0tZGVwZW5kZW50IGltcGxlbWVudGF0aW9ucyBvZiBhY2Nlc3NvcnMgdG8gdWNvbnRleHRfdCBzdHJ1Y3RzLgotIHN0cnVjdCBVQ29udGV4dFJlYWRlciB7Ci0tICBzdGF0aWMgdWludHB0cl90IEdldFN0YWNrUG9pbnRlcihjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIHVjKTsKLSsgIHN0YXRpYyB1aW50cHRyX3QgR2V0U3RhY2tQb2ludGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKTsKLSAKLS0gIHN0YXRpYyB1aW50cHRyX3QgR2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IHN0cnVjdCB1Y29udGV4dCogdWMpOwotKyAgc3RhdGljIHVpbnRwdHJfdCBHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpOwotIAotLSAgLy8gSnVnZ2xlIGEgYXJjaC1zcGVjaWZpYyB1Y29udGV4dCBpbnRvIGEgbWluaWR1bXAgZm9ybWF0Ci0rICAvLyBKdWdnbGUgYSBhcmNoLXNwZWNpZmljIHVjb250ZXh0X3QgaW50byBhIG1pbmlkdW1wIGZvcm1hdAotICAgLy8gICBvdXQ6IHRoZSBtaW5pZHVtcCBzdHJ1Y3R1cmUKLSAgIC8vICAgaW5mbzogdGhlIGNvbGxlY3Rpb24gb2YgcmVnaXN0ZXIgc3RydWN0dXJlcy4KLSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NCkKLS0gIHN0YXRpYyB2b2lkIEZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjLAotKyAgc3RhdGljIHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBfbGliY19mcHN0YXRlKiBmcCk7Ci0gI2VsaWYgZGVmaW5lZChfX2FhcmNoNjRfXykKLS0gIHN0YXRpYyB2b2lkIEZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjLAotKyAgc3RhdGljIHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmcHNpbWRfY29udGV4dCogZnByZWdzKTsKLSAjZWxzZQotLSAgc3RhdGljIHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dCAqdWMpOwotKyAgc3RhdGljIHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1Yyk7Ci0gI2VuZGlmCi0gfTsKLSAKLWRpZmYgLS1naXQgYS9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MgYi9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKLWluZGV4IDU4NmQ4NGU5Li4wNTkzNmQyOCAxMDA2NDQKLS0tLSBhL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYwotKysrIGIvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCi1AQCAtNDU3LDkgKzQ1Nyw5IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6SGFuZGxlU2lnbmFsKGludCAvKnNpZyovLCBzaWdpbmZvX3QqIGluZm8sIHZvaWQqIHVjKSB7Ci0gICAvLyBGaWxsIGluIGFsbCB0aGUgaG9sZXMgaW4gdGhlIHN0cnVjdCB0byBtYWtlIFZhbGdyaW5kIGhhcHB5LgotICAgbWVtc2V0KCZnX2NyYXNoX2NvbnRleHRfLCAwLCBzaXplb2YoZ19jcmFzaF9jb250ZXh0XykpOwotICAgbWVtY3B5KCZnX2NyYXNoX2NvbnRleHRfLnNpZ2luZm8sIGluZm8sIHNpemVvZihzaWdpbmZvX3QpKTsKLS0gIG1lbWNweSgmZ19jcmFzaF9jb250ZXh0Xy5jb250ZXh0LCB1Yywgc2l6ZW9mKHN0cnVjdCB1Y29udGV4dCkpOwotKyAgbWVtY3B5KCZnX2NyYXNoX2NvbnRleHRfLmNvbnRleHQsIHVjLCBzaXplb2YodWNvbnRleHRfdCkpOwotICNpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQotLSAgc3RydWN0IHVjb250ZXh0KiB1Y19wdHIgPSAoc3RydWN0IHVjb250ZXh0Kil1YzsKLSsgIHVjb250ZXh0X3QqIHVjX3B0ciA9ICh1Y29udGV4dF90Kil1YzsKLSAgIHN0cnVjdCBmcHNpbWRfY29udGV4dCogZnBfcHRyID0KLSAgICAgICAoc3RydWN0IGZwc2ltZF9jb250ZXh0KikmdWNfcHRyLT51Y19tY29udGV4dC5fX3Jlc2VydmVkOwotICAgaWYgKGZwX3B0ci0+aGVhZC5tYWdpYyA9PSBGUFNJTURfTUFHSUMpIHsKLUBAIC00NjgsOSArNDY4LDkgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpIYW5kbGVTaWduYWwoaW50IC8qc2lnKi8sIHNpZ2luZm9fdCogaW5mbywgdm9pZCogdWMpIHsKLSAgIH0KLSAjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQotICAgLy8gRlAgc3RhdGUgaXMgbm90IHBhcnQgb2YgdXNlciBBQkkgb24gQVJNIExpbnV4LgotLSAgLy8gSW4gY2FzZSBvZiBNSVBTIExpbnV4IEZQIHN0YXRlIGlzIGFscmVhZHkgcGFydCBvZiBzdHJ1Y3QgdWNvbnRleHQKLSsgIC8vIEluIGNhc2Ugb2YgTUlQUyBMaW51eCBGUCBzdGF0ZSBpcyBhbHJlYWR5IHBhcnQgb2YgdWNvbnRleHRfdAotICAgLy8gYW5kICdmbG9hdF9zdGF0ZScgaXMgbm90IGEgbWVtYmVyIG9mIENyYXNoQ29udGV4dC4KLS0gIHN0cnVjdCB1Y29udGV4dCogdWNfcHRyID0gKHN0cnVjdCB1Y29udGV4dCopdWM7Ci0rICB1Y29udGV4dF90KiB1Y19wdHIgPSAodWNvbnRleHRfdCopdWM7Ci0gICBpZiAodWNfcHRyLT51Y19tY29udGV4dC5mcHJlZ3MpIHsKLSAgICAgbWVtY3B5KCZnX2NyYXNoX2NvbnRleHRfLmZsb2F0X3N0YXRlLCB1Y19wdHItPnVjX21jb250ZXh0LmZwcmVncywKLSAgICAgICAgICAgIHNpemVvZihnX2NyYXNoX2NvbnRleHRfLmZsb2F0X3N0YXRlKSk7Ci1AQCAtNDk0LDcgKzQ5NCw3IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6U2ltdWxhdGVTaWduYWxEZWxpdmVyeShpbnQgc2lnKSB7Ci0gICAvLyBFeGNlcHRpb25IYW5kbGVyOjpIYW5kbGVTaWduYWwoKS4KLSAgIHNpZ2luZm8uc2lfY29kZSA9IFNJX1VTRVI7Ci0gICBzaWdpbmZvLnNpX3BpZCA9IGdldHBpZCgpOwotLSAgc3RydWN0IHVjb250ZXh0IGNvbnRleHQ7Ci0rICB1Y29udGV4dF90IGNvbnRleHQ7Ci0gICBnZXRjb250ZXh0KCZjb250ZXh0KTsKLSAgIHJldHVybiBIYW5kbGVTaWduYWwoc2lnLCAmc2lnaW5mbywgJmNvbnRleHQpOwotIH0KLWRpZmYgLS1naXQgYS9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuaCBiL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oCi1pbmRleCBkYWJhNTdlMC4uMjU1OThhMjkgMTAwNjQ0Ci0tLS0gYS9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuaAotKysrIGIvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmgKLUBAIC0xOTEsMTEgKzE5MSwxMSBAQCBjbGFzcyBFeGNlcHRpb25IYW5kbGVyIHsKLSAgIHN0cnVjdCBDcmFzaENvbnRleHQgewotICAgICBzaWdpbmZvX3Qgc2lnaW5mbzsKLSAgICAgcGlkX3QgdGlkOyAgLy8gdGhlIGNyYXNoaW5nIHRocmVhZC4KLS0gICAgc3RydWN0IHVjb250ZXh0IGNvbnRleHQ7Ci0rICAgIHVjb250ZXh0X3QgY29udGV4dDsKLSAjaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSAgICAgLy8gI2lmZGVmIHRoaXMgb3V0IGJlY2F1c2UgRlAgc3RhdGUgaXMgbm90IHBhcnQgb2YgdXNlciBBQkkgZm9yIExpbnV4IEFSTS4KLSAgICAgLy8gSW4gY2FzZSBvZiBNSVBTIExpbnV4IEZQIHN0YXRlIGlzIGFscmVhZHkgcGFydCBvZiBzdHJ1Y3QKLS0gICAgLy8gdWNvbnRleHQgc28gJ2Zsb2F0X3N0YXRlJyBpcyBub3QgcmVxdWlyZWQuCi0rICAgIC8vIHVjb250ZXh0X3Qgc28gJ2Zsb2F0X3N0YXRlJyBpcyBub3QgcmVxdWlyZWQuCi0gICAgIGZwc3RhdGVfdCBmbG9hdF9zdGF0ZTsKLSAjZW5kaWYKLSAgIH07Ci1kaWZmIC0tZ2l0IGEvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXIuY2MgYi9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYwotaW5kZXggMzc2NGVlYzIuLjgwYWQ1YzQ2IDEwMDY0NAotLS0tIGEvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXIuY2MKLSsrKyBiL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyLmNjCi1AQCAtNTkzLDcgKzU5Myw3IEBAIGNsYXNzIE1pY3JvZHVtcFdyaXRlciB7Ci0gCi0gICB2b2lkKiBBbGxvYyh1bnNpZ25lZCBieXRlcykgeyByZXR1cm4gZHVtcGVyXy0+YWxsb2NhdG9yKCktPkFsbG9jKGJ5dGVzKTsgfQotIAotLSAgY29uc3Qgc3RydWN0IHVjb250ZXh0KiBjb25zdCB1Y29udGV4dF87Ci0rICBjb25zdCB1Y29udGV4dF90KiBjb25zdCB1Y29udGV4dF87Ci0gI2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCi0gICBjb25zdCBnb29nbGVfYnJlYWtwYWQ6OmZwc3RhdGVfdCogY29uc3QgZmxvYXRfc3RhdGVfOwotICNlbmRpZgotZGlmZiAtLWdpdCBhL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5jYyBiL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5jYwotaW5kZXggZDExYmE2ZTUuLmM3MTYxNDM0IDEwMDY0NAotLS0tIGEvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjCi0rKysgYi9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MKLUBAIC0xMzIzLDcgKzEzMjMsNyBAQCBjbGFzcyBNaW5pZHVtcFdyaXRlciB7Ci0gICBjb25zdCBpbnQgZmRfOyAgLy8gRmlsZSBkZXNjcmlwdG9yIHdoZXJlIHRoZSBtaW5pZHVtIHNob3VsZCBiZSB3cml0dGVuLgotICAgY29uc3QgY2hhciogcGF0aF87ICAvLyBQYXRoIHRvIHRoZSBmaWxlIHdoZXJlIHRoZSBtaW5pZHVtIHNob3VsZCBiZSB3cml0dGVuLgotIAotLSAgY29uc3Qgc3RydWN0IHVjb250ZXh0KiBjb25zdCB1Y29udGV4dF87ICAvLyBhbHNvIGZyb20gdGhlIHNpZ25hbCBoYW5kbGVyCi0rICBjb25zdCB1Y29udGV4dF90KiBjb25zdCB1Y29udGV4dF87ICAvLyBhbHNvIGZyb20gdGhlIHNpZ25hbCBoYW5kbGVyCi0gI2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCi0gICBjb25zdCBnb29nbGVfYnJlYWtwYWQ6OmZwc3RhdGVfdCogY29uc3QgZmxvYXRfc3RhdGVfOyAgLy8gZGl0dG8KLSAjZW5kaWYKLS0tIAotMi4xMy4yCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9icmVha3BhZC9icmVha3BhZC8wMDAyLUF2b2lkLXVzaW5nLWJhc2VuYW1lLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkLzAwMDItQXZvaWQtdXNpbmctYmFzZW5hbWUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJjNjI4MjkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkLzAwMDItQXZvaWQtdXNpbmctYmFzZW5hbWUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIDgwNjk2NGY4NTI3NzNlNDI3ZmVhODJhNzcxNmQ0NGNlM2JlNDQ5OGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGZWxpeCBKYW5kYSA8ZmVsaXguamFuZGFAcG9zdGVvLmRlPgotRGF0ZTogU3VuLCAxIEZlYiAyMDE1IDE0OjI3OjMyICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8zXSBBdm9pZCB1c2luZyBiYXNlbmFtZQotCi0tLS0KLSBzcmMvY29tbW9uL2xpbnV4L2R1bXBfc3ltYm9scy5jYyB8IDYgKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vbGludXgvZHVtcF9zeW1ib2xzLmNjIGIvc3JjL2NvbW1vbi9saW51eC9kdW1wX3N5bWJvbHMuY2MKLWluZGV4IGQwMjljYTE0Li42YWM0YTE3YiAxMDA2NDQKLS0tLSBhL3NyYy9jb21tb24vbGludXgvZHVtcF9zeW1ib2xzLmNjCi0rKysgYi9zcmMvY29tbW9uL2xpbnV4L2R1bXBfc3ltYm9scy5jYwotQEAgLTg4MSw5ICs4ODEsOSBAQCBjb25zdCBjaGFyKiBFbGZBcmNoaXRlY3R1cmUoY29uc3QgdHlwZW5hbWUgRWxmQ2xhc3M6OkVoZHIqIGVsZl9oZWFkZXIpIHsKLSAvLyBsYXN0IHNsYXNoLCBvciB0aGUgd2hvbGUgZmlsZW5hbWUgaWYgdGhlcmUgYXJlIG5vIHNsYXNoZXMuCi0gc3RyaW5nIEJhc2VGaWxlTmFtZShjb25zdCBzdHJpbmcgJmZpbGVuYW1lKSB7Ci0gICAvLyBMb3RzIG9mIGNvcGllcyEgIGJhc2VuYW1lJ3MgYmVoYXZpb3IgaXMgbGVzcyB0aGFuIGlkZWFsLgotLSAgY2hhciogY19maWxlbmFtZSA9IHN0cmR1cChmaWxlbmFtZS5jX3N0cigpKTsKLS0gIHN0cmluZyBiYXNlID0gYmFzZW5hbWUoY19maWxlbmFtZSk7Ci0tICBmcmVlKGNfZmlsZW5hbWUpOwotKyAgY29uc3QgY2hhciAqY19maWxlbmFtZSA9IGZpbGVuYW1lLmNfc3RyKCk7Ci0rICBjb25zdCBjaGFyICpwID0gc3RycmNocihjX2ZpbGVuYW1lLCAnLycpOwotKyAgc3RyaW5nIGJhc2UgPSBwID8gcCsxIDogY19maWxlbmFtZTsKLSAgIHJldHVybiBiYXNlOwotIH0KLSAKLS0tIAotMi4xNC4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9icmVha3BhZC9icmVha3BhZC8wMDA1LW1kMmNvcmUtUmVwbGFjZS1iYXNlbmFtZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9icmVha3BhZC9icmVha3BhZC8wMDA1LW1kMmNvcmUtUmVwbGFjZS1iYXNlbmFtZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODUyYzFlZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWQvMDAwNS1tZDJjb3JlLVJlcGxhY2UtYmFzZW5hbWUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1Gcm9tIGJiZjJiNWVkNWQ5M2IyMjdkZjhhZWE1NzI2NzI3YjQ4ZTI5ZjY3OTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVGh1LCAxNCBTZXAgMjAxNyAyMzozNTo0MCAtMDcwMAotU3ViamVjdDogW1BBVENIIDUvNV0gbWQyY29yZTogUmVwbGFjZSBiYXNlbmFtZSgpCi0KLW11c2wgZG9lcyBub3QgcHJvdmlkZSBpdAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL3Rvb2xzL2xpbnV4L21kMmNvcmUvbWluaWR1bXAtMi1jb3JlLmNjIHwgNSArKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy90b29scy9saW51eC9tZDJjb3JlL21pbmlkdW1wLTItY29yZS5jYyBiL3NyYy90b29scy9saW51eC9tZDJjb3JlL21pbmlkdW1wLTItY29yZS5jYwotaW5kZXggNmE5ZTI4ZWIuLjUyYjgxYzIyIDEwMDY0NAotLS0tIGEvc3JjL3Rvb2xzL2xpbnV4L21kMmNvcmUvbWluaWR1bXAtMi1jb3JlLmNjCi0rKysgYi9zcmMvdG9vbHMvbGludXgvbWQyY29yZS9taW5pZHVtcC0yLWNvcmUuY2MKLUBAIC0xMDcsNiArMTA3LDkgQEAgc3RydWN0IE9wdGlvbnMgewotIAotIHN0YXRpYyB2b2lkCi0gVXNhZ2UoaW50IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkgewotKyAgY29uc3QgY2hhciAqY19maWxlbmFtZSA9IGFyZ3ZbMF07OwotKyAgY29uc3QgY2hhciAqcCA9IHN0cnJjaHIoY19maWxlbmFtZSwgJy8nKTsKLSsgIGNvbnN0IGNoYXIgKmJhc2UgPSBwID8gcCsxIDogY19maWxlbmFtZTsKLSAgIGZwcmludGYoc3RkZXJyLAotICAgICAgICAgICAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8bWluaWR1bXAgZmlsZT5cbiIKLSAgICAgICAgICAgIlxuIgotQEAgLTEzMyw3ICsxMzYsNyBAQCBVc2FnZShpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKSB7Ci0gICAgICAgICAgICIgICAgICAgICAgICAgbG9va3VwcyB0byBiZSBkb25lIGluIHRoaXMgZGlyZWN0b3J5IHJhdGhlciB0aGFuIHRoZSBmaWxlc3lzdGVtXG4iCi0gICAgICAgICAgICIgICAgICAgICAgICAgbGF5b3V0IGFzIGl0IGV4aXN0cyBpbiB0aGUgY3Jhc2hpbmcgaW1hZ2UuICBUaGlzIHBhdGggc2hvdWxkIGVuZFxuIgotICAgICAgICAgICAiICAgICAgICAgICAgIHdpdGggYSBzbGFzaCBpZiBpdCdzIGEgZGlyZWN0b3J5LiAgZS5nLiAvdmFyL2xpYi9icmVha3BhZC9cbiIKLS0gICAgICAgICAgIiIsIGJhc2VuYW1lKGFyZ3ZbMF0pKTsKLSsgICAgICAgICAgIiIsIGJhc2UpOwotIH0KLSAKLSBzdGF0aWMgdm9pZAotLS0gCi0yLjE0LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkL2RvbnQtY2xvYmJlci1yc3AucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWQvZG9udC1jbG9iYmVyLXJzcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMWMzN2ZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkL2RvbnQtY2xvYmJlci1yc3AucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRG8gbm90IGFkZCBzdGFjayBwb2ludGVyIHRvIGNsb2JiZXIgbGlzdAorCitpdCB3YXMgYmVpbmcgaWdub3JlZCB1bnRpbCBnY2MgOS4wIGJlY2FtZSBjYXBhYmxlCitvZiBmbGFnZ2luZyB0aGlzIHNpbGVudCBpZ25vcmluZyB2aWEgWzFdCisKK1sxXSBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD01MjgxMzxQYXN0ZT4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9saW51eC1zeXNjYWxsLXN1cHBvcnQvKy8xMzkwMTYwXQorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tIGEvc3JjL3RoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaAorKysrIGIvc3JjL3RoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaAorQEAgLTE5NjYsNyArMTk2Niw3IEBAIHN0cnVjdCBrZXJuZWxfc3RhdGZzIHsKKyAgICAgICAgIF9fYXNtX18gdm9sYXRpbGUoTFNTX0VOVFJZUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIDogIj1hIiAoX19yZXMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICA6ICIwIiAoX19OUl8jI25hbWUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgOiAiZXNwIiwgIm1lbW9yeSIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgICAgICAgICAgICAgICAgICAgICAgIDogIm1lbW9yeSIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgTFNTX1JFVFVSTih0eXBlLF9fcmVzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICB9CisgICAgICN1bmRlZiAgX3N5c2NhbGwxCitAQCAtMjQwNyw3ICsyNDA3LDcgQEAgc3RydWN0IGtlcm5lbF9zdGF0ZnMgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZCIoTFNTX1NZU0NBTExfQVJHKHBhcmVudF90aWRwdHIpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiKExTU19TWVNDQUxMX0FSRyhuZXd0bHMpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiKExTU19TWVNDQUxMX0FSRyhjaGlsZF90aWRwdHIpKQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAicnNwIiwgIm1lbW9yeSIsICJyOCIsICJyMTAiLCAicjExIiwgInJjeCIpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAibWVtb3J5IiwgInI4IiwgInIxMCIsICJyMTEiLCAicmN4Iik7CisgICAgICAgfQorICAgICAgIExTU19SRVRVUk4oaW50LCBfX3Jlcyk7CisgICAgIH0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9icmVha3BhZC9icmVha3BhZF9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWRfZ2l0LmJiCmluZGV4IGQ5NzczYzkuLjVmOWE3MmUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9icmVha3BhZC9icmVha3BhZF9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkX2dpdC5iYgpAQCAtMTMsMTYgKzEzLDE3IEBACiAKIEJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgogCi1QRSA9ICIxIgorUEUgPSAiMiIKIAotUFYgPSAiMS4wK2dpdCR7U1JDUFZ9IgorUFYgPSAiMS4wIgogCiBTUkNSRVZfRk9STUFUID0gImJyZWFrcGFkX2d0ZXN0X3Byb3RvYnVmX2xzc19neXAiCiAKLVNSQ1JFVl9icmVha3BhZCA9ICJkZWE4NjdlNzZmMjRlNGE2ODM5NTY4NGI5ZDFjZjI0YmNlZjgyZjIwIgorU1JDUkVWX2JyZWFrcGFkID0gIjU0NjczOTNhM2QxZTdhYjkyOWZkMDFkNzk5NzE3MDFiZjRlMmMyYzYiCisjdjEuOC4wCiBTUkNSRVZfZ3Rlc3QgPSAiZWM0NGM2YzE2NzVjMjViOTgyN2FhY2QwOGMwMjQzM2NjY2RlNzc4MCIKIFNSQ1JFVl9wcm90b2J1ZiA9ICJjYjZkZDRlZjVmODJlNDFlMDYxNzlkY2Q1N2QzYjFkOTI0NmFkNmFjIgotU1JDUkVWX2xzcyA9ICJhOTE2MzNkMTcyNDA3ZjZjODNkZDY5YWYxMTUxMGIzN2FmZWJiN2Y5IgorU1JDUkVWX2xzcyA9ICJhODliZjc5MDNmMzE2OWU2YmM3YjhlZmMxMGE3M2E3NTcxZGUyMWNmIgogU1JDUkVWX2d5cCA9ICIzMjRkZDE2NmI3YzBiMzlkNTEzMDI2ZmE1MmQ2MjgwYWM2ZDU2NzcwIgogCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZ29vZ2xlL2JyZWFrcGFkO25hbWU9YnJlYWtwYWQgXApAQCAtMzAsMjYgKzMxLDI0IEBACiAgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vZ29vZ2xlL3Byb3RvYnVmLmdpdDtkZXN0c3VmZml4PWdpdC9zcmMvdGhpcmRfcGFydHkvcHJvdG9idWYvcHJvdG9idWY7bmFtZT1wcm90b2J1ZiBcCiAgICAgICAgICAgIGdpdDovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vbGludXgtc3lzY2FsbC1zdXBwb3J0O3Byb3RvY29sPWh0dHBzO2Rlc3RzdWZmaXg9Z2l0L3NyYy90aGlyZF9wYXJ0eS9sc3M7bmFtZT1sc3MgXAogICAgICAgICAgICBnaXQ6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2V4dGVybmFsL2d5cDtwcm90b2NvbD1odHRwcztkZXN0c3VmZml4PWdpdC9zcmMvdG9vbHMvZ3lwO25hbWU9Z3lwIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtUmVwbGFjZS11c2Utb2Ytc3RydWN0LXVjb250ZXh0LXdpdGgtdWNvbnRleHRfdC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtc3lzLXJlZy5oLXRvLWdldC1fX1dPUkRTSVpFLW9uLW11c2wtbGliYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLUF2b2lkLXVzaW5nLWJhc2VuYW1lLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDMtRml4LWNvbmZsaWN0LWJldHdlZW4tbXVzbC1saWJjLWRpcmVudC5oLWFuZC1sc3MucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1UdXJuLW9mZi1zaWduLWNvbXBhcmUtZm9yLW11c2wtbGliYy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAyLXN5cy1zaWduYWwuaC1pcy1hLW5vbnBvcnRhYmxlLWFsaWFzLWZvci1zaWduYWwuaC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAzLURvbnQtaW5jbHVkZS1zdGFiLmgucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwNC1lbGZfcmVhZGVyLmNjLWluY2x1ZGUtc3lzLXJlZy5oLXRvLWdldC1fX1dPUkRTSVpFLW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtbWQyY29yZS1SZXBsYWNlLWJhc2VuYW1lLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDItVXNlLV9mcHN0YXRlLWluc3RlYWQtb2YtX2xpYmNfZnBzdGF0ZS1vbi1saW51eC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9tY29udGV4dC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRpc2FibGUtY2FsbHMtdG8tZ2V0Y29udGV4dC13aXRoLW11c2wucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1sc3MtTWF0Y2gtc3lzY2FsbHMtdG8tbWF0Y2gtbXVzbC5wYXRjaDtwYXRjaGRpcj1zcmMvdGhpcmRfcGFydHkvbHNzIFwKICAgICAgICAgICAgZmlsZTovL21pcHNfYXNtX3NnaWRlZnMucGF0Y2g7cGF0Y2hkaXI9c3JjL3RoaXJkX3BhcnR5L2xzcyBcCisgICAgICAgICAgIGZpbGU6Ly9kb250LWNsb2JiZXItcnNwLnBhdGNoIFwKICIKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKIENYWEZMQUdTICs9ICItRF9HTlVfU09VUkNFIgogCi1DT01QQVRJQkxFX01BQ0hJTkVfcG93ZXJwYyA9ICIoIS4qcHBjKS4qIgorQ09NUEFUSUJMRV9IT1NUX3Bvd2VycGMgPSAibnVsbCIKIAogZG9faW5zdGFsbF9hcHBlbmQoKSB7CiAgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0KQEAgLTcyLDcgKzcxLDcgQEAKICAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaAogCiAgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY29tbW9uCi0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9jb21tb24vbWVtb3J5LmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY29tbW9uL21lbW9yeS5oCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9jb21tb24vbWVtb3J5X2FsbG9jYXRvci5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2NvbW1vbi9tZW1vcnlfYWxsb2NhdG9yLmgKICAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2NvbW1vbi9zY29wZWRfcHRyLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY29tbW9uL3Njb3BlZF9wdHIuaAogICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvY29tbW9uL3VzaW5nX3N0ZF9zdHJpbmcuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jb21tb24vdXNpbmdfc3RkX3N0cmluZy5oCiAKQEAgLTEyMCw0ICsxMTksNSBAQAogI3wge3N0YW5kYXJkIGlucHV0fToyMTg0OiBFcnJvcjogVGh1bWIgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIGFkZHJlc3NpbmcgbW9kZSAtLSBgc3RyIHI2LFtyMSwjLTRdIScKICN8IHtzdGFuZGFyZCBpbnB1dH06MjE5MTogRXJyb3I6IGxvIHJlZ2lzdGVyIHJlcXVpcmVkIC0tIGBsZHIgcGMsW3NwXScKICN8IG1ha2U6ICoqKiBbc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLm9dIEVycm9yIDEKLUFSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kb3h5Z2VuL2RveHlnZW4vMDAwMS1idWlsZC1kb24tdC1sb29rLWZvci1JY29udi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kb3h5Z2VuL2RveHlnZW4vMDAwMS1idWlsZC1kb24tdC1sb29rLWZvci1JY29udi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODZkYzE2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RveHlnZW4vZG94eWdlbi8wMDAxLWJ1aWxkLWRvbi10LWxvb2stZm9yLUljb252LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gMjQ2NTBiMGM3ZGI2YjIxM2EyZWFhNTA2MWI3NWI5ZjFiNDNmMWNlOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEJhcnRvc3ogR29sYXN6ZXdza2kgPGJyZ2xAYmdkZXYucGw+CitEYXRlOiBGcmksIDIzIE5vdiAyMDE4IDExOjQ0OjU2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkOiBkb24ndCBsb29rIGZvciBJY29udgorCitEcm9wIHRoZSBmaW5kX3BhY2thZ2UoKSBmb3IgSWNvbnYuIENNYWtlIGlzIHVuYWJsZSB0byBmaW5kIGljb252LmggaW4KK25hdGl2ZSBidWlsZCBidXQgYWxsIG1vZGVybiBzeXN0ZW1zIHN1cHBseSBpdCBhcyBwYXJ0IG9mIHRoZSBzdGFuZGFyZAorQyBsaWJyYXJ5LiBXZSBkb24ndCBuZWVkIHRoaXMgY2hlY2sgaW4gbWV0YS1vcGVuZW1iZWRkZWQuCisKK1NpZ25lZC1vZmYtYnk6IEJhcnRvc3ogR29sYXN6ZXdza2kgPGJyZ2xAYmdkZXYucGw+CisKK1Vwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZQorLSB1cHN0cmVhbSBkb3h5Z2VuIG11c3QgYnVpbGQgb24gbWFueSBhcmNoaXRlY3R1cmVzLCB0aGlzIGNoYW5nZSBpcworICB0b28gaW50cnVzaXZlIGZvciB1cHN0cmVhbQorLS0tCisgQ01ha2VMaXN0cy50eHQgfCA0IC0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDQ1YzJmMmMxLi4yMmNmMDE0NCAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTkyLDEwICs5Miw2IEBAIGlmIChzcWxpdGUzKQorICAgZW5kaWYoKQorIGVuZGlmKCkKKyAKKy1maW5kX3BhY2thZ2UoSWNvbnYgUkVRVUlSRUQpCistaW5jbHVkZV9kaXJlY3Rvcmllcygke0lDT05WX0lOQ0xVREVfRElSfSkKKy0KKy0KKyAjc2V0KERPWFlET0NTICR7Q01BS0VfU09VUkNFX0RJUn0vZG9jIENBQ0hFIElOVEVSTkFMICJQYXRoIHRvIGRveHlnZW4gZG9jcyIpCisgc2V0KERPWFlET0NTICR7UFJPSkVDVF9CSU5BUllfRElSfS9kb2MpCisgc2V0KEVOVntET1hZR0VOX0RPQ0RJUn0gJHtET1hZRE9DU30pCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZG94eWdlbi9kb3h5Z2VuXzEuOC4xNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kb3h5Z2VuL2RveHlnZW5fMS44LjE1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4NDY4NDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZG94eWdlbi9kb3h5Z2VuXzEuOC4xNS5iYgpAQCAtMCwwICsxLDE2IEBACitERVNDUklQVElPTiA9ICJEb3h5Z2VuIGlzIHRoZSBkZSBmYWN0byBzdGFuZGFyZCB0b29sIGZvciBnZW5lcmF0aW5nIGRvY3VtZW50YXRpb24gZnJvbSBhbm5vdGF0ZWQgQysrIHNvdXJjZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5kb3h5Z2VuLm9yZy8iCisKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitpbmhlcml0IGNtYWtlIHB5dGhvbjNuYXRpdmUKKworREVQRU5EUyA9ICJmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQfS5zcmMudGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYnVpbGQtZG9uLXQtbG9vay1mb3ItSWNvbnYucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiMmM5OGM3M2ViYTM5MmQzMzRmNWJiYWYxNWUwOWJhZTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmQ5YzBlYzQ2MmI2YTliNWI0MWVkZTk3YmVkZTU0NThlMGQ3YmI0MGQ0Y2ZhMjdmNmY2MjJlYjMzYzU5MjQ1ZCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZmxhdGJ1ZmZlcnMvZmlsZXMvMDAwMS1jb3JyZWN0LXZlcnNpb24tZm9yLXNvLWxpYi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9mbGF0YnVmZmVycy9maWxlcy8wMDAxLWNvcnJlY3QtdmVyc2lvbi1mb3Itc28tbGliLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhN2E0MmY5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9mbGF0YnVmZmVycy9maWxlcy8wMDAxLWNvcnJlY3QtdmVyc2lvbi1mb3Itc28tbGliLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotRnJvbSA4YjQ0ZGM2NWQ5OGQ1MGI0NjI4NDNhYzlkYWI2ZmUzZmMyNWFiZTM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUGFzY2FsIEJhY2ggPHBhc2NhbC5iYWNoQHNpZW1lbnMuY29tPgotRGF0ZTogRnJpLCAxMiBNYXkgMjAxNyAxMzo1NDo0OSArMDIwMAotU3ViamVjdDogW1BBVENIXSBjb3JyZWN0IHZlcnNpb24gZm9yIHNvIGxpYgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotLS0tCi0gQ01ha2VMaXN0cy50eHQgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKLWluZGV4IDM2NzBhZmUuLmY0ZmNkMmMgMTAwNjQ0Ci0tLS0gYS9DTWFrZUxpc3RzLnR4dAotKysrIGIvQ01ha2VMaXN0cy50eHQKLUBAIC0xNzIsNiArMTcyLDcgQEAgZW5kaWYoKQotIGlmKEZMQVRCVUZGRVJTX0JVSUxEX1NIQVJFRExJQikKLSAgIGFkZF9saWJyYXJ5KGZsYXRidWZmZXJzX3NoYXJlZCBTSEFSRUQgJHtGbGF0QnVmZmVyc19MaWJyYXJ5X1NSQ1N9KQotICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKGZsYXRidWZmZXJzX3NoYXJlZCBQUk9QRVJUSUVTIE9VVFBVVF9OQU1FIGZsYXRidWZmZXJzKQotKyAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKGZsYXRidWZmZXJzX3NoYXJlZCBQUk9QRVJUSUVTIFZFUlNJT04gIiR7UFZ9IikKLSBlbmRpZigpCi0gCi0gZnVuY3Rpb24oY29tcGlsZV9mbGF0YnVmZmVyc19zY2hlbWFfdG9fY3BwIFNSQ19GQlMpCi0tLSAKLTIuMS40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9mbGF0YnVmZmVycy9maWxlcy8wMDAxLWZsYXRidWZmZXJzLU1vdmUtRW5kaWFuU3dhcC10ZW1wbGF0ZS10by1mbGF0YnVmZmVycy0ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZmxhdGJ1ZmZlcnMvZmlsZXMvMDAwMS1mbGF0YnVmZmVycy1Nb3ZlLUVuZGlhblN3YXAtdGVtcGxhdGUtdG8tZmxhdGJ1ZmZlcnMtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNzM2ZjAxLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9mbGF0YnVmZmVycy9maWxlcy8wMDAxLWZsYXRidWZmZXJzLU1vdmUtRW5kaWFuU3dhcC10ZW1wbGF0ZS10by1mbGF0YnVmZmVycy0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotRnJvbSBhNjE0ZDhlMjBmYTllNGZkMTZiNjk5ZDU4MWRkYWMyOTU2YzEyMGY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMTkgU2VwIDIwMTcgMTA6MDQ6MDIgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIGZsYXRidWZmZXJzOiBNb3ZlIEVuZGlhblN3YXAgdGVtcGxhdGUgdG8KLSBmbGF0YnVmZmVycy9iYXNlLmgKLQotQ2xhbmcgY29tcGxhaW5zCi1jYWxsIHRvIGZ1bmN0aW9uICdFbmRpYW5Td2FwJyB0aGF0IGlzIG5laXRoZXIgdmlzaWJsZSBpbiB0aGUgdGVtcGxhdGUgZGVmaW5pdGlvbiBub3IgZm91bmQgYnkgYXJndW1lbnQtZGVwZW5kZW50IGxvb2t1cAotICAgICByZXR1cm4gRW5kaWFuU3dhcCh0KTsKLQotVGhpcyBzZWVtcyB0byBiZSBkdWUgdG8gbGltaXRhdGlvbiBvZiB0d28tcGhhc2UgbG9va3VwIG9mIGRlcGVuZGVudCBuYW1lcyBpbiB0ZW1wbGF0ZSBkZWZpbml0aW9ucwotCi1JdHMgbm90IGJlaW5nIGZvdW5kIHVzaW5nIGFzc29jaWF0ZWQgbmFtZXNwYWNlcyB0aGVyZWZvcmUKLWl0IGhhcyB0byBiZSBtYWRlIHZpc2libGUgYXQgdGhlIHRlbXBsYXRlIGRlZmluaXRpb24gc2l0ZSBhcyB3ZWxsCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCi0KLSBpbmNsdWRlL2ZsYXRidWZmZXJzL2Jhc2UuaCAgICAgICAgfCAzMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSBpbmNsdWRlL2ZsYXRidWZmZXJzL2ZsYXRidWZmZXJzLmggfCAzMiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pbmNsdWRlL2ZsYXRidWZmZXJzL2Jhc2UuaCBiL2luY2x1ZGUvZmxhdGJ1ZmZlcnMvYmFzZS5oCi1pbmRleCBmMDUxNzU1Li5jNzNmYjJkIDEwMDY0NAotLS0tIGEvaW5jbHVkZS9mbGF0YnVmZmVycy9iYXNlLmgKLSsrKyBiL2luY2x1ZGUvZmxhdGJ1ZmZlcnMvYmFzZS5oCi1AQCAtMTUwLDYgKzE1MCwzOSBAQCB0eXBlZGVmIHVpbnRtYXhfdCBsYXJnZXN0X3NjYWxhcl90OwotIC8vIFdlIHN1cHBvcnQgYWxpZ25pbmcgdGhlIGNvbnRlbnRzIG9mIGJ1ZmZlcnMgdXAgdG8gdGhpcyBzaXplLgotICNkZWZpbmUgRkxBVEJVRkZFUlNfTUFYX0FMSUdOTUVOVCAxNgotIAotK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IFQgRW5kaWFuU3dhcChUIHQpIHsKLSsgICNpZiBkZWZpbmVkKF9NU0NfVkVSKQotKyAgICAjZGVmaW5lIEZMQVRCVUZGRVJTX0JZVEVTV0FQMTYgX2J5dGVzd2FwX3VzaG9ydAotKyAgICAjZGVmaW5lIEZMQVRCVUZGRVJTX0JZVEVTV0FQMzIgX2J5dGVzd2FwX3Vsb25nCi0rICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVA2NCBfYnl0ZXN3YXBfdWludDY0Ci0rICAjZWxzZQotKyAgICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgX19HTlVDX18gKiAxMDAgKyBfX0dOVUNfTUlOT1JfXyA8IDQwOAotKyAgICAgIC8vIF9fYnVpbHRpbl9ic3dhcDE2IHdhcyBtaXNzaW5nIHByaW9yIHRvIEdDQyA0LjguCi0rICAgICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDE2KHgpIFwKLSsgICAgICAgIHN0YXRpY19jYXN0PHVpbnQxNl90PihfX2J1aWx0aW5fYnN3YXAzMihzdGF0aWNfY2FzdDx1aW50MzJfdD4oeCkgPDwgMTYpKQotKyAgICAjZWxzZQotKyAgICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVAxNiBfX2J1aWx0aW5fYnN3YXAxNgotKyAgICAjZW5kaWYKLSsgICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDMyIF9fYnVpbHRpbl9ic3dhcDMyCi0rICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVA2NCBfX2J1aWx0aW5fYnN3YXA2NAotKyAgI2VuZGlmCi0rICBpZiAoc2l6ZW9mKFQpID09IDEpIHsgICAvLyBDb21waWxlLXRpbWUgaWYtdGhlbidzLgotKyAgICByZXR1cm4gdDsKLSsgIH0gZWxzZSBpZiAoc2l6ZW9mKFQpID09IDIpIHsKLSsgICAgYXV0byByID0gRkxBVEJVRkZFUlNfQllURVNXQVAxNigqcmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCAqPigmdCkpOwotKyAgICByZXR1cm4gKnJlaW50ZXJwcmV0X2Nhc3Q8VCAqPigmcik7Ci0rICB9IGVsc2UgaWYgKHNpemVvZihUKSA9PSA0KSB7Ci0rICAgIGF1dG8gciA9IEZMQVRCVUZGRVJTX0JZVEVTV0FQMzIoKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QgKj4oJnQpKTsKLSsgICAgcmV0dXJuICpyZWludGVycHJldF9jYXN0PFQgKj4oJnIpOwotKyAgfSBlbHNlIGlmIChzaXplb2YoVCkgPT0gOCkgewotKyAgICBhdXRvIHIgPSBGTEFUQlVGRkVSU19CWVRFU1dBUDY0KCpyZWludGVycHJldF9jYXN0PHVpbnQ2NF90ICo+KCZ0KSk7Ci0rICAgIHJldHVybiAqcmVpbnRlcnByZXRfY2FzdDxUICo+KCZyKTsKLSsgIH0gZWxzZSB7Ci0rICAgIGFzc2VydCgwKTsKLSsgIH0KLSt9Ci0rCi0rCi0gdGVtcGxhdGU8dHlwZW5hbWUgVD4gVCBFbmRpYW5TY2FsYXIoVCB0KSB7Ci0gICAjaWYgRkxBVEJVRkZFUlNfTElUVExFRU5ESUFOCi0gICAgIHJldHVybiB0OwotZGlmZiAtLWdpdCBhL2luY2x1ZGUvZmxhdGJ1ZmZlcnMvZmxhdGJ1ZmZlcnMuaCBiL2luY2x1ZGUvZmxhdGJ1ZmZlcnMvZmxhdGJ1ZmZlcnMuaAotaW5kZXggOTIxNmNmNC4uZjc0OWRjYiAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvZmxhdGJ1ZmZlcnMvZmxhdGJ1ZmZlcnMuaAotKysrIGIvaW5jbHVkZS9mbGF0YnVmZmVycy9mbGF0YnVmZmVycy5oCi1AQCAtMzcsMzggKzM3LDYgQEAgaW5saW5lIHZvaWQgRW5kaWFuQ2hlY2soKSB7Ci0gICAodm9pZCllbmRpYW50ZXN0OwotIH0KLSAKLS10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBUIEVuZGlhblN3YXAoVCB0KSB7Ci0tICAjaWYgZGVmaW5lZChfTVNDX1ZFUikKLS0gICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDE2IF9ieXRlc3dhcF91c2hvcnQKLS0gICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDMyIF9ieXRlc3dhcF91bG9uZwotLSAgICAjZGVmaW5lIEZMQVRCVUZGRVJTX0JZVEVTV0FQNjQgX2J5dGVzd2FwX3VpbnQ2NAotLSAgI2Vsc2UKLS0gICAgI2lmIGRlZmluZWQoX19HTlVDX18pICYmIF9fR05VQ19fICogMTAwICsgX19HTlVDX01JTk9SX18gPCA0MDgKLS0gICAgICAvLyBfX2J1aWx0aW5fYnN3YXAxNiB3YXMgbWlzc2luZyBwcmlvciB0byBHQ0MgNC44LgotLSAgICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVAxNih4KSBcCi0tICAgICAgICBzdGF0aWNfY2FzdDx1aW50MTZfdD4oX19idWlsdGluX2Jzd2FwMzIoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHgpIDw8IDE2KSkKLS0gICAgI2Vsc2UKLS0gICAgICAjZGVmaW5lIEZMQVRCVUZGRVJTX0JZVEVTV0FQMTYgX19idWlsdGluX2Jzd2FwMTYKLS0gICAgI2VuZGlmCi0tICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVAzMiBfX2J1aWx0aW5fYnN3YXAzMgotLSAgICAjZGVmaW5lIEZMQVRCVUZGRVJTX0JZVEVTV0FQNjQgX19idWlsdGluX2Jzd2FwNjQKLS0gICNlbmRpZgotLSAgaWYgKHNpemVvZihUKSA9PSAxKSB7ICAgLy8gQ29tcGlsZS10aW1lIGlmLXRoZW4ncy4KLS0gICAgcmV0dXJuIHQ7Ci0tICB9IGVsc2UgaWYgKHNpemVvZihUKSA9PSAyKSB7Ci0tICAgIGF1dG8gciA9IEZMQVRCVUZGRVJTX0JZVEVTV0FQMTYoKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2X3QgKj4oJnQpKTsKLS0gICAgcmV0dXJuICpyZWludGVycHJldF9jYXN0PFQgKj4oJnIpOwotLSAgfSBlbHNlIGlmIChzaXplb2YoVCkgPT0gNCkgewotLSAgICBhdXRvIHIgPSBGTEFUQlVGRkVSU19CWVRFU1dBUDMyKCpyZWludGVycHJldF9jYXN0PHVpbnQzMl90ICo+KCZ0KSk7Ci0tICAgIHJldHVybiAqcmVpbnRlcnByZXRfY2FzdDxUICo+KCZyKTsKLS0gIH0gZWxzZSBpZiAoc2l6ZW9mKFQpID09IDgpIHsKLS0gICAgYXV0byByID0gRkxBVEJVRkZFUlNfQllURVNXQVA2NCgqcmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdCAqPigmdCkpOwotLSAgICByZXR1cm4gKnJlaW50ZXJwcmV0X2Nhc3Q8VCAqPigmcik7Ci0tICB9IGVsc2UgewotLSAgICBhc3NlcnQoMCk7Ci0tICB9Ci0tfQotLQotIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IEZMQVRCVUZGRVJTX0NPTlNURVhQUiBzaXplX3QgQWxpZ25PZigpIHsKLSAgICNpZmRlZiBfTVNDX1ZFUgotICAgICByZXR1cm4gX19hbGlnbm9mKFQpOwotLS0gCi0yLjE0LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ZsYXRidWZmZXJzL2ZpbGVzLzAwMDItdXNlLV9fYnVpbHRpbl9ic3dhcDE2LXdoZW4tYnVpbGRpbmctd2l0aC1jbGFuZy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9mbGF0YnVmZmVycy9maWxlcy8wMDAyLXVzZS1fX2J1aWx0aW5fYnN3YXAxNi13aGVuLWJ1aWxkaW5nLXdpdGgtY2xhbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2MDE1OWYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ZsYXRidWZmZXJzL2ZpbGVzLzAwMDItdXNlLV9fYnVpbHRpbl9ic3dhcDE2LXdoZW4tYnVpbGRpbmctd2l0aC1jbGFuZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gNjI2ZmU1ZTA0M2RlMjVlOTcwZWJkZjA2MWI4OGM2NDZmYTY4OTExMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDE5IFNlcCAyMDE3IDEwOjA5OjMxIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8yXSB1c2UgX19idWlsdGluX2Jzd2FwMTYgd2hlbiBidWlsZGluZyB3aXRoIGNsYW5nCi0KLWNsYW5nIHByZXRlbmRzIHRvIGJlIGdjYyA0LjIuMCBhbmQgdGhlcmVmb3JlIHRoZSBjb2RlIGRvZXMKLW5vdCB1c2UgX19idWlsdGluX2Jzd2FwMTYgYnV0IHRyaWVzIHRvIHN5bnRoZXNpemUgaXQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLSBpbmNsdWRlL2ZsYXRidWZmZXJzL2Jhc2UuaCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2luY2x1ZGUvZmxhdGJ1ZmZlcnMvYmFzZS5oIGIvaW5jbHVkZS9mbGF0YnVmZmVycy9iYXNlLmgKLWluZGV4IGM3M2ZiMmQuLjEzZThmYWMgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL2ZsYXRidWZmZXJzL2Jhc2UuaAotKysrIGIvaW5jbHVkZS9mbGF0YnVmZmVycy9iYXNlLmgKLUBAIC0xNTYsNyArMTU2LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gVCBFbmRpYW5Td2FwKFQgdCkgewotICAgICAjZGVmaW5lIEZMQVRCVUZGRVJTX0JZVEVTV0FQMzIgX2J5dGVzd2FwX3Vsb25nCi0gICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVA2NCBfYnl0ZXN3YXBfdWludDY0Ci0gICAjZWxzZQotLSAgICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgX19HTlVDX18gKiAxMDAgKyBfX0dOVUNfTUlOT1JfXyA8IDQwOAotKyAgICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgX19HTlVDX18gKiAxMDAgKyBfX0dOVUNfTUlOT1JfXyA8IDQwOCAmJiAhZGVmaW5lZChfX2NsYW5nX18pCi0gICAgICAgLy8gX19idWlsdGluX2Jzd2FwMTYgd2FzIG1pc3NpbmcgcHJpb3IgdG8gR0NDIDQuOC4KLSAgICAgICAjZGVmaW5lIEZMQVRCVUZGRVJTX0JZVEVTV0FQMTYoeCkgXAotICAgICAgICAgc3RhdGljX2Nhc3Q8dWludDE2X3Q+KF9fYnVpbHRpbl9ic3dhcDMyKHN0YXRpY19jYXN0PHVpbnQzMl90Pih4KSA8PCAxNikpCi0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZmxhdGJ1ZmZlcnMvZmxhdGJ1ZmZlcnNfMS4xMC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ZsYXRidWZmZXJzL2ZsYXRidWZmZXJzXzEuMTAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTJlMWU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ZsYXRidWZmZXJzL2ZsYXRidWZmZXJzXzEuMTAuMC5iYgpAQCAtMCwwICsxLDM0IEBACitTVU1NQVJZID0gIk1lbW9yeSBFZmZpY2llbnQgU2VyaWFsaXphdGlvbiBMaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9mbGF0YnVmZmVycyIKK1NFQ1RJT04gPSAiY29uc29sZS90b29scyIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKKworUEFDS0FHRV9CRUZPUkVfUE4gPSAiJHtQTn0tY29tcGlsZXIiCisKK1JERVBFTkRTXyR7UE59LWNvbXBpbGVyID0gIiR7UE59IgorUkRFUEVORFNfJHtQTn0tZGV2ICs9ICIke1BOfS1jb21waWxlciIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWE4NzNjNTY0NWMxODRkNTFlMGY5YjM0ZTFkN2NmNTU5IgorCitTUkNSRVYgPSAiYzA2OThjYzMzZjFlNTM0YmI1OWM0NTU5MDliODhjYzI3MjYwODlhZiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2dvb2dsZS9mbGF0YnVmZmVycy5naXQiCisKKyMgTWFrZSBzdXJlIEMrKzExIGlzIHVzZWQsIHJlcXVpcmVkIGZvciBleGFtcGxlIGZvciBHQ0MgNC45CitDWFhGTEFHUyArPSAiLXN0ZD1jKysxMSIKK0JVSUxEX0NYWEZMQUdTICs9ICItc3RkPWMrKzExIgorCisjIEJVSUxEX1RZUEU9UmVsZWFzZSBpcyByZXF1aXJlZCwgb3RoZXJ3aXNlIGZsYXRjIGlzIG5vdCBpbnN0YWxsZWQKK0VYVFJBX09FQ01BS0UgKz0gIlwKKyAgICAtRENNQUtFX0JVSUxEX1RZUEU9UmVsZWFzZSBcCisgICAgLURGTEFUQlVGRkVSU19CVUlMRF9URVNUUz1PRkYgXCAgICAKKyAgICAtREZMQVRCVUZGRVJTX0JVSUxEX1NIQVJFRExJQj1PTiBcCisiCisKK2luaGVyaXQgY21ha2UKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRklMRVNfJHtQTn0tY29tcGlsZXIgPSAiJHtiaW5kaXJ9IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZmxhdGJ1ZmZlcnMvZmxhdGJ1ZmZlcnNfMS45LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZmxhdGJ1ZmZlcnMvZmxhdGJ1ZmZlcnNfMS45LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4ZGY0NDQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ZsYXRidWZmZXJzL2ZsYXRidWZmZXJzXzEuOS4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotU1VNTUFSWSA9ICJNZW1vcnkgRWZmaWNpZW50IFNlcmlhbGl6YXRpb24gTGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvZmxhdGJ1ZmZlcnMiCi1TRUNUSU9OID0gImNvbnNvbGUvdG9vbHMiCi1MSUNFTlNFID0gIkFwYWNoZS0yLjAiCi0KLVBBQ0tBR0VfQkVGT1JFX1BOID0gIiR7UE59LWNvbXBpbGVyIgotCi1SREVQRU5EU18ke1BOfS1jb21waWxlciA9ICIke1BOfSIKLVJERVBFTkRTXyR7UE59LWRldiArPSAiJHtQTn0tY29tcGlsZXIiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT1hODczYzU2NDVjMTg0ZDUxZTBmOWIzNGUxZDdjZjU1OSIKLQotU1JDUkVWID0gIjI1YTE1OTUwZjVhMjRkNzIxNzY4OTczOWVkOGY2ZGFjNjQ5MTJkNjIiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9nb29nbGUvZmxhdGJ1ZmZlcnMuZ2l0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29ycmVjdC12ZXJzaW9uLWZvci1zby1saWIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1mbGF0YnVmZmVycy1Nb3ZlLUVuZGlhblN3YXAtdGVtcGxhdGUtdG8tZmxhdGJ1ZmZlcnMtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItdXNlLV9fYnVpbHRpbl9ic3dhcDE2LXdoZW4tYnVpbGRpbmctd2l0aC1jbGFuZy5wYXRjaCBcCi0gICAgICAgICAgICIKLQotIyBNYWtlIHN1cmUgQysrMTEgaXMgdXNlZCwgcmVxdWlyZWQgZm9yIGV4YW1wbGUgZm9yIEdDQyA0LjkKLUNYWEZMQUdTICs9ICItc3RkPWMrKzExIgotQlVJTERfQ1hYRkxBR1MgKz0gIi1zdGQ9YysrMTEiCi0KLUVYVFJBX09FQ01BS0UgKz0gIlwKLSAgICAtREZMQVRCVUZGRVJTX0JVSUxEX1RFU1RTPU9GRiBcCi0gICAgLURGTEFUQlVGRkVSU19CVUlMRF9TSEFSRURMSUI9T04gXAotICAgIC1EUFY9JHtQVn0gXAotIgotCi1pbmhlcml0IGNtYWtlCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLUZJTEVTXyR7UE59LWNvbXBpbGVyID0gIiR7YmluZGlyfSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55LXBsdWdpbnMvMDAwMS1Vc2UtcGtnLWNvbmZpZy10by1maW5kLWdwZ21lLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55LXBsdWdpbnMvMDAwMS1Vc2UtcGtnLWNvbmZpZy10by1maW5kLWdwZ21lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwMzBmMzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnktcGx1Z2lucy8wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWZpbmQtZ3BnbWUucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSAwYzI0Zjk5Y2E0ZDRmNjRlYTg1ODQzNDdjYTZhZTBkNjM4ZDYyNWE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTggRmViIDIwMTkgMTY6MTM6MTcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIHBrZy1jb25maWcgdG8gZmluZCBncGdtZQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorLS0tCisgYnVpbGQvYnVuZGxlZC9ncGdtZS5tNCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2J1aWxkL2J1bmRsZWQvZ3BnbWUubTQgYi9idWlsZC9idW5kbGVkL2dwZ21lLm00CitpbmRleCA0NGJmNDNjLi5jOWE4YWU2IDEwMDY0NAorLS0tIGEvYnVpbGQvYnVuZGxlZC9ncGdtZS5tNAorKysrIGIvYnVpbGQvYnVuZGxlZC9ncGdtZS5tNAorQEAgLTE4LDcgKzE4LDcgQEAgQUNfREVGVU4oW19BTV9QQVRIX0dQR01FX0NPTkZJR10sCisgICBpZiB0ZXN0ICJ4JGdwZ21lX2NvbmZpZ19wcmVmaXgiICE9IHggOyB0aGVuCisgICAgICAgR1BHTUVfQ09ORklHPSIkZ3BnbWVfY29uZmlnX3ByZWZpeC9iaW4vZ3BnbWUtY29uZmlnIgorICAgZmkKKy0gIEFDX1BBVEhfUFJPRyhHUEdNRV9DT05GSUcsIGdwZ21lLWNvbmZpZywgbm8pCisrICBHUEdNRV9DT05GSUc9InBrZy1jb25maWcgZ3BnbWUiCisgCisgICBpZiB0ZXN0ICIkR1BHTUVfQ09ORklHIiAhPSAibm8iIDsgdGhlbgorICAgICBncGdtZV92ZXJzaW9uPWAkR1BHTUVfQ09ORklHIC0tdmVyc2lvbmAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueS1wbHVnaW5zXzEuMzEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnktcGx1Z2luc18xLjMxLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOGYyZjg5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueS1wbHVnaW5zXzEuMzEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNzEgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiQSBmYXN0IGFuZCBsaWdodHdlaWdodCBJREUiCi1IT01FUEFHRSA9ICJodHRwOi8vcGx1Z2lucy5nZWFueS5vcmcvIgotCi1MSUNFTlNFX0RFRkFVTFQgPSAiR1BMdjIiCi1MSUNFTlNFID0gIiR7TElDRU5TRV9ERUZBVUxUfSAmIEJTRC0yLUNsYXVzZSAmIEdQTHYzIgotCi1weXRob24gKCkgewotICAgIGZvciBwbHVnaW4gaW4gZC5nZXRWYXIoJ1BMVUdJTlMnKS5zcGxpdCgpOgotICAgICAgICBpZiAnTElDRU5TRV8lcycgJSBwbHVnaW4gbm90IGluIGQ6Ci0gICAgICAgICAgICBkLnNldFZhcignTElDRU5TRV8nICsgcGx1Z2luLCAnJHtMSUNFTlNFX0RFRkFVTFR9JykKLX0KLQotREVQRU5EUyA9ICIgXAotICAgIGZyaWJpZGkgXAotICAgIGdlYW55IFwKLSAgICBsaWJ4bWwyIFwKLSAgICBsaWJzb3VwLTIuNCBcCi0gICAgZW5jaGFudCBcCi0gICAgaW50bHRvb2wtbmF0aXZlIFwKLSAgICBsaWJhc3N1YW4gXAotICAgIGdwZ21lIFwKLSAgICB2dGU5IFwKLSAgICBsaWJnaXQyIFwKLSIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstaWNvbi1jYWNoZQotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJID0gImh0dHA6Ly9wbHVnaW5zLmdlYW55Lm9yZy8ke1BOfS8ke1BOfS0ke1BWfS50YXIuYnoyIgotU1JDX1VSSVttZDVzdW1dID0gIjgwOGY5MDQ4Yjc3ZmQ5NzA0NTY5ZWQyYmExMmE1NmU5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc2YmQ5ZTgwM2RiNWE2MjZiODY2NjlmMDgzMzBjZjk1YjhjYzM1MDU3YTFjZGY2NTc1OWJjMDBhZWYxMjBlMjUiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgIHJtIC1mICR7U30vYnVpbGQvY2FjaGUvZ2xpYi1nZXR0ZXh0Lm00Ci19Ci0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zIgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ2VhbnkvKi5sYSAke2xpYmRpcn0vJHtQTn0vKi8qLmxhIgotCi1QTFVHSU5TICs9ICIke1BOfS1hZGRvbnMiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vYWRkb25zL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgotRklMRVNfJHtQTn0tYWRkb25zID0gIiR7bGliZGlyfS9nZWFueS9hZGRvbnMuc28iCi1SREVQRU5EU18ke1BOfS1hZGRvbnMgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWF1dG9jbG9zZSIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9hdXRvY2xvc2UvQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi1GSUxFU18ke1BOfS1hdXRvY2xvc2UgPSAiJHtsaWJkaXJ9L2dlYW55L2F1dG9jbG9zZS5zbyIKLVJERVBFTkRTXyR7UE59LWF1dG9jbG9zZSA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tYXV0b21hcmsiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vYXV0b21hcmsvQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi1GSUxFU18ke1BOfS1hdXRvbWFyayA9ICIke2xpYmRpcn0vZ2VhbnkvYXV0b21hcmsuc28iCi1SREVQRU5EU18ke1BOfS1hdXRvbWFyayA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tY29kZW5hdiIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9jb2RlbmF2L0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgotRklMRVNfJHtQTn0tY29kZW5hdiA9ICIke2xpYmRpcn0vZ2VhbnkvY29kZW5hdi5zbyIKLVJERVBFTkRTXyR7UE59LWNvZGVuYXYgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWNvbW1hbmRlciIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9jb21tYW5kZXIvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi1MSUNFTlNFXyR7UE59LWNvbW1hbmRlciA9ICJHUEx2MyIKLUZJTEVTXyR7UE59LWNvbW1hbmRlciA9ICIke2xpYmRpcn0vZ2VhbnkvY29tbWFuZGVyLnNvIgotUkRFUEVORFNfJHtQTn0tY29tbWFuZGVyID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1kZWJ1Z2dlciIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9kZWJ1Z2dlci9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKLUZJTEVTXyR7UE59LWRlYnVnZ2VyID0gIiR7bGliZGlyfS9nZWFueS9kZWJ1Z2dlci5zbyAke2RhdGFkaXJ9LyR7UE59L2RlYnVnZ2VyIgotUkRFUEVORFNfJHtQTn0tZGVidWdnZXIgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWRlZmluZWZvcm1hdCIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9kZWZpbmVmb3JtYXQvQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi1GSUxFU18ke1BOfS1kZWZpbmVmb3JtYXQgPSAiJHtsaWJkaXJ9L2dlYW55L2RlZmluZWZvcm1hdC5zbyIKLVJERVBFTkRTXyR7UE59LWRlZmluZWZvcm1hdCA9ICIke1BOfSIKLQotIyBubyBnbm9tZSBkZXZoZWxwIGluIHNvbWUgY29tbW9uIGxheWVyCi1FWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1kZXZoZWxwIgotI1BMVUdJTlMgKz0gIiR7UE59LWRldmhlbHAiCi0jTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2RldmhlbHAvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi0jTElDRU5TRV8ke1BOfS1kZXZoZWxwID0gIkdQTHYzIgotI0ZJTEVTXyR7UE59LWRldmhlbHAgPSAiJHtsaWJkaXJ9L2dlYW55L2RldmhlbHAuc28iCi0jUkRFUEVORFNfJHtQTn0tZGV2aGVscCA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2VhbnljdGFncyIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueWN0YWdzL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgotRklMRVNfJHtQTn0tZ2VhbnljdGFncyA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnljdGFncy5zbyIKLVJERVBFTkRTXyR7UE59LWdlYW55Y3RhZ3MgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWdlYW55ZG9jIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55ZG9jL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgotTElDRU5TRV8ke1BOfS1nZWFueWRvYyA9ICJHUEx2MyIKLUZJTEVTXyR7UE59LWdlYW55ZG9jID0gIiR7bGliZGlyfS9nZWFueS9nZWFueWRvYy5zbyIKLVJERVBFTkRTXyR7UE59LWdlYW55ZG9jID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1nZWFueWV4dHJhc2VsIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55ZXh0cmFzZWwvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCi1GSUxFU18ke1BOfS1nZWFueWV4dHJhc2VsID0gIiR7bGliZGlyfS9nZWFueS9nZWFueWV4dHJhc2VsLnNvIgotUkRFUEVORFNfJHtQTn0tZ2VhbnlleHRyYXNlbCA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlpbnNlcnRudW0iCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnlpbnNlcnRudW0vQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCi1GSUxFU18ke1BOfS1nZWFueWluc2VydG51bSA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnlpbnNlcnRudW0uc28iCi1SREVQRU5EU18ke1BOfS1nZWFueWluc2VydG51bSA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlsYXRleCIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueWxhdGV4L0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgotRklMRVNfJHtQTn0tZ2VhbnlsYXRleCA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnlsYXRleC5zbyIKLVJERVBFTkRTXyR7UE59LWdlYW55bGF0ZXggPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWdlYW55bGlwc3VtIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2xpcHN1bS9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKLUZJTEVTXyR7UE59LWdlYW55bGlwc3VtID0gIiR7bGliZGlyfS9nZWFueS9saXBzdW0uc28iCi1SREVQRU5EU18ke1BOfS1nZWFueWxpcHN1bSA9ICIke1BOfSIKLQotIyBubyBsdWE6IG1heCBzdXBwb3J0ZWQgdmVyc2lvbiBpcyA1LjIKLUVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWdlYW55bHVhIgotI1BMVUdJTlMgKz0gIiR7UE59LWdlYW55bHVhIgotI0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueWx1YS9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKLSNGSUxFU18ke1BOfS1nZWFueWx1YSA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnlsdWEuc28gJHtsaWJkaXJ9LyR7UE59L2dlYW55bHVhLyouc28iCi0jUkRFUEVORFNfJHtQTn0tZ2VhbnlsdWEgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWdlYW55bWFjcm8iCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnltYWNyby9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKLUZJTEVTXyR7UE59LWdlYW55bWFjcm8gPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55bWFjcm8uc28iCi1SREVQRU5EU18ke1BOfS1nZWFueW1hY3JvID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1nZWFueW1pbmlzY3JpcHQiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnltaW5pc2NyaXB0L0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgotRklMRVNfJHtQTn0tZ2VhbnltaW5pc2NyaXB0ID0gIiR7bGliZGlyfS9nZWFueS9nZWFueW1pbmlzY3JpcHQuc28iCi1SREVQRU5EU18ke1BOfS1nZWFueW1pbmlzY3JpcHQgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWdlYW55bnVtYmVyZWRib29rbWFya3MiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnludW1iZXJlZGJvb2ttYXJrcy9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKLUZJTEVTXyR7UE59LWdlYW55bnVtYmVyZWRib29rbWFya3MgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55bnVtYmVyZWRib29rbWFya3Muc28iCi1SREVQRU5EU18ke1BOfS1nZWFueW51bWJlcmVkYm9va21hcmtzID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1nZWFueXBnIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55cGcvQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi1GSUxFU18ke1BOfS1nZWFueXBnID0gIiR7bGliZGlyfS9nZWFueS9nZWFueXBnLnNvIgotUkRFUEVORFNfJHtQTn0tZ2VhbnlwZyA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlwcmoiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnlwcmovQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi1MSUNFTlNFXyR7UE59LWdlYW55cHJqID0gIkdQTHYzIgotRklMRVNfJHtQTn0tZ2VhbnlwcmogPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55cHJqLnNvIgotUkRFUEVORFNfJHtQTn0tZ2VhbnlwcmogPSAiJHtQTn0iCi0KLSMgbm8gZ25vbWUgcHlndGsKLUVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWdlYW55cHkiCi0jUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlweSIKLSNMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnlweS9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLSNGSUxFU18ke1BOfS1nZWFueXB5ID0gIiR7bGliZGlyfS9nZWFueS9nZWFueXB5LnNvIgotI1JERVBFTkRTXyR7UE59LWdlYW55cHkgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWdlYW55dmMiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2Vhbnl2Yy9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKLUZJTEVTXyR7UE59LWdlYW55dmMgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55dmMuc28iCi1SREVQRU5EU18ke1BOfS1nZWFueXZjID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1nZW5pdXNwYXN0ZSIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZW5pdXNwYXN0ZS9DT1BZSU5HO21kNT1iZmMyMDMyNjlmODg2MmViZmMxMTk4Y2RjODA5YTk1YSIKLUZJTEVTXyR7UE59LWdlbml1c3Bhc3RlID0gIiR7bGliZGlyfS9nZWFueS9nZW5pdXNwYXN0ZS5zbyAke2RhdGFkaXJ9LyR7UE59L2dlbml1c3Bhc3RlIgotUkRFUEVORFNfJHtQTn0tZ2VuaXVzcGFzdGUgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWdpdC1jaGFuZ2ViYXIiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2l0LWNoYW5nZWJhci9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLUxJQ0VOU0VfJHtQTn0tZ2l0LWNoYW5nZWJhciA9ICJHUEx2MyIKLUZJTEVTXyR7UE59LWdpdC1jaGFuZ2ViYXIgPSAiJHtsaWJkaXJ9L2dlYW55L2dpdC1jaGFuZ2ViYXIuc28iCi1SREVQRU5EU18ke1BOfS1naXQtY2hhbmdlYmFyID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1rZXlyZWNvcmQiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8va2V5cmVjb3JkL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgotRklMRVNfJHtQTn0ta2V5cmVjb3JkID0gIiR7bGliZGlyfS9nZWFueS9rZXlyZWNvcmQuc28iCi1SREVQRU5EU18ke1BOfS1rZXlyZWNvcmQgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWxpbmVvcGVyYXRpb25zIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2xpbmVvcGVyYXRpb25zL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgotRklMRVNfJHtQTn0tbGluZW9wZXJhdGlvbnMgPSAiJHtsaWJkaXJ9L2dlYW55L2xpbmVvcGVyYXRpb25zLnNvIgotUkRFUEVORFNfJHtQTn0tbGluZW9wZXJhdGlvbnMgPSAiJHtQTn0iCi0KLSMgbm8gbWFya2Rvd24gLSBhdm9pZCBmbG9hdGluZyBkZXBlbmRlbmNpZXMKLUVYVFJBX09FQ09ORiArPSAiIC0tZGlzYWJsZS1wZWctbWFya2Rvd24iCi0jUExVR0lOUyArPSAiJHtQTn0tbWFya2Rvd24iCi0jTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL21hcmtkb3duL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotI0ZJTEVTXyR7UE59LW1hcmtkb3duID0gIiR7bGliZGlyfS9nZWFueS9tYXJrZG93bi5zbyIKLSNSREVQRU5EU18ke1BOfS1tYXJrZG93biA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tbXVsdGl0ZXJtIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL211bHRpdGVybS9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLUZJTEVTXyR7UE59LW11bHRpdGVybSA9ICIke2xpYmRpcn0vZ2VhbnkvbXVsdGl0ZXJtLnNvIgotUkRFUEVORFNfJHtQTn0tbXVsdGl0ZXJtID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1vdmVydmlldyIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9vdmVydmlldy9vdmVydmlldy9vdmVydmlld3BsdWdpbi5jO2JlZ2lubGluZT00O2VuZGxpbmU9MjA7bWQ1PTFhYTMzNTIyOTE2Y2RlYjQ2Y2NjYWMwYzYyOWRhMGQwIgotRklMRVNfJHtQTn0tb3ZlcnZpZXcgPSAiJHtsaWJkaXJ9L2dlYW55L292ZXJ2aWV3LnNvICR7ZGF0YWRpcn0vJHtQTn0vb3ZlcnZpZXciCi1SREVQRU5EU18ke1BOfS1vdmVydmlldyA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tcGFpcnRhZ2hpZ2hsaWdodGVyIgotTElDRU5TRV8ke1BOfS1wYWlydGFnaGlnaGxpZ2h0ZXIgPSAiQlNELTItQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3BhaXJ0YWdoaWdobGlnaHRlci9DT1BZSU5HO21kNT1kNmQ5Mjc1MjVhNjEyYjNhOGRiZWJjNGIyZTliNDdjMSIKLUZJTEVTXyR7UE59LXBhaXJ0YWdoaWdobGlnaHRlciA9ICIke2xpYmRpcn0vZ2VhbnkvcGFpcnRhZ2hpZ2hsaWdodGVyLnNvIgotUkRFUEVORFNfJHtQTn0tcGFpcnRhZ2hpZ2hsaWdodGVyID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1wb2hlbHBlciIKLUxJQ0VOU0VfJHtQTn0tcG9oZWxwZXIgPSAiR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vcG9oZWxwZXIvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi1GSUxFU18ke1BOfS1wb2hlbHBlciA9ICIke2xpYmRpcn0vZ2VhbnkvcG9oZWxwZXIuc28iCi1SREVQRU5EU18ke1BOfS1wb2hlbHBlciA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tcHJldHR5LXByaW50ZXIiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vcHJldHR5LXByaW50ZXIvc3JjL1ByZXR0eVByaW50ZXIuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTE3O21kNT0xNjY1MTE1YzJmYWRiMTdjMWI1M2NkYjRlNDNiMjQ0MCIKLUZJTEVTXyR7UE59LXByZXR0eS1wcmludGVyID0gIiR7bGliZGlyfS9nZWFueS9wcmV0dHktcHJpbnRlci5zbyIKLVJERVBFTkRTXyR7UE59LXByZXR0eS1wcmludGVyID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1wcm9qZWN0b3JnYW5pemVyIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3Byb2plY3Rvcmdhbml6ZXIvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCi1GSUxFU18ke1BOfS1wcm9qZWN0b3JnYW5pemVyID0gIiR7bGliZGlyfS9nZWFueS9wcm9qZWN0b3JnYW5pemVyLnNvIgotUkRFUEVORFNfJHtQTn0tcHJvamVjdG9yZ2FuaXplciA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tc2NvcGUiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vc2NvcGUvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCi1GSUxFU18ke1BOfS1zY29wZSA9ICIke2xpYmRpcn0vZ2Vhbnkvc2NvcGUuc28iCi1SREVQRU5EU18ke1BOfS1zY29wZSA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tc2VuZG1haWwiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vc2VuZG1haWwvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCi1GSUxFU18ke1BOfS1zZW5kbWFpbCA9ICIke2xpYmRpcn0vZ2Vhbnkvc2VuZG1haWwuc28iCi1SREVQRU5EU18ke1BOfS1zZW5kbWFpbCA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tc2hpZnRjb2x1bW4iCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vc2hpZnRjb2x1bW4vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi1GSUxFU18ke1BOfS1zaGlmdGNvbHVtbiA9ICIke2xpYmRpcn0vZ2Vhbnkvc2hpZnRjb2x1bW4uc28iCi1SREVQRU5EU18ke1BOfS1zaGlmdGNvbHVtbiA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tc3BlbGxjaGVjayIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9zcGVsbGNoZWNrL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgotRklMRVNfJHtQTn0tc3BlbGxjaGVjayA9ICIke2xpYmRpcn0vZ2Vhbnkvc3BlbGxjaGVjay5zbyIKLVJERVBFTkRTXyR7UE59LXNwZWxsY2hlY2sgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LXRhYmxlY29udmVydCIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly90YWJsZWNvbnZlcnQvQ09QWUlORzttZDU9Njc1MzY4Njg3OGQwOTBhMWYzZjk0NDU2NjFkM2RmYmMiCi1GSUxFU18ke1BOfS10YWJsZWNvbnZlcnQgPSAiJHtsaWJkaXJ9L2dlYW55L3RhYmxlY29udmVydC5zbyIKLVJERVBFTkRTXyR7UE59LXRhYmxlY29udmVydCA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tdHJlZWJyb3dzZXIiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vdHJlZWJyb3dzZXIvUkVBRE1FO2JlZ2lubGluZT02NztlbmRsaW5lPTY3O21kNT01MmY5MDg1N2ZkMWE5NjcyMTExZTQ3MmRkMDU2YTBkOCIKLUZJTEVTXyR7UE59LXRyZWVicm93c2VyID0gIiR7bGliZGlyfS9nZWFueS90cmVlYnJvd3Nlci5zbyIKLVJERVBFTkRTXyR7UE59LXRyZWVicm93c2VyID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS11cGRhdGVjaGVja2VyIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3VwZGF0ZWNoZWNrZXIvQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCi1GSUxFU18ke1BOfS11cGRhdGVjaGVja2VyID0gIiR7bGliZGlyfS9nZWFueS91cGRhdGVjaGVja2VyLnNvIgotUkRFUEVORFNfJHtQTn0tdXBkYXRlY2hlY2tlciA9ICIke1BOfSIKLQotIyBubyB3ZWJraXQgLSBsYXN0cyBhZ2VzIGFuZCBpcyBub3QgcHJvcGVybHkgZGV0ZWN0ZWQKLUVYVFJBX09FQ09ORiArPSAiIC0tZGlzYWJsZS13ZWJoZWxwZXIiCi0jUExVR0lOUyArPSAiJHtQTn0td2ViaGVscGVyIgotI0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly93ZWJoZWxwZXIvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi0jTElDRU5TRV8ke1BOfS13ZWJoZWxwZXIgPSAiR1BMdjMiCi0jRklMRVNfJHtQTn0td2ViaGVscGVyID0gIiR7bGliZGlyfS9nZWFueS93ZWJoZWxwZXIuc28iCi0jUkRFUEVORFNfJHtQTn0td2ViaGVscGVyID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS14bWxzbmlwcGV0cyIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly94bWxzbmlwcGV0cy9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKLUZJTEVTXyR7UE59LXhtbHNuaXBwZXRzID0gIiR7bGliZGlyfS9nZWFueS94bWxzbmlwcGV0cy5zbyIKLVJERVBFTkRTXyR7UE59LXhtbHNuaXBwZXRzID0gIiR7UE59IgotCi1QQUNLQUdFUyA9KyAiJHtQTFVHSU5TfSIKLVJERVBFTkRTXyR7UE59ID0gIiR7UExVR0lOU30iCi1BTExPV19FTVBUWV8ke1BOfSA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55LXBsdWdpbnNfMS4zNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueS1wbHVnaW5zXzEuMzQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmMxYzE1MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueS1wbHVnaW5zXzEuMzQuYmIKQEAgLTAsMCArMSwyNDYgQEAKK0RFU0NSSVBUSU9OID0gIkEgZmFzdCBhbmQgbGlnaHR3ZWlnaHQgSURFIgorSE9NRVBBR0UgPSAiaHR0cDovL3BsdWdpbnMuZ2Vhbnkub3JnLyIKKworTElDRU5TRV9ERUZBVUxUID0gIkdQTHYyIgorTElDRU5TRSA9ICIke0xJQ0VOU0VfREVGQVVMVH0gJiBCU0QtMi1DbGF1c2UgJiBHUEx2MyIKKworcHl0aG9uICgpIHsKKyAgICBmb3IgcGx1Z2luIGluIGQuZ2V0VmFyKCdQTFVHSU5TJykuc3BsaXQoKToKKyAgICAgICAgaWYgJ0xJQ0VOU0VfJXMnICUgcGx1Z2luIG5vdCBpbiBkOgorICAgICAgICAgICAgZC5zZXRWYXIoJ0xJQ0VOU0VfJyArIHBsdWdpbiwgJyR7TElDRU5TRV9ERUZBVUxUfScpCit9CisKK0RFUEVORFMgPSAiIFwKKyAgICB2YWxhLW5hdGl2ZSBcCisgICAgZnJpYmlkaSBcCisgICAgZ2VhbnkgXAorICAgIGxpYnhtbDIgXAorICAgIGxpYnNvdXAtMi40IFwKKyAgICBlbmNoYW50IFwKKyAgICBpbnRsdG9vbC1uYXRpdmUgXAorICAgIGxpYmFzc3VhbiBcCisgICAgZ3BnbWUgXAorICAgIHZ0ZSBcCisgICAgbGliZ2l0MiBcCisiCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGF1dG90b29scyBwa2djb25maWcgZ3RrLWljb24tY2FjaGUKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly9wbHVnaW5zLmdlYW55Lm9yZy8ke1BOfS8ke1BOfS0ke1BWfS50YXIuYnoyIFwKKyAgICBmaWxlOi8vMDAwMS1Vc2UtcGtnLWNvbmZpZy10by1maW5kLWdwZ21lLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZjVmZGQ1MDcyN2FkOGJiYmZlMDAwMjdjY2YyZGFjNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNDQ0MTdjNjgxNjM2ZTgyYTYzY2Y2Zjk5MDFiNWI3ZjM4ODkxNjhmN2Q5YjViYTliNDU2MDE3NjdhNTg5YzNiIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBybSAtZiAke1N9L2J1aWxkL2NhY2hlL2dsaWItZ2V0dGV4dC5tNAorfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2dlYW55LyoubGEgJHtsaWJkaXJ9LyR7UE59LyovKi5sYSIKKworUExVR0lOUyArPSAiJHtQTn0tYWRkb25zIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2FkZG9ucy9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKK0ZJTEVTXyR7UE59LWFkZG9ucyA9ICIke2xpYmRpcn0vZ2VhbnkvYWRkb25zLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1hdXRvY2xvc2UiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vYXV0b2Nsb3NlL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorRklMRVNfJHtQTn0tYXV0b2Nsb3NlID0gIiR7bGliZGlyfS9nZWFueS9hdXRvY2xvc2Uuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWF1dG9tYXJrIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2F1dG9tYXJrL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorRklMRVNfJHtQTn0tYXV0b21hcmsgPSAiJHtsaWJkaXJ9L2dlYW55L2F1dG9tYXJrLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1jb2RlbmF2IgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2NvZGVuYXYvQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitGSUxFU18ke1BOfS1jb2RlbmF2ID0gIiR7bGliZGlyfS9nZWFueS9jb2RlbmF2LnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1jb21tYW5kZXIiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vY29tbWFuZGVyL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorTElDRU5TRV8ke1BOfS1jb21tYW5kZXIgPSAiR1BMdjMiCitGSUxFU18ke1BOfS1jb21tYW5kZXIgPSAiJHtsaWJkaXJ9L2dlYW55L2NvbW1hbmRlci5zbyIKKworIyB8IGNoZWNraW5nIHdoZXRoZXIgdGhlIEdUSyB2ZXJzaW9uIGluIHVzZSBpcyBjb21wYXRpYmxlIHdpdGggcGx1Z2luIERlYnVnZ2VyLi4uIG5vCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1kZWJ1Z2dlciIKKyNQTFVHSU5TICs9ICIke1BOfS1kZWJ1Z2dlciIKKyNMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZGVidWdnZXIvQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCisjRklMRVNfJHtQTn0tZGVidWdnZXIgPSAiJHtsaWJkaXJ9L2dlYW55L2RlYnVnZ2VyLnNvICR7ZGF0YWRpcn0vJHtQTn0vZGVidWdnZXIiCisKK1BMVUdJTlMgKz0gIiR7UE59LWRlZmluZWZvcm1hdCIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9kZWZpbmVmb3JtYXQvQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitGSUxFU18ke1BOfS1kZWZpbmVmb3JtYXQgPSAiJHtsaWJkaXJ9L2dlYW55L2RlZmluZWZvcm1hdC5zbyIKKworIyBubyBnbm9tZSBkZXZoZWxwIGluIHNvbWUgY29tbW9uIGxheWVyCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1kZXZoZWxwIgorI1BMVUdJTlMgKz0gIiR7UE59LWRldmhlbHAiCisjTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2RldmhlbHAvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisjTElDRU5TRV8ke1BOfS1kZXZoZWxwID0gIkdQTHYzIgorI0ZJTEVTXyR7UE59LWRldmhlbHAgPSAiJHtsaWJkaXJ9L2dlYW55L2RldmhlbHAuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWdlYW55Y3RhZ3MiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnljdGFncy9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LWdlYW55Y3RhZ3MgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55Y3RhZ3Muc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWdlYW55ZG9jIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55ZG9jL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorTElDRU5TRV8ke1BOfS1nZWFueWRvYyA9ICJHUEx2MyIKK0ZJTEVTXyR7UE59LWdlYW55ZG9jID0gIiR7bGliZGlyfS9nZWFueS9nZWFueWRvYy5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlleHRyYXNlbCIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueWV4dHJhc2VsL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgorRklMRVNfJHtQTn0tZ2VhbnlleHRyYXNlbCA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnlleHRyYXNlbC5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlpbnNlcnRudW0iCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnlpbnNlcnRudW0vQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCitGSUxFU18ke1BOfS1nZWFueWluc2VydG51bSA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnlpbnNlcnRudW0uc28iCisKKyMgbm8gbHVhOiBtYXggc3VwcG9ydGVkIHZlcnNpb24gaXMgNS4yCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1nZWFueWx1YSIKKyNQTFVHSU5TICs9ICIke1BOfS1nZWFueWx1YSIKKyNMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnlsdWEvQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCisjRklMRVNfJHtQTn0tZ2VhbnlsdWEgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55bHVhLnNvICR7bGliZGlyfS8ke1BOfS9nZWFueWx1YS8qLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1nZWFueW1hY3JvIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55bWFjcm8vQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCitGSUxFU18ke1BOfS1nZWFueW1hY3JvID0gIiR7bGliZGlyfS9nZWFueS9nZWFueW1hY3JvLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1nZWFueW1pbmlzY3JpcHQiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnltaW5pc2NyaXB0L0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgorRklMRVNfJHtQTn0tZ2VhbnltaW5pc2NyaXB0ID0gIiR7bGliZGlyfS9nZWFueS9nZWFueW1pbmlzY3JpcHQuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWdlYW55bnVtYmVyZWRib29rbWFya3MiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnludW1iZXJlZGJvb2ttYXJrcy9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LWdlYW55bnVtYmVyZWRib29rbWFya3MgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55bnVtYmVyZWRib29rbWFya3Muc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWdlYW55cGciCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnlwZy9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKK0ZJTEVTXyR7UE59LWdlYW55cGcgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55cGcuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWdlYW55cHJqIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55cHJqL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorTElDRU5TRV8ke1BOfS1nZWFueXByaiA9ICJHUEx2MyIKK0ZJTEVTXyR7UE59LWdlYW55cHJqID0gIiR7bGliZGlyfS9nZWFueS9nZWFueXByai5zbyIKKworI1BMVUdJTlMgKz0gIiR7UE59LWdlYW55cHkiCisjTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55cHkvQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisjRklMRVNfJHtQTn0tZ2VhbnlweSA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnlweS5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tZ2Vhbnl2YyIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueXZjL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgorRklMRVNfJHtQTn0tZ2Vhbnl2YyA9ICIke2xpYmRpcn0vZ2VhbnkvZ2Vhbnl2Yy5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tZ2VuaXVzcGFzdGUiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VuaXVzcGFzdGUvQ09QWUlORzttZDU9YmZjMjAzMjY5Zjg4NjJlYmZjMTE5OGNkYzgwOWE5NWEiCitGSUxFU18ke1BOfS1nZW5pdXNwYXN0ZSA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VuaXVzcGFzdGUuc28gJHtkYXRhZGlyfS8ke1BOfS9nZW5pdXNwYXN0ZSIKKworUExVR0lOUyArPSAiJHtQTn0tZ2l0LWNoYW5nZWJhciIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9naXQtY2hhbmdlYmFyL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorTElDRU5TRV8ke1BOfS1naXQtY2hhbmdlYmFyID0gIkdQTHYzIgorRklMRVNfJHtQTn0tZ2l0LWNoYW5nZWJhciA9ICIke2RhdGFkaXJ9LyR7QlBOfS9naXQtY2hhbmdlYmFyICR7bGliZGlyfS9nZWFueS9naXQtY2hhbmdlYmFyLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1rZXlyZWNvcmQiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8va2V5cmVjb3JkL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorRklMRVNfJHtQTn0ta2V5cmVjb3JkID0gIiR7bGliZGlyfS9nZWFueS9rZXlyZWNvcmQuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWxhdGV4IgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2xhdGV4L0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgorRklMRVNfJHtQTn0tbGF0ZXggPSAiJHtsaWJkaXJ9L2dlYW55L2xhdGV4LnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1saW5lb3BlcmF0aW9ucyIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9saW5lb3BlcmF0aW9ucy9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LWxpbmVvcGVyYXRpb25zID0gIiR7bGliZGlyfS9nZWFueS9saW5lb3BlcmF0aW9ucy5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tbGlwc3VtIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2xpcHN1bS9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKK0ZJTEVTXyR7UE59LWxpcHN1bSA9ICIke2xpYmRpcn0vZ2VhbnkvbGlwc3VtLnNvIgorCisjIG5vIG1hcmtkb3duIC0gYXZvaWQgZmxvYXRpbmcgZGVwZW5kZW5jaWVzCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1wZWctbWFya2Rvd24iCisjUExVR0lOUyArPSAiJHtQTn0tbWFya2Rvd24iCisjTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL21hcmtkb3duL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorI0ZJTEVTXyR7UE59LW1hcmtkb3duID0gIiR7bGliZGlyfS9nZWFueS9tYXJrZG93bi5zbyIKKworIyB8IGNoZWNraW5nIHdoZXRoZXIgdGhlIEdUSyB2ZXJzaW9uIGluIHVzZSBpcyBjb21wYXRpYmxlIHdpdGggcGx1Z2luIG11bHRpdGVybS4uLiBubworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtbXVsdGl0ZXJtIgorI1BMVUdJTlMgKz0gIiR7UE59LW11bHRpdGVybSIKKyNMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vbXVsdGl0ZXJtL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorI0ZJTEVTXyR7UE59LW11bHRpdGVybSA9ICIke2xpYmRpcn0vZ2VhbnkvbXVsdGl0ZXJtLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1vdmVydmlldyIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9vdmVydmlldy9vdmVydmlldy9vdmVydmlld3BsdWdpbi5jO2JlZ2lubGluZT00O2VuZGxpbmU9MjA7bWQ1PTFhYTMzNTIyOTE2Y2RlYjQ2Y2NjYWMwYzYyOWRhMGQwIgorRklMRVNfJHtQTn0tb3ZlcnZpZXcgPSAiJHtsaWJkaXJ9L2dlYW55L292ZXJ2aWV3LnNvICR7ZGF0YWRpcn0vJHtQTn0vb3ZlcnZpZXciCisKK1BMVUdJTlMgKz0gIiR7UE59LXBhaXJ0YWdoaWdobGlnaHRlciIKK0xJQ0VOU0VfJHtQTn0tcGFpcnRhZ2hpZ2hsaWdodGVyID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9wYWlydGFnaGlnaGxpZ2h0ZXIvQ09QWUlORzttZDU9ZDZkOTI3NTI1YTYxMmIzYThkYmViYzRiMmU5YjQ3YzEiCitGSUxFU18ke1BOfS1wYWlydGFnaGlnaGxpZ2h0ZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3BhaXJ0YWdoaWdobGlnaHRlci5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tcG9oZWxwZXIiCitMSUNFTlNFXyR7UE59LXBvaGVscGVyID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3BvaGVscGVyL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorRklMRVNfJHtQTn0tcG9oZWxwZXIgPSAiJHtkYXRhZGlyfS8ke0JQTn0vcG9oZWxwZXIgJHtsaWJkaXJ9L2dlYW55L3BvaGVscGVyLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1wcmV0dHktcHJpbnRlciIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9wcmV0dHktcHJpbnRlci9zcmMvUHJldHR5UHJpbnRlci5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MTc7bWQ1PTE2NjUxMTVjMmZhZGIxN2MxYjUzY2RiNGU0M2IyNDQwIgorRklMRVNfJHtQTn0tcHJldHR5LXByaW50ZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3ByZXR0eS1wcmludGVyLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1wcm9qZWN0b3JnYW5pemVyIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3Byb2plY3Rvcmdhbml6ZXIvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCitGSUxFU18ke1BOfS1wcm9qZWN0b3JnYW5pemVyID0gIiR7bGliZGlyfS9nZWFueS9wcm9qZWN0b3JnYW5pemVyLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1zY29wZSIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9zY29wZS9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LXNjb3BlID0gIiR7ZGF0YWRpcn0vJHtCUE59L3Njb3BlICR7bGliZGlyfS9nZWFueS9zY29wZS5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tc2VuZG1haWwiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vc2VuZG1haWwvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCitGSUxFU18ke1BOfS1zZW5kbWFpbCA9ICIke2xpYmRpcn0vZ2Vhbnkvc2VuZG1haWwuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LXNoaWZ0Y29sdW1uIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3NoaWZ0Y29sdW1uL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorRklMRVNfJHtQTn0tc2hpZnRjb2x1bW4gPSAiJHtsaWJkaXJ9L2dlYW55L3NoaWZ0Y29sdW1uLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1zcGVsbGNoZWNrIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3NwZWxsY2hlY2svQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCitGSUxFU18ke1BOfS1zcGVsbGNoZWNrID0gIiR7bGliZGlyfS9nZWFueS9zcGVsbGNoZWNrLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS10YWJsZWNvbnZlcnQiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vdGFibGVjb252ZXJ0L0NPUFlJTkc7bWQ1PTY3NTM2ODY4NzhkMDkwYTFmM2Y5NDQ1NjYxZDNkZmJjIgorRklMRVNfJHtQTn0tdGFibGVjb252ZXJ0ID0gIiR7bGliZGlyfS9nZWFueS90YWJsZWNvbnZlcnQuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LXRyZWVicm93c2VyIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3RyZWVicm93c2VyL1JFQURNRTtiZWdpbmxpbmU9Njc7ZW5kbGluZT02NzttZDU9MWYxN2YwZjJhYmI4OGUwZmEwZjFiMzQyMTEyZDg3MWMiCitGSUxFU18ke1BOfS10cmVlYnJvd3NlciA9ICIke2xpYmRpcn0vZ2VhbnkvdHJlZWJyb3dzZXIuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LXVwZGF0ZWNoZWNrZXIiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vdXBkYXRlY2hlY2tlci9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKK0ZJTEVTXyR7UE59LXVwZGF0ZWNoZWNrZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3VwZGF0ZWNoZWNrZXIuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LXZpbW9kZSIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly92aW1vZGUvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCitGSUxFU18ke1BOfS12aW1vZGUgPSAiJHtsaWJkaXJ9L2dlYW55L3ZpbW9kZS5zbyIKKworIyBubyB3ZWJraXQgLSBsYXN0cyBhZ2VzIGFuZCBpcyBub3QgcHJvcGVybHkgZGV0ZWN0ZWQKK0VYVFJBX09FQ09ORiArPSAiIC0tZGlzYWJsZS13ZWJoZWxwZXIiCisjUExVR0lOUyArPSAiJHtQTn0td2ViaGVscGVyIgorI0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly93ZWJoZWxwZXIvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisjTElDRU5TRV8ke1BOfS13ZWJoZWxwZXIgPSAiR1BMdjMiCisjRklMRVNfJHtQTn0td2ViaGVscGVyID0gIiR7bGliZGlyfS9nZWFueS93ZWJoZWxwZXIuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LXdvcmtiZW5jaCIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly93b3JrYmVuY2gvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCitGSUxFU18ke1BOfS13b3JrYmVuY2ggPSAiJHtsaWJkaXJ9L2dlYW55L3dvcmtiZW5jaC5zbyIKKworUExVR0lOUyArPSAiJHtQTn0teG1sc25pcHBldHMiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8veG1sc25pcHBldHMvQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCitGSUxFU18ke1BOfS14bWxzbmlwcGV0cyA9ICIke2xpYmRpcn0vZ2VhbnkveG1sc25pcHBldHMuc28iCisKK1BBQ0tBR0VTID0rICIke1BOfS1jb21tb24gJHtQTFVHSU5TfSIKK0ZJTEVTXyR7UE59LWNvbW1vbiA9ICIke2xpYmRpcn0vbGliZ2VhbnlwbHVnaW51dGlscyR7U09MSUJTfSIKKworIyBnZWFueS1wbHVnaW5zIGlzIG1ldGEgcGFja2FnZSBmb3IgYWxsIHBsdWdpbnMKK1JERVBFTkRTXyR7UE59ID0gIiR7UExVR0lOU30iCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55XzEuMzEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnlfMS4zMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmI5ZDhiYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnlfMS4zMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVNVTU1BUlkgPSAiQSBmYXN0IGFuZCBsaWdodHdlaWdodCBJREUiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmdlYW55Lm9yZy8iCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmQ3YjJjOTk0YWYyMWQzMThiZDJjZDNiM2Y4MGMyZDUiCi0KLURFUEVORFMgPSAiZ3RrKyBsaWJ4bWwtcGFyc2VyLXBlcmwtbmF0aXZlIHB5dGhvbjMtZG9jdXRpbHMtbmF0aXZlIGludGx0b29sLW5hdGl2ZSIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBwZXJsbmF0aXZlIHB5dGhvbm5hdGl2ZSBnZXR0ZXh0Ci0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLmdlYW55Lm9yZy8ke0JQfS50YXIuYnoyIgotU1JDX1VSSVttZDVzdW1dID0gIjM4NjAwMGJlNmIyNjk3MmM2YTY5OTkzOWMzN2NkYTM0IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMwZmRiOTA2YmI3NmM0MjUxYThiY2Y4M2VlMjY3ZGIyOGMyNmVmNmFiODY3NjY4YTc4MmNlYzExNjRhM2FiYTUiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zIgotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWh0bWwtZG9jcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueV8xLjM0LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnlfMS4zNC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhYjUzNWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnlfMS4zNC4xLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiQSBmYXN0IGFuZCBsaWdodHdlaWdodCBJREUiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdlYW55Lm9yZy8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmQ3YjJjOTk0YWYyMWQzMThiZDJjZDNiM2Y4MGMyZDUiCisKK0RFUEVORFMgPSAiZ3RrKzMgbGlieG1sLXBhcnNlci1wZXJsLW5hdGl2ZSBweXRob24zLWRvY3V0aWxzLW5hdGl2ZSBpbnRsdG9vbC1uYXRpdmUiCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGF1dG90b29scyBwa2djb25maWcgcGVybG5hdGl2ZSBweXRob25uYXRpdmUgZ2V0dGV4dAorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5nZWFueS5vcmcvJHtCUH0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4NzIyMGY0YTBlMDM2MjNhYjlkODY4MjBmNmJlN2I1ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNzY1ZWZkODllNzU5ZGVmZTNmZDc5N2Q4YTIwNTJhZmJiNGIyMzUyMmVmYmNjNzJlM2E3MmI3ZjEwOTNlYzExIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucyIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1odG1sLWRvY3MiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ3VpZGVyL2d1aWRlcl8zLjkuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ndWlkZXIvZ3VpZGVyXzMuOS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhNDEzNDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ3VpZGVyL2d1aWRlcl8zLjkuNC5iYgpAQCAtMCwwICsxLDM1IEBACitTVU1NQVJZID0gInJ1bnRpbWUgcGVyZm9ybWFuY2UgYW5hbHl6ZXIiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vaWlwZWFjZS9ndWlkZXIiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9paXBlYWNlL2d1aWRlci9pc3N1ZXMiCitBVVRIT1IgPSAiUGVhY2UgTGVlIDxpcGVhY2U1QGdtYWlsLmNvbT4iCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MmMxYzAwZjlkM2VkOWUyNGZhNjliOTMyYjdlN2FmZjIiCisKK1BWID0gIjMuOS40K2dpdCR7U1JDUFZ9IgorUFIgPSAicjAiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9paXBlYWNlLyR7QlBOfSIKKyNTUkNSRVYgPSAiJHtBVVRPUkVWfSIKK1NSQ1JFViA9ICJiNDMzZjM4MDU2NzRlZjQ1ODhjMWExNjE5ODZjNzRlZWFjNmE0OGU3IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorUiA9ICIke1JFQ0lQRV9TWVNST09UfSIKKworaW5oZXJpdCBkaXN0dXRpbHMKKworR1VJREVSX09CSiA9ICJndWlkZXIucHljIgorR1VJREVSX1NDUklQVCA9ICJndWlkZXIiCisKK2RvX2luc3RhbGwoKSB7CisgICAgcHl0aG9uICR7U30vc2V0dXAucHkgaW5zdGFsbAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtdiAtbSAwNzU1ICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS8ke0dVSURFUl9TQ1JJUFR9ICR7RH0ke2JpbmRpcn0vJHtHVUlERVJfU0NSSVBUfQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsIC12IC1tIDA3NTUgJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzLyR7QlBOfS8ke0dVSURFUl9PQkp9ICR7RH0ke2RhdGFkaXJ9LyR7QlBOfS8ke0dVSURFUl9PQkp9Cit9CisKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbi1jdHlwZXMgcHl0aG9uLXNoZWxsIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1qc29uIHB5dGhvbi1zdWJwcm9jZXNzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pxL2pxL1N1cHBvcnQtd2l0aG91dC1vbmlndXJ1bWEucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanEvanEvU3VwcG9ydC13aXRob3V0LW9uaWd1cnVtYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWRmZDk1NS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanEvanEvU3VwcG9ydC13aXRob3V0LW9uaWd1cnVtYS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLUZyb20gMThiNGIxOGI0MWY1ZWQzOTZkNzM0NDljZThkNmVjNDA4ZDk1ZDZiMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERhdmlkIFRvbG5heSA8ZHRvbG5heUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDIxIE5vdiAyMDE1IDEwOjA1OjM3IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIFN1cHBvcnQgLS13aXRob3V0LW9uaWd1cnVtYQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+Ci0KLS0tLQotIGNvbmZpZ3VyZS5hYyB8IDQxICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCA5ZTJjOGNmLi43ZjZiZTM0IDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC01MiwyNyArNTIsMjYgQEAgZmkKLSBBQ19BUkdfV0lUSChbb25pZ3VydW1hXSwKLSAgICAgW0FTX0hFTFBfU1RSSU5HKFstLXdpdGgtb25pZ3VydW1hPXByZWZpeF0sCi0gICAgICAgICBbdHJ5IHRoaXMgZm9yIGEgbm9uLXN0YW5kYXJkIGluc3RhbGwgcHJlZml4IG9mIHRoZSBvbmlndXJ1bWEgbGlicmFyeV0pXSwKLS0gICAgW09OSUdVUlVNQVBBVEhTRVQ9MV0sCi0tICAgIFtPTklHVVJVTUFQQVRIU0VUPTBdKQotLQotLWlmIHRlc3QgJE9OSUdVUlVNQVBBVEhTRVQgPSAxOyB0aGVuCi0tICBDRkxBR1M9IiRDRkxBR1MgLUkke3dpdGhfb25pZ3VydW1hfS9pbmNsdWRlIgotLSAgTERGTEFHUz0iJExERkxBR1MgLUwke3dpdGhfb25pZ3VydW1hfS9saWIiCi0tZmkKLS0KLS0jIGNoZWNrIGZvciBPTklHVVJVTUEgbGlicmFyeQotLUhBVkVfT05JR1VSVU1BPTAKLS1BQ19DSEVDS19IRUFERVIoIm9uaWd1cnVtYS5oIiwKLS0gICAgQUNfQ0hFQ0tfTElCKFtvbmlnXSxbb25pZ192ZXJzaW9uXSxbTElCUz0iJExJQlMgLWxvbmlnIjsgSEFWRV9PTklHVVJVTUE9MTtdKSkKLS0KLS0jIGhhbmRsZSBjaGVjayByZXN1bHRzCi0taWYgdGVzdCAkSEFWRV9PTklHVVJVTUEgIT0gMTsgdGhlbgotLSAgICBBQ19NU0dfTk9USUNFKFtPbmlndXJ1bWEgd2FzIG5vdCBmb3VuZC5dKQotLSAgICBBQ19NU0dfTk9USUNFKFsgVHJ5IHNldHRpbmcgdGhlIGxvY2F0aW9uIHVzaW5nICctLXdpdGgtb25pZ3VydW1hPVBSRUZJWCcgXSkKLS1lbHNlCi0tICAgIEFDX0RFRklORShbSEFWRV9PTklHVVJVTUFdLDEsW0RlZmluZSB0byAxIGlmIE9uaWd1cnVtYSBpcyBpbnN0YWxsZWRdKQotLWZpCi0tCi0rICAgIFtdLAotKyAgICBbd2l0aF9vbmlndXJ1bWE9eWVzXSkKLSsKLStBU19JRihbdGVzdCAieCR3aXRoX29uaWd1cnVtYSIgIT0geG5vXSwgWwotKyAgICBBU19JRihbdGVzdCAieCR3aXRoX29uaWd1cnVtYSIgIT0geHllc10sIFsKLSsgICAgICAgIENGTEFHUz0iJENGTEFHUyAtSSR7d2l0aF9vbmlndXJ1bWF9L2luY2x1ZGUiCi0rICAgICAgICBMREZMQUdTPSIkTERGTEFHUyAtTCR7d2l0aF9vbmlndXJ1bWF9L2xpYiIKLSsgICAgXSkKLSsgICAgIyBjaGVjayBmb3IgT05JR1VSVU1BIGxpYnJhcnkKLSsgICAgaGF2ZV9vbmlndXJ1bWE9MAotKyAgICBBQ19DSEVDS19IRUFERVIoIm9uaWd1cnVtYS5oIiwKLSsgICAgICAgIEFDX0NIRUNLX0xJQihbb25pZ10sW29uaWdfdmVyc2lvbl0sW0xJQlM9IiRMSUJTIC1sb25pZyI7IGhhdmVfb25pZ3VydW1hPTE7XSkpCi0rICAgICMgaGFuZGxlIGNoZWNrIHJlc3VsdHMKLSsgICAgQVNfSUYoW3Rlc3QgJGhhdmVfb25pZ3VydW1hID0gMV0sIFsKLSsgICAgICAgIEFDX0RFRklORShbSEFWRV9PTklHVVJVTUFdLCAxLCBbRGVmaW5lIHRvIDEgaWYgT25pZ3VydW1hIGlzIGluc3RhbGxlZF0pCi0rICAgIF0sIFsKLSsgICAgICAgIEFDX01TR19OT1RJQ0UoW09uaWd1cnVtYSB3YXMgbm90IGZvdW5kLl0pCi0rICAgICAgICBBQ19NU0dfTk9USUNFKFtUcnkgc2V0dGluZyB0aGUgbG9jYXRpb24gdXNpbmcgJy0td2l0aC1vbmlndXJ1bWE9UFJFRklYJ10pCi0rICAgIF0pCi0rXSkKLSAKLSBkbmwgQ2hlY2sgZm9yIHZhbGdyaW5kCi0gQUNfQ0hFQ0tfUFJPR1ModmFsZ3JpbmRfY21kLCB2YWxncmluZCkKLS0tIAotMS45LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pxL2pxXzEuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qcS9qcV8xLjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBmNDA4MTUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pxL2pxXzEuNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLVNVTU1BUlkgPSAiTGlnaHR3ZWlnaHQgYW5kIGZsZXhpYmxlIGNvbW1hbmQtbGluZSBKU09OIHByb2Nlc3NvciIKLURFU0NSSVBUSU9OID0gImpxIGlzIGxpa2Ugc2VkIGZvciBKU09OIGRhdGEsIHlvdSBjYW4gdXNlIGl0IHRvIHNsaWNlIGFuZCBcCi0gICAgICAgICAgICAgICBmaWx0ZXIgYW5kIG1hcCBhbmQgdHJhbnNmb3JtIHN0cnVjdHVyZWQgZGF0YSB3aXRoIHRoZSBzYW1lIFwKLSAgICAgICAgICAgICAgIGVhc2UgdGhhdCBzZWQsIGF3aywgZ3JlcCBhbmQgZnJpZW5kcyBsZXQgeW91IHBsYXkgd2l0aCB0ZXh0LiIKLUhPTUVQQUdFID0gImh0dHBzOi8vc3RlZG9sYW4uZ2l0aHViLmlvL2pxLyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL3N0ZWRvbGFuL2pxL2lzc3VlcyIKLVNFQ1RJT04gPSAidXRpbHMiCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI5ZGQwYzM1ZDdlMzkxYmI4ZDUxNWVhY2Y3NTkyZTAwIgotCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zdGVkb2xhbi8ke0JQTn0vcmVsZWFzZXMvZG93bmxvYWQvJHtCUH0vJHtCUH0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL1N1cHBvcnQtd2l0aG91dC1vbmlndXJ1bWEucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMDkzMzUzMmIwODZiZDhiNmE0MWMxYjE2MmIxNzMxZjkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzRkMmJmZWM2NDM2MzQxMTEzNDE5ZGViZjQ3OWQ4MzM2OTJjYzVjZGFiN2ViMDMyNmI1YTRkNGZiZTlmNDkzYyIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotUEFDS0FHRUNPTkZJRyA/PSAib25pZ3VydW1hIgotCi1QQUNLQUdFQ09ORklHW2RvY3NdID0gIi0tZW5hYmxlLWRvY3MsLS1kaXNhYmxlLWRvY3MscnVieS1uYXRpdmUiCi1QQUNLQUdFQ09ORklHW21haW50YWluZXItbW9kZV0gPSAiLS1lbmFibGUtbWFpbnRhaW5lci1tb2RlLC0tZGlzYWJsZS1tYWludGFpbmVyLW1vZGUsZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIgotUEFDS0FHRUNPTkZJR1tvbmlndXJ1bWFdID0gIi0td2l0aC1vbmlndXJ1bWEsLS13aXRob3V0LW9uaWd1cnVtYSxvbmlnIgotCi1PRV9FWFRSQUNPTkYgKz0gIiBcCi0gICAgLS1kaXNhYmxlLXZhbGdyaW5kIFwKLSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanEvanFfMS42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pxL2pxXzEuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDg2ZWFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pxL2pxXzEuNi5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkxpZ2h0d2VpZ2h0IGFuZCBmbGV4aWJsZSBjb21tYW5kLWxpbmUgSlNPTiBwcm9jZXNzb3IiCitERVNDUklQVElPTiA9ICJqcSBpcyBsaWtlIHNlZCBmb3IgSlNPTiBkYXRhLCB5b3UgY2FuIHVzZSBpdCB0byBzbGljZSBhbmQgXAorICAgICAgICAgICAgICAgZmlsdGVyIGFuZCBtYXAgYW5kIHRyYW5zZm9ybSBzdHJ1Y3R1cmVkIGRhdGEgd2l0aCB0aGUgc2FtZSBcCisgICAgICAgICAgICAgICBlYXNlIHRoYXQgc2VkLCBhd2ssIGdyZXAgYW5kIGZyaWVuZHMgbGV0IHlvdSBwbGF5IHdpdGggdGV4dC4iCitIT01FUEFHRSA9ICJodHRwczovL3N0ZWRvbGFuLmdpdGh1Yi5pby9qcS8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zdGVkb2xhbi9qcS9pc3N1ZXMiCitTRUNUSU9OID0gInV0aWxzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xNWQwM2UzNjBmYTczOTlmNzZkNWE0MzU5ZmM3MmNiZiIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vc3RlZG9sYW4vJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7QlB9LyR7QlB9LnRhci5neiBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNjhmYmQ2YTk5MmUzNmYxYWM0OGM5OWJiZjgyNWQ2YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZGU4YzhlMjlhYWEzZmI5Y2M2YjQ3YmIyNzI5OWYyNzEzNTRlYmI3MjUxNGUzYWNjYWRjN2QzOGI1YmJhYTcyIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUEFDS0FHRUNPTkZJRyA/PSAib25pZ3VydW1hIgorCitQQUNLQUdFQ09ORklHW2RvY3NdID0gIi0tZW5hYmxlLWRvY3MsLS1kaXNhYmxlLWRvY3MscnVieS1uYXRpdmUiCitQQUNLQUdFQ09ORklHW21haW50YWluZXItbW9kZV0gPSAiLS1lbmFibGUtbWFpbnRhaW5lci1tb2RlLC0tZGlzYWJsZS1tYWludGFpbmVyLW1vZGUsZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIgorUEFDS0FHRUNPTkZJR1tvbmlndXJ1bWFdID0gIi0td2l0aC1vbmlndXJ1bWEsLS13aXRob3V0LW9uaWd1cnVtYSxvbmlnIgorCitPRV9FWFRSQUNPTkYgKz0gIiBcCisgICAgLS1kaXNhYmxlLXZhbGdyaW5kIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDEtY21ha2UtcmVwbGFjZS1oYXJkY29kZWQtbGliLUNNQUtFX0xJQlJBUllfUEFUSC13aXRoLS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1jbWFrZS1yZXBsYWNlLWhhcmRjb2RlZC1saWItQ01BS0VfTElCUkFSWV9QQVRILXdpdGgtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NDhlNGRhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1jbWFrZS1yZXBsYWNlLWhhcmRjb2RlZC1saWItQ01BS0VfTElCUkFSWV9QQVRILXdpdGgtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotRnJvbSBhYzYxMTI0ZGYxN2FiNzY1Mjc1MDhiYmI5YTMxMTVkNGQ2Y2MxYWY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMjEgTm92IDIwMTYgMTE6MjY6MjYgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gY21ha2U6IHJlcGxhY2UgaGFyZGNvZGVkIGxpYi8ke0NNQUtFX0xJQlJBUllfUEFUSH0gd2l0aAotIHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0KLQotRml4ZXMKLXwgQ01ha2UgRXJyb3IgYXQgc3JjL2pzb25ycGNjcHAvQ01ha2VMaXN0cy50eHQ6MjA3IChpbnN0YWxsKToKLXwgICBpbnN0YWxsIFRBUkdFVFMgZ2l2ZW4gdW5rbm93biBhcmd1bWVudCAiL2xpYiIuCi0KLWFuZAotCi1Xcm9uZyBpbnN0YWxsIHBhdGhzIGR1cmluZyBjcm9zcyBjb21waWxlCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvanNvbnJwY2NwcC9DTWFrZUxpc3RzLnR4dCAgICB8IDggKysrKy0tLS0KLSBzcmMvc3R1YmdlbmVyYXRvci9DTWFrZUxpc3RzLnR4dCB8IDYgKysrLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvanNvbnJwY2NwcC9DTWFrZUxpc3RzLnR4dCBiL3NyYy9qc29ucnBjY3BwL0NNYWtlTGlzdHMudHh0Ci1pbmRleCBlNGExZWI1Li4xM2Y5MDU2IDEwMDY0NAotLS0tIGEvc3JjL2pzb25ycGNjcHAvQ01ha2VMaXN0cy50eHQKLSsrKyBiL3NyYy9qc29ucnBjY3BwL0NNYWtlTGlzdHMudHh0Ci1AQCAtMjA1LDE1ICsyMDUsMTUgQEAgaWYgKFdJTjMyKQotIGVuZGlmKCkKLSAKLSBpbnN0YWxsKFRBUkdFVFMgJHtBTExfTElCU30KLS0JTElCUkFSWSBERVNUSU5BVElPTiBsaWIke0xJQl9TVUZGSVh9LyR7Q01BS0VfTElCUkFSWV9QQVRIfQotLQlBUkNISVZFIERFU1RJTkFUSU9OIGxpYiR7TElCX1NVRkZJWH0vJHtDTUFLRV9MSUJSQVJZX1BBVEh9Ci0rCUxJQlJBUlkgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0KLSsJQVJDSElWRSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfQotIAlSVU5USU1FIERFU1RJTkFUSU9OIGJpbgotICkKLSAKLSAjc2V0IHBrZy1jb25maWcKLSBnZXRfZmlsZW5hbWVfY29tcG9uZW50KEZVTExfUEFUSF9JTlNUQUxMX1BSRUZJWCAke0NNQUtFX0lOU1RBTExfUFJFRklYfSBBQlNPTFVURSkKLSBzZXQoRlVMTF9QQVRIX0lOQ0xVREVESVIgIiR7RlVMTF9QQVRIX0lOU1RBTExfUFJFRklYfS9pbmNsdWRlIikKLS1zZXQoRlVMTF9QQVRIX0xJQkRJUiAiJHtGVUxMX1BBVEhfSU5TVEFMTF9QUkVGSVh9L2xpYi8ke0NNQUtFX0xJQlJBUllfUEFUSH0iKQotK3NldChGVUxMX1BBVEhfTElCRElSICIke0ZVTExfUEFUSF9JTlNUQUxMX1BSRUZJWH0vJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0iKQotIAotIENPTkZJR1VSRV9GSUxFKCR7UFJPSkVDVF9TT1VSQ0VfRElSfS9jbWFrZS9saWJqc29ucnBjY3BwLWNsaWVudC5wYy5jbWFrZSAke0NNQUtFX0JJTkFSWV9ESVJ9L2xpYmpzb25ycGNjcHAtY2xpZW50LnBjKQotIENPTkZJR1VSRV9GSUxFKCR7UFJPSkVDVF9TT1VSQ0VfRElSfS9jbWFrZS9saWJqc29ucnBjY3BwLXNlcnZlci5wYy5jbWFrZSAke0NNQUtFX0JJTkFSWV9ESVJ9L2xpYmpzb25ycGNjcHAtc2VydmVyLnBjKQotQEAgLTIyMyw2ICsyMjMsNiBAQCBJTlNUQUxMKEZJTEVTCi0gICAgICIke0NNQUtFX0JJTkFSWV9ESVJ9L2xpYmpzb25ycGNjcHAtc2VydmVyLnBjIgotICAgICAiJHtDTUFLRV9CSU5BUllfRElSfS9saWJqc29ucnBjY3BwLWNsaWVudC5wYyIKLSAgICAgIiR7Q01BS0VfQklOQVJZX0RJUn0vbGlianNvbnJwY2NwcC1jb21tb24ucGMiCi0tICAgIERFU1RJTkFUSU9OICJsaWIke0xJQl9TVUZGSVh9LyR7Q01BS0VfTElCUkFSWV9QQVRIfS9wa2djb25maWciKQotKyAgICBERVNUSU5BVElPTiAiJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0vcGtnY29uZmlnIikKLSAKLSAKLWRpZmYgLS1naXQgYS9zcmMvc3R1YmdlbmVyYXRvci9DTWFrZUxpc3RzLnR4dCBiL3NyYy9zdHViZ2VuZXJhdG9yL0NNYWtlTGlzdHMudHh0Ci1pbmRleCBmOWRiZTRjLi5iNTdiMGZlIDEwMDY0NAotLS0tIGEvc3JjL3N0dWJnZW5lcmF0b3IvQ01ha2VMaXN0cy50eHQKLSsrKyBiL3NyYy9zdHViZ2VuZXJhdG9yL0NNYWtlTGlzdHMudHh0Ci1AQCAtNTgsMTUgKzU4LDE1IEBAIENPTkZJR1VSRV9GSUxFKCR7Q01BS0VfU09VUkNFX0RJUn0vY21ha2UvbGlianNvbnJwY2NwcC1zdHViLnBjLmNtYWtlICR7Q01BS0VfQklOCi0gCi0gSU5TVEFMTChGSUxFUwotICAgICAiJHtDTUFLRV9CSU5BUllfRElSfS9saWJqc29ucnBjY3BwLXN0dWIucGMiCi0tICAgIERFU1RJTkFUSU9OICJsaWIvJHtDTUFLRV9MSUJSQVJZX1BBVEh9L3BrZ2NvbmZpZyIpCi0rICAgIERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfTElCRElSfS9wa2djb25maWciKQotIAotIGluc3RhbGwoRElSRUNUT1JZICR7Q01BS0VfU09VUkNFX0RJUn0vc3JjL3N0dWJnZW5lcmF0b3IvCi0gICAgICAgICBERVNUSU5BVElPTiBpbmNsdWRlL2pzb25ycGNjcHAvc3R1YmdlbgotICAgICAgICAgRklMRVNfTUFUQ0hJTkcgUEFUVEVSTiAiKi5oIikKLSAKLSBpbnN0YWxsKFRBUkdFVFMgJHtBTExfTElCU30ganNvbnJwY3N0dWIKLS0gICAgICAgIExJQlJBUlkgREVTVElOQVRJT04gbGliJHtMSUJfU1VGRklYfS8ke0NNQUtFX0xJQlJBUllfUEFUSH0KLS0gICAgICAgIEFSQ0hJVkUgREVTVElOQVRJT04gbGliJHtMSUJfU1VGRklYfS8ke0NNQUtFX0xJQlJBUllfUEFUSH0KLSsgICAgICAgIExJQlJBUlkgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0KLSsgICAgICAgIEFSQ0hJVkUgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0KLSAgICAgICAgIFJVTlRJTUUgREVTVElOQVRJT04gYmluCi0gKQotIAotLS0gCi0yLjEwLjIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pzb25ycGMvanNvbnJwYy8wMDAxLWZpbGVkZXNjcmlwdG9yY2xpZW50LVR5cGVjYXN0LW1pbi1hcmd1bWVudHMtY29ycmVjdGwucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDEtZmlsZWRlc2NyaXB0b3JjbGllbnQtVHlwZWNhc3QtbWluLWFyZ3VtZW50cy1jb3JyZWN0bC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDIxZTk3OS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDEtZmlsZWRlc2NyaXB0b3JjbGllbnQtVHlwZWNhc3QtbWluLWFyZ3VtZW50cy1jb3JyZWN0bC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gOTUwMGYxMmY1ZDgyNzg0MDYzNDMxMWQ2Y2E5NzJkOTU1MTIxMWU0ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDIxIE5vdiAyMDE2IDAxOjAwOjUxIC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGZpbGVkZXNjcmlwdG9yY2xpZW50OiBUeXBlY2FzdCBtaW4oKSBhcmd1bWVudHMgY29ycmVjdGx5Ci0KLUZpeGVzCi0KLXwgL21udC9hL2J1aWxkL3RtcC1nbGliYy93b3JrL2NvcnRleGE3aGYtbmVvbi12ZnB2NC1vZS1saW51eC1nbnVlYWJpL2pzb25ycGMvMC43LjAtcjAvZ2l0L3NyYy9qc29ucnBjY3AKLXAvY2xpZW50L2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JjbGllbnQuY3BwOjQ3OjkyOiBub3RlOiAgIGRlZHVjZWQgY29uZmxpY3RpbmcgdHlwZXMgZm9yIHBhcmFtZXRlciAnY28KLW5zdCBfVHAnICgndW5zaWduZWQgaW50JyBhbmQgJ2xvbmcgdW5zaWduZWQgaW50JykKLXwgICAgICBzc2l6ZV90IGJ5dGVXcml0dGVuID0gd3JpdGUob3V0cHV0ZmQsIHRvU2VuZC5jX3N0cigpLCBtaW4odG9TZW5kLnNpemUoKSwgTUFYX1dSSVRFX1NJWkUpKTsKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9qc29ucnBjY3BwL2NsaWVudC9jb25uZWN0b3JzL2ZpbGVkZXNjcmlwdG9yY2xpZW50LmNwcCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9qc29ucnBjY3BwL2NsaWVudC9jb25uZWN0b3JzL2ZpbGVkZXNjcmlwdG9yY2xpZW50LmNwcCBiL3NyYy9qc29ucnBjY3BwL2NsaWVudC9jb25uZWN0b3JzL2ZpbGVkZXNjcmlwdG9yY2xpZW50LmNwcAotaW5kZXggNzdhYWM3ZS4uNjMyNWI1YyAxMDA2NDQKLS0tLSBhL3NyYy9qc29ucnBjY3BwL2NsaWVudC9jb25uZWN0b3JzL2ZpbGVkZXNjcmlwdG9yY2xpZW50LmNwcAotKysrIGIvc3JjL2pzb25ycGNjcHAvY2xpZW50L2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JjbGllbnQuY3BwCi1AQCAtNDMsNyArNDMsNyBAQCB2b2lkIEZpbGVEZXNjcmlwdG9yQ2xpZW50OjpTZW5kUlBDTWVzc2FnZShjb25zdCBzdGQ6OnN0cmluZyYgbWVzc2FnZSwKLSAgIHN0cmluZyB0b1NlbmQgPSBtZXNzYWdlOwotICAgZG8KLSAgIHsKLS0gICAgc3NpemVfdCBieXRlV3JpdHRlbiA9IHdyaXRlKG91dHB1dGZkLCB0b1NlbmQuY19zdHIoKSwgbWluKHRvU2VuZC5zaXplKCksIE1BWF9XUklURV9TSVpFKSk7Ci0rICAgIHNzaXplX3QgYnl0ZVdyaXR0ZW4gPSB3cml0ZShvdXRwdXRmZCwgdG9TZW5kLmNfc3RyKCksIG1pbigobG9uZyB1bnNpZ25lZCBpbnQpdG9TZW5kLnNpemUoKSwgTUFYX1dSSVRFX1NJWkUpKTsKLSAgICAgaWYgKGJ5dGVXcml0dGVuIDwgMSkKLSAgICAgICB0aHJvdyBKc29uUnBjRXhjZXB0aW9uKEVycm9yczo6RVJST1JfQ0xJRU5UX0NPTk5FQ1RPUiwKLSAgICAgICAgICJVbmtub3duIGVycm9yIG9jY3VyZWQgd2hpbGUgd3JpdGluZyB0byB0aGUgb3V0cHV0IGZpbGUgZGVzY3JpcHRvciIpOwotLS0gCi0yLjEwLjIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pzb25ycGMvanNvbnJwYy8wMDAxLWZpbGVkZXNjcmlwdG9yc2VydmVyLUluY2x1ZGUtc3lzLXNlbGVjdC5oLWJlZm9yZS1vdGgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDEtZmlsZWRlc2NyaXB0b3JzZXJ2ZXItSW5jbHVkZS1zeXMtc2VsZWN0LmgtYmVmb3JlLW90aC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2I5MDY4YS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDEtZmlsZWRlc2NyaXB0b3JzZXJ2ZXItSW5jbHVkZS1zeXMtc2VsZWN0LmgtYmVmb3JlLW90aC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLUZyb20gYzdhYWQxMDYyODk0OWUxMjZmNTBlMzI2NGI1YmM3ZWI0MTczNDdjNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDIxIE5vdiAyMDE2IDAxOjI1OjEwIC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGZpbGVkZXNjcmlwdG9yc2VydmVyOiBJbmNsdWRlIHN5cy9zZWxlY3QuaCBiZWZvcmUgb3RoZXIKLSBoZWFkZXJzCi0KLUZpeGVzIGVycm9ycyBlLmcuCi18IC9tbnQvYS9idWlsZC90bXAtZ2xpYmMvd29yay9jb3J0ZXhhN2hmLW5lb24tdmZwdjQtb2UtbGludXgtZ251ZWFiaS9qc29ucnBjLzAuNy4wLXIwL2dpdC9zcmMvanNvbnJwY2NwCi1wL3NlcnZlci9jb25uZWN0b3JzL2ZpbGVkZXNjcmlwdG9yc2VydmVyLmg6NjM6NzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdmZF9zZXQnCi18ICAgICAgIGZkX3NldCByZWFkX2ZkczsKLXwgICAgICAgXgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL2pzb25ycGNjcHAvc2VydmVyL2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JzZXJ2ZXIuY3BwIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2pzb25ycGNjcHAvc2VydmVyL2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JzZXJ2ZXIuY3BwIGIvc3JjL2pzb25ycGNjcHAvc2VydmVyL2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JzZXJ2ZXIuY3BwCi1pbmRleCA5ZDc0MjIzLi44ZTAxOWNhIDEwMDY0NAotLS0tIGEvc3JjL2pzb25ycGNjcHAvc2VydmVyL2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JzZXJ2ZXIuY3BwCi0rKysgYi9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAKLUBAIC03LDggKzcsOCBAQAotICAqIEBsaWNlbnNlIFNlZSBhdHRhY2hlZCBMSUNFTlNFLnR4dAotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0gCi0tI2luY2x1ZGUgImZpbGVkZXNjcmlwdG9yc2VydmVyLmgiCi0gI2luY2x1ZGUgPHN5cy9zZWxlY3QuaD4KLSsjaW5jbHVkZSAiZmlsZWRlc2NyaXB0b3JzZXJ2ZXIuaCIKLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotLS0gCi0yLjEwLjIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pzb25ycGMvanNvbnJwYy8wMDAxLW1lbXNldC1hbmQtZmFtaWx5LW5lZWRzLXRvLWluY2x1ZGUtc3RyaW5nLmgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDEtbWVtc2V0LWFuZC1mYW1pbHktbmVlZHMtdG8taW5jbHVkZS1zdHJpbmcuaC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjFlZjk4Yi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDEtbWVtc2V0LWFuZC1mYW1pbHktbmVlZHMtdG8taW5jbHVkZS1zdHJpbmcuaC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLUZyb20gZjU0MTZmMWMyYjI5ODlmOTQxNjNhMmFlNGI5MWM5YjlmYTEzYzYyMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDMxIE1hciAyMDE3IDEzOjMyOjMxIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBtZW1zZXQoKSBhbmQgZmFtaWx5IG5lZWRzIHRvIGluY2x1ZGUgc3RyaW5nLmgKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9qc29ucnBjY3BwL3NlcnZlci9jb25uZWN0b3JzL3VuaXhkb21haW5zb2NrZXRzZXJ2ZXIuY3BwIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2pzb25ycGNjcHAvc2VydmVyL2Nvbm5lY3RvcnMvdW5peGRvbWFpbnNvY2tldHNlcnZlci5jcHAgYi9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy91bml4ZG9tYWluc29ja2V0c2VydmVyLmNwcAotaW5kZXggOWZjYTU3Yi4uZTYzYzQ5ZSAxMDA2NDQKLS0tLSBhL3NyYy9qc29ucnBjY3BwL3NlcnZlci9jb25uZWN0b3JzL3VuaXhkb21haW5zb2NrZXRzZXJ2ZXIuY3BwCi0rKysgYi9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy91bml4ZG9tYWluc29ja2V0c2VydmVyLmNwcAotQEAgLTE2LDcgKzE2LDcgQEAKLSAjaW5jbHVkZSA8Y3N0ZGlvPgotICNpbmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLS0jaW5jbHVkZSA8c3RyaW5nPgotKyNpbmNsdWRlIDxjc3RyaW5nPgotIAotIHVzaW5nIG5hbWVzcGFjZSBqc29ucnBjOwotIHVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci0tLSAKLTIuMTIuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDItRml4LWJ1aWxkLXByb2JsZW0tb24tTWFjLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pzb25ycGMvanNvbnJwYy8wMDAyLUZpeC1idWlsZC1wcm9ibGVtLW9uLU1hYy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWVjZTQ1Yi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDItRml4LWJ1aWxkLXByb2JsZW0tb24tTWFjLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotRnJvbSA3OTA1MGVmOTYwN2YyNDJlMGQ1MDk5NjliMTllOTM5MDIyMGMzNDExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogWW9uZ3dlaSBXdSA8d3V5b25nd2VpQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMzEgRGVjIDIwMTYgMTE6NTc6MTEgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIEZpeCBidWlsZCBwcm9ibGVtIG9uIE1hYy4KLQotX19zdXNlY29uZHNfdCBpcyBub3QgZGVmaW5lZCBvbiBNYWMvQlNEOyB1c2UgdGhlIFBPU0lYLWNvbmZvcm1hbnQKLXN1c2Vjb25kc190LgotLS0tCi0gc3JjL2pzb25ycGNjcHAvc2VydmVyL2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JzZXJ2ZXIuY3BwIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2pzb25ycGNjcHAvc2VydmVyL2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JzZXJ2ZXIuY3BwIGIvc3JjL2pzb25ycGNjcHAvc2VydmVyL2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JzZXJ2ZXIuY3BwCi1pbmRleCA4ZTAxOWNhLi42ODEwN2YyIDEwMDY0NAotLS0tIGEvc3JjL2pzb25ycGNjcHAvc2VydmVyL2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JzZXJ2ZXIuY3BwCi0rKysgYi9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAKLUBAIC0xMjIsNyArMTIyLDcgQEAgaW50IEZpbGVEZXNjcmlwdG9yU2VydmVyOjpXYWl0Rm9yUmVhZCgpIHsKLSAgIEZEX1pFUk8oJmV4Y2VwdF9mZHMpOwotICAgRkRfU0VUKGlucHV0ZmQsICZyZWFkX2Zkcyk7Ci0gICB0aW1lb3V0LnR2X3NlYyA9IDA7Ci0tICB0aW1lb3V0LnR2X3VzZWMgPSAoX19zdXNlY29uZHNfdCkgKFJFQURfVElNRU9VVCAqIDEwMDAwMDApOwotKyAgdGltZW91dC50dl91c2VjID0gKHN1c2Vjb25kc190KSAoUkVBRF9USU1FT1VUICogMTAwMDAwMCk7Ci0gICAvLyBXYWl0IGZvciBzb21ldGhpbmcgdG8gcmVhZAotICAgcmV0dXJuIHNlbGVjdChpbnB1dGZkICsgMSwgJnJlYWRfZmRzLCAmd3JpdGVfZmRzLCAmZXhjZXB0X2ZkcywgJnRpbWVvdXQpOwotIH0KLS0tIAotMi4xMi4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGNfMC43LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjXzAuNy4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYjFmZjY1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGNfMC43LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1TVU1NQVJZID0gIkMrKyBmcmFtZXdvcmsgZm9yIGpzb24tcnBjIDEuMCBhbmQgMi4wIgotREVTQ1JJUFRJT04gPSAiSnNvblJwYy1DcHAgaXMgYW4gT3BlblNvdXJjZSBpbXBsZW1lbnRhdGlvbiBvZiBKU09OLVJQQyBcCi0gICAgICAgICAgICAgICBwcm90b2NvbCBpbiBDKysuIEpTT04tUlBDIGlzIGEgbGlnaHR3ZWlnaHQgcmVtb3RlIHByb2NlZHVyZSBcCi0gICAgICAgICAgICAgICBjYWxsIHByb3RvY29sIHNpbWlsYXIgdG8gWE1MLVJQQy4iCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vY2luZW1hc3QvbGlianNvbi1ycGMtY3BwIgotCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT1lZTcyZDYwMTg1NGQ1ZDJhMDY1Y2Y2NDI4ODNjNDg5YiIKLQotUFYgPSAiMC43LjArZ2l0JHtTUkNQVn0iCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9jaW5lbWFzdC9saWJqc29uLXJwYy1jcHAgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jbWFrZS1yZXBsYWNlLWhhcmRjb2RlZC1saWItQ01BS0VfTElCUkFSWV9QQVRILXdpdGgtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZmlsZWRlc2NyaXB0b3JjbGllbnQtVHlwZWNhc3QtbWluLWFyZ3VtZW50cy1jb3JyZWN0bC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpbGVkZXNjcmlwdG9yc2VydmVyLUluY2x1ZGUtc3lzLXNlbGVjdC5oLWJlZm9yZS1vdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1tZW1zZXQtYW5kLWZhbWlseS1uZWVkcy10by1pbmNsdWRlLXN0cmluZy5oLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItRml4LWJ1aWxkLXByb2JsZW0tb24tTWFjLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDUkVWID0gImNjYmRiNDEzODhiZGQ5Mjk4Mjg5NDE2NTJkYTgxNmJmNTJhMDU4MGUiCi0KLVNFQ1RJT04gPSAibGlicyIKLQotREVQRU5EUyA9ICJjdXJsIGpzb25jcHAgbGlibWljcm9odHRwZCIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBjbWFrZQotCi1FWFRSQV9PRUNNQUtFICs9ICItRENPTVBJTEVfVEVTVFM9Tk8gLURDT01QSUxFX1NUVUJHRU49Tk8gLURDT01QSUxFX0VYQU1QTEVTPU5PIFwKLSAgICAgICAgICAgICAgICAgIC1EQlVJTERfU0hBUkVEX0xJQlM9WUVTIC1EQlVJTERfU1RBVElDX0xJQlM9WUVTIFwKLSAgICAgICAgICAgICAgICAgIC1EQ01BS0VfTElCUkFSWV9QQVRIPSR7bGliZGlyfSBcCi0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlYTExYjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjX2dpdC5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIkMrKyBmcmFtZXdvcmsgZm9yIGpzb24tcnBjIDEuMCBhbmQgMi4wIgorREVTQ1JJUFRJT04gPSAiSnNvblJwYy1DcHAgaXMgYW4gT3BlblNvdXJjZSBpbXBsZW1lbnRhdGlvbiBvZiBKU09OLVJQQyBcCisgICAgICAgICAgICAgICBwcm90b2NvbCBpbiBDKysuIEpTT04tUlBDIGlzIGEgbGlnaHR3ZWlnaHQgcmVtb3RlIHByb2NlZHVyZSBcCisgICAgICAgICAgICAgICBjYWxsIHByb3RvY29sIHNpbWlsYXIgdG8gWE1MLVJQQy4iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vY2luZW1hc3QvbGlianNvbi1ycGMtY3BwIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT00ZTcyOGM1YjM2MDE4ZjZjMzgzYjRiOWVmZDljODg0MCIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAiY3VybCBqc29uY3BwIGxpYm1pY3JvaHR0cGQgaGlyZWRpcyIKKworUFYgPSAiMS4xLjErZ2l0JHtTUkNQVn0iCisjIHYxLjEuMQorU1JDUkVWID0gIjMxOTc4M2M2MzVjZjhjYWJjYzFhOTgwNDk1Yzk5YTg4ZjllYmJkOTciCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9jaW5lbWFzdC9saWJqc29uLXJwYy1jcHAgXAorICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgY21ha2UKKworRVhUUkFfT0VDTUFLRSArPSAiLURDT01QSUxFX1RFU1RTPU5PIC1EQ09NUElMRV9TVFVCR0VOPU5PIC1EQ09NUElMRV9FWEFNUExFUz1OTyBcCisgICAgICAgICAgICAgICAgICAtREJVSUxEX1NIQVJFRF9MSUJTPVlFUyAtREJVSUxEX1NUQVRJQ19MSUJTPVlFUyBcCisgICAgICAgICAgICAgICAgICAtRENNQUtFX0xJQlJBUllfUEFUSD0ke2xpYmRpcn0gXAorIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9saWJqc29uLXJwYy1jcHAvY21ha2UiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZWRpdC9saWJlZGl0XzIwMTgwNTI1LTMuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJlZGl0L2xpYmVkaXRfMjAxODA1MjUtMy4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Y2MwZTk1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJlZGl0L2xpYmVkaXRfMjAxODA1MjUtMy4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotU1VNTUFSWSA9ICJCU0QgcmVwbGFjZW1lbnQgZm9yIGxpYnJlYWRsaW5lIgotREVTQ1JJUFRJT04gPSAiQ29tbWFuZCBsaW5lIGVkaXRvciBsaWJyYXJ5IHByb3ZpZGluZyBnZW5lcmljIGxpbmUgZWRpdGluZywgXAotaGlzdG9yeSwgYW5kIHRva2VuaXphdGlvbiBmdW5jdGlvbnMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnRocnlzb2VlLmRrL2VkaXRsaW5lLyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWU0MjI4ZDBjNWE5MDkzYjAxYWVhYWVhZTY2NDE1MzMiCi0KLURFUEVORFMgPSAibmN1cnNlcyIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotIyB1cHN0cmVhbSBzaXRlIGRvZXMgbm90IGFsbG93IHdnZXQncyBVc2VyLUFnZW50Ci1GRVRDSENNRF93Z2V0ICs9ICItVSBiaXRiYWtlIgotU1JDX1VSSSA9ICJodHRwOi8vd3d3LnRocnlzb2VlLmRrL2VkaXRsaW5lLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vc3RkYy1wcmVkZWYucGF0Y2ggXAotICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI5NzY3OTMxOTc0MmY0NWQ2Y2RjZDYwNzU1MTFiMTRhYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJjNDFiZWE4ZmQxNDBmYjU3YmE2N2E5OGVjMWQ4YWUwYjhmZmE4MmY0YWJhOWMzNWE4N2U1YTk0OTllNjUzMTE2IgotCi1TID0gIiR7V09SS0RJUn0vJHtCUE59LSR7UFZ9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYmVkaXQvbGliZWRpdF8yMDE4MTIwOS0zLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZWRpdC9saWJlZGl0XzIwMTgxMjA5LTMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGEzZDIxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYmVkaXQvbGliZWRpdF8yMDE4MTIwOS0zLjEuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJCU0QgcmVwbGFjZW1lbnQgZm9yIGxpYnJlYWRsaW5lIgorREVTQ1JJUFRJT04gPSAiQ29tbWFuZCBsaW5lIGVkaXRvciBsaWJyYXJ5IHByb3ZpZGluZyBnZW5lcmljIGxpbmUgZWRpdGluZywgXAoraGlzdG9yeSwgYW5kIHRva2VuaXphdGlvbiBmdW5jdGlvbnMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnRocnlzb2VlLmRrL2VkaXRsaW5lLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWU0MjI4ZDBjNWE5MDkzYjAxYWVhYWVhZTY2NDE1MzMiCisKK0RFUEVORFMgPSAibmN1cnNlcyIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworIyB1cHN0cmVhbSBzaXRlIGRvZXMgbm90IGFsbG93IHdnZXQncyBVc2VyLUFnZW50CitGRVRDSENNRF93Z2V0ICs9ICItVSBiaXRiYWtlIgorU1JDX1VSSSA9ICJodHRwOi8vd3d3LnRocnlzb2VlLmRrL2VkaXRsaW5lLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vc3RkYy1wcmVkZWYucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyMmU5NDVhMDQ3NmUzODhlNmY3OGJmYzhkNmUxMTkyYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyODExZDcwYzBiMDAwZjJjYTkxYjdjYjFhMzcyMDMxMzQ0NDE3NDNjNGZjYzljMzdiMGI2ODdmMzI4NjExMDY0IgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59LSR7UFZ9IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZ2VlL2xpYmdlZV8wLjE4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZ2VlL2xpYmdlZV8wLjE4LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzODZmMWYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYmdlZS9saWJnZWVfMC4xOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAibGliZ2VlIGlzIGEgY29sbGVjdGlvbiBsaWJyYXJ5IHByb3ZpZGluZyBHT2JqZWN0LWJhc2VkIGludGVyZmFjZXMgXAotYW5kIGNsYXNzZXMgZm9yIGNvbW1vbmx5IHVzZWQgZGF0YSBzdHJ1Y3R1cmVzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9saXZlLmdub21lLm9yZy9MaWJnZWUiCi1TRUNUSU9OID0gImxpYnMiCi1ERVBFTkRTID0gImdsaWItMi4wIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCIKLQotUEUgPSAiMSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdmFsYSBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICBNQUNST1M9ImxpYnRvb2wubTQgbHR+b2Jzb2xldGUubTQgbHRvcHRpb25zLm00IGx0c3VnYXIubTQgbHR2ZXJzaW9uLm00IgotICAgIGZvciBpIGluICR7TUFDUk9TfTsgZG8KLSAgICAgICAgcm0gLWYgbTQvJGkKLSAgICBkb25lCi19Ci0KLVNIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgotU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9saWJnZWUvJHtTSFJUX1ZFUn0vJHtCUH0udGFyLnh6IgotU1JDX1VSSVttZDVzdW1dID0gIjI5ZWE2MTI1ZTY1M2Q3ZTYwYjQ5YTlhOTU0NGFiYzk2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRhZDk5ZWY5MzdkMDcxYjQ4ODNjMDYxZGY0MGJmZTIzM2Y3NjQ5ZDUwYzM1NGNmODEyMzVmMTgwYjQyNDQzOTkiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZ2VlL2xpYmdlZV8wLjIwLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZ2VlL2xpYmdlZV8wLjIwLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTkwZTVkZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJnZWUvbGliZ2VlXzAuMjAuMS5iYgpAQCAtMCwwICsxLDI0IEBACitERVNDUklQVElPTiA9ICJsaWJnZWUgaXMgYSBjb2xsZWN0aW9uIGxpYnJhcnkgcHJvdmlkaW5nIEdPYmplY3QtYmFzZWQgaW50ZXJmYWNlcyBcCithbmQgY2xhc3NlcyBmb3IgY29tbW9ubHkgdXNlZCBkYXRhIHN0cnVjdHVyZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL0xpYmdlZSIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAiZ2xpYi0yLjAiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiYzA5MzkwMTg1N2ZjZDExOGYwNjVmOTAwOTgyYzI0IgorCitQRSA9ICIxIgorCitpbmhlcml0IGF1dG90b29scyB2YWxhIHBrZ2NvbmZpZyBnb2JqZWN0LWludHJvc3BlY3Rpb24KK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIE1BQ1JPUz0ibGlidG9vbC5tNCBsdH5vYnNvbGV0ZS5tNCBsdG9wdGlvbnMubTQgbHRzdWdhci5tNCBsdHZlcnNpb24ubTQiCisgICAgZm9yIGkgaW4gJHtNQUNST1N9OyBkbworICAgICAgICBybSAtZiBtNC8kaQorICAgIGRvbmUKK30KKworU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVsxXX0iCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzL2xpYmdlZS8ke1NIUlRfVkVSfS8ke0JQfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiZDIyNGRjYTU1YmI5MDlmNjczMGY0MGNjMjY3MzM3YmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmIyODAyZDI5YTUxOGU4YzZkMjk5Mjg4NDY5MWYwNmNjZmNjMjU3OTJhNTY4NjE3ODU3NWM3MTExZmVhNDYzMCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sb2c0Y3BsdXMvbG9nNGNwbHVzXzIuMC4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xvZzRjcGx1cy9sb2c0Y3BsdXNfMi4wLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQxN2QxNWMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xvZzRjcGx1cy9sb2c0Y3BsdXNfMi4wLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gImxvZzRjcGx1cyBwcm92aWRlcyBhIHNpbXBsZSBDKysgbG9nZ2luZyBBUEkgZm9yIGxvZyBtYW5hZ2VtZW50IgotU0VDVElPTiA9ICJsaWJzIgotSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9sb2c0Y3BsdXMvIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3AvbG9nNGNwbHVzL2J1Z3MvIgotCi1MSUNFTlNFID0gIkFwYWNoZS0yLjAgJiBCU0QtMi1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00MWU4ZTA2MGMyNjgyMjg4NmI1OTJhYjQ3NjVjNzU2YiIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC8ke0JQTn0vJHtCUE59LXN0YWJsZS8ke1BWfS8ke0JQfS50YXIuZ3oiCi1TUkNfVVJJW21kNXN1bV0gPSAiYjNiYmViMmRjM2UxNzA3Njg0MzBjZjg3NTgzMDE2ZjgiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTA1MzlmMjMxNTI3MWQzNzBjN2JjNmEyYjQ4MDhjYmUzNjkyNzk4MzdmNDUzOWNlNWM3ODllNDU2NDg5ZmM2MiIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xvZzRjcGx1cy9maWxlcy9sb2c0Y3BsdXMtc3RhYmxlLyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gImxvZzRjcGx1cy1zdGFibGUvKD9QPHB2ZXI+XGQrKFwuXGQrKSspLyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xvZzRjcGx1cy9sb2c0Y3BsdXNfMi4wLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbG9nNGNwbHVzL2xvZzRjcGx1c18yLjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NmM2MmYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xvZzRjcGx1cy9sb2c0Y3BsdXNfMi4wLjMuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJsb2c0Y3BsdXMgcHJvdmlkZXMgYSBzaW1wbGUgQysrIGxvZ2dpbmcgQVBJIGZvciBsb2cgbWFuYWdlbWVudCIKK1NFQ1RJT04gPSAibGlicyIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbG9nNGNwbHVzLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wL2xvZzRjcGx1cy9idWdzLyIKKworTElDRU5TRSA9ICJBcGFjaGUtMi4wICYgQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NDFlOGUwNjBjMjY4MjI4ODZiNTkyYWI0NzY1Yzc1NmIiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvJHtCUE59LyR7QlBOfS1zdGFibGUvJHtQVn0vJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjIwYTg3MDkwY2Q4ZWMzNGVhMTFiM2U1OTk1NDIzNGNiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJkOGY2MjdhYTY0MTdlNmM2YTEwMGJjMDlkYzQwNzY4NGNhNDYwNWM5MjlkZWZjMTY5MGVlN2Q2YTU3NWNlNmEiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9sb2c0Y3BsdXMvZmlsZXMvbG9nNGNwbHVzLXN0YWJsZS8iCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJsb2c0Y3BsdXMtc3RhYmxlLyg/UDxwdmVyPlxkKyhcLlxkKykrKS8iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sc2h3L2xzaHdfMDIuMTguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHNody9sc2h3XzAyLjE4LmJiCmluZGV4IGIzNDRmYmYuLmQxYTczMzQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sc2h3L2xzaHdfMDIuMTguYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xzaHcvbHNod18wMi4xOC5iYgpAQCAtMzAsMyArMzAsNSBAQAogZG9faW5zdGFsbCgpIHsKICAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9CiB9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2UvMDAwMS1ob29rLURvLW5vdC1hcHBlbmQtaW50LXRvLXN0ZC1zdHJpbmcucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZS8wMDAxLWhvb2stRG8tbm90LWFwcGVuZC1pbnQtdG8tc3RkLXN0cmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjFjNGI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2UvMDAwMS1ob29rLURvLW5vdC1hcHBlbmQtaW50LXRvLXN0ZC1zdHJpbmcucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSA4MzIxZjhiM2JlZmJhYTM1NWNmZWQ5ODhmZGQ4NDk0MTMzOTg5Njc2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgNCBGZWIgMjAxOSAwMDozODoxNiAtMDgwMAorU3ViamVjdDogW1BBVENIXSBob29rOiBEbyBub3QgYXBwZW5kIGludCB0byBzdGQ6OnN0cmluZworCitDbGFuZyBmaW5kIHRoaXMgZXJyb3IKKworfCAuLi8uLi8uLi9naXQvc3lzZGVwcy9saW51eC1nbnUvaG9va3MuYzoyMDU6NTE6IGVycm9yOiBhZGRpbmcgJ2ludCcgdG8gYSBzdHJpbmcgZG9lcyBub3QgYXBwZW5kIHRvIHRoZSBzdHJpbmcgWy1XZXJyb3IsLVdzdHJpbmctcGx1cworLWludF0KK3wgICAgICAgICAgICAgICAgICAgICB8fCBzcHJpbnRmKHN5c3BhdGgsICIlcy8lcyIsIHN5c2NvbmZkaXIsIEZOICsgMSkgPCAwKQorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+Xn5+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHN5c2RlcHMvbGludXgtZ251L2hvb2tzLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKKy0tLSBhL3N5c2RlcHMvbGludXgtZ251L2hvb2tzLmMKKysrKyBiL3N5c2RlcHMvbGludXgtZ251L2hvb2tzLmMKK0BAIC0yMDAsOSArMjAwLDEwIEBAIG9zX2dldF9sdHJhY2VfY29uZl9maWxlbmFtZXMoc3RydWN0IHZlY3QKKyAJY29uc3QgY2hhciAqc3lzY29uZmRpciA9IFNZU0NPTkZESVI7CisgCWlmIChzeXNjb25mZGlyICE9IE5VTEwgJiYgKnN5c2NvbmZkaXIgIT0gJ1wwJykgeworIAkJLyogTm8gKzEsIHdlIHNraXAgdGhlIGluaXRpYWwgcGVyaW9kLiAgKi8KKy0JCXN5c3BhdGggPSBtYWxsb2Moc3RybGVuKHN5c2NvbmZkaXIpICsgc2l6ZW9mIEZOKTsKKysJCXN5c3BhdGggPSBtYWxsb2Moc3RybGVuKHN5c2NvbmZkaXIpICsgc2l6ZW9mIEZOICsgMSk7CisrCQlzeXNwYXRoW3N0cmxlbihzeXNjb25mZGlyKSArIHNpemVvZiBGTiArIDFdID0gJ1wwJzsKKyAJCWlmIChzeXNwYXRoID09IE5VTEwKKy0JCSAgICB8fCBzcHJpbnRmKHN5c3BhdGgsICIlcy8lcyIsIHN5c2NvbmZkaXIsIEZOICsgMSkgPCAwKQorKwkJICAgIHx8IHNwcmludGYoc3lzcGF0aCwgIiVzLyVzIiwgc3lzY29uZmRpciwgRk4pIDwgMCkKKyAJCQlnb3RvIGZhaWw7CisgCX0KKyAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlLzAwMDEtbW92ZS1mcHJpbnRmLWludG8tc2FtZS1ibG9jay13aGVyZS1tb2RuYW1lLWFuZC1zeW1uYS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlLzAwMDEtbW92ZS1mcHJpbnRmLWludG8tc2FtZS1ibG9jay13aGVyZS1tb2RuYW1lLWFuZC1zeW1uYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGFjYWFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2UvMDAwMS1tb3ZlLWZwcmludGYtaW50by1zYW1lLWJsb2NrLXdoZXJlLW1vZG5hbWUtYW5kLXN5bW5hLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gMGNhZDAyNWY4MGNmMDkwZGMxNmE1YjcwZTIxNDc3ZjViMDhhNjdmZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDIwIERlYyAyMDE4IDExOjI3OjQ1IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIG1vdmUgZnByaW50ZiBpbnRvIHNhbWUgYmxvY2sgd2hlcmUgbW9kbmFtZSBhbmQgc3ltbmFtZSBhcmUKKyBjb21wdXRlZAorCitJbiBpdHMgY3VycmVudCBzdGF0ZSBpZiBtb2QgdHVybnMgb3V0IHRvIGJlIE5VTEwgdGhlbiBtb2RuYW1lIGFuZAorc3ltbmFtZSB3aWxsIGFsc28gdHVybiBvdXQgdG8gYmUgTlVMTCBhbmQgZnByaW50aW5nIHRoZW0gYXMgc3RyaW5ncyB3aWxsCitiZSBwcm9ibGVtYXRpYworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIG91dHB1dC5jIHwgNyArKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL291dHB1dC5jIGIvb3V0cHV0LmMKK2luZGV4IGI2M2JlZmUuLjVhYWRhN2IgMTAwNjQ0CistLS0gYS9vdXRwdXQuYworKysrIGIvb3V0cHV0LmMKK0BAIC02NTQsMTIgKzY1NCwxMSBAQCBmcmFtZV9jYWxsYmFjayAoRHdmbF9GcmFtZSAqc3RhdGUsIHZvaWQgKmFyZykKKyAJCQkJCSAgIE5VTEwsIE5VTEwsIE5VTEwpOworIAkJc3ltbmFtZSA9IGR3ZmxfbW9kdWxlX2FkZHJpbmZvKG1vZCwgcGMsICZvZmYsICZzeW0sCisgCQkJCQkgICAgICAgTlVMTCwgTlVMTCwgTlVMTCk7CisrCQkvKiBUaGlzIG1pbWljcyB0aGUgb3V0cHV0IHByb2R1Y2VkIGJ5IGxpYnVud2luZCBiZWxvdy4gICovCisrCQlmcHJpbnRmKG9wdGlvbnMub3V0cHV0LCAiID4gJXMoJXMrMHglIiBQUkl4NjQgIikgWyUiIFBSSXg2NCAiXVxuIiwKKysJCQltb2RuYW1lLCBzeW1uYW1lLCBvZmYsIHBjKTsKKyAJfQorIAorLQkvKiBUaGlzIG1pbWljcyB0aGUgb3V0cHV0IHByb2R1Y2VkIGJ5IGxpYnVud2luZCBiZWxvdy4gICovCistCWZwcmludGYob3B0aW9ucy5vdXRwdXQsICIgPiAlcyglcysweCUiIFBSSXg2NCAiKSBbJSIgUFJJeDY0ICJdXG4iLAorLQkJbW9kbmFtZSwgc3ltbmFtZSwgb2ZmLCBwYyk7CistCisgCS8qIFNlZSBpZiB3ZSBjYW4gZXh0cmFjdCB0aGUgc291cmNlIGxpbmUgdG9vIGFuZCBwcmludCBpdCBvbgorIAkgICB0aGUgbmV4dCBsaW5lIGlmIHdlIGNhbiBmaW5kIGl0LiAgKi8KKyAJaWYgKG1vZCAhPSBOVUxMKSB7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZV9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZV9naXQuYmIKaW5kZXggZjQwMzNmNy4uM2RjMjY5YyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2VfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlX2dpdC5iYgpAQCAtMjUsNiArMjUsOCBAQAogICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtc3VwcG9ydC1mb3ItbWlwczY0LW4zMi1uNjQucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtUmVjb2duaXNlLWxpbnV4LW11c2wtYXMtYS1ob3N0LU9TLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtbWlwcy1wbHQuYy1EZWxldGUtaW5jbHVkZS1lcnJvci5oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbW92ZS1mcHJpbnRmLWludG8tc2FtZS1ibG9jay13aGVyZS1tb2RuYW1lLWFuZC1zeW1uYS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWhvb2stRG8tbm90LWFwcGVuZC1pbnQtdG8tc3RkLXN0cmluZy5wYXRjaCBcCiAgICAgICAgICAgICIKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdWFqaXQvbHVhaml0XzIuMC41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YWppdC9sdWFqaXRfMi4wLjUuYmIKaW5kZXggZjNhMGY3MC4uYzJkMjE4MCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YWppdC9sdWFqaXRfMi4wLjUuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YWppdC9sdWFqaXRfMi4wLjUuYmIKQEAgLTIyLDcgKzIyLDcgQEAKICMgeW91IG5lZWQgdG8gaW5zdGFsbCB0aGUgbXVsdGlsaWIgZGV2ZWxvcG1lbnQgcGFja2FnZSAoZS5nLgogIyBsaWJjNi1kZXYtaTM4NiBvbiBEZWJpYW4vVWJ1bnR1KSBhbmQgYnVpbGQgYSAzMiBiaXQgaG9zdCBwYXJ0CiAjIChIT1NUX0NDPSJnY2MgLW0zMiIpLgotQlVJTERfQ0NfQVJDSF9hcHBlbmQgPSAiICR7QFsnLW0zMicsJyddW2QuZ2V0VmFyKCdTSVRFSU5GT19CSVRTJywgVHJ1ZSkgIT0gJzMyJ119IgorQlVJTERfQ0NfQVJDSF9hcHBlbmQgPSAiICR7QFsnLW0zMicsJyddW2QuZ2V0VmFyKCdTSVRFSU5GT19CSVRTJykgIT0gJzMyJ119IgogCiAjIFRoZSBsdWEgbWFrZWZpbGVzIGV4cGVjdCB0aGUgVEFSR0VUX1NZUyB0byBiZSBmcm9tIHVuYW1lIC1zCiAjIFZhbHVlczogV2luZG93cywgTGludXgsIERhcndpbiwgaU9TLCBTdW5PUywgUFMzLCBHTlUva0ZyZWVCU0QKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tc2dwYWNrL21zZ3BhY2stYy8wMDAxLUZpeC1XZXJyb3ItY2xhc3MtbWVtYWNjZXNzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21zZ3BhY2svbXNncGFjay1jLzAwMDEtRml4LVdlcnJvci1jbGFzcy1tZW1hY2Nlc3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwZDc3MmQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21zZ3BhY2svbXNncGFjay1jLzAwMDEtRml4LVdlcnJvci1jbGFzcy1tZW1hY2Nlc3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIGEwNWQ5MmFlODUwMjRkMDY0OGY2OWY5NTMwN2ExZDNlOGU1MTEwOWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU3VuLCAxIEFwciAyMDE4IDE5OjU1OjM4IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCAtV2Vycm9yPWNsYXNzLW1lbWFjY2VzcwotCi1DYXN0aW5nIHRvIHZvaWQqIG1ha2UgZ2NjIGhhcHB5IHNpbmNlIGl0cyB1cHNldCBhYm91dAotb2JqZWN0IHR5cGVzIGFuZCByaWdodGx5IHNvCi0KLUZpeGVzCi0KLSd2b2lkKiBtZW1jcHkodm9pZCosIGNvbnN0IHZvaWQqLCBzaXplX3QpJyBjb3B5aW5nIGFuIG9iamVjdCBvZiBub24tdHJpdmlhbCB0eXBlICdzdHJ1Y3QgbXNncGFjazo6djI6Om9iamVjdCcgZnJvbSBhbiBhcnJheSBvZiAnY29uc3QgbXNncGFja19vYmplY3QnIHtha2EgJ2NvbnN0IHN0cnVjdCBtc2dwYWNrX29iamVjdCd9IFstV2Vycm9yPWNsYXNzLW1lbWFjY2Vzc10KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9tc2dwYWNrL21zZ3BhY2stYy9wdWxsLzY1OV0KLQotIGluY2x1ZGUvbXNncGFjay92MS9vYmplY3QuaHBwIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9tc2dwYWNrL3YxL29iamVjdC5ocHAgYi9pbmNsdWRlL21zZ3BhY2svdjEvb2JqZWN0LmhwcAotaW5kZXggNjRkYThjNTMuLjk3MjFmNzA1IDEwMDY0NAotLS0tIGEvaW5jbHVkZS9tc2dwYWNrL3YxL29iamVjdC5ocHAKLSsrKyBiL2luY2x1ZGUvbXNncGFjay92MS9vYmplY3QuaHBwCi1AQCAtNjYxLDcgKzY2MSw3IEBAIGlubGluZSBvYmplY3Q6Om9iamVjdChjb25zdCBtc2dwYWNrX29iamVjdCYgbykKLSBpbmxpbmUgdm9pZCBvcGVyYXRvcjw8IChtc2dwYWNrOjpvYmplY3QmIG8sIGNvbnN0IG1zZ3BhY2tfb2JqZWN0JiB2KQotIHsKLSAgICAgLy8gRklYTUUgYmV0ZXIgd2F5PwotLSAgICBzdGQ6Om1lbWNweSgmbywgJnYsIHNpemVvZih2KSk7Ci0rICAgIHN0ZDo6bWVtY3B5KHN0YXRpY19jYXN0PHZvaWQqPigmbyksICZ2LCBzaXplb2YodikpOwotIH0KLSAKLSBpbmxpbmUgb2JqZWN0OjpvcGVyYXRvciBtc2dwYWNrX29iamVjdCgpIGNvbnN0Ci0tLSAKLTIuMTYuMwotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbXNncGFjay9tc2dwYWNrLWNfMi4xLjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbXNncGFjay9tc2dwYWNrLWNfMi4xLjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5MGE3ZjQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21zZ3BhY2svbXNncGFjay1jXzIuMS41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotU1VNTUFSWSA9ICJNZXNzYWdlUGFjayBpbXBsZW1lbnRhdGlvbiBmb3IgQyBhbmQgQysrIgotREVTQ1JJUFRJT04gPSAiTWVzc2FnZVBhY2sgaXMgYW4gZWZmaWNpZW50IGJpbmFyeSBzZXJpYWxpemF0aW9uIGZvcm1hdC4gSXQncyBsaWtlIEpTT04uIGJ1dCBmYXN0IGFuZCBzbWFsbCIKLUhPTUVQQUdFID0gImh0dHA6Ly9tc2dwYWNrLm9yZy9pbmRleC5odG1sIgotTElDRU5TRSA9ICJCU0wtMS4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTk9USUNFO21kNT03YTg1OGMwNzQ3MjM2MDhlMDg2MTQwNjFkYzA0NDM1MiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HO21kNT0wNjM5YzQyMDliNmYyYWJmMTQzN2M4MTNiMjA4ZjJkMyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9MSUNFTlNFXzFfMC50eHQ7bWQ1PWU0MjI0Y2NhZWNiMTRkOTQyYzcxZDMxYmVmMjBkNzhjIFwKLSAgICAgICAgICAgICAgICAgICAiCi0KLVBWIC49ICIrZ2l0JHtTUkNQVn0iCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9tc2dwYWNrL21zZ3BhY2stYyBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1XZXJyb3ItY2xhc3MtbWVtYWNjZXNzLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDUkVWID0gIjIwODU5NWIyNjIwY2Y2MjYwY2UzZDZkNGNmODU0M2YxM2IyMDY0NDkiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgY21ha2UgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbXNncGFjay9tc2dwYWNrLWNfMy4xLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbXNncGFjay9tc2dwYWNrLWNfMy4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBmZDQ0ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tc2dwYWNrL21zZ3BhY2stY18zLjEuMS5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIk1lc3NhZ2VQYWNrIGltcGxlbWVudGF0aW9uIGZvciBDIGFuZCBDKysiCitERVNDUklQVElPTiA9ICJNZXNzYWdlUGFjayBpcyBhbiBlZmZpY2llbnQgYmluYXJ5IHNlcmlhbGl6YXRpb24gZm9ybWF0LiBJdCdzIGxpa2UgSlNPTi4gYnV0IGZhc3QgYW5kIHNtYWxsIgorSE9NRVBBR0UgPSAiaHR0cDovL21zZ3BhY2sub3JnL2luZGV4Lmh0bWwiCitMSUNFTlNFID0gIkJTTC0xLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9OT1RJQ0U7bWQ1PTdhODU4YzA3NDcyMzYwOGUwODYxNDA2MWRjMDQ0MzUyIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzljNDIwOWI2ZjJhYmYxNDM3YzgxM2IyMDhmMmQzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0VfMV8wLnR4dDttZDU9ZTQyMjRjY2FlY2IxNGQ5NDJjNzFkMzFiZWYyMGQ3OGMgXAorICAgICAgICAgICAgICAgICAgICIKKworUFYgLj0gIitnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL21zZ3BhY2svbXNncGFjay1jIFwKKyAgICAgICAgICAgIgorIyBjcHAtMy4xLjEKK1NSQ1JFViA9ICI4M2E4MmUzZWI1MTJiMThkNDE0OWNhYmI3ZWI0M2M3ZThiYzA4MWFmIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwMS1EaXNhYmxlLXJ1bm5pbmctZ3lwLWZpbGVzLWZvci1idW5kbGVkLWRlcHMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDAxLURpc2FibGUtcnVubmluZy1neXAtZmlsZXMtZm9yLWJ1bmRsZWQtZGVwcy5wYXRjaAppbmRleCAzMjRhNDY4Li41ZDBkYzAzIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDAxLURpc2FibGUtcnVubmluZy1neXAtZmlsZXMtZm9yLWJ1bmRsZWQtZGVwcy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDAxLURpc2FibGUtcnVubmluZy1neXAtZmlsZXMtZm9yLWJ1bmRsZWQtZGVwcy5wYXRjaApAQCAtNCwyNiArNCwyMyBAQAogU3ViamVjdDogW1BBVENIXSBEaXNhYmxlIHJ1bm5pbmcgZ3lwIG9uIHNoYXJlZCBkZXBzCiAKIC0tLQotIE1ha2VmaWxlIHwgNyArKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKyBNYWtlZmlsZSB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCi1pbmRleCAwYTIxN2JkODkzLi5lMTIyOWFkMDdmIDEwMDY0NAoraW5kZXggYTk4NzcyZi4uZjU2NjNlMiAxMDA2NDQKIC0tLSBhL01ha2VmaWxlCiArKysgYi9NYWtlZmlsZQotQEAgLTc5LDEwICs3OSw5IEBAICQoTk9ERV9HX0VYRSk6IGNvbmZpZy5neXBpIG91dC9NYWtlZmlsZQotIAkkKE1BS0UpIC1DIG91dCBCVUlMRFRZUEU9RGVidWcgVj0kKFYpCi0gCWlmIFsgISAtciAkQCAtbyAhIC1MICRAIF07IHRoZW4gbG4gLWZzIG91dC9EZWJ1Zy8kKE5PREVfRVhFKSAkQDsgZmkKK0BAIC0xMjMsOCArMTIzLDggQEAgd2l0aC1jb2RlLWNhY2hlOgorIHRlc3QtY29kZS1jYWNoZTogd2l0aC1jb2RlLWNhY2hlCisgCSQoUFlUSE9OKSB0b29scy90ZXN0LnB5ICQoUEFSQUxMRUxfQVJHUykgLS1tb2RlPSQoQlVJTERUWVBFX0xPV0VSKSBjb2RlLWNhY2hlCiAgCiAtb3V0L01ha2VmaWxlOiBjb21tb24uZ3lwaSBkZXBzL3V2L3V2Lmd5cCBkZXBzL2h0dHBfcGFyc2VyL2h0dHBfcGFyc2VyLmd5cCBcCiAtICAgICAgICAgICAgICBkZXBzL3psaWIvemxpYi5neXAgZGVwcy92OC9neXBmaWxlcy90b29sY2hhaW4uZ3lwaSBcCi0tICAgICAgICAgICAgICBkZXBzL3Y4L2d5cGZpbGVzL2ZlYXR1cmVzLmd5cGkgZGVwcy92OC9zcmMvdjguZ3lwIG5vZGUuZ3lwIFwKLS0gICAgICAgICAgICAgIGNvbmZpZy5neXBpCiArb3V0L01ha2VmaWxlOiBjb21tb24uZ3lwaSBkZXBzL2h0dHBfcGFyc2VyL2h0dHBfcGFyc2VyLmd5cCBcCi0rICAgICAgICAgICAgICBkZXBzL3Y4L2d5cGZpbGVzL3Rvb2xjaGFpbi5neXBpIGRlcHMvdjgvZ3lwZmlsZXMvZmVhdHVyZXMuZ3lwaSBcCi0rCQkJICBkZXBzL3Y4L3NyYy92OC5neXAgbm9kZS5neXAgY29uZmlnLmd5cGkKKysgICAgICAgICAgICAgIGRlcHMvdjgvZ3lwZmlsZXMvdG9vbGNoYWluLmd5cGkgXAorICAgICAgICAgICAgICAgZGVwcy92OC9neXBmaWxlcy9mZWF0dXJlcy5neXBpIGRlcHMvdjgvZ3lwZmlsZXMvdjguZ3lwIG5vZGUuZ3lwIFwKKyAgICAgICAgICAgICAgIGNvbmZpZy5neXBpCiAgCSQoUFlUSE9OKSB0b29scy9neXBfbm9kZS5weSAtZiBtYWtlCi0gCi0gY29uZmlnLmd5cGk6IGNvbmZpZ3VyZQogLS0gCi0yLjEyLjIKKzIuMTkuMgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwMi1Vc2luZy1uYXRpdmUtdG9ycXVlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwMi1Vc2luZy1uYXRpdmUtdG9ycXVlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5MDM1ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDAyLVVzaW5nLW5hdGl2ZS10b3JxdWUucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSA0YmJlZTVlM2Q1OGJjNDkxMTk5OWYzZWMyY2M1YWFiOGRlZDY3MTdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogIldpbmtlciBNYXR0aGlhcyAoVFQtQ0EvRU5HMSkiIDxNYXR0aGlhcy5XaW5rZXJAZGUuYm9zY2guY29tPgorRGF0ZTogVHVlLCAxMSBEZWMgMjAxOCAxMDo0NDoyOSArMDEwMAorU3ViamVjdDogW1BBVENIXSBVc2luZyBuYXRpdmUgdG9ycXVlCisKKy0tLQorIGRlcHMvdjgvZ3lwZmlsZXMvdjguZ3lwIHwgNiArKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZGVwcy92OC9neXBmaWxlcy92OC5neXAgYi9kZXBzL3Y4L2d5cGZpbGVzL3Y4Lmd5cAoraW5kZXggOGM3OGYwMjI1NS4uNDM0MTY4ODQ0ZSAxMDA2NDQKKy0tLSBhL2RlcHMvdjgvZ3lwZmlsZXMvdjguZ3lwCisrKysgYi9kZXBzL3Y4L2d5cGZpbGVzL3Y4Lmd5cAorQEAgLTI4MzEsNyArMjgzMSw2IEBACisgICAgICAgICB7CisgICAgICAgICAgICdhY3Rpb25fbmFtZSc6ICdydW5fdG9ycXVlJywKKyAgICAgICAgICAgJ2lucHV0cyc6IFsgICMgT3JkZXIgbWF0dGVycy4KKy0gICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvPChFWEVDVVRBQkxFX1BSRUZJWCl0b3JxdWU8KEVYRUNVVEFCTEVfU1VGRklYKScsCisgICAgICAgICAgICAgJy4uL3NyYy9idWlsdGlucy9iYXNlLnRxJywKKyAgICAgICAgICAgICAnLi4vc3JjL2J1aWx0aW5zL2FycmF5LnRxJywKKyAgICAgICAgICAgICAnLi4vc3JjL2J1aWx0aW5zL3R5cGVkLWFycmF5LnRxJywKK0BAIC0yODQ1LDcgKzI4NDQsMTAgQEAKKyAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvdG9ycXVlLWdlbmVyYXRlZC9idWlsdGlucy10eXBlZC1hcnJheS1mcm9tLWRzbC1nZW4uY2MnLAorICAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS90b3JxdWUtZ2VuZXJhdGVkL2J1aWx0aW5zLXR5cGVkLWFycmF5LWZyb20tZHNsLWdlbi5oJywKKyAgICAgICAgICAgXSwKKy0gICAgICAgICAgJ2FjdGlvbic6IFsnPEAoX2lucHV0cyknLCAnLW8nLCAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvdG9ycXVlLWdlbmVyYXRlZCddLAorKyAgICAgICAgICAnYWN0aW9uJzogWworKyAgICAgICAgICAgICd0b3JxdWUnLAorKyAgICAgICAgICAgICc8QChfaW5wdXRzKScsCisrICAgICAgICAgICAgJy1vJywgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3RvcnF1ZS1nZW5lcmF0ZWQnXSwKKyAgICAgICAgIH0sCisgICAgICAgXSwKKyAgICAgfSwgIyB0b3JxdWUKKy0tIAorMi4xOS4yCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDMtQ3J5cHRvLXJlZHVjZS1tZW1vcnktdXNhZ2Utb2YtU2lnbkZpbmFsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwMy1DcnlwdG8tcmVkdWNlLW1lbW9yeS11c2FnZS1vZi1TaWduRmluYWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQzYmFjMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDMtQ3J5cHRvLXJlZHVjZS1tZW1vcnktdXNhZ2Utb2YtU2lnbkZpbmFsLnBhdGNoCkBAIC0wLDAgKzEsMTIyIEBACitGcm9tIDIwMjgyYjFjYjAzODk1NTM0MjFjNGM1YjE0ZGUxOThjNWRmZmY1MGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbm5hIEhlbm5pbmdzZW4gPGFubmFAYWRkYWxlYXgubmV0PgorRGF0ZTogU2F0LCAyMCBPY3QgMjAxOCAwNToyNDo1NCArMDIwMAorU3ViamVjdDogW1BBVENIXSBzcmM6IHVzZSBtb3JlIGV4cGxpY2l0IHJldHVybiB0eXBlIGluIFNpZ246OlNpZ25GaW5hbCgpCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1VzaW5nIHRoZSBub24taW5kZXhlZCB2YXJpYW50IG9mIGBzdGQ6OmdldDw+YCBicm9rZSBUcmF2aXMgQ0kuCitBbHNvLCB0aGlzIGFsbG93cyB1cyB0byBiZSBhIGJpdCBtb3JlIGNvbmNpc2Ugd2hlbiByZXR1cm5pbmcKK2Zyb20gYFNpZ25GaW5hbCgpYCBkdWUgdG8gc29tZSBlcnJvciBjb25kaXRpb24uCisKK1JlZnM6IGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9kZS9wdWxsLzIzNDI3CisKK1BSLVVSTDogaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL3B1bGwvMjM3NzkKK1Jldmlld2VkLUJ5OiBKb3llZSBDaGV1bmcgPGpveWVlYzloM0BnbWFpbC5jb20+CitSZXZpZXdlZC1CeTogVG9iaWFzIE5pZcOfZW4gPHRuaWVzc2VuQHRuaWUuZGU+CitSZXZpZXdlZC1CeTogUmVmYWVsIEFja2VybWFubiA8cmVmYWNrQGdtYWlsLmNvbT4KK1Jldmlld2VkLUJ5OiBDb2xpbiBJaHJpZyA8Y2ppaHJpZ0BnbWFpbC5jb20+CistLS0KKyBzcmMvbm9kZV9jcnlwdG8uY2MgfCAyMyArKysrKysrKysrKy0tLS0tLS0tLS0tLQorIHNyYy9ub2RlX2NyeXB0by5oICB8IDEyICsrKysrKysrKysrLQorIDIgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbm9kZV9jcnlwdG8uY2MgYi9zcmMvbm9kZV9jcnlwdG8uY2MKK2luZGV4IGJkOGQ5ZTAzMjU1NC4uZWM3ZDRmMmJiNWJlIDEwMDY0NAorLS0tIGEvc3JjL25vZGVfY3J5cHRvLmNjCisrKysgYi9zcmMvbm9kZV9jcnlwdG8uY2MKK0BAIC0zNTYyLDIyICszNTYyLDIwIEBAIHN0YXRpYyBNYWxsb2NlZEJ1ZmZlcjx1bnNpZ25lZCBjaGFyPiBOb2RlX1NpZ25GaW5hbChFVlBNRFBvaW50ZXImJiBtZGN0eCwKKyAgIHJldHVybiBNYWxsb2NlZEJ1ZmZlcjx1bnNpZ25lZCBjaGFyPigpOworIH0KKyAKKy1zdGQ6OnBhaXI8U2lnbkJhc2U6OkVycm9yLCBNYWxsb2NlZEJ1ZmZlcjx1bnNpZ25lZCBjaGFyPj4gU2lnbjo6U2lnbkZpbmFsKAorK1NpZ246OlNpZ25SZXN1bHQgU2lnbjo6U2lnbkZpbmFsKAorICAgICBjb25zdCBjaGFyKiBrZXlfcGVtLAorICAgICBpbnQga2V5X3BlbV9sZW4sCisgICAgIGNvbnN0IGNoYXIqIHBhc3NwaHJhc2UsCisgICAgIGludCBwYWRkaW5nLAorICAgICBpbnQgc2FsdF9sZW4pIHsKKy0gIE1hbGxvY2VkQnVmZmVyPHVuc2lnbmVkIGNoYXI+IGJ1ZmZlcjsKKy0KKyAgIGlmICghbWRjdHhfKQorLSAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoa1NpZ25Ob3RJbml0aWFsaXNlZCwgc3RkOjptb3ZlKGJ1ZmZlcikpOworKyAgICByZXR1cm4gU2lnblJlc3VsdChrU2lnbk5vdEluaXRpYWxpc2VkKTsKKyAKKyAgIEVWUE1EUG9pbnRlciBtZGN0eCA9IHN0ZDo6bW92ZShtZGN0eF8pOworIAorICAgQklPUG9pbnRlciBicChCSU9fbmV3X21lbV9idWYoY29uc3RfY2FzdDxjaGFyKj4oa2V5X3BlbSksIGtleV9wZW1fbGVuKSk7CisgICBpZiAoIWJwKQorLSAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoa1NpZ25Qcml2YXRlS2V5LCBzdGQ6Om1vdmUoYnVmZmVyKSk7CisrICAgIHJldHVybiBTaWduUmVzdWx0KGtTaWduUHJpdmF0ZUtleSk7CisgCisgICBFVlBLZXlQb2ludGVyIHBrZXkoUEVNX3JlYWRfYmlvX1ByaXZhdGVLZXkoYnAuZ2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbHB0ciwKK0BAIC0zNTg4LDcgKzM1ODYsNyBAQCBzdGQ6OnBhaXI8U2lnbkJhc2U6OkVycm9yLCBNYWxsb2NlZEJ1ZmZlcjx1bnNpZ25lZCBjaGFyPj4gU2lnbjo6U2lnbkZpbmFsKAorICAgLy8gd2l0aG91dCBgcGtleWAgYmVpbmcgc2V0IHRvIG51bGxwdHI7CisgICAvLyBjZi4gdGhlIHRlc3Qgb2YgYHRlc3RfYmFkX3JzYV9wcml2a2V5LnBlbWAgZm9yIGFuIGV4YW1wbGUuCisgICBpZiAoIXBrZXkgfHwgMCAhPSBFUlJfcGVla19lcnJvcigpKQorLSAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoa1NpZ25Qcml2YXRlS2V5LCBzdGQ6Om1vdmUoYnVmZmVyKSk7CisrICAgIHJldHVybiBTaWduUmVzdWx0KGtTaWduUHJpdmF0ZUtleSk7CisgCisgI2lmZGVmIE5PREVfRklQU19NT0RFCisgICAvKiBWYWxpZGF0ZSBEU0EyIHBhcmFtZXRlcnMgZnJvbSBGSVBTIDE4Ni00ICovCitAQCAtMzYxMiw5ICszNjEwLDEwIEBAIHN0ZDo6cGFpcjxTaWduQmFzZTo6RXJyb3IsIE1hbGxvY2VkQnVmZmVyPHVuc2lnbmVkIGNoYXI+PiBTaWduOjpTaWduRmluYWwoCisgICB9CisgI2VuZGlmICAvLyBOT0RFX0ZJUFNfTU9ERQorIAorLSAgYnVmZmVyID0gTm9kZV9TaWduRmluYWwoc3RkOjptb3ZlKG1kY3R4KSwgcGtleSwgcGFkZGluZywgc2FsdF9sZW4pOworKyAgTWFsbG9jZWRCdWZmZXI8dW5zaWduZWQgY2hhcj4gYnVmZmVyID0KKysgICAgICBOb2RlX1NpZ25GaW5hbChzdGQ6Om1vdmUobWRjdHgpLCBwa2V5LCBwYWRkaW5nLCBzYWx0X2xlbik7CisgICBFcnJvciBlcnJvciA9IGJ1ZmZlci5pc19lbXB0eSgpID8ga1NpZ25Qcml2YXRlS2V5IDoga1NpZ25PazsKKy0gIHJldHVybiBzdGQ6Om1ha2VfcGFpcihlcnJvciwgc3RkOjptb3ZlKGJ1ZmZlcikpOworKyAgcmV0dXJuIFNpZ25SZXN1bHQoZXJyb3IsIHN0ZDo6bW92ZShidWZmZXIpKTsKKyB9CisgCisgCitAQCAtMzYzOSwxOCArMzYzOCwxOCBAQCB2b2lkIFNpZ246OlNpZ25GaW5hbChjb25zdCBGdW5jdGlvbkNhbGxiYWNrSW5mbzxWYWx1ZT4mIGFyZ3MpIHsKKyAKKyAgIENsZWFyRXJyb3JPblJldHVybiBjbGVhcl9lcnJvcl9vbl9yZXR1cm47CisgCistICBzdGQ6OnBhaXI8RXJyb3IsIE1hbGxvY2VkQnVmZmVyPHVuc2lnbmVkIGNoYXI+PiByZXQgPSBzaWduLT5TaWduRmluYWwoCisrICBTaWduUmVzdWx0IHJldCA9IHNpZ24tPlNpZ25GaW5hbCgKKyAgICAgICBidWYsCisgICAgICAgYnVmX2xlbiwKKyAgICAgICBsZW4gPj0gMiAmJiAhYXJnc1sxXS0+SXNOdWxsKCkgPyAqcGFzc3BocmFzZSA6IG51bGxwdHIsCisgICAgICAgcGFkZGluZywKKyAgICAgICBzYWx0X2xlbik7CisgCistICBpZiAoc3RkOjpnZXQ8RXJyb3I+KHJldCkgIT0ga1NpZ25PaykKKy0gICAgcmV0dXJuIHNpZ24tPkNoZWNrVGhyb3coc3RkOjpnZXQ8RXJyb3I+KHJldCkpOworKyAgaWYgKHJldC5lcnJvciAhPSBrU2lnbk9rKQorKyAgICByZXR1cm4gc2lnbi0+Q2hlY2tUaHJvdyhyZXQuZXJyb3IpOworIAorICAgTWFsbG9jZWRCdWZmZXI8dW5zaWduZWQgY2hhcj4gc2lnID0KKy0gICAgICBzdGQ6Om1vdmUoc3RkOjpnZXQ8TWFsbG9jZWRCdWZmZXI8dW5zaWduZWQgY2hhcj4+KHJldCkpOworKyAgICAgIHN0ZDo6bW92ZShyZXQuc2lnbmF0dXJlKTsKKyAKKyAgIExvY2FsPE9iamVjdD4gcmMgPQorICAgICAgIEJ1ZmZlcjo6TmV3KGVudiwgcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oc2lnLnJlbGVhc2UoKSksIHNpZy5zaXplKQorZGlmZiAtLWdpdCBhL3NyYy9ub2RlX2NyeXB0by5oIGIvc3JjL25vZGVfY3J5cHRvLmgKK2luZGV4IDZmY2Y3MzdmNmM0My4uMGMyNmMxZjZmZjFkIDEwMDY0NAorLS0tIGEvc3JjL25vZGVfY3J5cHRvLmgKKysrKyBiL3NyYy9ub2RlX2NyeXB0by5oCitAQCAtNTE4LDcgKzUxOCwxNyBAQCBjbGFzcyBTaWduIDogcHVibGljIFNpZ25CYXNlIHsKKyAgcHVibGljOgorICAgc3RhdGljIHZvaWQgSW5pdGlhbGl6ZShFbnZpcm9ubWVudCogZW52LCB2ODo6TG9jYWw8djg6Ok9iamVjdD4gdGFyZ2V0KTsKKyAKKy0gIHN0ZDo6cGFpcjxFcnJvciwgTWFsbG9jZWRCdWZmZXI8dW5zaWduZWQgY2hhcj4+IFNpZ25GaW5hbCgKKysgIHN0cnVjdCBTaWduUmVzdWx0IHsKKysgICAgRXJyb3IgZXJyb3I7CisrICAgIE1hbGxvY2VkQnVmZmVyPHVuc2lnbmVkIGNoYXI+IHNpZ25hdHVyZTsKKysKKysgICAgZXhwbGljaXQgU2lnblJlc3VsdCgKKysgICAgICAgIEVycm9yIGVyciwKKysgICAgICAgIE1hbGxvY2VkQnVmZmVyPHVuc2lnbmVkIGNoYXI+JiYgc2lnID0gTWFsbG9jZWRCdWZmZXI8dW5zaWduZWQgY2hhcj4oKSkKKysgICAgICA6IGVycm9yKGVyciksIHNpZ25hdHVyZShzdGQ6Om1vdmUoc2lnKSkge30KKysgIH07CisrCisrICBTaWduUmVzdWx0IFNpZ25GaW5hbCgKKyAgICAgICBjb25zdCBjaGFyKiBrZXlfcGVtLAorICAgICAgIGludCBrZXlfcGVtX2xlbiwKKyAgICAgICBjb25zdCBjaGFyKiBwYXNzcGhyYXNlLApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwNC1NYWtlLWNvbXBhdGliaWxpdHktd2l0aC1nY2MtNC44LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwNC1NYWtlLWNvbXBhdGliaWxpdHktd2l0aC1nY2MtNC44LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyNWMwODUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDA0LU1ha2UtY29tcGF0aWJpbGl0eS13aXRoLWdjYy00LjgucGF0Y2gKQEAgLTAsMCArMSw2OSBAQAorSW1wbGVtZW50IGZ1bmN0aW9uIGFzIHdyYXBwZXIgZm9yIHN0ZDo6bWFrZV91bmlxdWUKK21ldGhvZCB0byBiZSBjb21wYXRpYmxlIHdpdGggZ2NjIDwgNC45IC4KKyJlcnJvcjo6bWFrZV91bmlxdWUgaXMgbm90IGEgbWVtYmVyIG9mICdzdGQnIgorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWogVmFsZWsgPGFuZHJlai52YWxla0BzaWVtZW5zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEJyYWQgQmlzaG9wIDxicmFkbGV5YkBmdXp6aWVzcXVpcnJlbC5jb20+CisKK2RpZmYgLU5hdXIgbm9kZS12MTAuMTUuMS9zcmMvY2FyZXNfd3JhcC5jYyBub2RlLXYxMC4xNS4xL3NyYy9jYXJlc193cmFwLmNjCistLS0gbm9kZS12MTAuMTUuMS9zcmMvY2FyZXNfd3JhcC5jYwkyMDE5LTAxLTI5IDA4OjIwOjUwLjAwMDAwMDAwMCArMDEwMAorKysrIG5vZGUtdjEwLjE1LjEvc3JjL2NhcmVzX3dyYXAuY2MJMjAxOS0wMi0yMSAxNjoyMjoyNS40ODkxMzE2NjUgKzAxMDAKK0BAIC01Miw2ICs1MiwxNiBAQAorICMgZGVmaW5lIEFJX1Y0TUFQUEVEIDAKKyAjZW5kaWYKKyAKKysjaWZuZGVmIF9fY3BwX2xpYl9tYWtlX3VuaXF1ZQorK25hbWVzcGFjZSBzdGQgeworKyAgLy8vIG1ha2VfdW5pcXVlIGltcGxlbWVudGF0aW9uCisrICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZS4uLiBBcmdzPgorKyAgc3RkOjp1bmlxdWVfcHRyPFQ+IG1ha2VfdW5pcXVlKEFyZ3MmJi4uLiBhcmdzKSB7CisrICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8VD4obmV3IFQoc3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7CisrICB9CisrfQorKyNlbmRpZgorKworIG5hbWVzcGFjZSBub2RlIHsKKyBuYW1lc3BhY2UgY2FyZXNfd3JhcCB7CisgCitkaWZmIC1OYXVyIG5vZGUtdjEwLjE1LjEvc3JjL2luc3BlY3Rvcl9hZ2VudC5jYyBub2RlLXYxMC4xNS4xL3NyYy9pbnNwZWN0b3JfYWdlbnQuY2MKKy0tLSBub2RlLXYxMC4xNS4xL3NyYy9pbnNwZWN0b3JfYWdlbnQuY2MJMjAxOS0wMS0yOSAwODoyMDo1MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBub2RlLXYxMC4xNS4xL3NyYy9pbnNwZWN0b3JfYWdlbnQuY2MJMjAxOS0wMi0yMSAxNjoyMjowOS4wMDAxODU5OTIgKzAxMDAKK0BAIC0yNCw2ICsyNCwxNiBAQAorICNpbmNsdWRlIDxwdGhyZWFkLmg+CisgI2VuZGlmICAvLyBfX1BPU0lYX18KKyAKKysjaWZuZGVmIF9fY3BwX2xpYl9tYWtlX3VuaXF1ZQorK25hbWVzcGFjZSBzdGQgeworKyAgLy8vIG1ha2VfdW5pcXVlIGltcGxlbWVudGF0aW9uCisrICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZS4uLiBBcmdzPgorKyAgc3RkOjp1bmlxdWVfcHRyPFQ+IG1ha2VfdW5pcXVlKEFyZ3MmJi4uLiBhcmdzKSB7CisrICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8VD4obmV3IFQoc3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7CisrICB9CisrfQorKyNlbmRpZgorKworIG5hbWVzcGFjZSBub2RlIHsKKyBuYW1lc3BhY2UgaW5zcGVjdG9yIHsKKyBuYW1lc3BhY2UgeworCitkaWZmIC0tZ2l0IGEvc3JjL2luc3BlY3Rvci9tYWluX3RocmVhZF9pbnRlcmZhY2UuY2MgYi9zcmMvaW5zcGVjdG9yL21haW5fdGhyZWFkX2ludGVyZmFjZS5jYworaW5kZXggZTM3NGMwZmQ3MC4uMDVkN2Q4YzYwZiAxMDA2NDQKKy0tLSBhL3NyYy9pbnNwZWN0b3IvbWFpbl90aHJlYWRfaW50ZXJmYWNlLmNjCisrKysgYi9zcmMvaW5zcGVjdG9yL21haW5fdGhyZWFkX2ludGVyZmFjZS5jYworQEAgLTYsNiArNiwxNiBAQAorICNpbmNsdWRlIDxmdW5jdGlvbmFsPgorICNpbmNsdWRlIDx1bmljb2RlL3VuaXN0ci5oPgorCisrI2lmbmRlZiBfX2NwcF9saWJfbWFrZV91bmlxdWUKKytuYW1lc3BhY2Ugc3RkIHsKKysgIC8vLyBtYWtlX3VuaXF1ZSBpbXBsZW1lbnRhdGlvbgorKyAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUuLi4gQXJncz4KKysgIHN0ZDo6dW5pcXVlX3B0cjxUPiBtYWtlX3VuaXF1ZShBcmdzJiYuLi4gYXJncykgeworKyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPFQ+KG5ldyBUKHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLikpOworKyAgfQorK30KKysjZW5kaWYKKysKKyBuYW1lc3BhY2Ugbm9kZSB7CisgbmFtZXNwYWNlIGluc3BlY3RvciB7CisgbmFtZXNwYWNlIHsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDUtTGluay1hdG9taWMtbGlicmFyeS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDUtTGluay1hdG9taWMtbGlicmFyeS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmZmMThiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwNS1MaW5rLWF0b21pYy1saWJyYXJ5LnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK0xpbmsgYXRvbWljIGxpYnJhcnkgdG8gZml4IG1pc3NpbmcgdW5kZWZpbmVkIHJlZmVycmVuY2VzCitsaWtlICJ1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX2F0b21pY19mZXRjaF9hZGRfOCciCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlaiBWYWxlayA8YW5kcmVqLnZhbGVrQHNpZW1lbnMuY29tPgorCitkaWZmIC1OYXVyIG5vZGUtdjEwLjE1LjEvZGVwcy92OC9neXBmaWxlcy92OC5neXAgbm9kZS12MTAuMTUuMS9kZXBzL3Y4L2d5cGZpbGVzL3Y4Lmd5cAorLS0tIG5vZGUtdjEwLjE1LjEvZGVwcy92OC9neXBmaWxlcy92OC5neXAJMjAxOS0wMi0xMyAwOTowMjoyMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBub2RlLXYxMC4xNS4xL2RlcHMvdjgvZ3lwZmlsZXMvdjguZ3lwCTIwMTktMDItMTUgMjE6Mjc6MTEuNzU1Njc5NjYwICswMTAwCitAQCAtNDUyLDYgKzQ1MiwxMSBAQAorICAgICAgICAgJzwoREVQVEgpJywKKyAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKScKKyAgICAgICBdLAorKyAgICAgICdsaW5rX3NldHRpbmdzJzogeworKyAgICAgICAgJ2xpYnJhcmllcyc6IFsKKysgICAgICAgICAgJy1sYXRvbWljJworKyAgICAgICAgXSwKKysgICAgICB9LAorICAgICAgICdzb3VyY2VzJzogWworICAgICAgICAgJzxAKGluc3BlY3Rvcl9hbGxfc291cmNlcyknLAorICAgICAgICAgJy4uL2luY2x1ZGUvL3Y4LWluc3BlY3Rvci1wcm90b2NvbC5oJywKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDYtVXNlLXRhcmdldC1sZGZsYWdzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwNi1Vc2UtdGFyZ2V0LWxkZmxhZ3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY1NjljZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDYtVXNlLXRhcmdldC1sZGZsYWdzLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK1RoZSB0YXJnZXQgTERGTEFHUyBoYXZlIGJlZW4gaWdub3JlZC4gVG9vbHMgbGlrZSB0b3JxdWUKK2hhdmUgYmVlbiBsb2FkZWQgZnJvbSBzeXN0ZW0gbGlicmFyaWVzLCBldmVuIGlmIGEgbmF0aXZlCitvbmUgd2FzIHRoZSB0YXJnZXQuCit8JCBsZGQgdG9ycXVlIAorfCAgICBsaWJ6LnNvLjEgPT4gL2xpYi94ODZfNjQtbGludXgtZ251L2xpYnouc28uMQorfCAgICBsaWJjcnlwdG8uc28uMS4xID0+IC91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvbGliY3J5cHRvLnNvLjEuMQorfCAgICBsaWJzc2wuc28uMS4xID0+IC91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvbGlic3NsLnNvLjEuMQorfCAgICBsaWJpY3VpMThuLnNvLjYzID0+IG5vdCBmb3VuZAorfCAgICBsaWJpY3V1Yy5zby42MyA9PiBub3QgZm91bmQKKy4uLgorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWogVmFsZWsgPGFuZHJlai52YWxla0BzaWVtZW5zLmNvbT4KKworZGlmZiAtTmF1ciBub2RlLXYxMC4xNS4xL2RlcHMvdjgvZ3lwZmlsZXMvdG9vbGNoYWluLmd5cGkgbm9kZS12MTAuMTUuMS9kZXBzL3Y4L2d5cGZpbGVzL3Rvb2xjaGFpbi5neXBpCistLS0gbm9kZS12MTAuMTUuMS9kZXBzL3Y4L2d5cGZpbGVzL3Rvb2xjaGFpbi5neXBpCTIwMTktMDMtMTggMTU6MDE6MzkuMDAwMDAwMDAwICswMTAwCisrKysgbm9kZS12MTAuMTUuMS9kZXBzL3Y4L2d5cGZpbGVzL3Rvb2xjaGFpbi5neXBpCTIwMTktMDMtMTggMTU6MDQ6MDguNjI4MzYxMzA4ICswMTAwCitAQCAtMTEwNiw2ICsxMTA2LDcgQEAKKyAgICAgICAgICAgICAnY2ZsYWdzJzogWyAnLWZuby1zdHJpY3QtYWxpYXNpbmcnIF0sCisgICAgICAgICAgIH1dLAorICAgICAgICAgXSwgICMgY29uZGl0aW9ucworKyAgICAgICAgJ2xkZmxhZ3MrJzogWyAnJChMREZMQUdTKScgXSwKKyAgICAgICB9XSwKKyAgICAgICBbJ09TPT0ic29sYXJpcyInLCB7CisgICAgICAgICAnZGVmaW5lcyc6IFsgJ19fQzk5RkVBVFVSRVNfXz0xJyBdLCAgIyBpc2luZigpIGV0Yy4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzXzEwLjE1LjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqc18xMC4xNS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyZTc3ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqc18xMC4xNS4zLmJiCkBAIC0wLDAgKzEsMTA1IEBACitERVNDUklQVElPTiA9ICJub2RlSlMgRXZlbnRlZCBJL08gZm9yIFY4IEphdmFTY3JpcHQiCitIT01FUEFHRSA9ICJodHRwOi8vbm9kZWpzLm9yZyIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEICYgQXJ0aXN0aWMtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OWNlZWJhNzllYjJlYTEwNjdiN2IzZWQxNmZmZjhiYWIiCisKK0RFUEVORFMgPSAib3BlbnNzbCB6bGliIGljdSIKK0RFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgbm9kZWpzLW5hdGl2ZSIKKworaW5oZXJpdCBwa2djb25maWcKKworQ09NUEFUSUJMRV9NQUNISU5FX2FybXY0ID0gIighLiphcm12NCkuKiIKK0NPTVBBVElCTEVfTUFDSElORV9hcm12NSA9ICIoIS4qYXJtdjUpLioiCitDT01QQVRJQkxFX01BQ0hJTkVfbWlwczY0ID0gIighLiptaXBzNjQpLioiCisKK1NSQ19VUkkgPSAiaHR0cDovL25vZGVqcy5vcmcvZGlzdC92JHtQVn0vbm9kZS12JHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRGlzYWJsZS1ydW5uaW5nLWd5cC1maWxlcy1mb3ItYnVuZGxlZC1kZXBzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtQ3J5cHRvLXJlZHVjZS1tZW1vcnktdXNhZ2Utb2YtU2lnbkZpbmFsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtTWFrZS1jb21wYXRpYmlsaXR5LXdpdGgtZ2NjLTQuOC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LUxpbmstYXRvbWljLWxpYnJhcnkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1Vc2UtdGFyZ2V0LWxkZmxhZ3MucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItVXNpbmctbmF0aXZlLXRvcnF1ZS5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImQ3NjIxMGE2YWUxZWE3M2QxMDI1NDk0NzY4NDgzNmZiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRlMjJkOTI2ZjA1NDE1MDAwMjA1NTQ3NGU0NTJlZDZjYmI4NTg2MGFhN2RjNTQyMjIxM2EyMDAyZWQ5NzkxZDUiCisKK1MgPSAiJHtXT1JLRElSfS9ub2RlLXYke1BWfSIKKworIyB2OCBlcnJvcnMgb3V0IGlmIHlvdSBoYXZlIHNldCBDQ0FDSEUKK0NDQUNIRSA9ICIiCisKK2RlZiBtYXBfbm9kZWpzX2FyY2goYSwgZCk6CisgICAgaW1wb3J0IHJlCisKKyAgICBpZiAgIHJlLm1hdGNoKCdpLjg2JCcsIGEpOiByZXR1cm4gJ2lhMzInCisgICAgZWxpZiByZS5tYXRjaCgneDg2XzY0JCcsIGEpOiByZXR1cm4gJ3g2NCcKKyAgICBlbGlmIHJlLm1hdGNoKCdhYXJjaDY0JCcsIGEpOiByZXR1cm4gJ2FybTY0JworICAgIGVsaWYgcmUubWF0Y2goJyhwb3dlcnBjNjR8cHBjNjRsZSkkJywgYSk6IHJldHVybiAncHBjNjQnCisgICAgZWxpZiByZS5tYXRjaCgncG93ZXJwYyQnLCBhKTogcmV0dXJuICdwcGMnCisgICAgcmV0dXJuIGEKKworQVJDSEZMQUdTX2FybSA9ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjYWxsY29udmVudGlvbi1oYXJkJywgJy0td2l0aC1hcm0tZmxvYXQtYWJpPWhhcmQnLCAnLS13aXRoLWFybS1mbG9hdC1hYmk9c29mdGZwJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbmVvbicsICctLXdpdGgtYXJtLWZwdT1uZW9uJywgXAorICAgICAgICAgICAgICAgICAgICBiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICd2ZnB2M2QxNicsICctLXdpdGgtYXJtLWZwdT12ZnB2My1kMTYnLCBcCisgICAgICAgICAgICAgICAgICAgIGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3ZmcHYzJywgJy0td2l0aC1hcm0tZnB1PXZmcHYzJywgXAorICAgICAgICAgICAgICAgICAgICAnLS13aXRoLWFybS1mcHU9dmZwJywgZCksIGQpLCBkKX0iCitHWVBfREVGSU5FU19hcHBlbmRfbWlwc2VsID0gIiBtaXBzX2FyY2hfdmFyaWFudD0ncjEnICIKK0FSQ0hGTEFHUyA/PSAiIgorCisjIE5vZGUgaXMgd2F5IHRvbyBjb29sIHRvIHVzZSBwcm9wZXIgYXV0b3Rvb2xzLCBzbyB3ZSBpbnN0YWxsIHR3byB3cmFwcGVycyB0byBmb3JjZWZ1bGx5IGluamVjdCBwcm9wZXIgYXJjaCBjZmxhZ3MgdG8gd29ya2Fyb3VuZCBneXBpCitkb19jb25maWd1cmUgKCkgeworICAgIHJtIC1yZiAke1N9L2RlcHMvb3BlbnNzbAorICAgIGV4cG9ydCBMRD0iJHtDWFh9IgorICAgIEdZUF9ERUZJTkVTPSIke0dZUF9ERUZJTkVTfSIgZXhwb3J0IEdZUF9ERUZJTkVTCisgICAgIyAkVEFSR0VUX0FSQ0ggc2V0dGluZ3MgZG9uJ3QgbWF0Y2ggLS1kZXN0LWNwdSBzZXR0aW5ncworICAgLi9jb25maWd1cmUgLS1wcmVmaXg9JHtwcmVmaXh9IC0td2l0aC1pbnRsPXN5c3RlbS1pY3UgLS13aXRob3V0LXNuYXBzaG90IC0tc2hhcmVkLW9wZW5zc2wgLS1zaGFyZWQtemxpYiBcCisgICAgICAgICAgICAgICAtLWRlc3QtY3B1PSIke0BtYXBfbm9kZWpzX2FyY2goZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJyksIGQpfSIgXAorICAgICAgICAgICAgICAgLS1kZXN0LW9zPWxpbnV4IFwKKyAgICAgICAgICAgICAgICR7QVJDSEZMQUdTfQorfQorCitkb19jb21waWxlICgpIHsKKyAgICBleHBvcnQgTEQ9IiR7Q1hYfSIKKyAgICBvZV9ydW5tYWtlIEJVSUxEVFlQRT1SZWxlYXNlCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgICMgdXNlIG5vZGUgZnJvbSBQQVRIIGluc3RlYWQgb2YgYWJzb2x1dGUgcGF0aCB0byBzeXNyb290CisgICAgIyBub2RlLXYwLjEwLjI1L3Rvb2xzL2luc3RhbGwucHkgaXMgdXNpbmc6CisgICAgIyBzaGViYW5nID0gb3MucGF0aC5qb2luKG5vZGVfcHJlZml4LCAnYmluL25vZGUnKQorICAgICMgdXBkYXRlX3NoZWJhbmcobGlua19wYXRoLCBzaGViYW5nKQorICAgICMgYW5kIG5vZGVfcHJlZml4IGNhbiBiZSB2ZXJ5IGxvbmcgcGF0aCB0byBiaW5kaXIgaW4gbmF0aXZlIHN5c3Jvb3QgYW5kCisgICAgIyB3aGVuIGl0IGV4Y2VlZHMgMTI4IGNoYXJhY3RlciBzaGViYW5nIGxpbWl0IGl0J3Mgc3RyaXBwZWQgdG8gaW5jb3JyZWN0IHBhdGgKKyAgICAjIGFuZCBucG0gZmFpbHMgdG8gZXhlY3V0ZSBsaWtlIGluIHRoaXMgY2FzZSB3aXRoIDEzMyBjaGFyYWN0ZXJzIHNob3cgaW4gbG9nLmRvX2luc3RhbGw6CisgICAgIyB1cGRhdGluZyBzaGViYW5nIG9mIC9ob21lL2plbmtpbnMvd29ya3NwYWNlL2J1aWxkLXdlYm9zLW5pZ2h0bHkvZGV2aWNlL3FlbXV4ODYvbGFiZWwvb3Blbi13ZWJvcy1idWlsZGVyL0JVSUxELXFlbXV4ODYvd29yay94ODZfNjQtbGludXgvbm9kZWpzLW5hdGl2ZS8wLjEwLjE1LXIwL2ltYWdlL2hvbWUvamVua2lucy93b3Jrc3BhY2UvYnVpbGQtd2Vib3MtbmlnaHRseS9kZXZpY2UvcWVtdXg4Ni9sYWJlbC9vcGVuLXdlYm9zLWJ1aWxkZXIvQlVJTEQtcWVtdXg4Ni9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2Jpbi9ucG0gdG8gL2hvbWUvamVua2lucy93b3Jrc3BhY2UvYnVpbGQtd2Vib3MtbmlnaHRseS9kZXZpY2UvcWVtdXg4Ni9sYWJlbC9vcGVuLXdlYm9zLWJ1aWxkZXIvQlVJTEQtcWVtdXg4Ni9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2Jpbi9ub2RlCisgICAgIyAvdXNyL2Jpbi9ucG0gaXMgc3ltbGluayB0byAvdXNyL2xpYi9ub2RlX21vZHVsZXMvbnBtL2Jpbi9ucG0tY2xpLmpzCisgICAgIyB1c2Ugc2VkIG9uIG5wbS1jbGkuanMgYmVjYXVzZSBvdGhlcndpc2Ugc3ltbGluayBpcyByZXBsYWNlZCB3aXRoIG5vcm1hbCBmaWxlIGFuZAorICAgICMgbnBtLWNsaS5qcyBjb250aW51ZXMgdG8gdXNlIG9sZCBzaGViYW5nCisgICAgc2VkICIxc14uKl4jXCEvdXNyL2Jpbi9lbnYgbm9kZV5nIiAtaSAke0R9JHtleGVjX3ByZWZpeH0vbGliL25vZGVfbW9kdWxlcy9ucG0vYmluL25wbS1jbGkuanMKKworICAgICMgSW5zdGFsbCB0aGUgbmF0aXZlIHRvcnF1ZSB0byBwcm92aWRlIGl0IHdpdGhpbiBzeXNyb290IGZvciB0aGUgdGFyZ2V0IGNvbXBpbGF0aW9uCisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vb3V0L1JlbGVhc2UvdG9ycXVlICR7RH0ke2JpbmRpcn0vdG9ycXVlCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICBzZWQgIjFzXi4qXiNcISR7YmluZGlyfS9lbnYgbm9kZV5nIiAtaSAke0R9JHtleGVjX3ByZWZpeH0vbGliL25vZGVfbW9kdWxlcy9ucG0vYmluL25wbS1jbGkuanMKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LW5wbSIKK0ZJTEVTXyR7UE59LW5wbSA9ICIke2V4ZWNfcHJlZml4fS9saWIvbm9kZV9tb2R1bGVzICR7YmluZGlyfS9ucG0gJHtiaW5kaXJ9L25weCIKK1JERVBFTkRTXyR7UE59LW5wbSA9ICJiYXNoIHB5dGhvbi1zaGVsbCBweXRob24tZGF0ZXRpbWUgcHl0aG9uLXN1YnByb2Nlc3MgcHl0aG9uLXRleHR1dGlscyBcCisgICAgcHl0aG9uLWNvbXBpbGVyIHB5dGhvbi1taXNjIHB5dGhvbi1tdWx0aXByb2Nlc3NpbmciCisKK1BBQ0tBR0VTID0rICIke1BOfS1zeXN0ZW10YXAiCitGSUxFU18ke1BOfS1zeXN0ZW10YXAgPSAiJHtkYXRhZGlyfS9zeXN0ZW10YXAiCisKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqc184LjEyLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqc184LjEyLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjMzM5NzguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanNfOC4xMi4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsOTIgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAibm9kZUpTIEV2ZW50ZWQgSS9PIGZvciBWOCBKYXZhU2NyaXB0IgotSE9NRVBBR0UgPSAiaHR0cDovL25vZGVqcy5vcmciCi1MSUNFTlNFID0gIk1JVCAmIEJTRCAmIEFydGlzdGljLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWZkZTkxZDVjNWJiZDFlMDM4OTYyM2UxYWMwMThkOWU4IgotCi1ERVBFTkRTID0gIm9wZW5zc2wgemxpYiBpY3UiCi0KLWluaGVyaXQgcGtnY29uZmlnCi0KLUNPTVBBVElCTEVfTUFDSElORV9hcm12NCA9ICIoIS4qYXJtdjQpLioiCi1DT01QQVRJQkxFX01BQ0hJTkVfYXJtdjUgPSAiKCEuKmFybXY1KS4qIgotQ09NUEFUSUJMRV9NQUNISU5FX21pcHM2NCA9ICIoIS4qbWlwczY0KS4qIgotCi1TUkNfVVJJID0gImh0dHA6Ly9ub2RlanMub3JnL2Rpc3QvdiR7UFZ9L25vZGUtdiR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURpc2FibGUtcnVubmluZy1neXAtZmlsZXMtZm9yLWJ1bmRsZWQtZGVwcy5wYXRjaCBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiOGIzYWJkMDMzZGFlOTZiNmZhZGNiNmE4NzJhNDRkM2MiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWE5ZGZmNTgwMTZjMThmYjRiZjkwMmQ5NjNiMTI0ZmYwNThhNTUwZWJjZDk4NDBjNjc3NzU3Mzg3YmNlNDE5YSIKLQotUyA9ICIke1dPUktESVJ9L25vZGUtdiR7UFZ9IgotCi0jIHY4IGVycm9ycyBvdXQgaWYgeW91IGhhdmUgc2V0IENDQUNIRQotQ0NBQ0hFID0gIiIKLQotZGVmIG1hcF9ub2RlanNfYXJjaChhLCBkKToKLSAgICBpbXBvcnQgcmUKLQotICAgIGlmICAgcmUubWF0Y2goJ2kuODYkJywgYSk6IHJldHVybiAnaWEzMicKLSAgICBlbGlmIHJlLm1hdGNoKCd4ODZfNjQkJywgYSk6IHJldHVybiAneDY0JwotICAgIGVsaWYgcmUubWF0Y2goJ2FhcmNoNjQkJywgYSk6IHJldHVybiAnYXJtNjQnCi0gICAgZWxpZiByZS5tYXRjaCgnKHBvd2VycGM2NHxwcGM2NGxlKSQnLCBhKTogcmV0dXJuICdwcGM2NCcKLSAgICBlbGlmIHJlLm1hdGNoKCdwb3dlcnBjJCcsIGEpOiByZXR1cm4gJ3BwYycKLSAgICByZXR1cm4gYQotCi1BUkNIRkxBR1NfYXJtID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NhbGxjb252ZW50aW9uLWhhcmQnLCAnLS13aXRoLWFybS1mbG9hdC1hYmk9aGFyZCcsICctLXdpdGgtYXJtLWZsb2F0LWFiaT1zb2Z0ZnAnLCBkKX0gXAotICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICduZW9uJywgJy0td2l0aC1hcm0tZnB1PW5lb24nLCBcCi0gICAgICAgICAgICAgICAgICAgIGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3ZmcHYzZDE2JywgJy0td2l0aC1hcm0tZnB1PXZmcHYzLWQxNicsIFwKLSAgICAgICAgICAgICAgICAgICAgYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAndmZwdjMnLCAnLS13aXRoLWFybS1mcHU9dmZwdjMnLCBcCi0gICAgICAgICAgICAgICAgICAgICctLXdpdGgtYXJtLWZwdT12ZnAnLCBkKSwgZCksIGQpfSIKLUdZUF9ERUZJTkVTX2FwcGVuZF9taXBzZWwgPSAiIG1pcHNfYXJjaF92YXJpYW50PSdyMScgIgotQVJDSEZMQUdTID89ICIiCi0KLSMgTm9kZSBpcyB3YXkgdG9vIGNvb2wgdG8gdXNlIHByb3BlciBhdXRvdG9vbHMsIHNvIHdlIGluc3RhbGwgdHdvIHdyYXBwZXJzIHRvIGZvcmNlZnVsbHkgaW5qZWN0IHByb3BlciBhcmNoIGNmbGFncyB0byB3b3JrYXJvdW5kIGd5cGkKLWRvX2NvbmZpZ3VyZSAoKSB7Ci0gICAgcm0gLXJmICR7U30vZGVwcy9vcGVuc3NsCi0gICAgZXhwb3J0IExEPSIke0NYWH0iCi0gICAgR1lQX0RFRklORVM9IiR7R1lQX0RFRklORVN9IiBleHBvcnQgR1lQX0RFRklORVMKLSAgICAjICRUQVJHRVRfQVJDSCBzZXR0aW5ncyBkb24ndCBtYXRjaCAtLWRlc3QtY3B1IHNldHRpbmdzCi0gICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0gLS13aXRoLWludGw9c3lzdGVtLWljdSAtLXdpdGhvdXQtc25hcHNob3QgLS1zaGFyZWQtb3BlbnNzbCAtLXNoYXJlZC16bGliIFwKLSAgICAgICAgICAgICAgIC0tZGVzdC1jcHU9IiR7QG1hcF9ub2RlanNfYXJjaChkLmdldFZhcignVEFSR0VUX0FSQ0gnKSwgZCl9IiBcCi0gICAgICAgICAgICAgICAtLWRlc3Qtb3M9bGludXggXAotICAgICAgICAgICAgICAgJHtBUkNIRkxBR1N9Ci19Ci0KLWRvX2NvbXBpbGUgKCkgewotICAgIGV4cG9ydCBMRD0iJHtDWFh9IgotICAgIG9lX3J1bm1ha2UgQlVJTERUWVBFPVJlbGVhc2UKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQotfQotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7Ci0gICAgIyB1c2Ugbm9kZSBmcm9tIFBBVEggaW5zdGVhZCBvZiBhYnNvbHV0ZSBwYXRoIHRvIHN5c3Jvb3QKLSAgICAjIG5vZGUtdjAuMTAuMjUvdG9vbHMvaW5zdGFsbC5weSBpcyB1c2luZzoKLSAgICAjIHNoZWJhbmcgPSBvcy5wYXRoLmpvaW4obm9kZV9wcmVmaXgsICdiaW4vbm9kZScpCi0gICAgIyB1cGRhdGVfc2hlYmFuZyhsaW5rX3BhdGgsIHNoZWJhbmcpCi0gICAgIyBhbmQgbm9kZV9wcmVmaXggY2FuIGJlIHZlcnkgbG9uZyBwYXRoIHRvIGJpbmRpciBpbiBuYXRpdmUgc3lzcm9vdCBhbmQKLSAgICAjIHdoZW4gaXQgZXhjZWVkcyAxMjggY2hhcmFjdGVyIHNoZWJhbmcgbGltaXQgaXQncyBzdHJpcHBlZCB0byBpbmNvcnJlY3QgcGF0aAotICAgICMgYW5kIG5wbSBmYWlscyB0byBleGVjdXRlIGxpa2UgaW4gdGhpcyBjYXNlIHdpdGggMTMzIGNoYXJhY3RlcnMgc2hvdyBpbiBsb2cuZG9faW5zdGFsbDoKLSAgICAjIHVwZGF0aW5nIHNoZWJhbmcgb2YgL2hvbWUvamVua2lucy93b3Jrc3BhY2UvYnVpbGQtd2Vib3MtbmlnaHRseS9kZXZpY2UvcWVtdXg4Ni9sYWJlbC9vcGVuLXdlYm9zLWJ1aWxkZXIvQlVJTEQtcWVtdXg4Ni93b3JrL3g4Nl82NC1saW51eC9ub2RlanMtbmF0aXZlLzAuMTAuMTUtcjAvaW1hZ2UvaG9tZS9qZW5raW5zL3dvcmtzcGFjZS9idWlsZC13ZWJvcy1uaWdodGx5L2RldmljZS9xZW11eDg2L2xhYmVsL29wZW4td2Vib3MtYnVpbGRlci9CVUlMRC1xZW11eDg2L3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluL25wbSB0byAvaG9tZS9qZW5raW5zL3dvcmtzcGFjZS9idWlsZC13ZWJvcy1uaWdodGx5L2RldmljZS9xZW11eDg2L2xhYmVsL29wZW4td2Vib3MtYnVpbGRlci9CVUlMRC1xZW11eDg2L3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluL25vZGUKLSAgICAjIC91c3IvYmluL25wbSBpcyBzeW1saW5rIHRvIC91c3IvbGliL25vZGVfbW9kdWxlcy9ucG0vYmluL25wbS1jbGkuanMKLSAgICAjIHVzZSBzZWQgb24gbnBtLWNsaS5qcyBiZWNhdXNlIG90aGVyd2lzZSBzeW1saW5rIGlzIHJlcGxhY2VkIHdpdGggbm9ybWFsIGZpbGUgYW5kCi0gICAgIyBucG0tY2xpLmpzIGNvbnRpbnVlcyB0byB1c2Ugb2xkIHNoZWJhbmcKLSAgICBzZWQgIjFzXi4qXiNcIS91c3IvYmluL2VudiBub2RlXmciIC1pICR7RH0ke2V4ZWNfcHJlZml4fS9saWIvbm9kZV9tb2R1bGVzL25wbS9iaW4vbnBtLWNsaS5qcwotfQotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7Ci0gICAgc2VkICIxc14uKl4jXCEke2JpbmRpcn0vZW52IG5vZGVeZyIgLWkgJHtEfSR7ZXhlY19wcmVmaXh9L2xpYi9ub2RlX21vZHVsZXMvbnBtL2Jpbi9ucG0tY2xpLmpzCi19Ci0KLVBBQ0tBR0VTID0rICIke1BOfS1ucG0iCi1GSUxFU18ke1BOfS1ucG0gPSAiJHtleGVjX3ByZWZpeH0vbGliL25vZGVfbW9kdWxlcyAke2JpbmRpcn0vbnBtICR7YmluZGlyfS9ucHgiCi1SREVQRU5EU18ke1BOfS1ucG0gPSAiYmFzaCBweXRob24tc2hlbGwgcHl0aG9uLWRhdGV0aW1lIHB5dGhvbi1zdWJwcm9jZXNzIHB5dGhvbi10ZXh0dXRpbHMgXAotICAgIHB5dGhvbi1jb21waWxlciBweXRob24tbWlzYyBweXRob24tbXVsdGlwcm9jZXNzaW5nIgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tc3lzdGVtdGFwIgotRklMRVNfJHtQTn0tc3lzdGVtdGFwID0gIiR7ZGF0YWRpcn0vc3lzdGVtdGFwIgotCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL29jdGF2ZS9maWxlcy9maXgtYmxhcy1saWJyYXJ5LWludGVnZXItc2l6ZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9vY3RhdmUvZmlsZXMvZml4LWJsYXMtbGlicmFyeS1pbnRlZ2VyLXNpemUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTg5ZDdkMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9vY3RhdmUvZmlsZXMvZml4LWJsYXMtbGlicmFyeS1pbnRlZ2VyLXNpemUucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorZGlmZiAtTmF1ciBvY3RhdmUtNC40LjEub3JpZy9jb25maWd1cmUuYWMgb2N0YXZlLTQuNC4xL2NvbmZpZ3VyZS5hYworLS0tIG9jdGF2ZS00LjQuMS5vcmlnL2NvbmZpZ3VyZS5hYwkyMDE5LTAyLTIzIDEwOjQ2OjI0LjI4NzI0MDU3MSArMDAwMAorKysrIG9jdGF2ZS00LjQuMS9jb25maWd1cmUuYWMJMjAxOS0wMi0yMyAxMDo0Njo0Mi4yNTUyNDkzMzMgKzAwMDAKK0BAIC03NjIsNiArNzYyLDEyIEBACisgICBBQ19NU0dfRVJST1IoW0JMQVMgYW5kIExBUEFDSyBsaWJyYXJpZXMgYXJlIHJlcXVpcmVkXSkKKyBmaQorIAorK2lmIGFjX2ZuX2Y3N190cnlfcnVuICIkTElORU5PIjsgdGhlbiA6CisrICBheF9ibGFzX2ludGVnZXJfc2l6ZT04CisrZWxzZQorKyAgYXhfYmxhc19pbnRlZ2VyX3NpemU9NAorK2ZpCisrCisgY2FzZSAkYXhfYmxhc19pbnRlZ2VyX3NpemUgaW4KKyAgIDQpCisgICAgIEhBVkVfNjRfQklUX0JMQVM9bm8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9vY3RhdmUvb2N0YXZlXzQuNC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL29jdGF2ZS9vY3RhdmVfNC40LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWVjMzJjZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9vY3RhdmUvb2N0YXZlXzQuNC4xLmJiCkBAIC0wLDAgKzEsNDAgQEAKK0RFU0NSSVBUSU9OID0gIkhpZ2gtbGV2ZWwgbGFuZ3VhZ2UsIHByaW1hcmlseSBpbnRlbmRlZCBmb3IgbnVtZXJpY2FsIGNvbXB1dGF0aW9ucyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9vY3RhdmUvIgorU0VDVElPTiA9ICJtYXRoIgorCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWViYmQzZTM0MjM3YWYyNmRhNWRjMDhhNGU0NDA0NjQiCisKK0RFUEVORFMgPSAiZ3BlcmYtbmF0aXZlIHRleGluZm8gbGFwYWNrIHBjcmUgcmVhZGxpbmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyB0ZXhpbmZvIGdldHRleHQKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1qYXZhIC0tZGlzYWJsZS1kb2NzIgorCitTUkNfVVJJID0gImh0dHBzOi8vZnRwLmdudS5vcmcvZ251L29jdGF2ZS8ke1BOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZml4LWJsYXMtbGlicmFyeS1pbnRlZ2VyLXNpemUucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjQzYmQ1ZjQzMDlhMGMwNDhjOTFhZjEwY2Y4ZTg2NzQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDlmYmQwZjIxMmY0ZWYyMWU1M2YxZDljNDFjZjMwY2UzZDdmOTQ1MGZiNDQ5MTE2MDFlMjFlZDY0YzY3YWU5NyIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworCWZvciBmb2xkZXIgaW4gImxpYm9jdGF2ZS9vcGVyYXRvcnMgbGlib2N0YXZlL251bWVyaWMgbGlib2N0YXZlL2FycmF5IGxpYm9jdGF2ZS91dGlsIjsgZG8KKwkJbWtkaXIgLXAgJHtCfS8ke2ZvbGRlcn0KKwlkb25lCit9CisKK1BBQ0tBR0VTID0rICIgb2N0YXZlLWNvbW1vbiBsaWJvY3RhdmUgbGlib2N0YXZlLWRldiBsaWJvY3RhdmUtZGJnIgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vKiAke3NiaW5kaXJ9LyogJHtsaWJleGVjZGlyfS8qICR7ZGF0YWRpcn0vJHtQTn0gXAorICAgICAgICAgICAgJHtsaWJkaXJ9LyR7UE59LyR7UFZ9L29jdCAke2xpYmRpcn0vJHtQTn0vJHtQVn0vc2l0ZSAgXAorICAgICAgICAgICAgJHtsaWJkaXJ9LyR7UE59L3NpdGUgJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMgJHtkYXRhZGlyfS9tZXRhaW5mbyIKK0ZJTEVTXyR7UE59LWNvbW1vbiA9ICIke2RhdGFkaXJ9L2ljb25zIgorCitGSUxFU19saWJvY3RhdmUgPSAiJHtsaWJkaXJ9LyR7UE59LyR7UFZ9L2xpYioke1NPTElCU30iCitGSUxFU19saWJvY3RhdmUtZGV2ID0gIiR7bGliZGlyfS8ke1BOfS8ke1BWfS9saWIqJHtTT0xJQlNERVZ9IgorRklMRVNfbGlib2N0YXZlLWRiZyA9ICIke2xpYmRpcn0vJHtQTn0vJHtQVn0vLmRlYnVnIgorCitGSUxFU18ke1BOfS1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1ZyAke2xpYmRpcn0vJHtQTn0vJHtQVn0vb2N0LyR7VEFSR0VUX1NZU30vLmRlYnVnIgorCitFWENMVURFX0ZST01fV09STEQgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9vcGVub2NkL29wZW5vY2RfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL29wZW5vY2Qvb3Blbm9jZF9naXQuYmIKaW5kZXggMjFhODZkZS4uNDM3N2U4OCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL29wZW5vY2Qvb3Blbm9jZF9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL29wZW5vY2Qvb3Blbm9jZF9naXQuYmIKQEAgLTI5LDYgKzI5LDggQEAKIAogZG9fY29uZmlndXJlKCkgewogICAgIC4vYm9vdHN0cmFwIG5vc3VibW9kdWxlCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ251LWNvbmZpZy9jb25maWcuZ3Vlc3MgJHtTfS9qaW10Y2wvYXV0b3NldHVwCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ251LWNvbmZpZy9jb25maWcuc3ViICR7U30vamltdGNsL2F1dG9zZXR1cAogICAgIG9lX3J1bmNvbmYgJHtFWFRSQV9PRUNPTkZ9CiB9CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiZC1teXNxbC1wZXJsLzAwMDEtVXNlLUFQSS1mdW5jdGlvbi1mb3ItcmVjb25uZWN0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliZGJkLW15c3FsLXBlcmwvMDAwMS1Vc2UtQVBJLWZ1bmN0aW9uLWZvci1yZWNvbm5lY3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjBkODhjMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiZC1teXNxbC1wZXJsLzAwMDEtVXNlLUFQSS1mdW5jdGlvbi1mb3ItcmVjb25uZWN0LnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKK0Zyb20gZWRiNmIyMDJiN2UyMzM4NjRhYTVkZDg0NTMyNjQ2YzUwMDk3YjBiOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDQgTWFyIDIwMTkgMDA6NDk6MTcgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIEFQSSBmdW5jdGlvbiBmb3IgcmVjb25uZWN0CisKK0ZvciBjb25maWd1cmluZyByZWNvbm5lY3QgZnVuY3Rpb25hbGl0eSB1c2Ugc3RhbmRhcmQgQVBJIGZ1bmN0aW9uCitNWVNRTF9PUFRfUkVDT05ORUNUIGluc3RlYWQgb2YgZGlyZWN0IG1vZGlmaWNhdGlvbiBvZiBpbnRlcm5hbCBzdHJ1Y3R1cmVzCit3aGljaCBkb2VzIG5vdCB3b3JrIGZvciBNYXJpYURCLiBGaXhlcyBjb21waWxhdGlvbiB3aXRoIE1hcmlhREIgMTAuMi42Ky4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL3Blcmw1LWRiaS9EQkQtbXlzcWwvY29tbWl0LzBiMTg4NGY0MTUzZDNkZTBhOTFiYWU0ZDNiM2NjMTc3MWZmZGY0ZjNdCisKK1NpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CistLS0KKyBkYmRpbXAuYyB8IDE2ICsrKysrKysrKystLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RiZGltcC5jIGIvZGJkaW1wLmMKK2luZGV4IDliOGIzMTMuLjNiZWQyMTMgMTAwNjQ0CistLS0gYS9kYmRpbXAuYworKysrIGIvZGJkaW1wLmMKK0BAIC0xOTc5LDYgKzE5NzksMTYgQEAgTVlTUUwgKm15c3FsX2RyX2Nvbm5lY3QoCisgCisgICAgIGlmIChyZXN1bHQpCisgICAgIHsKKysgICAgICAvKgorKyAgICAgICAgd2UgdHVybiBvZmYgTXlzcWwncyBhdXRvIHJlY29ubmVjdCBhbmQgaGFuZGxlIHJlLWNvbm5lY3Rpbmcgb3Vyc2VsdmVzCisrICAgICAgICBzbyB0aGF0IHdlIGNhbiBrZWVwIHRyYWNrIG9mIHdoZW4gdGhpcyBoYXBwZW5zLgorKyAgICAgICovCisrI2lmIE1ZU1FMX1ZFUlNJT05fSUQgPj0gNTAwMTMKKysgICAgICBteV9ib29sIHJlY29ubmVjdCA9IEZBTFNFOworKyAgICAgIG15c3FsX29wdGlvbnMocmVzdWx0LCBNWVNRTF9PUFRfUkVDT05ORUNULCAmcmVjb25uZWN0KTsKKysjZWxzZQorKyAgICAgIHJlc3VsdC0+cmVjb25uZWN0ID0gMDsKKysjZW5kaWYKKyAjaWYgTVlTUUxfVkVSU0lPTl9JRCA+PVNFUlZFUl9QUkVQQVJFX1ZFUlNJT04KKyAgICAgICAvKiBjb25uZWN0aW9uIHN1Y2NlZWRlZC4gKi8KKyAgICAgICAvKiBpbXBfZGJoID09IE5VTEwgd2hlbiBteXNxbF9kcl9jb25uZWN0KCkgaXMgY2FsbGVkIGZyb20gbXlzcWwueHMKK0BAIC0xOTkyLDEyICsyMDAyLDYgQEAgTVlTUUwgKm15c3FsX2RyX2Nvbm5lY3QoCisgICAgICAgICAgIGltcF9kYmgtPmFzeW5jX3F1ZXJ5X2luX2ZsaWdodCA9IE5VTEw7CisgICAgICAgfQorICNlbmRpZgorLQorLSAgICAgIC8qCistICAgICAgICB3ZSB0dXJuIG9mZiBNeXNxbCdzIGF1dG8gcmVjb25uZWN0IGFuZCBoYW5kbGUgcmUtY29ubmVjdGluZyBvdXJzZWx2ZXMKKy0gICAgICAgIHNvIHRoYXQgd2UgY2FuIGtlZXAgdHJhY2sgb2Ygd2hlbiB0aGlzIGhhcHBlbnMuCistICAgICAgKi8KKy0gICAgICByZXN1bHQtPnJlY29ubmVjdD0wOworICAgICB9CisgICAgIGVsc2UgeworICAgICAgIC8qIAorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliZGJkLW15c3FsLXBlcmxfNC4wNDMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJkYmQtbXlzcWwtcGVybF80LjA0My5iYgppbmRleCBiZDhiYTc4Li5lMTg1ZjQ4IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJkYmQtbXlzcWwtcGVybF80LjA0My5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJkYmQtbXlzcWwtcGVybF80LjA0My5iYgpAQCAtMTUsNiArMTUsNyBAQAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDBhMDY5NjQzNDBlNWMwY2RlODhiN2FmNjExZjc1NWMiCiAKIFNSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvTS9NSS9NSUNISUVMQi9EQkQtbXlzcWwtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLUFQSS1mdW5jdGlvbi1mb3ItcmVjb25uZWN0LnBhdGNoIFwKICIKIAogU1JDX1VSSVttZDVzdW1dID0gIjRhMDBkZDdmMWMwNTc5MzExNDdjNjVkZmM0OTAxYzM2IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliZGJpLXBlcmxfMS42NDEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJkYmktcGVybF8xLjY0MS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjRhMTI0NS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJkYmktcGVybF8xLjY0MS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLVNVTU1BUlkgPSAiVGhlIFBlcmwgRGF0YWJhc2UgSW50ZXJmYWNlIgotREVTQ1JJUFRJT04gPSAiREJJIGlzIGEgZGF0YWJhc2UgYWNjZXNzIEFwcGxpY2F0aW9uIFByb2dyYW1taW5nIEludGVyZmFjZSBcCi0oQVBJKSBmb3IgdGhlIFBlcmwgTGFuZ3VhZ2UuIFRoZSBEQkkgQVBJIFNwZWNpZmljYXRpb24gZGVmaW5lcyBhIHNldCBcCi1vZiBmdW5jdGlvbnMsIHZhcmlhYmxlcyBhbmQgY29udmVudGlvbnMgdGhhdCBwcm92aWRlIGEgY29uc2lzdGVudCBcCi1kYXRhYmFzZSBpbnRlcmZhY2UgaW5kZXBlbmRlbnQgb2YgdGhlIGFjdHVhbCBkYXRhYmFzZSBiZWluZyB1c2VkLiBcCi0iCi1IT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvREJJLyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCi1SREVQRU5EU18ke1BOfSA9ICIgcGVybC1tb2R1bGUtY2FycCBcCi0gICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXhwb3J0ZXIgXAotICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5IFwKLSAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1keW5hbG9hZGVyIFwKLSIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MTA5ODJjNzE0OGUwYTAxMmMwZmQ4MDUzNDUyMmY1YzUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvVC9USS9USU1CL0RCSS0ke1BWfS50YXIuZ3oiCi1TUkNfVVJJW21kNXN1bV0gPSAiZTc3ZmQzN2ZjZjc3ZmM4OGZkZTAyOWMxYjc1ZGVkNTQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTUwOWU1MzJjZGQwZTNkOTFlZGE1NTA1NzhkZWFhYzI5ZTJmMDA4YTEyYjY0NTc2ZThjMjYxYmI5MmU4YzJjMSIKLQotUyA9ICIke1dPUktESVJ9L0RCSS0ke1BWfSIKLQotaW5oZXJpdCBjcGFuIHB0ZXN0LXBlcmwKLQotZG9faW5zdGFsbF9wcmVwZW5kKCkgewotCSMgdGVzdCByZXF1aXJlcyAiLVQiICh0YWludCkgY29tbWFuZCBsaW5lIG9wdGlvbgotCXJtIC1yZiAke0J9L3QvcG9kLWNvdmVyYWdlLnQKLQlybSAtcmYgJHtCfS90LzEzdGFpbnQudAotCSMgc291cmNlIG9mIHRlc3QgZmFpbHVyZSBub3Qgb2J2aW91cwotCXJtIC1yZiAke0J9L3QvODVnb2Zlci50Ci0JIyB1bmNsZWFyIHdoeSB0aGVyZSBhcmUgc2V2ZXJhbCBkdXBsaWNhdGVzIG9mIHRlc3RzIGluIHRhcmJhbGwKLQlybSAtcmYgJHtCfS90L3oqLnQKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJkYmktcGVybF8xLjY0Mi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiaS1wZXJsXzEuNjQyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjMDMxNjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJkYmktcGVybF8xLjY0Mi5iYgpAQCAtMCwwICsxLDM2IEBACitTVU1NQVJZID0gIlRoZSBQZXJsIERhdGFiYXNlIEludGVyZmFjZSIKK0RFU0NSSVBUSU9OID0gIkRCSSBpcyBhIGRhdGFiYXNlIGFjY2VzcyBBcHBsaWNhdGlvbiBQcm9ncmFtbWluZyBJbnRlcmZhY2UgXAorKEFQSSkgZm9yIHRoZSBQZXJsIExhbmd1YWdlLiBUaGUgREJJIEFQSSBTcGVjaWZpY2F0aW9uIGRlZmluZXMgYSBzZXQgXAorb2YgZnVuY3Rpb25zLCB2YXJpYWJsZXMgYW5kIGNvbnZlbnRpb25zIHRoYXQgcHJvdmlkZSBhIGNvbnNpc3RlbnQgXAorZGF0YWJhc2UgaW50ZXJmYWNlIGluZGVwZW5kZW50IG9mIHRoZSBhY3R1YWwgZGF0YWJhc2UgYmVpbmcgdXNlZC4gXAorIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9kaXN0L0RCSS8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorUkRFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLWNhcnAgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHBvcnRlci1oZWF2eSBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZHluYWxvYWRlciBcCisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTEwOTgyYzcxNDhlMGEwMTJjMGZkODA1MzQ1MjJmNWM1IgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1QvVEkvVElNQi9EQkktJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImYyYmExOGI1Y2VhMWM4Y2IzMjJhNjJiZTBhODQ3ZjNkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNmMjAyNTAyM2E1NjI4NmNlYmQxNWNiNDk1ZTM2Y2NkOWI0NTZjM2NjMjI5YmYyY2UxZjY5ZTllYmZjMjdmNWQiCisKK1MgPSAiJHtXT1JLRElSfS9EQkktJHtQVn0iCisKK2luaGVyaXQgY3BhbiBwdGVzdC1wZXJsCisKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKwkjIHRlc3QgcmVxdWlyZXMgIi1UIiAodGFpbnQpIGNvbW1hbmQgbGluZSBvcHRpb24KKwlybSAtcmYgJHtCfS90L3BvZC1jb3ZlcmFnZS50CisJcm0gLXJmICR7Qn0vdC8xM3RhaW50LnQKKwkjIHNvdXJjZSBvZiB0ZXN0IGZhaWx1cmUgbm90IG9idmlvdXMKKwlybSAtcmYgJHtCfS90Lzg1Z29mZXIudAorCSMgdW5jbGVhciB3aHkgdGhlcmUgYXJlIHNldmVyYWwgZHVwbGljYXRlcyBvZiB0ZXN0cyBpbiB0YXJiYWxsCisJcm0gLXJmICR7Qn0vdC96Ki50Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAuaW5jCmluZGV4IGJmZDBkZGYuLjZmODkzYWQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC5pbmMKQEAgLTgsNyArOCw3IEBACiBERVBFTkRTID0gInpsaWIgYnppcDIgbGlieG1sMiB2aXJ0dWFsL2xpYmljb252IHBocC1uYXRpdmUgbGVtb24tbmF0aXZlIgogREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiemxpYi1uYXRpdmUgbGlieG1sMi1uYXRpdmUiCiAKLVBIUF9NQUpPUl9WRVJTSU9OID0gIiR7QGQuZ2V0VmFyKCdQVicsIFRydWUpLnNwbGl0KCcuJylbMF19IgorUEhQX01BSk9SX1ZFUlNJT04gPSAiJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswXX0iCiAKIFNSQ19VUkkgPSAiaHR0cDovL3BocC5uZXQvZGlzdHJpYnV0aW9ucy9waHAtJHtQVn0udGFyLmJ6MiBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXBocC1kb24tdC11c2UtYnJva2VuLXdyYXBwZXItZm9yLW1rZGlyLnBhdGNoIFwKQEAgLTIwLDcgKzIwLDYgQEAKICAgICAgICAgICAgIGZpbGU6Ly9waHBfZXhlY19uYXRpdmUucGF0Y2ggXAogICAgICAgICAgICAgZmlsZTovL3BocC1mcG0uY29uZiBcCiAgICAgICAgICAgICBmaWxlOi8vcGhwLWZwbS1hcGFjaGUuY29uZiBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1hY2luY2x1ZGUubTQtZG9uLXQtdW5zZXQtY2FjaGUtdmFyaWFibGVzLnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly83MF9tb2RfcGhwJHtQSFBfTUFKT1JfVkVSU0lPTn0uY29uZiBcCiAgICAgICAgICAgICBmaWxlOi8vcGhwLWZwbS5zZXJ2aWNlIFwKICAgICAgICAgICAiCkBAIC00NiwxMCArNDUsOSBAQAogRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLW1ic3RyaW5nIFwKICAgICAgICAgICAgICAgICAtLWVuYWJsZS13ZGR4IFwKICAgICAgICAgICAgICAgICAtLWVuYWJsZS1mcG0gXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLXppcCBcCiAgICAgICAgICAgICAgICAgLS13aXRoLWxpYmRpcj0ke2Jhc2VsaWJ9IFwKICAgICAgICAgICAgICAgICAtLXdpdGgtZ2V0dGV4dD0ke1NUQUdJTkdfTElCRElSfS8uLiBcCi0gICAgICAgICAgICAgICAgLS13aXRoLXpsaWI9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAorICAgICAgICAgICAgICAgIC0td2l0aC1saWJ6aXA9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAogICAgICAgICAgICAgICAgIC0td2l0aC1pY29udj0ke1NUQUdJTkdfTElCRElSfS8uLiBcCiAgICAgICAgICAgICAgICAgLS13aXRoLWJ6Mj0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke2V4ZWNfcHJlZml4fSBcCiAgICAgICAgICAgICAgICAgLS13aXRoLWNvbmZpZy1maWxlLXBhdGg9JHtzeXNjb25mZGlyfS9waHAvYXBhY2hlMi1waHAke1BIUF9NQUpPUl9WRVJTSU9OfSBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLVVzZS1wa2ctY29uZmlnLWZvci1saWJ4bWwyLWRldGVjdGlvbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtVXNlLXBrZy1jb25maWctZm9yLWxpYnhtbDItZGV0ZWN0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjYzZkNGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLVVzZS1wa2ctY29uZmlnLWZvci1saWJ4bWwyLWRldGVjdGlvbi5wYXRjaApAQCAtMCwwICsxLDIzIEBACitVc2UgcGtnLWNvbmZpZyBmb3IgbGlieG1sMiBkZXRlY3Rpb24uCisKK3htbDItY29uZmlnIGRvZXMgbm90IHdvcmsuIFVzZSBwa2djb25maWcgdG8gc2V0IENQUEZMQUdTIGFuZCBMSUJTLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6ICBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgY29uZmlndXJlLmluIHwgMTUgKystLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCistLS0gYS9hY2luY2x1ZGUubTQKKysrKyBiL2FjaW5jbHVkZS5tNAorQEAgLTI0ODEsOCArMjQ4MSw4IEBAIEFDX0RFRlVOKFtQSFBfU0VUVVBfTElCWE1MXSwgWworICAgICBMSUJYTUxfVkVSU0lPTj1gZXhwciBbJF0xIFwqIDEwMDAwMDAgKyBbJF0yIFwqIDEwMDAgKyBbJF0zYAorICAgICBpZiB0ZXN0ICIkTElCWE1MX1ZFUlNJT04iIC1nZSAiMjAwNjAxMSI7IHRoZW4KKyAgICAgICBmb3VuZF9saWJ4bWw9eWVzCistICAgICAgTElCWE1MX0xJQlM9YCRYTUwyX0NPTkZJRyAtLWxpYnNgCistICAgICAgTElCWE1MX0lOQ1M9YCRYTUwyX0NPTkZJRyAtLWNmbGFnc2AKKysgICAgICBMSUJYTUxfTElCUz1gcGtnLWNvbmZpZyAtLWxpYnMgbGlieG1sLTIuMGAKKysgICAgICBMSUJYTUxfSU5DUz1gcGtnLWNvbmZpZyAtLWNmbGFncyBsaWJ4bWwtMi4wYAorICAgICBlbHNlCisgICAgICAgQUNfTVNHX0VSUk9SKFtsaWJ4bWwyIHZlcnNpb24gMi42LjExIG9yIGdyZWF0ZXIgcmVxdWlyZWQuXSkKKyAgICAgZmkKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtYWNpbmNsdWRlLm00LWRvbi10LXVuc2V0LWNhY2hlLXZhcmlhYmxlcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtYWNpbmNsdWRlLm00LWRvbi10LXVuc2V0LWNhY2hlLXZhcmlhYmxlcy5wYXRjaAppbmRleCBhMjUwY2FjLi41MWRiZTI2IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLWFjaW5jbHVkZS5tNC1kb24tdC11bnNldC1jYWNoZS12YXJpYWJsZXMucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1hY2luY2x1ZGUubTQtZG9uLXQtdW5zZXQtY2FjaGUtdmFyaWFibGVzLnBhdGNoCkBAIC0xLDYgKzEsNiBAQAotRnJvbSBkZmViZTgxZjk0NmE4M2ZlMjQ5OWZjODRkNGYzZGJkYzU2MTIyNzZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KLURhdGU6IFR1ZSwgMyBBcHIgMjAxOCAxMTozNTowMyArMDgwMAorRnJvbSBkMjY3OWM4OWMwYjE1YjkwZTUzNjBiNDg2MzI1OGE3OTU1ZTVmNGU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMTIgRmViIDIwMTkgMTU6NTk6MTkgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSF0gYWNpbmNsdWRlLm00OiBkb24ndCB1bnNldCBjYWNoZSB2YXJpYWJsZXMKIAogVW5zZXR0aW5nIHByZXZlbnRzIGNhY2hlIHZhcmlhYmxlIGZyb20gYmVpbmcgcGFzc2VkIHRvIGNvbmZpZ3VyZS4KQEAgLTgsMTUgKzgsMTggQEAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Utc3BlY2lmaWNdCiAKIFNpZ25lZC1vZmYtYnk6IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+CisKK3VwZGF0ZSBwYXRjaCB0byB2ZXJzaW9uIDcuMy4yCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAgYWNpbmNsdWRlLm00IHwgNCAtLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9hY2luY2x1ZGUubTQgYi9hY2luY2x1ZGUubTQKLWluZGV4IGY2YTU1ZWMuLmQzMzQ2ZGYgMTAwNjQ0CitpbmRleCAyNWY5MDBkLi4yNjQxOTY5IDEwMDY0NAogLS0tIGEvYWNpbmNsdWRlLm00CiArKysgYi9hY2luY2x1ZGUubTQKLUBAIC0xODkwLDggKzE4OTAsNiBAQCBkZWZpbmUoW3BocHNoaWZ0XSxbaWZlbHNlKGluZGV4KFskQF0sWyxdKSwtMSwsW3N1YnN0cihbJEBdLGluY3IoaW5kZXgoWyRAXSxbLF0pKQorQEAgLTE5MjEsOCArMTkyMSw2IEBAIGRlZmluZShbcGhwc2hpZnRdLFtpZmVsc2UoaW5kZXgoWyRAXSxbLF0pLC0xLCxbc3Vic3RyKFskQF0saW5jcihpbmRleChbJEBdLFssXSkpCiAgZG5sCiAgQUNfREVGVU4oW1BIUF9DSEVDS19GVU5DX0xJQl0sWwogICAgaWZlbHNlKCQyLCw6LFsKQEAgLTI1LDE0ICsyOCwxNCBAQAogICAgdW5zZXQgZm91bmQKICAgIEFDX0NIRUNLX0xJQigkMiwgJDEsIFtmb3VuZD15ZXNdLCBbCiAgICAgIEFDX0NIRUNLX0xJQigkMiwgX18kMSwgW2ZvdW5kPXllc10sIFtmb3VuZD1ub10pCi1AQCAtMTkyMyw4ICsxOTIxLDYgQEAgZG5sIGluIHRoZSBkZWZhdWx0IGxpYnJhcmllcyBhbmQgYXMgYSBmYWxsIGJhY2sgaW4gdGhlIHNwZWNpZmllZCBsaWJyYXJ5LgorQEAgLTE5NTQsOCArMTk1Miw2IEBAIGRubCBpbiB0aGUgZGVmYXVsdCBsaWJyYXJpZXMgYW5kIGFzIGEgZmFsbCBiYWNrIGluIHRoZSBzcGVjaWZpZWQgbGlicmFyeS4KICBkbmwgRGVmaW5lcyBIQVZFX2Z1bmMgYW5kIEhBVkVfbGlicmFyeSBpZiBmb3VuZCBhbmQgYWRkcyB0aGUgbGlicmFyeSB0byBMSUJTLgogIGRubAogIEFDX0RFRlVOKFtQSFBfQ0hFQ0tfRlVOQ10sWwogLSAgdW5zZXQgYWNfY3ZfZnVuY18kMQogLSAgdW5zZXQgYWNfY3ZfZnVuY19fXyQxCiAgICB1bnNldCBmb3VuZAotICAgCisgCiAgICBBQ19DSEVDS19GVU5DKCQxLCBbZm91bmQ9eWVzXSxbIEFDX0NIRUNLX0ZVTkMoX18kMSxbZm91bmQ9eWVzXSxbZm91bmQ9bm9dKSBdKQogLS0gCiAyLjcuNApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1maXgtZXJyb3ItY2F1c2VkLWJ5LWEtbmV3LXZhcmlhYmxlLWlzLWRlY2xhcmVkLWFmdGVyLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1maXgtZXJyb3ItY2F1c2VkLWJ5LWEtbmV3LXZhcmlhYmxlLWlzLWRlY2xhcmVkLWFmdGVyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YWIxMDFiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtZml4LWVycm9yLWNhdXNlZC1ieS1hLW5ldy12YXJpYWJsZS1pcy1kZWNsYXJlZC1hZnRlci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLUZyb20gMGQ4OGQ3MzU4ODdjNmYyZmEwMGE3NDNjMjcxMjRjN2E1MjAwNmE0MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IFN1biwgMTUgQXByIDIwMTggMTk6MTc6MjcgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gZml4IGVycm9yIGNhdXNlZCBieSBhIG5ldyB2YXJpYWJsZSBpcyBkZWNsYXJlZCBhZnRlciB0aGUKLSBsYWJlbAotCi1UaGVyZSBpcyBhIGJ1aWxkIGZhaWx1cmUgb24gbWlwczoKLS4uLgotfHNsaml0TmF0aXZlTUlQU19jb21tb24uYzogSW4gZnVuY3Rpb24gJ3Nsaml0X2hhc19jcHVfZmVhdHVyZSc6Ci18c2xqaXROYXRpdmVNSVBTX2NvbW1vbi5jOjUwNjozOiBlcnJvcjogYSBsYWJlbCBjYW4gb25seSBiZSBwYXJ0Ci1vZiBhIHN0YXRlbWVudCBhbmQgYSBkZWNsYXJhdGlvbiBpcyBub3QgYSBzdGF0ZW1lbnQKLXwgICBzbGppdF9zdyBmaXI7Ci18ICAgXn5+fn5+fn4KLS4uLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gZXh0L3BjcmUvcGNyZWxpYi9zbGppdC9zbGppdE5hdGl2ZU1JUFNfY29tbW9uLmMgfCA0ICsrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9leHQvcGNyZS9wY3JlbGliL3Nsaml0L3Nsaml0TmF0aXZlTUlQU19jb21tb24uYyBiL2V4dC9wY3JlL3BjcmVsaWIvc2xqaXQvc2xqaXROYXRpdmVNSVBTX2NvbW1vbi5jCi1pbmRleCBlZTIwN2ZlLi5hZGZkMzQyIDEwMDY0NAotLS0tIGEvZXh0L3BjcmUvcGNyZWxpYi9zbGppdC9zbGppdE5hdGl2ZU1JUFNfY29tbW9uLmMKLSsrKyBiL2V4dC9wY3JlL3BjcmVsaWIvc2xqaXQvc2xqaXROYXRpdmVNSVBTX2NvbW1vbi5jCi1AQCAtNDk4LDEyICs0OTgsMTQgQEAgU0xKSVRfQVBJX0ZVTkNfQVRUUklCVVRFIHZvaWQqIHNsaml0X2dlbmVyYXRlX2NvZGUoc3RydWN0IHNsaml0X2NvbXBpbGVyICpjb21waWwKLSAKLSBTTEpJVF9BUElfRlVOQ19BVFRSSUJVVEUgc2xqaXRfczMyIHNsaml0X2hhc19jcHVfZmVhdHVyZShzbGppdF9zMzIgZmVhdHVyZV90eXBlKQotIHsKLSsjaWYgZGVmaW5lZChfX0dOVUNfXykKLSsJc2xqaXRfc3cgZmlyOwotKyNlbmRpZgotIAlzd2l0Y2ggKGZlYXR1cmVfdHlwZSkgewotIAljYXNlIFNMSklUX0hBU19GUFU6Ci0gI2lmZGVmIFNMSklUX0lTX0ZQVV9BVkFJTEFCTEUKLSAJCXJldHVybiBTTEpJVF9JU19GUFVfQVZBSUxBQkxFOwotICNlbGlmIGRlZmluZWQoX19HTlVDX18pCi0tCQlzbGppdF9zdyBmaXI7Ci0gCQlhc20gKCJjZmMxICUwLCAkMCIgOiAiPXIiKGZpcikpOwotIAkJcmV0dXJuIChmaXIgPj4gMjIpICYgMHgxOwotICNlbHNlCi0tLSAKLTIuMTAuMgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLW9wY2FjaGUtY29uZmlnLm00LWVuYWJsZS1vcGNhY2hlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1vcGNhY2hlLWNvbmZpZy5tNC1lbmFibGUtb3BjYWNoZS5wYXRjaAppbmRleCAwZDI0ZDM0Li45ZmZkMGU0IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLW9wY2FjaGUtY29uZmlnLm00LWVuYWJsZS1vcGNhY2hlLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtb3BjYWNoZS1jb25maWcubTQtZW5hYmxlLW9wY2FjaGUucGF0Y2gKQEAgLTEsNiArMSw2IEBACi1Gcm9tIGIyZmI3MjVkYzQwNGQ0NzEzNzE3MzFiNjYzMjM0ZTg3Y2IwZmNhODQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgotRGF0ZTogTW9uLCAyIEFwciAyMDE4IDE3OjU0OjUyICswODAwCitGcm9tIGZiMTM5ZDk3MDdkYWJlMTY4NGI0NzJhMDhhNmViNTc2MWVkZTRhM2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAxMiBGZWIgMjAxOSAxNDo1NjoxNiArMDgwMAogU3ViamVjdDogW1BBVENIXSBvcGNhY2hlL2NvbmZpZy5tNDogZW5hYmxlIG9wY2FjaGUKIAogV2UgY2FuJ3QgdXNlIEFDX1RSWV9SVU4gdG8gcnVuIHByb2dyYW1zIGluIGEgY3Jvc3MgY29tcGlsZSBlbnZpcm9ubWVudC4gU2V0CkBAIC0xMCw0MiArMTAsNDEgQEAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbQ29uZmlndXJhdGlvbl0KIAogU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KKwordXBkYXRlIHBhdGNoIHRvIHZlcnNpb24gNy4zLjIKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KLSBleHQvb3BjYWNoZS9jb25maWcubTQgfCAzNDkgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAzNDEgZGVsZXRpb25zKC0pCisgZXh0L29wY2FjaGUvY29uZmlnLm00IHwgMzU3ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMzUxIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZXh0L29wY2FjaGUvY29uZmlnLm00IGIvZXh0L29wY2FjaGUvY29uZmlnLm00Ci1pbmRleCA3YjUwMGYwLi4xMGJiOTlhIDEwMDY0NAoraW5kZXggMzkyZjRjNi4uNjYxNzY5MyAxMDA2NDQKIC0tLSBhL2V4dC9vcGNhY2hlL2NvbmZpZy5tNAogKysrIGIvZXh0L29wY2FjaGUvY29uZmlnLm00Ci1AQCAtMjgsMzUzICsyOCwyMCBAQCBpZiB0ZXN0ICIkUEhQX09QQ0FDSEUiICE9ICJubyI7IHRoZW4KLSAKK0BAIC0yNywzNzQgKzI3LDI5IEBAIGlmIHRlc3QgIiRQSFBfT1BDQUNIRSIgIT0gIm5vIjsgdGhlbgogICAgQUNfQ0hFQ0tfSEVBREVSUyhbdW5pc3RkLmggc3lzL3Vpby5oXSkKICAKLS0gIEFDX01TR19DSEVDS0lORyhmb3Igc3lzdmlwYyBzaGFyZWQgbWVtb3J5IHN1cHBvcnQpCi0tICBBQ19UUllfUlVOKFsKKyAgIEFDX01TR19DSEVDS0lORyhmb3Igc3lzdmlwYyBzaGFyZWQgbWVtb3J5IHN1cHBvcnQpCistICBBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWwogLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KIC0jaW5jbHVkZSA8c3lzL3dhaXQuaD4KIC0jaW5jbHVkZSA8c3lzL2lwYy5oPgogLSNpbmNsdWRlIDxzeXMvc2htLmg+CiAtI2luY2x1ZGUgPHVuaXN0ZC5oPgogLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSsgIEFDX0RFRklORShIQVZFX1NITV9JUEMsIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgU3lzViBJUEMgU0hNIHN1cHBvcnRdKQotIAorLQogLWludCBtYWluKCkgewogLSAgcGlkX3QgcGlkOwogLSAgaW50IHN0YXR1czsKIC0gIGludCBpcGNfaWQ7CiAtICBjaGFyICpzaG07CiAtICBzdHJ1Y3Qgc2htaWRfZHMgc2htYnVmOwotKyAgQUNfREVGSU5FKEhBVkVfU0hNX01NQVBfQU5PTiwgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBtbWFwKE1BUF9BTk9OKSBTSE0gc3VwcG9ydF0pCi0gCistCiAtICBpcGNfaWQgPSBzaG1nZXQoSVBDX1BSSVZBVEUsIDQwOTYsIChJUENfQ1JFQVQgfCBTSE1fUiB8IFNITV9XKSk7CiAtICBpZiAoaXBjX2lkID09IC0xKSB7CiAtICAgIHJldHVybiAxOwogLSAgfQotKyAgQUNfREVGSU5FKEhBVkVfU0hNX01NQVBfWkVSTywgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBtbWFwKCIvZGV2L3plcm8iKSBTSE0gc3VwcG9ydF0pCi0gCistCiAtICBzaG0gPSBzaG1hdChpcGNfaWQsIE5VTEwsIDApOwogLSAgaWYgKHNobSA9PSAodm9pZCAqKS0xKSB7CiAtICAgIHNobWN0bChpcGNfaWQsIElQQ19STUlELCBOVUxMKTsKQEAgLTkwLDEzICs4OSwxNCBAQAogLSAgfQogLSAgcmV0dXJuIDA7CiAtfQotLV0sZG5sCistXV0pXSxbZG5sCiAtICAgIEFDX0RFRklORShIQVZFX1NITV9JUEMsIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgU3lzViBJUEMgU0hNIHN1cHBvcnRdKQotLSAgICBtc2c9eWVzLG1zZz1ubyxtc2c9bm8pCistICAgIG1zZz15ZXNdLFttc2c9bm9dLFttc2c9bm9dKQogLSAgQUNfTVNHX1JFU1VMVChbJG1zZ10pCi0tCi0tICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIG1tYXAoKSB1c2luZyBNQVBfQU5PTiBzaGFyZWQgbWVtb3J5IHN1cHBvcnQpCi0tICBBQ19UUllfUlVOKFsKKysgIEFDX0RFRklORShIQVZFX1NITV9JUEMsIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgU3lzViBJUEMgU0hNIHN1cHBvcnRdKQorIAorICAgQUNfTVNHX0NIRUNLSU5HKGZvciBtbWFwKCkgdXNpbmcgTUFQX0FOT04gc2hhcmVkIG1lbW9yeSBzdXBwb3J0KQorLSAgQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKIC0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAtI2luY2x1ZGUgPHN5cy93YWl0Lmg+CiAtI2luY2x1ZGUgPHN5cy9tbWFuLmg+CkBAIC0xNDIsMTMgKzE0MiwxNCBAQAogLSAgfQogLSAgcmV0dXJuIDA7CiAtfQotLV0sZG5sCistXV0pXSxbZG5sCiAtICAgIEFDX0RFRklORShIQVZFX1NITV9NTUFQX0FOT04sIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgbW1hcChNQVBfQU5PTikgU0hNIHN1cHBvcnRdKQotLSAgICBtc2c9eWVzLG1zZz1ubyxtc2c9bm8pCistICAgIG1zZz15ZXNdLFttc2c9bm9dLFttc2c9bm9dKQogLSAgQUNfTVNHX1JFU1VMVChbJG1zZ10pCi0tCi0tICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIG1tYXAoKSB1c2luZyAvZGV2L3plcm8gc2hhcmVkIG1lbW9yeSBzdXBwb3J0KQotLSAgQUNfVFJZX1JVTihbCisrICBBQ19ERUZJTkUoSEFWRV9TSE1fTU1BUF9BTk9OLCAxLCBbRGVmaW5lIGlmIHlvdSBoYXZlIG1tYXAoTUFQX0FOT04pIFNITSBzdXBwb3J0XSkKKyAKKyAgIEFDX01TR19DSEVDS0lORyhmb3IgbW1hcCgpIHVzaW5nIC9kZXYvemVybyBzaGFyZWQgbWVtb3J5IHN1cHBvcnQpCistICBBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWwogLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KIC0jaW5jbHVkZSA8c3lzL3dhaXQuaD4KIC0jaW5jbHVkZSA8c3lzL21tYW4uaD4KQEAgLTE5NywxMyArMTk4LDE0IEBACiAtICB9CiAtICByZXR1cm4gMDsKIC19Ci0tXSxkbmwKKy1dXSldLFtkbmwKIC0gICAgQUNfREVGSU5FKEhBVkVfU0hNX01NQVBfWkVSTywgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBtbWFwKCIvZGV2L3plcm8iKSBTSE0gc3VwcG9ydF0pCi0tICAgIG1zZz15ZXMsbXNnPW5vLG1zZz1ubykKKy0gICAgbXNnPXllc10sW21zZz1ub10sW21zZz1ub10pCiAtICBBQ19NU0dfUkVTVUxUKFskbXNnXSkKLS0KLS0gIEFDX01TR19DSEVDS0lORyhmb3IgbW1hcCgpIHVzaW5nIHNobV9vcGVuKCkgc2hhcmVkIG1lbW9yeSBzdXBwb3J0KQotLSAgQUNfVFJZX1JVTihbCisrICBBQ19ERUZJTkUoSEFWRV9TSE1fTU1BUF9aRVJPLCAxLCBbRGVmaW5lIGlmIHlvdSBoYXZlIG1tYXAoIi9kZXYvemVybyIpIFNITSBzdXBwb3J0XSkKKyAKKyAgIEFDX01TR19DSEVDS0lORyhmb3IgbW1hcCgpIHVzaW5nIHNobV9vcGVuKCkgc2hhcmVkIG1lbW9yeSBzdXBwb3J0KQorLSAgQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKIC0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAtI2luY2x1ZGUgPHN5cy93YWl0Lmg+CiAtI2luY2x1ZGUgPHN5cy9tbWFuLmg+CkBAIC0yNjYsMTQgKzI2OCwxNCBAQAogLSAgfQogLSAgcmV0dXJuIDA7CiAtfQotLV0sZG5sCistXV0pXSxbZG5sCiAtICAgIEFDX0RFRklORShIQVZFX1NITV9NTUFQX1BPU0lYLCAxLCBbRGVmaW5lIGlmIHlvdSBoYXZlIFBPU0lYIG1tYXAoKSBTSE0gc3VwcG9ydF0pCi0tICAgIG1zZz15ZXMsbXNnPW5vLG1zZz1ubykKKy0gICAgbXNnPXllc10sW21zZz1ub10sW21zZz1ub10pCiAtICBBQ19NU0dfUkVTVUxUKFskbXNnXSkKICsgIEFDX0RFRklORShIQVZFX1NITV9NTUFQX1BPU0lYLCAxLCBbRGVmaW5lIGlmIHlvdSBoYXZlIFBPU0lYIG1tYXAoKSBTSE0gc3VwcG9ydF0pCiAgCiAgICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIG1tYXAoKSB1c2luZyByZWd1bGFyIGZpbGUgc2hhcmVkIG1lbW9yeSBzdXBwb3J0KQotLSAgQUNfVFJZX1JVTihbCistICBBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWwogLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KIC0jaW5jbHVkZSA8c3lzL3dhaXQuaD4KIC0jaW5jbHVkZSA8c3lzL21tYW4uaD4KQEAgLTMzNiw1MCArMzM4LDcwIEBACiAtICB9CiAtICByZXR1cm4gMDsKIC19Ci0tXSxkbmwKKy1dXSldLFtkbmwKIC0gICAgQUNfREVGSU5FKEhBVkVfU0hNX01NQVBfRklMRSwgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBtbWFwKCkgU0hNIHN1cHBvcnRdKQotLSAgICBtc2c9eWVzLG1zZz1ubyxtc2c9bm8pCistICAgIG1zZz15ZXNdLFttc2c9bm9dLFttc2c9bm9dKQogLSAgQUNfTVNHX1JFU1VMVChbJG1zZ10pCisrICBBQ19ERUZJTkUoSEFWRV9TSE1fTU1BUF9GSUxFLCAxLCBbRGVmaW5lIGlmIHlvdSBoYXZlIG1tYXAoKSBTSE0gc3VwcG9ydF0pCisgCisgZmxvY2tfdHlwZT11bmtub3duCisgQUNfTVNHX0NIRUNLSU5HKGZvciBzdHJ1Y3QgZmxvY2sgbGF5b3V0KQorIAorIGlmIHRlc3QgIiRmbG9ja190eXBlIiA9ICJ1bmtub3duIjsgdGhlbgorLUFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCistICAjaW5jbHVkZSA8ZmNudGwuaD4KKy0gIHN0cnVjdCBmbG9jayBsb2NrID0geyAxLCAyLCAzLCA0LCA1LCA2LCA3IH07CistICBpbnQgbWFpbigpIHsKKy0gICAgaWYobG9jay5sX3R5cGUgPT0gMSAmJiBsb2NrLmxfd2hlbmNlID09IDIgJiYgbG9jay5sX3N0YXJ0ID09IDYgJiYgbG9jay5sX2xlbj09IDcpIHsKKy0JCXJldHVybiAwOworLSAgICB9CistICAgIHJldHVybiAxOworLSAgfQorLV1dKV0sIFsKKy0gICAgZmxvY2tfdHlwZT1haXg2NAorLSAgICBBQ19ERUZJTkUoW0hBVkVfRkxPQ0tfQUlYNjRdLCBbXSwgW1N0cnVjdCBmbG9jayBpcyA2NC1iaXQgQUlYLXR5cGVdKQorLV0sIFtdKQorLWZpCiAtCi0tZmxvY2tfdHlwZT11bmtub3duCi0tQUNfTVNHX0NIRUNLSU5HKCJ3aGV0aGVyIGZsb2NrIHN0cnVjdCBpcyBsaW51eCBvcmRlcmVkIikKLS1BQ19UUllfUlVOKFsKKy1pZiB0ZXN0ICIkZmxvY2tfdHlwZSIgPSAidW5rbm93biI7IHRoZW4KKy1BQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWwogLSAgI2luY2x1ZGUgPGZjbnRsLmg+CiAtICBzdHJ1Y3QgZmxvY2sgbG9jayA9IHsgMSwgMiwgMywgNCwgNSB9OwotLSAgaW50IG1haW4oKSB7IAorLSAgaW50IG1haW4oKSB7CiAtICAgIGlmKGxvY2subF90eXBlID09IDEgJiYgbG9jay5sX3doZW5jZSA9PSAyICYmIGxvY2subF9zdGFydCA9PSAzICYmIGxvY2subF9sZW4gPT0gNCkgewogLQkJcmV0dXJuIDA7CiAtICAgIH0KIC0gICAgcmV0dXJuIDE7Ci0tICB9IAotLV0sIFsKKy0gIH0KKy1dXSldLCBbCiAtCWZsb2NrX3R5cGU9bGludXgKLS0gICAgQUNfREVGSU5FKFtIQVZFX0ZMT0NLX0xJTlVYXSwgW10sIFtTdHJ1Y3QgZmxvY2sgaXMgTGludXgtdHlwZV0pCi0tICAgIEFDX01TR19SRVNVTFQoInllcyIpCi0tXSwgQUNfTVNHX1JFU1VMVCgibm8iKSApCi0rICAKLSsgIEFDX0RFRklORShIQVZFX1NITV9NTUFQX0ZJTEUsIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgbW1hcCgpIFNITSBzdXBwb3J0XSkKKysgICAgZmxvY2tfdHlwZT1saW51eAorICAgICBBQ19ERUZJTkUoW0hBVkVfRkxPQ0tfTElOVVhdLCBbXSwgW1N0cnVjdCBmbG9jayBpcyBMaW51eC10eXBlXSkKKy1dLCBbXSkKKyBmaQogIAotLUFDX01TR19DSEVDS0lORygid2hldGhlciBmbG9jayBzdHJ1Y3QgaXMgQlNEIG9yZGVyZWQiKQotLUFDX1RSWV9SVU4oWworIGlmIHRlc3QgIiRmbG9ja190eXBlIiA9ICJ1bmtub3duIjsgdGhlbgorLUFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCiAtICAjaW5jbHVkZSA8ZmNudGwuaD4KIC0gIHN0cnVjdCBmbG9jayBsb2NrID0geyAxLCAyLCAzLCA0LCA1IH07Ci0tICBpbnQgbWFpbigpIHsgCistICBpbnQgbWFpbigpIHsKIC0gICAgaWYobG9jay5sX3N0YXJ0ID09IDEgJiYgbG9jay5sX2xlbiA9PSAyICYmIGxvY2subF90eXBlID09IDQgJiYgbG9jay5sX3doZW5jZSA9PSA1KSB7CiAtCQlyZXR1cm4gMDsKIC0gICAgfQogLSAgICByZXR1cm4gMTsKLS0gIH0gCi0tXSwgWworLSAgfQorLV1dKV0sIFsKIC0JZmxvY2tfdHlwZT1ic2QKLS0gICAgQUNfREVGSU5FKFtIQVZFX0ZMT0NLX0JTRF0sIFtdLCBbU3RydWN0IGZsb2NrIGlzIEJTRC10eXBlXSkgCi0tICAgIEFDX01TR19SRVNVTFQoInllcyIpCi0tXSwgQUNfTVNHX1JFU1VMVCgibm8iKSApCi0rICBmbG9ja190eXBlPWxpbnV4Ci0rICBBQ19ERUZJTkUoW0hBVkVfRkxPQ0tfTElOVVhdLCBbXSwgW1N0cnVjdCBmbG9jayBpcyBMaW51eC10eXBlXSkKLSAKLSBpZiB0ZXN0ICIkZmxvY2tfdHlwZSIgPSAidW5rbm93biI7IHRoZW4KKy0gICAgQUNfREVGSU5FKFtIQVZFX0ZMT0NLX0JTRF0sIFtdLCBbU3RydWN0IGZsb2NrIGlzIEJTRC10eXBlXSkKKy1dLCBbXSkKKy1maQorLQorLUFDX01TR19SRVNVTFQoWyRmbG9ja190eXBlXSkKKy0KKy1pZiB0ZXN0ICIkZmxvY2tfdHlwZSIgPSAidW5rbm93biI7IHRoZW4KICAJQUNfTVNHX0VSUk9SKFtEb24ndCBrbm93IGhvdyB0byBkZWZpbmUgc3RydWN0IGZsb2NrIG9uIHRoaXMgc3lzdGVtWyxdIHNldCAtLWVuYWJsZS1vcGNhY2hlPW5vXSkKKyBmaQorIAogLS0gCiAyLjcuNAogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDQ4LVVzZS1wa2ctY29uZmlnLWZvci1GcmVlVHlwZTItZGV0ZWN0aW9uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDA0OC1Vc2UtcGtnLWNvbmZpZy1mb3ItRnJlZVR5cGUyLWRldGVjdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzZkZGFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDA0OC1Vc2UtcGtnLWNvbmZpZy1mb3ItRnJlZVR5cGUyLWRldGVjdGlvbi5wYXRjaApAQCAtMCwwICsxLDUzIEBACitGcm9tOiA9P3V0Zi04P2I/VDI1a3habGxhaUJUZFhMRHZRPT0/PSA8b25kcmVqQHN1cnkub3JnPgorRGF0ZTogTW9uLCAyMiBPY3QgMjAxOCAwNjo1NDozMSArMDAwMAorU3ViamVjdDogVXNlIHBrZy1jb25maWcgZm9yIEZyZWVUeXBlMiBkZXRlY3Rpb24KKworLS0tCisgZXh0L2dkL2NvbmZpZy5tNCB8IDMwICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2V4dC9nZC9jb25maWcubTQgYi9leHQvZ2QvY29uZmlnLm00CitpbmRleCA0OThkODcwLi5kMjhjNmFlIDEwMDY0NAorLS0tIGEvZXh0L2dkL2NvbmZpZy5tNAorKysrIGIvZXh0L2dkL2NvbmZpZy5tNAorQEAgLTE4NCwyMSArMTg0LDI5IEBAIEFDX0RFRlVOKFtQSFBfR0RfWFBNXSxbCisgQUNfREVGVU4oW1BIUF9HRF9GUkVFVFlQRTJdLFsKKyAgIGlmIHRlc3QgIiRQSFBfRlJFRVRZUEVfRElSIiAhPSAibm8iOyB0aGVuCisgCistICAgIGZvciBpIGluICRQSFBfRlJFRVRZUEVfRElSIC91c3IvbG9jYWwgL3VzcjsgZG8KKy0gICAgICBpZiB0ZXN0IC1mICIkaS9iaW4vZnJlZXR5cGUtY29uZmlnIjsgdGhlbgorLSAgICAgICAgRlJFRVRZUEUyX0RJUj0kaQorLSAgICAgICAgRlJFRVRZUEUyX0NPTkZJRz0iJGkvYmluL2ZyZWV0eXBlLWNvbmZpZyIKKy0gICAgICAgIGJyZWFrCisrICAgIGlmIHRlc3QgLXogIiRQS0dfQ09ORklHIjsgdGhlbgorKyAgICAgIEFDX1BBVEhfUFJPRyhQS0dfQ09ORklHLCBwa2ctY29uZmlnLCBubykKKysgICAgZmkKKysgICAgaWYgdGVzdCAteCAiJFBLR19DT05GSUciICYmICRQS0dfQ09ORklHIC0tZXhpc3RzIGZyZWV0eXBlMiA7IHRoZW4KKysgICAgICBGUkVFVFlQRTJfQ0ZMQUdTPWAkUEtHX0NPTkZJRyAtLWNmbGFncyBmcmVldHlwZTJgCisrICAgICAgRlJFRVRZUEUyX0xJQlM9YCRQS0dfQ09ORklHIC0tbGlicyBmcmVldHlwZTJgCisrICAgIGVsc2UKKysgICAgICBmb3IgaSBpbiAkUEhQX0ZSRUVUWVBFX0RJUiAvdXNyL2xvY2FsIC91c3I7IGRvCisrICAgICAgICBpZiB0ZXN0IC1mICIkaS9iaW4vZnJlZXR5cGUtY29uZmlnIjsgdGhlbgorKyAgICAgICAgICBGUkVFVFlQRTJfRElSPSRpCisrICAgICAgICAgIEZSRUVUWVBFMl9DT05GSUc9IiRpL2Jpbi9mcmVldHlwZS1jb25maWciCisrICAgICAgICAgIGJyZWFrCisrICAgICAgICBmaQorKyAgICAgIGRvbmUKKysKKysgICAgICBpZiB0ZXN0IC16ICIkRlJFRVRZUEUyX0RJUiI7IHRoZW4KKysgICAgICAgIEFDX01TR19FUlJPUihbZnJlZXR5cGUtY29uZmlnIG5vdCBmb3VuZC5dKQorICAgICAgIGZpCistICAgIGRvbmUKKyAKKy0gICAgaWYgdGVzdCAteiAiJEZSRUVUWVBFMl9ESVIiOyB0aGVuCistICAgICAgQUNfTVNHX0VSUk9SKFtmcmVldHlwZS1jb25maWcgbm90IGZvdW5kLl0pCisrICAgICAgRlJFRVRZUEUyX0NGTEFHUz1gJEZSRUVUWVBFMl9DT05GSUcgLS1jZmxhZ3NgCisrICAgICAgRlJFRVRZUEUyX0xJQlM9YCRGUkVFVFlQRTJfQ09ORklHIC0tbGlic2AKKyAgICAgZmkKKyAKKy0gICAgRlJFRVRZUEUyX0NGTEFHUz1gJEZSRUVUWVBFMl9DT05GSUcgLS1jZmxhZ3NgCistICAgIEZSRUVUWVBFMl9MSUJTPWAkRlJFRVRZUEUyX0NPTkZJRyAtLWxpYnNgCistCisgICAgIFBIUF9FVkFMX0lOQ0xJTkUoJEZSRUVUWVBFMl9DRkxBR1MpCisgICAgIFBIUF9FVkFMX0xJQkxJTkUoJEZSRUVUWVBFMl9MSUJTLCBHRF9TSEFSRURfTElCQUREKQorICAgICBBQ19ERUZJTkUoSEFWRV9MSUJGUkVFVFlQRSwxLFsgXSkKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwNDktZXh0LWludGwtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWljdS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwNDktZXh0LWludGwtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWljdS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZWFkYTFmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDA0OS1leHQtaW50bC1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtaWN1LnBhdGNoCkBAIC0wLDAgKzEsMTExIEBACitGcm9tOiBIdWdoIE1jTWFzdGVyIDxodWdoLm1jbWFzdGVyQG91dGxvb2suY29tPgorRGF0ZTogV2VkLCA1IERlYyAyMDE4IDIzOjI3OjMwICsxMTAwCitTdWJqZWN0OiBleHQvaW50bDogVXNlIHBrZy1jb25maWcgdG8gZGV0ZWN0IGljdQorCitUaGUgZGV2ZWxvcGVycyBvZiBpY3UgcmVjb21tZW5kIHVzaW5nIHBrZy1jb25maWcgdG8gZGV0ZWN0IGljdSwKK2JlY2F1c2UgaWN1LWNvbmZpZyBpcyBkZXByZWNhdGVkLgorLS0tCisgYWNpbmNsdWRlLm00ICAgICAgIHwgNTYgKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZXh0L2ludGwvY29uZmlnLm00IHwgMTYgKysrKysrLS0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgNTkgZGVsZXRpb25zKC0pCisKKy0tLSBwaHA3LjMub3JpZy9hY2luY2x1ZGUubTQKKysrKyBwaHA3LjMvYWNpbmNsdWRlLm00CitAQCAtMjE2OCw1OCArMjE2OCwxNiBAQCBkbmwKKyBkbmwgQ29tbW9uIHNldHVwIG1hY3JvIGZvciBJQ1UKKyBkbmwKKyBBQ19ERUZVTihbUEhQX1NFVFVQX0lDVV0sWworLSAgUEhQX0FSR19XSVRIKGljdS1kaXIsLAorLSAgWyAgLS13aXRoLWljdS1kaXI9RElSICAgICAgU3BlY2lmeSB3aGVyZSBJQ1UgbGlicmFyaWVzIGFuZCBoZWFkZXJzIGNhbiBiZSBmb3VuZF0sIERFRkFVTFQsIG5vKQorKyAgUEtHX0NIRUNLX01PRFVMRVMoW0lDVV0sIFtpY3UtaW8gPj0gNTAuMV0pCisgCistICBpZiB0ZXN0ICIkUEhQX0lDVV9ESVIiID0gIm5vIjsgdGhlbgorLSAgICBQSFBfSUNVX0RJUj1ERUZBVUxUCistICBmaQorLQorLSAgaWYgdGVzdCAiJFBIUF9JQ1VfRElSIiA9ICJERUZBVUxUIjsgdGhlbgorLSAgICBkbmwgVHJ5IHRvIGZpbmQgaWN1LWNvbmZpZworLSAgICBBQ19QQVRIX1BST0coSUNVX0NPTkZJRywgaWN1LWNvbmZpZywgbm8sIFskUEFUSDovdXNyL2xvY2FsL2Jpbl0pCistICBlbHNlCistICAgIElDVV9DT05GSUc9IiRQSFBfSUNVX0RJUi9iaW4vaWN1LWNvbmZpZyIKKy0gIGZpCistCistICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBsb2NhdGlvbiBvZiBJQ1UgaGVhZGVycyBhbmQgbGlicmFyaWVzXSkKKy0KKy0gIGRubCBUcnVzdCBpY3UtY29uZmlnIHRvIGtub3cgYmV0dGVyIHdoYXQgdGhlIGluc3RhbGwgcHJlZml4IGlzLi4KKy0gIGljdV9pbnN0YWxsX3ByZWZpeD1gJElDVV9DT05GSUcgLS1wcmVmaXggMj4gL2Rldi9udWxsYAorLSAgaWYgdGVzdCAiJD8iICE9ICIwIiB8fCB0ZXN0IC16ICIkaWN1X2luc3RhbGxfcHJlZml4IjsgdGhlbgorLSAgICBBQ19NU0dfUkVTVUxUKFtub3QgZm91bmRdKQorLSAgICBBQ19NU0dfRVJST1IoW1VuYWJsZSB0byBkZXRlY3QgSUNVIHByZWZpeCBvciAkSUNVX0NPTkZJRyBmYWlsZWQuIFBsZWFzZSB2ZXJpZnkgSUNVIGluc3RhbGwgcHJlZml4IGFuZCBtYWtlIHN1cmUgaWN1LWNvbmZpZyB3b3Jrcy5dKQorLSAgZWxzZQorLSAgICBBQ19NU0dfUkVTVUxUKFskaWN1X2luc3RhbGxfcHJlZml4XSkKKy0KKy0gICAgZG5sIENoZWNrIElDVSB2ZXJzaW9uCistICAgIEFDX01TR19DSEVDS0lORyhbZm9yIElDVSA0LjAgb3IgZ3JlYXRlcl0pCistICAgIGljdV92ZXJzaW9uX2Z1bGw9YCRJQ1VfQ09ORklHIC0tdmVyc2lvbmAKKy0gICAgYWNfSUZTPSRJRlMKKy0gICAgSUZTPSIuIgorLSAgICBzZXQgJGljdV92ZXJzaW9uX2Z1bGwKKy0gICAgSUZTPSRhY19JRlMKKy0gICAgaWN1X3ZlcnNpb249YGV4cHIgWyRdMSBcKiAxMDAwICsgWyRdMmAKKy0gICAgQUNfTVNHX1JFU1VMVChbZm91bmQgJGljdV92ZXJzaW9uX2Z1bGxdKQorLQorLSAgICBpZiB0ZXN0ICIkaWN1X3ZlcnNpb24iIC1sdCAiNDAwMCI7IHRoZW4KKy0gICAgICBBQ19NU0dfRVJST1IoW0lDVSB2ZXJzaW9uIDQuMCBvciBsYXRlciBpcyByZXF1aXJlZF0pCistICAgIGZpCisrICBQSFBfRVZBTF9JTkNMSU5FKCRJQ1VfQ0ZMQUdTKQorKyAgUEhQX0VWQUxfTElCTElORSgkSUNVX0xJQlMsICQxKQorIAorLSAgICBJQ1VfVkVSU0lPTj0kaWN1X3ZlcnNpb24KKy0gICAgSUNVX0lOQ1M9YCRJQ1VfQ09ORklHIC0tY3BwZmxhZ3Mtc2VhcmNocGF0aGAKKy0gICAgSUNVX0xJQlM9YCRJQ1VfQ09ORklHIC0tbGRmbGFncyAtLWxkZmxhZ3MtaWN1aW9gCistICAgIFBIUF9FVkFMX0lOQ0xJTkUoJElDVV9JTkNTKQorLSAgICBQSFBfRVZBTF9MSUJMSU5FKCRJQ1VfTElCUywgJDEpCisrICBJQ1VfQ0ZMQUdTPSIkSUNVX0NGTEFHUyAtRFVfTk9fREVGQVVMVF9JTkNMVURFX1VURl9IRUFERVJTPTEiCisrICBJQ1VfQ1hYRkxBR1M9IiRJQ1VfQ1hYRkxBR1MgLURVTklTVFJfRlJPTV9DSEFSX0VYUExJQ0lUPWV4cGxpY2l0IC1EVU5JU1RSX0ZST01fU1RSSU5HX0VYUExJQ0lUPWV4cGxpY2l0IgorIAorLSAgICBJQ1VfQ1hYRkxBR1M9YCRJQ1VfQ09ORklHIC0tY3h4ZmxhZ3NgCistICAgIGlmIHRlc3QgIiRpY3VfdmVyc2lvbiIgLWdlICI0OTAwMCI7IHRoZW4KKy0gICAgICBJQ1VfQ1hYRkxBR1M9IiRJQ1VfQ1hYRkxBR1MgLURVTklTVFJfRlJPTV9DSEFSX0VYUExJQ0lUPWV4cGxpY2l0IC1EVU5JU1RSX0ZST01fU1RSSU5HX0VYUExJQ0lUPWV4cGxpY2l0IgorLSAgICAgIElDVV9DRkxBR1M9Ii1EVV9OT19ERUZBVUxUX0lOQ0xVREVfVVRGX0hFQURFUlM9MSIKKy0gICAgZmkKKy0gICAgaWYgdGVzdCAiJGljdV92ZXJzaW9uIiAtZ2UgIjYwMDAwIjsgdGhlbgorLSAgICAgIElDVV9DRkxBR1M9IiRJQ1VfQ0ZMQUdTIC1EVV9ISURFX09CU09MRVRFX1VURl9PTERfSD0xIgorLSAgICBmaQorKyAgaWYgJFBLR19DT05GSUcgaWN1LWlvIC0tYXRsZWFzdC12ZXJzaW9uPTYwOyB0aGVuCisrICAgIElDVV9DRkxBR1M9IiRJQ1VfQ0ZMQUdTIC1EVV9ISURFX09CU09MRVRFX1VURl9PTERfSD0xIgorICAgZmkKKyBdKQorIAorLS0tIHBocDcuMy5vcmlnL2V4dC9pbnRsL2NvbmZpZy5tNAorKysrIHBocDcuMy9leHQvaW50bC9jb25maWcubTQKK0BAIC05LDE1ICs5LDcgQEAgaWYgdGVzdCAiJFBIUF9JTlRMIiAhPSAibm8iOyB0aGVuCisgICBQSFBfU0VUVVBfSUNVKElOVExfU0hBUkVEX0xJQkFERCkKKyAgIFBIUF9TVUJTVChJTlRMX1NIQVJFRF9MSUJBREQpCisgICBQSFBfUkVRVUlSRV9DWFgoKQorLSAgSU5UTF9DT01NT05fRkxBR1M9IiRJQ1VfSU5DUyAkSUNVX0NGTEFHUyAtV25vLXdyaXRlLXN0cmluZ3MgLURfX1NURENfTElNSVRfTUFDUk9TIC1EWkVORF9FTkFCTEVfU1RBVElDX1RTUk1MU19DQUNIRT0xIgorLSAgaWYgdGVzdCAiJGljdV92ZXJzaW9uIiAtZ2UgIjQwMDIiOyB0aGVuCistICAgIGljdV9zcG9vZl9zcmM9IiBzcG9vZmNoZWNrZXIvc3Bvb2ZjaGVja2VyX2NsYXNzLmMgXAorLSAgICBzcG9vZmNoZWNrZXIvc3Bvb2ZjaGVja2VyLmNcCistICAgIHNwb29mY2hlY2tlci9zcG9vZmNoZWNrZXJfY3JlYXRlLmNcCistICAgIHNwb29mY2hlY2tlci9zcG9vZmNoZWNrZXJfbWFpbi5jIgorLSAgZWxzZQorLSAgICBpY3Vfc3Bvb2Zfc3JjPSIiCistICBmaQorKyAgSU5UTF9DT01NT05fRkxBR1M9IiRJQ1VfQ0ZMQUdTIC1Xbm8td3JpdGUtc3RyaW5ncyAtRF9fU1REQ19MSU1JVF9NQUNST1MgLURaRU5EX0VOQUJMRV9TVEFUSUNfVFNSTUxTX0NBQ0hFPTEiCisgICBQSFBfTkVXX0VYVEVOU0lPTihpbnRsLCBwaHBfaW50bC5jIFwKKyAgICAgaW50bF9lcnJvci5jIFwKKyAgICAgaW50bF9jb252ZXJ0LmMgXAorQEAgLTY4LDcgKzYwLDExIEBAIGlmIHRlc3QgIiRQSFBfSU5UTCIgIT0gIm5vIjsgdGhlbgorICAgICB0cmFuc2xpdGVyYXRvci90cmFuc2xpdGVyYXRvcl9tZXRob2RzLmMgXAorICAgICB1Y2hhci91Y2hhci5jIFwKKyAgICAgaWRuL2lkbi5jIFwKKy0gICAgJGljdV9zcG9vZl9zcmMsICRleHRfc2hhcmVkLCwkSU5UTF9DT01NT05fRkxBR1MsY3h4KQorKyAgICBzcG9vZmNoZWNrZXIvc3Bvb2ZjaGVja2VyX2NsYXNzLmMgXAorKyAgICBzcG9vZmNoZWNrZXIvc3Bvb2ZjaGVja2VyLmNcCisrICAgIHNwb29mY2hlY2tlci9zcG9vZmNoZWNrZXJfY3JlYXRlLmNcCisrICAgIHNwb29mY2hlY2tlci9zcG9vZmNoZWNrZXJfbWFpbi5jIFwKKysgICAgLCAkZXh0X3NoYXJlZCwsJElOVExfQ09NTU9OX0ZMQUdTLGN4eCkKKyAKKyAgIFBIUF9JTlRMX0NYWF9TT1VSQ0VTPSJpbnRsX2NvbnZlcnRjcHAuY3BwIFwKKyAgICAgY29tbW9uL2NvbW1vbl9lbnVtLmNwcCBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9DVkUtMjAxNy05MTIwLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvQ1ZFLTIwMTctOTEyMC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzI4ZjI1Yi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9DVkUtMjAxNy05MTIwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotcGhwOiBwYXRjaCBmb3IgQ1ZFLTIwMTctOTEyMAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2J1Z3MucGhwLm5ldC9idWcucGhwP2lkPTc0NTQ0XQotCi1DVkU6IENWRS0yMDE3LTkxMjAKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLQotZGlmZiAtLWdpdCBhL2V4dC9teXNxbGkvbXlzcWxpX2FwaS5jIGIvZXh0L215c3FsaS9teXNxbGlfYXBpLmMKLWluZGV4IDAzYTM5ZDcuLjdiODg3MzEgMTAwNjQ0Ci0tLS0gYS9leHQvbXlzcWxpL215c3FsaV9hcGkuYwotKysrIGIvZXh0L215c3FsaS9teXNxbGlfYXBpLmMKLUBAIC0xOTY1LDcgKzE5NjUsNyBAQCBQSFBfRlVOQ1RJT04obXlzcWxpX3JlYWxfZXNjYXBlX3N0cmluZykgewotIAl9Ci0gCU1ZU1FMSV9GRVRDSF9SRVNPVVJDRV9DT05OKG15c3FsLCBteXNxbF9saW5rLCBNWVNRTElfU1RBVFVTX1ZBTElEKTsKLSAKLS0JbmV3c3RyID0gemVuZF9zdHJpbmdfYWxsb2MoMiAqIGVzY2FwZXN0cl9sZW4sIDApOwotKwluZXdzdHIgPSB6ZW5kX3N0cmluZ19zYWZlX2FsbG9jKDIsIGVzY2FwZXN0cl9sZW4sIDAsIDApOwotIAlaU1RSX0xFTihuZXdzdHIpID0gbXlzcWxfcmVhbF9lc2NhcGVfc3RyaW5nKG15c3FsLT5teXNxbCwgWlNUUl9WQUwobmV3c3RyKSwgZXNjYXBlc3RyLCBlc2NhcGVzdHJfbGVuKTsKLSAJbmV3c3RyID0gemVuZF9zdHJpbmdfdHJ1bmNhdGUobmV3c3RyLCBaU1RSX0xFTihuZXdzdHIpLCAwKTsKLSAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL2NoYW5nZS1BQ19UUllfUlVOLXRvLUFDX1RSWV9MSU5LLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvY2hhbmdlLUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTksucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlOTAxODQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvY2hhbmdlLUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTksucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi1Gcm9tIDNiZmNjN2ZkZDIyMjYxZWFlZDEwOTQ5NzE0ZGUwYTkwZDMxZTEwYWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDIwIEF1ZyAyMDE1IDE2OjI5OjM1ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIFtQQVRDSF0gY29uZmlnLm00OiBjaGFuZ2UgQUNfVFJZX1JVTiB0byBBQ19UUllfTElOSwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotQUNfVFJZX1JVTiBpcyBub3Qgc3VpdGFibGUgZm9yIGNyb3NzLWNvbXBpbGUKLQotU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgotCi0lJSBvcmlnaW5hbCBwYXRjaDogY2hhbmdlLUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTksucGF0Y2gKLS0tLQotIGV4dC9maWxlaW5mby9jb25maWcubTQgfCAzMSArKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9leHQvZmlsZWluZm8vY29uZmlnLm00IGIvZXh0L2ZpbGVpbmZvL2NvbmZpZy5tNAotaW5kZXggNTIzYjRmZC4uMGFhYTRjOCAxMDA2NDQKLS0tLSBhL2V4dC9maWxlaW5mby9jb25maWcubTQKLSsrKyBiL2V4dC9maWxlaW5mby9jb25maWcubTQKLUBAIC0xNCwzMSArMTQsMTIgQEAgaWYgdGVzdCAiJFBIUF9GSUxFSU5GTyIgIT0gIm5vIjsgdGhlbgotICAgICBsaWJtYWdpYy9yZWFkY2RmLmMgbGlibWFnaWMvc29mdG1hZ2ljLmMgbGlibWFnaWMvZGVyLmMiCi0gCi0gICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBzdHJjYXNlc3RyXSkKLS0gIEFDX1RSWV9SVU4oWwotLSNpbmNsdWRlIDxzdHJpbmcuaD4KLS0jaW5jbHVkZSA8c3RyaW5ncy5oPgotLSNpbmNsdWRlIDxzdGRsaWIuaD4KLS0KLS1pbnQgbWFpbih2b2lkKQotLXsKLS0gICAgICAgIGNoYXIgKnMwLCAqczEsICpyZXQ7Ci0tCi0tICAgICAgICBzMCA9IChjaGFyICopIG1hbGxvYyg0Mik7Ci0tICAgICAgICBzMSA9IChjaGFyICopIG1hbGxvYyg4KTsKLS0KLS0gICAgICAgIG1lbXNldChzMCwgJ1gnLCA0Mik7Ci0tICAgICAgICBzMFsyNF0gPSAnWSc7Ci0tICAgICAgICBzMFsyNl0gPSAnWic7Ci0tICAgICAgICBzMFs0MV0gPSAnXDAnOwotLSAgICAgICAgbWVtc2V0KHMxLCAneCcsIDgpOwotLSAgICAgICAgczFbMF0gPSAneSc7Ci0tICAgICAgICBzMVsyXSA9ICdaJzsKLS0gICAgICAgIHMxWzddID0gJ1wwJzsKLS0KLS0gICAgICAgIHJldCA9IHN0cmNhc2VzdHIoczAsIHMxKTsKLS0KLS0gICAgICAgIHJldHVybiAhKE5VTEwgIT0gcmV0KTsKLS19Ci0rICBBQ19UUllfQ09NUElMRShbCi0rICAgICAjaW5jbHVkZSA8c3RyaW5nLmg+Ci0rICAgICAjaW5jbHVkZSA8c3RyaW5ncy5oPgotKyAgICAgI2luY2x1ZGUgPHN0ZGxpYi5oPgotKyAgXSxbCi0rICAgICBzdHJjYXNlc3RyKE5VTEwsIE5VTEwpOwotICAgXSxbCi0gICAgIGRubCB1c2luZyB0aGUgcGxhdGZvcm0gaW1wbGVtZW50YXRpb24KLSAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3BocDUtMDAwMS1hY2luY2x1ZGUubTQtZG9uLXQtdW5zZXQtY2FjaGUtdmFyaWFibGVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhwNS0wMDAxLWFjaW5jbHVkZS5tNC1kb24tdC11bnNldC1jYWNoZS12YXJpYWJsZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJhZDU1NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3BocDUtMDAwMS1hY2luY2x1ZGUubTQtZG9uLXQtdW5zZXQtY2FjaGUtdmFyaWFibGVzLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gMWZiNWEzYjNlNmM5Y2YwMDAyZmY3Njk4OGRlNzJmMDExYjY0MjAwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDEyIEZlYiAyMDE5IDE2OjI1OjM3ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGFjaW5jbHVkZS5tNDogZG9uJ3QgdW5zZXQgY2FjaGUgdmFyaWFibGVzCisKK1Vuc2V0dGluZyBwcmV2ZW50cyBjYWNoZSB2YXJpYWJsZSBmcm9tIGJlaW5nIHBhc3NlZCB0byBjb25maWd1cmUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Utc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+CisKK3VwZGF0ZSBwYXRjaCB0byB2ZXJzaW9uIDUuNi40MAorU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGFjaW5jbHVkZS5tNCB8IDQgLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWNpbmNsdWRlLm00IGIvYWNpbmNsdWRlLm00CitpbmRleCBiMTg4ZWVlLi5lZDMyZmM1IDEwMDY0NAorLS0tIGEvYWNpbmNsdWRlLm00CisrKysgYi9hY2luY2x1ZGUubTQKK0BAIC0xODk3LDggKzE4OTcsNiBAQCBkZWZpbmUoW3BocHNoaWZ0XSxbaWZlbHNlKGluZGV4KFskQF0sWyxdKSwtMSwsW3N1YnN0cihbJEBdLGluY3IoaW5kZXgoWyRAXSxbLF0pKQorIGRubAorIEFDX0RFRlVOKFtQSFBfQ0hFQ0tfRlVOQ19MSUJdLFsKKyAgIGlmZWxzZSgkMiwsOixbCistICB1bnNldCBhY19jdl9saWJfJDJbXV8kMQorLSAgdW5zZXQgYWNfY3ZfbGliXyQyW11fX18kMQorICAgdW5zZXQgZm91bmQKKyAgIEFDX0NIRUNLX0xJQigkMiwgJDEsIFtmb3VuZD15ZXNdLCBbCisgICAgIEFDX0NIRUNLX0xJQigkMiwgX18kMSwgW2ZvdW5kPXllc10sIFtmb3VuZD1ub10pCitAQCAtMTkzMCw4ICsxOTI4LDYgQEAgZG5sIGluIHRoZSBkZWZhdWx0IGxpYnJhcmllcyBhbmQgYXMgYSBmYWxsIGJhY2sgaW4gdGhlIHNwZWNpZmllZCBsaWJyYXJ5LgorIGRubCBEZWZpbmVzIEhBVkVfZnVuYyBhbmQgSEFWRV9saWJyYXJ5IGlmIGZvdW5kIGFuZCBhZGRzIHRoZSBsaWJyYXJ5IHRvIExJQlMuCisgZG5sCisgQUNfREVGVU4oW1BIUF9DSEVDS19GVU5DXSxbCistICB1bnNldCBhY19jdl9mdW5jXyQxCistICB1bnNldCBhY19jdl9mdW5jX19fJDEKKyAgIHVuc2V0IGZvdW5kCisgICAKKyAgIEFDX0NIRUNLX0ZVTkMoJDEsIFtmb3VuZD15ZXNdLFsgQUNfQ0hFQ0tfRlVOQyhfXyQxLFtmb3VuZD15ZXNdLFtmb3VuZD1ub10pIF0pCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzUuNi4zOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzUuNi4zOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDZmNTE0NS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocF81LjYuMzguYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1yZXF1aXJlIHBocC5pbmMKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YjYwMjYzNmQ0NmE2MWMwYWMwNDMyYmJmNWMwNzhmZTQiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9waHA1LWNoYW5nZS1BQ19UUllfUlVOLXRvLUFDX1RSWV9MSU5LLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9wdGhyZWFkLWNoZWNrLXRocmVhZHMtbTQucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLWxwdGhyZWFkLXRvLWxpbmsucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2FjaW5jbHVkZS14bWwyLWNvbmZpZy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1hY2luY2x1ZGUtdXNlLXBrZ2NvbmZpZy1mb3ItbGlieG1sMi1jb25maWcucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDEtUEhQLTUuNi1MaWJTU0wtMS4xLWNvbXBhdGliaWxpdHkucGF0Y2ggXAotICAgICAgICAgICAgIgotCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BocDUtcGVhci1tYWtlZmlsZS5wYXRjaCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9waHA1LXBoYXItbWFrZWZpbGUucGF0Y2ggXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGhwNS0wMDAxLW9wY2FjaGUtY29uZmlnLm00LWVuYWJsZS1vcGNhY2hlLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNWI5OGFhMDY2NTY3ZWNhOGU1NzM4YjhlZjRhMzU0NWMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDY1YjIzMWJiZGQ2M2JlNDQzOWVmNWNlZDk2NWNmZDYzZTYyOTgzNDI5ZGJkNGRmY2ZiNDk5ODE1OTNlYmMwMyIKLQotREVQRU5EUyArPSAibGlibWNyeXB0IgotRVhUUkFfT0VDT05GICs9ICItLXdpdGgtbWNyeXB0PSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7ZXhlY19wcmVmaXh9IFwKLSAgICAgICAgICAgICAgICAgIiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzUuNi40MC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzUuNi40MC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjViYWM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNS42LjQwLmJiCkBAIC0wLDAgKzEsMjUgQEAKK3JlcXVpcmUgcGhwLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iNjAyNjM2ZDQ2YTYxYzBhYzA0MzJiYmY1YzA3OGZlNCIKKworU1JDX1VSSSArPSAiZmlsZTovL3BocDUtY2hhbmdlLUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTksucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3B0aHJlYWQtY2hlY2stdGhyZWFkcy1tNC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtbHB0aHJlYWQtdG8tbGluay5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vYWNpbmNsdWRlLXhtbDItY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWFjaW5jbHVkZS11c2UtcGtnY29uZmlnLWZvci1saWJ4bWwyLWNvbmZpZy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1QSFAtNS42LUxpYlNTTC0xLjEtY29tcGF0aWJpbGl0eS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vcGhwNS0wMDAxLWFjaW5jbHVkZS5tNC1kb24tdC11bnNldC1jYWNoZS12YXJpYWJsZXMucGF0Y2ggXAorICAgICAgICAgICAgIgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BocDUtcGVhci1tYWtlZmlsZS5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9waHA1LXBoYXItbWFrZWZpbGUucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGhwNS0wMDAxLW9wY2FjaGUtY29uZmlnLm00LWVuYWJsZS1vcGNhY2hlLnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDQ2MzM2MDRkMmZlY2UxZjUzZjUwOGJjMTY3NTFiNzQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmZkMDI1ZDM0NjIzNTUzYWIyZjdmZDhmYjIxZDBjOWU2ZjlmYTMwZGM1NjVjYTAzYTFkN2I3NjMwMjNmYmEwMCIKKworREVQRU5EUyArPSAibGlibWNyeXB0IgorRVhUUkFfT0VDT05GICs9ICItLXdpdGgtbWNyeXB0PSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7ZXhlY19wcmVmaXh9IFwKKyAgICAgICAgICAgICAgICAgIiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzcuMi4xMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzcuMi4xMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGRjNjRiYi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocF83LjIuMTAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1yZXF1aXJlIHBocC5pbmMKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NjdlMzY5YmM4ZDFmMmU2NDEyMzZiODAwMjAzOWE2YTIiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9jaGFuZ2UtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1hY2luY2x1ZGUubTQtc2tpcC1iaW5jb25maWctY2hlY2stZm9yLWxpYnhtbC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtZXJyb3ItY2F1c2VkLWJ5LWEtbmV3LXZhcmlhYmxlLWlzLWRlY2xhcmVkLWFmdGVyLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNy05MTIwLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9wZWFyLW1ha2VmaWxlLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BoYXItbWFrZWZpbGUucGF0Y2ggXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vMDAwMS1vcGNhY2hlLWNvbmZpZy5tNC1lbmFibGUtb3BjYWNoZS5wYXRjaCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjBjZThmZjYxNWJmYjlkZTdhODliYWI4ZDc0MmMxMWMwIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjAxYjYxMjlhMDkyMWExNjM2YjA3ZGE5YmM1OThhODc2NjY5ZTQ1YTQ2MmNlZjRiNTg0NGZjMjY4NjJkYmRhOWQiCi0KLVBBQ0tBR0VDT05GSUdbbXlzcWxdID0gIi0td2l0aC1teXNxbGk9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vbXlzcWxfY29uZmlnIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIC0td2l0aC1wZG8tbXlzcWw9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vbXlzcWxfY29uZmlnIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICwtLXdpdGhvdXQtbXlzcWxpIC0td2l0aG91dC1wZG8tbXlzcWwgXAotICAgICAgICAgICAgICAgICAgICAgICAgLG15c3FsNSIKLVBBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi0td2l0aC12YWxncmluZD0ke1NUQUdJTkdfRElSX1RBUkdFVH0vdXNyLC0td2l0aC12YWxncmluZD1ubyx2YWxncmluZCIKLQotRklMRVNfJHtQTn0tZnBtICs9ICIke3N5c2NvbmZkaXJ9L3BocC1mcG0uZC93d3cuY29uZi5kZWZhdWx0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNy4zLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocF83LjMuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzRmYWNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNy4zLjIuYmIKQEAgLTAsMCArMSwyNSBAQAorcmVxdWlyZSBwaHAuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWZiMDdiZmM1MWY2ZDVlMGMzMGI2NWQ5NzAxMjMzYjJlIgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1hY2luY2x1ZGUubTQtZG9uLXQtdW5zZXQtY2FjaGUtdmFyaWFibGVzLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDQ4LVVzZS1wa2ctY29uZmlnLWZvci1GcmVlVHlwZTItZGV0ZWN0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDQ5LWV4dC1pbnRsLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1pY3UucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLXBrZy1jb25maWctZm9yLWxpYnhtbDItZGV0ZWN0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9wZWFyLW1ha2VmaWxlLnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BoYXItbWFrZWZpbGUucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vMDAwMS1vcGNhY2hlLWNvbmZpZy5tNC1lbmFibGUtb3BjYWNoZS5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImM4OTNmZjgyODk0NWMyNzRkOTBlMDI2NTI4MTQyNDM5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk0NmY1MGRhY2JkMmY2MWU2NDNiYjczNzAyMWNiZThiMTgxNmU3ODBlZTdhZDNlMGNkOTk5YTE4OTJhYjBhZGQiCisKK1BBQ0tBR0VDT05GSUdbbXlzcWxdID0gIi0td2l0aC1teXNxbGk9bXlzcWxuZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAtLXdpdGgtcGRvLW15c3FsPW15c3FsbmQgXAorICAgICAgICAgICAgICAgICAgICAgICAgLC0td2l0aG91dC1teXNxbGkgLS13aXRob3V0LXBkby1teXNxbCBcCisgICAgICAgICAgICAgICAgICAgICAgICAsbXlzcWw1IgorUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLS13aXRoLXZhbGdyaW5kPSR7U1RBR0lOR19ESVJfVEFSR0VUfS91c3IsLS13aXRoLXZhbGdyaW5kPW5vLHZhbGdyaW5kIgorCitGSUxFU18ke1BOfS1mcG0gKz0gIiR7c3lzY29uZmRpcn0vcGhwLWZwbS5kL3d3dy5jb25mLmRlZmF1bHQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcHJvdG9idWYvcHJvdG9idWYvcnVuLXB0ZXN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3Byb3RvYnVmL3Byb3RvYnVmL3J1bi1wdGVzdAppbmRleCA3YzNhOGQxLi5iM2IyMjc4IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcHJvdG9idWYvcHJvdG9idWYvcnVuLXB0ZXN0CisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wcm90b2J1Zi9wcm90b2J1Zi9ydW4tcHRlc3QKQEAgLTgsNyArOCw3IEBACiAJaWYgWyAteCAiJHt3cml0ZV9leGVfZnVsbF9wYXRofSIgXTsgdGhlbgogCQl3cml0ZV9leGU9YGJhc2VuYW1lICR7d3JpdGVfZXhlX2Z1bGxfcGF0aH1gCiAJCWVjaG8gIkdlbmVyYXRpbmcgbmV3IHRlc3QgZmlsZSB1c2luZyAke3dyaXRlX2V4ZX0uLi4iCi0JCSR7d3JpdGVfZXhlX2Z1bGxfcGF0aH0gIiR7VEVTVF9GSUxFfSIKKyAgICBwcmludGYgIjEyMzRcbm5hbWVcbm5hbWVAZXhhbXBsZS5jb21cbiIgfCAke3dyaXRlX2V4ZV9mdWxsX3BhdGh9ICIke1RFU1RfRklMRX0iCiAJCVJFVFZBTD0kPwogCQlbICRSRVRWQUwgLWVxIDAgXSB8fCBleGl0ICRSRVRWQUwKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3JhcGlkanNvbi9yYXBpZGpzb24vMDAwMS1DTWFrZS1yZW1vdmUtaGFyZGNvZGVkLUNNQUtFQ09ORklHX0lOU1RBTExfRElSLXBhdGgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcmFwaWRqc29uL3JhcGlkanNvbi8wMDAxLUNNYWtlLXJlbW92ZS1oYXJkY29kZWQtQ01BS0VDT05GSUdfSU5TVEFMTF9ESVItcGF0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDVmNWQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3JhcGlkanNvbi9yYXBpZGpzb24vMDAwMS1DTWFrZS1yZW1vdmUtaGFyZGNvZGVkLUNNQUtFQ09ORklHX0lOU1RBTExfRElSLXBhdGgucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSA4ZDI3MmU1M2E0ZDFkYzQwNWUwOGNlMmRkNTAxNTljNThmNDQ1MWU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUnVzbGFuIEJpbG92b2wgPHJiaWxvdm9sQGNpc2NvLmNvbT4KK0RhdGU6IFRodSwgMjQgSmFuIDIwMTkgMTg6MTE6MzkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gQ01ha2U6IHJlbW92ZSBoYXJkY29kZWQgQ01BS0VDT05GSUdfSU5TVEFMTF9ESVIgcGF0aAorCitDdXJyZW50bHkgdGhpcyBwYXRoIGlzIGhhcmRjb2RlZCB0byBsaWIvY21ha2UuCitTb21lIGRpc3RyaWJ1dGlvbnMgaGF2ZSBkaWZmZXJlbnQgbGlicmFyeSBwYXRoIChsaWtlIGxpYjY0KS4KK1NvIHJldXNlIExJQl9JTlNUQUxMX0RJUiBmb3IgdGhhdCB0byBtYWtlIENNQUtFQ09ORklHX0lOU1RBTExfRElSCitjb25maWd1cmFibGUgYW5kIHVzYWJsZSBpbiBzdWNoIGRpc3Ryb3MuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9UZW5jZW50L3JhcGlkanNvbi9jb21taXQvOGQyNzJlNTNhNGQxZGM0MDVlMDhjZTJkZDUwMTU5YzU4ZjQ0NTFlOV0KKworU2lnbmVkLW9mZi1ieTogUnVzbGFuIEJpbG92b2wgPHJiaWxvdm9sQGNpc2NvLmNvbT4KKy0tLQorIENNYWtlTGlzdHMudHh0IHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDdjNjA0MDcuLjAyNzU2NzIgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0xOTksOSArMTk5LDkgQEAgQ09ORklHVVJFX0ZJTEUoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9LyR7UFJPSkVDVF9OQU1FfUNvbmZpZ1ZlcnNpb24uY21ha2UuaW4KKyAgICAgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7UFJPSkVDVF9OQU1FfUNvbmZpZ1ZlcnNpb24uY21ha2UgQE9OTFkpCisgCisgIyAuLi4gZm9yIHRoZSBpbnN0YWxsIHRyZWUKKy1TRVQoIENNQUtFQ09ORklHX0lOU1RBTExfRElSIGxpYi9jbWFrZS8ke1BST0pFQ1RfTkFNRX0gKQorK1NFVCggQ01BS0VDT05GSUdfSU5TVEFMTF9ESVIgJHtMSUJfSU5TVEFMTF9ESVJ9L2NtYWtlLyR7UFJPSkVDVF9OQU1FfSApCisgRklMRSggUkVMQVRJVkVfUEFUSCBSRUxfSU5DTFVERV9ESVIKKy0gICAgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9LyR7Q01BS0VDT05GSUdfSU5TVEFMTF9ESVJ9IgorKyAgICAiJHtDTUFLRUNPTkZJR19JTlNUQUxMX0RJUn0iCisgICAgICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9pbmNsdWRlIiApCisgCisgU0VUKCAke1BST0pFQ1RfTkFNRX1fSU5DTFVERV9ESVIgIlwkeyR7UFJPSkVDVF9OQU1FfV9DTUFLRV9ESVJ9LyR7UkVMX0lOQ0xVREVfRElSfSIgKQorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcmFwaWRqc29uL3JhcGlkanNvbl9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcmFwaWRqc29uL3JhcGlkanNvbl9naXQuYmIKaW5kZXggYzkwZWFiMC4uZTNlZDljNiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3JhcGlkanNvbi9yYXBpZGpzb25fZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9yYXBpZGpzb24vcmFwaWRqc29uX2dpdC5iYgpAQCAtNCw3ICs0LDggQEAKIExJQ0VOU0UgPSAiTUlUIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vbGljZW5zZS50eHQ7bWQ1PWJhMDRhYThmNjVkZTEzOTZhN2U1OWQxZDc0NmMyMTI1IgogCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbWlsb3lpcC9yYXBpZGpzb24uZ2l0O25vYnJhbmNoPTEiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbWlsb3lpcC9yYXBpZGpzb24uZ2l0O25vYnJhbmNoPTEgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1DTWFrZS1yZW1vdmUtaGFyZGNvZGVkLUNNQUtFQ09ORklHX0lOU1RBTExfRElSLXBhdGgucGF0Y2giCiAKIFNSQ1JFViA9ICI2YTkwNWY5MzExZjgyZDMwNmRhNzdiZDk2M2VjNWFhNWRhMDdkYTljIgogCkBAIC0xNCw3ICsxNSw3IEBACiAKIGluaGVyaXQgY21ha2UKIAotRVhUUkFfT0VDTUFLRSArPSAiLURSQVBJREpTT05fQlVJTERfRE9DPU9GRiAtRFJBUElESlNPTl9CVUlMRF9URVNUUz1PRkYgLURSQVBJREpTT05fQlVJTERfRVhBTVBMRVM9T0ZGIgorRVhUUkFfT0VDTUFLRSArPSAiLURSQVBJREpTT05fQlVJTERfRE9DPU9GRiAtRFJBUElESlNPTl9CVUlMRF9URVNUUz1PRkYgLURSQVBJREpTT05fQlVJTERfRVhBTVBMRVM9T0ZGIC1ETElCX0lOU1RBTExfRElSOlNUUklORz0ke2xpYmRpcn0iCiAKICMgUmFwaWRKU09OIGlzIGEgaGVhZGVyLW9ubHkgQysrIGxpYnJhcnksIHNvIHRoZSBtYWluIHBhY2thZ2Ugd2lsbCBiZSBlbXB0eS4KIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrL2NvbmZzZWFyY2guZGlmZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay9jb25mc2VhcmNoLmRpZmYKaW5kZXggNGRiZDlhNC4uOGNjMDdiYyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrL2NvbmZzZWFyY2guZGlmZgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvY29uZnNlYXJjaC5kaWZmCkBAIC0xLDM1ICsxLDQ2IEBACitGcm9tIDU1Mzk0NDJlNWY1NDQyNjA2MDcxYWZjNWNmMDI2NDIzMTRhZDEzYmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogV2VkLCAxNyBBdWcgMjAxMSAyMjo1MjozNSArMDIwMAorU3ViamVjdDogW1BBVENIXSB0ayA4LjUuODogaW1wb3J0IGZyb20gT0UgcmV2CisKIFBhdGNoIGJ5IFNlcmdlaSBHb2xvdmFuIGFsbG93cyB0byBmaW5kIHRjbENvbmZpZy5zaCBpbiAvdXNyL3NoYXJlL3RjbHRrL3RjbDguNQogYW5kIHRrQ29uZmlnLnNoIGluIC91c3Ivc2hhcmUvdGNsdGsvdGs4LjUgd2hlcmUgdGhleSBhcmUgbG9jYXRlZCBpbiBEZWJpYW4KIGluc3RhbGxhdGlvbi4KIAotLS0tIHRrOC41LTguNS44Lm9yaWcvdW5peC9jb25maWd1cmUKLSsrKyB0azguNS04LjUuOC91bml4L2NvbmZpZ3VyZQotQEAgLTE0MzEsNyArMTQzMSw4IEBACi0gCQkJYGxzIC1kIC91c3IvY29udHJpYi9saWIgMj4vZGV2L251bGxgIFwKKy0tLQorIHVuaXgvY29uZmlndXJlIHwgMSArCisgdW5peC90Y2wubTQgICAgfCAyICsrCisgMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKKworSW5kZXg6IGEvdW5peC9jb25maWd1cmUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3VuaXgvY29uZmlndXJlLm9yaWcKKysrKyBiL3VuaXgvY29uZmlndXJlCitAQCAtMTQzMiw2ICsxNDMyLDcgQEAgZWNobyAiJGFzX21lOiBlcnJvcjogJHt3aXRoX3RjbGNvbmZpZ30gZAogIAkJCWBscyAtZCAvdXNyL2xvY2FsL2xpYiAyPi9kZXYvbnVsbGAgXAorIAkJCWBscyAtZCAvdXNyL2NvbnRyaWIvbGliIDI+L2Rldi9udWxsYCBcCiAgCQkJYGxzIC1kIC91c3IvcGtnL2xpYiAyPi9kZXYvbnVsbGAgXAotKwkJCWBscyAtZCAvdXNyL3NoYXJlL3RjbHRrL3RjbDguNSAyPi9kZXYvbnVsbGAgXAorKwkJCWBscyAtZCAvdXNyL3NoYXJlL3RjbHRrL3RjbDguNiAyPi9kZXYvbnVsbGAgXAogIAkJCWBscyAtZCAvdXNyL2xpYiAyPi9kZXYvbnVsbGAgXAogIAkJCWBscyAtZCAvdXNyL2xpYjY0IDI+L2Rldi9udWxsYCBcCi0gCQkJOyBkbwotIAkJICAgIGlmIHRlc3QgLWYgIiRpL3RjbENvbmZpZy5zaCIgOyB0aGVuCi0tLS0gdGs4LjUtOC41Ljgub3JpZy91bml4L3RjbC5tNAotKysrIHRrOC41LTguNS44L3VuaXgvdGNsLm00Ci1AQCAtOTMsNyArOTMsOCBAQAotIAkJCWBscyAtZCAvdXNyL2NvbnRyaWIvbGliIDI+L2Rldi9udWxsYCBcCisgCQkJYGxzIC1kIC91c3IvbG9jYWwvbGliL3RjbDguNiAyPi9kZXYvbnVsbGAgXAorSW5kZXg6IGEvdW5peC90Y2wubTQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3VuaXgvdGNsLm00Lm9yaWcKKysrKyBiL3VuaXgvdGNsLm00CitAQCAtOTQsNiArOTQsNyBAQCBBQ19ERUZVTihbU0NfUEFUSF9UQ0xDT05GSUddLCBbCiAgCQkJYGxzIC1kIC91c3IvbG9jYWwvbGliIDI+L2Rldi9udWxsYCBcCisgCQkJYGxzIC1kIC91c3IvY29udHJpYi9saWIgMj4vZGV2L251bGxgIFwKICAJCQlgbHMgLWQgL3Vzci9wa2cvbGliIDI+L2Rldi9udWxsYCBcCi0rCQkJYGxzIC1kIC91c3Ivc2hhcmUvdGNsdGsvdGNsOC41IDI+L2Rldi9udWxsYCBcCisrCQkJYGxzIC1kIC91c3Ivc2hhcmUvdGNsdGsvdGNsOC42IDI+L2Rldi9udWxsYCBcCiAgCQkJYGxzIC1kIC91c3IvbGliIDI+L2Rldi9udWxsYCBcCiAgCQkJYGxzIC1kIC91c3IvbGliNjQgMj4vZGV2L251bGxgIFwKLSAJCQk7IGRvCi0gCQkgICAgaWYgdGVzdCAtZiAiJGkvdGNsQ29uZmlnLnNoIiA7IHRoZW4KLUBAIC0yMjMsNyArMjI0LDggQEAKLSAJCQlgbHMgLWQgJHtwcmVmaXh9L2xpYiAyPi9kZXYvbnVsbGAgXAorIAkJCWBscyAtZCAvdXNyL2xvY2FsL2xpYi90Y2w4LjYgMj4vZGV2L251bGxgIFwKK0BAIC0yMjcsNiArMjI4LDcgQEAgQUNfREVGVU4oW1NDX1BBVEhfVEtDT05GSUddLCBbCiAgCQkJYGxzIC1kIC91c3IvbG9jYWwvbGliIDI+L2Rldi9udWxsYCBcCiAgCQkJYGxzIC1kIC91c3IvY29udHJpYi9saWIgMj4vZGV2L251bGxgIFwKLSsJCQlgbHMgLWQgL3Vzci9zaGFyZS90Y2x0ay90azguNSAyPi9kZXYvbnVsbGAgXAorIAkJCWBscyAtZCAvdXNyL3BrZy9saWIgMj4vZGV2L251bGxgIFwKKysJCQlgbHMgLWQgL3Vzci9zaGFyZS90Y2x0ay90azguNiAyPi9kZXYvbnVsbGAgXAogIAkJCWBscyAtZCAvdXNyL2xpYiAyPi9kZXYvbnVsbGAgXAogIAkJCWBscyAtZCAvdXNyL2xpYjY0IDI+L2Rldi9udWxsYCBcCi0gCQkJOyBkbwotIAkJICAgIGlmIHRlc3QgLWYgIiRpL3RrQ29uZmlnLnNoIiA7IHRoZW4KKyAJCQlgbHMgLWQgL3Vzci9sb2NhbC9saWIvdGs4LjYgMj4vZGV2L251bGxgIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90a184LjYuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90a184LjYuOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGUzODUyNS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGtfOC42LjguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3MSArMCwwIEBACi1TVU1NQVJZID0gIlRvb2wgQ29tbWFuZCBMYW5ndWFnZSBUb29sS2l0IEV4dGVuc2lvbiIKLUhPTUVQQUdFID0gImh0dHA6Ly90Y2wuc291cmNlZm9yZ2UubmV0IgotU0VDVElPTiA9ICJkZXZlbC90Y2x0ayIKLQotIyBodHRwOi8vd3d3LnRjbC50ay9zb2Z0d2FyZS90Y2x0ay9saWNlbnNlLmh0bWwKLUxJQ0VOU0UgPSAidGNsIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAotICAgIGZpbGU6Ly8uLi9jb21wYXQvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAotICAgIGZpbGU6Ly8uLi9kb2MvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAotICAgIGZpbGU6Ly8uLi9saWJyYXJ5L2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKLSAgICBmaWxlOi8vLi4vbWFjb3N4L2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKLSAgICBmaWxlOi8vLi4vdGVzdHMvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAotICAgIGZpbGU6Ly8uLi91bml4L2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKLSAgICBmaWxlOi8vLi4vd2luL2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKLSAgICBmaWxlOi8vLi4veGxpYi9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCi0iCi0KLURFUEVORFMgPSAidGNsIHZpcnR1YWwvbGlieDExIGxpYnh0IgotCi1TUkNfVVJJID0gIlwKLSAgICAke1NPVVJDRUZPUkdFX01JUlJPUn0vdGNsLyR7QlBOfSR7UFZ9LXNyYy50YXIuZ3ogXAotICAgIGZpbGU6Ly9jb25mc2VhcmNoLmRpZmY7c3RyaXBsZXZlbD0yIFwKLSAgICBmaWxlOi8vbm9uLWxpbnV4LmRpZmY7c3RyaXBsZXZlbD0yIFwKLSAgICBmaWxlOi8vdGtsaWJyYXJ5LmRpZmY7c3RyaXBsZXZlbD0yIFwKLSAgICBmaWxlOi8vdGtwcml2YXRlLmRpZmY7c3RyaXBsZXZlbD0yIFwKLSAgICBmaWxlOi8vZml4LXhmdC5kaWZmIFwKLSAgICBmaWxlOi8vY29uZmlndXJlLnVzZS5mb250Y29uZmlnLndpdGgueGZ0LnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI1ZTBmYWVjYmE0NThlZTEzODYwNzhmYjIyOGQwMDhiYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0OWU3YmNhMDhkZGU5NTE5NWEyN2Y1OTRmN2M4NTBiMDg4YmUzNTdhN2M3MDk2ZTQ0ZTExNThjN2E1ZmQ3YjMzIgotCi1TID0gIiR7V09SS0RJUn0vJHtCUE59JHtQVn0vdW5peCIKLQotIyBTaG9ydCB2ZXJzaW9uIGZvcm1hdDogIjguNiIKLVZFUiA9ICIke0Bvcy5wYXRoLnNwbGl0ZXh0KGQuZ2V0VmFyKCdQVicpKVswXX0iCi0KLUxERkxBR1MgKz0gIi1XbCwtcnBhdGgsJHtsaWJkaXJ9L3RjbHRrLyR7UFZ9L2xpYiIKLWluaGVyaXQgYXV0b3Rvb2xzIGRpc3Ryb19mZWF0dXJlc19jaGVjawotIyBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1FWFRSQV9PRUNPTkYgPSAiXAotICAgIC0tZW5hYmxlLXRocmVhZHMgXAotICAgIC0td2l0aC14IFwKLSAgICAtLXdpdGgtdGNsPSR7U1RBR0lOR19CSU5ESVJ9L2Nyb3Nzc2NyaXB0cyBcCi0gICAgLS1saWJkaXI9JHtsaWJkaXJ9IFwKLSIKLWV4cG9ydCBUS19MSUJSQVJZPScke2xpYmRpcn0vdGske1ZFUn0nCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBsbiAtc2YgbGlidGske1ZFUn0uc28gJHtEfSR7bGliZGlyfS9saWJ0ayR7VkVSfS5zby4wCi0gICAgb2VfbGliaW5zdGFsbCAtc28gbGlidGske1ZFUn0gJHtEfSR7bGliZGlyfQotICAgIGxuIC1zZiB3aXNoJHtWRVJ9ICR7RH0ke2JpbmRpcn0vd2lzaAotfQotCi1QQUNLQUdFQ09ORklHID8/PSAieGZ0IgotUEFDS0FHRUNPTkZJR1t4ZnRdID0gIi0tZW5hYmxlLXhmdCwtLWRpc2FibGUteGZ0LHhmdCIKLVBBQ0tBR0VDT05GSUdbeHNzXSA9ICItLWVuYWJsZS14c3MsLS1kaXNhYmxlLXhzcyxsaWJ4c2NybnNhdmVyIGxpYnhleHQiCi0KLVBBQ0tBR0VTID0rICIke1BOfS1saWIiCi0KLUZJTEVTXyR7UE59LWxpYiA9ICIke2xpYmRpcn0vbGlidGske1ZFUn0uc28qIgotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS90ayoiCi0KLSMgaXNuJ3QgZ2V0dGluZyBwaWNrZWQgdXAgYnkgc2hsaWJzIGNvZGUKLVJERVBFTkRTXyR7UE59ICs9ICJ0ay1saWIiCi1SREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLSMgRml4IHRoZSBwYXRoIGluIHNzdGF0ZQotU1NUQVRFX1NDQU5fRklMRVMgKz0gIipDb25maWcuc2giCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGtfOC42LjkuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGtfOC42LjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDU5YWU4MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90a184LjYuOS5iYgpAQCAtMCwwICsxLDk2IEBACitTVU1NQVJZID0gIlRvb2wgQ29tbWFuZCBMYW5ndWFnZSBUb29sS2l0IEV4dGVuc2lvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly90Y2wuc291cmNlZm9yZ2UubmV0IgorU0VDVElPTiA9ICJkZXZlbC90Y2x0ayIKKworIyBodHRwOi8vd3d3LnRjbC50ay9zb2Z0d2FyZS90Y2x0ay9saWNlbnNlLmh0bWwKK0xJQ0VOU0UgPSAidGNsIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtTfS8uLi9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisgICAgZmlsZTovLyR7U30vLi4vY29tcGF0L2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKKyAgICBmaWxlOi8vJHtTfS8uLi9kb2MvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAorICAgIGZpbGU6Ly8ke1N9Ly4uL2xpYnJhcnkvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAorICAgIGZpbGU6Ly8ke1N9Ly4uL21hY29zeC9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisgICAgZmlsZTovLyR7U30vLi4vdGVzdHMvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAorICAgIGZpbGU6Ly8ke1N9Ly4uL3VuaXgvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAorICAgIGZpbGU6Ly8ke1N9Ly4uL3dpbi9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisgICAgZmlsZTovLyR7U30vLi4veGxpYi9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisiCisKK0RFUEVORFMgPSAidGNsIHZpcnR1YWwvbGlieDExIGxpYnh0IgorCitTUkNfVVJJID0gIlwKKyAgICAke1NPVVJDRUZPUkdFX01JUlJPUn0vdGNsLyR7QlBOfSR7UFZ9LXNyYy50YXIuZ3ogXAorICAgIGZpbGU6Ly9jb25mc2VhcmNoLmRpZmY7c3RyaXBsZXZlbD0yIFwKKyAgICBmaWxlOi8vbm9uLWxpbnV4LmRpZmY7c3RyaXBsZXZlbD0yIFwKKyAgICBmaWxlOi8vdGtsaWJyYXJ5LmRpZmY7c3RyaXBsZXZlbD0yIFwKKyAgICBmaWxlOi8vdGtwcml2YXRlLmRpZmY7c3RyaXBsZXZlbD0yIFwKKyAgICBmaWxlOi8vZml4LXhmdC5kaWZmIFwKKyAgICBmaWxlOi8vY29uZmlndXJlLnVzZS5mb250Y29uZmlnLndpdGgueGZ0LnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlM2NmNjI5MDk5OWVlMzA2NTFkNzU4NjRlY2NmZWM2MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkM2Y5MTYxZThiYTBmMTA3ZmU4ZDRkZjFmNmQzYTE0YzMwY2MzNTEyZGZjMTJhNzk1ZGFhMzY3YTI3NjYwZGFjIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59JHtQVn0vdW5peCIKKworIyBTaG9ydCB2ZXJzaW9uIGZvcm1hdDogIjguNiIKK1ZFUiA9ICIke0Bvcy5wYXRoLnNwbGl0ZXh0KGQuZ2V0VmFyKCdQVicpKVswXX0iCisKK0xERkxBR1MgKz0gIi1XbCwtcnBhdGgsJHtsaWJkaXJ9L3RjbHRrLyR7UFZ9L2xpYiIKK2luaGVyaXQgYXV0b3Rvb2xzIGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZW5hYmxlLXRocmVhZHMgXAorICAgIC0td2l0aC14IFwKKyAgICAtLXdpdGgtdGNsPSR7U1RBR0lOR19CSU5ESVJ9L2Nyb3Nzc2NyaXB0cyBcCisgICAgLS1saWJkaXI9JHtsaWJkaXJ9IFwKKyIKK2V4cG9ydCBUS19MSUJSQVJZPScke2xpYmRpcn0vdGske1ZFUn0nCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBsbiAtc2YgbGlidGske1ZFUn0uc28gJHtEfSR7bGliZGlyfS9saWJ0ayR7VkVSfS5zby4wCisgICAgb2VfbGliaW5zdGFsbCAtc28gbGlidGske1ZFUn0gJHtEfSR7bGliZGlyfQorICAgIGxuIC1zZiB3aXNoJHtWRVJ9ICR7RH0ke2JpbmRpcn0vd2lzaAorCisgICAgc2VkIC1pICJzOy1MJHtCfTstTCR7U1RBR0lOR19MSUJESVJ9O2ciIHRrQ29uZmlnLnNoCisgICAgc2VkIC1pICJzOycke1dPUktESVJ9Oycke1NUQUdJTkdfSU5DRElSfTtnIiB0a0NvbmZpZy5zaAorICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30KKyAgICBpbnN0YWxsIC1tIDA3NTUgdGtDb25maWcuc2ggJHtEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30KK30KKworUEFDS0FHRUNPTkZJRyA/Pz0gInhmdCIKK1BBQ0tBR0VDT05GSUdbeGZ0XSA9ICItLWVuYWJsZS14ZnQsLS1kaXNhYmxlLXhmdCx4ZnQiCitQQUNLQUdFQ09ORklHW3hzc10gPSAiLS1lbmFibGUteHNzLC0tZGlzYWJsZS14c3MsbGlieHNjcm5zYXZlciBsaWJ4ZXh0IgorCitQQUNLQUdFUyA9KyAiJHtQTn0tbGliIgorCitGSUxFU18ke1BOfS1saWIgPSAiJHtsaWJkaXJ9L2xpYnRrJHtWRVJ9LnNvKiIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vdGsqIgorCisjIGlzbid0IGdldHRpbmcgcGlja2VkIHVwIGJ5IHNobGlicyBjb2RlCitSREVQRU5EU18ke1BOfSArPSAidGstbGliIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCisjIEZpeCB0aGUgcGF0aCBpbiBzc3RhdGUKK1NTVEFURV9TQ0FOX0ZJTEVTICs9ICIqQ29uZmlnLnNoIgorCitpbmhlcml0IGJpbmNvbmZpZworCitTWVNST09UX0RJUlMgKz0gIiR7YmluZGlyX2Nyb3Nzc2NyaXB0c30iCisKKyMgRml4IHNvbWUgcGF0aHMgdGhhdCBtaWdodCBiZSB1c2VkIGJ5IFRjbCBleHRlbnNpb25zCitCSU5DT05GSUdfR0xPQiA9ICIqQ29uZmlnLnNoIgorCisjIENsZWFudXAgaG9zdCBwYXRoIGZyb20gJHtsaWJkaXJ9L3RjbENvbmZpZy5zaCBhbmQgcmVtb3ZlIHRoZQorIyAke2JpbmRpcl9jcm9zc3NjcmlwdHN9L3RjbENvbmZpZy5zaCBmcm9tIHRhcmdldAorUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTICs9ICJ0Y2xfcGFja2FnZV9wcmVwcm9jZXNzIgordGNsX3BhY2thZ2VfcHJlcHJvY2VzcygpIHsKKyAgICAgICAgc2VkIC1pIC1lICJzOyR7REVCVUdfUFJFRklYX01BUH07O2ciIFwKKyAgICAgICAgICAgICAgIC1lICJzOy1MJHtTVEFHSU5HX0xJQkRJUn07LUwke2xpYmRpcn07ZyIgXAorICAgICAgICAgICAgICAgLWUgInM7JHtTVEFHSU5HX0lOQ0RJUn07JHtpbmNsdWRlZGlyfTtnIiBcCisgICAgICAgICAgICAgICAtZSAiczstLXN5c3Jvb3Q9JHtSRUNJUEVfU1lTUk9PVH07O2ciIFwKKyAgICAgICAgICAgICAgICR7UEtHRH0ke2xpYmRpcn0vdGtDb25maWcuc2gKKworICAgICAgICBybSAtZiAke1BLR0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS90a0NvbmZpZy5zaAorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3VmdHJhY2UvdWZ0cmFjZS8wMDAxLWluY2x1ZGUtZGxmY24uaC1mb3ItUlRMRF9ERUZBVUxULnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3VmdHJhY2UvdWZ0cmFjZS8wMDAxLWluY2x1ZGUtZGxmY24uaC1mb3ItUlRMRF9ERUZBVUxULnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZTdhYWM5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91ZnRyYWNlL3VmdHJhY2UvMDAwMS1pbmNsdWRlLWRsZmNuLmgtZm9yLVJUTERfREVGQVVMVC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gY2RmN2YyZTM5NGZjZmI5M2E2MWY1MDlhZTMzODhmMjk1NDBhNmIzNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDggU2VwIDIwMTggMTE6NTY6MTMgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gaW5jbHVkZSBkbGZjbi5oIGZvciBSVExEX0RFRkFVTFQKLQotRml4ZXMKLXBsdGhvb2suYzoxMjg6NDE6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVExEX0RFRkFVTFQnCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vbmFtaHl1bmcvdWZ0cmFjZS9wdWxsLzQ4N10KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsaWJtY291bnQvcGx0aG9vay5jIHwgMSArCi0gdXRpbHMvZGVidWcuYyAgICAgICB8IDEgKwotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9saWJtY291bnQvcGx0aG9vay5jIGIvbGlibWNvdW50L3BsdGhvb2suYwotaW5kZXggZDlkODRmMC4uZDU0ZjVlOCAxMDA2NDQKLS0tLSBhL2xpYm1jb3VudC9wbHRob29rLmMKLSsrKyBiL2xpYm1jb3VudC9wbHRob29rLmMKLUBAIC02LDYgKzYsNyBAQAotICNpbmNsdWRlIDxzeXMvbW1hbi5oPgotICNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0gI2luY2x1ZGUgPGFzc2VydC5oPgotKyNpbmNsdWRlIDxkbGZjbi5oPgotIAotIC8qIFRoaXMgc2hvdWxkIGJlIGRlZmluZWQgYmVmb3JlICNpbmNsdWRlICJ1dGlscy5oIiAqLwotICNkZWZpbmUgUFJfRk1UICAgICAibWNvdW50IgotZGlmZiAtLWdpdCBhL3V0aWxzL2RlYnVnLmMgYi91dGlscy9kZWJ1Zy5jCi1pbmRleCAyMTM0YjA5Li41NDYwZGVmIDEwMDY0NAotLS0tIGEvdXRpbHMvZGVidWcuYwotKysrIGIvdXRpbHMvZGVidWcuYwotQEAgLTEzLDYgKzEzLDcgQEAKLSAjaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0gI2luY2x1ZGUgPGxpbWl0cy5oPgotICNpbmNsdWRlIDxpbnR0eXBlcy5oPgotKyNpbmNsdWRlIDxkbGZjbi5oPgotIAotICNpbmNsdWRlICJ1dGlscy91dGlscy5oIgotIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3VmdHJhY2UvdWZ0cmFjZV8wLjguMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91ZnRyYWNlL3VmdHJhY2VfMC44LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNhMzhlNmEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3VmdHJhY2UvdWZ0cmFjZV8wLjguMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLVNVTU1BUlkgPSAiVHJhY2UgYW5kIGFuYWx5emUgZXhlY3V0aW9uIG9mIGEgcHJvZ3JhbSB3cml0dGVuIGluIEMvQysrIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL25hbWh5dW5nL3VmdHJhY2UiCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9uYW1oeXVuZy91ZnRyYWNlL2lzc3VlcyIKLVNFQ1RJT04gPSAiZGV2ZWwiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi0KLURFUEVORFMgPSAiZWxmdXRpbHMiCi1ERVBFTkRTX2FwcGVuZF9saWJjLW11c2wgPSAiIGFyZ3Atc3RhbmRhbG9uZSIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotIyB2MC44LjMKLVNSQ1JFViA9ICI4YjcyM2E2ZmFlMmVmMzA0OTVjZDYyNzk3NzRmYmE5Yzk1Y2Q5Yzg4IgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL25hbWh5dW5nLyR7QlBOfSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtZGxmY24uaC1mb3ItUlRMRF9ERUZBVUxULnBhdGNoIFwKLSAgICAgICAgICAgIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotTERGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtbGFyZ3AiCi0KLWRlZiBzZXRfdGFyZ2V0X2FyY2goZCk6Ci0gICAgaW1wb3J0IHJlCi0gICAgYXJjaCA9IGQuZ2V0VmFyKCdUQVJHRVRfQVJDSCcsIFRydWUpCi0gICAgaWYgcmUubWF0Y2gocidpLjg2JywgYXJjaCwgcmUuSSk6Ci0gICAgICAgIHJldHVybiAnaTM4NicKLSAgICBlbHNlOgotICAgICAgICByZXR1cm4gYXJjaAotCi1FWFRSQV9VRlRSQUNFX09FQ09ORiA9ICJBUkNIPSR7QHNldF90YXJnZXRfYXJjaChkKX0gXAotICAgICAgICAgICAgICAgICAgICAgICAgd2l0aF9lbGZ1dGlscz0vdXNlL2xpYmVsZi9mcm9tL3N5c3Jvb3QiCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLSAgICAke1N9L2NvbmZpZ3VyZSAke0VYVFJBX1VGVFJBQ0VfT0VDT05GfQotfQotCi1GSUxFU19TT0xJQlNERVYgPSAiIgotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS8qLnNvIgotCi1DT01QQVRJQkxFX0hPU1QgPSAiKGkuODZ8eDg2XzY0fGFhcmNoNjR8YXJtKSIKLQotIyB1ZnRyYWNlIHN1cHBvcnRzIGFybXY2IGFuZCBhYm92ZQotQ09NUEFUSUJMRV9IT1NUX2FybXY0ID0gJ251bGwnCi1DT01QQVRJQkxFX0hPU1RfYXJtdjUgPSAnbnVsbCcKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91ZnRyYWNlL3VmdHJhY2VfMC45LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdWZ0cmFjZS91ZnRyYWNlXzAuOS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmNDAxNjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdWZ0cmFjZS91ZnRyYWNlXzAuOS4yLmJiCkBAIC0wLDAgKzEsNDUgQEAKK1NVTU1BUlkgPSAiVHJhY2UgYW5kIGFuYWx5emUgZXhlY3V0aW9uIG9mIGEgcHJvZ3JhbSB3cml0dGVuIGluIEMvQysrIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL25hbWh5dW5nL3VmdHJhY2UiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9uYW1oeXVuZy91ZnRyYWNlL2lzc3VlcyIKK1NFQ1RJT04gPSAiZGV2ZWwiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK0RFUEVORFMgPSAiZWxmdXRpbHMiCitERVBFTkRTX2FwcGVuZF9saWJjLW11c2wgPSAiIGFyZ3Atc3RhbmRhbG9uZSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworIyB2MC45LjIKK1NSQ1JFViA9ICI2NmZjMWZiOTczZjRhNDRhZWNkMjE2NTQxNDA1ZmZlMDUxOTZmMTFlIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL25hbWh5dW5nLyR7QlBOfSBcCisgICAgICAgICAgICIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0xERkxBR1NfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLWxhcmdwIgorCitkZWYgc2V0X3RhcmdldF9hcmNoKGQpOgorICAgIGltcG9ydCByZQorICAgIGFyY2ggPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnKQorICAgIGlmIHJlLm1hdGNoKHInaS44NicsIGFyY2gsIHJlLkkpOgorICAgICAgICByZXR1cm4gJ2kzODYnCisgICAgZWxpZiByZS5tYXRjaCgnYXJtZWInLCBhcmNoLCByZS5JKToKKyAgICAgICAgcmV0dXJuICdhcm0nCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIGFyY2gKKworRVhUUkFfVUZUUkFDRV9PRUNPTkYgPSAiQVJDSD0ke0BzZXRfdGFyZ2V0X2FyY2goZCl9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhfZWxmdXRpbHM9L3VzZS9saWJlbGYvZnJvbS9zeXNyb290IgorCitkb19jb25maWd1cmUoKSB7CisgICAgJHtTfS9jb25maWd1cmUgJHtFWFRSQV9VRlRSQUNFX09FQ09ORn0KK30KKworRklMRVNfU09MSUJTREVWID0gIiIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vKi5zbyIKKworQ09NUEFUSUJMRV9IT1NUID0gIihpLjg2fHg4Nl82NHxhYXJjaDY0fGFybSkiCisKKyMgdWZ0cmFjZSBzdXBwb3J0cyBhcm12NiBhbmQgYWJvdmUKK0NPTVBBVElCTEVfSE9TVF9hcm12NCA9ICdudWxsJworQ09NUEFUSUJMRV9IT1NUX2FybXY1ID0gJ251bGwnCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveG1scnBjLWMveG1scnBjLWMvMDAwMS1maXgtY29tcGlsZS1mYWlsdXJlLWFnYWluc3QtbXVzbC1DLWxpYnJhcnkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveG1scnBjLWMveG1scnBjLWMvMDAwMS1maXgtY29tcGlsZS1mYWlsdXJlLWFnYWluc3QtbXVzbC1DLWxpYnJhcnkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzNGQ2OTYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3htbHJwYy1jL3htbHJwYy1jLzAwMDEtZml4LWNvbXBpbGUtZmFpbHVyZS1hZ2FpbnN0LW11c2wtQy1saWJyYXJ5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotRnJvbSA5NTBiMjdmODMyMGI4NDE0OTBjYWZjYjNlNmUzYjgxOGM3MTc0YzBkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCAyMCBKdWwgMjAxNyAyMjozMjo1MCAtMDQwMAotU3ViamVjdDogW1BBVENIXSBmaXggY29tcGlsZSBmYWlsdXJlIGFnYWluc3QgbXVzbCBDIGxpYnJhcnkKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIHRlc3QvY3BwL3NlcnZlcl9hYnlzcy5jcHAgICAgICAgICAgICAgICB8ICAyICstCi0gdG9vbHMveG1scnBjX3BzdHJlYW0veG1scnBjX3BzdHJlYW0uY3BwIHwgMTAgKysrKysrKy0tLQotIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvdGVzdC9jcHAvc2VydmVyX2FieXNzLmNwcCBiL3Rlc3QvY3BwL3NlcnZlcl9hYnlzcy5jcHAKLWluZGV4IDI0NThhOGYuLjgyZjkxZGEgMTAwNjQ0Ci0tLS0gYS90ZXN0L2NwcC9zZXJ2ZXJfYWJ5c3MuY3BwCi0rKysgYi90ZXN0L2NwcC9zZXJ2ZXJfYWJ5c3MuY3BwCi1AQCAtMTgsNyArMTgsNyBAQAotICNpZmRlZiBXSU4zMgotICAgI2luY2x1ZGUgPHdpbnNvY2syLmg+Ci0gI2Vsc2UKLS0gICNpbmNsdWRlIDxzeXMvdW5pc3RkLmg+Ci0rICAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0gICAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgotICAgI2luY2x1ZGUgPGFycGEvaW5ldC5oPgotICAgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KLWRpZmYgLS1naXQgYS90b29scy94bWxycGNfcHN0cmVhbS94bWxycGNfcHN0cmVhbS5jcHAgYi90b29scy94bWxycGNfcHN0cmVhbS94bWxycGNfcHN0cmVhbS5jcHAKLWluZGV4IGQzOWUxMDUuLjFmZDg5MDAgMTAwNjQ0Ci0tLS0gYS90b29scy94bWxycGNfcHN0cmVhbS94bWxycGNfcHN0cmVhbS5jcHAKLSsrKyBiL3Rvb2xzL3htbHJwY19wc3RyZWFtL3htbHJwY19wc3RyZWFtLmNwcAotQEAgLTE1LDExICsxNSwxNSBAQAotICNpbmNsdWRlICJ4bWxycGMtYy9naXJlcnIuaHBwIgotIHVzaW5nIGdpcmVycjo6dGhyb3dmOwotIAotLSNpbmNsdWRlIDxmZWF0dXJlcy5oPiAgLy8gZm9yIF9fQkVHSU5fREVDTFMKLSsjaWZkZWYgX19jcGx1c3BsdXMKLStleHRlcm4gIkMiIHsKLSsjZW5kaWYKLSAKLS1fX0JFR0lOX0RFQ0xTCi0gI2luY2x1ZGUgImR1bXB2YWx1ZS5oIiAgLyogQW4gaW50ZXJuYWwgWG1scnBjLWMgaGVhZGVyIGZpbGUgISAqLwotLV9fRU5EX0RFQ0xTCi0rCi0rI2lmZGVmIF9fY3BsdXNwbHVzCi0rfQotKyNlbmRpZgotIAotIAotICNpbmNsdWRlIDx4bWxycGMtYy9iYXNlLmhwcD4KLS0tIAotMi44LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3htbHJwYy1jL3htbHJwYy1jLzAwMDEtdGVzdC1jcHAtc2VydmVyX2FieXNzLUZpeC1idWlsZC13aXRoLWNsYW5nLWxpYmMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveG1scnBjLWMveG1scnBjLWMvMDAwMS10ZXN0LWNwcC1zZXJ2ZXJfYWJ5c3MtRml4LWJ1aWxkLXdpdGgtY2xhbmctbGliYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTgzYjAxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3htbHJwYy1jL3htbHJwYy1jLzAwMDEtdGVzdC1jcHAtc2VydmVyX2FieXNzLUZpeC1idWlsZC13aXRoLWNsYW5nLWxpYmMucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbSBkYmEzYzViZjM0ZWQ1MzBmZDQxZWQ1MDk2ODgyNWFmMjE1OGYxNDJlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjkgSmFuIDIwMTkgMTM6MzE6MzkgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gdGVzdC9jcHAvc2VydmVyX2FieXNzOiBGaXggYnVpbGQgd2l0aCBjbGFuZy9saWJjKysKKworL21udC9hL3lvZS93b3Jrc3BhY2Uvc291cmNlcy94bWxycGMtYy90ZXN0L2NwcC9zZXJ2ZXJfYWJ5c3MuY3BwOjg3OjE0OiBlcnJvcjogYXNzaWduaW5nIHRvICdpbnQnIGZyb20gaW5jb21wYXRpYmxlIHR5cGUgJ19fYmluZDxpbnQKKyYsIHNvY2thZGRyICosIHVuc2lnbmVkIGludD4nCisgICAgICAgIHJjID0gYmluZCh0aGlzLT5mZCwgKHN0cnVjdCBzb2NrYWRkciAqKSZzb2NrQWRkciwgc2l6ZW9mKHNvY2tBZGRyKSk7CisgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgdGVzdC9jcHAvc2VydmVyX2FieXNzLmNwcCB8IDU2ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKKworLS0tIGEvdGVzdC9jcHAvc2VydmVyX2FieXNzLmNwcAorKysrIGIvdGVzdC9jcHAvc2VydmVyX2FieXNzLmNwcAorQEAgLTg1LDcgKzg1LDcgQEAgcHVibGljOgorICAgICAgICAgc29ja0FkZHIuc2luX3BvcnQgICA9IGh0b25zKHBvcnROdW1iZXIpOworICAgICAgICAgc29ja0FkZHIuc2luX2FkZHIuc19hZGRyID0gMDsKKyAKKy0gICAgICAgIHJjID0gYmluZCh0aGlzLT5mZCwgKHN0cnVjdCBzb2NrYWRkciAqKSZzb2NrQWRkciwgc2l6ZW9mKHNvY2tBZGRyKSk7CisrICAgICAgICByYyA9IDo6YmluZCh0aGlzLT5mZCwgKHN0cnVjdCBzb2NrYWRkciAqKSZzb2NrQWRkciwgc2l6ZW9mKHNvY2tBZGRyKSk7CisgICAgICAgICAKKyAgICAgICAgIGlmIChyYyAhPSAwKSB7CisgICAgICAgICAgICAgY2xvc2Vzb2NrKHRoaXMtPmZkKTsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy94bWxycGMtYy94bWxycGMtY18xLjMxLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveG1scnBjLWMveG1scnBjLWNfMS4zMS4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZmE1OGYxLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy94bWxycGMtYy94bWxycGMtY18xLjMxLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1ERVNDUklQVElPTiA9ICJYTUwtUlBDIGZvciBDL0MrKyBpcyBwcm9ncmFtbWluZyBsaWJyYXJpZXMgYW5kIHJlbGF0ZWQgdG9vbHMgdG8gaGVscCB5b3UgXAotd3JpdGUgYW4gWE1MLVJQQyBzZXJ2ZXIgb3IgY2xpZW50IGluIEMgb3IgQysrLiIKLQotSE9NRVBBR0UgPSAiaHR0cDovL3htbHJwYy1jLnNvdXJjZWZvcmdlLm5ldC8iCi1MSUNFTlNFID0gIkJTRCAmIE1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvYy9DT1BZSU5HO21kNT1hZWZiZjgxYmEwNzUwZjAyMTc2YjZmODY3NTJlYTk1MSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2Vuc2MveG1scnBjLWMuZ2l0O2JyYW5jaD1tYXN0ZXIgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtY29tcGlsZS1mYWlsdXJlLWFnYWluc3QtbXVzbC1DLWxpYnJhcnkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1maXgtZm9ybWF0dGluZy1pc3N1ZXMucGF0Y2ggXAotIgotU1JDUkVWID0gIjgxNDQzYTlkYzIzNGNjMjc1NDQ5ZGJjMTc4NjdhZDc3YWUxODkxMjQiCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1ERVBFTkRTID0gImN1cmwgbGlieG1sMiIKLVJERVBFTkRTXyR7UE59ID0gImN1cmwgcGVybCIKLQotaW5oZXJpdCBjbWFrZQotCi1FWFRSQV9PRUNNQUtFID0gIi1EX2xpYjpTVFJJTkc9JHtiYXNlbGlifSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCi0KLVRBUkdFVF9DRkxBR1MgKz0gIi1Xbm8tbmFycm93aW5nIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3htbHJwYy1jL3htbHJwYy1jXzEuNTEuMDMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveG1scnBjLWMveG1scnBjLWNfMS41MS4wMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjQyNjM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3htbHJwYy1jL3htbHJwYy1jXzEuNTEuMDMuYmIKQEAgLTAsMCArMSw0OSBAQAorREVTQ1JJUFRJT04gPSAiWE1MLVJQQyBmb3IgQy9DKysgaXMgcHJvZ3JhbW1pbmcgbGlicmFyaWVzIGFuZCByZWxhdGVkIHRvb2xzIHRvIGhlbHAgeW91IFwKK3dyaXRlIGFuIFhNTC1SUEMgc2VydmVyIG9yIGNsaWVudCBpbiBDIG9yIEMrKy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly94bWxycGMtYy5zb3VyY2Vmb3JnZS5uZXQvIgorTElDRU5TRSA9ICJCU0QgJiBNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2MvQ09QWUlORzttZDU9YWVmYmY4MWJhMDc1MGYwMjE3NmI2Zjg2NzUyZWE5NTEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9taXJyb3IveG1scnBjLWMuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtdGVzdC1jcHAtc2VydmVyX2FieXNzLUZpeC1idWlsZC13aXRoLWNsYW5nLWxpYmMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1maXgtZm9ybWF0dGluZy1pc3N1ZXMucGF0Y2ggXAorICAgICAgICAgICAiCisjUmVsZWFzZSAxLjUxLjAzCitTUkNSRVYgPSAiMzQzYTNiOThlNTQ5OTlkNjdlZGI2NDRiY2QzOTVhYTk3ODRmYjE2ZSIKKworUyA9ICIke1dPUktESVJ9L2dpdC9zdGFibGUiCisKK0RFUEVORFMgPSAibGlieG1sMiIKK1JERVBFTkRTXyR7UE59ID0gInBlcmwiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBiaW5jb25maWcgcGtnY29uZmlnCisKK1RBUkdFVF9DRkxBR1MgKz0gIi1Xbm8tbmFycm93aW5nIgorCitFWFRSQV9PRU1BS0UgKz0gIkNDX0ZPUl9CVUlMRD0nJHtCVUlMRF9DQ30nIFwKKyAgICAgICAgICAgICAgICAgTERfRk9SX0JVSUxEPScke0JVSUxEX0xEfScgXAorICAgICAgICAgICAgICAgICBDRkxBR1NfRk9SX0JVSUxEPScke0JVSUxEX0NGTEFHU30nIFwKKyAgICAgICAgICAgICAgICAgTERGTEFHU19GT1JfQlVJTEQ9JyR7QlVJTERfTERGTEFHU30nIFwKKyAgICAgICAgICAgICAgICAgIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1saWJ3d3ctY2xpZW50IC0tZGlzYWJsZS13aW5pbmV0LWNsaWVudCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImN1cmwgY3BsdXNwbHVzIgorCitQQUNLQUdFQ09ORklHW2FieXNzXSA9ICItLWVuYWJsZS1hYnlzcy1zZXJ2ZXIgLS1lbmFibGUtYWJ5c3MtdGhyZWFkcyAtLWVuYWJsZS1hYnlzcy1vcGVuc3NsLC0tZGlzYWJsZS1hYnlzcy1zZXJ2ZXIgLS1kaXNhYmxlLWFieXNzLXRocmVhZHMgLS1kaXNhYmxlLWFieXNzLW9wZW5zc2wsb3BlbnNzbCwiCitQQUNLQUdFQ09ORklHW2NwbHVzcGx1c10gPSAiLS1lbmFibGUtY3BsdXNwbHVzLC0tZGlzYWJsZS1jcGx1c3BsdXMsLCIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLS1lbmFibGUtY3VybC1jbGllbnQsLS1kaXNhYmxlLWN1cmwtY2xpZW50LGN1cmwsY3VybCIKKworZG9fY29uZmlndXJlKCkgeworICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5ndWVzcyAke1N9CisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLnN1YiAke1N9CisgICAgICAgIGF1dG9jb25mCisgICAgICAgIG9lX3J1bmNvbmYKKyAgICAgICAgIyBsaWNlbnNlIGlzIGluY29tcGF0aWJsZSB3aXRoIGxpYi91dGlsL2dldG9wdHguKgorICAgICAgICBybSAtZnYgJHtTfS90b29scy90dXJib2NoYXJnZXIvbW9kX2d6aXAuYworfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworQ0xFQU5CUk9LRU4gPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC8wMDA1LURpc2FibGUtbmV3LWdjYzgtd2FybmluZ3MucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvMDAwNS1EaXNhYmxlLW5ldy1nY2M4LXdhcm5pbmdzLnBhdGNoCmluZGV4IGIxMjY5MGIuLjEzNTEwY2QgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC8wMDA1LURpc2FibGUtbmV3LWdjYzgtd2FybmluZ3MucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkLzAwMDUtRGlzYWJsZS1uZXctZ2NjOC13YXJuaW5ncy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gZDY1ZTQ4YjY4MDc2ZDViMzA0ZTZkODY1OTY3MDAzYWUxZmVhMGU2YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZjgyZjhmYWY5OTQyZjUxZTljM2M3NzNiNTY1NzQ2NTI2OTViZWY1YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDkgTWF5IDIwMTggMjE6NDU6MzggLTA3MDAKIFN1YmplY3Q6IFtQQVRDSF0gRGlzYWJsZSBuZXcgZ2NjOCB3YXJuaW5ncwpAQCAtNywxNyArNywxNyBAQAogYWxyZWFkeSBpbiBwbGFjZQogCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCiAtLS0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vY29sbGVjdGQvY29sbGVjdGQvcHVsbC8yNzY4XQogIHNyYy9saWJjb2xsZWN0ZGNsaWVudC9uZXR3b3JrX3BhcnNlLmMgfCA3ICsrKysrKysKICBzcmMvd3JpdGVfc2Vuc3UuYyAgICAgICAgICAgICAgICAgICAgIHwgNyArKysrKysrCiAgMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9zcmMvbGliY29sbGVjdGRjbGllbnQvbmV0d29ya19wYXJzZS5jIGIvc3JjL2xpYmNvbGxlY3RkY2xpZW50L25ldHdvcmtfcGFyc2UuYwotaW5kZXggMjM2NWFiMGEuLjc5ZTZlZDk2IDEwMDY0NAoraW5kZXggYWE3NTNjZS4uZmVmNDNhOSAxMDA2NDQKIC0tLSBhL3NyYy9saWJjb2xsZWN0ZGNsaWVudC9uZXR3b3JrX3BhcnNlLmMKICsrKyBiL3NyYy9saWJjb2xsZWN0ZGNsaWVudC9uZXR3b3JrX3BhcnNlLmMKLUBAIC0xNjMsNiArMTYzLDExIEBAIHN0YXRpYyBpbnQgcGFyc2VfaW50KHZvaWQgKnBheWxvYWQsIHNpemVfdCBwYXlsb2FkX3NpemUsIHVpbnQ2NF90ICpvdXQpIHsKK0BAIC0xNDgsNiArMTQ4LDExIEBAIHN0YXRpYyBpbnQgcGFyc2VfaW50KHZvaWQgKnBheWxvYWQsIHNpemVfdCBwYXlsb2FkX3NpemUsIHVpbnQ2NF90ICpvdXQpIHsKICAgIHJldHVybiAwOwogIH0KICAKQEAgLTI5LDcgKzI5LDcgQEAKICBzdGF0aWMgaW50IHBhcnNlX3N0cmluZyh2b2lkICpwYXlsb2FkLCBzaXplX3QgcGF5bG9hZF9zaXplLCBjaGFyICpvdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IG91dF9zaXplKSB7CiAgICBjaGFyICppbiA9IHBheWxvYWQ7Ci1AQCAtMTc1LDYgKzE4MCw4IEBAIHN0YXRpYyBpbnQgcGFyc2Vfc3RyaW5nKHZvaWQgKnBheWxvYWQsIHNpemVfdCBwYXlsb2FkX3NpemUsIGNoYXIgKm91dCwKK0BAIC0xNjAsNiArMTY1LDggQEAgc3RhdGljIGludCBwYXJzZV9zdHJpbmcodm9pZCAqcGF5bG9hZCwgc2l6ZV90IHBheWxvYWRfc2l6ZSwgY2hhciAqb3V0LAogICAgcmV0dXJuIDA7CiAgfQogIApAQCAtMzksMjIgKzM5LDIyIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxjY192YWx1ZV9saXN0X3QgKnN0YXRlKSB7CiAgICBjaGFyIGJ1ZltMQ0NfTkFNRV9MRU5dOwogZGlmZiAtLWdpdCBhL3NyYy93cml0ZV9zZW5zdS5jIGIvc3JjL3dyaXRlX3NlbnN1LmMKLWluZGV4IGNlMjNlNjU0Li42M2UxZjU5OSAxMDA2NDQKK2luZGV4IGJkN2E1NmQuLjZjYjU5ZDUgMTAwNjQ0CiAtLS0gYS9zcmMvd3JpdGVfc2Vuc3UuYwogKysrIGIvc3JjL3dyaXRlX3NlbnN1LmMKLUBAIC01NjksNiArNTY5LDExIEBAIHN0YXRpYyBjaGFyICpzZW5zdV92YWx1ZV90b19qc29uKHN0cnVjdCBzZW5zdV9ob3N0IGNvbnN0ICpob3N0LCAvKiB7e3sgKi8KK0BAIC01NzAsNiArNTcwLDExIEBAIHN0YXRpYyBjaGFyICpzZW5zdV92YWx1ZV90b19qc29uKHN0cnVjdCBzZW5zdV9ob3N0IGNvbnN0ICpob3N0LCAvKiB7e3sgKi8KICAgIHJldHVybiByZXRfc3RyOwogIH0gLyogfX19IGNoYXIgKnNlbnN1X3ZhbHVlX3RvX2pzb24gKi8KICAKICsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKLSsjaWYgX19HTlVDX18gPT0gOAorKyNpZiBfX0dOVUNfXyA+IDcKICsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc3RyaW5nb3Atb3ZlcmZsb3ciCiArI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV3N0cmluZ29wLXRydW5jYXRpb24iCiArI2VuZGlmCiAgLyoKICAgKiBVc2VzIHJlcGxhY2Vfc3RyMigpIGltcGxlbWVudGF0aW9uIGZyb20KICAgKiBodHRwOi8vY3JlYXRpdmVhbmRjcml0aWNhbC5uZXQvc3RyLXJlcGxhY2UtYy8KLUBAIC02MzEsNiArNjM2LDggQEAgc3RhdGljIGNoYXIgKnJlcGxhY2Vfc3RyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqb2xkLCAvKiB7e3sgKi8KK0BAIC02MzIsNiArNjM3LDggQEAgc3RhdGljIGNoYXIgKnJlcGxhY2Vfc3RyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqb2xkLCAvKiB7e3sgKi8KICAgIHJldHVybiByZXQ7CiAgfSAvKiB9fX0gY2hhciAqcmVwbGFjZV9zdHIgKi8KICAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC8wMDA2LWxpYmNvbGxlY3RkY2xpZW50LUZpeC1zdHJpbmctb3ZlcmZsb3ctZXJyb3JzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkLzAwMDYtbGliY29sbGVjdGRjbGllbnQtRml4LXN0cmluZy1vdmVyZmxvdy1lcnJvcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2VkNjUyZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC8wMDA2LWxpYmNvbGxlY3RkY2xpZW50LUZpeC1zdHJpbmctb3ZlcmZsb3ctZXJyb3JzLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gOTg3MTllYTdmNzE3NzUwYzc5MGExZjkzODRlYThkMDExN2U3ZjUyZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDE3IERlYyAyMDE4IDE4OjE1OjA1IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpYmNvbGxlY3RkY2xpZW50OiBGaXggc3RyaW5nIG92ZXJmbG93IGVycm9ycworCitFbnN1cmUgdGhhdCBzdHJpbmcgaGFzIGEgc3BhY2UgZm9yIGVuZGluZyBudWxsIGNoYXIKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBzcmMvbGliY29sbGVjdGRjbGllbnQvbmV0d29ya19wYXJzZS5jIHwgNiArKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2xpYmNvbGxlY3RkY2xpZW50L25ldHdvcmtfcGFyc2UuYyBiL3NyYy9saWJjb2xsZWN0ZGNsaWVudC9uZXR3b3JrX3BhcnNlLmMKK2luZGV4IGZlZjQzYTkuLjZkNjUyNjYgMTAwNjQ0CistLS0gYS9zcmMvbGliY29sbGVjdGRjbGllbnQvbmV0d29ya19wYXJzZS5jCisrKysgYi9zcmMvbGliY29sbGVjdGRjbGllbnQvbmV0d29ya19wYXJzZS5jCitAQCAtMTY5LDkgKzE2OSw5IEBAIHN0YXRpYyBpbnQgcGFyc2Vfc3RyaW5nKHZvaWQgKnBheWxvYWQsIHNpemVfdCBwYXlsb2FkX3NpemUsIGNoYXIgKm91dCwKKyAKKyBzdGF0aWMgaW50IHBhcnNlX2lkZW50aWZpZXIodWludDE2X3QgdHlwZSwgdm9pZCAqcGF5bG9hZCwgc2l6ZV90IHBheWxvYWRfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGNjX3ZhbHVlX2xpc3RfdCAqc3RhdGUpIHsKKy0gIGNoYXIgYnVmW0xDQ19OQU1FX0xFTl07CistCistICBpZiAocGFyc2Vfc3RyaW5nKHBheWxvYWQsIHBheWxvYWRfc2l6ZSwgYnVmLCBzaXplb2YoYnVmKSkgIT0gMCkKKysgIGNoYXIgYnVmW0xDQ19OQU1FX0xFTisxXTsKKysgIGJ1ZltMQ0NfTkFNRV9MRU5dID0gJ1wwJzsKKysgIGlmIChwYXJzZV9zdHJpbmcocGF5bG9hZCwgcGF5bG9hZF9zaXplLCBidWYsIExDQ19OQU1FX0xFTikgIT0gMCkKKyAgICAgcmV0dXJuIEVJTlZBTDsKKyAKKyAgIHN3aXRjaCAodHlwZSkgewpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkXzUuOC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkXzUuOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZjlmYTIzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZF81LjguMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDg3ICswLDAgQEAKLVNVTU1BUlkgPSAiQ29sbGVjdHMgYW5kIHN1bW1hcmlzZXMgc3lzdGVtIHBlcmZvcm1hbmNlIHN0YXRpc3RpY3MiCi1ERVNDUklQVElPTiA9ICJjb2xsZWN0ZCBpcyBhIGRhZW1vbiB3aGljaCBjb2xsZWN0cyBzeXN0ZW0gcGVyZm9ybWFuY2Ugc3RhdGlzdGljcyBwZXJpb2RpY2FsbHkgYW5kIHByb3ZpZGVzIG1lY2hhbmlzbXMgdG8gc3RvcmUgdGhlIHZhbHVlcyBpbiBhIHZhcmlldHkgb2Ygd2F5cywgZm9yIGV4YW1wbGUgaW4gUlJEIGZpbGVzLiIKLUxJQ0VOU0UgPSAiR1BMdjIgJiBNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xYmQyMWYxOWY3ZjBjNjFhN2JlOGVjYWNiMGUyODg1NCIKLQotREVQRU5EUyA9ICJycmR0b29sIGN1cmwgbGlicGNhcCBsaWJ4bWwyIHlhamwgbGliZ2NyeXB0IGxpYnRvb2wgbHZtMiIKLQotU1JDX1VSSSA9ICJodHRwOi8vY29sbGVjdGQub3JnL2ZpbGVzL2NvbGxlY3RkLSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vY29sbGVjdGQuaW5pdCBcCi0gICAgICAgICAgIGZpbGU6Ly9jb2xsZWN0ZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovL25vLWdjcnlwdC1iYWRwYXRoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZGl0aW9uYWxseS1jaGVjay1saWJ2aXJ0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LXRvLWJ1aWxkLXdpdGgtZ2xpYmMtMi4yNS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS1DaGVjay1mb3ItV25vLWVycm9yLWZvcm1hdC10cnVuY2F0aW9uLWNvbXAucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNS1EaXNhYmxlLW5ldy1nY2M4LXdhcm5pbmdzLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gImE4NDExNTkzMjM2MjRmMThiZjAzMTk4ZTlmNWFhMzY0IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImIwNmZmNDc2YmJmMDU1MzNjYjk3YWU2NzQ5MjYyY2MzYzc2Yzk5NjlmMDMyYmQ4NDk2NjkwMDg0ZGRlYjE1YzkiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHB5dGhvbm5hdGl2ZSB1cGRhdGUtcmMuZCBwa2djb25maWcgc3lzdGVtZAotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiY29sbGVjdGQuc2VydmljZSIKLQotIyBGbG9hdGluZ3BvaW50IGxheW91dCwgYXJjaGl0ZWN0dXJlIGRlcGVuZGVudAotIyAnbm90aGluZycsICdlbmRpYW5mbGlwJyBvciAnaW50c3dhcCcKLUZQTEFZT1VUID89ICItLXdpdGgtZnAtbGF5b3V0PW5vdGhpbmciCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHW29wZW5qZGtdID0gIi0td2l0aC1qYXZhPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7bGliZGlyfS9qdm0sLS13aXRob3V0LWphdmEsb3Blbmpkay03IgotUEFDS0FHRUNPTkZJR1tzbm1wXSA9ICItLWVuYWJsZS1zbm1wLC0tZGlzYWJsZS1zbm1wIC0td2l0aC1saWJuZXRzbm1wPW5vLG5ldC1zbm1wIgotUEFDS0FHRUNPTkZJR1tsaWJtZW1jYWNoZWRdID0gIi0td2l0aC1saWJtZW1jYWNoZWQsLS13aXRob3V0LWxpYm1lbWNhY2hlZCxsaWJtZW1jYWNoZWQiCi1QQUNLQUdFQ09ORklHW2lwdGFibGVzXSA9ICItLWVuYWJsZS1pcHRhYmxlcywtLWRpc2FibGUtaXB0YWJsZXMsaXB0YWJsZXMiCi1QQUNLQUdFQ09ORklHW3Bvc3RncmVzcWxdID0gIi0tZW5hYmxlLXBvc3RncmVzcWwgLS13aXRoLWxpYnBxPXllcywgXAotICAgICAgICAtLWRpc2FibGUtcG9zdGdyZXNxbCAtLXdpdGgtbGlicHE9bm8scG9zdGdyZXNxbCIKLVBBQ0tBR0VDT05GSUdbbXlzcWxdID0gIi0tZW5hYmxlLW15c3FsIC0td2l0aC1saWJteXNxbD15ZXMsIFwKLSAgICAgICAgLS1kaXNhYmxlLW15c3FsIC0td2l0aC1saWJteXNxbD1ubyxteXNxbDUiCi1QQUNLQUdFQ09ORklHW2RiaV0gPSAiLS1lbmFibGUtZGJpLC0tZGlzYWJsZS1kYmksbGliZGJpIgotUEFDS0FHRUNPTkZJR1ttb2RidXNdID0gIi0tZW5hYmxlLW1vZGJ1cywtLWRpc2FibGUtbW9kYnVzLGxpYm1vZGJ1cyIKLVBBQ0tBR0VDT05GSUdbbGlib3djYXBpXSA9ICItLXdpdGgtbGlib3djYXBpLC0td2l0aG91dC1saWJvd2NhcGksb3dmcyIKLVBBQ0tBR0VDT05GSUdbc2Vuc29yc10gPSAiLS1lbmFibGUtc2Vuc29ycyAtLXdpdGgtbGlic2Vuc29ycz15ZXMsIFwKLSAgICAgICAgLS1kaXNhYmxlLXNlbnNvcnMgLS13aXRoLWxpYnNlbnNvcnM9bm8sbG1zZW5zb3JzIgotUEFDS0FHRUNPTkZJR1thbXFwXSA9ICItLWVuYWJsZS1hbXFwIC0td2l0aC1saWJyYWJiaXRtcT15ZXMsIFwKLSAgICAgICAgLS1kaXNhYmxlLWFtcXAgLS13aXRoLWxpYnJhYmJpdG1xPW5vLHJhYmJpdG1xLWMiCi0jIHByb3RvYnVmLWMsIGxpYnZpcnQgdGhhdCBhcmUgY3VycmVudGx5IG9ubHkgYXZhaWxhYmxlIGluIG1ldGEtdmlydHVhbGl6YXRpb24gbGF5ZXIKLVBBQ0tBR0VDT05GSUdbcGluYmFdID0gIi0tZW5hYmxlLXBpbmJhLC0tZGlzYWJsZS1waW5iYSxwcm90b2J1Zi1jLW5hdGl2ZSBwcm90b2J1Zi1jIgotUEFDS0FHRUNPTkZJR1tsaWJ2aXJ0XSA9ICItLWVuYWJsZS12aXJ0LC0tZGlzYWJsZS12aXJ0LGxpYnZpcnQiCi1QQUNLQUdFQ09ORklHW2xpYmVzbXRwXSA9ICItLXdpdGgtbGliZXNtdHAsLS13aXRob3V0LWxpYmVzbXRwLGxpYmVzbXRwIgotUEFDS0FHRUNPTkZJR1tsaWJtbmxdID0gIi0td2l0aC1saWJtbmwsLS13aXRob3V0LWxpYm1ubCxsaWJtbmwiCi1QQUNLQUdFQ09ORklHW2xpYmF0YXNtYXJ0XSA9ICItLXdpdGgtbGliYXRhc21hcnQsLS13aXRob3V0LWxpYmF0YXNtYXJ0LGxpYmF0YXNtYXJ0IgotUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLWVuYWJsZS1vcGVubGRhcCAtLXdpdGgtbGlibGRhcCwtLWRpc2FibGUtb3BlbmxkYXAgLS13aXRob3V0LWxpYmxkYXAsIG9wZW5sZGFwIgotCi1FWFRSQV9PRUNPTkYgPSAiIFwKLSAgICAgICAgICAgICAgICAke0ZQTEFZT1VUfSBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLXBlcmwgLS13aXRoLWxpYnBlcmw9bm8gLS13aXRoLXBlcmwtYmluZGluZ3M9bm8gXAotICAgICAgICAgICAgICAgIC0td2l0aC1saWJnY3J5cHQ9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vbGliZ2NyeXB0LWNvbmZpZyBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLW5vdGlmeV9kZXNrdG9wIFwKLSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9jb2xsZWN0ZC5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb2xsZWN0ZAotICAgIHNlZCAtaSAncyEvdXNyL3NiaW4vISR7c2JpbmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb2xsZWN0ZAotICAgIHNlZCAtaSAncyEvZXRjLyEke3N5c2NvbmZkaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvY29sbGVjdGQKLSAgICBzZWQgLWkgJ3MhL3Zhci8hJHtsb2NhbHN0YXRlZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCi0gICAgc2VkIC1pICdzIV5QQVRIPS4qIVBBVEg9JHtiYXNlX3NiaW5kaXJ9OiR7YmFzZV9iaW5kaXJ9OiR7c2JpbmRpcn06JHtiaW5kaXJ9IScgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCi0gICAgaW5zdGFsbCAtRG0gMDY0MCAke0J9L3NyYy9jb2xsZWN0ZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2NvbGxlY3RkLmNvbmYKLSAgICAjIEZpeCBjb25maWd1cmF0aW9uIGZpbGUgdG8gYWxsb3cgY29sbGVjdGQgdG8gc3RhcnQgdXAKLSAgICBzZWQgLWkgJ3MhXiNGUUROTG9va3VwWyBcdF0qdHJ1ZSFGUUROTG9va3VwICAgZmFsc2UhZycgJHtEfSR7c3lzY29uZmRpcn0vY29sbGVjdGQuY29uZgotCi0gICAgcm1kaXIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKLSAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0iCi0KLSAgICAjIEluc3RhbGwgc3lzdGVtZCB1bml0IGZpbGVzCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2NvbGxlY3RkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICBzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAotICAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9jb2xsZWN0ZC5zZXJ2aWNlCi19Ci0KLUNPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L2NvbGxlY3RkLmNvbmYiCi0KLUlOSVRTQ1JJUFRfTkFNRSA9ICJjb2xsZWN0ZCIKLUlOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgotCi0jIHRocmVzaG9sZC5zbyBsb2FkLnNvIGFyZSBhbHNvIHByb3ZpZGVkIGJ5IGdlZ2wKLSMgZGlzay5zbyBpcyBhbHNvIHByb3ZpZGVkIGJ5IGxpYmdwaG90bzItY2FtbGlicwotUFJJVkFURV9MSUJTID0gInRocmVzaG9sZC5zbyBsb2FkLnNvIGRpc2suc28iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGRfNS44LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGRfNS44LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRmZjE4YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZF81LjguMS5iYgpAQCAtMCwwICsxLDg4IEBACitTVU1NQVJZID0gIkNvbGxlY3RzIGFuZCBzdW1tYXJpc2VzIHN5c3RlbSBwZXJmb3JtYW5jZSBzdGF0aXN0aWNzIgorREVTQ1JJUFRJT04gPSAiY29sbGVjdGQgaXMgYSBkYWVtb24gd2hpY2ggY29sbGVjdHMgc3lzdGVtIHBlcmZvcm1hbmNlIHN0YXRpc3RpY3MgcGVyaW9kaWNhbGx5IGFuZCBwcm92aWRlcyBtZWNoYW5pc21zIHRvIHN0b3JlIHRoZSB2YWx1ZXMgaW4gYSB2YXJpZXR5IG9mIHdheXMsIGZvciBleGFtcGxlIGluIFJSRCBmaWxlcy4iCitMSUNFTlNFID0gIkdQTHYyICYgTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWJkMjFmMTlmN2YwYzYxYTdiZThlY2FjYjBlMjg4NTQiCisKK0RFUEVORFMgPSAicnJkdG9vbCBjdXJsIGxpYnBjYXAgbGlieG1sMiB5YWpsIGxpYmdjcnlwdCBsaWJ0b29sIGx2bTIiCisKK1NSQ19VUkkgPSAiaHR0cDovL2NvbGxlY3RkLm9yZy9maWxlcy9jb2xsZWN0ZC0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2NvbGxlY3RkLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vY29sbGVjdGQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9uby1nY3J5cHQtYmFkcGF0aC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmRpdGlvbmFsbHktY2hlY2stbGlidmlydC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC10by1idWlsZC13aXRoLWdsaWJjLTIuMjUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtQ2hlY2stZm9yLVduby1lcnJvci1mb3JtYXQtdHJ1bmNhdGlvbi1jb21wLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtRGlzYWJsZS1uZXctZ2NjOC13YXJuaW5ncy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA2LWxpYmNvbGxlY3RkY2xpZW50LUZpeC1zdHJpbmctb3ZlcmZsb3ctZXJyb3JzLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImJmY2U5NmM0MmNlZGU1MjQzMDI4NTEwYmNjNTdjMWU2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU3OTZmZGEyN2NlMDYzNzdmNDkxYWQ5MWFhMjg2OTYyYTY4YzJiNTQwNzZhYTc3YTI5NjczZDUzMjA0NDUzZGEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHB5dGhvbm5hdGl2ZSB1cGRhdGUtcmMuZCBwa2djb25maWcgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiY29sbGVjdGQuc2VydmljZSIKKworIyBGbG9hdGluZ3BvaW50IGxheW91dCwgYXJjaGl0ZWN0dXJlIGRlcGVuZGVudAorIyAnbm90aGluZycsICdlbmRpYW5mbGlwJyBvciAnaW50c3dhcCcKK0ZQTEFZT1VUID89ICItLXdpdGgtZnAtbGF5b3V0PW5vdGhpbmciCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW29wZW5qZGtdID0gIi0td2l0aC1qYXZhPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7bGliZGlyfS9qdm0sLS13aXRob3V0LWphdmEsb3Blbmpkay03IgorUEFDS0FHRUNPTkZJR1tzbm1wXSA9ICItLWVuYWJsZS1zbm1wLC0tZGlzYWJsZS1zbm1wIC0td2l0aC1saWJuZXRzbm1wPW5vLG5ldC1zbm1wIgorUEFDS0FHRUNPTkZJR1tsaWJtZW1jYWNoZWRdID0gIi0td2l0aC1saWJtZW1jYWNoZWQsLS13aXRob3V0LWxpYm1lbWNhY2hlZCxsaWJtZW1jYWNoZWQiCitQQUNLQUdFQ09ORklHW2lwdGFibGVzXSA9ICItLWVuYWJsZS1pcHRhYmxlcywtLWRpc2FibGUtaXB0YWJsZXMsaXB0YWJsZXMiCitQQUNLQUdFQ09ORklHW3Bvc3RncmVzcWxdID0gIi0tZW5hYmxlLXBvc3RncmVzcWwgLS13aXRoLWxpYnBxPXllcywgXAorICAgICAgICAtLWRpc2FibGUtcG9zdGdyZXNxbCAtLXdpdGgtbGlicHE9bm8scG9zdGdyZXNxbCIKK1BBQ0tBR0VDT05GSUdbbXlzcWxdID0gIi0tZW5hYmxlLW15c3FsIC0td2l0aC1saWJteXNxbD15ZXMsIFwKKyAgICAgICAgLS1kaXNhYmxlLW15c3FsIC0td2l0aC1saWJteXNxbD1ubyxteXNxbDUiCitQQUNLQUdFQ09ORklHW2RiaV0gPSAiLS1lbmFibGUtZGJpLC0tZGlzYWJsZS1kYmksbGliZGJpIgorUEFDS0FHRUNPTkZJR1ttb2RidXNdID0gIi0tZW5hYmxlLW1vZGJ1cywtLWRpc2FibGUtbW9kYnVzLGxpYm1vZGJ1cyIKK1BBQ0tBR0VDT05GSUdbbGlib3djYXBpXSA9ICItLXdpdGgtbGlib3djYXBpLC0td2l0aG91dC1saWJvd2NhcGksb3dmcyIKK1BBQ0tBR0VDT05GSUdbc2Vuc29yc10gPSAiLS1lbmFibGUtc2Vuc29ycyAtLXdpdGgtbGlic2Vuc29ycz15ZXMsIFwKKyAgICAgICAgLS1kaXNhYmxlLXNlbnNvcnMgLS13aXRoLWxpYnNlbnNvcnM9bm8sbG1zZW5zb3JzIgorUEFDS0FHRUNPTkZJR1thbXFwXSA9ICItLWVuYWJsZS1hbXFwIC0td2l0aC1saWJyYWJiaXRtcT15ZXMsIFwKKyAgICAgICAgLS1kaXNhYmxlLWFtcXAgLS13aXRoLWxpYnJhYmJpdG1xPW5vLHJhYmJpdG1xLWMiCisjIHByb3RvYnVmLWMsIGxpYnZpcnQgdGhhdCBhcmUgY3VycmVudGx5IG9ubHkgYXZhaWxhYmxlIGluIG1ldGEtdmlydHVhbGl6YXRpb24gbGF5ZXIKK1BBQ0tBR0VDT05GSUdbcGluYmFdID0gIi0tZW5hYmxlLXBpbmJhLC0tZGlzYWJsZS1waW5iYSxwcm90b2J1Zi1jLW5hdGl2ZSBwcm90b2J1Zi1jIgorUEFDS0FHRUNPTkZJR1tsaWJ2aXJ0XSA9ICItLWVuYWJsZS12aXJ0LC0tZGlzYWJsZS12aXJ0LGxpYnZpcnQiCitQQUNLQUdFQ09ORklHW2xpYmVzbXRwXSA9ICItLXdpdGgtbGliZXNtdHAsLS13aXRob3V0LWxpYmVzbXRwLGxpYmVzbXRwIgorUEFDS0FHRUNPTkZJR1tsaWJtbmxdID0gIi0td2l0aC1saWJtbmwsLS13aXRob3V0LWxpYm1ubCxsaWJtbmwiCitQQUNLQUdFQ09ORklHW2xpYmF0YXNtYXJ0XSA9ICItLXdpdGgtbGliYXRhc21hcnQsLS13aXRob3V0LWxpYmF0YXNtYXJ0LGxpYmF0YXNtYXJ0IgorUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLWVuYWJsZS1vcGVubGRhcCAtLXdpdGgtbGlibGRhcCwtLWRpc2FibGUtb3BlbmxkYXAgLS13aXRob3V0LWxpYmxkYXAsIG9wZW5sZGFwIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAgICAgICAgICAgICAke0ZQTEFZT1VUfSBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXBlcmwgLS13aXRoLWxpYnBlcmw9bm8gLS13aXRoLXBlcmwtYmluZGluZ3M9bm8gXAorICAgICAgICAgICAgICAgIC0td2l0aC1saWJnY3J5cHQ9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vbGliZ2NyeXB0LWNvbmZpZyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW5vdGlmeV9kZXNrdG9wIFwKKyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9jb2xsZWN0ZC5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb2xsZWN0ZAorICAgIHNlZCAtaSAncyEvdXNyL3NiaW4vISR7c2JpbmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb2xsZWN0ZAorICAgIHNlZCAtaSAncyEvZXRjLyEke3N5c2NvbmZkaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvY29sbGVjdGQKKyAgICBzZWQgLWkgJ3MhL3Zhci8hJHtsb2NhbHN0YXRlZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCisgICAgc2VkIC1pICdzIV5QQVRIPS4qIVBBVEg9JHtiYXNlX3NiaW5kaXJ9OiR7YmFzZV9iaW5kaXJ9OiR7c2JpbmRpcn06JHtiaW5kaXJ9IScgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCisgICAgaW5zdGFsbCAtRG0gMDY0MCAke0J9L3NyYy9jb2xsZWN0ZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2NvbGxlY3RkLmNvbmYKKyAgICAjIEZpeCBjb25maWd1cmF0aW9uIGZpbGUgdG8gYWxsb3cgY29sbGVjdGQgdG8gc3RhcnQgdXAKKyAgICBzZWQgLWkgJ3MhXiNGUUROTG9va3VwWyBcdF0qdHJ1ZSFGUUROTG9va3VwICAgZmFsc2UhZycgJHtEfSR7c3lzY29uZmRpcn0vY29sbGVjdGQuY29uZgorCisgICAgcm1kaXIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKKyAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0iCisKKyAgICAjIEluc3RhbGwgc3lzdGVtZCB1bml0IGZpbGVzCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2NvbGxlY3RkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAorICAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9jb2xsZWN0ZC5zZXJ2aWNlCit9CisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L2NvbGxlY3RkLmNvbmYiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJjb2xsZWN0ZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgorCisjIHRocmVzaG9sZC5zbyBsb2FkLnNvIGFyZSBhbHNvIHByb3ZpZGVkIGJ5IGdlZ2wKKyMgZGlzay5zbyBpcyBhbHNvIHByb3ZpZGVkIGJ5IGxpYmdwaG90bzItY2FtbGlicworUFJJVkFURV9MSUJTID0gInRocmVzaG9sZC5zbyBsb2FkLnNvIGRpc2suc28iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGF2ZWdlZC9oYXZlZ2VkL2hhdmVnZWQtaW5pdC5kLU1ha2VmaWxlLmFtLWFkZC1taXNzaW5nLWRlcGVuZGVuY3kucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGF2ZWdlZC9oYXZlZ2VkL2hhdmVnZWQtaW5pdC5kLU1ha2VmaWxlLmFtLWFkZC1taXNzaW5nLWRlcGVuZGVuY3kucGF0Y2gKaW5kZXggMzZmZDU3Yy4uMDIwYWMyYyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hhdmVnZWQvaGF2ZWdlZC9oYXZlZ2VkLWluaXQuZC1NYWtlZmlsZS5hbS1hZGQtbWlzc2luZy1kZXBlbmRlbmN5LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oYXZlZ2VkL2hhdmVnZWQvaGF2ZWdlZC1pbml0LmQtTWFrZWZpbGUuYW0tYWRkLW1pc3NpbmctZGVwZW5kZW5jeS5wYXRjaApAQCAtMywxMyArMywxNCBAQAogRGF0ZTogVHVlLCAyNyBNYXIgMjAxOCAxMDoyMTowOSArMDgwMAogU3ViamVjdDogW1BBVENIXSBpbml0LmQvTWFrZWZpbGUuYW06IGFkZCBtaXNzaW5nIGRlcGVuZGVuY3kKIAotaW5zdGFsbC1kYXRhLWhvb2sgc2hvdWxkIGVwZW5kIG9uIGluc3RhbGwtZXhlYy1ob29rLCBvciB0aGUKK2luc3RhbGwtZGF0YS1ob29rIHNob3VsZCBkZXBlbmQgb24gaW5zdGFsbC1leGVjLWhvb2ssIG9yIHRoZQogaGF2ZWdlZC5zZXJ2aWNlIG1pZ2h0IGJlIGluc3RhbGxlZCBpbmNvcnJlY3RseSB3aGVuIGJ1aWxkCiB3aXRoIC1qIG9wdGlvbi4KIAotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtubyB1cHN0cmVhbSBtYWlsaW5nIGxpc3RdCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL2ppcmthLWgvaGF2ZWdlZC9wdWxsLzEzXQogCiBTaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogcmFqLmtoZW1AZ21haWwuY29tCiAtLS0KICBpbml0LmQvTWFrZWZpbGUuYW0gfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCkBAIC0yMSwxMiArMjIsMTEgQEAKIEBAIC0zMyw3ICszMyw3IEBAIGlmIEVOQUJMRV9TWVNURU1ECiAgaW5zdGFsbC1leGVjLWhvb2s6CiAgCSQoZG9fc3Vic3QpIDwgJChzcmNkaXIpLyQoc3JjX3RtcGwpID4gaGF2ZWdlZC5zZXJ2aWNlOwotIAorCiAtaW5zdGFsbC1kYXRhLWhvb2s6CiAraW5zdGFsbC1kYXRhLWhvb2s6IGluc3RhbGwtZXhlYy1ob29rCiAgaWYgRU5BQkxFX1NZU1RFTURfTE9PS1VQCiAgCWluc3RhbGwgLXAgLUQgLW02NDQgaGF2ZWdlZC5zZXJ2aWNlICQoREVTVERJUilgcGtnLWNvbmZpZyAtLXZhcmlhYmxlPXN5c3RlbWRzeXN0ZW11bml0ZGlyIHN5c3RlbWRgL2hhdmVnZWQuc2VydmljZTsKICBlbHNlCi0tLSAKKy0tCiAyLjExLjAKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hhdmVnZWQvaGF2ZWdlZF8xLjkuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oYXZlZ2VkL2hhdmVnZWRfMS45LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmMTM2NzMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hhdmVnZWQvaGF2ZWdlZF8xLjkuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLVNVTU1BUlkgPSAiaGF2ZWdlZCAtIEEgc2ltcGxlIGVudHJvcHkgZGFlbW9uIgotREVTQ1JJUFRJT04gPSAiVGhlIGhhdmVnZWQgcHJvamVjdCBpcyBhbiBhdHRlbXB0IHRvIHByb3ZpZGUgYW4gZWFzeS10by11c2UsIHVucHJlZGljdGFibGUgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IgYmFzZWQgdXBvbiBhbiBhZGFwdGF0aW9uIG9mIHRoZSBIQVZFR0UgYWxnb3JpdGhtLiBIYXZlZ2VkIHdhcyBjcmVhdGVkIHRvIHJlbWVkeSBsb3ctZW50cm9weSBjb25kaXRpb25zIGluIHRoZSBMaW51eCByYW5kb20gZGV2aWNlIHRoYXQgY2FuIG9jY3VyIHVuZGVyIHNvbWUgd29ya2xvYWRzLCBlc3BlY2lhbGx5IG9uIGhlYWRsZXNzIHNlcnZlcnMuIgotQVVUSE9SID0gIkdhcnkgV3VlcnR6IgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5pc3NpaG9zdHMuY29tL2hhdmVnZWQvaW5kZXguaHRtbCIKLUxJQ0VOU0UgPSAiR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNPSJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5pc3NpaG9zdHMuY29tL2hhdmVnZWQvaGF2ZWdlZC0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vaGF2ZWdlZC1pbml0LmQtTWFrZWZpbGUuYW0tYWRkLW1pc3NpbmctZGVwZW5kZW5jeS5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJmYjFkOGIzZGNiYjlkMDZiMzBlY2NkOGFhNTAwZmQzMSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmNzdkOWFkYmRmNDIxYjYxNjAxZmEyOWZhYTljZTNiNDc5ZDkxMGY3M2M2NmI5ZTM2NGJhODY0MmNjYmZiZTcwIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3d3dy5pc3NpaG9zdHMuY29tL2hhdmVnZWQvZG93bmxvYWRzLmh0bWwiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHN5c3RlbWQKLQotRVhUUkFfT0VDT05GID0gIlwKLSAgICAtLWVuYWJsZS1uaXN0ZXN0PXllcyBcCi0gICAgLS1lbmFibGUtb2x0PXllcyBcCi0gICAgLS1lbmFibGUtdGhyZWFkcz1ubyBcCi0iCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgotUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1pbml0PXNlcnZpY2UucmVkaGF0IC0tZW5hYmxlLWluaXRkaXI9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSwgLS1lbmFibGUtaW5pdD1zeXN2LnJlZGhhdCwgc3lzdGVtZCIKLQotSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfSIKLUlOSVRTQ1JJUFRfTkFNRSA9ICJoYXZlZ2VkIgotSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0gPSAiZGVmYXVsdHMgOSIKLQotU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJoYXZlZ2VkLnNlcnZpY2UiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgICMgVGhlIGV4aXQgc3RhdHVzIGlzIDE0MyB3aGVuIHRoZSBzZXJ2aWNlIGlzIHN0b3BwZWQKLSAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBzZWQgLWkgJy9FeGVjU3RhcnQvYSBTdWNjZXNzRXhpdFN0YXR1cz0xNDMnICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2hhdmVnZWQuc2VydmljZQotICAgIGZpCi19Ci0KLU1JUFNfSU5TVFJVQ1RJT05fU0VUID0gIm1pcHMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGF2ZWdlZC9oYXZlZ2VkXzEuOS40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hhdmVnZWQvaGF2ZWdlZF8xLjkuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMmFhYjU5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hhdmVnZWQvaGF2ZWdlZF8xLjkuNC5iYgpAQCAtMCwwICsxLDQyIEBACitTVU1NQVJZID0gImhhdmVnZWQgLSBBIHNpbXBsZSBlbnRyb3B5IGRhZW1vbiIKK0RFU0NSSVBUSU9OID0gIlRoZSBoYXZlZ2VkIHByb2plY3QgaXMgYW4gYXR0ZW1wdCB0byBwcm92aWRlIGFuIGVhc3ktdG8tdXNlLCB1bnByZWRpY3RhYmxlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIGJhc2VkIHVwb24gYW4gYWRhcHRhdGlvbiBvZiB0aGUgSEFWRUdFIGFsZ29yaXRobS4gSGF2ZWdlZCB3YXMgY3JlYXRlZCB0byByZW1lZHkgbG93LWVudHJvcHkgY29uZGl0aW9ucyBpbiB0aGUgTGludXggcmFuZG9tIGRldmljZSB0aGF0IGNhbiBvY2N1ciB1bmRlciBzb21lIHdvcmtsb2FkcywgZXNwZWNpYWxseSBvbiBoZWFkbGVzcyBzZXJ2ZXJzLiIKK0FVVEhPUiA9ICJHYXJ5IFd1ZXJ0eiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuaXNzaWhvc3RzLmNvbS9oYXZlZ2VkL2luZGV4Lmh0bWwiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTT0iZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCisjIHYxLjkuNAorU1JDUkVWID0gImZhYTQwZmYzNDVhZjE5NGQzMjUzZjVmYjAzMDQwM2UzYzk4MzFjMzYiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vamlya2EtaC9oYXZlZ2VkLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly9oYXZlZ2VkLWluaXQuZC1NYWtlZmlsZS5hbS1hZGQtbWlzc2luZy1kZXBlbmRlbmN5LnBhdGNoIFwKKyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vamlya2EtaC9oYXZlZ2VkL3JlbGVhc2VzIgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1lbmFibGUtbmlzdGVzdD15ZXMgXAorICAgIC0tZW5hYmxlLW9sdD15ZXMgXAorICAgIC0tZW5hYmxlLXRocmVhZHM9bm8gXAorIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsIGQpfSIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS1lbmFibGUtaW5pdD1zZXJ2aWNlLnJlZGhhdCAtLWVuYWJsZS1pbml0ZGlyPSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0sIC0tZW5hYmxlLWluaXQ9c3lzdi5yZWRoYXQsIHN5c3RlbWQiCisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0iCitJTklUU0NSSVBUX05BTUUgPSAiaGF2ZWdlZCIKK0lOSVRTQ1JJUFRfUEFSQU1TXyR7UE59ID0gImRlZmF1bHRzIDkiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiaGF2ZWdlZC5zZXJ2aWNlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIFRoZSBleGl0IHN0YXR1cyBpcyAxNDMgd2hlbiB0aGUgc2VydmljZSBpcyBzdG9wcGVkCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgc2VkIC1pICcvRXhlY1N0YXJ0L2EgU3VjY2Vzc0V4aXRTdGF0dXM9MTQzJyAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9oYXZlZ2VkLnNlcnZpY2UKKyAgICBmaQorfQorCitNSVBTX0lOU1RSVUNUSU9OX1NFVCA9ICJtaXBzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2phbnNzb24vamFuc3Nvbl8yLjExLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2phbnNzb24vamFuc3Nvbl8yLjExLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNzBmYTIyLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9qYW5zc29uL2phbnNzb25fMi4xMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVNVTU1BUlkgPSAiSmFuc3NvbiBpcyBhIEMgbGlicmFyeSBmb3IgZW5jb2RpbmcsIGRlY29kaW5nIGFuZCBtYW5pcHVsYXRpbmcgSlNPTiBkYXRhIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5kaWdpcC5vcmcvamFuc3Nvbi8iCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PThiNzAyMTNlYzE2NGM3YmQ4NzZlYzIxMjBiYTUyZjYxIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cuZGlnaXAub3JnL2phbnNzb24vcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci5neiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjdhZjA3MWRiOTk3MDQ0MWUxZWFhZjI1NjYyMzEwZTMzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZlODVmNDJkYWJlNDlhNzgzMWRiZGQ2ZDMwZGNhOGE5NjY5NTZiNTFhOWE1MGVkNTM0YjgyYWZjM2ZhNWIyZjQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvamFuc3Nvbi9qYW5zc29uXzIuMTIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvamFuc3Nvbi9qYW5zc29uXzIuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2NjMzUzZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9qYW5zc29uL2phbnNzb25fMi4xMi5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIkphbnNzb24gaXMgYSBDIGxpYnJhcnkgZm9yIGVuY29kaW5nLCBkZWNvZGluZyBhbmQgbWFuaXB1bGF0aW5nIEpTT04gZGF0YSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZGlnaXAub3JnL2phbnNzb24vIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vYWtoZXJvbi9qYW5zc29uL2lzc3VlcyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZmMyNTQ4YzBlYjgzODAwZjI5MzMwMDQwZTE4YjVhMDUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5kaWdpcC5vcmcvamFuc3Nvbi9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMGVkMWYzYTkyNDYwNGFhZTY4MDY3YzIxNGIwMDEwZWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWY4ZGVjNzY1MDQ4ZWZhYzVkOTE5YWRlZDUxYjI2YTMyYTA1Mzk3ZWEyMDdhYTc2OWZmNmI1M2M3MDI3ZDJjOSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sY2Rwcm9jL2xjZHByb2NfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xjZHByb2MvbGNkcHJvY19naXQuYmIKaW5kZXggOTNhMDlmMi4uMTM1NDk5NyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xjZHByb2MvbGNkcHJvY19naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xjZHByb2MvbGNkcHJvY19naXQuYmIKQEAgLTE5LDkgKzE5LDEwIEBACiAKIGluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyB1cGRhdGUtcmMuZAogCi1DT01QQVRJQkxFX0hPU1RfYXJtX2xpYmMtbXVzbCA9ICJudWxsIgotCiBMQ0RfRFJJVkVSUyA/PSAiYWxsLCFpcm1hbiwhc3ZnYSIKK0xDRF9EUklWRVJTX2FwcGVuZF9hYXJjaDY0ID0gIiwhc2VyaWFsVkZEIgorTENEX0RSSVZFUlNfYXBwZW5kX2FybSA9ICIsIXNlcmlhbFZGRCIKKwogTENEX0RFRkFVTFRfRFJJVkVSID89ICJjdXJzZXMiCiAKIFBBQ0tBR0VDT05GSUcgPz89ICJ1c2IiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliYmxvY2tkZXYvbGliYmxvY2tkZXZfMi4xOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJibG9ja2Rldi9saWJibG9ja2Rldl8yLjE4LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNWYwY2MwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJibG9ja2Rldi9saWJibG9ja2Rldl8yLjE4LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAibGliYmxvY2tkZXYgaXMgYSBDIGxpYnJhcnkgc3VwcG9ydGluZyBHT2JqZWN0IGludHJvc3BlY3Rpb24gZm9yIG1hbmlwdWxhdGlvbiBvZiBcCi1ibG9jayBkZXZpY2VzLiBJdCBoYXMgYSBwbHVnaW4tYmFzZWQgYXJjaGl0ZWN0dXJlIHdoZXJlIGVhY2ggdGVjaG5vbG9neSAobGlrZSBcCi1MVk0sIEJ0cmZzLCBNRCBSQUlELCBTd2FwLC4uLikgaXMgaW1wbGVtZW50ZWQgaW4gYSBzZXBhcmF0ZSBwbHVnaW4sIHBvc3NpYmx5IFwKLXdpdGggbXVsdGlwbGUgaW1wbGVtZW50YXRpb25zIChlLmcuIHVzaW5nIExWTSBDTEkgb3IgdGhlIG5ldyBMVk0gREJ1cyBBUEkpLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9yaGluc3RhbGxlci5naXRodWIuaW8vbGliYmxvY2tkZXYvIgotTElDRU5TRSA9ICJMR1BMdjIrIgotU0VDVElPTiA9ICJkZXZlbC9saWIiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWMwN2NiNDk5ZDI1OTQ1MmYzMjRiYjkwYzMwNjdkODVjIgotCi1pbmhlcml0IGF1dG90b29scyBweXRob24zbmF0aXZlIGdvYmplY3QtaW50cm9zcGVjdGlvbgotCi1TUkNSRVYgPSAiMGRlYmViNDU1NjJhYzNkOGY2ZjQzZjZmOTQyYjIzOGFiYWI1NWJlOSIKLVNSQ19VUkkgPSAiIFwKLSAgICBnaXQ6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2xpYmJsb2NrZGV2O2JyYW5jaD1tYXN0ZXIgXAotIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1GSUxFU18ke1BOfSArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0iCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJweXRob24zIGx2bSBkbSBrbW9kIHBhcnRlZCBmcyBlc2Nyb3cgYnRyZnMgY3J5cHRvIG1kcmFpZCBrYmQgbXBhdGgiCi1QQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIi0td2l0aC1weXRob24zLCAtLXdpdGhvdXQtcHl0aG9uMywscHl0aG9uMyIKLVBBQ0tBR0VDT05GSUdbcHl0aG9uMl0gPSAiLS13aXRoLXB5dGhvbjIsIC0td2l0aG91dC1weXRob24yLCxweXRob24yIgotUEFDS0FHRUNPTkZJR1tsdm1dID0gIi0td2l0aC1sdm0sIC0td2l0aG91dC1sdm0sIG11bHRpcGF0aC10b29scywgbHZtMiIKLVBBQ0tBR0VDT05GSUdbbHZtLWRidXNdID0gIi0td2l0aC1sdm1fZGJ1cywgLS13aXRob3V0LWx2bV9kYnVzLCBtdWx0aXBhdGgtdG9vbHMsIGx2bTIiCi1QQUNLQUdFQ09ORklHW2RtXSA9ICItLXdpdGgtZG0sIC0td2l0aG91dC1kbSwgbXVsdGlwYXRoLXRvb2xzLCBsdm0yIgotUEFDS0FHRUNPTkZJR1tkbXJhaWRdID0gIi0td2l0aC1kbXJhaWQsIC0td2l0aG91dC1kbXJhaWQiCi1QQUNLQUdFQ09ORklHW2ttb2RdID0gIi0td2l0aC1rYmQsIC0td2l0aG91dC1rYmQsIGttb2QiCi1QQUNLQUdFQ09ORklHW3BhcnRlZF0gPSAiLS13aXRoLXBhcnQsIC0td2l0aG91dC1wYXJ0LCBwYXJ0ZWQiCi1QQUNLQUdFQ09ORklHW2ZzXSA9ICItLXdpdGgtZnMsIC0td2l0aG91dC1mcywgdXRpbC1saW51eCIKLVBBQ0tBR0VDT05GSUdbZG9jXSA9ICItLXdpdGgtZ3RrLWRvYywgLS13aXRob3V0LWd0ay1kb2MsIGd0ay1kb2MtbmF0aXZlIgotUEFDS0FHRUNPTkZJR1tudmRpbW1dID0gIi0td2l0aC1udmRpbW0sIC0td2l0aG91dC1udmRpbW0iCi1QQUNLQUdFQ09ORklHW3Zkb10gPSAiLS13aXRoLXZkbywgLS13aXRob3V0LXZkbyIKLVBBQ0tBR0VDT05GSUdbZXNjcm93XSA9ICItLXdpdGgtZXNjcm93LCAtLXdpdGhvdXQtZXNjcm93LCBuc3Mgdm9sdW1lLWtleSIKLVBBQ0tBR0VDT05GSUdbYnRyZnNdID0gIi0td2l0aC1idHJmcywtLXdpdGhvdXQtYnRyZnMsbGliYnl0ZXNpemUgYnRyZnMtdG9vbHMiCi1QQUNLQUdFQ09ORklHW2NyeXB0b10gPSAiLS13aXRoLWNyeXB0bywtLXdpdGhvdXQtY3J5cHRvLGNyeXB0c2V0dXAgbnNzIHZvbHVtZS1rZXkiCi1QQUNLQUdFQ09ORklHW21kcmFpZF0gPSAiLS13aXRoLW1kcmFpZCwtLXdpdGhvdXQtbWRyYWlkLGxpYmJ5dGVzaXplIgotUEFDS0FHRUNPTkZJR1trYmRdID0gIi0td2l0aC1rYmQsLS13aXRob3V0LWtiZCxsaWJieXRlc2l6ZSIKLVBBQ0tBR0VDT05GSUdbbXBhdGhdID0gIi0td2l0aC1tcGF0aCwtLXdpdGhvdXQtbXBhdGgsIG11bHRpcGF0aC10b29scywgbHZtMiIKLQotZXhwb3J0IEdJUl9FWFRSQV9MSUJTX1BBVEg9IiR7Qn0vc3JjL3V0aWxzLy5saWJzIgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliYmxvY2tkZXYvbGliYmxvY2tkZXZfMi4yMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJibG9ja2Rldi9saWJibG9ja2Rldl8yLjIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0YTE4OGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliYmxvY2tkZXYvbGliYmxvY2tkZXZfMi4yMC5iYgpAQCAtMCwwICsxLDQzIEBACitERVNDUklQVElPTiA9ICJsaWJibG9ja2RldiBpcyBhIEMgbGlicmFyeSBzdXBwb3J0aW5nIEdPYmplY3QgaW50cm9zcGVjdGlvbiBmb3IgbWFuaXB1bGF0aW9uIG9mIFwKK2Jsb2NrIGRldmljZXMuIEl0IGhhcyBhIHBsdWdpbi1iYXNlZCBhcmNoaXRlY3R1cmUgd2hlcmUgZWFjaCB0ZWNobm9sb2d5IChsaWtlIFwKK0xWTSwgQnRyZnMsIE1EIFJBSUQsIFN3YXAsLi4uKSBpcyBpbXBsZW1lbnRlZCBpbiBhIHNlcGFyYXRlIHBsdWdpbiwgcG9zc2libHkgXAord2l0aCBtdWx0aXBsZSBpbXBsZW1lbnRhdGlvbnMgKGUuZy4gdXNpbmcgTFZNIENMSSBvciB0aGUgbmV3IExWTSBEQnVzIEFQSSkuIgorSE9NRVBBR0UgPSAiaHR0cDovL3JoaW5zdGFsbGVyLmdpdGh1Yi5pby9saWJibG9ja2Rldi8iCitMSUNFTlNFID0gIkxHUEx2MisiCitTRUNUSU9OID0gImRldmVsL2xpYiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzA3Y2I0OTlkMjU5NDUyZjMyNGJiOTBjMzA2N2Q4NWMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHB5dGhvbjNuYXRpdmUgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1NSQ1JFViA9ICJjYjMwODU2NmMzYzUyMjJiODQyMmY3ODk5N2ExNzQyNzEzYjI2NWE5IgorU1JDX1VSSSA9ICIgXAorICAgIGdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvbGliYmxvY2tkZXY7YnJhbmNoPW1hc3RlciBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0ZJTEVTXyR7UE59ICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gInB5dGhvbjMgbHZtIGRtIGttb2QgcGFydGVkIGZzIGVzY3JvdyBidHJmcyBjcnlwdG8gbWRyYWlkIGtiZCBtcGF0aCBudmRpbW0iCitQQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIi0td2l0aC1weXRob24zLCAtLXdpdGhvdXQtcHl0aG9uMywscHl0aG9uMyIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uMl0gPSAiLS13aXRoLXB5dGhvbjIsIC0td2l0aG91dC1weXRob24yLCxweXRob24yIgorUEFDS0FHRUNPTkZJR1tsdm1dID0gIi0td2l0aC1sdm0sIC0td2l0aG91dC1sdm0sIG11bHRpcGF0aC10b29scywgbHZtMiIKK1BBQ0tBR0VDT05GSUdbbHZtLWRidXNdID0gIi0td2l0aC1sdm1fZGJ1cywgLS13aXRob3V0LWx2bV9kYnVzLCBtdWx0aXBhdGgtdG9vbHMsIGx2bTIiCitQQUNLQUdFQ09ORklHW2RtXSA9ICItLXdpdGgtZG0sIC0td2l0aG91dC1kbSwgbXVsdGlwYXRoLXRvb2xzLCBsdm0yIgorUEFDS0FHRUNPTkZJR1tkbXJhaWRdID0gIi0td2l0aC1kbXJhaWQsIC0td2l0aG91dC1kbXJhaWQiCitQQUNLQUdFQ09ORklHW2ttb2RdID0gIi0td2l0aC1rYmQsIC0td2l0aG91dC1rYmQsIGttb2QiCitQQUNLQUdFQ09ORklHW3BhcnRlZF0gPSAiLS13aXRoLXBhcnQsIC0td2l0aG91dC1wYXJ0LCBwYXJ0ZWQiCitQQUNLQUdFQ09ORklHW2ZzXSA9ICItLXdpdGgtZnMsIC0td2l0aG91dC1mcywgdXRpbC1saW51eCIKK1BBQ0tBR0VDT05GSUdbZG9jXSA9ICItLXdpdGgtZ3RrLWRvYywgLS13aXRob3V0LWd0ay1kb2MsIGd0ay1kb2MtbmF0aXZlIgorUEFDS0FHRUNPTkZJR1tudmRpbW1dID0gIi0td2l0aC1udmRpbW0sIC0td2l0aG91dC1udmRpbW0sIG5kY3RsIHV0aWwtbGludXgiCitQQUNLQUdFQ09ORklHW3Zkb10gPSAiLS13aXRoLXZkbywgLS13aXRob3V0LXZkbyIKK1BBQ0tBR0VDT05GSUdbZXNjcm93XSA9ICItLXdpdGgtZXNjcm93LCAtLXdpdGhvdXQtZXNjcm93LCBuc3Mgdm9sdW1lLWtleSIKK1BBQ0tBR0VDT05GSUdbYnRyZnNdID0gIi0td2l0aC1idHJmcywtLXdpdGhvdXQtYnRyZnMsbGliYnl0ZXNpemUgYnRyZnMtdG9vbHMiCitQQUNLQUdFQ09ORklHW2NyeXB0b10gPSAiLS13aXRoLWNyeXB0bywtLXdpdGhvdXQtY3J5cHRvLGNyeXB0c2V0dXAgbnNzIHZvbHVtZS1rZXkiCitQQUNLQUdFQ09ORklHW21kcmFpZF0gPSAiLS13aXRoLW1kcmFpZCwtLXdpdGhvdXQtbWRyYWlkLGxpYmJ5dGVzaXplIgorUEFDS0FHRUNPTkZJR1trYmRdID0gIi0td2l0aC1rYmQsLS13aXRob3V0LWtiZCxsaWJieXRlc2l6ZSIKK1BBQ0tBR0VDT05GSUdbbXBhdGhdID0gIi0td2l0aC1tcGF0aCwtLXdpdGhvdXQtbXBhdGgsIG11bHRpcGF0aC10b29scywgbHZtMiIKKworZXhwb3J0IEdJUl9FWFRSQV9MSUJTX1BBVEg9IiR7Qn0vc3JjL3V0aWxzLy5saWJzIgorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlicmVwb3J0L2xpYnJlcG9ydF8yLjkuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJyZXBvcnQvbGlicmVwb3J0XzIuOS41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NDI5NTZjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJyZXBvcnQvbGlicmVwb3J0XzIuOS41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiTGlicmFyaWVzIHByb3ZpZGluZyBBUEkgZm9yIHJlcG9ydGluZyBkaWZmZXJlbnQgcHJvYmxlbXMgaW4gYXBwbGljYXRpb25zIFwKLXRvIGRpZmZlcmVudCBidWcgdGFyZ2V0cyBsaWtlIEJ1Z3ppbGxhLCBmdHAsIHRyYWMsIGV0Yy4uLiIKLVNVTU1BUlkgPSAiR2VuZXJpYyBsaWJyYXJ5IGZvciByZXBvcnRpbmcgdmFyaW91cyBwcm9ibGVtcyIKLUhPTUVQQUdFID0gImh0dHBzOi8vYWJydC5yZWFkdGhlZG9jcy5vcmcvIgotTElDRU5TRSA9ICJHUEx2MisiCi1ERVBFTkRTID0gInhtbHJwYy1jIHhtbHJwYy1jLW5hdGl2ZSBpbnRsdG9vbC1uYXRpdmUgXAotICAgICAgICBqc29uLWMgbGlidGFyIGxpYm5ld3QgbGlicHJveHkgcnBtIFwKLSAgICAgICAgYXVnZWFzIHNhdHlyIHN5c3RlbWQgXAotIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLQotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYWJydC9saWJyZXBvcnQuZ2l0O3Byb3RvY29sPWh0dHBzIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tcmVtb3ZlLWRvYy1hbmQtYXBpZG9jLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAyLWNvbmZpZ3VyZS5hYy1yZW1vdmUtcHJvZy10ZXN0LW9mLXhtbHRvLWFuZC1hc2NpaWRvYy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMy13aXRob3V0LWJ1aWxkLXBsdWdpbnMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDQtY29uZmlndXJlLmFjLXJlbW92ZS1wcm9nLXRlc3Qtb2YtYXVncGFyc2UucGF0Y2ggXAotIgotU1JDUkVWID0gIjE1ZjkyYmNhZjczZTVlYjg5NThmYmRlNjU1YTU3ZGNkMTExNzU3YTciCi0KLVVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIig/UDxwdmVyPlxkKyhcLlxkKykrKSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJzeXN0ZW1kIgotCi1pbmhlcml0IGdldHRleHQgYXV0b3Rvb2xzIHB5dGhvbjNuYXRpdmUgcGtnY29uZmlnCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywneDExJywnZ3RrJywnJyxkKX0iCi1QQUNLQUdFQ09ORklHW2d0a10gPSAiLS13aXRoLWd0aywgLS13aXRob3V0LWd0aywgZ3RrKzMsIgotCi1FWFRSQV9PRUNPTkYgKz0gIi0td2l0aG91dC1weXRob24yIC0td2l0aC1weXRob24zIgotCi1SREVQRU5EU19weXRob24zLWxpYnJlcG9ydCArPSAiJHtQTn0iCi0KLWRvX3BhdGNoW3ByZWZ1bmNzXSArPSAiZG9fZ2VuX3ZlcnNpb24iCi1kb19nZW5fdmVyc2lvbigpIHsKLSAgICBjZCAke1N9Ci0gICAgLi9nZW4tdmVyc2lvbgotfQotCi1QQUNLQUdFUyArPSAicHl0aG9uMy1saWJyZXBvcnQiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9LyoiCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyovLmRlYnVnIgotRklMRVNfcHl0aG9uMy1saWJyZXBvcnQgPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnJlcG9ydC9saWJyZXBvcnRfMi45LjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlicmVwb3J0L2xpYnJlcG9ydF8yLjkuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTIyODM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnJlcG9ydC9saWJyZXBvcnRfMi45LjcuYmIKQEAgLTAsMCArMSw0OSBAQAorREVTQ1JJUFRJT04gPSAiTGlicmFyaWVzIHByb3ZpZGluZyBBUEkgZm9yIHJlcG9ydGluZyBkaWZmZXJlbnQgcHJvYmxlbXMgaW4gYXBwbGljYXRpb25zIFwKK3RvIGRpZmZlcmVudCBidWcgdGFyZ2V0cyBsaWtlIEJ1Z3ppbGxhLCBmdHAsIHRyYWMsIGV0Yy4uLiIKK1NVTU1BUlkgPSAiR2VuZXJpYyBsaWJyYXJ5IGZvciByZXBvcnRpbmcgdmFyaW91cyBwcm9ibGVtcyIKK0hPTUVQQUdFID0gImh0dHBzOi8vYWJydC5yZWFkdGhlZG9jcy5vcmcvIgorTElDRU5TRSA9ICJHUEx2MisiCitERVBFTkRTID0gInhtbHJwYy1jIHhtbHJwYy1jLW5hdGl2ZSBpbnRsdG9vbC1uYXRpdmUgXAorICAgICAgICBqc29uLWMgbGlidGFyIGxpYm5ld3QgbGlicHJveHkgcnBtIFwKKyAgICAgICAgYXVnZWFzIHNhdHlyIHN5c3RlbWQgXAorIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYWJydC9saWJyZXBvcnQuZ2l0O3Byb3RvY29sPWh0dHBzIgorU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tcmVtb3ZlLWRvYy1hbmQtYXBpZG9jLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAyLWNvbmZpZ3VyZS5hYy1yZW1vdmUtcHJvZy10ZXN0LW9mLXhtbHRvLWFuZC1hc2NpaWRvYy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMy13aXRob3V0LWJ1aWxkLXBsdWdpbnMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDQtY29uZmlndXJlLmFjLXJlbW92ZS1wcm9nLXRlc3Qtb2YtYXVncGFyc2UucGF0Y2ggXAorIgorU1JDUkVWID0gIjFkNWNjMDBlNDRhZjQ4MDBmY2FlOTc2MTYyNWRkNDIzMDY4MWU4MmEiCisKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIig/UDxwdmVyPlxkKyhcLlxkKykrKSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJzeXN0ZW1kIgorCitpbmhlcml0IGdldHRleHQgYXV0b3Rvb2xzIHB5dGhvbjNuYXRpdmUgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywneDExJywnZ3RrJywnJyxkKX0iCitQQUNLQUdFQ09ORklHW2d0a10gPSAiLS13aXRoLWd0aywgLS13aXRob3V0LWd0aywgZ3RrKzMsIgorCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aG91dC1weXRob24yIC0td2l0aC1weXRob24zIgorCitSREVQRU5EU19weXRob24zLWxpYnJlcG9ydCArPSAiJHtQTn0iCisKK2RvX3BhdGNoW3ByZWZ1bmNzXSArPSAiZG9fZ2VuX3ZlcnNpb24iCitkb19nZW5fdmVyc2lvbigpIHsKKyAgICBjZCAke1N9CisgICAgLi9nZW4tdmVyc2lvbgorfQorCitQQUNLQUdFUyArPSAicHl0aG9uMy1saWJyZXBvcnQiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9LyoiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyovLmRlYnVnIgorRklMRVNfcHl0aG9uMy1saWJyZXBvcnQgPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNlcmlhbHBvcnQvbGlic2VyaWFscG9ydF8wLjEuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJzZXJpYWxwb3J0L2xpYnNlcmlhbHBvcnRfMC4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTkyZDRiYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJzZXJpYWxwb3J0L2xpYnNlcmlhbHBvcnRfMC4xLjEuYmIKQEAgLTAsMCArMSwxMiBAQAorREVTQ1JJUFRJT04gPSAibGlic2VyaWFscG9ydCBpcyBhIG1pbmltYWwsIGNyb3NzLXBsYXRmb3JtIHNoYXJlZCBsaWJyYXJ5IHdyaXR0ZW4gaW4gQyB0aGF0IGlzIGludGVuZGVkIHRvIHRha2UgY2FyZSBvZiB0aGUgT1Mtc3BlY2lmaWMgZGV0YWlscyB3aGVuIHdyaXRpbmcgc29mdHdhcmUgdGhhdCB1c2VzIHNlcmlhbCBwb3J0cy4iCitIT01FUEFHRSA9ICJodHRwczovL3NpZ3Jvay5vcmcvd2lraS9MaWJzZXJpYWxwb3J0IgorCitMSUNFTlNFID0gIkxHUEwtMy4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU2YTYwMGZkNWUxZDljYmRlMmQ5ODM2ODAyMzNhZDAyIgorCitpbmhlcml0IGF1dG90b29scworCitTUkNfVVJJID0gImh0dHA6Ly9zaWdyb2sub3JnL2Rvd25sb2FkL3NvdXJjZS9saWJzZXJpYWxwb3J0L2xpYnNlcmlhbHBvcnQtJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjkzZjAzMjVhNjE1NzE5ODE1MmI1YmQ3ZTgxODJiNTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGEyYWY5ZDljM2ZmNDg4ZTkyZmI3NWI0YmEzOGIzNWJjZjliOGE2NmRmMDQ3NzNlYmEyYTdiYmYxZmE3NTI5ZCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ6aXAvbGliemlwXzEuNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnppcC9saWJ6aXBfMS41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U3MzcwMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ6aXAvbGliemlwXzEuNS4xLmJiCkBAIC0wLDAgKzEsMTggQEAKK0RFU0NSSVBUSU9OID0gImxpYnppcCBpcyBhIEMgbGlicmFyeSBmb3IgcmVhZGluZywgY3JlYXRpbmcsIGFuZCBtb2RpZnlpbmcgemlwIGFyY2hpdmVzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vbGliemlwLm9yZy8iCisKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MDFmOGIxYjhkYTY0MDM3MzkwOTQzOTZlMTViMWU3MjIiCisKK0RFUEVORFMgPSAiemxpYiBiemlwMiIKKworUEFDS0FHRUNPTkZJR1tzc2xdID0gIi1ERU5BQkxFX09QRU5TU0w9T04sLURFTkFCTEVfT1BFTlNTTD1PRkYsb3BlbnNzbCIKKworUEFDS0FHRUNPTkZJRyA/PSAic3NsIgorCitpbmhlcml0IGNtYWtlCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9saWJ6aXAub3JnL2Rvd25sb2FkL2xpYnppcC0ke1BWfS50YXIueHoiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2ZmU2NjVhYTZkNmJmM2E5OWViNmZhOWM1NTMyODNmZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNGVhMzViNjk1NmM3YjM0NTNmMWVkM2YzZmU0MGUzZGRhZTFmNDM5MzEwODkxMjQ1NzllODM4NGU3OWVkMzcyIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3dhdGNoL2xvZ3dhdGNoXzcuNC4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3dhdGNoL2xvZ3dhdGNoXzcuNC4zLmJiCmluZGV4IGFlYTUzOWUuLjI3NWE4ZjIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sb2d3YXRjaC9sb2d3YXRjaF83LjQuMy5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbG9nd2F0Y2gvbG9nd2F0Y2hfNy40LjMuYmIKQEAgLTIwLDkgKzIwLDkgQEAKICAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7ZGF0YWRpcn0vbG9nd2F0Y2gvZGlzdC5jb25mL2xvZ2ZpbGVzCiAgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2RhdGFkaXJ9L2xvZ3dhdGNoL2Rpc3QuY29uZi9zZXJ2aWNlcwogICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9jYWNoZS9sb2d3YXRjaAotICAgIG12IGNvbmYvICR7RH0ke2RhdGFkaXJ9L2xvZ3dhdGNoL2RlZmF1bHQuY29uZgotICAgIG12IHNjcmlwdHMvICR7RH0ke2RhdGFkaXJ9L2xvZ3dhdGNoL3NjcmlwdHMKLSAgICBtdiBsaWIgJHtEfSR7ZGF0YWRpcn0vbG9nd2F0Y2gvbGliCisgICAgY3AgLXIgLWYgY29uZi8gJHtEfSR7ZGF0YWRpcn0vbG9nd2F0Y2gvZGVmYXVsdC5jb25mCisgICAgY3AgLXIgLWYgc2NyaXB0cy8gJHtEfSR7ZGF0YWRpcn0vbG9nd2F0Y2gvc2NyaXB0cworICAgIGNwIC1yIC1mIGxpYiAke0R9JHtkYXRhZGlyfS9sb2d3YXRjaC9saWIKICAgICBjaG93biAtUiByb290OnJvb3QgJHtEfSR7ZGF0YWRpcn0vbG9nd2F0Y2gKIAogICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHttYW5kaXJ9L21hbjEKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy9mb3JtYXQtb3ZlcmZsb3cucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvZm9ybWF0LW92ZXJmbG93LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5YzZhN2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvZm9ybWF0LW92ZXJmbG93LnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK0Ryb3AgZW5hYmxlIGZvcm1hdCBzdHJpbmcgd2FybmluZ3MgdG8gaGVscCBnY2M5CisKK0ZpeGVzCit8IC9tbnQvYS95b2UvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQteW9lLWxpbnV4LW11c2wvbW96anMvNTIuOS4xLXIwL21vempzLTUyLjkuMS9qcy9zcmMvaml0L3g2NC9CYXNlQXNzZW1ibGVyLXg2NC5oOjU5NjoxMzogZXJyb3I6ICclcycgZGlyZWN0aXZlIGFyZ3VtZW50IGlzIG51bGwgWy1XZXJyb3I9Zm9ybWF0LW92ZXJmbG93PV0KK3wgICA1OTYgfCAgICAgICAgIHNwZXcoIm1vdnEgICAgICAgIiBNRU1fb2JzICIsICVzIiwgQUREUl9vYnMob2Zmc2V0LCBiYXNlLCBpbmRleCwgc2NhbGUpLCBHUFJlZzY0TmFtZShkc3QpKTsKK3wgICAgICAgfCAgICAgICAgIH5+fn5efn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW1dvcmthcm91bmQgZm9yIGdjYzldCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCistLS0gYS9qcy9zcmMvbW96LmJ1aWxkCisrKysgYi9qcy9zcmMvbW96LmJ1aWxkCitAQCAtNzg1LDcgKzc4NSw3IEBAIGlmIENPTkZJR1snSlNfSEFTX0NUWVBFUyddOgorICAgICAgICAgREVGSU5FU1snRkZJX0JVSUxESU5HJ10gPSBUcnVlCisgCisgaWYgQ09ORklHWydHTlVfQ1hYJ106CistICAgIENYWEZMQUdTICs9IFsnLVduby1zaGFkb3cnLCAnLVdlcnJvcj1mb3JtYXQnXQorKyAgICBDWFhGTEFHUyArPSBbJy1Xbm8tc2hhZG93J10KKyAKKyAjIFN1cHByZXNzIHdhcm5pbmdzIGluIHRoaXJkLXBhcnR5IGNvZGUuCisgaWYgQ09ORklHWydDTEFOR19DWFgnXToKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqc181Mi45LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anNfNTIuOS4xLmJiCmluZGV4IDdjOGE3YWUuLjkyZDE1NzIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqc181Mi45LjEuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzXzUyLjkuMS5iYgpAQCAtMTQsNiArMTQsNyBAQAogICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1tb3pnbHVlLWluLXN0YW5kLWFsb25lLWJ1aWxkcy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9hZGQtcmlzY3Ytc3VwcG9ydC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1vempzLWZpeC1jb3JlZHVtcC1jYXVzZWQtYnktZ2V0ZW52LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Zvcm1hdC1vdmVyZmxvdy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9KU19QVUJMSUNfQVBJLnBhdGNoIFwKICAgICAgICAgICAgIgogU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBcCkBAIC00NCw3ICs0NSw3IEBACiAgICAgLS1ob3N0PSR7QlVJTERfU1lTfSBcCiAgICAgLS1wcmVmaXg9JHtwcmVmaXh9IFwKICAgICAtLWxpYmRpcj0ke2xpYmRpcn0gXAotICAgIC0tZGlzYWJsZS10ZXN0cyBcCisgICAgLS1kaXNhYmxlLXRlc3RzIC0tZGlzYWJsZS1zdHJpcCAtLWRpc2FibGUtb3B0aW1pemUgXAogICAgIC0td2l0aC1uc3ByLWxpYnM9Jy1scGxkczQgLWxwbGM0IC1sbnNwcjQnIFwKICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xkLWlzLWdvbGQnLCAiLS1lbmFibGUtZ29sZCIsICctLWRpc2FibGUtZ29sZCcsIGQpfSBcCiAiCkBAIC01Miw5ICs1MywxNSBAQAogUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSIKIFBBQ0tBR0VDT05GSUdbeDExXSA9ICItLXgtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS14LWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwtLXgtaW5jbHVkZXM9bm8gLS14LWxpYnJhcmllcz1ubyx2aXJ0dWFsL2xpYngxMSIKIAotRVhUUkFfT0VNQUtFX3Rhc2stY29tcGlsZSArPSAiT1NfTERGTEFHUz0nLVdsLC1sYXRvbWljICR7TERGTEFHU30nIgorRVhUUkFfT0VNQUtFX3Rhc2stY29tcGlsZSArPSAiQlVJTERfT1BUPTEgT1NfTERGTEFHUz0nLVdsLC1sYXRvbWljICR7TERGTEFHU30nIgogRVhUUkFfT0VNQUtFX3Rhc2staW5zdGFsbCArPSAiU1RBVElDX0xJQlJBUllfTkFNRT1qc19zdGF0aWMiCiAKK2V4cG9ydCBIT1NUX0NDID0gIiR7QlVJTERfQ0N9IgorZXhwb3J0IEhPU1RfQ1hYID0gIiR7QlVJTERfQ1hYfSIKK2V4cG9ydCBIT1NUX0NGTEFHUyA9ICIke0JVSUxEX0NGTEFHU30iCitleHBvcnQgSE9TVF9DUFBGTEFHUyA9ICIke0JVSUxEX0NQUEZMQUdTfSIKK2V4cG9ydCBIT1NUX0NYWEZMQUdTID0gIiR7QlVJTERfQ1hYRkxBR1N9IgorCiBkb19jb25maWd1cmUoKSB7CiAgICAgZXhwb3J0IFNIRUxMPSIvYmluL3NoIgogICAgIGV4cG9ydCBUTVA9IiR7Qn0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi8wMDAxLUFkanVzdC1mb3ItQ1VSTEVfU1NMX0NBQ0VSVC1kZXByZWNhdGlvbi1pbi1jdXJsLTcuNjIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi8wMDAxLUFkanVzdC1mb3ItQ1VSTEVfU1NMX0NBQ0VSVC1kZXByZWNhdGlvbi1pbi1jdXJsLTcuNjIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGRjZDEwOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuLzAwMDEtQWRqdXN0LWZvci1DVVJMRV9TU0xfQ0FDRVJULWRlcHJlY2F0aW9uLWluLWN1cmwtNy42Mi5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9tIGYyYzM3ZmFiNWRiYWZmYTA2YzEyNjhlZTEzMDk1OTYzMDZjOWE0ZGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAyMCBOb3YgMjAxOCAxMjoyMzo0NyAtMDgwMAorU3ViamVjdDogW1BBVENIXSBBZGp1c3QgZm9yIENVUkxFX1NTTF9DQUNFUlQgZGVwcmVjYXRpb24gaW4gY3VybCA+PSA3LjYyCisKK1VzZSBDVVJMRV9QRUVSX0ZBSUxFRF9WRVJJRklDQVRJT04gaW5zdGVhZAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMgfCA3ICsrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvbGliL3dzbWFuLWN1cmwtY2xpZW50LXRyYW5zcG9ydC5jIGIvc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYworaW5kZXggZDBhMzgyOWIuLjkyNzI3ZjRmIDEwMDY0NAorLS0tIGEvc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYworKysrIGIvc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYworQEAgLTE4NiwxNiArMTg2LDIzIEBAIGNvbnZlcnRfdG9fbGFzdF9lcnJvcihDVVJMY29kZSByKQorIAkJcmV0dXJuIFdTX0xBU1RFUlJfU1NMX0NPTk5FQ1RfRVJST1I7CisgICAgICAgICBjYXNlIENVUkxFX0JBRF9GVU5DVElPTl9BUkdVTUVOVDoKKyAgICAgICAgICAgICAgICAgcmV0dXJuIFdTX0xBU1RFUlJfQ1VSTF9CQURfRlVOQ1RJT05fQVJHOworKyNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNIDwgMHgwNzNFMDAKKyAJY2FzZSBDVVJMRV9TU0xfUEVFUl9DRVJUSUZJQ0FURToKKyAJCXJldHVybiBXU19MQVNURVJSX1NTTF9QRUVSX0NFUlRJRklDQVRFOworKyNlbmRpZgorIAljYXNlIENVUkxFX1NTTF9FTkdJTkVfTk9URk9VTkQ6CisgCQlyZXR1cm4gV1NfTEFTVEVSUl9TU0xfRU5HSU5FX05PVEZPVU5EOworIAljYXNlIENVUkxFX1NTTF9FTkdJTkVfU0VURkFJTEVEOgorIAkJcmV0dXJuIFdTX0xBU1RFUlJfU1NMX0VOR0lORV9TRVRGQUlMRUQ7CisgCWNhc2UgQ1VSTEVfU1NMX0NFUlRQUk9CTEVNOgorIAkJcmV0dXJuIFdTX0xBU1RFUlJfU1NMX0NFUlRQUk9CTEVNOworKyNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNIDwgMHgwNzNFMDAKKyAJY2FzZSBDVVJMRV9TU0xfQ0FDRVJUOgorIAkJcmV0dXJuIFdTX0xBU1RFUlJfU1NMX0NBQ0VSVDsKKysjZWxzZQorKwljYXNlIENVUkxFX1BFRVJfRkFJTEVEX1ZFUklGSUNBVElPTjoKKysJCXJldHVybiBXU19MQVNURVJSX1NTTF9QRUVSX0NFUlRJRklDQVRFOworKyNlbmRpZgorICNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNID4gMHg3MEMwMQorIAljYXNlIENVUkxFX1NTTF9FTkdJTkVfSU5JVEZBSUxFRDoKKyAJCXJldHVybiBXU19MQVNURVJSX1NTTF9FTkdJTkVfSU5JVEZBSUxFRDsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuLzAwMDEtUG9ydC10by1PcGVuU1NMLTEuMS4wLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vMDAwMS1Qb3J0LXRvLU9wZW5TU0wtMS4xLjAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5YWZhNTYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vMDAwMS1Qb3J0LXRvLU9wZW5TU0wtMS4xLjAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNjIgKzAsMCBAQAotRnJvbSBmNzg2NDNkMjM4OGRkMDY5N2Y4M2YxNzg4MDQwMzI1M2EwNTk2ZDgzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVml0ZXpzbGF2IENyaG9uZWsgPHZjcmhvbmVrQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDUgU2VwIDIwMTggMTE6MjM6NDYgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIFBvcnQgdG8gT3BlblNTTCAxLjEuMAotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL09wZW53c21hbi9vcGVud3NtYW4vcHVsbC85OV0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvbGliL3dzbWFuLWN1cmwtY2xpZW50LXRyYW5zcG9ydC5jIHwgIDYgKysrLQotIHNyYy9zZXJ2ZXIvc2h0dHBkL2lvX3NzbC5jICAgICAgICAgICAgfCAxNyAtLS0tLS0tLS0tCi0gc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMgICAgICAgICAgICB8IDIwICsrKystLS0tLS0tLQotIHNyYy9zZXJ2ZXIvc2h0dHBkL3NzbC5oICAgICAgICAgICAgICAgfCA0NiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDc3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYyBiL3NyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMKLWluZGV4IGNkN2Y1MTdhLi5lNjRhZDA5NyAxMDA2NDQKLS0tLSBhL3NyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMKLSsrKyBiL3NyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMKLUBAIC0yNDEsMTIgKzI0MSwxNiBAQCB3cml0ZV9oYW5kbGVyKCB2b2lkICpwdHIsIHNpemVfdCBzaXplLCBzaXplX3Qgbm1lbWIsIHZvaWQgKmRhdGEpCi0gc3RhdGljIGludCBzc2xfY2VydGlmaWNhdGVfdGh1bWJwcmludF92ZXJpZnlfY2FsbGJhY2soWDUwOV9TVE9SRV9DVFggKmN0eCwgdm9pZCAqYXJnKQotIHsKLSAJdW5zaWduZWQgY2hhciAqdGh1bWJwcmludCA9ICh1bnNpZ25lZCBjaGFyICopYXJnOwotLQlYNTA5ICpjZXJ0ID0gY3R4LT5jZXJ0OwotIAlFVlBfTUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKnRlbXBEaWdlc3Q7Ci0gCi0gCXVuc2lnbmVkIGNoYXIgICB0ZW1wRmluZ2VycHJpbnRbRVZQX01BWF9NRF9TSVpFXTsKLSAJdW5zaWduZWQgaW50ICAgICAgdGVtcEZpbmdlcnByaW50TGVuOwotIAl0ZW1wRGlnZXN0ID0gKEVWUF9NRCopRVZQX3NoYTEoICk7Ci0rCi0rCVg1MDkgKmNlcnQgPSBYNTA5X1NUT1JFX0NUWF9nZXRfY3VycmVudF9jZXJ0KGN0eCk7Ci0rCWlmKCFjZXJ0KQotKwkJcmV0dXJuIDA7Ci0rCi0gCWlmICggWDUwOV9kaWdlc3QoY2VydCwgdGVtcERpZ2VzdCwgdGVtcEZpbmdlcnByaW50LCAmdGVtcEZpbmdlcnByaW50TGVuICkgPD0gMCkKLSAJCXJldHVybiAwOwotIAlpZighbWVtY21wKHRlbXBGaW5nZXJwcmludCwgdGh1bWJwcmludCwgdGVtcEZpbmdlcnByaW50TGVuKSkKLWRpZmYgLS1naXQgYS9zcmMvc2VydmVyL3NodHRwZC9pb19zc2wuYyBiL3NyYy9zZXJ2ZXIvc2h0dHBkL2lvX3NzbC5jCi1pbmRleCA2ZGUwZGIyYS4uN2FjNjY5ZTQgMTAwNjQ0Ci0tLS0gYS9zcmMvc2VydmVyL3NodHRwZC9pb19zc2wuYwotKysrIGIvc3JjL3NlcnZlci9zaHR0cGQvaW9fc3NsLmMKLUBAIC0xMSwyMyArMTEsNiBAQAotICNpbmNsdWRlICJkZWZzLmgiCi0gCi0gI2lmICFkZWZpbmVkKE5PX1NTTCkKLS1zdHJ1Y3Qgc3NsX2Z1bmMJc3NsX3N3W10gPSB7Ci0tCXsiU1NMX2ZyZWUiLAkJCXswfX0sCi0tCXsiU1NMX2FjY2VwdCIsCQkJezB9fSwKLS0JeyJTU0xfY29ubmVjdCIsCQkJezB9fSwKLS0JeyJTU0xfcmVhZCIsCQkJezB9fSwKLS0JeyJTU0xfd3JpdGUiLAkJCXswfX0sCi0tCXsiU1NMX2dldF9lcnJvciIsCQl7MH19LAotLQl7IlNTTF9zZXRfZmQiLAkJCXswfX0sCi0tCXsiU1NMX25ldyIsCQkJezB9fSwKLS0JeyJTU0xfQ1RYX25ldyIsCQkJezB9fSwKLS0JeyJTU0x2MjNfc2VydmVyX21ldGhvZCIsCXswfX0sCi0tCXsiU1NMX2xpYnJhcnlfaW5pdCIsCQl7MH19LAotLQl7IlNTTF9DVFhfdXNlX1ByaXZhdGVLZXlfZmlsZSIsCXswfX0sCi0tCXsiU1NMX0NUWF91c2VfY2VydGlmaWNhdGVfZmlsZSIsezB9fSwKLS0Je05VTEwsCQkJCXswfX0KLS19OwotLQotIHZvaWQKLSBfc2h0dHBkX3NzbF9oYW5kc2hha2Uoc3RydWN0IHN0cmVhbSAqc3RyZWFtKQotIHsKLWRpZmYgLS1naXQgYS9zcmMvc2VydmVyL3NodHRwZC9zaHR0cGQuYyBiL3NyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jCi1pbmRleCA1ODc2MzkyZS4uNGMxZGJmMzIgMTAwNjQ0Ci0tLS0gYS9zcmMvc2VydmVyL3NodHRwZC9zaHR0cGQuYwotKysrIGIvc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMKLUBAIC0xNDc2LDIwICsxNDc2LDE0IEBAIHNldF9zc2woc3RydWN0IHNodHRwZF9jdHggKmN0eCwgY29uc3QgY2hhciAqcGVtKQotIAlpbnQJCXJldHZhbCA9IEZBTFNFOwotIAlFQ19LRVkqCQlrZXk7Ci0gCi0tCS8qIExvYWQgU1NMIGxpYnJhcnkgZHluYW1pY2FsbHkgKi8KLS0JaWYgKChsaWIgPSBkbG9wZW4oU1NMX0xJQiwgUlRMRF9MQVpZKSkgPT0gTlVMTCkgewotLQkJX3NodHRwZF9lbG9nKEVfTE9HLCBOVUxMLCAic2V0X3NzbDogY2Fubm90IGxvYWQgJXMiLCBTU0xfTElCKTsKLS0JCXJldHVybiAoRkFMU0UpOwotLQl9Ci0tCi0tCWZvciAoZnAgPSBzc2xfc3c7IGZwLT5uYW1lICE9IE5VTEw7IGZwKyspCi0tCQlpZiAoKGZwLT5wdHIudl92b2lkID0gZGxzeW0obGliLCBmcC0+bmFtZSkpID09IE5VTEwpIHsKLS0JCQlfc2h0dHBkX2Vsb2coRV9MT0csIE5VTEwsInNldF9zc2w6IGNhbm5vdCBmaW5kICVzIiwgZnAtPm5hbWUpOwotLQkJCXJldHVybiAoRkFMU0UpOwotLQkJfQotLQotIAkvKiBJbml0aWFsaXplIFNTTCBjcmFwICovCi0rCWRlYnVnKCJJbml0aWFsaXplIFNTTCIpOwotKwlTU0xfbG9hZF9lcnJvcl9zdHJpbmdzKCk7Ci0rCSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKLSAJU1NMX2xpYnJhcnlfaW5pdCgpOwotKwkjZWxzZQotKwlPUEVOU1NMX2luaXRfc3NsKDAsIE5VTEwpOwotKwkjZW5kaWYKLSAKLSAJaWYgKChDVFggPSBTU0xfQ1RYX25ldyhTU0x2MjNfc2VydmVyX21ldGhvZCgpKSkgPT0gTlVMTCkKLSAJCV9zaHR0cGRfZWxvZyhFX0xPRywgTlVMTCwgIlNTTF9DVFhfbmV3IGVycm9yIik7Ci1AQCAtMTUzMiw3ICsxNTI2LDcgQEAgc2V0X3NzbChzdHJ1Y3Qgc2h0dHBkX2N0eCAqY3R4LCBjb25zdCBjaGFyICpwZW0pCi0gCQkJaWYgKHN0cm5jYXNlY21wKHByb3RvY29sc1tpZHhdLm5hbWUsIHNzbF9kaXNhYmxlZF9wcm90b2NvbHMsIGJsYW5rX3B0ci1zc2xfZGlzYWJsZWRfcHJvdG9jb2xzKSA9PSAwKSB7Ci0gCQkJCS8vX3NodHRwZF9lbG9nKEVfTE9HLCBOVUxMLCAiU1NMOiBkaXNhYmxlICVzIHByb3RvY29sIiwgcHJvdG9jb2xzW2lkeF0ubmFtZSk7Ci0gCQkJCWRlYnVnKCJTU0w6IGRpc2FibGUgJXMgcHJvdG9jb2wiLCBwcm90b2NvbHNbaWR4XS5uYW1lKTsKLS0JCQkJU1NMX0NUWF9jdHJsKENUWCwgU1NMX0NUUkxfT1BUSU9OUywgcHJvdG9jb2xzW2lkeF0ub3B0LCBOVUxMKTsKLSsJCQkJU1NMX0NUWF9zZXRfb3B0aW9ucyhDVFgsIHByb3RvY29sc1tpZHhdLm9wdCk7Ci0gCQkJCWJyZWFrOwotIAkJCX0KLSAJCX0KLWRpZmYgLS1naXQgYS9zcmMvc2VydmVyL3NodHRwZC9zc2wuaCBiL3NyYy9zZXJ2ZXIvc2h0dHBkL3NzbC5oCi1pbmRleCBhODYzZjJjNy4uOGRhZDAxMDkgMTAwNjQ0Ci0tLS0gYS9zcmMvc2VydmVyL3NodHRwZC9zc2wuaAotKysrIGIvc3JjL3NlcnZlci9zaHR0cGQvc3NsLmgKLUBAIC0xMiw1MCArMTIsNCBAQAotIAotICNpbmNsdWRlIDxvcGVuc3NsL3NzbC5oPgotIAotLSNlbHNlCi0tCi0tLyoKLS0gKiBTbmF0Y2hlZCBmcm9tIE9wZW5TU0wgaW5jbHVkZXMuIEkgcHV0IHRoZSBwcm90b3R5cGVzIGhlcmUgdG8gYmUgaW5kZXBlbmRlbnQKLS0gKiBmcm9tIHRoZSBPcGVuU1NMIHNvdXJjZSBpbnN0YWxsYXRpb24uIEhhdmluZyB0aGlzLCBzaHR0cGQgKyBTU0wgY2FuIGJlCi0tICogYnVpbHQgb24gYW55IHN5c3RlbSB3aXRoIGJpbmFyeSBTU0wgbGlicmFyaWVzIGluc3RhbGxlZC4KLS0gKi8KLS0KLS10eXBlZGVmIHN0cnVjdCBzc2xfc3QgU1NMOwotLXR5cGVkZWYgc3RydWN0IHNzbF9tZXRob2Rfc3QgU1NMX01FVEhPRDsKLS10eXBlZGVmIHN0cnVjdCBzc2xfY3R4X3N0IFNTTF9DVFg7Ci0tCi0tI2RlZmluZQlTU0xfRVJST1JfV0FOVF9SRUFECTIKLS0jZGVmaW5lCVNTTF9FUlJPUl9XQU5UX1dSSVRFCTMKLS0jZGVmaW5lCVNTTF9FUlJPUl9TWVNDQUxMCTUKLS0jZGVmaW5lCVNTTF9GSUxFVFlQRV9QRU0JMQotLQotICNlbmRpZgotLQotLS8qCi0tICogRHluYW1pY2FsbHkgbG9hZGVkIFNTTCBmdW5jdGlvbmFsaXR5Ci0tICovCi0tc3RydWN0IHNzbF9mdW5jIHsKLS0JY29uc3QgY2hhcgkqbmFtZTsJCS8qIFNTTCBmdW5jdGlvbiBuYW1lCSovCi0tCXVuaW9uIHZhcmlhbnQJcHRyOwkJLyogRnVuY3Rpb24gcG9pbnRlcgkqLwotLX07Ci0tCi0tZXh0ZXJuIHN0cnVjdCBzc2xfZnVuYwlzc2xfc3dbXTsKLS0KLS0jZGVmaW5lCUZVTkMoeCkJc3NsX3N3W3hdLnB0ci52X2Z1bmMKLS0KLS0jZGVmaW5lCVNTTF9mcmVlKHgpCSgqICh2b2lkICgqKShTU0wgKikpIEZVTkMoMCkpKHgpCi0tI2RlZmluZQlTU0xfYWNjZXB0KHgpCSgqIChpbnQgKCopKFNTTCAqKSkgRlVOQygxKSkoeCkKLS0jZGVmaW5lCVNTTF9jb25uZWN0KHgpCSgqIChpbnQgKCopKFNTTCAqKSkgRlVOQygyKSkoeCkKLS0jZGVmaW5lCVNTTF9yZWFkKHgseSx6KQkoKiAoaW50ICgqKShTU0wgKiwgdm9pZCAqLCBpbnQpKSBGVU5DKDMpKSgoeCksKHkpLCh6KSkKLS0jZGVmaW5lCVNTTF93cml0ZSh4LHkseikgXAotLQkoKiAoaW50ICgqKShTU0wgKiwgY29uc3Qgdm9pZCAqLGludCkpIEZVTkMoNCkpKCh4KSwgKHkpLCAoeikpCi0tI2RlZmluZQlTU0xfZ2V0X2Vycm9yKHgseSkoKiAoaW50ICgqKShTU0wgKiwgaW50KSkgRlVOQyg1KSkoKHgpLCAoeSkpCi0tI2RlZmluZQlTU0xfc2V0X2ZkKHgseSkJKCogKGludCAoKikoU1NMICosIGludCkpIEZVTkMoNikpKCh4KSwgKHkpKQotLSNkZWZpbmUJU1NMX25ldyh4KQkoKiAoU1NMICogKCopKFNTTF9DVFggKikpIEZVTkMoNykpKHgpCi0tI2RlZmluZQlTU0xfQ1RYX25ldyh4KQkoKiAoU1NMX0NUWCAqICgqKShTU0xfTUVUSE9EICopKSBGVU5DKDgpKSh4KQotLSNkZWZpbmUJU1NMdjIzX3NlcnZlcl9tZXRob2QoKQkoKiAoU1NMX01FVEhPRCAqICgqKSh2b2lkKSkgRlVOQyg5KSkoKQotLSNkZWZpbmUJU1NMX2xpYnJhcnlfaW5pdCgpICgqIChpbnQgKCopKHZvaWQpKSBGVU5DKDEwKSkoKQotLSNkZWZpbmUJU1NMX0NUWF91c2VfUHJpdmF0ZUtleV9maWxlKHgseSx6KQkoKiAoaW50ICgqKShTU0xfQ1RYICosIFwKLS0JCWNvbnN0IGNoYXIgKiwgaW50KSkgRlVOQygxMSkpKCh4KSwgKHkpLCAoeikpCi0tI2RlZmluZQlTU0xfQ1RYX3VzZV9jZXJ0aWZpY2F0ZV9maWxlKHgseSx6KQkoKiAoaW50ICgqKShTU0xfQ1RYICosIFwKLS0JCWNvbnN0IGNoYXIgKiwgaW50KSkgRlVOQygxMikpKCh4KSwgKHkpLCAoeikpCi0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi8wMDAxLW9wZW5TU0wtMS4xLjAtQVBJLWZpeGVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vMDAwMS1vcGVuU1NMLTEuMS4wLUFQSS1maXhlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDIzMGJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vMDAwMS1vcGVuU1NMLTEuMS4wLUFQSS1maXhlcy5wYXRjaApAQCAtMCwwICsxLDc3IEBACitGcm9tIDYzNGI5NTE1N2UxODIzNjcyYTJjOTVmYWMwY2VjZjA3OWI1OTY3ZTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/S2xhdXM9MjBLPUMzPUE0bXBmPz0gPGtrYWVtcGZAc3VzZS5kZT4KK0RhdGU6IE1vbiwgMTkgTm92IDIwMTggMTU6MzE6MjcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gb3BlblNTTCAxLjEuMCBBUEkgZml4ZXMKKworLS0tCisgc3JjL3NlcnZlci9zaHR0cGQvaW9fc3NsLmMgfCAgNSArKysrKworIHNyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jIHwgMTEgKysrKysrKysrKy0KKyBzcmMvc2VydmVyL3NodHRwZC9zc2wuaCAgICB8ICAzICsrKworIDMgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3NlcnZlci9zaHR0cGQvaW9fc3NsLmMgYi9zcmMvc2VydmVyL3NodHRwZC9pb19zc2wuYworaW5kZXggNmRlMGRiMmEuLmVjZTYxMGVmIDEwMDY0NAorLS0tIGEvc3JjL3NlcnZlci9zaHR0cGQvaW9fc3NsLmMKKysrKyBiL3NyYy9zZXJ2ZXIvc2h0dHBkL2lvX3NzbC5jCitAQCAtMjEsOCArMjEsMTMgQEAgc3RydWN0IHNzbF9mdW5jCXNzbF9zd1tdID0geworIAl7IlNTTF9zZXRfZmQiLAkJCXswfX0sCisgCXsiU1NMX25ldyIsCQkJezB9fSwKKyAJeyJTU0xfQ1RYX25ldyIsCQkJezB9fSwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCXsiU1NMdjIzX3NlcnZlcl9tZXRob2QiLAl7MH19LAorIAl7IlNTTF9saWJyYXJ5X2luaXQiLAkJezB9fSwKKysjZWxzZQorKwl7IlRMU19zZXJ2ZXJfbWV0aG9kIiwJezB9fSwKKysJeyJPUEVOU1NMX2luaXRfc3NsIiwJCXswfX0sCisrI2VuZGlmCisgCXsiU1NMX0NUWF91c2VfUHJpdmF0ZUtleV9maWxlIiwJezB9fSwKKyAJeyJTU0xfQ1RYX3VzZV9jZXJ0aWZpY2F0ZV9maWxlIix7MH19LAorIAl7TlVMTCwJCQkJezB9fQorZGlmZiAtLWdpdCBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jIGIvc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMKK2luZGV4IGYwZjNmYmQ4Li42NTJhZWExNyAxMDA2NDQKKy0tLSBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jCisrKysgYi9zcmMvc2VydmVyL3NodHRwZC9zaHR0cGQuYworQEAgLTE0ODksOSArMTQ4OSwxNCBAQCBzZXRfc3NsKHN0cnVjdCBzaHR0cGRfY3R4ICpjdHgsIGNvbnN0IGNoYXIgKnBlbSkKKyAJCX0KKyAKKyAJLyogSW5pdGlhbGl6ZSBTU0wgY3JhcCAqLworLQlTU0xfbGlicmFyeV9pbml0KCk7CisgCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKwlTU0xfbGlicmFyeV9pbml0KCk7CisgCWlmICgoQ1RYID0gU1NMX0NUWF9uZXcoU1NMdjIzX3NlcnZlcl9tZXRob2QoKSkpID09IE5VTEwpCisrI2Vsc2UKKysgICAgICAgIE9QRU5TU0xfaW5pdF9zc2woKTsKKysJaWYgKChDVFggPSBTU0xfQ1RYX25ldyhUTFNfc2VydmVyX21ldGhvZCgpKSkgPT0gTlVMTCkKKysjZW5kaWYKKyAJCV9zaHR0cGRfZWxvZyhFX0xPRywgTlVMTCwgIlNTTF9DVFhfbmV3IGVycm9yIik7CisgCWVsc2UgaWYgKFNTTF9DVFhfdXNlX2NlcnRpZmljYXRlX2ZpbGUoQ1RYLCB3c21hbmRfb3B0aW9uc19nZXRfc3NsX2NlcnRfZmlsZSgpLCBTU0xfRklMRVRZUEVfUEVNKSAhPSAxKQorIAkJX3NodHRwZF9lbG9nKEVfTE9HLCBOVUxMLCAiY2Fubm90IG9wZW4gY2VydGlmaWNhdGUgZmlsZSAlcyIsIHBlbSk7CitAQCAtMTU1Miw2ICsxNTU3LDEwIEBAIHNldF9zc2woc3RydWN0IHNodHRwZF9jdHggKmN0eCwgY29uc3QgY2hhciAqcGVtKQorICAgICAgICAgICBpZiAocmMgIT0gMSkgeworICAgICAgICAgICAgIF9zaHR0cGRfZWxvZyhFX0xPRywgTlVMTCwgIkZhaWxlZCB0byBzZXQgU1NMIGNpcGhlciBsaXN0IFwiJXNcIiIsIHNzbF9jaXBoZXJfbGlzdCk7CisgICAgICAgICAgIH0KKysgICAgICAgICAgZWxzZSBpZiAoKCpzc2xfY2lwaGVyX2xpc3QgPT0gMCkgfHwgKCpzc2xfY2lwaGVyX2xpc3QgPT0gJyAnKSkgeworKyAgICAgICAgICAgIF9zaHR0cGRfZWxvZyhFX0xPRywgTlVMTCwgIkVtcHR5ICdzc2xfY2lwaGVyX2xpc3QnIGRlZmF1bHRzIHRvICdUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0OlRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTY6VExTX0FFU18xMjhfR0NNX1NIQTI1NicuIik7CisrICAgICAgICAgICAgX3NodHRwZF9lbG9nKEVfTE9HLCBOVUxMLCAiQ2hlY2sgb3BlblNTTCBkb2N1bWVudGF0aW9uLiIpOworKyAgICAgICAgICB9CisgICAgICAgICB9CisgCWN0eC0+c3NsX2N0eCA9IENUWDsKKyAKK2RpZmYgLS1naXQgYS9zcmMvc2VydmVyL3NodHRwZC9zc2wuaCBiL3NyYy9zZXJ2ZXIvc2h0dHBkL3NzbC5oCitpbmRleCAyMzA0YjcwYS4uODlhNzNjNDkgMTAwNjQ0CistLS0gYS9zcmMvc2VydmVyL3NodHRwZC9zc2wuaAorKysrIGIvc3JjL3NlcnZlci9zaHR0cGQvc3NsLmgKK0BAIC01Niw2ICs1Niw5IEBAIGV4dGVybiBzdHJ1Y3Qgc3NsX2Z1bmMJc3NsX3N3W107CisgI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorICNkZWZpbmUJU1NMdjIzX3NlcnZlcl9tZXRob2QoKQkoKiAoU1NMX01FVEhPRCAqICgqKSh2b2lkKSkgRlVOQyg5KSkoKQorICNkZWZpbmUJU1NMX2xpYnJhcnlfaW5pdCgpICgqIChpbnQgKCopKHZvaWQpKSBGVU5DKDEwKSkoKQorKyNlbHNlCisrI2RlZmluZQlUTFNfc2VydmVyX21ldGhvZCgpCSgqIChTU0xfTUVUSE9EICogKCopKHZvaWQpKSBGVU5DKDkpKSgpCisrI2RlZmluZQlPUEVOU1NMX2luaXRfc3NsKCkgKCogKGludCAoKikodm9pZCkpIEZVTkMoMTApKSgpCisgI2VuZGlmCisgI2RlZmluZQlTU0xfQ1RYX3VzZV9Qcml2YXRlS2V5X2ZpbGUoeCx5LHopCSgqIChpbnQgKCopKFNTTF9DVFggKiwgXAorIAkJY29uc3QgY2hhciAqLCBpbnQpKSBGVU5DKDExKSkoKHgpLCAoeSksICh6KSkKKy0tIAorMi4xOS4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuLzAwMDItQ2hlY2stT3BlblNTTC12ZXJzaW9uLW51bWJlci10by1hbGxvdy1idWlsZHMtd2l0aC1vbC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuLzAwMDItQ2hlY2stT3BlblNTTC12ZXJzaW9uLW51bWJlci10by1hbGxvdy1idWlsZHMtd2l0aC1vbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWFlMmUwMC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi8wMDAyLUNoZWNrLU9wZW5TU0wtdmVyc2lvbi1udW1iZXItdG8tYWxsb3ctYnVpbGRzLXdpdGgtb2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi1Gcm9tIDc1NjY5YjA3N2JkNTRiZWRiYzA4NmM2MGNiZTEzN2U3ZjRjNjg1YjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBWaXRlenNsYXYgQ3Job25layA8dmNyaG9uZWtAcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgMjQgQXByIDIwMTcgMTE6Mjg6MzkgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIENoZWNrIE9wZW5TU0wgdmVyc2lvbiBudW1iZXIgdG8gYWxsb3cgYnVpbGRzIHdpdGggb2xkZXIKLSB2ZXJzaW9uCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vT3BlbndzbWFuL29wZW53c21hbi9wdWxsLzk5XQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMgfCA0ICsrKysKLSBzcmMvc2VydmVyL3NodHRwZC9zaHR0cGQuYyAgICAgICAgICAgIHwgNCArKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMgYi9zcmMvbGliL3dzbWFuLWN1cmwtY2xpZW50LXRyYW5zcG9ydC5jCi1pbmRleCBlNjRhZDA5Ny4uNGZjMDQ3ZTggMTAwNjQ0Ci0tLS0gYS9zcmMvbGliL3dzbWFuLWN1cmwtY2xpZW50LXRyYW5zcG9ydC5jCi0rKysgYi9zcmMvbGliL3dzbWFuLWN1cmwtY2xpZW50LXRyYW5zcG9ydC5jCi1AQCAtMjQ3LDcgKzI0NywxMSBAQCBzdGF0aWMgaW50IHNzbF9jZXJ0aWZpY2F0ZV90aHVtYnByaW50X3ZlcmlmeV9jYWxsYmFjayhYNTA5X1NUT1JFX0NUWCAqY3R4LCB2b2lkCi0gCXVuc2lnbmVkIGludCAgICAgIHRlbXBGaW5nZXJwcmludExlbjsKLSAJdGVtcERpZ2VzdCA9IChFVlBfTUQqKUVWUF9zaGExKCApOwotIAotKwkjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCi0rCVg1MDkgKmNlcnQgPSBjdHgtPmNlcnQ7Ci0rCSNlbHNlCi0gCVg1MDkgKmNlcnQgPSBYNTA5X1NUT1JFX0NUWF9nZXRfY3VycmVudF9jZXJ0KGN0eCk7Ci0rCSNlbmRpZgotIAlpZighY2VydCkKLSAJCXJldHVybiAwOwotIAotZGlmZiAtLWdpdCBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jIGIvc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMKLWluZGV4IDRjMWRiZjMyLi4xNjE3MjBjOCAxMDA2NDQKLS0tLSBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jCi0rKysgYi9zcmMvc2VydmVyL3NodHRwZC9zaHR0cGQuYwotQEAgLTE1MjYsNyArMTUyNiwxMSBAQCBzZXRfc3NsKHN0cnVjdCBzaHR0cGRfY3R4ICpjdHgsIGNvbnN0IGNoYXIgKnBlbSkKLSAJCQlpZiAoc3RybmNhc2VjbXAocHJvdG9jb2xzW2lkeF0ubmFtZSwgc3NsX2Rpc2FibGVkX3Byb3RvY29scywgYmxhbmtfcHRyLXNzbF9kaXNhYmxlZF9wcm90b2NvbHMpID09IDApIHsKLSAJCQkJLy9fc2h0dHBkX2Vsb2coRV9MT0csIE5VTEwsICJTU0w6IGRpc2FibGUgJXMgcHJvdG9jb2wiLCBwcm90b2NvbHNbaWR4XS5uYW1lKTsKLSAJCQkJZGVidWcoIlNTTDogZGlzYWJsZSAlcyBwcm90b2NvbCIsIHByb3RvY29sc1tpZHhdLm5hbWUpOwotKwkJCQkjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCi0rCQkJCVNTTF9DVFhfY3RybChDVFgsIFNTTF9DVFJMX09QVElPTlMsIHByb3RvY29sc1tpZHhdLm9wdCwgTlVMTCk7Ci0rCQkJCSNlbHNlCi0gCQkJCVNTTF9DVFhfc2V0X29wdGlvbnMoQ1RYLCBwcm90b2NvbHNbaWR4XS5vcHQpOwotKwkJCQkjZW5kaWYKLSAJCQkJYnJlYWs7Ci0gCQkJfQotIAkJfQotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW5fMi42LjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbl8yLjYuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWZiYTM4NS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbl8yLjYuNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLVNVTU1BUlkgPSAiT3BlbnNvdXJjZSBJbXBsZW1lbnRhdGlvbiBvZiBXUy1NYW5hZ2VtZW50IgotREVTQ1JJUFRJT04gPSAiT3BlbndzbWFuIGlzIGEgcHJvamVjdCBpbnRlbmRlZCB0byBwcm92aWRlIGFuIG9wZW4tc291cmNlIFwKLWltcGxlbWVudGF0aW9uIG9mIHRoZSBXZWIgU2VydmljZXMgTWFuYWdlbWVudCBzcGVjaXBpY2F0aW9uIFwKLShXUy1NYW5hZ2VtZW50KSBhbmQgdG8gZXhwb3NlIHN5c3RlbSBtYW5hZ2VtZW50IGluZm9ybWF0aW9uIG9uIHRoZSBcCi1MaW51eCBvcGVyYXRpbmcgc3lzdGVtIHVzaW5nIHRoZSBXUy1NYW5hZ2VtZW50IHByb3RvY29sLiBXUy1NYW5hZ2VtZW50IFwKLWlzIGJhc2VkIG9uIGEgc3VpdGUgb2Ygd2ViIHNlcnZpY2VzIHNwZWNpZmljYXRpb25zIGFuZCB1c2FnZSBcCi1yZXF1aXJlbWVudHMgdGhhdCBleHBvc2VzIGEgc2V0IG9mIG9wZXJhdGlvbnMgZm9jdXNlZCBvbiBhbmQgY292ZXJzIFwKLWFsbCBzeXN0ZW0gbWFuYWdlbWVudCBhc3BlY3RzLiBcCi1PcGVud3NtYW4gU2VydmVyIGFuZCBzZXJ2aWNlIGxpYnJhcmllcyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbndzbWFuLm9yZy8iCi1TRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCi0KLURFUEVORFMgPSAiY3VybCBsaWJ4bWwyIG9wZW5zc2wgbGlicGFtIgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjawotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInBhbSIKLQotU1JDUkVWID0gImU5MGU1Yzk2ZTMwMDZjMzcyYmY0NWUwMTg1ZTMzYzkyNTBlNjdkZjYiCi1QViA9ICIyLjYuNSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL09wZW53c21hbi9vcGVud3NtYW4uZ2l0IFwKLSAgICAgICAgICAgZmlsZTovL2xpYnNzbC1pcy1yZXF1aXJlZC1pZi1ldmVudGludC1zdXBwb3J0ZWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vb3BlbndzbWFuZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbG9jay5jLURlZmluZS1QVEhSRUFEX01VVEVYX1JFQ1VSU0lWRV9OUC1pZi11bmRlZmluZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVBvcnQtdG8tT3BlblNTTC0xLjEuMC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLUNoZWNrLU9wZW5TU0wtdmVyc2lvbi1udW1iZXItdG8tYWxsb3ctYnVpbGRzLXdpdGgtb2wucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDRmNTNkNGM2Y2Y3M2I5ZDQzMTg2Y2UzYmU2ZGQwYmEiCi0KLWluaGVyaXQgc3lzdGVtZCBjbWFrZSBwa2djb25maWcgcHl0aG9ubmF0aXZlIHBlcmxuYXRpdmUKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm9wZW53c21hbmQuc2VydmljZSIKLVNZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKLQotTERGTEFHU19hcHBlbmQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZC1pcy1nb2xkJywgIiAtZnVzZS1sZD1iZmQgIiwgJycsIGQpfSIKLQotRVhUUkFfT0VDTUFLRSA9ICItREJVSUxEX0JJTkRJTkdTPU5PIFwKLSAgICAgICAgICAgICAgICAgLURCVUlMRF9MSUJDSU09Tk8gXAotICAgICAgICAgICAgICAgICAtREJVSUxEX1BFUkw9WUVTIFwKLSAgICAgICAgICAgICAgICAgLURDTUFLRV9JTlNUQUxMX1BSRUZJWD0ke3ByZWZpeH0gXAotICAgICAgICAgICAgICAgICAtRExJQj0ke2Jhc2VsaWJ9IFwKLSAgICAgICAgICAgICAgICAiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgIGV4cG9ydCBTVEFHSU5HX0lOQ0RJUj0ke1NUQUdJTkdfSU5DRElSfQotICAgIGV4cG9ydCBTVEFHSU5HX0xJQkRJUj0ke1NUQUdJTkdfTElCRElSfQotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKLSAgICBpbnN0YWxsIC1tIDc1NSAke0J9L2V0Yy9pbml0L29wZW53c21hbmQuc2ggJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9vcGVud3NtYW5kCi0gICAgbG4gLXNmICR7c3lzY29uZmRpcn0vaW5pdC5kL29wZW53c21hbmQgJHtEfS8ke3NiaW5kaXJ9L3Jjb3BlbndzbWFuZAotICAgIGNobW9kIDc1NSAke0R9LyR7c3lzY29uZmRpcn0vb3BlbndzbWFuL293c21hbmdlbmNlcnQuc2gKLSAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vb3BlbndzbWFuZC5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCi0gICAgICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9vcGVud3NtYW5kLnNlcnZpY2UKLSAgICAgICAgc2VkIC1pIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL29wZW53c21hbmQuc2VydmljZQotICAgICAgICBzZWQgLWkgLWUgJ3MsQExPQ0FMU1RBVEVESVJALCR7bG9jYWxzdGF0ZWRpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vb3BlbndzbWFuZC5zZXJ2aWNlCi0gICAgZmkKLX0KLQotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vb3BlbndzbWFuL3BsdWdpbnMvLmRlYnVnLyBcCi0gICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9vcGVud3NtYW4vYXV0aGVudGljYXRvcnMvLmRlYnVnLyBcCi0gICAgICAgICAgICAgICAgICAgIgotCi1JTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCi1SREVQRU5EU18ke1BOfSA9ICJydWJ5IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW5fMi42LjguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbl8yLjYuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDRmZjAxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW5fMi42LjguYmIKQEAgLTAsMCArMSw3NSBAQAorU1VNTUFSWSA9ICJPcGVuc291cmNlIEltcGxlbWVudGF0aW9uIG9mIFdTLU1hbmFnZW1lbnQiCitERVNDUklQVElPTiA9ICJPcGVud3NtYW4gaXMgYSBwcm9qZWN0IGludGVuZGVkIHRvIHByb3ZpZGUgYW4gb3Blbi1zb3VyY2UgXAoraW1wbGVtZW50YXRpb24gb2YgdGhlIFdlYiBTZXJ2aWNlcyBNYW5hZ2VtZW50IHNwZWNpcGljYXRpb24gXAorKFdTLU1hbmFnZW1lbnQpIGFuZCB0byBleHBvc2Ugc3lzdGVtIG1hbmFnZW1lbnQgaW5mb3JtYXRpb24gb24gdGhlIFwKK0xpbnV4IG9wZXJhdGluZyBzeXN0ZW0gdXNpbmcgdGhlIFdTLU1hbmFnZW1lbnQgcHJvdG9jb2wuIFdTLU1hbmFnZW1lbnQgXAoraXMgYmFzZWQgb24gYSBzdWl0ZSBvZiB3ZWIgc2VydmljZXMgc3BlY2lmaWNhdGlvbnMgYW5kIHVzYWdlIFwKK3JlcXVpcmVtZW50cyB0aGF0IGV4cG9zZXMgYSBzZXQgb2Ygb3BlcmF0aW9ucyBmb2N1c2VkIG9uIGFuZCBjb3ZlcnMgXAorYWxsIHN5c3RlbSBtYW5hZ2VtZW50IGFzcGVjdHMuIFwKK09wZW53c21hbiBTZXJ2ZXIgYW5kIHNlcnZpY2UgbGlicmFyaWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVud3NtYW4ub3JnLyIKK1NFQ1RJT04gPSAiQXBwbGljYXRpb25zL1N5c3RlbSIKKworREVQRU5EUyA9ICJjdXJsIGxpYnhtbDIgb3BlbnNzbCBsaWJwYW0iCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAicGFtIgorCisjIHYyLjYuOAorU1JDUkVWID0gImI5Y2QwYjcyNTM0ODU0YWJiNmRkODM0YzhjMTFlMDIxMTFiNGM4ZDciCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9PcGVud3NtYW4vb3BlbndzbWFuLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly9saWJzc2wtaXMtcmVxdWlyZWQtaWYtZXZlbnRpbnQtc3VwcG9ydGVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL29wZW53c21hbmQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxvY2suYy1EZWZpbmUtUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkVfTlAtaWYtdW5kZWZpbmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1vcGVuU1NMLTEuMS4wLUFQSS1maXhlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkanVzdC1mb3ItQ1VSTEVfU1NMX0NBQ0VSVC1kZXByZWNhdGlvbi1pbi1jdXJsLTcuNjIucGF0Y2ggXAorICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDRmNTNkNGM2Y2Y3M2I5ZDQzMTg2Y2UzYmU2ZGQwYmEiCisKK2luaGVyaXQgc3lzdGVtZCBjbWFrZSBwa2djb25maWcgcHl0aG9uM25hdGl2ZSBwZXJsbmF0aXZlCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJvcGVud3NtYW5kLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK0xERkxBR1NfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICIgLWZ1c2UtbGQ9YmZkICIsICcnLCBkKX0iCisKK0VYVFJBX09FQ01BS0UgPSAiLURCVUlMRF9CSU5ESU5HUz1OTyBcCisgICAgICAgICAgICAgICAgIC1EQlVJTERfTElCQ0lNPU5PIFwKKyAgICAgICAgICAgICAgICAgLURCVUlMRF9QRVJMPVlFUyBcCisgICAgICAgICAgICAgICAgIC1EQlVJTERfUFlUSE9OMz1ZRVMgXAorICAgICAgICAgICAgICAgICAtREJVSUxEX1BZVEhPTj1OTyBcCisgICAgICAgICAgICAgICAgIC1EQ01BS0VfSU5TVEFMTF9QUkVGSVg9JHtwcmVmaXh9IFwKKyAgICAgICAgICAgICAgICAgLURMSUI9JHtiYXNlbGlifSBcCisgICAgICAgICAgICAgICAgIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBleHBvcnQgU1RBR0lOR19JTkNESVI9JHtTVEFHSU5HX0lOQ0RJUn0KKyAgICBleHBvcnQgU1RBR0lOR19MSUJESVI9JHtTVEFHSU5HX0xJQkRJUn0KK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSA3NTUgJHtCfS9ldGMvaW5pdC9vcGVud3NtYW5kLnNoICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvb3BlbndzbWFuZAorICAgIGxuIC1zZiAke3N5c2NvbmZkaXJ9L2luaXQuZC9vcGVud3NtYW5kICR7RH0vJHtzYmluZGlyfS9yY29wZW53c21hbmQKKyAgICBjaG1vZCA3NTUgJHtEfS8ke3N5c2NvbmZkaXJ9L29wZW53c21hbi9vd3NtYW5nZW5jZXJ0LnNoCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L29wZW53c21hbmQuc2VydmljZSAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKworICAgICAgICBzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vb3BlbndzbWFuZC5zZXJ2aWNlCisgICAgICAgIHNlZCAtaSAtZSAncyxAU1lTQ09ORkRJUkAsJHtzeXNjb25mZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9vcGVud3NtYW5kLnNlcnZpY2UKKyAgICAgICAgc2VkIC1pIC1lICdzLEBMT0NBTFNUQVRFRElSQCwke2xvY2Fsc3RhdGVkaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL29wZW53c21hbmQuc2VydmljZQorICAgIGZpCit9CisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L29wZW53c21hbi9wbHVnaW5zLy5kZWJ1Zy8gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vb3BlbndzbWFuL2F1dGhlbnRpY2F0b3JzLy5kZWJ1Zy8gXAorICAgICAgICAgICAgICAgICAgICIKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgorUkRFUEVORFNfJHtQTn0gPSAicnVieSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wYW0vcGFtLXNzaC1hZ2VudC1hdXRoLzAwMDEtQWRhcHQtdG8tT3BlblNTTC0xLjEuMS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wYW0vcGFtLXNzaC1hZ2VudC1hdXRoLzAwMDEtQWRhcHQtdG8tT3BlblNTTC0xLjEuMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDc1YTE4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9wYW0tc3NoLWFnZW50LWF1dGgvMDAwMS1BZGFwdC10by1PcGVuU1NMLTEuMS4xLnBhdGNoCkBAIC0wLDAgKzEsODc5IEBACitGcm9tIDM3ZTIzMzMwN2E3OWE5MjUwOTYyZGNmNzdiN2M3ZTI3YTAyYTFhMzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAxIEZlYiAyMDE5IDIyOjQ0OjEwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkYXB0IHRvIE9wZW5TU0wgMS4xLjEKKworRnJvbTogR3VpZG8gRmFsc2kgPG1hZEBtYWRwaWxvdC5uZXQ+CitodHRwczovL3NvdXJjZXMuZGViaWFuLm9yZy9zcmMvcGFtLXNzaC1hZ2VudC1hdXRoLzAuMTAuMy0zL2RlYmlhbi9wYXRjaGVzL29wZW5zc2wtMS4xLjEtMS5wYXRjaC8KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgYXV0aGZkLmMgICAgfCAgNTAgKysrKysrKysrKysrKysrKysrKysKKyBidWZibi5jICAgICB8ICAgNCArKworIGNpcGhlci5oICAgIHwgICA2ICsrLQorIGtleC5oICAgICAgIHwgICA5ICsrKy0KKyBrZXkuYyAgICAgICB8IDEzMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCisgc3NoLWRzcy5jICAgfCAgNTEgKysrKysrKysrKysrKysrKy0tLS0KKyBzc2gtZWNkc2EuYyB8ICA0MCArKysrKysrKysrKystLS0tCisgc3NoLXJzYS5jICAgfCAgMjIgKysrKysrKy0tCisgOCBmaWxlcyBjaGFuZ2VkLCAyODcgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hdXRoZmQuYyBiL2F1dGhmZC5jCitpbmRleCAyMTJlMDZiLi5mOTE1MTRkIDEwMDY0NAorLS0tIGEvYXV0aGZkLmMKKysrKyBiL2F1dGhmZC5jCitAQCAtMzY3LDYgKzM2Nyw3IEBAIHNzaF9nZXRfbmV4dF9pZGVudGl0eShBdXRoZW50aWNhdGlvbkNvbm5lY3Rpb24gKmF1dGgsIGNoYXIgKipjb21tZW50LCBpbnQgdmVyc2lvCisgCWNhc2UgMToKKyAJCWtleSA9IHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3KEtFWV9SU0ExKTsKKyAJCWJpdHMgPSBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9pbnQoJmF1dGgtPmlkZW50aXRpZXMpOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bSgmYXV0aC0+aWRlbnRpdGllcywga2V5LT5yc2EtPmUpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtKCZhdXRoLT5pZGVudGl0aWVzLCBrZXktPnJzYS0+bik7CisgCQkqY29tbWVudCA9IHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X3N0cmluZygmYXV0aC0+aWRlbnRpdGllcywgTlVMTCk7CitAQCAtMzc0LDYgKzM3NSwxNSBAQCBzc2hfZ2V0X25leHRfaWRlbnRpdHkoQXV0aGVudGljYXRpb25Db25uZWN0aW9uICphdXRoLCBjaGFyICoqY29tbWVudCwgaW50IHZlcnNpbworIAkJaWYgKGtleWJpdHMgPCAwIHx8IGJpdHMgIT0gKHVfaW50KWtleWJpdHMpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2xvZ2l0KCJXYXJuaW5nOiBpZGVudGl0eSBrZXlzaXplIG1pc21hdGNoOiBhY3R1YWwgJWQsIGFubm91bmNlZCAldSIsCisgCQkJICAgIEJOX251bV9iaXRzKGtleS0+cnNhLT5uKSwgYml0cyk7CisrI2Vsc2UKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bSgmYXV0aC0+aWRlbnRpdGllcywgUlNBX2dldDBfZShrZXktPnJzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtKCZhdXRoLT5pZGVudGl0aWVzLCBSU0FfZ2V0MF9uKGtleS0+cnNhKSk7CisrCQkqY29tbWVudCA9IHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X3N0cmluZygmYXV0aC0+aWRlbnRpdGllcywgTlVMTCk7CisrCQlrZXliaXRzID0gQk5fbnVtX2JpdHMoUlNBX2dldDBfbihrZXktPnJzYSkpOworKwkJaWYgKGtleWJpdHMgPCAwIHx8IGJpdHMgIT0gKHVfaW50KWtleWJpdHMpCisrCQkJcGFtc3NoYWdlbnRhdXRoX2xvZ2l0KCJXYXJuaW5nOiBpZGVudGl0eSBrZXlzaXplIG1pc21hdGNoOiBhY3R1YWwgJWQsIGFubm91bmNlZCAldSIsCisrCQkJICAgIEJOX251bV9iaXRzKFJTQV9nZXQwX24oa2V5LT5yc2EpKSwgYml0cyk7CisrI2VuZGlmCisgCQlicmVhazsKKyAJY2FzZSAyOgorIAkJYmxvYiA9IHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X3N0cmluZygmYXV0aC0+aWRlbnRpdGllcywgJmJsZW4pOworQEAgLTQxNyw5ICs0MjcsMTUgQEAgc3NoX2RlY3J5cHRfY2hhbGxlbmdlKEF1dGhlbnRpY2F0aW9uQ29ubmVjdGlvbiAqYXV0aCwKKyAJfQorIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2luaXQoJmJ1ZmZlcik7CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2NoYXIoJmJ1ZmZlciwgU1NIX0FHRU5UQ19SU0FfQ0hBTExFTkdFKTsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2ludCgmYnVmZmVyLCBCTl9udW1fYml0cyhrZXktPnJzYS0+bikpOworIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oJmJ1ZmZlciwga2V5LT5yc2EtPmUpOworIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oJmJ1ZmZlciwga2V5LT5yc2EtPm4pOworKyNlbHNlCisrCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2ludCgmYnVmZmVyLCBCTl9udW1fYml0cyhSU0FfZ2V0MF9uKGtleS0+cnNhKSkpOworKwlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oJmJ1ZmZlciwgUlNBX2dldDBfZShrZXktPnJzYSkpOworKwlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oJmJ1ZmZlciwgUlNBX2dldDBfbihrZXktPnJzYSkpOworKyNlbmRpZgorIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oJmJ1ZmZlciwgY2hhbGxlbmdlKTsKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9hcHBlbmQoJmJ1ZmZlciwgc2Vzc2lvbl9pZCwgMTYpOworIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9pbnQoJmJ1ZmZlciwgcmVzcG9uc2VfdHlwZSk7CitAQCAtNDk2LDYgKzUxMiw3IEBAIHNzaF9hZ2VudF9zaWduKEF1dGhlbnRpY2F0aW9uQ29ubmVjdGlvbiAqYXV0aCwKKyBzdGF0aWMgdm9pZAorIHNzaF9lbmNvZGVfaWRlbnRpdHlfcnNhMShCdWZmZXIgKmIsIFJTQSAqa2V5LCBjb25zdCBjaGFyICpjb21tZW50KQorIHsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2ludChiLCBCTl9udW1fYml0cyhrZXktPm4pKTsKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKGIsIGtleS0+bik7CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bShiLCBrZXktPmUpOworQEAgLTUwNCw2ICs1MjEsMTYgQEAgc3NoX2VuY29kZV9pZGVudGl0eV9yc2ExKEJ1ZmZlciAqYiwgUlNBICprZXksIGNvbnN0IGNoYXIgKmNvbW1lbnQpCisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bShiLCBrZXktPmlxbXApOwkvKiBzc2gga2V5LT51ICovCisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bShiLCBrZXktPnEpOwkvKiBzc2gga2V5LT5wLCBTU0wga2V5LT5xICovCisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bShiLCBrZXktPnApOwkvKiBzc2gga2V5LT5xLCBTU0wga2V5LT5wICovCisrI2Vsc2UKKysJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KGIsIEJOX251bV9iaXRzKFJTQV9nZXQwX24oa2V5KSkpOworKwlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oYiwgUlNBX2dldDBfbihrZXkpKTsKKysJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKGIsIFJTQV9nZXQwX2Uoa2V5KSk7CisrCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bShiLCBSU0FfZ2V0MF9kKGtleSkpOworKwkvKiBUbyBrZWVwIHdpdGhpbiB0aGUgcHJvdG9jb2w6IHAgPCBxIGZvciBzc2guIGluIFNTTCBwID4gcSAqLworKwlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oYiwgUlNBX2dldDBfaXFtcChrZXkpKTsJLyogc3NoIGtleS0+dSAqLworKwlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oYiwgUlNBX2dldDBfcShrZXkpKTsJLyogc3NoIGtleS0+cCwgU1NMIGtleS0+cSAqLworKwlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oYiwgUlNBX2dldDBfcChrZXkpKTsJLyogc3NoIGtleS0+cSwgU1NMIGtleS0+cCAqLworKyNlbmRpZgorIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9jc3RyaW5nKGIsIGNvbW1lbnQpOworIH0KKyAKK0BAIC01MTMsMTkgKzU0MCwzNiBAQCBzc2hfZW5jb2RlX2lkZW50aXR5X3NzaDIoQnVmZmVyICpiLCBLZXkgKmtleSwgY29uc3QgY2hhciAqY29tbWVudCkKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfY3N0cmluZyhiLCBrZXlfc3NoX25hbWUoa2V5KSk7CisgCXN3aXRjaCAoa2V5LT50eXBlKSB7CisgCWNhc2UgS0VZX1JTQToKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+cnNhLT5uKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5yc2EtPmUpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPnJzYS0+ZCk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+cnNhLT5pcW1wKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5yc2EtPnApOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPnJzYS0+cSk7CisrI2Vsc2UKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwgUlNBX2dldDBfbihrZXktPnJzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBSU0FfZ2V0MF9lKGtleS0+cnNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIFJTQV9nZXQwX2Qoa2V5LT5yc2EpKTsKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwgUlNBX2dldDBfaXFtcChrZXktPnJzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBSU0FfZ2V0MF9wKGtleS0+cnNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIFJTQV9nZXQwX3Eoa2V5LT5yc2EpKTsKKysjZW5kaWYKKyAJCWJyZWFrOworIAljYXNlIEtFWV9EU0E6CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPmRzYS0+cCk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+ZHNhLT5xKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5kc2EtPmcpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPmRzYS0+cHViX2tleSk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+ZHNhLT5wcml2X2tleSk7CisrI2Vsc2UKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwgRFNBX2dldDBfcChrZXktPmRzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBEU0FfZ2V0MF9xKGtleS0+ZHNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIERTQV9nZXQwX2coa2V5LT5kc2EpKTsKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwgRFNBX2dldDBfcHViX2tleShrZXktPmRzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBEU0FfZ2V0MF9wcml2X2tleShrZXktPmRzYSkpOworKyNlbmRpZgorIAkJYnJlYWs7CisgCX0KKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfY3N0cmluZyhiLCBjb21tZW50KTsKK0BAIC02MDUsOSArNjQ5LDE1IEBAIHNzaF9yZW1vdmVfaWRlbnRpdHkoQXV0aGVudGljYXRpb25Db25uZWN0aW9uICphdXRoLCBLZXkgKmtleSkKKyAKKyAJaWYgKGtleS0+dHlwZSA9PSBLRVlfUlNBMSkgeworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfY2hhcigmbXNnLCBTU0hfQUdFTlRDX1JFTU9WRV9SU0FfSURFTlRJVFkpOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2ludCgmbXNnLCBCTl9udW1fYml0cyhrZXktPnJzYS0+bikpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKCZtc2csIGtleS0+cnNhLT5lKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmbXNnLCBrZXktPnJzYS0+bik7CisrI2Vsc2UKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2ludCgmbXNnLCBCTl9udW1fYml0cyhSU0FfZ2V0MF9uKGtleS0+cnNhKSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKCZtc2csIFJTQV9nZXQwX2Uoa2V5LT5yc2EpKTsKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmbXNnLCBSU0FfZ2V0MF9uKGtleS0+cnNhKSk7CisrI2VuZGlmCisgCX0gZWxzZSBpZiAoa2V5LT50eXBlID09IEtFWV9EU0EgfHwga2V5LT50eXBlID09IEtFWV9SU0EpIHsKKyAJCXBhbXNzaGFnZW50YXV0aF9rZXlfdG9fYmxvYihrZXksICZibG9iLCAmYmxlbik7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9jaGFyKCZtc2csIFNTSDJfQUdFTlRDX1JFTU9WRV9JREVOVElUWSk7CitkaWZmIC0tZ2l0IGEvYnVmYm4uYyBiL2J1ZmJuLmMKK2luZGV4IDZhNDljNzMuLjRlY2VkYzEgMTAwNjQ0CistLS0gYS9idWZibi5jCisrKysgYi9idWZibi5jCitAQCAtMTUxLDcgKzE1MSwxMSBAQCBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yX3JldChCdWZmZXIgKmJ1ZmZlciwgY29uc3QgQklHTlVNICp2YWx1ZSkKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2ludChidWZmZXIsIDApOworIAkJcmV0dXJuIDA7CisgCX0KKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCWlmICh2YWx1ZS0+bmVnKSB7CisrI2Vsc2UKKysJaWYgKEJOX2lzX25lZ2F0aXZlKHZhbHVlKSkgeworKyNlbmRpZgorIAkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJidWZmZXJfcHV0X2JpZ251bTJfcmV0OiBuZWdhdGl2ZSBudW1iZXJzIG5vdCBzdXBwb3J0ZWQiKTsKKyAJCXJldHVybiAoLTEpOworIAl9CitkaWZmIC0tZ2l0IGEvY2lwaGVyLmggYi9jaXBoZXIuaAoraW5kZXggNDliYmMxNi4uNjRmNTljYSAxMDA2NDQKKy0tLSBhL2NpcGhlci5oCisrKysgYi9jaXBoZXIuaAorQEAgLTU5LDE1ICs1OSwxOCBAQAorICNkZWZpbmUgQ0lQSEVSX0RFQ1JZUFQJCTAKKyAKKyB0eXBlZGVmIHN0cnVjdCBDaXBoZXIgQ2lwaGVyOworLXR5cGVkZWYgc3RydWN0IENpcGhlckNvbnRleHQgQ2lwaGVyQ29udGV4dDsKKysvLyB0eXBlZGVmIHN0cnVjdCBDaXBoZXJDb250ZXh0IENpcGhlckNvbnRleHQ7CisgCisgc3RydWN0IENpcGhlcjsKKysvKgorIHN0cnVjdCBDaXBoZXJDb250ZXh0IHsKKyAJaW50CXBsYWludGV4dDsKKyAJRVZQX0NJUEhFUl9DVFggZXZwOworIAlDaXBoZXIgKmNpcGhlcjsKKyB9OworKyovCisgCisrLyoKKyB1X2ludAkgY2lwaGVyX21hc2tfc3NoMShpbnQpOworIENpcGhlcgkqY2lwaGVyX2J5X25hbWUoY29uc3QgY2hhciAqKTsKKyBDaXBoZXIJKmNpcGhlcl9ieV9udW1iZXIoaW50KTsKK0BAIC04OCw0ICs5MSw1IEBAIHZvaWQJIGNpcGhlcl9zZXRfa2V5aXYoQ2lwaGVyQ29udGV4dCAqLCB1X2NoYXIgKik7CisgaW50CSBjaXBoZXJfZ2V0X2tleWl2X2xlbihjb25zdCBDaXBoZXJDb250ZXh0ICopOworIGludAkgY2lwaGVyX2dldF9rZXljb250ZXh0KGNvbnN0IENpcGhlckNvbnRleHQgKiwgdV9jaGFyICopOworIHZvaWQJIGNpcGhlcl9zZXRfa2V5Y29udGV4dChDaXBoZXJDb250ZXh0ICosIHVfY2hhciAqKTsKKysqLworICNlbmRpZgkJCQkvKiBDSVBIRVJfSCAqLworZGlmZiAtLWdpdCBhL2tleC5oIGIva2V4LmgKK2luZGV4IDhlMjljOTAuLjgxY2E1N2QgMTAwNjQ0CistLS0gYS9rZXguaAorKysrIGIva2V4LmgKK0BAIC03MCw3ICs3MCw3IEBAIGVudW0ga2V4X2V4Y2hhbmdlIHsKKyAjZGVmaW5lIEtFWF9JTklUX1NFTlQJMHgwMDAxCisgCisgdHlwZWRlZiBzdHJ1Y3QgS2V4IEtleDsKKy10eXBlZGVmIHN0cnVjdCBNYWMgTWFjOworKy8vIHR5cGVkZWYgc3RydWN0IE1hYyBNYWM7CisgdHlwZWRlZiBzdHJ1Y3QgQ29tcCBDb21wOworIHR5cGVkZWYgc3RydWN0IEVuYyBFbmM7CisgdHlwZWRlZiBzdHJ1Y3QgTmV3a2V5cyBOZXdrZXlzOworQEAgLTg0LDYgKzg0LDcgQEAgc3RydWN0IEVuYyB7CisgCXVfY2hhcgkqa2V5OworIAl1X2NoYXIJKml2OworIH07CisrLyoKKyBzdHJ1Y3QgTWFjIHsKKyAJY2hhcgkqbmFtZTsKKyAJaW50CWVuYWJsZWQ7CitAQCAtOTUsMTEgKzk2LDEzIEBAIHN0cnVjdCBNYWMgeworIAlITUFDX0NUWAlldnBfY3R4OworIAlzdHJ1Y3QgdW1hY19jdHggKnVtYWNfY3R4OworIH07CisrKi8KKyBzdHJ1Y3QgQ29tcCB7CisgCWludAl0eXBlOworIAlpbnQJZW5hYmxlZDsKKyAJY2hhcgkqbmFtZTsKKyB9OworKy8qCisgc3RydWN0IE5ld2tleXMgeworIAlFbmMJZW5jOworIAlNYWMJbWFjOworQEAgLTEyNiw3ICsxMjksOSBAQCBzdHJ1Y3QgS2V4IHsKKyAJaW50CSgqaG9zdF9rZXlfaW5kZXgpKEtleSAqKTsKKyAJdm9pZAkoKmtleFtLRVhfTUFYXSkoS2V4ICopOworIH07CisrKi8KKyAKKysvKgorIEtleAkqa2V4X3NldHVwKGNoYXIgKltQUk9QT1NBTF9NQVhdKTsKKyB2b2lkCSBrZXhfZmluaXNoKEtleCAqKTsKKyAKK0BAIC0xNTIsNiArMTU3LDggQEAga2V4Z2V4X2hhc2goY29uc3QgRVZQX01EICosIGNoYXIgKiwgY2hhciAqLCBjaGFyICosIGludCwgY2hhciAqLAorIHZvaWQKKyBkZXJpdmVfc3NoMV9zZXNzaW9uX2lkKEJJR05VTSAqLCBCSUdOVU0gKiwgdV9pbnQ4X3RbOF0sIHVfaW50OF90WzE2XSk7CisgCisrKi8KKysKKyAjaWYgZGVmaW5lZChERUJVR19LRVgpIHx8IGRlZmluZWQoREVCVUdfS0VYREgpCisgdm9pZAlkdW1wX2RpZ2VzdChjaGFyICosIHVfY2hhciAqLCBpbnQpOworICNlbmRpZgorZGlmZiAtLWdpdCBhL2tleS5jIGIva2V5LmMKK2luZGV4IDEwN2E0NDIuLmFlZGJiYjUgMTAwNjQ0CistLS0gYS9rZXkuYworKysrIGIva2V5LmMKK0BAIC03NywxNSArNzcsMjEgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcoaW50IHR5cGUpCisgCWNhc2UgS0VZX1JTQToKKyAJCWlmICgocnNhID0gUlNBX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogUlNBX25ldyBmYWlsZWQiKTsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQlpZiAoKHJzYS0+biA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogQk5fbmV3IGZhaWxlZCIpOworIAkJaWYgKChyc2EtPmUgPSBCTl9uZXcoKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXc6IEJOX25ldyBmYWlsZWQiKTsKKysjZWxzZQorKwkJaWYgKFJTQV9zZXQwX2tleShyc2EsIEJOX25ldygpLCBCTl9uZXcoKSwgTlVMTCkgIT0gMSkKKysJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXc6IFJTQV9zZXQwX2tleSBmYWlsZWQiKTsKKysjZW5kaWYKKyAJCWstPnJzYSA9IHJzYTsKKyAJCWJyZWFrOworIAljYXNlIEtFWV9EU0E6CisgCQlpZiAoKGRzYSA9IERTQV9uZXcoKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXc6IERTQV9uZXcgZmFpbGVkIik7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJaWYgKChkc2EtPnAgPSBCTl9uZXcoKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXc6IEJOX25ldyBmYWlsZWQiKTsKKyAJCWlmICgoZHNhLT5xID0gQk5fbmV3KCkpID09IE5VTEwpCitAQCAtOTQsNiArMTAwLDEyIEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3KGludCB0eXBlKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogQk5fbmV3IGZhaWxlZCIpOworIAkJaWYgKChkc2EtPnB1Yl9rZXkgPSBCTl9uZXcoKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXc6IEJOX25ldyBmYWlsZWQiKTsKKysjZWxzZQorKwkJaWYgKERTQV9zZXQwX3BxZyhkc2EsIEJOX25ldygpLCBCTl9uZXcoKSwgQk5fbmV3KCkpICE9IDEpCisrCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3OiBEU0Ffc2V0MF9wcWcgZmFpbGVkIik7CisrCQlpZiAoRFNBX3NldDBfa2V5KGRzYSwgQk5fbmV3KCksIE5VTEwpICE9IDEpCisrCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3OiBEU0Ffc2V0MF9rZXkgZmFpbGVkIik7CisrI2VuZGlmCisgCQlrLT5kc2EgPSBkc2E7CisgCQlicmVhazsKKyAJY2FzZSBLRVlfRUNEU0E6CitAQCAtMTE4LDYgKzEzMCw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3X3ByaXZhdGUoaW50IHR5cGUpCisgCXN3aXRjaCAoay0+dHlwZSkgeworIAljYXNlIEtFWV9SU0ExOgorIAljYXNlIEtFWV9SU0E6CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJaWYgKChrLT5yc2EtPmQgPSBCTl9uZXcoKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXdfcHJpdmF0ZTogQk5fbmV3IGZhaWxlZCIpOworIAkJaWYgKChrLT5yc2EtPmlxbXAgPSBCTl9uZXcoKSkgPT0gTlVMTCkKK0BAIC0xMzAsMTQgKzE0MywzMCBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X25ld19wcml2YXRlKGludCB0eXBlKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ld19wcml2YXRlOiBCTl9uZXcgZmFpbGVkIik7CisgCQlpZiAoKGstPnJzYS0+ZG1wMSA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ld19wcml2YXRlOiBCTl9uZXcgZmFpbGVkIik7CisrI2Vsc2UKKysJCWlmIChSU0Ffc2V0MF9rZXkoay0+cnNhLCBOVUxMLCBOVUxMLCBCTl9uZXcoKSkgIT0gMSkKKysJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXc6IFJTQV9zZXQwX2tleSBmYWlsZWQiKTsKKysJCWlmIChSU0Ffc2V0MF9jcnRfcGFyYW1zKGstPnJzYSwgQk5fbmV3KCksIEJOX25ldygpLCBCTl9uZXcoKSkgIT0gMSkKKysJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXc6IFJTQV9zZXQwX2NydF9wYXJhbXMgZmFpbGVkIik7CisrCQlpZiAoUlNBX3NldDBfZmFjdG9ycyhrLT5yc2EsIEJOX25ldygpLCBCTl9uZXcoKSkgIT0gMSkKKysJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXc6IFJTQV9zZXQwX2ZhY3RvcnMgZmFpbGVkIik7CisrI2VuZGlmCisgCQlicmVhazsKKyAJY2FzZSBLRVlfRFNBOgorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCWlmICgoay0+ZHNhLT5wcml2X2tleSA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ld19wcml2YXRlOiBCTl9uZXcgZmFpbGVkIik7CisrI2Vsc2UKKysJCWlmIChEU0Ffc2V0MF9rZXkoay0+ZHNhLCBOVUxMLCBCTl9uZXcoKSkgIT0gMSkKKysJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXdfcHJpdmF0ZTogRFNBX3NldDBfa2V5IGZhaWxlZCIpOworKyNlbmRpZgorIAkJYnJlYWs7CisgCWNhc2UgS0VZX0VDRFNBOgorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCWlmIChFQ19LRVlfc2V0X3ByaXZhdGVfa2V5KGstPmVjZHNhLCBCTl9uZXcoKSkgIT0gMSkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXdfcHJpdmF0ZTogRUNfS0VZX3NldF9wcml2YXRlX2tleSBmYWlsZWQiKTsKKysjZWxzZQorKyNlbmRpZgorIAkJYnJlYWs7CisgCWNhc2UgS0VZX0VEMjU1MTk6CisgCQlSQU5EX2J5dGVzKGstPmVkMjU1MTktPnNrLCBzaXplb2Yoay0+ZWQyNTUxOS0+c2spKTsKK0BAIC0xOTUsMTQgKzIyNCwyNiBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2VxdWFsKGNvbnN0IEtleSAqYSwgY29uc3QgS2V5ICpiKQorIAljYXNlIEtFWV9SU0ExOgorIAljYXNlIEtFWV9SU0E6CisgCQlyZXR1cm4gYS0+cnNhICE9IE5VTEwgJiYgYi0+cnNhICE9IE5VTEwgJiYKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQkgICAgQk5fY21wKGEtPnJzYS0+ZSwgYi0+cnNhLT5lKSA9PSAwICYmCisgCQkgICAgQk5fY21wKGEtPnJzYS0+biwgYi0+cnNhLT5uKSA9PSAwOworKyNlbHNlCisrCQkgICAgQk5fY21wKFJTQV9nZXQwX2UoYS0+cnNhKSwgUlNBX2dldDBfZShiLT5yc2EpKSA9PSAwICYmCisrCQkgICAgQk5fY21wKFJTQV9nZXQwX24oYS0+cnNhKSwgUlNBX2dldDBfbihiLT5yc2EpKSA9PSAwOworKyNlbmRpZgorIAljYXNlIEtFWV9EU0E6CisgCQlyZXR1cm4gYS0+ZHNhICE9IE5VTEwgJiYgYi0+ZHNhICE9IE5VTEwgJiYKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQkgICAgQk5fY21wKGEtPmRzYS0+cCwgYi0+ZHNhLT5wKSA9PSAwICYmCisgCQkgICAgQk5fY21wKGEtPmRzYS0+cSwgYi0+ZHNhLT5xKSA9PSAwICYmCisgCQkgICAgQk5fY21wKGEtPmRzYS0+ZywgYi0+ZHNhLT5nKSA9PSAwICYmCisgCQkgICAgQk5fY21wKGEtPmRzYS0+cHViX2tleSwgYi0+ZHNhLT5wdWJfa2V5KSA9PSAwOworKyNlbHNlCisrCQkgICAgQk5fY21wKERTQV9nZXQwX3AoYS0+ZHNhKSwgRFNBX2dldDBfcChiLT5kc2EpKSA9PSAwICYmCisrCQkgICAgQk5fY21wKERTQV9nZXQwX3EoYS0+ZHNhKSwgRFNBX2dldDBfcShiLT5kc2EpKSA9PSAwICYmCisrCQkgICAgQk5fY21wKERTQV9nZXQwX2coYS0+ZHNhKSwgRFNBX2dldDBfZyhiLT5kc2EpKSA9PSAwICYmCisrCQkgICAgQk5fY21wKERTQV9nZXQwX3B1Yl9rZXkoYS0+ZHNhKSwgRFNBX2dldDBfcHViX2tleShiLT5kc2EpKSA9PSAwOworKyNlbmRpZgorIAljYXNlIEtFWV9FQ0RTQToKKyAJCXJldHVybiBhLT5lY2RzYSAhPSBOVUxMICYmIGItPmVjZHNhICE9IE5VTEwgJiYKKyAJCQlFQ19LRVlfY2hlY2tfa2V5KGEtPmVjZHNhKSA9PSAxICYmCitAQCAtMjMxLDcgKzI3Miw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfZmluZ2VycHJpbnRfcmF3KGNvbnN0IEtleSAqaywgZW51bSBmcF90eXBlIGRnc3RfdHlwZSwKKyAgICAgdV9pbnQgKmRnc3RfcmF3X2xlbmd0aCkKKyB7CisgCWNvbnN0IEVWUF9NRCAqbWQgPSBOVUxMOworLQlFVlBfTURfQ1RYIGN0eDsKKysJRVZQX01EX0NUWCAqY3R4OworIAl1X2NoYXIgKmJsb2IgPSBOVUxMOworIAl1X2NoYXIgKnJldHZhbCA9IE5VTEw7CisgCXVfaW50IGxlbiA9IDA7CitAQCAtMjUyLDEyICsyOTMsMjEgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9maW5nZXJwcmludF9yYXcoY29uc3QgS2V5ICprLCBlbnVtIGZwX3R5cGUgZGdzdF90eXBlLAorIAl9CisgCXN3aXRjaCAoay0+dHlwZSkgeworIAljYXNlIEtFWV9SU0ExOgorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCW5sZW4gPSBCTl9udW1fYnl0ZXMoay0+cnNhLT5uKTsKKyAJCWVsZW4gPSBCTl9udW1fYnl0ZXMoay0+cnNhLT5lKTsKKyAJCWxlbiA9IG5sZW4gKyBlbGVuOworIAkJYmxvYiA9IHBhbXNzaGFnZW50YXV0aF94bWFsbG9jKGxlbik7CisgCQlCTl9ibjJiaW4oay0+cnNhLT5uLCBibG9iKTsKKyAJCUJOX2JuMmJpbihrLT5yc2EtPmUsIGJsb2IgKyBubGVuKTsKKysjZWxzZQorKwkJbmxlbiA9IEJOX251bV9ieXRlcyhSU0FfZ2V0MF9uKGstPnJzYSkpOworKwkJZWxlbiA9IEJOX251bV9ieXRlcyhSU0FfZ2V0MF9lKGstPnJzYSkpOworKwkJbGVuID0gbmxlbiArIGVsZW47CisrCQlibG9iID0gcGFtc3NoYWdlbnRhdXRoX3htYWxsb2MobGVuKTsKKysJCUJOX2JuMmJpbihSU0FfZ2V0MF9uKGstPnJzYSksIGJsb2IpOworKwkJQk5fYm4yYmluKFJTQV9nZXQwX2Uoay0+cnNhKSwgYmxvYiArIG5sZW4pOworKyNlbmRpZgorIAkJYnJlYWs7CisgCWNhc2UgS0VZX0RTQToKKyAJY2FzZSBLRVlfRUNEU0E6CitAQCAtMjczLDExICszMjMsMTQgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9maW5nZXJwcmludF9yYXcoY29uc3QgS2V5ICprLCBlbnVtIGZwX3R5cGUgZGdzdF90eXBlLAorIAl9CisgCWlmIChibG9iICE9IE5VTEwpIHsKKyAJCXJldHZhbCA9IHBhbXNzaGFnZW50YXV0aF94bWFsbG9jKEVWUF9NQVhfTURfU0laRSk7CistCQlFVlBfRGlnZXN0SW5pdCgmY3R4LCBtZCk7CistCQlFVlBfRGlnZXN0VXBkYXRlKCZjdHgsIGJsb2IsIGxlbik7CistCQlFVlBfRGlnZXN0RmluYWwoJmN0eCwgcmV0dmFsLCBkZ3N0X3Jhd19sZW5ndGgpOworKwkJLyogWFhYIEVycm9ycyBmcm9tIEVWUF8qIGZ1bmN0aW9ucyBhcmUgbm90IGhhZGxlZCAqLworKwkJY3R4ID0gRVZQX01EX0NUWF9jcmVhdGUoKTsKKysJCUVWUF9EaWdlc3RJbml0KGN0eCwgbWQpOworKwkJRVZQX0RpZ2VzdFVwZGF0ZShjdHgsIGJsb2IsIGxlbik7CisrCQlFVlBfRGlnZXN0RmluYWwoY3R4LCByZXR2YWwsIGRnc3RfcmF3X2xlbmd0aCk7CisgCQltZW1zZXQoYmxvYiwgMCwgbGVuKTsKKyAJCXBhbXNzaGFnZW50YXV0aF94ZnJlZShibG9iKTsKKysJCUVWUF9NRF9DVFhfZGVzdHJveShjdHgpOworIAl9IGVsc2UgeworIAkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZmluZ2VycHJpbnRfcmF3OiBibG9iIGlzIG51bGwiKTsKKyAJfQorQEAgLTQ1NywxMCArNTEwLDE3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfcmVhZChLZXkgKnJldCwgY2hhciAqKmNwcCkKKyAJCQlyZXR1cm4gLTE7CisgCQkqY3BwID0gY3A7CisgCQkvKiBHZXQgcHVibGljIGV4cG9uZW50LCBwdWJsaWMgbW9kdWx1cy4gKi8KKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQlpZiAoIXJlYWRfYmlnbnVtKGNwcCwgcmV0LT5yc2EtPmUpKQorIAkJCXJldHVybiAtMTsKKyAJCWlmICghcmVhZF9iaWdudW0oY3BwLCByZXQtPnJzYS0+bikpCisgCQkJcmV0dXJuIC0xOworKyNlbHNlCisrCQlpZiAoIXJlYWRfYmlnbnVtKGNwcCwgUlNBX2dldDBfZShyZXQtPnJzYSkpKQorKwkJCXJldHVybiAtMTsKKysJCWlmICghcmVhZF9iaWdudW0oY3BwLCBSU0FfZ2V0MF9uKHJldC0+cnNhKSkpCisrCQkJcmV0dXJuIC0xOworKyNlbmRpZgorIAkJc3VjY2VzcyA9IDE7CisgCQlicmVhazsKKyAJY2FzZSBLRVlfVU5TUEVDOgorQEAgLTU4MywxMCArNjQzLDE3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfd3JpdGUoY29uc3QgS2V5ICprZXksIEZJTEUgKmYpCisgCisgCWlmIChrZXktPnR5cGUgPT0gS0VZX1JTQTEgJiYga2V5LT5yc2EgIT0gTlVMTCkgeworIAkJLyogc2l6ZSBvZiBtb2R1bHVzICduJyAqLworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCWJpdHMgPSBCTl9udW1fYml0cyhrZXktPnJzYS0+bik7CisgCQlmcHJpbnRmKGYsICIldSIsIGJpdHMpOworIAkJaWYgKHdyaXRlX2JpZ251bShmLCBrZXktPnJzYS0+ZSkgJiYKKyAJCSAgICB3cml0ZV9iaWdudW0oZiwga2V5LT5yc2EtPm4pKSB7CisrI2Vsc2UKKysJCWJpdHMgPSBCTl9udW1fYml0cyhSU0FfZ2V0MF9uKGtleS0+cnNhKSk7CisrCQlmcHJpbnRmKGYsICIldSIsIGJpdHMpOworKwkJaWYgKHdyaXRlX2JpZ251bShmLCBSU0FfZ2V0MF9lKGtleS0+cnNhKSkgJiYKKysJCSAgICB3cml0ZV9iaWdudW0oZiwgUlNBX2dldDBfbihrZXktPnJzYSkpKSB7CisrI2VuZGlmCisgCQkJc3VjY2VzcyA9IDE7CisgCQl9IGVsc2UgeworIAkJCXBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigia2V5X3dyaXRlOiBmYWlsZWQgZm9yIFJTQSBrZXkiKTsKK0BAIC02NzUsMTAgKzc0MiwxNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X3NpemUoY29uc3QgS2V5ICprKQorIHsKKyAJc3dpdGNoIChrLT50eXBlKSB7CisgCWNhc2UgS0VZX1JTQTE6CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAljYXNlIEtFWV9SU0E6CisgCQlyZXR1cm4gQk5fbnVtX2JpdHMoay0+cnNhLT5uKTsKKyAJY2FzZSBLRVlfRFNBOgorIAkJcmV0dXJuIEJOX251bV9iaXRzKGstPmRzYS0+cCk7CisrI2Vsc2UKKysJY2FzZSBLRVlfUlNBOgorKwkJcmV0dXJuIEJOX251bV9iaXRzKFJTQV9nZXQwX24oay0+cnNhKSk7CisrCWNhc2UgS0VZX0RTQToKKysJCXJldHVybiBCTl9udW1fYml0cyhEU0FfZ2V0MF9wKGstPmRzYSkpOworKyNlbmRpZgorIAljYXNlIEtFWV9FQ0RTQToKKyAJeworIAkJaW50IG5pZCA9IEVDX0dST1VQX2dldF9jdXJ2ZV9uYW1lKEVDX0tFWV9nZXQwX2dyb3VwKGstPmVjZHNhKSk7CitAQCAtNzY5LDE3ICs4NDMsMjkgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9mcm9tX3ByaXZhdGUoY29uc3QgS2V5ICprKQorIAlzd2l0Y2ggKGstPnR5cGUpIHsKKyAJY2FzZSBLRVlfRFNBOgorIAkJbiA9IHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3KGstPnR5cGUpOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCWlmICgoQk5fY29weShuLT5kc2EtPnAsIGstPmRzYS0+cCkgPT0gTlVMTCkgfHwKKyAJCSAgICAoQk5fY29weShuLT5kc2EtPnEsIGstPmRzYS0+cSkgPT0gTlVMTCkgfHwKKyAJCSAgICAoQk5fY29weShuLT5kc2EtPmcsIGstPmRzYS0+ZykgPT0gTlVMTCkgfHwKKyAJCSAgICAoQk5fY29weShuLT5kc2EtPnB1Yl9rZXksIGstPmRzYS0+cHViX2tleSkgPT0gTlVMTCkpCisrI2Vsc2UKKysJCWlmICgoQk5fY29weShEU0FfZ2V0MF9wKG4tPmRzYSksIERTQV9nZXQwX3Aoay0+ZHNhKSkgPT0gTlVMTCkgfHwKKysJCSAgICAoQk5fY29weShEU0FfZ2V0MF9xKG4tPmRzYSksIERTQV9nZXQwX3Eoay0+ZHNhKSkgPT0gTlVMTCkgfHwKKysJCSAgICAoQk5fY29weShEU0FfZ2V0MF9nKG4tPmRzYSksIERTQV9nZXQwX2coay0+ZHNhKSkgPT0gTlVMTCkgfHwKKysJCSAgICAoQk5fY29weShEU0FfZ2V0MF9wdWJfa2V5KG4tPmRzYSksIERTQV9nZXQwX3B1Yl9rZXkoay0+ZHNhKSkgPT0gTlVMTCkpCisrI2VuZGlmCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZnJvbV9wcml2YXRlOiBCTl9jb3B5IGZhaWxlZCIpOworIAkJYnJlYWs7CisgCWNhc2UgS0VZX1JTQToKKyAJY2FzZSBLRVlfUlNBMToKKyAJCW4gPSBwYW1zc2hhZ2VudGF1dGhfa2V5X25ldyhrLT50eXBlKTsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQlpZiAoKEJOX2NvcHkobi0+cnNhLT5uLCBrLT5yc2EtPm4pID09IE5VTEwpIHx8CisgCQkgICAgKEJOX2NvcHkobi0+cnNhLT5lLCBrLT5yc2EtPmUpID09IE5VTEwpKQorKyNlbHNlCisrCQlpZiAoKEJOX2NvcHkoUlNBX2dldDBfbihuLT5yc2EpLCBSU0FfZ2V0MF9uKGstPnJzYSkpID09IE5VTEwpIHx8CisrCQkgICAgKEJOX2NvcHkoUlNBX2dldDBfZShuLT5yc2EpLCBSU0FfZ2V0MF9lKGstPnJzYSkpID09IE5VTEwpKQorKyNlbmRpZgorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X2Zyb21fcHJpdmF0ZTogQk5fY29weSBmYWlsZWQiKTsKKyAJCWJyZWFrOworIAljYXNlIEtFWV9FQ0RTQToKK0BAIC04ODEsOCArOTY3LDEzIEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfZnJvbV9ibG9iKGNvbnN0IHVfY2hhciAqYmxvYiwgdV9pbnQgYmxlbikKKyAJc3dpdGNoICh0eXBlKSB7CisgCWNhc2UgS0VZX1JTQToKKyAJCWtleSA9IHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3KHR5cGUpOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCWlmIChwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwga2V5LT5yc2EtPmUpID09IC0xIHx8CisgCQkgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIGtleS0+cnNhLT5uKSA9PSAtMSkgeworKyNlbHNlCisrCQlpZiAocGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIFJTQV9nZXQwX2Uoa2V5LT5yc2EpKSA9PSAtMSB8fAorKwkJICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBSU0FfZ2V0MF9uKGtleS0+cnNhKSkgPT0gLTEpIHsKKysjZW5kaWYKKyAJCQlwYW1zc2hhZ2VudGF1dGhfbG9nZXJyb3IoImtleV9mcm9tX2Jsb2I6IGNhbid0IHJlYWQgcnNhIGtleSIpOworIAkJCXBhbXNzaGFnZW50YXV0aF9rZXlfZnJlZShrZXkpOworIAkJCWtleSA9IE5VTEw7CitAQCAtODk0LDEwICs5ODUsMTcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9mcm9tX2Jsb2IoY29uc3QgdV9jaGFyICpibG9iLCB1X2ludCBibGVuKQorIAkJYnJlYWs7CisgCWNhc2UgS0VZX0RTQToKKyAJCWtleSA9IHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3KHR5cGUpOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCWlmIChwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwga2V5LT5kc2EtPnApID09IC0xIHx8CisgCQkgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIGtleS0+ZHNhLT5xKSA9PSAtMSB8fAorIAkJICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBrZXktPmRzYS0+ZykgPT0gLTEgfHwKKyAJCSAgICBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwga2V5LT5kc2EtPnB1Yl9rZXkpID09IC0xKSB7CisrI2Vsc2UKKysJCWlmIChwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwgRFNBX2dldDBfcChrZXktPmRzYSkpID09IC0xIHx8CisrCQkgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIERTQV9nZXQwX3Eoa2V5LT5kc2EpKSA9PSAtMSB8fAorKwkJICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBEU0FfZ2V0MF9nKGtleS0+ZHNhKSkgPT0gLTEgfHwKKysJCSAgICBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwgRFNBX2dldDBfcHViX2tleShrZXktPmRzYSkpID09IC0xKSB7CisrI2VuZGlmCisgCQkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJrZXlfZnJvbV9ibG9iOiBjYW4ndCByZWFkIGRzYSBrZXkiKTsKKyAJCQlwYW1zc2hhZ2VudGF1dGhfa2V5X2ZyZWUoa2V5KTsKKyAJCQlrZXkgPSBOVUxMOworQEAgLTEwMTUsNiArMTExMyw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfdG9fYmxvYihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqYmxvYnAsIHVfaW50ICpsZW5wKQorIAl9CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfaW5pdCgmYik7CisgCXN3aXRjaCAoa2V5LT50eXBlKSB7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAljYXNlIEtFWV9EU0E6CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9jc3RyaW5nKCZiLCBrZXlfc3NoX25hbWUoa2V5KSk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKCZiLCBrZXktPmRzYS0+cCk7CitAQCAtMTAyNyw2ICsxMTI2LDIwIEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfdG9fYmxvYihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqYmxvYnAsIHVfaW50ICpsZW5wKQorIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMigmYiwga2V5LT5yc2EtPmUpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMigmYiwga2V5LT5yc2EtPm4pOworIAkJYnJlYWs7CisrI2Vsc2UKKysJY2FzZSBLRVlfRFNBOgorKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfY3N0cmluZygmYiwga2V5X3NzaF9uYW1lKGtleSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMigmYiwgRFNBX2dldDBfcChrZXktPmRzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMigmYiwgRFNBX2dldDBfcShrZXktPmRzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMigmYiwgRFNBX2dldDBfZyhrZXktPmRzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMigmYiwgRFNBX2dldDBfcHViX2tleShrZXktPmRzYSkpOworKwkJYnJlYWs7CisrCWNhc2UgS0VZX1JTQToKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2NzdHJpbmcoJmIsIGtleV9zc2hfbmFtZShrZXkpKTsKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoJmIsIFJTQV9nZXQwX2Uoa2V5LT5yc2EpKTsKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoJmIsIFJTQV9nZXQwX24oa2V5LT5yc2EpKTsKKysJCWJyZWFrOworKyNlbmRpZgorIAljYXNlIEtFWV9FQ0RTQToKKyAJeworIAkJc2l6ZV90IGwgPSAwOworQEAgLTExMzgsMTQgKzEyNTEsMjAgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9kZW1vdGUoY29uc3QgS2V5ICprKQorIAljYXNlIEtFWV9SU0E6CisgCQlpZiAoKHBrLT5yc2EgPSBSU0FfbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZGVtb3RlOiBSU0FfbmV3IGZhaWxlZCIpOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCWlmICgocGstPnJzYS0+ZSA9IEJOX2R1cChrLT5yc2EtPmUpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X2RlbW90ZTogQk5fZHVwIGZhaWxlZCIpOworIAkJaWYgKChway0+cnNhLT5uID0gQk5fZHVwKGstPnJzYS0+bikpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZGVtb3RlOiBCTl9kdXAgZmFpbGVkIik7CisrI2Vsc2UKKysJCWlmIChSU0Ffc2V0MF9rZXkocGstPnJzYSwgQk5fZHVwKFJTQV9nZXQwX24oay0+cnNhKSksIEJOX2R1cChSU0FfZ2V0MF9lKGstPnJzYSkpLCBOVUxMKSAhPSAxKQorKwkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X2RlbW90ZTogUlNBX3NldDBfa2V5IGZhaWxlZCIpOworKyNlbmRpZgorIAkJYnJlYWs7CisgCWNhc2UgS0VZX0RTQToKKyAJCWlmICgocGstPmRzYSA9IERTQV9uZXcoKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IERTQV9uZXcgZmFpbGVkIik7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJaWYgKChway0+ZHNhLT5wID0gQk5fZHVwKGstPmRzYS0+cCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZGVtb3RlOiBCTl9kdXAgZmFpbGVkIik7CisgCQlpZiAoKHBrLT5kc2EtPnEgPSBCTl9kdXAoay0+ZHNhLT5xKSkgPT0gTlVMTCkKK0BAIC0xMTU0LDYgKzEyNzMsMTIgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9kZW1vdGUoY29uc3QgS2V5ICprKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X2RlbW90ZTogQk5fZHVwIGZhaWxlZCIpOworIAkJaWYgKChway0+ZHNhLT5wdWJfa2V5ID0gQk5fZHVwKGstPmRzYS0+cHViX2tleSkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZGVtb3RlOiBCTl9kdXAgZmFpbGVkIik7CisrI2Vsc2UKKysJCWlmIChEU0Ffc2V0MF9wcWcocGstPmRzYSwgQk5fZHVwKERTQV9nZXQwX3Aoay0+ZHNhKSksIEJOX2R1cChEU0FfZ2V0MF9xKGstPmRzYSkpLCBCTl9kdXAoRFNBX2dldDBfZyhrLT5kc2EpKSkgIT0gMSkKKysJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IERTQV9zZXQwX3BxZyBmYWlsZWQiKTsKKysJCWlmIChEU0Ffc2V0MF9rZXkocGstPmRzYSwgQk5fZHVwKERTQV9nZXQwX3B1Yl9rZXkoay0+ZHNhKSksIE5VTEwpICE9IDEpCisrCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZGVtb3RlOiBEU0Ffc2V0MF9rZXkgZmFpbGVkIik7CisrI2VuZGlmCisgCQlicmVhazsKKyAJY2FzZSBLRVlfRUNEU0E6CisgCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IGltcGxlbWVudCBtZSIpOworZGlmZiAtLWdpdCBhL3NzaC1kc3MuYyBiL3NzaC1kc3MuYworaW5kZXggOWZkYWE1ZC4uMTA1MWFlMiAxMDA2NDQKKy0tLSBhL3NzaC1kc3MuYworKysrIGIvc3NoLWRzcy5jCitAQCAtNDgsMzcgKzQ4LDUzIEBAIHNzaF9kc3Nfc2lnbihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqc2lncCwgdV9pbnQgKmxlbnAsCisgeworIAlEU0FfU0lHICpzaWc7CisgCWNvbnN0IEVWUF9NRCAqZXZwX21kID0gRVZQX3NoYTEoKTsKKy0JRVZQX01EX0NUWCBtZDsKKysJRVZQX01EX0NUWCAqbWQ7CisgCXVfY2hhciBkaWdlc3RbRVZQX01BWF9NRF9TSVpFXSwgc2lnYmxvYltTSUdCTE9CX0xFTl07CisgCXVfaW50IHJsZW4sIHNsZW4sIGxlbiwgZGxlbjsKKyAJQnVmZmVyIGI7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwMEwKKysJY29uc3QgQklHTlVNICpyLCAqczsKKysjZW5kaWYKKyAKKyAJaWYgKGtleSA9PSBOVUxMIHx8IGtleS0+dHlwZSAhPSBLRVlfRFNBIHx8IGtleS0+ZHNhID09IE5VTEwpIHsKKyAJCXBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigic3NoX2Rzc19zaWduOiBubyBEU0Ega2V5Iik7CisgCQlyZXR1cm4gLTE7CisgCX0KKy0JRVZQX0RpZ2VzdEluaXQoJm1kLCBldnBfbWQpOworLQlFVlBfRGlnZXN0VXBkYXRlKCZtZCwgZGF0YSwgZGF0YWxlbik7CistCUVWUF9EaWdlc3RGaW5hbCgmbWQsIGRpZ2VzdCwgJmRsZW4pOworKwltZCA9IEVWUF9NRF9DVFhfY3JlYXRlKCk7CisrCUVWUF9EaWdlc3RJbml0KG1kLCBldnBfbWQpOworKwlFVlBfRGlnZXN0VXBkYXRlKG1kLCBkYXRhLCBkYXRhbGVuKTsKKysJRVZQX0RpZ2VzdEZpbmFsKG1kLCBkaWdlc3QsICZkbGVuKTsKKyAKKyAJc2lnID0gRFNBX2RvX3NpZ24oZGlnZXN0LCBkbGVuLCBrZXktPmRzYSk7CisgCW1lbXNldChkaWdlc3QsICdkJywgc2l6ZW9mKGRpZ2VzdCkpOworKwlFVlBfTURfQ1RYX2Rlc3Ryb3kobWQpOworIAorIAlpZiAoc2lnID09IE5VTEwpIHsKKyAJCXBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigic3NoX2Rzc19zaWduOiBzaWduIGZhaWxlZCIpOworIAkJcmV0dXJuIC0xOworIAl9CisgCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAlybGVuID0gQk5fbnVtX2J5dGVzKHNpZy0+cik7CisgCXNsZW4gPSBCTl9udW1fYnl0ZXMoc2lnLT5zKTsKKysjZWxzZQorKwlEU0FfU0lHX2dldDAoKGNvbnN0IERTQV9TSUcgKilzaWcsIChjb25zdCBCSUdOVU0gKiopciwgKGNvbnN0IEJJR05VTSAqKilzKTsKKysJcmxlbiA9IEJOX251bV9ieXRlcyhyKTsKKysJc2xlbiA9IEJOX251bV9ieXRlcyhzKTsKKysjZW5kaWYKKyAJaWYgKHJsZW4gPiBJTlRCTE9CX0xFTiB8fCBzbGVuID4gSU5UQkxPQl9MRU4pIHsKKyAJCXBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigiYmFkIHNpZyBzaXplICV1ICV1Iiwgcmxlbiwgc2xlbik7CisgCQlEU0FfU0lHX2ZyZWUoc2lnKTsKKyAJCXJldHVybiAtMTsKKyAJfQorIAltZW1zZXQoc2lnYmxvYiwgMCwgU0lHQkxPQl9MRU4pOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJQk5fYm4yYmluKHNpZy0+ciwgc2lnYmxvYisgU0lHQkxPQl9MRU4gLSBJTlRCTE9CX0xFTiAtIHJsZW4pOworIAlCTl9ibjJiaW4oc2lnLT5zLCBzaWdibG9iKyBTSUdCTE9CX0xFTiAtIHNsZW4pOworKyNlbHNlCisrCUJOX2JuMmJpbihyLCBzaWdibG9iKyBTSUdCTE9CX0xFTiAtIElOVEJMT0JfTEVOIC0gcmxlbik7CisrCUJOX2JuMmJpbihzLCBzaWdibG9iKyBTSUdCTE9CX0xFTiAtIHNsZW4pOworKyNlbmRpZgorIAlEU0FfU0lHX2ZyZWUoc2lnKTsKKyAKKyAJaWYgKGRhdGFmZWxsb3dzICYgU1NIX0JVR19TSUdCTE9CKSB7CitAQCAtMTEwLDExICsxMjYsMTQgQEAgc3NoX2Rzc192ZXJpZnkoY29uc3QgS2V5ICprZXksIGNvbnN0IHVfY2hhciAqc2lnbmF0dXJlLCB1X2ludCBzaWduYXR1cmVsZW4sCisgeworIAlEU0FfU0lHICpzaWc7CisgCWNvbnN0IEVWUF9NRCAqZXZwX21kID0gRVZQX3NoYTEoKTsKKy0JRVZQX01EX0NUWCBtZDsKKysJRVZQX01EX0NUWCAqbWQ7CisgCXVfY2hhciBkaWdlc3RbRVZQX01BWF9NRF9TSVpFXSwgKnNpZ2Jsb2I7CisgCXVfaW50IGxlbiwgZGxlbjsKKyAJaW50IHJsZW4sIHJldDsKKyAJQnVmZmVyIGI7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwMEwKKysJQklHTlVNICpyLCAqczsKKysjZW5kaWYKKyAKKyAJaWYgKGtleSA9PSBOVUxMIHx8IGtleS0+dHlwZSAhPSBLRVlfRFNBIHx8IGtleS0+ZHNhID09IE5VTEwpIHsKKyAJCXBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigic3NoX2Rzc192ZXJpZnk6IG5vIERTQSBrZXkiKTsKK0BAIC0xNTcsNiArMTc2LDcgQEAgc3NoX2Rzc192ZXJpZnkoY29uc3QgS2V5ICprZXksIGNvbnN0IHVfY2hhciAqc2lnbmF0dXJlLCB1X2ludCBzaWduYXR1cmVsZW4sCisgCS8qIHBhcnNlIHNpZ25hdHVyZSAqLworIAlpZiAoKHNpZyA9IERTQV9TSUdfbmV3KCkpID09IE5VTEwpCisgCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoInNzaF9kc3NfdmVyaWZ5OiBEU0FfU0lHX25ldyBmYWlsZWQiKTsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCWlmICgoc2lnLT5yID0gQk5fbmV3KCkpID09IE5VTEwpCisgCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoInNzaF9kc3NfdmVyaWZ5OiBCTl9uZXcgZmFpbGVkIik7CisgCWlmICgoc2lnLT5zID0gQk5fbmV3KCkpID09IE5VTEwpCitAQCAtMTY0LDE4ICsxODQsMzMgQEAgc3NoX2Rzc192ZXJpZnkoY29uc3QgS2V5ICprZXksIGNvbnN0IHVfY2hhciAqc2lnbmF0dXJlLCB1X2ludCBzaWduYXR1cmVsZW4sCisgCWlmICgoQk5fYmluMmJuKHNpZ2Jsb2IsIElOVEJMT0JfTEVOLCBzaWctPnIpID09IE5VTEwpIHx8CisgCSAgICAoQk5fYmluMmJuKHNpZ2Jsb2IrIElOVEJMT0JfTEVOLCBJTlRCTE9CX0xFTiwgc2lnLT5zKSA9PSBOVUxMKSkKKyAJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgic3NoX2Rzc192ZXJpZnk6IEJOX2JpbjJibiBmYWlsZWQiKTsKKysjZWxzZQorKwlpZiAoKHIgPSBCTl9uZXcoKSkgPT0gTlVMTCkKKysJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgic3NoX2Rzc192ZXJpZnk6IEJOX25ldyBmYWlsZWQiKTsKKysJaWYgKChzID0gQk5fbmV3KCkpID09IE5VTEwpCisrCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoInNzaF9kc3NfdmVyaWZ5OiBCTl9uZXcgZmFpbGVkIik7CisrCWlmIChEU0FfU0lHX3NldDAoc2lnLCByLCBzKSAhPSAxKQorKwkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJzc2hfZHNzX3ZlcmlmeTogRFNBX1NJR19zZXQwIGZhaWxlZCIpOworKwlpZiAoKEJOX2JpbjJibihzaWdibG9iLCBJTlRCTE9CX0xFTiwgcikgPT0gTlVMTCkgfHwKKysJICAgIChCTl9iaW4yYm4oc2lnYmxvYisgSU5UQkxPQl9MRU4sIElOVEJMT0JfTEVOLCBzKSA9PSBOVUxMKSkKKysJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgic3NoX2Rzc192ZXJpZnk6IEJOX2JpbjJibiBmYWlsZWQiKTsKKysJaWYgKERTQV9TSUdfc2V0MChzaWcsIHIsIHMpICE9IDEpCisrCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoInNzaF9kc3NfdmVyaWZ5OiBEU0FfU0lHX3NldDAgZmFpbGVkIik7CisrI2VuZGlmCisgCisgCS8qIGNsZWFuIHVwICovCisgCW1lbXNldChzaWdibG9iLCAwLCBsZW4pOworIAlwYW1zc2hhZ2VudGF1dGhfeGZyZWUoc2lnYmxvYik7CisgCisgCS8qIHNoYTEgdGhlIGRhdGEgKi8KKy0JRVZQX0RpZ2VzdEluaXQoJm1kLCBldnBfbWQpOworLQlFVlBfRGlnZXN0VXBkYXRlKCZtZCwgZGF0YSwgZGF0YWxlbik7CistCUVWUF9EaWdlc3RGaW5hbCgmbWQsIGRpZ2VzdCwgJmRsZW4pOworKwltZCA9IEVWUF9NRF9DVFhfY3JlYXRlKCk7CisrCUVWUF9EaWdlc3RJbml0KG1kLCBldnBfbWQpOworKwlFVlBfRGlnZXN0VXBkYXRlKG1kLCBkYXRhLCBkYXRhbGVuKTsKKysJRVZQX0RpZ2VzdEZpbmFsKG1kLCBkaWdlc3QsICZkbGVuKTsKKyAKKyAJcmV0ID0gRFNBX2RvX3ZlcmlmeShkaWdlc3QsIGRsZW4sIHNpZywga2V5LT5kc2EpOworIAltZW1zZXQoZGlnZXN0LCAnZCcsIHNpemVvZihkaWdlc3QpKTsKKysJRVZQX01EX0NUWF9kZXN0cm95KG1kKTsKKyAKKyAJRFNBX1NJR19mcmVlKHNpZyk7CisgCitkaWZmIC0tZ2l0IGEvc3NoLWVjZHNhLmMgYi9zc2gtZWNkc2EuYworaW5kZXggZWZhMGYzZC4uYzIxMzk1OSAxMDA2NDQKKy0tLSBhL3NzaC1lY2RzYS5jCisrKysgYi9zc2gtZWNkc2EuYworQEAgLTQxLDIyICs0MSwyNyBAQCBzc2hfZWNkc2Ffc2lnbihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqc2lncCwgdV9pbnQgKmxlbnAsCisgeworICAgICBFQ0RTQV9TSUcgKnNpZzsKKyAgICAgY29uc3QgRVZQX01EICpldnBfbWQgPSBldnBfZnJvbV9rZXkoa2V5KTsKKy0gICAgRVZQX01EX0NUWCBtZDsKKysgICAgRVZQX01EX0NUWCAqbWQ7CisgICAgIHVfY2hhciBkaWdlc3RbRVZQX01BWF9NRF9TSVpFXTsKKyAgICAgdV9pbnQgbGVuLCBkbGVuOworICAgICBCdWZmZXIgYiwgYmI7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwMEwKKysJQklHTlVNICpyLCAqczsKKysjZW5kaWYKKyAKKyAgICAgaWYgKGtleSA9PSBOVUxMIHx8IGtleS0+dHlwZSAhPSBLRVlfRUNEU0EgfHwga2V5LT5lY2RzYSA9PSBOVUxMKSB7CisgICAgICAgICBwYW1zc2hhZ2VudGF1dGhfbG9nZXJyb3IoInNzaF9lY2RzYV9zaWduOiBubyBFQ0RTQSBrZXkiKTsKKyAgICAgICAgIHJldHVybiAtMTsKKyAgICAgfQorIAorLSAgICBFVlBfRGlnZXN0SW5pdCgmbWQsIGV2cF9tZCk7CistICAgIEVWUF9EaWdlc3RVcGRhdGUoJm1kLCBkYXRhLCBkYXRhbGVuKTsKKy0gICAgRVZQX0RpZ2VzdEZpbmFsKCZtZCwgZGlnZXN0LCAmZGxlbik7CisrICAgIG1kID0gRVZQX01EX0NUWF9jcmVhdGUoKTsKKysgICAgRVZQX0RpZ2VzdEluaXQobWQsIGV2cF9tZCk7CisrICAgIEVWUF9EaWdlc3RVcGRhdGUobWQsIGRhdGEsIGRhdGFsZW4pOworKyAgICBFVlBfRGlnZXN0RmluYWwobWQsIGRpZ2VzdCwgJmRsZW4pOworIAorICAgICBzaWcgPSBFQ0RTQV9kb19zaWduKGRpZ2VzdCwgZGxlbiwga2V5LT5lY2RzYSk7CisgICAgIG1lbXNldChkaWdlc3QsICdkJywgc2l6ZW9mKGRpZ2VzdCkpOworKyAgICBFVlBfTURfQ1RYX2Rlc3Ryb3kobWQpOworIAorICAgICBpZiAoc2lnID09IE5VTEwpIHsKKyAgICAgICAgIHBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigic3NoX2VjZHNhX3NpZ246IHNpZ24gZmFpbGVkIik7CitAQCAtNjQsOCArNjksMTQgQEAgc3NoX2VjZHNhX3NpZ24oY29uc3QgS2V5ICprZXksIHVfY2hhciAqKnNpZ3AsIHVfaW50ICpsZW5wLAorICAgICB9CisgCisgICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfaW5pdCgmYmIpOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAgICAgaWYgKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiYiwgc2lnLT5yKSA9PSAtMSB8fAorICAgICAgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmJiLCBzaWctPnMpID09IC0xKSB7CisrI2Vsc2UKKysgICAgRFNBX1NJR19nZXQwKHNpZywgJnIsICZzKTsKKysgICAgaWYgKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiYiwgcikgPT0gLTEgfHwKKysgICAgICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiYiwgcykgPT0gLTEpIHsKKysjZW5kaWYKKyAgICAgICAgIHBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigiY291bGRuJ3Qgc2VyaWFsaXplIHNpZ25hdHVyZSIpOworICAgICAgICAgRUNEU0FfU0lHX2ZyZWUoc2lnKTsKKyAgICAgICAgIHJldHVybiAtMTsKK0BAIC05NCwxMSArMTA1LDE0IEBAIHNzaF9lY2RzYV92ZXJpZnkoY29uc3QgS2V5ICprZXksIGNvbnN0IHVfY2hhciAqc2lnbmF0dXJlLCB1X2ludCBzaWduYXR1cmVsZW4sCisgeworICAgICBFQ0RTQV9TSUcgKnNpZzsKKyAgICAgY29uc3QgRVZQX01EICpldnBfbWQgPSBldnBfZnJvbV9rZXkoa2V5KTsKKy0gICAgRVZQX01EX0NUWCBtZDsKKysgICAgRVZQX01EX0NUWCAqbWQ7CisgICAgIHVfY2hhciBkaWdlc3RbRVZQX01BWF9NRF9TSVpFXSwgKnNpZ2Jsb2I7CisgICAgIHVfaW50IGxlbiwgZGxlbjsKKyAgICAgaW50IHJsZW4sIHJldDsKKyAgICAgQnVmZmVyIGI7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwMEwKKysJQklHTlVNICpyLCAqczsKKysjZW5kaWYKKyAKKyAgICAgaWYgKGtleSA9PSBOVUxMIHx8IGtleS0+dHlwZSAhPSBLRVlfRUNEU0EgfHwga2V5LT5lY2RzYSA9PSBOVUxMKSB7CisgICAgICAgICBwYW1zc2hhZ2VudGF1dGhfbG9nZXJyb3IoInNzaF9lY2RzYV9zaWduOiBubyBFQ0RTQSBrZXkiKTsKK0BAIC0xMjcsOCArMTQxLDE0IEBAIHNzaF9lY2RzYV92ZXJpZnkoY29uc3QgS2V5ICprZXksIGNvbnN0IHVfY2hhciAqc2lnbmF0dXJlLCB1X2ludCBzaWduYXR1cmVsZW4sCisgCisgICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfaW5pdCgmYik7CisgICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfYXBwZW5kKCZiLCBzaWdibG9iLCBsZW4pOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAgICAgaWYgKChwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwgc2lnLT5yKSA9PSAtMSkgfHwKKyAgICAgICAgIChwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwgc2lnLT5zKSA9PSAtMSkpCisrI2Vsc2UKKysgICAgRFNBX1NJR19nZXQwKHNpZywgJnIsICZzKTsKKysgICAgaWYgKChwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwgcikgPT0gLTEpIHx8CisrICAgICAgICAocGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIHMpID09IC0xKSkKKysjZW5kaWYKKyAgICAgICAgIHBhbXNzaGFnZW50YXV0aF9mYXRhbCgic3NoX2VjZHNhX3ZlcmlmeToiCisgICAgICAgICAgICAgInBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0IGZhaWxlZCIpOworIAorQEAgLTEzNywxNiArMTU3LDE4IEBAIHNzaF9lY2RzYV92ZXJpZnkoY29uc3QgS2V5ICprZXksIGNvbnN0IHVfY2hhciAqc2lnbmF0dXJlLCB1X2ludCBzaWduYXR1cmVsZW4sCisgICAgIHBhbXNzaGFnZW50YXV0aF94ZnJlZShzaWdibG9iKTsKKyAKKyAgICAgLyogc2hhMjU2IHRoZSBkYXRhICovCistICAgIEVWUF9EaWdlc3RJbml0KCZtZCwgZXZwX21kKTsKKy0gICAgRVZQX0RpZ2VzdFVwZGF0ZSgmbWQsIGRhdGEsIGRhdGFsZW4pOworLSAgICBFVlBfRGlnZXN0RmluYWwoJm1kLCBkaWdlc3QsICZkbGVuKTsKKysgICAgbWQgPSBFVlBfTURfQ1RYX2NyZWF0ZSgpOworKyAgICBFVlBfRGlnZXN0SW5pdChtZCwgZXZwX21kKTsKKysgICAgRVZQX0RpZ2VzdFVwZGF0ZShtZCwgZGF0YSwgZGF0YWxlbik7CisrICAgIEVWUF9EaWdlc3RGaW5hbChtZCwgZGlnZXN0LCAmZGxlbik7CisgCisgICAgIHJldCA9IEVDRFNBX2RvX3ZlcmlmeShkaWdlc3QsIGRsZW4sIHNpZywga2V5LT5lY2RzYSk7CisgICAgIG1lbXNldChkaWdlc3QsICdkJywgc2l6ZW9mKGRpZ2VzdCkpOworKyAgICBFVlBfTURfQ1RYX2Rlc3Ryb3kobWQpOworIAorICAgICBFQ0RTQV9TSUdfZnJlZShzaWcpOworIAorICAgICBwYW1zc2hhZ2VudGF1dGhfdmVyYm9zZSgic3NoX2VjZHNhX3ZlcmlmeTogc2lnbmF0dXJlICVzIiwKKyAgICAgICAgIHJldCA9PSAxID8gImNvcnJlY3QiIDogcmV0ID09IDAgPyAiaW5jb3JyZWN0IiA6ICJlcnJvciIpOworICAgICByZXR1cm4gcmV0OworLX0KK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorK30KK2RpZmYgLS1naXQgYS9zc2gtcnNhLmMgYi9zc2gtcnNhLmMKK2luZGV4IGQwNTg0NGIuLjlkNzRlYjYgMTAwNjQ0CistLS0gYS9zc2gtcnNhLmMKKysrKyBiL3NzaC1yc2EuYworQEAgLTQwLDcgKzQwLDcgQEAgc3NoX3JzYV9zaWduKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipzaWdwLCB1X2ludCAqbGVucCwKKyAgICAgY29uc3QgdV9jaGFyICpkYXRhLCB1X2ludCBkYXRhbGVuKQorIHsKKyAJY29uc3QgRVZQX01EICpldnBfbWQ7CistCUVWUF9NRF9DVFggbWQ7CisrCUVWUF9NRF9DVFggKm1kOworIAl1X2NoYXIgZGlnZXN0W0VWUF9NQVhfTURfU0laRV0sICpzaWc7CisgCXVfaW50IHNsZW4sIGRsZW4sIGxlbjsKKyAJaW50IG9rLCBuaWQ7CitAQCAtNTUsNiArNTUsNyBAQCBzc2hfcnNhX3NpZ24oY29uc3QgS2V5ICprZXksIHVfY2hhciAqKnNpZ3AsIHVfaW50ICpsZW5wLAorIAkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJzc2hfcnNhX3NpZ246IEVWUF9nZXRfZGlnZXN0YnluaWQgJWQgZmFpbGVkIiwgbmlkKTsKKyAJCXJldHVybiAtMTsKKyAJfQorKwltZCA9IEVWUF9NRF9DVFhfY3JlYXRlKCk7CisgCUVWUF9EaWdlc3RJbml0KCZtZCwgZXZwX21kKTsKKyAJRVZQX0RpZ2VzdFVwZGF0ZSgmbWQsIGRhdGEsIGRhdGFsZW4pOworIAlFVlBfRGlnZXN0RmluYWwoJm1kLCBkaWdlc3QsICZkbGVuKTsKK0BAIC02NCw2ICs2NSw3IEBAIHNzaF9yc2Ffc2lnbihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqc2lncCwgdV9pbnQgKmxlbnAsCisgCisgCW9rID0gUlNBX3NpZ24obmlkLCBkaWdlc3QsIGRsZW4sIHNpZywgJmxlbiwga2V5LT5yc2EpOworIAltZW1zZXQoZGlnZXN0LCAnZCcsIHNpemVvZihkaWdlc3QpKTsKKysJRVZQX01EX0NUWF9kZXN0cm95KG1kKTsKKyAKKyAJaWYgKG9rICE9IDEpIHsKKyAJCWludCBlY29kZSA9IEVSUl9nZXRfZXJyb3IoKTsKK0BAIC0xMDcsNyArMTA5LDcgQEAgc3NoX3JzYV92ZXJpZnkoY29uc3QgS2V5ICprZXksIGNvbnN0IHVfY2hhciAqc2lnbmF0dXJlLCB1X2ludCBzaWduYXR1cmVsZW4sCisgeworIAlCdWZmZXIgYjsKKyAJY29uc3QgRVZQX01EICpldnBfbWQ7CistCUVWUF9NRF9DVFggbWQ7CisrCUVWUF9NRF9DVFggKm1kOworIAljaGFyICprdHlwZTsKKyAJdV9jaGFyIGRpZ2VzdFtFVlBfTUFYX01EX1NJWkVdLCAqc2lnYmxvYjsKKyAJdV9pbnQgbGVuLCBkbGVuLCBtb2RsZW47CitAQCAtMTE3LDkgKzExOSwxNyBAQCBzc2hfcnNhX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAJCXBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigic3NoX3JzYV92ZXJpZnk6IG5vIFJTQSBrZXkiKTsKKyAJCXJldHVybiAtMTsKKyAJfQorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJaWYgKEJOX251bV9iaXRzKGtleS0+cnNhLT5uKSA8IFNTSF9SU0FfTUlOSU1VTV9NT0RVTFVTX1NJWkUpIHsKKysjZWxzZQorKwlpZiAoQk5fbnVtX2JpdHMoUlNBX2dldDBfbihrZXktPnJzYSkpIDwgU1NIX1JTQV9NSU5JTVVNX01PRFVMVVNfU0laRSkgeworKyNlbmRpZgorIAkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJzc2hfcnNhX3ZlcmlmeTogUlNBIG1vZHVsdXMgdG9vIHNtYWxsOiAlZCA8IG1pbmltdW0gJWQgYml0cyIsCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJICAgIEJOX251bV9iaXRzKGtleS0+cnNhLT5uKSwgU1NIX1JTQV9NSU5JTVVNX01PRFVMVVNfU0laRSk7CisrI2Vsc2UKKysJCSAgICBCTl9udW1fYml0cyhSU0FfZ2V0MF9uKGtleS0+cnNhKSksIFNTSF9SU0FfTUlOSU1VTV9NT0RVTFVTX1NJWkUpOworKyNlbmRpZgorIAkJcmV0dXJuIC0xOworIAl9CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfaW5pdCgmYik7CitAQCAtMTYxLDEyICsxNzEsMTQgQEAgc3NoX3JzYV92ZXJpZnkoY29uc3QgS2V5ICprZXksIGNvbnN0IHVfY2hhciAqc2lnbmF0dXJlLCB1X2ludCBzaWduYXR1cmVsZW4sCisgCQlwYW1zc2hhZ2VudGF1dGhfeGZyZWUoc2lnYmxvYik7CisgCQlyZXR1cm4gLTE7CisgCX0KKy0JRVZQX0RpZ2VzdEluaXQoJm1kLCBldnBfbWQpOworLQlFVlBfRGlnZXN0VXBkYXRlKCZtZCwgZGF0YSwgZGF0YWxlbik7CistCUVWUF9EaWdlc3RGaW5hbCgmbWQsIGRpZ2VzdCwgJmRsZW4pOworKwltZCA9IEVWUF9NRF9DVFhfY3JlYXRlKCk7CisrCUVWUF9EaWdlc3RJbml0KG1kLCBldnBfbWQpOworKwlFVlBfRGlnZXN0VXBkYXRlKG1kLCBkYXRhLCBkYXRhbGVuKTsKKysJRVZQX0RpZ2VzdEZpbmFsKG1kLCBkaWdlc3QsICZkbGVuKTsKKyAKKyAJcmV0ID0gb3BlbnNzaF9SU0FfdmVyaWZ5KG5pZCwgZGlnZXN0LCBkbGVuLCBzaWdibG9iLCBsZW4sIGtleS0+cnNhKTsKKyAJbWVtc2V0KGRpZ2VzdCwgJ2QnLCBzaXplb2YoZGlnZXN0KSk7CisrCUVWUF9NRF9DVFhfZGVzdHJveShtZCk7CisgCW1lbXNldChzaWdibG9iLCAncycsIGxlbik7CisgCXBhbXNzaGFnZW50YXV0aF94ZnJlZShzaWdibG9iKTsKKyAJcGFtc3NoYWdlbnRhdXRoX3ZlcmJvc2UoInNzaF9yc2FfdmVyaWZ5OiBzaWduYXR1cmUgJXNjb3JyZWN0IiwgKHJldD09MCkgPyAiaW4iIDogIiIpOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9wYW0tc3NoLWFnZW50LWF1dGgvMDAwMi1DaGVjay1hZ2FpbnN0LXRoZS1jb3JyZWN0LU9QRU5TU0xfVkVSU0lPTl9OVU1CRVIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL3BhbS1zc2gtYWdlbnQtYXV0aC8wMDAyLUNoZWNrLWFnYWluc3QtdGhlLWNvcnJlY3QtT1BFTlNTTF9WRVJTSU9OX05VTUJFUi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDNiNDNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9wYW0tc3NoLWFnZW50LWF1dGgvMDAwMi1DaGVjay1hZ2FpbnN0LXRoZS1jb3JyZWN0LU9QRU5TU0xfVkVSU0lPTl9OVU1CRVIucGF0Y2gKQEAgLTAsMCArMSwzNjUgQEAKK0Zyb20gYjJlZTI5ODA5YTU0ZTE2NTY3MzIzZDhmYmFjMmQ2NTJlZTU4YzY5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDEgRmViIDIwMTkgMjI6NDU6MTkgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gQ2hlY2sgYWdhaW5zdCB0aGUgY29ycmVjdCBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSCisKK0Zyb206IEd1aWRvIEZhbHNpIDxtYWRAbWFkcGlsb3QubmV0PgoraHR0cHM6Ly9zb3VyY2VzLmRlYmlhbi5vcmcvc3JjL3BhbS1zc2gtYWdlbnQtYXV0aC8wLjEwLjMtMy9kZWJpYW4vcGF0Y2hlcy9vcGVuc3NsLTEuMS4xLTIucGF0Y2gvCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGF1dGhmZC5jICAgIHwgMTIgKysrKysrLS0tLS0tCisgYnVmYm4uYyAgICAgfCAgMiArLQorIGtleS5jICAgICAgIHwgMzYgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCisgc3NoLWRzcy5jICAgfCAxMCArKysrKy0tLS0tCisgc3NoLWVjZHNhLmMgfCAgOCArKysrLS0tLQorIHNzaC1yc2EuYyAgIHwgIDQgKystLQorIDYgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hdXRoZmQuYyBiL2F1dGhmZC5jCitpbmRleCBmOTE1MTRkLi40YzZjZWM4IDEwMDY0NAorLS0tIGEvYXV0aGZkLmMKKysrKyBiL2F1dGhmZC5jCitAQCAtMzY3LDcgKzM2Nyw3IEBAIHNzaF9nZXRfbmV4dF9pZGVudGl0eShBdXRoZW50aWNhdGlvbkNvbm5lY3Rpb24gKmF1dGgsIGNoYXIgKipjb21tZW50LCBpbnQgdmVyc2lvCisgCWNhc2UgMToKKyAJCWtleSA9IHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3KEtFWV9SU0ExKTsKKyAJCWJpdHMgPSBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9pbnQoJmF1dGgtPmlkZW50aXRpZXMpOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0oJmF1dGgtPmlkZW50aXRpZXMsIGtleS0+cnNhLT5lKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bSgmYXV0aC0+aWRlbnRpdGllcywga2V5LT5yc2EtPm4pOworIAkJKmNvbW1lbnQgPSBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9zdHJpbmcoJmF1dGgtPmlkZW50aXRpZXMsIE5VTEwpOworQEAgLTQyNyw3ICs0MjcsNyBAQCBzc2hfZGVjcnlwdF9jaGFsbGVuZ2UoQXV0aGVudGljYXRpb25Db25uZWN0aW9uICphdXRoLAorIAl9CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfaW5pdCgmYnVmZmVyKTsKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfY2hhcigmYnVmZmVyLCBTU0hfQUdFTlRDX1JTQV9DSEFMTEVOR0UpOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2ludCgmYnVmZmVyLCBCTl9udW1fYml0cyhrZXktPnJzYS0+bikpOworIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oJmJ1ZmZlciwga2V5LT5yc2EtPmUpOworIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oJmJ1ZmZlciwga2V5LT5yc2EtPm4pOworQEAgLTUxMiw3ICs1MTIsNyBAQCBzc2hfYWdlbnRfc2lnbihBdXRoZW50aWNhdGlvbkNvbm5lY3Rpb24gKmF1dGgsCisgc3RhdGljIHZvaWQKKyBzc2hfZW5jb2RlX2lkZW50aXR5X3JzYTEoQnVmZmVyICpiLCBSU0EgKmtleSwgY29uc3QgY2hhciAqY29tbWVudCkKKyB7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KGIsIEJOX251bV9iaXRzKGtleS0+bikpOworIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oYiwga2V5LT5uKTsKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKGIsIGtleS0+ZSk7CitAQCAtNTQwLDcgKzU0MCw3IEBAIHNzaF9lbmNvZGVfaWRlbnRpdHlfc3NoMihCdWZmZXIgKmIsIEtleSAqa2V5LCBjb25zdCBjaGFyICpjb21tZW50KQorIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9jc3RyaW5nKGIsIGtleV9zc2hfbmFtZShrZXkpKTsKKyAJc3dpdGNoIChrZXktPnR5cGUpIHsKKyAJY2FzZSBLRVlfUlNBOgorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+cnNhLT5uKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5yc2EtPmUpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPnJzYS0+ZCk7CitAQCAtNTU3LDcgKzU1Nyw3IEBAIHNzaF9lbmNvZGVfaWRlbnRpdHlfc3NoMihCdWZmZXIgKmIsIEtleSAqa2V5LCBjb25zdCBjaGFyICpjb21tZW50KQorICNlbmRpZgorIAkJYnJlYWs7CisgCWNhc2UgS0VZX0RTQToKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPmRzYS0+cCk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+ZHNhLT5xKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5kc2EtPmcpOworQEAgLTY0OSw3ICs2NDksNyBAQCBzc2hfcmVtb3ZlX2lkZW50aXR5KEF1dGhlbnRpY2F0aW9uQ29ubmVjdGlvbiAqYXV0aCwgS2V5ICprZXkpCisgCisgCWlmIChrZXktPnR5cGUgPT0gS0VZX1JTQTEpIHsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2NoYXIoJm1zZywgU1NIX0FHRU5UQ19SRU1PVkVfUlNBX0lERU5USVRZKTsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KCZtc2csIEJOX251bV9iaXRzKGtleS0+cnNhLT5uKSk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oJm1zZywga2V5LT5yc2EtPmUpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKCZtc2csIGtleS0+cnNhLT5uKTsKK2RpZmYgLS1naXQgYS9idWZibi5jIGIvYnVmYm4uYworaW5kZXggNGVjZWRjMS4uYjQ3NTRjYyAxMDA2NDQKKy0tLSBhL2J1ZmJuLmMKKysrKyBiL2J1ZmJuLmMKK0BAIC0xNTEsNyArMTUxLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMl9yZXQoQnVmZmVyICpidWZmZXIsIGNvbnN0IEJJR05VTSAqdmFsdWUpCisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9pbnQoYnVmZmVyLCAwKTsKKyAJCXJldHVybiAwOworIAl9CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJaWYgKHZhbHVlLT5uZWcpIHsKKyAjZWxzZQorIAlpZiAoQk5faXNfbmVnYXRpdmUodmFsdWUpKSB7CitkaWZmIC0tZ2l0IGEva2V5LmMgYi9rZXkuYworaW5kZXggYWVkYmJiNS4uZGNjNWZjOCAxMDA2NDQKKy0tLSBhL2tleS5jCisrKysgYi9rZXkuYworQEAgLTc3LDcgKzc3LDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcoaW50IHR5cGUpCisgCWNhc2UgS0VZX1JTQToKKyAJCWlmICgocnNhID0gUlNBX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogUlNBX25ldyBmYWlsZWQiKTsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAkJaWYgKChyc2EtPm4gPSBCTl9uZXcoKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXc6IEJOX25ldyBmYWlsZWQiKTsKKyAJCWlmICgocnNhLT5lID0gQk5fbmV3KCkpID09IE5VTEwpCitAQCAtOTEsNyArOTEsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X25ldyhpbnQgdHlwZSkKKyAJY2FzZSBLRVlfRFNBOgorIAkJaWYgKChkc2EgPSBEU0FfbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3OiBEU0FfbmV3IGZhaWxlZCIpOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlpZiAoKGRzYS0+cCA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogQk5fbmV3IGZhaWxlZCIpOworIAkJaWYgKChkc2EtPnEgPSBCTl9uZXcoKSkgPT0gTlVMTCkKK0BAIC0xMzAsNyArMTMwLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9uZXdfcHJpdmF0ZShpbnQgdHlwZSkKKyAJc3dpdGNoIChrLT50eXBlKSB7CisgCWNhc2UgS0VZX1JTQTE6CisgCWNhc2UgS0VZX1JTQToKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAkJaWYgKChrLT5yc2EtPmQgPSBCTl9uZXcoKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXdfcHJpdmF0ZTogQk5fbmV3IGZhaWxlZCIpOworIAkJaWYgKChrLT5yc2EtPmlxbXAgPSBCTl9uZXcoKSkgPT0gTlVMTCkKK0BAIC0xNTMsNyArMTUzLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9uZXdfcHJpdmF0ZShpbnQgdHlwZSkKKyAjZW5kaWYKKyAJCWJyZWFrOworIAljYXNlIEtFWV9EU0E6CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCWlmICgoay0+ZHNhLT5wcml2X2tleSA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ld19wcml2YXRlOiBCTl9uZXcgZmFpbGVkIik7CisgI2Vsc2UKK0BAIC0xNjIsNyArMTYyLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9uZXdfcHJpdmF0ZShpbnQgdHlwZSkKKyAjZW5kaWYKKyAJCWJyZWFrOworIAljYXNlIEtFWV9FQ0RTQToKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAkJaWYgKEVDX0tFWV9zZXRfcHJpdmF0ZV9rZXkoay0+ZWNkc2EsIEJOX25ldygpKSAhPSAxKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ld19wcml2YXRlOiBFQ19LRVlfc2V0X3ByaXZhdGVfa2V5IGZhaWxlZCIpOworICNlbHNlCitAQCAtMjI0LDcgKzIyNCw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfZXF1YWwoY29uc3QgS2V5ICphLCBjb25zdCBLZXkgKmIpCisgCWNhc2UgS0VZX1JTQTE6CisgCWNhc2UgS0VZX1JTQToKKyAJCXJldHVybiBhLT5yc2EgIT0gTlVMTCAmJiBiLT5yc2EgIT0gTlVMTCAmJgorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQkgICAgQk5fY21wKGEtPnJzYS0+ZSwgYi0+cnNhLT5lKSA9PSAwICYmCisgCQkgICAgQk5fY21wKGEtPnJzYS0+biwgYi0+cnNhLT5uKSA9PSAwOworICNlbHNlCitAQCAtMjMzLDcgKzIzMyw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfZXF1YWwoY29uc3QgS2V5ICphLCBjb25zdCBLZXkgKmIpCisgI2VuZGlmCisgCWNhc2UgS0VZX0RTQToKKyAJCXJldHVybiBhLT5kc2EgIT0gTlVMTCAmJiBiLT5kc2EgIT0gTlVMTCAmJgorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQkgICAgQk5fY21wKGEtPmRzYS0+cCwgYi0+ZHNhLT5wKSA9PSAwICYmCisgCQkgICAgQk5fY21wKGEtPmRzYS0+cSwgYi0+ZHNhLT5xKSA9PSAwICYmCisgCQkgICAgQk5fY21wKGEtPmRzYS0+ZywgYi0+ZHNhLT5nKSA9PSAwICYmCitAQCAtMjkzLDcgKzI5Myw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfZmluZ2VycHJpbnRfcmF3KGNvbnN0IEtleSAqaywgZW51bSBmcF90eXBlIGRnc3RfdHlwZSwKKyAJfQorIAlzd2l0Y2ggKGstPnR5cGUpIHsKKyAJY2FzZSBLRVlfUlNBMToKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAkJbmxlbiA9IEJOX251bV9ieXRlcyhrLT5yc2EtPm4pOworIAkJZWxlbiA9IEJOX251bV9ieXRlcyhrLT5yc2EtPmUpOworIAkJbGVuID0gbmxlbiArIGVsZW47CitAQCAtNTEwLDcgKzUxMCw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfcmVhZChLZXkgKnJldCwgY2hhciAqKmNwcCkKKyAJCQlyZXR1cm4gLTE7CisgCQkqY3BwID0gY3A7CisgCQkvKiBHZXQgcHVibGljIGV4cG9uZW50LCBwdWJsaWMgbW9kdWx1cy4gKi8KKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAkJaWYgKCFyZWFkX2JpZ251bShjcHAsIHJldC0+cnNhLT5lKSkKKyAJCQlyZXR1cm4gLTE7CisgCQlpZiAoIXJlYWRfYmlnbnVtKGNwcCwgcmV0LT5yc2EtPm4pKQorQEAgLTY0Myw3ICs2NDMsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X3dyaXRlKGNvbnN0IEtleSAqa2V5LCBGSUxFICpmKQorIAorIAlpZiAoa2V5LT50eXBlID09IEtFWV9SU0ExICYmIGtleS0+cnNhICE9IE5VTEwpIHsKKyAJCS8qIHNpemUgb2YgbW9kdWx1cyAnbicgKi8KKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAkJYml0cyA9IEJOX251bV9iaXRzKGtleS0+cnNhLT5uKTsKKyAJCWZwcmludGYoZiwgIiV1IiwgYml0cyk7CisgCQlpZiAod3JpdGVfYmlnbnVtKGYsIGtleS0+cnNhLT5lKSAmJgorQEAgLTc0Miw3ICs3NDIsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X3NpemUoY29uc3QgS2V5ICprKQorIHsKKyAJc3dpdGNoIChrLT50eXBlKSB7CisgCWNhc2UgS0VZX1JTQTE6CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJY2FzZSBLRVlfUlNBOgorIAkJcmV0dXJuIEJOX251bV9iaXRzKGstPnJzYS0+bik7CisgCWNhc2UgS0VZX0RTQToKK0BAIC04NDMsNyArODQzLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9mcm9tX3ByaXZhdGUoY29uc3QgS2V5ICprKQorIAlzd2l0Y2ggKGstPnR5cGUpIHsKKyAJY2FzZSBLRVlfRFNBOgorIAkJbiA9IHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3KGstPnR5cGUpOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlpZiAoKEJOX2NvcHkobi0+ZHNhLT5wLCBrLT5kc2EtPnApID09IE5VTEwpIHx8CisgCQkgICAgKEJOX2NvcHkobi0+ZHNhLT5xLCBrLT5kc2EtPnEpID09IE5VTEwpIHx8CisgCQkgICAgKEJOX2NvcHkobi0+ZHNhLT5nLCBrLT5kc2EtPmcpID09IE5VTEwpIHx8CitAQCAtODU5LDcgKzg1OSw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfZnJvbV9wcml2YXRlKGNvbnN0IEtleSAqaykKKyAJY2FzZSBLRVlfUlNBOgorIAljYXNlIEtFWV9SU0ExOgorIAkJbiA9IHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3KGstPnR5cGUpOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlpZiAoKEJOX2NvcHkobi0+cnNhLT5uLCBrLT5yc2EtPm4pID09IE5VTEwpIHx8CisgCQkgICAgKEJOX2NvcHkobi0+cnNhLT5lLCBrLT5yc2EtPmUpID09IE5VTEwpKQorICNlbHNlCitAQCAtOTY3LDcgKzk2Nyw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfZnJvbV9ibG9iKGNvbnN0IHVfY2hhciAqYmxvYiwgdV9pbnQgYmxlbikKKyAJc3dpdGNoICh0eXBlKSB7CisgCWNhc2UgS0VZX1JTQToKKyAJCWtleSA9IHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3KHR5cGUpOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlpZiAocGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIGtleS0+cnNhLT5lKSA9PSAtMSB8fAorIAkJICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBrZXktPnJzYS0+bikgPT0gLTEpIHsKKyAjZWxzZQorQEAgLTk4NSw3ICs5ODUsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2Zyb21fYmxvYihjb25zdCB1X2NoYXIgKmJsb2IsIHVfaW50IGJsZW4pCisgCQlicmVhazsKKyAJY2FzZSBLRVlfRFNBOgorIAkJa2V5ID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcodHlwZSk7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCWlmIChwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwga2V5LT5kc2EtPnApID09IC0xIHx8CisgCQkgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIGtleS0+ZHNhLT5xKSA9PSAtMSB8fAorIAkJICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBrZXktPmRzYS0+ZykgPT0gLTEgfHwKK0BAIC0xMTEzLDcgKzExMTMsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X3RvX2Jsb2IoY29uc3QgS2V5ICprZXksIHVfY2hhciAqKmJsb2JwLCB1X2ludCAqbGVucCkKKyAJfQorIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2luaXQoJmIpOworIAlzd2l0Y2ggKGtleS0+dHlwZSkgeworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCWNhc2UgS0VZX0RTQToKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2NzdHJpbmcoJmIsIGtleV9zc2hfbmFtZShrZXkpKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoJmIsIGtleS0+ZHNhLT5wKTsKK0BAIC0xMjUxLDcgKzEyNTEsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2RlbW90ZShjb25zdCBLZXkgKmspCisgCWNhc2UgS0VZX1JTQToKKyAJCWlmICgocGstPnJzYSA9IFJTQV9uZXcoKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IFJTQV9uZXcgZmFpbGVkIik7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCWlmICgocGstPnJzYS0+ZSA9IEJOX2R1cChrLT5yc2EtPmUpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X2RlbW90ZTogQk5fZHVwIGZhaWxlZCIpOworIAkJaWYgKChway0+cnNhLT5uID0gQk5fZHVwKGstPnJzYS0+bikpID09IE5VTEwpCitAQCAtMTI2NCw3ICsxMjY0LDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9kZW1vdGUoY29uc3QgS2V5ICprKQorIAljYXNlIEtFWV9EU0E6CisgCQlpZiAoKHBrLT5kc2EgPSBEU0FfbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZGVtb3RlOiBEU0FfbmV3IGZhaWxlZCIpOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlpZiAoKHBrLT5kc2EtPnAgPSBCTl9kdXAoay0+ZHNhLT5wKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IEJOX2R1cCBmYWlsZWQiKTsKKyAJCWlmICgocGstPmRzYS0+cSA9IEJOX2R1cChrLT5kc2EtPnEpKSA9PSBOVUxMKQorZGlmZiAtLWdpdCBhL3NzaC1kc3MuYyBiL3NzaC1kc3MuYworaW5kZXggMTA1MWFlMi4uOWI5NjI3NCAxMDA2NDQKKy0tLSBhL3NzaC1kc3MuYworKysrIGIvc3NoLWRzcy5jCitAQCAtNTIsNyArNTIsNyBAQCBzc2hfZHNzX3NpZ24oY29uc3QgS2V5ICprZXksIHVfY2hhciAqKnNpZ3AsIHVfaW50ICpsZW5wLAorIAl1X2NoYXIgZGlnZXN0W0VWUF9NQVhfTURfU0laRV0sIHNpZ2Jsb2JbU0lHQkxPQl9MRU5dOworIAl1X2ludCBybGVuLCBzbGVuLCBsZW4sIGRsZW47CisgCUJ1ZmZlciBiOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwNUwKKyAJY29uc3QgQklHTlVNICpyLCAqczsKKyAjZW5kaWYKKyAKK0BAIC03NCw3ICs3NCw3IEBAIHNzaF9kc3Nfc2lnbihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqc2lncCwgdV9pbnQgKmxlbnAsCisgCQlyZXR1cm4gLTE7CisgCX0KKyAKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAlybGVuID0gQk5fbnVtX2J5dGVzKHNpZy0+cik7CisgCXNsZW4gPSBCTl9udW1fYnl0ZXMoc2lnLT5zKTsKKyAjZWxzZQorQEAgLTg4LDcgKzg4LDcgQEAgc3NoX2Rzc19zaWduKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipzaWdwLCB1X2ludCAqbGVucCwKKyAJCXJldHVybiAtMTsKKyAJfQorIAltZW1zZXQoc2lnYmxvYiwgMCwgU0lHQkxPQl9MRU4pOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCUJOX2JuMmJpbihzaWctPnIsIHNpZ2Jsb2IrIFNJR0JMT0JfTEVOIC0gSU5UQkxPQl9MRU4gLSBybGVuKTsKKyAJQk5fYm4yYmluKHNpZy0+cywgc2lnYmxvYisgU0lHQkxPQl9MRU4gLSBzbGVuKTsKKyAjZWxzZQorQEAgLTEzMSw3ICsxMzEsNyBAQCBzc2hfZHNzX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAJdV9pbnQgbGVuLCBkbGVuOworIAlpbnQgcmxlbiwgcmV0OworIAlCdWZmZXIgYjsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAxMDAwMDVMCisgCUJJR05VTSAqciwgKnM7CisgI2VuZGlmCisgCitAQCAtMTc2LDcgKzE3Niw3IEBAIHNzaF9kc3NfdmVyaWZ5KGNvbnN0IEtleSAqa2V5LCBjb25zdCB1X2NoYXIgKnNpZ25hdHVyZSwgdV9pbnQgc2lnbmF0dXJlbGVuLAorIAkvKiBwYXJzZSBzaWduYXR1cmUgKi8KKyAJaWYgKChzaWcgPSBEU0FfU0lHX25ldygpKSA9PSBOVUxMKQorIAkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJzc2hfZHNzX3ZlcmlmeTogRFNBX1NJR19uZXcgZmFpbGVkIik7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJaWYgKChzaWctPnIgPSBCTl9uZXcoKSkgPT0gTlVMTCkKKyAJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgic3NoX2Rzc192ZXJpZnk6IEJOX25ldyBmYWlsZWQiKTsKKyAJaWYgKChzaWctPnMgPSBCTl9uZXcoKSkgPT0gTlVMTCkKK2RpZmYgLS1naXQgYS9zc2gtZWNkc2EuYyBiL3NzaC1lY2RzYS5jCitpbmRleCBjMjEzOTU5Li41YjEzYjMwIDEwMDY0NAorLS0tIGEvc3NoLWVjZHNhLmMKKysrKyBiL3NzaC1lY2RzYS5jCitAQCAtNDUsNyArNDUsNyBAQCBzc2hfZWNkc2Ffc2lnbihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqc2lncCwgdV9pbnQgKmxlbnAsCisgICAgIHVfY2hhciBkaWdlc3RbRVZQX01BWF9NRF9TSVpFXTsKKyAgICAgdV9pbnQgbGVuLCBkbGVuOworICAgICBCdWZmZXIgYiwgYmI7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDA1TAorIAlCSUdOVU0gKnIsICpzOworICNlbmRpZgorIAorQEAgLTY5LDcgKzY5LDcgQEAgc3NoX2VjZHNhX3NpZ24oY29uc3QgS2V5ICprZXksIHVfY2hhciAqKnNpZ3AsIHVfaW50ICpsZW5wLAorICAgICB9CisgCisgICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfaW5pdCgmYmIpOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgICAgIGlmIChwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYmIsIHNpZy0+cikgPT0gLTEgfHwKKyAgICAgICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiYiwgc2lnLT5zKSA9PSAtMSkgeworICNlbHNlCitAQCAtMTEwLDcgKzExMCw3IEBAIHNzaF9lY2RzYV92ZXJpZnkoY29uc3QgS2V5ICprZXksIGNvbnN0IHVfY2hhciAqc2lnbmF0dXJlLCB1X2ludCBzaWduYXR1cmVsZW4sCisgICAgIHVfaW50IGxlbiwgZGxlbjsKKyAgICAgaW50IHJsZW4sIHJldDsKKyAgICAgQnVmZmVyIGI7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDA1TAorIAlCSUdOVU0gKnIsICpzOworICNlbmRpZgorIAorQEAgLTE0MSw3ICsxNDEsNyBAQCBzc2hfZWNkc2FfdmVyaWZ5KGNvbnN0IEtleSAqa2V5LCBjb25zdCB1X2NoYXIgKnNpZ25hdHVyZSwgdV9pbnQgc2lnbmF0dXJlbGVuLAorIAorICAgICBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2luaXQoJmIpOworICAgICBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2FwcGVuZCgmYiwgc2lnYmxvYiwgbGVuKTsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorICAgICBpZiAoKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBzaWctPnIpID09IC0xKSB8fAorICAgICAgICAgKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBzaWctPnMpID09IC0xKSkKKyAjZWxzZQorZGlmZiAtLWdpdCBhL3NzaC1yc2EuYyBiL3NzaC1yc2EuYworaW5kZXggOWQ3NGViNi4uMzVmMmUzNiAxMDA2NDQKKy0tLSBhL3NzaC1yc2EuYworKysrIGIvc3NoLXJzYS5jCitAQCAtMTE5LDEzICsxMTksMTMgQEAgc3NoX3JzYV92ZXJpZnkoY29uc3QgS2V5ICprZXksIGNvbnN0IHVfY2hhciAqc2lnbmF0dXJlLCB1X2ludCBzaWduYXR1cmVsZW4sCisgCQlwYW1zc2hhZ2VudGF1dGhfbG9nZXJyb3IoInNzaF9yc2FfdmVyaWZ5OiBubyBSU0Ega2V5Iik7CisgCQlyZXR1cm4gLTE7CisgCX0KKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAlpZiAoQk5fbnVtX2JpdHMoa2V5LT5yc2EtPm4pIDwgU1NIX1JTQV9NSU5JTVVNX01PRFVMVVNfU0laRSkgeworICNlbHNlCisgCWlmIChCTl9udW1fYml0cyhSU0FfZ2V0MF9uKGtleS0+cnNhKSkgPCBTU0hfUlNBX01JTklNVU1fTU9EVUxVU19TSVpFKSB7CisgI2VuZGlmCisgCQlwYW1zc2hhZ2VudGF1dGhfbG9nZXJyb3IoInNzaF9yc2FfdmVyaWZ5OiBSU0EgbW9kdWx1cyB0b28gc21hbGw6ICVkIDwgbWluaW11bSAlZCBiaXRzIiwKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAkJICAgIEJOX251bV9iaXRzKGtleS0+cnNhLT5uKSwgU1NIX1JTQV9NSU5JTVVNX01PRFVMVVNfU0laRSk7CisgI2Vsc2UKKyAJCSAgICBCTl9udW1fYml0cyhSU0FfZ2V0MF9uKGtleS0+cnNhKSksIFNTSF9SU0FfTUlOSU1VTV9NT0RVTFVTX1NJWkUpOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9wYW0tc3NoLWFnZW50LWF1dGhfMC4xMC4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9wYW0tc3NoLWFnZW50LWF1dGhfMC4xMC4zLmJiCmluZGV4IDJhNDYxZmMuLmFjN2ZhNGIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wYW0vcGFtLXNzaC1hZ2VudC1hdXRoXzAuMTAuMy5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL3BhbS1zc2gtYWdlbnQtYXV0aF8wLjEwLjMuYmIKQEAgLTcsMTEgKzcsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL09QRU5TU0hfTElDRU5TRTttZDU9N2FlMDkyMTgxNzNiZTE2NDNjOTk4YTRiNzEwMjdmOWIgXAogIgogCi1TUkNfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvcGFtc3NoYWdlbnRhdXRoL2ZpbGVzL3BhbV9zc2hfYWdlbnRfYXV0aC92JHtQVn0vcGFtX3NzaF9hZ2VudF9hdXRoLSR7UFZ9LnRhci5iejIiCitTUkNfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvcGFtc3NoYWdlbnRhdXRoL2ZpbGVzL3BhbV9zc2hfYWdlbnRfYXV0aC92JHtQVn0vcGFtX3NzaF9hZ2VudF9hdXRoLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGFwdC10by1PcGVuU1NMLTEuMS4xLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItQ2hlY2stYWdhaW5zdC10aGUtY29ycmVjdC1PUEVOU1NMX1ZFUlNJT05fTlVNQkVSLnBhdGNoIFwKKyAgICAgICAgICAgIgogU1JDX1VSSVttZDVzdW1dID0gIjhkYmU5MGFiMzYyNWU1NDUwMzYzMzNlNmY1MWNjZjFkIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNjNTNkMzU4ZDZlYWVkMWIyMTEyMzlkZjAxN2MyN2M2Zjk5NzA5OTVkMTQxMDJhZTY3YmFlMTZkNGY0N2E3NjMiCiAKLURFUEVORFMgKz0gImxpYnBhbSBvcGVuc3NsMTAiCitERVBFTkRTICs9ICJsaWJwYW0gb3BlbnNzbCIKIAogaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKIFJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJwYW0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC1ncm91cC1ydWxlLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0LWdyb3VwLXJ1bGUuaW5jCmluZGV4IDQwZTQwMDUuLjA2YWIxMDYgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0LWdyb3VwLXJ1bGUuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0LWdyb3VwLXJ1bGUuaW5jCkBAIC0xLDYgKzEsOSBAQAogIyBwb2xraXQgbXVzdCBwcmVwYXJlIHBvbGtpdGQgZ3JvdXAKIERFUEVORFMgKz0gInBvbGtpdCIKIAoraW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJwb2xraXQiCisKIGluaGVyaXQgdXNlcmFkZAogCiBkb19pbnN0YWxsX3ByZXBlbmQoKSB7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC9DVkUtMjAxOS02MTMzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQvQ1ZFLTIwMTktNjEzMy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmZkMjBkYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC9DVkUtMjAxOS02MTMzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTkwICswLDAgQEAKLUZyb20gNmNjNmFhZmVlMTM1YmE0NGVhNzQ4MjUwZDdkMjliNTYyY2ExOTBlMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENvbGluIFdhbHRlcnMgPHdhbHRlcnNAdmVyYnVtLm9yZz4KLURhdGU6IEZyaSwgNCBKYW4gMjAxOSAxNDoyNDo0OCAtMDUwMAotU3ViamVjdDogW1BBVENIXSBiYWNrZW5kOiBDb21wYXJlIFBvbGtpdFVuaXhQcm9jZXNzIHVpZHMgZm9yIHRlbXBvcmFyeQotIGF1dGhvcml6YXRpb25zCi0KLUl0IHR1cm5zIG91dCB0aGF0IHRoZSBjb21iaW5hdGlvbiBvZiBgKHBpZCwgc3RhcnQgdGltZSlgIGlzIG5vdAotZW5vdWdoIHRvIGJlIHVuaXF1ZS4gIEZvciB0ZW1wb3JhcnkgYXV0aG9yaXphdGlvbnMsIHdlIGNhbiBhdm9pZAotc2VwYXJhdGUgdXNlcnMgcmFjaW5nIG9uIHBpZCByZXVzZSBieSBzaW1wbHkgY29tcGFyaW5nIHRoZSB1aWQuCi0KLWh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9wcm9qZWN0LXplcm8vaXNzdWVzL2RldGFpbD9pZD0xNjkyCi0KLUFuZCB0aGUgYWJvdmUgb3JpZ2luYWwgZW1haWwgcmVwb3J0IGlzIGluY2x1ZGVkIGluIGZ1bGwgaW4gYSBuZXcgY29tbWVudC4KLQotUmVwb3J0ZWQtYnk6IEphbm4gSG9ybiA8amFubmhAZ29vZ2xlLmNvbT4KLQotQ2xvc2VzOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvcG9sa2l0L3BvbGtpdC9pc3N1ZXMvNzUKLQotQ1ZFOiBDVkUtMjAxOS02MTMzCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvcG9sa2l0L3BvbGtpdC5naXRdCi0KLVNpZ25lZC1vZmYtYnk6IE92aWRpdSBQYW5haXQgPG92aWRpdS5wYW5haXRAd2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9wb2xraXQvcG9sa2l0c3ViamVjdC5jICAgICAgICAgICAgICAgICAgICB8ICAyICsKLSBzcmMvcG9sa2l0L3BvbGtpdHVuaXhwcm9jZXNzLmMgICAgICAgICAgICAgICAgfCA3MSArKysrKysrKysrKysrKysrKystCi0gLi4uL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2ZWF1dGhvcml0eS5jICAgICAgIHwgMzkgKysrKysrKysrLQotIDMgZmlsZXMgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvcG9sa2l0L3BvbGtpdHN1YmplY3QuYyBiL3NyYy9wb2xraXQvcG9sa2l0c3ViamVjdC5jCi1pbmRleCBkNGMxMTgyLi5jY2FiZDBhIDEwMDY0NAotLS0tIGEvc3JjL3BvbGtpdC9wb2xraXRzdWJqZWN0LmMKLSsrKyBiL3NyYy9wb2xraXQvcG9sa2l0c3ViamVjdC5jCi1AQCAtOTksNiArOTksOCBAQCBwb2xraXRfc3ViamVjdF9oYXNoIChQb2xraXRTdWJqZWN0ICpzdWJqZWN0KQotICAqIEBiOiBBICNQb2xraXRTdWJqZWN0LgotICAqCi0gICogQ2hlY2tzIGlmIEBhIGFuZCBAYiBhcmUgZXF1YWwsIGllLiByZXByZXNlbnQgdGhlIHNhbWUgc3ViamVjdC4KLSsgKiBIb3dldmVyLCBhdm9pZCBjYWxsaW5nIHBvbGtpdF9zdWJqZWN0X2VxdWFsKCkgdG8gY29tcGFyZSB0d28gcHJvY2Vzc2VzOwotKyAqIGZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB0aGUgYFBvbGtpdFVuaXhQcm9jZXNzYCBkb2N1bWVudGF0aW9uLgotICAqCi0gICogVGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCBpbiBlLmcuIGdfaGFzaF90YWJsZV9uZXcoKS4KLSAgKgotZGlmZiAtLWdpdCBhL3NyYy9wb2xraXQvcG9sa2l0dW5peHByb2Nlc3MuYyBiL3NyYy9wb2xraXQvcG9sa2l0dW5peHByb2Nlc3MuYwotaW5kZXggYjAyYjI1OC4uNzhkNzI1MSAxMDA2NDQKLS0tLSBhL3NyYy9wb2xraXQvcG9sa2l0dW5peHByb2Nlc3MuYwotKysrIGIvc3JjL3BvbGtpdC9wb2xraXR1bml4cHJvY2Vzcy5jCi1AQCAtNTEsNyArNTEsMTAgQEAKLSAgKiBAdGl0bGU6IFBvbGtpdFVuaXhQcm9jZXNzCi0gICogQHNob3J0X2Rlc2NyaXB0aW9uOiBVbml4IHByb2Nlc3NzCi0gICoKLS0gKiBBbiBvYmplY3QgZm9yIHJlcHJlc2VudGluZyBhIFVOSVggcHJvY2Vzcy4KLSsgKiBBbiBvYmplY3QgZm9yIHJlcHJlc2VudGluZyBhIFVOSVggcHJvY2Vzcy4gIE5PVEU6IFRoaXMgb2JqZWN0IGFzCi0rICogZGVzaWduZWQgaXMgbm93IGtub3duIGJyb2tlbjsgYSBtZWNoYW5pc20gdG8gZXhwbG9pdCBhIGRlbGF5IGluCi0rICogc3RhcnQgdGltZSBpbiB0aGUgTGludXgga2VybmVsIHdhcyBpZGVudGlmaWVkLiAgQXZvaWQKLSsgKiBjYWxsaW5nIHBvbGtpdF9zdWJqZWN0X2VxdWFsKCkgdG8gY29tcGFyZSB0d28gcHJvY2Vzc2VzLgotICAqCi0gICogVG8gdW5pcXVlbHkgaWRlbnRpZnkgcHJvY2Vzc2VzLCBib3RoIHRoZSBwcm9jZXNzIGlkIGFuZCB0aGUgc3RhcnQKLSAgKiB0aW1lIG9mIHRoZSBwcm9jZXNzIChhIG1vbm90b25pYyBpbmNyZWFzaW5nIHZhbHVlIHJlcHJlc2VudGluZyB0aGUKLUBAIC02Niw2ICs2OSw3MiBAQAotICAqIHBvbGtpdF91bml4X3Byb2Nlc3NfbmV3X2Zvcl9vd25lcigpIHdpdGggdHJ1c3RlZCBkYXRhLgotICAqLwotIAotKy8qIFNlZSBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvcG9sa2l0L3BvbGtpdC9pc3N1ZXMvNzUKLSsKLSsgIEJ1dCBxdW90aW5nIHRoZSBvcmlnaW5hbCBlbWFpbCBpbiBmdWxsIGhlcmUgdG8gZW5zdXJlIGl0J3MgcHJlc2VydmVkOgotKwotKyAgRnJvbTogSmFubiBIb3JuIDxqYW5uaEBnb29nbGUuY29tPgotKyAgU3ViamVjdDogW1NFQ1VSSVRZXSBwb2xraXQ6IHRlbXBvcmFyeSBhdXRoIGhpamFja2luZyB2aWEgUElEIHJldXNlIGFuZCBub24tYXRvbWljIGZvcmsKLSsgIERhdGU6IFdlZG5lc2RheSwgT2N0b2JlciAxMCwgMjAxOCA1OjM0IFBNCi0rCi0rV2hlbiBhIChub24tcm9vdCkgdXNlciBhdHRlbXB0cyB0byBlLmcuIGNvbnRyb2wgc3lzdGVtZCB1bml0cyBpbiB0aGUgc3lzdGVtCi0raW5zdGFuY2UgZnJvbSBhbiBhY3RpdmUgc2Vzc2lvbiBvdmVyIERCdXMsIHRoZSBhY2Nlc3MgaXMgZ2F0ZWQgYnkgYSBwb2xraXQKLStwb2xpY3kgdGhhdCByZXF1aXJlcyAiYXV0aF9hZG1pbl9rZWVwIiBhdXRoLiBUaGlzIHJlc3VsdHMgaW4gYW4gYXV0aCBwcm9tcHQKLStiZWluZyBzaG93biB0byB0aGUgdXNlciwgYXNraW5nIHRoZSB1c2VyIHRvIGNvbmZpcm0gdGhlIGFjdGlvbiBieSBlbnRlcmluZyB0aGUKLStwYXNzd29yZCBvZiBhbiBhZG1pbmlzdHJhdG9yIGFjY291bnQuCi0rCi0rQWZ0ZXIgdGhlIGFjdGlvbiBoYXMgYmVlbiBjb25maXJtZWQsIHRoZSBhdXRoIGRlY2lzaW9uIGZvciAiYXV0aF9hZG1pbl9rZWVwIiBpcwotK2NhY2hlZCBmb3IgdXAgdG8gZml2ZSBtaW51dGVzLiBTdWJqZWN0IHRvIHNvbWUgcmVzdHJpY3Rpb25zLCBzaW1pbGFyIGFjdGlvbnMgY2FuCi0rdGhlbiBiZSBwZXJmb3JtZWQgaW4gdGhpcyB0aW1lc3BhbiB3aXRob3V0IHJlcXVpcmluZyByZS1hdXRoOgotKwotKyAtIFRoZSBQSUQgb2YgdGhlIERCdXMgY2xpZW50IHJlcXVlc3RpbmcgdGhlIG5ldyBhY3Rpb24gbXVzdCBtYXRjaCB0aGUgUElEIG9mCi0rICAgdGhlIERCdXMgY2xpZW50IHJlcXVlc3RpbmcgdGhlIG9sZCBhY3Rpb24gKGJhc2VkIG9uIFNPX1BFRVJDUkVEIGluZm9ybWF0aW9uCi0rICAgZm9yd2FyZGVkIGJ5IHRoZSBEQnVzIGRhZW1vbikuCi0rIC0gVGhlICJzdGFydCB0aW1lIiBvZiB0aGUgY2xpZW50J3MgUElEIChhcyBzZWVuIGluIC9wcm9jLyRwaWQvc3RhdCwgZmllbGQgMjIpCi0rICAgbXVzdCBub3QgaGF2ZSBjaGFuZ2VkLiBUaGUgZ3JhbnVsYXJpdHkgb2YgdGhpcyB0aW1lc3RhbXAgaXMgaW4gdGhlCi0rICAgbWlsbGlzZWNvbmQgcmFuZ2UuCi0rIC0gcG9sa2l0IHBvbGxzIGV2ZXJ5IHR3byBzZWNvbmRzIHdoZXRoZXIgYSBwcm9jZXNzIHdpdGggdGhlIGV4cGVjdGVkIHN0YXJ0IHRpbWUKLSsgICBzdGlsbCBleGlzdHMuIElmIG5vdCwgdGhlIHRlbXBvcmFyeSBhdXRoIGVudHJ5IGlzIHB1cmdlZC4KLSsKLStXaXRob3V0IHRoZSBzdGFydCB0aW1lIGNoZWNrLCB0aGlzIHdvdWxkIG9idmlvdXNseSBiZSBidWdneSBiZWNhdXNlIGFuIGF0dGFja2VyCi0rY291bGQgc2ltcGx5IHdhaXQgZm9yIHRoZSBsZWdpdGltYXRlIGNsaWVudCB0byBkaXNhcHBlYXIsIHRoZW4gY3JlYXRlIGEgbmV3Ci0rY2xpZW50IHdpdGggdGhlIHNhbWUgUElELgotKwotK1VuZm9ydHVuYXRlbHksIHRoZSBzdGFydCB0aW1lIGNoZWNrIGlzIGJ5cGFzc2FibGUgYmVjYXVzZSBmb3JrKCkgaXMgbm90IGF0b21pYy4KLStMb29raW5nIGF0IHRoZSBzb3VyY2UgY29kZSBvZiBjb3B5X3Byb2Nlc3MoKSBpbiB0aGUga2VybmVsOgotKwotKyAgICAgICAgcC0+c3RhcnRfdGltZSA9IGt0aW1lX2dldF9ucygpOwotKyAgICAgICAgcC0+cmVhbF9zdGFydF90aW1lID0ga3RpbWVfZ2V0X2Jvb3RfbnMoKTsKLSsgICAgICAgIFsuLi5dCi0rICAgICAgICByZXR2YWwgPSBjb3B5X3RocmVhZF90bHMoY2xvbmVfZmxhZ3MsIHN0YWNrX3N0YXJ0LCBzdGFja19zaXplLCBwLCB0bHMpOwotKyAgICAgICAgaWYgKHJldHZhbCkKLSsgICAgICAgICAgICAgICAgZ290byBiYWRfZm9ya19jbGVhbnVwX2lvOwotKwotKyAgICAgICAgaWYgKHBpZCAhPSAmaW5pdF9zdHJ1Y3RfcGlkKSB7Ci0rICAgICAgICAgICAgICAgIHBpZCA9IGFsbG9jX3BpZChwLT5uc3Byb3h5LT5waWRfbnNfZm9yX2NoaWxkcmVuKTsKLSsgICAgICAgICAgICAgICAgaWYgKElTX0VSUihwaWQpKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dmFsID0gUFRSX0VSUihwaWQpOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gYmFkX2ZvcmtfY2xlYW51cF90aHJlYWQ7Ci0rICAgICAgICAgICAgICAgIH0KLSsgICAgICAgIH0KLSsKLStUaGUga3RpbWVfZ2V0X2Jvb3RfbnMoKSBjYWxsIGlzIHdoZXJlIHRoZSAic3RhcnQgdGltZSIgb2YgdGhlIHByb2Nlc3MgaXMKLStyZWNvcmRlZC4gVGhlIGFsbG9jX3BpZCgpIGNhbGwgaXMgd2hlcmUgYSBmcmVlIFBJRCBpcyBhbGxvY2F0ZWQuIEluIGJldHdlZW4KLSt0aGVzZSwgc29tZSB0aW1lIHBhc3NlczsgYW5kIGJlY2F1c2UgdGhlIGNvcHlfdGhyZWFkX3RscygpIGNhbGwgYmV0d2VlbiB0aGVtIGNhbgotK2FjY2VzcyB1c2Vyc3BhY2UgbWVtb3J5IHdoZW4gc3lzX2Nsb25lKCkgaXMgaW52b2tlZCB0aHJvdWdoIHRoZSAzMi1iaXQgc3lzY2FsbAotK2VudHJ5IHBvaW50LCBhbiBhdHRhY2tlciBjYW4gZXZlbiBzdGFsbCB0aGUga2VybmVsIGFyYml0cmFyaWx5IGxvbmcgYXQgdGhpcwotK3BvaW50IChieSBzdXBwbHlpbmcgYSBwb2ludGVyIGludG8gdXNlcnNwYWNlIG1lbW9yeSB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCBhCi0rdXNlcmZhdWx0ZmQgb3IgaXMgYmFja2VkIGJ5IGEgY3VzdG9tIEZVU0UgZmlsZXN5c3RlbSkuCi0rCi0rVGhpcyBtZWFucyB0aGF0IGFuIGF0dGFja2VyIGNhbiBpbW1lZGlhdGVseSBjYWxsIHN5c19jbG9uZSgpIHdoZW4gdGhlIHZpY3RpbQotK3Byb2Nlc3MgaXMgY3JlYXRlZCwgb2Z0ZW4gcmVzdWx0aW5nIGluIGEgcHJvY2VzcyB0aGF0IGhhcyB0aGUgZXhhY3Qgc2FtZSBzdGFydAotK3RpbWUgcmVwb3J0ZWQgaW4gcHJvY2ZzOyBhbmQgdGhlbiB0aGUgYXR0YWNrZXIgY2FuIGRlbGF5IHRoZSBhbGxvY19waWQoKSBjYWxsCi0rdW50aWwgYWZ0ZXIgdGhlIHZpY3RpbSBwcm9jZXNzIGhhcyBkaWVkIGFuZCB0aGUgUElEIGFzc2lnbm1lbnQgaGFzIGN5Y2xlZAotK2Fyb3VuZC4gVGhpcyByZXN1bHRzIGluIGFuIGF0dGFja2VyIHByb2Nlc3MgdGhhdCBwb2xraXQgY2FuJ3QgZGlzdGluZ3Vpc2ggZnJvbQotK3RoZSB2aWN0aW0gcHJvY2Vzcy4KLSsqLwotKwotKwotIC8qKgotICAqIFBvbGtpdFVuaXhQcm9jZXNzOgotICAqCi1kaWZmIC0tZ2l0IGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZGludGVyYWN0aXZlYXV0aG9yaXR5LmMgYi9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYwotaW5kZXggYTE2MzBiOS4uODBlODE0MSAxMDA2NDQKLS0tLSBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2ZWF1dGhvcml0eS5jCi0rKysgYi9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYwotQEAgLTMwMzEsNiArMzAzMSw0MyBAQCB0ZW1wb3JhcnlfYXV0aG9yaXphdGlvbl9zdG9yZV9mcmVlIChUZW1wb3JhcnlBdXRob3JpemF0aW9uU3RvcmUgKnN0b3JlKQotICAgZ19mcmVlIChzdG9yZSk7Ci0gfQotIAotKy8qIFNlZSB0aGUgY29tbWVudCBhdCB0aGUgdG9wIG9mIHBvbGtpdHVuaXhwcm9jZXNzLmMgKi8KLStzdGF0aWMgZ2Jvb2xlYW4KLStzdWJqZWN0X2VxdWFsX2Zvcl9hdXRoeiAoUG9sa2l0U3ViamVjdCAqYSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgUG9sa2l0U3ViamVjdCAqYikKLSt7Ci0rICBpZiAoIXBvbGtpdF9zdWJqZWN0X2VxdWFsIChhLCBiKSkKLSsgICAgcmV0dXJuIEZBTFNFOwotKwotKyAgLyogTm93IHNwZWNpYWwgY2FzZSB1bml4IHByb2Nlc3NlcywgYXMgd2Ugd2FudCB0byBwcm90ZWN0IGFnYWluc3QKLSsgICAqIHBpZCByZXVzZSBieSBpbmNsdWRpbmcgdGhlIFVJRC4KLSsgICAqLwotKyAgaWYgKFBPTEtJVF9JU19VTklYX1BST0NFU1MgKGEpICYmIFBPTEtJVF9JU19VTklYX1BST0NFU1MgKGIpKSB7Ci0rICAgIFBvbGtpdFVuaXhQcm9jZXNzICphcCA9IChQb2xraXRVbml4UHJvY2VzcyopYTsKLSsgICAgaW50IHVpZF9hID0gcG9sa2l0X3VuaXhfcHJvY2Vzc19nZXRfdWlkICgoUG9sa2l0VW5peFByb2Nlc3MqKWEpOwotKyAgICBQb2xraXRVbml4UHJvY2VzcyAqYnAgPSAoUG9sa2l0VW5peFByb2Nlc3MqKWI7Ci0rICAgIGludCB1aWRfYiA9IHBvbGtpdF91bml4X3Byb2Nlc3NfZ2V0X3VpZCAoKFBvbGtpdFVuaXhQcm9jZXNzKiliKTsKLSsKLSsgICAgaWYgKHVpZF9hICE9IC0xICYmIHVpZF9iICE9IC0xKQotKyAgICAgIHsKLSsgICAgICAgIGlmICh1aWRfYSA9PSB1aWRfYikKLSsgICAgICAgICAgewotKyAgICAgICAgICAgIHJldHVybiBUUlVFOwotKyAgICAgICAgICB9Ci0rICAgICAgICBlbHNlCi0rICAgICAgICAgIHsKLSsgICAgICAgICAgICBnX3ByaW50ZXJyICgiZGVueWluZyBzbG93Zm9yazsgcGlkICVkIHVpZCAlZCAhPSAlZCFcbiIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgcG9sa2l0X3VuaXhfcHJvY2Vzc19nZXRfcGlkIChhcCksCi0rICAgICAgICAgICAgICAgICAgICAgICAgdWlkX2EsIHVpZF9iKTsKLSsgICAgICAgICAgICByZXR1cm4gRkFMU0U7Ci0rICAgICAgICAgIH0KLSsgICAgICB9Ci0rICAgIC8qIEZhbGwgdGhyb3VnaDsgb25lIG9mIHRoZSB1aWRzIGlzIHVuc2V0IHNvIHdlIGNhbid0IHJlbGlhYmx5IGNvbXBhcmUgKi8KLSsgIH0KLSsKLSsgIHJldHVybiBUUlVFOwotK30KLSsKLSBzdGF0aWMgZ2Jvb2xlYW4KLSB0ZW1wb3JhcnlfYXV0aG9yaXphdGlvbl9zdG9yZV9oYXNfYXV0aG9yaXphdGlvbiAoVGVtcG9yYXJ5QXV0aG9yaXphdGlvblN0b3JlICpzdG9yZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUG9sa2l0U3ViamVjdCAgICAgICAgICAgICAgICpzdWJqZWN0LAotQEAgLTMwNzMsNyArMzExMCw3IEBAIHRlbXBvcmFyeV9hdXRob3JpemF0aW9uX3N0b3JlX2hhc19hdXRob3JpemF0aW9uIChUZW1wb3JhcnlBdXRob3JpemF0aW9uU3RvcmUgKnN0Ci0gICAgIFRlbXBvcmFyeUF1dGhvcml6YXRpb24gKmF1dGhvcml6YXRpb24gPSBsLT5kYXRhOwotIAotICAgICBpZiAoc3RyY21wIChhY3Rpb25faWQsIGF1dGhvcml6YXRpb24tPmFjdGlvbl9pZCkgPT0gMCAmJgotLSAgICAgICAgcG9sa2l0X3N1YmplY3RfZXF1YWwgKHN1YmplY3RfdG9fdXNlLCBhdXRob3JpemF0aW9uLT5zdWJqZWN0KSkKLSsgICAgICAgIHN1YmplY3RfZXF1YWxfZm9yX2F1dGh6IChzdWJqZWN0X3RvX3VzZSwgYXV0aG9yaXphdGlvbi0+c3ViamVjdCkpCi0gICAgICAgewotICAgICAgICAgcmV0ID0gVFJVRTsKLSAgICAgICAgIGlmIChvdXRfdG1wX2F1dGh6X2lkICE9IE5VTEwpCi0tLSAKLTIuMjAuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdF8wLjExNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0XzAuMTE1LmJiCmluZGV4IDhkNTkyMDUuLjEzYzRiMDIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0XzAuMTE1LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0XzAuMTE1LmJiCkBAIC03LDcgKzcsOSBAQAogCiBERVBFTkRTID0gImV4cGF0IGdsaWItMi4wIGludGx0b29sLW5hdGl2ZSBtb3pqcyIKIAotaW5oZXJpdCBhdXRvdG9vbHMgZ3RrLWRvYyBwa2djb25maWcgdXNlcmFkZCBzeXN0ZW1kIGdvYmplY3QtaW50cm9zcGVjdGlvbgoraW5oZXJpdCBhdXRvdG9vbHMgZ3RrLWRvYyBwa2djb25maWcgdXNlcmFkZCBzeXN0ZW1kIGdvYmplY3QtaW50cm9zcGVjdGlvbiBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInBvbGtpdCIKIAogUEFDS0FHRUNPTkZJRyA9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCBkKX0gXAogICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnc3lzdGVtZCcsIFwKQEAgLTIzLDcgKzI1LDYgQEAKIFNSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvcG9sa2l0L3JlbGVhc2VzL3BvbGtpdC0ke1BWfS50YXIuZ3ogXAogICAgIGZpbGU6Ly8wMDAxLW1ha2UtbmV0Z3JvdXAtc3VwcG9ydC1jb25maWd1cmFibGUucGF0Y2ggXAogICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJyR7UEFNX1NSQ19VUkl9JywgJycsIGQpfSBcCi0gICAgZmlsZTovL0NWRS0yMDE5LTYxMzMucGF0Y2ggXAogIgogU1JDX1VSSVttZDVzdW1dID0gImYwM2IwNTVkNmFlNWZjOGVhYzc2ODM4YzdkODNkMDgyIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJmODdlY2RhYmZiZDQxNWM2MzA2NjczY2VhZGM1OTg0NmYwNTliMThlZjJmY2U0MmJhYzYzZmUyODNmMTIxMzEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXNfNC4wLjEyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JlZGlzL3JlZGlzXzQuMC4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjk5NTM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JlZGlzL3JlZGlzXzQuMC4xMi5iYgpAQCAtMCwwICsxLDU4IEBACitTVU1NQVJZID0gIlJlZGlzIGtleS12YWx1ZSBzdG9yZSIKK0RFU0NSSVBUSU9OID0gIlJlZGlzIGlzIGFuIG9wZW4gc291cmNlLCBhZHZhbmNlZCBrZXktdmFsdWUgc3RvcmUuIgorSE9NRVBBR0UgPSAiaHR0cDovL3JlZGlzLmlvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYzAxYjQ5ZmVkNGRmMWE3OTg0MzY4OGZhM2Y3YjlkNiIKK0RFUEVORFMgPSAiIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5yZWRpcy5pby9yZWxlYXNlcy8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vaGlyZWRpcy11c2UtZGVmYXVsdC1DQy1pZi1pdC1pcy1zZXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbHVhLXVwZGF0ZS1NYWtlZmlsZS10by11c2UtZW52aXJvbm1lbnQtYnVpbGQtc2V0dGluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9vZS11c2UtbGliYy1tYWxsb2MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVkaXMuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0LXJlZGlzLXNlcnZlciBcCisgICAgICAgICAgIGZpbGU6Ly9yZWRpcy5zZXJ2aWNlIFwKKyIKKworU1JDX1VSSV9hcHBlbmRfbWlwcyA9ICIgZmlsZTovL3JlbW92ZS1hdG9taWNzLnBhdGNoIgorU1JDX1VSSV9hcHBlbmRfYXJtID0gIiBmaWxlOi8vcmVtb3ZlLWF0b21pY3MucGF0Y2giCitTUkNfVVJJX2FwcGVuZF9wb3dlcnBjID0gIiBmaWxlOi8vcmVtb3ZlLWF0b21pY3MucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0OGYyNDBmZDJkOTZiMWI1NzkzMDBiODY2Mzk4ZWRiYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2NDQ3MjU5ZDJlZWQ0MjZhOTQ5YzljMTNmOGZkYjJkOTFmYjY2ZDlkYzkxNWRkNTBkYjEzYjg3ZjQ2ZDkzMTYyIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgc3lzdGVtZCB1c2VyYWRkCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ICA9ICItLXN5c3RlbSAtLWhvbWUtZGlyIC92YXIvbGliL3JlZGlzIC1nIHJlZGlzIC0tc2hlbGwgL2Jpbi9mYWxzZSByZWRpcyIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIHJlZGlzIgorCisKK1JFRElTX09OX1NZU1RFTUQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX0iCisKK2RvX2luc3RhbGwoKSB7CisgICAgZXhwb3J0IFBSRUZJWD0ke0R9LyR7cHJlZml4fQorICAgIG9lX3J1bm1ha2UgaW5zdGFsbAorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L3JlZGlzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcmVkaXMuY29uZiAke0R9LyR7c3lzY29uZmRpcn0vcmVkaXMvcmVkaXMuY29uZgorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luaXQtcmVkaXMtc2VydmVyICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvcmVkaXMtc2VydmVyCisgICAgaW5zdGFsbCAtZCAke0R9L3Zhci9saWIvcmVkaXMvCisgICAgY2hvd24gcmVkaXMucmVkaXMgJHtEfS92YXIvbGliL3JlZGlzLworCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3JlZGlzLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KKyAgICBzZWQgLWkgJ3MhL3Vzci9zYmluLyEke3NiaW5kaXJ9LyFnJyAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9yZWRpcy5zZXJ2aWNlCisKKyAgICBpZiBbICIke1JFRElTX09OX1NZU1RFTUR9IiA9IHRydWUgXTsgdGhlbgorICAgICAgICBzZWQgLWkgJ3MhZGFlbW9uaXplIHllcyEjIGRhZW1vbml6ZSB5ZXMhJyAke0R9LyR7c3lzY29uZmRpcn0vcmVkaXMvcmVkaXMuY29uZgorICAgIGZpCit9CisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L3JlZGlzL3JlZGlzLmNvbmYiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJyZWRpcy1zZXJ2ZXIiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyA4NyIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInJlZGlzLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXNfNC4wLjguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXNfNC4wLjguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwZDM2ZDIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JlZGlzL3JlZGlzXzQuMC44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotU1VNTUFSWSA9ICJSZWRpcyBrZXktdmFsdWUgc3RvcmUiCi1ERVNDUklQVElPTiA9ICJSZWRpcyBpcyBhbiBvcGVuIHNvdXJjZSwgYWR2YW5jZWQga2V5LXZhbHVlIHN0b3JlLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9yZWRpcy5pbyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2MwMWI0OWZlZDRkZjFhNzk4NDM2ODhmYTNmN2I5ZDYiCi1ERVBFTkRTID0gIiIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQucmVkaXMuaW8vcmVsZWFzZXMvJHtCUH0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2hpcmVkaXMtdXNlLWRlZmF1bHQtQ0MtaWYtaXQtaXMtc2V0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2x1YS11cGRhdGUtTWFrZWZpbGUtdG8tdXNlLWVudmlyb25tZW50LWJ1aWxkLXNldHRpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vb2UtdXNlLWxpYmMtbWFsbG9jLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3JlZGlzLmNvbmYgXAotICAgICAgICAgICBmaWxlOi8vaW5pdC1yZWRpcy1zZXJ2ZXIgXAotICAgICAgICAgICBmaWxlOi8vcmVkaXMuc2VydmljZSBcCi0iCi0KLVNSQ19VUklfYXBwZW5kX21pcHMgPSAiIGZpbGU6Ly9yZW1vdmUtYXRvbWljcy5wYXRjaCIKLVNSQ19VUklfYXBwZW5kX2FybSA9ICIgZmlsZTovL3JlbW92ZS1hdG9taWNzLnBhdGNoIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYzc1YjExZTQxNzdlMTUzZTRkYzFkOGRkM2E2MTc0ZTQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmYwYzM4YjhjMTU2MzE5MjQ5ZmVjNjFlNTAxOGNmNWI1ZmU2M2E2NWI2MTY5MGJlYzc5OGY0Yzk5OGMyMzJhZCIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kIHN5c3RlbWQgdXNlcmFkZAotCi1VU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgotVVNFUkFERF9QQVJBTV8ke1BOfSAgPSAiLS1zeXN0ZW0gLS1ob21lLWRpciAvdmFyL2xpYi9yZWRpcyAtZyByZWRpcyAtLXNoZWxsIC9iaW4vZmFsc2UgcmVkaXMiCi1HUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSByZWRpcyIKLQotCi1SRURJU19PTl9TWVNURU1EID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9IgotCi1kb19pbnN0YWxsKCkgewotICAgIGV4cG9ydCBQUkVGSVg9JHtEfS8ke3ByZWZpeH0KLSAgICBvZV9ydW5tYWtlIGluc3RhbGwKLSAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9yZWRpcwotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3JlZGlzLmNvbmYgJHtEfS8ke3N5c2NvbmZkaXJ9L3JlZGlzL3JlZGlzLmNvbmYKLSAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0LXJlZGlzLXNlcnZlciAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kL3JlZGlzLXNlcnZlcgotICAgIGluc3RhbGwgLWQgJHtEfS92YXIvbGliL3JlZGlzLwotICAgIGNob3duIHJlZGlzLnJlZGlzICR7RH0vdmFyL2xpYi9yZWRpcy8KLQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9yZWRpcy5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9Ci0gICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vcmVkaXMuc2VydmljZQotCi0gICAgaWYgWyAiJHtSRURJU19PTl9TWVNURU1EfSIgPSB0cnVlIF07IHRoZW4KLSAgICAgICAgc2VkIC1pICdzIWRhZW1vbml6ZSB5ZXMhIyBkYWVtb25pemUgeWVzIScgJHtEfS8ke3N5c2NvbmZkaXJ9L3JlZGlzL3JlZGlzLmNvbmYKLSAgICBmaQotfQotCi1DT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9yZWRpcy9yZWRpcy5jb25mIgotCi1JTklUU0NSSVBUX05BTUUgPSAicmVkaXMtc2VydmVyIgotSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMgODciCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJyZWRpcy5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvbGlicmVscC8wMDAxLXNyYy10Y3AuYy1maXgtanVtcC1taXNzZXMtaW5pdC1lcnJvci5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL2xpYnJlbHAvMDAwMS1zcmMtdGNwLmMtZml4LWp1bXAtbWlzc2VzLWluaXQtZXJyb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4YjY4NjMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvbGlicmVscC8wMDAxLXNyYy10Y3AuYy1maXgtanVtcC1taXNzZXMtaW5pdC1lcnJvci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLUZyb20gM2U1YTBjYjQ0MGM3ODhlMjM4M2U0MGFiMjNhYzFjZjAxZDk2OTYxYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUdWUsIDI0IEp1bCAyMDE4IDAxOjMwOjI1IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIHNyYy90Y3AuYzogZml4IGp1bXAtbWlzc2VzLWluaXQgZXJyb3IKLQotRml4IGJlbG93IGp1bXAtbWlzc2VzLWluaXQgZXJyb3IKLQotfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vZ2l0L3NyYy90Y3AuYzo1MToKLXwgLi4vLi4vZ2l0L3NyYy90Y3AuYzogSW4gZnVuY3Rpb24gJ3JlbHBUY3BDb25uZWN0JzoKLXwgLi4vLi4vZ2l0L3NyYy9yZWxwLmg6MjIwOjM6IGVycm9yOiBqdW1wIHNraXBzIHZhcmlhYmxlIGluaXRpYWxpemF0aW9uIFstV2Vycm9yPWp1bXAtbWlzc2VzLWluaXRdCi18ICAgIGdvdG8gZmluYWxpemVfaXQ7ICBcCi18ICAgIF5+fn4KLXwgLi4vLi4vZ2l0L3NyYy90Y3AuYzoxOTUxOjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnQUJPUlRfRklOQUxJWkUnCi18ICAgIEFCT1JUX0ZJTkFMSVpFKFJFTFBfUkVUX0lPX0VSUik7Ci18ICAgIF5+fn5+fn5+fn5+fn5+Ci18IC4uLy4uL2dpdC9zcmMvdGNwLmM6MjAwNToxOiBub3RlOiBsYWJlbCAnZmluYWxpemVfaXQnIGRlZmluZWQgaGVyZQotfCAgZmluYWxpemVfaXQ6Ci18ICBefn5+fn5+fn5+fgotfCAuLi8uLi9naXQvc3JjL3RjcC5jOjE5OTE6Njogbm90ZTogJ3InIGRlY2xhcmVkIGhlcmUKLXwgICBpbnQgciA9IGdldHNvY2tvcHQocFRoaXMtPnNvY2ssIFNPTF9TT0NLRVQsIFNPX0VSUk9SLCAmc29fZXJyb3IsICZsZW4pOwotfCAgICAgICBeCi18IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi9naXQvc3JjL3RjcC5jOjUxOgotfCAuLi8uLi9naXQvc3JjL3JlbHAuaDoyMjA6MzogZXJyb3I6IGp1bXAgc2tpcHMgdmFyaWFibGUgaW5pdGlhbGl6YXRpb24gWy1XZXJyb3I9anVtcC1taXNzZXMtaW5pdF0KLXwgICAgZ290byBmaW5hbGl6ZV9pdDsgIFwKLXwgICAgXn5+fgotfCAuLi8uLi9naXQvc3JjL3RjcC5jOjE5NTE6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdBQk9SVF9GSU5BTElaRScKLXwgICAgQUJPUlRfRklOQUxJWkUoUkVMUF9SRVRfSU9fRVJSKTsKLXwgICAgXn5+fn5+fn5+fn5+fn4KLXwgLi4vLi4vZ2l0L3NyYy90Y3AuYzoyMDA1OjE6IG5vdGU6IGxhYmVsICdmaW5hbGl6ZV9pdCcgZGVmaW5lZCBoZXJlCi18ICBmaW5hbGl6ZV9pdDoKLXwgIF5+fn5+fn5+fn5+Ci18IC4uLy4uL2dpdC9zcmMvdGNwLmM6MTk4OToxMjogbm90ZTogJ2xlbicgZGVjbGFyZWQgaGVyZQotfCAgIHNvY2tsZW5fdCBsZW4gPSBzaXplb2Ygc29fZXJyb3I7Ci18ICAgICAgICAgICAgIF5+fgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZFtodHRwczovL2dpdGh1Yi5jb20vcnN5c2xvZy9saWJyZWxwL3B1bGwvMTE3XQotCi1TaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL3RjcC5jIHwgNyArKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy90Y3AuYyBiL3NyYy90Y3AuYwotaW5kZXggZjM1ZWI4NC4uZmIzNGRjNyAxMDA2NDQKLS0tLSBhL3NyYy90Y3AuYwotKysrIGIvc3JjL3RjcC5jCi1AQCAtMTkzNiw2ICsxOTM2LDkgQEAgcmVscFRjcENvbm5lY3QocmVscFRjcF90ICpjb25zdCBwVGhpcywKLSAJc3RydWN0IGFkZHJpbmZvIGhpbnRzOwotIAlzdHJ1Y3QgYWRkcmluZm8gKnJlc2xvY2FsID0gTlVMTDsKLSAJc3RydWN0IHBvbGxmZCBwZmQ7Ci0rCWludCBzb19lcnJvcjsKLSsJc29ja2xlbl90IGxlbiA9IHNpemVvZiBzb19lcnJvcjsKLSsJaW50IHI7Ci0gCi0gCUVOVEVSX1JFTFBGVU5DOwotIAlSRUxQT0JKX2Fzc2VydChwVGhpcywgVGNwKTsKLUBAIC0xOTg1LDEwICsxOTg4LDggQEAgcmVscFRjcENvbm5lY3QocmVscFRjcF90ICpjb25zdCBwVGhpcywKLSAJCUFCT1JUX0ZJTkFMSVpFKFJFTFBfUkVUX1RJTUVEX09VVCk7Ci0gCX0KLSAKLS0JaW50IHNvX2Vycm9yOwotLQlzb2NrbGVuX3QgbGVuID0gc2l6ZW9mIHNvX2Vycm9yOwotIAotLQlpbnQgciA9IGdldHNvY2tvcHQocFRoaXMtPnNvY2ssIFNPTF9TT0NLRVQsIFNPX0VSUk9SLCAmc29fZXJyb3IsICZsZW4pOwotKwlyID0gZ2V0c29ja29wdChwVGhpcy0+c29jaywgU09MX1NPQ0tFVCwgU09fRVJST1IsICZzb19lcnJvciwgJmxlbik7Ci0gCWlmIChyID09IC0xIHx8IHNvX2Vycm9yICE9IDApIHsKLSAJCXBUaGlzLT5wRW5naW5lLT5kYmdwcmludCgic29ja2V0IGhhcyBhbiBlcnJvciAlZFxuIiwgc29fZXJyb3IpOwotIAkJQUJPUlRfRklOQUxJWkUoUkVMUF9SRVRfSU9fRVJSKTsKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL2xpYnJlbHAvMDAwMS1zcmMtdGNwLmMtaW5jcmVhc2UtdGhlLXNpemUtb2Ytc3pIbmFtZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL2xpYnJlbHAvMDAwMS1zcmMtdGNwLmMtaW5jcmVhc2UtdGhlLXNpemUtb2Ytc3pIbmFtZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWE2MmUxNS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9saWJyZWxwLzAwMDEtc3JjLXRjcC5jLWluY3JlYXNlLXRoZS1zaXplLW9mLXN6SG5hbWUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi1Gcm9tIGQ4OTUwYWQyNzNkNzllYzUxNjQ2ODI4OWFkYmQ0MjdlNjgxZGJjNjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCAzMCBKdWwgMjAxOCAwMToyMjo1NiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBzcmMvdGNwLmM6IGluY3JlYXNlIHRoZSBzaXplIG9mIHN6SG5hbWUKLQotSW5jcmVhc2UgdGhlIHNpemUgb2Ygc3pIbmFtZSB0byBmaXggYmVsb3cKLWVycm9yOgotfCAuLi8uLi9naXQvc3JjL3RjcC5jOiBJbiBmdW5jdGlvbiAncmVscFRjcFNldFJlbUhvc3QnOgotfCAuLi8uLi9naXQvc3JjL3RjcC5jOjM1Mjo1NzogZXJyb3I6ICclcycgZGlyZWN0aXZlIG91dHB1dCBtYXkgYmUgdHJ1bmNhdGVkIHdyaXRpbmcgdXAgdG8gMTAyNCBieXRlcyBpbnRvIGEgcmVnaW9uIG9mIHNpemUgMTAxMSBbLVdlcnJvcj1mb3JtYXQtdHJ1bmNhdGlvbj1dCi18ICAgICAgc25wcmludGYoKGNoYXIqKXN6SG5hbWUsIE5JX01BWEhPU1QsICJbTUFMSUNJT1VTOklQPSVzXSIsIHN6SVApOwotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefiAgICB+fn5+Ci18IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAvcG9reS1idWlsZC90bXAvd29yay9pNTg2LXBva3ktbGludXgvbGlicmVscC8xLjIuMTYtcjAvcmVjaXBlLXN5c3Jvb3QvdXNyL2luY2x1ZGUvc3RkaW8uaDo4NjIsCi18ICAgICAgICAgICAgICAgICAgZnJvbSAuLi8uLi9naXQvc3JjL3RjcC5jOjM4OgotfCAvcG9reS1idWlsZC90bXAvd29yay9pNTg2LXBva3ktbGludXgvbGlicmVscC8xLjIuMTYtcjAvcmVjaXBlLXN5c3Jvb3QvdXNyL2luY2x1ZGUvYml0cy9zdGRpbzIuaDo2NDoxMDogbm90ZTogJ19fYnVpbHRpbl9fX3NucHJpbnRmX2Noaycgb3V0cHV0IGJldHdlZW4gMTYgYW5kIDEwNDAgYnl0ZXMgaW50byBhIGRlc3RpbmF0aW9uIG9mIHNpemUgMTAyNQotfCAgICByZXR1cm4gX19idWlsdGluX19fc25wcmludGZfY2hrIChfX3MsIF9fbiwgX19VU0VfRk9SVElGWV9MRVZFTCAtIDEsCi18ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLXwgICAgICAgICBfX2JvcyAoX19zKSwgX19mbXQsIF9fdmFfYXJnX3BhY2sgKCkpOwotfCAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLXwgY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKLXwgTWFrZWZpbGU6NTM2OiByZWNpcGUgZm9yIHRhcmdldCAnbGlicmVscF9sYS10Y3AubG8nIGZhaWxlZAotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZFtodHRwczovL2dpdGh1Yi5jb20vcnN5c2xvZy9saWJyZWxwL3B1bGwvMTE4XQotCi1TaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL3RjcC5jIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy90Y3AuYyBiL3NyYy90Y3AuYwotaW5kZXggZmIzNGRjNy4uMmMzOGIwYiAxMDA2NDQKLS0tLSBhL3NyYy90Y3AuYwotKysrIGIvc3JjL3RjcC5jCi1AQCAtMzE5LDcgKzMxOSw3IEBAIHJlbHBUY3BTZXRSZW1Ib3N0KHJlbHBUY3BfdCAqY29uc3QgcFRoaXMsIHN0cnVjdCBzb2NrYWRkciAqcEFkZHIpCi0gCXJlbHBFbmdpbmVfdCAqcEVuZ2luZTsKLSAJaW50IGVycm9yOwotIAl1bnNpZ25lZCBjaGFyIHN6SVBbTklfTUFYSE9TVF0gPSAiIjsKLS0JdW5zaWduZWQgY2hhciBzekhuYW1lW05JX01BWEhPU1RdID0gIiI7Ci0rCXVuc2lnbmVkIGNoYXIgc3pIbmFtZVsxMDQ1XSA9ICIiOwotIAlzdHJ1Y3QgYWRkcmluZm8gaGludHMsICpyZXM7Ci0gCXNpemVfdCBsZW47Ci0gCQotQEAgLTM0OSw3ICszNDksNyBAQCByZWxwVGNwU2V0UmVtSG9zdChyZWxwVGNwX3QgKmNvbnN0IHBUaGlzLCBzdHJ1Y3Qgc29ja2FkZHIgKnBBZGRyKQotIAkJCWlmKGdldGFkZHJpbmZvKChjaGFyKilzekhuYW1lLCBOVUxMLCAmaGludHMsICZyZXMpID09IDApIHsKLSAJCQkJZnJlZWFkZHJpbmZvIChyZXMpOwotIAkJCQkvKiBPSywgd2Uga25vdyB3ZSBoYXZlIGV2aWwsIHNvIGxldCdzIGluZGljYXRlIHRoaXMgdG8gb3VyIGNhbGxlciAqLwotLQkJCQlzbnByaW50ZigoY2hhciopc3pIbmFtZSwgTklfTUFYSE9TVCwgIltNQUxJQ0lPVVM6SVA9JXNdIiwgc3pJUCk7Ci0rCQkJCXNucHJpbnRmKChjaGFyKilzekhuYW1lLCBzaXplb2Yoc3pIbmFtZSksICJbTUFMSUNJT1VTOklQPSVzXSIsIHN6SVApOwotIAkJCQlwRW5naW5lLT5kYmdwcmludCgiTWFsaWNpb3VzIFBUUiByZWNvcmQsIElQID0gXCIlc1wiIEhPU1QgPSBcIiVzXCIiLCBzeklQLCBzekhuYW1lKTsKLSAJCQkJaVJldCA9IFJFTFBfUkVUX01BTElDSU9VU19ITkFNRTsKLSAJCQl9Ci0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9saWJyZWxwXzEuMi4xNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL2xpYnJlbHBfMS4yLjE2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzQ3OGVmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL2xpYnJlbHBfMS4yLjE2LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotU1VNTUFSWSA9ICJBIHJlbGlhYmxlIGxvZ2dpbmcgbGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yc3lzbG9nL2xpYmZhc3Rqc29uIgotCi1MSUNFTlNFID0gIkdQTHYzIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWZiOWMxMGVkOWZkNjgyNjc1NzYxNTQ1NWNhODkzYTkiCi0KLURFUEVORFMgPSAiZ21wIG5ldHRsZSBsaWJpZG4gemxpYiBnbnV0bHMiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yc3lzbG9nL2xpYnJlbHAuZ2l0O3Byb3RvY29sPWh0dHBzIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3JjLXRjcC5jLWZpeC1qdW1wLW1pc3Nlcy1pbml0LWVycm9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3JjLXRjcC5jLWluY3JlYXNlLXRoZS1zaXplLW9mLXN6SG5hbWUucGF0Y2ggXAotIgotCi1TUkNSRVYgPSAiNWU4NDlmZjA2MGJlMGM3ZGNlOTcyZTE5NGM1NGZkYWNmZWUwYWRjMiIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9saWJyZWxwXzEuNC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvbGlicmVscF8xLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZTU3ZGQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvbGlicmVscF8xLjQuMC5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIkEgcmVsaWFibGUgbG9nZ2luZyBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JzeXNsb2cvbGlicmVscCIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFmYjljMTBlZDlmZDY4MjY3NTc2MTU0NTVjYTg5M2E5IgorCitERVBFTkRTID0gImdtcCBuZXR0bGUgbGliaWRuIHpsaWIgZ251dGxzIG9wZW5zc2wiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yc3lzbG9nL2xpYnJlbHAuZ2l0O3Byb3RvY29sPWh0dHBzIFwKKyIKKworU1JDUkVWID0gImU5NjQ0M2RkYTNjMDgwZmE5OTFkZWNlYzI2YmM0YWM5OGQyNGI5YTIiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9yc3lzbG9nLWZpeC1wdGVzdC1ub3QtZmluaXNoLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9yc3lzbG9nLWZpeC1wdGVzdC1ub3QtZmluaXNoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMjQ4Zjc1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvcnN5c2xvZy1maXgtcHRlc3Qtbm90LWZpbmlzaC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExOCArMCwwIEBACi1Gcm9tIDA3YWQyYTE5MDUwODliOTEyNDYyMzMyNGE5OTY5ZTQ1MjIzMTcxMTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCAxMiBTZXAgMjAxNCAwMzo0MToxMSAtMDQwMAotU3ViamVjdDogW1BBVENIXSByc3lzbG9nOiB1cGRhdGUgY29uZmlndXJlIHRvIGZpeCBwdGVzdAotCi0kTWF4TWVzc2FnZVNpemUgZG9lc24ndCB3b3JrIGlmIGJlZm9yZSAkSW5jbHVkZUNvbmZpZyBkaWFnLWNvbW1vbi5jb25mLCB0aGVuCi10ZXN0IGNhc2VzIGZhbGwgaW50byBpbmZpbml0ZSBsb29wIHdpdGggZXJyb3IgbWVzc2FnZToKLQotODA2Mi41MTExMTA3Mjk6NDkwMmM0ODA6IGVycm9yOiBtZXNzYWdlIHJlY2VpdmVkIGlzIGxhcmdlciB0aGFuIG1heCBtc2cgc2l6ZSwgd2Ugc3BsaXQgaXQKLTgwNjIuNTExMTUyMjY1OjQ5MDJjNDgwOiBkaXNjYXJkaW5nIHplcm8tc2l6ZWQgbWVzc2FnZQotCi1VcGRhdGUgY29uZmlndXJlIHRvIGZpeCBpdC4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgotCi0tLS0KLSB0ZXN0cy90ZXN0c3VpdGVzL2NvbXBsZXgxLmNvbmYgICAgICAgICAgICAgfCAyICstCi0gdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2UuY29uZiAgICAgICAgIHwgMiArLQotIHRlc3RzL3Rlc3RzdWl0ZXMvZ3ppcHdyX2xhcmdlX2R5bmZpbGUuY29uZiB8IDIgKy0KLSB0ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9jb25uZHJvcC5jb25mICAgICAgfCAyICstCi0gdGVzdHMvdGVzdHN1aXRlcy9pbXB0Y3BfbGFyZ2UuY29uZiAgICAgICAgIHwgMiArLQotIHRlc3RzL3Rlc3RzdWl0ZXMvaW10Y3BfY29ubmRyb3AuY29uZiAgICAgICB8IDIgKy0KLSB0ZXN0cy90ZXN0c3VpdGVzL3dyX2xhcmdlLmNvbmYgICAgICAgICAgICAgfCAyICstCi0gNyBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0cy90ZXN0c3VpdGVzL2NvbXBsZXgxLmNvbmYgYi90ZXN0cy90ZXN0c3VpdGVzL2NvbXBsZXgxLmNvbmYKLWluZGV4IDliNmE5ZjMuLmUwMGNhYTQgMTAwNjQ0Ci0tLS0gYS90ZXN0cy90ZXN0c3VpdGVzL2NvbXBsZXgxLmNvbmYKLSsrKyBiL3Rlc3RzL3Rlc3RzdWl0ZXMvY29tcGxleDEuY29uZgotQEAgLTEsNyArMSw3IEBACi0gIyBjb21wbGV4IHRlc3QgY2FzZSB3aXRoIG11bHRpcGxlIGFjdGlvbnMgaW4gZ3ppcCBtb2RlCi0gIyByZ2VyaGFyZHMsIDIwMDktMDUtMjIKLS0kTWF4TWVzc2FnZVNpemUgMTBrCi0gJEluY2x1ZGVDb25maWcgZGlhZy1jb21tb24uY29uZgotKyRNYXhNZXNzYWdlU2l6ZSAxMGsKLSAKLSAkTWFpbk1zZ1F1ZXVlVGltZW91dEVucXVldWUgNTAwMAotIAotZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RzdWl0ZXMvZ3ppcHdyX2xhcmdlLmNvbmYgYi90ZXN0cy90ZXN0c3VpdGVzL2d6aXB3cl9sYXJnZS5jb25mCi1pbmRleCA1NGFkM2JiLi5lODI0N2E5IDEwMDY0NAotLS0tIGEvdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2UuY29uZgotKysrIGIvdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2UuY29uZgotQEAgLTEsNyArMSw3IEBACi0gIyBzaW1wbGUgYXN5bmMgd3JpdGluZyB0ZXN0Ci0gIyByZ2VyaGFyZHMsIDIwMTAtMDMtMDkKLS0kTWF4TWVzc2FnZVNpemUgMTBrCi0gJEluY2x1ZGVDb25maWcgZGlhZy1jb21tb24uY29uZgotKyRNYXhNZXNzYWdlU2l6ZSAxMGsKLSAKLSAkTW9kTG9hZCAuLi9wbHVnaW5zL2ltdGNwLy5saWJzL2ltdGNwCi0gJE1haW5Nc2dRdWV1ZVRpbWVvdXRTaHV0ZG93biAxMDAwMAotZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RzdWl0ZXMvZ3ppcHdyX2xhcmdlX2R5bmZpbGUuY29uZiBiL3Rlc3RzL3Rlc3RzdWl0ZXMvZ3ppcHdyX2xhcmdlX2R5bmZpbGUuY29uZgotaW5kZXggM2ExYjI1NS4uMjk3Y2I3MCAxMDA2NDQKLS0tLSBhL3Rlc3RzL3Rlc3RzdWl0ZXMvZ3ppcHdyX2xhcmdlX2R5bmZpbGUuY29uZgotKysrIGIvdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2VfZHluZmlsZS5jb25mCi1AQCAtMSw3ICsxLDcgQEAKLSAjIHNpbXBsZSBhc3luYyB3cml0aW5nIHRlc3QKLSAjIHJnZXJoYXJkcywgMjAxMC0wMy0wOQotLSRNYXhNZXNzYWdlU2l6ZSAxMGsKLSAkSW5jbHVkZUNvbmZpZyBkaWFnLWNvbW1vbi5jb25mCi0rJE1heE1lc3NhZ2VTaXplIDEwawotIAotICRNb2RMb2FkIC4uL3BsdWdpbnMvaW10Y3AvLmxpYnMvaW10Y3AKLSAkTWFpbk1zZ1F1ZXVlVGltZW91dFNodXRkb3duIDEwMDAwCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdHN1aXRlcy9pbXB0Y3BfY29ubmRyb3AuY29uZiBiL3Rlc3RzL3Rlc3RzdWl0ZXMvaW1wdGNwX2Nvbm5kcm9wLmNvbmYKLWluZGV4IDc3YTVkNzkuLmQ5YTE0YTggMTAwNjQ0Ci0tLS0gYS90ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9jb25uZHJvcC5jb25mCi0rKysgYi90ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9jb25uZHJvcC5jb25mCi1AQCAtMSw3ICsxLDcgQEAKLSAjIHNpbXBsZSBhc3luYyB3cml0aW5nIHRlc3QKLSAjIHJnZXJoYXJkcywgMjAxMC0wMy0wOQotLSRNYXhNZXNzYWdlU2l6ZSAxMGsKLSAkSW5jbHVkZUNvbmZpZyBkaWFnLWNvbW1vbi5jb25mCi0rJE1heE1lc3NhZ2VTaXplIDEwawotIAotICRNb2RMb2FkIC4uL3BsdWdpbnMvaW1wdGNwLy5saWJzL2ltcHRjcAotICRNYWluTXNnUXVldWVUaW1lb3V0U2h1dGRvd24gMTAwMDAKLWRpZmYgLS1naXQgYS90ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9sYXJnZS5jb25mIGIvdGVzdHMvdGVzdHN1aXRlcy9pbXB0Y3BfbGFyZ2UuY29uZgotaW5kZXggNzdhNWQ3OS4uZDlhMTRhOCAxMDA2NDQKLS0tLSBhL3Rlc3RzL3Rlc3RzdWl0ZXMvaW1wdGNwX2xhcmdlLmNvbmYKLSsrKyBiL3Rlc3RzL3Rlc3RzdWl0ZXMvaW1wdGNwX2xhcmdlLmNvbmYKLUBAIC0xLDcgKzEsNyBAQAotICMgc2ltcGxlIGFzeW5jIHdyaXRpbmcgdGVzdAotICMgcmdlcmhhcmRzLCAyMDEwLTAzLTA5Ci0tJE1heE1lc3NhZ2VTaXplIDEwawotICRJbmNsdWRlQ29uZmlnIGRpYWctY29tbW9uLmNvbmYKLSskTWF4TWVzc2FnZVNpemUgMTBrCi0gCi0gJE1vZExvYWQgLi4vcGx1Z2lucy9pbXB0Y3AvLmxpYnMvaW1wdGNwCi0gJE1haW5Nc2dRdWV1ZVRpbWVvdXRTaHV0ZG93biAxMDAwMAotZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RzdWl0ZXMvaW10Y3BfY29ubmRyb3AuY29uZiBiL3Rlc3RzL3Rlc3RzdWl0ZXMvaW10Y3BfY29ubmRyb3AuY29uZgotaW5kZXggZGU0MWJjNC4uNzg0NGRjNyAxMDA2NDQKLS0tLSBhL3Rlc3RzL3Rlc3RzdWl0ZXMvaW10Y3BfY29ubmRyb3AuY29uZgotKysrIGIvdGVzdHMvdGVzdHN1aXRlcy9pbXRjcF9jb25uZHJvcC5jb25mCi1AQCAtMSw3ICsxLDcgQEAKLSAjIHNpbXBsZSBhc3luYyB3cml0aW5nIHRlc3QKLSAjIHJnZXJoYXJkcywgMjAxMC0wMy0wOQotLSRNYXhNZXNzYWdlU2l6ZSAxMGsKLSAkSW5jbHVkZUNvbmZpZyBkaWFnLWNvbW1vbi5jb25mCi0rJE1heE1lc3NhZ2VTaXplIDEwawotIAotICRNb2RMb2FkIC4uL3BsdWdpbnMvaW10Y3AvLmxpYnMvaW10Y3AKLSAkTWFpbk1zZ1F1ZXVlVGltZW91dFNodXRkb3duIDEwMDAwCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdHN1aXRlcy93cl9sYXJnZS5jb25mIGIvdGVzdHMvdGVzdHN1aXRlcy93cl9sYXJnZS5jb25mCi1pbmRleCBiNjRmMTMyLi5iMGFlMjY0IDEwMDY0NAotLS0tIGEvdGVzdHMvdGVzdHN1aXRlcy93cl9sYXJnZS5jb25mCi0rKysgYi90ZXN0cy90ZXN0c3VpdGVzL3dyX2xhcmdlLmNvbmYKLUBAIC0xLDcgKzEsNyBAQAotICMgc2ltcGxlIGFzeW5jIHdyaXRpbmcgdGVzdAotICMgcmdlcmhhcmRzLCAyMDEwLTAzLTA5Ci0tJE1heE1lc3NhZ2VTaXplIDEwawotICRJbmNsdWRlQ29uZmlnIGRpYWctY29tbW9uLmNvbmYKLSskTWF4TWVzc2FnZVNpemUgMTBrCi0gCi0gJE1vZExvYWQgLi4vcGx1Z2lucy9pbXRjcC8ubGlicy9pbXRjcAotICRNYWluTXNnUXVldWVUaW1lb3V0U2h1dGRvd24gMTAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2dfOC4xOTAzLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nXzguMTkwMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNjE0MWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nXzguMTkwMy4wLmJiCkBAIC0wLDAgKzEsMTY5IEBACitTVU1NQVJZID0gIlJzeXNsb2cgaXMgYW4gZW5oYW5jZWQgbXVsdGktdGhyZWFkZWQgc3lzbG9nZCIKK0RFU0NSSVBUSU9OID0gIlwKK1JzeXNsb2cgaXMgYW4gZW5oYW5jZWQgc3lzbG9nZCBzdXBwb3J0aW5nLCBhbW9uZyBvdGhlcnMsIE15U1FMLFwKKyBQb3N0Z3JlU1FMLCBmYWlsb3ZlciBsb2cgZGVzdGluYXRpb25zLCBzeXNsb2cvdGNwLCBmaW5lIGdyYWluXAorIG91dHB1dCBmb3JtYXQgY29udHJvbCwgaGlnaCBwcmVjaXNpb24gdGltZXN0YW1wcywgcXVldWVkIG9wZXJhdGlvbnNcCisgYW5kIHRoZSBhYmlsaXR5IHRvIGZpbHRlciBvbiBhbnkgbWVzc2FnZSBwYXJ0LiBJdCBpcyBxdWl0ZVwKKyBjb21wYXRpYmxlIHRvIHN0b2NrIHN5c2tsb2dkIGFuZCBjYW4gYmUgdXNlZCBhcyBhIGRyb3AtaW4gcmVwbGFjZW1lbnQuXAorIEl0cyBhZHZhbmNlZCBmZWF0dXJlcyBtYWtlIGl0IHN1aXRhYmxlIGZvciBlbnRlcnByaXNlLWNsYXNzLFwKKyBlbmNyeXB0aW9uIHByb3RlY3RlZCBzeXNsb2cgcmVsYXkgY2hhaW5zIHdoaWxlIGF0IHRoZSBzYW1lIHRpbWUgYmVpbmdcCisgdmVyeSBlYXN5IHRvIHNldHVwIGZvciB0aGUgbm92aWNlIHVzZXIuIgorCitERVBFTkRTID0gInpsaWIgbGliZXN0ciBsaWJmYXN0anNvbiBiaXNvbi1uYXRpdmUgZmxleC1uYXRpdmUgbGlibG9nZ2luZyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucnN5c2xvZy5jb20vIgorTElDRU5TRSA9ICJHUEx2MyAmIExHUEx2MyAmIEFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01MWQ5NjM1ZTY0NmZiNzVlMWI3NGMwNzRmNzg4ZTk3MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxFU1NFUjttZDU9Y2I3OTAzZjFlNWMzOWFlODM4MjA5ZTEzMGRjYTI3MGEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5BU0wyMDttZDU9MDUyZjhhMDkyMDY2MTVhYjA3MzI2ZmY4Y2UyZDlkMzJcCisiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5yc3lzbG9nLmNvbS9kb3dubG9hZC9maWxlcy9kb3dubG9hZC9yc3lzbG9nLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vaW5pdHNjcmlwdCBcCisgICAgICAgICAgIGZpbGU6Ly9yc3lzbG9nLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vcnN5c2xvZy5sb2dyb3RhdGUgXAorICAgICAgICAgICBmaWxlOi8vdXNlLXBrZ2NvbmZpZy10by1jaGVjay1saWJnY3J5cHQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyIKKworU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBcCisgICAgZmlsZTovLzAwMDEtSW5jbHVkZS1zeXMtdGltZS1oLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImYwZDQ1NGM3OWQ0MDQwZTNmMjVmY2QxMmY4ZjMzZmUyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQwZDIzYTQ5M2RjZWM2NGM3YjY4MDdhMWJiOGVlODY0ZWQwZjM3NjBjMmZmMzA4ODAwOGJiNjYxZDMwNDA1NmYiCisKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yc3lzbG9nL3JzeXNsb2cvcmVsZWFzZXMiCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICIoP1A8cHZlcj5cZCsoXC5cZCspKykiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBzeXN0ZW1kIHVwZGF0ZS1yYy5kIHB0ZXN0CisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWdlbmVyYXRlLW1hbi1wYWdlcyBhcF9jdl9hdG9taWNfYnVpbHRpbnM9eWVzIgorCisjIGZpcnN0IGxpbmUgaXMgZGVmYXVsdCB5ZXMgaW4gY29uZmlndXJlCitQQUNLQUdFQ09ORklHID8/PSAiIFwKKyAgICByc3lzbG9nZCByc3lzbG9ncnQga2xvZyBpbmV0IHJlZ2V4cCB1dWlkIGxpYmdjcnlwdCBcCisgICAgZm1odHRwIGltZGlhZyBnbnV0bHMgaW1maWxlIFwKKyAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzbm1wIHN5c3RlbWQnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncHRlc3QnLCAndGVzdGJlbmNoIHJlbHAgJHtWQUxHUklORH0nLCAnJywgZCl9IFwKKyIKKworIyBkZWZhdWx0IHllcyBpbiBjb25maWd1cmUKK1BBQ0tBR0VDT05GSUdbcmVscF0gPSAiLS1lbmFibGUtcmVscCwtLWRpc2FibGUtcmVscCxsaWJyZWxwLCIKK1BBQ0tBR0VDT05GSUdbcnN5c2xvZ2RdID0gIi0tZW5hYmxlLXJzeXNsb2dkLC0tZGlzYWJsZS1yc3lzbG9nZCwsIgorUEFDS0FHRUNPTkZJR1tyc3lzbG9ncnRdID0gIi0tZW5hYmxlLXJzeXNsb2dydCwtLWRpc2FibGUtcnN5c2xvZ3J0LCwiCitQQUNLQUdFQ09ORklHW2ZtaHR0cF0gPSAiLS1lbmFibGUtZm1odHRwLC0tZGlzYWJsZS1mbWh0dHAsY3VybCwiCitQQUNLQUdFQ09ORklHW2luZXRdID0gIi0tZW5hYmxlLWluZXQsLS1kaXNhYmxlLWluZXQsLCIKK1BBQ0tBR0VDT05GSUdba2xvZ10gPSAiLS1lbmFibGUta2xvZywtLWRpc2FibGUta2xvZywsIgorUEFDS0FHRUNPTkZJR1tyZWdleHBdID0gIi0tZW5hYmxlLXJlZ2V4cCwtLWRpc2FibGUtcmVnZXhwLCwiCitQQUNLQUdFQ09ORklHW3V1aWRdID0gIi0tZW5hYmxlLXV1aWQsLS1kaXNhYmxlLXV1aWQsdXRpbC1saW51eCwiCitQQUNLQUdFQ09ORklHW2xpYmdjcnlwdF0gPSAiLS1lbmFibGUtbGliZ2NyeXB0LC0tZGlzYWJsZS1saWJnY3J5cHQsbGliZ2NyeXB0LCIKK1BBQ0tBR0VDT05GSUdbdGVzdGJlbmNoXSA9ICItLWVuYWJsZS10ZXN0YmVuY2ggLS1lbmFibGUtb21zdGRvdXQsLS1kaXNhYmxlLXRlc3RiZW5jaCAtLWRpc2FibGUtb21zdGRvdXQsLCIKKworIyBkZWZhdWx0IG5vIGluIGNvbmZpZ3VyZQorUEFDS0FHRUNPTkZJR1tkZWJ1Z10gPSAiLS1lbmFibGUtZGVidWcsLS1kaXNhYmxlLWRlYnVnLCwiCitQQUNLQUdFQ09ORklHW2ltZGlhZ10gPSAiLS1lbmFibGUtaW1kaWFnLC0tZGlzYWJsZS1pbWRpYWcsLCIKK1BBQ0tBR0VDT05GSUdbaW1maWxlXSA9ICItLWVuYWJsZS1pbWZpbGUsLS1kaXNhYmxlLWltZmlsZSwsIgorUEFDS0FHRUNPTkZJR1tzbm1wXSA9ICItLWVuYWJsZS1zbm1wLC0tZGlzYWJsZS1zbm1wLG5ldC1zbm1wLCIKK1BBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItLWVuYWJsZS1nbnV0bHMsLS1kaXNhYmxlLWdudXRscyxnbnV0bHMsIgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8sLS13aXRob3V0LXN5c3RlbWRzeXN0ZW11bml0ZGlyLHN5c3RlbWQsIgorUEFDS0FHRUNPTkZJR1tpbWpvdXJuYWxdID0gIi0tZW5hYmxlLWltam91cm5hbCwtLWRpc2FibGUtaW1qb3VybmFsLCIKK1BBQ0tBR0VDT05GSUdbbXlzcWxdID0gIi0tZW5hYmxlLW15c3FsLC0tZGlzYWJsZS1teXNxbCxteXNxbDUsIgorUEFDS0FHRUNPTkZJR1twb3N0Z3Jlc3FsXSA9ICItLWVuYWJsZS1wZ3NxbCwtLWRpc2FibGUtcGdzcWwscG9zdGdyZXNxbCwiCitQQUNLQUdFQ09ORklHW2xpYmRiaV0gPSAiLS1lbmFibGUtbGliZGJpLC0tZGlzYWJsZS1saWJkYmksbGliZGJpLCIKK1BBQ0tBR0VDT05GSUdbbWFpbF0gPSAiLS1lbmFibGUtbWFpbCwtLWRpc2FibGUtbWFpbCwsIgorUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLS1lbmFibGUtdmFsZ3JpbmQsLS1kaXNhYmxlLXZhbGdyaW5kLHZhbGdyaW5kLCIKKworVEVTVERJUiA9ICJ0ZXN0cyIKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisgICAgZWNobyAnYnVpbGR0ZXN0LVRFU1RTOiAkKGNoZWNrX1BST0dSQU1TKScgPj4gJHtURVNURElSfS9NYWtlZmlsZQorICAgIG9lX3J1bm1ha2UgLUMgJHtURVNURElSfSBidWlsZHRlc3QtVEVTVFMKK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKyAgICAjIGluc3RhbGwgdGhlIHRlc3RzCisgICAgY3AgLXJmICR7U30vJHtURVNURElSfSAke0R9JHtQVEVTVF9QQVRIfQorICAgIGNwIC1yZiAke0J9LyR7VEVTVERJUn0gJHtEfSR7UFRFU1RfUEFUSH0KKworICAgICMgZG8gTk9UIG5lZWQgdG8gcmVidWlsZCBNYWtlZmlsZSBpdHNlbGYKKyAgICBzZWQgLWkgJ3MvXk1ha2VmaWxlOi4qJC9NYWtlZmlsZTovJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCisgICAgIyBkbyBOT1QgbmVlZCB0byByZWJ1aWxkICQoY2hlY2tfUFJPR1JBTVMpCisgICAgc2VkIC1pICdzL15jaGVjay1URVNUUzouKiQvY2hlY2stVEVTVFM6LycgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQorCisgICAgIyBmaXggdGhlIHNyY2RpciwgdG9wX3NyY2RpcgorICAgIHNlZCAtaSAncyxeXChzcmNkaXIgPSBcKS4qLFwxJHtQVEVTVF9QQVRIfS90ZXN0cywnICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKKyAgICBzZWQgLWkgJ3MsXlwodG9wX3NyY2RpciA9IFwpLiosXDEke1BURVNUX1BBVEh9L3Rlc3RzLCcgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQorICAgICMgZml4IHRoZSBhYnNfdG9wX2J1aWxkZGlyCisgICAgc2VkIC1pICdzLF5cKGFic190b3BfYnVpbGRkaXIgPSBcKS4qLFwxJHtQVEVTVF9QQVRIfS8sJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCisKKyAgICAjIHZhbGdyaW5kIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggYXJtIGFuZCBtaXBzLAorICAgICMgc28gcmVtb3ZlIHJlbGF0ZWQgdGVzdCBjYXNlcyBpZiB0aGVyZSBpcyBubyB2YWxncmluZC4KKyAgICBpZiBbIHgke1ZBTEdSSU5EfSA9IHggXTsgdGhlbgorICAgICAgICBzZWQgLWkgJy91ZHAtbXNncmVkdWMtL2QnICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKKyAgICBmaQorCisgICAgIyBpbnN0YWxsIHRlc3QtZHJpdmVyCisgICAgaW5zdGFsbCAtbSA2NDQgJHtTfS90ZXN0LWRyaXZlciAke0R9JHtQVEVTVF9QQVRIfQorCisgICAgIyBpbnN0YWxsIG5lY2Vzc2FyeSBsaW5rcworICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vdG9vbHMKKyAgICBsbiAtc2YgJHtzYmluZGlyfS9yc3lzbG9nZCAke0R9JHtQVEVTVF9QQVRIfS90b29scy9yc3lzbG9nZAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS9ydW50aW1lCisgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS9ydW50aW1lLy5saWJzCisgICAgKAorICAgICAgICBjZCAke0R9LyR7bGliZGlyfS9yc3lzbG9nCisgICAgICAgIGFsbHNvPSIqLnNvIgorICAgICAgICBmb3IgaSBpbiAkYWxsc287IGRvCisgICAgICAgICAgICBsbiAtc2YgJHtsaWJkaXJ9L3JzeXNsb2cvJGkgJHtEfSR7UFRFU1RfUEFUSH0vcnVudGltZS8ubGlicy8kaQorICAgICAgICBkb25lCisgICAgKQorCisgICAgIyBmaXggdGhlIG1vZHVsZSBsb2FkIHBhdGggd2l0aCBydW50aW1lLy5saWJzCisgICAgZmluZCAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9IC1uYW1lICIqLmNvbmYiIC1vIC1uYW1lICIqLnNoIiAtbyAtbmFtZSAiKi5jIiB8IHhhcmdzIFwKKyAgICAgICAgc2VkIC1pIC1lICdzOi4uL3BsdWdpbnMvLiovLmxpYnMvOi4uL3J1bnRpbWUvLmxpYnMvOmcnCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZCIKKyAgICBpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZCIKKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L2luaXRzY3JpcHQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3N5c2xvZworICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vcnN5c2xvZy5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3JzeXNsb2cuY29uZgorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vcnN5c2xvZy5sb2dyb3RhdGUgJHtEfSR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmQvbG9ncm90YXRlLnJzeXNsb2cKKyAgICBzZWQgLWkgLWUgInMjQEJJTkRJUkAjJHtiaW5kaXJ9I2ciICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kL2xvZ3JvdGF0ZS5yc3lzbG9nCisKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdpbWpvdXJuYWwnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kIDA3NTUgJHtEfSR7c3lzY29uZmRpcn0vcnN5c2xvZy5kCisgICAgICAgIGVjaG8gJyRNb2RMb2FkIGltam91cm5hbCcgPj4gJHtEfSR7c3lzY29uZmRpcn0vcnN5c2xvZy5kL2ltam91cm5hbC5jb25mCisgICAgZmkKK30KKworRklMRVNfJHtQTn0gKz0gIiR7YmluZGlyfSIKKworSU5JVFNDUklQVF9OQU1FID0gInN5c2xvZyIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgorCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9yc3lzbG9nLmNvbmYiCisKK1JDT05GTElDVFNfJHtQTn0gPSAiYnVzeWJveC1zeXNsb2cgc3lza2xvZ2Qgc3lzbG9nLW5nIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QlBOfS5zZXJ2aWNlIgorCitSREVQRU5EU18ke1BOfSArPSAibG9ncm90YXRlIgorCisjIGZvciByc3lzbG9nLXB0ZXN0CitWQUxHUklORCA9ICJ2YWxncmluZCIKK1ZBTEdSSU5EX21pcHMgPSAiIgorVkFMR1JJTkRfbWlwczY0ID0gIiIKK1ZBTEdSSU5EX21pcHM2NG4zMiA9ICIiCitWQUxHUklORF9hcm0gPSAiIgorVkFMR1JJTkRfYWFyY2g2NCA9ICIiCitWQUxHUklORF9yaXNjdjY0ID0gIiIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJcCisgIG1ha2UgZGlmZnV0aWxzIGd6aXAgYmFzaCBnYXdrIGNvcmV1dGlscyBwcm9jcHMgXAorICBsaWJnY2MgcHl0aG9uLWNvcmUgcHl0aG9uLWlvIFwKKyAgIgorUlJFQ09NTUVORFNfJHtQTn0tcHRlc3QgKz0gIiR7VENMSUJDfS1kYmcgJHtWQUxHUklORH0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nXzguMzcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2dfOC4zNy4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZmI0MzkwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2dfOC4zNy4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTY2ICswLDAgQEAKLVNVTU1BUlkgPSAiUnN5c2xvZyBpcyBhbiBlbmhhbmNlZCBtdWx0aS10aHJlYWRlZCBzeXNsb2dkIgotREVTQ1JJUFRJT04gPSAiXAotUnN5c2xvZyBpcyBhbiBlbmhhbmNlZCBzeXNsb2dkIHN1cHBvcnRpbmcsIGFtb25nIG90aGVycywgTXlTUUwsXAotIFBvc3RncmVTUUwsIGZhaWxvdmVyIGxvZyBkZXN0aW5hdGlvbnMsIHN5c2xvZy90Y3AsIGZpbmUgZ3JhaW5cCi0gb3V0cHV0IGZvcm1hdCBjb250cm9sLCBoaWdoIHByZWNpc2lvbiB0aW1lc3RhbXBzLCBxdWV1ZWQgb3BlcmF0aW9uc1wKLSBhbmQgdGhlIGFiaWxpdHkgdG8gZmlsdGVyIG9uIGFueSBtZXNzYWdlIHBhcnQuIEl0IGlzIHF1aXRlXAotIGNvbXBhdGlibGUgdG8gc3RvY2sgc3lza2xvZ2QgYW5kIGNhbiBiZSB1c2VkIGFzIGEgZHJvcC1pbiByZXBsYWNlbWVudC5cCi0gSXRzIGFkdmFuY2VkIGZlYXR1cmVzIG1ha2UgaXQgc3VpdGFibGUgZm9yIGVudGVycHJpc2UtY2xhc3MsXAotIGVuY3J5cHRpb24gcHJvdGVjdGVkIHN5c2xvZyByZWxheSBjaGFpbnMgd2hpbGUgYXQgdGhlIHNhbWUgdGltZSBiZWluZ1wKLSB2ZXJ5IGVhc3kgdG8gc2V0dXAgZm9yIHRoZSBub3ZpY2UgdXNlci4iCi0KLURFUEVORFMgPSAiemxpYiBsaWJlc3RyIGxpYmZhc3Rqc29uIGJpc29uLW5hdGl2ZSBmbGV4LW5hdGl2ZSBsaWJsb2dnaW5nIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5yc3lzbG9nLmNvbS8iCi1MSUNFTlNFID0gIkdQTHYzICYgTEdQTHYzICYgQXBhY2hlLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTUxZDk2MzVlNjQ2ZmI3NWUxYjc0YzA3NGY3ODhlOTczIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT1jYjc5MDNmMWU1YzM5YWU4MzgyMDllMTMwZGNhMjcwYSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkFTTDIwO21kNT0wNTJmOGEwOTIwNjYxNWFiMDczMjZmZjhjZTJkOWQzMlwKLSIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LnJzeXNsb2cuY29tL2Rvd25sb2FkL2ZpbGVzL2Rvd25sb2FkL3JzeXNsb2cvJHtCUE59LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9pbml0c2NyaXB0IFwKLSAgICAgICAgICAgZmlsZTovL3JzeXNsb2cuY29uZiBcCi0gICAgICAgICAgIGZpbGU6Ly9yc3lzbG9nLmxvZ3JvdGF0ZSBcCi0gICAgICAgICAgIGZpbGU6Ly91c2UtcGtnY29uZmlnLXRvLWNoZWNrLWxpYmdjcnlwdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICBmaWxlOi8vcnN5c2xvZy1maXgtcHRlc3Qtbm90LWZpbmlzaC5wYXRjaCBcCi0iCi0KLVNSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9ICIgXAotICAgIGZpbGU6Ly8wMDAxLUluY2x1ZGUtc3lzLXRpbWUtaC5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJlMDk0MmI0Yjg4YTEzNjAyYTZiNjM1MmJmOWYwNTA5MSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyOTVjMjg5YjRjOGFiZDhmOGYzZmUzNWE4MzI0OWI3MzljZWRhYmU4MjcyMTcwMmI5MTAyNTVmOWZhZjE0N2U3IgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JzeXNsb2cvcnN5c2xvZy9yZWxlYXNlcyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIig/UDxwdmVyPlxkKyhcLlxkKykrKSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQgdXBkYXRlLXJjLmQgcHRlc3QKLQotRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtZ2VuZXJhdGUtbWFuLXBhZ2VzIGFwX2N2X2F0b21pY19idWlsdGlucz15ZXMiCi0KLSMgZmlyc3QgbGluZSBpcyBkZWZhdWx0IHllcyBpbiBjb25maWd1cmUKLVBBQ0tBR0VDT05GSUcgPz89ICIgXAotICAgIHJzeXNsb2dkIHJzeXNsb2dydCBrbG9nIGluZXQgcmVnZXhwIHV1aWQgbGliZ2NyeXB0IFwKLSAgICBmbWh0dHAgaW1kaWFnIGdudXRscyBpbWZpbGUgXAotICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3NubXAgc3lzdGVtZCcsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsICd0ZXN0YmVuY2ggcmVscCAke1ZBTEdSSU5EfScsICcnLCBkKX0gXAotIgotCi0jIGRlZmF1bHQgeWVzIGluIGNvbmZpZ3VyZQotUEFDS0FHRUNPTkZJR1tyZWxwXSA9ICItLWVuYWJsZS1yZWxwLC0tZGlzYWJsZS1yZWxwLGxpYnJlbHAsIgotUEFDS0FHRUNPTkZJR1tyc3lzbG9nZF0gPSAiLS1lbmFibGUtcnN5c2xvZ2QsLS1kaXNhYmxlLXJzeXNsb2dkLCwiCi1QQUNLQUdFQ09ORklHW3JzeXNsb2dydF0gPSAiLS1lbmFibGUtcnN5c2xvZ3J0LC0tZGlzYWJsZS1yc3lzbG9ncnQsLCIKLVBBQ0tBR0VDT05GSUdbZm1odHRwXSA9ICItLWVuYWJsZS1mbWh0dHAsLS1kaXNhYmxlLWZtaHR0cCxjdXJsLCIKLVBBQ0tBR0VDT05GSUdbaW5ldF0gPSAiLS1lbmFibGUtaW5ldCwtLWRpc2FibGUtaW5ldCwsIgotUEFDS0FHRUNPTkZJR1trbG9nXSA9ICItLWVuYWJsZS1rbG9nLC0tZGlzYWJsZS1rbG9nLCwiCi1QQUNLQUdFQ09ORklHW3JlZ2V4cF0gPSAiLS1lbmFibGUtcmVnZXhwLC0tZGlzYWJsZS1yZWdleHAsLCIKLVBBQ0tBR0VDT05GSUdbdXVpZF0gPSAiLS1lbmFibGUtdXVpZCwtLWRpc2FibGUtdXVpZCx1dGlsLWxpbnV4LCIKLVBBQ0tBR0VDT05GSUdbbGliZ2NyeXB0XSA9ICItLWVuYWJsZS1saWJnY3J5cHQsLS1kaXNhYmxlLWxpYmdjcnlwdCxsaWJnY3J5cHQsIgotUEFDS0FHRUNPTkZJR1t0ZXN0YmVuY2hdID0gIi0tZW5hYmxlLXRlc3RiZW5jaCAtLWVuYWJsZS1vbXN0ZG91dCwtLWRpc2FibGUtdGVzdGJlbmNoIC0tZGlzYWJsZS1vbXN0ZG91dCwsIgotCi0jIGRlZmF1bHQgbm8gaW4gY29uZmlndXJlCi1QQUNLQUdFQ09ORklHW2RlYnVnXSA9ICItLWVuYWJsZS1kZWJ1ZywtLWRpc2FibGUtZGVidWcsLCIKLVBBQ0tBR0VDT05GSUdbaW1kaWFnXSA9ICItLWVuYWJsZS1pbWRpYWcsLS1kaXNhYmxlLWltZGlhZywsIgotUEFDS0FHRUNPTkZJR1tpbWZpbGVdID0gIi0tZW5hYmxlLWltZmlsZSwtLWRpc2FibGUtaW1maWxlLCwiCi1QQUNLQUdFQ09ORklHW3NubXBdID0gIi0tZW5hYmxlLXNubXAsLS1kaXNhYmxlLXNubXAsbmV0LXNubXAsIgotUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0tZW5hYmxlLWdudXRscywtLWRpc2FibGUtZ251dGxzLGdudXRscywiCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsc3lzdGVtZCwiCi1QQUNLQUdFQ09ORklHW2ltam91cm5hbF0gPSAiLS1lbmFibGUtaW1qb3VybmFsLC0tZGlzYWJsZS1pbWpvdXJuYWwsIgotUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS1lbmFibGUtbXlzcWwsLS1kaXNhYmxlLW15c3FsLG15c3FsNSwiCi1QQUNLQUdFQ09ORklHW3Bvc3RncmVzcWxdID0gIi0tZW5hYmxlLXBnc3FsLC0tZGlzYWJsZS1wZ3NxbCxwb3N0Z3Jlc3FsLCIKLVBBQ0tBR0VDT05GSUdbbGliZGJpXSA9ICItLWVuYWJsZS1saWJkYmksLS1kaXNhYmxlLWxpYmRiaSxsaWJkYmksIgotUEFDS0FHRUNPTkZJR1ttYWlsXSA9ICItLWVuYWJsZS1tYWlsLC0tZGlzYWJsZS1tYWlsLCwiCi1QQUNLQUdFQ09ORklHW3ZhbGdyaW5kXSA9ICItLWVuYWJsZS12YWxncmluZCwtLWRpc2FibGUtdmFsZ3JpbmQsdmFsZ3JpbmQsIgotCi1URVNURElSID0gInRlc3RzIgotZG9fY29tcGlsZV9wdGVzdCgpIHsKLSAgICBlY2hvICdidWlsZHRlc3QtVEVTVFM6ICQoY2hlY2tfUFJPR1JBTVMpJyA+PiAke1RFU1RESVJ9L01ha2VmaWxlCi0gICAgb2VfcnVubWFrZSAtQyAke1RFU1RESVJ9IGJ1aWxkdGVzdC1URVNUUwotfQotCi1kb19pbnN0YWxsX3B0ZXN0KCkgewotICAgICMgaW5zdGFsbCB0aGUgdGVzdHMKLSAgICBjcCAtcmYgJHtTfS8ke1RFU1RESVJ9ICR7RH0ke1BURVNUX1BBVEh9Ci0gICAgY3AgLXJmICR7Qn0vJHtURVNURElSfSAke0R9JHtQVEVTVF9QQVRIfQotCi0gICAgIyBkbyBOT1QgbmVlZCB0byByZWJ1aWxkIE1ha2VmaWxlIGl0c2VsZgotICAgIHNlZCAtaSAncy9eTWFrZWZpbGU6LiokL01ha2VmaWxlOi8nICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKLSAgICAjIGRvIE5PVCBuZWVkIHRvIHJlYnVpbGQgJChjaGVja19QUk9HUkFNUykKLSAgICBzZWQgLWkgJ3MvXmNoZWNrLVRFU1RTOi4qJC9jaGVjay1URVNUUzovJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCi0KLSAgICAjIGZpeCB0aGUgc3JjZGlyLCB0b3Bfc3JjZGlyCi0gICAgc2VkIC1pICdzLF5cKHNyY2RpciA9IFwpLiosXDEke1BURVNUX1BBVEh9L3Rlc3RzLCcgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQotICAgIHNlZCAtaSAncyxeXCh0b3Bfc3JjZGlyID0gXCkuKixcMSR7UFRFU1RfUEFUSH0vdGVzdHMsJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCi0gICAgIyBmaXggdGhlIGFic190b3BfYnVpbGRkaXIKLSAgICBzZWQgLWkgJ3MsXlwoYWJzX3RvcF9idWlsZGRpciA9IFwpLiosXDEke1BURVNUX1BBVEh9LywnICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKLQotICAgICMgdmFsZ3JpbmQgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBhcm0gYW5kIG1pcHMsCi0gICAgIyBzbyByZW1vdmUgcmVsYXRlZCB0ZXN0IGNhc2VzIGlmIHRoZXJlIGlzIG5vIHZhbGdyaW5kLgotICAgIGlmIFsgeCR7VkFMR1JJTkR9ID0geCBdOyB0aGVuCi0gICAgICAgIHNlZCAtaSAnL3VkcC1tc2dyZWR1Yy0vZCcgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQotICAgIGZpCi0KLSAgICAjIGluc3RhbGwgdGVzdC1kcml2ZXIKLSAgICBpbnN0YWxsIC1tIDY0NCAke1N9L3Rlc3QtZHJpdmVyICR7RH0ke1BURVNUX1BBVEh9Ci0KLSAgICAjIGluc3RhbGwgbmVjZXNzYXJ5IGxpbmtzCi0gICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90b29scwotICAgIGxuIC1zZiAke3NiaW5kaXJ9L3JzeXNsb2dkICR7RH0ke1BURVNUX1BBVEh9L3Rvb2xzL3JzeXNsb2dkCi0KLSAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3J1bnRpbWUKLSAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3J1bnRpbWUvLmxpYnMKLSAgICAoCi0gICAgICAgIGNkICR7RH0vJHtsaWJkaXJ9L3JzeXNsb2cKLSAgICAgICAgYWxsc289Iiouc28iCi0gICAgICAgIGZvciBpIGluICRhbGxzbzsgZG8KLSAgICAgICAgICAgIGxuIC1zZiAke2xpYmRpcn0vcnN5c2xvZy8kaSAke0R9JHtQVEVTVF9QQVRIfS9ydW50aW1lLy5saWJzLyRpCi0gICAgICAgIGRvbmUKLSAgICApCi0KLSAgICAjIGZpeCB0aGUgbW9kdWxlIGxvYWQgcGF0aCB3aXRoIHJ1bnRpbWUvLmxpYnMKLSAgICBmaW5kICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0gLW5hbWUgIiouY29uZiIgLW8gLW5hbWUgIiouc2giIC1vIC1uYW1lICIqLmMiIHwgeGFyZ3MgXAotICAgICAgICBzZWQgLWkgLWUgJ3M6Li4vcGx1Z2lucy8uKi8ubGlicy86Li4vcnVudGltZS8ubGlicy86ZycKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kIgotICAgIGluc3RhbGwgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kIgotICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vaW5pdHNjcmlwdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc3lzbG9nCi0gICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9yc3lzbG9nLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vcnN5c2xvZy5jb25mCi0gICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9yc3lzbG9nLmxvZ3JvdGF0ZSAke0R9JHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC9sb2dyb3RhdGUucnN5c2xvZwotICAgIHNlZCAtaSAtZSAicyNAQklORElSQCMke2JpbmRpcn0jZyIgJHtEfSR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmQvbG9ncm90YXRlLnJzeXNsb2cKLQotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2ltam91cm5hbCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgMDc1NSAke0R9JHtzeXNjb25mZGlyfS9yc3lzbG9nLmQKLSAgICAgICAgZWNobyAnJE1vZExvYWQgaW1qb3VybmFsJyA+PiAke0R9JHtzeXNjb25mZGlyfS9yc3lzbG9nLmQvaW1qb3VybmFsLmNvbmYKLSAgICBmaQotfQotCi1GSUxFU18ke1BOfSArPSAiJHtiaW5kaXJ9IgotCi1JTklUU0NSSVBUX05BTUUgPSAic3lzbG9nIgotSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCi0KLUNPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L3JzeXNsb2cuY29uZiIKLQotUkNPTkZMSUNUU18ke1BOfSA9ICJidXN5Ym94LXN5c2xvZyBzeXNrbG9nZCBzeXNsb2ctbmciCi0KLVJQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKLVJSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKLVJDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtCUE59LnNlcnZpY2UiCi0KLVJERVBFTkRTXyR7UE59ICs9ICJsb2dyb3RhdGUiCi0KLSMgZm9yIHJzeXNsb2ctcHRlc3QKLVZBTEdSSU5EID0gInZhbGdyaW5kIgotVkFMR1JJTkRfbWlwcyA9ICIiCi1WQUxHUklORF9taXBzNjQgPSAiIgotVkFMR1JJTkRfbWlwczY0bjMyID0gIiIKLVZBTEdSSU5EX2FybSA9ICIiCi1WQUxHUklORF9hYXJjaDY0ID0gIiIKLVZBTEdSSU5EX3Jpc2N2NjQgPSAiIgotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm1ha2UgZGlmZnV0aWxzIGd6aXAgYmFzaCBnYXdrIGNvcmV1dGlscyBwcm9jcHMiCi1SUkVDT01NRU5EU18ke1BOfS1wdGVzdCArPSAiJHtUQ0xJQkN9LWRiZyAke1ZBTEdSSU5EfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zaWdyb2svbGlic2lncm9rXzAuNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NpZ3Jvay9saWJzaWdyb2tfMC41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODE1MmNhNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zaWdyb2svbGlic2lncm9rXzAuNS4xLmJiCkBAIC0wLDAgKzEsMjMgQEAKK0RFU0NSSVBUSU9OID0gImxpYnNpZ3JvayBpcyBhIHNoYXJlZCBsaWJyYXJ5IHdyaXR0ZW4gaW4gQywgd2hpY2ggcHJvdmlkZXMgdGhlIGJhc2ljIGhhcmR3YXJlIGFjY2VzcyBkcml2ZXJzIGZvciBsb2dpYyBhbmFseXplcnMgYW5kIG90aGVyIHN1cHBvcnRlZCBkZXZpY2VzLCBhcyB3ZWxsIGFzIGlucHV0L291dHB1dCBmaWxlIGZvcm1hdCBzdXBwb3J0LiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zaWdyb2sub3JnL3dpa2kvTWFpbl9QYWdlIgorCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgbGliemlwIgorCitQQUNLQUdFQ09ORklHW3NlcmlhbHBvcnRdID0gIi0td2l0aC1saWJzZXJpYWxwb3J0LC0td2l0aG91dC1saWJzZXJpYWxwb3J0LGxpYnNlcmlhbHBvcnQiCitQQUNLQUdFQ09ORklHW2Z0ZGldID0gIi0td2l0aC1saWJmdGRpLC0td2l0aG91dC1saWJmdGRpLGxpYmZ0ZGkiCitQQUNLQUdFQ09ORklHW3VzYl0gPSAiLS13aXRoLWxpYnVzYiwtLXdpdGhvdXQtbGlidXNiLGxpYnVzYiIKK1BBQ0tBR0VDT05GSUdbY3h4XSA9ICItLWVuYWJsZS1jeHgsLS1kaXNhYmxlLWN4eCxnbGlibW0gZG94eWdlbi1uYXRpdmUiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJzZXJpYWxwb3J0IGZ0ZGkgdXNiIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworU1JDX1VSSSA9ICJodHRwOi8vc2lncm9rLm9yZy9kb3dubG9hZC9zb3VyY2UvbGlic2lncm9rL2xpYnNpZ3Jvay0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhM2RlOWU1MmE2NjBlNTFkMjdhNmFjYTAyNWQyMDRhNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNDBmZGU3YWY5OGQyOWU5MjJlOWQzY2JlMGE2YzA1Njk4ODkxNTNmYzMxZTQ3YjhiMWFmZTRkODQ2MjkyYjljIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS8qIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NpZ3Jvay9saWJzaWdyb2tkZWNvZGVfMC41LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2lncm9rL2xpYnNpZ3Jva2RlY29kZV8wLjUuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOGUxZTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NpZ3Jvay9saWJzaWdyb2tkZWNvZGVfMC41LjIuYmIKQEAgLTAsMCArMSwxNCBAQAorREVTQ1JJUFRJT04gPSAibGlic2lncm9rZGVjb2RlIGlzIGEgc2hhcmVkIGxpYnJhcnkgd3JpdHRlbiBpbiBDLCB3aGljaCBwcm92aWRlcyAoc3RyZWFtaW5nKSBwcm90b2NvbCBkZWNvZGluZyBmdW5jdGlvbmFsaXR5LiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zaWdyb2sub3JnL3dpa2kvTWFpbl9QYWdlIgorCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgcHl0aG9uMyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiaHR0cDovL3NpZ3Jvay5vcmcvZG93bmxvYWQvc291cmNlL2xpYnNpZ3Jva2RlY29kZS9saWJzaWdyb2tkZWNvZGUtJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjkwMzNiYzdlNjhiYzE3ZmZmZmZkNGZkZDc5M2Y1YTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTA4ZDllNzk3YzU0ZWNjZjMxNDRkYTYzMWI2ZTVmMTQ5OGFjNTMxZTUxNTIwNDI4ZGY1MzdhMWRhODI1ODNmMCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zaWdyb2svc2lncm9rLWNsaV8wLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zaWdyb2svc2lncm9rLWNsaV8wLjcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzFiY2QyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NpZ3Jvay9zaWdyb2stY2xpXzAuNy4wLmJiCkBAIC0wLDAgKzEsMTggQEAKK0RFU0NSSVBUSU9OID0gInNpZ3Jvay1jbGkgaXMgYSBjb21tYW5kLWxpbmUgZnJvbnRlbmQgZm9yIHNpZ3Jvay4iCitIT01FUEFHRSA9ICJodHRwOi8vc2lncm9rLm9yZy93aWtpL01haW5fUGFnZSIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitERVBFTkRTID0gImxpYnNpZ3JvayIKKworUEFDS0FHRUNPTkZJR1tkZWNvZGVdID0gIi0td2l0aC1saWJzaWdyb2tkZWNvZGUsLS13aXRob3V0LWxpYnNpZ3Jva2RlY29kZSxsaWJzaWdyb2tkZWNvZGUiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJkZWNvZGUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTUkNfVVJJID0gImh0dHA6Ly9zaWdyb2sub3JnL2Rvd25sb2FkL3NvdXJjZS9zaWdyb2stY2xpL3NpZ3Jvay1jbGktJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzdjYjc0NWUyZmEyMzljN2JkMWVhODFlMmQ2N2VkZTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTY2OWQ5NjhjMmRlM2RmYzZhZGZkYTc2ZTgzNzg5YjZiYTc2MzY4NDA3YzgzMjQzOGNlZjVlNzA5OWE2NWUxYyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL2ZpbGVzLzAwMDEtb3NfbGludXguY3BwLVVzZS1yZWFscGF0aC1CU0QtUE9TSVgtaW5zdGVhZC1vZi1jYW5vbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL2ZpbGVzLzAwMDEtb3NfbGludXguY3BwLVVzZS1yZWFscGF0aC1CU0QtUE9TSVgtaW5zdGVhZC1vZi1jYW5vbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTFlNjRkMi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc21hcnRtb250b29scy9maWxlcy8wMDAxLW9zX2xpbnV4LmNwcC1Vc2UtcmVhbHBhdGgtQlNELVBPU0lYLWluc3RlYWQtb2YtY2Fub24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIGYyOGFhMTg4ZTViMGVhODUzNjlmZWJlNjU3Yjg4MDdiODAyNTAzOGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBjaHJmcmFua2UgPGF1dGhvcnNAc21hcnRtb250b29scy5vcmc+Ci1EYXRlOiBXZWQsIDggTm92IDIwMTcgMDY6MTU6NTAgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gb3NfbGludXguY3BwOiBVc2UgJ3JlYWxwYXRoKCknIChCU0QsIFBPU0lYKSBpbnN0ZWFkIG9mCi0gJ2Nhbm9uaWNhbGl6ZV9maWxlX25hbWUoKScgKEdOVSBleHRlbnNpb24pLiBUaGlzIGZpeGVzIGJ1aWxkIG9uIHN5c3RlbXMgd2l0aAotIG11c2wgbGliYyAoIzkyMSkuCi0KLWdpdC1zdm4taWQ6IGh0dHA6Ly9zdm4uY29kZS5zZi5uZXQvcC9zbWFydG1vbnRvb2xzL2NvZGUvdHJ1bmtANDYwMyA0ZWE2OWUxYS02MWYxLTQwNDMtYmY4My1iNWM5NGM2NDgxMzcKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly93d3cuc21hcnRtb250b29scy5vcmcvdGlja2V0LzkyMV0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBvc19saW51eC5jcHAgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9vc19saW51eC5jcHAgYi9vc19saW51eC5jcHAKLWluZGV4IDEzNGQ1YmMuLjkzNWY5YzcgMTAwNjQ0Ci0tLS0gYS9vc19saW51eC5jcHAKLSsrKyBiL29zX2xpbnV4LmNwcAotQEAgLTMxNzYsNyArMzE3Niw3IEBAIHN0YXRpYyBib29sIGlzX2hwc2EoY29uc3QgY2hhciAqIG5hbWUpCi0gewotICAgY2hhciBwYXRoWzEyOF07Ci0gICBzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICIvc3lzL2Jsb2NrLyVzL2RldmljZSIsIG5hbWUpOwotLSAgY2hhciAqIHN5c2hvc3RwYXRoID0gY2Fub25pY2FsaXplX2ZpbGVfbmFtZShwYXRoKTsKLSsgIGNoYXIgKiBzeXNob3N0cGF0aCA9IHJlYWxwYXRoKG5hbWUsIChjaGFyICopMCk7Ci0gICBpZiAoIXN5c2hvc3RwYXRoKQotICAgICByZXR1cm4gZmFsc2U7Ci0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc21hcnRtb250b29scy9zbWFydG1vbnRvb2xzXzYuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL3NtYXJ0bW9udG9vbHNfNi42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNzdjMTA1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL3NtYXJ0bW9udG9vbHNfNi42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotU1VNTUFSWSA9ICJDb250cm9sIGFuZCBtb25pdG9yIHN0b3JhZ2Ugc3lzdGVtcyB1c2luZyBTLk0uQS5SLlQiCi1ERVNDUklQVElPTiA9ICJcCi1UaGUgc21hcnRtb250b29scyBwYWNrYWdlIGNvbnRhaW5zIHR3byB1dGlsaXR5IHByb2dyYW1zIChzbWFydGN0bCBcCi1hbmQgc21hcnRkKSB0byBjb250cm9sIGFuZCBtb25pdG9yIHN0b3JhZ2Ugc3lzdGVtcyB1c2luZyB0aGUgU2VsZi1cCi1Nb25pdG9yaW5nLCBBbmFseXNpcyBhbmQgUmVwb3J0aW5nIFRlY2hub2xvZ3kgU3lzdGVtIChTTUFSVCkgYnVpbHQgXAotaW50byBtb3N0IG1vZGVybiBBVEEgYW5kIFNDU0kgaGFyZCBkaXNrcy4gSW4gbWFueSBjYXNlcywgdGhlc2UgXAotdXRpbGl0aWVzIHdpbGwgcHJvdmlkZSBhZHZhbmNlZCB3YXJuaW5nIG9mIGRpc2sgZGVncmFkYXRpb24gYW5kIGZhaWx1cmUuIgotCi1IT01FUEFHRSA9ICJodHRwOi8vc21hcnRtb250b29scy5zb3VyY2Vmb3JnZS5uZXQvIgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi0KLVNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29scy0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vaW5pdGQuc21hcnRkIFwKLSAgICAgICAgICAgZmlsZTovL3NtYXJ0bW9udG9vbHMuZGVmYXVsdCBcCi0gICAgICAgICAgIGZpbGU6Ly9zbWFydGQuc2VydmljZSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW9zX2xpbnV4LmNwcC1Vc2UtcmVhbHBhdGgtQlNELVBPU0lYLWluc3RlYWQtb2YtY2Fub24ucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdsaWJjYXAtbmcgc2VsaW51eCcsIGQpfSIKLVBBQ0tBR0VDT05GSUdbbGliY2FwLW5nXSA9ICItLXdpdGgtbGliY2FwLW5nPXllcywtLXdpdGgtbGliY2FwLW5nPW5vLGxpYmNhcC1uZyIKLVBBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS13aXRoLXNlbGludXg9eWVzLC0td2l0aC1zZWxpbnV4PW5vLGxpYnNlbGludXgiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5YWUyYzZlNzEzMWNkMjgxM2VkY2M2NWNiZTVmMjIzZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1MWY0M2QwZmIwNjRmY2NhZjgyM2JiZTY4Y2YwZDMxN2QwODk1ZmY4OTVhYTM1M2IzMzM5YTNiMzE2YTUzMDU0IgotCi1pbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzeXN0ZW1kCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJzbWFydGQuc2VydmljZSIKLVNZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotICAgICNpbnN0YWxsIHRoZSBpbml0LmQvc21hcnRkCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKLSAgICBpbnN0YWxsIC1wIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0ZC5zbWFydGQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3NtYXJ0ZAotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAotICAgIGluc3RhbGwgLXAgLW0gMDY0NCAke1dPUktESVJ9L3NtYXJ0bW9udG9vbHMuZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3NtYXJ0bW9udG9vbHMKLQotICAgICNpbnN0YWxsIHN5c3RlbWQgc2VydmljZSBmaWxlCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NtYXJ0ZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgc2VkIC1pIC1lICdzLEBCQVNFX0JJTkRJUkAsJHtiYXNlX2JpbmRpcn0sZycgXAotICAgICAgICAtZSAncyxAU1lTQ09ORkRJUkAsJHtzeXNjb25mZGlyfSxnJyBcCi0gICAgICAgIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKLSAgICAgICAgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc21hcnRkLnNlcnZpY2UKLX0KLQotSU5JVFNDUklQVF9OQU1FID0gInNtYXJ0ZCIKLUlOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDYwIDIgMyA0IDUgLiBzdG9wIDYwIDAgMSA2IC4iCi0KLVJERVBFTkRTXyR7UE59ICs9ICJtYWlseCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL3NtYXJ0bW9udG9vbHNfNy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29sc183LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDk4NDU2NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL3NtYXJ0bW9udG9vbHNfNy4wLmJiCkBAIC0wLDAgKzEsNTIgQEAKK1NVTU1BUlkgPSAiQ29udHJvbCBhbmQgbW9uaXRvciBzdG9yYWdlIHN5c3RlbXMgdXNpbmcgUy5NLkEuUi5UIgorREVTQ1JJUFRJT04gPSAiXAorVGhlIHNtYXJ0bW9udG9vbHMgcGFja2FnZSBjb250YWlucyB0d28gdXRpbGl0eSBwcm9ncmFtcyAoc21hcnRjdGwgXAorYW5kIHNtYXJ0ZCkgdG8gY29udHJvbCBhbmQgbW9uaXRvciBzdG9yYWdlIHN5c3RlbXMgdXNpbmcgdGhlIFNlbGYtXAorTW9uaXRvcmluZywgQW5hbHlzaXMgYW5kIFJlcG9ydGluZyBUZWNobm9sb2d5IFN5c3RlbSAoU01BUlQpIGJ1aWx0IFwKK2ludG8gbW9zdCBtb2Rlcm4gQVRBIGFuZCBTQ1NJIGhhcmQgZGlza3MuIEluIG1hbnkgY2FzZXMsIHRoZXNlIFwKK3V0aWxpdGllcyB3aWxsIHByb3ZpZGUgYWR2YW5jZWQgd2FybmluZyBvZiBkaXNrIGRlZ3JhZGF0aW9uIGFuZCBmYWlsdXJlLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3NtYXJ0bW9udG9vbHMuc291cmNlZm9yZ2UubmV0LyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9zbWFydG1vbnRvb2xzL3NtYXJ0bW9udG9vbHMtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2luaXRkLnNtYXJ0ZCBcCisgICAgICAgICAgIGZpbGU6Ly9zbWFydG1vbnRvb2xzLmRlZmF1bHQgXAorICAgICAgICAgICBmaWxlOi8vc21hcnRkLnNlcnZpY2UgXAorICAgICAgICAgICAiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdsaWJjYXAtbmcgc2VsaW51eCcsIGQpfSIKK1BBQ0tBR0VDT05GSUdbbGliY2FwLW5nXSA9ICItLXdpdGgtbGliY2FwLW5nPXllcywtLXdpdGgtbGliY2FwLW5nPW5vLGxpYmNhcC1uZyIKK1BBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS13aXRoLXNlbGludXg9eWVzLC0td2l0aC1zZWxpbnV4PW5vLGxpYnNlbGludXgiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiMmE4MGU0Nzg5YWYyM2Q2N2RmZTFlODhhOTk3YWJiZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNWUxYWMyNzg2YmM4N2ZkYmQ2ZjkyZDBlZTc1MWI3OTlmYmIzZTFhMDljMGE2YTM3OWY5ZWI2NGIzZThmNjFjIgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJzbWFydGQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgICNpbnN0YWxsIHRoZSBpbml0LmQvc21hcnRkCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1wIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0ZC5zbWFydGQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3NtYXJ0ZAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAorICAgIGluc3RhbGwgLXAgLW0gMDY0NCAke1dPUktESVJ9L3NtYXJ0bW9udG9vbHMuZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3NtYXJ0bW9udG9vbHMKKworICAgICNpbnN0YWxsIHN5c3RlbWQgc2VydmljZSBmaWxlCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NtYXJ0ZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgc2VkIC1pIC1lICdzLEBCQVNFX0JJTkRJUkAsJHtiYXNlX2JpbmRpcn0sZycgXAorICAgICAgICAtZSAncyxAU1lTQ09ORkRJUkAsJHtzeXNjb25mZGlyfSxnJyBcCisgICAgICAgIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKKyAgICAgICAgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc21hcnRkLnNlcnZpY2UKK30KKworSU5JVFNDUklQVF9OQU1FID0gInNtYXJ0ZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDYwIDIgMyA0IDUgLiBzdG9wIDYwIDAgMSA2IC4iCisKK1JERVBFTkRTXyR7UE59ICs9ICJtYWlseCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90cmlnZ2VyaGFwcHkvdHJpZ2dlcmhhcHB5XzAuNS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3RyaWdnZXJoYXBweS90cmlnZ2VyaGFwcHlfMC41LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDM3Y2UwNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90cmlnZ2VyaGFwcHkvdHJpZ2dlcmhhcHB5XzAuNS4wLmJiCkBAIC0wLDAgKzEsNDcgQEAKK1NVTU1BUlkgPSAiQSBsaWdodHdlaWdodCBob3RrZXkgZGFlbW9uIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3dlcnRhcmJ5dGUvdHJpZ2dlcmhhcHB5IgorCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3dlcnRhcmJ5dGUvdHJpZ2dlcmhhcHB5L2FyY2hpdmUvZGViaWFuLzAuNS4wLTEudGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzdmOTBhMThjNzc1ZTQ3YzRjNWU5ZTA4OTg3Y2EzMmYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTE1MGJhZmJmN2YyZGU3ZDU3ZTZjYzE1NDY3NmMzM2RhOThkYzExYWM2NDQyZTFjYTU3ZTVkY2U4MmJkNDI5MiIKKworUyA9ICIke1dPUktESVJ9LyR7UE59LWRlYmlhbi0ke1BWfS0xIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHVwZGF0ZS1yYy5kIHN5c3RlbWQKKworUEFDS0FHRUNPTkZJRyA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3N5c3RlbWQnLCcnLGQpfSIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLCxzeXN0ZW1kIgorCitJTklUU0NSSVBUX05BTUUgPSAidHJpZ2dlcmhhcHB5IgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAidHJpZ2dlcmhhcHB5LnNlcnZpY2UgdHJpZ2dlcmhhcHB5LnNvY2tldCIKKworRklMRVNfJHtQTn0gPSAiXAorJHtzYmluZGlyfS90aGQgXAorJHtzYmluZGlyfS90aC1jbWQgXAorJHtzeXNjb25mZGlyfS90cmlnZ2VyaGFwcHkvdHJpZ2dlcnMuZCBcCiske25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvcnVsZXMuZC84MC10cmlnZ2VyaGFwcHkucnVsZXMgXAorJHtzeXNjb25mZGlyfS9pbml0LmQvdHJpZ2dlcmhhcHB5IFwKKyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0gXAorIgorQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vdWRldi9ydWxlcy5kLzgwLXRyaWdnZXJoYXBweS5ydWxlcyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90cmlnZ2VyaGFwcHkvdHJpZ2dlcnMuZAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS91ZGV2L3RyaWdnZXJoYXBweS11ZGV2LnJ1bGVzICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvcnVsZXMuZC84MC10cmlnZ2VyaGFwcHkucnVsZXMKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vZGViaWFuL2luaXQuZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvdHJpZ2dlcmhhcHB5CisKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3N5c3RlbWQvdHJpZ2dlcmhhcHB5LnNvY2tldCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zeXN0ZW1kL3RyaWdnZXJoYXBweS5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgZmkKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC91cG0vdXBtLzAwMDEtQ01ha2VMaXN0cy50eHQtVXNlLVNXSUdfU1VQUE9SVF9GSUxFUy10by1maW5kLXRoZS1saS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC91cG0vdXBtLzAwMDEtQ01ha2VMaXN0cy50eHQtVXNlLVNXSUdfU1VQUE9SVF9GSUxFUy10by1maW5kLXRoZS1saS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjlhMTk1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3VwbS91cG0vMDAwMS1DTWFrZUxpc3RzLnR4dC1Vc2UtU1dJR19TVVBQT1JUX0ZJTEVTLXRvLWZpbmQtdGhlLWxpLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gMzcwN2Y0NjdmOWEyNmE3ZGYzZDQxMzg1MDIzYjQzYzNkMDg5MTFkMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hbmp1a3VtYXIgTWF0aGEgPG1hbmp1a3VtYXIuaGFydGhpa290ZS1tYXRoYUB4aWxpbnguY29tPgorRGF0ZTogVHVlLCAxMiBGZWIgMjAxOSAxNzo0Njo1MiAtMDgwMAorU3ViamVjdDogW1BBVENIXVt2M10gQ01ha2VMaXN0cy50eHQ6IFVzZSBTV0lHX1NVUFBPUlRfRklMRVMgdG8gZmluZCB0aGUgbGlzdAorIG9mIGdlbmVyYXRlZCBmaWxlcyBmb3IgY21ha2UgdmVyc2lvbiAzLjEyIG9yIGhpZ2hlcgorCitVc2UgU1dJR19TVVBQT1JUX0ZJTEVTIHRvIGZpbmQgdGhlIGxpc3Qgb2YgcHl0aG9uIGZpbGVzIGdlbmVyYXRlZCBieQorQ01ha2UgU3dpZyBtb2R1bGUgYW5kIGluc3RhbGwgdGhvc2UgZmlsZXMuIFRoaXMgc2hvdWxkIGJlIGFwcGxpY2FibGUgdG8KK2NtYWtlIHZlcnNpb24gMy4xMiBvciBoaWdoZXIKKworU2lnbmVkLW9mZi1ieTogTWFuanVrdW1hciBNYXRoYSA8bWFuanVrdW1hci5oYXJ0aGlrb3RlLW1hdGhhQHhpbGlueC5jb20+CistLS0KKyBzcmMvQ01ha2VMaXN0cy50eHQgfCA4ICsrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL0NNYWtlTGlzdHMudHh0IGIvc3JjL0NNYWtlTGlzdHMudHh0CitpbmRleCBlMTljZGEyLi5iNTY1ODE0IDEwMDY0NAorLS0tIGEvc3JjL0NNYWtlTGlzdHMudHh0CisrKysgYi9zcmMvQ01ha2VMaXN0cy50eHQKK0BAIC0zMzcsOCArMzM3LDE0IEBAIG1hY3JvKF91cG1fc3dpZ19weXRob24pCisgICAgICAgT1VUUFVUX05BTUUgX3B5dXBtXyR7bGlibmFtZX0KKyAgICAgICBMSUJSQVJZX09VVFBVVF9ESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX1BZVEhPTl9CSU5BUllfRElSfSkKKyAKKysgIGlmIChDTUFLRV9WRVJTSU9OIFZFUlNJT05fTEVTUyAiMy4xMiIpCisrICAgICBzZXQoc3VwcG9ydF9maWxlcyAke3N3aWdfZXh0cmFfZ2VuZXJhdGVkX2ZpbGVzfSkKKysgIGVsc2UoKQorKyAgICAgZ2V0X3Byb3BlcnR5KHN1cHBvcnRfZmlsZXMgVEFSR0VUIF8ke3B5dGhvbl93cmFwcGVyX25hbWV9IFBST1BFUlRZIFNXSUdfU1VQUE9SVF9GSUxFUykKKysgIGVuZGlmKCkKKysKKyAgICMgSW5zdGFsbCAucHkncyB0byBweXRob24gcGFja2FnZXMgZGlyZWN0b3J5L3VwbQorLSAgaW5zdGFsbCAoRklMRVMgJHtzd2lnX2V4dHJhX2dlbmVyYXRlZF9maWxlc30KKysgIGluc3RhbGwgKEZJTEVTICR7c3VwcG9ydF9maWxlc30KKyAgICAgICBERVNUSU5BVElPTiAke1BZVEhPTl9QQUNLQUdFU19QQVRIfS91cG0KKyAgICAgICBDT01QT05FTlQgJHtDTUFLRV9QUk9KRUNUX05BTUV9LXB5dGhvbiR7UFlUSE9OX1ZFUlNJT05fTUFKT1J9KQorIAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdXBtL3VwbV9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdXBtL3VwbV9naXQuYmIKaW5kZXggYmFiZTVmNC4uODg1NGEzMyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3VwbS91cG1fZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC91cG0vdXBtX2dpdC5iYgpAQCAtMTMsNiArMTMsNyBAQAogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2ludGVsLWlvdC1kZXZraXQvJHtCUE59LmdpdDtwcm90b2NvbD1odHRwIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtUmVwbGFjZS1zdHJuY3B5LXdpdGgtbWVtY3B5LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtaW5jbHVkZS1zeXMtdHlwZXMuaC1mb3ItdWludC1kZWZpbml0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQ01ha2VMaXN0cy50eHQtVXNlLVNXSUdfU1VQUE9SVF9GSUxFUy10by1maW5kLXRoZS1saS5wYXRjaCBcCiAgICAgICAgICAgICIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKQEAgLTIwLDcgKzIxLDcgQEAKICMgRGVwZW5kcyBvbiBtcmFhIHdoaWNoIG9ubHkgc3VwcG9ydHMgeDg2IGFuZCBBUk0gZm9yIG5vdwogQ09NUEFUSUJMRV9IT1NUID0gIih4ODZfNjQuKnxpLjg2Lip8YWFyY2g2NC4qfGFybS4qKS1saW51eCIKIAotaW5oZXJpdCBkaXN0dXRpbHMzLWJhc2UgY21ha2UKK2luaGVyaXQgZGlzdHV0aWxzMy1iYXNlIGNtYWtlIHBrZ2NvbmZpZwogCiAjIG92ZXJyaWRlIHRoaXMgaW4gbG9jYWwuY29uZiB0byBnZXQgbmVlZGVkIGJpbmRpbmdzLgogIyBCSU5ESU5HU19wbi11cG09InB5dGhvbiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC92b2x1bWVfa2V5L3ZvbHVtZS1rZXlfMC4zLjExLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3ZvbHVtZV9rZXkvdm9sdW1lLWtleV8wLjMuMTEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0MWIyMGMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3ZvbHVtZV9rZXkvdm9sdW1lLWtleV8wLjMuMTEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1ERVNDUklQVElPTiA9ICJUaGUgdm9sdW1lX2tleSBwcm9qZWN0IHByb3ZpZGVzIGEgbGlidm9sdW1lX2tleSwgYSBsaWJyYXJ5IGZvciBtYW5pcHVsYXRpbmcgXAotc3RvcmFnZSB2b2x1bWUgZW5jcnlwdGlvbiBrZXlzIGFuZCBzdG9yaW5nIHRoZW0gc2VwYXJhdGVseSBmcm9tIHZvbHVtZXMsIGFuZCBhbiBcCi1hc3NvY2lhdGVkIGNvbW1hbmQtbGluZSB0b29sLCBuYW1lZCB2b2x1bWVfa2V5LiIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1TRUNUSU9OID0gImRldmVsL2xpYiIKLQotSE9NRVBBR0UgPSAiaHR0cHM6Ly9wYWd1cmUuaW8vdm9sdW1lX2tleSIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9yZWxlYXNlcy5wYWd1cmUub3JnL3ZvbHVtZV9rZXkvdm9sdW1lX2tleS0ke1BWfS50YXIueHogXAotIgotU1JDX1VSSVttZDVzdW1dID0gIjMwZGY1NmM3NzQzZWI3Yzk2NTI5M2IzZDYxMTk0MjMyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImU2YjI3OWMyNWFlNDc3YjU1NWY5MzhkYjJlNDE4MThmOTBjOGNkZTk0MmIwZWVjOTJmNzBiNmM3NzIwOTVmNmQiCi0KLVNSQ05BTUUgPSAidm9sdW1lX2tleSIKLVMgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgotCi1pbmhlcml0IGF1dG90b29scyBweXRob24zbmF0aXZlIGdldHRleHQKLQotREVQRU5EUyArPSAiIFwKLSAgICB1dGlsLWxpbnV4IFwKLSAgICBnbGliLTIuMCBcCi0gICAgY3J5cHRzZXR1cCBcCi0gICAgbnNzIFwKLSAgICBncGdtZSBcCi0gICAgc3dpZy1uYXRpdmUgXAotIgotCi1SREVQRU5EU19weXRob24zLSR7UE59ICs9ICIke1BOfSIKLQotUEFDS0FHRVMgKz0gInB5dGhvbjMtJHtQTn0iCi1GSUxFU19weXRob24zLSR7UE59ID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC92b2x1bWVfa2V5L3ZvbHVtZS1rZXlfMC4zLjEyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3ZvbHVtZV9rZXkvdm9sdW1lLWtleV8wLjMuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk4Y2E1YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC92b2x1bWVfa2V5L3ZvbHVtZS1rZXlfMC4zLjEyLmJiCkBAIC0wLDAgKzEsMzggQEAKK0RFU0NSSVBUSU9OID0gIlRoZSB2b2x1bWVfa2V5IHByb2plY3QgcHJvdmlkZXMgYSBsaWJ2b2x1bWVfa2V5LCBhIGxpYnJhcnkgZm9yIG1hbmlwdWxhdGluZyBcCitzdG9yYWdlIHZvbHVtZSBlbmNyeXB0aW9uIGtleXMgYW5kIHN0b3JpbmcgdGhlbSBzZXBhcmF0ZWx5IGZyb20gdm9sdW1lcywgYW5kIGFuIFwKK2Fzc29jaWF0ZWQgY29tbWFuZC1saW5lIHRvb2wsIG5hbWVkIHZvbHVtZV9rZXkuIgorTElDRU5TRSA9ICJHUEx2MiIKK1NFQ1RJT04gPSAiZGV2ZWwvbGliIgorCitIT01FUEFHRSA9ICJodHRwczovL3BhZ3VyZS5pby92b2x1bWVfa2V5IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworU1JDX1VSSSA9ICJodHRwczovL3JlbGVhc2VzLnBhZ3VyZS5vcmcvdm9sdW1lX2tleS92b2x1bWVfa2V5LSR7UFZ9LnRhci54eiBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMjAwNTkxMjkwMTczYzNlYTcxNTI4NDExODM4ZjkwODAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmNhMzc0OGZjMWRhZDIyYzQ1MGJiZjY2MDFkNGU3MDZjYjExYzVlNjYyZDExYmI0YWViNDczYTljZDc3MzA5YiIKKworU1JDTkFNRSA9ICJ2b2x1bWVfa2V5IgorUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHB5dGhvbjNuYXRpdmUgZ2V0dGV4dAorCitERVBFTkRTICs9ICIgXAorICAgIHV0aWwtbGludXggXAorICAgIGdsaWItMi4wIFwKKyAgICBjcnlwdHNldHVwIFwKKyAgICBuc3MgXAorICAgIGdwZ21lIFwKKyAgICBzd2lnLW5hdGl2ZSBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJweXRob24zIgorUEFDS0FHRUNPTkZJR1tweXRob25dID0gIi0td2l0aC1weXRob24sLS13aXRob3V0LXB5dGhvbixweXRob24scHl0aG9uIgorUEFDS0FHRUNPTkZJR1tweXRob24zXSA9ICItLXdpdGgtcHl0aG9uMywtLXdpdGhvdXQtcHl0aG9uMyxweXRob24zLHB5dGhvbjMiCisKK1JERVBFTkRTX3B5dGhvbjMtJHtQTn0gKz0gIiR7UE59IgorCitQQUNLQUdFUyArPSAicHl0aG9uMy0ke1BOfSIKK0ZJTEVTX3B5dGhvbjMtJHtQTn0gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2F0ay9hdGttbV8yLjI0LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvYXRrL2F0a21tXzIuMjQuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzA3Nzc0Yi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvYXRrL2F0a21tXzIuMjQuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVNVTU1BUlkgPSAiQysrIGJpbmRpbmdzIGZvciB0aGUgYXRrIgotU0VDVElPTiA9ICJsaWJzIgotCi1MSUNFTlNFID0gIkxHUEx2Mi4xICYgR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLnRvb2xzO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLQotREVQRU5EUyA9ICJhdGsgZ2xpYm1tIgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBnbm9tZSBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImQ1M2I2MGIwZjFiZTU5N2U4NjA3MDk1NGE0OWNmMGMzIgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZmY5NTM4NTc1OWUyYWYyMzgyOGQ0MDU2MzU2ZjI1Mzc2Y2ZhYmM0MWU2OTBhYzFkZjA1NTM3MTUzN2U0NThiZCIKLQotRVhUUkFfT0VDT05GID0gIiAtLWRpc2FibGUtZG9jdW1lbnRhdGlvbiAiCi0KLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9LyovaW5jbHVkZSAke2xpYmRpcn0vKi9wcm9jL200IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2F0ay9hdGttbV8yLjI4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvYXRrL2F0a21tXzIuMjguMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2Y0ZjA5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2F0ay9hdGttbV8yLjI4LjAuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJDKysgYmluZGluZ3MgZm9yIHRoZSBhdGsiCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcudG9vbHM7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitERVBFTkRTID0gImF0ayBnbGlibW0iCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGdub21lIGF1dG90b29scyBwa2djb25maWcKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNjE5NGFjNTc3ZjE1NTY3YWRmYTNjOTIzOTQ0YzY2NTEiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI0YzRjZmM5MTdmZDQyZDM4NzljZTk5N2I0NjM0MjhkNjk4MmFmZmEwZmI2NjBjYWZjYzBiYzJkOWFmY2VkZDNhIgorCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uICIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vKi9pbmNsdWRlICR7bGliZGlyfS8qL3Byb2MvbTQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGttbTNfMy4yMi4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0aysvZ3RrbW0zXzMuMjIuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTZiNTRkZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGttbTNfMy4yMi4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotU1VNTUFSWSA9ICJDKysgYmluZGluZ3MgZm9yIHRoZSBHVEsrIHRvb2xraXQgVjMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3Lmd0a21tLm9yZy8iCi1TRUNUSU9OID0gImxpYnMiCi0KLUxJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcudG9vbHM7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgotCi1ERVBFTkRTID0gImF0a21tIHBhbmdvbW0gZ2xpYm1tIGd0ayszIGNhaXJvbW0iCi0KLUJQTiA9ICJndGttbSIKLQotaW5oZXJpdCBnbm9tZWJhc2UgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjg4M2U5MDQ2NzY4YjNhNWFmYzhlMzY1OTg4ODIzZTc3IgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiOTFhZmQ5OGEzMTUxOTUzNmY1ZjM5N2MyZDc5Njk2ZTNkNTMxNDNiODBiNzU3Nzg1MjFjYTdiNDhjYjI4MDA5MCIKLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLWRvLW5vdC1idWlsZC1kZW1vcy5wYXRjaCIKLQotRVhUUkFfT0VDT05GID0gIiAtLWRpc2FibGUtZG9jdW1lbnRhdGlvbiAiCi0KLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9LyovaW5jbHVkZSAke2xpYmRpcn0vKi9wcm9jL200IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0aysvZ3RrbW0zXzMuMjQuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGsrL2d0a21tM18zLjI0LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRkMDUxMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGsrL2d0a21tM18zLjI0LjEuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJDKysgYmluZGluZ3MgZm9yIHRoZSBHVEsrIHRvb2xraXQgVjMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmd0a21tLm9yZy8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcudG9vbHM7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitERVBFTkRTID0gImF0a21tIHBhbmdvbW0gZ2xpYm1tIGd0ayszIGNhaXJvbW0iCisKK0JQTiA9ICJndGttbSIKKworaW5oZXJpdCBnbm9tZWJhc2UgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjk1MjRlZDRlNWM4MjFkMTNlZWRhNDliYTJhNzhmMDI0IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZGRmZTQyZWQyNDU4YTIwYTM0ZGUyNTI4NTRiY2Y0YjUyZDNmMGM2NzFjMDQ1ZjU2YjQyYWEyN2M3NTQyZDJmZCIKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLWRvLW5vdC1idWlsZC1kZW1vcy5wYXRjaCIKKworRVhUUkFfT0VDT05GID0gIiAtLWRpc2FibGUtZG9jdW1lbnRhdGlvbiAiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9LyovaW5jbHVkZSAke2xpYmRpcn0vKi9wcm9jL200IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2xpYnBlYXMvbGlicGVhc18xLjIyLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvbGlicGVhcy9saWJwZWFzXzEuMjIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMWVhZDA2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2xpYnBlYXMvbGlicGVhc18xLjIyLjAuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJsaWJwZWFzIGlzIGEgZ29iamVjdC1iYXNlZCBwbHVnaW5zIGVuZ2luZSIKK0hPTUVQQUdFID0gImh0dHBzOi8vd2lraS5nbm9tZS5vcmcvUHJvamVjdHMvTGlicGVhcyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGI1NGExZmQ1NWE0NDg4NjVhMGIzMmQ0MTU5ODc1OWQiCisKK0RFUEVORFMgPSAiZ25vbWUtY29tbW9uIGd0ayszIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGd0ay1kb2MgZ3RrLWljb24tY2FjaGUKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiYTIwZGM1NWMzZjg4YWQwNmRhOTQ5MWNmZDdkZTc1NTgiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI1YjJmYzBmNTM5NjJiMjViY2ExMzFhNWVjMDEzOWU2ZmVmOGUyNTQ0ODFiNmU3Nzc5NzVmN2ExZDI3MDJhOTYyIgorCitQQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIi0tZW5hYmxlLXB5dGhvbjMsLS1kaXNhYmxlLXB5dGhvbjMscHl0aG9uMy1weWdvYmplY3QiCisKK2V4cG9ydCBHSVJfRVhUUkFfTElCU19QQVRIID0gIiR7Qn0vbGlicGVhcy8ubGlicyIKKworUEFDS0FHRVMgPSsgIiR7UE59LWRlbW8gJHtQTn0tcHl0aG9uMyIKK0ZJTEVTXyR7UE59LWRlbW8gPSAiIFwKKyAgICAke2JpbmRpcn0vcGVhcy1kZW1vIFwKKyAgICAke2xpYmRpcn0vcGVhcy1kZW1vIFwKKyIKKworUkRFUEVORFNfJHtQTn0tcHl0aG9uMyA9ICJweXRob24zLXB5Z29iamVjdCIKK0ZJTEVTXyR7UE59LXB5dGhvbjMgPSAiJHtsaWJkaXJ9L2xpYnBlYXMtMS4wL2xvYWRlcnMvbGlicHl0aG9uM2xvYWRlci5zbyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mb250Zm9yZ2UvZm9udGZvcmdlXzIwMTcwNzMxLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRmb3JnZS9mb250Zm9yZ2VfMjAxNzA3MzEuYmIKaW5kZXggOTQ3ZDM2ZS4uNjYxYjVlOCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRmb3JnZS9mb250Zm9yZ2VfMjAxNzA3MzEuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRmb3JnZS9mb250Zm9yZ2VfMjAxNzA3MzEuYmIKQEAgLTU0LDcgKzU0LDcgQEAKICAgICAke2RhdGFkaXJ9L2ljb25zIFwKICIKIAotRklMRVNfJHtQTn0tcHl0aG9uID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9ICR7ZGF0YWRpcn0vJHtQTn0vcHl0aG9uIgorRklMRVNfJHtQTn0tcHl0aG9uID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9ICR7ZGF0YWRpcn0vJHtCUE59L3B5dGhvbiIKIFJERVBFTkRTXyR7UE59LXB5dGhvbiA9ICJweXRob24iCiAKICMgZm9yIGUuZyBrZGUncyBveHlnZW4tZm9udHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mdGdsL2Z0Z2wvMDAwMS1FeHBsaWNpdC10eXBlY2FzdC10by1hdm9pZC1pbXBsaWNpdC1kb3VibGUtdG8tZmxvYXQtLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2Z0Z2wvZnRnbC8wMDAxLUV4cGxpY2l0LXR5cGVjYXN0LXRvLWF2b2lkLWltcGxpY2l0LWRvdWJsZS10by1mbG9hdC0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzg1YmZmOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mdGdsL2Z0Z2wvMDAwMS1FeHBsaWNpdC10eXBlY2FzdC10by1hdm9pZC1pbXBsaWNpdC1kb3VibGUtdG8tZmxvYXQtLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gZTNiY2U5OGE2MGQ2ZGIzYjcxOWJiZjVkNzFmNzMyZjliODZjYjU2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDkgRmViIDIwMTkgMDg6Mjg6MDkgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRXhwbGljaXQgdHlwZWNhc3QgdG8gYXZvaWQgaW1wbGljaXQgZG91YmxlIHRvIGZsb2F0CisgY29udmVyc2lvbgorCitmaXhlcyBjb21waWxlIGVycm9ycyBlLmcuCisKKy4uLy4uL2Z0Z2wtMi4xLjN+cmM1L2RlbW8vc2ltcGxlLmNwcDoxMTA6Mjc6IGVycm9yOiBub24tY29uc3RhbnQtZXhwcmVzc2lvbiBjYW5ub3QgYmUgbmFycm93ZWQgZnJvbSB0eXBlICdkb3VibGUnIHRvCisgICAgICAnZmxvYXQnIGluIGluaXRpYWxpemVyIGxpc3QgWy1XYysrMTEtbmFycm93aW5nXQorICAgICAgICAgICAgICAgICAgICAgICAgICAodDMgKyAyLjApIC8gMywgMC4zIH07CisgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBkZW1vL3NpbXBsZS5jcHAgfCA2ICsrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kZW1vL3NpbXBsZS5jcHAgYi9kZW1vL3NpbXBsZS5jcHAKK2luZGV4IDUzMmU4NjIuLmFiYTU1YjQgMTAwNjQ0CistLS0gYS9kZW1vL3NpbXBsZS5jcHAKKysrKyBiL2RlbW8vc2ltcGxlLmNwcAorQEAgLTEwNSw5ICsxMDUsOSBAQCBzdGF0aWMgdm9pZCBSZW5kZXJTY2VuZSh2b2lkKQorICAgICBmbG9hdCB0MiA9IHNpbihuIC8gNTAgKyAxKTsKKyAgICAgZmxvYXQgdDMgPSBzaW4obiAvIDMwICsgMik7CisgCistICAgIGZsb2F0IGFtYmllbnRbNF0gID0geyAodDEgKyAyLjApIC8gMywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICh0MiArIDIuMCkgLyAzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgKHQzICsgMi4wKSAvIDMsIDAuMyB9OworKyAgICBmbG9hdCBhbWJpZW50WzRdICA9IHsgZmxvYXQodDEgKyAyLjApIC8gMywKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0KHQyICsgMi4wKSAvIDMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCh0MyArIDIuMCkgLyAzLCAwLjMgfTsKKyAgICAgZmxvYXQgZGlmZnVzZVs0XSAgPSB7IDEuMCwgMC45LCAwLjksIDEuMCB9OworICAgICBmbG9hdCBzcGVjdWxhcls0XSA9IHsgMS4wLCAwLjcsIDAuNywgMS4wIH07CisgICAgIGZsb2F0IHBvc2l0aW9uWzRdID0geyAxMDAuMCwgMTAwLjAsIDAuMCwgMS4wIH07CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZnRnbC9mdGdsLzAwMDEtdXNlLXBrZy1jb25maWctdG8tZmluZC1mcmVldHlwZTIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZnRnbC9mdGdsLzAwMDEtdXNlLXBrZy1jb25maWctdG8tZmluZC1mcmVldHlwZTIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2YwM2NkMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mdGdsL2Z0Z2wvMDAwMS11c2UtcGtnLWNvbmZpZy10by1maW5kLWZyZWV0eXBlMi5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIDhiYjE4MzkyNjA3OGI2ZGQ1NDA0OGZiNjgyMDgzOGZlN2I2ZTYxNjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBTdW4sIDIzIE9jdCAyMDE2IDIyOjQ2OjQzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIHVzZSBwa2ctY29uZmlnIHRvIGZpbmQgZnJlZXR5cGUyCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogaW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDkgKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNTM1NjBlYS4uYjViYjZhMyAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNDEsOCArNDEsMTMgQEAgQUNfQ0hFQ0tfRlVOQ1Moc3RybmR1cCkKKyAKKyBBQ19QQVRIX1gKKyAKKy1BQ19DSEVDS19GVDIoWzkuMC4zXSxbXSwKKy0gICAgICAgICAgICAgW0FDX01TR19FUlJPUihbRnJlZVR5cGUyIGlzIHJlcXVpcmVkIHRvIGNvbXBpbGUgdGhpcyBsaWJyYXJ5XSldKQorK1BLR19DSEVDS19NT0RVTEVTKEZUMiwgZnJlZXR5cGUyLAorKyAgICBDRkxBR1M9IiRDRkxBR1MgJEZUMl9DRkxBR1MiCisrICAgIExJQlM9IiRMSUJTICRGVDJfTElCUyIsCisrICAgIEFDX01TR19FUlJPUihbRnJlZVR5cGUyIGlzIHJlcXVpcmVkIHRvIGNvbXBpbGUgdGhpcyBsaWJyYXJ5XSkKKyspCisrQUNfU1VCU1QoW0ZUMl9DRkxBR1NdKQorK0FDX1NVQlNUKFtGVDJfTElCU10pCisgCisgQUNfUEFUSF9YVFJBCisgCistLSAKKzIuNS41CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mdGdsL2Z0Z2wvMDAwMi1NYWtlZmlsZS5hbS1yZW1vdmUtdXNlbGVzcy1hbmQtYnJlYWtpbmctY29kZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mdGdsL2Z0Z2wvMDAwMi1NYWtlZmlsZS5hbS1yZW1vdmUtdXNlbGVzcy1hbmQtYnJlYWtpbmctY29kZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzA3ODNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2Z0Z2wvZnRnbC8wMDAyLU1ha2VmaWxlLmFtLXJlbW92ZS11c2VsZXNzLWFuZC1icmVha2luZy1jb2RlLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gZGFhYmI0MTEwNjYxYzQzNThlYzczMjkzZDVjMGIyMTA2ZjU2N2MxZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjMgT2N0IDIwMTYgMjM6NTQ6MTQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGUuYW06IHJlbW92ZSB1c2VsZXNzIGFuZCBicmVha2luZyBjb2RlCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZS5hbSB8IDkgLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCitpbmRleCA4OWE4YTdmLi5lNTgyYTM0IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuYW0KKysrKyBiL01ha2VmaWxlLmFtCitAQCAtMjQsMTUgKzI0LDYgQEAgRVhUUkFfRElTVCA9IFwKKyAJbTQgXAorIAkkKE5VTEwpCisgCistIyBQcmludCBvdXQgYW4gaW5mb3JtYXRpdmUgc3VtbWFyeS4KKy1hbGwtbG9jYWw6CistCUAkKEVDSE8pICJEb25lLiIKKy0JQCQoRUNITykKKy0JQGlmIHRlc3QgIngkKE1BS0VDTURHT0FMUykiID0gInhhbGwtYW0iIC1vICJ4JCguVEFSR0VUUykiID0gInhhbGwtYW0iIC1vICJ4JChNQUtFQ01ER09BTFMpIiA9ICJ4IiAtbyAieCQoLlRBUkdFVFMpIiA9ICJ4IiA7IHRoZW4gXAorLQkgICQoRUNITykgIi0tLSIgO1wKKy0JICAkKEVDSE8pICJSdW4gJ21ha2UgaW5zdGFsbCcgdG8gYmVnaW4gaW5zdGFsbGF0aW9uIGludG8gJChwcmVmaXgpIiA7XAorLQlmaQorLQlAJChFQ0hPKQorIAorICMgVXBsb2FkIGRvY3VtZW50YXRpb24KKyBET0MgPSBkb2NzL2h0bWwgZG9jcy9sYXRleC9mdGdsLnBkZgorLS0gCisyLjUuNQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZnRnbC9mdGdsXzIuMS4zLXJjNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mdGdsL2Z0Z2xfMi4xLjMtcmM1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1ZWFmNDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZnRnbC9mdGdsXzIuMS4zLXJjNS5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIk9wZW5HTCBmcm9udGVuZCB0byBGcmVldHlwZSAyIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvZnRnbC8iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTUyN2E4M2U5MmM3YmYzNjMwMjUzODBlZWMwNWRmNmU0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJvcGVuZ2wiCisKK0RFUEVORFMgKz0gIiBcCisgICAgZnJlZXR5cGUgXAorICAgIGZyZWVnbHV0IFwKKyIKKworU1JDX1VSSSA9ICIgXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5iejIgXAorICAgIGZpbGU6Ly8wMDAxLXVzZS1wa2ctY29uZmlnLXRvLWZpbmQtZnJlZXR5cGUyLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1NYWtlZmlsZS5hbS1yZW1vdmUtdXNlbGVzcy1hbmQtYnJlYWtpbmctY29kZS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtRXhwbGljaXQtdHlwZWNhc3QtdG8tYXZvaWQtaW1wbGljaXQtZG91YmxlLXRvLWZsb2F0LS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiYzc4NzkwMThjZGU4NDQwNTk0OTViMzAyOWIwYjY1MDMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTIxZmY3YmQ2MmM0NTlmZjUzNzJlMjY5YzIyM2UyYTYxMDdhNmE5OWEzNmFmZGMyYWU2MzRhOTczYWY3MGM1OSIKKworUyA9ICIke1dPUktESVJ9L2Z0Z2wtMi4xLjN+cmM1IgorCisjIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gc3ltYm9sICdzaW5AQEdMSUJDXzIuNCcKK0NGTEFHUyArPSAiLWxtIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsbS9maWxlcy8wMDAxLU1ha2UtR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwtYS1jb25maWd1cmFibGUtb3B0aW9uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsbS9maWxlcy8wMDAxLU1ha2UtR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwtYS1jb25maWd1cmFibGUtb3B0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNjljNWFmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZmlsZXMvMDAwMS1NYWtlLUdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMLWEtY29uZmlndXJhYmxlLW9wdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDg2MCArMCwwIEBACi1Gcm9tIDk5YTk2NzZhMDE5M2Y2MjkxZDcyMDJkN2FmNzJlMjQ1ODBhYmU1NjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotRGF0ZTogRnJpLCAxNiBNYXIgMjAxOCAxMzo1NToyOSArMDEwMAotU3ViamVjdDogW1BBVENIIDEvMl0gTWFrZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBhIGNvbmZpZ3VyYWJsZSBvcHRpb24KLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotSXQgc2VlbXMgdGhhdCBlcnJvcmluZyBvdXQgaWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgaXMgbm90IHNldCB0dXJucyBpbnRvCi1wYWNrYWdlcnMgbmlnaHRtYXJlOiBUaGVyZSBhcmUgcGFja2FnZXMgYXJvdW5kIGV4cGVjdGluZyBnbHggaGVhZGVycy4gRS5nCi1saWJnbHRmIFsxXSBmYWlscyBkdXJpbmcgY29uZmlndXJlIGNoZWNraW5nIGZvciB1c2FibGUgaGVhZGVycyBBTkQgZHVyaW5nCi1jb21waWxlLiBQYXRpY3VsYXJseSBmaXhpbmcgY29uZmlndXJlIGZvciB0aG9zZSBwYWNrYWdlcyBpcyB0aW1lLWNvbnN1bWluZzoKLVRoZSBvbmx5IHdheSAoY29ycmVjdCBtZSBpZiBJIGFtIHdyb25nKSBpcyBjcmVhdGluZyBhIHBhdGNoIGFkZGluZwotCi1BQ19ERUZJTkUoW0dMTV9FTkFCTEVfRVhQRVJJTUVOVEFMXSwgWzFdLCBbZ2xtIG5lZWRzIHRoaXMgZm9yIGd0eCBoZWFkZXJzXSkKLQotQnkgYWRkaW5nIGEgY29uZmlndXJlIG9wdGlvbiAnR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwnLCB0aGUgZGVjaXNpb24gdG8gdXNlCi1nbG0vZ2x4IGlzIGRvbmUgYXQgb25lIChhbmQgdGhlIHJpZ2h0KSBwbGFjZS4KLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLQotWzFdIGh0dHBzOi8vZ2Vycml0LmxpYnJlb2ZmaWNlLm9yZy9naXR3ZWI/cD1saWJnbHRmLmdpdAotCi1VcHRyZWFtLVN0YXR1czogU3VibWl0dGVkIFsyXQotCi1bMl0gaHR0cHM6Ly9naXRodWIuY29tL2ctdHJ1Yy9nbG0vcHVsbC83NDEKLS0tLQotIENNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgICAgIHwgNiArKysrKysKLSBnbG0vQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICB8IDIgKysKLSBnbG0vZXhwZXJpbWVudGFsLmhwcC5pbiAgICAgICAgICAgICB8IDEgKwotIGdsbS9leHQuaHBwICAgICAgICAgICAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9hc3NvY2lhdGVkX21pbl9tYXguaHBwICAgICAgfCAxICsKLSBnbG0vZ3R4L2JpdC5ocHAgICAgICAgICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvY2xvc2VzdF9wb2ludC5ocHAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9jb2xvcl9zcGFjZS5ocHAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2NvbG9yX3NwYWNlX1lDb0NnLmhwcCAgICAgICB8IDEgKwotIGdsbS9ndHgvY29tbW9uLmhwcCAgICAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9jb21wYXRpYmlsaXR5LmhwcCAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2NvbXBvbmVudF93aXNlLmhwcCAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvZHVhbF9xdWF0ZXJuaW9uLmhwcCAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9ldWxlcl9hbmdsZXMuaHBwICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2V4dGVuZC5ocHAgICAgICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvZXh0ZW5kZWRfbWluX21heC5ocHAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9mYXN0X2V4cG9uZW50aWFsLmhwcCAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2Zhc3Rfc3F1YXJlX3Jvb3QuaHBwICAgICAgICB8IDEgKwotIGdsbS9ndHgvZmFzdF90cmlnb25vbWV0cnkuaHBwICAgICAgIHwgMSArCi0gZ2xtL2d0eC9ncmFkaWVudF9wYWludC5ocHAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2hhbmRlZF9jb29yZGluYXRlX3NwYWNlLmhwcCB8IDEgKwotIGdsbS9ndHgvaGFzaC5ocHAgICAgICAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9pbnRlZ2VyLmhwcCAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2ludGVyc2VjdC5ocHAgICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvaW8uaHBwICAgICAgICAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9sb2dfYmFzZS5ocHAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L21hdHJpeF9jcm9zc19wcm9kdWN0LmhwcCAgICB8IDEgKwotIGdsbS9ndHgvbWF0cml4X2RlY29tcG9zZS5ocHAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9tYXRyaXhfZmFjdG9yaXNhdGlvbi5ocHAgICAgfCAxICsKLSBnbG0vZ3R4L21hdHJpeF9pbnRlcnBvbGF0aW9uLmhwcCAgICB8IDEgKwotIGdsbS9ndHgvbWF0cml4X21ham9yX3N0b3JhZ2UuaHBwICAgIHwgMSArCi0gZ2xtL2d0eC9tYXRyaXhfb3BlcmF0aW9uLmhwcCAgICAgICAgfCAxICsKLSBnbG0vZ3R4L21hdHJpeF9xdWVyeS5ocHAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvbWF0cml4X3RyYW5zZm9ybV8yZC5ocHAgICAgIHwgMSArCi0gZ2xtL2d0eC9taXhlZF9wcm9kdWN0LmhwcCAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L25vcm0uaHBwICAgICAgICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvbm9ybWFsLmhwcCAgICAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9ub3JtYWxpemVfZG90LmhwcCAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L251bWJlcl9wcmVjaXNpb24uaHBwICAgICAgICB8IDEgKwotIGdsbS9ndHgvb3B0aW11bV9wb3cuaHBwICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9vcnRob25vcm1hbGl6ZS5ocHAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3BlcnBlbmRpY3VsYXIuaHBwICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvcG9sYXJfY29vcmRpbmF0ZXMuaHBwICAgICAgIHwgMSArCi0gZ2xtL2d0eC9wcm9qZWN0aW9uLmhwcCAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3F1YXRlcm5pb24uaHBwICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvcmFuZ2UuaHBwICAgICAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9yYXdfZGF0YS5ocHAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3JvdGF0ZV9ub3JtYWxpemVkX2F4aXMuaHBwICB8IDEgKwotIGdsbS9ndHgvcm90YXRlX3ZlY3Rvci5ocHAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9zY2FsYXJfbXVsdGlwbGljYXRpb24uaHBwICAgfCAxICsKLSBnbG0vZ3R4L3NjYWxhcl9yZWxhdGlvbmFsLmhwcCAgICAgICB8IDEgKwotIGdsbS9ndHgvc3BsaW5lLmhwcCAgICAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9zdGRfYmFzZWRfdHlwZS5ocHAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3N0cmluZ19jYXN0LmhwcCAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvdGV4dHVyZS5ocHAgICAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC90cmFuc2Zvcm0uaHBwICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3RyYW5zZm9ybTIuaHBwICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvdHlwZV9hbGlnbmVkLmhwcCAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC90eXBlX3RyYWl0LmhwcCAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3ZlY19zd2l6emxlLmhwcCAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvdmVjdG9yX2FuZ2xlLmhwcCAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC92ZWN0b3JfcXVlcnkuaHBwICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3dyYXAuaHBwICAgICAgICAgICAgICAgICAgICB8IDEgKwotIDYzIGZpbGVzIGNoYW5nZWQsIDY5IGluc2VydGlvbnMoKykKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2xtL2V4cGVyaW1lbnRhbC5ocHAuaW4KLQotZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKLWluZGV4IGU1MTU5YjBmLi5iZDRkZDY1NCAxMDA2NDQKLS0tLSBhL0NNYWtlTGlzdHMudHh0Ci0rKysgYi9DTWFrZUxpc3RzLnR4dAotQEAgLTgyLDYgKzgyLDExIEBAIG9wdGlvbihHTE1fVEVTVF9FTkFCTEVfU0lNRF9BVlggIkVuYWJsZSBBVlggb3B0aW1pemF0aW9ucyIgT0ZGKQotIG9wdGlvbihHTE1fVEVTVF9FTkFCTEVfU0lNRF9BVlgyICJFbmFibGUgQVZYMiBvcHRpbWl6YXRpb25zIiBPRkYpCi0gb3B0aW9uKEdMTV9URVNUX0ZPUkNFX1BVUkUgIkZvcmNlICdwdXJlJyBpbnN0cnVjdGlvbnMiIE9GRikKLSAKLStvcHRpb24oR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgIkVuYWJsZSBleHBlcmltZW50YWwgR0xNX0dUWCIgT0ZGKQotK2NvbmZpZ3VyZV9maWxlKGdsbS9leHBlcmltZW50YWwuaHBwLmluIGV4cGVyaW1lbnRhbC5ocHAgQE9OTFkpCi0raW5jbHVkZV9kaXJlY3Rvcmllcygke0NNQUtFX0JJTkFSWV9ESVJ9L2dsbSkKLStpbmNsdWRlX2RpcmVjdG9yaWVzKCR7Q01BS0VfQklOQVJZX0RJUn0pCi0rCi0gaWYoR0xNX1RFU1RfRk9SQ0VfUFVSRSkKLSAJYWRkX2RlZmluaXRpb25zKC1ER0xNX0ZPUkNFX1BVUkUpCi0gCi1AQCAtMTY3LDYgKzE3Miw3IEBAIG9wdGlvbihHTE1fSU5TVEFMTF9FTkFCTEUgIkdMTSBpbnN0YWxsIiBPTikKLSBzZXQoR0xNX0lOU1RBTExfQ09ORklHRElSICIke0NNQUtFX0lOU1RBTExfTElCRElSfS9jbWFrZS9nbG0iKQotIGlmIChHTE1fSU5TVEFMTF9FTkFCTEUpCi0gCWluc3RhbGwoRElSRUNUT1JZIGdsbSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfSU5DTFVERURJUn0pCi0rCWluc3RhbGwoRklMRVMgIiR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9leHBlcmltZW50YWwuaHBwIiBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfSU5DTFVERURJUn0vZ2xtKQotIGVuZGlmKCkKLSAKLSB3cml0ZV9iYXNpY19wYWNrYWdlX3ZlcnNpb25fZmlsZSgiJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dsbUNvbmZpZ1ZlcnNpb24uY21ha2UiIFZFUlNJT04gJHtHTE1fVkVSU0lPTn0gQ09NUEFUSUJJTElUWSBBbnlOZXdlclZlcnNpb24pCi1kaWZmIC0tZ2l0IGEvZ2xtL0NNYWtlTGlzdHMudHh0IGIvZ2xtL0NNYWtlTGlzdHMudHh0Ci1pbmRleCBkZjljOWVlNS4uZGM1ZGI0YmMgMTAwNjQ0Ci0tLS0gYS9nbG0vQ01ha2VMaXN0cy50eHQKLSsrKyBiL2dsbS9DTWFrZUxpc3RzLnR4dAotQEAgLTQzLDYgKzQzLDggQEAgc291cmNlX2dyb3VwKCJTSU1EIEZpbGVzIiBGSUxFUyAke1NJTURfSU5MSU5FfSkKLSBzb3VyY2VfZ3JvdXAoIlNJTUQgRmlsZXMiIEZJTEVTICR7U0lNRF9IRUFERVJ9KQotIAotIGluY2x1ZGVfZGlyZWN0b3JpZXMoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uKQotKyMgbWFrZSBvdXQtb2YgdHJlZSBidWlsZHMgZmluZCBleHBlcmltZW50YWwuaHBwCi0raW5jbHVkZV9kaXJlY3Rvcmllcygke0NNQUtFX0JJTkFSWV9ESVJ9L2dsbSkKLSAKLSBpZihHTE1fU1RBVElDX0xJQlJBUllfRU5BQkxFIE9SIEdMTV9EWU5BTUlDX0xJQlJBUllfRU5BQkxFKQotIAlpZihHTE1fU1RBVElDX0xJQlJBUllfRU5BQkxFKQotZGlmZiAtLWdpdCBhL2dsbS9leHBlcmltZW50YWwuaHBwLmluIGIvZ2xtL2V4cGVyaW1lbnRhbC5ocHAuaW4KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMC4uYmZhYjUxMzgKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dsbS9leHBlcmltZW50YWwuaHBwLmluCi1AQCAtMCwwICsxIEBACi0rI2NtYWtlZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi1kaWZmIC0tZ2l0IGEvZ2xtL2V4dC5ocHAgYi9nbG0vZXh0LmhwcAotaW5kZXggZDA4NWJmZDUuLmEyOTQ4NDQ3IDEwMDY0NAotLS0tIGEvZ2xtL2V4dC5ocHAKLSsrKyBiL2dsbS9leHQuaHBwCi1AQCAtMzksNiArMzksNyBAQAotICMJaW5jbHVkZSAiLi9ndGMvdHlwZV9hbGlnbmVkLmhwcCIKLSAjZW5kaWYKLSAKLSsjaW5jbHVkZSAiZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZkZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjaW5jbHVkZSAiLi9ndHgvYXNzb2NpYXRlZF9taW5fbWF4LmhwcCIKLSAjaW5jbHVkZSAiLi9ndHgvYml0LmhwcCIKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2Fzc29jaWF0ZWRfbWluX21heC5ocHAgYi9nbG0vZ3R4L2Fzc29jaWF0ZWRfbWluX21heC5ocHAKLWluZGV4IDBjOTkzNWYzLi5kMDBjMmJjNCAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvYXNzb2NpYXRlZF9taW5fbWF4LmhwcAotKysrIGIvZ2xtL2d0eC9hc3NvY2lhdGVkX21pbl9tYXguaHBwCi1AQCAtMTYsNiArMTYsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR1RYX2Fzc29jaWF0ZWRfbWluX21heCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvYml0LmhwcCBiL2dsbS9ndHgvYml0LmhwcAotaW5kZXggMTQ0N2ZhMDAuLjMxOTU3MDgzIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9iaXQuaHBwCi0rKysgYi9nbG0vZ3R4L2JpdC5ocHAKLUBAIC0xNSw2ICsxNSw3IEBACi0gLy8gRGVwZW5kZW5jaWVzCi0gI2luY2x1ZGUgIi4uL2d0Yy9iaXRmaWVsZC5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9iaXQgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2Nsb3Nlc3RfcG9pbnQuaHBwIGIvZ2xtL2d0eC9jbG9zZXN0X3BvaW50LmhwcAotaW5kZXggNjg1OWJiOTYuLmViZDlmZTVhIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9jbG9zZXN0X3BvaW50LmhwcAotKysrIGIvZ2xtL2d0eC9jbG9zZXN0X3BvaW50LmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfY2xvc2VzdF9wb2ludCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvY29sb3Jfc3BhY2UuaHBwIGIvZ2xtL2d0eC9jb2xvcl9zcGFjZS5ocHAKLWluZGV4IGQxZTY1NWMzLi41MTQxNjgxOSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvY29sb3Jfc3BhY2UuaHBwCi0rKysgYi9nbG0vZ3R4L2NvbG9yX3NwYWNlLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfY29sb3Jfc3BhY2UgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2NvbG9yX3NwYWNlX1lDb0NnLmhwcCBiL2dsbS9ndHgvY29sb3Jfc3BhY2VfWUNvQ2cuaHBwCi1pbmRleCBlODJjYmQ4Yi4uN2FlNzEwNDEgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2NvbG9yX3NwYWNlX1lDb0NnLmhwcAotKysrIGIvZ2xtL2d0eC9jb2xvcl9zcGFjZV9ZQ29DZy5ocHAKLUBAIC0xNSw2ICsxNSw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2NvbG9yX3NwYWNlX1lDb0NnIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9jb21tb24uaHBwIGIvZ2xtL2d0eC9jb21tb24uaHBwCi1pbmRleCA4MDgxYmZmNy4uNTdhNjhhOGQgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2NvbW1vbi5ocHAKLSsrKyBiL2dsbS9ndHgvY29tbW9uLmhwcAotQEAgLTE4LDYgKzE4LDcgQEAKLSAjaW5jbHVkZSAiLi4vdmVjNC5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0Yy92ZWMxLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2NvbW1vbiBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvY29tcGF0aWJpbGl0eS5ocHAgYi9nbG0vZ3R4L2NvbXBhdGliaWxpdHkuaHBwCi1pbmRleCBlNWI2MDM5OS4uOTg3NjY2OWMgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2NvbXBhdGliaWxpdHkuaHBwCi0rKysgYi9nbG0vZ3R4L2NvbXBhdGliaWxpdHkuaHBwCi1AQCAtMTYsNiArMTYsNyBAQAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotICNpbmNsdWRlICIuLi9ndGMvcXVhdGVybmlvbi5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9jb21wYXRpYmlsaXR5IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9jb21wb25lbnRfd2lzZS5ocHAgYi9nbG0vZ3R4L2NvbXBvbmVudF93aXNlLmhwcAotaW5kZXggMzliYWI1ZDUuLjRmZTBlNGUyIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9jb21wb25lbnRfd2lzZS5ocHAKLSsrKyBiL2dsbS9ndHgvY29tcG9uZW50X3dpc2UuaHBwCi1AQCAtMTgsNiArMTgsNyBAQAotICNpbmNsdWRlICIuLi9kZXRhaWwvc2V0dXAuaHBwIgotICNpbmNsdWRlICIuLi9kZXRhaWwvcXVhbGlmaWVyLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2NvbXBvbmVudF93aXNlIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9kdWFsX3F1YXRlcm5pb24uaHBwIGIvZ2xtL2d0eC9kdWFsX3F1YXRlcm5pb24uaHBwCi1pbmRleCBjNDM0M2U5ZC4uZDU5ZmI0NTkgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2R1YWxfcXVhdGVybmlvbi5ocHAKLSsrKyBiL2dsbS9ndHgvZHVhbF9xdWF0ZXJuaW9uLmhwcAotQEAgLTIwLDYgKzIwLDcgQEAKLSAjaW5jbHVkZSAiLi4vZ3RjL2NvbnN0YW50cy5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0Yy9xdWF0ZXJuaW9uLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2R1YWxfcXVhdGVybmlvbiBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvZXVsZXJfYW5nbGVzLmhwcCBiL2dsbS9ndHgvZXVsZXJfYW5nbGVzLmhwcAotaW5kZXggZTY2ZTkyODEuLmFkNTk4OGMxIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9ldWxlcl9hbmdsZXMuaHBwCi0rKysgYi9nbG0vZ3R4L2V1bGVyX2FuZ2xlcy5ocHAKLUBAIC0xNSw2ICsxNSw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2V1bGVyX2FuZ2xlcyBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvZXh0ZW5kLmhwcCBiL2dsbS9ndHgvZXh0ZW5kLmhwcAotaW5kZXggZWRhNGU0NzAuLmNkZTZkYjYzIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9leHRlbmQuaHBwCi0rKysgYi9nbG0vZ3R4L2V4dGVuZC5ocHAKLUBAIC0xNSw2ICsxNSw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2V4dGVuZCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvZXh0ZW5kZWRfbWluX21heC5ocHAgYi9nbG0vZ3R4L2V4dGVuZGVkX21pbl9tYXguaHBwCi1pbmRleCAzZTc2N2IwYy4uMGJjZmZjYzYgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2V4dGVuZGVkX21pbl9tYXguaHBwCi0rKysgYi9nbG0vZ3R4L2V4dGVuZGVkX21pbl9tYXguaHBwCi1AQCAtMTUsNiArMTUsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9leHRlbnRlZF9taW5fbWF4IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9mYXN0X2V4cG9uZW50aWFsLmhwcCBiL2dsbS9ndHgvZmFzdF9leHBvbmVudGlhbC5ocHAKLWluZGV4IDJkNDkxOGU3Li5lNmQxMWYwYSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvZmFzdF9leHBvbmVudGlhbC5ocHAKLSsrKyBiL2dsbS9ndHgvZmFzdF9leHBvbmVudGlhbC5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2Zhc3RfZXhwb25lbnRpYWwgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2Zhc3Rfc3F1YXJlX3Jvb3QuaHBwIGIvZ2xtL2d0eC9mYXN0X3NxdWFyZV9yb290LmhwcAotaW5kZXggMWUxZWMzY2YuLmY3NThhZWVmIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9mYXN0X3NxdWFyZV9yb290LmhwcAotKysrIGIvZ2xtL2d0eC9mYXN0X3NxdWFyZV9yb290LmhwcAotQEAgLTE5LDYgKzE5LDcgQEAKLSAjaW5jbHVkZSAiLi4vZXhwb25lbnRpYWwuaHBwIgotICNpbmNsdWRlICIuLi9nZW9tZXRyaWMuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfZmFzdF9zcXVhcmVfcm9vdCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvZmFzdF90cmlnb25vbWV0cnkuaHBwIGIvZ2xtL2d0eC9mYXN0X3RyaWdvbm9tZXRyeS5ocHAKLWluZGV4IDczOTA2NWZiLi5mMTMzMjk1OCAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvZmFzdF90cmlnb25vbWV0cnkuaHBwCi0rKysgYi9nbG0vZ3R4L2Zhc3RfdHJpZ29ub21ldHJ5LmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9ndGMvY29uc3RhbnRzLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2Zhc3RfdHJpZ29ub21ldHJ5IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9ncmFkaWVudF9wYWludC5ocHAgYi9nbG0vZ3R4L2dyYWRpZW50X3BhaW50LmhwcAotaW5kZXggMjcxM2NlYzAuLmQ0NzAzOTkxIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9ncmFkaWVudF9wYWludC5ocHAKLSsrKyBiL2dsbS9ndHgvZ3JhZGllbnRfcGFpbnQuaHBwCi1AQCAtMTcsNiArMTcsNyBAQAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotICNpbmNsdWRlICIuLi9ndHgvb3B0aW11bV9wb3cuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfZ3JhZGllbnRfcGFpbnQgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2hhbmRlZF9jb29yZGluYXRlX3NwYWNlLmhwcCBiL2dsbS9ndHgvaGFuZGVkX2Nvb3JkaW5hdGVfc3BhY2UuaHBwCi1pbmRleCAxZDBkNDEwNC4uM2E1MmRkY2YgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2hhbmRlZF9jb29yZGluYXRlX3NwYWNlLmhwcAotKysrIGIvZ2xtL2d0eC9oYW5kZWRfY29vcmRpbmF0ZV9zcGFjZS5ocHAKLUBAIC0xNSw2ICsxNSw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2hhbmRlZF9jb29yZGluYXRlX3NwYWNlIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9oYXNoLmhwcCBiL2dsbS9ndHgvaGFzaC5ocHAKLWluZGV4IGZlOGEzZWZkLi45MmJmYzliMiAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvaGFzaC5ocHAKLSsrKyBiL2dsbS9ndHgvaGFzaC5ocHAKLUBAIC0xMiw2ICsxMiw3IEBACi0gCi0gI3ByYWdtYSBvbmNlCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9oYXNoIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9pbnRlZ2VyLmhwcCBiL2dsbS9ndHgvaW50ZWdlci5ocHAKLWluZGV4IDk2NjM3YTEzLi41ZDFhMTZjNiAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvaW50ZWdlci5ocHAKLSsrKyBiL2dsbS9ndHgvaW50ZWdlci5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0Yy9pbnRlZ2VyLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2ludGVnZXIgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2ludGVyc2VjdC5ocHAgYi9nbG0vZ3R4L2ludGVyc2VjdC5ocHAKLWluZGV4IDYxZTIyMjZhLi40ODk1YmE5MyAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvaW50ZXJzZWN0LmhwcAotKysrIGIvZ2xtL2d0eC9pbnRlcnNlY3QuaHBwCi1AQCAtMjEsNiArMjEsNyBAQAotICNpbmNsdWRlICIuLi9ndHgvY2xvc2VzdF9wb2ludC5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0eC92ZWN0b3JfcXVlcnkuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfY2xvc2VzdF9wb2ludCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvaW8uaHBwIGIvZ2xtL2d0eC9pby5ocHAKLWluZGV4IDQ5YTFlYzExLi5hZTM5Y2Q2MCAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvaW8uaHBwCi0rKysgYi9nbG0vZ3R4L2lvLmhwcAotQEAgLTIzLDYgKzIzLDcgQEAKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3R4L3F1YXRlcm5pb24uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfaW8gaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2xvZ19iYXNlLmhwcCBiL2dsbS9ndHgvbG9nX2Jhc2UuaHBwCi1pbmRleCBlODczZTM1Ni4uNDViOGQ1M2MgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2xvZ19iYXNlLmhwcAotKysrIGIvZ2xtL2d0eC9sb2dfYmFzZS5ocHAKLUBAIC0xNSw2ICsxNSw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2xvZ19iYXNlIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9tYXRyaXhfY3Jvc3NfcHJvZHVjdC5ocHAgYi9nbG0vZ3R4L21hdHJpeF9jcm9zc19wcm9kdWN0LmhwcAotaW5kZXggOTY3NzQzYjguLjUyZDZjMTczIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9tYXRyaXhfY3Jvc3NfcHJvZHVjdC5ocHAKLSsrKyBiL2dsbS9ndHgvbWF0cml4X2Nyb3NzX3Byb2R1Y3QuaHBwCi1AQCAtMTYsNiArMTYsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9tYXRyaXhfY3Jvc3NfcHJvZHVjdCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbWF0cml4X2RlY29tcG9zZS5ocHAgYi9nbG0vZ3R4L21hdHJpeF9kZWNvbXBvc2UuaHBwCi1pbmRleCBiN2VjMGU4My4uNjc5M2ZlZTIgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L21hdHJpeF9kZWNvbXBvc2UuaHBwCi0rKysgYi9nbG0vZ3R4L21hdHJpeF9kZWNvbXBvc2UuaHBwCi1AQCAtMjAsNiArMjAsNyBAQAotICNpbmNsdWRlICIuLi9ndGMvcXVhdGVybmlvbi5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0Yy9tYXRyaXhfdHJhbnNmb3JtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX21hdHJpeF9kZWNvbXBvc2UgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L21hdHJpeF9mYWN0b3Jpc2F0aW9uLmhwcCBiL2dsbS9ndHgvbWF0cml4X2ZhY3RvcmlzYXRpb24uaHBwCi1pbmRleCBlMzBhNzc0Ni4uNzljMjkzYmUgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L21hdHJpeF9mYWN0b3Jpc2F0aW9uLmhwcAotKysrIGIvZ2xtL2d0eC9tYXRyaXhfZmFjdG9yaXNhdGlvbi5ocHAKLUBAIC0xNSw2ICsxNSw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX21hdHJpeF9mYWN0b3Jpc2F0aW9uIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9tYXRyaXhfaW50ZXJwb2xhdGlvbi5ocHAgYi9nbG0vZ3R4L21hdHJpeF9pbnRlcnBvbGF0aW9uLmhwcAotaW5kZXggODljNDU5NmMuLjc5OTk4M2JiIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9tYXRyaXhfaW50ZXJwb2xhdGlvbi5ocHAKLSsrKyBiL2dsbS9ndHgvbWF0cml4X2ludGVycG9sYXRpb24uaHBwCi1AQCAtMTYsNiArMTYsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9tYXRyaXhfaW50ZXJwb2xhdGlvbiBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbWF0cml4X21ham9yX3N0b3JhZ2UuaHBwIGIvZ2xtL2d0eC9tYXRyaXhfbWFqb3Jfc3RvcmFnZS5ocHAKLWluZGV4IDdmMjY0YTU5Li5lNjg0NjdjZCAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvbWF0cml4X21ham9yX3N0b3JhZ2UuaHBwCi0rKysgYi9nbG0vZ3R4L21hdHJpeF9tYWpvcl9zdG9yYWdlLmhwcAotQEAgLTE2LDYgKzE2LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbWF0cml4X21ham9yX3N0b3JhZ2UgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L21hdHJpeF9vcGVyYXRpb24uaHBwIGIvZ2xtL2d0eC9tYXRyaXhfb3BlcmF0aW9uLmhwcAotaW5kZXggYmNlOTM4YmIuLjFlODViYjVlIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9tYXRyaXhfb3BlcmF0aW9uLmhwcAotKysrIGIvZ2xtL2d0eC9tYXRyaXhfb3BlcmF0aW9uLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbWF0cml4X29wZXJhdGlvbiBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbWF0cml4X3F1ZXJ5LmhwcCBiL2dsbS9ndHgvbWF0cml4X3F1ZXJ5LmhwcAotaW5kZXggNWRmNWY1MmYuLmVlYzFlZWMwIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9tYXRyaXhfcXVlcnkuaHBwCi0rKysgYi9nbG0vZ3R4L21hdHJpeF9xdWVyeS5ocHAKLUBAIC0xOCw2ICsxOCw3IEBACi0gI2luY2x1ZGUgIi4uL2d0eC92ZWN0b3JfcXVlcnkuaHBwIgotICNpbmNsdWRlIDxsaW1pdHM+Ci0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9tYXRyaXhfcXVlcnkgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L21hdHJpeF90cmFuc2Zvcm1fMmQuaHBwIGIvZ2xtL2d0eC9tYXRyaXhfdHJhbnNmb3JtXzJkLmhwcAotaW5kZXggMjM5YWI5ZjQuLjNjYThkMmYyIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9tYXRyaXhfdHJhbnNmb3JtXzJkLmhwcAotKysrIGIvZ2xtL2d0eC9tYXRyaXhfdHJhbnNmb3JtXzJkLmhwcAotQEAgLTE3LDYgKzE3LDcgQEAKLSAjaW5jbHVkZSAiLi4vbWF0M3gzLmhwcCIKLSAjaW5jbHVkZSAiLi4vdmVjMi5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9tYXRyaXhfdHJhbnNmb3JtXzJkIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9taXhlZF9wcm9kdWN0LmhwcCBiL2dsbS9ndHgvbWl4ZWRfcHJvZHVjdC5ocHAKLWluZGV4IDU4NTYyYWFiLi41Yzc0NjBkNSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvbWl4ZWRfcHJvZHVjdC5ocHAKLSsrKyBiL2dsbS9ndHgvbWl4ZWRfcHJvZHVjdC5ocHAKLUBAIC0xNSw2ICsxNSw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX21peGVkX3Byb2R1Y3QgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L25vcm0uaHBwIGIvZ2xtL2d0eC9ub3JtLmhwcAotaW5kZXggNDY0NzRlMDcuLjNjZjJjM2VhIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9ub3JtLmhwcAotKysrIGIvZ2xtL2d0eC9ub3JtLmhwcAotQEAgLTE3LDYgKzE3LDcgQEAKLSAjaW5jbHVkZSAiLi4vZ2VvbWV0cmljLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3R4L3F1YXRlcm5pb24uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbm9ybSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbm9ybWFsLmhwcCBiL2dsbS9ndHgvbm9ybWFsLmhwcAotaW5kZXggMTVjZWM5YzIuLjdiYjRjMDk2IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9ub3JtYWwuaHBwCi0rKysgYi9nbG0vZ3R4L25vcm1hbC5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX25vcm1hbCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbm9ybWFsaXplX2RvdC5ocHAgYi9nbG0vZ3R4L25vcm1hbGl6ZV9kb3QuaHBwCi1pbmRleCA4NjA0OGU3MC4uYzY2MDRkYTQgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L25vcm1hbGl6ZV9kb3QuaHBwCi0rKysgYi9nbG0vZ3R4L25vcm1hbGl6ZV9kb3QuaHBwCi1AQCAtMTYsNiArMTYsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2d0eC9mYXN0X3NxdWFyZV9yb290LmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX25vcm1hbGl6ZV9kb3QgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L251bWJlcl9wcmVjaXNpb24uaHBwIGIvZ2xtL2d0eC9udW1iZXJfcHJlY2lzaW9uLmhwcAotaW5kZXggMzczMmE1NmMuLmI0ODg0NWY3IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9udW1iZXJfcHJlY2lzaW9uLmhwcAotKysrIGIvZ2xtL2d0eC9udW1iZXJfcHJlY2lzaW9uLmhwcAotQEAgLTE4LDYgKzE4LDcgQEAKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3RjL3R5cGVfcHJlY2lzaW9uLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX251bWJlcl9wcmVjaXNpb24gaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L29wdGltdW1fcG93LmhwcCBiL2dsbS9ndHgvb3B0aW11bV9wb3cuaHBwCi1pbmRleCBlYjA5ZjFjMy4uOTRhNmJiYjIgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L29wdGltdW1fcG93LmhwcAotKysrIGIvZ2xtL2d0eC9vcHRpbXVtX3Bvdy5ocHAKLUBAIC0xNSw2ICsxNSw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX29wdGltdW1fcG93IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9vcnRob25vcm1hbGl6ZS5ocHAgYi9nbG0vZ3R4L29ydGhvbm9ybWFsaXplLmhwcAotaW5kZXggMmE2ODRlZTQuLjRmZjQ3ZTUzIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9vcnRob25vcm1hbGl6ZS5ocHAKLSsrKyBiL2dsbS9ndHgvb3J0aG9ub3JtYWxpemUuaHBwCi1AQCAtMTgsNiArMTgsNyBAQAotICNpbmNsdWRlICIuLi9tYXQzeDMuaHBwIgotICNpbmNsdWRlICIuLi9nZW9tZXRyaWMuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfb3J0aG9ub3JtYWxpemUgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3BlcnBlbmRpY3VsYXIuaHBwIGIvZ2xtL2d0eC9wZXJwZW5kaWN1bGFyLmhwcAotaW5kZXggMzU2MDFhYzcuLjE3MjUxZWJlIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9wZXJwZW5kaWN1bGFyLmhwcAotKysrIGIvZ2xtL2d0eC9wZXJwZW5kaWN1bGFyLmhwcAotQEAgLTE3LDYgKzE3LDcgQEAKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3R4L3Byb2plY3Rpb24uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfcGVycGVuZGljdWxhciBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvcG9sYXJfY29vcmRpbmF0ZXMuaHBwIGIvZ2xtL2d0eC9wb2xhcl9jb29yZGluYXRlcy5ocHAKLWluZGV4IGI4NDIxZGI0Li41MTI1MjE1ZCAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvcG9sYXJfY29vcmRpbmF0ZXMuaHBwCi0rKysgYi9nbG0vZ3R4L3BvbGFyX2Nvb3JkaW5hdGVzLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfcG9sYXJfY29vcmRpbmF0ZXMgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3Byb2plY3Rpb24uaHBwIGIvZ2xtL2d0eC9wcm9qZWN0aW9uLmhwcAotaW5kZXggOWEyNGFiZjkuLjRkNWJmNzZmIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9wcm9qZWN0aW9uLmhwcAotKysrIGIvZ2xtL2d0eC9wcm9qZWN0aW9uLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nZW9tZXRyaWMuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfcHJvamVjdGlvbiBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvcXVhdGVybmlvbi5ocHAgYi9nbG0vZ3R4L3F1YXRlcm5pb24uaHBwCi1pbmRleCBjM2Q5OWE1Yy4uODA4YmEwZmQgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3F1YXRlcm5pb24uaHBwCi0rKysgYi9nbG0vZ3R4L3F1YXRlcm5pb24uaHBwCi1AQCAtMTksNiArMTksNyBAQAotICNpbmNsdWRlICIuLi9ndGMvcXVhdGVybmlvbi5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0eC9ub3JtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3F1YXRlcm5pb24gaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3JhbmdlLmhwcCBiL2dsbS9ndHgvcmFuZ2UuaHBwCi1pbmRleCBlMGVmNDZhZi4uMDNjNzk3YzMgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3JhbmdlLmhwcAotKysrIGIvZ2xtL2d0eC9yYW5nZS5ocHAKLUBAIC0xNSw2ICsxNSw3IEBACi0gLy8gRGVwZW5kZW5jaWVzCi0gI2luY2x1ZGUgIi4uL2RldGFpbC9zZXR1cC5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9yYW5nZSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvcmF3X2RhdGEuaHBwIGIvZ2xtL2d0eC9yYXdfZGF0YS5ocHAKLWluZGV4IGZiMzRjOGNiLi4wMDg0ZmVjNiAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvcmF3X2RhdGEuaHBwCi0rKysgYi9nbG0vZ3R4L3Jhd19kYXRhLmhwcAotQEAgLTE2LDYgKzE2LDcgQEAKLSAjaW5jbHVkZSAiLi4vZGV0YWlsL3NldHVwLmhwcCIKLSAjaW5jbHVkZSAiLi4vZGV0YWlsL3R5cGVfaW50LmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3Jhd19kYXRhIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9yb3RhdGVfbm9ybWFsaXplZF9heGlzLmhwcCBiL2dsbS9ndHgvcm90YXRlX25vcm1hbGl6ZWRfYXhpcy5ocHAKLWluZGV4IGVlZTkwZDZlLi44MjYxMjkyOCAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvcm90YXRlX25vcm1hbGl6ZWRfYXhpcy5ocHAKLSsrKyBiL2dsbS9ndHgvcm90YXRlX25vcm1hbGl6ZWRfYXhpcy5ocHAKLUBAIC0xOSw2ICsxOSw3IEBACi0gI2luY2x1ZGUgIi4uL2d0Yy9lcHNpbG9uLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3RjL3F1YXRlcm5pb24uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfcm90YXRlX25vcm1hbGl6ZWRfYXhpcyBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvcm90YXRlX3ZlY3Rvci5ocHAgYi9nbG0vZ3R4L3JvdGF0ZV92ZWN0b3IuaHBwCi1pbmRleCBjOGFjZTg5ZS4uZTk1NGIwNDEgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3JvdGF0ZV92ZWN0b3IuaHBwCi0rKysgYi9nbG0vZ3R4L3JvdGF0ZV92ZWN0b3IuaHBwCi1AQCAtMTcsNiArMTcsNyBAQAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotICNpbmNsdWRlICIuLi9ndHgvdHJhbnNmb3JtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3JvdGF0ZV92ZWN0b3IgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3NjYWxhcl9tdWx0aXBsaWNhdGlvbi5ocHAgYi9nbG0vZ3R4L3NjYWxhcl9tdWx0aXBsaWNhdGlvbi5ocHAKLWluZGV4IGI3M2VkZjY3Li4yMmJhYTUyYSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvc2NhbGFyX211bHRpcGxpY2F0aW9uLmhwcAotKysrIGIvZ2xtL2d0eC9zY2FsYXJfbXVsdGlwbGljYXRpb24uaHBwCi1AQCAtMTYsNiArMTYsNyBAQAotIAotICNpbmNsdWRlICIuLi9kZXRhaWwvc2V0dXAuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfc2NhbGFyX211bHRpcGxpY2F0aW9uIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9zY2FsYXJfcmVsYXRpb25hbC5ocHAgYi9nbG0vZ3R4L3NjYWxhcl9yZWxhdGlvbmFsLmhwcAotaW5kZXggN2ZjOGMxY2MuLmYyMWYzYjJiIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9zY2FsYXJfcmVsYXRpb25hbC5ocHAKLSsrKyBiL2dsbS9ndHgvc2NhbGFyX3JlbGF0aW9uYWwuaHBwCi1AQCAtMTUsNiArMTUsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9leHRlbmQgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3NwbGluZS5ocHAgYi9nbG0vZ3R4L3NwbGluZS5ocHAKLWluZGV4IGY5NmQ3ZTA3Li43NjM1OWNmZCAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvc3BsaW5lLmhwcAotKysrIGIvZ2xtL2d0eC9zcGxpbmUuaHBwCi1AQCAtMTYsNiArMTYsNyBAQAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotICNpbmNsdWRlICIuLi9ndHgvb3B0aW11bV9wb3cuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfc3BsaW5lIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9zdGRfYmFzZWRfdHlwZS5ocHAgYi9nbG0vZ3R4L3N0ZF9iYXNlZF90eXBlLmhwcAotaW5kZXggNTVhMmYwNzQuLjkyNTMyYjllIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9zdGRfYmFzZWRfdHlwZS5ocHAKLSsrKyBiL2dsbS9ndHgvc3RkX2Jhc2VkX3R5cGUuaHBwCi1AQCAtMTcsNiArMTcsNyBAQAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotICNpbmNsdWRlIDxjc3RkbGliPgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfc3RkX2Jhc2VkX3R5cGUgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3N0cmluZ19jYXN0LmhwcCBiL2dsbS9ndHgvc3RyaW5nX2Nhc3QuaHBwCi1pbmRleCA0YjRlMjgwZi4uZGZjZDUwODUgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3N0cmluZ19jYXN0LmhwcAotKysrIGIvZ2xtL2d0eC9zdHJpbmdfY2FzdC5ocHAKLUBAIC0yNCw2ICsyNCw3IEBACi0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8Y21hdGg+Ci0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9zdHJpbmdfY2FzdCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvdGV4dHVyZS5ocHAgYi9nbG0vZ3R4L3RleHR1cmUuaHBwCi1pbmRleCAzMTJiZjM5OC4uN2FmMTg1ZjYgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3RleHR1cmUuaHBwCi0rKysgYi9nbG0vZ3R4L3RleHR1cmUuaHBwCi1AQCAtMTcsNiArMTcsNyBAQAotICNpbmNsdWRlICIuLi9ndGMvaW50ZWdlci5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0eC9jb21wb25lbnRfd2lzZS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF90ZXh0dXJlIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC90cmFuc2Zvcm0uaHBwIGIvZ2xtL2d0eC90cmFuc2Zvcm0uaHBwCi1pbmRleCBkMjNiOTljZS4uNWE1ZDk2MTkgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3RyYW5zZm9ybS5ocHAKLSsrKyBiL2dsbS9ndHgvdHJhbnNmb3JtLmhwcAotQEAgLTE5LDYgKzE5LDcgQEAKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3RjL21hdHJpeF90cmFuc2Zvcm0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfdHJhbnNmb3JtIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC90cmFuc2Zvcm0yLmhwcCBiL2dsbS9ndHgvdHJhbnNmb3JtMi5ocHAKLWluZGV4IDg1ZjViZWE0Li41ZDdjODNmYyAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvdHJhbnNmb3JtMi5ocHAKLSsrKyBiL2dsbS9ndHgvdHJhbnNmb3JtMi5ocHAKLUBAIC0xNyw2ICsxNyw3IEBACi0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0eC90cmFuc2Zvcm0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfdHJhbnNmb3JtMiBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvdHlwZV9hbGlnbmVkLmhwcCBiL2dsbS9ndHgvdHlwZV9hbGlnbmVkLmhwcAotaW5kZXggNmZmOWYyNzYuLjZhZDkyZmFkIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC90eXBlX2FsaWduZWQuaHBwCi0rKysgYi9nbG0vZ3R4L3R5cGVfYWxpZ25lZC5ocHAKLUBAIC0xOCw2ICsxOCw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ3RjL3R5cGVfcHJlY2lzaW9uLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3R5cGVfYWxpZ25lZCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvdHlwZV90cmFpdC5ocHAgYi9nbG0vZ3R4L3R5cGVfdHJhaXQuaHBwCi1pbmRleCA2MzdiYmQxOS4uNjU1MTljYWIgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3R5cGVfdHJhaXQuaHBwCi0rKysgYi9nbG0vZ3R4L3R5cGVfdHJhaXQuaHBwCi1AQCAtMTIsNiArMTIsNyBAQAotIAotICNwcmFnbWEgb25jZQotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfdHlwZV90cmFpdCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvdmVjX3N3aXp6bGUuaHBwIGIvZ2xtL2d0eC92ZWNfc3dpenpsZS5ocHAKLWluZGV4IGRhZWJhYzM4Li4xM2Q1MjNkYyAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvdmVjX3N3aXp6bGUuaHBwCi0rKysgYi9nbG0vZ3R4L3ZlY19zd2l6emxlLmhwcAotQEAgLTE0LDYgKzE0LDcgQEAKLSAKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3ZlY19zd2l6emxlIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC92ZWN0b3JfYW5nbGUuaHBwIGIvZ2xtL2d0eC92ZWN0b3JfYW5nbGUuaHBwCi1pbmRleCA0MDFhNDdlYi4uOThjOWQxMTAgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3ZlY3Rvcl9hbmdsZS5ocHAKLSsrKyBiL2dsbS9ndHgvdmVjdG9yX2FuZ2xlLmhwcAotQEAgLTIwLDYgKzIwLDcgQEAKLSAjaW5jbHVkZSAiLi4vZ3R4L3F1YXRlcm5pb24uaHBwIgotICNpbmNsdWRlICIuLi9ndHgvcm90YXRlX3ZlY3Rvci5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF92ZWN0b3JfYW5nbGUgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3ZlY3Rvcl9xdWVyeS5ocHAgYi9nbG0vZ3R4L3ZlY3Rvcl9xdWVyeS5ocHAKLWluZGV4IDY1NjBlYWE1Li41YWIxZmZkYSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvdmVjdG9yX3F1ZXJ5LmhwcAotKysrIGIvZ2xtL2d0eC92ZWN0b3JfcXVlcnkuaHBwCi1AQCAtMTcsNiArMTcsNyBAQAotICNpbmNsdWRlIDxjZmxvYXQ+Ci0gI2luY2x1ZGUgPGxpbWl0cz4KLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3ZlY3Rvcl9xdWVyeSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvd3JhcC5ocHAgYi9nbG0vZ3R4L3dyYXAuaHBwCi1pbmRleCAyYzRiNTVkZi4uNWJmMjZhMzMgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3dyYXAuaHBwCi0rKysgYi9nbG0vZ3R4L3dyYXAuaHBwCi1AQCAtMTYsNiArMTYsNyBAQAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotICNpbmNsdWRlICIuLi9ndGMvdmVjMS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF93cmFwIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi0tLSAKLTIuMTQuMwotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2ZpbGVzLzAwMDItZ2xtLWluc3RhbGwtaGVhZGVycy1vbmx5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsbS9maWxlcy8wMDAyLWdsbS1pbnN0YWxsLWhlYWRlcnMtb25seS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWJlMzMxOC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2ZpbGVzLzAwMDItZ2xtLWluc3RhbGwtaGVhZGVycy1vbmx5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotRnJvbSA3ZmRkMzZkNzQ5NjIzOGUwM2U0M2ZjYzMyODM5Zjc1NTg4MTE2YzVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMTYgTWFyIDIwMTggMTU6NDQ6NDggKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIGdsbTogaW5zdGFsbCBoZWFkZXJzIG9ubHkKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotUGxhdXNpYmlsaXR5IGNoZWNrIGluIHJvb3Qgc291cmNlIHBhdGgKLQotJCBmaW5kIGdsbSAtdHlwZSBmICEgLW5hbWUgJyouaHBwJyAhIC1uYW1lICcqLmgnICEgLW5hbWUgJyouaW5sJwotZ2xtL2RldGFpbC9nbG0uY3BwCi1nbG0vZGV0YWlsL2R1bW15LmNwcAotZ2xtL2V4cGVyaW1lbnRhbC5ocHAuaW4KLWdsbS9DTWFrZUxpc3RzLnR4dAotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotCi1VcHRyZWFtLVN0YXR1czogU3VibWl0dGVkIFsxXQotCi1bMV0gaHR0cHM6Ly9naXRodWIuY29tL2ctdHJ1Yy9nbG0vcHVsbC83NDEKLS0tLQotIENNYWtlTGlzdHMudHh0IHwgNyArKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAotaW5kZXggYmQ0ZGQ2NTQuLjExM2RkNzM1IDEwMDY0NAotLS0tIGEvQ01ha2VMaXN0cy50eHQKLSsrKyBiL0NNYWtlTGlzdHMudHh0Ci1AQCAtMTcxLDcgKzE3MSwxMiBAQCBvcHRpb24oR0xNX0lOU1RBTExfRU5BQkxFICJHTE0gaW5zdGFsbCIgT04pCi0gCi0gc2V0KEdMTV9JTlNUQUxMX0NPTkZJR0RJUiAiJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0vY21ha2UvZ2xtIikKLSBpZiAoR0xNX0lOU1RBTExfRU5BQkxFKQotLQlpbnN0YWxsKERJUkVDVE9SWSBnbG0gREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0lOQ0xVREVESVJ9KQotKwlpbnN0YWxsKERJUkVDVE9SWSBnbG0KLSsJCURFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9JTkNMVURFRElSfQotKwkJRklMRVNfTUFUQ0hJTkcKLSsJCQlQQVRURVJOICIqLmgiCi0rCQkJUEFUVEVSTiAiKi5ocHAiCi0rCQkJUEFUVEVSTiAiKi5pbmwiKQotIAlpbnN0YWxsKEZJTEVTICIke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZXhwZXJpbWVudGFsLmhwcCIgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0lOQ0xVREVESVJ9L2dsbSkKLSBlbmRpZigpCi0gCi0tLSAKLTIuMTQuMwotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2dsbS8wMDAxLWdsbS1SZW1vdmUtcmVkdW5kYW50LWRvdWJsZS1zZW1pLWNvbG9ucy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZ2xtLzAwMDEtZ2xtLVJlbW92ZS1yZWR1bmRhbnQtZG91YmxlLXNlbWktY29sb25zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlNTBmMmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2dsbS8wMDAxLWdsbS1SZW1vdmUtcmVkdW5kYW50LWRvdWJsZS1zZW1pLWNvbG9ucy5wYXRjaApAQCAtMCwwICsxLDEyMCBAQAorRnJvbSAzZjY4NjllMzkyYjA2MWYyOTMyZjNkZjE1NWI2Y2MzN2UzZTdkMzQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMSBNYXIgMjAxOSAxMDo1NjowNSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBnbG06IFJlbW92ZSByZWR1bmRhbnQgZG91YmxlIHNlbWktY29sb25zCisKK01ha2UgY2xhbmcgaGFwcHkKKy9nbG0vZ3RjLy4uL2V4dC8uLi9kZXRhaWwvLi4vc2ltZC9jb21tb24uaDoxMDY6NDU6IGVycm9yOiBlbXB0eSBleHByZXNzaW9uIHN0YXRlbWVudCBoYXMgbm8gZWZmZWN0OyByZW1vdmUgdW5uZWNlc3NhcnkgJzsnIHRvIHNpbGVuY2UgdGhpcyB3YXJuaW5nIFstV2Vycm9yLC1XZXh0cmEtc2VtaS1zdG10XQorfCAgICAgICAgIGdsbV92ZWM0IGNvbnN0IG9yMCA9IF9tbV9vcl9wcyhhbmQwLCBhbmQxKTs7Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KK3wgMSBlcnJvciBnZW5lcmF0ZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vZy10cnVjL2dsbS9wdWxsLzg3NF0KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGdsbS9ndHgvYXNzb2NpYXRlZF9taW5fbWF4LmlubCAgICAgIHwgOCArKysrLS0tLQorIGdsbS9zaW1kL2NvbW1vbi5oICAgICAgICAgICAgICAgICAgIHwgMiArLQorIHRlc3QvY29yZS9jb3JlX2Z1bmNfZXhwb25lbnRpYWwuY3BwIHwgNiArKystLS0KKyB0ZXN0L2d0eC9ndHhfZWFzaW5nLmNwcCAgICAgICAgICAgICB8IDQgKystLQorIDQgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nbG0vZ3R4L2Fzc29jaWF0ZWRfbWluX21heC5pbmwgYi9nbG0vZ3R4L2Fzc29jaWF0ZWRfbWluX21heC5pbmwKK2luZGV4IDFhNDU5YWRkLi41MTg2YzQ3MSAxMDA2NDQKKy0tLSBhL2dsbS9ndHgvYXNzb2NpYXRlZF9taW5fbWF4LmlubAorKysrIGIvZ2xtL2d0eC9hc3NvY2lhdGVkX21pbl9tYXguaW5sCitAQCAtODYsNyArODYsNyBAQCBHTE1fRlVOQ19RVUFMSUZJRVIgVSBhc3NvY2lhdGVkTWluCisgKQorIHsKKyAJVCBUZXN0MSA9IG1pbih4LCB5KTsKKy0JVCBUZXN0MiA9IG1pbih6LCB3KTs7CisrCVQgVGVzdDIgPSBtaW4oeiwgdyk7CisgCVUgUmVzdWx0MSA9IHggPCB5ID8gYSA6IGI7CisgCVUgUmVzdWx0MiA9IHogPCB3ID8gYyA6IGQ7CisgCVUgUmVzdWx0ID0gVGVzdDEgPCBUZXN0MiA/IFJlc3VsdDEgOiBSZXN1bHQyOworQEAgLTE1Miw3ICsxNTIsNyBAQCBHTE1fRlVOQ19RVUFMSUZJRVIgdmVjPEwsIFUsIFE+IGFzc29jaWF0ZWRNaW4KKyAJZm9yKGxlbmd0aF90IGkgPSAwLCBuID0gUmVzdWx0Lmxlbmd0aCgpOyBpIDwgbjsgKytpKQorIAl7CisgCQlUIFRlc3QxID0gbWluKHhbaV0sIHlbaV0pOworLQkJVCBUZXN0MiA9IG1pbih6W2ldLCB3W2ldKTs7CisrCQlUIFRlc3QyID0gbWluKHpbaV0sIHdbaV0pOworIAkJVSBSZXN1bHQxID0geFtpXSA8IHlbaV0gPyBhIDogYjsKKyAJCVUgUmVzdWx0MiA9IHpbaV0gPCB3W2ldID8gYyA6IGQ7CisgCQlSZXN1bHRbaV0gPSBUZXN0MSA8IFRlc3QyID8gUmVzdWx0MSA6IFJlc3VsdDI7CitAQCAtMjc4LDcgKzI3OCw3IEBAIEdMTV9GVU5DX1FVQUxJRklFUiBVIGFzc29jaWF0ZWRNYXgKKyApCisgeworIAlUIFRlc3QxID0gbWF4KHgsIHkpOworLQlUIFRlc3QyID0gbWF4KHosIHcpOzsKKysJVCBUZXN0MiA9IG1heCh6LCB3KTsKKyAJVSBSZXN1bHQxID0geCA+IHkgPyBhIDogYjsKKyAJVSBSZXN1bHQyID0geiA+IHcgPyBjIDogZDsKKyAJVSBSZXN1bHQgPSBUZXN0MSA+IFRlc3QyID8gUmVzdWx0MSA6IFJlc3VsdDI7CitAQCAtMzQ0LDcgKzM0NCw3IEBAIEdMTV9GVU5DX1FVQUxJRklFUiB2ZWM8TCwgVSwgUT4gYXNzb2NpYXRlZE1heAorIAlmb3IobGVuZ3RoX3QgaSA9IDAsIG4gPSBSZXN1bHQubGVuZ3RoKCk7IGkgPCBuOyArK2kpCisgCXsKKyAJCVQgVGVzdDEgPSBtYXgoeFtpXSwgeVtpXSk7CistCQlUIFRlc3QyID0gbWF4KHpbaV0sIHdbaV0pOzsKKysJCVQgVGVzdDIgPSBtYXgoeltpXSwgd1tpXSk7CisgCQlVIFJlc3VsdDEgPSB4W2ldID4geVtpXSA/IGEgOiBiOworIAkJVSBSZXN1bHQyID0geltpXSA+IHdbaV0gPyBjIDogZDsKKyAJCVJlc3VsdFtpXSA9IFRlc3QxID4gVGVzdDIgPyBSZXN1bHQxIDogUmVzdWx0MjsKK2RpZmYgLS1naXQgYS9nbG0vc2ltZC9jb21tb24uaCBiL2dsbS9zaW1kL2NvbW1vbi5oCitpbmRleCBkMDc5MjBhMy4uOWIwMTdjYjQgMTAwNjQ0CistLS0gYS9nbG0vc2ltZC9jb21tb24uaAorKysrIGIvZ2xtL3NpbWQvY29tbW9uLmgKK0BAIC0xMDMsNyArMTAzLDcgQEAgR0xNX0ZVTkNfUVVBTElGSUVSIGdsbV92ZWM0IGdsbV92ZWM0X3NpZ24oZ2xtX3ZlYzQgeCkKKyAJZ2xtX3ZlYzQgY29uc3QgY21wMSA9IF9tbV9jbXBndF9wcyh4LCB6cm8wKTsKKyAJZ2xtX3ZlYzQgY29uc3QgYW5kMCA9IF9tbV9hbmRfcHMoY21wMCwgX21tX3NldDFfcHMoLTEuMGYpKTsKKyAJZ2xtX3ZlYzQgY29uc3QgYW5kMSA9IF9tbV9hbmRfcHMoY21wMSwgX21tX3NldDFfcHMoMS4wZikpOworLQlnbG1fdmVjNCBjb25zdCBvcjAgPSBfbW1fb3JfcHMoYW5kMCwgYW5kMSk7OworKwlnbG1fdmVjNCBjb25zdCBvcjAgPSBfbW1fb3JfcHMoYW5kMCwgYW5kMSk7CisgCXJldHVybiBvcjA7CisgfQorIAorZGlmZiAtLWdpdCBhL3Rlc3QvY29yZS9jb3JlX2Z1bmNfZXhwb25lbnRpYWwuY3BwIGIvdGVzdC9jb3JlL2NvcmVfZnVuY19leHBvbmVudGlhbC5jcHAKK2luZGV4IGE0MTRhNGU5Li4zODBjZGZiMSAxMDA2NDQKKy0tLSBhL3Rlc3QvY29yZS9jb3JlX2Z1bmNfZXhwb25lbnRpYWwuY3BwCisrKysgYi90ZXN0L2NvcmUvY29yZV9mdW5jX2V4cG9uZW50aWFsLmNwcAorQEAgLTE1MywxMyArMTUzLDEzIEBAIHN0YXRpYyBpbnQgdGVzdF9pbnZlcnNlc3FydCgpCisgCWZsb2F0IEEgPSBnbG06OmludmVyc2VzcXJ0KDE2LmYpICogZ2xtOjpzcXJ0KDE2LmYpOworIAlFcnJvciArPSBnbG06OmVxdWFsKEEsIDEuZiwgMC4wMWYpID8gMCA6IDE7CisgCistCWdsbTo6dmVjMSBCID0gZ2xtOjppbnZlcnNlc3FydChnbG06OnZlYzEoMTYuZikpICogZ2xtOjpzcXJ0KDE2LmYpOzsKKysJZ2xtOjp2ZWMxIEIgPSBnbG06OmludmVyc2VzcXJ0KGdsbTo6dmVjMSgxNi5mKSkgKiBnbG06OnNxcnQoMTYuZik7CisgCUVycm9yICs9IGdsbTo6YWxsKGdsbTo6ZXF1YWwoQiwgZ2xtOjp2ZWMxKDEuZiksIDAuMDFmKSkgPyAwIDogMTsKKyAKKy0JZ2xtOjp2ZWMyIEMgPSBnbG06OmludmVyc2VzcXJ0KGdsbTo6dmVjMigxNi5mKSkgKiBnbG06OnNxcnQoMTYuZik7OworKwlnbG06OnZlYzIgQyA9IGdsbTo6aW52ZXJzZXNxcnQoZ2xtOjp2ZWMyKDE2LmYpKSAqIGdsbTo6c3FydCgxNi5mKTsKKyAJRXJyb3IgKz0gZ2xtOjphbGwoZ2xtOjplcXVhbChDLCBnbG06OnZlYzIoMS5mKSwgMC4wMWYpKSA/IDAgOiAxOworIAorLQlnbG06OnZlYzMgRCA9IGdsbTo6aW52ZXJzZXNxcnQoZ2xtOjp2ZWMzKDE2LmYpKSAqIGdsbTo6c3FydCgxNi5mKTs7CisrCWdsbTo6dmVjMyBEID0gZ2xtOjppbnZlcnNlc3FydChnbG06OnZlYzMoMTYuZikpICogZ2xtOjpzcXJ0KDE2LmYpOworIAlFcnJvciArPSBnbG06OmFsbChnbG06OmVxdWFsKEQsIGdsbTo6dmVjMygxLmYpLCAwLjAxZikpID8gMCA6IDE7CisgCisgCWdsbTo6dmVjNCBFID0gZ2xtOjppbnZlcnNlc3FydChnbG06OnZlYzQoMTYuZikpICogZ2xtOjpzcXJ0KDE2LmYpOworZGlmZiAtLWdpdCBhL3Rlc3QvZ3R4L2d0eF9lYXNpbmcuY3BwIGIvdGVzdC9ndHgvZ3R4X2Vhc2luZy5jcHAKK2luZGV4IGIzZTEzOTk3Li4wZTk4Y2Q1MyAxMDA2NDQKKy0tLSBhL3Rlc3QvZ3R4L2d0eF9lYXNpbmcuY3BwCisrKysgYi90ZXN0L2d0eC9ndHhfZWFzaW5nLmNwcAorQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlCisgCQlyID0gZ2xtOjpjaXJjdWxhckVhc2VPdXQoYSk7CisgCQlyID0gZ2xtOjpjaXJjdWxhckVhc2VJbk91dChhKTsKKyAKKy0JCXIgPSBnbG06OmV4cG9uZW50aWFsRWFzZUluKGEpOzsKKysJCXIgPSBnbG06OmV4cG9uZW50aWFsRWFzZUluKGEpOworIAkJciA9IGdsbTo6ZXhwb25lbnRpYWxFYXNlT3V0KGEpOworIAkJciA9IGdsbTo6ZXhwb25lbnRpYWxFYXNlSW5PdXQoYSk7CisgCitAQCAtNDYsNyArNDYsNyBAQCBuYW1lc3BhY2UKKyAJCXIgPSBnbG06OmJhY2tFYXNlT3V0KGEpOworIAkJciA9IGdsbTo6YmFja0Vhc2VJbk91dChhKTsKKyAKKy0JCXIgPSBnbG06OmJvdW5jZUVhc2VJbihhKTs7CisrCQlyID0gZ2xtOjpib3VuY2VFYXNlSW4oYSk7CisgCQlyID0gZ2xtOjpib3VuY2VFYXNlT3V0KGEpOworIAkJciA9IGdsbTo6Ym91bmNlRWFzZUluT3V0KGEpOworIAl9CistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2dsbV8wLjkuOS1hMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZ2xtXzAuOS45LWEyLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZjE2NzA4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZ2xtXzAuOS45LWEyLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotU1VNTUFSWSA9ICJPcGVuR0wgTWF0aGVtYXRpY3MgTGlicmFyeSIKLURFU0NSSVBUSU9OID0gIk9wZW5HTCBNYXRoZW1hdGljcyAoR0xNKSBpcyBhIGhlYWRlciBvbmx5IEMrKyBcCi1tYXRoZW1hdGljcyBsaWJyYXJ5IGZvciBncmFwaGljcyBzb2Z0d2FyZSBiYXNlZCBvbiB0aGUgT3BlbkdMIFwKLVNoYWRpbmcgTGFuZ3VhZ2UgKEdMU0wpIHNwZWNpZmljYXRpb25zLiIKLUhPTUVQQUdFID0gImh0dHBzOi8vZ2xtLmctdHJ1Yy5uZXQiCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9nLXRydWMvZ2xtL2lzc3VlcyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vcmVhZG1lLm1kO2JlZ2lubGluZT0yMTtlbmRsaW5lPTIyO21kNT0zMDc1YjU3MjdkMzZmMjllZGNjZjk3YjkzZTcyYjc5MCIKLQotU1JDX1VSSSA9ICIgXAotICAgIGdpdDovL2dpdGh1Yi5jb20vZy10cnVjL2dsbTticmFuY2g9bWFzdGVyIFwKLSAgICBmaWxlOi8vMDAwMS1NYWtlLUdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMLWEtY29uZmlndXJhYmxlLW9wdGlvbi5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDItZ2xtLWluc3RhbGwtaGVhZGVycy1vbmx5LnBhdGNoIFwKLSIKLVNSQ1JFViA9ICJmY2JlZGY1MDU4ZWY4NjEzZGQwMmFhYzYyZWYwMGQ1NWRjZmVhZGQ3IgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGNtYWtlCi0KLUVYVFJBX09FQ01BS0UgPSAiLURHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTD1PTiIKLQotUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2dsbV8wLjkuOS4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsbS9nbG1fMC45LjkuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTI2YTViCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsbS9nbG1fMC45LjkuMy5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIk9wZW5HTCBNYXRoZW1hdGljcyBMaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiT3BlbkdMIE1hdGhlbWF0aWNzIChHTE0pIGlzIGEgaGVhZGVyIG9ubHkgQysrIFwKK21hdGhlbWF0aWNzIGxpYnJhcnkgZm9yIGdyYXBoaWNzIHNvZnR3YXJlIGJhc2VkIG9uIHRoZSBPcGVuR0wgXAorU2hhZGluZyBMYW5ndWFnZSAoR0xTTCkgc3BlY2lmaWNhdGlvbnMuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9nbG0uZy10cnVjLm5ldCIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ctdHJ1Yy9nbG0vaXNzdWVzIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9yZWFkbWUubWQ7YmVnaW5saW5lPTIxO2VuZGxpbmU9MjI7bWQ1PTMwNzViNTcyN2QzNmYyOWVkY2NmOTdiOTNlNzJiNzkwIgorCitTUkNfVVJJID0gIiBcCisgICAgZ2l0Oi8vZ2l0aHViLmNvbS9nLXRydWMvZ2xtO2JyYW5jaD1tYXN0ZXIgXAorICAgIGZpbGU6Ly8wMDAxLWdsbS1SZW1vdmUtcmVkdW5kYW50LWRvdWJsZS1zZW1pLWNvbG9ucy5wYXRjaCBcCisiCisjIHYwLjkuOS4zCitTUkNSRVYgPSAiOTc0OTcyN2MyZGI0NzQyMzY5MjE5ZTFkNDUyZjQzZTkxODczNGI0ZSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZQorCitSREVQRU5EU18ke1BOfS1kZXYgPSAiIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncmFwaHZpei9ncmFwaHZpei8wMDAxLVVzZS1uYXRpdmUtbWtkZWZzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dyYXBodml6L2dyYXBodml6LzAwMDEtVXNlLW5hdGl2ZS1ta2RlZnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWI1MWQwMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncmFwaHZpei9ncmFwaHZpei8wMDAxLVVzZS1uYXRpdmUtbWtkZWZzLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gNWU1M2I2NDM2MTVmZDUzZjNmZjk2MDUyMWJiZTlkOTU2NDFlNWY2OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDIwIEphbiAyMDE5IDIzOjU4OjI5ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBuYXRpdmUgbWtkZWZzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CistLS0KKyBsaWIvZ3Zwci9NYWtlZmlsZS5hbSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2xpYi9ndnByL01ha2VmaWxlLmFtIGIvbGliL2d2cHIvTWFrZWZpbGUuYW0KK2luZGV4IGFjM2MwOTguLjQ5MTQ4NTQgMTAwNjQ0CistLS0gYS9saWIvZ3Zwci9NYWtlZmlsZS5hbQorKysrIGIvbGliL2d2cHIvTWFrZWZpbGUuYW0KK0BAIC01Nyw3ICs1Nyw3IEBAIGVuZGlmCisgbWtkZWZzX1NPVVJDRVMgPSBta2RlZnMuYworIAorIGdkZWZzLmg6ICQodG9wX3NyY2RpcikvbGliL2d2cHIvZ3ByZGF0YSBta2RlZnMkKEVYRUVYVCkKKy0JLi9ta2RlZnMkKEVYRUVYVCkgZ2RlZnMuaCA8ICQodG9wX3NyY2RpcikvbGliL2d2cHIvZ3ByZGF0YQorKwlta2RlZnMkKEVYRUVYVCkgZ2RlZnMuaCA8ICQodG9wX3NyY2RpcikvbGliL2d2cHIvZ3ByZGF0YQorIAorIEVYVFJBX0RJU1QgPSAkKG1hbl9NQU5TKSAkKHBkZl9EQVRBKSBncHJkYXRhIG1rZGVmcy5jIGdkZWZzLmggdHJpZS5jIGd2cHJsaWIudmN4cHJvaioKKyAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncmFwaHZpei9ncmFwaHZpel8yLjQwLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3JhcGh2aXovZ3JhcGh2aXpfMi40MC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZWZmZmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3JhcGh2aXovZ3JhcGh2aXpfMi40MC4xLmJiCkBAIC0wLDAgKzEsNTkgQEAKK1NVTU1BUlkgPSAiR3JhcGggVmlzdWFsaXphdGlvbiBUb29scyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3JhcGh2aXoub3JnIgorTElDRU5TRSA9ICJFUEwtMS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTEwOWY1ZmMxNmNmOTYzZmIzY2RkMzI3ODFiM2NlMDQiCisKK0RFUEVORFMgPSAiIFwKKyAgICBpbnRsdG9vbC1uYXRpdmUgXAorICAgIGJpc29uLW5hdGl2ZSBcCisgICAgZ3JvZmYtbmF0aXZlIFwKKyAgICBsaWJ0b29sIFwKKyAgICBnZGstcGl4YnVmIFwKKyAgICBsaWJyc3ZnIFwKKyAgICBjYWlybyBcCisgICAgcGFuZ28gXAorICAgIGV4cGF0IFwKKyAgICBmcmVldHlwZSBcCisiCitERVBFTkRTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QlBOfS1uYXRpdmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgZ2V0dGV4dAorCisjIFRoZSBzb3VyY2UgdGFyYmFsbCBzdWdnZXN0ZWQgYXQKKyMgaHR0cHM6Ly9ncmFwaHZpei5naXRsYWIuaW8vX3BhZ2VzL0Rvd25sb2FkL0Rvd25sb2FkX3NvdXJjZS5odG1sIGhhcyBubworIyB2ZXJzaW9uIGluIGl0cyBuYW1lLiBTbyBvbmNlIGdyYXBodml6IGlzIHVwZGdyYWRlZCwgb25seSBmaXJzdCB0aW1lIHVzZXJzIHdpbGwKKyMgZ2V0IGNoZWNrc3VtIGVycm9ycy4gRmVkb3JhIHBlb3BsZSBzZWVtIHRvIGV4cGVjdCBzYW1lIHNvIHRoZXkgdXNlIGEgdmVyc2lvbmVkCisjIHNvdXJjZSAtIHNlZSBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9jZ2l0L3JwbXMvZ3JhcGh2aXouZ2l0L3RyZWUvZ3JhcGh2aXouc3BlYworCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0bGFiLmNvbS9ncmFwaHZpei9ncmFwaHZpei8tL2FyY2hpdmUvc3RhYmxlX3JlbGVhc2VfJHtQVn0vZ3JhcGh2aXotc3RhYmxlX3JlbGVhc2VfJHtQVn0udGFyLmd6IFwKKyIKKyMgVXNlIG5hdGl2ZSBta2RlZnMKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgZmlsZTovLzAwMDEtVXNlLW5hdGl2ZS1ta2RlZnMucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiMmFjZjMwY2E4ZTZjYzhiMDAxYjAzMzRkYjY1ZmQwNzIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTZjM2Y4ZGJmZGUxYzQ1MjMwNTU0MDM5MjdiZWYyOWY5N2Y5ZmMxMjcxNWMxMDQyYjVkY2Y2NDhhMmMxYzYyYSIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfS1zdGFibGVfcmVsZWFzZV8ke1BWfSIKKworRVhUUkFfT0VDT05GX2NsYXNzLXRhcmdldCA9ICJcCisgICAgICAgICAgICAgICAgLS13aXRoLWV4cGF0aW5jbHVkZWRpcj0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgLS13aXRoLWV4cGF0bGliZGlyPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtaW5jbHVkZWQtbHRkbCBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWphdmEgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1yIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtc2hhcnAgXAorICAgICAgICAgICAgICAgICIKK0NGTEFHU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAtRF90eXBfc3NpemVfdD0xIC1EX2xvbmdfZG91YmxlPTEiCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBjZCAke1N9CisgICAgIyBjcmVhdGUgdmVyc2lvbi5tNCBhbmQgaWdub3JlIGxpYnRvb2xpemUgZXJyb3JzCisgICAgLi9hdXRvZ2VuLnNoIE5PQ09ORklHIHx8IHRydWUKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgICMgaW5zdGFsbCBta2RlZnMgZm9yIHRhcmdldCBidWlsZAorICAgIGluc3RhbGwgLW03NTUgJHtCfS9saWIvZ3Zwci9ta2RlZnMgJHtEfSR7YmluZGlyfQorfQorCitGSUxFU19TT0xJQlNERVZfYXBwZW5kID0gIiAke2xpYmRpcn0vZ3JhcGh2aXovbGliKiR7U09MSUJTREVWfSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Rrd2F2ZS9ndGt3YXZlXzMuMy45OC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ndGt3YXZlL2d0a3dhdmVfMy4zLjk4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwZGY2ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Rrd2F2ZS9ndGt3YXZlXzMuMy45OC5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIlZDRCAoVmFsdWUgQ2hhbmdlIER1bXApIGZpbGUgd2F2ZWZvcm0gdmlld2VyIgorREVTQ1JJUFRJT04gPSAiZ3Rrd2F2ZSBpcyBhIHZpZXdlciBmb3IgVkNEIChWYWx1ZSBDaGFuZ2UgRHVtcCkgZmlsZXMgd2hpY2ggYXJlIHVzdWFsbHkgY3JlYXRlZCBieSBkaWdpdGFsIGNpcmN1aXQgc2ltdWxhdG9ycy4gKFRoZXNlIGZpbGVzIGhhdmUgbm8gY29ubmVjdGlvbiB0byB2aWRlbyBDRHMhKSAiCitIT01FUEFHRSA9ICJodHRwOi8vZ3Rrd2F2ZS5zb3VyY2Vmb3JnZS5uZXQvIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzU4NTk5ODk1NDVlMzc5NjhhOTliNjMxZWY0MjcyMmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL2d0a3dhdmUuc291cmNlZm9yZ2UubmV0LyR7UE59LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImVhYzMwNzNlZjM4MWUwYzA5ZGEzMzU5MDI5NmNhMzdmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVmYTZiYmJlYjNiZDU0MTA0NDI1YTY5YTJhYTBkMDc5YmI1YzNlY2MxYzQyMGJhNTdkY2FhMWM5N2M1YTIyZjYiCisKK2luaGVyaXQgcGtnY29uZmlnIGF1dG90b29scyBnZXR0ZXh0IHRleGluZm8KK0RFUEVORFMgPSAidGNsIHRrIGdwZXJmLW5hdGl2ZSBiemlwMiB4eiBwYW5nbyB6bGliIGd0aysgZ2RrLXBpeGJ1ZiBnbGliLTIuMCIKK1JERVBFTkRTXyR7UE59ID0gInRrLWxpYiIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC10Y2w9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30gLS13aXRoLXRrPSR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9IgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0gJHtkYXRhZGlyfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJmb3Jtcy9maWxlcy9hZGQtYWJzb2x1dGUtcGF0aC1mb3ItaW5jbHVkZS1kaXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGliZm9ybXMvZmlsZXMvYWRkLWFic29sdXRlLXBhdGgtZm9yLWluY2x1ZGUtZGlyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiNDAwZjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGliZm9ybXMvZmlsZXMvYWRkLWFic29sdXRlLXBhdGgtZm9yLWluY2x1ZGUtZGlyLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK2RpZmYgLU5hdXIgeGZvcm1zLTEuMi4zLm9yaWcvZmRlc2lnbi9NYWtlZmlsZS5hbSB4Zm9ybXMtMS4yLjMvZmRlc2lnbi9NYWtlZmlsZS5hbQorLS0tIHhmb3Jtcy0xLjIuMy5vcmlnL2ZkZXNpZ24vTWFrZWZpbGUuYW0JMjAxOS0wMi0yNCAxMjo1ODo1MS45Njg2NDU4NzMgKzAwMDAKKysrKyB4Zm9ybXMtMS4yLjMvZmRlc2lnbi9NYWtlZmlsZS5hbQkyMDE5LTAyLTI0IDEzOjAwOjQ4LjUwMDYzNTE2MyArMDAwMAorQEAgLTExLDcgKzExLDcgQEAKKyBmZGVzaWduLjE6CisgCWNwIC1wICQoc3JjZGlyKS9mZGVzaWduLm1hbiBmZGVzaWduLjEKKyAKKy1JTkNMVURFUyA9IC1JLi94cG0gJChYX0NGTEFHUykKKytJTkNMVURFUyA9IC1JLi94cG0gLUkkKHNyY2RpcikveHBtICQoWF9DRkxBR1MpCisgCisgYmluX1BST0dSQU1TID0gZmRlc2lnbgorIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmZvcm1zL2ZpbGVzL2ZpeC1saW5rLXRvLXhmb3Jtcy1tYW4ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGliZm9ybXMvZmlsZXMvZml4LWxpbmstdG8teGZvcm1zLW1hbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTViZDE4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmZvcm1zL2ZpbGVzL2ZpeC1saW5rLXRvLXhmb3Jtcy1tYW4ucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorZGlmZiAtTmF1ciB4Zm9ybXMtMS4yLjMub3JpZy9saWIvTWFrZWZpbGUuYW0geGZvcm1zLTEuMi4zL2xpYi9NYWtlZmlsZS5hbQorLS0tIHhmb3Jtcy0xLjIuMy5vcmlnL2xpYi9NYWtlZmlsZS5hbQkyMDE5LTAyLTI0IDEyOjUzOjU4LjM0MDY3ODM3MyArMDAwMAorKysrIHhmb3Jtcy0xLjIuMy9saWIvTWFrZWZpbGUuYW0JMjAxOS0wMi0yNCAxMjo1NDozMy4wOTY2NzQxMDIgKzAwMDAKK0BAIC0yNSw3ICsyNSw3IEBACisgbWFuX01BTlMgPSB4Zm9ybXMuNQorIAorIHhmb3Jtcy41OgorLQljcCAtcCAuL3hmb3Jtcy5tYW4geGZvcm1zLjUKKysJY3AgLXAgJChzcmNkaXIpL3hmb3Jtcy5tYW4geGZvcm1zLjUKKyAKKyBsaWJmb3Jtc19sYV9TT1VSQ0VTID0gXAorIAlhbGlnbi5jIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJmb3Jtcy9maWxlcy9maXgtcGF0aC1mZGVzaWduX0xEQURELnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmZvcm1zL2ZpbGVzL2ZpeC1wYXRoLWZkZXNpZ25fTERBREQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM5NTZkZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJmb3Jtcy9maWxlcy9maXgtcGF0aC1mZGVzaWduX0xEQURELnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK2RpZmYgLU5hdXIgeGZvcm1zLTEuMi4zLm9yaWcvZmRlc2lnbi9NYWtlZmlsZS5hbSB4Zm9ybXMtMS4yLjMvZmRlc2lnbi9NYWtlZmlsZS5hbQorLS0tIHhmb3Jtcy0xLjIuMy5vcmlnL2ZkZXNpZ24vTWFrZWZpbGUuYW0JMjAxOS0wMi0yNCAxMzowODo0OC40MTI2MDMyNTAgKzAwMDAKKysrKyB4Zm9ybXMtMS4yLjMvZmRlc2lnbi9NYWtlZmlsZS5hbQkyMDE5LTAyLTI0IDEzOjA5OjE4LjQxMjYwMTg3NCArMDAwMAorQEAgLTE1LDcgKzE1LDcgQEAKKyAKKyBiaW5fUFJPR1JBTVMgPSBmZGVzaWduCisgCistZmRlc2lnbl9MREFERCA9ICQodG9wX3NyY2RpcikvbGliL2xpYmZvcm1zLmxhICQoWF9MSUJTKSAkKFhfUFJFX0xJQlMpICQoWFBNX0xJQikgLWxYMTEgJChMSUJTKSAkKFhfRVhUUkFfTElCUykKKytmZGVzaWduX0xEQUREID0gJCh0b3BfYnVpbGRkaXIpL2xpYi9saWJmb3Jtcy5sYSAkKFhfTElCUykgJChYX1BSRV9MSUJTKSAkKFhQTV9MSUIpIC1sWDExICQoTElCUykgJChYX0VYVFJBX0xJQlMpCisgCisgZmRlc2lnbl9TT1VSQ0VTID0gXAorIAlmZF9hdHRyaWJzLmMgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmZvcm1zL2xpYmZvcm1zXzEuMi4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmZvcm1zL2xpYmZvcm1zXzEuMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4NmQ3YzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGliZm9ybXMvbGliZm9ybXNfMS4yLjMuYmIKQEAgLTAsMCArMSwyNiBAQAorREVTQ1JJUFRJT04gPSAiVGhlIFhGb3JtcyBncmFwaGljYWwgaW50ZXJmYWNlIHdpZGdldCBsaWJyYXJ5CSIKK0hPTUVQQUdFID0gImh0dHA6Ly9zYXZhbm5haC5ub25nbnUub3JnL3Byb2plY3RzL3hmb3Jtcy8iCitQUiA9ICJyMCIKKworTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9YWRlOWEwNTNkZjgxZjViOTQwOGQyZjRmNTU0NmRmODYiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnNhdmFubmFoLm5vbmdudS5vcmcvcmVsZWFzZXMveGZvcm1zL3hmb3Jtcy0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZml4LWxpbmstdG8teGZvcm1zLW1hbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hZGQtYWJzb2x1dGUtcGF0aC1mb3ItaW5jbHVkZS1kaXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LXBhdGgtZmRlc2lnbl9MREFERC5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjM1NzIwYTc1OGE4YjhkOWU2ZTQ1MmRjNjcxOTBlOWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzk4OWIzOTU5OGM3Njk4MjBhZDQ1MWFkOTFlNWNiMGRlMjk5NDY5NDBjODI0MGFhYzk0Y2E4MjM4YzJkZWY2MSIKKworaW5oZXJpdCBhdXRvdG9vbHMgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJvcGVuZ2wiCisKK1MgPSAiJHtXT1JLRElSfS94Zm9ybXMtJHtQVn0iCisKK0RFUEVORFMgPSAibGlieHBtIGpwZWcgbGlieDExIG1lc2EiCitSREVQRU5EU18ke1BOfSA9ICJiYXNoIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWV4dHJhLWluYz0ke1N9L2xpYiIgCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlidm5jc2VydmVyL2xpYnZuY3NlcnZlcl8wLjkuMTEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlidm5jc2VydmVyL2xpYnZuY3NlcnZlcl8wLjkuMTEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4ZGFjMDYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZuY3NlcnZlci9saWJ2bmNzZXJ2ZXJfMC45LjExLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAibGlicmFyeSBmb3IgZWFzeSBpbXBsZW1lbnRhdGlvbiBvZiBhIFJEUC9WTkMgc2VydmVyIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9saWJ2bmMuZ2l0aHViLmlvIgotU0VDVElPTiA9ICJsaWJzIgotUFJJT1JJVFkgPSAib3B0aW9uYWwiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzYxYjZiODM3Y2FkMjZjNjkwMGE5MjZiNjJhYWRhNWYiCi0KLURFUEVORFMgKz0gInpsaWIgbGlic2RsIGpwZWcgbGlicG5nIGd0aysgbGliZ2NyeXB0IG5ldHRsZSBnbnV0bHMgZ21wIgotCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCdzeXN0ZW1kJywnJyxkKX0iCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIiwsc3lzdGVtZCIKLQotUkRFUEVORFNfJHtQTn0gKz0gImxpYnBuZyBndGsrIGxpYmdjcnlwdCIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIGJpbmNvbmZpZyBwa2djb25maWcKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vTGliVk5DL2xpYnZuY3NlcnZlci9hcmNoaXZlL0xpYlZOQ1NlcnZlci0ke1BWfS50YXIuZ3oiCi1TUkNfVVJJW21kNXN1bV0gPSAiN2YwNjEwNGQ1YzAwOTgxM2U5NTE0MjkzMmM0ZGRiMDYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTkzZDYzMDM3MjcyMmE1MzIxMzZmZDI1YzUzMjZiMmNhMWE2MzZjYmI4YmY5YmIxMTVlZjg2OWM4MDRkMjg5NCIKLQotUyA9ICIke1dPUktESVJ9LyR7QlBOfS1MaWJWTkNTZXJ2ZXItJHtQVn0iCi0KLVRBUkdFVF9MREZMQUdTICs9ICItbGdjcnlwdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJ2bmNzZXJ2ZXIvbGlidm5jc2VydmVyX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJ2bmNzZXJ2ZXIvbGlidm5jc2VydmVyX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OGE4NTliCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZuY3NlcnZlci9saWJ2bmNzZXJ2ZXJfZ2l0LmJiCkBAIC0wLDAgKzEsMzQgQEAKK0RFU0NSSVBUSU9OID0gImxpYnJhcnkgZm9yIGVhc3kgaW1wbGVtZW50YXRpb24gb2YgYSBSRFAvVk5DIHNlcnZlciIKK0hPTUVQQUdFID0gImh0dHBzOi8vbGlidm5jLmdpdGh1Yi5pbyIKK1NFQ1RJT04gPSAibGlicyIKK1BSSU9SSVRZID0gIm9wdGlvbmFsIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM2MWI2YjgzN2NhZDI2YzY5MDBhOTI2YjYyYWFkYTVmIgorCitQQUNLQUdFQ09ORklHID8/PSAiIFwKKyAgICBnY3J5cHQgXAorICAgIGdudXRscyBcCisgICAganBlZyBcCisgICAgbHpvIFwKKyAgICBwbmcgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywnc3lzdGVtZCcsJycsZCl9IFwKKyAgICBzZGwgXAorICAgIHpsaWIgXAorIgorUEFDS0FHRUNPTkZJR1tnY3J5cHRdID0gIi1EV0lUSF9HQ1JZUFQ9T04sLURXSVRIX0dDUllQVD1PRkYsbGliZ2NyeXB0LGxpYmdjcnlwdCIKK1BBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItRFdJVEhfR05VVExTPU9OLC1EV0lUSF9HTlVUTFM9T0ZGLGdudXRscyIKK1BBQ0tBR0VDT05GSUdbanBlZ10gPSAiLURXSVRIX0pQRUc9T04sLURXSVRIX0pQRUc9T0ZGLGpwZWciCitQQUNLQUdFQ09ORklHW2x6b10gPSAiLURXSVRIX0xaTz1PTiwtRFdJVEhfTFpPPU9GRixsem8iCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi1EV0lUSF9PUEVOU1NMPU9OLC1EV0lUSF9PUEVOU1NMPU9GRixvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1twbmddID0gIi1EV0lUSF9QTkc9T04sLURXSVRIX1BORz1PRkYsbGlicG5nLGxpYnBuZyIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLURXSVRIX1NZU1RFTUQ9T04sLURXSVRIX1NZU1RFTUQ9T0ZGLHN5c3RlbWQiCitQQUNLQUdFQ09ORklHW3NkbF0gPSAiLURXSVRIX1NETD1PTiwtRFdJVEhfU0RMPU9GRixsaWJzZGwyIgorUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItRFdJVEhfWkxJQj1PTiwtRFdJVEhfWkxJQj1PRkYsemxpYiIKKworaW5oZXJpdCBjbWFrZQorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vTGliVk5DL2xpYnZuY3NlcnZlciIKK1NSQ1JFViA9ICJjMGEyMzg1N2E1YzQyYjQ1YjZkMjJjY2Y3MjE4YmVjZDFmYTY5NDAyIgorCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ29tbV8yLjQwLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ29tbV8yLjQwLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwZjcyY2QuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvbW1fMi40MC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotU1VNTUFSWSA9ICJDKysgYmluZGluZ3MgZm9yIHRoZSBwYW5nbyBsaWJyYXJ5IgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDgwNDVmM2I4ZjkyOWMxY2IyOWExZTNmZDczN2I0OTkgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy50b29sczttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi0KLURFUEVORFMgPSAibW0tY29tbW9uIGNhaXJvbW0gZ2xpYm1tIHBhbmdvIgotCi1TSFJUX1ZFUiA9ICIke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzBdfS4ke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzFdfSIKLQotU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9wYW5nb21tLyR7U0hSVF9WRVJ9L3BhbmdvbW0tJHtQVn0udGFyLnh6IgotU1JDX1VSSVttZDVzdW1dID0gIjg3NGVhZGQ5NDM0NjEzZGJhY2YwMjcyYzgyYzNhYzIzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk3NjJlZTJhMmQ1NzgxYmU2Nzk3NDQ4ZDRkZDIzODNjZTE0OTA3MTU5YjMwYmMxMmJmNmIwOGU3MjI3YmUzYWYiCi0KLWluaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGF1dG90b29scyBwa2djb25maWcKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotRVhUUkFfT0VDT05GID0gIiAtLWRpc2FibGUtZG9jdW1lbnRhdGlvbiAiCi0KLUZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWIqLnNvLioiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS8qL2luY2x1ZGUvICR7bGliZGlyfS9wYW5nb21tLSovIgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ29tbV8yLjQyLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ29tbV8yLjQyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE4NWRiNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nb21tXzIuNDIuMC5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkMrKyBiaW5kaW5ncyBmb3IgdGhlIHBhbmdvIGxpYnJhcnkiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xICYgR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLnRvb2xzO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworREVQRU5EUyA9ICJtbS1jb21tb24gY2Fpcm9tbSBnbGlibW0gcGFuZ28iCisKK1NIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzL3BhbmdvbW0vJHtTSFJUX1ZFUn0vcGFuZ29tbS0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiNmNmZmVkZjIyMjVjNGU3MjY0NWE3ZDc1N2ZiNWI4MzIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2E2ZGEwNjdmZjkzYTY0NDU3ODBjMGI0YjIyNmViODRmNDg0YWIxMDRiODM5MWZiNzQ0YTQ1Y2JjN2VkYmY1NiIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uICIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9LyovaW5jbHVkZS8gJHtsaWJkaXJ9L3BhbmdvbW0tKi8iCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9xcmVuY29kZS9xcmVuY29kZV9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvcXJlbmNvZGUvcXJlbmNvZGVfZ2l0LmJiCmluZGV4IGY1Mzk3NzUuLjEwOGMzMzkgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9xcmVuY29kZS9xcmVuY29kZV9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3FyZW5jb2RlL3FyZW5jb2RlX2dpdC5iYgpAQCAtNCw5ICs0LDkgQEAKIFNFQ1RJT04gPSAibGlicyIKIExJQ0VOU0UgPSAiTEdQTHYyLjEiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSIKLVBWID0gIjQuMC4wK2dpdCR7U1JDUFZ9IgorUFYgPSAiNC4wLjErZ2l0JHtTUkNQVn0iCiAKLVNSQ1JFViA9ICIwN2YzYzVkNGJmOTEzNjcxMTQyMmNjN2RiZjI4YWZmNDY5ZGEyMjBhIgorU1JDUkVWID0gIjdjODNkZWI4ZjU2MmFlNjAxM2ZlYTRjM2U2NTI3OGRmOTNmOThmYjciCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZnVrdWNoaS9saWJxcmVuY29kZS5naXQiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc3Bpci9maWxlcy8wMDAxLUFkZC1pbnN0YWxsLVBIT05ZLXRhcmdldC1pbi1NYWtlZmlsZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL2ZpbGVzLzAwMDEtQWRkLWluc3RhbGwtUEhPTlktdGFyZ2V0LWluLU1ha2VmaWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4NTk4ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc3Bpci9maWxlcy8wMDAxLUFkZC1pbnN0YWxsLVBIT05ZLXRhcmdldC1pbi1NYWtlZmlsZS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDhkOTg3MGI2NmMzY2ZjZjEyY2U3ZThlMDEzOTQ2ZTJhMjE1YmI3MjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmtpdCBOYXZpayA8YW5raXQudGFyb3RAZ21haWwuY29tPgorRGF0ZTogU2F0LCAyMiBEZWMgMjAxOCAxOToxNjowMiArMDUzMAorU3ViamVjdDogW1BBVENIXSBBZGQgaW5zdGFsbCBQSE9OWSB0YXJnZXQgaW4gTWFrZWZpbGUKKworLS0tCisgTWFrZWZpbGUgfCA4ICsrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggMDU2NGI2NS4uMDk5MzM3MiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTM1LDcgKzM1LDEzIEBAICQoU1RBVElDX0xJQik6ICQoT0JKRUNUUykKKyAlLm86ICUuY3BwCisgCSQoQ1hYKSAtYyAtbyAkQCAkPCAkKENYWEZMQUdTKSAtTU1ECisgCisraW5zdGFsbDoKKysJbWtkaXIgLXAgJChUQVJHRVRfRElSX0JJTikKKysJbWtkaXIgLXAgJChUQVJHRVRfRElSX0xJQikKKysJY3AgJChUQVJHRVQpICQoVEFSR0VUX0RJUl9CSU4pLworKwljcCAkKFNUQVRJQ19MSUIpICQoVEFSR0VUX0RJUl9MSUIpLworKworIGNsZWFuOgorIAlybSAtZiAkKFRBUkdFVCkgJChPQkpFQ1RTKSAkKENMSV9PQkpFQ1RTKSAkKFNUQVRJQ19MSUIpICQoREVQUykKKyAKKy0uUEhPTlk6IGNsZWFuCisrLlBIT05ZOiBhbGwgaW5zdGFsbCBjbGVhbgorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc3Bpci9maWxlcy8wMDAxLXRvb2xzLWxlc3NwaXBlLUFsbG93LWdlbmVyaWMtc2hlbGwucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc3Bpci9maWxlcy8wMDAxLXRvb2xzLWxlc3NwaXBlLUFsbG93LWdlbmVyaWMtc2hlbGwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlhNDVjMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL2ZpbGVzLzAwMDEtdG9vbHMtbGVzc3BpcGUtQWxsb3ctZ2VuZXJpYy1zaGVsbC5wYXRjaApAQCAtMCwwICsxLDI0IEBACitGcm9tIDAzMTI3ZmQ1YTZlZmY1YWUyZWJlYTJlOWM2YzAxZmJmMWEwYTQyMWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmtpdCBOYXZpayA8YW5raXQudGFyb3RAZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNSBEZWMgMjAxOCAxNDozNDowOSArMDUzMAorU3ViamVjdDogW1BBVENIXSB0b29scy9sZXNzcGlwZTogQWxsb3cgZ2VuZXJpYyBzaGVsbAorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9TUElSVi1Ub29scy9wdWxsLzIyNTVdCitTaWduZWQtb2ZmLWJ5OiBBbmtpdCBOYXZpayA8YW5raXQudGFyb3RAZ21haWwuY29tPgorLS0tCisgdG9vbHMvbGVzc3BpcGUvc3BpcnYtbGVzc3BpcGUuc2ggfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS90b29scy9sZXNzcGlwZS9zcGlydi1sZXNzcGlwZS5zaCBiL3Rvb2xzL2xlc3NwaXBlL3NwaXJ2LWxlc3NwaXBlLnNoCitpbmRleCA4MWUzMzU1Li5mOTU1MjU5IDEwMDY0NAorLS0tIGEvdG9vbHMvbGVzc3BpcGUvc3BpcnYtbGVzc3BpcGUuc2gKKysrKyBiL3Rvb2xzL2xlc3NwaXBlL3NwaXJ2LWxlc3NwaXBlLnNoCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL3Vzci9iaW4vZW52IHNoCisgIyBDb3B5cmlnaHQgKGMpIDIwMTYgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorIAorICMgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL3NwaXJ2LXNoYWRlci1nZW5lcmF0b3JfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NwaXIvc3BpcnYtc2hhZGVyLWdlbmVyYXRvcl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc4Nzk3MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL3NwaXJ2LXNoYWRlci1nZW5lcmF0b3JfZ2l0LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgID0gIlNQSVJWLUNyb3NzIGlzIGEgdG9vbCBkZXNpZ25lZCBmb3IgcGFyc2luZyBhbmQgY29udmVydGluZyBTUElSLVYgXAordG8gb3RoZXIgc2hhZGVyIGxhbmd1YWdlcyIKK0xJQ0VOU0UgID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zYjgzZWY5NjM4N2YxNDY1NWZjODU0ZGRjM2M2YmQ1NyIKK1NFQ1RJT04gPSAiZ3JhcGhpY3MiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCitTUkNSRVYgPSAiZWQxNmIzZTY5OTg1ZmVhZjU2NWVmYmVjZWE3MGExY2MyZmNhMmE1OCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9LaHJvbm9zR3JvdXAvU1BJUlYtQ3Jvc3MuZ2l0IFwKKwlmaWxlOi8vMDAwMS1BZGQtaW5zdGFsbC1QSE9OWS10YXJnZXQtaW4tTWFrZWZpbGUucGF0Y2ggXAorIgorCitFWFRSQV9PRU1BS0UgKz0gJ1RBUkdFVF9ESVJfTElCPSIke0R9JHtsaWJkaXJ9IicgCitFWFRSQV9PRU1BS0UgKz0gJ1RBUkdFVF9ESVJfQklOPSIke0R9JHtiaW5kaXJ9IicKKworZG9fY29tcGlsZSAoKSB7CisJY2QgJHtTfSAmJiBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwgKCkgeworCWNkICR7U30gJiYgb2VfcnVubWFrZSBpbnN0YWxsCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc3Bpci9zcGlydi10b29sc19naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc3Bpci9zcGlydi10b29sc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWFlMTFkZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL3NwaXJ2LXRvb2xzX2dpdC5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZICA9ICJUaGUgU1BJUi1WIFRvb2xzIHByb2plY3QgcHJvdmlkZXMgYW4gQVBJIGFuZCBjb21tYW5kcyBmb3IgXAorcHJvY2Vzc2luZyBTUElSLVYgbW9kdWxlcyIKK0RFU0NSSVBUSU9OID0gIlRoZSBwcm9qZWN0IGluY2x1ZGVzIGFuIGFzc2VtYmxlciwgYmluYXJ5IG1vZHVsZSBwYXJzZXIsIFwKK2Rpc2Fzc2VtYmxlciwgdmFsaWRhdG9yLCBhbmQgb3B0aW1pemVyIGZvciBTUElSLVYuIgorTElDRU5TRSAgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTNiODNlZjk2Mzg3ZjE0NjU1ZmM4NTRkZGMzYzZiZDU3IgorU0VDVElPTiA9ICJncmFwaGljcyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK0RFU1RfRElSID0gIiR7U30vZXh0ZXJuYWwiIAorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9TUElSVi1Ub29scy5naXQ7bmFtZT1zcGlydi10b29scyBcCisJZmlsZTovLzAwMDEtdG9vbHMtbGVzc3BpcGUtQWxsb3ctZ2VuZXJpYy1zaGVsbC5wYXRjaCBcCisJZ2l0Oi8vZ2l0aHViLmNvbS9LaHJvbm9zR3JvdXAvU1BJUlYtSGVhZGVycy5naXQ7bmFtZT1zcGlydi1oZWFkZXJzO2Rlc3RzdWZmaXg9JHtERVNUX0RJUn0vc3BpcnYtaGVhZGVycyBcCisJZ2l0Oi8vZ2l0aHViLmNvbS9nb29nbGUvZWZmY2VlLmdpdDtuYW1lPWVmZmNlZTtkZXN0c3VmZml4PSR7REVTVF9ESVJ9L2VmZmNlZSBcCisJZ2l0Oi8vZ2l0aHViLmNvbS9nb29nbGUvcmUyLmdpdDtuYW1lPXJlMjtkZXN0c3VmZml4PSR7REVTVF9ESVJ9L3JlMiBcCisJZ2l0Oi8vZ2l0aHViLmNvbS9nb29nbGUvZ29vZ2xldGVzdC5naXQ7bmFtZT1nb29nbGV0ZXN0O2Rlc3RzdWZmaXg9JHtERVNUX0RJUn0vZ29vZ2xldGVzdCBcCisiCitTUkNSRVZfc3BpcnYtdG9vbHMgPSAiMTY3ZjEyNzBhOWVlNjQxYjE3YzAxNmE1NDU3NDFlNGFhZGZhYmU4NiIKK1NSQ1JFVl9zcGlydi1oZWFkZXJzID0gIjQ2MThiODZlOWU0YjAyN2EyMjA0MDczMmRmZWUzNWUzOTljZDJjNDciCitTUkNSRVZfZWZmY2VlID0gIjhmMGE2MWRjOTVlMGRmMThjMThlMGFjNTZkODNiM2ZhOWQyZmU5MGIiCitTUkNSRVZfcmUyID0gIjJjZjg2ZTVhYjZkY2ZlMDQ1YTFmNTEwYzJiOWE4YjAxMmE0MTU4Y2QiCitTUkNSRVZfZ29vZ2xldGVzdCA9ICIxNTA2MTMxNjY1MjRjNDc0YThhOTdkZjRjMDFkNDZiNzIwNTBjNDk1IgorCitpbmhlcml0IGNtYWtlIHB5dGhvbjNuYXRpdmUKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJaW5zdGFsbCAtZCAke0R9LyR7aW5jbHVkZWRpcn0vc3BpcnYKKwlpbnN0YWxsIC1tIDA2NDQgJHtERVNUX0RJUn0vc3BpcnYtaGVhZGVycy9pbmNsdWRlL3NwaXJ2LzEuMi8qICR7RH0vJHtpbmNsdWRlZGlyfS9zcGlydgkKK30KKworRklMRVNfU09MSUJTREVWID0gIiIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vKi5zbyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWFycGhpYy11bWluZ18yMDA4MDIxNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWFycGhpYy11bWluZ18yMDA4MDIxNi5iYgppbmRleCA1MjJmMGZiLi45ZGUwMmIwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1hcnBoaWMtdW1pbmdfMjAwODAyMTYuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtYXJwaGljLXVtaW5nXzIwMDgwMjE2LmJiCkBAIC0xLDcgKzEsNyBAQAogU1VNTUFSWSA9ICJVbmljb2RlIE1pbmd0aSAocHJpbnRlZCkgVHJ1ZVR5cGUgRm9udCIKIEhPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvQ0pLVW5pZm9udHMiCiBMSUNFTlNFID0gIkFycGhpYy1QdWJsaWMtTGljZW5zZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTttZDU9NjJiZTAxMTA5NGI3ODY1ZGRjNGQxYTY0ODQ0NGQzMWEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9saWNlbnNlL2VuZ2xpc2gvQVJQSElDUEwuVFhUO21kNT00NTU1ZWQ4OGU5YTcyZmM5NTYyYWYzNzlkMDdjMzM1MCIKIFNSQ19ESVNUUklCVVRFX0xJQ0VOU0VTICs9ICIke1BOfSIKIFJQUk9WSURFU18ke1BOfSA9ICJ2aXJ0dWFsLWNoaW5lc2UtZm9udCIKIFBSID0gInI2IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtZHJvaWRfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtZHJvaWRfZ2l0LmJiCmluZGV4IGU2MmJhZGYuLjhkYmE3ZWUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWRyb2lkX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1kcm9pZF9naXQuYmIKQEAgLTEyLDggKzEyLDEyIEBACiAKIFMgPSAiJHtXT1JLRElSfS9naXQvZGF0YS9mb250cyIKIAotZG9faW5zdGFsbF9wcmVwZW5kKCkgewotICAgIHJtICR7U30vQWhlbS50dGYgTVRMYzNtLnR0ZiBEcm9pZFNhbnNBcmFiaWMudHRmIERyb2lkU2Fuc1RoYWkudHRmIENsb2Nrb3BpYS50dGYgTVRMbXIzbS50dGYgRHJvaWRTYW5zSGVicmV3LnR0ZiBEcm9pZFNhbnNGYWxsYmFja0xlZ2FjeS50dGYgIyB3ZSdyZSBub3QgcGFja2FnaW5nIGl0Citkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBmb3IgZiBpbiBBaGVtLnR0ZiBNVExjM20udHRmIERyb2lkU2Fuc0FyYWJpYy50dGYgRHJvaWRTYW5zVGhhaS50dGYgXAorICAgICAgICAgICAgIENsb2Nrb3BpYS50dGYgTVRMbXIzbS50dGYgRHJvaWRTYW5zSGVicmV3LnR0ZiBcCisgICAgICAgICAgICAgRHJvaWRTYW5zRmFsbGJhY2tMZWdhY3kudHRmOyBkbworICAgICAgICBybSAtZiAke0R9JHtkYXRhZGlyfS9mb250cy90cnVldHlwZS8kZgorICAgIGRvbmUKIH0KIAogUEFDS0FHRVMgPSAidHRmLWRyb2lkLXNhbnMgdHRmLWRyb2lkLXNhbnMtbW9ubyBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzLzAwMDEtbWlzYy1NYWtlZmlsZS5hbS1kb24tdC1pbnN0YWxsLVhkdW1teS13aGVuLWNvbmZpZ3VyZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMvZmlsZXMvMDAwMS1taXNjLU1ha2VmaWxlLmFtLWRvbi10LWluc3RhbGwtWGR1bW15LXdoZW4tY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExNWYzZmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzLzAwMDEtbWlzYy1NYWtlZmlsZS5hbS1kb24tdC1pbnN0YWxsLVhkdW1teS13aGVuLWNvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDY4NjQ5MTU3MzgyN2I5OGJhMDMxYWRhYTVkYTM3MzM2NjA3OWQzZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/SmVhbi1GcmFuPUMzPUE3b2lzPTIwRGFnZW5haXM/PSA8amVmZi5kYWdlbmFpc0BnbWFpbC5jb20+CitEYXRlOiBNb24sIDExIEZlYiAyMDE5IDExOjQyOjU5IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIG1pc2MvTWFrZWZpbGUuYW06IGRvbid0IGluc3RhbGwgWGR1bW15IHdoZW4gY29uZmlndXJlZAorIC0td2l0aG91dC14CisKK1Vwc3RyZWFtLXN0YXR1czogc3VibWl0dGVkIGh0dHBzOi8vZ2l0aHViLmNvbS9qZWZmLWRhZ2VuYWlzL3gxMXZuYy9wdWxsLzEKKworU2lnbmVkLW9mZi1ieTogSmVhbi1GcmFuY29pcyBEYWdlbmFpcyA8amVmZi5kYWdlbmFpc0BnbWFpbC5jb20+CistLS0KKyBtaXNjL01ha2VmaWxlLmFtIHwgNiArKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9taXNjL01ha2VmaWxlLmFtIGIvbWlzYy9NYWtlZmlsZS5hbQoraW5kZXggYzBiOThjOC4uZTRhMjJjMSAxMDA2NDQKKy0tLSBhL21pc2MvTWFrZWZpbGUuYW0KKysrKyBiL21pc2MvTWFrZWZpbGUuYW0KK0BAIC0xOCw3ICsxOCwxMCBAQCBFWFRSQV9ESVNUID0gXAorIAl1aW5wdXQucGwgXAorIAl1bHRyYXZuY19yZXBlYXRlci5wbCBcCisgCXZjaW5qZWN0LnBsIFwKKy0JeDExdm5jX2xvb3AgXAorKwl4MTF2bmNfbG9vcAorKworK2lmIEhBVkVfWDExCisrRVhUUkFfRElTVCArPSBcCisgCVhkdW1teS5jIFwKKyAJWGR1bW15LmluCisgCitAQCAtMzIsMyArMzUsNCBAQCBkb19kdW1teV9jX3N1YnN0ID0gJChTRUQpIFwKKyBYZHVtbXk6ICQoc3JjZGlyKS9YZHVtbXkuaW4gJChzcmNkaXIpL1hkdW1teS5jCisgCSQoZG9fZHVtbXlfY19zdWJzdCkgPCAkPCA+ICRALnRtcAorIAltdiAtZiAkQC50bXAgJEAKKytlbmRpZgorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9lbmRpYW4tZml4LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9lbmRpYW4tZml4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMmE1MzhiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMvZmlsZXMvZW5kaWFuLWZpeC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLWxpYnZuY3NlcnZlcjogcmVwbGFjZSBMSUJWTkNTRVJWRVJfV09SRFNfQklHRU5ESUFOIHdpdGggV09SRFNfQklHRU5ESUFOCi0KLXNpbmNlIG1hY3JvIEFDX0NfQklHRU5ESUFOIGlzIHVzZWQgaW4gYXV0b2NvbmYgYW5kIFdPUkRTX0JJR0VORElBTiBpcwotYXV0b21hdGljYWxseSBzZXQgZm9yIGRpZmZlcmVudCBhcmNoLCBpdCBpcyBiZXR0ZXIgdG8gdXNlIFdPUkRTX0JJR0VORElBTgotaW5zdGVhZCBvZiBMSUJWTkNTRVJWRVJfV09SRFNfQklHRU5ESUFOLCB3aGljaCBjdWFzZSBpc3N1ZSBpbiBtaXBzLgotCi1TaWduZWQtb2ZmLWJ5OiBZdSBLZSA8a2UueXVAaW50ZWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotZGlmZiAtLWdpdCBhL2xpYnZuY3NlcnZlci9tYWluLmMgYi9saWJ2bmNzZXJ2ZXIvbWFpbi5jCi1pbmRleCBiNmJkOTMwLi44YmJiN2JmIDEwMDY0NAotLS0tIGEvbGlidm5jc2VydmVyL21haW4uYwotKysrIGIvbGlidm5jc2VydmVyL21haW4uYwotQEAgLTQ3LDcgKzQ3LDcgQEAgc3RhdGljIE1VVEVYKGV4dE11dGV4KTsKLSAKLSBzdGF0aWMgaW50IHJmYkVuYWJsZUxvZ2dpbmc9MTsKLSAKLS0jaWZkZWYgTElCVk5DU0VSVkVSX1dPUkRTX0JJR0VORElBTgotKyNpZmRlZiBXT1JEU19CSUdFTkRJQU4KLSBjaGFyIHJmYkVuZGlhblRlc3QgPSAoMT09MCk7Ci0gI2Vsc2UKLSBjaGFyIHJmYkVuZGlhblRlc3QgPSAoMT09MSk7Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMvZmlsZXMvc3RhcnRpbmctZml4LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9zdGFydGluZy1maXgucGF0Y2gKaW5kZXggZjYyZTQwNS4uMDYwMzE5YyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9zdGFydGluZy1maXgucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9zdGFydGluZy1maXgucGF0Y2gKQEAgLTEwLDEwICsxMCwxMCBAQAogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCiAKLUluZGV4OiB4MTF2bmMtMC45LjEyL3gxMXZuYy94MTF2bmMuZGVza3RvcAorSW5kZXg6IHgxMXZuYy0wLjkuMTIveDExdm5jLmRlc2t0b3AKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB4MTF2bmMtMC45LjEyLm9yaWcveDExdm5jL3gxMXZuYy5kZXNrdG9wCTIwMTEtMDMtMDMgMTA6MzM6MTguMDAwMDAwMDAwICswODAwCi0rKysgeDExdm5jLTAuOS4xMi94MTF2bmMveDExdm5jLmRlc2t0b3AJMjAxMS0wMy0wMyAxMDozNToyMC4wMDAwMDAwMDAgKzA4MDAKKy0tLSB4MTF2bmMtMC45LjEyLm9yaWcveDExdm5jLmRlc2t0b3AJMjAxMS0wMy0wMyAxMDozMzoxOC4wMDAwMDAwMDAgKzA4MDAKKysrKyB4MTF2bmMtMC45LjEyL3gxMXZuYy5kZXNrdG9wCTIwMTEtMDMtMDMgMTA6MzU6MjAuMDAwMDAwMDAwICswODAwCiBAQCAtMSw3ICsxLDcgQEAKICBbRGVza3RvcCBFbnRyeV0KICBOYW1lPVgxMVZOQyBTZXJ2ZXIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMveDExdm5jXzAuOS4xMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMveDExdm5jXzAuOS4xMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjA0N2JjNC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL3gxMXZuY18wLjkuMTMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1TVU1NQVJZID0gIkV4cG9ydHMgeW91ciBYIHNlc3Npb24gb24tdGhlLWZseSB2aWEgVk5DIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5rYXJscnVuZ2UuY29tL3gxMXZuYy8iCi0KLVNFQ1RJT04gPSAieDExL3V0aWxzIgotQVVUSE9SID0gIkthcmwgUnVuZ2UiCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM2MWI2YjgzN2NhZDI2YzY5MDBhOTI2YjYyYWFkYTVmIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3gxMXZuYy94MTF2bmMuaDtlbmRsaW5lPTMzO21kNT02Zjk1ZGM2NTM1NDY3ZDdlZTE1NjNmZDQzNGZiMzcyZSIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbGlidm5jc2VydmVyL3gxMXZuYy8ke1BWfS94MTF2bmMtJHtQVn0udGFyLmd6XAotICAgICAgICAgICBmaWxlOi8vc3RhcnRpbmctZml4LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2VuZGlhbi1maXgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLXJlZHVuZGFudC1SUEFUSC5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJhMzcyZWM0ZmU4MjExMjIxNTQ3YjFjMTA4Y2Y1NmU0YyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmNjgyOWYyZTYyOTY2N2E1Mjg0ZGU2MmIwODBiMTMxMjZhMDczNjQ5OWZlNDdjZGI0NDdhZWRiMDdhNTlmMTNiIgotCi1ERVBFTkRTID0gIm9wZW5zc2wgdmlydHVhbC9saWJ4MTEgbGlieGV4dCBqcGVnIHpsaWIgbGlieGZpeGVzIGxpYnhyYW5kciBsaWJ4ZGFtYWdlIGxpYnh0c3QgbGlidGFzbjEgcDExLWtpdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIGRpc3Ryb19mZWF0dXJlc19jaGVjawotIyBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd6ZXJvY29uZicsICdhdmFoaScsICcnLCBkKX0gbGlidm5jc2VydmVyIgotUEFDS0FHRUNPTkZJR1thdmFoaV0gPSAiLS13aXRoLWF2YWhpLC0td2l0aG91dC1hdmFoaSxhdmFoaSIKLVBBQ0tBR0VDT05GSUdbeGluZXJhbWFdID0gIi0td2l0aC14aW5lcmFtYSwtLXdpdGhvdXQteGluZXJhbWEsbGlieGluZXJhbWEiCi1QQUNLQUdFQ09ORklHW2xpYnZuY3NlcnZlcl0gPSAiLS13aXRoLXN5c3RlbS1saWJ2bmNzZXJ2ZXIsLS13aXRob3V0LXN5c3RlbS1saWJ2bmNzZXJ2ZXIsbGlidm5jc2VydmVyIgotCi1kb19wcmVwYXJlX3NvdXJjZXMgKCkgewotICAgICMgUmVtb3ZlIG9sZCBsaWJ0b29sIG1hY3JvcyBmcm9tIGFjaW5jbHVkZS5tNAotICAgIHNlZCAtaSAtZSAnL14jIGxpYnRvb2wubTQvcScgJHtTfS9hY2luY2x1ZGUubTQKLX0KLWRvX3BhdGNoW3Bvc3RmdW5jc10gKz0gImRvX3ByZXBhcmVfc291cmNlcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMveDExdm5jXzAuOS4xNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMveDExdm5jXzAuOS4xNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWFjZTAyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy94MTF2bmNfMC45LjE2LmJiCkBAIC0wLDAgKzEsNDAgQEAKK1NVTU1BUlkgPSAiRXhwb3J0cyB5b3VyIFggc2Vzc2lvbiBvciBGcmFtZUJ1ZmZlcihmYmRldikgb24tdGhlLWZseSB2aWEgVk5DIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5rYXJscnVuZ2UuY29tL3gxMXZuYy8iCisKK1NFQ1RJT04gPSAieDExL3V0aWxzIgorQVVUSE9SID0gIkthcmwgUnVuZ2UiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy94MTF2bmMuaDtlbmRsaW5lPTMxO21kNT1lODcxYTJhZDAwNDc3Njc5NGI2MTY4MjJkY2FiNjMxNCIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vTGliVk5DL3gxMXZuYy9hcmNoaXZlLyR7UFZ9LnRhci5nejtkb3dubG9hZGZpbGVuYW1lPXgxMXZuYy0ke1BWfS50YXIuZ3pcCisgICAgICAgICAgIGZpbGU6Ly9zdGFydGluZy1maXgucGF0Y2ggXAorCSAgIGZpbGU6Ly8wMDAxLW1pc2MtTWFrZWZpbGUuYW0tZG9uLXQtaW5zdGFsbC1YZHVtbXktd2hlbi1jb25maWd1cmUucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjQxNzJlOGY4OTYzODllYzk2M2ZmZjkzNDE1ZjBkOTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODg1ZTViNWY1ZjI1ZWVjNmY5ZTRhMWU4YmUzZDBhYzcxYTY4NjMzMWVlMWNmYjQ0MmRiYTM5MTExMWJkMzJiZCIKKworREVQRU5EUyA9ICJcCisJanBlZyBcCisJbGlidGFzbjEgXAorCWxpYnZuY3NlcnZlciBcCisJb3BlbnNzbCBcCisJcDExLWtpdCBcCisJemxpYiBcCisiCisKK2luaGVyaXQgcGtnY29uZmlnIGF1dG90b29scyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworQU5ZX09GX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEgZmJkZXYiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJcCisJJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd6ZXJvY29uZicsICdhdmFoaScsICcnLCBkKX0gXAorCSR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSBcCisiCisKK1BBQ0tBR0VDT05GSUdbYXZhaGldID0gIi0td2l0aC1hdmFoaSwtLXdpdGhvdXQtYXZhaGksYXZhaGkiCitQQUNLQUdFQ09ORklHW3hpbmVyYW1hXSA9ICItLXdpdGgteGluZXJhbWEsLS13aXRob3V0LXhpbmVyYW1hLGxpYnhpbmVyYW1hIgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14LC0td2l0aG91dC14LCBsaWJ4ZGFtYWdlIGxpYnhleHQgbGlieGZpeGVzIGxpYnhyYW5kciBsaWJ4dHN0IHZpcnR1YWwvbGlieDExIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2ZiZGV2JywgJ2tlcm5lbC1tb2R1bGUtdWlucHV0JywgJycsIGQpfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC90d21fMS4wLjEwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3R3bV8xLjAuMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2EyMjY3YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC90d21fMS4wLjEwLmJiCkBAIC0wLDAgKzEsMTUgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCitTVU1NQVJZID0gInRpbnkgd2luZG93IG1hbmFnZXIiCitERVBFTkRTICs9ICIgbGlieGV4dCBsaWJ4dCBsaWJ4bXUgYmlzb24tbmF0aXZlIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRjNmQ0MmVmNjBlODE2NmFhMjY2MDY1MjRjMGI5NTg2IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTMyMmMwOGVlYjYzNWY5MjRlZGU1YjhlYmEzZGI1NGUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjQ0OWVhZGNhMTZjZTBmMGQ5MDA2MDViMGNjMDIwYjk1ZjQwNjE5MjYxYjdiZWNjZmI0NmJjYzE4MzY0NDVkNyIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vWDExL3R3bS9zeXN0ZW0udHdtcmMiCitBTFRFUk5BVElWRV9OQU1FID0gIngtd2luZG93LW1hbmFnZXIiCitBTFRFUk5BVElWRV9QQVRIID0gIiR7YmluZGlyfS90d20iCitBTFRFUk5BVElWRV9MSU5LID0gIiR7YmluZGlyfS94LXdpbmRvdy1tYW5hZ2VyIgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC90d21fMS4wLjkuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvdHdtXzEuMC45LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MWM4MDRiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC90d21fMS4wLjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYwotU1VNTUFSWSA9ICJ0aW55IHdpbmRvdyBtYW5hZ2VyIgotREVQRU5EUyArPSAiIGxpYnhleHQgbGlieHQgbGlieG11IGJpc29uLW5hdGl2ZSIKLQotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00YzZkNDJlZjYwZTgxNjZhYTI2NjA2NTI0YzBiOTU4NiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjU5YTZmMDc2Y2RhY2I1ZjY5NDVkYWM4MDliY2Y0OTA2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImM1NzUxNjdhYzMzZWRmM2JkMTU5MmYxYmVkZmUwNTU5ZGViYjEyOGVkNWZiNDg3M2MxMjc4ZTNiZTE2NjMxMGEiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L1gxMS90d20vc3lzdGVtLnR3bXJjIgotQUxURVJOQVRJVkVfTkFNRSA9ICJ4LXdpbmRvdy1tYW5hZ2VyIgotQUxURVJOQVRJVkVfUEFUSCA9ICIke2JpbmRpcn0vdHdtIgotQUxURVJOQVRJVkVfTElOSyA9ICIke2JpbmRpcn0veC13aW5kb3ctbWFuYWdlciIKLUFMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHdkXzEuMC42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3h3ZF8xLjAuNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjk0YmY1Ny4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHdkXzEuMC42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKLQotU1VNTUFSWSA9ICJ4d2QgaXMgYSB0b29sIHRvIGNhcHR1cmUgYW4gWCB3aW5kb3cgb3Igc2NyZWVuIHRvIGZpbGUiCi1IT01FUEFHRSA9ICJodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcveG9yZy9hcHAveHdkLyIKLVNFQ1RJT04gPSAieDExL2FwcCIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzBjZGI3ODNlOWEwMTk4MjM3MzcxZmRhYTI2YTE4YmYiCi1ERVBFTkRTID0gImxpYnhtdSBsaWJ4a2JmaWxlIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNmI1ZDQ4NDY0YzVmMzY2ZTkxZWZkMDhiNjJiMTJkOTQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2JiMzk2YTIyNjhkNzhkZTRiMWMzZTUyMzdhODVmNzg0OWQzNDM0ZTg3YjNjZDFmNGQ1N2VlZjYxNDIyN2Q3OSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94d2RfMS4wLjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHdkXzEuMC43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhZDQ4YjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHdkXzEuMC43LmJiCkBAIC0wLDAgKzEsMTEgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAieHdkIGlzIGEgdG9vbCB0byBjYXB0dXJlIGFuIFggd2luZG93IG9yIHNjcmVlbiB0byBmaWxlIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvYXBwL3h3ZC8iCitTRUNUSU9OID0gIngxMS9hcHAiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWMwY2RiNzgzZTlhMDE5ODIzNzM3MWZkYWEyNmExOGJmIgorREVQRU5EUyA9ICJsaWJ4bXUgbGlieGtiZmlsZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjExNzk0YThlYmE2ZDI5NWExOTJhODk3NTI4N2ZkOTQ3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImNkNjgxNWI4YjllMGI5OGUyODRkM2Q3MzJmYjEyMTYyMTU5Y2I5ZGNlZTRmNDVhN2Q0YzBiZDhiMzA4YTY3OTQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1hdGlfMTguMC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tYXRpXzE4LjAuMS5iYgppbmRleCA5NjljMWEwLi5iMzhmYjY1IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1hdGlfMTguMC4xLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWF0aV8xOC4wLjEuYmIKQEAgLTEyLDggKzEyLDYgQEAKIGluaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCiBSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgKz0gIm9wZW5nbCIKIAotQ09NUEFUSUJMRV9IT1NUID0gJyhpLjg2fHg4Nl82NCkuKi1saW51eCcKLQogU1JDX1VSSVttZDVzdW1dID0gIjQwZTdjMGE1YTY5YWJhM2Q4NGUwOTU4ZjU4NzA1ZWE3IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjcyZWEzYjgxMjdkNDU1MGI2NGY3OTc0NTdmNWE3ODUxYTU0MWZhNGVlMmNjM2YzNDViNmMxODg2YjgxNzE0YTAiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW1nYV8xLjYuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW1nYV8xLjYuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTgyZTE4Zi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1tZ2FfMS42LjUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveG9yZy1kcml2ZXItdmlkZW8uaW5jCi0KLVNVTU1BUlkgPSAiWC5PcmcgWCBzZXJ2ZXIgLS0gTWF0cm94IE1HQSBkaXNwbGF5IGRyaXZlciIKLQotREVTQ1JJUFRJT04gPSAibWdhIGlzIGFuIFhvcmcgZHJpdmVyIGZvciBNYXRyb3ggdmlkZW8gY2FyZHMiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJjMTM5NWQyY2QzMmRmYzVkNmM1N2QyZDhmODNkM2ZjIgotCi1TUkNfVVJJICs9ICJmaWxlOi8vY2hlY2tmaWxlLnBhdGNoIgotCi1ERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYngxMSBsaWJwY2lhY2Nlc3MiCi0KLUNPTVBBVElCTEVfSE9TVCA9ICcoaS44Ni4qLWxpbnV4fHg4Nl82NC4qLWxpbnV4KScKLQotU1JDX1VSSVttZDVzdW1dID0gIjNlZTI1NDkyNDdlMDFkZTNlN2JjZTUyYzI3NDgzMTE4IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImI2NjNjZDhlNjM2NGY3YzRlMjYzN2I5ZmNhYjk4NjFkMGUzOTcxNTE4YzczYjAwZDIxM2Y2NTQ1YTEyODk0MjIiCi0KLVBBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ2RyaScsICcnLCBkKX0iCi1QQUNLQUdFQ09ORklHW2RyaV0gPSAiLS1lbmFibGUtZHJpLC0tZGlzYWJsZS1kcmksZHJtIHhvcmdwcm90byx4c2VydmVyLXhvcmctZXh0ZW5zaW9uLWRyaSIKLQotUkRFUEVORFNfJHtQTn0gPSAieHNlcnZlci14b3JnLW1vZHVsZS1leGEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1tZ2FfMi4wLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1tZ2FfMi4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzExM2Q1MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW1nYV8yLjAuMC5iYgpAQCAtMCwwICsxLDIxIEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveG9yZy1kcml2ZXItdmlkZW8uaW5jCisKK1NVTU1BUlkgPSAiWC5PcmcgWCBzZXJ2ZXIgLS0gTWF0cm94IE1HQSBkaXNwbGF5IGRyaXZlciIKKworREVTQ1JJUFRJT04gPSAibWdhIGlzIGFuIFhvcmcgZHJpdmVyIGZvciBNYXRyb3ggdmlkZW8gY2FyZHMiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJjMTM5NWQyY2QzMmRmYzVkNmM1N2QyZDhmODNkM2ZjIgorCitTUkNfVVJJICs9ICJmaWxlOi8vY2hlY2tmaWxlLnBhdGNoIgorCitERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYngxMSBsaWJwY2lhY2Nlc3MiCisKK0NPTVBBVElCTEVfSE9TVCA9ICcoaS44Ni4qLWxpbnV4fHg4Nl82NC4qLWxpbnV4KScKKworU1JDX1VSSVttZDVzdW1dID0gImI4ZmM5OWI0YWRlYThiZmU4MDE1NmIxM2RmNGI2YzljIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI2ODk0NmUxYTEzZTlkODBlNGY3MjRhMDc0MGRmOWU2ZThjOGJhZDM3Njk3ZmNiZjQ1NjkyNGU5ZmRiYjVkNzkiCisKK1BBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ2RyaScsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW2RyaV0gPSAiLS1lbmFibGUtZHJpLC0tZGlzYWJsZS1kcmksZHJtIHhvcmdwcm90byx4c2VydmVyLXhvcmctZXh0ZW5zaW9uLWRyaSIKKworUkRFUEVORFNfJHtQTn0gPSAieHNlcnZlci14b3JnLW1vZHVsZS1leGEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2JwZnRvb2wvYnBmdG9vbC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvYnBmdG9vbC9icGZ0b29sLmJiCmluZGV4IGRkN2VhYTIuLmY3NWFjNmYgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvYnBmdG9vbC9icGZ0b29sLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvYnBmdG9vbC9icGZ0b29sLmJiCkBAIC0yNyw3ICsyNyw3IEBACiBQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgogCiBweXRob24gZG9fcGFja2FnZV9wcmVwZW5kKCkgewotICAgIGQuc2V0VmFyKCdQS0dWJywgZC5nZXRWYXIoIktFUk5FTF9WRVJTSU9OIiwgVHJ1ZSkuc3BsaXQoIi0iKVswXSkKKyAgICBkLnNldFZhcignUEtHVicsIGQuZ2V0VmFyKCJLRVJORUxfVkVSU0lPTiIpLnNwbGl0KCItIilbMF0pCiB9CiAKIEIgPSAiJHtXT1JLRElSfS8ke0JQTn0tJHtQVn0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NwdXBvd2VyL2NwdXBvd2VyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcHVwb3dlci9jcHVwb3dlci5iYgppbmRleCA0NTQ0ZjViLi45Mjg5NzM4IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NwdXBvd2VyL2NwdXBvd2VyLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3B1cG93ZXIvY3B1cG93ZXIuYmIKQEAgLTMwLDcgKzMwLDcgQEAKIFJERVBFTkRTXyR7UE59ID0gImJhc2giCiAKIHB5dGhvbiBkb19wYWNrYWdlX3ByZXBlbmQoKSB7Ci0gICAgZC5zZXRWYXIoJ1BLR1YnLCBkLmdldFZhcigiS0VSTkVMX1ZFUlNJT04iLCBUcnVlKS5zcGxpdCgiLSIpWzBdKQorICAgIGQuc2V0VmFyKCdQS0dWJywgZC5nZXRWYXIoIktFUk5FTF9WRVJTSU9OIikuc3BsaXQoIi0iKVswXSkKIH0KIAogQiA9ICIke1dPUktESVJ9LyR7QlBOfS0ke1BWfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2hfNy4yLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoXzcuMi40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNzJiMWEzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2hfNy4yLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMjAgKzAsMCBAQAotU1VNTUFSWSA9ICJLZXJuZWwgYW5hbHlzaXMgdXRpbGl0eSBmb3IgbGl2ZSBzeXN0ZW1zLCBuZXRkdW1wLCBkaXNrZHVtcCwga2R1bXAsIExLQ0Qgb3IgbWNvcmUgZHVtcGZpbGVzIgotREVTQ1JJUFRJT04gPSAiVGhlIGNvcmUgYW5hbHlzaXMgc3VpdGUgaXMgYSBzZWxmLWNvbnRhaW5lZCB0b29sIHRoYXQgY2FuIGJlIHVzZWQgdG9cCi1pbnZlc3RpZ2F0ZSBlaXRoZXIgbGl2ZSBzeXN0ZW1zLCBrZXJuZWwgY29yZSBkdW1wcyBjcmVhdGVkIGZyb20gdGhlXAotbmV0ZHVtcCwgZGlza2R1bXAgYW5kIGtkdW1wIHBhY2thZ2VzIGZyb20gUmVkIEhhdCBMaW51eCwgdGhlIG1jb3JlIGtlcm5lbCBwYXRjaFwKLW9mZmVyZWQgYnkgTWlzc2lvbiBDcml0aWNhbCBMaW51eCwgb3IgdGhlIExLQ0Qga2VybmVsIHBhdGNoLiIKLQotSE9NRVBBR0UgPSAiaHR0cDovL3Blb3BsZS5yZWRoYXQuY29tL2FuZGVyc29uIgotU0VDVElPTiA9ICJkZXZlbCIKLQotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkczO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLQotREVQRU5EUyA9ICJ6bGliIHJlYWRsaW5lIGNvcmV1dGlscy1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2NyYXNoLXV0aWxpdHkvJHtCUE59L2FyY2hpdmUvJHtQVn0udGFyLmd6O2Rvd25sb2FkZmlsZW5hbWU9JHtCUH0udGFyLmd6IFwKLSAgICAgICAgICAgaHR0cDovL2Z0cC5nbnUub3JnL2dudS9nZGIvZ2RiLTcuNi50YXIuZ3o7bmFtZT1nZGI7c3ViZGlyPSR7QlB9IFwKLSAgICAgICAgICAgZmlsZTovLzcwMDFmb3JjZV9kZWZpbmVfYXJjaGl0ZWN0dXJlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzcwMDNjcm9zc19yYW5saWIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jcm9zc19hZGRfY29uZmlndXJlX29wdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zaW0tcHBjLWRyb3AtTElCUy1mcm9tLXBzaW0tZGVwZW5kZW5jeS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zaW0tY29tbW9uLXNpbS1hcmFuZ2UtZml4LWV4dGVybi1pbmxpbmUtaGFuZGxpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZG9ubm90LWV4dHJhY3QtZ2RiLWR1cmluZy1kby1jb21waWxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2dkYl9idWlsZF9qb2JzX2FuZF9ub3Rfd3JpdGVfY3Jhc2hfdGFyZ2V0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3JlbW92ZS11bnJlY29nbml6ZWQtZ2NjLW9wdGlvbi1tMzItZm9yLW1pcHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1jcmFzaC1maXgtYnVpbGQtZXJyb3ItdW5rbm93bi10eXBlLW5hbWUtZ2RiX2ZwcmVnc2V0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtY3Jhc2gtZGV0ZWN0LXRoZS1zeXNyb290LXMtZ2xpYmMtaGVhZGVyLWZpbGUucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiNGY2NmViMGU5YTgyZmY4M2RlMDZhYzJiMzc1MDFmNWMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiODVjYTJlOTNmMWVlNjI4ZWYyNDk5YWI5Yzc4NjIzZjhiMDQ1MDBiZGY3Mzc4YzA5ZGUxOTI4M2Y2YTdhNjk4ZiIKLQotU1JDX1VSSVtnZGIubWQ1c3VtXSA9ICJhOTgzNjcwNzMzN2U1ZjdiZjc2YTAwOWE4OTA0ZjQ3MCIKLVNSQ19VUklbZ2RiLnNoYTI1NnN1bV0gPSAiODA3MDM4OWE1ZGNjMTA0ZWIwYmU0ODNkNTgyNzI5Zjk4ZWQ0ZDc2MWFkMTljZWRkM2YxN2I1ZDI1MDJmYWEzNiIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9jcmFzaC11dGlsaXR5L2NyYXNoL3JlbGVhc2VzIgotCi1pbmhlcml0IGdldHRleHQKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgY3Jvc3MiCi1UQVJHRVRfQ0NfQVJDSF9hcHBlbmQgPSAiICR7U0VMRUNURURfT1BUSU1JWkFUSU9OfSIKLQotIyBjcmFzaCA3LjEuMyBhbmQgYmVmb3JlIGRvbid0IHN1cHBvcnQgbWlwczY0Ci1DT01QQVRJQkxFX0hPU1QgPSAiXig/IW1pcHM2NCkuKiIKLQotRVhUUkFfT0VNQUtFID0gJ1JQTVBLRz0iJHtQVn0iIFwKLSAgICAgICAgICAgICAgICBHREJfVEFSR0VUPSIke1RBUkdFVF9TWVN9IiBcCi0gICAgICAgICAgICAgICAgR0RCX0hPU1Q9IiR7QlVJTERfU1lTfSIgXAotICAgICAgICAgICAgICAgIEdEQl9NQUtFX0pPQlM9IiR7UEFSQUxMRUxfTUFLRX0iIFwKLSAgICAgICAgICAgICAgICBMREZMQUdTPSIke0xERkxBR1N9IiBcCi0gICAgICAgICAgICAgICAgJwotCi1FWFRSQV9PRU1BS0VfY2xhc3MtY3Jvc3MgPSAnUlBNUEtHPSIke1BWfSIgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdEQl9UQVJHRVQ9IiR7QlVJTERfU1lTfSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCR7R0RCX0NPTkZfRkxBR1N9IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXRhcmdldD0ke1RBUkdFVF9TWVN9IiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgR0RCX0hPU1Q9IiR7QlVJTERfU1lTfSIgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdEQl9NQUtFX0pPQlM9IiR7UEFSQUxMRUxfTUFLRX0iIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnCi0KLUVYVFJBX09FTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBMREZMQUdTPScke0JVSUxEX0xERkxBR1N9JyIKLUVYVFJBX09FTUFLRV9hcHBlbmRfY2xhc3MtY3Jvc3MgPSAiIExERkxBR1M9JyR7QlVJTERfTERGTEFHU30nIgotCi1SRU1PVkVfTTMyID0gInNlZCAtaSAtZSAncy8jZGVmaW5lIFRBUkdFVF9DRkxBR1NfQVJNX09OX1g4Nl82NC4qLyNkZWZpbmUgVEFSR0VUX0NGTEFHU19BUk1fT05fWDg2XzY0XHRcIlRBUkdFVF9DRkxBR1M9LURfRklMRV9PRkZTRVRfQklUUz02NFwiL2cnICR7U30vY29uZmlndXJlLmMiCi0KLVJFTU9WRV9NMzJfY2xhc3MtY3Jvc3MgPSAiIgotCi1kb19jb25maWd1cmUoKSB7Ci0gICAgOgotfQotCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0gICAgY2FzZSAke1RBUkdFVF9BUkNIfSBpbgotICAgICAgICBhYXJjaDY0KikgICAgQVJDSD1BUk02NCA7OwotICAgICAgICBhcm0qKSAgICAgICAgQVJDSD1BUk0gOzsKLSAgICAgICAgaSo4NiopICAgICAgIEFSQ0g9WDg2IDs7Ci0gICAgICAgIHg4Nl82NCopICAgICBBUkNIPVg4Nl82NCA7OwotICAgICAgICBwb3dlcnBjNjQqKSAgQVJDSD1QUEM2NCA7OwotICAgICAgICBwb3dlcnBjKikgICAgQVJDSD1QUEMgOzsKLSAgICAgICAgbWlwcyopICAgICAgIEFSQ0g9TUlQUyA7OwotICAgIGVzYWMKLQotICAgIHNlZCAtaSBzL0ZPUkNFX0RFRklORV9BUkNILyIke0FSQ0h9Ii9nICR7U30vY29uZmlndXJlLmMKLSAgICAke1JFTU9WRV9NMzJ9Ci0gICAgc2VkIC1pICdzLyZndDsvPi9nJyAke1N9L01ha2VmaWxlCi19Ci0KLWRvX2NvbXBpbGUoKSB7Ci0gICAgb2VfcnVubWFrZSAke0VYVFJBX09FTUFLRX0gUkVDSVBFX1NZU1JPT1Q9JHtSRUNJUEVfU1lTUk9PVH0KLX0KLQotZG9faW5zdGFsbF9wcmVwZW5kICgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KLSAgICBpbnN0YWxsIC1kICR7RH0vJHttYW5kaXJ9L21hbjgKLSAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2NyYXNoCi0KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9jcmFzaC44ICR7RH0vJHttYW5kaXJ9L21hbjgvCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vZGVmcy5oICR7RH0ke2luY2x1ZGVkaXJ9L2NyYXNoCi19Ci0KLWRvX2luc3RhbGxfY2xhc3MtdGFyZ2V0ICgpIHsKLSAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCi19Ci0KLWRvX2luc3RhbGxfY2xhc3MtbmF0aXZlICgpIHsKLSAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSR7U1RBR0lOR19ESVJfTkFUSVZFfSBpbnN0YWxsCi19Ci0KLWRvX2luc3RhbGxfY2xhc3MtY3Jvc3MgKCkgewotICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2NyYXNoICR7RH0vJHtiaW5kaXJ9Ci19Ci0KLVJERVBFTkRTXyR7UE59ICs9ICJsaWJsem1hIgotUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKLVJERVBFTkRTXyR7UE59X2NsYXNzLWNyb3NzID0gIiIKLQotIyBDYXVzZXMgZ2NjIHRvIGdldCBzdHVjayBhbmQgZWF0IGFsbCBhdmFpbGFibGUgbWVtb3J5IGluIHFlbXVhcm0gYnVpbGRzCi0jIGplbmtpbnMgIDE1MTYxICAxMDAgMTIuNSAxMDM4OTU5NiAxMDMyMTI4NCA/ICAgUiAgICAxMTo0MCAgMjg6MTcgL2hvbWUvamVua2lucy9vZS93b3JsZC9zaHItY29yZS90bXAtZ2xpYmMvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWJleGVjL2FybS1vZS1saW51eC1nbnVlYWJpL2djYy9hcm0tb2UtbGludXgtZ251ZWFiaS80LjkuMi9jYzEgLXF1aWV0IC1JIC4gLUkgLiAtSSAuL2NvbW1vbiAtSSAuL2NvbmZpZyAtSSAuLy4uL2luY2x1ZGUvb3Bjb2RlIC1JIC4vLi4vb3Bjb2Rlcy8uLiAtSSAuLy4uL3JlYWRsaW5lLy4uIC1JIC4uL2JmZCAtSSAuLy4uL2JmZCAtSSAuLy4uL2luY2x1ZGUgLUkgLi4vbGliZGVjbnVtYmVyIC1JIC4vLi4vbGliZGVjbnVtYmVyIC1JIC4vZ251bGliL2ltcG9ydCAtSSBidWlsZC1nbnVsaWIvaW1wb3J0IC1pc3lzcm9vdCAvaG9tZS9qZW5raW5zL29lL3dvcmxkL3Noci1jb3JlL3RtcC1nbGliYy9zeXNyb290cy9xZW11YXJtIC1NTUQgZXZhbC5kIC1NRiAuZGVwcy9ldmFsLlRwbyAtTVAgLU1UIGV2YWwubyAtRCBMT0NBTEVESVI9Ii91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiAtRCBDUkFTSF9NRVJHRSAtRCBIQVZFX0NPTkZJR19IIC1EIFRVST0xIGV2YWwuYyAtcXVpZXQgLWR1bXBiYXNlIGV2YWwuYyAtbWFyY2g9YXJtdjV0ZSAtbXRodW1iIC1tdGh1bWItaW50ZXJ3b3JrIC1tdGxzLWRpYWxlY3Q9Z251IC1hdXhiYXNlLXN0cmlwIGV2YWwubyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1XZm9ybWF0LW5vbmxpdGVyYWwgLVduby1wb2ludGVyLXNpZ24gLVduby11bnVzZWQgLVd1bnVzZWQtdmFsdWUgLVd1bnVzZWQtZnVuY3Rpb24gLVduby1zd2l0Y2ggLVduby1jaGFyLXN1YnNjcmlwdHMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbXB0eS1ib2R5IC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtbyAtCi1BUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKLQotIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMTg2OTY0LwotRVhDTFVERV9GUk9NX1dPUkxEX2xpYmMtbXVzbCA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaF83LjIuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2hfNy4yLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGIyMzM1NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2hfNy4yLjUuYmIKQEAgLTAsMCArMSwxMjAgQEAKK1NVTU1BUlkgPSAiS2VybmVsIGFuYWx5c2lzIHV0aWxpdHkgZm9yIGxpdmUgc3lzdGVtcywgbmV0ZHVtcCwgZGlza2R1bXAsIGtkdW1wLCBMS0NEIG9yIG1jb3JlIGR1bXBmaWxlcyIKK0RFU0NSSVBUSU9OID0gIlRoZSBjb3JlIGFuYWx5c2lzIHN1aXRlIGlzIGEgc2VsZi1jb250YWluZWQgdG9vbCB0aGF0IGNhbiBiZSB1c2VkIHRvXAoraW52ZXN0aWdhdGUgZWl0aGVyIGxpdmUgc3lzdGVtcywga2VybmVsIGNvcmUgZHVtcHMgY3JlYXRlZCBmcm9tIHRoZVwKK25ldGR1bXAsIGRpc2tkdW1wIGFuZCBrZHVtcCBwYWNrYWdlcyBmcm9tIFJlZCBIYXQgTGludXgsIHRoZSBtY29yZSBrZXJuZWwgcGF0Y2hcCitvZmZlcmVkIGJ5IE1pc3Npb24gQ3JpdGljYWwgTGludXgsIG9yIHRoZSBMS0NEIGtlcm5lbCBwYXRjaC4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9wZW9wbGUucmVkaGF0LmNvbS9hbmRlcnNvbiIKK1NFQ1RJT04gPSAiZGV2ZWwiCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HMzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK0RFUEVORFMgPSAiemxpYiByZWFkbGluZSBjb3JldXRpbHMtbmF0aXZlIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9jcmFzaC11dGlsaXR5LyR7QlBOfS9hcmNoaXZlLyR7UFZ9LnRhci5nejtkb3dubG9hZGZpbGVuYW1lPSR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGh0dHA6Ly9mdHAuZ251Lm9yZy9nbnUvZ2RiL2dkYi03LjYudGFyLmd6O25hbWU9Z2RiO3N1YmRpcj0ke0JQfSBcCisgICAgICAgICAgIGZpbGU6Ly83MDAxZm9yY2VfZGVmaW5lX2FyY2hpdGVjdHVyZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly83MDAzY3Jvc3NfcmFubGliLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY3Jvc3NfYWRkX2NvbmZpZ3VyZV9vcHRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2ltLXBwYy1kcm9wLUxJQlMtZnJvbS1wc2ltLWRlcGVuZGVuY3kucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2ltLWNvbW1vbi1zaW0tYXJhbmdlLWZpeC1leHRlcm4taW5saW5lLWhhbmRsaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Rvbm5vdC1leHRyYWN0LWdkYi1kdXJpbmctZG8tY29tcGlsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nZGJfYnVpbGRfam9ic19hbmRfbm90X3dyaXRlX2NyYXNoX3RhcmdldC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtdW5yZWNvZ25pemVkLWdjYy1vcHRpb24tbTMyLWZvci1taXBzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItY3Jhc2gtZml4LWJ1aWxkLWVycm9yLXVua25vd24tdHlwZS1uYW1lLWdkYl9mcHJlZ3NldC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLWNyYXNoLWRldGVjdC10aGUtc3lzcm9vdC1zLWdsaWJjLWhlYWRlci1maWxlLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjNmNmUxOGQzODgyMWJiMzI2NzAwZjFkNmQ0M2JjYWVjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjExNGE4M2NhMjdjOTFlNDMyMWY2Mzk5ZDYzN2E5ZDIyNzBmNzJiOTMyN2U1NmQ2ODdjNWZiMTM5ZTkwMzA2OWIiCisKK1NSQ19VUklbZ2RiLm1kNXN1bV0gPSAiYTk4MzY3MDczMzdlNWY3YmY3NmEwMDlhODkwNGY0NzAiCitTUkNfVVJJW2dkYi5zaGEyNTZzdW1dID0gIjgwNzAzODlhNWRjYzEwNGViMGJlNDgzZDU4MjcyOWY5OGVkNGQ3NjFhZDE5Y2VkZDNmMTdiNWQyNTAyZmFhMzYiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vY3Jhc2gtdXRpbGl0eS9jcmFzaC9yZWxlYXNlcyIKKworaW5oZXJpdCBnZXR0ZXh0CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIGNyb3NzIgorVEFSR0VUX0NDX0FSQ0hfYXBwZW5kID0gIiAke1NFTEVDVEVEX09QVElNSVpBVElPTn0iCisKKyMgY3Jhc2ggNy4xLjMgYW5kIGJlZm9yZSBkb24ndCBzdXBwb3J0IG1pcHM2NAorQ09NUEFUSUJMRV9IT1NUID0gIl4oPyFtaXBzNjQpLioiCisKK0VYVFJBX09FTUFLRSA9ICdSUE1QS0c9IiR7UFZ9IiBcCisgICAgICAgICAgICAgICAgR0RCX1RBUkdFVD0iJHtUQVJHRVRfU1lTfSIgXAorICAgICAgICAgICAgICAgIEdEQl9IT1NUPSIke0JVSUxEX1NZU30iIFwKKyAgICAgICAgICAgICAgICBHREJfTUFLRV9KT0JTPSIke1BBUkFMTEVMX01BS0V9IiBcCisgICAgICAgICAgICAgICAgTERGTEFHUz0iJHtMREZMQUdTfSIgXAorICAgICAgICAgICAgICAgICcKKworRVhUUkFfT0VNQUtFX2NsYXNzLWNyb3NzID0gJ1JQTVBLRz0iJHtQVn0iIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBHREJfVEFSR0VUPSIke0JVSUxEX1NZU30gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwke0dEQl9DT05GX0ZMQUdTfSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS10YXJnZXQ9JHtUQVJHRVRfU1lTfSIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdEQl9IT1NUPSIke0JVSUxEX1NZU30iIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBHREJfTUFLRV9KT0JTPSIke1BBUkFMTEVMX01BS0V9IiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJworCitFWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgTERGTEFHUz0nJHtCVUlMRF9MREZMQUdTfSciCitFWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLWNyb3NzID0gIiBMREZMQUdTPScke0JVSUxEX0xERkxBR1N9JyIKKworUkVNT1ZFX00zMiA9ICJzZWQgLWkgLWUgJ3MvI2RlZmluZSBUQVJHRVRfQ0ZMQUdTX0FSTV9PTl9YODZfNjQuKi8jZGVmaW5lIFRBUkdFVF9DRkxBR1NfQVJNX09OX1g4Nl82NFx0XCJUQVJHRVRfQ0ZMQUdTPS1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjRcIi9nJyAke1N9L2NvbmZpZ3VyZS5jIgorCitSRU1PVkVfTTMyX2NsYXNzLWNyb3NzID0gIiIKKworZG9fY29uZmlndXJlKCkgeworICAgIDoKK30KKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIGNhc2UgJHtUQVJHRVRfQVJDSH0gaW4KKyAgICAgICAgYWFyY2g2NCopICAgIEFSQ0g9QVJNNjQgOzsKKyAgICAgICAgYXJtKikgICAgICAgIEFSQ0g9QVJNIDs7CisgICAgICAgIGkqODYqKSAgICAgICBBUkNIPVg4NiA7OworICAgICAgICB4ODZfNjQqKSAgICAgQVJDSD1YODZfNjQgOzsKKyAgICAgICAgcG93ZXJwYzY0KikgIEFSQ0g9UFBDNjQgOzsKKyAgICAgICAgcG93ZXJwYyopICAgIEFSQ0g9UFBDIDs7CisgICAgICAgIG1pcHMqKSAgICAgICBBUkNIPU1JUFMgOzsKKyAgICBlc2FjCisKKyAgICBzZWQgLWkgcy9GT1JDRV9ERUZJTkVfQVJDSC8iJHtBUkNIfSIvZyAke1N9L2NvbmZpZ3VyZS5jCisgICAgJHtSRU1PVkVfTTMyfQorICAgIHNlZCAtaSAncy8mZ3Q7Lz4vZycgJHtTfS9NYWtlZmlsZQorfQorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgJHtFWFRSQV9PRU1BS0V9IFJFQ0lQRV9TWVNST09UPSR7UkVDSVBFX1NZU1JPT1R9Cit9CisKK2RvX2luc3RhbGxfcHJlcGVuZCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9LyR7bWFuZGlyfS9tYW44CisgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9jcmFzaAorCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vY3Jhc2guOCAke0R9LyR7bWFuZGlyfS9tYW44LworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2RlZnMuaCAke0R9JHtpbmNsdWRlZGlyfS9jcmFzaAorfQorCitkb19pbnN0YWxsX2NsYXNzLXRhcmdldCAoKSB7CisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gaW5zdGFsbAorfQorCitkb19pbnN0YWxsX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0ke1NUQUdJTkdfRElSX05BVElWRX0gaW5zdGFsbAorfQorCitkb19pbnN0YWxsX2NsYXNzLWNyb3NzICgpIHsKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9jcmFzaCAke0R9LyR7YmluZGlyfQorfQorCitSREVQRU5EU18ke1BOfSArPSAibGlibHptYSIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCitSREVQRU5EU18ke1BOfV9jbGFzcy1jcm9zcyA9ICIiCisKKyMgQ2F1c2VzIGdjYyB0byBnZXQgc3R1Y2sgYW5kIGVhdCBhbGwgYXZhaWxhYmxlIG1lbW9yeSBpbiBxZW11YXJtIGJ1aWxkcworIyBqZW5raW5zICAxNTE2MSAgMTAwIDEyLjUgMTAzODk1OTYgMTAzMjEyODQgPyAgIFIgICAgMTE6NDAgIDI4OjE3IC9ob21lL2plbmtpbnMvb2Uvd29ybGQvc2hyLWNvcmUvdG1wLWdsaWJjL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliZXhlYy9hcm0tb2UtbGludXgtZ251ZWFiaS9nY2MvYXJtLW9lLWxpbnV4LWdudWVhYmkvNC45LjIvY2MxIC1xdWlldCAtSSAuIC1JIC4gLUkgLi9jb21tb24gLUkgLi9jb25maWcgLUkgLi8uLi9pbmNsdWRlL29wY29kZSAtSSAuLy4uL29wY29kZXMvLi4gLUkgLi8uLi9yZWFkbGluZS8uLiAtSSAuLi9iZmQgLUkgLi8uLi9iZmQgLUkgLi8uLi9pbmNsdWRlIC1JIC4uL2xpYmRlY251bWJlciAtSSAuLy4uL2xpYmRlY251bWJlciAtSSAuL2dudWxpYi9pbXBvcnQgLUkgYnVpbGQtZ251bGliL2ltcG9ydCAtaXN5c3Jvb3QgL2hvbWUvamVua2lucy9vZS93b3JsZC9zaHItY29yZS90bXAtZ2xpYmMvc3lzcm9vdHMvcWVtdWFybSAtTU1EIGV2YWwuZCAtTUYgLmRlcHMvZXZhbC5UcG8gLU1QIC1NVCBldmFsLm8gLUQgTE9DQUxFRElSPSIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIgLUQgQ1JBU0hfTUVSR0UgLUQgSEFWRV9DT05GSUdfSCAtRCBUVUk9MSBldmFsLmMgLXF1aWV0IC1kdW1wYmFzZSBldmFsLmMgLW1hcmNoPWFybXY1dGUgLW10aHVtYiAtbXRodW1iLWludGVyd29yayAtbXRscy1kaWFsZWN0PWdudSAtYXV4YmFzZS1zdHJpcCBldmFsLm8gLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV2Zvcm1hdC1ub25saXRlcmFsIC1Xbm8tcG9pbnRlci1zaWduIC1Xbm8tdW51c2VkIC1XdW51c2VkLXZhbHVlIC1XdW51c2VkLWZ1bmN0aW9uIC1Xbm8tc3dpdGNoIC1Xbm8tY2hhci1zdWJzY3JpcHRzIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW1wdHktYm9keSAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMgLW8gLQorQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzE4Njk2NC8KK0VYQ0xVREVfRlJPTV9XT1JMRF9saWJjLW11c2wgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvbWFrZWR1bXBmaWxlL21ha2VkdW1wZmlsZS8wMDAyLW1lbV9zZWN0aW9uLVN1cHBvcnQtb25seS00Ni1iaXQtZm9yLU1BWF9QSFlTTUVNX0JJVFMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21ha2VkdW1wZmlsZS9tYWtlZHVtcGZpbGUvMDAwMi1tZW1fc2VjdGlvbi1TdXBwb3J0LW9ubHktNDYtYml0LWZvci1NQVhfUEhZU01FTV9CSVRTLnBhdGNoCmluZGV4IDc2NmY0ZmMuLjE1NmI0ZDUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvbWFrZWR1bXBmaWxlL21ha2VkdW1wZmlsZS8wMDAyLW1lbV9zZWN0aW9uLVN1cHBvcnQtb25seS00Ni1iaXQtZm9yLU1BWF9QSFlTTUVNX0JJVFMucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9tYWtlZHVtcGZpbGUvbWFrZWR1bXBmaWxlLzAwMDItbWVtX3NlY3Rpb24tU3VwcG9ydC1vbmx5LTQ2LWJpdC1mb3ItTUFYX1BIWVNNRU1fQklUUy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gYmExMjNmYTZiMmFhMGFjNjJkMWI3OGYzMjczMzk2MzVhZTg3MjAxYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMGQxY2RiNTlkYTM2MDNlMGE4MDkxMzYxN2VjZTAxNjRiMDUzODBkMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRydSBNb2lzZSA8YWxleGFuZHJ1Lm1vaXNlQHdpbmRyaXZlci5jb20+CiBEYXRlOiBGcmksIDI5IEFwciAyMDE2IDA3OjQwOjQ2ICswMDAwCiBTdWJqZWN0OiBbUEFUQ0hdIG1lbV9zZWN0aW9uOiBTdXBwb3J0IG9ubHkgNDYgYml0IGZvciBNQVhfUEhZU01FTV9CSVRTIG9uCkBAIC0yMSwxOSArMjEsMjAgQEAKIFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRydSBNb2lzZSA8YWxleGFuZHJ1Lm1vaXNlQHdpbmRyaXZlci5jb20+CiBTaWduZWQtb2ZmLWJ5OiBZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+CiAKK1tocUJhaTogYWRqdXN0ZWQgcGF0Y2ggZm9yIGNvbnRleHQsIG5vIGxvZ2ljYWwgY2hhbmdlXQorU2lnbmVkLW9mZi1ieTogSGFpcWluZyBCYWkgPEhhaXFpbmcuQmFpQHdpbmRyaXZlci5jb20+CiAtLS0KLSBhcmNoL3BwYzY0LmMgfCAyOCArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCisgYXJjaC9wcGM2NC5jIHwgMzMgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9hcmNoL3BwYzY0LmMgYi9hcmNoL3BwYzY0LmMKLWluZGV4IDhiNmY3ZDUuLjQ1OGYwNmIgMTAwNjQ0CitpbmRleCA5NDdhMTI1Li40NThmMDZiIDEwMDY0NAogLS0tIGEvYXJjaC9wcGM2NC5jCiArKysgYi9hcmNoL3BwYzY0LmMKLUBAIC00NjIsMzggKzQ2MiwxNCBAQCBwcGM2NF92dG9wX2xldmVsNCh1bnNpZ25lZCBsb25nIHZhZGRyKQotIAlyZXR1cm4gcGFkZHI7CitAQCAtNDYzLDQyICs0NjMsMTMgQEAgcHBjNjRfdnRvcF9sZXZlbDQodW5zaWduZWQgbG9uZyB2YWRkcikKICB9CiAgCi0taW50CisgaW50CiAtc2V0X3BwYzY0X21heF9waHlzbWVtX2JpdHModm9pZCkKIC17CiAtCWxvbmcgYXJyYXlfbGVuID0gQVJSQVlfTEVOR1RIKG1lbV9zZWN0aW9uKTsKQEAgLTUyLDEwICs1MywxNSBAQAogLQkJfHwgKGFycmF5X2xlbiA9PSAoTlJfTUVNX1NFQ1RJT05TKCkgLyBfU0VDVElPTlNfUEVSX1JPT1QoKSkpKQogLQkJcmV0dXJuIFRSVUU7CiAtCistCWluZm8tPm1heF9waHlzbWVtX2JpdHMgID0gX01BWF9QSFlTTUVNX0JJVFNfNF8xOTsKKy0JaWYgKChhcnJheV9sZW4gPT0gKE5SX01FTV9TRUNUSU9OUygpIC8gX1NFQ1RJT05TX1BFUl9ST09UX0VYVFJFTUUoKSkpCistCQl8fCAoYXJyYXlfbGVuID09IChOUl9NRU1fU0VDVElPTlMoKSAvIF9TRUNUSU9OU19QRVJfUk9PVCgpKSkpCistCQlyZXR1cm4gVFJVRTsKKy0KIC0JcmV0dXJuIEZBTFNFOwogLX0KIC0KLSBpbnQKKy1pbnQKICBnZXRfbWFjaGRlcF9pbmZvX3BwYzY0KHZvaWQpCiAgewogIAl1bnNpZ25lZCBsb25nIHZtbGlzdCwgdm1hcF9hcmVhX2xpc3QsIHZtYWxsb2Nfc3RhcnQ7CkBAIC03MCwzICs3Niw2IEBACiAgCWluZm8tPnBhZ2Vfb2Zmc2V0ID0gX19QQUdFX09GRlNFVDsKICAKICAJaWYgKFNZTUJPTChfc3RleHQpID09IE5PVF9GT1VORF9TWU1CT0wpIHsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9tYWtlZHVtcGZpbGUvbWFrZWR1bXBmaWxlXzEuNi40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9tYWtlZHVtcGZpbGUvbWFrZWR1bXBmaWxlXzEuNi40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMzE5NGI4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvbWFrZWR1bXBmaWxlL21ha2VkdW1wZmlsZV8xLjYuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLVNVTU1BUlkgPSAiVk1jb3JlIGV4dHJhY3Rpb24gdG9vbCIKLURFU0NSSVBUSU9OID0gIlwKLSAgICBUaGlzIHByb2dyYW0gaXMgdXNlZCB0byBleHRyYWN0IGEgc3Vic2V0IG9mIHRoZSBtZW1vcnkgYXZhaWxhYmxlIGVpdGhlciBcCi0gICAgdmlhIC9kZXYvbWVtIG9yIC9wcm9jL3ZtY29yZSAoZm9yIGNyYXNoZHVtcHMpLiBJdCBpcyB1c2VkIHRvIGdldCBtZW1vcnkgXAotICAgIGltYWdlcyB3aXRob3V0IGV4dHJhIHVuZWVkZWQgaW5mb3JtYXRpb24gKHplcm8gcGFnZXMsIHVzZXJzcGFjZSBwcm9ncmFtcywgXAotICAgIGV0YykuIFwKLSIKLUhPTUVQQUdFID0gImh0dHA6Ly9tYWtlZHVtcGZpbGUuc291cmNlZm9yZ2UubmV0IgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLUxJQ0VOU0UgPSAiR1BMdjIuMCIKLQotREVQRU5EUyA9ICJiemlwMiB6bGliIGVsZnV0aWxzIgotUkRFUEVORFNfJHtQTn0tdG9vbHMgPSAicGVybCAke1BOfSIKLQotIyBhcm0gYW5kIGFhcmNoNjQgd291bGQgY29tcGlsZSBidXQgaGFzIG5ldmVyIGJlZW4gdGVzdGVkIHVwc3RyZWFtLiAgbWlwcyB3b3VsZCBub3QgY29tcGlsZS4KLSMKLUNPTVBBVElCTEVfSE9TVCA9ICIoeDg2XzY0fGkuODZ8cG93ZXJwY3xhcm18YWFyY2g2NCkuKi1saW51eCIKLQotUEFDS0FHRVMgPSsgIiR7UE59LXRvb2xzIgotRklMRVNfJHtQTn0tdG9vbHMgPSAiJHtiaW5kaXJ9LyoucGwiCi0KLVNSQ19VUkkgPSAiXAotICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS9tYWtlZHVtcGZpbGUvJHtCUE59LSR7UFZ9LnRhci5neiBcCi0gICAgZmlsZTovLzAwMDEtbWFrZWR1bXBmaWxlLXJlcGxhY2UtaGFyZGNvZGUtQ0ZMQUdTLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMi1tZW1fc2VjdGlvbi1TdXBwb3J0LW9ubHktNDYtYml0LWZvci1NQVhfUEhZU01FTV9CSVRTLnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI3ZGZiY2ExOWY0ODc2MDRjMjcxZTI4OTJiYTA3ZjRiZCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3ZTA2ZjcyZDVmMjkxZmNhYjllOTI5NzVmNDA1YTc2ZTM3ZDRmN2ZjOGZhNDE3MmYxOTk2MzYzOThhZTgxMmIxIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbWFrZWR1bXBmaWxlL2ZpbGVzL21ha2VkdW1wZmlsZS8iCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJtYWtlZHVtcGZpbGUvKD9QPHB2ZXI+XGQrKFwuXGQrKSspLyIKLQotU0VDVElPTiA9ICJiYXNlIgotCi0jIElmIHdlIGRvIG5vdCBzcGVjaWZ5IFRBUkdFVCwgbWFrZWR1bXBmaWxlIHdpbGwgYnVpbGQgZm9yIHRoZSBob3N0IGJ1dCB1c2UgdGhlCi0jIHRhcmdldCBnY2MuCi0jCi1FWFRSQV9PRU1BS0UgPSAiXAotICAgIExJTktUWVBFPXN0YXRpYyBcCi0gICAgVEFSR0VUPSR7VEFSR0VUX0FSQ0h9IFwKLSIKLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgbWtkaXIgLXAgJHtEfS91c3IvYmluCi0gICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9tYWtlZHVtcGZpbGUgJHtEfS91c3IvYmluCi0gICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9tYWtlZHVtcGZpbGUtUi5wbCAke0R9L3Vzci9iaW4KLQotICAgIG1rZGlyIC1wICR7RH0vdXNyL3NoYXJlL21hbi9tYW44Ci0gICAgaW5zdGFsbCAtbSA2NDQgJHtTfS9tYWtlZHVtcGZpbGUuOC5neiAke0R9L3Vzci9zaGFyZS9tYW4vbWFuOAotCi0gICAgbWtkaXIgLXAgJHtEfS91c3Ivc2hhcmUvbWFuL21hbjUKLSAgICBpbnN0YWxsIC1tIDY0NCAke1N9L21ha2VkdW1wZmlsZS5jb25mLjUuZ3ogJHtEfS91c3Ivc2hhcmUvbWFuL21hbjUKLQotICAgIG1rZGlyIC1wICR7RH0vZXRjLwotICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vbWFrZWR1bXBmaWxlLmNvbmYgJHtEfS9ldGMvbWFrZWR1bXBmaWxlLmNvbmYuc2FtcGxlCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21ha2VkdW1wZmlsZS9tYWtlZHVtcGZpbGVfMS42LjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21ha2VkdW1wZmlsZS9tYWtlZHVtcGZpbGVfMS42LjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEzYjQxMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvbWFrZWR1bXBmaWxlL21ha2VkdW1wZmlsZV8xLjYuNS5iYgpAQCAtMCwwICsxLDU3IEBACitTVU1NQVJZID0gIlZNY29yZSBleHRyYWN0aW9uIHRvb2wiCitERVNDUklQVElPTiA9ICJcCisgICAgVGhpcyBwcm9ncmFtIGlzIHVzZWQgdG8gZXh0cmFjdCBhIHN1YnNldCBvZiB0aGUgbWVtb3J5IGF2YWlsYWJsZSBlaXRoZXIgXAorICAgIHZpYSAvZGV2L21lbSBvciAvcHJvYy92bWNvcmUgKGZvciBjcmFzaGR1bXBzKS4gSXQgaXMgdXNlZCB0byBnZXQgbWVtb3J5IFwKKyAgICBpbWFnZXMgd2l0aG91dCBleHRyYSB1bmVlZGVkIGluZm9ybWF0aW9uICh6ZXJvIHBhZ2VzLCB1c2Vyc3BhY2UgcHJvZ3JhbXMsIFwKKyAgICBldGMpLiBcCisiCitIT01FUEFHRSA9ICJodHRwOi8vbWFrZWR1bXBmaWxlLnNvdXJjZWZvcmdlLm5ldCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitMSUNFTlNFID0gIkdQTHYyLjAiCisKK0RFUEVORFMgPSAiYnppcDIgemxpYiBlbGZ1dGlscyIKK1JERVBFTkRTXyR7UE59LXRvb2xzID0gInBlcmwgJHtQTn0iCisKKyMgYXJtIGFuZCBhYXJjaDY0IHdvdWxkIGNvbXBpbGUgYnV0IGhhcyBuZXZlciBiZWVuIHRlc3RlZCB1cHN0cmVhbS4gIG1pcHMgd291bGQgbm90IGNvbXBpbGUuCisjCitDT01QQVRJQkxFX0hPU1QgPSAiKHg4Nl82NHxpLjg2fHBvd2VycGN8YXJtfGFhcmNoNjQpLiotbGludXgiCisKK1BBQ0tBR0VTID0rICIke1BOfS10b29scyIKK0ZJTEVTXyR7UE59LXRvb2xzID0gIiR7YmluZGlyfS8qLnBsIgorCitTUkNfVVJJID0gIlwKKyAgICAke1NPVVJDRUZPUkdFX01JUlJPUn0vbWFrZWR1bXBmaWxlLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgIGZpbGU6Ly8wMDAxLW1ha2VkdW1wZmlsZS1yZXBsYWNlLWhhcmRjb2RlLUNGTEFHUy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItbWVtX3NlY3Rpb24tU3VwcG9ydC1vbmx5LTQ2LWJpdC1mb3ItTUFYX1BIWVNNRU1fQklUUy5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMTczN2Y4ZTg5MDRkNTY1NjI5ZjBjOWU3MDJmOTJkMDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWQ0ZjFkNmRlZDhkY2E2OTUxZWVhYmNmNGJiMWViZjY1NzUyODhmZWU5NDc1MjkzOTcxMDNjMDQwZWI1Yzc2MCIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL21ha2VkdW1wZmlsZS9maWxlcy9tYWtlZHVtcGZpbGUvIgorVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAibWFrZWR1bXBmaWxlLyg/UDxwdmVyPlxkKyhcLlxkKykrKS8iCisKK1NFQ1RJT04gPSAiYmFzZSIKKworIyBJZiB3ZSBkbyBub3Qgc3BlY2lmeSBUQVJHRVQsIG1ha2VkdW1wZmlsZSB3aWxsIGJ1aWxkIGZvciB0aGUgaG9zdCBidXQgdXNlIHRoZQorIyB0YXJnZXQgZ2NjLgorIworRVhUUkFfT0VNQUtFID0gIlwKKyAgICBMSU5LVFlQRT1zdGF0aWMgXAorICAgIFRBUkdFVD0ke1RBUkdFVF9BUkNIfSBcCisiCisKK2RvX2luc3RhbGwgKCkgeworICAgIG1rZGlyIC1wICR7RH0vdXNyL2JpbgorICAgIGluc3RhbGwgLW0gNzU1ICR7U30vbWFrZWR1bXBmaWxlICR7RH0vdXNyL2JpbgorICAgIGluc3RhbGwgLW0gNzU1ICR7U30vbWFrZWR1bXBmaWxlLVIucGwgJHtEfS91c3IvYmluCisKKyAgICBta2RpciAtcCAke0R9L3Vzci9zaGFyZS9tYW4vbWFuOAorICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vbWFrZWR1bXBmaWxlLjguZ3ogJHtEfS91c3Ivc2hhcmUvbWFuL21hbjgKKworICAgIG1rZGlyIC1wICR7RH0vdXNyL3NoYXJlL21hbi9tYW41CisgICAgaW5zdGFsbCAtbSA2NDQgJHtTfS9tYWtlZHVtcGZpbGUuY29uZi41Lmd6ICR7RH0vdXNyL3NoYXJlL21hbi9tYW41CisKKyAgICBta2RpciAtcCAke0R9L2V0Yy8KKyAgICBpbnN0YWxsIC1tIDY0NCAke1N9L21ha2VkdW1wZmlsZS5jb25mICR7RH0vZXRjL21ha2VkdW1wZmlsZS5jb25mLnNhbXBsZQorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9taW5pY29yZWR1bXBlci9taW5pY29yZWR1bXBlcl8yLjAuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvbWluaWNvcmVkdW1wZXIvbWluaWNvcmVkdW1wZXJfMi4wLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhZTVjZjQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9taW5pY29yZWR1bXBlci9taW5pY29yZWR1bXBlcl8yLjAuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLVNVTU1BUlkgPSAibWluaWNvcmVkdW1wZXIgcHJvdmlkZXMgYW4gYWx0ZXJuYXRlIGNvcmUgZHVtcCBmYWNpbGl0eSBmb3IgTGludXggXAotdG8gYWxsb3cgbWluaW1hbCBhbmQgY3VzdG9taXplZCBjcmFzaCBkdW1wcyIKLUxJQ0VOU0UgPSAiIExHUEx2Mi4xICYgQlNELTItQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YWE4NDZhZTM2NWY3MWI2OWU5ZmEwZDIxYTU2MzkxZWMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5CU0Q7bWQ1PWI5MTVhYzgwZDUyMzZkNmFhNjU5Y2I5ODZkYWYwMGU1IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTHYyLjE7bWQ1PTMyMWJmNDFmMjgwY2Y4MDUwODZkZDVhNzIwYjM3Nzg1IFwKLSAgICAgICAgICAgICAgICAgICAiCi1ERVBFTkRTID0gImVsZnV0aWxzIGRidXMgZGJ1cy1nbGliLW5hdGl2ZSBnbGliLTIuMCBkYnVzLWdsaWIgdXRpbC1saW51eCBqc29uLWMiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBzeXN0ZW1kIHVwZGF0ZS1yYy5kCi0KLVNSQ1JFViA9ICIxYzBkNTk2MGIwYmI0YmFjNzU2NmU2YWZlOGJjOTcwNTM5OWNjNzZiIgotCi1QUiAuPSAiK2dpdCR7U1JDUFZ9IgotCi1TUkNfVVJJID0gImdpdDovL2dpdC5saW51eGZvdW5kYXRpb24ub3JnL2RpYW1vbi9taW5pY29yZWR1bXBlci5naXQ7cHJvdG9jb2w9aHR0cCBcCi0gICAgICAgICAgIGZpbGU6Ly9taW5pY29yZWR1bXBlci5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovL21pbmljb3JlZHVtcGVyLmluaXQgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1taW5pY29yZWR1bXBlci1Jbml0aWFsaXplLXBvaW50ZXItdG8tY29uZmlnLXN0cnVjdC10LnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibWluaWNvcmVkdW1wZXIuc2VydmljZSIKLVNZU1RFTURfQVVUT19FTkFCTEUgPSAiZW5hYmxlIgotCi1JTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59IgotSU5JVFNDUklQVF9OQU1FXyR7UE59ID0gIm1pbmljb3JlZHVtcGVyIgotSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0gPSAiZGVmYXVsdHMgODkiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIHJtZGlyICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgotICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L21pbmljb3JlZHVtcGVyCi0gICAgY3AgLXJmICR7U30vZXRjLyogJHtEfS8ke3N5c2NvbmZkaXJ9LwotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L21pbmljb3JlZHVtcGVyLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L21pbmljb3JlZHVtcGVyLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL21pbmljb3JlZHVtcGVyCi0KLSAgICAjIGNvcnJlY3QgcGF0aCBvZiBtaW5pY29yZWR1bXBlcgotICAgIHNlZCAtaSAtZSBzOi91c3IvYmluL21pbmljb3JlZHVtcGVyOiR7c2JpbmRpcn0vbWluaWNvcmVkdW1wZXI6ZyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbWluaWNvcmVkdW1wZXIKLSAgICBzZWQgLWkgLWUgczovdXNyL2Jpbi9taW5pY29yZWR1bXBlcjoke3NiaW5kaXJ9L21pbmljb3JlZHVtcGVyOmcgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbWluaWNvcmVkdW1wZXIuc2VydmljZQotfQotCi0jIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy8xODY5NjYvCi1FWENMVURFX0ZST01fV09STERfbGliYy1tdXNsID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21pbmljb3JlZHVtcGVyL21pbmljb3JlZHVtcGVyXzIuMC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9taW5pY29yZWR1bXBlci9taW5pY29yZWR1bXBlcl8yLjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGRhYjhkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9taW5pY29yZWR1bXBlci9taW5pY29yZWR1bXBlcl8yLjAuMS5iYgpAQCAtMCwwICsxLDQ2IEBACitTVU1NQVJZID0gIm1pbmljb3JlZHVtcGVyIHByb3ZpZGVzIGFuIGFsdGVybmF0ZSBjb3JlIGR1bXAgZmFjaWxpdHkgZm9yIExpbnV4IFwKK3RvIGFsbG93IG1pbmltYWwgYW5kIGN1c3RvbWl6ZWQgY3Jhc2ggZHVtcHMiCitMSUNFTlNFID0gIiBMR1BMdjIuMSAmIEJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTcxODI3YzYxN2VjN2I0NWEwZGQyMzY1ODM0N2NjMWU5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuQlNEO21kNT1iOTE1YWM4MGQ1MjM2ZDZhYTY1OWNiOTg2ZGFmMDBlNSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxHUEx2Mi4xO21kNT0zMjFiZjQxZjI4MGNmODA1MDg2ZGQ1YTcyMGIzNzc4NSBcCisgICAgICAgICAgICAgICAgICAgIgorREVQRU5EUyA9ICJlbGZ1dGlscyBkYnVzIGRidXMtZ2xpYi1uYXRpdmUgZ2xpYi0yLjAgZGJ1cy1nbGliIHV0aWwtbGludXgganNvbi1jIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZCB1cGRhdGUtcmMuZAorCitTUkNSRVYgPSAiMTZhMGQ0NGYxNzI1ZWFhOTMwOTZlYWEwZTA4NmY0MmVmNGMyNzEyYyIKKworUFIgLj0gIitnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQubGludXhmb3VuZGF0aW9uLm9yZy9kaWFtb24vbWluaWNvcmVkdW1wZXIuZ2l0O3Byb3RvY29sPWh0dHAgXAorICAgICAgICAgICBmaWxlOi8vbWluaWNvcmVkdW1wZXIuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9taW5pY29yZWR1bXBlci5pbml0IFwKKyAgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibWluaWNvcmVkdW1wZXIuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZW5hYmxlIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59IgorSU5JVFNDUklQVF9OQU1FXyR7UE59ID0gIm1pbmljb3JlZHVtcGVyIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0gPSAiZGVmYXVsdHMgODkiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHJtZGlyICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L21pbmljb3JlZHVtcGVyCisgICAgY3AgLXJmICR7U30vZXRjLyogJHtEfS8ke3N5c2NvbmZkaXJ9LworCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L21pbmljb3JlZHVtcGVyLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L21pbmljb3JlZHVtcGVyLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL21pbmljb3JlZHVtcGVyCisKKyAgICAjIGNvcnJlY3QgcGF0aCBvZiBtaW5pY29yZWR1bXBlcgorICAgIHNlZCAtaSAtZSBzOi91c3IvYmluL21pbmljb3JlZHVtcGVyOiR7c2JpbmRpcn0vbWluaWNvcmVkdW1wZXI6ZyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbWluaWNvcmVkdW1wZXIKKyAgICBzZWQgLWkgLWUgczovdXNyL2Jpbi9taW5pY29yZWR1bXBlcjoke3NiaW5kaXJ9L21pbmljb3JlZHVtcGVyOmcgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbWluaWNvcmVkdW1wZXIuc2VydmljZQorfQorCisjIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy8xODY5NjYvCitFWENMVURFX0ZST01fV09STERfbGliYy1tdXNsID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL29wcm9maWxlL29wcm9maWxlLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvb3Byb2ZpbGUvb3Byb2ZpbGUuaW5jCmluZGV4IDM0OWUyYmYuLjUxNWVhOGYgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvb3Byb2ZpbGUvb3Byb2ZpbGUuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvb3Byb2ZpbGUvb3Byb2ZpbGUuaW5jCkBAIC0yNSw2ICsyNSw3IEBACiAgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAogICAgICAgICAgICBmaWxlOi8vcm9vdC1ob21lLWRpci5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1ybWItZGVmaW5pdGlvbi1mb3ItTklPUzItYXJjaGl0ZWN0dXJlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcmVwbGFjZS1zeW1faXRlcmF0b3ItMC13aXRoLXN5bV9pdGVyYXRvci5wYXRjaCBcCiAiCiBVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJvcHJvZmlsZS0oP1A8cHZlcj5cZCsoXC5cZCspKykvIgogVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL29wcm9maWxlL2ZpbGVzL29wcm9maWxlLyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvb3Byb2ZpbGUvb3Byb2ZpbGUvMDAwMS1yZXBsYWNlLXN5bV9pdGVyYXRvci0wLXdpdGgtc3ltX2l0ZXJhdG9yLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9vcHJvZmlsZS9vcHJvZmlsZS8wMDAxLXJlcGxhY2Utc3ltX2l0ZXJhdG9yLTAtd2l0aC1zeW1faXRlcmF0b3IucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWZkMjNmOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvb3Byb2ZpbGUvb3Byb2ZpbGUvMDAwMS1yZXBsYWNlLXN5bV9pdGVyYXRvci0wLXdpdGgtc3ltX2l0ZXJhdG9yLnBhdGNoCkBAIC0wLDAgKzEsMTMxIEBACitGcm9tIGI3YzFhMmUyYjBmNDY1N2ZlMjkxMzI0Y2E0MDkyMjRmMzMyMWM5ZmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAxMiBGZWIgMjAxOSAxMTo1ODozNCAtMDgwMAorU3ViamVjdDogW1BBVENIXSByZXBsYWNlIChzeW1faXRlcmF0b3IpMCB3aXRoIHN5bV9pdGVyYXRvcigpCisKK2NsYW5nL2xpYmMrKyBmaW5kIHRoaXMgZXJyb3IKKworbGlicHAveG1sX3V0aWxzLmNwcDo0MDk6NDM6IGVycm9yOiBjYWxsaW5nIGEgcHJpdmF0ZSBjb25zdHJ1Y3RvciBvZiBjbGFzcyAnc3RkOjpfXzE6Ol9fd3JhcF9pdGVyPGNvbnN0IHN5bQorYm9sX2VudHJ5ICpjb25zdCAqPicKK3wgICAgICAgICAgICAgICAgIHsgbG8gPSBoaSA9IDA7IG5hbWUgPSAiIjsgYmVnaW4gPSBlbmQgPSAoc3ltX2l0ZXJhdG9yKTA7fQorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KK3wKKworZGVmYXVsdCBjb25zdHJ1Y3RlZCBpdGVyYXRvciBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGZvciBhbnl0aGluZworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBsaWJwcC94bWxfdXRpbHMuY3BwIHwgMjYgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJwcC94bWxfdXRpbHMuY3BwIGIvbGlicHAveG1sX3V0aWxzLmNwcAoraW5kZXggM2RlNDFlNS4uZjQ1ZDNhZSAxMDA2NDQKKy0tLSBhL2xpYnBwL3htbF91dGlscy5jcHAKKysrKyBiL2xpYnBwL3htbF91dGlscy5jcHAKK0BAIC03Myw3ICs3Myw3IEBAIHZvaWQgZHVtcF9zeW1ib2woc3RyaW5nIGNvbnN0ICYgcHJlZml4LCBzeW1faXRlcmF0b3IgaXQsIGJvb2wgd2FudF9ubCA9IHRydWUpCisgCisgdm9pZCBkdW1wX3N5bWJvbHMoc3RyaW5nIGNvbnN0ICYgcHJlZml4LCBzeW1faXRlcmF0b3IgYiwgc3ltX2l0ZXJhdG9yIGUpCisgeworLQlpZiAoYiA9PSAoc3ltX2l0ZXJhdG9yKTApCisrCWlmIChiID09IHN5bV9pdGVyYXRvcigpKQorIAkJcmV0dXJuOworIAorIAlmb3IgKHN5bV9pdGVyYXRvciBpdCA9IGI7IGl0ICE9IGU7ICsraXQpCitAQCAtMTY3LDcgKzE2Nyw3IEBAIHN0cmluZyB4bWxfdXRpbHM6OmdldF9wcm9maWxlX2hlYWRlcihzdHJpbmcgY3B1X25hbWUsIGRvdWJsZSBjb25zdCBzcGVlZCkKKyAJfQorIAorIAlzdHIgPDwgaW5pdF9hdHRyKENQVV9OQU1FLCBjcHVfdHlwZSkgPDwgZW5kbDsKKy0JaWYgKHByb2Nlc3Nvci5zaXplKCkgPiAwKSAKKysJaWYgKHByb2Nlc3Nvci5zaXplKCkgPiAwKQorIAkJc3RyIDw8IGluaXRfYXR0cihQUk9DRVNTT1IsIHN0cmluZyhwcm9jZXNzb3IpKSA8PCBlbmRsOworIAlpZiAobnJfY3B1cyA+IDEpIHN0ciA8PCBpbml0X2F0dHIoU0VQQVJBVEVEX0NQVVMsIG5yX2NwdXMpIDw8IGVuZGw7CisgCXN0ciA8PCBpbml0X2F0dHIoTUhaLCBzcGVlZCkgPDwgZW5kbDsKK0BAIC0zMjAsMTEgKzMyMCwxMSBAQCB2b2lkIHhtbF91dGlsczo6YnVpbGRfc3ViY2xhc3Nlcyhvc3RyZWFtICYgb3V0KQorIAkJCSgqc2NfcHRyKVtuZXdfaW5kZXhdLnN1YmNsYXNzX25hbWUgPSBzdWJjbGFzc19uYW1lOworIAkJCW91dCA8PCBvcGVuX2VsZW1lbnQoQ0xBU1MsIHRydWUpOworIAkJCW91dCA8PCBpbml0X2F0dHIoTkFNRSwgc3ViY2xhc3NfbmFtZSk7CistCQkJaWYgKG5yX2NwdXMgPiAxKSAKKysJCQlpZiAobnJfY3B1cyA+IDEpCisgCQkJCW91dCA8PCBpbml0X2F0dHIoQ1BVX05VTSwgcGNsYXNzLnB0ZW1wbGF0ZS5jcHUpOworLQkJCWlmIChucl9ldmVudHMgPiAxKSAKKysJCQlpZiAobnJfZXZlbnRzID4gMSkKKyAJCQkJb3V0IDw8IGluaXRfYXR0cihFVkVOVF9OVU0sIGV2ZW50KTsKKy0JCQlpZiAoaGFzX25vbnplcm9fbWFza3MpIAorKwkJCWlmIChoYXNfbm9uemVyb19tYXNrcykKKyAJCQkJb3V0IDw8IGluaXRfYXR0cihFVkVOVF9NQVNLLCBwY2xhc3MucHRlbXBsYXRlLnVuaXRtYXNrKTsKKyAJCQlvdXQgPDwgY2xvc2VfZWxlbWVudCgpOworIAkJfQorQEAgLTQwNiw3ICs0MDYsNyBAQCB4bWxfdXRpbHM6Om91dHB1dF9zdW1tYXJ5X2RhdGEob3N0cmVhbSAmIG91dCwgY291bnRfYXJyYXlfdCBjb25zdCAmIHN1bW1hcnksIHNpegorIGNsYXNzIG1vZHVsZV9pbmZvIHsKKyBwdWJsaWM6CisgCW1vZHVsZV9pbmZvKCkKKy0JCXsgbG8gPSBoaSA9IDA7IG5hbWUgPSAiIjsgYmVnaW4gPSBlbmQgPSAoc3ltX2l0ZXJhdG9yKTA7fQorKwkJeyBsbyA9IGhpID0gMDsgbmFtZSA9ICIiOyBiZWdpbiA9IGVuZCA9IHN5bV9pdGVyYXRvcigpO30KKyAJdm9pZCBkdW1wKCk7CisgCXZvaWQgYnVpbGRfbW9kdWxlKHN0cmluZyBjb25zdCAmIG4sIHN5bV9pdGVyYXRvciBpdCwKKyAJICAgICAgICAgICAgICAgICAgc2l6ZV90IGwsIHNpemVfdCBoKTsKK0BAIC01NDAsMjEgKzU0MCwyMSBAQCB2b2lkIG1vZHVsZV9pbmZvOjphZGRfdG9fc3VtbWFyeShjb3VudF9hcnJheV90IGNvbnN0ICYgY291bnRzKQorIAorIHZvaWQgbW9kdWxlX2luZm86OnNldF9iZWdpbihzeW1faXRlcmF0b3IgYikKKyB7CistCWlmIChiZWdpbiA9PSAoc3ltX2l0ZXJhdG9yKTApCisrCWlmIChiZWdpbiA9PSBzeW1faXRlcmF0b3IoKSkKKyAJCWJlZ2luID0gYjsKKyB9CisgCisgCisgdm9pZCBtb2R1bGVfaW5mbzo6c2V0X2VuZChzeW1faXRlcmF0b3IgZSkKKyB7CistCWlmIChlbmQgPT0gKHN5bV9pdGVyYXRvcikwKQorKwlpZiAoZW5kID09IHN5bV9pdGVyYXRvcigpKQorIAkJZW5kID0gZTsKKyB9CisgCisgCisgYm9vbCBtb2R1bGVfaW5mbzo6aXNfY2xvc2VkKHN0cmluZyBjb25zdCAmIG4pCisgeworLQlyZXR1cm4gKG5hbWUgPT0gbikgJiYgZW5kICE9IChzeW1faXRlcmF0b3IpMDsKKysJcmV0dXJuIChuYW1lID09IG4pICYmIGVuZCAhPSBzeW1faXRlcmF0b3IoKTsKKyB9CisgCisgCitAQCAtNTg1LDcgKzU4NSw3IEBAIHZvaWQgbW9kdWxlX2luZm86Om91dHB1dF9zdW1tYXJ5KG9zdHJlYW0gJiBvdXQpCisgCisgdm9pZCBtb2R1bGVfaW5mbzo6b3V0cHV0X3N5bWJvbHMob3N0cmVhbSAmIG91dCwgYm9vbCBpc19tb2R1bGUpCisgeworLQlpZiAoYmVnaW4gPT0gKHN5bV9pdGVyYXRvcikwKQorKwlpZiAoYmVnaW4gPT0gc3ltX2l0ZXJhdG9yKCkpCisgCQlyZXR1cm47CisgCisgCWZvciAoc3ltX2l0ZXJhdG9yIGl0ID0gYmVnaW47IGl0ICE9IGVuZDsgKytpdCkKK0BAIC02MDYsNyArNjA2LDcgQEAgdm9pZCBiaW5hcnlfaW5mbzo6Y2xvc2VfYmluYXJ5KHN5bV9pdGVyYXRvciBpdCkKKyB2b2lkIGJpbmFyeV9pbmZvOjpkdW1wKCkKKyB7CisgCWN2ZXJiIDw8IHZ4bWwgPDwgImFwcF9uYW1lPSIgPDwgbmFtZSA8PCBlbmRsOworLQlpZiAoYmVnaW4gIT0gKHN5bV9pdGVyYXRvcikwKQorKwlpZiAoYmVnaW4gIT0gc3ltX2l0ZXJhdG9yKCkpCisgCQlkdW1wX3N5bWJvbHMoIgkiLCBiZWdpbiwgZW5kKTsKKyAKKyAJZm9yIChzaXplX3QgaSA9IDA7IGkgPCBucl9tb2R1bGVzOyArK2kpCitAQCAtNjQ4LDcgKzY0OCw3IEBAIGFkZF9tb2R1bGVfc3ltYm9sKHN0cmluZyBjb25zdCAmIG1vZHVsZSwgc3RyaW5nIGNvbnN0ICYgYXBwLAorIAkJLy8gbWFyayBlbmQgb2YgZW5jbG9zaW5nIGJpbmFyeSBzeW1ib2xzIGlmIHRoZXJlIGhhdmUgYmVlbiBhbnkKKyAJCS8vIE5PVEU6IGl0IGlzIHBvc3NpYmxlIGZvciB0aGUgYmluYXJ5J3Mgc3ltYm9scyB0byBmb2xsb3cgaXRzCisgCQkvLyBtb2R1bGUgc3ltYm9scworLQkJaWYgKGJlZ2luICE9IChzeW1faXRlcmF0b3IpMCAmJiBlbmQgPT0gKHN5bV9pdGVyYXRvcikwKQorKwkJaWYgKGJlZ2luICE9IHN5bV9pdGVyYXRvcigpICYmIGVuZCA9PSBzeW1faXRlcmF0b3IoKSkKKyAJCQlzZXRfZW5kKGl0KTsKKyAKKyAJCS8vIGJ1aWxkIHRoZSBuZXcgbW9kdWxlCitAQCAtNzE4LDcgKzcxOCw3IEBAIHN1bW1hcml6ZV9wcm9jZXNzZXMoZXh0cmFfaW1hZ2VzIGNvbnN0ICYgZXh0cmFfZm91bmRfaW1hZ2VzKQorIHsKKyAJLy8gYWRkIG1vZHVsZXMgdG8gdGhlIGFwcHJvcHJpYXRlIHRocmVhZHMgaW4gdGhlIHByb2Nlc3MgaGllcmFyY2h5CisgCWZvciAoc3ltX2l0ZXJhdG9yIGl0ID0gc3ltYm9sc19iZWdpbiA7IGl0ICE9IHN5bWJvbHNfZW5kOyArK2l0KSB7CistCQlzdHJpbmcgYmluYXJ5ID0gZ2V0X2ltYWdlX25hbWUoKCppdCktPmFwcF9uYW1lLCAKKysJCXN0cmluZyBiaW5hcnkgPSBnZXRfaW1hZ2VfbmFtZSgoKml0KS0+YXBwX25hbWUsCisgCQkJaW1hZ2VfbmFtZV9zdG9yYWdlOjppbnRfZmlsZW5hbWUsIGV4dHJhX2ZvdW5kX2ltYWdlcyk7CisgCQlzdHJpbmcgbW9kdWxlID0gZ2V0X2ltYWdlX25hbWUoKCppdCktPmltYWdlX25hbWUsCisgCQkJaW1hZ2VfbmFtZV9zdG9yYWdlOjppbnRfZmlsZW5hbWUsIGV4dHJhX2ZvdW5kX2ltYWdlcyk7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFkMi9mYWFkMl8yLjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFkMi9mYWFkMl8yLjcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllNWEzODEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhZDIvZmFhZDJfMi43LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotU1VNTUFSWSA9ICJBbiBvcGVuIHNvdXJjZSBNUEVHLTQgYW5kIE1QRUctMiBBQUMgZGVjb2RpbmcgbGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuYXVkaW9jb2RpbmcuY29tL2ZhYWQyLmh0bWwiCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIkdQTHYyIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zODFjOGNiZTI3N2E3YmMxZWUyYWU2MDgzYTA0Yzk1OCIKLQotTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgotCi1QUiA9ICJyMSIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZmFhYy9mYWFkMi1zcmMvZmFhZDItJHtQVn0vJHtCUH0udGFyLmJ6MjtuYW1lPWZhYWQyIFwKLSIKLQotU1JDX1VSSVtmYWFkMi5tZDVzdW1dID0gIjRjMzMyZmEyM2ZlYmMwZTQ2NDgwNjQ2ODVhM2Q0MzMyIgotU1JDX1VSSVtmYWFkMi5zaGEyNTZzdW1dID0gIjE0NTYxYjVkNmJjNDU3ZTgyNWJmZDM5MjFhZTUwYTY2NDhmMzc3YTkzOTZlYWYxNmQ0YjA1N2IzOWEzZjYzYjUiCi0KLVBBQ0tBR0VTID0rICJsaWJmYWFkIGxpYmZhYWQtZGV2IGxpYm1wNGZmIGxpYm1wNGZmLWRldiIKLQotRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9L2ZhYWQiCi0KLUZJTEVTX2xpYmZhYWQgPSAiJHtsaWJkaXJ9L2xpYmZhYWQuc28uKiIKLUZJTEVTX2xpYmZhYWQtZGV2ID0gIiR7bGliZGlyfS9saWJmYWFkLnNvICR7bGliZGlyfS9saWJmYWFkLmxhICR7aW5jbHVkZWRpcn0vZmFhZC5oIgotRklMRVNfbGliZmFhZC1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYmZhYWQuYSIKLQotRklMRVNfbGlibXA0ZmYgPSAiJHtsaWJkaXJ9L2xpYm1wNGZmLnNvLioiCi1GSUxFU19saWJtcDRmZi1kZXYgPSAiJHtsaWJkaXJ9L2xpYm1wNGZmLnNvICR7bGliZGlyfS9saWJtcDRmZi5sYSAke2luY2x1ZGVkaXJ9L21wNGZmLmgiCi1GSUxFU19saWJtcDRmZi1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYm1wNGZmLmEiCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWQyL2ZhYWQyXzIuOC44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhZDIvZmFhZDJfMi44LjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIzYWFmYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWQyL2ZhYWQyXzIuOC44LmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiQW4gb3BlbiBzb3VyY2UgTVBFRy00IGFuZCBNUEVHLTIgQUFDIGRlY29kaW5nIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmF1ZGlvY29kaW5nLmNvbS9mYWFkMi5odG1sIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEx2MiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzgxYzhjYmUyNzdhN2JjMWVlMmFlNjA4M2EwNGM5NTgiCisKK0xJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZmFhYy9mYWFkMi1zcmMvZmFhZDItMi44LjAvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjI4ZjYxMTZlZmRiZTkzNzgyNjlmOGE2MjIxNzY3ZDFmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk4NWMzZmFkYjk3ODlkMjgxNWU1MGY0ZmY3MTQ1MTFjNzljMjcxMGFjMjdhNGFhYWY1YzBjMjY2MjE0MTQyNmQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2svMDAwMS1GaXgtT1NYLWJ1aWxkLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvamFjay9qYWNrLzAwMDEtRml4LU9TWC1idWlsZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOWEzYWI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvamFjay9qYWNrLzAwMDEtRml4LU9TWC1idWlsZC5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIGRkNjU2ODVjMjRiYjI1YTgwMGVkNDIzODhlZDBhMWU4NzkyYjJlZDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBmYWxrVFggPGZhbGt0eEBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDI0IE5vdiAyMDE4IDE0OjI5OjU4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBPU1ggYnVpbGQKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9qYWNrYXVkaW8vamFjazIvY29tbWl0L2Q4NTFmYWRhNDYwZDQyNTA4YTZmODJiMTk4NjdmNjM4NTMwNjI1ODNdCistLS0KKyBwb3NpeC9KYWNrTmV0VW5peFNvY2tldC5jcHAgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9wb3NpeC9KYWNrTmV0VW5peFNvY2tldC5jcHAgYi9wb3NpeC9KYWNrTmV0VW5peFNvY2tldC5jcHAKK2luZGV4IDdhNTU4NWVmLi5hNGNiNTAzNiAxMDA2NDQKKy0tLSBhL3Bvc2l4L0phY2tOZXRVbml4U29ja2V0LmNwcAorKysrIGIvcG9zaXgvSmFja05ldFVuaXhTb2NrZXQuY3BwCitAQCAtMTY5LDcgKzE2OSw3IEBAIG5hbWVzcGFjZSBKYWNrCisgCisgICAgIGludCBKYWNrTmV0VW5peFNvY2tldDo6QmluZCgpCisgICAgIHsKKy0gICAgICAgIHJldHVybiBiaW5kKGZTb2NrZmQsIHJlaW50ZXJwcmV0X2Nhc3Q8c29ja2V0X2FkZHJlc3NfdCo+KCZmUmVjdkFkZHIpLCBzaXplb2Yoc29ja2V0X2FkZHJlc3NfdCkpOworKyAgICAgICAgcmV0dXJuIDo6YmluZChmU29ja2ZkLCByZWludGVycHJldF9jYXN0PHNvY2tldF9hZGRyZXNzX3QqPigmZlJlY3ZBZGRyKSwgc2l6ZW9mKHNvY2tldF9hZGRyZXNzX3QpKTsKKyAgICAgfQorIAorICAgICBpbnQgSmFja05ldFVuaXhTb2NrZXQ6OkJpbmRXaXRoKGNvbnN0IGNoYXIqIGlwKQorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvamFjay9qYWNrX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2phY2svamFja19naXQuYmIKaW5kZXggNTI1NTljYi4uNDc3YWY4YyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvamFjay9qYWNrX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2tfZ2l0LmJiCkBAIC0xNiw2ICsxNiw3IEBACiAKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9qYWNrYXVkaW8vamFjazIuZ2l0IFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtUHl0aG9uLTMuNy1maXhlcy0yMTI2LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LU9TWC1idWlsZC5wYXRjaCBcCiAgICAgICAgICAgICIKIFNSQ1JFViA9ICJjMTY0NzgxOWVlZDZkMTFmOTRiMjE5ODFkOWM4Njk2MjkyOTlmMzU3IgogUFYgPSAiMS45LjEyIgpAQCAtMjUsNiArMjYsOCBAQAogCiBQQUNLQUdFQ09ORklHID8/PSAiYWxzYSIKIFBBQ0tBR0VDT05GSUdbYWxzYV0gPSAiLS1hbHNhPXllcywtLWFsc2E9bm8sYWxzYS1saWIiCisjIC0tZGJ1cyBvbmx5IHN0b3BzIGJ1aWxkaW5nIGphY2tkIC0+IGFkZCAtLWNsYXNzaWMKK1BBQ0tBR0VDT05GSUdbZGJ1c10gPSAiLS1kYnVzIC0tY2xhc3NpYywsZGJ1cyIKIFBBQ0tBR0VDT05GSUdbb3B1c10gPSAiLS1vcHVzPXllcywtLW9wdXM9bm8sbGlib3B1cyIKIAogIyBwb3J0YXVkaW8gaXMgZm9yIHdpbmRvd3MgYnVpbGRzIG9ubHkKQEAgLTM1LDYgKzM4LDExIEBACiBSREVQRU5EU19qYWNrLWRldl9yZW1vdmUgPSAiJHtQTn0gKD0gJHtFWFRFTkRQS0dWfSkiCiAKIEZJTEVTX2xpYmphY2sgPSAiJHtsaWJkaXJ9Lyouc28uKiAke2xpYmRpcn0vamFjay8qLnNvIgotRklMRVNfamFjay1zZXJ2ZXIgPSAiJHtiaW5kaXJ9L2phY2tkIgorRklMRVNfamFjay1zZXJ2ZXIgPSAiIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcyBcCisgICAgJHtiaW5kaXJ9L2phY2tkYnVzIFwKKyAgICAke2JpbmRpcn0vamFja2QgXAorIgogRklMRVNfamFjay11dGlscyA9ICIke2JpbmRpcn0vKiIKKwogRklMRVNfJHtQTn0tZG9jICs9ICIgJHtkYXRhZGlyfS9qYWNrLWF1ZGlvLWNvbm5lY3Rpb24ta2l0L3JlZmVyZW5jZS9odG1sLyogIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1LmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpdmU1NTUvbGl2ZTU1NS5pbmMKaW5kZXggMTRlYTY2NC4uNGZlNzQ0YyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1LmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2xpdmU1NTUuaW5jCkBAIC04LDcgKzgsNyBAQAogU0VDVElPTiA9ICJkZXZlbCIKIAogVVJMViA9ICIke0BkLmdldFZhcignUFYnKVswOjRdfS4ke0BkLmdldFZhcignUFYnKVs0OjZdfS4ke0BkLmdldFZhcignUFYnKVs2OjhdfSIKLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5saXZlNTU1LmNvbS9saXZlTWVkaWEvcHVibGljL2xpdmUuJHtVUkxWfS50YXIuZ3ogXAorU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpdmU1NTUuY29tL2xpdmUuJHtVUkxWfS50YXIuZ3ogXAogICAgICAgICAgICBmaWxlOi8vY29uZmlnLmxpbnV4LWNyb3NzIgogIyBvbmx5IGxhdGVzdCBsaXZlIHZlcnNpb24gc3RheXMgb24gaHR0cDovL3d3dy5saXZlNTU1LmNvbS9saXZlTWVkaWEvcHVibGljLywgYWRkIG1pcnJvciBmb3Igb2xkZXIKIE1JUlJPUlMgKz0gImh0dHA6Ly93d3cubGl2ZTU1NS5jb20vbGl2ZU1lZGlhL3B1YmxpYy8gaHR0cDovL2Rpc3RjYWNoZS5GcmVlQlNELm9yZy9wb3J0cy1kaXN0ZmlsZXMvIFxuIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1XzIwMTcwNDEwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1XzIwMTcwNDEwLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyN2ZjNDI5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpdmU1NTUvbGl2ZTU1NV8yMDE3MDQxMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotcmVxdWlyZSBsaXZlNTU1LmluYwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxFU1NFUjttZDU9ZTZhNjAwZmQ1ZTFkOWNiZGUyZDk4MzY4MDIzM2FkMDIgXAotICAgICAgICAgICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gImI3MDg0YTcyYWViMDk1NDljOGIyNDhmOGNjMzA4ODQxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRjMzdkOWM4MjhmOTAyODQwMzk5NzI3MmU0OTk2OGMyNjAzODVkYmJhZWY2MmUyOGJhMjRmYWVmMGRkYTg2OGIiCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpdmU1NTUvbGl2ZTU1NV8yMDE5MDMwNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpdmU1NTUvbGl2ZTU1NV8yMDE5MDMwNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYTYwNTdkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1XzIwMTkwMzA2LmJiCkBAIC0wLDAgKzEsOCBAQAorcmVxdWlyZSBsaXZlNTU1LmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxFU1NFUjttZDU9ZTZhNjAwZmQ1ZTFkOWNiZGUyZDk4MzY4MDIzM2FkMDIgXAorICAgICAgICAgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhODRjYTM5NDZkODk5ZjU1OTJjN2QzMTAxMmVkMmZlMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwYmQwYzI2ZDk4MDQyNWQ5YTQxOWQ4MzUxOTNlMjkyYTA4YTk2OGYxNzVkYTE5MDJkYTRiNDk1ZjEyNmQ1YWJkIgorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJtL2xpYnZweF8xLjYuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYm0vbGlidnB4XzEuNi4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMTdjZGExLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYm0vbGlidnB4XzEuNi4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotU1VNTUFSWSA9ICJWUFggbXVsdGktZm9ybWF0IGNvZGVjIgotREVTQ1JJUFRJT04gPSAiVGhlIEJTRC1saWNlbnNlZCBsaWJ2cHggcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIHByb3ZpZGVzIGVuLSBhbmQgZGVjb2RlcnMgZm9yIFZQOCBhbmQgVlA5IGJpdHN0cmVhbXMuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS8iCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC93ZWJtL2lzc3Vlcy9saXN0IgotU0VDVElPTiA9ICJsaWJzL211bHRpbWVkaWEiCi1MSUNFTlNFID0gIkJTRCIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDViMDQ3NTUwMTViZTkwMTc0NGE3OGNjMzBkMzkwZDQiCi0KLVNSQ19VUkkgKz0gImh0dHA6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Rvd25sb2Fkcy53ZWJtcHJvamVjdC5vcmcvcmVsZWFzZXMvd2VibS8ke0JQfS50YXIuYnoyIFwKLSAgICAgICAgICAgIGZpbGU6Ly9saWJ2cHgtY29uZmlndXJlLXN1cHBvcnQtYmxhbmstcHJlZml4LnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gImExOTUxOGM4MTExZmE5M2JkYWJkZDg1MjU5MTYyNjExIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFjMmMwYzJhOTdmYmE5NDc0OTQzYmUzNGVlMzkzMzdkZWU3NTY3ODBmYzEyODcwYmExZGM2ODM3MjU4NmE4MTkiCi0KLSMgZmZtcGVnIGxpbmtzIHdpdGggdGhpcyBhbmQgZmFpbHMKLSMgc3lzcm9vdHMvYXJtdjR0LW9lLWxpbnV4LWdudWVhYmkvdXNyL2xpYi9saWJ2cHguYSh2cHhfZW5jb2Rlci5jLm8pKC50ZXh0KzB4YzQpOiB1bnJlc29sdmFibGUgUl9BUk1fVEhNX0NBTEwgcmVsb2NhdGlvbiBhZ2FpbnN0IHN5bWJvbCBgbWVtY3B5QEBHTElCQ18yLjQnCi1BUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKLQotQ0ZMQUdTICs9ICItZlBJQyIKLQotZXhwb3J0IENDCi1leHBvcnQgTEQgPSAiJHtDQ30iCi0KLVZQWFRBUkdFVF9hcm12NXRlID0gImFybXY1dGUtbGludXgtZ2NjIgotVlBYVEFSR0VUX2FybXY2ID0gImFybXY2LWxpbnV4LWdjYyIKLVZQWFRBUkdFVF9hcm12N2EgPSAiYXJtdjctbGludXgtZ2NjIgotVlBYVEFSR0VUID89ICJnZW5lcmljLWdudSIKLQotQ09ORklHVVJFT1BUUyA9ICIgXAotICAgIC0tdGFyZ2V0PSR7VlBYVEFSR0VUfSBcCi0gICAgLS1lbmFibGUtdnA5IFwKLSAgICAtLWVuYWJsZS1saWJzIFwKLSAgICAtLWRpc2FibGUtaW5zdGFsbC1kb2NzIFwKLSAgICAtLWRpc2FibGUtc3RhdGljIFwKLSAgICAtLWVuYWJsZS1zaGFyZWQgXAotICAgIC0tcHJlZml4PSR7cHJlZml4fSBcCi0gICAgLS1saWJkaXI9JHtsaWJkaXJ9IFwKLSAgICAtLXNpemUtbGltaXQ9MTYzODR4MTYzODQgXAotIgotCi1kb19jb25maWd1cmUoKSB7Ci0gICAgJHtTfS9jb25maWd1cmUgJHtDT05GSUdVUkVPUFRTfQotfQotCi1kb19pbnN0YWxsKCkgewotICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KLSAgICBjaG93biAtUiByb290OnJvb3QgJHtEfQotfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvd2VibS9saWJ2cHhfMS43LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJtL2xpYnZweF8xLjcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZDA0ZWQxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvd2VibS9saWJ2cHhfMS43LjAuYmIKQEAgLTAsMCArMSw1MSBAQAorU1VNTUFSWSA9ICJWUFggbXVsdGktZm9ybWF0IGNvZGVjIgorREVTQ1JJUFRJT04gPSAiVGhlIEJTRC1saWNlbnNlZCBsaWJ2cHggcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIHByb3ZpZGVzIGVuLSBhbmQgZGVjb2RlcnMgZm9yIFZQOCBhbmQgVlA5IGJpdHN0cmVhbXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS8iCitCVUdUUkFDS0VSID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC93ZWJtL2lzc3Vlcy9saXN0IgorU0VDVElPTiA9ICJsaWJzL211bHRpbWVkaWEiCitMSUNFTlNFID0gIkJTRCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDViMDQ3NTUwMTViZTkwMTc0NGE3OGNjMzBkMzkwZDQiCisKKyMgU1JDUkVWIGZvciAxLjcuMAorU1JDUkVWID0gIjEzM2Y4M2UyYzM0YjhkNzcwYWUwNmFhNTk1Y2VmM2UyNTQxNzNmY2IiCitTUkNfVVJJICs9ICJnaXQ6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL3dlYm0vbGlidnB4O3Byb3RvY29sPWh0dHBzIFwKKyAgICAgICAgICAgIGZpbGU6Ly9saWJ2cHgtY29uZmlndXJlLXN1cHBvcnQtYmxhbmstcHJlZml4LnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCisjIGZmbXBlZyBsaW5rcyB3aXRoIHRoaXMgYW5kIGZhaWxzCisjIHN5c3Jvb3RzL2FybXY0dC1vZS1saW51eC1nbnVlYWJpL3Vzci9saWIvbGlidnB4LmEodnB4X2VuY29kZXIuYy5vKSgudGV4dCsweGM0KTogdW5yZXNvbHZhYmxlIFJfQVJNX1RITV9DQUxMIHJlbG9jYXRpb24gYWdhaW5zdCBzeW1ib2wgYG1lbWNweUBAR0xJQkNfMi40JworQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCisKK0NGTEFHUyArPSAiLWZQSUMiCisKK2V4cG9ydCBDQworZXhwb3J0IExEID0gIiR7Q0N9IgorCitWUFhUQVJHRVRfYXJtdjV0ZSA9ICJhcm12NXRlLWxpbnV4LWdjYyIKK1ZQWFRBUkdFVF9hcm12NiA9ICJhcm12Ni1saW51eC1nY2MiCitWUFhUQVJHRVRfYXJtdjdhID0gImFybXY3LWxpbnV4LWdjYyIKK1ZQWFRBUkdFVCA/PSAiZ2VuZXJpYy1nbnUiCisKK0NPTkZJR1VSRU9QVFMgPSAiIFwKKyAgICAtLXRhcmdldD0ke1ZQWFRBUkdFVH0gXAorICAgIC0tZW5hYmxlLXZwOSBcCisgICAgLS1lbmFibGUtbGlicyBcCisgICAgLS1kaXNhYmxlLWluc3RhbGwtZG9jcyBcCisgICAgLS1kaXNhYmxlLXN0YXRpYyBcCisgICAgLS1lbmFibGUtc2hhcmVkIFwKKyAgICAtLXByZWZpeD0ke3ByZWZpeH0gXAorICAgIC0tbGliZGlyPSR7bGliZGlyfSBcCisgICAgLS1zaXplLWxpbWl0PTE2Mzg0eDE2Mzg0IFwKKyIKKworZG9fY29uZmlndXJlKCkgeworICAgICR7U30vY29uZmlndXJlICR7Q09ORklHVVJFT1BUU30KK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9CisgICAgY2hvd24gLVIgcm9vdDpyb290ICR7RH0KK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zZWN1cml0eS9ubWFwL25tYXBfNy43MC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zZWN1cml0eS9ubWFwL25tYXBfNy43MC5iYgppbmRleCBlODc4MDM4Li5iMWIxNTBhIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2VjdXJpdHkvbm1hcC9ubWFwXzcuNzAuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNlY3VyaXR5L25tYXAvbm1hcF83LjcwLmJiCkBAIC00Miw2ICs0Miw4IEBACiAKIGRvX2NvbmZpZ3VyZSgpIHsKICAgICBhdXRvY29uZgorICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLmd1ZXNzICR7U30KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5zdWIgJHtTfQogICAgIG9lX3J1bmNvbmYKIH0KIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNoZWxscy9kYXNoL2Rhc2hfMC41LjEwLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2hlbGxzL2Rhc2gvZGFzaF8wLjUuMTAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODU2NjI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNoZWxscy9kYXNoL2Rhc2hfMC41LjEwLjIuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJTbWFsbCBhbmQgZmFzdCBQT1NJWC1jb21wbGlhbnQgc2hlbGwiCitIT01FUEFHRSA9ICJodHRwOi8vZ29uZG9yLmFwYW5hLm9yZy5hdS9+aGVyYmVydC9kYXNoLyIKK1NFQ1RJT04gPSAiU3lzdGVtIEVudmlyb25tZW50L1NoZWxscyIKKworTElDRU5TRSA9ICJCU0QgJiBHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iNTI2MmI0YTFhMWJmZjcyYjQ4ZTkzNTUzMTk3NmQyZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcworCitTUkNfVVJJID0gImh0dHA6Ly9nb25kb3IuYXBhbmEub3JnLmF1L35oZXJiZXJ0LyR7QlBOfS9maWxlcy8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtcHJpbnRmLWZvcm1hdC1lcnJvcnMtd2l0aC1jbGFuZy5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4ZjQ4NWYxMjZjMDVkMGFiODAwZTg1YWJmZTE5ODdhYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYzY2MzkxOWRjNWM2NmVjOTkxZGExNGM3Y2Y3ZTBiZThhZDAwZjNkYjczOTg2YTk4N2MxMTg4NjJiNWY2MDcxIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tYmluZGlyPSR7YmFzZV9iaW5kaXJ9IgorCitBTFRFUk5BVElWRV8ke1BOfSA9ICJzaCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtzaF0gPSAiJHtiYXNlX2JpbmRpcn0vc2giCitBTFRFUk5BVElWRV9UQVJHRVRbc2hdID0gIiR7YmFzZV9iaW5kaXJ9L2Rhc2giCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMCIKKworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKyAgICBncmVwIC1xICJeJHtiYXNlX2JpbmRpcn0vZGFzaCQiICREJHtzeXNjb25mZGlyfS9zaGVsbHMgfHwgZWNobyAke2Jhc2VfYmluZGlyfS9kYXNoID4+ICREJHtzeXNjb25mZGlyfS9zaGVsbHMKK30KKworcGtnX3Bvc3RybV8ke1BOfSAoKSB7CisgICAgcHJpbnRmICIkKGdyZXAgLXYgIl4ke2Jhc2VfYmluZGlyfS9kYXNoJCIgJEQke3N5c2NvbmZkaXJ9L3NoZWxscylcbiIgPiAkRCR7c3lzY29uZmRpcn0vc2hlbGxzCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2hlbGxzL2Rhc2gvZGFzaF8wLjUuOS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNoZWxscy9kYXNoL2Rhc2hfMC41LjkuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRlZTY2Zi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2hlbGxzL2Rhc2gvZGFzaF8wLjUuOS4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotU1VNTUFSWSA9ICJTbWFsbCBhbmQgZmFzdCBQT1NJWC1jb21wbGlhbnQgc2hlbGwiCi1IT01FUEFHRSA9ICJodHRwOi8vZ29uZG9yLmFwYW5hLm9yZy5hdS9+aGVyYmVydC9kYXNoLyIKLVNFQ1RJT04gPSAiU3lzdGVtIEVudmlyb25tZW50L1NoZWxscyIKLQotTElDRU5TRSA9ICJCU0QgJiBHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iNTI2MmI0YTFhMWJmZjcyYjQ4ZTkzNTUzMTk3NmQyZSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcwotCi1TUkNfVVJJID0gImh0dHA6Ly9nb25kb3IuYXBhbmEub3JnLmF1L35oZXJiZXJ0LyR7QlBOfS9maWxlcy8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtcHJpbnRmLWZvcm1hdC1lcnJvcnMtd2l0aC1jbGFuZy5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI2NDcyNzAyYThkOTc2MGQxNjZlZjgzMzNkY2I1MjdhNiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZWNkNWJlYTcyYTkzZWQxMGViMTVhMWJlOTk1MWRkNTFiNTJlNWRhMWQ0YTdhZTAyMGVmZDk4MjZiNDllNjU5IgotCi1FWFRSQV9PRUNPTkYgKz0gIi0tYmluZGlyPSR7YmFzZV9iaW5kaXJ9IgotCi1BTFRFUk5BVElWRV8ke1BOfSA9ICJzaCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtzaF0gPSAiJHtiYXNlX2JpbmRpcn0vc2giCi1BTFRFUk5BVElWRV9UQVJHRVRbc2hdID0gIiR7YmFzZV9iaW5kaXJ9L2Rhc2giCi1BTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMCIKLQotcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKLSAgICBncmVwIC1xICJeJHtiYXNlX2JpbmRpcn0vZGFzaCQiICREJHtzeXNjb25mZGlyfS9zaGVsbHMgfHwgZWNobyAke2Jhc2VfYmluZGlyfS9kYXNoID4+ICREJHtzeXNjb25mZGlyfS9zaGVsbHMKLX0KLQotcGtnX3Bvc3RybV8ke1BOfSAoKSB7Ci0gICAgcHJpbnRmICIkKGdyZXAgLXYgIl4ke2Jhc2VfYmluZGlyfS9kYXNoJCIgJEQke3N5c2NvbmZkaXJ9L3NoZWxscylcbiIgPiAkRCR7c3lzY29uZmRpcn0vc2hlbGxzCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2hlbGxzL21rc2gvbWtzaF81Ni5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zaGVsbHMvbWtzaC9ta3NoXzU2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0ZWI1NDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2hlbGxzL21rc2gvbWtzaF81Ni5iYgpAQCAtMCwwICsxLDM2IEBACitERVNDUklQVElPTiA9ICJUaGUgTWlyQlNEIEtvcm4gU2hlbGwgLSBhbiBlbmhhbmNlZCB2ZXJzaW9uIG9mIHRoZSBwdWJsaWMgZG9tYWluIGtzaCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubWlyYnNkLm9yZy9ta3NoLmh0bSIKK1NFQ1RJT04gPSAiYmFzZS9zaGVsbCIKKworTElDRU5TRSA9ICIke0BiYi51dGlscy5jb250YWlucygiVENMSUJDIiwgImdsaWJjIiwgIk1pck9TICYgSVNDIiwgIk1pck9TIiwgZCl9IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vbWFpbi5jO2JlZ2lubGluZT02O2VuZGxpbmU9MjU7bWQ1PTcyMDRmZWM0ZDEyOTEyZjJhMTNmZTg3NDViYzM1NmY5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3N0cmxjcHkuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTE3O21kNT1kOTUzZjI4ZjBjNDNlZTI5ZTIzOGVjOWJjMTVkZjJhMCBcCisgICAgICAgICAgICAgICAgICAgIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubWlyYnNkLm9yZy9NaXJPUy9kaXN0L21pci9ta3NoL21rc2gtUjU2Yy50Z3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0Nzk5YTlhYzZkNTU4NzFkNzliYTY2NzEzZDkyODY2MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkZDg2ZWJjNDIxMjE1YTdiNDQwOTVkYzEzYjA1NjkyMWJhODFlNjFiOWY2ZjRjZGFiMDhjYTEzNWQwMmFmYjc3IgorCitpbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAic2giCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc2hdID0gIiR7YmFzZV9iaW5kaXJ9L3NoIgorQUxURVJOQVRJVkVfVEFSR0VUW3NoXSA9ICIke2Jhc2VfYmluZGlyfS8ke0JQTn0iCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgc2ggJHtTfS9CdWlsZC5zaCAtcgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vbWtzaCAke0R9JHtiYXNlX2JpbmRpcn0vbWtzaAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9za2VsCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vZG90Lm1rc2hyYyAke0R9JHtzeXNjb25mZGlyfS9za2VsLy5ta3NocmMKK30KKworUlBST1ZJREVTXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3Vzcm1lcmdlJywgJy9iaW4vc2gnLCAnJywgZCl9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYWNlLWNsb3VkLWVkaXRvci9hY2UtY2xvdWQtZWRpdG9yX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FjZS1jbG91ZC1lZGl0b3IvYWNlLWNsb3VkLWVkaXRvcl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVhNmM4YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FjZS1jbG91ZC1lZGl0b3IvYWNlLWNsb3VkLWVkaXRvcl9naXQuYmIKQEAgLTAsMCArMSwyMiBAQAorREVTQ1JJUFRJT04gPSAiQWNlIGlzIGEgY29kZSBlZGl0b3Igd3JpdHRlbiBpbiBKYXZhU2NyaXB0LiIKK1NVTU1BUlkgPSAiQWNlIGlzIGEgY29kZSBlZGl0b3Igd3JpdHRlbiBpbiBKYXZhU2NyaXB0LiBUaGlzIHJlcG9zaXRvcnkgaGFzIG9ubHkgZ2VuZXJhdGVkIGZpbGVzIgorCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTc5NGQxMWM1MjE5YzU5YzllZmEyNDg3YzJiNDA2NmIyIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYWpheG9yZy9hY2UtYnVpbGRzLmdpdDtwcm90b2NvbD1odHRwcyIKKworUFYgPSAiMDIuMDcuMTcrZ2l0JHtTUkNQVn0iCitTUkNSRVYgPSAiODEyZTJjNTZhZWQyNDY5MzFhNjY3ZjE2YzI4YjA5NmUzNDU5NzAxNiIKKworRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS9hY2UtYnVpbGRzIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitERVBFTkRTICs9ICJyc3luYy1uYXRpdmUiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L2FjZS1idWlsZHMvc3JjLW5vY29uZmxpY3QKKyAgICByc3luYyAtciAtLWV4Y2x1ZGU9Ii4qIiAke1N9L3NyYy1ub2NvbmZsaWN0LyogJHtEfS8ke2RhdGFkaXJ9L2FjZS1idWlsZHMvc3JjLW5vY29uZmxpY3QKK30KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXNpby9hc2lvXzEuMTIuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FzaW8vYXNpb18xLjEyLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4Y2Q5YzAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXNpby9hc2lvXzEuMTIuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLURFU0NSSVBUSU9OID0gIkFzaW8gaXMgYSBjcm9zcy1wbGF0Zm9ybSBDKysgbGlicmFyeSBmb3IgbmV0d29yayBhbmQgbG93LWxldmVsIFwKLSAgICAgICAgSS9PIHByb2dyYW1taW5nIHRoYXQgcHJvdmlkZXMgZGV2ZWxvcGVycyB3aXRoIGEgY29uc2lzdGVudCBhc3luY2hyb25vdXMgXAotICAgICAgICBtb2RlbCB1c2luZyBhIG1vZGVybiBDKysgYXBwcm9hY2guIgotQVVUSE9SID0gIkNocmlzdG9waGVyIE0uIEtvaGxob2ZmIChjaHJpcyBhdCBrb2hsaG9mZiBkb3QgY29tKSIKLUhPTUVQQUdFID0gImh0dHA6Ly90aGluay1hc3luYy5jb20vQXNpbyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiQlNMLTEuMCIKLQotREVQRU5EUyA9ICJib29zdCBvcGVuc3NsIgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9hc2lvLyR7QlB9LnRhci5iejIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzCi0KLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNlNzNmMzExYTNhZjY5ZTZkZjI3NWU4YzNiMWMwOWI1IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMDM3ODU0ZDExMzAyNGY1N2M5NzUzZDYzMjZiMzM5YmMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTkwOTFiNGRlODQ3NTM5ZmE1YjIyNTliZjc2YTUzNTUzMzljN2VhYWE1ZTMzZDdkNGFlNzRkNjE0YzIxOTY1YSIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vYXNpby8ke0JQfS50YXIuYnoyIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXNpby9hc2lvXzEuMTIuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FzaW8vYXNpb18xLjEyLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVmODc1ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FzaW8vYXNpb18xLjEyLjIuYmIKQEAgLTAsMCArMSwyNiBAQAorREVTQ1JJUFRJT04gPSAiQXNpbyBpcyBhIGNyb3NzLXBsYXRmb3JtIEMrKyBsaWJyYXJ5IGZvciBuZXR3b3JrIGFuZCBsb3ctbGV2ZWwgXAorICAgICAgICBJL08gcHJvZ3JhbW1pbmcgdGhhdCBwcm92aWRlcyBkZXZlbG9wZXJzIHdpdGggYSBjb25zaXN0ZW50IGFzeW5jaHJvbm91cyBcCisgICAgICAgIG1vZGVsIHVzaW5nIGEgbW9kZXJuIEMrKyBhcHByb2FjaC4iCitBVVRIT1IgPSAiQ2hyaXN0b3BoZXIgTS4gS29obGhvZmYgKGNocmlzIGF0IGtvaGxob2ZmIGRvdCBjb20pIgorSE9NRVBBR0UgPSAiaHR0cDovL3RoaW5rLWFzeW5jLmNvbS9Bc2lvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJCU0wtMS4wIgorCitERVBFTkRTID0gIm9wZW5zc2wiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2FzaW8vJHtCUH0udGFyLmJ6MiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2U3M2YzMTFhM2FmNjllNmRmMjc1ZThjM2IxYzA5YjUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMTJlNTMzODVlMmRhYWQxMGYwOGQ1N2Y5MWFkMzQzMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0ZTI3ZGNiMzc0NTZiYTcwNzU3MDMzNGI5MWY0Nzk4NzIxMTExZWQ2N2I2OTkxNTY4NWVhYzE0MTg5NTc3OWFhIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9hc2lvLyR7QlB9LnRhci5iejIiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJib29zdCIKKworUEFDS0FHRUNPTkZJR1tib29zdF0gPSAiLS13aXRoLWJvb3N0LC0td2l0aG91dC1ib29zdCxib29zdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC8wMDAxLWFkZC1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLW1hY3Jvcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC8wMDAxLWFkZC1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLW1hY3Jvcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTY0NjA2MS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvMDAwMS1hZGQtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1tYWNyb3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIDEzZjM3NzE2NTVmODU5ZDVlMDMzMmRkNjViOWM0M2Y1NzJmNjM1OWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAxMSBBdWcgMjAxOCAxNjowMjowNiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBhZGQgc3lzL3N5c21hY3Jvcy5oIGZvciBtYWpvci9taW5vciBtYWNyb3MKLQotcGhvdG9zeXN0LmM6MTQ2NToxOTogZXJyb3I6IGNhbGxlZCBvYmplY3QgJ21ham9yJyBpcyBub3QgYSBmdW5jdGlvbiBvciBmdW5jdGlvbiBwb2ludGVyCi0gICAgIGRtcC0+bWFqb3IgID0gbWFqb3Ioc3RhdGJ1Zi5zdF9yZGV2KTsKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gcGhvdG9zeXN0LmMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3Bob3Rvc3lzdC5jIGIvcGhvdG9zeXN0LmMKLWluZGV4IDM4ODI4ZWMuLmNhZWQzNTIgMTAwNjQ0Ci0tLS0gYS9waG90b3N5c3QuYwotKysrIGIvcGhvdG9zeXN0LmMKLUBAIC0xNTIsNiArMTUyLDcgQEAKLSBzdGF0aWMgY29uc3QgY2hhciByY3NpZFtdID0gIiRJZDogcGhvdG9zeXN0LmMsdiAxLjM4IDIwMTAvMTEvMTkgMDc6NDA6NDAgZ2VybG9mIEV4cCAkIjsKLSAKLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0rI2luY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4KLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8c3RyaW5nLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wLzAwMDEtYXRvcC5kYWlseS1hdG9wLmluaXQtYXRvcC1wbS5zaC1Bdm9pZC11c2luZy1iYXNoLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wLzAwMDEtYXRvcC5kYWlseS1hdG9wLmluaXQtYXRvcC1wbS5zaC1Bdm9pZC11c2luZy1iYXNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhY2IyNTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvMDAwMS1hdG9wLmRhaWx5LWF0b3AuaW5pdC1hdG9wLXBtLnNoLUF2b2lkLXVzaW5nLWJhc2gucGF0Y2gKQEAgLTAsMCArMSw2NyBAQAorRnJvbSBmZmM4YmE4ZDMyNDI0M2E5MjNhYmU0OGU5NzU4YWRlY2IwM2QyNGE0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CitEYXRlOiBUdWUsIDEyIEZlYiAyMDE5IDIxOjI1OjIzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGF0b3AuZGFpbHksIGF0b3AuaW5pdCwgYXRvcC1wbS5zaDogQXZvaWQgdXNpbmcgYmFzaAorCitBdm9pZCB1c2luZyBiYXNoIGFuZCBiYXNoaXNtcyB3aGVuIG5vdCBuZWNlc2FyeS4gT24gc29tZSBzeXN0ZW1zLAorZS5nLiwgZW1iZWRkZWQgcHJvZHVjdHMsIGJhc2ggbWF5IG5vdCBiZSBhdmFpbGFibGUgYnkgZGVmYXVsdC4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9BdG9wdG9vbC9hdG9wL3B1bGwvNTBdCitTaWduZWQtb2ZmLWJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBldGVyLmtqZWxsZXJzdGVkdEBheGlzLmNvbT4KKy0tLQorIGF0b3AtcG0uc2ggfCAyICstCisgYXRvcC5kYWlseSB8IDQgKystLQorIGF0b3AuaW5pdCAgfCA0ICsrLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2F0b3AtcG0uc2ggYi9hdG9wLXBtLnNoCitpbmRleCA3ZjQxYTg2Li4zZmY0YWI1IDEwMDc1NQorLS0tIGEvYXRvcC1wbS5zaAorKysrIGIvYXRvcC1wbS5zaAorQEAgLTEsNCArMSw0IEBACistIyEvYmluL2Jhc2gKKysjIS9iaW4vc2gKKyAKKyBjYXNlICIkMSIgaW4KKyAJcHJlKQkvdXNyL2Jpbi9zeXN0ZW1jdGwgc3RvcCBhdG9wCitkaWZmIC0tZ2l0IGEvYXRvcC5kYWlseSBiL2F0b3AuZGFpbHkKK2luZGV4IDU3YTk1MDcuLmZlNWExMWIgMTAwNzU1CistLS0gYS9hdG9wLmRhaWx5CisrKysgYi9hdG9wLmRhaWx5CitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL2Jpbi9zaAorIAorIExPR09QVFM9Ii1SIgkJCQkjIGRlZmF1bHQgb3B0aW9ucworIExPR0lOVEVSVkFMPTYwMAkJCQkjIGRlZmF1bHQgaW50ZXJ2YWwgaW4gc2Vjb25kcworQEAgLTM4LDcgKzM4LDcgQEAgdGhlbgorIAorIAl3aGlsZSBwcyAtcCBgY2F0ICIkUElERklMRSJgID4gL2Rldi9udWxsCisgCWRvCistCQlsZXQgQ05UKz0xCisrCQlDTlQ9JCgoQ05UICsgMSkpCisgCisgCQlpZiBbICRDTlQgLWd0IDUgXQorIAkJdGhlbgorZGlmZiAtLWdpdCBhL2F0b3AuaW5pdCBiL2F0b3AuaW5pdAoraW5kZXggZTZlMTFkYy4uMDNjM2YwMiAxMDA3NTUKKy0tLSBhL2F0b3AuaW5pdAorKysrIGIvYXRvcC5pbml0CitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL2Jpbi9zaAorICMKKyAjIGF0b3AJCVN0YXJ0dXAgc2NyaXB0IGZvciB0aGUgQXRvcCBwcm9jZXNzIGxvZ2dpbmcgaW4gYmFja2dyb3VuZAorICMKK0BAIC00Nyw3ICs0Nyw3IEBAIGNhc2UgIiQxIiBpbgorIAorIAkJd2hpbGUgcHMgLXAgYGNhdCAkUElERklMRWAgPiAvZGV2L251bGwKKyAJCWRvCistCQkJbGV0IENOVCs9MQorKwkJCUNOVD0kKChDTlQgKyAxKSkKKyAKKyAJCQlpZiBbICRDTlQgLWd0IDUgXQorIAkJCXRoZW4KKy0tIAorMi4xMi4wCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC9maXgtcGVybWlzc2lvbnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvZml4LXBlcm1pc3Npb25zLnBhdGNoCmluZGV4IGVlNzQxOTkuLjg0ODhiMzggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC9maXgtcGVybWlzc2lvbnMucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL2ZpeC1wZXJtaXNzaW9ucy5wYXRjaApAQCAtMSwxNSArMSwyMiBAQAotVXBkYXRlIHBlcm1pc3Npb25zIG9mIGV4ZWN1dGFibGUgZmlsZXMgdGhhdCByZW1vdmUgc2V0dWlkIGJpdCBhbmQgbWFrZSBldmVyeW9uZQotY291bGQgcmVhZC4KK0Zyb20gZDk0OThkMTBkMGU4MjQxNzQ5ODM1ZGJjOWZhMjI5NDY1ZDRmZGZkNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCA2IEZlYiAyMDE5IDEzOjU4OjA0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBwZXJtaXNzaW9ucworCitVcGRhdGUgcGVybWlzc2lvbnMgb2YgZXhlY3V0YWJsZSBmaWxlcyB0aGF0IHJlbW92ZSBzZXR1aWQgYml0IGFuZCBtYWtlCitldmVyeW9uZSBjb3VsZCByZWFkLgogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCiBTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIC0tLQorIE1ha2VmaWxlIHwgMTAgKysrKystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKIGRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCi1pbmRleCBhNjViOWI2Li4yMWQ5ODI4IDEwMDY0NAoraW5kZXggM2JmNTkyOS4uMTIyMWVlNCAxMDA2NDQKIC0tLSBhL01ha2VmaWxlCiArKysgYi9NYWtlZmlsZQotQEAgLTY2LDcgKzY2LDcgQEAgc3lzdGVtZGluc3RhbGw6CWdlbmVyaWNpbnN0YWxsCitAQCAtNzIsNyArNzIsNyBAQCBzeXN0ZW1kaW5zdGFsbDoJZ2VuZXJpY2luc3RhbGwKICAJCWNobW9kIDA2NDQgICAgICAgICAgICAkKERFU1RESVIpJChTWVNEUEFUSCkvYXRvcGFjY3Quc2VydmljZQogIAkJY3AgYXRvcC5jcm9uc3lzdGVtZCAgICQoREVTVERJUikkKENSTlBBVEgpL2F0b3AKICAJCWNwIGF0b3AtcG0uc2ggICAgICAgICAkKERFU1RESVIpJChQTVBBVEhEKQpAQCAtMTgsNyArMjUsNyBAQAogIAkJIwogIAkJIyBvbmx5IHdoZW4gbWFraW5nIG9uIHRhcmdldCBzeXN0ZW06CiAgCQkjCi1AQCAtOTEsMTEgKzkxLDExIEBAIHN5c3ZpbnN0YWxsOglnZW5lcmljaW5zdGFsbAorQEAgLTk3LDExICs5NywxMSBAQCBzeXN2aW5zdGFsbDoJZ2VuZXJpY2luc3RhbGwKICAJCSMKICAJCWlmIFsgICAtZCAkKERFU1RESVIpJChQTVBBVEgxKSBdOyAJCQlcCiAgCQl0aGVuCWNwIDQ1YXRvcHBtICQoREVTVERJUikkKFBNUEFUSDEpOyAJCVwKQEAgLTMyLDcgKzM5LDcgQEAKICAJCWZpCiAgCQkjCiAgCQkjCi1AQCAtMTM5LDcgKzEzOSw3IEBAIGdlbmVyaWNpbnN0YWxsOglhdG9wIGF0b3BhY2N0ZAorQEAgLTE0NSw3ICsxNDUsNyBAQCBnZW5lcmljaW5zdGFsbDoJYXRvcCBhdG9wYWNjdGQgYXRvcGNvbnZlcnQKICAJCSMKICAJCWNwIGF0b3AgICAJCSQoREVTVERJUikkKEJJTlBBVEgpL2F0b3AKICAJCWNob3duIHJvb3QJCSQoREVTVERJUikkKEJJTlBBVEgpL2F0b3AKQEAgLTQxLDEyICs0OCwxMiBAQAogIAkJbG4gLXNmIGF0b3AgICAgICAgICAgICAgJChERVNURElSKSQoQklOUEFUSCkvYXRvcHNhcgogIAkJY3AgYXRvcGFjY3RkICAJCSQoREVTVERJUikkKFNCSU5QQVRIKS9hdG9wYWNjdGQKICAJCWNob3duIHJvb3QJCSQoREVTVERJUikkKFNCSU5QQVRIKS9hdG9wYWNjdGQKLUBAIC0xNDcsNyArMTQ3LDcgQEAgZ2VuZXJpY2luc3RhbGw6CWF0b3AgYXRvcGFjY3RkCi0gCQljcCBhdG9wICAgCQkkKERFU1RESVIpJChCSU5QQVRIKS9hdG9wLSQoVkVSUykKLSAJCWxuIC1zZiBhdG9wLSQoVkVSUykgICAgICQoREVTVERJUikkKEJJTlBBVEgpL2F0b3BzYXItJChWRVJTKQorQEAgLTE1OSw3ICsxNTksNyBAQCBnZW5lcmljaW5zdGFsbDoJYXRvcCBhdG9wYWNjdGQgYXRvcGNvbnZlcnQKKyAJCWNob3duIHJvb3QJCSQoREVTVERJUikkKEJJTlBBVEgpL2F0b3Bjb252ZXJ0CisgCQljaG1vZCAwNzExIAkJJChERVNURElSKSQoQklOUEFUSCkvYXRvcGNvbnZlcnQKICAJCWNwIGF0b3AuZGFpbHkgICAgCSQoREVTVERJUikkKFNDUlBBVEgpCiAtCQljaG1vZCAwNzExIAkgCSQoREVTVERJUikkKFNDUlBBVEgpL2F0b3AuZGFpbHkKICsJCWNobW9kIDA3NTUgCSAJJChERVNURElSKSQoU0NSUEFUSCkvYXRvcC5kYWlseQogIAkJY3AgbWFuL2F0b3AuMSAgICAJJChERVNURElSKSQoTUFOMVBBVEgpCiAgCQljcCBtYW4vYXRvcHNhci4xIAkkKERFU1RESVIpJChNQU4xUEFUSCkKLSAJCWNwIG1hbi9hdG9wcmMuNSAgCSQoREVTVERJUikkKE1BTjVQQVRIKQorIAkJY3AgbWFuL2F0b3Bjb252ZXJ0LjEgCSQoREVTVERJUikkKE1BTjFQQVRIKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3JlbW92ZS1iYXNoaXNtcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC9yZW1vdmUtYmFzaGlzbXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYxZmNiZmUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3JlbW92ZS1iYXNoaXNtcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi1kaWZmIC0tZ2l0IGEvYXRvcC1wbS5zaCBiL2F0b3AtcG0uc2gKLWluZGV4IDdmNDFhODYuLjNmZjRhYjUgMTAwNzU1Ci0tLS0gYS9hdG9wLXBtLnNoCi0rKysgYi9hdG9wLXBtLnNoCi1AQCAtMSw0ICsxLDQgQEAKLS0jIS9iaW4vYmFzaAotKyMhL2Jpbi9zaAotIAotIGNhc2UgIiQxIiBpbgotIAlwcmUpCS91c3IvYmluL3N5c3RlbWN0bCBzdG9wIGF0b3AKLWRpZmYgLS1naXQgYS9hdG9wLmRhaWx5IGIvYXRvcC5kYWlseQotaW5kZXggMjRkMzNiZC4uZjI5YmQ5NCAxMDA3NTUKLS0tLSBhL2F0b3AuZGFpbHkKLSsrKyBiL2F0b3AuZGFpbHkKLUBAIC0xLDQgKzEsNCBAQAotLSMhL2Jpbi9iYXNoCi0rIyEvYmluL3NoCi0gCi0gQ1VSREFZPWBkYXRlICslWSVtJWRgCi0gTE9HUEFUSD0vdmFyL2xvZy9hdG9wCi1AQCAtMTYsNyArMTYsNyBAQCB0aGVuCi0gCi0gCXdoaWxlIHBzIC1wIGBjYXQgJFBJREZJTEVgID4gL2Rldi9udWxsCi0gCWRvCi0tCQlsZXQgQ05UKz0xCi0rCQlDTlQ9JCgoQ05UKzEpKQotIAotIAkJaWYgWyAkQ05UIC1ndCA1IF0KLSAJCXRoZW4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC9zeXN2aW5pdC1pbXBsZW1lbnQtc3RhdHVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3N5c3Zpbml0LWltcGxlbWVudC1zdGF0dXMucGF0Y2gKaW5kZXggNTk5NGQzZS4uMTE0NWEyNCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3N5c3Zpbml0LWltcGxlbWVudC1zdGF0dXMucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3N5c3Zpbml0LWltcGxlbWVudC1zdGF0dXMucGF0Y2gKQEAgLTEsMTEgKzEsMTggQEAKK0Zyb20gYmRkMDY4ODczZWQwOTc5MDI3YzIxNzczOTM5YmRiMTgwNDZhODc1NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCA2IEZlYiAyMDE5IDEzOjU4OjA0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIHN5c3Zpbml0OiBJbXBsZW1lbnQgc3RhdHVzCisKIEltcGxlbWVudCB0aGUgc3ViLWNvbW1hbmQgc3RhdHVzLgogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQogU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CiAtLS0KKyBhdG9wLmluaXQgfCAzICsrKworIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKKwogZGlmZiAtLWdpdCBhL2F0b3AuaW5pdCBiL2F0b3AuaW5pdAotaW5kZXggMTA4YmRjNS4uOWY4OWZhZCAxMDA3NTUKK2luZGV4IGU2ZTExZGMuLmU3YjIyNmQgMTAwNzU1CiAtLS0gYS9hdG9wLmluaXQKICsrKyBiL2F0b3AuaW5pdAogQEAgLTE4LDYgKzE4LDggQEAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcF8yLjMuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcF8yLjMuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzAyODEzYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3BfMi4zLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi1TVU1NQVJZID0gIk1vbml0b3IgZm9yIHN5c3RlbSByZXNvdXJjZXMgYW5kIHByb2Nlc3MgYWN0aXZpdHkiCi1ERVNDUklQVElPTiA9ICJBdG9wIGlzIGFuIEFTQ0lJIGZ1bGwtc2NyZWVuIHBlcmZvcm1hbmNlIG1vbml0b3IgZm9yIExpbnV4IHRoYXQgXAotaXMgY2FwYWJsZSBvZiByZXBvcnRpbmcgdGhlIGFjdGl2aXR5IG9mIGFsbCBwcm9jZXNzZXMgKGV2ZW4gaWYgcHJvY2Vzc2VzIGhhdmUgXAotZmluaXNoZWQgZHVyaW5nIHRoZSBpbnRlcnZhbCksIGRhaWx5IGxvZ2dpbmcgb2Ygc3lzdGVtIGFuZCBwcm9jZXNzIGFjdGl2aXR5IGZvciBcCi1sb25nLXRlcm0gYW5hbHlzaXMsIGhpZ2hsaWdodGluZyBvdmVybG9hZGVkIHN5c3RlbSByZXNvdXJjZXMgYnkgdXNpbmcgY29sb3JzLCBcCi1ldGMuIEF0IHJlZ3VsYXIgaW50ZXJ2YWxzLCBpdCBzaG93cyBzeXN0ZW0tbGV2ZWwgYWN0aXZpdHkgcmVsYXRlZCB0byB0aGUgQ1BVLCBcCi1tZW1vcnksIHN3YXAsIGRpc2tzIChpbmNsdWRpbmcgTFZNKSBhbmQgbmV0d29yayBsYXllcnMsIGFuZCBmb3IgZXZlcnkgcHJvY2VzcyBcCi0oYW5kIHRocmVhZCkgaXQgc2hvd3MgZS5nLiB0aGUgQ1BVIHV0aWxpemF0aW9uLCBtZW1vcnkgZ3Jvd3RoLCBkaXNrIFwKLXV0aWxpemF0aW9uLCBwcmlvcml0eSwgdXNlcm5hbWUsIHN0YXRlLCBhbmQgZXhpdCBjb2RlLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuYXRvcHRvb2wubmwiCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi0KLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zOTNhNWNhNDQ1ZjY5NjU4NzNlY2EwMjU5YTE3ZjgzMyIKLQotREVQRU5EUyA9ICJuY3Vyc2VzIHpsaWIiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5hdG9wdG9vbC5ubC9kb3dubG9hZC8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnZmlsZTovL3ZvbGF0aWxlcy5hdG9wLmNvbmYnLCAnZmlsZTovL3ZvbGF0aWxlcy45OV9hdG9wJywgZCl9IFwKLSAgICAgICAgICAgZmlsZTovL3JlbW92ZS1iYXNoaXNtcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9maXgtcGVybWlzc2lvbnMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc3lzdmluaXQtaW1wbGVtZW50LXN0YXR1cy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWFkZC1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLW1hY3Jvcy5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI0OGUxZGJlZjhjN2Q4MjZlNjg4MjlhOGQ1ZmM5MjBmYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3M2U0NzI1ZGUwYmFmYWM4YzYzYjAzMmU4NDc5ZTIzMDVlMzk2MmFmYmU5NzdlYzFhYmQ0NWY5ZTEwNGViMjY0IgotCi1kb19jb21waWxlKCkgewotICAgIG9lX3J1bm1ha2UgYWxsCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLSAgICAgICAgbWFrZSBERVNURElSPSR7RH0gVkVSUz0ke1BWfSBTWVNEUEFUSD0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9IFwKLSAgICAgICAgICAgIFBNUEFUSEQ9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS1zbGVlcCBzeXN0ZW1kaW5zdGFsbAotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKLSAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuYXRvcC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvYXRvcC5jb25mCi0gICAgICAgIHJtIC1mICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2F0b3BhY2N0LnNlcnZpY2UKLSAgICBlbHNlCi0gICAgICAgIG1ha2UgREVTVERJUj0ke0R9IFZFUlM9JHtQVn0gc3lzdmluc3RhbGwKLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcwotICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy45OV9hdG9wICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzk5X2F0b3AKLSAgICAgICAgcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2F0b3BhY2N0Ci0gICAgZmkKLQotICAgICMgcmVtb3ZlIGF0b3BhY2N0IHJlbGF0ZWQgZmlsZXMKLSAgICBybSAtcmYgJHtEfSR7c2JpbmRpcn0gJHtEfSR7bWFuZGlyfS9tYW44Ci19Ci0KLWluaGVyaXQgc3lzdGVtZAotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiYXRvcC5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1GSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS1zbGVlcCIKLQotUkRFUEVORFNfJHtQTn0gPSAicHJvY3BzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wXzIuNC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wXzIuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViZGU5NjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3BfMi40LjAuYmIKQEAgLTAsMCArMSw1NiBAQAorU1VNTUFSWSA9ICJNb25pdG9yIGZvciBzeXN0ZW0gcmVzb3VyY2VzIGFuZCBwcm9jZXNzIGFjdGl2aXR5IgorREVTQ1JJUFRJT04gPSAiQXRvcCBpcyBhbiBBU0NJSSBmdWxsLXNjcmVlbiBwZXJmb3JtYW5jZSBtb25pdG9yIGZvciBMaW51eCB0aGF0IFwKK2lzIGNhcGFibGUgb2YgcmVwb3J0aW5nIHRoZSBhY3Rpdml0eSBvZiBhbGwgcHJvY2Vzc2VzIChldmVuIGlmIHByb2Nlc3NlcyBoYXZlIFwKK2ZpbmlzaGVkIGR1cmluZyB0aGUgaW50ZXJ2YWwpLCBkYWlseSBsb2dnaW5nIG9mIHN5c3RlbSBhbmQgcHJvY2VzcyBhY3Rpdml0eSBmb3IgXAorbG9uZy10ZXJtIGFuYWx5c2lzLCBoaWdobGlnaHRpbmcgb3ZlcmxvYWRlZCBzeXN0ZW0gcmVzb3VyY2VzIGJ5IHVzaW5nIGNvbG9ycywgXAorZXRjLiBBdCByZWd1bGFyIGludGVydmFscywgaXQgc2hvd3Mgc3lzdGVtLWxldmVsIGFjdGl2aXR5IHJlbGF0ZWQgdG8gdGhlIENQVSwgXAorbWVtb3J5LCBzd2FwLCBkaXNrcyAoaW5jbHVkaW5nIExWTSkgYW5kIG5ldHdvcmsgbGF5ZXJzLCBhbmQgZm9yIGV2ZXJ5IHByb2Nlc3MgXAorKGFuZCB0aHJlYWQpIGl0IHNob3dzIGUuZy4gdGhlIENQVSB1dGlsaXphdGlvbiwgbWVtb3J5IGdyb3d0aCwgZGlzayBcCit1dGlsaXphdGlvbiwgcHJpb3JpdHksIHVzZXJuYW1lLCBzdGF0ZSwgYW5kIGV4aXQgY29kZS4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmF0b3B0b29sLm5sIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzkzYTVjYTQ0NWY2OTY1ODczZWNhMDI1OWExN2Y4MzMiCisKK0RFUEVORFMgPSAibmN1cnNlcyB6bGliIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuYXRvcHRvb2wubmwvZG93bmxvYWQvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ2ZpbGU6Ly92b2xhdGlsZXMuYXRvcC5jb25mJywgJ2ZpbGU6Ly92b2xhdGlsZXMuOTlfYXRvcCcsIGQpfSBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtcGVybWlzc2lvbnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc3lzdmluaXQtaW1wbGVtZW50LXN0YXR1cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWF0b3AuZGFpbHktYXRvcC5pbml0LWF0b3AtcG0uc2gtQXZvaWQtdXNpbmctYmFzaC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxMDc3ZGE4ODRlZDk0ZjJiYzNjODFhYzNhYjk3MDQzNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiZTFjMDEwYTc3MDg2YjdkOTgzNzZmY2U5NjUxNGFmY2Q3M2MzZjIwYThkMWZlMDE1MjA4OTlmZjY5YTczZDY5IgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgYWxsCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgbWFrZSBERVNURElSPSR7RH0gVkVSUz0ke1BWfSBTWVNEUEFUSD0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9IFwKKyAgICAgICAgICAgIFBNUEFUSEQ9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS1zbGVlcCBzeXN0ZW1kaW5zdGFsbAorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuYXRvcC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvYXRvcC5jb25mCisgICAgICAgIHJtIC1mICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2F0b3BhY2N0LnNlcnZpY2UKKyAgICBlbHNlCisgICAgICAgIG1ha2UgREVTVERJUj0ke0R9IFZFUlM9JHtQVn0gc3lzdmluc3RhbGwKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcworICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy45OV9hdG9wICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzk5X2F0b3AKKyAgICAgICAgcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2F0b3BhY2N0CisgICAgZmkKKworICAgICMgcmVtb3ZlIGF0b3BhY2N0IHJlbGF0ZWQgZmlsZXMKKyAgICBybSAtcmYgJHtEfSR7c2JpbmRpcn0gJHtEfSR7bWFuZGlyfS9tYW44Cit9CisKK2luaGVyaXQgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiYXRvcC5zZXJ2aWNlIGF0b3BncHUuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0tc2xlZXAiCisKK1JERVBFTkRTXyR7UE59ID0gInByb2NwcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Jkd2djL2Jkd2djLzAwMDEtY29uZmlndXJlLmFjLWFkZC1jaGVjay1mb3ItTk9fR0VUQ09OVEVYVC1kZWZpbml0aW9uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYmR3Z2MvYmR3Z2MvMDAwMS1jb25maWd1cmUuYWMtYWRkLWNoZWNrLWZvci1OT19HRVRDT05URVhULWRlZmluaXRpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlZjc3NGYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYmR3Z2MvYmR3Z2MvMDAwMS1jb25maWd1cmUuYWMtYWRkLWNoZWNrLWZvci1OT19HRVRDT05URVhULWRlZmluaXRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1jb25maWd1cmUuYWM6IGFkZCBjaGVjayBmb3IgTk9fR0VUQ09OVEVYVCBkZWZpbml0aW9uCi0KLVNpZ25lZC1vZmYtYnk6IFNhbXVlbCBNYXJ0aW4gPHMubWFydGluNDlAZ21haWwuY29tPgotW3lhbm4ubW9yaW4uMTk5OEBmcmVlLmZyOiBhZGQgYSBjb21tZW50LCBjaGFuZ2UgdmFyaWFibGUgbmFtZSwgdXNlCi0gQVNfSUYsIHJlbW92ZSBkZWJ1ZyB0cmFjZXMsIHVzZSBBQ19DSEVDS19GVU5DUyAoYXMgc3VnZ2VzdGVkIGJ5Ci0gVGhvbWFzKV0KLVNpZ25lZC1vZmYtYnk6ICJZYW5uIEUuIE1PUklOIiA8eWFubi5tb3Jpbi4xOTk4QGZyZWUuZnI+Ci1DYzogVGhvbWFzIFBldGF6em9uaSA8dGhvbWFzLnBldGF6em9uaUBmcmVlLWVsZWN0cm9ucy5jb20+Ci0KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0gY29uZmlndXJlLmFjIHwgNiArKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCi0KLS0tLSBiZHdnYy03LjJmLm9yaWcvY29uZmlndXJlLmFjCTIwMTQtMDYtMDEgMTk6MDA6NDcuMDAwMDAwMDAwICswMjAwCi0rKysgYmR3Z2MtNy4yZi9jb25maWd1cmUuYWMJMjAxNC0xMi0yMyAxNDoxMzoxMS41ODU3MTY3MTMgKzAxMDAKLUBAIC0zNjUsNiArMzY1LDEyIEBACi0gICBBQ19NU0dfUkVTVUxUKCRhY19jdl9mbm9fc3RyaWN0X2FsaWFzaW5nKQotIGZpCi0gCi0rIyBDaGVjayBmb3IgZ2V0Y29udGV4dCAodUNsaWJjIGNhbiBiZSBjb25maWd1cmVkIHdpdGhvdXQgaXQsIGZvciBleGFtcGxlKQotK0FDX0NIRUNLX0ZVTkNTKFtnZXRjb250ZXh0XSkKLStBU19JRihbdGVzdCAiJGFjX2N2X2Z1bmNfZ2V0Y29udGV4dCIgPSAibm8iXSwKLSsgIFtDRkxBR1M9IiRDRkxBR1MgLUROT19HRVRDT05URVhUIgotKyAgIENQUEZMQUdTPSIkQ1BQRkxBR1MgLUROT19HRVRDT05URVhUIl0pCi0rCi0gY2FzZSAiJGhvc3QiIGluCi0gIyBXaGlsZSBJUklYIDYgaGFzIGxpYmRsIGZvciB0aGUgTzMyIGFuZCBOMzIgQUJJcywgaXQncyBtaXNzaW5nIGZvciBONjQKLSAjIGFuZCB1bm5lY2Vzc2FyeSBldmVyeXdoZXJlLgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYmR3Z2MvYmR3Z2MvbXVzbF9oZWFkZXJfZml4LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYmR3Z2MvYmR3Z2MvbXVzbF9oZWFkZXJfZml4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTE4NDk2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Jkd2djL2Jkd2djL211c2xfaGVhZGVyX2ZpeC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLUFkZCBtaXNzaW5nIGhlYWRlciB0byBhdm9pZDoKLQotfCAxNDcyNjU5NjEwLjAxNjM1NTogLi4vZ2l0L3B0aHJlYWRfc3RvcF93b3JsZC5jOiBJbiBmdW5jdGlvbiAnR0NfYnJpZWZfYXN5bmNfc2lnbmFsX3NhZmVfc2xlZXAnOgotfCAxNDcyNjU5NjEwLjA1NDAyNTI6IC4uL2dpdC9wdGhyZWFkX3N0b3Bfd29ybGQuYzozOTc6MjI6IGVycm9yOiBzdG9yYWdlIHNpemUgb2YgJ3R2JyBpc24ndCBrbm93bgotfCAxNDcyNjU5NjEwLjA1NDAyNTI6ICAgICAgICBzdHJ1Y3QgdGltZXZhbCB0djsKLXwgMTQ3MjY1OTYxMC4wNTQwMjUyOiAgICAgICAgICAgICAgICAgICAgICAgXn4KLXwgMTQ3MjY1OTYxMC4wNTQwOTk6IC4uL2dpdC9wdGhyZWFkX3N0b3Bfd29ybGQuYzozOTc6MjI6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSAndHYnIFstV3VudXNlZC12YXJpYWJsZV0KLXwgMTQ3MjY1OTYxMC4wNTQwOTk6ICAgICAgICBzdHJ1Y3QgdGltZXZhbCB0djsKLXwgMTQ3MjY1OTYxMC4wNTQwOTk6ICAgICAgICAgICAgICAgICAgICAgICBefgotfCAxNDcyNjU5NjEwLjA1NDA5OTogTWFrZWZpbGU6MTUzMDogcmVjaXBlIGZvciB0YXJnZXQgJ3B0aHJlYWRfc3RvcF93b3JsZC5sbycgZmFpbGVkCi0KLWluIG11c2wgYnVpbGRzLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotSW5kZXg6IGdpdC9wdGhyZWFkX3N0b3Bfd29ybGQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL3B0aHJlYWRfc3RvcF93b3JsZC5jCi0rKysgZ2l0L3B0aHJlYWRfc3RvcF93b3JsZC5jCi1AQCAtNDUsNiArNDUsNyBAQAotICNpbmNsdWRlIDxzZW1hcGhvcmUuaD4KLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0rI2luY2x1ZGUgPHN5cy90aW1lLmg+Ci0gI2luY2x1ZGUgImF0b21pY19vcHMuaCIKLSAKLSAvKiBJdCdzIHNhZmUgdG8gY2FsbCBvcmlnaW5hbCBwdGhyZWFkX3NpZ21hc2soKSBoZXJlLiAgICovCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9iZHdnYy9iZHdnY183LjYuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Jkd2djL2Jkd2djXzcuNi4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkY2I2OGYwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Jkd2djL2Jkd2djXzcuNi4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotU1VNTUFSWSA9ICJBIGdhcmJhZ2UgY29sbGVjdG9yIGZvciBDIGFuZCBDKysiCi0KLURFU0NSSVBUSU9OID0gIlRoZSBCb2VobS1EZW1lcnMtV2Vpc2VyIGNvbnNlcnZhdGl2ZSBnYXJiYWdlIGNvbGxlY3RvciBjYW4gYmVcCi0gdXNlZCBhcyBhIGdhcmJhZ2UgY29sbGVjdGluZyByZXBsYWNlbWVudCBmb3IgQyBtYWxsb2Mgb3IgQysrIG5ldy4gSXQgYWxsb3dzXAotIHlvdSB0byBhbGxvY2F0ZSBtZW1vcnkgYmFzaWNhbGx5IGFzIHlvdSBub3JtYWxseSB3b3VsZCwgd2l0aG91dCBleHBsaWNpdGx5XAotIGRlYWxsb2NhdGluZyBtZW1vcnkgdGhhdCBpcyBubyBsb25nZXIgdXNlZnVsLiBUaGUgY29sbGVjdG9yIGF1dG9tYXRpY2FsbHlcCi0gcmVjeWNsZXMgbWVtb3J5IHdoZW4gaXQgZGV0ZXJtaW5lcyB0aGF0IGl0IGNhbiBubyBsb25nZXIgYmUgb3RoZXJ3aXNlXAotIGFjY2Vzc2VkLlwKLSAgVGhlIGNvbGxlY3RvciBpcyBhbHNvIHVzZWQgYnkgYSBudW1iZXIgb2YgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VcCi0gaW1wbGVtZW50YXRpb25zIHRoYXQgZWl0aGVyIHVzZSBDIGFzIGludGVybWVkaWF0ZSBjb2RlLCB3YW50IHRvIGZhY2lsaXRhdGVcCi0gZWFzaWVyIGludGVyb3BlcmF0aW9uIHdpdGggQyBsaWJyYXJpZXMsIG9yIGp1c3QgcHJlZmVyIHRoZSBzaW1wbGUgY29sbGVjdG9yXAotIGludGVyZmFjZS5cCi0gIEFsdGVybmF0aXZlbHksIHRoZSBnYXJiYWdlIGNvbGxlY3RvciBtYXkgYmUgdXNlZCBhcyBhIGxlYWsgZGV0ZWN0b3IgZm9yIENcCi0gb3IgQysrIHByb2dyYW1zLCB0aG91Z2ggdGhhdCBpcyBub3QgaXRzIHByaW1hcnkgZ29hbC5cCi0gIEVtcGlyaWNhbGx5LCB0aGlzIGNvbGxlY3RvciB3b3JrcyB3aXRoIG1vc3QgdW5tb2RpZmllZCBDIHByb2dyYW1zLCBzaW1wbHlcCi0gYnkgcmVwbGFjaW5nIG1hbGxvYyB3aXRoIEdDX21hbGxvYyBjYWxscywgcmVwbGFjaW5nIHJlYWxsb2Mgd2l0aCBHQ19yZWFsbG9jXAotIGNhbGxzLCBhbmQgcmVtb3ZpbmcgZnJlZSBjYWxscy4iCi0KLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuaGJvZWhtLmluZm8vZ2MvIgotU0VDVElPTiA9ICJkZXZlbCIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FLlFVSUNLO21kNT00ZjgxZjI0ZWM2OTcyNmMzMTI0ODdjMmFjNzQwZTllMyIKLQotU1JDUkVWID0gIjhhYzFkODRhNDBlYjdhNDMxZmVjMWI4MDk3ZTNmMjRiNDhmYjIzZmEiCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vaXZtYWkvYmR3Z2MuZ2l0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWFkZC1jaGVjay1mb3ItTk9fR0VUQ09OVEVYVC1kZWZpbml0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL211c2xfaGVhZGVyX2ZpeC5wYXRjaCBcCi0gICAgICAgICAgIgotCi1GSUxFU18ke1BOfS1kb2MgPSAiJHtkYXRhZGlyfSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi0jIGJ5IGRlZmF1bHQgdXNlIGV4dGVybmFsIGxpYmF0b21pYy1vcHMKLVBBQ0tBR0VDT05GSUcgPz89ICJsaWJhdG9taWMtb3BzIgotUEFDS0FHRUNPTkZJR1tsaWJhdG9taWMtb3BzXSA9ICItLXdpdGgtbGliYXRvbWljLW9wcz15ZXMsLS13aXRoLWxpYmF0b21pYy1vcHM9bm8sbGliYXRvbWljLW9wcyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYmR3Z2MvYmR3Z2NfNy42LjEyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYmR3Z2MvYmR3Z2NfNy42LjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxYzEwOTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9iZHdnYy9iZHdnY183LjYuMTIuYmIKQEAgLTAsMCArMSw0MCBAQAorU1VNTUFSWSA9ICJBIGdhcmJhZ2UgY29sbGVjdG9yIGZvciBDIGFuZCBDKysiCisKK0RFU0NSSVBUSU9OID0gIlRoZSBCb2VobS1EZW1lcnMtV2Vpc2VyIGNvbnNlcnZhdGl2ZSBnYXJiYWdlIGNvbGxlY3RvciBjYW4gYmVcCisgdXNlZCBhcyBhIGdhcmJhZ2UgY29sbGVjdGluZyByZXBsYWNlbWVudCBmb3IgQyBtYWxsb2Mgb3IgQysrIG5ldy4gSXQgYWxsb3dzXAorIHlvdSB0byBhbGxvY2F0ZSBtZW1vcnkgYmFzaWNhbGx5IGFzIHlvdSBub3JtYWxseSB3b3VsZCwgd2l0aG91dCBleHBsaWNpdGx5XAorIGRlYWxsb2NhdGluZyBtZW1vcnkgdGhhdCBpcyBubyBsb25nZXIgdXNlZnVsLiBUaGUgY29sbGVjdG9yIGF1dG9tYXRpY2FsbHlcCisgcmVjeWNsZXMgbWVtb3J5IHdoZW4gaXQgZGV0ZXJtaW5lcyB0aGF0IGl0IGNhbiBubyBsb25nZXIgYmUgb3RoZXJ3aXNlXAorIGFjY2Vzc2VkLlwKKyAgVGhlIGNvbGxlY3RvciBpcyBhbHNvIHVzZWQgYnkgYSBudW1iZXIgb2YgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VcCisgaW1wbGVtZW50YXRpb25zIHRoYXQgZWl0aGVyIHVzZSBDIGFzIGludGVybWVkaWF0ZSBjb2RlLCB3YW50IHRvIGZhY2lsaXRhdGVcCisgZWFzaWVyIGludGVyb3BlcmF0aW9uIHdpdGggQyBsaWJyYXJpZXMsIG9yIGp1c3QgcHJlZmVyIHRoZSBzaW1wbGUgY29sbGVjdG9yXAorIGludGVyZmFjZS5cCisgIEFsdGVybmF0aXZlbHksIHRoZSBnYXJiYWdlIGNvbGxlY3RvciBtYXkgYmUgdXNlZCBhcyBhIGxlYWsgZGV0ZWN0b3IgZm9yIENcCisgb3IgQysrIHByb2dyYW1zLCB0aG91Z2ggdGhhdCBpcyBub3QgaXRzIHByaW1hcnkgZ29hbC5cCisgIEVtcGlyaWNhbGx5LCB0aGlzIGNvbGxlY3RvciB3b3JrcyB3aXRoIG1vc3QgdW5tb2RpZmllZCBDIHByb2dyYW1zLCBzaW1wbHlcCisgYnkgcmVwbGFjaW5nIG1hbGxvYyB3aXRoIEdDX21hbGxvYyBjYWxscywgcmVwbGFjaW5nIHJlYWxsb2Mgd2l0aCBHQ19yZWFsbG9jXAorIGNhbGxzLCBhbmQgcmVtb3ZpbmcgZnJlZSBjYWxscy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuaGJvZWhtLmluZm8vZ2MvIgorU0VDVElPTiA9ICJkZXZlbCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FLlFVSUNLO21kNT03Mjg1MDFmMjMzMDUwMjkwMzE0ZDMzZmIwN2Q4ODNlYiIKKworU1JDUkVWID0gImE0NjU0NmY0MGQxOGU2MGMzMTA3N2MyZTdjOGJiNGU0NGJmMWJlZjEiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vaXZtYWkvYmR3Z2MuZ2l0O2JyYW5jaD1yZWxlYXNlLTdfNiBcCisgICAgICAgICAgIgorCitGSUxFU18ke1BOfS1kb2MgPSAiJHtkYXRhZGlyfSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCisjIGJ5IGRlZmF1bHQgdXNlIGV4dGVybmFsIGxpYmF0b21pYy1vcHMKK1BBQ0tBR0VDT05GSUcgPz89ICJsaWJhdG9taWMtb3BzIgorUEFDS0FHRUNPTkZJR1tsaWJhdG9taWMtb3BzXSA9ICItLXdpdGgtbGliYXRvbWljLW9wcz15ZXMsLS13aXRoLWxpYmF0b21pYy1vcHM9bm8sbGliYXRvbWljLW9wcyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2xpMTEvY2xpMTFfMS42LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jbGkxMS9jbGkxMV8xLjYuMi5iYgppbmRleCA2ODk5YjEyLi5lNjJjMWQzIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jbGkxMS9jbGkxMV8xLjYuMi5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jbGkxMS9jbGkxMV8xLjYuMi5iYgpAQCAtNiwxMSArNiwxNCBAQAogU1JDUkVWID0gImJkNGRjOTExODQ3ZDBjZGU3YTZiNDFkZmE2MjZhODVhYWIyMTNiYWYiCiBQViAuPSAiK2dpdCR7U1JDUFZ9IgogCi1TUkNfVVJJICs9ICJnaXRzbTovL2dpdGh1Yi5jb20vQ0xJVXRpbHMvQ0xJMTEiCitTUkNfVVJJICs9ICJnaXRzbTovL2dpdGh1Yi5jb20vQ0xJVXRpbHMvQ0xJMTEgXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLUNMQU5HX1RJRFktY2hlY2sucGF0Y2ggXAorICAgICAgICAgICAiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKIGluaGVyaXQgY21ha2UKIGluaGVyaXQgcHRlc3QKIAorRVhUUkFfT0VDTUFLRSArPSAiLURDTEFOR19USURZPU9GRiIKIERFUEVORFMgKz0gImJvb3N0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2xpMTEvZmlsZXMvMDAwMS1BZGQtQ0xBTkdfVElEWS1jaGVjay5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NsaTExL2ZpbGVzLzAwMDEtQWRkLUNMQU5HX1RJRFktY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmVmMzU0OGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jbGkxMS9maWxlcy8wMDAxLUFkZC1DTEFOR19USURZLWNoZWNrLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gZWY2MzEwYmM3MjZhNTNmZjZiNDUwNzE2MzNmYTdiMzcyMjRjYWU5NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDEyIEZlYiAyMDE5IDEzOjIyOjIxIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBDTEFOR19USURZIGNoZWNrCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIENNYWtlTGlzdHMudHh0IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggNzk0MDRiOC4uZjY4MjE3ZCAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTM5LDcgKzM5LDcgQEAgaWYoQ01BS0VfUFJPSkVDVF9OQU1FIFNUUkVRVUFMIFBST0pFQ1RfTkFNRSkKKyAgICAgICAgIGFkZF9kZWZpbml0aW9ucygtV2FsbCAtV2V4dHJhIC1wZWRhbnRpYykKKyAgICAgZW5kaWYoKQorIAorLSAgICBpZihDTUFLRV9WRVJTSU9OIFZFUlNJT05fR1JFQVRFUiAzLjYpCisrICAgIGlmKENNQUtFX1ZFUlNJT04gVkVSU0lPTl9HUkVBVEVSIDMuNiBBTkQgQ0xBTkdfVElEWSkKKyAgICAgICAgICMgQWRkIGNsYW5nLXRpZHkgaWYgYXZhaWxhYmxlCisgICAgICAgICBvcHRpb24oQ0xBTkdfVElEWV9GSVggIlBlcmZvcm0gZml4ZXMgZm9yIENsYW5nLVRpZHkiIE9GRikKKyAgICAgICAgIGZpbmRfcHJvZ3JhbSgKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC85NTAtZml4LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0Lzk1MC1maXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNhZTQ2YTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0Lzk1MC1maXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1PcmlnaW46IHVwc3RyZWFtCi1CdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvY3BwcmVzdHNkay9pc3N1ZXMvOTUwCi1MYXN0LVVwZGF0ZTogMjAxOC0xMS0wNAotCi1JbmRleDogY3BwcmVzdC9SZWxlYXNlL3NyYy91dGlsaXRpZXMvYXN5bmNydF91dGlscy5jcHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjcHByZXN0Lm9yaWcvUmVsZWFzZS9zcmMvdXRpbGl0aWVzL2FzeW5jcnRfdXRpbHMuY3BwCi0rKysgY3BwcmVzdC9SZWxlYXNlL3NyYy91dGlsaXRpZXMvYXN5bmNydF91dGlscy5jcHAKLUBAIC0zNTYsNyArMzU2LDcgQEAKLSBpbmxpbmUgc2l6ZV90IGNvdW50X3V0ZjhfdG9fdXRmMTYoY29uc3Qgc3RkOjpzdHJpbmcmIHMpCi0gewotICAgICBjb25zdCBzaXplX3Qgc1NpemUgPSBzLnNpemUoKTsKLS0gICAgYXV0byBzRGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVXRpbENoYXJJbnRlcm5hbF90KiBjb25zdD4ocy5kYXRhKCkpOwotKyAgICBhdXRvIGNvbnN0IHNEYXRhID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBVdGlsQ2hhckludGVybmFsX3QqPihzLmRhdGEoKSk7Ci0gICAgIHNpemVfdCByZXN1bHR7IHNTaXplIH07Ci0gCi0gICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBzU2l6ZTspCi1AQCAtNDQxLDcgKzQ0MSw3IEBACi0gewotICAgICAvLyBTYXZlIHJlcGVhdGVkIGhlYXAgYWxsb2NhdGlvbnMsIHVzZSB0aGUgbGVuZ3RoIG9mIHJlc3VsdGluZyBzZXF1ZW5jZS4KLSAgICAgY29uc3Qgc2l6ZV90IHNyY1NpemUgPSBzLnNpemUoKTsKLS0gICAgYXV0byBzcmNEYXRhID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBVdGlsQ2hhckludGVybmFsX3QqIGNvbnN0PihzLmRhdGEoKSk7Ci0rICAgIGF1dG8gY29uc3Qgc3JjRGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVXRpbENoYXJJbnRlcm5hbF90Kj4ocy5kYXRhKCkpOwotICAgICB1dGYxNnN0cmluZyBkZXN0KGNvdW50X3V0ZjhfdG9fdXRmMTYocyksIEwnXDAnKTsKLSAgICAgdXRmMTZzdHJpbmc6OnZhbHVlX3R5cGUqIGNvbnN0IGRlc3REYXRhID0gJmRlc3RbMF07Ci0gICAgIHNpemVfdCBkZXN0SW5kZXggPSAwOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L2Rpc2FibGUtZmxvYXQtdGVzdHMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvZGlzYWJsZS1mbG9hdC10ZXN0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzVmNzRlYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvZGlzYWJsZS1mbG9hdC10ZXN0cy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLURlc2NyaXB0aW9uOiBuZXcgdG9vbGNoYWluIG1pZ2h0IGhhdmUgaW5jcmVhc2VkIHRoZSBmbG9hdCBwcmVjaXNpb24KLUF1dGhvcjogR2lhbmZyYW5jbyBDb3N0YW1hZ25hIDxsb2N1dHVzb2Zib3JnQGRlYmlhbi5vcmc+Ci1MYXN0LVVwZGF0ZTogMjAxNy0xMC0yOAotRm9yd2FyZGVkOiBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L2NwcHJlc3RzZGsvaXNzdWVzLzU3NgotCi0tLS0gY2FzYWJsYW5jYS0yLjEwLjAub3JpZy9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvc3RyZWFtcy9pc3RyZWFtX3Rlc3RzLmNwcAotKysrIGNhc2FibGFuY2EtMi4xMC4wL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9zdHJlYW1zL2lzdHJlYW1fdGVzdHMuY3BwCi1AQCAtMTMwMiw3ICsxMzAyLDcgQEAgdm9pZCBjb21wYXJlX2Zsb2F0KGZsb2F0IGV4cGVjdGVkLCBmbG9hdAotIHsKLSAgICAgY29tcGFyZV9mbG9hdGluZyhleHBlY3RlZCwgYWN0dWFsLCBGTFRfRVBTSUxPTik7Ci0gfQotLQotKy8qCi0gVEVTVChleHRyYWN0X2Zsb2F0aW5nX3BvaW50KQotIHsKLSAgICAgc3RkOjpzdHJpbmcgdGVzdF9zdHJpbmc7Ci1AQCAtMTM0OSw3ICsxMzQ5LDcgQEAgVEVTVChleHRyYWN0X2Zsb2F0aW5nX3BvaW50KQotICAgICAgICAgICAgIFZFUklGWV9BUkVfRVFVQUwoMSAvIGV4cGVjdGVkLCAxIC8gYWN0dWFsKTsKLSAgICAgfSB3aGlsZSAoIXN0ZF9pc3RyZWFtLmVvZigpKTsKLSB9Ci0tCi0rKi8KLSBURVNUKGV4dHJhY3RfZmxvYXRpbmdfcG9pbnRfd2l0aF9leGNlcHRpb25zKQotIHsKLSAgICAgc3RkOjp2ZWN0b3I8c3RkOjpwYWlyPHN0ZDo6c3RyaW5nLCBzdGQ6OnN0cmluZz4+IHRlc3RzOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L2Rpc2FibGUtb3V0c2lkZS10ZXN0cy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9kaXNhYmxlLW91dHNpZGUtdGVzdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkZmYwZDkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L2Rpc2FibGUtb3V0c2lkZS10ZXN0cy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0MiArMCwwIEBACi1EZXNjcmlwdGlvbjogRGViaWFuIGZvcmJpZHMgY2FsbHMgdG8gZXh0ZXJuYWwgd2Vic2l0ZXMuCi0KLUF1dGhvcjogR2lhbmZyYW5jbyBDb3N0YW1hZ25hIDxsb2N1dHVzQGRlYmlhbi5vcmc+Ci1PcmlnaW46IERlYmlhbgotRm9yd2FyZGVkOiBub3QtbmVlZGVkCi1SZXZpZXdlZC1CeTogR2lhbmZyYW5jbyBDb3N0YW1hZ25hIDxsb2N1dHVzb2Zib3JnQGRlYmlhbi5vcmc+Ci1MYXN0LVVwZGF0ZTogMjAxNS0xMS0yNQotCi1JbmRleDogY2FzYWJsYW5jYS9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvaHR0cC9jbGllbnQvQ01ha2VMaXN0cy50eHQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjYXNhYmxhbmNhLm9yaWcvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L0NNYWtlTGlzdHMudHh0Ci0rKysgY2FzYWJsYW5jYS9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvaHR0cC9jbGllbnQvQ01ha2VMaXN0cy50eHQKLUBAIC0xMiw3ICsxMiw2IEBACi0gICBtdWx0aXBsZV9yZXF1ZXN0cy5jcHAKLSAgIG9hdXRoMV90ZXN0cy5jcHAKLSAgIG9hdXRoMl90ZXN0cy5jcHAKLS0gIG91dHNpZGVfdGVzdHMuY3BwCi0gICBwaXBlbGluZV9zdGFnZV90ZXN0cy5jcHAKLSAgIHByb2dyZXNzX2hhbmRsZXJfdGVzdHMuY3BwCi0gICBwcm94eV90ZXN0cy5jcHAKLUluZGV4OiBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2NsaWVudC9hdXRoZW50aWNhdGlvbl90ZXN0cy5jcHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjYXNhYmxhbmNhLm9yaWcvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L2F1dGhlbnRpY2F0aW9uX3Rlc3RzLmNwcAotKysrIGNhc2FibGFuY2EvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L2F1dGhlbnRpY2F0aW9uX3Rlc3RzLmNwcAotQEAgLTY2MywxNSArNjYzLDE5IEBACi0gICAgIFZFUklGWV9BUkVfRVFVQUwocmV0dXJuX2NvZGUsIHJlc3BvbnNlLnN0YXR1c19jb2RlKCkpOwotIH0KLSAKLSsvKgotIFRFU1QoYXV0aF9ub19kYXRhKQotIHsKLSAgICAgYXV0aF90ZXN0X2ltcGwoZmFsc2UpOwotIH0KLSsqLwotIAotKy8qCi0gVEVTVCh1bnN1Y2Nlc3NmdWxfYXV0aF93aXRoX2Jhc2ljX2NyZWQpCi0gewotICAgICBhdXRoX3Rlc3RfaW1wbCh0cnVlKTsKLSB9Ci0rKi8KLSAKLSBURVNUX0ZJWFRVUkUodXJpX2FkZHJlc3MsIHNldF91c2VyX29wdGlvbnNfYXNpb19odHRwKQotIHsKLUBAIC02OTIsNyArNjk2LDcgQEAKLSAgICAgYXV0byByZXNwb25zZSA9IGNsaWVudC5yZXF1ZXN0KG1ldGhvZHM6OkdFVCkuZ2V0KCk7Ci0gICAgIFZFUklGWV9BUkVfRVFVQUwoMjAwLCByZXNwb25zZS5zdGF0dXNfY29kZSgpKTsKLSB9Ci0tCi0rLyoKLSBURVNUX0ZJWFRVUkUodXJpX2FkZHJlc3MsIHNldF91c2VyX29wdGlvbnNfYXNpb19odHRwcykKLSB7Ci0gICAgIGhhbmRsZV90aW1lb3V0KFtdCi1AQCAtNzE0LDcgKzcxOCw3IEBACi0gICAgICAgICBWRVJJRllfSVNfRkFMU0Uodi5lbXB0eSgpKTsKLSAgICAgfSk7Ci0gfQotLQotKyovCi0gI2VuZGlmCi0gCi0gfSAvLyBTVUlURShhdXRoZW50aWNhdGlvbl90ZXN0cykKLUluZGV4OiBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC93ZWJzb2NrZXRzL2NsaWVudC9hdXRoZW50aWNhdGlvbl90ZXN0cy5jcHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjYXNhYmxhbmNhLm9yaWcvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL3dlYnNvY2tldHMvY2xpZW50L2F1dGhlbnRpY2F0aW9uX3Rlc3RzLmNwcAotKysrIGNhc2FibGFuY2EvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL3dlYnNvY2tldHMvY2xpZW50L2F1dGhlbnRpY2F0aW9uX3Rlc3RzLmNwcAotQEAgLTg2LDcgKzg2LDcgQEAKLSAgICAgfQotICAgICByZXR1cm4gZmFsc2U7Ci0gfQotLQotKy8qCi0gVEVTVChzc2xfdGVzdCkKLSB7Ci0gICAgIHdlYnNvY2tldF9jbGllbnQgY2xpZW50OwotQEAgLTEyMiw3ICsxMjIsNyBAQAotICAgICAgICAgdGhyb3c7Ci0gICAgIH0KLSB9Ci0tCi0rKi8KLSAvLyBUaGVzZSB0ZXN0cyBhcmUgc3BlY2lmaWMgdG8gb3VyIHdlYnNvY2tldHBwIGJhc2VkIGltcGxlbWVudGF0aW9uLgotICNpZiAhZGVmaW5lZChfX2NwbHVzcGx1c193aW5ydCkKLSAKLUBAIC0xNTMsMTQgKzE1MywxNSBAQAotICAgICAgICAgdGhyb3c7Ci0gICAgIH0KLSB9Ci0tCi0rLyoKLSAvLyBUZXN0IHNwZWNpZmljYWxseSBmb3Igc2VydmVyIFNpZ25hbFIgdGVhbSBoaXQgaW50ZXJlc3RpbmcgY2FzZXMgd2l0aC4KLSBURVNUKHNuaV93aXRoX29sZGVyX3NlcnZlcl90ZXN0KQotIHsKLSAgICAgd2Vic29ja2V0X2NsaWVudCBjbGllbnQ7Ci0gICAgIHNuaV90ZXN0X2ltcGwoY2xpZW50KTsKLSB9Ci0tCi0rKi8KLSsvKgotIC8vIFdpblJUIGRvZXNuJ3QgZXhwb3NlIG9wdGlvbiBmb3IgZGlzYWJsaW5nLgotIC8vIE5vIHN0YWJsZSBzZXJ2ZXIgaXMgYXZhaWxhYmxlIHRvIHJlbGlhYmx5IHRlc3QgdGhpcy4KLSAvLyBUaGUgY29uZmlndXJhdGlvbiBiZWxvdyByZWxpZXMgb24gYSB0aW1lb3V0IGluIHRoZSBzdWNjZXNzIGNhc2UuCi1AQCAtMTg4LDcgKzE4OSw4IEBACi0gICAgICAgICB0aHJvdzsKLSAgICAgfQotIH0KLS0KLSsqLwotKy8qCi0gLy8gV2lucnQgZG9lc24ndCBhbGxvdyBleHBsaWNpdGx5IHNldHRpbmcgc2VydmVyIGhvc3QgZm9yIFNOSS4KLSBURVNUKHNuaV9leHBsaWNpdF9ob3N0bmFtZSkKLSB7Ci1AQCAtMTk5LDcgKzIwMSw3IEBACi0gICAgIHdlYnNvY2tldF9jbGllbnQgY2xpZW50KGNvbmZpZyk7Ci0gICAgIHNuaV90ZXN0X2ltcGwoY2xpZW50KTsKLSB9Ci0tCi0rKi8KLSB2b2lkIGhhbmRzaGFrZV9lcnJvcl90ZXN0X2ltcGwoY29uc3QgOjp1dGlsaXR5OjpzdHJpbmdfdCAmaG9zdCkKLSB7Ci0gICAgIHdlYnNvY2tldF9jbGllbnQgY2xpZW50OwotSW5kZXg6IGNhc2FibGFuY2EvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L2Nvbm5lY3Rpb25zX2FuZF9lcnJvcnMuY3BwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2FzYWJsYW5jYS5vcmlnL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2NsaWVudC9jb25uZWN0aW9uc19hbmRfZXJyb3JzLmNwcAotKysrIGNhc2FibGFuY2EvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L2Nvbm5lY3Rpb25zX2FuZF9lcnJvcnMuY3BwCi1AQCAtNDE1LDYgKzQxNSw3IEBACi0gfQotICNlbmRpZgotIAotKy8qCi0gLy8gVHJ5IHRvIGNvbm5lY3QgdG8gYSBzZXJ2ZXIgb24gYSBjbG9zZWQgcG9ydCBhbmQgY2FuY2VsIHRoZSBvcGVyYXRpb24uCi0gVEVTVF9GSVhUVVJFKHVyaV9hZGRyZXNzLCBjYW5jZWxfYmFkX3BvcnQpCi0gewotQEAgLTQ0Niw3ICs0NDcsNyBAQAotIAotICAgICBWRVJJRllfVEhST1dTX0hUVFBfRVJST1JfQ09ERSh0LmdldCgpLCBzdGQ6OmVycmM6Om9wZXJhdGlvbl9jYW5jZWxlZCk7Ci0gfQotLQotKyovCi0gfSAvLyBTVUlURShjb25uZWN0aW9uc19hbmRfZXJyb3JzKQotIAotIH19fX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9kaXNhYmxlLXRlc3QtdGltZW91dHMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvZGlzYWJsZS10ZXN0LXRpbWVvdXRzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5M2MzZThhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9kaXNhYmxlLXRlc3QtdGltZW91dHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDMgKzAsMCBAQAotRGVzY3JpcHRpb246IFNvbWUgdGVzdHMgdGFrZXMgdG9vIGxvbmcgb24gc2xvdyBhcmNoaXRlY3R1cmVzIGFuZCB0aW1lb3V0cwotIFdlIGNhbiBzYWZlbHkgZGlzYWJsZSB0aGVtLgotIGUuZy4KLSBSZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvaHR0cC9jbGllbnQvY29ubmVjdGlvbnNfYW5kX2Vycm9ycy5jcHA6MTQyOiBlcnJvcjogRmFpbHVyZSBpbiByZXF1ZXN0X3RpbWVvdXRfbWljcm9zZWNvbmQ6IFRlc3QgY2FzZSB0aW1lZCBvdXQgYW5kIGlzIGh1bmcuIEFib3J0aW5nIGFsbCByZW1haW5pbmcgdGVzdCBjYXNlcy4gRXhwZWN0ZWQgdW5kZXIgMTgwMDAwbXMuIEZBSUxFRAotCi1JbmRleDogY2FzYWJsYW5jYS9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvaHR0cC9jbGllbnQvY29ubmVjdGlvbnNfYW5kX2Vycm9ycy5jcHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjYXNhYmxhbmNhLm9yaWcvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L2Nvbm5lY3Rpb25zX2FuZF9lcnJvcnMuY3BwCi0rKysgY2FzYWJsYW5jYS9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvaHR0cC9jbGllbnQvY29ubmVjdGlvbnNfYW5kX2Vycm9ycy5jcHAKLUBAIC0xMjcsNyArMTI3LDcgQEAKLSAgICAgLy8gVHJ5IHNlbmRpbmcgYW5vdGhlciByZXF1ZXN0LgotICAgICBWRVJJRllfVEhST1dTKGNsaWVudC5yZXF1ZXN0KG1ldGhvZHM6OkdFVCkud2FpdCgpLCB3ZWI6Omh0dHA6Omh0dHBfZXhjZXB0aW9uKTsKLSB9Ci0tCi0rLyoKLSBURVNUX0ZJWFRVUkUodXJpX2FkZHJlc3MsIHJlcXVlc3RfdGltZW91dCkKLSB7Ci0gICAgIHRlc3RfaHR0cF9zZXJ2ZXI6OnNjb3BlZF9zZXJ2ZXIgc2NvcGVkKG1fdXJpKTsKLUBAIC0xNDYsNyArMTQ2LDggQEAKLSAjZW5kaWYKLSAgICAgdC5nZXQoKTsKLSB9Ci0tCi0rKi8KLSsvKgotIFRFU1RfRklYVFVSRSh1cmlfYWRkcmVzcywgcmVxdWVzdF90aW1lb3V0X21pY3Jvc2Vjb25kKQotIHsKLSAgICAgcHBseDo6dGFzazx0ZXN0X3JlcXVlc3QqPiB0OwotQEAgLTE2OCw3ICsxNjksNyBAQAotICAgICB0cnkgeyB0LmdldCgpOyB9Ci0gICAgIGNhdGNoICguLi4pIHt9Ci0gfQotLQotKyovCi0gVEVTVF9GSVhUVVJFKHVyaV9hZGRyZXNzLCBpbnZhbGlkX21ldGhvZCkKLSB7Ci0gICAgIHdlYjo6aHR0cDo6dXJpIHVyaShVKCJodHRwOi8vd3d3LmJpbmcuY29tLyIpKTsKLUluZGV4OiBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2xpc3RlbmVyL3JlcXVlc3RzX3Rlc3RzLmNwcAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNhc2FibGFuY2Eub3JpZy9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvaHR0cC9saXN0ZW5lci9yZXF1ZXN0c190ZXN0cy5jcHAKLSsrKyBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2xpc3RlbmVyL3JlcXVlc3RzX3Rlc3RzLmNwcAotQEAgLTE3Myw3ICsxNzMsNyBAQAotIAotICAgICBsaXN0ZW5lci5jbG9zZSgpLndhaXQoKTsKLSB9Ci0tCi0rLyoKLSBURVNUX0ZJWFRVUkUodXJpX2FkZHJlc3MsIHJlc3BvbnNlX29yZGVyKQotIHsKLSAgICAgaHR0cF9saXN0ZW5lciBsaXN0ZW5lcihtX3VyaSk7Ci1AQCAtMjE3LDcgKzIxNyw3IEBACi0gCi0gICAgIGxpc3RlbmVyLmNsb3NlKCkud2FpdCgpOwotIH0KLS0KLSsqLwotIFRFU1RfRklYVFVSRSh1cmlfYWRkcmVzcywgdXJpX2VuY29kaW5nLCAiSWdub3JlIiwgIkNvZGVwbGV4IDIwMSIpCi0gewotICAgICBodHRwX2xpc3RlbmVyIGxpc3RlbmVyKG1fdXJpKTsKLUluZGV4OiBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC93ZWJzb2NrZXRzL2NsaWVudC9hdXRoZW50aWNhdGlvbl90ZXN0cy5jcHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjYXNhYmxhbmNhLm9yaWcvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL3dlYnNvY2tldHMvY2xpZW50L2F1dGhlbnRpY2F0aW9uX3Rlc3RzLmNwcAotKysrIGNhc2FibGFuY2EvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL3dlYnNvY2tldHMvY2xpZW50L2F1dGhlbnRpY2F0aW9uX3Rlc3RzLmNwcAotQEAgLTIyMSw3ICsyMjEsNyBAQAotICAgICAgICAgVkVSSUZZX0FSRV9FUVVBTCgiVExTIGhhbmRzaGFrZSBmYWlsZWQiLCBlLmVycm9yX2NvZGUoKS5tZXNzYWdlKCkpOwotICAgICB9Ci0gfQotLQotKy8qCi0gVEVTVChzZWxmX3NpZ25lZF9jZXJ0KQotIHsKLSAgICAgaGFuZHNoYWtlX2Vycm9yX3Rlc3RfaW1wbChVKCJ3c3M6Ly9zZWxmLXNpZ25lZC5iYWRzc2wuY29tLyIpKTsKLUBAIC0yMzYsNyArMjM2LDcgQEAKLSB7Ci0gICAgIGhhbmRzaGFrZV9lcnJvcl90ZXN0X2ltcGwoVSgid3NzOi8vZXhwaXJlZC5iYWRzc2wuY29tLyIpKTsKLSB9Ci0tCi0rKi8KLSAjZW5kaWYKLSAKLSB9IC8vIFNVSVRFKGF1dGhlbnRpY2F0aW9uX3Rlc3RzKQotSW5kZXg6IGNhc2FibGFuY2EvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL3dlYnNvY2tldHMvY2xpZW50L2NsaWVudF9jb25zdHJ1Y3Rpb24uY3BwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2FzYWJsYW5jYS5vcmlnL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC93ZWJzb2NrZXRzL2NsaWVudC9jbGllbnRfY29uc3RydWN0aW9uLmNwcAotKysrIGNhc2FibGFuY2EvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL3dlYnNvY2tldHMvY2xpZW50L2NsaWVudF9jb25zdHJ1Y3Rpb24uY3BwCi1AQCAtODEsNyArODEsNyBAQAotICAgICBWRVJJRllfQVJFX0VRVUFMKGNvbmZpZzIuY3JlZGVudGlhbHMoKS51c2VybmFtZSgpLCBjcmVkLnVzZXJuYW1lKCkpOwotIH0KLSAKLS0KLSsvKgotIC8vIFZlcmlmeSB0aGF0IHdlIGNhbiBnZXQgdGhlIGJhc2V1cmkgZnJvbSB3ZWJzb2NrZXRfY2xpZW50IGNvbm5lY3QuCi0gVEVTVF9GSVhUVVJFKHVyaV9hZGRyZXNzLCB1cmlfdGVzdCkKLSB7Ci1AQCAtMTAxLDcgKzEwMSw3IEBACi0gICAgIFZFUklGWV9BUkVfRVFVQUwoY2xpZW50Mi51cmkoKSwgbV91cmkpOwotICAgICBjbGllbnQyLmNsb3NlKCkud2FpdCgpOwotIH0KLS0KLSsqLwotIFRFU1RfRklYVFVSRSh1cmlfYWRkcmVzcywgbW92ZV9vcGVyYXRpb25zKQotIHsKLSAgICAgc3RkOjpzdHJpbmcgYm9keSgiaGVsbG8iKTsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9yZXZlcnQtOWI2NzBlNWIzM2RmZGJkNTAxZDYxOGNkN2U3NDk4MTQ4ZmZiZDU1OS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9yZXZlcnQtOWI2NzBlNWIzM2RmZGJkNTAxZDYxOGNkN2U3NDk4MTQ4ZmZiZDU1OS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YWYyY2JmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L3JldmVydC05YjY3MGU1YjMzZGZkYmQ1MDFkNjE4Y2Q3ZTc0OTgxNDhmZmJkNTU5LnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Rlc2NyaXB0aW9uOiByZXZlcnQgdXBzdHJlYW0gYnVnZml4IChzZWU6aHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9jcHByZXN0c2RrL2lzc3Vlcy8xMDkwKQorTGFzdC1VcGRhdGU6IDIwMTktMDMtMjgKKworLS0tIGNwcHJlc3QtMi4xMC4xMi5vcmlnL1JlbGVhc2Uvc3JjL3V0aWxpdGllcy9hc3luY3J0X3V0aWxzLmNwcAorKysrIGNwcHJlc3QtMi4xMC4xMi9SZWxlYXNlL3NyYy91dGlsaXRpZXMvYXN5bmNydF91dGlscy5jcHAKK0BAIC0xMzkzLDE2ICsxMzkzLDE1IEBAIHV0aWxpdHk6OnNlY29uZHMgX19jZGVjbCB0aW1lc3Bhbjo6eG1sX2QKKyAgICAgcmV0dXJuIHV0aWxpdHk6OnNlY29uZHMobnVtU2Vjcyk7CisgfQorIAorLXN0YXRpYyBjb25zdCBjaGFyIGNfYWxsb3dlZF9jaGFyc1tdID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5IjsKKy1zdGF0aWMgY29uc3QgaW50IGNoYXJzX2NvdW50ID0gc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoY19hbGxvd2VkX2NoYXJzKSAtIDEpOworK3N0YXRpYyBjb25zdCB1dGlsaXR5OjpjaGFyX3QgY19hbGxvd2VkX2NoYXJzW10gPQorKyAgICBfWFBMQVRTVFIoIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Iik7CisgCisgdXRpbGl0eTo6c3RyaW5nX3Qgbm9uY2VfZ2VuZXJhdG9yOjpnZW5lcmF0ZSgpCisgeworLSAgICBzdGQ6OnVuaWZvcm1faW50X2Rpc3RyaWJ1dGlvbjw+IGRpc3RyKDAsIGNoYXJzX2NvdW50IC0gMSk7CisrICAgIHN0ZDo6dW5pZm9ybV9pbnRfZGlzdHJpYnV0aW9uPD4gZGlzdHIoMCwgc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoY19hbGxvd2VkX2NoYXJzKSAvIHNpemVvZih1dGlsaXR5OjpjaGFyX3QpKSAtIDEpOworICAgICB1dGlsaXR5OjpzdHJpbmdfdCByZXN1bHQ7CisgICAgIHJlc3VsdC5yZXNlcnZlKGxlbmd0aCgpKTsKKy0gICAgc3RkOjpnZW5lcmF0ZV9uKHN0ZDo6YmFja19pbnNlcnRlcihyZXN1bHQpLCBsZW5ndGgoKSwKKy0JCVsmXSB7IHJldHVybiBzdGF0aWNfY2FzdDx1dGlsaXR5OjpjaGFyX3Q+KGNfYWxsb3dlZF9jaGFyc1tkaXN0cihtX3JhbmRvbSldKTsgfSk7CisrICAgIHN0ZDo6Z2VuZXJhdGVfbihzdGQ6OmJhY2tfaW5zZXJ0ZXIocmVzdWx0KSwgbGVuZ3RoKCksIFsmXSgpIHsgcmV0dXJuIGNfYWxsb3dlZF9jaGFyc1tkaXN0cihtX3JhbmRvbSldOyB9KTsKKyAgICAgcmV0dXJuIHJlc3VsdDsKKyB9CisgCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvcmV2ZXJ0LWYxMGQ5ZjhlMjE0NTE2ZDJjMTlhYTZlZjgzMWVlODc0YTU4YzA0NzkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvcmV2ZXJ0LWYxMGQ5ZjhlMjE0NTE2ZDJjMTlhYTZlZjgzMWVlODc0YTU4YzA0NzkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFlNDYzMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9yZXZlcnQtZjEwZDlmOGUyMTQ1MTZkMmMxOWFhNmVmODMxZWU4NzRhNThjMDQ3OS5wYXRjaApAQCAtMCwwICsxLDE1NTcgQEAKK0Rlc2NyaXB0aW9uOiByZXZlcnQgdXBzdHJlYW0gYnVnZml4IChzZWU6aHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9jcHByZXN0c2RrL2lzc3Vlcy8xMDkwKQorTGFzdC1VcGRhdGU6IDIwMTktMDMtMjgKKworLS0tIGNwcHJlc3QtMi4xMC4xMi5vcmlnL1JlbGVhc2UvaW5jbHVkZS9jcHByZXN0L2FzeW5jcnRfdXRpbHMuaAorKysrIGNwcHJlc3QtMi4xMC4xMi9SZWxlYXNlL2luY2x1ZGUvY3BwcmVzdC9hc3luY3J0X3V0aWxzLmgKK0BAIC02MzAsNiArNjMwLDE1IEBAIHByaXZhdGU6CisgICAgIHN0YXRpYyBjb25zdCBpbnRlcnZhbF90eXBlIF9ob3VyVGlja3MgPSA2MCAqIDYwICogX3NlY29uZFRpY2tzOworICAgICBzdGF0aWMgY29uc3QgaW50ZXJ2YWxfdHlwZSBfZGF5VGlja3MgPSAyNCAqIDYwICogNjAgKiBfc2Vjb25kVGlja3M7CisgCisrI2lmZGVmIF9XSU4zMgorKyAgICAvLyB2b2lkKiB0byBhdm9pZCBwdWxsaW5nIGluIHdpbmRvd3MuaAorKyAgICBzdGF0aWMgX0FTWU5DUlRJTVAgYm9vbCBfX2NkZWNsIHN5c3RlbV90eXBlX3RvX2RhdGV0aW1lKC8qU1lTVEVNVElNRSovIHZvaWQqIHBzeXNUaW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IHNlY29uZHMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWUqIHBkdCk7CisrI2Vsc2UKKysgICAgc3RhdGljIGRhdGV0aW1lIHRpbWV2YWxfdG9fZGF0ZXRpbWUoY29uc3QgdGltZXZhbCYgdGltZSk7CisrI2VuZGlmCisrCisgICAgIC8vIFByaXZhdGUgY29uc3RydWN0b3IuIFVzZSBzdGF0aWMgbWV0aG9kcyB0byBjcmVhdGUgYW4gaW5zdGFuY2UuCisgICAgIGRhdGV0aW1lKGludGVydmFsX3R5cGUgaW50ZXJ2YWwpIDogbV9pbnRlcnZhbChpbnRlcnZhbCkge30KKyAKK0BAIC02OTAsNiArNjk5LDcgQEAgcHVibGljOgorICAgICB2b2lkIHNldF9sZW5ndGgoaW50IGxlbmd0aCkgeyBtX2xlbmd0aCA9IGxlbmd0aDsgfQorIAorIHByaXZhdGU6CisrICAgIHN0YXRpYyBjb25zdCB1dGlsaXR5OjpzdHJpbmdfdCBjX2FsbG93ZWRfY2hhcnM7CisgICAgIHN0ZDo6bXQxOTkzNyBtX3JhbmRvbTsKKyAgICAgaW50IG1fbGVuZ3RoOworIH07CistLS0gY3BwcmVzdC0yLjEwLjEyLm9yaWcvUmVsZWFzZS9zcmMvcGNoL3N0ZGFmeC5oCisrKysgY3BwcmVzdC0yLjEwLjEyL1JlbGVhc2Uvc3JjL3BjaC9zdGRhZnguaAorQEAgLTYxLDYgKzYxLDcgQEAKKyAjdW5kZWYgQk9PU1RfTk9fQ1hYMTFfTlVMTFBUUgorICNlbmRpZgorICNpbmNsdWRlICJib29zdC9iaW5kL2JpbmQuaHBwIgorKyNpbmNsdWRlICJib29zdC9kYXRlX3RpbWUvcG9zaXhfdGltZS9wb3NpeF90aW1lX3R5cGVzLmhwcCIKKyAjaW5jbHVkZSAiYm9vc3QvdGhyZWFkL2NvbmRpdGlvbl92YXJpYWJsZS5ocHAiCisgI2luY2x1ZGUgImJvb3N0L3RocmVhZC9tdXRleC5ocHAiCisgI2luY2x1ZGUgPGZjbnRsLmg+CistLS0gY3BwcmVzdC0yLjEwLjEyLm9yaWcvUmVsZWFzZS9zcmMvdXRpbGl0aWVzL2FzeW5jcnRfdXRpbHMuY3BwCisrKysgY3BwcmVzdC0yLjEwLjEyL1JlbGVhc2Uvc3JjL3V0aWxpdGllcy9hc3luY3J0X3V0aWxzLmNwcAorQEAgLTE1LDkgKzE1LDIwIEBACisgCisgI2luY2x1ZGUgPGFsZ29yaXRobT4KKyAjaW5jbHVkZSA8Y3BwcmVzdC9hc3luY3J0X3V0aWxzLmg+CistI2luY2x1ZGUgPHN0ZGV4Y2VwdD4KKysjaW5jbHVkZSA8c3N0cmVhbT4KKyAjaW5jbHVkZSA8c3RyaW5nPgorLSNpbmNsdWRlIDx0aW1lLmg+CisrCisrI2lmbmRlZiBfV0lOMzIKKysjaWYgZGVmaW5lZChfX2NsYW5nX18pCisrI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKysjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVd1bnVzZWQtbG9jYWwtdHlwZWRlZiIKKysjZW5kaWYKKysjaW5jbHVkZSA8Ym9vc3QvZGF0ZV90aW1lL3Bvc2l4X3RpbWUvcG9zaXhfdGltZS5ocHA+CisrI2luY2x1ZGUgPGJvb3N0L2RhdGVfdGltZS9wb3NpeF90aW1lL3Bvc2l4X3RpbWVfaW8uaHBwPgorKyNpZiBkZWZpbmVkKF9fY2xhbmdfXykKKysjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisrI2VuZGlmCisrI2VuZGlmCisgCisgdXNpbmcgbmFtZXNwYWNlIHdlYjsKKyB1c2luZyBuYW1lc3BhY2UgdXRpbGl0eTsKK0BAIC02MTgsNyArNjI5LDE4IEBAIHN0ZDo6c3RyaW5nIF9fY2RlY2wgY29udmVyc2lvbnM6OnRvX3V0ZjgKKyAKKyB1dGYxNnN0cmluZyBfX2NkZWNsIGNvbnZlcnNpb25zOjp0b191dGYxNnN0cmluZyhjb25zdCBzdGQ6OnN0cmluZyYgdmFsdWUpIHsgcmV0dXJuIHV0ZjhfdG9fdXRmMTYodmFsdWUpOyB9CisgCistc3RhdGljIGNvbnN0IHVpbnQ2NF90IG50VG9Vbml4T2Zmc2V0U2Vjb25kcyA9IDExNjQ0NDczNjAwVTsgLy8gZGlmZiBiZXR3ZWVuIHdpbmRvd3MgYW5kIHVuaXggZXBvY2hzIChzZWNvbmRzKQorKyNpZm5kZWYgV0lOMzIKKytkYXRldGltZSBkYXRldGltZTo6dGltZXZhbF90b19kYXRldGltZShjb25zdCB0aW1ldmFsJiB0aW1lKQorK3sKKysgICAgY29uc3QgdWludDY0X3QgZXBvY2hfb2Zmc2V0ID0gMTE2NDQ0NzM2MDBMTDsgLy8gZGlmZiBiZXR3ZWVuIHdpbmRvd3MgYW5kIHVuaXggZXBvY2hzIChzZWNvbmRzKQorKyAgICB1aW50NjRfdCByZXN1bHQgPSBlcG9jaF9vZmZzZXQgKyB0aW1lLnR2X3NlYzsKKysgICAgcmVzdWx0ICo9IF9zZWNvbmRUaWNrczsgICAgICAvLyBjb252ZXJ0IHRvIDEwZS03CisrICAgIHJlc3VsdCArPSB0aW1lLnR2X3VzZWMgKiAxMDsgLy8gY29udmVydCBhbmQgYWRkIG1pY3Jvc2Vjb25kcywgMTBlLTYgdG8gMTBlLTcKKysgICAgcmV0dXJuIGRhdGV0aW1lKHJlc3VsdCk7CisrfQorKyNlbmRpZgorKworK3N0YXRpYyBib29sIGlzX2RpZ2l0KHV0aWxpdHk6OmNoYXJfdCBjKSB7IHJldHVybiBjID49IF9YUExBVFNUUignMCcpICYmIGMgPD0gX1hQTEFUU1RSKCc5Jyk7IH0KKyAKKyBkYXRldGltZSBfX2NkZWNsIGRhdGV0aW1lOjp1dGNfbm93KCkKKyB7CitAQCAtNjM0LDY0OSArNjU2LDQ1MCBAQCBkYXRldGltZSBfX2NkZWNsIGRhdGV0aW1lOjp1dGNfbm93KCkKKyAjZWxzZSAvLyBMSU5VWAorICAgICBzdHJ1Y3QgdGltZXZhbCB0aW1lOworICAgICBnZXR0aW1lb2ZkYXkoJnRpbWUsIG51bGxwdHIpOworLSAgICB1aW50NjRfdCByZXN1bHQgPSBudFRvVW5peE9mZnNldFNlY29uZHMgKyB0aW1lLnR2X3NlYzsKKy0gICAgcmVzdWx0ICo9IF9zZWNvbmRUaWNrczsgICAgICAvLyBjb252ZXJ0IHRvIDEwZS03CistICAgIHJlc3VsdCArPSB0aW1lLnR2X3VzZWMgKiAxMDsgLy8gY29udmVydCBhbmQgYWRkIG1pY3Jvc2Vjb25kcywgMTBlLTYgdG8gMTBlLTcKKy0gICAgcmV0dXJuIGRhdGV0aW1lKHJlc3VsdCk7CisrICAgIHJldHVybiB0aW1ldmFsX3RvX2RhdGV0aW1lKHRpbWUpOworICNlbmRpZgorIH0KKyAKKy1zdGF0aWMgY29uc3QgY2hhciBkYXlOYW1lc1tdID0gIlN1blwwTW9uXDBUdWVcMFdlZFwwVGh1XDBGcmlcMFNhdCI7Cistc3RhdGljIGNvbnN0IGNoYXIgbW9udGhOYW1lc1tdID0gIkphblwwRmViXDBNYXJcMEFwclwwTWF5XDBKdW5cMEp1bFwwQXVnXDBTZXBcME9jdFwwTm92XDBEZWMiOworLQorIHV0aWxpdHk6OnN0cmluZ190IGRhdGV0aW1lOjp0b19zdHJpbmcoZGF0ZV9mb3JtYXQgZm9ybWF0KSBjb25zdAorIHsKKy0gICAgY29uc3QgdWludDY0X3QgaW5wdXQgPSBtX2ludGVydmFsIC8gX3NlY29uZFRpY2tzOyAvLyBjb252ZXJ0IHRvIHNlY29uZHMKKy0gICAgY29uc3QgaW50IGZyYWNfc2VjID0gc3RhdGljX2Nhc3Q8aW50PihtX2ludGVydmFsICUgX3NlY29uZFRpY2tzKTsKKy0gICAgY29uc3QgdGltZV90IHRpbWUgPSBzdGF0aWNfY2FzdDx0aW1lX3Q+KGlucHV0IC0gbnRUb1VuaXhPZmZzZXRTZWNvbmRzKTsKKy0gICAgc3RydWN0IHRtIHQ7CistI2lmZGVmIF9NU0NfVkVSCistICAgIGlmIChnbXRpbWVfcygmdCwgJnRpbWUpICE9IDApCistI2Vsc2UgIC8vIF5eXiBfTVNDX1ZFUiBeXl4gLy8gdnZ2ICFfTVNDX1ZFUiB2dnYKKy0gICAgaWYgKGdtdGltZV9yKCZ0aW1lLCAmdCkgPT0gMCkKKy0jZW5kaWYgLy8gX01TQ19WRVIKKy0gICAgeworLSAgICAgICAgdGhyb3cgc3RkOjppbnZhbGlkX2FyZ3VtZW50KCJnbXRpbWVfci9zIGZhaWxlZCBvbiB0aGUgdGltZSBzdXBwbGllZCIpOworLSAgICB9CistCistICAgIGNoYXIgb3V0QnVmZmVyWzM4XTsgLy8gVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVRcMAorLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIDE5NzAtMDEtMDFUMDA6MDA6MDAuMTIzNDU2N1pcMAorLSAgICBjaGFyKiBvdXRDdXJzb3IgPSBvdXRCdWZmZXI7CistICAgIHN3aXRjaCAoZm9ybWF0KQorLSAgICB7CistICAgICAgICBjYXNlIFJGQ18xMTIzOgorLSNpZmRlZiBfTVNDX1ZFUgorLSAgICAgICAgICAgIHNwcmludGZfcyhvdXRDdXJzb3IsCistICAgICAgICAgICAgICAgICAgICAgIDI2LAorLSAgICAgICAgICAgICAgICAgICAgICAiJXMsICUwMmQgJXMgJTA0ZCAlMDJkOiUwMmQ6JTAyZCIsCistICAgICAgICAgICAgICAgICAgICAgIGRheU5hbWVzICsgNCAqIHQudG1fd2RheSwKKy0gICAgICAgICAgICAgICAgICAgICAgdC50bV9tZGF5LAorLSAgICAgICAgICAgICAgICAgICAgICBtb250aE5hbWVzICsgNCAqIHQudG1fbW9uLAorLSAgICAgICAgICAgICAgICAgICAgICB0LnRtX3llYXIgKyAxOTAwLAorLSAgICAgICAgICAgICAgICAgICAgICB0LnRtX2hvdXIsCistICAgICAgICAgICAgICAgICAgICAgIHQudG1fbWluLAorLSAgICAgICAgICAgICAgICAgICAgICB0LnRtX3NlYyk7CistI2Vsc2UgIC8vIF5eXiBfTVNDX1ZFUiAvLyAhX01TQ19WRVIgdnZ2CistICAgICAgICAgICAgc3ByaW50ZihvdXRDdXJzb3IsCistICAgICAgICAgICAgICAgICAgICAiJXMsICUwMmQgJXMgJTA0ZCAlMDJkOiUwMmQ6JTAyZCIsCistICAgICAgICAgICAgICAgICAgICBkYXlOYW1lcyArIDQgKiB0LnRtX3dkYXksCistICAgICAgICAgICAgICAgICAgICB0LnRtX21kYXksCistICAgICAgICAgICAgICAgICAgICBtb250aE5hbWVzICsgNCAqIHQudG1fbW9uLAorLSAgICAgICAgICAgICAgICAgICAgdC50bV95ZWFyICsgMTkwMCwKKy0gICAgICAgICAgICAgICAgICAgIHQudG1faG91ciwKKy0gICAgICAgICAgICAgICAgICAgIHQudG1fbWluLAorLSAgICAgICAgICAgICAgICAgICAgdC50bV9zZWMpOworLSNlbmRpZiAvLyBfTVNDX1ZFUgorLSAgICAgICAgICAgIG91dEN1cnNvciArPSAyNTsKKy0gICAgICAgICAgICBtZW1jcHkob3V0Q3Vyc29yLCAiIEdNVCIsIDQpOworLSAgICAgICAgICAgIG91dEN1cnNvciArPSA0OworLSAgICAgICAgICAgIHJldHVybiB1dGlsaXR5OjpzdHJpbmdfdChvdXRCdWZmZXIsIG91dEN1cnNvcik7CistICAgICAgICBjYXNlIElTT184NjAxOgorLSNpZmRlZiBfTVNDX1ZFUgorLSAgICAgICAgICAgIHNwcmludGZfcyhvdXRDdXJzb3IsCistICAgICAgICAgICAgICAgICAgICAgIDIwLAorLSAgICAgICAgICAgICAgICAgICAgICAiJTA0ZC0lMDJkLSUwMmRUJTAyZDolMDJkOiUwMmQiLAorLSAgICAgICAgICAgICAgICAgICAgICB0LnRtX3llYXIgKyAxOTAwLAorLSAgICAgICAgICAgICAgICAgICAgICB0LnRtX21vbiArIDEsCistICAgICAgICAgICAgICAgICAgICAgIHQudG1fbWRheSwKKy0gICAgICAgICAgICAgICAgICAgICAgdC50bV9ob3VyLAorLSAgICAgICAgICAgICAgICAgICAgICB0LnRtX21pbiwKKy0gICAgICAgICAgICAgICAgICAgICAgdC50bV9zZWMpOworLSNlbHNlICAvLyBeXl4gX01TQ19WRVIgLy8gIV9NU0NfVkVSIHZ2dgorLSAgICAgICAgICAgIHNwcmludGYob3V0Q3Vyc29yLAorLSAgICAgICAgICAgICAgICAgICAgIiUwNGQtJTAyZC0lMDJkVCUwMmQ6JTAyZDolMDJkIiwKKy0gICAgICAgICAgICAgICAgICAgIHQudG1feWVhciArIDE5MDAsCistICAgICAgICAgICAgICAgICAgICB0LnRtX21vbiArIDEsCistICAgICAgICAgICAgICAgICAgICB0LnRtX21kYXksCistICAgICAgICAgICAgICAgICAgICB0LnRtX2hvdXIsCistICAgICAgICAgICAgICAgICAgICB0LnRtX21pbiwKKy0gICAgICAgICAgICAgICAgICAgIHQudG1fc2VjKTsKKy0jZW5kaWYgLy8gX01TQ19WRVIKKy0gICAgICAgICAgICBvdXRDdXJzb3IgKz0gMTk7CistICAgICAgICAgICAgaWYgKGZyYWNfc2VjICE9IDApCistICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAvLyBBcHBlbmQgZnJhY3Rpb25hbCBzZWNvbmQsIHdoaWNoIGlzIGEgNy1kaWdpdCB2YWx1ZSB3aXRoIG5vIHRyYWlsaW5nIHplcm9zCistICAgICAgICAgICAgICAgIC8vIFRoaXMgd2F5LCAnMTIwMCcgYmVjb21lcyAnMDAwMTInCistI2lmZGVmIF9NU0NfVkVSCistICAgICAgICAgICAgICAgIHNpemVfdCBhcHBlbmRlZCA9IHNwcmludGZfcyhvdXRDdXJzb3IsIDksICIuJTA3ZCIsIGZyYWNfc2VjKTsKKy0jZWxzZSAgLy8gXl5eIF9NU0NfVkVSIC8vICFfTVNDX1ZFUiB2dnYKKy0gICAgICAgICAgICAgICAgc2l6ZV90IGFwcGVuZGVkID0gc3ByaW50ZihvdXRDdXJzb3IsICIuJTA3ZCIsIGZyYWNfc2VjKTsKKy0jZW5kaWYgLy8gX01TQ19WRVIKKy0gICAgICAgICAgICAgICAgd2hpbGUgKG91dEN1cnNvclthcHBlbmRlZCAtIDFdID09ICcwJykKKy0gICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAgLS1hcHBlbmRlZDsgLy8gdHJpbSB0cmFpbGluZyB6ZXJvcworLSAgICAgICAgICAgICAgICB9CistCistICAgICAgICAgICAgICAgIG91dEN1cnNvciArPSBhcHBlbmRlZDsKKy0gICAgICAgICAgICB9CistCistICAgICAgICAgICAgKm91dEN1cnNvciA9ICdaJzsKKy0gICAgICAgICAgICArK291dEN1cnNvcjsKKy0gICAgICAgICAgICByZXR1cm4gdXRpbGl0eTo6c3RyaW5nX3Qob3V0QnVmZmVyLCBvdXRDdXJzb3IpOworLSAgICAgICAgZGVmYXVsdDogdGhyb3cgc3RkOjppbnZhbGlkX2FyZ3VtZW50KCJVbnJlY29nbml6ZWQgZGF0ZSBmb3JtYXQuIik7CistICAgIH0KKy19CistCistdGVtcGxhdGU8Y2xhc3MgQ2hhclQ+Cistc3RhdGljIGJvb2wgc3RyaW5nX3N0YXJ0c193aXRoKGNvbnN0IENoYXJUKiBoYXlzdGFjaywgY29uc3QgY2hhciogbmVlZGxlKQorLXsKKy0gICAgd2hpbGUgKCpuZWVkbGUpCistICAgIHsKKy0gICAgICAgIGlmICgqaGF5c3RhY2sgIT0gc3RhdGljX2Nhc3Q8Q2hhclQ+KCpuZWVkbGUpKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgICsraGF5c3RhY2s7CistICAgICAgICArK25lZWRsZTsKKy0gICAgfQorLQorLSAgICByZXR1cm4gdHJ1ZTsKKy19CistCistI2RlZmluZSBhc2NpaV9pc2RpZ2l0KGMpICgodW5zaWduZWQgY2hhcikoKHVuc2lnbmVkIGNoYXIpKGMpIC0gJzAnKSA8PSA5KQorLSNkZWZpbmUgYXNjaWlfaXNkaWdpdDYoYykgKCh1bnNpZ25lZCBjaGFyKSgodW5zaWduZWQgY2hhcikoYykgLSAnMCcpIDw9IDYpCistI2RlZmluZSBhc2NpaV9pc2RpZ2l0NShjKSAoKHVuc2lnbmVkIGNoYXIpKCh1bnNpZ25lZCBjaGFyKShjKSAtICcwJykgPD0gNSkKKy0jZGVmaW5lIGFzY2lpX2lzZGlnaXQzKGMpICgodW5zaWduZWQgY2hhcikoKHVuc2lnbmVkIGNoYXIpKGMpIC0gJzAnKSA8PSAzKQorLSNkZWZpbmUgYXNjaWlfaXNkaWdpdDIoYykgKCh1bnNpZ25lZCBjaGFyKSgodW5zaWduZWQgY2hhcikoYykgLSAnMCcpIDw9IDIpCistI2RlZmluZSBhc2NpaV9pc2RpZ2l0MShjKSAoKHVuc2lnbmVkIGNoYXIpKCh1bnNpZ25lZCBjaGFyKShjKSAtICcwJykgPD0gMSkKKy0KKy1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBtYXhfZGF5c19pbl9tb250aFsxMl0gPSB7CistICAgIDMxLCAvLyBKYW4KKy0gICAgMDAsIC8vIEZlYiwgc3BlY2lhbCBoYW5kbGluZyBmb3IgbGVhcCB5ZWFycworLSAgICAzMSwgLy8gTWFyCistICAgIDMwLCAvLyBBcHIKKy0gICAgMzEsIC8vIE1heQorLSAgICAzMCwgLy8gSnVuCistICAgIDMxLCAvLyBKdWwKKy0gICAgMzEsIC8vIEF1ZworLSAgICAzMCwgLy8gU2VwCistICAgIDMxLCAvLyBPY3QKKy0gICAgMzAsIC8vIE5vdgorLSAgICAzMSAgLy8gRGVjCistfTsKKy0KKy1zdGF0aWMgYm9vbCB2YWxpZGF0ZV9kYXlfbW9udGgoaW50IGRheSwgaW50IG1vbnRoLCBpbnQgeWVhcikKKy17CistICAgIGludCBtYXhEYXlzVGhpc01vbnRoOworLSAgICBpZiAobW9udGggPT0gMSkKKy0gICAgeyAvLyBGZWIgbmVlZHMgbGVhcCB5ZWFyIHRlc3RpbmcKKy0gICAgICAgIG1heERheXNUaGlzTW9udGggPSAyOCArICh5ZWFyICUgNCA9PSAwICYmICh5ZWFyICUgMTAwICE9IDAgfHwgeWVhciAlIDQwMCA9PSAwKSk7CistICAgIH0KKy0gICAgZWxzZQorLSAgICB7CistICAgICAgICBtYXhEYXlzVGhpc01vbnRoID0gbWF4X2RheXNfaW5fbW9udGhbbW9udGhdOworLSAgICB9CistCistICAgIHJldHVybiBkYXkgPj0gMSAmJiBkYXkgPD0gbWF4RGF5c1RoaXNNb250aDsKKy19CisrI2lmZGVmIF9XSU4zMgorKyAgICBpbnQgc3RhdHVzOworIAorLXRlbXBsYXRlPGNsYXNzIENoYXJUPgorLXN0YXRpYyBpbnQgYXRvaTIoY29uc3QgQ2hhclQqIHN0cikKKy17CistICAgIHJldHVybiAoc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3RyWzBdKSAtICcwJykgKiAxMCArIChzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihzdHJbMV0pIC0gJzAnKTsKKy19CisrICAgIFVMQVJHRV9JTlRFR0VSIGxhcmdlSW50OworKyAgICBsYXJnZUludC5RdWFkUGFydCA9IG1faW50ZXJ2YWw7CisgCistc3RhdGljIGNvbnN0IHRpbWVfdCBtYXhUaW1lVCA9IHNpemVvZih0aW1lX3QpID09IDQgPyAodGltZV90KUlOVF9NQVggOiAodGltZV90KUxMT05HX01BWDsKKysgICAgRklMRVRJTUUgZnQ7CisrICAgIGZ0LmR3SGlnaERhdGVUaW1lID0gbGFyZ2VJbnQuSGlnaFBhcnQ7CisrICAgIGZ0LmR3TG93RGF0ZVRpbWUgPSBsYXJnZUludC5Mb3dQYXJ0OworIAorLXN0YXRpYyB0aW1lX3QgdGltZXpvbmVfYWRqdXN0KHRpbWVfdCByZXN1bHQsIHVuc2lnbmVkIGNoYXIgY2hTaWduLCBpbnQgYWRqdXN0SG91cnMsIGludCBhZGp1c3RNaW51dGVzKQorLXsKKy0gICAgaWYgKGFkanVzdEhvdXJzID4gMjMpCisrICAgIFNZU1RFTVRJTUUgc3lzdGVtVGltZTsKKysgICAgaWYgKCFGaWxlVGltZVRvU3lzdGVtVGltZSgoY29uc3QgRklMRVRJTUUqKSZmdCwgJnN5c3RlbVRpbWUpKQorICAgICB7CistICAgICAgICByZXR1cm4gKHRpbWVfdCktMTsKKysgICAgICAgIHRocm93IHV0aWxpdHk6OmRldGFpbHM6OmNyZWF0ZV9zeXN0ZW1fZXJyb3IoR2V0TGFzdEVycm9yKCkpOworICAgICB9CisgCistICAgIC8vIGFkanVzdE1pbnV0ZXMgPiA1OSBpcyBpbXBvc3NpYmxlIGR1ZSB0byBkaWdpdCA1IGNoZWNrCistICAgIGNvbnN0IGludCB0ekFkanVzdCA9IGFkanVzdE1pbnV0ZXMgKiA2MCArIGFkanVzdEhvdXJzICogNjAgKiA2MDsKKy0gICAgaWYgKGNoU2lnbiA9PSAnLScpCisrICAgIHN0ZDo6d3N0cmluZyByZXN1bHQ7CisrICAgIGlmIChmb3JtYXQgPT0gUkZDXzExMjMpCisgICAgIHsKKy0gICAgICAgIGlmIChtYXhUaW1lVCAtIHJlc3VsdCA8IHR6QWRqdXN0KQorICAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiAodGltZV90KS0xOworKyAgICAgICAgICAgIHdjaGFyX3QgZGF0ZVN0clsxOF0gPSB7MH07CisrI2lmIF9XSU4zMl9XSU5OVCA8IF9XSU4zMl9XSU5OVF9WSVNUQQorKyAgICAgICAgICAgIHN0YXR1cyA9IEdldERhdGVGb3JtYXRXKAorKyAgICAgICAgICAgICAgICBMT0NBTEVfSU5WQVJJQU5ULCAwLCAmc3lzdGVtVGltZSwgTCJkZGQnLCcgZGQgTU1NIHl5eXkiLCBkYXRlU3RyLCBzaXplb2YoZGF0ZVN0cikgLyBzaXplb2Yod2NoYXJfdCkpOworKyNlbHNlCisrICAgICAgICAgICAgc3RhdHVzID0gR2V0RGF0ZUZvcm1hdEV4KExPQ0FMRV9OQU1FX0lOVkFSSUFOVCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c3RlbVRpbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwiZGRkJywnIGRkIE1NTSB5eXl5IiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZVN0ciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGRhdGVTdHIpIC8gc2l6ZW9mKHdjaGFyX3QpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKysjZW5kaWYgLy8gX1dJTjMyX1dJTk5UIDwgX1dJTjMyX1dJTk5UX1ZJU1RBCisrICAgICAgICAgICAgaWYgKHN0YXR1cyA9PSAwKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgdGhyb3cgdXRpbGl0eTo6ZGV0YWlsczo6Y3JlYXRlX3N5c3RlbV9lcnJvcihHZXRMYXN0RXJyb3IoKSk7CisrICAgICAgICAgICAgfQorKworKyAgICAgICAgICAgIHJlc3VsdCArPSBkYXRlU3RyOworKyAgICAgICAgICAgIHJlc3VsdCArPSBMJyAnOworICAgICAgICAgfQorIAorLSAgICAgICAgcmVzdWx0ICs9IHR6QWRqdXN0OworLSAgICB9CistICAgIGVsc2UKKy0gICAgeworLSAgICAgICAgaWYgKHR6QWRqdXN0ID4gcmVzdWx0KQorICAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiAodGltZV90KS0xOworLSAgICAgICAgfQorLQorLSAgICAgICAgcmVzdWx0IC09IHR6QWRqdXN0OworLSAgICB9CistCistICAgIHJldHVybiByZXN1bHQ7CistfQorLQorLXN0YXRpYyB0aW1lX3QgbWFrZV9nbV90aW1lKHN0cnVjdCB0bSogdCkKKy17CistI2lmZGVmIF9NU0NfVkVSCistICAgIHJldHVybiBfbWtnbXRpbWUodCk7CistI2VsaWYgKGRlZmluZWQoQU5EUk9JRCkgfHwgZGVmaW5lZChfX0FORFJPSURfXykpCistICAgIC8vIEhBQ0s6IFRoZSAobm9ucG9ydGFibGU/KSBQT1NJWCBmdW5jdGlvbiB0aW1lZ20gaXMgbm90IGF2YWlsYWJsZSBpbgorLSAgICAvLyAgICAgICBiaW9uaWMuIEFzIGEgd29ya2Fyb3VuZFsxXVsyXSwgd2Ugc2V0IHRoZSBDIGxpYnJhcnkgdGltZXpvbmUgdG8KKy0gICAgLy8gICAgICAgVVRDLCBjYWxsIG1rdGltZSwgdGhlbiBzZXQgdGhlIHRpbWV6b25lIGJhY2suIEhvd2V2ZXIsIHRoZSBDCistICAgIC8vICAgICAgIGVudmlyb25tZW50IGlzIGZ1bmRhbWVudGFsbHkgYSBzaGFyZWQgZ2xvYmFsIHJlc291cmNlIGFuZCB0aHJlYWQtCistICAgIC8vICAgICAgIHVuc2FmZS4gV2UgY2FuIHByb3RlY3Qgb3VyIHVzYWdlIGhlcmUsIGhvd2V2ZXIgYW55IG90aGVyIGNvZGUgbWlnaHQKKy0gICAgLy8gICAgICAgbWFuaXB1bGF0ZSB0aGUgZW52aXJvbm1lbnQgYXQgdGhlIHNhbWUgdGltZS4KKy0gICAgLy8KKy0gICAgLy8gWzFdIGh0dHA6Ly9saW51eC5kaWUubmV0L21hbi8zL3RpbWVnbQorLSAgICAvLyBbMl0gaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYmMvbWFudWFsL2h0bWxfbm9kZS9Ccm9rZW5fMDAyZGRvd24tVGltZS5odG1sCistICAgIHRpbWVfdCB0aW1lOworLSAgICBzdGF0aWMgYm9vc3Q6Om11dGV4IGVudl92YXJfbG9jazsKKy0gICAgeworLSAgICAgICAgYm9vc3Q6OmxvY2tfZ3VhcmQ8Ym9vc3Q6Om11dGV4PiBsb2NrKGVudl92YXJfbG9jayk7CistICAgICAgICBzdGQ6OnN0cmluZyBwcmV2X2VudjsKKy0gICAgICAgIGF1dG8gcHJldl9lbnZfY3N0ciA9IGdldGVudigiVFoiKTsKKy0gICAgICAgIGlmIChwcmV2X2Vudl9jc3RyICE9IG51bGxwdHIpCistICAgICAgICB7CistICAgICAgICAgICAgcHJldl9lbnYgPSBwcmV2X2Vudl9jc3RyOworLSAgICAgICAgfQorLSAgICAgICAgc2V0ZW52KCJUWiIsICJVVEMiLCAxKTsKKy0KKy0gICAgICAgIHRpbWUgPSBta3RpbWUodCk7CisrICAgICAgICAgICAgd2NoYXJfdCB0aW1lU3RyWzEwXSA9IHswfTsKKysjaWYgX1dJTjMyX1dJTk5UIDwgX1dJTjMyX1dJTk5UX1ZJU1RBCisrICAgICAgICAgICAgc3RhdHVzID0gR2V0VGltZUZvcm1hdFcoTE9DQUxFX0lOVkFSSUFOVCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1FX05PVElNRU1BUktFUiB8IFRJTUVfRk9SQ0UyNEhPVVJGT1JNQVQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c3RlbVRpbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTCJISCc6J21tJzonc3MiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVTdHIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHRpbWVTdHIpIC8gc2l6ZW9mKHdjaGFyX3QpKTsKKysjZWxzZQorKyAgICAgICAgICAgIHN0YXR1cyA9IEdldFRpbWVGb3JtYXRFeChMT0NBTEVfTkFNRV9JTlZBUklBTlQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTUVfTk9USU1FTUFSS0VSIHwgVElNRV9GT1JDRTI0SE9VUkZPUk1BVCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c3RlbVRpbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwiSEgnOidtbSc6J3NzIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZVN0ciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHRpbWVTdHIpIC8gc2l6ZW9mKHdjaGFyX3QpKTsKKysjZW5kaWYgLy8gX1dJTjMyX1dJTk5UIDwgX1dJTjMyX1dJTk5UX1ZJU1RBCisrICAgICAgICAgICAgaWYgKHN0YXR1cyA9PSAwKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgdGhyb3cgdXRpbGl0eTo6ZGV0YWlsczo6Y3JlYXRlX3N5c3RlbV9lcnJvcihHZXRMYXN0RXJyb3IoKSk7CisrICAgICAgICAgICAgfQorIAorLSAgICAgICAgaWYgKHByZXZfZW52X2NzdHIpCistICAgICAgICB7CistICAgICAgICAgICAgc2V0ZW52KCJUWiIsIHByZXZfZW52LmNfc3RyKCksIDEpOworLSAgICAgICAgfQorLSAgICAgICAgZWxzZQorLSAgICAgICAgeworLSAgICAgICAgICAgIHVuc2V0ZW52KCJUWiIpOworKyAgICAgICAgICAgIHJlc3VsdCArPSB0aW1lU3RyOworKyAgICAgICAgICAgIHJlc3VsdCArPSBMIiBHTVQiOworICAgICAgICAgfQorICAgICB9CistICAgIHJldHVybiB0aW1lOworLSNlbHNlICAvLyBeXl4gQU5EUk9JRCAvLyBPdGhlciBQT1NJWCBwbGF0Zm9ybXMgdnZ2CistICAgIHJldHVybiB0aW1lZ20odCk7CistI2VuZGlmIC8vIF9NU0NfVkVSCistfQorLQorLS8qCistaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzgyMgorLWh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxMTIzCistCistZGF0ZS10aW1lICAgPSAgWyBkYXkgIiwiIF0gZGF0ZSB0aW1lICAgICAgICA7IGRkIG1tIHl5CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICBoaDptbTpzcyB6enoKKy0KKy1kYXkgICAgICAgICA9ICAiTW9uIiAgLyAiVHVlIiAvICAiV2VkIiAgLyAiVGh1IgorLSAgICAgICAgICAgIC8gICJGcmkiICAvICJTYXQiIC8gICJTdW4iCistCistZGF0ZSAgICAgICAgPSAgMSoyRElHSVQgbW9udGggMkRJR0lUICAgICAgICA7IGRheSBtb250aCB5ZWFyCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICBlLmcuIDIwIEp1biA4MgorLVJGQzExMjMgY2hhbmdlcyB0aGlzIHRvOgorLWRhdGUgICAgICAgID0gIDEqMkRJR0lUIG1vbnRoIDIqNERJR0lUICAgICAgICA7IGRheSBtb250aCB5ZWFyCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgIGUuZy4gMjAgSnVuIDE5ODIKKy1UaGlzIGltcGxlbWVudGF0aW9uIG9ubHkgYWNjZXB0cyA0IGRpZ2l0IHllYXJzLgorLQorLW1vbnRoICAgICAgID0gICJKYW4iICAvICAiRmViIiAvICAiTWFyIiAgLyAgIkFwciIKKy0gICAgICAgICAgICAvICAiTWF5IiAgLyAgIkp1biIgLyAgIkp1bCIgIC8gICJBdWciCistICAgICAgICAgICAgLyAgIlNlcCIgIC8gICJPY3QiIC8gICJOb3YiICAvICAiRGVjIgorLQorLXRpbWUgICAgICAgID0gIGhvdXIgem9uZSAgICAgICAgICAgICAgICAgICAgOyBBTlNJIGFuZCBNaWxpdGFyeQorLQorLWhvdXIgICAgICAgID0gIDJESUdJVCAiOiIgMkRJR0lUIFsiOiIgMkRJR0lUXQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAwMDowMDowMCAtIDIzOjU5OjU5CistCistem9uZSAgICAgICAgPSAgIlVUIiAgLyAiR01UIiAgICAgICAgICAgICAgICA7IFVuaXZlcnNhbCBUaW1lCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7IE5vcnRoIEFtZXJpY2FuIDogVVQKKy0gICAgICAgICAgICAvICAiRVNUIiAvICJFRFQiICAgICAgICAgICAgICAgIDsgIEVhc3Rlcm46ICAtIDUvIC0gNAorLSAgICAgICAgICAgIC8gICJDU1QiIC8gIkNEVCIgICAgICAgICAgICAgICAgOyAgQ2VudHJhbDogIC0gNi8gLSA1CistICAgICAgICAgICAgLyAgIk1TVCIgLyAiTURUIiAgICAgICAgICAgICAgICA7ICBNb3VudGFpbjogLSA3LyAtIDYKKy0gICAgICAgICAgICAvICAiUFNUIiAvICJQRFQiICAgICAgICAgICAgICAgIDsgIFBhY2lmaWM6ICAtIDgvIC0gNworLQorLS8vIG1pbGl0YXJ5IHRpbWUgZGVsZXRlZCBieSBSRkMgMTEyMworLQorLSAgICAgICAgICAgIC8gKCAoIisiIC8gIi0iKSA0RElHSVQgKSAgICAgICAgOyBMb2NhbCBkaWZmZXJlbnRpYWwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgIGhvdXJzK21pbi4gKEhITU0pCistKi8KKy0KKy0KKy1kYXRldGltZSBfX2NkZWNsIGRhdGV0aW1lOjpmcm9tX3N0cmluZyhjb25zdCB1dGlsaXR5OjpzdHJpbmdfdCYgZGF0ZVN0cmluZywgZGF0ZV9mb3JtYXQgZm9ybWF0KQorLXsKKy0gICAgZGF0ZXRpbWUgcmVzdWx0OworLSAgICB0aW1lX3Qgc2Vjb25kczsKKy0gICAgdWludDY0X3QgZnJhY19zZWMgPSAwOworLSAgICBzdHJ1Y3QgdG0gdHt9OworLSAgICBhdXRvIHN0ciA9IGRhdGVTdHJpbmcuY19zdHIoKTsKKy0gICAgaWYgKGZvcm1hdCA9PSBSRkNfMTEyMykKKysgICAgZWxzZSBpZiAoZm9ybWF0ID09IElTT184NjAxKQorICAgICB7CistICAgICAgICBpbnQgcGFyc2VkV2Vla2RheSA9IC0xOworLSAgICAgICAgZm9yIChpbnQgZGF5ID0gMDsgZGF5IDwgNzsgKytkYXkpCisrICAgICAgICBjb25zdCBzaXplX3QgYnVmZlNpemUgPSA2NDsKKyAgICAgICAgIHsKKy0gICAgICAgICAgICBpZiAoc3RyaW5nX3N0YXJ0c193aXRoKHN0ciwgZGF5TmFtZXMgKyBkYXkgKiA0KSAmJiBzdHJbM10gPT0gX1hQTEFUU1RSKCcsJykgJiYgc3RyWzRdID09IF9YUExBVFNUUignICcpKQorKyAgICAgICAgICAgIHdjaGFyX3QgZGF0ZVN0cltidWZmU2l6ZV0gPSB7MH07CisrI2lmIF9XSU4zMl9XSU5OVCA8IF9XSU4zMl9XSU5OVF9WSVNUQQorKyAgICAgICAgICAgIHN0YXR1cyA9IEdldERhdGVGb3JtYXRXKExPQ0FMRV9JTlZBUklBTlQsIDAsICZzeXN0ZW1UaW1lLCBMInl5eXktTU0tZGQiLCBkYXRlU3RyLCBidWZmU2l6ZSk7CisrI2Vsc2UKKysgICAgICAgICAgICBzdGF0dXMgPSBHZXREYXRlRm9ybWF0RXgoTE9DQUxFX05BTUVfSU5WQVJJQU5ULCAwLCAmc3lzdGVtVGltZSwgTCJ5eXl5LU1NLWRkIiwgZGF0ZVN0ciwgYnVmZlNpemUsIE5VTEwpOworKyNlbmRpZiAvLyBfV0lOMzJfV0lOTlQgPCBfV0lOMzJfV0lOTlRfVklTVEEKKysgICAgICAgICAgICBpZiAoc3RhdHVzID09IDApCisgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICBwYXJzZWRXZWVrZGF5ID0gZGF5OworLSAgICAgICAgICAgICAgICBzdHIgKz0gNTsgLy8gcGFyc2VkIGRheSBvZiB3ZWVrCistICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgICAgICB0aHJvdyB1dGlsaXR5OjpkZXRhaWxzOjpjcmVhdGVfc3lzdGVtX2Vycm9yKEdldExhc3RFcnJvcigpKTsKKyAgICAgICAgICAgICB9CistICAgICAgICB9CisgCistICAgICAgICBpZiAoYXNjaWlfaXNkaWdpdDMoc3RyWzBdKSAmJiBhc2NpaV9pc2RpZ2l0KHN0clsxXSkgJiYgc3RyWzJdID09IF9YUExBVFNUUignICcpKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHQudG1fbWRheSA9IGF0b2kyKHN0cik7IC8vIHZhbGlkaXR5IGNoZWNrZWQgbGF0ZXIKKy0gICAgICAgICAgICBzdHIgKz0gMzsgICAgICAgICAgICAgICAvLyBwYXJzZWQgZGF5CistICAgICAgICB9CistICAgICAgICBlbHNlIGlmIChhc2NpaV9pc2RpZ2l0KHN0clswXSkgJiYgc3RyWzFdID09IF9YUExBVFNUUignICcpKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHQudG1fbWRheSA9IHN0clswXSAtIF9YUExBVFNUUignMCcpOworLSAgICAgICAgICAgIHN0ciArPSAyOyAvLyBwYXJzZWQgZGF5CistICAgICAgICB9CistICAgICAgICBlbHNlCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysgICAgICAgICAgICByZXN1bHQgKz0gZGF0ZVN0cjsKKysgICAgICAgICAgICByZXN1bHQgKz0gTCdUJzsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIHQudG1fbW9uID0gLTE7CistICAgICAgICBmb3IgKGludCBtb250aCA9IDA7IG1vbnRoIDwgMTI7ICsrbW9udGgpCisgICAgICAgICB7CistICAgICAgICAgICAgaWYgKHN0cmluZ19zdGFydHNfd2l0aChzdHIsIG1vbnRoTmFtZXMgKyBtb250aCAqIDQpKQorKyAgICAgICAgICAgIHdjaGFyX3QgdGltZVN0cltidWZmU2l6ZV0gPSB7MH07CisrI2lmIF9XSU4zMl9XSU5OVCA8IF9XSU4zMl9XSU5OVF9WSVNUQQorKyAgICAgICAgICAgIHN0YXR1cyA9IEdldFRpbWVGb3JtYXRXKExPQ0FMRV9JTlZBUklBTlQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNRV9OT1RJTUVNQVJLRVIgfCBUSU1FX0ZPUkNFMjRIT1VSRk9STUFULAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXN0ZW1UaW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwiSEgnOidtbSc6J3NzIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZTaXplKTsKKysjZWxzZQorKyAgICAgICAgICAgIHN0YXR1cyA9IEdldFRpbWVGb3JtYXRFeChMT0NBTEVfTkFNRV9JTlZBUklBTlQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTUVfTk9USU1FTUFSS0VSIHwgVElNRV9GT1JDRTI0SE9VUkZPUk1BVCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c3RlbVRpbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwiSEgnOidtbSc6J3NzIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZVN0ciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZlNpemUpOworKyNlbmRpZiAvLyBfV0lOMzJfV0lOTlQgPCBfV0lOMzJfV0lOTlRfVklTVEEKKysgICAgICAgICAgICBpZiAoc3RhdHVzID09IDApCisgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICB0LnRtX21vbiA9IG1vbnRoOworLSAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICAgICAgdGhyb3cgdXRpbGl0eTo6ZGV0YWlsczo6Y3JlYXRlX3N5c3RlbV9lcnJvcihHZXRMYXN0RXJyb3IoKSk7CisgICAgICAgICAgICAgfQorLSAgICAgICAgfQorIAorLSAgICAgICAgaWYgKHQudG1fbW9uID09IC0xIHx8IHN0clszXSAhPSBfWFBMQVRTVFIoJyAnKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworKyAgICAgICAgICAgIHJlc3VsdCArPSB0aW1lU3RyOworICAgICAgICAgfQorIAorLSAgICAgICAgc3RyICs9IDQ7IC8vIHBhcnNlZCBtb250aAorLQorLSAgICAgICAgaWYgKCFhc2NpaV9pc2RpZ2l0MyhzdHJbMF0pIHx8ICFhc2NpaV9pc2RpZ2l0KHN0clsxXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzJdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbM10pIHx8CistICAgICAgICAgICAgc3RyWzRdICE9ICcgJykKKysgICAgICAgIHVpbnQ2NF90IGZyYWNfc2VjID0gbGFyZ2VJbnQuUXVhZFBhcnQgJSBfc2Vjb25kVGlja3M7CisrICAgICAgICBpZiAoZnJhY19zZWMgPiAwKQorICAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisrICAgICAgICAgICAgLy8gQXBwZW5kIGZyYWN0aW9uYWwgc2Vjb25kLCB3aGljaCBpcyBhIDctZGlnaXQgdmFsdWUgd2l0aCBubyB0cmFpbGluZyB6ZXJvcworKyAgICAgICAgICAgIC8vIFRoaXMgd2F5LCAnMTIwMCcgYmVjb21lcyAnMDAwMTInCisrICAgICAgICAgICAgd2NoYXJfdCBidWZbOV0gPSB7MH07CisrICAgICAgICAgICAgc2l6ZV90IGFwcGVuZGVkID0gc3dwcmludGZfcyhidWYsIDksIEwiLiUwN2xkIiwgc3RhdGljX2Nhc3Q8bG9uZz4oZnJhY19zZWMpKTsKKysgICAgICAgICAgICB3aGlsZSAoYnVmW2FwcGVuZGVkIC0gMV0gPT0gTCcwJykKKysgICAgICAgICAgICAgICAgLS1hcHBlbmRlZDsgLy8gdHJpbSB0cmFpbGluZyB6ZXJvcworKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoYnVmLCBhcHBlbmRlZCk7CisgICAgICAgICB9CisgCistICAgICAgICB0LnRtX3llYXIgPSAoc3RyWzBdIC0gX1hQTEFUU1RSKCcwJykpICogMTAwMCArIChzdHJbMV0gLSBfWFBMQVRTVFIoJzAnKSkgKiAxMDAgKworLSAgICAgICAgICAgICAgICAgICAgKHN0clsyXSAtIF9YUExBVFNUUignMCcpKSAqIDEwICsgKHN0clszXSAtIF9YUExBVFNUUignMCcpKTsKKy0gICAgICAgIGlmICh0LnRtX3llYXIgPCAxOTcwIHx8IHQudG1feWVhciA+IDMwMDApCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgIH0KKysgICAgICAgIHJlc3VsdCArPSBMJ1onOworKyAgICB9CisgCistICAgICAgICAvLyBkYXlzIGluIG1vbnRoIHZhbGlkaXR5IGNoZWNrCistICAgICAgICBpZiAoIXZhbGlkYXRlX2RheV9tb250aCh0LnRtX21kYXksIHQudG1fbW9uLCB0LnRtX3llYXIpKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICB9CisrICAgIHJldHVybiByZXN1bHQ7CisrI2Vsc2UgLy8gTElOVVgKKysgICAgdWludDY0X3QgaW5wdXQgPSBtX2ludGVydmFsOworKyAgICB1aW50NjRfdCBmcmFjX3NlYyA9IGlucHV0ICUgX3NlY29uZFRpY2tzOworKyAgICBpbnB1dCAvPSBfc2Vjb25kVGlja3M7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnZlcnQgdG8gc2Vjb25kcworKyAgICB0aW1lX3QgdGltZSA9ICh0aW1lX3QpaW5wdXQgLSAodGltZV90KTExNjQ0NDczNjAwTEw7IC8vIGRpZmYgYmV0d2VlbiB3aW5kb3dzIGFuZCB1bml4IGVwb2NocyAoc2Vjb25kcykKKysKKysgICAgc3RydWN0IHRtIGRhdGV0aW1lOworKyAgICBnbXRpbWVfcigmdGltZSwgJmRhdGV0aW1lKTsKKysKKysgICAgY29uc3QgaW50IG1heF9kdF9sZW5ndGggPSA2NDsKKysgICAgY2hhciBvdXRwdXRbbWF4X2R0X2xlbmd0aCArIDFdID0gezB9OworKworKyAgICBpZiAoZm9ybWF0ICE9IFJGQ18xMTIzICYmIGZyYWNfc2VjID4gMCkKKysgICAgeworKyAgICAgICAgLy8gQXBwZW5kIGZyYWN0aW9uYWwgc2Vjb25kLCB3aGljaCBpcyBhIDctZGlnaXQgdmFsdWUgd2l0aCBubyB0cmFpbGluZyB6ZXJvcworKyAgICAgICAgLy8gVGhpcyB3YXksICcxMjAwJyBiZWNvbWVzICcwMDAxMicKKysgICAgICAgIGNvbnN0IGludCBtYXhfZnJhY19sZW5ndGggPSA4OworKyAgICAgICAgY2hhciBidWZbbWF4X2ZyYWNfbGVuZ3RoICsgMV0gPSB7MH07CisrICAgICAgICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiLiUwN2xkIiwgKGxvbmcgaW50KWZyYWNfc2VjKTsKKysgICAgICAgIC8vIHRyaW0gdHJhaWxpbmcgemVyb3MKKysgICAgICAgIGZvciAoaW50IGkgPSBtYXhfZnJhY19sZW5ndGggLSAxOyBidWZbaV0gPT0gJzAnOyBpLS0pCisrICAgICAgICAgICAgYnVmW2ldID0gJ1wwJzsKKysgICAgICAgIC8vIGZvcm1hdCB0aGUgZGF0ZXRpbWUgaW50byBhIHNlcGFyYXRlIGJ1ZmZlcgorKyAgICAgICAgY2hhciBkYXRldGltZV9zdHJbbWF4X2R0X2xlbmd0aCAtIG1heF9mcmFjX2xlbmd0aCAtIDEgKyAxXSA9IHswfTsKKysgICAgICAgIHN0cmZ0aW1lKGRhdGV0aW1lX3N0ciwgc2l6ZW9mKGRhdGV0aW1lX3N0ciksICIlWS0lbS0lZFQlSDolTTolUyIsICZkYXRldGltZSk7CisrICAgICAgICAvLyBub3cgcHJpbnQgdGhpcyBidWZmZXIgaW50byB0aGUgb3V0cHV0IGJ1ZmZlcgorKyAgICAgICAgc25wcmludGYob3V0cHV0LCBzaXplb2Yob3V0cHV0KSwgIiVzJXNaIiwgZGF0ZXRpbWVfc3RyLCBidWYpOworKyAgICB9CisrICAgIGVsc2UKKysgICAgeworKyAgICAgICAgc3RyZnRpbWUoCisrICAgICAgICAgICAgb3V0cHV0LCBzaXplb2Yob3V0cHV0KSwgZm9ybWF0ID09IFJGQ18xMTIzID8gIiVhLCAlZCAlYiAlWSAlSDolTTolUyBHTVQiIDogIiVZLSVtLSVkVCVIOiVNOiVTWiIsICZkYXRldGltZSk7CisrICAgIH0KKyAKKy0gICAgICAgIHQudG1feWVhciAtPSAxOTAwOworLSAgICAgICAgc3RyICs9IDU7IC8vIHBhcnNlZCB5ZWFyCisrICAgIHJldHVybiBzdGQ6OnN0cmluZyhvdXRwdXQpOworKyNlbmRpZgorK30KKyAKKy0gICAgICAgIGlmICghYXNjaWlfaXNkaWdpdDIoc3RyWzBdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbMV0pIHx8IHN0clsyXSAhPSBfWFBMQVRTVFIoJzonKSB8fCAhYXNjaWlfaXNkaWdpdDUoc3RyWzNdKSB8fAorLSAgICAgICAgICAgICFhc2NpaV9pc2RpZ2l0KHN0cls0XSkpCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgIH0KKysjaWZkZWYgX1dJTjMyCisrYm9vbCBfX2NkZWNsIGRhdGV0aW1lOjpzeXN0ZW1fdHlwZV90b19kYXRldGltZSh2b2lkKiBwdnN5c1RpbWUsIHVpbnQ2NF90IHNlY29uZHMsIGRhdGV0aW1lKiBwZHQpCisreworKyAgICBTWVNURU1USU1FKiBwc3lzVGltZSA9IChTWVNURU1USU1FKilwdnN5c1RpbWU7CisrICAgIEZJTEVUSU1FIGZpbGVUaW1lOworIAorLSAgICAgICAgdC50bV9ob3VyID0gYXRvaTIoc3RyKTsKKy0gICAgICAgIGlmICh0LnRtX2hvdXIgPiAyMykKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorKyAgICBpZiAoU3lzdGVtVGltZVRvRmlsZVRpbWUocHN5c1RpbWUsICZmaWxlVGltZSkpCisrICAgIHsKKysgICAgICAgIFVMQVJHRV9JTlRFR0VSIGxhcmdlSW50OworKyAgICAgICAgbGFyZ2VJbnQuTG93UGFydCA9IGZpbGVUaW1lLmR3TG93RGF0ZVRpbWU7CisrICAgICAgICBsYXJnZUludC5IaWdoUGFydCA9IGZpbGVUaW1lLmR3SGlnaERhdGVUaW1lOworIAorLSAgICAgICAgc3RyICs9IDM7IC8vIHBhcnNlZCBob3VyCistICAgICAgICB0LnRtX21pbiA9IGF0b2kyKHN0cik7CistICAgICAgICBzdHIgKz0gMjsgLy8gcGFyc2VkIG1pbnMKKysgICAgICAgIC8vIEFkZCBodW5kcmVkdGhzIG9mIG5hbm9zZWNvbmRzCisrICAgICAgICBsYXJnZUludC5RdWFkUGFydCArPSBzZWNvbmRzOworIAorLSAgICAgICAgaWYgKHN0clswXSA9PSAnOicpCistICAgICAgICB7CistICAgICAgICAgICAgaWYgKCFhc2NpaV9pc2RpZ2l0NihzdHJbMV0pIHx8ICFhc2NpaV9pc2RpZ2l0KHN0clsyXSkgfHwgc3RyWzNdICE9IF9YUExBVFNUUignICcpKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgICAgICB9CisrICAgICAgICAqcGR0ID0gZGF0ZXRpbWUobGFyZ2VJbnQuUXVhZFBhcnQpOworKyAgICAgICAgcmV0dXJuIHRydWU7CisrICAgIH0KKysgICAgcmV0dXJuIGZhbHNlOworK30KKysjZW5kaWYKKyAKKy0gICAgICAgICAgICB0LnRtX3NlYyA9IGF0b2kyKHN0ciArIDEpOworLSAgICAgICAgICAgIHN0ciArPSA0OyAvLyBwYXJzZWQgc2Vjb25kcworLSAgICAgICAgfQorLSAgICAgICAgZWxzZSBpZiAoc3RyWzBdID09IF9YUExBVFNUUignICcpKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHQudG1fc2VjID0gMDsKKy0gICAgICAgICAgICBzdHIgKz0gMTsgLy8gcGFyc2VkIHNlY29uZHMKKy0gICAgICAgIH0KKy0gICAgICAgIGVsc2UKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworKy8vIFRha2UgYSBzdHJpbmcgdGhhdCByZXByZXNlbnRzIGEgZnJhY3Rpb25hbCBzZWNvbmQgYW5kIHJldHVybiB0aGUgbnVtYmVyIG9mIHRpY2tzCisrLy8gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGRvaW5nIGF0b2Ygb24gdGhlIHN0cmluZyBhbmQgbXVsdGlwbHlpbmcgYnkgMTAwMDAwMDAsCisrLy8gYnV0IGRvZXMgbm90IGxvc2UgcHJlY2lzaW9uCisrdGVtcGxhdGU8dHlwZW5hbWUgU3RyaW5nSXRlcmF0b3I+CisrdWludDY0X3QgdGltZXRpY2tzX2Zyb21fc2Vjb25kKFN0cmluZ0l0ZXJhdG9yIGJlZ2luLCBTdHJpbmdJdGVyYXRvciBlbmQpCisreworKyAgICBpbnQgc2l6ZSA9IChpbnQpKGVuZCAtIGJlZ2luKTsKKysgICAgX0FTU0VSVEUoYmVnaW5bMF0gPT0gVSgnLicpKTsKKysgICAgdWludDY0X3QgdWZyYWNfc2Vjb25kID0gMDsKKysgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gNzsgKytpKQorKyAgICB7CisrICAgICAgICB1ZnJhY19zZWNvbmQgKj0gMTA7CisrICAgICAgICBpbnQgYWRkID0gaSA8IHNpemUgPyBiZWdpbltpXSAtIFUoJzAnKSA6IDA7CisrICAgICAgICB1ZnJhY19zZWNvbmQgKz0gYWRkOworKyAgICB9CisrICAgIHJldHVybiB1ZnJhY19zZWNvbmQ7CisrfQorKworK3ZvaWQgZXh0cmFjdF9mcmFjdGlvbmFsX3NlY29uZChjb25zdCB1dGlsaXR5OjpzdHJpbmdfdCYgZGF0ZVN0cmluZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbGl0eTo6c3RyaW5nX3QmIHJlc3VsdFN0cmluZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QmIHVmcmFjX3NlY29uZCkKKyt7CisrICAgIHJlc3VsdFN0cmluZyA9IGRhdGVTdHJpbmc7CisrICAgIC8vIEZpcnN0LCB0aGUgc3RyaW5nIG11c3QgYmUgc3RyaWN0bHkgbG9uZ2VyIHRoYW4gMiBjaGFyYWN0ZXJzLCBhbmQgdGhlIHRyYWlsaW5nIGNoYXJhY3RlciBtdXN0IGJlICdaJworKyAgICBpZiAocmVzdWx0U3RyaW5nLnNpemUoKSA+IDIgJiYgcmVzdWx0U3RyaW5nW3Jlc3VsdFN0cmluZy5zaXplKCkgLSAxXSA9PSBVKCdaJykpCisrICAgIHsKKysgICAgICAgIC8vIFNlY29uZCwgZmluZCB0aGUgbGFzdCBub24tZGlnaXQgYnkgc2Nhbm5pbmcgdGhlIHN0cmluZyBiYWNrd2FyZHMKKysgICAgICAgIGF1dG8gbGFzdF9ub25fZGlnaXQgPSBzdGQ6OmZpbmRfaWZfbm90KHJlc3VsdFN0cmluZy5yYmVnaW4oKSArIDEsIHJlc3VsdFN0cmluZy5yZW5kKCksIGlzX2RpZ2l0KTsKKysgICAgICAgIGlmIChsYXN0X25vbl9kaWdpdCA8IHJlc3VsdFN0cmluZy5yZW5kKCkgLSAxKQorKyAgICAgICAgeworKyAgICAgICAgICAgIC8vIEZpbmFsbHksIG1ha2Ugc3VyZSB0aGUgbGFzdCBub24tZGlnaXQgaXMgYSBkb3Q6CisrICAgICAgICAgICAgYXV0byBsYXN0X2RvdCA9IGxhc3Rfbm9uX2RpZ2l0LmJhc2UoKSAtIDE7CisrICAgICAgICAgICAgaWYgKCpsYXN0X2RvdCA9PSBVKCcuJykpCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAvLyBHb3QgaXQhIE5vdyBleHRyYWN0IHRoZSBmcmFjdGlvbmFsIHNlY29uZAorKyAgICAgICAgICAgICAgICBhdXRvIGxhc3RfYmVmb3JlX1ogPSBzdGQ6OmVuZChyZXN1bHRTdHJpbmcpIC0gMTsKKysgICAgICAgICAgICAgICAgdWZyYWNfc2Vjb25kID0gdGltZXRpY2tzX2Zyb21fc2Vjb25kKGxhc3RfZG90LCBsYXN0X2JlZm9yZV9aKTsKKysgICAgICAgICAgICAgICAgLy8gQW5kIGVyYXNlIGl0IGZyb20gdGhlIHN0cmluZworKyAgICAgICAgICAgICAgICByZXN1bHRTdHJpbmcuZXJhc2UobGFzdF9kb3QsIGxhc3RfYmVmb3JlX1opOworKyAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKysgICAgfQorK30KKyAKKy0gICAgICAgIGlmICh0LnRtX3NlYyA+IDYwKQorLSAgICAgICAgeyAvLyA2MCB0byBhbGxvdyBsZWFwIHNlY29uZHMKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorK2RhdGV0aW1lIF9fY2RlY2wgZGF0ZXRpbWU6OmZyb21fc3RyaW5nKGNvbnN0IHV0aWxpdHk6OnN0cmluZ190JiBkYXRlU3RyaW5nLCBkYXRlX2Zvcm1hdCBmb3JtYXQpCisreworKyAgICAvLyBhdm9pZCBmbG9hdGluZyBwb2ludCBtYXRoIHRvIHByZXNlcnZlIHByZWNpc2lvbgorKyAgICB1aW50NjRfdCB1ZnJhY19zZWNvbmQgPSAwOworIAorLSAgICAgICAgdC50bV9pc2RzdCA9IDA7CistICAgICAgICBzZWNvbmRzID0gbWFrZV9nbV90aW1lKCZ0KTsKKy0gICAgICAgIGlmIChzZWNvbmRzIDwgMCkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorKyNpZmRlZiBfV0lOMzIKKysgICAgZGF0ZXRpbWUgcmVzdWx0OworKyAgICBpZiAoZm9ybWF0ID09IFJGQ18xMTIzKQorKyAgICB7CisrICAgICAgICBTWVNURU1USU1FIHN5c1RpbWUgPSB7MH07CisgCistICAgICAgICBpZiAocGFyc2VkV2Vla2RheSA+PSAwICYmIHBhcnNlZFdlZWtkYXkgIT0gdC50bV93ZGF5KQorLSAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICB9CisrICAgICAgICBzdGQ6OndzdHJpbmcgbW9udGgoMywgTCdcMCcpOworKyAgICAgICAgc3RkOjp3c3RyaW5nIHVudXNlZCgzLCBMJ1wwJyk7CisgCistICAgICAgICBpZiAoIXN0cmluZ19zdGFydHNfd2l0aChzdHIsICJHTVQiKSAmJiAhc3RyaW5nX3N0YXJ0c193aXRoKHN0ciwgIlVUIikpCistICAgICAgICB7CistICAgICAgICAgICAgLy8gc29tZSB0aW1lem9uZSBhZGp1c3RtZW50IG5lY2Vzc2FyeQorLSAgICAgICAgICAgIGF1dG8gdHpDaCA9IF9YUExBVFNUUignLScpOworLSAgICAgICAgICAgIGludCB0ekhvdXJzOworLSAgICAgICAgICAgIGludCB0ek1pbnV0ZXMgPSAwOworLSAgICAgICAgICAgIGlmIChzdHJpbmdfc3RhcnRzX3dpdGgoc3RyLCAiRURUIikpCistICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICB0ekhvdXJzID0gNDsKKy0gICAgICAgICAgICB9CistICAgICAgICAgICAgZWxzZSBpZiAoc3RyaW5nX3N0YXJ0c193aXRoKHN0ciwgIkVTVCIpIHx8IHN0cmluZ19zdGFydHNfd2l0aChzdHIsICJDRFQiKSkKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIHR6SG91cnMgPSA1OworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBlbHNlIGlmIChzdHJpbmdfc3RhcnRzX3dpdGgoc3RyLCAiQ1NUIikgfHwgc3RyaW5nX3N0YXJ0c193aXRoKHN0ciwgIk1EVCIpKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgdHpIb3VycyA9IDY7CistICAgICAgICAgICAgfQorLSAgICAgICAgICAgIGVsc2UgaWYgKHN0cmluZ19zdGFydHNfd2l0aChzdHIsICJNU1QiKSB8fCBzdHJpbmdfc3RhcnRzX3dpdGgoc3RyLCAiUERUIikpCistICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICB0ekhvdXJzID0gNzsKKy0gICAgICAgICAgICB9CistICAgICAgICAgICAgZWxzZSBpZiAoc3RyaW5nX3N0YXJ0c193aXRoKHN0ciwgIlBTVCIpKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgdHpIb3VycyA9IDg7CistICAgICAgICAgICAgfQorLSAgICAgICAgICAgIGVsc2UgaWYgKCh0ekNoID09IF9YUExBVFNUUignKycpIHx8IHR6Q2ggPT0gX1hQTEFUU1RSKCctJykpICYmIGFzY2lpX2lzZGlnaXQyKHN0clsxXSkgJiYKKy0gICAgICAgICAgICAgICAgICAgICBhc2NpaV9pc2RpZ2l0KHN0clsyXSkgJiYgYXNjaWlfaXNkaWdpdDUoc3RyWzNdKSAmJiBhc2NpaV9pc2RpZ2l0KHN0cls0XSkpCistICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICB0ekNoID0gc3RyWzBdOworLSAgICAgICAgICAgICAgICB0ekhvdXJzID0gYXRvaTIoc3RyICsgMSk7CistICAgICAgICAgICAgICAgIHR6TWludXRlcyA9IGF0b2kyKHN0ciArIDMpOworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBlbHNlCistICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgICAgIH0KKysgICAgICAgIGNvbnN0IHdjaGFyX3QqIGZvcm1hdFN0cmluZyA9IEwiJTNjLCAlMmQgJTNjICU0ZCAlMmQ6JTJkOiUyZCAlM2MiOworKyAgICAgICAgYXV0byBuID0gc3dzY2FuZl9zKGRhdGVTdHJpbmcuY19zdHIoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXRTdHJpbmcsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkLmRhdGEoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnVzZWQuc2l6ZSgpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXNUaW1lLndEYXksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9udGguZGF0YSgpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRoLnNpemUoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lzVGltZS53WWVhciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lzVGltZS53SG91ciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lzVGltZS53TWludXRlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXNUaW1lLndTZWNvbmQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkLmRhdGEoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnVzZWQuc2l6ZSgpKTsKKysKKysgICAgICAgIGlmIChuID09IDgpCisrICAgICAgICB7CisrICAgICAgICAgICAgc3RkOjp3c3RyaW5nIG1vbnRobmFtZXNbMTJdID0geworKyAgICAgICAgICAgICAgICBMIkphbiIsIEwiRmViIiwgTCJNYXIiLCBMIkFwciIsIEwiTWF5IiwgTCJKdW4iLCBMIkp1bCIsIEwiQXVnIiwgTCJTZXAiLCBMIk9jdCIsIEwiTm92IiwgTCJEZWMifTsKKysgICAgICAgICAgICBhdXRvIGxvYyA9CisrICAgICAgICAgICAgICAgIHN0ZDo6ZmluZF9pZihtb250aG5hbWVzLCBtb250aG5hbWVzICsgMTIsIFsmbW9udGhdKGNvbnN0IHN0ZDo6d3N0cmluZyYgbSkgeyByZXR1cm4gbSA9PSBtb250aDsgfSk7CisgCistICAgICAgICAgICAgc2Vjb25kcyA9IHRpbWV6b25lX2FkanVzdChzZWNvbmRzLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPih0ekNoKSwgdHpIb3VycywgdHpNaW51dGVzKTsKKy0gICAgICAgICAgICBpZiAoc2Vjb25kcyA8IDApCisrICAgICAgICAgICAgaWYgKGxvYyAhPSBtb250aG5hbWVzICsgMTIpCisgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworKyAgICAgICAgICAgICAgICBzeXNUaW1lLndNb250aCA9IChzaG9ydCkoKGxvYyAtIG1vbnRobmFtZXMpICsgMSk7CisrICAgICAgICAgICAgICAgIGlmIChzeXN0ZW1fdHlwZV90b19kYXRldGltZSgmc3lzVGltZSwgdWZyYWNfc2Vjb25kLCAmcmVzdWx0KSkKKysgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAgICAgfQorICAgICBlbHNlIGlmIChmb3JtYXQgPT0gSVNPXzg2MDEpCisgICAgIHsKKy0gICAgICAgIC8vIHBhcnNlIHllYXIKKy0gICAgICAgIGlmICghYXNjaWlfaXNkaWdpdDMoc3RyWzBdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbMV0pIHx8ICFhc2NpaV9pc2RpZ2l0KHN0clsyXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzNdKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorKyAgICAgICAgLy8gVW5saWtlIEZJTEVUSU1FLCBTWVNURU1USU1FIGRvZXMgbm90IGhhdmUgZW5vdWdoIHByZWNpc2lvbiB0byBob2xkIHNlY29uZHMgaW4gMTAwIG5hbm9zZWNvbmQKKysgICAgICAgIC8vIGluY3JlbWVudHMuIFRoZXJlZm9yZSwgc3RhcnQgd2l0aCBzZWNvbmRzIGFuZCBtaWxsaXNlY29uZHMgc2V0IHRvIDAsIHRoZW4gYWRkIHRoZW0gc2VwYXJhdGVseQorIAorLSAgICAgICAgdC50bV95ZWFyID0gKHN0clswXSAtIF9YUExBVFNUUignMCcpKSAqIDEwMDAgKyAoc3RyWzFdIC0gX1hQTEFUU1RSKCcwJykpICogMTAwICsKKy0gICAgICAgICAgICAgICAgICAgIChzdHJbMl0gLSBfWFBMQVRTVFIoJzAnKSkgKiAxMCArIChzdHJbM10gLSBfWFBMQVRTVFIoJzAnKSk7CistICAgICAgICBpZiAodC50bV95ZWFyIDwgMTk3MCB8fCB0LnRtX3llYXIgPiAzMDAwKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICB9CisrICAgICAgICAvLyBUcnkgdG8gZXh0cmFjdCB0aGUgZnJhY3Rpb25hbCBzZWNvbmQgZnJvbSB0aGUgdGltZXN0YW1wCisrICAgICAgICB1dGlsaXR5OjpzdHJpbmdfdCBpbnB1dDsKKysgICAgICAgIGV4dHJhY3RfZnJhY3Rpb25hbF9zZWNvbmQoZGF0ZVN0cmluZywgaW5wdXQsIHVmcmFjX3NlY29uZCk7CisrICAgICAgICB7CisrICAgICAgICAgICAgU1lTVEVNVElNRSBzeXNUaW1lID0gezB9OworKyAgICAgICAgICAgIGNvbnN0IHdjaGFyX3QqIGZvcm1hdFN0cmluZyA9IEwiJTRkLSUyZC0lMmRUJTJkOiUyZDolMmRaIjsKKysgICAgICAgICAgICBhdXRvIG4gPSBzd3NjYW5mX3MoaW5wdXQuY19zdHIoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0U3RyaW5nLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lzVGltZS53WWVhciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c1RpbWUud01vbnRoLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lzVGltZS53RGF5LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lzVGltZS53SG91ciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c1RpbWUud01pbnV0ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c1RpbWUud1NlY29uZCk7CisgCistICAgICAgICBzdHIgKz0gNDsKKy0gICAgICAgIGlmICgqc3RyID09IF9YUExBVFNUUignLScpKQorLSAgICAgICAgeworLSAgICAgICAgICAgICsrc3RyOworKyAgICAgICAgICAgIGlmIChuID09IDMgfHwgbiA9PSA2KQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgaWYgKHN5c3RlbV90eXBlX3RvX2RhdGV0aW1lKCZzeXNUaW1lLCB1ZnJhY19zZWNvbmQsICZyZXN1bHQpKQorKyAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworKyAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgfQorICAgICAgICAgfQorLQorLSAgICAgICAgLy8gcGFyc2UgbW9udGgKKy0gICAgICAgIGlmICghYXNjaWlfaXNkaWdpdDEoc3RyWzBdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbMV0pKQorICAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICB9CisrICAgICAgICAgICAgU1lTVEVNVElNRSBzeXNUaW1lID0gezB9OworKyAgICAgICAgICAgIERXT1JEIGRhdGUgPSAwOworIAorLSAgICAgICAgdC50bV9tb24gPSBhdG9pMihzdHIpOworLSAgICAgICAgaWYgKHQudG1fbW9uIDwgMSB8fCB0LnRtX21vbiA+IDEyKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICB9CistCistICAgICAgICB0LnRtX21vbiAtPSAxOworLSAgICAgICAgc3RyICs9IDI7CisrICAgICAgICAgICAgY29uc3Qgd2NoYXJfdCogZm9ybWF0U3RyaW5nID0gTCIlOGRUJTJkOiUyZDolMmRaIjsKKysgICAgICAgICAgICBhdXRvIG4gPSBzd3NjYW5mX3MoaW5wdXQuY19zdHIoKSwgZm9ybWF0U3RyaW5nLCAmZGF0ZSwgJnN5c1RpbWUud0hvdXIsICZzeXNUaW1lLndNaW51dGUsICZzeXNUaW1lLndTZWNvbmQpOworIAorLSAgICAgICAgaWYgKCpzdHIgPT0gX1hQTEFUU1RSKCctJykpCistICAgICAgICB7CistICAgICAgICAgICAgKytzdHI7CistICAgICAgICB9CisrICAgICAgICAgICAgaWYgKG4gPT0gMSB8fCBuID09IDQpCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICBzeXNUaW1lLndEYXkgPSBkYXRlICUgMTAwOworKyAgICAgICAgICAgICAgICBkYXRlIC89IDEwMDsKKysgICAgICAgICAgICAgICAgc3lzVGltZS53TW9udGggPSBkYXRlICUgMTAwOworKyAgICAgICAgICAgICAgICBkYXRlIC89IDEwMDsKKysgICAgICAgICAgICAgICAgc3lzVGltZS53WWVhciA9IChXT1JEKWRhdGU7CisgCistICAgICAgICAvLyBwYXJzZSBkYXkKKy0gICAgICAgIGlmICghYXNjaWlfaXNkaWdpdDMoc3RyWzBdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbMV0pKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisrICAgICAgICAgICAgICAgIGlmIChzeXN0ZW1fdHlwZV90b19kYXRldGltZSgmc3lzVGltZSwgdWZyYWNfc2Vjb25kLCAmcmVzdWx0KSkKKysgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKy0KKy0gICAgICAgIHQudG1fbWRheSA9IGF0b2kyKHN0cik7CistICAgICAgICBpZiAoIXZhbGlkYXRlX2RheV9tb250aCh0LnRtX21kYXksIHQudG1fbW9uLCB0LnRtX3llYXIpKQorICAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICB9CisrICAgICAgICAgICAgU1lTVEVNVElNRSBzeXNUaW1lID0gezB9OworKyAgICAgICAgICAgIEdldFN5c3RlbVRpbWUoJnN5c1RpbWUpOyAvLyBGaWxsIGRhdGUgcG9ydGlvbiB3aXRoIHRvZGF5J3MgaW5mb3JtYXRpb24KKysgICAgICAgICAgICBzeXNUaW1lLndTZWNvbmQgPSAwOworKyAgICAgICAgICAgIHN5c1RpbWUud01pbGxpc2Vjb25kcyA9IDA7CisgCistICAgICAgICB0LnRtX3llYXIgLT0gMTkwMDsKKy0gICAgICAgIHN0ciArPSAyOworKyAgICAgICAgICAgIGNvbnN0IHdjaGFyX3QqIGZvcm1hdFN0cmluZyA9IEwiJTJkOiUyZDolMmRaIjsKKysgICAgICAgICAgICBhdXRvIG4gPSBzd3NjYW5mX3MoaW5wdXQuY19zdHIoKSwgZm9ybWF0U3RyaW5nLCAmc3lzVGltZS53SG91ciwgJnN5c1RpbWUud01pbnV0ZSwgJnN5c1RpbWUud1NlY29uZCk7CisgCistICAgICAgICBpZiAoc3RyWzBdICE9IF9YUExBVFNUUignVCcpICYmIHN0clswXSAhPSBfWFBMQVRTVFIoJ3QnKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICAvLyBObyB0aW1lCistICAgICAgICAgICAgc2Vjb25kcyA9IG1ha2VfZ21fdGltZSgmdCk7CistICAgICAgICAgICAgaWYgKHNlY29uZHMgPCAwKQorKyAgICAgICAgICAgIGlmIChuID09IDMpCisgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworKyAgICAgICAgICAgICAgICBpZiAoc3lzdGVtX3R5cGVfdG9fZGF0ZXRpbWUoJnN5c1RpbWUsIHVmcmFjX3NlY29uZCwgJnJlc3VsdCkpCisrICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisrICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICB9CistCistICAgICAgICAgICAgc2Vjb25kcyArPSBudFRvVW5peE9mZnNldFNlY29uZHM7CistICAgICAgICAgICAgcmVzdWx0Lm1faW50ZXJ2YWwgPSBzdGF0aWNfY2FzdDxpbnRlcnZhbF90eXBlPihzZWNvbmRzKSAqIF9zZWNvbmRUaWNrczsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICAgfQorKyAgICB9CisgCistICAgICAgICArK3N0cjsgLy8gc2tpcCAnVCcKKysgICAgcmV0dXJuIGRhdGV0aW1lKCk7CisrI2Vsc2UKKysgICAgc3RkOjpzdHJpbmcgaW5wdXQoZGF0ZVN0cmluZyk7CisgCistICAgICAgICAvLyBwYXJzZSBob3VyCistICAgICAgICBpZiAoIWFzY2lpX2lzZGlnaXQyKHN0clswXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzFdKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorKyAgICBzdHJ1Y3QgdG0gb3V0cHV0ID0gdG0oKTsKKyAKKy0gICAgICAgIHQudG1faG91ciA9IGF0b2kyKHN0cik7CistICAgICAgICBzdHIgKz0gMjsKKy0gICAgICAgIGlmICh0LnRtX2hvdXIgPiAyMykKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorKyAgICBpZiAoZm9ybWF0ID09IFJGQ18xMTIzKQorKyAgICB7CisrICAgICAgICBzdHJwdGltZShpbnB1dC5kYXRhKCksICIlYSwgJWQgJWIgJVkgJUg6JU06JVMgR01UIiwgJm91dHB1dCk7CisrICAgIH0KKysgICAgZWxzZQorKyAgICB7CisrICAgICAgICAvLyBUcnkgdG8gZXh0cmFjdCB0aGUgZnJhY3Rpb25hbCBzZWNvbmQgZnJvbSB0aGUgdGltZXN0YW1wCisrICAgICAgICB1dGlsaXR5OjpzdHJpbmdfdCBpbnB1dDsKKysgICAgICAgIGV4dHJhY3RfZnJhY3Rpb25hbF9zZWNvbmQoZGF0ZVN0cmluZywgaW5wdXQsIHVmcmFjX3NlY29uZCk7CisgCistICAgICAgICBpZiAoKnN0ciA9PSBfWFBMQVRTVFIoJzonKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICArK3N0cjsKKy0gICAgICAgIH0KKysgICAgICAgIGF1dG8gcmVzdWx0ID0gc3RycHRpbWUoaW5wdXQuZGF0YSgpLCAiJVktJW0tJWRUJUg6JU06JVNaIiwgJm91dHB1dCk7CisgCistICAgICAgICAvLyBwYXJzZSBtaW51dGUKKy0gICAgICAgIGlmICghYXNjaWlfaXNkaWdpdDUoc3RyWzBdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbMV0pKQorKyAgICAgICAgaWYgKHJlc3VsdCA9PSBudWxscHRyKQorICAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisrICAgICAgICAgICAgcmVzdWx0ID0gc3RycHRpbWUoaW5wdXQuZGF0YSgpLCAiJVklbSVkVCVIOiVNOiVTWiIsICZvdXRwdXQpOworICAgICAgICAgfQorLSAgICAgICAgdC50bV9taW4gPSBhdG9pMihzdHIpOworLSAgICAgICAgLy8gdC50bV9taW4gPiA1OSBpcyBpbXBvc3NpYmxlIGJlY2F1c2Ugd2UgY2hlY2tlZCB0aGF0IHRoZSBmaXJzdCBkaWdpdCBpcyA8PSA1IGluIHRoZSBiYXNpYyBmb3JtYXQKKy0gICAgICAgIC8vIGNoZWNrIGFib3ZlCistCistICAgICAgICBzdHIgKz0gMjsKKy0KKy0gICAgICAgIGlmICgqc3RyID09IF9YUExBVFNUUignOicpKQorKyAgICAgICAgaWYgKHJlc3VsdCA9PSBudWxscHRyKQorICAgICAgICAgeworLSAgICAgICAgICAgICsrc3RyOworKyAgICAgICAgICAgIC8vIEZpbGwgdGhlIGRhdGUgcG9ydGlvbiB3aXRoIHRoZSBlcG9jaCwKKysgICAgICAgICAgICAvLyBzdHJwdGltZSB3aWxsIGRvIHRoZSByZXN0CisrICAgICAgICAgICAgbWVtc2V0KCZvdXRwdXQsIDAsIHNpemVvZihzdHJ1Y3QgdG0pKTsKKysgICAgICAgICAgICBvdXRwdXQudG1feWVhciA9IDcwOworKyAgICAgICAgICAgIG91dHB1dC50bV9tb24gPSAxOworKyAgICAgICAgICAgIG91dHB1dC50bV9tZGF5ID0gMTsKKysgICAgICAgICAgICByZXN1bHQgPSBzdHJwdGltZShpbnB1dC5kYXRhKCksICIlSDolTTolU1oiLCAmb3V0cHV0KTsKKyAgICAgICAgIH0KKy0KKy0gICAgICAgIC8vIHBhcnNlIHNlY29uZHMKKy0gICAgICAgIGlmICghYXNjaWlfaXNkaWdpdDYoc3RyWzBdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbMV0pKQorKyAgICAgICAgaWYgKHJlc3VsdCA9PSBudWxscHRyKQorICAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisrICAgICAgICAgICAgcmVzdWx0ID0gc3RycHRpbWUoaW5wdXQuZGF0YSgpLCAiJVktJW0tJWQiLCAmb3V0cHV0KTsKKyAgICAgICAgIH0KKy0KKy0gICAgICAgIHQudG1fc2VjID0gYXRvaTIoc3RyKTsKKy0gICAgICAgIC8vIFdlIGFsbG93IDYwIHRvIGFjY291bnQgZm9yIGxlYXAgc2Vjb25kcworLSAgICAgICAgaWYgKHQudG1fc2VjID4gNjApCisrICAgICAgICBpZiAocmVzdWx0ID09IG51bGxwdHIpCisgICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysgICAgICAgICAgICByZXN1bHQgPSBzdHJwdGltZShpbnB1dC5kYXRhKCksICIlWSVtJWQiLCAmb3V0cHV0KTsKKyAgICAgICAgIH0KKy0KKy0gICAgICAgIHN0ciArPSAyOworLSAgICAgICAgaWYgKHN0clswXSA9PSBfWFBMQVRTVFIoJy4nKSAmJiBhc2NpaV9pc2RpZ2l0KHN0clsxXSkpCisrICAgICAgICBpZiAocmVzdWx0ID09IG51bGxwdHIpCisgICAgICAgICB7CistICAgICAgICAgICAgKytzdHI7CistICAgICAgICAgICAgaW50IGRpZ2l0cyA9IDc7CistICAgICAgICAgICAgZm9yICg7OykKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIGZyYWNfc2VjICo9IDEwOworLSAgICAgICAgICAgICAgICBmcmFjX3NlYyArPSAqc3RyIC0gX1hQTEFUU1RSKCcwJyk7CistICAgICAgICAgICAgICAgIC0tZGlnaXRzOworLSAgICAgICAgICAgICAgICArK3N0cjsKKy0gICAgICAgICAgICAgICAgaWYgKGRpZ2l0cyA9PSAwKQorLSAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgICB3aGlsZSAoYXNjaWlfaXNkaWdpdCgqc3RyKSkKKy0gICAgICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zdW1lIHJlbWFpbmluZyBmcmFjdGlvbmFsIHNlY29uZCBkaWdpdHMgd2UgY2FuJ3QgdXNlCistICAgICAgICAgICAgICAgICAgICAgICAgKytzdHI7CistICAgICAgICAgICAgICAgICAgICB9CistCistICAgICAgICAgICAgICAgICAgICBicmVhazsKKy0gICAgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICAgICBpZiAoIWFzY2lpX2lzZGlnaXQoKnN0cikpCistICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICAgIC8vIG5vIG1vcmUgZGlnaXRzIGluIHRoZSBpbnB1dCwgZG8gdGhlIHJlbWFpbmluZyBtdWx0aXBsaWVzIHdlIG5lZWQKKy0gICAgICAgICAgICAgICAgICAgIGZvciAoOyBkaWdpdHMgIT0gMDsgLS1kaWdpdHMpCistICAgICAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgICAgICAgZnJhY19zZWMgKj0gMTA7CistICAgICAgICAgICAgICAgICAgICB9CistCistICAgICAgICAgICAgICAgICAgICBicmVhazsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIH0KKysgICAgICAgICAgICByZXR1cm4gZGF0ZXRpbWUoKTsKKyAgICAgICAgIH0KKysgICAgfQorIAorLSAgICAgICAgc2Vjb25kcyA9IG1ha2VfZ21fdGltZSgmdCk7CistICAgICAgICBpZiAoc2Vjb25kcyA8IDApCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgIH0KKysjaWYgKGRlZmluZWQoQU5EUk9JRCkgfHwgZGVmaW5lZChfX0FORFJPSURfXykpCisrICAgIC8vIEhBQ0s6IFRoZSAobm9ucG9ydGFibGU/KSBQT1NJWCBmdW5jdGlvbiB0aW1lZ20gaXMgbm90IGF2YWlsYWJsZSBpbgorKyAgICAvLyAgICAgICBiaW9uaWMuIEFzIGEgd29ya2Fyb3VuZFsxXVsyXSwgd2Ugc2V0IHRoZSBDIGxpYnJhcnkgdGltZXpvbmUgdG8KKysgICAgLy8gICAgICAgVVRDLCBjYWxsIG1rdGltZSwgdGhlbiBzZXQgdGhlIHRpbWV6b25lIGJhY2suIEhvd2V2ZXIsIHRoZSBDCisrICAgIC8vICAgICAgIGVudmlyb25tZW50IGlzIGZ1bmRhbWVudGFsbHkgYSBzaGFyZWQgZ2xvYmFsIHJlc291cmNlIGFuZCB0aHJlYWQtCisrICAgIC8vICAgICAgIHVuc2FmZS4gV2UgY2FuIHByb3RlY3Qgb3VyIHVzYWdlIGhlcmUsIGhvd2V2ZXIgYW55IG90aGVyIGNvZGUgbWlnaHQKKysgICAgLy8gICAgICAgbWFuaXB1bGF0ZSB0aGUgZW52aXJvbm1lbnQgYXQgdGhlIHNhbWUgdGltZS4KKysgICAgLy8KKysgICAgLy8gWzFdIGh0dHA6Ly9saW51eC5kaWUubmV0L21hbi8zL3RpbWVnbQorKyAgICAvLyBbMl0gaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYmMvbWFudWFsL2h0bWxfbm9kZS9Ccm9rZW5fMDAyZGRvd24tVGltZS5odG1sCisrICAgIHRpbWVfdCB0aW1lOworIAorLSAgICAgICAgaWYgKHN0clswXSA9PSBfWFBMQVRTVFIoJ1onKSB8fCBzdHJbMF0gPT0gX1hQTEFUU1RSKCd6JykpCisrICAgIHN0YXRpYyBib29zdDo6bXV0ZXggZW52X3Zhcl9sb2NrOworKyAgICB7CisrICAgICAgICBib29zdDo6bG9ja19ndWFyZDxib29zdDo6bXV0ZXg+IGxvY2soZW52X3Zhcl9sb2NrKTsKKysgICAgICAgIHN0ZDo6c3RyaW5nIHByZXZfZW52OworKyAgICAgICAgYXV0byBwcmV2X2Vudl9jc3RyID0gZ2V0ZW52KCJUWiIpOworKyAgICAgICAgaWYgKHByZXZfZW52X2NzdHIgIT0gbnVsbHB0cikKKyAgICAgICAgIHsKKy0gICAgICAgICAgICAvLyBubyBhZGp1c3RtZW50IG5lZWRlZCBmb3IgenVsdSB0aW1lCisrICAgICAgICAgICAgcHJldl9lbnYgPSBwcmV2X2Vudl9jc3RyOworICAgICAgICAgfQorLSAgICAgICAgZWxzZSBpZiAoc3RyWzBdID09IF9YUExBVFNUUignKycpIHx8IHN0clswXSA9PSBfWFBMQVRTVFIoJy0nKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyIG9mZnNldERpcmVjdGlvbiA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHN0clswXSk7CistICAgICAgICAgICAgaWYgKCFhc2NpaV9pc2RpZ2l0MihzdHJbMV0pIHx8ICFhc2NpaV9pc2RpZ2l0KHN0clsyXSkgfHwgc3RyWzNdICE9IF9YUExBVFNUUignOicpIHx8CistICAgICAgICAgICAgICAgICFhc2NpaV9pc2RpZ2l0NShzdHJbNF0pIHx8ICFhc2NpaV9pc2RpZ2l0KHN0cls1XSkpCistICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgICAgIH0KKysgICAgICAgIHNldGVudigiVFoiLCAiVVRDIiwgMSk7CisgCistICAgICAgICAgICAgc2Vjb25kcyA9IHRpbWV6b25lX2FkanVzdChzZWNvbmRzLCBvZmZzZXREaXJlY3Rpb24sIGF0b2kyKHN0ciArIDEpLCBhdG9pMihzdHIgKyA0KSk7CistICAgICAgICAgICAgaWYgKHNlY29uZHMgPCAwKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgICAgICB9CisrICAgICAgICB0aW1lID0gbWt0aW1lKCZvdXRwdXQpOworKworKyAgICAgICAgaWYgKHByZXZfZW52X2NzdHIpCisrICAgICAgICB7CisrICAgICAgICAgICAgc2V0ZW52KCJUWiIsIHByZXZfZW52LmNfc3RyKCksIDEpOworICAgICAgICAgfQorICAgICAgICAgZWxzZQorICAgICAgICAgeworLSAgICAgICAgICAgIC8vIHRoZSB0aW1lem9uZSBpcyBtYWxmb3JtZWQsIGJ1dCBjcHByZXN0c2RrIGN1cnJlbnRseSBhY2NlcHRzIHRoaXMgYXMgbm8gdGltZXpvbmUKKysgICAgICAgICAgICB1bnNldGVudigiVFoiKTsKKyAgICAgICAgIH0KKyAgICAgfQorLSAgICBlbHNlCistICAgIHsKKy0gICAgICAgIHRocm93IHN0ZDo6aW52YWxpZF9hcmd1bWVudCgidW5yZWNvZ25pemVkIGRhdGUgZm9ybWF0Iik7CistICAgIH0KKysjZWxzZQorKyAgICB0aW1lX3QgdGltZSA9IHRpbWVnbSgmb3V0cHV0KTsKKysjZW5kaWYKKysKKysgICAgc3RydWN0IHRpbWV2YWwgdHYgPSB0aW1ldmFsKCk7CisrICAgIHR2LnR2X3NlYyA9IHRpbWU7CisrICAgIGF1dG8gcmVzdWx0ID0gdGltZXZhbF90b19kYXRldGltZSh0dik7CisgCistICAgIHNlY29uZHMgKz0gbnRUb1VuaXhPZmZzZXRTZWNvbmRzOworLSAgICByZXN1bHQubV9pbnRlcnZhbCA9IHN0YXRpY19jYXN0PGludGVydmFsX3R5cGU+KHNlY29uZHMpICogX3NlY29uZFRpY2tzICsgZnJhY19zZWM7CisrICAgIC8vIGZyYWN0aW9uYWwgc2Vjb25kcyBhcmUgYWxyZWFkeSBpbiBjb3JyZWN0IGZvcm1hdCBzbyBqdXN0IGFkZCB0aGVtLgorKyAgICByZXN1bHQgPSByZXN1bHQgKyB1ZnJhY19zZWNvbmQ7CisgICAgIHJldHVybiByZXN1bHQ7CisrI2VuZGlmCisgfQorIAorIC8vLyA8c3VtbWFyeT4KK0BAIC0xMzU4LDMyICsxMTgxLDM4IEBAIHV0aWxpdHk6OnNlY29uZHMgX19jZGVjbCB0aW1lc3Bhbjo6eG1sX2QKKyAgICAgLy8gVGhlIGZpbmFsIFMgY291bGQgYmUgb21pdHRlZAorIAorICAgICBpbnQ2NF90IG51bVNlY3MgPSAwOworLSAgICBhdXRvIGN1cnNvciA9IHRpbWVzcGFuU3RyaW5nLmNfc3RyKCk7CistICAgIGF1dG8gYyA9ICpjdXJzb3IrKzsgLy8gc2tpcCAnUCcKKy0gICAgd2hpbGUgKGMpCisrCisrICAgIHV0aWxpdHk6OmlzdHJpbmdzdHJlYW1fdCBpcyh0aW1lc3BhblN0cmluZyk7CisrICAgIGlzLmltYnVlKHN0ZDo6bG9jYWxlOjpjbGFzc2ljKCkpOworKyAgICBhdXRvIGVvZiA9IHN0ZDo6Y2hhcl90cmFpdHM8dXRpbGl0eTo6Y2hhcl90Pjo6ZW9mKCk7CisrCisrICAgIHN0ZDo6YmFzaWNfaXN0cmVhbTx1dGlsaXR5OjpjaGFyX3Q+OjppbnRfdHlwZSBjOworKyAgICBjID0gaXMuZ2V0KCk7IC8vIFAKKysKKysgICAgd2hpbGUgKGMgIT0gZW9mKQorICAgICB7CisgICAgICAgICBpbnQgdmFsID0gMDsKKy0gICAgICAgIGMgPSAqY3Vyc29yKys7CisrICAgICAgICBjID0gaXMuZ2V0KCk7CisgCistICAgICAgICB3aGlsZSAoYXNjaWlfaXNkaWdpdChjKSkKKysgICAgICAgIHdoaWxlIChpc19kaWdpdCgodXRpbGl0eTo6Y2hhcl90KWMpKQorICAgICAgICAgeworLSAgICAgICAgICAgIHZhbCA9IHZhbCAqIDEwICsgKGMgLSBfWFBMQVRTVFIoJzAnKSk7CistICAgICAgICAgICAgYyA9ICpjdXJzb3IrKzsKKysgICAgICAgICAgICB2YWwgPSB2YWwgKiAxMCArIChjIC0gTCcwJyk7CisrICAgICAgICAgICAgYyA9IGlzLmdldCgpOworIAorLSAgICAgICAgICAgIGlmIChjID09IF9YUExBVFNUUignLicpKQorKyAgICAgICAgICAgIGlmIChjID09ICcuJykKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIC8vIGRlY2ltYWwgcG9pbnQgaXMgbm90IGhhbmRsZWQKKyAgICAgICAgICAgICAgICAgZG8KKyAgICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAgYyA9ICpjdXJzb3IrKzsKKy0gICAgICAgICAgICAgICAgfSB3aGlsZSAoYXNjaWlfaXNkaWdpdChjKSk7CisrICAgICAgICAgICAgICAgICAgICBjID0gaXMuZ2V0KCk7CisrICAgICAgICAgICAgICAgIH0gd2hpbGUgKGlzX2RpZ2l0KCh1dGlsaXR5OjpjaGFyX3QpYykpOworICAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAKKy0gICAgICAgIGlmIChjID09IF9YUExBVFNUUignRCcpKSBudW1TZWNzICs9IHZhbCAqIDI0ICogMzYwMDsgLy8gZGF5cworLSAgICAgICAgaWYgKGMgPT0gX1hQTEFUU1RSKCdIJykpIG51bVNlY3MgKz0gdmFsICogMzYwMDsgICAgICAvLyBIb3VycworLSAgICAgICAgaWYgKGMgPT0gX1hQTEFUU1RSKCdNJykpIG51bVNlY3MgKz0gdmFsICogNjA7ICAgICAgICAvLyBNaW51dGVzCistICAgICAgICBpZiAoYyA9PSBfWFBMQVRTVFIoJ1MnKSB8fCBjID09IF9YUExBVFNUUignXDAnKSkKKysgICAgICAgIGlmIChjID09IEwnRCcpIG51bVNlY3MgKz0gdmFsICogMjQgKiAzNjAwOyAvLyBkYXlzCisrICAgICAgICBpZiAoYyA9PSBMJ0gnKSBudW1TZWNzICs9IHZhbCAqIDM2MDA7ICAgICAgLy8gSG91cnMKKysgICAgICAgIGlmIChjID09IEwnTScpIG51bVNlY3MgKz0gdmFsICogNjA7ICAgICAgICAvLyBNaW51dGVzCisrICAgICAgICBpZiAoYyA9PSBMJ1MnIHx8IGMgPT0gZW9mKQorICAgICAgICAgeworICAgICAgICAgICAgIG51bVNlY3MgKz0gdmFsOyAvLyBzZWNvbmRzCisgICAgICAgICAgICAgYnJlYWs7CitAQCAtMTM5MywxMiArMTIyMiwxMiBAQCB1dGlsaXR5OjpzZWNvbmRzIF9fY2RlY2wgdGltZXNwYW46OnhtbF9kCisgICAgIHJldHVybiB1dGlsaXR5OjpzZWNvbmRzKG51bVNlY3MpOworIH0KKyAKKy1zdGF0aWMgY29uc3QgdXRpbGl0eTo6Y2hhcl90IGNfYWxsb3dlZF9jaGFyc1tdID0KKy0gICAgX1hQTEFUU1RSKCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIpOworK2NvbnN0IHV0aWxpdHk6OnN0cmluZ190IG5vbmNlX2dlbmVyYXRvcjo6Y19hbGxvd2VkX2NoYXJzKAorKyAgICBfWFBMQVRTVFIoIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5IikpOworIAorIHV0aWxpdHk6OnN0cmluZ190IG5vbmNlX2dlbmVyYXRvcjo6Z2VuZXJhdGUoKQorIHsKKy0gICAgc3RkOjp1bmlmb3JtX2ludF9kaXN0cmlidXRpb248PiBkaXN0cigwLCBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihjX2FsbG93ZWRfY2hhcnMpIC8gc2l6ZW9mKHV0aWxpdHk6OmNoYXJfdCkpIC0gMSk7CisrICAgIHN0ZDo6dW5pZm9ybV9pbnRfZGlzdHJpYnV0aW9uPD4gZGlzdHIoMCwgc3RhdGljX2Nhc3Q8aW50PihjX2FsbG93ZWRfY2hhcnMubGVuZ3RoKCkgLSAxKSk7CisgICAgIHV0aWxpdHk6OnN0cmluZ190IHJlc3VsdDsKKyAgICAgcmVzdWx0LnJlc2VydmUobGVuZ3RoKCkpOworICAgICBzdGQ6OmdlbmVyYXRlX24oc3RkOjpiYWNrX2luc2VydGVyKHJlc3VsdCksIGxlbmd0aCgpLCBbJl0oKSB7IHJldHVybiBjX2FsbG93ZWRfY2hhcnNbZGlzdHIobV9yYW5kb20pXTsgfSk7CistLS0gY3BwcmVzdC0yLjEwLjEyLm9yaWcvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL3V0aWxzL2RhdGV0aW1lLmNwcAorKysrIGNwcHJlc3QtMi4xMC4xMi9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvdXRpbHMvZGF0ZXRpbWUuY3BwCitAQCAtNzQsNiArNzQsMTYgQEAgU1VJVEUoZGF0ZXRpbWUpCisgICAgICAgICB9CisgICAgIH0KKyAKKysgICAgVEVTVChwYXJzaW5nX3RpbWVfZXh0ZW5kZWQpCisrICAgIHsKKysgICAgICAgIC8vIElTTyA4NjAxCisrICAgICAgICB7CisrICAgICAgICAgICAgYXV0byBkdCA9IHV0aWxpdHk6OmRhdGV0aW1lOjpmcm9tX3N0cmluZyhfWFBMQVRTVFIoIjE0OjMwOjAxWiIpLCB1dGlsaXR5OjpkYXRldGltZTo6SVNPXzg2MDEpOworKworKyAgICAgICAgICAgIFZFUklGWV9BUkVfTk9UX0VRVUFMKDB1LCBkdC50b19pbnRlcnZhbCgpKTsKKysgICAgICAgIH0KKysgICAgfQorKworICAgICB2b2lkIFRlc3REYXRlVGltZVJvdW5kdHJpcCh1dGlsaXR5OjpzdHJpbmdfdCBzdHIsIHV0aWxpdHk6OnN0cmluZ190IHN0ckV4cGVjdGVkKQorICAgICB7CisgICAgICAgICBhdXRvIGR0ID0gdXRpbGl0eTo6ZGF0ZXRpbWU6OmZyb21fc3RyaW5nKHN0ciwgdXRpbGl0eTo6ZGF0ZXRpbWU6OklTT184NjAxKTsKK0BAIC05MSw4ICsxMDEsNiBAQCBTVUlURShkYXRldGltZSkKKyAKKyAgICAgVEVTVChwYXJzaW5nX3RpbWVfcm91bmR0cmlwX2RhdGV0aW1lMikKKyAgICAgeworLSAgICAgICAgLy8gbG9zZSB0aGUgbGFzdCAnMDAwJworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMjAxMy0xMS0xOVQxNDozMDo1OS4xMjM0NTY3MDAwWiIpLCBfWFBMQVRTVFIoIjIwMTMtMTEtMTlUMTQ6MzA6NTkuMTIzNDU2N1oiKSk7CisgICAgICAgICAvLyBsb3NlIHRoZSBsYXN0ICc5OTknIHdpdGhvdXQgcm91bmRpbmcgdXAKKyAgICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjIwMTMtMTEtMTlUMTQ6MzA6NTkuMTIzNDU2Nzk5OVoiKSwgX1hQTEFUU1RSKCIyMDEzLTExLTE5VDE0OjMwOjU5LjEyMzQ1NjdaIikpOworICAgICB9CitAQCAtMTIxLDI2MCArMTI5LDE2IEBAIFNVSVRFKGRhdGV0aW1lKQorICAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMjAxMy0xMS0xOVQxNDozMDo1OS41WiIpKTsKKyAgICAgfQorIAorLSAgICB2b2lkIFRlc3RSZmMxMTIzSXNUaW1lVChjb25zdCB1dGlsaXR5OjpjaGFyX3QqIHN0ciwgdGltZV90IHQpCistICAgIHsKKy0gICAgICAgIGRhdGV0aW1lIGR0ID0gZGF0ZXRpbWU6OmZyb21fc3RyaW5nKHN0ciwgdXRpbGl0eTo6ZGF0ZXRpbWU6OlJGQ18xMTIzKTsKKy0gICAgICAgIHVpbnQ2NF90IGludGVydmFsID0gZHQudG9faW50ZXJ2YWwoKTsKKy0gICAgICAgIFZFUklGWV9BUkVfRVFVQUwoMCwgaW50ZXJ2YWwgJSAxMDAwMDAwMCk7CistICAgICAgICBpbnRlcnZhbCAvPSAxMDAwMDAwMDsKKy0gICAgICAgIGludGVydmFsIC09IDExNjQ0NDczNjAwOyAvLyBOVCBlcG9jaCBhZGp1c3RtZW50CistICAgICAgICBWRVJJRllfQVJFX0VRVUFMKHN0YXRpY19jYXN0PHVpbnQ2NF90Pih0KSwgaW50ZXJ2YWwpOworLSAgICB9CistCistICAgIFRFU1QocGFyc2luZ190aW1lX3JmYzExMjNfYWNjZXB0c19lYWNoX2RheSkKKy0gICAgeworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiRnJpLCAwMiBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgODY0MDAgKiAxKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIlNhdCwgMDMgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDg2NDAwICogMik7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCJTdW4sIDA0IEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSA4NjQwMCAqIDMpOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiTW9uLCAwNSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgODY0MDAgKiA0KTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIlR1ZSwgMDYgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDg2NDAwICogNSk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCJXZWQsIDA3IEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSA4NjQwMCAqIDYpOworLSAgICB9CistCistICAgIFRFU1QocGFyc2luZ190aW1lX3JmYzExMjNfYm91bmRhcnlfY2FzZXMpCistICAgIHsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjE5IEphbiAyMDM4IDAzOjE0OjA2IEdNVCIpLCAodGltZV90KSBJTlRfTUFYIC0gMSk7CistI2lmbmRlZiBfVVNFXzMyQklUX1RJTUVfVAorLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMTkgSmFuIDIwMzggMDM6MTM6MDcgLTAwMDEiKSwgKHRpbWVfdCkgSU5UX01BWCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIxOSBKYW4gMjAzOCAwMzoxNDowNyAtMDAwMCIpLCAodGltZV90KSBJTlRfTUFYKTsKKy0jZW5kaWYgLy8gX1VTRV8zMkJJVF9USU1FX1QKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjE0IEphbiAyMDE5IDIzOjE2OjIxICswMDAwIiksICh0aW1lX3QpIDE1NDc1MDc3ODEpOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMTQgSmFuIDIwMTkgMjM6MTY6MjEgLTAwMDEiKSwgKHRpbWVfdCkgMTU0NzUwNzg0MSk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIxNCBKYW4gMjAxOSAyMzoxNjoyMSArMDAwMSIpLCAodGltZV90KSAxNTQ3NTA3NzIxKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjE0IEphbiAyMDE5IDIzOjE2OjIxIC0wMTAwIiksICh0aW1lX3QpIDE1NDc1MTEzODEpOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMTQgSmFuIDIwMTkgMjM6MTY6MjEgKzAxMDAiKSwgKHRpbWVfdCkgMTU0NzUwNDE4MSk7CistICAgIH0KKy0KKy0gICAgVEVTVChwYXJzaW5nX3RpbWVfcmZjMTEyM191c2VzX2VhY2hfZmllbGQpCistICAgIHsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAyIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSA4NjQwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIxMiBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgOTUwNDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEZlYiAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAyNjc4NDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAyMDAwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSA5NDY2ODQ4MDApOworLSNpZm5kZWYgX1VTRV8zMkJJVF9USU1FX1QKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAyMTAwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSA0MTAyNDQ0ODAwKTsKKy0jZW5kaWYgLy8gX1VTRV8zMkJJVF9USU1FX1QKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTkwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSA2MzExNTIwMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzEgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDMxNTM2MDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDEwOjAwOjAwIEdNVCIpLCAodGltZV90KSAzNjAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwMTowMDowMCBHTVQiKSwgKHRpbWVfdCkgMzYwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwMDoxMDowMCBHTVQiKSwgKHRpbWVfdCkgNjAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAwOjAxOjAwIEdNVCIpLCAodGltZV90KSA2MCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwMDowMDoxMCBHTVQiKSwgKHRpbWVfdCkgMTApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDA6MDA6MDEgR01UIiksICh0aW1lX3QpIDEpOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMTA6MDA6MDAgR01UIiksICh0aW1lX3QpIDM2MDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAyOjAwOjAwIFBTVCIpLCAodGltZV90KSAzNjAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwMzowMDowMCBQRFQiKSwgKHRpbWVfdCkgMzYwMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDM6MDA6MDAgTVNUIiksICh0aW1lX3QpIDM2MDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDA0OjAwOjAwIE1EVCIpLCAodGltZV90KSAzNjAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwNDowMDowMCBDU1QiKSwgKHRpbWVfdCkgMzYwMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDU6MDA6MDAgQ0RUIiksICh0aW1lX3QpIDM2MDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDA1OjAwOjAwIEVTVCIpLCAodGltZV90KSAzNjAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwNjowMDowMCBFRFQiKSwgKHRpbWVfdCkgMzYwMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDY6MDA6MDAgLTA0MDAiKSwgKHRpbWVfdCkgMzYwMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDU6NTk6MDAgLTA0MDEiKSwgKHRpbWVfdCkgMzYwMDApOworLSAgICB9CistCistICAgIFRFU1QocGFyc2luZ190aW1lX3JmYzExMjNfbWF4X2RheXMpCistICAgIHsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjMxIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAyNTkyMDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjI4IEZlYiAyMDE5IDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAxNTUxMzEyMDAwKTsgLy8gbm9uIGxlYXAgeWVhciBhbGxvd3MgZmViIDI4CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIyOSBGZWIgMjAyMCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMTU4MjkzNDQwMCk7IC8vIGxlYXAgeWVhciBhbGxvd3MgZmViIDI5CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIzMSBNYXIgMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgNzY4OTYwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIzMCBBcHIgMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMTAyODE2MDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMzEgTWF5IDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDEyOTYwMDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjMwIEp1biAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAxNTU1MjAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIzMSBKdWwgMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMTgyMzA0MDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMzEgQXVnIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDIwOTA4ODAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjMwIFNlcCAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAyMzUwMDgwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIzMSBPY3QgMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMjYxNzkyMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMzAgTm92IDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDI4NzcxMjAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjMxIERlYyAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAzMTQ0OTYwMCk7CistICAgIH0KKy0KKy0gICAgVEVTVChwYXJzaW5nX3RpbWVfcmZjMTEyM19pbnZhbGlkX2Nhc2VzKQorLSAgICB7CistICAgICAgICBjb25zdCB1dGlsaXR5OjpzdHJpbmdfdCBiYWRfc3RyaW5nc1tdID0geworLSAgICAgICAgICAgIF9YUExBVFNUUigiQWh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgLy8gYmFkIGxldHRlcnMgaW4gZWFjaCBwbGFjZQorLSAgICAgICAgICAgIF9YUExBVFNUUigiVEF1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRoQSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHVBIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LEEwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgQTEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDBBIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMUFKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgQWFuIDE5NzAgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEpBbiAxOTcwIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYUEgMTk3MCAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuQTE5NzAgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiBBOTcwIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMUE3MCAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5QTAgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTdBIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MEEwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgQTA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDBBOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMEEwMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDA6QTA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwOjBBOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMEEwMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDA6MDA6QTAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjBBIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMEFHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgQU1UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdBVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTUEiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIiIpLCAvLyB0cnVuY2F0aW9uCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1IiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsICIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxICIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOSIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3IiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwICIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwOiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwOjAwIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwOjAwOiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwICIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJGcmksIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLCAvLyB3cm9uZyBkYXkKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiA0OTcwIDAwOjAwOjAwIEdNVCIpLCAvLyB5ZWFyIHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiAzMDAxIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMDEgWHh4IDE5NzEgMDA6MDA6MDAgR01UIiksIC8vIG1vbnRoIGJhZAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMDAgSmFuIDE5NzEgMDA6MDA6MDAgR01UIiksIC8vIGRheSB0b28gc21hbGwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMyIEphbiAxOTcxIDAwOjAwOjAwIEdNVCIpLCAvLyBkYXkgdG9vIGJpZworLSAgICAgICAgICAgIF9YUExBVFNUUigiMzAgRmViIDE5NzEgMDA6MDA6MDAgR01UIiksIC8vIGRheSB0b28gYmlnIGZvciBmZWIKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMwIEZlYiAxOTcxIDAwOjAwOjAwIEdNVCIpLCAvLyBkYXkgdG9vIGJpZyBmb3IgZmViIChub24tbGVhcCB5ZWFyKQorLSAgICAgICAgICAgIF9YUExBVFNUUigiMzIgTWFyIDE5NzEgMDA6MDA6MDAgR01UIiksIC8vIG90aGVyIG1vbnRocworLSAgICAgICAgICAgIF9YUExBVFNUUigiMzEgQXByIDE5NzEgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMiBNYXkgMTk3MSAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMxIEp1biAxOTcxIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMzIgSnVsIDE5NzEgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMiBBdWcgMTk3MSAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMxIFNlcCAxOTcxIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMzIgT2N0IDE5NzEgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMSBOb3YgMTk3MSAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMyIERlYyAxOTcxIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMDEgSmFuIDE5NzEgNzA6MDA6MDAgR01UIiksIC8vIGhvdXIgdG9vIGJpZworLSAgICAgICAgICAgIF9YUExBVFNUUigiMDEgSmFuIDE5NzEgMjQ6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIwMSBKYW4gMTk3MSAwMDo2MDowMCBHTVQiKSwgLy8gbWludXRlIHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiAxOTcxIDAwOjAwOjcwIEdNVCIpLCAvLyBzZWNvbmQgdG9vIGJpZworLSAgICAgICAgICAgIF9YUExBVFNUUigiMDEgSmFuIDE5NzEgMDA6MDA6NjEgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIwMSBKYW4gMTk2OSAwMDowMDowMCBHTVQiKSwgLy8gdW5kZXJmbG93CistICAgICAgICAgICAgX1hQTEFUU1RSKCIwMSBKYW4gMTk2OSAwMDowMDowMCBDRVNUIiksIC8vIGJhZCB0egorLSAgICAgICAgICAgIF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDA6MDA6MDAgKzI0MDAiKSwgLy8gYmFkIHR6b2Zmc2V0cworLSAgICAgICAgICAgIF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDA6MDA6MDAgLTMwMDAiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAwOjAwOjAwICsyMTYwIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwMDowMDowMCAtMjQwMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDA6MDA6MDAgLTIxNjAiKSwKKy0gICAgICAgIH07CistCistICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHN0ciA6IGJhZF9zdHJpbmdzKQorLSAgICAgICAgeworLSAgICAgICAgICAgIGF1dG8gZHQgPSB1dGlsaXR5OjpkYXRldGltZTo6ZnJvbV9zdHJpbmcoc3RyLCB1dGlsaXR5OjpkYXRldGltZTo6UkZDXzExMjMpOworLSAgICAgICAgICAgIFZFUklGWV9BUkVfRVFVQUwoMCwgZHQudG9faW50ZXJ2YWwoKSk7CistICAgICAgICB9CistICAgIH0KKy0KKy0gICAgVEVTVChwYXJzaW5nX3RpbWVfaXNvODYwMV9ib3VuZGFyeV9jYXNlcykKKy0gICAgeworLSAgICAgICAgLy8gYm91bmRhcnkgY2FzZXM6CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAwOjAwWiIpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVwb2NoCistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDM4LTAxLTE5VDAzOjE0OjA2KzAwOjAwIiksIF9YUExBVFNUUigiMjAzOC0wMS0xOVQwMzoxNDowNloiKSk7IC8vIElOVF9NQVggLSAxCistI2lmbmRlZiBfVVNFXzMyQklUX1RJTUVfVAorLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMjAzOC0wMS0xOVQwMzoxMzowNy0wMDowMSIpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9YUExBVFNUUigiMjAzOC0wMS0xOVQwMzoxNDowN1oiKSk7IC8vIElOVF9NQVggYWZ0ZXIgc3VidGFjdGluZyAxCistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDM4LTAxLTE5VDAzOjE0OjA3LTAwOjAwIiksIF9YUExBVFNUUigiMjAzOC0wMS0xOVQwMzoxNDowN1oiKSk7CistI2VuZGlmIC8vIF9VU0VfMzJCSVRfVElNRV9UCistICAgIH0KKy0KKy0gICAgVEVTVChwYXJzaW5nX3RpbWVfaXNvODYwMV91c2VzX2VhY2hfdGltZXpvbmVfZGlnaXQpCistICAgIHsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjIwMTktMDEtMTRUMjM6MTY6MjErMDA6MDAiKSwgX1hQTEFUU1RSKCIyMDE5LTAxLTE0VDIzOjE2OjIxWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjIwMTktMDEtMTRUMjM6MTY6MjEtMDA6MDEiKSwgX1hQTEFUU1RSKCIyMDE5LTAxLTE0VDIzOjE3OjIxWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjIwMTktMDEtMTRUMjM6MTY6MjErMDA6MDEiKSwgX1hQTEFUU1RSKCIyMDE5LTAxLTE0VDIzOjE1OjIxWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjIwMTktMDEtMTRUMjM6MTY6MjEtMDE6MDAiKSwgX1hQTEFUU1RSKCIyMDE5LTAxLTE1VDAwOjE2OjIxWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjIwMTktMDEtMTRUMjM6MTY6MjErMDE6MDAiKSwgX1hQTEFUU1RSKCIyMDE5LTAxLTE0VDIyOjE2OjIxWiIpKTsKKy0gICAgfQorLQorLSAgICBURVNUKHBhcnNpbmdfdGltZV9pc284NjAxX3VzZXNfZWFjaF9kaWdpdCkKKy0gICAgeworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMVoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAxOjAwWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDE6MDA6MDBaIikpOworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0wMlQwMDowMDowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAyLTAxVDAwOjAwOjAwWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzEtMDEtMDFUMDA6MDA6MDBaIikpOworLQorLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk5OS0wMS0wMVQwMDowMDowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTEyLTAxVDAwOjAwOjAwWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDktMDFUMDA6MDA6MDBaIikpOworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0zMFQwMDowMDowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAxLTMxVDAwOjAwOjAwWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMjM6MDA6MDBaIikpOworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0wMVQxOTowMDowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjU5OjAwWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MDA6NTlaIikpOworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDo2MFoiKSwgX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAxOjAwWiIpKTsgLy8gbGVhcCBzZWNvbmRzCistICAgIH0KKy0KKy0gICAgVEVTVChwYXJzaW5nX3RpbWVfaXNvODYwMV9hY2NlcHRzX21vbnRoX21heF9kYXlzKQorLSAgICB7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAxLTMxVDAwOjAwOjAwWiIpKTsgLy8gamFuCistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDE5LTAyLTI4VDAwOjAwOjAwWiIpKTsgLy8gbm9uIGxlYXAgeWVhciBhbGxvd3MgZmViIDI4CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDIwLTAyLTI5VDAwOjAwOjAwWiIpKTsgLy8gbGVhcCB5ZWFyIGFsbG93cyBmZWIgMjkKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDMtMzFUMDA6MDA6MDBaIikpOyAvLyBtYXIKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDQtMzBUMDA6MDA6MDBaIikpOyAvLyBhcHIKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDUtMzFUMDA6MDA6MDBaIikpOyAvLyBtYXkKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDYtMzBUMDA6MDA6MDBaIikpOyAvLyBqdW4KKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDctMzFUMDA6MDA6MDBaIikpOyAvLyBqdWwKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDgtMzFUMDA6MDA6MDBaIikpOyAvLyBhdWcKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDktMzBUMDA6MDA6MDBaIikpOyAvLyBzZXAKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMTAtMzFUMDA6MDA6MDBaIikpOyAvLyBvY3QKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMTEtMzBUMDA6MDA6MDBaIikpOyAvLyBub3YKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMTItMzFUMDA6MDA6MDBaIikpOyAvLyBkZWMKKy0gICAgfQorLQorLSAgICBURVNUKHBhcnNpbmdfdGltZV9pc284NjAxX2FjY2VwdHNfbG93ZXJjYXNlX3RfeikKKy0gICAgeworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0wMXQwMDowMDowMFoiKSwgX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAwOjAwWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MDA6MDB6IiksIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMFoiKSk7CistICAgIH0KKy0KKy0gICAgVEVTVChwYXJzaW5nX3RpbWVfcm91bmR0cmlwX2RhdGV0aW1lX2FjY2VwdHNfaW52YWxpZF9ub190cmFpbGluZ190aW1lem9uZSkKKysgICAgVEVTVChwYXJzaW5nX3RpbWVfcm91bmR0cmlwX2RhdGV0aW1lX2ludmFsaWQxLAorKyAgICAgICAgICJJZ25vcmU6TGludXgiLAorKyAgICAgICAgICJDb2RlcGxleCBpc3N1ZSAjMTE1IiwKKysgICAgICAgICAiSWdub3JlOkFwcGxlIiwKKysgICAgICAgICAiQ29kZXBsZXggaXNzdWUgIzExNSIpCisgICAgIHsKKyAgICAgICAgIC8vIE5vIGRpZ2l0cyBhZnRlciB0aGUgZG90LCBvciBub24tZGlnaXRzLiBUaGlzIGlzIG5vdCBhIHZhbGlkIGlucHV0LCBidXQgd2Ugc2hvdWxkIG5vdCBjaG9rZSBvbiBpdCwKKyAgICAgICAgIC8vIFNpbXBseSBpZ25vcmUgdGhlIGJhZCBmcmFjdGlvbgorICAgICAgICAgY29uc3QgdXRpbGl0eTo6c3RyaW5nX3QgYmFkX3N0cmluZ3NbXSA9IHtfWFBMQVRTVFIoIjIwMTMtMTEtMTlUMTQ6MzA6NTkuWiIpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfWFBMQVRTVFIoIjIwMTMtMTEtMTlUMTQ6MzA6NTkuYTEyWiIpfTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1hQTEFUU1RSKCIyMDEzLTExLTE5VDE0OjMwOjU5LjFhMloiKX07CisgICAgICAgICB1dGlsaXR5OjpzdHJpbmdfdCBzdHJfY29ycmVjdGVkID0gX1hQTEFUU1RSKCIyMDEzLTExLTE5VDE0OjMwOjU5WiIpOworIAorICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBzdHIgOiBiYWRfc3RyaW5ncykKK0BAIC0zODcsODcgKzE1MSwxMiBAQCBTVUlURShkYXRldGltZSkKKyAKKyAgICAgVEVTVChwYXJzaW5nX3RpbWVfcm91bmR0cmlwX2RhdGV0aW1lX2ludmFsaWQyKQorICAgICB7CistICAgICAgICAvLyBWYXJpb3VzIHVuc3VwcG9ydGVkIGNhc2VzLiBJbiBhbGwgY2FzZXMsIHdlIGhhdmUgcHJvZHVjZSBhbiBlbXB0eSBkYXRlIHRpbWUKKysgICAgICAgIC8vIFZhcmlvdWxzIHVuc3VwcG9ydGVkIGNhc2VzLiBJbiBhbGwgY2FzZXMsIHdlIGhhdmUgcHJvZHVjZSBhbiBlbXB0eSBkYXRlIHRpbWUKKyAgICAgICAgIGNvbnN0IHV0aWxpdHk6OnN0cmluZ190IGJhZF9zdHJpbmdzW10gPSB7CistICAgICAgICAgICAgX1hQTEFUU1RSKCIiKSwgICAgICAgICAgICAgICAgICAgICAvLyBlbXB0eQorLSAgICAgICAgICAgIF9YUExBVFNUUigiLloiKSwgICAgICAgICAgICAgICAgICAgLy8gdG9vIHNob3J0CistICAgICAgICAgICAgX1hQTEFUU1RSKCIuWngiKSwgICAgICAgICAgICAgICAgICAvLyBubyB0cmFpbGluZyBaCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzLjE0WiIpICAgICAgICAgICAgICAgICAvLyBub3QgYSB2YWxpZCBkYXRlCistICAgICAgICAgICAgX1hQTEFUU1RSKCJhOTcxLTAxLTAxVDAwOjAwOjAwWiIpLCAvLyBhbnkgbm9uIGRpZ2l0cyBvciB2YWxpZCBzZXBhcmF0b3JzCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxYTcxLTAxLTAxVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTlhMS0wMS0wMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5N2EtMDEtMDFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxYTAxLTAxVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS1hMS0wMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMGEtMDFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxYTAxVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMS1hMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMGFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgLy8gX1hQTEFUU1RSKCIxOTcxLTAxLTAxYTAwOjAwOjAwWiIpLCBwYXJzZWQgYXMgY29tcGxldGUgZGF0ZQorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMS0wMVRhMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMDFUMGE6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDAwYTAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMS0wMVQwMDphMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMDFUMDA6MGE6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDAwOjAwYTAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMS0wMVQwMDowMDphMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMDFUMDA6MDA6MGFaIiksCistICAgICAgICAgICAgLy8gIjE5NzEtMDEtMDFUMDA6MDA6MDBhIiwgYWNjZXB0ZWQgYXMgcGVyIGludmFsaWRfbm9fdHJhaWxpbmdfdGltZXpvbmUgYWJvdmUKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjEiKSwgLy8gdHJ1bmNhdGlvbgorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTkiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NyIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0iKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMSIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0iKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMDEtMCIpLAorLSAgICAgICAgICAgIC8vIF9YUExBVFNUUigiMTk3MC0wMS0wMSIpLCBjb21wbGV0ZSBkYXRlCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcwLTAxLTAxVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAwIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAwOiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowIiksCistICAgICAgICAgICAgLy8gX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAwOjAwIiksIC8vIGFjY2VwdGVkIGFzIGludmFsaWQgdGltZXpvbmUgYWJvdmUKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjQ5NzAtMDEtMDFUMDA6MDA6MDBaIiksIC8vIHllYXIgdG9vIGJpZworLSAgICAgICAgICAgIF9YUExBVFNUUigiMzAwMS0wMS0wMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDAtMDFUMDA6MDA6MDBaIiksIC8vIG1vbnRoIHRvbyBzbWFsbAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0yMC0wMVQwMDowMDowMFoiKSwgLy8gbW9udGggdG9vIGJpZworLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0xMy0wMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMDBUMDA6MDA6MDBaIiksIC8vIGRheSB0b28gc21hbGwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMzJUMDA6MDA6MDBaIiksIC8vIGRheSB0b28gYmlnCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAyLTMwVDAwOjAwOjAwWiIpLCAvLyBkYXkgdG9vIGJpZyBmb3IgZmViCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAyLTMwVDAwOjAwOjAwWiIpLCAvLyBkYXkgdG9vIGJpZyBmb3IgZmViIChub24tbGVhcCB5ZWFyKQorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMy0zMlQwMDowMDowMFoiKSwgLy8gb3RoZXIgbW9udGhzCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTA0LTMxVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wNS0zMlQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDYtMzFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTA3LTMyVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wOC0zMlQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDktMzFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTEwLTMyVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0xMS0zMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMTItMzJUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDcwOjAwOjAwWiIpLCAvLyBob3VyIHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMDFUMjQ6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDAwOjYwOjAwWiIpLCAvLyBtaW51dGUgdG9vIGJpZworLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMS0wMVQwMDowMDo3MFoiKSwgLy8gc2Vjb25kIHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMDFUMDA6MDA6NjFaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTY5LTAxLTAxVDAwOjAwOjAwWiIpLCAvLyB1bmRlcmZsb3cKKy0jaWZkZWYgX1VTRV8zMkJJVF9USU1FX1QKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMwMDAtMDEtMDFUMDA6MDA6MDFaIiksIC8vIG92ZXJmbG93CistI2VuZGlmCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMDAxLTAxLTAxVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMCswMDowMSIpLCAvLyB0aW1lIHpvbmUgdW5kZXJmbG93CistICAgICAgICAgICAgLy8gX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAwOjAwLloiKSwgLy8gYWNjZXB0ZWQgYXMgaW52YWxpZCB0aW1lem9uZSBhYm92ZQorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMCsyNDowMCIpLCAvLyBiYWQgdHpvZmZzZXRzCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAwOjAwLTMwOjAwIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAwOjAwKzIxOjYwIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAwOjAwLTI0OjAwIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAwOjAwLTIxOjYwIiksCisrICAgICAgICAgICAgX1hQTEFUU1RSKCIiKSwgICAgIC8vIGVtcHR5CisrICAgICAgICAgICAgX1hQTEFUU1RSKCIuWiIpLCAgIC8vIHRvbyBzaG9ydAorKyAgICAgICAgICAgIF9YUExBVFNUUigiLlp4IiksICAvLyBubyB0cmFpbGluZyBaCisrICAgICAgICAgICAgX1hQTEFUU1RSKCIzLjE0WiIpIC8vIG5vdCBhIHZhbGlkIGRhdGUKKyAgICAgICAgIH07CisgCisgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHN0ciA6IGJhZF9zdHJpbmdzKQorQEAgLTQ3Nyw2ICsxNjYsMTYgQEAgU1VJVEUoZGF0ZXRpbWUpCisgICAgICAgICB9CisgICAgIH0KKyAKKysgICAgVEVTVChwYXJzaW5nX3RpbWVfcm91bmR0cmlwX3RpbWUpCisrICAgIHsKKysgICAgICAgIC8vIHRpbWUgb25seSB3aXRob3V0IGRhdGUKKysgICAgICAgIHV0aWxpdHk6OnN0cmluZ190IHN0ciA9IF9YUExBVFNUUigiMTQ6MzA6NTkuMTIzNDU2N1oiKTsKKysgICAgICAgIGF1dG8gZHQgPSB1dGlsaXR5OjpkYXRldGltZTo6ZnJvbV9zdHJpbmcoc3RyLCB1dGlsaXR5OjpkYXRldGltZTo6SVNPXzg2MDEpOworKyAgICAgICAgdXRpbGl0eTo6c3RyaW5nX3Qgc3RyMiA9IGR0LnRvX3N0cmluZyh1dGlsaXR5OjpkYXRldGltZTo6SVNPXzg2MDEpOworKyAgICAgICAgLy8gTXVzdCBsb29rIGZvciBhIHN1YnN0cmluZyBub3csIHNpbmNlIHRoZSBkYXRlIHBhcnQgaXMgZmlsbGVkIHdpdGggdG9kYXkncyBkYXRlCisrICAgICAgICBWRVJJRllfSVNfVFJVRShzdHIyLmZpbmQoc3RyKSAhPSBzdGQ6OnN0cmluZzo6bnBvcyk7CisrICAgIH0KKysKKyB9IC8vIFNVSVRFKGRhdGV0aW1lKQorIAorIH0gLy8gbmFtZXNwYWNlIHV0aWxzX3Rlc3RzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3Qvc3lzdGVtLWJyb3RsaS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9zeXN0ZW0tYnJvdGxpLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNmY2NDc3Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9zeXN0ZW0tYnJvdGxpLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotRGVzY3JpcHRpb246IEZpbmQgc3lzdGVtIGJyb3RsaQotQXV0aG9yOiBHaWFuZnJhbmNvIENvc3RhbWFnbmEgPGxvY3V0dXNvZmJvcmdAZGViaWFuLm9yZz4KLUZvcndhcmRlZDogaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9jcHByZXN0c2RrL3B1bGwvOTUyCi1MYXN0LVVwZGF0ZTogMjAxOC0xMS0wNQotCi0tLS0gY3BwcmVzdC0yLjEwLjcub3JpZy9SZWxlYXNlL2NtYWtlL2NwcHJlc3RfZmluZF9icm90bGkuY21ha2UKLSsrKyBjcHByZXN0LTIuMTAuNy9SZWxlYXNlL2NtYWtlL2NwcHJlc3RfZmluZF9icm90bGkuY21ha2UKLUBAIC0zLDggKzMsMTcgQEAgZnVuY3Rpb24oY3BwcmVzdF9maW5kX2Jyb3RsaSkKLSAgICAgcmV0dXJuKCkKLSAgIGVuZGlmKCkKLSAKLS0gIGZpbmRfcGFja2FnZSh1bm9mZmljaWFsLWJyb3RsaSBSRVFVSVJFRCkKLSAKLS0gIGFkZF9saWJyYXJ5KGNwcHJlc3RzZGtfYnJvdGxpX2ludGVybmFsIElOVEVSRkFDRSkKLS0gIHRhcmdldF9saW5rX2xpYnJhcmllcyhjcHByZXN0c2RrX2Jyb3RsaV9pbnRlcm5hbCBJTlRFUkZBQ0UgdW5vZmZpY2lhbDo6YnJvdGxpOjpicm90bGllbmMgdW5vZmZpY2lhbDo6YnJvdGxpOjpicm90bGlkZWMgdW5vZmZpY2lhbDo6YnJvdGxpOjpicm90bGljb21tb24pCi0rICBmaW5kX3BhY2thZ2UoUGtnQ29uZmlnKQotKyAgcGtnX2NoZWNrX21vZHVsZXMoQlJPVExJRU5DIGxpYmJyb3RsaWVuYykKLSsgIHBrZ19jaGVja19tb2R1bGVzKEJST1RMSURFQyBsaWJicm90bGlkZWMpCi0rICBpZihCUk9UTElERUNfRk9VTkQgQU5EIEJST1RMSUVOQ19GT1VORCkKLSsJICB0YXJnZXRfbGlua19saWJyYXJpZXMoY3BwcmVzdCBQUklWQVRFICR7QlJPVExJREVDX0xERkxBR1N9ICR7QlJPVExJRU5DX0xERkxBR1N9KQotKyAgZWxzZShCUk9UTElERUNfRk9VTkQgQU5EIEJST1RMSUVOQ19GT1VORCkKLSsgICAgZmluZF9wYWNrYWdlKHVub2ZmaWNpYWwtYnJvdGxpIFJFUVVJUkVEKQotKyAgICBhZGRfbGlicmFyeShjcHByZXN0c2RrX2Jyb3RsaV9pbnRlcm5hbCBJTlRFUkZBQ0UpCi0rICAgIHRhcmdldF9saW5rX2xpYnJhcmllcyhjcHByZXN0c2RrX2Jyb3RsaV9pbnRlcm5hbCBJTlRFUkZBQ0UgdW5vZmZpY2lhbDo6YnJvdGxpOjpicm90bGllbmMgdW5vZmZpY2lhbDo6YnJvdGxpOjpicm90bGlkZWMgdW5vZmZpY2lhbDo6YnJvdGxpOjpicm90bGljb21tb24pCi0rICAgIHRhcmdldF9saW5rX2xpYnJhcmllcyhjcHByZXN0IFBSSVZBVEUgY3BwcmVzdHNka19icm90bGlfaW50ZXJuYWwpCi0rICBlbmRpZihCUk9UTElERUNfRk9VTkQgQU5EIEJST1RMSUVOQ19GT1VORCkKLSsKLSBlbmRmdW5jdGlvbigpCi0tLS0gY3BwcmVzdC0yLjEwLjcub3JpZy9SZWxlYXNlL3NyYy9DTWFrZUxpc3RzLnR4dAotKysrIGNwcHJlc3QtMi4xMC43L1JlbGVhc2Uvc3JjL0NNYWtlTGlzdHMudHh0Ci1AQCAtODQsNyArODQsNiBAQCBlbHNlKCkKLSAgICAgdGFyZ2V0X2NvbXBpbGVfZGVmaW5pdGlvbnMoY3BwcmVzdCBQUklWQVRFIC1EQ1BQUkVTVF9FWENMVURFX0JST1RMST0xKQotICAgZWxzZSgpCi0gICAgIGNwcHJlc3RfZmluZF9icm90bGkoKQotLSAgICB0YXJnZXRfbGlua19saWJyYXJpZXMoY3BwcmVzdCBQUklWQVRFIGNwcHJlc3RzZGtfYnJvdGxpX2ludGVybmFsKQotICAgZW5kaWYoKQotIGVuZGlmKCkKLSAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdF8yLjEwLjEyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0XzIuMTAuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTJjMDQ1MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdF8yLjEwLjEyLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiTWljcm9zb2Z0IHByb2plY3QgZm9yIGNsb3VkLWJhc2VkIGNsaWVudC1zZXJ2ZXIgY29tbXVuaWNhdGlvbiBpbiBuYXRpdmUgY29kZSB1c2luZyBhIG1vZGVybiBhc3luY2hyb25vdXMgQysrIEFQSSBkZXNpZ24uIgorU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L2NwcHJlc3RzZGsvIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1N9L2xpY2Vuc2UudHh0O21kNT1hMmUxNWI5NTQ3NjkyMThmZjkxMjQ2OGVlY2Q2YTAyZiIKK0RFUEVORFMgPSAib3BlbnNzbCB3ZWJzb2NrZXRwcCB6bGliIGJvb3N0IGJyb3RsaSIKKworRVhUUkFfT0VDTUFLRSA9ICItRENQUFJFU1RfRVhQT1JUX0RJUj1jbWFrZSAtRENQUFJFU1RfRVhDTFVERV9CUk9UTEk9T0ZGIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L2NwcHJlc3RzZGsuZ2l0O3Byb3RvY29sPWh0dHBzO2JyYW5jaD1tYXN0ZXIgXAorICAgICAgICAgICBmaWxlOi8vcmV2ZXJ0LTliNjcwZTViMzNkZmRiZDUwMWQ2MThjZDdlNzQ5ODE0OGZmYmQ1NTkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmV2ZXJ0LWYxMGQ5ZjhlMjE0NTE2ZDJjMTlhYTZlZjgzMWVlODc0YTU4YzA0NzkucGF0Y2ggXAorICAgICAgICAgICAiCisKKyMgdGFnIDIuMTAuMTIKK1NSQ1JFVj0gImQ0ZmIxY2Y3ZjdkMjJjMTJlMmU0NDJiYTVhNWU5OGQwOWIwYTI4YWIiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3RfMi4xMC43LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0XzIuMTAuNy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWNjNjM4NS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3RfMi4xMC43LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotU1VNTUFSWSA9ICJNaWNyb3NvZnQgcHJvamVjdCBmb3IgY2xvdWQtYmFzZWQgY2xpZW50LXNlcnZlciBjb21tdW5pY2F0aW9uIGluIG5hdGl2ZSBjb2RlIHVzaW5nIGEgbW9kZXJuIGFzeW5jaHJvbm91cyBDKysgQVBJIGRlc2lnbi4iCi1TRUNUSU9OID0gImxpYnMvbmV0d29yayIKLUhPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvY3BwcmVzdHNkay8iCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7U30vbGljZW5zZS50eHQ7bWQ1PWEyZTE1Yjk1NDc2OTIxOGZmOTEyNDY4ZWVjZDZhMDJmIgotREVQRU5EUyA9ICJvcGVuc3NsIHdlYnNvY2tldHBwIHpsaWIgYm9vc3QgYnJvdGxpIgotCi1FWFRSQV9PRUNNQUtFID0gIi1EQ1BQUkVTVF9FWFBPUlRfRElSPWNtYWtlIC1EQ1BQUkVTVF9FWENMVURFX0JST1RMST1PRkYiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvY3BwcmVzdHNkay5naXQ7cHJvdG9jb2w9aHR0cHM7YnJhbmNoPW1hc3RlciBcCi0gICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLW91dHNpZGUtdGVzdHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS10ZXN0LXRpbWVvdXRzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2Rpc2FibGUtZmxvYXQtdGVzdHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vOTUwLWZpeC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zeXN0ZW0tYnJvdGxpLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi0jIHRhZyAyLjEwLjcKLVNSQ1JFVj0gImM0Y2VmMTI5ZTg4MGEzZjljMjNhNDgwZThjOTgzNzkzOTYzMTczYmIiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgY21ha2UKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2hhbnQvZW5jaGFudDJfMi4yLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNoYW50L2VuY2hhbnQyXzIuMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyMTUwYzgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNoYW50L2VuY2hhbnQyXzIuMi4zLmJiCkBAIC0wLDAgKzEsMjYgQEAKK1NVTU1BUlkgPSAiRW5jaGFudCBTcGVsbCBjaGVja2VyIEFQSSBMaWJyYXJ5IHYyIgorU0VDVElPTiA9ICJsaWJzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9hYml3b3JkLmdpdGh1Yi5pby9lbmNoYW50LyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWE5MTY0NjdiOTEwNzZlNjMxZGQ4ZWRiNzQyNDc2OWM3IgorCitERVBFTkRTID0gImdsaWItMi4wIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vQWJpV29yZC9lbmNoYW50L3JlbGVhc2VzL2Rvd25sb2FkL3Yke1BWfS9lbmNoYW50LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI0YjhhYmI1OGUwMGU5MzM2MzU5MWIzZjVlYTRmNTJkNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYmQ4ZTkxNTY3NWNmZjU0YzBkNGRhNTAyOWQ5NWM1MjgzNjIyNjY1NTdjNjFjNzE0OWQ1M2ZhMDY5YjgwNzZkIgorCitTID0gIiR7V09SS0RJUn0vZW5jaGFudC0ke1BWfSIKKworRVhUUkFfT0VNQUtFID0gInBrZ2RhdGFkaXI9JHtkYXRhZGlyfS9lbmNoYW50LTIiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJodW5zcGVsbCIKK1BBQ0tBR0VDT05GSUdbYXNwZWxsXSAgPSAiLS13aXRoLWFzcGVsbCwtLXdpdGhvdXQtYXNwZWxsLGFzcGVsbCxhc3BlbGwiCitQQUNLQUdFQ09ORklHW2h1bnNwZWxsXSAgPSAiLS13aXRoLWh1bnNwZWxsLC0td2l0aG91dC1odW5zcGVsbCxodW5zcGVsbCxodW5zcGVsbCIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9lbmNoYW50LTIgXAorICAgICR7bGliZGlyfS9lbmNoYW50LTIgXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVhay1kYXRhXzEuNDguMDQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrLWRhdGFfMS40OC4wNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTRlNWQxNC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrLWRhdGFfMS40OC4wNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLXJlcXVpcmUgZXNwZWFrLmluYwotCi1pbmhlcml0IG5hdGl2ZQotCi1QQUNLQUdFUyA9ICIke1BOfSIKLUZJTEVTXyR7UE59ID0gIiR7bGF5b3V0X2RhdGFkaXJ9IgotCi1QQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgotVEFSR0VUX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgotCi1kb19jb21waWxlKCkgewotICAgICMgRml4aW5nIGJ5dGUgb3JkZXIgb2YgcGhvbmVtZSBkYXRhIGZpbGVzCi0gICAgY2QgIiR7U30vcGxhdGZvcm1zL2JpZ19lbmRpYW4iCi0gICAgc2VkIC1pICcvXiAqQ0MgKj0vZCcgTWFrZWZpbGUKLSAgICBzZWQgLWkgJ3MvXCguKkJZVEVfT1JERVJcKS8jdW5kZWYgQllURV9PUkRFUlxuI2RlZmluZSBCWVRFX09SREVSIEJJR19FTkRJQU5cblwxLycgZXNwZWFrLXBob25lbWUtZGF0YS5jCi0gICAgb2VfcnVubWFrZQotICAgIC4vZXNwZWFrLXBob25lbWUtZGF0YSAiJHtTfS9lc3BlYWstZGF0YSIgIi4iICIke1N9L2VzcGVhay1kYXRhL3Bob25kYXRhLW1hbmlmZXN0IgotICAgIGNwIC1mIHBob25kYXRhIHBob25pbmRleCBwaG9udGFiICIke1N9L2VzcGVhay1kYXRhIgotfQotCi1kb19pbnN0YWxsKCkgewotICAgIGluc3RhbGwgLWQgJHtEfSR7bGF5b3V0X2RhdGFkaXJ9L2VzcGVhay1kYXRhCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vZXNwZWFrLWRhdGEvcGhvbiogJHtEfSR7bGF5b3V0X2RhdGFkaXJ9L2VzcGVhay1kYXRhCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWsuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNDU0NTVjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWsuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiZVNwZWFrIGlzIGEgY29tcGFjdCBvcGVuIHNvdXJjZSBzb2Z0d2FyZSBzcGVlY2ggc3ludGhlc2l6ZXIiCi1TRUNUSU9OID0gImJhc2UiCi1MSUNFTlNFID0gIkdQTHYzIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTGljZW5zZS50eHQ7bWQ1PWNiN2EyMGVkYjRjOWY1ZjQ3OGRlNjUyM2RjZDczNjJjIgotCi1TUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L2VzcGVhay9lc3BlYWstMS40OC4wNC1zb3VyY2UuemlwIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLW9mLXNoYXJlZC1saWJyYXJ5LW9uLWFyY2hpdGVjdHVyZXMtbmVlZGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9lc3BlYWstMS40OC1nY2MtNi1maXgucGF0Y2ggXAotIgotU1JDX1VSSVttZDVzdW1dID0gImNhZGQ3NDgyZWFhZmU5MjM5NTQ2YmRjMDlmYTI0NGMzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImJmOWExNzY3M2FkZmZjYzI4ZmY3ZWExODc2NGYwNjEzNjU0N2U5N2JiZDllZGYyZWM2MTJmMDliMjA3ZjA2NTkiCi0KLVMgPSAiJHtXT1JLRElSfS9lc3BlYWstJHtQVn0tc291cmNlIgotCi1ERVBFTkRTID0gInBvcnRhdWRpby12MTkiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrXzEuNDguMDQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrXzEuNDguMDQuYmIKaW5kZXggNTdlMzBmMC4uNzhmOGY4NSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVha18xLjQ4LjA0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWtfMS40OC4wNC5iYgpAQCAtMSw4ICsxLDIwIEBACi1yZXF1aXJlIGVzcGVhay5pbmMKLWluaGVyaXQgc2l0ZWluZm8KK0RFU0NSSVBUSU9OID0gImVTcGVhayBpcyBhIGNvbXBhY3Qgb3BlbiBzb3VyY2Ugc29mdHdhcmUgc3BlZWNoIHN5bnRoZXNpemVyIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xpY2Vuc2UudHh0O21kNT1jYjdhMjBlZGI0YzlmNWY0NzhkZTY1MjNkY2Q3MzYyYyIKIAotRVhUUkFfUEhPTkVNRVMgPSAnJHtAYmIudXRpbHMuY29udGFpbnMoIlNJVEVJTkZPX0VORElBTk5FU1MiLCAiYmUiLCAgImVzcGVhay1kYXRhICg9ICR7UFZ9KSIsICIiLCBkKX0nCi1SREVQRU5EU18ke1BOfSA9ICJwb3J0YXVkaW8tdjE5ICR7RVhUUkFfUEhPTkVNRVN9IgorU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9lc3BlYWsvZXNwZWFrLTEuNDguMDQtc291cmNlLnppcCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC1vZi1zaGFyZWQtbGlicmFyeS1vbi1hcmNoaXRlY3R1cmVzLW5lZWRpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi10cl9sYW5ndWFnZXMtY2FzdC1zdHJpbmdfb3JkaW5hbC1pbml0LXZhbHVlcy5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiY2FkZDc0ODJlYWFmZTkyMzk1NDZiZGMwOWZhMjQ0YzMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmY5YTE3NjczYWRmZmNjMjhmZjdlYTE4NzY0ZjA2MTM2NTQ3ZTk3YmJkOWVkZjJlYzYxMmYwOWIyMDdmMDY1OSIKKworUyA9ICIke1dPUktESVJ9L2VzcGVhay0ke1BWfS1zb3VyY2UiCisKK0RFUEVORFMgPSAicG9ydGF1ZGlvLXYxOSBxZW11LWhlbHBlci1uYXRpdmUiCitpbmhlcml0IHNpdGVpbmZvIHFlbXUKKwogCiBDWFhGTEFHUyArPSAiLURVU0VfUE9SVEFVRElPIgogVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCkBAIC0xMSwxMiArMjMsMzAgQEAKIAogZG9fY29uZmlndXJlKCkgewogICAgICMgICJzcGVhayIgYmluYXJ5LCBhIFRUUyBlbmdpbmUsIHVzZXMgcG9ydGF1ZGlvIGluIGVpdGhlciBBUElzIFYxOCBvciBWMTksIHVzZSBWMTkKLSAgICBjcCAiJHtTfS9zcmMvcG9ydGF1ZGlvMTkuaCIgIiR7U30vc3JjL3BvcnRhdWRpby5oIgorICAgIGluc3RhbGwgLW0gMDY0NCAiJHtTfS9zcmMvcG9ydGF1ZGlvMTkuaCIgIiR7U30vc3JjL3BvcnRhdWRpby5oIgogfQogCiBkb19jb21waWxlKCkgewogICAgIGNkIHNyYwogICAgIG9lX3J1bm1ha2UKKworICAgIGNkICIke1N9L3BsYXRmb3Jtcy9iaWdfZW5kaWFuIgorICAgIHFlbXVfYmluYXJ5PSIke0BxZW11X3dyYXBwZXJfY21kbGluZShkLCAnJHtTVEFHSU5HX0RJUl9UQVJHRVR9JywgWycke1N9L3BsYXRmb3Jtcy9iaWdfZW5kaWFuJywgJyR7U1RBR0lOR19ESVJfVEFSR0VUfSR7YmFzZV9saWJkaXJ9J10pfSIKKyAgICBjYXQgPnFlbXV3cmFwcGVyIDw8RU9GCisjIS9iaW4vc2gKKyRxZW11X2JpbmFyeSAiXCRAIgorRU9GCisgICAgY2htb2QgK3ggcWVtdXdyYXBwZXIKKyAgICBzZWQgLWkgJy9eICpDQyAqPS9kJyBNYWtlZmlsZQorICAgICMgRml4aW5nIGJ5dGUgb3JkZXIgb2YgcGhvbmVtZSBkYXRhIGZpbGVzCisgICAgaWYgWyAiJHtTSVRFSU5GT19FTkRJQU5ORVNTfSIgPSAiYmUiIF07IHRoZW4KKyAgICAgICAgc2VkIC1pICdzL1woLipCWVRFX09SREVSXCkvI3VuZGVmIEJZVEVfT1JERVJcbiNkZWZpbmUgQllURV9PUkRFUiBCSUdfRU5ESUFOXG5cMS8nIGVzcGVhay1waG9uZW1lLWRhdGEuYworICAgIGVsc2UKKyAgICAgICAgc2VkIC1pICdzL1woLipCWVRFX09SREVSXCkvI3VuZGVmIEJZVEVfT1JERVJcbiNkZWZpbmUgQllURV9PUkRFUiBMSVRUTEVfRU5ESUFOXG5cMS8nIGVzcGVhay1waG9uZW1lLWRhdGEuYworICAgIGZpCisgICAgb2VfcnVubWFrZQorICAgIC4vcWVtdXdyYXBwZXIgLi9lc3BlYWstcGhvbmVtZS1kYXRhICIke1N9L2VzcGVhay1kYXRhIiAiLiIgIiR7U30vZXNwZWFrLWRhdGEvcGhvbmRhdGEtbWFuaWZlc3QiCisgICAgY3AgLWYgcGhvbmRhdGEgcGhvbmluZGV4IHBob250YWIgIiR7U30vZXNwZWFrLWRhdGEiCiB9CiAKIGRvX2luc3RhbGwoKSB7CkBAIC0zMSwxMCArNjEsNyBAQAogICAgIGxuIC1zZiBlc3BlYWsvZXNwZWFrLmggJHtEfSR7aW5jbHVkZWRpcn0vCiAgICAgb2VfbGliaW5zdGFsbCAtc28gLUMgc3JjIGxpYmVzcGVhayAke0R9JHtsaWJkaXJ9CiAKLSAgICBpZiBbICIke1NJVEVJTkZPX0VORElBTk5FU1N9IiA9ICJiZSIgXSA7IHRoZW4KLSAgICAgICAgIyB0aGUgYmlnLWVuZGlhbiBwaG9uKiBmaWxlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIHBhY2thZ2UgZXNwZWFrLWRhdGEKLSAgICAgICAgcm0gLWYgJHtTfS9lc3BlYWstZGF0YS9waG9uKgotICAgIGZpCi0KICAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAke1N9L2VzcGVhay1kYXRhLyogJHtEfSR7ZGF0YWRpcn0vZXNwZWFrLWRhdGEKIH0KKworUkRFUEVORFNfJHtQTn0gPSAicG9ydGF1ZGlvLXYxOSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9maWxlcy8wMDAyLXRyX2xhbmd1YWdlcy1jYXN0LXN0cmluZ19vcmRpbmFsLWluaXQtdmFsdWVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2ZpbGVzLzAwMDItdHJfbGFuZ3VhZ2VzLWNhc3Qtc3RyaW5nX29yZGluYWwtaW5pdC12YWx1ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2VmMzYwZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9maWxlcy8wMDAyLXRyX2xhbmd1YWdlcy1jYXN0LXN0cmluZ19vcmRpbmFsLWluaXQtdmFsdWVzLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb20gNDUxMzMwZDA5YTZhMzUwMGI0MGJjNGY1ODk2YmE3OTBhYjQ2Y2Q2YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvbWFpbiBOYW91ciA8cm9tYWluLm5hb3VyQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMTUgSmFuIDIwMTcgMTk6Mzc6MzEgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIHRyX2xhbmd1YWdlczogY2FzdCBzdHJpbmdfb3JkaW5hbCBpbml0IHZhbHVlcworCitPbiBzb21lIGFyY2hpdGVjdHVyZSwgImNoYXIiIGlzIHNpZ25lZCAoeDg2XzY0LCBuaW9zMi4uLikgc28gdGhlCitjb21waWxlciB0cnkgdG8gY29udmVydCBpbnQgMHhjMiBhbmQgMHhiYSB0byBhIHNpZ25lZCBjaGFyLgorVGhpcyBpcyBhbiBlcnJvciBzaW5jZSBnY2M2IChXbmFycm93aW5nKS4KKworRml4ZXM6CitodHRwOi8vYXV0b2J1aWxkLmJ1aWxkcm9vdC5uZXQvcmVzdWx0cy9iYWUvYmFlZjk4ODhiMTk3OWQxODE3MTY2OGE2NzU5ODVlM2YzYjQ1ZmRhNgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2ltcG9ydGVkIGZyb20gQlJdCitTaWduZWQtb2ZmLWJ5OiBSb21haW4gTmFvdXIgPHJvbWFpbi5uYW91ckBnbWFpbC5jb20+CistLS0KKyBzcmMvdHJfbGFuZ3VhZ2VzLmNwcCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy90cl9sYW5ndWFnZXMuY3BwIGIvc3JjL3RyX2xhbmd1YWdlcy5jcHAKK2luZGV4IDVjODAyODYuLmRiYzZlMzYgMTAwNjQ0CistLS0gYS9zcmMvdHJfbGFuZ3VhZ2VzLmNwcAorKysrIGIvc3JjL3RyX2xhbmd1YWdlcy5jcHAKK0BAIC0yMDAsNyArMjAwLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IGNoYXJzX2lnbm9yZV96d25qX2h5cGhlbltdID0geworIAkweDIwMGQsICAxLCAvLyB6ZXJvIHdpZHRoIGpvaW5lcgorIAkwLCAwIH07CisgCistY29uc3QgY2hhciBzdHJpbmdfb3JkaW5hbFtdID0gezB4YzIsMHhiYSwwfTsgIC8vIG1hc2N1bGluZSBvcmRpbmFsIGNoYXJhY3RlciwgVVRGLTgKKytjb25zdCBjaGFyIHN0cmluZ19vcmRpbmFsW10gPSB7KGNoYXIpMHhjMiwoY2hhcikweGJhLDB9OyAgLy8gbWFzY3VsaW5lIG9yZGluYWwgY2hhcmFjdGVyLCBVVEYtOAorIAorIAorIHN0YXRpYyBUcmFuc2xhdG9yKiBOZXdUcmFuc2xhdG9yKHZvaWQpCistLSAKKzIuOS4zCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9maWxlcy9lc3BlYWstMS40OC1nY2MtNi1maXgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZmlsZXMvZXNwZWFrLTEuNDgtZ2NjLTYtZml4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZTU5Yzc4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9maWxlcy9lc3BlYWstMS40OC1nY2MtNi1maXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1kaWZmIC0tZ2l0IGEvc3JjL3RyX2xhbmd1YWdlcy5jcHAgYi9zcmMvdHJfbGFuZ3VhZ2VzLmNwcAotLS0tIGEvc3JjL3RyX2xhbmd1YWdlcy5jcHAKLSsrKyBiL3NyYy90cl9sYW5ndWFnZXMuY3BwCi1AQCAtMTk4LDcgKzE5OCw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzaG9ydCBjaGFyc19pZ25vcmVfendual9oeXBoZW5bXSA9IHsKLSAJMHgyMDBkLCAgMSwgLy8gemVybyB3aWR0aCBqb2luZXIKLSAJMCwgMCB9OwotIAotLWNvbnN0IGNoYXIgc3RyaW5nX29yZGluYWxbXSA9IHsweGMyLDB4YmEsMH07ICAvLyBtYXNjdWxpbmUgb3JkaW5hbCBjaGFyYWN0ZXIsIFVURi04Ci0rY29uc3QgY2hhciBzdHJpbmdfb3JkaW5hbFtdID0geydceGMyJywnXHhiYScsMH07ICAvLyBtYXNjdWxpbmUgb3JkaW5hbCBjaGFyYWN0ZXIsIFVURi04Ci0gCi0gCi0gc3RhdGljIFRyYW5zbGF0b3IqIE5ld1RyYW5zbGF0b3Iodm9pZCkKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZhcnNpZ2h0L2xpYm5pY2VfMC4xLjE0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmFyc2lnaHQvbGlibmljZV8wLjEuMTQuYmIKaW5kZXggNzc1MjU3Zi4uOTY3YmVlYiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmFyc2lnaHQvbGlibmljZV8wLjEuMTQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmFyc2lnaHQvbGlibmljZV8wLjEuMTQuYmIKQEAgLTE1LDE1ICsxNSwxNiBAQAogCiBQQUNLQUdFQ09ORklHID8/PSAiZ3N0cmVhbWVyMS4wIgogUEFDS0FHRUNPTkZJR1tndXBucF0gPSAiLS1lbmFibGUtZ3VwbnAsLS1kaXNhYmxlLWd1cG5wLGd1cG5wLWlnZCIKLVBBQ0tBR0VDT05GSUdbZ3N0cmVhbWVyMC4xMF0gPSAiLS13aXRoLWdzdHJlYW1lci0wLjEwLC0td2l0aG91dC1nc3RyZWFtZXItMC4xMCxnc3RyZWFtZXIgZ3N0LXBsdWdpbnMtYmFzZSIKIFBBQ0tBR0VDT05GSUdbZ3N0cmVhbWVyMS4wXSA9ICItLXdpdGgtZ3N0cmVhbWVyLC0td2l0aG91dC1nc3RyZWFtZXIsZ3N0cmVhbWVyMS4wIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UiCiAKIGluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbgogCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyouc28gJHtsaWJkaXJ9L2dzdHJlYW1lci0xLjAvKi5zbyIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyoubGEgJHtsaWJkaXJ9L2dzdHJlYW1lci0xLjAvKi5sYSIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyouYSAke2xpYmRpcn0vZ3N0cmVhbWVyLTEuMC8qLmEiCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8uZGVidWcgJHtsaWJkaXJ9L2dzdHJlYW1lci0xLjAvLmRlYnVnIgorRVhUUkFfT0VDT05GICs9ICItLXdpdGhvdXQtZ3N0cmVhbWVyLTAuMTAiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTEuMC8qLnNvIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTEuMC8qLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTEuMC8qLmEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMS4wLy5kZWJ1ZyIKIAogZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CiAgICAgbWtkaXIgJHtTfS9tNCB8fCB0cnVlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHAvMDAwMS1GaXgtZ3N0cmVhbWVyLTEuMC1kZXRlY3Rpb24ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHAvMDAwMS1GaXgtZ3N0cmVhbWVyLTEuMC1kZXRlY3Rpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1NjdjYmEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwLzAwMDEtRml4LWdzdHJlYW1lci0xLjAtZGV0ZWN0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotRnJvbSAzNjg5ODk1MjZjMzJjZGY5ZDY4MGEzOTdmZWRlM2NiNzczZmEyNjA5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWlrZSBHaWxiZXJ0IDxmbG9wcHltQGdlbnRvby5vcmc+Ci1EYXRlOiBGcmksIDI4IEp1bCAyMDE3IDE2OjMxOjQxIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBnc3RyZWFtZXItMS4wIGRldGVjdGlvbgotCi1VcHN0cmVhbSBTdGF0ZTogQmFja3BvcnQKLQotLS0tCi0gY21ha2UvRmluZEdTdHJlYW1lcl8xXzAuY21ha2UgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jbWFrZS9GaW5kR1N0cmVhbWVyXzFfMC5jbWFrZSBiL2NtYWtlL0ZpbmRHU3RyZWFtZXJfMV8wLmNtYWtlCi1pbmRleCAzYWE4ZmM2Li42ZmJjMGVjIDEwMDY0NAotLS0tIGEvY21ha2UvRmluZEdTdHJlYW1lcl8xXzAuY21ha2UKLSsrKyBiL2NtYWtlL0ZpbmRHU3RyZWFtZXJfMV8wLmNtYWtlCi1AQCAtNTksNyArNTksNyBAQCBtYWNybyhGSU5EX0dTVFJFQU1FUl9DT01QT05FTlQgX2NvbXBvbmVudF9wcmVmaXggX3BrZ2NvbmZpZ19uYW1lIF9saWJyYXJ5KQotIAotICAgICBzdHJpbmcoUkVHRVggTUFUQ0ggIiguKik+PSguKikiIF9kdW1teSAiJHtfcGtnY29uZmlnX25hbWV9IikKLSAgICAgaWYgKCIke0NNQUtFX01BVENIXzJ9IiBTVFJFUVVBTCAiIikKLS0gICAgICAgIHBrZ19jaGVja19tb2R1bGVzKFBDXyR7X2NvbXBvbmVudF9wcmVmaXh9ICIke19wa2djb25maWdfbmFtZX0gPj0gJHtHU3RyZWFtZXJfRklORF9WRVJTSU9OfSIpCi0rICAgICAgICBwa2dfY2hlY2tfbW9kdWxlcyhQQ18ke19jb21wb25lbnRfcHJlZml4fSAiJHtfcGtnY29uZmlnX25hbWV9ID49ICR7R1NUUkVBTUVSXzFfMF9NSU5JTVVNX1ZFUlNJT059IikKLSAgICAgZWxzZSAoKQotICAgICAgICAgcGtnX2NoZWNrX21vZHVsZXMoUENfJHtfY29tcG9uZW50X3ByZWZpeH0gJHtfcGtnY29uZmlnX25hbWV9KQotICAgICBlbmRpZiAoKQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHAvd2lucHItbWFrZWNlcnQtQnVpbGQtd2l0aC1pbnN0YWxsLVJQQVRILnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwL3dpbnByLW1ha2VjZXJ0LUJ1aWxkLXdpdGgtaW5zdGFsbC1SUEFUSC5wYXRjaAppbmRleCAwZDdkY2MyLi4wZjZmNTc1IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHAvd2lucHItbWFrZWNlcnQtQnVpbGQtd2l0aC1pbnN0YWxsLVJQQVRILnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcC93aW5wci1tYWtlY2VydC1CdWlsZC13aXRoLWluc3RhbGwtUlBBVEgucGF0Y2gKQEAgLTEyLDEzICsxMiwxMyBAQAogIHdpbnByL3Rvb2xzL21ha2VjZXJ0LWNsaS9DTWFrZUxpc3RzLnR4dCB8IDMgKysrCiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQogCi1kaWZmIC0tZ2l0IGEvd2lucHIvdG9vbHMvbWFrZWNlcnQtY2xpL0NNYWtlTGlzdHMudHh0IGIvd2lucHIvdG9vbHMvbWFrZWNlcnQtY2xpL0NNYWtlTGlzdHMudHh0Ci1pbmRleCA3NGFmYTA5Li44ZDAwZWYxIDEwMDY0NAotLS0tIGEvd2lucHIvdG9vbHMvbWFrZWNlcnQtY2xpL0NNYWtlTGlzdHMudHh0Ci0rKysgYi93aW5wci90b29scy9tYWtlY2VydC1jbGkvQ01ha2VMaXN0cy50eHQKK0luZGV4OiBnaXQvd2lucHIvdG9vbHMvbWFrZWNlcnQtY2xpL0NNYWtlTGlzdHMudHh0Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvd2lucHIvdG9vbHMvbWFrZWNlcnQtY2xpL0NNYWtlTGlzdHMudHh0CisrKysgZ2l0L3dpbnByL3Rvb2xzL21ha2VjZXJ0LWNsaS9DTWFrZUxpc3RzLnR4dAogQEAgLTQ0LDYgKzQ0LDkgQEAgc2V0KCR7TU9EVUxFX1BSRUZJWH1fTElCUyB3aW5wci10b29scykKICAKLSB0YXJnZXRfbGlua19saWJyYXJpZXMoJHtNT0RVTEVfTkFNRX0gJHske01PRFVMRV9QUkVGSVh9X0xJQlN9KQorIHRhcmdldF9saW5rX2xpYnJhcmllcygke01PRFVMRV9OQU1FfSAkeyR7TU9EVUxFX1BSRUZJWH1fTElCU30gd2lucHIpCiAgCiArc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7TU9EVUxFX05BTUV9IFBST1BFUlRJRVMKICsgICAgICAgQlVJTERfV0lUSF9JTlNUQUxMX1JQQVRIIDEpCkBAIC0yNiw2ICsyNiwzIEBACiAgc2V0X3Byb3BlcnR5KFRBUkdFVCAke01PRFVMRV9OQU1FfSBQUk9QRVJUWSBGT0xERVIgIldpblBSL1Rvb2xzIikKICAKICBpbnN0YWxsKFRBUkdFVFMgJHtNT0RVTEVfTkFNRX0gREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0JJTkRJUn0gQ09NUE9ORU5UIHRvb2xzIEVYUE9SVCBXaW5QUlRhcmdldHMpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcF9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHBfZ2l0LmJiCmluZGV4IDg4YWVjOWMuLjM3M2M0OTcgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcF9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwX2dpdC5iYgpAQCAtMTMsMTAgKzEzLDEwIEBACiBQViA9ICIyLjAuMCtnaXRyJHtTUkNQVn0iCiBQS0dWID0gIiR7R0lUUEtHVlRBR30iCiAKLVNSQ1JFViA9ICIxNjQ4ZGViNDM1YWQ1MjIwNmY3YWEyYWZlNGI0ZGZmNzFkOTMyOWJjIgorIyAyLjAuMC1yYzQKK1NSQ1JFViA9ICJlMjFiNzJjOTVmODU3ODE3YjRiMzJiNWVmNTQwNjM1NWMwMDVhOWU4IgogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0ZyZWVSRFAvRnJlZVJEUC5naXQgXAogICAgIGZpbGU6Ly93aW5wci1tYWtlY2VydC1CdWlsZC13aXRoLWluc3RhbGwtUlBBVEgucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAxLUZpeC1nc3RyZWFtZXItMS4wLWRldGVjdGlvbi5wYXRjaCBcCiAiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mdW5jdGlvbjIvZnVuY3Rpb24yXzQuMC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnVuY3Rpb24yL2Z1bmN0aW9uMl80LjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTZhMjVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnVuY3Rpb24yL2Z1bmN0aW9uMl80LjAuMC5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkltcHJvdmVkIGRyb3AtaW4gcmVwbGFjZW1lbnQgZm9yIHN0ZDo6ZnVuY3Rpb24iCitERVNDUklQVElPTiA9ICJQcm92aWRlcyBpbXByb3ZlZCBpbXBsZW1lbnRhdGlvbnMgb2Ygc3RkOjpmdW5jdGlvbi4iCitIT01FUEFHRSA9ICJodHRwczovL25haW9zLmdpdGh1Yi5pby9mdW5jdGlvbjIiCitMSUNFTlNFID0gIkJTTC0xLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9ZTQyMjRjY2FlY2IxNGQ5NDJjNzFkMzFiZWYyMGQ3OGMiCitTUkNSRVYgPSAiZDJhY2RiNmMzYzc2MTJhNjEzM2NkMDM0NjRlZjk0MTE2MTI1OGY0ZSIKK1BWIC49ICIrZ2l0JHtTUkNQVn0iCisKK1NSQ19VUkkgKz0gImdpdHNtOi8vZ2l0aHViLmNvbS9OYWlvcy9mdW5jdGlvbjIiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgY21ha2UKK2luaGVyaXQgcHRlc3QKKworIyBJbnN0YWxscyBzb21lIGRhdGEgdG8gaW5jb3JyZWN0IHRvcC1sZXZlbCAvdXNyIGRpcmVjdG9yeQorZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJbWtkaXIgLXAgJHtEfS8ke2RhdGFkaXJ9L2Z1bmN0aW9uMgorCW12ICR7RH0vJHtwcmVmaXh9L1JlYWRtZS5tZCAke0R9LyR7ZGF0YWRpcn0vZnVuY3Rpb24yLworCW12ICR7RH0vJHtwcmVmaXh9L0xJQ0VOU0UudHh0ICR7RH0vJHtkYXRhZGlyfS9mdW5jdGlvbjIvCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbnVsaWIvZ251bGliL0NWRS0yMDE4LTE3OTQyLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ251bGliL2dudWxpYi9DVkUtMjAxOC0xNzk0Mi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzdlODJiMS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbnVsaWIvZ251bGliL0NWRS0yMDE4LTE3OTQyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODggKzAsMCBAQAotRnJvbSBlOTE2MDBhN2FhZTNiYWZiZWZiZTEzYWJmNzcxZTYxYmFkZDE2Mjg2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLURhdGU6IFR1ZSwgMTYgT2N0IDIwMTggMTQ6MjY6MTEgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gdmFzbnByaW50ZjogRml4IGhlYXAgbWVtb3J5IG92ZXJydW4gYnVnLgotCi1SZXBvcnRlZCBieSBCZW4gUGZhZmYgPGJscEBjcy5zdGFuZm9yZC5lZHU+IGluCi08aHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9idWctZ251bGliLzIwMTgtMDkvbXNnMDAxMDcuaHRtbD4uCi0KLSogbGliL3Zhc25wcmludGYuYyAoY29udmVydF90b19kZWNpbWFsKTogQWxsb2NhdGUgb25lIG1vcmUgYnl0ZSBvZgotbWVtb3J5LgotKiB0ZXN0cy90ZXN0LXZhc25wcmludGYuYyAodGVzdF9mdW5jdGlvbik6IEFkZCBhbm90aGVyIHRlc3QuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHA6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9naXR3ZWIvP3A9Z251bGliLmdpdDsKLWE9Y29tbWl0ZGlmZjtoPTI3OGI0MTc1YzlkN2RkNDdjMWEzMDcxNTU0YWFjMDJhZGQzYjNjMzVdCi0KLUNWRTogQ1ZFLTIwMTgtMTc5NDIKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIENoYW5nZUxvZyAgICAgICAgICAgICAgIHwgIDggKysrKysrKysKLSBsaWIvdmFzbnByaW50Zi5jICAgICAgICB8ICA0ICsrKy0KLSB0ZXN0cy90ZXN0LXZhc25wcmludGYuYyB8IDE5ICsrKysrKysrKysrKysrKysrKy0KLSAzIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKLWluZGV4IDk4NjQzNTMuLjVmZjc2YTMgMTAwNjQ0Ci0tLS0gYS9DaGFuZ2VMb2cKLSsrKyBiL0NoYW5nZUxvZwotQEAgLTEsMyArMSwxMSBAQAotKzIwMTgtMDktMjMgIEJydW5vIEhhaWJsZSAgPGJydW5vQGNsaXNwLm9yZz4KLSsgCXZhc25wcmludGY6IEZpeCBoZWFwIG1lbW9yeSBvdmVycnVuIGJ1Zy4KLSsJUmVwb3J0ZWQgYnkgQmVuIFBmYWZmIDxibHBAY3Muc3RhbmZvcmQuZWR1PiBpbgotKwk8aHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9idWctZ251bGliLzIwMTgtMDkvbXNnMDAxMDcuaHRtbD4uCi0rCSogbGliL3Zhc25wcmludGYuYyAoY29udmVydF90b19kZWNpbWFsKTogQWxsb2NhdGUgb25lIG1vcmUgYnl0ZSBvZgotKwltZW1vcnkuCi0rCSogdGVzdHMvdGVzdC12YXNucHJpbnRmLmMgKHRlc3RfZnVuY3Rpb24pOiBBZGQgYW5vdGhlciB0ZXN0LgotKwotIDIwMTctMDgtMjEgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgotIAotIAl2Yy1saXN0LWZpbGVzOiBwb3J0IHRvIFNvbGFyaXMgMTAKLWRpZmYgLS1naXQgYS9saWIvdmFzbnByaW50Zi5jIGIvbGliL3Zhc25wcmludGYuYwotaW5kZXggMmU0ZWIxOS4uNDVkZTQ5ZiAxMDA2NDQKLS0tLSBhL2xpYi92YXNucHJpbnRmLmMKLSsrKyBiL2xpYi92YXNucHJpbnRmLmMKLUBAIC04NjAsNyArODYwLDkgQEAgY29udmVydF90b19kZWNpbWFsIChtcG5fdCBhLCBzaXplX3QgZXh0cmFfemVyb2VzKQotICAgc2l6ZV90IGFfbGVuID0gYS5ubGltYnM7Ci0gICAvKiAwLjAzMzQ1IGlzIHNsaWdodGx5IGxhcmdlciB0aGFuIGxvZygyKS8oOSpsb2coMTApKS4gICovCi0gICBzaXplX3QgY19sZW4gPSA5ICogKChzaXplX3QpKGFfbGVuICogKEdNUF9MSU1CX0JJVFMgKiAwLjAzMzQ1ZikpICsgMSk7Ci0tICBjaGFyICpjX3B0ciA9IChjaGFyICopIG1hbGxvYyAoeHN1bSAoY19sZW4sIGV4dHJhX3plcm9lcykpOwotKyAgLyogV2UgbmVlZCBleHRyYV96ZXJvZXMgYnl0ZXMgZm9yIHplcm9lcywgZm9sbG93ZWQgYnkgY19sZW4gYnl0ZXMgZm9yIHRoZQotKyAgICAgZGlnaXRzIG9mIGEsIGZvbGxvd2VkIGJ5IDEgYnl0ZSBmb3IgdGhlIHRlcm1pbmF0aW5nIE5VTC4gICovCi0rICBjaGFyICpjX3B0ciA9IChjaGFyICopIG1hbGxvYyAoeHN1bSAoeHN1bSAoZXh0cmFfemVyb2VzLCBjX2xlbiksIDEpKTsKLSAgIGlmIChjX3B0ciAhPSBOVUxMKQotICAgICB7Ci0gICAgICAgY2hhciAqZF9wdHIgPSBjX3B0cjsKLWRpZmYgLS1naXQgYS90ZXN0cy90ZXN0LXZhc25wcmludGYuYyBiL3Rlc3RzL3Rlc3QtdmFzbnByaW50Zi5jCi1pbmRleCAyZGQ4NjlmLi5mZjY4ZDVjIDEwMDY0NAotLS0tIGEvdGVzdHMvdGVzdC12YXNucHJpbnRmLmMKLSsrKyBiL3Rlc3RzL3Rlc3QtdmFzbnByaW50Zi5jCi1AQCAtNTMsNyArNTMsMjQgQEAgdGVzdF9mdW5jdGlvbiAoY2hhciAqICgqbXlfYXNucHJpbnRmKSAoY2hhciAqLCBzaXplX3QgKiwgY29uc3QgY2hhciAqLCAuLi4pKQotICAgICAgIEFTU0VSVCAocmVzdWx0ICE9IE5VTEwpOwotICAgICAgIEFTU0VSVCAoc3RyY21wIChyZXN1bHQsICIxMjM0NSIpID09IDApOwotICAgICAgIEFTU0VSVCAobGVuZ3RoID09IDUpOwotLSAgICAgIGlmIChzaXplIDwgNikKLSsgICAgICBpZiAoc2l6ZSA8IDUgKyAxKQotKyAgICAgICAgQVNTRVJUIChyZXN1bHQgIT0gYnVmKTsKLSsgICAgICBBU1NFUlQgKG1lbWNtcCAoYnVmICsgc2l6ZSwgJiJERUFEQkVFRiJbc2l6ZV0sIDggLSBzaXplKSA9PSAwKTsKLSsgICAgICBpZiAocmVzdWx0ICE9IGJ1ZikKLSsgICAgICAgIGZyZWUgKHJlc3VsdCk7Ci0rICAgIH0KLSsgICAvKiBOb3RlOiBUaGlzIHRlc3QgYXNzdW1lcyBJRUVFIDc1NCByZXByZXNlbnRhdGlvbiBvZiAnZG91YmxlJyBmbG9hdHMuICAqLwotKyAgZm9yIChzaXplID0gMDsgc2l6ZSA8PSA4OyBzaXplKyspCi0rICAgIHsKLSsgICAgICBzaXplX3QgbGVuZ3RoOwotKyAgICAgIGNoYXIgKnJlc3VsdDsKLSsgICAgICAgbWVtY3B5IChidWYsICJERUFEQkVFRiIsIDgpOwotKyAgICAgIGxlbmd0aCA9IHNpemU7Ci0rICAgICAgcmVzdWx0ID0gbXlfYXNucHJpbnRmIChidWYsICZsZW5ndGgsICIlMi4wZiIsIDEuNjMxNDE1OTI2NTM1ODk3OWUrMTI1KTsKLSsgICAgICBBU1NFUlQgKHJlc3VsdCAhPSBOVUxMKTsKLSsgICAgICBBU1NFUlQgKHN0cmNtcCAocmVzdWx0LCAiMTYzMTQxNTkyNjUzNTg5NzkwMjE1NzI5MzUwOTM5NTI4NDkzMDU3NTI5NTk4ODk5NzM0MTUxNzcyNDY4MTg2MjY4NDIzMjU3Nzc3MDY4NTM2NjE0ODM4Njc4MTYxMDgzNTIwNzU2OTUyMDc2MjczMDk0MjM2OTQ0OTkwMjA4IikgPT0gMCk7Ci0rICAgICAgQVNTRVJUIChsZW5ndGggPT0gMTI2KTsKLSsgICAgICBpZiAoc2l6ZSA8IDEyNiArIDEpCi0gICAgICAgICBBU1NFUlQgKHJlc3VsdCAhPSBidWYpOwotICAgICAgIEFTU0VSVCAobWVtY21wIChidWYgKyBzaXplLCAmIkRFQURCRUVGIltzaXplXSwgOCAtIHNpemUpID09IDApOwotICAgICAgIGlmIChyZXN1bHQgIT0gYnVmKQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbnVsaWIvZ251bGliXzIwMTctMDgtMjAuMTguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbnVsaWIvZ251bGliXzIwMTctMDgtMjAuMTguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwNDg4MTAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ251bGliL2dudWxpYl8yMDE3LTA4LTIwLjE4LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotU1VNTUFSWSA9ICJUaGUgR05VIHBvcnRhYmlsaXR5IGxpYnJhcnkiCi1ERVNDUklQVElPTiA9ICJBIGNvbGxlY3Rpb24gb2Ygc29mdHdhcmUgc3Vicm91dGluZXMgd2hpY2ggYXJlIGRlc2lnbmVkIHRvIFwKLWJlIHVzYWJsZSBvbiBtYW55IG9wZXJhdGluZyBzeXN0ZW1zLiBUaGUgZ29hbCBvZiB0aGUgcHJvamVjdCBcCi1pcyB0byBtYWtlIGl0IGVhc3kgZm9yIGZyZWUgc29mdHdhcmUgYXV0aG9ycyB0byBtYWtlIHRoZWlyIFwKLXNvZnR3YXJlIHJ1biBvbiBtYW55IG9wZXJhdGluZyBzeXN0ZW1zLiBTaW5jZSBzb3VyY2UgaXMgZGVzaWduZWQgXAotdG8gYmUgY29waWVkIGZyb20gZ251bGliLCBpdCBpcyBub3QgYSBsaWJyYXJ5IHBlci1zZSwgYXMgbXVjaCBcCi1hcyBhIGNvbGxlY3Rpb24gb2YgcG9ydGFibGUgaWRpb21zIHRvIGJlIHVzZWQgaW4gb3RoZXIgcHJvamVjdHMuIgotCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ251bGliLyIKLVNFQ1RJT04gPSAiZGV2ZWwiCi1MSUNFTlNFID0gIkxHUEx2MisiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU2YTIyYTZlNWJjY2U0NWUyYzhhYzE4NGY4MTQxMmI1IgotU1JDUkVWID0gImIyMzAwMGRlMWU0N2M3ZDU4MGUwZTIyMDk2NmRkMWVlNDJhNWU1YmMiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnN2LmdudS5vcmcvZ251bGliO3Byb3RvY29sPWdpdCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xNzk0Mi5wYXRjaCBcCi0iCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWRvX2luc3RhbGwgKCkgewotICAgIGNkICR7U30KLSAgICBnaXQgY2hlY2tvdXQgbWFzdGVyCi0gICAgZ2l0IGNsb25lICR7U30gJHtEfS8ke2RhdGFkaXJ9L2dudWxpYgotICAgIGNkICR7RH0vJHtkYXRhZGlyfS9nbnVsaWIKLSAgICBnaXQgYW0gJHtXT1JLRElSfS9DVkUtMjAxOC0xNzk0Mi5wYXRjaAotfQotCi1kb19wYXRjaFtub2V4ZWNdID0gIjEiCi1kb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgotZG9fY29tcGlsZVtub2V4ZWNdID0gIjEiCi1kb19wYWNrYWdlW25vZXhlY10gPSAiMSIKLWRvX3BhY2thZ2VkYXRhW25vZXhlY10gPSAiMSIKLWRlbHRhc2sgcGFja2FnZV93cml0ZV9pcGsKLWRlbHRhc2sgcGFja2FnZV93cml0ZV9kZWIKLWRlbHRhc2sgcGFja2FnZV93cml0ZV9ycG0KLWRlbHRhc2sgZG9fZGVwbG95X2FyY2hpdmVzIAotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dudWxpYi9nbnVsaWJfMjAxOC0wMy0wNy4wMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dudWxpYi9nbnVsaWJfMjAxOC0wMy0wNy4wMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDY3NDdlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ251bGliL2dudWxpYl8yMDE4LTAzLTA3LjAzLmJiCkBAIC0wLDAgKzEsNDAgQEAKK1NVTU1BUlkgPSAiVGhlIEdOVSBwb3J0YWJpbGl0eSBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiQSBjb2xsZWN0aW9uIG9mIHNvZnR3YXJlIHN1YnJvdXRpbmVzIHdoaWNoIGFyZSBkZXNpZ25lZCB0byBcCitiZSB1c2FibGUgb24gbWFueSBvcGVyYXRpbmcgc3lzdGVtcy4gVGhlIGdvYWwgb2YgdGhlIHByb2plY3QgXAoraXMgdG8gbWFrZSBpdCBlYXN5IGZvciBmcmVlIHNvZnR3YXJlIGF1dGhvcnMgdG8gbWFrZSB0aGVpciBcCitzb2Z0d2FyZSBydW4gb24gbWFueSBvcGVyYXRpbmcgc3lzdGVtcy4gU2luY2Ugc291cmNlIGlzIGRlc2lnbmVkIFwKK3RvIGJlIGNvcGllZCBmcm9tIGdudWxpYiwgaXQgaXMgbm90IGEgbGlicmFyeSBwZXItc2UsIGFzIG11Y2ggXAorYXMgYSBjb2xsZWN0aW9uIG9mIHBvcnRhYmxlIGlkaW9tcyB0byBiZSB1c2VkIGluIG90aGVyIHByb2plY3RzLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2dudWxpYi8iCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJMR1BMdjIrIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NmEyMmE2ZTViY2NlNDVlMmM4YWMxODRmODE0MTJiNSIKK1NSQ1JFViA9ICIwZDZlMzMwN2JiZGI4ZGY0ZDU2MDQzZDVmMzczZWVlZmZlNGNiZWYzIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5zdi5nbnUub3JnL2dudWxpYi5naXQgXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IHV0aWxzCisKK2RvX2luc3RhbGwgKCkgeworICAgIGNkICR7U30KKyAgICBjaGVja19naXRfY29uZmlnCisgICAgZ2l0IGNoZWNrb3V0IG1hc3RlcgorICAgIGdpdCBjbG9uZSAke1N9ICR7RH0vJHtkYXRhZGlyfS9nbnVsaWIKK30KKworZG9fcGF0Y2hbbm9leGVjXSA9ICIxIgorZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKK2RvX2NvbXBpbGVbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZVtub2V4ZWNdID0gIjEiCitkb19wYWNrYWdlZGF0YVtub2V4ZWNdID0gIjEiCitkZWx0YXNrIHBhY2thZ2Vfd3JpdGVfaXBrCitkZWx0YXNrIHBhY2thZ2Vfd3JpdGVfZGViCitkZWx0YXNrIHBhY2thZ2Vfd3JpdGVfcnBtCitkZWx0YXNrIGRvX2RlcGxveV9hcmNoaXZlcyAKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncGVyZnRvb2xzL2dwZXJmdG9vbHNfMi43LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BlcmZ0b29scy9ncGVyZnRvb2xzXzIuNy5iYgppbmRleCBlOWZjYzRjLi5jOGI5MTI3IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncGVyZnRvb2xzL2dwZXJmdG9vbHNfMi43LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwZXJmdG9vbHMvZ3BlcmZ0b29sc18yLjcuYmIKQEAgLTI2LDQgKzI2LDUgQEAKICMge3N0YW5kYXJkIGlucHV0fTo0MzQ6IEVycm9yOiBsbyByZWdpc3RlciByZXF1aXJlZCAtLSBgbGRyIHBjLFtzcF0nCiAjIE1ha2VmaWxlOjQ1Mzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdzcmMvYmFzZS9saWJ0Y21hbGxvY19sYS1saW51eHRocmVhZHMubG8nIGZhaWxlZAogQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX3Rvb2xjaGFpbi1jbGFuZ19hcm0gPSAiYXJtIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzLzAwMDEtY3Jvc3MtY29tcGlsaW5nLXN1cHBvcnQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzLzAwMDEtY3Jvc3MtY29tcGlsaW5nLXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdmMTZiYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvMDAwMS1jcm9zcy1jb21waWxpbmctc3VwcG9ydC5wYXRjaApAQCAtMCwwICsxLDcxIEBACitGcm9tIDFiNGZhZGY1NTA1ODdiNDZlNDA1ZDdjY2I3NzdkY2IwMGFhNzkxYTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDE1OjM5OjE1ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMS8yXSBjcm9zcyBjb21waWxpbmcgc3VwcG9ydAorCitEbyBub3QgZ2VuZXJhdGUgY29uZmlnIGZpbGVzIGF0IGJ1aWxkIHRpbWUsIHVzZSBwcmUtZ2VuZXJhdGVkCitmaWxlcyB0byBpbnN0ZWFkLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBDTWFrZUxpc3RzLnR4dCAgICAgfCAgNiArKysrKysKKyBzcmMvQ01ha2VMaXN0cy50eHQgfCAyMyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDA4YTY1YzQuLjlhZjE0ZDUgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC04MTcsNCArODE3LDEwIEBAIGVuZGlmICgpCisgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgY29uZmlndXJlX2ZpbGUgKCR7SERGX1JFU09VUkNFU19ESVJ9L0g1cHViY29uZi5oLmluICR7SERGNV9CSU5BUllfRElSfS9INXB1YmNvbmYuaCBAT05MWSkKKyAKKysjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIENvcHkgdGhlIHByZS1nZW5lcmF0ZWQgZmlsZXMgaW4gcGxhY2UKKysjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytjb25maWd1cmVfZmlsZShINVRpbml0LmMgSDVUaW5pdC5jIENPUFlPTkxZKQorK2NvbmZpZ3VyZV9maWxlKEg1bGliX3NldHRpbmdzLmMgSDVsaWJfc2V0dGluZ3MuYyBDT1BZT05MWSkKKysKKyBpbmNsdWRlIChDTWFrZUluc3RhbGxhdGlvbi5jbWFrZSkKK2RpZmYgLS1naXQgYS9zcmMvQ01ha2VMaXN0cy50eHQgYi9zcmMvQ01ha2VMaXN0cy50eHQKK2luZGV4IGQzNDMyMDguLmQxMTUyNWIgMTAwNjQ0CistLS0gYS9zcmMvQ01ha2VMaXN0cy50eHQKKysrKyBiL3NyYy9DTWFrZUxpc3RzLnR4dAorQEAgLTYxMywzMiArNjEzLDkgQEAgc2V0IChINV9QUklWQVRFX0hFQURFUlMKKyAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBhZGRfZXhlY3V0YWJsZSAoSDVkZXRlY3QgJHtIREY1X1NSQ19ESVJ9L0g1ZGV0ZWN0LmMpCisgVEFSR0VUX0NfUFJPUEVSVElFUyAoSDVkZXRlY3QgU1RBVElDICIgIiAiICIpCistaWYgKE1TVkMgT1IgTUlOR1cpCistICB0YXJnZXRfbGlua19saWJyYXJpZXMgKEg1ZGV0ZWN0ICJ3czJfMzIubGliIikKKy1lbmRpZiAoKQorLQorLXNldCAoQ01EICQ8VEFSR0VUX0ZJTEU6SDVkZXRlY3Q+KQorLWFkZF9jdXN0b21fY29tbWFuZCAoCistICAgIE9VVFBVVCAke0hERjVfQklOQVJZX0RJUn0vSDVUaW5pdC5jCistICAgIENPTU1BTkQgJHtDTUR9CistICAgIEFSR1MgPiAke0hERjVfQklOQVJZX0RJUn0vSDVUaW5pdC5jCistICAgIERFUEVORFMgSDVkZXRlY3QKKy0pCisgCisgYWRkX2V4ZWN1dGFibGUgKEg1bWFrZV9saWJzZXR0aW5ncyAke0hERjVfU1JDX0RJUn0vSDVtYWtlX2xpYnNldHRpbmdzLmMpCisgVEFSR0VUX0NfUFJPUEVSVElFUyAoSDVtYWtlX2xpYnNldHRpbmdzIFNUQVRJQyAiICIgIiAiKQorLWlmIChNU1ZDIE9SIE1JTkdXKQorLSAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzIChINW1ha2VfbGlic2V0dGluZ3MgIndzMl8zMi5saWIiKQorLWVuZGlmICgpCistCistc2V0IChDTUQgJDxUQVJHRVRfRklMRTpINW1ha2VfbGlic2V0dGluZ3M+KQorLWFkZF9jdXN0b21fY29tbWFuZCAoCistICAgIE9VVFBVVCAke0hERjVfQklOQVJZX0RJUn0vSDVsaWJfc2V0dGluZ3MuYworLSAgICBDT01NQU5EICR7Q01EfQorLSAgICBBUkdTID4gJHtIREY1X0JJTkFSWV9ESVJ9L0g1bGliX3NldHRpbmdzLmMKKy0gICAgREVQRU5EUyBINW1ha2VfbGlic2V0dGluZ3MKKy0gICAgV09SS0lOR19ESVJFQ1RPUlkgJHtIREY1X0JJTkFSWV9ESVJ9CistKQorIAorIGlmIChHRU5FUkFURV9FUlJPUl9IRUFERVJTKQorICAgZmluZF9wYWNrYWdlIChQZXJsKQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzLzAwMDItUmVtb3ZlLXN1ZmZpeC1zaGFyZWQtZnJvbS1zaGFyZWQtbGlicmFyeS1uYW1lLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRmNS9maWxlcy8wMDAyLVJlbW92ZS1zdWZmaXgtc2hhcmVkLWZyb20tc2hhcmVkLWxpYnJhcnktbmFtZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Zjg5Mzc4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRmNS9maWxlcy8wMDAyLVJlbW92ZS1zdWZmaXgtc2hhcmVkLWZyb20tc2hhcmVkLWxpYnJhcnktbmFtZS5wYXRjaApAQCAtMCwwICsxLDUwIEBACitGcm9tIGY3NjE0MTg2NGVkZjcxMDBjMWMyOWJlYzE1OWVhNjI5MDc3YTdmYTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDExOjEzOjQyICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBSZW1vdmUgc3VmZml4IGAtc2hhcmVkJyBmcm9tIHNoYXJlZCBsaWJyYXJ5IG5hbWUKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgQ01ha2VMaXN0cy50eHQgfCAyNCArKysrKysrKysrKystLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCA5YWYxNGQ1Li4wNTEwMGUzIDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtMTUzLDE4ICsxNTMsMTggQEAgc2V0IChIREY1X0Y5MF9URVNUX0xJQl9UQVJHRVQgICAgICIke0hERjVfRjkwX1RFU1RfTElCX0NPUkVOQU1FfS1zdGF0aWMiKQorIHNldCAoSERGNV9GOTBfQ19URVNUX0xJQl9UQVJHRVQgICAiJHtIREY1X0Y5MF9DX1RFU1RfTElCX0NPUkVOQU1FfS1zdGF0aWMiKQorIHNldCAoSERGNV9ITF9GOTBfTElCX1RBUkdFVCAgICAgICAiJHtIREY1X0hMX0Y5MF9MSUJfQ09SRU5BTUV9LXN0YXRpYyIpCisgc2V0IChIREY1X0hMX0Y5MF9DX0xJQl9UQVJHRVQgICAgICIke0hERjVfSExfRjkwX0NfTElCX0NPUkVOQU1FfS1zdGF0aWMiKQorLXNldCAoSERGNV9MSUJTSF9UQVJHRVQgICAgICAgICAgICAiJHtIREY1X0xJQl9DT1JFTkFNRX0tc2hhcmVkIikKKy1zZXQgKEhERjVfVEVTVF9MSUJTSF9UQVJHRVQgICAgICAgIiR7SERGNV9URVNUX0xJQl9DT1JFTkFNRX0tc2hhcmVkIikKKy1zZXQgKEhERjVfQ1BQX0xJQlNIX1RBUkdFVCAgICAgICAgIiR7SERGNV9DUFBfTElCX0NPUkVOQU1FfS1zaGFyZWQiKQorLXNldCAoSERGNV9ITF9MSUJTSF9UQVJHRVQgICAgICAgICAiJHtIREY1X0hMX0xJQl9DT1JFTkFNRX0tc2hhcmVkIikKKy1zZXQgKEhERjVfSExfQ1BQX0xJQlNIX1RBUkdFVCAgICAgIiR7SERGNV9ITF9DUFBfTElCX0NPUkVOQU1FfS1zaGFyZWQiKQorLXNldCAoSERGNV9UT09MU19MSUJTSF9UQVJHRVQgICAgICAiJHtIREY1X1RPT0xTX0xJQl9DT1JFTkFNRX0tc2hhcmVkIikKKy1zZXQgKEhERjVfRjkwX0xJQlNIX1RBUkdFVCAgICAgICAgIiR7SERGNV9GOTBfTElCX0NPUkVOQU1FfS1zaGFyZWQiKQorLXNldCAoSERGNV9GOTBfQ19MSUJTSF9UQVJHRVQgICAgICAiJHtIREY1X0Y5MF9DX0xJQl9DT1JFTkFNRX0tc2hhcmVkIikKKy1zZXQgKEhERjVfRjkwX1RFU1RfTElCU0hfVEFSR0VUICAgIiR7SERGNV9GOTBfVEVTVF9MSUJfQ09SRU5BTUV9LXNoYXJlZCIpCistc2V0IChIREY1X0Y5MF9DX1RFU1RfTElCU0hfVEFSR0VUICIke0hERjVfRjkwX0NfVEVTVF9MSUJfQ09SRU5BTUV9LXNoYXJlZCIpCistc2V0IChIREY1X0hMX0Y5MF9MSUJTSF9UQVJHRVQgICAgICIke0hERjVfSExfRjkwX0xJQl9DT1JFTkFNRX0tc2hhcmVkIikKKy1zZXQgKEhERjVfSExfRjkwX0NfTElCU0hfVEFSR0VUICAgIiR7SERGNV9ITF9GOTBfQ19MSUJfQ09SRU5BTUV9LXNoYXJlZCIpCisrc2V0IChIREY1X0xJQlNIX1RBUkdFVCAgICAgICAgICAgICIke0hERjVfTElCX0NPUkVOQU1FfSIpCisrc2V0IChIREY1X1RFU1RfTElCU0hfVEFSR0VUICAgICAgICIke0hERjVfVEVTVF9MSUJfQ09SRU5BTUV9IikKKytzZXQgKEhERjVfQ1BQX0xJQlNIX1RBUkdFVCAgICAgICAgIiR7SERGNV9DUFBfTElCX0NPUkVOQU1FfSIpCisrc2V0IChIREY1X0hMX0xJQlNIX1RBUkdFVCAgICAgICAgICIke0hERjVfSExfTElCX0NPUkVOQU1FfSIpCisrc2V0IChIREY1X0hMX0NQUF9MSUJTSF9UQVJHRVQgICAgICIke0hERjVfSExfQ1BQX0xJQl9DT1JFTkFNRX0iKQorK3NldCAoSERGNV9UT09MU19MSUJTSF9UQVJHRVQgICAgICAiJHtIREY1X1RPT0xTX0xJQl9DT1JFTkFNRX0iKQorK3NldCAoSERGNV9GOTBfTElCU0hfVEFSR0VUICAgICAgICAiJHtIREY1X0Y5MF9MSUJfQ09SRU5BTUV9IikKKytzZXQgKEhERjVfRjkwX0NfTElCU0hfVEFSR0VUICAgICAgIiR7SERGNV9GOTBfQ19MSUJfQ09SRU5BTUV9IikKKytzZXQgKEhERjVfRjkwX1RFU1RfTElCU0hfVEFSR0VUICAgIiR7SERGNV9GOTBfVEVTVF9MSUJfQ09SRU5BTUV9IikKKytzZXQgKEhERjVfRjkwX0NfVEVTVF9MSUJTSF9UQVJHRVQgIiR7SERGNV9GOTBfQ19URVNUX0xJQl9DT1JFTkFNRX0iKQorK3NldCAoSERGNV9ITF9GOTBfTElCU0hfVEFSR0VUICAgICAiJHtIREY1X0hMX0Y5MF9MSUJfQ09SRU5BTUV9IikKKytzZXQgKEhERjVfSExfRjkwX0NfTElCU0hfVEFSR0VUICAgIiR7SERGNV9ITF9GOTBfQ19MSUJfQ09SRU5BTUV9IikKKyAKKyAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIERlZmluZSBzb21lIENNYWtlIHZhcmlhYmxlcyBmb3IgdXNlIGxhdGVyIGluIHRoZSBwcm9qZWN0CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvSDVUaW5pdC0zMi5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRmNS9maWxlcy9INVRpbml0LTMyLmMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODA1N2E3YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvSDVUaW5pdC0zMi5jCkBAIC0wLDAgKzEsOTc1IEBACisvKiBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBINWRldGVjdCAtLSBkbyBub3QgZWRpdCAqLworCisKKworLyogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqCisgKiBDb3B5cmlnaHQgYnkgVGhlIEhERiBHcm91cC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqIENvcHlyaWdodCBieSB0aGUgQm9hcmQgb2YgVHJ1c3RlZXMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMuICAgICAgICAgKgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEhERjUuICBUaGUgZnVsbCBIREY1IGNvcHlyaWdodCBub3RpY2UsIGluY2x1ZGluZyAgICAgKgorICogdGVybXMgZ292ZXJuaW5nIHVzZSwgbW9kaWZpY2F0aW9uLCBhbmQgcmVkaXN0cmlidXRpb24sIGlzIGNvbnRhaW5lZCBpbiAgICAqCisgKiB0aGUgQ09QWUlORyBmaWxlLCB3aGljaCBjYW4gYmUgZm91bmQgYXQgdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSBjb2RlICAgICAgICoKKyAqIGRpc3RyaWJ1dGlvbiB0cmVlLCBvciBpbiBodHRwczovL3N1cHBvcnQuaGRmZ3JvdXAub3JnL2Z0cC9IREY1L3JlbGVhc2VzLiAgKgorICogSWYgeW91IGRvIG5vdCBoYXZlIGFjY2VzcyB0byBlaXRoZXIgZmlsZSwgeW91IG1heSByZXF1ZXN0IGEgY29weSBmcm9tICAgICAqCisgKiBoZWxwQGhkZmdyb3VwLm9yZy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKgorICoKKyAqIENyZWF0ZWQ6CQlNYXIgIDUsIDIwMTkKKyAqCQkJcm9vdCA8cm9vdEBxZW11YXJtPgorICoKKyAqIFB1cnBvc2U6CQlUaGlzIG1hY2hpbmUtZ2VuZXJhdGVkIHNvdXJjZSBjb2RlIGNvbnRhaW5zCisgKgkJCWluZm9ybWF0aW9uIGFib3V0IHRoZSB2YXJpb3VzIGludGVnZXIgYW5kCisgKgkJCWZsb2F0aW5nIHBvaW50IG51bWVyaWMgZm9ybWF0cyBmb3VuZCBvbiB0aGlzCisgKgkJCWFyY2hpdGVjdHVyZS4gIFRoZSBwYXJhbWV0ZXJzIGJlbG93IHNob3VsZCBiZQorICoJCQljaGVja2VkIGNhcmVmdWxseSBhbmQgZXJyb3JzIHJlcG9ydGVkIHRvIHRoZQorICoJCQlIREY1IG1haW50YWluZXIuCisgKgkJCQorICoJCQlFYWNoIG9mIHRoZSBudW1lcmljIGZvcm1hdHMgbGlzdGVkIGJlbG93IGFyZQorICoJCQlwcmludGVkIGZyb20gbW9zdCBzaWduaWZpY2FudCBiaXQgdG8gbGVhc3QKKyAqCQkJc2lnbmlmaWNhbnQgYml0IGV2ZW4gdGhvdWdoIHRoZSBhY3R1YWwgYnl0ZXMKKyAqCQkJbWlnaHQgYmUgc3RvcmVkIGluIGEgZGlmZmVyZW50IG9yZGVyIGluCisgKgkJCW1lbW9yeS4JIFRoZSBpbnRlZ2VycyBhYm92ZSBlYWNoIGJpbmFyeSBieXRlCisgKgkJCWluZGljYXRlIHRoZSByZWxhdGl2ZSBvcmRlciBvZiB0aGUgYnl0ZXMgaW4KKyAqCQkJbWVtb3J5OyBsaXR0bGUtZW5kaWFuIG1hY2hpbmVzIGhhdmUKKyAqCQkJZGVjcmVhc2luZyBudW1iZXJzIHdoaWxlIGJpZy1lbmRpYW4gbWFjaGluZXMKKyAqCQkJaGF2ZSBpbmNyZWFzaW5nIG51bWJlcnMuCisgKgkJCQorICoJCQlUaGUgZmllbGRzIG9mIHRoZSBudW1iZXJzIGFyZSBwcmludGVkIGFzCisgKgkJCWxldHRlcnMgd2l0aCBgUycgZm9yIHRoZSBtYW50aXNzYSBzaWduIGJpdCwKKyAqCQkJYE0nIGZvciB0aGUgbWFudGlzc2EgbWFnbml0dWRlLCBhbmQgYEUnIGZvcgorICoJCQl0aGUgZXhwb25lbnQuICBUaGUgZXhwb25lbnQgaGFzIGFuIGFzc29jaWF0ZWQKKyAqCQkJYmlhcyB3aGljaCBjYW4gYmUgc3VidHJhY3RlZCB0byBmaW5kIHRoZQorICoJCQl0cnVlIGV4cG9uZW50LglUaGUgcmFkaXggcG9pbnQgaXMgYXNzdW1lZAorICoJCQl0byBiZSBiZWZvcmUgdGhlIGZpcnN0IGBNJyBiaXQuCSBBbnkgYml0CisgKgkJCW9mIGEgZmxvYXRpbmctcG9pbnQgdmFsdWUgbm90IGZhbGxpbmcgaW50byBvbmUKKyAqCQkJb2YgdGhlc2UgY2F0ZWdvcmllcyBpcyBwcmludGVkIGFzIGEgcXVlc3Rpb24KKyAqCQkJbWFyay4gIEJpdHMgb2YgaW50ZWdlciB0eXBlcyBhcmUgcHJpbnRlZCBhcworICoJCQlgSScgZm9yIDIncyBjb21wbGVtZW50IGFuZCBgVScgZm9yIG1hZ25pdHVkZS4KKyAqCQkJCisgKgkJCUlmIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBvZiB0aGUgbm9ybWFsaXplZAorICoJCQltYW50aXNzYSAoYWx3YXlzIGEgYDEnIGV4Y2VwdCBmb3IgYDAuMCcpIGlzCisgKgkJCW5vdCBzdG9yZWQgdGhlbiBhbiBgaW1wbGljaXQ9eWVzJyBhcHBlYXJzCisgKgkJCXVuZGVyIHRoZSBmaWVsZCBkZXNjcmlwdGlvbi4gIEluIHRoaWUgY2FzZSwKKyAqCQkJdGhlIHJhZGl4IHBvaW50IGlzIHN0aWxsIGFzc3VtZWQgdG8gYmUKKyAqCQkJYmVmb3JlIHRoZSBmaXJzdCBgTScgYnV0IGFmdGVyIHRoZSBpbXBsaWNpdAorICoJCQliaXQuCisgKgorICogTW9kaWZpY2F0aW9uczoKKyAqCisgKglETyBOT1QgTUFLRSBNT0RJRklDQVRJT05TIFRPIFRISVMgRklMRSEKKyAqCUl0IHdhcyBnZW5lcmF0ZWQgYnkgY29kZSBpbiBgSDVkZXRlY3QuYycuCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworLyoqKioqKioqKioqKioqKiovCisvKiBNb2R1bGUgU2V0dXAgKi8KKy8qKioqKioqKioqKioqKioqLworCisjZGVmaW5lIEg1VF9QQUNLQUdFIC8qc3VwcHJlc3MgZXJyb3IgYWJvdXQgaW5jbHVkaW5nIEg1VHBrZy5oKi8KKworCisvKioqKioqKioqKiovCisvKiBIZWFkZXJzICovCisvKioqKioqKioqKiovCisjaW5jbHVkZSAiSDVwcml2YXRlLmgiCQkvKiBHZW5lcmljIEZ1bmN0aW9ucwkJCSovCisjaW5jbHVkZSAiSDVFcHJpdmF0ZS5oIgkJLyogRXJyb3IgaGFuZGxpbmcJCSAgCSovCisjaW5jbHVkZSAiSDVGTHByaXZhdGUuaCIJLyogRnJlZSBMaXN0cwkJCQkqLworI2luY2x1ZGUgIkg1SXByaXZhdGUuaCIJCS8qIElEcwkJCSAgCQkqLworI2luY2x1ZGUgIkg1VHBrZy5oIgkJLyogRGF0YXR5cGVzIAkJCQkqLworCisKKy8qKioqKioqKioqKioqKioqLworLyogTG9jYWwgTWFjcm9zICovCisvKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqLworLyogTG9jYWwgVHlwZWRlZnMgKi8KKy8qKioqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKioqLworLyogUGFja2FnZSBUeXBlZGVmcyAqLworLyoqKioqKioqKioqKioqKioqKioqLworCisKKy8qKioqKioqKioqKioqKioqKioqKi8KKy8qIExvY2FsIFByb3RvdHlwZXMgKi8KKy8qKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKiovCisvKiBQdWJsaWMgVmFyaWFibGVzICovCisvKioqKioqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogTGlicmFyeSBQcml2YXRlIFZhcmlhYmxlcyAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKKy8qKioqKioqKioqKioqKioqKioqKiovCisvKiBQYWNrYWdlIFZhcmlhYmxlcyAqLworLyoqKioqKioqKioqKioqKioqKioqKi8KKworCisKKy8qKioqKioqKioqKioqKioqKioqLworLyogTG9jYWwgVmFyaWFibGVzICovCisvKioqKioqKioqKioqKioqKioqKi8KKworCisMCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIEZ1bmN0aW9uOglINVROX2luaXRfaW50ZXJmYWNlCisgKgorICogUHVycG9zZToJSW5pdGlhbGl6ZSBwcmUtZGVmaW5lZCBuYXRpdmUgZGF0YXR5cGVzIGZyb20gY29kZSBnZW5lcmF0ZWQKKyAqICAgICAgICAgICAgICBkdXJpbmcgdGhlIGxpYnJhcnkgY29uZmlndXJhdGlvbiBieSBINWRldGVjdC4KKyAqCisgKiBSZXR1cm46CVN1Y2Nlc3M6CW5vbi1uZWdhdGl2ZQorICoJCUZhaWx1cmU6CW5lZ2F0aXZlCisgKgorICogUHJvZ3JhbW1lcjoJUm9iYiBNYXR6a2UKKyAqICAgICAgICAgICAgICBXZWRuZXNkYXksIERlY2VtYmVyIDE2LCAxOTk4CisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KK2hlcnJfdAorSDVUTl9pbml0X2ludGVyZmFjZSh2b2lkKQoreworICAgIEg1VF90CSpkdCA9IE5VTEw7CisgICAgaGVycl90CXJldF92YWx1ZSA9IFNVQ0NFRUQ7CisKKyAgICBGVU5DX0VOVEVSX05PQVBJKEZBSUwpCisKKyAgIC8qCisgICAgKiAgICAwCisgICAgKiBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9TQ0hBUl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9TQ0hBUl9BTElHTl9nID0gMTsKKyAgICBINVRfTkFUSVZFX1NDSEFSX0NPTVBfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAwCisgICAgKiBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VQ0hBUl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VQ0hBUl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDE2OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9TSE9SVF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9TSE9SVF9BTElHTl9nID0gMTsKKyAgICBINVRfTkFUSVZFX1NIT1JUX0NPTVBfQUxJR05fZyA9IDI7CisKKyAgIC8qCisgICAgKiAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAxNjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVVNIT1JUX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VTSE9SVF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0FMSUdOX2cgPSAxOworICAgIEg1VF9OQVRJVkVfSU5UX0NPTVBfQUxJR05fZyA9IDQ7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0xPTkdfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfTE9OR19BTElHTl9nID0gMTsKKyAgICBINVRfTkFUSVZFX0xPTkdfQ09NUF9BTElHTl9nID0gNDsKKworICAgLyoKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VTE9OR19nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VTE9OR19BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDAKKyAgICAqIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAxOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVDhfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UOF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDAKKyAgICAqIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAxOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlQ4X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlQ4X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0xFQVNUOF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfTEVBU1Q4X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9MRUFTVDhfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9MRUFTVDhfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAwCisgICAgKiBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfRkFTVDhfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0ZBU1Q4X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9GQVNUOF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0ZBU1Q4X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMTY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVDE2X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVDE2X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMTY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlQxNl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UMTZfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAxNjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0xFQVNUMTZfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0xFQVNUMTZfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAxNjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9MRUFTVDE2X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfTEVBU1QxNl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfRkFTVDE2X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9GQVNUMTZfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9GQVNUMTZfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9GQVNUMTZfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UMzJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UMzJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVDMyX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlQzMl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfTEVBU1QzMl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfTEVBU1QzMl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UX0xFQVNUMzJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9MRUFTVDMyX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVF9GQVNUMzJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0ZBU1QzMl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UX0ZBU1QzMl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0ZBU1QzMl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UNjRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UNjRfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlQ2NF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UNjRfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVF9MRUFTVDY0X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9MRUFTVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UX0xFQVNUNjRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9MRUFTVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfRkFTVDY0X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9GQVNUNjRfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfRkFTVDY0X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfRkFTVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9MTE9OR19nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9MTE9OR19BTElHTl9nID0gMTsKKyAgICBINVRfTkFUSVZFX0xMT05HX0NPTVBfQUxJR05fZyA9IDg7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VMTE9OR19nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VTExPTkdfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBTRUVFRUVFRSBFTU1NTU1NTSBNTU1NTU1NTSBNTU1NTU1NTQorICAgICogSW1wbGljaXQgYml0PyB5ZXMKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0ZMT0FUOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuc2lnbiA9IDMxOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lcG9zID0gMjM7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmVzaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZWJpYXMgPSAweDAwMDAwMDdmOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5tcG9zID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubXNpemUgPSAyMzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubm9ybSA9IEg1VF9OT1JNX0lNUExJRUQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLnBhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBpZigoSDVUX05BVElWRV9GTE9BVF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9GTE9BVF9BTElHTl9nID0gMTsKKyAgICBINVRfTkFUSVZFX0ZMT0FUX0NPTVBfQUxJR05fZyA9IDQ7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBTRUVFRUVFRSBFRUVFTU1NTSBNTU1NTU1NTSBNTU1NTU1NTQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogTU1NTU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0KKyAgICAqIEltcGxpY2l0IGJpdD8geWVzCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9GTE9BVDsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLnNpZ24gPSA2MzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZXBvcyA9IDUyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lc2l6ZSA9IDExOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lYmlhcyA9IDB4MDAwMDAzZmY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm1wb3MgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5tc2l6ZSA9IDUyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5ub3JtID0gSDVUX05PUk1fSU1QTElFRDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYucGFkID0gSDVUX1BBRF9aRVJPOworICAgIGlmKChINVRfTkFUSVZFX0RPVUJMRV9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9ET1VCTEVfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9ET1VCTEVfQ09NUF9BTElHTl9nID0gODsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIFNFRUVFRUVFIEVFRUVNTU1NIE1NTU1NTU1NIE1NTU1NTU1NCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBNTU1NTU1NTSBNTU1NTU1NTSBNTU1NTU1NTSBNTU1NTU1NTQorICAgICogSW1wbGljaXQgYml0PyB5ZXMKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0ZMT0FUOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuc2lnbiA9IDYzOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lcG9zID0gNTI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmVzaXplID0gMTE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmViaWFzID0gMHgwMDAwMDNmZjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubXBvcyA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm1zaXplID0gNTI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm5vcm0gPSBINVRfTk9STV9JTVBMSUVEOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5wYWQgPSBINVRfUEFEX1pFUk87CisgICAgaWYoKEg1VF9OQVRJVkVfTERPVUJMRV9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9MRE9VQkxFX0FMSUdOX2cgPSAxOworICAgIEg1VF9OQVRJVkVfTERPVUJMRV9DT01QX0FMSUdOX2cgPSA4OworCisgICAgLyogU2V0IHRoZSBuYXRpdmUgb3JkZXIgZm9yIHRoaXMgbWFjaGluZSAqLworICAgIEg1VF9uYXRpdmVfb3JkZXJfZyA9IEg1VF9PUkRFUl9MRTsKKworICAgIC8qIFN0cnVjdHVyZSBhbGlnbm1lbnQgZm9yIHBvaW50ZXJzLCBodmxfdCwgaG9ial9yZWZfdCwgaGRzZXRfcmVnX3JlZl90ICovCisgICAgSDVUX1BPSU5URVJfQ09NUF9BTElHTl9nID0gNDsKKyAgICBINVRfSFZMX0NPTVBfQUxJR05fZyA9IDQ7CisgICAgSDVUX0hPQkpSRUZfQ09NUF9BTElHTl9nID0gODsKKyAgICBINVRfSERTRVRSRUdSRUZfQ09NUF9BTElHTl9nID0gMTsKKworZG9uZToKKyAgICBpZihyZXRfdmFsdWUgPCAwKSB7CisgICAgICAgIGlmKGR0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGR0LT5zaGFyZWQgPSBINUZMX0ZSRUUoSDVUX3NoYXJlZF90LCBkdC0+c2hhcmVkKTsKKyAgICAgICAgICAgIGR0ID0gSDVGTF9GUkVFKEg1VF90LCBkdCk7CisgICAgICAgIH0gLyogZW5kIGlmICovCisgICAgfSAvKiBlbmQgaWYgKi8KKworICAgIEZVTkNfTEVBVkVfTk9BUEkocmV0X3ZhbHVlKTsKK30gLyogZW5kIEg1VE5faW5pdF9pbnRlcmZhY2UoKSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIEFMSUdOTUVOVCBhbmQgc2lnbmFsLWhhbmRsaW5nIHN0YXR1cyAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBTaWduYWwoKSBzdXBwb3J0OiB5ZXMgKi8KKy8qIHNldGptcCgpIHN1cHBvcnQ6IHllcyAqLworLyogbG9uZ2ptcCgpIHN1cHBvcnQ6IHllcyAqLworLyogc2lnc2V0am1wKCkgc3VwcG9ydDogeWVzICovCisvKiBzaWdsb25nam1wKCkgc3VwcG9ydDogeWVzICovCisvKiBzaWdwcm9jbWFzaygpIHN1cHBvcnQ6IHllcyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogc2lnbmFsIGhhbmRsZXJzIHN0YXRpc3RpY3MgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBzaWduYWxfaGFuZGxlcnMgdGVzdGVkOiAxNSB0aW1lcyAqLworLyogc2lnYnVzX2hhbmRsZXIgY2FsbGVkOiA1IHRpbWVzICovCisvKiBzaWdzZWd2X2hhbmRsZXIgY2FsbGVkOiA1IHRpbWVzICovCisvKiBzaWdpbGxfaGFuZGxlciBjYWxsZWQ6IDUgdGltZXMgKi8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvSDVUaW5pdC02NC5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRmNS9maWxlcy9INVRpbml0LTY0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODVmNzlhNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvSDVUaW5pdC02NC5jCkBAIC0wLDAgKzEsOTkxIEBACisvKiBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBINWRldGVjdCAtLSBkbyBub3QgZWRpdCAqLworCisKKworLyogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqCisgKiBDb3B5cmlnaHQgYnkgVGhlIEhERiBHcm91cC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqIENvcHlyaWdodCBieSB0aGUgQm9hcmQgb2YgVHJ1c3RlZXMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMuICAgICAgICAgKgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEhERjUuICBUaGUgZnVsbCBIREY1IGNvcHlyaWdodCBub3RpY2UsIGluY2x1ZGluZyAgICAgKgorICogdGVybXMgZ292ZXJuaW5nIHVzZSwgbW9kaWZpY2F0aW9uLCBhbmQgcmVkaXN0cmlidXRpb24sIGlzIGNvbnRhaW5lZCBpbiAgICAqCisgKiB0aGUgQ09QWUlORyBmaWxlLCB3aGljaCBjYW4gYmUgZm91bmQgYXQgdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSBjb2RlICAgICAgICoKKyAqIGRpc3RyaWJ1dGlvbiB0cmVlLCBvciBpbiBodHRwczovL3N1cHBvcnQuaGRmZ3JvdXAub3JnL2Z0cC9IREY1L3JlbGVhc2VzLiAgKgorICogSWYgeW91IGRvIG5vdCBoYXZlIGFjY2VzcyB0byBlaXRoZXIgZmlsZSwgeW91IG1heSByZXF1ZXN0IGEgY29weSBmcm9tICAgICAqCisgKiBoZWxwQGhkZmdyb3VwLm9yZy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKgorICoKKyAqIENyZWF0ZWQ6CQlKYW4gMjksIDIwMTkKKyAqCQkJcm9vdCA8cm9vdEBxZW11eDg2LTY0PgorICoKKyAqIFB1cnBvc2U6CQlUaGlzIG1hY2hpbmUtZ2VuZXJhdGVkIHNvdXJjZSBjb2RlIGNvbnRhaW5zCisgKgkJCWluZm9ybWF0aW9uIGFib3V0IHRoZSB2YXJpb3VzIGludGVnZXIgYW5kCisgKgkJCWZsb2F0aW5nIHBvaW50IG51bWVyaWMgZm9ybWF0cyBmb3VuZCBvbiB0aGlzCisgKgkJCWFyY2hpdGVjdHVyZS4gIFRoZSBwYXJhbWV0ZXJzIGJlbG93IHNob3VsZCBiZQorICoJCQljaGVja2VkIGNhcmVmdWxseSBhbmQgZXJyb3JzIHJlcG9ydGVkIHRvIHRoZQorICoJCQlIREY1IG1haW50YWluZXIuCisgKgkJCQorICoJCQlFYWNoIG9mIHRoZSBudW1lcmljIGZvcm1hdHMgbGlzdGVkIGJlbG93IGFyZQorICoJCQlwcmludGVkIGZyb20gbW9zdCBzaWduaWZpY2FudCBiaXQgdG8gbGVhc3QKKyAqCQkJc2lnbmlmaWNhbnQgYml0IGV2ZW4gdGhvdWdoIHRoZSBhY3R1YWwgYnl0ZXMKKyAqCQkJbWlnaHQgYmUgc3RvcmVkIGluIGEgZGlmZmVyZW50IG9yZGVyIGluCisgKgkJCW1lbW9yeS4JIFRoZSBpbnRlZ2VycyBhYm92ZSBlYWNoIGJpbmFyeSBieXRlCisgKgkJCWluZGljYXRlIHRoZSByZWxhdGl2ZSBvcmRlciBvZiB0aGUgYnl0ZXMgaW4KKyAqCQkJbWVtb3J5OyBsaXR0bGUtZW5kaWFuIG1hY2hpbmVzIGhhdmUKKyAqCQkJZGVjcmVhc2luZyBudW1iZXJzIHdoaWxlIGJpZy1lbmRpYW4gbWFjaGluZXMKKyAqCQkJaGF2ZSBpbmNyZWFzaW5nIG51bWJlcnMuCisgKgkJCQorICoJCQlUaGUgZmllbGRzIG9mIHRoZSBudW1iZXJzIGFyZSBwcmludGVkIGFzCisgKgkJCWxldHRlcnMgd2l0aCBgUycgZm9yIHRoZSBtYW50aXNzYSBzaWduIGJpdCwKKyAqCQkJYE0nIGZvciB0aGUgbWFudGlzc2EgbWFnbml0dWRlLCBhbmQgYEUnIGZvcgorICoJCQl0aGUgZXhwb25lbnQuICBUaGUgZXhwb25lbnQgaGFzIGFuIGFzc29jaWF0ZWQKKyAqCQkJYmlhcyB3aGljaCBjYW4gYmUgc3VidHJhY3RlZCB0byBmaW5kIHRoZQorICoJCQl0cnVlIGV4cG9uZW50LglUaGUgcmFkaXggcG9pbnQgaXMgYXNzdW1lZAorICoJCQl0byBiZSBiZWZvcmUgdGhlIGZpcnN0IGBNJyBiaXQuCSBBbnkgYml0CisgKgkJCW9mIGEgZmxvYXRpbmctcG9pbnQgdmFsdWUgbm90IGZhbGxpbmcgaW50byBvbmUKKyAqCQkJb2YgdGhlc2UgY2F0ZWdvcmllcyBpcyBwcmludGVkIGFzIGEgcXVlc3Rpb24KKyAqCQkJbWFyay4gIEJpdHMgb2YgaW50ZWdlciB0eXBlcyBhcmUgcHJpbnRlZCBhcworICoJCQlgSScgZm9yIDIncyBjb21wbGVtZW50IGFuZCBgVScgZm9yIG1hZ25pdHVkZS4KKyAqCQkJCisgKgkJCUlmIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBvZiB0aGUgbm9ybWFsaXplZAorICoJCQltYW50aXNzYSAoYWx3YXlzIGEgYDEnIGV4Y2VwdCBmb3IgYDAuMCcpIGlzCisgKgkJCW5vdCBzdG9yZWQgdGhlbiBhbiBgaW1wbGljaXQ9eWVzJyBhcHBlYXJzCisgKgkJCXVuZGVyIHRoZSBmaWVsZCBkZXNjcmlwdGlvbi4gIEluIHRoaWUgY2FzZSwKKyAqCQkJdGhlIHJhZGl4IHBvaW50IGlzIHN0aWxsIGFzc3VtZWQgdG8gYmUKKyAqCQkJYmVmb3JlIHRoZSBmaXJzdCBgTScgYnV0IGFmdGVyIHRoZSBpbXBsaWNpdAorICoJCQliaXQuCisgKgorICogTW9kaWZpY2F0aW9uczoKKyAqCisgKglETyBOT1QgTUFLRSBNT0RJRklDQVRJT05TIFRPIFRISVMgRklMRSEKKyAqCUl0IHdhcyBnZW5lcmF0ZWQgYnkgY29kZSBpbiBgSDVkZXRlY3QuYycuCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworLyoqKioqKioqKioqKioqKiovCisvKiBNb2R1bGUgU2V0dXAgKi8KKy8qKioqKioqKioqKioqKioqLworCisjZGVmaW5lIEg1VF9QQUNLQUdFIC8qc3VwcHJlc3MgZXJyb3IgYWJvdXQgaW5jbHVkaW5nIEg1VHBrZy5oKi8KKworCisvKioqKioqKioqKiovCisvKiBIZWFkZXJzICovCisvKioqKioqKioqKiovCisjaW5jbHVkZSAiSDVwcml2YXRlLmgiCQkvKiBHZW5lcmljIEZ1bmN0aW9ucwkJCSovCisjaW5jbHVkZSAiSDVFcHJpdmF0ZS5oIgkJLyogRXJyb3IgaGFuZGxpbmcJCSAgCSovCisjaW5jbHVkZSAiSDVGTHByaXZhdGUuaCIJLyogRnJlZSBMaXN0cwkJCQkqLworI2luY2x1ZGUgIkg1SXByaXZhdGUuaCIJCS8qIElEcwkJCSAgCQkqLworI2luY2x1ZGUgIkg1VHBrZy5oIgkJLyogRGF0YXR5cGVzIAkJCQkqLworCisKKy8qKioqKioqKioqKioqKioqLworLyogTG9jYWwgTWFjcm9zICovCisvKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqLworLyogTG9jYWwgVHlwZWRlZnMgKi8KKy8qKioqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKioqLworLyogUGFja2FnZSBUeXBlZGVmcyAqLworLyoqKioqKioqKioqKioqKioqKioqLworCisKKy8qKioqKioqKioqKioqKioqKioqKi8KKy8qIExvY2FsIFByb3RvdHlwZXMgKi8KKy8qKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKiovCisvKiBQdWJsaWMgVmFyaWFibGVzICovCisvKioqKioqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogTGlicmFyeSBQcml2YXRlIFZhcmlhYmxlcyAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKKy8qKioqKioqKioqKioqKioqKioqKiovCisvKiBQYWNrYWdlIFZhcmlhYmxlcyAqLworLyoqKioqKioqKioqKioqKioqKioqKi8KKworCisKKy8qKioqKioqKioqKioqKioqKioqLworLyogTG9jYWwgVmFyaWFibGVzICovCisvKioqKioqKioqKioqKioqKioqKi8KKworCisMCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIEZ1bmN0aW9uOglINVROX2luaXRfaW50ZXJmYWNlCisgKgorICogUHVycG9zZToJSW5pdGlhbGl6ZSBwcmUtZGVmaW5lZCBuYXRpdmUgZGF0YXR5cGVzIGZyb20gY29kZSBnZW5lcmF0ZWQKKyAqICAgICAgICAgICAgICBkdXJpbmcgdGhlIGxpYnJhcnkgY29uZmlndXJhdGlvbiBieSBINWRldGVjdC4KKyAqCisgKiBSZXR1cm46CVN1Y2Nlc3M6CW5vbi1uZWdhdGl2ZQorICoJCUZhaWx1cmU6CW5lZ2F0aXZlCisgKgorICogUHJvZ3JhbW1lcjoJUm9iYiBNYXR6a2UKKyAqICAgICAgICAgICAgICBXZWRuZXNkYXksIERlY2VtYmVyIDE2LCAxOTk4CisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KK2hlcnJfdAorSDVUTl9pbml0X2ludGVyZmFjZSh2b2lkKQoreworICAgIEg1VF90CSpkdCA9IE5VTEw7CisgICAgaGVycl90CXJldF92YWx1ZSA9IFNVQ0NFRUQ7CisKKyAgICBGVU5DX0VOVEVSX05PQVBJKEZBSUwpCisKKyAgIC8qCisgICAgKiAgICAwCisgICAgKiBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9TQ0hBUl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9TQ0hBUl9BTElHTl9nID0gMTsKKyAgICBINVRfTkFUSVZFX1NDSEFSX0NPTVBfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAwCisgICAgKiBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VQ0hBUl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VQ0hBUl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDE2OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9TSE9SVF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9TSE9SVF9BTElHTl9nID0gMTsKKyAgICBINVRfTkFUSVZFX1NIT1JUX0NPTVBfQUxJR05fZyA9IDI7CisKKyAgIC8qCisgICAgKiAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAxNjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVVNIT1JUX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VTSE9SVF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0FMSUdOX2cgPSAxOworICAgIEg1VF9OQVRJVkVfSU5UX0NPTVBfQUxJR05fZyA9IDQ7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9MT05HX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0xPTkdfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9MT05HX0NPTVBfQUxJR05fZyA9IDg7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VMT05HX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VMT05HX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UOF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlQ4X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVDhfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVDhfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAwCisgICAgKiBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfTEVBU1Q4X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9MRUFTVDhfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAwCisgICAgKiBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UX0xFQVNUOF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0xFQVNUOF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDAKKyAgICAqIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAxOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVF9GQVNUOF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfRkFTVDhfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAwCisgICAgKiBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UX0ZBU1Q4X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfRkFTVDhfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAxNjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UMTZfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UMTZfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAxNjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVDE2X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlQxNl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDE2OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfTEVBU1QxNl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfTEVBU1QxNl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDE2OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UX0xFQVNUMTZfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9MRUFTVDE2X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfRkFTVDE2X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9GQVNUMTZfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfRkFTVDE2X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfRkFTVDE2X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVDMyX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVDMyX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlQzMl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UMzJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0xFQVNUMzJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0xFQVNUMzJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9MRUFTVDMyX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfTEVBU1QzMl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0ZBU1QzMl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfRkFTVDMyX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UX0ZBU1QzMl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0ZBU1QzMl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UNjRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UNjRfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlQ2NF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UNjRfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVF9MRUFTVDY0X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9MRUFTVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UX0xFQVNUNjRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9MRUFTVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfRkFTVDY0X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9GQVNUNjRfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfRkFTVDY0X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfRkFTVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9MTE9OR19nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9MTE9OR19BTElHTl9nID0gMTsKKyAgICBINVRfTkFUSVZFX0xMT05HX0NPTVBfQUxJR05fZyA9IDg7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VMTE9OR19nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VTExPTkdfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBTRUVFRUVFRSBFTU1NTU1NTSBNTU1NTU1NTSBNTU1NTU1NTQorICAgICogSW1wbGljaXQgYml0PyB5ZXMKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0ZMT0FUOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuc2lnbiA9IDMxOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lcG9zID0gMjM7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmVzaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZWJpYXMgPSAweDAwMDAwMDdmOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5tcG9zID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubXNpemUgPSAyMzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubm9ybSA9IEg1VF9OT1JNX0lNUExJRUQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLnBhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBpZigoSDVUX05BVElWRV9GTE9BVF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9GTE9BVF9BTElHTl9nID0gMTsKKyAgICBINVRfTkFUSVZFX0ZMT0FUX0NPTVBfQUxJR05fZyA9IDQ7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBTRUVFRUVFRSBFRUVFTU1NTSBNTU1NTU1NTSBNTU1NTU1NTQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogTU1NTU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0KKyAgICAqIEltcGxpY2l0IGJpdD8geWVzCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9GTE9BVDsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLnNpZ24gPSA2MzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZXBvcyA9IDUyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lc2l6ZSA9IDExOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lYmlhcyA9IDB4MDAwMDAzZmY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm1wb3MgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5tc2l6ZSA9IDUyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5ub3JtID0gSDVUX05PUk1fSU1QTElFRDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYucGFkID0gSDVUX1BBRF9aRVJPOworICAgIGlmKChINVRfTkFUSVZFX0RPVUJMRV9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9ET1VCTEVfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9ET1VCTEVfQ09NUF9BTElHTl9nID0gODsKKworICAgLyoKKyAgICAqICAgMTUgICAgICAgMTQgICAgICAgMTMgICAgICAgMTIKKyAgICAqID8/Pz8/Pz8/ID8/Pz8/Pz8/ID8/Pz8/Pz8/ID8/Pz8/Pz8/CisgICAgKiAgIDExICAgICAgIDEwICAgICAgICA5ICAgICAgICA4CisgICAgKiA/Pz8/Pz8/PyA/Pz8/Pz8/PyBTRUVFRUVFRSBFRUVFRUVFRQorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogTU1NTU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0KKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIE1NTU1NTU1NIE1NTU1NTU1NIE1NTU1NTU1NIE1NTU1NTU1NCisgICAgKiBJbXBsaWNpdCBiaXQ/IG5vCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9GTE9BVDsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMTY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5zaWduID0gNzk7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmVwb3MgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZXNpemUgPSAxNTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZWJpYXMgPSAweDAwMDAzZmZmOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5tcG9zID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubXNpemUgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubm9ybSA9IEg1VF9OT1JNX05PTkU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLnBhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBpZigoSDVUX05BVElWRV9MRE9VQkxFX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0xET1VCTEVfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9MRE9VQkxFX0NPTVBfQUxJR05fZyA9IDE2OworCisgICAgLyogU2V0IHRoZSBuYXRpdmUgb3JkZXIgZm9yIHRoaXMgbWFjaGluZSAqLworICAgIEg1VF9uYXRpdmVfb3JkZXJfZyA9IEg1VF9PUkRFUl9MRTsKKworICAgIC8qIFN0cnVjdHVyZSBhbGlnbm1lbnQgZm9yIHBvaW50ZXJzLCBodmxfdCwgaG9ial9yZWZfdCwgaGRzZXRfcmVnX3JlZl90ICovCisgICAgSDVUX1BPSU5URVJfQ09NUF9BTElHTl9nID0gODsKKyAgICBINVRfSFZMX0NPTVBfQUxJR05fZyA9IDg7CisgICAgSDVUX0hPQkpSRUZfQ09NUF9BTElHTl9nID0gODsKKyAgICBINVRfSERTRVRSRUdSRUZfQ09NUF9BTElHTl9nID0gMTsKKworZG9uZToKKyAgICBpZihyZXRfdmFsdWUgPCAwKSB7CisgICAgICAgIGlmKGR0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGR0LT5zaGFyZWQgPSBINUZMX0ZSRUUoSDVUX3NoYXJlZF90LCBkdC0+c2hhcmVkKTsKKyAgICAgICAgICAgIGR0ID0gSDVGTF9GUkVFKEg1VF90LCBkdCk7CisgICAgICAgIH0gLyogZW5kIGlmICovCisgICAgfSAvKiBlbmQgaWYgKi8KKworICAgIEZVTkNfTEVBVkVfTk9BUEkocmV0X3ZhbHVlKTsKK30gLyogZW5kIEg1VE5faW5pdF9pbnRlcmZhY2UoKSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIEFMSUdOTUVOVCBhbmQgc2lnbmFsLWhhbmRsaW5nIHN0YXR1cyAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBTaWduYWwoKSBzdXBwb3J0OiB5ZXMgKi8KKy8qIHNldGptcCgpIHN1cHBvcnQ6IHllcyAqLworLyogbG9uZ2ptcCgpIHN1cHBvcnQ6IHllcyAqLworLyogc2lnc2V0am1wKCkgc3VwcG9ydDogeWVzICovCisvKiBzaWdsb25nam1wKCkgc3VwcG9ydDogeWVzICovCisvKiBzaWdwcm9jbWFzaygpIHN1cHBvcnQ6IHllcyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogc2lnbmFsIGhhbmRsZXJzIHN0YXRpc3RpY3MgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBzaWduYWxfaGFuZGxlcnMgdGVzdGVkOiAxNSB0aW1lcyAqLworLyogc2lnYnVzX2hhbmRsZXIgY2FsbGVkOiA1IHRpbWVzICovCisvKiBzaWdzZWd2X2hhbmRsZXIgY2FsbGVkOiA1IHRpbWVzICovCisvKiBzaWdpbGxfaGFuZGxlciBjYWxsZWQ6IDUgdGltZXMgKi8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvSDVsaWJfc2V0dGluZ3MuYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvSDVsaWJfc2V0dGluZ3MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjQzYWVlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRmNS9maWxlcy9INWxpYl9zZXR0aW5ncy5jCkBAIC0wLDAgKzEsOTggQEAKKy8qIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IEg1bWFrZV9saWJzZXR0aW5ncyAtLSBkbyBub3QgZWRpdCAqLworCisKKworLyogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqCisgKiBDb3B5cmlnaHQgYnkgVGhlIEhERiBHcm91cC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqIENvcHlyaWdodCBieSB0aGUgQm9hcmQgb2YgVHJ1c3RlZXMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMuICAgICAgICAgKgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEhERjUuICBUaGUgZnVsbCBIREY1IGNvcHlyaWdodCBub3RpY2UsIGluY2x1ZGluZyAgICAgKgorICogdGVybXMgZ292ZXJuaW5nIHVzZSwgbW9kaWZpY2F0aW9uLCBhbmQgcmVkaXN0cmlidXRpb24sIGlzIGNvbnRhaW5lZCBpbiAgICAqCisgKiB0aGUgQ09QWUlORyBmaWxlLCB3aGljaCBjYW4gYmUgZm91bmQgYXQgdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSBjb2RlICAgICAgICoKKyAqIGRpc3RyaWJ1dGlvbiB0cmVlLCBvciBpbiBodHRwczovL3N1cHBvcnQuaGRmZ3JvdXAub3JnL2Z0cC9IREY1L3JlbGVhc2VzLiAgKgorICogSWYgeW91IGRvIG5vdCBoYXZlIGFjY2VzcyB0byBlaXRoZXIgZmlsZSwgeW91IG1heSByZXF1ZXN0IGEgY29weSBmcm9tICAgICAqCisgKiBoZWxwQGhkZmdyb3VwLm9yZy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKgorICoKKyAqIENyZWF0ZWQ6CQlKYW4gMjksIDIwMTkKKyAqCQkJcm9vdCA8cm9vdEBxZW11eDg2LTY0PgorICoKKyAqIFB1cnBvc2U6CQlUaGlzIG1hY2hpbmUtZ2VuZXJhdGVkIHNvdXJjZSBjb2RlIGNvbnRhaW5zCisgKgkJCWluZm9ybWF0aW9uIGFib3V0IHRoZSBsaWJyYXJ5IGJ1aWxkIGNvbmZpZ3VyYXRpb24KKyAqCisgKiBNb2RpZmljYXRpb25zOgorICoKKyAqCURPIE5PVCBNQUtFIE1PRElGSUNBVElPTlMgVE8gVEhJUyBGSUxFIQorICoJSXQgd2FzIGdlbmVyYXRlZCBieSBjb2RlIGluIGBINW1ha2VfbGlic2V0dGluZ3MuYycuCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworY2hhciBINWxpYmhkZjVfc2V0dGluZ3NbXT0KKwkiICAgICAgU1VNTUFSWSBPRiBUSEUgSERGNSBDT05GSUdVUkFUSU9OXG4iCisJIiAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIgorCSJcbiIKKwkiR2VuZXJhbCBJbmZvcm1hdGlvbjpcbiIKKwkiLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCSIgICAgICAgICAgICAgICAgICAgSERGNSBWZXJzaW9uOiAxLjguMTlcbiIKKwkiICAgICAgICAgICAgICAgICAgQ29uZmlndXJlZCBvbjogMjAxOS0wMS0yOVxuIgorCSIgICAgICAgICAgICAgICAgICBDb25maWd1cmVkIGJ5OiBOaW5qYVxuIgorCSIgICAgICAgICAgICAgICAgIENvbmZpZ3VyZSBtb2RlOiBDTUFLRSAzLjEyLjJcbiIKKwkiICAgICAgICAgICAgICAgICAgICBIb3N0IHN5c3RlbTogTGludXgtNC40LjAtMzEtZ2VuZXJpY1xuIgorCSIgICAgICAgICAgICAgIFVuYW1lIGluZm9ybWF0aW9uOiBMaW51eFxuIgorCSIgICAgICAgICAgICAgICAgICAgICAgIEJ5dGUgc2V4OiBsaXR0bGUtZW5kaWFuXG4iCisJIiAgICAgICAgICAgICAgICAgICAgICBMaWJyYXJpZXM6IFxuIgorCSIgICAgICAgICAgICAgSW5zdGFsbGF0aW9uIHBvaW50OiAvdXNyXG4iCisJIlxuIgorCSJDb21waWxpbmcgT3B0aW9uczpcbiIKKwkiLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisJIiAgICAgICAgICAgICAgIENvbXBpbGF0aW9uIE1vZGU6IFxuIgorCSIgICAgICAgICAgICAgICAgICAgICAgSDVfQ0ZMQUdTOiBcbiIKKwkiICAgICAgICAgICAgICAgICAgICAgIEFNX0NGTEFHUzogXG4iCisJIiAgICAgICAgICAgICAgICAgICAgICAgQ1BQRkxBR1M6IFxuIgorCSIgICAgICAgICAgICAgICAgICAgIEg1X0NQUEZMQUdTOiBcbiIKKwkiICAgICAgICAgICAgICAgICAgICBBTV9DUFBGTEFHUzogXG4iCisJIiAgICAgICAgICAgICAgIFNoYXJlZCBDIExpYnJhcnk6IFlFU1xuIgorCSIgICAgICAgICAgICAgICBTdGF0aWMgQyBMaWJyYXJ5OiBZRVNcbiIKKwkiICBTdGF0aWNhbGx5IExpbmtlZCBFeGVjdXRhYmxlczogT0ZGXG4iCisJIiAgICAgICAgICAgICAgICAgICAgICAgIExERkxBR1M6IC1XbCwtTzEgLVdsLC0taGFzaC1zdHlsZT1nbnUgLVdsLC0tYXMtbmVlZGVkXG4iCisJIiAgICAgICAgICAgICAgICAgICAgIEFNX0xERkxBR1M6IFxuIgorCSIgICAgICAgICAgICAgICAgRXh0cmEgbGlicmFyaWVzOiBtO2RsXG4iCisJIiAgICAgICAgICAgICAgRGVidWdnZWQgUGFja2FnZXM6IFxuIgorCSIgICAgICAgICAgICAgICAgICAgIEFQSSBUcmFjaW5nOiBPRkZcbiIKKwkiXG4iCisJIkxhbmd1YWdlczpcbiIKKwkiLS0tLS0tLS0tLVxuIgorCSIgICAgICAgICAgICAgICAgICAgICAgICBGb3J0cmFuOiBPRkZcbiIKKwkiICAgICAgICAgICAgICAgRm9ydHJhbiBDb21waWxlcjogXG4iCisJIiAgICAgICAgICBGb3J0cmFuIDIwMDMgQ29tcGlsZXI6IFxuIgorCSIgICAgICAgICAgICAgICAgICBGb3J0cmFuIEZsYWdzOiBcbiIKKwkiICAgICAgICAgICAgICAgSDUgRm9ydHJhbiBGbGFnczogXG4iCisJIiAgICAgICAgICAgICAgIEFNIEZvcnRyYW4gRmxhZ3M6IFxuIgorCSIgICAgICAgICBTaGFyZWQgRm9ydHJhbiBMaWJyYXJ5OiBZRVNcbiIKKwkiICAgICAgICAgU3RhdGljIEZvcnRyYW4gTGlicmFyeTogWUVTXG4iCisJIlxuIgorCSIgICAgICAgICAgICAgICAgICAgSDUgQysrIEZsYWdzOiBcbiIKKwkiICAgICAgICAgICAgICAgICAgIEFNIEMrKyBGbGFnczogXG4iCisJIiAgICAgICAgICAgICBTaGFyZWQgQysrIExpYnJhcnk6IFlFU1xuIgorCSIgICAgICAgICAgICAgU3RhdGljIEMrKyBMaWJyYXJ5OiBZRVNcbiIKKwkiXG4iCisJIkZlYXR1cmVzOlxuIgorCSItLS0tLS0tLS1cbiIKKwkiICAgICAgICAgICAgICAgICAgUGFyYWxsZWwgSERGNTogT0ZGXG4iCisJIiAgICAgICAgICAgICBIaWdoIExldmVsIGxpYnJhcnk6IE9OXG4iCisJIiAgICAgICAgICAgICAgICAgICBUaHJlYWRzYWZldHk6IE9GRlxuIgorCSIgICAgICAgICAgICBEZWZhdWx0IEFQSSBNYXBwaW5nOiB2MThcbiIKKwkiIFdpdGggRGVwcmVjYXRlZCBQdWJsaWMgU3ltYm9sczogT05cbiIKKwkiICAgICAgICAgSS9PIGZpbHRlcnMgKGV4dGVybmFsKTogXG4iCisJIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNUEU6IFxuIgorCSIgICAgICAgICAgICAgICAgICAgICBEaXJlY3QgVkZEOiBcbiIKKwkiICAgICAgICAgICAgICAgICAgICAgICAgZG1hbGxvYzogXG4iCisJIkNsZWFyIGZpbGUgYnVmZmVycyBiZWZvcmUgd3JpdGU6IE9OXG4iCisJIiAgICAgICAgICAgVXNpbmcgbWVtb3J5IGNoZWNrZXI6IE9GRlxuIgorCSIgICAgICAgICBGdW5jdGlvbiBTdGFjayBUcmFjaW5nOiBPRkZcbiIKKwkiICAgICAgU3RyaWN0IEZpbGUgRm9ybWF0IENoZWNrczogT0ZGXG4iCisJIiAgIE9wdGltaXphdGlvbiBJbnN0cnVtZW50YXRpb246IFxuIgorOworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2hkZjVfMS44LjE5LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRmNS9oZGY1XzEuOC4xOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mY2JlOWIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRmNS9oZGY1XzEuOC4xOS5iYgpAQCAtMCwwICsxLDU4IEBACitTVU1NQVJZID0gIlVuaXF1ZSB0ZWNobm9sb2d5IHN1aXRlIHRoYXQgbWFrZXMgcG9zc2libGUgdGhlIG1hbmFnZW1lbnQgb2YgXAorZXh0cmVtZWx5IGxhcmdlIGFuZCBjb21wbGV4IGRhdGEgY29sbGVjdGlvbnMiCitIT01FUEFHRSA9ICJodHRwczovL3d3dy5oZGZncm91cC5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkhERjUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01N2U1MzUxYjE3NTkxZTY1OWVlZGFlMTA3MjY1YzYwNiIKKworaW5oZXJpdCBjbWFrZSBzaXRlaW5mbworCitTUkNfVVJJID0gIiBcCisgICAgaHR0cHM6Ly9zdXBwb3J0LmhkZmdyb3VwLm9yZy9mdHAvSERGNS9yZWxlYXNlcy9oZGY1LTEuOC9oZGY1LSR7UFZ9L3NyYy8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgZmlsZTovL0g1bGliX3NldHRpbmdzLmMgXAorICAgIGZpbGU6Ly9INVRpbml0LTY0LmMgXAorICAgIGZpbGU6Ly9INVRpbml0LTMyLmMgXAorICAgIGZpbGU6Ly8wMDAxLWNyb3NzLWNvbXBpbGluZy1zdXBwb3J0LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1SZW1vdmUtc3VmZml4LXNoYXJlZC1mcm9tLXNoYXJlZC1saWJyYXJ5LW5hbWUucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNmYwMzUzZWUzM2U5OTA4OWMxMTBhMWM4ZDJkZDFiMjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTljMDM4MTYxMDVkNTc5OTAzMjk1MzdhZDEwNDliYTIyYzJiOGFmZTE4OTAwODVmMGMwMjJiNzVmMTcyNzIzOCIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9saWJoZGY1LnNldHRpbmdzICR7ZGF0YWRpcn0vKiIKKworRVhUUkFfT0VDTUFLRSA9ICIgXAorICAgIC1EVEVTVF9MRlNfV09SS1NfUlVOPTAgXAorICAgIC1EVEVTVF9MRlNfV09SS1NfUlVOX19UUllSVU5fT1VUUFVUPTAgXAorICAgIC1ESDVfUFJJTlRGX0xMX1RFU1RfUlVOPTEgXAorICAgIC1ESDVfUFJJTlRGX0xMX1RFU1RfUlVOX19UUllSVU5fT1VUUFVUPSc4JyBcCisgICAgLURINV9MRE9VQkxFX1RPX0xPTkdfU1BFQ0lBTF9SVU49MCBcCisgICAgLURINV9MRE9VQkxFX1RPX0xPTkdfU1BFQ0lBTF9SVU5fX1RSWVJVTl9PVVRQVVQ9IFwKKyAgICAtREg1X0xPTkdfVE9fTERPVUJMRV9TUEVDSUFMX1JVTj0wIFwKKyAgICAtREg1X0xPTkdfVE9fTERPVUJMRV9TUEVDSUFMX1JVTl9fVFJZUlVOX09VVFBVVD0gXAorICAgIC1ESDVfTERPVUJMRV9UT19MTE9OR19BQ0NVUkFURV9SVU49MCBcCisgICAgLURINV9MRE9VQkxFX1RPX0xMT05HX0FDQ1VSQVRFX1JVTl9fVFJZUlVOX09VVFBVVD0gXAorICAgIC1ESDVfTExPTkdfVE9fTERPVUJMRV9DT1JSRUNUX1JVTj0wIFwKKyAgICAtREg1X0xMT05HX1RPX0xET1VCTEVfQ09SUkVDVF9SVU5fX1RSWVJVTl9PVVRQVVQ9IFwKKyAgICAtREg1X05PX0FMSUdOTUVOVF9SRVNUUklDVElPTlNfUlVOPTAgXAorICAgIC1ESDVfTk9fQUxJR05NRU5UX1JFU1RSSUNUSU9OU19SVU5fX1RSWVJVTl9PVVRQVVQ9IFwKKyAgICAtRENNQUtFX0lOU1RBTExfUFJFRklYPScke3ByZWZpeH0nIFwKKyAgICAtREhERjVfSU5TVEFMTF9MSUJfRElSPScke2Jhc2VsaWJ9JyBcCisiCisKK2RvX3VucGFja1twb3N0ZnVuY3NdICs9ICJnZW5faGQ1ZmlsZSIKK2dlbl9oZDVmaWxlKCkgeworICAgIGluc3RhbGwgLW0gNTQ0ICR7V09SS0RJUn0vSDVsaWJfc2V0dGluZ3MuYyAke1N9CisgICAgaW5zdGFsbCAtbSA1NDQgJHtXT1JLRElSfS9INVRpbml0LSR7U0lURUlORk9fQklUU30uYyAke1N9L0g1VGluaXQuYworfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIFVzZWQgZm9yIGdlbmVyYXRpbmcgY29uZmlnIGZpbGVzIG9uIHRhcmdldAorICAgIGluc3RhbGwgLW0gNzU1ICR7Qn0vYmluL0g1ZGV0ZWN0ICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSAke0J9L2Jpbi9INW1ha2VfbGlic2V0dGluZ3MgJHtEfSR7YmluZGlyfQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDX0RJU1RSSUJVVEVfTElDRU5TRVMgKz0gIkhERjUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9odW5zcGVsbC9odW5zcGVsbF8xLjYuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2h1bnNwZWxsL2h1bnNwZWxsXzEuNi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZmVlYTg5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2h1bnNwZWxsL2h1bnNwZWxsXzEuNi4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotU1VNTUFSWSA9ICJBIHNwZWxsIGNoZWNrZXIgYW5kIG1vcnBob2xvZ2ljYWwgYW5hbHl6ZXIgbGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHA6Ly9odW5zcGVsbC5naXRodWIuaW8vIgotTElDRU5TRSA9ICJHUEx2MyB8IExHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiIFwKLSAgICBmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAotICAgIGZpbGU6Ly9DT1BZSU5HLkxFU1NFUjttZDU9ZTZhNjAwZmQ1ZTFkOWNiZGUyZDk4MzY4MDIzM2FkMDIgXAotIgotCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS8ke0JQTn0vJHtCUE59L2FyY2hpdmUvdiR7UFZ9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICIxYTU0NTA0Y2I0NzBhYWZhNjUzMGJiMzcyYTEwZGMwNCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzY2Q5Y2ViMDYyZmU1ODE0ZjY2OGU0ZjIyYjJmYTZlM2JhMGIzMzliOTIxNzM5NTQxY2UxODBjYWM0ZDZmNGM0IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAotCi1SREVQRU5EU18ke1BOfSA9ICJwZXJsIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2h1bnNwZWxsL2h1bnNwZWxsXzEuNy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaHVuc3BlbGwvaHVuc3BlbGxfMS43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBkYTNiNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2h1bnNwZWxsL2h1bnNwZWxsXzEuNy4wLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiQSBzcGVsbCBjaGVja2VyIGFuZCBtb3JwaG9sb2dpY2FsIGFuYWx5emVyIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vaHVuc3BlbGwuZ2l0aHViLmlvLyIKK0xJQ0VOU0UgPSAiR1BMdjIgfCBMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiIFwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9NzU4NTk5ODk1NDVlMzc5NjhhOTliNjMxZWY0MjcyMmUgXAorICAgIGZpbGU6Ly9DT1BZSU5HLkxFU1NFUjttZDU9Yzk2Y2E2YzFkZThhZGMwMjVhZGZhZGE4MWQwNmZiYTUgXAorIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS8ke0JQTn0vJHtCUE59L2FyY2hpdmUvdiR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiMjM5OWE0YWE5MjdlOGIzZTE3MWQ5ZWE2NzM3Y2MwMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiYjI3Yjg2ZWI5MTBhODI4NTQwN2NmM2NhMzNiNjI2NDNhMDI3OThjZjJlZWY0NjhjMGE3NGY2YzNlZTZiYzhhIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAorCitSREVQRU5EU18ke1BOfSA9ICJwZXJsIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ltYWdlbWFnaWNrL2ltYWdlbWFnaWNrXzcuMC43LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaW1hZ2VtYWdpY2svaW1hZ2VtYWdpY2tfNy4wLjcuYmIKaW5kZXggNDZjYzc4ZS4uMzdkNWE2MyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaW1hZ2VtYWdpY2svaW1hZ2VtYWdpY2tfNy4wLjcuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaW1hZ2VtYWdpY2svaW1hZ2VtYWdpY2tfNy4wLjcuYmIKQEAgLTEsNSArMSw4IEBACi1TVU1NQVJZID0gIkltYWdlTWFnaWNrIGlzIGFuIGltYWdlIGNvbnZlcnRpb24gdG9vbHMiCitTVU1NQVJZID0gIkltYWdlTWFnaWNrIGlzIGFuIGltYWdlIGNvbnZlcnNpb24gdG9vbGtpdCIKIFNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3LmltYWdlbWFnaWNrLm9yZy8iCitERVNDUklQVElPTiA9ICJJbWFnZU1hZ2ljayBpcyBhIGNvbGxlY3Rpb24gb2YgdG9vbHMgZm9yIGRpc3BsYXlpbmcsIGNvbnZlcnRpbmcsIGFuZCBcCitlZGl0aW5nIHJhc3RlciBhbmQgdmVjdG9yIGltYWdlIGZpbGVzLiBJdCBjYW4gcmVhZCBhbmQgd3JpdGUgb3ZlciAyMDAgaW1hZ2UgZmlsZSBmb3JtYXRzLiIKIExJQ0VOU0UgPSAiSW1hZ2VNYWdpY2siCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kYWQ1YTk4ZjE3M2ZkM2ZhNjk1OGExYTU4YzYxMzFjMSIKICMgRklYTUU6IFRoZXJlIGFyZSBtYW55IG1vcmUgY2hlY2tlZCBsaWJyYXJpZXMuIEFsbCBzaG91bGQgYmUgYWRkZWQgb3IgZXhwbGljaXRseSBkaXNhYmxlZCB0byBnZXQgY29uc2lzdGVudCByZXN1bHRzLgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaXRzdG9vbC9pdHN0b29sXzIuMC41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaXRzdG9vbC9pdHN0b29sXzIuMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3NGQ1ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pdHN0b29sL2l0c3Rvb2xfMi4wLjUuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJJVFMgVG9vbCBhbGxvd3MgeW91IHRvIHRyYW5zbGF0ZSB5b3VyIFhNTCBkb2N1bWVudHMgd2l0aCBQTyBmaWxlcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9pdHN0b29sLm9yZy8iCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTljNTdiOTVmZDdkMGU5ZTIzOGViYmM3YWQ0N2M1YTUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHB5dGhvbjNuYXRpdmUKKworREVQRU5EUyA9ICJweXRob24zLW5hdGl2ZSBweXRob24zLWx4bWwtbmF0aXZlIgorCitTUkNfVVJJID0gImh0dHA6Ly9maWxlcy5pdHN0b29sLm9yZy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiNjU1YzZmNzhmYzY0ZmFlZTQ1YWRjYzQ1Y2NjNWE1N2UiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTAwNTA2ZjhkZjYyY2NhNjIyNWVjM2U2MzFhODIzN2U5YzA0NjUwYzc3NDk1YWY0OTE5YWM2YTEwMGQ0YjMwOCIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBmaXggc2hlYmFuZyBvZiBtYWluIHNjcmlwdAorICAgIHNlZCAtaSAnczoke1NUQUdJTkdfQklORElSX05BVElWRX0vJHtQWVRIT05fUE59LW5hdGl2ZS8ke1BZVEhPTl9QTn06JHtiaW5kaXJ9LyR7UFlUSE9OX1BOfTpnJyAke0R9JHtiaW5kaXJ9L2l0c3Rvb2wKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24zIHB5dGhvbjMtbHhtbCIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliYnl0ZXNpemUvbGliYnl0ZXNpemVfMS4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliYnl0ZXNpemUvbGliYnl0ZXNpemVfMS4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYWY4NGRlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmJ5dGVzaXplL2xpYmJ5dGVzaXplXzEuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLURFU0NSSVBUSU9OID0gIlRoZSBnb2FsIG9mIHRoaXMgcHJvamVjdCBpcyB0byBwcm92aWRlIGEgdGlueSBsaWJyYXJ5IHRoYXQgd291bGQgXAotZmFjaWxpdGF0ZSB0aGUgY29tbW9uIG9wZXJhdGlvbnMgd2l0aCBzaXplcyBpbiBieXRlcy4iCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvbGliYnl0ZXNpemUiCi1MSUNFTlNFID0gIkxHUEx2MisiCi1TRUNUSU9OID0gImRldmVsL2xpYiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzA3Y2I0OTlkMjU5NDUyZjMyNGJiOTBjMzA2N2Q4NWMiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi1CID0gIiR7U30iCi0KLVNSQ1JFViA9ICJiMGRjZjZmNDU3ZDcwMDEyN2I0M2MwZTBhMTk4MjUzYzI2NmI3OGFlIgotUFYgPSAiMS4zK2dpdCR7U1JDUFZ9IgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2xpYmJ5dGVzaXplO2JyYW5jaD1tYXN0ZXIgXAotIgotCi1pbmhlcml0IGdldHRleHQgYXV0b3Rvb2xzIHB5dGhvbjNuYXRpdmUKLQotREVQRU5EUyArPSAiIFwKLSAgICBsaWJwY3JlIFwKLSAgICBnbXAgXAotICAgIG1wZnIgXAotIgotCi1GSUxFU18ke1BOfSArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vYnl0ZXNpemUiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJweXRob24zIgotUEFDS0FHRUNPTkZJR1tweXRob24zXSA9ICItLXdpdGgtcHl0aG9uMywgLS13aXRob3V0LXB5dGhvbjMsLHB5dGhvbjMiCi1QQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIi0td2l0aC1weXRob24yLCAtLXdpdGhvdXQtcHl0aG9uMiwscHl0aG9uMiIKLVBBQ0tBR0VDT05GSUdbZG9jXSA9ICItLXdpdGgtZ3RrLWRvYywgLS13aXRob3V0LWd0ay1kb2MsIGd0ay1kb2MtbmF0aXZlIgotCi1FWFRSQV9PRU1BS0UgPSAicHkzbGliZGlyPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgotCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmJ5dGVzaXplL2xpYmJ5dGVzaXplXzEuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmJ5dGVzaXplL2xpYmJ5dGVzaXplXzEuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjNjZTQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliYnl0ZXNpemUvbGliYnl0ZXNpemVfMS40LmJiCkBAIC0wLDAgKzEsMzMgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBnb2FsIG9mIHRoaXMgcHJvamVjdCBpcyB0byBwcm92aWRlIGEgdGlueSBsaWJyYXJ5IHRoYXQgd291bGQgXAorZmFjaWxpdGF0ZSB0aGUgY29tbW9uIG9wZXJhdGlvbnMgd2l0aCBzaXplcyBpbiBieXRlcy4iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvbGliYnl0ZXNpemUiCitMSUNFTlNFID0gIkxHUEx2MisiCitTRUNUSU9OID0gImRldmVsL2xpYiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzA3Y2I0OTlkMjU5NDUyZjMyNGJiOTBjMzA2N2Q4NWMiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCitCID0gIiR7U30iCisKK1NSQ1JFViA9ICJlYmJkYTIyMTdkMTc3ZDJhMTdmOTE3ZDdhM2UzZDEzMmEyNmRiNzkxIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2xpYmJ5dGVzaXplO2JyYW5jaD1tYXN0ZXIgXAorIgorCitpbmhlcml0IGdldHRleHQgYXV0b3Rvb2xzIHB5dGhvbjNuYXRpdmUKKworREVQRU5EUyArPSAiIFwKKyAgICBsaWJwY3JlIFwKKyAgICBnbXAgXAorICAgIG1wZnIgXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vYnl0ZXNpemUiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJweXRob24zIgorUEFDS0FHRUNPTkZJR1tweXRob24zXSA9ICItLXdpdGgtcHl0aG9uMywgLS13aXRob3V0LXB5dGhvbjMsLHB5dGhvbjMiCitQQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIi0td2l0aC1weXRob24yLCAtLXdpdGhvdXQtcHl0aG9uMiwscHl0aG9uMiIKK1BBQ0tBR0VDT05GSUdbZG9jXSA9ICItLXdpdGgtZ3RrLWRvYywgLS13aXRob3V0LWd0ay1kb2MsIGd0ay1kb2MtbmF0aXZlIgorCitFWFRSQV9PRU1BS0UgPSAicHkzbGliZGlyPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgorCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVpZ2VuL2xpYmVpZ2VuXzMuMy41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWlnZW4vbGliZWlnZW5fMy4zLjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwNzhlNTAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWlnZW4vbGliZWlnZW5fMy4zLjUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1ERVNDUklQVElPTiA9ICJFaWdlbiBpcyBhIEMrKyB0ZW1wbGF0ZSBsaWJyYXJ5IGZvciBsaW5lYXIgYWxnZWJyYTogbWF0cmljZXMsIHZlY3RvcnMsIG51bWVyaWNhbCBzb2x2ZXJzLCBhbmQgcmVsYXRlZCBhbGdvcml0aG1zLiIKLUFVVEhPUiA9ICJCZW5vw650IEphY29iIGFuZCBHYcOrbCBHdWVubmViYXVkIGFuZCBvdGhlcnMiCi1IT01FUEFHRSA9ICJodHRwOi8vZWlnZW4udHV4ZmFtaWx5Lm9yZy8iCi1MSUNFTlNFID0gIk1QTC0yLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLk1QTDI7bWQ1PTgxNWNhNTk5YzlkZjI0N2EwYzdmNjE5YmFiMTIzZGFkIgotCi1TUkNfVVJJID0gImh0dHA6Ly9iaXRidWNrZXQub3JnL2VpZ2VuL2VpZ2VuL2dldC8ke1BWfS50YXIuYnoyO2Rvd25sb2FkZmlsZW5hbWU9JHtCUH0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICJlODM1NDlhNzlkMWI3MjFkYTBmODg5OWFiMzRlZGY5NSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3MzUyYmZmM2VhMjk5ZTRjN2Q3ZmJlMzFjNTA0ZjhlYjkxNDlkN2U2ODVkZWM1YTEyZmJhYTI2Mzc5ZjYwM2UyIgotCi1TID0gIiR7V09SS0RJUn0vZWlnZW4tZWlnZW4tYjNmM2Q0OTUwMDMwIgotCi1pbmhlcml0IGNtYWtlCi0KLUZJTEVTXyR7UE59ID0gIiR7bGliZGlyfSIKLUZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9ICR7ZGF0YWRpcn0vZWlnZW4zL2NtYWtlICR7ZGF0YWRpcn0vY21ha2UvTW9kdWxlcyAke2RhdGFkaXJ9L3BrZ2NvbmZpZyIKLQotIyAke1BOfSBpcyBlbXB0eSBzbyB3ZSBuZWVkIHRvIHR3ZWFrIC1kZXYgYW5kIC1kYmcgcGFja2FnZSBkZXBlbmRlbmNpZXMKLVJERVBFTkRTXyR7UE59LWRldiA9ICIiCi1SUkVDT01NRU5EU18ke1BOfS1kYmcgPSAiJHtQTn0tZGV2ICg9ICR7RVhURU5EUEtHVn0pIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWlnZW4vbGliZWlnZW5fMy4zLjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlaWdlbi9saWJlaWdlbl8zLjMuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWRlYjY2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWlnZW4vbGliZWlnZW5fMy4zLjcuYmIKQEAgLTAsMCArMSwyMCBAQAorREVTQ1JJUFRJT04gPSAiRWlnZW4gaXMgYSBDKysgdGVtcGxhdGUgbGlicmFyeSBmb3IgbGluZWFyIGFsZ2VicmE6IG1hdHJpY2VzLCB2ZWN0b3JzLCBudW1lcmljYWwgc29sdmVycywgYW5kIHJlbGF0ZWQgYWxnb3JpdGhtcy4iCitBVVRIT1IgPSAiQmVub8OudCBKYWNvYiBhbmQgR2HDq2wgR3Vlbm5lYmF1ZCBhbmQgb3RoZXJzIgorSE9NRVBBR0UgPSAiaHR0cDovL2VpZ2VuLnR1eGZhbWlseS5vcmcvIgorTElDRU5TRSA9ICJNUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5NUEwyO21kNT04MTVjYTU5OWM5ZGYyNDdhMGM3ZjYxOWJhYjEyM2RhZCIKKworU1JDX1VSSSA9ICJodHRwczovL2JpdGJ1Y2tldC5vcmcvZWlnZW4vZWlnZW4vZ2V0LyR7UFZ9LnRhci5iejI7ZG93bmxvYWRmaWxlbmFtZT0ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjA1YjFmNzUxMWM5Mzk4MGMzODVlYmUxMWJkM2M5M2ZhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlmMTNjZjkwZGVkYmUzZTUyYTE5ZjQzMDAwZDcxZmRmNzJlOTg2YmViOWE1NDM2ZGRkY2Q2MWZmOWQ3N2EzY2UiCisKK1MgPSAiJHtXT1JLRElSfS9laWdlbi1laWdlbi0zMjNjMDUyZTE3MzEiCisKK2luaGVyaXQgY21ha2UKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9IgorRklMRVNfJHtQTn0tZGV2ID0gIiR7aW5jbHVkZWRpcn0gJHtkYXRhZGlyfS9laWdlbjMvY21ha2UgJHtkYXRhZGlyfS9jbWFrZS9Nb2R1bGVzICR7ZGF0YWRpcn0vcGtnY29uZmlnIgorCisjICR7UE59IGlzIGVtcHR5IHNvIHdlIG5lZWQgdG8gdHdlYWsgLWRldiBhbmQgLWRiZyBwYWNrYWdlIGRlcGVuZGVuY2llcworUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKK1JSRUNPTU1FTkRTXyR7UE59LWRiZyA9ICIke1BOfS1kZXYgKD0gJHtFWFRFTkRQS0dWfSkiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJnaXQyL2xpYmdpdDJfMC4yNy40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ2l0Mi9saWJnaXQyXzAuMjcuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODE2YWU1ZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJnaXQyL2xpYmdpdDJfMC4yNy40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotU1VNTUFSWSA9ICJ0aGUgR2l0IGxpbmthYmxlIGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwOi8vbGliZ2l0Mi5naXRodWIuY29tLyIKLUxJQ0VOU0UgPSAiR1BMLTIuMC13aXRoLUdDQy1leGNlcHRpb24gJiBNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zZjJjZDVkM2NjY2Q3MWQ2MjA2NmJhNjE5NjE0NTkyYiIKLQotREVQRU5EUyA9ICJjdXJsIG9wZW5zc2wgemxpYiBsaWJzc2gyIGxpYmdjcnlwdCIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2xpYmdpdDIvbGliZ2l0Mi5naXQ7YnJhbmNoPW1haW50L3YwLjI3IgotI3YwLjI3LjUKLVNSQ1JFViA9ICI4ZTBiMTcyOTgxYTA0NmQxOWYxZDllZmE1YWNkNjE4NmJjY2JkM2NlIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGNtYWtlCi0KLUVYVFJBX09FQ01BS0UgPSAiXAotICAgIC1EVEhSRUFEU0FGRT1PTiBcCi0gICAgLURCVUlMRF9DTEFSPU9GRiBcCi0gICAgLURTSEExX1RZUEU9ImJ1aWx0aW4iIFwKLSAgICAtRENNQUtFX0JVSUxEX1RZUEU9UmVsV2l0aERlYkluZm8gXAotICAgIC1EQlVJTERfRVhBTVBMRVM9T0ZGIFwKLSAgICAtRExJQl9JTlNUQUxMX0RJUj0ke2xpYmRpcn0gXAotIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmdpdDIvbGliZ2l0Ml8wLjI3LjguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJnaXQyL2xpYmdpdDJfMC4yNy44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0MzQwODkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJnaXQyL2xpYmdpdDJfMC4yNy44LmJiCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAidGhlIEdpdCBsaW5rYWJsZSBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL2xpYmdpdDIuZ2l0aHViLmNvbS8iCitMSUNFTlNFID0gIkdQTC0yLjAtd2l0aC1HQ0MtZXhjZXB0aW9uICYgTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2YyY2Q1ZDNjY2NkNzFkNjIwNjZiYTYxOTYxNDU5MmIiCisKK0RFUEVORFMgPSAiY3VybCBvcGVuc3NsIHpsaWIgbGlic3NoMiBsaWJnY3J5cHQiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9saWJnaXQyL2xpYmdpdDIuZ2l0O2JyYW5jaD1tYWludC92MC4yNyIKKyN2MC4yNy44CitTUkNSRVYgPSAiMjg4MjgwM2NhMmIyY2RlZGQwNjk3NDY0MjIxNTVhMjNmZGQwMDJiMiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZQorCitFWFRSQV9PRUNNQUtFID0gIlwKKyAgICAtRFRIUkVBRFNBRkU9T04gXAorICAgIC1EQlVJTERfQ0xBUj1PRkYgXAorICAgIC1EU0hBMV9UWVBFPSJidWlsdGluIiBcCisgICAgLURDTUFLRV9CVUlMRF9UWVBFPVJlbFdpdGhEZWJJbmZvIFwKKyAgICAtREJVSUxEX0VYQU1QTEVTPU9GRiBcCisgICAgLURMSUJfSU5TVEFMTF9ESVI9JHtsaWJkaXJ9IFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJncGlvZC9saWJncGlvZF8wLjMuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmdwaW9kL2xpYmdwaW9kXzAuMy4zLmJiCmluZGV4IDA5ZmI2NWEuLjk2NjE1ZWIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmdwaW9kL2xpYmdwaW9kXzAuMy4zLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmdwaW9kL2xpYmdwaW9kXzAuMy4zLmJiCkBAIC0xLDQgKzEsNiBAQAogcmVxdWlyZSBsaWJncGlvZC5pbmMKIAorUEFDS0FHRUNPTkZJR1t0ZXN0c10gPSAiLS1lbmFibGUtdGVzdHMsLS1kaXNhYmxlLXRlc3RzLGttb2QgdWRldiIKKwogU1JDX1VSSVttZDVzdW1dID0gIjJhYTFlMWE4MGMzYzkxOWFlMTQyYWI5YTU1ZmI1OWNhIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gImI3NzNlNTU3YWYxYTQ5N2Y3ODY4MjU0NjJhNzc2YjdiZjkwMTY4ZTY3ZWUwYTViYzVkMjQ3M2E1Njc0ZGMzOGMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJncGlvZC9saWJncGlvZF8xLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJncGlvZC9saWJncGlvZF8xLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwMjg5YjkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ3Bpb2QvbGliZ3Bpb2RfMS4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotcmVxdWlyZSBsaWJncGlvZC5pbmMKLQotREVQRU5EUyArPSAiYXV0b2NvbmYtYXJjaGl2ZS1uYXRpdmUiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIzNGE5OTcyZjJmNGU5YzMyZmE5NDAzMDEzMDFiMDA3ZCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiNmI5MDc5YzkzM2Y3Yzg1MjQ4MTU0Mzc5MzdkZGE2Yjc5NWExNjE0MWJjYTIwMmE5ZWVjNzBiYTU4NDRiNWJhIgotCi1QQUNLQUdFQ09ORklHW2N4eF0gPSAiLS1lbmFibGUtYmluZGluZ3MtY3h4LC0tZGlzYWJsZS1iaW5kaW5ncy1jeHgiCi0KLVBBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS1lbmFibGUtYmluZGluZ3MtcHl0aG9uLC0tZGlzYWJsZS1iaW5kaW5ncy1weXRob24scHl0aG9uMyxweXRob24zLWNvcmUiCi1pbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uM25hdGl2ZScsICcnLCBkKX0KLQotUEFDS0FHRVMgPSsgIiR7UE59LXB5dGhvbiIKLUZJTEVTXyR7UE59LXB5dGhvbiA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSIKLVJSRUNPTU1FTkRTX1BZVEhPTiA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJyR7UE59LXB5dGhvbicsICcnLGQpfSIKLVJSRUNPTU1FTkRTXyR7UE59ICs9ICIke1JSRUNPTU1FTkRTX1BZVEhPTn0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJncGlvZC9saWJncGlvZF8xLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJncGlvZC9saWJncGlvZF8xLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTUxM2EzMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmdwaW9kL2xpYmdwaW9kXzEuMy5iYgpAQCAtMCwwICsxLDE3IEBACityZXF1aXJlIGxpYmdwaW9kLmluYworCitERVBFTkRTICs9ICJhdXRvY29uZi1hcmNoaXZlLW5hdGl2ZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjlmNzUzMGE1ZDU2ZjA3MGJhMGFmNzhkNmJhMDc3OTczIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZlYzgzN2YyM2U4ZjIxOTZlNTk3NmRlYzRhYzgxNDAzMTcwODMwMDc1ZTdmMzNlZGUxMzk0ZWFmNjdmMmU5NjIiCisKK1BBQ0tBR0VDT05GSUdbY3h4XSA9ICItLWVuYWJsZS1iaW5kaW5ncy1jeHgsLS1kaXNhYmxlLWJpbmRpbmdzLWN4eCIKK1BBQ0tBR0VDT05GSUdbdGVzdHNdID0gIi0tZW5hYmxlLXRlc3RzIC0tZW5hYmxlLWluc3RhbGwtdGVzdHMsLS1kaXNhYmxlLXRlc3RzIC0tZGlzYWJsZS1pbnN0YWxsLXRlc3RzLGttb2QgdWRldiIKKworUEFDS0FHRUNPTkZJR1tweXRob24zXSA9ICItLWVuYWJsZS1iaW5kaW5ncy1weXRob24sLS1kaXNhYmxlLWJpbmRpbmdzLXB5dGhvbixweXRob24zIgoraW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJ3B5dGhvbjNuYXRpdmUnLCAnJywgZCl9CisKK1BBQ0tBR0VTID0rICIke1BOfS1weXRob24iCitGSUxFU18ke1BOfS1weXRob24gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0iCitSUkVDT01NRU5EU19QWVRIT04gPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICcke1BOfS1weXRob24nLCAnJyxkKX0iCitSUkVDT01NRU5EU18ke1BOfS1weXRob24gKz0gIiR7UlJFQ09NTUVORFNfUFlUSE9OfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmlpby9saWJpaW9fZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliaWlvL2xpYmlpb19naXQuYmIKaW5kZXggZmE2ZjRjMi4uY2MwZWZjYyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliaWlvL2xpYmlpb19naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliaWlvL2xpYmlpb19naXQuYmIKQEAgLTQsOCArNCw4IEBACiBMSUNFTlNFID0gIkxHUEx2Mi4xKyIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcudHh0O21kNT03YzEzYjMzNzZjZWEwY2U2OGQyZDJkYTBhMWIzYTcyYyIKIAotU1JDUkVWID0gImZhODI5NzRkOGJkMWZkZWQ3OGU2MzBhYjcxYTdkZWQxYjExZDBlMzMiCi1QViA9ICIwLjE0K2dpdCR7U1JDUFZ9IgorU1JDUkVWID0gIjZlY2ZmNWQ0NmUxYjEyYzI4NTlmMGI2M2E3MzI4Mjk0MGUzNDAyYmIiCitQViA9ICIwLjE1K2dpdCR7U1JDUFZ9IgogCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYW5hbG9nZGV2aWNlc2luYy9saWJpaW8uZ2l0O3Byb3RvY29sPWh0dHBzIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJteG1sL2xpYm14bWxfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlibXhtbC9saWJteG1sX2dpdC5iYgppbmRleCA1NDJmZTgxLi5iMTdmYzY3IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJteG1sL2xpYm14bWxfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm14bWwvbGlibXhtbF9naXQuYmIKQEAgLTEsMTMgKzEsMTQgQEAKIERFU0NSSVBUSU9OID0gIlRpbnkgWE1MIExpYnJhcnkiCi1MSUNFTlNFID0gIk1pbmktWE1MLUxpY2Vuc2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hNmJhMzg2MDZkNjNiYjA0MmM1ZDhjZmVlMTgyZTEyMCIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTg2ZDNmM2E5NWMzMjRjOTQ3OWJkODk4Njk2OGY0MzI3IgogSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cubXN3ZWV0Lm9yZy9teG1sLyIKIEJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL21pY2hhZWxyc3dlZXQvbXhtbC9pc3N1ZXMiCiAKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9taWNoYWVscnN3ZWV0L214bWwuZ2l0IgotU1JDUkVWID0gImJhM2NjYTgyZTE1YTg4YTljYzZhZmI2MGYwNTkyODhhOTlhZmM3MDMiCitTUkNSRVYgPSAiYzc3NTViNjk5MmEyYWZkZDM0ZGRlNDdmYzliZTk3ZjEyMzdjZmRlZCIKIFMgPSAiJHtXT1JLRElSfS9naXQiCi1QViA9ICIyLjEyK2dpdCR7U1JDUFZ9IgorIyB2My4wCitQViA9ICIzLjAiCiAKIENPTkZJR1VSRU9QVFMgPSAiIC0tcHJlZml4PSR7cHJlZml4fSBcCiAgICAgICAgICAgICAgICAgICAtLWJpbmRpcj0ke2JpbmRpcn0gXApAQCAtMjgsNiArMjksOCBAQAogICAgICAgICAgICAgICAgICIKIAogZG9fY29uZmlndXJlKCkgeworICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLmd1ZXNzICR7U30KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5zdWIgJHtTfQogICAgIC4vY29uZmlndXJlICR7Q09ORklHVVJFT1BUU30gLS1lbmFibGUtc2hhcmVkCiB9CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNzaDIvbGlic3NoMl8xLjguMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNzaDIvbGlic3NoMl8xLjguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTRiZmI4Zi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzc2gyL2xpYnNzaDJfMS44LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1TVU1NQVJZID0gIkEgY2xpZW50LXNpZGUgQyBsaWJyYXJ5IGltcGxlbWVudGluZyB0aGUgU1NIMiBwcm90b2NvbCIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cubGlic3NoMi5vcmcvIgotU0VDVElPTiA9ICJsaWJzIgotCi1ERVBFTkRTID0gInpsaWIiCi0KLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzVjZjM0ZmMwYWNiNDRiMDgyZWY1MGVmNWU0MzU0Y2EiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5saWJzc2gyLm9yZy9kb3dubG9hZC8ke0JQfS50YXIuZ3oiCi1TUkNfVVJJW21kNXN1bV0gPSAiM2QxMTQ3Y2FlNjZlMjk1OWVhNTQ0MWIxODNkZTFiMWMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzlmMzRlMmY2ODM1ZjRiOTkyY2FmZTg2MjUwNzNhODhlNWEyOGJhNzhmODNlODA5OTYxMGE3YjNhZjQ2NzZkNCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLUVYVFJBX09FQ09ORiArPSAiXAotICAgICAgICAgICAgICAgICAtLXdpdGgtbGlieiBcCi0gICAgICAgICAgICAgICAgIC0td2l0aC1saWJ6LXByZWZpeD0ke1NUQUdJTkdfTElCRElSfSBcCi0gICAgICAgICAgICAgICAgIgotCi0jIG9ubHkgb25lIG9mIG9wZW5zc2wgYW5kIGdjcnlwdCBjb3VsZCBiZSBzZXQKLVBBQ0tBR0VDT05GSUcgPz89ICJvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtb3BlbnNzbCAtLXdpdGgtbGlic3NsLXByZWZpeD0ke1NUQUdJTkdfTElCRElSfSwtLXdpdGhvdXQtb3BlbnNzbCxvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1tnY3J5cHRdID0gIi0td2l0aC1saWJnY3J5cHQgLS13aXRoLWxpYmdjcnlwdC1wcmVmaXg9JHtTVEFHSU5HX0VYRUNQUkVGSVhESVJ9LC0td2l0aG91dC1saWJnY3J5cHQsbGliZ2NyeXB0IgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNzaDIvbGlic3NoMl8xLjguMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNzaDIvbGlic3NoMl8xLjguMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTg1M2NkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic3NoMi9saWJzc2gyXzEuOC4yLmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiQSBjbGllbnQtc2lkZSBDIGxpYnJhcnkgaW1wbGVtZW50aW5nIHRoZSBTU0gyIHByb3RvY29sIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saWJzc2gyLm9yZy8iCitTRUNUSU9OID0gImxpYnMiCisKK0RFUEVORFMgPSAiemxpYiIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jNWNmMzRmYzBhY2I0NGIwODJlZjUwZWY1ZTQzNTRjYSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpYnNzaDIub3JnL2Rvd25sb2FkLyR7QlB9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjYxNmVmZDk5YWYzZDllZjczMWEyNmJlZDZjZWU5NTkzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA4ODMwN2Q5ZjZiNmM0YjhjMTNmMzQ2MDJlOGZmNjVkMjFjMmRjNGQ1NTI4NGRmZTE1ZDUwMmM0ZWUxOTBkNjciCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgKz0gIlwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWxpYnogXAorICAgICAgICAgICAgICAgICAtLXdpdGgtbGliei1wcmVmaXg9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgICIKKworIyBvbmx5IG9uZSBvZiBvcGVuc3NsIGFuZCBnY3J5cHQgY291bGQgYmUgc2V0CitQQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLW9wZW5zc2wgLS13aXRoLWxpYnNzbC1wcmVmaXg9JHtTVEFHSU5HX0xJQkRJUn0sLS13aXRob3V0LW9wZW5zc2wsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbZ2NyeXB0XSA9ICItLXdpdGgtbGliZ2NyeXB0IC0td2l0aC1saWJnY3J5cHQtcHJlZml4PSR7U1RBR0lOR19FWEVDUFJFRklYRElSfSwtLXdpdGhvdXQtbGliZ2NyeXB0LGxpYmdjcnlwdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZWFtL2xpYnRlYW1fMS4yNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRlYW0vbGlidGVhbV8xLjI3LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NDI1OTJkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRlYW0vbGlidGVhbV8xLjI3LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBjb250cm9sbGluZyB0ZWFtIG5ldHdvcmsgZGV2aWNlIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saWJ0ZWFtLm9yZy8iCi1TRUNUSU9OID0gImxpYnMvbmV0d29yayIKLQotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgotCi1ERVBFTkRTID0gImxpYm5sIGxpYmRhZW1vbiBqYW5zc29uIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vanBpcmtvL2xpYnRlYW0gXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1pbmNsdWRlLXN5cy1zZWxlY3QuaC1mb3ItZmRfc2V0LWRlZmluaXRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi10ZWFtZC1SZS1hZGp1c3QtaW5jbHVkZS1oZWFkZXItb3JkZXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS10ZWFtX2Jhc2ljX3Rlc3QucHktZGlzYWJsZS1SZWRIYXQtc3BlY2lmaWMtdGVzdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICAiCi1TUkNSRVYgPSAiOTFhOTI4YTU2YTUwMWRhYWM1Y2U4YjNjMTZiZDk5NDM2NjFmMWQxNiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjU2NTExNGQ3MGM0MWJmZjYwOTNkOGU1N2JlMjg0ZThhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ2NTI4NjM3OTE0MWRiMTQxYmVhMzM0MjRlYzA1MDdiYjBmODI3YTBiZjAzZDljNjUwMDRiYjU5M2UzZDU1NDUiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBwdGVzdAotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGlidGVhbSR7U09MSUJTfSBcCi0iCi0KLVBBQ0tBR0VTICs9ICIke1BOfS1kY3RsICR7UE59LXV0aWxzIgotRklMRVNfJHtQTn0tZGN0bCA9ICIke2xpYmRpcn0vbGlidGVhbWRjdGwke1NPTElCU30gXAotIgotRklMRVNfJHtQTn0tdXRpbHMgPSAiJHtiaW5kaXJ9L2JvbmQydGVhbSBcCi0gICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdGVhbWQgXAotICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3RlYW1kY3RsIFwKLSAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS90ZWFtbmwgXAotIgotCi1SREVQRU5EU18ke1BOfS11dGlscyA9ICJiYXNoIgotUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAicHl0aG9uIgotCi1kb19pbnN0YWxsX3B0ZXN0KCkgewotCWluc3RhbGwgJHtTfS9zY3JpcHRzL3RlYW1fYmFzaWNfdGVzdC5weSAke0R9JHtQVEVTVF9QQVRIfS8KLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRlYW0vbGlidGVhbV8xLjI4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidGVhbS9saWJ0ZWFtXzEuMjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjgwYmI0ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRlYW0vbGlidGVhbV8xLjI4LmJiCkBAIC0wLDAgKzEsMzkgQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3IgY29udHJvbGxpbmcgdGVhbSBuZXR3b3JrIGRldmljZSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubGlidGVhbS5vcmcvIgorU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworREVQRU5EUyA9ICJsaWJubCBsaWJkYWVtb24gamFuc3NvbiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2pwaXJrby9saWJ0ZWFtIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaW5jbHVkZS1zeXMtc2VsZWN0LmgtZm9yLWZkX3NldC1kZWZpbml0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItdGVhbWQtUmUtYWRqdXN0LWluY2x1ZGUtaGVhZGVyLW9yZGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtdGVhbV9iYXNpY190ZXN0LnB5LWRpc2FibGUtUmVkSGF0LXNwZWNpZmljLXRlc3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgIgorU1JDUkVWID0gIjkwMzk1MGM3ZmNmMjhjMzJmNGI2MmQ5ZDFjMDdjMDIzNGU4Mzc4YTIiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBwdGVzdAorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGlidGVhbSR7U09MSUJTfSBcCisiCisKK1BBQ0tBR0VTICs9ICIke1BOfS1kY3RsICR7UE59LXV0aWxzIgorRklMRVNfJHtQTn0tZGN0bCA9ICIke2xpYmRpcn0vbGlidGVhbWRjdGwke1NPTElCU30gXAorIgorRklMRVNfJHtQTn0tdXRpbHMgPSAiJHtiaW5kaXJ9L2JvbmQydGVhbSBcCisgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdGVhbWQgXAorICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3RlYW1kY3RsIFwKKyAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS90ZWFtbmwgXAorIgorCitSREVQRU5EU18ke1BOfS11dGlscyA9ICJiYXNoIgorUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAicHl0aG9uIgorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworCWluc3RhbGwgJHtTfS9zY3JpcHRzL3RlYW1fYmFzaWNfdGVzdC5weSAke0R9JHtQVEVTVF9QQVRIfS8KK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4LWNvbmZpZy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4LWNvbmZpZy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjY5ZTMzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZ3gvbGlidXNiZ3gtY29uZmlnLmJiCkBAIC0wLDAgKzEsMTIgQEAKK1NVTU1BUlkgPSAiVVNCIEdhZGdldCBDb25maWd1cmF0aW9uIEZpbGVzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKKworU1JDX1VSSSA9ICJmaWxlOi8vdXNiZ3guZGVmYXVsdCIKKworZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKK2RvX2NvbXBpbGVbbm9leGVjXSA9ICIxIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLURtIDA2NDQgJHtXT1JLRElSfS91c2JneC5kZWZhdWx0ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdXNiZ3gKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4LWNvbmZpZy91c2JneC5kZWZhdWx0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZ3gvbGlidXNiZ3gtY29uZmlnL3VzYmd4LmRlZmF1bHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY5MGRmZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4LWNvbmZpZy91c2JneC5kZWZhdWx0CkBAIC0wLDAgKzEsMiBAQAorSU1QT1JUX1NDSEVNQVM9IiIKK0VOQUJMRURfU0NIRU1BUz0iJElNUE9SVF9TQ0hFTUFTIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZ3gvbGlidXNiZ3gvZ2FkZ2V0LXN0YXJ0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZ3gvbGlidXNiZ3gvZ2FkZ2V0LXN0YXJ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhMTA2YjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC9nYWRnZXQtc3RhcnQKQEAgLTAsMCArMSwxMSBAQAorIyEvYmluL3NoCisKK1sgLXIgL2V0Yy9kZWZhdWx0L3VzYmd4IF0gJiYgLiAvZXRjL2RlZmF1bHQvdXNiZ3gKKworZm9yIGkgaW4gJElNUE9SVF9TQ0hFTUFTOyBkbworICAgIC91c3IvYmluL2dhZGdldC1pbXBvcnQgIiRpIiAvZXRjL3VzYmd4LyIkaSIuc2NoZW1hCitkb25lCisKK2ZvciBpIGluICRFTkFCTEVEX1NDSEVNQVM7IGRvCisgICAgbHMgL3N5cy9jbGFzcy91ZGMvID4gL3N5cy9rZXJuZWwvY29uZmlnL3VzYl9nYWRnZXQvIiRpIi9VREMKK2RvbmUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4L3VzYmd4LmluaXRkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZ3gvbGlidXNiZ3gvdXNiZ3guaW5pdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE5MzgwNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4L3VzYmd4LmluaXRkCkBAIC0wLDAgKzEsMTQzIEBACisjISAvYmluL3NoCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiAgICAgICAgICB1c2JnCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkbG9jYWxfZnMKKyMgU2hvdWxkLVN0YXJ0OgorIyBSZXF1aXJlZC1TdG9wOiAgICAgJGxvY2FsX2ZzCisjIFNob3VsZC1TdG9wOgorIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IEV4YW1wbGUgaW5pdHNjcmlwdAorIyBEZXNjcmlwdGlvbjogICAgICAgVGhpcyBmaWxlIHNob3VsZCBiZSB1c2VkIHRvIGNvbnN0cnVjdCBzY3JpcHRzIHRvIGJlCisjICAgICAgICAgICAgICAgICAgICBwbGFjZWQgaW4gL2V0Yy9pbml0LmQKKyMjIyBFTkQgSU5JVCBJTkZPCisKKyMgUEFUSCBzaG91bGQgb25seSBpbmNsdWRlIC91c3IvKiBpZiBpdCBydW5zIGFmdGVyIHRoZSBtb3VudG5mcy5zaCBzY3JpcHQKK1BBVEg9L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW4KKworREVTQz0iTG9hZCBVU0IgZ2FkZ2V0IHNjaGVtYXMiCitOQU1FPSJ1c2JneCIKK0RBRU1PTj0vdXNyL2Jpbi9nYWRnZXQtc3RhcnQKK0RBRU1PTl9BUkdTPSIiCitQSURGSUxFPS92YXIvcnVuLyROQU1FLnBpZAorCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucyB8fCBleGl0IDEKKworIyBFeGl0IGlmIHRoZSBwYWNrYWdlIGlzIG5vdCBpbnN0YWxsZWQKK1sgLXggIiREQUVNT04iIF0gfHwgZXhpdCAwCisKKyMgUmVhZCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGZpbGUgaWYgaXQgaXMgcHJlc2VudAorWyAtciAvZXRjL2RlZmF1bHQvJE5BTUUgXSAmJiAuIC9ldGMvZGVmYXVsdC8kTkFNRQorCisjCisjIEZ1bmN0aW9uIHRoYXQgc3RhcnRzIHRoZSBkYWVtb24vc2VydmljZQorIworZG9fc3RhcnQoKSB7CisgICAgbG9jYWwgc3RhdHVzIHBpZAorCisgICAgc3RhdHVzPTAKKyAgICBwaWQ9YHBpZG9mcHJvYyAkTkFNRWAgfHwgc3RhdHVzPSQ/CisgICAgY2FzZSAkc3RhdHVzIGluCisgICAgICAgIDApCisgICAgICAgICAgICBlY2hvICIkREVTQyBhbHJlYWR5IHJ1bm5pbmcgKCRwaWQpLiIKKyAgICAgICAgICAgIGV4aXQgMQorICAgICAgICAgICAgOzsKKyAgICAgICAgKikKKyAgICAgICAgICAgIGVjaG8gIlN0YXJ0aW5nICRERVNDIC4uLiIKKyAgICAgICAgICAgIGV4ZWMgJERBRU1PTiAkREFFTU9OX0FSR1MgPi9kZXYvbnVsbCAyPiYxIHx8IHN0YXR1cz0kPworICAgICAgICAgICAgZWNobyAiRVJST1I6IEZhaWxlZCB0byBzdGFydCAkREVTQy4iCisgICAgICAgICAgICBleGl0ICRzdGF0dXMKKyAgICAgICAgICAgIDs7CisgICAgZXNhYworfQorCisjCisjIEZ1bmN0aW9uIHRoYXQgc3RvcHMgdGhlIGRhZW1vbi9zZXJ2aWNlCisjCitkb19zdG9wKCkgeworICAgIGxvY2FsIHBpZCBzdGF0dXMKKworICAgIHN0YXR1cz0wCisgICAgcGlkPWBwaWRvZnByb2MgJE5BTUVgIHx8IHN0YXR1cz0kPworICAgIGNhc2UgJHN0YXR1cyBpbgorICAgICAgICAwKQorICAgICAgICAgICAgIyBFeGl0IHdoZW4gZmFpbCB0byBzdG9wLCB0aGUga2lsbCB3b3VsZCBjb21wbGFpbiB3aGVuIGZhaWwKKyAgICAgICAgICAgIGtpbGwgLXMgMTUgJHBpZCA+L2Rldi9udWxsICYmIHJtIC1mICRQSURGSUxFICYmIFwKKyAgICAgICAgICAgICAgICBlY2hvICJTdG9wcGVkICRERVNDICgkcGlkKS4iIHx8IGV4aXQgJD8KKyAgICAgICAgICAgIDs7CisgICAgICAgICopCisgICAgICAgICAgICBlY2hvICIkREVTQyBpcyBub3QgcnVubmluZzsgbm9uZSBraWxsZWQuIiA+JjIKKyAgICAgICAgICAgIDs7CisgICAgZXNhYworCisgICAgcmV0dXJuICRzdGF0dXMKK30KKworIworIyBGdW5jdGlvbiB0aGF0IHNlbmRzIGEgU0lHSFVQIHRvIHRoZSBkYWVtb24vc2VydmljZQorIworZG9fcmVsb2FkKCkgeworICAgIGxvY2FsIHBpZCBzdGF0dXMKKworICAgIHN0YXR1cz0wCisgICAgIyBJZiB0aGUgZGFlbW9uIGNhbiByZWxvYWQgaXRzIGNvbmZpZ3VyYXRpb24gd2l0aG91dAorICAgICMgcmVzdGFydGluZyAoZm9yIGV4YW1wbGUsIHdoZW4gaXQgaXMgc2VudCBhIFNJR0hVUCksCisgICAgIyB0aGVuIGltcGxlbWVudCB0aGF0IGhlcmUuCisgICAgcGlkPWBwaWRvZnByb2MgJE5BTUVgIHx8IHN0YXR1cz0kPworICAgIGNhc2UgJHN0YXR1cyBpbgorICAgICAgICAwKQorICAgICAgICAgICAgZWNobyAiUmVsb2FkaW5nICRERVNDIC4uLiIKKyAgICAgICAgICAgIGtpbGwgLXMgMSAkcGlkIHx8IGV4aXQgJD8KKyAgICAgICAgICAgIDs7CisgICAgICAgICopCisgICAgICAgICAgICBlY2hvICIkREVTQyBpcyBub3QgcnVubmluZzsgbm9uZSByZWxvYWRlZC4iID4mMgorICAgICAgICAgICAgOzsKKyAgICBlc2FjCisgICAgZXhpdCAkc3RhdHVzCit9CisKKworIworIyBGdW5jdGlvbiB0aGF0IHNob3dzIHRoZSBkYWVtb24vc2VydmljZSBzdGF0dXMKKyMKK3N0YXR1c19vZl9wcm9jICgpIHsKKyAgICBsb2NhbCBwaWQgc3RhdHVzCisKKyAgICBzdGF0dXM9MAorICAgICMgcGlkb2Ygb3V0cHV0IG51bGwgd2hlbiBubyBwcm9ncmFtIGlzIHJ1bm5pbmcsIHNvIG5vICIyPi9kZXYvbnVsbCIuCisgICAgcGlkPWBwaWRvZnByb2MgJE5BTUVgIHx8IHN0YXR1cz0kPworICAgIGNhc2UgJHN0YXR1cyBpbgorICAgICAgICAwKQorICAgICAgICAgICAgZWNobyAiJERFU0MgaXMgcnVubmluZyAoJHBpZCkuIgorICAgICAgICAgICAgZXhpdCAwCisgICAgICAgICAgICA7OworICAgICAgICAqKQorICAgICAgICAgICAgZWNobyAiJERFU0MgaXMgbm90IHJ1bm5pbmcuIiA+JjIKKyAgICAgICAgICAgIGV4aXQgJHN0YXR1cworICAgICAgICAgICAgOzsKKyAgICBlc2FjCit9CisKK2Nhc2UgIiQxIiBpbgorICAgIHN0YXJ0KQorICAgICAgICBkb19zdGFydAorICAgICAgICA7OworICAgIHN0b3ApCisgICAgICAgIGRvX3N0b3AgfHwgZXhpdCAkPworICAgICAgICA7OworICAgIHN0YXR1cykKKyAgICAgICAgc3RhdHVzX29mX3Byb2MKKyAgICAgICAgOzsKKyAgICByZXN0YXJ0KQorICAgICAgICAjIEFsd2F5cyBzdGFydCB0aGUgc2VydmljZSByZWdhcmRsZXNzIHRoZSBzdGF0dXMgb2YgZG9fc3RvcAorICAgICAgICBkb19zdG9wCisgICAgICAgIGRvX3N0YXJ0CisgICAgICAgIDs7CisgICAgdHJ5LXJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorICAgICAgICBkb19zdG9wICYmIGRvX3N0YXJ0CisgICAgICAgIDs7CisgICAgKikKKyAgICAgICAgZWNobyAiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHN0YXR1c3xyZXN0YXJ0fHRyeS1yZXN0YXJ0fGZvcmNlLXJlbG9hZH0iID4mMgorICAgICAgICBleGl0IDMKKyAgICAgICAgOzsKK2VzYWMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4L3VzYmd4LnNlcnZpY2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC91c2JneC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0NTQxZDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC91c2JneC5zZXJ2aWNlCkBAIC0wLDAgKzEsOSBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1Mb2FkIFVTQiBnYWRnZXQgc2NoZW1hcworCitbU2VydmljZV0KK1R5cGU9b25lc2hvdAorRXhlY1N0YXJ0PS91c3IvYmluL2dhZGdldC1zdGFydAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneF9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDczY2E2MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4X2dpdC5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIlVTQiBHYWRnZXQgbmVYdCBDb25maWdmcyBMaWJyYXJ5IgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworREVQRU5EUyA9ICJsaWJjb25maWciCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBzeXN0ZW1kIHVwZGF0ZS1yYy5kCisKK1BWID0gIjAuMi4wK2dpdCR7U1JDUFZ9IgorU1JDUkVWID0gIjQ1YzE0ZWY0ZDVkN2NlZDBmYmY5ODQyMDhkZTQ0Y2VkNmQ1ZWQ4OTgiCitTUkNCUkFOQ0ggPSAibWFzdGVyIgorU1JDX1VSSSA9ICIgXAorICAgIGdpdDovL2dpdGh1Yi5jb20vbGlidXNiZ3gvbGlidXNiZ3guZ2l0O2JyYW5jaD0ke1NSQ0JSQU5DSH0gXAorICAgIGZpbGU6Ly9nYWRnZXQtc3RhcnQgXAorICAgIGZpbGU6Ly91c2JneC5pbml0ZCBcCisgICAgZmlsZTovL3VzYmd4LnNlcnZpY2UgXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInVzYmd4LnNlcnZpY2UiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJ1c2JneCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgorCitFWFRSQV9PRUNPTkYgPSAiLS1pbmNsdWRlZGlyPSR7aW5jbHVkZWRpcn0vdXNiZ3giCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLURtIDA3NTUgJHtXT1JLRElSfS9nYWRnZXQtc3RhcnQgJHtEfS8ke2JpbmRpcn0vZ2FkZ2V0LXN0YXJ0CisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1EbSAwNjQ0ICR7V09SS0RJUn0vdXNiZ3guc2VydmljZSAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS91c2JneC5zZXJ2aWNlCisgICAgZmkKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKwkJaW5zdGFsbCAtRG0gMDc1NSAke1dPUktESVJ9L3VzYmd4LmluaXRkICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC91c2JneAorCWZpCit9CisKK1JERVBFTkRTXyR7UE59ICs9ICJsaWJ1c2JneC1jb25maWciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1dGVtcHRlci9saWJ1dGVtcHRlci5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnV0ZW1wdGVyL2xpYnV0ZW1wdGVyLmJiCmluZGV4IDhjODRjYjMuLmI4YTcwMGIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnV0ZW1wdGVyL2xpYnV0ZW1wdGVyLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnV0ZW1wdGVyL2xpYnV0ZW1wdGVyLmJiCkBAIC0xMiw2ICsxMiw3IEBACiAKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmFsdGxpbnV4Lm9yZy9wZW9wbGUvbGR2L3BhY2thZ2VzL2xpYnV0ZW1wdGVyLmdpdCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1tYWNyby1lcnJvci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLVByb3Blci1tYWNyby1wYXRoLWdlbmVyYXRpb24ucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vbGlidXRlbXB0ZXItcmVtb3ZlLWdsaWJjLWFzc3VtcHRpb24ucGF0Y2ggXAogICAgICAgICAgICIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXRlbXB0ZXIvbGlidXRlbXB0ZXIvMDAwMi1Qcm9wZXItbWFjcm8tcGF0aC1nZW5lcmF0aW9uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXRlbXB0ZXIvbGlidXRlbXB0ZXIvMDAwMi1Qcm9wZXItbWFjcm8tcGF0aC1nZW5lcmF0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhODY2YzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1dGVtcHRlci9saWJ1dGVtcHRlci8wMDAyLVByb3Blci1tYWNyby1wYXRoLWdlbmVyYXRpb24ucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSA0OGI2YmNmOWY1ZDhhMDVlYWNlNGJjNDYzYzQ3ZThhNDcxNWQzMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogaWRkaW5ldiA8eGlkaW5ldkBnbWFpbC5jb20+CitEYXRlOiBNb24sIDE4IE1hciAyMDE5IDE1OjQ1OjIwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFByb3BlciBtYWNybyBwYXRoIGdlbmVyYXRpb24uCisKK1NpZ25lZC1vZmYtYnk6IGlkZGluZXYgPHhpZGluZXZAZ21haWwuY29tPgorLS0tCisgbGlidXRlbXB0ZXIvaWZhY2UuYyB8IDcgKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgbGlidXRlbXB0ZXIvaWZhY2UuYyBsaWJ1dGVtcHRlci9pZmFjZS5jCitpbmRleCAyNzc5M2YwLi5jMWMwZWU5IDEwMDY0NAorLS0tIGxpYnV0ZW1wdGVyL2lmYWNlLmMKKysrKyBsaWJ1dGVtcHRlci9pZmFjZS5jCitAQCAtNDQsMTMgKzQ0LDEyIEBACisgI2VuZGlmCisgCisgI2lmZGVmICBMSUJFWEVDRElSCistIyAgZGVmaW5lIENBVF9QQVRIKERJUjEsRElSMikgICAgICAgICAgIERJUjEjI0RJUjIKKy0jICBkZWZpbmUgUkFXX1VURU1QVEVSX1BBVEggICAgICAgICAgICAgQ0FUX1BBVEgoTElCRVhFQ0RJUiwvdXRlbXB0ZXIvdXRlbXB0ZXIpCisrIyAgZGVmaW5lIFVURU1QVEVSX0RFRkFVTFRfUEFUSE5BTUUgICAgIFhTVFJfUEFUSChMSUJFWEVDRElSKSIvdXRlbXB0ZXIvdXRlbXB0ZXIiCisgI2Vsc2UKKy0jICBkZWZpbmUgUkFXX1VURU1QVEVSX1BBVEggICAgICAgICAgICAgL3Vzci9saWIvbGlidGVtcHRlci91dGVtcHRlci91dGVtcHRlcgorKyMgIGRlZmluZSBVVEVNUFRFUl9ERUZBVUxUX1BBVEhOQU1FICAgICBTVFJfUEFUSCgvdXNyL2xpYi9saWJ0ZW1wdGVyL3V0ZW1wdGVyL3V0ZW1wdGVyKQorICNlbmRpZgorICNkZWZpbmUgU1RSX1BBVEgoUkFXX1NUUikgICAgICAgICAgICAgICAjUkFXX1NUUgorLSNkZWZpbmUgVVRFTVBURVJfREVGQVVMVF9QQVRITkFNRSAgICAgICBTVFJfUEFUSChSQVdfVVRFTVBURVJfUEFUSCkKKysjZGVmaW5lIFhTVFJfUEFUSChTVFIpICAgICAgICAgICAgICAgICAgU1RSX1BBVEgoU1RSKQorIAorIHN0YXRpYyBjb25zdCBjaGFyICp1dGVtcHRlcl9wYXRobmFtZTsKKyBzdGF0aWMgaW50IHNhdmVkX2ZkID0gLTE7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpby11dGlscy9saW8tdXRpbHNfNC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlvLXV0aWxzL2xpby11dGlsc180LjEuYmIKaW5kZXggZDk3ODBjZi4uZWE1NGU3NSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlvLXV0aWxzL2xpby11dGlsc180LjEuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlvLXV0aWxzL2xpby11dGlsc180LjEuYmIKQEAgLTYsMTAgKzYsMTAgQEAKIAogUFYgPSAiNC4xK2dpdCR7U1JDUFZ9IgogCi1TUkNfVVJJID0gImdpdDovL3Jpc2luZ3RpZGVzeXN0ZW1zLmNvbS9saW8tdXRpbHMuZ2l0IFwKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9EYXRlcmEvbGlvLXV0aWxzLmdpdCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlcy1SZXNwZWN0LWVudmlyb25tZW50LXZhcmlhYmxlcy1hbmQtYWRkLUxERkwucGF0Y2ggXAogICAgICAgICAgICAiCi1TUkNSRVYgPSAiMjhiZDkyODY1NWJkYzdiZDNjZjM4MGYwMTk2NjMwNjkwYzUxZTA1ZiIKK1NSQ1JFViA9ICIwYWM5MDkxYzFmZjdhNTJkNTQzNWE0ZjQ0NDllODI2MzcxNDJlMDZlIgogUyA9ICIke1dPUktESVJ9L2dpdCIKIAogaW5oZXJpdCBkaXN0dXRpbHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldi8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbml0aW9ucy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldi8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbml0aW9ucy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTJmNWJlOS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXYvMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW5pdGlvbnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1Gcm9tIDJmMzlkYzNkNmY5MjBjMDgyNmFhNzQzNjdkYTFhMGE3Y2M0OWIwZmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAxMSBBdWcgMjAxOCAxNToxODowNCAtMDcwMAotU3ViamVjdDogW1BBVENIXSBpbmNsdWRlIHN5cy9zeXNtYWNyb3MuaCBmb3IgbWFqb3IvbWlub3IgZGVmaW5pdGlvbnMKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotaW5jbHVzaW9uIG9mIDxzeXMvc3lzbWFjcm9zLmg+IGJ5IDxzeXMvdHlwZXMuaD4gaXMgZGVwcmVjYXRlZC4KLVRoaXMgbWVhbnMgdGhhdCBpbiBhIGZ1dHVyZSByZWxlYXNlLCB0aGUgbWFjcm9zIOKAnG1ham9y4oCdLCDigJxtaW5vcuKAnSwgYW5kCi3igJxtYWtlZGV24oCdIHdpbGwgb25seSBiZSBhdmFpbGFibGUgZnJvbSA8c3lzL3N5c21hY3Jvcy5oPi4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL2xvY2tkZXYuYyB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2xvY2tkZXYuYyBiL3NyYy9sb2NrZGV2LmMKLWluZGV4IDlhMGZjYTUuLjM1ODE5MzggMTAwNjQ0Ci0tLS0gYS9zcmMvbG9ja2Rldi5jCi0rKysgYi9zcmMvbG9ja2Rldi5jCi1AQCAtMTE3LDYgKzExNyw3IEBACi0gI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0gI2luY2x1ZGUgPHN5cy9maWxlLmg+Ci0gI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotKyNpbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+Ci0gI2luY2x1ZGUgPHN5cy93YWl0Lmg+Ci0gI2luY2x1ZGUgImxvY2tkZXYuaCIKLSAjaW5jbHVkZSAidHR5bG9jay5oIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2L2J1aWxkLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2L2J1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlYzkxZDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXYvYnVpbGQucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorY29tbWl0IDBkZDQ3MTIzNjU1YzUyZDY4MTg1ZjA2YjlkYThmYjBlMWI5MjU0MDAKK0F1dGhvcjogTHVkd2lnIE51c3NlbCA8bHVkd2lnLm51c3NlbEBzdXNlLmRlPgorRGF0ZTogICBUdWUgRmViIDkgMTQ6NTY6MjMgMjAxMCArMDEwMAorCisgICAgUmVkSGF0IHBhdGNoIDIKKyAgICAKKyAgICAtIGNoYW5nZSBsaWJyYXJ5IGZpbGUgbmFtZQorICAgIC0gaW5zdGFsbCBkZXZlbCBzeW1saW5rCisKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTExLDcgKzExLDcgQEAgVkVSCT0gJChzaGVsbCBleHByIGBwd2RgIDogJy4qLVwoWzAtOS5dKgorIE1WRVIJPSAke3NoZWxsIGV4cHIgYHB3ZGAgOiAnLiotXChbMC05XSpcKS5bMC05XSonfQorIAorIHN0YXRpYwk9ICR7bGlibmFtZX0uYQorLXNoYXJlZAk9ICR7bGlibmFtZX0uJHtWRVJ9LnNvCisrc2hhcmVkCT0gJHtsaWJuYW1lfS5zby4ke1ZFUn0KKyBzb25hbWUJPSAke2xpYm5hbWV9LnNvLiR7TVZFUn0KKyAKKyAjIG92ZXJ3cml0dGVuIGJ5IGNhbGxlciAoZS5nLjogZGViaWFuL3J1bGVzKQorQEAgLTcyLDYgKzcyLDcgQEAgaW5zdGFsbF9kb2M6CWRvY3MvbG9ja2Rldi4zCisgaW5zdGFsbF9ydW46CSR7c2hhcmVkfQorIAlpbnN0YWxsIC1tNzU1IC1kCSR7bGliZGlyfQorIAlpbnN0YWxsIC1tNjQ0ICR7c2hhcmVkfQkke2xpYmRpcn0KKysJbG4gLXMgJHtzaGFyZWR9CQkke2xpYmRpcn0vbGlibG9ja2Rldi5zbworIAorIC5QSE9OWTogY2xlYW4gZGlzdGNsZWFuIHBlcmwtY2xlYW4gbW9zdHljbGVhbiAKKyBwZXJsLWNsZWFuOgljbGVhbgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2L2Nyb3NzX2NvbXBpbGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXYvY3Jvc3NfY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYThmNmE0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2L2Nyb3NzX2NvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMTUsMTcgKzE1LDE3IEBAIHNoYXJlZAk9ICR7bGlibmFtZX0uJHtWRVJ9LnNvCisgc29uYW1lCT0gJHtsaWJuYW1lfS5zby4ke01WRVJ9CisgCisgIyBvdmVyd3JpdHRlbiBieSBjYWxsZXIgKGUuZy46IGRlYmlhbi9ydWxlcykKKy1iYXNlZGlyCT0gL3Vzci9sb2NhbAorK2Jhc2VkaXIJPz0gL3Vzci9sb2NhbAorIHNyY2Rpcj0uCisgCisgbGliZGlyCT0gJHtiYXNlZGlyfS9saWIKKyBpbmNkaXIJPSAke2Jhc2VkaXJ9L2luY2x1ZGUKKyBtYW5kaXIJPSAke2Jhc2VkaXJ9L3NoYXJlL21hbgorIAorLUNDCT0gZ2NjCistTENGTEFHUwk9IC1nIC1PMiAtZlBJQyAtV2FsbCAtcGlwZSAtRF9SRUVOVFJBTlQgCistQ0ZMQUdTCT0gLWcKKy1MRExJQlMJPSAtbGxvY2tkZXYKKytDQwk/PSBnY2MKKytMQ0ZMQUdTCT89IC1nIC1PMiAtZlBJQyAtV2FsbCAtcGlwZSAtRF9SRUVOVFJBTlQgCisrQ0ZMQUdTCT89IC1nCisrTERMSUJTCT89IC1sbG9ja2RldgorIAorIC5QSE9OWTogc2hhcmVkIHN0YXRpYyBwZXJsLWxpYgorIEFMTDoJc2hhcmVkIHN0YXRpYyBwZXJsLWxpYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2XzEuMC4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2XzEuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViODYyYmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXZfMS4wLjMuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJMb2NraW5nIGRldmljZXMgbGlicmFyeSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNPSJmaWxlOi8vTElDRU5TRTttZDU9ZDgwNDVmM2I4ZjkyOWMxY2IyOWExZTNmZDczN2I0OTkiCisKK1BFID0gIjEiCitTUkNfVVJJID0gImh0dHA6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hpdmUvZGViaWFuLzIwMTQxMDIzVDA0MzEzMlovcG9vbC9tYWluL2wvbG9ja2Rldi9sb2NrZGV2XyR7UFZ9Lm9yaWcudGFyLmd6IFwKKyAgICAgICAgICAgaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4vMjAxNDEwMjNUMDQzMTMyWi9wb29sL21haW4vbC9sb2NrZGV2L2xvY2tkZXZfJHtQVn0tMS42LmRpZmYuZ3o7bmFtZT1kZWJpYW5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9jcm9zc19jb21waWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2J1aWxkLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjY0YjljMWI4N2IxMjVmYzM0OGU4OTJlMjQ2MjU1MjRhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImNjYWU2MzVkN2FjM2ZkZDUwODk3ZWNlYjI1MDg3MmIzZDlhMTkxZDI5OGYyMTNlN2YwYzgzNjkxMGQ4NjlmODIiCitTUkNfVVJJW2RlYmlhbnBhdGNoLm1kNXN1bV0gPSAiNWVmNjI2N2M0MmZjYTkxNDVlMGFmMDA2Y2NiNmFmZjciCitTUkNfVVJJW2RlYmlhbnBhdGNoLnNoYTI1NnN1bV0gPSAiYTU0MDVjNmVlNWU5N2U0NWVlYjFjODEzMzBhN2U5ZjQ0NGE1OGJkYTVlNjc3MWZhMzAwMDc1MTZjMTE1MDA3ZSIKKworaW5oZXJpdCBsaWJfcGFja2FnZSBwZXJsbmF0aXZlCitleHBvcnQgYmFzZWRpcj0iJHtEfSR7cHJlZml4fSIKKworQ0ZMQUdTICs9ICIgLURfX0dOVV9MSUJSQVJZX18iCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitkb19jb21waWxlKCkgeworICAgICAgICBvZV9ydW5tYWtlIGJhc2VkaXI9JHtEfSR7cHJlZml4fSBMRD0iJHtDQ30iIExEPSIke0NDfSIgc2hhcmVkIHN0YXRpYworfQorZG9faW5zdGFsbCgpIHsKKyAgICAgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gYmFzZWRpcj0ke0R9JHtwcmVmaXh9IGluc3RhbGwKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldl9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXZfZ2l0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWQ3ZjBjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldl9naXQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1TVU1NQVJZID0gIkxvY2tpbmcgZGV2aWNlcyBsaWJyYXJ5IgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU09ImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKLQotUFYgPSAiMS4wLjMrZ2l0JHtTUkNQVn0iCi0KLVNSQ1JFViA9ICIxNmI4OTk2NDVkMzIwMTJjYzk0Y2M5MjMyZjY0ZDRkZGFhZjBiNzk1IgotU1JDX1VSSSA9ICJnaXQ6Ly9hbm9uc2NtLmRlYmlhbi5vcmcvbG9ja2Rldi9sb2NrZGV2LmdpdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbml0aW9ucy5wYXRjaCBcCi0gICAgICAgICAgICIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBsaWJfcGFja2FnZSBhdXRvdG9vbHMtYnJva2Vuc2VwCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLSAgICAuL3NjcmlwdHMvZ2l0LXZlcnNpb24gPiBWRVJTSU9OCi0KLSAgICAjIE1ha2UgYXV0b21ha2UgaGFwcHkKLSAgICB0b3VjaCBDaGFuZ2VMb2cKLX0KLQotQ0ZMQUdTX2FwcGVuZF9saWJjLW11c2wgPSAiIC1EX19HTlVfTElCUkFSWV9fIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDAxLUF2b2lkLWJhc2hpc21zLWluLWluaXQtc2NyaXB0cy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvZmlsZXMvMDAwMS1Bdm9pZC1iYXNoaXNtcy1pbi1pbml0LXNjcmlwdHMucGF0Y2gKaW5kZXggNWI1NTExMS4uM2M0YTNhMSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDAxLUF2b2lkLWJhc2hpc21zLWluLWluaXQtc2NyaXB0cy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2ZpbGVzLzAwMDEtQXZvaWQtYmFzaGlzbXMtaW4taW5pdC1zY3JpcHRzLnBhdGNoCkBAIC0xLDI2ICsxLDI3IEBACi1Gcm9tIDkxNmVhMGM3MGZkMDYzYWI3YjgxZjE2ZmQ5MTdhNzVkYzAyZWRmNGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KLURhdGU6IEZyaSwgMTcgTWFyIDIwMTcgMDM6MTg6MjggKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gQXZvaWQgYmFzaGlzbXMgaW4gaW5pdCBzY3JpcHRzCitGcm9tIGVhNjZmYWY2OGM5MzczNWVkYjFmMjY5MWNkNzM2NGI4Y2FiODNmZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQZXRlciBLamVsbGVyc3RlZHQgPHBldGVyLmtqZWxsZXJzdGVkdEBheGlzLmNvbT4KK0RhdGU6IE1vbiwgMjYgTm92IDIwMTggMTQ6NTM6MDkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzNdIEF2b2lkIGJhc2hpc21zIGluIGluaXQgc2NyaXB0cwogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKIAogU2lnbmVkLW9mZi1ieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwZXRlci5ramVsbGVyc3RlZHRAYXhpcy5jb20+Ci0tLS0KLSBzY3JpcHRzL2Jsa19hdmFpbGFiaWxpdHlfaW5pdF9yZWRfaGF0LmluICAgICAgfCA0ICsrLS0KLSBzY3JpcHRzL2Nsdm1kX2luaXRfcmVkX2hhdC5pbiAgICAgICAgICAgICAgICAgfCA2ICsrKy0tLQotIHNjcmlwdHMvY21pcnJvcmRfaW5pdF9yZWRfaGF0LmluICAgICAgICAgICAgICB8IDQgKystLQotIHNjcmlwdHMvbHZtMl9jbHVzdGVyX2FjdGl2YXRpb25fcmVkX2hhdC5zaC5pbiB8IDQgKystLQotIHNjcmlwdHMvbHZtMl9sdm1ldGFkX2luaXRfcmVkX2hhdC5pbiAgICAgICAgICB8IDQgKystLQotIHNjcmlwdHMvbHZtMl9sdm1wb2xsZF9pbml0X3JlZF9oYXQuaW4gICAgICAgICB8IDQgKystLQotIHNjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmVkX2hhdC5pbiAgICAgICB8IDQgKystLQotIHNjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmhlbDQgICAgICAgICAgICB8IDQgKystLQotIDggZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBMVk0yLjIuMDIuMTc3L3NjcmlwdHMvYmxrX2F2YWlsYWJpbGl0eV9pbml0X3JlZF9oYXQuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBMVk0yLjIuMDIuMTc3Lm9yaWcvc2NyaXB0cy9ibGtfYXZhaWxhYmlsaXR5X2luaXRfcmVkX2hhdC5pbgotKysrIExWTTIuMi4wMi4xNzcvc2NyaXB0cy9ibGtfYXZhaWxhYmlsaXR5X2luaXRfcmVkX2hhdC5pbgorUmViYXNlIHRvIDIuMDMuMDEKKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgc2NyaXB0cy9ibGtfYXZhaWxhYmlsaXR5X2luaXRfcmVkX2hhdC5pbiB8IDQgKystLQorIHNjcmlwdHMvY21pcnJvcmRfaW5pdF9yZWRfaGF0LmluICAgICAgICAgfCA0ICsrLS0KKyBzY3JpcHRzL2x2bTJfbHZtcG9sbGRfaW5pdF9yZWRfaGF0LmluICAgIHwgNCArKy0tCisgc2NyaXB0cy9sdm0yX21vbml0b3JpbmdfaW5pdF9yZWRfaGF0LmluICB8IDQgKystLQorIHNjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmhlbDQgICAgICAgfCA0ICsrLS0KKyA1IGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2NyaXB0cy9ibGtfYXZhaWxhYmlsaXR5X2luaXRfcmVkX2hhdC5pbiBiL3NjcmlwdHMvYmxrX2F2YWlsYWJpbGl0eV9pbml0X3JlZF9oYXQuaW4KK2luZGV4IDM0N2MzOTUuLmIyZTljZjkgMTAwNjQ0CistLS0gYS9zY3JpcHRzL2Jsa19hdmFpbGFiaWxpdHlfaW5pdF9yZWRfaGF0LmluCisrKysgYi9zY3JpcHRzL2Jsa19hdmFpbGFiaWxpdHlfaW5pdF9yZWRfaGF0LmluCiBAQCAtMSw0ICsxLDQgQEAKIC0jIS9iaW4vYmFzaAogKyMhL2Jpbi9zaApAQCAtMzUsMzggKzM2LDEwIEBACiArCWVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN9IgogIAk7OwogIGVzYWMKLUluZGV4OiBMVk0yLjIuMDIuMTc3L3NjcmlwdHMvY2x2bWRfaW5pdF9yZWRfaGF0LmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gTFZNMi4yLjAyLjE3Ny5vcmlnL3NjcmlwdHMvY2x2bWRfaW5pdF9yZWRfaGF0LmluCi0rKysgTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2Nsdm1kX2luaXRfcmVkX2hhdC5pbgotQEAgLTEsNCArMSw0IEBACi0tIyEvYmluL2Jhc2gKLSsjIS9iaW4vc2gKLSAjCi0gIyBjbHZtZCAtIENsdXN0ZXJlZCBMVk0gRGFlbW9uIGluaXQgc2NyaXB0Ci0gIwotQEAgLTE2MSw3ICsxNjEsNyBAQCByZXN0YXJ0KCkgewotIAlmaQotIH0KLSAKLS1bICIkRVVJRCIgIT0gIjAiIF0gJiYgewotK1sgIiQoaWQgLXUpIiAhPSAiMCIgXSAmJiB7Ci0gCWVjaG8gImNsdm1kIGluaXQgc2NyaXB0IGNhbiBvbmx5IGJlIGV4ZWN1dGVkIGFzIHJvb3QgdXNlciIKLSAJZXhpdCA0Ci0gfQotQEAgLTIwNiw3ICsyMDYsNyBAQCBjYXNlICIkMSIgaW4KLSAJOzsKLSAKLSAgICopCi0tCWVjaG8gJCJVc2FnZTogJDAge3N0YXJ0fHN0b3B8c3RhdHVzfHJlc3RhcnR8Y29uZHJlc3RhcnR8dHJ5LXJlc3RhcnR8cmVsb2FkfGZvcmNlLXJlbG9hZH0iCi0rCWVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHxjb25kcmVzdGFydHx0cnktcmVzdGFydHxyZWxvYWR8Zm9yY2UtcmVsb2FkfSIKLSAJcnRybj0yCi0gCTs7Ci0gZXNhYwotSW5kZXg6IExWTTIuMi4wMi4xNzcvc2NyaXB0cy9jbWlycm9yZF9pbml0X3JlZF9oYXQuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBMVk0yLjIuMDIuMTc3Lm9yaWcvc2NyaXB0cy9jbWlycm9yZF9pbml0X3JlZF9oYXQuaW4KLSsrKyBMVk0yLjIuMDIuMTc3L3NjcmlwdHMvY21pcnJvcmRfaW5pdF9yZWRfaGF0LmluCitkaWZmIC0tZ2l0IGEvc2NyaXB0cy9jbWlycm9yZF9pbml0X3JlZF9oYXQuaW4gYi9zY3JpcHRzL2NtaXJyb3JkX2luaXRfcmVkX2hhdC5pbgoraW5kZXggYzgyZjhmNS4uYTNhMzIxZCAxMDA3NTUKKy0tLSBhL3NjcmlwdHMvY21pcnJvcmRfaW5pdF9yZWRfaGF0LmluCisrKysgYi9zY3JpcHRzL2NtaXJyb3JkX2luaXRfcmVkX2hhdC5pbgogQEAgLTEsNCArMSw0IEBACiAtIyEvYmluL2Jhc2gKICsjIS9iaW4vc2gKQEAgLTgyLDQ4ICs1NSwxMCBAQAogIAkJOzsKICBlc2FjCiAgCi1JbmRleDogTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2x2bTJfY2x1c3Rlcl9hY3RpdmF0aW9uX3JlZF9oYXQuc2guaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBMVk0yLjIuMDIuMTc3Lm9yaWcvc2NyaXB0cy9sdm0yX2NsdXN0ZXJfYWN0aXZhdGlvbl9yZWRfaGF0LnNoLmluCi0rKysgTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2x2bTJfY2x1c3Rlcl9hY3RpdmF0aW9uX3JlZF9oYXQuc2guaW4KLUBAIC0xLDQgKzEsNCBAQAotLSMhL2Jpbi9iYXNoCi0rIyEvYmluL3NoCi0gCi0gc2JpbmRpcj0iQFNCSU5ESVJAIgotIAotQEAgLTU0LDcgKzU0LDcgQEAgY2FzZSAiJDEiIGluCi0gCXJ0cm49JD8KLSAJOzsKLSAgICopCi0tCWVjaG8gJCJVc2FnZTogJDAge2FjdGl2YXRlfGRlYWN0aXZhdGV9IgotKwllY2hvICJVc2FnZTogJDAge2FjdGl2YXRlfGRlYWN0aXZhdGV9IgotIAlydHJuPTMKLSAJOzsKLSBlc2FjCi1JbmRleDogTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2x2bTJfbHZtZXRhZF9pbml0X3JlZF9oYXQuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBMVk0yLjIuMDIuMTc3Lm9yaWcvc2NyaXB0cy9sdm0yX2x2bWV0YWRfaW5pdF9yZWRfaGF0LmluCi0rKysgTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2x2bTJfbHZtZXRhZF9pbml0X3JlZF9oYXQuaW4KLUBAIC0xLDQgKzEsNCBAQAotLSMhL2Jpbi9iYXNoCi0rIyEvYmluL3NoCi0gIwotICMgQ29weXJpZ2h0IChDKSAyMDEyLTIwMTcgUmVkIEhhdCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICMKLUBAIC0xMDMsNyArMTAzLDcgQEAgY2FzZSAiJDEiIGluCi0gCTs7Ci0gCi0gICAqKQotLQllY2hvICQiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfGZvcmNlLXN0b3B8cmVzdGFydHxjb25kcmVzdGFydHx0cnktcmVzdGFydHxzdGF0dXN9IgotKwllY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8Zm9yY2Utc3RvcHxyZXN0YXJ0fGNvbmRyZXN0YXJ0fHRyeS1yZXN0YXJ0fHN0YXR1c30iCi0gCTs7Ci0gZXNhYwotIAotSW5kZXg6IExWTTIuMi4wMi4xNzcvc2NyaXB0cy9sdm0yX2x2bXBvbGxkX2luaXRfcmVkX2hhdC5pbgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIExWTTIuMi4wMi4xNzcub3JpZy9zY3JpcHRzL2x2bTJfbHZtcG9sbGRfaW5pdF9yZWRfaGF0LmluCi0rKysgTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2x2bTJfbHZtcG9sbGRfaW5pdF9yZWRfaGF0LmluCitkaWZmIC0tZ2l0IGEvc2NyaXB0cy9sdm0yX2x2bXBvbGxkX2luaXRfcmVkX2hhdC5pbiBiL3NjcmlwdHMvbHZtMl9sdm1wb2xsZF9pbml0X3JlZF9oYXQuaW4KK2luZGV4IDE3NmZmNWQuLjgyNWY2YWQgMTAwNjQ0CistLS0gYS9zY3JpcHRzL2x2bTJfbHZtcG9sbGRfaW5pdF9yZWRfaGF0LmluCisrKysgYi9zY3JpcHRzL2x2bTJfbHZtcG9sbGRfaW5pdF9yZWRfaGF0LmluCiBAQCAtMSw0ICsxLDQgQEAKIC0jIS9iaW4vYmFzaAogKyMhL2Jpbi9zaApAQCAtMTM5LDEwICs3NCwxMCBAQAogIAk7OwogIGVzYWMKICAKLUluZGV4OiBMVk0yLjIuMDIuMTc3L3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmVkX2hhdC5pbgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIExWTTIuMi4wMi4xNzcub3JpZy9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JlZF9oYXQuaW4KLSsrKyBMVk0yLjIuMDIuMTc3L3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmVkX2hhdC5pbgorZGlmZiAtLWdpdCBhL3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmVkX2hhdC5pbiBiL3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmVkX2hhdC5pbgoraW5kZXggOTVlNDEyNS4uZGZmODljZCAxMDA2NDQKKy0tLSBhL3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmVkX2hhdC5pbgorKysrIGIvc2NyaXB0cy9sdm0yX21vbml0b3JpbmdfaW5pdF9yZWRfaGF0LmluCiBAQCAtMSw0ICsxLDQgQEAKIC0jIS9iaW4vYmFzaAogKyMhL2Jpbi9zaApAQCAtMTU4LDEwICs5MywxMCBAQAogIAk7OwogIGVzYWMKICAKLUluZGV4OiBMVk0yLjIuMDIuMTc3L3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmhlbDQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBMVk0yLjIuMDIuMTc3Lm9yaWcvc2NyaXB0cy9sdm0yX21vbml0b3JpbmdfaW5pdF9yaGVsNAotKysrIExWTTIuMi4wMi4xNzcvc2NyaXB0cy9sdm0yX21vbml0b3JpbmdfaW5pdF9yaGVsNAorZGlmZiAtLWdpdCBhL3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmhlbDQgYi9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JoZWw0CitpbmRleCA4ZWIwNmM1Li4yZThkMGY3IDEwMDY0NAorLS0tIGEvc2NyaXB0cy9sdm0yX21vbml0b3JpbmdfaW5pdF9yaGVsNAorKysrIGIvc2NyaXB0cy9sdm0yX21vbml0b3JpbmdfaW5pdF9yaGVsNAogQEAgLTEsNCArMSw0IEBACiAtIyEvYmluL2Jhc2gKICsjIS9iaW4vc2gKQEAgLTE3NywzICsxMTIsNiBAQAogIAk7OwogIGVzYWMKICAKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDAzLWluY2x1ZGUtZmNudGwuaC1mb3ItT18tZGVmaW5lcy1hbmQtZmNudGwtc2lnbmF0dXJlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDAzLWluY2x1ZGUtZmNudGwuaC1mb3ItT18tZGVmaW5lcy1hbmQtZmNudGwtc2lnbmF0dXJlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YWIxYzA2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvZmlsZXMvMDAwMy1pbmNsdWRlLWZjbnRsLmgtZm9yLU9fLWRlZmluZXMtYW5kLWZjbnRsLXNpZ25hdHVyZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gYjFhZDkxYTA1OWQ5OWFmZDFjZTI1ODIzYjdjMGE4ZDNhYzYzZDJmZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERlbmdrZSBEdSA8ZGVuZ2tlLmR1QHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUdWUsIDI1IE9jdCAyMDE2IDExOjU1OjQ5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMy80XSBpbmNsdWRlIGZjbnRsLmggZm9yIE9fKiBkZWZpbmVzIGFuZCBmY250bCgpIHNpZ25hdHVyZQotCi1PbiBnbGliYyBfc29tZWhvd18gdGhpcyBoZWFkZXIgZ2V0cyBwdWxsZWQgaW4gaW5kaXJlY3RseQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogRGVuZ2tlIER1IDxkZW5na2UuZHVAd2luZHJpdmVyLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBsaWJkYWVtb24vc2VydmVyL2RhZW1vbi1zZXJ2ZXIuYyB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvbGliZGFlbW9uL3NlcnZlci9kYWVtb24tc2VydmVyLmMgYi9saWJkYWVtb24vc2VydmVyL2RhZW1vbi1zZXJ2ZXIuYwotaW5kZXggNmFmNmRlOS4uYTk1OTBlNyAxMDA2NDQKLS0tLSBhL2xpYmRhZW1vbi9zZXJ2ZXIvZGFlbW9uLXNlcnZlci5jCi0rKysgYi9saWJkYWVtb24vc2VydmVyL2RhZW1vbi1zZXJ2ZXIuYwotQEAgLTE4LDYgKzE4LDcgQEAKLSAjaW5jbHVkZSAiZGFlbW9uLXNlcnZlci5oIgotICNpbmNsdWRlICJkYWVtb24tbG9nLmgiCi0gCi0rI2luY2x1ZGUgPGZjbnRsLmg+Ci0gI2luY2x1ZGUgPGRsZmNuLmg+Ci0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPHB0aHJlYWQuaD4KLS0tIAotMi45LjMKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDA1LWRvLW5vdC1idWlsZC1tYW51YWwucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2ZpbGVzLzAwMDUtZG8tbm90LWJ1aWxkLW1hbnVhbC5wYXRjaAppbmRleCBlM2NlNGM4Li43MTE3ZDk5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2ZpbGVzLzAwMDUtZG8tbm90LWJ1aWxkLW1hbnVhbC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2ZpbGVzLzAwMDUtZG8tbm90LWJ1aWxkLW1hbnVhbC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNTFkNjYxZmYzM2JiMjU0ZDdiMzM1YTljODdhY2Y1YzZlN2E5NDE5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTAzYWMxYzEyMDBkZjgxOTAzNzJkOTczZTAwNDc3NmNmZmU4ZTY1OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IFR1ZSwgMzEgSnVsIDIwMTggMTU6MDg6MzQgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gZG8gbm90IGJ1aWxkIG1hbnVhbAorRGF0ZTogTW9uLCAyNiBOb3YgMjAxOCAxNDo1OTo1NSArMDgwMAorU3ViamVjdDogW1BBVENIIDIvM10gZG8gbm90IGJ1aWxkIG1hbnVhbAogCiBPbiBzb21lIGhvc3QgKHVidW50dSAxNDA0KSwgYnVpbGQgbWFudWFsIGZhaWxlZC4KIC4uLgpAQCAtMTQsMzQgKzE0LDM5IEBACiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCisKK1VwZGF0ZSBjb250ZXh0IGZvciBsdm0yIDIuMDMuMDIuCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgogLS0tCiAgTWFrZWZpbGUuaW4gIHwgNiArKystLS0KICBjb25maWd1cmUuYWMgfCAxIC0KICAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KLWluZGV4IGUyZjVhODQuLmFjZjMxZTUgMTAwNjQ0CitpbmRleCA2YTFhOTkwLi44MGNiYTkxIDEwMDY0NAogLS0tIGEvTWFrZWZpbGUuaW4KICsrKyBiL01ha2VmaWxlLmluCiBAQCAtMTgsNyArMTgsNyBAQCB0b3BfYnVpbGRkaXIgPSBAdG9wX2J1aWxkZGlyQAogIGFic190b3BfYnVpbGRkaXIgPSBAYWJzX3RvcF9idWlsZGRpckAKICBhYnNfdG9wX3NyY2RpciA9IEBhYnNfdG9wX3NyY2RpckAKICAKLS1TVUJESVJTID0gY29uZiBkYWVtb25zIGluY2x1ZGUgbGliIGxpYmRhZW1vbiBsaWJkbSBtYW4gc2NyaXB0cyBkZXZpY2VfbWFwcGVyIHRvb2xzCi0rU1VCRElSUyA9IGNvbmYgZGFlbW9ucyBpbmNsdWRlIGxpYiBsaWJkYWVtb24gbGliZG0gc2NyaXB0cyBkZXZpY2VfbWFwcGVyIHRvb2xzCistU1VCRElSUyA9IGNvbmYgZGFlbW9ucyBpbmNsdWRlIGxpYiBsaWJkYWVtb24gbGliZG0gbWFuIHNjcmlwdHMgdG9vbHMKKytTVUJESVJTID0gY29uZiBkYWVtb25zIGluY2x1ZGUgbGliIGxpYmRhZW1vbiBsaWJkbSBzY3JpcHRzIHRvb2xzCiAgCiAgaWZlcSAoIkBVREVWX1JVTEVTQCIsICJ5ZXMiKQogICAgU1VCRElSUyArPSB1ZGV2Ci1AQCAtNDEsNyArNDEsNyBAQCBpZmVxICgkKE1BS0VDTURHT0FMUyksY2xlYW4pCitAQCAtMzMsNyArMzMsNyBAQCBpZmVxICgkKE1BS0VDTURHT0FMUyksY2xlYW4pCiAgZW5kaWYKICAjIEZJWE1FIFNob3VsZCB1c2UgaW50ZXJtZWRpYXRlIE1ha2VmaWxlcyBoZXJlIQogIGlmZXEgKCQoTUFLRUNNREdPQUxTKSxkaXN0Y2xlYW4pCiAtICBTVUJESVJTID0gY29uZiBpbmNsdWRlIG1hbiB0ZXN0IHNjcmlwdHMgXAogKyAgU1VCRElSUyA9IGNvbmYgaW5jbHVkZSB0ZXN0IHNjcmlwdHMgXAogICAgICBsaWJkYWVtb24gbGliIHRvb2xzIGRhZW1vbnMgbGliZG0gXAotICAgICB1ZGV2IHBvIGxpYmx2bSBweXRob24gZGV2aWNlX21hcHBlcgorICAgICB1ZGV2IHBvCiAgdG9vbHMuZGlzdGNsZWFuOiB0ZXN0LmRpc3RjbGVhbgotQEAgLTcxLDcgKzcxLDcgQEAgbGlibHZtLmRldmljZS1tYXBwZXI6IGluY2x1ZGUuZGV2aWNlLW1hcHBlcgorQEAgLTY1LDcgKzY1LDcgQEAgbGliZG0uZGV2aWNlLW1hcHBlcjogaW5jbHVkZS5kZXZpY2UtbWFwcGVyCiAgZGFlbW9ucy5kZXZpY2UtbWFwcGVyOiBsaWJkbS5kZXZpY2UtbWFwcGVyCiAgdG9vbHMuZGV2aWNlLW1hcHBlcjogbGliZG0uZGV2aWNlLW1hcHBlcgogIHNjcmlwdHMuZGV2aWNlLW1hcHBlcjogaW5jbHVkZS5kZXZpY2UtbWFwcGVyCkBAIC01MSwxNyArNTYsMTcgQEAKICBpZmVxICgiQElOVExAIiwgInllcyIpCiAgbGliLnBvZmlsZTogaW5jbHVkZS5wb2ZpbGUKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IGFhMzc0ZWEuLjVhOTJjYmEgMTAwNjQ0CitpbmRleCA3ZmQwNTYxLi40MTU0ZGMwIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFjCiArKysgYi9jb25maWd1cmUuYWMKLUBAIC0yMTI0LDcgKzIxMjQsNiBAQCBsaWJkbS9NYWtlZmlsZQorQEAgLTE4MTIsNyArMTgxMiw2IEBAIGxpYmRhZW1vbi9zZXJ2ZXIvTWFrZWZpbGUKKyBsaWJkbS9NYWtlZmlsZQorIGxpYmRtL2RtLXRvb2xzL01ha2VmaWxlCiAgbGliZG0vbGliZGV2bWFwcGVyLnBjCi0gbGlibHZtL01ha2VmaWxlCi0gbGlibHZtL2xpYmx2bTJhcHAucGMKIC1tYW4vTWFrZWZpbGUKICBwby9NYWtlZmlsZQotIHB5dGhvbi9NYWtlZmlsZQotIHB5dGhvbi9zZXR1cC5weQorIHNjcmlwdHMvbHZtMi1wdnNjYW4uc2VydmljZQorIHNjcmlwdHMvYmxrZGVhY3RpdmF0ZS5zaAogLS0gCiAyLjcuNAogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2ZpbGVzLzAwMDYtc3RhcnQtbHZtMi1tb25pdG9yLnNlcnZpY2UtYWZ0ZXItdG1wLm1vdW50LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDA2LXN0YXJ0LWx2bTItbW9uaXRvci5zZXJ2aWNlLWFmdGVyLXRtcC5tb3VudC5wYXRjaAppbmRleCAwZTY4ZDYyLi5lNWFkNGVhIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2ZpbGVzLzAwMDYtc3RhcnQtbHZtMi1tb25pdG9yLnNlcnZpY2UtYWZ0ZXItdG1wLm1vdW50LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvZmlsZXMvMDAwNi1zdGFydC1sdm0yLW1vbml0b3Iuc2VydmljZS1hZnRlci10bXAubW91bnQucGF0Y2gKQEAgLTEwLDIwICsxMCwyNSBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KIAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCisKK1VwZGF0ZSBjb250ZXh0IGZvciBsdm0yIDIuMDMuMDIuCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgogLS0tCiAgc2NyaXB0cy9sdm0yX21vbml0b3Jpbmdfc3lzdGVtZF9yZWRfaGF0LnNlcnZpY2UuaW4gfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19zeXN0ZW1kX3JlZF9oYXQuc2VydmljZS5pbiBiL3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX3N5c3RlbWRfcmVkX2hhdC5zZXJ2aWNlLmluCi1pbmRleCAyMjIzOGI3Li45M2IyYmVlIDEwMDY0NAoraW5kZXggN2VjNGU0ZS4uMzI4MmE5NSAxMDA2NDQKIC0tLSBhL3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX3N5c3RlbWRfcmVkX2hhdC5zZXJ2aWNlLmluCiArKysgYi9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19zeXN0ZW1kX3JlZF9oYXQuc2VydmljZS5pbgogQEAgLTIsNyArMiw3IEBACiAgRGVzY3JpcHRpb249TW9uaXRvcmluZyBvZiBMVk0yIG1pcnJvcnMsIHNuYXBzaG90cyBldGMuIHVzaW5nIGRtZXZlbnRkIG9yIHByb2dyZXNzIHBvbGxpbmcKICBEb2N1bWVudGF0aW9uPW1hbjpkbWV2ZW50ZCg4KSBtYW46bHZjcmVhdGUoOCkgbWFuOmx2Y2hhbmdlKDgpIG1hbjp2Z2NoYW5nZSg4KQotIFJlcXVpcmVzPWRtLWV2ZW50LnNvY2tldCBsdm0yLWx2bWV0YWQuc29ja2V0Ci0tQWZ0ZXI9ZG0tZXZlbnQuc29ja2V0IGRtLWV2ZW50LnNlcnZpY2UgbHZtMi1sdm1ldGFkLnNvY2tldCBsdm0yLWFjdGl2YXRpb24uc2VydmljZSBsdm0yLWx2bWV0YWQuc2VydmljZQotK0FmdGVyPWRtLWV2ZW50LnNvY2tldCBkbS1ldmVudC5zZXJ2aWNlIGx2bTItbHZtZXRhZC5zb2NrZXQgbHZtMi1hY3RpdmF0aW9uLnNlcnZpY2UgbHZtMi1sdm1ldGFkLnNlcnZpY2UgdG1wLm1vdW50CisgUmVxdWlyZXM9ZG0tZXZlbnQuc29ja2V0CistQWZ0ZXI9ZG0tZXZlbnQuc29ja2V0IGRtLWV2ZW50LnNlcnZpY2UgbHZtMi1hY3RpdmF0aW9uLnNlcnZpY2UKKytBZnRlcj1kbS1ldmVudC5zb2NrZXQgZG0tZXZlbnQuc2VydmljZSBsdm0yLWFjdGl2YXRpb24uc2VydmljZSB0bXAubW91bnQKICBCZWZvcmU9bG9jYWwtZnMtcHJlLnRhcmdldAogIERlZmF1bHREZXBlbmRlbmNpZXM9bm8KICBDb25mbGljdHM9c2h1dGRvd24udGFyZ2V0CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2xpYmRldm1hcHBlcl8yLjAyLjE4MC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbGliZGV2bWFwcGVyXzIuMDIuMTgwLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNmFmMzI3Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbGliZGV2bWFwcGVyXzIuMDIuMTgwLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotcmVxdWlyZSBsdm0yLmluYwotCi1TUkNfVVJJW21kNXN1bV0gPSAiYmMyNmRhNjZlOTY3MjdiYWJiZDI4OGJiMGYwNTAzMzkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjQ5OTdlMjZkZmM5MTYxNTE3MDdjOWRhNTA0ZDM4ZDA0NzNiZWMzNDgxYTgyMzBiNjc2YmMwNzkwNDFiZWFkNiIKLQotREVQRU5EUyArPSAiYXV0b2NvbmYtYXJjaGl2ZS1uYXRpdmUiCi0KLVRBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgotCi1kb19pbnN0YWxsKCkgewotICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgLUMgbGliZG0gaW5zdGFsbAotICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgLUMgdG9vbHMgaW5zdGFsbF9kZXZpY2UtbWFwcGVyCi19Ci0KLVJSRUNPTU1FTkRTXyR7UE59X2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIGx2bTItdWRldnJ1bGVzIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2xpYmRldm1hcHBlcl8yLjAzLjAyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9saWJkZXZtYXBwZXJfMi4wMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzRmZWJiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9saWJkZXZtYXBwZXJfMi4wMy4wMi5iYgpAQCAtMCwwICsxLDE1IEBACityZXF1aXJlIGx2bTIuaW5jCisKK1NSQ1JFViA9ICI5MTNjMjg5MTdlNjI1NzdhMmVmNjcxNTJiMmU1MTU5MjM3NTAzZGRhIgorCitERVBFTkRTICs9ICJhdXRvY29uZi1hcmNoaXZlLW5hdGl2ZSIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyAtQyBsaWJkbSBpbnN0YWxsCit9CisKK1JSRUNPTU1FTkRTXyR7UE59X2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIGx2bTItdWRldnJ1bGVzIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLmluYwppbmRleCAyNmE4ODdlLi44NjE3ZjI1IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi5pbmMKQEAgLTcsMjUgKzcsMjMgQEAKIAogREVQRU5EUyArPSAidXRpbC1saW51eCBsaWJhaW8iCiAKLVNSQ19VUkkgPSAiZnRwOi8vc291cmNlcy5yZWRoYXQuY29tL3B1Yi9sdm0yL29sZC9MVk0yLiR7UFZ9LnRneiBcCitTUkNfVVJJID0gImZ0cDovL3NvdXJjZXMucmVkaGF0LmNvbS9wdWIvbHZtMi9yZWxlYXNlcy9MVk0yLiR7UFZ9LnRneiBcCiAgICAgICAgICAgIGZpbGU6Ly9sdm0uY29uZiBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWltcGxlbWVudC1saWJjLXNwZWNpZmljLXJlb3Blbl9zdHJlYW0ucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMi1HdWFyZC11c2Utb2YtbWFsbGluZm8td2l0aC1fX0dMSUJDX18ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1pbmNsdWRlLWZjbnRsLmgtZm9yLU9fLWRlZmluZXMtYW5kLWZjbnRsLXNpZ25hdHVyZS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDA0LXR3ZWFrLU1PRFBST0JFX0NNRC1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUF2b2lkLWJhc2hpc21zLWluLWluaXQtc2NyaXB0cy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDA1LWRvLW5vdC1idWlsZC1tYW51YWwucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwNi1zdGFydC1sdm0yLW1vbml0b3Iuc2VydmljZS1hZnRlci10bXAubW91bnQucGF0Y2ggXAogICAgICAgICAgICAiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJmdHA6Ly9zb3VyY2VzLnJlZGhhdC5jb20vcHViL2x2bTIvIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiTFZNMlwuKD9QPHB2ZXI+XGQrKFwuXGQrKSspIgorU1JDX1VSSVttZDVzdW1dID0gIjVmYzA3ZGE1NDYxYTM3OTRhNzUxZGNmYzM1NTgyN2Q1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU1MGJhNzUwMjM5ZmQ3NWI3ZTUyYzk4Nzc1NjVjYWJmZmVmNTA2YmJmNmQ3ZjZmMTdiOTcwMGRlZTU2YzcyMGYiCiAKIFMgPSAiJHtXT1JLRElSfS9MVk0yLiR7UFZ9IgogCiBpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHN5c3RlbWQgbGljZW5zZQogCi1MVk0yX1BBQ0tBR0VDT05GSUcgPSAiZG1ldmVudGQgbHZtZXRhZCIKK0xWTTJfUEFDS0FHRUNPTkZJRyA9ICJkbWV2ZW50ZCIKIExWTTJfUEFDS0FHRUNPTkZJR19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBcCiAgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc2VsaW51eCcsIGQpfSBcCiAgICAgJHtAaW5jb21wYXRpYmxlX2xpY2Vuc2VfY29udGFpbnMoJ0dQTHYzJywgJycsICd0aGluLXByb3Zpc2lvbmluZy10b29scycsIGQpfSBcCkBAIC0zOSw3ICszNyw2IEBACiBQQUNLQUdFQ09ORklHID8/PSAib2RpcmVjdCAke0xWTTJfUEFDS0FHRUNPTkZJR30iCiAKIFBBQ0tBR0VDT05GSUdbZG1ldmVudGRdID0gIi0tZW5hYmxlLWRtZXZlbnRkLC0tZGlzYWJsZS1kbWV2ZW50ZCIKLVBBQ0tBR0VDT05GSUdbbHZtZXRhZF0gPSAiLS1lbmFibGUtbHZtZXRhZCwtLWRpc2FibGUtbHZtZXRhZCIKIFBBQ0tBR0VDT05GSUdbb2RpcmVjdF0gPSAiLS1lbmFibGUtb19kaXJlY3QsLS1kaXNhYmxlLW9fZGlyZWN0IgogUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLS1lbmFibGUtcmVhZGxpbmUsLS1kaXNhYmxlLXJlYWRsaW5lLHJlYWRsaW5lIgogUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLWVuYWJsZS1zZWxpbnV4LC0tZGlzYWJsZS1zZWxpbnV4LGxpYnNlbGludXgiCkBAIC01MCw3ICs0Nyw2IEBACiBFWFRSQV9PRUNPTkYgPSAiLS13aXRoLXVzZXI9IFwKICAgICAgICAgICAgICAgICAtLXdpdGgtZ3JvdXA9IFwKICAgICAgICAgICAgICAgICAtLWVuYWJsZS1yZWFsdGltZSBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtYXBwbGliIFwKICAgICAgICAgICAgICAgICAtLWVuYWJsZS1jbWRsaWIgXAogICAgICAgICAgICAgICAgIC0tZW5hYmxlLXBrZ2NvbmZpZyBcCiAgICAgICAgICAgICAgICAgLS13aXRoLXVzcmxpYmRpcj0ke2xpYmRpcn0gXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDEtZGV2LWhkYy1vcGVuLWZhaWxlZC1Oby1tZWRpdW0tZm91bmQtd2lsbC1wcmludC1vdXQtaS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAxLWRldi1oZGMtb3Blbi1mYWlsZWQtTm8tbWVkaXVtLWZvdW5kLXdpbGwtcHJpbnQtb3V0LWkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRkNWIxYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAxLWRldi1oZGMtb3Blbi1mYWlsZWQtTm8tbWVkaXVtLWZvdW5kLXdpbGwtcHJpbnQtb3V0LWkucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSA5M2M5M2UzYjg1NDkyZTU4Zjk0NTE4NDFlNjA3OWQwMGM0OTdlZmE0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmlwaW5nIE1hIDxqaXBpbmcubWEyQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDEzOjI5OjEyICswODAwCitTdWJqZWN0OiBbUEFUQ0hdICIvZGV2L2hkYzogb3BlbiBmYWlsZWQ6IE5vIG1lZGl1bSBmb3VuZCIgd2lsbCBwcmludCBvdXQgaW4KKyBsdm1kaXNrc2Nhbi4KKworY29tbWl0IFs1N2JiNDZjNWU3ZjhdIGludHJvZHVjZSB0aGlzIGlzc3VlLgorIi9kZXYvaGRjOiBvcGVuIGZhaWxlZDogTm8gbWVkaXVtIGZvdW5kIiB3aWxsIGJlIHByaW50IG91dAorYWZ0ZXIgcnVuIGx2bWRpc2tzY2FuLiBjaGFuZ2UgZGV2X29wZW5fcmVhZG9ubHkoKQordG8gZGV2X29wZW5fcmVhZG9ubHlfcXVpZXQoKSBpbiBmdWN0aW9uIF9kZXZfZ2V0X3NpemVfZGV2KCkuCisKK1NpZ25lZC1vZmYtYnk6IEppcGluZyBNYSA8amlwaW5nLm1hMkB3aW5kcml2ZXIuY29tPgorLS0tCisgbGliL2RldmljZS9kZXYtaW8uYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2xpYi9kZXZpY2UvZGV2LWlvLmMgYi9saWIvZGV2aWNlL2Rldi1pby5jCitpbmRleCBkYzk1MTMxLi44MWE2NmIwIDEwMDY0NAorLS0tIGEvbGliL2RldmljZS9kZXYtaW8uYworKysrIGIvbGliL2RldmljZS9kZXYtaW8uYworQEAgLTMzOCw3ICszMzgsNyBAQCBzdGF0aWMgaW50IF9kZXZfZ2V0X3NpemVfZGV2KHN0cnVjdCBkZXZpY2UgKmRldiwgdWludDY0X3QgKnNpemUpCisgCX0KKyAKKyAJaWYgKGZkIDw9IDApIHsKKy0JCWlmICghZGV2X29wZW5fcmVhZG9ubHkoZGV2KSkKKysJCWlmICghZGV2X29wZW5fcmVhZG9ubHlfcXVpZXQoZGV2KSkKKyAJCQlyZXR1cm5fMDsKKyAJCWZkID0gZGV2X2ZkKGRldik7CisgCQlkb19jbG9zZSA9IDE7CistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAxLWV4cGxpY2l0bHktZG8tbm90LWluc3RhbGwtbGliZG0ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMS1leHBsaWNpdGx5LWRvLW5vdC1pbnN0YWxsLWxpYmRtLnBhdGNoCmluZGV4IDdmNWRkOTMuLjI0MTYwYjQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAxLWV4cGxpY2l0bHktZG8tbm90LWluc3RhbGwtbGliZG0ucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDEtZXhwbGljaXRseS1kby1ub3QtaW5zdGFsbC1saWJkbS5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gNWEzZTEzYWU5NDMxOGMyYmVkNjBmODc1YmIzODUyYzQ1Y2UwMTEzYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gM2MxNmQ5YWFhNDY2MDJlNzU5NGQ3MTdkODZlN2YwMjA2NmQyMTEzNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IFRodSwgMjUgTWF5IDIwMTcgMDU6Mjc6MTEgLTA0MDAKK0RhdGU6IE1vbiwgMjYgTm92IDIwMTggMTc6MjA6MjAgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSF0gZXhwbGljaXRseSBkbyBub3QgaW5zdGFsbCBsaWJkbQogCiBBbHJlYWR5IGhhdmUgcGFja2FnZSBsaWJkZXZtYXBwZXIgd2hpY2ggc3BsaXQgZnJvbSBsdm0yLApAQCAtOSwxNyArOSwyMSBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttZXRhLW9lIHNwZWNpZmljXQogCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQnJlc3RpY2tlciA8YWJyZXN0aWNAd2F5bW8uY29tPgorCisKK1VwZGF0ZSBjb250ZXh0IGZvciBsdm0yIDIuMDMuMDIuCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgogLS0tCi0gbGliZG0vTWFrZWZpbGUuaW4gfCA2ICsrKystLQotIHRvb2xzL01ha2VmaWxlLmluIHwgMyArKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKyBsaWJkbS9NYWtlZmlsZS5pbiAgICAgICAgICB8IDYgKysrKy0tCisgbGliZG0vZG0tdG9vbHMvTWFrZWZpbGUuaW4gfCA2ICsrKystLQorIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbGliZG0vTWFrZWZpbGUuaW4gYi9saWJkbS9NYWtlZmlsZS5pbgotaW5kZXggNjZlYzM5NTEzLi5jNzc5YzlkODYgMTAwNjQ0CitpbmRleCBlOWJiNWFlLi40ZTlhZTNmIDEwMDY0NAogLS0tIGEvbGliZG0vTWFrZWZpbGUuaW4KICsrKyBiL2xpYmRtL01ha2VmaWxlLmluCi1AQCAtNzcsOSArNzcsMTEgQEAgaWZlcSAoIkBQS0dDT05GSUdAIiwgInllcyIpCitAQCAtODIsOSArODIsMTEgQEAgaWZlcSAoIkBQS0dDT05GSUdAIiwgInllcyIpCiAgICBJTlNUQUxMX1RZUEUgKz0gaW5zdGFsbF9wa2djb25maWcKICBlbmRpZgogIApAQCAtMzIsMjEgKzM2LDMwIEBACiArCWVjaG8gIkRvIG5vdCBpbnN0YWxsIGRldmljZSBtYXBwZXIgaW4gbHZtMiIKICAKICBpbnN0YWxsX2luY2x1ZGU6ICQoc3JjZGlyKS9saWJkZXZtYXBwZXIuaAotIAkkKElOU1RBTExfREFUQSkgLUQgJDwgJChpbmNsdWRlZGlyKS8kKDxGKQotZGlmZiAtLWdpdCBhL3Rvb2xzL01ha2VmaWxlLmluIGIvdG9vbHMvTWFrZWZpbGUuaW4KLWluZGV4IDEwM2I3NjczMi4uNjNiYTdmYzA0IDEwMDY0NAotLS0tIGEvdG9vbHMvTWFrZWZpbGUuaW4KLSsrKyBiL3Rvb2xzL01ha2VmaWxlLmluCi1AQCAtMjY3LDcgKzI2Nyw4IEBAIGluc3RhbGxfZG1zZXR1cF9zdGF0aWM6IGRtc2V0dXAuc3RhdGljCi0gCSQoUSkgJChJTlNUQUxMX1BST0dSQU0pIC1EICQ8ICQoc3RhdGljZGlyKS8kKDxGKQotIAkkKFEpICQoTE5fUykgLWYgJCg8RikgJChzdGF0aWNkaXIpL2Rtc3RhdHMKKyAJQGVjaG8gIiAgICBbSU5TVEFMTF0gJDwiCitkaWZmIC0tZ2l0IGEvbGliZG0vZG0tdG9vbHMvTWFrZWZpbGUuaW4gYi9saWJkbS9kbS10b29scy9NYWtlZmlsZS5pbgoraW5kZXggMTVhOWQ4ZS4uNjVlMTMwNiAxMDA2NDQKKy0tLSBhL2xpYmRtL2RtLXRvb2xzL01ha2VmaWxlLmluCisrKysgYi9saWJkbS9kbS10b29scy9NYWtlZmlsZS5pbgorQEAgLTIwLDcgKzIwLDggQEAgYWxsOiBkZXZpY2UtbWFwcGVyCiAgCi0taW5zdGFsbF9kZXZpY2UtbWFwcGVyOiAkKElOU1RBTExfRE1TRVRVUF9UQVJHRVRTKQorIFNPVVJDRVMyID0gZG1zZXR1cC5jCisgVEFSR0VUU19ETSA9IGRtc2V0dXAKKy1pbnN0YWxsX2RldmljZS1tYXBwZXI6IGluc3RhbGxfZG1zZXR1cF9keW5hbWljCiAraW5zdGFsbF9kZXZpY2UtbWFwcGVyOgogKwllY2hvICJEbyBub3QgaW5zdGFsbCBkZXZpY2UgbWFwcGVyIGluIGx2bTIiCiAgCi0gaW5zdGFsbF9sdm0yOiAkKElOU1RBTExfTFZNX1RBUkdFVFMpCisgaWZlcSAoIkBTVEFUSUNfTElOS0AiLCAieWVzIikKKyAgIFRBUkdFVFNfRE0gKz0gZG1zZXR1cC5zdGF0aWMKK0BAIC05Myw2ICs5NCw3IEBAIGluc3RhbGxfZG1maWxlbWFwZF9zdGF0aWM6IGRtZmlsZW1hcGQuc3RhdGljCisgLlBIT05ZOiBpbnN0YWxsX2Rtc2V0dXBfZHluYW1pYyBpbnN0YWxsX2Rtc2V0dXBfc3RhdGljCisgLlBIT05ZOiBpbnN0YWxsX2RtZmlsZW1hcGQgaW5zdGFsbF9kbWZpbGVtYXBkX3N0YXRpYwogIAorLWluc3RhbGw6IGluc3RhbGxfZGV2aWNlLW1hcHBlciBpbnN0YWxsX2RtZmlsZW1hcGQKKytpbnN0YWxsOgorKwllY2hvICJEbyBub3QgaW5zdGFsbCBkZXZpY2UgbWFwcGVyIGluIGx2bTIiCisgCisgZGV2aWNlLW1hcHBlcjogJChUQVJHRVRTX0RNKQogLS0gCi0yLjE5LjAuMzk3LmdkZDkwMzQwZjZhLWdvb2cKKzIuNy40CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMl8yLjAyLjE4MC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMl8yLjAyLjE4MC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2JkN2IwOS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTJfMi4wMi4xODAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi1yZXF1aXJlIGx2bTIuaW5jCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJiYzI2ZGE2NmU5NjcyN2JhYmJkMjg4YmIwZjA1MDMzOSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyNDk5N2UyNmRmYzkxNjE1MTcwN2M5ZGE1MDRkMzhkMDQ3M2JlYzM0ODFhODIzMGI2NzZiYzA3OTA0MWJlYWQ2IgotCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1leHBsaWNpdGx5LWRvLW5vdC1pbnN0YWxsLWxpYmRtLnBhdGNoIgotCi1ERVBFTkRTICs9ICJhdXRvY29uZi1hcmNoaXZlLW5hdGl2ZSIKLQotaW5oZXJpdCBtdWx0aWxpYl9zY3JpcHQKLQotTVVMVElMSUJfU0NSSVBUUyA9ICIke1BOfToke3N5c2NvbmZkaXJ9L2x2bS9sdm0uY29uZiIKLQotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gIk1PRFBST0JFX0NNRD0ke2Jhc2Vfc2JpbmRpcn0vbW9kcHJvYmUiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgICMgSW5zdGFsbCBtYWNoaW5lIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZmlsZQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbHZtCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbHZtLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vbHZtL2x2bS5jb25mCi0gICAgc2VkIC1pIC1lICdzOkBsaWJkaXJAOiR7bGliZGlyfTpnJyAke0R9JHtzeXNjb25mZGlyfS9sdm0vbHZtLmNvbmYKLSAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCi0gICAgICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbCBpbnN0YWxsX3N5c3RlbWRfdW5pdHMKLSAgICAgICAgc2VkIC1pIC1lICdzOi91c3IvYmluL3RydWU6JHtiYXNlX2JpbmRpcn0vdHJ1ZTpnJyAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9ibGstYXZhaWxhYmlsaXR5LnNlcnZpY2UKLSAgICBlbHNlCi0gICAgICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbCBpbnN0YWxsX2luaXRzY3JpcHRzCi0gICAgICAgIG12ICR7RH0ke3N5c2NvbmZkaXJ9L3JjLmQvaW5pdC5kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAotICAgICAgICBybSAtcmYgJHtEfSR7c3lzY29uZmRpcn0vcmMuZAotICAgIGZpCi19Ci0KLVBBQ0tBR0VfQkVGT1JFX1BOID0gIiR7UE59LXNjcmlwdHMgJHtQTn0tdWRldnJ1bGVzIgotCi1TWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2RtZXZlbnRkJywgJ2x2bTItbW9uaXRvci5zZXJ2aWNlIGRtLWV2ZW50LnNvY2tldCBkbS1ldmVudC5zZXJ2aWNlJywgJycsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbHZtZXRhZCcsICdsdm0yLWx2bWV0YWQuc29ja2V0IGx2bTItcHZzY2FuQC5zZXJ2aWNlJywgJycsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgYmxrLWF2YWlsYWJpbGl0eS5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1UQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKLQotRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIC0td2l0aC1jb25mZGlyPSR7c3lzY29uZmRpcn0iCi0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZGV2aWNlLW1hcHBlci8qLnNvIgotRklMRVNfJHtQTn0tc2NyaXB0cyA9ICIgXAotICAgICR7c2JpbmRpcn0vYmxrZGVhY3RpdmF0ZSBcCi0gICAgJHtzYmluZGlyfS9mc2FkbSBcCi0gICAgJHtzYmluZGlyfS9sdm1jb25mIFwKLSAgICAke3NiaW5kaXJ9L2x2bWR1bXAgXAotIgotIyBTcGVjaWZpZWQgZXhwbGljaXRseSBmb3IgdGhlIHVkZXYgcnVsZXMsIGp1c3QgaW4gY2FzZSB0aGF0IGl0IGRvZXMgbm90IGdldCBwaWNrZWQKLSMgdXAgYXV0b21hdGljYWxseToKLUZJTEVTXyR7UE59LXVkZXZydWxlcyA9ICIke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvcnVsZXMuZCIKLVJERVBFTkRTXyR7UE59LXVkZXZydWxlcyA9ICIke1BOfSIKLVJERVBFTkRTXyR7UE59X2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIGxpYmRldm1hcHBlciIKLVJERVBFTkRTXyR7UE59X2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIGxpYmRldm1hcHBlciIKLQotUkRFUEVORFNfJHtQTn0tc2NyaXB0cyA9ICIke1BOfSAoPSAke0VYVEVORFBLR1Z9KSBiYXNoIgotUlJFQ09NTUVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ID0gIiR7UE59LXNjcmlwdHMgKD0gJHtFWFRFTkRQS0dWfSkiCi0KLUNPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9sdm0vbHZtLmNvbmYiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMl8yLjAzLjAyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yXzIuMDMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTJjZTk1YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMl8yLjAzLjAyLmJiCkBAIC0wLDAgKzEsNjIgQEAKK3JlcXVpcmUgbHZtMi5pbmMKKworU1JDUkVWID0gIjkxM2MyODkxN2U2MjU3N2EyZWY2NzE1MmIyZTUxNTkyMzc1MDNkZGEiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLWV4cGxpY2l0bHktZG8tbm90LWluc3RhbGwtbGliZG0ucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtZGV2LWhkYy1vcGVuLWZhaWxlZC1Oby1tZWRpdW0tZm91bmQtd2lsbC1wcmludC1vdXQtaS5wYXRjaCBcCisgICAgICAgICAgICIKKworREVQRU5EUyArPSAiYXV0b2NvbmYtYXJjaGl2ZS1uYXRpdmUiCisKK2luaGVyaXQgbXVsdGlsaWJfc2NyaXB0CisKK01VTFRJTElCX1NDUklQVFMgPSAiJHtQTn06JHtzeXNjb25mZGlyfS9sdm0vbHZtLmNvbmYiCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJNT0RQUk9CRV9DTUQ9JHtiYXNlX3NiaW5kaXJ9L21vZHByb2JlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIEluc3RhbGwgbWFjaGluZSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGZpbGUKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2x2bQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2x2bS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2x2bS9sdm0uY29uZgorICAgIHNlZCAtaSAtZSAnczpAbGliZGlyQDoke2xpYmRpcn06ZycgJHtEfSR7c3lzY29uZmRpcn0vbHZtL2x2bS5jb25mCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorICAgICAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwgaW5zdGFsbF9zeXN0ZW1kX3VuaXRzCisgICAgICAgIHNlZCAtaSAtZSAnczovdXNyL2Jpbi90cnVlOiR7YmFzZV9iaW5kaXJ9L3RydWU6ZycgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vYmxrLWF2YWlsYWJpbGl0eS5zZXJ2aWNlCisgICAgZWxzZQorICAgICAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwgaW5zdGFsbF9pbml0c2NyaXB0cworICAgICAgICBtdiAke0R9JHtzeXNjb25mZGlyfS9yYy5kL2luaXQuZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICAgICAgcm0gLXJmICR7RH0ke3N5c2NvbmZkaXJ9L3JjLmQKKyAgICBmaQorfQorCitQQUNLQUdFX0JFRk9SRV9QTiA9ICIke1BOfS1zY3JpcHRzICR7UE59LXVkZXZydWxlcyIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdkbWV2ZW50ZCcsICdsdm0yLW1vbml0b3Iuc2VydmljZSBkbS1ldmVudC5zb2NrZXQgZG0tZXZlbnQuc2VydmljZScsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICAgICAgIGJsay1hdmFpbGFiaWxpdHkuc2VydmljZSBsdm0yLXB2c2NhbkAuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK0VYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAtLXdpdGgtY29uZmRpcj0ke3N5c2NvbmZkaXJ9IgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2RldmljZS1tYXBwZXIvKi5zbyIKK0ZJTEVTXyR7UE59LXNjcmlwdHMgPSAiIFwKKyAgICAke3NiaW5kaXJ9L2Jsa2RlYWN0aXZhdGUgXAorICAgICR7c2JpbmRpcn0vZnNhZG0gXAorICAgICR7c2JpbmRpcn0vbHZtY29uZiBcCisgICAgJHtzYmluZGlyfS9sdm1kdW1wIFwKKyIKKyMgU3BlY2lmaWVkIGV4cGxpY2l0bHkgZm9yIHRoZSB1ZGV2IHJ1bGVzLCBqdXN0IGluIGNhc2UgdGhhdCBpdCBkb2VzIG5vdCBnZXQgcGlja2VkCisjIHVwIGF1dG9tYXRpY2FsbHk6CitGSUxFU18ke1BOfS11ZGV2cnVsZXMgPSAiJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQiCitSREVQRU5EU18ke1BOfS11ZGV2cnVsZXMgPSAiJHtQTn0iCitSREVQRU5EU18ke1BOfV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBsaWJkZXZtYXBwZXIiCitSREVQRU5EU18ke1BOfV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBsaWJkZXZtYXBwZXIiCisKK1JERVBFTkRTXyR7UE59LXNjcmlwdHMgPSAiJHtQTn0gKD0gJHtFWFRFTkRQS0dWfSkgYmFzaCIKK1JSRUNPTU1FTkRTXyR7UE59X2NsYXNzLXRhcmdldCA9ICIke1BOfS1zY3JpcHRzICg9ICR7RVhURU5EUEtHVn0pIgorCitDT05GRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vbHZtL2x2bS5jb25mIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlLXRlc3QvbWFrZWZpbGUtcmVtb3ZlLWxkZmxhZ3MucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlLXRlc3QvbWFrZWZpbGUtcmVtb3ZlLWxkZmxhZ3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGZmZWRkMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21jZWxvZy9tY2UtdGVzdC9tYWtlZmlsZS1yZW1vdmUtbGRmbGFncy5wYXRjaApAQCAtMCwwICsxLDIzIEBACitSZW1vdmUgdGhlIGRlZmF1bHQgQ0ZMQUdTIGFuZCBMREZMQUdTIGluIE1ha2VmaWxlLiBFbnN1cmUgdGhlIGV4dHJhIGxpbmtlciBmbGFncyBjYW4gYmUgcGFzc2VkLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+CisKK2RpZmYgLS1naXQgYS9jYXNlcy9zdHJlc3MvaHdwb2lzb24vTWFrZWZpbGUgYi9jYXNlcy9zdHJlc3MvaHdwb2lzb24vTWFrZWZpbGUKK2luZGV4IGRhMWNiZDguLmRlYzViMTQgMTAwNjQ0CistLS0gYS9jYXNlcy9zdHJlc3MvaHdwb2lzb24vTWFrZWZpbGUKKysrKyBiL2Nhc2VzL3N0cmVzcy9od3BvaXNvbi9NYWtlZmlsZQorQEAgLTEsOCArMSw4IEBACistQ0ZMQUdTIDo9IC1nIC1XYWxsCistTERGTEFHUyA6PSAtZworKyNDRkxBR1MgOj0gLWcgLVdhbGwKKysjTERGTEFHUyA6PSAtZworIAorLWV4cG9ydCBDRkxBR1MKKy1leHBvcnQgTERGTEFHUworKyNleHBvcnQgQ0ZMQUdTCisrI2V4cG9ydCBMREZMQUdTCisgCisgYWxsOgorIAlta2RpciAtcCBiaW4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21jZWxvZy9tY2UtdGVzdF9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlLXRlc3RfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4OGM3MjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlLXRlc3RfZ2l0LmJiCkBAIC0wLDAgKzEsMzAgQEAKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEyIFdpbmQgUml2ZXIgU3lzdGVtcywgSW5jLgorIworU1VNTUFSWSA9ICJNQ0UgdGVzdCBzdWl0ZSIKKworREVTQ1JJUFRJT04gPSAiVGhlIE1DRSB0ZXN0IHN1aXRlIGlzIGEgY29sbGVjdGlvbiBvZiB0b29scyBhbmQgdGVzdCBzY3JpcHRzIGZvciBcCit0ZXN0aW5nIHRoZSBMaW51eCBSQVMgcmVsYXRlZCBmZWF0dXJlcywgaW5jbHVkaW5nIENQVS9NZW1vcnkgZXJyb3IgXAorY29udGFpbm1lbnQgYW5kIHJlY292ZXJ5LCBBQ1BJL0FQRUkgc3VwcG9ydCBldGMuIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS91dGlscy9jcHUvbWNlL21jZS10ZXN0LmdpdDtwcm90b2NvbD1naXQgXAorICAgICAgICAgICBmaWxlOi8vbWFrZWZpbGUtcmVtb3ZlLWxkZmxhZ3MucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ1JFViA9ICI3NGJmZmQ4YjBhYTI3MDUxYWVhYTE5ODNhN2IyMzk3NWNhOGQ4NzI2IgorUFYgPSAiMjAxNzEwMzArZ2l0JHtTUkNQVn0iCisKK1JERVBFTkRTXyR7UE59ID0gIm1jZWxvZyBtY2UtaW5qZWN0IGRpYWxvZyBiYXNoIgorCitDT01QQVRJQkxFX0hPU1QgPSAnKGkuODZ8eDg2XzY0KS4qLWxpbnV4JworCitTID0iJHtXT1JLRElSfS9naXQiCisKK2RvX2luc3RhbGxfYXBwZW5kKCl7CisgICBpbnN0YWxsIC1kICR7RH0vb3B0L21jZS10ZXN0CisgICBjcCAtcmYgJHtTfS8qICR7RH0vb3B0L21jZS10ZXN0LworfQorCitGSUxFU18ke1BOfSArPSAiL29wdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21pbmktaWNvbnYvbWluaS1pY29udi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21pbmktaWNvbnYvbWluaS1pY29udi5iYgppbmRleCAwZjE1NDhhLi40NGY1NWI1IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9taW5pLWljb252L21pbmktaWNvbnYuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWluaS1pY29udi9taW5pLWljb252LmJiCkBAIC0xMyw3ICsxMyw3IEBACiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzU1MjI2MmJmMWJjZjhlODU5YTJhM2E3YWRmYjAzNjdhZjg1OTMzODNlNzMwYzQ5MmU5ODE0NzdhYWMwYTBkNCIKIAogCi1TID0gIiR7V09SS0RJUn0vJHtQTn0iCitTID0gIiR7V09SS0RJUn0vJHtCUE59IgogCiBkb19pbnN0YWxsKCkgewogICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0gUFJFRklYPSR7cHJlZml4fSBMSUI9JHtiYXNlX2xpYmRpcn0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21zY2dlbi9tc2NnZW5fMC4yMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21zY2dlbi9tc2NnZW5fMC4yMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZWFkMDE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXNjZ2VuL21zY2dlbl8wLjIwLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiTXNjZ2VuIGlzIGEgc21hbGwgcHJvZ3JhbSB0aGF0IHBhcnNlcyBNZXNzYWdlIFNlcXVlbmNlIENoYXJ0IGRlc2NyaXB0aW9ucyBhbmQgcHJvZHVjZXMgUE5HLCBTVkcsIEVQUyBvciBzZXJ2ZXIgc2lkZSBpbWFnZSBtYXBzIChpc21hcHMpIGFzIHRoZSBvdXRwdXQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5tY3Rlcm5hbi5tZS51ay9tc2NnZW4vIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjFlNmEzNDAxODdjMWNmNzE2NTEzNDM5ZDA3YzFkNzkiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5tY3Rlcm5hbi5tZS51ay9tc2NnZW4vc29mdHdhcmUvJHtQTn0tc3JjLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjY1YzkwZmI1MTUwZDcxNzZiNjViNzkzZjBmYWE3Mzc3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNjMzQ4MWFlMDU5OWUxYzJkMzBiN2VkNTRhYjQ1MjQ5MTI3NTMzYWIyZjIwZTc2OGEwYWU1OGQ4NTUxZGRjMjMiCisKK0RFUEVORFMgPSAiZ2QgIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0CisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworCXNlZCAtaSAicyNBQ19QQVRIX1BST0coR0RMSUJfQ09ORklHLGdkbGliLWNvbmZpZykjQUNfUEFUSF9QUk9HKFtHRExJQl9DT05GSUddLFtnZGxpYi1jb25maWddLCAsWyR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9XSkjIiAke1N9L2NvbmZpZ3VyZS5hYworfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDEtbXVsdGlwYXRoLXRvb2xzLWFkZC1SREFDLVNVTi1BcnJheVN0b3JhZ2UtdG8taHd0YWJsZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAxLW11bHRpcGF0aC10b29scy1hZGQtUkRBQy1TVU4tQXJyYXlTdG9yYWdlLXRvLWh3dGFibGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkOTgzZTkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDEtbXVsdGlwYXRoLXRvb2xzLWFkZC1SREFDLVNVTi1BcnJheVN0b3JhZ2UtdG8taHd0YWJsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFhvc2UgVmF6cXVleiBQZXJleiA8eG9zZS52YXpxdWV6QGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgMTEgQXByIDIwMTggMTU6MTQ6MTMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoLXRvb2xzOiBhZGQgUkRBQyBTVU4vQXJyYXlTdG9yYWdlIHRvIGh3dGFibGUKLQotQWxyZWFkeSBpbiBzY3NpX2RoOiBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC90b3J2YWxkcy9saW51eC5naXQvdHJlZS9kcml2ZXJzL3Njc2kvc2NzaV9kaC5jI243MAotCi1DYzogTmV0QXBwIFJEQUMgdGVhbSA8bmctZXNlcmllcy11cHN0cmVhbS1tYWludGFpbmVyc0BuZXRhcHAuY29tPgotQ2M6IENocmlzdG9waGUgVmFyb3F1aSA8Y2hyaXN0b3BoZS52YXJvcXVpQG9wZW5zdmMuY29tPgotQ2M6IERNIE1MIDxkbS1kZXZlbEByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGlibXVsdGlwYXRoL2h3dGFibGUuYyB8IDEyICsrKysrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvaHd0YWJsZS5jIGIvbGlibXVsdGlwYXRoL2h3dGFibGUuYwotaW5kZXggODhiNDcwMC4uODI3ZTg5OSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLUBAIC04OTAsNiArODkwLDE4IEBAIHN0YXRpYyBzdHJ1Y3QgaHdlbnRyeSBkZWZhdWx0X2h3W10gPSB7Ci0gCQkubm9fcGF0aF9yZXRyeSA9IDMwLAotIAl9LAotIAl7Ci0rCQkudmVuZG9yICAgICAgICA9ICJTVU4iLAotKwkJLnByb2R1Y3QgICAgICAgPSAiQXJyYXlTdG9yYWdlIiwKLSsJCS5ibF9wcm9kdWN0ICAgID0gIlVuaXZlcnNhbCBYcG9ydCIsCi0rCQkucGdwb2xpY3kgICAgICA9IEdST1VQX0JZX1BSSU8sCi0rCQkuY2hlY2tlcl9uYW1lICA9IFJEQUMsCi0rCQkuZmVhdHVyZXMgICAgICA9ICIyIHBnX2luaXRfcmV0cmllcyA1MCIsCi0rCQkuaHdoYW5kbGVyICAgICA9ICIxIHJkYWMiLAotKwkJLnByaW9fbmFtZSAgICAgPSBQUklPX1JEQUMsCi0rCQkucGdmYWlsYmFjayAgICA9IC1GQUlMQkFDS19JTU1FRElBVEUsCi0rCQkubm9fcGF0aF9yZXRyeSA9IDMwLAotKwl9LAotKwl7Ci0gCQkvKiBaRlMgU3RvcmFnZSBBcHBsaWFuY2VzICovCi0gCQkudmVuZG9yICAgICAgICA9ICJTVU4iLAotIAkJLnByb2R1Y3QgICAgICAgPSAiKFN1biBTdG9yYWdlfFpGUyBTdG9yYWdlfENPTVNUQVIpIiwKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDItbXVsdGlwYXRoLXRvb2xzLXJlbW92ZS1jLWZyb20tX19jcGx1c2NwbHVzLW1pc3NwZWxsZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAyLW11bHRpcGF0aC10b29scy1yZW1vdmUtYy1mcm9tLV9fY3BsdXNjcGx1cy1taXNzcGVsbGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczZjAwMGEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDItbXVsdGlwYXRoLXRvb2xzLXJlbW92ZS1jLWZyb20tX19jcGx1c2NwbHVzLW1pc3NwZWxsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFhvc2UgVmF6cXVleiBQZXJleiA8eG9zZS52YXpxdWV6QGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjQgQXByIDIwMTggMTU6MDM6NDAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoLXRvb2xzOiByZW1vdmUgImMiIGZyb20gX19jcGx1c2NwbHVzLCBtaXNzcGVsbGVkCi0KLWZvdW5kIGJ5IGNwcGNoZWNrKGh0dHA6Ly9jcHBjaGVjay5zZi5uZXQvKToKLVtsaWJtcGF0aGNtZC9tcGF0aF9jbWQuaDoyNF06IChlcnJvcikgSW52YWxpZCBudW1iZXIgb2YgY2hhcmFjdGVyICd7JyB3aGVuIHRoZXNlIG1hY3JvcyBhcmUgZGVmaW5lZDogJ19fY3BsdXNjcGx1cycuCi0KLUNjOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1DYzogQ2hyaXN0b3BoZSBWYXJvcXVpIDxjaHJpc3RvcGhlLnZhcm9xdWlAb3BlbnN2Yy5jb20+Ci1DYzogRE0gTUwgPGRtLWRldmVsQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJtcGF0aGNtZC9tcGF0aF9jbWQuaCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xpYm1wYXRoY21kL21wYXRoX2NtZC5oIGIvbGlibXBhdGhjbWQvbXBhdGhfY21kLmgKLWluZGV4IGFhYThkYTkuLmRmOWQ5MzggMTAwNjQ0Ci0tLS0gYS9saWJtcGF0aGNtZC9tcGF0aF9jbWQuaAotKysrIGIvbGlibXBhdGhjbWQvbXBhdGhfY21kLmgKLUBAIC0yMCw3ICsyMCw3IEBACi0gI2lmbmRlZiBMSUJfTVBBVEhfQ01EX0gKLSAjZGVmaW5lIExJQl9NUEFUSF9DTURfSAotIAotLSNpZmRlZiBfX2NwbHVzY3BsdXMKLSsjaWZkZWYgX19jcGx1c3BsdXMKLSBleHRlcm4gIkMiIHsKLSAjZW5kaWYKLSAKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDMtbXVsdGlwYXRoLXRvb2xzLXJlbW92ZS1lbWFjcy1hdXRvY29uZmlnLW9mLWtwYXJ0eC1ncC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAzLW11bHRpcGF0aC10b29scy1yZW1vdmUtZW1hY3MtYXV0b2NvbmZpZy1vZi1rcGFydHgtZ3AucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczNThlMWEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDMtbXVsdGlwYXRoLXRvb2xzLXJlbW92ZS1lbWFjcy1hdXRvY29uZmlnLW9mLWtwYXJ0eC1ncC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFhvc2UgVmF6cXVleiBQZXJleiA8eG9zZS52YXpxdWV6QGdtYWlsLmNvbT4KLURhdGU6IFRodSwgMTIgQXByIDIwMTggMTg6MTc6MTMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoLXRvb2xzOiByZW1vdmUgZW1hY3MgYXV0b2NvbmZpZyBvZiBrcGFydHgvZ3B0LmgKLQotQ2M6IENocmlzdG9waGUgVmFyb3F1aSA8Y2hyaXN0b3BoZS52YXJvcXVpQG9wZW5zdmMuY29tPgotQ2M6IERNIE1MIDxkbS1kZXZlbEByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0ga3BhcnR4L2dwdC5oIHwgMTkgLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxOSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2twYXJ0eC9ncHQuaCBiL2twYXJ0eC9ncHQuaAotaW5kZXggNjZjZThmMS4uN2JiNTRiNyAxMDA2NDQKLS0tLSBhL2twYXJ0eC9ncHQuaAotKysrIGIva3BhcnR4L2dwdC5oCi1AQCAtMTA5LDIyICsxMDksMyBAQCBpbnQgcmVhZF9ncHRfcHQgKGludCBmZCwgc3RydWN0IHNsaWNlIGFsbCwgc3RydWN0IHNsaWNlICpzcCwgaW50IG5zKTsKLSAKLSAKLSAjZW5kaWYKLS0KLS0vKgotLSAqIE92ZXJyaWRlcyBmb3IgRW1hY3Mgc28gdGhhdCB3ZSBmb2xsb3cgTGludXMncyB0YWJiaW5nIHN0eWxlLgotLSAqIEVtYWNzIHdpbGwgbm90aWNlIHRoaXMgc3R1ZmYgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSBhbmQgYXV0b21hdGljYWxseQotLSAqIGFkanVzdCB0aGUgc2V0dGluZ3MgZm9yIHRoaXMgYnVmZmVyIG9ubHkuICBUaGlzIG11c3QgcmVtYWluIGF0IHRoZSBlbmQKLS0gKiBvZiB0aGUgZmlsZS4KLS0gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0gKiBMb2NhbCB2YXJpYWJsZXM6Ci0tICogYy1pbmRlbnQtbGV2ZWw6IDQKLS0gKiBjLWJyYWNlLWltYWdpbmFyeS1vZmZzZXQ6IDAKLS0gKiBjLWJyYWNlLW9mZnNldDogLTQKLS0gKiBjLWFyZ2RlY2wtaW5kZW50OiA0Ci0tICogYy1sYWJlbC1vZmZzZXQ6IC00Ci0tICogYy1jb250aW51ZWQtc3RhdGVtZW50LW9mZnNldDogNAotLSAqIGMtY29udGludWVkLWJyYWNlLW9mZnNldDogMAotLSAqIGluZGVudC10YWJzLW1vZGU6IG5pbAotLSAqIHRhYi13aWR0aDogOAotLSAqIEVuZDoKLS0gKi8KLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDQtbXVsdGlwYXRoLXRvb2xzLXJlcGxhY2UtRlNGLWFkZHJlc3Mtd2l0aC1hLXd3dy1wb2ludC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA0LW11bHRpcGF0aC10b29scy1yZXBsYWNlLUZTRi1hZGRyZXNzLXdpdGgtYS13d3ctcG9pbnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEzZjE4YjUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDQtbXVsdGlwYXRoLXRvb2xzLXJlcGxhY2UtRlNGLWFkZHJlc3Mtd2l0aC1hLXd3dy1wb2ludC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5MSArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDExIE1heSAyMDE4IDE1OjQyOjQzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11bHRpcGF0aC10b29sczogcmVwbGFjZSBGU0YgYWRkcmVzcyB3aXRoIGEgd3d3IHBvaW50ZXIKLQotTGVzcyBwcm9uZSB0byBmdXR1cmUgbW9kaWZpY2F0aW9ucywgbmV3IEZTRiBsaWNlbmNlcwotcG9pbnQgZXhhY3RseSB0byB0aGlzIHVybDogPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotQW5kIHNlbmRpbmcgYSBzbWFpbCB0byBGU0YgaXMgb3V0ZGF0ZWQuCi0KLUZpcnN0IGNsZWFuIHVwIHdhcyBkb25lIGluIDU2MTlhMzljNDMzYWMzZDEwYTg4MDc5NTkzY2VjMWFhNjQ3MmNiZWIKLQotQ2M6IE1hcnRpbiBXaWxjayA8bXdpbGNrQHN1c2UuY29tPgotQ2M6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLUNjOiBDaHJpc3RvcGhlIFZhcm9xdWkgPGNocmlzdG9waGUudmFyb3F1aUBvcGVuc3ZjLmNvbT4KLUNjOiBETSBNTCA8ZG0tZGV2ZWxAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IFhvc2UgVmF6cXVleiBQZXJleiA8eG9zZS52YXpxdWV6QGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIGxpYm11bHRpcGF0aC9kbS1nZW5lcmljLmMgICB8IDQgKy0tLQotIGxpYm11bHRpcGF0aC9kbS1nZW5lcmljLmggICB8IDQgKy0tLQotIGxpYm11bHRpcGF0aC9mb3JlaWduLmMgICAgICB8IDQgKy0tLQotIGxpYm11bHRpcGF0aC9mb3JlaWduLmggICAgICB8IDQgKy0tLQotIGxpYm11bHRpcGF0aC9mb3JlaWduL252bWUuYyB8IDQgKy0tLQotIGxpYm11bHRpcGF0aC9nZW5lcmljLmMgICAgICB8IDQgKy0tLQotIGxpYm11bHRpcGF0aC9nZW5lcmljLmggICAgICB8IDQgKy0tLQotIHRlc3RzL2RtZXZlbnRzLmMgICAgICAgICAgICB8IDIgKy0KLSB0ZXN0cy9wYXJzZXIuYyAgICAgICAgICAgICAgfCAyICstCi0gdGVzdHMvdWV2ZW50LmMgICAgICAgICAgICAgIHwgMiArLQotIHRlc3RzL3V0aWwuYyAgICAgICAgICAgICAgICB8IDIgKy0KLSAxMSBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9kbS1nZW5lcmljLmMgYi9saWJtdWx0aXBhdGgvZG0tZ2VuZXJpYy5jCi1pbmRleCBiZGM5Y2EwLi5kNzUyOTkxIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2RtLWdlbmVyaWMuYwotKysrIGIvbGlibXVsdGlwYXRoL2RtLWdlbmVyaWMuYwotQEAgLTEyLDkgKzEyLDcgQEAKLSAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gCi0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLS0gIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsCi0tICBVU0EuCi0rICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gICovCi0gCi0gI2luY2x1ZGUgPHN0ZGludC5oPgotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9kbS1nZW5lcmljLmggYi9saWJtdWx0aXBhdGgvZG0tZ2VuZXJpYy5oCi1pbmRleCA1ZDU5NzI0Li45ODY0MjlmIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2RtLWdlbmVyaWMuaAotKysrIGIvbGlibXVsdGlwYXRoL2RtLWdlbmVyaWMuaAotQEAgLTEyLDkgKzEyLDcgQEAKLSAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gCi0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLS0gIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsCi0tICBVU0EuCi0rICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gICovCi0gI2lmbmRlZiBfRE1fR0VORVJJQ19ICi0gI2RlZmluZSBfRE1fR0VORVJJQ19ICi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2ZvcmVpZ24uYyBiL2xpYm11bHRpcGF0aC9mb3JlaWduLmMKLWluZGV4IDcyMTcxODQuLjgwYjM5OWIgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvZm9yZWlnbi5jCi0rKysgYi9saWJtdWx0aXBhdGgvZm9yZWlnbi5jCi1AQCAtMTIsOSArMTIsNyBAQAotICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAKLSAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0tICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotLSAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwKLS0gIFVTQS4KLSsgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAqLwotIAotICNpbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2ZvcmVpZ24uaCBiL2xpYm11bHRpcGF0aC9mb3JlaWduLmgKLWluZGV4IDk3M2YzNjguLjY5N2YxMmYgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvZm9yZWlnbi5oCi0rKysgYi9saWJtdWx0aXBhdGgvZm9yZWlnbi5oCi1AQCAtMTIsOSArMTIsNyBAQAotICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAKLSAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0tICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotLSAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwKLS0gIFVTQS4KLSsgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAqLwotICNpZm5kZWYgX0ZPUkVJR05fSAotICNkZWZpbmUgX0ZPUkVJR05fSAotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9mb3JlaWduL252bWUuYyBiL2xpYm11bHRpcGF0aC9mb3JlaWduL252bWUuYwotaW5kZXggMjM1Zjc1ZC4uMjgwYjZiZCAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9mb3JlaWduL252bWUuYwotKysrIGIvbGlibXVsdGlwYXRoL2ZvcmVpZ24vbnZtZS5jCi1AQCAtMTIsOSArMTIsNyBAQAotICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAKLSAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0tICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotLSAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwKLS0gIFVTQS4KLSsgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAqLwotIAotICNpbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2dlbmVyaWMuYyBiL2xpYm11bHRpcGF0aC9nZW5lcmljLmMKLWluZGV4IDZmN2EyY2QuLjBkMWU2MzIgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvZ2VuZXJpYy5jCi0rKysgYi9saWJtdWx0aXBhdGgvZ2VuZXJpYy5jCi1AQCAtMTIsOSArMTIsNyBAQAotICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAKLSAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0tICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotLSAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwKLS0gIFVTQS4KLSsgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAgKi8KLSAKLSAKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZ2VuZXJpYy5oIGIvbGlibXVsdGlwYXRoL2dlbmVyaWMuaAotaW5kZXggN2Y3ZmU2Ni4uNjM0NmZmZSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9nZW5lcmljLmgKLSsrKyBiL2xpYm11bHRpcGF0aC9nZW5lcmljLmgKLUBAIC0xMiw5ICsxMiw3IEBACi0gICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIAotICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLS0gIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0tICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLAotLSAgVVNBLgotKyAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotICAqLwotICNpZm5kZWYgX0dFTkVSSUNfSAotICNkZWZpbmUgX0dFTkVSSUNfSAotZGlmZiAtLWdpdCBhL3Rlc3RzL2RtZXZlbnRzLmMgYi90ZXN0cy9kbWV2ZW50cy5jCi1pbmRleCBiYmE1MWRjLi4zMzk5YzgxIDEwMDY0NAotLS0tIGEvdGVzdHMvZG1ldmVudHMuYwotKysrIGIvdGVzdHMvZG1ldmVudHMuYwotQEAgLTEyLDcgKzEyLDcgQEAKLSAgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICAqCi0gICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLS0gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAgKgotICAqLwotIAotZGlmZiAtLWdpdCBhL3Rlc3RzL3BhcnNlci5jIGIvdGVzdHMvcGFyc2VyLmMKLWluZGV4IGE3ZTc1OTguLjI5ODU5ZGEgMTAwNjQ0Ci0tLS0gYS90ZXN0cy9wYXJzZXIuYwotKysrIGIvdGVzdHMvcGFyc2VyLmMKLUBAIC0xMiw3ICsxMiw3IEBACi0gICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAgKgotICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0tICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSsgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gICoKLSAgKi8KLSAKLWRpZmYgLS1naXQgYS90ZXN0cy91ZXZlbnQuYyBiL3Rlc3RzL3VldmVudC5jCi1pbmRleCBhY2ZjYjE0Li5iMGQwYmZkIDEwMDY0NAotLS0tIGEvdGVzdHMvdWV2ZW50LmMKLSsrKyBiL3Rlc3RzL3VldmVudC5jCi1AQCAtMTIsNyArMTIsNyBAQAotICAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gICoKLSAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0rICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotICAqCi0gICovCi0gCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdXRpbC5jIGIvdGVzdHMvdXRpbC5jCi1pbmRleCAxMTNiMTM0Li44MzllZmZkIDEwMDY0NAotLS0tIGEvdGVzdHMvdXRpbC5jCi0rKysgYi90ZXN0cy91dGlsLmMKLUBAIC0xMiw3ICsxMiw3IEBACi0gICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAgKgotICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0tICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSsgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gICoKLSAgKi8KLSAKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDUtbXVsdGlwYXRoLXRvb2xzLVJlbW92ZS10cmFpbGluZy1sZWFkaW5nLXdoaXRlc3BhY2VzLS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA1LW11bHRpcGF0aC10b29scy1SZW1vdmUtdHJhaWxpbmctbGVhZGluZy13aGl0ZXNwYWNlcy0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1M2U3MzkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDUtbXVsdGlwYXRoLXRvb2xzLVJlbW92ZS10cmFpbGluZy1sZWFkaW5nLXdoaXRlc3BhY2VzLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE1NiArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDExIE1heSAyMDE4IDE1OjQzOjExICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11bHRpcGF0aC10b29sczogUmVtb3ZlIHRyYWlsaW5nL2xlYWRpbmcgd2hpdGVzcGFjZXMgYW5kCi0gcmVmb3JtYXQgY29kZQotCi1DYzogQ2hyaXN0b3BoZSBWYXJvcXVpIDxjaHJpc3RvcGhlLnZhcm9xdWlAb3BlbnN2Yy5jb20+Ci1DYzogZGV2aWNlLW1hcHBlciBkZXZlbG9wbWVudCA8ZG0tZGV2ZWxAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IFhvc2UgVmF6cXVleiBQZXJleiA8eG9zZS52YXpxdWV6QGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIE1ha2VmaWxlLmluYyAgICAgICAgICAgfCAyMyArKysrKysrKysrKy0tLS0tLS0tLS0tLQotIGtwYXJ0eC9tYWMuaCAgICAgICAgICAgfCAgMiArLQotIGtwYXJ0eC90ZXN0LWtwYXJ0eCAgICAgfCAgMiArLQotIGxpYm1wYXRoY21kL01ha2VmaWxlICAgfCAgMiArLQotIGxpYm11bHRpcGF0aC9od3RhYmxlLmMgfCAxNCArKysrKysrLS0tLS0tLQotIGxpYm11bHRpcGF0aC9wcmludC5oICAgfCAgMiArLQotIG11bHRpcGF0aGQvbWFpbi5oICAgICAgfCAgNiArKystLS0KLSA3IGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW5jIGIvTWFrZWZpbGUuaW5jCi1pbmRleCA1N2ExODM1Li5hZjJmNWJhIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuaW5jCi0rKysgYi9NYWtlZmlsZS5pbmMKLUBAIC0xMDMsMjEgKzEwMywyMCBAQCBMREZMQUdTCQk9IC1XbCwteixyZWxybyAtV2wsLXosbm93Ci0gQklOX0xERkxBR1MJPSAtcGllCi0gCi0gIyBDaGVjayB3aGV0aGVyIGEgZnVuY3Rpb24gd2l0aCBuYW1lICQxIGhhcyBiZWVuIGRlY2xhcmVkIGluIGhlYWRlciBmaWxlICQyLgotLWNoZWNrX2Z1bmMgPQkJCQkJCQkJICAgICAgIFwKLS0gICAgJChzaGVsbAkJCQkJCQkJICAgICAgIFwKLStjaGVja19mdW5jID0gJChzaGVsbCBcCi0gCWlmIGdyZXAgLUVxICJeW15bOmJsYW5rOl1dK1tbOmJsYW5rOl1dKyQxW1s6Ymxhbms6XV0qKC4qKSoiICIkMiI7IHRoZW4gXAotLQkgICBmb3VuZD0xOwkJCQkJCQkgICAgICAgXAotLQkgICBzdGF0dXM9InllcyI7CQkJCQkJICAgICAgIFwKLS0JZWxzZQkJCQkJCQkJICAgICAgIFwKLS0JICAgZm91bmQ9MDsJCQkJCQkJICAgICAgIFwKLS0JICAgc3RhdHVzPSJubyI7CQkJCQkJCSAgICAgICBcCi0tCWZpOwkJCQkJCQkJICAgICAgIFwKLS0JZWNobyAxPiYyICJDaGVja2luZyBmb3IgJDEgaW4gJDIgLi4uICQkc3RhdHVzIjsJCQkgICAgICAgXAotLQllY2hvICIkJGZvdW5kIgkJCQkJCQkgICAgICAgXAotLSAgICApCi0rCQlmb3VuZD0xOyBcCi0rCQlzdGF0dXM9InllcyI7IFwKLSsJZWxzZSBcCi0rCQlmb3VuZD0wOyBcCi0rCQlzdGF0dXM9Im5vIjsgXAotKwlmaTsgXAotKwllY2hvIDE+JjIgIkNoZWNraW5nIGZvciAkMSBpbiAkMiAuLi4gJCRzdGF0dXMiOyBcCi0rCWVjaG8gIiQkZm91bmQiIFwKLSsJKQotIAotICMgQ2hlY2tlciB3aGV0aGVyIGEgZmlsZSB3aXRoIG5hbWUgJDEgZXhpc3RzCi0tY2hlY2tfZmlsZSA9ICQoc2hlbGwJXAotK2NoZWNrX2ZpbGUgPSAkKHNoZWxsIFwKLSAJaWYgWyAtZiAiJDEiIF07IHRoZW4gXAotIAkJZm91bmQ9MTsgXAotIAkJc3RhdHVzPSJ5ZXMiOyBcCi1kaWZmIC0tZ2l0IGEva3BhcnR4L21hYy5oIGIva3BhcnR4L21hYy5oCi1pbmRleCBhNDRjZjM4Li41NWMzZWM5IDEwMDY0NAotLS0tIGEva3BhcnR4L21hYy5oCi0rKysgYi9rcGFydHgvbWFjLmgKLUBAIC0yNCw3ICsyNCw3IEBAIHN0cnVjdCBtYWNfZHJpdmVyX2Rlc2MgewotIAl1aW50MTZfdCAgc2lnbmF0dXJlOyAgICAgIC8qIGV4cGVjdGVkIHRvIGJlIE1BQ19EUklWRVJfTUFHSUMgKi8KLSAJdWludDE2X3QgIGJsb2NrX3NpemU7Ci0gCXVpbnQzMl90ICBibG9ja19jb3VudDsKLS0gICAgLyogLi4uIG1vcmUgc3R1ZmYgKi8KLSsJLyogLi4uIG1vcmUgc3R1ZmYgKi8KLSB9OwotIAotICNlbmRpZgotZGlmZiAtLWdpdCBhL2twYXJ0eC90ZXN0LWtwYXJ0eCBiL2twYXJ0eC90ZXN0LWtwYXJ0eAotaW5kZXggOWNlZTIwZi4uZDIwMDFkYyAxMDA3NTUKLS0tLSBhL2twYXJ0eC90ZXN0LWtwYXJ0eAotKysrIGIva3BhcnR4L3Rlc3Qta3BhcnR4Ci1AQCAtMTMxLDcgKzEzMSw3IEBAIHN0ZXAgImNyZWF0ZSBETSBkZXZpY2VzIChzcGFucykiCi0gIyBUaGV5IGFsc28gc2VydmUgYXMgRE0gZGV2aWNlcyB0byB0ZXN0IHBhcnRpdGlvbiByZW1vdmFsIG9uIHRob3NlLgotIAotIFRBQkxFPSJcCi0tMCAkKChTSVpFL1NFQ1RTSVotT0ZGUykpIGxpbmVhciAkREVWMSAkT0ZGUyAKLSswICQoKFNJWkUvU0VDVFNJWi1PRkZTKSkgbGluZWFyICRERVYxICRPRkZTCi0gJCgoU0laRS9TRUNUU0laLU9GRlMpKSAkKChTSVpFL1NFQ1RTSVotT0ZGUykpIGxpbmVhciAkREVWMiAkT0ZGUyIKLSAKLSBTUEFOMT1rcHQKLWRpZmYgLS1naXQgYS9saWJtcGF0aGNtZC9NYWtlZmlsZSBiL2xpYm1wYXRoY21kL01ha2VmaWxlCi1pbmRleCA1M2MwODk5Li4wZjZiODE2IDEwMDY0NAotLS0tIGEvbGlibXBhdGhjbWQvTWFrZWZpbGUKLSsrKyBiL2xpYm1wYXRoY21kL01ha2VmaWxlCi1AQCAtMjcsNyArMjcsNyBAQCB1bmluc3RhbGw6Ci0gCSQoUk0pICQoREVTVERJUikkKGluY2x1ZGVkaXIpL21wYXRoX2NtZC5oCi0gCi0gY2xlYW46IGRlcF9jbGVhbgotLQkkKFJNKSBjb3JlICouYSAqLm8gKi5zbyAqLnNvLiogKi5neiAKLSsJJChSTSkgY29yZSAqLmEgKi5vICouc28gKi5zby4qICouZ3oKLSAKLSBpbmNsdWRlICQod2lsZGNhcmQgJChPQkpTOi5vPS5kKSkKLSAKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvaHd0YWJsZS5jIGIvbGlibXVsdGlwYXRoL2h3dGFibGUuYwotaW5kZXggODI3ZTg5OS4uMmNhNjg4OCAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLUBAIC03OCwxMyArNzgsMTMgQEAKLSAjZW5kaWYKLSAKLSBzdGF0aWMgc3RydWN0IGh3ZW50cnkgZGVmYXVsdF9od1tdID0gewotLSAgICAgICAvKgotLQkqIEdlbmVyaWMgTlZNZQotLQkqCi0tCSogRHVlIHRvIHRoZSBwYXJzaW5nIGxvZ2ljIGluIGZpbmRfaHdlKCksIGdlbmVyaWMgZW50cmllcwotLQkqIGhhdmUgdG8gYmUgcHV0IG9uIHRvcCBvZiB0aGlzIGxpc3QsIGFuZCBtb3JlIHNwZWNpZmljIG9uZXMKLS0JKiBiZWxvdy4KLS0JKi8KLSsJLyoKLSsJICogR2VuZXJpYyBOVk1lIGRldmljZXMKLSsJICoKLSsJICogRHVlIHRvIHRoZSBwYXJzaW5nIGxvZ2ljIGluIGZpbmRfaHdlKCksIGdlbmVyaWMgZW50cmllcwotKwkgKiBoYXZlIHRvIGJlIHB1dCBvbiB0b3Agb2YgdGhpcyBsaXN0LCBhbmQgbW9yZSBzcGVjaWZpYyBvbmVzCi0rCSAqIGJlbG93LgotKwkgKi8KLSAJewotIAkJLnZlbmRvciAgICAgICAgPSAiTlZNRSIsCi0gCQkucHJvZHVjdCAgICAgICA9ICIuKiIsCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3ByaW50LmggYi9saWJtdWx0aXBhdGgvcHJpbnQuaAotaW5kZXggN2JhNjQzOC4uOWI1YTIzYSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9wcmludC5oCi0rKysgYi9saWJtdWx0aXBhdGgvcHJpbnQuaAotQEAgLTExMyw3ICsxMTMsNyBAQCBpbnQgX3NucHJpbnRfbXVsdGlwYXRoIChjb25zdCBzdHJ1Y3QgZ2VuX211bHRpcGF0aCAqLCBjaGFyICosIGludCwKLSAJCQljb25zdCBjaGFyICosIGludCk7Ci0gI2RlZmluZSBzbnByaW50X211bHRpcGF0aChidWYsIGxlbiwgZm10LCBtcCwgdikJCQkJXAotIAlfc25wcmludF9tdWx0aXBhdGgoZG1fbXVsdGlwYXRoX3RvX2dlbihtcCksIGJ1ZiwgbGVuLCBmbXQsICB2KQotLWludCBfc25wcmludF9tdWx0aXBhdGhfdG9wb2xvZ3kgKGNvbnN0IHN0cnVjdCBnZW5fbXVsdGlwYXRoICosIGNoYXIgKiwgaW50LCAKLStpbnQgX3NucHJpbnRfbXVsdGlwYXRoX3RvcG9sb2d5IChjb25zdCBzdHJ1Y3QgZ2VuX211bHRpcGF0aCAqLCBjaGFyICosIGludCwKLSAJCQkJIGludCB2ZXJib3NpdHkpOwotICNkZWZpbmUgc25wcmludF9tdWx0aXBhdGhfdG9wb2xvZ3koYnVmLCBsZW4sIG1wcCwgdikgXAotIAlfc25wcmludF9tdWx0aXBhdGhfdG9wb2xvZ3kgKGRtX211bHRpcGF0aF90b19nZW4obXBwKSwgYnVmLCBsZW4sIHYpCi1kaWZmIC0tZ2l0IGEvbXVsdGlwYXRoZC9tYWluLmggYi9tdWx0aXBhdGhkL21haW4uaAotaW5kZXggYWYzOTU1OC4uOGZkNDI2YiAxMDA2NDQKLS0tLSBhL211bHRpcGF0aGQvbWFpbi5oCi0rKysgYi9tdWx0aXBhdGhkL21haW4uaAotQEAgLTI5LDExICsyOSwxMSBAQCBpbnQgZXZfcmVtb3ZlX21hcCAoY2hhciAqLCBjaGFyICosIGludCwgc3RydWN0IHZlY3RvcnMgKik7Ci0gaW50IHNldF9jb25maWdfc3RhdGUoZW51bSBkYWVtb25fc3RhdHVzKTsKLSB2b2lkICogbXBhdGhfYWxsb2NfcHJpbl9yZXNwb25zZShpbnQgcHJpbl9zYSk7Ci0gaW50IHByaW5fZG9fc2NzaV9pb2N0bChjaGFyICosIGludCBycV9zZXJ2YWN0LCBzdHJ1Y3QgcHJpbl9yZXNwICogcmVzcCwKLS0gICAgICAgaW50IG5vaXN5KTsKLSsJCSAgICAgICBpbnQgbm9pc3kpOwotIHZvaWQgZHVtcEhleChjb25zdCBjaGFyICogLCBpbnQgbGVuLCBpbnQgbm9fYXNjaWkpOwotIGludCBwcm91dF9kb19zY3NpX2lvY3RsKGNoYXIgKiAsIGludCBycV9zZXJ2YWN0LCBpbnQgcnFfc2NvcGUsCi0tICAgICAgIHVuc2lnbmVkIGludCBycV90eXBlLCBzdHJ1Y3QgcHJvdXRfcGFyYW1fZGVzY3JpcHRvciAqcGFyYW0sCi0tICAgICAgIGludCBub2lzeSk7Ci0rCQkJdW5zaWduZWQgaW50IHJxX3R5cGUsCi0rCQkJc3RydWN0IHByb3V0X3BhcmFtX2Rlc2NyaXB0b3IgKnBhcmFtLCBpbnQgbm9pc3kpOwotIGludCBtcGF0aF9wcl9ldmVudF9oYW5kbGUoc3RydWN0IHBhdGggKnBwKTsKLSB2b2lkICogbXBhdGhfcHJfZXZlbnRfaGFuZGxlcl9mbiAodm9pZCAqICk7Ci0gaW50IHVwZGF0ZV9tYXBfcHIoc3RydWN0IG11bHRpcGF0aCAqbXBwKTsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDYtbXVsdGlwYXRoLXRvb2xzLWZpeC1jb21waWxhdGlvbi13aXRoLW11c2wtbGliYy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA2LW11bHRpcGF0aC10b29scy1maXgtY29tcGlsYXRpb24td2l0aC1tdXNsLWxpYmMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2ZmQ1YjQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDYtbXVsdGlwYXRoLXRvb2xzLWZpeC1jb21waWxhdGlvbi13aXRoLW11c2wtbGliYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFhvc2UgVmF6cXVleiBQZXJleiA8eG9zZS52YXpxdWV6QGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMTEgTWF5IDIwMTggMTg6Mzk6NDQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoLXRvb2xzOiBmaXggY29tcGlsYXRpb24gd2l0aCBtdXNsIGxpYmMKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGFsaWFzLmM6MTU6Ci1maWxlLmg6OTo0NzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lIOKAmG1vZGVfdOKAmTsgZGlkIHlvdSBtZWFuIOKAmHRpbWVfdOKAmT8KLSBpbnQgZW5zdXJlX2RpcmVjdG9yaWVzX2V4aXN0KGNvbnN0IGNoYXIgKnN0ciwgbW9kZV90IGRpcl9tb2RlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVfdAotCi1zeXNmcy5jOiBJbiBmdW5jdGlvbiDigJhzeXNmc19pc19tdWx0aXBhdGhlZOKAmToKLXN5c2ZzLmM6MzA0OjE1OiBlcnJvcjog4oCYUEFUSF9NQVjigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUEFUSF9VUOKAmT8KLSAgY2hhciBwYXRoYnVmW1BBVEhfTUFYXTsKLSAgICAgICAgICAgICAgIF5+fn5+fn5+Ci0gICAgICAgICAgICAgICBQQVRIX1VQCi0KLUNjOiBNYXJ0aW4gV2lsY2sgPG13aWxja0BzdXNlLmNvbT4KLUNjOiBDaHJpc3RvcGhlIFZhcm9xdWkgPGNocmlzdG9waGUudmFyb3F1aUBvcGVuc3ZjLmNvbT4KLUNjOiBETSBNTCA8ZG0tZGV2ZWxAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IFhvc2UgVmF6cXVleiBQZXJleiA8eG9zZS52YXpxdWV6QGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIGxpYm11bHRpcGF0aC9maWxlLmggIHwgMiArKwotIGxpYm11bHRpcGF0aC9zeXNmcy5jIHwgMSArCi0gMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9maWxlLmggYi9saWJtdWx0aXBhdGgvZmlsZS5oCi1pbmRleCAyOTUyMGM3Li4zYzc1YzkwIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2ZpbGUuaAotKysrIGIvbGlibXVsdGlwYXRoL2ZpbGUuaAotQEAgLTUsNiArNSw4IEBACi0gI2lmbmRlZiBfRklMRV9ICi0gI2RlZmluZSBfRklMRV9ICi0gCi0rI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0rCi0gI2RlZmluZSBGSUxFX1RJTUVPVVQgMzAKLSBpbnQgZW5zdXJlX2RpcmVjdG9yaWVzX2V4aXN0KGNvbnN0IGNoYXIgKnN0ciwgbW9kZV90IGRpcl9tb2RlKTsKLSBpbnQgb3Blbl9maWxlKGNvbnN0IGNoYXIgKmZpbGUsIGludCAqY2FuX3dyaXRlLCBjb25zdCBjaGFyICpoZWFkZXIpOwotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9zeXNmcy5jIGIvbGlibXVsdGlwYXRoL3N5c2ZzLmMKLWluZGV4IGVlNzJlNmEuLjE2ZTBhNzMgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvc3lzZnMuYwotKysrIGIvbGlibXVsdGlwYXRoL3N5c2ZzLmMKLUBAIC0yOCw2ICsyOCw3IEBACi0gI2luY2x1ZGUgPGRpcmVudC5oPgotICNpbmNsdWRlIDxsaWJ1ZGV2Lmg+Ci0gI2luY2x1ZGUgPGZubWF0Y2guaD4KLSsjaW5jbHVkZSA8bGltaXRzLmg+Ci0gCi0gI2luY2x1ZGUgImNoZWNrZXJzLmgiCi0gI2luY2x1ZGUgInZlY3Rvci5oIgotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwNy1tdWx0aXBhdGgtdG9vbHMtYWRkLXgtdG8tZG9jLXByZWNsZWFuLnBsLWFuZC1zcGxpdC1tLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDctbXVsdGlwYXRoLXRvb2xzLWFkZC14LXRvLWRvYy1wcmVjbGVhbi5wbC1hbmQtc3BsaXQtbS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWU2MDhlMS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwNy1tdWx0aXBhdGgtdG9vbHMtYWRkLXgtdG8tZG9jLXByZWNsZWFuLnBsLWFuZC1zcGxpdC1tLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotRGF0ZTogU3VuLCAxMyBNYXkgMjAxOCAwMDozOTo0MSArMDIwMAotU3ViamVjdDogW1BBVENIXSBtdWx0aXBhdGgtdG9vbHM6IGFkZCAreCB0byBkb2MtcHJlY2xlYW4ucGwgYW5kIHNwbGl0LW1hbi5wbAotCi1JdCBpcyBub3Qgc3RyaWN0bHkgbmVjZXNzYXJ5LCBidXQgaXQgaGVscHMgaWRlbnRpZnkgYmluIGZpbGVzLgotCi1DYzogQ2hyaXN0b3BoZSBWYXJvcXVpIDxjaHJpc3RvcGhlLnZhcm9xdWlAb3BlbnN2Yy5jb20+Ci1DYzogRE0gTUwgPGRtLWRldmVsQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJkbW1wL2RvY3MvZG9jLXByZWNsZWFuLnBsIHwgMAotIGxpYmRtbXAvZG9jcy9zcGxpdC1tYW4ucGwgICAgfCAwCi0gMiBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCi0gbW9kZSBjaGFuZ2UgMTAwNjQ0ID0+IDEwMDc1NSBsaWJkbW1wL2RvY3MvZG9jLXByZWNsZWFuLnBsCi0gbW9kZSBjaGFuZ2UgMTAwNjQ0ID0+IDEwMDc1NSBsaWJkbW1wL2RvY3Mvc3BsaXQtbWFuLnBsCi0KLWRpZmYgLS1naXQgYS9saWJkbW1wL2RvY3MvZG9jLXByZWNsZWFuLnBsIGIvbGliZG1tcC9kb2NzL2RvYy1wcmVjbGVhbi5wbAotb2xkIG1vZGUgMTAwNjQ0Ci1uZXcgbW9kZSAxMDA3NTUKLWRpZmYgLS1naXQgYS9saWJkbW1wL2RvY3Mvc3BsaXQtbWFuLnBsIGIvbGliZG1tcC9kb2NzL3NwbGl0LW1hbi5wbAotb2xkIG1vZGUgMTAwNjQ0Ci1uZXcgbW9kZSAxMDA3NTUKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDgtbXVsdGlwYXRoLXRvb2xzLXJlZnJlc2gta2VybmVsLWRvYy1mcm9tLWtlcm5lbC1zb3VyYy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA4LW11bHRpcGF0aC10b29scy1yZWZyZXNoLWtlcm5lbC1kb2MtZnJvbS1rZXJuZWwtc291cmMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3NTIxNTguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDgtbXVsdGlwYXRoLXRvb2xzLXJlZnJlc2gta2VybmVsLWRvYy1mcm9tLWtlcm5lbC1zb3VyYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc4NCArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1EYXRlOiBTdW4sIDEzIE1heSAyMDE4IDAwOjM5OjQyICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11bHRpcGF0aC10b29sczogcmVmcmVzaCBrZXJuZWwtZG9jIGZyb20ga2VybmVsIHNvdXJjZXMKLQotQ2M6IEdyaXMgR2UgPGZnZUByZWRoYXQuY29tPgotQ2M6IENocmlzdG9waGUgVmFyb3F1aSA8Y2hyaXN0b3BoZS52YXJvcXVpQG9wZW5zdmMuY29tPgotQ2M6IGRldmljZS1tYXBwZXIgZGV2ZWxvcG1lbnQgPGRtLWRldmVsQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJkbW1wL2RvY3Mva2VybmVsLWRvYyB8IDY3MSArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMzY4IGluc2VydGlvbnMoKyksIDMwMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYmRtbXAvZG9jcy9rZXJuZWwtZG9jIGIvbGliZG1tcC9kb2NzL2tlcm5lbC1kb2MKLWluZGV4IGZlZTg5NTIuLjAwNTdkOGUgMTAwNzU1Ci0tLS0gYS9saWJkbW1wL2RvY3Mva2VybmVsLWRvYwotKysrIGIvbGliZG1tcC9kb2NzL2tlcm5lbC1kb2MKLUBAIC0xLDQgKzEsNSBAQAotICMhL3Vzci9iaW4vZW52IHBlcmwKLSsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCi0gCi0gdXNlIHdhcm5pbmdzOwotIHVzZSBzdHJpY3Q7Ci1AQCAtMzI4LDEzICszMjksMTUgQEAgbXkgJGxpbmVwcmVmaXg9IiI7Ci0gdXNlIGNvbnN0YW50IHsKLSAgICAgU1RBVEVfTk9STUFMICAgICAgICA9PiAwLCAjIG5vcm1hbCBjb2RlCi0gICAgIFNUQVRFX05BTUUgICAgICAgICAgPT4gMSwgIyBsb29raW5nIGZvciBmdW5jdGlvbiBuYW1lCi0tICAgIFNUQVRFX0ZJRUxEICAgICAgICAgPT4gMiwgIyBzY2FubmluZyBmaWVsZCBzdGFydAotLSAgICBTVEFURV9QUk9UTyAgICAgICAgID0+IDMsICMgc2Nhbm5pbmcgcHJvdG90eXBlCi0tICAgIFNUQVRFX0RPQ0JMT0NLICAgICAgPT4gNCwgIyBkb2N1bWVudGF0aW9uIGJsb2NrCi0tICAgIFNUQVRFX0lOTElORSAgICAgICAgPT4gNSwgIyBnYXRoZXJpbmcgZG9jdW1lbnRhdGlvbiBvdXRzaWRlIG1haW4gYmxvY2sKLSsgICAgU1RBVEVfQk9EWV9NQVlCRSAgICA9PiAyLCAjIGJvZHkgLSBvciBtYXliZSBtb3JlIGRlc2NyaXB0aW9uCi0rICAgIFNUQVRFX0JPRFkgICAgICAgICAgPT4gMywgIyB0aGUgYm9keSBvZiB0aGUgY29tbWVudAotKyAgICBTVEFURV9QUk9UTyAgICAgICAgID0+IDQsICMgc2Nhbm5pbmcgcHJvdG90eXBlCi0rICAgIFNUQVRFX0RPQ0JMT0NLICAgICAgPT4gNSwgIyBkb2N1bWVudGF0aW9uIGJsb2NrCi0rICAgIFNUQVRFX0lOTElORSAgICAgICAgPT4gNiwgIyBnYXRoZXJpbmcgZG9jdW1lbnRhdGlvbiBvdXRzaWRlIG1haW4gYmxvY2sKLSB9OwotIG15ICRzdGF0ZTsKLSBteSAkaW5fZG9jX3NlY3Q7Ci0rbXkgJGxlYWRpbmdfc3BhY2U7Ci0gCi0gIyBJbmxpbmUgZG9jdW1lbnRhdGlvbiBzdGF0ZQotIHVzZSBjb25zdGFudCB7Ci1AQCAtMzYzLDcgKzM2Niw3IEBAIG15ICRkb2Nfc2VjdCA9ICRkb2NfY29tIC4KLSBteSAkZG9jX2NvbnRlbnQgPSAkZG9jX2NvbV9ib2R5IC4gJyguKiknOwotIG15ICRkb2NfYmxvY2sgPSAkZG9jX2NvbSAuICdET0M6XHMqKC4qKT8nOwotIG15ICRkb2NfaW5saW5lX3N0YXJ0ID0gJ15ccyovXCpcKlxzKiQnOwotLW15ICRkb2NfaW5saW5lX3NlY3QgPSAnXHMqXCpccyooQFtcd1xzXSspOiguKiknOwotK215ICRkb2NfaW5saW5lX3NlY3QgPSAnXHMqXCpccyooQFxzKltcd11bXHdcLl0qXHMqKTooLiopJzsKLSBteSAkZG9jX2lubGluZV9lbmQgPSAnXlxzKlwqL1xzKiQnOwotIG15ICRkb2NfaW5saW5lX29uZWxpbmUgPSAnXlxzKi9cKlwqXHMqKEBbXHdcc10rKTpccyooLiopXHMqXCovXHMqJCc7Ci0gbXkgJGV4cG9ydF9zeW1ib2wgPSAnXlxzKkVYUE9SVF9TWU1CT0woX0dQTCk/XHMqXChccyooXHcrKVxzKlwpXHMqOyc7Ci1AQCAtNTUzLDEwICs1NTYsOSBAQCBzdWIgb3V0cHV0X2hpZ2hsaWdodCB7Ci0gCX0KLSAJaWYgKCRsaW5lIGVxICIiKXsKLSAJICAgIGlmICghICRvdXRwdXRfcHJlZm9ybWF0dGVkKSB7Ci0tCQlwcmludCAkbGluZXByZWZpeCwgbG9jYWxfdW5lc2NhcGUoJGJsYW5rbGluZSk7Ci0rCQlwcmludCAkbGluZXByZWZpeCwgJGJsYW5rbGluZTsKLSAJICAgIH0KLSAJfSBlbHNlIHsKLS0JICAgICRsaW5lID1+IHMvXFxcXFxcL1wmL2c7Ci0gCSAgICBpZiAoJG91dHB1dF9tb2RlIGVxICJtYW4iICYmIHN1YnN0cigkbGluZSwgMCwgMSkgZXEgIi4iKSB7Ci0gCQlwcmludCAiXFwmJGxpbmUiOwotIAkgICAgfSBlbHNlIHsKLUBAIC03NDcsMTcgKzc0OSw3MyBAQCBzdWIgb3V0cHV0X2Jsb2NraGVhZF9yc3QoJSkgewotICAgICB9Ci0gfQotIAotLXN1YiBvdXRwdXRfaGlnaGxpZ2h0X3JzdCB7Ci0tICAgIG15ICRjb250ZW50cyA9IGpvaW4gIlxuIixAXzsKLS0gICAgbXkgJGxpbmU7Ci0tCi0tICAgICMgdW5kbyB0aGUgZXZpbCBlZmZlY3RzIG9mIHhtbF9lc2NhcGUoKSBlYXJsaWVyCi0tICAgICRjb250ZW50cyA9IHhtbF91bmVzY2FwZSgkY29udGVudHMpOwotLQotKyMKLSsjIEFwcGx5IHRoZSBSU1QgaGlnaGxpZ2h0cyB0byBhIHN1Yi1ibG9jayBvZiB0ZXh0LgotKyMgICAKLStzdWIgaGlnaGxpZ2h0X2Jsb2NrKCQpIHsKLSsgICAgIyBUaGUgZG9oaWdobGlnaHQga2x1ZGdlIHJlcXVpcmVzIHRoZSB0ZXh0IGJlIGNhbGxlZCAkY29udGVudHMKLSsgICAgbXkgJGNvbnRlbnRzID0gc2hpZnQ7Ci0gICAgIGV2YWwgJGRvaGlnaGxpZ2h0OwotICAgICBkaWUgJEAgaWYgJEA7Ci0rICAgIHJldHVybiAkY29udGVudHM7Ci0rfQotIAotLSAgICBmb3JlYWNoICRsaW5lIChzcGxpdCAiXG4iLCAkY29udGVudHMpIHsKLSsjCi0rIyBSZWdleGVzIHVzZWQgb25seSBoZXJlLgotKyMKLStteSAkc3BoaW54X2xpdGVyYWwgPSAnXlteLl0uKjo6JCc7Ci0rbXkgJHNwaGlueF9jYmxvY2sgPSAnXlwuXC5cICtjb2RlLWJsb2NrOjonOwotKwotK3N1YiBvdXRwdXRfaGlnaGxpZ2h0X3JzdCB7Ci0rICAgIG15ICRpbnB1dCA9IGpvaW4gIlxuIixAXzsKLSsgICAgbXkgJG91dHB1dCA9ICIiOwotKyAgICBteSAkbGluZTsKLSsgICAgbXkgJGluX2xpdGVyYWwgPSAwOwotKyAgICBteSAkbGl0cHJlZml4OwotKyAgICBteSAkYmxvY2sgPSAiIjsKLSsKLSsgICAgZm9yZWFjaCAkbGluZSAoc3BsaXQgIlxuIiwkaW5wdXQpIHsKLSsJIwotKwkjIElmIHdlJ3JlIGluIGEgbGl0ZXJhbCBibG9jaywgc2VlIGlmIHdlIHNob3VsZCBkcm9wIG91dAotKwkjIG9mIGl0LiAgT3RoZXJ3aXNlIHBhc3MgdGhlIGxpbmUgc3RyYWlnaHQgdGhyb3VnaCB1bm11bmdlZC4KLSsJIwotKwlpZiAoJGluX2xpdGVyYWwpIHsKLSsJICAgIGlmICghICgkbGluZSA9fiAvXlxzKiQvKSkgewotKwkJIwotKwkJIyBJZiB0aGlzIGlzIHRoZSBmaXJzdCBub24tYmxhbmsgbGluZSBpbiBhIGxpdGVyYWwKLSsJCSMgYmxvY2sgd2UgbmVlZCB0byBmaWd1cmUgb3V0IHdoYXQgdGhlIHByb3BlciBpbmRlbnQgaXMuCi0rCQkjCi0rCQlpZiAoJGxpdHByZWZpeCBlcSAiIikgewotKwkJICAgICRsaW5lID1+IC9eKFxzKikvOwotKwkJICAgICRsaXRwcmVmaXggPSAnXicgLiAkMTsKLSsJCSAgICAkb3V0cHV0IC49ICRsaW5lIC4gIlxuIjsKLSsJCX0gZWxzaWYgKCEgKCRsaW5lID1+IC8kbGl0cHJlZml4LykpIHsKLSsJCSAgICAkaW5fbGl0ZXJhbCA9IDA7Ci0rCQl9IGVsc2UgewotKwkJICAgICRvdXRwdXQgLj0gJGxpbmUgLiAiXG4iOwotKwkJfQotKwkgICAgfSBlbHNlIHsKLSsJCSRvdXRwdXQgLj0gJGxpbmUgLiAiXG4iOwotKwkgICAgfQotKwl9Ci0rCSMKLSsJIyBOb3QgaW4gYSBsaXRlcmFsIGJsb2NrIChvciBqdXN0IGRyb3BwZWQgb3V0KQotKwkjCi0rCWlmICghICRpbl9saXRlcmFsKSB7Ci0rCSAgICAkYmxvY2sgLj0gJGxpbmUgLiAiXG4iOwotKwkgICAgaWYgKCgkbGluZSA9fiAvJHNwaGlueF9saXRlcmFsLykgfHwgKCRsaW5lID1+IC8kc3BoaW54X2NibG9jay8pKSB7Ci0rCQkkaW5fbGl0ZXJhbCA9IDE7Ci0rCQkkbGl0cHJlZml4ID0gIiI7Ci0rCQkkb3V0cHV0IC49IGhpZ2hsaWdodF9ibG9jaygkYmxvY2spOwotKwkJJGJsb2NrID0gIiIKLSsJICAgIH0KLSsJfQotKyAgICB9Ci0rCi0rICAgIGlmICgkYmxvY2spIHsKLSsJJG91dHB1dCAuPSBoaWdobGlnaHRfYmxvY2soJGJsb2NrKTsKLSsgICAgfQotKyAgICBmb3JlYWNoICRsaW5lIChzcGxpdCAiXG4iLCAkb3V0cHV0KSB7Ci0gCXByaW50ICRsaW5lcHJlZml4IC4gJGxpbmUgLiAiXG4iOwotICAgICB9Ci0gfQotQEAgLTEwNjIsNyArMTEyMCw3IEBAIHN1YiBkdW1wX3N0cnVjdCgkJCkgewotIAkJCQkJIyBIYW5kbGUgYml0bWFwcwotIAkJCQkJJGFyZyA9fiBzLzpccypcZCtccyovL2c7Ci0gCQkJCQkjIEhhbmRsZSBhcnJheXMKLS0JCQkJCSRhcmcgPX4gcy9cW1xTK1xdLy9nOwotKwkJCQkJJGFyZyA9fiBzL1xbLipcXS8vZzsKLSAJCQkJCSMgVGhlIHR5cGUgbWF5IGhhdmUgbXVsdGlwbGUgd29yZHMsCi0gCQkJCQkjIGFuZCBtdWx0aXBsZSBJRHMgY2FuIGJlIGRlZmluZWQsIGxpa2U6Ci0gCQkJCQkjCWNvbnN0IHN0cnVjdCBmb28sICpiYXIsIGZvb2JhcgotQEAgLTE0MjIsOCArMTQ4MCw2IEBAIHN1YiBwdXNoX3BhcmFtZXRlcigkJCQkKSB7Ci0gCQl9Ci0gCX0KLSAKLS0JJHBhcmFtID0geG1sX2VzY2FwZSgkcGFyYW0pOwotLQotIAkjIHN0cmlwIHNwYWNlcyBmcm9tICRwYXJhbSBzbyB0aGF0IGl0IGlzIG9uZSBjb250aW51b3VzIHN0cmluZwotIAkjIG9uIEBwYXJhbWV0ZXJsaXN0OwotIAkjIHRoaXMgZml4ZXMgYSBwcm9ibGVtIHdoZXJlIGNoZWNrX3NlY3Rpb25zKCkgY2Fubm90IGZpbmQKLUBAIC0xNTIyLDYgKzE1NzgsNyBAQCBzdWIgZHVtcF9mdW5jdGlvbigkJCkgewotICAgICAkcHJvdG90eXBlID1+IHMvX19tZW1pbml0ICsvLzsKLSAgICAgJHByb3RvdHlwZSA9fiBzL19fbXVzdF9jaGVjayArLy87Ci0gICAgICRwcm90b3R5cGUgPX4gcy9fX3dlYWsgKy8vOwotKyAgICAkcHJvdG90eXBlID1+IHMvX19zY2hlZCArLy87Ci0gICAgIG15ICRkZWZpbmUgPSAkcHJvdG90eXBlID1+IHMvXiNccypkZWZpbmVccysvLzsgI2FrIGFkZGVkCi0gICAgICRwcm90b3R5cGUgPX4gcy9fX2F0dHJpYnV0ZV9fXHMqXChcKAotICAgICAgICAgICAgICg/OgotQEAgLTE3NDgsNDcgKzE4MDUsNiBAQCBzdWIgcHJvY2Vzc19wcm90b190eXBlKCQkKSB7Ci0gICAgIH0KLSB9Ci0gCi0tIyB4bWxfZXNjYXBlOiByZXBsYWNlIDwsID4sIGFuZCAmIGluIHRoZSB0ZXh0IHN0cmVhbTsKLS0jCi0tIyBob3dldmVyLCBmb3JtYXR0aW5nIGNvbnRyb2xzIHRoYXQgYXJlIGdlbmVyYXRlZCBpbnRlcm5hbGx5L2xvY2FsbHkgaW4gdGhlCi0tIyBrZXJuZWwtZG9jIHNjcmlwdCBhcmUgbm90IGVzY2FwZWQgaGVyZTsgaW5zdGVhZCwgdGhleSBiZWdpbiBsaWZlIGxpa2UKLS0jICRibGFua2xpbmVfaHRtbCAoNCBvZiAnXCcgZm9sbG93ZWQgYnkgYSBtbmVtb25pYyArICc6JyksIHRoZW4gdGhlc2Ugc3RyaW5ncwotLSMgYXJlIGNvbnZlcnRlZCB0byB0aGVpciBtbmVtb25pYy1leHBlY3RlZCBvdXRwdXQsIHdpdGhvdXQgdGhlIDQgKiAnXCcgJiAnOicsCi0tIyBqdXN0IGJlZm9yZSBhY3R1YWwgb3V0cHV0OyAodGhpcyBpcyBkb25lIGJ5IGxvY2FsX3VuZXNjYXBlKCkpCi0tc3ViIHhtbF9lc2NhcGUoJCkgewotLQlteSAkdGV4dCA9IHNoaWZ0OwotLQlpZiAoJG91dHB1dF9tb2RlIGVxICJtYW4iKSB7Ci0tCQlyZXR1cm4gJHRleHQ7Ci0tCX0KLS0JJHRleHQgPX4gcy9cJi9cXFxcXFxhbXA7L2c7Ci0tCSR0ZXh0ID1+IHMvXDwvXFxcXFxcbHQ7L2c7Ci0tCSR0ZXh0ID1+IHMvXD4vXFxcXFxcZ3Q7L2c7Ci0tCXJldHVybiAkdGV4dDsKLS19Ci0tCi0tIyB4bWxfdW5lc2NhcGU6IHJldmVyc2UgdGhlIGVmZmVjdHMgb2YgeG1sX2VzY2FwZQotLXN1YiB4bWxfdW5lc2NhcGUoJCkgewotLQlteSAkdGV4dCA9IHNoaWZ0OwotLQlpZiAoJG91dHB1dF9tb2RlIGVxICJtYW4iKSB7Ci0tCQlyZXR1cm4gJHRleHQ7Ci0tCX0KLS0JJHRleHQgPX4gcy9cXFxcXFxhbXA7L1wmL2c7Ci0tCSR0ZXh0ID1+IHMvXFxcXFxcbHQ7LzwvZzsKLS0JJHRleHQgPX4gcy9cXFxcXFxndDsvPi9nOwotLQlyZXR1cm4gJHRleHQ7Ci0tfQotLQotLSMgY29udmVydCBsb2NhbCBlc2NhcGUgc3RyaW5ncyB0byBodG1sCi0tIyBsb2NhbCBlc2NhcGUgc3RyaW5ncyBsb29rIGxpa2U6ICAnXFxcXG1lbm1vbmljOicgKHRoYXQncyA0IGJhY2tzbGFzaGVzKQotLXN1YiBsb2NhbF91bmVzY2FwZSgkKSB7Ci0tCW15ICR0ZXh0ID0gc2hpZnQ7Ci0tCWlmICgkb3V0cHV0X21vZGUgZXEgIm1hbiIpIHsKLS0JCXJldHVybiAkdGV4dDsKLS0JfQotLQkkdGV4dCA9fiBzL1xcXFxcXFxcbHQ6LzwvZzsKLS0JJHRleHQgPX4gcy9cXFxcXFxcXGd0Oi8+L2c7Ci0tCXJldHVybiAkdGV4dDsKLS19Ci0gCi0gc3ViIG1hcF9maWxlbmFtZSgkKSB7Ci0gICAgIG15ICRmaWxlOwotQEAgLTE4MjYsMTUgKzE4NDIsMjkxIEBAIHN1YiBwcm9jZXNzX2V4cG9ydF9maWxlKCQpIHsKLSAgICAgY2xvc2UoSU4pOwotIH0KLSAKLS1zdWIgcHJvY2Vzc19maWxlKCQpIHsKLS0gICAgbXkgJGZpbGU7Ci0rIwotKyMgUGFyc2VycyBmb3IgdGhlIHZhcmlvdXMgcHJvY2Vzc2luZyBzdGF0ZXMuCi0rIwotKyMgU1RBVEVfTk9STUFMOiBsb29raW5nIGZvciB0aGUgLyoqIHRvIGJlZ2luIGV2ZXJ5dGhpbmcuCi0rIwotK3N1YiBwcm9jZXNzX25vcm1hbCgpIHsKLSsgICAgaWYgKC8kZG9jX3N0YXJ0L28pIHsKLSsJJHN0YXRlID0gU1RBVEVfTkFNRTsJIyBuZXh0IGxpbmUgaXMgYWx3YXlzIHRoZSBmdW5jdGlvbiBuYW1lCi0rCSRpbl9kb2Nfc2VjdCA9IDA7Ci0rCSRkZWNsYXJhdGlvbl9zdGFydF9saW5lID0gJC4gKyAxOwotKyAgICB9Ci0rfQotKwotKyMKLSsjIFNUQVRFX05BTUU6IExvb2tpbmcgZm9yIHRoZSAibmFtZSAtIGRlc2NyaXB0aW9uIiBsaW5lCi0rIwotK3N1YiBwcm9jZXNzX25hbWUoJCQpIHsKLSsgICAgbXkgJGZpbGUgPSBzaGlmdDsKLSAgICAgbXkgJGlkZW50aWZpZXI7Ci0tICAgIG15ICRmdW5jOwotICAgICBteSAkZGVzY3I7Ci0tICAgIG15ICRpbl9wdXJwb3NlID0gMDsKLSsKLSsgICAgaWYgKC8kZG9jX2Jsb2NrL28pIHsKLSsJJHN0YXRlID0gU1RBVEVfRE9DQkxPQ0s7Ci0rCSRjb250ZW50cyA9ICIiOwotKwkkbmV3X3N0YXJ0X2xpbmUgPSAkLiArIDE7Ci0rCi0rCWlmICggJDEgZXEgIiIgKSB7Ci0rCSAgICAkc2VjdGlvbiA9ICRzZWN0aW9uX2ludHJvOwotKwl9IGVsc2UgewotKwkgICAgJHNlY3Rpb24gPSAkMTsKLSsJfQotKyAgICB9Ci0rICAgIGVsc2lmICgvJGRvY19kZWNsL28pIHsKLSsJJGlkZW50aWZpZXIgPSAkMTsKLSsJaWYgKC9ccyooW1x3XHNdKz8pKFwoXCkpP1xzKi0vKSB7Ci0rCSAgICAkaWRlbnRpZmllciA9ICQxOwotKwl9Ci0rCi0rCSRzdGF0ZSA9IFNUQVRFX0JPRFk7Ci0rCSMgaWYgdGhlcmUncyBubyBAcGFyYW0gYmxvY2tzIG5lZWQgdG8gc2V0IHVwIGRlZmF1bHQgc2VjdGlvbgotKwkjIGhlcmUKLSsJJGNvbnRlbnRzID0gIiI7Ci0rCSRzZWN0aW9uID0gJHNlY3Rpb25fZGVmYXVsdDsKLSsJJG5ld19zdGFydF9saW5lID0gJC4gKyAxOwotKwlpZiAoLy0oLiopLykgewotKwkgICAgIyBzdHJpcCBsZWFkaW5nL3RyYWlsaW5nL211bHRpcGxlIHNwYWNlcwotKwkgICAgJGRlc2NyPSAkMTsKLSsJICAgICRkZXNjciA9fiBzL15ccyovLzsKLSsJICAgICRkZXNjciA9fiBzL1xzKiQvLzsKLSsJICAgICRkZXNjciA9fiBzL1xzKy8gL2c7Ci0rCSAgICAkZGVjbGFyYXRpb25fcHVycG9zZSA9ICRkZXNjcjsKLSsJICAgICRzdGF0ZSA9IFNUQVRFX0JPRFlfTUFZQkU7Ci0rCX0gZWxzZSB7Ci0rCSAgICAkZGVjbGFyYXRpb25fcHVycG9zZSA9ICIiOwotKwl9Ci0rCi0rCWlmICgoJGRlY2xhcmF0aW9uX3B1cnBvc2UgZXEgIiIpICYmICR2ZXJib3NlKSB7Ci0rCSAgICBwcmludCBTVERFUlIgIiR7ZmlsZX06JC46IHdhcm5pbmc6IG1pc3NpbmcgaW5pdGlhbCBzaG9ydCBkZXNjcmlwdGlvbiBvbiBsaW5lOlxuIjsKLSsJICAgIHByaW50IFNUREVSUiAkXzsKLSsJICAgICsrJHdhcm5pbmdzOwotKwl9Ci0rCi0rCWlmICgkaWRlbnRpZmllciA9fiBtL15zdHJ1Y3QvKSB7Ci0rCSAgICAkZGVjbF90eXBlID0gJ3N0cnVjdCc7Ci0rCX0gZWxzaWYgKCRpZGVudGlmaWVyID1+IG0vXnVuaW9uLykgewotKwkgICAgJGRlY2xfdHlwZSA9ICd1bmlvbic7Ci0rCX0gZWxzaWYgKCRpZGVudGlmaWVyID1+IG0vXmVudW0vKSB7Ci0rCSAgICAkZGVjbF90eXBlID0gJ2VudW0nOwotKwl9IGVsc2lmICgkaWRlbnRpZmllciA9fiBtL150eXBlZGVmLykgewotKwkgICAgJGRlY2xfdHlwZSA9ICd0eXBlZGVmJzsKLSsJfSBlbHNlIHsKLSsJICAgICRkZWNsX3R5cGUgPSAnZnVuY3Rpb24nOwotKwl9Ci0rCi0rCWlmICgkdmVyYm9zZSkgewotKwkgICAgcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiBpbmZvOiBTY2FubmluZyBkb2MgZm9yICRpZGVudGlmaWVyXG4iOwotKwl9Ci0rICAgIH0gZWxzZSB7Ci0rCXByaW50IFNUREVSUiAiJHtmaWxlfTokLjogd2FybmluZzogQ2Fubm90IHVuZGVyc3RhbmQgJF8gb24gbGluZSAkLiIsCi0rCSAgICAiIC0gSSB0aG91Z2h0IGl0IHdhcyBhIGRvYyBsaW5lXG4iOwotKwkrKyR3YXJuaW5nczsKLSsJJHN0YXRlID0gU1RBVEVfTk9STUFMOwotKyAgICB9Ci0rfQotKwotKwotKyMKLSsjIFNUQVRFX0JPRFkgYW5kIFNUQVRFX0JPRFlfTUFZQkU6IHRoZSBidWxrIG9mIGEga2VybmVsZG9jIGNvbW1lbnQuCi0rIwotK3N1YiBwcm9jZXNzX2JvZHkoJCQpIHsKLSsgICAgbXkgJGZpbGUgPSBzaGlmdDsKLSsKLSsgICAgaWYgKC8kZG9jX3NlY3QvaSkgeyAjIGNhc2UgaW5zZW5zaXRpdmUgZm9yIHN1cHBvcnRlZCBzZWN0aW9uIG5hbWVzCi0rCSRuZXdzZWN0aW9uID0gJDE7Ci0rCSRuZXdjb250ZW50cyA9ICQyOwotKwotKwkjIG1hcCB0aGUgc3VwcG9ydGVkIHNlY3Rpb24gbmFtZXMgdG8gdGhlIGNhbm9uaWNhbCBuYW1lcwotKwlpZiAoJG5ld3NlY3Rpb24gPX4gbS9eZGVzY3JpcHRpb24kL2kpIHsKLSsJICAgICRuZXdzZWN0aW9uID0gJHNlY3Rpb25fZGVmYXVsdDsKLSsJfSBlbHNpZiAoJG5ld3NlY3Rpb24gPX4gbS9eY29udGV4dCQvaSkgewotKwkgICAgJG5ld3NlY3Rpb24gPSAkc2VjdGlvbl9jb250ZXh0OwotKwl9IGVsc2lmICgkbmV3c2VjdGlvbiA9fiBtL15yZXR1cm5zPyQvaSkgewotKwkgICAgJG5ld3NlY3Rpb24gPSAkc2VjdGlvbl9yZXR1cm47Ci0rCX0gZWxzaWYgKCRuZXdzZWN0aW9uID1+IG0vXlxAcmV0dXJuJC8pIHsKLSsJICAgICMgc3BlY2lhbDogQHJldHVybiBpcyBhIHNlY3Rpb24sIG5vdCBhIHBhcmFtIGRlc2NyaXB0aW9uCi0rCSAgICAkbmV3c2VjdGlvbiA9ICRzZWN0aW9uX3JldHVybjsKLSsJfQotKwotKwlpZiAoKCRjb250ZW50cyBuZSAiIikgJiYgKCRjb250ZW50cyBuZSAiXG4iKSkgewotKwkgICAgaWYgKCEkaW5fZG9jX3NlY3QgJiYgJHZlcmJvc2UpIHsKLSsJCXByaW50IFNUREVSUiAiJHtmaWxlfTokLjogd2FybmluZzogY29udGVudHMgYmVmb3JlIHNlY3Rpb25zXG4iOwotKwkJKyskd2FybmluZ3M7Ci0rCSAgICB9Ci0rCSAgICBkdW1wX3NlY3Rpb24oJGZpbGUsICRzZWN0aW9uLCAkY29udGVudHMpOwotKwkgICAgJHNlY3Rpb24gPSAkc2VjdGlvbl9kZWZhdWx0OwotKwl9Ci0rCi0rCSRpbl9kb2Nfc2VjdCA9IDE7Ci0rCSRzdGF0ZSA9IFNUQVRFX0JPRFk7Ci0rCSRjb250ZW50cyA9ICRuZXdjb250ZW50czsKLSsJJG5ld19zdGFydF9saW5lID0gJC47Ci0rCXdoaWxlIChzdWJzdHIoJGNvbnRlbnRzLCAwLCAxKSBlcSAiICIpIHsKLSsJICAgICRjb250ZW50cyA9IHN1YnN0cigkY29udGVudHMsIDEpOwotKwl9Ci0rCWlmICgkY29udGVudHMgbmUgIiIpIHsKLSsJICAgICRjb250ZW50cyAuPSAiXG4iOwotKwl9Ci0rCSRzZWN0aW9uID0gJG5ld3NlY3Rpb247Ci0rCSRsZWFkaW5nX3NwYWNlID0gdW5kZWY7Ci0rICAgIH0gZWxzaWYgKC8kZG9jX2VuZC8pIHsKLSsJaWYgKCgkY29udGVudHMgbmUgIiIpICYmICgkY29udGVudHMgbmUgIlxuIikpIHsKLSsJICAgIGR1bXBfc2VjdGlvbigkZmlsZSwgJHNlY3Rpb24sICRjb250ZW50cyk7Ci0rCSAgICAkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0rCSAgICAkY29udGVudHMgPSAiIjsKLSsJfQotKwkjIGxvb2sgZm9yIGRvY19jb20gKyA8dGV4dD4gKyBkb2NfZW5kOgotKwlpZiAoJF8gPX4gbSdccypcKlxzKlthLXpBLVpfMC05OlwuXStcKi8nKSB7Ci0rCSAgICBwcmludCBTVERFUlIgIiR7ZmlsZX06JC46IHdhcm5pbmc6IHN1c3BpY2lvdXMgZW5kaW5nIGxpbmU6ICRfIjsKLSsJICAgICsrJHdhcm5pbmdzOwotKwl9Ci0rCi0rCSRwcm90b3R5cGUgPSAiIjsKLSsJJHN0YXRlID0gU1RBVEVfUFJPVE87Ci0rCSRicmNvdW50ID0gMDsKLSsgICAgfSBlbHNpZiAoLyRkb2NfY29udGVudC8pIHsKLSsJIyBtaWd1ZWwtc3R5bGUgY29tbWVudCBrbHVkZ2UsIGxvb2sgZm9yIGJsYW5rIGxpbmVzIGFmdGVyCi0rCSMgQHBhcmFtZXRlciBsaW5lIHRvIHNpZ25pZnkgc3RhcnQgb2YgZGVzY3JpcHRpb24KLSsJaWYgKCQxIGVxICIiKSB7Ci0rCSAgICBpZiAoJHNlY3Rpb24gPX4gbS9eQC8gfHwgJHNlY3Rpb24gZXEgJHNlY3Rpb25fY29udGV4dCkgewotKwkJZHVtcF9zZWN0aW9uKCRmaWxlLCAkc2VjdGlvbiwgJGNvbnRlbnRzKTsKLSsJCSRzZWN0aW9uID0gJHNlY3Rpb25fZGVmYXVsdDsKLSsJCSRjb250ZW50cyA9ICIiOwotKwkJJG5ld19zdGFydF9saW5lID0gJC47Ci0rCSAgICB9IGVsc2UgewotKwkJJGNvbnRlbnRzIC49ICJcbiI7Ci0rCSAgICB9Ci0rCSAgICAkc3RhdGUgPSBTVEFURV9CT0RZOwotKwl9IGVsc2lmICgkc3RhdGUgPT0gU1RBVEVfQk9EWV9NQVlCRSkgewotKwkgICAgIyBDb250aW51ZWQgZGVjbGFyYXRpb24gcHVycG9zZQotKwkgICAgY2hvbXAoJGRlY2xhcmF0aW9uX3B1cnBvc2UpOwotKwkgICAgJGRlY2xhcmF0aW9uX3B1cnBvc2UgLj0gIiAiIC4gJDE7Ci0rCSAgICAkZGVjbGFyYXRpb25fcHVycG9zZSA9fiBzL1xzKy8gL2c7Ci0rCX0gZWxzZSB7Ci0rCSAgICBteSAkY29udCA9ICQxOwotKwkgICAgaWYgKCRzZWN0aW9uID1+IG0vXkAvIHx8ICRzZWN0aW9uIGVxICRzZWN0aW9uX2NvbnRleHQpIHsKLSsJCWlmICghZGVmaW5lZCAkbGVhZGluZ19zcGFjZSkgewotKwkJICAgIGlmICgkY29udCA9fiBtL14oXHMrKS8pIHsKLSsJCQkkbGVhZGluZ19zcGFjZSA9ICQxOwotKwkJICAgIH0gZWxzZSB7Ci0rCQkJJGxlYWRpbmdfc3BhY2UgPSAiIjsKLSsJCSAgICB9Ci0rCQl9Ci0rCQkkY29udCA9fiBzL14kbGVhZGluZ19zcGFjZS8vOwotKwkgICAgfQotKwkgICAgJGNvbnRlbnRzIC49ICRjb250IC4gIlxuIjsKLSsJfQotKyAgICB9IGVsc2UgewotKwkjIGkgZG9udCBrbm93IC0gYmFkIGxpbmU/ICBpZ25vcmUuCi0rCXByaW50IFNUREVSUiAiJHtmaWxlfTokLjogd2FybmluZzogYmFkIGxpbmU6ICRfIjsKLSsJKyskd2FybmluZ3M7Ci0rICAgIH0KLSt9Ci0rCi0rCi0rIwotKyMgU1RBVEVfUFJPVE86IHJlYWRpbmcgYSBmdW5jdGlvbi93aGF0ZXZlciBwcm90b3R5cGUuCi0rIwotK3N1YiBwcm9jZXNzX3Byb3RvKCQkKSB7Ci0rICAgIG15ICRmaWxlID0gc2hpZnQ7Ci0rCi0rICAgIGlmICgvJGRvY19pbmxpbmVfb25lbGluZS8pIHsKLSsJJHNlY3Rpb24gPSAkMTsKLSsJJGNvbnRlbnRzID0gJDI7Ci0rCWlmICgkY29udGVudHMgbmUgIiIpIHsKLSsJICAgICRjb250ZW50cyAuPSAiXG4iOwotKwkgICAgZHVtcF9zZWN0aW9uKCRmaWxlLCAkc2VjdGlvbiwgJGNvbnRlbnRzKTsKLSsJICAgICRzZWN0aW9uID0gJHNlY3Rpb25fZGVmYXVsdDsKLSsJICAgICRjb250ZW50cyA9ICIiOwotKwl9Ci0rICAgIH0gZWxzaWYgKC8kZG9jX2lubGluZV9zdGFydC8pIHsKLSsJJHN0YXRlID0gU1RBVEVfSU5MSU5FOwotKwkkaW5saW5lX2RvY19zdGF0ZSA9IFNUQVRFX0lOTElORV9OQU1FOwotKyAgICB9IGVsc2lmICgkZGVjbF90eXBlIGVxICdmdW5jdGlvbicpIHsKLSsJcHJvY2Vzc19wcm90b19mdW5jdGlvbigkXywgJGZpbGUpOwotKyAgICB9IGVsc2UgewotKwlwcm9jZXNzX3Byb3RvX3R5cGUoJF8sICRmaWxlKTsKLSsgICAgfQotK30KLSsKLSsjCi0rIyBTVEFURV9ET0NCTE9DSzogd2l0aGluIGEgRE9DOiBibG9jay4KLSsjCi0rc3ViIHByb2Nlc3NfZG9jYmxvY2soJCQpIHsKLSsgICAgbXkgJGZpbGUgPSBzaGlmdDsKLSsKLSsgICAgaWYgKC8kZG9jX2VuZC8pIHsKLSsJZHVtcF9kb2Nfc2VjdGlvbigkZmlsZSwgJHNlY3Rpb24sICRjb250ZW50cyk7Ci0rCSRzZWN0aW9uID0gJHNlY3Rpb25fZGVmYXVsdDsKLSsJJGNvbnRlbnRzID0gIiI7Ci0rCSRmdW5jdGlvbiA9ICIiOwotKwklcGFyYW1ldGVyZGVzY3MgPSAoKTsKLSsJJXBhcmFtZXRlcnR5cGVzID0gKCk7Ci0rCUBwYXJhbWV0ZXJsaXN0ID0gKCk7Ci0rCSVzZWN0aW9ucyA9ICgpOwotKwlAc2VjdGlvbmxpc3QgPSAoKTsKLSsJJHByb3RvdHlwZSA9ICIiOwotKwkkc3RhdGUgPSBTVEFURV9OT1JNQUw7Ci0rICAgIH0gZWxzaWYgKC8kZG9jX2NvbnRlbnQvKSB7Ci0rCWlmICggJDEgZXEgIiIgKQl7Ci0rCSAgICAkY29udGVudHMgLj0gJGJsYW5rbGluZTsKLSsJfSBlbHNlIHsKLSsJICAgICRjb250ZW50cyAuPSAkMSAuICJcbiI7Ci0rCX0KLSsgICAgfQotK30KLSsKLSsjCi0rIyBTVEFURV9JTkxJTkU6IGRvY2Jvb2sgY29tbWVudHMgd2l0aGluIGEgcHJvdG90eXBlLgotKyMKLStzdWIgcHJvY2Vzc19pbmxpbmUoJCQpIHsKLSsgICAgbXkgJGZpbGUgPSBzaGlmdDsKLSsKLSsgICAgIyBGaXJzdCBsaW5lIChzdGF0ZSAxKSBuZWVkcyB0byBiZSBhIEBwYXJhbWV0ZXIKLSsgICAgaWYgKCRpbmxpbmVfZG9jX3N0YXRlID09IFNUQVRFX0lOTElORV9OQU1FICYmIC8kZG9jX2lubGluZV9zZWN0L28pIHsKLSsJJHNlY3Rpb24gPSAkMTsKLSsJJGNvbnRlbnRzID0gJDI7Ci0rCSRuZXdfc3RhcnRfbGluZSA9ICQuOwotKwlpZiAoJGNvbnRlbnRzIG5lICIiKSB7Ci0rCSAgICB3aGlsZSAoc3Vic3RyKCRjb250ZW50cywgMCwgMSkgZXEgIiAiKSB7Ci0rCQkkY29udGVudHMgPSBzdWJzdHIoJGNvbnRlbnRzLCAxKTsKLSsJICAgIH0KLSsJICAgICRjb250ZW50cyAuPSAiXG4iOwotKwl9Ci0rCSRpbmxpbmVfZG9jX3N0YXRlID0gU1RBVEVfSU5MSU5FX1RFWFQ7Ci0rCSMgRG9jdW1lbnRhdGlvbiBibG9jayBlbmQgKi8KLSsgICAgfSBlbHNpZiAoLyRkb2NfaW5saW5lX2VuZC8pIHsKLSsJaWYgKCgkY29udGVudHMgbmUgIiIpICYmICgkY29udGVudHMgbmUgIlxuIikpIHsKLSsJICAgIGR1bXBfc2VjdGlvbigkZmlsZSwgJHNlY3Rpb24sICRjb250ZW50cyk7Ci0rCSAgICAkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0rCSAgICAkY29udGVudHMgPSAiIjsKLSsJfQotKwkkc3RhdGUgPSBTVEFURV9QUk9UTzsKLSsJJGlubGluZV9kb2Nfc3RhdGUgPSBTVEFURV9JTkxJTkVfTkE7Ci0rCSMgUmVndWxhciB0ZXh0Ci0rICAgIH0gZWxzaWYgKC8kZG9jX2NvbnRlbnQvKSB7Ci0rCWlmICgkaW5saW5lX2RvY19zdGF0ZSA9PSBTVEFURV9JTkxJTkVfVEVYVCkgewotKwkgICAgJGNvbnRlbnRzIC49ICQxIC4gIlxuIjsKLSsJICAgICMgbnVrZSBsZWFkaW5nIGJsYW5rIGxpbmVzCi0rCSAgICBpZiAoJGNvbnRlbnRzID1+IC9eXHMqJC8pIHsKLSsJCSRjb250ZW50cyA9ICIiOwotKwkgICAgfQotKwl9IGVsc2lmICgkaW5saW5lX2RvY19zdGF0ZSA9PSBTVEFURV9JTkxJTkVfTkFNRSkgewotKwkgICAgJGlubGluZV9kb2Nfc3RhdGUgPSBTVEFURV9JTkxJTkVfRVJST1I7Ci0rCSAgICBwcmludCBTVERFUlIgIiR7ZmlsZX06JC46IHdhcm5pbmc6ICI7Ci0rCSAgICBwcmludCBTVERFUlIgIkluY29ycmVjdCB1c2Ugb2Yga2VybmVsLWRvYyBmb3JtYXQ6ICRfIjsKLSsJICAgICsrJHdhcm5pbmdzOwotKwl9Ci0rICAgIH0KLSt9Ci0rCi0rCi0rc3ViIHByb2Nlc3NfZmlsZSgkKSB7Ci0rICAgIG15ICRmaWxlOwotICAgICBteSAkaW5pdGlhbF9zZWN0aW9uX2NvdW50ZXIgPSAkc2VjdGlvbl9jb3VudGVyOwotICAgICBteSAoJG9yaWdfZmlsZSkgPSBAXzsKLS0gICAgbXkgJGxlYWRpbmdfc3BhY2U7Ci0gCi0gICAgICRmaWxlID0gbWFwX2ZpbGVuYW1lKCRvcmlnX2ZpbGUpOwotIAotQEAgLTE4NTMsMjUwICsyMTQ1LDIzIEBAIHN1YiBwcm9jZXNzX2ZpbGUoJCkgewotIAl9Ci0gCSMgUmVwbGFjZSB0YWJzIGJ5IHNwYWNlcwotICAgICAgICAgd2hpbGUgKCRfID1+IHMvXHQrLycgJyB4IChsZW5ndGgoJCYpICogOCAtIGxlbmd0aCgkYCkgJSA4KS9lKSB7fTsKLSsJIyBIYW5kIHRoaXMgbGluZSB0byB0aGUgYXBwcm9wcmlhdGUgc3RhdGUgaGFuZGxlcgotIAlpZiAoJHN0YXRlID09IFNUQVRFX05PUk1BTCkgewotLQkgICAgaWYgKC8kZG9jX3N0YXJ0L28pIHsKLS0JCSRzdGF0ZSA9IFNUQVRFX05BTUU7CSMgbmV4dCBsaW5lIGlzIGFsd2F5cyB0aGUgZnVuY3Rpb24gbmFtZQotLQkJJGluX2RvY19zZWN0ID0gMDsKLS0JCSRkZWNsYXJhdGlvbl9zdGFydF9saW5lID0gJC4gKyAxOwotLQkgICAgfQotLQl9IGVsc2lmICgkc3RhdGUgPT0gU1RBVEVfTkFNRSkgeyMgdGhpcyBsaW5lIGlzIHRoZSBmdW5jdGlvbiBuYW1lIChhbHdheXMpCi0tCSAgICBpZiAoLyRkb2NfYmxvY2svbykgewotLQkJJHN0YXRlID0gU1RBVEVfRE9DQkxPQ0s7Ci0tCQkkY29udGVudHMgPSAiIjsKLS0gICAgICAgICAgICAgICAgJG5ld19zdGFydF9saW5lID0gJC4gKyAxOwotLQotLQkJaWYgKCAkMSBlcSAiIiApIHsKLS0JCQkkc2VjdGlvbiA9ICRzZWN0aW9uX2ludHJvOwotLQkJfSBlbHNlIHsKLS0JCQkkc2VjdGlvbiA9ICQxOwotLQkJfQotLQkgICAgfQotLQkgICAgZWxzaWYgKC8kZG9jX2RlY2wvbykgewotLQkJJGlkZW50aWZpZXIgPSAkMTsKLS0JCWlmICgvXHMqKFtcd1xzXSs/KVxzKi0vKSB7Ci0tCQkgICAgJGlkZW50aWZpZXIgPSAkMTsKLS0JCX0KLS0KLS0JCSRzdGF0ZSA9IFNUQVRFX0ZJRUxEOwotLQkJIyBpZiB0aGVyZSdzIG5vIEBwYXJhbSBibG9ja3MgbmVlZCB0byBzZXQgdXAgZGVmYXVsdCBzZWN0aW9uCi0tCQkjIGhlcmUKLS0JCSRjb250ZW50cyA9ICIiOwotLQkJJHNlY3Rpb24gPSAkc2VjdGlvbl9kZWZhdWx0OwotLQkJJG5ld19zdGFydF9saW5lID0gJC4gKyAxOwotLQkJaWYgKC8tKC4qKS8pIHsKLS0JCSAgICAjIHN0cmlwIGxlYWRpbmcvdHJhaWxpbmcvbXVsdGlwbGUgc3BhY2VzCi0tCQkgICAgJGRlc2NyPSAkMTsKLS0JCSAgICAkZGVzY3IgPX4gcy9eXHMqLy87Ci0tCQkgICAgJGRlc2NyID1+IHMvXHMqJC8vOwotLQkJICAgICRkZXNjciA9fiBzL1xzKy8gL2c7Ci0tCQkgICAgJGRlY2xhcmF0aW9uX3B1cnBvc2UgPSB4bWxfZXNjYXBlKCRkZXNjcik7Ci0tCQkgICAgJGluX3B1cnBvc2UgPSAxOwotLQkJfSBlbHNlIHsKLS0JCSAgICAkZGVjbGFyYXRpb25fcHVycG9zZSA9ICIiOwotLQkJfQotLQotLQkJaWYgKCgkZGVjbGFyYXRpb25fcHVycG9zZSBlcSAiIikgJiYgJHZlcmJvc2UpIHsKLS0JCQlwcmludCBTVERFUlIgIiR7ZmlsZX06JC46IHdhcm5pbmc6IG1pc3NpbmcgaW5pdGlhbCBzaG9ydCBkZXNjcmlwdGlvbiBvbiBsaW5lOlxuIjsKLS0JCQlwcmludCBTVERFUlIgJF87Ci0tCQkJKyskd2FybmluZ3M7Ci0tCQl9Ci0tCi0tCQlpZiAoJGlkZW50aWZpZXIgPX4gbS9ec3RydWN0LykgewotLQkJICAgICRkZWNsX3R5cGUgPSAnc3RydWN0JzsKLS0JCX0gZWxzaWYgKCRpZGVudGlmaWVyID1+IG0vXnVuaW9uLykgewotLQkJICAgICRkZWNsX3R5cGUgPSAndW5pb24nOwotLQkJfSBlbHNpZiAoJGlkZW50aWZpZXIgPX4gbS9eZW51bS8pIHsKLS0JCSAgICAkZGVjbF90eXBlID0gJ2VudW0nOwotLQkJfSBlbHNpZiAoJGlkZW50aWZpZXIgPX4gbS9edHlwZWRlZi8pIHsKLS0JCSAgICAkZGVjbF90eXBlID0gJ3R5cGVkZWYnOwotLQkJfSBlbHNlIHsKLS0JCSAgICAkZGVjbF90eXBlID0gJ2Z1bmN0aW9uJzsKLS0JCX0KLS0KLS0JCWlmICgkdmVyYm9zZSkgewotLQkJICAgIHByaW50IFNUREVSUiAiJHtmaWxlfTokLjogaW5mbzogU2Nhbm5pbmcgZG9jIGZvciAkaWRlbnRpZmllclxuIjsKLS0JCX0KLS0JICAgIH0gZWxzZSB7Ci0tCQlwcmludCBTVERFUlIgIiR7ZmlsZX06JC46IHdhcm5pbmc6IENhbm5vdCB1bmRlcnN0YW5kICRfIG9uIGxpbmUgJC4iLAotLQkJIiAtIEkgdGhvdWdodCBpdCB3YXMgYSBkb2MgbGluZVxuIjsKLS0JCSsrJHdhcm5pbmdzOwotLQkJJHN0YXRlID0gU1RBVEVfTk9STUFMOwotLQkgICAgfQotLQl9IGVsc2lmICgkc3RhdGUgPT0gU1RBVEVfRklFTEQpIHsJIyBsb29rIGZvciBoZWFkOiBsaW5lcywgYW5kIGluY2x1ZGUgY29udGVudAotLQkgICAgaWYgKC8kZG9jX3NlY3QvaSkgeyAjIGNhc2UgaW5zZW5zaXRpdmUgZm9yIHN1cHBvcnRlZCBzZWN0aW9uIG5hbWVzCi0tCQkkbmV3c2VjdGlvbiA9ICQxOwotLQkJJG5ld2NvbnRlbnRzID0gJDI7Ci0tCi0tCQkjIG1hcCB0aGUgc3VwcG9ydGVkIHNlY3Rpb24gbmFtZXMgdG8gdGhlIGNhbm9uaWNhbCBuYW1lcwotLQkJaWYgKCRuZXdzZWN0aW9uID1+IG0vXmRlc2NyaXB0aW9uJC9pKSB7Ci0tCQkgICAgJG5ld3NlY3Rpb24gPSAkc2VjdGlvbl9kZWZhdWx0OwotLQkJfSBlbHNpZiAoJG5ld3NlY3Rpb24gPX4gbS9eY29udGV4dCQvaSkgewotLQkJICAgICRuZXdzZWN0aW9uID0gJHNlY3Rpb25fY29udGV4dDsKLS0JCX0gZWxzaWYgKCRuZXdzZWN0aW9uID1+IG0vXnJldHVybnM/JC9pKSB7Ci0tCQkgICAgJG5ld3NlY3Rpb24gPSAkc2VjdGlvbl9yZXR1cm47Ci0tCQl9IGVsc2lmICgkbmV3c2VjdGlvbiA9fiBtL15cQHJldHVybiQvKSB7Ci0tCQkgICAgIyBzcGVjaWFsOiBAcmV0dXJuIGlzIGEgc2VjdGlvbiwgbm90IGEgcGFyYW0gZGVzY3JpcHRpb24KLS0JCSAgICAkbmV3c2VjdGlvbiA9ICRzZWN0aW9uX3JldHVybjsKLS0JCX0KLS0KLS0JCWlmICgoJGNvbnRlbnRzIG5lICIiKSAmJiAoJGNvbnRlbnRzIG5lICJcbiIpKSB7Ci0tCQkgICAgaWYgKCEkaW5fZG9jX3NlY3QgJiYgJHZlcmJvc2UpIHsKLS0JCQlwcmludCBTVERFUlIgIiR7ZmlsZX06JC46IHdhcm5pbmc6IGNvbnRlbnRzIGJlZm9yZSBzZWN0aW9uc1xuIjsKLS0JCQkrKyR3YXJuaW5nczsKLS0JCSAgICB9Ci0tCQkgICAgZHVtcF9zZWN0aW9uKCRmaWxlLCAkc2VjdGlvbiwgeG1sX2VzY2FwZSgkY29udGVudHMpKTsKLS0JCSAgICAkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0tCQl9Ci0tCi0tCQkkaW5fZG9jX3NlY3QgPSAxOwotLQkJJGluX3B1cnBvc2UgPSAwOwotLQkJJGNvbnRlbnRzID0gJG5ld2NvbnRlbnRzOwotLSAgICAgICAgICAgICAgICAkbmV3X3N0YXJ0X2xpbmUgPSAkLjsKLS0JCXdoaWxlIChzdWJzdHIoJGNvbnRlbnRzLCAwLCAxKSBlcSAiICIpIHsKLS0JCSAgICAkY29udGVudHMgPSBzdWJzdHIoJGNvbnRlbnRzLCAxKTsKLS0JCX0KLS0JCWlmICgkY29udGVudHMgbmUgIiIpIHsKLS0JCSAgICAkY29udGVudHMgLj0gIlxuIjsKLS0JCX0KLS0JCSRzZWN0aW9uID0gJG5ld3NlY3Rpb247Ci0tCQkkbGVhZGluZ19zcGFjZSA9IHVuZGVmOwotLQkgICAgfSBlbHNpZiAoLyRkb2NfZW5kLykgewotLQkJaWYgKCgkY29udGVudHMgbmUgIiIpICYmICgkY29udGVudHMgbmUgIlxuIikpIHsKLS0JCSAgICBkdW1wX3NlY3Rpb24oJGZpbGUsICRzZWN0aW9uLCB4bWxfZXNjYXBlKCRjb250ZW50cykpOwotLQkJICAgICRzZWN0aW9uID0gJHNlY3Rpb25fZGVmYXVsdDsKLS0JCSAgICAkY29udGVudHMgPSAiIjsKLS0JCX0KLS0JCSMgbG9vayBmb3IgZG9jX2NvbSArIDx0ZXh0PiArIGRvY19lbmQ6Ci0tCQlpZiAoJF8gPX4gbSdccypcKlxzKlthLXpBLVpfMC05OlwuXStcKi8nKSB7Ci0tCQkgICAgcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiBzdXNwaWNpb3VzIGVuZGluZyBsaW5lOiAkXyI7Ci0tCQkgICAgKyskd2FybmluZ3M7Ci0tCQl9Ci0tCi0tCQkkcHJvdG90eXBlID0gIiI7Ci0tCQkkc3RhdGUgPSBTVEFURV9QUk9UTzsKLS0JCSRicmNvdW50ID0gMDsKLS0jCQlwcmludCBTVERFUlIgImVuZCBvZiBkb2MgY29tbWVudCwgbG9va2luZyBmb3IgcHJvdG90eXBlXG4iOwotLQkgICAgfSBlbHNpZiAoLyRkb2NfY29udGVudC8pIHsKLS0JCSMgbWlndWVsLXN0eWxlIGNvbW1lbnQga2x1ZGdlLCBsb29rIGZvciBibGFuayBsaW5lcyBhZnRlcgotLQkJIyBAcGFyYW1ldGVyIGxpbmUgdG8gc2lnbmlmeSBzdGFydCBvZiBkZXNjcmlwdGlvbgotLQkJaWYgKCQxIGVxICIiKSB7Ci0tCQkgICAgaWYgKCRzZWN0aW9uID1+IG0vXkAvIHx8ICRzZWN0aW9uIGVxICRzZWN0aW9uX2NvbnRleHQpIHsKLS0JCQlkdW1wX3NlY3Rpb24oJGZpbGUsICRzZWN0aW9uLCB4bWxfZXNjYXBlKCRjb250ZW50cykpOwotLQkJCSRzZWN0aW9uID0gJHNlY3Rpb25fZGVmYXVsdDsKLS0JCQkkY29udGVudHMgPSAiIjsKLS0gICAgICAgICAgICAgICAgICAgICAgICAkbmV3X3N0YXJ0X2xpbmUgPSAkLjsKLS0JCSAgICB9IGVsc2UgewotLQkJCSRjb250ZW50cyAuPSAiXG4iOwotLQkJICAgIH0KLS0JCSAgICAkaW5fcHVycG9zZSA9IDA7Ci0tCQl9IGVsc2lmICgkaW5fcHVycG9zZSA9PSAxKSB7Ci0tCQkgICAgIyBDb250aW51ZWQgZGVjbGFyYXRpb24gcHVycG9zZQotLQkJICAgIGNob21wKCRkZWNsYXJhdGlvbl9wdXJwb3NlKTsKLS0JCSAgICAkZGVjbGFyYXRpb25fcHVycG9zZSAuPSAiICIgLiB4bWxfZXNjYXBlKCQxKTsKLS0JCSAgICAkZGVjbGFyYXRpb25fcHVycG9zZSA9fiBzL1xzKy8gL2c7Ci0tCQl9IGVsc2UgewotLQkJICAgIG15ICRjb250ID0gJDE7Ci0tCQkgICAgaWYgKCRzZWN0aW9uID1+IG0vXkAvIHx8ICRzZWN0aW9uIGVxICRzZWN0aW9uX2NvbnRleHQpIHsKLS0JCQlpZiAoIWRlZmluZWQgJGxlYWRpbmdfc3BhY2UpIHsKLS0JCQkgICAgaWYgKCRjb250ID1+IG0vXihccyspLykgewotLQkJCQkkbGVhZGluZ19zcGFjZSA9ICQxOwotLQkJCSAgICB9IGVsc2UgewotLQkJCQkkbGVhZGluZ19zcGFjZSA9ICIiOwotLQkJCSAgICB9Ci0tCQkJfQotLQotLQkJCSRjb250ID1+IHMvXiRsZWFkaW5nX3NwYWNlLy87Ci0tCQkgICAgfQotLQkJICAgICRjb250ZW50cyAuPSAkY29udCAuICJcbiI7Ci0tCQl9Ci0tCSAgICB9IGVsc2UgewotLQkJIyBpIGRvbnQga25vdyAtIGJhZCBsaW5lPyAgaWdub3JlLgotLQkJcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiBiYWQgbGluZTogJF8iOwotLQkJKyskd2FybmluZ3M7Ci0tCSAgICB9Ci0rCSAgICBwcm9jZXNzX25vcm1hbCgpOwotKwl9IGVsc2lmICgkc3RhdGUgPT0gU1RBVEVfTkFNRSkgewotKwkgICAgcHJvY2Vzc19uYW1lKCRmaWxlLCAkXyk7Ci0rCX0gZWxzaWYgKCRzdGF0ZSA9PSBTVEFURV9CT0RZIHx8ICRzdGF0ZSA9PSBTVEFURV9CT0RZX01BWUJFKSB7Ci0rCSAgICBwcm9jZXNzX2JvZHkoJGZpbGUsICRfKTsKLSAJfSBlbHNpZiAoJHN0YXRlID09IFNUQVRFX0lOTElORSkgeyAjIHNjYW5uaW5nIGZvciBpbmxpbmUgcGFyYW1ldGVycwotLQkgICAgIyBGaXJzdCBsaW5lIChzdGF0ZSAxKSBuZWVkcyB0byBiZSBhIEBwYXJhbWV0ZXIKLS0JICAgIGlmICgkaW5saW5lX2RvY19zdGF0ZSA9PSBTVEFURV9JTkxJTkVfTkFNRSAmJiAvJGRvY19pbmxpbmVfc2VjdC9vKSB7Ci0tCQkkc2VjdGlvbiA9ICQxOwotLQkJJGNvbnRlbnRzID0gJDI7Ci0tICAgICAgICAgICAgICAgICRuZXdfc3RhcnRfbGluZSA9ICQuOwotLQkJaWYgKCRjb250ZW50cyBuZSAiIikgewotLQkJICAgIHdoaWxlIChzdWJzdHIoJGNvbnRlbnRzLCAwLCAxKSBlcSAiICIpIHsKLS0JCQkkY29udGVudHMgPSBzdWJzdHIoJGNvbnRlbnRzLCAxKTsKLS0JCSAgICB9Ci0tCQkgICAgJGNvbnRlbnRzIC49ICJcbiI7Ci0tCQl9Ci0tCQkkaW5saW5lX2RvY19zdGF0ZSA9IFNUQVRFX0lOTElORV9URVhUOwotLQkgICAgIyBEb2N1bWVudGF0aW9uIGJsb2NrIGVuZCAqLwotLQkgICAgfSBlbHNpZiAoLyRkb2NfaW5saW5lX2VuZC8pIHsKLS0JCWlmICgoJGNvbnRlbnRzIG5lICIiKSAmJiAoJGNvbnRlbnRzIG5lICJcbiIpKSB7Ci0tCQkgICAgZHVtcF9zZWN0aW9uKCRmaWxlLCAkc2VjdGlvbiwgeG1sX2VzY2FwZSgkY29udGVudHMpKTsKLS0JCSAgICAkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0tCQkgICAgJGNvbnRlbnRzID0gIiI7Ci0tCQl9Ci0tCQkkc3RhdGUgPSBTVEFURV9QUk9UTzsKLS0JCSRpbmxpbmVfZG9jX3N0YXRlID0gU1RBVEVfSU5MSU5FX05BOwotLQkgICAgIyBSZWd1bGFyIHRleHQKLS0JICAgIH0gZWxzaWYgKC8kZG9jX2NvbnRlbnQvKSB7Ci0tCQlpZiAoJGlubGluZV9kb2Nfc3RhdGUgPT0gU1RBVEVfSU5MSU5FX1RFWFQpIHsKLS0JCSAgICAkY29udGVudHMgLj0gJDEgLiAiXG4iOwotLQkJICAgICMgbnVrZSBsZWFkaW5nIGJsYW5rIGxpbmVzCi0tCQkgICAgaWYgKCRjb250ZW50cyA9fiAvXlxzKiQvKSB7Ci0tCQkJJGNvbnRlbnRzID0gIiI7Ci0tCQkgICAgfQotLQkJfSBlbHNpZiAoJGlubGluZV9kb2Nfc3RhdGUgPT0gU1RBVEVfSU5MSU5FX05BTUUpIHsKLS0JCSAgICAkaW5saW5lX2RvY19zdGF0ZSA9IFNUQVRFX0lOTElORV9FUlJPUjsKLS0JCSAgICBwcmludCBTVERFUlIgIiR7ZmlsZX06JC46IHdhcm5pbmc6ICI7Ci0tCQkgICAgcHJpbnQgU1RERVJSICJJbmNvcnJlY3QgdXNlIG9mIGtlcm5lbC1kb2MgZm9ybWF0OiAkXyI7Ci0tCQkgICAgKyskd2FybmluZ3M7Ci0tCQl9Ci0tCSAgICB9Ci0tCX0gZWxzaWYgKCRzdGF0ZSA9PSBTVEFURV9QUk9UTykgewkjIHNjYW5uaW5nIGZvciBmdW5jdGlvbiAneycgKGVuZCBvZiBwcm90b3R5cGUpCi0tCSAgICBpZiAoLyRkb2NfaW5saW5lX29uZWxpbmUvKSB7Ci0tCQkkc2VjdGlvbiA9ICQxOwotLQkJJGNvbnRlbnRzID0gJDI7Ci0tCQlpZiAoJGNvbnRlbnRzIG5lICIiKSB7Ci0tCQkgICAgJGNvbnRlbnRzIC49ICJcbiI7Ci0tCQkgICAgZHVtcF9zZWN0aW9uKCRmaWxlLCAkc2VjdGlvbiwgeG1sX2VzY2FwZSgkY29udGVudHMpKTsKLS0JCSAgICAkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0tCQkgICAgJGNvbnRlbnRzID0gIiI7Ci0tCQl9Ci0tCSAgICB9IGVsc2lmICgvJGRvY19pbmxpbmVfc3RhcnQvKSB7Ci0tCQkkc3RhdGUgPSBTVEFURV9JTkxJTkU7Ci0tCQkkaW5saW5lX2RvY19zdGF0ZSA9IFNUQVRFX0lOTElORV9OQU1FOwotLQkgICAgfSBlbHNpZiAoJGRlY2xfdHlwZSBlcSAnZnVuY3Rpb24nKSB7Ci0tCQlwcm9jZXNzX3Byb3RvX2Z1bmN0aW9uKCRfLCAkZmlsZSk7Ci0tCSAgICB9IGVsc2UgewotLQkJcHJvY2Vzc19wcm90b190eXBlKCRfLCAkZmlsZSk7Ci0tCSAgICB9Ci0rCSAgICBwcm9jZXNzX2lubGluZSgkZmlsZSwgJF8pOwotKwl9IGVsc2lmICgkc3RhdGUgPT0gU1RBVEVfUFJPVE8pIHsKLSsJICAgIHByb2Nlc3NfcHJvdG8oJGZpbGUsICRfKTsKLSAJfSBlbHNpZiAoJHN0YXRlID09IFNUQVRFX0RPQ0JMT0NLKSB7Ci0tCQlpZiAoLyRkb2NfZW5kLykKLS0JCXsKLS0JCQlkdW1wX2RvY19zZWN0aW9uKCRmaWxlLCAkc2VjdGlvbiwgeG1sX2VzY2FwZSgkY29udGVudHMpKTsKLS0JCQkkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0tCQkJJGNvbnRlbnRzID0gIiI7Ci0tCQkJJGZ1bmN0aW9uID0gIiI7Ci0tCQkJJXBhcmFtZXRlcmRlc2NzID0gKCk7Ci0tCQkJJXBhcmFtZXRlcnR5cGVzID0gKCk7Ci0tCQkJQHBhcmFtZXRlcmxpc3QgPSAoKTsKLS0JCQklc2VjdGlvbnMgPSAoKTsKLS0JCQlAc2VjdGlvbmxpc3QgPSAoKTsKLS0JCQkkcHJvdG90eXBlID0gIiI7Ci0tCQkJJHN0YXRlID0gU1RBVEVfTk9STUFMOwotLQkJfQotLQkJZWxzaWYgKC8kZG9jX2NvbnRlbnQvKQotLQkJewotLQkJCWlmICggJDEgZXEgIiIgKQotLQkJCXsKLS0JCQkJJGNvbnRlbnRzIC49ICRibGFua2xpbmU7Ci0tCQkJfQotLQkJCWVsc2UKLS0JCQl7Ci0tCQkJCSRjb250ZW50cyAuPSAkMSAuICJcbiI7Ci0tCQkJfQotLQkJfQotKwkgICAgcHJvY2Vzc19kb2NibG9jaygkZmlsZSwgJF8pOwotIAl9Ci0gICAgIH0KLSsKLSsgICAgIyBNYWtlIHN1cmUgd2UgZ290IHNvbWV0aGluZyBpbnRlcmVzdGluZy4KLSAgICAgaWYgKCRpbml0aWFsX3NlY3Rpb25fY291bnRlciA9PSAkc2VjdGlvbl9jb3VudGVyKSB7Ci0gCWlmICgkb3V0cHV0X21vZGUgbmUgIm5vbmUiKSB7Ci0gCSAgICBwcmludCBTVERFUlIgIiR7ZmlsZX06MTogd2FybmluZzogbm8gc3RydWN0dXJlZCBjb21tZW50cyBmb3VuZFxuIjsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDktbXVsdGlwYXRoLXRvb2xzLWNvbmZpZ3VyZS1oaXRhY2hpLWFtczIwMDAtYW5kLWh1czEwMC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA5LW11bHRpcGF0aC10b29scy1jb25maWd1cmUtaGl0YWNoaS1hbXMyMDAwLWFuZC1odXMxMDAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJjYWUwNzUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDktbXVsdGlwYXRoLXRvb2xzLWNvbmZpZ3VyZS1oaXRhY2hpLWFtczIwMDAtYW5kLWh1czEwMC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFhvc2UgVmF6cXVleiBQZXJleiA8eG9zZS52YXpxdWV6QGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMTQgTWF5IDIwMTggMTc6MzA6MTcgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoLXRvb2xzOiBjb25maWd1cmUgaGl0YWNoaSBhbXMyMDAwIGFuZCBodXMxMDAgYXMgZnVsbAotIGFjdGl2ZSBhcnJheXMKLQotQU1TMjAwMCBhbmQgSFVTMTAwIGZhbWlsaWVzIGFyZSBhY3RpdmUvYWN0aXZlIGFycmF5cy4KLQotQmFzZWQgb24gaHR0cHM6Ly9zdXBwb3J0LmhpdGFjaGl2YW50YXJhLmNvbS9kb3dubG9hZC9lcGNyYS9kZjgxODkxMy5wZGYKLWFuZCBpbnRlcm5hbCBoaXRhY2hpIGRvY3MuCi0KLUNjOiBNYXR0aGlhcyBSdWRvbHBoIDxNYXR0aGlhcy5SdWRvbHBoQGhpdGFjaGl2YW50YXJhLmNvbT4KLUNjOiBDaHJpc3RvcGhlIFZhcm9xdWkgPGNocmlzdG9waGUudmFyb3F1aUBvcGVuc3ZjLmNvbT4KLUNjOiBETS1ERVYgTUwgPGRtLWRldmVsQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJtdWx0aXBhdGgvaHd0YWJsZS5jIHwgMTAgKysrKysrKystLQotIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvaHd0YWJsZS5jIGIvbGlibXVsdGlwYXRoL2h3dGFibGUuYwotaW5kZXggMmNhNjg4OC4uMTQ4ZjBiYSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLUBAIC0zOTgsMTMgKzM5OCwxMyBAQCBzdGF0aWMgc3RydWN0IGh3ZW50cnkgZGVmYXVsdF9od1tdID0gewotIAkgKiBNYWlsIDogbWF0dGhpYXMucnVkb2xwaEBoZHMuY29tCi0gCSAqLwotIAl7Ci0tCQkvKiBVU1AtViwgSFVTIFZNLCBWU1AsIFZTUCBHMVgwMCBhbmQgVlNQIEdYMDAgZmFtaWxpZXMgKi8KLSsJCS8qIFVTUC1WLCBIVVMgVk0sIFZTUCwgVlNQIEcxWDAwIGFuZCBWU1AgR1gwMCBmYW1pbGllcyAvIEhQIFhQICovCi0gCQkudmVuZG9yICAgICAgICA9ICIoSElUQUNISXxIUCkiLAotIAkJLnByb2R1Y3QgICAgICAgPSAiXk9QRU4tIiwKLSAJCS5wZ3BvbGljeSAgICAgID0gTVVMVElCVVMsCi0gCX0sCi0gCXsKLS0JCS8qIEFNUyAyMDAwIGFuZCBIVVMgMTAwIGZhbWlsaWVzICovCi0rCQkvKiBBTVMgb3RoZXIgdGhhbiBBTVMgMjAwMCAqLwotIAkJLnZlbmRvciAgICAgICAgPSAiSElUQUNISSIsCi0gCQkucHJvZHVjdCAgICAgICA9ICJeREYiLAotIAkJLm5vX3BhdGhfcmV0cnkgPSBOT19QQVRIX1JFVFJZX1FVRVVFLAotQEAgLTQxMiw2ICs0MTIsMTIgQEAgc3RhdGljIHN0cnVjdCBod2VudHJ5IGRlZmF1bHRfaHdbXSA9IHsKLSAJCS5wZ2ZhaWxiYWNrICAgID0gLUZBSUxCQUNLX0lNTUVESUFURSwKLSAJCS5wcmlvX25hbWUgICAgID0gUFJJT19IRFMsCi0gCX0sCi0rCXsKLSsJCS8qIEFNUyAyMDAwIGFuZCBIVVMgMTAwIGZhbWlsaWVzICovCi0rCQkudmVuZG9yICAgICAgICA9ICJISVRBQ0hJIiwKLSsJCS5wcm9kdWN0ICAgICAgID0gIl5ERjYwMEYiLAotKwkJLnBncG9saWN5ICAgICAgPSBNVUxUSUJVUywKLSsJfSwKLSAJLyoKLSAJICogSUJNCi0gCSAqCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDEwLWxpYm11bHRpcGF0aC1kb24tdC1yZWplY3QtbWFwcy13aXRoLXVuZGVmaW5lZC1wcmlvLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTAtbGlibXVsdGlwYXRoLWRvbi10LXJlamVjdC1tYXBzLXdpdGgtdW5kZWZpbmVkLXByaW8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkZGEyZWQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTAtbGlibXVsdGlwYXRoLWRvbi10LXJlamVjdC1tYXBzLXdpdGgtdW5kZWZpbmVkLXByaW8ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJ0aW4gV2lsY2sgPG13aWxja0BzdXNlLmNvbT4KLURhdGU6IFdlZCwgMjEgTWFyIDIwMTggMTA6MzQ6MTggKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gbGlibXVsdGlwYXRoOiBkb24ndCByZWplY3QgbWFwcyB3aXRoIHVuZGVmaW5lZCBwcmlvCi0KLWxpYm11bHRpcGF0aCdzIHByaW8gcm91dGluZXMgY2FuIGRlYWwgd2l0aCBwcC0+cHJpb3JpdHkgPT0gUFJJT19VTkRFRgotanVzdCBmaW5lLiBQUklPX1VOREVGIGlzIGp1c3QgYSB2ZXJ5IGxvdyBwcmlvcml0eS4gU28gdGhlcmUncwotbm8gcmVhc29uIHRvIHJlamVjdCBzZXR0aW5nIHVwIGEgbXVsdGlwYXRoIG1hcCBiZWNhdXNlIHBhdGhzIGhhdmUKLXVuZGVmaW5lZCBwcmlvcml0eS4KLQotU2lnbmVkLW9mZi1ieTogTWFydGluIFdpbGNrIDxtd2lsY2tAc3VzZS5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJtdWx0aXBhdGgvY29uZmlndXJlLmMgfCA1IC0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY29uZmlndXJlLmMgYi9saWJtdWx0aXBhdGgvY29uZmlndXJlLmMKLWluZGV4IDU3OTY2ODMuLjVjNTRmOWIgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY29uZmlndXJlLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9jb25maWd1cmUuYwotQEAgLTEwNjMsOSArMTA2Myw2IEBAIGludCBjb2FsZXNjZV9wYXRocyAoc3RydWN0IHZlY3RvcnMgKiB2ZWNzLCB2ZWN0b3IgbmV3bXAsIGNoYXIgKiByZWZ3d2lkLAotIAkJCWNvbnRpbnVlOwotIAkJfQotIAotLQkJaWYgKHBwMS0+cHJpb3JpdHkgPT0gUFJJT19VTkRFRikKLS0JCQltcHAtPmFjdGlvbiA9IEFDVF9SRUpFQ1Q7Ci0tCi0gCQlpZiAoIW1wcC0+cGF0aHMpIHsKLSAJCQljb25kbG9nKDAsICIlczogc2tpcCBjb2FsZXNjZSAobm8gcGF0aHMpIiwgbXBwLT5hbGlhcyk7Ci0gCQkJcmVtb3ZlX21hcChtcHAsIHZlY3MsIDApOwotQEAgLTEwOTEsOCArMTA4OCw2IEBAIGludCBjb2FsZXNjZV9wYXRocyAoc3RydWN0IHZlY3RvcnMgKiB2ZWNzLCB2ZWN0b3IgbmV3bXAsIGNoYXIgKiByZWZ3d2lkLAotIAkJCQkJbXBwLT5zaXplKTsKLSAJCQkJbXBwLT5hY3Rpb24gPSBBQ1RfUkVKRUNUOwotIAkJCX0KLS0JCQlpZiAocHAyLT5wcmlvcml0eSA9PSBQUklPX1VOREVGKQotLQkJCQltcHAtPmFjdGlvbiA9IEFDVF9SRUpFQ1Q7Ci0gCQl9Ci0gCQl2ZXJpZnlfcGF0aHMobXBwLCB2ZWNzKTsKLSAKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTEtbXVsdGlwYXRoZC1oYW5kbGUtZXJyb3JzLWluLXV4bHNuci1hcy1mYXRhbC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDExLW11bHRpcGF0aGQtaGFuZGxlLWVycm9ycy1pbi11eGxzbnItYXMtZmF0YWwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2YTgxNGYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTEtbXVsdGlwYXRoZC1oYW5kbGUtZXJyb3JzLWluLXV4bHNuci1hcy1mYXRhbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hcnRpbiBXaWxjayA8bXdpbGNrQHN1c2UuY29tPgotRGF0ZTogV2VkLCAyMSBNYXIgMjAxOCAxMDozNDoxOSArMDEwMAotU3ViamVjdDogW1BBVENIXSBtdWx0aXBhdGhkOiBoYW5kbGUgZXJyb3JzIGluIHV4bHNuciBhcyBmYXRhbAotCi1UaGUgcHBvbGwoKSBjYWxscyBvZiB0aGUgdXhsc25yIHRocmVhZCBhcmUgdml0YWwgZm9yIHByb3BlciBmdW5jdGlvbmluZyBvZgotbXVsdGlwYXRoZC4gSWYgdGhlIHV4bHNuciB0aHJlYWQgY2FuJ3Qgb3BlbiB0aGUgc29ja2V0IG9yIGZhaWxzIHRvIGNhbGwgcHBvbGwoKQotZm9yIG90aGVyIHJlYXNvbnMsIHF1aXQgdGhlIGRhZW1vbi4gSWYgd2UgZG9uJ3QgZG8gdGhhdCwgbXVsdGlwYXRoZCBtYXkKLWhhbmcgaW4gYSBzdGF0ZSB3aGVyZSBpdCBjYW4ndCBiZSB0ZXJtaW5hdGVkIGFueSBtb3JlLCBiZWNhdXNlIHRoZSB1eGxzbnIKLXRocmVhZCBpcyByZXNwb25zaWJsZSBmb3IgaGFuZGxpbmcgYWxsIHNpZ25hbHMuIFRoaXMgaGFwcGVucyBlLmcuIGlmCi1zeXN0ZW1kJ3MgbXVsdGlwYXRoZC5zb2NrZXQgaXMgcnVubmluZyBpbiBhbmQgbXVsdGlwYXRoZCBpcyBzdGFydGVkIGZyb20KLW91dHNpZGUgc3lzdGVtZC4KLQotMjRmMjg0NCAibXVsdGlwYXRoZDogZml4IHNpZ25hbCBibG9ja2luZyBsb2dpYyIgaGFzIG1hZGUgdGhpcyBwcm9ibGVtIG1vcmUKLXNldmVyZS4gQmVmb3JlIHRoYXQgcGF0Y2gsIHRoZSBzaWduYWxzIHdlcmVuJ3QgYWN0dWFsbHkgYmxvY2tlZCBpbiBhbnkgdGhyZWFkLgotVGhhdCdzIG5vdCB0byBzYXkgMjRmMjg0NCB3YXMgd3JvbmcuIEkgc3RpbGwgdGhpbmsgaXQncyBjb3JyZWN0LCB3ZSBqdXN0Ci1uZWVkIHRoaXMgb25lIG9uIHRvcC4KLQotU2lnbmVkLW9mZi1ieTogTWFydGluIFdpbGNrIDxtd2lsY2tAc3VzZS5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBtdWx0aXBhdGhkL3V4bHNuci5jIHwgNSArKystLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tdWx0aXBhdGhkL3V4bHNuci5jIGIvbXVsdGlwYXRoZC91eGxzbnIuYwotaW5kZXggY2RhZmQ4Mi4uNmY2NjY2NiAxMDA2NDQKLS0tLSBhL211bHRpcGF0aGQvdXhsc25yLmMKLSsrKyBiL211bHRpcGF0aGQvdXhsc25yLmMKLUBAIC0xNzgsNyArMTc4LDcgQEAgdm9pZCAqIHV4c29ja19saXN0ZW4odXhzb2NrX3RyaWdnZXJfZm4gdXhzb2NrX3RyaWdnZXIsIHZvaWQgKiB0cmlnZ2VyX2RhdGEpCi0gCi0gCWlmICh1eF9zb2NrID09IC0xKSB7Ci0gCQljb25kbG9nKDEsICJjb3VsZCBub3QgY3JlYXRlIHV4c29jazogJWQiLCBlcnJubyk7Ci0tCQlyZXR1cm4gTlVMTDsKLSsJCWV4aXRfZGFlbW9uKCk7Ci0gCX0KLSAKLSAJcHRocmVhZF9jbGVhbnVwX3B1c2godXhzb2NrX2NsZWFudXAsICh2b2lkICopdXhfc29jayk7Ci1AQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgKiB1eHNvY2tfbGlzdGVuKHV4c29ja190cmlnZ2VyX2ZuIHV4c29ja190cmlnZ2VyLCB2b2lkICogdHJpZ2dlcl9kYXRhKQotIAlwb2xscyA9IChzdHJ1Y3QgcG9sbGZkICopTUFMTE9DKChNSU5fUE9MTFMgKyAxKSAqIHNpemVvZihzdHJ1Y3QgcG9sbGZkKSk7Ci0gCWlmICghcG9sbHMpIHsKLSAJCWNvbmRsb2coMCwgInV4c29jazogZmFpbGVkIHRvIGFsbG9jYXRlIHBvbGwgZmRzIik7Ci0tCQlyZXR1cm4gTlVMTDsKLSsJCWV4aXRfZGFlbW9uKCk7Ci0gCX0KLSAJc2lnZmlsbHNldCgmbWFzayk7Ci0gCXNpZ2RlbHNldCgmbWFzaywgU0lHSU5UKTsKLUBAIC0yNDksNiArMjQ5LDcgQEAgdm9pZCAqIHV4c29ja19saXN0ZW4odXhzb2NrX3RyaWdnZXJfZm4gdXhzb2NrX3RyaWdnZXIsIHZvaWQgKiB0cmlnZ2VyX2RhdGEpCi0gCi0gCQkJLyogc29tZXRoaW5nIHdlbnQgYmFkbHkgd3JvbmchICovCi0gCQkJY29uZGxvZygwLCAidXhzb2NrOiBwb2xsIGZhaWxlZCB3aXRoICVkIiwgZXJybm8pOwotKwkJCWV4aXRfZGFlbW9uKCk7Ci0gCQkJYnJlYWs7Ci0gCQl9Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDEyLWxpYm11bHRpcGF0aC1maXgtZXJyb3ItcGFyc2luZy1maW5kX211bHRpcGF0aHMtc3RyaWMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxMi1saWJtdWx0aXBhdGgtZml4LWVycm9yLXBhcnNpbmctZmluZF9tdWx0aXBhdGhzLXN0cmljLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Y2UyNDMxLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDEyLWxpYm11bHRpcGF0aC1maXgtZXJyb3ItcGFyc2luZy1maW5kX211bHRpcGF0aHMtc3RyaWMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJ0aW4gV2lsY2sgPG13aWxja0BzdXNlLmNvbT4KLURhdGU6IFR1ZSwgMTUgTWF5IDIwMTggMTQ6MzI6NDQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbGlibXVsdGlwYXRoOiBmaXggZXJyb3IgcGFyc2luZyAiZmluZF9tdWx0aXBhdGhzIHN0cmljdCIKLQotSWYgImZpbmRfbXVsdGlwYXRocyBzdHJpY3QiIGlzIHNldCBpbiBtdWx0aXBhdGguY29uZiwgdGhlIGVycm9yIG1lc3NhZ2UKLSJpbGxlZ2FsIHZhbHVlIGZvciBmaW5kX211bHRpcGF0aHM6IHN0cmljdCIgaXMgcHJpbnRlZC4gVGhpcyBjYXVzZXMgbm8KLWZ1bmN0aW9uYWwgcHJvYmxlbSwgYXMgInN0cmljdCIgaGFwcGVucyB0byBiZSB0aGUgZGVmYXVsdCwgZmFsbGJhY2sKLXZhbHVlLiBJdCBzaG91bGQgYmUgZml4ZWQgbm9uZXRoZWxlc3MuIEZJTkRfTVVMVElQQVRIU19TVFJJQ1QsIGhhdmluZwotdGhlIGhpZ2hlc3QgbnVtZXJpYyB2YWx1ZSwgbXVzdCBiZSBsYXN0IGluIHRoZSBlbnVtLgotCi1GaXhlczogYzM2ZjJmNDIgImxpYm11bHRpcGF0aDogY2hhbmdlIGZpbmRfbXVsdGlwYXRocyBvcHRpb24gdG8gbXVsdGktdmFsdWUiCi1TaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gV2lsY2sgPG13aWxja0BzdXNlLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIGxpYm11bHRpcGF0aC9zdHJ1Y3RzLmggfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvc3RydWN0cy5oIGIvbGlibXVsdGlwYXRoL3N0cnVjdHMuaAotaW5kZXggZWI2YTE3OC4uZTQyNGIxNSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9zdHJ1Y3RzLmgKLSsrKyBiL2xpYm11bHRpcGF0aC9zdHJ1Y3RzLmgKLUBAIC0xMjIsOSArMTIyLDkgQEAgZW51bSBmaW5kX211bHRpcGF0aHNfc3RhdGVzIHsKLSAJRklORF9NVUxUSVBBVEhTX1VOREVGID0gWU5VX1VOREVGLAotIAlGSU5EX01VTFRJUEFUSFNfT0ZGID0gWU5VX05PLAotIAlGSU5EX01VTFRJUEFUSFNfT04gPSBfRklORF9NVUxUSVBBVEhTX0YsCi0tCUZJTkRfTVVMVElQQVRIU19TVFJJQ1QgPSBfRklORF9NVUxUSVBBVEhTX0Z8X0ZJTkRfTVVMVElQQVRIU19OLAotIAlGSU5EX01VTFRJUEFUSFNfR1JFRURZID0gX0ZJTkRfTVVMVElQQVRIU19JLAotIAlGSU5EX01VTFRJUEFUSFNfU01BUlQgPSBfRklORF9NVUxUSVBBVEhTX0Z8X0ZJTkRfTVVMVElQQVRIU19JLAotKwlGSU5EX01VTFRJUEFUSFNfU1RSSUNUID0gX0ZJTkRfTVVMVElQQVRIU19GfF9GSU5EX01VTFRJUEFUSFNfTiwKLSAJX19GSU5EX01VTFRJUEFUSFNfTEFTVCwKLSB9OwotIAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxMy1saWJtdWx0aXBhdGgtcHJpbnQtY29ycmVjdC1kZWZhdWx0LWZvci1kZWxheV8tX2NoZWNrLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTMtbGlibXVsdGlwYXRoLXByaW50LWNvcnJlY3QtZGVmYXVsdC1mb3ItZGVsYXlfLV9jaGVjay5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzc2NzgwNC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxMy1saWJtdWx0aXBhdGgtcHJpbnQtY29ycmVjdC1kZWZhdWx0LWZvci1kZWxheV8tX2NoZWNrLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotRGF0ZTogTW9uLCA3IE1heSAyMDE4IDE3OjE2OjA1IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxpYm11bHRpcGF0aDogcHJpbnQgY29ycmVjdCBkZWZhdWx0IGZvciBkZWxheV8qX2NoZWNrcwotCi1UaGVzZSBvcHRpb25zIGRlZmF1bHQgdG8gIm5vIiwgc28gdGhleSBzaG91bGQgZGlzcGxheSB0aGF0IHdoZW4gdGhlCi1jb25maWcgaXMgcHJpbnRlZC4KLQotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGlibXVsdGlwYXRoL2RpY3QuYyB8IDYgKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9kaWN0LmMgYi9saWJtdWx0aXBhdGgvZGljdC5jCi1pbmRleCA0MDQwNjExLi4zZTdjNWQ2IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2RpY3QuYwotKysrIGIvbGlibXVsdGlwYXRoL2RpY3QuYwotQEAgLTExMTUsNyArMTExNSw4IEBAIHByaW50X29mZl9pbnRfdW5kZWYoY2hhciAqIGJ1ZmYsIGludCBsZW4sIGxvbmcgdikKLSB9Ci0gCi0gZGVjbGFyZV9kZWZfaGFuZGxlcihkZWxheV93YXRjaF9jaGVja3MsIHNldF9vZmZfaW50X3VuZGVmKQotLWRlY2xhcmVfZGVmX3NucHJpbnQoZGVsYXlfd2F0Y2hfY2hlY2tzLCBwcmludF9vZmZfaW50X3VuZGVmKQotK2RlY2xhcmVfZGVmX3NucHJpbnRfZGVmaW50KGRlbGF5X3dhdGNoX2NoZWNrcywgcHJpbnRfb2ZmX2ludF91bmRlZiwKLSsJCQkgICBERUZBVUxUX0RFTEFZX0NIRUNLUykKLSBkZWNsYXJlX292cl9oYW5kbGVyKGRlbGF5X3dhdGNoX2NoZWNrcywgc2V0X29mZl9pbnRfdW5kZWYpCi0gZGVjbGFyZV9vdnJfc25wcmludChkZWxheV93YXRjaF9jaGVja3MsIHByaW50X29mZl9pbnRfdW5kZWYpCi0gZGVjbGFyZV9od19oYW5kbGVyKGRlbGF5X3dhdGNoX2NoZWNrcywgc2V0X29mZl9pbnRfdW5kZWYpCi1AQCAtMTEyMyw3ICsxMTI0LDggQEAgZGVjbGFyZV9od19zbnByaW50KGRlbGF5X3dhdGNoX2NoZWNrcywgcHJpbnRfb2ZmX2ludF91bmRlZikKLSBkZWNsYXJlX21wX2hhbmRsZXIoZGVsYXlfd2F0Y2hfY2hlY2tzLCBzZXRfb2ZmX2ludF91bmRlZikKLSBkZWNsYXJlX21wX3NucHJpbnQoZGVsYXlfd2F0Y2hfY2hlY2tzLCBwcmludF9vZmZfaW50X3VuZGVmKQotIGRlY2xhcmVfZGVmX2hhbmRsZXIoZGVsYXlfd2FpdF9jaGVja3MsIHNldF9vZmZfaW50X3VuZGVmKQotLWRlY2xhcmVfZGVmX3NucHJpbnQoZGVsYXlfd2FpdF9jaGVja3MsIHByaW50X29mZl9pbnRfdW5kZWYpCi0rZGVjbGFyZV9kZWZfc25wcmludF9kZWZpbnQoZGVsYXlfd2FpdF9jaGVja3MsIHByaW50X29mZl9pbnRfdW5kZWYsCi0rCQkJICAgREVGQVVMVF9ERUxBWV9DSEVDS1MpCi0gZGVjbGFyZV9vdnJfaGFuZGxlcihkZWxheV93YWl0X2NoZWNrcywgc2V0X29mZl9pbnRfdW5kZWYpCi0gZGVjbGFyZV9vdnJfc25wcmludChkZWxheV93YWl0X2NoZWNrcywgcHJpbnRfb2ZmX2ludF91bmRlZikKLSBkZWNsYXJlX2h3X2hhbmRsZXIoZGVsYXlfd2FpdF9jaGVja3MsIHNldF9vZmZfaW50X3VuZGVmKQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxNC1tdWx0aXBhdGguY29uZi41LWNsYXJpZnktcHJvcGVydHktd2hpdGVsaXN0LWhhbmRsaW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTQtbXVsdGlwYXRoLmNvbmYuNS1jbGFyaWZ5LXByb3BlcnR5LXdoaXRlbGlzdC1oYW5kbGluZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGFiNGUwNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxNC1tdWx0aXBhdGguY29uZi41LWNsYXJpZnktcHJvcGVydHktd2hpdGVsaXN0LWhhbmRsaW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotRGF0ZTogV2VkLCA5IE1heSAyMDE4IDE0OjMyOjU5IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11bHRpcGF0aC5jb25mLjU6IGNsYXJpZnkgcHJvcGVydHkgd2hpdGVsaXN0IGhhbmRsaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIG11bHRpcGF0aC9tdWx0aXBhdGguY29uZi41IHwgNyArKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41IGIvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUKLWluZGV4IGY2ODk3OTUuLjk2ZDFiNjYgMTAwNjQ0Ci0tLS0gYS9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNQotKysrIGIvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUKLUBAIC0xMTgxLDEwICsxMTgxLDkgQEAgYW5kCi0ga2V5d29yZHMuIEZvciBhIGZ1bGwgZGVzY3JpcHRpb24gb2YgdGhlc2Uga2V5d29yZHMgcGxlYXNlIHNlZSB0aGUgXGZJZGV2aWNlc1xmUgotIHNlY3Rpb24gZGVzY3JpcHRpb24uCi0gLkxQCi0tVGhlIFxmSXByb3BlcnR5XGZSIGJsYWNrbGlzdCBhbmQgd2hpdGVsaXN0IGhhbmRsaW5nIGlzIGRpZmZlcmVudCBmcm9tIHRoZSB1c3VhbAotLWhhbmRsaW5nIGluIHRoZSBzZW5zZSB0aGF0IHRoZSB3aGl0ZWxpc3QgXGZJaGFzXGZSIHRvIGJlIHNldCwgb3RoZXJ3aXNlIHRoZQotLWRldmljZSB3aWxsIGJlIGJsYWNrbGlzdGVkLiBJbiB0aGVzZSBjYXNlcyB0aGUgbWVzc2FnZSBcZklibGFja2xpc3RlZCwgdWRldgotLXByb3BlcnR5IG1pc3NpbmdcZlIgd2lsbCBiZSBkaXNwbGF5ZWQuCi0rVGhlIFxmSXByb3BlcnR5XGZSIHdoaXRlbGlzdCBoYW5kbGluZyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgdXN1YWwKLStoYW5kbGluZyBpbiB0aGUgc2Vuc2UgdGhhdCB0aGUgZGV2aWNlIFxmSWhhc1xmUiB0byBoYXZlIGEgdWRldiBwcm9wZXJ0eSB0aGF0Ci0rbWF0Y2hlcyB0aGUgd2hpdGVsaXN0LCBvdGhlcndpc2UgdGhlIGRldmljZSB3aWxsIGJlIGJsYWNrbGlzdGVkLiBJbiB0aGVzZSBjYXNlcyB0aGUgbWVzc2FnZSBcZklibGFja2xpc3RlZCwgdWRldiBwcm9wZXJ0eSBtaXNzaW5nXGZSIHdpbGwgYmUgZGlzcGxheWVkLgotIC4KLSAuCi0gLlwiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTUtbXBhdGhwZXJzaXN0LWFkZC1hbGxfdGdfcHQtb3B0aW9uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTUtbXBhdGhwZXJzaXN0LWFkZC1hbGxfdGdfcHQtb3B0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZTI2ODFkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE1LW1wYXRocGVyc2lzdC1hZGQtYWxsX3RnX3B0LW9wdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxNyArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDMxIE1heSAyMDE4IDE3OjQ3OjExIC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIG1wYXRocGVyc2lzdDogYWRkIGFsbF90Z19wdCBvcHRpb24KLQotU29tZSBhcnJheXMsIHN1Y2ggYXMgdGhlIEVNQyBWTlgsIGRvbid0IGZvbGxvdyB0aGUgc2NzaSBwZXJzaXN0ZW50Ci1yZXNlcnZhdGlvbnMgc3BlYyBpbiBtYWtpbmcga2V5IHJlZ2lzdHJhdGlvbnMgcGVyIElfVCBORVhVUy4gSW5zdGVhZCwKLXRoZSByZWdpc3RyYXRpb24gaXMgc2hhcmVkIGJ5IGFsbCB0YXJnZXQgcG9ydHMgY29ubmVjdGVkIHRvIGEgZ2l2ZW4KLWhvc3QuICBUaGlzIGNhdXNlcyBtcGF0aHBlcnNpc3QgdG8gZmFpbCB3aGVuZXZlciBpdCB0cmllcyB0byByZWdpc3RlciBhCi1rZXksIHNpbmNlIGl0IHdpbGwgcmVjZWl2ZSBhIHJlZ2lzdHJhdGlvbiBjb25mbGljdCBvbiBzb21lIG9mIHRoZSBwYXRocy4KLQotVG8gZGVhbCB3aXRoIHRoaXMsIG1wYXRocGVyc2lzdCBuZWVkcyB0byB0cmFjayB0aGUgaG9zdHMgdGhhdCBpdCBoYXMKLWRvbmUgYSByZWdpc3RyYXRpb24gb24sIGFuZCBvbmx5IHJlZ2lzdGVyIG9uY2UgcGVyIGhvc3QuIFRoZSBuZXcKLSJhbGxfdGdfcHQiIG11bHRpcGF0aC5jb25mIG9wdGlvbiBpcyB1c2VkIHRvIHNldCB3aGljaCBhcnJheXMgbmVlZCB0aGlzCi1mZWF0dXJlLiAgSSBjdXJyZW50bHkgZG9uJ3Qga25vdyBpZiBhbGwgRU1DIFZOWCBhcnJheXMgaGFuZGxlIHBlcnNpc3RlbnQKLXJlc2VydmF0aW9ucyBsaWtlIHRoaXMsIG9yIGlmIGl0IGlzIGNvbmZpZ3VyYWJsZS4gQSBmdXR1cmUgcGF0Y2ggd2lsbAotdXBkYXRlIHRoZSBWTlggYnVpbHQtaW4gY29uZmlnLCBpZiB0aGlzIGlzIGluZGVlZCB0aGVpciBkZWZhdWx0IChvcgotb25seSkgc2V0dGluZy4KLQotTXVsdGlwYXRoZCBkb2Vzbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgdGhpcy4gSXQgaXMgb2Z0ZW4gdGhlIGNhc2UgdGhhdAotd2hlbiBhIHBhdGggZGV2aWNlIGNvbWVzIGJhY2ssIGl0IHdpbGwgc3RpbGwgaGF2ZSB0aGUga2V5cyByZWdpc3RlcmVkIHRvCi1pdC4gQmVjYXVzZSBvZiB0aGlzLCBtdWx0aXBhdGhkIHVzZXMgcmVnaXN0ZXItYW5kLWlnbm9yZSwgd2hpY2ggbWVhbnMKLXRoYXQgaXQgd29uJ3QgY2F1c2UgYW4gZXJyb3IgaWYgdGhlIHJlZ2lzdHJhdGlvbiBoYXMgYWxyZWFkeSBoYXBwZW5lZAotZG93biBhIGRpZmZlcmVudCB0YXJnZXQgcG9ydC4KLQotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGlibXBhdGhwZXJzaXN0L21wYXRoX3BlcnNpc3QuYyB8IDI4ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0KLSBsaWJtdWx0aXBhdGgvY29uZmlnLmMgICAgICAgICAgIHwgIDIgKysKLSBsaWJtdWx0aXBhdGgvY29uZmlnLmggICAgICAgICAgIHwgIDIgKysKLSBsaWJtdWx0aXBhdGgvZGVmYXVsdHMuaCAgICAgICAgIHwgIDEgKwotIGxpYm11bHRpcGF0aC9kaWN0LmMgICAgICAgICAgICAgfCAxMCArKysrKysrKysrCi0gbGlibXVsdGlwYXRoL3Byb3BzZWwuYyAgICAgICAgICB8IDE1ICsrKysrKysrKysrKysrKwotIGxpYm11bHRpcGF0aC9wcm9wc2VsLmggICAgICAgICAgfCAgMSArCi0gbGlibXVsdGlwYXRoL3N0cnVjdHMuaCAgICAgICAgICB8ICA3ICsrKysrKysKLSBtdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNSAgICAgIHwgMTEgKysrKysrKysrKysKLSA5IGZpbGVzIGNoYW5nZWQsIDcxIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJtcGF0aHBlcnNpc3QvbXBhdGhfcGVyc2lzdC5jIGIvbGlibXBhdGhwZXJzaXN0L21wYXRoX3BlcnNpc3QuYwotaW5kZXggOTA3YTE3Yy4uY2E5MWM1NSAxMDA2NDQKLS0tLSBhL2xpYm1wYXRocGVyc2lzdC9tcGF0aF9wZXJzaXN0LmMKLSsrKyBiL2xpYm1wYXRocGVyc2lzdC9tcGF0aF9wZXJzaXN0LmMKLUBAIC0zMzUsNiArMzM1LDcgQEAgaW50IG1wYXRoX3BlcnNpc3RlbnRfcmVzZXJ2ZV9vdXQgKCBpbnQgZmQsIGludCBycV9zZXJ2YWN0LCBpbnQgcnFfc2NvcGUsCi0gCi0gCWNvbmYgPSBnZXRfbXVsdGlwYXRoX2NvbmZpZygpOwotIAlzZWxlY3RfcmVzZXJ2YXRpb25fa2V5KGNvbmYsIG1wcCk7Ci0rCXNlbGVjdF9hbGxfdGdfcHQoY29uZiwgbXBwKTsKLSAJcHV0X211bHRpcGF0aF9jb25maWcoY29uZik7Ci0gCi0gCW1lbWNweSgmcHJrZXksIHBhcmFtcC0+c2Ffa2V5LCA4KTsKLUBAIC00NTYsNyArNDU3LDcgQEAgaW50IG1wYXRoX3Byb3V0X3JlZyhzdHJ1Y3QgbXVsdGlwYXRoICptcHAsaW50IHJxX3NlcnZhY3QsIGludCBycV9zY29wZSwKLSAJdW5zaWduZWQgaW50IHJxX3R5cGUsIHN0cnVjdCBwcm91dF9wYXJhbV9kZXNjcmlwdG9yICogcGFyYW1wLCBpbnQgbm9pc3kpCi0gewotIAotLQlpbnQgaSwgajsKLSsJaW50IGksIGosIGs7Ci0gCXN0cnVjdCBwYXRoZ3JvdXAgKnBncCA9IE5VTEw7Ci0gCXN0cnVjdCBwYXRoICpwcCA9IE5VTEw7Ci0gCWludCByb2xsYmFjayA9IDA7Ci1AQCAtNDgxLDExICs0ODIsMTMgQEAgaW50IG1wYXRoX3Byb3V0X3JlZyhzdHJ1Y3QgbXVsdGlwYXRoICptcHAsaW50IHJxX3NlcnZhY3QsIGludCBycV9zY29wZSwKLSAJfQotIAotIAlzdHJ1Y3QgdGhyZWFkaW5mbyB0aHJlYWRbYWN0aXZlX3BhdGhjb3VudF07Ci0rCWludCBob3N0c1thY3RpdmVfcGF0aGNvdW50XTsKLSAKLSAJbWVtc2V0KHRocmVhZCwgMCwgc2l6ZW9mKHRocmVhZCkpOwotIAotIAkvKiBpbml0IHRocmVhZCBwYXJhbWV0ZXIgKi8KLSAJZm9yIChpID0wOyBpPCBhY3RpdmVfcGF0aGNvdW50OyBpKyspewotKwkJaG9zdHNbaV0gPSAtMTsKLSAJCXRocmVhZFtpXS5wYXJhbS5ycV9zZXJ2YWN0ID0gcnFfc2VydmFjdDsKLSAJCXRocmVhZFtpXS5wYXJhbS5ycV9zY29wZSA9IHJxX3Njb3BlOwotIAkJdGhyZWFkW2ldLnBhcmFtLnJxX3R5cGUgPSBycV90eXBlOwotQEAgLTUxNCw2ICs1MTcsMTcgQEAgaW50IG1wYXRoX3Byb3V0X3JlZyhzdHJ1Y3QgbXVsdGlwYXRoICptcHAsaW50IHJxX3NlcnZhY3QsIGludCBycV9zY29wZSwKLSAJCQkJY29uZGxvZyAoMSwgIiVzOiAlcyBwYXRoIG5vdCB1cC4gU2tpcC4iLCBtcHAtPnd3aWQsIHBwLT5kZXYpOwotIAkJCQljb250aW51ZTsKLSAJCQl9Ci0rCQkJaWYgKG1wcC0+YWxsX3RnX3B0ID09IEFMTF9UR19QVF9PTiAmJgotKwkJCSAgICBwcC0+c2dfaWQuaG9zdF9ubyAhPSAtMSkgewotKwkJCQlmb3IgKGsgPSAwOyBrIDwgY291bnQ7IGsrKykgewotKwkJCQkJaWYgKHBwLT5zZ19pZC5ob3N0X25vID09IGhvc3RzW2tdKSB7Ci0rCQkJCQkJY29uZGxvZygzLCAiJXM6ICVzIGhvc3QgJWQgbWF0Y2hlcyBza2lwLiIsIHBwLT53d2lkLCBwcC0+ZGV2LCBwcC0+c2dfaWQuaG9zdF9ubyk7Ci0rCQkJCQkJYnJlYWs7Ci0rCQkJCQl9Ci0rCQkJCX0KLSsJCQkJaWYgKGsgPCBjb3VudCkKLSsJCQkJCWNvbnRpbnVlOwotKwkJCX0KLSAJCQlzdHJuY3B5KHRocmVhZFtjb3VudF0ucGFyYW0uZGV2LCBwcC0+ZGV2LAotIAkJCQlGSUxFX05BTUVfU0laRSAtIDEpOwotIAotQEAgLTUzMSwxMCArNTQ1LDEyIEBAIGludCBtcGF0aF9wcm91dF9yZWcoc3RydWN0IG11bHRpcGF0aCAqbXBwLGludCBycV9zZXJ2YWN0LCBpbnQgcnFfc2NvcGUsCi0gCQkJCWNvbmRsb2cgKDAsICIlczogZmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQgJWQiLCBtcHAtPnd3aWQsIHJjKTsKLSAJCQkJdGhyZWFkW2NvdW50XS5wYXJhbS5zdGF0dXMgPSBNUEFUSF9QUl9USFJFQURfRVJST1I7Ci0gCQkJfQotKwkJCWVsc2UKLSsJCQkJaG9zdHNbY291bnRdID0gcHAtPnNnX2lkLmhvc3Rfbm87Ci0gCQkJY291bnQgPSBjb3VudCArIDE7Ci0gCQl9Ci0gCX0KLS0JZm9yKCBpPTA7IGkgPCBhY3RpdmVfcGF0aGNvdW50IDsgaSsrKXsKLSsJZm9yKCBpPTA7IGkgPCBjb3VudCA7IGkrKyl7Ci0gCQlpZiAodGhyZWFkW2ldLnBhcmFtLnN0YXR1cyAhPSBNUEFUSF9QUl9USFJFQURfRVJST1IpIHsKLSAJCQlyYyA9IHB0aHJlYWRfam9pbih0aHJlYWRbaV0uaWQsIE5VTEwpOwotIAkJCWlmIChyYyl7Ci1AQCAtNTU3LDcgKzU3Myw3IEBAIGludCBtcGF0aF9wcm91dF9yZWcoc3RydWN0IG11bHRpcGF0aCAqbXBwLGludCBycV9zZXJ2YWN0LCBpbnQgcnFfc2NvcGUsCi0gCX0KLSAJaWYgKHJvbGxiYWNrICYmICgocnFfc2VydmFjdCA9PSBNUEFUSF9QUk9VVF9SRUdfU0EpICYmIHNhX2tleSAhPSAwICkpewotIAkJY29uZGxvZyAoMywgIiVzOiBFUlJPUjogaW5pdGlhdGluZyBwciBvdXQgcm9sbGJhY2siLCBtcHAtPnd3aWQpOwotLQkJZm9yKCBpPTAgOyBpIDwgYWN0aXZlX3BhdGhjb3VudCA7IGkrKyl7Ci0rCQlmb3IoIGk9MCA7IGkgPCBjb3VudCA7IGkrKyl7Ci0gCQkJaWYodGhyZWFkW2ldLnBhcmFtLnN0YXR1cyA9PSBNUEFUSF9QUl9TVUNDRVNTKSB7Ci0gCQkJCW1lbWNweSgmdGhyZWFkW2ldLnBhcmFtLnBhcmFtcC0+a2V5LCAmdGhyZWFkW2ldLnBhcmFtLnBhcmFtcC0+c2Ffa2V5LCA4KTsKLSAJCQkJbWVtc2V0KCZ0aHJlYWRbaV0ucGFyYW0ucGFyYW1wLT5zYV9rZXksIDAsIDgpOwotQEAgLTU3MSw3ICs1ODcsNyBAQCBpbnQgbXBhdGhfcHJvdXRfcmVnKHN0cnVjdCBtdWx0aXBhdGggKm1wcCxpbnQgcnFfc2VydmFjdCwgaW50IHJxX3Njb3BlLAotIAkJCX0gZWxzZQotIAkJCQl0aHJlYWRbaV0ucGFyYW0uc3RhdHVzID0gTVBBVEhfUFJfU0tJUDsKLSAJCX0KLS0JCWZvcihpPTA7IGkgPCBhY3RpdmVfcGF0aGNvdW50IDsgaSsrKXsKLSsJCWZvcihpPTA7IGkgPCBjb3VudCA7IGkrKyl7Ci0gCQkJaWYgKHRocmVhZFtpXS5wYXJhbS5zdGF0dXMgIT0gTVBBVEhfUFJfU0tJUCAmJgotIAkJCSAgICB0aHJlYWRbaV0ucGFyYW0uc3RhdHVzICE9IE1QQVRIX1BSX1RIUkVBRF9FUlJPUikgewotIAkJCQlyYyA9IHB0aHJlYWRfam9pbih0aHJlYWRbaV0uaWQsIE5VTEwpOwotQEAgLTcyMCw3ICs3MzYsNyBAQCBpbnQgbXBhdGhfcHJvdXRfcmVsKHN0cnVjdCBtdWx0aXBhdGggKm1wcCxpbnQgcnFfc2VydmFjdCwgaW50IHJxX3Njb3BlLAotIAkJfQotIAl9Ci0gCXB0aHJlYWRfYXR0cl9kZXN0cm95ICgmYXR0cik7Ci0tCWZvciAoaSA9IDA7IGkgPCBhY3RpdmVfcGF0aGNvdW50OyBpKyspewotKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKyl7Ci0gCQlpZiAodGhyZWFkW2ldLnBhcmFtLnN0YXR1cyAhPSBNUEFUSF9QUl9USFJFQURfRVJST1IpIHsKLSAJCQlyYyA9IHB0aHJlYWRfam9pbiAodGhyZWFkW2ldLmlkLCBOVUxMKTsKLSAJCQlpZiAocmMpewotQEAgLTcyOSw3ICs3NDUsNyBAQCBpbnQgbXBhdGhfcHJvdXRfcmVsKHN0cnVjdCBtdWx0aXBhdGggKm1wcCxpbnQgcnFfc2VydmFjdCwgaW50IHJxX3Njb3BlLAotIAkJfQotIAl9Ci0gCi0tCWZvciAoaSA9IDA7IGkgPCBhY3RpdmVfcGF0aGNvdW50OyBpKyspewotKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKyl7Ci0gCQkvKiAgY2hlY2sgdGhyZWFkIHN0YXR1cyBoZXJlIGFuZCByZXR1cm4gdGhlIHN0YXR1cyAqLwotIAotIAkJaWYgKHRocmVhZFtpXS5wYXJhbS5zdGF0dXMgPT0gTVBBVEhfUFJfUkVTRVJWX0NPTkZMSUNUKQotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9jb25maWcuYyBiL2xpYm11bHRpcGF0aC9jb25maWcuYwotaW5kZXggMDg1YTNlMS4uNTg3MjkyNyAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9jb25maWcuYwotKysrIGIvbGlibXVsdGlwYXRoL2NvbmZpZy5jCi1AQCAtMzUyLDYgKzM1Miw3IEBAIG1lcmdlX2h3ZSAoc3RydWN0IGh3ZW50cnkgKiBkc3QsIHN0cnVjdCBod2VudHJ5ICogc3JjKQotIAltZXJnZV9udW0oc2tpcF9rcGFydHgpOwotIAltZXJnZV9udW0obWF4X3NlY3RvcnNfa2IpOwotIAltZXJnZV9udW0oZ2hvc3RfZGVsYXkpOwotKwltZXJnZV9udW0oYWxsX3RnX3B0KTsKLSAKLSAJc25wcmludGYoaWQsIHNpemVvZihpZCksICIlcy8lcyIsIGRzdC0+dmVuZG9yLCBkc3QtPnByb2R1Y3QpOwotIAlyZWNvbmNpbGVfZmVhdHVyZXNfd2l0aF9vcHRpb25zKGlkLCAmZHN0LT5mZWF0dXJlcywKLUBAIC02MjIsNiArNjIzLDcgQEAgbG9hZF9jb25maWcgKGNoYXIgKiBmaWxlKQotIAljb25mLT5kaXNhYmxlX2NoYW5nZWRfd3dpZHMgPSBERUZBVUxUX0RJU0FCTEVfQ0hBTkdFRF9XV0lEUzsKLSAJY29uZi0+cmVtb3ZlX3JldHJpZXMgPSAwOwotIAljb25mLT5naG9zdF9kZWxheSA9IERFRkFVTFRfR0hPU1RfREVMQVk7Ci0rCWNvbmYtPmFsbF90Z19wdCA9IERFRkFVTFRfQUxMX1RHX1BUOwotIAotIAkvKgotIAkgKiBwcmVsb2FkIGRlZmF1bHQgaHd0YWJsZQotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9jb25maWcuaCBiL2xpYm11bHRpcGF0aC9jb25maWcuaAotaW5kZXggNmU2OWEzNy4uMWJmNzA4YSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9jb25maWcuaAotKysrIGIvbGlibXVsdGlwYXRoL2NvbmZpZy5oCi1AQCAtODIsNiArODIsNyBAQCBzdHJ1Y3QgaHdlbnRyeSB7Ci0gCWludCBza2lwX2twYXJ0eDsKLSAJaW50IG1heF9zZWN0b3JzX2tiOwotIAlpbnQgZ2hvc3RfZGVsYXk7Ci0rCWludCBhbGxfdGdfcHQ7Ci0gCWNoYXIgKiBibF9wcm9kdWN0OwotIH07Ci0gCi1AQCAtMTk0LDYgKzE5NSw3IEBAIHN0cnVjdCBjb25maWcgewotIAljaGFyICogcGFydGl0aW9uX2RlbGltOwotIAljaGFyICogY29uZmlnX2RpcjsKLSAJaW50IHBya2V5X3NvdXJjZTsKLSsJaW50IGFsbF90Z19wdDsKLSAJc3RydWN0IGJlNjQgcmVzZXJ2YXRpb25fa2V5OwotIAotIAl2ZWN0b3Iga2V5d29yZHM7Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2RlZmF1bHRzLmggYi9saWJtdWx0aXBhdGgvZGVmYXVsdHMuaAotaW5kZXggZDdiODdiNC4uZjA3NmI0YiAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9kZWZhdWx0cy5oCi0rKysgYi9saWJtdWx0aXBhdGgvZGVmYXVsdHMuaAotQEAgLTQzLDYgKzQzLDcgQEAKLSAjZGVmaW5lIERFRkFVTFRfR0hPU1RfREVMQVkgR0hPU1RfREVMQVlfT0ZGCi0gI2RlZmluZSBERUZBVUxUX0ZJTkRfTVVMVElQQVRIU19USU1FT1VUIC0xMAotICNkZWZpbmUgREVGQVVMVF9VTktOT1dOX0ZJTkRfTVVMVElQQVRIU19USU1FT1VUIDEKLSsjZGVmaW5lIERFRkFVTFRfQUxMX1RHX1BUIEFMTF9UR19QVF9PRkYKLSAKLSAjZGVmaW5lIERFRkFVTFRfQ0hFQ0tJTlQJNQotICNkZWZpbmUgTUFYX0NIRUNLSU5UKGEpCQkoYSA8PCAyKQotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9kaWN0LmMgYi9saWJtdWx0aXBhdGgvZGljdC5jCi1pbmRleCAzZTdjNWQ2Li4yNTU3YjhhIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2RpY3QuYwotKysrIGIvbGlibXVsdGlwYXRoL2RpY3QuYwotQEAgLTExNzgsNiArMTE3OCwxMyBAQCBkZWNsYXJlX2h3X3NucHJpbnQoZ2hvc3RfZGVsYXksIHByaW50X29mZl9pbnRfdW5kZWYpCi0gZGVjbGFyZV9tcF9oYW5kbGVyKGdob3N0X2RlbGF5LCBzZXRfb2ZmX2ludF91bmRlZikKLSBkZWNsYXJlX21wX3NucHJpbnQoZ2hvc3RfZGVsYXksIHByaW50X29mZl9pbnRfdW5kZWYpCi0gCi0rZGVjbGFyZV9kZWZfaGFuZGxlcihhbGxfdGdfcHQsIHNldF95ZXNfbm9fdW5kZWYpCi0rZGVjbGFyZV9kZWZfc25wcmludF9kZWZpbnQoYWxsX3RnX3B0LCBwcmludF95ZXNfbm9fdW5kZWYsIERFRkFVTFRfQUxMX1RHX1BUKQotK2RlY2xhcmVfb3ZyX2hhbmRsZXIoYWxsX3RnX3B0LCBzZXRfeWVzX25vX3VuZGVmKQotK2RlY2xhcmVfb3ZyX3NucHJpbnQoYWxsX3RnX3B0LCBwcmludF95ZXNfbm9fdW5kZWYpCi0rZGVjbGFyZV9od19oYW5kbGVyKGFsbF90Z19wdCwgc2V0X3llc19ub191bmRlZikKLStkZWNsYXJlX2h3X3NucHJpbnQoYWxsX3RnX3B0LCBwcmludF95ZXNfbm9fdW5kZWYpCi0rCi0gCi0gc3RhdGljIGludAotIGRlZl91eHNvY2tfdGltZW91dF9oYW5kbGVyKHN0cnVjdCBjb25maWcgKmNvbmYsIHZlY3RvciBzdHJ2ZWMpCi1AQCAtMTUwOSw2ICsxNTE2LDcgQEAgaW5pdF9rZXl3b3Jkcyh2ZWN0b3Iga2V5d29yZHMpCi0gCWluc3RhbGxfa2V5d29yZCgicHJrZXlzX2ZpbGUiLCAmZGVmX3Bya2V5c19maWxlX2hhbmRsZXIsICZzbnByaW50X2RlZl9wcmtleXNfZmlsZSk7Ci0gCWluc3RhbGxfa2V5d29yZCgibG9nX2NoZWNrZXJfZXJyIiwgJmRlZl9sb2dfY2hlY2tlcl9lcnJfaGFuZGxlciwgJnNucHJpbnRfZGVmX2xvZ19jaGVja2VyX2Vycik7Ci0gCWluc3RhbGxfa2V5d29yZCgicmVzZXJ2YXRpb25fa2V5IiwgJmRlZl9yZXNlcnZhdGlvbl9rZXlfaGFuZGxlciwgJnNucHJpbnRfZGVmX3Jlc2VydmF0aW9uX2tleSk7Ci0rCWluc3RhbGxfa2V5d29yZCgiYWxsX3RnX3B0IiwgJmRlZl9hbGxfdGdfcHRfaGFuZGxlciwgJnNucHJpbnRfZGVmX2FsbF90Z19wdCk7Ci0gCWluc3RhbGxfa2V5d29yZCgicmV0YWluX2F0dGFjaGVkX2h3X2hhbmRsZXIiLCAmZGVmX3JldGFpbl9od2hhbmRsZXJfaGFuZGxlciwgJnNucHJpbnRfZGVmX3JldGFpbl9od2hhbmRsZXIpOwotIAlpbnN0YWxsX2tleXdvcmQoImRldGVjdF9wcmlvIiwgJmRlZl9kZXRlY3RfcHJpb19oYW5kbGVyLCAmc25wcmludF9kZWZfZGV0ZWN0X3ByaW8pOwotIAlpbnN0YWxsX2tleXdvcmQoImRldGVjdF9jaGVja2VyIiwgJmRlZl9kZXRlY3RfY2hlY2tlcl9oYW5kbGVyLCAmc25wcmludF9kZWZfZGV0ZWN0X2NoZWNrZXIpOwotQEAgLTE2MTgsNiArMTYyNiw3IEBAIGluaXRfa2V5d29yZHModmVjdG9yIGtleXdvcmRzKQotIAlpbnN0YWxsX2tleXdvcmQoInNraXBfa3BhcnR4IiwgJmh3X3NraXBfa3BhcnR4X2hhbmRsZXIsICZzbnByaW50X2h3X3NraXBfa3BhcnR4KTsKLSAJaW5zdGFsbF9rZXl3b3JkKCJtYXhfc2VjdG9yc19rYiIsICZod19tYXhfc2VjdG9yc19rYl9oYW5kbGVyLCAmc25wcmludF9od19tYXhfc2VjdG9yc19rYik7Ci0gCWluc3RhbGxfa2V5d29yZCgiZ2hvc3RfZGVsYXkiLCAmaHdfZ2hvc3RfZGVsYXlfaGFuZGxlciwgJnNucHJpbnRfaHdfZ2hvc3RfZGVsYXkpOwotKwlpbnN0YWxsX2tleXdvcmQoImFsbF90Z19wdCIsICZod19hbGxfdGdfcHRfaGFuZGxlciwgJnNucHJpbnRfaHdfYWxsX3RnX3B0KTsKLSAJaW5zdGFsbF9zdWJsZXZlbF9lbmQoKTsKLSAKLSAJaW5zdGFsbF9rZXl3b3JkX3Jvb3QoIm92ZXJyaWRlcyIsICZvdmVycmlkZXNfaGFuZGxlcik7Ci1AQCAtMTY1NCw2ICsxNjYzLDcgQEAgaW5pdF9rZXl3b3Jkcyh2ZWN0b3Iga2V5d29yZHMpCi0gCWluc3RhbGxfa2V5d29yZCgic2tpcF9rcGFydHgiLCAmb3ZyX3NraXBfa3BhcnR4X2hhbmRsZXIsICZzbnByaW50X292cl9za2lwX2twYXJ0eCk7Ci0gCWluc3RhbGxfa2V5d29yZCgibWF4X3NlY3RvcnNfa2IiLCAmb3ZyX21heF9zZWN0b3JzX2tiX2hhbmRsZXIsICZzbnByaW50X292cl9tYXhfc2VjdG9yc19rYik7Ci0gCWluc3RhbGxfa2V5d29yZCgiZ2hvc3RfZGVsYXkiLCAmb3ZyX2dob3N0X2RlbGF5X2hhbmRsZXIsICZzbnByaW50X292cl9naG9zdF9kZWxheSk7Ci0rCWluc3RhbGxfa2V5d29yZCgiYWxsX3RnX3B0IiwgJm92cl9hbGxfdGdfcHRfaGFuZGxlciwgJnNucHJpbnRfb3ZyX2FsbF90Z19wdCk7Ci0gCi0gCWluc3RhbGxfa2V5d29yZF9yb290KCJtdWx0aXBhdGhzIiwgJm11bHRpcGF0aHNfaGFuZGxlcik7Ci0gCWluc3RhbGxfa2V5d29yZF9tdWx0aSgibXVsdGlwYXRoIiwgJm11bHRpcGF0aF9oYW5kbGVyLCBOVUxMKTsKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvcHJvcHNlbC5jIGIvbGlibXVsdGlwYXRoL3Byb3BzZWwuYwotaW5kZXggNjI3ZDM2Ni4uOWNhMTM1NSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9wcm9wc2VsLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9wcm9wc2VsLmMKLUBAIC05NzgsMyArOTc4LDE4IEBAIG91dDoKLSAJCXBwLT5kZXYsIHBwLT5maW5kX211bHRpcGF0aHNfdGltZW91dCwgb3JpZ2luKTsKLSAJcmV0dXJuIDA7Ci0gfQotKwotK2ludCBzZWxlY3RfYWxsX3RnX3B0IChzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgbXVsdGlwYXRoICogbXApCi0rewotKwljb25zdCBjaGFyICpvcmlnaW47Ci0rCi0rCW1wX3NldF9vdnIoYWxsX3RnX3B0KTsKLSsJbXBfc2V0X2h3ZShhbGxfdGdfcHQpOwotKwltcF9zZXRfY29uZihhbGxfdGdfcHQpOwotKwltcF9zZXRfZGVmYXVsdChhbGxfdGdfcHQsIERFRkFVTFRfQUxMX1RHX1BUKTsKLStvdXQ6Ci0rCWNvbmRsb2coMywgIiVzOiBhbGxfdGdfcHQgPSAlcyAlcyIsIG1wLT5hbGlhcywKLSsJCShtcC0+YWxsX3RnX3B0ID09IEFMTF9UR19QVF9PTik/ICJ5ZXMiIDogIm5vIiwKLSsJCW9yaWdpbik7Ci0rCXJldHVybiAwOwotK30KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvcHJvcHNlbC5oIGIvbGlibXVsdGlwYXRoL3Byb3BzZWwuaAotaW5kZXggYTAyMmJlZS4uYWU5OWI5MiAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9wcm9wc2VsLmgKLSsrKyBiL2xpYm11bHRpcGF0aC9wcm9wc2VsLmgKLUBAIC0zNCwzICszNCw0IEBAIGludCBzZWxlY3RfZ2hvc3RfZGVsYXkoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqIG1wKTsKLSB2b2lkIHJlY29uY2lsZV9mZWF0dXJlc193aXRoX29wdGlvbnMoY29uc3QgY2hhciAqaWQsIGNoYXIgKipmZWF0dXJlcywKLSAJCQkJICAgICBpbnQqIG5vX3BhdGhfcmV0cnksCi0gCQkJCSAgICAgaW50ICpyZXRhaW5faHdoYW5kbGVyKTsKLStpbnQgc2VsZWN0X2FsbF90Z19wdCAoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqIG1wKTsKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvc3RydWN0cy5oIGIvbGlibXVsdGlwYXRoL3N0cnVjdHMuaAotaW5kZXggZTQyNGIxNS4uMDE5NGIxZSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9zdHJ1Y3RzLmgKLSsrKyBiL2xpYm11bHRpcGF0aC9zdHJ1Y3RzLmgKLUBAIC0yMTcsNiArMjE3LDEyIEBAIGVudW0gcHJrZXlfc291cmNlcyB7Ci0gCVBSS0VZX1NPVVJDRV9GSUxFLAotIH07Ci0gCi0rZW51bSBhbGxfdGdfcHRfc3RhdGVzIHsKLSsJQUxMX1RHX1BUX1VOREVGID0gWU5VX1VOREVGLAotKwlBTExfVEdfUFRfT0ZGID0gWU5VX05PLAotKwlBTExfVEdfUFRfT04gPSBZTlVfWUVTLAotK307Ci0rCi0gc3RydWN0IHNnX2lkIHsKLSAJaW50IGhvc3Rfbm87Ci0gCWludCBjaGFubmVsOwotQEAgLTM2Miw2ICszNjgsNyBAQCBzdHJ1Y3QgbXVsdGlwYXRoIHsKLSAJaW50IHBya2V5X3NvdXJjZTsKLSAJc3RydWN0IGJlNjQgcmVzZXJ2YXRpb25fa2V5OwotIAl1bnNpZ25lZCBjaGFyIHByZmxhZzsKLSsJaW50IGFsbF90Z19wdDsKLSAJc3RydWN0IGdlbl9tdWx0aXBhdGggZ2VuZXJpY19tcDsKLSB9OwotIAotZGlmZiAtLWdpdCBhL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41IGIvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUKLWluZGV4IDk2ZDFiNjYuLjBjMWYxNzQgMTAwNjQ0Ci0tLS0gYS9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNQotKysrIGIvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUKLUBAIC03NDMsNiArNzQzLDE3IEBAIFRoZSBkZWZhdWx0IGlzOiBcZkI8dW5zZXQ+XGZSCi0gLgotIC4KLSAuVFAKLSsuQiBhbGxfdGdfcHQKLStUaGlzIG11c3QgYmUgc2V0IHRvIFxmQnllc1xmUiB0byBzdWNjZXNzZnVsbHkgdXNlIG1wYXRocGVyc2lzdCBvbiBhcnJheXMgdGhhdAotK2F1dG9tYXRpY2FsbHkgc2V0IGFuZCBjbGVhciByZWdpc3RyYXRpb24ga2V5cyBvbiBhbGwgdGFyZ2V0IHBvcnRzIGZyb20gYQotK2hvc3QsIGluc3RlYWQgb2YgcGVyIHRhcmdldCBwb3J0IHBlciBob3N0LgotKy5SUwotKy5UUAotK1RoZSBkZWZhdWx0IGlzOiBcZkJub1xmUgotKy5SRQotKy4KLSsuCi0rLlRQCi0gLkIgcmV0YWluX2F0dGFjaGVkX2h3X2hhbmRsZXIKLSAoT2Jzb2xldGUgZm9yIGtlcm5lbHMgPj0gNC4zKSBJZiBzZXQgdG8KLSAuSSB5ZXMKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTYtbGlibXVsdGlwYXRoLXJlbW92ZS1yYmQtY29kZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE2LWxpYm11bHRpcGF0aC1yZW1vdmUtcmJkLWNvZGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkMTk1NDcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTYtbGlibXVsdGlwYXRoLXJlbW92ZS1yYmQtY29kZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwOTMgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotRGF0ZTogRnJpLCAxIEp1biAyMDE4IDE2OjMwOjQ0IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxpYm11bHRpcGF0aDogcmVtb3ZlIHJiZCBjb2RlCi0KLVRoZSBDZXBoIHRlYW4gaGFzIGFza2VkIHRvIGRyb3Agc3VwcG9ydCBmb3IgbXVsdGlwYXRoZWQgcmJkLCBzaW5jZSBpdAotd2FzIHJ1bm5pbmcgaW50byBkYXRhIGNvcnJ1cHRpb24gaXNzdWVzLiBUaGVyZSB3YXMgbmV2ZXIgYW4gdXBzdHJlYW0KLUNlcGggcmVsZWFzZSBiYXNlZCBvbiBpdCwgYW5kIGJlY2F1c2Ugb2YgdGhlIGNvcnJ1cHRpb24sIHRoZXJlIHNob3VsZCBiZQotbm8gdXNlcnMgb2YgdGhpcyBjb2RlLiBUaGlzIHBhdGNoIHNpbXBseSByZXZlcnRzIGFsbCB0aGUgcmJkIGNvZGUgZnJvbQotbXVsdGlwYXRoLgotCi1DYzogTWljaGFlbCBDaHJpc3RpZSA8bWNocmlzdGlAcmVkaGF0LmNvbT4KLUNjOiBKYXNvbiBEaWxsYW1hbiA8ZGlsbGFtYW5AcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIGxpYm11bHRpcGF0aC9jaGVja2Vycy5jICAgICAgICAgICAgICB8ICAyMiAtLQotIGxpYm11bHRpcGF0aC9jaGVja2Vycy5oICAgICAgICAgICAgICB8ICAgNiAtCi0gbGlibXVsdGlwYXRoL2NoZWNrZXJzL01ha2VmaWxlICAgICAgIHwgICA3IC0KLSBsaWJtdWx0aXBhdGgvY2hlY2tlcnMvY2Npc3NfdHVyLmMgICAgfCAgIDUgLQotIGxpYm11bHRpcGF0aC9jaGVja2Vycy9kaXJlY3Rpby5jICAgICB8ICAgNSAtCi0gbGlibXVsdGlwYXRoL2NoZWNrZXJzL2VtY19jbGFyaWlvbi5jIHwgICA1IC0KLSBsaWJtdWx0aXBhdGgvY2hlY2tlcnMvaHBfc3cuYyAgICAgICAgfCAgIDUgLQotIGxpYm11bHRpcGF0aC9jaGVja2Vycy9yYmQuYyAgICAgICAgICB8IDY1MyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIGxpYm11bHRpcGF0aC9jaGVja2Vycy9yZGFjLmMgICAgICAgICB8ICAgNSAtCi0gbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JlYWRzZWN0b3IwLmMgIHwgICA1IC0KLSBsaWJtdWx0aXBhdGgvY2hlY2tlcnMvdHVyLmMgICAgICAgICAgfCAgIDUgLQotIGxpYm11bHRpcGF0aC9kaXNjb3ZlcnkuYyAgICAgICAgICAgICB8ICA3MCAtLS0tCi0gbGlibXVsdGlwYXRoL2h3dGFibGUuYyAgICAgICAgICAgICAgIHwgIDEyIC0KLSBtdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNSAgICAgICAgICAgfCAgIDMgLQotIG11bHRpcGF0aGQvbWFpbi5jICAgICAgICAgICAgICAgICAgICB8ICAxMSAtCi0gMTUgZmlsZXMgY2hhbmdlZCwgODE5IGRlbGV0aW9ucygtKQotIGRlbGV0ZSBtb2RlIDEwMDY0NCBsaWJtdWx0aXBhdGgvY2hlY2tlcnMvcmJkLmMKLQotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy5jIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzLmMKLWluZGV4IDA4Y2RmYzMuLjBiYWNjODYgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMuYwotKysrIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzLmMKLUBAIC0xNDEsMTMgKzE0MSw2IEBAIHN0cnVjdCBjaGVja2VyICogYWRkX2NoZWNrZXIgKGNoYXIgKm11bHRpcGF0aF9kaXIsIGNoYXIgKiBuYW1lKQotIAlpZiAoIWMtPmZyZWUpCi0gCQlnb3RvIG91dDsKLSAKLS0JYy0+cmVwYWlyID0gKHZvaWQgKCopKHN0cnVjdCBjaGVja2VyICopKSBkbHN5bShjLT5oYW5kbGUsCi0tCQkJCQkJICAgICAgICJsaWJjaGVja19yZXBhaXIiKTsKLS0JZXJyc3RyID0gZGxlcnJvcigpOwotLQlpZiAoZXJyc3RyICE9IE5VTEwpCi0tCQljb25kbG9nKDAsICJBIGR5bmFtaWMgbGlua2luZyBlcnJvciBvY2N1cnJlZDogKCVzKSIsIGVycnN0cik7Ci0tCWlmICghYy0+cmVwYWlyKQotLQkJZ290byBvdXQ7Ci0gZG9uZToKLSAJYy0+ZmQgPSAtMTsKLSAJYy0+c3luYyA9IDE7Ci1AQCAtMjIyLDIwICsyMTUsNiBAQCB2b2lkIGNoZWNrZXJfcHV0IChzdHJ1Y3QgY2hlY2tlciAqIGRzdCkKLSAJZnJlZV9jaGVja2VyKHNyYyk7Ci0gfQotIAotLXZvaWQgY2hlY2tlcl9yZXBhaXIgKHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCWlmICghY2hlY2tlcl9zZWxlY3RlZChjKSkKLS0JCXJldHVybjsKLS0KLS0JYy0+bWVzc2FnZVswXSA9ICdcMCc7Ci0tCWlmIChjLT5kaXNhYmxlKSB7Ci0tCQlNU0coYywgImNoZWNrZXIgZGlzYWJsZWQiKTsKLS0JCXJldHVybjsKLS0JfQotLQlpZiAoYy0+cmVwYWlyKQotLQkJYy0+cmVwYWlyKGMpOwotLX0KLS0KLSBpbnQgY2hlY2tlcl9jaGVjayAoc3RydWN0IGNoZWNrZXIgKiBjLCBpbnQgcGF0aF9zdGF0ZSkKLSB7Ci0gCWludCByOwotQEAgLTMxMCw3ICsyODksNiBAQCB2b2lkIGNoZWNrZXJfZ2V0IChjaGFyICptdWx0aXBhdGhfZGlyLCBzdHJ1Y3QgY2hlY2tlciAqIGRzdCwgY2hhciAqIG5hbWUpCi0gCWRzdC0+c3luYyA9IHNyYy0+c3luYzsKLSAJc3RybmNweShkc3QtPm5hbWUsIHNyYy0+bmFtZSwgQ0hFQ0tFUl9OQU1FX0xFTik7Ci0gCXN0cm5jcHkoZHN0LT5tZXNzYWdlLCBzcmMtPm1lc3NhZ2UsIENIRUNLRVJfTVNHX0xFTik7Ci0tCWRzdC0+cmVwYWlyID0gc3JjLT5yZXBhaXI7Ci0gCWRzdC0+Y2hlY2sgPSBzcmMtPmNoZWNrOwotIAlkc3QtPmluaXQgPSBzcmMtPmluaXQ7Ci0gCWRzdC0+ZnJlZSA9IHNyYy0+ZnJlZTsKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMuaCBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy5oCi1pbmRleCA1MjE1NGNhLi43YjE4YTFhIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzLmgKLSsrKyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy5oCi1AQCAtODYsNyArODYsNiBAQCBlbnVtIHBhdGhfY2hlY2tfc3RhdGUgewotICNkZWZpbmUgUkVBRFNFQ1RPUjAgICJyZWFkc2VjdG9yMCIKLSAjZGVmaW5lIENDSVNTX1RVUiAgICAiY2Npc3NfdHVyIgotICNkZWZpbmUgTk9ORSAgICAgICAgICJub25lIgotLSNkZWZpbmUgUkJEICAgICAgICAgICJyYmQiCi0gCi0gI2RlZmluZSBBU1lOQ19USU1FT1VUX1NFQwkzMAotIAotQEAgLTExMyw5ICsxMTIsNiBAQCBzdHJ1Y3QgY2hlY2tlciB7Ci0gCQkJCQkJbXVsdGlwYXRoLXdpZGUuIFVzZSBNQUxMT0MgaWYKLSAJCQkJCQl5b3Ugd2FudCB0byBzdHVmZiBkYXRhIGluLiAqLwotIAlpbnQgKCpjaGVjaykoc3RydWN0IGNoZWNrZXIgKik7Ci0tCXZvaWQgKCpyZXBhaXIpKHN0cnVjdCBjaGVja2VyICopOyAgICAvKiBjYWxsZWQgaWYgY2hlY2sgcmV0dXJucwotLQkJCQkJCVBBVEhfRE9XTiB0byBicmluZyBwYXRoIGludG8KLS0JCQkJCQl1c2FibGUgc3RhdGUgKi8KLSAJaW50ICgqaW5pdCkoc3RydWN0IGNoZWNrZXIgKik7ICAgICAgIC8qIHRvIGFsbG9jYXRlIHRoZSBjb250ZXh0ICovCi0gCXZvaWQgKCpmcmVlKShzdHJ1Y3QgY2hlY2tlciAqKTsgICAgICAvKiB0byBmcmVlIHRoZSBjb250ZXh0ICovCi0gfTsKLUBAIC0xMzYsNyArMTMyLDYgQEAgdm9pZCBjaGVja2VyX3NldF9hc3luYyAoc3RydWN0IGNoZWNrZXIgKik7Ci0gdm9pZCBjaGVja2VyX3NldF9mZCAoc3RydWN0IGNoZWNrZXIgKiwgaW50KTsKLSB2b2lkIGNoZWNrZXJfZW5hYmxlIChzdHJ1Y3QgY2hlY2tlciAqKTsKLSB2b2lkIGNoZWNrZXJfZGlzYWJsZSAoc3RydWN0IGNoZWNrZXIgKik7Ci0tdm9pZCBjaGVja2VyX3JlcGFpciAoc3RydWN0IGNoZWNrZXIgKik7Ci0gaW50IGNoZWNrZXJfY2hlY2sgKHN0cnVjdCBjaGVja2VyICosIGludCk7Ci0gaW50IGNoZWNrZXJfc2VsZWN0ZWQgKHN0cnVjdCBjaGVja2VyICopOwotIGNoYXIgKiBjaGVja2VyX25hbWUgKHN0cnVjdCBjaGVja2VyICopOwotQEAgLTE0OCw2ICsxNDMsNSBAQCB2b2lkIGNoZWNrZXJfZ2V0IChjaGFyICosIHN0cnVjdCBjaGVja2VyICosIGNoYXIgKik7Ci0gaW50IGxpYmNoZWNrX2NoZWNrKHN0cnVjdCBjaGVja2VyICopOwotIGludCBsaWJjaGVja19pbml0KHN0cnVjdCBjaGVja2VyICopOwotIHZvaWQgbGliY2hlY2tfZnJlZShzdHJ1Y3QgY2hlY2tlciAqKTsKLS12b2lkIGxpYmNoZWNrX3JlcGFpcihzdHJ1Y3QgY2hlY2tlciAqKTsKLSAKLSAjZW5kaWYgLyogX0NIRUNLRVJTX0ggKi8KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvTWFrZWZpbGUgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvTWFrZWZpbGUKLWluZGV4IDg3YzE1YmQuLjAyY2FlYTYgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvTWFrZWZpbGUKLSsrKyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy9NYWtlZmlsZQotQEAgLTE1LDE1ICsxNSw4IEBAIExJQlM9IFwKLSAJbGliY2hlY2tocF9zdy5zbyBcCi0gCWxpYmNoZWNrcmRhYy5zbwotIAotLWlmbmVxICgkKGNhbGwgY2hlY2tfZmlsZSwvdXNyL2luY2x1ZGUvcmFkb3MvbGlicmFkb3MuaCksMCkKLS1MSUJTICs9IGxpYmNoZWNrcmJkLnNvCi0tZW5kaWYKLS0KLSBhbGw6ICQoTElCUykKLSAKLS1saWJjaGVja3JiZC5zbzogcmJkLm8KLS0JJChDQykgJChMREZMQUdTKSAkKFNIQVJFRF9GTEFHUykgLW8gJEAgJF4gLWxyYWRvcyAtbHVkZXYKLS0KLSBsaWJjaGVja2RpcmVjdGlvLnNvOiBsaWJzZy5vIGRpcmVjdGlvLm8KLSAJJChDQykgJChMREZMQUdTKSAkKFNIQVJFRF9GTEFHUykgLW8gJEAgJF4gLWxhaW8KLSAKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvY2Npc3NfdHVyLmMgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvY2Npc3NfdHVyLmMKLWluZGV4IDQzNjQ3MGMuLjFjYWIyMDEgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvY2Npc3NfdHVyLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy9jY2lzc190dXIuYwotQEAgLTU5LDExICs1OSw2IEBAIHZvaWQgbGliY2hlY2tfZnJlZSAoc3RydWN0IGNoZWNrZXIgKiBjKQotIAlyZXR1cm47Ci0gfQotIAotLXZvaWQgbGliY2hlY2tfcmVwYWlyIChzdHJ1Y3QgY2hlY2tlciAqIGMpCi0tewotLQlyZXR1cm47Ci0tfQotLQotIGludCBsaWJjaGVja19jaGVjayhzdHJ1Y3QgY2hlY2tlciAqIGMpCi0gewotIAlpbnQgcmM7Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2RpcmVjdGlvLmMgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvZGlyZWN0aW8uYwotaW5kZXggY2U2MGU0Yy4uYTgwODQ4ZCAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy9kaXJlY3Rpby5jCi0rKysgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvZGlyZWN0aW8uYwotQEAgLTExOCwxMSArMTE4LDYgQEAgdm9pZCBsaWJjaGVja19mcmVlIChzdHJ1Y3QgY2hlY2tlciAqIGMpCi0gCWZyZWUoY3QpOwotIH0KLSAKLS12b2lkIGxpYmNoZWNrX3JlcGFpciAoc3RydWN0IGNoZWNrZXIgKiBjKQotLXsKLS0JcmV0dXJuOwotLX0KLS0KLSBzdGF0aWMgaW50Ci0gY2hlY2tfc3RhdGUoaW50IGZkLCBzdHJ1Y3QgZGlyZWN0aW9fY29udGV4dCAqY3QsIGludCBzeW5jLCBpbnQgdGltZW91dF9zZWNzKQotIHsKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvZW1jX2NsYXJpaW9uLmMgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvZW1jX2NsYXJpaW9uLmMKLWluZGV4IDljMWZmZWQuLjkxMTViMWIgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvZW1jX2NsYXJpaW9uLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy9lbWNfY2xhcmlpb24uYwotQEAgLTkwLDExICs5MCw2IEBAIHZvaWQgbGliY2hlY2tfZnJlZSAoc3RydWN0IGNoZWNrZXIgKiBjKQotIAlmcmVlKGMtPmNvbnRleHQpOwotIH0KLSAKLS12b2lkIGxpYmNoZWNrX3JlcGFpciAoc3RydWN0IGNoZWNrZXIgKiBjKQotLXsKLS0JcmV0dXJuOwotLX0KLS0KLSBpbnQgbGliY2hlY2tfY2hlY2sgKHN0cnVjdCBjaGVja2VyICogYykKLSB7Ci0gCXVuc2lnbmVkIGNoYXIgc2Vuc2VfYnVmZmVyWzEyOF0gPSB7IDAsIH07Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2hwX3N3LmMgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvaHBfc3cuYwotaW5kZXggY2VlOWFhYi4uMGFkMzRhNiAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy9ocF9zdy5jCi0rKysgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvaHBfc3cuYwotQEAgLTQ1LDExICs0NSw2IEBAIHZvaWQgbGliY2hlY2tfZnJlZSAoc3RydWN0IGNoZWNrZXIgKiBjKQotIAlyZXR1cm47Ci0gfQotIAotLXZvaWQgbGliY2hlY2tfcmVwYWlyIChzdHJ1Y3QgY2hlY2tlciAqIGMpCi0tewotLQlyZXR1cm47Ci0tfQotLQotIHN0YXRpYyBpbnQKLSBkb19pbnEoaW50IHNnX2ZkLCBpbnQgY21kZHQsIGludCBldnBkLCB1bnNpZ25lZCBpbnQgcGdfb3AsCi0gICAgICAgIHZvaWQgKnJlc3AsIGludCBteF9yZXNwX2xlbiwgaW50IG5vaXN5LCB1bnNpZ25lZCBpbnQgdGltZW91dCkKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvcmJkLmMgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvcmJkLmMKLWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggNGZmNTRmNC4uMDAwMDAwMAotLS0tIGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JiZC5jCi0rKysgL2Rldi9udWxsCi1AQCAtMSw2NTMgKzAsMCBAQAotLS8qCi0tICogQ29weXJpZ2h0IChjKSAyMDE2IFJlZCBIYXQKLS0gKiBDb3B5cmlnaHQgKGMpIDIwMDQgQ2hyaXN0b3BoZSBWYXJvcXVpCi0tICoKLS0gKiBDb2RlIGJhc2VkIG9mZiBvZiB0dXIuYyBhbmQgY2VwaCdzIGtyYmQuY2MKLS0gKi8KLS0jZGVmaW5lIF9HTlVfU09VUkNFCi0tI2luY2x1ZGUgPHN0ZGlvLmg+Ci0tI2luY2x1ZGUgPHN0ZGxpYi5oPgotLSNpbmNsdWRlIDxzdHJpbmcuaD4KLS0jaW5jbHVkZSA8dW5pc3RkLmg+Ci0tI2luY2x1ZGUgPGZjbnRsLmg+Ci0tI2luY2x1ZGUgPGVycm5vLmg+Ci0tI2luY2x1ZGUgPHB0aHJlYWQuaD4KLS0jaW5jbHVkZSA8bGlidWRldi5oPgotLSNpbmNsdWRlIDxpZmFkZHJzLmg+Ci0tI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotLSNpbmNsdWRlIDxzeXMvc3RhdC5oPgotLSNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KLS0jaW5jbHVkZSA8c3lzL3RpbWUuaD4KLS0jaW5jbHVkZSA8c3lzL3dhaXQuaD4KLS0jaW5jbHVkZSA8dXJjdS5oPgotLQotLSNpbmNsdWRlICJyYWRvcy9saWJyYWRvcy5oIgotLQotLSNpbmNsdWRlICJzdHJ1Y3RzLmgiCi0tI2luY2x1ZGUgImNoZWNrZXJzLmgiCi0tCi0tI2luY2x1ZGUgIi4uL2xpYm11bHRpcGF0aC9kZWJ1Zy5oIgotLSNpbmNsdWRlICIuLi9saWJtdWx0aXBhdGgvdXRpbC5oIgotLSNpbmNsdWRlICIuLi9saWJtdWx0aXBhdGgvdGltZS11dGlsLmgiCi0tI2luY2x1ZGUgIi4uL2xpYm11bHRpcGF0aC91dGlsLmgiCi0tCi0tc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQ7Ci0tdHlwZWRlZiBpbnQgKHRocmVhZF9mbikoc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQgKmN0LCBjaGFyICptc2cpOwotLQotLSNkZWZpbmUgUkJEX01TRyhtc2csIGZtdCwgYXJncy4uLikgc25wcmludGYobXNnLCBDSEVDS0VSX01TR19MRU4sIGZtdCwgIyNhcmdzKTsKLS0KLS0jZGVmaW5lIFJCRF9GRUFUVVJFX0VYQ0xVU0lWRV9MT0NLCSgxIDw8IDIpCi0tCi0tc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQgewotLQlpbnQgcmJkX2J1c19pZDsKLS0JY2hhciAqY2xpZW50X2FkZHI7Ci0tCWNoYXIgKmNvbmZpZ19pbmZvOwotLQljaGFyICpzbmFwOwotLQljaGFyICpwb29sOwotLQljaGFyICppbWFnZTsKLS0JY2hhciAqdXNlcm5hbWU7Ci0tCWludCByZW1hcHBlZDsKLS0JaW50IGJsYWNrbGlzdGVkOwotLQl1bnNpZ25lZCBsb2NrX29uX3JlYWQ6MTsKLS0KLS0JcmFkb3NfdCBjbHVzdGVyOwotLQotLQlpbnQgc3RhdGU7Ci0tCWludCBydW5uaW5nOwotLQl0aW1lX3QgdGltZTsKLS0JdGhyZWFkX2ZuICpmbjsKLS0JcHRocmVhZF90IHRocmVhZDsKLS0JcHRocmVhZF9tdXRleF90IGxvY2s7Ci0tCXB0aHJlYWRfY29uZF90IGFjdGl2ZTsKLS0JcHRocmVhZF9zcGlubG9ja190IGhsZHJfbG9jazsKLS0JaW50IGhvbGRlcnM7Ci0tCWNoYXIgbWVzc2FnZVtDSEVDS0VSX01TR19MRU5dOwotLX07Ci0tCi0taW50IGxpYmNoZWNrX2luaXQoc3RydWN0IGNoZWNrZXIgKiBjKQotLXsKLS0Jc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQgKmN0OwotLQlzdHJ1Y3QgdWRldl9kZXZpY2UgKmJsb2NrX2RldjsKLS0Jc3RydWN0IHVkZXZfZGV2aWNlICpidXNfZGV2OwotLQlzdHJ1Y3QgdWRldiAqdWRldjsKLS0Jc3RydWN0IHN0YXQgc2I7Ci0tCWNvbnN0IGNoYXIgKmJsb2NrX25hbWUsICphZGRyLCAqY29uZmlnX2luZm8sICpmZWF0dXJlc19zdHI7Ci0tCWNvbnN0IGNoYXIgKmltYWdlLCAqcG9vbCwgKnNuYXAsICp1c2VybmFtZTsKLS0JdWludDY0X3QgZmVhdHVyZXMgPSAwOwotLQljaGFyIHN5c2ZzX3BhdGhbUEFUSF9TSVpFXTsKLS0JaW50IHJldDsKLS0KLS0JY3QgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0KSk7Ci0tCWlmICghY3QpCi0tCQlyZXR1cm4gMTsKLS0JbWVtc2V0KGN0LCAwLCBzaXplb2Yoc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQpKTsKLS0JY3QtPmhvbGRlcnMgPSAxOwotLQlwdGhyZWFkX2NvbmRfaW5pdF9tb25vKCZjdC0+YWN0aXZlKTsKLS0JcHRocmVhZF9tdXRleF9pbml0KCZjdC0+bG9jaywgTlVMTCk7Ci0tCXB0aHJlYWRfc3Bpbl9pbml0KCZjdC0+aGxkcl9sb2NrLCBQVEhSRUFEX1BST0NFU1NfUFJJVkFURSk7Ci0tCWMtPmNvbnRleHQgPSBjdDsKLS0KLS0JLyoKLS0JICogVGhlIHJiZCBibG9jayBsYXllciBzeXNmcyBkZXZpY2UgaXMgbm90IGxpbmtlZCB0byB0aGUgcmJkIGJ1cwotLQkgKiBkZXZpY2UgdGhhdCB3ZSBpbnRlcmFjdCB3aXRoLCBzbyBmaWd1cmUgdGhhdCBvdXQgbm93LgotLQkgKi8KLS0JaWYgKGZzdGF0KGMtPmZkLCAmc2IpICE9IDApCi0tCQlnb3RvIGZyZWVfY3Q7Ci0tCi0tCXVkZXYgPSB1ZGV2X25ldygpOwotLQlpZiAoIXVkZXYpCi0tCQlnb3RvIGZyZWVfY3Q7Ci0tCi0tCWJsb2NrX2RldiA9IHVkZXZfZGV2aWNlX25ld19mcm9tX2Rldm51bSh1ZGV2LCAnYicsIHNiLnN0X3JkZXYpOwotLQlpZiAoIWJsb2NrX2RldikKLS0JCWdvdG8gZnJlZV91ZGV2OwotLQotLQlibG9ja19uYW1lICA9IHVkZXZfZGV2aWNlX2dldF9zeXNuYW1lKGJsb2NrX2Rldik7Ci0tCXJldCA9IHNzY2FuZihibG9ja19uYW1lLCAicmJkJWQiLCAmY3QtPnJiZF9idXNfaWQpOwotLQotLQl1ZGV2X2RldmljZV91bnJlZihibG9ja19kZXYpOwotLQlpZiAocmV0ICE9IDEpCi0tCQlnb3RvIGZyZWVfdWRldjsKLS0KLS0Jc25wcmludGYoc3lzZnNfcGF0aCwgc2l6ZW9mKHN5c2ZzX3BhdGgpLCAiL3N5cy9idXMvcmJkL2RldmljZXMvJWQiLAotLQkJIGN0LT5yYmRfYnVzX2lkKTsKLS0JYnVzX2RldiA9IHVkZXZfZGV2aWNlX25ld19mcm9tX3N5c3BhdGgodWRldiwgc3lzZnNfcGF0aCk7Ci0tCWlmICghYnVzX2RldikKLS0JCWdvdG8gZnJlZV91ZGV2OwotLQotLQlhZGRyID0gdWRldl9kZXZpY2VfZ2V0X3N5c2F0dHJfdmFsdWUoYnVzX2RldiwgImNsaWVudF9hZGRyIik7Ci0tCWlmICghYWRkcikgewotLQkJY29uZGxvZygwLCAicmJkJWQ6IENvdWxkIG5vdCBmaW5kIGNsaWVudF9hZGRyIGluIHJiZCBzeXNmcy4gIgotLQkJCSJUcnkgdXBkYXRpbmcga2VybmVsIiwgY3QtPnJiZF9idXNfaWQpOwotLQkJZ290byBmcmVlX2RldjsKLS0JfQotLQotLQljdC0+Y2xpZW50X2FkZHIgPSBzdHJkdXAoYWRkcik7Ci0tCWlmICghY3QtPmNsaWVudF9hZGRyKQotLQkJZ290byBmcmVlX2RldjsKLS0KLS0JZmVhdHVyZXNfc3RyID0gdWRldl9kZXZpY2VfZ2V0X3N5c2F0dHJfdmFsdWUoYnVzX2RldiwgImZlYXR1cmVzIik7Ci0tCWlmICghZmVhdHVyZXNfc3RyKQotLQkJZ290byBmcmVlX2FkZHI7Ci0tCWZlYXR1cmVzID0gc3RydG9sbChmZWF0dXJlc19zdHIsIE5VTEwsIDE2KTsKLS0JaWYgKCEoZmVhdHVyZXMgJiBSQkRfRkVBVFVSRV9FWENMVVNJVkVfTE9DSykpIHsKLS0JCWNvbmRsb2coMywgInJiZCVkOiBFeGNsdXNpdmUgbG9jayBub3Qgc2V0LiIsIGN0LT5yYmRfYnVzX2lkKTsKLS0JCWdvdG8gZnJlZV9hZGRyOwotLQl9Ci0tCi0tCWNvbmZpZ19pbmZvID0gdWRldl9kZXZpY2VfZ2V0X3N5c2F0dHJfdmFsdWUoYnVzX2RldiwgImNvbmZpZ19pbmZvIik7Ci0tCWlmICghY29uZmlnX2luZm8pCi0tCQlnb3RvIGZyZWVfYWRkcjsKLS0KLS0JaWYgKCFzdHJzdHIoY29uZmlnX2luZm8sICJub3NoYXJlIikpIHsKLS0JCWNvbmRsb2coMywgInJiZCVkOiBPbmx5IG5vbnNoYXJlZCBjbGllbnRzIHN1cHBvcnRlZC4iLAotLQkJCWN0LT5yYmRfYnVzX2lkKTsKLS0JCWdvdG8gZnJlZV9hZGRyOwotLQl9Ci0tCi0tCWlmIChzdHJzdHIoY29uZmlnX2luZm8sICJsb2NrX29uX3JlYWQiKSkKLS0JCWN0LT5sb2NrX29uX3JlYWQgPSAxOwotLQotLQljdC0+Y29uZmlnX2luZm8gPSBzdHJkdXAoY29uZmlnX2luZm8pOwotLQlpZiAoIWN0LT5jb25maWdfaW5mbykKLS0JCWdvdG8gZnJlZV9hZGRyOwotLQotLQl1c2VybmFtZSA9IHN0cnN0cihjb25maWdfaW5mbywgIm5hbWU9Iik7Ci0tCWlmICh1c2VybmFtZSkgewotLQkJY2hhciAqZW5kOwotLQkJaW50IGxlbjsKLS0KLS0JCXVzZXJuYW1lICs9IDU7Ci0tCQllbmQgPSBzdHJjaHIodXNlcm5hbWUsICcsJyk7Ci0tCQlpZiAoIWVuZCkKLS0JCQlnb3RvIGZyZWVfaW5mbzsKLS0JCWxlbiA9IGVuZCAtIHVzZXJuYW1lOwotLQotLQkJY3QtPnVzZXJuYW1lID0gbWFsbG9jKGxlbiArIDEpOwotLQkJaWYgKCFjdC0+dXNlcm5hbWUpCi0tCQkJZ290byBmcmVlX2luZm87Ci0tCQlzdHJuY3B5KGN0LT51c2VybmFtZSwgdXNlcm5hbWUsIGxlbik7Ci0tCQljdC0+dXNlcm5hbWVbbGVuXSA9ICdcMCc7Ci0tCX0KLS0KLS0JaW1hZ2UgPSB1ZGV2X2RldmljZV9nZXRfc3lzYXR0cl92YWx1ZShidXNfZGV2LCAibmFtZSIpOwotLQlpZiAoIWltYWdlKQotLQkJZ290byBmcmVlX3VzZXJuYW1lOwotLQotLQljdC0+aW1hZ2UgPSBzdHJkdXAoaW1hZ2UpOwotLQlpZiAoIWN0LT5pbWFnZSkKLS0JCWdvdG8gZnJlZV91c2VybmFtZTsKLS0KLS0JcG9vbCA9IHVkZXZfZGV2aWNlX2dldF9zeXNhdHRyX3ZhbHVlKGJ1c19kZXYsICJwb29sIik7Ci0tCWlmICghcG9vbCkKLS0JCWdvdG8gZnJlZV9pbWFnZTsKLS0KLS0JY3QtPnBvb2wgPSBzdHJkdXAocG9vbCk7Ci0tCWlmICghY3QtPnBvb2wpCi0tCQlnb3RvIGZyZWVfaW1hZ2U7Ci0tCi0tCXNuYXAgPSB1ZGV2X2RldmljZV9nZXRfc3lzYXR0cl92YWx1ZShidXNfZGV2LCAiY3VycmVudF9zbmFwIik7Ci0tCWlmICghc25hcCkKLS0JCWdvdG8gZnJlZV9wb29sOwotLQotLQlpZiAoc3RyY21wKCItIiwgc25hcCkpIHsKLS0JCWN0LT5zbmFwID0gc3RyZHVwKHNuYXApOwotLQkJaWYgKCFjdC0+c25hcCkKLS0JCQlnb3RvIGZyZWVfcG9vbDsKLS0JfQotLQotLQlpZiAocmFkb3NfY3JlYXRlKCZjdC0+Y2x1c3RlciwgTlVMTCkgPCAwKSB7Ci0tCQljb25kbG9nKDAsICJyYmQlZDogQ291bGQgbm90IGNyZWF0ZSByYWRvcyBjbHVzdGVyIiwKLS0JCQljdC0+cmJkX2J1c19pZCk7Ci0tCQlnb3RvIGZyZWVfc25hcDsKLS0JfQotLQotLQlpZiAocmFkb3NfY29uZl9yZWFkX2ZpbGUoY3QtPmNsdXN0ZXIsIE5VTEwpIDwgMCkgewotLQkJY29uZGxvZygwLCAicmJkJWQ6IENvdWxkIG5vdCByZWFkIHJhZG9zIGNvbmYiLCBjdC0+cmJkX2J1c19pZCk7Ci0tCQlnb3RvIHNodXRkb3duX3JhZG9zOwotLQl9Ci0tCi0tCXJldCA9IHJhZG9zX2Nvbm5lY3QoY3QtPmNsdXN0ZXIpOwotLQlpZiAocmV0IDwgMCkgewotLQkJY29uZGxvZygwLCAicmJkJWQ6IENvdWxkIG5vdCBjb25uZWN0IHRvIHJhZG9zIGNsdXN0ZXIiLAotLQkJCWN0LT5yYmRfYnVzX2lkKTsKLS0JCWdvdG8gc2h1dGRvd25fcmFkb3M7Ci0tCX0KLS0KLS0JdWRldl9kZXZpY2VfdW5yZWYoYnVzX2Rldik7Ci0tCXVkZXZfdW5yZWYodWRldik7Ci0tCi0tCWNvbmRsb2coMywgInJiZCVkIGNoZWNrZXIgaW5pdCAlcyAlcy8lc0AlcyAlcyIsIGN0LT5yYmRfYnVzX2lkLAotLQkJY3QtPmNsaWVudF9hZGRyLCBjdC0+cG9vbCwgY3QtPmltYWdlLCBjdC0+c25hcCA/IGN0LT5zbmFwIDogIi0iLAotLQkJY3QtPnVzZXJuYW1lID8gY3QtPnVzZXJuYW1lIDogIm5vbmUiKTsKLS0JcmV0dXJuIDA7Ci0tCi0tc2h1dGRvd25fcmFkb3M6Ci0tCXJhZG9zX3NodXRkb3duKGN0LT5jbHVzdGVyKTsKLS1mcmVlX3NuYXA6Ci0tCWlmIChjdC0+c25hcCkKLS0JCWZyZWUoY3QtPnNuYXApOwotLWZyZWVfcG9vbDoKLS0JZnJlZShjdC0+cG9vbCk7Ci0tZnJlZV9pbWFnZToKLS0JZnJlZShjdC0+aW1hZ2UpOwotLWZyZWVfdXNlcm5hbWU6Ci0tCWlmIChjdC0+dXNlcm5hbWUpCi0tCQlmcmVlKGN0LT51c2VybmFtZSk7Ci0tZnJlZV9pbmZvOgotLQlmcmVlKGN0LT5jb25maWdfaW5mbyk7Ci0tZnJlZV9hZGRyOgotLQlmcmVlKGN0LT5jbGllbnRfYWRkcik7Ci0tZnJlZV9kZXY6Ci0tCXVkZXZfZGV2aWNlX3VucmVmKGJ1c19kZXYpOwotLWZyZWVfdWRldjoKLS0JdWRldl91bnJlZih1ZGV2KTsKLS1mcmVlX2N0OgotLQlmcmVlKGN0KTsKLS0JcmV0dXJuIDE7Ci0tfQotLQotLXN0YXRpYyB2b2lkIGNsZWFudXBfY29udGV4dChzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCAqY3QpCi0tewotLQlwdGhyZWFkX211dGV4X2Rlc3Ryb3koJmN0LT5sb2NrKTsKLS0JcHRocmVhZF9jb25kX2Rlc3Ryb3koJmN0LT5hY3RpdmUpOwotLQlwdGhyZWFkX3NwaW5fZGVzdHJveSgmY3QtPmhsZHJfbG9jayk7Ci0tCi0tCXJhZG9zX3NodXRkb3duKGN0LT5jbHVzdGVyKTsKLS0KLS0JaWYgKGN0LT51c2VybmFtZSkKLS0JCWZyZWUoY3QtPnVzZXJuYW1lKTsKLS0JaWYgKGN0LT5zbmFwKQotLQkJZnJlZShjdC0+c25hcCk7Ci0tCWZyZWUoY3QtPnBvb2wpOwotLQlmcmVlKGN0LT5pbWFnZSk7Ci0tCWZyZWUoY3QtPmNvbmZpZ19pbmZvKTsKLS0JZnJlZShjdC0+Y2xpZW50X2FkZHIpOwotLQlmcmVlKGN0KTsKLS19Ci0tCi0tdm9pZCBsaWJjaGVja19mcmVlKHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCWlmIChjLT5jb250ZXh0KSB7Ci0tCQlzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCAqY3QgPSBjLT5jb250ZXh0OwotLQkJaW50IGhvbGRlcnM7Ci0tCQlwdGhyZWFkX3QgdGhyZWFkOwotLQotLQkJcHRocmVhZF9zcGluX2xvY2soJmN0LT5obGRyX2xvY2spOwotLQkJY3QtPmhvbGRlcnMtLTsKLS0JCWhvbGRlcnMgPSBjdC0+aG9sZGVyczsKLS0JCXRocmVhZCA9IGN0LT50aHJlYWQ7Ci0tCQlwdGhyZWFkX3NwaW5fdW5sb2NrKCZjdC0+aGxkcl9sb2NrKTsKLS0JCWlmIChob2xkZXJzKQotLQkJCXB0aHJlYWRfY2FuY2VsKHRocmVhZCk7Ci0tCQllbHNlCi0tCQkJY2xlYW51cF9jb250ZXh0KGN0KTsKLS0JCWMtPmNvbnRleHQgPSBOVUxMOwotLQl9Ci0tfQotLQotLXN0YXRpYyBpbnQgcmJkX2lzX2JsYWNrbGlzdGVkKHN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0ICpjdCwgY2hhciAqbXNnKQotLXsKLS0JY2hhciAqYWRkcl90b2ssICpzdGFydCwgKnNhdmU7Ci0tCWNvbnN0IGNoYXIgKmNtZFsyXTsKLS0JY2hhciAqYmxrbGlzdCwgKnN0YXQ7Ci0tCXNpemVfdCBibGtsaXN0X2xlbiwgc3RhdF9sZW47Ci0tCWludCByZXQ7Ci0tCWNoYXIgKmVuZDsKLS0KLS0JY21kWzBdID0gIntcInByZWZpeFwiOiBcIm9zZCBibGFja2xpc3QgbHNcIn0iOwotLQljbWRbMV0gPSBOVUxMOwotLQotLQlyZXQgPSByYWRvc19tb25fY29tbWFuZChjdC0+Y2x1c3RlciwgKGNvbnN0IGNoYXIgKiopY21kLCAxLCAiIiwgMCwKLS0JCQkJJmJsa2xpc3QsICZibGtsaXN0X2xlbiwgJnN0YXQsICZzdGF0X2xlbik7Ci0tCWlmIChyZXQgPCAwKSB7Ci0tCQlSQkRfTVNHKG1zZywgImNoZWNrZXIgZmFpbGVkOiBtb24gY29tbWFuZCBmYWlsZWQgJWQiLCByZXQpOwotLQkJcmV0dXJuIHJldDsKLS0JfQotLQotLQlpZiAoIWJsa2xpc3QgfHwgIWJsa2xpc3RfbGVuKQotLQkJZ290byBmcmVlX2J1ZnM7Ci0tCi0tCS8qCi0tCSAqIHBhcnNlIGxpc3Qgb2YgYWRkcnMgd2l0aCB0aGUgZm9ybWF0Ci0tCSAqIGlwdjQ6cG9ydC9ub25jZSBkYXRlIHRpbWVcbgotLQkgKiBvcgotLQkgKiBbaXB2Nl06cG9ydC9ub25jZSBkYXRlIHRpbWVcbgotLQkgKi8KLS0JcmV0ID0gMDsKLS0JZm9yIChzdGFydCA9IGJsa2xpc3Q7IDsgc3RhcnQgPSBOVUxMKSB7Ci0tCQlhZGRyX3RvayA9IHN0cnRva19yKHN0YXJ0LCAiXG4iLCAmc2F2ZSk7Ci0tCQlpZiAoIWFkZHJfdG9rIHx8ICFzdHJsZW4oYWRkcl90b2spKQotLQkJCWJyZWFrOwotLQotLQkJZW5kID0gc3RyY2hyKGFkZHJfdG9rLCAnICcpOwotLQkJaWYgKCFlbmQpIHsKLS0JCQlSQkRfTVNHKG1zZywgImNoZWNrZXIgZmFpbGVkOiBpbnZhbGlkIGJsYWNrbGlzdCAlcyIsCi0tCQkJCSBhZGRyX3Rvayk7Ci0tCQkJYnJlYWs7Ci0tCQl9Ci0tCQkqZW5kID0gJ1wwJzsKLS0KLS0JCWlmICghc3RyY21wKGFkZHJfdG9rLCBjdC0+Y2xpZW50X2FkZHIpKSB7Ci0tCQkJY3QtPmJsYWNrbGlzdGVkID0gMTsKLS0JCQlSQkRfTVNHKG1zZywgIiVzIGlzIGJsYWNrbGlzdGVkIiwgY3QtPmNsaWVudF9hZGRyKTsKLS0JCQlyZXQgPSAxOwotLQkJCWJyZWFrOwotLQkJfQotLQl9Ci0tCi0tZnJlZV9idWZzOgotLQlyYWRvc19idWZmZXJfZnJlZShibGtsaXN0KTsKLS0JcmFkb3NfYnVmZmVyX2ZyZWUoc3RhdCk7Ci0tCXJldHVybiByZXQ7Ci0tfQotLQotLXN0YXRpYyBpbnQgcmJkX2NoZWNrKHN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0ICpjdCwgY2hhciAqbXNnKQotLXsKLS0JaWYgKGN0LT5ibGFja2xpc3RlZCB8fCByYmRfaXNfYmxhY2tsaXN0ZWQoY3QsIG1zZykgPT0gMSkKLS0JCXJldHVybiBQQVRIX0RPV047Ci0tCi0tCVJCRF9NU0cobXNnLCAiY2hlY2tlciByZXBvcnRzIHBhdGggaXMgdXAiKTsKLS0JLyoKLS0JICogUGF0aCBtYXkgaGF2ZSBpc3N1ZXMsIGJ1dCB0aGUgY2VwaCBjbHVzdGVyIGlzIGF0IGxlYXN0Ci0tCSAqIGFjY2VwdGluZyBJTywgc28gd2UgY2FuIGF0dGVtcHQgdG8gZG8gSU8uCi0tCSAqCi0tCSAqIFRPRE86IGluIGZ1dHVyZSB2ZXJzaW9ucywgd2UgY2FuIHJ1biBvdGhlciB0ZXN0cyB0bwotLQkgKiB2ZXJpZnkgT1NEcyBhbmQgbmV0d29ya3MuCi0tCSAqLwotLQlyZXR1cm4gUEFUSF9VUDsKLS19Ci0tCi0tc3RhdGljIGludCBzeXNmc193cml0ZV9yYmRfYnVzKGNvbnN0IGNoYXIgKndoaWNoLCBjb25zdCBjaGFyICpidWYsCi0tCQkJICAgICAgIHNpemVfdCBidWZfbGVuKQotLXsKLS0JY2hhciBzeXNmc19wYXRoW1BBVEhfU0laRV07Ci0tCWludCBmZDsKLS0JaW50IHI7Ci0tCi0tCS8qIHdlIHJlcXVpcmUgbmV3ZXIga2VybmVscyBzbyBzaW5nbGVfbWFqb3Igc2hvdWxkIGFsd2F5cyBiZSB0aGVyZSAqLwotLQlzbnByaW50ZihzeXNmc19wYXRoLCBzaXplb2Yoc3lzZnNfcGF0aCksCi0tCQkgIi9zeXMvYnVzL3JiZC8lc19zaW5nbGVfbWFqb3IiLCB3aGljaCk7Ci0tCWZkID0gb3BlbihzeXNmc19wYXRoLCBPX1dST05MWSk7Ci0tCWlmIChmZCA8IDApCi0tCQlyZXR1cm4gLWVycm5vOwotLQotLQlyID0gc2FmZV93cml0ZShmZCwgYnVmLCBidWZfbGVuKTsKLS0JY2xvc2UoZmQpOwotLQlyZXR1cm4gcjsKLS19Ci0tCi0tc3RhdGljIGludCByYmRfcmVtYXAoc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQgKmN0KQotLXsKLS0JY2hhciAqYXJndlsxMV07Ci0tCXBpZF90IHBpZDsKLS0JaW50IHJldCA9IDAsIGkgPSAwOwotLQlpbnQgc3RhdHVzOwotLQotLQlwaWQgPSBmb3JrKCk7Ci0tCXN3aXRjaCAocGlkKSB7Ci0tCWNhc2UgMDoKLS0JCWFyZ3ZbaSsrXSA9ICJyYmQiOwotLQkJYXJndltpKytdID0gIm1hcCI7Ci0tCQlpZiAoY3QtPmxvY2tfb25fcmVhZCkKLS0JCQlhcmd2W2krK10gPSAiLW8gbm9zaGFyZSxsb2NrX29uX3JlYWQiOwotLQkJZWxzZQotLQkJCWFyZ3ZbaSsrXSA9ICItbyBub3NoYXJlIjsKLS0JCWlmIChjdC0+dXNlcm5hbWUpIHsKLS0JCQlhcmd2W2krK10gPSAiLS1pZCI7Ci0tCQkJYXJndltpKytdID0gY3QtPnVzZXJuYW1lOwotLQkJfQotLQkJYXJndltpKytdID0gIi0tcG9vbCI7Ci0tCQlhcmd2W2krK10gPSBjdC0+cG9vbDsKLS0JCWlmIChjdC0+c25hcCkgewotLQkJCWFyZ3ZbaSsrXSA9ICItLXNuYXAiOwotLQkJCWFyZ3ZbaSsrXSA9IGN0LT5zbmFwOwotLQkJfQotLQkJYXJndltpKytdID0gY3QtPmltYWdlOwotLQkJYXJndltpXSA9IE5VTEw7Ci0tCi0tCQlyZXQgPSBleGVjdnAoYXJndlswXSwgYXJndik7Ci0tCQljb25kbG9nKDAsICJyYmQlZDogRXJyb3IgZXhlY3V0aW5nIHJiZDogJXMiLCBjdC0+cmJkX2J1c19pZCwKLS0JCQlzdHJlcnJvcihlcnJubykpOwotLQkJZXhpdCgtMSk7Ci0tCWNhc2UgLTE6Ci0tCQljb25kbG9nKDAsICJyYmQlZDogZm9yayBmYWlsZWQ6ICVzIiwgY3QtPnJiZF9idXNfaWQsCi0tCQkJc3RyZXJyb3IoZXJybm8pKTsKLS0JCXJldHVybiAtMTsKLS0JZGVmYXVsdDoKLS0JCXJldCA9IC0xOwotLQkJd2FpdCgmc3RhdHVzKTsKLS0JCWlmIChXSUZFWElURUQoc3RhdHVzKSkgewotLQkJCXN0YXR1cyA9IFdFWElUU1RBVFVTKHN0YXR1cyk7Ci0tCQkJaWYgKHN0YXR1cyA9PSAwKQotLQkJCQlyZXQgPSAwOwotLQkJCWVsc2UKLS0JCQkJY29uZGxvZygwLCAicmJkJWQ6IGZhaWxlZCB3aXRoICVkIiwKLS0JCQkJCWN0LT5yYmRfYnVzX2lkLCBzdGF0dXMpOwotLQkJfQotLQl9Ci0tCi0tCXJldHVybiByZXQ7Ci0tfQotLQotLXN0YXRpYyBpbnQgc3lzZnNfd3JpdGVfcmJkX3JlbW92ZShjb25zdCBjaGFyICpidWYsIGludCBidWZfbGVuKQotLXsKLS0JcmV0dXJuIHN5c2ZzX3dyaXRlX3JiZF9idXMoInJlbW92ZSIsIGJ1ZiwgYnVmX2xlbik7Ci0tfQotLQotLXN0YXRpYyBpbnQgcmJkX3JtX2JsYWNrbGlzdChzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCAqY3QpCi0tewotLQljb25zdCBjaGFyICpjbWRbMl07Ci0tCWNoYXIgKnN0YXQsICpjbWRfc3RyOwotLQlzaXplX3Qgc3RhdF9sZW47Ci0tCWludCByZXQ7Ci0tCi0tCXJldCA9IGFzcHJpbnRmKCZjbWRfc3RyLCAie1wicHJlZml4XCI6IFwib3NkIGJsYWNrbGlzdFwiLCBcImJsYWNrbGlzdG9wXCI6IFwicm1cIiwgXCJhZGRyXCI6IFwiJXNcIn0iLAotLQkJICAgICAgIGN0LT5jbGllbnRfYWRkcik7Ci0tCWlmIChyZXQgPT0gLTEpCi0tCQlyZXR1cm4gLUVOT01FTTsKLS0KLS0JY21kWzBdID0gY21kX3N0cjsKLS0JY21kWzFdID0gTlVMTDsKLS0KLS0JcmV0ID0gcmFkb3NfbW9uX2NvbW1hbmQoY3QtPmNsdXN0ZXIsIChjb25zdCBjaGFyICoqKWNtZCwgMSwgIiIsIDAsCi0tCQkJCU5VTEwsIE5VTEwsICZzdGF0LCAmc3RhdF9sZW4pOwotLQlpZiAocmV0IDwgMCkgewotLQkJY29uZGxvZygxLCAicmJkJWQ6IHJlcGFpciBmYWlsZWQgdG8gcmVtb3ZlIGJsYWNrbGlzdCBmb3IgJXMgJWQiLAotLQkJCWN0LT5yYmRfYnVzX2lkLCBjdC0+Y2xpZW50X2FkZHIsIHJldCk7Ci0tCQlnb3RvIGZyZWVfY21kOwotLQl9Ci0tCi0tCWNvbmRsb2coMSwgInJiZCVkOiByZXBhaXIgcm0gYmxhY2tsaXN0IGZvciAlcyIsCi0tCSAgICAgICBjdC0+cmJkX2J1c19pZCwgY3QtPmNsaWVudF9hZGRyKTsKLS0JZnJlZShzdGF0KTsKLS1mcmVlX2NtZDoKLS0JZnJlZShjbWRfc3RyKTsKLS0JcmV0dXJuIHJldDsKLS19Ci0tCi0tc3RhdGljIGludCByYmRfcmVwYWlyKHN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0ICpjdCwgY2hhciAqbXNnKQotLXsKLS0JY2hhciBkZWxbMTddOwotLQlpbnQgcmV0OwotLQotLQlpZiAoIWN0LT5ibGFja2xpc3RlZCkKLS0JCXJldHVybiBQQVRIX1VQOwotLQotLQlpZiAoIWN0LT5yZW1hcHBlZCkgewotLQkJcmV0ID0gcmJkX3JlbWFwKGN0KTsKLS0JCWlmIChyZXQpIHsKLS0JCQlSQkRfTVNHKG1zZywgInJlcGFpciBmYWlsZWQgdG8gcmVtYXAuIEVyciAlZCIsIHJldCk7Ci0tCQkJcmV0dXJuIFBBVEhfRE9XTjsKLS0JCX0KLS0JfQotLQljdC0+cmVtYXBwZWQgPSAxOwotLQotLQlzbnByaW50ZihkZWwsIHNpemVvZihkZWwpLCAiJWQgZm9yY2UiLCBjdC0+cmJkX2J1c19pZCk7Ci0tCXJldCA9IHN5c2ZzX3dyaXRlX3JiZF9yZW1vdmUoZGVsLCBzdHJsZW4oZGVsKSArIDEpOwotLQlpZiAocmV0KSB7Ci0tCQlSQkRfTVNHKG1zZywgInJlcGFpciBmYWlsZWQgdG8gY2xlYW4gdXAuIEVyciAlZCIsIHJldCk7Ci0tCQlyZXR1cm4gUEFUSF9ET1dOOwotLQl9Ci0tCi0tCXJldCA9IHJiZF9ybV9ibGFja2xpc3QoY3QpOwotLQlpZiAocmV0KSB7Ci0tCQlSQkRfTVNHKG1zZywgInJlcGFpciBjb3VsZCBub3QgcmVtb3ZlIGJsYWNrbGlzdCBlbnRyeS4gRXJyICVkIiwKLS0JCQlyZXQpOwotLQkJcmV0dXJuIFBBVEhfRE9XTjsKLS0JfQotLQotLQljdC0+cmVtYXBwZWQgPSAwOwotLQljdC0+YmxhY2tsaXN0ZWQgPSAwOwotLQotLQlSQkRfTVNHKG1zZywgImhhcyBiZWVuIHJlcGFpcmVkIik7Ci0tCXJldHVybiBQQVRIX1VQOwotLX0KLS0KLS0jZGVmaW5lIHJiZF90aHJlYWRfY2xlYW51cF9wdXNoKGN0KSBwdGhyZWFkX2NsZWFudXBfcHVzaChjbGVhbnVwX2Z1bmMsIGN0KQotLSNkZWZpbmUgcmJkX3RocmVhZF9jbGVhbnVwX3BvcChjdCkgcHRocmVhZF9jbGVhbnVwX3BvcCgxKQotLQotLXN0YXRpYyB2b2lkIGNsZWFudXBfZnVuYyh2b2lkICpkYXRhKQotLXsKLS0JaW50IGhvbGRlcnM7Ci0tCXN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0ICpjdCA9IGRhdGE7Ci0tCXB0aHJlYWRfc3Bpbl9sb2NrKCZjdC0+aGxkcl9sb2NrKTsKLS0JY3QtPmhvbGRlcnMtLTsKLS0JaG9sZGVycyA9IGN0LT5ob2xkZXJzOwotLQljdC0+dGhyZWFkID0gMDsKLS0JcHRocmVhZF9zcGluX3VubG9jaygmY3QtPmhsZHJfbG9jayk7Ci0tCWlmICghaG9sZGVycykKLS0JCWNsZWFudXBfY29udGV4dChjdCk7Ci0tCXJjdV91bnJlZ2lzdGVyX3RocmVhZCgpOwotLX0KLS0KLS1zdGF0aWMgdm9pZCAqcmJkX3RocmVhZCh2b2lkICpjdHgpCi0tewotLQlzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCAqY3QgPSBjdHg7Ci0tCWludCBzdGF0ZTsKLS0KLS0JLyogVGhpcyB0aHJlYWQgY2FuIGJlIGNhbmNlbGVkLCBzbyBzZXR1cCBjbGVhbiB1cCAqLwotLQlyYmRfdGhyZWFkX2NsZWFudXBfcHVzaChjdCkKLS0JcmN1X3JlZ2lzdGVyX3RocmVhZCgpOwotLQljb25kbG9nKDMsICJyYmQlZDogdGhyZWFkIHN0YXJ0aW5nIHVwIiwgY3QtPnJiZF9idXNfaWQpOwotLQotLQljdC0+bWVzc2FnZVswXSA9ICdcMCc7Ci0tCi0tCS8qIGNoZWNrZXIgc3RhcnQgdXAgKi8KLS0JcHRocmVhZF9tdXRleF9sb2NrKCZjdC0+bG9jayk7Ci0tCWN0LT5zdGF0ZSA9IFBBVEhfUEVORElORzsKLS0JcHRocmVhZF9tdXRleF91bmxvY2soJmN0LT5sb2NrKTsKLS0KLS0Jc3RhdGUgPSBjdC0+Zm4oY3QsIGN0LT5tZXNzYWdlKTsKLS0KLS0JLyogY2hlY2tlciBkb25lICovCi0tCXB0aHJlYWRfbXV0ZXhfbG9jaygmY3QtPmxvY2spOwotLQljdC0+c3RhdGUgPSBzdGF0ZTsKLS0JcHRocmVhZF9jb25kX3NpZ25hbCgmY3QtPmFjdGl2ZSk7Ci0tCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZjdC0+bG9jayk7Ci0tCi0tCWNvbmRsb2coMywgInJiZCVkOiB0aGVhZCBmaW5pc2hlZCwgc3RhdGUgJXMiLCBjdC0+cmJkX2J1c19pZCwKLS0JCWNoZWNrZXJfc3RhdGVfbmFtZShzdGF0ZSkpOwotLQlyYmRfdGhyZWFkX2NsZWFudXBfcG9wKGN0KTsKLS0JcmV0dXJuICgodm9pZCAqKTApOwotLX0KLS0KLS1zdGF0aWMgdm9pZCByYmRfdGltZW91dChzdHJ1Y3QgdGltZXNwZWMgKnRzcCkKLS17Ci0tCWNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCB0c3ApOwotLQl0c3AtPnR2X25zZWMgKz0gMTAwMCAqIDEwMDA7IC8qIDEgbWlsbGlzZWNvbmQgKi8KLS0Jbm9ybWFsaXplX3RpbWVzcGVjKHRzcCk7Ci0tfQotLQotLXN0YXRpYyBpbnQgcmJkX2V4ZWNfZm4oc3RydWN0IGNoZWNrZXIgKmMsIHRocmVhZF9mbiAqZm4pCi0tewotLQlzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCAqY3QgPSBjLT5jb250ZXh0OwotLQlzdHJ1Y3QgdGltZXNwZWMgdHNwOwotLQlwdGhyZWFkX2F0dHJfdCBhdHRyOwotLQlpbnQgcmJkX3N0YXR1cywgcjsKLS0KLS0JaWYgKGMtPnN5bmMpCi0tCQlyZXR1cm4gZm4oY3QsIGMtPm1lc3NhZ2UpOwotLQkvKgotLQkgKiBBc3luYyBtb2RlCi0tCSAqLwotLQlyID0gcHRocmVhZF9tdXRleF9sb2NrKCZjdC0+bG9jayk7Ci0tCWlmIChyICE9IDApIHsKLS0JCWNvbmRsb2coMiwgInJiZCVkOiBtdXRleCBsb2NrIGZhaWxlZCB3aXRoICVkIiwgY3QtPnJiZF9idXNfaWQsCi0tCQkJcik7Ci0tCQlNU0coYywgInJiZCVkOiB0aHJlYWQgZmFpbGVkIHRvIGluaXRpYWxpemUiLCBjdC0+cmJkX2J1c19pZCk7Ci0tCQlyZXR1cm4gUEFUSF9XSUxEOwotLQl9Ci0tCi0tCWlmIChjdC0+cnVubmluZykgewotLQkJLyogQ2hlY2sgaWYgY2hlY2tlciBpcyBzdGlsbCBydW5uaW5nICovCi0tCQlpZiAoY3QtPnRocmVhZCkgewotLQkJCWNvbmRsb2coMywgInJiZCVkOiB0aHJlYWQgbm90IGZpbmlzaGVkIiwKLS0JCQkJY3QtPnJiZF9idXNfaWQpOwotLQkJCXJiZF9zdGF0dXMgPSBQQVRIX1BFTkRJTkc7Ci0tCQl9IGVsc2UgewotLQkJCS8qIGNoZWNrZXIgZG9uZSAqLwotLQkJCWN0LT5ydW5uaW5nID0gMDsKLS0JCQlyYmRfc3RhdHVzID0gY3QtPnN0YXRlOwotLQkJCXN0cm5jcHkoYy0+bWVzc2FnZSwgY3QtPm1lc3NhZ2UsIENIRUNLRVJfTVNHX0xFTik7Ci0tCQkJYy0+bWVzc2FnZVtDSEVDS0VSX01TR19MRU4gLSAxXSA9ICdcMCc7Ci0tCQl9Ci0tCQlwdGhyZWFkX211dGV4X3VubG9jaygmY3QtPmxvY2spOwotLQl9IGVsc2UgewotLQkJLyogU3RhcnQgbmV3IGNoZWNrZXIgKi8KLS0JCWN0LT5zdGF0ZSA9IFBBVEhfVU5DSEVDS0VEOwotLQkJY3QtPmZuID0gZm47Ci0tCQlwdGhyZWFkX3NwaW5fbG9jaygmY3QtPmhsZHJfbG9jayk7Ci0tCQljdC0+aG9sZGVycysrOwotLQkJcHRocmVhZF9zcGluX3VubG9jaygmY3QtPmhsZHJfbG9jayk7Ci0tCQlzZXR1cF90aHJlYWRfYXR0cigmYXR0ciwgMzIgKiAxMDI0LCAxKTsKLS0JCXIgPSBwdGhyZWFkX2NyZWF0ZSgmY3QtPnRocmVhZCwgJmF0dHIsIHJiZF90aHJlYWQsIGN0KTsKLS0JCWlmIChyKSB7Ci0tCQkJcHRocmVhZF9tdXRleF91bmxvY2soJmN0LT5sb2NrKTsKLS0JCQljdC0+dGhyZWFkID0gMDsKLS0JCQljdC0+aG9sZGVycy0tOwotLQkJCWNvbmRsb2coMywgInJiZCVkIGZhaWxlZCB0byBzdGFydCByYmQgdGhyZWFkLCB1c2luZyBzeW5jIG1vZGUiLAotLQkJCQljdC0+cmJkX2J1c19pZCk7Ci0tCQkJcmV0dXJuIGZuKGN0LCBjLT5tZXNzYWdlKTsKLS0JCX0KLS0JCXB0aHJlYWRfYXR0cl9kZXN0cm95KCZhdHRyKTsKLS0JCXJiZF90aW1lb3V0KCZ0c3ApOwotLQkJciA9IHB0aHJlYWRfY29uZF90aW1lZHdhaXQoJmN0LT5hY3RpdmUsICZjdC0+bG9jaywgJnRzcCk7Ci0tCQlyYmRfc3RhdHVzID0gY3QtPnN0YXRlOwotLQkJc3RybmNweShjLT5tZXNzYWdlLCBjdC0+bWVzc2FnZSxDSEVDS0VSX01TR19MRU4pOwotLQkJYy0+bWVzc2FnZVtDSEVDS0VSX01TR19MRU4gLTFdID0gJ1wwJzsKLS0JCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZjdC0+bG9jayk7Ci0tCi0tCQlpZiAoY3QtPnRocmVhZCAmJgotLQkJICAgIChyYmRfc3RhdHVzID09IFBBVEhfUEVORElORyB8fCByYmRfc3RhdHVzID09IFBBVEhfVU5DSEVDS0VEKSkgewotLQkJCWNvbmRsb2coMywgInJiZCVkOiB0aHJlYWQgc3RpbGwgcnVubmluZyIsCi0tCQkJCWN0LT5yYmRfYnVzX2lkKTsKLS0JCQljdC0+cnVubmluZyA9IDE7Ci0tCQkJcmJkX3N0YXR1cyA9IFBBVEhfUEVORElORzsKLS0JCX0KLS0JfQotLQotLQlyZXR1cm4gcmJkX3N0YXR1czsKLS19Ci0tCi0tdm9pZCBsaWJjaGVja19yZXBhaXIoc3RydWN0IGNoZWNrZXIgKiBjKQotLXsKLS0Jc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQgKmN0ID0gYy0+Y29udGV4dDsKLS0KLS0JaWYgKCFjdCB8fCAhY3QtPmJsYWNrbGlzdGVkKQotLQkJcmV0dXJuOwotLQlyYmRfZXhlY19mbihjLCByYmRfcmVwYWlyKTsKLS19Ci0tCi0taW50IGxpYmNoZWNrX2NoZWNrKHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCXN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0ICpjdCA9IGMtPmNvbnRleHQ7Ci0tCi0tCWlmICghY3QpCi0tCQlyZXR1cm4gUEFUSF9VTkNIRUNLRUQ7Ci0tCi0tCWlmIChjdC0+YmxhY2tsaXN0ZWQpCi0tCQlyZXR1cm4gUEFUSF9ET1dOOwotLQotLQlyZXR1cm4gcmJkX2V4ZWNfZm4oYywgcmJkX2NoZWNrKTsKLS19Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JkYWMuYyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy9yZGFjLmMKLWluZGV4IGE2NDNhNGEuLjUxMDRlNGUgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvcmRhYy5jCi0rKysgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvcmRhYy5jCi1AQCAtMTM5LDExICsxMzksNiBAQCB2b2lkIGxpYmNoZWNrX2ZyZWUgKHN0cnVjdCBjaGVja2VyICogYykKLSAJcmV0dXJuOwotIH0KLSAKLS12b2lkIGxpYmNoZWNrX3JlcGFpciAoc3RydWN0IGNoZWNrZXIgKiBjKQotLXsKLS0JcmV0dXJuOwotLX0KLS0KLSBzdGF0aWMgaW50Ci0gZG9faW5xKGludCBzZ19mZCwgdW5zaWduZWQgaW50IHBnX29wLCB2b2lkICpyZXNwLCBpbnQgbXhfcmVzcF9sZW4sCi0gICAgICAgIHVuc2lnbmVkIGludCB0aW1lb3V0KQotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy9yZWFkc2VjdG9yMC5jIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JlYWRzZWN0b3IwLmMKLWluZGV4IDhmY2NiNDYuLjFjMmE4NjggMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvcmVhZHNlY3RvcjAuYwotKysrIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JlYWRzZWN0b3IwLmMKLUBAIC0yMywxMSArMjMsNiBAQCB2b2lkIGxpYmNoZWNrX2ZyZWUgKHN0cnVjdCBjaGVja2VyICogYykKLSAJcmV0dXJuOwotIH0KLSAKLS12b2lkIGxpYmNoZWNrX3JlcGFpciAoc3RydWN0IGNoZWNrZXIgKiBjKQotLXsKLS0JcmV0dXJuOwotLX0KLS0KLSBpbnQgbGliY2hlY2tfY2hlY2sgKHN0cnVjdCBjaGVja2VyICogYykKLSB7Ci0gCXVuc2lnbmVkIGNoYXIgYnVmWzQwOTZdOwotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy90dXIuYyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy90dXIuYwotaW5kZXggZWIzMzQ4ZC4uYmY4NDg2ZCAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy90dXIuYwotKysrIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3R1ci5jCi1AQCAtMTEyLDExICsxMTIsNiBAQCB2b2lkIGxpYmNoZWNrX2ZyZWUgKHN0cnVjdCBjaGVja2VyICogYykKLSAJcmV0dXJuOwotIH0KLSAKLS12b2lkIGxpYmNoZWNrX3JlcGFpciAoc3RydWN0IGNoZWNrZXIgKiBjKQotLXsKLS0JcmV0dXJuOwotLX0KLS0KLSAjZGVmaW5lIFRVUl9NU0coZm10LCBhcmdzLi4uKQkJCQkJXAotIAlkbyB7CQkJCQkJCVwKLSAJCWNoYXIgbXNnW0NIRUNLRVJfTVNHX0xFTl07CQkJXAotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9kaXNjb3ZlcnkuYyBiL2xpYm11bHRpcGF0aC9kaXNjb3ZlcnkuYwotaW5kZXggMWVmMWRmYS4uMThhZDBlMiAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9kaXNjb3ZlcnkuYwotKysrIGIvbGlibXVsdGlwYXRoL2Rpc2NvdmVyeS5jCi1AQCAtMTI0NiwyMSArMTI0Niw2IEBAIG52bWVfc3lzZnNfcGF0aGluZm8gKHN0cnVjdCBwYXRoICogcHAsIHZlY3RvciBod3RhYmxlKQotIH0KLSAKLSBzdGF0aWMgaW50Ci0tcmJkX3N5c2ZzX3BhdGhpbmZvIChzdHJ1Y3QgcGF0aCAqIHBwLCB2ZWN0b3IgaHd0YWJsZSkKLS17Ci0tCXNwcmludGYocHAtPnZlbmRvcl9pZCwgIkNlcGgiKTsKLS0Jc3ByaW50ZihwcC0+cHJvZHVjdF9pZCwgIlJCRCIpOwotLQotLQljb25kbG9nKDMsICIlczogdmVuZG9yID0gJXMgcHJvZHVjdCA9ICVzIiwgcHAtPmRldiwgcHAtPnZlbmRvcl9pZCwKLS0JCXBwLT5wcm9kdWN0X2lkKTsKLS0JLyoKLS0JICogc2V0IHRoZSBod2UgY29uZmlnbGV0IHBvaW50ZXIKLS0JICovCi0tCXBwLT5od2UgPSBmaW5kX2h3ZShod3RhYmxlLCBwcC0+dmVuZG9yX2lkLCBwcC0+cHJvZHVjdF9pZCwgTlVMTCk7Ci0tCXJldHVybiAwOwotLX0KLS0KLS1zdGF0aWMgaW50Ci0gY2N3X3N5c2ZzX3BhdGhpbmZvIChzdHJ1Y3QgcGF0aCAqIHBwLCB2ZWN0b3IgaHd0YWJsZSkKLSB7Ci0gCXN0cnVjdCB1ZGV2X2RldmljZSAqcGFyZW50OwotQEAgLTE0ODYsOCArMTQ3MSw2IEBAIHN5c2ZzX3BhdGhpbmZvKHN0cnVjdCBwYXRoICogcHAsIHZlY3RvciBod3RhYmxlKQotIAkJcHAtPmJ1cyA9IFNZU0ZTX0JVU19DQ1c7Ci0gCWlmICghc3RybmNtcChwcC0+ZGV2LCJzZCIsIDIpKQotIAkJcHAtPmJ1cyA9IFNZU0ZTX0JVU19TQ1NJOwotLQlpZiAoIXN0cm5jbXAocHAtPmRldiwicmJkIiwgMykpCi0tCQlwcC0+YnVzID0gU1lTRlNfQlVTX1JCRDsKLSAJaWYgKCFzdHJuY21wKHBwLT5kZXYsIm52bWUiLCA0KSkKLSAJCXBwLT5idXMgPSBTWVNGU19CVVNfTlZNRTsKLSAKLUBAIC0xNTAyLDkgKzE0ODUsNiBAQCBzeXNmc19wYXRoaW5mbyhzdHJ1Y3QgcGF0aCAqIHBwLCB2ZWN0b3IgaHd0YWJsZSkKLSAJfSBlbHNlIGlmIChwcC0+YnVzID09IFNZU0ZTX0JVU19DQ0lTUykgewotIAkJaWYgKGNjaXNzX3N5c2ZzX3BhdGhpbmZvKHBwLCBod3RhYmxlKSkKLSAJCQlyZXR1cm4gMTsKLS0JfSBlbHNlIGlmIChwcC0+YnVzID09IFNZU0ZTX0JVU19SQkQpIHsKLS0JCWlmIChyYmRfc3lzZnNfcGF0aGluZm8ocHAsIGh3dGFibGUpKQotLQkJCXJldHVybiAxOwotIAl9IGVsc2UgaWYgKHBwLT5idXMgPT0gU1lTRlNfQlVTX05WTUUpIHsKLSAJCWlmIChudm1lX3N5c2ZzX3BhdGhpbmZvKHBwLCBod3RhYmxlKSkKLSAJCQlyZXR1cm4gMTsKLUBAIC0xNzUzLDUzICsxNzMzLDYgQEAgZ2V0X3VkZXZfdWlkKHN0cnVjdCBwYXRoICogcHAsIGNoYXIgKnVpZF9hdHRyaWJ1dGUsIHN0cnVjdCB1ZGV2X2RldmljZSAqdWRldikKLSB9Ci0gCi0gc3RhdGljIGludAotLWdldF9yYmRfdWlkKHN0cnVjdCBwYXRoICogcHApCi0tewotLQlzdHJ1Y3QgdWRldl9kZXZpY2UgKnJiZF9idXNfZGV2OwotLQlpbnQgcmV0LCByYmRfYnVzX2lkOwotLQljb25zdCBjaGFyICpwb29sLCAqaW1hZ2UsICpzbmFwOwotLQljaGFyIHN5c2ZzX3BhdGhbUEFUSF9TSVpFXTsKLS0JdWludDY0X3Qgc25hcF9pZCwgbWF4X3NuYXBfaWQgPSAtMzsKLS0KLS0JcmV0ID0gc3NjYW5mKHBwLT5kZXYsICJyYmQlZCIsICZyYmRfYnVzX2lkKTsKLS0JaWYgKHJldCAhPSAxKQotLQkJcmV0dXJuIC1FSU5WQUw7Ci0tCi0tCXNucHJpbnRmKHN5c2ZzX3BhdGgsIHNpemVvZihzeXNmc19wYXRoKSwgIi9zeXMvYnVzL3JiZC9kZXZpY2VzLyVkIiwKLS0JCSByYmRfYnVzX2lkKTsKLS0JcmJkX2J1c19kZXYgPSB1ZGV2X2RldmljZV9uZXdfZnJvbV9zeXNwYXRoKHVkZXYsIHN5c2ZzX3BhdGgpOwotLQlpZiAoIXJiZF9idXNfZGV2KQotLQkJcmV0dXJuIC1FTk9ERVY7Ci0tCi0tCXJldCA9IC1FSU5WQUw7Ci0tCXBvb2wgPSB1ZGV2X2RldmljZV9nZXRfc3lzYXR0cl92YWx1ZShyYmRfYnVzX2RldiwgInBvb2xfaWQiKTsKLS0JaWYgKCFwb29sKQotLQkJZ290byBmcmVlX2RldjsKLS0KLS0JaW1hZ2UgPSB1ZGV2X2RldmljZV9nZXRfc3lzYXR0cl92YWx1ZShyYmRfYnVzX2RldiwgImltYWdlX2lkIik7Ci0tCWlmICghaW1hZ2UpCi0tCQlnb3RvIGZyZWVfZGV2OwotLQotLQlzbmFwID0gdWRldl9kZXZpY2VfZ2V0X3N5c2F0dHJfdmFsdWUocmJkX2J1c19kZXYsICJzbmFwX2lkIik7Ci0tCWlmICghc25hcCkKLS0JCWdvdG8gZnJlZV9kZXY7Ci0tCXNuYXBfaWQgPSBzdHJ0b3VsbChzbmFwLCBOVUxMLCAxOSk7Ci0tCWlmIChzbmFwX2lkID49IG1heF9zbmFwX2lkKQotLQkJcmV0ID0gc25wcmludGYocHAtPnd3aWQsIFdXSURfU0laRSwgIiVzLSVzIiwgcG9vbCwgaW1hZ2UpOwotLQllbHNlCi0tCQlyZXQgPSBzbnByaW50ZihwcC0+d3dpZCwgV1dJRF9TSVpFLCAiJXMtJXMtJXMiLCBwb29sLAotLQkJCSAgICAgICBpbWFnZSwgc25hcCk7Ci0tCWlmIChyZXQgPj0gV1dJRF9TSVpFKSB7Ci0tCQljb25kbG9nKDAsICIlczogd3dpZCBvdmVyZmxvdyIsIHBwLT5kZXYpOwotLQkJcmV0ID0gLUVPVkVSRkxPVzsKLS0JfQotLQotLWZyZWVfZGV2OgotLQl1ZGV2X2RldmljZV91bnJlZihyYmRfYnVzX2Rldik7Ci0tCXJldHVybiByZXQ7Ci0tfQotLQotLXN0YXRpYyBpbnQKLSBnZXRfdnBkX3VpZChzdHJ1Y3QgcGF0aCAqIHBwKQotIHsKLSAJc3RydWN0IHVkZXZfZGV2aWNlICpwYXJlbnQgPSBwcC0+dWRldjsKLUBAIC0xODc2LDkgKzE4MDksNiBAQCBnZXRfdWlkIChzdHJ1Y3QgcGF0aCAqIHBwLCBpbnQgcGF0aF9zdGF0ZSwgc3RydWN0IHVkZXZfZGV2aWNlICp1ZGV2KQotIAkJfSBlbHNlCi0gCQkJbGVuID0gc3RybGVuKHBwLT53d2lkKTsKLSAJCW9yaWdpbiA9ICJjYWxsb3V0IjsKLS0JfSBlbHNlIGlmIChwcC0+YnVzID09IFNZU0ZTX0JVU19SQkQpIHsKLS0JCWxlbiA9IGdldF9yYmRfdWlkKHBwKTsKLS0JCW9yaWdpbiA9ICJzeXNmcyI7Ci0gCX0gZWxzZSB7Ci0gCi0gCQlpZiAodWRldiAmJiBwcC0+dWlkX2F0dHJpYnV0ZSkgewotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9od3RhYmxlLmMgYi9saWJtdWx0aXBhdGgvaHd0YWJsZS5jCi1pbmRleCAxNDhmMGJhLi5kNTI5YmFlIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2h3dGFibGUuYwotKysrIGIvbGlibXVsdGlwYXRoL2h3dGFibGUuYwotQEAgLTEwMDAsMTggKzEwMDAsNiBAQCBzdGF0aWMgc3RydWN0IGh3ZW50cnkgZGVmYXVsdF9od1tdID0gewotIAkJLnByaW9fbmFtZSAgICAgPSBQUklPX0FMVUEsCi0gCX0sCi0gCS8qCi0tCSAqIFJlZCBIYXQKLS0JICoKLS0JICogTWFpbnRhaW5lcjogTWlrZSBDaHJpc3RpZQotLQkgKiBNYWlsOiBtY2hyaXN0aUByZWRoYXQuY29tCi0tCSAqLwotLQl7Ci0tCQkudmVuZG9yICAgICAgICA9ICJDZXBoIiwKLS0JCS5wcm9kdWN0ICAgICAgID0gIlJCRCIsCi0tCQkuY2hlY2tlcl9uYW1lICA9IFJCRCwKLS0JCS5kZWZlcnJlZF9yZW1vdmUgPSBERUZFUlJFRF9SRU1PVkVfT04sCi0tCX0sCi0tCS8qCi0gCSAqIEtvdmUKLSAJICovCi0gCXsKLWRpZmYgLS1naXQgYS9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNSBiL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci1pbmRleCAwYzFmMTc0Li4zMWY0NTg1IDEwMDY0NAotLS0tIGEvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUKLSsrKyBiL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci1AQCAtNDgyLDkgKzQ4Miw2IEBAIENoZWNrIHRoZSBwYXRoIHN0YXRlIGZvciBIUC9DT01QQVEgU21hcnQgQXJyYXkoQ0NJU1MpIGNvbnRyb2xsZXJzLgotIC5JIG5vbmUKLSBEbyBub3QgY2hlY2sgdGhlIGRldmljZSwgZmFsbGJhY2sgdG8gdXNlIHRoZSB2YWx1ZXMgcmV0cmlldmVkIGZyb20gc3lzZnMKLSAuVFAKLS0uSSByYmQKLS1DaGVjayBpZiB0aGUgcGF0aCBpcyBpbiB0aGUgQ2VwaCBibGFja2xpc3QgYW5kIHJlbWFwIHRoZSBwYXRoIGlmIGl0IGlzLgotLS5UUAotIFRoZSBkZWZhdWx0IGlzOiBcZkJ0dXJcZlIKLSAuUkUKLSAuCi1kaWZmIC0tZ2l0IGEvbXVsdGlwYXRoZC9tYWluLmMgYi9tdWx0aXBhdGhkL21haW4uYwotaW5kZXggMGRiODhlZS4uZDQwYzQxNiAxMDA2NDQKLS0tLSBhL211bHRpcGF0aGQvbWFpbi5jCi0rKysgYi9tdWx0aXBhdGhkL21haW4uYwotQEAgLTE3ODMsMTUgKzE3ODMsNiBAQCBpbnQgdXBkYXRlX3BhdGhfZ3JvdXBzKHN0cnVjdCBtdWx0aXBhdGggKm1wcCwgc3RydWN0IHZlY3RvcnMgKnZlY3MsIGludCByZWZyZXNoKQotIAlyZXR1cm4gMDsKLSB9Ci0gCi0tdm9pZCByZXBhaXJfcGF0aChzdHJ1Y3QgcGF0aCAqIHBwKQotLXsKLS0JaWYgKHBwLT5zdGF0ZSAhPSBQQVRIX0RPV04pCi0tCQlyZXR1cm47Ci0tCi0tCWNoZWNrZXJfcmVwYWlyKCZwcC0+Y2hlY2tlcik7Ci0tCUxPR19NU0coMSwgY2hlY2tlcl9tZXNzYWdlKCZwcC0+Y2hlY2tlcikpOwotLX0KLS0KLSAvKgotICAqIFJldHVybnMgJzEnIGlmIHRoZSBwYXRoIGhhcyBiZWVuIGNoZWNrZWQsICctMScgaWYgaXQgd2FzIGJsYWNrbGlzdGVkCi0gICogYW5kICcwJyBvdGhlcndpc2UKLUBAIC0xOTcyLDcgKzE5NjMsNiBAQCBjaGVja19wYXRoIChzdHJ1Y3QgdmVjdG9ycyAqIHZlY3MsIHN0cnVjdCBwYXRoICogcHAsIGludCB0aWNrcykKLSAJCQlwcC0+bXBwLT5mYWlsYmFja190aWNrID0gMDsKLSAKLSAJCQlwcC0+bXBwLT5zdGF0X3BhdGhfZmFpbHVyZXMrKzsKLS0JCQlyZXBhaXJfcGF0aChwcCk7Ci0gCQkJcmV0dXJuIDE7Ci0gCQl9Ci0gCi1AQCAtMjA3MSw3ICsyMDYxLDYgQEAgY2hlY2tfcGF0aCAoc3RydWN0IHZlY3RvcnMgKiB2ZWNzLCBzdHJ1Y3QgcGF0aCAqIHBwLCBpbnQgdGlja3MpCi0gCX0KLSAKLSAJcHAtPnN0YXRlID0gbmV3c3RhdGU7Ci0tCXJlcGFpcl9wYXRoKHBwKTsKLSAKLSAJaWYgKHBwLT5tcHAtPndhaXRfZm9yX3VkZXYpCi0gCQlyZXR1cm4gMTsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTctbXBhdGhwZXJzaXN0LWZpeC1hcHRwbC1zdXBwb3J0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTctbXBhdGhwZXJzaXN0LWZpeC1hcHRwbC1zdXBwb3J0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOThkMzEwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE3LW1wYXRocGVyc2lzdC1maXgtYXB0cGwtc3VwcG9ydC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU0MyArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDQgSnVuIDIwMTggMjI6MDQ6NDQgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gbXBhdGhwZXJzaXN0OiBmaXggYXB0cGwgc3VwcG9ydAotCi1UaGUgIkFjdGl2ZSBQZXJzaXN0IFRocm91Z2ggUG93ZXIgTG9zcyIgZmxhZyBtdXN0IGJlIHNldCB3aGVuZXZlciBhIGtleQotaXMgcmVnaXN0ZXJlZC4gSG93ZXZlciwgdGhlcmUgaXMgbm8gd2F5IGZvciBtdWx0aXBhdGhkIHRvIGtub3cgaWYgdGhpcwotd2FzIHNldCBieSBtcGF0aHBlcnNpc3QuIFRoZSByZXN1bHQgaXMgdGhhdCBpZiBhIHBhdGggZ29lcyBkb3duIGFuZAotY29tZXMgYmFjayB1cCAob3IgaWYgaXQgd2Fzbid0IHVwIHdoZW4gbXBhdGhwZXJzaXN0IHdhcyBmaXJzdCBydW4pCi1tdWx0aXBhdGhkIHdpbGwgY2xlYXIgdGhlIGFwdHBsIGZsYWcgd2hlbiBpdCByZXJlZ2lzdGVycyB0aGUga2V5IG9uIGl0LgotCi1UbyBmaXggdGhpcywgbXVsdGlwYXRoLmNvbmYgbm93IGFjY2VwdHMgYW4gb3B0aW9uYWwgIjphcHRwbCIgYXBwZW5kZWQKLW9uIHRoZSByZXNlcnZhdGlvbl9rZXkgdmFsdWUuIElmIHRoaXMgaXMgYWRkZWQgdG8gdGhlIHJlc2VydmF0aW9uX2tleQotbXVsdGlwYXRoZCB3aWxsIHNldCB0aGUgYXB0cGwgZmxhZyB3aGVuIGl0IHJlcmVnaXN0ZXJzIHRoZSBrZXkuIElmCi1yZXNlcnZhdGlvbl9rZXkgaXMgc2V0IHRvICJmaWxlIiwgdGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgdHJhY2tlZAotaW4gdGhlIC9ldGMvbXVsdGlwYXRoL3Bya2V5cyBmaWxlLgotCi1UbyB0cmFjayB0aGlzIGZsYWcgaW4gdGhlIHBya2V5cyBmaWxlLCB3aXRob3V0IGNoYW5naW5nIHRoZSBmb3JtYXQKLUkndmUgbWFkZSAiMHg8a2V5PiIgc3RhbmQgZm9yIG5vbi1hcHRwbCBrZXlzLCBhbmQgIjBYPGtleT4iIHN0YW5kCi1mb3IgYXB0cGwga2V5cy4gU2luY2UgcHJldmlvdXNseSwgYWxsIGtleXMgdXNlZCBhIGxvd2VyLWNhc2UgeCwgdGhpcwotd2lsbCBkZWZhdWx0IHRvIHRoZSBjdXJyZW50IGJlaGF2aW9yIGZvciBleGlzdGluZyBrZXlzLiBPYnZpb3VzbHksIHRoZQotbmV4dCB0aW1lIG1wYXRocGVyc2lzdCBpcyBydW4sIHRoaXMgd2lsbCBiZSBjaGFuZ2VkIGlmIC0tcGFyYW0tYXB0cGwKLWlzIHVzZWQuICBTaW5jZSB0aGVyZSBhcmUgbm8gbW9yZSBmbGFncyB0aGF0IGFyZSBpbiBzZ19wZXJzaXN0IHRoYXQKLW11bHRpcGF0aGQgbmVlZHMgdG8gY2FyZSBhYm91dCBpbiBtcGF0aHBlcnNpc3QsIHRoZXJlIHNob3VsZG4ndCBuZWVkCi10byBiZSBhbnkgbW9yZSBmbGFncyBhZGRlZCB0byB0aGUgcHJrZXlzIGZpbGUuCi0KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIGxpYm1wYXRocGVyc2lzdC9tcGF0aF9wZXJzaXN0LmMgIHwgIDMgKystCi0gbGlibXBhdGhwZXJzaXN0L21wYXRoX3VwZGF0ZXByLmMgfCAxMSArKysrKysrLS0tLQotIGxpYm1wYXRocGVyc2lzdC9tcGF0aHByLmggICAgICAgIHwgIDMgKystCi0gbGlibXVsdGlwYXRoL01ha2VmaWxlICAgICAgICAgICAgfCAgMiArLQotIGxpYm11bHRpcGF0aC9jb25maWcuaCAgICAgICAgICAgIHwgIDIgKysKLSBsaWJtdWx0aXBhdGgvZGljdC5jICAgICAgICAgICAgICB8IDIzICsrKysrKysrKysrKysrKysrKystLS0tCi0gbGlibXVsdGlwYXRoL2RpY3QuaCAgICAgICAgICAgICAgfCAgMyArKy0KLSBsaWJtdWx0aXBhdGgvcHJrZXkuYyAgICAgICAgICAgICB8IDI3ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLQotIGxpYm11bHRpcGF0aC9wcmtleS5oICAgICAgICAgICAgIHwgIDYgKysrKy0tCi0gbGlibXVsdGlwYXRoL3Byb3BzZWwuYyAgICAgICAgICAgfCAgNiArKysrLS0KLSBsaWJtdWx0aXBhdGgvc3RydWN0cy5oICAgICAgICAgICB8ICAxICsKLSBsaWJtdWx0aXBhdGgvdXRpbC5jICAgICAgICAgICAgICB8IDE2ICsrKysrKysrKysrKysrKysKLSBsaWJtdWx0aXBhdGgvdXRpbC5oICAgICAgICAgICAgICB8ICAxICsKLSBtdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNSAgICAgICB8ICA3ICsrKysrLS0KLSBtdWx0aXBhdGhkL2NsaV9oYW5kbGVycy5jICAgICAgICB8IDE1ICsrKysrKysrKystLS0tLQotIG11bHRpcGF0aGQvbWFpbi5jICAgICAgICAgICAgICAgIHwgIDEgKwotIDE2IGZpbGVzIGNoYW5nZWQsIDEwMSBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYm1wYXRocGVyc2lzdC9tcGF0aF9wZXJzaXN0LmMgYi9saWJtcGF0aHBlcnNpc3QvbXBhdGhfcGVyc2lzdC5jCi1pbmRleCBjYTkxYzU1Li42ZTllNjdmIDEwMDY0NAotLS0tIGEvbGlibXBhdGhwZXJzaXN0L21wYXRoX3BlcnNpc3QuYwotKysrIGIvbGlibXBhdGhwZXJzaXN0L21wYXRoX3BlcnNpc3QuYwotQEAgLTM0NCw3ICszNDQsOCBAQCBpbnQgbXBhdGhfcGVyc2lzdGVudF9yZXNlcnZlX291dCAoIGludCBmZCwgaW50IHJxX3NlcnZhY3QsIGludCBycV9zY29wZSwKLSAJICAgICAgcnFfc2VydmFjdCA9PSBNUEFUSF9QUk9VVF9SRUdfU0EpIHx8Ci0gCSAgICAgcnFfc2VydmFjdCA9PSBNUEFUSF9QUk9VVF9SRUdfSUdOX1NBKSkgewotIAkJbWVtY3B5KCZtcHAtPnJlc2VydmF0aW9uX2tleSwgcGFyYW1wLT5zYV9rZXksIDgpOwotLQkJaWYgKHVwZGF0ZV9wcmtleShhbGlhcywgZ2V0X2JlNjQobXBwLT5yZXNlcnZhdGlvbl9rZXkpKSkgewotKwkJaWYgKHVwZGF0ZV9wcmtleV9mbGFncyhhbGlhcywgZ2V0X2JlNjQobXBwLT5yZXNlcnZhdGlvbl9rZXkpLAotKwkJCQkgICAgICAgcGFyYW1wLT5zYV9mbGFncykpIHsKLSAJCQljb25kbG9nKDAsICIlczogZmFpbGVkIHRvIHNldCBwcmtleSBmb3IgbXVsdGlwYXRoZC4iLAotIAkJCQlhbGlhcyk7Ci0gCQkJcmV0ID0gTVBBVEhfUFJfRE1NUF9FUlJPUjsKLWRpZmYgLS1naXQgYS9saWJtcGF0aHBlcnNpc3QvbXBhdGhfdXBkYXRlcHIuYyBiL2xpYm1wYXRocGVyc2lzdC9tcGF0aF91cGRhdGVwci5jCi1pbmRleCA4MDYzZTkwLi4wYWNhMjhlIDEwMDY0NAotLS0tIGEvbGlibXBhdGhwZXJzaXN0L21wYXRoX3VwZGF0ZXByLmMKLSsrKyBiL2xpYm1wYXRocGVyc2lzdC9tcGF0aF91cGRhdGVwci5jCi1AQCAtMSw3ICsxLDUgQEAKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0tI2luY2x1ZGUgPGVycm5vLmg+Ci0tCi0gI2luY2x1ZGUgPHN0ZGxpYi5oPgotICNpbmNsdWRlIDxzdGRhcmcuaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLUBAIC0xMSw2ICs5LDggQEAKLSAjaW5jbHVkZSA8c3lzL3VuLmg+Ci0gI2luY2x1ZGUgPHBvbGwuaD4KLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSsjaW5jbHVkZSA8bGlidWRldi5oPgotKyNpbmNsdWRlIDxtcGF0aF9wZXJzaXN0Lmg+Ci0gI2luY2x1ZGUgImRlYnVnLmgiCi0gI2luY2x1ZGUgIm1wYXRoX2NtZC5oIgotICNpbmNsdWRlICJ1eHNvY2suaCIKLUBAIC01OSwxMSArNTksMTQgQEAgaW50IHVwZGF0ZV9wcmZsYWcoY2hhciAqbWFwbmFtZSwgaW50IHNldCkgewotIAlyZXR1cm4gZG9fdXBkYXRlX3ByKG1hcG5hbWUsIChzZXQpPyAic2V0cHJzdGF0dXMiIDogInVuc2V0cHJzdGF0dXMiKTsKLSB9Ci0gCi0taW50IHVwZGF0ZV9wcmtleShjaGFyICptYXBuYW1lLCB1aW50NjRfdCBwcmtleSkgewotK2ludCB1cGRhdGVfcHJrZXlfZmxhZ3MoY2hhciAqbWFwbmFtZSwgdWludDY0X3QgcHJrZXksIHVpbnQ4X3Qgc2FfZmxhZ3MpIHsKLSAJY2hhciBzdHJbMjU2XTsKLSsJY2hhciAqZmxhZ3N0ciA9ICIiOwotIAotKwlpZiAoc2FfZmxhZ3MgJiBNUEFUSF9GX0FQVFBMX01BU0spCi0rCQlmbGFnc3RyID0gIjphcHRwbCI7Ci0gCWlmIChwcmtleSkKLS0JCXNwcmludGYoc3RyLCAic2V0cHJrZXkga2V5ICUiIFBSSXg2NCwgcHJrZXkpOwotKwkJc3ByaW50ZihzdHIsICJzZXRwcmtleSBrZXkgJSIgUFJJeDY0ICIlcyIsIHBya2V5LCBmbGFnc3RyKTsKLSAJZWxzZQotIAkJc3ByaW50ZihzdHIsICJ1bnNldHBya2V5Iik7Ci0gCXJldHVybiBkb191cGRhdGVfcHIobWFwbmFtZSwgc3RyKTsKLWRpZmYgLS1naXQgYS9saWJtcGF0aHBlcnNpc3QvbXBhdGhwci5oIGIvbGlibXBhdGhwZXJzaXN0L21wYXRocHIuaAotaW5kZXggNzJmZWI2MC4uNWVhOGNkNiAxMDA2NDQKLS0tLSBhL2xpYm1wYXRocGVyc2lzdC9tcGF0aHByLmgKLSsrKyBiL2xpYm1wYXRocGVyc2lzdC9tcGF0aHByLmgKLUBAIC00Niw3ICs0Niw4IEBAIGludCBzZW5kX3Byb3V0X2FjdGl2ZXBhdGgoY2hhciAqIGRldiwgaW50IHJxX3NlcnZhY3QsIGludCBycV9zY29wZSwKLSAJdW5zaWduZWQgaW50IHJxX3R5cGUsICAgc3RydWN0IHByb3V0X3BhcmFtX2Rlc2NyaXB0b3IgKiBwYXJhbXAsIGludCBub2lzeSk7Ci0gCi0gaW50IHVwZGF0ZV9wcmZsYWcoY2hhciAqbWFwbmFtZSwgaW50IHNldCk7Ci0taW50IHVwZGF0ZV9wcmtleShjaGFyICptYXBuYW1lLCB1aW50NjRfdCBwcmtleSk7Ci0raW50IHVwZGF0ZV9wcmtleV9mbGFncyhjaGFyICptYXBuYW1lLCB1aW50NjRfdCBwcmtleSwgdWludDhfdCBzYV9mbGFncyk7Ci0rI2RlZmluZSB1cGRhdGVfcHJrZXkobWFwbmFtZSwgcHJrZXkpIHVwZGF0ZV9wcmtleV9mbGFncyhtYXBuYW1lLCBwcmtleSwgMCkKLSB2b2lkICogbXBhdGhfYWxsb2NfcHJpbl9yZXNwb25zZShpbnQgcHJpbl9zYSk7Ci0gaW50IHVwZGF0ZV9tYXBfcHIoc3RydWN0IG11bHRpcGF0aCAqbXBwKTsKLSAKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvTWFrZWZpbGUgYi9saWJtdWx0aXBhdGgvTWFrZWZpbGUKLWluZGV4IGY1MTc4NmQuLjMzZjUyNjkgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvTWFrZWZpbGUKLSsrKyBiL2xpYm11bHRpcGF0aC9NYWtlZmlsZQotQEAgLTcsNyArNyw3IEBAIFNPTkFNRSA9IDAKLSBERVZMSUIgPSBsaWJtdWx0aXBhdGguc28KLSBMSUJTID0gJChERVZMSUIpLiQoU09OQU1FKQotIAotLUNGTEFHUyArPSAkKExJQl9DRkxBR1MpIC1JJChtcGF0aGNtZGRpcikKLStDRkxBR1MgKz0gJChMSUJfQ0ZMQUdTKSAtSSQobXBhdGhjbWRkaXIpIC1JJChtcGF0aHBlcnNpc3RkaXIpCi0gCi0gTElCREVQUyArPSAtbHB0aHJlYWQgLWxkbCAtbGRldm1hcHBlciAtbHVkZXYgLUwkKG1wYXRoY21kZGlyKSAtbG1wYXRoY21kIC1sdXJjdSAtbGFpbwotIAotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9jb25maWcuaCBiL2xpYm11bHRpcGF0aC9jb25maWcuaAotaW5kZXggMWJmNzA4YS4uZmNiZTNmYyAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9jb25maWcuaAotKysrIGIvbGlibXVsdGlwYXRoL2NvbmZpZy5oCi1AQCAtOTgsNiArOTgsNyBAQCBzdHJ1Y3QgbXBlbnRyeSB7Ci0gCWNoYXIgKiBwcmlvX2FyZ3M7Ci0gCWludCBwcmtleV9zb3VyY2U7Ci0gCXN0cnVjdCBiZTY0IHJlc2VydmF0aW9uX2tleTsKLSsJdWludDhfdCBzYV9mbGFnczsKLSAJaW50IHBncG9saWN5OwotIAlpbnQgcGdmYWlsYmFjazsKLSAJaW50IHJyX3dlaWdodDsKLUBAIC0xOTcsNiArMTk4LDcgQEAgc3RydWN0IGNvbmZpZyB7Ci0gCWludCBwcmtleV9zb3VyY2U7Ci0gCWludCBhbGxfdGdfcHQ7Ci0gCXN0cnVjdCBiZTY0IHJlc2VydmF0aW9uX2tleTsKLSsJdWludDhfdCBzYV9mbGFnczsKLSAKLSAJdmVjdG9yIGtleXdvcmRzOwotIAl2ZWN0b3IgbXB0YWJsZTsKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZGljdC5jIGIvbGlibXVsdGlwYXRoL2RpY3QuYwotaW5kZXggMjU1N2I4YS4uN2FkMGY1YSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9kaWN0LmMKLSsrKyBiL2xpYm11bHRpcGF0aC9kaWN0LmMKLUBAIC0yMiw2ICsyMiw4IEBACi0gI2luY2x1ZGUgInV0aWwuaCIKLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8aW50dHlwZXMuaD4KLSsjaW5jbHVkZSA8bGlidWRldi5oPgotKyNpbmNsdWRlIDxtcGF0aF9wZXJzaXN0Lmg+Ci0gI2luY2x1ZGUgIm1wYXRoX2NtZC5oIgotICNpbmNsdWRlICJkaWN0LmgiCi0gCi1AQCAtMTAxMiwxMCArMTAxNCwxMiBAQCBzbnByaW50X2RlZl9sb2dfY2hlY2tlcl9lcnIgKHN0cnVjdCBjb25maWcgKmNvbmYsIGNoYXIgKiBidWZmLCBpbnQgbGVuLAotIH0KLSAKLSBzdGF0aWMgaW50Ci0tc2V0X3Jlc2VydmF0aW9uX2tleSh2ZWN0b3Igc3RydmVjLCBzdHJ1Y3QgYmU2NCAqYmU2NF9wdHIsIGludCAqc291cmNlX3B0cikKLStzZXRfcmVzZXJ2YXRpb25fa2V5KHZlY3RvciBzdHJ2ZWMsIHN0cnVjdCBiZTY0ICpiZTY0X3B0ciwgdWludDhfdCAqZmxhZ3NfcHRyLAotKwkJICAgIGludCAqc291cmNlX3B0cikKLSB7Ci0gCWNoYXIgKmJ1ZmY7Ci0gCXVpbnQ2NF90IHBya2V5OwotKwl1aW50OF90IHNhX2ZsYWdzOwotIAotIAlidWZmID0gc2V0X3ZhbHVlKHN0cnZlYyk7Ci0gCWlmICghYnVmZikKLUBAIC0xMDIzLDM1ICsxMDI3LDQzIEBAIHNldF9yZXNlcnZhdGlvbl9rZXkodmVjdG9yIHN0cnZlYywgc3RydWN0IGJlNjQgKmJlNjRfcHRyLCBpbnQgKnNvdXJjZV9wdHIpCi0gCi0gCWlmIChzdHJjbXAoYnVmZiwgImZpbGUiKSA9PSAwKSB7Ci0gCQkqc291cmNlX3B0ciA9IFBSS0VZX1NPVVJDRV9GSUxFOwotKwkJKmZsYWdzX3B0ciA9IDA7Ci0gCQlwdXRfYmU2NCgqYmU2NF9wdHIsIDApOwotIAkJRlJFRShidWZmKTsKLSAJCXJldHVybiAwOwotIAl9Ci0gCi0tCWlmIChwYXJzZV9wcmtleShidWZmLCAmcHJrZXkpICE9IDApIHsKLSsJaWYgKHBhcnNlX3Bya2V5X2ZsYWdzKGJ1ZmYsICZwcmtleSwgJnNhX2ZsYWdzKSAhPSAwKSB7Ci0gCQlGUkVFKGJ1ZmYpOwotIAkJcmV0dXJuIDE7Ci0gCX0KLSAJKnNvdXJjZV9wdHIgPSBQUktFWV9TT1VSQ0VfQ09ORjsKLSsJKmZsYWdzX3B0ciA9IHNhX2ZsYWdzOwotIAlwdXRfYmU2NCgqYmU2NF9wdHIsIHBya2V5KTsKLSAJRlJFRShidWZmKTsKLSAJcmV0dXJuIDA7Ci0gfQotIAotIGludAotLXByaW50X3Jlc2VydmF0aW9uX2tleShjaGFyICogYnVmZiwgaW50IGxlbiwgc3RydWN0IGJlNjQga2V5LCBpbnQgc291cmNlKQotK3ByaW50X3Jlc2VydmF0aW9uX2tleShjaGFyICogYnVmZiwgaW50IGxlbiwgc3RydWN0IGJlNjQga2V5LCB1aW50OF90IGZsYWdzLAotKwkJICAgICAgaW50IHNvdXJjZSkKLSB7Ci0rCWNoYXIgKmZsYWdzdHIgPSAiIjsKLSAJaWYgKHNvdXJjZSA9PSBQUktFWV9TT1VSQ0VfTk9ORSkKLSAJCXJldHVybiAwOwotIAlpZiAoc291cmNlID09IFBSS0VZX1NPVVJDRV9GSUxFKQotIAkJcmV0dXJuIHNucHJpbnRmKGJ1ZmYsIGxlbiwgImZpbGUiKTsKLS0JcmV0dXJuIHNucHJpbnRmKGJ1ZmYsIGxlbiwgIjB4JSIgUFJJeDY0LCBnZXRfYmU2NChrZXkpKTsKLSsJaWYgKGZsYWdzICYgTVBBVEhfRl9BUFRQTF9NQVNLKQotKwkJZmxhZ3N0ciA9ICI6YXB0cGwiOwotKwlyZXR1cm4gc25wcmludGYoYnVmZiwgbGVuLCAiMHglIiBQUkl4NjQgIiVzIiwgZ2V0X2JlNjQoa2V5KSwKLSsJCQlmbGFnc3RyKTsKLSB9Ci0gCi0gc3RhdGljIGludAotIGRlZl9yZXNlcnZhdGlvbl9rZXlfaGFuZGxlcihzdHJ1Y3QgY29uZmlnICpjb25mLCB2ZWN0b3Igc3RydmVjKQotIHsKLSAJcmV0dXJuIHNldF9yZXNlcnZhdGlvbl9rZXkoc3RydmVjLCAmY29uZi0+cmVzZXJ2YXRpb25fa2V5LAotKwkJCQkgICAmY29uZi0+c2FfZmxhZ3MsCi0gCQkJCSAgICZjb25mLT5wcmtleV9zb3VyY2UpOwotIH0KLSAKLUBAIC0xMDYwLDYgKzEwNzIsNyBAQCBzbnByaW50X2RlZl9yZXNlcnZhdGlvbl9rZXkgKHN0cnVjdCBjb25maWcgKmNvbmYsIGNoYXIgKiBidWZmLCBpbnQgbGVuLAotIAkJCSAgICAgY29uc3Qgdm9pZCAqIGRhdGEpCi0gewotIAlyZXR1cm4gcHJpbnRfcmVzZXJ2YXRpb25fa2V5KGJ1ZmYsIGxlbiwgY29uZi0+cmVzZXJ2YXRpb25fa2V5LAotKwkJCQkgICAgIGNvbmYtPnNhX2ZsYWdzLAotIAkJCQkgICAgIGNvbmYtPnBya2V5X3NvdXJjZSk7Ci0gfQotIAotQEAgLTEwNzAsNiArMTA4Myw3IEBAIG1wX3Jlc2VydmF0aW9uX2tleV9oYW5kbGVyKHN0cnVjdCBjb25maWcgKmNvbmYsIHZlY3RvciBzdHJ2ZWMpCi0gCWlmICghbXBlKQotIAkJcmV0dXJuIDE7Ci0gCXJldHVybiBzZXRfcmVzZXJ2YXRpb25fa2V5KHN0cnZlYywgJm1wZS0+cmVzZXJ2YXRpb25fa2V5LAotKwkJCQkgICAmbXBlLT5zYV9mbGFncywKLSAJCQkJICAgJm1wZS0+cHJrZXlfc291cmNlKTsKLSB9Ci0gCi1AQCAtMTA3OSw2ICsxMDkzLDcgQEAgc25wcmludF9tcF9yZXNlcnZhdGlvbl9rZXkgKHN0cnVjdCBjb25maWcgKmNvbmYsIGNoYXIgKiBidWZmLCBpbnQgbGVuLAotIHsKLSAJY29uc3Qgc3RydWN0IG1wZW50cnkgKiBtcGUgPSAoY29uc3Qgc3RydWN0IG1wZW50cnkgKilkYXRhOwotIAlyZXR1cm4gcHJpbnRfcmVzZXJ2YXRpb25fa2V5KGJ1ZmYsIGxlbiwgbXBlLT5yZXNlcnZhdGlvbl9rZXksCi0rCQkJCSAgICAgbXBlLT5zYV9mbGFncywKLSAJCQkJICAgICBtcGUtPnBya2V5X3NvdXJjZSk7Ci0gfQotIAotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9kaWN0LmggYi9saWJtdWx0aXBhdGgvZGljdC5oCi1pbmRleCA3NTY0ODkyLi5hNDBhYzY2IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2RpY3QuaAotKysrIGIvbGlibXVsdGlwYXRoL2RpY3QuaAotQEAgLTE1LDYgKzE1LDcgQEAgaW50IHByaW50X3BncG9saWN5KGNoYXIgKmJ1ZmYsIGludCBsZW4sIGxvbmcgdik7Ci0gaW50IHByaW50X25vX3BhdGhfcmV0cnkoY2hhciAqYnVmZiwgaW50IGxlbiwgbG9uZyB2KTsKLSBpbnQgcHJpbnRfZmFzdF9pb19mYWlsKGNoYXIgKmJ1ZmYsIGludCBsZW4sIGxvbmcgdik7Ci0gaW50IHByaW50X2Rldl9sb3NzKGNoYXIgKmJ1ZmYsIGludCBsZW4sIHVuc2lnbmVkIGxvbmcgdik7Ci0taW50IHByaW50X3Jlc2VydmF0aW9uX2tleShjaGFyICogYnVmZiwgaW50IGxlbiwgc3RydWN0IGJlNjQga2V5LCBpbnQgc291cmNlKTsKLStpbnQgcHJpbnRfcmVzZXJ2YXRpb25fa2V5KGNoYXIgKiBidWZmLCBpbnQgbGVuLCBzdHJ1Y3QgYmU2NCBrZXksIHVpbnQ4X3QKLSsJCQkgIGZsYWdzLCBpbnQgc291cmNlKTsKLSBpbnQgcHJpbnRfb2ZmX2ludF91bmRlZihjaGFyICpidWZmLCBpbnQgbGVuLCBsb25nIHYpOwotICNlbmRpZiAvKiBfRElDVF9IICovCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3Bya2V5LmMgYi9saWJtdWx0aXBhdGgvcHJrZXkuYwotaW5kZXggODliOTBlZC4uZDY0NWY4MSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9wcmtleS5jCi0rKysgYi9saWJtdWx0aXBhdGgvcHJrZXkuYwotQEAgLTExLDYgKzExLDggQEAKLSAjaW5jbHVkZSA8c3RyaW5nLmg+Ci0gI2luY2x1ZGUgPGludHR5cGVzLmg+Ci0gI2luY2x1ZGUgPGVycm5vLmg+Ci0rI2luY2x1ZGUgPGxpYnVkZXYuaD4KLSsjaW5jbHVkZSA8bXBhdGhfcGVyc2lzdC5oPgotIAotICNkZWZpbmUgUFJLRVlfUkVBRCAwCi0gI2RlZmluZSBQUktFWV9XUklURSAxCi1AQCAtMTA4LDcgKzExMCw4IEBAIHN0YXRpYyBpbnQgZG9fcHJrZXkoaW50IGZkLCBjaGFyICp3d2lkLCBjaGFyICprZXlzdHIsIGludCBjbWQpCi0gCXJldHVybiAwOwotIH0KLSAKLS1pbnQgZ2V0X3Bya2V5KHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKm1wcCwgdWludDY0X3QgKnBya2V5KQotK2ludCBnZXRfcHJrZXkoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqbXBwLCB1aW50NjRfdCAqcHJrZXksCi0rCSAgICAgIHVpbnQ4X3QgKnNhX2ZsYWdzKQotIHsKLSAJaW50IGZkOwotIAlpbnQgdW51c2VkOwotQEAgLTEyNCw2ICsxMjcsOSBAQCBpbnQgZ2V0X3Bya2V5KHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKm1wcCwgdWludDY0X3QgKnBya2V5KQotIAlyZXQgPSBkb19wcmtleShmZCwgbXBwLT53d2lkLCBrZXlzdHIsIFBSS0VZX1JFQUQpOwotIAlpZiAocmV0KQotIAkJZ290byBvdXRfZmlsZTsKLSsJKnNhX2ZsYWdzID0gMDsKLSsJaWYgKHN0cmNocihrZXlzdHIsICdYJykpCi0rCQkqc2FfZmxhZ3MgPSBNUEFUSF9GX0FQVFBMX01BU0s7Ci0gCXJldCA9ICEhcGFyc2VfcHJrZXkoa2V5c3RyLCBwcmtleSk7Ci0gb3V0X2ZpbGU6Ci0gCWNsb3NlKGZkKTsKLUBAIC0xMzEsNyArMTM3LDggQEAgb3V0OgotIAlyZXR1cm4gcmV0OwotIH0KLSAKLS1pbnQgc2V0X3Bya2V5KHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKm1wcCwgdWludDY0X3QgcHJrZXkpCi0raW50IHNldF9wcmtleShzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgbXVsdGlwYXRoICptcHAsIHVpbnQ2NF90IHBya2V5LAotKwkgICAgICB1aW50OF90IHNhX2ZsYWdzKQotIHsKLSAJaW50IGZkOwotIAlpbnQgY2FuX3dyaXRlID0gMTsKLUBAIC0xNDEsNiArMTQ4LDEyIEBAIGludCBzZXRfcHJrZXkoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqbXBwLCB1aW50NjRfdCBwcmtleSkKLSAJaWYgKCFzdHJsZW4obXBwLT53d2lkKSkKLSAJCWdvdG8gb3V0OwotIAotKwlpZiAoc2FfZmxhZ3MgJiB+TVBBVEhfRl9BUFRQTF9NQVNLKSB7Ci0rCQljb25kbG9nKDAsICJ1bnN1cHBvcnRlZCBwciBmbGFncywgMHgleCIsCi0rCQkJc2FfZmxhZ3MgJiB+TVBBVEhfRl9BUFRQTF9NQVNLKTsKLSsJCXNhX2ZsYWdzICY9IE1QQVRIX0ZfQVBUUExfTUFTSzsKLSsJfQotKwotIAlmZCA9IG9wZW5fZmlsZShjb25mLT5wcmtleXNfZmlsZSwgJmNhbl93cml0ZSwgUFJLRVlTX0ZJTEVfSEVBREVSKTsKLSAJaWYgKGZkIDwgMCkKLSAJCWdvdG8gb3V0OwotQEAgLTE0OSw3ICsxNjIsMTUgQEAgaW50IHNldF9wcmtleShzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgbXVsdGlwYXRoICptcHAsIHVpbnQ2NF90IHBya2V5KQotIAkJZ290byBvdXRfZmlsZTsKLSAJfQotIAlpZiAocHJrZXkpIHsKLS0JCXNucHJpbnRmKGtleXN0ciwgUFJLRVlfU0laRSwgIjB4JTAxNiIgUFJJeDY0LCBwcmtleSk7Ci0rCQkvKiB1c2luZyB0aGUgY2FwaXRhbGl6YXRpb24gb2YgdGhlICd4JyBpcyBhIGhhY2ssIGJ1dAotKwkJICogaXQncyB1bmxpa2VseSB0aGF0IG1wYXRoX3BlcnNpc3Qgd2lsbCBzdXBwb3J0IG1vcmUgb3B0aW9ucwotKwkJICogc2luY2Ugc2dfcGVyc2lzdCBkb2Vzbid0LCBhbmQgdGhpcyBsZXRzIHVzIGtlZXAgdGhlCi0rCQkgKiBzYW1lIGZpbGUgZm9ybWF0IGFzIGJlZm9yZSBpbnN0ZWFkIG9mIG5lZWRpbmcgdG8gY2hhbmdlCi0rCQkgKiB0aGUgZm9ybWF0IG9mIHRoZSBwcmtleXMgZmlsZSAqLwotKwkJaWYgKHNhX2ZsYWdzKQotKwkJCXNucHJpbnRmKGtleXN0ciwgUFJLRVlfU0laRSwgIjBYJTAxNiIgUFJJeDY0LCBwcmtleSk7Ci0rCQllbHNlCi0rCQkJc25wcmludGYoa2V5c3RyLCBQUktFWV9TSVpFLCAiMHglMDE2IiBQUkl4NjQsIHBya2V5KTsKLSAJCWtleXN0cltQUktFWV9TSVpFIC0gMV0gPSAnXDAnOwotIAkJcmV0ID0gZG9fcHJrZXkoZmQsIG1wcC0+d3dpZCwga2V5c3RyLCBQUktFWV9XUklURSk7Ci0gCX0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvcHJrZXkuaCBiL2xpYm11bHRpcGF0aC9wcmtleS5oCi1pbmRleCA0MDI4ZTcwLi42NzM5MTkxIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL3Bya2V5LmgKLSsrKyBiL2xpYm11bHRpcGF0aC9wcmtleS5oCi1AQCAtMTMsNyArMTMsOSBAQAotICIjIHBya2V5IHd3aWRcbiIgXAotICIjXG4iCi0gCi0taW50IHNldF9wcmtleShzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgbXVsdGlwYXRoICptcHAsIHVpbnQ2NF90IHBya2V5KTsKLS1pbnQgZ2V0X3Bya2V5KHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKm1wcCwgdWludDY0X3QgKnBya2V5KTsKLStpbnQgc2V0X3Bya2V5KHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKm1wcCwgdWludDY0X3QgcHJrZXksCi0rCSAgICAgIHVpbnQ4X3Qgc2FfZmxhZ3MpOwotK2ludCBnZXRfcHJrZXkoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqbXBwLCB1aW50NjRfdCAqcHJrZXksCi0rCSAgICAgIHVpbnQ4X3QgKnNhX2ZsYWdzKTsKLSAKLSAjZW5kaWYgLyogX1BSS0VZX0ggKi8KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvcHJvcHNlbC5jIGIvbGlibXVsdGlwYXRoL3Byb3BzZWwuYwotaW5kZXggOWNhMTM1NS4uNjJhNjg5MyAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9wcm9wc2VsLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9wcm9wc2VsLmMKLUBAIC0xMDYsNiArMTA2LDcgQEAgZG8gewkJCQkJCQkJCVwKLSAJaWYgKHNyYyAmJiBzcmMtPnBya2V5X3NvdXJjZSAhPSBQUktFWV9TT1VSQ0VfTk9ORSkgewkJXAotIAkJbXAtPnBya2V5X3NvdXJjZSA9IHNyYy0+cHJrZXlfc291cmNlOwkJCVwKLSAJCW1wLT5yZXNlcnZhdGlvbl9rZXkgPSBzcmMtPnJlc2VydmF0aW9uX2tleTsJCVwKLSsJCW1wLT5zYV9mbGFncyA9IHNyYy0+c2FfZmxhZ3M7CQkJCVwKLSAJCW9yaWdpbiA9IG1zZzsJCQkJCQlcCi0gCQlnb3RvIG91dDsJCQkJCQlcCi0gCX0JCQkJCQkJCVwKLUBAIC03MDMsMTggKzcwNCwxOSBAQCBpbnQgc2VsZWN0X3Jlc2VydmF0aW9uX2tleShzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgbXVsdGlwYXRoICptcCkKLSAJZG9fcHJrZXlfc2V0KG1wLT5tcGUsIG11bHRpcGF0aHNfb3JpZ2luKTsKLSAJZG9fcHJrZXlfc2V0KGNvbmYsIGNvbmZfb3JpZ2luKTsKLSAJcHV0X2JlNjQobXAtPnJlc2VydmF0aW9uX2tleSwgMCk7Ci0rCW1wLT5zYV9mbGFncyA9IDA7Ci0gCW1wLT5wcmtleV9zb3VyY2UgPSBQUktFWV9TT1VSQ0VfTk9ORTsKLSAJcmV0dXJuIDA7Ci0gb3V0OgotIAlpZiAobXAtPnBya2V5X3NvdXJjZSA9PSBQUktFWV9TT1VSQ0VfRklMRSkgewotIAkJZnJvbV9maWxlID0gIiAoZnJvbSBwcmtleXMgZmlsZSkiOwotLQkJaWYgKGdldF9wcmtleShjb25mLCBtcCwgJnBya2V5KSAhPSAwKQotKwkJaWYgKGdldF9wcmtleShjb25mLCBtcCwgJnBya2V5LCAmbXAtPnNhX2ZsYWdzKSAhPSAwKQotIAkJCXB1dF9iZTY0KG1wLT5yZXNlcnZhdGlvbl9rZXksIDApOwotIAkJZWxzZQotIAkJCXB1dF9iZTY0KG1wLT5yZXNlcnZhdGlvbl9rZXksIHBya2V5KTsKLSAJfQotIAlwcmludF9yZXNlcnZhdGlvbl9rZXkoYnVmZiwgUFJLRVlfU0laRSwgbXAtPnJlc2VydmF0aW9uX2tleSwKLS0JCQkgICAgICBtcC0+cHJrZXlfc291cmNlKTsKLSsJCQkgICAgICBtcC0+c2FfZmxhZ3MsIG1wLT5wcmtleV9zb3VyY2UpOwotIAljb25kbG9nKDMsICIlczogcmVzZXJ2YXRpb25fa2V5ID0gJXMgJXMlcyIsIG1wLT5hbGlhcywgYnVmZiwgb3JpZ2luLAotIAkJZnJvbV9maWxlKTsKLSAJcmV0dXJuIDA7Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3N0cnVjdHMuaCBiL2xpYm11bHRpcGF0aC9zdHJ1Y3RzLmgKLWluZGV4IDAxOTRiMWUuLjk4NzQ3OWYgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvc3RydWN0cy5oCi0rKysgYi9saWJtdWx0aXBhdGgvc3RydWN0cy5oCi1AQCAtMzY3LDYgKzM2Nyw3IEBAIHN0cnVjdCBtdWx0aXBhdGggewotIAkvKiBwZXJzaXN0ZW50IG1hbmFnZW1lbnQgZGF0YSovCi0gCWludCBwcmtleV9zb3VyY2U7Ci0gCXN0cnVjdCBiZTY0IHJlc2VydmF0aW9uX2tleTsKLSsJdWludDhfdCBzYV9mbGFnczsKLSAJdW5zaWduZWQgY2hhciBwcmZsYWc7Ci0gCWludCBhbGxfdGdfcHQ7Ci0gCXN0cnVjdCBnZW5fbXVsdGlwYXRoIGdlbmVyaWNfbXA7Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3V0aWwuYyBiL2xpYm11bHRpcGF0aC91dGlsLmMKLWluZGV4IDcyNTFhZDAuLjhkOGZjYzggMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvdXRpbC5jCi0rKysgYi9saWJtdWx0aXBhdGgvdXRpbC5jCi1AQCAtMTAsNiArMTAsOCBAQAotICNpbmNsdWRlIDxkaXJlbnQuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0gI2luY2x1ZGUgPGVycm5vLmg+Ci0rI2luY2x1ZGUgPGxpYnVkZXYuaD4KLSsjaW5jbHVkZSA8bXBhdGhfcGVyc2lzdC5oPgotIAotICNpbmNsdWRlICJ1dGlsLmgiCi0gI2luY2x1ZGUgImRlYnVnLmgiCi1AQCAtNDM1LDYgKzQzNywyMCBAQCBpbnQgcGFyc2VfcHJrZXkoY2hhciAqcHRyLCB1aW50NjRfdCAqcHJrZXkpCi0gCXJldHVybiAwOwotIH0KLSAKLStpbnQgcGFyc2VfcHJrZXlfZmxhZ3MoY2hhciAqcHRyLCB1aW50NjRfdCAqcHJrZXksIHVpbnQ4X3QgKmZsYWdzKQotK3sKLSsJY2hhciAqZmxhZ3N0cjsKLSsKLSsJZmxhZ3N0ciA9IHN0cmNocihwdHIsICc6Jyk7Ci0rCSpmbGFncyA9IDA7Ci0rCWlmIChmbGFnc3RyKSB7Ci0rCQkqZmxhZ3N0cisrID0gJ1wwJzsKLSsJCWlmIChzdHJsZW4oZmxhZ3N0cikgPT0gNSAmJiBzdHJjbXAoZmxhZ3N0ciwgImFwdHBsIikgPT0gMCkKLSsJCQkqZmxhZ3MgPSBNUEFUSF9GX0FQVFBMX01BU0s7Ci0rCX0KLSsJcmV0dXJuIHBhcnNlX3Bya2V5KHB0ciwgcHJrZXkpOwotK30KLSsKLSBpbnQgc2FmZV93cml0ZShpbnQgZmQsIGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGNvdW50KQotIHsKLSAJd2hpbGUgKGNvdW50ID4gMCkgewotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC91dGlsLmggYi9saWJtdWx0aXBhdGgvdXRpbC5oCi1pbmRleCBhM2FiODk0Li41NmNlYzc2IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL3V0aWwuaAotKysrIGIvbGlibXVsdGlwYXRoL3V0aWwuaAotQEAgLTE5LDYgKzE5LDcgQEAgdm9pZCBzZXR1cF90aHJlYWRfYXR0cihwdGhyZWFkX2F0dHJfdCAqYXR0ciwgc2l6ZV90IHN0YWNrc2l6ZSwgaW50IGRldGFjaGVkKTsKLSBpbnQgc3lzdGVtZF9zZXJ2aWNlX2VuYWJsZWQoY29uc3QgY2hhciAqZGV2KTsKLSBpbnQgZ2V0X2xpbnV4X3ZlcnNpb25fY29kZSh2b2lkKTsKLSBpbnQgcGFyc2VfcHJrZXkoY2hhciAqcHRyLCB1aW50NjRfdCAqcHJrZXkpOwotK2ludCBwYXJzZV9wcmtleV9mbGFncyhjaGFyICpwdHIsIHVpbnQ2NF90ICpwcmtleSwgdWludDhfdCAqZmxhZ3MpOwotIGludCBzYWZlX3dyaXRlKGludCBmZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgY291bnQpOwotIAotICNkZWZpbmUgS0VSTkVMX1ZFUlNJT04obWFqLCBtaW4sIHB0YykgKCgoKG1haikgKiAyNTYpICsgKG1pbikpICogMjU2ICsgKHB0YykpCi1kaWZmIC0tZ2l0IGEvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUgYi9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNQotaW5kZXggMzFmNDU4NS4uMzBkODU5OCAxMDA2NDQKLS0tLSBhL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci0rKysgYi9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNQotQEAgLTcyNiwxNCArNzI2LDE3IEBAIFRoaXMgaXMgdGhlIHNlcnZpY2UgYWN0aW9uIHJlc2VydmF0aW9uIGtleSB1c2VkIGJ5IG1wYXRocGVyc2lzdC4gSXQgbXVzdCBiZQotIHNldCBmb3IgYWxsIG11bHRpcGF0aCBkZXZpY2VzIHVzaW5nIHBlcnNpc3RlbnQgcmVzZXJ2YXRpb25zLCBhbmQgaXQgbXVzdCBiZQotIHRoZSBzYW1lIGFzIHRoZSBSRVNFUlZBVElPTiBLRVkgZmllbGQgb2YgdGhlIFBFUlNJU1RFTlQgUkVTRVJWRSBPVVQgcGFyYW1ldGVyCi0gbGlzdCB3aGljaCBjb250YWlucyBhbiA4LWJ5dGUgdmFsdWUgcHJvdmlkZWQgYnkgdGhlIGFwcGxpY2F0aW9uIGNsaWVudCB0byB0aGUKLS1kZXZpY2Ugc2VydmVyIHRvIGlkZW50aWZ5IHRoZSBJX1QgbmV4dXMuCi0rZGV2aWNlIHNlcnZlciB0byBpZGVudGlmeSB0aGUgSV9UIG5leHVzLiBJZiB0aGUgXGZJLS1wYXJhbS1hcHRwbFxmUiBvcHRpb24gaXMKLSt1c2VkIHdoZW4gcmVnaXN0ZXJpbmcgdGhlIGtleSB3aXRoIG1wYXRocGVyc2lzdCwgXGZCOmFwdHBsXGZSIG11c3QgYmUgYXBwZW5kZWQKLSt0byB0aGUgZW5kIG9mIHRoZSByZXNlcnZhdGlvbiBrZXkuCi0gLlJTCi0gLlBQCi0gQWx0ZXJuYXRpdmVseSwgdGhpcyBjYW4gYmUgc2V0IHRvIFxmQmZpbGVcZlIsIHdoaWNoIHdpbGwgc3RvcmUgdGhlIFJFU0VSVkFUSU9OCi0gS0VZIHJlZ2lzdGVyZWQgYnkgbXBhdGhwZXJzaXN0IGluIHRoZSBcZklwcmtleXNfZmlsZVxmUi4gbXVsdGlwYXRoZCB3aWxsIHRoZW4KLSB1c2UgdGhpcyBrZXkgdG8gcmVnaXN0ZXIgYWRkaXRpb25hbCBwYXRocyBhcyB0aGV5IGFwcGVhci4gIFdoZW4gdGhlCi0gcmVnaXN0cmF0aW9uIGlzIHJlbW92ZWQsIHRoZSBSRVNFUlZBVElPTiBLRVkgaXMgcmVtb3ZlZCBmcm9tIHRoZQotLVxmSXBya2V5c19maWxlXGZSLgotK1xmSXBya2V5c19maWxlXGZSLiBUaGUgcHJrZXlzIGZpbGUgd2lsbCBhdXRvbWF0aWNhbGx5IGtlZXAgdHJhY2sgb2Ygd2hldGhlcgotK3RoZSBrZXkgd2FzIHJlZ2lzdGVyZWQgd2l0aCBcZkktLXBhcmFtLWFwdHBsXGZSLgotIC5UUAotIFRoZSBkZWZhdWx0IGlzOiBcZkI8dW5zZXQ+XGZSCi0gLlJFCi1kaWZmIC0tZ2l0IGEvbXVsdGlwYXRoZC9jbGlfaGFuZGxlcnMuYyBiL211bHRpcGF0aGQvY2xpX2hhbmRsZXJzLmMKLWluZGV4IGJhNTBmYjguLjY0NTI3OTYgMTAwNjQ0Ci0tLS0gYS9tdWx0aXBhdGhkL2NsaV9oYW5kbGVycy5jCi0rKysgYi9tdWx0aXBhdGhkL2NsaV9oYW5kbGVycy5jCi1AQCAtMjEsNiArMjEsNyBAQAotICNpbmNsdWRlICJzeXNmcy5oIgotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxsaWJ1ZGV2Lmg+Ci0rI2luY2x1ZGUgPG1wYXRoX3BlcnNpc3QuaD4KLSAjaW5jbHVkZSAidXRpbC5oIgotICNpbmNsdWRlICJwcmtleS5oIgotICNpbmNsdWRlICJwcm9wc2VsLmgiCi1AQCAtMTQ2Myw2ICsxNDY0LDcgQEAgY2xpX2dldHBya2V5KHZvaWQgKiB2LCBjaGFyICoqIHJlcGx5LCBpbnQgKiBsZW4sIHZvaWQgKiBkYXRhKQotIAlzdHJ1Y3QgbXVsdGlwYXRoICogbXBwOwotIAlzdHJ1Y3QgdmVjdG9ycyAqIHZlY3MgPSAoc3RydWN0IHZlY3RvcnMgKilkYXRhOwotIAljaGFyICptYXBuYW1lID0gZ2V0X2tleXBhcmFtKHYsIE1BUCk7Ci0rCWNoYXIgKmZsYWdzdHIgPSAiIjsKLSAKLSAJbWFwbmFtZSA9IGNvbnZlcnRfZGV2KG1hcG5hbWUsIDApOwotIAljb25kbG9nKDMsICIlczogZ2V0IHBlcnNpc3RlbnQgcmVzZXJ2YXRpb24ga2V5IChvcGVyYXRvcikiLCBtYXBuYW1lKTsKLUBAIC0xNDc4LDggKzE0ODAsMTAgQEAgY2xpX2dldHBya2V5KHZvaWQgKiB2LCBjaGFyICoqIHJlcGx5LCBpbnQgKiBsZW4sIHZvaWQgKiBkYXRhKQotIAkJKmxlbiA9IHN0cmxlbigqcmVwbHkpICsgMTsKLSAJCXJldHVybiAwOwotIAl9Ci0tCXNucHJpbnRmKCpyZXBseSwgMjAsICIweCUiIFBSSXg2NCAiXG4iLAotLQkJIGdldF9iZTY0KG1wcC0+cmVzZXJ2YXRpb25fa2V5KSk7Ci0rCWlmIChtcHAtPnNhX2ZsYWdzICYgTVBBVEhfRl9BUFRQTF9NQVNLKQotKwkJZmxhZ3N0ciA9ICI6YXB0cGwiOwotKwlzbnByaW50ZigqcmVwbHksIDIwLCAiMHglIiBQUkl4NjQgIiVzXG4iLAotKwkJIGdldF9iZTY0KG1wcC0+cmVzZXJ2YXRpb25fa2V5KSwgZmxhZ3N0cik7Ci0gCSgqcmVwbHkpWzE5XSA9ICdcMCc7Ci0gCSpsZW4gPSBzdHJsZW4oKnJlcGx5KSArIDE7Ci0gCXJldHVybiAwOwotQEAgLTE1MDMsNyArMTUwNyw3IEBAIGNsaV91bnNldHBya2V5KHZvaWQgKiB2LCBjaGFyICoqIHJlcGx5LCBpbnQgKiBsZW4sIHZvaWQgKiBkYXRhKQotIAotIAljb25mID0gZ2V0X211bHRpcGF0aF9jb25maWcoKTsKLSAJcHRocmVhZF9jbGVhbnVwX3B1c2gocHV0X211bHRpcGF0aF9jb25maWcsIGNvbmYpOwotLQlyZXQgPSBzZXRfcHJrZXkoY29uZiwgbXBwLCAwKTsKLSsJcmV0ID0gc2V0X3Bya2V5KGNvbmYsIG1wcCwgMCwgMCk7Ci0gCXB0aHJlYWRfY2xlYW51cF9wb3AoMSk7Ci0gCi0gCXJldHVybiByZXQ7Ci1AQCAtMTUxNyw2ICsxNTIxLDcgQEAgY2xpX3NldHBya2V5KHZvaWQgKiB2LCBjaGFyICoqIHJlcGx5LCBpbnQgKiBsZW4sIHZvaWQgKiBkYXRhKQotIAljaGFyICptYXBuYW1lID0gZ2V0X2tleXBhcmFtKHYsIE1BUCk7Ci0gCWNoYXIgKmtleXBhcmFtID0gZ2V0X2tleXBhcmFtKHYsIEtFWSk7Ci0gCXVpbnQ2NF90IHBya2V5OwotKwl1aW50OF90IGZsYWdzOwotIAlpbnQgcmV0OwotIAlzdHJ1Y3QgY29uZmlnICpjb25mOwotIAotQEAgLTE1MjcsMTQgKzE1MzIsMTQgQEAgY2xpX3NldHBya2V5KHZvaWQgKiB2LCBjaGFyICoqIHJlcGx5LCBpbnQgKiBsZW4sIHZvaWQgKiBkYXRhKQotIAlpZiAoIW1wcCkKLSAJCXJldHVybiAxOwotIAotLQlpZiAocGFyc2VfcHJrZXkoa2V5cGFyYW0sICZwcmtleSkgIT0gMCkgewotKwlpZiAocGFyc2VfcHJrZXlfZmxhZ3Moa2V5cGFyYW0sICZwcmtleSwgJmZsYWdzKSAhPSAwKSB7Ci0gCQljb25kbG9nKDAsICIlczogaW52YWxpZCBwcmtleSA6ICclcyciLCBtYXBuYW1lLCBrZXlwYXJhbSk7Ci0gCQlyZXR1cm4gMTsKLSAJfQotIAotIAljb25mID0gZ2V0X211bHRpcGF0aF9jb25maWcoKTsKLSAJcHRocmVhZF9jbGVhbnVwX3B1c2gocHV0X211bHRpcGF0aF9jb25maWcsIGNvbmYpOwotLQlyZXQgPSBzZXRfcHJrZXkoY29uZiwgbXBwLCBwcmtleSk7Ci0rCXJldCA9IHNldF9wcmtleShjb25mLCBtcHAsIHBya2V5LCBmbGFncyk7Ci0gCXB0aHJlYWRfY2xlYW51cF9wb3AoMSk7Ci0gCi0gCXJldHVybiByZXQ7Ci1kaWZmIC0tZ2l0IGEvbXVsdGlwYXRoZC9tYWluLmMgYi9tdWx0aXBhdGhkL21haW4uYwotaW5kZXggZDQwYzQxNi4uNmIxZTc4MiAxMDA2NDQKLS0tLSBhL211bHRpcGF0aGQvbWFpbi5jCi0rKysgYi9tdWx0aXBhdGhkL21haW4uYwotQEAgLTMwODksNiArMzA4OSw3IEBAIHZvaWQgKiAgbXBhdGhfcHJfZXZlbnRfaGFuZGxlcl9mbiAodm9pZCAqIHBhdGhwICkKLSAKLSAJcGFyYW09IG1hbGxvYyhzaXplb2Yoc3RydWN0IHByb3V0X3BhcmFtX2Rlc2NyaXB0b3IpKTsKLSAJbWVtc2V0KHBhcmFtLCAwICwgc2l6ZW9mKHN0cnVjdCBwcm91dF9wYXJhbV9kZXNjcmlwdG9yKSk7Ci0rCXBhcmFtLT5zYV9mbGFncyA9IG1wcC0+c2FfZmxhZ3M7Ci0gCW1lbWNweShwYXJhbS0+c2Ffa2V5LCAmbXBwLT5yZXNlcnZhdGlvbl9rZXksIDgpOwotIAlwYXJhbS0+bnVtX3RyYW5zcG9ydGlkID0gMDsKLSAKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTgtbXVsdGlwYXRoLWRvbi10LWNoZWNrLXRpbWVzdGFtcHMtd2l0aG91dC1hLXBhdGgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxOC1tdWx0aXBhdGgtZG9uLXQtY2hlY2stdGltZXN0YW1wcy13aXRob3V0LWEtcGF0aC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWEzZmQ4My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxOC1tdWx0aXBhdGgtZG9uLXQtY2hlY2stdGltZXN0YW1wcy13aXRob3V0LWEtcGF0aC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgNSBKdW4gMjAxOCAxNTozMTo1NSAtMDUwMAotU3ViamVjdDogW1BBVENIXSBtdWx0aXBhdGg6IGRvbid0IGNoZWNrIHRpbWVzdGFtcHMgd2l0aG91dCBhIHBhdGgKLQotSWYgYSBwYXRoIHdhcyBibGFja2xpc3RlZCwgcGF0aHZlYyBjb3VsZCBleGlzdCBidXQgaGF2ZSBubyBwYXRoIGluIGl0LgotcHJpbnRfY21kX3ZhbGlkIHdhc24ndCBjaGVja2luZyB0aGlzIGJlZm9yZSBjYWxsaW5nCi1maW5kX211bHRpcGF0aHNfY2hlY2tfdGltZW91dCgpLiBUaGlzIHdhcyBjYXVzaW5nIGl0IHRvIGRlcmVmZXJlbmNlIGEKLU5VTEwgcG9pbnRlciBpbiB0aGVzZSBjYXNlcy4KLQotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbXVsdGlwYXRoL21haW4uYyB8IDQgKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL211bHRpcGF0aC9tYWluLmMgYi9tdWx0aXBhdGgvbWFpbi5jCi1pbmRleCBjNjllOTk2Li4zZjBhNmFhIDEwMDY0NAotLS0tIGEvbXVsdGlwYXRoL21haW4uYwotKysrIGIvbXVsdGlwYXRoL21haW4uYwotQEAgLTQ4MiwxMCArNDgyLDggQEAgc3RhdGljIGludCBwcmludF9jbWRfdmFsaWQoaW50IGssIGNvbnN0IHZlY3RvciBwYXRodmVjLAotIAkJCXBwLCBwcC0+ZmluZF9tdWx0aXBhdGhzX3RpbWVvdXQsICZ1bnRpbCk7Ci0gCQlpZiAod2FpdCAhPSBGSU5EX01VTFRJUEFUSFNfV0FJVElORykKLSAJCQlrID0gMTsKLS0JfSBlbHNlIGlmIChwYXRodmVjICE9IE5VTEwpIHsKLS0JCXBwID0gVkVDVE9SX1NMT1QocGF0aHZlYywgMCk7Ci0rCX0gZWxzZSBpZiAocGF0aHZlYyAhPSBOVUxMICYmIChwcCA9IFZFQ1RPUl9TTE9UKHBhdGh2ZWMsIDApKSkKLSAJCXdhaXQgPSBmaW5kX211bHRpcGF0aHNfY2hlY2tfdGltZW91dChwcCwgMCwgJnVudGlsKTsKLS0JfQotIAlpZiAod2FpdCA9PSBGSU5EX01VTFRJUEFUSFNfV0FJVElORykKLSAJCXByaW50ZigiRklORF9NVUxUSVBBVEhTX1dBSVRfVU5USUw9XCIlbGQuJTA2bGRcIlxuIiwKLSAJCQkgICAgICAgdW50aWwudHZfc2VjLCB1bnRpbC50dl9uc2VjLzEwMDApOwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxOS1saWJtdWx0aXBhdGgtZml4LWRldGVjdC1hbHVhLWNvcm5lci1jYXNlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTktbGlibXVsdGlwYXRoLWZpeC1kZXRlY3QtYWx1YS1jb3JuZXItY2FzZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM5MDhmYS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxOS1saWJtdWx0aXBhdGgtZml4LWRldGVjdC1hbHVhLWNvcm5lci1jYXNlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotRGF0ZTogRnJpLCA4IEp1biAyMDE4IDE3OjEyOjM3IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxpYm11bHRpcGF0aDogZml4IGRldGVjdCBhbHVhIGNvcm5lciBjYXNlCi0KLUlmIHJldGFpbl9hdHRhY2hfaHdfaGFuZGxlciA9IG5vLCB0aGVuIHRoZSBwYXRocyB0cGdzIHN0YXRlIHdpbGwgbmV2ZXIKLWJlIGNoZWNrZWQsIGFuZCB0aGUgbXVsdGlwYXRoIGRldmljZSB3aWxsIGFsd2F5cyBzZWxlY3QgdGhlIGFsdWEKLWhhbmRsZXIsIGlmIG5vIG90aGVyIGhhbmRsZXIgaXMgc2VsZWN0ZWQuIHRoZSBwYXRocyB0cGdzIHN0YXRlCi1zaG91bGQgYmUgY2hlY2tlZCwgcmVnYXJkbGVzcyBvZiB0aGUgcmV0YWluX2h3aGFuZGxlciB2YWx1ZS4KLQotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGlibXVsdGlwYXRoL3Byb3BzZWwuYyB8IDQgKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9wcm9wc2VsLmMgYi9saWJtdWx0aXBhdGgvcHJvcHNlbC5jCi1pbmRleCA2MmE2ODkzLi5mNjI2Yzc0IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL3Byb3BzZWwuYwotKysrIGIvbGlibXVsdGlwYXRoL3Byb3BzZWwuYwotQEAgLTQwMyw5ICs0MDMsMTEgQEAgaW50IHNlbGVjdF9od2hhbmRsZXIoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqbXApCi0gCWJvb2wgYWxsX3RwZ3MgPSB0cnVlOwotIAotIAlkaF9zdGF0ZSA9ICZoYW5kbGVyWzJdOwotKwotKwl2ZWN0b3JfZm9yZWFjaF9zbG90KG1wLT5wYXRocywgcHAsIGkpCi0rCQlhbGxfdHBncyA9IGFsbF90cGdzICYmIChwcC0+dHBncyA+IDApOwotIAlpZiAobXAtPnJldGFpbl9od2hhbmRsZXIgIT0gUkVUQUlOX0hXSEFORExFUl9PRkYpIHsKLSAJCXZlY3Rvcl9mb3JlYWNoX3Nsb3QobXAtPnBhdGhzLCBwcCwgaSkgewotLQkJCWFsbF90cGdzID0gYWxsX3RwZ3MgJiYgKHBwLT50cGdzID4gMCk7Ci0gCQkJaWYgKGdldF9kaF9zdGF0ZShwcCwgZGhfc3RhdGUsIHNpemVvZihoYW5kbGVyKSAtIDIpID4gMAotIAkJCSAgICAmJiBzdHJjbXAoZGhfc3RhdGUsICJkZXRhY2hlZCIpKSB7Ci0gCQkJCW1lbWNweShoYW5kbGVyLCAiMSAiLCAyKTsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjAtbXVsdGlwYXRoLWZpeC1zZXR0aW5nLWNvbmYtdmVyc2lvbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIwLW11bHRpcGF0aC1maXgtc2V0dGluZy1jb25mLXZlcnNpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYyNGY0NWUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjAtbXVsdGlwYXRoLWZpeC1zZXR0aW5nLWNvbmYtdmVyc2lvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgOCBKdW4gMjAxOCAxNzoyMzowNyAtMDUwMAotU3ViamVjdDogW1BBVENIXSBtdWx0aXBhdGg6IGZpeCBzZXR0aW5nIGNvbmYtPnZlcnNpb24KLQotQ29tbWl0IGQzYjcxNDk4IHN0b3BwZWQgbXVsdGlwYXRoIGZyb20gc2V0dGluZyBjb25mLT52ZXJzaW9uLiBJbnN0ZWFkLAotaXQgd2FzIGFsd2F5cyBiZWluZyBzZXQgdG8gMC4wLjAuIE11bHRpcGF0aGQgd2FzIHN0aWxsIHNldHRpbmcgdGhpcwotY29ycmVjdGx5LgotCi1GaXhlczogZDNiNzE0OTggIm11bHRpcGF0aDogZml4IHJjdSB0aHJlYWQgY2FuY2VsbGF0aW9uIGhhbmciCi1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJtdWx0aXBhdGgvZGV2bWFwcGVyLmMgfCA2ICsrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZGV2bWFwcGVyLmMgYi9saWJtdWx0aXBhdGgvZGV2bWFwcGVyLmMKLWluZGV4IGYyYmVmYWQuLjgxMzZkMTUgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvZGV2bWFwcGVyLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9kZXZtYXBwZXIuYwotQEAgLTI0NSwxMyArMjQ1LDEzIEBAIHZvaWQgbGlibXBfZG1faW5pdCh2b2lkKQotIAlpbnQgdmVyYm9zaXR5OwotIAl1bnNpZ25lZCBpbnQgdmVyc2lvblszXTsKLSAKLSsJaWYgKGRtX3ByZXJlcSh2ZXJzaW9uKSkKLSsJCWV4aXQoMSk7Ci0gCWNvbmYgPSBnZXRfbXVsdGlwYXRoX2NvbmZpZygpOwotIAl2ZXJib3NpdHkgPSBjb25mLT52ZXJib3NpdHk7Ci0tCW1lbWNweSh2ZXJzaW9uLCBjb25mLT52ZXJzaW9uLCBzaXplb2YodmVyc2lvbikpOwotKwltZW1jcHkoY29uZi0+dmVyc2lvbiwgdmVyc2lvbiwgc2l6ZW9mKHZlcnNpb24pKTsKLSAJcHV0X211bHRpcGF0aF9jb25maWcoY29uZik7Ci0gCWRtX2luaXQodmVyYm9zaXR5KTsKLS0JaWYgKGRtX3ByZXJlcSh2ZXJzaW9uKSkKLS0JCWV4aXQoMSk7Ci0gCWRtX3VkZXZfc2V0X3N5bmNfc3VwcG9ydChsaWJtcF9kbV91ZGV2X3N5bmMpOwotIH0KLSAKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjEtUkgtZml4dXAtdWRldi1ydWxlcy1mb3ItcmVkaGF0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjEtUkgtZml4dXAtdWRldi1ydWxlcy1mb3ItcmVkaGF0LnBhdGNoCmluZGV4IDRlZjNlNzAuLmU4OGUyNTYgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIxLVJILWZpeHVwLXVkZXYtcnVsZXMtZm9yLXJlZGhhdC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyMS1SSC1maXh1cC11ZGV2LXJ1bGVzLWZvci1yZWRoYXQucGF0Y2gKQEAgLTEwLDE4ICsxMCwyMSBAQAogdG9vLgogCiBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+CisKK1VwZGF0ZSBwYXRjaCB0byAwLjguMAorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAgTWFrZWZpbGUuaW5jICAgICAgICB8IDIgKy0KICBrcGFydHgva3BhcnR4LnJ1bGVzIHwgMiArLQogIG11bHRpcGF0aC9NYWtlZmlsZSAgfCA0ICsrLS0KLSBtdWx0aXBhdGgvbWFpbi5jICAgIHwgMiArLQotIDQgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW5jIGIvTWFrZWZpbGUuaW5jCi1pbmRleCBhZjJmNWJhLi4wYjI3MWVhIDEwMDY0NAoraW5kZXggZmM3MjhjYS4uMmYwYmNlYSAxMDA2NDQKIC0tLSBhL01ha2VmaWxlLmluYwogKysrIGIvTWFrZWZpbGUuaW5jCi1AQCAtNTEsNyArNTEsNyBAQCBlbmRpZgorQEAgLTQ4LDcgKzQ4LDcgQEAgZW5kaWYKICBwcmVmaXgJCT0KICBleGVjX3ByZWZpeAk9ICQocHJlZml4KQogIHVzcl9wcmVmaXgJPSAkKHByZWZpeCkKQEAgLTY0LDE5ICs2Nyw2IEBACiAgCSQoUk0pICQoREVTVERJUikkKG1hbjhkaXIpLyQoRVhFQykuOC5negogIAkkKFJNKSAkKERFU1RESVIpJChtYW41ZGlyKS8kKEVYRUMpLmNvbmYuNS5negogIAotZGlmZiAtLWdpdCBhL211bHRpcGF0aC9tYWluLmMgYi9tdWx0aXBhdGgvbWFpbi5jCi1pbmRleCAzZjBhNmFhLi42ZmRkZTAzIDEwMDY0NAotLS0tIGEvbXVsdGlwYXRoL21haW4uYwotKysrIGIvbXVsdGlwYXRoL21haW4uYwotQEAgLTM4OSw3ICszODksNyBAQCBzdGF0aWMgaW50IGZpbmRfbXVsdGlwYXRoc19jaGVja190aW1lb3V0KGNvbnN0IHN0cnVjdCBwYXRoICpwcCwgbG9uZyB0bW8sCi0gCXN0cnVjdCB0aW1lc3BlYyBub3csIGZ0aW1lc1syXSwgdGRpZmY7Ci0gCXN0cnVjdCBzdGF0IHN0OwotIAlsb25nIGZkOwotLQlpbnQgciwgZXJyLCByZXRyaWVzID0gMDsKLSsJaW50IHIsIGVyciA9IDAsIHJldHJpZXMgPSAwOwotIAotIAljbG9ja19nZXR0aW1lKENMT0NLX1JFQUxUSU1FLCAmbm93KTsKLSAKIC0tIAogMi43LjQKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjItUkgtUmVtb3ZlLXRoZS1wcm9wZXJ0eS1ibGFja2xpc3QtZXhjZXB0aW9uLWJ1aWx0aW4ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyMi1SSC1SZW1vdmUtdGhlLXByb3BlcnR5LWJsYWNrbGlzdC1leGNlcHRpb24tYnVpbHRpbi5wYXRjaAppbmRleCA0NTFjNTI0Li5mZDEwNjA4IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyMi1SSC1SZW1vdmUtdGhlLXByb3BlcnR5LWJsYWNrbGlzdC1leGNlcHRpb24tYnVpbHRpbi5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyMi1SSC1SZW1vdmUtdGhlLXByb3BlcnR5LWJsYWNrbGlzdC1leGNlcHRpb24tYnVpbHRpbi5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMiBKdWwgMjAxNCAxMjo0OTo1MyAtMDUwMAotU3ViamVjdDogW1BBVENIXSBSSDogUmVtb3ZlIHRoZSBwcm9wZXJ0eSBibGFja2xpc3QgZXhjZXB0aW9uIGJ1aWx0aW4KK0Zyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3ICAwMDowMDowMCAyMDAxCitGcm9tOkJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4gCitEYXRlOiBXZWQsIDIgSnVsICAyMDE0IDEyOjQ5OjUzIC0wNTAwIAorU3ViamVjdDogW1BBVENIXSBSSDogUmVtb3ZlIHRoZSBwcm9wZXJ0eSBibGFja2xpc3QgIGV4Y2VwdGlvbiBidWlsdGluCiAKIE11bHRpcGF0aCBzZXQgdGhlIGRlZmF1bHQgcHJvcGVydHkgYmxhY2tsaXN0IGV4Y2VwdGlvbnMgdG8KIChJRF9TQ1NJX1ZQRHxJRF9XV04pLiAgVGhpcyBoYXMgdGhlIGVmZmVjdCBvZiBibGFja2xpc3Rpbmcgc29tZSBpbnRlcm5hbApAQCAtMTIsNzYgKzEyLDQ2IEBACiBpdC4KIAogU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgorCitVcHN0ZWFtLVN0YXR1czogUGVuZGluZworCitVcGRhdGUgcGF0Y2ggdG8gMC44LjAKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KLSBsaWJtdWx0aXBhdGgvYmxhY2tsaXN0LmMgICB8IDE1ICsrKysrKy0tLS0tLS0tLQotIG11bHRpcGF0aC9tdWx0aXBhdGguY29uZi41IHwgMTQgKysrKysrKystLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQorIGxpYm11bHRpcGF0aC9ibGFja2xpc3QuYyB8IDEzICsrKysrLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2JsYWNrbGlzdC5jIGIvbGlibXVsdGlwYXRoL2JsYWNrbGlzdC5jCi1pbmRleCBlZTM5NmUyLi4xOWQ0Njk3IDEwMDY0NAoraW5kZXggZTBkMDI3OS4uOWY1ODMxMyAxMDA2NDQKIC0tLSBhL2xpYm11bHRpcGF0aC9ibGFja2xpc3QuYwogKysrIGIvbGlibXVsdGlwYXRoL2JsYWNrbGlzdC5jCi1AQCAtMTgxLDEyICsxODEsNiBAQCBzZXR1cF9kZWZhdWx0X2JsaXN0IChzdHJ1Y3QgY29uZmlnICogY29uZikKLSAJaWYgKHN0b3JlX2JsZShjb25mLT5ibGlzdF9kZXZub2RlLCBzdHIsIE9SSUdJTl9ERUZBVUxUKSkKLSAJCXJldHVybiAxOworQEAgLTE5MiwxMiArMTkyLDYgQEAgc2V0dXBfZGVmYXVsdF9ibGlzdCAoc3RydWN0IGNvbmZpZyAqIGNvbmYpCisgCWNoYXIgKiBzdHI7CisgCWludCBpOwogIAotLQlzdHIgPSBTVFJEVVAoIihTQ1NJX0lERU5UX3xJRF9XV04pIik7CistCXN0ciA9IFNUUkRVUCgiXihyYW18enJhbXxyYXd8bG9vcHxmZHxtZHxkbS18c3J8c2NkfHN0fGRjc3NibGspWzAtOV0iKTsKIC0JaWYgKCFzdHIpCiAtCQlyZXR1cm4gMTsKLS0JaWYgKHN0b3JlX2JsZShjb25mLT5lbGlzdF9wcm9wZXJ0eSwgc3RyLCBPUklHSU5fREVGQVVMVCkpCistCWlmIChzdG9yZV9ibGUoY29uZi0+Ymxpc3RfZGV2bm9kZSwgc3RyLCBPUklHSU5fREVGQVVMVCkpCiAtCQlyZXR1cm4gMTsKIC0KLSAJdmVjdG9yX2ZvcmVhY2hfc2xvdCAoY29uZi0+aHd0YWJsZSwgaHdlLCBpKSB7Ci0gCQlpZiAoaHdlLT5ibF9wcm9kdWN0KSB7Ci0gCQkJaWYgKF9ibGFja2xpc3RfZGV2aWNlKGNvbmYtPmJsaXN0X2RldmljZSwgaHdlLT52ZW5kb3IsCi1AQCAtMzkwLDkgKzM4NCwxMiBAQCBmaWx0ZXJfcHJvcGVydHkoc3RydWN0IGNvbmZpZyAqIGNvbmYsIHN0cnVjdCB1ZGV2X2RldmljZSAqIHVkZXYpCi0gCSAqIFRoaXMgaXMgdGhlIGludmVyc2Ugb2YgdGhlICdub3JtYWwnIG1hdGNoaW5nOwotIAkgKiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgX2hhc18gdG8gbWF0Y2guCi0gCSAqLwotLQlsb2dfZmlsdGVyKGRldm5hbWUsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsCi0tCQkgICBNQVRDSF9QUk9QRVJUWV9CTElTVF9NSVNTSU5HKTsKLS0JcmV0dXJuIE1BVENIX1BST1BFUlRZX0JMSVNUX01JU1NJTkc7Ci0rCWlmIChWRUNUT1JfU0laRShjb25mLT5lbGlzdF9wcm9wZXJ0eSkpIHsKLSsJCWxvZ19maWx0ZXIoZGV2bmFtZSwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKLSsJCQkgICBNQVRDSF9QUk9QRVJUWV9CTElTVF9NSVNTSU5HKTsKLSsJCXJldHVybiBNQVRDSF9QUk9QRVJUWV9CTElTVF9NSVNTSU5HOwotKwl9Ci0rCXJldHVybiAwOworIAlzdHIgPSBTVFJEVVAoIl4odGR8aGR8dmQpW2Etel0iKTsKKyAJaWYgKCFzdHIpCisgCQlyZXR1cm4gMTsKK0BAIC00MTUsOCArNDA5LDExIEBAIGZpbHRlcl9wcm9wZXJ0eShzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgdWRldl9kZXZpY2UgKnVkZXYsIGludCBsdmwpCisgCQl9CisgCX0KKyAKKy0JbG9nX2ZpbHRlcihkZXZuYW1lLCBOVUxMLCBOVUxMLCBOVUxMLCBlbnYsIE5VTEwsIHIsIGx2bCk7CistCXJldHVybiByOworKyAgICAgICBpZiAoVkVDVE9SX1NJWkUoY29uZi0+ZWxpc3RfcHJvcGVydHkpKSB7CisrICAgICAgICAgICAgICAgbG9nX2ZpbHRlcihkZXZuYW1lLCBOVUxMLCBOVUxMLCBOVUxMLCBlbnYsIE5VTEwsIHIsIGx2bCk7CisrICAgICAgICAgICAgICAgcmV0dXJuIHI7CisrICAgICAgIH0KKysgICAgICAgcmV0dXJuIDA7CiAgfQogIAotIHZvaWQKLWRpZmYgLS1naXQgYS9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNSBiL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci1pbmRleCAzMGQ4NTk4Li5jNDVkYTlmIDEwMDY0NAotLS0tIGEvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUKLSsrKyBiL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci1AQCAtMTE3OSwxMCArMTE3OSw2IEBAIFRoZSBcZklXb3JsZCBXaWRlIElkZW50aWZpY2F0aW9uXGZSIG9mIGEgZGV2aWNlLgotIC5UUAotIC5CIHByb3BlcnR5Ci0gUmVndWxhciBleHByZXNzaW9uIG9mIHRoZSB1ZGV2IHByb3BlcnR5IHRvIGJlIHdoaXRlbGlzdGVkLgotLS5SUwotLS5UUAotLVRoZSBkZWZhdWx0IGlzOiBcZkIoU0NTSV9JREVOVF98SURfV1dOKVxmUgotLS5SRQotIC5UUAotIC5CIGRldmljZQotIFN1YnNlY3Rpb24gZm9yIHRoZSBkZXZpY2UgZGVzY3JpcHRpb24uIFRoaXMgc3Vic2VjdGlvbiByZWNvZ25pemVzIHRoZQotQEAgLTExOTMsOCArMTE4OSwxNCBAQCBrZXl3b3Jkcy4gRm9yIGEgZnVsbCBkZXNjcmlwdGlvbiBvZiB0aGVzZSBrZXl3b3JkcyBwbGVhc2Ugc2VlIHRoZSBcZklkZXZpY2VzXGZSCi0gc2VjdGlvbiBkZXNjcmlwdGlvbi4KLSAuTFAKLSBUaGUgXGZJcHJvcGVydHlcZlIgd2hpdGVsaXN0IGhhbmRsaW5nIGlzIGRpZmZlcmVudCBmcm9tIHRoZSB1c3VhbAotLWhhbmRsaW5nIGluIHRoZSBzZW5zZSB0aGF0IHRoZSBkZXZpY2UgXGZJaGFzXGZSIHRvIGhhdmUgYSB1ZGV2IHByb3BlcnR5IHRoYXQKLS1tYXRjaGVzIHRoZSB3aGl0ZWxpc3QsIG90aGVyd2lzZSB0aGUgZGV2aWNlIHdpbGwgYmUgYmxhY2tsaXN0ZWQuIEluIHRoZXNlIGNhc2VzIHRoZSBtZXNzYWdlIFxmSWJsYWNrbGlzdGVkLCB1ZGV2IHByb3BlcnR5IG1pc3NpbmdcZlIgd2lsbCBiZSBkaXNwbGF5ZWQuCi0raGFuZGxpbmcgaW4gdGhlIHNlbnNlIHRoYXQgaWYgdGhlIHByb3Blcnkgd2hpdGVsaXN0IGlzIHNldCwgdGhlIGRldmljZQotK1xmSWhhc1xmUiB0byBoYXZlIGEgdWRldiBwcm9wZXJ0eSB0aGF0IG1hdGNoZXMgdGhlIHdoaXRlbGlzdCwgb3RoZXJ3aXNlIHRoZQotK2RldmljZSB3aWxsIGJlIGJsYWNrbGlzdGVkLiBJbiB0aGVzZSBjYXNlcyB0aGUgbWVzc2FnZSBcZklibGFja2xpc3RlZCwgdWRldgotK3Byb3BlcnR5IG1pc3NpbmdcZlIgd2lsbCBiZSBkaXNwbGF5ZWQuIEZvciBleGFtcGxlIHNldHR0aW5nIHRoZQotK3Byb3BlcnR5IGJsYWNrbGlzdF9leGNlcHRpb24gdG8gXGZCKFNDU0lfSURFTlRffElEX1dXTilcZlIgd2lsbCBibGFja2xpc3QKLSthbGwgZGV2aWNlcyB0aGF0IGhhdmUgbm8gdWRldiBwcm9wZXJ0eSB3aG9zZSBuYW1lIHJlZ2V4IG1hdGNoZXMgZWl0aGVyCi0rXGZCU0NTSV9JREVOVF9cZlIgb3IgXGZCSURfV1dOXGZSLiBUaGlzIHdvcmtzIHRvIGV4Y2x1ZGUgbW9zdAotK25vbi1tdWx0aXBhdGhhYmxlIGRldmljZXMuCi0gLgotIC4KLSAuXCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHN0YXRpYyB2b2lkIGZyZWVfYmxlKHN0cnVjdCBibGVudHJ5ICpibGUpCiAtLSAKIDIuNy40CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIzLVJILWRvbi10LXN0YXJ0LXdpdGhvdXQtYS1jb25maWctZmlsZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIzLVJILWRvbi10LXN0YXJ0LXdpdGhvdXQtYS1jb25maWctZmlsZS5wYXRjaAppbmRleCA4ODZmMWM4Li5lYTYxMzdmIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyMy1SSC1kb24tdC1zdGFydC13aXRob3V0LWEtY29uZmlnLWZpbGUucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjMtUkgtZG9uLXQtc3RhcnQtd2l0aG91dC1hLWNvbmZpZy1maWxlLnBhdGNoCkBAIC0xLDcgKzEsMTAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMTUgT2N0IDIwMTQgMTA6Mzk6MzAgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gUkg6IGRvbid0IHN0YXJ0IHdpdGhvdXQgYSBjb25maWcgZmlsZQorRnJvbSAwYmY4ZmY4ZGFiMjYyMDFiMjY4YjQxOTgwOTg0NGMwN2UxNjhmMTdkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IEZyaSwgMjMgTm92IDIwMTggMTc6MjU6MTUgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcKKyAwMDowMDowMCAyMDAxIEZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4gRGF0ZTogV2VkLCAxNQorIE9jdCAyMDE0IDEwOjM5OjMwIC0wNTAwIFN1YmplY3Q6IFtQQVRDSF0gUkg6IGRvbid0IHN0YXJ0IHdpdGhvdXQgYSBjb25maWcKKyBmaWxlCiAKIElmIC9ldGMvbXVsdGlwYXRoLmNvbmYgZG9lc24ndCBleGlzdCwgZG9uJ3Qgc3RhcnQgbXVsdGlwYXRoZCBhbmQgYmxhY2tsaXN0CiBhbGwgZGV2aWNlcyB3aGVuIHJ1bm5pbmcgbXVsdGlwYXRoLiAgQSBjb21wbGV0ZWx5IGJsYW5rIGNvbmZpZ3VyYXRpb24gZmlsZQpAQCAtMTEsMTYgKzE0LDIxIEBACiAvZXRjL211bHRpcGF0aC5jb25mIHdpbGwga2VlcCBtdWx0aXBhdGggZnJvbSBkb2luZyBhbnl0aGluZy4KIAogU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKwordXBkYXRlIHRoaXMgcGF0Y2ggdG8gbmV3IHZlcnNpb24KK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KLSBsaWJtdWx0aXBhdGgvY29uZmlnLmMgICAgICAgICB8IDE1ICsrKysrKysrKysrKysrKworIGxpYm11bHRpcGF0aC9jb25maWcuYyAgICAgICAgIHwgMTggKysrKysrKysrKysrKysrKysrCiAgbGlibXVsdGlwYXRoL2NvbmZpZy5oICAgICAgICAgfCAgMSArCiAgbXVsdGlwYXRoL211bHRpcGF0aC5ydWxlcyAgICAgfCAgMSArCiAgbXVsdGlwYXRoZC9tdWx0aXBhdGhkLjggICAgICAgfCAgMiArKwogIG11bHRpcGF0aGQvbXVsdGlwYXRoZC5zZXJ2aWNlIHwgIDEgKwotIDUgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKQorIDUgZmlsZXMgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NvbmZpZy5jIGIvbGlibXVsdGlwYXRoL2NvbmZpZy5jCi1pbmRleCA1ODcyOTI3Li4wNjA3NDAzIDEwMDY0NAoraW5kZXggNWFmN2FmNS4uZTQyMzNmMSAxMDA2NDQKIC0tLSBhL2xpYm11bHRpcGF0aC9jb25maWcuYwogKysrIGIvbGlibXVsdGlwYXRoL2NvbmZpZy5jCiBAQCAtMjYsNiArMjYsNyBAQApAQCAtMzAsMzAgKzM4LDMzIEBACiArI2luY2x1ZGUgInZlcnNpb24uaCIKICAKICBzdGF0aWMgaW50Ci0gaHdlX3N0cm1hdGNoIChzdHJ1Y3QgaHdlbnRyeSAqaHdlMSwgc3RydWN0IGh3ZW50cnkgKmh3ZTIpCi1AQCAtNjU4LDYgKzY1OSwyMCBAQCBsb2FkX2NvbmZpZyAoY2hhciAqIGZpbGUpCi0gCQkJZmFjdG9yaXplX2h3dGFibGUoY29uZi0+aHd0YWJsZSwgYnVpbHRpbl9od3RhYmxlX3NpemUpOworIGh3ZV9zdHJtYXRjaCAoY29uc3Qgc3RydWN0IGh3ZW50cnkgKmh3ZTEsIGNvbnN0IHN0cnVjdCBod2VudHJ5ICpod2UyKQorQEAgLTc0Myw2ICs3NDUsMjMgQEAgbG9hZF9jb25maWcgKGNoYXIgKiBmaWxlKQorIAkJCWdvdG8gb3V0OwogIAkJfQotIAorIAkJZmFjdG9yaXplX2h3dGFibGUoY29uZi0+aHd0YWJsZSwgYnVpbHRpbl9od3RhYmxlX3NpemUsIGZpbGUpOwogKwl9IGVsc2UgewogKwkJY29uZGxvZygwLCAiL2V0Yy9tdWx0aXBhdGguY29uZiBkb2VzIG5vdCBleGlzdCwgYmxhY2tsaXN0aW5nIGFsbCBkZXZpY2VzLiIpOwogKwkJaWYgKGNvbmYtPmJsaXN0X2Rldm5vZGUgPT0gTlVMTCkgewogKwkJCWNvbmYtPmJsaXN0X2Rldm5vZGUgPSB2ZWN0b3JfYWxsb2MoKTsKICsJCQlpZiAoIWNvbmYtPmJsaXN0X2Rldm5vZGUpIHsKLSsJCQkJY29uZGxvZygwLCAiY2Fubm90IGFsbG9jYXRlIGJsYWNrbGlzdFxuIik7CisrCQkJCWNvbmYtPmJsaXN0X2Rldm5vZGUgPSB2ZWN0b3JfYWxsb2MoKTsKKysJCQkJaWYgKCFjb25mLT5ibGlzdF9kZXZub2RlKSB7CisrCQkJCQljb25kbG9nKDAsICJjYW5ub3QgYWxsb2NhdGUgYmxhY2tsaXN0XG4iKTsKKysJCQkJCWdvdG8gb3V0OworKwkJCQl9CisrCQkJfQorKwkJCWlmIChzdG9yZV9ibGUoY29uZi0+Ymxpc3RfZGV2bm9kZSwgc3RyZHVwKCIuKiIpLAorKwkJCQlPUklHSU5fTk9fQ09ORklHKSkgeworKwkJCQljb25kbG9nKDAsICJjYW5ub3Qgc3RvcmUgZGVmYXVsdCBuby1jb25maWcgYmxhY2tsaXN0XG4iKTsKICsJCQkJZ290byBvdXQ7CiArCQkJfQogKwkJfQotKwkJaWYgKHN0b3JlX2JsZShjb25mLT5ibGlzdF9kZXZub2RlLCBzdHJkdXAoIi4qIiksCi0rCQkgICAgICAgICAgICAgIE9SSUdJTl9OT19DT05GSUcpKSB7Ci0rCQkJY29uZGxvZygwLCAiY2Fubm90IHN0b3JlIGRlZmF1bHQgbm8tY29uZmlnIGJsYWNrbGlzdFxuIik7Ci0rCQkJZ290byBvdXQ7Ci0rCQl9CiAgCX0KICAKICAJY29uZi0+cHJvY2Vzc2VkX21haW5fY29uZmlnID0gMTsKIGRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY29uZmlnLmggYi9saWJtdWx0aXBhdGgvY29uZmlnLmgKLWluZGV4IGZjYmUzZmMuLjNhNDI0MzUgMTAwNjQ0CitpbmRleCA3ZDBjZDlhLi5kN2ZiOGUyIDEwMDY0NAogLS0tIGEvbGlibXVsdGlwYXRoL2NvbmZpZy5oCiArKysgYi9saWJtdWx0aXBhdGgvY29uZmlnLmgKIEBAIC05LDYgKzksNyBAQApAQCAtNjUsNyArNzYsNyBAQAogIC8qCiAgICogSW4ga2VybmVsLCBmYXN0X2lvX2ZhaWwgPT0gMCBtZWFucyBpbW1lZGlhdGUgZmFpbHVyZSBvbiBycG9ydCBkZWxldGUuCiBkaWZmIC0tZ2l0IGEvbXVsdGlwYXRoL211bHRpcGF0aC5ydWxlcyBiL211bHRpcGF0aC9tdWx0aXBhdGgucnVsZXMKLWluZGV4IGQ2NTgwNzMuLmIzZjU0ZDcgMTAwNjQ0CitpbmRleCA5ZGYxMWE5Li4wNDg2YmY3IDEwMDY0NAogLS0tIGEvbXVsdGlwYXRoL211bHRpcGF0aC5ydWxlcwogKysrIGIvbXVsdGlwYXRoL211bHRpcGF0aC5ydWxlcwogQEAgLTksNiArOSw3IEBAIElNUE9SVHtjbWRsaW5lfT0ibm9tcGF0aCIKQEAgLTc3LDcgKzg4LDcgQEAKICBFTlZ7REVWVFlQRX0hPSJwYXJ0aXRpb24iLCBHT1RPPSJ0ZXN0X2RldiIKICBJTVBPUlR7cGFyZW50fT0iRE1fTVVMVElQQVRIX0RFVklDRV9QQVRIIgogZGlmZiAtLWdpdCBhL211bHRpcGF0aGQvbXVsdGlwYXRoZC44IGIvbXVsdGlwYXRoZC9tdWx0aXBhdGhkLjgKLWluZGV4IGU3OGFjOWUuLjA5Y2RlYWQgMTAwNjQ0CitpbmRleCA5NGMzZjk3Li5lZDEzZWZkIDEwMDY0NAogLS0tIGEvbXVsdGlwYXRoZC9tdWx0aXBhdGhkLjgKICsrKyBiL211bHRpcGF0aGQvbXVsdGlwYXRoZC44CiBAQCAtMzgsNiArMzgsOCBAQCBtYXAgcmVnYWlucyBpdHMgbWF4aW11bSBwZXJmb3JtYW5jZSBhbmQgcmVkdW5kYW5jeS4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI0LVJILXVzZS1ycG0tb3B0ZmxhZ3MtaWYtcHJlc2VudC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI0LVJILXVzZS1ycG0tb3B0ZmxhZ3MtaWYtcHJlc2VudC5wYXRjaAppbmRleCA5MzMwYmYwLi43N2RkOTZmIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNC1SSC11c2UtcnBtLW9wdGZsYWdzLWlmLXByZXNlbnQucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjQtUkgtdXNlLXJwbS1vcHRmbGFncy1pZi1wcmVzZW50LnBhdGNoCkBAIC0xLDQ5ICsxLDU4IEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDE5IEFwciAyMDE3IDA2OjEwOjAxIC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIFJIOiB1c2UgcnBtIG9wdGZsYWdzIGlmIHByZXNlbnQKK0Zyb20gNDM2Zjc1OTQ0ODVlMzU1MjMyNjllNjYyYzRiNWRjM2EyYzEwZmY5YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI2IE5vdiAyMDE4IDA5OjE5OjE3ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3CisgMDA6MDA6MDAgMjAwMSBGcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+IERhdGU6IFdlZCwgMTkKKyBBcHIgMjAxNyAwNjoxMDowMSAtMDUwMCBTdWJqZWN0OiBbUEFUQ0hdIFJIOiB1c2UgcnBtIG9wdGZsYWdzIGlmIHByZXNlbnQKIAogVXNlIHRoZSBwYXNzZWQgaW4gb3B0ZmxhZ3Mgd2hlbiBjb21waWxpbmcgYXMgYW4gUlBNLCBhbmQga2VlcCB0aGUKIGRlZmF1bHQgZmxhZ3MgYXMgY2xvc2UgYXMgcG9zc2libGUgdG8gdGhlIGN1cnJlbnQgZmVkb3JhIGZsYWdzLCB3aGlsZQogc3RpbGwgYmVpbmcgZ2VuZXJpYy4KIAogU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKwordXBkYXRlIHRoaXMgcGF0Y2ggdG8gbmV3IHZlcnNpb24KKworU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KIC0tLQotIE1ha2VmaWxlLmluYyB8IDI0ICsrKysrKysrKysrKysrKystLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorIE1ha2VmaWxlLmluYyB8IDI1ICsrKysrKysrKysrKysrKystLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluYyBiL01ha2VmaWxlLmluYwotaW5kZXggMGIyNzFlYS4uNWZmNjlhMyAxMDA2NDQKK2luZGV4IGI4NmNiYTYuLjI5NWFmYjkgMTAwNjQ0CiAtLS0gYS9NYWtlZmlsZS5pbmMKICsrKyBiL01ha2VmaWxlLmluYwotQEAgLTg1LDE0ICs4NSwyMiBAQCBURVNUX0NDX09QVElPTiA9ICQoc2hlbGwgXAorQEAgLTg1LDE1ICs4NSwyMiBAQCBURVNUX0NDX09QVElPTiA9ICQoc2hlbGwgXAogIAkJZWNobyAiJCgyKSI7IFwKICAJZmkpCiAgCiAtU1RBQ0tQUk9UIDo9ICQoY2FsbCBURVNUX0NDX09QVElPTiwtZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcsLWZzdGFjay1wcm90ZWN0b3IpCistRVJST1JfRElTQ0FSREVEX1FVQUxJRklFUlMgOj0gJChjYWxsIFRFU1RfQ0NfT1BUSU9OLC1XZXJyb3I9ZGlzY2FyZGVkLXF1YWxpZmllcnMsKQogLQogLU9QVEZMQUdTCT0gLU8yIC1nIC1waXBlIC1XYWxsIC1XZXh0cmEgLVdmb3JtYXQ9MiAtV2Vycm9yPWltcGxpY2l0LWludCBcCiAtCQkgIC1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb24gLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkgXAogLQkJICAtV25vLXNpZ24tY29tcGFyZSAtV25vLXVudXNlZC1wYXJhbWV0ZXIgLVduby1jbG9iYmVyZWQgXAotLQkJICAtV2Vycm9yPWNhc3QtcXVhbCAtV2Vycm9yPWRpc2NhcmRlZC1xdWFsaWZpZXJzIFwKKy0JCSAgLVdlcnJvcj1jYXN0LXF1YWwgJChFUlJPUl9ESVNDQVJERURfUVVBTElGSUVSUykgXAogLQkJICAtV3AsLURfRk9SVElGWV9TT1VSQ0U9MiAkKFNUQUNLUFJPVCkgXAogLQkJICAtLXBhcmFtPXNzcC1idWZmZXItc2l6ZT00CiAraWZuZGVmIFJQTV9PUFRfRkxBR1MKLSsJU1RBQ0tQUk9UIDo9ICQoY2FsbCBURVNUX0NDX09QVElPTiwtZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcsLWZzdGFjay1wcm90ZWN0b3IpCi0rCU9QVEZMQUdTCT0gLU8yIC1nIC1waXBlIC1XYWxsIC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IFwKLSsJCQkgIC1XcCwtRF9GT1JUSUZZX1NPVVJDRT0yIC1mZXhjZXB0aW9ucyBcCi0rCQkJICAkKFNUQUNLUFJPVCkgLS1wYXJhbT1zc3AtYnVmZmVyLXNpemU9NCBcCi0rCQkJICAtZ3JlY29yZC1nY2Mtc3dpdGNoZXMKLSsJaWZlcSAoJChzaGVsbCB0ZXN0IC1mIC91c3IvbGliL3JwbS9yZWRoYXQvcmVkaGF0LWhhcmRlbmVkLWNjMSAmJiBlY2hvIDEpLDEpCi0rCQlPUFRGTEFHUyArPSAtc3BlY3M9L3Vzci9saWIvcnBtL3JlZGhhdC9yZWRoYXQtaGFyZGVuZWQtY2MxCi0rCWVuZGlmCisrICAgICAgIFNUQUNLUFJPVCA6PSAkKGNhbGwgVEVTVF9DQ19PUFRJT04sLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nLC1mc3RhY2stcHJvdGVjdG9yKQorKyAgICAgICBPUFRGTEFHUyAgICAgICAgPSAtTzIgLWcgLXBpcGUgLVdhbGwgLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkgXAorKyAgICAgICAgICAgICAgICAgICAgICAgICAtV3AsLURfRk9SVElGWV9TT1VSQ0U9MiAtZmV4Y2VwdGlvbnMgXAorKyAgICAgICAgICAgICAgICAgICAgICAgICAkKFNUQUNLUFJPVCkgLS1wYXJhbT1zc3AtYnVmZmVyLXNpemU9NCBcCisrICAgICAgICAgICAgICAgICAgICAgICAgIC1ncmVjb3JkLWdjYy1zd2l0Y2hlcworKyAgICAgICBpZmVxICgkKHNoZWxsIHRlc3QgLWYgL3Vzci9saWIvcnBtL3JlZGhhdC9yZWRoYXQtaGFyZGVuZWQtY2MxICYmIGVjaG8gMSksMSkKKysgICAgICAgICAgICAgICBPUFRGTEFHUyArPSAtc3BlY3M9L3Vzci9saWIvcnBtL3JlZGhhdC9yZWRoYXQtaGFyZGVuZWQtY2MxCisrICAgICAgIGVuZGlmCiArZWxzZQotKwlPUFRGTEFHUyA9ICQoUlBNX09QVF9GTEFHUykKKysgICAgICAgT1BURkxBR1MgPSAkKFJQTV9PUFRfRkxBR1MpCiArZW5kaWYKLStPUFRGTEFHUwkrPSAtV2V4dHJhIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVdmb3JtYXQ9MiAtV2Vycm9yPWltcGxpY2l0LWludCBcCi0rCQkgICAtV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uIC1Xbm8tc2lnbi1jb21wYXJlIFwKLSsJCSAgIC1Xbm8tdW51c2VkLXBhcmFtZXRlciAtV2Vycm9yPWNhc3QtcXVhbCBcCi0rCQkgICAtV2Vycm9yPWRpc2NhcmRlZC1xdWFsaWZpZXJzCisrT1BURkxBR1MgICAgICAgKz0gLVdleHRyYSAtV3N0cmljdC1wcm90b3R5cGVzIC1XZm9ybWF0PTIgLVdlcnJvcj1pbXBsaWNpdC1pbnQgXAorKyAgICAgICAgICAgICAgICAgIC1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb24gLVduby1zaWduLWNvbXBhcmUgXAorKyAgICAgICAgICAgICAgICAgIC1Xbm8tdW51c2VkLXBhcmFtZXRlciAtV2Vycm9yPWNhc3QtcXVhbCBcCisrICAgICAgICAgICAgICAgICAgLVdlcnJvcj1kaXNjYXJkZWQtcXVhbGlmaWVycwogIAogIENGTEFHUwkJOj0gJChPUFRGTEFHUykgLURCSU5fRElSPVwiJChiaW5kaXIpXCIgLURMSUJfU1RSSU5HPVwiJHtMSUJ9XCIgLURSVU5fRElSPVwiJHtSVU59XCIgXAogIAkJICAgLU1NRCAtTVAgJChDRkxBR1MpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNS1SSC1hZGQtbXBhdGhjb25mLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjUtUkgtYWRkLW1wYXRoY29uZi5wYXRjaAppbmRleCA1Y2FkMjJiLi5hMTQwNzcxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNS1SSC1hZGQtbXBhdGhjb25mLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI1LVJILWFkZC1tcGF0aGNvbmYucGF0Y2gKQEAgLTEsNyArMSw5IEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDE2IE9jdCAyMDE0IDE1OjQ5OjAxIC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIFJIOiBhZGQgbXBhdGhjb25mCitGcm9tIGViNWEzNmU2ZTBjYWVkZjA2MDA4ZTQ4ZWI3N2I3YmY3YzY1MzRlZTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNiBOb3YgMjAxOCAwOTo1NToxMiArMDgwMAorU3ViamVjdDogW1BBVENIXSBGcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNworIDAwOjAwOjAwIDIwMDEgRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPiBEYXRlOiBUaHUsIDE2CisgT2N0IDIwMTQgMTU6NDk6MDEgLTA1MDAgU3ViamVjdDogW1BBVENIXSBSSDogYWRkIG1wYXRoY29uZgogCiBtcGF0aGNvbmYgaXMgYSBwcm9ncmFtIChsYXJnZWx5IGJhc2VkIG9uIGx2bWNvbWYpIHRvIGhlbHAgdXNlcnMKIGNvbmZpZ3VyZSAvZXRjL211bHRpcGF0aC5jb25mIGFuZCBlbmFibGUgb3IgZGlzYWJsZSBtdWx0aXBhdGhpbmcuICBJdApAQCAtMTEsNiArMTMsMTIgQEAKIGEgc2luZ2xlIGNvbW1hbmQuCiAKIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK3VwZGF0ZSB0aGlzIHBhdGNoIHRvIG5ldyB2ZXJzaW9uCisKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KICBsaWJtdWx0aXBhdGgvY29uZmlnLmMgfCAgIDEgKwogIG11bHRpcGF0aC9NYWtlZmlsZSAgICB8ICAgNSArCkBAIC0yMSwxMSArMjksMTEgQEAKICBjcmVhdGUgbW9kZSAxMDA2NDQgbXVsdGlwYXRoL21wYXRoY29uZi44CiAKIGRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY29uZmlnLmMgYi9saWJtdWx0aXBhdGgvY29uZmlnLmMKLWluZGV4IDA2MDc0MDMuLjVjOThlNDggMTAwNjQ0CitpbmRleCBlNDIzM2YxLi5iNzc5NTA1IDEwMDY0NAogLS0tIGEvbGlibXVsdGlwYXRoL2NvbmZpZy5jCiArKysgYi9saWJtdWx0aXBhdGgvY29uZmlnLmMKLUBAIC02NjEsNiArNjYxLDcgQEAgbG9hZF9jb25maWcgKGNoYXIgKiBmaWxlKQotIAorQEAgLTc0Nyw2ICs3NDcsNyBAQCBsb2FkX2NvbmZpZyAoY2hhciAqIGZpbGUpCisgCQlmYWN0b3JpemVfaHd0YWJsZShjb25mLT5od3RhYmxlLCBidWlsdGluX2h3dGFibGVfc2l6ZSwgZmlsZSk7CiAgCX0gZWxzZSB7CiAgCQljb25kbG9nKDAsICIvZXRjL211bHRpcGF0aC5jb25mIGRvZXMgbm90IGV4aXN0LCBibGFja2xpc3RpbmcgYWxsIGRldmljZXMuIik7CiArCQljb25kbG9nKDAsICJZb3UgY2FuIHJ1biAvc2Jpbi9tcGF0aGNvbmYgdG8gY3JlYXRlIG9yIG1vZGlmeSAvZXRjL211bHRpcGF0aC5jb25mIik7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNi1SSC1hZGQtd3dpZHMtZnJvbS1rZXJuZWwtY21kbGluZS1tcGF0aC53d2lkcy13aXRoLUEucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNi1SSC1hZGQtd3dpZHMtZnJvbS1rZXJuZWwtY21kbGluZS1tcGF0aC53d2lkcy13aXRoLUEucGF0Y2gKaW5kZXggZGRmMDIyZi4uOTM4MjYyYiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjYtUkgtYWRkLXd3aWRzLWZyb20ta2VybmVsLWNtZGxpbmUtbXBhdGgud3dpZHMtd2l0aC1BLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI2LVJILWFkZC13d2lkcy1mcm9tLWtlcm5lbC1jbWRsaW5lLW1wYXRoLnd3aWRzLXdpdGgtQS5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3ICAwMDowMDowMCAyMDAxIAogRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotRGF0ZTogRnJpLCAxNyBPY3QgMjAxNCAxMToyMDozNCAtMDUwMAotU3ViamVjdDogW1BBVENIXSBSSDogYWRkIHd3aWRzIGZyb20ga2VybmVsIGNtZGxpbmUgbXBhdGgud3dpZHMgd2l0aCAtQQorRGF0ZTogRnJpLCAxNyAgT2N0IDIwMTQgMTE6MjA6MzQgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gUkg6IGFkZCB3d2lkcyBmcm9tIGtlcm5lbCBjbWRsaW5lICBtcGF0aC53d2lkcyB3aXRoIC1BCiAKIFRoaXMgcGF0Y2ggYWRkcyBhbm90aGVyIG9wdGlvbiB0byBtdWx0aXBhdGgsICItQSIsIHdoaWNoIHJlYWRzCiAvcHJvYy9jbWRsaW5lIGZvciBtcGF0aC53d2lkPTxXV0lEPiBvcHRpb25zLCBhbmQgYWRkcyBhbnkgd3dpZHMgaXQgZmluZHMKQEAgLTEzLDE2ICsxMywyMiBAQAogbXVsdGlwYXRoZC5zZXJ2aWNlCiAKIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1VwZGF0ZSB0aGlzIHBhdGNoIHRvIG5ldyB2ZXJzaW9uIDAuOC4wCisKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KICBsaWJtdWx0aXBhdGgvd3dpZHMuYyAgICAgICAgICB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKICBsaWJtdWx0aXBhdGgvd3dpZHMuaCAgICAgICAgICB8ICAxICsKLSBtdWx0aXBhdGgvbWFpbi5jICAgICAgICAgICAgICB8IDEwICsrKysrKysrLS0KLSBtdWx0aXBhdGgvbXVsdGlwYXRoLjggICAgICAgICB8ICA1ICsrKystCisgbXVsdGlwYXRoL21haW4uYyAgICAgICAgICAgICAgfCAgOSArKysrKysrKy0KKyBtdWx0aXBhdGgvbXVsdGlwYXRoLjggICAgICAgICB8ICAzICsrKwogIG11bHRpcGF0aGQvbXVsdGlwYXRoZC5zZXJ2aWNlIHwgIDEgKwotIDUgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKyA1IGZpbGVzIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC93d2lkcy5jIGIvbGlibXVsdGlwYXRoL3d3aWRzLmMKLWluZGV4IDUzZTc5NTEuLjM5ZTA4Y2QgMTAwNjQ0CitpbmRleCA1M2U3OTUxLi45YmE5YjYyIDEwMDY0NAogLS0tIGEvbGlibXVsdGlwYXRoL3d3aWRzLmMKICsrKyBiL2xpYm11bHRpcGF0aC93d2lkcy5jCiBAQCAtNDQzLDMgKzQ0Myw0NyBAQCBpbnQgb3AgIyMgX3d3aWQoY29uc3QgY2hhciAqd3dpZCkgXApAQCAtMzIsNDYgKzM4LDQ2IEBACiArCiAraW50IHJlbWVtYmVyX2NtZGxpbmVfd3dpZCh2b2lkKQogK3sKLSsJRklMRSAqZiA9IE5VTEw7Ci0rCWNoYXIgYnVmW0xJTkVfTUFYXSwgKm5leHQsICpwdHI7Ci0rCWludCByZXQgPSAwOworKyAgICAgICBGSUxFICpmID0gTlVMTDsKKysgICAgICAgY2hhciBidWZbTElORV9NQVhdLCAqbmV4dCwgKnB0cjsKKysgICAgICAgaW50IHJldCA9IDA7CiArCi0rCWYgPSBmb3BlbigiL3Byb2MvY21kbGluZSIsICJyZSIpOwotKwlpZiAoIWYpIHsKLSsJCWNvbmRsb2coMCwgImNhbid0IG9wZW4gL3Byb2MvY21kbGluZSA6ICVzIiwgc3RyZXJyb3IoZXJybm8pKTsKLSsJCXJldHVybiAtMTsKLSsJfQorKyAgICAgICBmID0gZm9wZW4oIi9wcm9jL2NtZGxpbmUiLCAicmUiKTsKKysgICAgICAgaWYgKCFmKSB7CisrICAgICAgICAgICAgICAgY29uZGxvZygwLCAiY2FuJ3Qgb3BlbiAvcHJvYy9jbWRsaW5lIDogJXMiLCBzdHJlcnJvcihlcnJubykpOworKyAgICAgICAgICAgICAgIHJldHVybiAtMTsKKysgICAgICAgfQogKwotKwlpZiAoIWZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGYpKSB7Ci0rCQlpZiAoZmVycm9yKGYpKQotKwkJCWNvbmRsb2coMCwgInJlYWQgb2YgL3Byb2MvY21kbGluZSBmYWlsZWQgOiAlcyIsCi0rCQkJCXN0cmVycm9yKGVycm5vKSk7Ci0rCQllbHNlCi0rCQkJY29uZGxvZygwLCAiY291bGRuJ3QgcmVhZCAvcHJvYy9jbWRsaW5lIik7Ci0rCQlmY2xvc2UoZik7Ci0rCQlyZXR1cm4gLTE7Ci0rCX0KLSsJZmNsb3NlKGYpOwotKwluZXh0ID0gYnVmOwotKwl3aGlsZSgocHRyID0gc3Ryc3RyKG5leHQsICJtcGF0aC53d2lkPSIpKSkgewotKwkJcHRyICs9IDExOwotKwkJbmV4dCA9IHN0cnBicmsocHRyLCAiIFx0XG4iKTsKLSsJCWlmIChuZXh0KSB7Ci0rCQkJKm5leHQgPSAnXDAnOwotKwkJCW5leHQrKzsKLSsJCX0KLSsJCWlmIChzdHJsZW4ocHRyKSkgewotKwkJCWlmIChyZW1lbWJlcl93d2lkKHB0cikgIT0gMCkKLSsJCQkJcmV0ID0gLTE7Ci0rCQl9Ci0rCQllbHNlIHsKLSsJCQljb25kbG9nKDAsICJlbXB0eSBtcGF0aC53d2lkIGtlcm5lbCBjb21tYW5kIGxpbmUgb3B0aW9uIik7Ci0rCQkJcmV0ID0gLTE7Ci0rCQl9Ci0rCQlpZiAoIW5leHQpCi0rCQkJYnJlYWs7Ci0rCX0KLSsJcmV0dXJuIHJldDsKKysgICAgICAgaWYgKCFmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmKSkgeworKyAgICAgICAgICAgICAgIGlmIChmZXJyb3IoZikpCisrICAgICAgICAgICAgICAgICAgICAgICBjb25kbG9nKDAsICJyZWFkIG9mIC9wcm9jL2NtZGxpbmUgZmFpbGVkIDogJXMiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJlcnJvcihlcnJubykpOworKyAgICAgICAgICAgICAgIGVsc2UKKysgICAgICAgICAgICAgICAgICAgICAgIGNvbmRsb2coMCwgImNvdWxkbid0IHJlYWQgL3Byb2MvY21kbGluZSIpOworKyAgICAgICAgICAgICAgIGZjbG9zZShmKTsKKysgICAgICAgICAgICAgICByZXR1cm4gLTE7CisrICAgICAgIH0KKysgICAgICAgZmNsb3NlKGYpOworKyAgICAgICBuZXh0ID0gYnVmOworKyAgICAgICB3aGlsZSgocHRyID0gc3Ryc3RyKG5leHQsICJtcGF0aC53d2lkPSIpKSkgeworKyAgICAgICAgICAgICAgIHB0ciArPSAxMTsKKysgICAgICAgICAgICAgICBuZXh0ID0gc3RycGJyayhwdHIsICIgXHRcbiIpOworKyAgICAgICAgICAgICAgIGlmIChuZXh0KSB7CisrICAgICAgICAgICAgICAgICAgICAgICAqbmV4dCA9ICdcMCc7CisrICAgICAgICAgICAgICAgICAgICAgICBuZXh0Kys7CisrICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgIGlmIChzdHJsZW4ocHRyKSkgeworKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlbWVtYmVyX3d3aWQocHRyKSAhPSAwKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAtMTsKKysgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgZWxzZSB7CisrICAgICAgICAgICAgICAgICAgICAgICBjb25kbG9nKDAsICJlbXB0eSBtcGF0aC53d2lkIGtlcm5lbCBjb21tYW5kIGxpbmUgb3B0aW9uIik7CisrICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAtMTsKKysgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgaWYgKCFuZXh0KQorKyAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgIH0KKysgICAgICAgcmV0dXJuIHJldDsKICt9CiBkaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3d3aWRzLmggYi9saWJtdWx0aXBhdGgvd3dpZHMuaAogaW5kZXggMGM2ZWU1NC4uZTMyYTBiMCAxMDA2NDQKQEAgLTg2LDE5ICs5MiwxOCBAQAogIGVudW0gewogIAlXV0lEX0lTX05PVF9GQUlMRUQgPSAwLAogZGlmZiAtLWdpdCBhL211bHRpcGF0aC9tYWluLmMgYi9tdWx0aXBhdGgvbWFpbi5jCi1pbmRleCA2ZmRkZTAzLi43YmFjMjMyIDEwMDY0NAoraW5kZXggNWFiYjExOC4uYzc1MWIzMSAxMDA2NDQKIC0tLSBhL211bHRpcGF0aC9tYWluLmMKICsrKyBiL211bHRpcGF0aC9tYWluLmMKLUBAIC0xMDksNyArMTA5LDcgQEAgdXNhZ2UgKGNoYXIgKiBwcm9nbmFtZSkKLSB7CitAQCAtMTM0LDYgKzEzNCw3IEBAIHVzYWdlIChjaGFyICogcHJvZ25hbWUpCiAgCWZwcmludGYgKHN0ZGVyciwgVkVSU0lPTl9TVFJJTkcpOwogIAlmcHJpbnRmIChzdGRlcnIsICJVc2FnZTpcbiIpOwotLQlmcHJpbnRmIChzdGRlcnIsICIgICVzIFstYXwtY3wtd3wtV10gWy1kXSBbLXJdIFstaV0gWy12IGx2bF0gWy1wIHBvbF0gWy1iIGZpbF0gWy1xXSBbZGV2XVxuIiwgcHJvZ25hbWUpOworIAlmcHJpbnRmIChzdGRlcnIsICIgICVzIFstYXwtY3wtd3wtV10gWy1kXSBbLXJdIFstaV0gWy12IGx2bF0gWy1wIHBvbF0gWy1iIGZpbF0gWy1xXSBbZGV2XVxuIiwgcHJvZ25hbWUpOwogKwlmcHJpbnRmIChzdGRlcnIsICIgICVzIFstYXwtQXwtY3wtd3wtV10gWy1kXSBbLXJdIFstaV0gWy12IGx2bF0gWy1wIHBvbF0gWy1iIGZpbF0gWy1xXSBbZGV2XVxuIiwgcHJvZ25hbWUpOwogIAlmcHJpbnRmIChzdGRlcnIsICIgICVzIC1sfC1sbHwtZiBbLXYgbHZsXSBbLWIgZmlsXSBbLVIgbnVtXSBbZGV2XVxuIiwgcHJvZ25hbWUpOwogIAlmcHJpbnRmIChzdGRlcnIsICIgICVzIC1GIFstdiBsdmxdIFstUiBudW1dXG4iLCBwcm9nbmFtZSk7Ci0gCWZwcmludGYgKHN0ZGVyciwgIiAgJXMgLXRcbiIsIHByb2duYW1lKTsKLUBAIC0xMjMsNiArMTIzLDggQEAgdXNhZ2UgKGNoYXIgKiBwcm9nbmFtZSkKKyAJZnByaW50ZiAoc3RkZXJyLCAiICAlcyBbLXR8LVRdXG4iLCBwcm9nbmFtZSk7CitAQCAtMTQ3LDYgKzE0OCw4IEBAIHVzYWdlIChjaGFyICogcHJvZ25hbWUpCiAgCQkiICAtZiAgICAgIGZsdXNoIGEgbXVsdGlwYXRoIGRldmljZSBtYXBcbiIKICAJCSIgIC1GICAgICAgZmx1c2ggYWxsIG11bHRpcGF0aCBkZXZpY2UgbWFwc1xuIgogIAkJIiAgLWEgICAgICBhZGQgYSBkZXZpY2Ugd3dpZCB0byB0aGUgd3dpZHMgZmlsZVxuIgpAQCAtMTA3LDQwICsxMTIsMzEgQEAKICAJCSIgIC1jICAgICAgY2hlY2sgaWYgYSBkZXZpY2Ugc2hvdWxkIGJlIGEgcGF0aCBpbiBhIG11bHRpcGF0aCBkZXZpY2VcbiIKICAJCSIgIC1DICAgICAgY2hlY2sgaWYgYSBtdWx0aXBhdGggZGV2aWNlIGhhcyB1c2FibGUgcGF0aHNcbiIKICAJCSIgIC1xICAgICAgYWxsb3cgcXVldWVfaWZfbm9fcGF0aCB3aGVuIG11bHRpcGF0aGQgaXMgbm90IHJ1bm5pbmdcbiIKLUBAIC05MDcsNyArOTA5LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKLSAJCWV4aXQoMSk7CitAQCAtODcwLDcgKzg3Myw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCQlleGl0KFJUVkxfRkFJTCk7CiAgCW11bHRpcGF0aF9jb25mID0gY29uZjsKICAJY29uZi0+cmV0cmlnZ2VyX3RyaWVzID0gMDsKLS0Jd2hpbGUgKChhcmcgPSBnZXRvcHQoYXJnYywgYXJndiwgIjphZGNDaGw6OkZmTTp2OnA6YjpCclI6aXRxdVV3VyIpKSAhPSBFT0YgKSB7Ci0rCXdoaWxlICgoYXJnID0gZ2V0b3B0KGFyZ2MsIGFyZ3YsICI6YUFkY0NobDo6RmZNOnY6cDpiOkJyUjppdHF1VXdXIikpICE9IEVPRiApIHsKKy0Jd2hpbGUgKChhcmcgPSBnZXRvcHQoYXJnYywgYXJndiwgIjphZGNDaGw6OkZmTTp2OnA6YjpCclI6aXRUcXVVd1ciKSkgIT0gRU9GICkgeworKwl3aGlsZSAoKGFyZyA9IGdldG9wdChhcmdjLCBhcmd2LCAiOmFBZGNDaGw6OkZmTTp2OnA6YjpCclI6aXRUcXVVd1ciKSkgIT0gRU9GICkgewogIAkJc3dpdGNoKGFyZykgewogIAkJY2FzZSAxOiBwcmludGYoIm9wdGFyZyA6ICVzXG4iLG9wdGFyZyk7CiAgCQkJYnJlYWs7Ci1AQCAtOTc0LDYgKzk3NiwxMCBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorQEAgLTkzNyw2ICs5NDAsMTAgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAJCWNhc2UgJ3QnOgotIAkJCXIgPSBkdW1wX2NvbmZpZyhjb25mKTsKKyAJCQlyID0gZHVtcF9jb25maWcoY29uZiwgTlVMTCwgTlVMTCkgPyBSVFZMX0ZBSUwgOiBSVFZMX09LOwogIAkJCWdvdG8gb3V0X2ZyZWVfY29uZmlnOwogKwkJY2FzZSAnQSc6CiArCQkJaWYgKHJlbWVtYmVyX2NtZGxpbmVfd3dpZCgpICE9IDApCiArCQkJCWV4aXQoMSk7CiArCQkJZXhpdCgwKTsKLSAJCWNhc2UgJ2gnOgotIAkJCXVzYWdlKGFyZ3ZbMF0pOwotIAkJCWV4aXQoMCk7CisgCQljYXNlICdUJzoKKyAJCQljbWQgPSBDTURfRFVNUF9DT05GSUc7CisgCQkJYnJlYWs7CiBkaWZmIC0tZ2l0IGEvbXVsdGlwYXRoL211bHRpcGF0aC44IGIvbXVsdGlwYXRoL211bHRpcGF0aC44Ci1pbmRleCA5MTRhOGNiLi44YzZhNGMxIDEwMDY0NAoraW5kZXggOWNkZDA1YS4uMWUxMjBmMyAxMDA2NDQKIC0tLSBhL211bHRpcGF0aC9tdWx0aXBhdGguOAogKysrIGIvbXVsdGlwYXRoL211bHRpcGF0aC44Ci1AQCAtMjUsNyArMjUsNyBAQCBtdWx0aXBhdGggXC0gRGV2aWNlIG1hcHBlciB0YXJnZXQgYXV0b2NvbmZpZy4KLSAuUkIgW1x8IFwtYlwgXGMKLSAuSVIgYmluZGluZ3NfZmlsZSBcfF0KLSAuUkIgW1x8IFwtZCBcfF0KLS0uUkIgW1x8IFwtaCB8IFwtbCB8IFwtbGwgfCBcLWYgfCBcLXQgfCBcLUYgfCBcLUIgfCBcLWMgfCBcLUMgfCBcLXEgfCBcLXIgfCBcLWkgfCBcLWEgfCBcLXUgfCBcLVUgfCBcLXcgfCBcLVcgXHxdCi0rLlJCIFtcfCBcLWggfCBcLWwgfCBcLWxsIHwgXC1mIHwgXC10IHwgXC1GIHwgXC1CIHwgXC1jIHwgXC1DIHwgXC1xIHwgXC1yIHwgXC1pIHwgXC1hIHwgXC1BIHwgXC11IHwgXC1VIHwgXC13IHwgXC1XIFx8XQotIC5SQiBbXHwgXC1wXCBcYwotIC5JUiBmYWlsb3ZlciB8IG11bHRpYnVzIHwgZ3JvdXBfYnlfc2VyaWFsIHwgZ3JvdXBfYnlfcHJpbyB8IGdyb3VwX2J5X25vZGVfbmFtZSBcfF0KLSAuUkIgW1x8IFwtUlwgXGMKLUBAIC0xMzUsNiArMTM1LDkgQEAgQWRkIHRoZSBXV0lEIGZvciB0aGUgc3BlY2lmaWVkIGRldmljZSB0byB0aGUgV1dJRHMgZmlsZS4KK0BAIC0xNjcsNiArMTY3LDkgQEAgaXRzZWxmIGRvZXNuJ3QgYXR0ZW1wdCB0byBkbyBJL08gb24gdGhlIGRldmljZS4KICBDaGVjayBpZiB0aGUgZGV2aWNlIHNwZWNpZmllZCBpbiB0aGUgcHJvZ3JhbSBlbnZpcm9ubWVudCBzaG91bGQgYmUKICBhIHBhdGggaW4gYSBtdWx0aXBhdGggZGV2aWNlLgogIC4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI3LVJILXdhcm4tb24taW52YWxpZC1yZWdleC1pbnN0ZWFkLW9mLWZhaWxpbmcucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNy1SSC13YXJuLW9uLWludmFsaWQtcmVnZXgtaW5zdGVhZC1vZi1mYWlsaW5nLnBhdGNoCmluZGV4IGEyM2UxNjcuLjU3ZDA0ZDAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI3LVJILXdhcm4tb24taW52YWxpZC1yZWdleC1pbnN0ZWFkLW9mLWZhaWxpbmcucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjctUkgtd2Fybi1vbi1pbnZhbGlkLXJlZ2V4LWluc3RlYWQtb2YtZmFpbGluZy5wYXRjaApAQCAtMSw3ICsxLDEwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDYgTm92IDIwMTcgMjE6Mzk6MjggLTA2MDAKLVN1YmplY3Q6IFtQQVRDSF0gUkg6IHdhcm4gb24gaW52YWxpZCByZWdleCBpbnN0ZWFkIG9mIGZhaWxpbmcKK0Zyb20gZDE2ZGU3MGI3NjkxOTI2OTU2MWI0ZTQwNDgyNWY3ODI4NmVhOWE0MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI2IE5vdiAyMDE4IDEwOjMxOjMwICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3CisgMDA6MDA6MDAgMjAwMSBGcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+IERhdGU6IE1vbiwgNiBOb3YKKyAyMDE3IDIxOjM5OjI4IC0wNjAwIFN1YmplY3Q6IFtQQVRDSF0gUkg6IHdhcm4gb24gaW52YWxpZCByZWdleCBpbnN0ZWFkIG9mCisgZmFpbGluZwogCiBtdWx0aXBhdGguY29uZiB1c2VkIHRvIGFsbG93ICIqIiBhcyBhIG1hdGNoIGV2ZXJ5dGhpbmcgcmVndWxhciBleHByZXNzaW9uLAogaW5zdGVhZCBvZiByZXF1aXJpbmcgIi4qIi4gSW5zdGVhZCBvZiBlcnJvcmluZyB3aGVuIHRoZSBvbGQgc3R5bGUKQEAgLTksMzkgKzEyLDU2IEBACiB0aGVtLgogCiBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCit1cGRhdGUgdGhpcyBwYXRjaCB0byBuZXcgdmVyc2lvbgorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCi0gbGlibXVsdGlwYXRoL2RpY3QuYyAgIHwgMjcgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCisgbGlibXVsdGlwYXRoL2RpY3QuYyAgIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KICBsaWJtdWx0aXBhdGgvcGFyc2VyLmMgfCAxMyArKysrKysrKysrKysrCi0gbGlibXVsdGlwYXRoL3BhcnNlci5oIHwgIDEgKwotIDMgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKyBsaWJtdWx0aXBhdGgvcGFyc2VyLmggfCAgMiArLQorIDMgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9kaWN0LmMgYi9saWJtdWx0aXBhdGgvZGljdC5jCi1pbmRleCA3YWQwZjVhLi5hYjgwOGQ2IDEwMDY0NAoraW5kZXggYTgxYzA1MS4uMDY4OTc2MyAxMDA2NDQKIC0tLSBhL2xpYm11bHRpcGF0aC9kaWN0LmMKICsrKyBiL2xpYm11bHRpcGF0aC9kaWN0LmMKLUBAIC01NSw2ICs1NSwyMSBAQCBzZXRfc3RyKHZlY3RvciBzdHJ2ZWMsIHZvaWQgKnB0cikKK0BAIC01OSw2ICs1OSwyMSBAQCBzZXRfc3RyKHZlY3RvciBzdHJ2ZWMsIHZvaWQgKnB0cikKICB9CiAgCiAgc3RhdGljIGludAogK3NldF9yZWdleCh2ZWN0b3Igc3RydmVjLCB2b2lkICpwdHIpCiArewotKwljaGFyICoqc3RyX3B0ciA9IChjaGFyICoqKXB0cjsKKysgICAgICAgY2hhciAqKnN0cl9wdHIgPSAoY2hhciAqKilwdHI7CiArCi0rCWlmICgqc3RyX3B0cikKLSsJCUZSRUUoKnN0cl9wdHIpOwotKwkqc3RyX3B0ciA9IHNldF9yZWdleF92YWx1ZShzdHJ2ZWMpOworKyAgICAgICBpZiAoKnN0cl9wdHIpCisrICAgICAgICAgICAgICAgRlJFRSgqc3RyX3B0cik7CisrICAgICAgICpzdHJfcHRyID0gc2V0X3JlZ2V4X3ZhbHVlKHN0cnZlYyk7CiArCi0rCWlmICghKnN0cl9wdHIpCi0rCQlyZXR1cm4gMTsKKysgICAgICAgaWYgKCEqc3RyX3B0cikKKysgICAgICAgICAgICAgICByZXR1cm4gMTsKICsKLSsJcmV0dXJuIDA7CisrICAgICAgIHJldHVybiAwOwogK30KICsKICtzdGF0aWMgaW50CiAgc2V0X3llc19ubyh2ZWN0b3Igc3RydmVjLCB2b2lkICpwdHIpCiAgewogIAljaGFyICogYnVmZjsKLUBAIC0xMjcxLDcgKzEyODYsNyBAQCBibGVfICMjIG9wdGlvbiAjIyBfaGFuZGxlciAoc3RydWN0IGNvbmZpZyAqY29uZiwgdmVjdG9yIHN0cnZlYykJCVwKK0BAIC0xMzQ2LDggKzEzNjEsOCBAQCBibGVfICMjIG9wdGlvbiAjIyBfaGFuZGxlciAoc3RydWN0IGNvbmZpZyAqY29uZiwgdmVjdG9yIHN0cnZlYykJCVwKKyAJCQkJCQkJCQlcCisgCWlmICghY29uZi0+b3B0aW9uKQkJCQkJCVwKKyAJCXJldHVybiAxOwkJCQkJCVwKKy0JCQkJCQkJCQlcCistCWJ1ZmYgPSBzZXRfdmFsdWUoc3RydmVjKTsJCQkJCVwKKysJCQkJCQkJCQlcCQorKwlidWZmID0gc2V0X3JlZ2V4X3ZhbHVlKHN0cnZlYyk7CQkJCQlcCisgCWlmICghYnVmZikJCQkJCQkJXAorIAkJcmV0dXJuIDE7CQkJCQkJXAorIAkJCQkJCQkJCVwKK0BAIC0xMzYzLDcgKzEzNzgsNyBAQCBibGVfICMjIG9wdGlvbiAjIyBfICMjIG5hbWUgIyMgX2hhbmRsZXIgKHN0cnVjdCBjb25maWcgKmNvbmYsIHZlY3RvciBzdHJ2ZWMpIFwKICAJaWYgKCFjb25mLT5vcHRpb24pCQkJCQkJXAogIAkJcmV0dXJuIDE7CQkJCQkJXAogIAkJCQkJCQkJCVwKQEAgLTUwLDE2ICs3MCw3IEBACiAgCWlmICghYnVmZikJCQkJCQkJXAogIAkJcmV0dXJuIDE7CQkJCQkJXAogIAkJCQkJCQkJCVwKLUBAIC0xMjg3LDcgKzEzMDIsNyBAQCBibGVfICMjIG9wdGlvbiAjIyBfICMjIG5hbWUgIyMgX2hhbmRsZXIgKHN0cnVjdCBjb25maWcgKmNvbmYsIHZlY3RvciBzdHJ2ZWMpIFwKLSAJaWYgKCFjb25mLT5vcHRpb24pCQkJCQkJXAotIAkJcmV0dXJuIDE7CQkJCQkJXAotIAkJCQkJCQkJCVwKLS0JYnVmZiA9IHNldF92YWx1ZShzdHJ2ZWMpOwkJCQkJXAotKwlidWZmID0gc2V0X3JlZ2V4X3ZhbHVlKHN0cnZlYyk7CQkJCQlcCi0gCWlmICghYnVmZikJCQkJCQkJXAotIAkJcmV0dXJuIDE7CQkJCQkJXAotIAkJCQkJCQkJCVwKLUBAIC0xMzg4LDE2ICsxNDAzLDE2IEBAIGRldmljZV9oYW5kbGVyKHN0cnVjdCBjb25maWcgKmNvbmYsIHZlY3RvciBzdHJ2ZWMpCitAQCAtMTQ2NiwxNiArMTQ4MSwxNiBAQCBkZXZpY2VfaGFuZGxlcihzdHJ1Y3QgY29uZmlnICpjb25mLCB2ZWN0b3Igc3RydmVjKQogIAlyZXR1cm4gMDsKICB9CiAgCkBAIC04MSwzNyArOTIsMzggQEAKICAKICBkZWNsYXJlX2h3X2hhbmRsZXIoaHdoYW5kbGVyLCBzZXRfc3RyKQogZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9wYXJzZXIuYyBiL2xpYm11bHRpcGF0aC9wYXJzZXIuYwotaW5kZXggYjhiN2UwZC4uMzRiNGFkMiAxMDA2NDQKK2luZGV4IDkyZWY3Y2YuLjBlMmNmNDkgMTAwNjQ0CiAtLS0gYS9saWJtdWx0aXBhdGgvcGFyc2VyLmMKICsrKyBiL2xpYm11bHRpcGF0aC9wYXJzZXIuYwotQEAgLTM4MCw2ICszODAsMTkgQEAgc2V0X3ZhbHVlKHZlY3RvciBzdHJ2ZWMpCitAQCAtMzg0LDYgKzM4NCwxOSBAQCBzZXRfdmFsdWUodmVjdG9yIHN0cnZlYykKICAJcmV0dXJuIGFsbG9jOwogIH0KICAKICt2b2lkICoKICtzZXRfcmVnZXhfdmFsdWUodmVjdG9yIHN0cnZlYykKICt7Ci0rCWNoYXIgKmJ1ZmYgPSBzZXRfdmFsdWUoc3RydmVjKTsKKysgICAgICAgY2hhciAqYnVmZiA9IHNldF92YWx1ZShzdHJ2ZWMpOwogKwotKwlpZiAoYnVmZiAmJiBzdHJjbXAoIioiLCBidWZmKSA9PSAwKSB7Ci0rCQljb25kbG9nKDAsICJJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbiBcIipcIiBpbiBtdWx0aXBhdGguY29uZi4gVXNpbmcgXCIuKlwiIik7Ci0rCQlGUkVFKGJ1ZmYpOwotKwkJcmV0dXJuIHN0cmR1cCgiLioiKTsKLSsJfQotKwlyZXR1cm4gYnVmZjsKKysgICAgICAgaWYgKGJ1ZmYgJiYgc3RyY21wKCIqIiwgYnVmZikgPT0gMCkgeworKyAgICAgICAgICAgICAgIGNvbmRsb2coMCwgIkludmFsaWQgcmVndWxhciBleHByZXNzaW9uIFwiKlwiIGluIG11bHRpcGF0aC5jb25mLiBVc2luZyBcIi4qXCIiKTsKKysgICAgICAgICAgICAgICBGUkVFKGJ1ZmYpOworKyAgICAgICAgICAgICAgIHJldHVybiBzdHJkdXAoIi4qIik7CisrICAgICAgIH0KKysgICAgICAgcmV0dXJuIGJ1ZmY7CiArfQogKwogIC8qIG5vbi1yZWN1cnNpdmUgY29uZmlndXJhdGlvbiBzdHJlYW0gaGFuZGxlciAqLwogIHN0YXRpYyBpbnQga3dfbGV2ZWwgPSAwOwogIAogZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9wYXJzZXIuaCBiL2xpYm11bHRpcGF0aC9wYXJzZXIuaAotaW5kZXggNjI5MDZlOS4uYjc5MTcwNSAxMDA2NDQKK2luZGV4IDYyOTA2ZTkuLmI2ODk5ZmMgMTAwNjQ0CiAtLS0gYS9saWJtdWx0aXBhdGgvcGFyc2VyLmgKICsrKyBiL2xpYm11bHRpcGF0aC9wYXJzZXIuaAotQEAgLTc3LDYgKzc3LDcgQEAgZXh0ZXJuIHZvaWQgZHVtcF9rZXl3b3Jkcyh2ZWN0b3Iga2V5ZHVtcCwgaW50IGxldmVsKTsKK0BAIC03Niw3ICs3Niw3IEBAIGV4dGVybiBpbnQgX2luc3RhbGxfa2V5d29yZCh2ZWN0b3Iga2V5d29yZHMsIGNoYXIgKnN0cmluZywKKyBleHRlcm4gdm9pZCBkdW1wX2tleXdvcmRzKHZlY3RvciBrZXlkdW1wLCBpbnQgbGV2ZWwpOwogIGV4dGVybiB2b2lkIGZyZWVfa2V5d29yZHModmVjdG9yIGtleXdvcmRzKTsKICBleHRlcm4gdmVjdG9yIGFsbG9jX3N0cnZlYyhjaGFyICpzdHJpbmcpOwotIGV4dGVybiB2b2lkICpzZXRfdmFsdWUodmVjdG9yIHN0cnZlYyk7CistZXh0ZXJuIHZvaWQgKnNldF92YWx1ZSh2ZWN0b3Igc3RydmVjKTsKICtleHRlcm4gdm9pZCAqc2V0X3JlZ2V4X3ZhbHVlKHZlY3RvciBzdHJ2ZWMpOwogIGV4dGVybiBpbnQgcHJvY2Vzc19maWxlKHN0cnVjdCBjb25maWcgKmNvbmYsIGNoYXIgKmNvbmZfZmlsZSk7CiAgZXh0ZXJuIHN0cnVjdCBrZXl3b3JkICogZmluZF9rZXl3b3JkKHZlY3RvciBrZXl3b3JkcywgdmVjdG9yIHYsIGNoYXIgKiBuYW1lKTsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI4LVJILXJlc2V0LWRlZmF1bHQtZmluZF9tdXRpcGF0aHMtdmFsdWUtdG8tb2ZmLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjgtUkgtcmVzZXQtZGVmYXVsdC1maW5kX211dGlwYXRocy12YWx1ZS10by1vZmYucGF0Y2gKaW5kZXggMDVlNjg2NC4uYWQwM2I4YSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjgtUkgtcmVzZXQtZGVmYXVsdC1maW5kX211dGlwYXRocy12YWx1ZS10by1vZmYucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjgtUkgtcmVzZXQtZGVmYXVsdC1maW5kX211dGlwYXRocy12YWx1ZS10by1vZmYucGF0Y2gKQEAgLTEsMTggKzEsMjcgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgNyBKdW4gMjAxOCAxNzo0Mzo1MiAtMDUwMAotU3ViamVjdDogW1BBVENIXSBSSDogcmVzZXQgZGVmYXVsdCBmaW5kX211dGlwYXRocyB2YWx1ZSB0byBvZmYKK0Zyb20gMTY5MDAxNTBlMDJlNWIzNjdhOGIzMzYyMWIzOTM5NzVhZDAxMTEzMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI2IE5vdiAyMDE4IDExOjEyOjAxICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3CisgMDA6MDA6MDAgMjAwMSBGcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+IERhdGU6IFRodSwgNyBKdW4KKyAyMDE4IDE3OjQzOjUyIC0wNTAwIFN1YmplY3Q6IFtQQVRDSF0gUkg6IHJlc2V0IGRlZmF1bHQgZmluZF9tdXRpcGF0aHMgdmFsdWUKKyB0byBvZmYKIAogVXBzdHJlYW0gaGFzIGNoYW5nZWQgdG8gZGVmYXVsdCBmaW5kX211bHRpcGF0aHMgdG8gInN0cmljdCIuIEZvciBub3cKIFJlZGhhdCB3aWxsIHJldGFpbiB0aGUgcHJldmlvdXMgZGVmYXVsdCBvZiAib2ZmIi4KIAogU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworVXBkYXRlIHRoaXMgcGF0Y2ggdG8gbmV3IHZlcnNpb24KKworU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KIC0tLQogIGxpYm11bHRpcGF0aC9kZWZhdWx0cy5oIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2RlZmF1bHRzLmggYi9saWJtdWx0aXBhdGgvZGVmYXVsdHMuaAotaW5kZXggZjA3NmI0Yi4uNzBiYTk4YSAxMDA2NDQKK2luZGV4IDY1NzY5MzkuLmEyNDA0YjIgMTAwNjQ0CiAtLS0gYS9saWJtdWx0aXBhdGgvZGVmYXVsdHMuaAogKysrIGIvbGlibXVsdGlwYXRoL2RlZmF1bHRzLmgKIEBAIC0xNyw3ICsxNyw3IEBACkBAIC0yMCw3ICsyOSw3IEBACiAgI2RlZmluZSBERUZBVUxUX1ZFUkJPU0lUWQkyCiAgI2RlZmluZSBERUZBVUxUX1JFQVNTSUdOX01BUFMJMAogLSNkZWZpbmUgREVGQVVMVF9GSU5EX01VTFRJUEFUSFMJRklORF9NVUxUSVBBVEhTX1NUUklDVAotKyNkZWZpbmUgREVGQVVMVF9GSU5EX01VTFRJUEFUSFMJRklORF9NVUxUSVBBVEhTX09GRgorKyNkZWZpbmUgREVGQVVMVF9GSU5EX01VTFRJUEFUSFMgICAgICAgIEZJTkRfTVVMVElQQVRIU19PRkYKICAjZGVmaW5lIERFRkFVTFRfRkFTVF9JT19GQUlMCTUKICAjZGVmaW5lIERFRkFVTFRfREVWX0xPU1NfVE1PCTYwMAogICNkZWZpbmUgREVGQVVMVF9SRVRBSU5fSFdIQU5ETEVSIFJFVEFJTl9IV0hBTkRMRVJfT04KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI5LW11bHRpcGF0aC10b29scy1tb2RpZnktTWFrZWZpbGUuaW5jLWZvci1jcm9zcy1jb21waWwucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyOS1tdWx0aXBhdGgtdG9vbHMtbW9kaWZ5LU1ha2VmaWxlLmluYy1mb3ItY3Jvc3MtY29tcGlsLnBhdGNoCmluZGV4IDQ1Y2QzMmEuLjRmYTc5NjBiIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyOS1tdWx0aXBhdGgtdG9vbHMtbW9kaWZ5LU1ha2VmaWxlLmluYy1mb3ItY3Jvc3MtY29tcGlsLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI5LW11bHRpcGF0aC10b29scy1tb2RpZnktTWFrZWZpbGUuaW5jLWZvci1jcm9zcy1jb21waWwucGF0Y2gKQEAgLTEsNyArMSwxMCBAQAotRnJvbSA4YmRkNDQ4MWQ4MjJiNjYyNWQ4YmY3MTk0MzFjYTc0ZWQxYjVlMDIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBhODA1YjYwMWZjZjRiYjllMjY5NTY2YThkMjVlNDhkOWU2MDkxNWMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMTYgSnVsIDIwMTggMTU6NTY6MzcgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoLXRvb2xzOiBtb2RpZnkgTWFrZWZpbGUuaW5jIGZvciBjcm9zcy1jb21waWxhdGlvbgorRGF0ZTogTW9uLCAyNiBOb3YgMjAxOCAxMToxNDoyNCArMDgwMAorU3ViamVjdDogW1BBVENIXSBGcm9tIDhiZGQ0NDgxZDgyMmI2NjI1ZDhiZjcxOTQzMWNhNzRlZDFiNWUwMjEgTW9uIFNlcCAxNworIDAwOjAwOjAwIDIwMDEgRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4gRGF0ZTogTW9uLCAxNgorIEp1bCAyMDE4IDE1OjU2OjM3ICswODAwIFN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoLXRvb2xzOiBtb2RpZnkgTWFrZWZpbGUuaW5jCisgZm9yIGNyb3NzLWNvbXBpbGF0aW9uCiAKIERvIG5vdCBsb29rIGZvciBzeXN0ZW1kIGluZm8gb24gdGhlIGhvc3QsIGFuZCBhbGxvdyB1cyB0byBwYXNzIGluIENGTEFHUwogdXNpbmcgdGhlIE9QVEZMQUdTIHZhcmlhYmxlLgpAQCAtMjMsMTIgKzI2LDE1IEBACiByZW1vdmUgY2hhbmdlIGFib3V0IENGTEFHUyBwYXJ0LCBzaW5jZSBwYXRjaCAwMDI0IGFscmVhZHkgaGF2ZSBzaW1pbGFyIGZ1bmN0aW9uLgogCiBTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorCit1cGRhdGUgZm9yIHZlcnNpb24gMC43LjkKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KLSBNYWtlZmlsZS5pbmMgfCA4ICsrLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKyBNYWtlZmlsZS5pbmMgfCA2IC0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW5jIGIvTWFrZWZpbGUuaW5jCi1pbmRleCA1N2ExODM1Li4wYzQwM2M3IDEwMDY0NAoraW5kZXggMjk1YWZiOS4uNzEzNmRiMyAxMDA2NDQKIC0tLSBhL01ha2VmaWxlLmluYwogKysrIGIvTWFrZWZpbGUuaW5jCiBAQCAtMzgsMTIgKzM4LDYgQEAgaWZuZGVmIFJVTgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMzAtQWx3YXlzLXVzZS1kZXZtYXBwZXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAzMC1BbHdheXMtdXNlLWRldm1hcHBlci5wYXRjaAppbmRleCAxMjgxMTgwLi4zZTg4YjQxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAzMC1BbHdheXMtdXNlLWRldm1hcHBlci5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAzMC1BbHdheXMtdXNlLWRldm1hcHBlci5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gZDkyOWExZWE1ZTQyZWNiZTMwYzk5MDY0NGVkNGFkYTI4MTdjNjQzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZTRhY2I0NmIxMDQ4NGQxZGE2ZjA5MzI1N2UzNGYyNjk4MzJlNmEzNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDE2IEp1bCAyMDE4IDE2OjAwOjE0ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdICBBbHdheXMgdXNlIGRldm1hcHBlcgorRGF0ZTogTW9uLCAyNiBOb3YgMjAxOCAxMToxNzo0MSArMDgwMAorU3ViamVjdDogW1BBVENIXSBTdWJqZWN0OiBbUEFUQ0hdICBBbHdheXMgdXNlIGRldm1hcHBlcgogCiBEbyBub3QgdHJ5IHRvIGNvbXB1dGUgc2V2ZXJhbCBfQVBJXyBtYWtlIHZhcmlhYmxlcwogZnJvbSBob3N0IGluZm9ybWF0aW9uIHdoZW4gY3Jvc3MtY29tcGlsaW5nLgpAQCAtMTgsMTIgKzE4LDE1IEBACiBSZWJhc2UgdG8gMC43LjcKIAogU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKworUmViYXNlIHRvIDAuNy45CitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAgbGlibXVsdGlwYXRoL01ha2VmaWxlIHwgMTkgKysrKy0tLS0tLS0tLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL01ha2VmaWxlIGIvbGlibXVsdGlwYXRoL01ha2VmaWxlCi1pbmRleCBmNTE3ODZkLi4zYWQ5YzQ4IDEwMDY0NAoraW5kZXggMzNmNTI2OS4uYWRmNmY0YSAxMDA2NDQKIC0tLSBhL2xpYm11bHRpcGF0aC9NYWtlZmlsZQogKysrIGIvbGlibXVsdGlwYXRoL01ha2VmaWxlCiBAQCAtMjAsMjEgKzIwLDEwIEBAIGlmZGVmIFNZU1RFTUQKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDMxLUFsd2F5cy11c2UtZGV2bWFwcGVyLWZvci1rcGFydHgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAzMS1BbHdheXMtdXNlLWRldm1hcHBlci1mb3Ita3BhcnR4LnBhdGNoCmluZGV4IDg4YTc1OGQuLjQxOGMwMjAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDMxLUFsd2F5cy11c2UtZGV2bWFwcGVyLWZvci1rcGFydHgucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMzEtQWx3YXlzLXVzZS1kZXZtYXBwZXItZm9yLWtwYXJ0eC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMTQ1ZjJiODI5ZTUzNjJjZGE5NzViZWJhZmQ3ZmU0ZDAwZmY1NmQxYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMWZlOTM3ODM1MzExYTJkMGFmYmM4NWNlNGE0ZGJkM2M5ZTBjOTEyZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDE2IEp1bCAyMDE4IDE2OjAyOjA3ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFsd2F5cyB1c2UgZGV2bWFwcGVyIGZvciBrcGFydHgKK0RhdGU6IE1vbiwgMjYgTm92IDIwMTggMTE6MTk6NDUgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gU3ViamVjdDogW1BBVENIXSBBbHdheXMgdXNlIGRldm1hcHBlciBmb3Iga3BhcnR4CiAKIERvIG5vdCB0cnkgdG8gY29tcHV0ZSB0aGUgTElCRE1fQVBJX0NPT0tJRSBtYWtlIHZhcmlhYmxlCiBmcm9tIGhvc3QgaW5mb3JtYXRpb24gd2hlbiBjcm9zcy1jb21waWxpbmcuCkBAIC0xNiw2ICsxNiw5IEBACiAKIFJlYmFzZSB0byAwLjcuNwogU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKworUmViYXNlIHRvIDAuNy45CitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAga3BhcnR4L01ha2VmaWxlIHwgNCArLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAzIGRlbGV0aW9ucygtKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL211bHRpcGF0aC10b29sc18wLjcuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9tdWx0aXBhdGgtdG9vbHNfMC43LjcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjYzE1NDYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL211bHRpcGF0aC10b29sc18wLjcuNy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzMSArMCwwIEBACi1TVU1NQVJZID0gIlRoZSB1cHN0cmVhbSBwcm9qZWN0IHVzZWQgdG8gZHJpdmUgdGhlIERldmljZSBNYXBwZXIgbXVsdGlwYXRoaW5nIGRyaXZlciIKLQotREVTQ1JJUFRJT04gPSAiSXQgcHJvdmlkZXMgdG9vbHMgdG8gbWFuYWdlIG11bHRpcGF0aCBkZXZpY2VzIFwKLWJ5IGluc3RydWN0aW5nIHRoZSBkZXZpY2UtbWFwcGVyIGtlcm5lbCBtb2R1bGUgd2hhdCB0byBkby4gVGhlc2UgXAotdG9vbHMgaW5jbHVkZTogXAotMS4gbXVsdGlwYXRoIC0gU2NhbiB0aGUgc3lzdGVtIGZvciBtdWx0aXBhdGggZGV2aWNlcyBhbmQgYXNzZW1ibGUgdGhlbS5cCi0yLiBtdWx0aXBhdGhkIC0gRGV0ZWN0cyB3aGVuIHBhdGhzIGZhaWwgYW5kIGV4ZWNzIG11bHRpcGF0aCB0byB1cGRhdGUgXAotdGhpbmdzLlwKLTMuIG1wYXRocGVyc2lzdCAtIFBlcnNpc3RlbnQgcmVzZXJ2YXRpb24gbWFuYWdlbWVudCBmZWF0dXJlIGFsbG93cyBcCi1jbHVzdGVyIG1hbmFnZW1lbnQgc29mdHdhcmUgdG8gbWFuYWdlIHBlcnNpc3RlbnQgcmVzZXJ2YXRpb24gdGhyb3VnaCBcCi1tcGF0aCBkZXZpY2UuIEl0IHByb2Nlc3NlcyBtYW5hZ2VtZW50IHJlcXVlc3RzIGZyb20gY2FsbGVycyBhbmQgaGlkZXMgXAotdGhlIG1hbmFnZW1lbnQgdGFzayBkZXRhaWxzLiBJdCBhbHNvIGhhbmRsZXMgcGVyc2lzdGVudCByZXNlcnZhdGlvbiBcCi1tYW5hZ2VtZW50IG9mIGRhdGEgcGF0aCBsaWZlIGN5Y2xlIGFuZCBzdGF0ZSBjaGFuZ2VzLlwKLTQuIGtwYXJ0eCAtIFRoaXMgdG9vbCwgZGVyaXZlZCBmcm9tIHV0aWwtbGludXgncyBwYXJ0eCwgcmVhZHMgcGFydGl0aW9uIFwKLXRhYmxlcyBvbiBzcGVjaWZpZWQgZGV2aWNlIGFuZCBjcmVhdGUgZGV2aWNlIG1hcHMgb3ZlciBwYXJ0aXRpb25zIFwKLXNlZ21lbnRzIGRldGVjdGVkLiBJdCBpcyBjYWxsZWQgZnJvbSBob3RwbHVnIHVwb24gZGV2aWNlIG1hcHMgY3JlYXRpb24gXAotYW5kIGRlbGV0aW9uIgotCi1IT01FUEFHRSA9ICJodHRwOi8vY2hyaXN0b3BoZS52YXJvcXVpLmZyZWUuZnIvIgotCi1ERVBFTkRTID0gImxpYmRldm1hcHBlciBcCi0gICAgICAgICAgIGxpYmFpbyBcCi0gICAgICAgICAgIGxpYnVyY3UgXAotICAgICAgICAgICByZWFkbGluZSBcCi0gICAgICAgICAgIHVkZXYgXAotICAgICAgICAgICBqc29uLWMgXAotICAgICAgICAgICIKLQotTElDRU5TRSA9ICJHUEx2MiIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXQub3BlbnN2Yy5jb20vbXVsdGlwYXRoLXRvb2xzLy5naXQ7cHJvdG9jb2w9aHR0cCBcCi0gICAgICAgICAgIGZpbGU6Ly9tdWx0aXBhdGhkLm9lIFwKLSAgICAgICAgICAgZmlsZTovL211bHRpcGF0aC5jb25mLmV4YW1wbGUgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1tdWx0aXBhdGgtdG9vbHMtYWRkLVJEQUMtU1VOLUFycmF5U3RvcmFnZS10by1od3RhYmxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItbXVsdGlwYXRoLXRvb2xzLXJlbW92ZS1jLWZyb20tX19jcGx1c2NwbHVzLW1pc3NwZWxsZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLW11bHRpcGF0aC10b29scy1yZW1vdmUtZW1hY3MtYXV0b2NvbmZpZy1vZi1rcGFydHgtZ3AucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1tdWx0aXBhdGgtdG9vbHMtcmVwbGFjZS1GU0YtYWRkcmVzcy13aXRoLWEtd3d3LXBvaW50LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtbXVsdGlwYXRoLXRvb2xzLVJlbW92ZS10cmFpbGluZy1sZWFkaW5nLXdoaXRlc3BhY2VzLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LW11bHRpcGF0aC10b29scy1maXgtY29tcGlsYXRpb24td2l0aC1tdXNsLWxpYmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1tdWx0aXBhdGgtdG9vbHMtYWRkLXgtdG8tZG9jLXByZWNsZWFuLnBsLWFuZC1zcGxpdC1tLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDgtbXVsdGlwYXRoLXRvb2xzLXJlZnJlc2gta2VybmVsLWRvYy1mcm9tLWtlcm5lbC1zb3VyYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA5LW11bHRpcGF0aC10b29scy1jb25maWd1cmUtaGl0YWNoaS1hbXMyMDAwLWFuZC1odXMxMDAucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMC1saWJtdWx0aXBhdGgtZG9uLXQtcmVqZWN0LW1hcHMtd2l0aC11bmRlZmluZWQtcHJpby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDExLW11bHRpcGF0aGQtaGFuZGxlLWVycm9ycy1pbi11eGxzbnItYXMtZmF0YWwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMi1saWJtdWx0aXBhdGgtZml4LWVycm9yLXBhcnNpbmctZmluZF9tdWx0aXBhdGhzLXN0cmljLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTMtbGlibXVsdGlwYXRoLXByaW50LWNvcnJlY3QtZGVmYXVsdC1mb3ItZGVsYXlfLV9jaGVjay5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE0LW11bHRpcGF0aC5jb25mLjUtY2xhcmlmeS1wcm9wZXJ0eS13aGl0ZWxpc3QtaGFuZGxpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNS1tcGF0aHBlcnNpc3QtYWRkLWFsbF90Z19wdC1vcHRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNi1saWJtdWx0aXBhdGgtcmVtb3ZlLXJiZC1jb2RlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTctbXBhdGhwZXJzaXN0LWZpeC1hcHRwbC1zdXBwb3J0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTgtbXVsdGlwYXRoLWRvbi10LWNoZWNrLXRpbWVzdGFtcHMtd2l0aG91dC1hLXBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxOS1saWJtdWx0aXBhdGgtZml4LWRldGVjdC1hbHVhLWNvcm5lci1jYXNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjAtbXVsdGlwYXRoLWZpeC1zZXR0aW5nLWNvbmYtdmVyc2lvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDIxLVJILWZpeHVwLXVkZXYtcnVsZXMtZm9yLXJlZGhhdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDIyLVJILVJlbW92ZS10aGUtcHJvcGVydHktYmxhY2tsaXN0LWV4Y2VwdGlvbi1idWlsdGluLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjMtUkgtZG9uLXQtc3RhcnQtd2l0aG91dC1hLWNvbmZpZy1maWxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjQtUkgtdXNlLXJwbS1vcHRmbGFncy1pZi1wcmVzZW50LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjUtUkgtYWRkLW1wYXRoY29uZi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI2LVJILWFkZC13d2lkcy1mcm9tLWtlcm5lbC1jbWRsaW5lLW1wYXRoLnd3aWRzLXdpdGgtQS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI3LVJILXdhcm4tb24taW52YWxpZC1yZWdleC1pbnN0ZWFkLW9mLWZhaWxpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyOC1SSC1yZXNldC1kZWZhdWx0LWZpbmRfbXV0aXBhdGhzLXZhbHVlLXRvLW9mZi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI5LW11bHRpcGF0aC10b29scy1tb2RpZnktTWFrZWZpbGUuaW5jLWZvci1jcm9zcy1jb21waWwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzMC1BbHdheXMtdXNlLWRldm1hcHBlci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDMxLUFsd2F5cy11c2UtZGV2bWFwcGVyLWZvci1rcGFydHgucGF0Y2ggXAotICAgICAgICAgICAiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmMzBmMDcxNmRmZGQwZDkxZWI0MzllYmVjNTIyZWMyIgotCi1TUkNSRVYgPSAiMzg2ZDI4OGI1NTk1ZmMyYzAxZGZmZTY5OGI2ZWIzMDZjNjY3NDkwOCIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBzeXN0ZW1kIHBrZ2NvbmZpZwotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibXVsdGlwYXRoZC5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1UQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKLQotIyBtdWx0aXBhdGgtdG9vbHMgaW5jbHVkZXMgYSBjb3B5IG9mIHRoZSB2YWxncmluZC5oIGhlYWRlcgotIyBmaWxlIGFuZCB1c2VzIHRoZSBtYWNyb3MgdG8gc3VwcHJlc3Mgc29tZSBmYWxzZSBwb3NpdGl2ZXMuIEhvd2V2ZXIsCi0jIHRoYXQgb25seSB3b3JrcyBvbiBBUk0gd2hlbiB0aHVtYiBpcyBkaXNhYmxlZC4gT3RoZXJ3aXNlIG9uZSBnZXRzOgotIyAgIEVycm9yOiBzaGlmdHMgaW4gQ01QL01PViBpbnN0cnVjdGlvbnMgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHVuaWZpZWQgc3ludGF4IC0tIGBtb3YgcjEyLHIxMixyb3IjMycKLSMgICAuLi9NYWtlZmlsZS5pbmM6NjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkZWJ1Zy5vJyBmYWlsZWQKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCi0KLSMgVGhlIGV4YWN0IHZlcnNpb24gb2YgU1lTVEVNRCBkb2VzIG5vdCBtYXR0ZXIgYnV0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMjA5LgotIwotRVhUUkFfT0VNQUtFID0gJ01VTFRJUEFUSF9WRVJTSU9OPSR7UFZ9IERFU1RESVI9JHtEfSBzeXNsaWJkaXI9JHtiYXNlX2xpYmRpcn0gXAotICAgICAgICAgICAgICAgIE9QVEZMQUdTPSIke0NGTEFHU30iIFwKLSAgICAgICAgICAgICAgICBiaW5kaXI9JHtiYXNlX3NiaW5kaXJ9IFwKLSAgICAgICAgICAgICAgICBMSUI9JHtiYXNlX2xpYmRpcn0gbGliZGlyPSR7YmFzZV9saWJkaXJ9L211bHRpcGF0aCBcCi0gICAgICAgICAgICAgICAgdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9IFwKLSAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAiU1lTVEVNRD0yMTYiLCAiIiwgZCl9IFwKLSAgICAgICAgICAgICAgICcKLQotZG9faW5zdGFsbCgpIHsKLSAgICBvZV9ydW5tYWtlIGluc3RhbGwKLQotICAgICMgV2UgY29weSBhbiBpbml0c2NyaXB0LCBidXQgZG8gbm90IHN0YXJ0IG11bHRpcGF0aGQgYXQgaW5pdCB0aW1lLgotICAgICMKLSAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdmluaXQnLCd0cnVlJywnZmFsc2UnLGQpfTt0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0gICAgICAgIGNwICR7V09SS0RJUn0vbXVsdGlwYXRoZC5vZSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbXVsdGlwYXRoZAotICAgIGZpCi0KLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbXVsdGlwYXRoLmNvbmYuZXhhbXBsZSBcCi0gICAgJHtEfSR7c3lzY29uZmRpcn0vbXVsdGlwYXRoLmNvbmYuZXhhbXBsZQotfQotCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7YmFzZV9saWJkaXJ9L211bHRpcGF0aC8uZGVidWciCi0KLVBBQ0tBR0VTID0rICIke1BOfS1saWJzIgotRklMRVNfJHtQTn0tbGlicyA9ICIke2Jhc2VfbGliZGlyfS9saWIqLnNvLiogXAotICAgICAgICAgICAgICAgICAgICAke2Jhc2VfbGliZGlyfS9tdWx0aXBhdGgvbGliKi5zbyoiCi1SREVQRU5EU18ke1BOfSArPSAiJHtQTn0tbGlicyBiYXNoIgotCi1QUk9WSURFUyArPSAiZGV2aWNlLW1hcHBlci1tdWx0aXBhdGgiCi1SUFJPVklERVNfJHtQTn0gKz0gImRldmljZS1tYXBwZXItbXVsdGlwYXRoIgotUlBST1ZJREVTXyR7UE59LWxpYnMgKz0gImRldmljZS1tYXBwZXItbXVsdGlwYXRoLWxpYnMiCi0KLUZJTEVTXyR7UE59LWRldiArPSAiJHtiYXNlX2xpYmRpcn0vcGtnY29uZmlnIgotCi1QQUNLQUdFUyA9KyAia3BhcnR4IgotRklMRVNfa3BhcnR4ID0gIiR7YmFzZV9zYmluZGlyfS9rcGFydHggXAotICAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3VkZXYva3BhcnR4X2lkIFwKLSAgICAgICAgICAgICAgICIKLQotUkRFUEVORFNfJHtQTn0gKz0gImJhc2gga3BhcnR4IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL211bHRpcGF0aC10b29sc18wLjguMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9tdWx0aXBhdGgtdG9vbHNfMC44LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGNmZjQ4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9tdWx0aXBhdGgtdG9vbHNfMC44LjAuYmIKQEAgLTAsMCArMSwxMTEgQEAKK1NVTU1BUlkgPSAiVGhlIHVwc3RyZWFtIHByb2plY3QgdXNlZCB0byBkcml2ZSB0aGUgRGV2aWNlIE1hcHBlciBtdWx0aXBhdGhpbmcgZHJpdmVyIgorCitERVNDUklQVElPTiA9ICJJdCBwcm92aWRlcyB0b29scyB0byBtYW5hZ2UgbXVsdGlwYXRoIGRldmljZXMgXAorYnkgaW5zdHJ1Y3RpbmcgdGhlIGRldmljZS1tYXBwZXIga2VybmVsIG1vZHVsZSB3aGF0IHRvIGRvLiBUaGVzZSBcCit0b29scyBpbmNsdWRlOiBcCisxLiBtdWx0aXBhdGggLSBTY2FuIHRoZSBzeXN0ZW0gZm9yIG11bHRpcGF0aCBkZXZpY2VzIGFuZCBhc3NlbWJsZSB0aGVtLlwKKzIuIG11bHRpcGF0aGQgLSBEZXRlY3RzIHdoZW4gcGF0aHMgZmFpbCBhbmQgZXhlY3MgbXVsdGlwYXRoIHRvIHVwZGF0ZSBcCit0aGluZ3MuXAorMy4gbXBhdGhwZXJzaXN0IC0gUGVyc2lzdGVudCByZXNlcnZhdGlvbiBtYW5hZ2VtZW50IGZlYXR1cmUgYWxsb3dzIFwKK2NsdXN0ZXIgbWFuYWdlbWVudCBzb2Z0d2FyZSB0byBtYW5hZ2UgcGVyc2lzdGVudCByZXNlcnZhdGlvbiB0aHJvdWdoIFwKK21wYXRoIGRldmljZS4gSXQgcHJvY2Vzc2VzIG1hbmFnZW1lbnQgcmVxdWVzdHMgZnJvbSBjYWxsZXJzIGFuZCBoaWRlcyBcCit0aGUgbWFuYWdlbWVudCB0YXNrIGRldGFpbHMuIEl0IGFsc28gaGFuZGxlcyBwZXJzaXN0ZW50IHJlc2VydmF0aW9uIFwKK21hbmFnZW1lbnQgb2YgZGF0YSBwYXRoIGxpZmUgY3ljbGUgYW5kIHN0YXRlIGNoYW5nZXMuXAorNC4ga3BhcnR4IC0gVGhpcyB0b29sLCBkZXJpdmVkIGZyb20gdXRpbC1saW51eCdzIHBhcnR4LCByZWFkcyBwYXJ0aXRpb24gXAordGFibGVzIG9uIHNwZWNpZmllZCBkZXZpY2UgYW5kIGNyZWF0ZSBkZXZpY2UgbWFwcyBvdmVyIHBhcnRpdGlvbnMgXAorc2VnbWVudHMgZGV0ZWN0ZWQuIEl0IGlzIGNhbGxlZCBmcm9tIGhvdHBsdWcgdXBvbiBkZXZpY2UgbWFwcyBjcmVhdGlvbiBcCithbmQgZGVsZXRpb24iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9jaHJpc3RvcGhlLnZhcm9xdWkuZnJlZS5mci8iCisKK0RFUEVORFMgPSAibGliZGV2bWFwcGVyIFwKKyAgICAgICAgICAgbGliYWlvIFwKKyAgICAgICAgICAgbGlidXJjdSBcCisgICAgICAgICAgIHJlYWRsaW5lIFwKKyAgICAgICAgICAgdWRldiBcCisgICAgICAgICAgIGpzb24tYyBcCisgICAgICAgICAgIgorCitMSUNFTlNFID0gIkdQTHYyIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5vcGVuc3ZjLmNvbS9tdWx0aXBhdGgtdG9vbHMvLmdpdDtwcm90b2NvbD1odHRwIFwKKyAgICAgICAgICAgZmlsZTovL211bHRpcGF0aGQub2UgXAorICAgICAgICAgICBmaWxlOi8vbXVsdGlwYXRoLmNvbmYuZXhhbXBsZSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIxLVJILWZpeHVwLXVkZXYtcnVsZXMtZm9yLXJlZGhhdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIyLVJILVJlbW92ZS10aGUtcHJvcGVydHktYmxhY2tsaXN0LWV4Y2VwdGlvbi1idWlsdGluLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjMtUkgtZG9uLXQtc3RhcnQtd2l0aG91dC1hLWNvbmZpZy1maWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjQtUkgtdXNlLXJwbS1vcHRmbGFncy1pZi1wcmVzZW50LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjUtUkgtYWRkLW1wYXRoY29uZi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI2LVJILWFkZC13d2lkcy1mcm9tLWtlcm5lbC1jbWRsaW5lLW1wYXRoLnd3aWRzLXdpdGgtQS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI3LVJILXdhcm4tb24taW52YWxpZC1yZWdleC1pbnN0ZWFkLW9mLWZhaWxpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyOC1SSC1yZXNldC1kZWZhdWx0LWZpbmRfbXV0aXBhdGhzLXZhbHVlLXRvLW9mZi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI5LW11bHRpcGF0aC10b29scy1tb2RpZnktTWFrZWZpbGUuaW5jLWZvci1jcm9zcy1jb21waWwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzMC1BbHdheXMtdXNlLWRldm1hcHBlci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDMxLUFsd2F5cy11c2UtZGV2bWFwcGVyLWZvci1rcGFydHgucGF0Y2ggXAorICAgICAgICAgICAiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmMzBmMDcxNmRmZGQwZDkxZWI0MzllYmVjNTIyZWMyIgorCitTUkNSRVYgPSAiZWI2ODhlMTgzM2U5NTMzYmZkOTQ5NmRkYzM3ZWVjYzkzNTkwZGVmYSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBzeXN0ZW1kIHBrZ2NvbmZpZworCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibXVsdGlwYXRoZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworIyBtdWx0aXBhdGgtdG9vbHMgaW5jbHVkZXMgYSBjb3B5IG9mIHRoZSB2YWxncmluZC5oIGhlYWRlcgorIyBmaWxlIGFuZCB1c2VzIHRoZSBtYWNyb3MgdG8gc3VwcHJlc3Mgc29tZSBmYWxzZSBwb3NpdGl2ZXMuIEhvd2V2ZXIsCisjIHRoYXQgb25seSB3b3JrcyBvbiBBUk0gd2hlbiB0aHVtYiBpcyBkaXNhYmxlZC4gT3RoZXJ3aXNlIG9uZSBnZXRzOgorIyAgIEVycm9yOiBzaGlmdHMgaW4gQ01QL01PViBpbnN0cnVjdGlvbnMgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHVuaWZpZWQgc3ludGF4IC0tIGBtb3YgcjEyLHIxMixyb3IjMycKKyMgICAuLi9NYWtlZmlsZS5pbmM6NjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkZWJ1Zy5vJyBmYWlsZWQKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCisKKyMgVGhlIGV4YWN0IHZlcnNpb24gb2YgU1lTVEVNRCBkb2VzIG5vdCBtYXR0ZXIgYnV0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMjA5LgorIworRVhUUkFfT0VNQUtFID0gJ01VTFRJUEFUSF9WRVJTSU9OPSR7UFZ9IERFU1RESVI9JHtEfSBzeXNsaWJkaXI9JHtiYXNlX2xpYmRpcn0gXAorICAgICAgICAgICAgICAgIE9QVEZMQUdTPSIke0NGTEFHU30iIFwKKyAgICAgICAgICAgICAgICBiaW5kaXI9JHtiYXNlX3NiaW5kaXJ9IFwKKyAgICAgICAgICAgICAgICBMSUI9JHtiYXNlX2xpYmRpcn0gbGliZGlyPSR7YmFzZV9saWJkaXJ9L211bHRpcGF0aCBcCisgICAgICAgICAgICAgICAgdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9IFwKKyAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAiU1lTVEVNRD0yMTYiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICcKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwKKworICAgICMgV2UgY29weSBhbiBpbml0c2NyaXB0LCBidXQgZG8gbm90IHN0YXJ0IG11bHRpcGF0aGQgYXQgaW5pdCB0aW1lLgorICAgICMKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdmluaXQnLCd0cnVlJywnZmFsc2UnLGQpfTt0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgICAgIGNwICR7V09SS0RJUn0vbXVsdGlwYXRoZC5vZSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbXVsdGlwYXRoZAorICAgIGZpCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbXVsdGlwYXRoLmNvbmYuZXhhbXBsZSBcCisgICAgJHtEfSR7c3lzY29uZmRpcn0vbXVsdGlwYXRoLmNvbmYuZXhhbXBsZQorfQorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7YmFzZV9saWJkaXJ9L211bHRpcGF0aC8uZGVidWciCisKK1BBQ0tBR0VTID0rICIke1BOfS1saWJzIgorRklMRVNfJHtQTn0tbGlicyA9ICIke2Jhc2VfbGliZGlyfS9saWIqLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2Jhc2VfbGliZGlyfS9tdWx0aXBhdGgvbGliKi5zbyoiCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tbGlicyBiYXNoIgorCitQUk9WSURFUyArPSAiZGV2aWNlLW1hcHBlci1tdWx0aXBhdGgiCitSUFJPVklERVNfJHtQTn0gKz0gImRldmljZS1tYXBwZXItbXVsdGlwYXRoIgorUlBST1ZJREVTXyR7UE59LWxpYnMgKz0gImRldmljZS1tYXBwZXItbXVsdGlwYXRoLWxpYnMiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtiYXNlX2xpYmRpcn0vcGtnY29uZmlnIgorCitQQUNLQUdFUyA9KyAia3BhcnR4IgorRklMRVNfa3BhcnR4ID0gIiR7YmFzZV9zYmluZGlyfS9rcGFydHggXAorICAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3VkZXYva3BhcnR4X2lkIFwKKyAgICAgICAgICAgICAgICIKKworUkRFUEVORFNfJHtQTn0gKz0gImJhc2gga3BhcnR4IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmFuby9uYW5vXzMuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25hbm8vbmFub18zLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJjN2ZiZDUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmFuby9uYW5vXzMuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLURFU0NSSVBUSU9OID0gIkdOVSBuYW5vIChOYW5vJ3MgQU5PdGhlciBlZGl0b3IsIG9yIFwKLU5vdCBBTk90aGVyIGVkaXRvcikgaXMgYW4gZW5oYW5jZWQgY2xvbmUgb2YgdGhlIFwKLVBpY28gdGV4dCBlZGl0b3IuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uYW5vLWVkaXRvci5vcmcvIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWYyN2RlZmUxZTk2YzJlMWVjZDRlMGM5YmU4OTY3OTQ5IgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotREVQRU5EUyA9ICJuY3Vyc2VzIGZpbGUiCi1SREVQRU5EU18ke1BOfSA9ICJuY3Vyc2VzLXRlcm1pbmZvLWJhc2UiCi0KLVBWX01BSk9SID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19IgotCi1TUkNfVVJJID0gImh0dHBzOi8vbmFuby1lZGl0b3Iub3JnL2Rpc3QvdiR7UFZfTUFKT1J9L25hbm8tJHtQVn0udGFyLnh6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNzQxOTY0MjdhMDllYzJmODJhODhmYWNkMjIwZDI3ODciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTBhNWJjYTM1NDUxNGU2NDc2MmM5ODdjMjAwYTg3NThiMDVlN2JjY2VkM2IwMGIzZTQ4ZWEwYTJkMzgzYzhhMCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKLQotUEFDS0FHRUNPTkZJR1t0aW55XSA9ICItLWVuYWJsZS10aW55LCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25hbm8vbmFub180LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uYW5vL25hbm9fNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkNzkyMWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uYW5vL25hbm9fNC4wLmJiCkBAIC0wLDAgKzEsMjAgQEAKK0RFU0NSSVBUSU9OID0gIkdOVSBuYW5vIChOYW5vJ3MgQU5PdGhlciBlZGl0b3IsIG9yIFwKK05vdCBBTk90aGVyIGVkaXRvcikgaXMgYW4gZW5oYW5jZWQgY2xvbmUgb2YgdGhlIFwKK1BpY28gdGV4dCBlZGl0b3IuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uYW5vLWVkaXRvci5vcmcvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWYyN2RlZmUxZTk2YzJlMWVjZDRlMGM5YmU4OTY3OTQ5IgorCitERVBFTkRTID0gIm5jdXJzZXMgZmlsZSIKK1JERVBFTkRTXyR7UE59ID0gIm5jdXJzZXMtdGVybWluZm8tYmFzZSIKKworUFZfTUFKT1IgPSAiJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswXX0iCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9uYW5vLWVkaXRvci5vcmcvZGlzdC92JHtQVl9NQUpPUn0vbmFuby0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiMmRlM2U4YTYwZWNmMDk2NDllMzE2ZTg5YmUyYWFjNjUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWUyZmNmZWEzNTc4NDYyNGE3ZDg2Nzg1NzY4Yjc3MmQ1OGJiMzk5NWQxYWVjOTE3NmEyN2ExMTNiMWU5YmFjMyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKKworUEFDS0FHRUNPTkZJR1t0aW55XSA9ICItLWVuYWJsZS10aW55LCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW4tdm0tdG9vbHMvb3Blbi12bS10b29scy8wMDAxLW1pc2MtRG8tbm90LXByaW50LU5VTEwtc3RyaW5nLWludG8tbG9ncy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW4tdm0tdG9vbHMvb3Blbi12bS10b29scy8wMDAxLW1pc2MtRG8tbm90LXByaW50LU5VTEwtc3RyaW5nLWludG8tbG9ncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YWYyNjVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzLzAwMDEtbWlzYy1Eby1ub3QtcHJpbnQtTlVMTC1zdHJpbmctaW50by1sb2dzLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gZTI1ZDAwZDgyOTdjYmEwNDRjM2E0ZDJlMzg3NDllNTRhZGFjNjZjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDIyIERlYyAyMDE4IDE5OjU5OjAyIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIG1pc2M6IERvIG5vdCBwcmludCBOVUxMIHN0cmluZyBpbnRvIGxvZ3MKKworc3RyaW5nIGZvcm1hdCAlcyBpcyBnZXR0aW5nIGEgTlVMTCBwb2ludGVyIGZvciAnZXhwYW5kJworcGFyYW1ldGVyIGFsd2F5cyBzaW5jZSB0aGUgY2hlY2sgZm9yIGNodW5rc1tpXSA9PSBOVUxMIHdpbGwgZW5zdXJlIHRoYXQKK2l0cyBhbHdheXMgbnVsbCB3aGVuIHRoZSBMb2coKSBBUEkgaXMgY2FsbGVkCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vdm13YXJlL29wZW4tdm0tdG9vbHMvcHVsbC8zMTJdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBvcGVuLXZtLXRvb2xzL2xpYi9taXNjL3V0aWxfbWlzYy5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBvcGVuLXZtLXRvb2xzL2xpYi9taXNjL3V0aWxfbWlzYy5jIGIvb3Blbi12bS10b29scy9saWIvbWlzYy91dGlsX21pc2MuYworaW5kZXggMTk4YzIzZDIuLjBhYzBhMzM1IDEwMDY0NAorLS0tIG9wZW4tdm0tdG9vbHMvbGliL21pc2MvdXRpbF9taXNjLmMKKysrKyBvcGVuLXZtLXRvb2xzL2xpYi9taXNjL3V0aWxfbWlzYy5jCitAQCAtNzE5LDggKzcxOSw4IEBAIFV0aWxfRXhwYW5kU3RyaW5nKGNvbnN0IGNoYXIgKmZpbGVOYW1lKSAvLyBJTiAgZmlsZSBwYXRoIHRvIGV4cGFuZAorICAgICAgIEFTU0VSVCghZnJlZUNodW5rW2ldKTsKKyAgICAgICBjaHVua3NbaV0gPSBleHBhbmQ7CisgICAgICAgaWYgKGNodW5rc1tpXSA9PSBOVUxMKSB7CistCSBMb2coIiVzOiBDYW5ub3QgYWxsb2NhdGUgbWVtb3J5IHRvIGV4cGFuZCBcIiVzXCIgaW4gXCIlc1wiLlxuIiwKKy0gICAgICAgICAgICAgX19GVU5DVElPTl9fLCBleHBhbmQsIGZpbGVOYW1lKTsKKysJIExvZygiJXM6IENhbm5vdCBhbGxvY2F0ZSBtZW1vcnkgdG8gZXhwYW5kIGluIFwiJXNcIi5cbiIsCisrICAgICAgICAgICAgIF9fRlVOQ1RJT05fXywgZmlsZU5hbWUpOworIAkgZ290byBvdXQ7CisgICAgICAgfQorICAgICAgIGNodW5rU2l6ZVtpXSA9IHN0cmxlbihleHBhbmQpOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzXzEwLjMuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW4tdm0tdG9vbHMvb3Blbi12bS10b29sc18xMC4zLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkNzQ4NmQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzXzEwLjMuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEwNSArMCwwIEBACi0jIFRoaXMgcmVjaXBlIGlzIG1vZGlmaWVkIGZyb20gdGhlIHJlY2lwZSBvcmlnaW5hbGx5IGZvdW5kIGluIHRoZSBPcGVuLVN3aXRjaAotIyByZXBvc2l0b3J5OgotIwotIyBodHRwczovL2dpdGh1Yi5jb20vb3Blbi1zd2l0Y2gvb3BzLWJ1aWxkCi0jIHlvY3RvL29wZW5zd2l0Y2gvbWV0YS1mb3NzLW9wZW5zd2l0Y2gvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzXzEwLjAuNS5iYgotIyBDb21taXQgOTAwOGRlMmQ4ZTEwMGYzZjg2OGM2Njc2NTc0MmJjYTlmYTk4ZjNmOQotIwotIyBUaGUgcmVjaXBlIHBhY2thZ2luZyBoYXMgYmVlbiByZWxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3IgaW5jbHVzaW9uCi0jIGluIG1ldGEtb3BlbmVtYmVkZGVkIGJ5IGFncmVlbWVudCBvZiB0aGUgYXV0aG9yIChEaWVnbyBEb21wZSkuCi0jCi0KLVNVTU1BUlkgPSAiVG9vbHMgdG8gZW5oYW5jZSBWTVdhcmUgZ3Vlc3QgaW50ZWdyYXRpb24gYW5kIHBlcmZvcm1hbmNlIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3Ztd2FyZS9vcGVuLXZtLXRvb2xzIgotU0VDVElPTiA9ICJ2bXdhcmUtdG9vbHMiCi0KLUxJQ0VOU0UgPSAiTEdQTC0yLjAgJiBHUEwtMi4wICYgQlNEICYgQ0RETC0xLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01NTkzMTc4MDljNTQ0NGZiMzljZWFmNmFjNDVjNDNhYyIKLUxJQ0VOU0VfbW9kdWxlcy9mcmVlYnNkL3ZtYmxvY2sgPSAiQlNEIgotTElDRU5TRV9tb2R1bGVzL2ZyZWVic2Qvdm1tZW1jdGwgPSAiR1BMLTIuMCIKLUxJQ0VOU0VfbW9kdWxlcy9mcmVlYnNkL3ZteG5ldCA9ICJHUEwtMi4wIgotTElDRU5TRV9tb2R1bGVzL2xpbnV4ID0gIkdQTC0yLjAiCi1MSUNFTlNFX21vZHVsZXMvc29sYXJpcyA9ICJDRERMLTEuMCIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3Ztd2FyZS9vcGVuLXZtLXRvb2xzLmdpdDtwcm90b2NvbD1odHRwcyBcCi0gICAgZmlsZTovL3Rvb2xzLmNvbmYgXAotICAgIGZpbGU6Ly92bXRvb2xzZC5zZXJ2aWNlIFwKLSAgICBmaWxlOi8vdm10b29sc2QuaW5pdCBcCi0gICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWRvbi10LXVzZS1kbmV0LWNvbmZpZy5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDItYWRkLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwNS1Vc2UtY29uZmlndXJlLXRlc3QtZm9yLXN0cnVjdC10aW1lc3BlYy5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDYtRml4LWRlZmluaXRpb24tb2YtQUxMUEVSTVMtYW5kLUFDQ0VTU1BFUk1TLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwNy1Vc2UtY29uZmlndXJlLXRvLXRlc3QtZm9yLWZlYXR1cmUtaW5zdGVhZC1vZi1wbGF0Zm9yLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAxMS1Vc2UtY29uZmlndXJlLXRlc3QtZm9yLXN5cy1zdGF0LmgtaW5jbHVkZS5wYXRjaCBcCi0gICAgZmlsZTovL2ZpeC1zdWJkaXItb2JqZWN0cy1jb25maWd1cmUtZXJyb3IucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtcG9sbC5oLWluc3RlYWQtb2Ytc3lzLXBvbGwuaC5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDItUmVuYW1lLXBvbGwuaC10by12bV9wb2xsLmgucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAzLXVzZS1wb3NpeC1zdHJlcnJvcl9yLXVubGVzcy1vbi1nbnUtbGliYy1zeXN0ZW0ucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDA0LVVzZS11aW50bWF4X3QtZm9yLWhhbmRsaW5nLXJsaW1fdC5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDEtVXNlLW9mZjY0X3QtaW5zdGVhZC1vZi1fX29mZjY0X3QucGF0Y2ggXAotIgotU1JDUkVWID0gIjIxNDdkZjZhYWJlNjM5ZmM1ZmY0MjNlZDc5MWE4ZTdmMDJiZjhkMGEiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQvb3Blbi12bS10b29scyIKLQotREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgdXRpbC1saW51eCBsaWJkbmV0IHByb2NwcyBsaWJ0aXJwYyIKLQotIyBvcGVuLXZtLXRvb2xzIGlzIHN1cHBvcnRlZCBvbmx5IG9uIHg4Ni4KLUNPTVBBVElCTEVfSE9TVCA9ICcoeDg2XzY0Lip8aS44Ni4qKS1saW51eCcKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQgdXBkYXRlLXJjLmQKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInZtdG9vbHNkLnNlcnZpY2UiCi0KLUVYVFJBX09FQ09ORiA9ICItLXdpdGhvdXQtaWN1IC0tZGlzYWJsZS1tdWx0aW1vbiAtLWRpc2FibGUtZG9jcyBcCi0gICAgICAgICAtLWRpc2FibGUtdGVzdHMgLS13aXRob3V0LWd0a21tIC0td2l0aG91dC14ZXJjZXMgLS13aXRob3V0LXBhbSBcCi0gICAgICAgICAtLWRpc2FibGUtZ3JhYmJpdG1xcHJveHkgLS1kaXNhYmxlLXZnYXV0aCAtLWRpc2FibGUtZGVwbG95cGtnIFwKLSAgICAgICAgIC0td2l0aG91dC1yb290LXByaXZpbGVnZXMgLS13aXRob3V0LWtlcm5lbC1tb2R1bGVzIgotCi1OT19YMTFfRkxBR1MgPSAiLS13aXRob3V0LXggLS13aXRob3V0LWd0azIgLS13aXRob3V0LWd0azMiCi1YMTFfREVQRU5EUyA9ICJsaWJ4ZXh0IGxpYnhpIGxpYnhyZW5kZXIgbGlieHJhbmRyIGxpYnh0c3QgZ3RrKyBnZGstcGl4YnVmIgotUEFDS0FHRUNPTkZJR1t4MTFdID0gIiwke05PX1gxMV9GTEFHU30sJHtYMTFfREVQRU5EU30iCi0KLSMgZnVzZSBnZXRzIGltcGxpY2l0bHkgZGV0ZWN0ZWQ7IHRoZXJlIGlzIG5vIC0td2l0aG91dC1mdXNlIG9wdGlvbi4KLVBBQ0tBR0VDT05GSUdbZnVzZV0gPSAiLCxmdXNlIgotCi1DRkxBR1NfYXBwZW5kX3Rvb2xjaGFpbi1jbGFuZyA9ICIgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiCi1GSUxFU18ke1BOfSArPSAiXAotICAgICR7bGliZGlyfS9vcGVuLXZtLXRvb2xzL3BsdWdpbnMvdm1zdmMvbGliKi5zbyBcCi0gICAgJHtsaWJkaXJ9L29wZW4tdm0tdG9vbHMvcGx1Z2lucy9jb21tb24vbGliKi5zbyBcCi0gICAgJHtzeXNjb25mZGlyfS92bXdhcmUtdG9vbHMvdG9vbHMuY29uZiBcCi0iCi1GSUxFU18ke1BOfS1sb2NhbGUgKz0gIiR7ZGF0YWRpcn0vb3Blbi12bS10b29scy9tZXNzYWdlcyIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L29wZW4tdm0tdG9vbHMvcGx1Z2lucy9jb21tb24vbGliKi5sYSIKLQotQ09ORkZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L3Ztd2FyZS10b29scy90b29scy5jb25mIgotCi1SREVQRU5EU18ke1BOfSA9ICJ1dGlsLWxpbnV4IGxpYmRuZXQgZnVzZSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgbG4gLXNmICR7c2JpbmRpcn0vbW91bnQudm1oZ2ZzICR7RH0vc2Jpbi9tb3VudC52bWhnZnMKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3Ztd2FyZS10b29scwotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS8qLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICBlbHNlCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0gICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3ZtdG9vbHNkLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3ZtdG9vbHNkCi0gICAgZmkKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS90b29scy5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3Ztd2FyZS10b29scy90b29scy5jb25mCi19Ci0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgIGV4cG9ydCBDVVNUT01fRE5FVF9OQU1FPWRuZXQKLSAgICBleHBvcnQgQ1VTVE9NX0RORVRfTElCUz0tTCR7U1RBR0lOR19MSUJESVJ9L2xpYmRuZXQuc28KLX0KLQotSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfSIKLUlOSVRTQ1JJUFRfTkFNRV8ke1BOfSA9ICJ2bXRvb2xzZCIKLUlOSVRTQ1JJUFRfUEFSQU1TXyR7UE59ID0gInN0YXJ0IDkwIDIgMyA0IDUgLiBzdG9wIDYwIDAgMSA2IC4iCi0KLXB5dGhvbigpIHsKLSAgICBpZiAnbmV0d29ya2luZy1sYXllcicgbm90IGluIGQuZ2V0VmFyKCdCQkZJTEVfQ09MTEVDVElPTlMnKS5zcGxpdCgpIG9yIFwKLSAgICAgICAgJ2ZpbGVzeXN0ZW1zLWxheWVyJyBub3QgaW4gZC5nZXRWYXIoJ0JCRklMRV9DT0xMRUNUSU9OUycpLnNwbGl0KCk6Ci0gICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoJ1JlcXVpcmVzIG1ldGEtbmV0d29ya2luZyBhbmQgbWV0YS1maWxlc3lzdGVtcyB0byBiZSBwcmVzZW50LicpCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuLXZtLXRvb2xzL29wZW4tdm0tdG9vbHNfMTAuMy41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzXzEwLjMuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWQ2NTkzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzXzEwLjMuNS5iYgpAQCAtMCwwICsxLDEwNyBAQAorIyBUaGlzIHJlY2lwZSBpcyBtb2RpZmllZCBmcm9tIHRoZSByZWNpcGUgb3JpZ2luYWxseSBmb3VuZCBpbiB0aGUgT3Blbi1Td2l0Y2gKKyMgcmVwb3NpdG9yeToKKyMKKyMgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tc3dpdGNoL29wcy1idWlsZAorIyB5b2N0by9vcGVuc3dpdGNoL21ldGEtZm9zcy1vcGVuc3dpdGNoL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW4tdm0tdG9vbHMvb3Blbi12bS10b29sc18xMC4wLjUuYmIKKyMgQ29tbWl0IDkwMDhkZTJkOGUxMDBmM2Y4NjhjNjY3NjU3NDJiY2E5ZmE5OGYzZjkKKyMKKyMgVGhlIHJlY2lwZSBwYWNrYWdpbmcgaGFzIGJlZW4gcmVsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm9yIGluY2x1c2lvbgorIyBpbiBtZXRhLW9wZW5lbWJlZGRlZCBieSBhZ3JlZW1lbnQgb2YgdGhlIGF1dGhvciAoRGllZ28gRG9tcGUpLgorIworCitTVU1NQVJZID0gIlRvb2xzIHRvIGVuaGFuY2UgVk1XYXJlIGd1ZXN0IGludGVncmF0aW9uIGFuZCBwZXJmb3JtYW5jZSIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS92bXdhcmUvb3Blbi12bS10b29scyIKK1NFQ1RJT04gPSAidm13YXJlLXRvb2xzIgorCitMSUNFTlNFID0gIkxHUEwtMi4wICYgR1BMLTIuMCAmIEJTRCAmIENEREwtMS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NTU5MzE3ODA5YzU0NDRmYjM5Y2VhZjZhYzQ1YzQzYWMiCitMSUNFTlNFX21vZHVsZXMvZnJlZWJzZC92bWJsb2NrID0gIkJTRCIKK0xJQ0VOU0VfbW9kdWxlcy9mcmVlYnNkL3ZtbWVtY3RsID0gIkdQTC0yLjAiCitMSUNFTlNFX21vZHVsZXMvZnJlZWJzZC92bXhuZXQgPSAiR1BMLTIuMCIKK0xJQ0VOU0VfbW9kdWxlcy9saW51eCA9ICJHUEwtMi4wIgorTElDRU5TRV9tb2R1bGVzL3NvbGFyaXMgPSAiQ0RETC0xLjAiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS92bXdhcmUvb3Blbi12bS10b29scy5naXQ7cHJvdG9jb2w9aHR0cHMgXAorICAgICAgICAgICBmaWxlOi8vdG9vbHMuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly92bXRvb2xzZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3ZtdG9vbHNkLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtZG9uLXQtdXNlLWRuZXQtY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItYWRkLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtVXNlLWNvbmZpZ3VyZS10ZXN0LWZvci1zdHJ1Y3QtdGltZXNwZWMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1GaXgtZGVmaW5pdGlvbi1vZi1BTExQRVJNUy1hbmQtQUNDRVNTUEVSTVMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1Vc2UtY29uZmlndXJlLXRvLXRlc3QtZm9yLWZlYXR1cmUtaW5zdGVhZC1vZi1wbGF0Zm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTEtVXNlLWNvbmZpZ3VyZS10ZXN0LWZvci1zeXMtc3RhdC5oLWluY2x1ZGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LXN1YmRpci1vYmplY3RzLWNvbmZpZ3VyZS1lcnJvci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtcG9sbC5oLWluc3RlYWQtb2Ytc3lzLXBvbGwuaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLVJlbmFtZS1wb2xsLmgtdG8tdm1fcG9sbC5oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtdXNlLXBvc2l4LXN0cmVycm9yX3ItdW5sZXNzLW9uLWdudS1saWJjLXN5c3RlbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LVVzZS11aW50bWF4X3QtZm9yLWhhbmRsaW5nLXJsaW1fdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1vZmY2NF90LWluc3RlYWQtb2YtX19vZmY2NF90LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWlzYy1Eby1ub3QtcHJpbnQtTlVMTC1zdHJpbmctaW50by1sb2dzLnBhdGNoIFwKKyAgICAgICAgICAgIgorIyBzdGFibGUtMTAuMy41CitTUkNSRVYgPSAiZjJmZjE5MjcxNzM3NWI5NWE2YjdlMjc4ZmI0N2RiYjNkM2JjNTZkMSIKKworUyA9ICIke1dPUktESVJ9L2dpdC9vcGVuLXZtLXRvb2xzIgorCitERVBFTkRTID0gImdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSB1dGlsLWxpbnV4IGxpYmRuZXQgcHJvY3BzIGxpYnRpcnBjIgorCisjIG9wZW4tdm0tdG9vbHMgaXMgc3VwcG9ydGVkIG9ubHkgb24geDg2LgorQ09NUEFUSUJMRV9IT1NUID0gJyh4ODZfNjQuKnxpLjg2LiopLWxpbnV4JworCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZCB1cGRhdGUtcmMuZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAidm10b29sc2Quc2VydmljZSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC1pY3UgLS1kaXNhYmxlLW11bHRpbW9uIC0tZGlzYWJsZS1kb2NzIFwKKyAgICAgICAgIC0tZGlzYWJsZS10ZXN0cyAtLXdpdGhvdXQtZ3RrbW0gLS13aXRob3V0LXhlcmNlcyAtLXdpdGhvdXQtcGFtIFwKKyAgICAgICAgIC0tZGlzYWJsZS1ncmFiYml0bXFwcm94eSAtLWRpc2FibGUtdmdhdXRoIC0tZGlzYWJsZS1kZXBsb3lwa2cgXAorICAgICAgICAgLS13aXRob3V0LXJvb3QtcHJpdmlsZWdlcyAtLXdpdGhvdXQta2VybmVsLW1vZHVsZXMiCisKK05PX1gxMV9GTEFHUyA9ICItLXdpdGhvdXQteCAtLXdpdGhvdXQtZ3RrMiAtLXdpdGhvdXQtZ3RrMyIKK1gxMV9ERVBFTkRTID0gImxpYnhleHQgbGlieGkgbGlieHJlbmRlciBsaWJ4cmFuZHIgbGlieHRzdCBndGsrIGdkay1waXhidWYiCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLCR7Tk9fWDExX0ZMQUdTfSwke1gxMV9ERVBFTkRTfSIKKworIyBmdXNlIGdldHMgaW1wbGljaXRseSBkZXRlY3RlZDsgdGhlcmUgaXMgbm8gLS13aXRob3V0LWZ1c2Ugb3B0aW9uLgorUEFDS0FHRUNPTkZJR1tmdXNlXSA9ICIsLGZ1c2UiCisKK0NGTEFHU19hcHBlbmRfdG9vbGNoYWluLWNsYW5nID0gIiAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIKK0ZJTEVTXyR7UE59ICs9ICJcCisgICAgJHtsaWJkaXJ9L29wZW4tdm0tdG9vbHMvcGx1Z2lucy92bXN2Yy9saWIqLnNvIFwKKyAgICAke2xpYmRpcn0vb3Blbi12bS10b29scy9wbHVnaW5zL2NvbW1vbi9saWIqLnNvIFwKKyAgICAke3N5c2NvbmZkaXJ9L3Ztd2FyZS10b29scy90b29scy5jb25mIFwKKyIKK0ZJTEVTXyR7UE59LWxvY2FsZSArPSAiJHtkYXRhZGlyfS9vcGVuLXZtLXRvb2xzL21lc3NhZ2VzIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vb3Blbi12bS10b29scy9wbHVnaW5zL2NvbW1vbi9saWIqLmxhIgorCitDT05GRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vdm13YXJlLXRvb2xzL3Rvb2xzLmNvbmYiCisKK1JERVBFTkRTXyR7UE59ID0gInV0aWwtbGludXggbGliZG5ldCBmdXNlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBsbiAtc2YgJHtzYmluZGlyfS9tb3VudC52bWhnZnMgJHtEfS9zYmluL21vdW50LnZtaGdmcworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdm13YXJlLXRvb2xzCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9Lyouc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGVsc2UKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vdm10b29sc2QuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvdm10b29sc2QKKyAgICBmaQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3Rvb2xzLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vdm13YXJlLXRvb2xzL3Rvb2xzLmNvbmYKK30KKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgZXhwb3J0IENVU1RPTV9ETkVUX05BTUU9ZG5ldAorICAgIGV4cG9ydCBDVVNUT01fRE5FVF9MSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0vbGliZG5ldC5zbworfQorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59IgorSU5JVFNDUklQVF9OQU1FXyR7UE59ID0gInZtdG9vbHNkIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0gPSAic3RhcnQgOTAgMiAzIDQgNSAuIHN0b3AgNjAgMCAxIDYgLiIKKworcHl0aG9uKCkgeworICAgIGlmICduZXR3b3JraW5nLWxheWVyJyBub3QgaW4gZC5nZXRWYXIoJ0JCRklMRV9DT0xMRUNUSU9OUycpLnNwbGl0KCkgb3IgXAorICAgICAgICAnZmlsZXN5c3RlbXMtbGF5ZXInIG5vdCBpbiBkLmdldFZhcignQkJGSUxFX0NPTExFQ1RJT05TJykuc3BsaXQoKToKKyAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgnUmVxdWlyZXMgbWV0YS1uZXR3b3JraW5nIGFuZCBtZXRhLWZpbGVzeXN0ZW1zIHRvIGJlIHByZXNlbnQuJykKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS1BZGQtbWlzc2luZy1tdWx0aS1saW5lLXNlcGFyYXRvci5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS1BZGQtbWlzc2luZy1tdWx0aS1saW5lLXNlcGFyYXRvci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTEzNTk3Yi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2LzAwMDEtQWRkLW1pc3NpbmctbXVsdGktbGluZS1zZXBhcmF0b3IucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIDYwODU3MjI5YWFiMTNjY2M0MjY1NzJhNDNhYjg5MTQwOWJiNzZlYTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU3VuLCA5IFNlcCAyMDE4IDIyOjUyOjU1IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFkZCBtaXNzaW5nIG11bHRpLWxpbmUgc2VwYXJhdG9yCi0KLU90aGVyd2lzZSB0aGlzIGZhaWxzIHRvIGJ1aWxkICggZm91bmQgb24gbWlwcyApCi0KLUZpeGVzCi1jb250cmliL21vZHVsZXMvc3VyZmFjZV9tYXRjaGluZy9zcmMvaGFzaF9tdXJtdXI4Ni5ocHA6OTc6MTU6IGVycm9yOgotZXhwZWN0ZWQgY29uc3RydWN0b3IsIGRlc3RydWN0b3IsIG9yIHR5cGUgY29udmVyc2lvbiBiZWZvcmUgJygnIHRva2VuCi0gICAgICYmIGRlZmluZWQoX19HTlVDX18pICYmIChfX0dOVUNfXz40IHx8IChfX0dOVUNfXz09NCAmJgotX19HTlVDX01JTk9SX18+PTMpKQotICAgICAgICAgICAgICAgXgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL29wZW5jdi9vcGVuY3ZfY29udHJpYi9wdWxsLzE3NjRdCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gbW9kdWxlcy9zdXJmYWNlX21hdGNoaW5nL3NyYy9oYXNoX211cm11cjg2LmhwcCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL21vZHVsZXMvc3VyZmFjZV9tYXRjaGluZy9zcmMvaGFzaF9tdXJtdXI4Ni5ocHAgYi9tb2R1bGVzL3N1cmZhY2VfbWF0Y2hpbmcvc3JjL2hhc2hfbXVybXVyODYuaHBwCi1pbmRleCAxZWRmNmJmNC4uMDQ3N2QzN2UgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL3N1cmZhY2VfbWF0Y2hpbmcvc3JjL2hhc2hfbXVybXVyODYuaHBwCi0rKysgYi9tb2R1bGVzL3N1cmZhY2VfbWF0Y2hpbmcvc3JjL2hhc2hfbXVybXVyODYuaHBwCi1AQCAtOTMsNyArOTMsNyBAQCB2b2lkIGhhc2hNdXJtdXJ4ODYgKCBjb25zdCB2b2lkICoga2V5LCBjb25zdCBpbnQgbGVuLCBjb25zdCB1aW50IHNlZWQsIHZvaWQgKiBvdQotIC8qIE5vdyBmaW5kIGJlc3Qgd2F5IHdlIGNhbiB0byBSRUFEX1VJTlQzMiAqLwotICNpZm5kZWYgV09SRFNfQklHRU5ESUFOCi0gIyBkZWZpbmUgUkVBRF9VSU5UMzIocHRyKSAgICgqKCh1aW50MzJfdCopKHB0cikpKQotLSNlbGlmIGRlZmluZWQoV09SRFNfQklHRU5ESUFOKQotKyNlbGlmIGRlZmluZWQoV09SRFNfQklHRU5ESUFOKSBcCi0gICAgICYmIGRlZmluZWQoX19HTlVDX18pICYmIChfX0dOVUNfXz40IHx8IChfX0dOVUNfXz09NCAmJiBfX0dOVUNfTUlOT1JfXz49MykpCi0gIyBkZWZpbmUgUkVBRF9VSU5UMzIocHRyKSAgIChfX2J1aWx0aW5fYnN3YXAzMigqKCh1aW50MzJfdCopKHB0cikpKSkKLSAjZW5kaWYKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS1DaGVjay1mb3ItY2xhbmctYmVmb3JlLXVzaW5nLWlzeXN0ZW0ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2LzAwMDEtQ2hlY2stZm9yLWNsYW5nLWJlZm9yZS11c2luZy1pc3lzdGVtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTkwNzFhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS1DaGVjay1mb3ItY2xhbmctYmVmb3JlLXVzaW5nLWlzeXN0ZW0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIGZhNzZkODY0NmJiMmI5YjUxNDcyOGVlZWY0MWFmZWQ3YzQzYTM2ZjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAxMSBTZXAgMjAxOCAxODoxODozMyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBDaGVjayBmb3IgY2xhbmcgYmVmb3JlIHVzaW5nIC1pc3lzdGVtCi0KLVdoZW4gY3Jvc3MgY29tcGlsaW5nIHdpdGggY2xhbmcsIHRoZSBpbnRlcm5hbCBDKysgaGVhZGVycyBhcmUgbm90IGZvdW5kCi13aGVuIGFkZGluZyBzeXNyb290IHRvIC1pc3lzdGVtLCB0aGF0IGlzIHJlZHVuZGFudCBhbnl3YXkgYmVjYXVzZSBpdAotd2lsbCBsb29rIGZvciBoZWFkZXJzIGluc2lkZXIgLS1zeXNyb290IHBhdGggd2l0aCBzYW1lIHF1YWxpdHkgYXMgaXQKLXdvdWxkIGRvIHdpdGggLWlzeXN0ZW0gb3RoZXJ3aXNlCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vb3BlbmN2L29wZW5jdi9wdWxsLzEyNTA0XQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGNtYWtlL09wZW5DVlV0aWxzLmNtYWtlIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY21ha2UvT3BlbkNWVXRpbHMuY21ha2UgYi9jbWFrZS9PcGVuQ1ZVdGlscy5jbWFrZQotaW5kZXggZmFlOTFjMTY1Zi4uNjBjMjAxOTJkYyAxMDA2NDQKLS0tLSBhL2NtYWtlL09wZW5DVlV0aWxzLmNtYWtlCi0rKysgYi9jbWFrZS9PcGVuQ1ZVdGlscy5jbWFrZQotQEAgLTI1OSw3ICsyNTksNyBAQCBmdW5jdGlvbihvY3ZfaW5jbHVkZV9kaXJlY3RvcmllcykKLSAgICAgb2N2X2lzX29wZW5jdl9kaXJlY3RvcnkoX19pc19vcGVuY3ZfZGlyICIke2Rpcn0iKQotICAgICBpZihfX2lzX29wZW5jdl9kaXIpCi0gICAgICAgbGlzdChBUFBFTkQgX19hZGRfYmVmb3JlICIke2Rpcn0iKQotLSAgICBlbHNlaWYoQ1ZfR0NDIEFORCBOT1QgQ01BS0VfQ1hYX0NPTVBJTEVSX1ZFUlNJT04gVkVSU0lPTl9MRVNTICI2LjAiIEFORAotKyAgICBlbHNlaWYoKChDVl9HQ0MgQU5EIE5PVCBDTUFLRV9DWFhfQ09NUElMRVJfVkVSU0lPTiBWRVJTSU9OX0xFU1MgIjYuMCIpIE9SIENWX0NMQU5HKSBBTkQKLSAgICAgICAgICAgIGRpciBNQVRDSEVTICIvdXNyL2luY2x1ZGUkIikKLSAgICAgICAjIHdvcmthcm91bmQgZm9yIEdDQyA2LnggYnVnCi0gICAgIGVsc2UoKQotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdl8zLjQuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3ZfMy40LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhOTk3MDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdl8zLjQuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE5MiArMCwwIEBACi1TVU1NQVJZID0gIk9wZW5jdiA6IFRoZSBPcGVuIENvbXB1dGVyIFZpc2lvbiBMaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL29wZW5jdi5vcmcvIgotU0VDVElPTiA9ICJsaWJzIgotCi1MSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTYyZDg5YzVkY2IwNTgzNjA5ZWE5MTljNTZiZTBlZTc2IgotCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgotCi1ERVBFTkRTID0gImxpYnRvb2wgc3dpZy1uYXRpdmUgYnppcDIgemxpYiBnbGliLTIuMCBsaWJ3ZWJwIgotCi1TUkNSRVZfb3BlbmN2ID0gImIzOGM1MGIzZDBjMzFlODIyOTQzMTVlYzQ0YjU0YjdlZjU1OWVmMTIiCi1TUkNSRVZfY29udHJpYiA9ICIxZjZkNmYwNjI2NmUxZWYzMzY0MzdhZTU0MDRiZWUxYzY1ZDQyY2RhIgotU1JDUkVWX2lwcCA9ICJiZGI3YmI4NWYzNGE4Y2IwZDM1ZTQwYTgxZjU4ZGE0MzFhYTE1NTdhIgotU1JDUkVWX2Jvb3N0ZGVzYyA9ICIzNGU0MjA2YWVmNDRkNTBlNmJiY2QwYWIwNjM1NGI1MmU3NDY2ZDI2IgotU1JDUkVWX3ZnZyA9ICJmY2NmN2NkNmE0YjEyMDc5ZjczYmJmYjIxNzQ1ZjliYWJjZDRlYjFkIgotU1JDX1VSSVt0aW55ZG5uLm1kNXN1bV0gPSAiYWRiMWM1MTJlMDljYTJjN2E2ZmFlZjM2ZjljNTNlNTkiCi1TUkNfVVJJW3Rpbnlkbm4uc2hhMjU2c3VtXSA9ICJlMmM2MWNlOGM1ZGViYWE2NDQxMjExNzllOWRiZGNmODNmNDk3ZjM5ZGU4NTNmOGRkNTE3NTg0NjUwNWFhMThiIgotCi1kZWYgaXBwX2ZpbGVuYW1lKGQpOgotICAgIGltcG9ydCByZQotICAgIGFyY2ggPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnLCBUcnVlKQotICAgIGlmIHJlLm1hdGNoKCJpLjg2JCIsIGFyY2gpOgotICAgICAgICByZXR1cm4gImlwcGljdl8yMDE3dTNfbG54X2lhMzJfZ2VuZXJhbF8yMDE4MDUxOC50Z3oiCi0gICAgZWxzZToKLSAgICAgICAgcmV0dXJuICJpcHBpY3ZfMjAxN3UzX2xueF9pbnRlbDY0X2dlbmVyYWxfMjAxODA1MTgudGd6IgotCi1kZWYgaXBwX21kNXN1bShkKToKLSAgICBpbXBvcnQgcmUKLSAgICBhcmNoID0gZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJywgVHJ1ZSkKLSAgICBpZiByZS5tYXRjaCgiaS44NiQiLCBhcmNoKToKLSAgICAgICAgcmV0dXJuICJlYTcyZGU3NGRhZTNjNjA0ZWI2MzQ4Mzk1MzY2ZTc4ZSIKLSAgICBlbHNlOgotICAgICAgICByZXR1cm4gImI3Y2MzNTEyNjdkYjJkMzRiOWVmYTFjZDIyZmYwNTcyIgotCi1JUFBfRklMRU5BTUUgPSAiJHtAaXBwX2ZpbGVuYW1lKGQpfSIKLUlQUF9NRDUgPSAiJHtAaXBwX21kNXN1bShkKX0iCi0KLVNSQ1JFVl9GT1JNQVQgPSAib3BlbmN2X2NvbnRyaWJfaXBwX2Jvb3N0ZGVzY192Z2ciCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vb3BlbmN2L29wZW5jdi5naXQ7bmFtZT1vcGVuY3YgXAotICAgIGdpdDovL2dpdGh1Yi5jb20vb3BlbmN2L29wZW5jdl9jb250cmliLmdpdDtkZXN0c3VmZml4PWNvbnRyaWI7bmFtZT1jb250cmliIFwKLSAgICBnaXQ6Ly9naXRodWIuY29tL29wZW5jdi9vcGVuY3ZfM3JkcGFydHkuZ2l0O2JyYW5jaD1pcHBpY3YvbWFzdGVyXzIwMTgwNTE4O2Rlc3RzdWZmaXg9aXBwO25hbWU9aXBwIFwKLSAgICBnaXQ6Ly9naXRodWIuY29tL29wZW5jdi9vcGVuY3ZfM3JkcGFydHkuZ2l0O2JyYW5jaD1jb250cmliX3hmZWF0dXJlczJkX2Jvb3N0ZGVzY18yMDE2MTAxMjtkZXN0c3VmZml4PWJvb3N0ZGVzYztuYW1lPWJvb3N0ZGVzYyBcCi0gICAgZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuY3Yvb3BlbmN2XzNyZHBhcnR5LmdpdDticmFuY2g9Y29udHJpYl94ZmVhdHVyZXMyZF92Z2dfMjAxNjAzMTc7ZGVzdHN1ZmZpeD12Z2c7bmFtZT12Z2cgXAotICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90aW55LWRubi90aW55LWRubi9hcmNoaXZlL3YxLjAuMGEzLnRhci5nejtkZXN0c3VmZml4PWdpdC8zcmRwYXJ0eS90aW55ZG5uL3RpbnktZG5uLTEuMC4wYTM7bmFtZT10aW55ZG5uO3VucGFjaz1mYWxzZSBcCi0gICAgZmlsZTovLzAwMDEtM3JkcGFydHktaXBwaWN2LVVzZS1wcmUtZG93bmxvYWRlZC1pcHAucGF0Y2ggXAotICAgIGZpbGU6Ly91c2Vsb2NhbHhmZWF0dXJlcy5wYXRjaDtwYXRjaGRpcj0uLi9jb250cmliLyBcCi0gICAgZmlsZTovLzAwMDEtQWRkLW1pc3NpbmctbXVsdGktbGluZS1zZXBhcmF0b3IucGF0Y2g7cGF0Y2hkaXI9Li4vY29udHJpYi8gXAotICAgIGZpbGU6Ly8wMDAyLU1ha2Utb3BlbmN2LXRzLWNyZWF0ZS1zaGFyZS1saWJyYXJ5LWludGVhZC1vZi1zdGF0aWMucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAzLVRvLWZpeC1lcnJvcnMtYXMtZm9sbG93aW5nLnBhdGNoIFwKLSAgICBmaWxlOi8vZml4cGtnY29uZmlnLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1UZW1wb3JhcmxpeS13b3JrLWFyb3VuZC1kZXByZWNhdGVkLWZmbXBlZy1SQVctZnVuY3RpLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1Eb250LXVzZS1pc3lzdGVtLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1DaGVjay1mb3ItY2xhbmctYmVmb3JlLXVzaW5nLWlzeXN0ZW0ucGF0Y2ggXAotIgotUFYgPSAiMy40LjMrZ2l0JHtTUkNQVn0iCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWRvX3VucGFja19leHRyYSgpIHsKLSAgICBta2RpciAtcCAke1N9LzNyZHBhcnR5L3Rpbnlkbm4vCi0gICAgdGFyIHh6ZiAke1dPUktESVJ9L3YxLjAuMGEzLnRhci5neiAtQyAke1N9LzNyZHBhcnR5L3Rpbnlkbm4vCi0gICAgdGFyIHh6ZiAke1dPUktESVJ9L2lwcC9pcHBpY3YvJHtJUFBfRklMRU5BTUV9IC1DICR7V09SS0RJUn0KLSAgICBjcCAke1dPUktESVJ9L3ZnZy8qLmkgJHtXT1JLRElSfS9jb250cmliL21vZHVsZXMveGZlYXR1cmVzMmQvc3JjCi0gICAgY3AgJHtXT1JLRElSfS9ib29zdGRlc2MvKi5pICR7V09SS0RJUn0vY29udHJpYi9tb2R1bGVzL3hmZWF0dXJlczJkL3NyYwotfQotYWRkdGFzayB1bnBhY2tfZXh0cmEgYWZ0ZXIgZG9fdW5wYWNrIGJlZm9yZSBkb19wYXRjaAotCi1FWFRSQV9PRUNNQUtFID0gIi1ET1BFTkNWX0VYVFJBX01PRFVMRVNfUEFUSD0ke1dPUktESVJ9L2NvbnRyaWIvbW9kdWxlcyBcCi0gICAgLURXSVRIXzEzOTQ9T0ZGIFwKLSAgICAtREVOQUJMRV9QUkVDT01QSUxFRF9IRUFERVJTPU9GRiBcCi0gICAgLURDTUFLRV9TS0lQX1JQQVRIPU9OIFwKLSAgICAtRE9QRU5DVl9JQ1ZfSEFTSD0ke0lQUF9NRDV9IFwKLSAgICAtRElQUFJPT1Q9JHtXT1JLRElSfS9pcHBpY3ZfbG54IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygiVEFSR0VUX0NDX0FSQ0giLCAiLW1zc2UzIiwgIi1ERU5BQkxFX1NTRT0xIC1ERU5BQkxFX1NTRTI9MSAtREVOQUJMRV9TU0UzPTEgLURFTkFCTEVfU1NTRTM9MSIsICIiLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQVJHRVRfQ0NfQVJDSCIsICItbXNzZTQuMSIsICItREVOQUJMRV9TU0U9MSAtREVOQUJMRV9TU0UyPTEgLURFTkFCTEVfU1NFMz0xIC1ERU5BQkxFX1NTU0UzPTEgLURFTkFCTEVfU1NFNDE9MSIsICIiLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQVJHRVRfQ0NfQVJDSCIsICItbXNzZTQuMiIsICItREVOQUJMRV9TU0U9MSAtREVOQUJMRV9TU0UyPTEgLURFTkFCTEVfU1NFMz0xIC1ERU5BQkxFX1NTU0UzPTEgLURFTkFCTEVfU1NFNDE9MSAtREVOQUJMRV9TU0U0Mj0xIiwgIiIsIGQpfSBcCi0gICAgJHtAb2UudXRpbHMuY29uZGl0aW9uYWwoImxpYmRpciIsICIvdXNyL2xpYjY0IiwgIi1ETElCX1NVRkZJWD02NCIsICIiLCBkKX0gXAotICAgICR7QG9lLnV0aWxzLmNvbmRpdGlvbmFsKCJsaWJkaXIiLCAiL3Vzci9saWIzMiIsICItRExJQl9TVUZGSVg9MzIiLCAiIiwgZCl9IFwKLSIKLUVYVFJBX09FQ01BS0VfYXBwZW5kX3g4NiA9ICIgLURYODY9T04iCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJweXRob24zIGVpZ2VuIGpwZWcgcG5nIHRpZmYgdjRsIGxpYnY0bCBnc3RyZWFtZXIgc2FtcGxlcyB0YmIgZ3Bob3RvMiBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAiZ3RrIiwgIiIsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkxJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIiwgImNvbW1lcmNpYWwiLCAibGliYXYiLCAiIiwgZCl9IgotCi1QQUNLQUdFQ09ORklHW2FtZGJsYXNdID0gIi1EV0lUSF9PUEVOQ0xBTURCTEFTPU9OLC1EV0lUSF9PUEVOQ0xBTURCTEFTPU9GRixsaWJjbGFtZGJsYXMsIgotUEFDS0FHRUNPTkZJR1thbWRmZnRdID0gIi1EV0lUSF9PUEVOQ0xBTURGRlQ9T04sLURXSVRIX09QRU5DTEFNREZGVD1PRkYsbGliY2xhbWRmZnQsIgotUEFDS0FHRUNPTkZJR1tkbm5dID0gIi1EQlVJTERfb3BlbmN2X2Rubj1PTiAtRFBST1RPQlVGX1VQREFURV9GSUxFUz1PTiAtREJVSUxEX1BST1RPQlVGPU9GRiwtREJVSUxEX29wZW5jdl9kbm49T0ZGLHByb3RvYnVmIHByb3RvYnVmLW5hdGl2ZSwiCi1QQUNLQUdFQ09ORklHW2VpZ2VuXSA9ICItRFdJVEhfRUlHRU49T04sLURXSVRIX0VJR0VOPU9GRixsaWJlaWdlbiBnZmxhZ3MgZ2xvZywiCi1QQUNLQUdFQ09ORklHW2ZyZWV0eXBlXSA9ICItREJVSUxEX29wZW5jdl9mcmVldHlwZT1PTiwtREJVSUxEX29wZW5jdl9mcmVldHlwZT1PRkYsZnJlZXR5cGUsIgotUEFDS0FHRUNPTkZJR1tncGhvdG8yXSA9ICItRFdJVEhfR1BIT1RPMj1PTiwtRFdJVEhfR1BIT1RPMj1PRkYsbGliZ3Bob3RvMiwiCi1QQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLURXSVRIX0dTVFJFQU1FUj1PTiwtRFdJVEhfR1NUUkVBTUVSPU9GRixnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSwiCi1QQUNLQUdFQ09ORklHW2d0a10gPSAiLURXSVRIX0dUSz1PTiwtRFdJVEhfR1RLPU9GRixndGsrMywiCi1QQUNLQUdFQ09ORklHW2phc3Blcl0gPSAiLURXSVRIX0pBU1BFUj1PTiwtRFdJVEhfSkFTUEVSPU9GRixqYXNwZXIsIgotUEFDS0FHRUNPTkZJR1tqYXZhXSA9ICItREpBVkFfSU5DTFVERV9QQVRIPSR7SkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9JTkNMVURFX1BBVEgyPSR7SkFWQV9IT01FfS9pbmNsdWRlL2xpbnV4IC1ESkFWQV9BV1RfSU5DTFVERV9QQVRIPSR7SkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9BV1RfTElCUkFSWT0ke0pBVkFfSE9NRX0vbGliL2FtZDY0L2xpYmphd3Quc28gLURKQVZBX0pWTV9MSUJSQVJZPSR7SkFWQV9IT01FfS9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbywsYW50LW5hdGl2ZSBmYXN0amFyLW5hdGl2ZSBvcGVuamRrLTgtbmF0aXZlLCIKLVBBQ0tBR0VDT05GSUdbanBlZ10gPSAiLURXSVRIX0pQRUc9T04sLURXSVRIX0pQRUc9T0ZGLGpwZWcsIgotUEFDS0FHRUNPTkZJR1tsaWJhdl0gPSAiLURXSVRIX0ZGTVBFRz1PTiwtRFdJVEhfRkZNUEVHPU9GRixsaWJhdiwiCi1QQUNLQUdFQ09ORklHW2xpYnY0bF0gPSAiLURXSVRIX0xJQlY0TD1PTiwtRFdJVEhfTElCVjRMPU9GRix2NGwtdXRpbHMsIgotUEFDS0FHRUNPTkZJR1tvcGVuY2xdID0gIi1EV0lUSF9PUEVOQ0w9T04sLURXSVRIX09QRU5DTD1PRkYsb3BlbmNsLWhlYWRlcnMgdmlydHVhbC9vcGVuY2wtaWNkLCIKLVBBQ0tBR0VDT05GSUdbb3JhY2xlLWphdmFdID0gIi1ESkFWQV9JTkNMVURFX1BBVEg9JHtPUkFDTEVfSkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9JTkNMVURFX1BBVEgyPSR7T1JBQ0xFX0pBVkFfSE9NRX0vaW5jbHVkZS9saW51eCAtREpBVkFfQVdUX0lOQ0xVREVfUEFUSD0ke09SQUNMRV9KQVZBX0hPTUV9L2luY2x1ZGUgLURKQVZBX0FXVF9MSUJSQVJZPSR7T1JBQ0xFX0pBVkFfSE9NRX0vbGliL2FtZDY0L2xpYmphd3Quc28gLURKQVZBX0pWTV9MSUJSQVJZPSR7T1JBQ0xFX0pBVkFfSE9NRX0vbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28sLGFudC1uYXRpdmUgb3JhY2xlLWpzZS1qZGsgb3JhY2xlLWpzZS1qZGstbmF0aXZlLCIKLVBBQ0tBR0VDT05GSUdbcG5nXSA9ICItRFdJVEhfUE5HPU9OLC1EV0lUSF9QTkc9T0ZGLGxpYnBuZywiCi1QQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIi1EUFlUSE9OMl9OVU1QWV9JTkNMVURFX0RJUlM6UEFUSD0ke1NUQUdJTkdfTElCRElSfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvbnVtcHkvY29yZS9pbmNsdWRlLCxweXRob24tbnVtcHksIgotUEFDS0FHRUNPTkZJR1tweXRob24zXSA9ICItRFBZVEhPTjNfTlVNUFlfSU5DTFVERV9ESVJTOlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL251bXB5L2NvcmUvaW5jbHVkZSwscHl0aG9uMy1udW1weSwiCi1QQUNLQUdFQ09ORklHW3NhbXBsZXNdID0gIi1EQlVJTERfRVhBTVBMRVM9T04gLURJTlNUQUxMX1BZVEhPTl9FWEFNUExFUz1PTiwtREJVSUxEX0VYQU1QTEVTPU9GRiwsIgotUEFDS0FHRUNPTkZJR1t0YmJdID0gIi1EV0lUSF9UQkI9T04sLURXSVRIX1RCQj1PRkYsdGJiLCIKLVBBQ0tBR0VDT05GSUdbdGV4dF0gPSAiLURCVUlMRF9vcGVuY3ZfdGV4dD1PTiwtREJVSUxEX29wZW5jdl90ZXh0PU9GRix0ZXNzZXJhY3QsIgotUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItRFdJVEhfVElGRj1PTiwtRFdJVEhfVElGRj1PRkYsdGlmZiwiCi1QQUNLQUdFQ09ORklHW3Y0bF0gPSAiLURXSVRIX1Y0TD1PTiwtRFdJVEhfVjRMPU9GRix2NGwtdXRpbHMsIgotCi1pbmhlcml0IHBrZ2NvbmZpZyBjbWFrZQotCi1pbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAnZGlzdHV0aWxzMy1iYXNlJywgJycsIGQpfQotaW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24yJywgJ2Rpc3R1dGlscy1iYXNlJywgJycsIGQpfQotCi1leHBvcnQgUFlUSE9OX0NTUEVDPSItSSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0iCi1leHBvcnQgUFlUSE9OPSIke1NUQUdJTkdfQklORElSX05BVElWRX0vJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICdweXRob24zJywgJ3B5dGhvbicsIGQpfSIKLWV4cG9ydCBPUkFDTEVfSkFWQV9IT01FPSIke1NUQUdJTkdfRElSX05BVElWRX0vdXNyL2Jpbi9qYXZhIgotZXhwb3J0IEpBVkFfSE9NRT0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9saWIvanZtL29wZW5qZGstOC1uYXRpdmUiCi1leHBvcnQgQU5UX0RJUj0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9zaGFyZS9hbnQvIgotCi1UQVJHRVRfQ0NfQVJDSCArPSAiLUkke1N9L2luY2x1ZGUgIgotCi1QQUNLQUdFUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc2FtcGxlcycsICcke1BOfS1zYW1wbGVzJywgJycsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnb3JhY2xlLWphdmEnLCAnJHtQTn0tamF2YScsICcnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2phdmEnLCAnJHtQTn0tamF2YScsICcnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjInLCAncHl0aG9uLSR7QlBOfScsICcnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uMy0ke0JQTn0nLCAnJywgZCl9IFwKLSAgICAke1BOfS1hcHBzIgotCi1weXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7Ci0gICAgY3ZfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfScpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY3ZfbGliZGlyLCAnXmxpYiguKilcLnNvJCcsICdsaWIlcy1kZXYnLCAnT3BlbkNWICVzIGRldmVsb3BtZW50IHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnLCBhbGxvd19saW5rcz1UcnVlKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGN2X2xpYmRpciwgJ15saWIoLiopXC5sYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnT3BlbkNWICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQotCi0gICAgcG4gPSBkLmdldFZhcignUE4nKQotICAgIG1ldGFwa2cgPSAgcG4gKyAnLWRldicKLSAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKLSAgICBibGFja2xpc3QgPSBbIG1ldGFwa2cgXQotICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbIF0KLSAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCkKLSAgICBmb3IgcGtnIGluIHBhY2thZ2VzWzE6XToKLSAgICAgICAgaWYgbm90IHBrZyBpbiBibGFja2xpc3QgYW5kIG5vdCBwa2cgaW4gbWV0YXBrZ19yZGVwZW5kcyBhbmQgcGtnLmVuZHN3aXRoKCctZGV2Jyk6Ci0gICAgICAgICAgICBtZXRhcGtnX3JkZXBlbmRzLmFwcGVuZChwa2cpCi0gICAgZC5zZXRWYXIoJ1JSRUNPTU1FTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihtZXRhcGtnX3JkZXBlbmRzKSkKLQotICAgIG1ldGFwa2cgPSAgcG4KLSAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKLSAgICBibGFja2xpc3QgPSBbIG1ldGFwa2csICJsaWJvcGVuY3YtdHMiIF0KLSAgICBtZXRhcGtnX3JkZXBlbmRzID0gWyBdCi0gICAgZm9yIHBrZyBpbiBwYWNrYWdlc1sxOl06Ci0gICAgICAgIGlmIG5vdCBwa2cgaW4gYmxhY2tsaXN0IGFuZCBub3QgcGtnIGluIG1ldGFwa2dfcmRlcGVuZHMgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1kZXYnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLWRiZycpIGFuZCBub3QgcGtnLmVuZHN3aXRoKCctZG9jJykgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1sb2NhbGUnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLXN0YXRpY2RldicpOgotICAgICAgICAgICAgbWV0YXBrZ19yZGVwZW5kcy5hcHBlbmQocGtnKQotICAgIGQuc2V0VmFyKCdSREVQRU5EU18nICsgbWV0YXBrZywgJyAnLmpvaW4obWV0YXBrZ19yZGVwZW5kcykpCi19Ci0KLVBBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWJvcGVuY3YtLioiCi0KLUZJTEVTXyR7UE59ID0gIiIKLUZJTEVTXyR7UE59LWRiZyArPSAiJHtkYXRhZGlyfS9PcGVuQ1YvamF2YS8uZGVidWcvKiAke2RhdGFkaXJ9L09wZW5DVi9zYW1wbGVzL2Jpbi8uZGVidWcvKiIKLUZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9ICR7bGliZGlyfS9wa2djb25maWcgJHtkYXRhZGlyfS9PcGVuQ1YvKi5jbWFrZSIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtkYXRhZGlyfS9PcGVuQ1YvM3JkcGFydHkvbGliLyouYSIKLUZJTEVTXyR7UE59LWFwcHMgPSAiJHtiaW5kaXJ9LyogJHtkYXRhZGlyfS9PcGVuQ1YiCi1GSUxFU18ke1BOfS1qYXZhID0gIiR7ZGF0YWRpcn0vT3BlbkNWL2phdmEiCi1GSUxFU18ke1BOfS1zYW1wbGVzID0gIiR7ZGF0YWRpcn0vT3BlbkNWL3NhbXBsZXMvIgotCi1JTlNBTkVfU0tJUF8ke1BOfS1qYXZhID0gImxpYmRpciIKLUlOU0FORV9TS0lQXyR7UE59LWRiZyA9ICJsaWJkaXIiCi0KLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCi0KLVNVTU1BUllfcHl0aG9uLW9wZW5jdiA9ICJQeXRob24gYmluZGluZ3MgdG8gb3BlbmN2IgotRklMRVNfcHl0aG9uLW9wZW5jdiA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgotUkRFUEVORFNfcHl0aG9uLW9wZW5jdiA9ICJweXRob24tY29yZSBweXRob24tbnVtcHkiCi0KLVNVTU1BUllfcHl0aG9uMy1vcGVuY3YgPSAiUHl0aG9uIGJpbmRpbmdzIHRvIG9wZW5jdiIKLUZJTEVTX3B5dGhvbjMtb3BlbmN2ID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCi1SREVQRU5EU19weXRob24zLW9wZW5jdiA9ICJweXRob24zLWNvcmUgcHl0aG9uMy1udW1weSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgY3AgJHtTfS9pbmNsdWRlL29wZW5jdi8qLmggJHtEfSR7aW5jbHVkZWRpcn0vb3BlbmN2LwotICAgIHNlZCAtaSAnL2Jsb2J0cmFjay9kJyAke0R9JHtpbmNsdWRlZGlyfS9vcGVuY3YvY3ZhdXguaAotCi0gICAgIyBNb3ZlIFB5dGhvbiBmaWxlcyBpbnRvIGNvcnJlY3QgbGlicmFyeSBmb2xkZXIgKGZvciBtdWx0aWxpYiBidWlsZCkKLSAgICBpZiBbICIkbGliZGlyIiAhPSAiL3Vzci9saWIiIC1hIC1kICR7RH0vdXNyL2xpYiBdOyB0aGVuCi0gICAgICAgIG12ICR7RH0vdXNyL2xpYi8qICR7RH0vJHtsaWJkaXJ9LwotICAgICAgICBybSAtcmYgJHtEfS91c3IvbGliCi0gICAgZmkKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3ZfMy40LjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2XzMuNC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhNmUwNmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2XzMuNC41LmJiCkBAIC0wLDAgKzEsMTkwIEBACitTVU1NQVJZID0gIk9wZW5jdiA6IFRoZSBPcGVuIENvbXB1dGVyIFZpc2lvbiBMaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL29wZW5jdi5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTYyZDg5YzVkY2IwNTgzNjA5ZWE5MTljNTZiZTBlZTc2IgorCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorCitERVBFTkRTID0gImxpYnRvb2wgc3dpZy1uYXRpdmUgYnppcDIgemxpYiBnbGliLTIuMCBsaWJ3ZWJwIgorCitTUkNSRVZfb3BlbmN2ID0gIjhmMTM1NmMzYzViMTY3MjEzNDk1ODJkYjQ2MWEyMDUxNjUzMDU5ZTgiCitTUkNSRVZfY29udHJpYiA9ICI3MjkyZGY2MjYyNGRlZDhhZjgwMzUyMzE0MzVkZmQxN2M5M2UxYTgwIgorU1JDUkVWX2lwcCA9ICIzMmUzMTVhNWIxMDZhN2I4OWRiZWQ1MWMyOGY4MTIwYTQ4YjM2OGI0IgorU1JDUkVWX2Jvb3N0ZGVzYyA9ICIzNGU0MjA2YWVmNDRkNTBlNmJiY2QwYWIwNjM1NGI1MmU3NDY2ZDI2IgorU1JDUkVWX3ZnZyA9ICJmY2NmN2NkNmE0YjEyMDc5ZjczYmJmYjIxNzQ1ZjliYWJjZDRlYjFkIgorU1JDX1VSSVt0aW55ZG5uLm1kNXN1bV0gPSAiYWRiMWM1MTJlMDljYTJjN2E2ZmFlZjM2ZjljNTNlNTkiCitTUkNfVVJJW3Rpbnlkbm4uc2hhMjU2c3VtXSA9ICJlMmM2MWNlOGM1ZGViYWE2NDQxMjExNzllOWRiZGNmODNmNDk3ZjM5ZGU4NTNmOGRkNTE3NTg0NjUwNWFhMThiIgorCitkZWYgaXBwX2ZpbGVuYW1lKGQpOgorICAgIGltcG9ydCByZQorICAgIGFyY2ggPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnKQorICAgIGlmIHJlLm1hdGNoKCJpLjg2JCIsIGFyY2gpOgorICAgICAgICByZXR1cm4gImlwcGljdl8yMDE5X2xueF9pYTMyX2dlbmVyYWxfMjAxODA3MjMudGd6IgorICAgIGVsc2U6CisgICAgICAgIHJldHVybiAiaXBwaWN2XzIwMTlfbG54X2ludGVsNjRfZ2VuZXJhbF8yMDE4MDcyMy50Z3oiCisKK2RlZiBpcHBfbWQ1c3VtKGQpOgorICAgIGltcG9ydCByZQorICAgIGFyY2ggPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnKQorICAgIGlmIHJlLm1hdGNoKCJpLjg2JCIsIGFyY2gpOgorICAgICAgICByZXR1cm4gIjRmMzg0MzJjMzBiZmQ2NDIzMTY0YjdhMjRiYmM5OGEwIgorICAgIGVsc2U6CisgICAgICAgIHJldHVybiAiYzBiZDc4YWRiNDE1NmJiZjU1MmMxZGZlOTA1OTk2MDciCisKK0lQUF9GSUxFTkFNRSA9ICIke0BpcHBfZmlsZW5hbWUoZCl9IgorSVBQX01ENSA9ICIke0BpcHBfbWQ1c3VtKGQpfSIKKworU1JDUkVWX0ZPUk1BVCA9ICJvcGVuY3ZfY29udHJpYl9pcHBfYm9vc3RkZXNjX3ZnZyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuY3Yvb3BlbmN2LmdpdDtuYW1lPW9wZW5jdiBcCisgICAgZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuY3Yvb3BlbmN2X2NvbnRyaWIuZ2l0O2Rlc3RzdWZmaXg9Y29udHJpYjtuYW1lPWNvbnRyaWIgXAorICAgIGdpdDovL2dpdGh1Yi5jb20vb3BlbmN2L29wZW5jdl8zcmRwYXJ0eS5naXQ7YnJhbmNoPWlwcGljdi9tYXN0ZXJfMjAxODA3MjM7ZGVzdHN1ZmZpeD1pcHA7bmFtZT1pcHAgXAorICAgIGdpdDovL2dpdGh1Yi5jb20vb3BlbmN2L29wZW5jdl8zcmRwYXJ0eS5naXQ7YnJhbmNoPWNvbnRyaWJfeGZlYXR1cmVzMmRfYm9vc3RkZXNjXzIwMTYxMDEyO2Rlc3RzdWZmaXg9Ym9vc3RkZXNjO25hbWU9Ym9vc3RkZXNjIFwKKyAgICBnaXQ6Ly9naXRodWIuY29tL29wZW5jdi9vcGVuY3ZfM3JkcGFydHkuZ2l0O2JyYW5jaD1jb250cmliX3hmZWF0dXJlczJkX3ZnZ18yMDE2MDMxNztkZXN0c3VmZml4PXZnZztuYW1lPXZnZyBcCisgICAgaHR0cHM6Ly9naXRodWIuY29tL3RpbnktZG5uL3RpbnktZG5uL2FyY2hpdmUvdjEuMC4wYTMudGFyLmd6O2Rlc3RzdWZmaXg9Z2l0LzNyZHBhcnR5L3Rpbnlkbm4vdGlueS1kbm4tMS4wLjBhMztuYW1lPXRpbnlkbm47dW5wYWNrPWZhbHNlIFwKKyAgICBmaWxlOi8vMDAwMS0zcmRwYXJ0eS1pcHBpY3YtVXNlLXByZS1kb3dubG9hZGVkLWlwcC5wYXRjaCBcCisgICAgZmlsZTovL3VzZWxvY2FseGZlYXR1cmVzLnBhdGNoO3BhdGNoZGlyPS4uL2NvbnRyaWIvIFwKKyAgICBmaWxlOi8vMDAwMi1NYWtlLW9wZW5jdi10cy1jcmVhdGUtc2hhcmUtbGlicmFyeS1pbnRlYWQtb2Ytc3RhdGljLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMy1Uby1maXgtZXJyb3JzLWFzLWZvbGxvd2luZy5wYXRjaCBcCisgICAgZmlsZTovL2ZpeHBrZ2NvbmZpZy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtVGVtcG9yYXJsaXktd29yay1hcm91bmQtZGVwcmVjYXRlZC1mZm1wZWctUkFXLWZ1bmN0aS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtRG9udC11c2UtaXN5c3RlbS5wYXRjaCBcCisiCitQViA9ICIzLjQuNSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9fdW5wYWNrX2V4dHJhKCkgeworICAgIG1rZGlyIC1wICR7U30vM3JkcGFydHkvdGlueWRubi8KKyAgICB0YXIgeHpmICR7V09SS0RJUn0vdjEuMC4wYTMudGFyLmd6IC1DICR7U30vM3JkcGFydHkvdGlueWRubi8KKyAgICB0YXIgeHpmICR7V09SS0RJUn0vaXBwL2lwcGljdi8ke0lQUF9GSUxFTkFNRX0gLUMgJHtXT1JLRElSfQorICAgIGNwICR7V09SS0RJUn0vdmdnLyouaSAke1dPUktESVJ9L2NvbnRyaWIvbW9kdWxlcy94ZmVhdHVyZXMyZC9zcmMKKyAgICBjcCAke1dPUktESVJ9L2Jvb3N0ZGVzYy8qLmkgJHtXT1JLRElSfS9jb250cmliL21vZHVsZXMveGZlYXR1cmVzMmQvc3JjCit9CithZGR0YXNrIHVucGFja19leHRyYSBhZnRlciBkb191bnBhY2sgYmVmb3JlIGRvX3BhdGNoCisKK0VYVFJBX09FQ01BS0UgPSAiLURPUEVOQ1ZfRVhUUkFfTU9EVUxFU19QQVRIPSR7V09SS0RJUn0vY29udHJpYi9tb2R1bGVzIFwKKyAgICAtRFdJVEhfMTM5ND1PRkYgXAorICAgIC1ERU5BQkxFX1BSRUNPTVBJTEVEX0hFQURFUlM9T0ZGIFwKKyAgICAtRENNQUtFX1NLSVBfUlBBVEg9T04gXAorICAgIC1ET1BFTkNWX0lDVl9IQVNIPSR7SVBQX01ENX0gXAorICAgIC1ESVBQUk9PVD0ke1dPUktESVJ9L2lwcGljdl9sbnggXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQVJHRVRfQ0NfQVJDSCIsICItbXNzZTMiLCAiLURFTkFCTEVfU1NFPTEgLURFTkFCTEVfU1NFMj0xIC1ERU5BQkxFX1NTRTM9MSAtREVOQUJMRV9TU1NFMz0xIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIlRBUkdFVF9DQ19BUkNIIiwgIi1tc3NlNC4xIiwgIi1ERU5BQkxFX1NTRT0xIC1ERU5BQkxFX1NTRTI9MSAtREVOQUJMRV9TU0UzPTEgLURFTkFCTEVfU1NTRTM9MSAtREVOQUJMRV9TU0U0MT0xIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIlRBUkdFVF9DQ19BUkNIIiwgIi1tc3NlNC4yIiwgIi1ERU5BQkxFX1NTRT0xIC1ERU5BQkxFX1NTRTI9MSAtREVOQUJMRV9TU0UzPTEgLURFTkFCTEVfU1NTRTM9MSAtREVOQUJMRV9TU0U0MT0xIC1ERU5BQkxFX1NTRTQyPTEiLCAiIiwgZCl9IFwKKyIKK0VYVFJBX09FQ01BS0VfYXBwZW5kX3g4NiA9ICIgLURYODY9T04iCisKK1BBQ0tBR0VDT05GSUcgPz89ICJweXRob24zIGVpZ2VuIGpwZWcgcG5nIHRpZmYgdjRsIGxpYnY0bCBnc3RyZWFtZXIgc2FtcGxlcyB0YmIgZ3Bob3RvMiBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAiZ3RrIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkxJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIiwgImNvbW1lcmNpYWwiLCAibGliYXYiLCAiIiwgZCl9IgorCitQQUNLQUdFQ09ORklHW2FtZGJsYXNdID0gIi1EV0lUSF9PUEVOQ0xBTURCTEFTPU9OLC1EV0lUSF9PUEVOQ0xBTURCTEFTPU9GRixsaWJjbGFtZGJsYXMsIgorUEFDS0FHRUNPTkZJR1thbWRmZnRdID0gIi1EV0lUSF9PUEVOQ0xBTURGRlQ9T04sLURXSVRIX09QRU5DTEFNREZGVD1PRkYsbGliY2xhbWRmZnQsIgorUEFDS0FHRUNPTkZJR1tkbm5dID0gIi1EQlVJTERfb3BlbmN2X2Rubj1PTiAtRFBST1RPQlVGX1VQREFURV9GSUxFUz1PTiAtREJVSUxEX1BST1RPQlVGPU9GRiwtREJVSUxEX29wZW5jdl9kbm49T0ZGLHByb3RvYnVmIHByb3RvYnVmLW5hdGl2ZSwiCitQQUNLQUdFQ09ORklHW2VpZ2VuXSA9ICItRFdJVEhfRUlHRU49T04sLURXSVRIX0VJR0VOPU9GRixsaWJlaWdlbiBnZmxhZ3MgZ2xvZywiCitQQUNLQUdFQ09ORklHW2ZyZWV0eXBlXSA9ICItREJVSUxEX29wZW5jdl9mcmVldHlwZT1PTiwtREJVSUxEX29wZW5jdl9mcmVldHlwZT1PRkYsZnJlZXR5cGUsIgorUEFDS0FHRUNPTkZJR1tncGhvdG8yXSA9ICItRFdJVEhfR1BIT1RPMj1PTiwtRFdJVEhfR1BIT1RPMj1PRkYsbGliZ3Bob3RvMiwiCitQQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLURXSVRIX0dTVFJFQU1FUj1PTiwtRFdJVEhfR1NUUkVBTUVSPU9GRixnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSwiCitQQUNLQUdFQ09ORklHW2d0a10gPSAiLURXSVRIX0dUSz1PTiwtRFdJVEhfR1RLPU9GRixndGsrMywiCitQQUNLQUdFQ09ORklHW2phc3Blcl0gPSAiLURXSVRIX0pBU1BFUj1PTiwtRFdJVEhfSkFTUEVSPU9GRixqYXNwZXIsIgorUEFDS0FHRUNPTkZJR1tqYXZhXSA9ICItREpBVkFfSU5DTFVERV9QQVRIPSR7SkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9JTkNMVURFX1BBVEgyPSR7SkFWQV9IT01FfS9pbmNsdWRlL2xpbnV4IC1ESkFWQV9BV1RfSU5DTFVERV9QQVRIPSR7SkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9BV1RfTElCUkFSWT0ke0pBVkFfSE9NRX0vbGliL2FtZDY0L2xpYmphd3Quc28gLURKQVZBX0pWTV9MSUJSQVJZPSR7SkFWQV9IT01FfS9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbywsYW50LW5hdGl2ZSBmYXN0amFyLW5hdGl2ZSBvcGVuamRrLTgtbmF0aXZlLCIKK1BBQ0tBR0VDT05GSUdbanBlZ10gPSAiLURXSVRIX0pQRUc9T04sLURXSVRIX0pQRUc9T0ZGLGpwZWcsIgorUEFDS0FHRUNPTkZJR1tsaWJhdl0gPSAiLURXSVRIX0ZGTVBFRz1PTiwtRFdJVEhfRkZNUEVHPU9GRixsaWJhdiwiCitQQUNLQUdFQ09ORklHW2xpYnY0bF0gPSAiLURXSVRIX0xJQlY0TD1PTiwtRFdJVEhfTElCVjRMPU9GRix2NGwtdXRpbHMsIgorUEFDS0FHRUNPTkZJR1tvcGVuY2xdID0gIi1EV0lUSF9PUEVOQ0w9T04sLURXSVRIX09QRU5DTD1PRkYsb3BlbmNsLWhlYWRlcnMgdmlydHVhbC9vcGVuY2wtaWNkLCIKK1BBQ0tBR0VDT05GSUdbb3JhY2xlLWphdmFdID0gIi1ESkFWQV9JTkNMVURFX1BBVEg9JHtPUkFDTEVfSkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9JTkNMVURFX1BBVEgyPSR7T1JBQ0xFX0pBVkFfSE9NRX0vaW5jbHVkZS9saW51eCAtREpBVkFfQVdUX0lOQ0xVREVfUEFUSD0ke09SQUNMRV9KQVZBX0hPTUV9L2luY2x1ZGUgLURKQVZBX0FXVF9MSUJSQVJZPSR7T1JBQ0xFX0pBVkFfSE9NRX0vbGliL2FtZDY0L2xpYmphd3Quc28gLURKQVZBX0pWTV9MSUJSQVJZPSR7T1JBQ0xFX0pBVkFfSE9NRX0vbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28sLGFudC1uYXRpdmUgb3JhY2xlLWpzZS1qZGsgb3JhY2xlLWpzZS1qZGstbmF0aXZlLCIKK1BBQ0tBR0VDT05GSUdbcG5nXSA9ICItRFdJVEhfUE5HPU9OLC1EV0lUSF9QTkc9T0ZGLGxpYnBuZywiCitQQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIi1EUFlUSE9OMl9OVU1QWV9JTkNMVURFX0RJUlM6UEFUSD0ke1NUQUdJTkdfTElCRElSfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvbnVtcHkvY29yZS9pbmNsdWRlLCxweXRob24tbnVtcHksIgorUEFDS0FHRUNPTkZJR1tweXRob24zXSA9ICItRFBZVEhPTjNfTlVNUFlfSU5DTFVERV9ESVJTOlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL251bXB5L2NvcmUvaW5jbHVkZSwscHl0aG9uMy1udW1weSwiCitQQUNLQUdFQ09ORklHW3NhbXBsZXNdID0gIi1EQlVJTERfRVhBTVBMRVM9T04gLURJTlNUQUxMX1BZVEhPTl9FWEFNUExFUz1PTiwtREJVSUxEX0VYQU1QTEVTPU9GRiwsIgorUEFDS0FHRUNPTkZJR1t0YmJdID0gIi1EV0lUSF9UQkI9T04sLURXSVRIX1RCQj1PRkYsdGJiLCIKK1BBQ0tBR0VDT05GSUdbdGV4dF0gPSAiLURCVUlMRF9vcGVuY3ZfdGV4dD1PTiwtREJVSUxEX29wZW5jdl90ZXh0PU9GRix0ZXNzZXJhY3QsIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItRFdJVEhfVElGRj1PTiwtRFdJVEhfVElGRj1PRkYsdGlmZiwiCitQQUNLQUdFQ09ORklHW3Y0bF0gPSAiLURXSVRIX1Y0TD1PTiwtRFdJVEhfVjRMPU9GRix2NGwtdXRpbHMsIgorCitpbmhlcml0IHBrZ2NvbmZpZyBjbWFrZQorCitpbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAnZGlzdHV0aWxzMy1iYXNlJywgJycsIGQpfQoraW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24yJywgJ2Rpc3R1dGlscy1iYXNlJywgJycsIGQpfQorCitleHBvcnQgUFlUSE9OX0NTUEVDPSItSSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0iCitleHBvcnQgUFlUSE9OPSIke1NUQUdJTkdfQklORElSX05BVElWRX0vJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICdweXRob24zJywgJ3B5dGhvbicsIGQpfSIKK2V4cG9ydCBPUkFDTEVfSkFWQV9IT01FPSIke1NUQUdJTkdfRElSX05BVElWRX0vdXNyL2Jpbi9qYXZhIgorZXhwb3J0IEpBVkFfSE9NRT0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9saWIvanZtL29wZW5qZGstOC1uYXRpdmUiCitleHBvcnQgQU5UX0RJUj0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9zaGFyZS9hbnQvIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiLUkke1N9L2luY2x1ZGUgIgorCitQQUNLQUdFUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc2FtcGxlcycsICcke1BOfS1zYW1wbGVzJywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnb3JhY2xlLWphdmEnLCAnJHtQTn0tamF2YScsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2phdmEnLCAnJHtQTn0tamF2YScsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjInLCAncHl0aG9uLSR7QlBOfScsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uMy0ke0JQTn0nLCAnJywgZCl9IFwKKyAgICAke1BOfS1hcHBzIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgY3ZfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfScpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY3ZfbGliZGlyLCAnXmxpYiguKilcLnNvJCcsICdsaWIlcy1kZXYnLCAnT3BlbkNWICVzIGRldmVsb3BtZW50IHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnLCBhbGxvd19saW5rcz1UcnVlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGN2X2xpYmRpciwgJ15saWIoLiopXC5sYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnT3BlbkNWICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorCisgICAgcG4gPSBkLmdldFZhcignUE4nKQorICAgIG1ldGFwa2cgPSAgcG4gKyAnLWRldicKKyAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKKyAgICBibGFja2xpc3QgPSBbIG1ldGFwa2cgXQorICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbIF0KKyAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCkKKyAgICBmb3IgcGtnIGluIHBhY2thZ2VzWzE6XToKKyAgICAgICAgaWYgbm90IHBrZyBpbiBibGFja2xpc3QgYW5kIG5vdCBwa2cgaW4gbWV0YXBrZ19yZGVwZW5kcyBhbmQgcGtnLmVuZHN3aXRoKCctZGV2Jyk6CisgICAgICAgICAgICBtZXRhcGtnX3JkZXBlbmRzLmFwcGVuZChwa2cpCisgICAgZC5zZXRWYXIoJ1JSRUNPTU1FTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihtZXRhcGtnX3JkZXBlbmRzKSkKKworICAgIG1ldGFwa2cgPSAgcG4KKyAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKKyAgICBibGFja2xpc3QgPSBbIG1ldGFwa2csICJsaWJvcGVuY3YtdHMiIF0KKyAgICBtZXRhcGtnX3JkZXBlbmRzID0gWyBdCisgICAgZm9yIHBrZyBpbiBwYWNrYWdlc1sxOl06CisgICAgICAgIGlmIG5vdCBwa2cgaW4gYmxhY2tsaXN0IGFuZCBub3QgcGtnIGluIG1ldGFwa2dfcmRlcGVuZHMgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1kZXYnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLWRiZycpIGFuZCBub3QgcGtnLmVuZHN3aXRoKCctZG9jJykgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1sb2NhbGUnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLXN0YXRpY2RldicpOgorICAgICAgICAgICAgbWV0YXBrZ19yZGVwZW5kcy5hcHBlbmQocGtnKQorICAgIGQuc2V0VmFyKCdSREVQRU5EU18nICsgbWV0YXBrZywgJyAnLmpvaW4obWV0YXBrZ19yZGVwZW5kcykpCit9CisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWJvcGVuY3YtLioiCisKK0ZJTEVTXyR7UE59ID0gIiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtkYXRhZGlyfS9PcGVuQ1YvamF2YS8uZGVidWcvKiAke2RhdGFkaXJ9L09wZW5DVi9zYW1wbGVzL2Jpbi8uZGVidWcvKiIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9ICR7bGliZGlyfS9wa2djb25maWcgJHtkYXRhZGlyfS9PcGVuQ1YvKi5jbWFrZSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtkYXRhZGlyfS9PcGVuQ1YvM3JkcGFydHkvbGliLyouYSIKK0ZJTEVTXyR7UE59LWFwcHMgPSAiJHtiaW5kaXJ9LyogJHtkYXRhZGlyfS9PcGVuQ1YiCitGSUxFU18ke1BOfS1qYXZhID0gIiR7ZGF0YWRpcn0vT3BlbkNWL2phdmEiCitGSUxFU18ke1BOfS1zYW1wbGVzID0gIiR7ZGF0YWRpcn0vT3BlbkNWL3NhbXBsZXMvIgorCitJTlNBTkVfU0tJUF8ke1BOfS1qYXZhID0gImxpYmRpciIKK0lOU0FORV9TS0lQXyR7UE59LWRiZyA9ICJsaWJkaXIiCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCisKK1NVTU1BUllfcHl0aG9uLW9wZW5jdiA9ICJQeXRob24gYmluZGluZ3MgdG8gb3BlbmN2IgorRklMRVNfcHl0aG9uLW9wZW5jdiA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgorUkRFUEVORFNfcHl0aG9uLW9wZW5jdiA9ICJweXRob24tY29yZSBweXRob24tbnVtcHkiCisKK1NVTU1BUllfcHl0aG9uMy1vcGVuY3YgPSAiUHl0aG9uIGJpbmRpbmdzIHRvIG9wZW5jdiIKK0ZJTEVTX3B5dGhvbjMtb3BlbmN2ID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCitSREVQRU5EU19weXRob24zLW9wZW5jdiA9ICJweXRob24zLWNvcmUgcHl0aG9uMy1udW1weSIKKworUkRFUEVORFNfb3BlbmN2LWFwcHMgID0gImJhc2giCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGNwICR7U30vaW5jbHVkZS9vcGVuY3YvKi5oICR7RH0ke2luY2x1ZGVkaXJ9L29wZW5jdi8KKyAgICBzZWQgLWkgJy9ibG9idHJhY2svZCcgJHtEfSR7aW5jbHVkZWRpcn0vb3BlbmN2L2N2YXV4LmgKKworICAgICMgTW92ZSBQeXRob24gZmlsZXMgaW50byBjb3JyZWN0IGxpYnJhcnkgZm9sZGVyIChmb3IgbXVsdGlsaWIgYnVpbGQpCisgICAgaWYgWyAiJGxpYmRpciIgIT0gIi91c3IvbGliIiAtYSAtZCAke0R9L3Vzci9saWIgXTsgdGhlbgorICAgICAgICBtdiAke0R9L3Vzci9saWIvKiAke0R9LyR7bGliZGlyfS8KKyAgICAgICAgcm0gLXJmICR7RH0vdXNyL2xpYgorICAgIGZpCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9yZW1vdmUtdXNlci1ob3N0LXB3ZC1mcm9tLXZlcnNpb24ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9yZW1vdmUtdXNlci1ob3N0LXB3ZC1mcm9tLXZlcnNpb24ucGF0Y2gKaW5kZXggNGViMzg5Ny4uODcwZmM5OCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvcmVtb3ZlLXVzZXItaG9zdC1wd2QtZnJvbS12ZXJzaW9uLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL3JlbW92ZS11c2VyLWhvc3QtcHdkLWZyb20tdmVyc2lvbi5wYXRjaApAQCAtMSwyNCArMSwzNiBAQAotZGlmZiAtcnUgb3BlbmxkYXAtMi40LjQ2Lm9yaWcvYnVpbGQvbWt2ZXJzaW9uIG9wZW5sZGFwLTIuNC40Ni9idWlsZC9ta3ZlcnNpb24KLS0tLSBvcGVubGRhcC0yLjQuNDYub3JpZy9idWlsZC9ta3ZlcnNpb24JMjAxOC0xMC0yNSAxODo0NjoxMC4zODM3NTA0ODAgKzEzMDAKLSsrKyBvcGVubGRhcC0yLjQuNDYvYnVpbGQvbWt2ZXJzaW9uCTIwMTgtMTAtMjUgMTg6NDY6MzMuMTU2MjMyNTg2ICsxMzAwCi1AQCAtNTAsNyArNTAsMTUgQEAKLSBmaQotIAotIEFQUExJQ0FUSU9OPSQxCi0tV0hPV0hFUkU9IiRVU0VSQGB1bmFtZSAtbmA6YHB3ZGAiCi0raWYgWyAtbiAiJHtTT1VSQ0VfREFURV9FUE9DSH0iIF07IHRoZW4KLSsgICBXSE9XSEVSRT0ib3BlbmxkYXAiCitGcm9tIDg2OGEwNGIwNTk2ZTJkZjcwOGJhMTRlZDcwODE1YjE0MTFkYjNkYjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAyMSBGZWIgMjAxOSAxMTozMzoyNCArMDgwMAorU3ViamVjdDogW1BBVENIXSBta3ZlcnNpb246IHJlbW92ZSB1c2VyIGhvc3QgcHdkIGZyb20gdmVyc2lvbgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworVXBkYXRlIHRoaXMgcGF0Y2ggdG8gdmVyc2lvbiAyLjQuNDcKKworU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGJ1aWxkL21rdmVyc2lvbiB8IDggKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYnVpbGQvbWt2ZXJzaW9uIGIvYnVpbGQvbWt2ZXJzaW9uCitpbmRleCA0ZTM1NzIzLi45ZmEzYmVlIDEwMDc1NQorLS0tIGEvYnVpbGQvbWt2ZXJzaW9uCisrKysgYi9idWlsZC9ta3ZlcnNpb24KK0BAIC01Myw4ICs1MywxMiBAQCBBUFBMSUNBVElPTj0kMQorICMgUmVwcm9kdWNpYmxlIGJ1aWxkcyBzZXQgU09VUkNFX0RBVEVfRVBPQ0gsIHdhbnQgY29uc3RhbnQgc3RyaW5ncworIGlmIFsgLW4gIiR7U09VUkNFX0RBVEVfRVBPQ0h9IiBdOyB0aGVuCisgICAgV0hPV0hFUkU9Im9wZW5sZGFwIgogKyAgIERBVEU9JChkYXRlIC1kQCRTT1VSQ0VfREFURV9FUE9DSCArJyAlYiAlZCAlWSAnKQogKyAgIFRJTUU9JChkYXRlIC1kQCRTT1VSQ0VfREFURV9FUE9DSCArJyAlSDolTTolUyAnKQotK2Vsc2UKLSsgICBXSE9XSEVSRT0iJFVTRVJAJCh1bmFtZSAtbik6JChwd2QpIgorIGVsc2UKKy0gICBXSE9XSEVSRT0iJFVTRVJAJCh1bmFtZSAtbik6JChwd2QpIgorKyAgIFdIT1dIRVJFPSJvcGVubGRhcCIKICsgICBEQVRFPSciIF9fREFURV9fICInCiArICAgVElNRT0nIiBfX1RJTUVfXyAiJwotK2ZpCisgZmkKICAKICBjYXQgPDwgX19FT0ZfXwotIC8qIFRoaXMgd29yayBpcyBwYXJ0IG9mIE9wZW5MREFQIFNvZnR3YXJlIDxodHRwOi8vd3d3Lm9wZW5sZGFwLm9yZy8+LgotQEAgLTcyLDcgKzgwLDcgQEAKK0BAIC03Nyw3ICs4MSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyIGNvcHlyaWdodFtdID0KICAiQ09QWUlORyBSRVNUUklDVElPTlMgQVBQTFlcbiI7CiAgCiAgJHN0YXRpYyAkY29uc3QgY2hhciAkU1lNQk9MW10gPQpAQCAtMjcsMyArMzksNiBAQAogICJcdCRXSE9XSEVSRVxuIjsKICAKICBfX0VPRl9fCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwXzIuNC40Ni5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwXzIuNC40Ni5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2ZlOWZiMC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcF8yLjQuNDYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNTUgKzAsMCBAQAotU1VNTUFSWSA9ICJPcGVuTERBUCBEaXJlY3RvcnkgU2VydmljZSIKLURFU0NSSVBUSU9OID0gIk9wZW5MREFQIFNvZnR3YXJlIGlzIGFuIG9wZW4gc291cmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBMaWdodHdlaWdodCBEaXJlY3RvcnkgQWNjZXNzIFByb3RvY29sLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuT3BlbkxEQVAub3JnL2xpY2Vuc2UuaHRtbCIKLSMgVGhlIE9wZW5MREFQIFB1YmxpYyBMaWNlbnNlIC0gc2VlIHRoZSBIT01FUEFHRSAtIGRlZmluZXMKLSMgdGhlIGxpY2Vuc2UuICB3d3cub3BlbmxkYXAub3JnIGNsYWltcyB0aGlzIGlzIE9wZW4gU291cmNlCi0jIChzZWUgaHR0cDovL3d3dy5vcGVubGRhcC5vcmcpLCB0aGUgbGljZW5zZSBhcHBlYXJzIHRvIGJlCi0jIGJhc2ljYWxseSBCU0QuICBvcGVuc291cmNlLm9yZyBkb2VzIG5vdCByZWNvcmQgdGhpcyBsaWNlbnNlCi0jIGF0IHByZXNlbnQgKHNvIGl0IGlzIGFwcGFyZW50bHkgbm90IE9TSSBjZXJ0aWZpZWQpLgotTElDRU5TRSA9ICJPcGVuTERBUCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9MjViNGVhZDBlNDUxODJlN2MyOTE0ZTU5ZmY1NzAwOWYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRTttZDU9MTUzZDA3ZWYwNTJjNGEzN2E4ZmFjMjNiYzYwMzE5NzIgXAotICAgICAgICAgICAgICAgICAgICAiCi1TRUNUSU9OID0gImxpYnMiCi0KLUxEQVBfVkVSID0gIiR7QCcuJy5qb2luKGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMDoyXSl9IgotCi1TUkNfVVJJID0gImZ0cDovL2Z0cC5vcGVubGRhcC5vcmcvcHViL09wZW5MREFQL29wZW5sZGFwLXJlbGVhc2UvJHtCUH0udGd6IFwKLSAgICBmaWxlOi8vb3BlbmxkYXAtbTQtcHRocmVhZC5wYXRjaCBcCi0gICAgZmlsZTovL2tpbGwtaWN1LnBhdGNoIFwKLSAgICBmaWxlOi8vb3BlbmxkYXAtMi40LjI4LWdudXRscy1nY3J5cHQucGF0Y2ggXAotICAgIGZpbGU6Ly91c2UtdXJhbmRvbS5wYXRjaCBcCi0gICAgZmlsZTovL2luaXRzY3JpcHQgXAotICAgIGZpbGU6Ly9zbGFwZC5zZXJ2aWNlIFwKLSAgICBmaWxlOi8vdGhyZWFkX3N0dWIucGF0Y2ggXAotICAgIGZpbGU6Ly9vcGVubGRhcC1DVkUtMjAxNS0zMjc2LnBhdGNoIFwKLSAgICBmaWxlOi8vcmVtb3ZlLXVzZXItaG9zdC1wd2QtZnJvbS12ZXJzaW9uLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjgyOTAxNmM1YTlmNDVjNTFhZGM1MDA3M2FjNmY5ZmQ3IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlhOTBkY2I4NmI5OWFlNzkwY2NhYjkzYjc1ODVhMzFmYmNiZWVjOGM5NGJmMGY3YWIwY2EwYTg3ZWEwYzRiMmQiCi0KLURFUEVORFMgPSAidXRpbC1saW51eCBncm9mZi1uYXRpdmUiCi0KLSMgVGhlIG9yaWdpbmFsIHRvcC5tayB1c2VkIElOU1RBTEwsIG5vdCBJTlNUQUxMX1NUUklQX1BST0dSQU0gd2hlbgotIyBpbnN0YWxsaW5nIC5zbyBhbmQgZXhlY3V0YWJsZXMsIHRoaXMgZmFpbHMgaW4gY3Jvc3MgY29tcGlsYXRpb24KLSMgZW52aXJvbm1lbnRzCi1TUkNfVVJJICs9ICJmaWxlOi8vaW5zdGFsbC1zdHJpcC5wYXRjaCIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kIHN5c3RlbWQKLQotIyBDViBTRVRUSU5HUwotIyBSZXF1aXJlZCB0byB3b3JrIHJvdW5kIEFDX0ZVTkNfTUVNQ01QIHdoaWNoIGdldHMgdGhlIHdyb25nIGFuc3dlcgotIyB3aGVuIGNyb3NzIGNvbXBpbGluZyAoc2hvdWxkIGJlIGluIHNpdGU/KQotRVhUUkFfT0VDT05GICs9ICJhY19jdl9mdW5jX21lbWNtcF93b3JraW5nPXllcyIKLQotIyBDT05GSUcgREVGSU5JVElPTlMKLSMgVGhlIGZvbGxvd2luZyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBpdCBjYW5ub3QgYmUgZGV0ZXJtaW5lZCBmb3IgYQotIyBjcm9zcyBjb21waWxlIGF1dG9tYWdpY2FsbHkuICBTZWxlY3Qgc2hvdWxkIHlpZWxkIGZpbmUgb24gYWxsIE9FCi0jIHN5c3RlbXMuLi4KLUVYVFJBX09FQ09ORiArPSAiLS13aXRoLXlpZWxkaW5nLXNlbGVjdD15ZXMiCi0jIFNoYXJlZCBsaWJyYXJpZXMgYXJlIG5pY2UuLi4KLUVYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtZHluYW1pYyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyBtb2R1bGVzIFwKLSAgICAgICAgICAgICAgICAgICBtZGIgbGRhcCBtZXRhIG1vbml0b3IgbnVsbCBwYXNzd2Qgc2hlbGwgcHJveHljYWNoZSBkbnNzcnYgXAotICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0gXAotIgotIy0td2l0aC10bHMgICAgICAgICAgICAgIHdpdGggVExTL1NTTCBzdXBwb3J0IGF1dG98b3BlbnNzbHxnbnV0bHMgW2F1dG9dCi1QQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLXRscz1nbnV0bHMsLGdudXRscyBsaWJnY3J5cHQiCi1QQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC10bHM9b3BlbnNzbCwsb3BlbnNzbCIKLQotUEFDS0FHRUNPTkZJR1tzYXNsXSA9ICItLXdpdGgtY3lydXMtc2FzbCwtLXdpdGhvdXQtY3lydXMtc2FzbCxjeXJ1cy1zYXNsIgotUEFDS0FHRUNPTkZJR1ttb2R1bGVzXSA9ICJsdF9jdl9kbG9wZW5fc2VsZj15ZXMgLS1lbmFibGUtbW9kdWxlcywtLWRpc2FibGUtbW9kdWxlcyxsaWJ0b29sIgotUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2IgotCi0jIFNMQVBEIG9wdGlvbnMKLSMKLSMgVU5JWCBjcnlwdCgzKSBwYXNzd2Qgc3VwcG9ydDoKLUVYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtY3J5cHQiCi0KLSMgU0xBUEQgQkFDS0VORAotIwotIyBUaGUgYmFja2VuZCBtdXN0IGJlIHNldCBieSB0aGUgY29uZmlndXJhdGlvbi4gIFRoaXMgY29udHJvbHMgdGhlCi0jIHJlcXVpcmVkIGRhdGFiYXNlLgotIwotIyBCYWNrZW5kcz0iYmRiIGRuc3NydiBoZGIgbGRhcCBtZGIgbWV0YSBtb25pdG9yIG5kYiBudWxsIHBhc3N3ZCBwZXJsIHJlbGF5IHNoZWxsIHNvY2sgc3FsIgotIwotIyBOb3RlIHRoYXQgbXVsdGlwbGUgYmFja2VuZHMgY2FuIGJlIGJ1aWx0LiAgVGhlIGxkYm0gYmFja2VuZCByZXF1aXJlcyBhCi0jIGJ1aWxkLXRpbWUgY2hvaWNlIG9mIGRhdGFiYXNlIEFQSS4gIFRoZSBiZGIgYmFja2VuZCBmb3JjZXMgdGhpcyB0byBiZQotIyBEQjQuICBUbyB1c2UgdGhlIGdkYm0gKG9yIG90aGVyKSBBUEkgdGhlIEJlcmtlbHkgZGF0YWJhc2UgbW9kdWxlIG11c3QKLSMgYmUgcmVtb3ZlZCBmcm9tIHRoZSBidWlsZC4KLW1kID0gIiR7bGliZXhlY2Rpcn0vb3BlbmxkYXAiCi0jCi0jLS1lbmFibGUtYmRiICAgICAgICAgIGVuYWJsZSBCZXJrZWxleSBEQiBiYWNrZW5kIG5vfHllc3xtb2QgeWVzCi0jIFRoZSBCZXJrZWx5IERCIGlzIHRoZSBzdGFuZGFyZCBjaG9pY2UuICBUaGlzIHZlcnNpb24gb2YgT3BlbkxEQVAgcmVxdWlyZXMKLSMgdGhlIHZlcnNpb24gNCBpbXBsZW1lbnRhdGlvbiBvciBiZXR0ZXIuCi1QQUNLQUdFQ09ORklHW2JkYl0gPSAiLS1lbmFibGUtYmRiPXllcywtLWVuYWJsZS1iZGI9bm8sZGIiCi0KLSMtLWVuYWJsZS1kbnNzcnYgICAgICAgZW5hYmxlIGRuc3NydiBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KLVBBQ0tBR0VDT05GSUdbZG5zc3J2XSA9ICItLWVuYWJsZS1kbnNzcnY9bW9kLC0tZW5hYmxlLWRuc3Nydj1ubyIKLQotIy0tZW5hYmxlLWhkYiAgICAgICAgICBlbmFibGUgSGllcmFyY2hpY2FsIERCIGJhY2tlbmQgbm98eWVzfG1vZCBubwotUEFDS0FHRUNPTkZJR1toZGJdID0gIi0tZW5hYmxlLWhkYj15ZXMsLS1lbmFibGUtaGRiPW5vLGRiIgotCi0jLS1lbmFibGUtbGRhcCAgICAgICAgIGVuYWJsZSBsZGFwIGJhY2tlbmQgbm98eWVzfG1vZCBubwotUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLWVuYWJsZS1sZGFwPW1vZCwtLWVuYWJsZS1sZGFwPW5vLCIKLQotIy0tZW5hYmxlLW1kYiAgICAgICAgICBlbmFibGUgbWRiIGRhdGFiYXNlIGJhY2tlbmQgbm98eWVzfG1vZCBbeWVzXQotUEFDS0FHRUNPTkZJR1ttZGJdID0gIi0tZW5hYmxlLW1kYj15ZXMsLS1lbmFibGUtbWRiPW5vLCIKLQotIy0tZW5hYmxlLW1ldGEgICAgICAgICBlbmFibGUgbWV0YWRpcmVjdG9yeSBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KLVBBQ0tBR0VDT05GSUdbbWV0YV0gPSAiLS1lbmFibGUtbWV0YT1tb2QsLS1lbmFibGUtbWV0YT1ubywiCi0KLSMtLWVuYWJsZS1tb25pdG9yICAgICAgZW5hYmxlIG1vbml0b3IgYmFja2VuZCBub3x5ZXN8bW9kIHllcwotUEFDS0FHRUNPTkZJR1ttb25pdG9yXSA9ICItLWVuYWJsZS1tb25pdG9yPW1vZCwtLWVuYWJsZS1tb25pdG9yPW5vLCIKLQotIy0tZW5hYmxlLW5kYiAgICAgICAgICBlbmFibGUgTXlTUUwgTkRCIENsdXN0ZXIgYmFja2VuZCBub3x5ZXN8bW9kIFtub10KLVBBQ0tBR0VDT05GSUdbbmRiXSA9ICItLWVuYWJsZS1uZGI9bW9kLC0tZW5hYmxlLW5kYj1ubywiCi0KLSMtLWVuYWJsZS1udWxsICAgICAgICAgZW5hYmxlIG51bGwgYmFja2VuZCBub3x5ZXN8bW9kIG5vCi1QQUNLQUdFQ09ORklHW251bGxdID0gIi0tZW5hYmxlLW51bGw9bW9kLC0tZW5hYmxlLW51bGw9bm8sIgotCi0jLS1lbmFibGUtcGFzc3dkICAgICAgIGVuYWJsZSBwYXNzd2QgYmFja2VuZCBub3x5ZXN8bW9kIG5vCi1QQUNLQUdFQ09ORklHW3Bhc3N3ZF0gPSAiLS1lbmFibGUtcGFzc3dkPW1vZCwtLWVuYWJsZS1wYXNzd2Q9bm8sIgotCi0jLS1lbmFibGUtcGVybCAgICAgICAgIGVuYWJsZSBwZXJsIGJhY2tlbmQgbm98eWVzfG1vZCBubwotIyAgVGhpcyByZXF1aXJlcyBhIGxvYWRhYmxlIHBlcmwgZHluYW1pYyBsaWJyYXJ5LCBpZiBlbmFibGVkIHdpdGhvdXQKLSMgIGRvaW5nIHNvbWV0aGluZyBhcHByb3ByaWF0ZSAoYnVpbGRpbmcgcGVybD8pIHRoZSBidWlsZCB3aWxsIHBpY2sKLSMgIHVwIHRoZSBidWlsZCBtYWNoaW5lIHBlcmwgLSBub3QgZ29vZCAoaW5oZXJpdCBwZXJsbmF0aXZlPykKLVBBQ0tBR0VDT05GSUdbcGVybF0gPSAiLS1lbmFibGUtcGVybD1tb2QsLS1lbmFibGUtcGVybD1ubyxwZXJsIgotCi0jLS1lbmFibGUtcmVsYXkgICAgICAgIGVuYWJsZSByZWxheSBiYWNrZW5kIG5vfHllc3xtb2QgW3llc10KLVBBQ0tBR0VDT05GSUdbcmVsYXldID0gIi0tZW5hYmxlLXJlbGF5PW1vZCwtLWVuYWJsZS1yZWxheT1ubywiCi0KLSMtLWVuYWJsZS1zaGVsbCAgICAgICAgZW5hYmxlIHNoZWxsIGJhY2tlbmQgbm98eWVzfG1vZCBubwotIyBjb25maWd1cmU6IFdBUk5JTkc6IFVzZSBvZiAtLXdpdGhvdXQtdGhyZWFkcyBpcyByZWNvbW1lbmRlZCB3aXRoIGJhY2stc2hlbGwKLVBBQ0tBR0VDT05GSUdbc2hlbGxdID0gIi0tZW5hYmxlLXNoZWxsPW1vZCAtLXdpdGhvdXQtdGhyZWFkcywtLWVuYWJsZS1zaGVsbD1ubywiCi0KLSMtLWVuYWJsZS1zb2NrICAgICAgICAgZW5hYmxlIHNvY2sgYmFja2VuZCBub3x5ZXN8bW9kIFtub10KLVBBQ0tBR0VDT05GSUdbc29ja10gPSAiLS1lbmFibGUtc29jaz1tb2QsLS1lbmFibGUtc29jaz1ubywiCi0KLSMtLWVuYWJsZS1zcWwgICAgICAgICAgZW5hYmxlIHNxbCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KLSMgc3FsIHJlcXVpcmVzIHNvbWUgc3FsIGJhY2tlbmQgd2hpY2ggcHJvdmlkZXMgc3FsLmgsIHNxbGl0ZSogcHJvdmlkZXMKLSMgc3FsaXRlLmggKHdoaWNoIG1heSBiZSBjb21wYXRpYmxlIGJ1dCBoYXNuJ3QgYmVlbiB0cmllZC4pCi1QQUNLQUdFQ09ORklHW3NxbF0gPSAiLS1lbmFibGUtc3FsPW1vZCwtLWVuYWJsZS1zcWw9bm8sc3FsaXRlMyIKLQotIy0tZW5hYmxlLWR5bmdyb3VwICAgICBEeW5hbWljIEdyb3VwIG92ZXJsYXkgbm98eWVzfG1vZCBubwotIyAgVGhpcyBpcyBhIGRlbW8sIFByb3h5IENhY2hlIGRlZmluZXMgaW5pdF9tb2R1bGUgd2hpY2ggY29uZmxpY3RzIHdpdGggdGhlCi0jICBzYW1lIHN5bWJvbCBpbiBkeW5ncm91cAotUEFDS0FHRUNPTkZJR1tkeW5ncm91cF0gPSAiLS1lbmFibGUtZHluZ3JvdXA9bW9kLC0tZW5hYmxlLWR5bmdyb3VwPW5vLCIKLQotIy0tZW5hYmxlLXByb3h5Y2FjaGUgICBQcm94eSBDYWNoZSBvdmVybGF5IG5vfHllc3xtb2Qgbm8KLVBBQ0tBR0VDT05GSUdbcHJveHljYWNoZV0gPSAiLS1lbmFibGUtcHJveHljYWNoZT1tb2QsLS1lbmFibGUtcHJveHljYWNoZT1ubywiCi1GSUxFU18ke1BOfS1vdmVybGF5LXByb3h5Y2FjaGUgPSAiJHttZH0vcGNhY2hlLSouc28uKiIKLVBBQ0tBR0VTICs9ICIke1BOfS1vdmVybGF5LXByb3h5Y2FjaGUiCi0KLSMgQXBwZW5kIFVSQU5ET01fREVWSUNFPScvZGV2L3VyYW5kb20nIHRvIENQUEZMQUdTOgotIyBUaGlzIGFsbG93cyB0bHMgdG8gb2J0YWluIHJhbmRvbSBiaXRzIGZyb20gL2Rldi91cmFuZG9tLCBieSBkZWZhdWx0Ci0jIGl0IHdhcyBkaXNhYmxlZCBmb3IgY3Jvc3MtY29tcGlsaW5nLgotQ1BQRkxBR1NfYXBwZW5kID0gIiAtRF9HTlVfU09VUkNFIC1EVVJBTkRPTV9ERVZJQ0U9XCcvZGV2L3VyYW5kb21cJyAtZlBJQyIKLQotTERGTEFHU19hcHBlbmQgPSAiIC1wdGhyZWFkIgotCi1kb19jb25maWd1cmUoKSB7Ci0gICAgY3AgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9saWJ0b29sL2J1aWxkLWF1eC9sdG1haW4uc2ggJHtTfS9idWlsZAotICAgIHJtIC1mICR7U30vbGlidG9vbAotICAgIGFjbG9jYWwKLSAgICBsaWJ0b29saXplIC0tZm9yY2UgLS1jb3B5Ci0gICAgZ251LWNvbmZpZ2l6ZQotICAgIGF1dG9jb25mCi0gICAgb2VfcnVuY29uZgotfQotCi1MRUFEX1NPTkFNRSA9ICJsaWJsZGFwLSR7TERBUF9WRVJ9LnNvLioiCi0KLSMgVGhlIGV4ZWN1dGFibGVzIGdvIGluIGEgc2VwYXJhdGUgcGFja2FnZS4gIFRoaXMgYWxsb3dzIHRoZQotIyBpbnN0YWxsYXRpb24gb2YgdGhlIGxpYnJhcmllcyB3aXRoIG5vIGRhZW1vbiBzdXBwb3J0LgotIyBFYWNoIG1vZHVsZSBhbHNvIGhhcyBpdHMgb3duIHBhY2thZ2UgLSBzZWUgYWJvdmUuCi1QQUNLQUdFUyArPSAiJHtQTn0tc2xhcGQgJHtQTn0tc2x1cnBkICR7UE59LWJpbiIKLQotIyBQYWNrYWdlIGNvbnRlbnRzIC0gc2hpZnQgbW9zdCBzdGFuZGFyZCBjb250ZW50cyB0byAtYmluCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKi5zby4qICR7c3lzY29uZmRpcn0vb3BlbmxkYXAvbGRhcC4qICR7bG9jYWxzdGF0ZWRpcn0vJHtCUE59L2RhdGEiCi1GSUxFU18ke1BOfS1zbGFwZCA9ICIke3N5c2NvbmZkaXJ9L2luaXQuZCAke2xpYmV4ZWNkaXJ9L3NsYXBkICR7c2JpbmRpcn0gJHtsb2NhbHN0YXRlZGlyfS9ydW4gJHtsb2NhbHN0YXRlZGlyfS92b2xhdGlsZS9ydW4gXAotICAgICR7c3lzY29uZmRpcn0vb3BlbmxkYXAvc2xhcGQuKiAke3N5c2NvbmZkaXJ9L29wZW5sZGFwL3NjaGVtYSBcCi0gICAgJHtzeXNjb25mZGlyfS9vcGVubGRhcC9EQl9DT05GSUcuZXhhbXBsZSAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyoiCi1GSUxFU18ke1BOfS1zbHVycGQgPSAiJHtsaWJleGVjZGlyfS9zbHVycGQgJHtsb2NhbHN0YXRlZGlyfS9vcGVubGRhcC1zbHVycCAke2xvY2Fsc3RhdGVkaXJ9L3J1biAke2xvY2Fsc3RhdGVkaXJ9L3ZvbGF0aWxlL3J1biIKLUZJTEVTXyR7UE59LWJpbiA9ICIke2JpbmRpcn0iCi1GSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSAke2xpYmRpcn0vbGliKi5zbyAke2xpYmRpcn0vKi5sYSAke2xpYmRpcn0vKi5hICR7bGliZXhlY2Rpcn0vb3BlbmxkYXAvKi5hICR7bGliZXhlY2Rpcn0vb3BlbmxkYXAvKi5sYSAke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLyouc28iCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZXhlY2Rpcn0vb3BlbmxkYXAvLmRlYnVnIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAotICAgIGNhdCAke1dPUktESVJ9L2luaXRzY3JpcHQgPiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvb3BlbmxkYXAKLSAgICBjaG1vZCA3NTUgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL29wZW5sZGFwCi0gICAgIyBUaGlzIGlzIGR1cGxpY2F0ZWQgaW4gL2V0Yy9vcGVubGRhcCBhbmQgaXMgZm9yIHNsYXBkCi0gICAgcm0gLWYgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vb3BlbmxkYXAtZGF0YS9EQl9DT05GSUcuZXhhbXBsZQotCi0gICAgIyBJbnN0YWxsaW5nIHNsYXBkIHVuZGVyICR7c2Jpbn0gaXMgbW9yZSBGSFMgYW5kIExTQiBjb21wbGlhbmNlCi0gICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vc2xhcGQgJHtEfS8ke3NiaW5kaXJ9L3NsYXBkCi0gICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgJHtEfSR7bGliZXhlY2Rpcn0KLSAgICBTTEFQVE9PTFM9InNsYXBhZGQgc2xhcGNhdCBzbGFwZG4gc2xhcGluZGV4IHNsYXBwYXNzd2Qgc2xhcHRlc3Qgc2xhcGF1dGggc2xhcGFjbCBzbGFwc2NoZW1hIgotICAgIGNkICR7RH0vJHtzYmluZGlyfS8KLSAgICBybSAtZiAke1NMQVBUT09MU30KLSAgICBmb3IgaSBpbiAke1NMQVBUT09MU307IGRvIGxuIC1zZiBzbGFwZCAkaTsgZG9uZQotCi0gICAgcm1kaXIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKLSAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0iCi0KLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLwotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NsYXBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCi0gICAgc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyouc2VydmljZQotCi0gICAgIyBVc2VzIG1kbSBhcyB0aGUgZGF0YWJhc2UKLSAgICAjICBhbmQgbG9jYWxzdGF0ZWRpciBhcyBkYXRhIGRpcmVjdG9yeSAuLi4KLSAgICBzZWQgLWUgJ3MvIyBtb2R1bGVwYXRoL21vZHVsZXBhdGgvJyBcCi0gICAgICAgIC1lICdzLyMgbW9kdWxlbG9hZFxzKmJhY2tfYmRiLiovbW9kdWxlbG9hZCAgICBiYWNrX21kYi8nIFwKLSAgICAgICAgLWUgJ3MvZGF0YWJhc2VccypiZGIvZGF0YWJhc2UgICAgICAgIG1kYi8nIFwKLSAgICAgICAgLWUgJ3MlXmRpcmVjdG9yeVxzKi4qJWRpcmVjdG9yeSAgICR7bG9jYWxzdGF0ZWRpcn0vJHtCUE59L2RhdGEvJScgXAotICAgICAgICAtaSAke0R9JHtzeXNjb25mZGlyfS9vcGVubGRhcC9zbGFwZC5jb25mCi0KLSAgICBta2RpciAtcCAke0R9JHtsb2NhbHN0YXRlZGlyfS8ke0JQTn0vZGF0YQotCi0KLX0KLQotSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfS1zbGFwZCIKLUlOSVRTQ1JJUFRfTkFNRV8ke1BOfS1zbGFwZCA9ICJvcGVubGRhcCIKLUlOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LXNsYXBkID0gImRlZmF1bHRzIgotU1lTVEVNRF9TRVJWSUNFXyR7UE59LXNsYXBkID0gImhvc3RhcGQuc2VydmljZSIKLVNZU1RFTURfQVVUT19FTkFCTEVfJHtQTn0tc2xhcGQgPz0gImRpc2FibGUiCi0KLQotUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7UE59LWJhY2tlbmRzLiogXiR7UE59LWJhY2tlbmQtLioiCi0KLSMgVGhlIG1vZHVsZXMgcmVxdWlyZSB0aGVpciAuc28gdG8gYmUgZHluYW1pY2FseSBsb2FkZWQKLUlOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtZG5zc3J2ICArPSAiZGV2LXNvIgotSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1sZGFwICAgICs9ICJkZXYtc28iCi1JTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLW1ldGEgICAgKz0gImRldi1zbyIKLUlOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtbWRiICAgICArPSAiZGV2LXNvIgotSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1tb25pdG9yICs9ICJkZXYtc28iCi1JTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLW51bGwgICAgKz0gImRldi1zbyIKLUlOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtcGFzc3dkICArPSAiZGV2LXNvIgotSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1zaGVsbCAgICs9ICJkZXYtc28iCi0KLQotcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgewotICAgIGJhY2tlbmRfZGlyICAgID0gZC5leHBhbmQoJyR7bGliZXhlY2Rpcn0vb3BlbmxkYXAnKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJhY2tlbmRfZGlyLCAnYmFja18oW2Etel0qKVwuc28kJywgJ29wZW5sZGFwLWJhY2tlbmQtJXMnLCAnT3BlbkxEQVAgJXMgYmFja2VuZCcsIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBiYWNrZW5kX2RpciwgJ2JhY2tfKFthLXpdKilcLS4qXC5zb1wuLiokJywgJ29wZW5sZGFwLWJhY2tlbmQtJXMnLCAnT3BlbkxEQVAgJXMgYmFja2VuZCcsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2xpbmtzPVRydWUpCi0KLSAgICBtZXRhcGtnID0gIiR7UE59LWJhY2tlbmRzIgotICAgIGQuc2V0VmFyKCdBTExPV19FTVBUWV8nICsgbWV0YXBrZywgIjEiKQotICAgIGQuc2V0VmFyKCdGSUxFU18nICsgbWV0YXBrZywgIiIpCi0gICAgbWV0YXBrZ19yZGVwZW5kcyA9IFtdCi0gICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKS5zcGxpdCgpCi0gICAgZm9yIHBrZyBpbiBwYWNrYWdlc1sxOl06Ci0gICAgICAgIGlmIHBrZy5jb3VudCgib3BlbmxkYXAtYmFja2VuZC0iKSBhbmQgbm90IHBrZyBpbiBtZXRhcGtnX3JkZXBlbmRzIGFuZCBub3QgcGtnLmNvdW50KCItZGV2IikgYW5kIG5vdCBwa2cuY291bnQoIi1kYmciKSBhbmQgbm90IHBrZy5jb3VudCgic3RhdGljIikgYW5kIG5vdCBwa2cuY291bnQoImxvY2FsZSIpOgotICAgICAgICAgICAgbWV0YXBrZ19yZGVwZW5kcy5hcHBlbmQocGtnKQotICAgIGQuc2V0VmFyKCdSREVQRU5EU18nICsgbWV0YXBrZywgJyAnLmpvaW4obWV0YXBrZ19yZGVwZW5kcykpCi0gICAgZC5zZXRWYXIoJ0RFU0NSSVBUSU9OXycgKyBtZXRhcGtnLCAnT3BlbkxEQVAgYmFja2VuZHMgbWV0YSBwYWNrYWdlJykKLSAgICBwYWNrYWdlcy5hcHBlbmQobWV0YXBrZykKLSAgICBkLnNldFZhcignUEFDS0FHRVMnLCAnICcuam9pbihwYWNrYWdlcykpCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXBfMi40LjQ3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXBfMi40LjQ3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzNDVkN2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcF8yLjQuNDcuYmIKQEAgLTAsMCArMSwyNTUgQEAKK1NVTU1BUlkgPSAiT3BlbkxEQVAgRGlyZWN0b3J5IFNlcnZpY2UiCitERVNDUklQVElPTiA9ICJPcGVuTERBUCBTb2Z0d2FyZSBpcyBhbiBvcGVuIHNvdXJjZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgTGlnaHR3ZWlnaHQgRGlyZWN0b3J5IEFjY2VzcyBQcm90b2NvbC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lk9wZW5MREFQLm9yZy9saWNlbnNlLmh0bWwiCisjIFRoZSBPcGVuTERBUCBQdWJsaWMgTGljZW5zZSAtIHNlZSB0aGUgSE9NRVBBR0UgLSBkZWZpbmVzCisjIHRoZSBsaWNlbnNlLiAgd3d3Lm9wZW5sZGFwLm9yZyBjbGFpbXMgdGhpcyBpcyBPcGVuIFNvdXJjZQorIyAoc2VlIGh0dHA6Ly93d3cub3BlbmxkYXAub3JnKSwgdGhlIGxpY2Vuc2UgYXBwZWFycyB0byBiZQorIyBiYXNpY2FsbHkgQlNELiAgb3BlbnNvdXJjZS5vcmcgZG9lcyBub3QgcmVjb3JkIHRoaXMgbGljZW5zZQorIyBhdCBwcmVzZW50IChzbyBpdCBpcyBhcHBhcmVudGx5IG5vdCBPU0kgY2VydGlmaWVkKS4KK0xJQ0VOU0UgPSAiT3BlbkxEQVAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTI1YjRlYWQwZTQ1MTgyZTdjMjkxNGU1OWZmNTcwMDlmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0U7bWQ1PTE1M2QwN2VmMDUyYzRhMzdhOGZhYzIzYmM2MDMxOTcyIFwKKyAgICAgICAgICAgICAgICAgICAgIgorU0VDVElPTiA9ICJsaWJzIgorCitMREFQX1ZFUiA9ICIke0AnLicuam9pbihkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzA6Ml0pfSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm9wZW5sZGFwLm9yZy9zb2Z0d2FyZS9kb3dubG9hZC9PcGVuTERBUC9vcGVubGRhcC1yZWxlYXNlLyR7QlB9LnRneiBcCisgICAgZmlsZTovL29wZW5sZGFwLW00LXB0aHJlYWQucGF0Y2ggXAorICAgIGZpbGU6Ly9raWxsLWljdS5wYXRjaCBcCisgICAgZmlsZTovL29wZW5sZGFwLTIuNC4yOC1nbnV0bHMtZ2NyeXB0LnBhdGNoIFwKKyAgICBmaWxlOi8vdXNlLXVyYW5kb20ucGF0Y2ggXAorICAgIGZpbGU6Ly9pbml0c2NyaXB0IFwKKyAgICBmaWxlOi8vc2xhcGQuc2VydmljZSBcCisgICAgZmlsZTovL3RocmVhZF9zdHViLnBhdGNoIFwKKyAgICBmaWxlOi8vb3BlbmxkYXAtQ1ZFLTIwMTUtMzI3Ni5wYXRjaCBcCisgICAgZmlsZTovL3JlbW92ZS11c2VyLWhvc3QtcHdkLWZyb20tdmVyc2lvbi5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNTA4Zjk3YmZkNzc4ZmVjNzc5OWYyODZlNWMwNzE3NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNTRjNTg3Nzg2NTIzM2Q5YWRhNzdjNjBjMGY2OWIzZTBiZmQ4YjFiNTU4ODk1MDRjNjUwMDQ3Y2MzMDU1MjBiIgorCitERVBFTkRTID0gInV0aWwtbGludXggZ3JvZmYtbmF0aXZlIgorCisjIFRoZSBvcmlnaW5hbCB0b3AubWsgdXNlZCBJTlNUQUxMLCBub3QgSU5TVEFMTF9TVFJJUF9QUk9HUkFNIHdoZW4KKyMgaW5zdGFsbGluZyAuc28gYW5kIGV4ZWN1dGFibGVzLCB0aGlzIGZhaWxzIGluIGNyb3NzIGNvbXBpbGF0aW9uCisjIGVudmlyb25tZW50cworU1JDX1VSSSArPSAiZmlsZTovL2luc3RhbGwtc3RyaXAucGF0Y2giCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKKyMgQ1YgU0VUVElOR1MKKyMgUmVxdWlyZWQgdG8gd29yayByb3VuZCBBQ19GVU5DX01FTUNNUCB3aGljaCBnZXRzIHRoZSB3cm9uZyBhbnN3ZXIKKyMgd2hlbiBjcm9zcyBjb21waWxpbmcgKHNob3VsZCBiZSBpbiBzaXRlPykKK0VYVFJBX09FQ09ORiArPSAiYWNfY3ZfZnVuY19tZW1jbXBfd29ya2luZz15ZXMiCisKKyMgQ09ORklHIERFRklOSVRJT05TCisjIFRoZSBmb2xsb3dpbmcgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgaXQgY2Fubm90IGJlIGRldGVybWluZWQgZm9yIGEKKyMgY3Jvc3MgY29tcGlsZSBhdXRvbWFnaWNhbGx5LiAgU2VsZWN0IHNob3VsZCB5aWVsZCBmaW5lIG9uIGFsbCBPRQorIyBzeXN0ZW1zLi4uCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC15aWVsZGluZy1zZWxlY3Q9eWVzIgorIyBTaGFyZWQgbGlicmFyaWVzIGFyZSBuaWNlLi4uCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWR5bmFtaWMiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJnbnV0bHMgbW9kdWxlcyBcCisgICAgICAgICAgICAgICAgICAgbWRiIGxkYXAgbWV0YSBtb25pdG9yIG51bGwgcGFzc3dkIHNoZWxsIHByb3h5Y2FjaGUgZG5zc3J2IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IFwKKyIKKyMtLXdpdGgtdGxzICAgICAgICAgICAgICB3aXRoIFRMUy9TU0wgc3VwcG9ydCBhdXRvfG9wZW5zc2x8Z251dGxzIFthdXRvXQorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0td2l0aC10bHM9Z251dGxzLCxnbnV0bHMgbGliZ2NyeXB0IgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtdGxzPW9wZW5zc2wsLG9wZW5zc2wiCisKK1BBQ0tBR0VDT05GSUdbc2FzbF0gPSAiLS13aXRoLWN5cnVzLXNhc2wsLS13aXRob3V0LWN5cnVzLXNhc2wsY3lydXMtc2FzbCIKK1BBQ0tBR0VDT05GSUdbbW9kdWxlc10gPSAibHRfY3ZfZGxvcGVuX3NlbGY9eWVzIC0tZW5hYmxlLW1vZHVsZXMsLS1kaXNhYmxlLW1vZHVsZXMsbGlidG9vbCIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiIKKworIyBTTEFQRCBvcHRpb25zCisjCisjIFVOSVggY3J5cHQoMykgcGFzc3dkIHN1cHBvcnQ6CitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWNyeXB0IgorCisjIFNMQVBEIEJBQ0tFTkQKKyMKKyMgVGhlIGJhY2tlbmQgbXVzdCBiZSBzZXQgYnkgdGhlIGNvbmZpZ3VyYXRpb24uICBUaGlzIGNvbnRyb2xzIHRoZQorIyByZXF1aXJlZCBkYXRhYmFzZS4KKyMKKyMgQmFja2VuZHM9ImJkYiBkbnNzcnYgaGRiIGxkYXAgbWRiIG1ldGEgbW9uaXRvciBuZGIgbnVsbCBwYXNzd2QgcGVybCByZWxheSBzaGVsbCBzb2NrIHNxbCIKKyMKKyMgTm90ZSB0aGF0IG11bHRpcGxlIGJhY2tlbmRzIGNhbiBiZSBidWlsdC4gIFRoZSBsZGJtIGJhY2tlbmQgcmVxdWlyZXMgYQorIyBidWlsZC10aW1lIGNob2ljZSBvZiBkYXRhYmFzZSBBUEkuICBUaGUgYmRiIGJhY2tlbmQgZm9yY2VzIHRoaXMgdG8gYmUKKyMgREI0LiAgVG8gdXNlIHRoZSBnZGJtIChvciBvdGhlcikgQVBJIHRoZSBCZXJrZWx5IGRhdGFiYXNlIG1vZHVsZSBtdXN0CisjIGJlIHJlbW92ZWQgZnJvbSB0aGUgYnVpbGQuCittZCA9ICIke2xpYmV4ZWNkaXJ9L29wZW5sZGFwIgorIworIy0tZW5hYmxlLWJkYiAgICAgICAgICBlbmFibGUgQmVya2VsZXkgREIgYmFja2VuZCBub3x5ZXN8bW9kIHllcworIyBUaGUgQmVya2VseSBEQiBpcyB0aGUgc3RhbmRhcmQgY2hvaWNlLiAgVGhpcyB2ZXJzaW9uIG9mIE9wZW5MREFQIHJlcXVpcmVzCisjIHRoZSB2ZXJzaW9uIDQgaW1wbGVtZW50YXRpb24gb3IgYmV0dGVyLgorUEFDS0FHRUNPTkZJR1tiZGJdID0gIi0tZW5hYmxlLWJkYj15ZXMsLS1lbmFibGUtYmRiPW5vLGRiIgorCisjLS1lbmFibGUtZG5zc3J2ICAgICAgIGVuYWJsZSBkbnNzcnYgYmFja2VuZCBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW2Ruc3Nydl0gPSAiLS1lbmFibGUtZG5zc3J2PW1vZCwtLWVuYWJsZS1kbnNzcnY9bm8iCisKKyMtLWVuYWJsZS1oZGIgICAgICAgICAgZW5hYmxlIEhpZXJhcmNoaWNhbCBEQiBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KK1BBQ0tBR0VDT05GSUdbaGRiXSA9ICItLWVuYWJsZS1oZGI9eWVzLC0tZW5hYmxlLWhkYj1ubyxkYiIKKworIy0tZW5hYmxlLWxkYXAgICAgICAgICBlbmFibGUgbGRhcCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KK1BBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS1lbmFibGUtbGRhcD1tb2QsLS1lbmFibGUtbGRhcD1ubywiCisKKyMtLWVuYWJsZS1tZGIgICAgICAgICAgZW5hYmxlIG1kYiBkYXRhYmFzZSBiYWNrZW5kIG5vfHllc3xtb2QgW3llc10KK1BBQ0tBR0VDT05GSUdbbWRiXSA9ICItLWVuYWJsZS1tZGI9eWVzLC0tZW5hYmxlLW1kYj1ubywiCisKKyMtLWVuYWJsZS1tZXRhICAgICAgICAgZW5hYmxlIG1ldGFkaXJlY3RvcnkgYmFja2VuZCBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW21ldGFdID0gIi0tZW5hYmxlLW1ldGE9bW9kLC0tZW5hYmxlLW1ldGE9bm8sIgorCisjLS1lbmFibGUtbW9uaXRvciAgICAgIGVuYWJsZSBtb25pdG9yIGJhY2tlbmQgbm98eWVzfG1vZCB5ZXMKK1BBQ0tBR0VDT05GSUdbbW9uaXRvcl0gPSAiLS1lbmFibGUtbW9uaXRvcj1tb2QsLS1lbmFibGUtbW9uaXRvcj1ubywiCisKKyMtLWVuYWJsZS1uZGIgICAgICAgICAgZW5hYmxlIE15U1FMIE5EQiBDbHVzdGVyIGJhY2tlbmQgbm98eWVzfG1vZCBbbm9dCitQQUNLQUdFQ09ORklHW25kYl0gPSAiLS1lbmFibGUtbmRiPW1vZCwtLWVuYWJsZS1uZGI9bm8sIgorCisjLS1lbmFibGUtbnVsbCAgICAgICAgIGVuYWJsZSBudWxsIGJhY2tlbmQgbm98eWVzfG1vZCBubworUEFDS0FHRUNPTkZJR1tudWxsXSA9ICItLWVuYWJsZS1udWxsPW1vZCwtLWVuYWJsZS1udWxsPW5vLCIKKworIy0tZW5hYmxlLXBhc3N3ZCAgICAgICBlbmFibGUgcGFzc3dkIGJhY2tlbmQgbm98eWVzfG1vZCBubworUEFDS0FHRUNPTkZJR1twYXNzd2RdID0gIi0tZW5hYmxlLXBhc3N3ZD1tb2QsLS1lbmFibGUtcGFzc3dkPW5vLCIKKworIy0tZW5hYmxlLXBlcmwgICAgICAgICBlbmFibGUgcGVybCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KKyMgIFRoaXMgcmVxdWlyZXMgYSBsb2FkYWJsZSBwZXJsIGR5bmFtaWMgbGlicmFyeSwgaWYgZW5hYmxlZCB3aXRob3V0CisjICBkb2luZyBzb21ldGhpbmcgYXBwcm9wcmlhdGUgKGJ1aWxkaW5nIHBlcmw/KSB0aGUgYnVpbGQgd2lsbCBwaWNrCisjICB1cCB0aGUgYnVpbGQgbWFjaGluZSBwZXJsIC0gbm90IGdvb2QgKGluaGVyaXQgcGVybG5hdGl2ZT8pCitQQUNLQUdFQ09ORklHW3BlcmxdID0gIi0tZW5hYmxlLXBlcmw9bW9kLC0tZW5hYmxlLXBlcmw9bm8scGVybCIKKworIy0tZW5hYmxlLXJlbGF5ICAgICAgICBlbmFibGUgcmVsYXkgYmFja2VuZCBub3x5ZXN8bW9kIFt5ZXNdCitQQUNLQUdFQ09ORklHW3JlbGF5XSA9ICItLWVuYWJsZS1yZWxheT1tb2QsLS1lbmFibGUtcmVsYXk9bm8sIgorCisjLS1lbmFibGUtc2hlbGwgICAgICAgIGVuYWJsZSBzaGVsbCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KKyMgY29uZmlndXJlOiBXQVJOSU5HOiBVc2Ugb2YgLS13aXRob3V0LXRocmVhZHMgaXMgcmVjb21tZW5kZWQgd2l0aCBiYWNrLXNoZWxsCitQQUNLQUdFQ09ORklHW3NoZWxsXSA9ICItLWVuYWJsZS1zaGVsbD1tb2QgLS13aXRob3V0LXRocmVhZHMsLS1lbmFibGUtc2hlbGw9bm8sIgorCisjLS1lbmFibGUtc29jayAgICAgICAgIGVuYWJsZSBzb2NrIGJhY2tlbmQgbm98eWVzfG1vZCBbbm9dCitQQUNLQUdFQ09ORklHW3NvY2tdID0gIi0tZW5hYmxlLXNvY2s9bW9kLC0tZW5hYmxlLXNvY2s9bm8sIgorCisjLS1lbmFibGUtc3FsICAgICAgICAgIGVuYWJsZSBzcWwgYmFja2VuZCBub3x5ZXN8bW9kIG5vCisjIHNxbCByZXF1aXJlcyBzb21lIHNxbCBiYWNrZW5kIHdoaWNoIHByb3ZpZGVzIHNxbC5oLCBzcWxpdGUqIHByb3ZpZGVzCisjIHNxbGl0ZS5oICh3aGljaCBtYXkgYmUgY29tcGF0aWJsZSBidXQgaGFzbid0IGJlZW4gdHJpZWQuKQorUEFDS0FHRUNPTkZJR1tzcWxdID0gIi0tZW5hYmxlLXNxbD1tb2QsLS1lbmFibGUtc3FsPW5vLHNxbGl0ZTMiCisKKyMtLWVuYWJsZS1keW5ncm91cCAgICAgRHluYW1pYyBHcm91cCBvdmVybGF5IG5vfHllc3xtb2Qgbm8KKyMgIFRoaXMgaXMgYSBkZW1vLCBQcm94eSBDYWNoZSBkZWZpbmVzIGluaXRfbW9kdWxlIHdoaWNoIGNvbmZsaWN0cyB3aXRoIHRoZQorIyAgc2FtZSBzeW1ib2wgaW4gZHluZ3JvdXAKK1BBQ0tBR0VDT05GSUdbZHluZ3JvdXBdID0gIi0tZW5hYmxlLWR5bmdyb3VwPW1vZCwtLWVuYWJsZS1keW5ncm91cD1ubywiCisKKyMtLWVuYWJsZS1wcm94eWNhY2hlICAgUHJveHkgQ2FjaGUgb3ZlcmxheSBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW3Byb3h5Y2FjaGVdID0gIi0tZW5hYmxlLXByb3h5Y2FjaGU9bW9kLC0tZW5hYmxlLXByb3h5Y2FjaGU9bm8sIgorRklMRVNfJHtQTn0tb3ZlcmxheS1wcm94eWNhY2hlID0gIiR7bWR9L3BjYWNoZS0qLnNvLioiCitQQUNLQUdFUyArPSAiJHtQTn0tb3ZlcmxheS1wcm94eWNhY2hlIgorCisjIEFwcGVuZCBVUkFORE9NX0RFVklDRT0nL2Rldi91cmFuZG9tJyB0byBDUFBGTEFHUzoKKyMgVGhpcyBhbGxvd3MgdGxzIHRvIG9idGFpbiByYW5kb20gYml0cyBmcm9tIC9kZXYvdXJhbmRvbSwgYnkgZGVmYXVsdAorIyBpdCB3YXMgZGlzYWJsZWQgZm9yIGNyb3NzLWNvbXBpbGluZy4KK0NQUEZMQUdTX2FwcGVuZCA9ICIgLURfR05VX1NPVVJDRSAtRFVSQU5ET01fREVWSUNFPVwnL2Rldi91cmFuZG9tXCcgLWZQSUMiCisKK0xERkxBR1NfYXBwZW5kID0gIiAtcHRocmVhZCIKKworZG9fY29uZmlndXJlKCkgeworICAgIGNwICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vbGlidG9vbC9idWlsZC1hdXgvbHRtYWluLnNoICR7U30vYnVpbGQKKyAgICBybSAtZiAke1N9L2xpYnRvb2wKKyAgICBhY2xvY2FsCisgICAgbGlidG9vbGl6ZSAtLWZvcmNlIC0tY29weQorICAgIGdudS1jb25maWdpemUKKyAgICBhdXRvY29uZgorICAgIG9lX3J1bmNvbmYKK30KKworTEVBRF9TT05BTUUgPSAibGlibGRhcC0ke0xEQVBfVkVSfS5zby4qIgorCisjIFRoZSBleGVjdXRhYmxlcyBnbyBpbiBhIHNlcGFyYXRlIHBhY2thZ2UuICBUaGlzIGFsbG93cyB0aGUKKyMgaW5zdGFsbGF0aW9uIG9mIHRoZSBsaWJyYXJpZXMgd2l0aCBubyBkYWVtb24gc3VwcG9ydC4KKyMgRWFjaCBtb2R1bGUgYWxzbyBoYXMgaXRzIG93biBwYWNrYWdlIC0gc2VlIGFib3ZlLgorUEFDS0FHRVMgKz0gIiR7UE59LXNsYXBkICR7UE59LXNsdXJwZCAke1BOfS1iaW4iCisKKyMgUGFja2FnZSBjb250ZW50cyAtIHNoaWZ0IG1vc3Qgc3RhbmRhcmQgY29udGVudHMgdG8gLWJpbgorRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiAke3N5c2NvbmZkaXJ9L29wZW5sZGFwL2xkYXAuKiAke2xvY2Fsc3RhdGVkaXJ9LyR7QlBOfS9kYXRhIgorRklMRVNfJHtQTn0tc2xhcGQgPSAiJHtzeXNjb25mZGlyfS9pbml0LmQgJHtsaWJleGVjZGlyfS9zbGFwZCAke3NiaW5kaXJ9ICR7bG9jYWxzdGF0ZWRpcn0vcnVuICR7bG9jYWxzdGF0ZWRpcn0vdm9sYXRpbGUvcnVuIFwKKyAgICAke3N5c2NvbmZkaXJ9L29wZW5sZGFwL3NsYXBkLiogJHtzeXNjb25mZGlyfS9vcGVubGRhcC9zY2hlbWEgXAorICAgICR7c3lzY29uZmRpcn0vb3BlbmxkYXAvREJfQ09ORklHLmV4YW1wbGUgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qIgorRklMRVNfJHtQTn0tc2x1cnBkID0gIiR7bGliZXhlY2Rpcn0vc2x1cnBkICR7bG9jYWxzdGF0ZWRpcn0vb3BlbmxkYXAtc2x1cnAgJHtsb2NhbHN0YXRlZGlyfS9ydW4gJHtsb2NhbHN0YXRlZGlyfS92b2xhdGlsZS9ydW4iCitGSUxFU18ke1BOfS1iaW4gPSAiJHtiaW5kaXJ9IgorRklMRVNfJHtQTn0tZGV2ID0gIiR7aW5jbHVkZWRpcn0gJHtsaWJkaXJ9L2xpYiouc28gJHtsaWJkaXJ9LyoubGEgJHtsaWJkaXJ9LyouYSAke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLyouYSAke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLyoubGEgJHtsaWJleGVjZGlyfS9vcGVubGRhcC8qLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLy5kZWJ1ZyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBjYXQgJHtXT1JLRElSfS9pbml0c2NyaXB0ID4gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL29wZW5sZGFwCisgICAgY2htb2QgNzU1ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9vcGVubGRhcAorICAgICMgVGhpcyBpcyBkdXBsaWNhdGVkIGluIC9ldGMvb3BlbmxkYXAgYW5kIGlzIGZvciBzbGFwZAorICAgIHJtIC1mICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L29wZW5sZGFwLWRhdGEvREJfQ09ORklHLmV4YW1wbGUKKworICAgICMgSW5zdGFsbGluZyBzbGFwZCB1bmRlciAke3NiaW59IGlzIG1vcmUgRkhTIGFuZCBMU0IgY29tcGxpYW5jZQorICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3NsYXBkICR7RH0vJHtzYmluZGlyfS9zbGFwZAorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICR7RH0ke2xpYmV4ZWNkaXJ9CisgICAgU0xBUFRPT0xTPSJzbGFwYWRkIHNsYXBjYXQgc2xhcGRuIHNsYXBpbmRleCBzbGFwcGFzc3dkIHNsYXB0ZXN0IHNsYXBhdXRoIHNsYXBhY2wgc2xhcHNjaGVtYSIKKyAgICBjZCAke0R9LyR7c2JpbmRpcn0vCisgICAgcm0gLWYgJHtTTEFQVE9PTFN9CisgICAgZm9yIGkgaW4gJHtTTEFQVE9PTFN9OyBkbyBsbiAtc2Ygc2xhcGQgJGk7IGRvbmUKKworICAgIHJtZGlyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCisgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9IgorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zbGFwZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLnNlcnZpY2UKKworICAgICMgVXNlcyBtZG0gYXMgdGhlIGRhdGFiYXNlCisgICAgIyAgYW5kIGxvY2Fsc3RhdGVkaXIgYXMgZGF0YSBkaXJlY3RvcnkgLi4uCisgICAgc2VkIC1lICdzLyMgbW9kdWxlcGF0aC9tb2R1bGVwYXRoLycgXAorICAgICAgICAtZSAncy8jIG1vZHVsZWxvYWRccypiYWNrX2JkYi4qL21vZHVsZWxvYWQgICAgYmFja19tZGIvJyBcCisgICAgICAgIC1lICdzL2RhdGFiYXNlXHMqYmRiL2RhdGFiYXNlICAgICAgICBtZGIvJyBcCisgICAgICAgIC1lICdzJV5kaXJlY3RvcnlccyouKiVkaXJlY3RvcnkgICAke2xvY2Fsc3RhdGVkaXJ9LyR7QlBOfS9kYXRhLyUnIFwKKyAgICAgICAgLWkgJHtEfSR7c3lzY29uZmRpcn0vb3BlbmxkYXAvc2xhcGQuY29uZgorCisgICAgbWtkaXIgLXAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vJHtCUE59L2RhdGEKKworCit9CisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0tc2xhcGQiCitJTklUU0NSSVBUX05BTUVfJHtQTn0tc2xhcGQgPSAib3BlbmxkYXAiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfS1zbGFwZCA9ICJkZWZhdWx0cyIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1zbGFwZCA9ICJob3N0YXBkLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFXyR7UE59LXNsYXBkID89ICJkaXNhYmxlIgorCisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke1BOfS1iYWNrZW5kcy4qIF4ke1BOfS1iYWNrZW5kLS4qIgorCisjIFRoZSBtb2R1bGVzIHJlcXVpcmUgdGhlaXIgLnNvIHRvIGJlIGR5bmFtaWNhbHkgbG9hZGVkCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLWRuc3NydiAgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtbGRhcCAgICArPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1tZXRhICAgICs9ICJkZXYtc28iCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLW1kYiAgICAgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtbW9uaXRvciArPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1udWxsICAgICs9ICJkZXYtc28iCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLXBhc3N3ZCAgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtc2hlbGwgICArPSAiZGV2LXNvIgorCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBiYWNrZW5kX2RpciAgICA9IGQuZXhwYW5kKCcke2xpYmV4ZWNkaXJ9L29wZW5sZGFwJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBiYWNrZW5kX2RpciwgJ2JhY2tfKFthLXpdKilcLnNvJCcsICdvcGVubGRhcC1iYWNrZW5kLSVzJywgJ09wZW5MREFQICVzIGJhY2tlbmQnLCBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2xpbmtzPVRydWUpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmFja2VuZF9kaXIsICdiYWNrXyhbYS16XSopXC0uKlwuc29cLi4qJCcsICdvcGVubGRhcC1iYWNrZW5kLSVzJywgJ09wZW5MREFQICVzIGJhY2tlbmQnLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorCisgICAgbWV0YXBrZyA9ICIke1BOfS1iYWNrZW5kcyIKKyAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKKyAgICBkLnNldFZhcignRklMRVNfJyArIG1ldGFwa2csICIiKQorICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbXQorICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKQorICAgIGZvciBwa2cgaW4gcGFja2FnZXNbMTpdOgorICAgICAgICBpZiBwa2cuY291bnQoIm9wZW5sZGFwLWJhY2tlbmQtIikgYW5kIG5vdCBwa2cgaW4gbWV0YXBrZ19yZGVwZW5kcyBhbmQgbm90IHBrZy5jb3VudCgiLWRldiIpIGFuZCBub3QgcGtnLmNvdW50KCItZGJnIikgYW5kIG5vdCBwa2cuY291bnQoInN0YXRpYyIpIGFuZCBub3QgcGtnLmNvdW50KCJsb2NhbGUiKToKKyAgICAgICAgICAgIG1ldGFwa2dfcmRlcGVuZHMuYXBwZW5kKHBrZykKKyAgICBkLnNldFZhcignUkRFUEVORFNfJyArIG1ldGFwa2csICcgJy5qb2luKG1ldGFwa2dfcmRlcGVuZHMpKQorICAgIGQuc2V0VmFyKCdERVNDUklQVElPTl8nICsgbWV0YXBrZywgJ09wZW5MREFQIGJhY2tlbmRzIG1ldGEgcGFja2FnZScpCisgICAgcGFja2FnZXMuYXBwZW5kKG1ldGFwa2cpCisgICAgZC5zZXRWYXIoJ1BBQ0tBR0VTJywgJyAnLmpvaW4ocGFja2FnZXMpKQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2MvMDAwMS1GaXhlZC1nY2MtOC1jb21waWxhdGlvbi1lcnJvcnMtMTM1My5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2MvMDAwMS1GaXhlZC1nY2MtOC1jb21waWxhdGlvbi1lcnJvcnMtMTM1My5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDhkODMyNy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc2Mvb3BlbnNjLzAwMDEtRml4ZWQtZ2NjLTgtY29tcGlsYXRpb24tZXJyb3JzLTEzNTMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi1Gcm9tIDg3ODU3ZDVjYWU3ZGI5NGZkZDc3NjkwNDg4NjM5MmIxZTg2MDUzYmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGbG9yaWFuIEJlemRla2EgPDExMTk2OTMrZmJlemRla2FAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgotRGF0ZTogRnJpLCAxOCBNYXkgMjAxOCAxODo1NDo1NiArMDIwMAotU3ViamVjdDogW1BBVENIXSBGaXhlZCBnY2MgOCBjb21waWxhdGlvbiBlcnJvcnMgKCMxMzUzKQotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1UaGUgZm9sbG93aW5nIGVycm9ycyBvY2N1cmVkIGR1cmluZyBhIGNvbXBpbGF0aW9uIHVzaW5nIGdjYyA4OgotCi1JbiBmdW5jdGlvbiDCu2dpZHNfY3JlYXRlX2ZpbGUuY29uc3Rwcm9wwqssCi0gICAgaW5zZXJ0ZWQgYnkgwrtnaWRzX3NhdmVfY2VydGlmaWNhdGUuaXNyYS44wqsgYmVpY2FyZC1naWRzLmM6MTU0ODo3OgotY2FyZC1naWRzLmM6NDY1OjI6IEVycm9yOiDCu3N0cm5jcHnCqyBvdXRwdXQgbWF5IGJlIHRydW5jYXRlZCBjb3B5aW5nIDggYnl0ZXMgZnJvbSBhIHN0cmluZyBvZiBsZW5ndGggOCBbLVdlcnJvcj1zdHJpbmdvcC10cnVuY2F0aW9uXQotICBzdHJuY3B5KHJlY29yZC0+ZmlsZW5hbWUsIGZpbGVuYW1lLCA4KTsKLSAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQotcGtjczE1LW9iZXJ0aHVyLmM6IEluIGZ1bmN0aW9uIMK7c2NfcGtjczE1ZW11X29iZXJ0aHVyX2FkZF9wcnZrZXnCqzoKLXBrY3MxNS1vYmVydGh1ci5jOjc0MTo1OiBFcnJvcjogwrtzdHJuY3B5wqsgb3V0cHV0IG1heSBiZSB0cnVuY2F0ZWQgY29weWluZyAyNTQgYnl0ZXMgZnJvbSBhIHN0cmluZyBvZiBsZW5ndGggMjU0IFstV2Vycm9yPXN0cmluZ29wLXRydW5jYXRpb25dCi0gICAgIHN0cm5jcHkoa29iai5sYWJlbCwgb2Jqc1tpaV0tPmxhYmVsLCBzaXplb2Yoa29iai5sYWJlbCkgLSAxKTsKLSAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9PcGVuU0MvT3BlblNDL3B1bGwvMTM1M10KLVNpZ25lZC1vZmYtYnkgS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9saWJvcGVuc2MvY2FyZC1naWRzLmMgICAgICAgfCAzICsrLQotIHNyYy9saWJvcGVuc2MvcGtjczE1LW9iZXJ0aHVyLmMgfCAzICsrLQotIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYm9wZW5zYy9jYXJkLWdpZHMuYyBiL3NyYy9saWJvcGVuc2MvY2FyZC1naWRzLmMKLWluZGV4IGZjNWQyYTcuLmFjM2U1NzkgMTAwNjQ0Ci0tLS0gYS9zcmMvbGlib3BlbnNjL2NhcmQtZ2lkcy5jCi0rKysgYi9zcmMvbGlib3BlbnNjL2NhcmQtZ2lkcy5jCi1AQCAtMzMsNiArMzMsNyBAQCBTb21lIGZlYXR1cmVzIGFyZSB1bmRvY3VtZW50ZWQgbGlrZSB0aGUgZm9ybWF0IHVzZWQgdG8gc3RvcmUgY2VydGlmaWNhdGVzLiBUaGV5Ci0gCi0gI2luY2x1ZGUgPHN0ZGxpYi5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSsjaW5jbHVkZSAiLi4vY29tbW9uL2NvbXBhdF9zdHJsY3B5LmgiCi0gCi0gI2lmZGVmIEVOQUJMRV9PUEVOU1NMCi0gLyogb3BlbnNzbCBvbmx5IG5lZWRlZCBmb3IgY2FyZCBhZG1pbmlzdHJhdGlvbiAqLwotQEAgLTQ2Miw3ICs0NjMsNyBAQCBzdGF0aWMgaW50IGdpZHNfY3JlYXRlX2ZpbGUoc2NfY2FyZF90ICpjYXJkLCBjaGFyKiBkaXJlY3RvcnksIGNoYXIqIGZpbGVuYW1lKSB7Ci0gCW1lbXNldChtYXN0ZXJmaWxlYnVmZmVyICsgb2Zmc2V0LCAwLCBzaXplb2YoZ2lkc19tZl9yZWNvcmRfdCkpOwotIAlyZWNvcmQgPSAoZ2lkc19tZl9yZWNvcmRfdCopIChtYXN0ZXJmaWxlYnVmZmVyICsgb2Zmc2V0KTsKLSAJc3RybmNweShyZWNvcmQtPmRpcmVjdG9yeSwgZGlyZWN0b3J5LCA4KTsKLS0Jc3RybmNweShyZWNvcmQtPmZpbGVuYW1lLCBmaWxlbmFtZSwgOCk7Ci0rCXN0cmxjcHkocmVjb3JkLT5maWxlbmFtZSwgZmlsZW5hbWUsIHNpemVvZihyZWNvcmQtPmZpbGVuYW1lKSk7Ci0gCXJlY29yZC0+ZmlsZUlkZW50aWZpZXIgPSBmaWxlSWRlbnRpZmllcjsKLSAJcmVjb3JkLT5kYXRhT2JqZWN0SWRlbnRpZmllciA9IGRhdGFPYmplY3RJZGVudGlmaWVyOwotIAotZGlmZiAtLWdpdCBhL3NyYy9saWJvcGVuc2MvcGtjczE1LW9iZXJ0aHVyLmMgYi9zcmMvbGlib3BlbnNjL3BrY3MxNS1vYmVydGh1ci5jCi1pbmRleCA0Zjg0MWVkLi4zNDE1YmU3IDEwMDY0NAotLS0tIGEvc3JjL2xpYm9wZW5zYy9wa2NzMTUtb2JlcnRodXIuYwotKysrIGIvc3JjL2xpYm9wZW5zYy9wa2NzMTUtb2JlcnRodXIuYwotQEAgLTI5LDYgKzI5LDcgQEAKLSAjaW5jbHVkZSA8c3RkbGliLmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDxzdGRpby5oPgotKyNpbmNsdWRlICIuLi9jb21tb24vY29tcGF0X3N0cmxjcHkuaCIKLSAKLSAjaW5jbHVkZSAicGtjczE1LmgiCi0gI2luY2x1ZGUgImxvZy5oIgotQEAgLTczOCw3ICs3MzksNyBAQCBzY19wa2NzMTVlbXVfb2JlcnRodXJfYWRkX3BydmtleShzdHJ1Y3Qgc2NfcGtjczE1X2NhcmQgKnAxNWNhcmQsCi0gCQkJdW5zaWduZWQgaW50IGlkID0gcGF0aC52YWx1ZVtwYXRoLmxlbiAtIDJdICogMHgxMDAgKyBwYXRoLnZhbHVlW3BhdGgubGVuIC0gMV07Ci0gCi0gCQkJaWYgKGlkID09IGNjb250LmlkX2NlcnQpICAgewotLQkJCQlzdHJuY3B5KGtvYmoubGFiZWwsIG9ianNbaWldLT5sYWJlbCwgc2l6ZW9mKGtvYmoubGFiZWwpIC0gMSk7Ci0rCQkJCXN0cmxjcHkoa29iai5sYWJlbCwgb2Jqc1tpaV0tPmxhYmVsLCBzaXplb2Yoa29iai5sYWJlbCkpOwotIAkJCQlicmVhazsKLSAJCQl9Ci0gCQl9Ci0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc2Mvb3BlbnNjLzAwMDEtUmVtb3ZlLXJlZHVuZGFudC1sb2dnaW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnNjL29wZW5zYy8wMDAxLVJlbW92ZS1yZWR1bmRhbnQtbG9nZ2luZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTFmMWEyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnNjL29wZW5zYy8wMDAxLVJlbW92ZS1yZWR1bmRhbnQtbG9nZ2luZy5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIGMwMTJmNDY5NjViM2ZlMjRlMzEzNjc3OTZlNTJjMmQwYjE0Y2E1ZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogTW9uLCAxNyBEZWMgMjAxOCAxODo0NDoyMyAtMDgwMAorU3ViamVjdDogW1BBVENIXSBSZW1vdmUgcmVkdW5kYW50IGxvZ2dpbmcKKworU2FtZSBpbmZvcm1hdGlvbiBpcyBwcmludGVkIGEgZmV3IGxpbmUgYmVsb3cgaW4gc2FtZSBmdW5jdGlvbiwgdGhlIG9ubHkKK2RpZmZlcmVuY2UgaXMgdGhhdCB0aGVyZSBpdCB0YWtlcyBjYXJlIG9mIGNhc2Ugd2hlbiBsYWJlbCBpcyBOVUxMIHBvaW50ZXIKK3VubGlrZSB0aGlzIGxpbmUKKworc2Vjb25kbHksIGV2ZXJ5IGZ1bmN0aW9uIGNhbGwgdG8gY29zbV93cml0ZV90b2tlbmluZm8oKSBpbiB0aGlzIGZpbGUKK3Bhc3NlcyBsYWJlbD1OVUxMLCBhbmQgdGhlbiBpdCB0cmllcyB0byBwcmludCBhIG51bGwgcG9pbnRlcgorCitGaXhlcyBlcnJvcnMgbGlrZQorc3JjL2xpYm9wZW5zYy9sb2cuaDo0ODo0NzogZXJyb3I6ICclcycgZGlyZWN0aXZlIGFyZ3VtZW50IGlzIG51bGwKK1stV2Vycm9yPWZvcm1hdC1vdmVyZmxvdz1dCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vT3BlblNDL09wZW5TQy9wdWxsLzE1NTddCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3JjL3BrY3MxNWluaXQvcGtjczE1LW9iZXJ0aHVyLmMgfCAxIC0KKyAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQorCitJbmRleDogZ2l0L3NyYy9wa2NzMTVpbml0L3BrY3MxNS1vYmVydGh1ci5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvc3JjL3BrY3MxNWluaXQvcGtjczE1LW9iZXJ0aHVyLmMKKysrKyBnaXQvc3JjL3BrY3MxNWluaXQvcGtjczE1LW9iZXJ0aHVyLmMKK0BAIC03MCw3ICs3MCw2IEBAIGNvc21fd3JpdGVfdG9rZW5pbmZvIChzdHJ1Y3Qgc2NfcGtjczE1X2MKKyAJY3R4ID0gcDE1Y2FyZC0+Y2FyZC0+Y3R4OworIAorIAlTQ19GVU5DX0NBTExFRChjdHgsIFNDX0xPR19ERUJVR19WRVJCT1NFKTsKKy0Jc2NfZGVidWcoY3R4LCBTQ19MT0dfREVCVUdfTk9STUFMLCAiY29zbV93cml0ZV90b2tlbmluZm8oKSBsYWJlbCAnJXMnOyBmbGFncyAweCVYIiwgbGFiZWwsIGZsYWdzKTsKKyAJaWYgKHNjX3Byb2ZpbGVfZ2V0X2ZpbGUocHJvZmlsZSwgQ09TTV9USVRMRSItdG9rZW4taW5mbyIsICZmaWxlKSkgeworIAkJcnYgPSBTQ19FUlJPUl9JTkNPTlNJU1RFTlRfUFJPRklMRTsKKyAJCVNDX1RFU1RfR09UT19FUlIoY3R4LCBTQ19MT0dfREVCVUdfTk9STUFMLCBydiwgIkNhbm5vdCBmaW5kICJDT1NNX1RJVExFIi10b2tlbi1pbmZvIik7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc2Mvb3BlbnNjXzAuMTguMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2NfMC4xOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NWM5MzFlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2NfMC4xOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotU1VNTUFSWSA9ICJTbWFydCBjYXJkIGxpYnJhcnkgYW5kIGFwcGxpY2F0aW9ucyIKLURFU0NSSVBUSU9OID0gIk9wZW5TQyBpcyBhIHRvb2wgZm9yIGFjY2Vzc2luZyBzbWFydCBjYXJkIGRldmljZXMuIEJhc2ljXAotZnVuY3Rpb25hbGl0eSAoZS5nLiBTRUxFQ1QgRklMRSwgUkVBRCBCSU5BUlkpIHNob3VsZCB3b3JrIG9uIGFueSBJU09cCi03ODE2LTQgY29tcGF0aWJsZSBzbWFydCBjYXJkLiBFbmNyeXB0aW9uIGFuZCBkZWNyeXB0aW9uIHVzaW5nIHByaXZhdGVcCi1rZXlzIG9uIHRoZSBzbWFydCBjYXJkIGlzIHBvc3NpYmxlIHdpdGggUEtDU1wKLXN1Y2ggYXMgdGhlIEZJTkVJRCAoRmlubmlzaCBFbGVjdHJvbmljIElEZW50aXR5KSBjYXJkLiBTd2VkaXNoIFBvc3RlblwKLWVJRCBjYXJkcyBoYXZlIGFsc28gYmVlbiBjb25maXJtZWQgdG8gd29yay4iCi0KLUhPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNjLXByb2plY3Qub3JnL29wZW5zYy8iCi1TRUNUSU9OID0gIlN5c3RlbSBFbnZpcm9ubWVudC9MaWJyYXJpZXMiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hpdmUvZGViaWFuLzIwMTgwNTIxVDEwMTQyOFovcG9vbC9tYWluL28vb3BlbnNjL29wZW5zY18wLjE4LjAub3JpZy50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXhlZC1nY2MtOC1jb21waWxhdGlvbi1lcnJvcnMtMTM1My5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYmNlNTE2Zjc1MmUwZGI1MzI3YWEwNmNjMDEzNmZlMjciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmVmNjJiMDBlOGZkYmUzZTM4NmMzZWUyNWMyY2FkYjU2YzE5MzFlYTQyZjFhMTFkY2U4Yzk0N2Y1MWI0NTAzMyIKLQotREVQRU5EUyA9ICJvcGVuY3QgcGNzYy1saXRlIHZpcnR1YWwvbGliaWNvbnYgb3BlbnNzbCIKLQotTElDRU5TRSA9ICJMR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1TID0gIiR7V09SS0RJUn0vT3BlblNDLSR7UFZ9IgotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS1kaXNhYmxlLXN0YXRpYyBcCi0gICAgLS1lbmFibGUtb3BlbmN0IFwKLSAgICAtLWRpc2FibGUtcGNzYyBcCi0gICAgLS1kaXNhYmxlLWN0YXBpIFwKLSAgICAtLWRpc2FibGUtZG9jIFwKLSIKLUVYVFJBX09FTUFLRSA9ICJERVNURElSPSR7RH0iCi0KLVJERVBFTkRTXyR7UE59ID0gInJlYWRsaW5lIgotCi1GSUxFU18ke1BOfSArPSAiXAotICAgICR7bGliZGlyfS9vcGVuc2MtcGtjczExLnNvIFwKLSAgICAke2xpYmRpcn0vb25lcGluLW9wZW5zYy1wa2NzMTEuc28gXAotICAgICR7bGliZGlyfS9wa2NzMTEtc3B5LnNvIFwKLSIKLUZJTEVTXyR7UE59LWRldiArPSAiXAotICAgICR7bGliZGlyfS9wa2NzMTEvb3BlbnNjLXBrY3MxMS5zbyBcCi0gICAgJHtsaWJkaXJ9L3BrY3MxMS9vbmVwaW4tb3BlbnNjLXBrY3MxMS5zbyBcCi0gICAgJHtsaWJkaXJ9L3BrY3MxMS9wa2NzMTEtc3B5LnNvIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2NfMC4xOS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnNjL29wZW5zY18wLjE5LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmMxNzIyZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2NfMC4xOS4wLmJiCkBAIC0wLDAgKzEsNDQgQEAKK1NVTU1BUlkgPSAiU21hcnQgY2FyZCBsaWJyYXJ5IGFuZCBhcHBsaWNhdGlvbnMiCitERVNDUklQVElPTiA9ICJPcGVuU0MgaXMgYSB0b29sIGZvciBhY2Nlc3Npbmcgc21hcnQgY2FyZCBkZXZpY2VzLiBCYXNpY1wKK2Z1bmN0aW9uYWxpdHkgKGUuZy4gU0VMRUNUIEZJTEUsIFJFQUQgQklOQVJZKSBzaG91bGQgd29yayBvbiBhbnkgSVNPXAorNzgxNi00IGNvbXBhdGlibGUgc21hcnQgY2FyZC4gRW5jcnlwdGlvbiBhbmQgZGVjcnlwdGlvbiB1c2luZyBwcml2YXRlXAora2V5cyBvbiB0aGUgc21hcnQgY2FyZCBpcyBwb3NzaWJsZSB3aXRoIFBLQ1NcCitzdWNoIGFzIHRoZSBGSU5FSUQgKEZpbm5pc2ggRWxlY3Ryb25pYyBJRGVudGl0eSkgY2FyZC4gU3dlZGlzaCBQb3N0ZW5cCitlSUQgY2FyZHMgaGF2ZSBhbHNvIGJlZW4gY29uZmlybWVkIHRvIHdvcmsuIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5zYy1wcm9qZWN0Lm9yZy9vcGVuc2MvIgorU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvTGlicmFyaWVzIgorTElDRU5TRSA9ICJMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCisKKyN2MC4xOS4wCitTUkNSRVYgPSAiZjE2OTFmYzkxZmMxMTMxOTFjM2E4YWFmNWZhY2Q2OTgzMzM0ZWM0NyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9PcGVuU0MvT3BlblNDIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtUmVtb3ZlLXJlZHVuZGFudC1sb2dnaW5nLnBhdGNoIFwKKyAgICAgICAgICAiCitERVBFTkRTID0gIm9wZW5jdCBwY3NjLWxpdGUgdmlydHVhbC9saWJpY29udiBvcGVuc3NsIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJhc2gtY29tcGxldGlvbgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtc3RhdGljIFwKKyAgICAtLWVuYWJsZS1vcGVuY3QgXAorICAgIC0tZGlzYWJsZS1wY3NjIFwKKyAgICAtLWRpc2FibGUtY3RhcGkgXAorICAgIC0tZGlzYWJsZS1kb2MgXAorIgorRVhUUkFfT0VNQUtFID0gIkRFU1RESVI9JHtEfSIKKworUkRFUEVORFNfJHtQTn0gPSAicmVhZGxpbmUiCisKK0ZJTEVTXyR7UE59ICs9ICJcCisgICAgJHtsaWJkaXJ9L29wZW5zYy1wa2NzMTEuc28gXAorICAgICR7bGliZGlyfS9vbmVwaW4tb3BlbnNjLXBrY3MxMS5zbyBcCisgICAgJHtsaWJkaXJ9L3BrY3MxMS1zcHkuc28gXAorIgorRklMRVNfJHtQTn0tZGV2ICs9ICJcCisgICAgJHtsaWJkaXJ9L3BrY3MxMS9vcGVuc2MtcGtjczExLnNvIFwKKyAgICAke2xpYmRpcn0vcGtjczExL29uZXBpbi1vcGVuc2MtcGtjczExLnNvIFwKKyAgICAke2xpYmRpcn0vcGtjczExL3BrY3MxMS1zcHkuc28gXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9jby9wb2NvLzAwMDEtU3VwcG9ydC1vZi1hcmNoLXJpc2N2NjQtYnktTWFudWVsLUEuLUZlcm5hbmRlei1Nb250ZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvY28vcG9jby8wMDAxLVN1cHBvcnQtb2YtYXJjaC1yaXNjdjY0LWJ5LU1hbnVlbC1BLi1GZXJuYW5kZXotTW9udGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJkODlkMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvY28vcG9jby8wMDAxLVN1cHBvcnQtb2YtYXJjaC1yaXNjdjY0LWJ5LU1hbnVlbC1BLi1GZXJuYW5kZXotTW9udGUucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSBlZDA0Yzk3YWJlMDE1YTIyNjI2OWRlMzkxZTM2YzRkMjUxMjkyNzI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRnJhbmNpcyBBTkRSRSA8ZnJhbmNpcy5hbmRyZS5rYW1wYmVsbEBvcmFuZ2UuZnI+CitEYXRlOiBTdW4sIDYgTWF5IDIwMTggMTI6Mjg6MjUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gU3VwcG9ydCBvZiBhcmNoIHJpc2N2NjQgYnkgTWFudWVsIEEuIEZlcm5hbmRleiBNb250ZWNlbG8KKyA8bWFmbUBkZWJpYW4ub3JnPgorCistLS0KKyBGb3VuZGF0aW9uL2luY2x1ZGUvUG9jby9QbGF0Zm9ybS5oIHwgNiArKysrKy0KKyBGb3VuZGF0aW9uL3NyYy91dGlscy5oICAgICAgICAgICAgIHwgMSArCisgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworLS0tIGEvRm91bmRhdGlvbi9pbmNsdWRlL1BvY28vUGxhdGZvcm0uaAorKysrIGIvRm91bmRhdGlvbi9pbmNsdWRlL1BvY28vUGxhdGZvcm0uaAorQEAgLTEzNCw2ICsxMzQsNyBAQAorICNkZWZpbmUgUE9DT19BUkNIX05JT1MyICAgMHgwZQorICNkZWZpbmUgUE9DT19BUkNIX0FBUkNINjQgMHgwZgorICNkZWZpbmUgUE9DT19BUkNIX0FSTTY0ICAgMHgwZiAvLyBzYW1lIGFzIFBPQ09fQVJDSF9BQVJDSDY0CisrI2RlZmluZSBQT0NPX0FSQ0hfUklTQ1Y2NCAweDEwCisgCisgCisgI2lmIGRlZmluZWQoX19BTFBIQSkgfHwgZGVmaW5lZChfX2FscGhhKSB8fCBkZWZpbmVkKF9fYWxwaGFfXykgfHwgZGVmaW5lZChfTV9BTFBIQSkKK0BAIC0yMjQsNiArMjI1LDkgQEAKKyAjZWxpZiBkZWZpbmVkKF9fQUFSQ0g2NEVCX18pCisgCSNkZWZpbmUgUE9DT19BUkNIIFBPQ09fQVJDSF9BQVJDSDY0CisgCSNkZWZpbmUgUE9DT19BUkNIX0JJR19FTkRJQU4gMQorKyNlbGlmIGRlZmluZWQoX19yaXNjdikgJiYgKF9fcmlzY3ZfeGxlbiA9PSA2NCkKKysJI2RlZmluZSBQT0NPX0FSQ0ggUE9DT19BUkNIX1JJU0NWNjQKKysJI2RlZmluZSBQT0NPX0FSQ0hfTElUVExFX0VORElBTiAxCisgI2VuZGlmCisgCisgCistLS0gYS9Gb3VuZGF0aW9uL3NyYy91dGlscy5oCisrKysgYi9Gb3VuZGF0aW9uL3NyYy91dGlscy5oCitAQCAtNjMsNiArNjMsNyBAQAorICAgICBkZWZpbmVkKF9fU0g0X18pIHx8IGRlZmluZWQoX19hbHBoYV9fKSB8fCBcCisgICAgIGRlZmluZWQoX01JUFNfQVJDSF9NSVBTMzJSMikgfHwgXAorICAgICBkZWZpbmVkKF9fQUFSQ0g2NEVMX18pIHx8IFwKKysgICAgZGVmaW5lZChfX3Jpc2N2KSB8fCBcCisgICAgIGRlZmluZWQobmlvczIpIHx8IGRlZmluZWQoX19uaW9zMikgfHwgZGVmaW5lZChfX25pb3MyX18pCisgI2RlZmluZSBET1VCTEVfQ09OVkVSU0lPTl9DT1JSRUNUX0RPVUJMRV9PUEVSQVRJT05TIDEKKyAjZWxpZiBkZWZpbmVkKF9NX0lYODYpIHx8IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19pMzg2KQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9jby9wb2NvXzEuOS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9jby9wb2NvXzEuOS4wLmJiCmluZGV4IDI1OGNjNDkuLjcwYjI1MTAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvY28vcG9jb18xLjkuMC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb2NvL3BvY29fMS45LjAuYmIKQEAgLTExLDYgKzExLDcgQEAKIFNSQ19VUkkgPSAiIFwKICAgICBnaXQ6Ly9naXRodWIuY29tL3BvY29wcm9qZWN0L3BvY28uZ2l0O2JyYW5jaD1wb2NvLSR7UFZ9IFwKICAgICBmaWxlOi8vMDAwMS1Eb24tdC10cnktdG8taW5zdGFsbC1ub24tZXhpc3RpbmctRW5jb2RpbmdzLXRlc3RzdWl0LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1TdXBwb3J0LW9mLWFyY2gtcmlzY3Y2NC1ieS1NYW51ZWwtQS4tRmVybmFuZGV6LU1vbnRlLnBhdGNoIFwKICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKICAgICIKIFNSQ1JFViA9ICJkYWYwMGRhNzNhYjkxN2U0ZDQ1ODFlM2FhMDBjMGVlNjFlMGNjNThiIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyLzAwMDEtZ2xpYi1DTWFrZUxpc3RzLnR4dC1BZGQtbGlicG9wcGxlci10by1saW5rLWFsb25nLXdpdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlci8wMDAxLWdsaWItQ01ha2VMaXN0cy50eHQtQWRkLWxpYnBvcHBsZXItdG8tbGluay1hbG9uZy13aXQucGF0Y2gKaW5kZXggN2VkNzk1ZS4uYzM2NGQ3MyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyLzAwMDEtZ2xpYi1DTWFrZUxpc3RzLnR4dC1BZGQtbGlicG9wcGxlci10by1saW5rLWFsb25nLXdpdC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3BwbGVyL3BvcHBsZXIvMDAwMS1nbGliLUNNYWtlTGlzdHMudHh0LUFkZC1saWJwb3BwbGVyLXRvLWxpbmstYWxvbmctd2l0LnBhdGNoCkBAIC0xNSwxNSArMTUsMTggQEAKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2dsaWIvQ01ha2VMaXN0cy50eHQgYi9nbGliL0NNYWtlTGlzdHMudHh0Ci1pbmRleCAzM2M2NjA4Li44N2UxYjQ0IDEwMDY0NAoraW5kZXggNmY5MTY2OS4uY2E1MDIxZiAxMDA2NDQKIC0tLSBhL2dsaWIvQ01ha2VMaXN0cy50eHQKICsrKyBiL2dsaWIvQ01ha2VMaXN0cy50eHQKLUBAIC0xMjcsNyArMTI3LDcgQEAgaWYgKEhBVkVfSU5UUk9TUEVDVElPTiBBTkQgQlVJTERfU0hBUkVEX0xJQlMpCitAQCAtMTM1LDcgKzEzNSw3IEBAIGlmIChIQVZFX0lOVFJPU1BFQ1RJT04gQU5EIEJVSUxEX1NIQVJFRF9MSUJTKQogICAgZ2V0X2RpcmVjdG9yeV9wcm9wZXJ0eShfdG1wX2luY2x1ZGVzIElOQ0xVREVfRElSRUNUT1JJRVMpCiAgICBfbGlzdF9wcmVmaXgoX2luY2x1ZGVzIF90bXBfaW5jbHVkZXMgIi1JIikKLSAgIHNldChQb3BwbGVyXzBfMThfZ2lyX0NGTEFHUyAke19pbmNsdWRlc30gLUwke0NNQUtFX0JJTkFSWV9ESVJ9KQorICAgc2V0KFBvcHBsZXJfMF8xOF9naXJfQ0ZMQUdTICR7X2luY2x1ZGVzfSAtTCR7Q01BS0VfQklOQVJZX0RJUn0gLUwke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0pCiAtICBzZXQoUG9wcGxlcl8wXzE4X2dpcl9MSUJTIHBvcHBsZXItZ2xpYikKICsgIHNldChQb3BwbGVyXzBfMThfZ2lyX0xJQlMgcG9wcGxlci1nbGliIHBvcHBsZXIpCiAgICBfbGlzdF9wcmVmaXgoX2Fic19pbnRyb3NwZWN0aW9uX2ZpbGVzIGludHJvc3BlY3Rpb25fZmlsZXMgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8iKQogICAgbGlzdChBUFBFTkQgX2Fic19pbnRyb3NwZWN0aW9uX2ZpbGVzCiAgICAgICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9wb3BwbGVyLWVudW1zLmMKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlci9iYXNlbmFtZS1pbmNsdWRlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyL2Jhc2VuYW1lLWluY2x1ZGUucGF0Y2gKaW5kZXggNTI4NTI4YS4uYWI2YmRiMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyL2Jhc2VuYW1lLWluY2x1ZGUucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyL2Jhc2VuYW1lLWluY2x1ZGUucGF0Y2gKQEAgLTgsOCArOCw4IEBACiAtLS0gcG9wcGxlci0wLjY0LjAub3JpZy91dGlscy9wZGZzaWcuY2MKICsrKyBwb3BwbGVyLTAuNjQuMC91dGlscy9wZGZzaWcuY2MKIEBAIC0zNSw2ICszNSwxMCBAQAotICNpbmNsdWRlICJXaW4zMkNvbnNvbGUuaCIKICAjaW5jbHVkZSAibnVtYmVyb2ZjaGFyYWN0ZXJzLmgiCisgI2luY2x1ZGUgPGxpYmdlbi5oPgogIAogKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCiArI2RlZmluZSBiYXNlbmFtZShzcmMpIChzdHJyY2hyKHNyYywnLycpID8gc3RycmNocihzcmMsJy8nKSsxIDogc3JjKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyXzAuNzAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlcl8wLjcwLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2MThmMjguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyXzAuNzAuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLVNVTU1BUlkgPSAiUG9wcGxlciBpcyBhIFBERiByZW5kZXJpbmcgbGlicmFyeSBiYXNlZCBvbiB0aGUgeHBkZi0zLjAgY29kZSBiYXNlIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgotCi1TUkNfVVJJID0gImh0dHA6Ly9wb3BwbGVyLmZyZWVkZXNrdG9wLm9yZy8ke0JQfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3Qtb3ZlcndyaXRlLWFsbC1vdXItYnVpbGQtZmxhZ3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1DYWlyb091dHB1dERldi5jYy1maXgtYnVpbGQtZXJyb3Itd2hlbi11c2luZy1maXhlZHBvLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZ2xpYi1DTWFrZUxpc3RzLnR4dC1BZGQtbGlicG9wcGxlci10by1saW5rLWFsb25nLXdpdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9iYXNlbmFtZS1pbmNsdWRlLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gImZkYjA2OTllOWFhMjBlODFhY2QxYTUwNzAxMzc0YzhiIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY2OTcyMDQ3ZDllZjgxNjJjYzhjMzg5ZDdlNzY5ODI5MWRmYzlmMmIzZTRlYTlhOWYwOGFlNjA0MTA3NDUxYmQiCi0KLURFUEVORFMgPSAiZm9udGNvbmZpZyB6bGliIGNhaXJvIGxjbXMgZ2xpYi0yLjAiCi0KLWluaGVyaXQgY21ha2UgcGtnY29uZmlnIGdvYmplY3QtaW50cm9zcGVjdGlvbgotCi1QQUNLQUdFQ09ORklHID8/PSAianBlZyBvcGVuanBlZyBwbmcgdGlmZiBuc3MgJHtAYmIudXRpbHMuY29udGFpbnMoJ0JCRklMRV9DT0xMRUNUSU9OUycsICdxdDUtbGF5ZXInLCAncXQ1JywgJycsIGQpfSIKLVBBQ0tBR0VDT05GSUdbanBlZ10gPSAiLURXSVRIX0pQRUc9T04gLURFTkFCTEVfRENUREVDT0RFUj1saWJqcGVnLC1EV0lUSF9KUEVHPU9GRiAtREVOQUJMRV9EQ1RERUNPREVSPW5vbmUsanBlZyIKLVBBQ0tBR0VDT05GSUdbcG5nXSA9ICItRFdJVEhfUE5HPU9OLC1EV0lUSF9QTkc9T0ZGLGxpYnBuZyIKLVBBQ0tBR0VDT05GSUdbdGlmZl0gPSAiLURXSVRIX1RJRkY9T04sLURXSVRIX1RJRkY9T0ZGLHRpZmYiCi1QQUNLQUdFQ09ORklHW2N1cmxdID0gIi1ERU5BQkxFX0xJQkNVUkw9T04sLURFTkFCTEVfTElCQ1VSTD1PRkYsY3VybCIKLVBBQ0tBR0VDT05GSUdbb3BlbmpwZWddID0gIi1ERU5BQkxFX0xJQk9QRU5KUEVHPW9wZW5qcGVnMiwtREVOQUJMRV9MSUJPUEVOSlBFRz1ub25lLG9wZW5qcGVnIgotUEFDS0FHRUNPTkZJR1txdDVdID0gIi1ERU5BQkxFX1FUNT1PTiwtREVOQUJMRV9RVDU9T0ZGLHF0YmFzZSBxdHRvb2xzLW5hdGl2ZSIKLVBBQ0tBR0VDT05GSUdbbnNzXSA9ICItRFdJVEhfTlNTMz1PTiwtRFdJVEhfTlNTMz1PRkYsbnNzIgotCi0jIHN1cnByaXNlIC0gZGlkIG5vdCBleHBlY3QgdGhpcyB0byB3b3JrIDopCi1pbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3F0NScsICdjbWFrZV9xdDUnLCAnJywgZCl9Ci0KLVNFQ1VSSVRZX0NGTEFHUyA9ICIke1NFQ1VSSVRZX05PX1BJRV9DRkxBR1N9IgotCi1FWFRSQV9PRUNNQUtFICs9ICIgXAotICAgIC1ERU5BQkxFX0NNUz1sY21zMiBcCi0gICAgLURFTkFCTEVfWFBERl9IRUFERVJTPU9OIFwKLSAgICAtREJVSUxEX0dUS19URVNUUz1PRkYgXAotICAgIC1ERU5BQkxFX1pMSUI9T04gXAotICAgIC1EQ01BS0VfQ1hYX0lNUExJQ0lUX0lOQ0xVREVfRElSRUNUT1JJRVM6UEFUSD0nJHtTVEFHSU5HX0lOQ0RJUn0nIFwKLSIKLQotZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKLSAgICAjIHBvcHBsZXIgbWFjcm8gdXNlcyBwa2ctY29uZmlnIHRvIGNoZWNrIGZvciBnLWlyIHJ1bnRpbWVzLiBTb21ldGhpbmcKLSAgICAjIG1ha2VzIHRoZW0gcG9pbnQgdG8gL3Vzci9iaW4uIEFsaWduIHRoZW0gdG8gc3lzcm9vdCAtIHRoYXQncyB3aGVyZSB0aGUKLSAgICAjIGdpdC13cmFwcGVycyBhcmU6Ci0gICAgc2VkIC1pICdzOiAke2JpbmRpcn0vZy1pcjogJHtTVEFHSU5HX0JJTkRJUn0vZy1pcjonICR7Qn0vYnVpbGQubmluamEKLX0KLQotIyBjaGVjayBmb3IgVEFSR0VUX0ZQVT1zb2Z0IGFuZCBpbmZvcm0gY29uZmlndXJlIG9mIHRoZSByZXN1bHQgc28gaXQgY2FuIGRpc2FibGUgc29tZSBmbG9hdGluZyBwb2ludHMKLWRlZiBnZXRfcG9wcGxlcl9mcHVfc2V0dGluZyhiYiwgZCk6Ci0gICAgaWYgZC5nZXRWYXIoJ1RBUkdFVF9GUFUnKSBpbiBbICdzb2Z0JyBdOgotICAgICAgICByZXR1cm4gIi1EVVNFX0ZJWEVEUE9JTlQ9T04iCi0gICAgcmV0dXJuICIiCi0KLUVYVFJBX09FQ01BS0UgKz0gIiR7QGdldF9wb3BwbGVyX2ZwdV9zZXR0aW5nKGJiLCBkKX0iCi0KLVBBQ0tBR0VTID0rICJsaWJwb3BwbGVyIGxpYnBvcHBsZXItZ2xpYiIKLUZJTEVTX2xpYnBvcHBsZXIgPSAiJHtsaWJkaXJ9L2xpYnBvcHBsZXIuc28uKiIKLUZJTEVTX2xpYnBvcHBsZXItZ2xpYiA9ICIke2xpYmRpcn0vbGlicG9wcGxlci1nbGliLnNvLioiCi0KLVJERVBFTkRTX2xpYnBvcHBsZXIgPSAicG9wcGxlci1kYXRhIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyXzAuNzUuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlcl8wLjc1LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDcwNGYxYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlcl8wLjc1LjAuYmIKQEAgLTAsMCArMSw1OSBAQAorU1VNTUFSWSA9ICJQb3BwbGVyIGlzIGEgUERGIHJlbmRlcmluZyBsaWJyYXJ5IGJhc2VkIG9uIHRoZSB4cGRmLTMuMCBjb2RlIGJhc2UiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3BvcHBsZXIuZnJlZWRlc2t0b3Aub3JnLyR7QlB9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1vdmVyd3JpdGUtYWxsLW91ci1idWlsZC1mbGFncy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUNhaXJvT3V0cHV0RGV2LmNjLWZpeC1idWlsZC1lcnJvci13aGVuLXVzaW5nLWZpeGVkcG8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1nbGliLUNNYWtlTGlzdHMudHh0LUFkZC1saWJwb3BwbGVyLXRvLWxpbmstYWxvbmctd2l0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Jhc2VuYW1lLWluY2x1ZGUucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiM2ZiNGNhODAzZDk4OTc0MjY5NWNhNTg2YzVjYzQ4OWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2JiYWVkYjBmYTI3OTdjYWM5MzNhMDY1OWQxNDQzMDNlNGQwOWVlYzY4OTJjNjU2MDBkYTk4N2Q4NzA3MTk5YSIKKworREVQRU5EUyA9ICJmb250Y29uZmlnIHpsaWIgY2Fpcm8gbGNtcyBnbGliLTIuMCIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1BBQ0tBR0VDT05GSUcgPz89ICJqcGVnIG9wZW5qcGVnIHBuZyB0aWZmIG5zcyAke0BiYi51dGlscy5jb250YWlucygnQkJGSUxFX0NPTExFQ1RJT05TJywgJ3F0NS1sYXllcicsICdxdDUnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItRFdJVEhfSlBFRz1PTiAtREVOQUJMRV9EQ1RERUNPREVSPWxpYmpwZWcsLURXSVRIX0pQRUc9T0ZGIC1ERU5BQkxFX0RDVERFQ09ERVI9bm9uZSxqcGVnIgorUEFDS0FHRUNPTkZJR1twbmddID0gIi1EV0lUSF9QTkc9T04sLURXSVRIX1BORz1PRkYsbGlicG5nIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItRFdJVEhfVElGRj1PTiwtRFdJVEhfVElGRj1PRkYsdGlmZiIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLURFTkFCTEVfTElCQ1VSTD1PTiwtREVOQUJMRV9MSUJDVVJMPU9GRixjdXJsIgorUEFDS0FHRUNPTkZJR1tvcGVuanBlZ10gPSAiLURFTkFCTEVfTElCT1BFTkpQRUc9b3BlbmpwZWcyLC1ERU5BQkxFX0xJQk9QRU5KUEVHPW5vbmUsb3BlbmpwZWciCitQQUNLQUdFQ09ORklHW3F0NV0gPSAiLURFTkFCTEVfUVQ1PU9OLC1ERU5BQkxFX1FUNT1PRkYscXRiYXNlIHF0dG9vbHMtbmF0aXZlIgorUEFDS0FHRUNPTkZJR1tuc3NdID0gIi1EV0lUSF9OU1MzPU9OLC1EV0lUSF9OU1MzPU9GRixuc3MiCisKKyMgc3VycHJpc2UgLSBkaWQgbm90IGV4cGVjdCB0aGlzIHRvIHdvcmsgOikKK2luaGVyaXQgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncXQ1JywgJ2NtYWtlX3F0NScsICcnLCBkKX0KKworU0VDVVJJVFlfQ0ZMQUdTID0gIiR7U0VDVVJJVFlfTk9fUElFX0NGTEFHU30iCisKK0VYVFJBX09FQ01BS0UgKz0gIiBcCisgICAgLURFTkFCTEVfQ01TPWxjbXMyIFwKKyAgICAtREVOQUJMRV9VTlNUQUJMRV9BUElfQUJJX0hFQURFUlM9T04gXAorICAgIC1EQlVJTERfR1RLX1RFU1RTPU9GRiBcCisgICAgLURFTkFCTEVfWkxJQj1PTiBcCisgICAgLURDTUFLRV9DWFhfSU1QTElDSVRfSU5DTFVERV9ESVJFQ1RPUklFUzpQQVRIPScke1NUQUdJTkdfSU5DRElSfScgXAorIgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgICMgcG9wcGxlciBtYWNybyB1c2VzIHBrZy1jb25maWcgdG8gY2hlY2sgZm9yIGctaXIgcnVudGltZXMuIFNvbWV0aGluZworICAgICMgbWFrZXMgdGhlbSBwb2ludCB0byAvdXNyL2Jpbi4gQWxpZ24gdGhlbSB0byBzeXNyb290IC0gdGhhdCdzIHdoZXJlIHRoZQorICAgICMgZ2lyLXdyYXBwZXJzIGFyZToKKyAgICBzZWQgLWkgJ3M6ICR7YmluZGlyfS9nLWlyOiAke1NUQUdJTkdfQklORElSfS9nLWlyOicgJHtCfS9idWlsZC5uaW5qYQorfQorCisjIGNoZWNrIGZvciBUQVJHRVRfRlBVPXNvZnQgYW5kIGluZm9ybSBjb25maWd1cmUgb2YgdGhlIHJlc3VsdCBzbyBpdCBjYW4gZGlzYWJsZSBzb21lIGZsb2F0aW5nIHBvaW50cworZGVmIGdldF9wb3BwbGVyX2ZwdV9zZXR0aW5nKGJiLCBkKToKKyAgICBpZiBkLmdldFZhcignVEFSR0VUX0ZQVScpIGluIFsgJ3NvZnQnIF06CisgICAgICAgIHJldHVybiAiLURVU0VfRklYRURQT0lOVD1PTiIKKyAgICByZXR1cm4gIiIKKworRVhUUkFfT0VDTUFLRSArPSAiJHtAZ2V0X3BvcHBsZXJfZnB1X3NldHRpbmcoYmIsIGQpfSIKKworUEFDS0FHRVMgPSsgImxpYnBvcHBsZXIgbGlicG9wcGxlci1nbGliIgorRklMRVNfbGlicG9wcGxlciA9ICIke2xpYmRpcn0vbGlicG9wcGxlci5zby4qIgorRklMRVNfbGlicG9wcGxlci1nbGliID0gIiR7bGliZGlyfS9saWJwb3BwbGVyLWdsaWIuc28uKiIKKworUkRFUEVORFNfbGlicG9wcGxlciA9ICJwb3BwbGVyLWRhdGEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wdi9wdl8xLjUuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B2L3B2XzEuNS4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTNkZDY3Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B2L3B2XzEuNS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotU1VNTUFSWSA9ICJUZXJtaW5hbC1iYXNlZCB0b29sIGZvciBtb25pdG9yaW5nIHRoZSBwcm9ncmVzcyBvZiBkYXRhIHRocm91Z2ggYSBwaXBlbGluZSIKLQotTElDRU5TRSA9ICJBcnRpc3RpYy0yLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2MvQ09QWUlORzttZDU9OWM1MGRiMjU4OWVlM2VmMTBhOWI3YjJlNTBjZTFkMDIiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5pdmFyY2guY29tL3Byb2dyYW1zL3NvdXJjZXMvcHYtJHtQVn0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICJlZmU4ZTllNGNhZDVmMzI2NGEzMjI1OGE2M2JmMmM4ZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3NmYzOTk5YjFjM2IzMDI3MTYzZGNlNmVmNjY3Y2RmOGRhZmI3NTIxOGVlMjVlNTRhMDNiZmU1OTA0NzhmOTBlIgotCi1pbmhlcml0IGF1dG90b29scwotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wdi9wdl8xLjYuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B2L3B2XzEuNi42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2NDk1NTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wdi9wdl8xLjYuNi5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIlRlcm1pbmFsLWJhc2VkIHRvb2wgZm9yIG1vbml0b3JpbmcgdGhlIHByb2dyZXNzIG9mIGRhdGEgdGhyb3VnaCBhIHBpcGVsaW5lIgorCitMSUNFTlNFID0gIkFydGlzdGljLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvYy9DT1BZSU5HO21kNT05YzUwZGIyNTg5ZWUzZWYxMGE5YjdiMmU1MGNlMWQwMiIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lml2YXJjaC5jb20vcHJvZ3JhbXMvc291cmNlcy8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImZmMzU2NGZkZGNjMmI5YmQ0YTljMWQxNDNhYmE0YjRjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYwOGVmOTM1ZjdhMzc3ZTE0MzljMTgxYzRmYzE4OGQyNDdkYTEwZDUxYTE5ZWY3OWJjZGVlNTA0M2IwOTczZjEiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0xERU1VTEFUSU9OX21pcHNhcmNobjMyID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2JpZ2VuZGlhbicsICdlbGYzMmJ0c21pcG4zMicsICdlbGYzMmx0c21pcG4zMicsIGQpfSIKK2V4cG9ydCBMREVNVUxBVElPTgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZC8wMDAxLURvLW5vdC1pbnN0YWxsLWxpY2Vuc2UtZmlsZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWQvMDAwMS1Eby1ub3QtaW5zdGFsbC1saWNlbnNlLWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTliOTQ3NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWQvMDAwMS1Eby1ub3QtaW5zdGFsbC1saWNlbnNlLWZpbGUucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorRG8gbm90IGluc3RhbGwgbGljZW5zZSBmaWxlCisKK0ZpbGUgbmFtZSBpcyBpbmNvcnJlY3QgYXMgd2VsbDsgbXVzdCBiZSBMSUNFTlNFIGluc3RlYWQgb2YgQ09QWUlORy4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW3B5cm9waG9iaWNtYW5AZ21haWwuY29tXQorCitTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gV2llaGxlciA8c3RlZmFuLndpZWhsZXJAbWlzc2luZ2xpbmtlbGVjdHJvbmljcy5jb20+CisKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTEzLDUgKzEzLDUgQEAKKyBhZGRfc3ViZGlyZWN0b3J5IChwYXJzZS1lZGlkKQorIAorIElOU1RBTEwoRklMRVMgZ2V0LWVkaWQuMSBERVNUSU5BVElPTiBzaGFyZS9tYW4vbWFuMSkKKy1JTlNUQUxMKEZJTEVTIEFVVEhPUlMgQ2hhbmdlTG9nIENPUFlJTkcgUkVBRE1FIERFU1RJTkFUSU9OCisrSU5TVEFMTChGSUxFUyBBVVRIT1JTIENoYW5nZUxvZyBSRUFETUUgREVTVElOQVRJT04KKyAJc2hhcmUvZG9jL3JlYWQtZWRpZCkKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWQvMDAwMS1jb25maWd1cmUtcmVtb3ZlLWNoZWNrLWZvci14ODYuaC13ZS1kb24tdC1idWlsZC1nZXQtLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZC8wMDAxLWNvbmZpZ3VyZS1yZW1vdmUtY2hlY2stZm9yLXg4Ni5oLXdlLWRvbi10LWJ1aWxkLWdldC0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0MDgwMDIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZC8wMDAxLWNvbmZpZ3VyZS1yZW1vdmUtY2hlY2stZm9yLXg4Ni5oLXdlLWRvbi10LWJ1aWxkLWdldC0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIGViNzU5MGNjMmNkZDVjMzU0MDNhZjQ1NjdkODUyNGUwMTcwMTBmMWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgotRGF0ZTogU2F0LCAxMSBNYXkgMjAxMyAwNzo1ODoxNyArMDIwMAotU3ViamVjdDogW1BBVENIXSBjb25maWd1cmU6IHJlbW92ZSBjaGVjayBmb3IgeDg2LmgsIHdlIGRvbid0IGJ1aWxkIGdldC1lZGlkCi0KLVNpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+Ci0KLVVwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCi0tLS0KLSBjb25maWd1cmUuaW4gfCAyIC0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IGFjODVhMjEuLmY1M2U5MDQgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuaW4KLSsrKyBiL2NvbmZpZ3VyZS5pbgotQEAgLTgsOCArOCw2IEBAIGRubCBDaGVja3MgZm9yIHByb2dyYW1zCi0gCi0gQUNfUFJPR19DQwotIAotLUFDX0NIRUNLX0hFQURFUihbbGlieDg2LmhdLCBbXSwgW0FDX01TR19FUlJPUihbbGlieDg2Lmggbm90IGZvdW5kXSldKQotLQotIGRubCBTaW1wbGUsIGh1aD8KLSAKLSBBQ19PVVRQVVQoW01ha2VmaWxlXSkKLS0tIAotMS44LjEuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZWFkLWVkaWQvcmVhZC1lZGlkXzIuMC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZF8yLjAuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjAwMjkwNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZWFkLWVkaWQvcmVhZC1lZGlkXzIuMC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAicmVhZC1lZGlkIGVsdWNpZGF0ZXMgdmFyaW91cyB2ZXJ5IHVzZWZ1bCBpbmZvcm1hdGlvbnMgZnJvbSBhIGNvbmZvcm1pbmcgUG5QIG1vbml0b3IiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDBiZjcwZmExZWY4MWZlNDc0MWVjMGU2MjMxZGFkZmQiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3BvbHlwdXgub3JnL3Byb2plY3RzL3JlYWQtZWRpZC9yZWFkLWVkaWQtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLXJlbW92ZS1jaGVjay1mb3IteDg2Lmgtd2UtZG9uLXQtYnVpbGQtZ2V0LS5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjU4NmU3ZmExMTY3NzczYjI3ZjRlNTA1ZWRjOTMyNzRiIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI0NmVjMTRlYzUwOWUwOWFjMjZmZTY4NjJiMTIwNDgxYjJjYzg4MWUyZjE0MmJhNDA4ODZkNmVlYzE1ZTc3ZTgiCi0KLWluaGVyaXQgYXV0b3Rvb2xzCi0KLWRvX2NvbXBpbGUoKSB7Ci0gICAgb2VfcnVubWFrZSBwYXJzZS1lZGlkCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNzU1IHBhcnNlLWVkaWQgJHtEfSR7YmluZGlyfQotfQotCi1QQUNLQUdFUyA9KyAicGFyc2UtZWRpZCIKLUZJTEVTX3BhcnNlLWVkaWQgPSAiJHtiaW5kaXJ9L3BhcnNlLWVkaWQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZWFkLWVkaWQvcmVhZC1lZGlkXzMuMC4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZF8zLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGMyY2FkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZF8zLjAuMi5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIkEgcGFpciBvZiB0b29scyBmb3IgcmVhZGluZyB0aGUgRURJRCBmcm9tIGEgbW9uaXRvciIKK0RFU0NSSVBUSU9OID0gInJlYWQtZWRpZCBpcyBhIHNldCBvZiB0d28gdG9vbHMgLSBnZXQtZWRpZCwgd2hpY2ggZ2V0cyB0aGUgcmF3IFwKKyAgICAgICAgICAgICAgIEVESUQgaW5mb3JtYXRpb24gZnJvbSB0aGUgbW9uaXRvciwgYW5kIHBhcnNlLWVkaWQsIHdoaWNoIHR1cm5zIFwKKwkgICAgICAgdGhlIHJhdyBiaW5hcnkgaW5mb3JtYXRpb24gaW50byBhIHhvcmcuY29uZi1jb21wYXRpYmxlIG1vbml0b3IgXAorCSAgICAgICBzZWN0aW9uLiIKK0FVVEhPUiA9ICJTdGVmYW4gV2llaGxlciA8c3RlZmFuLndpZWhsZXJAbWlzc2luZ2xpbmtlbGVjdHJvbmljcy5jb20+IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5wb2x5cHV4Lm9yZy9wcm9qZWN0cy9yZWFkLWVkaWQvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJyZWFkLWVkaWQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0yOTJjNDJlMmFlZGM0YWY2MzY2MzZiZjdhZjBlMmIyNiIKKworU1JDX1VSSSA9ICJodHRwOi8vcG9seXB1eC5vcmcvcHJvamVjdHMvcmVhZC1lZGlkL3JlYWQtZWRpZC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtaW5zdGFsbC1saWNlbnNlLWZpbGUucGF0Y2ggXAorCSAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMTY1NDZlNDM4YmY2Yzk4NzM5ZmY3NDA2MWRmOTg1NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjN2M2ZDg0NDBmNWI5MGY5OGUyNzY4MjkyNzFjY2VhNWIyZmY1YTM0MTNkZjhhMGY4N2VjMDlmODM0YWYxODZmIgorCitFWFRSQV9PRUNNQUtFID0gIi1EQ0xBU1NJQ0JVSUxEPU9GRiIKKworaW5oZXJpdCBjbWFrZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Fzcy9saWJzYXNzX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Nhc3MvbGlic2Fzc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMyMjljZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Nhc3MvbGlic2Fzc19naXQuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJDL0MrKyBwb3J0IG9mIHRoZSBTYXNzIENTUyBwcmVjb21waWxlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9zYXNzLWxhbmcuY29tL2xpYnNhc3MiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThmMzQzOTZjYTIwNWY1ZTExOWVlNzdhYWU5MWZhMjdkIgorCitpbmhlcml0IGF1dG90b29scworCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2Fzcy9saWJzYXNzLmdpdDticmFuY2g9My41LXN0YWJsZSIKK1NSQ1JFViA9ICIzOWUzMDg3NGI5YTVkZDZhODAyYzIwZThiMDQ3MGJhNDRlZWJhOTI5IgorUyA9ICIke1dPUktESVJ9L2dpdCIKK1BWID0gIjMuNS41IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Nhc3Mvc2Fzc2NfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Fzcy9zYXNzY19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ0YzBjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Nhc3Mvc2Fzc2NfZ2l0LmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAibGlic2FzcyBjb21tYW5kIGxpbmUgZHJpdmVyICIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MmY4YTc2OTgwNDExYTNmMWYxNDgwYjE0MWNlMDY3NDQiCisKK0RFUEVORFMgPSAibGlic2FzcyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3NjLmdpdCIKK1NSQ1JFViA9ICJhYTZkNWM2MzVlYThmYWY0NGQ1NDJhMjNhYWY4NWQyN2U1Nzc3ZDQ4IgorUyA9ICIke1dPUktESVJ9L2dpdCIKK1BWID0gIjMuNS4wIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NhdHlyL3NhdHlyXzAuMjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYXR5ci9zYXR5cl8wLjI2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMDliZWEyLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NhdHlyL3NhdHlyXzAuMjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1ERVNDUklQVElPTiA9ICJTYXR5ciBpcyBhIGNvbGxlY3Rpb24gb2YgbG93LWxldmVsIGFsZ29yaXRobXMgZm9yIHByb2dyYW0gXAotZmFpbHVyZSBwcm9jZXNzaW5nLCBhbmFseXNpcywgYW5kIHJlcG9ydGluZyBzdXBwb3J0aW5nIGtlcm5lbCBzcGFjZSwgdXNlciBcCi1zcGFjZSwgUHl0aG9uLCBhbmQgSmF2YSBwcm9ncmFtcyIKLQotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2FicnQvc2F0eXIiCi1MSUNFTlNFID0gIkdQTHYyIgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcHl0aG9uM25hdGl2ZSBwa2djb25maWcKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2FicnQvc2F0eXIuZ2l0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItZml4LWNvbXBpbGUtZmFpbHVyZS1hZ2FpbnN0LW11c2wtQy1saWJyYXJ5LnBhdGNoIFwKLSIKLVNSQ1JFViA9ICI0YmFhMGM3NjUwNzEwNTQzMTRkMWU3ZTc4NTQ3Y2U2YjdjMTMzZmJjIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi0KLURFUEVORFMgKz0gIiBcCi0gICAgZ2RiIFwKLSIKLQotUEFDS0FHRVMgKz0gInB5dGhvbjMtJHtQTn0iCi1GSUxFU19weXRob24zLSR7UE59ID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyR7QlBOfSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInB5dGhvbjMgcnBtIgotUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICItLXdpdGgtcHl0aG9uMiwgLS13aXRob3V0LXB5dGhvbjIsLHB5dGhvbjIiCi1QQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIi0td2l0aC1weXRob24zLCAtLXdpdGhvdXQtcHl0aG9uMywscHl0aG9uMyIKLVBBQ0tBR0VDT05GSUdbcnBtXSA9ICItLXdpdGgtcnBtLCAtLXdpdGhvdXQtcnBtLCBycG0iCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgICR7U30vZ2VuLXZlcnNpb24KLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NhdHlyL3NhdHlyXzAuMjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYXR5ci9zYXR5cl8wLjI3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwZGZjMmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYXR5ci9zYXR5cl8wLjI3LmJiCkBAIC0wLDAgKzEsMzIgQEAKK0RFU0NSSVBUSU9OID0gIlNhdHlyIGlzIGEgY29sbGVjdGlvbiBvZiBsb3ctbGV2ZWwgYWxnb3JpdGhtcyBmb3IgcHJvZ3JhbSBcCitmYWlsdXJlIHByb2Nlc3NpbmcsIGFuYWx5c2lzLCBhbmQgcmVwb3J0aW5nIHN1cHBvcnRpbmcga2VybmVsIHNwYWNlLCB1c2VyIFwKK3NwYWNlLCBQeXRob24sIGFuZCBKYXZhIHByb2dyYW1zIgorCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vYWJydC9zYXR5ciIKK0xJQ0VOU0UgPSAiR1BMdjIiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBweXRob24zbmF0aXZlIHBrZ2NvbmZpZworCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYWJydC9zYXR5ci5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1maXgtY29tcGlsZS1mYWlsdXJlLWFnYWluc3QtbXVzbC1DLWxpYnJhcnkucGF0Y2ggXAorIgorU1JDUkVWID0gImRmZjFiODc3ZDQyYmYyMTUzZjhmMDkwOTA1ZDljYzhmYjMzM2JmMWUiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworREVQRU5EUyArPSAiIFwKKyAgICBnZGIgXAorIgorCitQQUNLQUdFUyArPSAicHl0aG9uMy0ke1BOfSIKK0ZJTEVTX3B5dGhvbjMtJHtQTn0gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vJHtCUE59IgorCitQQUNLQUdFQ09ORklHID8/PSAicHl0aG9uMyBycG0iCitQQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIi0td2l0aC1weXRob24yLCAtLXdpdGhvdXQtcHl0aG9uMiwscHl0aG9uMiIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS13aXRoLXB5dGhvbjMsIC0td2l0aG91dC1weXRob24zLCxweXRob24zIgorUEFDS0FHRUNPTkZJR1tycG1dID0gIi0td2l0aC1ycG0sIC0td2l0aG91dC1ycG0sIHJwbSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgJHtTfS9nZW4tdmVyc2lvbgorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlscy9nbGliYy0yLjI4LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlscy9nbGliYy0yLjI4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYmFkNDEzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NnMy11dGlscy9zZzMtdXRpbHMvZ2xpYmMtMi4yOC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLUZpeGVzOgotaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzE4NTg5Ni8KLQotVE9QRElSL3RtcC1nbGliYy93b3JrL2NvcmUyLTY0LW9lLWxpbnV4L3NnMy11dGlscy8xLjQyLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3IvYmluL3g4Nl82NC1vZS1saW51eC8uLi8uLi9saWJleGVjL3g4Nl82NC1vZS1saW51eC9nY2MveDg2XzY0LW9lLWxpbnV4LzguMi4wL2xkOiBzZ19tYXAyNi5vOiBpbiBmdW5jdGlvbiBgbmRfbWF0Y2hfc2NhbmRpcl9zZWxlY3QnOgotL3Vzci9zcmMvZGVidWcvc2czLXV0aWxzLzEuNDItcjAvc2czX3V0aWxzLTEuNDIvc3JjL3NnX21hcDI2LmM6MzU5OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBtYWpvcicKLVRPUERJUi90bXAtZ2xpYmMvd29yay9jb3JlMi02NC1vZS1saW51eC9zZzMtdXRpbHMvMS40Mi1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL2Jpbi94ODZfNjQtb2UtbGludXgvLi4vLi4vbGliZXhlYy94ODZfNjQtb2UtbGludXgvZ2NjL3g4Nl82NC1vZS1saW51eC84LjIuMC9sZDogL3Vzci9zcmMvZGVidWcvc2czLXV0aWxzLzEuNDItcjAvc2czX3V0aWxzLTEuNDIvc3JjL3NnX21hcDI2LmM6MzYxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBtaW5vcicKLVRPUERJUi90bXAtZ2xpYmMvd29yay9jb3JlMi02NC1vZS1saW51eC9zZzMtdXRpbHMvMS40Mi1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL2Jpbi94ODZfNjQtb2UtbGludXgvLi4vLi4vbGliZXhlYy94ODZfNjQtb2UtbGludXgvZ2NjL3g4Nl82NC1vZS1saW51eC84LjIuMC9sZDogc2dfbWFwMjYubzogaW4gZnVuY3Rpb24gYG50X3R5cF9mcm9tX2ZpbGVuYW1lJzoKLS91c3Ivc3JjL2RlYnVnL3NnMy11dGlscy8xLjQyLXIwL3NnM191dGlscy0xLjQyL3NyYy9zZ19tYXAyNi5jOjIxODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbWFqb3InCi1UT1BESVIvdG1wLWdsaWJjL3dvcmsvY29yZTItNjQtb2UtbGludXgvc2czLXV0aWxzLzEuNDItcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9iaW4veDg2XzY0LW9lLWxpbnV4Ly4uLy4uL2xpYmV4ZWMveDg2XzY0LW9lLWxpbnV4L2djYy94ODZfNjQtb2UtbGludXgvOC4yLjAvbGQ6IC91c3Ivc3JjL2RlYnVnL3NnMy11dGlscy8xLjQyLXIwL3NnM191dGlscy0xLjQyL3NyYy9zZ19tYXAyNi5jOjIxOTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbWlub3InCi1jb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKLU1ha2VmaWxlOjgwNjogcmVjaXBlIGZvciB0YXJnZXQgJ3NnX21hcDI2JyBmYWlsZWQKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLS0tLSBzZzNfdXRpbHMtMS40Mi5vcmlnL3NyYy9zZ19tYXAyNi5jCTIwMTgtMDgtMDkgMTE6NTM6MjYuOTA3NDkzOTk2ICswMDAwCi0rKysgc2czX3V0aWxzLTEuNDIvc3JjL3NnX21hcDI2LmMJMjAxOC0wOC0wOSAxMTo1MTo1Ni43MTM0OTA3NjMgKzAwMDAKLUBAIC0zMyw2ICszMyw3IEBACi0gI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgotIAotICNpZmRlZiBIQVZFX0NPTkZJR19ICmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZzMtdXRpbHMvc2czLXV0aWxzXzEuNDIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZzMtdXRpbHMvc2czLXV0aWxzXzEuNDIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzN2M1ZTkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlsc18xLjQyLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotU1VNTUFSWSA9ICJVdGlsaXRpZXMgZm9yIHdvcmtpbmcgd2l0aCBnZW5lcmljIFNDU0kgZGV2aWNlcyIKLQotREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIGNvbnRhaW5zIGxvdyBsZXZlbCB1dGlsaXRpZXMgZm9yIGRldmljZXMgdGhhdCB1c2UgdGhlIFNDU0kgY29tbWFuZCBzZXQiCi0KLUhPTUVQQUdFID0gImh0dHA6Ly9zZy5kYW5ueS5jei9zZy9zZzNfdXRpbHMuaHRtbCIKLVNFQ1RJT04gPSAiY29uc29sZS9hZG1pbiIKLQotTElDRU5TRSA9ICJHUEx2MisgJiBCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mOTBkYTdmYzUyMTcyNTk5ZGJmMDgyZDc2MjBmMThjYSIKLQotU1JDX1VSSSA9ICJodHRwOi8vc2cuZGFubnkuY3ovc2cvcC9zZzNfdXRpbHMtJHtQVn0udGd6IFwKLSAgICBmaWxlOi8vZ2xpYmMtMi4yOC5wYXRjaCBcCi0iCi1NSVJST1JTICs9ICJodHRwOi8vc2cuZGFubnkuY3ovc2cvcCBodHRwczovL2Zvc3NpZXMub3JnL2xpbnV4L21pc2MiCi0KLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gInNnM191dGlscy0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRneiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjI4MDgwZGU1YmYyMjIyZjhiNTVhMjkwOTNiZWM4YWVhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFkY2I3YTAzMDliZDBiYTNkNGE4M2FjYjUyNjk3M2I4MDEwNmVlMjZjZDlmNzM5ODE4NmNkM2YwNjMzYzllZjMiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAotCi1TID0gIiR7V09SS0RJUn0vc2czX3V0aWxzLSR7UFZ9IgotCi1SREVQRU5EU18ke1BOfSArPSAiYmFzaCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NnMy11dGlscy9zZzMtdXRpbHNfMS40NC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NnMy11dGlscy9zZzMtdXRpbHNfMS40NC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTA5MDM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlsc18xLjQ0LmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiVXRpbGl0aWVzIGZvciB3b3JraW5nIHdpdGggZ2VuZXJpYyBTQ1NJIGRldmljZXMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBjb250YWlucyBsb3cgbGV2ZWwgdXRpbGl0aWVzIGZvciBkZXZpY2VzIHRoYXQgdXNlIHRoZSBTQ1NJIGNvbW1hbmQgc2V0IgorCitIT01FUEFHRSA9ICJodHRwOi8vc2cuZGFubnkuY3ovc2cvc2czX3V0aWxzLmh0bWwiCitTRUNUSU9OID0gImNvbnNvbGUvYWRtaW4iCisKK0xJQ0VOU0UgPSAiR1BMdjIrICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjkwZGE3ZmM1MjE3MjU5OWRiZjA4MmQ3NjIwZjE4Y2EiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NnLmRhbm55LmN6L3NnL3Avc2czX3V0aWxzLSR7UFZ9LnRneiBcCisiCitNSVJST1JTICs9ICJodHRwOi8vc2cuZGFubnkuY3ovc2cvcCBodHRwczovL2Zvc3NpZXMub3JnL2xpbnV4L21pc2MiCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInNnM191dGlscy0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRneiIKKworU1JDX1VSSVttZDVzdW1dID0gImMxMWQyYjNjYTRjYzJmZDAxNzk2NDczZTUzMzBhZmVkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhkYWU2ODRkMjJlNzFiMTEzNTNhNDhiMTZjOTU1OTdhZjkwZjBjYmU5YmJkNTdmOThkN2Y1NTQ0ZGE1Y2FlN2IiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitTID0gIiR7V09SS0RJUn0vc2czX3V0aWxzLSR7UFZ9IgorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NoYXJ1dGlscy9zaGFydXRpbHNfNC4xNS4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlsc180LjE1LjIuYmIKaW5kZXggYzEyMjg5Yi4uZGNhNDI2NyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlsc180LjE1LjIuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlsc180LjE1LjIuYmIKQEAgLTIwLDMgKzIwLDUgQEAKICAgICAgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgJHtEfSR7bGliZGlyfQogICAgIGZpCiB9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NwZGxvZy9zcGRsb2dfMS4zLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcGRsb2cvc3BkbG9nXzEuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxZTNmNjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcGRsb2cvc3BkbG9nXzEuMy4xLmJiCkBAIC0wLDAgKzEsMTkgQEAKK0RFU0NSSVBUSU9OID0gIlZlcnkgZmFzdCwgaGVhZGVyIG9ubHksIEMrKyBsb2dnaW5nIGxpYnJhcnkuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2dhYmltZS9zcGRsb2cvd2lraSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvTUlUO21kNT0wODM1YWRlNjk4ZTBiY2Y4NTA2ZWNkYTJmN2I0ZjMwMiIKKworU1JDUkVWID0gImE3MTQ4YjcxOGVhMmZhYmI4Mzg3Y2I5MGFlZTliZjQ0OGRhNjNlNjUiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZ2FiaW1lL3NwZGxvZy5naXQ7cHJvdG9jb2w9Z2l0O2JyYW5jaD12MS54OyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisjIG5vIG5lZWQgdG8gYnVpbGQgZXhhbXBsZSZ0ZXh0JmJlbmNobWFya3Mgb24gcHVyZSB5b2N0bworRVhUUkFfT0VDTUFLRSArPSAiLURTUERMT0dfSU5TVEFMTD1vbiAtRFNQRExPR19CVUlMRF9FWEFNUExFUz1vZmYgLURTUERMT0dfQlVJTERfVEVTVFM9b2ZmIC1EU1BETE9HX0JVSUxEX0JFTkNIPW9mZiIKKworaW5oZXJpdCBjbWFrZQorCisjIEhlYWRlci1vbmx5IGxpYnJhcnkKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCitSUkVDT01NRU5EU18ke1BOfS1kYmcgPSAiJHtQTn0tZGV2ICg9ICR7RVhURU5EUEtHVn0pIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwMS1BZGQtbGludXgtbXVzbGVhYmktdG8tb3N0YWJsZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDEtQWRkLWxpbnV4LW11c2xlYWJpLXRvLW9zdGFibGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2OTQ0MWYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwMS1BZGQtbGludXgtbXVzbGVhYmktdG8tb3N0YWJsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gMDg3ODQwZWZkYmM4NmIxNDMyZWJkZDgxZjI1YjRjYjc4Yzc1ZjgxOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDExIFNlcCAyMDE4IDEyOjI4OjEwIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFkZCBsaW51eC1tdXNsZWFiaSB0byBvc3RhYmxlCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIG9zdGFibGUgICAgICB8IDEgKwotIHRyaXBsZXR0YWJsZSB8IDEgKwotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9vc3RhYmxlIGIvb3N0YWJsZQotaW5kZXggM2JiNjgxOS4uZDBmZmRjNyAxMDA2NDQKLS0tLSBhL29zdGFibGUKLSsrKyBiL29zdGFibGUKLUBAIC0xNSw2ICsxNSw3IEBACi0gdWNsaWJjZWFiaS1saW51eAlsaW51eC11Y2xpYmNlYWJpCWxpbnV4W14tXSotdWNsaWJjZWFiaQotIHVjbGliYy1saW51eAkJbGludXgtdWNsaWJjCQlsaW51eFteLV0qLXVjbGliYwotIG11c2xlYWJpaGYtbGludXgJbGludXgtbXVzbGVhYmloZglsaW51eFteLV0qLW11c2xlYWJpaGYKLSttdXNsZWFiaS1saW51eAkJbGludXgtbXVzbGVhYmkJCWxpbnV4W14tXSotbXVzbGVhYmkKLSBtdXNsLWxpbnV4CQlsaW51eC1tdXNsCQlsaW51eFteLV0qLW11c2wKLSBnbnVlYWJpaGYtbGludXgJCWxpbnV4LWdudWVhYmloZgkJbGludXhbXi1dKi1nbnVlYWJpaGYKLSBnbnVlYWJpLWxpbnV4CQlsaW51eC1nbnVlYWJpCQlsaW51eFteLV0qLWdudWVhYmkKLWRpZmYgLS1naXQgYS90cmlwbGV0dGFibGUgYi90cmlwbGV0dGFibGUKLWluZGV4IDcyNTc3NDQuLjQ1ODY0YzMgMTAwNjQ0Ci0tLS0gYS90cmlwbGV0dGFibGUKLSsrKyBiL3RyaXBsZXR0YWJsZQotQEAgLTYsNiArNiw3IEBACi0gdWNsaWJjZWFiaS1saW51eC1hcm0JdWNsaWJjLWxpbnV4LWFybWVsCi0gdWNsaWJjLWxpbnV4LTxjcHU+CXVjbGliYy1saW51eC08Y3B1PgotIG11c2xlYWJpaGYtbGludXgtYXJtCW11c2wtbGludXgtYXJtaGYKLSttdXNsZWFiaS1saW51eC1hcm0JbXVzbC1saW51eC1hcm0KLSBtdXNsLWxpbnV4LTxjcHU+CW11c2wtbGludXgtPGNwdT4KLSBnbnVlYWJpaGYtbGludXgtYXJtCWFybWhmCi0gZ251ZWFiaS1saW51eC1hcm0JYXJtZWwKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDEtZHBrZy1TdXBwb3J0LW11c2x4MzItYnVpbGQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDAxLWRwa2ctU3VwcG9ydC1tdXNseDMyLWJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwZTY4OTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDAxLWRwa2ctU3VwcG9ydC1tdXNseDMyLWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gYTMyOGM4YmVjMGJmODA3MWFlOGYyMGZlZTRjNzQ3NTIwNTA2NGJhMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IHN3ZWVhdW4gPHN3ZWUuYXVuLmtob3JAaW50ZWwuY29tPgorRGF0ZTogU3VuLCAxMCBTZXAgMjAxNyAwMDoxNDoxNSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBkcGtnOiBTdXBwb3J0IG11c2x4MzIgYnVpbGQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nLgorQ2hhbmdlcyBtYWRlIG9uIG9zdGFibGUgYW5kIHR1cGxldGFibGUgdG8gZW5hYmxlIG11c2x4MzIgYnVpbGQuCisKK1NpZ25lZC1vZmYtYnk6IHN3ZWVhdW4gPHN3ZWUuYXVuLmtob3JAaW50ZWwuY29tPgorLS0tCisgZGF0YS9vc3RhYmxlICAgIHwgMSArCisgZGF0YS90dXBsZXRhYmxlIHwgMSArCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2RhdGEvb3N0YWJsZSBiL2RhdGEvb3N0YWJsZQoraW5kZXggYmU2NDM0Mi4uODdkYjI3MyAxMDA2NDQKKy0tLSBhL2RhdGEvb3N0YWJsZQorKysrIGIvZGF0YS9vc3RhYmxlCitAQCAtMTksNiArMTksNyBAQCBiYXNlLXVjbGliYy1saW51eAlsaW51eC11Y2xpYmMJCWxpbnV4W14tXSotdWNsaWJjCisgZWFiaWhmLW11c2wtbGludXgJbGludXgtbXVzbGVhYmloZglsaW51eFteLV0qLW11c2xlYWJpaGYKKyBlYWJpLW11c2wtbGludXgJCWxpbnV4LW11c2xlYWJpCQlsaW51eFteLV0qLW11c2xlYWJpCisgYmFzZS1tdXNsLWxpbnV4CQlsaW51eC1tdXNsCQlsaW51eFteLV0qLW11c2wKKyt4MzItbXVzbC1saW51eAkJbGludXgtbXVzbHgzMgkJbGludXhbXi1dKi1tdXNseDMyCisgZWFiaWhmLWdudS1saW51eAlsaW51eC1nbnVlYWJpaGYJCWxpbnV4W14tXSotZ251ZWFiaWhmCisgZWFiaS1nbnUtbGludXgJCWxpbnV4LWdudWVhYmkJCWxpbnV4W14tXSotZ251ZWFiaQorIGFiaW4zMi1nbnUtbGludXgJbGludXgtZ251YWJpbjMyCQlsaW51eFteLV0qLWdudWFiaW4zMgorZGlmZiAtLWdpdCBhL2RhdGEvdHVwbGV0YWJsZSBiL2RhdGEvdHVwbGV0YWJsZQoraW5kZXggMjhmMDBiZi4uNzQ4ZmZhYiAxMDA2NDQKKy0tLSBhL2RhdGEvdHVwbGV0YWJsZQorKysrIGIvZGF0YS90dXBsZXRhYmxlCitAQCAtMTAsNiArMTAsNyBAQCBiYXNlLXVjbGliYy1saW51eC08Y3B1PgkJdWNsaWJjLWxpbnV4LTxjcHU+CisgZWFiaWhmLW11c2wtbGludXgtYXJtCQltdXNsLWxpbnV4LWFybWhmCisgZWFiaS1tdXNsLWxpbnV4LWFybQkJbXVzbC1saW51eC1hcm1lbAorIGJhc2UtbXVzbC1saW51eC08Y3B1PgkJbXVzbC1saW51eC08Y3B1PgorK3gzMi1tdXNsLWxpbnV4LWFtZDY0CQl4MzIKKyBpbHAzMi1nbnUtbGludXgtYXJtNjQJCWFybTY0aWxwMzIKKyBlYWJpaGYtZ251LWxpbnV4LWFybQkJYXJtaGYKKyBlYWJpLWdudS1saW51eC1hcm0JCWFybWVsCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDItQWRhcHQtdG8tbGludXgtd3JzLWtlcm5lbC12ZXJzaW9uLXdoaWNoLWhhcy1jaGFyYWN0ZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDItQWRhcHQtdG8tbGludXgtd3JzLWtlcm5lbC12ZXJzaW9uLXdoaWNoLWhhcy1jaGFyYWN0ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZmUwY2E3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwMi1BZGFwdC10by1saW51eC13cnMta2VybmVsLXZlcnNpb24td2hpY2gtaGFzLWNoYXJhY3RlLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gYjRlYTU0MTU4YzM5OTg3NGUxMjM5NGViYzkxYWZlOTg5NTQ2OTVlMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyNiBBdWcgMjAxNSAxNjoxNjoxNiArMDMwMAorU3ViamVjdDogW1BBVENIIDIvNV0gQWRhcHQgdG8gbGludXgtd3JzIGtlcm5lbCB2ZXJzaW9uLCB3aGljaCBoYXMgY2hhcmFjdGVyCisgJ18nIGluc2lkZS4gUmVtb3ZlIHRoZSBmaXJzdC1jaGFyLWRpZ2l0LWNoZWNrIChhcyB0aGUgMS4xNS44LjUgdmVyc2lvbiBkb2VzKS4KKworU2lnbmVkLW9mZi1ieTogRG9uZ3hpYW8gWHUgPGRvbmd4aWFvLnh1QGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IENvbnN0YW50aW4gTXVzY2EgPGNvbnN0YW50aW54Lm11c2NhQGludGVsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKy0tLQorIGxpYi9kcGtnL3BhcnNlaGVscC5jIHwgNiArKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL2Rwa2cvcGFyc2VoZWxwLmMgYi9saWIvZHBrZy9wYXJzZWhlbHAuYworaW5kZXggNDUzMDc3ZmQ5Li5mNDJlYTI4ODIgMTAwNjQ0CistLS0gYS9saWIvZHBrZy9wYXJzZWhlbHAuYworKysrIGIvbGliL2Rwa2cvcGFyc2VoZWxwLmMKK0BAIC0yNDMsMTQgKzI0MywxMiBAQCBwYXJzZXZlcnNpb24oc3RydWN0IGRwa2dfdmVyc2lvbiAqcnZlcnNpb24sIGNvbnN0IGNoYXIgKnN0cmluZywKKyAgIHB0ciA9IHJ2ZXJzaW9uLT52ZXJzaW9uOworICAgaWYgKCEqcHRyKQorICAgICByZXR1cm4gZHBrZ19wdXRfZXJyb3IoZXJyLCBfKCJ2ZXJzaW9uIG51bWJlciBpcyBlbXB0eSIpKTsKKy0gIGlmICgqcHRyICYmICFjX2lzZGlnaXQoKnB0cisrKSkKKy0gICAgcmV0dXJuIGRwa2dfcHV0X3dhcm4oZXJyLCBfKCJ2ZXJzaW9uIG51bWJlciBkb2VzIG5vdCBzdGFydCB3aXRoIGRpZ2l0IikpOworICAgZm9yICg7ICpwdHI7IHB0cisrKSB7CistICAgIGlmICghY19pc2RpZ2l0KCpwdHIpICYmICFjX2lzYWxwaGEoKnB0cikgJiYgc3RyY2hyKCIuLSt+OiIsICpwdHIpID09IE5VTEwpCisrICAgIGlmICghY19pc2RpZ2l0KCpwdHIpICYmICFjX2lzYWxwaGEoKnB0cikgJiYgc3RyY2hyKCIuLSt+Ol8iLCAqcHRyKSA9PSBOVUxMKQorICAgICAgIHJldHVybiBkcGtnX3B1dF93YXJuKGVyciwgXygiaW52YWxpZCBjaGFyYWN0ZXIgaW4gdmVyc2lvbiBudW1iZXIiKSk7CisgICB9CisgICBmb3IgKHB0ciA9IHJ2ZXJzaW9uLT5yZXZpc2lvbjsgKnB0cjsgcHRyKyspIHsKKy0gICAgaWYgKCFjX2lzZGlnaXQoKnB0cikgJiYgIWNfaXNhbHBoYSgqcHRyKSAmJiBzdHJjaHIoIi4rfiIsICpwdHIpID09IE5VTEwpCisrICAgIGlmICghY19pc2RpZ2l0KCpwdHIpICYmICFjX2lzYWxwaGEoKnB0cikgJiYgc3RyY2hyKCIuLSt+XyIsICpwdHIpID09IE5VTEwpCisgICAgICAgcmV0dXJuIGRwa2dfcHV0X3dhcm4oZXJyLCBfKCJpbnZhbGlkIGNoYXJhY3RlciBpbiByZXZpc2lvbiBudW1iZXIiKSk7CisgICB9CisgCisKKy0tIAorMi4xMS4wCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDAzLU91ci1wcmUtcG9zdGluc3RzLWV4cGVjdC1ELXRvLWJlLXNldC13aGVuLXJ1bm5pbmctaW4ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDAzLU91ci1wcmUtcG9zdGluc3RzLWV4cGVjdC1ELXRvLWJlLXNldC13aGVuLXJ1bm5pbmctaW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNkODcwNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDMtT3VyLXByZS1wb3N0aW5zdHMtZXhwZWN0LUQtdG8tYmUtc2V0LXdoZW4tcnVubmluZy1pbi5wYXRjaApAQCAtMCwwICsxLDc1IEBACitGcm9tIDI0MjI5OTcxNDkyNTE1YjY0YzgxZThjNjM5MmU1ZGZiZGMyMmI0NGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjYgQXVnIDIwMTUgMTY6MjU6NDUgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzVdIE91ciBwcmUvcG9zdGluc3RzIGV4cGVjdCAkRCB0byBiZSBzZXQgd2hlbiBydW5uaW5nIGluIGEKKyBzeXNyb290IGFuZCBkb24ndCBleHBlY3QgYSBjaHJvb3QuIFRoaXMgbWF0Y2hlcyB1cCBvdXIgc3lzdGVtIGV4cGVjdGF0aW9ucworIHdpdGggd2hhdCBkcGtnIGRvZXMuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UgU3BlY2lmaWNdCisKK1JQIDIwMTEvMTIvMDcKK0FMSU1PTiAyMDE2LzA1LzI2CitBTElNT04gMjAxNy8wMi8yMQorLS0tCisgc3JjL3NjcmlwdC5jIHwgNDQgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9zY3JpcHQuYyBiL3NyYy9zY3JpcHQuYworaW5kZXggMmYyNTJhZS4uNzY4YTlkMSAxMDA2NDQKKy0tLSBhL3NyYy9zY3JpcHQuYworKysrIGIvc3JjL3NjcmlwdC5jCitAQCAtOTcsNDggKzk3LDEwIEBAIHNldGV4ZWN1dGUoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKnN0YWIpCisgc3RhdGljIGNvbnN0IGNoYXIgKgorIG1haW50c2NyaXB0X3ByZV9leGVjKHN0cnVjdCBjb21tYW5kICpjbWQpCisgeworLQljb25zdCBjaGFyICphZG1pbmRpciA9IGRwa2dfZGJfZ2V0X2RpcigpOworLQljb25zdCBjaGFyICpjaGFuZ2VkaXI7CistCXNpemVfdCBpbnN0ZGlybGVuID0gc3RybGVuKGluc3RkaXIpOworLQorLQlpZiAoaW5zdGRpcmxlbiA+IDAgJiYgZmNfc2NyaXB0X2Nocm9vdGxlc3MpCistCQljaGFuZ2VkaXIgPSBpbnN0ZGlyOworLQllbHNlCistCQljaGFuZ2VkaXIgPSAiLyI7CistCistCWlmIChpbnN0ZGlybGVuID4gMCAmJiAhZmNfc2NyaXB0X2Nocm9vdGxlc3MpIHsKKy0JCWlmIChzdHJuY21wKGFkbWluZGlyLCBpbnN0ZGlyLCBpbnN0ZGlybGVuKSAhPSAwKQorLQkJCW9oc2hpdChfKCJhZG1pbmRpciBtdXN0IGJlIGluc2lkZSBpbnN0ZGlyIGZvciBkcGtnIHRvIHdvcmsgcHJvcGVybHkiKSk7CistCQlpZiAoc2V0ZW52KCJEUEtHX0FETUlORElSIiwgYWRtaW5kaXIgKyBpbnN0ZGlybGVuLCAxKSA8IDApCistCQkJb2hzaGl0ZShfKCJ1bmFibGUgdG8gc2V0ZW52IGZvciBzdWJwcm9jZXNzZXMiKSk7CistCQlpZiAoc2V0ZW52KCJEUEtHX1JPT1QiLCAiIiwgMSkgPCAwKQorLQkJCW9oc2hpdGUoXygidW5hYmxlIHRvIHNldGVudiBmb3Igc3VicHJvY2Vzc2VzIikpOworLQorLQkJaWYgKGNocm9vdChpbnN0ZGlyKSkKKy0JCQlvaHNoaXRlKF8oImZhaWxlZCB0byBjaHJvb3QgdG8gJyUuMjUwcyciKSwgaW5zdGRpcik7CisrCWlmICgqaW5zdGRpcikgeworKwkJc2V0ZW52KCJEIiwgaW5zdGRpciwgMSk7CisgCX0KKy0JLyogU3dpdGNoIHRvIGEga25vd24gZ29vZCBkaXJlY3RvcnkgdG8gZ2l2ZSB0aGUgbWFpbnRhaW5lciBzY3JpcHQKKy0JICogYSBzYW5lciBlbnZpcm9ubWVudCwgYWxzbyBuZWVkZWQgYWZ0ZXIgdGhlIGNocm9vdCgpLiAqLworLQlpZiAoY2hkaXIoY2hhbmdlZGlyKSkKKy0JCW9oc2hpdGUoXygiZmFpbGVkIHRvIGNoZGlyIHRvICclLjI1NXMnIiksIGNoYW5nZWRpcik7CistCWlmIChkZWJ1Z19oYXNfZmxhZyhkYmdfc2NyaXB0cykpIHsKKy0JCXN0cnVjdCB2YXJidWYgYXJncyA9IFZBUkJVRl9JTklUOworLQkJY29uc3QgY2hhciAqKmFyZ3YgPSBjbWQtPmFyZ3Y7CistCistCQl3aGlsZSAoKisrYXJndikgeworLQkJCXZhcmJ1Zl9hZGRfY2hhcigmYXJncywgJyAnKTsKKy0JCQl2YXJidWZfYWRkX3N0cigmYXJncywgKmFyZ3YpOworLQkJfQorLQkJdmFyYnVmX2VuZF9zdHIoJmFyZ3MpOworLQkJZGVidWcoZGJnX3NjcmlwdHMsICJmb3JrL2V4ZWMgJXMgKCVzICkiLCBjbWQtPmZpbGVuYW1lLAorLQkJICAgICAgYXJncy5idWYpOworLQkJdmFyYnVmX2Rlc3Ryb3koJmFyZ3MpOworLQl9CistCWlmIChpbnN0ZGlybGVuID09IDAgfHwgZmNfc2NyaXB0X2Nocm9vdGxlc3MpCistCQlyZXR1cm4gY21kLT5maWxlbmFtZTsKKy0KKy0JYXNzZXJ0KHN0cmxlbihjbWQtPmZpbGVuYW1lKSA+PSBpbnN0ZGlybGVuKTsKKy0JcmV0dXJuIGNtZC0+ZmlsZW5hbWUgKyBpbnN0ZGlybGVuOworKwlyZXR1cm4gY21kLT5maWxlbmFtZTsKKyB9CisgCisgLyoqCistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDQtVGhlLWx1dGltZXMtZnVuY3Rpb24tZG9lc24tdC13b3JrLXByb3Blcmx5LWZvci1hbGwtcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDQtVGhlLWx1dGltZXMtZnVuY3Rpb24tZG9lc24tdC13b3JrLXByb3Blcmx5LWZvci1hbGwtcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NmM4NWM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwNC1UaGUtbHV0aW1lcy1mdW5jdGlvbi1kb2Vzbi10LXdvcmstcHJvcGVybHktZm9yLWFsbC1zLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gYWRiNmJmZDBmZWVjZWFmMDMwZGYwZGViZTMzNDNkN2Y3M2U3MDhhMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyNiBBdWcgMjAxNSAxNjoyNzo0NSArMDMwMAorU3ViamVjdDogW1BBVENIIDQvNV0gVGhlIGx1dGltZXMgZnVuY3Rpb24gZG9lc24ndCB3b3JrIHByb3Blcmx5IGZvciBhbGwKKyBzeXN0ZW1zLgorCitTaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCistLS0KKyBzcmMvYXJjaGl2ZXMuYyB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2FyY2hpdmVzLmMgYi9zcmMvYXJjaGl2ZXMuYworaW5kZXggYmZmNWYxNC4uYjcxMTAxMyAxMDA2NDQKKy0tLSBhL3NyYy9hcmNoaXZlcy5jCisrKysgYi9zcmMvYXJjaGl2ZXMuYworQEAgLTQ0OSw4ICs0NDksOSBAQCB0YXJvYmplY3Rfc2V0X210aW1lKHN0cnVjdCB0YXJfZW50cnkgKnRlLCBjb25zdCBjaGFyICpwYXRoKQorIAorICAgaWYgKHRlLT50eXBlID09IFRBUl9GSUxFVFlQRV9TWU1MSU5LKSB7CisgI2lmZGVmIEhBVkVfTFVUSU1FUworLSAgICBpZiAobHV0aW1lcyhwYXRoLCB0dikgJiYgZXJybm8gIT0gRU5PU1lTKQorKy8qICAgIGlmIChsdXRpbWVzKHBhdGgsIHR2KSAmJiBlcnJubyAhPSBFTk9TWVMpCisgICAgICAgb2hzaGl0ZShfKCJlcnJvciBzZXR0aW5nIHRpbWVzdGFtcHMgb2YgJyUuMjU1cyciKSwgcGF0aCk7CisrKi8KKyAjZW5kaWYKKyAgIH0gZWxzZSB7CisgICAgIGlmICh1dGltZXMocGF0aCwgdHYpKQorLS0gCisyLjEuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDA1LWRwa2ctY29tcGlsZXIubTQtcmVtb3ZlLVd2bGEucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDA1LWRwa2ctY29tcGlsZXIubTQtcmVtb3ZlLVd2bGEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZlOTZmMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDUtZHBrZy1jb21waWxlci5tNC1yZW1vdmUtV3ZsYS5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDBhZDdiYmE4MGQ1YjkwMzUwODlmZjJiMmY3N2E3NzRiNWIyMDE5MTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjYgQXVnIDIwMTUgMTY6Mjg6NTkgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCA1LzVdIGRwa2ctY29tcGlsZXIubTQ6IHJlbW92ZSAtV3ZsYQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSZW1vdmUgdGhlIC1XdmxhIGZsYWcgZnJvbSB0aGUgc2V0IG9mIGNvbXBpbGVyIHdhcm5pbmcgZmxhZ3MsIHNpbmNlIGdjYworb24gb2xkIGhvc3Qgc3lzdGVtcyBzdWNoIGFzIENlbnRPUyA1LjggZG9lc24ndCBzdXBwb3J0IGl0LCBhbmQgaXQKK2NhdXNlcyBhIGJ1aWxkIGVycm9yIGZvciBkcGtnLW5hdGl2ZS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IERvbm4gU2VlbGV5IDxkb25uLnNlZWxleUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBBbsOtYmFsIExpbcOzbiA8YW5pYmFsLmxpbW9uQGxpbnV4LmludGVsLmNvbT4KKy0tLQorIG00L2Rwa2ctY29tcGlsZXIubTQgfCAxIC0KKyAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbTQvZHBrZy1jb21waWxlci5tNCBiL200L2Rwa2ctY29tcGlsZXIubTQKK2luZGV4IDY4Mjg1N2MuLjIzZWQ3ZDAgMTAwNjQ0CistLS0gYS9tNC9kcGtnLWNvbXBpbGVyLm00CisrKysgYi9tNC9kcGtnLWNvbXBpbGVyLm00CitAQCAtNTIsNyArNTIsNiBAQCBBQ19ERUZVTihbRFBLR19DSEVDS19DT01QSUxFUl9XQVJOSU5HU10sIFsKKyAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVdsb2dpY2FsLW9wXSkKKyAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVdsb2dpY2FsLW5vdC1wYXJlbnRoZXNlc10pCisgICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1Xc3dpdGNoLWJvb2xdKQorLSAgRFBLR19DSEVDS19DT01QSUxFUl9GTEFHKFstV3ZsYV0pCisgICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1XaW5pdC1zZWxmXSkKKyAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVd3cml0ZS1zdHJpbmdzXSkKKyAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVdjYXN0LWFsaWduXSkKKy0tIAorMi4xLjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwNi1hZGQtbXVzbGVhYmktdG8ta25vd24tdGFyZ2V0LXRyaXBldHMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDA2LWFkZC1tdXNsZWFiaS10by1rbm93bi10YXJnZXQtdHJpcGV0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Nzk3ZWE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwNi1hZGQtbXVzbGVhYmktdG8ta25vd24tdGFyZ2V0LXRyaXBldHMucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSBmODkxMDAyMmRjM2VjNjIyMjcyZjE2OGNkMDAyMmRiZGY2ZGZmOTNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMzAgRGVjIDIwMTUgMjM6MDU6NDEgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gYWRkIG11c2xlYWJpIHRvIGtub3duIHRhcmdldCB0cmlwZXRzCisKK2hlbHBzIGNvbXBpbGluZyBkcGtnIGZvciBtdXNsL2FybS1zb2Z0ZmxvYXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CistLS0KKyBkYXRhL29zdGFibGUgICAgfCAxICsKKyBkYXRhL3R1cGxldGFibGUgfCAxICsKKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZGF0YS9vc3RhYmxlIGIvZGF0YS9vc3RhYmxlCitpbmRleCA5OWMxZjg4OWQuLmJlNjQzNDI3MSAxMDA2NDQKKy0tLSBhL2RhdGEvb3N0YWJsZQorKysrIGIvZGF0YS9vc3RhYmxlCitAQCAtMTcsNiArMTcsNyBAQAorIGVhYmktdWNsaWJjLWxpbnV4CWxpbnV4LXVjbGliY2VhYmkJbGludXhbXi1dKi11Y2xpYmNlYWJpCisgYmFzZS11Y2xpYmMtbGludXgJbGludXgtdWNsaWJjCQlsaW51eFteLV0qLXVjbGliYworIGVhYmloZi1tdXNsLWxpbnV4CWxpbnV4LW11c2xlYWJpaGYJbGludXhbXi1dKi1tdXNsZWFiaWhmCisrZWFiaS1tdXNsLWxpbnV4CQlsaW51eC1tdXNsZWFiaQkJbGludXhbXi1dKi1tdXNsZWFiaQorIGJhc2UtbXVzbC1saW51eAkJbGludXgtbXVzbAkJbGludXhbXi1dKi1tdXNsCisgZWFiaWhmLWdudS1saW51eAlsaW51eC1nbnVlYWJpaGYJCWxpbnV4W14tXSotZ251ZWFiaWhmCisgZWFiaS1nbnUtbGludXgJCWxpbnV4LWdudWVhYmkJCWxpbnV4W14tXSotZ251ZWFiaQorZGlmZiAtLWdpdCBhL2RhdGEvdHVwbGV0YWJsZSBiL2RhdGEvdHVwbGV0YWJsZQoraW5kZXggNWY1MDBmNmNhLi4yOGYwMGJmZTYgMTAwNjQ0CistLS0gYS9kYXRhL3R1cGxldGFibGUKKysrKyBiL2RhdGEvdHVwbGV0YWJsZQorQEAgLTgsNiArOCw3IEBACisgZWFiaS11Y2xpYmMtbGludXgtYXJtCQl1Y2xpYmMtbGludXgtYXJtZWwKKyBiYXNlLXVjbGliYy1saW51eC08Y3B1PgkJdWNsaWJjLWxpbnV4LTxjcHU+CisgZWFiaWhmLW11c2wtbGludXgtYXJtCQltdXNsLWxpbnV4LWFybWhmCisrZWFiaS1tdXNsLWxpbnV4LWFybQkJbXVzbC1saW51eC1hcm1lbAorIGJhc2UtbXVzbC1saW51eC08Y3B1PgkJbXVzbC1saW51eC08Y3B1PgorIGlscDMyLWdudS1saW51eC1hcm02NAkJYXJtNjRpbHAzMgorIGVhYmloZi1nbnUtbGludXgtYXJtCQlhcm1oZgorLS0gCisyLjExLjAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwNy1kcGtnLWRlYi1idWlsZC5jLVJlbW92ZS11c2FnZS1vZi1jbGFtcC1tdGltZS1pbi10YXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDA3LWRwa2ctZGViLWJ1aWxkLmMtUmVtb3ZlLXVzYWdlLW9mLWNsYW1wLW10aW1lLWluLXRhci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjk4NWRmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwNy1kcGtnLWRlYi1idWlsZC5jLVJlbW92ZS11c2FnZS1vZi1jbGFtcC1tdGltZS1pbi10YXIucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSA4NjU5ZWVlZWRhNzRkNzFlMTIwODAxMjFmMGIxM2E4OGNiZGRhNDMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuPUMzPUFEYmFsPTIwTGltPUMzPUIzbj89IDxhbmliYWwubGltb25AbGludXguaW50ZWwuY29tPgorRGF0ZTogVHVlLCAyMSBGZWIgMjAxNyAxMToyMzoyNyAtMDYwMAorU3ViamVjdDogW1BBVENIXSBkcGtnLWRlYi9idWlsZC5jOiBSZW1vdmUgdXNhZ2Ugb2YgLS1jbGFtcC1tdGltZSBpbiB0YXIKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUmVjZW50bHkgZHBrZyBhZGRlZCAtLWNsYW1wLW10aW1lIHRvIHRhciB0byBjcmVhdGUgcmVwcm9kdWNpYmxlCitidWlsZCB0YXJiYWxscyBbMV0uCisKK0J1dCBob3N0IHRvb2xzIGRvZXNuJ3Qgc3VwcG9ydCB0aGlzIG9wdGlvbiBiZWNhdXNlIGlzIG5ldyBvbiB0YXIKK3NvIGRpc2FibGUgaW4gb3VyIGJ1aWxkcy4KKworU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbQ29uZmlndXJhdGlvbl0KKworWzFdIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9NzU5OTk5IzIwCitbMl0gaHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9oZWxwLXRhci8yMDE2LTAxL21zZzAwMDAwLmh0bWwKKy0tLQorIGRwa2ctZGViL2J1aWxkLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9kcGtnLWRlYi9idWlsZC5jIGIvZHBrZy1kZWIvYnVpbGQuYworaW5kZXggYTkyYjU4ZS4uYTNkMTkxMiAxMDA2NDQKKy0tLSBhL2Rwa2ctZGViL2J1aWxkLmMKKysrKyBiL2Rwa2ctZGViL2J1aWxkLmMKK0BAIC00NTAsNyArNDUwLDcgQEAgdGFyYmFsbF9wYWNrKGNvbnN0IGNoYXIgKmRpciwgZmlsZW5hbWVzX2ZlZWRfZnVuYyAqdGFyX2ZpbGVuYW1lc19mZWVkZXIsCisgCisgICAgIGNvbW1hbmRfaW5pdCgmY21kLCBUQVIsICJ0YXIgLWNmIik7CisgICAgIGNvbW1hbmRfYWRkX2FyZ3MoJmNtZCwgInRhciIsICItY2YiLCAiLSIsICItLWZvcm1hdD1nbnUiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICItLW10aW1lIiwgbXRpbWUsICItLWNsYW1wLW10aW1lIiwgTlVMTCk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tbXRpbWUiLCBtdGltZSwgTlVMTCk7CisgICAgIC8qIE1vZGUgbWlnaHQgYmVjb21lIGEgcG9zaXRpb25hbCBhcmd1bWVudCwgcGFzcyBpdCBiZWZvcmUgLVQuICovCisgICAgIGlmIChtb2RlKQorICAgICAgIGNvbW1hbmRfYWRkX2FyZ3MoJmNtZCwgIi0tbW9kZSIsIG1vZGUsIE5VTEwpOworLS0gCisyLjExLjAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uL2FkZF9hcm1lYl90cmlwbGV0X2VudHJ5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vYWRkX2FybWViX3RyaXBsZXRfZW50cnkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE2NTYxNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uL2FkZF9hcm1lYl90cmlwbGV0X2VudHJ5LnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK0F1dGhvcjogS3Jpc2huYW5qYW5hcHBhLCBKYWdhZGVlc2ggPGphZ2FkZWVzaC5rcmlzaG5hbmphbmFwcGFAY2F2aXVtbmV0d29ya3MuY29tPgorRGF0ZTogICBXZWQgQXByIDggMTg6MDg6MTQgMjAxNSArMDUzMAorCitbUEFUQ0hdIGFkZCBhcm1lYiB0cmlwbGV0IGVudHJ5IGludG8gdHJpcGxldHRhYmxlLgorCitDcm9zcy1jb21wbGluZyBkcGtnIGFwcGxpY2F0aW9uIGZvciBhcm1lYiBmYWlscyB3aXRoIGJlbG93IGVycm9yCitkdXJpbmcgY29uZmlndXJlIHRhc2ssCisKKyhzbmlwKQorIGNvbmZpZ3VyZToyMzE0MTogY2hlY2tpbmcgZHBrZyBjcHUgdHlwZQorIGNvbmZpZ3VyZToyMzE0ODogcmVzdWx0OiBhcm1lYgorIGNvbmZpZ3VyZToyMzE1MDogV0FSTklORzogYXJtZWIgbm90IGZvdW5kIGluIGNwdXRhYmxlCisgY29uZmlndXJlOjIzMTYyOiBjaGVja2luZyBkcGtnIG9wZXJhdGluZyBzeXN0ZW0gdHlwZQorIGNvbmZpZ3VyZToyMzE2OTogcmVzdWx0OiBsaW51eC1nbnVlYWJpCisgY29uZmlndXJlOjIzMTcxOiBXQVJOSU5HOiBsaW51eC1nbnVlYWJpIG5vdCBmb3VuZCBpbiBvc3RhYmxlCisgY29uZmlndXJlOjIzMTgzOiBjaGVja2luZyBkcGtnIGFyY2hpdGVjdHVyZSBuYW1lCisgY29uZmlndXJlOjIzMTg5OiBlcnJvcjogY2Fubm90IGRldGVybWluZSBob3N0IGRwa2cgYXJjaGl0ZWN0dXJlCistLSBDVVQgLS0KKwordGhlIHJlcXVpcmVkIGNvbWJpbmF0aW9uIG9mICJnbnVlYWJpLWxpbnV4LWFybWViIiB3YXMgbm90IGZvdW5kIGluCit0aGUgdHJpcGxldHRhYmxlIGZpbGUgdGhlcmVieSByZXR1cm5pbmcgZHBrZ19hcmNoIGFzCitlbXB0eSBpbiBjb25maWd1cmUgc2NyaXB0LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS3Jpc2huYW5qYW5hcHBhLCBKYWdhZGVlc2ggPGphZ2FkZWVzaC5rcmlzaG5hbmphbmFwcGFAY2F2aXVtbmV0d29ya3MuY29tPgorU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CisKKy0tLQorIGRhdGEvdHVwbGV0YWJsZSB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvZGF0YS90dXBsZXRhYmxlIGIvZGF0YS90dXBsZXRhYmxlCitpbmRleCBiNzgwMmJlYzMuLjVmNTAwZjZjYSAxMDA2NDQKKy0tLSBhL2RhdGEvdHVwbGV0YWJsZQorKysrIGIvZGF0YS90dXBsZXRhYmxlCitAQCAtMTIsNiArMTIsNyBAQCBiYXNlLW11c2wtbGludXgtPGNwdT4JCW11c2wtbGludXgtPGNwdT4KKyBpbHAzMi1nbnUtbGludXgtYXJtNjQJCWFybTY0aWxwMzIKKyBlYWJpaGYtZ251LWxpbnV4LWFybQkJYXJtaGYKKyBlYWJpLWdudS1saW51eC1hcm0JCWFybWVsCisrZWFiaS1nbnUtbGludXgtYXJtZWIJCWFybWViCisgYWJpbjMyLWdudS1saW51eC1taXBzNjRyNmVsCW1pcHNuMzJyNmVsCisgYWJpbjMyLWdudS1saW51eC1taXBzNjRyNgltaXBzbjMycjYKKyBhYmluMzItZ251LWxpbnV4LW1pcHM2NGVsCW1pcHNuMzJlbAorLS0gCisyLjExLjAKKworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi9hcmNoX3BtLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vYXJjaF9wbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTBkMjJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vYXJjaF9wbS5wYXRjaApAQCAtMCwwICsxLDI5IEBACitjb25maWd1cmUgY2Fubm90IGRldGVybWluZSB0aGUgcHJvcGVyIGNwdSwgb3MsIG9yCithcmNoaXRlY3R1cmUgZm9yIG1pcHM2NCwgYW5kIHBvc3NpYmx5IG90aGVyIGFyY2gncworYmVjYXVzZSBvZiBmYXVsdHkgY29kZSBhZGRlZCB0byBBcmNoLnBtIGluIHRoZSBsYXRlc3QKK3JlbGVhc2UgZnJvbSB1cHN0cmVhbS4gIFdlIHJlbW92ZSB0aGF0IGNvZGUuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKb2UgU2xhdGVyIDxqc2xhdGVyQHdpbmRyaXZlci5jb20+CisKKy0tLQorIHNjcmlwdHMvRHBrZy9BcmNoLnBtIHwgMyAtLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NjcmlwdHMvRHBrZy9BcmNoLnBtIGIvc2NyaXB0cy9EcGtnL0FyY2gucG0KK2luZGV4IDE3MjA4NDdiOC4uNjM0NWNlM2I5IDEwMDY0NAorLS0tIGEvc2NyaXB0cy9EcGtnL0FyY2gucG0KKysrKyBiL3NjcmlwdHMvRHBrZy9BcmNoLnBtCitAQCAtMzIzLDkgKzMyMyw2IEBAIHN1YiBfbG9hZF90dXBsZXRhYmxlKCkKKyAJCSAgICAobXkgJGR0ID0gJGRlYnR1cGxlKSA9fiBzLzxjcHU+LyRfY3B1LzsKKyAJCSAgICAobXkgJGRhID0gJGRlYmFyY2gpID1+IHMvPGNwdT4vJF9jcHUvOworIAorLQkJICAgIG5leHQgaWYgZXhpc3RzICRkZWJhcmNoX3RvX2RlYnR1cGxleyRkYX0KKy0JCSAgICAgICAgIG9yIGV4aXN0cyAkZGVidHVwbGVfdG9fZGViYXJjaHskZHR9OworLQorIAkJICAgICRkZWJhcmNoX3RvX2RlYnR1cGxleyRkYX0gPSAkZHQ7CisgCQkgICAgJGRlYnR1cGxlX3RvX2RlYmFyY2h7JGR0fSA9ICRkYTsKKyAJCX0KKy0tIAorMi4xMS4wCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi9ub21hbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uL25vbWFuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3ZjNjYjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi9ub21hbi5wYXRjaApAQCAtMCwwICsxLDIyIEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Rpc2FibGUgZmVhdHVyZV0KKworLS0tCisgTWFrZWZpbGUuYW0gfCAzICstLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IDBkYTUyY2IxNi4uYTFmNzllMGEyIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuYW0KKysrKyBiL01ha2VmaWxlLmFtCitAQCAtMTMsOCArMTMsNyBAQCBTVUJESVJTID0gXAorIAkkKE1BWUJFX0RTRUxFQ1QpIFwKKyAJc2NyaXB0cyBcCisgCXQtZnVuYyBcCistCXBvIFwKKy0JbWFuCisrCXBvCisgCisgQUNMT0NBTF9BTUZMQUdTID0gLUkgbTQKKyAKKy0tIAorMi4xMS4wCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi9yZW1vdmUtdGFyLW5vLXRpbWVzdGFtcC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uL3JlbW92ZS10YXItbm8tdGltZXN0YW1wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmNDA4ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi9yZW1vdmUtdGFyLW5vLXRpbWVzdGFtcC5wYXRjaApAQCAtMCwwICsxLDE3IEBACitidXN5Ym94LTEuMTkuNCB0YXIgdXRpbGl0eSBkb2Vzbid0IHN1cHBvcnQgLS13YXJuaW5nPW5vLXRpbWVzdGFtcAorCitTaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KK0luZGV4OiBkcGtnLTEuMTcuMS9kcGtnLWRlYi9leHRyYWN0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkcGtnLTEuMTcuMS5vcmlnL2Rwa2ctZGViL2V4dHJhY3QuYworKysrIGRwa2ctMS4xNy4xL2Rwa2ctZGViL2V4dHJhY3QuYworQEAgLTMxOCw3ICszMTgsNiBAQCBleHRyYWN0aGFsZihjb25zdCBjaGFyICpkZWJhciwgY29uc3QgY2hhCisgCisgICAgICAgY29tbWFuZF9hZGRfYXJnKCZjbWQsICItZiIpOworICAgICAgIGNvbW1hbmRfYWRkX2FyZygmY21kLCAiLSIpOworLSAgICAgIGNvbW1hbmRfYWRkX2FyZygmY21kLCAiLS13YXJuaW5nPW5vLXRpbWVzdGFtcCIpOworIAorICAgICAgIG1fZHVwMihwMlswXSwwKTsKKyAgICAgICBjbG9zZShwMlswXSk7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbl8xLjE3LjI1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb25fMS4xNy4yNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjliMjJhMy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbl8xLjE3LjI1LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotU1VNTUFSWSA9ICJEZWJpYW4ncyBzdGFydC1zdG9wLWRhZW1vbiB1dGlsaXR5IGV4dHJhY3RlZCBmcm9tIHRoZSBkcGtnIFwKLXBhY2thZ2UiCi1MSUNFTlNFID0gIlBEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdXRpbHMvc3RhcnQtc3RvcC1kYWVtb24uYztlbmRsaW5lPTIxO21kNT04ZmJkMDQ5N2E3ZDBiMDFlOTk4MjBiZmZjYjU4ZTlhZCIKLSMgc3RhcnQtc3RvcC1kYWVtb24gaXMgdXN1YWxseSBzaGlwcGVkIGJ5IGRwa2cKLURFUEVORFMgPSAibmN1cnNlcyIKLVJDT05GTElDVFNfJHtQTn0gPSAiZHBrZyIKLQotU1JDX1VSSSA9ICIgXAotICAgICR7REVCSUFOX01JUlJPUn0vbWFpbi9kL2Rwa2cvZHBrZ18ke1BWfS50YXIueHogXAotICAgIGZpbGU6Ly8wMDAxLWRwa2ctc3RhcnQtc3RvcC1kYWVtb24tQWNjZXB0LVNJRy1wcmVmaXhlZC1zaWduYWwtbmEucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAxLUFkZC1saW51eC1tdXNsZWFiaS10by1vc3RhYmxlLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImU0OGZjZmRiMjE2MmU3N2Q3MmMyYTgzNDMyZDUzN2NhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3MDE5ZDM4YWU5OGZiMTA3Yzc5ZGJiMzY5MGNmYWRmZjg3N2YxNTNiOGM0OTcwZTNhMzBkMmU1OWFhNjZiYWEiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCi0KLVMgPSAiJHtXT1JLRElSfS9kcGtnLSR7UFZ9IgotCi1FWFRSQV9PRUNPTkYgPSAiIFwKLSAgICAtLXdpdGhvdXQtYnoyIFwKLSAgICAtLXdpdGhvdXQtc2VsaW51eCBcCi0iCi0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLSAgICAjIHJlbW92ZSBldmVyeXRoaW5nIHRoYXQgaXMgbm90IHJlbGF0ZWQgdG8gc3RhcnQtc3RvcC1kYWVtb24sIHNpbmNlIHRoZXJlCi0gICAgIyBpcyBubyBleHBsaWNpdCBydWxlIGZvciBvbmx5IGluc3RhbGxpbmcgc3NkCi0gICAgZmluZCAke0R9IC10eXBlIGYgLW5vdCAtbmFtZSAiKnN0YXJ0LXN0b3AtZGFlbW9uKiIgLWV4ZWMgcm0ge30gXDsKLSAgICBmaW5kICR7RH0gLWRlcHRoIC10eXBlIGQgLWVtcHR5IC1leGVjIHJtZGlyIHt9IFw7Ci0KLSAgICAjIHN1cHBvcnQgZm9yIGJ1Z2d5IGluaXQuZCBzY3JpcHRzIHRoYXQgcmVmZXIgdG8gYW4gYWx0ZXJuYXRpdmUKLSAgICAjIGV4cGxpY2l0IHBhdGggdG8gc3RhcnQtc3RvcC1kYWVtb24KLSAgICBpZiBbICIke2Jhc2Vfc2JpbmRpcn0iICE9ICIke3NiaW5kaXJ9IiBdOyB0aGVuCi0gICAgICAgIG1rZGlyIC1wICR7RH0ke2Jhc2Vfc2JpbmRpcn0KLSAgICAgICAgbG4gLXNmICR7c2JpbmRpcn0vc3RhcnQtc3RvcC1kYWVtb24gJHtEfSR7YmFzZV9zYmluZGlyfS9zdGFydC1zdG9wLWRhZW1vbgotICAgIGZpCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbl8xLjE4LjI1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb25fMS4xOC4yNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzcyZDNjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb25fMS4xOC4yNS5iYgpAQCAtMCwwICsxLDg3IEBACitTVU1NQVJZID0gIkRlYmlhbidzIHN0YXJ0LXN0b3AtZGFlbW9uIHV0aWxpdHkgZXh0cmFjdGVkIGZyb20gdGhlIGRwa2cgXAorcGFja2FnZSIKK0xJQ0VOU0UgPSAiUEQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly91dGlscy9zdGFydC1zdG9wLWRhZW1vbi5jO2VuZGxpbmU9MjE7bWQ1PThmYmQwNDk3YTdkMGIwMWU5OTgyMGJmZmNiNThlOWFkIgorREVQRU5EUyA9ICJ6bGliIGJ6aXAyIHBlcmwgbmN1cnNlcyIKKyMgc3RhcnQtc3RvcC1kYWVtb24gaXMgdXN1YWxseSBzaGlwcGVkIGJ5IGRwa2cKK1JDT05GTElDVFNfJHtQTn0gPSAiZHBrZyIKKworU1JDX1VSSSA9ICIgXAorICAgICR7REVCSUFOX01JUlJPUn0vbWFpbi9kL2Rwa2cvZHBrZ18ke1BWfS50YXIueHogXAorICAgIGZpbGU6Ly8wMDAxLWRwa2ctc3RhcnQtc3RvcC1kYWVtb24tQWNjZXB0LVNJRy1wcmVmaXhlZC1zaWduYWwtbmEucGF0Y2ggXAorICAgIGZpbGU6Ly9ub21hbi5wYXRjaCBcCisgICAgZmlsZTovL3JlbW92ZS10YXItbm8tdGltZXN0YW1wLnBhdGNoIFwKKyAgICBmaWxlOi8vYXJjaF9wbS5wYXRjaCBcCisgICAgZmlsZTovL2FkZF9hcm1lYl90cmlwbGV0X2VudHJ5LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1BZGFwdC10by1saW51eC13cnMta2VybmVsLXZlcnNpb24td2hpY2gtaGFzLWNoYXJhY3RlLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMy1PdXItcHJlLXBvc3RpbnN0cy1leHBlY3QtRC10by1iZS1zZXQtd2hlbi1ydW5uaW5nLWluLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNC1UaGUtbHV0aW1lcy1mdW5jdGlvbi1kb2Vzbi10LXdvcmstcHJvcGVybHktZm9yLWFsbC1zLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNS1kcGtnLWNvbXBpbGVyLm00LXJlbW92ZS1XdmxhLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNi1hZGQtbXVzbGVhYmktdG8ta25vd24tdGFyZ2V0LXRyaXBldHMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA3LWRwa2ctZGViLWJ1aWxkLmMtUmVtb3ZlLXVzYWdlLW9mLWNsYW1wLW10aW1lLWluLXRhci5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtZHBrZy1TdXBwb3J0LW11c2x4MzItYnVpbGQucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImU0NjNmNThiMDRhY2IyMzY1OWRmMjNkMmE3YTA1Y2ZmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0OWMzNzE5NTNhZWEwM2Y1NDM4MTRkY2FlMzdjMDY5ZTg2MDY5MzMzZmIyZTI0ZTkyNTJlNzY2NDc2NjM0OTIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGVybG5hdGl2ZSBwa2djb25maWcgcGVybC12ZXJzaW9uCisKK1MgPSAiJHtXT1JLRElSfS9kcGtnLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kc2VsZWN0IFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1zdGFydC1zdG9wLWRhZW1vbiBcCisgICAgICAgICAgICAgICAgLS13aXRoLWxpYnogXAorICAgICAgICAgICAgICAgIC0td2l0aC1saWJiejIgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1saWJzZWxpbnV4IFwKKyAgICAgICAgICAgICAgICAiCisKK1BBQ0tBR0VDT05GSUcgPSAibGlibHptYSIKK1BBQ0tBR0VDT05GSUdbbGlibHptYV0gPSAiLS13aXRoLWxpYmx6bWEsLS13aXRob3V0LWxpYmx6bWEsIHh6IgorCitleHBvcnQgUEVSTCA9ICIke2JpbmRpcn0vcGVybCIKK2V4cG9ydCBQRVJMX0xJQkRJUiA9ICIke2xpYmRpcn0vcGVybC8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfSIKK0VYVFJBX09FQ09ORiArPSAiVEFSPXRhciIKKworRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIERFQl9IT1NUX0FSQ0g9JHtEUEtHX0FSQ0h9IgorCitEUEtHX0FSQ0ggPz89ICIke0BkZWJfYXJjaF9tYXAoZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJyksIGQuZ2V0VmFyKCdUVU5FX0ZFQVRVUkVTJykpfSIKKworZGVmIGRlYl9hcmNoX21hcChhcmNoLCB0dW5lKToKKyAgICB0dW5lX2ZlYXR1cmVzID0gdHVuZS5zcGxpdCgpCisgICAgaWYgYXJjaCA9PSAiYWxsYXJjaCI6CisgICAgICAgIHJldHVybiAiYWxsIgorICAgIGlmIGFyY2ggaW4gWyJpNTg2IiwgImk2ODYiXToKKyAgICAgICAgcmV0dXJuICJpMzg2IgorICAgIGlmIGFyY2ggPT0gIng4Nl82NCI6CisgICAgICAgIGlmICJteDMyIiBpbiB0dW5lX2ZlYXR1cmVzOgorICAgICAgICAgICAgcmV0dXJuICJ4MzIiCisgICAgICAgIHJldHVybiAiYW1kNjQiCisgICAgaWYgYXJjaC5zdGFydHN3aXRoKCJtaXBzIik6CisgICAgICAgIGVuZGlhbiA9IFsiZWwiLCAiIl1bImJpZ2VuZGlhbiIgaW4gdHVuZV9mZWF0dXJlc10KKyAgICAgICAgaWYgIm42NCIgaW4gdHVuZV9mZWF0dXJlczoKKyAgICAgICAgICAgIHJldHVybiAibWlwczY0IiArIGVuZGlhbgorICAgICAgICBpZiAibjMyIiBpbiB0dW5lX2ZlYXR1cmVzOgorICAgICAgICAgICAgcmV0dXJuICJtaXBzbjMyIiArIGVuZGlhbgorICAgICAgICByZXR1cm4gIm1pcHMiICsgZW5kaWFuCisgICAgaWYgYXJjaCA9PSAicG93ZXJwYyI6CisgICAgICAgIHJldHVybiBhcmNoICsgWyIiLCAic3BlIl1bInNwZSIgaW4gdHVuZV9mZWF0dXJlc10KKyAgICBpZiBhcmNoID09ICJhYXJjaDY0IjoKKyAgICAgICAgcmV0dXJuICJhcm02NCIKKyAgICBpZiBhcmNoID09ICJhcm0iOgorICAgICAgICByZXR1cm4gYXJjaCArIFsiZWwiLCAiaGYiXVsiY2FsbGNvbnZlbnRpb24taGFyZCIgaW4gdHVuZV9mZWF0dXJlc10KKyAgICByZXR1cm4gYXJjaAorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgIyByZW1vdmUgZXZlcnl0aGluZyB0aGF0IGlzIG5vdCByZWxhdGVkIHRvIHN0YXJ0LXN0b3AtZGFlbW9uLCBzaW5jZSB0aGVyZQorICAgICMgaXMgbm8gZXhwbGljaXQgcnVsZSBmb3Igb25seSBpbnN0YWxsaW5nIHNzZAorICAgIGZpbmQgJHtEfSAtdHlwZSBmIC1ub3QgLW5hbWUgIipzdGFydC1zdG9wLWRhZW1vbioiIC1leGVjIHJtIHt9IFw7CisgICAgZmluZCAke0R9IC1kZXB0aCAtdHlwZSBkIC1lbXB0eSAtZXhlYyBybWRpciB7fSBcOworCisgICAgIyBzdXBwb3J0IGZvciBidWdneSBpbml0LmQgc2NyaXB0cyB0aGF0IHJlZmVyIHRvIGFuIGFsdGVybmF0aXZlCisgICAgIyBleHBsaWNpdCBwYXRoIHRvIHN0YXJ0LXN0b3AtZGFlbW9uCisgICAgaWYgWyAiJHtiYXNlX3NiaW5kaXJ9IiAhPSAiJHtzYmluZGlyfSIgXTsgdGhlbgorICAgICAgICBta2RpciAtcCAke0R9JHtiYXNlX3NiaW5kaXJ9CisgICAgICAgIGxuIC1zZiAke3NiaW5kaXJ9L3N0YXJ0LXN0b3AtZGFlbW9uICR7RH0ke2Jhc2Vfc2JpbmRpcn0vc3RhcnQtc3RvcC1kYWVtb24KKyAgICBmaQorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZ18zLjE2LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvc3lzbG9nLW5nXzMuMTYuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjVmNDJjZi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvc3lzbG9nLW5nXzMuMTYuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLXJlcXVpcmUgc3lzbG9nLW5nLmluYwotCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9iYWxhYml0L3N5c2xvZy1uZy9yZWxlYXNlcy9kb3dubG9hZC8ke0JQfS8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vc3lzbG9nLW5nLmNvbmYuc3lzdGVtZCBcCi0gICAgICAgICAgIGZpbGU6Ly9zeXNsb2ctbmcuY29uZi5zeXN2aW5pdCBcCi0gICAgICAgICAgIGZpbGU6Ly9pbml0c2NyaXB0IFwKLSAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19zeXNsb2ctbmcgXAotICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmFjLWFkZC1vcHRpb24tZW5hYmxlLXRocmVhZC10bHMtdG8tbWFuYWdlLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9maXgtY29uZmlnLWxpYm5ldC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9maXgtaW52YWxpZC1vd25lcnNoaXAucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc3lzbG9nLW5nLnNlcnZpY2UtdGhlLXN5c2xvZy1uZy1zZXJ2aWNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3lzbG9nLW5nLWZpeC1zZWdtZW50LWZhdWx0LWR1cmluZy1zZXJ2aWNlLXN0YXJ0LnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNzJkNDRhZDAyYzJlOWJhMDc0OGIzZWNkM2YxNWE3ZmYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzdlZTZmMWQ1ZTk4ZDg2ZjE5MTk2NGU1ODAxMTFiZmE3MTA4MWVjYmIzMjc1Y2VhMDM1YmJiYTE3N2I3M2EyOSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9zeXNsb2ctbmdfMy4xOS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZ18zLjE5LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVlY2Y2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9zeXNsb2ctbmdfMy4xOS4xLmJiCkBAIC0wLDAgKzEsMTYgQEAKK3JlcXVpcmUgc3lzbG9nLW5nLmluYworCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9iYWxhYml0L3N5c2xvZy1uZy9yZWxlYXNlcy9kb3dubG9hZC8ke0JQfS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vc3lzbG9nLW5nLmNvbmYuc3lzdGVtZCBcCisgICAgICAgICAgIGZpbGU6Ly9zeXNsb2ctbmcuY29uZi5zeXN2aW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0c2NyaXB0IFwKKyAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19zeXNsb2ctbmcgXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmFjLWFkZC1vcHRpb24tZW5hYmxlLXRocmVhZC10bHMtdG8tbWFuYWdlLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtY29uZmlnLWxpYm5ldC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtaW52YWxpZC1vd25lcnNoaXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc3lzbG9nLW5nLnNlcnZpY2UtdGhlLXN5c2xvZy1uZy1zZXJ2aWNlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtc3lzbG9nLW5nLWZpeC1zZWdtZW50LWZhdWx0LWR1cmluZy1zZXJ2aWNlLXN0YXJ0LnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYWE3OWJjMTNkOWZkOTI1YWE1ZmI5NTE2ZTg3YWFjZDMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWNmOTMxYTlkN2JlYWQwZTZkOWEyYzY1ZWVlOGY2MDA1YTAwNTg3OGY1OWFhMjgwZjNjNDI5NDI1N2VkNTE3OCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RoaW4tcHJvdmlzaW9uaW5nLXRvb2xzL2ZpbGVzL3VzZS1zaC1vbi1wYXRoLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGhpbi1wcm92aXNpb25pbmctdG9vbHMvZmlsZXMvdXNlLXNoLW9uLXBhdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNiMTZkZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RoaW4tcHJvdmlzaW9uaW5nLXRvb2xzL2ZpbGVzL3VzZS1zaC1vbi1wYXRoLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKKwordGhpbi1wcm92aXNpb25pbmctdG9vbHM6IHVzZSBzaCBvbiBwYXRoIHdoZW4gaW52b2tpbmcgdHh0Mm1hbgorCit0eHQybWFuIGNvbnRhaW5zIGEgdGVzdCB3aGljaCBtaWdodCB0cnkgdG8gdXNlIGtzaCB0byBydW4gdGhlIHNjcmlwdCwgc28gd2UKK2F2b2lkIHJ1bm5pbmcgL2Jpbi9zaC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogam9lLnNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tPgorCistLS0gYS9NYWtlZmlsZS5pbgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC0yMTAsNyArMjEwLDcgQEAgZW5kaWYKKyAKKyAlLjg6ICUudHh0IGJpbi90eHQybWFuCisgCUBlY2hvICIgICAgW3R4dDJtYW5dICQ8IgorLQkkKFYpIGJpbi90eHQybWFuIC1wIC10ICQoYmFzZW5hbWUgJChub3RkaXIgJDwpKSAkPCA+ICRACisrCSQoVikgc2ggYmluL3R4dDJtYW4gLXAgLXQgJChiYXNlbmFtZSAkKG5vdGRpciAkPCkpICQ8ID4gJEAKKyAKKyAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGhpbi1wcm92aXNpb25pbmctdG9vbHMvdGhpbi1wcm92aXNpb25pbmctdG9vbHNfMC43LjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90aGluLXByb3Zpc2lvbmluZy10b29scy90aGluLXByb3Zpc2lvbmluZy10b29sc18wLjcuNi5iYgppbmRleCAyMGNiMTdhLi41ZjZiYTllIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90aGluLXByb3Zpc2lvbmluZy10b29scy90aGluLXByb3Zpc2lvbmluZy10b29sc18wLjcuNi5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90aGluLXByb3Zpc2lvbmluZy10b29scy90aGluLXByb3Zpc2lvbmluZy10b29sc18wLjcuNi5iYgpAQCAtMTAsNiArMTAsNyBAQAogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2p0aG9ybmJlci90aGluLXByb3Zpc2lvbmluZy10b29scyBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRvLW5vdC1zdHJpcC1wZGF0YV90b29scy1hdC1kb19pbnN0YWxsLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWNvbXBpbGUtZmFpbGVkLXdpdGgtbGliYy1tdXNsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3VzZS1zaC1vbi1wYXRoLnBhdGNoIFwKICIKIAogU1JDUkVWID0gIjZmOTM2OTkyYjhlNjIwOGE3ODM4ZmNmMWVjODdjNWJkM2E2OTRhNzciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzMl8yLjcuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MyXzIuNy44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NGIzMzhmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MyXzIuNy44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotU1VNTUFSWSA9ICJ1ZGlza3MgcHJvdmlkZXMgZGJ1cyBpbnRlcmZhY2VzIGZvciBkaXNrcyBhbmQgc3RvcmFnZSBkZXZpY2VzIgotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGQ3OWY2ZGJiZmZkYmM4ZTg2YjA4NmE4ZjBjMGVmNDMiCi0KLURFUEVORFMgPSAiIFwKLSAgICBhY2wgXAotICAgIGxpYmF0YXNtYXJ0IFwKLSAgICBwb2xraXQgXAotICAgIGxpYmd1ZGV2IFwKLSAgICBkYnVzLWdsaWIgXAotICAgIGdsaWItMi4wIFwKLSAgICBsaWJibG9ja2RldiBcCi0gICAgaW50bHRvb2wtbmF0aXZlIFwKLSAgICBnbm9tZS1jb21tb24tbmF0aXZlIFwKLSAgICBsaWJ4c2x0LW5hdGl2ZSBcCi0iCi1ERVBFTkRTICs9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgotCi1SREVQRU5EU18ke1BOfSA9ICJhY2wiCi0KLVNSQ19VUkkgPSAiIFwKLSAgICBnaXQ6Ly9naXRodWIuY29tL3N0b3JhZ2VkLXByb2plY3QvdWRpc2tzLmdpdDticmFuY2g9Mi43LngtYnJhbmNoIFwKLSAgICBmaWxlOi8vbm9uLWdudS1saWJjLnBhdGNoIFwKLSIKLVNSQ1JFViA9ICI0N2JjMDE0MWNiODQ2MjRiYTFlMjI0MmQ1OTZhODlhMzBkZjFmNWVhIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotQ1ZFX1BST0RVQ1QgPSAidWRpc2tzIgotCi1pbmhlcml0IGF1dG90b29scyBzeXN0ZW1kIGd0ay1kb2MgZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtbWFuIC0tZGlzYWJsZS1ndGstZG9jIgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2RhdGFkaXJ9L2RidXMtMS8gXAotICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAotICAgICR7ZGF0YWRpcn0vYmFzaC1jb21wbGV0aW9uIFwKLSAgICAke2xpYmRpcn0vcG9sa2l0LTEvZXh0ZW5zaW9ucy8qLnNvIFwKLSAgICAke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvKiBcCi0gICAgJHtleGVjX3ByZWZpeH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkaXNrczIvKiBcCi0gICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSBcCi0iCi0KLVBBQ0tBR0VTID0rICIke1BOfS1saWJzIgotRklMRVNfJHtQTn0tbGlicyA9ICIke2xpYmRpcn0vbGliKiR7U09MSUJTfSIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QlBOfS5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrczJfMi44LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzMl8yLjguMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjIxMzBlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrczJfMi44LjEuYmIKQEAgLTAsMCArMSw1MCBAQAorU1VNTUFSWSA9ICJ1ZGlza3MgcHJvdmlkZXMgZGJ1cyBpbnRlcmZhY2VzIGZvciBkaXNrcyBhbmQgc3RvcmFnZSBkZXZpY2VzIgorTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGQ3OWY2ZGJiZmZkYmM4ZTg2YjA4NmE4ZjBjMGVmNDMiCisKK0RFUEVORFMgPSAiIFwKKyAgICBhY2wgXAorICAgIGxpYmF0YXNtYXJ0IFwKKyAgICBwb2xraXQgXAorICAgIGxpYmd1ZGV2IFwKKyAgICBkYnVzLWdsaWIgXAorICAgIGdsaWItMi4wIFwKKyAgICBsaWJibG9ja2RldiBcCisgICAgaW50bHRvb2wtbmF0aXZlIFwKKyAgICBnbm9tZS1jb21tb24tbmF0aXZlIFwKKyAgICBsaWJ4c2x0LW5hdGl2ZSBcCisiCitERVBFTkRTICs9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgorCitSREVQRU5EU18ke1BOfSA9ICJhY2wiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBnaXQ6Ly9naXRodWIuY29tL3N0b3JhZ2VkLXByb2plY3QvdWRpc2tzLmdpdDticmFuY2g9bWFzdGVyIFwKKyAgICBmaWxlOi8vbm9uLWdudS1saWJjLnBhdGNoIFwKKyIKK1NSQ1JFViA9ICIwNWFlNDcxYmUzYzJhZGYyMjU1YjNhMDFlZGIwMGJiYTA2ZTAyYWZiIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworQ1ZFX1BST0RVQ1QgPSAidWRpc2tzIgorCitpbmhlcml0IGF1dG90b29scyBzeXN0ZW1kIGd0ay1kb2MgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAicG9sa2l0IgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLW1hbiAtLWRpc2FibGUtZ3RrLWRvYyIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEvIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyAgICAke2RhdGFkaXJ9L2Jhc2gtY29tcGxldGlvbiBcCisgICAgJHtsaWJkaXJ9L3BvbGtpdC0xL2V4dGVuc2lvbnMvKi5zbyBcCisgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2LyogXAorICAgICR7ZXhlY19wcmVmaXh9JHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGlza3MyLyogXAorICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0gXAorIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tbGlicyIKK0ZJTEVTXyR7UE59LWxpYnMgPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30iCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0JQTn0uc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3NfMS4wLjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzXzEuMC41LmJiCmluZGV4IDdjZDk5OTIuLjNhZThlY2MgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3NfMS4wLjUuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrc18xLjAuNS5iYgpAQCAtMjIsNyArMjIsMTAgQEAKIFNSQ19VUklbdWRpc2tzLm1kNXN1bV0gPSAiNzBkNDhkY2ZlNTIzYTc0Y2Q3YzdmYmJjMjg0N2ZjZGQiCiBTUkNfVVJJW3VkaXNrcy5zaGEyNTZzdW1dID0gImYyZWM4MmViMGVhN2UwMWRjMjk5YjViMjliM2MxOGNkZjg2MTIzNmVjNDNkY2ZmNjZiMzU1MmI0YjMxYzZmNzEiCiAKLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBzeXN0ZW1kIGd0ay1kb2MKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBzeXN0ZW1kIGd0ay1kb2MgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJwb2xraXQiCisKIAogUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmRldm1hcHBlciIKIFBBQ0tBR0VDT05GSUdbbGliZGV2bWFwcGVyXSA9ICItLWVuYWJsZS1kZXZtYXBwZXIsLS1kaXNhYmxlLWRldm1hcHBlcixsaWJkZXZtYXBwZXIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91bml4b2RiYy91bml4b2RiY18yLjMuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VuaXhvZGJjL3VuaXhvZGJjXzIuMy42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNjc0ZDM1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VuaXhvZGJjL3VuaXhvZGJjXzIuMy42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotU1VNTUFSWSA9ICJBbiBPcGVuIFNvdXJjZSBPREJDIHN1Yi1zeXN0ZW0iCi1ERVNDUklQVElPTiA9ICJ1bml4T0RCQyBpcyBhbiBPcGVuIFNvdXJjZSBPREJDIHN1Yi1zeXN0ZW0gYW5kIGFuIE9EQkMgU0RLIFwKLWZvciBMaW51eCwgTWFjIE9TWCwgYW5kIFVOSVguIgotCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnVuaXhvZGJjLm9yZy8iCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDdiMzdiZjgwYTNkZjVhNjViMzU1NDMzYWUzNmQyMDYiCi0KLURFUEVORFMgPSAibGlidG9vbCBteXNxbDUiCi0KLVNSQ19VUkkgPSAiZnRwOi8vZnRwLnVuaXhvZGJjLm9yZy9wdWIvdW5peE9EQkMvdW5peE9EQkMtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2RvLW5vdC11c2UtbGlibHRkbC1zb3VyY2UtZGlyZWN0b3J5LnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICJhODYyOWZkMjk1M2IwNGI0NjM5ZDBhOWQ4YTVjZjlkMSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4OGI2MzdmNjQ3YzA1MmVjYzM4NjFhM2JhYTI3NWMzYjUwM2IxOTNiNmE0OWZmOGMyOGIyNTY4NjU2ZDE0ZDY5IgotCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJ1bml4T0RCQy0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRhciIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCi0KLVMgPSAiJHtXT1JLRElSfS91bml4T0RCQy0ke1BWfSIKLQotRVhUUkFfT0VNQUtFICs9ICJMSUJTPS1sbHRkbCIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgIyBvbGQgbTQgZmlsZXMgd2lsbCBjYXVzZSBsaWJ0b29sIHZlcnNpb24gZG9uJ3QgbWF0Y2gKLSAgICBybSAtcmYgbTQvKgotICAgIHJtIC1mciBsaWJsdGRsCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91bml4b2RiYy91bml4b2RiY18yLjMuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VuaXhvZGJjL3VuaXhvZGJjXzIuMy43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2M2JhZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91bml4b2RiYy91bml4b2RiY18yLjMuNy5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkFuIE9wZW4gU291cmNlIE9EQkMgc3ViLXN5c3RlbSIKK0RFU0NSSVBUSU9OID0gInVuaXhPREJDIGlzIGFuIE9wZW4gU291cmNlIE9EQkMgc3ViLXN5c3RlbSBhbmQgYW4gT0RCQyBTREsgXAorZm9yIExpbnV4LCBNYWMgT1NYLCBhbmQgVU5JWC4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudW5peG9kYmMub3JnLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kN2IzN2JmODBhM2RmNWE2NWIzNTU0MzNhZTM2ZDIwNiIKKworREVQRU5EUyA9ICJsaWJ0b29sIG15c3FsNSIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLnVuaXhvZGJjLm9yZy91bml4T0RCQy0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZG8tbm90LXVzZS1saWJsdGRsLXNvdXJjZS1kaXJlY3RvcnkucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjI3NGE3MTFiMGM3NzM5NGUwNTJkYjY0OTM4NDBjNmY5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ1ZjE2OWJhMWY0NTRhNzJiOGZjYmI4MmFiZDgzMjYzMGEzYmY5M2JhYTg0NzMxY2YyOTQ5ZjQ0OWUxZTNlNzciCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInVuaXhPREJDLSg/UDxwdmVyPlxkKyhcLlxkKykrKVwudGFyIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUyA9ICIke1dPUktESVJ9L3VuaXhPREJDLSR7UFZ9IgorCitFWFRSQV9PRU1BS0UgKz0gIkxJQlM9LWxsdGRsIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIG9sZCBtNCBmaWxlcyB3aWxsIGNhdXNlIGxpYnRvb2wgdmVyc2lvbiBkb24ndCBtYXRjaAorICAgIHJtIC1yZiBtNC8qCisgICAgcm0gLWZyIGxpYmx0ZGwKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Vwb3dlci91cG93ZXJfMC45OS43LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXBvd2VyL3Vwb3dlcl8wLjk5LjcuYmIKaW5kZXggMmNmMzE2My4uM2ZkOTFlOSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXBvd2VyL3Vwb3dlcl8wLjk5LjcuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXBvd2VyL3Vwb3dlcl8wLjk5LjcuYmIKQEAgLTExLDcgKzExLDkgQEAKIFNSQ19VUklbbWQ1c3VtXSA9ICIyMzZiYjQzOWQ5ZmYxMTUxNDUwYjNkODU4MjM5OTUzMiIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICIyNGJjYzJmNmFiMjVhMjUzM2JhYzcwYjU4N2JjYjAxOWU1OTEyOTMwNzY5MjBmNWI1ZTA0YmRlZGMxNDBhNDAxIgogCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dCBnb2JqZWN0LWludHJvc3BlY3Rpb24gc3lzdGVtZAoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHN5c3RlbWQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJwb2xraXQiCiAKIFBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgogUEFDS0FHRUNPTkZJR1tpZGV2aWNlXSA9ICItLXdpdGgtaWRldmljZSwtLXdpdGhvdXQtaWRldmljZSxsaWJpbW9iaWxlZGV2aWNlIGxpYnBsaXN0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNiLW1vZGVzd2l0Y2gvdXNiLW1vZGVzd2l0Y2gtZGF0YV8yMDE3MDIwNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoLWRhdGFfMjAxNzAyMDUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlZWQ1ZTIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNiLW1vZGVzd2l0Y2gvdXNiLW1vZGVzd2l0Y2gtZGF0YV8yMDE3MDIwNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVNVTU1BUlkgPSAiRGF0YSBmaWxlcyBmb3IgdXNibW9kZXN3aXRjaCIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKLQotaW5oZXJpdCBhbGxhcmNoCi0KLURFUEVORFMgKz0gInRjbC1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5kcmFpc2Jlcmdob2YuZGUvdXNiX21vZGVzd2l0Y2gvJHtCUH0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICIwY2MxMDdjZDBjNGM4M2RmMGQ5NDAwYzk5OWUyMWRmZCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlMmRjZmQ5ZDI4OTI4ZDhkOGYwMzM4MTU3MWEyMzQ0MmIzYzUwZDQ4ZDM0M2JjNDBhMWEwN2QwMTY2MjczOGQxIgotCi1kb19pbnN0YWxsKCkgewotICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KLX0KLQotUkRFUEVORFNfJHtQTn0gPSAidXNiLW1vZGVzd2l0Y2ggKD49IDIuNC4wKSIKLUZJTEVTXyR7UE59ICs9ICIke2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3VzYl9tb2Rlc3dpdGNoIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNiLW1vZGVzd2l0Y2gvdXNiLW1vZGVzd2l0Y2gtZGF0YV8yMDE3MDgwNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoLWRhdGFfMjAxNzA4MDYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmFiZDk0MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoLWRhdGFfMjAxNzA4MDYuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJEYXRhIGZpbGVzIGZvciB1c2Jtb2Rlc3dpdGNoIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitpbmhlcml0IGFsbGFyY2gKKworREVQRU5EUyArPSAidGNsLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmRyYWlzYmVyZ2hvZi5kZS91c2JfbW9kZXN3aXRjaC8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImZiNTBkMTViNTJlOTA5ZDc0MmRkMTZmMGE5ODgyMzE2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImNlNDEzZWYyYTUwZTY0OGU5YzgxYmMzZWE2MTEwZTczMjRhOGJmOTgxMDM0ZmM5ZWM0NDY3ZDM1NjI1NjNjMmMiCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCitSREVQRU5EU18ke1BOfSA9ICJ1c2ItbW9kZXN3aXRjaCAoPj0gMi40LjApIgorRklMRVNfJHtQTn0gKz0gIiR7YmFzZV9saWJkaXJ9L3VkZXYvcnVsZXMuZC8gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vdXNiX21vZGVzd2l0Y2giCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2ItbW9kZXN3aXRjaC91c2ItbW9kZXN3aXRjaF8yLjUuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoXzIuNS4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYzBkZjhiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoXzIuNS4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotU1VNTUFSWSA9ICJBIG1vZGUgc3dpdGNoaW5nIHRvb2wgZm9yIGNvbnRyb2xsaW5nICdmbGlwIGZsb3AnIChtdWx0aXBsZSBkZXZpY2UpIFVTQiBnZWFyIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgotCi1ERVBFTkRTID0gImxpYnVzYjEiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5kcmFpc2Jlcmdob2YuZGUvdXNiX21vZGVzd2l0Y2gvJHtCUH0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICIzOGFkNWM5ZDcwZTA2MjI3YTAwMzYxYmRjMmIxZTU2OCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzMWMwYmUyODBkNDlhOTllYzNkYzBiZTMzMjViZWYzMjBkOWMwNGI1MDcxNGVmMGNlMWUzNmE2MTRkNjg3NjMzIgotCi1pbmhlcml0IHBrZ2NvbmZpZyBzeXN0ZW1kCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ1c2JfbW9kZXN3aXRjaEAuc2VydmljZSIKLQotRVhUUkFfT0VNQUtFID0gIlRDTD0ke2JpbmRpcn0vdGNsc2giCi0KLUZJTEVTXyR7UE59ID0gIiR7YmluZGlyfSAke3N5c2NvbmZkaXJ9ICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi91c2JfbW9kZXN3aXRjaCAke3NiaW5kaXJ9ICR7bG9jYWxzdGF0ZWRpcn0vbGliL3VzYl9tb2Rlc3dpdGNoIgotUkRFUEVORFNfJHtQTn0gPSAidGNsIgotUlJFQ09NTUVORFNfJHtQTn0gPSAidXNiLW1vZGVzd2l0Y2gtZGF0YSIKLQotZG9faW5zdGFsbCgpIHsKLSAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgotICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1N9L3VzYl9tb2Rlc3dpdGNoQC5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgIGZpCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2ItbW9kZXN3aXRjaC91c2ItbW9kZXN3aXRjaF8yLjUuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoXzIuNS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzZTQwYjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2ItbW9kZXN3aXRjaC91c2ItbW9kZXN3aXRjaF8yLjUuMi5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkEgbW9kZSBzd2l0Y2hpbmcgdG9vbCBmb3IgY29udHJvbGxpbmcgJ2ZsaXAgZmxvcCcgKG11bHRpcGxlIGRldmljZSkgVVNCIGdlYXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK0RFUEVORFMgPSAibGlidXNiMSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmRyYWlzYmVyZ2hvZi5kZS91c2JfbW9kZXN3aXRjaC8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjE2YjlhOGVmYTFiZjhmYmQ3ZDU2MTI3NTdlYWU0ZjI2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFiZmZhYzA5Yzg3ZWFjZDc4ZTEwMTU0NTk2N2RjMjVhZjdlOTg5NzQ1YjQyNzY3NTZkNDVkYmY0MDA4YTJlYTYiCisKK2luaGVyaXQgcGtnY29uZmlnIHN5c3RlbWQKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInVzYl9tb2Rlc3dpdGNoQC5zZXJ2aWNlIgorCitFWFRSQV9PRU1BS0UgPSAiVENMPSR7YmluZGlyfS90Y2xzaCIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9ICR7c3lzY29uZmRpcn0gJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3VzYl9tb2Rlc3dpdGNoICR7c2JpbmRpcn0gJHtsb2NhbHN0YXRlZGlyfS9saWIvdXNiX21vZGVzd2l0Y2giCitSREVQRU5EU18ke1BOfSA9ICJ0Y2wiCitSUkVDT01NRU5EU18ke1BOfSA9ICJ1c2ItbW9kZXN3aXRjaC1kYXRhIgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vdXNiX21vZGVzd2l0Y2hALnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgZmkKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0aGFzaC91dGhhc2hfMi4wLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dGhhc2gvdXRoYXNoXzIuMC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjY2RkMTNiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0aGFzaC91dGhhc2hfMi4wLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1TVU1NQVJZID0gIkhhc2ggdGFibGUgYW5kIGxpbmtlZCBsaXN0IGZvciBDIHN0cnVjdHVyZXMiCi1ERVNDUklQVElPTiA9ICIgdXRoYXNoLWRldiBwcm92aWRlcyBhIGhhc2ggdGFibGUgaW1wbGVtZW50YXRpb24gdXNpbmcgQyBwcmVwcm9jZXNzb3IgbWFjcm9zLlxuXAotIFRoaXMgcGFja2FnZSBhbHNvIGluY2x1ZGVzOlxuXAotICAqIHV0bGlzdC5oIHByb3ZpZGVzIGxpbmtlZCBsaXN0IG1hY3JvcyBmb3IgQyBzdHJ1Y3R1cmVzXG5cCi0gICogdXRhcnJheS5oIGltcGxlbWVudHMgZHluYW1pYyBhcnJheXMgdXNpbmcgbWFjcm9zXG5cCi0gICogdXRzdHJpbmcuaCBpbXBsZW1lbnRzIGEgYmFzaWMgZHluYW1pYyBzdHJpbmdcblwKLSIKLUhPTUVQQUdFID0gImh0dHBzOi8vdHJveWRoYW5zb24uZ2l0aHViLmlvL3V0aGFzaC8iCi1TRUNUSU9OID0gImJhc2UiCi1MSUNFTlNFID0gIkJTRC0xLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTVjYzFmMWU0YzcxZjE5ZjU4MDQ1ODU4Njc1NmMwMmI0IgotCi1TUkNfVVJJID0gIlwKLSAgICBodHRwczovL2dpdGh1Yi5jb20vdHJveWRoYW5zb24vJHtCUE59L2FyY2hpdmUvdiR7UFZ9LnRhci5nejtkb3dubG9hZGZpbGVuYW1lPSR7QlB9LnRhci5neiBcCi0gICAgZmlsZTovL3J1bi1wdGVzdCBcCi0iCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3Ryb3lkaGFuc29uLyR7QlBOfS9yZWxlYXNlcyIKLQotU1JDX1VSSVttZDVzdW1dID0gImQwODYzMmE1ODY3NDI3NGM5Y2Q4N2UyOTMwZjU2OTZhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM0YTMxZDUxZGQ3YTgzOTgxOWNlY2Q2ZjQ2MDQ5YjRmZmUwMzFkN2YzMTQ3ZDlhMDQyZjU1MDRmZGIxMzQ4ZDEiCi0KLWluaGVyaXQgcHRlc3QKLQotZG9fY29tcGlsZVtub2V4ZWNdID0gIjEiCi0KLWRvX2NvbXBpbGVfcHRlc3QoKSB7Ci0gICAgb2VfcnVubWFrZSAtQyB0ZXN0cyB0ZXN0c19vbmx5IFRFU1RfVEFSR0VUPQotfQotCi1kb19pbnN0YWxsICgpIHsKLSAgICBpbnN0YWxsIC1kbTc1NSAke0R9JHtpbmNsdWRlZGlyfQotICAgIGluc3RhbGwgLW0wNjQ0IHNyYy8qLmggJHtEfSR7aW5jbHVkZWRpcn0KLX0KLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLSAgICBpbnN0YWxsIC1kbTc1NSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cwotICAgIGluc3RhbGwgLW0wNzU1IHRlc3RzL3Rlc3QqWzAtOV0gJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKLSAgICBpbnN0YWxsIC1tMDY0NCB0ZXN0cy90ZXN0KlswLTldLmFucyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cwotICAgIGluc3RhbGwgLW0wNjQ0IHRlc3RzL3Rlc3QqWzAtOV0uZGF0ICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCi19Ci0KLSMgVGhlIG1haW4gcGFja2FnZSBpcyBlbXB0eSBhbmQgbm9uLWV4aXN0ZW50LCBzbyAtZGV2Ci0jIHNob3VsZCBub3QgZGVwZW5kIG9uIGl0Li4uCi1SREVQRU5EU18ke1BOfS1kZXYgPSAiIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0aGFzaC91dGhhc2hfMi4xLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dGhhc2gvdXRoYXNoXzIuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlYjEzODMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dGhhc2gvdXRoYXNoXzIuMS4wLmJiCkBAIC0wLDAgKzEsNDYgQEAKK1NVTU1BUlkgPSAiSGFzaCB0YWJsZSBhbmQgbGlua2VkIGxpc3QgZm9yIEMgc3RydWN0dXJlcyIKK0RFU0NSSVBUSU9OID0gIiB1dGhhc2gtZGV2IHByb3ZpZGVzIGEgaGFzaCB0YWJsZSBpbXBsZW1lbnRhdGlvbiB1c2luZyBDIHByZXByb2Nlc3NvciBtYWNyb3MuXG5cCisgVGhpcyBwYWNrYWdlIGFsc28gaW5jbHVkZXM6XG5cCisgICogdXRsaXN0LmggcHJvdmlkZXMgbGlua2VkIGxpc3QgbWFjcm9zIGZvciBDIHN0cnVjdHVyZXNcblwKKyAgKiB1dGFycmF5LmggaW1wbGVtZW50cyBkeW5hbWljIGFycmF5cyB1c2luZyBtYWNyb3NcblwKKyAgKiB1dHN0cmluZy5oIGltcGxlbWVudHMgYSBiYXNpYyBkeW5hbWljIHN0cmluZ1xuXAorIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly90cm95ZGhhbnNvbi5naXRodWIuaW8vdXRoYXNoLyIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiQlNELTEtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YTI1MTNmN2QyMjkxZGY4NDA1MjdiNzZiMmE4Zjk3MTgiCisKK1NSQ19VUkkgPSAiXAorICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90cm95ZGhhbnNvbi8ke0JQTn0vYXJjaGl2ZS92JHtQVn0udGFyLmd6O2Rvd25sb2FkZmlsZW5hbWU9JHtCUH0udGFyLmd6IFwKKyAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyIKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vdHJveWRoYW5zb24vJHtCUE59L3JlbGVhc2VzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNGQwYTMzZjYzOTMyNjA5MjYwMzJmMWZhZDRiYWQzOWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTUyY2NkOGU2NGQwZjQ5NTM3NzIzMmUzOTY0ZDA2YzdlYzhiYjhjM2ZiZDMyMTdmOGE1NzAyNjE0ZjlhNjY5ZSIKKworaW5oZXJpdCBwdGVzdAorCitkb19jb21waWxlW25vZXhlY10gPSAiMSIKKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKyAgICBvZV9ydW5tYWtlIC1DIHRlc3RzIHRlc3RzX29ubHkgVEVTVF9UQVJHRVQ9Cit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWRtNzU1ICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgaW5zdGFsbCAtbTA2NDQgc3JjLyouaCAke0R9JHtpbmNsdWRlZGlyfQorfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworICAgIGluc3RhbGwgLWRtNzU1ICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCisgICAgaW5zdGFsbCAtbTA3NTUgdGVzdHMvdGVzdCpbMC05XSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cworICAgIGluc3RhbGwgLW0wNjQ0IHRlc3RzL3Rlc3QqWzAtOV0uYW5zICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCisgICAgaW5zdGFsbCAtbTA2NDQgdGVzdHMvdGVzdCpbMC05XS5kYXQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKK30KKworIyBUaGUgbWFpbiBwYWNrYWdlIGlzIGVtcHR5IGFuZCBub24tZXhpc3RlbnQsIHNvIC1kZXYKKyMgc2hvdWxkIG5vdCBkZXBlbmQgb24gaXQuLi4KK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzL2tlcm5lbC00LjE4LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzL2tlcm5lbC00LjE4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5M2VhYTNkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVycy9rZXJuZWwtNC4xOC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLURlc2NyaXB0aW9uOiBGaXggYnVpbGQgZmFpbHVyZSB3aXRoIG5ldyBrZXJuZWwgNC4xOAotQXV0aG9yOiBHaWFuZnJhbmNvIENvc3RhbWFnbmEgPGxvY3V0dXNvZmJvcmdAZGViaWFuLm9yZz4KLQotVXBzdHJlYW0tU3RhdHVzOlBlbmRpbmcKLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1JbmRleDogdmJveF9tb2R1bGUvdmJveHNmL3V0aWxzLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2Ym94X21vZHVsZS5vcmlnL3Zib3hzZi91dGlscy5jCi0rKysgdmJveF9tb2R1bGUvdmJveHNmL3V0aWxzLmMKLUBAIC01MCw3ICs1MCwxMSBAQCBzdGF0aWMgdm9pZCBzZl90aW1lc3BlY19mcm9tX2Z0aW1lKFJUVElNCi0gICAgIFJUVGltZVNwZWNTZXROYW5vKHRzLCB0KTsKLSB9Ci0gI2Vsc2UgLyogPj0gMi42LjAgKi8KLSsjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oNCwgMTgsIDApCi0gc3RhdGljIHZvaWQgc2ZfZnRpbWVfZnJvbV90aW1lc3BlYyhzdHJ1Y3QgdGltZXNwZWMgKnR2LCBSVFRJTUVTUEVDICp0cykKLSsjZWxzZQotK3N0YXRpYyB2b2lkIHNmX2Z0aW1lX2Zyb21fdGltZXNwZWMoc3RydWN0IHRpbWVzcGVjNjQgKnR2LCBSVFRJTUVTUEVDICp0cykKLSsjZW5kaWYKLSB7Ci0gICAgIGludDY0X3QgdCA9IFJUVGltZVNwZWNHZXROYW5vKHRzKTsKLSAgICAgaW50NjRfdCBuc2VjOwotQEAgLTYwLDcgKzY0LDExIEBAIHN0YXRpYyB2b2lkIHNmX2Z0aW1lX2Zyb21fdGltZXNwZWMoc3RydWMKLSAgICAgdHYtPnR2X25zZWMgPSBuc2VjOwotIH0KLSAKLSsjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oNCwgMTgsIDApCi0gc3RhdGljIHZvaWQgc2ZfdGltZXNwZWNfZnJvbV9mdGltZShSVFRJTUVTUEVDICp0cywgc3RydWN0IHRpbWVzcGVjICp0dikKLSsjZWxzZQotK3N0YXRpYyB2b2lkIHNmX3RpbWVzcGVjX2Zyb21fZnRpbWUoUlRUSU1FU1BFQyAqdHMsIHN0cnVjdCB0aW1lc3BlYzY0ICp0dikKLSsjZW5kaWYKLSB7Ci0gICAgIGludDY0X3QgdCA9IChpbnQ2NF90KXR2LT50dl9uc2VjICsgKGludDY0X3QpdHYtPnR2X3NlYyAqIDEwMDAwMDAwMDA7Ci0gICAgIFJUVGltZVNwZWNTZXROYW5vKHRzLCB0KTsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVyc181LjIuMTguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92Ym94Z3Vlc3Rkcml2ZXJzL3Zib3hndWVzdGRyaXZlcnNfNS4yLjE4LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTRjYzM4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVyc181LjIuMTguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi1TVU1NQVJZID0gIlZpcnR1YWxCb3ggTGludXggR3Vlc3QgRHJpdmVycyIKLVNFQ1RJT04gPSAiY29yZSIKLUxJQ0VOU0UgPSAiR1BMLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vJHtWQk9YX05BTUV9L0NPUFlJTkc7bWQ1PWUxOTdkNTY0MWJiMzViMjlkNDZjYThjNGJmN2YyNjYwIgotCi1ERVBFTkRTID0gInZpcnR1YWwva2VybmVsIgotCi1pbmhlcml0IG1vZHVsZSBrZXJuZWwtbW9kdWxlLXNwbGl0Ci0KLUNPTVBBVElCTEVfTUFDSElORSA9ICIocWVtdXg4NnxxZW11eDg2LTY0KSIKLQotVkJPWF9OQU1FID0gIlZpcnR1YWxCb3gtJHtQVn0iCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnZpcnR1YWxib3gub3JnL3ZpcnR1YWxib3gvJHtQVn0vJHtWQk9YX05BTUV9LnRhci5iejIgXAotICAgIGZpbGU6Ly9NYWtlZmlsZS51dGlscyBcCi0gICAgZmlsZTovL2tlcm5lbC00LjE4LnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICJkOGUyOTE1MjViODQ1NjkzNTY3NzNlZWY1MDdjNDljZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlZDBhN2VmZDU2YzdmMzlmYWU3OWM3ZWMzMzIxNDczZGE0MTJlZjBkNzkxNDQ1N2I2NmY0MjY3OWQ1MTNlZmNmIgotCi1TID0gIiR7V09SS0RJUn0vdmJveF9tb2R1bGUiCi0KLWV4cG9ydCBCVUlMRF9UQVJHRVRfQVJDSD0iJHtBUkNIfSIKLWV4cG9ydCBCVUlMRF9UQVJHRVRfQVJDSF94ODYtNjQ9ImFtZDY0IgotCi1FWFRSQV9PRU1BS0UgKz0gIktFUk5fRElSPScke1dPUktESVJ9LyR7S0VSTkVMX1ZFUlNJT059L2J1aWxkJyIKLQotYWRkdGFzayBleHBvcnRfc291cmNlcyBiZWZvcmUgZG9fcGF0Y2ggYWZ0ZXIgZG9fdW5wYWNrCi0KLWRvX2V4cG9ydF9zb3VyY2VzKCkgewotICAgIG1rZGlyIC1wICIke1N9IgotICAgICR7V09SS0RJUn0vJHtWQk9YX05BTUV9L3NyYy9WQm94L0FkZGl0aW9ucy9saW51eC9leHBvcnRfbW9kdWxlcy5zaCAke1R9L3Zib3hfbW9kdWxlcy50YXIuZ3oKLSAgICB0YXIgLUMgIiR7U30iIC14emYgJHtUfS92Ym94X21vZHVsZXMudGFyLmd6Ci0KLSAgICAjIGFkZCBhIG1vdW50IHV0aWxpdHkgdG8gdXNlIHNoYXJlZCBmb2xkZXIgZnJvbSBWQm94IEFkZGl0aW9uIFNvdXJjZSBDb2RlCi0gICAgbWtkaXIgLXAgIiR7U30vdXRpbHMiCi0gICAgaW5zdGFsbCAke1dPUktESVJ9LyR7VkJPWF9OQU1FfS9zcmMvVkJveC9BZGRpdGlvbnMvbGludXgvc2hhcmVkZm9sZGVycy9tb3VudC52Ym94c2YuYyAke1N9L3V0aWxzCi0gICAgaW5zdGFsbCAke1dPUktESVJ9LyR7VkJPWF9OQU1FfS9zcmMvVkJveC9BZGRpdGlvbnMvbGludXgvc2hhcmVkZm9sZGVycy92YnNmbW91bnQuYyAke1N9L3V0aWxzCi0gICAgaW5zdGFsbCAke1N9Ly4uL01ha2VmaWxlLnV0aWxzICR7U30vdXRpbHMvTWFrZWZpbGUKLQotfQotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICAjIHZib3hndWVzdGRyaXZlcnMvNS4yLjYtcjAvdmJveF9tb2R1bGUvdmJveGd1ZXN0L01ha2VmaWxlLmluY2x1ZGUuaGVhZGVyOjk5OiAqKiogVGhlIHZhcmlhYmxlIEtFUk5fRElSIG11c3QgYmUgYSBrZXJuZWwgYnVpbGQgZm9sZGVyIGFuZCBlbmQgd2l0aCAvYnVpbGQgd2l0aG91dCBhIHRyYWlsaW5nIHNsYXNoLCBvciBLRVJOX1ZFUiBtdXN0IGJlIHNldC4gIFN0b3AuCi0gICAgIyB2Ym94Z3Vlc3Rkcml2ZXJzLzUuMi42LXIwL3Zib3hfbW9kdWxlL3Zib3hndWVzdC9NYWtlZmlsZS5pbmNsdWRlLmhlYWRlcjoxMDg6ICoqKiBUaGUga2VybmVsIGJ1aWxkIGZvbGRlciBwYXRoIG11c3QgZW5kIGluIDx2ZXJzaW9uPi9idWlsZCwgb3IgdGhlIHZhcmlhYmxlIEtFUk5fVkVSIG11c3QgYmUgc2V0LiAgU3RvcC4KLSAgICBta2RpciAtcCAke1dPUktESVJ9LyR7S0VSTkVMX1ZFUlNJT059Ci0gICAgbG4gLXNuZiAke1NUQUdJTkdfS0VSTkVMX0RJUn0gJHtXT1JLRElSfS8ke0tFUk5FTF9WRVJTSU9OfS9idWlsZAotfQotCi0jIGNvbXBpbGUgYW5kIGluc3RhbGwgbW91bnQgdXRpbGl0eQotZG9fY29tcGlsZV9hcHBlbmQoKSB7Ci0gICAgb2VfcnVubWFrZSAnTEQ9JHtDQ30nICdMREZMQUdTPSR7TERGTEFHU30nIC1DICR7U30vdXRpbHMKLSAgICBpZiAhIFsgLWUgdmJveGd1ZXN0LmtvIC1hIC1lIHZib3hzZi5rbyAtYSAtZSB2Ym94dmlkZW8ua28gXSA7IHRoZW4KLSAgICAgICAgZWNobyAiRVJST1I6IE9uZSBvZiB2Ym94Ki5rbyBtb2R1bGVzIHdhc24ndCBidWlsdCIKLSAgICAgICAgZXhpdCAxCi0gICAgZmkKLX0KLQotbW9kdWxlX2RvX2luc3RhbGwoKSB7Ci0gICAgTU9EVUxFX0RJUj0ke0R9JHtub25hcmNoX2Jhc2VfbGliZGlyfS9tb2R1bGVzLyR7S0VSTkVMX1ZFUlNJT059L2tlcm5lbC9taXNjCi0gICAgaW5zdGFsbCAtZCAkTU9EVUxFX0RJUgotICAgIGluc3RhbGwgLW0gNjQ0IHZib3hndWVzdC5rbyAkTU9EVUxFX0RJUgotICAgIGluc3RhbGwgLW0gNjQ0IHZib3hzZi5rbyAkTU9EVUxFX0RJUgotICAgIGluc3RhbGwgLW0gNjQ0IHZib3h2aWRlby5rbyAkTU9EVUxFX0RJUgotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2Jhc2Vfc2JpbmRpcn0KLSAgICBpbnN0YWxsIC1tIDc1NSAke1N9L3V0aWxzL21vdW50LnZib3hzZiAke0R9JHtiYXNlX3NiaW5kaXJ9Ci19Ci0KLVBBQ0tBR0VTICs9ICJrZXJuZWwtbW9kdWxlLXZib3hndWVzdCBrZXJuZWwtbW9kdWxlLXZib3hzZiBrZXJuZWwtbW9kdWxlLXZib3h2aWRlbyIKLVJSRUNPTU1FTkRTXyR7UE59ICs9ICJrZXJuZWwtbW9kdWxlLXZib3hndWVzdCBrZXJuZWwtbW9kdWxlLXZib3hzZiBrZXJuZWwtbW9kdWxlLXZib3h2aWRlbyIKLQotRklMRVNfJHtQTn0gPSAiJHtiYXNlX3NiaW5kaXJ9IgotCi0jIGF1dG9sb2FkIGlmIGluc3RhbGxlZAotS0VSTkVMX01PRFVMRV9BVVRPTE9BRCArPSAidmJveGd1ZXN0IHZib3hzZiB2Ym94dmlkZW8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92Ym94Z3Vlc3Rkcml2ZXJzL3Zib3hndWVzdGRyaXZlcnNfNS4yLjIyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzXzUuMi4yMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzk0ZjM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzXzUuMi4yMi5iYgpAQCAtMCwwICsxLDgwIEBACitTVU1NQVJZID0gIlZpcnR1YWxCb3ggTGludXggR3Vlc3QgRHJpdmVycyIKK1NFQ1RJT04gPSAiY29yZSIKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vJHtWQk9YX05BTUV9L0NPUFlJTkc7bWQ1PWUxOTdkNTY0MWJiMzViMjlkNDZjYThjNGJmN2YyNjYwIgorCitERVBFTkRTID0gInZpcnR1YWwva2VybmVsIgorCitpbmhlcml0IG1vZHVsZSBrZXJuZWwtbW9kdWxlLXNwbGl0CisKK0NPTVBBVElCTEVfTUFDSElORSA9ICIocWVtdXg4NnxxZW11eDg2LTY0KSIKKworVkJPWF9OQU1FID0gIlZpcnR1YWxCb3gtJHtQVn0iCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnZpcnR1YWxib3gub3JnL3ZpcnR1YWxib3gvJHtQVn0vJHtWQk9YX05BTUV9LnRhci5iejIgXAorICAgIGZpbGU6Ly9NYWtlZmlsZS51dGlscyBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiYzljMmYxNjJhYzVmOTlkMjhkOGMwY2E0M2IxOWVkMDEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTU4MGU4NzUzNDkzNDFhMWFhYmM2ZDVkMmY2OTdkMjQyZjI3NzQ4NzMxNmZhYWYxZmJlNjhkOTAxNGY3ODhkNCIKKworUyA9ICIke1dPUktESVJ9L3Zib3hfbW9kdWxlIgorCitleHBvcnQgQlVJTERfVEFSR0VUX0FSQ0g9IiR7QVJDSH0iCitleHBvcnQgQlVJTERfVEFSR0VUX0FSQ0hfeDg2LTY0PSJhbWQ2NCIKKworRVhUUkFfT0VNQUtFICs9ICJLRVJOX0RJUj0nJHtXT1JLRElSfS8ke0tFUk5FTF9WRVJTSU9OfS9idWlsZCciCisKKyMgb3RoZXJ3aXNlIDUuMi4yMiBidWlsZHMganVzdCB2Ym94Z3Vlc3QKK01BS0VfVEFSR0VUUyA9ICJhbGwiCisKK2FkZHRhc2sgZXhwb3J0X3NvdXJjZXMgYmVmb3JlIGRvX3BhdGNoIGFmdGVyIGRvX3VucGFjaworCitkb19leHBvcnRfc291cmNlcygpIHsKKyAgICBta2RpciAtcCAiJHtTfSIKKyAgICAke1dPUktESVJ9LyR7VkJPWF9OQU1FfS9zcmMvVkJveC9BZGRpdGlvbnMvbGludXgvZXhwb3J0X21vZHVsZXMuc2ggJHtUfS92Ym94X21vZHVsZXMudGFyLmd6CisgICAgdGFyIC1DICIke1N9IiAteHpmICR7VH0vdmJveF9tb2R1bGVzLnRhci5negorCisgICAgIyBhZGQgYSBtb3VudCB1dGlsaXR5IHRvIHVzZSBzaGFyZWQgZm9sZGVyIGZyb20gVkJveCBBZGRpdGlvbiBTb3VyY2UgQ29kZQorICAgIG1rZGlyIC1wICIke1N9L3V0aWxzIgorICAgIGluc3RhbGwgJHtXT1JLRElSfS8ke1ZCT1hfTkFNRX0vc3JjL1ZCb3gvQWRkaXRpb25zL2xpbnV4L3NoYXJlZGZvbGRlcnMvbW91bnQudmJveHNmLmMgJHtTfS91dGlscworICAgIGluc3RhbGwgJHtXT1JLRElSfS8ke1ZCT1hfTkFNRX0vc3JjL1ZCb3gvQWRkaXRpb25zL2xpbnV4L3NoYXJlZGZvbGRlcnMvdmJzZm1vdW50LmMgJHtTfS91dGlscworICAgIGluc3RhbGwgJHtTfS8uLi9NYWtlZmlsZS51dGlscyAke1N9L3V0aWxzL01ha2VmaWxlCisKK30KKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyB2Ym94Z3Vlc3Rkcml2ZXJzLzUuMi42LXIwL3Zib3hfbW9kdWxlL3Zib3hndWVzdC9NYWtlZmlsZS5pbmNsdWRlLmhlYWRlcjo5OTogKioqIFRoZSB2YXJpYWJsZSBLRVJOX0RJUiBtdXN0IGJlIGEga2VybmVsIGJ1aWxkIGZvbGRlciBhbmQgZW5kIHdpdGggL2J1aWxkIHdpdGhvdXQgYSB0cmFpbGluZyBzbGFzaCwgb3IgS0VSTl9WRVIgbXVzdCBiZSBzZXQuICBTdG9wLgorICAgICMgdmJveGd1ZXN0ZHJpdmVycy81LjIuNi1yMC92Ym94X21vZHVsZS92Ym94Z3Vlc3QvTWFrZWZpbGUuaW5jbHVkZS5oZWFkZXI6MTA4OiAqKiogVGhlIGtlcm5lbCBidWlsZCBmb2xkZXIgcGF0aCBtdXN0IGVuZCBpbiA8dmVyc2lvbj4vYnVpbGQsIG9yIHRoZSB2YXJpYWJsZSBLRVJOX1ZFUiBtdXN0IGJlIHNldC4gIFN0b3AuCisgICAgbWtkaXIgLXAgJHtXT1JLRElSfS8ke0tFUk5FTF9WRVJTSU9OfQorICAgIGxuIC1zbmYgJHtTVEFHSU5HX0tFUk5FTF9ESVJ9ICR7V09SS0RJUn0vJHtLRVJORUxfVkVSU0lPTn0vYnVpbGQKK30KKworIyBjb21waWxlIGFuZCBpbnN0YWxsIG1vdW50IHV0aWxpdHkKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIG9lX3J1bm1ha2UgJ0xEPSR7Q0N9JyAnTERGTEFHUz0ke0xERkxBR1N9JyAtQyAke1N9L3V0aWxzCisgICAgaWYgISBbIC1lIHZib3hndWVzdC5rbyAtYSAtZSB2Ym94c2Yua28gLWEgLWUgdmJveHZpZGVvLmtvIF0gOyB0aGVuCisgICAgICAgIGVjaG8gIkVSUk9SOiBPbmUgb2YgdmJveCoua28gbW9kdWxlcyB3YXNuJ3QgYnVpbHQiCisgICAgICAgIGV4aXQgMQorICAgIGZpCit9CisKK21vZHVsZV9kb19pbnN0YWxsKCkgeworICAgIE1PRFVMRV9ESVI9JHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vbW9kdWxlcy8ke0tFUk5FTF9WRVJTSU9OfS9rZXJuZWwvbWlzYworICAgIGluc3RhbGwgLWQgJE1PRFVMRV9ESVIKKyAgICBpbnN0YWxsIC1tIDY0NCB2Ym94Z3Vlc3Qua28gJE1PRFVMRV9ESVIKKyAgICBpbnN0YWxsIC1tIDY0NCB2Ym94c2Yua28gJE1PRFVMRV9ESVIKKyAgICBpbnN0YWxsIC1tIDY0NCB2Ym94dmlkZW8ua28gJE1PRFVMRV9ESVIKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiYXNlX3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS91dGlscy9tb3VudC52Ym94c2YgJHtEfSR7YmFzZV9zYmluZGlyfQorfQorCitQQUNLQUdFUyArPSAia2VybmVsLW1vZHVsZS12Ym94Z3Vlc3Qga2VybmVsLW1vZHVsZS12Ym94c2Yga2VybmVsLW1vZHVsZS12Ym94dmlkZW8iCitSUkVDT01NRU5EU18ke1BOfSArPSAia2VybmVsLW1vZHVsZS12Ym94Z3Vlc3Qga2VybmVsLW1vZHVsZS12Ym94c2Yga2VybmVsLW1vZHVsZS12Ym94dmlkZW8iCisKK0ZJTEVTXyR7UE59ID0gIiR7YmFzZV9zYmluZGlyfSIKKworIyBhdXRvbG9hZCBpZiBpbnN0YWxsZWQKK0tFUk5FTF9NT0RVTEVfQVVUT0xPQUQgKz0gInZib3hndWVzdCB2Ym94c2YgdmJveHZpZGVvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL2Rpc2FibGVfYWNsX2hlYWRlcl9jaGVjay5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy9kaXNhYmxlX2FjbF9oZWFkZXJfY2hlY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3MjAwMDMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL2Rpc2FibGVfYWNsX2hlYWRlcl9jaGVjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gNWVkMjVjMDc2YTFmYjE4ODlhM2M1MGRkZGYyOWYyMTg1MGI1OWExMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPiAKLURhdGU6IFR1ZSwgMjYgSnVuIDIwMTggMTc6Mjk6MDkgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gZGlzYWJsZSBhY2wgaGVhZGVyIGNoZWNrCi0KLURvbid0IGNoZWNrICdzeXMvYWNsLmgnIGlmIGFjbCBzdXBwb3J0IGRpc2FibGVkIGZvciB2aW0vdmltLXRpbnkuCi0KLVVwc3RyZWFtLVN0YXR1czogcGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvY29uZmlndXJlLmFjIHwgMyArKy0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY29uZmlndXJlLmFjIGIvc3JjL2NvbmZpZ3VyZS5hYwotaW5kZXggMTA3YzE3MC4uMGVlODZhZCAxMDA2NDQKLS0tLSBhL3NyYy9jb25maWd1cmUuYWMKLSsrKyBiL3NyYy9jb25maWd1cmUuYWMKLUBAIC0zMjIwLDcgKzMyMjAsNyBAQCBBQ19DSEVDS19IRUFERVJTKHN0ZGludC5oIHN0ZGxpYi5oIHN0cmluZy5oIFwKLSAJc3lzL3N5c3RlbWluZm8uaCBsb2NhbGUuaCBzeXMvc3RyZWFtLmggdGVybWlvcy5oIFwKLSAJbGliYy5oIHN5cy9zdGF0ZnMuaCBwb2xsLmggc3lzL3BvbGwuaCBwd2QuaCBcCi0gCXV0aW1lLmggc3lzL3BhcmFtLmggbGliaW50bC5oIGxpYmdlbi5oIFwKLS0JdXRpbC9kZWJ1Zy5oIHV0aWwvbXNnMThuLmggZnJhbWUuaCBzeXMvYWNsLmggXAotKwl1dGlsL2RlYnVnLmggdXRpbC9tc2cxOG4uaCBmcmFtZS5oIFwKLSAJc3lzL2FjY2Vzcy5oIHN5cy9zeXNpbmZvLmggd2NoYXIuaCB3Y3R5cGUuaCkKLSAKLSBkbmwgc3lzL3B0ZW0uaCBkZXBlbmRzIG9uIHN5cy9zdHJlYW0uaCBvbiBTb2xhcmlzCi1AQCAtMzg0OCw2ICszODQ4LDcgQEAgQUNfQVJHX0VOQUJMRShhY2wsCi0gCSwgW2VuYWJsZV9hY2w9InllcyJdKQotIGlmIHRlc3QgIiRlbmFibGVfYWNsIiA9ICJ5ZXMiOyB0aGVuCi0gICBBQ19NU0dfUkVTVUxUKG5vKQotKyAgQUNfQ0hFQ0tfSEVBREVSUyhzeXMvYWNsLmgpCi0gICBBQ19DSEVDS19MSUIocG9zaXgxZSwgYWNsX2dldF9maWxlLCBbTElCUz0iJExJQlMgLWxwb3NpeDFlIl0sCi0gCUFDX0NIRUNLX0xJQihhY2wsIGFjbF9nZXRfZmlsZSwgW0xJQlM9IiRMSUJTIC1sYWNsIgotIAkJICBBQ19DSEVDS19MSUIoYXR0ciwgZmdldHhhdHRyLCBMSUJTPSIkTElCUyAtbGF0dHIiLCwpXSwsKSwpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fOC4xLjAzNDcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltXzguMS4wMzQ3LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZGU0ZDhlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fOC4xLjAzNDcuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMTggKzAsMCBAQAotU1VNTUFSWSA9ICJWaSBJTXByb3ZlZCAtIGVuaGFuY2VkIHZpIGVkaXRvciIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLQotUFJPVklERVMgPSAieHhkIgotREVQRU5EUyA9ICJuY3Vyc2VzIGdldHRleHQtbmF0aXZlIgotIyB2aW1kaWZmIGRvZXNuJ3QgbGlrZSBidXN5Ym94IGRpZmYKLVJTVUdHRVNUU18ke1BOfSA9ICJkaWZmdXRpbHMiCi1MSUNFTlNFID0gInZpbSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uL3J1bnRpbWUvZG9jL3VnYW5kYS50eHQ7ZW5kbGluZT0yODc7bWQ1PWYxZjgyYjQyMzYwMDA1YzcwYjhjMTliMGVmNDkzZjcyIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdmltL3ZpbS5naXQgXAotICAgICAgICAgICBmaWxlOi8vZGlzYWJsZV9hY2xfaGVhZGVyX2NoZWNrLnBhdGNoO3BhdGNoZGlyPS4uIFwKLSAgICAgICAgICAgZmlsZTovL3ZpbS1hZGQta25vYi13aGV0aGVyLWVsZi5oLWFyZS1jaGVja2VkLnBhdGNoO3BhdGNoZGlyPS4uIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3JjLU1ha2VmaWxlLWltcHJvdmUtcmVwcm9kdWNpYmlsaXR5LnBhdGNoO3BhdGNoZGlyPS4uIFwKLSIKLVNSQ1JFViA9ICJmMWMxMThiZTkzMTg0ZThlNTdlM2U4MGIxYjMzODNmNDY0ZWQ2NDllIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0L3NyYyIKLQotVklNRElSID0gInZpbSR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19JHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVsxXX0iCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtYWx0ZXJuYXRpdmVzCi0KLUNMRUFOQlJPS0VOID0gIjEiCi0KLSMgdmltIGNvbmZpZ3VyZS5pbiBjb250YWlucyBmdW5jdGlvbnMgd2hpY2ggZ290ICdkcm9wcGVkJyBieSBhdXRvdG9vbHMuYmJjbGFzcwotZG9fY29uZmlndXJlICgpIHsKLSAgICBybSAtZiBhdXRvLyoKLSAgICB0b3VjaCBhdXRvL2NvbmZpZy5tawotICAgIGFjbG9jYWwKLSAgICBhdXRvY29uZgotICAgIG9lX3J1bmNvbmYKLSAgICB0b3VjaCBhdXRvL2NvbmZpZ3VyZQotICAgIHRvdWNoIGF1dG8vY29uZmlnLm1rIGF1dG8vY29uZmlnLmgKLX0KLQotI0F2YWlsYWJsZSBQQUNLQUdFQ09ORklHIG9wdGlvbnMgYXJlIGd0a2d1aSwgYWNsLCB4MTEsIHRpbnkKLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhY2wgc2VsaW51eCcsIGQpfSIKLQotUEFDS0FHRUNPTkZJR1tndGtndWldID0gIi0tZW5hYmxlLWd0azItdGVzdCAtLWVuYWJsZS1ndWk9Z3RrMiwtLWVuYWJsZS1ndWk9bm8sZ3RrKywiCi1QQUNLQUdFQ09ORklHW2FjbF0gPSAiLS1lbmFibGUtYWNsLC0tZGlzYWJsZS1hY2wsYWNsLCIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteCwtLXdpdGhvdXQteCx4dCwiCi1QQUNLQUdFQ09ORklHW3RpbnldID0gIi0td2l0aC1mZWF0dXJlcz10aW55LC0td2l0aC1mZWF0dXJlcz1iaWcsLCIKLVBBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS1lbmFibGUtc2VsaW51eCwtLWRpc2FibGUtc2VsaW51eCxsaWJzZWxpbnV4LCIKLVBBQ0tBR0VDT05GSUdbZWxmdXRpbHNdID0gIi0tZW5hYmxlLWVsZi1jaGVjaywsZWxmdXRpbHMsIgotCi1FWFRSQV9PRUNPTkYgPSAiIFwKLSAgICAtLWRpc2FibGUtZ3BtIFwKLSAgICAtLWRpc2FibGUtZ3RrdGVzdCBcCi0gICAgLS1kaXNhYmxlLXhpbSBcCi0gICAgLS1kaXNhYmxlLW5ldGJlYW5zIFwKLSAgICAtLXdpdGgtdGxpYj1uY3Vyc2VzIFwKLSAgICBhY19jdl9zbWFsbF93Y2hhcl90PW5vIFwKLSAgICB2aW1fY3ZfZ2V0Y3dkX2Jyb2tlbj1ubyBcCi0gICAgdmltX2N2X21lbW1vdmVfaGFuZGxlc19vdmVybGFwPXllcyBcCi0gICAgdmltX2N2X3N0YXRfaWdub3Jlc19zbGFzaD1ubyBcCi0gICAgdmltX2N2X3Rlcm1pbmZvPXllcyBcCi0gICAgdmltX2N2X3RnZXRlbnQ9bm9uLXplcm8gXAotICAgIHZpbV9jdl90b3VwcGVyX2Jyb2tlbj1ubyBcCi0gICAgdmltX2N2X3R0eV9ncm91cD13b3JsZCBcCi0gICAgU1RSSVA9L2Jpbi90cnVlIFwKLSIKLQotZG9faW5zdGFsbCgpIHsKLSAgICBhdXRvdG9vbHNfZG9faW5zdGFsbAotCi0gICAgIyBXb3JrIGFyb3VuZCBmaWxlLXJkZXBzIHBpY2tpbmcgdXAgY3NoLCBhd2ssIHBlcmwgb3IgcHl0aG9uIGFzIGEgZGVwCi0gICAgY2htb2QgLXggJHtEfSR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS90b29scy92aW0xMzIKLSAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzL212ZS5hd2sKLSAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzLyoucGwKLSAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzLyoucHkKLQotICAgICMgSW5zdGFsbCBleGFtcGxlIHZpbXJjIGZyb20gcnVudGltZSBmaWxlcwotICAgIGluc3RhbGwgLW0gMDY0NCAuLi9ydW50aW1lL3ZpbXJjX2V4YW1wbGUudmltICR7RH0vJHtkYXRhZGlyfS8ke0JQTn0vdmltcmMKLQotICAgICMgd2UgdXNlIC0td2l0aC1mZWF0dXJlcz1iaWcgYXMgZGVmYXVsdAotICAgIG12ICR7RH0ke2JpbmRpcn0vJHtCUE59ICR7RH0ke2JpbmRpcn0vJHtCUE59LiR7QlBOfQotfQotCi1QQVJBTExFTF9NQUtFSU5TVCA9ICIiCi0KLVBBQ0tBR0VTID0rICIke1BOfS1jb21tb24gJHtQTn0tc3ludGF4ICR7UE59LWhlbHAgJHtQTn0tdHV0b3IgJHtQTn0tdmltcmMgJHtQTn0tdG9vbHMiCi1GSUxFU18ke1BOfS1zeW50YXggPSAiJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3N5bnRheCIKLUZJTEVTXyR7UE59LWhlbHAgPSAiJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2RvYyIKLUZJTEVTXyR7UE59LXR1dG9yID0gIiR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS90dXRvciAke2JpbmRpcn0vJHtCUE59dHV0b3IiCi1GSUxFU18ke1BOfS12aW1yYyA9ICIke2RhdGFkaXJ9LyR7QlBOfS92aW1yYyIKLUZJTEVTXyR7UE59LWRhdGEgPSAiJHtkYXRhZGlyfS8ke0JQTn0iCi1GSUxFU18ke1BOfS10b29scyA9ICIke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vdG9vbHMiCi1GSUxFU18ke1BOfS1jb21tb24gPSAiIFwKLSAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vKi52aW0gXAotICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9hdXRvbG9hZCBcCi0gICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2NvbG9ycyBcCi0gICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2NvbXBpbGVyIFwKLSAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vZnRwbHVnaW4gXAotICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9pbmRlbnQgXAotICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9rZXltYXAgXAotICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9sYW5nIFwKLSAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vbWFjcm9zIFwKLSAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vcGx1Z2luIFwKLSAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vcHJpbnQgXAotICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9zcGVsbCBcCi0gICAgJHtkYXRhZGlyfS9pY29ucyBcCi0iCi0KLVJERVBFTkRTXyR7QlBOfSA9ICJuY3Vyc2VzLXRlcm1pbmZvLWJhc2UiCi0jIFJlY29tbWVuZCB0aGF0IHJ1bnRpbWUgZGF0YSBpcyBpbnN0YWxsZWQgYWxvbmcgd2l0aCB2aW0KLVJSRUNPTU1FTkRTXyR7QlBOfSA9ICIke1BOfS1zeW50YXggJHtQTn0taGVscCAke1BOfS10dXRvciAke1BOfS12aW1yYyAke1BOfS1jb21tb24iCi0KLUFMVEVSTkFUSVZFXyR7UE59ID0gInZpIHZpbSB4eGQiCi1BTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCi1BTFRFUk5BVElWRV9UQVJHRVQgPSAiJHtiaW5kaXJ9LyR7QlBOfS4ke0JQTn0iCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbdmldID0gIiR7YmFzZV9iaW5kaXJ9L3ZpIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3ZpbV0gPSAiJHtiaW5kaXJ9L3ZpbSIKLUFMVEVSTkFUSVZFX1RBUkdFVFt4eGRdID0gIiR7YmluZGlyfS94eGQiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbeHhkXSA9ICIke2JpbmRpcn0veHhkIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9jYXRjaDIvMDAwMS1GaXgtY29udmVydC1mcm9tLWNoYXItb24tQVJNLWJ1aWxkLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY2F0Y2gyL2NhdGNoMi8wMDAxLUZpeC1jb252ZXJ0LWZyb20tY2hhci1vbi1BUk0tYnVpbGQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwNzM3NzUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY2F0Y2gyL2NhdGNoMi8wMDAxLUZpeC1jb252ZXJ0LWZyb20tY2hhci1vbi1BUk0tYnVpbGQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1Gcm9tIDU3Mjk4NzRmYTUwNTljMzlhYTk3Y2ZhMDhmZGRmMTA3YjdhNjVjOWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNaWd1ZWwgR2FpbyA8bWdhaW8zNUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDMgT2N0IDIwMTggMTA6MjI6MTYgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGNvbnZlcnQgZnJvbSBjaGFyIG9uIEFSTSBidWlsZAotCi1Tb21lIHBsYXRmb3JtcyBzZXQgdGhlIHNpZ25lZG5lc3Mgb2YgY2hhciB0byB1bnNpZ25lZCAoZWcuIEFSTSkuCi1Db252ZXJ0IGZyb20gY2hhciBzaG91bGQgbm90IGFzc3VtZSB0aGUgc2lnbmVkbmVzcyBvZiBjaGFyLgotCi1GaXggYnVpbGQgaXNzdWUgd2l0aCAtV2Vycm9yLC1XdGF1dG9sb2dpY2FsLXVuc2lnbmVkLXplcm8tY29tcGFyZSBmbGFncy4KLQotU2lnbmVkLW9mZi1ieTogTWlndWVsIEdhaW8gPG1nYWlvMzVAZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFtDb21taXQgZjFmYWFhOWMxMDcxMTM2OTIzMDFhZDhiYjU2MDg0NDYwZWYxYTJmZl0KLQotU2lnbmVkLW9mZi1ieTogQmFydG9zeiBHb2xhc3pld3NraSA8YmdvbGFzemV3c2tpQGJheWxpYnJlLmNvbT4KLS0tLQotIGluY2x1ZGUvaW50ZXJuYWwvY2F0Y2hfdG9zdHJpbmcuY3BwIHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9pbnRlcm5hbC9jYXRjaF90b3N0cmluZy5jcHAgYi9pbmNsdWRlL2ludGVybmFsL2NhdGNoX3Rvc3RyaW5nLmNwcAotaW5kZXggNGUwYzAyN2QuLjhjYmFiYmYyIDEwMDY0NAotLS0tIGEvaW5jbHVkZS9pbnRlcm5hbC9jYXRjaF90b3N0cmluZy5jcHAKLSsrKyBiL2luY2x1ZGUvaW50ZXJuYWwvY2F0Y2hfdG9zdHJpbmcuY3BwCi1AQCAtMjA1LDcgKzIwNSw3IEBAIHN0ZDo6c3RyaW5nIFN0cmluZ01ha2VyPGJvb2w+Ojpjb252ZXJ0KGJvb2wgYikgewotICAgICByZXR1cm4gYiA/ICJ0cnVlIiA6ICJmYWxzZSI7Ci0gfQotIAotLXN0ZDo6c3RyaW5nIFN0cmluZ01ha2VyPGNoYXI+Ojpjb252ZXJ0KGNoYXIgdmFsdWUpIHsKLStzdGQ6OnN0cmluZyBTdHJpbmdNYWtlcjxzaWduZWQgY2hhcj46OmNvbnZlcnQoc2lnbmVkIGNoYXIgdmFsdWUpIHsKLSAgICAgaWYgKHZhbHVlID09ICdccicpIHsKLSAgICAgICAgIHJldHVybiAiJ1xcciciOwotICAgICB9IGVsc2UgaWYgKHZhbHVlID09ICdcZicpIHsKLUBAIC0yMjIsOCArMjIyLDggQEAgc3RkOjpzdHJpbmcgU3RyaW5nTWFrZXI8Y2hhcj46OmNvbnZlcnQoY2hhciB2YWx1ZSkgewotICAgICAgICAgcmV0dXJuIGNoc3RyOwotICAgICB9Ci0gfQotLXN0ZDo6c3RyaW5nIFN0cmluZ01ha2VyPHNpZ25lZCBjaGFyPjo6Y29udmVydChzaWduZWQgY2hhciBjKSB7Ci0tICAgIHJldHVybiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShzdGF0aWNfY2FzdDxjaGFyPihjKSk7Ci0rc3RkOjpzdHJpbmcgU3RyaW5nTWFrZXI8Y2hhcj46OmNvbnZlcnQoY2hhciBjKSB7Ci0rICAgIHJldHVybiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShzdGF0aWNfY2FzdDxzaWduZWQgY2hhcj4oYykpOwotIH0KLSBzdGQ6OnN0cmluZyBTdHJpbmdNYWtlcjx1bnNpZ25lZCBjaGFyPjo6Y29udmVydCh1bnNpZ25lZCBjaGFyIGMpIHsKLSAgICAgcmV0dXJuIDo6Q2F0Y2g6OkRldGFpbDo6c3RyaW5naWZ5KHN0YXRpY19jYXN0PGNoYXI+KGMpKTsKLS0tIAotMi4xOS4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9jYXRjaDJfMi40LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jYXRjaDIvY2F0Y2gyXzIuNC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMTgzYzJlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9jYXRjaDJfMi40LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1ERVNDUklQVElPTiA9ICJBIG1vZGVybiwgQysrLW5hdGl2ZSwgaGVhZGVyLW9ubHksIHRlc3QgZnJhbWV3b3JrIGZvciB1bml0LXRlc3RzLCBcCi1UREQgYW5kIEJERCAtIHVzaW5nIEMrKzExLCBDKysxNCwgQysrMTcgYW5kIGxhdGVyLiIKLUFVVEhPUiA9ICJQaGlsIE5hc2gsIE1hcnRpbiBIb3Jlbm92c2t5IGFuZCBvdGhlcnMiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vY2F0Y2hvcmcvQ2F0Y2gyIgotTElDRU5TRSA9ICJCU0wtMS4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWU0MjI0Y2NhZWNiMTRkOTQyYzcxZDMxYmVmMjBkNzhjIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vY2F0Y2hvcmcvQ2F0Y2gyLmdpdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1jb252ZXJ0LWZyb20tY2hhci1vbi1BUk0tYnVpbGQucGF0Y2giCi1TUkNSRVYgPSAiOWUxYmRjYTQ2NjcyOTVmY2IxNjI2NWVhZTAwZWZhODQyM2YwNzAwNyIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBjbWFrZSBweXRob24zbmF0aXZlCi0KLSMgSGVhZGVyLW9ubHkgbGlicmFyeQotUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKLVJSRUNPTU1FTkRTXyR7UE59LWRiZyA9ICIke1BOfS1kZXYgKD0gJHtFWFRFTkRQS0dWfSkiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIHJtICR7RH0vJHtkYXRhZGlyfS9DYXRjaDIvbGxkYmluaXQKLSAgICBybSAke0R9LyR7ZGF0YWRpcn0vQ2F0Y2gyL2dkYmluaXQKLSAgICBybWRpciAke0R9LyR7ZGF0YWRpcn0vQ2F0Y2gyLwotfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY2F0Y2gyL2NhdGNoMl8yLjYuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9jYXRjaDJfMi42LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhkNjYxNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9jYXRjaDJfMi42LjEuYmIKQEAgLTAsMCArMSwyNSBAQAorREVTQ1JJUFRJT04gPSAiQSBtb2Rlcm4sIEMrKy1uYXRpdmUsIGhlYWRlci1vbmx5LCB0ZXN0IGZyYW1ld29yayBmb3IgdW5pdC10ZXN0cywgXAorVEREIGFuZCBCREQgLSB1c2luZyBDKysxMSwgQysrMTQsIEMrKzE3IGFuZCBsYXRlci4iCitBVVRIT1IgPSAiUGhpbCBOYXNoLCBNYXJ0aW4gSG9yZW5vdnNreSBhbmQgb3RoZXJzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2NhdGNob3JnL0NhdGNoMiIKK0xJQ0VOU0UgPSAiQlNMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT1lNDIyNGNjYWVjYjE0ZDk0MmM3MWQzMWJlZjIwZDc4YyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2NhdGNob3JnL0NhdGNoMi5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtV2RlZmF1bHRlZC1mdW5jdGlvbi1kZWxldGVkLXdhcm5pbmcucGF0Y2ggXAorICAgICAgICAgICIKKyMgdjIuNi4xCitTUkNSRVYgPSAiZGJiYWI4NzI3YzM0MjczM2Y3NTA0NTQ4MzA0OGNkY2I1MjQyMWUzMiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZSBweXRob24zbmF0aXZlCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHJtICR7RH0ke2RhdGFkaXJ9L0NhdGNoMi9sbGRiaW5pdAorICAgIHJtICR7RH0ke2RhdGFkaXJ9L0NhdGNoMi9nZGJpbml0CisgICAgcm1kaXIgJHtEfSR7ZGF0YWRpcn0vQ2F0Y2gyLworfQorIyBIZWFkZXItb25seSBsaWJyYXJ5CitSREVQRU5EU18ke1BOfS1kZXYgPSAiIgorUlJFQ09NTUVORFNfJHtQTn0tZGJnID0gIiR7UE59LWRldiAoPSAke0VYVEVORFBLR1Z9KSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9maWxlcy8wMDAxLUZpeC1XZGVmYXVsdGVkLWZ1bmN0aW9uLWRlbGV0ZWQtd2FybmluZy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9maWxlcy8wMDAxLUZpeC1XZGVmYXVsdGVkLWZ1bmN0aW9uLWRlbGV0ZWQtd2FybmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTVjNzFhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY2F0Y2gyL2ZpbGVzLzAwMDEtRml4LVdkZWZhdWx0ZWQtZnVuY3Rpb24tZGVsZXRlZC13YXJuaW5nLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gYTM5ZTBlYWE4MzE4MzM1MjYwOTY3ZmZkMWQxNjM4OGViNWExZDZkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDEyIEZlYiAyMDE5IDEyOjU3OjAwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCAtV2RlZmF1bHRlZC1mdW5jdGlvbi1kZWxldGVkIHdhcm5pbmcKKworQ2xhbmc4IHdhcm5zCisKK2NhdGNoX2ludGVyZmFjZXNfcmVwb3J0ZXIuaDo4NDoyNTogZXJyb3I6IGV4cGxpY2l0bHkgZGVmYXVsdGVkIG1vdmUgYXNzaWdubWVudCBvcGVyYXRvciBpcyBpbXBsaWNpdGx5IGRlbGV0ZWQgWy1XZXJyb3IsLVdkZWZhdWx0ZWQtZnVuY3Rpb24tZGVsZXRlZF0KK3wgICAgICAgICBBc3NlcnRpb25TdGF0cyYgb3BlcmF0b3IgPSAoIEFzc2VydGlvblN0YXRzICYmICkgICAgID0gZGVmYXVsdDsKK3wgICAgICAgICAgICAgICAgICAgICAgICAgXgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL2NhdGNob3JnL0NhdGNoMi9wdWxsLzE1MzddCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgaW5jbHVkZS9pbnRlcm5hbC9jYXRjaF9pbnRlcmZhY2VzX3JlcG9ydGVyLmggfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9pbnRlcm5hbC9jYXRjaF9pbnRlcmZhY2VzX3JlcG9ydGVyLmggYi9pbmNsdWRlL2ludGVybmFsL2NhdGNoX2ludGVyZmFjZXNfcmVwb3J0ZXIuaAoraW5kZXggOWQ5OWM5ODEuLmU1ZmJmOGJiIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9pbnRlcm5hbC9jYXRjaF9pbnRlcmZhY2VzX3JlcG9ydGVyLmgKKysrKyBiL2luY2x1ZGUvaW50ZXJuYWwvY2F0Y2hfaW50ZXJmYWNlc19yZXBvcnRlci5oCitAQCAtODAsOCArODAsOCBAQCBuYW1lc3BhY2UgQ2F0Y2ggeworIAorICAgICAgICAgQXNzZXJ0aW9uU3RhdHMoIEFzc2VydGlvblN0YXRzIGNvbnN0JiApICAgICAgICAgICAgICA9IGRlZmF1bHQ7CisgICAgICAgICBBc3NlcnRpb25TdGF0cyggQXNzZXJ0aW9uU3RhdHMgJiYgKSAgICAgICAgICAgICAgICAgID0gZGVmYXVsdDsKKy0gICAgICAgIEFzc2VydGlvblN0YXRzJiBvcGVyYXRvciA9ICggQXNzZXJ0aW9uU3RhdHMgY29uc3QmICkgPSBkZWZhdWx0OworLSAgICAgICAgQXNzZXJ0aW9uU3RhdHMmIG9wZXJhdG9yID0gKCBBc3NlcnRpb25TdGF0cyAmJiApICAgICA9IGRlZmF1bHQ7CisrICAgICAgICBBc3NlcnRpb25TdGF0cyYgb3BlcmF0b3IgPSAoIEFzc2VydGlvblN0YXRzIGNvbnN0JiApID0gZGVsZXRlOworKyAgICAgICAgQXNzZXJ0aW9uU3RhdHMmIG9wZXJhdG9yID0gKCBBc3NlcnRpb25TdGF0cyAmJiApICAgICA9IGRlbGV0ZTsKKyAgICAgICAgIHZpcnR1YWwgfkFzc2VydGlvblN0YXRzKCk7CisgCisgICAgICAgICBBc3NlcnRpb25SZXN1bHQgYXNzZXJ0aW9uUmVzdWx0OworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3BwdW5pdC9jcHB1bml0XzEuMTMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NwcHVuaXQvY3BwdW5pdF8xLjEzLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1YjA4YjAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3BwdW5pdC9jcHB1bml0XzEuMTMuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLURFU0NSSVBUSU9OID0gIkNwcFVuaXQgaXMgdGhlIEMrKyBwb3J0IG9mIHRoZSBmYW1vdXMgSlVuaXQgZnJhbWV3b3JrIGZvciB1bml0IHRlc3RpbmcuIFRlc3Qgb3V0cHV0IGlzIGluIFhNTCBmb3IgYXV0b21hdGljIHRlc3RpbmcgYW5kIEdVSSBiYXNlZCBmb3Igc3VwZXJ2aXNlZCB0ZXN0cy4gIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9jcHB1bml0IgotTElDRU5TRSA9ICJMR1BMLTIuMSIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCi1TUkNfVVJJID0gIiBcCi0gICAgaHR0cDovL2Rldi13d3cubGlicmVvZmZpY2Uub3JnL3NyYy9jcHB1bml0LSR7UFZ9LnRhci5neiBcCi0gICAgZmlsZTovLzAwMDEtZG9jLU1ha2VmaWxlLmFtLWRvLW5vdC1wcmVzZXJ2ZS1maWxlLWZsYWdzLXdoZW4tY29weS5wYXRjaCBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiZDFjNmJkZDVhNzZjNjZkMmMzODMzMWUyZDI4N2JjMDEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2Y0N2QyNDZlMzM0NmYyYmE0ZDdjOWU4ODJkYjNhZDllYmQzZmNiZDJlOGI3MzJmOTQ2ZTBlM2VlYjlmNDI5ZiIKLQotaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NwcHVuaXQvY3BwdW5pdF8xLjE0LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jcHB1bml0L2NwcHVuaXRfMS4xNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0MzI3ODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jcHB1bml0L2NwcHVuaXRfMS4xNC4wLmJiCkBAIC0wLDAgKzEsMTQgQEAKK0RFU0NSSVBUSU9OID0gIkNwcFVuaXQgaXMgdGhlIEMrKyBwb3J0IG9mIHRoZSBmYW1vdXMgSlVuaXQgZnJhbWV3b3JrIGZvciB1bml0IHRlc3RpbmcuIFRlc3Qgb3V0cHV0IGlzIGluIFhNTCBmb3IgYXV0b21hdGljIHRlc3RpbmcgYW5kIEdVSSBiYXNlZCBmb3Igc3VwZXJ2aXNlZCB0ZXN0cy4gIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9jcHB1bml0IgorTElDRU5TRSA9ICJMR1BMLTIuMSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIwZTllZjkyMWZmNzgwZWIzMjhiZGNhZWViZWMzMjY5IgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL2Rldi13d3cubGlicmVvZmZpY2Uub3JnL3NyYy9jcHB1bml0LSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovLzAwMDEtZG9jLU1ha2VmaWxlLmFtLWRvLW5vdC1wcmVzZXJ2ZS1maWxlLWZsYWdzLXdoZW4tY29weS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiN2FkOTMwMjIxNzE3MTBhNTQxYmZlNGJmZDhiNGEzODEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2Q1Njk4NjlkMjdiNDg4NjAyMTBjNzU4YzRmMzEzMDgyMTAzYTVlNTgyMTlhNzY2OWI1MmJmZDI5ZDY3NDc4MCIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NwcHVuaXQvZmlsZXMvMDAwMS1kb2MtTWFrZWZpbGUuYW0tZG8tbm90LXByZXNlcnZlLWZpbGUtZmxhZ3Mtd2hlbi1jb3B5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3BwdW5pdC9maWxlcy8wMDAxLWRvYy1NYWtlZmlsZS5hbS1kby1ub3QtcHJlc2VydmUtZmlsZS1mbGFncy13aGVuLWNvcHkucGF0Y2gKaW5kZXggNmEyMGMxMi4uNDQxODc2ZSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3BwdW5pdC9maWxlcy8wMDAxLWRvYy1NYWtlZmlsZS5hbS1kby1ub3QtcHJlc2VydmUtZmlsZS1mbGFncy13aGVuLWNvcHkucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3BwdW5pdC9maWxlcy8wMDAxLWRvYy1NYWtlZmlsZS5hbS1kby1ub3QtcHJlc2VydmUtZmlsZS1mbGFncy13aGVuLWNvcHkucGF0Y2gKQEAgLTE3LDE1ICsxNywxMiBAQAogaW5kZXggODgxNTQ3Ni4uMzIzNzQ5OSAxMDA2NDQKIC0tLSBhL2RvYy9NYWtlZmlsZS5hbQogKysrIGIvZG9jL01ha2VmaWxlLmFtCi1AQCAtMjIsNyArMjIsNyBAQCBodG1sZGlyICs9ICQocGtnZGF0YWRpcikvaHRtbAorQEAgLTgsNyArOCw3IEBAIGh0bWxkaXIgKz0gJChwa2dkYXRhZGlyKS9odG1sCiAgaHRtbF9EQVRBICs9ICQoc3RhdGljX3BhZ2VzKSBodG1sL2luZGV4Lmh0bWwKICAKICBpbnN0YWxsLWRhdGEtaG9vazoKIC0JY3AgLXBSIGh0bWwvKiAkKERFU1RESVIpJChodG1sZGlyKQogKwljcCAtUiBodG1sLyogJChERVNURElSKSQoaHRtbGRpcikKICAKLSAjIEF1dG9tYWtlJ3MgImRpc3RjaGVjayIgaXMgc2Vuc2l0aXZlIHRvIGhhdmluZyBmaWxlcyBsZWZ0IG92ZXIKLSAjIGFmdGVyICJtYWtlIHVuaW5zdGFsbCIsIHNvIHdlIGhhdmUgdG8gY2xlYW4gdXAgdGhlIGluc3RhbGwgaG9vay4KLS0tIAotMi41LjAKLQorIHVuaW5zdGFsbC1sb2NhbDoKKyAJcm0gLXJmICQoREVTVERJUikkKGh0bWxkaXIpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jeHh0ZXN0L2N4eHRlc3RfNC4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3h4dGVzdC9jeHh0ZXN0XzQuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjkxNTAxMS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jeHh0ZXN0L2N4eHRlc3RfNC4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiQ3h4VGVzdCBpcyBhIHVuaXQgdGVzdGluZyBmcmFtZXdvcmsgZm9yIEMrKyB0aGF0IGlzIHNpbWlsYXIgaW4gc3Bpcml0IHRvIEpVbml0LCBDcHBVbml0LCBhbmQgeFVuaXQuIgotSE9NRVBBR0UgPSAiaHR0cDovL2N4eHRlc3QuY29tLyIKLUxJQ0VOU0UgPSAiTEdQTC0yLjAiCi1TRUNUSU9OID0gImRldmVsIgotCi1TUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3Byb2plY3QvY3h4dGVzdC9jeHh0ZXN0LyR7UFZ9L2N4eHRlc3QtJHtQVn0udGFyLmd6IgotU1JDX1VSSVttZDVzdW1dID0gImIzYTI0YjNlMWFhZDlhY2Y2YWRhYzM3ZjRjM2Y4M2VjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM1NmQwZjQ4MTBlOGViNWMzNDQxNDdhMGNjYTUwZmMwZDg0MTIyYzI4NmU3NjQ0YjYxY2IzNjVjMmVlMjIwODMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L2N4eHRlc3QtJHtQVn0vQ09QWUlORzttZDU9ZTZhNjAwZmQ1ZTFkOWNiZGUyZDk4MzY4MDIzM2FkMDIiCi1TID0gIiR7V09SS0RJUn0vY3h4dGVzdC0ke1BWfS9weXRob24iCi0KLWluaGVyaXQgZGlzdHV0aWxzCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0KLSAgICBjcCAtYSAuLi9jeHh0ZXN0ICR7RH0ke2luY2x1ZGVkaXJ9Ci0gICAgc2VkICcxY1wKLSMhL3Vzci9iaW4vZW52IHB5dGhvbicgLWkgJHtEfSR7YmluZGlyfS9jeHh0ZXN0Z2VuCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2N4eHRlc3QvY3h4dGVzdF80LjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jeHh0ZXN0L2N4eHRlc3RfNC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MmZjY2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jeHh0ZXN0L2N4eHRlc3RfNC40LmJiCkBAIC0wLDAgKzEsMjIgQEAKK0RFU0NSSVBUSU9OID0gIkN4eFRlc3QgaXMgYSB1bml0IHRlc3RpbmcgZnJhbWV3b3JrIGZvciBDKysgdGhhdCBpcyBzaW1pbGFyIGluIHNwaXJpdCB0byBKVW5pdCwgQ3BwVW5pdCwgYW5kIHhVbml0LiIKK0hPTUVQQUdFID0gImh0dHA6Ly9jeHh0ZXN0LmNvbS8iCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJMR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vY3h4dGVzdC0ke1BWfS9DT1BZSU5HO21kNT1lNmE2MDBmZDVlMWQ5Y2JkZTJkOTgzNjgwMjMzYWQwMiIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0L2N4eHRlc3QvY3h4dGVzdC8ke1BWfS9jeHh0ZXN0LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjM2NjMzM1NWUyYWM2NGUzNGMyMTVmMjhlNDRjZmNlYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxYzE1NGZlZjkxYzY1ZGJmMWNkNDUxOWFmN2FkZTcwYTYxZDg1YTkyM2I2ZTBjMGIwMDdkYzdmNDg5NWNmN2Q4IgorCitTID0gIiR7V09SS0RJUn0vY3h4dGVzdC0ke1BWfS9weXRob24iCisKK2luaGVyaXQgZGlzdHV0aWxzCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0KKyAgICBjcCAtYSAuLi9jeHh0ZXN0ICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgc2VkICcxY1wKKyMhL3Vzci9iaW4vZW52IHB5dGhvbicgLWkgJHtEfSR7YmluZGlyfS9jeHh0ZXN0Z2VuCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9SRUFETUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvUkVBRE1FCmluZGV4IDNjNzg3ZjQuLjY3ZjI5MTAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9SRUFETUUKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL1JFQURNRQpAQCAtNTIsNyArNTIsNyBAQAogVGhpcyBsYXllciBkZXBlbmRzIG9uOgogCiAgIFVSSTogZ2l0Oi8vZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvb3BlbmVtYmVkZGVkLWNvcmUKLSAgYnJhbmNoOiB0aHVkCisgIGJyYW5jaDogbWFzdGVyCiAgIHJldmlzaW9uOiBIRUFECiAgIHByaW86IGRlZmF1bHQKIApAQCAtNzUsMTIgKzc1LDE0IEBACiAtLS0tLS0tLS0tLQogCiBTZW5kIHBhdGNoZXMgLyBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdpdGgKLSdbbWV0YS1wZXJsXVt0aHVkXScgaW4gdGhlIHN1YmplY3QuCisnW21ldGEtcGVybF0nIGluIHRoZSBzdWJqZWN0LgogCiBXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2luZyBzb21ldGhpbmcgbGlrZToKLSdnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1wZXJsXVt0aHVkXVtQQVRDSCcKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1wZXJsXVtQQVRDSCcKIAotVGh1ZCBtYWludGFpbmVyczogQXJtaW4ga3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KK0xheWVyIG1haW50YWluZXJzOgorICAgIEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKyAgICBUaW0gIm1vdG8tdGltbyIgT3JsaW5nIDx0aWNvdGltb0BnbWFpbC5jb20+CiAKIExpY2Vuc2UKIC0tLS0tLS0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9jb25mL2xheWVyLmNvbmYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvY29uZi9sYXllci5jb25mCmluZGV4IGIyYmIzNzkuLjZlNjAwYWEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9jb25mL2xheWVyLmNvbmYKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL2NvbmYvbGF5ZXIuY29uZgpAQCAtMTUsNCArMTUsNCBAQAogCiBMQVlFUkRFUEVORFNfcGVybC1sYXllciA9ICJjb3JlIG9wZW5lbWJlZGRlZC1sYXllciIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX3BlcmwtbGF5ZXIgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9wZXJsLWxheWVyID0gInRodWQgd2FycmlvciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL2xvZ2NoZWNrL2xvZ2NoZWNrXzEuMy4xOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL2xvZ2NoZWNrL2xvZ2NoZWNrXzEuMy4xOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODczYWMyYi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1leHRlbmRlZC9sb2djaGVjay9sb2djaGVja18xLjMuMTkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi1TVU1NQVJZID0gIkFuYWx5emVzIGxvZyBmaWxlcyBhbmQgc2VuZHMgbm90aWNlYWJsZSBldmVudHMgYXMgZW1haWwiCi1ERVNDUklQVElPTiA9ICJcCi1Mb2djaGVjayBpcyBhIHNpbXBsZSB1dGlsaXR5IHdoaWNoIGlzIGRlc2lnbmVkIHRvIGFsbG93IGEgc3lzdGVtIGFkbWluaXN0cmF0b3IgXAotdG8gdmlldyB0aGUgbG9nLWZpbGVzIHdoaWNoIGFyZSBwcm9kdWNlZCB1cG9uIGhvc3RzIHVuZGVyIHRoZWlyIGNvbnRyb2wuIFwKLUl0IGRvZXMgdGhpcyBieSBtYWlsaW5nIHN1bW1hcmllcyBvZiB0aGUgbG9nLWZpbGVzIHRvIHRoZW0sIGFmdGVyIGZpcnN0IFwKLWZpbHRlcmluZyBvdXQgIm5vcm1hbCIgZW50cmllcy4gXAotTm9ybWFsIGVudHJpZXMgYXJlIGVudHJpZXMgd2hpY2ggbWF0Y2ggb25lIG9mIHRoZSBtYW55IGluY2x1ZGVkIHJlZ3VsYXIgXAotZXhwcmVzc2lvbiBmaWxlcyBjb250YWluIGluIHRoZSBkYXRhYmFzZS4iCi1TRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCi1IT01FUEFHRSA9ICJodHRwOi8vbG9nY2hlY2sub3JnLyIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jOTNjMDU1MGJkMzE3M2Y0NTA0YjJjYmQ4OTkxZTUwYiIKLQotU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbC8ke0JQTn0vJHtCUE59XyR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly85OV9sb2djaGVjayBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiN2I1MGQxMGRhNmYxODUyMjg2MjdjNTVmZGQ1MWY2MjQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDYyOTRjMDkyYjIxMTVlY2EzZDA1NGM1Nzc3ODcxOGM5MWRkMmUwZmQxYzQ2NjUwYjczNDNjMmE5MjY3MmNhOSIKLQotaW5oZXJpdCB1c2VyYWRkCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1VU0VSQUREX1BBUkFNXyR7UE59ID0gIi1tIC1nICR7QlBOfSAtRyBhZG0gLXIgLWQgJHtsb2NhbHN0YXRlZGlyfS9saWIvJHtCUE59IFwKLSAgICAgICAgICAgICAgICAgICAgICAgLXMgL2Jpbi9mYWxzZSAtYyAnbG9nY2hlY2sgYWNjb3VudCcgJHtCUE59IgotR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLXIgJHtCUE59IgotCi1kb19pbnN0YWxsKCkgewotICAgICMgRml4IFFBIElzc3VlCi0gICAgc2VkIC1pICcvaW5zdGFsbCAtZCAkKERFU1RESVIpXC92YXJcL2xvY2tcL2xvZ2NoZWNrL3MvXi8jLycgTWFrZWZpbGUKLQotICAgICMgIm1ha2UgaW5zdGFsbCIgZG8gbm90IGluc3RhbGwgdGhlIG1hbnBhZ2VzLiBJbnN0YWxsIHRoZW0gbWFudWFsbHkuCi0gICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCi0gICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7bWFuZGlyfS9tYW44Ci0gICAgaW5zdGFsbCAtbSA2NDQgZG9jcy9sb2djaGVjay10ZXN0LjEgJHtEfSR7bWFuZGlyfS9tYW4xLwotICAgIGluc3RhbGwgLW0gNjQ0IGRvY3MvbG9ndGFpbC44ICR7RH0ke21hbmRpcn0vbWFuOC8KLSAgICBpbnN0YWxsIC1tIDY0NCBkb2NzL2xvZ3RhaWwyLjggJHtEfSR7bWFuZGlyfS9tYW44LwotCi0gICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5kCi0gICAgaW5zdGFsbCAtbSA2NDQgZGViaWFuL2xvZ2NoZWNrLmNyb24uZCAke0R9JHtzeXNjb25mZGlyfS9jcm9uLmQvbG9nY2hlY2sKLSAgICBpbnN0YWxsIC1tIDc1NSAtZCAke0R9L3Zhci9saWIvbG9nY2hlY2sKLQotICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KLQotICAgICMgaW5zdGFsbCBoZWFkZXIudHh0IGZvciBnZW5lcmF0ZWQgbWFpbHMKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kZWJpYW4vaGVhZGVyLnR4dCAke0R9JHtzeXNjb25mZGlyfS8ke0JQTn0KLQotICAgIGNob3duIC1SICR7QlBOfToke0JQTn0gJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfQotICAgIGNob3duIC1SIHJvb3Q6JHtCUE59ICR7RH0ke3N5c2NvbmZkaXJ9LyR7QlBOfQotCi0gICAgIyBEb24ndCBpbnN0YWxsIC92YXIvbG9jayB3aGVuIHBvcHVsYXRpbmcgcm9vdGZzLiBEbyBpdCB0aHJvdWdoIHZvbGF0aWxlCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKLSAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vOTlfbG9nY2hlY2sgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKLSAgICBmaQotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAotICAgICAgICBlY2hvICJkIC92YXIvbG9jay9sb2djaGVjayAwNzU1IGxvZ2NoZWNrIGxvZ2NoZWNrIC0iIFwKLSAgICAgICAgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9sb2djaGVjay5jb25mCi0gICAgZmkKLX0KLQotVklSVFVBTC1SVU5USU1FX3N5c2xvZyA/Pz0gInJzeXNsb2ciCi0KLVJERVBFTkRTXyR7UE59ID0gIlwKLSAgICBiYXNoIFwKLSAgICBjcm9uaWUgXAotICAgIGRlYmlhbnV0aWxzLXJ1bi1wYXJ0cyBcCi0gICAgZ3JlcCBcCi0gICAgbG9ja2ZpbGUtcHJvZ3MgXAotICAgIG1pbWUtY29uc3RydWN0IFwKLSAgICBwZXJsIFwKLSAgICBwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIFwKLSAgICBwZXJsLW1vZHVsZS1nZXRvcHQtc3RkIFwKLSAgICBwZXJsLW1vZHVsZS1maWxlLWdsb2IgXAotICAgICR7VklSVFVBTC1SVU5USU1FX3N5c2xvZ30gXAotIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9sb2d0YWlsIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtZXh0ZW5kZWQvbG9nY2hlY2svbG9nY2hlY2tfMS4zLjIwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtZXh0ZW5kZWQvbG9nY2hlY2svbG9nY2hlY2tfMS4zLjIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwYjI4MWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1leHRlbmRlZC9sb2djaGVjay9sb2djaGVja18xLjMuMjAuYmIKQEAgLTAsMCArMSw4MCBAQAorU1VNTUFSWSA9ICJBbmFseXplcyBsb2cgZmlsZXMgYW5kIHNlbmRzIG5vdGljZWFibGUgZXZlbnRzIGFzIGVtYWlsIgorREVTQ1JJUFRJT04gPSAiXAorTG9nY2hlY2sgaXMgYSBzaW1wbGUgdXRpbGl0eSB3aGljaCBpcyBkZXNpZ25lZCB0byBhbGxvdyBhIHN5c3RlbSBhZG1pbmlzdHJhdG9yIFwKK3RvIHZpZXcgdGhlIGxvZy1maWxlcyB3aGljaCBhcmUgcHJvZHVjZWQgdXBvbiBob3N0cyB1bmRlciB0aGVpciBjb250cm9sLiBcCitJdCBkb2VzIHRoaXMgYnkgbWFpbGluZyBzdW1tYXJpZXMgb2YgdGhlIGxvZy1maWxlcyB0byB0aGVtLCBhZnRlciBmaXJzdCBcCitmaWx0ZXJpbmcgb3V0ICJub3JtYWwiIGVudHJpZXMuIFwKK05vcm1hbCBlbnRyaWVzIGFyZSBlbnRyaWVzIHdoaWNoIG1hdGNoIG9uZSBvZiB0aGUgbWFueSBpbmNsdWRlZCByZWd1bGFyIFwKK2V4cHJlc3Npb24gZmlsZXMgY29udGFpbiBpbiB0aGUgZGF0YWJhc2UuIgorU0VDVElPTiA9ICJBcHBsaWNhdGlvbnMvU3lzdGVtIgorSE9NRVBBR0UgPSAiaHR0cDovL2xvZ2NoZWNrLm9yZy8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzkzYzA1NTBiZDMxNzNmNDUwNGIyY2JkODk5MWU1MGIiCisKK1NSQ19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL2wvJHtCUE59LyR7QlBOfV8ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vOTlfbG9nY2hlY2sgXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjFjNmU5YTk3ZjljYzQ4NTM1M2MyNTE0N2NiOTlmYjI1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlmYjZkMDJiOTMzNDcwZDBiMWQxZWZiNTRlYTE4NmUwZDBkMjczMzZmOWQxNDZiZTU5MmY2NWNlNjBkZmIzZTYiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK2luaGVyaXQgdXNlcmFkZAorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItbSAtZyAke0JQTn0gLUcgYWRtIC1yIC1kICR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfSBcCisgICAgICAgICAgICAgICAgICAgICAgIC1zIC9iaW4vZmFsc2UgLWMgJ2xvZ2NoZWNrIGFjY291bnQnICR7QlBOfSIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi1yICR7QlBOfSIKKworZG9faW5zdGFsbCgpIHsKKyAgICAjIEZpeCBRQSBJc3N1ZQorICAgIHNlZCAtaSAnL2luc3RhbGwgLWQgJChERVNURElSKVwvdmFyXC9sb2NrXC9sb2djaGVjay9zL14vIy8nIE1ha2VmaWxlCisKKyAgICAjICJtYWtlIGluc3RhbGwiIGRvIG5vdCBpbnN0YWxsIHRoZSBtYW5wYWdlcy4gSW5zdGFsbCB0aGVtIG1hbnVhbGx5LgorICAgIGluc3RhbGwgLW0gNzU1IC1kICR7RH0ke21hbmRpcn0vbWFuMQorICAgIGluc3RhbGwgLW0gNzU1IC1kICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLW0gNjQ0IGRvY3MvbG9nY2hlY2stdGVzdC4xICR7RH0ke21hbmRpcn0vbWFuMS8KKyAgICBpbnN0YWxsIC1tIDY0NCBkb2NzL2xvZ3RhaWwuOCAke0R9JHttYW5kaXJ9L21hbjgvCisgICAgaW5zdGFsbCAtbSA2NDQgZG9jcy9sb2d0YWlsMi44ICR7RH0ke21hbmRpcn0vbWFuOC8KKworICAgIGluc3RhbGwgLW0gNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L2Nyb24uZAorICAgIGluc3RhbGwgLW0gNjQ0IGRlYmlhbi9sb2djaGVjay5jcm9uLmQgJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5kL2xvZ2NoZWNrCisgICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfS92YXIvbGliL2xvZ2NoZWNrCisKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9CisKKyAgICAjIGluc3RhbGwgaGVhZGVyLnR4dCBmb3IgZ2VuZXJhdGVkIG1haWxzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vZGViaWFuL2hlYWRlci50eHQgJHtEfSR7c3lzY29uZmRpcn0vJHtCUE59CisKKyAgICBjaG93biAtUiAke0JQTn06JHtCUE59ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0KKyAgICBjaG93biAtUiByb290OiR7QlBOfSAke0R9JHtzeXNjb25mZGlyfS8ke0JQTn0KKworICAgICMgRG9uJ3QgaW5zdGFsbCAvdmFyL2xvY2sgd2hlbiBwb3B1bGF0aW5nIHJvb3Rmcy4gRG8gaXQgdGhyb3VnaCB2b2xhdGlsZQorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzk5X2xvZ2NoZWNrICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisgICAgZmkKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKyAgICAgICAgZWNobyAiZCAvdmFyL2xvY2svbG9nY2hlY2sgMDc1NSBsb2djaGVjayBsb2djaGVjayAtIiBcCisgICAgICAgICAgICA+ICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvbG9nY2hlY2suY29uZgorICAgIGZpCit9CisKK1ZJUlRVQUwtUlVOVElNRV9zeXNsb2cgPz89ICJyc3lzbG9nIgorCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgYmFzaCBcCisgICAgY3JvbmllIFwKKyAgICBkZWJpYW51dGlscy1ydW4tcGFydHMgXAorICAgIGdyZXAgXAorICAgIGxvY2tmaWxlLXByb2dzIFwKKyAgICBtaW1lLWNvbnN0cnVjdCBcCisgICAgcGVybCBcCisgICAgcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSBcCisgICAgcGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCBcCisgICAgcGVybC1tb2R1bGUtZmlsZS1nbG9iIFwKKyAgICAke1ZJUlRVQUwtUlVOVElNRV9zeXNsb2d9IFwKKyIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vbG9ndGFpbCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvYWRkdXNlci9hZGR1c2VyXzMuMTE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9hZGR1c2VyL2FkZHVzZXJfMy4xMTguYmIKaW5kZXggNjYwYTdmNy4uZTY5NWM1OCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9hZGR1c2VyL2FkZHVzZXJfMy4xMTguYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9hZGR1c2VyL2FkZHVzZXJfMy4xMTguYmIKQEAgLTIyLDcgKzIyLDcgQEAKICAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9hZGR1c2VyICR7RH0ke3NiaW5kaXJ9CiAgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vZGVsdXNlciAke0R9JHtzYmluZGlyfQogCi0gICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7U30vQWRkdXNlckNvbW1vbi5wbSAke0R9JHtsaWJkaXJ9L3BlcmwvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0vRGViaWFuL0FkZHVzZXJDb21tb24ucG0KKyAgICBpbnN0YWxsIC1EIC1tIDA2NDQgJHtTfS9BZGR1c2VyQ29tbW9uLnBtICR7RH0ke2xpYmRpcn0vcGVybDUvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0vRGViaWFuL0FkZHVzZXJDb21tb24ucG0KICAgICBzZWQgLWkgLWUgInMvVkVSU0lPTi8ke1BWfS8iICR7RH0ke3NiaW5kaXJ9LyoKIAogICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtYmFzZS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvaW1hZ2VzL21ldGEtcGVybC1iYXNlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjNjcxMDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtYmFzZS5iYgpAQCAtMCwwICsxLDcgQEAKK1NVTU1BUlkgPSAibWV0YS1wZXIgYnVpbGQgdGVzdCBpbWFnZSIKKworSU1BR0VfSU5TVEFMTCA9ICJwYWNrYWdlZ3JvdXAtY29yZS1ib290IgorCitMSUNFTlNFID0gIk1JVCIKKworaW5oZXJpdCBjb3JlLWltYWdlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtaW1hZ2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtaW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzEwZDIwYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvaW1hZ2VzL21ldGEtcGVybC1pbWFnZS5iYgpAQCAtMCwwICsxLDUgQEAKK3JlcXVpcmUgIG1ldGEtcGVybC1iYXNlLmJiCisKK1NVTU1BUlkgPSAibWV0YS1wZXJsIGJ1aWxkIHRlc3QgaW1hZ2UiCisKK0lNQUdFX0lOU1RBTEwgKz0gInBhY2thZ2Vncm91cC1tZXRhLXBlcmwiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtcHRlc3QtaW1hZ2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtcHRlc3QtaW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2I3NzZmOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvaW1hZ2VzL21ldGEtcGVybC1wdGVzdC1pbWFnZS5iYgpAQCAtMCwwICsxLDUgQEAKK3JlcXVpcmUgIG1ldGEtcGVybC1iYXNlLmJiCisKK1NVTU1BUlkgPSAibWV0YS1wZXJsIGJ1aWxkIHB0ZXN0IGltYWdlIgorCitJTUFHRV9JTlNUQUxMICs9ICJwYWNrYWdlZ3JvdXAtbWV0YS1wZXJsLXB0ZXN0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zb2NrZXQtc3NsLXBlcmxfMi4wNjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXNvY2tldC1zc2wtcGVybF8yLjA2MC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjBmODgwOC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXNvY2tldC1zc2wtcGVybF8yLjA2MC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLVNVTU1BUlkgPSAiUGVybCBsaWJyYXJ5IGZvciB0cmFuc3BhcmVudCBTU0wiCi1ERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSBpcyBhIHRydWUgZHJvcC1pbiByZXBsYWNlbWVudCBmb3IgSU86OlNvY2tldDo6SU5FVCB0aGF0IFwKLXVzZXMgU1NMIHRvIGVuY3J5cHQgZGF0YSBiZWZvcmUgaXQgaXMgdHJhbnNmZXJyZWQgdG8gYSByZW1vdGUgc2VydmVyIFwKLW9yIGNsaWVudC4gSU86OlNvY2tldDo6U1NMIHN1cHBvcnRzIGFsbCB0aGUgZXh0cmEgZmVhdHVyZXMgdGhhdCBvbmUgXAotbmVlZHMgdG8gd3JpdGUgYSBmdWxsLWZlYXR1cmVkIFNTTCBjbGllbnQgb3Igc2VydmVyIGFwcGxpY2F0aW9uOiBcCi1tdWx0aXBsZSBTU0wgY29udGV4dHMsIGNpcGhlciBzZWxlY3Rpb24sIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiwgYW5kIFwKLVNTTCB2ZXJzaW9uIHNlbGVjdGlvbi4gQXMgYW4gZXh0cmEgYm9udXMsIGl0IHdvcmtzIHBlcmZlY3RseSB3aXRoIFwKLW1vZF9wZXJsLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvZGlzdC9JTy1Tb2NrZXQtU1NMLyIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJBcnRpc3RpYy0xLjB8R1BMdjErIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTUVUQS55bWw7YmVnaW5saW5lPTExO2VuZGxpbmU9MTE7bWQ1PTk2M2NlMjgyMjgzNDc4NzVhY2U2ODJkZTU2ZWVmOGU4IgotCi1SREVQRU5EU18ke1BOfSArPSAiXAotICAgIGxpYm5ldC1zc2xlYXktcGVybCBcCi0gICAgcGVybC1tb2R1bGUtYXV0b2xvYWRlciBcCi0gICAgcGVybC1tb2R1bGUtc2NhbGFyLXV0aWwgXAotICAgIHBlcmwtbW9kdWxlLWlvLXNvY2tldCBcCi0iCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvUy9TVS9TVUxMUi9JTy1Tb2NrZXQtU1NMLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI5N2ZhNmNkNjRmMTVkYjYwZjgxMGNkOGFiMDJkNTdmYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmYjViMjg3N2FjNWI2ODZhNWQ3YjhkZDcxY2Y1NDY0ZmZlNzVkMTBjMzIwNDdiNTU3MDY3NDg3MGU0NmIxYjhjIgotCi1TID0gIiR7V09SS0RJUn0vSU8tU29ja2V0LVNTTC0ke1BWfSIKLQotaW5oZXJpdCBjcGFuIHB0ZXN0Ci0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLSAgICBta2RpciAtcCAke0R9JHtkb2NkaXJ9LyR7UE59LwotICAgIGNwICR7U30vQlVHUyAke0R9JHtkb2NkaXJ9LyR7UE59LwotICAgIGNwICR7U30vQ2hhbmdlcyAke0R9JHtkb2NkaXJ9LyR7UE59LwotICAgIGNwICR7U30vUkVBRE1FICR7RH0ke2RvY2Rpcn0vJHtQTn0vCi0gICAgY3AgLXBSUCAke1N9L2RvY3MgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KLSAgICBjcCAtcFJQICR7U30vY2VydHMgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KLSAgICBjcCAtcFJQICR7U30vZXhhbXBsZSAke0R9JHtkb2NkaXJ9LyR7UE59LwotfQotCi1kb19pbnN0YWxsX3B0ZXN0ICgpIHsKLSAgICBjcCAtciAke0J9L3QgJHtEfSR7UFRFU1RfUEFUSH0KLSAgICBjcCAtciAke0J9L2NlcnRzICR7RH0ke1BURVNUX1BBVEh9Ci19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zb2NrZXQtc3NsLXBlcmxfMi4wNjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXNvY2tldC1zc2wtcGVybF8yLjA2Ni5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjA5ODQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zb2NrZXQtc3NsLXBlcmxfMi4wNjYuYmIKQEAgLTAsMCArMSw0NyBAQAorU1VNTUFSWSA9ICJQZXJsIGxpYnJhcnkgZm9yIHRyYW5zcGFyZW50IFNTTCIKK0RFU0NSSVBUSU9OID0gIlRoaXMgbW9kdWxlIGlzIGEgdHJ1ZSBkcm9wLWluIHJlcGxhY2VtZW50IGZvciBJTzo6U29ja2V0OjpJTkVUIHRoYXQgXAordXNlcyBTU0wgdG8gZW5jcnlwdCBkYXRhIGJlZm9yZSBpdCBpcyB0cmFuc2ZlcnJlZCB0byBhIHJlbW90ZSBzZXJ2ZXIgXAorb3IgY2xpZW50LiBJTzo6U29ja2V0OjpTU0wgc3VwcG9ydHMgYWxsIHRoZSBleHRyYSBmZWF0dXJlcyB0aGF0IG9uZSBcCituZWVkcyB0byB3cml0ZSBhIGZ1bGwtZmVhdHVyZWQgU1NMIGNsaWVudCBvciBzZXJ2ZXIgYXBwbGljYXRpb246IFwKK211bHRpcGxlIFNTTCBjb250ZXh0cywgY2lwaGVyIHNlbGVjdGlvbiwgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uLCBhbmQgXAorU1NMIHZlcnNpb24gc2VsZWN0aW9uLiBBcyBhbiBleHRyYSBib251cywgaXQgd29ya3MgcGVyZmVjdGx5IHdpdGggXAorbW9kX3BlcmwuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9kaXN0L0lPLVNvY2tldC1TU0wvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMHxHUEx2MSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9NRVRBLnltbDtiZWdpbmxpbmU9MTI7ZW5kbGluZT0xMjttZDU9OTYzY2UyODIyODM0Nzg3NWFjZTY4MmRlNTZlZWY4ZTgiCisKK1JERVBFTkRTXyR7UE59ICs9ICJcCisgICAgbGlibmV0LXNzbGVheS1wZXJsIFwKKyAgICBwZXJsLW1vZHVsZS1hdXRvbG9hZGVyIFwKKyAgICBwZXJsLW1vZHVsZS1zY2FsYXItdXRpbCBcCisgICAgcGVybC1tb2R1bGUtaW8tc29ja2V0IFwKKyIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9TL1NVL1NVTExSL0lPLVNvY2tldC1TU0wtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImVjZjk2Y2UyZmY5ZTA0YTAzYTJkMTAxYzc2Y2UxMDIwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBkNDcwNjQ3ODFhNTQ1MzA0ZDVkY2VhNWRmY2VlM2FjYzJlOTVhMzJlMWI0ODg0ZDgwNTA1Y2RlOGVlNmViY2QiCisKK1MgPSAiJHtXT1JLRElSfS9JTy1Tb2NrZXQtU1NMLSR7UFZ9IgorCitpbmhlcml0IGNwYW4gcHRlc3QKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIG1rZGlyIC1wICR7RH0ke2RvY2Rpcn0vJHtQTn0vCisgICAgY3AgJHtTfS9CVUdTICR7RH0ke2RvY2Rpcn0vJHtQTn0vCisgICAgY3AgJHtTfS9DaGFuZ2VzICR7RH0ke2RvY2Rpcn0vJHtQTn0vCisgICAgY3AgJHtTfS9SRUFETUUgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KKyAgICBjcCAtcFJQICR7U30vZG9jcyAke0R9JHtkb2NkaXJ9LyR7UE59LworICAgIGNwIC1wUlAgJHtTfS9jZXJ0cyAke0R9JHtkb2NkaXJ9LyR7UE59LworICAgIGNwIC1wUlAgJHtTfS9leGFtcGxlICR7RH0ke2RvY2Rpcn0vJHtQTn0vCit9CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworICAgIGNwIC1yICR7Qn0vdCAke0R9JHtQVEVTVF9QQVRIfQorICAgIGNwIC1yICR7Qn0vY2VydHMgJHtEfSR7UFRFU1RfUEFUSH0KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtZG5zLXBlcmxfMS4xOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1kbnMtcGVybF8xLjE4LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTBjOWM0Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1kbnMtcGVybF8xLjE4LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBETlMucG0gbW9kdWxlIHdpdGggZnJpZW5kcy4iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3Lm5ldC1kbnMub3JnLyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTUlUIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTI1MjtlbmRsaW5lPTI2OTttZDU9MjdkYjM3YjQyY2QxYTUxNzNhNTM5MjJkNjcwNzJiY2IiCi0KLURFUEVORFMgKz0gInBlcmwiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvTi9OTC9OTE5FVExBQlMvTmV0LUROUy0ke1BWfS50YXIuZ3oiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2N2FmN2U1YzFjMzM5ZjYwYzQ1YzEwNTQzNzRiZDhlZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1MmNlMTQ5NGZjOTcwN2ZkNWE2MGVkNzFkYjVjZGU3MjcxNTdiN2YyMzYzNzg3ZDczMGQ0ZDFiZDk4MDBhOWQzIgotCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJOZXRcLUROU1wtKD9QPHB2ZXI+KFxkK1wuXGQrKSkoPyFfXGQrKS50YXIiCi0KLVMgPSAiJHtXT1JLRElSfS9OZXQtRE5TLSR7UFZ9IgotCi1FWFRSQV9DUEFORkxBR1MgPSAiRVhQQVRMSUJQQVRIPSR7U1RBR0lOR19MSUJESVJ9IEVYUEFUSU5DUEFUSD0ke1NUQUdJTkdfSU5DRElSfSIKLQotaW5oZXJpdCBjcGFuIHB0ZXN0LXBlcmwKLQotUkRFUEVORFNfJHtQTn0gPSAiIFwKLSAgICBsaWJkaWdlc3QtaG1hYy1wZXJsIFwKLSAgICBwZXJsLW1vZHVsZS1iYXNlIFwKLSAgICBwZXJsLW1vZHVsZS1jb25zdGFudCBcCi0gICAgcGVybC1tb2R1bGUtZGlnZXN0LW1kNSBcCi0gICAgcGVybC1tb2R1bGUtZGlnZXN0LXNoYSBcCi0gICAgcGVybC1tb2R1bGUtZmlsZS1zcGVjIFwKLSAgICBwZXJsLW1vZHVsZS1pbnRlZ2VyIFwKLSAgICBwZXJsLW1vZHVsZS1pby1maWxlIFwKLSAgICBwZXJsLW1vZHVsZS1pby1zZWxlY3QgXAotICAgIHBlcmwtbW9kdWxlLWlvLXNvY2tldCBcCi0gICAgcGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIFwKLSAgICBwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCBcCi0gICAgcGVybC1tb2R1bGUtc2NhbGFyLXV0aWwgXAotICAgIHBlcmwtbW9kdWxlLXRlc3QtbW9yZSBcCi0gICAgcGVybC1tb2R1bGUtdGltZS1sb2NhbCBcCi0iCi0KLVJSRUNPTU1FTkRTXyR7UE59ICs9ICIgXAotICAgIGxpYm5ldC1kbnMtc2VjLXBlcmwgXAotIgotCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAiIFwKLSAgICBwZXJsLW1vZHVsZS1lbmNvZGUgXAotICAgIHBlcmwtbW9kdWxlLWVuY29kZS1ieXRlIFwKLSAgICBwZXJsLW1vZHVsZS1leHR1dGlscy1tbSBcCi0gICAgcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCBcCi0gICAgcGVybC1tb2R1bGUtb3ZlcmxvYWQgXAotIgotCi1weXRob24gX19hbm9ueW1vdXMgKCkgewotICAgICMgcmF0aGVyIHRoYW4gdXNlICJmaW5kIiB0byBkZXRlcm1pbmUgbGliYy0qLnNvLAotICAgICMgc3RhdGljYWxseSBleHBvcnQgdGhlIGtub3duIHBhdGhzIGZvciBnbGliYyBhbmQgbXVzbAotICAgIGltcG9ydCBvcwotICAgIGlmIGQuZ2V0VmFyKCdUQ0xJQkMnKSA9PSAiZ2xpYmMiOgotICAgICAgICBvcy5lbnZpcm9uWyJMSUJDIl0gPSAiJHtTVEFHSU5HX0JBU0VMSUJESVJ9L2xpYmMuc28uNiIKLSAgICBlbGlmIGQuZ2V0VmFyKCdUQ0xJQkMnKSA9PSAibXVzbCI6Ci0gICAgICAgIG9zLmVudmlyb25bIkxJQkMiXSA9ICIke1NUQUdJTkdfTElCRElSfS9saWJjLnNvIgotICAgIGVsc2U6Ci0gICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiaW5jb21wYXRpYmxlIHdpdGggJXMgQyBsaWJyYXJ5IiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQuZ2V0VmFyKCdUQ0xJQkMnKSkKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtZG5zLXBlcmxfMS4xOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1kbnMtcGVybF8xLjE5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwYmU2MDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtZG5zLXBlcmxfMS4xOS5iYgpAQCAtMCwwICsxLDY2IEBACitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgY29udGFpbnMgdGhlIEROUy5wbSBtb2R1bGUgd2l0aCBmcmllbmRzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubmV0LWRucy5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJNSVQiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MjUyO2VuZGxpbmU9MjY5O21kNT0yN2RiMzdiNDJjZDFhNTE3M2E1MzkyMmQ2NzA3MmJjYiIKKworREVQRU5EUyArPSAicGVybCIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9OL05ML05MTkVUTEFCUy9OZXQtRE5TLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjhhNDA0MDI4ODg0ODdiODUzZjg2MWQyMTQzM2YzNDFhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIwNjI3OGJkZDlhNTM4YmVjM2U0NWI1MGU4MGNjNWE5ZDdkYzZlNzBlYmYwODg5ZWY3ODI1NGYwZjcxMGNjZDciCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIk5ldFwtRE5TXC0oP1A8cHZlcj4oXGQrXC5cZCspKSg/IV9cZCspLnRhciIKKworUyA9ICIke1dPUktESVJ9L05ldC1ETlMtJHtQVn0iCisKK0VYVFJBX0NQQU5GTEFHUyA9ICJFWFBBVExJQlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0gRVhQQVRJTkNQQVRIPSR7U1RBR0lOR19JTkNESVJ9IgorCitpbmhlcml0IGNwYW4gcHRlc3QtcGVybAorCitSREVQRU5EU18ke1BOfSA9ICIgXAorICAgIGxpYmRpZ2VzdC1obWFjLXBlcmwgXAorICAgIHBlcmwtbW9kdWxlLWJhc2UgXAorICAgIHBlcmwtbW9kdWxlLWNvbnN0YW50IFwKKyAgICBwZXJsLW1vZHVsZS1kaWdlc3QtbWQ1IFwKKyAgICBwZXJsLW1vZHVsZS1kaWdlc3Qtc2hhIFwKKyAgICBwZXJsLW1vZHVsZS1maWxlLXNwZWMgXAorICAgIHBlcmwtbW9kdWxlLWludGVnZXIgXAorICAgIHBlcmwtbW9kdWxlLWlvLWZpbGUgXAorICAgIHBlcmwtbW9kdWxlLWlvLXNlbGVjdCBcCisgICAgcGVybC1tb2R1bGUtaW8tc29ja2V0IFwKKyAgICBwZXJsLW1vZHVsZS1pby1zb2NrZXQtaXAgXAorICAgIHBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IFwKKyAgICBwZXJsLW1vZHVsZS1zY2FsYXItdXRpbCBcCisgICAgcGVybC1tb2R1bGUtdGVzdC1tb3JlIFwKKyAgICBwZXJsLW1vZHVsZS10aW1lLWxvY2FsIFwKKyIKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gIiBcCisgICAgbGlibmV0LWRucy1zZWMtcGVybCBcCisiCisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICIgXAorICAgIHBlcmwtbW9kdWxlLWVuY29kZSBcCisgICAgcGVybC1tb2R1bGUtZW5jb2RlLWJ5dGUgXAorICAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tIFwKKyAgICBwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IFwKKyAgICBwZXJsLW1vZHVsZS1vdmVybG9hZCBcCisiCisKK3B5dGhvbiBfX2Fub255bW91cyAoKSB7CisgICAgIyByYXRoZXIgdGhhbiB1c2UgImZpbmQiIHRvIGRldGVybWluZSBsaWJjLSouc28sCisgICAgIyBzdGF0aWNhbGx5IGV4cG9ydCB0aGUga25vd24gcGF0aHMgZm9yIGdsaWJjIGFuZCBtdXNsCisgICAgaW1wb3J0IG9zCisgICAgaWYgZC5nZXRWYXIoJ1RDTElCQycpID09ICJnbGliYyI6CisgICAgICAgIG9zLmVudmlyb25bIkxJQkMiXSA9ICIke1NUQUdJTkdfQkFTRUxJQkRJUn0vbGliYy5zby42IgorICAgIGVsaWYgZC5nZXRWYXIoJ1RDTElCQycpID09ICJtdXNsIjoKKyAgICAgICAgb3MuZW52aXJvblsiTElCQyJdID0gIiR7U1RBR0lOR19MSUJESVJ9L2xpYmMuc28iCisgICAgZWxzZToKKyAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCJpbmNvbXBhdGlibGUgd2l0aCAlcyBDIGxpYnJhcnkiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZC5nZXRWYXIoJ1RDTElCQycpKQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1saWJ4bWwtcGVybF8yLjAxMzIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtbGlieG1sLXBlcmxfMi4wMTMyLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZjE4NDAxLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1saWJ4bWwtcGVybF8yLjAxMzIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1TVU1NQVJZID0gIlBlcmwgaW50ZXJmYWNlIHRvIHRoZSBsaWJ4bWwyIGxpYnJhcnkiCi1ERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSBpcyBhbiBpbnRlcmZhY2UgdG8gbGlieG1sMiwgcHJvdmlkaW5nIFhNTCBhbmQgSFRNTCBwYXJzZXJzIFwKLXdpdGggRE9NLCBTQVggYW5kIFhNTFJlYWRlciBpbnRlcmZhY2VzLCBhIGxhcmdlIHN1YnNldCBvZiBET00gTGF5ZXIgMyBcCi1pbnRlcmZhY2UgYW5kIGEgWE1MOjpYUGF0aC1saWtlIGludGVyZmFjZSB0byBYUGF0aCBBUEkgb2YgbGlieG1sMi4gXAotVGhlIG1vZHVsZSBpcyBzcGxpdCBpbnRvIHNldmVyYWwgcGFja2FnZXMgd2hpY2ggYXJlIG5vdCBkZXNjcmliZWQgaW4gdGhpcyBcCi1zZWN0aW9uOyB1bmxlc3Mgc3RhdGVkIG90aGVyd2lzZSwgeW91IG9ubHkgbmVlZCB0byB1c2UgWE1MOjpMaWJYTUw7IGluIFwKLXlvdXIgcHJvZ3JhbXMuIgotCi1IT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvWE1MLUxpYlhNTC0xLjk5LyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wfEdQTHYxKyIKLURFUEVORFMgKz0gImxpYnhtbDIgXAotICAgICAgICBsaWJ4bWwtc2F4LXBlcmwtbmF0aXZlIFwKLSAgICAgICAgemxpYiBcCi0iCi1SREVQRU5EU18ke1BOfSArPSAiXAotICAgIGxpYnhtbDIgXAotICAgIGxpYnhtbC1zYXgtcGVybCBcCi0gICAgbGlieG1sLXNheC1iYXNlLXBlcmwgXAotICAgIHBlcmwtbW9kdWxlLWVuY29kZSBcCi0gICAgcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgXAotICAgIHpsaWIgXAotIgotCi1TUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1MvU0gvU0hMT01JRi9YTUwtTGliWE1MLSR7UFZ9LnRhci5nejtuYW1lPWxpYnhtbCBcCi0gICAgZmlsZTovL2Rpc2FibGUtbGlieG1sMi1jaGVjay5wYXRjaCBcCi0gICAgZmlsZTovL2ZpeC1DQVRBTE9HLWNvbmRpdGlvbmFsLWNvbXBpbGUucGF0Y2ggXAotICAgIGZpbGU6Ly91c2luZy1ET0NCLWNvbmRpdGlvbmFsLnBhdGNoIFwKLSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PTY0ZWRhMWJjMTM1ZjBlY2UxZDExODdmMmE4YWM4MmMxIFwKLSAgICBmaWxlOi8vTElDRU5TRTttZDU9OTc4NzFiZGUxNTBkYWViNWU2MWFkOTUxMzdmZjI0NDYgXAotIgotU1JDX1VSSVtsaWJ4bWwubWQ1c3VtXSA9ICI0MzU0NmZkOWEzOTc0ZjE5MzIzZjlmYjA0ODYxZWNlOSIKLVNSQ19VUklbbGlieG1sLnNoYTI1NnN1bV0gPSAiNzIxNDUyZTMxMDNjYTE4OGY1OTY4YWIwNmQ1YmEyOWZlOGUwMGU0OWY0NzY3NzkwODgyMDk1MDUwMzEyZDQ3NiIKLQotUyA9ICIke1dPUktESVJ9L1hNTC1MaWJYTUwtJHtQVn0iCi0KLWluaGVyaXQgY3BhbgotCi1FWFRSQV9DUEFORkxBR1MgPSAiSU5DPS1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlieG1sMiBMSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotCi1DRkxBR1MgKz0gIiAtRF9HTlVfU09VUkNFICIKLUJVSUxEX0NGTEFHUyArPSAiIC1EX0dOVV9TT1VSQ0UgIgotCi1GSUxFU18ke1BOfS1kYmcgPSsgIiR7bGliZGlyfS9wZXJsL3ZlbmRvcl9wZXJsLyovYXV0by9YTUwvTGliWE1MLy5kZWJ1Zy8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtbGlieG1sLXBlcmxfMi4wMTM0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsXzIuMDEzNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NzUzNTIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsXzIuMDEzNC5iYgpAQCAtMCwwICsxLDQ3IEBACitTVU1NQVJZID0gIlBlcmwgaW50ZXJmYWNlIHRvIHRoZSBsaWJ4bWwyIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSBpcyBhbiBpbnRlcmZhY2UgdG8gbGlieG1sMiwgcHJvdmlkaW5nIFhNTCBhbmQgSFRNTCBwYXJzZXJzIFwKK3dpdGggRE9NLCBTQVggYW5kIFhNTFJlYWRlciBpbnRlcmZhY2VzLCBhIGxhcmdlIHN1YnNldCBvZiBET00gTGF5ZXIgMyBcCitpbnRlcmZhY2UgYW5kIGEgWE1MOjpYUGF0aC1saWtlIGludGVyZmFjZSB0byBYUGF0aCBBUEkgb2YgbGlieG1sMi4gXAorVGhlIG1vZHVsZSBpcyBzcGxpdCBpbnRvIHNldmVyYWwgcGFja2FnZXMgd2hpY2ggYXJlIG5vdCBkZXNjcmliZWQgaW4gdGhpcyBcCitzZWN0aW9uOyB1bmxlc3Mgc3RhdGVkIG90aGVyd2lzZSwgeW91IG9ubHkgbmVlZCB0byB1c2UgWE1MOjpMaWJYTUw7IGluIFwKK3lvdXIgcHJvZ3JhbXMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvWE1MLUxpYlhNTC0xLjk5LyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wfEdQTHYxKyIKK0RFUEVORFMgKz0gImxpYnhtbDIgXAorICAgICAgICBsaWJ4bWwtc2F4LXBlcmwtbmF0aXZlIFwKKyAgICAgICAgemxpYiBcCisiCitSREVQRU5EU18ke1BOfSArPSAiXAorICAgIGxpYnhtbDIgXAorICAgIGxpYnhtbC1zYXgtcGVybCBcCisgICAgbGlieG1sLXNheC1iYXNlLXBlcmwgXAorICAgIHBlcmwtbW9kdWxlLWVuY29kZSBcCisgICAgcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgXAorICAgIHpsaWIgXAorIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1MvU0gvU0hMT01JRi9YTUwtTGliWE1MLSR7UFZ9LnRhci5nejtuYW1lPWxpYnhtbCBcCisgICAgZmlsZTovL2Rpc2FibGUtbGlieG1sMi1jaGVjay5wYXRjaCBcCisgICAgZmlsZTovL2ZpeC1DQVRBTE9HLWNvbmRpdGlvbmFsLWNvbXBpbGUucGF0Y2ggXAorICAgIGZpbGU6Ly91c2luZy1ET0NCLWNvbmRpdGlvbmFsLnBhdGNoIFwKKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PTY0ZWRhMWJjMTM1ZjBlY2UxZDExODdmMmE4YWM4MmMxIFwKKyAgICBmaWxlOi8vTElDRU5TRTttZDU9OTc4NzFiZGUxNTBkYWViNWU2MWFkOTUxMzdmZjI0NDYgXAorIgorU1JDX1VSSVtsaWJ4bWwubWQ1c3VtXSA9ICJkY2U2ODdkZDhiN2U4MmQxYzM1OWZkNzRiMTg1MmY2NCIKK1NSQ19VUklbbGlieG1sLnNoYTI1NnN1bV0gPSAiZjBiY2E0ZDBjMmRhMzVkODc5ZmVlNGNkMTNmMzUyMDE0MTg2Y2VkYWIyN2FiNWUxOTFmMzliNWQ3ZDRmNDZjZiIKKworUyA9ICIke1dPUktESVJ9L1hNTC1MaWJYTUwtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitFWFRSQV9DUEFORkxBR1MgPSAiSU5DPS1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlieG1sMiBMSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitDRkxBR1MgKz0gIiAtRF9HTlVfU09VUkNFICIKK0JVSUxEX0NGTEFHUyArPSAiIC1EX0dOVV9TT1VSQ0UgIgorCitGSUxFU18ke1BOfS1kYmcgPSsgIiR7bGliZGlyfS9wZXJsL3ZlbmRvcl9wZXJsLyovYXV0by9YTUwvTGliWE1MLy5kZWJ1Zy8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtcGVybC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1wZXJsLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkMGUzM2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtcGVybC5iYgpAQCAtMCwwICsxLDUyIEBACitTVU1NQVJZID0gIk1ldGEtcGVybCBwYWNrYWdlZ3JvdXAiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1BST1ZJREVTID0gIiR7UEFDS0FHRVN9IgorUEFDS0FHRVMgPSAnIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1wZXJsIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1wZXJsLWV4dGVuZGVkIFwKKycKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtcGVybCA9ICJcCisgICAgbGlicHJvYy13YWl0c3RhdC1wZXJsIGxpYm1vby1wZXJsIGxpYnRlcm0tcmVhZGtleS1wZXJsIFwKKyAgICBsaWJ1bmljb2RlLWxpbmVicmVhay1wZXJsIGxpYmN1cnNlcy1wZXJsIGxpYm1pbWUtdHlwZXMtcGVybCBcCisgICAgbGlibWltZS1jaGFyc2V0LXBlcmwgbGliaW8tc29ja2V0LXNzbC1wZXJsIGxpYmlvLXN0cmluZ3ktcGVybCBcCisgICAgbGlidGV4dC1pY29udi1wZXJsIGxpYnRleHQtY2hhcndpZHRoLXBlcmwgbGlidGV4dC1kaWZmLXBlcmwgXAorICAgIGxpYnRleHQtd3JhcGkxOG4tcGVybCBsaWJsb2NhbGUtZ2V0dGV4dC1wZXJsIGxpYmRhdGEtaGV4ZHVtcC1wZXJsIFwKKyAgICBsaWJleHR1dGlscy1pbnN0YWxscGF0aHMtcGVybCBsaWJleHR1dGlscy1oZWxwZXJzLXBlcmwgbGliZXh0dXRpbHMtcGFyc2V4cy1wZXJsIFwKKyAgICBsaWJleHR1dGlscy1jb25maWctcGVybCBsaWJleHR1dGlscy1jcHBndWVzcy1wZXJsIGxpYmltcG9ydC1pbnRvLXBlcmwgXAorICAgIGxpYmNyeXB0LW9wZW5zc2wtcnNhLXBlcmwgbGliY3J5cHQtb3BlbnNzbC1ndWVzcyBsaWJjcnlwdC1vcGVuc3NsLXJhbmRvbS1wZXJsIFwKKyAgICBsaWJ4bWwtc2F4LXdyaXRlci1wZXJsIGxpYnhtbC1saWJ4bWwtcGVybCBsaWJ4bWwtZmlsdGVyLWJ1ZmZlcnRleHQtcGVybCBcCisgICAgYWRkdXNlciBcCisgICAgbGliYXV0aGVuLXNhc2wtcGVybCBsaWJuZXQtbGRhcC1wZXJsIGxpYm5ldC1kbnMtcGVybCBcCisgICAgbGlibmV0LWRucy1zZWMtcGVybCBsaWJuZXQtbGliaWRuLXBlcmwgbGlibmV0LXNzbGVheS1wZXJsIFwKKyAgICBsaWJuZXQtdGVsbmV0LXBlcmwgbGliZGV2ZWwtZ2xvYmFsZGVzdHJ1Y3Rpb24tcGVybCBsaWJpcGMtc2lnbmFsLXBlcmwgXAorICAgIGxpYnJvbGUtdGlueS1wZXJsIGxpYmVuY29kZS1wZXJsIGxpYmVuY29kZS1sb2NhbGUtcGVybCBcCisgICAgbGliZmlsZS1zbHVycC1wZXJsIGxpYmNhcHR1cmUtdGlueS1wZXJsIFwKKyAgICBwbzRhIFwKKyAgICBsaWJzdHJpY3R1cmVzLXBlcmwgbGlidGVzdC1oYXJuZXNzLXBlcmwgbGlic3ViLWV4cG9ydGVyLXByb2dyZXNzaXZlLXBlcmwgXAorICAgIGxpYmNsYXNzLW1ldGhvZC1tb2RpZmllcnMtcGVybCBsaWJodG1sLXBhcnNlci1wZXJsIGxpYmh0bWwtdHJlZS1wZXJsIFwKKyAgICBsaWJtb2R1bGUtcGx1Z2dhYmxlLXBlcmwgbGlibW9kdWxlLWJ1aWxkLXBlcmwgbGlibW9kdWxlLXJ1bnRpbWUtcGVybCBcCisgICAgbGlibW9kdWxlLWJ1aWxkLXRpbnktcGVybCBsaWJjZ2ktcGVybCBsaWJhbGdvcml0aG0tZGlmZi1wZXJsIFwKKyAgICBsaWJkYmQtc3FsaXRlLXBlcmwgbGliZGlnZXN0LXNoYTEtcGVybCBsaWJkaWdlc3QtaG1hYy1wZXJsIFwKKyAgICAiIAorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1wZXJsLWV4dGVuZGVkID0gIlwKKyAgICBsb2djaGVjayBtaW1lLWNvbnN0cnVjdCBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1wZXJsLXB0ZXN0ID0gIlwKKyAgICBsaWJtaW1lLXR5cGVzLXBlcmwtcHRlc3QgXAorICAgIGxpYmlvLXNvY2tldC1zc2wtcGVybC1wdGVzdCBcCisgICAgbGliZGF0YS1oZXhkdW1wLXBlcmwtcHRlc3QgXAorICAgIGxpYmF1dGhlbi1zYXNsLXBlcmwtcHRlc3QgXAorICAgIGxpYm5ldC1kbnMtcGVybC1wdGVzdCBcCisgICAgbGlibmV0LWRucy1zZWMtcGVybC1wdGVzdCBcCisgICAgbGlibmV0LXNzbGVheS1wZXJsLXB0ZXN0IFwKKyAgICBsaWJ0ZXN0LWhhcm5lc3MtcGVybC1wdGVzdCBcCisgICAgbGliZGlnZXN0LXNoYTEtcGVybC1wdGVzdCBcCisgICAgbGliZGlnZXN0LWhtYWMtcGVybC1wdGVzdCBcCisgICAgIgorCitFWENMVURFX0ZST01fV09STEQgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL1JFQURNRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL1JFQURNRQppbmRleCA5YzEwYzc4Li43MDViMDM1IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9SRUFETUUKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vUkVBRE1FCkBAIC0xMywxMiArMTMsMTIgQEAKIAogCVVSSTogZ2l0Oi8vZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvb3BlbmVtYmVkZGVkLWNvcmUKIAlsYXllcnM6IG1ldGEKLQlicmFuY2g6IHRodWQKKwlicmFuY2g6IG1hc3RlcgogCXJldmlzaW9uOiBIRUFECiAKIAlVUkk6IGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL21ldGEtb3BlbmVtYmVkZGVkCiAJbGF5ZXJzOiBtZXRhLW9lCi0JYnJhbmNoOiB0aHVkCisJYnJhbmNoOiBtYXN0ZXIKIAlyZXZpc2lvbjogSEVBRAogCiBQbGVhc2UgZm9sbG93IHRoZSByZWNvbW1lbmRlZCBzZXR1cCBwcm9jZWR1cmVzIG9mIHlvdXIgT0UgZGlzdHJpYnV0aW9uLgpAQCAtMzUsMTMgKzM1LDE1IEBACiBiZWZvcmUgcG9zdGluZy4KIAogU2VuZCBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdpdGgKLSdbbWV0YS1weXRob25dW3RodWRdJyBpbiB0aGUgc3ViamVjdC4KKydbbWV0YS1weXRob25dJyBpbiB0aGUgc3ViamVjdC4KIAogV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNlIHNvbWV0aGluZyBsaWtlOiAKLSdnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvPW9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1weXRob25dW3RodWRdW1BBVENIJworJ2dpdCBzZW5kLWVtYWlsIC1NIC0xIC0tdG89b3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgLS1zdWJqZWN0LXByZWZpeD1tZXRhLXB5dGhvbl1bUEFUQ0gnCiAKIE1haW50ZW5hbmNlCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVRodWQgTWFpbnRhaW5lcnM6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitMYXllciBNYWludGFpbmVyczoKKyAgICAgICAgVGltICJtb3RvLXRpbW8iIE9ybGluZyA8VGljb1RpbW9AZ21haWwuY29tPgorICAgICAgICBEZXJlayBTdHJha2EgPGRlcmVrQGFzdGVyaXVzLmlvPgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jbGFzc2VzL2JhbmRpdC5iYmNsYXNzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY2xhc3Nlcy9iYW5kaXQuYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzEwNDFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY2xhc3Nlcy9iYW5kaXQuYmJjbGFzcwpAQCAtMCwwICsxLDYzIEBACisjIENsYXNzIHRvIHNjYW4gUHl0aG9uIGNvZGUgZm9yIHNlY3VyaXR5IGlzc3VlcywgdXNpbmcgQmFuZGl0LgorIworIyAkIGJpdGJha2UgcHl0aG9uLWZvbyAtYyBiYW5kaXQKKyMKKyMgV3JpdGVzIHRoZSByZXBvcnQgdG8gJERFUExPWV9ESVIvYmFuZGl0L3B5dGhvbi1mb28uaHRtbC4KKyMgTm8gb3V0cHV0IGlmIG5vIGlzc3VlcyBmb3VuZCwgYSB3YXJuaW5nIGlmIGlzc3VlcyBmb3VuZC4KKyMKKyMgaHR0cHM6Ly9naXRodWIuY29tL1B5Q1FBL2JhbmRpdAorCisjIERlZmF1bHQgbG9jYXRpb24gb2Ygc291cmNlcywgYmFzZWQgb24gc3RhbmRhcmQgZGlzdHV0aWxzCitCQU5ESVRfU09VUkNFID89ICIke1N9L2J1aWxkIgorCisjIFRoZSByZXBvcnQgZm9ybWF0IHRvIHVzZS4KKyMgaHR0cHM6Ly9iYW5kaXQucmVhZHRoZWRvY3MuaW8vZW4vbGF0ZXN0L2Zvcm1hdHRlcnMvaW5kZXguaHRtbAorQkFORElUX0ZPUk1BVCA/PSAiaHRtbCIKKworIyBXaGV0aGVyIGEgc2NhbiBzaG91bGQgYmUgZG9uZSBldmVyeSB0aW1lIHRoZSByZWNpcGUgaXMgYnVpbHQuCisjCisjIEJ5IGRlZmF1bHQgdGhlIHNjYW5uaW5nIG5lZWRzIHRvIGJlIGRvbmUgZXhwbGljaXRseSwgYnV0IGJ5IHNldHRpbmcgQkFORElUX0FVVE8KKyMgdG8gMSB0aGUgc2NhbiB3aWxsIGJlIGRvbmUgd2hlbmV2ZXIgdGhlIHJlY2lwZSBpdCBidWlsdC4gIE5vdGUgdGhhdCB5b3UKKyMgc2hvdWxkbid0IHNldCBCQU5ESVRfQVVUTyB0byAxIGdsb2JhbGx5IGFzIGl0IHdpbGwgdGhlbiB0cnkgdG8gc2NhbiBldmVyeQorIyByZWNpcGUsIGluY2x1ZGluZyBub24tUHl0aG9uIHJlY2lwZXMsIGNhdXNpbmcgY2lyY3VsYXIgbG9vcHMuCitCQU5ESVRfQVVUTyA/PSAiMCIKKworIyBXaGV0aGVyIEJhbmRpdCBmaW5kaW5nIGlzc3VlcyByZXN1bHRzIGluIGEgd2FybmluZyAoMCkgb3IgYW4gZXJyb3IgKDEpLgorQkFORElUX0ZBVEFMID89ICIwIgorCitkb19iYW5kaXRbZGVwZW5kc10gPSAicHl0aG9uMy1iYW5kaXQtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiCitweXRob24gZG9fYmFuZGl0KCkgeworICAgIGltcG9ydCBvcywgc3VicHJvY2VzcworICAgIHRyeToKKyAgICAgICAgcmVwb3J0ID0gZC5leHBhbmQoIiR7REVQTE9ZX0RJUn0vYmFuZGl0LyR7UE59LSR7UFZ9LiR7QkFORElUX0ZPUk1BVH0iKQorICAgICAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmRpcm5hbWUocmVwb3J0KSwgZXhpc3Rfb2s9VHJ1ZSkKKworICAgICAgICBhcmdzID0gKCJiYW5kaXQiLAorICAgICAgICAgICAgICAgICItLWZvcm1hdCIsIGQuZ2V0VmFyKCJCQU5ESVRfRk9STUFUIiksCisgICAgICAgICAgICAgICAgIi0tb3V0cHV0IiwgcmVwb3J0LAorICAgICAgICAgICAgICAgICItbGwiLAorICAgICAgICAgICAgICAgICItLXJlY3Vyc2l2ZSIsIGQuZ2V0VmFyKCJCQU5ESVRfU09VUkNFIikpCisgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KGFyZ3MsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkKKyAgICAgICAgYmIubm90ZSgiQmFuZGl0IGZvdW5kIG5vIGlzc3VlcyAocmVwb3J0IHdyaXR0ZW4gdG8gJXMpIiAlIHJlcG9ydCkKKyAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKKyAgICAgICAgaWYgZS5yZXR1cm5jb2RlID09IDE6CisgICAgICAgICAgICBpZiBvZS50eXBlcy5ib29sZWFuKGQuZ2V0VmFyKCJCQU5ESVRfRkFUQUwiKSk6CisgICAgICAgICAgICAgICAgYmIuZXJyb3IoIkJhbmRpdCBmb3VuZCBpc3N1ZXMgKHJlcG9ydCB3cml0dGVuIHRvICVzKSIgJSByZXBvcnQpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGJiLndhcm4oIkJhbmRpdCBmb3VuZCBpc3N1ZXMgKHJlcG9ydCB3cml0dGVuIHRvICVzKSIgJSByZXBvcnQpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBiYi5lcnJvcigiQmFuZGl0IGZhaWxlZDpcbiIgKyBlLm91dHB1dC5kZWNvZGUoInV0Zi04IikpCit9CisKK3B5dGhvbigpIHsKKyAgICBiZWZvcmUgPSAiZG9fYnVpbGQiCisgICAgYWZ0ZXIgPSAiZG9fY29tcGlsZSIKKworICAgIGlmIG9lLnR5cGVzLmJvb2xlYW4oZC5nZXRWYXIoIkJBTkRJVF9BVVRPIikpOgorICAgICAgICBiYi5idWlsZC5hZGR0YXNrKCJkb19iYW5kaXQiLCBiZWZvcmUsIGFmdGVyLCBkKQorICAgIGVsc2U6CisgICAgICAgIGJiLmJ1aWxkLmFkZHRhc2soImRvX2JhbmRpdCIsIE5vbmUsIGFmdGVyLCBkKQorfQorCisjIFRPRE86IHN0b3JlIHJlcG9ydCBpbiBzc3RhdGUKKyMgVE9ETzogYSB3YXkgdG8gcGFzcyBleHRyYSBhcmdzIG9yIC5iYW5kaXQgZmlsZSwgYmFzaWNhbGx5IGNvbnRyb2wgLWxsCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jb25mL2xheWVyLmNvbmYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jb25mL2xheWVyLmNvbmYKaW5kZXggMzIxZDUxYi4uZmI1Y2RhNSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL2NvbmYvbGF5ZXIuY29uZgpAQCAtMTQsNiArMTQsNiBAQAogCiBMQVlFUkRFUEVORFNfbWV0YS1weXRob24gPSAiY29yZSBvcGVuZW1iZWRkZWQtbGF5ZXIiCiAKLUxBWUVSU0VSSUVTX0NPTVBBVF9tZXRhLXB5dGhvbiA9ICJ0aHVkIgorTEFZRVJTRVJJRVNfQ09NUEFUX21ldGEtcHl0aG9uID0gInRodWQgd2FycmlvciIKIAogTElDRU5TRV9QQVRIICs9ICIke0xBWUVSRElSfS9saWNlbnNlcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1tcHJwYy9weXRob24tbXBycGMuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbi1tcHJwYy5pbmMKaW5kZXggMDVmYmFlNC4uZTllZWJlOCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbi1tcHJwYy5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbi1tcHJwYy5pbmMKQEAgLTcsNyArNyw3IEBACiBERVBFTkRTICs9ICIke1BZVEhPTl9QTn0tZ2V2ZW50IgogUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS1nZXZlbnQgJHtQWVRIT05fUE59LW1zZ3BhY2sgJHtQWVRIT05fUE59LWdzb2NrZXRwb29sIgogCi1TUkNfVVJJW21kNXN1bV0gPSAiYWNkZTFmMzQ2NDExOTk3ZDc2YWI4OTc5MGEzNTY4MjMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZThkZGQ0N2U3YTJmYjJkM2IyMDNmY2M1MjI0NDNlZTViZTU2YzhmN2UyYzZkOTE1YzA0NzQ0NTk1MWNlZjFmYiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4ZDk3OTYxMDUxNDIyZjNkZTMxNTYxMzQzNDk4MmQzYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNTg5ZmQxMjc0ODJlMjkxYjFlYzMxNGQ2ZjBlNTVjYzEzMzExYzEyOTMyYWNlMzU2ZDYxNzhlYTFjYTI4ZjZhIgogCiBpbmhlcml0IHB5cGkKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1tcHJwYy9weXRob24tbXBycGNfMC4xLjE2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbi1tcHJwY18wLjEuMTcuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1tcHJwYy9weXRob24tbXBycGNfMC4xLjE2LmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tbXBycGMvcHl0aG9uLW1wcnBjXzAuMS4xNy5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbjMtbXBycGNfMC4xLjE2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbjMtbXBycGNfMC4xLjE3LmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tbXBycGMvcHl0aG9uMy1tcHJwY18wLjEuMTYuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1tcHJwYy9weXRob24zLW1wcnBjXzAuMS4xNy5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXB5dGhvbi1pbWFnZS1iYXNlLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXB5dGhvbi1pbWFnZS1iYXNlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMDgxZTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtcHl0aG9uLWltYWdlLWJhc2UuYmIKQEAgLTAsMCArMSw3IEBACitTVU1NQVJZID0gIm1ldGEtcHl0aG9uIGJ1aWxkIHRlc3QgaW1hZ2UiCisKK0lNQUdFX0lOU1RBTEwgPSAicGFja2FnZWdyb3VwLWNvcmUtYm9vdCIKKworTElDRU5TRSA9ICJNSVQiCisKK2luaGVyaXQgY29yZS1pbWFnZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXB5dGhvbi1pbWFnZS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1weXRob24taW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2M3NWZlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1weXRob24taW1hZ2UuYmIKQEAgLTAsMCArMSw2IEBACityZXF1aXJlICBtZXRhLXB5dGhvbi1pbWFnZS1iYXNlLmJiCisKK1NVTU1BUlkgPSAibWV0YS1weXRob24gYnVpbGQgdGVzdCBpbWFnZSIKKworSU1BR0VfSU5TVEFMTCArPSAicGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uIFwKKyAgICAgICAgICAgICAgICAgIHBhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtcHl0aG9uLXB0ZXN0LWltYWdlLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXB5dGhvbi1wdGVzdC1pbWFnZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWUxNTM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXB5dGhvbi1wdGVzdC1pbWFnZS5iYgpAQCAtMCwwICsxLDUgQEAKK3JlcXVpcmUgIG1ldGEtcHl0aG9uLWltYWdlLWJhc2UuYmIKKworU1VNTUFSWSA9ICJtZXRhLXB5dGhvbiBwdGVzdCB0ZXN0IGltYWdlIgorCitJTUFHRV9JTlNUQUxMICs9ICJwYWNrYWdlZ3JvdXAtbWV0YS1weXRob24tcHRlc3QiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1weXRob24uYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1weXRob24uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJjZGE1OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLXB5dGhvbi5iYgpAQCAtMCwwICsxLDE1MCBAQAorU1VNTUFSWSA9ICJNZXRhLW9lIHB0ZXN0IHBhY2thZ2Vncm91cHMiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1BST1ZJREVTID0gIiR7UEFDS0FHRVN9IgorUEFDS0FHRVMgPSAnIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1weXRob24gXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMgXAorJworCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1weXRob24gPSAiXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXB5dGhvbi1leHRlbmRlZCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uLWNvbm5lY3Rpdml0eSBcCisiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMgPSAiXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMtZXh0ZW5kZWQgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMtY29ubmVjdGl2aXR5IFwKKyIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uID0gIlwKKyAgICBweXRob24tcHN1dGlsIHB5dGhvbi1jZXJ0aWZpIHB5dGhvbi1mbGFzayBweXRob24tcHlyb3V0ZTIgcHl0aG9uLXB5b3BlbnNzbCBweXRob24tcHlsaW50IFwKKyAgICBweXRob24tc2VtdmVyIHB5dGhvbi13cmFwdCBweXRob24tbmV0d29ya3ggcHl0aG9uLWJlaGF2ZSBweXRob24tZG9taW5hdGUgcHl0aG9uLWZsYXNrLXVzZXIgXAorICAgIHB5dGhvbi1hdHRycyBweXRob24taHVtYW5pemUgcHl0aG9uLXNpeCBweXRob24tZmxhc2stbG9naW4gcHl0aG9uLXpvcGVpbnRlcmZhY2UgcHl0aG9uLXNpamF4IFwKKyAgICBweXRob24tcHlpbm90aWZ5IHB5dGhvbi1zdGV2ZWRvcmUgcHl0aG9uLXB5and0IHB5dGhvbi13ZWJkYXYgcHl0aG9uLXR3aXN0ZWQgcHl0aG9uLWZsYXNrLXNpamF4IFwKKyAgICBweXRob24tZnVuY3Rvb2xzMzIgcHl0aG9uLWphdmFvYmotcHkzIHB5dGhvbi1weWdwZ21lIHB5dGhvbi1mdXR1cmUgcHl0aG9uLWF0dHIgXAorICAgIHB5dGhvbi1mbGFzay14c3RhdGljIHB5dGhvbi1tMmNyeXB0byBweXRob24taHlwZXJsaW5rIHB5dGhvbi1pbWFnaW5nIHB5dGhvbi1pZG5hIHB5dGhvbi1qaW5qYTIgXAorICAgIHB5dGhvbi1jYW4gcHl0aG9uLWZsYXNrLWJjcnlwdCBweXRob24tcmVxdWVzdHMgcHl0aG9uLXBhc3RlIHB5dGhvbi1mbGFzay1zY3JpcHQgcHl0aG9uLXNlcnBlbnQgXAorICAgIHB5dGhvbi1jcnlwdG9ncmFwaHkgcHl0aG9uLXB5c21pIHB5dGhvbi14bHJkIHB5dGhvbi1hcHBkaXJzIHB5dGhvbi1qc29ucGF0Y2ggcHl0aG9uLWJjcnlwdCBcCisgICAgcHl0aG9uLW5kZy1odHRwc2NsaWVudCBweXRob24tcHl0ZXN0IHB5dGhvbi1saW5lY2FjaGUyIHB5dGhvbi12aXNpdG9yIHB5dGhvbi1iYWNrcG9ydHMtYWJjIFwKKyAgICBweXRob24tc2V0dXB0b29scy1zY20gcHl0aG9uLWV2ZGV2IHB5dGhvbi1weWprcyBweXRob24tanNvbnBvaW50ZXIgcHl0aG9uLWNoZWV0YWggcHl0aG9uLWdldmVudCBcCisgICAgcHl0aG9uLXNtYnVzIHB5dGhvbi1zcWxhbGNoZW15IHB5dGhvbi1zY3J5cHQgcHl0aG9uLXdlcmt6ZXVnIHB5dGhvbi1hbnlqc29uIHB5dGhvbi1wZXhwZWN0IFwKKyAgICBweXRob24tcm9ib3RmcmFtZXdvcmstc2VyaWFsbGlicmFyeSBweXRob24tcHlhbHNhYXVkaW8gcHl0aG9uLXB5dGVzdC1oZWxwZXJzLW5hbWVzcGFjZSBcCisgICAgcHl0aG9uLWFsZW1iaWMgcHl0aG9uLWZsYXNrLXB5bW9uZ28gcHl0aG9uLXNsaXAtZGJ1cyBweXRob24tcHlkYnVzIHB5dGhvbi1hdXRvbWF0IHB5dGhvbi1yZmMzOTg3IFwKKyAgICBweXRob24tdHpsb2NhbCBweXRob24tYmFja3BvcnRzLXNzbCBweXRob24tc3VicHJvY2VzczMyIHB5dGhvbi1hc24xY3J5cHRvIHB5dGhvbi1weWJpbmQxMSBcCisgICAgcHl0aG9uLXB0eXByb2Nlc3MgcHl0aG9uLWJhYmVsIHB5dGhvbi1wYXNzbGliIHB5dGhvbi1vYXV0aGxpYiBweXRob24tc2Rub3RpZnkgXAorICAgIHB5dGhvbi1sYXp5LW9iamVjdC1wcm94eSBweXRob24tY3J5cHRvZ3JhcGh5LXZlY3RvcnMgcHl0aG9uLWNyY21vZCBweXRob24tcHl1c2IgcHl0aG9uLXZvYmplY3QgXAorICAgIHB5dGhvbi13ZWJjb2xvcnMgcHl0aG9uLXB5cGFyc2luZyBweXRob24tYmVhdXRpZnVsc291cDQgcHl0aG9uLWNmZmkgcHl0aG9uLXRvcm5hZG8tcmVkaXMgXAorICAgIHB5dGhvbi1pdHNkYW5nZXJvdXMgcHl0aG9uLXB5YXNuMS1tb2R1bGVzIHB5dGhvbi1uZXRhZGRyIHB5dGhvbi12Y3ZlcnNpb25lciBcCisgICAgcHl0aG9uLXNoIHB5dGhvbi1ncmVlbmxldCBweXRob24tcGFoby1tcXR0IHB5dGhvbi10cmFjZWJhY2syIHB5dGhvbi1nZGF0YSBweXRob24tZGJ1c21vY2sgXAorICAgIHB5dGhvbi13aG9vc2ggcHl0aG9uLWxvY2tmaWxlIHB5dGhvbi1pc29ydCBweXRob24td3Rmb3JtcyBweXRob24tZmVlZHBhcnNlciBweXRob24tZmxhc2stcmVzdGZ1bCBcCisgICAgcHl0aG9uLXB5c25tcCBweXRob24tZmxhc2stYmFiZWwgcHl0aG9uLXB5dGVzdC10ZW1wZGlyIHB5dGhvbi1mbGFzay1uYXYgcHl0aG9uLXB5em1xIHB5dGhvbi1weXlhbWwgXAorICAgIHB5dGhvbi1wcm90b2J1ZiBweXRob24tcGx1Z2d5IHB5dGhvbi1qc29uc2NoZW1hIHB5dGhvbi1tc2dwYWNrIHB5dGhvbi1wYW5kYXMgXAorICAgIHB5dGhvbi1wZXJpcGhlcnkgcHl0aG9uLXBpbnQgcHl0aG9uLXB5Y3J5cHRvZG9tZSBweXRob24teWFwcGkgcHl0aG9uLXB5Y3J5cHRvIHB5dGhvbi1wcmV0ZW5kIFwKKyAgICBweXRob24tcHlzZXJpYWwgcHl0aG9uLXB5aWZhY2UgcHl0aG9uLWRvY3V0aWxzIHB5dGhvbi1ncnBjaW8tdG9vbHMgcHl0aG9uLWRqYW5nby1zb3V0aCBcCisgICAgcHl0aG9uLWJhY2twb3J0cy1mdW5jdG9vbHMtbHJ1LWNhY2hlIHB5dGhvbi1weSBweXRob24tY2xpY2sgcHl0aG9uLWZsYXNrLW1pZ3JhdGUgXAorICAgIHB5dGhvbi1weXVkZXYgcHl0aG9uLXB5c3RhY2hlIHB5dGhvbi1ibGlua2VyIHB5dGhvbi1wcm9tcHQtdG9vbGtpdCBweXRob24tbHhtbCBcCisgICAgcHl0aG9uLXVuaWRpZmYgcHl0aG9uLWluZmxlY3Rpb24gcHl0aG9uLXR3b2Zpc2ggcHl0aG9uLXByZXR0eXRhYmxlIHB5dGhvbi13ZWJlbmNvZGluZ3MgXAorICAgIHB5dGhvbi1tb2NrIHB5dGhvbi1weWV4cGVjdCBweXRob24tZG5zcHl0aG9uIHB5dGhvbi1weXNvY2tzIHB5dGhvbi1weW5ldGxpbnV4IFwKKyAgICBweXRob24tZGFlbW9uIHB5dGhvbi1kamFuZ29yZXN0ZnJhbWV3b3JrIHB5dGhvbi10eXBpbmcgcHl0aG9uLW1vbm90b25pYyBweXRob24tc3BhcnRzIFwKKyAgICBweXRob24tZW51bTM0IHB5dGhvbi1weXBlcmNsaXAgcHl0aG9uLWZsYXNrLXVwbG9hZHMgcHl0aG9uLXBiciBweXRob24tcGFyc2UgcHl0aG9uLXB5Zmxha2VzIFwKKyAgICBweXRob24tcHloYW1jcmVzdCBweXRob24tbWFrbyBweXRob24taW5jcmVtZW50YWwgcHl0aG9uLXRvcm5hZG8gcHl0aG9uLXhzdGF0aWMtZm9udC1hd2Vzb21lIFwKKyAgICBweXRob24tY21kMiBweXRob24tc3RyaWN0LXJmYzMzMzkgcHl0aG9uLXB5Y29kZXN0eWxlIHB5dGhvbi14c3RhdGljIHB5dGhvbi1zbmFrZWZvb2QgXAorICAgIHB5dGhvbi1weWJsdWV6IHB5dGhvbi1mbGFzay1uYXZpZ2F0aW9uIHB5dGhvbi1weWZpcm1hdGEgcHl0aG9uLXB5bW9uZ28gcHl0aG9uLXB5c3FsaXRlIFwKKyAgICBweXRob24tcHJvZ3Jlc3MgcHl0aG9uLWZsYXNrLXNxbGFsY2hlbXkgcHl0aG9uLXB5bWlzcCBweXRob24tcGlwIHB5dGhvbi11anNvbiBweXRob24tcGx5IFwKKyAgICBweXRob24tcGVwOCBweXRob24tZGF0ZXV0aWwgcHl0aG9uLXB5Y3BhcnNlciBweXRob24tZGFlbW9uaXplIHB5dGhvbi1hc3Ryb2lkIHB5dGhvbi1weXJleCBcCisgICAgcHl0aG9uLW1hcmt1cHNhZmUgcHl0aG9uLXB5dGVzdC1ydW5uZXIgcHl0aG9uLWdycGNpbyBweXRob24tbWNjYWJlIHB5dGhvbi1weXR6IHB5dGhvbi1zZWxlY3RvcnMzNCBcCisgICAgcHl0aG9uLWN5dGhvbiBweXRob24tY2hhcmRldCBweXRob24tZWRpdG9yIHB5dGhvbi1mbGFzay1ib290c3RyYXAgcHl0aG9uLWh0bWw1bGliIFwKKyAgICBweXRob24tc2luZ2xlZGlzcGF0Y2ggcHl0aG9uLXJlZGlzIHB5dGhvbi1mbGFzay1tYWlsIHB5dGhvbi1mdW5jc2lncyBweXRob24tc25pbXB5IHB5dGhvbi1weWFzbjEgXAorICAgIHB5dGhvbi1kZWNvcmF0b3IgcHl0aG9uLXVybGxpYjMgcHl0aG9uLWZlZWRmb3JtYXR0ZXIgcHl0aG9uLW1hdHBsb3RsaWIgcHl0aG9uLWlzbzg2MDEgXAorICAgIHB5dGhvbi1udW1lcmljIHB5dGhvbi1yb2JvdGZyYW1ld29yayBweXRob24tZGphbmdvIHB5dGhvbi1zaW1wbGVqc29uIHB5dGhvbi13Y3dpZHRoIFwKKyAgICBweXRob24tY29uZmlncGFyc2VyIHB5dGhvbi1lcHlkb2MgcHl0aG9uLWludGVydmFscyBweXRob24tc3BlYWtsYXRlciBcCisgICAgcHl0aG9uLWF3cy1pb3QtZGV2aWNlLXNkay1weXRob24gcHl0aG9uLWNvbnN0YW50bHkgcHl0aG9uLWJpdGFycmF5IHB5dGhvbi1mbGFzay13dGYgXAorICAgIHB5dGhvbi1wYXJzZS10eXBlIHB5dGhvbi1pcGFkZHJlc3MgcHl0aG9uLWRidXMgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAicGFtIiwgInB5dGhvbi1wYW0gcGFtZWxhIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJzeXN0ZW1kIiwgInB5dGhvbi1zeXN0ZW1kIiwgIiIsIGQpfSBcCisiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMgPSAiXAorICAgIHB5dGhvbjMtcHlzZXJpYWwgcHl0aG9uMy1nZXZlbnQgcHl0aG9uMy1hbGVtYmljIHB5dGhvbjMtcm9ib3RmcmFtZXdvcmstc2VyaWFsbGlicmFyeSBcCisgICAgcHl0aG9uMy1yZmMzOTg3IHB5dGhvbjMteGxyZCBweXRob24zLWJhbmRpdCBweXRob24zLWNvbnN0YW50bHkgcHl0aG9uMy1pbmZsZWN0aW9uIFwKKyAgICBweXRob24zLWphdmFvYmotcHkzIHB5dGhvbjMtc2ggcHl0aG9uMy1weWNyeXB0byBweXRob24zLXB5YXNuMSBweXRob24zLXB5ZGJ1cyBweXRob24zLXd0Zm9ybXMgXAorICAgIHB5dGhvbjMtcHlibHVleiBweXRob24zLWJhYmVsIHB5dGhvbjMtcGFyc2UtdHlwZSBweXRob24zLWJpdGFycmF5IHB5dGhvbjMtZGphbmdvLXNvdXRoIFwKKyAgICBweXRob24zLXB5dXNiIHB5dGhvbjMtcHJjdGwgcHl0aG9uMy1qaW5qYTIgcHl0aG9uMy13ZXJremV1ZyBweXRob24zLXB5amtzIHB5dGhvbjMtcmVxdWVzdHMtZnRwIFwKKyAgICBweXRob24zLWJlaGF2ZSBweXRob24zLXB5cGFyc2luZyBweXRob24zLXB5eWFtbCBweXRob24zLXR6bG9jYWwgcHl0aG9uMy1wcmV0ZW5kIHB5dGhvbjMtc3RldmVkb3JlIFwKKyAgICBweXRob24zLXNpamF4IHB5dGhvbjMtbGFuZ3RhYmxlIHB5dGhvbjMtcmVxdWVzdHMtZmlsZSBweXRob24zLWNyY21vZCBweXRob24zLXJvYm90ZnJhbWV3b3JrIFwKKyAgICBweXRob24zLXBpbnQgcHl0aG9uMy1jb3ZlcmFnZSBweXRob24zLWlzbzg2MDEgcHl0aG9uMy1uZGctaHR0cHNjbGllbnQgcHl0aG9uMy15YXBwaSBweXRob24zLXR3b2Zpc2ggXAorICAgIHB5dGhvbjMtc3BlYWtsYXRlciBweXRob24zLXNtYnVzIHB5dGhvbjMtZGphbmdvcmVzdGZyYW1ld29yayBweXRob24zLW1zZ3BhY2sgcHl0aG9uMy1qc29ucG9pbnRlciBcCisgICAgcHl0aG9uMy1mbGFzay1zY3JpcHQgcHl0aG9uMy1jYXNzYW5kcmEtZHJpdmVyIHB5dGhvbjMtY3l0aG9uIHB5dGhvbjMtdWpzb24gcHl0aG9uMy1hd3MtaW90LWRldmljZS1zZGstcHl0aG9uIFwKKyAgICBweXRob24zLXB5dGVzdC1ydW5uZXIgcHl0aG9uMy1weWlmYWNlIHB5dGhvbjMtZmxhc2stbG9naW4gcHl0aG9uMy1tYXJrdXBzYWZlIHB5dGhvbjMtc2V0dXB0b29scy1zY20gXAorICAgIHB5dGhvbjMtc2VtdmVyIHB5dGhvbjMtc2Rub3RpZnkgcHl0aG9uMy1mbGFzay11c2VyIHB5dGhvbjMtdG9ybmFkbyBweXRob24zLWpzb25wYXRjaCBweXRob24zLXBleHBlY3QgXAorICAgIHB5dGhvbjMtcHJvZ3Jlc3MgcHl0aG9uMy1qc29uc2NoZW1hIHB5dGhvbjMteHN0YXRpYyBweXRob24zLXB5cm91dGUyIHB5dGhvbjMtaWRuYSBweXRob24zLXNxbGFsY2hlbXkgXAorICAgIHB5dGhvbjMtdXJsbGliMyBweXRob24zLWZsYXNrLW1haWwgcHl0aG9uMy1hc24xY3J5cHRvIHB5dGhvbjMtcHlpbm90aWZ5IHB5dGhvbjMtaW50ZXJ2YWxzIHB5dGhvbjMtcHlwZXJjbGlwIFwKKyAgICBweXRob24zLWZsYXNrLWJvb3RzdHJhcCBweXRob24zLXB5dWRldiBweXRob24zLWRlY29yYXRvciBweXRob24zLXB5YmluZDExIHB5dGhvbjMtcGx1Z2d5IHB5dGhvbjMtcmVkaXMgXAorICAgIHB5dGhvbjMtcHljcnlwdG9kb21lIHB5dGhvbjMtcGFzc2xpYiBweXRob24zLWRvbWluYXRlIHB5dGhvbjMtcGx5IHB5dGhvbjMtbnRwbGliIHB5dGhvbjMtc2VycGVudCBweXRob24zLXdyYXB0IFwKKyAgICBweXRob24zLWF0dHJzIHB5dGhvbjMtYXBwZGlycyBweXRob24zLWlzb3J0IHB5dGhvbjMtZXZkZXYgcHl0aG9uMy1pbmNyZW1lbnRhbCBweXRob24zLWNsaWNrIHB5dGhvbjMtZmxhc2stbmF2IFwKKyAgICBweXRob24zLXdlYmNvbG9ycyBweXRob24zLWRhdGV1dGlsIHB5dGhvbjMtYmxpbmtlciBweXRob24zLWh5cGVybGluayBweXRob24zLWx4bWwgcHl0aG9uMy1weWxpbnQgXAorICAgIHB5dGhvbjMtZmxhc2stbWlncmF0ZSBweXRob24zLXB5dGVzdC10ZW1wZGlyIHB5dGhvbjMtZmxhc2stcmVzdGZ1bCBweXRob24zLWZlZWRmb3JtYXR0ZXIgXAorICAgIHB5dGhvbjMtcHlhc24xLW1vZHVsZXMgcHl0aG9uMy1zY2FweSBweXRob24zLWh0bWw1bGliIHB5dGhvbjMtZG5zcHl0aG9uIHB5dGhvbjMtYXV0b21hdCBcCisgICAgcHl0aG9uMy1pdHNkYW5nZXJvdXMgcHl0aG9uMy1wYW5kYXMgcHl0aG9uMy1weWZpcm1hdGEgcHl0aG9uMy1wcm90b2J1ZiAgXAorICAgIHB5dGhvbjMtZmxhc2stYmFiZWwgcHl0aG9uMy1hbnlqc29uIHB5dGhvbjMtZmxhc2steHN0YXRpYyBweXRob24zLW11bHRpZGljdCBweXRob24zLXByb21wdC10b29sa2l0IFwKKyAgICBweXRob24zLXBlcmlwaGVyeSBweXRob24zLWdyZWVubGV0IHB5dGhvbjMtcHl0eiBweXRob24zLXB5ZXhwZWN0IHB5dGhvbjMtem9wZWludGVyZmFjZSBcCisgICAgcHl0aG9uMy1iY3J5cHQgcHl0aG9uMy14c3RhdGljLWZvbnQtYXdlc29tZSBweXRob24zLW0yY3J5cHRvIHB5dGhvbjMtcGFyc2UgcHl0aG9uMy1hdHRyIFwKKyAgICBweXRob24zLWJlYXV0aWZ1bHNvdXA0IHB5dGhvbjMtcHljb2Rlc3R5bGUgcHl0aG9uMy1vYXV0aGxpYiBweXRob24zLWdycGNpbyBweXRob24zLXNjcnlwdCBcCisgICAgcHl0aG9uMy1weWp3dCBweXRob24zLWFzdHJvaWQgcHl0aG9uMy1mbGFzay1weW1vbmdvIHB5dGhvbjMtd2N3aWR0aCBweXRob24zLWxhenktb2JqZWN0LXByb3h5IFwKKyAgICBweXRob24zLXdlYnNvY2tldHMgcHl0aG9uMy1weXptcSBweXRob24zLXB5dGVzdCBweXRob24zLWNoYXJkZXQgcHl0aG9uMy12Y3ZlcnNpb25lciBweXRob24zLXdob29zaCBcCisgICAgcHl0aG9uMy1weW1pc3AgcHl0aG9uMy1jZXJ0aWZpIHB5dGhvbjMtcHN1dGlsIHB5dGhvbjMtZmxhc2stc3FsYWxjaGVteSBweXRob24zLWh1bWFuaXplIFwKKyAgICBweXRob24zLWdycGNpby10b29scyBweXRob24zLWNvbmZpZ3BhcnNlciBweXRob24zLXN0cmljdC1yZmMzMzM5IHB5dGhvbjMtcGFoby1tcXR0IFwKKyAgICBweXRob24zLXB5dGVzdC1oZWxwZXJzLW5hbWVzcGFjZSBweXRob24zLWZsYXNrIHB5dGhvbjMtZmxhc2std3RmIHB5dGhvbjMtdmlzaXRvciBweXRob24zLXB5bmV0bGludXggXAorICAgIHB5dGhvbjMtcmVxdWVzdHMgcHl0aG9uMy1jcnlwdG9ncmFwaHktdmVjdG9ycyBweXRob24zLXNwaWRldiBweXRob24zLXBpZCBweXRob24zLXB5bW9uZ28gXAorICAgIHB5dGhvbjMtZnV0dXJlIHB5dGhvbjMtZGphbmdvIHB5dGhvbjMtdW5pZGlmZiBweXRob24zLXdlYmVuY29kaW5ncyBweXRob24zLWNhbiBweXRob24zLXB5YWxzYWF1ZGlvIFwKKyAgICBweXRob24zLWZsYXNrLXNpamF4IHB5dGhvbjMtY3J5cHRvZ3JhcGh5IHB5dGhvbjMtdHdpc3RlZCBweXRob24zLW5ldGFkZHIgcHl0aG9uMy1weWNwYXJzZXIgXAorICAgIHB5dGhvbjMtZmxhc2stdXBsb2FkcyBweXRob24zLXB5c29ja3MgcHl0aG9uMy1jZmZpIHB5dGhvbjMtZWRpdG9yIHB5dGhvbjMtcHR5cHJvY2VzcyBcCisgICAgcHl0aG9uMy1weW9wZW5zc2wgcHl0aG9uMy1vcmRlcmVkLXNldCBweXRob24zLXNpbXBsZWpzb24gcHl0aG9uMy1weSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJzeXN0ZW1kIiwgInB5dGhvbjMtc3lzdGVtZCIsICIiLCBkKX0gXAorIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1weXRob24tZXh0ZW5kZWQgPSAiXAorICAgIHB5dGhvbi1weWVwaGVtIFwKKyAgICBweXRob24tY3NvbiBcCisgICAgcHl0aG9uLXB5d2JlbSBcCisgICAgcHl0aG9uLXB5cGFydGVkIFwKKyIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uMy1leHRlbmRlZCA9ICJcCisgICAgcHl0aG9uMy1weWtpY2tzdGFydCBcCisgICAgcHl0aG9uMy1tZWggXAorICAgIHB5dGhvbjMtYmxpdmV0IFwKKyAgICBweXRob24zLXB5d2JlbSBcCisgICAgcHl0aG9uMy1weXBhcnRlZCBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAicHl0aG9uMy1ibGl2ZXRndWkiLCAiIiwgZCl9IFwKKyIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uLWNvbm5lY3Rpdml0eSA9ICJcCisgICAgcHl0aG9uLXB5cm80IFwKKyAgICBweXRob24tcHl0dW4gXAorICAgIHB5dGhvbi1tcHJwYyBcCisgICAgcHl0aG9uLXRocmlmdCBcCisgICAgcHl0aG9uLXR4d3MgXAorICAgIHB5dGhvbi1weWNvbm5tYW4gXAorICAgIHB5dGhvbi1nc29ja2V0cG9vbCBcCisiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMtY29ubmVjdGl2aXR5ID0gIlwKKyAgICBweXRob24zLXB5dHVuIFwKKyAgICBweXRob24zLW1wcnBjIFwKKyAgICBweXRob24zLXB5Y29ubm1hbiBcCisgICAgcHl0aG9uMy1nc29ja2V0cG9vbCBcCisiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLXB5dGhvbi1wdGVzdCA9ICJcCisgICAgcHl0aG9uLXB5Z3BnbWUgXAorICAgIHB5dGhvbi1jcnlwdG9ncmFwaHkgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uMy1wdGVzdCA9ICJcCisgICAgcHl0aG9uMy1jcnlwdG9ncmFwaHkgXAorICAgICIKKworRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL2d5cC9neXBfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9neXAvZ3lwX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjNmM2ZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9neXAvZ3lwX2dpdC5iYgpAQCAtMCwwICsxLDE1IEBACitERVNDUklQVElPTiA9ICJHWVAgaXMgYSBNZXRhLUJ1aWxkIHN5c3RlbTogYSBidWlsZCBzeXN0ZW0gdGhhdCBnZW5lcmF0ZXMgb3RoZXIgYnVpbGQgc3lzdGVtcy4iCitIT01FUEFHRSA9ICJodHRwczovL2d5cC5nc3JjLmlvLyIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YWI4MjhjYjhjZTRjNjJlZTgyOTQ1YTExMjQ3YjZiYmQiCitTRUNUSU9OID0gImRldmVsIgorCitTUkNfVVJJID0gImdpdDovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vZXh0ZXJuYWwvZ3lwO3Byb3RvY29sPWh0dHBzIgorU1JDUkVWID0gIjhiZWUwOWY0YTU3ODA3MTM2NTkzZGRjOTA2YjBiMjEzYzIxZjkwMTQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCitQViA9ICIwLjErZ2l0JHtTUkNQVn0iCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWF0dHJzLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1hdHRycy5pbmMKaW5kZXggZmE3M2VhNS4uZDBiNTY5NyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWF0dHJzLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYXR0cnMuaW5jCkBAIC05LDYgKzksNiBAQAogaW5oZXJpdCBweXBpCiAKIFJERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCArPSAiIFwKLSAgICAke1BZVEhPTl9QTn0tY3J5cHRvZ3JhcGh5IFwKKyAgICAke1BZVEhPTl9QTn0tY3J5cHQgXAogICAgICR7UFlUSE9OX1BOfS1jdHlwZXMgXAotIiAgICAKKyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jYWNoZXRvb2xzLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jYWNoZXRvb2xzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmFlMzE4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNhY2hldG9vbHMuaW5jCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiRXh0ZW5zaWJsZSBtZW1vaXppbmcgY29sbGVjdGlvbnMgYW5kIGRlY29yYXRvcnMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vdGtlbS9jYWNoZXRvb2xzIgorREVTQ1JJUFRJT04gPSAiVGhpcyBtb2R1bGUgcHJvdmlkZXMgdmFyaW91cyBtZW1vaXppbmcgXAorY29sbGVjdGlvbnMgYW5kIGRlY29yYXRvcnMsIGluY2x1ZGluZyB2YXJpYW50cyBvZiB0aGUgXAorUHl0aG9uIDMgU3RhbmRhcmQgTGlicmFyeSBAbHJ1X2NhY2hlIGZ1bmN0aW9uIGRlY29yYXRvci4iCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0yN2Y3NTE4ZWI2ZjdkYzY4NmQwZjk1M2IyZjI4ZGFlNSIKKworaW5oZXJpdCBweXBpCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhN2IxYzVlYjUzOTBkNTAwNjdjNjJkN2JjYjRlODc1YyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZWZjYzlmYWIzYjQ5YWI4MzM0NzU3MDJiNTVlZGQ1YWUwN2FmMWFmN2E0YzYyNzY3ODk4MGI0NWU0NTljNDYwIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2FjaGV0b29sc18zLjEuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jYWNoZXRvb2xzXzMuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjMTJhZDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2FjaGV0b29sc18zLjEuMC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tY2FjaGV0b29scy5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jbGljay5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2xpY2suaW5jCmluZGV4IGM4MTU0NWIuLjYwYmM0NmYgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jbGljay5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNsaWNrLmluYwpAQCAtNiwxMCArNiwxMCBAQAogc2Vuc2libGUgZGVmYXVsdHMgb3V0IG9mIHRoZSBib3guIgogSE9NRVBBR0UgPSAiaHR0cDovL2NsaWNrLnBvY29vLm9yZy8iCiBMSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTA5ZThiNzg2OWY5NGJhOWU5YTdiMjYwZDUzYzY1ZGFiIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5yc3Q7bWQ1PWMxM2VkODkwYjIxMGE4ODJjMTc3ODIxNjY5NGM5OGM3IgogCi1TUkNfVVJJW21kNXN1bV0gPSAiZmM0Y2MwMGM0ODYzODMzMjMwZDNhZjkyYWY0OGFiZDQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjE1NTE2ZGY0NzhkNWE1NjE4MGZiZjgwZTY4ZjIwNjAxMGU2ZDE2MGZjMzlmYTUwOGI2NWUwMzVmZDc1MTMwYiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3ZjUzZDUwZjdiNzM3M2ViYzc5NjNmOWZmNjk3NDUwYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1Yjk0YjQ5NTIxZjY0NTY2NzBmZGIzMGNkODJhNGVjYTk0MTI3ODhhOTNmYTZkZDZkZjcyYzk0ZDVhOGZmMmQ3IgogCiBVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJjbGljay8oP1A8cHZlcj5cZCsoXC5cZCspKykvIgogCkBAIC0yMSwzICsyMSw1IEBACiAgICAgIgogCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1BZUElfUEFDS0FHRSA9ICJDbGljayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jbGlja182LjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2xpY2tfNy4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2xpY2tfNi43LmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2xpY2tfNy4wLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5LXZlY3RvcnMuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzLmluYwppbmRleCBkMWUyNTRiLi4wNDE3M2YwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5LXZlY3RvcnMuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHktdmVjdG9ycy5pbmMKQEAgLTgsOCArOCw4IEBACiAgICAgJHtQWVRIT05fUE59LWNyeXB0b2dyYXBoeSBcCiAiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICIyOTRkNDRmMzI4ODVhNmI5N2Q1ZjljZGQ3ZmZjNzNhMyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzNTZhMmRlZDg0YWUzNzllNTU2NTE1ZWVjOWI2OGRkNzQ5NTc2NTFhMzg0NjVkMTA2MDViYjlmYmFlMjgwZjE1IgorU1JDX1VSSVttZDVzdW1dID0gImU3ZjQ0YjE2NzhlMzA3MWUyMDQ0YTMyZjdjMzUzZDE0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgyOWQ0M2U4MDY2MDU2ZGU4ZWE3YjhhZDMxMWRiNzllNDdkOGQ2NThlMjNkNWY1ZmM0YjAyNDVhMWIzYmFhNzQiCiAKIFBZUElfUEFDS0FHRSA9ICJjcnlwdG9ncmFwaHlfdmVjdG9ycyIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzXzIuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHktdmVjdG9yc18yLjQuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzXzIuMy5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzXzIuNC4xLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5LmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkuaW5jCmluZGV4IGRiYmZlMmMuLjJjMWFjMWMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkuaW5jCkBAIC0xMCwxNCArMTAsMTMgQEAKICAgICAke1BZVEhPTl9QTn0tc2l4IFwKICIKIAotU1JDX1VSSVttZDVzdW1dID0gImEwZjNmNTYzYWIxYzVjM2JjMDJmYWU4ZDRhYTNhZDE2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImMxMzJiYWI0NWQ0YmQwZmZmMWQzZmUyOTRkOTJiMGE2ZWI4NDA0ZTkzMzM3YjMxMjdiZGVjOWYyMWRlMTE3ZTYiCitTUkNfVVJJW21kNXN1bV0gPSAiNDY0ZjE4MGZmNjQ2MjI3NjBjY2E3MTY3Zjk3YjNmZjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTg1YjQxMDg4NWFkZGFlYjMxYTg2N2VhYmNlZmM5ZWY0YTdlOTA0YWQ0NWVhYzllNjBhNzYzYTU0YjI0NDYyNiIKIAogUkRFUEVORFNfJHtQTn0gKz0gIiBcCiAgICAgJHtQWVRIT05fUE59LWNmZmkgXAogICAgICR7UFlUSE9OX1BOfS1pZG5hIFwKICAgICAke1BZVEhPTl9QTn0tYXNuMWNyeXB0byBcCi0gICAgJHtQWVRIT05fUE59LXB5Y3BhcnNlciBcCiAgICAgJHtQWVRIT05fUE59LXNldHVwdG9vbHMgXAogICAgICR7UFlUSE9OX1BOfS1zaXggXAogIgpAQCAtMjcsNyArMjYsNiBAQAogICAgICR7UFlUSE9OX1BOfS1pZG5hIFwKICAgICAke1BZVEhPTl9QTn0tbnVtYmVycyBcCiAgICAgJHtQWVRIT05fUE59LWFzbjFjcnlwdG8gXAotICAgICR7UFlUSE9OX1BOfS1weWNwYXJzZXIgXAogICAgICR7UFlUSE9OX1BOfS1zZXR1cHRvb2xzIFwKICAgICAke1BZVEhPTl9QTn0tc2l4IFwKICAgICAke1BZVEhPTl9QTn0tdGhyZWFkaW5nIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHlfMi4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeV8yLjQuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeV8yLjMuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHlfMi40LjEuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZXZlbnQuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudC5pbmMKaW5kZXggMTM1MTNmMi4uYmM4OWQxMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudC5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudC5pbmMKQEAgLTQsOCArNCw5IEBACiBIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdldmVudC5vcmciCiBMSUNFTlNFID0gIk1JVCAmIFB5dGhvbi0yLjAgJiBCU0QiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00ZGU5OWFhYzI3YjQ3MGMyOWM2YzMwOWUwYzI3OWI2NSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9OT1RJQ0U7bWQ1PTU5NjZjZDJjNjU4MjY1NmQyOGFiM2MzM2RhMzg2MGY4IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RlcHMvbGliZXYvTElDRU5TRTttZDU9ZDZhZDQxNmFmZDA0MGM5MDY5OGVkY2RmMWNiZWUzNDciCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9OT1RJQ0U7bWQ1PTE4MTA4ZGYzNTgzNDYyY2FmZDQ1N2YwMjRiOWIwOWI1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RlcHMvbGliZXYvTElDRU5TRTttZDU9ZDZhZDQxNmFmZDA0MGM5MDY5OGVkY2RmMWNiZWUzNDcgXAorICAgICAgICAgICAgICAgICAgICAiCiBERVBFTkRTICs9ICJsaWJldmVudCIKIERFUEVORFMgKz0gIiR7UFlUSE9OX1BOfS1ncmVlbmxldCIKIFJERVBFTkRTXyR7UE59ID0gIiR7UFlUSE9OX1BOfS1ncmVlbmxldCBcCkBAIC0xNywxMCArMTgsMTEgQEAKIAogU1JDX1VSSV9hcHBlbmQgPSAiIFwKICAgICBmaWxlOi8vbGliZXYtY29uZi5wYXRjaDtwYXRjaD0xO3BudW09MSBcCisgICAgZmlsZTovLzAwMDItc2V0dXAucHktZG8tbm90LXF1ZXJ5LWZvci1pbmNsdWRlLWRpci5wYXRjaCBcCiAiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI3ZjBiYWYzNTUzODRmZTVmZjJlY2Y2Njg1MzQyMjU1NCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0NzkxYzhhZTljNTdkNmYxNTMzNTQ3MzZlMWNjYWIxZTJiYWY2YzhkOWFlNWE3N2E5YWM5MGY0MWUyOTY2YjJkIgorU1JDX1VSSVttZDVzdW1dID0gIjZiOWRkOTg5MTcwNjE4MDNkOTE1OGU1MjU4YjhmNDEyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFlYjdmYTNiOWJkOTE3NGRmZTljM2I1OWI3YTA5Yjc2OGVjZDQ5NmRlYmZjNDk3NmE5NTMwYTNlMTVjOTkwZDEiCiAKICMgVGhlIHB5dGhvbi1nZXZlbnQgaGFzIG5vIGF1dG9yZWNvbmYgYWJpbGl0eQogIyBhbmQgdGhlIGxvZ2ljIGZvciBkZXRlY3RpbmcgYSBjcm9zcyBjb21waWxlIGlzIGZsYXdlZApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudC8wMDAyLXNldHVwLnB5LWRvLW5vdC1xdWVyeS1mb3ItaW5jbHVkZS1kaXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ2V2ZW50LzAwMDItc2V0dXAucHktZG8tbm90LXF1ZXJ5LWZvci1pbmNsdWRlLWRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTM2YjcxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudC8wMDAyLXNldHVwLnB5LWRvLW5vdC1xdWVyeS1mb3ItaW5jbHVkZS1kaXIucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorRnJvbSBhNTNlZDZiMmY5NjdhNWY5NWU2OWQ1MWNhZDNmOGMxMjBkN2RmNjViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDcgRmViIDIwMTkgMTU6MjE6MTUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gc2V0dXAucHk6IGRvIG5vdCBxdWVyeSBmb3IgaW5jbHVkZSBkaXIKKworQXMgdGhpcyB3aWxsIHJldHVybiB0aGUgbmF0aXZlIHB5dGhvbiBkaXJlY3RvcnkgZXJyb25lb3VzbHkuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgc2V0dXAucHkgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCA4NmQ2YzVhLi41ZDIyMjkxIDEwMDc1NQorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtNTIsNyArNTIsNyBAQCBmcm9tIF9zZXR1cGFyZXMgaW1wb3J0IEFSRVMKKyAjIEdldCBhY2Nlc3MgdG8gdGhlIGdyZWVubGV0IGhlYWRlciBmaWxlLgorICMgVGhlIHN5c2NvbmZpZyBkaXIgaXMgbm90IGVub3VnaCBpZiB3ZSdyZSBpbiBhIHZpcnR1YWxlbnYKKyAjIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcHlwYS9waXAvaXNzdWVzLzQ2MTAKKy1pbmNsdWRlX2RpcnMgPSBbc3lzY29uZmlnLmdldF9wYXRoKCJpbmNsdWRlIildCisraW5jbHVkZV9kaXJzID0gW10KKyB2ZW52X2luY2x1ZGVfZGlyID0gb3MucGF0aC5qb2luKHN5cy5wcmVmaXgsICdpbmNsdWRlJywgJ3NpdGUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3B5dGhvbicgKyBzeXNjb25maWcuZ2V0X3B5dGhvbl92ZXJzaW9uKCkpCisgdmVudl9pbmNsdWRlX2RpciA9IG9zLnBhdGguYWJzcGF0aCh2ZW52X2luY2x1ZGVfZGlyKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudF8xLjIuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZXZlbnRfMS40LjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZXZlbnRfMS4yLjIuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZXZlbnRfMS40LjAuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncmVlbmxldC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JlZW5sZXQuaW5jCmluZGV4IGZjZDgxZjYuLmM3YzY1NmMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncmVlbmxldC5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0LmluYwpAQCAtMyw3ICszLDcgQEAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTAzMTQzZDdhMWE5ZjVkOGEwZmVlODI1ZjI0Y2E5YzM2IFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UuUFNGO21kNT1jMTA2OTMxZDk0MjllZGEwNDkyNjE3ZjAzN2I4ZjY5YSIKIAotU1JDX1VSSVttZDVzdW1dID0gImE4N2I2MDI4YzNiNzQyYjIxMGJmNTk3MzkzOWRiNTk1IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImYxY2MyNjhhMTVhZGU1OGQ5YTBjMDQ1NjlmZTY2MTNlMTliOGIwMzQ1YjY0NDUzMDY0ZTJjM2M2ZDc5MDUxYWYiCitTUkNfVVJJW21kNXN1bV0gPSAiMTBmYTMwNGY2NzNmYzE4YjI4ZmE2ZDhjNjY1OGNiODAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTQxNjQ0M2UyMTkzNTZlM2MzMWYxZjkxOGE5MWJhZGYyZTM3YWNmMjk3ZTJmYTEzZDI0ZDFjYzIzODBmOGZiYyIKIAogaW5oZXJpdCBweXBpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JlZW5sZXRfMC40LjE0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0XzAuNC4xNS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0XzAuNC4xNC5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0XzAuNC4xNS5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpby5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvLmluYwppbmRleCAyM2QyNWY3Li5mZDM0MWY1IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvLmluYwpAQCAtNSw3ICs1LDExIEBACiBERVBFTkRTX2FwcGVuZCA9ICIke1BZVEhPTl9QTn0tcHJvdG9idWYiCiAKIEZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9ICIke1RISVNESVJ9L3B5dGhvbi1ncnBjaW86IgotU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBmaWxlOi8vMDAwMS1zZXR1cC5weS1Eby1ub3QtbWl4LUMtYW5kLUMtY29tcGlsZXItb3B0aW9ucy5wYXRjaCAiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgZmlsZTovLzAwMDEtc2V0dXAucHktRG8tbm90LW1peC1DLWFuZC1DLWNvbXBpbGVyLW9wdGlvbnMucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcHBjLWJvcmluZ3NzbC1zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3Jpc2N2NjRfc3VwcG9ydC5wYXRjaCBcCisiCiAKIFJERVBFTkRTXyR7UE59ID0gIiR7UFlUSE9OX1BOfS1wcm90b2J1ZiBcCiAgICAgICAgICAgICAgICAgICAke1BZVEhPTl9QTn0tc2V0dXB0b29scyBcCkBAIC0xNyw4ICsyMSw4IEBACiAKIGluaGVyaXQgcHlwaQogCi1TUkNfVVJJW21kNXN1bV0gPSAiMDk4N2FlMmU0N2I1MTAzZGUzY2FjYzQzNzg3NGEzYzUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGJmMjM2NjZlNzYzY2E3ZmY2MDEwNDY1ODY0ZTlmMDg4ZjRhYzdlY2MxZTExYWJkNmY4NWIyNTBlNjZiMmMwNSIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxODg1NjVmMTUwZjM0ZDE5MjdiODdlMDE0ZjBmNGI3MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZGRiY2ExNmMyZTdiM2YyZmZjNmUzNGM3Y2ZhNjg4NmZiMDFkZTlmMTU2YWQzZjc3YjcyYWQ2NTJkNjMyMDk3IgogCiBDTEVBTkJST0tFTiA9ICIxIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvLzAwMDEtc2V0dXAucHktRG8tbm90LW1peC1DLWFuZC1DLWNvbXBpbGVyLW9wdGlvbnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvLzAwMDEtc2V0dXAucHktRG8tbm90LW1peC1DLWFuZC1DLWNvbXBpbGVyLW9wdGlvbnMucGF0Y2gKaW5kZXggOTk2NTk3Yi4uZjE3ZjA0OCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpby8wMDAxLXNldHVwLnB5LURvLW5vdC1taXgtQy1hbmQtQy1jb21waWxlci1vcHRpb25zLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncnBjaW8vMDAwMS1zZXR1cC5weS1Eby1ub3QtbWl4LUMtYW5kLUMtY29tcGlsZXItb3B0aW9ucy5wYXRjaApAQCAtMTgsMTEgKzE4LDkgQEAKICBzZXR1cC5weSB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGdycGNpby0xLjE0LjEvc2V0dXAucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBncnBjaW8tMS4xNC4xLm9yaWcvc2V0dXAucHkKLSsrKyBncnBjaW8tMS4xNC4xL3NldHVwLnB5Ci1AQCAtMTIzLDcgKzEyMyw3IEBAIEVOQUJMRV9ET0NVTUVOVEFUSU9OX0JVSUxEID0gb3MuZW52aXJvbi4KKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTE0NSw3ICsxNDUsNyBAQCBFTkFCTEVfRE9DVU1FTlRBVElPTl9CVUlMRCA9IG9zLmVudmlyb24uCiAgRVhUUkFfRU5WX0NPTVBJTEVfQVJHUyA9IG9zLmVudmlyb24uZ2V0KCdHUlBDX1BZVEhPTl9DRkxBR1MnLCBOb25lKQogIEVYVFJBX0VOVl9MSU5LX0FSR1MgPSBvcy5lbnZpcm9uLmdldCgnR1JQQ19QWVRIT05fTERGTEFHUycsIE5vbmUpCiAgaWYgRVhUUkFfRU5WX0NPTVBJTEVfQVJHUyBpcyBOb25lOgpAQCAtMzEsNyArMjksNyBAQAogICAgaWYgJ3dpbjMyJyBpbiBzeXMucGxhdGZvcm0gYW5kIHN5cy52ZXJzaW9uX2luZm8gPCAoMywgNSk6CiAgICAgIEVYVFJBX0VOVl9DT01QSUxFX0FSR1MgKz0gJyAtRF9oeXBvdD1oeXBvdCcKICAgICAgIyBXZSB1c2UgZGVmaW5lIGZsYWdzIGhlcmUgYW5kIGRvbid0IGRpcmVjdGx5IGFkZCB0byBERUZJTkVfTUFDUk9TIGJlbG93IHRvCi1AQCAtMTM1LDcgKzEzNSw3IEBAIGlmIEVYVFJBX0VOVl9DT01QSUxFX0FSR1MgaXMgTm9uZToKK0BAIC0xNTcsNyArMTU3LDcgQEAgaWYgRVhUUkFfRU5WX0NPTVBJTEVfQVJHUyBpcyBOb25lOgogICAgICBlbHNlOgogICAgICAgIEVYVFJBX0VOVl9DT01QSUxFX0FSR1MgKz0gJyAtRF9mdGltZT1fZnRpbWU2NCAtRF90aW1lYj1fX3RpbWViNjQnCiAgICBlbGlmICJsaW51eCIgaW4gc3lzLnBsYXRmb3JtOgpAQCAtMzksNCArMzcsNCBAQAogKyAgICBFWFRSQV9FTlZfQ09NUElMRV9BUkdTICs9ICcgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtZm5vLXdyYXB2IC1mbm8tZXhjZXB0aW9ucycKICAgIGVsaWYgImRhcndpbiIgaW4gc3lzLnBsYXRmb3JtOgogICAgICBFWFRSQV9FTlZfQ09NUElMRV9BUkdTICs9ICcgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtZm5vLXdyYXB2IC1mbm8tZXhjZXB0aW9ucycKLSBFWFRSQV9FTlZfQ09NUElMRV9BUkdTICs9ICcgLURQQl9GSUVMRF8xNkJJVCcKKyBFWFRSQV9FTlZfQ09NUElMRV9BUkdTICs9ICcgLURQQl9GSUVMRF8zMkJJVCcKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncnBjaW8vcHBjLWJvcmluZ3NzbC1zdXBwb3J0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpby9wcGMtYm9yaW5nc3NsLXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQzNWFiYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncnBjaW8vcHBjLWJvcmluZ3NzbC1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK0xldCBib3JpbmdTU0wgY29tcGlsZSBvbiBwcGMzMiBiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCistLS0gYS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvaW5jbHVkZS9vcGVuc3NsL2Jhc2UuaAorKysrIGIvdGhpcmRfcGFydHkvYm9yaW5nc3NsL2luY2x1ZGUvb3BlbnNzbC9iYXNlLmgKK0BAIC05NSw2ICs5NSw5IEBAIGV4dGVybiAiQyIgeworICNlbGlmIChkZWZpbmVkKF9fUFBDNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSkgJiYgZGVmaW5lZChfTElUVExFX0VORElBTikKKyAjZGVmaW5lIE9QRU5TU0xfNjRfQklUCisgI2RlZmluZSBPUEVOU1NMX1BQQzY0TEUKKysjZWxpZiAoZGVmaW5lZChfX1BQQ19fKSB8fCBkZWZpbmVkKF9fcG93ZXJwY19fKSkKKysjZGVmaW5lIE9QRU5TU0xfMzJfQklUCisrI2RlZmluZSBPUEVOU1NMX1BQQworICNlbGlmIGRlZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9fTFA2NF9fKQorICNkZWZpbmUgT1BFTlNTTF8zMl9CSVQKKyAjZGVmaW5lIE9QRU5TU0xfTUlQUwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpby9yaXNjdjY0X3N1cHBvcnQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvL3Jpc2N2NjRfc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWY3ZDllCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpby9yaXNjdjY0X3N1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorQWRkIFJJU0MtViA2NGJpdCBzdXBwb3J0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLSBhL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9pbmNsdWRlL29wZW5zc2wvYmFzZS5oCisrKysgYi90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvaW5jbHVkZS9vcGVuc3NsL2Jhc2UuaAorQEAgLTEwNCw2ICsxMDQsOSBAQCBleHRlcm4gIkMiIHsKKyAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKSAmJiBkZWZpbmVkKF9fTFA2NF9fKQorICNkZWZpbmUgT1BFTlNTTF82NF9CSVQKKyAjZGVmaW5lIE9QRU5TU0xfTUlQUzY0CisrI2VsaWYgZGVmaW5lZChfX3Jpc2N2KSAmJiBkZWZpbmVkKF9fcmlzY3ZfeGxlbikKKysjZGVmaW5lIE9QRU5TU0xfNjRfQklUCisrI2RlZmluZSBPUEVOU1NMX1JJU0NWNjQKKyAjZWxpZiBkZWZpbmVkKF9fcG5hY2xfXykKKyAjZGVmaW5lIE9QRU5TU0xfMzJfQklUCisgI2RlZmluZSBPUEVOU1NMX1BOQUNMCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvXzEuMTQuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncnBjaW9fMS4xOS4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvXzEuMTQuMS5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpb18xLjE5LjAuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1odG1sNWxpYi5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taHRtbDVsaWIuaW5jCmluZGV4IDBlYjhiZjMuLmE4ZTBmYjQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1odG1sNWxpYi5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWh0bWw1bGliLmluYwpAQCAtMTMsMyArMTMsNSBAQAogICAgICR7UFlUSE9OX1BOfS13ZWJlbmNvZGluZ3MgXAogICAgICR7UFlUSE9OX1BOfS14bWwgXAogIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taWRuYS5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taWRuYS5pbmMKaW5kZXggNTE5ODEyZC4uMTNiMGNkYiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWlkbmEuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pZG5hLmluYwpAQCAtMyw4ICszLDggQEAKIExJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlICYgUHl0aG9uLTIuMCAmIFVuaWNvZGUiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnJzdDttZDU9NzgyNzc1YjMyZjk2MDk4NTEyZTI4M2ZiNWQ0NTQ2Y2QiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICIwZTViYjY5MDE4ZGRlZjFiOWQ5NWY2ODExODJiZTgyYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2ODRhMzhhNmY5MDNjMWQ3MWQ2ZDVmYWMwNjZiNThkNzc2OGFmNGRlMmI4MzJlNDI2ZWM3OWMzMGRhYTk0YTE2IgorU1JDX1VSSVttZDVzdW1dID0gIjJlOWFlMGI0YTBiMjZkMTc0N2M2MTI3Y2RiMDYwYmMxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImMzNTdiM2Y2MjhjZjUzYWUyYzRjMDU2MjdlY2M0ODQ1NTMxNDJjYTIzMjY0ZTU5M2QzMjdiY2RlNWU5YzM0MDciCiAKIFJERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCA9ICJcCiAgICAgJHtQWVRIT05fUE59LWNvZGVjcyBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taWRuYV8yLjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taWRuYV8yLjguYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pZG5hXzIuNy5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWlkbmFfMi44LmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXNvZGF0ZS5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXNvZGF0ZS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2NiNmJiOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pc29kYXRlLmluYwpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIklTTyA4NjAxIGRhdGUvdGltZSBwYXJzZXIiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO2JlZ2lubGluZT04O2VuZGxpbmU9ODttZDU9ZTkxMGIzNWIwZWY0ZTFmNjY1YjlhNzVkNmFmYjc3MDkiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwZTEyMDNmY2UyN2NlNjVlMmQwMWM1ZjIxYzRkNDI4ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZTM2NGEzZDU3NTk0NzljZGIyZDM3Y2NlNmI5Mzc2ZWE1MDRkYjJmZjkwMjUyYTJlNWI3Y2M4OWNjOWZmMmQ4IgorCitpbmhlcml0IHB5cGkKKworUkRFUEVORFNfJHtQTn0gKz0gIiBcCisgICAgJHtQWVRIT05fUE59LXNpeCBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pc29kYXRlXzAuNi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWlzb2RhdGVfMC42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQ4ZTEyMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pc29kYXRlXzAuNi4wLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1pc29kYXRlLmluYwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWppbmphMi5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyLmluYwppbmRleCAwYzBiZjBkLi41MzQyZWI1IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyLmluYwpAQCAtMTMsMyArMTMsNSBAQAogICAgICR7UFlUSE9OX1BOfS1qc29uICR7UFlUSE9OX1BOfS10aHJlYWRpbmcgJHtQWVRIT05fUE59LW51bWJlcnMiCiAKIENMRUFOQlJPS0VOID0gIjEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1rY29uZmlnbGliLTEwLjQyLjAuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWtjb25maWdsaWItMTAuNDIuMC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJkNmE2NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1rY29uZmlnbGliLTEwLjQyLjAuaW5jCkBAIC0wLDAgKzEsOCBAQAorREVTQ1JJUFRJT04gPSAiS2NvbmZpZ2xpYiBpcyBhIEtjb25maWcgaW1wbGVtZW50YXRpb24gaW4gUHl0aG9uIgorTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9NzEyMTc3YTcyYTM5Mzc5MDk1NDNlZGEzYWQxYmZiN2MiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyMzA2Mjc5YTA1MGM2YTg4OGYzNGE1NzE5MDQ3ZjIxNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMDcwZWI5MDYxZjkyNGUxZmE3YmMyYjFmMGFlZWExZDM4ZTFkZGY5YmJkYmQ0YjVjMzQ2YmNmMWEwODQ4Njc0IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbC5pbmMKaW5kZXggN2YzNTVhNy4uMTQ4OTdjMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWx4bWwuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sLmluYwpAQCAtMTEsMTUgKzExLDE1IEBACiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2MvbGljZW5zZXMvZWxlbWVudHRyZWUudHh0O21kNT1lYjM0ZDAzNmE2ZTNkNTYzMTRlZTQ5YTY4NTJhYzg5MSBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2MvbGljZW5zZXMvQlNELnR4dDttZDU9NzAwYTFmYzE3ZjQ3OTdkNGYyZDM0OTcwYzhlZTY5NGIgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jL2xpY2Vuc2VzL0dQTC50eHQ7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9seG1sL2lzb3NjaGVtYXRyb24vcmVzb3VyY2VzL3JuZy9pc28tc2NoZW1hdHJvbi5ybmc7YmVnaW5saW5lPTI7ZW5kbGluZT03O21kNT05MzllNzQzMGNlODVlMTI0MmZmNTBjNGVlOTQzMDc1MiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvbHhtbC9pc29zY2hlbWF0cm9uL3Jlc291cmNlcy9ybmcvaXNvLXNjaGVtYXRyb24ucm5nO2JlZ2lubGluZT0yO2VuZGxpbmU9NzttZDU9ZmM4NTY4NGE4ZGQ1ZmEyNzJjMDg2YmNlYjBkOTllMTAgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2x4bWwvaXNvc2NoZW1hdHJvbi9yZXNvdXJjZXMveHNsL2lzby1zY2hlbWF0cm9uLXhzbHQxL2lzb19zY2hlbWF0cm9uX21lc3NhZ2UueHNsO2JlZ2lubGluZT0yO2VuZGxpbmU9MjQ7bWQ1PWNjODZiN2IyYmJjNjc4ZTEzZjU4ZWE0MDNlYjk5MjliIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9seG1sL2lzb3NjaGVtYXRyb24vcmVzb3VyY2VzL3hzbC9STkcyU2NodHJuLnhzbDtiZWdpbmxpbmU9MjtlbmRsaW5lPTc7bWQ1PTViMDMyMzZkMjkzZGMzNzg0MjA1NTQyYjQwOWQyZjUzIFwKICAgICAgICAgICAgICAgICAgICAgIgogCiBERVBFTkRTICs9ICJsaWJ4bWwyIGxpYnhzbHQiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICIzMTIzOTQwMGNhNGUxMzBiNjk5OTNiYjNjMTQyMDRiMyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlMmFmYmU0MDMwOTBmNTg5M2UyNTQ5NThkMDI4NzVlMDczMjk3NWU3M2M0YzBjZGQzM2MxZjAwOWE2MTk2M2NhIgorU1JDX1VSSVttZDVzdW1dID0gImQyYjJlYjMwNWJmYTllZDE1YWViZTYxYWZmYjNmZmE0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRhNWU3ZTk0MWQ2ZTcxYzljOWE3MTdjOTM3MjVjZGEwNzA4YzI0NzRmNTMyZTM2ODBhYzVlMzllYzU3ZDIyNGQiCiAKIERJU1RVVElMU19CVUlMRF9BUkdTICs9ICIgXAogICAgICAgICAgICAgICAgICAgICAgLS13aXRoLXhzbHQtY29uZmlnPSdwa2ctY29uZmlnIGxpYnhzbHQnIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sXzQuMi40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWx4bWxfNC4zLjEuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sXzQuMi40LmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbF80LjMuMS5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hcmt1cHNhZmUuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hcmt1cHNhZmUuaW5jCmluZGV4IDkyN2Y4NDQuLjQzN2E2MGMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXJrdXBzYWZlLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWFya3Vwc2FmZS5pbmMKQEAgLTEwLDMgKzEwLDUgQEAKIGluaGVyaXQgcHlwaQogCiBSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LXN0cmluZ29sZCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1zZ3BhY2suaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1zZ3BhY2suaW5jCmluZGV4IGZkYzg5MjYuLjkxNDdjMDYgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tc2dwYWNrLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbXNncGFjay5pbmMKQEAgLTIsMTIgKzIsMTIgQEAKIExJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWNkOTUyMzE4MWQ5ZDRmYmY3ZmZjYTUyZWFhMmE1NzUxIgogCi1TUkNfVVJJW21kNXN1bV0gPSAiNmQ2NDRjMDZhODdhNWExMTFiYmJmNWIzNGI0YmU0NDAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzc4Y2M4YTZkMzU0NWI1MzJkZmQxNDlkYTcxNWFiYWU0ZmRhMmEzYWRiNmQ3NGU1MjVkMGQ1ZTUxZjQ2OTA5YiIKLQotUFlQSV9QQUNLQUdFID0gIm1zZ3BhY2stcHl0aG9uIgorUFlQSV9QQUNLQUdFID0gIm1zZ3BhY2siCiBpbmhlcml0IHB5cGkKIAorU1JDX1VSSVttZDVzdW1dID0gImJlMzA0M2NjMmMxZTNiNWViZjA4NDYzZmZhNzFjZjE3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY0YWJjNmJmM2EyYWMzMDE3MDJmNTc2MGY0ZTZlMjI3ZDBmZDRkODRkOTAxNGVmOWE0MGZhYTlkNDMzNjUyNTkiCisKIFJERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCArPSAiXAogICAgICR7UFlUSE9OX1BOfS1pbyBcCiAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbXNncGFja18wLjUuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tc2dwYWNrXzAuNi4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbXNncGFja18wLjUuNi5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1zZ3BhY2tfMC42LjAuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1vYmQuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW9iZC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJjYWY2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1vYmQuaW5jCkBAIC0wLDAgKzEsOSBAQAorREVTQ1JJUFRJT04gPSAiQSBweXRob24gbW9kdWxlIGZvciBoYW5kbGluZyByZWFsdGltZSBzZW5zb3IgZGF0YSBmcm9tIE9CRC1JSSB2ZWhpY2xlIHBvcnRzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2JyZW5kYW4tdy9weXRob24tT0JEIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRS5yc3Q7bWQ1PTI5ODhhNWU5MTNlYjEwNWZhMDgwMTExMzVjNDE1N2Q0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTNlMDRmODI1ZTEzYjdlYmM5N2QwNmI2YTY0MDc4MDciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGIxYmFjOTVkZjJmYWFjNTcxZWJmNDQ0Nzc4ZTRkNzM2ZDA1MGQ4ZWQ3MDQ5MDIzYzBmYzkyOWE1MjBlYmE2ZCIKKworaW5oZXJpdCBweXBpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFoby1tcXR0LmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYWhvLW1xdHQuaW5jCmluZGV4IGY4MzRlNmYuLjY2OTQzZWQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYWhvLW1xdHQuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYWhvLW1xdHQuaW5jCkBAIC03LDggKzcsOSBAQAogU1JDTkFNRSA9ICJwYWhvLW1xdHQiCiAKIGluaGVyaXQgcHlwaQotU1JDX1VSSVttZDVzdW1dID0gIjJjYzI3ZDhiMzY5NzAwYjFmYzk5MzI1YWRkMGRhZGQyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMxOTExZjYwMzFkZTMwNmMyN2VkNzlkYzc3YjY5MGQ3YzU1YjBkY2IwZjA0MzRjYTM0ZWM2MzYxZDAzNzExMjIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlM2FjMjljZDVkYzI0N2EwMTA4M2EyYThmM2ZkZGQwOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNDQwYTA1MmI0NmQyMjJlMTg0YmUzYmUzODY3NjM3ODcyMjA3MmZjZDRkZmQyYzhmNTA5ZmI4NjFhN2IwYjc5IgogCiBERVBFTkRTICs9ICIke1BZVEhPTl9QTn0tcHl0ZXN0LXJ1bm5lci1uYXRpdmUiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYWhvLW1xdHRfMS4zLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFoby1tcXR0XzEuNC4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFoby1tcXR0XzEuMy4xLmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFoby1tcXR0XzEuNC4wLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMi4wLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMi4wLjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiNDAxOWYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhc3RlXzIuMC4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotU1VNTUFSWSA9ICJUb29scyBmb3IgdXNpbmcgYSBXZWIgU2VydmVyIEdhdGV3YXkgSW50ZXJmYWNlIHN0YWNrIgotSE9NRVBBR0UgPSAiaHR0cDovL3B5dGhvbnBhc3RlLm9yZy8iCi1MSUNFTlNFID0gIk1JVCIKLVJERVBFTkRTXyR7UE59ID0gInB5dGhvbi1zaXgiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvY3MvbGljZW5zZS50eHQ7bWQ1PTE3OThmMjlkNTUwODBjNjAzNjVlNjI4M2NiNDk3NzljIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMTIzMWUxNGVhZTYyZmE3ZWQ3NmU5MTMwYjA0YmM2MWUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjM0NmEzNDc4MjRjMzI2NDFiZjAyMGMxNzk2N2I0OWFlNzRkMzMxMGVjMWJjOWI5NThkNGI4NGUyZDk4NTIxOCIKLQotUFlQSV9QQUNLQUdFID0gIlBhc3RlIgotaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKLQotRklMRVNfJHtQTn0gKz0gIi91c3IvbGliLyoiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMy4wLjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMy4wLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQ1YzMyMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYXN0ZV8zLjAuNi5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIlRvb2xzIGZvciB1c2luZyBhIFdlYiBTZXJ2ZXIgR2F0ZXdheSBJbnRlcmZhY2Ugc3RhY2siCitIT01FUEFHRSA9ICJodHRwOi8vcHl0aG9ucGFzdGUub3JnLyIKK0xJQ0VOU0UgPSAiTUlUIgorUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uLXNpeCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jcy9saWNlbnNlLnR4dDttZDU9MTc5OGYyOWQ1NTA4MGM2MDM2NWU2MjgzY2I0OTc3OWMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZTkzNzYyZjI0ZmM3MjhlY2I0ZGRjZmYyNjkzZGYzOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNmFhY2Y3YTQwNjg1YmUwYTBkYjhiMjY1MTZlN2Q1NTlkN2ZlNWNjZjdhNDdjNWNkMzRmMTVhYjU1OGE4YjkyIgorCitQWVBJX1BBQ0tBR0UgPSAiUGFzdGUiCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitGSUxFU18ke1BOfSArPSAiL3Vzci9saWIvKiIKKworREVQRU5EUyArPSAiJHtQWVRIT05fUE59LXB5dGVzdC1ydW5uZXItbmF0aXZlIgorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGJyXzQuMi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBicl80LjIuMC5iYgppbmRleCBhNGI1NmNkLi4zMjQ4NzcyIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGJyXzQuMi4wLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYnJfNC4yLjAuYmIKQEAgLTEsMyArMSw3IEBACiBpbmhlcml0IHNldHVwdG9vbHMKICMgVGhlIGluYyBmaWxlIGlzIGluIG9lLWNvcmUKIHJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBici5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjY2MTk3ODA4OTZjYTgxYzdjZDE5YzZlMmY0MzliNmM5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFiOGJlNTBkOTM4YzliYjc1ZDBlYWY3ZWRhMTExZWVjMWJmNmRjODhhNjJhNjQxMmUzM2JmMDc3NDU3ZTBmNDUiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wcm90b2J1Zi5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHJvdG9idWYuaW5jCmluZGV4IGI2MTc5MDQuLjU0ZWFjYzAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wcm90b2J1Zi5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXByb3RvYnVmLmluYwpAQCAtMjgsNCArMjgsNSBAQAogIgogCiAjIEZvciB1c2FnZSBpbiBvdGhlciByZWNpcGllcyB3aGVuIGNvbXBpbGluZyBwcm90b2J1ZiBmaWxlcyAoZS5nLiBieSBncnBjaW8tdG9vbHMpCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5Y3BhcnNlci5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyLmluYwppbmRleCBkMTEyZDlmLi40N2EwZTBlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyLmluYwpAQCAtMyw4ICszLDkgQEAKIExJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ODZmMWNlZGI0ZTY0MTBhODhjZThlMzBiOTEwNzkxNjkiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI3MjM3MGRhNTQzNTgyMDJhNjAxMzBlMjIzZDQ4ODEzNiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5OWE4Y2EwM2UyOTg1MWQ5NjYxNmFkMDQwNGI0YWFkN2Q5ZWUxNmYyNWM5Zjk3MDhhMTFmYWYyODEwZjdiMjI2IgorU1JDX1VSSVttZDVzdW1dID0gIjc2Mzk2NzYyYWRjM2ZhNzY5YzgzZDhlMjAyZDM2YjZmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE5ODg3MThhYmZhZDgwYjZiMTU3YWNjZTdiZjEzMGEzMDg3NmQyNzYwMzczOGFjMzlmMTQwOTkzMjQ2YjI1YjMiCisKIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyXzIuMTguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyXzIuMTkuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWNwYXJzZXJfMi4xOC5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5Y3BhcnNlcl8yLjE5LmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZS0xLjYuNi8wMDAxLXB0cmFjZS1BYnN0cmFjdC1vdmVyLXVzZXJfcmVnc19zdHJ1Y3QtbmFtZS13aGljaC1kaWYucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZS0xLjYuNi8wMDAxLXB0cmFjZS1BYnN0cmFjdC1vdmVyLXVzZXJfcmVnc19zdHJ1Y3QtbmFtZS13aGljaC1kaWYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5YzQzOTQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWUtMS42LjYvMDAwMS1wdHJhY2UtQWJzdHJhY3Qtb3Zlci11c2VyX3JlZ3Nfc3RydWN0LW5hbWUtd2hpY2gtZGlmLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotRnJvbSAyZWYxMjRlMjM1YTQ3ZGQ0NzQyODEzY2Y4MGUxMWE4OWNmNGYwMmY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQW5kcmV3IEplZmZlcnkgPGFuZHJld0Bhai5pZC5hdT4KLURhdGU6IFRodSwgMyBNYXkgMjAxOCAxMjozNTozMSArMDkzMAotU3ViamVjdDogW1BBVENIXSBwdHJhY2U6IEFic3RyYWN0IG92ZXIgdXNlcl9yZWdzX3N0cnVjdCBuYW1lLCB3aGljaCBkaWZmZXJzIG9uCi0gQVJNMzIKLQotU2lnbmVkLW9mZi1ieTogQW5kcmV3IEplZmZlcnkgPGFuZHJld0Bhai5pZC5hdT4KLS0tLQotIHNyYy9wdHJhY2UuY2MgfCAgNiArKystLS0KLSBzcmMvcHRyYWNlLmggIHwgMTAgKysrKysrKystLQotIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9wdHJhY2UuY2MgYi9zcmMvcHRyYWNlLmNjCi1pbmRleCA0ODVmNThlNGQ4MmUuLjYxMGZhYmIzYjhlOCAxMDA2NDQKLS0tLSBhL3NyYy9wdHJhY2UuY2MKLSsrKyBiL3NyYy9wdHJhY2UuY2MKLUBAIC0xMjIsOCArMTIyLDggQEAgdm9pZCBQdHJhY2VJbnRlcnJ1cHQocGlkX3QgcGlkKSB7Ci0gICBEb1dhaXQocGlkKTsKLSB9Ci0gCi0tc3RydWN0IHVzZXJfcmVnc19zdHJ1Y3QgUHRyYWNlR2V0UmVncyhwaWRfdCBwaWQpIHsKLS0gIHN0cnVjdCB1c2VyX3JlZ3Nfc3RydWN0IHJlZ3M7Ci0rdXNlcl9yZWdzX3N0cnVjdCBQdHJhY2VHZXRSZWdzKHBpZF90IHBpZCkgewotKyAgdXNlcl9yZWdzX3N0cnVjdCByZWdzOwotICAgaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHUywgcGlkLCAwLCAmcmVncykpIHsKLSAgICAgc3RkOjpvc3RyaW5nc3RyZWFtIHNzOwotICAgICBzcyA8PCAiRmFpbGVkIHRvIFBUUkFDRV9HRVRSRUdTOiAiIDw8IHN0cmVycm9yKGVycm5vKTsKLUBAIC0xMzIsNyArMTMyLDcgQEAgc3RydWN0IHVzZXJfcmVnc19zdHJ1Y3QgUHRyYWNlR2V0UmVncyhwaWRfdCBwaWQpIHsKLSAgIHJldHVybiByZWdzOwotIH0KLSAKLS12b2lkIFB0cmFjZVNldFJlZ3MocGlkX3QgcGlkLCBzdHJ1Y3QgdXNlcl9yZWdzX3N0cnVjdCByZWdzKSB7Ci0rdm9pZCBQdHJhY2VTZXRSZWdzKHBpZF90IHBpZCwgdXNlcl9yZWdzX3N0cnVjdCByZWdzKSB7Ci0gICBpZiAocHRyYWNlKFBUUkFDRV9TRVRSRUdTLCBwaWQsIDAsICZyZWdzKSkgewotICAgICBzdGQ6Om9zdHJpbmdzdHJlYW0gc3M7Ci0gICAgIHNzIDw8ICJGYWlsZWQgdG8gUFRSQUNFX1NFVFJFR1M6ICIgPDwgc3RyZXJyb3IoZXJybm8pOwotZGlmZiAtLWdpdCBhL3NyYy9wdHJhY2UuaCBiL3NyYy9wdHJhY2UuaAotaW5kZXggNzA4M2JlMWM0ZGZkLi5kNmFmOGJmOWY4M2EgMTAwNjQ0Ci0tLS0gYS9zcmMvcHRyYWNlLmgKLSsrKyBiL3NyYy9wdHJhY2UuaAotQEAgLTIzLDYgKzIzLDEyIEBACi0gCi0gI2luY2x1ZGUgIi4vY29uZmlnLmgiCi0gCi0rI2lmIGRlZmluZWQoX19hcm1fXykKLSt0eXBlZGVmIHN0cnVjdCB1c2VyX3JlZ3MgdXNlcl9yZWdzX3N0cnVjdDsKLSsjZWxzZQotK3R5cGVkZWYgc3RydWN0IHVzZXJfcmVnc19zdHJ1Y3QgdXNlcl9yZWdzX3N0cnVjdDsKLSsjZW5kaWYKLSsKLSBuYW1lc3BhY2UgcHlmbGFtZSB7Ci0gCi0gaW50IERvV2FpdChwaWRfdCBwaWQsIGludCBvcHRpb25zID0gMCk7Ci1AQCAtMzksMTAgKzQ1LDEwIEBAIHZvaWQgUHRyYWNlU2VpemUocGlkX3QgcGlkKTsKLSB2b2lkIFB0cmFjZUludGVycnVwdChwaWRfdCBwaWQpOwotIAotIC8vIGdldCByZWdzIGZyb20gYSBwcm9jZXNzCi0tc3RydWN0IHVzZXJfcmVnc19zdHJ1Y3QgUHRyYWNlR2V0UmVncyhwaWRfdCBwaWQpOwotK3VzZXJfcmVnc19zdHJ1Y3QgUHRyYWNlR2V0UmVncyhwaWRfdCBwaWQpOwotIAotIC8vIHNldCByZWdzIGluIGEgcHJvY2VzcwotLXZvaWQgUHRyYWNlU2V0UmVncyhwaWRfdCBwaWQsIHN0cnVjdCB1c2VyX3JlZ3Nfc3RydWN0IHJlZ3MpOwotK3ZvaWQgUHRyYWNlU2V0UmVncyhwaWRfdCBwaWQsIHVzZXJfcmVnc19zdHJ1Y3QgcmVncyk7Ci0gCi0gLy8gcG9rZSBhIGxvbmcgd29yZCBpbnRvIGFuIGFkZHJlc3MKLSB2b2lkIFB0cmFjZVBva2UocGlkX3QgcGlkLCB1bnNpZ25lZCBsb25nIGFkZHIsIGxvbmcgZGF0YSk7Ci0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZS0xLjYuNi8wMDAxLXN5bWJvbC1BY2NvdW50LWZvci1wcmVsaW5rZWQtc2hhcmVkLW9iamVjdHMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZS0xLjYuNi8wMDAxLXN5bWJvbC1BY2NvdW50LWZvci1wcmVsaW5rZWQtc2hhcmVkLW9iamVjdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlZWZjOWMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWUtMS42LjYvMDAwMS1zeW1ib2wtQWNjb3VudC1mb3ItcHJlbGlua2VkLXNoYXJlZC1vYmplY3RzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM0ICswLDAgQEAKLUZyb20gMDA3OTY1ZDM0MTM0OTY3OTYwNzY5OWQwMDVjNGFmODExYjJjNDE5YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFuZHJldyBKZWZmZXJ5IDxhbmRyZXdAYWouaWQuYXU+Ci1EYXRlOiBGcmksIDQgTWF5IDIwMTggMTE6MjM6NTMgKzA5MzAKLVN1YmplY3Q6IFtQQVRDSF0gc3ltYm9sOiBBY2NvdW50IGZvciBwcmVsaW5rZWQgc2hhcmVkIG9iamVjdHMKLQotU29tZSBwcm9qZWN0cywgc3VjaCBhcyB0aG9zZSBkZXJpdmVkIGZyb20gWW9jdG8sIHRlbmQgdG8gcHJlbGluayB0aGVpcgotYmluYXJpZXMgYW5kIGxpYnJhcmllcyB0byByZWR1Y2UgcnVudGltZSBvdmVyaGVhZC4gQ3VycmVudGx5IHRoaXMgdHJpcHMKLXVwIHB5ZmxhbWUgaW4gaXRzIHN5bWJvbCBhZGRyZXNzIGNhbGN1bGF0aW9ucywgYW5kIGxlYWRzIHRvIHB0cmFjZQotZmFpbHVyZXMgZHVlIHRvIHNwdXJpb3VzIGFkZHJlc3NlczoKLQotICAgJCBweWZsYW1lIC10IHB5dGhvbiAtYyAicHJpbnQgJ2ZvbyciCi0gICBVbmV4cGVjdGVkIHB0cmFjZSgyKSBleGNlcHRpb246IEZhaWxlZCB0byBQVFJBQ0VfUEVFS0RBVEEgKHBpZCAxNDgyLCBhZGRyIDB4OWY5YjFkNzApOiBJbnB1dC9vdXRwdXQgZXJyb3IKLSAgIFVuZXhwZWN0ZWQgcHRyYWNlKDIpIGV4Y2VwdGlvbjogRmFpbGVkIHRvIFBUUkFDRV9QRUVLREFUQSAocGlkIDE0ODIsIGFkZHIgMHg5ZjliMWQ3MCk6IElucHV0L291dHB1dCBlcnJvcgotICAgVW5leHBlY3RlZCBwdHJhY2UoMikgZXhjZXB0aW9uOiBGYWlsZWQgdG8gUFRSQUNFX1BFRUtEQVRBIChwaWQgMTQ4MiwgYWRkciAweDlmOWIxZDcwKTogSW5wdXQvb3V0cHV0IGVycm9yCi0gICBVbmV4cGVjdGVkIHB0cmFjZSgyKSBleGNlcHRpb246IEZhaWxlZCB0byBQVFJBQ0VfUEVFS0RBVEEgKHBpZCAxNDgyLCBhZGRyIDB4OWY5YjFkNzApOiBJbnB1dC9vdXRwdXQgZXJyb3IKLSAgIFVuZXhwZWN0ZWQgcHRyYWNlKDIpIGV4Y2VwdGlvbjogRmFpbGVkIHRvIFBUUkFDRV9QRUVLREFUQSAocGlkIDE0ODIsIGFkZHIgMHg5ZjliMWQ3MCk6IElucHV0L291dHB1dCBlcnJvcgotICAgLi4uCi0KLUFkZCBzdXBwb3J0IGZvciByZWFkaW5nIGEgcHJlbGlua2VkIGJhc2UgcF92YWRkciBvdXQgb2YgdGhlIEVMRiBhbmQKLWFkanVzdCB0aGUgUHlBZGRyZXNzZXMgdmFsdWVzIGFjY29yZGluZ2x5LgotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZXcgSmVmZmVyeSA8YW5kcmV3QGFqLmlkLmF1PgotLS0tCi0gc3JjL3N5bWJvbC5jYyB8IDE1ICsrKysrKysrKysrKysrKwotIHNyYy9zeW1ib2wuaCAgfCAyOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLQotIDIgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3N5bWJvbC5jYyBiL3NyYy9zeW1ib2wuY2MKLWluZGV4IDEyNTE3NGVmZWViNS4uMzljM2U4MTMyZGQxIDEwMDY0NAotLS0tIGEvc3JjL3N5bWJvbC5jYwotKysrIGIvc3JjL3N5bWJvbC5jYwotQEAgLTE2Niw2ICsxNjYsMTcgQEAgUHlBQkkgRUxGOjpXYWxrVGFibGUoaW50IHN5bSwgaW50IHN0ciwgUHlBZGRyZXNzZXMgKmFkZHJzKSB7Ci0gICByZXR1cm4gYWJpOwotIH0KLSAKLSthZGRyX3QgRUxGOjpHZXRCYXNlQWRkcmVzcygpIHsKLSsgIGludDMyX3QgcGhudW0gPSBoZHIoKS0+ZV9waG51bTsKLSsgIGludDMyX3QgaTsKLSsgIGZvciAoaSA9IDA7IGkgPCBwaG51bSAmJiBwaGRyKGkpLT5wX3R5cGUgIT0gUFRfTE9BRDsgaSsrKSB7Ci0rICB9Ci0rICBpZiAoaSA9PSBwaG51bSkgewotKyAgICB0aHJvdyBGYXRhbEV4Y2VwdGlvbigiRmFpbGVkIHRvIGZpbmQgUFRfTE9BRCBlbnRyeSBpbiBwcm9ncmFtIGhlYWRlcnMiKTsKLSsgIH0KLSsgIHJldHVybiBwaGRyKGkpLT5wX3ZhZGRyOwotK30KLSsKLSBQeUFkZHJlc3NlcyBFTEY6OkdldEFkZHJlc3NlcyhQeUFCSSAqYWJpKSB7Ci0gICBQeUFkZHJlc3NlcyBhZGRyczsKLSAgIFB5QUJJIGRldGVjdGVkX2FiaSA9IFdhbGtUYWJsZShkeW5zeW1fLCBkeW5zdHJfLCAmYWRkcnMpOwotQEAgLTE3Niw2ICsxODcsMTAgQEAgUHlBZGRyZXNzZXMgRUxGOjpHZXRBZGRyZXNzZXMoUHlBQkkgKmFiaSkgewotICAgaWYgKGFiaSAhPSBudWxscHRyKSB7Ci0gICAgICphYmkgPSBkZXRlY3RlZF9hYmk7Ci0gICB9Ci0rICAvLyBIYW5kbGUgcHJlbGlua2VkIHNoYXJlZCBvYmplY3RzCi0rICBpZiAoaGRyKCktPmVfdHlwZSA9PSBFVF9EWU4pIHsKLSsgICAgcmV0dXJuIGFkZHJzIC0gR2V0QmFzZUFkZHJlc3MoKTsKLSsgIH0KLSAgIHJldHVybiBhZGRyczsKLSB9Ci0gfSAgLy8gbmFtZXNwYWNlIHB5ZmxhbWUKLWRpZmYgLS1naXQgYS9zcmMvc3ltYm9sLmggYi9zcmMvc3ltYm9sLmgKLWluZGV4IDEyNDg1M2JjYzFjMS4uYmI5MmI5YTI2MDRiIDEwMDY0NAotLS0tIGEvc3JjL3N5bWJvbC5oCi0rKysgYi9zcmMvc3ltYm9sLmgKLUBAIC0yOCwxNSArMjgsMTkgQEAKLSAKLSAjaWYgVVNFX0VMRjY0Ci0gI2RlZmluZSBlaGRyX3QgRWxmNjRfRWhkcgotKyNkZWZpbmUgcGhkcl90IEVsZjY0X1BoZHIKLSAjZGVmaW5lIHNoZHJfdCBFbGY2NF9TaGRyCi0gI2RlZmluZSBkeW5fdCBFbGY2NF9EeW4KLSAjZGVmaW5lIHN5bV90IEVsZjY0X1N5bQotKyNkZWZpbmUgYWRkcl90IEVsZjY0X0FkZHIKLSAjZGVmaW5lIEFSQ0hfRUxGQ0xBU1MgRUxGQ0xBU1M2NAotICNlbHNlCi0gI2RlZmluZSBlaGRyX3QgRWxmMzJfRWhkcgotKyNkZWZpbmUgcGhkcl90IEVsZjMyX1BoZHIKLSAjZGVmaW5lIHNoZHJfdCBFbGYzMl9TaGRyCi0gI2RlZmluZSBkeW5fdCBFbGYzMl9EeW4KLSAjZGVmaW5lIHN5bV90IEVsZjMyX1N5bQotKyNkZWZpbmUgYWRkcl90IEVsZjMyX0FkZHIKLSAjZGVmaW5lIEFSQ0hfRUxGQ0xBU1MgRUxGQ0xBU1MzMgotICNlbmRpZgotIAotQEAgLTY3LDggKzcxLDE4IEBAIHN0cnVjdCBQeUFkZHJlc3NlcyB7Ci0gICAgICAgICBpbnRlcnBfaGVhZF9oaW50KDApLAotICAgICAgICAgcGllKGZhbHNlKSB7fQotIAotKyAgUHlBZGRyZXNzZXMgb3BlcmF0b3ItKGNvbnN0IHVuc2lnbmVkIGxvbmcgYmFzZSkgY29uc3QgewotKyAgICBQeUFkZHJlc3NlcyByZXMoKnRoaXMpOwotKyAgICByZXMudHN0YXRlX2FkZHIgPSB0aGlzLT50c3RhdGVfYWRkciA9PSAwID8gMCA6IHRoaXMtPnRzdGF0ZV9hZGRyIC0gYmFzZTsKLSsgICAgcmVzLmludGVycF9oZWFkX2FkZHIgPQotKyAgICAgICAgdGhpcy0+aW50ZXJwX2hlYWRfYWRkciA9PSAwID8gMCA6IHRoaXMtPmludGVycF9oZWFkX2FkZHIgLSBiYXNlOwotKyAgICByZXMuaW50ZXJwX2hlYWRfZm5fYWRkciA9Ci0rICAgICAgICB0aGlzLT5pbnRlcnBfaGVhZF9mbl9hZGRyID09IDAgPyAwIDogdGhpcy0+aW50ZXJwX2hlYWRfZm5fYWRkciAtIGJhc2U7Ci0rICAgIHJldHVybiByZXM7Ci0rICB9Ci0rCi0gICBQeUFkZHJlc3NlcyBvcGVyYXRvcisoY29uc3QgdW5zaWduZWQgbG9uZyBiYXNlKSBjb25zdCB7Ci0tICAgIFB5QWRkcmVzc2VzIHJlczsKLSsgICAgUHlBZGRyZXNzZXMgcmVzKCp0aGlzKTsKLSAgICAgcmVzLnRzdGF0ZV9hZGRyID0gdGhpcy0+dHN0YXRlX2FkZHIgPT0gMCA/IDAgOiB0aGlzLT50c3RhdGVfYWRkciArIGJhc2U7Ci0gICAgIHJlcy5pbnRlcnBfaGVhZF9hZGRyID0KLSAgICAgICAgIHRoaXMtPmludGVycF9oZWFkX2FkZHIgPT0gMCA/IDAgOiB0aGlzLT5pbnRlcnBfaGVhZF9hZGRyICsgYmFzZTsKLUBAIC0xMTMsNiArMTI3LDkgQEAgY2xhc3MgRUxGIHsKLSAgIC8vIEFCSS4KLSAgIFB5QWRkcmVzc2VzIEdldEFkZHJlc3NlcyhQeUFCSSAqYWJpKTsKLSAKLSsgIC8vIEV4dHJhY3QgdGhlIGJhc2UgbG9hZCBhZGRyZXNzIGZyb20gdGhlIFByb2dyYW0gSGVhZGVyIHRhYmxlCi0rICBhZGRyX3QgR2V0QmFzZUFkZHJlc3MoKTsKLSsKLSAgcHJpdmF0ZToKLSAgIHZvaWQgKmFkZHJfOwotICAgc2l6ZV90IGxlbmd0aF87Ci1AQCAtMTIyLDYgKzEzOSwxNiBAQCBjbGFzcyBFTEYgewotICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBlaGRyX3QgKj4oYWRkcl8pOwotICAgfQotIAotKyAgaW5saW5lIGNvbnN0IHBoZHJfdCAqcGhkcihpbnQgaWR4KSBjb25zdCB7Ci0rICAgIGlmIChpZHggPCAwKSB7Ci0rICAgICAgc3RkOjpvc3RyaW5nc3RyZWFtIHNzOwotKyAgICAgIHNzIDw8ICJJbGxlZ2FsIHBoZHIgaW5kZXg6ICIgPDwgaWR4OwotKyAgICAgIHRocm93IEZhdGFsRXhjZXB0aW9uKHNzLnN0cigpKTsKLSsgICAgfQotKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBwaGRyX3QgKj4ocCgpICsgaGRyKCktPmVfcGhvZmYgKwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWR4ICogaGRyKCktPmVfcGhlbnRzaXplKTsKLSsgIH0KLSsKLSAgIGlubGluZSBjb25zdCBzaGRyX3QgKnNoZHIoaW50IGlkeCkgY29uc3QgewotICAgICBpZiAoaWR4IDwgMCkgewotICAgICAgIHN0ZDo6b3N0cmluZ3N0cmVhbSBzczsKLS0tIAotMi4xNC4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWZsYW1lLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWZsYW1lLmluYwppbmRleCAzNDBhYWI3Li5kOGQ4MzQ5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZS5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWUuaW5jCkBAIC01LDcgKzUsNyBAQAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtTfS9MSUNFTlNFO21kNT0yZWU0MTExMmE0NGZlNzAxNGRjZTMzZTI2NDY4YmE5MyIKIERFUEVORFMgPSAicHl0aG9uIgogCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdWJlci9weWZsYW1lLmdpdDtwcm90b2NvbD1odHRwcyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS91YmVyL3B5ZmxhbWUuZ2l0O3Byb3RvY29sPWh0dHBzO25vYnJhbmNoPTEiCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCiBpbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMKQEAgLTEzLDMgKzEzLDYgQEAKIENPTVBBVElCTEVfSE9TVF9saWJjLW11c2xfY2xhc3MtdGFyZ2V0ID0gIm51bGwiCiBDT01QQVRJQkxFX0hPU1RfbWlwc2FyY2hfY2xhc3MtdGFyZ2V0ID0gIm51bGwiCiBDT01QQVRJQkxFX0hPU1RfYWFyY2g2NF9jbGFzcy10YXJnZXQgPSAibnVsbCIKK0NPTVBBVElCTEVfSE9TVF9wb3dlcnBjX2NsYXNzLXRhcmdldCA9ICJudWxsIgorQ09NUEFUSUJMRV9IT1NUX3Jpc2N2NjRfY2xhc3MtdGFyZ2V0ID0gIm51bGwiCitDT01QQVRJQkxFX0hPU1RfcmlzY3YzMl9jbGFzcy10YXJnZXQgPSAibnVsbCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWZsYW1lXzEuNi42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWVfMS42LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkZWRiODkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWVfMS42LjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLXJlcXVpcmUgcHl0aG9uLXB5ZmxhbWUuaW5jCi0KLSMgdjEuNi42Ci1TUkNSRVYgPSAiOGE5ZDhjMmFjYzNiM2JiMDI3NDc1YjczODEzNGYxZTZmZmYxNGU2YyIKLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXB0cmFjZS1BYnN0cmFjdC1vdmVyLXVzZXJfcmVnc19zdHJ1Y3QtbmFtZS13aGljaC1kaWYucGF0Y2giCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1zeW1ib2wtQWNjb3VudC1mb3ItcHJlbGlua2VkLXNoYXJlZC1vYmplY3RzLnBhdGNoIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWVfMS42LjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZV8xLjYuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjA4ZjMwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWVfMS42LjcuYmIKQEAgLTAsMCArMSw0IEBACityZXF1aXJlIHB5dGhvbi1weWZsYW1lLmluYworCisjIHYxLjYuNworU1JDUkVWID0gImMxNTFkMmYzNDczN2YyOGExZjUyNjZhMDAzYjJiMDcyMGJiZDlmOTYiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlpbm90aWZ5LmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnkuaW5jCmluZGV4IDk3NWYxMWMuLjIxYWJkYjggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnkuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnkuaW5jCkBAIC03LDYgKzcsNyBAQAogICAgICR7UFlUSE9OX1BOfS1pbyBcCiAgICAgJHtQWVRIT05fUE59LW1pc2MgXAogICAgICR7UFlUSE9OX1BOfS1zaGVsbCBcCisgICAgJHtQWVRIT05fUE59LXNtdHBkIFwKICIKIAogU1JDX1VSSVttZDVzdW1dID0gIjhlNTgwZmExZmYzOTcxZjk0YTZmODE2NzJiNzZjNDA2IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJkZmxpYi5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmRmbGliLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWFjMTk3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJkZmxpYi5pbmMKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJSREZMaWIgaXMgYSBwdXJlIFB5dGhvbiBwYWNrYWdlIGZvciB3b3JraW5nIHdpdGggUkRGIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT02OGMxYTNiYjY4N2JkNjNiOGU1NTUyZjNlYTI0OTg0MCIKKworU1JDX1VSSVttZDVzdW1dID0gIjUzNGZlMzViMTNjNTg1N2Q1M2ZhMWFjNWE0MWVjYTY3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRhMWRmMTQ1NTI1NTVjNWM3NzE1ZDhjZTcxYzA4ZjQwNGM5ODhjNThhMWVjZDM4NTUyZDBkYTRmYzI2MTI4MGQiCisKK2luaGVyaXQgcHlwaQorCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICAke1BZVEhPTl9QTn0taXNvZGF0ZSBcCisgICAgJHtQWVRIT05fUE59LXB5cGFyc2luZyBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZGZsaWJfNC4yLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmRmbGliXzQuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlZDBmNWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmRmbGliXzQuMi4yLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1yZGZsaWIuaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMtb2F1dGhsaWIuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLW9hdXRobGliLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmM2YTM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLW9hdXRobGliLmluYwpAQCAtMCwwICsxLDcgQEAKK0xJQ0VOU0UgPSAiSVNDIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MjJkMTE3YTg0OWRmMTBkMDQ3ZWQ5Yjc5MjgzOGU4NjMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0MzU4YTg3OWE0Mzc3MzkzYmNmZDM3ZDBmOWFlNmQ0ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ODNhYzQxNjc1N2VhZGE2ZDNkMDcwNTRlYzcwOTJhYzIxYzdmMzVjYjFkMmNmODJmYWYyMDU2MzcwODFmNDY4IgorCitSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LXJlcXVlc3RzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLW9hdXRobGliXzAuOC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLW9hdXRobGliXzAuOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzMTg5MTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMtb2F1dGhsaWJfMC44LjAuYmIKQEAgLTAsMCArMSwzIEBACityZXF1aXJlIHB5dGhvbi1yZXF1ZXN0cy1vYXV0aGxpYi5pbmMKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMuaW5jCmluZGV4IDMwMWMyZjguLjA0MDFlZTQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLmluYwpAQCAtMSwxNiArMSwxMiBAQAogREVTQ1JJUFRJT04gPSAiUHl0aG9uIEhUVFAgZm9yIEh1bWFucy4iCiBIT01FUEFHRSA9ICJodHRwOi8vcHl0aG9uLXJlcXVlc3RzLm9yZyIKIExJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWJmYmVhZmI4NWEyY2VlMjYxNTEwZDY1ZDVlYzE5MTU2IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YThkNWExZDFjMmQ1MzAyNWUyMjgyYzUxMTAzM2Y2ZjciCiAKIEZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9ICIke1RISVNESVJ9L3B5dGhvbi1yZXF1ZXN0czoiCiAKLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLVN0cmlwLUF1dGhvcml6YXRpb24taGVhZGVyLXdoZW5ldmVyLXJvb3QtVVJMLWNoYW5nZXMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDItUmV3b3JrLWF1dGhvcml6YXRpb24tc3RyaXBwaW5nLWxvZ2ljLWFzLWRpc2N1c3NlZC5wYXRjaCBcCi0gICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2YzFhMzFhZmVjOWQ2MTRlMmU3MWE5MWVlNmNhMjg3OCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlYzIyZDgyNmEzNmVkNzJhNzM1OGZmM2ZlNTZjYmQ0YmE2OWRkN2E2NzE4ZmZkNDUwZmYwZTlkZjdhNDdjZTZhIgorU1JDX1VSSVttZDVzdW1dID0gIjI5MTg4MTdlYTQ2ODhmNGVhMjFjYjRiMTFlMzUzNDQ4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVhODgxMjA2ZTU5ZjQxZGJkMGJkNDQ1NDM3ZDc5MmU0MzkwNjcwM2ZmZjc1Y2E4ZmY0M2NjZGIxMWYzM2YyNjMiCiAKIGluaGVyaXQgcHlwaQogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMvMDAwMS1TdHJpcC1BdXRob3JpemF0aW9uLWhlYWRlci13aGVuZXZlci1yb290LVVSTC1jaGFuZ2VzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLzAwMDEtU3RyaXAtQXV0aG9yaXphdGlvbi1oZWFkZXItd2hlbmV2ZXItcm9vdC1VUkwtY2hhbmdlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODBlZjVmZi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMvMDAwMS1TdHJpcC1BdXRob3JpemF0aW9uLWhlYWRlci13aGVuZXZlci1yb290LVVSTC1jaGFuZ2VzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBAQAotRnJvbSBmYjBkMzkxMTM4ZGY0OGU5M2M0NGEyMDg3ZWE3OTZjY2E1ZTIyOWMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJ1Y2UgTWVycnkgPGJtZXJyeUBza2EuYWMuemE+Ci1EYXRlOiBUaHUsIDI4IEp1biAyMDE4IDE2OjM4OjQyICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBTdHJpcCBBdXRob3JpemF0aW9uIGhlYWRlciB3aGVuZXZlciByb290IFVSTCBjaGFuZ2VzCi0KLVByZXZpb3VzbHkgdGhlIGhlYWRlciB3YXMgc3RyaXBwZWQgb25seSBpZiB0aGUgaG9zdG5hbWUgY2hhbmdlZCwgYnV0IGluCi1hbiBodHRwcyAtPiBodHRwIHJlZGlyZWN0IHRoYXQgY2FuIGxlYWsgdGhlIGNyZWRlbnRpYWxzIG9uIHRoZSB3aXJlCi0oIzQ3MTYpLiBCYXNlZCBvbiB3aXRoIFJGQyA3MjM1IHNlY3Rpb24gMi4yLCB0aGUgaGVhZGVyIGlzIG5vdyBzdHJpcHBlZAotaWYgdGhlICJjYW5vbmljYWwgcm9vdCBVUkwiIChzY2hlbWUrYXV0aG9yaXR5KSBoYXMgY2hhbmdlZCwgYnkgY2hlY2tpbmcKLXNjaGVtZSwgaG9zdG5hbWUgYW5kIHBvcnQuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotRml4IENWRS0yMDE4LTE4MDc0Ci0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHJlcXVlc3RzL3Nlc3Npb25zLnB5ICAgfCAgNCArKystCi0gdGVzdHMvdGVzdF9yZXF1ZXN0cy5weSB8IDEyICsrKysrKysrKysrLQotIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3JlcXVlc3RzL3Nlc3Npb25zLnB5IGIvcmVxdWVzdHMvc2Vzc2lvbnMucHkKLWluZGV4IGJhMTM1MjYuLjI5NjlkODMgMTAwNjQ0Ci0tLS0gYS9yZXF1ZXN0cy9zZXNzaW9ucy5weQotKysrIGIvcmVxdWVzdHMvc2Vzc2lvbnMucHkKLUBAIC0yNDIsNyArMjQyLDkgQEAgY2xhc3MgU2Vzc2lvblJlZGlyZWN0TWl4aW4ob2JqZWN0KToKLSAgICAgICAgICAgICBvcmlnaW5hbF9wYXJzZWQgPSB1cmxwYXJzZShyZXNwb25zZS5yZXF1ZXN0LnVybCkKLSAgICAgICAgICAgICByZWRpcmVjdF9wYXJzZWQgPSB1cmxwYXJzZSh1cmwpCi0gCi0tICAgICAgICAgICAgaWYgKG9yaWdpbmFsX3BhcnNlZC5ob3N0bmFtZSAhPSByZWRpcmVjdF9wYXJzZWQuaG9zdG5hbWUpOgotKyAgICAgICAgICAgIGlmIChvcmlnaW5hbF9wYXJzZWQuaG9zdG5hbWUgIT0gcmVkaXJlY3RfcGFyc2VkLmhvc3RuYW1lCi0rICAgICAgICAgICAgICAgICAgICBvciBvcmlnaW5hbF9wYXJzZWQucG9ydCAhPSByZWRpcmVjdF9wYXJzZWQucG9ydAotKyAgICAgICAgICAgICAgICAgICAgb3Igb3JpZ2luYWxfcGFyc2VkLnNjaGVtZSAhPSByZWRpcmVjdF9wYXJzZWQuc2NoZW1lKToKLSAgICAgICAgICAgICAgICAgZGVsIGhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXQotIAotICAgICAgICAgIyAubmV0cmMgbWlnaHQgaGF2ZSBtb3JlIGF1dGggZm9yIHVzIG9uIG91ciBuZXcgaG9zdC4KLWRpZmYgLS1naXQgYS90ZXN0cy90ZXN0X3JlcXVlc3RzLnB5IGIvdGVzdHMvdGVzdF9yZXF1ZXN0cy5weQotaW5kZXggZmNkZGIxZC4uZTBlODAxYSAxMDA2NDQKLS0tLSBhL3Rlc3RzL3Rlc3RfcmVxdWVzdHMucHkKLSsrKyBiL3Rlc3RzL3Rlc3RfcmVxdWVzdHMucHkKLUBAIC0xNTc1LDcgKzE1NzUsMTcgQEAgY2xhc3MgVGVzdFJlcXVlc3RzOgotICAgICAgICAgICAgIGF1dGg9KCd1c2VyJywgJ3Bhc3MnKSwKLSAgICAgICAgICkKLSAgICAgICAgIGFzc2VydCByLmhpc3RvcnlbMF0ucmVxdWVzdC5oZWFkZXJzWydBdXRob3JpemF0aW9uJ10KLS0gICAgICAgIGFzc2VydCBub3Qgci5yZXF1ZXN0LmhlYWRlcnMuZ2V0KCdBdXRob3JpemF0aW9uJywgJycpCi0rICAgICAgICBhc3NlcnQgJ0F1dGhvcml6YXRpb24nIG5vdCBpbiByLnJlcXVlc3QuaGVhZGVycwotKwotKyAgICBkZWYgdGVzdF9hdXRoX2lzX3N0cmlwcGVkX29uX3NjaGVtZV9yZWRpcmVjdChzZWxmLCBodHRwYmluLCBodHRwYmluX3NlY3VyZSwgaHR0cGJpbl9jYV9idW5kbGUpOgotKyAgICAgICAgciA9IHJlcXVlc3RzLmdldCgKLSsgICAgICAgICAgICBodHRwYmluX3NlY3VyZSgncmVkaXJlY3QtdG8nKSwKLSsgICAgICAgICAgICBwYXJhbXM9eyd1cmwnOiBodHRwYmluKCdnZXQnKX0sCi0rICAgICAgICAgICAgYXV0aD0oJ3VzZXInLCAncGFzcycpLAotKyAgICAgICAgICAgIHZlcmlmeT1odHRwYmluX2NhX2J1bmRsZQotKyAgICAgICAgKQotKyAgICAgICAgYXNzZXJ0IHIuaGlzdG9yeVswXS5yZXF1ZXN0LmhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXQotKyAgICAgICAgYXNzZXJ0ICdBdXRob3JpemF0aW9uJyBub3QgaW4gci5yZXF1ZXN0LmhlYWRlcnMKLSAKLSAgICAgZGVmIHRlc3RfYXV0aF9pc19yZXRhaW5lZF9mb3JfcmVkaXJlY3Rfb25faG9zdChzZWxmLCBodHRwYmluKToKLSAgICAgICAgIHIgPSByZXF1ZXN0cy5nZXQoaHR0cGJpbigncmVkaXJlY3QvMScpLCBhdXRoPSgndXNlcicsICdwYXNzJykpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy8wMDAyLVJld29yay1hdXRob3JpemF0aW9uLXN0cmlwcGluZy1sb2dpYy1hcy1kaXNjdXNzZWQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMvMDAwMi1SZXdvcmstYXV0aG9yaXphdGlvbi1zdHJpcHBpbmctbG9naWMtYXMtZGlzY3Vzc2VkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjA2OWZiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy8wMDAyLVJld29yay1hdXRob3JpemF0aW9uLXN0cmlwcGluZy1sb2dpYy1hcy1kaXNjdXNzZWQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTggKzAsMCBAQAotRnJvbSA2OThjMmZhODUwYmZjOGIzYmRiNzY4ZTFjMWNkNmQ1N2U2NDM4MTFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJ1Y2UgTWVycnkgPGJtZXJyeUBza2EuYWMuemE+Ci1EYXRlOiBUdWUsIDE0IEF1ZyAyMDE4IDEzOjMwOjQzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8yXSBSZXdvcmsgYXV0aG9yaXphdGlvbiBzdHJpcHBpbmcgbG9naWMgYXMgZGlzY3Vzc2VkCi0KLVRoZSBleGNlcHRpb24gZm9yIGh0dHAtPmh0dHBzIHVwZ3JhZGUgbm93IHJlcXVpcmVzIHRoZSBzdGFuZGFyZCBIVFRQKFMpCi1wb3J0cyB0byBiZSB1c2VkLCBlaXRoZXIgaW1wbGljaXRseSAobm8gcG9ydCBzcGVjaWZpZWQpIG9yIGV4cGxpY2l0bHkuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotRm9sbG93LXVwIGZpeCBmb3IgQ1ZFLTIwMTgtMTgwNzQKLQotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gcmVxdWVzdHMvc2Vzc2lvbnMucHkgICB8IDI2ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tCi0gdGVzdHMvdGVzdF9yZXF1ZXN0cy5weSB8IDMzICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9yZXF1ZXN0cy9zZXNzaW9ucy5weSBiL3JlcXVlc3RzL3Nlc3Npb25zLnB5Ci1pbmRleCAyOTY5ZDgzLi5jMTFhM2EyIDEwMDY0NAotLS0tIGEvcmVxdWVzdHMvc2Vzc2lvbnMucHkKLSsrKyBiL3JlcXVlc3RzL3Nlc3Npb25zLnB5Ci1AQCAtMTE1LDYgKzExNSwyMiBAQCBjbGFzcyBTZXNzaW9uUmVkaXJlY3RNaXhpbihvYmplY3QpOgotICAgICAgICAgICAgIHJldHVybiB0b19uYXRpdmVfc3RyaW5nKGxvY2F0aW9uLCAndXRmOCcpCi0gICAgICAgICByZXR1cm4gTm9uZQotIAotKyAgICBkZWYgc2hvdWxkX3N0cmlwX2F1dGgoc2VsZiwgb2xkX3VybCwgbmV3X3VybCk6Ci0rICAgICAgICAiIiJEZWNpZGUgd2hldGhlciBBdXRob3JpemF0aW9uIGhlYWRlciBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIHJlZGlyZWN0aW5nIiIiCi0rICAgICAgICBvbGRfcGFyc2VkID0gdXJscGFyc2Uob2xkX3VybCkKLSsgICAgICAgIG5ld19wYXJzZWQgPSB1cmxwYXJzZShuZXdfdXJsKQotKyAgICAgICAgaWYgb2xkX3BhcnNlZC5ob3N0bmFtZSAhPSBuZXdfcGFyc2VkLmhvc3RuYW1lOgotKyAgICAgICAgICAgIHJldHVybiBUcnVlCi0rICAgICAgICAjIFNwZWNpYWwgY2FzZTogYWxsb3cgaHR0cCAtPiBodHRwcyByZWRpcmVjdCB3aGVuIHVzaW5nIHRoZSBzdGFuZGFyZAotKyAgICAgICAgIyBwb3J0cy4gVGhpcyBpc24ndCBzcGVjaWZpZWQgYnkgUkZDIDcyMzUsIGJ1dCBpcyBrZXB0IHRvIGF2b2lkCi0rICAgICAgICAjIGJyZWFraW5nIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgcmVxdWVzdHMKLSsgICAgICAgICMgdGhhdCBhbGxvd2VkIGFueSByZWRpcmVjdHMgb24gdGhlIHNhbWUgaG9zdC4KLSsgICAgICAgIGlmIChvbGRfcGFyc2VkLnNjaGVtZSA9PSAnaHR0cCcgYW5kIG9sZF9wYXJzZWQucG9ydCBpbiAoODAsIE5vbmUpCi0rICAgICAgICAgICAgICAgIGFuZCBuZXdfcGFyc2VkLnNjaGVtZSA9PSAnaHR0cHMnIGFuZCBuZXdfcGFyc2VkLnBvcnQgaW4gKDQ0MywgTm9uZSkpOgotKyAgICAgICAgICAgIHJldHVybiBGYWxzZQotKyAgICAgICAgIyBTdGFuZGFyZCBjYXNlOiByb290IFVSSSBtdXN0IG1hdGNoCi0rICAgICAgICByZXR1cm4gb2xkX3BhcnNlZC5wb3J0ICE9IG5ld19wYXJzZWQucG9ydCBvciBvbGRfcGFyc2VkLnNjaGVtZSAhPSBuZXdfcGFyc2VkLnNjaGVtZQotKwotICAgICBkZWYgcmVzb2x2ZV9yZWRpcmVjdHMoc2VsZiwgcmVzcCwgcmVxLCBzdHJlYW09RmFsc2UsIHRpbWVvdXQ9Tm9uZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcmlmeT1UcnVlLCBjZXJ0PU5vbmUsIHByb3hpZXM9Tm9uZSwgeWllbGRfcmVxdWVzdHM9RmFsc2UsICoqYWRhcHRlcl9rd2FyZ3MpOgotICAgICAgICAgIiIiUmVjZWl2ZXMgYSBSZXNwb25zZS4gUmV0dXJucyBhIGdlbmVyYXRvciBvZiBSZXNwb25zZXMgb3IgUmVxdWVzdHMuIiIiCi1AQCAtMjM2LDE2ICsyNTIsMTAgQEAgY2xhc3MgU2Vzc2lvblJlZGlyZWN0TWl4aW4ob2JqZWN0KToKLSAgICAgICAgIGhlYWRlcnMgPSBwcmVwYXJlZF9yZXF1ZXN0LmhlYWRlcnMKLSAgICAgICAgIHVybCA9IHByZXBhcmVkX3JlcXVlc3QudXJsCi0gCi0tICAgICAgICBpZiAnQXV0aG9yaXphdGlvbicgaW4gaGVhZGVyczoKLSsgICAgICAgIGlmICdBdXRob3JpemF0aW9uJyBpbiBoZWFkZXJzIGFuZCBzZWxmLnNob3VsZF9zdHJpcF9hdXRoKHJlc3BvbnNlLnJlcXVlc3QudXJsLCB1cmwpOgotICAgICAgICAgICAgICMgSWYgd2UgZ2V0IHJlZGlyZWN0ZWQgdG8gYSBuZXcgaG9zdCwgd2Ugc2hvdWxkIHN0cmlwIG91dCBhbnkKLSAgICAgICAgICAgICAjIGF1dGhlbnRpY2F0aW9uIGhlYWRlcnMuCi0tICAgICAgICAgICAgb3JpZ2luYWxfcGFyc2VkID0gdXJscGFyc2UocmVzcG9uc2UucmVxdWVzdC51cmwpCi0tICAgICAgICAgICAgcmVkaXJlY3RfcGFyc2VkID0gdXJscGFyc2UodXJsKQotLQotLSAgICAgICAgICAgIGlmIChvcmlnaW5hbF9wYXJzZWQuaG9zdG5hbWUgIT0gcmVkaXJlY3RfcGFyc2VkLmhvc3RuYW1lCi0tICAgICAgICAgICAgICAgICAgICBvciBvcmlnaW5hbF9wYXJzZWQucG9ydCAhPSByZWRpcmVjdF9wYXJzZWQucG9ydAotLSAgICAgICAgICAgICAgICAgICAgb3Igb3JpZ2luYWxfcGFyc2VkLnNjaGVtZSAhPSByZWRpcmVjdF9wYXJzZWQuc2NoZW1lKToKLS0gICAgICAgICAgICAgICAgZGVsIGhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXQotKyAgICAgICAgICAgIGRlbCBoZWFkZXJzWydBdXRob3JpemF0aW9uJ10KLSAKLSAgICAgICAgICMgLm5ldHJjIG1pZ2h0IGhhdmUgbW9yZSBhdXRoIGZvciB1cyBvbiBvdXIgbmV3IGhvc3QuCi0gICAgICAgICBuZXdfYXV0aCA9IGdldF9uZXRyY19hdXRoKHVybCkgaWYgc2VsZi50cnVzdF9lbnYgZWxzZSBOb25lCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdF9yZXF1ZXN0cy5weSBiL3Rlc3RzL3Rlc3RfcmVxdWVzdHMucHkKLWluZGV4IGUwZTgwMWEuLjE0ODA2N2IgMTAwNjQ0Ci0tLS0gYS90ZXN0cy90ZXN0X3JlcXVlc3RzLnB5Ci0rKysgYi90ZXN0cy90ZXN0X3JlcXVlc3RzLnB5Ci1AQCAtMTU2NywxNyArMTU2Nyw3IEBAIGNsYXNzIFRlc3RSZXF1ZXN0czoKLSAgICAgICAgICAgICBwcmVxID0gcmVxLnByZXBhcmUoKQotICAgICAgICAgICAgIGFzc2VydCB0ZXN0X3VybCA9PSBwcmVxLnVybAotIAotLSAgICBAcHl0ZXN0Lm1hcmsueGZhaWwocmFpc2VzPUNvbm5lY3Rpb25FcnJvcikKLS0gICAgZGVmIHRlc3RfYXV0aF9pc19zdHJpcHBlZF9vbl9yZWRpcmVjdF9vZmZfaG9zdChzZWxmLCBodHRwYmluKToKLS0gICAgICAgIHIgPSByZXF1ZXN0cy5nZXQoCi0tICAgICAgICAgICAgaHR0cGJpbigncmVkaXJlY3QtdG8nKSwKLS0gICAgICAgICAgICBwYXJhbXM9eyd1cmwnOiAnaHR0cDovL3d3dy5nb29nbGUuY28udWsnfSwKLS0gICAgICAgICAgICBhdXRoPSgndXNlcicsICdwYXNzJyksCi0tICAgICAgICApCi0tICAgICAgICBhc3NlcnQgci5oaXN0b3J5WzBdLnJlcXVlc3QuaGVhZGVyc1snQXV0aG9yaXphdGlvbiddCi0tICAgICAgICBhc3NlcnQgJ0F1dGhvcml6YXRpb24nIG5vdCBpbiByLnJlcXVlc3QuaGVhZGVycwotLQotLSAgICBkZWYgdGVzdF9hdXRoX2lzX3N0cmlwcGVkX29uX3NjaGVtZV9yZWRpcmVjdChzZWxmLCBodHRwYmluLCBodHRwYmluX3NlY3VyZSwgaHR0cGJpbl9jYV9idW5kbGUpOgotKyAgICBkZWYgdGVzdF9hdXRoX2lzX3N0cmlwcGVkX29uX2h0dHBfZG93bmdyYWRlKHNlbGYsIGh0dHBiaW4sIGh0dHBiaW5fc2VjdXJlLCBodHRwYmluX2NhX2J1bmRsZSk6Ci0gICAgICAgICByID0gcmVxdWVzdHMuZ2V0KAotICAgICAgICAgICAgIGh0dHBiaW5fc2VjdXJlKCdyZWRpcmVjdC10bycpLAotICAgICAgICAgICAgIHBhcmFtcz17J3VybCc6IGh0dHBiaW4oJ2dldCcpfSwKLUBAIC0xNTk0LDYgKzE1ODQsMjcgQEAgY2xhc3MgVGVzdFJlcXVlc3RzOgotIAotICAgICAgICAgYXNzZXJ0IGgxID09IGgyCi0gCi0rICAgIGRlZiB0ZXN0X3Nob3VsZF9zdHJpcF9hdXRoX2hvc3RfY2hhbmdlKHNlbGYpOgotKyAgICAgICAgcyA9IHJlcXVlc3RzLlNlc3Npb24oKQotKyAgICAgICAgYXNzZXJ0IHMuc2hvdWxkX3N0cmlwX2F1dGgoJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nLCAnaHR0cDovL2Fub3RoZXIuZXhhbXBsZS5jb20vJykKLSsKLSsgICAgZGVmIHRlc3Rfc2hvdWxkX3N0cmlwX2F1dGhfaHR0cF9kb3duZ3JhZGUoc2VsZik6Ci0rICAgICAgICBzID0gcmVxdWVzdHMuU2Vzc2lvbigpCi0rICAgICAgICBhc3NlcnQgcy5zaG91bGRfc3RyaXBfYXV0aCgnaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28nLCAnaHR0cDovL2V4YW1wbGUuY29tL2JhcicpCi0rCi0rICAgIGRlZiB0ZXN0X3Nob3VsZF9zdHJpcF9hdXRoX2h0dHBzX3VwZ3JhZGUoc2VsZik6Ci0rICAgICAgICBzID0gcmVxdWVzdHMuU2Vzc2lvbigpCi0rICAgICAgICBhc3NlcnQgbm90IHMuc2hvdWxkX3N0cmlwX2F1dGgoJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nLCAnaHR0cHM6Ly9leGFtcGxlLmNvbS9iYXInKQotKyAgICAgICAgYXNzZXJ0IG5vdCBzLnNob3VsZF9zdHJpcF9hdXRoKCdodHRwOi8vZXhhbXBsZS5jb206ODAvZm9vJywgJ2h0dHBzOi8vZXhhbXBsZS5jb20vYmFyJykKLSsgICAgICAgIGFzc2VydCBub3Qgcy5zaG91bGRfc3RyaXBfYXV0aCgnaHR0cDovL2V4YW1wbGUuY29tL2ZvbycsICdodHRwczovL2V4YW1wbGUuY29tOjQ0My9iYXInKQotKyAgICAgICAgIyBOb24tc3RhbmRhcmQgcG9ydHMgc2hvdWxkIHRyaWdnZXIgc3RyaXBwaW5nCi0rICAgICAgICBhc3NlcnQgcy5zaG91bGRfc3RyaXBfYXV0aCgnaHR0cDovL2V4YW1wbGUuY29tOjgwODAvZm9vJywgJ2h0dHBzOi8vZXhhbXBsZS5jb20vYmFyJykKLSsgICAgICAgIGFzc2VydCBzLnNob3VsZF9zdHJpcF9hdXRoKCdodHRwOi8vZXhhbXBsZS5jb20vZm9vJywgJ2h0dHBzOi8vZXhhbXBsZS5jb206ODQ0My9iYXInKQotKwotKyAgICBkZWYgdGVzdF9zaG91bGRfc3RyaXBfYXV0aF9wb3J0X2NoYW5nZShzZWxmKToKLSsgICAgICAgIHMgPSByZXF1ZXN0cy5TZXNzaW9uKCkKLSsgICAgICAgIGFzc2VydCBzLnNob3VsZF9zdHJpcF9hdXRoKCdodHRwOi8vZXhhbXBsZS5jb206MTIzNC9mb28nLCAnaHR0cHM6Ly9leGFtcGxlLmNvbTo0MzIxL2JhcicpCi0rCi0gICAgIGRlZiB0ZXN0X21hbnVhbF9yZWRpcmVjdF93aXRoX3BhcnRpYWxfYm9keV9yZWFkKHNlbGYsIGh0dHBiaW4pOgotICAgICAgICAgcyA9IHJlcXVlc3RzLlNlc3Npb24oKQotICAgICAgICAgcjEgPSBzLmdldChodHRwYmluKCdyZWRpcmVjdC8yJyksIGFsbG93X3JlZGlyZWN0cz1GYWxzZSwgc3RyZWFtPVRydWUpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0c18yLjE5LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHNfMi4yMC4xLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHNfMi4xOS4xLmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHNfMi4yMC4xLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2xpcC1kYnVzLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbGlwLWRidXMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5MzNiNDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2xpcC1kYnVzLmluYwpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkNvbnZlbmllbmNlIGZ1bmN0aW9ucyBmb3IgZGJ1cyBzZXJ2aWNlcyBpbiBQeXRob24gMi54IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL25waGlsaXBwL3B5dGhvbi1zbGlwIgorREVTQ1JJUFRJT04gPSAiXAorVGhlIFNpbXBsZSBMaWJyYXJ5IGZvciBQeXRob24gMi54IHBhY2thZ2VzIGNvbnRhaW4gbWlzY2VsbGFuZW91cyBjb2RlIGZvciBcCitjb252ZW5pZW5jZSwgZXh0ZW5zaW9uIGFuZCB3b3JrYXJvdW5kIHB1cnBvc2VzLiBcCitcCitUaGlzIHBhY2thZ2UgcHJvdmlkZXMgc2xpcC5kYnVzLnNlcnZpY2UuT2JqZWN0LCB3aGljaCBpcyBhIGRidXMuc2VydmljZS5PYmplY3QgXAorZGVyaXZhdGl2ZSB0aGF0IGVuZHMgaXRzZWxmIGFmdGVyIGEgY2VydGFpbiB0aW1lIHdpdGhvdXQgYmVpbmcgdXNlZCBhbmQvb3IgaWYgXAordGhlcmUgYXJlIG5vIGNsaWVudHMgYW55bW9yZSBvbiB0aGUgbWVzc2FnZSBidXMsIGFzIHdlbGwgYXMgY29udmVuaWVuY2UgXAorZnVuY3Rpb25zIGFuZCBkZWNvcmF0b3JzIGZvciBpbnRlZ3JhdGluZyBhIGRidXMgc2VydmljZSB3aXRoIFBvbGljeUtpdC4iCisKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NTc0YzY5NjVhZTVmNTgzZTU1ODgwZTM5N2ZiYjAxOCIKK1NSQ05BTUUgPSAicHl0aG9uLXNsaXAiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL25waGlsaXBwLyR7U1JDTkFNRX0vcmVsZWFzZXMvZG93bmxvYWQvJHtTUkNOQU1FfS0ke1BWfS8ke1NSQ05BTUV9LSR7UFZ9LnRhci5iejIiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworU1JDX1VSSVttZDVzdW1dID0gIjI4YWU1ZjkzODUzNDY2YzQ0ZWM5NjcwNmJhMmExZWI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM3MjZjMDg2ZjBkZDkzYTBhYzdhMDE3NmYzODNhMTJhZjkxYjY2NTdiNzhhMzAxZTNmNWIyNWQ5ZjhkNGQxMGIiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWUgJ3MvQFZFUlNJT05ALyR7UFZ9L2cnIHNldHVwLnB5LmluID4gc2V0dXAucHkKK30KKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMTg0NzEzLworIyBweXRob24tbmF0aXZlL3B5dGhvbjogY2FuJ3Qgb3BlbiBmaWxlICdzZXR1cC5weSc6IFtFcnJubyAyXSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CitDTEVBTkJST0tFTiA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNsaXAtZGJ1c18wLjYuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbGlwLWRidXNfMC42LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjNTg3ZTcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNsaXAtZGJ1c18wLjYuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLVNVTU1BUlkgPSAiQ29udmVuaWVuY2UgZnVuY3Rpb25zIGZvciBkYnVzIHNlcnZpY2VzIGluIFB5dGhvbiAyLngiCi1IT01FUEFHRSA9ICJodHRwOi8vbnBoaWxpcHAuZmVkb3JhcGVvcGxlLm9yZy9weXRob24tc2xpcC8iCi1ERVNDUklQVElPTiA9ICJcCi1UaGUgU2ltcGxlIExpYnJhcnkgZm9yIFB5dGhvbiAyLnggcGFja2FnZXMgY29udGFpbiBtaXNjZWxsYW5lb3VzIGNvZGUgZm9yIFwKLWNvbnZlbmllbmNlLCBleHRlbnNpb24gYW5kIHdvcmthcm91bmQgcHVycG9zZXMuIFwKLVwKLVRoaXMgcGFja2FnZSBwcm92aWRlcyBzbGlwLmRidXMuc2VydmljZS5PYmplY3QsIHdoaWNoIGlzIGEgZGJ1cy5zZXJ2aWNlLk9iamVjdCBcCi1kZXJpdmF0aXZlIHRoYXQgZW5kcyBpdHNlbGYgYWZ0ZXIgYSBjZXJ0YWluIHRpbWUgd2l0aG91dCBiZWluZyB1c2VkIGFuZC9vciBpZiBcCi10aGVyZSBhcmUgbm8gY2xpZW50cyBhbnltb3JlIG9uIHRoZSBtZXNzYWdlIGJ1cywgYXMgd2VsbCBhcyBjb252ZW5pZW5jZSBcCi1mdW5jdGlvbnMgYW5kIGRlY29yYXRvcnMgZm9yIGludGVncmF0aW5nIGEgZGJ1cyBzZXJ2aWNlIHdpdGggUG9saWN5S2l0LiIKLQotU0VDVElPTiA9ICJkZXZlbC9weXRob24iCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1NzRjNjk2NWFlNWY1ODNlNTU4ODBlMzk3ZmJiMDE4IgotU1JDTkFNRSA9ICJweXRob24tc2xpcCIKLQotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbnBoaWxpcHAvJHtTUkNOQU1FfS9yZWxlYXNlcy9kb3dubG9hZC8ke1NSQ05BTUV9LSR7UFZ9LyR7U1JDTkFNRX0tJHtQVn0udGFyLmJ6MiIKLVMgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgotCi1pbmhlcml0IHNldHVwdG9vbHMKLQotU1JDX1VSSVttZDVzdW1dID0gImE2ZDhlZTk2MjQ1ZmMyMTc4NWQ0YzFjMDYyYzg1ZjJmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImJjODk3ZjFhYjZmNWI0OTg5Zjg1NTQ4Nzk5YWFlYjg0ZmRlNjdiYmJhMThlNDAzNDFiZmUxZDc4ODVjMmZkOWEiCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLSAgICBzZWQgLWUgJ3MvQFZFUlNJT05ALyR7UFZ9L2cnIHNldHVwLnB5LmluID4gc2V0dXAucHkKLX0KLQotIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMTg0NzEzLwotIyBweXRob24tbmF0aXZlL3B5dGhvbjogY2FuJ3Qgb3BlbiBmaWxlICdzZXR1cC5weSc6IFtFcnJubyAyXSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Ci1DTEVBTkJST0tFTiA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNsaXAtZGJ1c18wLjYuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbGlwLWRidXNfMC42LjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMwZmExYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbGlwLWRidXNfMC42LjUuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXNsaXAtZGJ1cy5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10cWRtLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10cWRtLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjdhODBjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRxZG0uaW5jCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiRmFzdCwgRXh0ZW5zaWJsZSBQcm9ncmVzcyBNZXRlciIKK0hPTUVQQUdFID0gImh0dHA6Ly90cWRtLmdpdGh1Yi5pby8iCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKKworTElDRU5TRSA9ICJNSVQgJiBNUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRTttZDU9MDU0ZWY3MTA1Y2JhMDUwMDE3ZDEzNjgyNjJhMTYyM2MiCisKK2luaGVyaXQgcHlwaQorCitTUkNfVVJJW21kNXN1bV0gPSAiODA3ZThjMTNlMTZlMzY2MGFjODhlMDVkNzExZGFlYjAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTIyOTc3ZTNlYmU5NjFmNzIzNjJmNmRkZmI5MTk3Y2M1MzFjOTczN2FhZjVmNjA3ZWYwOTc0MGM4NDllY2QwNSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRxZG1fNC4zMS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRxZG1fNC4zMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzODEwMDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHFkbV80LjMxLjEuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXRxZG0uaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpc3RlZC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpc3RlZC5pbmMKaW5kZXggMDE2MTZiMS4uNDU2YWRmNCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXR3aXN0ZWQuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10d2lzdGVkLmluYwpAQCAtMzUsNyArMzUsNiBAQAogIgogCiBQQUNLQUdFUyA9KyAiXAotICAgICR7UE59LXNyYyBcCiAgICAgJHtQTn0tYmluIFwKICIKIApAQCAtMjQyLDkgKzI0MSwxMCBAQAogICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vX3B5ZG9jdG9ydGVtcGxhdGVzLyBcCiAiCiAKLVJERVBFTkRTX3tQTn0tc3JjID0gIiR7UE59IgorUkRFUEVORFNfJHtQTn0tc3JjID0gIiR7UE59IgogRklMRVNfJHtQTn0tc3JjID0gIiBcCiAgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkLyoucHkgXAogICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC8qLyoucHkgXAogICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC8qLyovKi5weSBcCiAiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10d2l0dGVyLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10d2l0dGVyLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTY1N2VlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXR3aXR0ZXIuaW5jCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiVHdpdHRlciBmb3IgUHl0aG9uIgorREVTQ1JJUFRJT04gPSAiUHl0aG9uIG1vZHVsZSB0byBzdXBwb3J0IHR3aXR0ZXIgQVBJIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT0wMzA3ZmZmZDhjNGQ5OTQ2YzAyOWRhYTE0MjZkMjZlNyIKKworU1JDX1VSSVttZDVzdW1dID0gImM2ZGMyZjMxNWRlZDc2MWFhZmM5NmJlYTMzNTFjN2Y2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZlODVhNzlmNThhMDFkZDMzNTk2ODUyM2I5MWM1ZmNlNzYwZTdmZTc4YmYyNWE2ZTcxYzcyMjA0ZmU0OTlkMGIiCisKK1BZUElfUEFDS0FHRSA9ICJ0d2VlcHkiCisKK1JERVBFTkRTXyR7UE59ICs9ICJcCisgICAgICAgICR7UFlUSE9OX1BOfS1waXAgXAorICAgICAgICAke1BZVEhPTl9QTn0tcHlzb2NrcyBcCisgICAgICAgICR7UFlUSE9OX1BOfS1yZXF1ZXN0cyBcCisgICAgICAgICR7UFlUSE9OX1BOfS1zaXggXAorICAgICAgICAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpdHRlcl8zLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10d2l0dGVyXzMuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMjhiMDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpdHRlcl8zLjcuMC5iYgpAQCAtMCwwICsxLDMgQEAKK3JlcXVpcmUgcHl0aG9uLXR3aXR0ZXIuaW5jCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHpsb2NhbC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHpsb2NhbC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJmOTNlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10emxvY2FsLmluYwpAQCAtMCwwICsxLDggQEAKK1NVTU1BUlkgPSAiTGlicmFyeSB0byByZXR1cm4gdHppbmZvIHdpdGggdGhlIGxvY2FsIHRpbWV6b25lIGluZm9ybWF0aW9uIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9weXBpLm9yZy9wcm9qZWN0L3R6bG9jYWwvIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9NTdlMGJkNjE2NDNkODFkMDU2ODNjZGNlNjViMTFkMTAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NTUzYmU4OTFlZmEwODEyYzRhZGZiMGM2ZTgxOGVlYyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGViZWI4NDg4NDVhYzg5OGRhNjUxOWI5YjMxODc5Y2YxM2I2NjI2ZjcxODRjNDk2MDM3YjgxOGUyMzhmMmM0ZSIgCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10emxvY2FsXzEuNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXR6bG9jYWxfMS41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc5ODBkZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10emxvY2FsXzEuNS4xLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXR6bG9jYWwuaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdmN2ZXJzaW9uZXJfMi4xNi4wLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdmN2ZXJzaW9uZXJfMi4xNi4wLjAuYmIKaW5kZXggY2Q2ZmE4ZC4uZTZjYzRhYyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXZjdmVyc2lvbmVyXzIuMTYuMC4wLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi12Y3ZlcnNpb25lcl8yLjE2LjAuMC5iYgpAQCAtOSwxNCArOSw2IEBACiAKIGluaGVyaXQgcHlwaSBzZXR1cHRvb2xzCiAKLWRvX2NvbXBpbGVfYXBwZW5kKCkgewotICAgICR7UFlUSE9OfSBzZXR1cC5weSAtcSBiZGlzdF9lZ2cgLS1kaXN0LWRpciAuLwotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS92Y3ZlcnNpb25lciouZWdnICR7RH0vJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vCi19Ci0KIFJERVBFTkRTXyR7UE59ICs9ICJcCiAgICAgJHtQWVRIT05fUE59LXN1YnByb2Nlc3MgXAogICAgICIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13ZWJlbmNvZGluZ3MuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlYmVuY29kaW5ncy5pbmMKaW5kZXggMzRjYTcwNi4uYTJiODQxMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlYmVuY29kaW5ncy5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlYmVuY29kaW5ncy5pbmMKQEAgLTExLDMgKzExLDUgQEAKICAgICAke1BZVEhPTl9QTn0tY29kZWNzIFwKICAgICAke1BZVEhPTl9QTn0tanNvbiBcCiAiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi14bHJkLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi14bHJkLmluYwppbmRleCBkMWFiMDVkLi44OTNlODJlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24teGxyZC5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXhscmQuaW5jCkBAIC0xMCwzICsxMCw1IEBACiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGEyMTg4NTUxM2U2ZDkxNWZlMzNhOGVlNWZkZmE2NzU0MzNiNjE0MDViYTEzZTJhNjllNjJlZTM2ODI4ZDdlMiIKIAogUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS1jb21wcmVzc2lvbiAke1BZVEhPTl9QTn0taW8gJHtQWVRIT05fUE59LXBwcmludCAke1BZVEhPTl9QTn0tc2hlbGwiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYWJzbF8wLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYWJzbF8wLjcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjVhNmQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1hYnNsXzAuNy4wLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiQWJzZWlsIFB5dGhvbiBDb21tb24gTGlicmFyaWVzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2Fic2VpbC9hYnNlaWwtcHkiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTNiODNlZjk2Mzg3ZjE0NjU1ZmM4NTRkZGMzYzZiZDU3IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYWJzZWlsL2Fic2VpbC1weS5naXQiCitTUkNSRVYgPz0gImUzY2U1MDQxODNjNTdmYzRlY2E1MmZlODQ3MzJjMTFjZGE5OWQxMzEiCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWFzdG9yXzAuNy4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1hc3Rvcl8wLjcuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmRjOTI0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1hc3Rvcl8wLjcuMS5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIkVhc3kgbWFuaXB1bGF0aW9uIG9mIFB5dGhvbiBzb3VyY2UgdmlhIHRoZSBBU1QuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2JlcmtlcnBla3NhZy9hc3RvciIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01NjEyMDVmZGFiYzNlYzUyY2FlMmQzMDgxNWI4YWRlNyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2JlcmtlcnBla3NhZy9hc3Rvci5naXQiCitTUkNSRVYgPz0gIjRjYTNhMjZlNTJmMDg2Nzg4NTRjMjg0MWNkMGZkZjIyMzQ2MWU0N2QiCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJhbmRpdF8xLjQuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmFuZGl0XzEuNC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NGY0NzYxLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmFuZGl0XzEuNC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotU1VNTUFSWSA9ICJTZWN1cml0eSBvcmllbnRlZCBzdGF0aWMgYW5hbHlzZXIgZm9yIHB5dGhvbiBjb2RlLiIKLUxJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTFkZWNlNzgyMWJmM2ZkNzBmZTEzMDllYWEzN2Q1MmEyIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZjc0MTU1Y2I5OTIxYmU4NTc2OTNiMzJkMjUzMWU4NTciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2I5NzcwNDU0OTdmODNlYzNhMDI2MTY5NzNhYjg0NWM4MjljZGFiODE0NGNlMmU3NTdmZTAzMTEwNGE5YWJkNCIKLQotREVQRU5EUyA9ICJweXRob24zLXB5eWFtbCBweXRob24zLXNpeCBweXRob24zLXN0ZXZlZG9yZSBweXRob24zLXBici1uYXRpdmUiCi0KLWluaGVyaXQgc2V0dXB0b29sczMgcHlwaQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmFuZGl0XzEuNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iYW5kaXRfMS41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzAwMmQ1YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmFuZGl0XzEuNS4xLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiU2VjdXJpdHkgb3JpZW50ZWQgc3RhdGljIGFuYWx5c2VyIGZvciBweXRob24gY29kZS4iCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xZGVjZTc4MjFiZjNmZDcwZmUxMzA5ZWFhMzdkNTJhMiIKKworU1JDX1VSSVttZDVzdW1dID0gIjgxYmEzOTc5ZGVkMWI0MjFmYThkNjllNmZhYTA2ZGNiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk0MTNmYWNmZTlkZTFlMWJkMjkxZDUyNWM3ODRlMWJlYjFhNTVjOTkxNmI1MWRhZTEyOTc5YWY2M2E2OWJhNGMiCisKK0RFUEVORFMgPSAicHl0aG9uMy1wYnItbmF0aXZlIHB5dGhvbjMtZ2l0IHB5dGhvbjMtcGJyIHB5dGhvbjMtcHl5YW1sIHB5dGhvbjMtc2l4IHB5dGhvbjMtc3RldmVkb3JlIgorCitpbmhlcml0IHNldHVwdG9vbHMzIHB5cGkKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbjMtbW9kdWxlcyBweXRob24zLWdpdCBweXRob24zLXBiciBweXRob24zLXB5eWFtbCBweXRob24zLXNpeCBweXRob24zLXN0ZXZlZG9yZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNhY2hldG9vbHNfMy4xLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNhY2hldG9vbHNfMy4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzZiMmY2NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY2FjaGV0b29sc18zLjEuMC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLWNhY2hldG9vbHMuaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNsaWNrXzYuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY2xpY2tfNy4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNsaWNrXzYuNy5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1jbGlja183LjAuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3J5cHRvZ3JhcGh5LXZlY3RvcnNfMi4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1jcnlwdG9ncmFwaHktdmVjdG9yc18yLjQuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1jcnlwdG9ncmFwaHktdmVjdG9yc18yLjMuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3J5cHRvZ3JhcGh5LXZlY3RvcnNfMi40LjEuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3J5cHRvZ3JhcGh5XzIuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3J5cHRvZ3JhcGh5XzIuNC4xLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNyeXB0b2dyYXBoeV8yLjMuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3J5cHRvZ3JhcGh5XzIuNC4xLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdhc3RfMC4yLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdhc3RfMC4yLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmUwOGExOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2FzdF8wLjIuMi5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIkEgZ2VuZXJpYyBBU1QgdG8gcmVwcmVzZW50IFB5dGhvbjIgYW5kIFB5dGhvbjMncyBBYnN0cmFjdCBTeW50YXggVHJlZShBU1QpLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJnZS1zYW5zLXBhaWxsZS9nYXN0IgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWEzYWQ5YjY4MDJlNzEzZmM1ZTMwN2UxMjMwZjFlYTkwIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2VyZ2Utc2Fucy1wYWlsbGUvZ2FzdC5naXQiCitTUkNSRVYgPz0gImVkODJlMmE1MDc1MDVjNmIxOGViNjY1ZDM3MzhiNmMwNjAyZGE1ZTciCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdldmVudF8xLjIuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2V2ZW50XzEuMi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZjE3MmU1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2V2ZW50XzEuMi4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1yZXF1aXJlIHB5dGhvbi1nZXZlbnQuaW5jCi1pbmhlcml0IHNldHVwdG9vbHMzCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2V2ZW50XzEuNC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1nZXZlbnRfMS40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY2ODhlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2V2ZW50XzEuNC4wLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSBweXRob24tZ2V2ZW50LmluYworaW5oZXJpdCBzZXR1cHRvb2xzMwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1ncmVlbmxldF8wLjQuMTQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdyZWVubGV0XzAuNC4xNS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1ncmVlbmxldF8wLjQuMTQuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ3JlZW5sZXRfMC40LjE1LmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdycGNpb18xLjE0LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdycGNpb18xLjE5LjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ3JwY2lvXzEuMTQuMS5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1ncnBjaW9fMS4xOS4wLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWg1cHkvMDAwMS1jcm9zcy1jb21waWxpbmctc3VwcG9ydC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaDVweS8wMDAxLWNyb3NzLWNvbXBpbGluZy1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmNTBjODUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWg1cHkvMDAwMS1jcm9zcy1jb21waWxpbmctc3VwcG9ydC5wYXRjaApAQCAtMCwwICsxLDQ2IEBACitGcm9tIDdlM2IxNzQ1YzFmZWYzNDY4M2EwNjEwMzgxZGQzMzA4YWQ0ZDFiYTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDE3OjA4OjMyICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGNyb3NzIGNvbXBpbGluZyBzdXBwb3J0CisKK1JlbW92ZSB1c2VsZXNzIGRpcnMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgc2V0dXBfYnVpbGQucHkgICAgIHwgNCAtLS0tCisgc2V0dXBfY29uZmlndXJlLnB5IHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cF9idWlsZC5weSBiL3NldHVwX2J1aWxkLnB5CitpbmRleCA4NWIzMjFhLi4yYzc4ZTkyIDEwMDY0NAorLS0tIGEvc2V0dXBfYnVpbGQucHkKKysrKyBiL3NldHVwX2J1aWxkLnB5CitAQCAtNTMsMTAgKzUzLDYgQEAgaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpOgorICAgICAgICAgKCdfSERGNVVTRURMTF8nLCBOb25lKSwKKyAgICAgICAgICgnSDVfQlVJTFRfQVNfRFlOQU1JQ19MSUInLCBOb25lKQorICAgICBdKQorLWVsc2U6CistICAgIEZBTExCQUNLX1BBVEhTWydpbmNsdWRlX2RpcnMnXS5leHRlbmQoWycvb3B0L2xvY2FsL2luY2x1ZGUnLCAnL3Vzci9sb2NhbC9pbmNsdWRlJ10pCistICAgIEZBTExCQUNLX1BBVEhTWydsaWJyYXJ5X2RpcnMnXS5leHRlbmQoWycvb3B0L2xvY2FsL2xpYicsICcvdXNyL2xvY2FsL2xpYiddKQorLQorIAorIGNsYXNzIGg1cHlfYnVpbGRfZXh0KGJ1aWxkX2V4dCk6CisgCitkaWZmIC0tZ2l0IGEvc2V0dXBfY29uZmlndXJlLnB5IGIvc2V0dXBfY29uZmlndXJlLnB5CitpbmRleCBhMmRlNzZhLi4xOTdmMmRhIDEwMDY0NAorLS0tIGEvc2V0dXBfY29uZmlndXJlLnB5CisrKysgYi9zZXR1cF9jb25maWd1cmUucHkKK0BAIC0yMDgsNyArMjA4LDcgQEAgZGVmIGF1dG9kZXRlY3RfdmVyc2lvbihoZGY1X2Rpcj1Ob25lKToKKyAgICAgZWxzZToKKyAgICAgICAgIHJlZ2V4cCA9IHJlLmNvbXBpbGUocidebGliaGRmNS5zbycpCisgCistICAgIGxpYmRpcnMgPSBbJy91c3IvbG9jYWwvbGliJywgJy9vcHQvbG9jYWwvbGliJ10KKysgICAgbGliZGlycyA9IFtdCisgICAgIHRyeToKKyAgICAgICAgIGlmIHBrZ2NvbmZpZy5leGlzdHMoImhkZjUiKToKKyAgICAgICAgICAgICBsaWJkaXJzLmV4dGVuZChwa2djb25maWcucGFyc2UoImhkZjUiKVsnbGlicmFyeV9kaXJzJ10pCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaDVweV8yLjkuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaDVweV8yLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iY2E3NzU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1oNXB5XzIuOS4wLmJiCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiUHJvdmlkZXMgYm90aCBhIGhpZ2gtIGFuZCBsb3ctbGV2ZWwgaW50ZXJmYWNlIHRvIHRoZSBIREY1IGxpYnJhcnkgZnJvbSBQeXRob24uICIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3Lmg1cHkub3JnLyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zZXR1cC5weTtiZWdpbmxpbmU9MTA3O2VuZGxpbmU9MTA3O21kNT03OTVlY2FkMGQyNjFjOTk4Y2M1MjZjODRhODIyZGZmNiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2g1cHkvaDVweS5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jcm9zcy1jb21waWxpbmctc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIgorU1JDUkVWID89ICI4ZDk2YTE0YzM1MDhkZTFiZGU3N2FlYzVkYjMwMmU0NzhkYzVkYmM0IgorCitpbmhlcml0IHNldHVwdG9vbHMzCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitERVBFTkRTID0gInB5dGhvbjMtcGtnY29uZmlnLW5hdGl2ZSBcCisgICAgICAgICAgIHB5dGhvbjMtY3l0aG9uLW5hdGl2ZSBcCisgICAgICAgICAgIHB5dGhvbjMtbnVtcHktbmF0aXZlIFwKKyAgICAgICAgICAgcHl0aG9uMy1zaXgtbmF0aXZlIFwKKyAgICAgICAgICAgcHl0aG9uMyBcCisgICAgICAgICAgIGhkZjUgXAorICAgICAgICAgICIKKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uMy1udW1weSBcCisgICAgICAgICAgICAgICAgICBweXRob24zLXNpeCBcCisgICAgICAgICAgICAgICAgICIKKworZXhwb3J0IEhERjVfVkVSU0lPTj0iMS44LjE5IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1pZG5hXzIuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaWRuYV8yLjguYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaWRuYV8yLjcuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaWRuYV8yLjguYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaXNvZGF0ZV8wLjYuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaXNvZGF0ZV8wLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTc5YWU5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1pc29kYXRlXzAuNi4wLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24taXNvZGF0ZS5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMta2NvbmZpZ2xpYl8xMC40Mi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1rY29uZmlnbGliXzEwLjQyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBiMDM5YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMta2NvbmZpZ2xpYl8xMC40Mi4wLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSBweXRob24ta2NvbmZpZ2xpYi0ke1BWfS5pbmMKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1rZXJhcy1hcHBsaWNhdGlvbnNfMS4wLjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWtlcmFzLWFwcGxpY2F0aW9uc18xLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzhiOTkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1rZXJhcy1hcHBsaWNhdGlvbnNfMS4wLjYuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJSZWZlcmVuY2UgaW1wbGVtZW50YXRpb25zIG9mIHBvcHVsYXIgZGVlcCBsZWFybmluZyBtb2RlbHMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20va2VyYXMtdGVhbS9rZXJhcy1hcHBsaWNhdGlvbnMiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MzY2ZTJmZDNjOTcxNGYxNjJkMzY2M2I2Zjk3Y2ZlNDEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9rZXJhcy10ZWFtL2tlcmFzLWFwcGxpY2F0aW9ucy5naXQiCitTUkNSRVYgPz0gIjYxZGUyMTgxNTcyOGFhNjYzNzdlYmIyYTdiNGMyZjU0OTJhMzRkZDIiCisKKworaW5oZXJpdCBzZXR1cHRvb2xzMworCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uMy1udW1weSBcCisgICAgICAgICAgICAgICAgICBweXRob24zLWg1cHkgXAorICAgICAgICAgICAgICAgICAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWtlcmFzLXByZXByb2Nlc3NpbmdfMS4wLjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWtlcmFzLXByZXByb2Nlc3NpbmdfMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNThiOGM2MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMta2VyYXMtcHJlcHJvY2Vzc2luZ18xLjAuNS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIkVhc3kgZGF0YSBwcmVwcm9jZXNzaW5nIGFuZCBkYXRhIGF1Z21lbnRhdGlvbiBmb3IgZGVlcCBsZWFybmluZyBtb2RlbHMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20va2VyYXMtdGVhbS9rZXJhcy1wcmVwcm9jZXNzaW5nIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTE3NDRiMzIwNTAwY2MyZTMxMTI5NjRkMDBjY2U3YWE0IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20va2VyYXMtdGVhbS9rZXJhcy1wcmVwcm9jZXNzaW5nLmdpdCIKK1NSQ1JFViA/PSAiMzYyZmU5ZjhkYWY1NTYxNTEzMjhlYjVkMDJiZDVhZTYzOGM2NTNiOCIKKworaW5oZXJpdCBzZXR1cHRvb2xzMworCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1seG1sXzQuMi40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1seG1sXzQuMy4xLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWx4bWxfNC4yLjQuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbHhtbF80LjMuMS5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1tYXJrZG93bl8zLjAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbWFya2Rvd25fMy4wLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZkMmYxOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbWFya2Rvd25fMy4wLjEuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJBIFB5dGhvbiBpbXBsZW1lbnRhdGlvbiBvZiBKb2huIEdydWJlcidzIE1hcmtkb3duLiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5tZDttZDU9NzQ1YWFhZDBjNjljNjAwMzllNjM4YmZmOWZmYzU5ZWQiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMworCitQWVBJX1BBQ0tBR0UgPSAiTWFya2Rvd24iCitQWVBJX1NSQ19VUkkgPSAiaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzNjLzUyLzdiYWU5ZTk5YTdhNGJlNmFmNGE3MTNmZTliNjkyNzc3ZTY0NjhkMjg5OTFjNTRjMjczZGZiNmVjOWZiMi9NYXJrZG93bi0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNzIyMTlmNDZjYTQ0MGI2NTdiZjIyNzUwMDczMWJkZjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDAyZTBmOWIwNGM1MDBjZGU2NjM3YzExYWQ3YzcyNjcxZjM1OWI4N2I5ZmU5MjRiMjM4MzY0OWQ4ODQxZGI3YyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLW1zZ3BhY2tfMC41LjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLW1zZ3BhY2tfMC42LjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbXNncGFja18wLjUuNi5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1tc2dwYWNrXzAuNi4wLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLW9iZF8wLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtb2JkXzAuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3OGUzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLW9iZF8wLjcuMC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLW9iZC5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGFoby1tcXR0XzEuMy4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYWhvLW1xdHRfMS40LjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGFoby1tcXR0XzEuMy4xLmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBhaG8tbXF0dF8xLjQuMC5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waWxsb3cvMDAwMS1leHBsaWNpdGx5LXNldC1jb21waWxlLW9wdGlvbnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBpbGxvdy8wMDAxLWV4cGxpY2l0bHktc2V0LWNvbXBpbGUtb3B0aW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTg5YmEwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waWxsb3cvMDAwMS1leHBsaWNpdGx5LXNldC1jb21waWxlLW9wdGlvbnMucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSA1Mjg3OTQzOWYyOTc2NjYyMTQwYjc2OTUxZjQzZjE2ZTFkNWVmMDhlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAxOCBNYXIgMjAxOSAyMzoyMzo1NSAtMDQwMAorU3ViamVjdDogW1BBVENIXSBleHBsaWNpdGx5IHNldCBjb21waWxlIG9wdGlvbnMKKworT0UgZG9lcyBub3Qgc3VwcG9ydCB0byBpbnN0YWxsIGVnZyBwYWNrYWdlLCBzbworZXhwbGljaXRseSBzZXQgYnVpbGRfZXh0IG9wdGlvbnMgZm9yIG9lLWNvcmUncworYHNldHVwLnB5IGluc3RhbGwnCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNldHVwLmNmZyB8IDEyICsrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zZXR1cC5jZmcgYi9zZXR1cC5jZmcKK2luZGV4IDk1OTAwZmYuLjI3ZGEzMTMgMTAwNjQ0CistLS0gYS9zZXR1cC5jZmcKKysrKyBiL3NldHVwLmNmZworQEAgLTksMyArOSwxNSBAQCBhZGRvcHRzID0gLXZ4IFRlc3RzCisgCisgW2ZsYWtlOF0KKyBtYXgtbGluZS1sZW5ndGggPSA4OAorKworK1tidWlsZF9leHRdCisrZGlzYWJsZS1wbGF0Zm9ybS1ndWVzc2luZyA9IDEKKytlbmFibGUtemxpYiA9IDEKKytlbmFibGUtanBlZyA9IDEKKytlbmFibGUtdGlmZiA9IDEKKytlbmFibGUtZnJlZXR5cGUgPSAxCisrZW5hYmxlLWxjbXMgPSAxCisrZW5hYmxlLWpwZWcyMDAwID0gMQorK2Rpc2FibGUtd2VicCA9IDEKKytkaXNhYmxlLXdlYnBtdXggPSAxCisrZGlzYWJsZS1pbWFnZXF1YW50ID0gMQorLS0gCisyLjguMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBpbGxvdy8wMDAxLXN1cHBvcnQtY3Jvc3MtY29tcGlsaW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waWxsb3cvMDAwMS1zdXBwb3J0LWNyb3NzLWNvbXBpbGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODYyOTM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waWxsb3cvMDAwMS1zdXBwb3J0LWNyb3NzLWNvbXBpbGluZy5wYXRjaApAQCAtMCwwICsxLDYxIEBACitGcm9tIGE3ODQxMTQwMmM4MjQ2NjgyODNiZWI5NGRiNGJmN2UyMDZhNGNmNjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDE0IE1hciAyMDE5IDAzOjQ4OjEwIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIHN1cHBvcnQgY3Jvc3MgY29tcGlsaW5nCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNldHVwLnB5IHwgMTMgKysrLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggNzlmOTEyYi4uMzdlNTgyNyAxMDA3NTUKKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTUwLDcgKzUwLDcgQEAgX0xJQl9JTUFHSU5HID0gKAorICAgICAiWmlwRW5jb2RlIiwgIlRpZmZEZWNvZGUiLCAiSnBlZzJLRGVjb2RlIiwgIkpwZWcyS0VuY29kZSIsICJCb3hCbHVyIiwKKyAgICAgIlF1YW50UG5nUXVhbnQiLCAiY29kZWNfZmQiKQorIAorLURFQlVHID0gRmFsc2UKKytERUJVRyA9IFRydWUKKyAKKyAKKyBjbGFzcyBEZXBlbmRlbmN5RXhjZXB0aW9uKEV4Y2VwdGlvbik6CitAQCAtMzQ1LDIxICszNDUsMTYgQEAgY2xhc3MgcGlsX2J1aWxkX2V4dChidWlsZF9leHQpOgorICAgICAgICAgICAgICAgICAgICAgX2FkZF9kaXJlY3RvcnkobGlicmFyeV9kaXJzLCBtYXRjaC5ncm91cCgxKSkKKyAKKyAgICAgICAgICMgaW5jbHVkZSwgcnBhdGgsIGlmIHNldCBhcyBlbnZpcm9ubWVudCB2YXJpYWJsZXM6CistICAgICAgICBmb3IgayBpbiAoJ0NfSU5DTFVERV9QQVRIJywgJ0NQQVRIJywgJ0lOQ0xVREUnKToKKysgICAgICAgIGZvciBrIGluICgnQ19JTkNMVURFX1BBVEgnLCAnQ1BBVEgnLCAnSU5DTFVERScsICdTVEFHSU5HX0lOQ0RJUicpOgorICAgICAgICAgICAgIGlmIGsgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgICAgICAgZm9yIGQgaW4gb3MuZW52aXJvbltrXS5zcGxpdChvcy5wYXRoLnBhdGhzZXApOgorICAgICAgICAgICAgICAgICAgICAgX2FkZF9kaXJlY3RvcnkoaW5jbHVkZV9kaXJzLCBkKQorIAorLSAgICAgICAgZm9yIGsgaW4gKCdMRF9SVU5fUEFUSCcsICdMSUJSQVJZX1BBVEgnLCAnTElCJyk6CisrICAgICAgICBmb3IgayBpbiAoJ0xEX1JVTl9QQVRIJywgJ0xJQlJBUllfUEFUSCcsICdMSUInLCAnU1RBR0lOR19MSUJESVInKToKKyAgICAgICAgICAgICBpZiBrIGluIG9zLmVudmlyb246CisgICAgICAgICAgICAgICAgIGZvciBkIGluIG9zLmVudmlyb25ba10uc3BsaXQob3MucGF0aC5wYXRoc2VwKToKKyAgICAgICAgICAgICAgICAgICAgIF9hZGRfZGlyZWN0b3J5KGxpYnJhcnlfZGlycywgZCkKKyAKKy0gICAgICAgIHByZWZpeCA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigicHJlZml4IikKKy0gICAgICAgIGlmIHByZWZpeDoKKy0gICAgICAgICAgICBfYWRkX2RpcmVjdG9yeShsaWJyYXJ5X2RpcnMsIG9zLnBhdGguam9pbihwcmVmaXgsICJsaWIiKSkKKy0gICAgICAgICAgICBfYWRkX2RpcmVjdG9yeShpbmNsdWRlX2RpcnMsIG9zLnBhdGguam9pbihwcmVmaXgsICJpbmNsdWRlIikpCistCisgICAgICAgICAjCisgICAgICAgICAjIGFkZCBwbGF0Zm9ybSBkaXJlY3RvcmllcworIAorQEAgLTQxMyw4ICs0MDgsNiBAQCBjbGFzcyBwaWxfYnVpbGRfZXh0KGJ1aWxkX2V4dCk6CisgICAgICAgICBlbGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCJsaW51eCIpIG9yIFwKKyAgICAgICAgICAgICAgICAgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoImdudSIpIG9yIFwKKyAgICAgICAgICAgICAgICAgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoImZyZWVic2QiKToKKy0gICAgICAgICAgICBmb3IgZGlybmFtZSBpbiBfZmluZF9saWJyYXJ5X2RpcnNfbGRjb25maWcoKToKKy0gICAgICAgICAgICAgICAgX2FkZF9kaXJlY3RvcnkobGlicmFyeV9kaXJzLCBkaXJuYW1lKQorICAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCJsaW51eCIpIGFuZCBcCisgICAgICAgICAgICAgICAgICAgICBvcy5lbnZpcm9uLmdldCgnQU5EUk9JRF9ST09UJywgTm9uZSk6CisgICAgICAgICAgICAgICAgICMgdGVybXV4IHN1cHBvcnQgZm9yIGFuZHJvaWQuCistLSAKKzIuOC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGlsbG93XzUuNC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waWxsb3dfNS40LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ2YzE4NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGlsbG93XzUuNC4xLmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiUHl0aG9uIEltYWdpbmcgTGlicmFyeSAoRm9yaykuIFBpbGxvdyBpcyB0aGUgZnJpZW5kbHkgUElMIGZvcmsgYnkgQWxleCBcCitDbGFyayBhbmQgQ29udHJpYnV0b3JzLiBQSUwgaXMgdGhlIFB5dGhvbiBJbWFnaW5nIExpYnJhcnkgYnkgRnJlZHJpayBMdW5kaCBhbmQgXAorQ29udHJpYnV0b3JzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vcGlsbG93LnJlYWR0aGVkb2NzLmlvIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jNjM3OTAwMWVjYjQ3ZTJhMDQyMGM0MDE3N2ZjMTEyNSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3B5dGhvbi1waWxsb3cvUGlsbG93LmdpdDticmFuY2g9NS40LnggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1zdXBwb3J0LWNyb3NzLWNvbXBpbGluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWV4cGxpY2l0bHktc2V0LWNvbXBpbGUtb3B0aW9ucy5wYXRjaCBcCisiCitTUkNSRVYgPz0gImYzOGYwMWJiZTNhMGE5ZjQ5Y2U1OTJjODZmZjIwYzAxYzk2NTUxMzMiCisKKworaW5oZXJpdCBzZXR1cHRvb2xzMworCitERVBFTkRTICs9ICIgXAorICAgIHpsaWIgXAorICAgIGpwZWcgXAorICAgIHRpZmYgXAorICAgIGZyZWV0eXBlIFwKKyAgICBsY21zIFwKKyAgICBvcGVuanBlZyBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wa2djb25maWdfMS40LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBrZ2NvbmZpZ18xLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmViOGJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wa2djb25maWdfMS40LjAuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJQeXRob24gbW9kdWxlIHRvIGludGVyZmFjZSB3aXRoIHRoZSBwa2ctY29uZmlnIGNvbW1hbmQgbGluZSB0b28iCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0aHViLmNvbS9tYXR6ZS9wa2djb25maWciCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZmFhN2Y4MmJlOGYyMjBiZmY2MTU2YmU0NzkwMzQ0ZmMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9tYXR6ZS9wa2djb25maWcuZ2l0IgorU1JDUkVWID89ICI4YWYwMTAyMzQ2ODQ3ZTg4NzNhZjhlNzZhYjNmMzRiYTlkYTgwNmUyIgorCitSREVQRU5EU18ke1BOfSA9ICJwa2djb25maWcgXAorICAgICAgICAgICAgICAgICAiCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHJvdG9idWYvMDAwMS1BZGQtUHl0aG9uLTMuNy1jb21wYXRpYmlsaXR5LTQ4NjIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXByb3RvYnVmLzAwMDEtQWRkLVB5dGhvbi0zLjctY29tcGF0aWJpbGl0eS00ODYyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhNWU3M2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXByb3RvYnVmLzAwMDEtQWRkLVB5dGhvbi0zLjctY29tcGF0aWJpbGl0eS00ODYyLnBhdGNoCkBAIC0wLDAgKzEsOTggQEAKK0Zyb20gNTM5YmMwMTdhNjJmOTFiZGY3YzU0N2I1ODk0OGNiNWEyZjU5ZDkxOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEJlbiBXZWJiIDxiZW5Ac2FsaWxhYi5vcmc+CitEYXRlOiBUaHUsIDEyIEp1bCAyMDE4IDEwOjU4OjEwIC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBQeXRob24gMy43IGNvbXBhdGliaWxpdHkgKCM0ODYyKQorCitDb21waWxhdGlvbiBvZiBQeXRob24gd3JhcHBlcnMgZmFpbHMgd2l0aCBQeXRob24gMy43IGJlY2F1c2UKK3RoZSBQeXRob24gZm9sa3MgY2hhbmdlZCB0aGVpciBDIEFQSSBzdWNoIHRoYXQKK1B5VW5pY29kZV9Bc1VURjhBbmRTaXplKCkgbm93IHJldHVybnMgYSBjb25zdCBjaGFyKiByYXRoZXIKK3RoYW4gYSBjaGFyKi4gQWRkIGEgcGF0Y2ggdG8gd29yayBhcm91bmQuIFJlbGF0ZXMgIzQwODYuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9wcm90b2NvbGJ1ZmZlcnMvcHJvdG9idWYuZ2l0XQorU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCistLS0KKyBnb29nbGUvcHJvdG9idWYvcHlleHQvZGVzY3JpcHRvci5jYyAgICAgICAgICAgIHwgMiArLQorIGdvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yX2NvbnRhaW5lcnMuY2MgfCAyICstCisgZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L2Rlc2NyaXB0b3JfcG9vbC5jYyAgICAgICB8IDIgKy0KKyBnb29nbGUvcHJvdG9idWYvcHlleHQvZXh0ZW5zaW9uX2RpY3QuY2MgICAgICAgIHwgMiArLQorIGdvb2dsZS9wcm90b2J1Zi9weWV4dC9tZXNzYWdlLmNjICAgICAgICAgICAgICAgfCA0ICsrLS0KKyA1IGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yLmNjIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L2Rlc2NyaXB0b3IuY2MKK2luZGV4IDhhZjBjYjEuLjE5YTFjMzggMTAwNjQ0CistLS0gYS9nb29nbGUvcHJvdG9idWYvcHlleHQvZGVzY3JpcHRvci5jYworKysrIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L2Rlc2NyaXB0b3IuY2MKK0BAIC01Niw3ICs1Niw3IEBACisgICAjZW5kaWYKKyAgICNkZWZpbmUgUHlTdHJpbmdfQXNTdHJpbmdBbmRTaXplKG9iLCBjaGFycHAsIHNpemVwKSBcCisgICAgIChQeVVuaWNvZGVfQ2hlY2sob2IpPyBcCistICAgICAgICgoKihjaGFycHApID0gUHlVbmljb2RlX0FzVVRGOEFuZFNpemUob2IsIChzaXplcCkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKysgICAgICAgKCgqKGNoYXJwcCkgPSBjb25zdF9jYXN0PGNoYXIqPihQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShvYiwgKHNpemVwKSkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKyAgICAgICAgUHlCeXRlc19Bc1N0cmluZ0FuZFNpemUob2IsIChjaGFycHApLCAoc2l6ZXApKSkKKyAjZW5kaWYKKyAKK2RpZmYgLS1naXQgYS9nb29nbGUvcHJvdG9idWYvcHlleHQvZGVzY3JpcHRvcl9jb250YWluZXJzLmNjIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L2Rlc2NyaXB0b3JfY29udGFpbmVycy5jYworaW5kZXggYmMwMDdmNy4uMDE1MzY2NCAxMDA2NDQKKy0tLSBhL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yX2NvbnRhaW5lcnMuY2MKKysrKyBiL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yX2NvbnRhaW5lcnMuY2MKK0BAIC02Niw3ICs2Niw3IEBACisgICAjZW5kaWYKKyAgICNkZWZpbmUgUHlTdHJpbmdfQXNTdHJpbmdBbmRTaXplKG9iLCBjaGFycHAsIHNpemVwKSBcCisgICAgIChQeVVuaWNvZGVfQ2hlY2sob2IpPyBcCistICAgICAgICgoKihjaGFycHApID0gUHlVbmljb2RlX0FzVVRGOEFuZFNpemUob2IsIChzaXplcCkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKysgICAgICAgKCgqKGNoYXJwcCkgPSBjb25zdF9jYXN0PGNoYXIqPihQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShvYiwgKHNpemVwKSkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKyAgICAgICAgUHlCeXRlc19Bc1N0cmluZ0FuZFNpemUob2IsIChjaGFycHApLCAoc2l6ZXApKSkKKyAjZW5kaWYKKyAKK2RpZmYgLS1naXQgYS9nb29nbGUvcHJvdG9idWYvcHlleHQvZGVzY3JpcHRvcl9wb29sLmNjIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L2Rlc2NyaXB0b3JfcG9vbC5jYworaW5kZXggOTU4ODJhZS4uOTYyYWNjYyAxMDA2NDQKKy0tLSBhL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yX3Bvb2wuY2MKKysrKyBiL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yX3Bvb2wuY2MKK0BAIC00OCw3ICs0OCw3IEBACisgICAjZW5kaWYKKyAgICNkZWZpbmUgUHlTdHJpbmdfQXNTdHJpbmdBbmRTaXplKG9iLCBjaGFycHAsIHNpemVwKSBcCisgICAgIChQeVVuaWNvZGVfQ2hlY2sob2IpPyBcCistICAgICAgICgoKihjaGFycHApID0gUHlVbmljb2RlX0FzVVRGOEFuZFNpemUob2IsIChzaXplcCkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKysgICAgICAgKCgqKGNoYXJwcCkgPSBjb25zdF9jYXN0PGNoYXIqPihQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShvYiwgKHNpemVwKSkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKyAgICAgICAgUHlCeXRlc19Bc1N0cmluZ0FuZFNpemUob2IsIChjaGFycHApLCAoc2l6ZXApKSkKKyAjZW5kaWYKKyAKK2RpZmYgLS1naXQgYS9nb29nbGUvcHJvdG9idWYvcHlleHQvZXh0ZW5zaW9uX2RpY3QuY2MgYi9nb29nbGUvcHJvdG9idWYvcHlleHQvZXh0ZW5zaW9uX2RpY3QuY2MKK2luZGV4IDAxOGI1YzIuLjE3NGM1NDcgMTAwNjQ0CistLS0gYS9nb29nbGUvcHJvdG9idWYvcHlleHQvZXh0ZW5zaW9uX2RpY3QuY2MKKysrKyBiL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9leHRlbnNpb25fZGljdC5jYworQEAgLTUzLDcgKzUzLDcgQEAKKyAgICNlbmRpZgorICAgI2RlZmluZSBQeVN0cmluZ19Bc1N0cmluZ0FuZFNpemUob2IsIGNoYXJwcCwgc2l6ZXApIFwKKyAgICAgKFB5VW5pY29kZV9DaGVjayhvYik/IFwKKy0gICAgICAgKCgqKGNoYXJwcCkgPSBQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShvYiwgKHNpemVwKSkpID09IE5VTEw/IC0xOiAwKTogXAorKyAgICAgICAoKCooY2hhcnBwKSA9IGNvbnN0X2Nhc3Q8Y2hhcio+KFB5VW5pY29kZV9Bc1VURjhBbmRTaXplKG9iLCAoc2l6ZXApKSkpID09IE5VTEw/IC0xOiAwKTogXAorICAgICAgICBQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZShvYiwgKGNoYXJwcCksIChzaXplcCkpKQorICNlbmRpZgorIAorZGlmZiAtLWdpdCBhL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9tZXNzYWdlLmNjIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L21lc3NhZ2UuY2MKK2luZGV4IDU4OTM1MzMuLjMxMDk0YjcgMTAwNjQ0CistLS0gYS9nb29nbGUvcHJvdG9idWYvcHlleHQvbWVzc2FnZS5jYworKysrIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L21lc3NhZ2UuY2MKK0BAIC03OSw3ICs3OSw3IEBACisgICAgIChQeVVuaWNvZGVfQ2hlY2sob2IpPyBQeVVuaWNvZGVfQXNVVEY4KG9iKTogUHlCeXRlc19Bc1N0cmluZyhvYikpCisgICAjZGVmaW5lIFB5U3RyaW5nX0FzU3RyaW5nQW5kU2l6ZShvYiwgY2hhcnBwLCBzaXplcCkgXAorICAgICAoUHlVbmljb2RlX0NoZWNrKG9iKT8gXAorLSAgICAgICAoKCooY2hhcnBwKSA9IFB5VW5pY29kZV9Bc1VURjhBbmRTaXplKG9iLCAoc2l6ZXApKSkgPT0gTlVMTD8gLTE6IDApOiBcCisrICAgICAgICgoKihjaGFycHApID0gY29uc3RfY2FzdDxjaGFyKj4oUHlVbmljb2RlX0FzVVRGOEFuZFNpemUob2IsIChzaXplcCkpKSkgPT0gTlVMTD8gLTE6IDApOiBcCisgICAgICAgIFB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplKG9iLCAoY2hhcnBwKSwgKHNpemVwKSkpCisgICAjZW5kaWYKKyAjZW5kaWYKK0BAIC0xNTI5LDcgKzE1MjksNyBAQCBQeU9iamVjdCogSGFzRmllbGQoQ01lc3NhZ2UqIHNlbGYsIFB5T2JqZWN0KiBhcmcpIHsKKyAgICAgcmV0dXJuIE5VTEw7CisgICB9CisgI2Vsc2UKKy0gIGZpZWxkX25hbWUgPSBQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShhcmcsICZzaXplKTsKKysgIGZpZWxkX25hbWUgPSBjb25zdF9jYXN0PGNoYXIqPihQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShhcmcsICZzaXplKSk7CisgICBpZiAoIWZpZWxkX25hbWUpIHsKKyAgICAgcmV0dXJuIE5VTEw7CisgICB9CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHJvdG9idWZfMy42LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXByb3RvYnVmXzMuNi4xLmJiCmluZGV4IDc4MWQxZGMuLjliMDY2OGEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHJvdG9idWZfMy42LjEuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wcm90b2J1Zl8zLjYuMS5iYgpAQCAtMSwyICsxLDExIEBACiBpbmhlcml0IHNldHVwdG9vbHMzCiByZXF1aXJlIHB5dGhvbi1wcm90b2J1Zi5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtQWRkLVB5dGhvbi0zLjctY29tcGF0aWJpbGl0eS00ODYyLnBhdGNoIgorREVQRU5EUyArPSAicHJvdG9idWYiCitESVNUVVRJTFNfQlVJTERfQVJHUyArPSAiLS1jcHBfaW1wbGVtZW50YXRpb24iCitESVNUVVRJTFNfSU5TVEFMTF9BUkdTICs9ICItLWNwcF9pbXBsZW1lbnRhdGlvbiIKKworZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgZXhwb3J0IEtPS09ST19CVUlMRF9OVU1CRVI9IjEiCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXB5Y3BhcnNlcl8yLjE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWNwYXJzZXJfMi4xOS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWNwYXJzZXJfMi4xOC5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWNwYXJzZXJfMi4xOS5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWx5cmljc18xLjEuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHlseXJpY3NfMS4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA3NzUxYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHlseXJpY3NfMS4xLjAuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJQeXRob25pYyBJbXBsZW1lbnRhdGlvbiBvZiBseXJpY3Mud2lraWEuY29tIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NldHVwLnB5O2JlZ2lubGluZT0xNDtlbmRsaW5lPTE0O21kNT05NWQ0ODBjZDZmODQ3MWFiYWVhZTIxYmQwZWQyNzdiYSIKKworU1JDX1VSSVttZDVzdW1dID0gIjFmM2M5OTdlZGViYTE0OWE4ZmIyYjg2MWNiYWQ4OWMzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM1ZjM2ZThlZjBlZDNiNDg3YTkyNDJjZTM0YzE5Zjk2ODRlNDE4YTViYmZmZDVkMzY3ZGMxZDE2MDRiNGNkMGIiCisKK1BZUElfUEFDS0FHRSA9ICJQeUx5cmljcyIKK1BZUElfUEFDS0FHRV9FWFQgPSAiemlwIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJkZmxpYl80LjIuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcmRmbGliXzQuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MTFkZjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJkZmxpYl80LjIuMi5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXJkZmxpYi5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcmVxdWVzdHMtb2F1dGhsaWJfMC44LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlcXVlc3RzLW9hdXRobGliXzAuOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyOTQ2NjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlcXVlc3RzLW9hdXRobGliXzAuOC4wLmJiCkBAIC0wLDAgKzEsMyBAQAorcmVxdWlyZSBweXRob24tcmVxdWVzdHMtb2F1dGhsaWIuaW5jCitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1yZXF1ZXN0c18yLjE5LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlcXVlc3RzXzIuMjAuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1yZXF1ZXN0c18yLjE5LjEuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcmVxdWVzdHNfMi4yMC4xLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNsaXAtZGJ1c18wLjYuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc2xpcC1kYnVzXzAuNi41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0MDJhN2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNsaXAtZGJ1c18wLjYuNS5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXNsaXAtZGJ1cy5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc3lzdGVtZF8yMzQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXN5c3RlbWRfMjM0LmJiCmluZGV4IDU4MGQ5OTMuLjc4ZWM0MzEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc3lzdGVtZF8yMzQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1zeXN0ZW1kXzIzNC5iYgpAQCAtMSwyICsxLDMgQEAKIHJlcXVpcmUgcHl0aG9uLXN5c3RlbWQuaW5jCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uMy1zeXNsb2ciCiBpbmhlcml0IHNldHVwdG9vbHMzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXRlcm1jb2xvcl8xLjEuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdGVybWNvbG9yXzEuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ZGY3ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXRlcm1jb2xvcl8xLjEuMC5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIkFOU0lJIENvbG9yIGZvcm1hdHRpbmcgZm9yIG91dHB1dCBpbiB0ZXJtaW5hbCIKK0hPTUVQQUdFID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvdGVybWNvbG9yIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcudHh0O21kNT04MDllODc0OWI2MzU2Nzk3OGFjZmJkODFkOWY2YTI3ZCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNDNlODk2NDRmODkwOWQ0NjJmYmJmYTUxMWM3NjhkZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxZDZkNjljZTY2MjExMTQzODAzZmJjNTY2NTJiNDFkNzNiNGE0MDBhMjg5MWQ3YmY3YTFjZGY0YzAyZGU2MTNiIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdHFkbV80LjMxLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXRxZG1fNC4zMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0ODMzN2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXRxZG1fNC4zMS4xLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tdHFkbS5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdHdpc3RlZF8xOC40LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXR3aXN0ZWRfMTguNC4wLmJiCmluZGV4IDZiZDhjNTIuLmRmYjlkNGEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdHdpc3RlZF8xOC40LjAuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy10d2lzdGVkXzE4LjQuMC5iYgpAQCAtMSw4ICsxLDYgQEAKIGluaGVyaXQgcHlwaSBzZXR1cHRvb2xzMwogcmVxdWlyZSBweXRob24tdHdpc3RlZC5pbmMKIAotUEFDS0FHRVNfcmVtb3ZlID0gIiR7UE59LXNyYyIKLQogRklMRVNfJHtQTn0tY29yZV9hcHBlbmQgKz0gIiBcCiAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9fX3B5Y2FjaGVfXyBcCiAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vX19weWNhY2hlX18vKnB5YyBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXR3aXR0ZXJfMy43LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXR3aXR0ZXJfMy43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzJlNGQyZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdHdpdHRlcl8zLjcuMC5iYgpAQCAtMCwwICsxLDMgQEAKK3JlcXVpcmUgcHl0aG9uLXR3aXR0ZXIuaW5jCitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy10emxvY2FsXzEuNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy10emxvY2FsXzEuNS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMzkzNGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXR6bG9jYWxfMS41LjEuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXR6bG9jYWwuaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXZjdmVyc2lvbmVyXzIuMTYuMC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy12Y3ZlcnNpb25lcl8yLjE2LjAuMC5iYgppbmRleCBmNjM3MmM4Li4xNDkwNzhjIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXZjdmVyc2lvbmVyXzIuMTYuMC4wLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdmN2ZXJzaW9uZXJfMi4xNi4wLjAuYmIKQEAgLTksMTIgKzksNCBAQAogCiBpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKIAotZG9fY29tcGlsZV9hcHBlbmQoKSB7Ci0gICAgJHtQWVRIT059IHNldHVwLnB5IC1xIGJkaXN0X2VnZyAtLWRpc3QtZGlyIC4vCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3ZjdmVyc2lvbmVyKi5lZ2cgJHtEfS8ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8KLX0KLQogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXdoZWVsXzAuMzIuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtd2hlZWxfMC4zMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4YzA4YTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXdoZWVsXzAuMzIuMy5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlRoZSBvZmZpY2lhbCBiaW5hcnkgZGlzdHJpYnV0aW9uIGZvcm1hdCBmb3IgUHl0aG9uICIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9weXBhL3doZWVsIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT05ZDY2YjQxYmMyYTA4MGU3MTc0YWNjNWRmZmVjZDc1MiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3B5cGEvd2hlZWwuZ2l0IgorU1JDUkVWID89ICIxMTU4NGI3OGE1NmI0ZWVkYmE0ZWVkYzU1YzlkYWM4YWEyZGQ3MDcwIgorCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDAxLWNvbW1lbnQtb3V0LXNlbGludXgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwMS1jb21tZW50LW91dC1zZWxpbnV4LnBhdGNoCmluZGV4IGM3N2I4NmEuLjkwZmEzODcgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDAxLWNvbW1lbnQtb3V0LXNlbGludXgucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDEtY29tbWVudC1vdXQtc2VsaW51eC5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gNjQ4YTE4YmZjNDQ3ZjA3NmQ0OGFlNDE0N2Q5ODRiOGVmNTZlMzdhYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZmM4ZTkzNTMwYmEwMTdlY2ZlMTExZTUzZDNjYmRjM2E1YjNhYzI4NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMzAgSnVsIDIwMTggMTY6MTM6NDAgKzA4MDAKK0RhdGU6IEZyaSwgMjMgTm92IDIwMTggMTY6NTg6MzggKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCAwMS8xMV0gY29tbWVudCBvdXQgc2VsaW51eAogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lIHNwZWNpZmljXQpAQCAtMTIsNyArMTIsNyBAQAogIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvYmxpdmV0L2ZsYWdzLnB5IGIvYmxpdmV0L2ZsYWdzLnB5Ci1pbmRleCAxODQwMTIxLi44Nzg5MzkwIDEwMDY0NAoraW5kZXggNGUyNmQ4Mi4uOTQzMjRmZiAxMDA2NDQKIC0tLSBhL2JsaXZldC9mbGFncy5weQogKysrIGIvYmxpdmV0L2ZsYWdzLnB5CiBAQCAtMjAsNyArMjAsNyBAQApAQCAtMzUsNyArMzUsNyBAQAogICAgICAgICAgc2VsZi5kbXJhaWQgPSBUcnVlCiAgICAgICAgICBzZWxmLmliZnQgPSBUcnVlCiBkaWZmIC0tZ2l0IGEvYmxpdmV0L3V0aWwucHkgYi9ibGl2ZXQvdXRpbC5weQotaW5kZXggNzMzNGZmNi4uMGYyYTk5NSAxMDA2NDQKK2luZGV4IDlkYWYxNTEuLjRlYWM4YjkgMTAwNjQ0CiAtLS0gYS9ibGl2ZXQvdXRpbC5weQogKysrIGIvYmxpdmV0L3V0aWwucHkKIEBAIC0zLDcgKzMsNyBAQCBpbXBvcnQgZnVuY3Rvb2xzCkBAIC00Nyw3ICs0Nyw3IEBACiAgaW1wb3J0IHN1YnByb2Nlc3MKICBpbXBvcnQgcmUKICBpbXBvcnQgc3lzCi1AQCAtNDMwLDYgKzQzMCw4IEBAIGRlZiBnZXRfY293X3N5c2ZzX3BhdGgoZGV2X3BhdGgsIGRldl9zeXNmc1BhdGgpOgorQEAgLTQ0NCw2ICs0NDQsOCBAQCBkZWYgZ2V0X2Nvd19zeXNmc19wYXRoKGRldl9wYXRoLCBkZXZfc3lzZnNQYXRoKToKICBkZWYgbWF0Y2hfcGF0aF9jb250ZXh0KHBhdGgpOgogICAgICAiIiIgUmV0dXJuIHRoZSBkZWZhdWx0IFNFTGludXggY29udGV4dCBmb3IgdGhlIGdpdmVuIHBhdGguICIiIgogICAgICBjb250ZXh0ID0gTm9uZQpAQCAtNTYsNyArNTYsNyBAQAogICAgICB0cnk6CiAgICAgICAgICBjb250ZXh0ID0gc2VsaW51eC5tYXRjaHBhdGhjb24ob3MucGF0aC5ub3JtcGF0aChwYXRoKSwgMClbMV0KICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLUBAIC00NTQsNiArNDU2LDggQEAgZGVmIHNldF9maWxlX2NvbnRleHQocGF0aCwgY29udGV4dCwgcm9vdD1Ob25lKToKK0BAIC00NjgsNiArNDcwLDggQEAgZGVmIHNldF9maWxlX2NvbnRleHQocGF0aCwgY29udGV4dCwgcm9vdD1Ob25lKToKICAKICAgICAgICAgICAgICBUcnVlIGlmIHN1Y2Nlc3NmdWwsIEZhbHNlIGlmIG5vdC4KICAgICAgIiIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwMi1ydW5fcHJvZ3JhbS1zdXBwb3J0LXRpbWVvdXQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwMi1ydW5fcHJvZ3JhbS1zdXBwb3J0LXRpbWVvdXQucGF0Y2gKaW5kZXggZmVhMjI1NC4uNWIzODg1OSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDItcnVuX3Byb2dyYW0tc3VwcG9ydC10aW1lb3V0LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDAyLXJ1bl9wcm9ncmFtLXN1cHBvcnQtdGltZW91dC5wYXRjaApAQCAtMSwyMCArMSwyMCBAQAotRnJvbSA1OTY5NzllZDU4MTA5MTQxYTdmZWU2ODBhYjk1YjI3Mjk2YzAyMmIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA3MTNjZjgyMWViZTE3ZjllMTc3MTUwMmE4NWUwOTA1ZWEwNGRhZmFlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCA4IE1heSAyMDE3IDE0OjM5OjU2ICswODAwCitEYXRlOiBGcmksIDIzIE5vdiAyMDE4IDE3OjAzOjU4ICswODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDIvMTFdIHJ1bl9wcm9ncmFtIHN1cHBvcnQgdGltZW91dAogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogLS0tCi0gYmxpdmV0L3V0aWwucHkgfCA2OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQorIGJsaXZldC91dGlsLnB5IHwgNzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2JsaXZldC91dGlsLnB5IGIvYmxpdmV0L3V0aWwucHkKLWluZGV4IDBmMmE5OTUuLjA1YTI1M2MgMTAwNjQ0CitpbmRleCA0ZWFjOGI5Li40ZjA1MDc2IDEwMDY0NAogLS0tIGEvYmxpdmV0L3V0aWwucHkKICsrKyBiL2JsaXZldC91dGlsLnB5Ci1AQCAtMTU3LDYgKzE1NywzMCBAQCBjbGFzcyBQYXRoKHN0cik6CitAQCAtMTU4LDYgKzE1OCwzMCBAQCBjbGFzcyBQYXRoKHN0cik6CiAgICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKICAgICAgICAgIHJldHVybiBzZWxmLl9wYXRoLl9faGFzaF9fKCkKICAKQEAgLTQ1LDEyICs0NSwxMiBAQAogIAogIGRlZiBfcnVuX3Byb2dyYW0oYXJndiwgcm9vdD0nLycsIHN0ZGluPU5vbmUsIGVudl9wcnVuZT1Ob25lLCBzdGRlcnJfdG9fc3Rkb3V0PUZhbHNlLCBiaW5hcnlfb3V0cHV0PUZhbHNlKToKICAgICAgaWYgZW52X3BydW5lIGlzIE5vbmU6Ci1AQCAtMTc5LDM2ICsyMDMsMjIgQEAgZGVmIF9ydW5fcHJvZ3JhbShhcmd2LCByb290PScvJywgc3RkaW49Tm9uZSwgZW52X3BydW5lPU5vbmUsIHN0ZGVycl90b19zdGRvdXQ9RmEKK0BAIC0xODAsMzUgKzIwNCwyMyBAQCBkZWYgX3J1bl9wcm9ncmFtKGFyZ3YsIHJvb3Q9Jy8nLCBzdGRpbj1Ob25lLCBlbnZfcHJ1bmU9Tm9uZSwgc3RkZXJyX3RvX3N0ZG91dD1GYQogICAgICAgICAgICAgIHN0ZGVycl9kaXIgPSBzdWJwcm9jZXNzLlNURE9VVAogICAgICAgICAgZWxzZToKICAgICAgICAgICAgICBzdGRlcnJfZGlyID0gc3VicHJvY2Vzcy5QSVBFCiAtICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgcHJvYyA9IHN1YnByb2Nlc3MuUG9wZW4oYXJndiwKKy0gICAgICAgICAgICBwcm9jID0gc3VicHJvY2Vzcy5Qb3Blbihhcmd2LCAgIyBweWxpbnQ6IGRpc2FibGU9c3VicHJvY2Vzcy1wb3Blbi1wcmVleGVjLWZuCiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkaW49c3RkaW4sCiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3RkZXJyX2RpciwKQEAgLTc4LDcgKzc4LDcgQEAKIC0gICAgICAgIHByb2dyYW1fbG9nLmRlYnVnKCJSZXR1cm4gY29kZTogJWQiLCBwcm9jLnJldHVybmNvZGUpCiAtCiAtICAgIHJldHVybiAocHJvYy5yZXR1cm5jb2RlLCBvdXQpCi0gCisrCiArICAgICAgICByZXMsIG91dCA9IHRpbWVvdXRfY29tbWFuZChhcmd2LCAxMCwKICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGluPXN0ZGluLAogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKQEAgLTk0LDkgKzk0LDEwIEBACiArICAgICAgICAgICAgICAgIHByb2dyYW1fbG9nLmluZm8oIiVzIiwgbGluZSkKICsKICsgICAgcmV0dXJuIChyZXMsIG91dCkKKysKKyAKICAKICBkZWYgcnVuX3Byb2dyYW0oKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgcmV0dXJuIF9ydW5fcHJvZ3JhbSgqYXJncywgKiprd2FyZ3MpWzBdCiAtLSAKIDIuNy40CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDAzLXN1cHBvcnQtaW5maW5pdC10aW1lb3V0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDMtc3VwcG9ydC1pbmZpbml0LXRpbWVvdXQucGF0Y2gKaW5kZXggMzhmMDYxZS4uODYxYjJjZCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDMtc3VwcG9ydC1pbmZpbml0LXRpbWVvdXQucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDMtc3VwcG9ydC1pbmZpbml0LXRpbWVvdXQucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDMyNTg5OGYzZjI5NTFiYmRlMDdkYTQ3ODg4MTc1YzQyN2IxMWRkYzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDVkNTQzNmRmYTNiZGRlN2I0ZTg3Y2U1YTQwY2JjNzI0MTk5ODQ3ZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiBEYXRlOiBNb24sIDggTWF5IDIwMTcgMTY6MTg6MDIgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCAwMy8xMV0gc3VwcG9ydCBpbmZpbml0IHRpbWVvdXQKQEAgLTExLDEwICsxMSwxMCBAQAogIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9ibGl2ZXQvdXRpbC5weSBiL2JsaXZldC91dGlsLnB5Ci1pbmRleCAwNWEyNTNjLi5kNjgwNGJlIDEwMDY0NAoraW5kZXggNGYwNTA3Ni4uN2U4OTk0OSAxMDA2NDQKIC0tLSBhL2JsaXZldC91dGlsLnB5CiArKysgYi9ibGl2ZXQvdXRpbC5weQotQEAgLTE1Nyw2ICsxNTcsNyBAQCBjbGFzcyBQYXRoKHN0cik6CitAQCAtMTU4LDYgKzE1OCw3IEBAIGNsYXNzIFBhdGgoc3RyKToKICAgICAgZGVmIF9faGFzaF9fKHNlbGYpOgogICAgICAgICAgcmV0dXJuIHNlbGYuX3BhdGguX19oYXNoX18oKQogIApAQCAtMjIsNyArMjIsNyBAQAogIGRlZiB0aW1lb3V0X2NvbW1hbmQoYXJndiwgdGltZW91dCwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgIiIiY2FsbCBzaGVsbC1jb21tYW5kIGFuZCBlaXRoZXIgcmV0dXJuIGl0cyBvdXRwdXQgb3Iga2lsbCBpdAogICAgICBpZiBpdCBkb2Vzbid0IG5vcm1hbGx5IGV4aXQgd2l0aGluIHRpbWVvdXQgc2Vjb25kcyBhbmQgcmV0dXJuIE5vbmUiIiIKLUBAIC0xNjgsNyArMTY5LDcgQEAgZGVmIHRpbWVvdXRfY29tbWFuZChhcmd2LCB0aW1lb3V0LCAqYXJncywgKiprd2FyZ3MpOgorQEAgLTE2OSw3ICsxNzAsNyBAQCBkZWYgdGltZW91dF9jb21tYW5kKGFyZ3YsIHRpbWVvdXQsICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgICB3aGlsZSBwcm9jLnBvbGwoKSBpcyBOb25lOgogICAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgICAgICAgIG5vdyA9IGRhdGV0aW1lLmRhdGV0aW1lLm5vdygpCkBAIC0zMSw3ICszMSw3IEBACiAgICAgICAgICAgICAgICAgIG9zLmtpbGwocHJvYy5waWQsIHNpZ25hbC5TSUdLSUxMKQogICAgICAgICAgICAgICAgICBvcy53YWl0cGlkKC0xLCBvcy5XTk9IQU5HKQogICAgICAgICAgICAgICAgICBwcm9ncmFtX2xvZy5kZWJ1ZygiJWQgc2Vjb25kcyB0aW1lb3V0IiAlIHRpbWVvdXQpCi1AQCAtMTgyLDcgKzE4Myw3IEBAIGRlZiB0aW1lb3V0X2NvbW1hbmQoYXJndiwgdGltZW91dCwgKmFyZ3MsICoqa3dhcmdzKToKK0BAIC0xODMsNyArMTg0LDcgQEAgZGVmIHRpbWVvdXRfY29tbWFuZChhcmd2LCB0aW1lb3V0LCAqYXJncywgKiprd2FyZ3MpOgogICAgICBwcm9ncmFtX2xvZy5kZWJ1ZygiUmV0dXJuIGNvZGU6ICVkIiwgcHJvYy5yZXR1cm5jb2RlKQogICAgICByZXR1cm4gKHByb2MucmV0dXJuY29kZSwgcHJvYy5zdGRvdXQucmVhZCgpKQogIApAQCAtNDAsNyArNDAsNyBAQAogICAgICBpZiBlbnZfcHJ1bmUgaXMgTm9uZToKICAgICAgICAgIGVudl9wcnVuZSA9IFtdCiAgCi1AQCAtMTkxLDcgKzE5MiwxMCBAQCBkZWYgX3J1bl9wcm9ncmFtKGFyZ3YsIHJvb3Q9Jy8nLCBzdGRpbj1Ob25lLCBlbnZfcHJ1bmU9Tm9uZSwgc3RkZXJyX3RvX3N0ZG91dD1GYQorQEAgLTE5Miw3ICsxOTMsMTAgQEAgZGVmIF9ydW5fcHJvZ3JhbShhcmd2LCByb290PScvJywgc3RkaW49Tm9uZSwgZW52X3BydW5lPU5vbmUsIHN0ZGVycl90b19zdGRvdXQ9RmEKICAgICAgICAgICAgICBvcy5jaHJvb3Qocm9vdCkKICAKICAgICAgd2l0aCBwcm9ncmFtX2xvZ19sb2NrOiAgIyBweWxpbnQ6IGRpc2FibGU9bm90LWNvbnRleHQtbWFuYWdlcgpAQCAtNTIsNyArNTIsNyBAQAogIAogICAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKICAgICAgICAgIGVudi51cGRhdGUoeyJMQ19BTEwiOiAiQyIsCi1AQCAtMjA0LDcgKzIwOCw3IEBAIGRlZiBfcnVuX3Byb2dyYW0oYXJndiwgcm9vdD0nLycsIHN0ZGluPU5vbmUsIGVudl9wcnVuZT1Ob25lLCBzdGRlcnJfdG9fc3Rkb3V0PUZhCitAQCAtMjA1LDcgKzIwOSw3IEBAIGRlZiBfcnVuX3Byb2dyYW0oYXJndiwgcm9vdD0nLycsIHN0ZGluPU5vbmUsIGVudl9wcnVuZT1Ob25lLCBzdGRlcnJfdG9fc3Rkb3V0PUZhCiAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgIHN0ZGVycl9kaXIgPSBzdWJwcm9jZXNzLlBJUEUKICAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA0LWZpeC1uZXcucm9vdHMtb2JqZWN0LWlzLW5vdC1pdGVyYWJsZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA0LWZpeC1uZXcucm9vdHMtb2JqZWN0LWlzLW5vdC1pdGVyYWJsZS5wYXRjaAppbmRleCBiZTk5N2FjLi41MjZhM2IxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwNC1maXgtbmV3LnJvb3RzLW9iamVjdC1pcy1ub3QtaXRlcmFibGUucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDQtZml4LW5ldy5yb290cy1vYmplY3QtaXMtbm90LWl0ZXJhYmxlLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBjMzFkZjFjMGY1MzIzZGRjNzBlMGQxYzZkMTFkYjJmYmY3YTAyNGFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAzYmI4ZDA4YmRlYzJmNzliYjEzYzBhNDRiODE3MThkMjZlNWJkYWJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogTW9uLCA4IE1heSAyMDE3IDE2OjMwOjIwICswODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDQvMTFdIGZpeCBuZXcucm9vdHMgb2JqZWN0IGlzIG5vdCBpdGVyYWJsZQpAQCAtMTEsMTAgKzExLDEwIEBACiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9ibGl2ZXQvYmxpdmV0LnB5IGIvYmxpdmV0L2JsaXZldC5weQotaW5kZXggMzQwNTgxMC4uZjQyYjczYiAxMDA2NDQKK2luZGV4IGVhMDg4MzcuLjkxYzkyYjIgMTAwNjQ0CiAtLS0gYS9ibGl2ZXQvYmxpdmV0LnB5CiArKysgYi9ibGl2ZXQvYmxpdmV0LnB5Ci1AQCAtMTE5OCw3ICsxMTk4LDcgQEAgY2xhc3MgQmxpdmV0KG9iamVjdCk6CitAQCAtMTIwNiw3ICsxMjA2LDcgQEAgY2xhc3MgQmxpdmV0KG9iamVjdCk6CiAgICAgICAgICAgICAgcCA9IHBhcnRpdGlvbi5kaXNrLmZvcm1hdC5wYXJ0ZWRfZGlzay5nZXRQYXJ0aXRpb25CeVBhdGgocGFydGl0aW9uLnBhdGgpCiAgICAgICAgICAgICAgcGFydGl0aW9uLnBhcnRlZF9wYXJ0aXRpb24gPSBwCiAgCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwNS1maXgtaW5jb3JyZWN0LXRpbWVvdXQtd2hpbGUtc3lzdGVtLXRpbWUtY2hhbmdlZC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA1LWZpeC1pbmNvcnJlY3QtdGltZW91dC13aGlsZS1zeXN0ZW0tdGltZS1jaGFuZ2VkLnBhdGNoCmluZGV4IGVjYjk1MDMuLjljNWQ1M2IgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA1LWZpeC1pbmNvcnJlY3QtdGltZW91dC13aGlsZS1zeXN0ZW0tdGltZS1jaGFuZ2VkLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA1LWZpeC1pbmNvcnJlY3QtdGltZW91dC13aGlsZS1zeXN0ZW0tdGltZS1jaGFuZ2VkLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBiMzBhNzQ2NzFjYTYwM2U2YmZkNTE0ZjcyZDRmZDdmZDZmY2VlZjU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBmNzgzYjliMDBkYTVkZjE3NmZjZDc5MjdiNzUyZjU3NGNhNmRiMzE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogRnJpLCAyNiBBdWcgMjAxNiAwMjowMjo0OSAtMDQwMAogU3ViamVjdDogW1BBVENIIDA1LzExXSBmaXggaW5jb3JyZWN0IHRpbWVvdXQgd2hpbGUgc3lzdGVtIHRpbWUgY2hhbmdlZApAQCAtMjIsMTAgKzIyLDEwIEBACiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2JsaXZldC91dGlsLnB5IGIvYmxpdmV0L3V0aWwucHkKLWluZGV4IGQ2ODA0YmUuLmJjMDhhZjUgMTAwNjQ0CitpbmRleCA3ZTg5OTQ5Li41NTcxZTczIDEwMDY0NAogLS0tIGEvYmxpdmV0L3V0aWwucHkKICsrKyBiL2JsaXZldC91dGlsLnB5Ci1AQCAtMTYyLDE0ICsxNjIsMTQgQEAgZGVmIHRpbWVvdXRfY29tbWFuZChhcmd2LCB0aW1lb3V0LCAqYXJncywgKiprd2FyZ3MpOgorQEAgLTE2MywxNCArMTYzLDE0IEBAIGRlZiB0aW1lb3V0X2NvbW1hbmQoYXJndiwgdGltZW91dCwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgIiIiY2FsbCBzaGVsbC1jb21tYW5kIGFuZCBlaXRoZXIgcmV0dXJuIGl0cyBvdXRwdXQgb3Iga2lsbCBpdAogICAgICBpZiBpdCBkb2Vzbid0IG5vcm1hbGx5IGV4aXQgd2l0aGluIHRpbWVvdXQgc2Vjb25kcyBhbmQgcmV0dXJuIE5vbmUiIiIKICAgICAgaW1wb3J0IHN1YnByb2Nlc3MsIGRhdGV0aW1lLCBvcywgdGltZSwgc2lnbmFsCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwNi10d2Vhay1idHJmcy1wYWNrYWdlcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA2LXR3ZWFrLWJ0cmZzLXBhY2thZ2VzLnBhdGNoCmluZGV4IGRhNTY4YTQuLjJlNTNhNjQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA2LXR3ZWFrLWJ0cmZzLXBhY2thZ2VzLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA2LXR3ZWFrLWJ0cmZzLXBhY2thZ2VzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAwNjU5ZDhhODViY2RkNzZjMGIyM2I4YjVhZjY5NTg3ODNkMzVhYzY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA4OTMyYWU5MzNmMmI2YWNmNWU5OGM5OTU2YmVmZjY5YWU0MzBlZWQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogTW9uLCA4IE1heSAyMDE3IDE2OjMzOjE1ICswODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDYvMTFdIHR3ZWFrIGJ0cmZzIHBhY2thZ2VzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwNy1pbnZva2luZy1tb3VudC13aXRoLWluZmluaXRlLXRpbWVvdXQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwNy1pbnZva2luZy1tb3VudC13aXRoLWluZmluaXRlLXRpbWVvdXQucGF0Y2gKaW5kZXggZTMwMTIxOS4uYjI2MDZkNyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDctaW52b2tpbmctbW91bnQtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA3LWludm9raW5nLW1vdW50LXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gOWM3YTE1MzEyMjU5ODU0ZjEyMTM3YTMwMjI5ZTUyYzMwZmI3Yzc3MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZjUzNDgxZGM0YTU2YjhhOTk2NjI4NzMzNTUzZTA4MGJiMGFhZmRkNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMzEgQXVnIDIwMTYgMjE6MzA6MzIgLTA0MDAKK0RhdGU6IEZyaSwgMjMgTm92IDIwMTggMTc6MDc6MjIgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCAwNy8xMV0gaW52b2tpbmcgbW91bnQgd2l0aCBpbmZpbml0ZSB0aW1lb3V0CiAKIFRoaXMgbGFyZ2UgdGltZW91dCBpcyBuZWVkZWQgd2hlbiBydW5uaW5nIG9uIG1hY2hpbmVzIHdpdGgKQEAgLTE0LDE4ICsxNCwxOCBAQAogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvYmxpdmV0L3V0aWwucHkgYi9ibGl2ZXQvdXRpbC5weQotaW5kZXggYmMwOGFmNS4uYjY3Mjc4NyAxMDA2NDQKK2luZGV4IDU1NzFlNzMuLjAyYzgwMzMgMTAwNjQ0CiAtLS0gYS9ibGl2ZXQvdXRpbC5weQogKysrIGIvYmxpdmV0L3V0aWwucHkKLUBAIC0yNTYsNyArMjU2LDcgQEAgZGVmIG1vdW50KGRldmljZSwgbW91bnRwb2ludCwgZnN0eXBlLCBvcHRpb25zPU5vbmUpOgorQEAgLTI1OCw3ICsyNTgsNyBAQCBkZWYgbW91bnQoZGV2aWNlLCBtb3VudHBvaW50LCBmc3R5cGUsIG9wdGlvbnM9Tm9uZSk6CisgICAgICAgICBtYWtlZGlycyhtb3VudHBvaW50KQogIAogICAgICBhcmd2ID0gWyJtb3VudCIsICItdCIsIGZzdHlwZSwgIi1vIiwgb3B0aW9ucywgZGV2aWNlLCBtb3VudHBvaW50XQotICAgICB0cnk6Ci0tICAgICAgICByYyA9IHJ1bl9wcm9ncmFtKGFyZ3YpCi0rICAgICAgICByYyA9IHJ1bl9wcm9ncmFtKGFyZ3YsIHRpbWVvdXQ9LTEpCi0gICAgIGV4Y2VwdCBPU0Vycm9yOgotICAgICAgICAgcmFpc2UKKy0gICAgcmV0dXJuIHJ1bl9wcm9ncmFtKGFyZ3YpCisrICAgIHJldHVybiBydW5fcHJvZ3JhbShhcmd2LCB0aW1lb3V0PS0xKQogIAorIAorIGRlZiB1bW91bnQobW91bnRwb2ludCk6CiAtLSAKIDIuNy40CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA4LXVzZS1vZS12YXJpYWJsZS10by1yZXBsYWNlLWhhcmRjb2RlZC1kaXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwOC11c2Utb2UtdmFyaWFibGUtdG8tcmVwbGFjZS1oYXJkY29kZWQtZGlyLnBhdGNoCmluZGV4IGZlYjU2NDcuLmFkZTE4NjIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA4LXVzZS1vZS12YXJpYWJsZS10by1yZXBsYWNlLWhhcmRjb2RlZC1kaXIucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDgtdXNlLW9lLXZhcmlhYmxlLXRvLXJlcGxhY2UtaGFyZGNvZGVkLWRpci5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gN2Y1N2IyY2QxNDVkNjdjMjBiZWIwMmQ1NDk1YjUwMmY3YWYwMTJjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTJlMjU3OTMzMzI1OGQxYTY5MGY4NzE4ZTkxYjBmMjE3MDc4ZTg4NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIERhdGU6IE1vbiwgOCBNYXkgMjAxNyAwMzo1NDoxMiAtMDQwMAogU3ViamVjdDogW1BBVENIIDA4LzExXSB1c2Ugb2UgdmFyaWFibGUgdG8gcmVwbGFjZSBoYXJkY29kZWQgZGlyCkBAIC0xMSw3ICsxMSw3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKLWluZGV4IDdlZGFiMmMuLjliZTMxODcgMTAwNjQ0CitpbmRleCBiNzQ1YTc5Li5iNWI0MjU4IDEwMDY0NAogLS0tIGEvc2V0dXAucHkKICsrKyBiL3NldHVwLnB5CiBAQCAtNjEsMTAgKzYxLDEwIEBAIGNsYXNzIGJsaXZldF9zZGlzdChzZGlzdCk6CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwOS1pbnZva2luZy1mc2NrLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA5LWludm9raW5nLWZzY2std2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCmluZGV4IDMwZDJkM2UuLmY0Nzc4NzcgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA5LWludm9raW5nLWZzY2std2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA5LWludm9raW5nLWZzY2std2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBjNzU3NjY2ZjQyZjU0M2JhZWVkNWRmNjEyNjk3OThjMDg1NjY1ZDliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5NjI0YjZkMGRkYTQwYWFlY2JhZjk1MzBiZTgxOTk0MzU3NWEyZWM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVGh1LCAxIEp1biAyMDE3IDE2OjA1OjI3ICswODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDkvMTFdIGludm9raW5nIGZzY2sgd2l0aCBpbmZpbml0ZSB0aW1lb3V0CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAxMC1pbnZva2luZy1ta2ZzLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDEwLWludm9raW5nLW1rZnMtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCmluZGV4IGIyZjQ1MDEuLmYxMjg0OTAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDEwLWludm9raW5nLW1rZnMtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDEwLWludm9raW5nLW1rZnMtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0MmQ4ZTU3Yzc0ODk1MTA5ODUzNGJmN2Y1MmM0ZWJjNzkwZWY2NmU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAzMzg0NGY2NzczYTY3NmJkNTcyNDA5NTRlNDAyYWU5YTg0MzY2M2E0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogRnJpLCAxNiBKdW4gMjAxNyAxNTo0MzowMCArMDgwMAogU3ViamVjdDogW1BBVENIIDEwLzExXSBpbnZva2luZyBta2ZzIHdpdGggaW5maW5pdGUgdGltZW91dApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMTEtaW52b2tpbmctZGQtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMTEtaW52b2tpbmctZGQtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCmluZGV4IGYyNGNlMGEuLjEzYzI5MzMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDExLWludm9raW5nLWRkLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAxMS1pbnZva2luZy1kZC13aXRoLWluZmluaXRlLXRpbWVvdXQucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGE0NzUzYjNjYmJkNWFlZTU5ZGM1M2ViMTY1NjRjYWZkOTg2Mjc2M2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDIxY2EyYjg1OWE0OWU5NmEyMzBkNTVhNzg2NmRmYzdlZDVkMTM2NmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUdWUsIDYgTWFyIDIwMTggMTc6Mjg6NTYgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCAxMS8xMV0gaW52b2tpbmcgZGQgd2l0aCBpbmZpbml0ZSB0aW1lb3V0CkBAIC0xNCwxMCArMTQsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2JsaXZldC9kZXZpY2VzL3BhcnRpdGlvbi5weSBiL2JsaXZldC9kZXZpY2VzL3BhcnRpdGlvbi5weQotaW5kZXggNDdmZjU0Ny4uMGNkMTYxNCAxMDA2NDQKK2luZGV4IDYyM2UxYzkuLjE0MWQ4YWQgMTAwNjQ0CiAtLS0gYS9ibGl2ZXQvZGV2aWNlcy9wYXJ0aXRpb24ucHkKICsrKyBiL2JsaXZldC9kZXZpY2VzL3BhcnRpdGlvbi5weQotQEAgLTYyMSw3ICs2MjEsNyBAQCBjbGFzcyBQYXJ0aXRpb25EZXZpY2UoU3RvcmFnZURldmljZSk6CitAQCAtNjE4LDcgKzYxOCw3IEBAIGNsYXNzIFBhcnRpdGlvbkRldmljZShTdG9yYWdlRGV2aWNlKToKICAgICAgICAgIGNtZCA9IFsiZGQiLCAiaWY9L2Rldi96ZXJvIiwgIm9mPSVzIiAlIGRldmljZSwgImJzPSVkIiAlIGJzLAogICAgICAgICAgICAgICAgICJzZWVrPSVkIiAlIHN0YXJ0LCAiY291bnQ9JWQiICUgY291bnRdCiAgICAgICAgICB0cnk6CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAxMi1yZW1vdmUtZG1yYWlkLWRlcGVuZGVuY3ktY2hlY2sucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAxMi1yZW1vdmUtZG1yYWlkLWRlcGVuZGVuY3ktY2hlY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4NmUzZmYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMTItcmVtb3ZlLWRtcmFpZC1kZXBlbmRlbmN5LWNoZWNrLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSA0NDc2ZTg0NmExZTY0ZGRlMTdkZjJlMjM3MGM4MDNjZTY5NTUxNGY5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCA2IEF1ZyAyMDE4IDE3OjE4OjI3ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJlbW92ZSBkbXJhaWQgZGVwZW5kZW5jeSBjaGVjawotCi1PRSBkb2VzIG5vdCBzdXBwb3J0IGRtcmFpZCwgcmVtb3ZlIGl0IGZyb20gZGVwZW5kZW5jeSBjaGVjawotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBibGl2ZXQvdGFza3MvYXZhaWxhYmlsaXR5LnB5IHwgMyArLS0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9ibGl2ZXQvdGFza3MvYXZhaWxhYmlsaXR5LnB5IGIvYmxpdmV0L3Rhc2tzL2F2YWlsYWJpbGl0eS5weQotaW5kZXggOWE4N2NmZC4uODQzY2Y2YSAxMDA2NDQKLS0tLSBhL2JsaXZldC90YXNrcy9hdmFpbGFiaWxpdHkucHkKLSsrKyBiL2JsaXZldC90YXNrcy9hdmFpbGFiaWxpdHkucHkKLUBAIC0zMTYsOCArMzE2LDcgQEAgQkxPQ0tERVZfRE1fQUxMX01PREVTID0gKGJsb2NrZGV2LkRNVGVjaE1vZGUuQ1JFQVRFX0FDVElWQVRFIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tkZXYuRE1UZWNoTW9kZS5RVUVSWSkKLSBCTE9DS0RFVl9ETSA9IEJsb2NrRGV2VGVjaEluZm8ocGx1Z2luX25hbWU9ImRtIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tfZm49YmxvY2tkZXYuZG1faXNfdGVjaF9hdmFpbCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVjaG5vbG9naWVzPXtibG9ja2Rldi5ETVRlY2guTUFQOiBCTE9DS0RFVl9ETV9BTExfTU9ERVMsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tkZXYuRE1UZWNoLlJBSUQ6IEJMT0NLREVWX0RNX0FMTF9NT0RFU30pCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlY2hub2xvZ2llcz17YmxvY2tkZXYuRE1UZWNoLk1BUDogQkxPQ0tERVZfRE1fQUxMX01PREVTfSkKLSBCTE9DS0RFVl9ETV9URUNIID0gQmxvY2tEZXZNZXRob2QoQkxPQ0tERVZfRE0pCi0gCi0gIyBsaWJibG9ja2RldiBsb29wIHBsdWdpbiByZXF1aXJlZCB0ZWNobm9sb2dpZXMgYW5kIG1vZGVzCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDEzLWFkZC1aLXktYW5kLXktdG8tbHZtLnB2Y3JlYXRlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMTMtYWRkLVoteS1hbmQteS10by1sdm0ucHZjcmVhdGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzYjVmNTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMTMtYWRkLVoteS1hbmQteS10by1sdm0ucHZjcmVhdGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIGJkZGJmYTQ5OWRmMTZiMTA4ZjJkODkyZWU0OGQ2NTYxNzUyM2MzM2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDkgQXVnIDIwMTggMTE6MDA6MzkgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gYWRkIGAtWiB5JyBhbmQgYC15JyB0byBsdm0ucHZjcmVhdGUKLQotV2hpbGUgcmVpbnN0YWxsIGEgY3J5cHQgZnMsIGl0IG9jY2FzaW9uYWxseSBmYWlsZWQKLVtzbmlwXQotfGdpLm92ZXJyaWRlcy5CbG9ja0Rldi5MVk1FcnJvcjogUHJvY2VzcyByZXBvcnRlZCBleGl0IGNvZGUgNToKLVdBUk5JTkc6IGF0YXJpIHNpZ25hdHVyZSBkZXRlY3RlZCBvbiAvZGV2L21hcHBlci9sdWtzLTBlNWY4OTFjCi0tNzcwMS00OGJjLWE0MWUtOGQ2MjZiNmVmOTUzIGF0IG9mZnNldCA0NjYuIFdpcGUgaXQ/IFt5L25dOgotW3NuaXBdCi0KLUFkZCBgLVogeScgYW5kIGAteScgdG8gbHZtLnB2Y3JlYXRlCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vc3RvcmFnZWQtcHJvamVjdC9ibGl2ZXQvcHVsbC83MTRdCi0KLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGJsaXZldC9mb3JtYXRzL2x2bXB2LnB5IHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYmxpdmV0L2Zvcm1hdHMvbHZtcHYucHkgYi9ibGl2ZXQvZm9ybWF0cy9sdm1wdi5weQotaW5kZXggMjYwY2MwYi4uNGJiYjQ2ZiAxMDA2NDQKLS0tLSBhL2JsaXZldC9mb3JtYXRzL2x2bXB2LnB5Ci0rKysgYi9ibGl2ZXQvZm9ybWF0cy9sdm1wdi5weQotQEAgLTEyMCw5ICsxMjAsOSBAQCBjbGFzcyBMVk1QaHlzaWNhbFZvbHVtZShEZXZpY2VGb3JtYXQpOgotICAgICAgICAgbG9nX21ldGhvZF9jYWxsKHNlbGYsIGRldmljZT1zZWxmLmRldmljZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPXNlbGYudHlwZSwgc3RhdHVzPXNlbGYuc3RhdHVzKQotIAotLSAgICAgICAgIyBDb25zaWRlciB1c2Ugb2YgLVp8LS16ZXJvCi0tICAgICAgICAjIC1mfC0tZm9yY2Ugb3IgLXl8LS15ZXMgbWF5IGJlIHJlcXVpcmVkCi0tICAgICAgICBibG9ja2Rldi5sdm0ucHZjcmVhdGUoc2VsZi5kZXZpY2UsIGRhdGFfYWxpZ25tZW50PXNlbGYuZGF0YV9hbGlnbm1lbnQpCi0rICAgICAgICBlYV96ZXJvID0gYmxvY2tkZXYuRXh0cmFBcmcubmV3KCItWiIsICJ5IikKLSsgICAgICAgIGVhX3llcyA9IGJsb2NrZGV2LkV4dHJhQXJnLm5ldygiLXkiLCAiIikKLSsgICAgICAgIGJsb2NrZGV2Lmx2bS5wdmNyZWF0ZShzZWxmLmRldmljZSwgZGF0YV9hbGlnbm1lbnQ9c2VsZi5kYXRhX2FsaWdubWVudCwgZXh0cmE9W2VhX3plcm8sIGVhX3llc10pCi0gCi0gICAgIGRlZiBfZGVzdHJveShzZWxmLCAqKmt3YXJncyk6Ci0gICAgICAgICBsb2dfbWV0aG9kX2NhbGwoc2VsZiwgZGV2aWNlPXNlbGYuZGV2aWNlLAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXRfMy4wLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXRfMy4wLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1ZjAyZjEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0XzMuMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiQSBweXRob24gbW9kdWxlIGZvciBzeXN0ZW0gc3RvcmFnZSBjb25maWd1cmF0aW9uIgotSE9NRVBBR0UgPSAiaHR0cDovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvYmxpdmV0IgotTElDRU5TRSA9ICJMR1BMdjIrIgotU0VDVElPTiA9ICJkZXZlbC9weXRob24iCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotQiA9ICIke1N9IgotCi1TUkNSRVYgPSAiZGRjMjRjNzFiYWQxMDIwOGIxMWVhMGM0NTg1Mzg5OGZhZGQ3MDMwYiIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9ibGl2ZXQ7YnJhbmNoPTMuMS1yZWxlYXNlIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29tbWVudC1vdXQtc2VsaW51eC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLXJ1bl9wcm9ncmFtLXN1cHBvcnQtdGltZW91dC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLXN1cHBvcnQtaW5maW5pdC10aW1lb3V0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtZml4LW5ldy5yb290cy1vYmplY3QtaXMtbm90LWl0ZXJhYmxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtZml4LWluY29ycmVjdC10aW1lb3V0LXdoaWxlLXN5c3RlbS10aW1lLWNoYW5nZWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNi10d2Vhay1idHJmcy1wYWNrYWdlcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA3LWludm9raW5nLW1vdW50LXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA4LXVzZS1vZS12YXJpYWJsZS10by1yZXBsYWNlLWhhcmRjb2RlZC1kaXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOS1pbnZva2luZy1mc2NrLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLWludm9raW5nLW1rZnMtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTEtaW52b2tpbmctZGQtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTItcmVtb3ZlLWRtcmFpZC1kZXBlbmRlbmN5LWNoZWNrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTMtYWRkLVoteS1hbmQteS10by1sdm0ucHZjcmVhdGUucGF0Y2ggXAotIgotCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJibGl2ZXQtKD9QPHB2ZXI+XGQrKFwuXGQrKSspJCIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJzeXN0ZW1kIgotCi1pbmhlcml0IHNldHVwdG9vbHMzIHB5dGhvbjNuYXRpdmUKLQotUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uMy1weWtpY2tzdGFydCBweXRob24zLXB5dWRldiBcCi0gICAgICAgICAgICAgICAgICBwYXJ0ZWQgcHl0aG9uMy1weXBhcnRlZCBtdWx0aXBhdGgtdG9vbHMgXAotICAgICAgICAgICAgICAgICAgbHNvZiBjcnlwdHNldHVwIGxpYmJsb2NrZGV2IFwKLSAgICAgICAgICAgICAgICAgIGxpYmJ5dGVzaXplIFwKLSIKLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzIFwKLSIKLQotaW5oZXJpdCBzeXN0ZW1kCi0KLVNZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJibGl2ZXQuc2VydmljZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldF8zLjEuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldF8zLjEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTU2NWJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0XzMuMS4yLmJiCkBAIC0wLDAgKzEsNDYgQEAKK0RFU0NSSVBUSU9OID0gIkEgcHl0aG9uIG1vZHVsZSBmb3Igc3lzdGVtIHN0b3JhZ2UgY29uZmlndXJhdGlvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL2JsaXZldCIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK0IgPSAiJHtTfSIKKworU1JDUkVWID0gIjg3OGY3OTRhMzgxMjBhNjUyY2FiMDAyNmI3NzE3NWIwOTliZjFmOWQiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvYmxpdmV0O2JyYW5jaD0zLjEtcmVsZWFzZSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbW1lbnQtb3V0LXNlbGludXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1ydW5fcHJvZ3JhbS1zdXBwb3J0LXRpbWVvdXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1zdXBwb3J0LWluZmluaXQtdGltZW91dC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LWZpeC1uZXcucm9vdHMtb2JqZWN0LWlzLW5vdC1pdGVyYWJsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LWZpeC1pbmNvcnJlY3QtdGltZW91dC13aGlsZS1zeXN0ZW0tdGltZS1jaGFuZ2VkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtdHdlYWstYnRyZnMtcGFja2FnZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1pbnZva2luZy1tb3VudC13aXRoLWluZmluaXRlLXRpbWVvdXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOC11c2Utb2UtdmFyaWFibGUtdG8tcmVwbGFjZS1oYXJkY29kZWQtZGlyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDktaW52b2tpbmctZnNjay13aXRoLWluZmluaXRlLXRpbWVvdXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMC1pbnZva2luZy1ta2ZzLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDExLWludm9raW5nLWRkLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBcCisiCisKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gImJsaXZldC0oP1A8cHZlcj5cZCsoXC5cZCspKykkIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInN5c3RlbWQiCisKK2luaGVyaXQgc2V0dXB0b29sczMgcHl0aG9uM25hdGl2ZQorCitSREVQRU5EU18ke1BOfSA9ICJweXRob24zLXB5a2lja3N0YXJ0IHB5dGhvbjMtcHl1ZGV2IFwKKyAgICAgICAgICAgICAgICAgIHBhcnRlZCBweXRob24zLXB5cGFydGVkIG11bHRpcGF0aC10b29scyBcCisgICAgICAgICAgICAgICAgICBsc29mIGNyeXB0c2V0dXAgbGliYmxvY2tkZXYgXAorICAgICAgICAgICAgICAgICAgbGliYnl0ZXNpemUgXAorIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMgXAorIgorCitpbmhlcml0IHN5c3RlbWQKKworU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImJsaXZldC5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpLzAwMDEtU2V0LV9zdXBwb3J0ZWRfZmlsZXN5c3RlbXMtaW4tQmxpdmV0R1VJQW5hY29uZGEtaW5pdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldGd1aS8wMDAxLVNldC1fc3VwcG9ydGVkX2ZpbGVzeXN0ZW1zLWluLUJsaXZldEdVSUFuYWNvbmRhLWluaXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1YTcxZDQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpLzAwMDEtU2V0LV9zdXBwb3J0ZWRfZmlsZXN5c3RlbXMtaW4tQmxpdmV0R1VJQW5hY29uZGEtaW5pdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gYTdiNzZmNzgzNjA4MDMzZTQ0OWJhMWUzM2QwNDBjMmI0MGMwMWE0ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFkYW0gV2lsbGlhbXNvbiA8YXdpbGxpYW1AcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMTcgSmFuIDIwMTggMTA6Mzg6MTggLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gU2V0IF9zdXBwb3J0ZWRfZmlsZXN5c3RlbXMgaW4gQmxpdmV0R1VJQW5hY29uZGEgaW5pdAotCi1CbGl2ZXRHVUlBbmFjb25kYSBzdWJjbGFzc2VzIEJsaXZldEdVSSwgYnV0IGRvZXNuJ3QgY2FsbCB0aGUKLXBhcmVudCBjbGFzcydzIF9faW5pdF9fLiBjNGI2ZTE3NCBhZGRlZCBzdXBwb3J0ZWRfZmlsZXN5c3RlbXMKLXRvIEJsaXZldEdVSSBhbmQgc2V0IF9zdXBwb3J0ZWRfZmlsZXN5c3RlbXMgZm9yIGNhY2hpbmcgZHVyaW5nCi1fX2luaXRfXywgYnV0IHRoaXMgd2FzIG5vdCBhbHNvIGFkZGVkIHRvIEJsaXZldEdVSUFuYWNvbmRhLCBzbwotd2hlbiBhbnl0aGluZyB0cmllcyB0byB1c2UgdGhlIHN1cHBvcnRlZF9maWxlc3lzdGVtcyBwcm9wZXJ0eQotb2YgYSBCbGl2ZXRHVUlBbmFjb25kYSBpbnN0YW5jZSwgaXQgd2lsbCBjcmFzaC4gVGhpcyBpcyBjYXVzaW5nCi1hbGwgYXR0ZW1wdHMgdG8gdXNlIGJsaXZldC1ndWkgaW4gYW5hY29uZGEgdG8gY3Jhc2ggc2luY2UgMi4xLjgKLWxhbmRlZCBpbiBSYXdoaWRlLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vc3RvcmFnZWQtcHJvamVjdC9ibGl2ZXQtZ3VpXQotCi1TaWduZWQtb2ZmLWJ5OiBBZGFtIFdpbGxpYW1zb24gPGF3aWxsaWFtQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBPdmlkaXUgUGFuYWl0IDxvdmlkaXUucGFuYWl0QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBibGl2ZXRndWkvb3NpbnN0YWxsLnB5IHwgMyArKysKLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9ibGl2ZXRndWkvb3NpbnN0YWxsLnB5IGIvYmxpdmV0Z3VpL29zaW5zdGFsbC5weQotaW5kZXggMjE4MDZjYS4uMzJmZjY2YiAxMDA2NDQKLS0tLSBhL2JsaXZldGd1aS9vc2luc3RhbGwucHkKLSsrKyBiL2JsaXZldGd1aS9vc2luc3RhbGwucHkKLUBAIC05NCw2ICs5NCw5IEBAIGNsYXNzIEJsaXZldEdVSUFuYWNvbmRhKEJsaXZldEdVSSk6Ci0gICAgICAgICBzZWxmLmJ1aWxkZXIuc2V0X3RyYW5zbGF0aW9uX2RvbWFpbigiYmxpdmV0LWd1aSIpCi0gICAgICAgICBzZWxmLmJ1aWxkZXIuYWRkX2Zyb21fZmlsZShsb2NhdGVfdWlfZmlsZSgiYmxpdmV0LWd1aS51aSIpKQotIAotKyAgICAgICAgIyBzdXBwb3J0ZWQgZmlsZXN5c3RlbXMKLSsgICAgICAgIHNlbGYuX3N1cHBvcnRlZF9maWxlc3lzdGVtcyA9IFtdCi0rCi0gICAgICAgICAjIENTUyBzdHlsZXMKLSAgICAgICAgIGNzc19wcm92aWRlciA9IEd0ay5Dc3NQcm92aWRlcigpCi0gICAgICAgICBjc3NfcHJvdmlkZXIubG9hZF9mcm9tX3BhdGgobG9jYXRlX2Nzc19maWxlKCJyZWN0YW5nbGUuY3NzIikpCi0tLSAKLTIuMjAuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXRndWlfMi4xLjEwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpXzIuMS4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWE4MTAzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpXzIuMS4xMC5iYgpAQCAtMCwwICsxLDI3IEBACitERVNDUklQVElPTiA9ICJHVUkgdG9vbCBmb3Igc3RvcmFnZSBjb25maWd1cmF0aW9uIHVzaW5nIGJsaXZldCBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2JsaXZldC1ndWkiCitMSUNFTlNFID0gIkdQTHYyKyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK0IgPSAiJHtTfSIKKworU1JDUkVWID0gIjY3ZWMwYjdhMGUwNjViYTI0YWI4Nzk2MzQwOWJmYjIxYjJhYWM2ZGQiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvYmxpdmV0LWd1aTticmFuY2g9bWFzdGVyIFwKKyIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEgc3lzdGVtZCIKKworaW5oZXJpdCBzZXR1cHRvb2xzMyBweXRob24zbmF0aXZlCisKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbjMtcHlnb2JqZWN0IHB5dGhvbjMgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uMy1ibGl2ZXQgZ3RrKzMgIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbjMtcGlkIGxpYnJlcG9ydCBcCisiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vKiBcCisgICAgIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpXzIuMS44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpXzIuMS44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZjYyYjllLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldGd1aV8yLjEuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLURFU0NSSVBUSU9OID0gIkdVSSB0b29sIGZvciBzdG9yYWdlIGNvbmZpZ3VyYXRpb24gdXNpbmcgYmxpdmV0IGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvYmxpdmV0LWd1aSIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotU0VDVElPTiA9ICJkZXZlbC9weXRob24iCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotQiA9ICIke1N9IgotCi1TUkNSRVYgPSAiYTRmZDQyN2VlMmFjYzVhOGY1ZmIwMzBiZjc4MTY5MTdjZWU2M2JkOCIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9ibGl2ZXQtZ3VpO2JyYW5jaD1tYXN0ZXIgXAotICAgIGZpbGU6Ly8wMDAxLVNldC1fc3VwcG9ydGVkX2ZpbGVzeXN0ZW1zLWluLUJsaXZldEdVSUFuYWNvbmRhLWluaXQucGF0Y2ggXAotIgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjawotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSBzeXN0ZW1kIgotCi1pbmhlcml0IHNldHVwdG9vbHMzIHB5dGhvbjNuYXRpdmUKLQotUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uMy1weWdvYmplY3QgcHl0aG9uMyBcCi0gICAgICAgICAgICAgICAgICBweXRob24zLWJsaXZldCBndGsrMyAgXAotICAgICAgICAgICAgICAgICAgcHl0aG9uMy1waWQgbGlicmVwb3J0IFwKLSIKLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS8qIFwKLSAgICAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weWtpY2tzdGFydC9weXRob24zLXB5a2lja3N0YXJ0XzMuMTUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weWtpY2tzdGFydC9weXRob24zLXB5a2lja3N0YXJ0XzMuMTUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA3ODc2YTkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlraWNrc3RhcnQvcHl0aG9uMy1weWtpY2tzdGFydF8zLjE1LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiQSBweXRob24gbGlicmFyeSBmb3IgbWFuaXB1bGF0aW5nIGtpY2tzdGFydCBmaWxlcyIKLUhPTUVQQUdFID0gImh0dHA6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL3B5a2lja3N0YXJ0IgotTElDRU5TRSA9ICJHUEx2MisiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgotRklMRVNFWFRSQVBBVEhTX3ByZXBlbmQgOj0gIiR7VEhJU0RJUn0vZmlsZXM6IgotCi1ERVBFTkRTID0gInB5dGhvbjMiCi1SREVQRU5EU18ke1BOfSA9ICJweXRob24zIFwKLSAgICAgICAgICAgICAgICAgIHB5dGhvbjMtcmVxdWVzdHMgXAotICAgICAgICAgICAgICAgICAgcHl0aG9uMy1zaXggXAotIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL3B5a2lja3N0YXJ0LmdpdDtwcm90b2NvbD1odHRwczticmFuY2g9bWFzdGVyIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3VwcG9ydC1hdXRoZW50aWNhdGlvbi1mb3Ita2lja3N0YXJ0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItcHlraWNrc3RhcnQtcGFyc2VyLnB5LWFkZC1sb2NrLWZvci1yZWFkS2lja3N0YXJ0LWFuZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLWNvbW1lbnQtb3V0LXNlY3Rpb25zLXNodXRkb3duLWFuZC1lbnZpcm9ubWVudC1pbi1nZW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1sb2FkLnB5LXJldHJ5LXRvLWludm9rZS1yZXF1ZXN0LXdpdGgtdGltZW91dC5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ1JFViA9ICIwN2M0ZDg5MTI5ZmE2YjQ2MGFjYzg2ZGFmNThlYjVmZjY0Y2RjODMyIgotCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJyKD9QPHB2ZXI+XGQrKFwuXGQrKSsoLVxkKykqKSIKLQotaW5oZXJpdCBzZXR1cHRvb2xzMwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlraWNrc3RhcnQvcHl0aG9uMy1weWtpY2tzdGFydF8zLjE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlraWNrc3RhcnQvcHl0aG9uMy1weWtpY2tzdGFydF8zLjE4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhMDM4ODQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weWtpY2tzdGFydC9weXRob24zLXB5a2lja3N0YXJ0XzMuMTguYmIKQEAgLTAsMCArMSwyNSBAQAorREVTQ1JJUFRJT04gPSAiQSBweXRob24gbGlicmFyeSBmb3IgbWFuaXB1bGF0aW5nIGtpY2tzdGFydCBmaWxlcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL3B5a2lja3N0YXJ0IgorTElDRU5TRSA9ICJHUEx2MisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorRklMRVNFWFRSQVBBVEhTX3ByZXBlbmQgOj0gIiR7VEhJU0RJUn0vZmlsZXM6IgorCitERVBFTkRTID0gInB5dGhvbjMiCitSREVQRU5EU18ke1BOfSA9ICJweXRob24zIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbjMtcmVxdWVzdHMgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uMy1zaXggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL3B5a2lja3N0YXJ0LmdpdDtwcm90b2NvbD1odHRwczticmFuY2g9bWFzdGVyIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtc3VwcG9ydC1hdXRoZW50aWNhdGlvbi1mb3Ita2lja3N0YXJ0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItcHlraWNrc3RhcnQtcGFyc2VyLnB5LWFkZC1sb2NrLWZvci1yZWFkS2lja3N0YXJ0LWFuZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLWNvbW1lbnQtb3V0LXNlY3Rpb25zLXNodXRkb3duLWFuZC1lbnZpcm9ubWVudC1pbi1nZW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1sb2FkLnB5LXJldHJ5LXRvLWludm9rZS1yZXF1ZXN0LXdpdGgtdGltZW91dC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ1JFViA9ICJhZDk0MmYyNjQ0MzM3YzQ2NzJjN2EyMmJkMjRhNWI3MjY4YzFmNWU5IgorCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJyKD9QPHB2ZXI+XGQrKFwuXGQrKSsoLVxkKykqKSIKKworaW5oZXJpdCBzZXR1cHRvb2xzMwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvUkVBRE1FIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvUkVBRE1FCmluZGV4IDRkMmM3MTAuLjdiNjA2MzAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL1JFQURNRQorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9SRUFETUUKQEAgLTEzLDE0ICsxMywxNCBAQAogCiBVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29lLWNvcmUuZ2l0CiBzdWJkaXJlY3Rvcnk6IG1ldGEKLWJyYW5jaDogdGh1ZAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKIEZvciBzb21lIHJlY2lwZXMsIHRoZSBtZXRhLW9lIGxheWVyIGlzIHJlcXVpcmVkOgogCiBVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CiBzdWJkaXJlY3Rvcnk6IG1ldGEtb2UKLWJyYW5jaDogdGh1ZAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKIApAQCAtNTIsOSArNTIsOSBAQAogLS0tLS0tLS0tLS0KIAogU2VuZCBwYXRjaGVzIC8gcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZwotd2l0aCAnW21ldGEtd2Vic2VydmVyXVt0aHVkXScgaW4gdGhlIHN1YmplY3QuCit3aXRoICdbbWV0YS13ZWJzZXJ2ZXJdJyBpbiB0aGUgc3ViamVjdC4KIAotVGh1ZCBNYWludGFpbmVyOiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorTGF5ZXIgbWFpbnRhaW5lcjogRGVyZWsgU3RyYWthIDxkZXJla0Bhc3Rlcml1cy5pbz4KIAogCiBMaWNlbnNlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9jb25mL2xheWVyLmNvbmYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9jb25mL2xheWVyLmNvbmYKaW5kZXggYWFhM2E5NS4uMGQ2OTQ3OCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL2NvbmYvbGF5ZXIuY29uZgpAQCAtMTcsNyArMTcsNyBAQAogCiBMQVlFUkRFUEVORFNfd2Vic2VydmVyID0gImNvcmUgb3BlbmVtYmVkZGVkLWxheWVyIgogCi1MQVlFUlNFUklFU19DT01QQVRfd2Vic2VydmVyID0gInRodWQiCitMQVlFUlNFUklFU19DT01QQVRfd2Vic2VydmVyID0gInRodWQgd2FycmlvciIKIAogTElDRU5TRV9QQVRIICs9ICIke0xBWUVSRElSfS9saWNlbnNlcyIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXdlYnNlcnZlci1pbWFnZS1iYXNlLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXdlYnNlcnZlci1pbWFnZS1iYXNlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0Y2UxMGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtd2Vic2VydmVyLWltYWdlLWJhc2UuYmIKQEAgLTAsMCArMSw3IEBACitTVU1NQVJZID0gIm1ldGEtd2Vic2VydmVyIGJ1aWxkIHRlc3QgaW1hZ2UiCisKK0lNQUdFX0lOU1RBTEwgPSAicGFja2FnZWdyb3VwLWNvcmUtYm9vdCIKKworTElDRU5TRSA9ICJNSVQiCisKK2luaGVyaXQgY29yZS1pbWFnZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXdlYnNlcnZlci1pbWFnZS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS13ZWJzZXJ2ZXItaW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U0ZjhhMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS13ZWJzZXJ2ZXItaW1hZ2UuYmIKQEAgLTAsMCArMSwzIEBACityZXF1aXJlICBtZXRhLXdlYnNlcnZlci1pbWFnZS1iYXNlLmJiCisKK0lNQUdFX0lOU1RBTEwgKz0gInBhY2thZ2Vncm91cC1tZXRhLXdlYnNlcnZlciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtY29yZS9wYWNrYWdlc2dyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWNvcmUvcGFja2FnZXNncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjMTE3ODUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWNvcmUvcGFja2FnZXNncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLmJiCkBAIC0wLDAgKzEsMzcgQEAKK1NVTU1BUlkgPSAiTWV0YS13ZWJzZXJ2ZXIgcGFja2FnZWdyb3VwcyIKKworaW5oZXJpdCBwYWNrYWdlZ3JvdXAKKworUFJPVklERVMgPSAiJHtQQUNLQUdFU30iCitQQUNLQUdFUyA9ICcgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXdlYnNlcnZlciBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLWh0dHAgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXdlYnNlcnZlci1waHAgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXdlYnNlcnZlci1zdXBwb3J0IFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXItd2ViYWRtaW4gXAorJworCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXIgPSAiXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXdlYnNlcnZlci1odHRwIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXItcGhwIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXItc3VwcG9ydCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLXdlYmFkbWluIFwKKyIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLWh0dHAgPSAiXAorICAgIG5naW54IG1vbmtleSBjaGVyb2tlZSBoaWF3YXRoYSBub3N0cm9tbyBhcGFjaGUtd2Vic29ja2V0IFwKKyAgICBhcGFjaGUyIHN0aHR0cGQgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLXBocCA9ICJcCisgICAgcGhwbXlhZG1pbiB4ZGVidWcgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLXN1cHBvcnQgPSAiXAorICAgIHNwYXduLWZjZ2kgZmNnaSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXItd2ViYWRtaW4gPSAiXAorICAgIG5ldGRhdGEgd2VibWluIFwKKyAgICAiCitFWENMVURFX0ZST01fV09STEQgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyXzIuNC4zNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyXzIuNC4zNC5iYgppbmRleCBhODdlMzg0Li44MGM4YjIwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMl8yLjQuMzQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTJfMi40LjM0LmJiCkBAIC0zMSw2ICszMSw4IEBACiAKIGluaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHBrZ2NvbmZpZyBzeXN0ZW1kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKIAorQ1ZFX1BST0RVQ1QgPSAiaHR0cF9zZXJ2ZXIiCisKIEFMVEVSTkFUSVZFXyR7UE59LWRvYyA9ICJodHBhc3N3ZC4xIgogQUxURVJOQVRJVkVfTElOS19OQU1FW2h0cGFzc3dkLjFdID0gIiR7bWFuZGlyfS9tYW4xL2h0cGFzc3dkLjEiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvZGVmYXVsdF9zZXJ2ZXIuc2l0ZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvZGVmYXVsdF9zZXJ2ZXIuc2l0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YThhMjE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9kZWZhdWx0X3NlcnZlci5zaXRlCkBAIC0wLDAgKzEsMTQgQEAKKyMgRGVmYXVsdCBzZXJ2ZXIgY29uZmlndXJhdGlvbgorc2VydmVyIHsKKyAgICBsaXN0ZW4gODAgZGVmYXVsdF9zZXJ2ZXI7CisgICAgbGlzdGVuIFs6Ol06ODAgZGVmYXVsdF9zZXJ2ZXI7CisKKyAgICByb290IC92YXIvd3d3L2xvY2FsaG9zdC9odG1sOworCisgICAgaW5kZXggaW5kZXguaHRtbCBpbmRleC5odG07CisKKyAgICBzZXJ2ZXJfbmFtZSBfOworCisgICAgIyByZWRpcmVjdCBzZXJ2ZXIgZXJyb3IgcGFnZXMgdG8gdGhlIHN0YXRpYyBwYWdlIC81MHguaHRtbAorICAgIGVycm9yX3BhZ2UgNTAwIDUwMiA1MDMgNTA0IC81MHguaHRtbDsKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguY29uZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguY29uZgppbmRleCA2OWQzYTJhLi42ZDIxOTQyIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LmNvbmYKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC5jb25mCkBAIC0xLDExOCArMSw0NyBAQAotCiB1c2VyICB3d3c7Ci13b3JrZXJfcHJvY2Vzc2VzICAxOwotCi1lcnJvcl9sb2cgIC92YXIvbG9nL25naW54L2Vycm9yLmxvZzsKLSNlcnJvcl9sb2cgIGxvZ3MvZXJyb3IubG9nICBub3RpY2U7Ci0jZXJyb3JfbG9nICBsb2dzL2Vycm9yLmxvZyAgaW5mbzsKLQotcGlkICAgICAgICAvcnVuL25naW54L25naW54LnBpZDsKLQord29ya2VyX3Byb2Nlc3NlcyAxOworcGlkIC9ydW4vbmdpbngvbmdpbngucGlkOworaW5jbHVkZSAvZXRjL25naW54L21vZHVsZXMtZW5hYmxlZC8qLmNvbmY7CiAKIGV2ZW50cyB7Ci0gICAgd29ya2VyX2Nvbm5lY3Rpb25zICAxMDI0OworICAgIHdvcmtlcl9jb25uZWN0aW9ucyA3Njg7CisgICAgIyBtdWx0aV9hY2NlcHQgb247CiB9CiAKLQogaHR0cCB7Ci0gICAgaW5jbHVkZSAgICAgICBtaW1lLnR5cGVzOworICAgICMgQmFzaWMgU2V0dGluZ3MKKyAgICBzZW5kZmlsZSBvbjsKKyAgICB0Y3Bfbm9wdXNoIG9uOworICAgIHRjcF9ub2RlbGF5IG9uOworICAgIGtlZXBhbGl2ZV90aW1lb3V0IDY1OworICAgIHR5cGVzX2hhc2hfbWF4X3NpemUgMjA0ODsKKyAgICAjIHNlcnZlcl90b2tlbnMgb2ZmOworCisgICAgIyBzZXJ2ZXJfbmFtZXNfaGFzaF9idWNrZXRfc2l6ZSA2NDsKKyAgICAjIHNlcnZlcl9uYW1lX2luX3JlZGlyZWN0IG9mZjsKKworICAgIGluY2x1ZGUgICAgICAgL2V0Yy9uZ2lueC9taW1lLnR5cGVzOwogICAgIGRlZmF1bHRfdHlwZSAgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtOwogCi0gICAgbG9nX2Zvcm1hdCAgbWFpbiAgJyRyZW1vdGVfYWRkciAtICRyZW1vdGVfdXNlciBbJHRpbWVfbG9jYWxdICIkcmVxdWVzdCIgJwotICAgICAgICAgICAgICAgICAgICAgICckc3RhdHVzICRib2R5X2J5dGVzX3NlbnQgIiRodHRwX3JlZmVyZXIiICcKLSAgICAgICAgICAgICAgICAgICAgICAnIiRodHRwX3VzZXJfYWdlbnQiICIkaHR0cF94X2ZvcndhcmRlZF9mb3IiJzsKKyAgICAjIFNTTCBTZXR0aW5ncworICAgIHNzbF9wcm90b2NvbHMgVExTdjEgVExTdjEuMSBUTFN2MS4yIFRMU3YxLjM7ICMgRHJvcHBpbmcgU1NMdjMsIHJlZjogUE9PRExFCisgICAgc3NsX3ByZWZlcl9zZXJ2ZXJfY2lwaGVycyBvbjsKIAotICAgIGFjY2Vzc19sb2cgIC92YXIvbG9nL25naW54L2FjY2Vzcy5sb2cgIG1haW47CisgICAgIyMgTG9nZ2luZworICAgIGFjY2Vzc19sb2cgL3Zhci9sb2cvbmdpbngvYWNjZXNzLmxvZzsKKyAgICBlcnJvcl9sb2cgL3Zhci9sb2cvbmdpbngvZXJyb3IubG9nOwogCi0gICAgc2VuZGZpbGUgICAgICAgIG9uOwotICAgICN0Y3Bfbm9wdXNoICAgICBvbjsKKyAgICAjIyBHemlwIHNldHRpbmdzCisgICAgZ3ppcCAgb247CiAKLSAgICAja2VlcGFsaXZlX3RpbWVvdXQgIDA7Ci0gICAga2VlcGFsaXZlX3RpbWVvdXQgIDY1OworICAgIGd6aXBfdmFyeSBvbjsKKyAgICBnemlwX3Byb3hpZWQgYW55OworICAgIGd6aXBfY29tcF9sZXZlbCA2OworICAgIGd6aXBfYnVmZmVycyAxNiA4azsKKyAgICBnemlwX2h0dHBfdmVyc2lvbiAxLjE7CisgICAgZ3ppcF90eXBlcyB0ZXh0L3BsYWluIHRleHQvY3NzIGFwcGxpY2F0aW9uL2pzb24gYXBwbGljYXRpb24vamF2YXNjcmlwdCB0ZXh0L3htbCBhcHBsaWNhdGlvbi94bWwgYXBwbGljYXRpb24veG1sK3JzcyB0ZXh0L2phdmFzY3JpcHQ7CiAKLSAgICAjZ3ppcCAgb247Ci0KLSAgICBzZXJ2ZXIgewotICAgICAgICBsaXN0ZW4gICAgICAgODA7Ci0gICAgICAgIHNlcnZlcl9uYW1lICBsb2NhbGhvc3Q7Ci0KLSAgICAgICAgI2NoYXJzZXQga29pOC1yOwotCi0gICAgICAgICNhY2Nlc3NfbG9nICBsb2dzL2hvc3QuYWNjZXNzLmxvZyAgbWFpbjsKLQotICAgICAgICBsb2NhdGlvbiAvIHsKLSAgICAgICAgICAgIHJvb3QgICAvdmFyL3d3dy9sb2NhbGhvc3QvaHRtbDsKLSAgICAgICAgICAgIGluZGV4ICBpbmRleC5odG1sIGluZGV4Lmh0bTsKLSAgICAgICAgfQotCi0gICAgICAgICNlcnJvcl9wYWdlICA0MDQgICAgICAgICAgICAgIC80MDQuaHRtbDsKLQotICAgICAgICAjIHJlZGlyZWN0IHNlcnZlciBlcnJvciBwYWdlcyB0byB0aGUgc3RhdGljIHBhZ2UgLzUweC5odG1sCi0gICAgICAgICMKLSAgICAgICAgZXJyb3JfcGFnZSAgIDUwMCA1MDIgNTAzIDUwNCAgLzUweC5odG1sOwotICAgICAgICBsb2NhdGlvbiA9IC81MHguaHRtbCB7Ci0gICAgICAgICAgICByb290ICAgL3Zhci93d3cvbG9jYWxob3N0L2h0bWw7Ci0gICAgICAgIH0KLQotICAgICAgICAjIHByb3h5IHRoZSBQSFAgc2NyaXB0cyB0byBBcGFjaGUgbGlzdGVuaW5nIG9uIDEyNy4wLjAuMTo4MAotICAgICAgICAjCi0gICAgICAgICNsb2NhdGlvbiB+IFwucGhwJCB7Ci0gICAgICAgICMgICAgcHJveHlfcGFzcyAgIGh0dHA6Ly8xMjcuMC4wLjE7Ci0gICAgICAgICN9Ci0KLSAgICAgICAgIyBwYXNzIHRoZSBQSFAgc2NyaXB0cyB0byBGYXN0Q0dJIHNlcnZlciBsaXN0ZW5pbmcgb24gMTI3LjAuMC4xOjkwMDAKLSAgICAgICAgIwotICAgICAgICAjbG9jYXRpb24gfiBcLnBocCQgewotICAgICAgICAjICAgIHJvb3QgICAgICAgICAgIGh0bWw7Ci0gICAgICAgICMgICAgZmFzdGNnaV9wYXNzICAgMTI3LjAuMC4xOjkwMDA7Ci0gICAgICAgICMgICAgZmFzdGNnaV9pbmRleCAgaW5kZXgucGhwOwotICAgICAgICAjICAgIGZhc3RjZ2lfcGFyYW0gIFNDUklQVF9GSUxFTkFNRSAgL3NjcmlwdHMkZmFzdGNnaV9zY3JpcHRfbmFtZTsKLSAgICAgICAgIyAgICBpbmNsdWRlICAgICAgICBmYXN0Y2dpX3BhcmFtczsKLSAgICAgICAgI30KLQotICAgICAgICAjIGRlbnkgYWNjZXNzIHRvIC5odGFjY2VzcyBmaWxlcywgaWYgQXBhY2hlJ3MgZG9jdW1lbnQgcm9vdAotICAgICAgICAjIGNvbmN1cnMgd2l0aCBuZ2lueCdzIG9uZQotICAgICAgICAjCi0gICAgICAgICNsb2NhdGlvbiB+IC9cLmh0IHsKLSAgICAgICAgIyAgICBkZW55ICBhbGw7Ci0gICAgICAgICN9Ci0gICAgfQotCi0KLSAgICAjIGFub3RoZXIgdmlydHVhbCBob3N0IHVzaW5nIG1peCBvZiBJUC0sIG5hbWUtLCBhbmQgcG9ydC1iYXNlZCBjb25maWd1cmF0aW9uCi0gICAgIwotICAgICNzZXJ2ZXIgewotICAgICMgICAgbGlzdGVuICAgICAgIDgwMDA7Ci0gICAgIyAgICBsaXN0ZW4gICAgICAgc29tZW5hbWU6ODA4MDsKLSAgICAjICAgIHNlcnZlcl9uYW1lICBzb21lbmFtZSAgYWxpYXMgIGFub3RoZXIuYWxpYXM7Ci0KLSAgICAjICAgIGxvY2F0aW9uIC8gewotICAgICMgICAgICAgIHJvb3QgICBodG1sOwotICAgICMgICAgICAgIGluZGV4ICBpbmRleC5odG1sIGluZGV4Lmh0bTsKLSAgICAjICAgIH0KLSAgICAjfQotCi0KLSAgICAjIEhUVFBTIHNlcnZlcgotICAgICMKLSAgICAjc2VydmVyIHsKLSAgICAjICAgIGxpc3RlbiAgICAgICA0NDM7Ci0gICAgIyAgICBzZXJ2ZXJfbmFtZSAgbG9jYWxob3N0OwotCi0gICAgIyAgICBzc2wgICAgICAgICAgICAgICAgICBvbjsKLSAgICAjICAgIHNzbF9jZXJ0aWZpY2F0ZSAgICAgIGNlcnQucGVtOwotICAgICMgICAgc3NsX2NlcnRpZmljYXRlX2tleSAgY2VydC5rZXk7Ci0KLSAgICAjICAgIHNzbF9zZXNzaW9uX3RpbWVvdXQgIDVtOwotCi0gICAgIyAgICBzc2xfcHJvdG9jb2xzICBTU0x2MiBTU0x2MyBUTFN2MTsKLSAgICAjICAgIHNzbF9jaXBoZXJzICBISUdIOiFhTlVMTDohTUQ1OwotICAgICMgICAgc3NsX3ByZWZlcl9zZXJ2ZXJfY2lwaGVycyAgIG9uOwotCi0gICAgIyAgICBsb2NhdGlvbiAvIHsKLSAgICAjICAgICAgICByb290ICAgaHRtbDsKLSAgICAjICAgICAgICBpbmRleCAgaW5kZXguaHRtbCBpbmRleC5odG07Ci0gICAgIyAgICB9Ci0gICAgI30KLQorICAgICMjIFZpcnR1YWwgSG9zdCBDb25maWdzCisgICAgaW5jbHVkZSAvZXRjL25naW54L2NvbmYuZC8qLmNvbmY7CisgICAgaW5jbHVkZSAvZXRjL25naW54L3NpdGVzLWVuYWJsZWQvKjsKIH0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguc2VydmljZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguc2VydmljZQppbmRleCBjZTk5MDYxLi5jNmZjMDQ5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LnNlcnZpY2UKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC5zZXJ2aWNlCkBAIC0xLDExICsxLDE1IEBACiBbVW5pdF0KLURlc2NyaXB0aW9uPU5naW54IFNlcnZlcgotQWZ0ZXI9bmV0d29yay50YXJnZXQKK0Rlc2NyaXB0aW9uPVRoZSBOR0lOWCBIVFRQIGFuZCByZXZlcnNlIHByb3h5IHNlcnZlcgorQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldCByZW1vdGUtZnMudGFyZ2V0IG5zcy1sb29rdXAudGFyZ2V0CisKIFtTZXJ2aWNlXQogVHlwZT1mb3JraW5nCiBQSURGaWxlPS9ydW4vbmdpbngvbmdpbngucGlkCitFeGVjU3RhcnRQcmU9QFNCSU5ESVJAL25naW54IC10CiBFeGVjU3RhcnQ9QFNCSU5ESVJAL25naW54Ci1FeGVjU3RvcD1AU0JJTkRJUkAvbmdpbnggLXMgc3RvcAogRXhlY1JlbG9hZD1AU0JJTkRJUkAvbmdpbnggLXMgcmVsb2FkCitFeGVjU3RvcD1AQklORElSQC9raWxsIC1zIFFVSVQgJE1BSU5QSUQKK1ByaXZhdGVUbXA9dHJ1ZQorCiBbSW5zdGFsbF0KIFdhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL3Byb3h5X3BhcmFtcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvcHJveHlfcGFyYW1zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmNzViYzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL3Byb3h5X3BhcmFtcwpAQCAtMCwwICsxLDQgQEAKK3Byb3h5X3NldF9oZWFkZXIgSG9zdCAkaHR0cF9ob3N0OworcHJveHlfc2V0X2hlYWRlciBYLVJlYWwtSVAgJHJlbW90ZV9hZGRyOworcHJveHlfc2V0X2hlYWRlciBYLUZvcndhcmRlZC1Gb3IgJHByb3h5X2FkZF94X2ZvcndhcmRlZF9mb3I7Citwcm94eV9zZXRfaGVhZGVyIFgtRm9yd2FyZGVkLVByb3RvICRzY2hlbWU7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54LmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnguaW5jCmluZGV4IDI0YzJjZWQuLjI5ZTdlZmMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnguaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnguaW5jCkBAIC0xNiw2ICsxNiw4IEBACiAgICAgZmlsZTovL25naW54LWNyb3NzLnBhdGNoIFwKICAgICBmaWxlOi8vMDAwMS1BbGxvdy10aGUtb3ZlcnJpZGluZy1vZi10aGUtZW5kaWFubmVzcy12aWEtdGhlLWNvbmZpLnBhdGNoIFwKICAgICBmaWxlOi8vbmdpbnguY29uZiBcCisgICAgZmlsZTovL2RlZmF1bHRfc2VydmVyLnNpdGUgXAorICAgIGZpbGU6Ly9wcm94eV9wYXJhbXMgXAogICAgIGZpbGU6Ly9uZ2lueC5pbml0IFwKICAgICBmaWxlOi8vbmdpbngtdm9sYXRpbGUuY29uZiBcCiAgICAgZmlsZTovL25naW54LnNlcnZpY2UgXApAQCAtMTAyLDIxICsxMDQsMzcgQEAKIAogICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngKICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uZ2lueC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L25naW54LmNvbmYKKyAgICBzZWQgLWkgJ3MsL2V0Yy8sJHtzeXNjb25mZGlyfS8sZycgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngvbmdpbnguY29uZgogICAgIHNlZCAtaSAncywvdmFyLywke2xvY2Fsc3RhdGVkaXJ9LyxnJyAke0R9JHtzeXNjb25mZGlyfS9uZ2lueC9uZ2lueC5jb25mCiAgICAgc2VkIC1pICdzL151c2VyLiovdXNlciAke05HSU5YX1VTRVJ9Oy9nJyAke0R9JHtzeXNjb25mZGlyfS9uZ2lueC9uZ2lueC5jb25mCisgICAgaW5zdGFsbCAtRG0gMDY0NCAke1dPUktESVJ9L2RlZmF1bHRfc2VydmVyLnNpdGUgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngvc2l0ZXMtYXZhaWxhYmxlL2RlZmF1bHRfc2VydmVyCisgICAgc2VkIC1pICdzLC92YXIvLCR7bG9jYWxzdGF0ZWRpcn0vLGcnICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L3NpdGVzLWF2YWlsYWJsZS9kZWZhdWx0X3NlcnZlcgogICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngvc2l0ZXMtZW5hYmxlZAorICAgIGxuIC1zIC4uL3NpdGVzLWF2YWlsYWJsZS9kZWZhdWx0X3NlcnZlciAke0R9JHtzeXNjb25mZGlyfS9uZ2lueC9zaXRlcy1lbmFibGVkLworCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcHJveHlfcGFyYW1zICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L3Byb3h5X3BhcmFtcwogCiAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcwogICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25naW54LXZvbGF0aWxlLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfbmdpbngKICAgICBzZWQgLWkgJ3MsL3Zhci8sJHtsb2NhbHN0YXRlZGlyfS8sZycgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfbmdpbngKICAgICBzZWQgLWkgJ3MsQE5HSU5YX1VTRVJALCR7TkdJTlhfVVNFUn0sZycgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfbmdpbngKIAorICAgICMgY2xlYW51cCBjb25maWd1cmF0aW9uIGZvbGRlcgorICAgIHJtICR7RH0ke3N5c2NvbmZkaXJ9L25naW54LyouZGVmYXVsdAorCisgICAgIyBhZGQgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uIGZvbGRlcnMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L21vZHVsZXMtYXZhaWxhYmxlCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uZ2lueC9tb2R1bGVzLWVuYWJsZWQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L3NlcnZlci1jb25mLmQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L2NvbmYuZAorCiAgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTt0aGVuCiAgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KICAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbmdpbnguc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KICAgICAgICAgc2VkIC1pIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKICAgICAgICAgICAgIC1lICdzLEBMT0NBTFNUQVRFRElSQCwke2xvY2Fsc3RhdGVkaXJ9LGcnIFwKICAgICAgICAgICAgIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKKyAgICAgICAgICAgIC1lICdzLEBCSU5ESVJALCR7YmluZGlyfSxnJyBcCiAgICAgICAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9uZ2lueC5zZXJ2aWNlCiAgICAgZmkKIH0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNC4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueF8xLjE0LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA2MTNmZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNC4yLmJiCkBAIC0wLDAgKzEsMTAgQEAKK3JlcXVpcmUgbmdpbnguaW5jCisKKyMgMS4xNC54IGJyYW5jaCBpcyB0aGUgY3VycmVudCBzdGFibGUgYnJhbmNoLCB0aGUgcmVjb21tZW5kZWQgZGVmYXVsdAorIyAxLjE1LnggaXMgdGhlIGN1cnJlbnQgbWFpbmxpbmUgYnJhbmNoZXMgY29udGFpbmluZyBhbGwgbmV3IGZlYXR1cmVzCitERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTM2OTE0MDJjYzU0Y2UwOWY4MDBjYTM0ODYzNGEyZGZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjM5YjgyOWExM2NlYTFkMjQ0YzEwNDRlODMwYmQ5YzIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDAyZDlmNjE1NGUzMzE4ODZhMmRkNGU2MDY1ODYzYzljMWNmODI5MWFlOTdhMTI1NTMwODU3MmMwMmJlOTc5NyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueF8xLjE1LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBmMWJhOGYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueF8xLjE1LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1yZXF1aXJlIG5naW54LmluYwotCi0jIDEuMTQueCBicmFuY2ggaXMgdGhlIGN1cnJlbnQgc3RhYmxlIGJyYW5jaCwgdGhlIHJlY29tbWVuZGVkIGRlZmF1bHQKLSMgMS4xNS54IGlzIHRoZSBjdXJyZW50IG1haW5saW5lIGJyYW5jaGVzIGNvbnRhaW5pbmcgYWxsIG5ldyBmZWF0dXJlcwotREVGQVVMVF9QUkVGRVJFTkNFID0gIi0xIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zNjkxNDAyY2M1NGNlMDlmODAwY2EzNDg2MzRhMmRmZSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjJkZDVhMjY1YzU0YTc2YjY5OTQ0MzkzMWQ4MGE2MWI5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImM3MjA2ODU4ZDdmODMyYjhlZjczYTQ1YzliOGY4ZTQzNmJjYjFlZTg4ZGIyYmM4NWI4ZTQzOGVjZWM5ZDU0NjAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuMTUuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNS4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNjk0ZjViLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNS4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi1yZXF1aXJlIG5naW54LmluYwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zNjkxNDAyY2M1NGNlMDlmODAwY2EzNDg2MzRhMmRmZSIKLQotU1JDX1VSSVttZDVzdW1dID0gImQwNjNmNzQ2ZDNkYzQyOThhZWQ5YzUxOGYxNjg0MTY2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImVlYmEwOWFlY2ZiZTgyNzdhYzMzYTVhMjQ4NmVjMmQ2NzMxNzM5ZjNjMWM3MDFiNDJhMGMzNzg0YWY2N2FkOTAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuMTUuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNS43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlNmRjMzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuMTUuNy5iYgpAQCAtMCwwICsxLDYgQEAKK3JlcXVpcmUgbmdpbnguaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTM2OTE0MDJjYzU0Y2UwOWY4MDBjYTM0ODYzNGEyZGZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzE5YjJlM2Q0MTZmMTExZmVjYzlkYjY2MjU1NTM2NTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGYyMmVhMmY2YzBlMGEyMjFiNmRkYzAyYjY0MjhhM2ZmNzA4ZTJhZDU1ZjkzNjExMDJiMWM5ZjQxNDJiZGY5MyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3hkZWJ1Zy94ZGVidWdfMi42LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC94ZGVidWcveGRlYnVnXzIuNi4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NzNkYmYzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3hkZWJ1Zy94ZGVidWdfMi42LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1TVU1NQVJZID0gIkRlYnVnZ2luZyBhbmQgcHJvZmlsaW5nIGV4dGVuc2lvbiBmb3IgUEhQIgotTElDRU5TRSA9ICJYZGVidWciCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zNGRmM2EyNzRhYTEyYjc5NTQxN2M2NTYzNGMwN2YxNiIKLQotREVQRU5EUyA9ICJwaHAgcmUyYy1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3hkZWJ1Zy5vcmcvZmlsZXMveGRlYnVnLSR7UFZ9LnRneiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjM1Y2MwZjJlOGI3ZDQwNTU2YTlhZDlhZmQ5YzQ5YWVlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImRhZTY5MWQ2YzA1MjA3M2I4ODZlMGM2ZTEzMDZhNzA3YmNhOWZkMThhMWUzNDg1Mzg0ZWY2YzRhYWNmMWJkNzciCi0KLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gInhkZWJ1Zy0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRneiIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS14ZGVidWcgLXdpdGgtcGhwLWNvbmZpZz0ke1NUQUdJTkdfQklORElSX0NST1NTfS9waHAtY29uZmlnIgotCi1kb19jb25maWd1cmUoKSB7Ci0gICAgY2QgJHtTfQotICAgICR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L3BocGl6ZQotICAgIGNkICR7Qn0KLQotICAgICMgUnVubmluZyBhdXRvcmVjb25mIGFzIGF1dG90b29sc19kb19jb25maWd1cmUgd291bGQgZG8gaGVyZQotICAgICMgYnJlYWtzIHRoZSBsaWJ0b29sIGNvbmZpZ3VyYXRpb24gcmVzdWx0aW5nIGluIGEgZmFpbHVyZSBsYXRlcgotICAgICMgaW4gZG9fY29tcGlsZS4gSXQncyBwb3NzaWJsZSB0aGlzIG1heSBiZSBmaXhhYmxlLCBob3dldmVyIHRoZQotICAgICMgZWFzaWVzdCBjb3Vyc2Ugb2YgYWN0aW9uIGZvciB0aGUgbW9tZW50IGlzIHRvIGF2b2lkIGRvaW5nIHRoYXQuCi0gICAgb2VfcnVuY29uZgotfQotCi1kb19pbnN0YWxsKCkgewotICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBJTlNUQUxMX1JPT1Q9JHtEfQotfQotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3BocCovZXh0ZW5zaW9ucy8qLyouc28iCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9waHAqL2V4dGVuc2lvbnMvKi8uZGVidWciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC94ZGVidWcveGRlYnVnXzIuNy4wUkMyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAveGRlYnVnL3hkZWJ1Z18yLjcuMFJDMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YmU2MmNiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAveGRlYnVnL3hkZWJ1Z18yLjcuMFJDMi5iYgpAQCAtMCwwICsxLDM1IEBACitTVU1NQVJZID0gIkRlYnVnZ2luZyBhbmQgcHJvZmlsaW5nIGV4dGVuc2lvbiBmb3IgUEhQIgorTElDRU5TRSA9ICJYZGVidWciCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT05MmQ5NGEzMzBkMzRlZTZlZGMyNjM4NDUwNzM2ZjExOSIKKworREVQRU5EUyA9ICJwaHAgcmUyYy1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3hkZWJ1Zy5vcmcvZmlsZXMveGRlYnVnLSR7UFZ9LnRneiIKKworU1JDX1VSSVttZDVzdW1dID0gImU4Y2FiZTAwM2Q2OTkwYjE1N2QwZDhjYWVlMzc0ODQ0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVhYTZkMTc3MjkzN2U5ZjExYjkxYWQ4Y2VkNTg2YWEwZTE2MjgxZGMxNzhjNDA1YWMzODBkNDVkNDczMWY4YjAiCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInhkZWJ1Zy0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRneiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS14ZGVidWcgLXdpdGgtcGhwLWNvbmZpZz0ke1NUQUdJTkdfQklORElSX0NST1NTfS9waHAtY29uZmlnIgorCitkb19jb25maWd1cmUoKSB7CisgICAgY2QgJHtTfQorICAgICR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L3BocGl6ZQorICAgIGNkICR7Qn0KKworICAgICMgUnVubmluZyBhdXRvcmVjb25mIGFzIGF1dG90b29sc19kb19jb25maWd1cmUgd291bGQgZG8gaGVyZQorICAgICMgYnJlYWtzIHRoZSBsaWJ0b29sIGNvbmZpZ3VyYXRpb24gcmVzdWx0aW5nIGluIGEgZmFpbHVyZSBsYXRlcgorICAgICMgaW4gZG9fY29tcGlsZS4gSXQncyBwb3NzaWJsZSB0aGlzIG1heSBiZSBmaXhhYmxlLCBob3dldmVyIHRoZQorICAgICMgZWFzaWVzdCBjb3Vyc2Ugb2YgYWN0aW9uIGZvciB0aGUgbW9tZW50IGlzIHRvIGF2b2lkIGRvaW5nIHRoYXQuCisgICAgb2VfcnVuY29uZgorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBJTlNUQUxMX1JPT1Q9JHtEfQorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3BocCovZXh0ZW5zaW9ucy8qLyouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9waHAqL2V4dGVuc2lvbnMvKi8uZGVidWciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL25ldGRhdGEvbmV0ZGF0YV9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL25ldGRhdGEvbmV0ZGF0YV9naXQuYmIKaW5kZXggYjBmMTYwMi4uMzkwZmE0YiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi9uZXRkYXRhL25ldGRhdGFfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vbmV0ZGF0YS9uZXRkYXRhX2dpdC5iYgpAQCAtMjcsNiArMjcsOCBAQAogCiBpbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMgdXNlcmFkZCBzeXN0ZW1kCiAKK0xERkxBR1MgKz0gIi1wdGhyZWFkIgorCiAjc3lzdGVtZAogU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKIFNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJuZXRkYXRhLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvUkVBRE1FIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL1JFQURNRQppbmRleCA0ZDhkYzQ1Li43NDMxZThiIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvUkVBRE1FCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9SRUFETUUKQEAgLTEsMTEgKzEsMTEgQEAKIFRoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAotYnJhbmNoOiB0aHVkCiticmFuY2g6IG1hc3RlcgogcmV2aXNpb246IEhFQUQKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLmdpdAotYnJhbmNoOiB0aHVkCiticmFuY2g6IG1hc3RlcgogcmV2aXNpb246IEhFQUQKIG1ldGEteGZjZSBkZXBlbmRzIG9uIG1ldGEtb2UsIG1ldGEtZ25vbWUgYW5kIG1ldGEtbXVsdGltZWRpYSBpbiB0aGlzIHJlcG9zaXRvcnkuCiAKQEAgLTE0LDkgKzE0LDkgQEAKIAogQkJNQVNLID0gIm1ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEiCiAKLVNlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS14ZmNlXVt0aHVkXScgaW4gdGhlIHN1YmplY3QnCitTZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEteGZjZV0nIGluIHRoZSBzdWJqZWN0JwogCiBXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2luZyBzb21ldGhpbmcgbGlrZToKLSdnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS14ZmNlXVt0aHVkXVtQQVRDSCcKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS14ZmNlXVtQQVRDSCcKIAotVGh1ZCBNYWludGFpbmVyOiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorTGF5ZXIgbWFpbnRhaW5lcjogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NvbmYvbGF5ZXIuY29uZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jb25mL2xheWVyLmNvbmYKaW5kZXggZjVmNDRkNi4uNmU5ZDg5MiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NvbmYvbGF5ZXIuY29uZgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY29uZi9sYXllci5jb25mCkBAIC0xOCw3ICsxOCw3IEBACiBMQVlFUkRFUEVORFNfeGZjZS1sYXllciArPSAibXVsdGltZWRpYS1sYXllciIKIExBWUVSREVQRU5EU194ZmNlLWxheWVyICs9ICJtZXRhLXB5dGhvbiIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX3hmY2UtbGF5ZXIgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF94ZmNlLWxheWVyID0gInRodWQgd2FycmlvciIKIAogU0lHR0VOX0VYQ0xVREVfU0FGRV9SRUNJUEVfREVQUyArPSAiIFwKICAgeGZjZTQtc2Vzc2lvbi0+bWFjaGluZS1ob3N0IFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvY2F0ZmlzaC9jYXRmaXNoXzEuNC42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9jYXRmaXNoL2NhdGZpc2hfMS40LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyOWY4ODIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9jYXRmaXNoL2NhdGZpc2hfMS40LjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1TVU1NQVJZID0gIkNhdGZpc2ggaXMgYSBoYW5keSBmaWxlIHNlYXJjaGluZyB0b29sIGZvciBsaW51eCBhbmQgdW5peCIKLVNFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgotCi1pbmhlcml0IHhmY2UtYXBwIGRpc3R1dGlsczMgZ3RrLWljb24tY2FjaGUKLQotREVQRU5EUyArPSAicHl0aG9uMy1kaXN0dXRpbHMtZXh0cmEtbmF0aXZlIgotCi1CID0gIiR7U30iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI4NzkxOTdjOTQwMGJlMmE4MGQ1MWFiZjQ5NGJmZmZiNiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlMWNhZWUxNGM1MjY4YWM3ODE0MzQ3MDFjMGViMjZlZGRmY2VkMmMwZjFhZTA2NjU0OTU4M2VkMDVmOTlhZGJmIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9tZXRhaW5mbyIKLQotUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbjMtcHlnb2JqZWN0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9jYXRmaXNoL2NhdGZpc2hfMS40LjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL2NhdGZpc2gvY2F0ZmlzaF8xLjQuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGQ1NjkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9jYXRmaXNoL2NhdGZpc2hfMS40LjcuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJDYXRmaXNoIGlzIGEgaGFuZHkgZmlsZSBzZWFyY2hpbmcgdG9vbCBmb3IgbGludXggYW5kIHVuaXgiCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKKworaW5oZXJpdCB4ZmNlLWFwcCBkaXN0dXRpbHMzIGd0ay1pY29uLWNhY2hlCisKK0RFUEVORFMgKz0gInB5dGhvbjMtZGlzdHV0aWxzLWV4dHJhLW5hdGl2ZSIKKworQiA9ICIke1N9IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjRjMWMyYjJjNTYwODI0Y2FiOGQ3ZjZjN2JkNjI0Y2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDhjYWFhYzg3MmQyOWUyNzYyZTMxZTU5YWRlMTMxMGNiODYwYWY1NWYxYTM2ZjI1MjBjZTFkOTBjMzkyMjdlOSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vbWV0YWluZm8iCisKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24zLXB5Z29iamVjdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvbWVudWxpYnJlL21lbnVsaWJyZV8yLjIuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvbWVudWxpYnJlL21lbnVsaWJyZV8yLjIuMC5iYgppbmRleCBiMGU0Nzg0Li4xZTllNWYxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL21lbnVsaWJyZS9tZW51bGlicmVfMi4yLjAuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9tZW51bGlicmUvbWVudWxpYnJlXzIuMi4wLmJiCkBAIC0xMyw3ICsxMyw3IEBACiAKIFJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCiAKLVNSQ19VUkkgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L21lbnVsaWJyZS8yLjIvJHtQVn0vK2Rvd25sb2FkLyR7UE59LSR7UFZ9LnRhci5neiIKK1NSQ19VUkkgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L21lbnVsaWJyZS8yLjIvJHtQVn0vK2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIuZ3oiCiBTUkNfVVJJW21kNXN1bV0gPSAiOTY5MDg0OGRiZjkxOTZjM2Y3YmFhNTc0ZTkwMzc4ZDgiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTQ2ZmVjODdmNDUxYzhmNWMyMjBkMDJiMWYzNmRkODUwZjRjZTlhYjYwN2Y4ZTk3MTFlZDhmMjAwOWUzNDlmZSIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94YXJjaGl2ZXIveGFyY2hpdmVyX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGFyY2hpdmVyL3hhcmNoaXZlcl9naXQuYmIKaW5kZXggYTI3YzhmNS4uNzQ0NWNkNyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94YXJjaGl2ZXIveGFyY2hpdmVyX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hhcmNoaXZlci94YXJjaGl2ZXJfZ2l0LmJiCkBAIC01LDIyICs1LDI5IEBACiBMSUNFTlNFID0gIkdQTHYyKyIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgogCi1ERVBFTkRTID0gImd0aysgZ2xpYi0yLjAgeGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSBpbnRsdG9vbC1uYXRpdmUiCitERVBFTkRTID0gImd0ayszIGdsaWItMi4wIHhmY2U0LWRldi10b29scy1uYXRpdmUgaW50bHRvb2wtbmF0aXZlIgogCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2Nobml0emVsdG9ueS94YXJjaGl2ZXIuZ2l0O2JyYW5jaD1tYXN0ZXIiCi1TUkNSRVYgPSAiNWEyNmRkOGNlYWIwYWY3MWIzMGM4MzI4NmQ3YzczOThhODU4YzgxNCIKLVBWID0gIjAuNS4zIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2liL3hhcmNoaXZlci5naXQiCitTUkNSRVYgPSAiOWFiOTU4YTQwMjNiNjJiNDM5NzJjNTVhMzE0M2ZmMDcyMmJkODhhNiIKK1BWID0gIjAuNS40LjE0IgogUyA9ICIke1dPUktESVJ9L2dpdCIKIAotaW5oZXJpdCB4ZmNlLWdpdCBnZXR0ZXh0IHBrZ2NvbmZpZyBhdXRvdG9vbHMgZ3RrLWljb24tY2FjaGUgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCitpbmhlcml0IGdldHRleHQgcGtnY29uZmlnIGF1dG90b29scyBndGstaWNvbi1jYWNoZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKIAogUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKIAogIyBpbnN0YWxsIHRhcCBmaWxlcyBmb3IgdGh1bmFyLWFyY2hpdmUtcGx1Z2luIGluICR7bGliZGlyfS90aHVuYXItYXJjaGl2ZS1wbHVnaW4KIEVYVFJBX09FQ09ORiArPSAiLS1saWJleGVjZGlyPSR7bGliZGlyfSIKIAotRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1tYWludGFpbmVyLW1vZGUiCitFWFRSQV9PRUNPTkYgKz0gIiBcCisgICAgLS1lbmFibGUtbWFpbnRhaW5lci1tb2RlIFwKKyAgICAtLWRpc2FibGUtZG9jIFwKKyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIHRvdWNoICR7U30vTkVXUyAke1N9L0FVVEhPUlMKK30KIAogRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS90aHVuYXItYXJjaGl2ZS1wbHVnaW4iCiAKLVJSRUNPTU1FTkRTXyR7UE59ID0gImx6b3AgemlwIHRhciBiemlwMiB1bnppcCB4eiIKK1JSRUNPTU1FTkRTXyR7UE59ID0gImx6b3AgemlwIHRhciBiemlwMiB1bnppcCB4eiBwN3ppcCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbWl4ZXIvZmlsZXMvMDAwMS1GaXgtYnVpbGQtYWZ0ZXItdXBkYXRlLW9mLXhmY29uZi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbWl4ZXIvZmlsZXMvMDAwMS1GaXgtYnVpbGQtYWZ0ZXItdXBkYXRlLW9mLXhmY29uZi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzEyMTZjMC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LW1peGVyL2ZpbGVzLzAwMDEtRml4LWJ1aWxkLWFmdGVyLXVwZGF0ZS1vZi14ZmNvbmYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi1Gcm9tIDZlY2FlY2VkMjkxZjkzNWE5ZDQxZTliYzMzNDExMzU4Yzk1YTVlOTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotRGF0ZTogTW9uLCAyMiBKYW4gMjAxOCAxNTozNTowOCArMDEwMAotU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGQgYWZ0ZXIgdXBkYXRlIG9mIHhmY29uZgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi14ZmNvbmYgc3RvcHBlZCB1c2luZyBkYnVzLWdsaWIgc28gcmVxdWlyZWQgZmxhZ3MgbXVzdCBiZSBpbmNsdWRlZCBoZXJlCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotLS0tCi0gcGFuZWwtcGx1Z2luL01ha2VmaWxlLmFtIHwgMiArKwotIHhmY2U0LW1peGVyL01ha2VmaWxlLmFtICB8IDIgKysKLSAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvcGFuZWwtcGx1Z2luL01ha2VmaWxlLmFtIGIvcGFuZWwtcGx1Z2luL01ha2VmaWxlLmFtCi1pbmRleCBhNDk0NjgyLi5iMDk0NDcyIDEwMDY0NAotLS0tIGEvcGFuZWwtcGx1Z2luL01ha2VmaWxlLmFtCi0rKysgYi9wYW5lbC1wbHVnaW4vTWFrZWZpbGUuYW0KLUBAIC0yNyw2ICsyNyw3IEBAIGxpYm1peGVyX2xhX0NGTEFHUyA9CQkJCQkJCVwKLSAJJChMSUJYRkNFNFVJX0NGTEFHUykJCQkJCQlcCi0gCSQoTElCWEZDRTRQQU5FTF9DRkxBR1MpCQkJCQkJXAotIAkkKFhGQ09ORl9DRkxBR1MpCQkJCQkJXAotKwkkKERCVVNfR0xJQl9DRkxBR1MpCQkJCQkJXAotIAkkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKQkJCQkJXAotIAkkKEtFWUJJTkRFUl9DRkxBR1MpCi0gCi1AQCAtNDgsNiArNDksNyBAQCBsaWJtaXhlcl9sYV9MSUJBREQgPQkJCQkJCQlcCi0gCSQoTElCWEZDRTRVSV9MSUJTKQkJCQkJCVwKLSAJJChMSUJYRkNFNFBBTkVMX0xJQlMpCQkJCQkJXAotIAkkKFhGQ09ORl9MSUJTKQkJCQkJCQlcCi0rCSQoREJVU19HTElCX0xJQlMpCQkJCQkJXAotIAkkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykJCQkJCVwKLSAJLWxnc3RhdWRpby0wLjEwCQkJCQkJCVwKLSAJLWxnc3RpbnRlcmZhY2VzLTAuMTAJCQkJCQlcCi1kaWZmIC0tZ2l0IGEveGZjZTQtbWl4ZXIvTWFrZWZpbGUuYW0gYi94ZmNlNC1taXhlci9NYWtlZmlsZS5hbQotaW5kZXggNGFmNjllOS4uZTA3NmZjOCAxMDA2NDQKLS0tLSBhL3hmY2U0LW1peGVyL01ha2VmaWxlLmFtCi0rKysgYi94ZmNlNC1taXhlci9NYWtlZmlsZS5hbQotQEAgLTMyLDYgKzMyLDcgQEAgeGZjZTRfbWl4ZXJfQ0ZMQUdTID0gCQkJCQkJCVwKLSAJJChVTklRVUVfQ0ZMQUdTKQkJCQkJCVwKLSAJJChMSUJYRkNFNFVUSUxfQ0ZMQUdTKQkJCQkJCVwKLSAJJChMSUJYRkNFNFVJX0NGTEFHUykJCQkJCQlcCi0rCSQoREJVU19HTElCX0NGTEFHUykJCQkJCQlcCi0gCSQoWEZDT05GX0NGTEFHUykJCQkJCQlcCi0gCSQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpCi0gCi1AQCAtNDYsNiArNDcsNyBAQCB4ZmNlNF9taXhlcl9MREZMQUdTID0gCQkJCQkJCVwKLSAJJChVTklRVUVfTElCUykJCQkJCQkJXAotIAkkKExJQlhGQ0U0VVRJTF9MSUJTKQkJCQkJCVwKLSAJJChMSUJYRkNFNFVJX0xJQlMpCQkJCQkJXAotKwkkKERCVVNfR0xJQl9MSUJTKQkJCQkJCVwKLSAJJChYRkNPTkZfTElCUykJCQkJCQkJXAotIAkkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykJCQkJCVwKLSAJLWxnc3RhdWRpby0wLjEwCQkJCQkJCVwKLS0tIAotMi4xNC4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbWl4ZXIveGZjZTQtbWl4ZXJfNC4xMS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1taXhlci94ZmNlNC1taXhlcl80LjExLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjMDU3ZDguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1taXhlci94ZmNlNC1taXhlcl80LjExLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1TVU1NQVJZID0gIkEgdm9sdW1lIGNvbnRyb2wgYXBwbGljYXRpb24gYmFzZWQgb24gR1N0cmVhbWVyIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgotCi1pbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCi0KLURFUEVORFMgKz0gImdsaWItMi4wIGdzdC1wbHVnaW5zLWJhc2UgZ3RrKyB4ZmNvbmYgbGlidW5pcXVlIgotCi1TUkNfVVJJID0gIiBcCi0gICAgaHR0cDovL2FyY2hpdmUueGZjZS5vcmcvc3JjL2FwcHMvJHtCUE59LyR7QHhmY2VfdmVyZGlyKCIke1BWfSIpfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCi0gICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLWFmdGVyLXVwZGF0ZS1vZi14ZmNvbmYucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMWIzNzUzYjkxMjI0ODY3YTNhMmRmZGRkYTIzOWMyOGQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmIwYzFkZjIwMWVkMTEzMGY1NGYxNWI5MTRjYmU1YTU5Mjg2ZTk5NGExMzdhY2RhNTYwOTU3MGM1NzExMmRlMiIKLQotUkRFUEVORFNfJHtQTn0gPSAiZ3N0LW1ldGEtYXVkaW8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXNjcmVlbnNob290ZXIveGZjZTQtc2NyZWVuc2hvb3Rlcl8xLjkuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOS4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNmE0Y2RiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotU1VNTUFSWSA9ICJBcHBsaWNhdGlvbiB0byB0YWtlIHNjcmVlbnNob3RzIgotSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvYXBwbGljYXRpb25zL3hmY2U0LXNjcmVlbnNob290ZXIiCi1TRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kNzkxNzI4YTA3M2JjMDA5YjRmZmFmMDBiNzU5OTg1NSIKLURFUEVORFMgPSAieGZjZTQtcGFuZWwgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgZ2RrLXBpeGJ1ZiBndGsrIGdsaWItMi4wIGxpYnNvdXAtMi40IGV4byBsaWJ4Zml4ZXMgeGV4dCB2aXJ0dWFsL2xpYngxMSIKLQotaW5oZXJpdCB4ZmNlLWFwcAotCi1TUkNfVVJJW21kNXN1bV0gPSAiZjc4M2ViNTc1ZTIwMTVmMzllMWMxYWFlNDk5YjExM2YiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzY0ZWJkZGM0Yzk5NzFiNDAyM2FhODAxOWQ0ZTNiZDA4ZjA5MWI2NWRjOThiMjE4YmViNTU4NTFmNjljZWRhMiIKLQotZG9fY29tcGlsZV9wcmVwZW5kKCkgewotICAgIG1rZGlyIC1wIGxpYgotICAgIG1rZGlyIC1wIHNyYyBwYW5lbC1wbHVnaW4KLX0KLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS9hcHBkYXRhIFwKLSAgICAke2RhdGFkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMgXAotICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOS40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1zY3JlZW5zaG9vdGVyL3hmY2U0LXNjcmVlbnNob290ZXJfMS45LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M1ODQ4YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOS40LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiQXBwbGljYXRpb24gdG8gdGFrZSBzY3JlZW5zaG90cyIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL2FwcGxpY2F0aW9ucy94ZmNlNC1zY3JlZW5zaG9vdGVyIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDc5MTcyOGEwNzNiYzAwOWI0ZmZhZjAwYjc1OTk4NTUiCitERVBFTkRTID0gInhmY2U0LXBhbmVsIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGdkay1waXhidWYgZ3RrKyBnbGliLTIuMCBsaWJzb3VwLTIuNCBleG8gbGlieGZpeGVzIHhleHQgdmlydHVhbC9saWJ4MTEiCisKK2luaGVyaXQgeGZjZS1hcHAKKworU1JDX1VSSVttZDVzdW1dID0gIjY4MzIxZTUwOTM5ZmVhM2M2NmYwNzcxZDU5ODQ1ZGFiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0ZjMyMjViM2Y3M2YxZmViMTg2OTgwN2I4YjI3YWVjNGMzMmEzZTljMjk1NDkxNWE1ZmIzOWQxOGQzYTYwZjIiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBta2RpciAtcCBsaWIKKyAgICBta2RpciAtcCBzcmMgcGFuZWwtcGx1Z2luCit9CisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vYXBwZGF0YSBcCisgICAgJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zIFwKKyAgICAke2xpYmRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucyBcCisiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXRhc2ttYW5hZ2VyL3hmY2U0LXRhc2ttYW5hZ2VyXzEuMi4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC10YXNrbWFuYWdlci94ZmNlNC10YXNrbWFuYWdlcl8xLjIuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGFmZWExZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXRhc2ttYW5hZ2VyL3hmY2U0LXRhc2ttYW5hZ2VyXzEuMi4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotU1VNTUFSWSA9ICJFYXN5IHRvIHVzZSB0YXNrIG1hbmFnZXIiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCi0KLWluaGVyaXQgeGZjZS1hcHAKLQotREVQRU5EUyArPSAiZ3RrKyBjYWlybyBsaWJ3bmNrIGxpYnhtdSB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGV4by1uYXRpdmUiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI0YTJkMGIxZTgwMDFmYjM0MzEzOWE5N2Q1N2I1NmVhYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyMmU1MjNlMmVlMjMxNzEzZjQwYTQ4ODkwZDhjYmFlOTkzMjBhYzExNzNmN2M2ODUwMmY0OTAzMThlMWUwNDA5IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC10YXNrbWFuYWdlci94ZmNlNC10YXNrbWFuYWdlcl8xLjIuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtdGFza21hbmFnZXIveGZjZTQtdGFza21hbmFnZXJfMS4yLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjNhNTljOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtdGFza21hbmFnZXIveGZjZTQtdGFza21hbmFnZXJfMS4yLjIuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJFYXN5IHRvIHVzZSB0YXNrIG1hbmFnZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1hcHAKKworREVQRU5EUyArPSAiZ3RrKzMgY2Fpcm8gbGlid25jayBsaWJ4bXUgeGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSBleG8tbmF0aXZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjU3ODYyNWZmYmUwNjliMTM4NTMzZmY1ZTc3ZGY3MzQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTQ5YTYxYzgxOWE0ZmQ5Mjg2YTY1YWU2MTYwNTk4NGYzMjdjOGIyNmNmOTM5Mjg5ZjY0NGU2NTZiZmEyMGUxMyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEveGZjZTQtbXBjLXBsdWdpbi94ZmNlNC1tcGMtcGx1Z2luXzAuNS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94ZmNlNC1tcGMtcGx1Z2luL3hmY2U0LW1wYy1wbHVnaW5fMC41LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmNTAxZjcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94ZmNlNC1tcGMtcGx1Z2luL3hmY2U0LW1wYy1wbHVnaW5fMC41LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gIlNpbXBsZSBjbGllbnQgcGx1Z2luIGZvciBNdXNpYyBQbGF5ZXIgRGFlbW9uIgotSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1tcGMtcGx1Z2luIgotU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCi1MSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM2MDRkOTg3ZTZkZmRmYzY3MmM3NTRkMDg5NTNiMGUwIgotCi1pbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCi0KLURFUEVORFMgKz0gImxpYm1wZCIKLQotIyBXaGlsZSB0aGlzIGl0ZW0gZG9lcyBub3QgcmVxdWlyZSBpdCwgaXQgZGVwZW5kcyBvbiBtcGQgd2hpY2ggZG9lcwotTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgotCi0jIGZvciBub3cgd2UgcmVjb21tZW5kIG91ciBvd24gbXBkLXNlcnZlcgotUlJFQ09NTUVORFNfJHtQTn0gPSAibXBkIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMTNkNWQ5NWVmMGMzMDViYWM0NWZkZTYyMzEyNThlNWQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjEzMjA5MTZhZTMxMTJlNjgyNTY5OTY1MmE1MDJjZWJmYTc4YmIwMDZjNjQ5YjQyZDNkMzMxZGZlNTdiNmNiMCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEveGZjZTQtbXBjLXBsdWdpbi94ZmNlNC1tcGMtcGx1Z2luXzAuNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94ZmNlNC1tcGMtcGx1Z2luL3hmY2U0LW1wYy1wbHVnaW5fMC41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODUyMzU0OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEveGZjZTQtbXBjLXBsdWdpbi94ZmNlNC1tcGMtcGx1Z2luXzAuNS4xLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiU2ltcGxlIGNsaWVudCBwbHVnaW4gZm9yIE11c2ljIFBsYXllciBEYWVtb24iCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LW1wYy1wbHVnaW4iCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzYwNGQ5ODdlNmRmZGZjNjcyYzc1NGQwODk1M2IwZTAiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworREVQRU5EUyArPSAibGlibXBkIgorCisjIFdoaWxlIHRoaXMgaXRlbSBkb2VzIG5vdCByZXF1aXJlIGl0LCBpdCBkZXBlbmRzIG9uIG1wZCB3aGljaCBkb2VzCitMSUNFTlNFX0ZMQUdTID0gImNvbW1lcmNpYWwiCisKKyMgZm9yIG5vdyB3ZSByZWNvbW1lbmQgb3VyIG93biBtcGQtc2VydmVyCitSUkVDT01NRU5EU18ke1BOfSA9ICJtcGQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMDVkZmRhY2IyYjIxOThlMWYxNjczZDYxZjg2ZTRmNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MzVlNjc4Yzk3Mjk2NjNlOWVhYWRmY2Y1ODQyNmY3Y2VhMzdlNmQzZmRhNWU4MTg5NTVmYmM4YWRlMDBkZTAxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luXzEuMS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luXzEuMS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZjdjNjVhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvYmF0dGVyeS94ZmNlNC1iYXR0ZXJ5LXBsdWdpbl8xLjEuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotU1VNTUFSWSA9ICJBIGJhdHRlcnkgbW9uaXRvciBwYW5lbCBwbHVnaW4gZm9yIFhmY2U0LCBjb21wYXRpYmxlIHdpdGggQVBNIGFuZCBBQ1AiCi1IT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWJhdHRlcnktcGx1Z2luIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgotCi1pbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIyNjk0MWM1NzllYmY0MTQzYjdlNDlhYTA4ZWU5YjMwYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxZTk0OTY5YjkzZTBjMWQ2ZGE4NzM2NGI2NGMwY2RmYjQwYmFlNWU0YTA1NTAzOWJlOGI2N2I5ZTViM2RkNDRiIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luXzEuMS4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luXzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkZTFjZTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2JhdHRlcnkveGZjZTQtYmF0dGVyeS1wbHVnaW5fMS4xLjIuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIkEgYmF0dGVyeSBtb25pdG9yIHBhbmVsIHBsdWdpbiBmb3IgWGZjZTQsIGNvbXBhdGlibGUgd2l0aCBBUE0gYW5kIEFDUCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtYmF0dGVyeS1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gImJhMWNmZTYxOTA0NjM3M2Y5YWY1YjkwM2M3N2QxODU4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ2MDEzNDlmYTlhOTc5ZGFlOTlhY2UzOWIyNGQ5OWI5N2Y2MmI4MGY0MmFjNWRlYTVhOTllNWFmM2U4OGQ3ZGIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2NhbGN1bGF0b3IveGZjZTQtY2FsY3VsYXRvci1wbHVnaW5fMC42LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2NhbGN1bGF0b3IveGZjZTQtY2FsY3VsYXRvci1wbHVnaW5fMC42LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlMGQwYTAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jYWxjdWxhdG9yL3hmY2U0LWNhbGN1bGF0b3ItcGx1Z2luXzAuNi4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1TVU1NQVJZID0gIkEgY2FsY3VsYXRvciBwbHVnaW4gZm9yIHRoZSBYZmNlIHBhbmVsIgotSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1jYWxjdWxhdG9yLXBsdWdpbiIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05MDk0MzBmNjNmZGRkNjNmMTIwYmEyOWU4OTc5ZjY1YyIKLQotaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbiBndGstaWNvbi1jYWNoZQotCi1TUkNfVVJJW21kNXN1bV0gPSAiMWI5NTZhODk2OTNkMDM5YTYxYjQ3MjVjZWZiMjNhNGQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWI1MTc2NTU4MGVhNDY1MGY5Y2YwNjIzODJhODIwZmI2NDgzZWU1ZGJlMDAzYWViNmYwNjM5MjllMjk5ZjljMiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY2FsY3VsYXRvci94ZmNlNC1jYWxjdWxhdG9yLXBsdWdpbl8wLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY2FsY3VsYXRvci94ZmNlNC1jYWxjdWxhdG9yLXBsdWdpbl8wLjcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjE2NDU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jYWxjdWxhdG9yL3hmY2U0LWNhbGN1bGF0b3ItcGx1Z2luXzAuNy4wLmJiCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJBIGNhbGN1bGF0b3IgcGx1Z2luIGZvciB0aGUgWGZjZSBwYW5lbCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtY2FsY3VsYXRvci1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTA5NDMwZjYzZmRkZDYzZjEyMGJhMjllODk3OWY2NWMiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4gZ3RrLWljb24tY2FjaGUKKworU1JDX1VSSVttZDVzdW1dID0gIjFhZTE5MmE2OTgzNGVlMmY1MWYzNGEwYTk4MTE4MWY0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdiNTBhYjk0N2FiMDU4ZTFjMDc5MTEzZTdmMGY4YjM4ZWYyNDJmZWMzNmVjOWYzMWJiNGUzYzE5Y2IzZjlkZTkiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3N5c3RlbWxvYWQveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW5fMS4yLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3N5c3RlbWxvYWQveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW5fMS4yLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlYjQ1MTguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9zeXN0ZW1sb2FkL3hmY2U0LXN5c3RlbWxvYWQtcGx1Z2luXzEuMi4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiUGFuZWwgcGx1Z2luIGRpc3BsYXlpbmcgY3VycmVudCBDUFUgbG9hZCwgdGhlIG1lbW9yeSBpbiB1c2UsIHRoZSBzd2FwIHNwYWNlIGFuZCB0aGUgc3lzdGVtIHVwdGltZSIKLUhPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW4iCi1MSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTlhY2IxNzJhOTNmZjZjNDNjY2UyYWZmNzkwYThhZWY4IgotCi1pbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCi0KLURFUEVORFMgKz0gInVwb3dlciIKLQotU1JDX1VSSVttZDVzdW1dID0gIjU1MDI3N2FmOTg4NmM0NzAwNTExNzExMGY2ZTdlYzBkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJiZjdkMDgwMjUzNGExZWIyZTlmMjUxYWYyYmI5N2FiYzNmNTg2MDhjMWYwMTUxMWQzMDJjMDYxMTFkMzQ4MTIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3N5c3RlbWxvYWQveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW5fMS4yLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3N5c3RlbWxvYWQveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW5fMS4yLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjlmYjJjYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvc3lzdGVtbG9hZC94ZmNlNC1zeXN0ZW1sb2FkLXBsdWdpbl8xLjIuMi5iYgpAQCAtMCwwICsxLDExIEBACitERVNDUklQVElPTiA9ICJQYW5lbCBwbHVnaW4gZGlzcGxheWluZyBjdXJyZW50IENQVSBsb2FkLCB0aGUgbWVtb3J5IGluIHVzZSwgdGhlIHN3YXAgc3BhY2UgYW5kIHRoZSBzeXN0ZW0gdXB0aW1lIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1zeXN0ZW1sb2FkLXBsdWdpbiIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OWFjYjE3MmE5M2ZmNmM0M2NjZTJhZmY3OTBhOGFlZjgiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworREVQRU5EUyArPSAidXBvd2VyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzdiOTIzN2VjNGE0MjFkZTVkYWM3NjQ0OWI0YjVhNzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2M2N2RmZWIwNDJlYWVhNWFjYTQ0MGRlOWM2YjNlY2Y5OWJlMGZiYWExY2Y3ZmRmOWU2NTI4MjMzYjQ2Yzk5ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2VhdGhlci94ZmNlNC13ZWF0aGVyLXBsdWdpbl8wLjkuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2VhdGhlci94ZmNlNC13ZWF0aGVyLXBsdWdpbl8wLjkuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTY2M2JiOS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3dlYXRoZXIveGZjZTQtd2VhdGhlci1wbHVnaW5fMC45LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1TVU1NQVJZID0gIlBhbmVsIHBsdWdpbiB0byBkaXNwbGF5IGN1cnJlbnQgdGVtcGVyYXR1cmUgYW5kIHdlYXRoZXIgY29uZGl0aW9uIgotSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC13ZWF0aGVyLXBsdWdpbiIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLQotaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgotCi1ERVBFTkRTICs9ICJsaWJzb3VwLTIuNCBkYnVzLWdsaWIgdXBvd2VyIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMjVkM2Q5ZmIyZTY4OGE2MTkyMDE2NTVmNmVlYTUxYzIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzQzNjhjZjIzMzI3NzRhZDJhMDUyMjZiMjkxNGVjYjYwZTc1NTBlOWIyMTY0YmU1M2ViZThmMzcwMTk4YmIzZCIKLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0veGZjZTQvd2VhdGhlciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2VhdGhlci94ZmNlNC13ZWF0aGVyLXBsdWdpbl8wLjkuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2VhdGhlci94ZmNlNC13ZWF0aGVyLXBsdWdpbl8wLjkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTNjYTEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93ZWF0aGVyL3hmY2U0LXdlYXRoZXItcGx1Z2luXzAuOS4xLmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiUGFuZWwgcGx1Z2luIHRvIGRpc3BsYXkgY3VycmVudCB0ZW1wZXJhdHVyZSBhbmQgd2VhdGhlciBjb25kaXRpb24iCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LXdlYXRoZXItcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK0RFUEVORFMgKz0gImxpYnNvdXAtMi40IGRidXMtZ2xpYiB1cG93ZXIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMGJkZTNiYTZhN2U4NjMwMjJhODZhMjNjNzg3MTI1NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3Y2RjMThiOGRmNzU5ZGVlNGNlYWFmNmNlMzAzZWZmN2ZkYTQ4ZTI0N2RiYzI2Yjc4MTQyOTI5MjEzNTA2Y2ZkIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNC93ZWF0aGVyIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93aGlza2VybWVudS94ZmNlNC13aGlza2VybWVudS1wbHVnaW5fMi4zLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3doaXNrZXJtZW51L3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbl8yLjMuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjRhMzJmYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3doaXNrZXJtZW51L3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbl8yLjMuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLVNVTU1BUlkgPSAiQW4gYWx0ZXJuYXRlIG1lbnUgZm9yIHRoZSBYZmNlIGRlc2t0b3AgZW52aXJvbm1lbnQiCi1IT01FUEFHRSA9ICJodHRwOi8vZ290dGNvZGUub3JnL3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbi8iCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi0KLWluaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4gY21ha2UKLQotU1JDX1VSSVttZDVzdW1dID0gImQyMzgzYzNlYjFiNTRhZGY1YTIwNjk3M2JkMjBmMTU5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdlNTY5YmIwZGZmN2UzZGIzZDk2NGUyMzMyM2Y1NGM2ZGU3MjQ5NzQxYzZhMGUzM2EwZmE1MDFkODMwNDBiMTYiCi0KLVJSRUNPTU1FTkRTXyR7UE59ICs9ICJtZW51bGlicmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3doaXNrZXJtZW51L3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbl8yLjMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2hpc2tlcm1lbnUveGZjZTQtd2hpc2tlcm1lbnUtcGx1Z2luXzIuMy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzMGEyNGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3doaXNrZXJtZW51L3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbl8yLjMuMi5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkFuIGFsdGVybmF0ZSBtZW51IGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL2dvdHRjb2RlLm9yZy94ZmNlNC13aGlza2VybWVudS1wbHVnaW4vIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luIGNtYWtlCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlOWFhNmMzMzQ2M2JkNTY0YzQ3ZTE5NDNjMGZjN2FjMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMWJmNmJlMzdmNzc3OGE0ODZiMTZlZjExNWQ0YzA1MTIwY2MxMmM4N2U0YWYzYWY5YzUwMDEyNzZiZGNiN2NjIgorCitSUkVDT01NRU5EU18ke1BOfSArPSAibWVudWxpYnJlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltXyUuYmJhcHBlbmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fJS5iYmFwcGVuZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2I0NDk2My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fJS5iYmFwcGVuZAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLXJlcXVpcmUgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAnJHtCUE59X3hmY2UuaW5jJywgJycsIGQpfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltX3hmY2UuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltX3hmY2UuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNTQwM2U2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbV94ZmNlLmluYworKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0JIyBUaGUgbW91c2UgYmVpbmcgYXV0b2VuYWJsZWQgaXMganVzdCBhbm5veWluZyBpbiB4ZmNlNC10ZXJtaW5hbCAobW91c2UKLQkjIGRyYWcgbWFrZSB2aW0gZ28gaW50byB2aXN1YWwgbW9kZSBhbmQgdGhlcmUgaXMgbm8gcmlnaHQgY2xpY2sgbWVudSksCi0JIyBkZWxldGUgdGhlIGJsb2NrLgotCXNlZCAtaSAnL3RoZSBtb3VzZSB3b3JrcyBqdXN0IGZpbmUvLCs0ZCcgJHtEfS8ke2RhdGFkaXJ9LyR7QlBOfS92aW1yYwotfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTIuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZXhvL2V4b18wLjEyLjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDljNDgyOWIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTIuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLURFU0NSSVBUSU9OPSJBcHBsaWNhdGlvbiBsaWJyYXJ5IGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgotU0VDVElPTiA9ICJ4MTEiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi1ERVBFTkRTID0gImd0aysgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgdmlydHVhbC9saWJ4MTEgbGlidXJpLXBlcmwtbmF0aXZlIGNhaXJvIgotREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiZ2xpYi0yLjAtbmF0aXZlIHhmY2U0LWRldi10b29scy1uYXRpdmUgaW50bHRvb2wtbmF0aXZlIgotCi1pbmhlcml0IHhmY2UgcHl0aG9ubmF0aXZlIHBlcmxuYXRpdmUgZ3RrLWRvYyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFU19jbGFzcy1uYXRpdmUgPSAiIgotCi0jIFNSQ19VUkkgbXVzdCBmb2xsb3cgaW5oZXJpdGVkIG9uZQotU1JDX1VSSSArPSAiIFwKLSAgICBmaWxlOi8vZXhvLW5vLXRlc3RzLTAuOC5wYXRjaCBcCi0gICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCBcCi0iCi0KLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgXAotICAgIGZpbGU6Ly9yZWR1Y2UtYnVpbGQtdG8tZXhvLWNzb3VyY2Utb25seS5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJkYTkzNGM1OTM5ZjJlZTQ1NDBmNWQ0ODk5MTA1M2YwMSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiOTZmZTg2YmI1MDRhYTliMzMzMmI5NjEwNWQ3NTVmNWQ5MDUyYzkwM2ZkNjU3NGI1MTJhNWVmNzZjMGFkNDM5IgotCi1QQUNLQUdFUyA9KyAiZXhvLWNzb3VyY2UiCi0KLSMgTm90ZTogcHl0aG9uIGJpbmRpbmdzIGRpZCBub3Qgd29yayBpbiBvZS1kZXYgYW5kIGFyZSBhYm91dCB0byBiZSBtb3ZlZCB0bwotIyBweXhmY2Ugc2VlIGh0dHA6Ly9jb21tZW50cy5nbWFuZS5vcmcvZ21hbmUuY29tcC5kZXNrdG9wLnhmY2UuZGV2ZWwudmVyc2lvbjQvMTk1NjAKLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hmY2U0LyBcCi0gICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3hmY2U0L2V4by0xIFwKLSIKLQotRklMRVNfZXhvLWNzb3VyY2UgKz0gIiR7YmluZGlyfS9leG8tY3NvdXJjZSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2V4by9leG9fMC4xMi40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTIuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjdlZGZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTIuNC5iYgpAQCAtMCwwICsxLDM2IEBACitERVNDUklQVElPTj0iQXBwbGljYXRpb24gbGlicmFyeSBmb3IgdGhlIFhmY2UgZGVza3RvcCBlbnZpcm9ubWVudCIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorREVQRU5EUyA9ICJndGsrIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIHZpcnR1YWwvbGlieDExIGxpYnVyaS1wZXJsLW5hdGl2ZSBjYWlybyIKK0RFUEVORFNfY2xhc3MtbmF0aXZlID0gImdsaWItMi4wLW5hdGl2ZSB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCB4ZmNlIHB5dGhvbm5hdGl2ZSBwZXJsbmF0aXZlIGd0ay1kb2MgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVNfY2xhc3MtbmF0aXZlID0gIiIKKworIyBTUkNfVVJJIG11c3QgZm9sbG93IGluaGVyaXRlZCBvbmUKK1NSQ19VUkkgKz0gIiBcCisgICAgZmlsZTovL2V4by1uby10ZXN0cy0wLjgucGF0Y2ggXAorICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorIgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIFwKKyAgICBmaWxlOi8vcmVkdWNlLWJ1aWxkLXRvLWV4by1jc291cmNlLW9ubHkucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTYyYmJjY2IzOGRiMGFlY2Q0MTUxY2E5N2Y2YTM5YmMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjBhZjYwODE2YmRiNTcyY2U1M2YxOTQ2MmZiMWYzYTU4OTVhMDQwMTdhODc4ODkzZGMwM2MxNjZlYTIwNTBhZiIKKworUEFDS0FHRVMgPSsgImV4by1jc291cmNlIgorCisjIE5vdGU6IHB5dGhvbiBiaW5kaW5ncyBkaWQgbm90IHdvcmsgaW4gb2UtZGV2IGFuZCBhcmUgYWJvdXQgdG8gYmUgbW92ZWQgdG8KKyMgcHl4ZmNlIHNlZSBodHRwOi8vY29tbWVudHMuZ21hbmUub3JnL2dtYW5lLmNvbXAuZGVza3RvcC54ZmNlLmRldmVsLnZlcnNpb240LzE5NTYwCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNC8gXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS94ZmNlNC9leG8tMSBcCisiCisKK0ZJTEVTX2V4by1jc291cmNlICs9ICIke2JpbmRpcn0vZXhvLWNzb3VyY2UiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZ2FyY29uXzAuNi4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZ2FyY29uXzAuNi4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNmUyMzY5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZ2FyY29uL2dhcmNvbl8wLjYuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLURFU0NSSVBUSU9OPSJYZmNlIE1lbnUgTGlicmFyeSIKLVNFQ1RJT04gPSAieDExL2xpYnMiCi1MSUNFTlNFID0gIkxHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA0YTAxYWJjYmRhYmZmYWUxY2EyNjMzNWEyOTMyNzZiIgotREVQRU5EUyA9ICJ4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGludGx0b29sLW5hdGl2ZSIKLQotaW5oZXJpdCB4ZmNlIGd0ay1kb2MgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXhmY2UtYXBwbGljYXRpb25zLm1lbnUtZG9uLXQtYmxvYXQtc2V0dGluZ3MtbWVudS1ieS0ucGF0Y2giCi1TUkNfVVJJW21kNXN1bV0gPSAiMTc0NjkwYWQxOTI0M2Y3ZWY5NTI5Y2IwYzI0YjkwODAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDFjMzFiYTA0OThjMmNjMzlkZTRhOGUwYzIzNjc1MTBhZGJmNGJjMjEwNGMxN2ZlZWUzNThlNTFlNmFjZjYwMyIKLQotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1ndGstZG9jIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kZXNrdG9wLWRpcmVjdG9yaWVzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZ2FyY29uXzAuNi4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZ2FyY29uXzAuNi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3MDk2ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2dhcmNvbi9nYXJjb25fMC42LjIuYmIKQEAgLTAsMCArMSwxNyBAQAorREVTQ1JJUFRJT049IlhmY2UgTWVudSBMaWJyYXJ5IgorU0VDVElPTiA9ICJ4MTEvbGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDRhMDFhYmNiZGFiZmZhZTFjYTI2MzM1YTI5MzI3NmIiCitERVBFTkRTID0gInhmY2U0LWRldi10b29scy1uYXRpdmUgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgaW50bHRvb2wtbmF0aXZlIgorCitpbmhlcml0IHhmY2UgZ3RrLWRvYyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEteGZjZS1hcHBsaWNhdGlvbnMubWVudS1kb24tdC1ibG9hdC1zZXR0aW5ncy1tZW51LWJ5LS5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNGI2MzMyZmY2ZjA5MDU3NWQ1MzRkNmE5ZDI3NjFkOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhODdmMDk2NDhmZjEwZDQ1YzUyNGIzYmZlNjE4ZjE4NjIyYmRkOGIyMDU1ODlkMzVmZWQyZjEyZDljNzljNDdjIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWd0ay1kb2MiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2Rlc2t0b3AtZGlyZWN0b3JpZXMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtZXh0ZW5kZWQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtZXh0ZW5kZWQuYmIKaW5kZXggNWY4YzAzYy4uYjQxMmMyNyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC14ZmNlLWV4dGVuZGVkLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAteGZjZS1leHRlbmRlZC5iYgpAQCAtNjQsNyArNjQsNiBAQAogICAgIHhmY2U0LWFwcGZpbmRlciBcCiAgICAgeGZjZTQtc2NyZWVuc2hvb3RlciBcCiAgICAgeGZjZTQtcG93ZXItbWFuYWdlciBcCi0gICAgeGZjZTQtbWl4ZXIgXAogICAgIHJpc3RyZXR0byBcCiAgICAgeGZjZTQtdGFza21hbmFnZXIgXAogICAgIGdpZ29sbyBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci12b2xtYW4vdGh1bmFyLXZvbG1hbl8wLjkuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyLXZvbG1hbi90aHVuYXItdm9sbWFuXzAuOS4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTM3YjY5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyLXZvbG1hbi90aHVuYXItdm9sbWFuXzAuOS4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotU1VNTUFSWSA9ICJBdXRvbWF0aWMgbWFuYWdlbWVudCBvZiByZW1vdmFibGUgZHJpdmVzIGFuZCBtZWRpYSBmb3IgdGh1bmFyIgotU0VDVElPTiA9ICJ4MTEiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCi1ERVBFTkRTID0gImV4byBnbGliLTIuMCBsaWJ4ZmNlNHVpIGxpYnhmY2U0dXRpbCB4ZmNvbmYgbGlibm90aWZ5IGxpYmd1ZGV2IgotCi1pbmhlcml0IHhmY2UgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIzYjQwM2E0Zjg0NjkyNzM5MWVhNGJlZTc2NWEwNTVkZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlNGJmZmNmZWUxNTUzMGUyNzdmYTgwODY1ZWIxZGUzMWU2M2M3ZWZmYWY4ODM1YzlmYTdjNzFlNWEwMDc2YjJlIgotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tub3RpZnldID0gIi0tZW5hYmxlLW5vdGlmaWNhdGlvbnMsLS1kaXNhYmxlLW5vdGlmaWNhdGlvbnMsbGlibm90aWZ5IgotCi1SREVQRU5EU18ke1BOfSA9ICJlamVjdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyLXZvbG1hbi90aHVuYXItdm9sbWFuXzAuOS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXItdm9sbWFuL3RodW5hci12b2xtYW5fMC45LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzEyNDUzYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyLXZvbG1hbi90aHVuYXItdm9sbWFuXzAuOS4xLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiQXV0b21hdGljIG1hbmFnZW1lbnQgb2YgcmVtb3ZhYmxlIGRyaXZlcyBhbmQgbWVkaWEgZm9yIHRodW5hciIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJleG8gZ2xpYi0yLjAgbGlieGZjZTR1aSBsaWJ4ZmNlNHV0aWwgeGZjb25mIGxpYm5vdGlmeSBsaWJndWRldiIKKworaW5oZXJpdCB4ZmNlIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDk5MmExOGY0MjI5MThjMzNiNTYyZDZlNjYwNDU3NTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2Q4NzI5MWE0MjdlOGE1NjFjNTY2ZGNhM2FhN2U5M2I1NmZkY2U0Y2FlZmM3NTVkZGUwZjU5MTk4ZjZkYjM1OSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1ub3RpZmljYXRpb25zLC0tZGlzYWJsZS1ub3RpZmljYXRpb25zLGxpYm5vdGlmeSIKKworUkRFUEVORFNfJHtQTn0gPSAiZWplY3QiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci90aHVuYXJfMS44LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci90aHVuYXJfMS44LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyYTBlMzAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXIvdGh1bmFyXzEuOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotU1VNTUFSWSA9ICJGaWxlIG1hbmFnZXIgZm9yIHRoZSBYZmNlIERlc2t0b3AgRW52aXJvbm1lbnQiCi1TRUNUSU9OID0gIngxMSIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKLURFUEVORFMgPSAiZXhvIGdsaWItMi4wIGd0ayszIGdkay1waXhidWYgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgeGZjb25mIGxpYnNtIGRidXMtZ2xpYiBzdGFydHVwLW5vdGlmaWNhdGlvbiBsaWJub3RpZnkgeGZjZTQtcGFuZWwgdWRldiIKLQotaW5oZXJpdCB4ZmNlIGdvYmplY3QtaW50cm9zcGVjdGlvbiBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMveGZjZS8ke0JQTn0vJHtAJyR7UFZ9J1swOjNdfS9UaHVuYXItJHtQVn0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI1MWEwOTg4NjI1YTdlMmM5NDQzNzdlNzVkM2VmZmM3MSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3NWY5MTA0NTU0MWViNTk4M2U3NzJhNTY0ZDk3ZjIzZTU5OTUyNTZiZmI5ODYzZTBmNGEwMTUzOTM0MjFkNDI4IgotCi1TID0gIiR7V09SS0RJUn0vVGh1bmFyLSR7UFZ9LyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbcGNyZV0gPSAiLS1lbmFibGUtcGNyZSwtLWRpc2FibGUtcGNyZSxsaWJwY3JlIgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2xpYmRpcn0vdGh1bmFyeC0zLyogXAotICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyogXAotICAgICR7bGliZGlyfS9UaHVuYXIvW1R0XWh1bmFyKiBcCi0gICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAotICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKLSAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKLSAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKLSAgICAke2RhdGFkaXJ9L1RodW5hciBcCi0gICAgJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyogXAotIgotCi1SUkVDT01NRU5EU18ke1BOfSA9ICJndmZzIGd2ZnNkLXRyYXNoIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXIvdGh1bmFyXzEuOC40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXIvdGh1bmFyXzEuOC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3NjY3MTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci90aHVuYXJfMS44LjQuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJGaWxlIG1hbmFnZXIgZm9yIHRoZSBYZmNlIERlc2t0b3AgRW52aXJvbm1lbnQiCitTRUNUSU9OID0gIngxMSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKK0RFUEVORFMgPSAiZXhvIGdsaWItMi4wIGd0ayszIGdkay1waXhidWYgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgeGZjb25mIGxpYnNtIGRidXMtZ2xpYiBzdGFydHVwLW5vdGlmaWNhdGlvbiBsaWJub3RpZnkgeGZjZTQtcGFuZWwgdWRldiIKKworaW5oZXJpdCB4ZmNlIGdvYmplY3QtaW50cm9zcGVjdGlvbiBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMveGZjZS8ke0JQTn0vJHtAJyR7UFZ9J1swOjNdfS9UaHVuYXItJHtQVn0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2YTVkMGY0ZGRjYzY1M2M0NzkxZTU1NWYwZGM2MzgyOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjMmJmNTFkYThkZGVjOGY2NDJkNjc4MTgxODRhZGEyY2E2ZTE0MzE1MWU2YTQ1NTYzOTkxZGI3MzM4N2E5M2IwIgorCitTID0gIiR7V09SS0RJUn0vVGh1bmFyLSR7UFZ9LyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbcGNyZV0gPSAiLS1lbmFibGUtcGNyZSwtLWRpc2FibGUtcGNyZSxsaWJwY3JlIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2xpYmRpcn0vdGh1bmFyeC0zLyogXAorICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyogXAorICAgICR7bGliZGlyfS9UaHVuYXIvW1R0XWh1bmFyKiBcCisgICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyAgICAke2RhdGFkaXJ9L1RodW5hciBcCisgICAgJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyogXAorIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJndmZzIGd2ZnNkLXRyYXNoIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1hcHBmaW5kZXIveGZjZTQtYXBwZmluZGVyXzQuMTMuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtYXBwZmluZGVyL3hmY2U0LWFwcGZpbmRlcl80LjEzLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzMzZmNTQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1hcHBmaW5kZXIveGZjZTQtYXBwZmluZGVyXzQuMTMuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLURFU0NSSVBUSU9OPSJYZmNlNCBBcHBsaWNhdGlvbiBGaW5kZXIiCi1TRUNUSU9OID0gIngxMSIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKLURFUEVORFM9ImdsaWItMi4wIGd0ayszIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGdhcmNvbiBkYnVzLWdsaWIgeGZjb25mIgotCi1pbmhlcml0IHhmY2UgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5ZTJhMWY5YjRhZTMxODNjNDYxYjc5ODkxMjI0YzMzZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1Y2FiYjI3YmJlMGEwODY0Yjc4NWUxYTM4NTM1YTkxNTE2NzYzZTM4ZDZiZmY0MWEzOTE1YTYxZDI4MjU0YjAzIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9hcHBkYXRhIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1hcHBmaW5kZXIveGZjZTQtYXBwZmluZGVyXzQuMTMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtYXBwZmluZGVyL3hmY2U0LWFwcGZpbmRlcl80LjEzLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlmNmUyOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtYXBwZmluZGVyL3hmY2U0LWFwcGZpbmRlcl80LjEzLjIuYmIKQEAgLTAsMCArMSwxNCBAQAorREVTQ1JJUFRJT049IlhmY2U0IEFwcGxpY2F0aW9uIEZpbmRlciIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUz0iZ2xpYi0yLjAgZ3RrKzMgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgZ2FyY29uIGRidXMtZ2xpYiB4ZmNvbmYiCisKK2luaGVyaXQgeGZjZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjhiNGMyYWI0MTM3NDhmY2QwY2M1MTQ0NDQxOGQ1YWYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZkNzc0YWNiY2FiMDhkYmI4OGJjYmYyOGVlY2Y3M2VjOWY1NWIxM2UxZjIwNTgwMjFiNjNmNzAzYzQ5ODlkOTciCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L21ldGFpbmZvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wYW5lbC94ZmNlNC1wYW5lbF80LjEzLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTMuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjFhYmY2Ni4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTMuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLVNVTU1BUlkgPSAiWGZjZTQgUGFuZWwiCi1TRUNUSU9OID0gIngxMSIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNmE4YmQ3NWQ4Zjg0OThiZGJiZTY0YTI3NzkxZDRlZSIKLURFUEVORFMgPSAibGlieGZjZTR1dGlsIGdhcmNvbiBsaWJ4ZmNlNHVpIHhmY29uZiBleG8gZ3RrKyBndGsrMyBkYnVzIGNhaXJvIHZpcnR1YWwvbGlieDExIGxpYnhtbDIgbGlid25jazMgdmFsYS1uYXRpdmUiCi0KLWluaGVyaXQgeGZjZSBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbiBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgZ3RrLWljb24tY2FjaGUgcmVtb3ZlLWxpYnRvb2wKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjBjY2I0NDhlMzc5Mjk0OWViMGFlOWRiOGRjMjI3ODliIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImI0NjdmZWI3ZWU5Nzk3YWQxMmY1NmExNTI1NzBlNDJhOTZiOTRhZDYzNTgwZDQ1NTM2YWFiZWUyODI0NDBjZTgiCi1TUkNfVVJJICs9ICIgXAotICAgIGZpbGU6Ly8wMDAxLXdpbmRvd21lbnUtZG8tbm90LWRpc3BsYXktZGVza3RvcC1pY29uLXdoZW4tbm8td2luZG8ucGF0Y2ggXAotIgotCi1weXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCgpIHsKLSAgICBwbHVnaW5fZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLycpCi0gICAgcGx1Z2luX25hbWUgPSBkLmV4cGFuZCgnJHtQTn0tcGx1Z2luLSVzJykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5fZGlyLCAnXmxpYiguKikuc28kJywgcGx1Z2luX25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgJyR7UE59IHBsdWdpbiBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgYXV4X2ZpbGVzX3BhdHRlcm49Wycke2RhdGFkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMvJXMuZGVza3RvcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke3N5c2NvbmZkaXJ9L3hkZy94ZmNlL3BhbmVsLyVzLSonLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yLzQ4eDQ4L2FwcHMvKi0lcy5wbmcnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtiaW5kaXJ9LyolcyonXSkKLX0KLQotUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7UE59LXBsdWdpbi0uKiIKLQotUEFDS0FHRVMgPSsgIiR7UE59LWd0azMiCi0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0veGZjZTQvcGFuZWwvbWlncmF0ZSBcCi0gICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3dyYXBwZXItMS4wIgotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyoubGEiCi0KLUZJTEVTXyR7UE59LWd0azMgPSAiIFwKLSAgICAke2xpYmRpcn0vbGlieGZjZTRwYW5lbC0yLjAke1NPTElCU30gXAotICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC93cmFwcGVyLTIuMCBcCi0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTMuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcGFuZWwveGZjZTQtcGFuZWxfNC4xMy40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4ZTA1NGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTMuNC5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIlhmY2U0IFBhbmVsIgorU0VDVElPTiA9ICJ4MTEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjZhOGJkNzVkOGY4NDk4YmRiYmU2NGEyNzc5MWQ0ZWUiCitERVBFTkRTID0gImxpYnhmY2U0dXRpbCBnYXJjb24gbGlieGZjZTR1aSB4ZmNvbmYgZXhvIGd0aysgZ3RrKzMgZGJ1cyBjYWlybyB2aXJ0dWFsL2xpYngxMSBsaWJ4bWwyIGxpYnduY2szIHZhbGEtbmF0aXZlIgorCitpbmhlcml0IHhmY2UgZ3RrLWRvYyBnb2JqZWN0LWludHJvc3BlY3Rpb24gZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGd0ay1pY29uLWNhY2hlIHJlbW92ZS1saWJ0b29sCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjMGYxMzJmZWQyMTEwZDM3ZjM1MWFhZGM5ZTgwYTAzNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNmZmZDI2ZWY3ZjU4NjdjMDFiYTMxMDQ3NWI0MzU4ZmYwZTU4OGNmZDU1OTlhMjY2ZjAwMzdhNmMyMDA1MmExIgorU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vMDAwMS13aW5kb3dtZW51LWRvLW5vdC1kaXNwbGF5LWRlc2t0b3AtaWNvbi13aGVuLW5vLXdpbmRvLnBhdGNoIFwKKyIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQoKSB7CisgICAgcGx1Z2luX2RpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucy8nKQorICAgIHBsdWdpbl9uYW1lID0gZC5leHBhbmQoJyR7UE59LXBsdWdpbi0lcycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGx1Z2luX2RpciwgJ15saWIoLiopLnNvJCcsIHBsdWdpbl9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICcke1BOfSBwbHVnaW4gZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJywgcHJlcGVuZD1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgIGF1eF9maWxlc19wYXR0ZXJuPVsnJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyVzLmRlc2t0b3AnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtzeXNjb25mZGlyfS94ZGcveGZjZS9wYW5lbC8lcy0qJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7ZGF0YWRpcn0vaWNvbnMvaGljb2xvci80OHg0OC9hcHBzLyotJXMucG5nJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7YmluZGlyfS8qJXMqJ10pCit9CisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke1BOfS1wbHVnaW4tLioiCisKK1BBQ0tBR0VTID0rICIke1BOfS1ndGszIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL21pZ3JhdGUgXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC93cmFwcGVyLTEuMCIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucy8qLmxhIgorCitGSUxFU18ke1BOfS1ndGszID0gIiBcCisgICAgJHtsaWJkaXJ9L2xpYnhmY2U0cGFuZWwtMi4wJHtTT0xJQlN9IFwKKyAgICAke2xpYmRpcn0veGZjZTQvcGFuZWwvd3JhcHBlci0yLjAgXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wb3dlci1tYW5hZ2VyL3hmY2U0LXBvd2VyLW1hbmFnZXJfMS42LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBvd2VyLW1hbmFnZXIveGZjZTQtcG93ZXItbWFuYWdlcl8xLjYuMS5iYgppbmRleCBlZDExN2IwLi4xY2RjYjQxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBvd2VyLW1hbmFnZXIveGZjZTQtcG93ZXItbWFuYWdlcl8xLjYuMS5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBvd2VyLW1hbmFnZXIveGZjZTQtcG93ZXItbWFuYWdlcl8xLjYuMS5iYgpAQCAtMjAsOCArMjAsOCBAQAogICAgIC0tZW5hYmxlLXBhbmVsLXBsdWdpbnMgXAogIgogCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsIGQpfSIKLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS1lbmFibGUtcG9sa2l0LCAtLWRpc2FibGUtcG9sa2l0LCBwb2xraXQiCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncG9sa2l0JywgZCl9IgorUEFDS0FHRUNPTkZJR1twb2xraXRdID0gIi0tZW5hYmxlLXBvbGtpdCwgLS1kaXNhYmxlLXBvbGtpdCwgcG9sa2l0IgogCiBQQUNLQUdFUyArPSAieGZjZTQtcG93ZXJtYW5hZ2VyLXBsdWdpbiIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmRlc2t0b3AveGZkZXNrdG9wXzQuMTMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZkZXNrdG9wL3hmZGVza3RvcF80LjEzLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1Njk2YTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmRlc2t0b3AveGZkZXNrdG9wXzQuMTMuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVNVTU1BUlkgPSAiWGZjZTQgRGVza3RvcCBNYW5hZ2VyIgotU0VDVElPTiA9ICJ4MTEvYmFzZSIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKLURFUEVORFMgPSAibGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgbGlid25jayB4ZmNvbmYgZGJ1cy1nbGliIGRidXMtZ2xpYi1uYXRpdmUgdGh1bmFyIGdhcmNvbiBleG8iCi0KLWluaGVyaXQgeGZjZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSVttZDVzdW1dID0gImMwNTU2OWMxYzM5Y2NkMzE0ZmI1ZGEyMGQ1MDg2OTA5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM4N2Y0M2Q4YTQ2MTVmNDQwNjBjMDE5Y2FkMjEyYWMxMmRmNjJjNThlZWEyNjA1ODEzNzQzMTE2ZjcxYWQzYmQiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHW25vdGlmeV0gPSAiLS1lbmFibGUtbm90aWZpY2F0aW9ucywtLWRpc2FibGUtbm90aWZpY2F0aW9ucyxsaWJub3RpZnkiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2JhY2tncm91bmRzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmRlc2t0b3AveGZkZXNrdG9wXzQuMTMuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZkZXNrdG9wL3hmZGVza3RvcF80LjEzLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmM3MGE5YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZkZXNrdG9wL3hmZGVza3RvcF80LjEzLjMuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJYZmNlNCBEZXNrdG9wIE1hbmFnZXIiCitTRUNUSU9OID0gIngxMS9iYXNlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJsaWJ4ZmNlNHV0aWwgbGlieGZjZTR1aSBsaWJ3bmNrIHhmY29uZiBkYnVzLWdsaWIgZGJ1cy1nbGliLW5hdGl2ZSB0aHVuYXIgZ2FyY29uIGV4byIKKworaW5oZXJpdCB4ZmNlIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjA4OTQ0ZjFiNjljZTFjNmUxZmJiOWQ3ZjRjYjFkYTciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODBmN2YyOGVmMTc2MzhmZTFjZjQ0ODFkYjY5NDczMWMyMDg3ODVhNTZiNmM4NDAwMDUyMDJmOWMyZGIyMzhmNSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1ub3RpZmljYXRpb25zLC0tZGlzYWJsZS1ub3RpZmljYXRpb25zLGxpYm5vdGlmeSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vYmFja2dyb3VuZHMiCmRpZmYgLS1naXQgYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1uZXR3b3JrZC1UcmFjay1hZGRyZXNzLWNvbmZpZ3VyYXRpb24ucGF0Y2ggYi9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1uZXR3b3JrZC1UcmFjay1hZGRyZXNzLWNvbmZpZ3VyYXRpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2ODM2NjkuLjAwMDAwMDAKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtbmV0d29ya2QtVHJhY2stYWRkcmVzcy1jb25maWd1cmF0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotRnJvbSBhMjRkMGQ5NWRmMTkyOTkxMmMwZjc2N2Y1YWIxMzUzNTUyNDY0Yzg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogIldpbGxpYW0gQS4gS2VubmluZ3RvbiBJSUkiIDx3aWxsaWFtQHdrZW5uaW5ndG9uLmNvbT4KLURhdGU6IEZyaSwgMzAgTm92IDIwMTggMTU6NTQ6NDUgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzNdIG5ldHdvcmtkOiBUcmFjayBhZGRyZXNzIGNvbmZpZ3VyYXRpb24KLQotVGhpcyB3aWxsIGJlIHVzZWZ1bCB0byBhc3NlcnQgdGhhdCBvdXIgc3RhdGljIHJvdXRlIGNvbmZpZ3VyYXRpb24gYWx3YXlzCi1oYXBwZW5zIGFmdGVyIGFkZHJlc3MgY29uZmlndXJhdGlvbiBvbmNlIG91ciBpbmRpdmlkdWFsIGNvbmZpZ3VyZSBzdGF0ZQotZ29lcyBhd2F5LgotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBjNDJmZjNhMWE3YmZlYTY2ZGM0NjU1MDk2Yzc5YmQ0ODExNTkwOTFiKQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0tLS0KLSBzcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMgfCAxMSArKysrKysrKystLQotIHNyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaCB8ICAyICsrCi0gMiBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jCi1pbmRleCA0YWZjZjg0M2JkLi4wZmFmMzM3MDY5IDEwMDY0NAotLS0tIGEvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jCi0rKysgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKLUBAIC03MjgsNiArNzI4LDkgQEAgdm9pZCBsaW5rX2NoZWNrX3JlYWR5KExpbmsgKmxpbmspIHsKLSAgICAgICAgIGlmICghbGluay0+bmV0d29yaykKLSAgICAgICAgICAgICAgICAgcmV0dXJuOwotIAotKyAgICAgICAgaWYgKCFsaW5rLT5hZGRyZXNzZXNfY29uZmlndXJlZCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuOwotKwotICAgICAgICAgaWYgKCFsaW5rLT5zdGF0aWNfcm91dGVzX2NvbmZpZ3VyZWQpCi0gICAgICAgICAgICAgICAgIHJldHVybjsKLSAKLUBAIC04MzUsNiArODM4LDggQEAgc3RhdGljIGludCBsaW5rX2VudGVyX3NldF9yb3V0ZXMoTGluayAqbGluaykgewotIAotICAgICAgICAgYXNzZXJ0KGxpbmspOwotICAgICAgICAgYXNzZXJ0KGxpbmstPm5ldHdvcmspOwotKyAgICAgICAgYXNzZXJ0KGxpbmstPmFkZHJlc3Nlc19jb25maWd1cmVkKTsKLSsgICAgICAgIGFzc2VydChsaW5rLT5hZGRyZXNzX21lc3NhZ2VzID09IDApOwotICAgICAgICAgYXNzZXJ0KGxpbmstPnN0YXRlID09IExJTktfU1RBVEVfU0VUVElOR19BRERSRVNTRVMpOwotIAotICAgICAgICAgKHZvaWQpIGxpbmtfc2V0X3JvdXRpbmdfcG9saWN5X3J1bGUobGluayk7Ci1AQCAtOTA0LDYgKzkwOSw3IEBAIHN0YXRpYyBpbnQgYWRkcmVzc19oYW5kbGVyKHNkX25ldGxpbmsgKnJ0bmwsIHNkX25ldGxpbmtfbWVzc2FnZSAqbSwgdm9pZCAqdXNlcmRhCi0gCi0gICAgICAgICBpZiAobGluay0+YWRkcmVzc19tZXNzYWdlcyA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgIGxvZ19saW5rX2RlYnVnKGxpbmssICJBZGRyZXNzZXMgc2V0Iik7Ci0rICAgICAgICAgICAgICAgIGxpbmstPmFkZHJlc3Nlc19jb25maWd1cmVkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgbGlua19lbnRlcl9zZXRfcm91dGVzKGxpbmspOwotICAgICAgICAgfQotIAotQEAgLTEyMDQsOSArMTIxMCwxMCBAQCBzdGF0aWMgaW50IGxpbmtfZW50ZXJfc2V0X2FkZHJlc3NlcyhMaW5rICpsaW5rKSB7Ci0gICAgICAgICAgICAgICAgIGxvZ19saW5rX2RlYnVnKGxpbmssICJPZmZlcmluZyBESENQdjQgbGVhc2VzIik7Ci0gICAgICAgICB9Ci0gCi0tICAgICAgICBpZiAobGluay0+YWRkcmVzc19tZXNzYWdlcyA9PSAwKQotKyAgICAgICAgaWYgKGxpbmstPmFkZHJlc3NfbWVzc2FnZXMgPT0gMCkgewotKyAgICAgICAgICAgICAgICBsaW5rLT5hZGRyZXNzZXNfY29uZmlndXJlZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgIGxpbmtfZW50ZXJfc2V0X3JvdXRlcyhsaW5rKTsKLS0gICAgICAgIGVsc2UKLSsgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICBsb2dfbGlua19kZWJ1ZyhsaW5rLCAiU2V0dGluZyBhZGRyZXNzZXMiKTsKLSAKLSAgICAgICAgIHJldHVybiAwOwotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaCBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaAotaW5kZXggN2UyMmRmZDUwNC4uMmYzN2NjMTU5OCAxMDA2NDQKLS0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaAotKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5oCi1AQCAtODAsNiArODAsOCBAQCB0eXBlZGVmIHN0cnVjdCBMaW5rIHsKLSAgICAgICAgIFNldCAqcm91dGVzOwotICAgICAgICAgU2V0ICpyb3V0ZXNfZm9yZWlnbjsKLSAKLSsgICAgICAgIGJvb2wgYWRkcmVzc2VzX2NvbmZpZ3VyZWQ7Ci0rCi0gICAgICAgICBzZF9kaGNwX2NsaWVudCAqZGhjcF9jbGllbnQ7Ci0gICAgICAgICBzZF9kaGNwX2xlYXNlICpkaGNwX2xlYXNlOwotICAgICAgICAgY2hhciAqbGVhc2VfZmlsZTsKLS0tIAotMi4yMC4xLjk3Lmc4MTE4OGQ5M2MzLWdvb2cKLQpkaWZmIC0tZ2l0IGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtdGltZWRhdGUtZGVmZXItdGhlLXByb3BlcnR5LWNoYW5nZWQtc2lnbmFsLXVudGlsLWpvYi5wYXRjaCBiL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXRpbWVkYXRlLWRlZmVyLXRoZS1wcm9wZXJ0eS1jaGFuZ2VkLXNpZ25hbC11bnRpbC1qb2IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0M2MzNmIuLjAwMDAwMDAKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtdGltZWRhdGUtZGVmZXItdGhlLXByb3BlcnR5LWNoYW5nZWQtc2lnbmFsLXVudGlsLWpvYi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE3OSArMCwwIEBACi1Gcm9tIDNhZjBhOTZjMGZjYzYyM2JkMTY2NDlmYzM2NDAzOTZhNjU3Y2Y5ZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBZdSBXYXRhbmFiZSA8d2F0YW5hYmUueXUrZ2l0aHViQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMjIgSnVsIDIwMTggMjM6MTA6MDIgKzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0gdGltZWRhdGU6IGRlZmVyIHRoZSBwcm9wZXJ0eSBjaGFuZ2VkIHNpZ25hbCB1bnRpbCBqb2Igb2YKLSBzdGFydGluZy9zdG9wcGluZyBOVFAgc2VydmljZSBpcyBmaW5pc2hlZAotCi1CZWZvcmUgdGhpcywgdGhlIHByb3BlcnR5IGNoYW5nZWQgc2lnbmFsIGlzIGVtaXR0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIKLVN0YXJ0VW5pdC9TdG9wVW5pdCBtZXRob2QgaXMgY2FsbGVkLiBTbywgdGhlIHJ1bm5pbmcgc3RhdGUgb2YgdGhlIE5UUAotY2xpZW50IHNlcnZpY2UgbWF5IG5vdCB1cGRhdGVkLgotVGhpcyBtYWtlcyB0aGUgdGltaW5nIG9mIGVtaXR0aW5nIHByb3BlcnR5IGNoYW5nZWQgc2lnbmFsIGlzIGRlZmVycmVkCi11bnRpbCBqb2Igb2Ygc3RhcnRpbmcvc3RvcHBpbmcgTlRQIGNsaWVudCBzZXJ2aWNlIGlzIGNvbXBsZXRlZC4KLQotRml4ZXMgIzk2NzIuCi0tLS0KLSBzcmMvdGltZWRhdGUvdGltZWRhdGVkLmMgfCA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvdGltZWRhdGUvdGltZWRhdGVkLmMgYi9zcmMvdGltZWRhdGUvdGltZWRhdGVkLmMKLWluZGV4IDZjOTU3NjQuLjAxMmNiZTAgMTAwNjQ0Ci0tLS0gYS9zcmMvdGltZWRhdGUvdGltZWRhdGVkLmMKLSsrKyBiL3NyYy90aW1lZGF0ZS90aW1lZGF0ZWQuYwotQEAgLTQ2LDYgKzQ2LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgQ29udGV4dCB7Ci0gICAgICAgICBIYXNobWFwICpwb2xraXRfcmVnaXN0cnk7Ci0gICAgICAgICBzZF9idXNfbWVzc2FnZSAqY2FjaGU7Ci0gCi0rICAgICAgICBzZF9idXNfc2xvdCAqc2xvdF9qb2JfcmVtb3ZlZDsKLSsgICAgICAgIGNoYXIgKnBhdGhfbnRwX3VuaXQ7Ci0rCi0gICAgICAgICBMSVNUX0hFQUQoVW5pdFN0YXR1c0luZm8sIHVuaXRzKTsKLSB9IENvbnRleHQ7Ci0gCi1AQCAtNzQsNiArNzcsOSBAQCBzdGF0aWMgdm9pZCBjb250ZXh0X2ZyZWUoQ29udGV4dCAqYykgewotICAgICAgICAgYnVzX3ZlcmlmeV9wb2xraXRfYXN5bmNfcmVnaXN0cnlfZnJlZShjLT5wb2xraXRfcmVnaXN0cnkpOwotICAgICAgICAgc2RfYnVzX21lc3NhZ2VfdW5yZWYoYy0+Y2FjaGUpOwotIAotKyAgICAgICAgc2RfYnVzX3Nsb3RfdW5yZWYoYy0+c2xvdF9qb2JfcmVtb3ZlZCk7Ci0rICAgICAgICBmcmVlKGMtPnBhdGhfbnRwX3VuaXQpOwotKwotICAgICAgICAgd2hpbGUgKChwID0gYy0+dW5pdHMpKSB7Ci0gICAgICAgICAgICAgICAgIExJU1RfUkVNT1ZFKHVuaXRzLCBjLT51bml0cywgcCk7Ci0gICAgICAgICAgICAgICAgIHVuaXRfc3RhdHVzX2luZm9fZnJlZShwKTsKLUBAIC0zNDUsMTcgKzM1MSw1NSBAQCBzdGF0aWMgaW50IGNvbnRleHRfdXBkYXRlX250cF9zdGF0dXMoQ29udGV4dCAqYywgc2RfYnVzICpidXMsIHNkX2J1c19tZXNzYWdlICptKQotICAgICAgICAgcmV0dXJuIDA7Ci0gfQotIAotLXN0YXRpYyBpbnQgdW5pdF9zdGFydF9vcl9zdG9wKFVuaXRTdGF0dXNJbmZvICp1LCBzZF9idXMgKmJ1cywgc2RfYnVzX2Vycm9yICplcnJvciwgYm9vbCBzdGFydCkgewotK3N0YXRpYyBpbnQgbWF0Y2hfam9iX3JlbW92ZWQoc2RfYnVzX21lc3NhZ2UgKm0sIHZvaWQgKnVzZXJkYXRhLCBzZF9idXNfZXJyb3IgKmVycm9yKSB7Ci0rICAgICAgICBjb25zdCBjaGFyICpwYXRoOwotKyAgICAgICAgQ29udGV4dCAqYyA9IHVzZXJkYXRhOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICBhc3NlcnQoYyk7Ci0rICAgICAgICBhc3NlcnQobSk7Ci0rCi0rICAgICAgICByID0gc2RfYnVzX21lc3NhZ2VfcmVhZChtLCAidW9zcyIsIE5VTEwsICZwYXRoLCBOVUxMLCBOVUxMKTsKLSsgICAgICAgIGlmIChyIDwgMCkgewotKyAgICAgICAgICAgICAgICBidXNfbG9nX3BhcnNlX2Vycm9yKHIpOwotKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIGlmICghc3RyZXFfcHRyKHBhdGgsIGMtPnBhdGhfbnRwX3VuaXQpKQotKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsKLSsgICAgICAgICh2b2lkKSBzZF9idXNfZW1pdF9wcm9wZXJ0aWVzX2NoYW5nZWQoc2RfYnVzX21lc3NhZ2VfZ2V0X2J1cyhtKSwgIi9vcmcvZnJlZWRlc2t0b3AvdGltZWRhdGUxIiwgIm9yZy5mcmVlZGVza3RvcC50aW1lZGF0ZTEiLCAiTlRQIiwgTlVMTCk7Ci0rCi0rICAgICAgICBjLT5zbG90X2pvYl9yZW1vdmVkID0gc2RfYnVzX3Nsb3RfdW5yZWYoYy0+c2xvdF9qb2JfcmVtb3ZlZCk7Ci0rICAgICAgICBjLT5wYXRoX250cF91bml0ID0gbWZyZWUoYy0+cGF0aF9udHBfdW5pdCk7Ci0rCi0rICAgICAgICByZXR1cm4gMDsKLSt9Ci0rCi0rc3RhdGljIGludCB1bml0X3N0YXJ0X29yX3N0b3AoQ29udGV4dCAqYywgVW5pdFN0YXR1c0luZm8gKnUsIHNkX2J1cyAqYnVzLCBzZF9idXNfZXJyb3IgKmVycm9yLCBib29sIHN0YXJ0KSB7Ci0rICAgICAgICBfY2xlYW51cF8oc2RfYnVzX21lc3NhZ2VfdW5yZWZwKSBzZF9idXNfbWVzc2FnZSAqcmVwbHkgPSBOVUxMOwotKyAgICAgICAgX2NsZWFudXBfKHNkX2J1c19zbG90X3VucmVmcCkgc2RfYnVzX3Nsb3QgKnNsb3QgPSBOVUxMOwotKyAgICAgICAgY29uc3QgY2hhciAqcGF0aDsKLSAgICAgICAgIGludCByOwotIAotKyAgICAgICAgYXNzZXJ0KGMpOwotICAgICAgICAgYXNzZXJ0KHUpOwotICAgICAgICAgYXNzZXJ0KGJ1cyk7Ci0gICAgICAgICBhc3NlcnQoZXJyb3IpOwotIAotLSAgICAgICAgLyogQ2FsbCBjb250ZXh0X3VwZGF0ZV9udHBfc3RhdHVzKCkgdG8gdXBkYXRlIFVuaXRTdGF0dXNJbmZvIGJlZm9yZSBjYWxsaW5nIHRoaXMuICovCi0rICAgICAgICAvKiBUaGlzIG1ldGhvZCBtYXkgYmUgY2FsbGVkIGZyZXF1ZW50bHkuIEZvcmdldCB0aGUgcHJldmlvdXMgam9iIGlmIGl0IGhhcyBub3QgY29tcGxldGVkIHlldC4gKi8KLSsgICAgICAgIGMtPnNsb3Rfam9iX3JlbW92ZWQgPSBzZF9idXNfc2xvdF91bnJlZihjLT5zbG90X2pvYl9yZW1vdmVkKTsKLSAKLS0gICAgICAgIGlmIChzdHJlcSh1LT5hY3RpdmVfc3RhdGUsICJhY3RpdmUiKSA9PSBzdGFydCkKLS0gICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0rICAgICAgICByID0gc2RfYnVzX21hdGNoX3NpZ25hbF9hc3luYygKLSsgICAgICAgICAgICAgICAgICAgICAgICBidXMsCi0rICAgICAgICAgICAgICAgICAgICAgICAgJnNsb3QsCi0rICAgICAgICAgICAgICAgICAgICAgICAgIm9yZy5mcmVlZGVza3RvcC5zeXN0ZW1kMSIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgIi9vcmcvZnJlZWRlc2t0b3Avc3lzdGVtZDEiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICJvcmcuZnJlZWRlc2t0b3Auc3lzdGVtZDEuTWFuYWdlciIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgIkpvYlJlbW92ZWQiLAotKyAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoX2pvYl9yZW1vdmVkLCBOVUxMLCBjKTsKLSsgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0gCi0gICAgICAgICByID0gc2RfYnVzX2NhbGxfbWV0aG9kKAotICAgICAgICAgICAgICAgICBidXMsCi1AQCAtMzY0LDEzICs0MDgsMjIgQEAgc3RhdGljIGludCB1bml0X3N0YXJ0X29yX3N0b3AoVW5pdFN0YXR1c0luZm8gKnUsIHNkX2J1cyAqYnVzLCBzZF9idXNfZXJyb3IgKmVycm8KLSAgICAgICAgICAgICAgICAgIm9yZy5mcmVlZGVza3RvcC5zeXN0ZW1kMS5NYW5hZ2VyIiwKLSAgICAgICAgICAgICAgICAgc3RhcnQgPyAiU3RhcnRVbml0IiA6ICJTdG9wVW5pdCIsCi0gICAgICAgICAgICAgICAgIGVycm9yLAotLSAgICAgICAgICAgICAgICBOVUxMLAotKyAgICAgICAgICAgICAgICAmcmVwbHksCi0gICAgICAgICAgICAgICAgICJzcyIsCi0gICAgICAgICAgICAgICAgIHUtPm5hbWUsCi0gICAgICAgICAgICAgICAgICJyZXBsYWNlIik7Ci0gICAgICAgICBpZiAociA8IDApCi0gICAgICAgICAgICAgICAgIHJldHVybiByOwotIAotKyAgICAgICAgciA9IHNkX2J1c19tZXNzYWdlX3JlYWQocmVwbHksICJvIiwgJnBhdGgpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gYnVzX2xvZ19wYXJzZV9lcnJvcihyKTsKLSsKLSsgICAgICAgIHIgPSBmcmVlX2FuZF9zdHJkdXAoJmMtPnBhdGhfbnRwX3VuaXQsIHBhdGgpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOwotKwotKyAgICAgICAgYy0+c2xvdF9qb2JfcmVtb3ZlZCA9IFRBS0VfUFRSKHNsb3QpOwotICAgICAgICAgcmV0dXJuIDA7Ci0gfQotIAotQEAgLTQyMiw4ICs0NzUsOSBAQCBzdGF0aWMgaW50IHVuaXRfZW5hYmxlX29yX2Rpc2FibGUoVW5pdFN0YXR1c0luZm8gKnUsIHNkX2J1cyAqYnVzLCBzZF9idXNfZXJyb3IgKgotICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7Ci0tICAgICAgICAgaWYgKHIgPCAwKQotLSAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0rICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgIHJldHVybiByOwotKwotICAgICAgICAgcmV0dXJuIDA7Ci0gfQotIAotQEAgLTgxMyw3ICs4NjcsNyBAQCBzdGF0aWMgaW50IG1ldGhvZF9zZXRfbnRwKHNkX2J1c19tZXNzYWdlICptLCB2b2lkICp1c2VyZGF0YSwgc2RfYnVzX2Vycm9yICplcnJvcgotICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChxIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBxOwotIAotLSAgICAgICAgICAgICAgICAgICAgICAgIHEgPSB1bml0X3N0YXJ0X29yX3N0b3AodSwgYnVzLCBlcnJvciwgZW5hYmxlKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBxID0gdW5pdF9zdGFydF9vcl9zdG9wKGMsIHUsIGJ1cywgZXJyb3IsIGVuYWJsZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHEgPCAwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IHE7Ci0gICAgICAgICAgICAgICAgIH0KLUBAIC04MjcsMTcgKzg4MSwxNyBAQCBzdGF0aWMgaW50IG1ldGhvZF9zZXRfbnRwKHNkX2J1c19tZXNzYWdlICptLCB2b2lkICp1c2VyZGF0YSwgc2RfYnVzX2Vycm9yICplcnJvcgotICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotIAotLSAgICAgICAgICAgICAgICAgICAgICAgIHIgPSB1bml0X3N0YXJ0X29yX3N0b3AodSwgYnVzLCBlcnJvciwgZW5hYmxlKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICByID0gdW5pdF9zdGFydF9vcl9zdG9wKGMsIHUsIGJ1cywgZXJyb3IsIGVuYWJsZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgIH0KLSAKLS0gICAgICAgIGVsc2UgaWYgKGNvbnRleHRfbnRwX3NlcnZpY2VfaXNfYWN0aXZlKGMpIDw9IDApCi0rICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgIExJU1RfRk9SRUFDSCh1bml0cywgdSwgYy0+dW5pdHMpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN0cmVxKHUtPmxvYWRfc3RhdGUsICJsb2FkZWQiKSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhc3RyZXEodS0+dW5pdF9maWxlX3N0YXRlLCAiZW5hYmxlZCIpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gCi0tICAgICAgICAgICAgICAgICAgICAgICAgciA9IHVuaXRfc3RhcnRfb3Jfc3RvcCh1LCBidXMsIGVycm9yLCBlbmFibGUpOwotKyAgICAgICAgICAgICAgICAgICAgICAgIHIgPSB1bml0X3N0YXJ0X29yX3N0b3AoYywgdSwgYnVzLCBlcnJvciwgZW5hYmxlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgfQotIAotQEAgLTg0Niw4ICs5MDAsNiBAQCBzdGF0aWMgaW50IG1ldGhvZF9zZXRfbnRwKHNkX2J1c19tZXNzYWdlICptLCB2b2lkICp1c2VyZGF0YSwgc2RfYnVzX2Vycm9yICplcnJvcgotIAotICAgICAgICAgbG9nX2luZm8oIlNldCBOVFAgdG8gJXNkIiwgZW5hYmxlX2Rpc2FibGUoZW5hYmxlKSk7Ci0gCi0tICAgICAgICAodm9pZCkgc2RfYnVzX2VtaXRfcHJvcGVydGllc19jaGFuZ2VkKGJ1cywgIi9vcmcvZnJlZWRlc2t0b3AvdGltZWRhdGUxIiwgIm9yZy5mcmVlZGVza3RvcC50aW1lZGF0ZTEiLCAiTlRQIiwgTlVMTCk7Ci0tCi0gICAgICAgICByZXR1cm4gc2RfYnVzX3JlcGx5X21ldGhvZF9yZXR1cm4obSwgTlVMTCk7Ci0gfQotIAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS10aW1lZGF0ZS10cmVhdC1hY3RpdmF0aW5nLW9yLWluYWN0aXZhdGluZy1OVFAtY2xpZW50LnBhdGNoIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtdGltZWRhdGUtdHJlYXQtYWN0aXZhdGluZy1vci1pbmFjdGl2YXRpbmctTlRQLWNsaWVudC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmNhMTZhYi4uMDAwMDAwMAotLS0gYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS10aW1lZGF0ZS10cmVhdC1hY3RpdmF0aW5nLW9yLWluYWN0aXZhdGluZy1OVFAtY2xpZW50LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotRnJvbSA4NGE4NzcyNmVlYzg4ZTdiMTFjOGFhNjMzYmNhMDA2YTBjMGZjNDM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogWXUgV2F0YW5hYmUgPHdhdGFuYWJlLnl1K2dpdGh1YkBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDE1IEphbiAyMDE5IDAyOjU5OjQ4ICswOTAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSB0aW1lZGF0ZTogdHJlYXQgJ2FjdGl2YXRpbmcnIG9yICdpbmFjdGl2YXRpbmcnIE5UUCBjbGllbnQKLSBzdGF0dXMgYXMgJ2FjdGl2ZScKLQotV2hlbiBgdGltZWRhdGVjdGwgc2V0LXRpbWVgIGlzIGNhbGxlZCwgTlRQIGNsaWVudCBtYXkgYmUgaW4KLSdhY3RpdmF0aW5nJyBvciBzb21ldGhpbmcuIEZvciBzYWZldHksIGxldCdzIHRyZWF0IHN1Y2ggc3RhdGVzIGFzCi0nYWN0aXZlJy4KLQotVGhpcyBhbHNvIGNoYW5nZXMgYWxsIHVuaXQgZmlsZSBzdGF0dXMgZXhjZXB0IGZvciAnbWFza2VkJyBvciAnZGlzYWJsZWQnCi1hcmUgdHJlYXRlZCBhcyAnZW5hYmxlZCcuCi0tLS0KLSBzcmMvdGltZWRhdGUvdGltZWRhdGVkLmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3RpbWVkYXRlL3RpbWVkYXRlZC5jIGIvc3JjL3RpbWVkYXRlL3RpbWVkYXRlZC5jCi1pbmRleCBlMTY4ODg5Li4xMjMwOGJlIDEwMDY0NAotLS0tIGEvc3JjL3RpbWVkYXRlL3RpbWVkYXRlZC5jCi0rKysgYi9zcmMvdGltZWRhdGUvdGltZWRhdGVkLmMKLUBAIC0xNjAsNyArMTYwLDcgQEAgc3RhdGljIGludCBjb250ZXh0X250cF9zZXJ2aWNlX2lzX2FjdGl2ZShDb250ZXh0ICpjKSB7Ci0gICAgICAgICAvKiBDYWxsIGNvbnRleHRfdXBkYXRlX250cF9zdGF0dXMoKSB0byB1cGRhdGUgVW5pdFN0YXR1c0luZm8gYmVmb3JlIGNhbGxpbmcgdGhpcy4gKi8KLSAKLSAgICAgICAgIExJU1RfRk9SRUFDSCh1bml0cywgaW5mbywgYy0+dW5pdHMpCi0tICAgICAgICAgICAgICAgIGNvdW50ICs9IHN0cmVxX3B0cihpbmZvLT5hY3RpdmVfc3RhdGUsICJhY3RpdmUiKTsKLSsgICAgICAgICAgICAgICAgY291bnQgKz0gIVNUUlBUUl9JTl9TRVQoaW5mby0+YWN0aXZlX3N0YXRlLCAiaW5hY3RpdmUiLCAiZmFpbGVkIik7Ci0gCi0gICAgICAgICByZXR1cm4gY291bnQ7Ci0gfQotQEAgLTE3NCw3ICsxNzQsNyBAQCBzdGF0aWMgaW50IGNvbnRleHRfbnRwX3NlcnZpY2VfaXNfZW5hYmxlZChDb250ZXh0ICpjKSB7Ci0gICAgICAgICAvKiBDYWxsIGNvbnRleHRfdXBkYXRlX250cF9zdGF0dXMoKSB0byB1cGRhdGUgVW5pdFN0YXR1c0luZm8gYmVmb3JlIGNhbGxpbmcgdGhpcy4gKi8KLSAKLSAgICAgICAgIExJU1RfRk9SRUFDSCh1bml0cywgaW5mbywgYy0+dW5pdHMpCi0tICAgICAgICAgICAgICAgIGNvdW50ICs9IFNUUlBUUl9JTl9TRVQoaW5mby0+dW5pdF9maWxlX3N0YXRlLCAiZW5hYmxlZCIsICJlbmFibGVkLXJ1bnRpbWUiKTsKLSsgICAgICAgICAgICAgICAgY291bnQgKz0gIVNUUlBUUl9JTl9TRVQoaW5mby0+dW5pdF9maWxlX3N0YXRlLCAibWFza2VkIiwgIm1hc2tlZC1ydW50aW1lIiwgImRpc2FibGVkIiwgImJhZCIpOwotIAotICAgICAgICAgcmV0dXJuIGNvdW50OwotIH0KLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItbmV0d29ya2QtVXNlLW9ubHktYS1nZW5lcmljLUNPTkZJR1VSSU5HLXN0YXRlLnBhdGNoIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItbmV0d29ya2QtVXNlLW9ubHktYS1nZW5lcmljLUNPTkZJR1VSSU5HLXN0YXRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWM0Y2MzLi4wMDAwMDAwCi0tLSBhL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLW5ldHdvcmtkLVVzZS1vbmx5LWEtZ2VuZXJpYy1DT05GSUdVUklORy1zdGF0ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE3NiArMCwwIEBACi1Gcm9tIDMyODNkMTVmZTMzZGEzOTJiNzE3NGViNGI4MmE1YWQxY2UwM2E2ZTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiAiV2lsbGlhbSBBLiBLZW5uaW5ndG9uIElJSSIgPHdpbGxpYW1Ad2tlbm5pbmd0b24uY29tPgotRGF0ZTogRnJpLCAzMCBOb3YgMjAxOCAxNTozNjozMyAtMDgwMAotU3ViamVjdDogW1BBVENIIDIvM10gbmV0d29ya2Q6IFVzZSBvbmx5IGEgZ2VuZXJpYyBDT05GSUdVUklORyBzdGF0ZQotCi1UaGlzIGFsbG93cyB1cyB0byBjb252ZXkgdGhhdCB3ZSBhcmUgcGVyZm9ybWluZyBtdWx0aXBsZSBsaW5rCi1jb25maWd1cmF0aW9uIGNoYW5nZXMgaW4gcGFyYWxsZWwuIFRoaXMgaXMgbmVlZGVkIHRvIHN1cHBvcnQgY29uZmlndXJpbmcKLW5laWdoYm9ycyB3aGlsZSBzaW11bHRhbmVvdXNseSBjb25maWd1cmluZyBhZGRyZXNzZXMgYW5kIHJvdXRlcy4KLQotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMjg5ZTY3NzRkMGRhZWZlODY3NzExNzFiOGY0Zjk3YjYzMzU0NjgzZSkKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotLS0tCi0gc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jIHwgMzcgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQotIHNyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaCB8ICA0ICstLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jCi1pbmRleCAwZmFmMzM3MDY5Li43MWI5MjE4NWNkIDEwMDY0NAotLS0tIGEvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jCi0rKysgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKLUBAIC03MDYsNyArNzA2LDcgQEAgc3RhdGljIHZvaWQgbGlua19lbnRlcl9jb25maWd1cmVkKExpbmsgKmxpbmspIHsKLSAgICAgICAgIGFzc2VydChsaW5rKTsKLSAgICAgICAgIGFzc2VydChsaW5rLT5uZXR3b3JrKTsKLSAKLS0gICAgICAgIGlmIChsaW5rLT5zdGF0ZSAhPSBMSU5LX1NUQVRFX1NFVFRJTkdfUk9VVEVTKQotKyAgICAgICAgaWYgKGxpbmstPnN0YXRlICE9IExJTktfU1RBVEVfQ09ORklHVVJJTkcpCi0gICAgICAgICAgICAgICAgIHJldHVybjsKLSAKLSAgICAgICAgIGxvZ19saW5rX2luZm8obGluaywgIkNvbmZpZ3VyZWQiKTsKLUBAIC04MTAsOSArODEwLDggQEAgc3RhdGljIGludCByb3V0ZV9oYW5kbGVyKHNkX25ldGxpbmsgKnJ0bmwsIHNkX25ldGxpbmtfbWVzc2FnZSAqbSwgdm9pZCAqdXNlcmRhdGEKLSAgICAgICAgIGludCByOwotIAotICAgICAgICAgYXNzZXJ0KGxpbmstPnJvdXRlX21lc3NhZ2VzID4gMCk7Ci0tICAgICAgICBhc3NlcnQoSU5fU0VUKGxpbmstPnN0YXRlLCBMSU5LX1NUQVRFX1NFVFRJTkdfQUREUkVTU0VTLAotLSAgICAgICAgICAgICAgICAgICAgICBMSU5LX1NUQVRFX1NFVFRJTkdfUk9VVEVTLCBMSU5LX1NUQVRFX0ZBSUxFRCwKLS0gICAgICAgICAgICAgICAgICAgICAgTElOS19TVEFURV9MSU5HRVIpKTsKLSsgICAgICAgIGFzc2VydChJTl9TRVQobGluay0+c3RhdGUsIExJTktfU1RBVEVfQ09ORklHVVJJTkcsCi0rICAgICAgICAgICAgICAgICAgICAgIExJTktfU1RBVEVfRkFJTEVELCBMSU5LX1NUQVRFX0xJTkdFUikpOwotIAotICAgICAgICAgbGluay0+cm91dGVfbWVzc2FnZXMtLTsKLSAKLUBAIC04MzIsNyArODMxLDcgQEAgc3RhdGljIGludCByb3V0ZV9oYW5kbGVyKHNkX25ldGxpbmsgKnJ0bmwsIHNkX25ldGxpbmtfbWVzc2FnZSAqbSwgdm9pZCAqdXNlcmRhdGEKLSAgICAgICAgIHJldHVybiAxOwotIH0KLSAKLS1zdGF0aWMgaW50IGxpbmtfZW50ZXJfc2V0X3JvdXRlcyhMaW5rICpsaW5rKSB7Ci0rc3RhdGljIGludCBsaW5rX3JlcXVlc3Rfc2V0X3JvdXRlcyhMaW5rICpsaW5rKSB7Ci0gICAgICAgICBSb3V0ZSAqcnQ7Ci0gICAgICAgICBpbnQgcjsKLSAKLUBAIC04NDAsMTEgKzgzOSwxMSBAQCBzdGF0aWMgaW50IGxpbmtfZW50ZXJfc2V0X3JvdXRlcyhMaW5rICpsaW5rKSB7Ci0gICAgICAgICBhc3NlcnQobGluay0+bmV0d29yayk7Ci0gICAgICAgICBhc3NlcnQobGluay0+YWRkcmVzc2VzX2NvbmZpZ3VyZWQpOwotICAgICAgICAgYXNzZXJ0KGxpbmstPmFkZHJlc3NfbWVzc2FnZXMgPT0gMCk7Ci0tICAgICAgICBhc3NlcnQobGluay0+c3RhdGUgPT0gTElOS19TVEFURV9TRVRUSU5HX0FERFJFU1NFUyk7Ci0rICAgICAgICBhc3NlcnQobGluay0+c3RhdGUgIT0gX0xJTktfU1RBVEVfSU5WQUxJRCk7Ci0gCi0tICAgICAgICAodm9pZCkgbGlua19zZXRfcm91dGluZ19wb2xpY3lfcnVsZShsaW5rKTsKLSsgICAgICAgIGxpbmtfc2V0X3N0YXRlKGxpbmssIExJTktfU1RBVEVfQ09ORklHVVJJTkcpOwotIAotLSAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9TRVRUSU5HX1JPVVRFUyk7Ci0rICAgICAgICAodm9pZCkgbGlua19zZXRfcm91dGluZ19wb2xpY3lfcnVsZShsaW5rKTsKLSAKLSAgICAgICAgIExJU1RfRk9SRUFDSChyb3V0ZXMsIHJ0LCBsaW5rLT5uZXR3b3JrLT5zdGF0aWNfcm91dGVzKSB7Ci0gICAgICAgICAgICAgICAgIHIgPSByb3V0ZV9jb25maWd1cmUocnQsIGxpbmssIHJvdXRlX2hhbmRsZXIpOwotQEAgLTg5Myw3ICs4OTIsNyBAQCBzdGF0aWMgaW50IGFkZHJlc3NfaGFuZGxlcihzZF9uZXRsaW5rICpydG5sLCBzZF9uZXRsaW5rX21lc3NhZ2UgKm0sIHZvaWQgKnVzZXJkYQotICAgICAgICAgYXNzZXJ0KGxpbmspOwotICAgICAgICAgYXNzZXJ0KGxpbmstPmlmbmFtZSk7Ci0gICAgICAgICBhc3NlcnQobGluay0+YWRkcmVzc19tZXNzYWdlcyA+IDApOwotLSAgICAgICAgYXNzZXJ0KElOX1NFVChsaW5rLT5zdGF0ZSwgTElOS19TVEFURV9TRVRUSU5HX0FERFJFU1NFUywKLSsgICAgICAgIGFzc2VydChJTl9TRVQobGluay0+c3RhdGUsIExJTktfU1RBVEVfQ09ORklHVVJJTkcsCi0gICAgICAgICAgICAgICAgTElOS19TVEFURV9GQUlMRUQsIExJTktfU1RBVEVfTElOR0VSKSk7Ci0gCi0gICAgICAgICBsaW5rLT5hZGRyZXNzX21lc3NhZ2VzLS07Ci1AQCAtOTEwLDcgKzkwOSw3IEBAIHN0YXRpYyBpbnQgYWRkcmVzc19oYW5kbGVyKHNkX25ldGxpbmsgKnJ0bmwsIHNkX25ldGxpbmtfbWVzc2FnZSAqbSwgdm9pZCAqdXNlcmRhCi0gICAgICAgICBpZiAobGluay0+YWRkcmVzc19tZXNzYWdlcyA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgIGxvZ19saW5rX2RlYnVnKGxpbmssICJBZGRyZXNzZXMgc2V0Iik7Ci0gICAgICAgICAgICAgICAgIGxpbmstPmFkZHJlc3Nlc19jb25maWd1cmVkID0gdHJ1ZTsKLS0gICAgICAgICAgICAgICAgbGlua19lbnRlcl9zZXRfcm91dGVzKGxpbmspOwotKyAgICAgICAgICAgICAgICBsaW5rX3JlcXVlc3Rfc2V0X3JvdXRlcyhsaW5rKTsKLSAgICAgICAgIH0KLSAKLSAgICAgICAgIHJldHVybiAxOwotQEAgLTEwNTQsNyArMTA1Myw3IEBAIHN0YXRpYyBpbnQgbGlua19zZXRfYnJpZGdlX2ZkYihMaW5rICpsaW5rKSB7Ci0gICAgICAgICByZXR1cm4gMDsKLSB9Ci0gCi0tc3RhdGljIGludCBsaW5rX2VudGVyX3NldF9hZGRyZXNzZXMoTGluayAqbGluaykgewotK3N0YXRpYyBpbnQgbGlua19yZXF1ZXN0X3NldF9hZGRyZXNzZXMoTGluayAqbGluaykgewotICAgICAgICAgQWRkcmVzc0xhYmVsICpsYWJlbDsKLSAgICAgICAgIEFkZHJlc3MgKmFkOwotICAgICAgICAgaW50IHI7Ci1AQCAtMTA2Nyw3ICsxMDY2LDcgQEAgc3RhdGljIGludCBsaW5rX2VudGVyX3NldF9hZGRyZXNzZXMoTGluayAqbGluaykgewotICAgICAgICAgaWYgKHIgPCAwKQotICAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSAKLS0gICAgICAgIGxpbmtfc2V0X3N0YXRlKGxpbmssIExJTktfU1RBVEVfU0VUVElOR19BRERSRVNTRVMpOwotKyAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9DT05GSUdVUklORyk7Ci0gCi0gICAgICAgICBMSVNUX0ZPUkVBQ0goYWRkcmVzc2VzLCBhZCwgbGluay0+bmV0d29yay0+c3RhdGljX2FkZHJlc3NlcykgewotICAgICAgICAgICAgICAgICByID0gYWRkcmVzc19jb25maWd1cmUoYWQsIGxpbmssIGFkZHJlc3NfaGFuZGxlciwgZmFsc2UpOwotQEAgLTEyMTIsNyArMTIxMSw3IEBAIHN0YXRpYyBpbnQgbGlua19lbnRlcl9zZXRfYWRkcmVzc2VzKExpbmsgKmxpbmspIHsKLSAKLSAgICAgICAgIGlmIChsaW5rLT5hZGRyZXNzX21lc3NhZ2VzID09IDApIHsKLSAgICAgICAgICAgICAgICAgbGluay0+YWRkcmVzc2VzX2NvbmZpZ3VyZWQgPSB0cnVlOwotLSAgICAgICAgICAgICAgICBsaW5rX2VudGVyX3NldF9yb3V0ZXMobGluayk7Ci0rICAgICAgICAgICAgICAgIGxpbmtfcmVxdWVzdF9zZXRfcm91dGVzKGxpbmspOwotICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgIGxvZ19saW5rX2RlYnVnKGxpbmssICJTZXR0aW5nIGFkZHJlc3NlcyIpOwotIAotQEAgLTIzMTMsNyArMjMxMiw3IEBAIHN0YXRpYyBpbnQgbGlua19qb2luZWQoTGluayAqbGluaykgewotICAgICAgICAgaWYgKCFsaW5rX2hhc19jYXJyaWVyKGxpbmspICYmICFsaW5rLT5uZXR3b3JrLT5jb25maWd1cmVfd2l0aG91dF9jYXJyaWVyKQotICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAKLS0gICAgICAgIHJldHVybiBsaW5rX2VudGVyX3NldF9hZGRyZXNzZXMobGluayk7Ci0rICAgICAgICByZXR1cm4gbGlua19yZXF1ZXN0X3NldF9hZGRyZXNzZXMobGluayk7Ci0gfQotIAotIHN0YXRpYyBpbnQgbmV0ZGV2X2pvaW5faGFuZGxlcihzZF9uZXRsaW5rICpydG5sLCBzZF9uZXRsaW5rX21lc3NhZ2UgKm0sIHZvaWQgKnVzZXJkYXRhKSB7Ci1AQCAtMjM1MSw3ICsyMzUwLDcgQEAgc3RhdGljIGludCBsaW5rX2VudGVyX2pvaW5fbmV0ZGV2KExpbmsgKmxpbmspIHsKLSAgICAgICAgIGFzc2VydChsaW5rLT5uZXR3b3JrKTsKLSAgICAgICAgIGFzc2VydChsaW5rLT5zdGF0ZSA9PSBMSU5LX1NUQVRFX1BFTkRJTkcpOwotIAotLSAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9FTlNMQVZJTkcpOwotKyAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9DT05GSUdVUklORyk7Ci0gCi0gICAgICAgICBsaW5rX2RpcnR5KGxpbmspOwotIAotQEAgLTMyNjQsNyArMzI2Myw3IEBAIHN0YXRpYyBpbnQgbGlua19jYXJyaWVyX2dhaW5lZChMaW5rICpsaW5rKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0gICAgICAgICAgICAgICAgIH0KLSAKLS0gICAgICAgICAgICAgICAgciA9IGxpbmtfZW50ZXJfc2V0X2FkZHJlc3NlcyhsaW5rKTsKLSsgICAgICAgICAgICAgICAgciA9IGxpbmtfcmVxdWVzdF9zZXRfYWRkcmVzc2VzKGxpbmspOwotICAgICAgICAgICAgICAgICBpZiAociA8IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0gICAgICAgICB9Ci1AQCAtMzM0OCw3ICszMzQ3LDcgQEAgaW50IGxpbmtfdXBkYXRlKExpbmsgKmxpbmssIHNkX25ldGxpbmtfbWVzc2FnZSAqbSkgewotICAgICAgICAgaWYgKGxpbmstPnN0YXRlID09IExJTktfU1RBVEVfTElOR0VSKSB7Ci0gICAgICAgICAgICAgICAgIGxpbmtfcmVmKGxpbmspOwotICAgICAgICAgICAgICAgICBsb2dfbGlua19pbmZvKGxpbmssICJMaW5rIHJlYWRkZWQiKTsKLS0gICAgICAgICAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9FTlNMQVZJTkcpOwotKyAgICAgICAgICAgICAgICBsaW5rX3NldF9zdGF0ZShsaW5rLCBMSU5LX1NUQVRFX0NPTkZJR1VSSU5HKTsKLSAKLSAgICAgICAgICAgICAgICAgciA9IGxpbmtfbmV3X2NhcnJpZXJfbWFwcyhsaW5rKTsKLSAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotQEAgLTM5MTEsOSArMzkxMCw3IEBAIHZvaWQgbGlua19jbGVhbihMaW5rICpsaW5rKSB7Ci0gCi0gc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGxpbmtfc3RhdGVfdGFibGVbX0xJTktfU1RBVEVfTUFYXSA9IHsKLSAgICAgICAgIFtMSU5LX1NUQVRFX1BFTkRJTkddID0gInBlbmRpbmciLAotLSAgICAgICAgW0xJTktfU1RBVEVfRU5TTEFWSU5HXSA9ICJjb25maWd1cmluZyIsCi0tICAgICAgICBbTElOS19TVEFURV9TRVRUSU5HX0FERFJFU1NFU10gPSAiY29uZmlndXJpbmciLAotLSAgICAgICAgW0xJTktfU1RBVEVfU0VUVElOR19ST1VURVNdID0gImNvbmZpZ3VyaW5nIiwKLSsgICAgICAgIFtMSU5LX1NUQVRFX0NPTkZJR1VSSU5HXSA9ICJjb25maWd1cmluZyIsCi0gICAgICAgICBbTElOS19TVEFURV9DT05GSUdVUkVEXSA9ICJjb25maWd1cmVkIiwKLSAgICAgICAgIFtMSU5LX1NUQVRFX1VOTUFOQUdFRF0gPSAidW5tYW5hZ2VkIiwKLSAgICAgICAgIFtMSU5LX1NUQVRFX0ZBSUxFRF0gPSAiZmFpbGVkIiwKLWRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmggYi9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmgKLWluZGV4IDJmMzdjYzE1OTguLjVmZDgxYmU1YTUgMTAwNjQ0Ci0tLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmgKLSsrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaAotQEAgLTE5LDkgKzE5LDcgQEAKLSAKLSB0eXBlZGVmIGVudW0gTGlua1N0YXRlIHsKLSAgICAgICAgIExJTktfU1RBVEVfUEVORElORywKLS0gICAgICAgIExJTktfU1RBVEVfRU5TTEFWSU5HLAotLSAgICAgICAgTElOS19TVEFURV9TRVRUSU5HX0FERFJFU1NFUywKLS0gICAgICAgIExJTktfU1RBVEVfU0VUVElOR19ST1VURVMsCi0rICAgICAgICBMSU5LX1NUQVRFX0NPTkZJR1VSSU5HLAotICAgICAgICAgTElOS19TVEFURV9DT05GSUdVUkVELAotICAgICAgICAgTElOS19TVEFURV9VTk1BTkFHRUQsCi0gICAgICAgICBMSU5LX1NUQVRFX0ZBSUxFRCwKLS0tIAotMi4yMC4xLjk3Lmc4MTE4OGQ5M2MzLWdvb2cKLQpkaWZmIC0tZ2l0IGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItdGltZWRhdGUtcmVmdXNlLXRvLXNldC10aW1lLXdoZW4tcHJldmlvdXMtcmVxdWVzdC1pcy5wYXRjaCBiL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLXRpbWVkYXRlLXJlZnVzZS10by1zZXQtdGltZS13aGVuLXByZXZpb3VzLXJlcXVlc3QtaXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5YzNmMzcuLjAwMDAwMDAKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItdGltZWRhdGUtcmVmdXNlLXRvLXNldC10aW1lLXdoZW4tcHJldmlvdXMtcmVxdWVzdC1pcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLUZyb20gYjQzNTZiNTcyMGFlMDk3NGYxZjg5NjJlMjY1NjI1OTFkZDBiZTllOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFl1IFdhdGFuYWJlIDx3YXRhbmFiZS55dStnaXRodWJAZ21haWwuY29tPgotRGF0ZTogVHVlLCAxNSBKYW4gMjAxOSAxNDo1MTozMCArMDkwMAotU3ViamVjdDogW1BBVENIIDIvMl0gdGltZWRhdGU6IHJlZnVzZSB0byBzZXQgdGltZSB3aGVuIHByZXZpb3VzIHJlcXVlc3QgaXMgbm90Ci0gZmluaXNoZWQKLQotSWYgYHRpbWVkYXRlY3RsIHNldC10aW1lYCBpcyBpbnZva2VkIHJpZ2h0IGFmdGVyIGB0aW1lZGF0ZWN0bCBzZXQtbnRwIHRydWVgLAotdGhlbiwgdGhlIE5UUCBzZXJ2aWNlIG1heSBub3QgYmUgc3RhcnRlZCB5ZXQuCi0KLUZpeGVzICMxMTQyMC4KLS0tLQotIHNyYy90aW1lZGF0ZS90aW1lZGF0ZWQuYyB8IDExICsrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy90aW1lZGF0ZS90aW1lZGF0ZWQuYyBiL3NyYy90aW1lZGF0ZS90aW1lZGF0ZWQuYwotaW5kZXggMTIzMDhiZS4uZWViMTdiNiAxMDA2NDQKLS0tLSBhL3NyYy90aW1lZGF0ZS90aW1lZGF0ZWQuYwotKysrIGIvc3JjL3RpbWVkYXRlL3RpbWVkYXRlZC5jCi1AQCAtNTIzLDYgKzUyMywxMCBAQCBzdGF0aWMgaW50IHByb3BlcnR5X2dldF9jYW5fbnRwKAotICAgICAgICAgYXNzZXJ0KHJlcGx5KTsKLSAgICAgICAgIGFzc2VydChlcnJvcik7Ci0gCi0rICAgICAgICBpZiAoYy0+c2xvdF9qb2JfcmVtb3ZlZCkKLSsgICAgICAgICAgICAgICAgLyogV2hlbiB0aGUgcHJldmlvdXMgcmVxdWVzdCBpcyBub3QgZmluaXNoZWQsIHRoZW4gYXNzdW1lIE5UUCBpcyBlbmFibGVkLiAqLwotKyAgICAgICAgICAgICAgICByZXR1cm4gc2RfYnVzX21lc3NhZ2VfYXBwZW5kKHJlcGx5LCAiYiIsIHRydWUpOwotKwotICAgICAgICAgciA9IGNvbnRleHRfdXBkYXRlX250cF9zdGF0dXMoYywgYnVzLCByZXBseSk7Ci0gICAgICAgICBpZiAociA8IDApCi0gICAgICAgICAgICAgICAgIHJldHVybiByOwotQEAgLTU0OCw2ICs1NTIsMTAgQEAgc3RhdGljIGludCBwcm9wZXJ0eV9nZXRfbnRwKAotICAgICAgICAgYXNzZXJ0KHJlcGx5KTsKLSAgICAgICAgIGFzc2VydChlcnJvcik7Ci0gCi0rICAgICAgICBpZiAoYy0+c2xvdF9qb2JfcmVtb3ZlZCkKLSsgICAgICAgICAgICAgICAgLyogV2hlbiB0aGUgcHJldmlvdXMgcmVxdWVzdCBpcyBub3QgZmluaXNoZWQsIHRoZW4gYXNzdW1lIE5UUCBpcyBhY3RpdmUuICovCi0rICAgICAgICAgICAgICAgIHJldHVybiBzZF9idXNfbWVzc2FnZV9hcHBlbmQocmVwbHksICJiIiwgdHJ1ZSk7Ci0rCi0gICAgICAgICByID0gY29udGV4dF91cGRhdGVfbnRwX3N0YXR1cyhjLCBidXMsIHJlcGx5KTsKLSAgICAgICAgIGlmIChyIDwgMCkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci1AQCAtNzM1LDYgKzc0Myw5IEBAIHN0YXRpYyBpbnQgbWV0aG9kX3NldF90aW1lKHNkX2J1c19tZXNzYWdlICptLCB2b2lkICp1c2VyZGF0YSwgc2RfYnVzX2Vycm9yICplcnJvCi0gICAgICAgICBhc3NlcnQobSk7Ci0gICAgICAgICBhc3NlcnQoYyk7Ci0gCi0rICAgICAgICBpZiAoYy0+c2xvdF9qb2JfcmVtb3ZlZCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIHNkX2J1c19lcnJvcl9zZXQoZXJyb3IsIEJVU19FUlJPUl9BVVRPTUFUSUNfVElNRV9TWU5DX0VOQUJMRUQsICJQcmV2aW91cyByZXF1ZXN0IGlzIG5vdCBmaW5pc2hlZCwgcmVmdXNpbmcuIik7Ci0rCi0gICAgICAgICByID0gY29udGV4dF91cGRhdGVfbnRwX3N0YXR1cyhjLCBidXMsIG0pOwotICAgICAgICAgaWYgKHIgPCAwKQotICAgICAgICAgICAgICAgICByZXR1cm4gc2RfYnVzX2Vycm9yX3NldF9lcnJub2YoZXJyb3IsIHIsICJGYWlsZWQgdG8gdXBkYXRlIGNvbnRleHQ6ICVtIik7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAzLW5ldHdvcmtkLVN0YXRpYy1uZWlnaGJvci1zdXBwb3J0LnBhdGNoIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDMtbmV0d29ya2QtU3RhdGljLW5laWdoYm9yLXN1cHBvcnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2YTU2MzEuLjAwMDAwMDAKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDMtbmV0d29ya2QtU3RhdGljLW5laWdoYm9yLXN1cHBvcnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NDcgKzAsMCBAQAotRnJvbSAyNDAyZTY5YzJjY2Y3OTVkNjdiYjU1ZDdjZDA3M2U3Mzg0ZDU3YTNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogIldpbGxpYW0gQS4gS2VubmluZ3RvbiBJSUkiIDx3aWxsaWFtQHdrZW5uaW5ndG9uLmNvbT4KLURhdGU6IFdlZCwgMjggTm92IDIwMTggMTk6MDA6NTggLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAzLzNdIG5ldHdvcmtkOiBTdGF0aWMgbmVpZ2hib3Igc3VwcG9ydAotCi1XaGVuIHVzaW5nIG5ldHdvcmtkIHdlIGN1cnJlbnRseSBoYXZlIG5vIHdheSBvZiBlbnN1cmluZyB0aGF0IHN0YXRpYwotbmVpZ2hib3IgZW50cmllcyBhcmUgc2V0IHdoZW4gb3VyIGxpbmsgY29tZXMgdXAuIFRoaXMgY2hhbmdlIGFkZHMgYSBuZXcKLXNlY3Rpb24gdG8gdGhlIG5ldHdvcmsgZGVmaW5pdGlvbiB0aGF0IGFsbG93cyBtdWx0aXBsZSBzdGF0aWMgbmVpZ2hib3JzCi10byBiZSBzZXQgb24gYSBsaW5rLgotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBlNGE3MWJmMzZmNDIyYzM3MjhiOTAyYWFhNTg0NmFkZDdiYmMwZWI5KQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0tLS0KLSBtYW4vc3lzdGVtZC5uZXR3b3JrLnhtbCAgICAgICAgICAgICAgICAgIHwgIDI1ICsrKwotIHNyYy9uZXR3b3JrL21lc29uLmJ1aWxkICAgICAgICAgICAgICAgICAgfCAgIDIgKwotIHNyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuYyAgICAgICAgICAgICAgfCAgMzQgKysrKwotIHNyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaCAgICAgICAgICAgICAgfCAgIDMgKwotIHNyYy9uZXR3b3JrL25ldHdvcmtkLW5laWdoYm9yLmMgICAgICAgICAgfCAyMzQgKysrKysrKysrKysrKysrKysrKysrKysKLSBzcmMvbmV0d29yay9uZXR3b3JrZC1uZWlnaGJvci5oICAgICAgICAgIHwgIDM3ICsrKysKLSBzcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLWdwZXJmLmdwZXJmIHwgICAyICsKLSBzcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLmMgICAgICAgICAgIHwgIDEwICsKLSBzcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLmggICAgICAgICAgIHwgICA0ICsKLSA5IGZpbGVzIGNoYW5nZWQsIDM1MSBpbnNlcnRpb25zKCspCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9uZXR3b3JrL25ldHdvcmtkLW5laWdoYm9yLmMKLSBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL25ldHdvcmsvbmV0d29ya2QtbmVpZ2hib3IuaAotCi1kaWZmIC0tZ2l0IGEvbWFuL3N5c3RlbWQubmV0d29yay54bWwgYi9tYW4vc3lzdGVtZC5uZXR3b3JrLnhtbAotaW5kZXggZmM4ZTBhZWE2OC4uODA0NDE5YzMxYSAxMDA2NDQKLS0tLSBhL21hbi9zeXN0ZW1kLm5ldHdvcmsueG1sCi0rKysgYi9tYW4vc3lzdGVtZC5uZXR3b3JrLnhtbAotQEAgLTg5OSw2ICs4OTksMzEgQEAKLSAgICAgICA8L3ZhcmlhYmxlbGlzdD4KLSAgIDwvcmVmc2VjdDE+Ci0gCi0rICA8cmVmc2VjdDE+Ci0rICAgIDx0aXRsZT5bTmVpZ2hib3JdIFNlY3Rpb24gT3B0aW9uczwvdGl0bGU+Ci0rICAgICAgPHBhcmE+QSA8bGl0ZXJhbD5bTmVpZ2hib3JdPC9saXRlcmFsPiBzZWN0aW9uIGFjY2VwdHMgdGhlCi0rICAgICAgZm9sbG93aW5nIGtleXMuIFRoZSBuZWlnaGJvciBzZWN0aW9uIGFkZHMgYSBwZXJtYW5lbnQsIHN0YXRpYwotKyAgICAgIGVudHJ5IHRvIHRoZSBuZWlnaGJvciB0YWJsZSAoSVB2Nikgb3IgQVJQIHRhYmxlIChJUHY0KSBmb3IKLSsgICAgICB0aGUgZ2l2ZW4gaGFyZHdhcmUgYWRkcmVzcyBvbiB0aGUgbGlua3MgbWF0Y2hlZCBmb3IgdGhlIG5ldHdvcmsuCi0rICAgICAgU3BlY2lmeSBzZXZlcmFsIDxsaXRlcmFsPltOZWlnaGJvcl08L2xpdGVyYWw+IHNlY3Rpb25zIHRvIGNvbmZpZ3VyZQotKyAgICAgIHNldmVyYWwgc3RhdGljIG5laWdoYm9ycy48L3BhcmE+Ci0rCi0rICAgICAgPHZhcmlhYmxlbGlzdCBjbGFzcz0nbmV0d29yay1kaXJlY3RpdmVzJz4KLSsgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0rICAgICAgICAgIDx0ZXJtPjx2YXJuYW1lPkFkZHJlc3M9PC92YXJuYW1lPjwvdGVybT4KLSsgICAgICAgICAgPGxpc3RpdGVtPgotKyAgICAgICAgICAgIDxwYXJhPlRoZSBJUCBhZGRyZXNzIG9mIHRoZSBuZWlnaGJvci48L3BhcmE+Ci0rICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0rICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSsgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0rICAgICAgICAgIDx0ZXJtPjx2YXJuYW1lPk1BQ0FkZHJlc3M9PC92YXJuYW1lPjwvdGVybT4KLSsgICAgICAgICAgPGxpc3RpdGVtPgotKyAgICAgICAgICAgIDxwYXJhPlRoZSBoYXJkd2FyZSBhZGRyZXNzIG9mIHRoZSBuZWlnaGJvci48L3BhcmE+Ci0rICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0rICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSsgICAgICA8L3ZhcmlhYmxlbGlzdD4KLSsgIDwvcmVmc2VjdDE+Ci0rCi0gICAgIDxyZWZzZWN0MT4KLSAgICAgPHRpdGxlPltJUHY2QWRkcmVzc0xhYmVsXSBTZWN0aW9uIE9wdGlvbnM8L3RpdGxlPgotIAotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL21lc29uLmJ1aWxkIGIvc3JjL25ldHdvcmsvbWVzb24uYnVpbGQKLWluZGV4IDhmNTU0NGVhMDQuLjkwMDEzMGVkNmEgMTAwNjQ0Ci0tLS0gYS9zcmMvbmV0d29yay9tZXNvbi5idWlsZAotKysrIGIvc3JjL25ldHdvcmsvbWVzb24uYnVpbGQKLUBAIC02Miw2ICs2Miw4IEBAIHNvdXJjZXMgPSBmaWxlcygnJycKLSAgICAgICAgIG5ldHdvcmtkLW1hbmFnZXIuaAotICAgICAgICAgbmV0d29ya2QtbmRpc2MuYwotICAgICAgICAgbmV0d29ya2QtbmRpc2MuaAotKyAgICAgICAgbmV0d29ya2QtbmVpZ2hib3IuYwotKyAgICAgICAgbmV0d29ya2QtbmVpZ2hib3IuaAotICAgICAgICAgbmV0d29ya2QtcmFkdi5jCi0gICAgICAgICBuZXR3b3JrZC1yYWR2LmgKLSAgICAgICAgIG5ldHdvcmtkLW5ldHdvcmstYnVzLmMKLWRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKLWluZGV4IDcxYjkyMTg1Y2QuLjUxZjk1YWM1NWUgMTAwNjQ0Ci0tLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKLSsrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuYwotQEAgLTE3LDYgKzE3LDcgQEAKLSAjaW5jbHVkZSAibmV0d29ya2QtbGxkcC10eC5oIgotICNpbmNsdWRlICJuZXR3b3JrZC1tYW5hZ2VyLmgiCi0gI2luY2x1ZGUgIm5ldHdvcmtkLW5kaXNjLmgiCi0rI2luY2x1ZGUgIm5ldHdvcmtkLW5laWdoYm9yLmgiCi0gI2luY2x1ZGUgIm5ldHdvcmtkLXJhZHYuaCIKLSAjaW5jbHVkZSAibmV0d29ya2Qtcm91dGluZy1wb2xpY3ktcnVsZS5oIgotICNpbmNsdWRlICJzZXQuaCIKLUBAIC03MzEsNiArNzMyLDkgQEAgdm9pZCBsaW5rX2NoZWNrX3JlYWR5KExpbmsgKmxpbmspIHsKLSAgICAgICAgIGlmICghbGluay0+YWRkcmVzc2VzX2NvbmZpZ3VyZWQpCi0gICAgICAgICAgICAgICAgIHJldHVybjsKLSAKLSsgICAgICAgIGlmICghbGluay0+bmVpZ2hib3JzX2NvbmZpZ3VyZWQpCi0rICAgICAgICAgICAgICAgIHJldHVybjsKLSsKLSAgICAgICAgIGlmICghbGluay0+c3RhdGljX3JvdXRlc19jb25maWd1cmVkKQotICAgICAgICAgICAgICAgICByZXR1cm47Ci0gCi1AQCAtODgzLDYgKzg4NywzNCBAQCBpbnQgbGlua19yb3V0ZV9yZW1vdmVfaGFuZGxlcihzZF9uZXRsaW5rICpydG5sLCBzZF9uZXRsaW5rX21lc3NhZ2UgKm0sIHZvaWQgKnVzZQotICAgICAgICAgcmV0dXJuIDE7Ci0gfQotIAotK3N0YXRpYyBpbnQgbGlua19yZXF1ZXN0X3NldF9uZWlnaGJvcnMoTGluayAqbGluaykgewotKyAgICAgICAgTmVpZ2hib3IgKm5laWdoYm9yOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICBhc3NlcnQobGluayk7Ci0rICAgICAgICBhc3NlcnQobGluay0+bmV0d29yayk7Ci0rICAgICAgICBhc3NlcnQobGluay0+c3RhdGUgIT0gX0xJTktfU1RBVEVfSU5WQUxJRCk7Ci0rCi0rICAgICAgICBsaW5rX3NldF9zdGF0ZShsaW5rLCBMSU5LX1NUQVRFX0NPTkZJR1VSSU5HKTsKLSsKLSsgICAgICAgIExJU1RfRk9SRUFDSChuZWlnaGJvcnMsIG5laWdoYm9yLCBsaW5rLT5uZXR3b3JrLT5uZWlnaGJvcnMpIHsKLSsgICAgICAgICAgICAgICAgciA9IG5laWdoYm9yX2NvbmZpZ3VyZShuZWlnaGJvciwgbGluaywgTlVMTCk7Ci0rICAgICAgICAgICAgICAgIGlmIChyIDwgMCkgewotKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19saW5rX3dhcm5pbmdfZXJybm8obGluaywgciwgIkNvdWxkIG5vdCBzZXQgbmVpZ2hib3I6ICVtIik7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgbGlua19lbnRlcl9mYWlsZWQobGluayk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0rICAgICAgICAgICAgICAgIH0KLSsgICAgICAgIH0KLSsKLSsgICAgICAgIGlmIChsaW5rLT5uZWlnaGJvcl9tZXNzYWdlcyA9PSAwKSB7Ci0rICAgICAgICAgICAgICAgIGxpbmstPm5laWdoYm9yc19jb25maWd1cmVkID0gdHJ1ZTsKLSsgICAgICAgICAgICAgICAgbGlua19jaGVja19yZWFkeShsaW5rKTsKLSsgICAgICAgIH0gZWxzZQotKyAgICAgICAgICAgICAgICBsb2dfbGlua19kZWJ1ZyhsaW5rLCAiU2V0dGluZyBuZWlnaGJvcnMiKTsKLSsKLSsgICAgICAgIHJldHVybiAwOwotK30KLSsKLSBzdGF0aWMgaW50IGFkZHJlc3NfaGFuZGxlcihzZF9uZXRsaW5rICpydG5sLCBzZF9uZXRsaW5rX21lc3NhZ2UgKm0sIHZvaWQgKnVzZXJkYXRhKSB7Ci0gICAgICAgICBfY2xlYW51cF8obGlua191bnJlZnApIExpbmsgKmxpbmsgPSB1c2VyZGF0YTsKLSAgICAgICAgIGludCByOwotQEAgLTEwNjgsNiArMTEwMCw4IEBAIHN0YXRpYyBpbnQgbGlua19yZXF1ZXN0X3NldF9hZGRyZXNzZXMoTGluayAqbGluaykgewotIAotICAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9DT05GSUdVUklORyk7Ci0gCi0rICAgICAgICBsaW5rX3JlcXVlc3Rfc2V0X25laWdoYm9ycyhsaW5rKTsKLSsKLSAgICAgICAgIExJU1RfRk9SRUFDSChhZGRyZXNzZXMsIGFkLCBsaW5rLT5uZXR3b3JrLT5zdGF0aWNfYWRkcmVzc2VzKSB7Ci0gICAgICAgICAgICAgICAgIHIgPSBhZGRyZXNzX2NvbmZpZ3VyZShhZCwgbGluaywgYWRkcmVzc19oYW5kbGVyLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgIGlmIChyIDwgMCkgewotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaCBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaAotaW5kZXggNWZkODFiZTVhNS4uNDY0ZTkzZDk4MiAxMDA2NDQKLS0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaAotKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5oCi1AQCAtNjgsNiArNjgsNyBAQCB0eXBlZGVmIHN0cnVjdCBMaW5rIHsKLSAKLSAgICAgICAgIHVuc2lnbmVkIGFkZHJlc3NfbWVzc2FnZXM7Ci0gICAgICAgICB1bnNpZ25lZCBhZGRyZXNzX2xhYmVsX21lc3NhZ2VzOwotKyAgICAgICAgdW5zaWduZWQgbmVpZ2hib3JfbWVzc2FnZXM7Ci0gICAgICAgICB1bnNpZ25lZCByb3V0ZV9tZXNzYWdlczsKLSAgICAgICAgIHVuc2lnbmVkIHJvdXRpbmdfcG9saWN5X3J1bGVfbWVzc2FnZXM7Ci0gICAgICAgICB1bnNpZ25lZCByb3V0aW5nX3BvbGljeV9ydWxlX3JlbW92ZV9tZXNzYWdlczsKLUBAIC05NSw2ICs5Niw4IEBAIHR5cGVkZWYgc3RydWN0IExpbmsgewotICAgICAgICAgYm9vbCBpcHY0bGxfYWRkcmVzczoxOwotICAgICAgICAgYm9vbCBpcHY0bGxfcm91dGU6MTsKLSAKLSsgICAgICAgIGJvb2wgbmVpZ2hib3JzX2NvbmZpZ3VyZWQ7Ci0rCi0gICAgICAgICBib29sIHN0YXRpY19yb3V0ZXNfY29uZmlndXJlZDsKLSAgICAgICAgIGJvb2wgcm91dGluZ19wb2xpY3lfcnVsZXNfY29uZmlndXJlZDsKLSAgICAgICAgIGJvb2wgc2V0dGluZ19tdHU7Ci1kaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsvbmV0d29ya2QtbmVpZ2hib3IuYyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5laWdoYm9yLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi5kYjY5ZDMxMGQzCi0tLS0gL2Rldi9udWxsCi0rKysgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1uZWlnaGJvci5jCi1AQCAtMCwwICsxLDIzNCBAQAotKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KLSsKLSsjaW5jbHVkZSAic2QtbmV0bGluay5oIgotKwotKyNpbmNsdWRlICJhbGxvYy11dGlsLmgiCi0rI2luY2x1ZGUgImNvbmYtcGFyc2VyLmgiCi0rI2luY2x1ZGUgImV0aGVyLWFkZHItdXRpbC5oIgotKyNpbmNsdWRlICJoYXNobWFwLmgiCi0rI2luY2x1ZGUgImluLWFkZHItdXRpbC5oIgotKyNpbmNsdWRlICJuZXRsaW5rLXV0aWwuaCIKLSsjaW5jbHVkZSAibmV0d29ya2QtbGluay5oIgotKyNpbmNsdWRlICJuZXR3b3JrZC1tYW5hZ2VyLmgiCi0rI2luY2x1ZGUgIm5ldHdvcmtkLW5laWdoYm9yLmgiCi0rCi0rdm9pZCBuZWlnaGJvcl9mcmVlKE5laWdoYm9yICpuZWlnaGJvcikgewotKyAgICAgICAgaWYgKCFuZWlnaGJvcikKLSsgICAgICAgICAgICAgICAgcmV0dXJuOwotKwotKyAgICAgICAgaWYgKG5laWdoYm9yLT5uZXR3b3JrKSB7Ci0rICAgICAgICAgICAgICAgIExJU1RfUkVNT1ZFKG5laWdoYm9ycywgbmVpZ2hib3ItPm5ldHdvcmstPm5laWdoYm9ycywgbmVpZ2hib3IpOwotKyAgICAgICAgICAgICAgICBhc3NlcnQobmVpZ2hib3ItPm5ldHdvcmstPm5fbmVpZ2hib3JzID4gMCk7Ci0rICAgICAgICAgICAgICAgIG5laWdoYm9yLT5uZXR3b3JrLT5uX25laWdoYm9ycy0tOwotKwotKyAgICAgICAgICAgICAgICBpZiAobmVpZ2hib3ItPnNlY3Rpb24pIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICBoYXNobWFwX3JlbW92ZShuZWlnaGJvci0+bmV0d29yay0+bmVpZ2hib3JzX2J5X3NlY3Rpb24sIG5laWdoYm9yLT5zZWN0aW9uKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBuZXR3b3JrX2NvbmZpZ19zZWN0aW9uX2ZyZWUobmVpZ2hib3ItPnNlY3Rpb24pOwotKyAgICAgICAgICAgICAgICB9Ci0rICAgICAgICB9Ci0rCi0rICAgICAgICBmcmVlKG5laWdoYm9yKTsKLSt9Ci0rCi0rc3RhdGljIGludCBuZWlnaGJvcl9uZXdfc3RhdGljKE5ldHdvcmsgKm5ldHdvcmssIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBzZWN0aW9uX2xpbmUsIE5laWdoYm9yICoqcmV0KSB7Ci0rICAgICAgICBfY2xlYW51cF8obmV0d29ya19jb25maWdfc2VjdGlvbl9mcmVlcCkgTmV0d29ya0NvbmZpZ1NlY3Rpb24gKm4gPSBOVUxMOwotKyAgICAgICAgX2NsZWFudXBfKG5laWdoYm9yX2ZyZWVwKSBOZWlnaGJvciAqbmVpZ2hib3IgPSBOVUxMOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICBhc3NlcnQobmV0d29yayk7Ci0rICAgICAgICBhc3NlcnQocmV0KTsKLSsgICAgICAgIGFzc2VydCghIWZpbGVuYW1lID09IChzZWN0aW9uX2xpbmUgPiAwKSk7Ci0rCi0rICAgICAgICBpZiAoZmlsZW5hbWUpIHsKLSsgICAgICAgICAgICAgICAgciA9IG5ldHdvcmtfY29uZmlnX3NlY3Rpb25fbmV3KGZpbGVuYW1lLCBzZWN0aW9uX2xpbmUsICZuKTsKLSsgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwotKwotKyAgICAgICAgICAgICAgICBuZWlnaGJvciA9IGhhc2htYXBfZ2V0KG5ldHdvcmstPm5laWdoYm9yc19ieV9zZWN0aW9uLCBuKTsKLSsgICAgICAgICAgICAgICAgaWYgKG5laWdoYm9yKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgKnJldCA9IFRBS0VfUFRSKG5laWdoYm9yKTsKLSsKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgICAgICAgICAgICAgfQotKyAgICAgICAgfQotKwotKyAgICAgICAgbmVpZ2hib3IgPSBuZXcoTmVpZ2hib3IsIDEpOwotKyAgICAgICAgaWYgKCFuZWlnaGJvcikKLSsgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0rCi0rICAgICAgICAqbmVpZ2hib3IgPSAoTmVpZ2hib3IpIHsKLSsgICAgICAgICAgICAgICAgLm5ldHdvcmsgPSBuZXR3b3JrLAotKyAgICAgICAgICAgICAgICAuZmFtaWx5ID0gQUZfVU5TUEVDLAotKyAgICAgICAgfTsKLSsKLSsgICAgICAgIExJU1RfQVBQRU5EKG5laWdoYm9ycywgbmV0d29yay0+bmVpZ2hib3JzLCBuZWlnaGJvcik7Ci0rICAgICAgICBuZXR3b3JrLT5uX25laWdoYm9ycysrOwotKwotKyAgICAgICAgaWYgKGZpbGVuYW1lKSB7Ci0rICAgICAgICAgICAgICAgIG5laWdoYm9yLT5zZWN0aW9uID0gVEFLRV9QVFIobik7Ci0rCi0rICAgICAgICAgICAgICAgIHIgPSBoYXNobWFwX3B1dChuZXR3b3JrLT5uZWlnaGJvcnNfYnlfc2VjdGlvbiwgbmVpZ2hib3ItPnNlY3Rpb24sIG5laWdoYm9yKTsKLSsgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwotKyAgICAgICAgfQotKwotKyAgICAgICAgKnJldCA9IFRBS0VfUFRSKG5laWdoYm9yKTsKLSsKLSsgICAgICAgIHJldHVybiAwOwotK30KLSsKLStzdGF0aWMgaW50IG5laWdoYm9yX2hhbmRsZXIoc2RfbmV0bGluayAqcnRubCwgc2RfbmV0bGlua19tZXNzYWdlICptLCB2b2lkICp1c2VyZGF0YSkgewotKyAgICAgICAgX2NsZWFudXBfKGxpbmtfdW5yZWZwKSBMaW5rICpsaW5rID0gdXNlcmRhdGE7Ci0rICAgICAgICBpbnQgcjsKLSsKLSsgICAgICAgIGFzc2VydChsaW5rKTsKLSsgICAgICAgIGFzc2VydChsaW5rLT5uZWlnaGJvcl9tZXNzYWdlcyA+IDApOwotKwotKyAgICAgICAgbGluay0+bmVpZ2hib3JfbWVzc2FnZXMtLTsKLSsKLSsgICAgICAgIGlmIChJTl9TRVQobGluay0+c3RhdGUsIExJTktfU1RBVEVfRkFJTEVELCBMSU5LX1NUQVRFX0xJTkdFUikpCi0rICAgICAgICAgICAgICAgIHJldHVybiAxOwotKwotKyAgICAgICAgciA9IHNkX25ldGxpbmtfbWVzc2FnZV9nZXRfZXJybm8obSk7Ci0rICAgICAgICBpZiAociA8IDAgJiYgciAhPSAtRUVYSVNUKQotKyAgICAgICAgICAgICAgICBsb2dfbGlua193YXJuaW5nX2Vycm5vKGxpbmssIHIsICJDb3VsZCBub3Qgc2V0IG5laWdoYm9yOiAlbSIpOwotKwotKyAgICAgICAgaWYgKGxpbmstPm5laWdoYm9yX21lc3NhZ2VzID09IDApIHsKLSsgICAgICAgICAgICAgICAgbG9nX2xpbmtfZGVidWcobGluaywgIk5laWdoYm9ycyBzZXQiKTsKLSsgICAgICAgICAgICAgICAgbGluay0+bmVpZ2hib3JzX2NvbmZpZ3VyZWQgPSB0cnVlOwotKyAgICAgICAgICAgICAgICBsaW5rX2NoZWNrX3JlYWR5KGxpbmspOwotKyAgICAgICAgfQotKwotKyAgICAgICAgcmV0dXJuIDE7Ci0rfQotKwotK2ludCBuZWlnaGJvcl9jb25maWd1cmUoTmVpZ2hib3IgKm5laWdoYm9yLCBMaW5rICpsaW5rLCBzZF9uZXRsaW5rX21lc3NhZ2VfaGFuZGxlcl90IGNhbGxiYWNrKSB7Ci0rICAgICAgICBfY2xlYW51cF8oc2RfbmV0bGlua19tZXNzYWdlX3VucmVmcCkgc2RfbmV0bGlua19tZXNzYWdlICpyZXEgPSBOVUxMOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICBhc3NlcnQobmVpZ2hib3IpOwotKyAgICAgICAgYXNzZXJ0KGxpbmspOwotKyAgICAgICAgYXNzZXJ0KGxpbmstPmlmaW5kZXggPiAwKTsKLSsgICAgICAgIGFzc2VydChsaW5rLT5tYW5hZ2VyKTsKLSsgICAgICAgIGFzc2VydChsaW5rLT5tYW5hZ2VyLT5ydG5sKTsKLSsKLSsgICAgICAgIGlmIChuZWlnaGJvci0+ZmFtaWx5ID09IEFGX1VOU1BFQykKLSsgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhFSU5WQUwsICJOZWlnaGJvciB3aXRob3V0IEFkZHJlc3M9IGNvbmZpZ3VyZWQiKTsKLSsgICAgICAgIGlmICghbmVpZ2hib3ItPm1hY19jb25maWd1cmVkKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKEVJTlZBTCwgIk5laWdoYm9yIHdpdGhvdXQgTUFDQWRkcmVzcz0gY29uZmlndXJlZCIpOwotKwotKyAgICAgICAgciA9IHNkX3J0bmxfbWVzc2FnZV9uZXdfbmVpZ2gobGluay0+bWFuYWdlci0+cnRubCwgJnJlcSwgUlRNX05FV05FSUdILAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmstPmlmaW5kZXgsIG5laWdoYm9yLT5mYW1pbHkpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJDb3VsZCBub3QgYWxsb2NhdGUgUlRNX05FV05FSUdIIG1lc3NhZ2U6ICVtIik7Ci0rCi0rICAgICAgICByID0gc2RfcnRubF9tZXNzYWdlX25laWdoX3NldF9zdGF0ZShyZXEsIE5VRF9QRVJNQU5FTlQpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJDb3VsZCBub3Qgc2V0IHN0YXRlOiAlbSIpOwotKwotKyAgICAgICAgciA9IHNkX25ldGxpbmtfbWVzc2FnZV9zZXRfZmxhZ3MocmVxLCBOTE1fRl9SRVFVRVNUIHwgTkxNX0ZfQ1JFQVRFIHwgTkxNX0ZfUkVQTEFDRSk7Ci0rICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZXJyb3JfZXJybm8ociwgIkNvdWxkIG5vdCBzZXQgZmxhZ3M6ICVtIik7Ci0rCi0rICAgICAgICByID0gc2RfbmV0bGlua19tZXNzYWdlX2FwcGVuZF9ldGhlcl9hZGRyKHJlcSwgTkRBX0xMQUREUiwgJm5laWdoYm9yLT5tYWMpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJDb3VsZCBub3QgYXBwZW5kIE5EQV9MTEFERFIgYXR0cmlidXRlOiAlbSIpOwotKwotKyAgICAgICAgc3dpdGNoIChuZWlnaGJvci0+ZmFtaWx5KSB7Ci0rICAgICAgICBjYXNlIEFGX0lORVQ2OgotKyAgICAgICAgICAgICAgICByID0gc2RfbmV0bGlua19tZXNzYWdlX2FwcGVuZF9pbjZfYWRkcihyZXEsIE5EQV9EU1QsICZuZWlnaGJvci0+aW5fYWRkci5pbjYpOwotKyAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLCAiQ291bGQgbm90IGFwcGVuZCBOREFfRFNUIGF0dHJpYnV0ZTogJW0iKTsKLSsgICAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICBjYXNlIEFGX0lORVQ6Ci0rICAgICAgICAgICAgICAgIHIgPSBzZF9uZXRsaW5rX21lc3NhZ2VfYXBwZW5kX2luX2FkZHIocmVxLCBOREFfRFNULCAmbmVpZ2hib3ItPmluX2FkZHIuaW4pOwotKyAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLCAiQ291bGQgbm90IGFwcGVuZCBOREFfRFNUIGF0dHJpYnV0ZTogJW0iKTsKLSsgICAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICBkZWZhdWx0OgotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKEVJTlZBTCwgIk5laWdoYm9yIHdpdGggaW52YWxpZCBhZGRyZXNzIGZhbWlseSIpOwotKyAgICAgICAgfQotKwotKyAgICAgICAgciA9IHNkX25ldGxpbmtfY2FsbF9hc3luYyhsaW5rLT5tYW5hZ2VyLT5ydG5sLCByZXEsIGNhbGxiYWNrID86IG5laWdoYm9yX2hhbmRsZXIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmssIDAsIE5VTEwpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJDb3VsZCBub3Qgc2VuZCBydG5ldGxpbmsgbWVzc2FnZTogJW0iKTsKLSsKLSsgICAgICAgIGxpbmstPm5laWdoYm9yX21lc3NhZ2VzKys7Ci0rICAgICAgICBsaW5rX3JlZihsaW5rKTsKLSsKLSsgICAgICAgIHJldHVybiAwOwotK30KLSsKLStpbnQgY29uZmlnX3BhcnNlX25laWdoYm9yX2FkZHJlc3MoY29uc3QgY2hhciAqdW5pdCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxpbmUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnNlY3Rpb24sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIHNlY3Rpb25fbGluZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbHZhbHVlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbHR5cGUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnJ2YWx1ZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlcmRhdGEpIHsKLSsKLSsgICAgICAgIE5ldHdvcmsgKm5ldHdvcmsgPSB1c2VyZGF0YTsKLSsgICAgICAgIF9jbGVhbnVwXyhuZWlnaGJvcl9mcmVlcCkgTmVpZ2hib3IgKm4gPSBOVUxMOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICBhc3NlcnQoZmlsZW5hbWUpOwotKyAgICAgICAgYXNzZXJ0KHNlY3Rpb24pOwotKyAgICAgICAgYXNzZXJ0KGx2YWx1ZSk7Ci0rICAgICAgICBhc3NlcnQocnZhbHVlKTsKLSsgICAgICAgIGFzc2VydChkYXRhKTsKLSsKLSsgICAgICAgIHIgPSBuZWlnaGJvcl9uZXdfc3RhdGljKG5ldHdvcmssIGZpbGVuYW1lLCBzZWN0aW9uX2xpbmUsICZuKTsKLSsgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0rCi0rICAgICAgICByID0gaW5fYWRkcl9mcm9tX3N0cmluZ19hdXRvKHJ2YWx1ZSwgJm4tPmZhbWlseSwgJm4tPmluX2FkZHIpOwotKyAgICAgICAgaWYgKHIgPCAwKSB7Ci0rICAgICAgICAgICAgICAgIGxvZ19zeW50YXgodW5pdCwgTE9HX0VSUiwgZmlsZW5hbWUsIGxpbmUsIHIsICJOZWlnaGJvciBBZGRyZXNzIGlzIGludmFsaWQsIGlnbm9yaW5nIGFzc2lnbm1lbnQ6ICVzIiwgcnZhbHVlKTsKLSsgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0rICAgICAgICB9Ci0rCi0rICAgICAgICBUQUtFX1BUUihuKTsKLSsKLSsgICAgICAgIHJldHVybiAwOwotK30KLSsKLStpbnQgY29uZmlnX3BhcnNlX25laWdoYm9yX2h3YWRkcihjb25zdCBjaGFyICp1bml0LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxpbmUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc2VjdGlvbiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBzZWN0aW9uX2xpbmUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbHZhbHVlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsdHlwZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpydmFsdWUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyZGF0YSkgewotKwotKyAgICAgICAgTmV0d29yayAqbmV0d29yayA9IHVzZXJkYXRhOwotKyAgICAgICAgX2NsZWFudXBfKG5laWdoYm9yX2ZyZWVwKSBOZWlnaGJvciAqbiA9IE5VTEw7Ci0rICAgICAgICBpbnQgcjsKLSsKLSsgICAgICAgIGFzc2VydChmaWxlbmFtZSk7Ci0rICAgICAgICBhc3NlcnQoc2VjdGlvbik7Ci0rICAgICAgICBhc3NlcnQobHZhbHVlKTsKLSsgICAgICAgIGFzc2VydChydmFsdWUpOwotKyAgICAgICAgYXNzZXJ0KGRhdGEpOwotKwotKyAgICAgICAgciA9IG5laWdoYm9yX25ld19zdGF0aWMobmV0d29yaywgZmlsZW5hbWUsIHNlY3Rpb25fbGluZSwgJm4pOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSsKLSsgICAgICAgIHIgPSBldGhlcl9hZGRyX2Zyb21fc3RyaW5nKHJ2YWx1ZSwgJm4tPm1hYyk7Ci0rICAgICAgICBpZiAociA8IDApIHsKLSsgICAgICAgICAgICAgICAgbG9nX3N5bnRheCh1bml0LCBMT0dfRVJSLCBmaWxlbmFtZSwgbGluZSwgciwgIk5laWdoYm9yIE1BQ0FkZHJlc3MgaXMgaW52YWxpZCwgaWdub3JpbmcgYXNzaWdubWVudDogJXMiLCBydmFsdWUpOwotKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIG4tPm1hY19jb25maWd1cmVkID0gdHJ1ZTsKLSsgICAgICAgIFRBS0VfUFRSKG4pOwotKwotKyAgICAgICAgcmV0dXJuIDA7Ci0rfQotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5laWdoYm9yLmggYi9zcmMvbmV0d29yay9uZXR3b3JrZC1uZWlnaGJvci5oCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMC4uMzBhMWY4ZmUyNwotLS0tIC9kZXYvbnVsbAotKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbmVpZ2hib3IuaAotQEAgLTAsMCArMSwzNyBAQAotKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KLSsjcHJhZ21hIG9uY2UKLSsKLSsjaW5jbHVkZSAic2QtbmV0bGluay5oIgotKwotKyNpbmNsdWRlICJjb25mLXBhcnNlci5oIgotKyNpbmNsdWRlICJldGhlci1hZGRyLXV0aWwuaCIKLSsjaW5jbHVkZSAiaW4tYWRkci11dGlsLmgiCi0rI2luY2x1ZGUgImxpc3QuaCIKLSsjaW5jbHVkZSAibWFjcm8uaCIKLSsKLSt0eXBlZGVmIHN0cnVjdCBOZWlnaGJvciBOZWlnaGJvcjsKLSsKLSsjaW5jbHVkZSAibmV0d29ya2QtbGluay5oIgotKyNpbmNsdWRlICJuZXR3b3JrZC1uZXR3b3JrLmgiCi0rCi0rc3RydWN0IE5laWdoYm9yIHsKLSsgICAgICAgIE5ldHdvcmsgKm5ldHdvcms7Ci0rICAgICAgICBMaW5rICpsaW5rOwotKyAgICAgICAgTmV0d29ya0NvbmZpZ1NlY3Rpb24gKnNlY3Rpb247Ci0rCi0rICAgICAgICBpbnQgZmFtaWx5OwotKyAgICAgICAgdW5pb24gaW5fYWRkcl91bmlvbiBpbl9hZGRyOwotKyAgICAgICAgYm9vbCBtYWNfY29uZmlndXJlZDsKLSsgICAgICAgIHN0cnVjdCBldGhlcl9hZGRyIG1hYzsKLSsKLSsgICAgICAgIExJU1RfRklFTERTKE5laWdoYm9yLCBuZWlnaGJvcnMpOwotK307Ci0rCi0rdm9pZCBuZWlnaGJvcl9mcmVlKE5laWdoYm9yICpuZWlnaGJvcik7Ci0rCi0rREVGSU5FX1RSSVZJQUxfQ0xFQU5VUF9GVU5DKE5laWdoYm9yKiwgbmVpZ2hib3JfZnJlZSk7Ci0rCi0raW50IG5laWdoYm9yX2NvbmZpZ3VyZShOZWlnaGJvciAqbmVpZ2hib3IsIExpbmsgKmxpbmssIHNkX25ldGxpbmtfbWVzc2FnZV9oYW5kbGVyX3QgY2FsbGJhY2spOwotKwotK0NPTkZJR19QQVJTRVJfUFJPVE9UWVBFKGNvbmZpZ19wYXJzZV9uZWlnaGJvcl9hZGRyZXNzKTsKLStDT05GSUdfUEFSU0VSX1BST1RPVFlQRShjb25maWdfcGFyc2VfbmVpZ2hib3JfaHdhZGRyKTsKLWRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLWdwZXJmLmdwZXJmIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbmV0d29yay1ncGVyZi5ncGVyZgotaW5kZXggNmFkNTI1N2Y3OS4uMTg0MDUxNDlhNCAxMDA2NDQKLS0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmstZ3BlcmYuZ3BlcmYKLSsrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmstZ3BlcmYuZ3BlcmYKLUBAIC05Myw2ICs5Myw4IEBAIEFkZHJlc3MuQXV0b0pvaW4sICAgICAgICAgICAgICAgICAgICAgICBjb25maWdfcGFyc2VfYWRkcmVzc19mbGFncywKLSBBZGRyZXNzLlNjb3BlLCAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX2FkZHJlc3Nfc2NvcGUsICAgICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLSBJUHY2QWRkcmVzc0xhYmVsLlByZWZpeCwgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX2FkZHJlc3NfbGFiZWxfcHJlZml4LCAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLSBJUHY2QWRkcmVzc0xhYmVsLkxhYmVsLCAgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX2FkZHJlc3NfbGFiZWwsICAgICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLStOZWlnaGJvci5BZGRyZXNzLCAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX25laWdoYm9yX2FkZHJlc3MsICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLStOZWlnaGJvci5NQUNBZGRyZXNzLCAgICAgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX25laWdoYm9yX2h3YWRkciwgICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLSBSb3V0aW5nUG9saWN5UnVsZS5UeXBlT2ZTZXJ2aWNlLCAgICAgICAgY29uZmlnX3BhcnNlX3JvdXRpbmdfcG9saWN5X3J1bGVfdG9zLCAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLSBSb3V0aW5nUG9saWN5UnVsZS5Qcmlvcml0eSwgICAgICAgICAgICAgY29uZmlnX3BhcnNlX3JvdXRpbmdfcG9saWN5X3J1bGVfcHJpb3JpdHksICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLSBSb3V0aW5nUG9saWN5UnVsZS5UYWJsZSwgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX3JvdXRpbmdfcG9saWN5X3J1bGVfdGFibGUsICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLWRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLmMgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLmMKLWluZGV4IDQyOWFhYzVlNmMuLmEzYjhmMGNlYzQgMTAwNjQ0Ci0tLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLmMKLSsrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmsuYwotQEAgLTE1OCw2ICsxNTgsMTAgQEAgc3RhdGljIGludCBuZXR3b3JrX2xvYWRfb25lKE1hbmFnZXIgKm1hbmFnZXIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7Ci0gICAgICAgICBpZiAoIW5ldHdvcmstPmZkYl9lbnRyaWVzX2J5X3NlY3Rpb24pCi0gICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7Ci0gCi0rICAgICAgICBuZXR3b3JrLT5uZWlnaGJvcnNfYnlfc2VjdGlvbiA9IGhhc2htYXBfbmV3KCZuZXR3b3JrX2NvbmZpZ19oYXNoX29wcyk7Ci0rICAgICAgICBpZiAoIW5ldHdvcmstPm5laWdoYm9yc19ieV9zZWN0aW9uKQotKyAgICAgICAgICAgICAgICBsb2dfb29tKCk7Ci0rCi0gICAgICAgICBuZXR3b3JrLT5hZGRyZXNzX2xhYmVsc19ieV9zZWN0aW9uID0gaGFzaG1hcF9uZXcoJm5ldHdvcmtfY29uZmlnX2hhc2hfb3BzKTsKLSAgICAgICAgIGlmICghbmV0d29yay0+YWRkcmVzc19sYWJlbHNfYnlfc2VjdGlvbikKLSAgICAgICAgICAgICAgICAgbG9nX29vbSgpOwotQEAgLTI1Niw2ICsyNjAsNyBAQCBzdGF0aWMgaW50IG5ldHdvcmtfbG9hZF9vbmUoTWFuYWdlciAqbWFuYWdlciwgY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTGlua1wwIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOZXR3b3JrXDAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFkZHJlc3NcMCIKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTmVpZ2hib3JcMCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSVB2NkFkZHJlc3NMYWJlbFwwIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSb3V0aW5nUG9saWN5UnVsZVwwIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSb3V0ZVwwIgotQEAgLTM0MCw2ICszNDUsNyBAQCB2b2lkIG5ldHdvcmtfZnJlZShOZXR3b3JrICpuZXR3b3JrKSB7Ci0gICAgICAgICBJUHY2UHJveHlORFBBZGRyZXNzICppcHY2X3Byb3h5X25kcF9hZGRyZXNzOwotICAgICAgICAgUm91dGluZ1BvbGljeVJ1bGUgKnJ1bGU7Ci0gICAgICAgICBGZGJFbnRyeSAqZmRiX2VudHJ5OwotKyAgICAgICAgTmVpZ2hib3IgKm5laWdoYm9yOwotICAgICAgICAgQWRkcmVzc0xhYmVsICpsYWJlbDsKLSAgICAgICAgIFByZWZpeCAqcHJlZml4OwotICAgICAgICAgQWRkcmVzcyAqYWRkcmVzczsKLUBAIC0zOTMsNiArMzk5LDkgQEAgdm9pZCBuZXR3b3JrX2ZyZWUoTmV0d29yayAqbmV0d29yaykgewotICAgICAgICAgd2hpbGUgKChpcHY2X3Byb3h5X25kcF9hZGRyZXNzID0gbmV0d29yay0+aXB2Nl9wcm94eV9uZHBfYWRkcmVzc2VzKSkKLSAgICAgICAgICAgICAgICAgaXB2Nl9wcm94eV9uZHBfYWRkcmVzc19mcmVlKGlwdjZfcHJveHlfbmRwX2FkZHJlc3MpOwotIAotKyAgICAgICAgd2hpbGUgKChuZWlnaGJvciA9IG5ldHdvcmstPm5laWdoYm9ycykpCi0rICAgICAgICAgICAgICAgIG5laWdoYm9yX2ZyZWUobmVpZ2hib3IpOwotKwotICAgICAgICAgd2hpbGUgKChsYWJlbCA9IG5ldHdvcmstPmFkZHJlc3NfbGFiZWxzKSkKLSAgICAgICAgICAgICAgICAgYWRkcmVzc19sYWJlbF9mcmVlKGxhYmVsKTsKLSAKLUBAIC00MDUsNiArNDE0LDcgQEAgdm9pZCBuZXR3b3JrX2ZyZWUoTmV0d29yayAqbmV0d29yaykgewotICAgICAgICAgaGFzaG1hcF9mcmVlKG5ldHdvcmstPmFkZHJlc3Nlc19ieV9zZWN0aW9uKTsKLSAgICAgICAgIGhhc2htYXBfZnJlZShuZXR3b3JrLT5yb3V0ZXNfYnlfc2VjdGlvbik7Ci0gICAgICAgICBoYXNobWFwX2ZyZWUobmV0d29yay0+ZmRiX2VudHJpZXNfYnlfc2VjdGlvbik7Ci0rICAgICAgICBoYXNobWFwX2ZyZWUobmV0d29yay0+bmVpZ2hib3JzX2J5X3NlY3Rpb24pOwotICAgICAgICAgaGFzaG1hcF9mcmVlKG5ldHdvcmstPmFkZHJlc3NfbGFiZWxzX2J5X3NlY3Rpb24pOwotICAgICAgICAgaGFzaG1hcF9mcmVlKG5ldHdvcmstPnByZWZpeGVzX2J5X3NlY3Rpb24pOwotICAgICAgICAgaGFzaG1hcF9mcmVlKG5ldHdvcmstPnJ1bGVzX2J5X3NlY3Rpb24pOwotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmsuaCBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmsuaAotaW5kZXggMmQ0NmQzOTNhYy4uOGRmMTgzMjZiYiAxMDA2NDQKLS0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmsuaAotKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbmV0d29yay5oCi1AQCAtMTYsNiArMTYsNyBAQAotICNpbmNsdWRlICJuZXR3b3JrZC1mZGIuaCIKLSAjaW5jbHVkZSAibmV0d29ya2QtaXB2Ni1wcm94eS1uZHAuaCIKLSAjaW5jbHVkZSAibmV0d29ya2QtbGxkcC10eC5oIgotKyNpbmNsdWRlICJuZXR3b3JrZC1uZWlnaGJvci5oIgotICNpbmNsdWRlICJuZXR3b3JrZC1yYWR2LmgiCi0gI2luY2x1ZGUgIm5ldHdvcmtkLXJvdXRlLmgiCi0gI2luY2x1ZGUgIm5ldHdvcmtkLXJvdXRpbmctcG9saWN5LXJ1bGUuaCIKLUBAIC0yMjksNiArMjMwLDcgQEAgc3RydWN0IE5ldHdvcmsgewotICAgICAgICAgTElTVF9IRUFEKFJvdXRlLCBzdGF0aWNfcm91dGVzKTsKLSAgICAgICAgIExJU1RfSEVBRChGZGJFbnRyeSwgc3RhdGljX2ZkYl9lbnRyaWVzKTsKLSAgICAgICAgIExJU1RfSEVBRChJUHY2UHJveHlORFBBZGRyZXNzLCBpcHY2X3Byb3h5X25kcF9hZGRyZXNzZXMpOwotKyAgICAgICAgTElTVF9IRUFEKE5laWdoYm9yLCBuZWlnaGJvcnMpOwotICAgICAgICAgTElTVF9IRUFEKEFkZHJlc3NMYWJlbCwgYWRkcmVzc19sYWJlbHMpOwotICAgICAgICAgTElTVF9IRUFEKFByZWZpeCwgc3RhdGljX3ByZWZpeGVzKTsKLSAgICAgICAgIExJU1RfSEVBRChSb3V0aW5nUG9saWN5UnVsZSwgcnVsZXMpOwotQEAgLTIzNyw2ICsyMzksNyBAQCBzdHJ1Y3QgTmV0d29yayB7Ci0gICAgICAgICB1bnNpZ25lZCBuX3N0YXRpY19yb3V0ZXM7Ci0gICAgICAgICB1bnNpZ25lZCBuX3N0YXRpY19mZGJfZW50cmllczsKLSAgICAgICAgIHVuc2lnbmVkIG5faXB2Nl9wcm94eV9uZHBfYWRkcmVzc2VzOwotKyAgICAgICAgdW5zaWduZWQgbl9uZWlnaGJvcnM7Ci0gICAgICAgICB1bnNpZ25lZCBuX2FkZHJlc3NfbGFiZWxzOwotICAgICAgICAgdW5zaWduZWQgbl9zdGF0aWNfcHJlZml4ZXM7Ci0gICAgICAgICB1bnNpZ25lZCBuX3J1bGVzOwotQEAgLTI0NCw2ICsyNDcsNyBAQCBzdHJ1Y3QgTmV0d29yayB7Ci0gICAgICAgICBIYXNobWFwICphZGRyZXNzZXNfYnlfc2VjdGlvbjsKLSAgICAgICAgIEhhc2htYXAgKnJvdXRlc19ieV9zZWN0aW9uOwotICAgICAgICAgSGFzaG1hcCAqZmRiX2VudHJpZXNfYnlfc2VjdGlvbjsKLSsgICAgICAgIEhhc2htYXAgKm5laWdoYm9yc19ieV9zZWN0aW9uOwotICAgICAgICAgSGFzaG1hcCAqYWRkcmVzc19sYWJlbHNfYnlfc2VjdGlvbjsKLSAgICAgICAgIEhhc2htYXAgKnByZWZpeGVzX2J5X3NlY3Rpb247Ci0gICAgICAgICBIYXNobWFwICpydWxlc19ieV9zZWN0aW9uOwotLS0gCi0yLjIwLjEuOTcuZzgxMTg4ZDkzYzMtZ29vZwotCmRpZmYgLS1naXQgYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNi1jb3JlLWZpeC10aGUtY2hlY2staWYtQ09ORklHX0NHUk9VUF9CUEYtaXMtb24ucGF0Y2ggYi9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNi1jb3JlLWZpeC10aGUtY2hlY2staWYtQ09ORklHX0NHUk9VUF9CUEYtaXMtb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2NDUxMDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDYtY29yZS1maXgtdGhlLWNoZWNrLWlmLUNPTkZJR19DR1JPVVBfQlBGLWlzLW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotRnJvbSA0ZWE3OWMxOGYxZTIwODFkNTllYWEwZjFkZjQ3OWRiYzc3MDA3NzllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRWQgVGFub3VzIDxlZC50YW5vdXNAaW50ZWwuY29tPgotRGF0ZTogU3VuLCAxNiBEZWMgMjAxOCAxODoyNzowNiAtMDgwMAotU3ViamVjdDogW1BBVENIXSBjb3JlOiBmaXggdGhlIGNoZWNrIGlmIENPTkZJR19DR1JPVVBfQlBGIGlzIG9uCi0KLVNpbmNlIHRoZSBjb21taXQgdG9ydmFsZHMvbGludXhAZmRiNWM0NTMxYzFlMGU1MGU2MDlkZjgzZjczNmI2ZjNhMDI4OTZlMgotdGhlIHN5c2NhbGwgQlBGX1BST0dfQVRUQUNIIHJldHVybiBFQkFERiB3aGVuIENPTkZJR19DR1JPVVBfQlBGIGlzCi10dXJuZWQgb2ZmIGFuZCBhcyByZXN1bHQgdGhlIGJwZl9maXJld2FsbF9zdXBwb3J0ZWQoKSByZXR1cm5zIHRoZQotaW5jb3JyZWN0IHZhbHVlLgotCi1UaGlzIGNvbW1taXQgcmVwbGFjZXMgdGhlIHN5c2NhbGwgQlBGX1BST0dfQVRUQUNIIHdpdGggQlBGX1BST0dfREVUQUNICi13aGljaCBpcyBzdGlsbCB3b3JrIGFzIGV4cGVjdGVkLgotCi1SZXNvbHZlcyBvcGVuYm1jL2xpbnV4IzE1OQotU2VlIGFsc28gc3lzdGVtZC9zeXN0ZW1kIzcwNTQKLQotT3JpZ2luYWxseSB3cml0dGVuIGJ5OgotQWxleGFuZGVyIEZpbGlwcG92IDxhLmZpbGlwcG92QHlhZHJvLmNvbT4KLQotU2lnbmVkLW9mZi1ieTogRWQgVGFub3VzIDxlZC50YW5vdXNAaW50ZWwuY29tPgotLS0tCi0gc3JjL2NvcmUvYnBmLWZpcmV3YWxsLmMgfCAxNCArKysrKysrLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY29yZS9icGYtZmlyZXdhbGwuYyBiL3NyYy9jb3JlL2JwZi1maXJld2FsbC5jCi1pbmRleCA4YjY2ZWY3M2QuLmU2OGI3MGQwYyAxMDA2NDQKLS0tLSBhL3NyYy9jb3JlL2JwZi1maXJld2FsbC5jCi0rKysgYi9zcmMvY29yZS9icGYtZmlyZXdhbGwuYwotQEAgLTY2MCw3ICs2NjAsNyBAQCBpbnQgYnBmX2ZpcmV3YWxsX3N1cHBvcnRlZCh2b2lkKSB7Ci0gICAgICAgICAgKiBiKSB3aGV0aGVyIHRoZSB1bmlmaWVkIGhpZXJhcmNoeSBpcyBiZWluZyB1c2VkCi0gICAgICAgICAgKiBjKSB0aGUgQlBGIGltcGxlbWVudGF0aW9uIGluIHRoZSBrZXJuZWwgc3VwcG9ydHMgQlBGIExQTSBUUklFIG1hcHMsIHdoaWNoIHdlIHJlcXVpcmUKLSAgICAgICAgICAqIGQpIHRoZSBCUEYgaW1wbGVtZW50YXRpb24gaW4gdGhlIGtlcm5lbCBzdXBwb3J0cyBCUEZfUFJPR19UWVBFX0NHUk9VUF9TS0IgcHJvZ3JhbXMsIHdoaWNoIHdlIHJlcXVpcmUKLS0gICAgICAgICAqIGUpIHRoZSBCUEYgaW1wbGVtZW50YXRpb24gaW4gdGhlIGtlcm5lbCBzdXBwb3J0cyB0aGUgQlBGX1BST0dfQVRUQUNIIGNhbGwsIHdoaWNoIHdlIHJlcXVpcmUKLSsgICAgICAgICAqIGUpIHRoZSBCUEYgaW1wbGVtZW50YXRpb24gaW4gdGhlIGtlcm5lbCBzdXBwb3J0cyB0aGUgQlBGX1BST0dfREVUQUNIIGNhbGwsIHdoaWNoIHdlIHJlcXVpcmUKLSAgICAgICAgICAqCi0gICAgICAgICAgKi8KLSAKLUBAIC03MTQsNyArNzE0LDcgQEAgaW50IGJwZl9maXJld2FsbF9zdXBwb3J0ZWQodm9pZCkgewotICAgICAgICAgICogaXMgdHVybmVkIG9mZiBhdCBrZXJuZWwgY29tcGlsYXRpb24gdGltZS4gVGhpcyBzdWNrcyBvZiBjb3Vyc2U6IHdoeSBkb2VzIGl0IGFsbG93IHVzIHRvIGNyZWF0ZSBhIGNncm91cCBCUEYKLSAgICAgICAgICAqIHByb2dyYW0gaWYgd2UgY2FuJ3QgZG8gYSB0aGluZyB3aXRoIGl0IGxhdGVyPwotICAgICAgICAgICoKLS0gICAgICAgICAqIFdlIGRldGVjdCB0aGlzIGNhc2UgYnkgaXNzdWluZyB0aGUgQlBGX1BST0dfQVRUQUNIIGJwZigpIGNhbGwgd2l0aCBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcnM6IGlmCi0rICAgICAgICAgKiBXZSBkZXRlY3QgdGhpcyBjYXNlIGJ5IGlzc3VpbmcgdGhlIEJQRl9QUk9HX0RFVEFDSCBicGYoKSBjYWxsIHdpdGggaW52YWxpZCBmaWxlIGRlc2NyaXB0b3JzOiBpZgotICAgICAgICAgICogQ09ORklHX0NHUk9VUF9CUEYgaXMgdHVybmVkIG9mZiwgdGhlbiB0aGUgY2FsbCB3aWxsIGZhaWwgZWFybHkgd2l0aCBFSU5WQUwuIElmIGl0IGlzIHR1cm5lZCBvbiB0aGUKLSAgICAgICAgICAqIHBhcmFtZXRlcnMgYXJlIHZhbGlkYXRlZCBob3dldmVyLCBhbmQgdGhhdCdsbCBmYWlsIHdpdGggRUJBREYgdGhlbi4gKi8KLSAKLUBAIC03MjQsMTUgKzcyNCwxNSBAQCBpbnQgYnBmX2ZpcmV3YWxsX3N1cHBvcnRlZCh2b2lkKSB7Ci0gICAgICAgICAgICAgICAgIC5hdHRhY2hfYnBmX2ZkID0gLTEsCi0gICAgICAgICB9OwotIAotLSAgICAgICAgaWYgKGJwZihCUEZfUFJPR19BVFRBQ0gsICZhdHRyLCBzaXplb2YoYXR0cikpIDwgMCkgewotKyAgICAgICAgaWYgKGJwZihCUEZfUFJPR19ERVRBQ0gsICZhdHRyLCBzaXplb2YoYXR0cikpIDwgMCkgewotICAgICAgICAgICAgICAgICBpZiAoZXJybm8gIT0gRUJBREYpIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICBsb2dfZGVidWdfZXJybm8oZXJybm8sICJEaWRuJ3QgZ2V0IEVCQURGIGZyb20gQlBGX1BST0dfQVRUQUNILCBCUEYgZmlyZXdhbGxpbmcgaXMgbm90IHN1cHBvcnRlZDogJW0iKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBsb2dfZGVidWdfZXJybm8oZXJybm8sICJEaWRuJ3QgZ2V0IEVCQURGIGZyb20gQlBGX1BST0dfREVUQUNILCBCUEYgZmlyZXdhbGxpbmcgaXMgbm90IHN1cHBvcnRlZDogJW0iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3VwcG9ydGVkID0gQlBGX0ZJUkVXQUxMX1VOU1VQUE9SVEVEOwotICAgICAgICAgICAgICAgICB9Ci0gCi0gICAgICAgICAgICAgICAgIC8qIFlBWSEgKi8KLSAgICAgICAgIH0gZWxzZSB7Ci0tICAgICAgICAgICAgICAgIGxvZ19kZWJ1ZygiV3V0PyBLZXJuZWwgYWNjZXB0ZWQgb3VyIGludmFsaWQgQlBGX1BST0dfQVRUQUNIIGNhbGw/IFNvbWV0aGluZyBpcyB3ZWlyZCwgYXNzdW1pbmcgQlBGIGZpcmV3YWxsaW5nIGlzIGJyb2tlbiBhbmQgaGVuY2Ugbm90IHN1cHBvcnRlZC4iKTsKLSsgICAgICAgICAgICAgICAgbG9nX2RlYnVnKCJXdXQ/IEtlcm5lbCBhY2NlcHRlZCBvdXIgaW52YWxpZCBCUEZfUFJPR19ERVRBQ0ggY2FsbD8gU29tZXRoaW5nIGlzIHdlaXJkLCBhc3N1bWluZyBCUEYgZmlyZXdhbGxpbmcgaXMgYnJva2VuIGFuZCBoZW5jZSBub3Qgc3VwcG9ydGVkLiIpOwotICAgICAgICAgICAgICAgICByZXR1cm4gc3VwcG9ydGVkID0gQlBGX0ZJUkVXQUxMX1VOU1VQUE9SVEVEOwotICAgICAgICAgfQotIAotQEAgLTc0OCw3ICs3NDgsNyBAQCBpbnQgYnBmX2ZpcmV3YWxsX3N1cHBvcnRlZCh2b2lkKSB7Ci0gICAgICAgICAgICAgICAgIC5hdHRhY2hfZmxhZ3MgPSBCUEZfRl9BTExPV19NVUxUSSwKLSAgICAgICAgIH07Ci0gCi0tICAgICAgICBpZiAoYnBmKEJQRl9QUk9HX0FUVEFDSCwgJmF0dHIsIHNpemVvZihhdHRyKSkgPCAwKSB7Ci0rICAgICAgICBpZiAoYnBmKEJQRl9QUk9HX0RFVEFDSCwgJmF0dHIsIHNpemVvZihhdHRyKSkgPCAwKSB7Ci0gICAgICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFQkFERikgewotICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19kZWJ1Z19lcnJubyhlcnJubywgIkdvdCBFQkFERiB3aGVuIHVzaW5nIEJQRl9GX0FMTE9XX01VTFRJLCB3aGljaCBpbmRpY2F0ZXMgaXQgaXMgc3VwcG9ydGVkLiBZYXkhIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1cHBvcnRlZCA9IEJQRl9GSVJFV0FMTF9TVVBQT1JURURfV0lUSF9NVUxUSTsKLUBAIC03NjEsNyArNzYxLDcgQEAgaW50IGJwZl9maXJld2FsbF9zdXBwb3J0ZWQodm9pZCkgewotIAotICAgICAgICAgICAgICAgICByZXR1cm4gc3VwcG9ydGVkID0gQlBGX0ZJUkVXQUxMX1NVUFBPUlRFRDsKLSAgICAgICAgIH0gZWxzZSB7Ci0tICAgICAgICAgICAgICAgIGxvZ19kZWJ1ZygiV3V0PyBLZXJuZWwgYWNjZXB0ZWQgb3VyIGludmFsaWQgQlBGX1BST0dfQVRUQUNIK0JQRl9GX0FMTE9XX01VTFRJIGNhbGw/IFNvbWV0aGluZyBpcyB3ZWlyZCwgYXNzdW1pbmcgQlBGIGZpcmV3YWxsaW5nIGlzIGJyb2tlbiBhbmQgaGVuY2Ugbm90IHN1cHBvcnRlZC4iKTsKLSsgICAgICAgICAgICAgICAgbG9nX2RlYnVnKCJXdXQ/IEtlcm5lbCBhY2NlcHRlZCBvdXIgaW52YWxpZCBCUEZfUFJPR19ERVRBQ0grQlBGX0ZfQUxMT1dfTVVMVEkgY2FsbD8gU29tZXRoaW5nIGlzIHdlaXJkLCBhc3N1bWluZyBCUEYgZmlyZXdhbGxpbmcgaXMgYnJva2VuIGFuZCBoZW5jZSBub3Qgc3VwcG9ydGVkLiIpOwotICAgICAgICAgICAgICAgICByZXR1cm4gc3VwcG9ydGVkID0gQlBGX0ZJUkVXQUxMX1VOU1VQUE9SVEVEOwotICAgICAgICAgfQotIH0KLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8lLmJiYXBwZW5kIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXyUuYmJhcHBlbmQKaW5kZXggNjgwZjRmNi4uZmE2YTdlZCAxMDA2NDQKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXyUuYmJhcHBlbmQKKysrIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXyUuYmJhcHBlbmQKQEAgLTEsMjMgKzEsMTMgQEAKIEZJTEVTXyR7UE59LWNhdGFsb2ctZXh0cmFsb2NhbGVzID0gXAogICAgICAgICAgICAgIiR7ZXhlY19wcmVmaXh9L2xpYi9zeXN0ZW1kL2NhdGFsb2cvKi4qLmNhdGFsb2ciCiBQQUNLQUdFUyA9KyAiJHtQTn0tY2F0YWxvZy1leHRyYWxvY2FsZXMiCi1QQUNLQUdFQ09ORklHX3JlbW92ZSA9ICJiYWNrbGlnaHQgYmluZm10IGZpcnN0Ym9vdCBoaWJlcm5hdGUgaW1hIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZWQgbG9naW5kIG1hY2hpbmVkIHBvbGtpdCBxdW90YWNoZWNrIHNtYWNrIHV0bXAgXAotICAgICAgICAgICAgICAgICAgICAgICAgdmNvbnNvbGUiCitQQUNLQUdFQ09ORklHX3JlbW92ZSA9ICJiYWNrbGlnaHQgYmluZm10IGZpcnN0Ym9vdCBnc2hhZG93IGhpYmVybmF0ZSBpbWEgXAorICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlZCBsb2dpbmQgbWFjaGluZWQgbnNzIG5zcy1teW1hY2hpbmVzIG5zcy1yZXNvbHZlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIHBvbGtpdCBxdW90YWNoZWNrIHNtYWNrIHV0bXAgdmNvbnNvbGUiCisKIEZJTEVTRVhUUkFQQVRIU19hcHBlbmQgOj0gIiR7VEhJU0RJUn0vJHtQTn06IgogU1JDX1VSSSArPSAiZmlsZTovL2RlZmF1bHQubmV0d29yayIKIFNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXNkLWJ1cy1Eb24tdC1hdXRvbWF0aWNhbGx5LWFkZC1PYmplY3RNYW5hZ2VyLnBhdGNoIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDYtY29yZS1maXgtdGhlLWNoZWNrLWlmLUNPTkZJR19DR1JPVVBfQlBGLWlzLW9uLnBhdGNoIgotCi0jIFN0YXRpYyBuZWlnaGJvciBzdXBwb3J0IGluY2x1ZGVkIGluIHYyNDAgc28gcmVtb3ZlIHdoZW4gdXBkYXRlZAotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtbmV0d29ya2QtVHJhY2stYWRkcmVzcy1jb25maWd1cmF0aW9uLnBhdGNoIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDItbmV0d29ya2QtVXNlLW9ubHktYS1nZW5lcmljLUNPTkZJR1VSSU5HLXN0YXRlLnBhdGNoIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDMtbmV0d29ya2QtU3RhdGljLW5laWdoYm9yLXN1cHBvcnQucGF0Y2giCi0KLSMgRml4ZXMgZnJvbSB1cHN0cmVhbSBmb3Igb3BlbmJtYy9vcGVuYm1jIzM0NTkKLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXRpbWVkYXRlLWRlZmVyLXRoZS1wcm9wZXJ0eS1jaGFuZ2VkLXNpZ25hbC11bnRpbC1qb2IucGF0Y2giCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS10aW1lZGF0ZS10cmVhdC1hY3RpdmF0aW5nLW9yLWluYWN0aXZhdGluZy1OVFAtY2xpZW50LnBhdGNoIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDItdGltZWRhdGUtcmVmdXNlLXRvLXNldC10aW1lLXdoZW4tcHJldmlvdXMtcmVxdWVzdC1pcy5wYXRjaCIKIAogUlJFQ09NTUVORFNfJHtQTn0gKz0gIm9ibWMtdGFyZ2V0cyIKIEZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vbmV0d29yay9kZWZhdWx0Lm5ldHdvcmsiCmRpZmYgLS1naXQgYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtcGhvc3Bob3IvbXJ3L21ydy1hcGktbmF0aXZlLmJiIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLXBob3NwaG9yL21ydy9tcnctYXBpLW5hdGl2ZS5iYgppbmRleCAxZDI3N2NmLi5iOGMzMTFiIDEwMDY0NAotLS0gYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtcGhvc3Bob3IvbXJ3L21ydy1hcGktbmF0aXZlLmJiCisrKyBiL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1waG9zcGhvci9tcncvbXJ3LWFwaS1uYXRpdmUuYmIKQEAgLTE3LDYgKzE3LDYgQEAKIFNSQ1JFViA9ICIke01SV19BUElfU1JDUkVWfSIKIAogZG9faW5zdGFsbCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke1BFUkxMSUJESVJTX2NsYXNzLW5hdGl2ZX0vcGVybC9zaXRlX3BlcmwvJHtQRVJMVkVSU0lPTn0vbXJ3Ci0gICAgaW5zdGFsbCAtbSAwNzU1IHNjcmlwdHMvVGFyZ2V0cy5wbSAke0R9JHtQRVJMTElCRElSU19jbGFzcy1uYXRpdmV9L3Blcmwvc2l0ZV9wZXJsLyR7UEVSTFZFUlNJT059L21ydy9UYXJnZXRzLnBtCisgICAgaW5zdGFsbCAtZCAke0R9JHtQRVJMTElCRElSU19jbGFzcy1uYXRpdmV9L3NpdGVfcGVybC8ke1BFUkxWRVJTSU9OfS9tcncKKyAgICBpbnN0YWxsIC1tIDA3NTUgc2NyaXB0cy9UYXJnZXRzLnBtICR7RH0ke1BFUkxMSUJESVJTX2NsYXNzLW5hdGl2ZX0vc2l0ZV9wZXJsLyR7UEVSTFZFUlNJT059L21ydy9UYXJnZXRzLnBtCiB9CmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL2NsYXNzZXMvc2RjYXJkX2ltYWdlLXJwaS5iYmNsYXNzIGIvbWV0YS1yYXNwYmVycnlwaS9jbGFzc2VzL3NkY2FyZF9pbWFnZS1ycGkuYmJjbGFzcwppbmRleCBkNjNhMjQwLi41Mzg4MDNkIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL2NsYXNzZXMvc2RjYXJkX2ltYWdlLXJwaS5iYmNsYXNzCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvY2xhc3Nlcy9zZGNhcmRfaW1hZ2UtcnBpLmJiY2xhc3MKQEAgLTY0LDEzICs2NCw2IEBACiAjIFNEIGNhcmQgaW1hZ2UgbmFtZQogU0RJTUcgPSAiJHtJTUdERVBMT1lESVJ9LyR7SU1BR0VfTkFNRX0ucm9vdGZzLnJwaS1zZGltZyIKIAotIyBDb21wcmVzc2lvbiBtZXRob2QgdG8gYXBwbHkgdG8gU0RJTUcgYWZ0ZXIgaXQgaGFzIGJlZW4gY3JlYXRlZC4gU3VwcG9ydGVkCi0jIGNvbXByZXNzaW9uIGZvcm1hdHMgYXJlICJnemlwIiwgImJ6aXAyIiBvciAieHoiLiBUaGUgb3JpZ2luYWwgLnJwaS1zZGltZyBmaWxlCi0jIGlzIGtlcHQgYW5kIGEgbmV3IGNvbXByZXNzZWQgZmlsZSBpcyBjcmVhdGVkIGlmIG9uZSBvZiB0aGVzZSBjb21wcmVzc2lvbgotIyBmb3JtYXRzIGlzIGNob3Nlbi4gSWYgU0RJTUdfQ09NUFJFU1NJT04gaXMgc2V0IHRvIGFueSBvdGhlciB2YWx1ZSBpdCBpcwotIyBzaWxlbnRseSBpZ25vcmVkLgotI1NESU1HX0NPTVBSRVNTSU9OID89ICIiCi0KICMgQWRkaXRpb25hbCBmaWxlcyBhbmQvb3IgZGlyZWN0b3JpZXMgdG8gYmUgY29waWVkIGludG8gdGhlIHZmYXQgcGFydGl0aW9uIGZyb20gdGhlIElNQUdFX1JPT1RGUy4KIEZBVFBBWUxPQUQgPz0gIiIKIApAQCAtMTc3LDE5ICsxNzAsNiBAQAogICAgIGVsc2UKICAgICAgICAgZGQgaWY9JHtTRElNR19ST09URlN9IG9mPSR7U0RJTUd9IGNvbnY9bm90cnVuYyBzZWVrPTEgYnM9JChleHByIDEwMjQgXCogJHtCT09UX1NQQUNFX0FMSUdORUR9ICsgJHtJTUFHRV9ST09URlNfQUxJR05NRU5UfSBcKiAxMDI0KQogICAgIGZpCi0KLSAgICAjIE9wdGlvbmFsbHkgYXBwbHkgY29tcHJlc3Npb24KLSAgICBjYXNlICIke1NESU1HX0NPTVBSRVNTSU9OfSIgaW4KLSAgICAiZ3ppcCIpCi0gICAgICAgIGd6aXAgLWs5ICIke1NESU1HfSIKLSAgICAgICAgOzsKLSAgICAiYnppcDIiKQotICAgICAgICBiemlwMiAtazkgIiR7U0RJTUd9IgotICAgICAgICA7OwotICAgICJ4eiIpCi0gICAgICAgIHh6IC1rICIke1NESU1HfSIKLSAgICAgICAgOzsKLSAgICBlc2FjCiB9CiAKIFJPT1RGU19QT1NUUFJPQ0VTU19DT01NQU5EICs9ICIgcnBpX2dlbmVyYXRlX3N5c2N0bF9jb25maWcgOyAiCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL2NvbmYvbGF5ZXIuY29uZiBiL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9sYXllci5jb25mCmluZGV4IDY3ZWI5OGYuLjI2NGIyYzAgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9sYXllci5jb25mCkBAIC05LDcgKzksNyBAQAogQkJGSUxFX1BBVFRFUk5fcmFzcGJlcnJ5cGkgOj0gIl4ke0xBWUVSRElSfS8iCiBCQkZJTEVfUFJJT1JJVFlfcmFzcGJlcnJ5cGkgPSAiOSIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX3Jhc3BiZXJyeXBpID0gInN1bW8gdGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9yYXNwYmVycnlwaSA9ICJzdW1vIHRodWQgd2FycmlvciIKIAogIyBBZGRpdGlvbmFsIGxpY2Vuc2UgZGlyZWN0b3JpZXMuCiBMSUNFTlNFX1BBVEggKz0gIiR7TEFZRVJESVJ9L2ZpbGVzL2N1c3RvbS1saWNlbnNlcyIKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9tYWNoaW5lL2luY2x1ZGUvcnBpLWJhc2UuaW5jIGIvbWV0YS1yYXNwYmVycnlwaS9jb25mL21hY2hpbmUvaW5jbHVkZS9ycGktYmFzZS5pbmMKaW5kZXggNGJiZDU3Ni4uY2M2YTU0ZSAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9jb25mL21hY2hpbmUvaW5jbHVkZS9ycGktYmFzZS5pbmMKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9jb25mL21hY2hpbmUvaW5jbHVkZS9ycGktYmFzZS5pbmMKQEAgLTI1LDcgKzI1LDcgQEAKICAgICBvdmVybGF5cy9pMmMtcnRjLmR0Ym8gXAogICAgIG92ZXJsYXlzL2lxYXVkaW8tZGFjLmR0Ym8gXAogICAgIG92ZXJsYXlzL2lxYXVkaW8tZGFjcGx1cy5kdGJvIFwKLSAgICBvdmVybGF5cy9saXJjLXJwaS5kdGJvIFwKKyAgICBvdmVybGF5cy9tY3AyNTE1LWNhbjAuZHRibyBcCiAgICAgb3ZlcmxheXMvcGkzLWRpc2FibGUtYnQuZHRibyBcCiAgICAgb3ZlcmxheXMvcGkzLW1pbml1YXJ0LWJ0LmR0Ym8gXAogICAgIG92ZXJsYXlzL3BpdGZ0MjIuZHRibyBcCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL2NvbmYvbWFjaGluZS9pbmNsdWRlL3JwaS1kZWZhdWx0LXZlcnNpb25zLmluYyBiL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9tYWNoaW5lL2luY2x1ZGUvcnBpLWRlZmF1bHQtdmVyc2lvbnMuaW5jCmluZGV4IGE1ZmU2ZDcuLjk5ODNiNjEgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9tYWNoaW5lL2luY2x1ZGUvcnBpLWRlZmF1bHQtdmVyc2lvbnMuaW5jCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9tYWNoaW5lL2luY2x1ZGUvcnBpLWRlZmF1bHQtdmVyc2lvbnMuaW5jCkBAIC0xLDMgKzEsMyBAQAogIyBSYXNwYmVycnlQaSBCU1AgZGVmYXVsdCB2ZXJzaW9ucwogCi1QUkVGRVJSRURfVkVSU0lPTl9saW51eC1yYXNwYmVycnlwaSA/Pz0gIjQuMTQuJSIKK1BSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXJhc3BiZXJyeXBpID8/PSAiNC4xOS4lIgpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9jb25mL21hY2hpbmUvcmFzcGJlcnJ5cGkzLTY0LmNvbmYgYi9tZXRhLXJhc3BiZXJyeXBpL2NvbmYvbWFjaGluZS9yYXNwYmVycnlwaTMtNjQuY29uZgppbmRleCA2MzVlNGY2Li44MGI2YmM0IDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL2NvbmYvbWFjaGluZS9yYXNwYmVycnlwaTMtNjQuY29uZgorKysgYi9tZXRhLXJhc3BiZXJyeXBpL2NvbmYvbWFjaGluZS9yYXNwYmVycnlwaTMtNjQuY29uZgpAQCAtMTEsNyArMTEsNyBAQAogICAgIGJsdWV6LWZpcm13YXJlLXJwaWRpc3Ryby1iY200MzQ1YzAtaGNkIFwKICIKIAotcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OC5pbmMKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhNTMuaW5jCiBpbmNsdWRlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3JwaS1iYXNlLmluYwogCiBSUElfS0VSTkVMX0RFVklDRVRSRUUgPSAiIFwKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvZG9jcy9leHRyYS1idWlsZC1jb25maWcubWQgYi9tZXRhLXJhc3BiZXJyeXBpL2RvY3MvZXh0cmEtYnVpbGQtY29uZmlnLm1kCmluZGV4IDczMmMxMDIuLmI0NGRlY2UgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvZG9jcy9leHRyYS1idWlsZC1jb25maWcubWQKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9kb2NzL2V4dHJhLWJ1aWxkLWNvbmZpZy5tZApAQCAtMTMsOSArMTMsNiBAQAogMi4gT3ZlcndyaXRlIFNESU1HX1JPT1RGU19UWVBFIGluIGxvY2FsLmNvbmYKICAgICAqIGBTRElNR19ST09URlNfVFlQRSA9ICJleHQzLnh6ImAKIAotMy4gT3ZlcndyaXRlIFNESU1HX0NPTVBSRVNTSU9OIGluIGxvY2FsLmNvbmYKLSAgICAqIGBTRElNR19DT01QUkVTU0lPTiA9ICJ4eiJgCi0KIEFjY29tbW9kYXRlIHRoZSB2YWx1ZXMgYWJvdmUgdG8geW91ciBvd24gbmVlZHMgKGV4OiBleHQzIC8gZXh0NCkuCiAKICMjIEdQVSBtZW1vcnkKQEAgLTI0Niw2ICsyNDMsMTUgQEAKIAogU2VlOiA8aHR0cHM6Ly9vcGVubGFicy5jby9PU0hXL1Jhc3BiZXJyeS1QaS04MDIuMTUuNC1yYWRpbz4KIAorIyMgRW5hYmxlIENBTiB3aXRoIFBpY2FuMgorCitJbiBvcmRlciB0byB1c2UgUGljYW4yIENBTiBtb2R1bGUsIHNldCB0aGUgZm9sbG93aW5nIHZhcmlhYmxlczoKKworCUVOQUJMRV9TUElfQlVTID0gIjEiCisJRU5BQkxFX0NBTiA9ICIxIgorCitTZWU6IDxodHRwOi8vc2twYW5nLmNvLnVrL2NhdGFsb2cvcGljYW4yLWNhbmJ1cy1ib2FyZC1mb3ItcmFzcGJlcnJ5LXBpLTIzLXAtMTQ3NS5odG1sPgorCiAjIyBNYW51YWwgYWRkaXRpb25zIHRvIGNvbmZpZy50eHQKIAogVGhlIGBSUElfRVhUUkFfQ09ORklHYCB2YXJpYWJsZSBjYW4gYmUgdXNlZCB0byBtYW51YWxseSBhZGQgYWRkaXRpb25hbCBsaW5lcyB0bwpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9keW5hbWljLWxheWVycy9xdDUtbGF5ZXIvcmVjaXBlcy1xdC9xdDUvcXRiYXNlXyUuYmJhcHBlbmQgYi9tZXRhLXJhc3BiZXJyeXBpL2R5bmFtaWMtbGF5ZXJzL3F0NS1sYXllci9yZWNpcGVzLXF0L3F0NS9xdGJhc2VfJS5iYmFwcGVuZAppbmRleCA1OGI3YjQ3Li40MjAyNjUxIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL2R5bmFtaWMtbGF5ZXJzL3F0NS1sYXllci9yZWNpcGVzLXF0L3F0NS9xdGJhc2VfJS5iYmFwcGVuZAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL2R5bmFtaWMtbGF5ZXJzL3F0NS1sYXllci9yZWNpcGVzLXF0L3F0NS9xdGJhc2VfJS5iYmFwcGVuZApAQCAtMSw3ICsxLDggQEAKIFBBQ0tBR0VDT05GSUdfR0xfcnBpID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExIG9wZW5nbCcsICdnbCcsIFwKICAgICAgICAgICAgICAgICAgICAgICAgIGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAgICAgJ29wZW5nbCcsICdlZ2xmcyBnbGVzMicsIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJycsIGQpLCBkKX0iCi1QQUNLQUdFQ09ORklHX0dMX2FwcGVuZF9ycGkgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ01BQ0hJTkVfRkVBVFVSRVMnLCAndmM0Z3JhcGhpY3MnLCAnIGdibSBrbXMnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR19HTF9hcHBlbmRfcnBpID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdNQUNISU5FX0ZFQVRVUkVTJywgJ3ZjNGdyYXBoaWNzJywgJyBrbXMnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR19HTF9hcHBlbmRfcnBpID0gIiBnYm0iCiBQQUNLQUdFQ09ORklHX0ZPTlRTX3JwaSA9ICJmb250Y29uZmlnIgogUEFDS0FHRUNPTkZJR19hcHBlbmRfcnBpID0gIiBsaWJpbnB1dCBleGFtcGxlcyB0c2xpYiB4a2IgeGtiY29tbW9uLWV2ZGV2IgogUEFDS0FHRUNPTkZJR19yZW1vdmVfcnBpID0gInRlc3RzIgpAQCAtMTUsMyArMTYsNCBAQAogICAgIGZpCiB9CiBSREVQRU5EU18ke1BOfV9hcHBlbmRfcnBpID0gIiB1c2VybGFuZCIKK0RFUEVORFNfYXBwZW5kX3JwaSA9ICIke0BiYi51dGlscy5jb250YWlucygnTUFDSElORV9GRUFUVVJFUycsICd2YzRncmFwaGljcycsICcnLCAnIHVzZXJsYW5kJywgZCl9IgpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWJzcC9ib290ZmlsZXMvcnBpLWNvbmZpZ19naXQuYmIgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtYnNwL2Jvb3RmaWxlcy9ycGktY29uZmlnX2dpdC5iYgppbmRleCBmY2M3NzcxLi5iMzM1NmVkIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtYnNwL2Jvb3RmaWxlcy9ycGktY29uZmlnX2dpdC5iYgorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtYnNwL2Jvb3RmaWxlcy9ycGktY29uZmlnX2dpdC5iYgpAQCAtMTgzLDYgKzE4MywxMiBAQAogICAgICAgICBlY2hvICJkdG92ZXJsYXk9YXQ4NnJmMjMzLHNwZWVkPTMwMDAwMDAiID4+JHtERVBMT1lESVJ9L2JjbTI4MzUtYm9vdGZpbGVzL2NvbmZpZy50eHQKICAgICBmaQogCisgICAgIyBFTkFCTEUgQ0FOCisgICAgaWYgWyAiJHtFTkFCTEVfQ0FOfSIgPSAiMSIgXTsgdGhlbgorICAgICAgICBlY2hvICIjIEVuYWJsZSBDQU4iID4+JHtERVBMT1lESVJ9L2JjbTI4MzUtYm9vdGZpbGVzL2NvbmZpZy50eHQKKyAgICAgICAgZWNobyAiZHRvdmVybGF5PW1jcDI1MTUtY2FuMCxvc2NpbGxhdG9yPTE2MDAwMDAwLGludGVycnVwdD0yNSIgPj4ke0RFUExPWURJUn0vYmNtMjgzNS1ib290ZmlsZXMvY29uZmlnLnR4dAorICAgIGZpCisKICAgICAjIEFwcGVuZCBleHRyYSBjb25maWcgaWYgdGhlIHVzZXIgaGFzIHByb3ZpZGVkIGFueQogICAgIHByaW50ZiAiJHtSUElfRVhUUkFfQ09ORklHfVxuIiA+PiAke0RFUExPWURJUn0vYmNtMjgzNS1ib290ZmlsZXMvY29uZmlnLnR4dAogfQpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWJzcC9jb21tb24vZmlybXdhcmUuaW5jIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWJzcC9jb21tb24vZmlybXdhcmUuaW5jCmluZGV4IDM3Y2QzNDMuLmQxOTUyNWYgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ic3AvY29tbW9uL2Zpcm13YXJlLmluYworKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtYnNwL2NvbW1vbi9maXJtd2FyZS5pbmMKQEAgLTEsMTEgKzEsMTAgQEAKLVJQSUZXX0RBVEUgPz0gIjIwMTkwMjEyIgotU1JDUkVWID89ICI4Mzk3N2ZlM2I2ZWY1NGMxZDI5YzgzYjBhNzc4ZDMzMGY1MjM0NDFmIgorUlBJRldfREFURSA/PSAiMjAxOTAyMjAiCitTUkNSRVYgPz0gImViZjdiNDBjZGM2ZWZmZTdmZmEzZmQ1MTk1ZThiZTAxYjk0ZjgwZGEiCiBSUElGV19TUkNfVVJJID89ICJodHRwczovL2dpdGh1Yi5jb20vcmFzcGJlcnJ5cGkvZmlybXdhcmUvYXJjaGl2ZS8ke1NSQ1JFVn0udGFyLmd6IgogUlBJRldfUyA/PSAiJHtXT1JLRElSfS9maXJtd2FyZS0ke1NSQ1JFVn0iCiAKIFNSQ19VUkkgPSAiJHtSUElGV19TUkNfVVJJfSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI1Y2NkYjU0NDdjYmRkM2VlMDE1OGE1MTRmN2I3NmNiOSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5YTM0Y2NjNGE1MTY5NWEzMzIwNmNjNmM4NTM0ZjYxNWJhNWEzMGZjYmNlNWZhM2FkZDQwMGVjYzZiODBhZDhhIgotCitTUkNfVVJJW21kNXN1bV0gPSAiNjExMDc3ZDM0M2UzODAyNDk2ZGQ5OTExOGNhNGU5NzciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTkxMWY2MzQyZWE4YWE5MzgwY2FlOTdjNmY1YWM0ZGRkMzcwNTI3MjY1ZjIzZDViNWQ0YjJjNmY2NzlkNGJhOCIKIAogUFYgPSAiJHtSUElGV19EQVRFfSIKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1jb3JlL3VkZXYvdWRldi1ydWxlcy1ycGkuYmIgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtY29yZS91ZGV2L3VkZXYtcnVsZXMtcnBpLmJiCmluZGV4IGVkZWYwZGIuLjQyY2ZjZGQgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1jb3JlL3VkZXYvdWRldi1ydWxlcy1ycGkuYmIKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWNvcmUvdWRldi91ZGV2LXJ1bGVzLXJwaS5iYgpAQCAtMiw3ICsyLDEwIEBACiBMSUNFTlNFID0gIk1JVCIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09NTU9OX0xJQ0VOU0VfRElSfS9NSVQ7bWQ1PTA4MzVhZGU2OThlMGJjZjg1MDZlY2RhMmY3YjRmMzAyIgogCi1TUkNfVVJJID0gIiBmaWxlOi8vOTktY29tLnJ1bGVzIgorU1JDX1VSSSA9ICIgXAorCWZpbGU6Ly85OS1jb20ucnVsZXMgXAorCWZpbGU6Ly9jYW4ucnVsZXMgXAorCSIKIAogUyA9ICIke1dPUktESVJ9IgogCkBAIC0xMSw0ICsxNCw1IEBACiBkb19pbnN0YWxsICgpIHsKICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZAogICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzk5LWNvbS5ydWxlcyAke0R9JHtzeXNjb25mZGlyfS91ZGV2L3J1bGVzLmQvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vY2FuLnJ1bGVzICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZC8KIH0KZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1jb3JlL3VkZXYvdWRldi1ydWxlcy1ycGkvY2FuLnJ1bGVzIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWNvcmUvdWRldi91ZGV2LXJ1bGVzLXJwaS9jYW4ucnVsZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ3ZDU3ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1jb3JlL3VkZXYvdWRldi1ydWxlcy1ycGkvY2FuLnJ1bGVzCkBAIC0wLDAgKzEgQEAKK1NVQlNZU1RFTT09Im5ldCIsIERFVlBBVEg9PSIvZGV2aWNlcy9wbGF0Zm9ybS9zb2MvM2YyMDQwMDAuc3BpL3NwaV9tYXN0ZXIvc3BpMC9zcGkwLjAvbmV0L2NhbjAiLCBSVU4rPSIvc2Jpbi9pcCBsaW5rIHNldCBjYW4wIHVwIHR5cGUgY2FuIGJpdHJhdGUgNTAwMDAwIgpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvXyUuYmJhcHBlbmQgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm9fJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YmExM2UyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvXyUuYmJhcHBlbmQKQEAgLTAsMCArMSwzIEBACitQQUNLQUdFQ09ORklHX0dMRVNWMiA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAnJywgJ2dsZXN2MicsIGQpfSIKKworUEFDS0FHRUNPTkZJR19hcHBlbmRfcnBpID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdNQUNISU5FX0ZFQVRVUkVTJywgJ3ZjNGdyYXBoaWNzJywgJycsICcgZWdsICR7UEFDS0FHRUNPTkZJR19HTEVTVjJ9JywgZCl9IgpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1nbF8lLmJiYXBwZW5kIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1nbF8lLmJiYXBwZW5kCmluZGV4IDc4OTcxMjUuLjA4ZWMxYzUgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZ2xfJS5iYmFwcGVuZAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWdsXyUuYmJhcHBlbmQKQEAgLTEgKzEsNiBAQAogUEFDS0FHRUNPTkZJR19hcHBlbmRfcnBpID0gIiBnYm0iCitQUk9WSURFU19hcHBlbmRfcnBpID0gIiB2aXJ0dWFsL2xpYmdibSIKKworZG9faW5zdGFsbF9hcHBlbmRfcnBpKCkgeworICAgIHJtIC1yZiAke0R9JHtpbmNsdWRlZGlyfS9LSFIva2hycGxhdGZvcm0uaAorfQpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDEtQWxsb3ctYXBwbGljYXRpb25zLXRvLXNldC1uZXh0LXJlc291cmNlLWhhbmRsZS5wYXRjaCBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDAxLUFsbG93LWFwcGxpY2F0aW9ucy10by1zZXQtbmV4dC1yZXNvdXJjZS1oYW5kbGUucGF0Y2gKaW5kZXggZDZiMmFiYi4uY2VhMjE1ZCAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDEtQWxsb3ctYXBwbGljYXRpb25zLXRvLXNldC1uZXh0LXJlc291cmNlLWhhbmRsZS5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwMS1BbGxvdy1hcHBsaWNhdGlvbnMtdG8tc2V0LW5leHQtcmVzb3VyY2UtaGFuZGxlLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAwOGQ1NmMxMTc0ZTI3NTczYWU4ZGYyYTdiOWU2NjMyYWZkMGJmZTg2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA4MjlkZmY2MjZkNDIzYWQzNGM4ZTcxMGNkMTBkNWZjOWE0ZWE4MGIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRG9tIENvYmxleSA8ZGM0QGJyb2FkY29tLmNvbT4KIERhdGU6IFR1ZSwgOSBKdWwgMjAxMyAwOToyNjoyNiAtMDQwMAogU3ViamVjdDogW1BBVENIIDAxLzE4XSBBbGxvdyBhcHBsaWNhdGlvbnMgdG8gc2V0IG5leHQgcmVzb3VyY2UgaGFuZGxlCkBAIC0yMDQsNSArMjA0LDUgQEAKICAKICBGTih2b2lkLCBlZ2xJbnRHZXRDb2xvckRhdGFfaW1wbCwgKEVHTF9TVVJGQUNFX0lEX1QgcywgS0hSTl9JTUFHRV9GT1JNQVRfVCBmb3JtYXQsIHVpbnQzMl90IHdpZHRoLCB1aW50MzJfdCBoZWlnaHQsIGludDMyX3Qgc3RyaWRlLCB1aW50MzJfdCB5X29mZnNldCwgdm9pZCAqZGF0YSkpCiAtLSAKLTIuMTkuMQorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDAyLXdheWxhbmQtQWRkLXN1cHBvcnQtZm9yLXRoZS1XYXlsYW5kLXdpbnN5cy5wYXRjaCBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDAyLXdheWxhbmQtQWRkLXN1cHBvcnQtZm9yLXRoZS1XYXlsYW5kLXdpbnN5cy5wYXRjaAppbmRleCBjNDFjZGU3Li41NTAxMDAwIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwMi13YXlsYW5kLUFkZC1zdXBwb3J0LWZvci10aGUtV2F5bGFuZC13aW5zeXMucGF0Y2gKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDItd2F5bGFuZC1BZGQtc3VwcG9ydC1mb3ItdGhlLVdheWxhbmQtd2luc3lzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBkYTYwYTJhMzRhNDhlMmIzMjRmY2VhZTYwODk2NDgxNDQ4OGNjOGZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA0Njk4NDBkMjExYmViMjIwODVlNTc5MzRiZGEzY2FhYmI3MWE0Njk1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogVG9tZXUgVml6b3NvIDx0b21ldS52aXpvc29AY29sbGFib3JhLmNvbT4KIERhdGU6IFR1ZSwgMSBPY3QgMjAxMyAxMzoxOToyMCArMDIwMAogU3ViamVjdDogW1BBVENIIDAyLzE4XSB3YXlsYW5kOiBBZGQgc3VwcG9ydCBmb3IgdGhlIFdheWxhbmQgd2luc3lzCkBAIC05MSwxMyArOTEsMTMgQEAKICAKICAjIEdsb2JhbCBpbmNsdWRlIHBhdGhzCiBkaWZmIC0tZ2l0IGEvUkVBRE1FLm1kIGIvUkVBRE1FLm1kCi1pbmRleCA5NGI5M2I4Li41MGI5MGIxIDEwMDY0NAoraW5kZXggZGU1NzU0ZC4uMjA5NzAzNiAxMDA2NDQKIC0tLSBhL1JFQURNRS5tZAogKysrIGIvUkVBRE1FLm1kCiBAQCAtNiwzICs2LDcgQEAgVXNlIGJ1aWxkbWUgdG8gYnVpbGQuIEl0IHJlcXVpcmVzIGNtYWtlIHRvIGJlIGluc3RhbGxlZCBhbmQgYW4gYXJtIGNyb3NzIGNvbXBpbGUKICBodHRwczovL2dpdGh1Yi5jb20vcmFzcGJlcnJ5cGkvdG9vbHMvdHJlZS9tYXN0ZXIvYXJtLWJjbTI3MDgvZ2NjLWxpbmFyby1hcm0tbGludXgtZ251ZWFiaWhmLXJhc3BiaWFuCiAgCi0gTm90ZSB0aGF0IHRoaXMgcmVwb3NpdG9yeSBkb2VzIG5vdCBjb250YWluIHRoZSBzb3VyY2UgZm9yIHRoZSBlZGlkX3BhcnNlciBhbmQgdmNkYmcgYmluYXJpZXMgZHVlIHRvIGxpY2Vuc2luZyByZXN0cmljdGlvbnMuCisgTm90ZSB0aGF0IHRoaXMgcmVwb3NpdG9yeSBkb2VzIG5vdCBjb250YWluIHRoZSBzb3VyY2UgZm9yIHRoZSBlZGlkcGFyc2VyIGFuZCB2Y2RiZyBiaW5hcmllcyBkdWUgdG8gbGljZW5zaW5nIHJlc3RyaWN0aW9ucy4KICsKICtUbyBidWlsZCBzdXBwb3J0IGZvciB0aGUgV2F5bGFuZCB3aW5zeXMgaW4gRUdMLCBleGVjdXRlIHRoZSBidWlsZG1lIHNjcmlwdCBsaWtlIHRoaXM6CiArCkBAIC0xMzMsMTAgKzEzMywxMCBAQAogIAogIAlpZiBbICIkMSIgIT0gIiIgXTsgdGhlbgogZGlmZiAtLWdpdCBhL2hvc3RfYXBwbGljYXRpb25zL2xpbnV4L2FwcHMvcmFzcGljYW0vQ01ha2VMaXN0cy50eHQgYi9ob3N0X2FwcGxpY2F0aW9ucy9saW51eC9hcHBzL3Jhc3BpY2FtL0NNYWtlTGlzdHMudHh0Ci1pbmRleCA0MjYzNmU4Li5kNDdhZDU1IDEwMDY0NAoraW5kZXggZjdkYjIxZS4uNzM5OTdiNyAxMDA2NDQKIC0tLSBhL2hvc3RfYXBwbGljYXRpb25zL2xpbnV4L2FwcHMvcmFzcGljYW0vQ01ha2VMaXN0cy50eHQKICsrKyBiL2hvc3RfYXBwbGljYXRpb25zL2xpbnV4L2FwcHMvcmFzcGljYW0vQ01ha2VMaXN0cy50eHQKLUBAIC0zMyw3ICszMyw3IEBAIGFkZF9leGVjdXRhYmxlKHJhc3BpdmlkeXV2ICAke0NPTU1PTl9TT1VSQ0VTfSBSYXNwaVZpZFlVVi5jKQorQEAgLTU0LDcgKzU0LDcgQEAgYWRkX2V4ZWN1dGFibGUocmFzcGl2aWR5dXYgICR7Q09NTU9OX1NPVVJDRVN9IFJhc3BpVmlkWVVWLmMpCiAgCiAgc2V0IChNTUFMX0xJQlMgbW1hbF9jb3JlIG1tYWxfdXRpbCBtbWFsX3ZjX2NsaWVudCkKICAKQEAgLTE4OTQsNSArMTg5NCw1IEBACiArICAgIHNldCgke19zb3VyY2VzfSAkeyR7X3NvdXJjZXN9fSBQQVJFTlRfU0NPUEUpCiArZW5kZnVuY3Rpb24oKQogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwMy13YXlsYW5kLUFkZC1XYXlsYW5kLWV4YW1wbGUucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwMy13YXlsYW5kLUFkZC1XYXlsYW5kLWV4YW1wbGUucGF0Y2gKaW5kZXggZDgzYTllNS4uNzRiOTdiOCAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDMtd2F5bGFuZC1BZGQtV2F5bGFuZC1leGFtcGxlLnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDAzLXdheWxhbmQtQWRkLVdheWxhbmQtZXhhbXBsZS5wYXRjaApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNC13YXlsYW5kLWVnbC1BZGQtYmNtX2hvc3QtdG8tZGVwZW5kZW5jaWVzLnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDQtd2F5bGFuZC1lZ2wtQWRkLWJjbV9ob3N0LXRvLWRlcGVuZGVuY2llcy5wYXRjaAppbmRleCBhNDJhYTE0Li45NjIxYWZhIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNC13YXlsYW5kLWVnbC1BZGQtYmNtX2hvc3QtdG8tZGVwZW5kZW5jaWVzLnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA0LXdheWxhbmQtZWdsLUFkZC1iY21faG9zdC10by1kZXBlbmRlbmNpZXMucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGMzNzliZDJkYzU3NTI1NjA4NGQ5ZTM2ZmMxMWEzNDdlMjA2NjAxMzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDNkMWQwNDYyODFiOTBkNjc3Nzg2NGIwZDlhMDMyNjU3ZmFkNzhkNzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogTW9uLCAxMCBBdWcgMjAxNSAwMjozODoyNyAtMDcwMAogU3ViamVjdDogW1BBVENIIDA0LzE4XSB3YXlsYW5kLWVnbDogQWRkIGJjbV9ob3N0IHRvIGRlcGVuZGVuY2llcwpAQCAtMjQsNSArMjQsNSBAQAogIExpYnM6IC1MJHtsaWJkaXJ9IC1sd2F5bGFuZC1lZ2wKICBDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNS1pbnRlcmZhY2UtcmVtb3ZlLWZhdWx0eS1hc3NlcnQtdG8tbWFrZS13ZXN0b24taGFwcHktLnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDUtaW50ZXJmYWNlLXJlbW92ZS1mYXVsdHktYXNzZXJ0LXRvLW1ha2Utd2VzdG9uLWhhcHB5LS5wYXRjaAppbmRleCBiYmFhZGRhLi4wMDRlMmViIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNS1pbnRlcmZhY2UtcmVtb3ZlLWZhdWx0eS1hc3NlcnQtdG8tbWFrZS13ZXN0b24taGFwcHktLnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA1LWludGVyZmFjZS1yZW1vdmUtZmF1bHR5LWFzc2VydC10by1tYWtlLXdlc3Rvbi1oYXBweS0ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGJkOTQwYzMyODc4ZDQwMWYzMTEyMTUyNzA1NzlmZjUxM2MyZjM5OTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGQxN2U1YjkyODU2MzVkY2JlMWM2ZTVhNzM5OGY2ZTViMTU2MGEwYzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiAiWWFubiBFLiBNT1JJTiIgPHlhbm4ubW9yaW4uMTk5OEBmcmVlLmZyPgogRGF0ZTogU2F0LCAyNCBKYW4gMjAxNSAyMjowNzoxOSArMDEwMAogU3ViamVjdDogW1BBVENIIDA1LzE4XSBpbnRlcmZhY2U6IHJlbW92ZSBmYXVsdHkgYXNzZXJ0KCkgdG8gbWFrZSB3ZXN0b24gaGFwcHkKQEAgLTI1LDUgKzI1LDUgQEAKICAgICAgICAgICAgICB9CiAgICAgICAgICAgfSBlbHNlIHsKIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDYtemVyby1vdXQtd2wtYnVmZmVycy1pbi1lZ2xfc3VyZmFjZV9mcmVlLnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDYtemVyby1vdXQtd2wtYnVmZmVycy1pbi1lZ2xfc3VyZmFjZV9mcmVlLnBhdGNoCmluZGV4IDFhNWUxNGYuLjk1NWRmYTEgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA2LXplcm8tb3V0LXdsLWJ1ZmZlcnMtaW4tZWdsX3N1cmZhY2VfZnJlZS5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNi16ZXJvLW91dC13bC1idWZmZXJzLWluLWVnbF9zdXJmYWNlX2ZyZWUucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDQ2NmYyOGNlMzAyZjY4YWMzOWJlNzUwZjRiNTUyODU3OTFmNDNhYjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDdkNDU1OWMyNDE4ZjQ5OTdkZmRkZGVmYTkyODEyNTBkMGQ4MDgyZGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogU2F0LCA2IEZlYiAyMDE2IDExOjEwOjQ3IC0wODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDYvMThdIHplcm8tb3V0IHdsIGJ1ZmZlcnMgaW4gZWdsX3N1cmZhY2VfZnJlZQpAQCAtMjksNSArMjksNSBAQAogICNlbmRpZgogICAgIH0KIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDctaW5pdGlhbGl6ZS1mcm9udC1iYWNrLXdheWxhbmQtYnVmZmVycy5wYXRjaCBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA3LWluaXRpYWxpemUtZnJvbnQtYmFjay13YXlsYW5kLWJ1ZmZlcnMucGF0Y2gKaW5kZXggNzIyNjRlNC4uNTE0NzgyZiAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDctaW5pdGlhbGl6ZS1mcm9udC1iYWNrLXdheWxhbmQtYnVmZmVycy5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNy1pbml0aWFsaXplLWZyb250LWJhY2std2F5bGFuZC1idWZmZXJzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBiNGEyOTY3NTEzZjdkMGY1ZjNjYWVlOGNmNmNiYzdhN2EwODVlYmFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAxOWU2MzEwNzY3MGJiMTU4MzM3NDQ0MDJkNjhjOGZjYWU5ZTUzYTEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFNhdCwgNiBGZWIgMjAxNiAxMToxMTo0MSAtMDgwMAogU3ViamVjdDogW1BBVENIIDA3LzE4XSBpbml0aWFsaXplIGZyb250IGJhY2sgd2F5bGFuZCBidWZmZXJzCkBAIC0zMCw1ICszMCw1IEBACiAgICAgfQogICNlbmRpZgogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwOC1SZW1vdmUtUlBDX0ZMVVNILnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDgtUmVtb3ZlLVJQQ19GTFVTSC5wYXRjaAppbmRleCBhMTAwZTM5Li5iZDZjMmZmIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwOC1SZW1vdmUtUlBDX0ZMVVNILnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA4LVJlbW92ZS1SUENfRkxVU0gucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDE0YzIyOTg3ZGZhOWZlYzAyNzk0ODU2Y2QxNWIyZDY0YjRiODFjMzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDQzMTJjZTRmOTMyMGIyNWY1MTNjNGQ4ZmExNjNmOWQ4ZmFlYmZkOTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogU2F0LCA2IEZlYiAyMDE2IDExOjA5OjE4IC0wODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDgvMThdIFJlbW92ZSBSUENfRkxVU0gKQEAgLTIzLDUgKzIzLDUgQEAKICAgICAgICB9CiAgI2VuZGlmCiAtLSAKLTIuMTkuMQorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA5LWZpeC1jbWFrZS1kZXBlbmRlbmN5LXJhY2UucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwOS1maXgtY21ha2UtZGVwZW5kZW5jeS1yYWNlLnBhdGNoCmluZGV4IDQ2MDk0NTUuLmUxMzhhZTIgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA5LWZpeC1jbWFrZS1kZXBlbmRlbmN5LXJhY2UucGF0Y2gKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDktZml4LWNtYWtlLWRlcGVuZGVuY3ktcmFjZS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gZTUxMGJlMjIxMjc2ZDA2ZTYzMGFiOTM0NTJlY2I3MTJkMzkyMTc5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gY2I0NTRhZDQ0ZmNiMzVmYzI4YjgyM2YwNWYzNTM4YzFmOTk3ZTg5ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTYXQsIDYgRmViIDIwMTYgMTM6MTI6NDcgLTA4MDAKIFN1YmplY3Q6IFtQQVRDSCAwOS8xOF0gZml4IGNtYWtlIGRlcGVuZGVuY3kgcmFjZQpAQCAtNzQsNSArNzQsNSBAQAogIAlzdHJ1Y3Qgd2xfcmVzb3VyY2UgKnJlc291cmNlOwogIAlzdHJ1Y3Qgd2xfZGlzcG1hbnggKmRpc3BtYW54OwogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMC1GaXgtZm9yLWZyYW1lcmF0ZS13aXRoLW5lc3RlZC1jb21wb3NpdGlvbi5wYXRjaCBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDEwLUZpeC1mb3ItZnJhbWVyYXRlLXdpdGgtbmVzdGVkLWNvbXBvc2l0aW9uLnBhdGNoCmluZGV4IGRkMGI5NWUuLjcwZDkwNDUgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDEwLUZpeC1mb3ItZnJhbWVyYXRlLXdpdGgtbmVzdGVkLWNvbXBvc2l0aW9uLnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDEwLUZpeC1mb3ItZnJhbWVyYXRlLXdpdGgtbmVzdGVkLWNvbXBvc2l0aW9uLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA4ZTZjZGUwODA3N2VhZGZlNTYzZGMxN2MxOTk5NWViYzQ4ZTMwYjk3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAyZjBiMjUyNjZkMGI0YjA0ZWY3OGI4OTUwZjViZDk3NDk4NTdiNGYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFR1ZSwgMjkgTWFyIDIwMTYgMjA6Mzg6MzAgLTA3MDAKIFN1YmplY3Q6IFtQQVRDSCAxMC8xOF0gRml4IGZvciBmcmFtZXJhdGUgd2l0aCBuZXN0ZWQgY29tcG9zaXRpb24KQEAgLTU2LDUgKzU2LDUgQEAKICAjaWZkZWYgQU5EUk9JRAogICAgICAgICAgICAgICAgIENMSUVOVF9VTkxPQ0soKTsKIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTEtYnVpbGQtc2hhcmVkLWxpYnJhcnktZm9yLXZjaG9zdGlmLnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTEtYnVpbGQtc2hhcmVkLWxpYnJhcnktZm9yLXZjaG9zdGlmLnBhdGNoCmluZGV4IDRiZDUzMjAuLmRhMzcxMDIgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDExLWJ1aWxkLXNoYXJlZC1saWJyYXJ5LWZvci12Y2hvc3RpZi5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMS1idWlsZC1zaGFyZWQtbGlicmFyeS1mb3ItdmNob3N0aWYucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDlhOTdkNjAyNjI5OTkwOTNkNmNlOGNiNjg4Mjc5NTA2YzIxMGQ4MDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDViYzQxMThlNzg2MWYzNWVhZDY1NjU1MzBjYjQyMTM5ODcyOTZmYjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogU2F0LCAyIEFwciAyMDE2IDEwOjM3OjI0IC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0ggMTEvMThdIGJ1aWxkIHNoYXJlZCBsaWJyYXJ5IGZvciB2Y2hvc3RpZgpAQCAtMjQsNSArMjQsNSBAQAogICNhZGRfbGlicmFyeShidWZtYW4gICAgICAgICAgICB2Y192Y2hpX2J1Zm1hbi5jICAgICAgICAgICAgKQogIAogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMi1pbXBsZW1lbnQtYnVmZmVyLXdyYXBwaW5nLWludGVyZmFjZS1mb3ItZGlzcG1hbngucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMi1pbXBsZW1lbnQtYnVmZmVyLXdyYXBwaW5nLWludGVyZmFjZS1mb3ItZGlzcG1hbngucGF0Y2gKaW5kZXggOTY4NGI0Yy4uNDA2NjZmZCAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTItaW1wbGVtZW50LWJ1ZmZlci13cmFwcGluZy1pbnRlcmZhY2UtZm9yLWRpc3BtYW54LnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDEyLWltcGxlbWVudC1idWZmZXItd3JhcHBpbmctaW50ZXJmYWNlLWZvci1kaXNwbWFueC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gZmVkZDc2NjgxNTIwNDljMTVlZDU4YzcwNThlNWY0YTljMWZhYzdjYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMjcxOTRiYzA1YTdhNDg4ODI3NTkwMjA4Mjg1YTg3NTcxNjRlZGNlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTYXQsIDIgQXByIDIwMTYgMTA6NTQ6NTkgLTA3MDAKIFN1YmplY3Q6IFtQQVRDSCAxMi8xOF0gaW1wbGVtZW50IGJ1ZmZlciB3cmFwcGluZyBpbnRlcmZhY2UgZm9yIGRpc3BtYW54CkBAIC04OCw1ICs4OCw1IEBACiAgCiAgPC9wcm90b2NvbD4KIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTMtSW1wbGVtZW50LXRyaXBsZS1idWZmZXJpbmctZm9yLXdheWxhbmQucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMy1JbXBsZW1lbnQtdHJpcGxlLWJ1ZmZlcmluZy1mb3Itd2F5bGFuZC5wYXRjaAppbmRleCAzMDUyMTY4Li41MTk3ODU2IDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMy1JbXBsZW1lbnQtdHJpcGxlLWJ1ZmZlcmluZy1mb3Itd2F5bGFuZC5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMy1JbXBsZW1lbnQtdHJpcGxlLWJ1ZmZlcmluZy1mb3Itd2F5bGFuZC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNjVmOGJjYTU1YWVhZDY3NmNkMDZmYzMyMTBhZWZmZWYxZjIxNThjNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZTk5YjJlYWZiYTUyNjBiODA4N2ZjMWE4NTgzMGIwOGVhMzIyODI5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEplZmYgV2FubmFtYWtlciA8amVmZl93YW5uYW1ha2VyQGNhYmxlLmNvbWNhc3QuY29tPgogRGF0ZTogVGh1LCAxOSBKYW4gMjAxNyAxODo1NjowNyArMDAwMAogU3ViamVjdDogW1BBVENIIDEzLzE4XSBJbXBsZW1lbnQgdHJpcGxlIGJ1ZmZlcmluZyBmb3Igd2F5bGFuZApAQCAtODYsNSArODYsNSBAQAogICAgICAgIGJhY2tfd2xfYnVmZmVyCiAgCiAtLSAKLTIuMTkuMQorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE0LUdMRVMyLWdsMmV4dC5oLURlZmluZS1HTF9SOF9FWFQtYW5kLUdMX1JHOF9FWFQucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxNC1HTEVTMi1nbDJleHQuaC1EZWZpbmUtR0xfUjhfRVhULWFuZC1HTF9SRzhfRVhULnBhdGNoCmluZGV4IDAzN2Q3MDguLjdmN2U3MzIgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE0LUdMRVMyLWdsMmV4dC5oLURlZmluZS1HTF9SOF9FWFQtYW5kLUdMX1JHOF9FWFQucGF0Y2gKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTQtR0xFUzItZ2wyZXh0LmgtRGVmaW5lLUdMX1I4X0VYVC1hbmQtR0xfUkc4X0VYVC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gZGMxZDA3ZDgzNWUxZmU3MGM5NTdhNjU1ZDZmYmI4Y2RlNjU3NzVhZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYTk3MjZjN2ZkY2QzODZiZDEwNGIxM2M0OTRkMjYxZjY5M2RkZTc5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDEwIE1heSAyMDE3IDA2OjM5OjM0ICswMDAwCiBTdWJqZWN0OiBbUEFUQ0ggMTQvMThdIEdMRVMyL2dsMmV4dC5oOiBEZWZpbmUgR0xfUjhfRVhUIGFuZCBHTF9SRzhfRVhUCkBAIC0zMSw1ICszMSw1IEBACiAgI2lmbmRlZiBHTF9FWFRfdGV4dHVyZV90eXBlXzJfMTBfMTBfMTBfUkVWCiAgI2RlZmluZSBHTF9VTlNJR05FRF9JTlRfMl8xMF8xMF8xMF9SRVZfRVhUICAgICAgICAgICAgICAgICAgICAgIDB4ODM2OAogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxNS1FR0wtZ2xwbGF0Zm9ybS5oLWRlZmluZS1FR0xfQ0FTVC5wYXRjaCBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE1LUVHTC1nbHBsYXRmb3JtLmgtZGVmaW5lLUVHTF9DQVNULnBhdGNoCmluZGV4IDAyY2VjYjguLmNmY2MxMjAgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE1LUVHTC1nbHBsYXRmb3JtLmgtZGVmaW5lLUVHTF9DQVNULnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE1LUVHTC1nbHBsYXRmb3JtLmgtZGVmaW5lLUVHTF9DQVNULnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBiNWZhMjk0YzBkOGZjYjZkZDViZmJmYjk2YTA4ODVkZDlmM2FlNjA5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAzYmE3OWU4NmNkZWM4ODQ0MDg4NWZlZmM3YWFkZjc5M2IzMDFiMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQW5kcmVhIEdhbGJ1c2VyYSA8Z2l6ZXJvQGdtYWlsLmNvbT4KIERhdGU6IEZyaSwgMTQgSnVsIDIwMTcgMDk6NTI6NTQgKzAyMDAKIFN1YmplY3Q6IFtQQVRDSCAxNS8xOF0gRUdML2dscGxhdGZvcm0uaDogZGVmaW5lIEVHTF9DQVNUCkBAIC0yOCw1ICsyOCw1IEBACiArCiAgI2VuZGlmIC8qIF9fZWdscGxhdGZvcm1faCAqLwogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxNi1BbGxvdy1tdWx0aXBsZS13YXlsYW5kLWNvbXBvc2l0b3Itc3RhdGUtZGF0YS1wZXItcHJvLnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTYtQWxsb3ctbXVsdGlwbGUtd2F5bGFuZC1jb21wb3NpdG9yLXN0YXRlLWRhdGEtcGVyLXByby5wYXRjaAppbmRleCAzNGFkOTBjLi4yZDFiODgyIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxNi1BbGxvdy1tdWx0aXBsZS13YXlsYW5kLWNvbXBvc2l0b3Itc3RhdGUtZGF0YS1wZXItcHJvLnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE2LUFsbG93LW11bHRpcGxlLXdheWxhbmQtY29tcG9zaXRvci1zdGF0ZS1kYXRhLXBlci1wcm8ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGJmZjAzZjkyYzBkOGJhZTExM2UwYzcyMzRjNzE5ZjgzODU4MDhiMzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDVjNTNiMmZmNGQxNGI5ODhhZTlhYjQ1M2ZiMmVmOTdiNmEyNzdkZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKZWZmIFdhbm5hbWFrZXIgPGplZmZfd2FubmFtYWtlckBjYWJsZS5jb21jYXN0LmNvbT4KIERhdGU6IFNhdCwgMjcgSmFuIDIwMTggMTI6Mjg6MzEgLTA1MDAKIFN1YmplY3Q6IFtQQVRDSCAxNi8xOF0gQWxsb3cgbXVsdGlwbGUgd2F5bGFuZCBjb21wb3NpdG9yIHN0YXRlIGRhdGEgcGVyCkBAIC0xNDEsNSArMTQxLDUgQEAKICAgICBDTElFTlRfVU5MT0NLKCk7CiAgCiAtLSAKLTIuMTkuMQorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE3LWtocm9ub3MtYmFja3BvcnQtdHlwZWRlZi1mb3ItRUdMX0VYVF9pbWFnZV9kbWFfYnVmX2kucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxNy1raHJvbm9zLWJhY2twb3J0LXR5cGVkZWYtZm9yLUVHTF9FWFRfaW1hZ2VfZG1hX2J1Zl9pLnBhdGNoCmluZGV4IDU0NmNkNTguLjljMjIzYWIgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE3LWtocm9ub3MtYmFja3BvcnQtdHlwZWRlZi1mb3ItRUdMX0VYVF9pbWFnZV9kbWFfYnVmX2kucGF0Y2gKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTcta2hyb25vcy1iYWNrcG9ydC10eXBlZGVmLWZvci1FR0xfRVhUX2ltYWdlX2RtYV9idWZfaS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gOGVmZDgxZTk2YmRkM2JlNjgwNjNhNmZkMzJiZTQ3NTUyMjVlOTNiMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMGQzYzZiN2NhNWQzNTJjYzAwZDk1MDFiOWQ1NTc2YzRlY2U3MGE4MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEh1Z28gSHJvbWljIDxoaHJvbWljQGdtYWlsLmNvbT4KIERhdGU6IFN1biwgMTMgTWF5IDIwMTggMTA6NDk6MDQgKzAxMDAKIFN1YmplY3Q6IFtQQVRDSCAxNy8xOF0ga2hyb25vczogYmFja3BvcnQgdHlwZWRlZiBmb3IKQEAgLTM0LDUgKzM0LDUgQEAKICAjaWZuZGVmIEVHTF9XTF9iaW5kX3dheWxhbmRfZGlzcGxheQogICNkZWZpbmUgRUdMX1dMX2JpbmRfd2F5bGFuZF9kaXNwbGF5IDEKIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTgtQWRkLUVHTF9JTUdfY29udGV4dF9wcmlvcml0eS1yZWxhdGVkLWRlZmluZXMucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxOC1BZGQtRUdMX0lNR19jb250ZXh0X3ByaW9yaXR5LXJlbGF0ZWQtZGVmaW5lcy5wYXRjaAppbmRleCBmNGQ4NjVlLi4wMzQ5OWQ0IDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxOC1BZGQtRUdMX0lNR19jb250ZXh0X3ByaW9yaXR5LXJlbGF0ZWQtZGVmaW5lcy5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxOC1BZGQtRUdMX0lNR19jb250ZXh0X3ByaW9yaXR5LXJlbGF0ZWQtZGVmaW5lcy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gOWNmZWE0NzYxYmE2ODc3NmZkOWJmYWM2NzFiNzRjNzE3NGY5OTAyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMGY5OGNjYWMxMjgyNjViODVhZjNjNWUzMTA0MTNmYzlmY2U5Zjc4YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTdW4sIDE1IEp1bCAyMDE4IDAwOjQ4OjM4IC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0ggMTgvMThdIEFkZCBFR0xfSU1HX2NvbnRleHRfcHJpb3JpdHkgcmVsYXRlZCBkZWZpbmVzCkBAIC0zMSw1ICszMSw1IEBACiAgI2RlZmluZSBFR0xfS0hSX3ZnX3BhcmVudF9pbWFnZSAxCiAgI2RlZmluZSBFR0xfVkdfUEFSRU5UX0lNQUdFX0tIUgkJCTB4MzBCQQkvKiBlZ2xDcmVhdGVJbWFnZUtIUiB0YXJnZXQgKi8KIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL3VzZXJsYW5kX2dpdC5iYiBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC91c2VybGFuZF9naXQuYmIKaW5kZXggZjVjODAzZS4uNDMxMTU4OCAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL3VzZXJsYW5kX2dpdC5iYgorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvdXNlcmxhbmRfZ2l0LmJiCkBAIC0xMiwxMSArMTIsMTEgQEAKIAogU1JDQlJBTkNIID0gIm1hc3RlciIKIFNSQ0ZPUksgPSAicmFzcGJlcnJ5cGkiCi1TUkNSRVYgPSAiZDU3NGI1MWE2MGEwNzViYWVmZTg2MzY3MDQ2NmVlMjRlNmM0MjU2ZSIKK1NSQ1JFViA9ICJlNTgwM2YyYzk4NmNiZjhjOTE5YzYwMjc4YjMyMzFkY2RmNDI3MWE2IgogCiAjIFVzZSB0aGUgZGF0ZSBvZiB0aGUgYWJvdmUgY29tbWl0IGFzIHRoZSBwYWNrYWdlIHZlcnNpb24uIFVwZGF0ZSB0aGlzIHdoZW4KICMgU1JDUkVWIGlzIGNoYW5nZWQuCi1QViA9ICIyMDE4MTEyMCIKK1BWID0gIjIwMTkwMTE0IgogCiBTUkNfVVJJID0gIlwKICAgICBnaXQ6Ly9naXRodWIuY29tLyR7U1JDRk9SS30vdXNlcmxhbmQuZ2l0O3Byb3RvY29sPWdpdDticmFuY2g9JHtTUkNCUkFOQ0h9IFwKQEAgLTY0LDYgKzY0LDggQEAKIAkJc2VkIC1pICdzL2luY2x1ZGUgInZjb3NfZnV0ZXhfbXV0ZXguaCIvaW5jbHVkZSAicHRocmVhZHNcL3Zjb3NfZnV0ZXhfbXV0ZXguaCIvZycgJHtmfQogCQlzZWQgLWkgJ3MvaW5jbHVkZSAidmNvc19wbGF0Zm9ybV90eXBlcy5oIi9pbmNsdWRlICJwdGhyZWFkc1wvdmNvc19wbGF0Zm9ybV90eXBlcy5oIi9nJyAke2Z9CiAJZG9uZQorICAgICAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtEfSR7cHJlZml4fSR7c3lzY29uZmRpcn0vaW5pdC5kL3ZjZmlsZWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3ZjZmlsZWQKKyAgICAgICAgcm0gLXJmICR7RH0ke3ByZWZpeH0ke3N5c2NvbmZkaXJ9CiAJaWYgWyAiJHtAYmIudXRpbHMuY29udGFpbnMoIk1BQ0hJTkVfRkVBVFVSRVMiLCAidmM0Z3JhcGhpY3MiLCAiMSIsICIwIiwgZCl9IiA9ICIxIiBdOyB0aGVuCiAJCXJtIC1yZiAke0R9JHtsaWJkaXJ9L2xpYkVHTCoKIAkJcm0gLXJmICR7RH0ke2xpYmRpcn0vbGliR0xFUyoKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgtcmFzcGJlcnJ5cGktZGV2LmJiIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC1yYXNwYmVycnlwaS1kZXYuYmIKaW5kZXggNGE3ZGIxYS4uYmI0YTY0ZWYgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgtcmFzcGJlcnJ5cGktZGV2LmJiCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgtcmFzcGJlcnJ5cGktZGV2LmJiCkBAIC03LDE2ICs3LDE3IEBACiAKIEZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9ICIke1RISVNESVJ9L2xpbnV4LXJhc3BiZXJyeXBpOiIKIAotTElOVVhfVkVSU0lPTiA/PSAiNC4xNiIKLUxJTlVYX1JQSV9ERVZfQlJBTkNIID89ICJycGktNC4xNi55IgorTElOVVhfVkVSU0lPTiA/PSAiNC4xOSIKK0xJTlVYX1JQSV9CUkFOQ0ggPz0gInJwaS00LjE5LnkiCiAKIFNSQ1JFViA9ICIke0FVVE9SRVZ9IgogU1JDX1VSSSA9ICIgXAotICAgIGdpdDovL2dpdGh1Yi5jb20vcmFzcGJlcnJ5cGkvbGludXguZ2l0O3Byb3RvY29sPWdpdDticmFuY2g9JHtMSU5VWF9SUElfREVWX0JSQU5DSH0gXAotICAgIGZpbGU6Ly8wMDAxLW1lbnVjb25maWctY2hlY2stbHhkaWFnbG9nLnNoLUFsbG93LXNwZWNpZmljYXRpb24tb2YucGF0Y2ggXAorICAgIGdpdDovL2dpdGh1Yi5jb20vcmFzcGJlcnJ5cGkvbGludXguZ2l0O3Byb3RvY29sPWdpdDticmFuY2g9JHtMSU5VWF9SUElfQlJBTkNIfSBcCiAgICAgIgogcmVxdWlyZSBsaW51eC1yYXNwYmVycnlwaS5pbmMKIAogIyBEaXNhYmxlIHZlcnNpb24gY2hlY2sgc28gdGhhdCB3ZSBkb24ndCBoYXZlIHRvIGVkaXQgdGhpcyByZWNpcGUgZXZlcnkgdGltZQogIyB1cHN0cmVhbSBidW1wcyB0aGUgdmVyc2lvbgogS0VSTkVMX1ZFUlNJT05fU0FOSVRZX1NLSVAgPSAiMSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmJlYTgxNWVlMjc5NWIyZjQyMzA4MjZjMGM2Yjg4MTQiCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXJhc3BiZXJyeXBpXzQuMTkuYmIgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXJhc3BiZXJyeXBpXzQuMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDk2YWJkNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgtcmFzcGJlcnJ5cGlfNC4xOS5iYgpAQCAtMCwwICsxLDEyIEBACitGSUxFU0VYVFJBUEFUSFNfcHJlcGVuZCA6PSAiJHtUSElTRElSfS9saW51eC1yYXNwYmVycnlwaToiCisKK0xJTlVYX1ZFUlNJT04gPz0gIjQuMTkuMzAiCitMSU5VWF9SUElfQlJBTkNIID89ICJycGktNC4xOS55IgorCitTUkNSRVYgPSAiM2M0NjhmYzgxOTFkMjc2ZTNlOWVmZDk3NmEwZmY3MTI3MWYzZmM1MSIKK1NSQ19VUkkgPSAiIFwKKyAgICBnaXQ6Ly9naXRodWIuY29tL3Jhc3BiZXJyeXBpL2xpbnV4LmdpdDtwcm90b2NvbD1naXQ7YnJhbmNoPSR7TElOVVhfUlBJX0JSQU5DSH0gXAorICAgICIKK3JlcXVpcmUgbGludXgtcmFzcGJlcnJ5cGkuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJiZWE4MTVlZTI3OTViMmY0MjMwODI2YzBjNmI4ODE0IgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9SRUFETUUgYi9tZXRhLXNlY3VyaXR5L1JFQURNRQppbmRleCBlMjM4MjcxLi41YWJiMGUyIDEwMDY0NAotLS0gYS9tZXRhLXNlY3VyaXR5L1JFQURNRQorKysgYi9tZXRhLXNlY3VyaXR5L1JFQURNRQpAQCAtNTcsOCArNTcsMTQgQEAKIFdoZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzaW5nIHNvbWV0aGluZyBsaWtlOgogJ2dpdCBzZW5kLWVtYWlsIC0xIC0tdG8geW9jdG9AeW9jdG9wcm9qZWN0Lm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtc2VjdXJpdHldW1BBVENIJwogCitUaGVzZSB2YWx1ZXMgY2FuIGJlIHNldCBhcyBkZWZhdWx0cyBmb3IgdGhpcyByZXBvc2l0b3J5OgorCiskIGdpdCBjb25maWcgc2VuZGVtYWlsLnRvIHlvY3RvQHlvY3RvcHJvamVjdC5vcmcKKyQgZ2l0IGNvbmZpZyBmb3JtYXQuc3ViamVjdFByZWZpeCBtZXRhLXNlY3VyaXR5XVtQQVRDSAorCitOb3cgeW91IGNhbiBqdXN0IGRvICdnaXQgc2VuZC1lbWFpbCBvcmlnaW4vbWFzdGVyJyB0byBzZW5kIGFsbCBsb2NhbCBwYXRjaGVzLgorCiBNYWludGFpbmVyczogICAgQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KLSAgICAgICAgICAgICAgICBTYXVsIFdvbGQgPHNnd0BsaW51eC5pbnRlbC5jb20+CiAKIAogTGljZW5zZQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYyBiL21ldGEtc2VjdXJpdHkvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTRiNDVmMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmMKQEAgLTAsMCArMSw1OSBAQAorIyBtZXRhLXNlY3VyaXl0IE1haW50YWluZXJzIEZpbGUKKyMKKyMgVGhpcyBmaWxlIGNvbnRhaW5zIGEgbGlzdCBvZiByZWNpcGUgbWFpbnRhaW5lcnMuCisjCisjIFBsZWFzZSBzdWJtaXQgYW55IHBhdGNoZXMgYWdhaW5zdCByZWNpcGVzIGluIG1ldGEgdG8gdGhlIAorIyBZb2N0byBtYWlsIGxpc3QgKHlvY3RvQHlvY3RvcHJvamVjdC5vcmcpCisjCisjIElmIHlvdSBoYXZlIHByb2JsZW1zIHdpdGggb3IgcXVlc3Rpb25zIGFib3V0IGEgcGFydGljdWxhciByZWNpcGUsIGZlZWwKKyMgZnJlZSB0byBjb250YWN0IHRoZSBtYWludGFpbmVyIGRpcmVjdGx5IChjYzppbmcgdGhlIGFwcHJvcHJpYXRlIG1haWxpbmcgbGlzdAorIyBwdXRzIGl0IGluIHRoZSBhcmNoaXZlIGFuZCBoZWxwcyBvdGhlciBwZW9wbGUgd2hvIG1pZ2h0IGhhdmUgdGhlIHNhbWUKKyMgcXVlc3Rpb25zIGluIHRoZSBmdXR1cmUpLCBidXQgcGxlYXNlIHRyeSB0byBkbyB0aGUgZm9sbG93aW5nIGZpcnN0OgorIworIyAgLSBsb29rIGluIHRoZSBZb2N0byBQcm9qZWN0IEJ1Z3ppbGxhCisjICAgIChodHRwOi8vYnVnemlsbGEueW9jdG9wcm9qZWN0Lm9yZy8pIHRvIHNlZSBpZiBhIHByb2JsZW0gaGFzCisjICAgIGFscmVhZHkgYmVlbiByZXBvcnRlZAorIworIyBUaGUgZm9ybWF0IGlzIGFzIGEgYml0YmFrZSB2YXJpYWJsZSBvdmVycmlkZSBmb3IgZWFjaCByZWNpcGUKKyMKKyMJUkVDSVBFX01BSU5UQUlORVJfcG4tPHJlY2lwZSBuYW1lPiA9ICJGdWxsIE5hbWUgPGFkZHJlc3NAZG9tYWluPiIKKyMKKyMgUGxlYXNlIGtlZXAgdGhpcyBsaXN0IGluIGFscGhhYmV0aWNhbCBvcmRlci4KK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWFpcmNyYWNrLW5nID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tYXBwYXJtb3IgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1iYXN0aWxsZSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWJ1Y2stc2VjdXJpdHkgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jY3MtdG9vbHMgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jaGVja3NlYyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNoZWNrc2VjdXJpdHkgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jbGFtYXYgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1kaW5nLWxpYnMgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1lY3J5cHRmcy11dGlscyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWZzY3J5cHRjdGwgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1nb29nbGUtYXV0aGVudGljYXRvci1saWJwYW0gPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1oYXNoLXBlcmwgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1pc2ljID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4ta2V5dXRpbHMgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJhZXMtc2l2ID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZW52LXBlcmwgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJnc3NnbHVlID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGliaHRwID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGlibWhhc2ggPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJtc3BhY2sgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWItcGVybCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnNlY2NvbXAgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ3aGlza2VyMi1wZXJsID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbmNyYWNrID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbmlrdG8gPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1wYXhjdGwgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLWZhaWwyYmFuID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tcHl0aG9uMy1zY2FweSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhvbi1mYWlsMmJhbiA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhvbi1zY2FweSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXJlZGhhdC1zZWN1cml0eSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXNhbWhhaW4gPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1zbWFjayA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXNzc2QgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1zdXJpY2F0YSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXRyaXB3aXJlID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4teG1sc2VjMSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvY29uZi9sYXllci5jb25mIGIvbWV0YS1zZWN1cml0eS9jb25mL2xheWVyLmNvbmYKaW5kZXggMTllNjQ3ZS4uNzE2ZjhhYyAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9jb25mL2xheWVyLmNvbmYKKysrIGIvbWV0YS1zZWN1cml0eS9jb25mL2xheWVyLmNvbmYKQEAgLTEzLDQgKzEzLDQgQEAKIAogTEFZRVJERVBFTkRTX3NlY3VyaXR5ID0gImNvcmUgb3BlbmVtYmVkZGVkLWxheWVyIHBlcmwtbGF5ZXIgbmV0d29ya2luZy1sYXllciBtZXRhLXB5dGhvbiIKIAotREVGQVVMVF9URVNUX1NVSVRFU19wbi1zZWN1cml0eS1idWlsZC1pbWFnZSA9ICIgJHtQVEVTVFRFU1RTVUlURX0iCitERUZBVUxUX1RFU1RfU1VJVEVTX3BuLXNlY3VyaXR5LWJ1aWxkLWltYWdlID0gIiBwaW5nIHNzaCBwdGVzdCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbGliL29lcWEvcnVudGltZS9jYXNlcy9hcHBhcm1vci5weSBiL21ldGEtc2VjdXJpdHkvbGliL29lcWEvcnVudGltZS9jYXNlcy9hcHBhcm1vci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMmNiMzE2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2FwcGFybW9yLnB5CkBAIC0wLDAgKzEsMjcgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE5IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisjCitpbXBvcnQgcmUKKworZnJvbSBvZXFhLnJ1bnRpbWUuY2FzZSBpbXBvcnQgT0VSdW50aW1lVGVzdENhc2UKK2Zyb20gb2VxYS5jb3JlLmRlY29yYXRvci5kZXBlbmRzIGltcG9ydCBPRVRlc3REZXBlbmRzCitmcm9tIG9lcWEucnVudGltZS5kZWNvcmF0b3IucGFja2FnZSBpbXBvcnQgT0VIYXNQYWNrYWdlCisKKworY2xhc3MgQXBwYXJtb3JUZXN0KE9FUnVudGltZVRlc3RDYXNlKToKKworICAgIEBPRUhhc1BhY2thZ2UoWydhcHBhcm1vciddKQorICAgIEBPRVRlc3REZXBlbmRzKFsnc3NoLlNTSFRlc3QudGVzdF9zc2gnXSkKKyAgICBkZWYgdGVzdF9hcHBhcm1vcl9oZWxwKHNlbGYpOgorICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bignYWEtc3RhdHVzIC0taGVscCcpCisgICAgICAgIG1zZyA9ICgnYXBwYXJtb3IgY29tbWFuZCBkb2VzIG5vdCB3b3JrIGFzIGV4cGVjdGVkLiAnCisgICAgICAgICAgICAgICAnU3RhdHVzIGFuZCBvdXRwdXQ6JXMgYW5kICVzJyAlIChzdGF0dXMsIG91dHB1dCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCBtc2cgPSBtc2cpCisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ2FwcGFybW9yLkFwcGFybW9yVGVzdC50ZXN0X2FwcGFybW9yX2hlbHAnXSkKKyAgICBkZWYgdGVzdF9hcHBhcm1vcl9hYV9zdGF0dXMoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdhYS1zdGF0dXMnKQorICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaCgnYXBwYXJtb3IgbW9kdWxlIGlzIGxvYWRlZC4nLCBvdXRwdXQpCisgICAgICAgIGlmIG5vdCBtYXRjaDoKKyAgICAgICAgICAgIG1zZyA9ICgnYWEtc3RhdHVzICBmYWlsZWQuICcKKyAgICAgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCBtc2cgPSBtc2cpCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvY2xhbWF2LnB5IGIvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2NsYW1hdi5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzc3MzMwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2NsYW1hdi5weQpAQCAtMCwwICsxLDM4IEBACisjIENvcHlyaWdodCAoQykgMjAxOSBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorIworaW1wb3J0IHJlCisKK2Zyb20gb2VxYS5ydW50aW1lLmNhc2UgaW1wb3J0IE9FUnVudGltZVRlc3RDYXNlCitmcm9tIG9lcWEuY29yZS5kZWNvcmF0b3IuZGVwZW5kcyBpbXBvcnQgT0VUZXN0RGVwZW5kcworZnJvbSBvZXFhLnJ1bnRpbWUuZGVjb3JhdG9yLnBhY2thZ2UgaW1wb3J0IE9FSGFzUGFja2FnZQorCisKK2NsYXNzIENsYW1hdlRlc3QoT0VSdW50aW1lVGVzdENhc2UpOgorCisgICAgQE9FSGFzUGFja2FnZShbJ2NsYW1hdiddKQorICAgIEBPRVRlc3REZXBlbmRzKFsnc3NoLlNTSFRlc3QudGVzdF9zc2gnXSkKKyAgICBkZWYgdGVzdF9mcmVzaGNsYW1faGVscChzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ2ZyZXNoY2xhbSAtLWhlbHAgJykKKyAgICAgICAgbXNnID0gKCdmcmVzaGNsYW0gLS1obGVwICBjb21tYW5kIGRvZXMgbm90IHdvcmsgYXMgZXhwZWN0ZWQuICcsIAorICAgICAgICAgICAnU3RhdHVzIGFuZCBvdXRwdXQ6JXMgYW5kICVzJyAlIChzdGF0dXMsIG91dHB1dCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCBtc2cgPSBtc2cpCisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ2NsYW1hdi5DbGFtYXZUZXN0LnRlc3RfZnJlc2hjbGFtX2hlbHAnXSkKKyAgICBkZWYgdGVzdF9mcmVzaGNsYW1fZG93bmxvYWQoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdmcmVzaGNsYW0gLS1zaG93LXByb2dyZXNzJykKKyAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2goJ0RhdGFiYXNlIHVwZGF0ZWQnLCBvdXRwdXQpCisgICAgICAgICNtYXRjaCA9IHJlLnNlYXJjaCgnbWFpbi5jdmQgaXMgdXAgdG8gZGF0ZScsIG91dHB1dCkKKyAgICAgICAgaWYgbm90IG1hdGNoOgorICAgICAgICAgICAgbXNnID0gKCdmcmVzaGNsYW0gOiBEQiBkb3dibG9hZCBmYWlsZWQuICcKKyAgICAgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAxLCBtc2cgPSBtc2cpCisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ2NsYW1hdi5DbGFtYXZUZXN0LnRlc3RfZnJlc2hjbGFtX2Rvd25sb2FkJ10pCisgICAgZGVmIHRlc3RfZnJlc2hjbGFtX2NoZWNrX21pcnJvcnMoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdmcmVzaGNsYW0gLS1saXN0LW1pcnJvcnMnKQorICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaCgnRmFpbHVyZXM6IDAnLCBvdXRwdXQpCisgICAgICAgIGlmIG5vdCBtYXRjaDoKKyAgICAgICAgICAgIG1zZyA9ICgnZnJlc2hjbGFtIC0tbGlzdC1taXJyb3JzOiBmYWlsZWQuICcKKyAgICAgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAxLCBtc2cgPSBtc2cpCisKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbGliL29lcWEvcnVudGltZS9jYXNlcy9zYW1oYWluLnB5IGIvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3NhbWhhaW4ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRiYWU3YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbGliL29lcWEvcnVudGltZS9jYXNlcy9zYW1oYWluLnB5CkBAIC0wLDAgKzEsMjAgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE5IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisjCitpbXBvcnQgcmUKKworZnJvbSBvZXFhLnJ1bnRpbWUuY2FzZSBpbXBvcnQgT0VSdW50aW1lVGVzdENhc2UKK2Zyb20gb2VxYS5jb3JlLmRlY29yYXRvci5kZXBlbmRzIGltcG9ydCBPRVRlc3REZXBlbmRzCitmcm9tIG9lcWEucnVudGltZS5kZWNvcmF0b3IucGFja2FnZSBpbXBvcnQgT0VIYXNQYWNrYWdlCisKKworY2xhc3MgU2FtaGFpblRlc3QoT0VSdW50aW1lVGVzdENhc2UpOgorCisgICAgQE9FSGFzUGFja2FnZShbJ3NhbWhhaW4tc3RhbmRhbG9uZSddKQorICAgIEBPRVRlc3REZXBlbmRzKFsnc3NoLlNTSFRlc3QudGVzdF9zc2gnXSkKKyAgICBkZWYgdGVzdF9zYW1oYWluX3N0YW5kYWxvbmVfaGVscChzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ3NhbWhhaW4gLS1oZWxwJykKKyAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2goJ1BsZWFzZSByZXBvcnQgYnVncyB0byBzdXBwb3J0QGxhLXNhbWhuYS5kZS4nLCBvdXRwdXQpCisgICAgICAgIGlmIG5vdCBtYXRjaDoKKyAgICAgICAgICAgIG1zZyA9ICgnc2FtaGFpbi1zdGFuZGFsb25lIGNvbW1hbmQgZG9lcyBub3Qgd29yayBhcyBleHBlY3RlZC4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDEsIG1zZyA9IG1zZykKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbGliL29lcWEvcnVudGltZS9jYXNlcy9zc3NkLnB5IGIvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3Nzc2QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDY0NDgzNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbGliL29lcWEvcnVudGltZS9jYXNlcy9zc3NkLnB5CkBAIC0wLDAgKzEsMzcgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE5IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisjCitpbXBvcnQgcmUKKworZnJvbSBvZXFhLnJ1bnRpbWUuY2FzZSBpbXBvcnQgT0VSdW50aW1lVGVzdENhc2UKK2Zyb20gb2VxYS5jb3JlLmRlY29yYXRvci5kZXBlbmRzIGltcG9ydCBPRVRlc3REZXBlbmRzCitmcm9tIG9lcWEucnVudGltZS5kZWNvcmF0b3IucGFja2FnZSBpbXBvcnQgT0VIYXNQYWNrYWdlCisKKworY2xhc3MgU1NTRFRlc3QoT0VSdW50aW1lVGVzdENhc2UpOgorCisgICAgQE9FSGFzUGFja2FnZShbJ3Nzc2QnXSkKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3NzaC5TU0hUZXN0LnRlc3Rfc3NoJ10pCisgICAgZGVmIHRlc3Rfc3NzZF9oZWxwKHNlbGYpOgorICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bignc3NzY3RsIC0taGVscCcpCisgICAgICAgIG1zZyA9ICgnc3NzY3RsIGNvbW1hbmQgZG9lcyBub3Qgd29yayBhcyBleHBlY3RlZC4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMSwgbXNnID0gbXNnKQorCisgICAgQE9FVGVzdERlcGVuZHMoWydzc3NkLlNTU0RUZXN0LnRlc3Rfc3NzZF9oZWxwJ10pCisgICAgZGVmIHRlc3Rfc3NzZF9zc3NjdGxfY29uZl9wZXJtc19jaGsoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdzc3NjdGwgZG9tYWluLXN0YXR1cycpCisgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdDb25mREIgaW5pdGlhbGl6YXRpb24gaGFzIGZhaWxlZCcsIG91dHB1dCkKKyAgICAgICAgaWYgbWF0Y2g6CisgICAgICAgICAgICBtc2cgPSAoJ3Nzc2N0bCBkb21haW4tc3RhdHVzIGZhaWxlZCwgY2hlY2sgc3NzZC5jb25mIHBlcm1zLiAnCisgICAgICAgICAgICAgICAnU3RhdHVzIGFuZCBvdXRwdXQ6JXMgYW5kICVzJyAlIChzdGF0dXMsIG91dHB1dCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgbXNnID0gbXNnKQorCisgICAgQE9FVGVzdERlcGVuZHMoWydzc3NkLlNTU0RUZXN0LnRlc3Rfc3NzZF9zc3NjdGxfY29uZl9wZXJtc19jaGsnXSkKKyAgICBkZWYgdGVzdF9zc3NkX3Nzc2N0bF9kZWFtb24oc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdzc3NjdGwgZG9tYWluLXN0YXR1cycpCisgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdObyBkb21haW5zIGNvbmZpZ3VyZWQsIGZhdGFsIGVycm9yIScsIG91dHB1dCkKKyAgICAgICAgaWYgbWF0Y2g6CisgICAgICAgICAgICBtc2cgPSAoJ3Nzc2N0bCBkb21haW4tc3RhdHVzIGZhaWxlZCwgc3NzZC5jb25mIG5vdCBzZXR1cCBjb3JyZWN0bHkuICcKKyAgICAgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCBtc2cgPSBtc2cpCisKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbGliL29lcWEvcnVudGltZS9jYXNlcy9zdXJpY2F0YS5weSBiL21ldGEtc2VjdXJpdHkvbGliL29lcWEvcnVudGltZS9jYXNlcy9zdXJpY2F0YS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2ZjOGM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3N1cmljYXRhLnB5CkBAIC0wLDAgKzEsMjcgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE5IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisjCitpbXBvcnQgcmUKKworZnJvbSBvZXFhLnJ1bnRpbWUuY2FzZSBpbXBvcnQgT0VSdW50aW1lVGVzdENhc2UKK2Zyb20gb2VxYS5jb3JlLmRlY29yYXRvci5kZXBlbmRzIGltcG9ydCBPRVRlc3REZXBlbmRzCitmcm9tIG9lcWEucnVudGltZS5kZWNvcmF0b3IucGFja2FnZSBpbXBvcnQgT0VIYXNQYWNrYWdlCisKKworY2xhc3MgU3VyaWNhdGFUZXN0KE9FUnVudGltZVRlc3RDYXNlKToKKworICAgIEBPRUhhc1BhY2thZ2UoWydzdXJpY2F0YSddKQorICAgIEBPRVRlc3REZXBlbmRzKFsnc3NoLlNTSFRlc3QudGVzdF9zc2gnXSkKKyAgICBkZWYgdGVzdF9zdXJpY2F0YV9oZWxwKHNlbGYpOgorICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bignc3VyaWNhdGEgLS1oZWxwJykKKyAgICAgICAgbXNnID0gKCdzdXJpY2F0YSBjb21tYW5kIGRvZXMgbm90IHdvcmsgYXMgZXhwZWN0ZWQuICcKKyAgICAgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDEsIG1zZyA9IG1zZykKKworICAgIEBPRVRlc3REZXBlbmRzKFsnc3VyaWNhdGEuU3VyaWNhdGFUZXN0LnRlc3Rfc3VyaWNhdGFfaGVscCddKQorICAgIGRlZiB0ZXN0X3N1cmljYXRhX3VuaXR0ZXN0KHNlbGYpOgorICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bignc3VyaWNhdGEgLXUnKQorICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaCgnRkFJTEVEOiAwICcsIG91dHB1dCkKKyAgICAgICAgaWYgbm90IG1hdGNoOgorICAgICAgICAgICAgbXNnID0gKCdzdXJpY2F0YSB1bml0dGVzdCBoYWQgYW4gdW5leHBlY3RlZCBmYWlsdXJlLiAnCisgICAgICAgICAgICAgICAnU3RhdHVzIGFuZCBvdXRwdXQ6JXMgYW5kICVzJyAlIChzdGF0dXMsIG91dHB1dCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgbXNnID0gbXNnKQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3RyaXB3aXJlLnB5IGIvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3RyaXB3aXJlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1OTcyNGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvdHJpcHdpcmUucHkKQEAgLTAsMCArMSw0NyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTkgQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKyMKK2ltcG9ydCByZQorCitmcm9tIG9lcWEucnVudGltZS5jYXNlIGltcG9ydCBPRVJ1bnRpbWVUZXN0Q2FzZQorZnJvbSBvZXFhLmNvcmUuZGVjb3JhdG9yLmRlcGVuZHMgaW1wb3J0IE9FVGVzdERlcGVuZHMKK2Zyb20gb2VxYS5ydW50aW1lLmRlY29yYXRvci5wYWNrYWdlIGltcG9ydCBPRUhhc1BhY2thZ2UKKworCitjbGFzcyBUcmlwd2lyZVRlc3QoT0VSdW50aW1lVGVzdENhc2UpOgorCisgICAgQE9FSGFzUGFja2FnZShbJ3RyaXB3aXJlJ10pCisgICAgQE9FVGVzdERlcGVuZHMoWydzc2guU1NIVGVzdC50ZXN0X3NzaCddKQorICAgIGRlZiB0ZXN0X3RyaXB3aXJlX2hlbHAoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCd0cmlwd2lyZSAtLWhlbHAnKQorICAgICAgICBtc2cgPSAoJ3RyaXB3aXJlIGNvbW1hbmQgZG9lcyBub3Qgd29yayBhcyBleHBlY3RlZC4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgOCwgbXNnID0gbXNnKQorCisgICAgQE9FVGVzdERlcGVuZHMoWyd0cmlwd2lyZS5Ucmlwd2lyZVRlc3QudGVzdF90cmlwd2lyZV9oZWxwJ10pCisgICAgZGVmIHRlc3RfdHJpcHdpcmVfdHdpbnN0YWxsKHNlbGYpOgorICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bignL2V0Yy90cmlwd2lyZS90d2luc3RhbGwuc2gnKQorICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaCgnVGhlIGRhdGFiYXNlIHdhcyBzdWNjZXNzZnVsbHkgZ2VuZXJhdGVkLicsIG91dHB1dCkKKyAgICAgICAgaWYgbm90IG1hdGNoOgorICAgICAgICAgICAgbXNnID0gKCcvZXRjL3RyaXB3aXJlL3R3aW5zdGFsbC5zaCBmYWlsZWQuICcKKyAgICAgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCBtc2cgPSBtc2cpCisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3RyaXB3aXJlLlRyaXB3aXJlVGVzdC50ZXN0X3RyaXB3aXJlX3R3aW5zdGFsbCddKQorICAgIGRlZiB0ZXN0X3RyaXB3aXJlX3R3YWRtaW4oc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCd0d2FkbWluIC0tY3JlYXRlLWNmZ2ZpbGUgLS1jZmdmaWxlIC9ldGMvdHJpcHdpcmUvdHdjZmcuZW5jIC0tc2l0ZS1rZXlmaWxlIC9ldGMvdHJpcHdpcmUvc2l0ZS5rZXkgLVEgdHJpcHdpcmUgL2V0Yy90cmlwd2lyZS90d2NmZy50eHQnKQorICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bigndHdhZG1pbiAtLWNyZWF0ZS1wb2xmaWxlIC0tY2ZnZmlsZSAvZXRjL3RyaXB3aXJlL3R3Y2ZnLmVuYyAtLXBvbGZpbGUgL2V0Yy90cmlwd2lyZS90d3BvbC5lbmMgLS1zaXRlLWtleWZpbGUgL2V0Yy90cmlwd2lyZS9zaXRlLmtleSAtUSB0cmlwd2lyZSAvZXRjL3RyaXB3aXJlL3R3cG9sLnR4dCcpCisgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdXcm90ZSBwb2xpY3kgZmlsZTogL2V0Yy90cmlwd2lyZS90d3BvbC5lbmMnLCBvdXRwdXQpCisgICAgICAgIGlmIG5vdCBtYXRjaDoKKyAgICAgICAgICAgIG1zZyA9ICgndHdhZG1pbiAtLWNyZWF0ZS1wcm9maWxlIDsgZmFpbGVkLiAnCisgICAgICAgICAgICAgICAnU3RhdHVzIGFuZCBvdXRwdXQ6JXMgYW5kICVzJyAlIChzdGF0dXMsIG91dHB1dCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgbXNnID0gbXNnKQorCisgICAgQE9FVGVzdERlcGVuZHMoWyd0cmlwd2lyZS5Ucmlwd2lyZVRlc3QudGVzdF90cmlwd2lyZV90d2FkbWluJ10pCisgICAgZGVmIHRlc3RfdHJpcHdpcmVfaW5pdChzZWxmKToKKyAgICAgICAgc3RhdHVzLCBob3N0bmFtZSA9IHNlbGYudGFyZ2V0LnJ1bignaG9zdG5hbWUnKQorICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bigndHJpcHdpcmUgLS1pbml0IC0tY2ZnZmlsZSAvZXRjL3RyaXB3aXJlL3R3Y2ZnLmVuYyAtLXBvbGZpbGUgL2V0Yy90cmlwd2lyZS90dy5wb2wgLS1zaXRlLWtleWZpbGUgL2V0Yy90cmlwd2lyZS9zaXRlLmtleSAtLWxvY2FsLWtleWZpbGUgL2V0Yy90cmlwd2lyZS8lcy1sb2NhbC5rZXkgLVAgdHJpcHdpcmUnICUgaG9zdG5hbWUpCisgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdUaGUgZGF0YWJhc2Ugd2FzIHN1Y2Nlc3NmdWxseSBnZW5lcmF0ZWQuJywgb3V0cHV0KQorICAgICAgICBpZiBub3QgbWF0Y2g6CisgICAgICAgICAgICBtc2cgPSAoJ3RyaXB3aXJlIC0taW5pdDsgRmFpbGVkIGZvciBob3N0OiAlcy4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoaG9zdG5hbWUsIHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCBtc2cgPSBtc2cpCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLWF1ZGl0b3JzL2x5bmlzL2x5bmlzXzIuNi44LmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1hdWRpdG9ycy9seW5pcy9seW5pc18yLjYuOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjhhNDQ2OS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLWF1ZGl0b3JzL2x5bmlzL2x5bmlzXzIuNi44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXJtaW4gS3VzdGVyICA8YWt1c3RlcjgwOEBnbWFpbC5jb20+Ci0jIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUIGZvciB0aGUgdGVybXMpCi0KLVNVTU1BUlkgPSAiTHluaXMgaXMgYSBmcmVlIGFuZCBvcGVuIHNvdXJjZSBzZWN1cml0eSBhbmQgYXVkaXRpbmcgdG9vbC4iCi1IT01FRElSID0gImh0dHBzOi8vY2lzb2Z5LmNvbS8iCi1MSUNFTlNFID0gIkdQTC0zLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zZWRkNjc4Mjg1NDMwNGZkMTFkYTQ5NzVhYjk3OTljMSIKLQotU1JDX1VSSSA9ICJodHRwczovL2Npc29meS5jb20vZmlsZXMvJHtCUE59LSR7UFZ9LnRhci5neiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjkxYTUzODA1NWJmYjY4MjczM2VmOGU0ZmU3ZWIwOTAyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJlNGM1MTU3YTRmMmQ5YmIzN2QzZjBmMWY1YmVhMDNmOTIyMzNhMmE3ZDRkZjZlZGRmMjMxYTc4NDA4N2RmYWMiCi0KLVMgPSAiJHtXT1JLRElSfS8ke0JQTn0iCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAotCi1kb19jb21waWxlW25vZXhlY10gPSAiMSIKLWRvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCi0KLWRvX2luc3RhbGwgKCkgewotCWluc3RhbGwgLWQgJHtEfS8ke2JpbmRpcn0KLQlpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9seW5pcwotCWluc3RhbGwgLW0gNTU1ICR7U30vbHluaXMgJHtEfS8ke2JpbmRpcn0KLQotCWluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L2x5bmlzL2RiCi0JaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vbHluaXMvcGx1Z2lucwotCWluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L2x5bmlzL2luY2x1ZGUKLQlpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfS9seW5pcy9leHRyYXMKLQotCWNwIC1yICR7U30vZGIvKiAke0R9LyR7ZGF0YWRpcn0vbHluaXMvZGIvLgotCWNwIC1yICR7U30vcGx1Z2lucy8qICAke0R9LyR7ZGF0YWRpcn0vbHluaXMvcGx1Z2lucy8uCi0JY3AgLXIgJHtTfS9pbmNsdWRlLyogJHtEfS8ke2RhdGFkaXJ9L2x5bmlzL2luY2x1ZGUvLgotCWNwIC1yICR7U30vZXh0cmFzLyogICR7RH0vJHtkYXRhZGlyfS9seW5pcy9leHRyYXMvLgotICAgICAgICBjcCAke1N9LyoucHJmICR7RH0vJHtzeXNjb25mZGlyfS9seW5pcwotfQotCi1GSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9kZXZlbG9wZXIucHJmICR7c3lzY29uZmRpcn0vZGVmYXVsdC5wcmYiCi1GSUxFU18ke1BOfS1kb2MgKz0gImx5bmlzLjggRkFRIFJFQURNRSBDSEFOR0VMT0cubWQgQ09OVFJJQlVUSU9OUy5tZCBDT05UUklCVVRPUlMubWQiIAotCi1SREVQRU5EU18ke1BOfSArPSAicHJvY3BzIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1hdWRpdG9ycy9seW5pcy9seW5pc18yLjcuMi5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtYXVkaXRvcnMvbHluaXMvbHluaXNfMi43LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2JhODJmOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtYXVkaXRvcnMvbHluaXMvbHluaXNfMi43LjIuYmIKQEAgLTAsMCArMSw0MSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXJtaW4gS3VzdGVyICA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUIGZvciB0aGUgdGVybXMpCisKK1NVTU1BUlkgPSAiTHluaXMgaXMgYSBmcmVlIGFuZCBvcGVuIHNvdXJjZSBzZWN1cml0eSBhbmQgYXVkaXRpbmcgdG9vbC4iCitIT01FRElSID0gImh0dHBzOi8vY2lzb2Z5LmNvbS8iCitMSUNFTlNFID0gIkdQTC0zLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zZWRkNjc4Mjg1NDMwNGZkMTFkYTQ5NzVhYjk3OTljMSIKKworU1JDX1VSSSA9ICJodHRwczovL2Npc29meS5jb20vZmlsZXMvJHtCUE59LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjM0MjJjZWUzYjEyZmMzMzMzOGZjZGUwMDNkNjVlMjM0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZkZTZjY2Y4ZDZlYzBhZTFlOWM5ZjRhNmQ2NDBjZGRjZGU0YmY3YTkyZjg0MzdkNDdkMTZhNTQ3N2UyMWJmZGEiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitkb19jb21waWxlW25vZXhlY10gPSAiMSIKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCisKK2RvX2luc3RhbGwgKCkgeworCWluc3RhbGwgLWQgJHtEfS8ke2JpbmRpcn0KKwlpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9seW5pcworCWluc3RhbGwgLW0gNTU1ICR7U30vbHluaXMgJHtEfS8ke2JpbmRpcn0KKworCWluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L2x5bmlzL2RiCisJaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vbHluaXMvcGx1Z2lucworCWluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L2x5bmlzL2luY2x1ZGUKKwlpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfS9seW5pcy9leHRyYXMKKworCWNwIC1yICR7U30vZGIvKiAke0R9LyR7ZGF0YWRpcn0vbHluaXMvZGIvLgorCWNwIC1yICR7U30vcGx1Z2lucy8qICAke0R9LyR7ZGF0YWRpcn0vbHluaXMvcGx1Z2lucy8uCisJY3AgLXIgJHtTfS9pbmNsdWRlLyogJHtEfS8ke2RhdGFkaXJ9L2x5bmlzL2luY2x1ZGUvLgorCWNwIC1yICR7U30vZXh0cmFzLyogICR7RH0vJHtkYXRhZGlyfS9seW5pcy9leHRyYXMvLgorICAgICAgICBjcCAke1N9LyoucHJmICR7RH0vJHtzeXNjb25mZGlyfS9seW5pcworfQorCitGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9kZXZlbG9wZXIucHJmICR7c3lzY29uZmRpcn0vZGVmYXVsdC5wcmYiCitGSUxFU18ke1BOfS1kb2MgKz0gImx5bmlzLjggRkFRIFJFQURNRSBDSEFOR0VMT0cubWQgQ09OVFJJQlVUSU9OUy5tZCBDT05UUklCVVRPUlMubWQiIAorCitSREVQRU5EU18ke1BOfSArPSAicHJvY3BzIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9vZS1zY2FwL29lLXNjYXBfMS4wLmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9vZS1zY2FwL29lLXNjYXBfMS4wLmJiCmluZGV4IDViNjEzNzUuLmU4NGVkMzAgMTAwNjQ0Ci0tLSBhL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtb3BlbnNjYXAvb2Utc2NhcC9vZS1zY2FwXzEuMC5iYgorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLW9wZW5zY2FwL29lLXNjYXAvb2Utc2NhcF8xLjAuYmIKQEAgLTgsMTIgKzgsMTEgQEAKIFNSQ1JFViA9ICI3MTQ3ODcxZDdmMzdkNDA4YzBkZDc3MjBlZjBmZDNlYzFiNTRhZDk4IgogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2FrdXN0ZXIvb2Utc2NhcC5naXQiCiBTUkNfVVJJICs9ICIgXAotCWZpbGU6Ly9ydW5fY3ZlLnNoIFwKLQlmaWxlOi8vcnVuX3Rlc3Quc2ggXAotCWZpbGU6Ly9PcGVuRW1iZWRkZWRfbm9kaXN0cm9fMC54bWwgXAotICAgICAgICBmaWxlOi8vT3BlbkVtYmVkZGVkX25vZGlzdHJvXzAueGNjZGYueG1sIFwKLSIKLQkKKyAgICAgICAgICAgIGZpbGU6Ly9ydW5fY3ZlLnNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9ydW5fdGVzdC5zaCBcCisgICAgICAgICAgICBmaWxlOi8vT3BlbkVtYmVkZGVkX25vZGlzdHJvXzAueG1sIFwKKyAgICAgICAgICAgIGZpbGU6Ly9PcGVuRW1iZWRkZWRfbm9kaXN0cm9fMC54Y2NkZi54bWwgXAorICAgICAgICAgICAiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtb3BlbnNjYXAvb3BlbnNjYXAtZGFlbW9uL2ZpbGVzLzAwMDEtUmVuYW1lZC1tb2R1bGUtYW5kLXZhcmlhYmxlcy10by1nZXQtcmlkLW9mLWFzeW5jLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9vcGVuc2NhcC1kYWVtb24vZmlsZXMvMDAwMS1SZW5hbWVkLW1vZHVsZS1hbmQtdmFyaWFibGVzLXRvLWdldC1yaWQtb2YtYXN5bmMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE1MThiZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtb3BlbnNjYXAvb3BlbnNjYXAtZGFlbW9uL2ZpbGVzLzAwMDEtUmVuYW1lZC1tb2R1bGUtYW5kLXZhcmlhYmxlcy10by1nZXQtcmlkLW9mLWFzeW5jLnBhdGNoCkBAIC0wLDAgKzEsMTMwIEBACitGcm9tIGMzNDM0OTcyMGE1Nzk5N2QzMDk0NjI4Njc1NmUyYmE5ZGJhYjZhY2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/TWF0PUM0PTlCaj0yMFQ9QzM9QkQ9QzQ9OEQ/PSA8bWF0eWNAcmVkaGF0LmNvbT4KK0RhdGU6IE1vbiwgMiBKdWwgMjAxOCAxMToyMToxOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBSZW5hbWVkIG1vZHVsZSBhbmQgdmFyaWFibGVzIHRvIGdldCByaWQgb2YgYXN5bmMuCisKK2FzeW5jIGlzIGEgcmVzZXJ2ZWQgd29yZCBpbiBQeXRob24gMy43LgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitbaHR0cHM6Ly9naXRodWIuY29tL09wZW5TQ0FQL29wZW5zY2FwLWRhZW1vbi9jb21taXQvYzM0MzQ5NzIwYTU3OTk3ZDMwOTQ2Mjg2NzU2ZTJiYTlkYmFiNmFjZV0KKworU2lnbmVkLW9mZi1ieTogWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPgorLS0tCisgb3BlbnNjYXBfZGFlbW9uL3thc3luYy5weSA9PiBhc3luY190b29scy5weX0gfCAgMAorIG9wZW5zY2FwX2RhZW1vbi9kYnVzX2RhZW1vbi5weSAgICAgICAgICAgICAgIHwgIDIgKy0KKyBvcGVuc2NhcF9kYWVtb24vc3lzdGVtLnB5ICAgICAgICAgICAgICAgICAgICB8IDE2ICsrKysrKysrLS0tLS0tLS0KKyB0ZXN0cy91bml0L3Rlc3RfYmFzaWNfdXBkYXRlLnB5ICAgICAgICAgICAgICB8ICAzICsrLQorIDQgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisgcmVuYW1lIG9wZW5zY2FwX2RhZW1vbi97YXN5bmMucHkgPT4gYXN5bmNfdG9vbHMucHl9ICgxMDAlKQorCitkaWZmIC0tZ2l0IGEvb3BlbnNjYXBfZGFlbW9uL2FzeW5jLnB5IGIvb3BlbnNjYXBfZGFlbW9uL2FzeW5jX3Rvb2xzLnB5CitzaW1pbGFyaXR5IGluZGV4IDEwMCUKK3JlbmFtZSBmcm9tIG9wZW5zY2FwX2RhZW1vbi9hc3luYy5weQorcmVuYW1lIHRvIG9wZW5zY2FwX2RhZW1vbi9hc3luY190b29scy5weQorZGlmZiAtLWdpdCBhL29wZW5zY2FwX2RhZW1vbi9kYnVzX2RhZW1vbi5weSBiL29wZW5zY2FwX2RhZW1vbi9kYnVzX2RhZW1vbi5weQoraW5kZXggZTZlYWRmOS4uY2I2YThiNiAxMDA2NDQKKy0tLSBhL29wZW5zY2FwX2RhZW1vbi9kYnVzX2RhZW1vbi5weQorKysrIGIvb3BlbnNjYXBfZGFlbW9uL2RidXNfZGFlbW9uLnB5CitAQCAtODEsNyArODEsNyBAQCBjbGFzcyBPcGVuU0NBUERhZW1vbkRidXMoZGJ1cy5zZXJ2aWNlLk9iamVjdCk6CisgICAgIEBkYnVzLnNlcnZpY2UubWV0aG9kKGRidXNfaW50ZXJmYWNlPWRidXNfdXRpbHMuREJVU19JTlRFUkZBQ0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGluX3NpZ25hdHVyZT0iIiwgb3V0X3NpZ25hdHVyZT0iYSh4c2kpIikKKyAgICAgZGVmIEdldEFzeW5jQWN0aW9uc1N0YXR1cyhzZWxmKToKKy0gICAgICAgIHJldHVybiBzZWxmLnN5c3RlbS5hc3luYy5nZXRfc3RhdHVzKCkKKysgICAgICAgIHJldHVybiBzZWxmLnN5c3RlbS5hc3luY19tYW5hZ2VyLmdldF9zdGF0dXMoKQorIAorICAgICBAZGJ1cy5zZXJ2aWNlLm1ldGhvZChkYnVzX2ludGVyZmFjZT1kYnVzX3V0aWxzLkRCVVNfSU5URVJGQUNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbl9zaWduYXR1cmU9InMiLCBvdXRfc2lnbmF0dXJlPSIoc3NzbikiKQorZGlmZiAtLWdpdCBhL29wZW5zY2FwX2RhZW1vbi9zeXN0ZW0ucHkgYi9vcGVuc2NhcF9kYWVtb24vc3lzdGVtLnB5CitpbmRleCAyMDEyZjZlLi44NWMyNjgwIDEwMDY0NAorLS0tIGEvb3BlbnNjYXBfZGFlbW9uL3N5c3RlbS5weQorKysrIGIvb3BlbnNjYXBfZGFlbW9uL3N5c3RlbS5weQorQEAgLTI2LDcgKzI2LDcgQEAgaW1wb3J0IGxvZ2dpbmcKKyBmcm9tIG9wZW5zY2FwX2RhZW1vbi50YXNrIGltcG9ydCBUYXNrCisgZnJvbSBvcGVuc2NhcF9kYWVtb24uY29uZmlnIGltcG9ydCBDb25maWd1cmF0aW9uCisgZnJvbSBvcGVuc2NhcF9kYWVtb24gaW1wb3J0IG9zY2FwX2hlbHBlcnMKKy1mcm9tIG9wZW5zY2FwX2RhZW1vbiBpbXBvcnQgYXN5bmMKKytmcm9tIG9wZW5zY2FwX2RhZW1vbiBpbXBvcnQgYXN5bmNfdG9vbHMKKyAKKyAKKyBjbGFzcyBSZXN1bHRzTm90QXZhaWxhYmxlKEV4Y2VwdGlvbik6CitAQCAtNDAsNyArNDAsNyBAQCBUQVNLX0FDVElPTl9QUklPUklUWSA9IDEwCisgCisgY2xhc3MgU3lzdGVtKG9iamVjdCk6CisgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25maWdfZmlsZSk6CistICAgICAgICBzZWxmLmFzeW5jID0gYXN5bmMuQXN5bmNNYW5hZ2VyKCkKKysgICAgICAgIHNlbGYuYXN5bmNfbWFuYWdlciA9IGFzeW5jX3Rvb2xzLkFzeW5jTWFuYWdlcigpCisgCisgICAgICAgICBsb2dnaW5nLmluZm8oIkxvYWRpbmcgY29uZmlndXJhdGlvbiBmcm9tICclcycuIiwgY29uZmlnX2ZpbGUpCisgICAgICAgICBzZWxmLmNvbmZpZyA9IENvbmZpZ3VyYXRpb24oKQorQEAgLTkwLDcgKzkwLDcgQEAgY2xhc3MgU3lzdGVtKG9iamVjdCk6CisgICAgICAgICAgICAgaW5wdXRfZmlsZSwgdGFpbG9yaW5nX2ZpbGUsIE5vbmUKKyAgICAgICAgICkKKyAKKy0gICAgY2xhc3MgQXN5bmNFdmFsdWF0ZVNwZWNBY3Rpb24oYXN5bmMuQXN5bmNBY3Rpb24pOgorKyAgICBjbGFzcyBBc3luY0V2YWx1YXRlU3BlY0FjdGlvbihhc3luY190b29scy5Bc3luY0FjdGlvbik6CisgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgc3lzdGVtLCBzcGVjKToKKyAgICAgICAgICAgICBzdXBlcihTeXN0ZW0uQXN5bmNFdmFsdWF0ZVNwZWNBY3Rpb24sIHNlbGYpLl9faW5pdF9fKCkKKyAKK0BAIC0xMTMsNyArMTEzLDcgQEAgY2xhc3MgU3lzdGVtKG9iamVjdCk6CisgICAgICAgICAgICAgcmV0dXJuICJFdmFsdWF0ZSBTcGVjICclcyciICUgKHNlbGYuc3BlYykKKyAKKyAgICAgZGVmIGV2YWx1YXRlX3NwZWNfYXN5bmMoc2VsZiwgc3BlYyk6CistICAgICAgICByZXR1cm4gc2VsZi5hc3luYy5lbnF1ZXVlKAorKyAgICAgICAgcmV0dXJuIHNlbGYuYXN5bmNfbWFuYWdlci5lbnF1ZXVlKAorICAgICAgICAgICAgIFN5c3RlbS5Bc3luY0V2YWx1YXRlU3BlY0FjdGlvbigKKyAgICAgICAgICAgICAgICAgc2VsZiwKKyAgICAgICAgICAgICAgICAgc3BlYworQEAgLTQ4OCw3ICs0ODgsNyBAQCBjbGFzcyBTeXN0ZW0ob2JqZWN0KToKKyAKKyAgICAgICAgIHJldHVybiByZXQKKyAKKy0gICAgY2xhc3MgQXN5bmNVcGRhdGVUYXNrQWN0aW9uKGFzeW5jLkFzeW5jQWN0aW9uKToKKysgICAgY2xhc3MgQXN5bmNVcGRhdGVUYXNrQWN0aW9uKGFzeW5jX3Rvb2xzLkFzeW5jQWN0aW9uKToKKyAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzeXN0ZW0sIHRhc2tfaWQsIHJlZmVyZW5jZV9kYXRldGltZSk6CisgICAgICAgICAgICAgc3VwZXIoU3lzdGVtLkFzeW5jVXBkYXRlVGFza0FjdGlvbiwgc2VsZikuX19pbml0X18oKQorIAorQEAgLTUzNiw3ICs1MzYsNyBAQCBjbGFzcyBTeXN0ZW0ob2JqZWN0KToKKyAKKyAgICAgICAgICAgICAgICAgaWYgdGFzay5zaG91bGRfYmVfdXBkYXRlZChyZWZlcmVuY2VfZGF0ZXRpbWUpOgorICAgICAgICAgICAgICAgICAgICAgc2VsZi50YXNrc19zY2hlZHVsZWQuYWRkKHRhc2suaWRfKQorLSAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3luYy5lbnF1ZXVlKAorKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3luY19tYW5hZ2VyLmVucXVldWUoCisgICAgICAgICAgICAgICAgICAgICAgICAgU3lzdGVtLkFzeW5jVXBkYXRlVGFza0FjdGlvbigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFzay5pZF8sCitAQCAtNjYyLDcgKzY2Miw3IEBAIGNsYXNzIFN5c3RlbShvYmplY3QpOgorICAgICAgICAgICAgIGZpeF90eXBlCisgICAgICAgICApCisgCistICAgIGNsYXNzIEFzeW5jRXZhbHVhdGVDVkVTY2FubmVyV29ya2VyQWN0aW9uKGFzeW5jLkFzeW5jQWN0aW9uKToKKysgICAgY2xhc3MgQXN5bmNFdmFsdWF0ZUNWRVNjYW5uZXJXb3JrZXJBY3Rpb24oYXN5bmNfdG9vbHMuQXN5bmNBY3Rpb24pOgorICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN5c3RlbSwgd29ya2VyKToKKyAgICAgICAgICAgICBzdXBlcihTeXN0ZW0uQXN5bmNFdmFsdWF0ZUNWRVNjYW5uZXJXb3JrZXJBY3Rpb24sIHNlbGYpLl9faW5pdF9fKCkKKyAKK0BAIC02ODAsNyArNjgwLDcgQEAgY2xhc3MgU3lzdGVtKG9iamVjdCk6CisgICAgICAgICAgICAgcmV0dXJuICJFdmFsdWF0ZSBDVkUgU2Nhbm5lciBXb3JrZXIgJyVzJyIgJSAoc2VsZi53b3JrZXIpCisgCisgICAgIGRlZiBldmFsdWF0ZV9jdmVfc2Nhbm5lcl93b3JrZXJfYXN5bmMoc2VsZiwgd29ya2VyKToKKy0gICAgICAgIHJldHVybiBzZWxmLmFzeW5jLmVucXVldWUoCisrICAgICAgICByZXR1cm4gc2VsZi5hc3luY19tYW5hZ2VyLmVucXVldWUoCisgICAgICAgICAgICAgU3lzdGVtLkFzeW5jRXZhbHVhdGVDVkVTY2FubmVyV29ya2VyQWN0aW9uKAorICAgICAgICAgICAgICAgICBzZWxmLAorICAgICAgICAgICAgICAgICB3b3JrZXIKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfYmFzaWNfdXBkYXRlLnB5IGIvdGVzdHMvdW5pdC90ZXN0X2Jhc2ljX3VwZGF0ZS5weQoraW5kZXggNmY2ODNlNi4uN2Y5NTNmNyAxMDA3NTUKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdF9iYXNpY191cGRhdGUucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9iYXNpY191cGRhdGUucHkKK0BAIC0zNyw4ICszNyw5IEBAIGNsYXNzIEJhc2ljVXBkYXRlVGVzdCh1bml0X3Rlc3RfaGFybmVzcy5BUElUZXN0KToKKyAgICAgICAgIHByaW50KHNlbGYuc3lzdGVtLnRhc2tzKQorICAgICAgICAgc2VsZi5zeXN0ZW0uc2NoZWR1bGVfdGFza3MoKQorIAorLSAgICAgICAgd2hpbGUgbGVuKHNlbGYuc3lzdGVtLmFzeW5jLmFjdGlvbnMpID4gMDoKKysgICAgICAgIHdoaWxlIGxlbihzZWxmLnN5c3RlbS5hc3luY19tYW5hZ2VyLmFjdGlvbnMpID4gMDoKKyAgICAgICAgICAgICB0aW1lLnNsZWVwKDEpCisgCisrCisgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICAgQmFzaWNVcGRhdGVUZXN0LnJ1bigpCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtb3BlbnNjYXAvb3BlbnNjYXAtZGFlbW9uL29wZW5zY2FwLWRhZW1vbl8wLjEuMTAuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLW9wZW5zY2FwL29wZW5zY2FwLWRhZW1vbi9vcGVuc2NhcC1kYWVtb25fMC4xLjEwLmJiCmluZGV4IGE2YTkzNzMuLmNhNmUwMzAgMTAwNjQ0Ci0tLSBhL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtb3BlbnNjYXAvb3BlbnNjYXAtZGFlbW9uL29wZW5zY2FwLWRhZW1vbl8wLjEuMTAuYmIKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9vcGVuc2NhcC1kYWVtb24vb3BlbnNjYXAtZGFlbW9uXzAuMS4xMC5iYgpAQCAtOSw3ICs5LDkgQEAKIERFUEVORFMgPSAicHl0aG9uMy1kYnVzIgogCiBTUkNSRVYgPSAiZjI1YjE2YWZiNmFjNzYxZmVhMTMxMzJmZjQwNmZiYTRjZGZkMmI3NiIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9PcGVuU0NBUC9vcGVuc2NhcC1kYWVtb24uZ2l0IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL09wZW5TQ0FQL29wZW5zY2FwLWRhZW1vbi5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1SZW5hbWVkLW1vZHVsZS1hbmQtdmFyaWFibGVzLXRvLWdldC1yaWQtb2YtYXN5bmMucGF0Y2ggXAorICAgICAgICAgICIKIAogaW5oZXJpdCBzZXR1cHRvb2xzMwogCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLW9wZW5zY2FwL3NjYXAtc2VjdXJpdHktZ3VpZGUvc2NhcC1zZWN1cml0eS1ndWlkZV8wLjEuMzMuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLW9wZW5zY2FwL3NjYXAtc2VjdXJpdHktZ3VpZGUvc2NhcC1zZWN1cml0eS1ndWlkZV8wLjEuMzMuYmIKaW5kZXggN2ZhNDE3ZC4uMjdkM2Q4NiAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9zY2FwLXNlY3VyaXR5LWd1aWRlL3NjYXAtc2VjdXJpdHktZ3VpZGVfMC4xLjMzLmJiCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtb3BlbnNjYXAvc2NhcC1zZWN1cml0eS1ndWlkZS9zY2FwLXNlY3VyaXR5LWd1aWRlXzAuMS4zMy5iYgpAQCAtMTksNiArMTksOCBAQAogCiBTVEFHSU5HX09TQ0FQX0JVSUxERElSID0gIiR7VE1QRElSfS93b3JrLXNoYXJlZC9vcGVuc2NhcC9vc2NhcC1idWlsZC1hcnRpZmFjdHMiCiAKK09FQ01BS0VfR0VORVJBVE9SID0gIlVuaXggTWFrZWZpbGVzIgorCiBFWFRSQV9PRUNNQUtFICs9ICItRFNTR19QUk9EVUNUX0NIUk9NSVVNOkJPT0w9T0ZGIgogRVhUUkFfT0VDTUFLRSArPSAiLURTU0dfUFJPRFVDVF9ERUJJQU44OkJPT0w9T0ZGIgogRVhUUkFfT0VDTUFLRSArPSAiLURTU0dfUFJPRFVDVF9GRURPUkE6Qk9PTD1PRkYiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NGMxYTE4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYwpAQCAtMCwwICsxLDM5IEBACisjIG1ldGEtdHBtIE1haW50YWluZXJzIEZpbGUKKyMKKyMgVGhpcyBmaWxlIGNvbnRhaW5zIGEgbGlzdCBvZiByZWNpcGUgbWFpbnRhaW5lcnMuCisjCisjIFBsZWFzZSBzdWJtaXQgYW55IHBhdGNoZXMgYWdhaW5zdCByZWNpcGVzIGluIG1ldGEgdG8gdGhlIAorIyBZb2N0byBtYWlsIGxpc3QgKHlvY3RvQHlvY3RvcHJvamVjdC5vcmcpCisjCisjIElmIHlvdSBoYXZlIHByb2JsZW1zIHdpdGggb3IgcXVlc3Rpb25zIGFib3V0IGEgcGFydGljdWxhciByZWNpcGUsIGZlZWwKKyMgZnJlZSB0byBjb250YWN0IHRoZSBtYWludGFpbmVyIGRpcmVjdGx5IChjYzppbmcgdGhlIGFwcHJvcHJpYXRlIG1haWxpbmcgbGlzdAorIyBwdXRzIGl0IGluIHRoZSBhcmNoaXZlIGFuZCBoZWxwcyBvdGhlciBwZW9wbGUgd2hvIG1pZ2h0IGhhdmUgdGhlIHNhbWUKKyMgcXVlc3Rpb25zIGluIHRoZSBmdXR1cmUpLCBidXQgcGxlYXNlIHRyeSB0byBkbyB0aGUgZm9sbG93aW5nIGZpcnN0OgorIworIyAgLSBsb29rIGluIHRoZSBZb2N0byBQcm9qZWN0IEJ1Z3ppbGxhCisjICAgIChodHRwOi8vYnVnemlsbGEueW9jdG9wcm9qZWN0Lm9yZy8pIHRvIHNlZSBpZiBhIHByb2JsZW0gaGFzCisjICAgIGFscmVhZHkgYmVlbiByZXBvcnRlZAorIworIyBUaGUgZm9ybWF0IGlzIGFzIGEgYml0YmFrZSB2YXJpYWJsZSBvdmVycmlkZSBmb3IgZWFjaCByZWNpcGUKKyMKKyMJUkVDSVBFX01BSU5UQUlORVJfcG4tPHJlY2lwZSBuYW1lPiA9ICJGdWxsIE5hbWUgPGFkZHJlc3NAZG9tYWluPiIKKyMKKyMgUGxlYXNlIGtlZXAgdGhpcyBsaXN0IGluIGFscGhhYmV0aWNhbCBvcmRlci4KK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWFpcmNyYWNrLW5nID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tcGNyLWV4dGVuZCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXRwbS1xdW90ZS10b29scyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnRwbSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXRyb3VzZXJzID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tc3d0cG0gPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1vcGVuc3NsLXRwbS1lbmdpbmUgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi10cG0tdG9vbHMgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi10cG0yLWFicm1kID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdHBtMi10b3RwID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdHBtMi10Y3RpLXVlZmkgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi10cG0yLXRzcy1lbmdpbmUgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi10cG0yLXBrY3MxMSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXRwbTItdHNzID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY3J5cHRzZXR1cC10cG0taW5jdWJhdG9yID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdHBtMi10b29scyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWlibXN3dHBtMiA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3RwbTIucHkgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvdHBtMi5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDBhOWIzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3RwbTIucHkKQEAgLTAsMCArMSw0MyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTkgQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKyMKK2Zyb20gb2VxYS5ydW50aW1lLmNhc2UgaW1wb3J0IE9FUnVudGltZVRlc3RDYXNlCitmcm9tIG9lcWEuY29yZS5kZWNvcmF0b3IuZGVwZW5kcyBpbXBvcnQgT0VUZXN0RGVwZW5kcworZnJvbSBvZXFhLnJ1bnRpbWUuZGVjb3JhdG9yLnBhY2thZ2UgaW1wb3J0IE9FSGFzUGFja2FnZQorCisKK2NsYXNzIFRwbTJUZXN0KE9FUnVudGltZVRlc3RDYXNlKToKKyAgICBkZWYgY2hlY2tfZW5kbGluZXMoc2VsZiwgcmVzdWx0cywgIGV4cGVjdGVkX2VuZGxpbmVzKTogCisgICAgICAgIGZvciBsaW5lIGluIHJlc3VsdHMuc3BsaXRsaW5lcygpOgorICAgICAgICAgICAgZm9yIGVsIGluIGV4cGVjdGVkX2VuZGxpbmVzOgorICAgICAgICAgICAgICAgIGlmIGxpbmUgPT0gZWw6CisgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2VuZGxpbmVzLnJlbW92ZShlbCkKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKworICAgICAgICBpZiBleHBlY3RlZF9lbmRsaW5lczoKKyAgICAgICAgICAgIHNlbGYuZmFpbCgnTWlzc2luZyBleHBlY3RlZCBsaW5lIGVuZGluZ3M6XG4gICVzJyAlICdcbiAgJy5qb2luKGV4cGVjdGVkX2VuZGxpbmVzKSkKKworICAgIEBPRUhhc1BhY2thZ2UoWyd0cG0yLjAtdHNzJ10pCisgICAgQE9FSGFzUGFja2FnZShbJ3RwbTItYWJybWQnXSkKKyAgICBAT0VIYXNQYWNrYWdlKFsndHBtMi4wLXRvb2xzJ10pCisgICAgQE9FSGFzUGFja2FnZShbJ2libXN3dHBtMiddKQorICAgIEBPRVRlc3REZXBlbmRzKFsnc3NoLlNTSFRlc3QudGVzdF9zc2gnXSkKKyAgICBkZWYgdGVzdF90cG0yX3NpbShzZWxmKToKKyAgICAgICAgY21kcyA9IFsKKyAgICAgICAgICAgICAgICAndHBtX3NlcnZlciAmJywKKyAgICAgICAgICAgICAgICAndHBtMi1hYnJtZCAtLWFsbG93LXJvb3QgLS10Y3RpPW1zc2ltICYnCisgICAgICAgICAgICAgICBdCisKKyAgICAgICAgZm9yIGNtZCBpbiBjbWRzOgorICAgICAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oY21kKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsIG1zZz0nXG4nLmpvaW4oW2NtZCwgb3V0cHV0XSkpCisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3RwbTIuVHBtMlRlc3QudGVzdF90cG0yX3NpbSddKQorICAgIGRlZiB0ZXN0X3RwbTIoc2VsZik6CisgICAgICAgICAoc3RhdHVzLCBvdXRwdXQpID0gc2VsZi50YXJnZXQucnVuKCd0cG0yX3Bjcmxpc3QnKQorICAgICAgICAgZXhwZWN0ZWRfZW5kbGluZXMgPSBbXQorICAgICAgICAgZXhwZWN0ZWRfZW5kbGluZXMuYXBwZW5kKCdzaGExIDonKQorICAgICAgICAgZXhwZWN0ZWRfZW5kbGluZXMuYXBwZW5kKCcgIDAgIDogMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMycpCisgICAgICAgICBleHBlY3RlZF9lbmRsaW5lcy5hcHBlbmQoJyAgMSAgOiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJykKKworICAgICAgICAgc2VsZi5jaGVja19lbmRsaW5lcyhvdXRwdXQsIGV4cGVjdGVkX2VuZGxpbmVzKQorCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXAvcGFja2FnZWdyb3VwLXNlY3VyaXR5LXRwbTIuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXAvcGFja2FnZWdyb3VwLXNlY3VyaXR5LXRwbTIuYmIKaW5kZXggYzRjOGZiMi4uNWRlZDNhMiAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3VwL3BhY2thZ2Vncm91cC1zZWN1cml0eS10cG0yLmJiCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cC9wYWNrYWdlZ3JvdXAtc2VjdXJpdHktdHBtMi5iYgpAQCAtOSwxMCArOSwxNSBAQAogCiBTVU1NQVJZX3BhY2thZ2Vncm91cC1zZWN1cml0eS10cG0yID0gIlNlY3VyaXR5IFRQTSAyLjAgc3VwcG9ydCIKIFJERVBFTkRTX3BhY2thZ2Vncm91cC1zZWN1cml0eS10cG0yID0gIiBcCi0gICAgdHBtMi4wLXRvb2xzIFwKKyAgICB0cG0yLXRvb2xzIFwKICAgICB0cm91c2VycyBcCiAgICAgbGlidHNzMiBcCiAgICAgbGlidHNzMi10Y3RpLWRldmljZSBcCiAgICAgbGlidHNzMi10Y3RpLW1zc2ltIFwKICAgICB0cG0yLWFicm1kIFwKKyAgICB0cG0yLXBrY3MxMSBcCisgICAgY3J5cHRzZXR1cC10cG0taW5jdWJhdG9yIFwKICAgICAiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1zZWN1cml0eS10cG0yX2FwcGVuZF94ODYgPSAiIHRwbTItdGN0aS11ZWZpIgorUkRFUEVORFNfcGFja2FnZWdyb3VwLXNlY3VyaXR5LXRwbTJfYXBwZW5kX3g4Ni02NCA9ICIgdHBtMi10Y3RpLXVlZmkiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL2xpYnRwbS9saWJ0cG1fMC42LjAuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL2xpYnRwbS9saWJ0cG1fMC42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg4Mjk2MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vbGlidHBtL2xpYnRwbV8wLjYuMC5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIkxJQlBNIC0gU29mdHdhcmUgVFBNIExpYnJhcnkiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWU3M2YwNzg2YTkzNmRhMzgxNDg5NmRmMDZhZDIyNWE5IgorCitTUkNSRVYgPSAiOWRjOTE1NTcyYjUxZGIwNzE0NjQwYmExZGRmOGNjYTljMGYyNGYwNSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zdGVmYW5iZXJnZXIvbGlidHBtcy5naXQ7YnJhbmNoPXN0YWJsZS0ke1BWfSIKKworUEUgPSAiMSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/PSAib3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLW9wZW5zc2wsIC0td2l0aG91dC1vcGVuc3NsLCBvcGVuc3NsIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vbGlidHBtL2xpYnRwbV8xLjAuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL2xpYnRwbS9saWJ0cG1fMS4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOTMwZDdiLi4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vbGlidHBtL2xpYnRwbV8xLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1TVU1NQVJZID0gIkxJQlBNIC0gU29mdHdhcmUgVFBNIExpYnJhcnkiCi1MSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWU3M2YwNzg2YTkzNmRhMzgxNDg5NmRmMDZhZDIyNWE5IgotCi1TUkNSRVYgPSAiNDExMWJkMWJjZjcyMWU2ZTdiNWYxMWVkOWMyYjkzMDgzNjc3YWEyNSIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zdGVmYW5iZXJnZXIvbGlidHBtcy5naXQiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCi0KLVBBQ0tBR0VDT05GSUcgPz0gIm9wZW5zc2wiCi1QQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1vcGVuc3NsLCAtLXdpdGhvdXQtb3BlbnNzbCwgb3BlbnNzbCIKLQotUFYgPSAiMS4wK2dpdCR7U1JDUFZ9IgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vc3d0cG0vc3d0cG1fMC4xLjAuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3N3dHBtL3N3dHBtXzAuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyZGU4YjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3N3dHBtL3N3dHBtXzAuMS4wLmJiCkBAIC0wLDAgKzEsNTEgQEAKK1NVTU1BUlkgPSAiU1dUUE0gLSBTb2Z0d2FyZSBUUE0gRW11bGF0b3IiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWZlODA5MmM4MzJiNzFlZjIwZGZlNGM2ZDNkZWNiM2E4IgorU0VDVElPTiA9ICJhcHBzIgorCitERVBFTkRTID0gImxpYnRhc24xIGV4cGVjdCBzb2NhdCBnbGliLTIuMCBuZXQtdG9vbHMtbmF0aXZlIGxpYnRwbSBsaWJ0cG0tbmF0aXZlIgorCisjIGNvbmZpZ3VyZSBjaGVja3MgZm9yIHRoZSB0b29scyBhbHJlYWR5IGR1cmluZyBjb21waWxhdGlvbiBhbmQKKyMgdGhlbiBzd3RwbV9zZXR1cCBuZWVkcyB0aGVtIGF0IHJ1bnRpbWUKK0RFUEVORFMgKz0gInRwbS10b29scy1uYXRpdmUgZXhwZWN0LW5hdGl2ZSBzb2NhdC1uYXRpdmUiCisKK1NSQ1JFViA9ICJkODAzZDg0NTc1YWIzZTVkYWMzMTZiZjg2M2M3ZjU2OWEyN2VhMzVmIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3N0ZWZhbmJlcmdlci9zd3RwbS5naXQ7YnJhbmNoPXN0YWJsZS0ke1BWfSBcCisgICAgICAgICAgIGZpbGU6Ly9maXhfZmNudGxfaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9pb2N0bF9oLnBhdGNoIFwKKyAgICAgICAgICAgIgorUEUgPSAiMSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCitQQVJBTExFTF9NQUtFID0gIiIKKworVFNTX1VTRVI9InRzcyIKK1RTU19HUk9VUD0idHNzIgorCitQQUNLQUdFQ09ORklHID89ICJvcGVuc3NsIgorUEFDS0FHRUNPTkZJRyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXgnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJRyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0JCRklMRV9DT0xMRUNUSU9OUycsICdmaWxlc3lzdGVtcy1sYXllcicsICdjdXNlJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLW9wZW5zc2wsIC0td2l0aG91dC1vcGVuc3NsLCBvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0td2l0aC1nbnV0bHMsIC0td2l0aG91dC1nbnV0bHMsIGdudXRscyIKK1BBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS13aXRoLXNlbGludXgsIC0td2l0aG91dC1zZWxpbnV4LCBsaWJzZWxpbnV4IgorUEFDS0FHRUNPTkZJR1tjdXNlXSA9ICItLXdpdGgtY3VzZSwgLS13aXRob3V0LWN1c2UsIGZ1c2UiCisKK0VYVFJBX09FQ09ORiArPSAiLS13aXRoLXRzcy11c2VyPSR7VFNTX1VTRVJ9IC0td2l0aC10c3MtZ3JvdXA9JHtUU1NfR1JPVVB9IgorCitleHBvcnQgU0VBUkNIX0RJUiA9ICIke1NUQUdJTkdfTElCRElSX05BVElWRX0iCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitHUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAke1RTU19VU0VSfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLWcgJHtUU1NfR1JPVVB9IC0taG9tZS1kaXIgIFwKKyAgICAtLW5vLWNyZWF0ZS1ob21lICAtLXNoZWxsIC9iaW4vZmFsc2UgJHtCUE59IgorCitQQUNLQUdFX0JFRk9SRV9QTiA9ICIke1BOfS1jdXNlIgorRklMRVNfJHtQTn0tY3VzZSA9ICIke2JpbmRpcn0vc3d0cG1fY3VzZSIKKworSU5TQU5FX1NLSVBfJHtQTn0gICArPSAiZGV2LXNvIgorCitSREVQRU5EU18ke1BOfSA9ICJsaWJ0cG0gZXhwZWN0IHNvY2F0IGJhc2ggdHBtLXRvb2xzIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3N3dHBtL3N3dHBtXzEuMC5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vc3d0cG0vc3d0cG1fMS4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZmUxMzkzLi4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vc3d0cG0vc3d0cG1fMS4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotU1VNTUFSWSA9ICJTV1RQTSAtIFNvZnR3YXJlIFRQTSBFbXVsYXRvciIKLUxJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZmU4MDkyYzgzMmI3MWVmMjBkZmU0YzZkM2RlY2IzYTgiCi1TRUNUSU9OID0gImFwcHMiCi0KLURFUEVORFMgPSAibGlidGFzbjEgZXhwZWN0IHNvY2F0IGdsaWItMi4wIG5ldC10b29scy1uYXRpdmUgbGlidHBtIGxpYnRwbS1uYXRpdmUiCi0KLSMgY29uZmlndXJlIGNoZWNrcyBmb3IgdGhlIHRvb2xzIGFscmVhZHkgZHVyaW5nIGNvbXBpbGF0aW9uIGFuZAotIyB0aGVuIHN3dHBtX3NldHVwIG5lZWRzIHRoZW0gYXQgcnVudGltZQotREVQRU5EUyArPSAidHBtLXRvb2xzLW5hdGl2ZSBleHBlY3QtbmF0aXZlIHNvY2F0LW5hdGl2ZSIKLQotU1JDUkVWID0gIjk0YmI5ZjJkNzE2ZDA5YmNjNmNkMmEyZTAzMzAxOGY4NTkyMDA4ZTciCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc3RlZmFuYmVyZ2VyL3N3dHBtLmdpdDticmFuY2g9dHBtMi1wcmV2aWV3LnYyIFwKLSAgICAgICAgICAgZmlsZTovL2ZpeF9mY250bF9oLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2lvY3RsX2gucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotUEFSQUxMRUxfTUFLRSA9ICIiCi0KLVRTU19VU0VSPSJ0c3MiCi1UU1NfR1JPVVA9InRzcyIKLQotUEFDS0FHRUNPTkZJRyA/PSAib3BlbnNzbCBjdXNlIgotUEFDS0FHRUNPTkZJRyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXgnLCAnJywgZCl9IgotUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtb3BlbnNzbCwgLS13aXRob3V0LW9wZW5zc2wsIG9wZW5zc2wiCi1QQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLWdudXRscywgLS13aXRob3V0LWdudXRscywgZ251dGxzIgotUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLXdpdGgtc2VsaW51eCwgLS13aXRob3V0LXNlbGludXgsIGxpYnNlbGludXgiCi1QQUNLQUdFQ09ORklHW2N1c2VdID0gIi0td2l0aC1jdXNlLCAtLXdpdGhvdXQtY3VzZSwgZnVzZSIKLQotRVhUUkFfT0VDT05GICs9ICItLXdpdGgtdHNzLXVzZXI9JHtUU1NfVVNFUn0gLS13aXRoLXRzcy1ncm91cD0ke1RTU19HUk9VUH0iCi0KLWV4cG9ydCBTRUFSQ0hfRElSID0gIiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSIKLQotVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKLUdST1VQQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtICR7VFNTX1VTRVJ9IgotVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtZyAke1RTU19HUk9VUH0gLS1ob21lLWRpciAgXAotICAgIC0tbm8tY3JlYXRlLWhvbWUgIC0tc2hlbGwgL2Jpbi9mYWxzZSAke0JQTn0iCi0KLVJERVBFTkRTXyR7UE59ID0gImxpYnRwbSBleHBlY3Qgc29jYXQgYmFzaCB0cG0tdG9vbHMiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQotcHl0aG9uKCkgewotICAgIGlmICdjdXNlJyBpbiBkLmdldFZhcignUEFDS0FHRUNPTkZJRycpIGFuZCBcCi0gICAgICAgICdmaWxlc3lzdGVtcy1sYXllcicgbm90IGluIGQuZ2V0VmFyKCdCQkZJTEVfQ09MTEVDVElPTlMnKS5zcGxpdCgpOgotICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCdDdXNlIGVuYWJsZWQgd2hpY2ggcmVxdWlyZXMgbWV0YS1maWxlc3lzdGVtcyB0byBiZSBwcmVzZW50LicpCi19CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTItYWJybWQvdHBtMi1hYnJtZF8yLjAuMi5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi1hYnJtZC90cG0yLWFicm1kXzIuMC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MzQ3Mzc5Li4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi1hYnJtZC90cG0yLWFicm1kXzIuMC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotU1VNTUFSWSA9ICJUUE0yIEFjY2VzcyBCcm9rZXIgJiBSZXNvdXJjZSBNYW5hZ2VyIgotREVTQ1JJUFRJT04gPSAiVGhpcyBpcyBhIHN5c3RlbSBkYWVtb24gaW1wbGVtZW50aW5nIHRoZSBUUE0yIGFjY2VzcyBcCi1icm9rZXIgKFRBQikgJiBSZXNvdXJjZSBNYW5hZ2VyIChSTSkgc3BlYyBmcm9tIHRoZSBUQ0cuIFRoZSBkYWVtb24gKHRwbTItYWJybWQpIFwKLWlzIGltcGxlbWVudGVkIHVzaW5nIEdsaWIgYW5kIHRoZSBHT2JqZWN0IHN5c3RlbS4gSW4gdGhpcyBkb2N1bWVudGF0aW9uIGFuZCBcCi1pbiB0aGUgY29kZSB3ZSB1c2UgYHRwbTItYWJybWRgIGFuZCBgdGFicm1kYCBpbnRlcmNoYW5nZWFibHkuIFwKLSIKLVNFQ1RJT04gPSAic2VjdXJpdHkvdHBtIgotCi1MSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7U30vTElDRU5TRTttZDU9NTAwYjJlNzQyYmVmYzNkYTAwNjg0ZDhhMWQ1ZmQ5ZGEiCi0KLURFUEVORFMgPSAiYXV0b2NvbmYtYXJjaGl2ZSBkYnVzIGdsaWItMi4wIHRwbTIuMC10c3MgZ2xpYi0yLjAtbmF0aXZlIFwKLSAgICAgICAgICAgIGxpYnRzczIgbGlidHNzMi1tdSBsaWJ0c3MyLXRjdGktZGV2aWNlIGxpYnRzczItdGN0aS1tc3NpbSIKLQotCi1TUkNfVVJJID0gIlwKLSAgICBnaXQ6Ly9naXRodWIuY29tLzAxb3JnL3RwbTItYWJybWQuZ2l0IFwKLSAgICBmaWxlOi8vdHBtMi1hYnJtZC1pbml0LnNoIFwKLSAgICBmaWxlOi8vdHBtMi1hYnJtZC5kZWZhdWx0IFwKLSIKLVNSQ1JFViA9ICJkMDEyMGFjZTU4ZDk3YmM5NTIwYzBkNTU4NjU3ZWFjYTg3YWU3M2IxIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZCB1cGRhdGUtcmMuZCB1c2VyYWRkCi0KLVNZU1RFTURfUEFDS0FHRVMgKz0gIiR7UE59IgotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInRwbTItYWJybWQuc2VydmljZSIKLVNZU1RFTURfQVVUT19FTkFCTEVfJHtQTn0gPSAiZGlzYWJsZSIKLQotSU5JVFNDUklQVF9OQU1FID0gIiR7UE59IgotSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgOTkgMiAzIDQgNSAuIHN0b3AgMTkgMCAxIDYgLiIKLQotVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKLUdST1VQQUREX1BBUkFNXyR7UE59ID0gInRzcyIKLVVTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLU0gLWQgL3Zhci9saWIvdHBtIC1zIC9iaW4vZmFsc2UgLWcgdHNzIHRzcyIKLQotUEFDS0FHRUNPTkZJRyA/PSIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3N5c3RlbWQnLCAnJywgZCl9IgotUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSwgLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPW5vIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9pbml0LmQiCi0gICAgaW5zdGFsbCAtbSAwNzU1ICIke1dPUktESVJ9L3RwbTItYWJybWQtaW5pdC5zaCIgIiR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90cG0yLWFicm1kIgotCi0gICAgaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdCIKLSAgICBpbnN0YWxsIC1tIDA2NDQgIiR7V09SS0RJUn0vdHBtMi1hYnJtZC5kZWZhdWx0IiAiJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC90cG0yLWFicm1kIgotfQotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3N5c3RlbWQvc3lzdGVtLXByZXNldCBcCi0JCSR7ZGF0YWRpcn0vZGJ1cy0xIgotCi1SREVQRU5EU18ke1BOfSArPSAidHBtMi4wLXRzcyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTIuMC10b29scy90cG0yLjAtdG9vbHNfMy4xLjIuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTIuMC10b29scy90cG0yLjAtdG9vbHNfMy4xLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmNDBlYjcuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yLjAtdG9vbHMvdHBtMi4wLXRvb2xzXzMuMS4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotU1VNTUFSWSA9ICJUb29scyBmb3IgVFBNMi4iCi1ERVNDUklQVElPTiA9ICJ0cG0yLjAtdG9vbHMiCi1MSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTkxYjdjNTQ4ZDczZWExNjUzNzc5OWU4MDYwY2VhODE5IgotU0VDVElPTiA9ICJ0cG0iCi0KLURFUEVORFMgPSAicGtnY29uZmlnIHRwbTIuMC10c3Mgb3BlbnNzbCBjdXJsIGF1dG9jb25mLWFyY2hpdmUiCi0KLVNSQ1JFViA9ICI1ZTJmMWFhZmM1OGU2MGM1MDUwZjg1MTQ3YTE0OTE0NTYxZjI4YWQ5IgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vMDFvcmcvdHBtMi4wLXRvb2xzLmdpdDtuYW1lPXRwbTIuMC10b29scztkZXN0c3VmZml4PXRwbTIuMC10b29sczticmFuY2g9My5YIgotCi1TID0gIiR7V09SS0RJUn0vdHBtMi4wLXRvb2xzIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi4wLXRzcy90cG0yLjAtdHNzXzIuMC4xLmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yLjAtdHNzL3RwbTIuMC10c3NfMi4wLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkMWZmNzIuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yLjAtdHNzL3RwbTIuMC10c3NfMi4wLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi1TVU1NQVJZID0gIlNvZnR3YXJlIHN0YWNrIGZvciBUUE0yLiIKLURFU0NSSVBUSU9OID0gInRwbTIuMC10c3MgbGlrZSB3b2FoLiIKLUxJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MGIxZDYzMWM0MjE4YjcyZjZiMDVjYjU4NjEzNjA2ZjQiCi1TRUNUSU9OID0gInRwbSIKLQotREVQRU5EUyA9ICJhdXRvY29uZi1hcmNoaXZlLW5hdGl2ZSBsaWJnY3J5cHQiCi0KLVNSQ1JFViA9ICJkYzMxZThkY2E5ZGJjNzdkMTZlNDE5ZGM1MTRjZThjNTI2Y2QzMzUxIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdHBtMi1zb2Z0d2FyZS90cG0yLXRzcy5naXQ7YnJhbmNoPTIuMC54IgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHN5c3RlbWQKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotICAgICAgIC4vYm9vdHN0cmFwCi19Ci0KLUlOSEVSSVQgKz0gImV4dHJhdXNlcnMiCi1FWFRSQV9VU0VSU19QQVJBTVMgPSAiXAotCXVzZXJhZGQgLXAgJycgdHNzOyBcCi0JZ3JvdXBhZGQgdHNzOyBcCi0JIgotCi1QUk9WSURFUyA9ICIke1BBQ0tBR0VTfSIKLVBBQ0tBR0VTID0gIiBcCi0gICAgJHtQTn0gXAotICAgICR7UE59LWRiZyBcCi0gICAgJHtQTn0tZG9jIFwKLSAgICBsaWJ0c3MyLW11IFwKLSAgICBsaWJ0c3MyLW11LWRldiBcCi0gICAgbGlidHNzMi1tdS1zdGF0aWNkZXYgXAotICAgIGxpYnRzczItdGN0aS1kZXZpY2UgXAotICAgIGxpYnRzczItdGN0aS1kZXZpY2UtZGV2IFwKLSAgICBsaWJ0c3MyLXRjdGktZGV2aWNlLXN0YXRpY2RldiBcCi0gICAgbGlidHNzMi10Y3RpLW1zc2ltIFwKLSAgICBsaWJ0c3MyLXRjdGktbXNzaW0tZGV2IFwKLSAgICBsaWJ0c3MyLXRjdGktbXNzaW0tc3RhdGljZGV2IFwKLSAgICBsaWJ0c3MyIFwKLSAgICBsaWJ0c3MyLWRldiBcCi0gICAgbGlidHNzMi1zdGF0aWNkZXYgXAotIgotCi1GSUxFU19saWJ0c3MyLXRjdGktZGV2aWNlID0gIiR7bGliZGlyfS9saWJ0c3MyLXRjdGktZGV2aWNlLnNvLioiCi1GSUxFU19saWJ0c3MyLXRjdGktZGV2aWNlLWRldiA9ICIgXAotICAgICR7aW5jbHVkZWRpcn0vdHNzMi90c3MyX3RjdGlfZGV2aWNlLmggXAotICAgICR7bGliZGlyfS9wa2djb25maWcvdHNzMi10Y3RpLWRldmljZS5wYyBcCi0gICAgJHtsaWJkaXJ9L2xpYnRzczItdGN0aS1kZXZpY2Uuc28iCi1GSUxFU19saWJ0c3MyLXRjdGktZGV2aWNlLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGlidHNzMi10Y3RpLWRldmljZS4qYSIKLQotRklMRVNfbGlidHNzMi10Y3RpLW1zc2ltID0gIiR7bGliZGlyfS9saWJ0c3MyLXRjdGktbXNzaW0uc28uKiIKLUZJTEVTX2xpYnRzczItdGN0aS1tc3NpbS1kZXYgPSAiIFwKLSAgICAke2luY2x1ZGVkaXJ9L3RzczIvdHNzMl90Y3RpX21zc2ltLmggXAotICAgICR7bGliZGlyfS9wa2djb25maWcvdHNzMi10Y3RpLW1zc2ltLnBjIFwKLSAgICAke2xpYmRpcn0vbGlidHNzMi10Y3RpLW1zc2ltLnNvIgotRklMRVNfbGlidHNzMi10Y3RpLW1zc2ltLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGlidHNzMi10Y3RpLW1zc2ltLiphIgotCi1GSUxFU19saWJ0c3MyLW11ID0gIiR7bGliZGlyfS9saWJ0c3MyLW11LnNvLioiCi1GSUxFU19saWJ0c3MyLW11LWRldiA9ICIgXAotICAgICR7aW5jbHVkZWRpcn0vdHNzMi90c3MyX211LmggXAotICAgICR7bGliZGlyfS9wa2djb25maWcvdHNzMi1tdS5wYyBcCi0gICAgJHtsaWJkaXJ9L2xpYnRzczItbXUuc28iCi1GSUxFU19saWJ0c3MyLW11LXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGlidHNzMi1tdS4qYSIKLQotRklMRVNfbGlidHNzMiA9ICIke2xpYmRpcn0vbGlidHNzMipzby4qIgotRklMRVNfbGlidHNzMi1kZXYgPSAiIFwKLSAgICAke2luY2x1ZGVkaXJ9IFwKLSAgICAke2xpYmRpcn0vcGtnY29uZmlnIFwKLSAgICAke2xpYmRpcn0vbGlidHNzMipzbyIKLUZJTEVTX2xpYnRzczItc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJ0c3MqYSIKLQotRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L3VkZXYiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTJzaW11bGF0b3IvdHBtMnNpbXVsYXRvcl8xMzguYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTJzaW11bGF0b3IvdHBtMnNpbXVsYXRvcl8xMzguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2Njc5MWMuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yc2ltdWxhdG9yL3RwbTJzaW11bGF0b3JfMTM4LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotU1VNTUFSWSA9ICJUUE0gMi4wIFNpbXVsYXRvciBFeHRyYWN0aW9uIFNjcmlwdCIKLUxJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MTQxNWY3YmUyODQ1NDBiODFkOWQyOGM2N2MxYTZiOGIiCi0KLURFUEVORFMgPSAicHl0aG9uIgotCi1TUkNSRVYgPSAiZTQ1MzI0ZWJhMjY4NzIzZDM5ODU2MTExZTc5MzNjNWM3NjIzODQ4MSIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zdHdhZ25yL3RwbTJzaW11bGF0b3IuZ2l0IgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotT0VDTUFLRV9TT1VSQ0VQQVRIID0gIiR7U30vY21ha2UiCi0KLWluaGVyaXQgbmF0aXZlIGxpYl9wYWNrYWdlIGNtYWtlCi0KLUVYVFJBX09FQ01BS0UgPSAiIFwKLQktRENNQUtFX0JVSUxEX1RZUEU9RGVidWcgXAotCS1EU1BFQ19WRVJTSU9OPTEzOCBcCi0iCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLQlzZWQgLWkgJ3MvXlNFVCA9IEZhbHNlL1NFVCA9IFRydWUvJyAke1N9L3NjcmlwdHMvc2V0dGluZ3MucHkgCi19CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi9jcnlwdHNldHVwLXRwbS1pbmN1YmF0b3IvY3J5cHRzZXR1cC10cG0taW5jdWJhdG9yXzAuOS45LmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvY3J5cHRzZXR1cC10cG0taW5jdWJhdG9yL2NyeXB0c2V0dXAtdHBtLWluY3ViYXRvcl8wLjkuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjUwNDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvY3J5cHRzZXR1cC10cG0taW5jdWJhdG9yL2NyeXB0c2V0dXAtdHBtLWluY3ViYXRvcl8wLjkuOS5iYgpAQCAtMCwwICsxLDQxIEBACitTVU1NQVJZID0gIkFuIGV4dGVuc2lvbiB0byBjcnlwdHNldHVwL0xVS1MgdGhhdCBlbmFibGVzIHVzZSBvZiB0aGUgVFBNIDIuMCB2aWEgdHBtMi10c3MiCitERVNDUklQVElPTiA9ICJDcnlwdHNldHVwIGlzIHV0aWxpdHkgdXNlZCB0byBjb252ZW5pZW50bHkgc2V0dXAgZGlzayBlbmNyeXB0aW9uIGJhc2VkIG9uIERNQ3J5cHQga2VybmVsIG1vZHVsZS4iCisKK1NFQ1RJT04gPSAic2VjdXJpdHkvdHBtIgorTElDRU5TRSA9ICJMR1BMLTIuMSB8IEdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zMjEwN2RkMjgzYjFkZmViNjZjOWIzZTZiZTMxMjMyNiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxHUEw7bWQ1PTE5NjA1MTU3ODgxMDBjZTVmOWM5OGVhNzhhNjVkYzUyIFwKKyAgICAgICAgICAgICAgICAgICAgIgorCitERVBFTkRTID0gImF1dG9jb25mLWFyY2hpdmUgcGtnY29uZmlnIGdldHRleHQgbGlidHNzMi1kZXYgbGliZGV2bWFwcGVyIHBvcHQgbGliZ2NyeXB0IGpzb24tYyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0FuZHJlYXNGdWNoc1NJVC9jcnlwdHNldHVwLXRwbS1pbmN1YmF0b3IuZ2l0O2JyYW5jaD1sdWtzMnRwbSBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmVfZml4LnBhdGNoICIKKworU1JDUkVWID0gIjE1YzI4MzE5NWYxOWYxZDk4MGUzOWJhNDU0NDg2ODNkNWUzODMxNzkiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0CisKK1BBQ0tBR0VDT05GSUcgPz89ICJvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtY3J5cHRvX2JhY2tlbmQ9b3BlbnNzbCwsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbZ2NyeXB0XSA9ICItLXdpdGgtY3J5cHRvX2JhY2tlbmQ9Z2NyeXB0LCxsaWJnY3J5cHQiCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1zdGF0aWMiCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gImtlcm5lbC1tb2R1bGUtYWVzLWdlbmVyaWMgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1kbS1jcnlwdCBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLW1kNSBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLWNiYyBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLXNoYTI1Ni1nZW5lcmljIFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUteHRzIFwKKyAgICAgICAgICAgICAgICAgICAgIgorCitSREVQRU5EU18ke1BOfSArPSAibHZtMiIKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJsdm0yLXVkZXZydWxlcyIKKworUlJFUExBQ0VTXyR7UE59ID0gImNyeXB0c2V0dXAiCitSQ09ORkxJQ1RTXyR7UE59ICA9ImNyeXB0c2V0dXAiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL2NyeXB0c2V0dXAtdHBtLWluY3ViYXRvci9maWxlcy9jb25maWd1cmVfZml4LnBhdGNoIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvY3J5cHRzZXR1cC10cG0taW5jdWJhdG9yL2ZpbGVzL2NvbmZpZ3VyZV9maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGM3YjZkYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL2NyeXB0c2V0dXAtdHBtLWluY3ViYXRvci9maWxlcy9jb25maWd1cmVfZml4LnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK1Vwc3RyZWFtLVN0YXR1czogT0Ugc3BlY2lmaWMKK1NpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKK0luZGV4OiBnaXQvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvY29uZmlndXJlLmFjCisrKysgZ2l0L2NvbmZpZ3VyZS5hYworQEAgLTE2LDcgKzE2LDcgQEAgQUNfQ09ORklHX0hFQURFUlMoW2NvbmZpZy5oOmNvbmZpZy5oLmluXQorIAorICMgRm9yIG9sZCBhdXRvbWFrZSB1c2UgdGhpcworICNBTV9JTklUX0FVVE9NQUtFKGRpc3QteHogc3ViZGlyLW9iamVjdHMpCistQU1fSU5JVF9BVVRPTUFLRShbZGlzdC14eiAxLjEyIHNlcmlhbC10ZXN0cyBzdWJkaXItb2JqZWN0c10pCisrQU1fSU5JVF9BVVRPTUFLRShbZGlzdC14eiAxLjEyIHNlcmlhbC10ZXN0cyBzdWJkaXItb2JqZWN0cyBmb3JlaWduXSkKKyAKKyBpZiB0ZXN0ICJ4JHByZWZpeCIgPSAieE5PTkUiOyB0aGVuCisgCXN5c2NvbmZkaXI9L2V0YwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvaWJtc3d0cG0yL2libXN3dHBtMl8xMzMyLmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvaWJtc3d0cG0yL2libXN3dHBtMl8xMzMyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2MDY4ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi9pYm1zd3RwbTIvaWJtc3d0cG0yXzEzMzIuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJJQk0ncyBTb2Z0d2FyZSBUUE0gMi4wIgorCitMSUNFTlNFID0gIkJTRCIKK1NFQ1RJT04gPSAic2VjdXJ0eS90cG0iCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9MSUNFTlNFO21kNT0xZTAyM2Y2MTQ1NGFjODI4YjRhYTFiYzQyOTNmN2Q1ZiIKKworU1JDX1VSSSA9ICJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9pYm1zd3RwbTIvZmlsZXMvaWJtdHBtMTMzMi50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMGFiMzRhNjU1YjRlMDk4MTJkN2FkYTE5NzQ2YWY0ZjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGU4MTkzYWYzZDExZDlmZjZhOTUxZGRhOGNkMWY0NjkzY2IwMTkzNGE4YWQ3ODc2Yjg0ZTkyYzYxNDhhYjBmZCIKKworREVQRU5EUyA9ICJvcGVuc3NsIgorCitTID0gIiR7V09SS0RJUn0vc3JjIgorCitMREZMQUdTID0gIiR7TERGQUxHU30iCisKK2RvX2NvbXBpbGUgKCkgeworICAgbWFrZSBDQz0nJHtDQ30nCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorICAgaW5zdGFsbCAtbSAwNzU1IHRwbV9zZXJ2ZXIgICR7RH0vJHtiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTItYWJybWQvZmlsZXMvdHBtMi1hYnJtZC1pbml0LnNoIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi1hYnJtZC9maWxlcy90cG0yLWFicm1kLWluaXQuc2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi1hYnJtZC9maWxlcy90cG0yLWFicm1kLWluaXQuc2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItYWJybWQvZmlsZXMvdHBtMi1hYnJtZC1pbml0LnNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTItYWJybWQvZmlsZXMvdHBtMi1hYnJtZC5kZWZhdWx0IGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi1hYnJtZC9maWxlcy90cG0yLWFicm1kLmRlZmF1bHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi1hYnJtZC9maWxlcy90cG0yLWFicm1kLmRlZmF1bHQKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItYWJybWQvZmlsZXMvdHBtMi1hYnJtZC5kZWZhdWx0CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLWFicm1kL3RwbTItYWJybWRfMi4xLjEuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLWFicm1kL3RwbTItYWJybWRfMi4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRjNjY4MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItYWJybWQvdHBtMi1hYnJtZF8yLjEuMS5iYgpAQCAtMCwwICsxLDU1IEBACitTVU1NQVJZID0gIlRQTTIgQWNjZXNzIEJyb2tlciAmIFJlc291cmNlIE1hbmFnZXIiCitERVNDUklQVElPTiA9ICJUaGlzIGlzIGEgc3lzdGVtIGRhZW1vbiBpbXBsZW1lbnRpbmcgdGhlIFRQTTIgYWNjZXNzIFwKK2Jyb2tlciAoVEFCKSAmIFJlc291cmNlIE1hbmFnZXIgKFJNKSBzcGVjIGZyb20gdGhlIFRDRy4gVGhlIGRhZW1vbiAodHBtMi1hYnJtZCkgXAoraXMgaW1wbGVtZW50ZWQgdXNpbmcgR2xpYiBhbmQgdGhlIEdPYmplY3Qgc3lzdGVtLiBJbiB0aGlzIGRvY3VtZW50YXRpb24gYW5kIFwKK2luIHRoZSBjb2RlIHdlIHVzZSBgdHBtMi1hYnJtZGAgYW5kIGB0YWJybWRgIGludGVyY2hhbmdlYWJseS4gXAorIgorU0VDVElPTiA9ICJzZWN1cml0eS90cG0iCisKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtTfS9MSUNFTlNFO21kNT01MDBiMmU3NDJiZWZjM2RhMDA2ODRkOGExZDVmZDlkYSIKKworREVQRU5EUyA9ICJhdXRvY29uZi1hcmNoaXZlIGRidXMgZ2xpYi0yLjAgdHBtMi10c3MgZ2xpYi0yLjAtbmF0aXZlIFwKKyAgICAgICAgICAgIGxpYnRzczIgbGlidHNzMi1tdSBsaWJ0c3MyLXRjdGktZGV2aWNlIGxpYnRzczItdGN0aS1tc3NpbSIKKworCitTUkNfVVJJID0gIlwKKyAgICBnaXQ6Ly9naXRodWIuY29tL3RwbTItc29mdHdhcmUvdHBtMi1hYnJtZC5naXQgXAorICAgIGZpbGU6Ly90cG0yLWFicm1kLWluaXQuc2ggXAorICAgIGZpbGU6Ly90cG0yLWFicm1kLmRlZmF1bHQgXAorIgorCitTUkNSRVYgPSAiMDZkOWQ0MzNiYTI3MTU5Njg3MjU1NDA2YmFhMzc5NDBkYjE1NDY1YiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQgdXBkYXRlLXJjLmQgdXNlcmFkZAorCitTWVNURU1EX1BBQ0tBR0VTICs9ICIke1BOfSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ0cG0yLWFicm1kLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFXyR7UE59ID0gImRpc2FibGUiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICIke1BOfSIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDk5IDIgMyA0IDUgLiBzdG9wIDE5IDAgMSA2IC4iCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitHUk9VUEFERF9QQVJBTV8ke1BOfSA9ICJ0c3MiCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC1NIC1kIC92YXIvbGliL3RwbSAtcyAvYmluL2ZhbHNlIC1nIHRzcyB0c3MiCisKK1BBQ0tBR0VDT05GSUcgPz0iJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCdzeXN0ZW1kJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0sIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj1ubyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kIgorICAgIGluc3RhbGwgLW0gMDc1NSAiJHtXT1JLRElSfS90cG0yLWFicm1kLWluaXQuc2giICIke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvdHBtMi1hYnJtZCIKKworICAgIGluc3RhbGwgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQiCisgICAgaW5zdGFsbCAtbSAwNjQ0ICIke1dPUktESVJ9L3RwbTItYWJybWQuZGVmYXVsdCIgIiR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdHBtMi1hYnJtZCIKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9zeXN0ZW1kL3N5c3RlbS1wcmVzZXQgXAorCQkke2RhdGFkaXJ9L2RidXMtMSIKKworUkRFUEVORFNfJHtQTn0gKz0gInRwbTItdHNzIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItcGtjczExL2ZpbGVzL2Jvb3RzdHJhcF9maXh1cC5wYXRjaCBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItcGtjczExL2ZpbGVzL2Jvb3RzdHJhcF9maXh1cC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzhlMjM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi1wa2NzMTEvZmlsZXMvYm9vdHN0cmFwX2ZpeHVwLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK1Vwc3RyZWFtLVN0YXR1czogT0Ugc3BlY2lmaWMKK1NpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKK0luZGV4OiBnaXQvYm9vdHN0cmFwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvYm9vdHN0cmFwCisrKysgZ2l0L2Jvb3RzdHJhcAorQEAgLTI3LDQgKzI3LDMgQEAgZWNobyAiR2VuZXJhdGluZyBmaWxlIGxpc3RzOiAke1ZBUlNfRklMRQorICkgPiAke1ZBUlNfRklMRX0KKyAKKyBta2RpciAtcCBtNAorLSR7QVVUT1JFQ09ORn0gLS1pbnN0YWxsIC0tc3ltICRACmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXBrY3MxMS90cG0yLXBrY3MxMV8wLjkuOS5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItcGtjczExL3RwbTItcGtjczExXzAuOS45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwMzFlNjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXBrY3MxMS90cG0yLXBrY3MxMV8wLjkuOS5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkEgUEtDUyMxMSBpbnRlcmZhY2UgZm9yIFRQTTIgaGFyZHdhcmUiCitERVNDUklQVElPTiA9ICJQS0NTICMxMSBpcyBhIFB1YmxpYy1LZXkgQ3J5cHRvZ3JhcGh5IFN0YW5kYXJkIHRoYXQgZGVmaW5lcyBhIHN0YW5kYXJkIG1ldGhvZCB0byBhY2Nlc3MgY3J5cHRvZ3JhcGhpYyBzZXJ2aWNlcyBmcm9tIHRva2Vucy8gZGV2aWNlcyBzdWNoIGFzIGhhcmR3YXJlIHNlY3VyaXR5IG1vZHVsZXMgKEhTTSksIHNtYXJ0IGNhcmRzLCBldGMuIEluIHRoaXMgcHJvamVjdCB3ZSBpbnRlbmQgdG8gdXNlIGEgVFBNMiBkZXZpY2UgYXMgdGhlIGNyeXB0b2dyYXBoaWMgdG9rZW4uIgorU0VDVElPTiA9ICJzZWN1cml0eS90cG0iCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWI3NDhhZjQxZWYxMzAwYzk4ZTEwNWIzYjdlYzRlY2MxIgorCitERVBFTkRTID0gImF1dG9jb25mLWFyY2hpdmUgcGtnY29uZmlnIGRzdGF0IHNxbGl0ZTMgb3BlbnNzbCBsaWJ0c3MyLWRldiB0cG0yLXRvb2xzIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdHBtMi1zb2Z0d2FyZS90cG0yLXBrY3MxMS5naXQgXAorICAgICAgICAgICBmaWxlOi8vYm9vdHN0cmFwX2ZpeHVwLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ1JFViA9ICIzMTA3ZDg5YjQwNmVjZDljMDA3ODg0NjEzNzMzYzlhMzQ0ZWY2ZDM5IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICAke1N9L2Jvb3RzdHJhcAorfQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10Y3RpLXVlZmkvZmlsZXMvY29uZmlndXJlX29lX2ZpeHVwLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10Y3RpLXVlZmkvZmlsZXMvY29uZmlndXJlX29lX2ZpeHVwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhMjE2Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRjdGktdWVmaS9maWxlcy9jb25maWd1cmVfb2VfZml4dXAucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorVXBzdHJlYW0tU3RhdHVzOiBPRSBzcGVjaWZpYworU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKworSW5kZXg6IGdpdC9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9jb25maWd1cmUuYWMKKysrKyBnaXQvY29uZmlndXJlLmFjCitAQCAtODQsOSArODQsNiBAQCBBQ19BUkdfV0lUSChbZWZpLWxkc10sCisgICAgICAgICAgICAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1lZmktbGRzPUxEU19QQVRIXSxbUGF0aCB0byBnbnUtZWZpIGxkcyBmaWxlLl0pLAorICAgICAgICAgICAgIFtdLAorICAgICAgICAgICAgIFt3aXRoX2VmaV9sZHM9Ii91c3IvbGliL2VsZl8ke0FSQ0h9X2VmaS5sZHMiXSkKKy1BQ19DSEVDS19GSUxFKFsiJHt3aXRoX2VmaV9sZHN9Il0sCistICAgICAgICAgICAgICBbXSwKKy0gICAgICAgICAgICAgIFtBQ19NU0dfRVJST1IoW01pc3NpbmcgZmlsZTogJHt3aXRoX2VmaV9sZHN9Ll0pXSkKKyBFWFRSQV9MREZMQUdTPSItTCAvdXNyL2xpYiAtTCAvdXNyL2xpYjY0IC1XbCwtLXNjcmlwdD0ke3dpdGhfZWZpX2xkc30iCisgCisgIyBwYXRoIHRvIG9iamVjdCBmaWxlIGZyb20gZ251LWVmaQorQEAgLTk0LDkgKzkxLDYgQEAgQUNfQVJHX1dJVEgoW2VmaS1jcnQwXSwKKyAgICAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS13aXRoLWVmaS1jcnQwPU9CSl9QQVRIXSxbUGF0aCB0byBnbnUtZWZpIGNydDAgb2JqZWN0IGZpbGUuXSksCisgICAgICAgICAgICAgW10sCisgICAgICAgICAgICAgW3dpdGhfZWZpX2NydDA9Ii91c3IvbGliL2NydDAtZWZpLSR7QVJDSH0ubyJdKQorLUFDX0NIRUNLX0ZJTEUoWyIke3dpdGhfZWZpX2NydDB9Il0sCistICAgICAgICAgICAgICBbXSwKKy0gICAgICAgICAgICAgIFtBQ19NU0dfRVJST1IoW01pc3NpbmcgJHt3aXRoX2VmaV9jcnQwfSBmaWxlLl0pXSkKKyBFWFRSQV9MRExJQlM9IiR7d2l0aF9lZmlfY3J0MH0iCisgCisgIyBjaGVjayBmb3IgZWZpIGFuZCBnbnVlZmkgbGlicmFyaWVzCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRjdGktdWVmaS90cG0yLXRjdGktdWVmaV8wLjkuOS5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdGN0aS11ZWZpL3RwbTItdGN0aS11ZWZpXzAuOS45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxNTY5MWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRjdGktdWVmaS90cG0yLXRjdGktdWVmaV8wLjkuOS5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIlRDVEkgbW9kdWxlIGZvciB1c2Ugd2l0aCBUU1MyIGxpYnJhcmllcyBpbiBVRUZJIGVudmlyb25tZW50IgorU0VDVElPTiA9ICJzZWN1cml0eS90cG0iCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTUwMGIyZTc0MmJlZmMzZGEwMDY4NGQ4YTFkNWZkOWRhIgorREVQRU5EUyA9ICJsaWJ0c3MyLWRldiBnbnUtZWZpLW5hdGl2ZSBnbnUtZWZpIHBrZ2NvbmZpZyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3RwbTItc29mdHdhcmUvdHBtMi10Y3RpLXVlZmkuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZV9vZV9maXh1cC5wYXRjaCBcCisgICAgICAgICAgIgorU1JDUkVWID0gIjEzMTg4OWQxMmQyYzdkODk3NDcxMWQyZWJkMTAzMmNkMzI1NzdiN2YiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitDT01QQVRJQkxFX0hPU1QgPSAiKGkuODZ8eDg2XzY0KS4qLWxpbnV4IgorRVhUUkFfT0VDT05GX2FwcGVuZCA9ICIgLS13aXRoLWVmaS1pbmNsdWRlZGlyPSR7U1RBR0lOR19JTkNESVJ9L2VmaSAtLXdpdGgtZWZpLWxkcz0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vIgorUkRFUEVORFNfJHtQTn0gPSAiZ251LWVmaSIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdG9vbHMvdHBtMi10b29sc18zLjEuMy5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdG9vbHMvdHBtMi10b29sc18zLjEuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjFmNWM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10b29scy90cG0yLXRvb2xzXzMuMS4zLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiVG9vbHMgZm9yIFRQTTIuIgorREVTQ1JJUFRJT04gPSAidHBtMi10b29scyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OTFiN2M1NDhkNzNlYTE2NTM3Nzk5ZTgwNjBjZWE4MTkiCitTRUNUSU9OID0gInRwbSIKKworREVQRU5EUyA9ICJwa2djb25maWcgdHBtMi10c3Mgb3BlbnNzbCBjdXJsIGF1dG9jb25mLWFyY2hpdmUiCisKK1NSQ1JFViA9ICI3NGJhMDY1ZTU5MTRiYzVkNzEzY2EzNzA5ZDYyYTU3NTFiMDk3MzY5IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdHBtMi1zb2Z0d2FyZS90cG0yLXRvb2xzLmdpdDticmFuY2g9My5YIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdG90cC9maWxlcy9saXRwbTJfdG90cF9idWlsZF9maXgucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRvdHAvZmlsZXMvbGl0cG0yX3RvdHBfYnVpbGRfZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxNDcwNTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRvdHAvZmlsZXMvbGl0cG0yX3RvdHBfYnVpbGRfZml4LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0M5OSBmaXhlczoKKworIHNyYy9saWJ0cG0yLXRvdHAuYzoxNzI6MTM6IGVycm9yOiBmb3JtYXQgJyVsaScgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICdsb25nIGludCcsIGJ1dCBhcmd1bWVudCAzIGhhcyB0eXBlICdzaXplX3QnIHtha2EgJ3Vuc2lnbmVkIGludCd9IFstV2Vycm9yPWZvcm1hdD1dCit8ICAgICAgICAgIGRiZygiQ2FsbGluZyBFc3lzX0dldFJhbmRvbSBmb3IgJWxpIGJ5dGVzIiwgU0VDUkVUTEVOIC0gKnNlY3JldF9zaXplKTsKKworc3JjL3RwbTItdG90cC5jOjM0MzoyMzogZXJyb3I6IGZvcm1hdCAnJWxkJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2xvbmcgaW50JywgYnV0IGFyZ3VtZW50IDMgaGFzIHR5cGUgJ3VpbnQ2NF90JyB7YWthICdsb25nIGxvbmcgdW5zaWduZWQgaW50J30gWy1XZXJyb3I9Zm9ybWF0PV0KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorCitJbmRleDogZ2l0L3NyYy9saWJ0cG0yLXRvdHAuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL3NyYy9saWJ0cG0yLXRvdHAuYworKysrIGdpdC9zcmMvbGlidHBtMi10b3RwLmMKK0BAIC0xNjksNyArMTY5LDcgQEAgdHBtMnRvdHBfZ2VuZXJhdGVLZXkodWludDMyX3QgcGNycywgdWludAorICAgICBpZiAocmMgIT0gVFBNMl9SQ19JTklUSUFMSVpFKSBjaGtyYyhyYywgZ290byBlcnJvcik7CisgCisgICAgIHdoaWxlICgqc2VjcmV0X3NpemUgPCBTRUNSRVRMRU4pIHsKKy0gICAgICAgIGRiZygiQ2FsbGluZyBFc3lzX0dldFJhbmRvbSBmb3IgJWxpIGJ5dGVzIiwgU0VDUkVUTEVOIC0gKnNlY3JldF9zaXplKTsKKysgICAgICAgIGRiZygiQ2FsbGluZyBFc3lzX0dldFJhbmRvbSBmb3IgJWxpIGJ5dGVzIiwgKGxvbmcgaW50KSAoU0VDUkVUTEVOIC0gKnNlY3JldF9zaXplKSk7CisgICAgICAgICByYyA9IEVzeXNfR2V0UmFuZG9tKGN0eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVNZU19UUl9OT05FLCBFU1lTX1RSX05PTkUsIEVTWVNfVFJfTk9ORSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0VDUkVUTEVOIC0gKnNlY3JldF9zaXplLCAmdCk7CitJbmRleDogZ2l0L3NyYy90cG0yLXRvdHAuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL3NyYy90cG0yLXRvdHAuYworKysrIGdpdC9zcmMvdHBtMi10b3RwLmMKK0BAIC0zNDAsNyArMzQwLDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsdGltZSAoJm5vdykpOworICAgICAgICAgICAgIGNoa3JjKHJjLCBleGl0KDEpKTsKKyAgICAgICAgIH0KKy0gICAgICAgIHByaW50ZigiJXMlMDZsZCIsIHRpbWVzdHIsIHRvdHApOworKyAgICAgICAgcHJpbnRmKCIlcyUwNmxkIiwgdGltZXN0ciwgKGxvbmcgaW50KXRvdHApOworICAgICAgICAgYnJlYWs7CisgICAgIGNhc2UgQ01EX1JFU0VBTDoKKyAgICAgICAgIHJjID0gdHBtMnRvdHBfbG9hZEtleV9udihvcHQubnZpbmRleCwgJmtleUJsb2IsICZrZXlCbG9iX3NpemUpOwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10b3RwL3RwbTItdG90cF8wLjkuOS5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdG90cC90cG0yLXRvdHBfMC45LjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmM5NGFiNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdG90cC90cG0yLXRvdHBfMC45LjkuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJUaGUgdHBtMi10c3MtZW5naW5lIHByb2plY3QgaW1wbGVtZW50cyBhIGNyeXB0b2dyYXBoaWMgZW5naW5lIGZvciBPcGVuU1NMLiIgCitERVNDUklQVElPTiA9ICJUaGUgdHBtMi10c3MtZW5naW5lIHByb2plY3QgaW1wbGVtZW50cyBhIGNyeXB0b2dyYXBoaWMgZW5naW5lIGZvciBPcGVuU1NMIGZvciBUcnVzdGVkIFBsYXRmb3JtIE1vZHVsZSAoVFBNIDIuMCkgdXNpbmcgdGhlIHRwbTItdHNzIHNvZnR3YXJlIHN0YWNrIHRoYXQgZm9sbG93cyB0aGUgVHJ1c3RlZCBDb21wdXRpbmcgR3JvdXBzIChUQ0cpIFRQTSBTb2Z0d2FyZSBTdGFjayAoVFNTIDIuMCkuIEl0IHVzZXMgdGhlIEVuaGFuY2VkIFN5c3RlbSBBUEkgKEVTQVBJKSBpbnRlcmZhY2Ugb2YgdGhlIFRTUyAyLjAgZm9yIGRvd253YXJkcyBjb21tdW5pY2F0aW9uLiBJdCBzdXBwb3J0cyBSU0EgZGVjcnlwdGlvbiBhbmQgc2lnbmF0dXJlcyBhcyB3ZWxsIGFzIEVDRFNBIHNpZ25hdHVyZXMuIgorCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWVkMjM4MzNlOTNjOTUxNzNjOGQ4OTEzNzQ1ZTRiNGUxIgorCitTRUNUSU9OID0gInNlY3VyaXR5L3RwbSIKKworREVQRU5EUyA9ICJhdXRvY29uZi1hcmNoaXZlIGxpYnRzczItZGV2IHFyZW5jb2RlIgorCitTUkNSRVYgPSAiNDRmY2I2ODE5Zjc5MzAyZDVhMDg4YjNkZWY2NDg2MTZlMzU1MWQ0YSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS90cG0yLXNvZnR3YXJlL3RwbTItdG90cC5naXQgXAorICAgICAgICAgICBmaWxlOi8vbGl0cG0yX3RvdHBfYnVpbGRfZml4LnBhdGNoICIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZworCitTID0gIiR7V09SS0RJUn0vZ2l0IgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10c3MtZW5naW5lL3RwbTItdHNzLWVuZ2luZV8wLjkuOS5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdHNzLWVuZ2luZS90cG0yLXRzcy1lbmdpbmVfMC45LjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY1MzBiZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdHNzLWVuZ2luZS90cG0yLXRzcy1lbmdpbmVfMC45LjkuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJUaGUgdHBtMi10c3MtZW5naW5lIHByb2plY3QgaW1wbGVtZW50cyBhIGNyeXB0b2dyYXBoaWMgZW5naW5lIGZvciBPcGVuU1NMLiIgCitERVNDUklQVElPTiA9ICJUaGUgdHBtMi10c3MtZW5naW5lIHByb2plY3QgaW1wbGVtZW50cyBhIGNyeXB0b2dyYXBoaWMgZW5naW5lIGZvciBPcGVuU1NMIGZvciBUcnVzdGVkIFBsYXRmb3JtIE1vZHVsZSAoVFBNIDIuMCkgdXNpbmcgdGhlIHRwbTItdHNzIHNvZnR3YXJlIHN0YWNrIHRoYXQgZm9sbG93cyB0aGUgVHJ1c3RlZCBDb21wdXRpbmcgR3JvdXBzIChUQ0cpIFRQTSBTb2Z0d2FyZSBTdGFjayAoVFNTIDIuMCkuIEl0IHVzZXMgdGhlIEVuaGFuY2VkIFN5c3RlbSBBUEkgKEVTQVBJKSBpbnRlcmZhY2Ugb2YgdGhlIFRTUyAyLjAgZm9yIGRvd253YXJkcyBjb21tdW5pY2F0aW9uLiBJdCBzdXBwb3J0cyBSU0EgZGVjcnlwdGlvbiBhbmQgc2lnbmF0dXJlcyBhcyB3ZWxsIGFzIEVDRFNBIHNpZ25hdHVyZXMuIgorCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTNmYjAwNDdmZDI5MzkxNDc4YTcxZThlNjEwMWM3NmViIgorCitTRUNUSU9OID0gInNlY3VyaXR5L3RwbSIKKworREVQRU5EUyA9ICJhdXRvY29uZi1hcmNoaXZlLW5hdGl2ZSBiYXNoLWNvbXBsZXRpb24gbGlidHNzMiBsaWJnY3J5cHQgb3BlbnNzbCIKKworU1JDUkVWID0gImJlZjg5ZWM3OWNiYjRjOTk5NjNiMGUzMzZkOTE4NDgyN2M1NDU3ODIiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdHBtMi1zb2Z0d2FyZS90cG0yLXRzcy1lbmdpbmUuZ2l0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHN5c3RlbWQKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworUEFDS0FHRVMgKz0gIiR7UE59LWVuZ2luZXMgJHtQTn0tZW5naW5lcy1zdGF0aWNkZXYgJHtQTn0tYmFzaC1jb21wbGV0aW9uIgorCitGSUxFU18ke1BOfS1kZXYgPSAiJHtsaWJkaXJ9L2VuZ2luZXMtMS4xL3RwbTJ0c3Muc28gJHtpbmNsdWRlZGlyfS8qIgorRklMRVNfJHtQTn0tZW5naW5lcyA9ICIke2xpYmRpcn0vZW5naW5lcy0xLjEvbGliKi5zbyoiCitGSUxFU18ke1BOfS1lbmdpbmVzLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vZW5naW5lcy0xLjEvbGlidHBtMnRzcy5hIgorRklMRVNfJHtQTn0tYmFzaC1jb21wbGV0aW9uICs9ICIke2RhdGFkaXJ9L2Jhc2gtY29tcGxldGlvbi9jb21wbGV0aW9ucyIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi4wLXRzcy90cG0yLjAtdHNzL2F4X3B0aHJlYWQubTQgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRzcy90cG0yLXRzcy9heF9wdGhyZWFkLm00CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTIuMC10c3MvdHBtMi4wLXRzcy9heF9wdGhyZWFkLm00CnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRzcy90cG0yLXRzcy9heF9wdGhyZWFkLm00CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTIuMC10c3MvdHBtMi4wLXRzcy9maXhfbXVzbF9zZWxlY3RfaW5jbHVkZS5wYXRjaCBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdHNzL3RwbTItdHNzL2ZpeF9tdXNsX3NlbGVjdF9pbmNsdWRlLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTIuMC10c3MvdHBtMi4wLXRzcy9maXhfbXVzbF9zZWxlY3RfaW5jbHVkZS5wYXRjaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10c3MvdHBtMi10c3MvZml4X211c2xfc2VsZWN0X2luY2x1ZGUucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdHNzL3RwbTItdHNzXzIuMi4xLmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10c3MvdHBtMi10c3NfMi4yLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhiZGVlYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdHNzL3RwbTItdHNzXzIuMi4xLmJiCkBAIC0wLDAgKzEsNzkgQEAKK1NVTU1BUlkgPSAiU29mdHdhcmUgc3RhY2sgZm9yIFRQTTIuIgorREVTQ1JJUFRJT04gPSAiT1NTIGltcGxlbWVudGF0aW9uIG9mIHRoZSBUQ0cgVFBNMiBTb2Z0d2FyZSBTdGFjayAoVFNTMikgIgorTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01MDBiMmU3NDJiZWZjM2RhMDA2ODRkOGExZDVmZDlkYSIKK1NFQ1RJT04gPSAidHBtIgorCitERVBFTkRTID0gImF1dG9jb25mLWFyY2hpdmUtbmF0aXZlIGxpYmdjcnlwdCBvcGVuc3NsIgorCitTUkNSRVYgPSAiZWI2OWUxMzU1OWYyMGEwYjQ5MDAyYTY4NWM2ZjRhMzliZTk1MDNlMiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3RwbTItc29mdHdhcmUvdHBtMi10c3MuZ2l0O2JyYW5jaD0yLjIueCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBzeXN0ZW1kCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW294eWdlbl0gPSAiLC0tZGlzYWJsZS1kb3h5Z2VuLWRvYywgIgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgICAgLi9ib290c3RyYXAKK30KKworSU5IRVJJVCArPSAiZXh0cmF1c2VycyIKK0VYVFJBX1VTRVJTX1BBUkFNUyA9ICJcCisJdXNlcmFkZCAtcCAnJyB0c3M7IFwKKwlncm91cGFkZCB0c3M7IFwKKwkiCisKK1BST1ZJREVTID0gIiR7UEFDS0FHRVN9IgorUEFDS0FHRVMgPSAiIFwKKyAgICAke1BOfSBcCisgICAgJHtQTn0tZGJnIFwKKyAgICAke1BOfS1kb2MgXAorICAgIGxpYnRzczItbXUgXAorICAgIGxpYnRzczItbXUtZGV2IFwKKyAgICBsaWJ0c3MyLW11LXN0YXRpY2RldiBcCisgICAgbGlidHNzMi10Y3RpLWRldmljZSBcCisgICAgbGlidHNzMi10Y3RpLWRldmljZS1kZXYgXAorICAgIGxpYnRzczItdGN0aS1kZXZpY2Utc3RhdGljZGV2IFwKKyAgICBsaWJ0c3MyLXRjdGktbXNzaW0gXAorICAgIGxpYnRzczItdGN0aS1tc3NpbS1kZXYgXAorICAgIGxpYnRzczItdGN0aS1tc3NpbS1zdGF0aWNkZXYgXAorICAgIGxpYnRzczIgXAorICAgIGxpYnRzczItZGV2IFwKKyAgICBsaWJ0c3MyLXN0YXRpY2RldiBcCisiCisKK0ZJTEVTX2xpYnRzczItdGN0aS1kZXZpY2UgPSAiJHtsaWJkaXJ9L2xpYnRzczItdGN0aS1kZXZpY2Uuc28uKiIKK0ZJTEVTX2xpYnRzczItdGN0aS1kZXZpY2UtZGV2ID0gIiBcCisgICAgJHtpbmNsdWRlZGlyfS90c3MyL3RzczJfdGN0aV9kZXZpY2UuaCBcCisgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy90c3MyLXRjdGktZGV2aWNlLnBjIFwKKyAgICAke2xpYmRpcn0vbGlidHNzMi10Y3RpLWRldmljZS5zbyIKK0ZJTEVTX2xpYnRzczItdGN0aS1kZXZpY2Utc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJ0c3MyLXRjdGktZGV2aWNlLiphIgorCitGSUxFU19saWJ0c3MyLXRjdGktbXNzaW0gPSAiJHtsaWJkaXJ9L2xpYnRzczItdGN0aS1tc3NpbS5zby4qIgorRklMRVNfbGlidHNzMi10Y3RpLW1zc2ltLWRldiA9ICIgXAorICAgICR7aW5jbHVkZWRpcn0vdHNzMi90c3MyX3RjdGlfbXNzaW0uaCBcCisgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy90c3MyLXRjdGktbXNzaW0ucGMgXAorICAgICR7bGliZGlyfS9saWJ0c3MyLXRjdGktbXNzaW0uc28iCitGSUxFU19saWJ0c3MyLXRjdGktbXNzaW0tc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJ0c3MyLXRjdGktbXNzaW0uKmEiCisKK0ZJTEVTX2xpYnRzczItbXUgPSAiJHtsaWJkaXJ9L2xpYnRzczItbXUuc28uKiIKK0ZJTEVTX2xpYnRzczItbXUtZGV2ID0gIiBcCisgICAgJHtpbmNsdWRlZGlyfS90c3MyL3RzczJfbXUuaCBcCisgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy90c3MyLW11LnBjIFwKKyAgICAke2xpYmRpcn0vbGlidHNzMi1tdS5zbyIKK0ZJTEVTX2xpYnRzczItbXUtc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJ0c3MyLW11LiphIgorCitGSUxFU19saWJ0c3MyID0gIiR7bGliZGlyfS9saWJ0c3MyKnNvLioiCitGSUxFU19saWJ0c3MyLWRldiA9ICIgXAorICAgICR7aW5jbHVkZWRpcn0gXAorICAgICR7bGliZGlyfS9wa2djb25maWcgXAorICAgICR7bGliZGlyfS9saWJ0c3MyKnNvIgorRklMRVNfbGlidHNzMi1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYnRzcyphIgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vdWRldiIKKworUkRFUEVORFNfbGlidHNzMiA9ICJsaWJnY3J5cHQiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9ydW4tcHRlc3QgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvcnVuLXB0ZXN0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9ydW4tcHRlc3QKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9ydW4tcHRlc3QKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tYWRkLUxERkxBR1MtdmFyaWFibGUtZm9yLXNhbWhhaW5fc2V0cHdkLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tYWRkLUxERkxBR1MtdmFyaWFibGUtZm9yLXNhbWhhaW5fc2V0cHdkLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLWFkZC1MREZMQUdTLXZhcmlhYmxlLWZvci1zYW1oYWluX3NldHB3ZC5wYXRjaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tYWRkLUxERkxBR1MtdmFyaWFibGUtZm9yLXNhbWhhaW5fc2V0cHdkLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLWF2b2lkLXNlYXJjaGluZy1ob3N0LWZvci1wb3N0Z3Jlc3FsLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tYXZvaWQtc2VhcmNoaW5nLWhvc3QtZm9yLXBvc3RncmVzcWwucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tYXZvaWQtc2VhcmNoaW5nLWhvc3QtZm9yLXBvc3RncmVzcWwucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLWF2b2lkLXNlYXJjaGluZy1ob3N0LWZvci1wb3N0Z3Jlc3FsLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLWNsaWVudC5kZWZhdWx0IGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY2xpZW50LmRlZmF1bHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY2xpZW50LmRlZmF1bHQKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLWNsaWVudC5kZWZhdWx0CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLWNsaWVudC5pbml0IGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY2xpZW50LmluaXQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY2xpZW50LmluaXQKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLWNsaWVudC5pbml0CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLWNvbmZpZ3VyZS1hZGQtb3B0aW9uLWZvci1wcy5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLWNvbmZpZ3VyZS1hZGQtb3B0aW9uLWZvci1wcy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1jb25maWd1cmUtYWRkLW9wdGlvbi1mb3ItcHMucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLWNvbmZpZ3VyZS1hZGQtb3B0aW9uLWZvci1wcy5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1jcm9zcy1jb21waWxlLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY3Jvc3MtY29tcGlsZS5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1jcm9zcy1jb21waWxlLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1jcm9zcy1jb21waWxlLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLW1pcHM2NC1hYXJjaDY0LWRubWFsbG9jLWhhc2gtZml4LnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tbWlwczY0LWFhcmNoNjQtZG5tYWxsb2MtaGFzaC1maXgucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tbWlwczY0LWFhcmNoNjQtZG5tYWxsb2MtaGFzaC1maXgucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLW1pcHM2NC1hYXJjaDY0LWRubWFsbG9jLWhhc2gtZml4LnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLW5vdC1ydW4tcHRlc3Qtb24taG9zdC5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLW5vdC1ydW4tcHRlc3Qtb24taG9zdC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1ub3QtcnVuLXB0ZXN0LW9uLWhvc3QucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLW5vdC1ydW4tcHRlc3Qtb24taG9zdC5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1waWQtcGF0aC5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXBpZC1wYXRoLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXBpZC1wYXRoLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1waWQtcGF0aC5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zYW1oYWlucmMtZml4LWZpbGVzLWRpcnMtcGF0aC5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNhbWhhaW5yYy1maXgtZmlsZXMtZGlycy1wYXRoLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNhbWhhaW5yYy1maXgtZmlsZXMtZGlycy1wYXRoLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zYW1oYWlucmMtZml4LWZpbGVzLWRpcnMtcGF0aC5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zYW1oYWlucmMucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zYW1oYWlucmMucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2FtaGFpbnJjLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zYW1oYWlucmMucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2VydmVyLXZvbGF0aWxlcyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNlcnZlci12b2xhdGlsZXMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2VydmVyLXZvbGF0aWxlcwpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2VydmVyLXZvbGF0aWxlcwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zZXJ2ZXIuZGVmYXVsdCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNlcnZlci5kZWZhdWx0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNlcnZlci5kZWZhdWx0CnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zZXJ2ZXIuZGVmYXVsdApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zZXJ2ZXIuaW5pdCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNlcnZlci5pbml0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNlcnZlci5pbml0CnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zZXJ2ZXIuaW5pdApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zaGEyNTYtYmlnLWVuZGlhbi5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNoYTI1Ni1iaWctZW5kaWFuLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNoYTI1Ni1iaWctZW5kaWFuLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zaGEyNTYtYmlnLWVuZGlhbi5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zdGFuZGFsb25lLmRlZmF1bHQgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zdGFuZGFsb25lLmRlZmF1bHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc3RhbmRhbG9uZS5kZWZhdWx0CnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zdGFuZGFsb25lLmRlZmF1bHQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc3RhbmRhbG9uZS5pbml0IGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc3RhbmRhbG9uZS5pbml0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXN0YW5kYWxvbmUuaW5pdApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc3RhbmRhbG9uZS5pbml0CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLnNlcnZpY2UgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi5zZXJ2aWNlCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLnNlcnZpY2UKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLnNlcnZpY2UKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL3NhbWhhaW4tY2xpZW50XzQuMy4wLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL3NhbWhhaW4tY2xpZW50XzQuMy4yLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9zYW1oYWluLWNsaWVudF80LjMuMC5iYgpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL3NhbWhhaW4tY2xpZW50XzQuMy4yLmJiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9zYW1oYWluLXNlcnZlcl80LjMuMC5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9zYW1oYWluLXNlcnZlcl80LjMuMi5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vc2FtaGFpbi1zZXJ2ZXJfNC4zLjAuYmIKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9zYW1oYWluLXNlcnZlcl80LjMuMi5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vc2FtaGFpbi1zdGFuZGFsb25lXzQuMy4wLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL3NhbWhhaW4tc3RhbmRhbG9uZV80LjMuMi5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vc2FtaGFpbi1zdGFuZGFsb25lXzQuMy4wLmJiCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vc2FtaGFpbi1zdGFuZGFsb25lXzQuMy4yLmJiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vc2FtaGFpbi5pbmMgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vc2FtaGFpbi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWI5YWYzOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9zYW1oYWluLmluYwpAQCAtMCwwICsxLDE2MyBAQAorREVTQ1JJUFRJT04gPSAiUHJvdmlkZXMgZmlsZSBpbnRlZ3JpdHkgY2hlY2tpbmcgYW5kIGxvZyBmaWxlIG1vbml0b3JpbmcvYW5hbHlzaXMiCitIT01FUEFHRSAgICA9ICJodHRwOi8vd3d3LmxhLXNhbWhuYS5kZS9zYW1oYWluLyIKK0xJQ0VOU0UgICAgID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIiCisKKworU1JDX1VSSSA9ICJodHRwOi8vbGEtc2FtaG5hLmRlL2FyY2hpdmUvc2FtaGFpbl9zaWduZWQtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tY3Jvc3MtY29tcGlsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLW1pcHM2NC1hYXJjaDY0LWRubWFsbG9jLWhhc2gtZml4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tc2FtaGFpbnJjLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tc2FtaGFpbnJjLWZpeC1maWxlcy1kaXJzLXBhdGgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1waWQtcGF0aC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLXNoYTI1Ni1iaWctZW5kaWFuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tY29uZmlndXJlLWFkZC1vcHRpb24tZm9yLXBzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tYXZvaWQtc2VhcmNoaW5nLWhvc3QtZm9yLXBvc3RncmVzcWwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1hZGQtTERGTEFHUy12YXJpYWJsZS1mb3Itc2FtaGFpbl9zZXRwd2QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vJHtJTklUU0NSSVBUX05BTUV9LmluaXQgXAorICAgICAgICAgICBmaWxlOi8vJHtJTklUU0NSSVBUX05BTUV9LmRlZmF1bHQgXAorICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi5zZXJ2aWNlIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWFlNDY3NDE2NGQ3Yzc4ZjViYjM5YzcyYjcwMjljOGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDU4Mjg2NGVmNTZhYjc5NjAzMWU4ZTYxMWVkNjZjNDhhZGViM2EzMGVjMzRlMWE4ZDAwODg1NzI0NDIwMzVmYyIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vd3d3LmxhLXNhbWhuYS5kZS9zYW1oYWluL2FyY2hpdmUuaHRtbCIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInNhbWhhaW5fc2lnbmVkLSg/UDxwdmVyPihcZCsoXC5cZCspKykpXC50YXIiCisKK1MgPSAiJHtXT1JLRElSfS9zYW1oYWluLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgcGtnY29uZmlnIHN5c3RlbWQKKworU0FNSEFJTl9QT1JUID8/PSAiNDk3NzciCitTQU1IQUlOX1NFUlZFUiA/Pz0gIk5VTEwiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICIke0JQTn0iCitJTklUU0NSSVBUX1BBUkFNUyA/PSAiZGVmYXVsdHMiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtJTklUU0NSSVBUX05BTUV9LnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKKyMgbW9kZSBtYXBwaW5nOgorIyBCUE4gICAgICAgICAgICAgICAgTU9ERV9OQU1FICAgU0FNSEFJTl9NT0RFCisjIHNhbWhhaW4tc3RhbmRhbG9uZSBzdGFuZGFsb25lICBubworIyBzYW1oYWluLWNsaWVudCAgICAgY2xpZW50ICAgICAgY2xpZW50CisjIHNhbWhhaW4tc2VydmVyICAgICBzZXJ2ZXIgICAgICBzZXJ2ZXIKK01PREVfTkFNRSA9ICIke0BkLmdldFZhcignQlBOJykuc3BsaXQoJy0nKVsxXX0iCitTQU1IQUlOX01PREUgPSAiJHtAb2UudXRpbHMuaWZlbHNlKGQuZ2V0VmFyKCdNT0RFX05BTUUnKSA9PSAnc3RhbmRhbG9uZScsICdubycsICcke01PREVfTkFNRX0nKX0iCisKKyMgc3VwcG9ydHMgbXlzcWx8cG9zdGdyZXNxbHxvcmFjbGV8b2RiYyBidXQgcG9zdGdyZXNxbCBpcyB0aGUgb25seSBvbmUgYXZhaWxhYmxlCisKK1BBQ0tBR0VDT05GSUcgPz89ICJwb3N0Z3Jlc3FsIHBzIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnaXB2NicsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc2VsaW51eCcsICdzZWxpbnV4IGF1ZGl0JywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdhY2wnLCAnYWNsJywgJycsIGQpfSBcCisiCisKK1BBQ0tBR0VDT05GSUdbcG9zdGdyZXNxbF0gID0gIi0td2l0aC1kYXRhYmFzZT1wb3N0Z3Jlc3FsIC0tZW5hYmxlLXhtbC1sb2cgUEdTUUxfSU5DX0RJUj0ke1NUQUdJTkdfSU5DRElSfSBQR1NRTF9MSUJfRElSPSR7U1RBR0lOR19MSUJESVJ9LCAsIHBvc3RncmVzcWwiCitQQUNLQUdFQ09ORklHW3N1aWRjaGVja10gID0gIi0tZW5hYmxlLXN1aWRjaGVjaywgLCAiCitQQUNLQUdFQ09ORklHW2xvZ3dhdGNoXSAgPSAiLS1lbmFibGUtbG9naW4td2F0Y2gsICwgIgorUEFDS0FHRUNPTkZJR1ttb3VudHNdICA9ICItLWVuYWJsZS1tb3VudHMtY2hlY2ssICwgIgorUEFDS0FHRUNPTkZJR1t1c2VyZmlsZXNdICA9ICItLWVuYWJsZS11c2VyZmlsZXMsICwgIgorUEFDS0FHRUNPTkZJR1tpcHY2XSAgPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCitQQUNLQUdFQ09ORklHW3NlbGludXhdID0gIi0tZW5hYmxlLXNlbGludXgsIC0tZGlzYWJsZS1zZWxpbnV4LCBsaWJzZWxpbnV4IGF0dHIiCitQQUNLQUdFQ09ORklHW2FjbF0gPSAiIC0tZW5hYmxlLXBvc2l4LWFjbCAsIC0tZGlzYWJsZS1wb3NpeC1hY2wsIGFjbCIKK1BBQ0tBR0VDT05GSUdbYXVkaXRdID0gImFjX2N2X2hlYWRlcl9hdXBhcnNlX2g9eWVzLGFjX2N2X2hlYWRlcl9hdXBhcnNlX2g9bm8sYXVkaXQiCitQQUNLQUdFQ09ORklHW3BzXSA9ICItLXdpdGgtcHMtcGF0aD0ke2Jhc2VfYmluZGlyfS9wcywsLHByb2NwcyIKKworZG9fdW5wYWNrX3NhbWhhaW4oKSB7CisgICAgY2QgJHtXT1JLRElSfQorICAgIHRhciAteHp2ZiBzYW1oYWluLSR7UFZ9LnRhci5negorfQorCitweXRob24gZG9fdW5wYWNrX2FwcGVuZCgpIHsKKyAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ2RvX3VucGFja19zYW1oYWluJywgZCkKK30KKworZG9fY29uZmlndXJlX3ByZXBlbmRfYXJtKCkgeworICAgIGV4cG9ydCBzaF9jdl9fX3ZhX2NvcHk9eWVzCit9CisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kX2FhcmNoNjQoKSB7CisgICAgZXhwb3J0IHNoX2N2X19fdmFfY29weT15ZXMKK30KKworIyBJZiB3ZSB1c2Ugb2VfcnVuY29uZiBpbiBkb19jb25maWd1cmUoKSBpdCB3aWxsIGJ5IGRlZmF1bHQKKyMgdXNlIHRoZSBwcmVmaXggLS1vbGRpbmNsdWRlZGlyPS91c3IvaW5jbHVkZSB3aGljaCBpcyBub3QKKyMgcmVjb2duaXplZCBieSBTYW1oYWluJ3MgY29uZmlndXJlIHNjcmlwdCBhbmQgd291bGQgaW52YXJpYWJseQorIyB0aHJvdyBiYWNrIHRoZSBlcnJvciAidW5yZWNvZ25pemVkIG9wdGlvbjogLS1vbGRpbmNsdWRlZGlyPS91c3IvaW5jbHVkZSIKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICBjYXQgPDwgRU9GID4gJHtTfS9jb25maWctc2l0ZS4ke0JQfQorc3NwX2N2X2xpYj1ubworc2hfY3ZfdmFfY29weT15ZXMKK0VPRgorICAgIGV4cG9ydCBDT05GSUdfU0lURT0ke1N9L2NvbmZpZy1zaXRlLiR7QlB9Cit9CisKK2RvX2NvbmZpZ3VyZSAoKSB7CisJYXV0b2NvbmYgLWYKKwkuL2NvbmZpZ3VyZSBcCisJLS1idWlsZD0ke0JVSUxEX1NZU30gXAorCS0taG9zdD0ke0hPU1RfU1lTfSBcCisJLS10YXJnZXQ9JHtUQVJHRVRfU1lTfSBcCisJLS1wcmVmaXg9JHtwcmVmaXh9IFwKKwktLWV4ZWNfcHJlZml4PSR7ZXhlY19wcmVmaXh9IFwKKwktLWJpbmRpcj0ke2JpbmRpcn0gXAorCS0tc2JpbmRpcj0ke3NiaW5kaXJ9IFwKKwktLWxpYmV4ZWNkaXI9JHtsaWJleGVjZGlyfSBcCisJLS1kYXRhZGlyPSR7ZGF0YWRpcn0gXAorCS0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9IFwKKwktLXNoYXJlZHN0YXRlZGlyPSR7c2hhcmVkc3RhdGVkaXJ9IFwKKwktLWxvY2Fsc3RhdGVkaXI9JHtsb2NhbHN0YXRlZGlyfSBcCisJLS1saWJkaXI9JHtsaWJkaXJ9IFwKKwktLWluY2x1ZGVkaXI9JHtpbmNsdWRlZGlyfSBcCisJLS1pbmZvZGlyPSR7aW5mb2Rpcn0gXAorCS0tbWFuZGlyPSR7bWFuZGlyfSBcCisJLS1lbmFibGUtbmV0d29yaz0ke1NBTUhBSU5fTU9ERX0gXAorCS0td2l0aC1waWQtZmlsZT0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi9zYW1oYWluLnBpZCBcCisJLS13aXRoLWRhdGEtZmlsZT0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9zYW1oYWluL3NhbWhhaW5fZmlsZSBcCisJLS1kaXNhYmxlLWRubWFsbG9jIFwKKwkke0VYVFJBX09FQ09ORn0KK30KKworZG9fY29tcGlsZV9wcmVwZW5kX2xpYmMtbXVzbCAoKSB7CisJc2VkIC1pICdzL14jZGVmaW5lIEhBVkVfTUFMTE9DX0guKi8vJyAke0J9L2NvbmZpZy5oCit9CisKKyMgSW5zdGFsbCB0aGUgaW5pdCBzY3JpcHQsIGl0J3MgZGVmYXVsdCBmaWxlLCBhbmQgdGhlIGV4dHJhbmVvdXMKKyMgZG9jdW1lbnRhdGlvbi4KK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKwlvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0nJHtEfScgSU5TVEFMTD1pbnN0YWxsLWJvb3QKKworCWluc3RhbGwgLUQgLW0gNzU1ICR7V09SS0RJUn0vJHtJTklUU0NSSVBUX05BTUV9LmluaXQgXAorCQkke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvJHtJTklUU0NSSVBUX05BTUV9CisKKwlpbnN0YWxsIC1EIC1tIDc1NSAke1dPUktESVJ9LyR7SU5JVFNDUklQVF9OQU1FfS5kZWZhdWx0IFwKKwkJJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC8ke0lOSVRTQ1JJUFRfTkFNRX0KKworCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKwkJaWYgWyAiJHtTQU1IQUlOX01PREV9IiA9ICJubyIgXTsgdGhlbgorCQkgICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vc2FtaGFpbi5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zYW1oYWluLnNlcnZpY2UKKwkJZWxzZQorCQkgICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vc2FtaGFpbi5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS8ke0JQTn0uc2VydmljZQorCQlmaQorCQlpbnN0YWxsIC1EIC1tIDA3NTUgJHtXT1JLRElSfS8ke0JQTn0uaW5pdCAke0R9LyR7bGliZXhlY2Rpcn0vJHtCUE59CisJCXNlZCAtaSAtZSAncyxATElCRElSQCwke2xpYmV4ZWNkaXJ9LCcgXAorCQkgICAgICAgLWUgJ3MsQFNBTUhBSU5fSEVMUEVSQCwke0JQTn0sJyBcCisJCSAgICAgICAtZSAncyxATU9ERV9OQU1FQCwke01PREVfTkFNRX0sJyBcCisJCSAgICAgICAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zYW1oYWluKi5zZXJ2aWNlCisgICAgZmkKKworCWluc3RhbGwgLWQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KKwljcCAtciBkb2NzLyogJHtEfSR7ZG9jZGlyfS8ke0JQTn0KKwljcCAtciBzY3JpcHRzICR7RH0ke2RvY2Rpcn0vJHtCUE59CisJaW5zdGFsbCAtZCAtbSA3NTUgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc2FtaGFpbgorCisJIyBQcmV2ZW50IFFBIHdhcm5pbmdzIGFib3V0IGluc3RhbGxlZCAke2xvY2Fsc3RhdGVkaXJ9L3J1bgorCWlmIFsgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIF07IHRoZW4KKwkJcm1kaXIgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCisJZmkKK30KKworRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0iCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvZmlsZXMvZW1lcmdpbmcucnVsZXMudGFyLmd6IGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9maWxlcy9lbWVyZ2luZy5ydWxlcy50YXIuZ3oKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9maWxlcy9lbWVyZ2luZy5ydWxlcy50YXIuZ3oKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvZmlsZXMvZW1lcmdpbmcucnVsZXMudGFyLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9maWxlcy9ub19saWJodHBfYnVpbGQucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL2ZpbGVzL25vX2xpYmh0cF9idWlsZC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL2ZpbGVzL25vX2xpYmh0cF9idWlsZC5wYXRjaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9maWxlcy9ub19saWJodHBfYnVpbGQucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9maWxlcy9ydW4tcHRlc3QgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL2ZpbGVzL3J1bi1wdGVzdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL2ZpbGVzL3J1bi1wdGVzdApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9maWxlcy9ydW4tcHRlc3QKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9maWxlcy9zdXJpY2F0YS5zZXJ2aWNlIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9maWxlcy9zdXJpY2F0YS5zZXJ2aWNlCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvZmlsZXMvc3VyaWNhdGEuc2VydmljZQpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9maWxlcy9zdXJpY2F0YS5zZXJ2aWNlCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvZmlsZXMvc3VyaWNhdGEueWFtbCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvZmlsZXMvc3VyaWNhdGEueWFtbApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL2ZpbGVzL3N1cmljYXRhLnlhbWwKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvZmlsZXMvc3VyaWNhdGEueWFtbApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL2ZpbGVzL3ZvbGF0aWxlcy4wM19zdXJpY2F0YSBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvZmlsZXMvdm9sYXRpbGVzLjAzX3N1cmljYXRhCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvZmlsZXMvdm9sYXRpbGVzLjAzX3N1cmljYXRhCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL2ZpbGVzL3ZvbGF0aWxlcy4wM19zdXJpY2F0YQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL2xpYmh0cF8wLjUuMjcuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL2xpYmh0cF8wLjUuMjkuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9saWJodHBfMC41LjI3LmJiCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL2xpYmh0cF8wLjUuMjkuYmIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvc3VyaWNhdGEuaW5jIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9zdXJpY2F0YS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2JlNDAzYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvc3VyaWNhdGEuaW5jCkBAIC0wLDAgKzEsOSBAQAorSE9NRVBBR0UgPSAiaHR0cDovL3N1cmljYXRhLWlkcy5vcmcvIgorU0VDVElPTiA9ICJzZWN1cml0eSBNb25pdG9yL0FkbWluIgorTElDRU5TRSA9ICJHUEx2MiIKKworVkVSID0gIjQuMS4zIgorU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm9wZW5pbmZvc2VjZm91bmRhdGlvbi5vcmcvZG93bmxvYWQvc3VyaWNhdGEtJHtWRVJ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjM1YzRhOGU2YmUzOTEwODMxNjQ5YTA3Mzk1MDE5NWRmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZjZGE2YzgwYjc1M2NlMzY0ODNjNmJlNTM1MzU4Yjk3MWYzODkwYjlhYTI3YTU4YzJkMmY3ZTg5ZGQ2YzZhYTAiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL3N1cmljYXRhXzQuMS4zLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9zdXJpY2F0YV80LjEuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNmY1OTM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9zdXJpY2F0YV80LjEuMy5iYgpAQCAtMCwwICsxLDk3IEBACitTVU1NQVJZID0gIlRoZSBTdXJpY2F0YSBFbmdpbmUgaXMgYW4gT3BlbiBTb3VyY2UgTmV4dCBHZW5lcmF0aW9uIEludHJ1c2lvbiBEZXRlY3Rpb24gYW5kIFByZXZlbnRpb24gRW5naW5lIgorCityZXF1aXJlIHN1cmljYXRhLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO2JlZ2lubGluZT0xO2VuZGxpbmU9MjttZDU9YzcwZDhkMzMxMDk0MWRjZGZjZDFlMDI4MDBhMWY1NDgiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9lbWVyZ2luZy5ydWxlcy50YXIuZ3o7bmFtZT1ydWxlcyIKKworU1JDX1VSSSArPSAiIFwKKyAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19zdXJpY2F0YSBcCisgICAgICAgICAgIGZpbGU6Ly9zdXJpY2F0YS55YW1sIFwKKyAgICAgICAgICAgZmlsZTovL3N1cmljYXRhLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW3J1bGVzLm1kNXN1bV0gPSAiMjA1YzVlNWI1NGU0ODkyMDdlZDg5MmMwM2FkNzViMzMiCitTUkNfVVJJW3J1bGVzLnNoYTI1NnN1bV0gPSAiNGFhODEwMTFiMjQ2ODc1YTU3MTgxYzZhMDU2OWNhODg3ODQ1ZTM2NjkwNGJjYWYwMDQzMjIwZjMzYmQ2OTc5OCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBweXRob24zLWRpciBzeXN0ZW1kIHB0ZXN0CisKK0NGTEFHUyArPSAiLURfREVGQVVMVF9TT1VSQ0UiCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTID0gImFjX2N2X2hlYWRlcl9odHBfaHRwX2g9eWVzIGFjX2N2X2xpYl9odHBfaHRwX2Nvbm5fY3JlYXRlPXllcyBcCisgICAgICAgICAgICAgICAgICAgICAgICBhY19jdl9wYXRoX0hBVkVfV0dFVD1ubyBhY19jdl9wYXRoX0hBVkVfQ1VSTD1ubyAiCisKK0VYVFJBX09FQ09ORiArPSAiIC0tZGlzYWJsZS1kZWJ1ZyBcCisgICAgLS1lbmFibGUtbm9uLWJ1bmRsZWQtaHRwIFwKKyAgICAtLWRpc2FibGUtZ2NjbWFyY2gtbmF0aXZlIFwKKyAgICAtLWRpc2FibGUtc3VyaWNhdGEtdXBkYXRlIFwKKyAgICAiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJodHAgamFuc3NvbiBmaWxlIHBjcmUgeWFtbCBwY2FwIGNhcC1uZyBuZXQgbmZuZXRsaW5rIG5zcyBuc3ByIgorUEFDS0FHRUNPTkZJR19hcHBlbmQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncHRlc3QnLCAndW5pdHRlc3RzJywgJycsIGQpfSIKKworUEFDS0FHRUNPTkZJR1todHBdID0gIi0td2l0aC1saWJodHAtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYmh0cC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sICxsaWJodHAsIgorUEFDS0FHRUNPTkZJR1twY3JlXSA9ICItLXdpdGgtbGlicGNyZS1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGlicGNyZS1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sICxsaWJwY3JlICwiIAorUEFDS0FHRUNPTkZJR1t5YW1sXSA9ICItLXdpdGgtbGlieWFtbC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGlieWFtbC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sICxsaWJ5YW1sICwiCitQQUNLQUdFQ09ORklHW3BjYXBdID0gIi0td2l0aC1saWJwY2FwLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJwY2FwLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYnBjYXAgLCIgCitQQUNLQUdFQ09ORklHW2NhcC1uZ10gPSAiLS13aXRoLWxpYmNhcF9uZy1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGliY2FwX25nLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYmNhcC1uZyAsICIKK1BBQ0tBR0VDT05GSUdbbmV0XSA9ICItLXdpdGgtbGlibmV0LWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJuZXQtbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCAsIGxpYm5ldCwiIAorUEFDS0FHRUNPTkZJR1tuZm5ldGxpbmtdID0gIi0td2l0aC1saWJuZm5ldGxpbmstaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYm5mbmV0bGluay1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sICxsaWJuZm5ldGxpbmsgLCIKK1BBQ0tBR0VDT05GSUdbbmZxXSA9ICItLWVuYWJsZS1uZnF1ZXVlLCAtLWRpc2FibGUtbmZxdWV1ZSxsaWJuZXRmaWx0ZXItcXVldWUsIgorCitQQUNLQUdFQ09ORklHW2phbnNzb25dID0gIi0td2l0aC1saWJqYW5zc29uLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJqYW5zc29uLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwsamFuc3NvbiwgamFuc3NvbiIKK1BBQ0tBR0VDT05GSUdbZmlsZV0gPSAiLCxmaWxlLCBmaWxlIgorUEFDS0FHRUNPTkZJR1tuc3NdID0gIi0td2l0aC1saWJuc3MtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYm5zcy1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sIG5zcywgbnNzLCIgCitQQUNLQUdFQ09ORklHW25zcHJdID0gIi0td2l0aC1saWJuc3ByLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJuc3ByLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgbnNwciwgbnNwciwiIAorUEFDS0FHRUNPTkZJR1tweXRob25dID0gIi0tZW5hYmxlLXB5dGhvbiwgLS1kaXNhYmxlLXB5dGhvbiwgcHl0aG9uMywgcHl0aG9uMyIgCitQQUNLQUdFQ09ORklHW3VuaXR0ZXN0c10gPSAiLS1lbmFibGUtdW5pdHRlc3RzLCAtLWRpc2FibGUtdW5pdHRlc3RzLCIgCisKK2V4cG9ydCBsb2dkaXIgPSAiJHtsb2NhbHN0YXRlZGlyfS9sb2ciCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3VyaWNhdGEKKworICAgIG9lX3J1bm1ha2UgaW5zdGFsbC1jb25mIERFU1RESVI9JHtEfQorCisgICAgIyBtaW1pYyBtb3ZlIG9mIGRvd25sb2FkZWQgcnVsZXMgdG8gZV9zeXNjb25mcnVsZXNkaXIKKyAgICBjcCAtcmYgICR7V09SS0RJUn0vcnVsZXMgJHtEfSR7c3lzY29uZmRpcn0vc3VyaWNhdGEKKworICAgIG9lX3J1bm1ha2UgaW5zdGFsbC1ydWxlcyBERVNURElSPSR7RH0KKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3VyaWNhdGEgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuMDNfc3VyaWNhdGEgICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzL3ZvbGF0aWxlcy4wM19zdXJpY2F0YQorCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vdGhyZXNob2xkLmNvbmZpZyAke0R9JHtzeXNjb25mZGlyfS9zdXJpY2F0YQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAgLWUgczovZXRjOiR7c3lzY29uZmRpcn06ZyBcCisgICAgICAgICAtZSBzOi92YXIvcnVuOi9ydW46ZyBcCisgICAgICAgICAtZSBzOi92YXI6JHtsb2NhbHN0YXRlZGlyfTpnIFwKKyAgICAgICAgIC1lIHM6L3Vzci9iaW46JHtiaW5kaXJ9OmcgXAorICAgICAgICAgLWUgczovYmluL2tpbGw6JHtiYXNlX2JpbmRpcn0va2lsbDpnIFwKKyAgICAgICAgIC1lIHM6L3Vzci9saWI6JHtsaWJkaXJ9OmcgXAorICAgICAgICAgJHtXT1JLRElSfS9zdXJpY2F0YS5zZXJ2aWNlID4gJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3VyaWNhdGEuc2VydmljZQorCisgICAgIyBSZW1vdmUgL3Zhci9ydW4gYXMgaXQgaXMgY3JlYXRlZCBvbiBzdGFydHVwCisgICAgcm0gLXJmICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgorCit9CisKK3BrZ19wb3N0aW5zdF9vbnRhcmdldF8ke1BOfSAoKSB7CitpZiBbIC1lIC9ldGMvaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIF0gOyB0aGVuCisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCitmaQorfQorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgorCitQQUNLQUdFUyA9KyAiJHtQTn0tc29ja2V0Y29udHJvbCIKK0ZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0iCitGSUxFU18ke1BOfS1zb2NrZXRjb250cm9sID0gIiR7YmluZGlyfS9zdXJpY2F0YXNjICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgorCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9zdXJpY2F0YS9zdXJpY2F0YS55YW1sIgorCitSREVQRU5EU18ke1BOfS1weXRob24gPSAicHl0aG9uIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL2ZpbGVzL2FkZF9hcm1lYl9hcmNoLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy9hZGRfYXJtZWJfYXJjaC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL2ZpbGVzL2FkZF9hcm1lYl9hcmNoLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL2FkZF9hcm1lYl9hcmNoLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvcnVuLXB0ZXN0IGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy9ydW4tcHRlc3QKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy9ydW4tcHRlc3QKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvZmlsZXMvcnVuLXB0ZXN0CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvdHJpcHdpcmUuY3JvbiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvZmlsZXMvdHJpcHdpcmUuY3JvbgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL2ZpbGVzL3RyaXB3aXJlLmNyb24KcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvZmlsZXMvdHJpcHdpcmUuY3JvbgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL2ZpbGVzL3RyaXB3aXJlLnNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90cmlwd2lyZS5zaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL2ZpbGVzL3RyaXB3aXJlLnNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL3RyaXB3aXJlLnNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvdHJpcHdpcmUudHh0IGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90cmlwd2lyZS50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy90cmlwd2lyZS50eHQKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvZmlsZXMvdHJpcHdpcmUudHh0CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvdHdjZmcudHh0IGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90d2NmZy50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy90d2NmZy50eHQKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvZmlsZXMvdHdjZmcudHh0CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvdHdpbnN0YWxsLnNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90d2luc3RhbGwuc2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy90d2luc3RhbGwuc2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvZmlsZXMvdHdpbnN0YWxsLnNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvdHdwb2wteW9jdG8udHh0IGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90d3BvbC15b2N0by50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy90d3BvbC15b2N0by50eHQKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvZmlsZXMvdHdwb2wteW9jdG8udHh0CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL3RyaXB3aXJlXzIuNC4zLjcuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL3RyaXB3aXJlXzIuNC4zLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI2MzkyYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvdHJpcHdpcmVfMi40LjMuNy5iYgpAQCAtMCwwICsxLDc0IEBACitTVU1NQVJZID0gIlRyaXB3aXJlOiBBIHN5c3RlbSBpbnRlZ3JpdHkgYXNzZXNzbWVudCB0b29sIChJRFMpIgorREVTQ1JJUFRJT04gPSAiT3BlbiBTb3VyY2UgVHJpcHdpcmXCriBzb2Z0d2FyZSBpcyBhIHNlY3VyaXR5IGFuZCBkYXRhIFwKK2ludGVncml0eSB0b29sIHVzZWZ1bCBmb3IgbW9uaXRvcmluZyBhbmQgYWxlcnRpbmcgb24gc3BlY2lmaWMgZmlsZSBjaGFuZ2Uocykgb24gYSByYW5nZSBvZiBzeXN0ZW1zIgorSE9NRVBBR0U9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvdHJpcHdpcmUiCitTRUNUSU9OID0gInNlY3VyaXR5IE1vbml0b3IvQWRtaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWMwNjliZThkYmJlNDhlODliNTgwYWI0ZWQ4NmMxMjciCisKK1NSQ1JFViA9ICI2ZTY0YTllNWI3MGE5MDllYzQzOWJjNWEwOTllM2ZjZjM4YzYxNGIwIgorCitTUkNfVVJJID0gIlwKKwlnaXQ6Ly9naXRodWIuY29tL1RyaXB3aXJlL3RyaXB3aXJlLW9wZW4tc291cmNlLmdpdCBcCisJZmlsZTovL3RyaXB3aXJlLmNyb24gXAorCWZpbGU6Ly90cmlwd2lyZS5zaCBcCisJZmlsZTovL3RyaXB3aXJlLnR4dCBcCisJZmlsZTovL3R3Y2ZnLnR4dCBcCisJZmlsZTovL3R3aW5zdGFsbC5zaCBcCisJZmlsZTovL3R3cG9sLXlvY3RvLnR4dCBcCisJZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgcHRlc3QKKworSU5JVFNDUklQVF9OQU1FID0gInRyaXB3aXJlIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgNDAgUyAuIgorVFJJUFdJUkVfSE9TVCA9ICIke0hPU1RfU1lTfSIKK1RSSVBXSVJFX1RBUkdFVCA9ICIke1RBUkdFVF9TWVN9IgorCitDWFhGTEFHUyArPSAiLWZuby1zdHJpY3QtYWxpYXNpbmciCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLW9wZW5zc2wgIC0tZW5hYmxlLXN0YXRpYyAtLXN5c2NvbmZkaXI9L2V0Yy90cmlwd2lyZSIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9ICR7RH0ke2RhdGFkaXJ9ICR7RH0ke2Jhc2VfbGliZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0gJHtEfSR7bWFuZGlyfSAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vJHtQTn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke1BOfSAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvJHtCUE59L3JlcG9ydAorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW40ICR7RH0ke21hbmRpcn0vbWFuNSAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RvY2Rpcn0vJHtCUE59ICR7RH0ke2RvY2Rpcn0vJHtCUE59L3RlbXBsYXRlcworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9iaW4vKiAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2xpYi8qICR7RH0ke2Jhc2VfbGliZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2xpYi8qICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke1BOfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3RyaXB3aXJlLmNyb24gJHtEfSR7c3lzY29uZmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS90cmlwd2lyZS5zaCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvdHJpcHdpcmUKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS90d2luc3RhbGwuc2ggJHtEfSR7c3lzY29uZmRpcn0vJHtQTn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS90d3BvbC15b2N0by50eHQgJHtEfSR7c3lzY29uZmRpcn0vJHtQTn0vdHdwb2wudHh0CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdHdjZmcudHh0ICR7RH0ke3N5c2NvbmZkaXJ9LyR7UE59CisKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9tYW4vbWFuNC8qICR7RH0ke21hbmRpcn0vbWFuNAorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L21hbi9tYW41LyogJHtEfSR7bWFuZGlyfS9tYW41CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vbWFuL21hbjgvKiAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9wb2xpY3kvdGVtcGxhdGVzLyogJHtEfSR7ZG9jZGlyfS8ke0JQTn0vdGVtcGxhdGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vcG9saWN5Lyp0eHQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9DT1BZSU5HICR7RH0ke2RvY2Rpcn0vJHtCUE59CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vVFJBREVNQVJLICR7RH0ke2RvY2Rpcn0vJHtCUE59CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdHJpcHdpcmUudHh0ICR7RH0ke2RvY2Rpcn0vJHtCUE59Cit9CisKK2RvX2luc3RhbGxfcHRlc3RfYXBwZW5kICgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCisJY3AgLWEgJHtTfS9zcmMvdGVzdC1oYXJuZXNzLyogJHtEfSR7UFRFU1RfUEFUSH0KKwlzZWQgLWkgLWUgJ3NALi4vLi4vLi4vLi4vYmluQCR7c2JpbmRpcn1AJyAgJHtEfSR7UFRFU1RfUEFUSH0vdHd0b29scy5wbQorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9ICR7ZG9jZGlyfS8ke1BOfS8qIgorRklMRVNfJHtQTn0tZGJnICs9ICIke3N5c2NvbmZkaXJ9LyR7UE59Ly5kZWJ1ZyIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsb2NhbHN0YXRlZGlyfS9saWIvJHtQTn0vbGliKi5hIgorRklMRVNfJHtQTn0tcHRlc3QgKz0gIiR7UFRFU1RfUEFUSH0vdGVzdHMgIgorCitSREVQRU5EU18ke1BOfSArPSAiIHBlcmwgbmFubyBtc210cCBjcm9uaWUiCitSREVQRU5EU18ke1BOfS1wdGVzdCA9ICIgcGVybCBsaWItcGVybCBwZXJsLW1vZHVsZXMgIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by01LjAvYXBwYXJtb3IuY2ZnIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by01LjAvYXBwYXJtb3IuY2ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1ZjliYjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLTUuMC9hcHBhcm1vci5jZmcKQEAgLTAsMCArMSwxNSBAQAorQ09ORklHX0FVRElUPXkKKyMgQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfQVVESVQgaXMgbm90IHNldAorQ09ORklHX1NFQ1VSSVRZX05FVFdPUks9eQorIyBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNIGlzIG5vdCBzZXQKK0NPTkZJR19TRUNVUklUWV9QQVRIPXkKKyMgQ09ORklHX1NFQ1VSSVRZX1NFTElOVVggaXMgbm90IHNldAorQ09ORklHX1NFQ1VSSVRZX0FQUEFSTU9SPXkKK0NPTkZJR19TRUNVUklUWV9BUFBBUk1PUl9IQVNIPXkKK0NPTkZJR19TRUNVUklUWV9BUFBBUk1PUl9IQVNIX0RFRkFVTFQ9eQorIyBDT05GSUdfU0VDVVJJVFlfQVBQQVJNT1JfREVCVUcgaXMgbm90IHNldAorQ09ORklHX0lOVEVHUklUWV9BVURJVD15CitDT05GSUdfREVGQVVMVF9TRUNVUklUWV9BUFBBUk1PUj15CisjIENPTkZJR19ERUZBVUxUX1NFQ1VSSVRZX0RBQyBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9TRUNVUklUWT0iYXBwYXJtb3IiCitDT05GSUdfQVVESVRfR0VORVJJQz15CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLTUuMC9hcHBhcm1vcl9vbl9ib290LmNmZyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tNS4wL2FwcGFybW9yX29uX2Jvb3QuY2ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjMzU3NDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLTUuMC9hcHBhcm1vcl9vbl9ib290LmNmZwpAQCAtMCwwICsxIEBACitDT05GSUdfU0VDVVJJVFlfQVBQQVJNT1JfQk9PVFBBUkFNX1ZBTFVFPTEKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tNS4wL3NtYWNrLWRlZmF1bHQtbHNtLmNmZyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tNS4wL3NtYWNrLWRlZmF1bHQtbHNtLmNmZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNWM0ODQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by01LjAvc21hY2stZGVmYXVsdC1sc20uY2ZnCkBAIC0wLDAgKzEsMiBAQAorQ09ORklHX0RFRkFVTFRfU0VDVVJJVFk9InNtYWNrIgorQ09ORklHX0RFRkFVTFRfU0VDVVJJVFlfU01BQ0s9eQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by01LjAvc21hY2suY2ZnIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by01LjAvc21hY2suY2ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyZjQ2NWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLTUuMC9zbWFjay5jZmcKQEAgLTAsMCArMSw4IEBACitDT05GSUdfSVBfTkZfU0VDVVJJVFk9bQorQ09ORklHX0lQNl9ORl9TRUNVUklUWT1tCitDT05GSUdfRVhUMl9GU19TRUNVUklUWT15CitDT05GSUdfRVhUM19GU19TRUNVUklUWT15CitDT05GSUdfRVhUNF9GU19TRUNVUklUWT15CitDT05GSUdfU0VDVVJJVFk9eQorQ09ORklHX1NFQ1VSSVRZX1NNQUNLPXkKK0NPTkZJR19UTVBGU19YQVRUUj15CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvL2FwcGFybW9yLmNmZyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8vYXBwYXJtb3IuY2ZnCmluZGV4IDFkYzQxNjguLmI1ZjliYjIgMTAwNjQ0Ci0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8vYXBwYXJtb3IuY2ZnCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8vYXBwYXJtb3IuY2ZnCkBAIC0xLDEzICsxLDE1IEBACiBDT05GSUdfQVVESVQ9eQotQ09ORklHX0FVRElUU1lTQ0FMTD15Ci1DT05GSUdfQVVESVRfV0FUQ0g9eQotQ09ORklHX0FVRElUX1RSRUU9eQogIyBDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9BVURJVCBpcyBub3Qgc2V0CitDT05GSUdfU0VDVVJJVFlfTkVUV09SSz15CisjIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0gaXMgbm90IHNldAogQ09ORklHX1NFQ1VSSVRZX1BBVEg9eQogIyBDT05GSUdfU0VDVVJJVFlfU0VMSU5VWCBpcyBub3Qgc2V0CiBDT05GSUdfU0VDVVJJVFlfQVBQQVJNT1I9eQotQ09ORklHX1NFQ1VSSVRZX0FQUEFSTU9SX0JPT1RQQVJBTV9WQUxVRT0xCiBDT05GSUdfU0VDVVJJVFlfQVBQQVJNT1JfSEFTSD15CiBDT05GSUdfU0VDVVJJVFlfQVBQQVJNT1JfSEFTSF9ERUZBVUxUPXkKKyMgQ09ORklHX1NFQ1VSSVRZX0FQUEFSTU9SX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19JTlRFR1JJVFlfQVVESVQ9eQotIyBDT05GSUdfREVGQVVMVF9TRUNVUklUWV9BUFBBUk1PUiBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9TRUNVUklUWV9BUFBBUk1PUj15CisjIENPTkZJR19ERUZBVUxUX1NFQ1VSSVRZX0RBQyBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9TRUNVUklUWT0iYXBwYXJtb3IiCitDT05GSUdfQVVESVRfR0VORVJJQz15CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvL2FwcGFybW9yX29uX2Jvb3QuY2ZnIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by9hcHBhcm1vcl9vbl9ib290LmNmZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzM1NzQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by9hcHBhcm1vcl9vbl9ib290LmNmZwpAQCAtMCwwICsxIEBACitDT05GSUdfU0VDVVJJVFlfQVBQQVJNT1JfQk9PVFBBUkFNX1ZBTFVFPTEKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4lLmJiYXBwZW5kIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LiUuYmJhcHBlbmQKaW5kZXggMDY3YmU4Zi4uMzIxMzkyYyAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LiUuYmJhcHBlbmQKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LiUuYmJhcHBlbmQKQEAgLTIsNiArMiw3IEBACiAKIFNSQ19VUkkgKz0gIlwKICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdhcHBhcm1vcicsICcgZmlsZTovL2FwcGFybW9yLmNmZycsICcnLCBkKX0gXAorICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2FwcGFybW9yJywgJyBmaWxlOi8vYXBwYXJtb3Jfb25fYm9vdC5jZmcnLCAnJywgZCl9IFwKICIKIAogU1JDX1VSSSArPSAiXApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b181LjAuJS5iYmFwcGVuZCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNS4wLiUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjgxMGUyMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNS4wLiUuYmJhcHBlbmQKQEAgLTAsMCArMSwxMSBAQAorRklMRVNFWFRSQVBBVEhTX3ByZXBlbmQgOj0gIiR7VEhJU0RJUn0vJHtQTn0tNS4wOiIKKworU1JDX1VSSSArPSAiXAorICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2FwcGFybW9yJywgJyBmaWxlOi8vYXBwYXJtb3IuY2ZnJywgJycsIGQpfSBcCisgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYXBwYXJtb3InLCAnIGZpbGU6Ly9hcHBhcm1vcl9vbl9ib290LmNmZycsICcnLCBkKX0gXAorIgorCitTUkNfVVJJICs9ICJcCisgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc21hY2snLCAnIGZpbGU6Ly9zbWFjay5jZmcnLCAnJywgZCl9IFwKKyAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzbWFjaycsICcgZmlsZTovL3NtYWNrLWRlZmF1bHQtbHNtLmNmZycsICcnLCBkKX0gXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9BcHBBcm1vci9hcHBhcm1vcl8yLjEzLjIuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2FwcGFybW9yXzIuMTMuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmVkNjExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9BcHBBcm1vci9hcHBhcm1vcl8yLjEzLjIuYmIKQEAgLTAsMCArMSwxNjAgQEAKK1NVTU1BUlkgPSAiQXBwQXJtb3IgYW5vdGhlciBNQUMgY29udHJvbCBzeXN0ZW0iCitERVNDUklQVElPTiA9ICJ1c2VyLXNwYWNlIHBhcnNlciB1dGlsaXR5IGZvciBBcHBBcm1vciBcCisgVGhpcyBwcm92aWRlcyB0aGUgc3lzdGVtIGluaXRpYWxpemF0aW9uIHNjcmlwdHMgbmVlZGVkIHRvIHVzZSB0aGUgXAorIEFwcEFybW9yIE1hbmRhdG9yeSBBY2Nlc3MgQ29udHJvbCBzeXN0ZW0sIGluY2x1ZGluZyB0aGUgQXBwQXJtb3IgUGFyc2VyIFwKKyB3aGljaCBpcyByZXF1aXJlZCB0byBjb252ZXJ0IEFwcEFybW9yIHRleHQgcHJvZmlsZXMgaW50byBtYWNoaW5lLXJlYWRhYmxlIFwKKyBwb2xpY2llcyB0aGF0IGFyZSBsb2FkZWQgaW50byB0aGUga2VybmVsIGZvciB1c2Ugd2l0aCB0aGUgQXBwQXJtb3IgTGludXggXAorIFNlY3VyaXR5IE1vZHVsZS4iCitIT01FQVBBR0UgPSAiaHR0cDovL2FwcGFybW9yLm5ldC8iCitTRUNUSU9OID0gImFkbWluIgorCitMSUNFTlNFID0gIkdQTHYyICYgR1BMdjIrICYgQlNELTMtQ2xhdXNlICYgTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtTfS9MSUNFTlNFO21kNT1mZDU3YTRiMGJjNzgyZDdiODBmZDQzMWYxMGJiZjlkMCIKKworREVQRU5EUyA9ICJiaXNvbi1uYXRpdmUgYXByIGdldHRleHQtbmF0aXZlIGNvcmV1dGlscy1uYXRpdmUiCisKK1NSQ19VUkkgPSAiIFwKKwlodHRwOi8vYXJjaGl2ZS51YnVudHUuY29tL3VidW50dS9wb29sL21haW4vYS8ke0JQTn0vJHtCUE59XyR7UFZ9Lm9yaWcudGFyLmd6IFwKKwlmaWxlOi8vZGlzYWJsZV9wZXJsX2hfY2hlY2sucGF0Y2ggXAorCWZpbGU6Ly9jcm9zc2NvbXBpbGVfcGVybF9iaW5kaW5ncy5wYXRjaCBcCisJZmlsZTovL2FwcGFybW9yLnJjIFwKKwlmaWxlOi8vZnVuY3Rpb25zIFwKKwlmaWxlOi8vYXBwYXJtb3IgXAorCWZpbGU6Ly9hcHBhcm1vci5zZXJ2aWNlIFwKKwlmaWxlOi8vcnVuLXB0ZXN0IFwKKwkiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyNDM5YjM1MjY2YjVhM2E0NjFiMGEyZGJhNmU4NjNjMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4NDRkZWY5OTI2ZGZkYTVjNzg1ODQyOGQwNmU0NGFmYzgwNTczZjk3MDY0NThiNmU3MjgyZWRiYjQwYjExYTMwIgorCitQQVJBTExFTF9NQUtFID0gIiIKKworaW5oZXJpdCBwa2djb25maWcgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBweXRob24zbmF0aXZlIHBlcmxuYXRpdmUgcHRlc3QgY3BhbiBtYW5wYWdlcyBzeXN0ZW1kCisKK1BBQ0tBR0VDT05GSUcgPz89ICJweXRob24gcGVybCIKK1BBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi0tZW5hYmxlLW1hbi1wYWdlcywgLS1kaXNhYmxlLW1hbi1wYWdlcyIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICItLXdpdGgtcHl0aG9uLCAtLXdpdGhvdXQtcHl0aG9uLCBweXRob24zIHN3aWctbmF0aXZlIgorUEFDS0FHRUNPTkZJR1twZXJsXSA9ICItLXdpdGgtcGVybCwgLS13aXRob3V0LXBlcmwsIHBlcmwgcGVybC1uYXRpdmUgc3dpZy1uYXRpdmUiCitQQUNLQUdFQ09ORklHW2FwYWNoZTJdID0gIiwsYXBhY2hlMiwiCisKK1BBTUxJQj0iJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnMScsICcwJywgZCl9IgorSFRUUEQ9IiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2FwYWNoZTInLCAnMScsICcwJywgZCl9IgorCisKK3B5dGhvbigpIHsKKyAgICBpZiAnYXBhY2hlMicgaW4gZC5nZXRWYXIoJ1BBQ0tBR0VDT05GSUcnKS5zcGxpdCgpIGFuZCBcCisgICAgICAgICAgICAnd2Vic2VydmVyJyBub3QgaW4gZC5nZXRWYXIoJ0JCRklMRV9DT0xMRUNUSU9OUycpLnNwbGl0KCk6CisgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoJ1JlcXVpcmVzIG1ldGEtd2Vic2VydmVyIHRvIGJlIHByZXNlbnQuJykKK30KKworRElTQUJMRV9TVEFUSUMgPSAiIgorCitkb19jb25maWd1cmUoKSB7CisJY2QgJHtTfS9saWJyYXJpZXMvbGliYXBwYXJtb3IKKwlhY2xvY2FsCisJYXV0b2NvbmYgLS1mb3JjZQorCWxpYnRvb2xpemUgLS1hdXRvbWFrZSAtYyAtLWZvcmNlCisJYXV0b21ha2UgLWFjCisJLi9jb25maWd1cmUgJHtDT05GSUdVUkVPUFRTfSAke0VYVFJBX09FQ09ORn0KK30KKworZG9fY29tcGlsZSAoKSB7CisgICAgICAgICMgRml4ZXM6CisgICAgICAgICMgfCBzZWQgLWllICdzLy8vZycgTWFrZWZpbGUucGVybAorICAgICAgICAjIHwgc2VkOiAtZSBleHByZXNzaW9uICMxLCBjaGFyIDA6IG5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbgorICAgICAgICAjfCBNYWtlZmlsZTo0Nzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdNYWtlZmlsZS5wZXJsJyBmYWlsZWQKKyAgICAgICAgc2VkIC1pICJzQHNlZCAtaWUgJ3MvLy9nJyBNYWtlZmlsZS5wZXJsQEAiICR7U30vbGlicmFyaWVzL2xpYmFwcGFybW9yL3N3aWcvcGVybC9NYWtlZmlsZQorCisKKwlvZV9ydW5tYWtlIC1DICR7Qn0vbGlicmFyaWVzL2xpYmFwcGFybW9yCisgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS9iaW51dGlscworICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vdXRpbHMKKyAgICAgICAgb2VfcnVubWFrZSAtQyAke0J9L3BhcnNlcgorICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vcHJvZmlsZXMKKworCWlmIHRlc3QgLXogIiR7SFRUUER9IiA7IHRoZW4KKyAgICAgICAgCW9lX3J1bm1ha2UgLUMgJHtCfS9jaGFuZ2VoYXQvbW9kX2FwcGFybW9yCisJZmkJCisKKwlpZiB0ZXN0IC16ICIke1BBTUxJQn0iIDsgdGhlbgorICAgICAgICAJb2VfcnVubWFrZSAtQyAke0J9L2NoYW5nZWhhdC9wYW1fYXBwYXJtb3IKKwlmaQorfQorCitkb19pbnN0YWxsICgpIHsKKwlpbnN0YWxsIC1kICR7RH0vJHtJTklUX0RfRElSfQorCWluc3RhbGwgLWQgJHtEfS9saWIvYXBwYXJtb3IKKwkJCisJb2VfcnVubWFrZSAtQyAke0J9L2xpYnJhcmllcy9saWJhcHBhcm1vciBERVNURElSPSIke0R9IiBpbnN0YWxsCisJb2VfcnVubWFrZSAtQyAke0J9L2JpbnV0aWxzIERFU1RESVI9IiR7RH0iIGluc3RhbGwKKwlvZV9ydW5tYWtlIC1DICR7Qn0vdXRpbHMgREVTVERJUj0iJHtEfSIgaW5zdGFsbAorCW9lX3J1bm1ha2UgLUMgJHtCfS9wYXJzZXIgREVTVERJUj0iJHtEfSIgaW5zdGFsbAorCW9lX3J1bm1ha2UgLUMgJHtCfS9wcm9maWxlcyBERVNURElSPSIke0R9IiBpbnN0YWxsCisKKwkjIElmIHBlcmwgaXMgZGlzYWJsZWQgdGhpcyBzY3JpcHQgd29uJ3QgYmUgYW55IGdvb2QKKwlpZiAhICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywncGVybCcsJ3RydWUnLCdmYWxzZScsIGQpfTsgdGhlbgorCQlybSAtZiAke0R9JHtzYmluZGlyfS9hYS1ub3RpZnkKKwlmaQorCisJaWYgdGVzdCAteiAiJHtIVFRQRH0iIDsgdGhlbgorCQlvZV9ydW5tYWtlIC1DICR7Qn0vY2hhbmdlaGF0L21vZF9hcHBhcm1vciBERVNURElSPSIke0R9IiBpbnN0YWxsCisJZmkKKworCWlmIHRlc3QgLXogIiR7UEFNTElCfSIgOyB0aGVuCisJCW9lX3J1bm1ha2UgLUMgJHtCfS9jaGFuZ2VoYXQvcGFtX2FwcGFybW9yIERFU1RESVI9IiR7RH0iIGluc3RhbGwKKwlmaQorCisJIyBhYS1lYXN5cHJvZiBpcyBpbnN0YWxsZWQgYnkgcHl0aG9uLXRvb2xzLXNldHVwLnB5LCBmaXggaXQgdXAKKwlzZWQgLWkgLWUgJ3M6L3Vzci9iaW4vZW52Lio6L3Vzci9iaW4vcHl0aG9uMzonICR7RH0ke2JpbmRpcn0vYWEtZWFzeXByb2YKKwljaG1vZCAwNzU1ICR7RH0ke2JpbmRpcn0vYWEtZWFzeXByb2YKKworCWluc3RhbGwgJHtXT1JLRElSfS9hcHBhcm1vciAke0R9LyR7SU5JVF9EX0RJUn0vYXBwYXJtb3IKKwlpbnN0YWxsICR7V09SS0RJUn0vZnVuY3Rpb25zICR7RH0vbGliL2FwcGFybW9yCisJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQorCWluc3RhbGwgJHtXT1JLRElSfS9hcHBhcm1vci5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9Cit9CisKK2RvX2NvbXBpbGVfcHRlc3QgKCkgeworICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vdGVzdHMvcmVncmVzc2lvbi9hcHBhcm1vcgorICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vcGFyc2VyL3RzdAorICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vbGlicmFyaWVzL2xpYmFwcGFybW9yCit9CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworCXQ9JHtEfS8ke1BURVNUX1BBVEh9L3Rlc3RzdWl0ZQorCWluc3RhbGwgLWQgJHt0fQorCWluc3RhbGwgLWQgJHt0fS90ZXN0cy9yZWdyZXNzaW9uL2FwcGFybW9yCisJY3AgLXJmICR7Qn0vdGVzdHMvcmVncmVzc2lvbi9hcHBhcm1vciAke3R9L3Rlc3RzL3JlZ3Jlc3Npb24KKworCWluc3RhbGwgLWQgJHt0fS9wYXJzZXIvdHN0CisJY3AgLXJmICR7Qn0vcGFyc2VyL3RzdCAke3R9L3BhcnNlcgorCWNwICR7Qn0vcGFyc2VyL2FwcGFybW9yX3BhcnNlciAke3R9L3BhcnNlcgorCWNwICR7Qn0vcGFyc2VyL2Zyb2Jfc2xhY2tfcmMgJHt0fS9wYXJzZXIKKworCWluc3RhbGwgLWQgJHt0fS9saWJyYXJpZXMvbGliYXBwYXJtb3IKKwljcCAtcmYgJHtCfS9saWJyYXJpZXMvbGliYXBwYXJtb3IgJHt0fS9saWJyYXJpZXMKKworCWluc3RhbGwgLWQgJHt0fS9jb21tb24KKwljcCAtcmYgJHtCfS9jb21tb24gJHt0fQorCisJaW5zdGFsbCAtZCAke3R9L2JpbnV0aWxzCisJY3AgLXJmICR7Qn0vYmludXRpbHMgJHt0fQorfQorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59IgorSU5JVFNDUklQVF9OQU1FID0gImFwcGFybW9yIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMTYgMiAzIDQgNSAuIHN0b3AgMzUgMCAxIDYgLiIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJhcHBhcm1vci5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitQQUNLQUdFUyArPSAibW9kLSR7UE59IgorCitGSUxFU18ke1BOfSArPSAiL2xpYi9hcHBhcm1vci8gJHtzeXNjb25mZGlyfS9hcHBhcm1vciAke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSIKK0ZJTEVTX21vZC0ke1BOfSA9ICIke2xpYmRpcn0vYXBhY2hlMi9tb2R1bGVzLyoiCisKK1JERVBFTkRTXyR7UE59ICs9ICJiYXNoIGxzYiIKK1JERVBFTkRTXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsJ3B5dGhvbicsJ3B5dGhvbjMgcHl0aG9uMy1tb2R1bGVzJywnJywgZCl9IgorUkRFUEVORFNfJHtQTn1fcmVtb3ZlICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsJ3BlcmwnLCcnLCdwZXJsJywgZCl9IgorUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gInBlcmwgY29yZXV0aWxzIGRidXMtbGliIGJhc2giCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvZmlsZXMvYXBwYXJtb3IgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL2FwcGFybW9yCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvZmlsZXMvYXBwYXJtb3IKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvYXBwYXJtb3IKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9maWxlcy9hcHBhcm1vci5yYyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvYXBwYXJtb3IucmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9maWxlcy9hcHBhcm1vci5yYwpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9BcHBBcm1vci9maWxlcy9hcHBhcm1vci5yYwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2FwcGFybW9yLnNlcnZpY2UgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL2FwcGFybW9yLnNlcnZpY2UKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9maWxlcy9hcHBhcm1vci5zZXJ2aWNlCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL2FwcGFybW9yLnNlcnZpY2UKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9maWxlcy9jcm9zc2NvbXBpbGVfcGVybF9iaW5kaW5ncy5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvY3Jvc3Njb21waWxlX3BlcmxfYmluZGluZ3MucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9maWxlcy9jcm9zc2NvbXBpbGVfcGVybF9iaW5kaW5ncy5wYXRjaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9BcHBBcm1vci9maWxlcy9jcm9zc2NvbXBpbGVfcGVybF9iaW5kaW5ncy5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2Rpc2FibGVfcGRmLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9BcHBBcm1vci9maWxlcy9kaXNhYmxlX3BkZi5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2Rpc2FibGVfcGRmLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL2Rpc2FibGVfcGRmLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvZmlsZXMvZGlzYWJsZV9wZXJsX2hfY2hlY2sucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL2Rpc2FibGVfcGVybF9oX2NoZWNrLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvZmlsZXMvZGlzYWJsZV9wZXJsX2hfY2hlY2sucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvZGlzYWJsZV9wZXJsX2hfY2hlY2sucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9maWxlcy9mdW5jdGlvbnMgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL2Z1bmN0aW9ucwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2Z1bmN0aW9ucwpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9BcHBBcm1vci9maWxlcy9mdW5jdGlvbnMKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9maWxlcy9ydW4tcHRlc3QgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL3J1bi1wdGVzdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL3J1bi1wdGVzdApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9BcHBBcm1vci9maWxlcy9ydW4tcHRlc3QKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zbWFjay9maWxlcy9ydW4tcHRlc3QgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL3NtYWNrL2ZpbGVzL3J1bi1wdGVzdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NtYWNrL2ZpbGVzL3J1bi1wdGVzdApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9zbWFjay9maWxlcy9ydW4tcHRlc3QKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zbWFjay9maWxlcy9zbWFja19nZW5lcmF0b3JfbWFrZV9maXh1cC5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvc21hY2svZmlsZXMvc21hY2tfZ2VuZXJhdG9yX21ha2VfZml4dXAucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zbWFjay9maWxlcy9zbWFja19nZW5lcmF0b3JfbWFrZV9maXh1cC5wYXRjaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9zbWFjay9maWxlcy9zbWFja19nZW5lcmF0b3JfbWFrZV9maXh1cC5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NtYWNrL3NtYWNrXzEuMy4xLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9zbWFjay9zbWFja18xLjMuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NtYWNrL3NtYWNrXzEuMy4xLmJiCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL3NtYWNrL3NtYWNrXzEuMy4xLmJiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtcGVybC9wZXJsL2xpYndoaXNrZXIyLXBlcmxfMi41LmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXBlcmwvcGVybC9saWJ3aGlza2VyMi1wZXJsXzIuNS5iYgppbmRleCBkOWFmNDMwLi43MTg1N2FiIDEwMDY0NAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtcGVybC9wZXJsL2xpYndoaXNrZXIyLXBlcmxfMi41LmJiCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1wZXJsL3BlcmwvbGlid2hpc2tlcjItcGVybF8yLjUuYmIKQEAgLTI0LDQgKzI0LDYgQEAKICAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9IElOU1RBTExESVI9JHtQRVJMTElCRElSU30vdmVuZG9yX3BlcmwvJHtQRVJMVkVSU0lPTn0gTUFORElSPSR7ZGF0YWRpcn0vcGVybC8ke1BFUkxWRVJTSU9OfQogfQogCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9wZXJsIgorCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9hcHBhcm1vcl8yLjEyLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2FwcGFybW9yXzIuMTIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzZjhkYzkuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2FwcGFybW9yXzIuMTIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNTkgKzAsMCBAQAotU1VNTUFSWSA9ICJBcHBBcm1vciBhbm90aGVyIE1BQyBjb250cm9sIHN5c3RlbSIKLURFU0NSSVBUSU9OID0gInVzZXItc3BhY2UgcGFyc2VyIHV0aWxpdHkgZm9yIEFwcEFybW9yIFwKLSBUaGlzIHByb3ZpZGVzIHRoZSBzeXN0ZW0gaW5pdGlhbGl6YXRpb24gc2NyaXB0cyBuZWVkZWQgdG8gdXNlIHRoZSBcCi0gQXBwQXJtb3IgTWFuZGF0b3J5IEFjY2VzcyBDb250cm9sIHN5c3RlbSwgaW5jbHVkaW5nIHRoZSBBcHBBcm1vciBQYXJzZXIgXAotIHdoaWNoIGlzIHJlcXVpcmVkIHRvIGNvbnZlcnQgQXBwQXJtb3IgdGV4dCBwcm9maWxlcyBpbnRvIG1hY2hpbmUtcmVhZGFibGUgXAotIHBvbGljaWVzIHRoYXQgYXJlIGxvYWRlZCBpbnRvIHRoZSBrZXJuZWwgZm9yIHVzZSB3aXRoIHRoZSBBcHBBcm1vciBMaW51eCBcCi0gU2VjdXJpdHkgTW9kdWxlLiIKLUhPTUVBUEFHRSA9ICJodHRwOi8vYXBwYXJtb3IubmV0LyIKLVNFQ1RJT04gPSAiYWRtaW4iCi0KLUxJQ0VOU0UgPSAiR1BMdjIgJiBHUEx2MisgJiBCU0QtMy1DbGF1c2UgJiBMR1BMdjIuMSsiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1N9L0xJQ0VOU0U7bWQ1PWZkNTdhNGIwYmM3ODJkN2I4MGZkNDMxZjEwYmJmOWQwIgotCi1ERVBFTkRTID0gImJpc29uLW5hdGl2ZSBhcHIgZ2V0dGV4dC1uYXRpdmUgY29yZXV0aWxzLW5hdGl2ZSIKLQotU1JDX1VSSSA9ICIgXAotCWh0dHA6Ly9hcmNoaXZlLnVidW50dS5jb20vdWJ1bnR1L3Bvb2wvbWFpbi9hLyR7QlBOfS8ke0JQTn1fJHtQVn0ub3JpZy50YXIuZ3ogXAotCWZpbGU6Ly9kaXNhYmxlX3BlcmxfaF9jaGVjay5wYXRjaCBcCi0JZmlsZTovL2Nyb3NzY29tcGlsZV9wZXJsX2JpbmRpbmdzLnBhdGNoIFwKLQlmaWxlOi8vYXBwYXJtb3IucmMgXAotCWZpbGU6Ly9mdW5jdGlvbnMgXAotCWZpbGU6Ly9hcHBhcm1vciBcCi0JZmlsZTovL2FwcGFybW9yLnNlcnZpY2UgXAotCWZpbGU6Ly9ydW4tcHRlc3QgXAotCSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjQ5MDU0ZjU4MDQyZjhlNTFlYTkyY2M4NjY1NzVhODMzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhhMmIwY2QwODNmYWE0ZDA2NDBmNTc5MDI0YmUzYTYyOWZhYTdkYjNiOTk1NDA3OThhMWEwNTBlMmVhYmEwNTYiCi0KLVBBUkFMTEVMX01BS0UgPSAiIgotCi1pbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kIHB5dGhvbjNuYXRpdmUgcGVybG5hdGl2ZSBwdGVzdCBjcGFuCi1pbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdWSVJUVUFMLVJVTlRJTUVfaW5pdF9tYW5hZ2VyJywnc3lzdGVtZCcsJ3N5c3RlbWQnLCcnLCBkKX0KLQotUyA9ICIke1dPUktESVJ9L2FwcGFybW9yLSR7UFZ9IgotCi1QQUNLQUdFQ09ORklHID89Im1hbiBweXRob24gcGVybCIKLVBBQ0tBR0VDT05GSUdbbWFuXSA9ICItLWVuYWJsZS1tYW4tcGFnZXMsIC0tZGlzYWJsZS1tYW4tcGFnZXMiCi1QQUNLQUdFQ09ORklHW3B5dGhvbl0gPSAiLS13aXRoLXB5dGhvbiwgLS13aXRob3V0LXB5dGhvbiwgcHl0aG9uMyBzd2lnLW5hdGl2ZSIKLVBBQ0tBR0VDT05GSUdbcGVybF0gPSAiLS13aXRoLXBlcmwsIC0td2l0aG91dC1wZXJsLCBwZXJsIHBlcmwtbmF0aXZlIHN3aWctbmF0aXZlIgotUEFDS0FHRUNPTkZJR1thcGFjaGUyXSA9ICIsLGFwYWNoZTIsIgotCi1QQU1MSUI9IiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJzEnLCAnMCcsIGQpfSIKLUhUVFBEPSIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdhcGFjaGUyJywgJzEnLCAnMCcsIGQpfSIKLQotCi1weXRob24oKSB7Ci0gICAgaWYgJ2FwYWNoZTInIGluIGQuZ2V0VmFyKCdQQUNLQUdFQ09ORklHJykuc3BsaXQoKSBhbmQgXAotICAgICAgICAgICAgJ3dlYnNlcnZlcicgbm90IGluIGQuZ2V0VmFyKCdCQkZJTEVfQ09MTEVDVElPTlMnKS5zcGxpdCgpOgotICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCdSZXF1aXJlcyBtZXRhLXdlYnNlcnZlciB0byBiZSBwcmVzZW50LicpCi19Ci0KLUNPTkZJR1VSRU9QVFNfcmVtb3ZlID0gIi0tZGlzYWJsZS1zdGF0aWMiCi1FWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLWVuYWJsZS1zdGF0aWMiCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLQljZCAke1N9L2xpYnJhcmllcy9saWJhcHBhcm1vcgotCWFjbG9jYWwKLQlhdXRvY29uZiAtLWZvcmNlCi0JbGlidG9vbGl6ZSAtLWF1dG9tYWtlIC1jIC0tZm9yY2UKLQlhdXRvbWFrZSAtYWMKLQkuL2NvbmZpZ3VyZSAke0NPTkZJR1VSRU9QVFN9ICR7RVhUUkFfT0VDT05GfQotCXNlZCAtaSAtZSAncyNeWUFDQy4qI1lBQ0MgOj0gYmlzb24jJyAke1N9L3BhcnNlci9NYWtlZmlsZQotCXNlZCAtaSAtZSAncyNeTEVYLiojTEVYIDo9IGZsZXgjJyAke1N9L3BhcnNlci9NYWtlZmlsZQotfQotCi1kb19jb21waWxlICgpIHsKLQlvZV9ydW5tYWtlIC1DICR7Qn0vbGlicmFyaWVzL2xpYmFwcGFybW9yCi0gICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS9iaW51dGlscwotICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vdXRpbHMKLSAgICAgICAgb2VfcnVubWFrZSAtQyAke0J9L3BhcnNlcgotICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vcHJvZmlsZXMKLQotCWlmIHRlc3QgLXogIiR7SFRUUER9IiA7IHRoZW4KLSAgICAgICAgCW9lX3J1bm1ha2UgLUMgJHtCfS9jaGFuZ2VoYXQvbW9kX2FwcGFybW9yCi0JZmkJCi0KLQlpZiB0ZXN0IC16ICIke1BBTUxJQn0iIDsgdGhlbgotICAgICAgICAJb2VfcnVubWFrZSAtQyAke0J9L2NoYW5nZWhhdC9wYW1fYXBwYXJtb3IKLQlmaQotfQotCi1kb19pbnN0YWxsICgpIHsKLQlpbnN0YWxsIC1kICR7RH0vJHtJTklUX0RfRElSfQotCWluc3RhbGwgLWQgJHtEfS9saWIvYXBwYXJtb3IKLQkJCi0Jb2VfcnVubWFrZSAtQyAke0J9L2xpYnJhcmllcy9saWJhcHBhcm1vciBERVNURElSPSIke0R9IiBpbnN0YWxsCi0Jb2VfcnVubWFrZSAtQyAke0J9L2JpbnV0aWxzIERFU1RESVI9IiR7RH0iIGluc3RhbGwKLQlvZV9ydW5tYWtlIC1DICR7Qn0vdXRpbHMgREVTVERJUj0iJHtEfSIgaW5zdGFsbAotCW9lX3J1bm1ha2UgLUMgJHtCfS9wYXJzZXIgREVTVERJUj0iJHtEfSIgaW5zdGFsbAotCW9lX3J1bm1ha2UgLUMgJHtCfS9wcm9maWxlcyBERVNURElSPSIke0R9IiBpbnN0YWxsCi0KLQlpZiB0ZXN0IC16ICIke0hUVFBEfSIgOyB0aGVuCi0JCW9lX3J1bm1ha2UgLUMgJHtCfS9jaGFuZ2VoYXQvbW9kX2FwcGFybW9yIERFU1RESVI9IiR7RH0iIGluc3RhbGwKLQlmaQotCi0JaWYgdGVzdCAteiAiJHtQQU1MSUJ9IiA7IHRoZW4KLQkJb2VfcnVubWFrZSAtQyAke0J9L2NoYW5nZWhhdC9wYW1fYXBwYXJtb3IgREVTVERJUj0iJHtEfSIgaW5zdGFsbAotCWZpCi0KLQkjIGFhLWVhc3lwcm9mIGlzIGluc3RhbGxlZCBieSBweXRob24tdG9vbHMtc2V0dXAucHksIGZpeCBpdCB1cAotCXNlZCAtaSAtZSAnczovdXNyL2Jpbi9lbnYuKjovdXNyL2Jpbi9weXRob24zOicgJHtEfSR7YmluZGlyfS9hYS1lYXN5cHJvZgotCWNobW9kIDA3NTUgJHtEfSR7YmluZGlyfS9hYS1lYXN5cHJvZgotCi0JaW5zdGFsbCAke1dPUktESVJ9L2FwcGFybW9yICR7RH0vJHtJTklUX0RfRElSfS9hcHBhcm1vcgotCWluc3RhbGwgJHtXT1JLRElSfS9mdW5jdGlvbnMgJHtEfS9saWIvYXBwYXJtb3IKLQlpZiBbICIke1ZJUlRVQUwtUlVOVElNRV9pbml0X21hbmFnZXJ9IiA9ICJzeXN0ZW1kIiBdOyB0aGVuCi0JCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KLQkJaW5zdGFsbCAke1dPUktESVJ9L2FwcGFybW9yLnNlcnZpY2UgXAotCQkJJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KLQlmaQotfQotCi1kb19jb21waWxlX3B0ZXN0ICgpIHsKLSAgICAgICAgb2VfcnVubWFrZSAtQyAke0J9L3Rlc3RzL3JlZ3Jlc3Npb24vYXBwYXJtb3IKLSAgICAgICAgb2VfcnVubWFrZSAtQyAke0J9L3BhcnNlci90c3QKLSAgICAgICAgb2VfcnVubWFrZSAtQyAke0J9L2xpYnJhcmllcy9saWJhcHBhcm1vcgotfQotCi1kb19pbnN0YWxsX3B0ZXN0ICgpIHsKLQl0PSR7RH0vJHtQVEVTVF9QQVRIfS90ZXN0c3VpdGUKLQlpbnN0YWxsIC1kICR7dH0KLQlpbnN0YWxsIC1kICR7dH0vdGVzdHMvcmVncmVzc2lvbi9hcHBhcm1vcgotCWNwIC1yZiAke0J9L3Rlc3RzL3JlZ3Jlc3Npb24vYXBwYXJtb3IgJHt0fS90ZXN0cy9yZWdyZXNzaW9uCi0KLQlpbnN0YWxsIC1kICR7dH0vcGFyc2VyL3RzdAotCWNwIC1yZiAke0J9L3BhcnNlci90c3QgJHt0fS9wYXJzZXIKLQljcCAke0J9L3BhcnNlci9hcHBhcm1vcl9wYXJzZXIgJHt0fS9wYXJzZXIKLQljcCAke0J9L3BhcnNlci9mcm9iX3NsYWNrX3JjICR7dH0vcGFyc2VyCi0KLQlpbnN0YWxsIC1kICR7dH0vbGlicmFyaWVzL2xpYmFwcGFybW9yCi0JY3AgLXJmICR7Qn0vbGlicmFyaWVzL2xpYmFwcGFybW9yICR7dH0vbGlicmFyaWVzCi0KLQlpbnN0YWxsIC1kICR7dH0vY29tbW9uCi0JY3AgLXJmICR7Qn0vY29tbW9uICR7dH0KLQotCWluc3RhbGwgLWQgJHt0fS9iaW51dGlscwotCWNwIC1yZiAke0J9L2JpbnV0aWxzICR7dH0KLX0KLQotSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfSIKLUlOSVRTQ1JJUFRfTkFNRSA9ICJhcHBhcm1vciIKLUlOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDE2IDIgMyA0IDUgLiBzdG9wIDM1IDAgMSA2IC4iCi0KLVNZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiYXBwYXJtb3Iuc2VydmljZSIKLVNZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKLQotUEFDS0FHRVMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2FwYWNoZTInLCAnbW9kLSR7UE59JywgJycsIGQpfSIKLQotRklMRVNfJHtQTn0gKz0gIi9saWIvYXBwYXJtb3IvICR7c3lzY29uZmRpcn0vYXBwYXJtb3IgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0iCi1GSUxFU19tb2QtJHtQTn0gPSAiJHtsaWJkaXJ9L2FwYWNoZTIvbW9kdWxlcy8qIgotCi1BTExPV19FTVBUWV8ke1BOfSA9ICIxIgotCi1SREVQRU5EU18ke1BOfSArPSAiYmFzaCBsc2IiCi1SREVQRU5EU18ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCdweXRob24nLCdweXRob24zIHB5dGhvbjMtbW9kdWxlcycsJycsIGQpfSIKLVJERVBFTkRTXyR7UE59X3JlbW92ZSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCdwZXJsJywnJywncGVybCcsIGQpfSIKLVJERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJwZXJsIGNvcmV1dGlscyBkYnVzLWxpYiIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9jaGVja3NlYy9jaGVja3NlY18xLjExLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2NoZWNrc2VjL2NoZWNrc2VjXzEuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTlhNjdiZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9jaGVja3NlYy9jaGVja3NlY18xLjExLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiTGludXggc3lzdGVtIHNlY3VyaXR5IGNoZWNrcyIKK0RFU0NSSVBUSU9OID0gIlRoZSBjaGVja3NlYyBzY3JpcHQgaXMgZGVzaWduZWQgdG8gdGVzdCB3aGF0IHN0YW5kYXJkIExpbnV4IE9TIGFuZCBQYVggc2VjdXJpdHkgZmVhdHVyZXMgYXJlIGJlaW5nIHVzZWQuIgorU0VDVElPTiA9ICJzZWN1cml0eSIKK0xJQ0VOU0UgPSAiQlNEIgorSE9NRVBBR0U9Imh0dHBzOi8vZ2l0aHViLmNvbS9zbGltbTYwOS9jaGVja3NlYy5zaCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTkzZmRkY2NhMTlmNmM4OTc4NzFmOWI1ZjlhMDM1ZjRhIgorCitTUkNSRVYgPSAiYTU3ZTAzYzRmNjJkYmFjYTBlYzk0OWJiYzU4NDkxZmIwYzQ2MTQ0NyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zbGltbTYwOS9jaGVja3NlYy5zaCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9jaGVja3NlYyAke0R9JHtiaW5kaXJ9Cit9CisKK1JERVBFTkRTXyR7UE59ID0gImJhc2ggb3BlbnNzbC1iaW4iCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvY2hlY2tzZWMvY2hlY2tzZWNfMS41LmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2NoZWNrc2VjL2NoZWNrc2VjXzEuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDdmMGY3Yy4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvY2hlY2tzZWMvY2hlY2tzZWNfMS41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotU1VNTUFSWSA9ICJQcm9ncmFtIHJhZG9taW5pemF0aW9uIgotREVTQ1JJUFRJT04gPSAiVGhlIGNoZWNrc2VjLnNoIHNjcmlwdCBpcyBkZXNpZ25lZCB0byB0ZXN0IHdoYXQgc3RhbmRhcmQgTGludXggT1MgYW5kIFBhWCBzZWN1cml0eSBmZWF0dXJlcyBhcmUgYmVpbmcgdXNlZC4iCi1TRUNUSU9OID0gInNlY3VyaXR5IgotTElDRU5TRSA9ICJCU0QiCi1IT01FUEFHRT0iaHR0cDovL3d3dy50cmFwa2l0LmRlL3Rvb2xzL2NoZWNrc2VjLmh0bWwiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2NoZWNrc2VjLnNoO21kNT0wNzU5OTZiZTMzOWFiMTZhZDdiOTRkNmRlM2VlMDdiZCIKLQotU1JDX1VSSSA9ICJmaWxlOi8vY2hlY2tzZWMuc2giCi0KLVMgPSAiJHtXT1JLRElSfSIKLQotZG9faW5zdGFsbCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9jaGVja3NlYy5zaCAgICAke0R9JHtiaW5kaXJ9Ci19Ci0KLVJERVBFTkRTXyR7UE59ID0gImJhc2giCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvY2hlY2tzZWMvZmlsZXMvY2hlY2tzZWMuc2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvY2hlY2tzZWMvZmlsZXMvY2hlY2tzZWMuc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkMWY3MmUuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2NoZWNrc2VjL2ZpbGVzL2NoZWNrc2VjLnNoCisrKyAvZGV2L251bGwKQEAgLTEsODgyICswLDAgQEAKLSMhL2Jpbi9iYXNoCi0jCi0jIFRoZSBCU0QgTGljZW5zZSAoaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHApIAotIyBzcGVjaWZpZXMgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSBmb3IgY2hlY2tzZWMuc2g6Ci0jCi0jIENvcHlyaWdodCAoYykgMjAwOS0yMDExLCBUb2JpYXMgS2xlaW4uCi0jIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCAKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIAotIyBhcmUgbWV0OgotIyAKLSMgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCAKLSMgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgCi0jICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIAotIyAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgCi0jICAgZGlzdHJpYnV0aW9uLgotIyAqIE5laXRoZXIgdGhlIG5hbWUgb2YgVG9iaWFzIEtsZWluIG5vciB0aGUgbmFtZSBvZiB0cmFwa2l0LmRlIG1heSBiZSAKLSMgICB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSAKLSMgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAKLSMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgCi0jIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIAotIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSAKLSMgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgCi0jIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIAotIyBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgCi0jIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCAKLSMgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCAKLSMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIAotIyBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCAKLSMgREFNQUdFLgotIwotIyBOYW1lICAgIDogY2hlY2tzZWMuc2gKLSMgVmVyc2lvbiA6IDEuNQotIyBBdXRob3IgIDogVG9iaWFzIEtsZWluCi0jIERhdGUgICAgOiBOb3ZlbWJlciAyMDExCi0jIERvd25sb2FkOiBodHRwOi8vd3d3LnRyYXBraXQuZGUvdG9vbHMvY2hlY2tzZWMuaHRtbAotIyBDaGFuZ2VzIDogaHR0cDovL3d3dy50cmFwa2l0LmRlL3Rvb2xzL2NoZWNrc2VjX2NoYW5nZXMudHh0Ci0jCi0jIERlc2NyaXB0aW9uOgotIwotIyBNb2Rlcm4gTGludXggZGlzdHJpYnV0aW9ucyBvZmZlciBzb21lIG1pdGlnYXRpb24gdGVjaG5pcXVlcyB0byBtYWtlIGl0IAotIyBoYXJkZXIgdG8gZXhwbG9pdCBzb2Z0d2FyZSB2dWxuZXJhYmlsaXRpZXMgcmVsaWFibHkuIE1pdGlnYXRpb25zIHN1Y2ggCi0jIGFzIFJFTFJPLCBOb0V4ZWN1dGUgKE5YKSwgU3RhY2sgQ2FuYXJpZXMsIEFkZHJlc3MgU3BhY2UgTGF5b3V0IAotIyBSYW5kb21pemF0aW9uIChBU0xSKSBhbmQgUG9zaXRpb24gSW5kZXBlbmRlbnQgRXhlY3V0YWJsZXMgKFBJRSkgaGF2ZSAKLSMgbWFkZSByZWxpYWJseSBleHBsb2l0aW5nIGFueSB2dWxuZXJhYmlsaXRpZXMgdGhhdCBkbyBleGlzdCBmYXIgbW9yZSAKLSMgY2hhbGxlbmdpbmcuIFRoZSBjaGVja3NlYy5zaCBzY3JpcHQgaXMgZGVzaWduZWQgdG8gdGVzdCB3aGF0ICpzdGFuZGFyZCogCi0jIExpbnV4IE9TIGFuZCBQYVggKGh0dHA6Ly9wYXguZ3JzZWN1cml0eS5uZXQvKSBzZWN1cml0eSBmZWF0dXJlcyBhcmUgYmVpbmcgCi0jIHVzZWQuCi0jCi0jIEFzIG9mIHZlcnNpb24gMS4zIHRoZSBzY3JpcHQgYWxzbyBsaXN0cyB0aGUgc3RhdHVzIG9mIHZhcmlvdXMgTGludXgga2VybmVsIAotIyBwcm90ZWN0aW9uIG1lY2hhbmlzbXMuCi0jCi0jIENyZWRpdHM6Ci0jCi0jIFRoYW5rcyB0byBCcmFkIFNwZW5nbGVyIChncnNlY3VyaXR5Lm5ldCkgZm9yIHRoZSBQYVggc3VwcG9ydC4KLSMgVGhhbmtzIHRvIEpvbiBPYmVyaGVpZGUgKGpvbi5vYmVyaGVpZGUub3JnKSBmb3IgdGhlIGtlcm5lbCBzdXBwb3J0LgotIyBUaGFua3MgdG8gT2xsaWUgV2hpdGVob3VzZSAoUmVzZWFyY2ggSW4gTW90aW9uKSBmb3IgcnBhdGgvcnVucGF0aCBzdXBwb3J0LgotIyAKLSMgT3RoZXJzIHRoYXQgY29udHJpYnV0ZWQgdG8gY2hlY2tzZWMuc2ggKGluIG5vIHBhcnRpY3VsYXIgb3JkZXIpOgotIwotIyBTaW1vbiBSdWRlcmljaCwgRGVuaXMgU2NoZXJiYWtvdiwgU3RlZmFuIEt1dHRsZXIsIFJhZG9zbGF3IE1hZGVqLAotIyBBbnRob255IEcuIEJhc2lsZSwgTWFydGluIFZhZXRoIGFuZCBCcmlhbiBEYXZpcy4gCi0jCi0KLSMgZ2xvYmFsIHZhcnMKLWhhdmVfcmVhZGVsZj0xCi12ZXJib3NlPWZhbHNlCi0KLSMgRk9SVElGWV9TT1VSQ0UgdmFycwotRlNfZW5kPV9jaGsKLUZTX2NudF90b3RhbD0wCi1GU19jbnRfY2hlY2tlZD0wCi1GU19jbnRfdW5jaGVja2VkPTAKLUZTX2Noa19mdW5jX2xpYmM9MAotRlNfZnVuY3Rpb25zPTAKLUZTX2xpYmM9MAotIAotIyB2ZXJzaW9uIGluZm9ybWF0aW9uCi12ZXJzaW9uKCkgewotICBlY2hvICJjaGVja3NlYyB2MS41LCBUb2JpYXMgS2xlaW4sIHd3dy50cmFwa2l0LmRlLCBOb3ZlbWJlciAyMDExIgotICBlY2hvIAotfQotCi0jIGhlbHAKLWhlbHAoKSB7Ci0gIGVjaG8gIlVzYWdlOiBjaGVja3NlYyBbT1BUSU9OXSIKLSAgZWNobwotICBlY2hvICJPcHRpb25zOiIKLSAgZWNobwotICBlY2hvICIgIC0tZmlsZSA8ZXhlY3V0YWJsZS1maWxlPiIKLSAgZWNobyAiICAtLWRpciA8ZGlyZWN0b3J5PiBbLXZdIgotICBlY2hvICIgIC0tcHJvYyA8cHJvY2VzcyBuYW1lPiIKLSAgZWNobyAiICAtLXByb2MtYWxsIgotICBlY2hvICIgIC0tcHJvYy1saWJzIDxwcm9jZXNzIElEPiIKLSAgZWNobyAiICAtLWtlcm5lbCIKLSAgZWNobyAiICAtLWZvcnRpZnktZmlsZSA8ZXhlY3V0YWJsZS1maWxlPiIKLSAgZWNobyAiICAtLWZvcnRpZnktcHJvYyA8cHJvY2VzcyBJRD4iCi0gIGVjaG8gIiAgLS12ZXJzaW9uIgotICBlY2hvICIgIC0taGVscCIKLSAgZWNobwotICBlY2hvICJGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlOiIKLSAgZWNobyAiICBodHRwOi8vd3d3LnRyYXBraXQuZGUvdG9vbHMvY2hlY2tzZWMuaHRtbCIKLSAgZWNobwotfQotCi0jIGNoZWNrIGlmIGNvbW1hbmQgZXhpc3RzCi1jb21tYW5kX2V4aXN0cyAoKSB7Ci0gIHR5cGUgJDEgID4gL2Rldi9udWxsIDI+JjE7Ci19Ci0KLSMgY2hlY2sgaWYgZGlyZWN0b3J5IGV4aXN0cwotZGlyX2V4aXN0cyAoKSB7Ci0gIGlmIFsgLWQgJDEgXSA7IHRoZW4KLSAgICByZXR1cm4gMAotICBlbHNlCi0gICAgcmV0dXJuIDEKLSAgZmkKLX0KLQotIyBjaGVjayB1c2VyIHByaXZpbGVnZXMKLXJvb3RfcHJpdnMgKCkgewotICBpZiBbICQoL3Vzci9iaW4vaWQgLXUpIC1lcSAwIF0gOyB0aGVuCi0gICAgcmV0dXJuIDAKLSAgZWxzZQotICAgIHJldHVybiAxCi0gIGZpCi19Ci0KLSMgY2hlY2sgaWYgaW5wdXQgaXMgbnVtZXJpYwotaXNOdW1lcmljICgpIHsKLSAgZWNobyAiJEAiIHwgZ3JlcCAtcSAtdiAiW14wLTldIgotfQotCi0jIGNoZWNrIGlmIGlucHV0IGlzIGEgc3RyaW5nCi1pc1N0cmluZyAoKSB7Ci0gIGVjaG8gIiRAIiB8IGdyZXAgLXEgLXYgIlteQS1aYS16XSIKLX0KLQotIyBjaGVjayBmaWxlKHMpCi1maWxlY2hlY2soKSB7Ci0gICMgY2hlY2sgZm9yIFJFTFJPIHN1cHBvcnQKLSAgaWYgcmVhZGVsZiAtbCAkMSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ0dOVV9SRUxSTyc7IHRoZW4KLSAgICBpZiByZWFkZWxmIC1kICQxIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnQklORF9OT1cnOyB0aGVuCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMybUZ1bGwgUkVMUk8gICBcMDMzW20gICAnCi0gICAgZWxzZQotICAgICAgZWNobyAtbiAtZSAnXDAzM1szM21QYXJ0aWFsIFJFTFJPXDAzM1ttICAgJwotICAgIGZpCi0gIGVsc2UKLSAgICBlY2hvIC1uIC1lICdcMDMzWzMxbU5vIFJFTFJPICAgICBcMDMzW20gICAnCi0gIGZpCi0KLSAgIyBjaGVjayBmb3Igc3RhY2sgY2FuYXJ5IHN1cHBvcnQKLSAgaWYgcmVhZGVsZiAtcyAkMSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ19fc3RhY2tfY2hrX2ZhaWwnOyB0aGVuCi0gICAgZWNobyAtbiAtZSAnXDAzM1szMm1DYW5hcnkgZm91bmQgICBcMDMzW20gICAnCi0gIGVsc2UKLSAgICBlY2hvIC1uIC1lICdcMDMzWzMxbU5vIGNhbmFyeSBmb3VuZFwwMzNbbSAgICcKLSAgZmkKLQotICAjIGNoZWNrIGZvciBOWCBzdXBwb3J0Ci0gIGlmIHJlYWRlbGYgLVcgLWwgJDEgMj4vZGV2L251bGwgfCBncmVwICdHTlVfU1RBQ0snIHwgZ3JlcCAtcSAnUldFJzsgdGhlbgotICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzFtTlggZGlzYWJsZWRcMDMzW20gICAnCi0gIGVsc2UKLSAgICBlY2hvIC1uIC1lICdcMDMzWzMybU5YIGVuYWJsZWQgXDAzM1ttICAgJwotICBmaSAKLQotICAjIGNoZWNrIGZvciBQSUUgc3VwcG9ydAotICBpZiByZWFkZWxmIC1oICQxIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnVHlwZTpbWzpzcGFjZTpdXSpFWEVDJzsgdGhlbgotICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzFtTm8gUElFICAgICAgIFwwMzNbbSAgICcKLSAgZWxpZiByZWFkZWxmIC1oICQxIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnVHlwZTpbWzpzcGFjZTpdXSpEWU4nOyB0aGVuCi0gICAgaWYgcmVhZGVsZiAtZCAkMSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJyhERUJVRyknOyB0aGVuCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMybVBJRSBlbmFibGVkICBcMDMzW20gICAnCi0gICAgZWxzZSAgIAotICAgICAgZWNobyAtbiAtZSAnXDAzM1szM21EU08gICAgICAgICAgXDAzM1ttICAgJwotICAgIGZpCi0gIGVsc2UKLSAgICBlY2hvIC1uIC1lICdcMDMzWzMzbU5vdCBhbiBFTEYgZmlsZVwwMzNbbSAgICcKLSAgZmkgCi0KLSAgIyBjaGVjayBmb3IgcnBhdGggLyBydW4gcGF0aAotICBpZiByZWFkZWxmIC1kICQxIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAncnBhdGgnOyB0aGVuCi0gICBlY2hvIC1uIC1lICdcMDMzWzMxbVJQQVRIICAgIFwwMzNbbSAgJwotICBlbHNlCi0gICBlY2hvIC1uIC1lICdcMDMzWzMybU5vIFJQQVRIIFwwMzNbbSAgJwotICBmaQotCi0gIGlmIHJlYWRlbGYgLWQgJDEgMj4vZGV2L251bGwgfCBncmVwIC1xICdydW5wYXRoJzsgdGhlbgotICAgZWNobyAtbiAtZSAnXDAzM1szMW1SVU5QQVRIICAgIFwwMzNbbSAgJwotICBlbHNlCi0gICBlY2hvIC1uIC1lICdcMDMzWzMybU5vIFJVTlBBVEggXDAzM1ttICAnCi0gIGZpCi19Ci0KLSMgY2hlY2sgcHJvY2VzcyhlcykKLXByb2NjaGVjaygpIHsKLSAgIyBjaGVjayBmb3IgUkVMUk8gc3VwcG9ydAotICBpZiByZWFkZWxmIC1sICQxL2V4ZSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ1Byb2dyYW0gSGVhZGVycyc7IHRoZW4KLSAgICBpZiByZWFkZWxmIC1sICQxL2V4ZSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ0dOVV9SRUxSTyc7IHRoZW4KLSAgICAgIGlmIHJlYWRlbGYgLWQgJDEvZXhlIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnQklORF9OT1cnOyB0aGVuCi0gICAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtRnVsbCBSRUxSTyAgICAgICBcMDMzW20gJwotICAgICAgZWxzZQotICAgICAgICBlY2hvIC1uIC1lICdcMDMzWzMzbVBhcnRpYWwgUkVMUk8gICAgXDAzM1ttICcKLSAgICAgIGZpCi0gICAgZWxzZQotICAgICAgZWNobyAtbiAtZSAnXDAzM1szMW1ObyBSRUxSTyAgICAgICAgIFwwMzNbbSAnCi0gICAgZmkKLSAgZWxzZQotICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzFtUGVybWlzc2lvbiBkZW5pZWQgKHBsZWFzZSBydW4gYXMgcm9vdClcMDMzW21cbicKLSAgICBleGl0IDEKLSAgZmkKLQotICAjIGNoZWNrIGZvciBzdGFjayBjYW5hcnkgc3VwcG9ydAotICBpZiByZWFkZWxmIC1zICQxL2V4ZSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ1N5bWJvbCB0YWJsZSc7IHRoZW4KLSAgICBpZiByZWFkZWxmIC1zICQxL2V4ZSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ19fc3RhY2tfY2hrX2ZhaWwnOyB0aGVuCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMybUNhbmFyeSBmb3VuZCAgICAgICAgIFwwMzNbbSAgJwotICAgIGVsc2UKLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzFtTm8gY2FuYXJ5IGZvdW5kICAgICAgXDAzM1ttICAnCi0gICAgZmkKLSAgZWxzZQotICAgIGlmIFsgIiQxIiAhPSAiMSIgXSA7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtUGVybWlzc2lvbiBkZW5pZWQgICAgXDAzM1ttICAnCi0gICAgZWxzZQotICAgICAgZWNobyAtbiAtZSAnXDAzM1szM21ObyBzeW1ib2wgdGFibGUgZm91bmRcMDMzW20gICcKLSAgICBmaQotICBmaQotCi0gICMgZmlyc3QgY2hlY2sgZm9yIFBhWCBzdXBwb3J0Ci0gIGlmIGNhdCAkMS9zdGF0dXMgMj4gL2Rldi9udWxsIHwgZ3JlcCAtcSAnUGFYOic7IHRoZW4KLSAgICBwYWdlZXhlYz0oICQoY2F0ICQxL3N0YXR1cyAyPiAvZGV2L251bGwgfCBncmVwICdQYVg6JyB8IGN1dCAtYjYpICkKLSAgICBzZWdtZXhlYz0oICQoY2F0ICQxL3N0YXR1cyAyPiAvZGV2L251bGwgfCBncmVwICdQYVg6JyB8IGN1dCAtYjEwKSApCi0gICAgbXByb3RlY3Q9KCAkKGNhdCAkMS9zdGF0dXMgMj4gL2Rldi9udWxsIHwgZ3JlcCAnUGFYOicgfCBjdXQgLWI4KSApCi0gICAgcmFuZG1tYXA9KCAkKGNhdCAkMS9zdGF0dXMgMj4gL2Rldi9udWxsIHwgZ3JlcCAnUGFYOicgfCBjdXQgLWI5KSApCi0gICAgaWYgW1sgIiRwYWdlZXhlYyIgPSAiUCIgfHwgIiRzZWdtZXhlYyIgPSAiUyIgXV0gJiYgW1sgIiRtcHJvdGVjdCIgPSAiTSIgJiYgIiRyYW5kbW1hcCIgPSAiUiIgXV0gOyB0aGVuCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMybVBhWCBlbmFibGVkXDAzM1ttICAgJwotICAgIGVsaWYgW1sgIiRwYWdlZXhlYyIgPSAicCIgJiYgIiRzZWdtZXhlYyIgPSAicyIgJiYgIiRyYW5kbW1hcCIgPSAiUiIgXV0gOyB0aGVuCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMzbVBhWCBBU0xSIG9ubHlcMDMzW20gJwotICAgIGVsaWYgW1sgIiRwYWdlZXhlYyIgPSAiUCIgfHwgIiRzZWdtZXhlYyIgPSAiUyIgXV0gJiYgW1sgIiRtcHJvdGVjdCIgPSAibSIgJiYgIiRyYW5kbW1hcCIgPSAiUiIgXV0gOyB0aGVuCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMzbVBhWCBtcHJvdCBvZmYgXDAzM1ttJwotICAgIGVsaWYgW1sgIiRwYWdlZXhlYyIgPSAiUCIgfHwgIiRzZWdtZXhlYyIgPSAiUyIgXV0gJiYgW1sgIiRtcHJvdGVjdCIgPSAiTSIgJiYgIiRyYW5kbW1hcCIgPSAiciIgXV0gOyB0aGVuCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMzbVBhWCBBU0xSIG9mZlwwMzNbbSAgJwotICAgIGVsaWYgW1sgIiRwYWdlZXhlYyIgPSAiUCIgfHwgIiRzZWdtZXhlYyIgPSAiUyIgXV0gJiYgW1sgIiRtcHJvdGVjdCIgPSAibSIgJiYgIiRyYW5kbW1hcCIgPSAiciIgXV0gOyB0aGVuCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMzbVBhWCBOWCBvbmx5XDAzM1ttICAgJwotICAgIGVsc2UKLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzFtUGFYIGRpc2FibGVkXDAzM1ttICAnCi0gICAgZmkKLSAgIyBmYWxsYmFjayBjaGVjayBmb3IgTlggc3VwcG9ydAotICBlbGlmIHJlYWRlbGYgLVcgLWwgJDEvZXhlIDI+L2Rldi9udWxsIHwgZ3JlcCAnR05VX1NUQUNLJyB8IGdyZXAgLXEgJ1JXRSc7IHRoZW4KLSAgICBlY2hvIC1uIC1lICdcMDMzWzMxbU5YIGRpc2FibGVkXDAzM1ttICAgJwotICBlbHNlCi0gICAgZWNobyAtbiAtZSAnXDAzM1szMm1OWCBlbmFibGVkIFwwMzNbbSAgICcKLSAgZmkgCi0KLSAgIyBjaGVjayBmb3IgUElFIHN1cHBvcnQKLSAgaWYgcmVhZGVsZiAtaCAkMS9leGUgMj4vZGV2L251bGwgfCBncmVwIC1xICdUeXBlOltbOnNwYWNlOl1dKkVYRUMnOyB0aGVuCi0gICAgZWNobyAtbiAtZSAnXDAzM1szMW1ObyBQSUUgICAgICAgICAgICAgICBcMDMzW20gICAnCi0gIGVsaWYgcmVhZGVsZiAtaCAkMS9leGUgMj4vZGV2L251bGwgfCBncmVwIC1xICdUeXBlOltbOnNwYWNlOl1dKkRZTic7IHRoZW4KLSAgICBpZiByZWFkZWxmIC1kICQxL2V4ZSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJyhERUJVRyknOyB0aGVuCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMybVBJRSBlbmFibGVkICAgICAgICAgIFwwMzNbbSAgICcKLSAgICBlbHNlICAgCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMzbUR5bmFtaWMgU2hhcmVkIE9iamVjdFwwMzNbbSAgICcKLSAgICBmaQotICBlbHNlCi0gICAgZWNobyAtbiAtZSAnXDAzM1szM21Ob3QgYW4gRUxGIGZpbGUgICAgICBcMDMzW20gICAnCi0gIGZpCi19Ci0KLSMgY2hlY2sgbWFwcGVkIGxpYnJhcmllcwotbGliY2hlY2soKSB7Ci0gIGxpYnM9KCAkKGF3ayAneyBwcmludCAkNiB9JyAvcHJvYy8kMS9tYXBzIHwgZ3JlcCAnLycgfCBzb3J0IC11IHwgeGFyZ3MgZmlsZSB8IGdyZXAgRUxGIHwgYXdrICd7IHByaW50ICQxIH0nIHwgc2VkICdzLzovIC8nKSApCi0gCi0gIHByaW50ZiAiXG4qIExvYWRlZCBsaWJyYXJpZXMgKGZpbGUgaW5mb3JtYXRpb24sICMgb2YgbWFwcGVkIGZpbGVzOiAkeyNsaWJzW0BdfSk6XG5cbiIKLSAgCi0gIGZvciBlbGVtZW50IGluICQoc2VxIDAgJCgoJHsjbGlic1tAXX0gLSAxKSkpCi0gIGRvCi0gICAgZWNobyAiICAke2xpYnNbJGVsZW1lbnRdfToiCi0gICAgZWNobyAtbiAiICAgICIKLSAgICBmaWxlY2hlY2sgJHtsaWJzWyRlbGVtZW50XX0KLSAgICBwcmludGYgIlxuXG4iCi0gIGRvbmUKLX0KLQotIyBjaGVjayBmb3Igc3lzdGVtLXdpZGUgQVNMUiBzdXBwb3J0Ci1hc2xyY2hlY2soKSB7Ci0gICMgUGFYIEFTTFIgc3VwcG9ydAotICBpZiAhKGNhdCAvcHJvYy8xL3N0YXR1cyAyPiAvZGV2L251bGwgfCBncmVwIC1xICdOYW1lOicpIDsgdGhlbgotICAgIGVjaG8gLW4gLWUgJzpcMDMzWzMzbSBpbnN1ZmZpY2llbnQgcHJpdmlsZWdlcyBmb3IgUGFYIEFTTFIgY2hlY2tzXDAzM1ttXG4nCi0gICAgZWNobyAtbiAtZSAnICBGYWxsYmFjayB0byBzdGFuZGFyZCBMaW51eCBBU0xSIGNoZWNrJwotICBmaQotICAKLSAgaWYgY2F0IC9wcm9jLzEvc3RhdHVzIDI+IC9kZXYvbnVsbCB8IGdyZXAgLXEgJ1BhWDonOyB0aGVuCi0gICAgcHJpbnRmICI6ICIKLSAgICBpZiBjYXQgL3Byb2MvMS9zdGF0dXMgMj4gL2Rldi9udWxsIHwgZ3JlcCAnUGFYOicgfCBncmVwIC1xICdSJzsgdGhlbgotICAgICAgZWNobyAtbiAtZSAnXDAzM1szMm1QYVggQVNMUiBlbmFibGVkXDAzM1ttXG5cbicKLSAgICBlbHNlCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMxbVBhWCBBU0xSIGRpc2FibGVkXDAzM1ttXG5cbicKLSAgICBmaQotICBlbHNlCi0gICAgIyBzdGFuZGFyZCBMaW51eCAna2VybmVsLnJhbmRvbWl6ZV92YV9zcGFjZScgQVNMUiBzdXBwb3J0Ci0gICAgIyAoc2VlIHRoZSBrZXJuZWwgZmlsZSAnRG9jdW1lbnRhdGlvbi9zeXNjdGwva2VybmVsLnR4dCcgZm9yIGEgZGV0YWlsZWQgZGVzY3JpcHRpb24pCi0gICAgcHJpbnRmICIgKGtlcm5lbC5yYW5kb21pemVfdmFfc3BhY2UpOiAiCi0gICAgaWYgL3NiaW4vc3lzY3RsIC1hIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAna2VybmVsLnJhbmRvbWl6ZV92YV9zcGFjZSA9IDEnOyB0aGVuCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMzbU9uIChTZXR0aW5nOiAxKVwwMzNbbVxuXG4nCi0gICAgICBwcmludGYgIiAgRGVzY3JpcHRpb24gLSBNYWtlIHRoZSBhZGRyZXNzZXMgb2YgbW1hcCBiYXNlLCBzdGFjayBhbmQgVkRTTyBwYWdlIHJhbmRvbWl6ZWQuXG4iCi0gICAgICBwcmludGYgIiAgVGhpcywgYW1vbmcgb3RoZXIgdGhpbmdzLCBpbXBsaWVzIHRoYXQgc2hhcmVkIGxpYnJhcmllcyB3aWxsIGJlIGxvYWRlZCB0byBcbiIKLSAgICAgIHByaW50ZiAiICByYW5kb20gYWRkcmVzc2VzLiBBbHNvIGZvciBQSUUtbGlua2VkIGJpbmFyaWVzLCB0aGUgbG9jYXRpb24gb2YgY29kZSBzdGFydFxuIgotICAgICAgcHJpbnRmICIgIGlzIHJhbmRvbWl6ZWQuIEhlYXAgYWRkcmVzc2VzIGFyZSAqbm90KiByYW5kb21pemVkLlxuXG4iCi0gICAgZWxpZiAvc2Jpbi9zeXNjdGwgLWEgMj4vZGV2L251bGwgfCBncmVwIC1xICdrZXJuZWwucmFuZG9taXplX3ZhX3NwYWNlID0gMic7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtT24gKFNldHRpbmc6IDIpXDAzM1ttXG5cbicKLSAgICAgIHByaW50ZiAiICBEZXNjcmlwdGlvbiAtIE1ha2UgdGhlIGFkZHJlc3NlcyBvZiBtbWFwIGJhc2UsIGhlYXAsIHN0YWNrIGFuZCBWRFNPIHBhZ2UgcmFuZG9taXplZC5cbiIKLSAgICAgIHByaW50ZiAiICBUaGlzLCBhbW9uZyBvdGhlciB0aGluZ3MsIGltcGxpZXMgdGhhdCBzaGFyZWQgbGlicmFyaWVzIHdpbGwgYmUgbG9hZGVkIHRvIHJhbmRvbSBcbiIKLSAgICAgIHByaW50ZiAiICBhZGRyZXNzZXMuIEFsc28gZm9yIFBJRS1saW5rZWQgYmluYXJpZXMsIHRoZSBsb2NhdGlvbiBvZiBjb2RlIHN0YXJ0IGlzIHJhbmRvbWl6ZWQuXG5cbiIKLSAgICBlbGlmIC9zYmluL3N5c2N0bCAtYSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ2tlcm5lbC5yYW5kb21pemVfdmFfc3BhY2UgPSAwJzsgdGhlbgotICAgICAgZWNobyAtbiAtZSAnXDAzM1szMW1PZmYgKFNldHRpbmc6IDApXDAzM1ttXG4nCi0gICAgZWxzZQotICAgICAgZWNobyAtbiAtZSAnXDAzM1szMW1Ob3Qgc3VwcG9ydGVkXDAzM1ttXG4nCi0gICAgZmkKLSAgICBwcmludGYgIiAgU2VlIHRoZSBrZXJuZWwgZmlsZSAnRG9jdW1lbnRhdGlvbi9zeXNjdGwva2VybmVsLnR4dCcgZm9yIG1vcmUgZGV0YWlscy5cblxuIgotICBmaSAKLX0KLQotIyBjaGVjayBjcHUgbnggZmxhZwotbnhjaGVjaygpIHsKLSAgaWYgZ3JlcCAtcSBueCAvcHJvYy9jcHVpbmZvOyB0aGVuCi0gICAgZWNobyAtbiAtZSAnXDAzM1szMm1ZZXNcMDMzW21cblxuJwotICBlbHNlCi0gICAgZWNobyAtbiAtZSAnXDAzM1szMW1Ob1wwMzNbbVxuXG4nCi0gIGZpCi19Ci0KLSMgY2hlY2sgZm9yIGtlcm5lbCBwcm90ZWN0aW9uIG1lY2hhbmlzbXMKLWtlcm5lbGNoZWNrKCkgewotICBwcmludGYgIiAgRGVzY3JpcHRpb24gLSBMaXN0IHRoZSBzdGF0dXMgb2Yga2VybmVsIHByb3RlY3Rpb24gbWVjaGFuaXNtcy4gUmF0aGVyIHRoYW5cbiIKLSAgcHJpbnRmICIgIGluc3BlY3Qga2VybmVsIG1lY2hhbmlzbXMgdGhhdCBtYXkgYWlkIGluIHRoZSBwcmV2ZW50aW9uIG9mIGV4cGxvaXRhdGlvbiBvZlxuIgotICBwcmludGYgIiAgdXNlcnNwYWNlIHByb2Nlc3NlcywgdGhpcyBvcHRpb24gbGlzdHMgdGhlIHN0YXR1cyBvZiBrZXJuZWwgY29uZmlndXJhdGlvblxuIgotICBwcmludGYgIiAgb3B0aW9ucyB0aGF0IGhhcmRlbiB0aGUga2VybmVsIGl0c2VsZiBhZ2FpbnN0IGF0dGFjay5cblxuIgotICBwcmludGYgIiAgS2VybmVsIGNvbmZpZzogIgotIAotICBpZiBbIC1mIC9wcm9jL2NvbmZpZy5neiBdIDsgdGhlbgotICAgIGtjb25maWc9InpjYXQgL3Byb2MvY29uZmlnLmd6IgotICAgIHByaW50ZiAiXDAzM1szMm0vcHJvYy9jb25maWcuZ3pcMDMzW21cblxuIgotICBlbGlmIFsgLWYgL2Jvb3QvY29uZmlnLWB1bmFtZSAtcmAgXSA7IHRoZW4KLSAgICBrY29uZmlnPSJjYXQgL2Jvb3QvY29uZmlnLWB1bmFtZSAtcmAiCi0gICAgcHJpbnRmICJcMDMzWzMzbS9ib290L2NvbmZpZy1gdW5hbWUgLXJgXDAzM1ttXG5cbiIKLSAgICBwcmludGYgIiAgV2FybmluZzogVGhlIGNvbmZpZyBvbiBkaXNrIG1heSBub3QgcmVwcmVzZW50IHJ1bm5pbmcga2VybmVsIGNvbmZpZyFcblxuIjsKLSAgZWxpZiBbIC1mICIke0tCVUlMRF9PVVRQVVQ6LS91c3Ivc3JjL2xpbnV4fSIvLmNvbmZpZyBdIDsgdGhlbgotICAgIGtjb25maWc9ImNhdCAke0tCVUlMRF9PVVRQVVQ6LS91c3Ivc3JjL2xpbnV4fS8uY29uZmlnIgotICAgIHByaW50ZiAiXDAzM1szM20lc1wwMzNbbVxuXG4iICIke0tCVUlMRF9PVVRQVVQ6LS91c3Ivc3JjL2xpbnV4fS8uY29uZmlnIgotICAgIHByaW50ZiAiICBXYXJuaW5nOiBUaGUgY29uZmlnIG9uIGRpc2sgbWF5IG5vdCByZXByZXNlbnQgcnVubmluZyBrZXJuZWwgY29uZmlnIVxuXG4iOwotICBlbHNlCi0gICAgcHJpbnRmICJcMDMzWzMxbU5PVCBGT1VORFwwMzNbbVxuXG4iCi0gICAgZXhpdCAwCi0gIGZpCi0KLSAgcHJpbnRmICIgIEdDQyBzdGFjayBwcm90ZWN0b3Igc3VwcG9ydDogICAgICAgICAgICAiCi0gIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19DQ19TVEFDS1BST1RFQ1RPUj15JzsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gIGVsc2UKLSAgICBwcmludGYgIlwwMzNbMzFtRGlzYWJsZWRcMDMzW21cbiIKLSAgZmkKLQotICBwcmludGYgIiAgU3RyaWN0IHVzZXIgY29weSBjaGVja3M6ICAgICAgICAgICAgICAgICIKLSAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0RFQlVHX1NUUklDVF9VU0VSX0NPUFlfQ0hFQ0tTPXknOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMybUVuYWJsZWRcMDMzW21cbiIKLSAgZWxzZQotICAgIHByaW50ZiAiXDAzM1szMW1EaXNhYmxlZFwwMzNbbVxuIgotICBmaQotCi0gIHByaW50ZiAiICBFbmZvcmNlIHJlYWQtb25seSBrZXJuZWwgZGF0YTogICAgICAgICAgIgotICBpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfREVCVUdfUk9EQVRBPXknOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMybUVuYWJsZWRcMDMzW21cbiIKLSAgZWxzZQotICAgIHByaW50ZiAiXDAzM1szMW1EaXNhYmxlZFwwMzNbbVxuIgotICBmaQotICBwcmludGYgIiAgUmVzdHJpY3QgL2Rldi9tZW0gYWNjZXNzOiAgICAgICAgICAgICAgICIKLSAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX1NUUklDVF9ERVZNRU09eSc7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzJtRW5hYmxlZFwwMzNbbVxuIgotICBlbHNlCi0gICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gIGZpCi0KLSAgcHJpbnRmICIgIFJlc3RyaWN0IC9kZXYva21lbSBhY2Nlc3M6ICAgICAgICAgICAgICAiCi0gIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19ERVZLTUVNPXknOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gIGVsc2UKLSAgICBwcmludGYgIlwwMzNbMzJtRW5hYmxlZFwwMzNbbVxuIgotICBmaQotCi0gIHByaW50ZiAiXG4iCi0gIHByaW50ZiAiKiBncnNlY3VyaXR5IC8gUGFYOiAiCi0KLSAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0dSS0VSTlNFQz15JzsgdGhlbgotICAgIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19HUktFUk5TRUNfSElHSD15JzsgdGhlbgotICAgICAgcHJpbnRmICJcMDMzWzMybUhpZ2ggR1JLRVJOU0VDXDAzM1ttXG5cbiIKLSAgICBlbGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19HUktFUk5TRUNfTUVESVVNPXknOyB0aGVuCi0gICAgICBwcmludGYgIlwwMzNbMzNtTWVkaXVtIEdSS0VSTlNFQ1wwMzNbbVxuXG4iCi0gICAgZWxpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfR1JLRVJOU0VDX0xPVz15JzsgdGhlbgotICAgICAgcHJpbnRmICJcMDMzWzMxbUxvdyBHUktFUk5TRUNcMDMzW21cblxuIgotICAgIGVsc2UKLSAgICAgIHByaW50ZiAiXDAzM1szM21DdXN0b20gR1JLRVJOU0VDXDAzM1ttXG5cbiIKLSAgICBmaQotCi0gICAgcHJpbnRmICIgIE5vbi1leGVjdXRhYmxlIGtlcm5lbCBwYWdlczogICAgICAgICAgICAiCi0gICAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX1BBWF9LRVJORVhFQz15JzsgdGhlbgotICAgICAgcHJpbnRmICJcMDMzWzMybUVuYWJsZWRcMDMzW21cbiIKLSAgICBlbHNlCi0gICAgICBwcmludGYgIlwwMzNbMzFtRGlzYWJsZWRcMDMzW21cbiIKLSAgICBmaQotCi0gICAgcHJpbnRmICIgIFByZXZlbnQgdXNlcnNwYWNlIHBvaW50ZXIgZGVyZWY6ICAgICAgICAiCi0gICAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX1BBWF9NRU1PUllfVURFUkVGPXknOyB0aGVuCi0gICAgICBwcmludGYgIlwwMzNbMzJtRW5hYmxlZFwwMzNbbVxuIgotICAgIGVsc2UKLSAgICAgIHByaW50ZiAiXDAzM1szMW1EaXNhYmxlZFwwMzNbbVxuIgotICAgIGZpCi0KLSAgICBwcmludGYgIiAgUHJldmVudCBrb2JqZWN0IHJlZmNvdW50IG92ZXJmbG93OiAgICAgICIKLSAgICBpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfUEFYX1JFRkNPVU5UPXknOyB0aGVuCi0gICAgICBwcmludGYgIlwwMzNbMzJtRW5hYmxlZFwwMzNbbVxuIgotICAgIGVsc2UKLSAgICAgIHByaW50ZiAiXDAzM1szMW1EaXNhYmxlZFwwMzNbbVxuIgotICAgIGZpCi0KLSAgICBwcmludGYgIiAgQm91bmRzIGNoZWNrIGhlYXAgb2JqZWN0IGNvcGllczogICAgICAgICIKLSAgICBpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfUEFYX1VTRVJDT1BZPXknOyB0aGVuCi0gICAgICBwcmludGYgIlwwMzNbMzJtRW5hYmxlZFwwMzNbbVxuIgotICAgIGVsc2UKLSAgICAgIHByaW50ZiAiXDAzM1szMW1EaXNhYmxlZFwwMzNbbVxuIgotICAgIGZpCi0KLSAgICBwcmludGYgIiAgRGlzYWJsZSB3cml0aW5nIHRvIGttZW0vbWVtL3BvcnQ6ICAgICAgICIKLSAgICBpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfR1JLRVJOU0VDX0tNRU09eSc7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gICAgZWxzZQotICAgICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gICAgZmkKLQotICAgIHByaW50ZiAiICBEaXNhYmxlIHByaXZpbGVnZWQgSS9POiAgICAgICAgICAgICAgICAgIgotICAgIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19HUktFUk5TRUNfSU89eSc7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gICAgZWxzZQotICAgICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gICAgZmkKLQotICAgIHByaW50ZiAiICBIYXJkZW4gbW9kdWxlIGF1dG8tbG9hZGluZzogICAgICAgICAgICAgIgotICAgIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19HUktFUk5TRUNfTU9ESEFSREVOPXknOyB0aGVuCi0gICAgICBwcmludGYgIlwwMzNbMzJtRW5hYmxlZFwwMzNbbVxuIgotICAgIGVsc2UKLSAgICAgIHByaW50ZiAiXDAzM1szMW1EaXNhYmxlZFwwMzNbbVxuIgotICAgIGZpCi0KLSAgICBwcmludGYgIiAgSGlkZSBrZXJuZWwgc3ltYm9sczogICAgICAgICAgICAgICAgICAgICIKLSAgICBpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfR1JLRVJOU0VDX0hJREVTWU09eSc7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gICAgZWxzZQotICAgICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gICAgZmkKLSAgZWxzZQotICAgIHByaW50ZiAiXDAzM1szMW1ObyBHUktFUk5TRUNcMDMzW21cblxuIgotICAgIHByaW50ZiAiICBUaGUgZ3JzZWN1cml0eSAvIFBhWCBwYXRjaHNldCBpcyBhdmFpbGFibGUgaGVyZTpcbiIKLSAgICBwcmludGYgIiAgICBodHRwOi8vZ3JzZWN1cml0eS5uZXQvXG4iCi0gIGZpCi0KLSAgcHJpbnRmICJcbiIKLSAgcHJpbnRmICIqIEtlcm5lbCBIZWFwIEhhcmRlbmluZzogIgotCi0gIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19LRVJOSEVBUD15JzsgdGhlbgotICAgIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19LRVJOSEVBUF9GVUxMUE9JU09OPXknOyB0aGVuCi0gICAgICBwcmludGYgIlwwMzNbMzJtRnVsbCBLRVJOSEVBUFwwMzNbbVxuXG4iCi0gICAgZWxzZQotICAgICAgcHJpbnRmICJcMDMzWzMzbVBhcnRpYWwgS0VSTkhFQVBcMDMzW21cblxuIgotICAgIGZpCi0gIGVsc2UKLSAgICBwcmludGYgIlwwMzNbMzFtTm8gS0VSTkhFQVBcMDMzW21cblxuIgotICAgIHByaW50ZiAiICBUaGUgS0VSTkhFQVAgaGFyZGVuaW5nIHBhdGNoc2V0IGlzIGF2YWlsYWJsZSBoZXJlOlxuIgotICAgIHByaW50ZiAiICAgIGh0dHBzOi8vd3d3LnN1YnJlcHRpb24uY29tL2tlcm5oZWFwL1xuXG4iCi0gIGZpCi19Ci0KLSMgLS0tIEZPUlRJRllfU09VUkNFIHN1YmZ1bmN0aW9ucyAoc3RhcnQpIC0tLQotCi0jIGlzIEZPUlRJRllfU09VUkNFIHN1cHBvcnRlZCBieSBsaWJjPwotRlNfbGliY19jaGVjaygpIHsKLSAgcHJpbnRmICIqIEZPUlRJRllfU09VUkNFIHN1cHBvcnQgYXZhaWxhYmxlIChsaWJjKSAgICA6ICIKLQotICBpZiBbICIkeyNGU19jaGtfZnVuY19saWJjW0BdfSIgIT0gIjAiIF0gOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMybVllc1wwMzNbbVxuIgotICBlbHNlCi0gICAgcHJpbnRmICJcMDMzWzMxbU5vXDAzM1ttXG4iCi0gICAgZXhpdCAxCi0gIGZpCi19Ci0KLSMgd2FzIHRoZSBiaW5hcnkgY29tcGlsZWQgd2l0aCBGT1JUSUZZX1NPVVJDRT8KLUZTX2JpbmFyeV9jaGVjaygpIHsKLSAgcHJpbnRmICIqIEJpbmFyeSBjb21waWxlZCB3aXRoIEZPUlRJRllfU09VUkNFIHN1cHBvcnQ6ICIKLQotICBmb3IgRlNfZWxlbV9mdW5jdGlvbnMgaW4gJChzZXEgMCAkKCgkeyNGU19mdW5jdGlvbnNbQF19IC0gMSkpKQotICBkbwotICAgIGlmIFtbICR7RlNfZnVuY3Rpb25zWyRGU19lbGVtX2Z1bmN0aW9uc119ID1+IF9jaGsgXV0gOyB0aGVuCi0gICAgICBwcmludGYgIlwwMzNbMzJtWWVzXDAzM1ttXG4iCi0gICAgICByZXR1cm4KLSAgICBmaQotICBkb25lCi0gIHByaW50ZiAiXDAzM1szMW1Ob1wwMzNbbVxuIgotICBleGl0IDEKLX0KLQotRlNfY29tcGFyaXNvbigpIHsKLSAgZWNobwotICBwcmludGYgIiAtLS0tLS0gRVhFQ1VUQUJMRS1GSUxFIC0tLS0tLS0gLiAtLS0tLS0tLSBMSUJDIC0tLS0tLS0tXG4iCi0gIHByaW50ZiAiIEZPUlRJRlktYWJsZSBsaWJyYXJ5IGZ1bmN0aW9ucyB8IENoZWNrZWQgZnVuY3Rpb24gbmFtZXNcbiIKLSAgcHJpbnRmICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgotCi0gIGZvciBGU19lbGVtX2xpYmMgaW4gJChzZXEgMCAkKCgkeyNGU19jaGtfZnVuY19saWJjW0BdfSAtIDEpKSkKLSAgZG8KLSAgICBmb3IgRlNfZWxlbV9mdW5jdGlvbnMgaW4gJChzZXEgMCAkKCgkeyNGU19mdW5jdGlvbnNbQF19IC0gMSkpKQotICAgIGRvCi0gICAgICBGU190bXBfZnVuYz0ke0ZTX2Z1bmN0aW9uc1skRlNfZWxlbV9mdW5jdGlvbnNdfQotICAgICAgRlNfdG1wX2xpYmM9JHtGU19jaGtfZnVuY19saWJjWyRGU19lbGVtX2xpYmNdfQotCi0gICAgICBpZiBbWyAkRlNfdG1wX2Z1bmMgPX4gXiRGU190bXBfbGliYyQgXV0gOyB0aGVuCi0gICAgICAgIHByaW50ZiAiIFwwMzNbMzFtJS0zMHNcMDMzW20gfCBfXyVzJXNcbiIgJEZTX3RtcF9mdW5jICRGU190bXBfbGliYyAkRlNfZW5kCi0gICAgICAgIGxldCBGU19jbnRfdG90YWwrKwotICAgICAgICBsZXQgRlNfY250X3VuY2hlY2tlZCsrCi0gICAgICBlbGlmIFtbICRGU190bXBfZnVuYyA9fiBeJEZTX3RtcF9saWJjKF9jaGspIF1dIDsgdGhlbgotICAgICAgICBwcmludGYgIiBcMDMzWzMybSUtMzBzXDAzM1ttIHwgX18lcyVzXG4iICRGU190bXBfZnVuYyAkRlNfdG1wX2xpYmMgJEZTX2VuZAotICAgICAgICBsZXQgRlNfY250X3RvdGFsKysKLSAgICAgICAgbGV0IEZTX2NudF9jaGVja2VkKysKLSAgICAgIGZpCi0KLSAgICBkb25lCi0gIGRvbmUKLX0KLQotRlNfc3VtbWFyeSgpIHsKLSAgZWNobwotICBwcmludGYgIlNVTU1BUlk6XG5cbiIKLSAgcHJpbnRmICIqIE51bWJlciBvZiBjaGVja2VkIGZ1bmN0aW9ucyBpbiBsaWJjICAgICAgICAgICAgICAgIDogJHsjRlNfY2hrX2Z1bmNfbGliY1tAXX1cbiIKLSAgcHJpbnRmICIqIFRvdGFsIG51bWJlciBvZiBsaWJyYXJ5IGZ1bmN0aW9ucyBpbiB0aGUgZXhlY3V0YWJsZTogJHsjRlNfZnVuY3Rpb25zW0BdfVxuIgotICBwcmludGYgIiogTnVtYmVyIG9mIEZPUlRJRlktYWJsZSBmdW5jdGlvbnMgaW4gdGhlIGV4ZWN1dGFibGUgOiAlc1xuIiAkRlNfY250X3RvdGFsCi0gIHByaW50ZiAiKiBOdW1iZXIgb2YgY2hlY2tlZCBmdW5jdGlvbnMgaW4gdGhlIGV4ZWN1dGFibGUgICAgICA6IFwwMzNbMzJtJXNcMDMzW21cbiIgJEZTX2NudF9jaGVja2VkCi0gIHByaW50ZiAiKiBOdW1iZXIgb2YgdW5jaGVja2VkIGZ1bmN0aW9ucyBpbiB0aGUgZXhlY3V0YWJsZSAgICA6IFwwMzNbMzFtJXNcMDMzW21cbiIgJEZTX2NudF91bmNoZWNrZWQKLSAgZWNobwotfQotCi0jIC0tLSBGT1JUSUZZX1NPVVJDRSBzdWJmdW5jdGlvbnMgKGVuZCkgLS0tCi0KLWlmICEoY29tbWFuZF9leGlzdHMgcmVhZGVsZikgOyB0aGVuCi0gIHByaW50ZiAiXDAzM1szMW1XYXJuaW5nOiAncmVhZGVsZicgbm90IGZvdW5kISBJdCdzIHJlcXVpcmVkIGZvciBtb3N0IGNoZWNrcy5cMDMzW21cblxuIgotICBoYXZlX3JlYWRlbGY9MAotZmkKLQotIyBwYXJzZSBjb21tYW5kLWxpbmUgYXJndW1lbnRzCi1jYXNlICIkMSIgaW4KLQotIC0tdmVyc2lvbikKLSAgdmVyc2lvbgotICBleGl0IDAKLSAgOzsKLQotIC0taGVscCkKLSAgaGVscAotICBleGl0IDAKLSAgOzsKLQotIC0tZGlyKQotICBpZiBbICIkMyIgPSAiLXYiIF0gOyB0aGVuCi0gICAgdmVyYm9zZT10cnVlCi0gIGZpCi0gIGlmIFsgJGhhdmVfcmVhZGVsZiAtZXEgMCBdIDsgdGhlbgotICAgIGV4aXQgMQotICBmaQotICBpZiBbIC16ICIkMiIgXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IFBsZWFzZSBwcm92aWRlIGEgdmFsaWQgZGlyZWN0b3J5LlwwMzNbbVxuXG4iCi0gICAgZXhpdCAxCi0gIGZpCi0gICMgcmVtb3ZlIHRyYWlsaW5nIHNsYXNoZXMKLSAgdGVtcGRpcj1gZWNobyAkMiB8IHNlZCAtZSAicy9cLyokLy8iYAotICBpZiBbICEgLWQgJHRlbXBkaXIgXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IFRoZSBkaXJlY3RvcnkgJyR0ZW1wZGlyJyBkb2VzIG5vdCBleGlzdC5cMDMzW21cblxuIgotICAgIGV4aXQgMQotICBmaQotICBjZCAkdGVtcGRpcgotICBwcmludGYgIlJFTFJPICAgICAgICAgICBTVEFDSyBDQU5BUlkgICAgICBOWCAgICAgICAgICAgIFBJRSAgICAgICAgICAgICBSUEFUSCAgICAgIFJVTlBBVEggICAgICBGSUxFXG4iCi0gIGZvciBOIGluIFtBLVphLXpdKjsgZG8KLSAgICBpZiBbICIkTiIgIT0gIltBLVphLXpdKiIgXTsgdGhlbgotICAgICAgIyByZWFkIHBlcm1pc3Npb25zPwotICAgICAgaWYgWyAhIC1yICROIF07IHRoZW4KLSAgICAgICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBObyByZWFkIHBlcm1pc3Npb25zIGZvciAnJHRlbXBkaXIvJE4nIChydW4gYXMgcm9vdCkuXDAzM1ttXG4iCi0gICAgICBlbHNlCi0gICAgICAgICMgRUxGIGV4ZWN1dGFibGU/Ci0gICAgICAgIG91dD1gZmlsZSAkTmAKLSAgICAgICAgaWYgW1sgISAkb3V0ID1+IEVMRiBdXSA7IHRoZW4KLSAgICAgICAgICAgaWYgWyAiJHZlcmJvc2UiID0gInRydWUiIF0gOyB0aGVuCi0gICAgICAgICAgICAgcHJpbnRmICJcMDMzWzM0bSoqKiBOb3QgYW4gRUxGIGZpbGU6ICR0ZW1wZGlyLyIKLSAgICAgICAgICAgICBmaWxlICROCi0gICAgICAgICAgICAgcHJpbnRmICJcMDMzW20iCi0gICAgICAgICAgIGZpCi0gICAgICAgIGVsc2UgCi0gICAgICAgICAgZmlsZWNoZWNrICROCi0gICAgICAgICAgaWYgWyBgZmluZCAkdGVtcGRpci8kTiBcKCAtcGVybSAtMDA0MDAwIC1vIC1wZXJtIC0wMDIwMDAgXCkgLXR5cGUgZiAtcHJpbnRgIF07IHRoZW4KLSAgICAgICAgICAgIHByaW50ZiAiXDAzM1szNzs0MW0lcyVzXDAzM1ttIiAkMiAkTgotICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHByaW50ZiAiJXMlcyIgJHRlbXBkaXIvICROCi0gICAgICAgICAgZmkKLSAgICAgICAgICBlY2hvCi0gICAgICAgIGZpCi0gICAgICBmaQotICAgIGZpCi0gIGRvbmUKLSAgZXhpdCAwCi0gIDs7Ci0gCi0gLS1maWxlKQotICBpZiBbICRoYXZlX3JlYWRlbGYgLWVxIDAgXSA7IHRoZW4KLSAgICBleGl0IDEKLSAgZmkKLSAgaWYgWyAteiAiJDIiIF0gOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBQbGVhc2UgcHJvdmlkZSBhIHZhbGlkIGZpbGUuXDAzM1ttXG5cbiIKLSAgIGV4aXQgMQotICBmaQotICAjIGRvZXMgdGhlIGZpbGUgZXhpc3Q/Ci0gIGlmIFsgISAtZSAkMiBdIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogVGhlIGZpbGUgJyQyJyBkb2VzIG5vdCBleGlzdC5cMDMzW21cblxuIgotICAgIGV4aXQgMQotICBmaQotICAjIHJlYWQgcGVybWlzc2lvbnM/Ci0gIGlmIFsgISAtciAkMiBdIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogTm8gcmVhZCBwZXJtaXNzaW9ucyBmb3IgJyQyJyAocnVuIGFzIHJvb3QpLlwwMzNbbVxuXG4iCi0gICAgZXhpdCAxCi0gIGZpCi0gICMgRUxGIGV4ZWN1dGFibGU/Ci0gIG91dD1gZmlsZSAkMmAKLSAgaWYgW1sgISAkb3V0ID1+IEVMRiBdXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IE5vdCBhbiBFTEYgZmlsZTogIgotICAgIGZpbGUgJDIKLSAgICBwcmludGYgIlwwMzNbbVxuIgotICAgIGV4aXQgMQotICBmaQotICBwcmludGYgIlJFTFJPICAgICAgICAgICBTVEFDSyBDQU5BUlkgICAgICBOWCAgICAgICAgICAgIFBJRSAgICAgICAgICAgICBSUEFUSCAgICAgIFJVTlBBVEggICAgICBGSUxFXG4iCi0gIGZpbGVjaGVjayAkMgotICBpZiBbIGBmaW5kICQyIFwoIC1wZXJtIC0wMDQwMDAgLW8gLXBlcm0gLTAwMjAwMCBcKSAtdHlwZSBmIC1wcmludGAgXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzc7NDFtJXMlc1wwMzNbbSIgJDIgJE4KLSAgZWxzZQotICAgIHByaW50ZiAiJXMiICQyCi0gIGZpCi0gIGVjaG8KLSAgZXhpdCAwCi0gIDs7Ci0KLSAtLXByb2MtYWxsKQotICBpZiBbICRoYXZlX3JlYWRlbGYgLWVxIDAgXSA7IHRoZW4KLSAgICBleGl0IDEKLSAgZmkKLSAgY2QgL3Byb2MKLSAgcHJpbnRmICIqIFN5c3RlbS13aWRlIEFTTFIiCi0gIGFzbHJjaGVjawotICBwcmludGYgIiogRG9lcyB0aGUgQ1BVIHN1cHBvcnQgTlg6ICIKLSAgbnhjaGVjayAKLSAgcHJpbnRmICIgICAgICAgICBDT01NQU5EICAgIFBJRCBSRUxSTyAgICAgICAgICAgICBTVEFDSyBDQU5BUlkgICAgICAgICAgIE5YL1BhWCAgICAgICAgUElFXG4iCi0gIGZvciBOIGluIFsxLTldKjsgZG8KLSAgICBpZiBbICROICE9ICQkIF0gJiYgcmVhZGxpbmsgLXEgJE4vZXhlID4gL2Rldi9udWxsOyB0aGVuCi0gICAgICBwcmludGYgIiUxNnMiIGBoZWFkIC0xICROL3N0YXR1cyB8IGN1dCAtYiA3LWAKLSAgICAgIHByaW50ZiAiJTdkICIgJE4KLSAgICAgIHByb2NjaGVjayAkTgotICAgICAgZWNobwotICAgIGZpCi0gIGRvbmUKLSAgaWYgWyAhIC1lIC91c3IvYmluL2lkIF0gOyB0aGVuCi0gICAgcHJpbnRmICJcblwwMzNbMzNtTm90ZTogSWYgeW91IGFyZSBydW5uaW5nICdjaGVja3NlYy5zaCcgYXMgYW4gdW5wcml2aWxlZ2VkIHVzZXIsIHlvdVxuIgotICAgIHByaW50ZiAiICAgICAgd2lsbCBub3Qgc2VlIGFsbCBwcm9jZXNzZXMuIFBsZWFzZSBydW4gdGhlIHNjcmlwdCBhcyByb290LlwwMzNbbVxuXG4iCi0gIGVsc2UgCi0gICAgaWYgIShyb290X3ByaXZzKSA7IHRoZW4KLSAgICAgIHByaW50ZiAiXG5cMDMzWzMzbU5vdGU6IFlvdSBhcmUgcnVubmluZyAnY2hlY2tzZWMuc2gnIGFzIGFuIHVucHJpdmlsZWdlZCB1c2VyLlxuIiAKLSAgICAgIHByaW50ZiAiICAgICAgVG9vIHNlZSBhbGwgcHJvY2Vzc2VzLCBwbGVhc2UgcnVuIHRoZSBzY3JpcHQgYXMgcm9vdC5cMDMzW21cblxuIgotICAgIGZpCi0gIGZpCi0gIGV4aXQgMAotICA7OwotCi0gLS1wcm9jKQotICBpZiBbICRoYXZlX3JlYWRlbGYgLWVxIDAgXSA7IHRoZW4KLSAgICBleGl0IDEKLSAgZmkKLSAgaWYgWyAteiAiJDIiIF0gOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBQbGVhc2UgcHJvdmlkZSBhIHZhbGlkIHByb2Nlc3MgbmFtZS5cMDMzW21cblxuIgotICAgIGV4aXQgMQotICBmaQotICBpZiAhKGlzU3RyaW5nICIkMiIpIDsgdGhlbgotICAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IFBsZWFzZSBwcm92aWRlIGEgdmFsaWQgcHJvY2VzcyBuYW1lLlwwMzNbbVxuXG4iCi0gICAgIGV4aXQgMQotICBmaQotICBjZCAvcHJvYwotICBwcmludGYgIiogU3lzdGVtLXdpZGUgQVNMUiIKLSAgYXNscmNoZWNrCi0gIHByaW50ZiAiKiBEb2VzIHRoZSBDUFUgc3VwcG9ydCBOWDogIgotICBueGNoZWNrCi0gIHByaW50ZiAiICAgICAgICAgQ09NTUFORCAgICBQSUQgUkVMUk8gICAgICAgICAgICAgU1RBQ0sgQ0FOQVJZICAgICAgICAgICBOWC9QYVggICAgICAgIFBJRVxuIgotICBmb3IgTiBpbiBgcHMgLUFvIHBpZCxjb21tIHwgZ3JlcCAkMiB8IGN1dCAtYjEtNmA7IGRvCi0gICAgaWYgWyAtZCAkTiBdIDsgdGhlbgotICAgICAgcHJpbnRmICIlMTZzIiBgaGVhZCAtMSAkTi9zdGF0dXMgfCBjdXQgLWIgNy1gCi0gICAgICBwcmludGYgIiU3ZCAiICROCi0gICAgICAjIHJlYWQgcGVybWlzc2lvbnM/Ci0gICAgICBpZiBbICEgLXIgJE4vZXhlIF0gOyB0aGVuCi0gICAgICAgIGlmICEocm9vdF9wcml2cykgOyB0aGVuCi0gICAgICAgICAgcHJpbnRmICJcMDMzWzMxbU5vIHJlYWQgcGVybWlzc2lvbnMgZm9yICcvcHJvYy8kTi9leGUnIChydW4gYXMgcm9vdCkuXDAzM1ttXG5cbiIKLSAgICAgICAgICBleGl0IDEKLSAgICAgICAgZmkKLSAgICAgICAgaWYgWyAhIGByZWFkbGluayAkTi9leGVgIF0gOyB0aGVuCi0gICAgICAgICAgcHJpbnRmICJcMDMzWzMxbVBlcm1pc3Npb24gZGVuaWVkLiBSZXF1ZXN0ZWQgcHJvY2VzcyBJRCBiZWxvbmdzIHRvIGEga2VybmVsIHRocmVhZC5cMDMzW21cblxuIgotICAgICAgICAgIGV4aXQgMQotICAgICAgICBmaQotICAgICAgICBleGl0IDEKLSAgICAgIGZpCi0gICAgICBwcm9jY2hlY2sgJE4KLSAgICAgIGVjaG8KLSAgICBmaQotICBkb25lCi0gIGV4aXQgMAotICA7OwotCi0gLS1wcm9jLWxpYnMpCi0gIGlmIFsgJGhhdmVfcmVhZGVsZiAtZXEgMCBdIDsgdGhlbgotICAgIGV4aXQgMQotICBmaQotICBpZiBbIC16ICIkMiIgXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IFBsZWFzZSBwcm92aWRlIGEgdmFsaWQgcHJvY2VzcyBJRC5cMDMzW21cblxuIgotICAgIGV4aXQgMQotICBmaQotICBpZiAhKGlzTnVtZXJpYyAiJDIiKSA7IHRoZW4KLSAgICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBQbGVhc2UgcHJvdmlkZSBhIHZhbGlkIHByb2Nlc3MgSUQuXDAzM1ttXG5cbiIKLSAgICAgZXhpdCAxCi0gIGZpCi0gIGNkIC9wcm9jCi0gIHByaW50ZiAiKiBTeXN0ZW0td2lkZSBBU0xSIgotICBhc2xyY2hlY2sKLSAgcHJpbnRmICIqIERvZXMgdGhlIENQVSBzdXBwb3J0IE5YOiAiCi0gIG54Y2hlY2sKLSAgcHJpbnRmICIqIFByb2Nlc3MgaW5mb3JtYXRpb246XG5cbiIKLSAgcHJpbnRmICIgICAgICAgICBDT01NQU5EICAgIFBJRCBSRUxSTyAgICAgICAgICAgICBTVEFDSyBDQU5BUlkgICAgICAgICAgIE5YL1BhWCAgICAgICAgUElFXG4iCi0gIE49JDIKLSAgaWYgWyAtZCAkTiBdIDsgdGhlbgotICAgIHByaW50ZiAiJTE2cyIgYGhlYWQgLTEgJE4vc3RhdHVzIHwgY3V0IC1iIDctYAotICAgIHByaW50ZiAiJTdkICIgJE4KLSAgICAjIHJlYWQgcGVybWlzc2lvbnM/Ci0gICAgaWYgWyAhIC1yICROL2V4ZSBdIDsgdGhlbgotICAgICAgaWYgIShyb290X3ByaXZzKSA7IHRoZW4KLSAgICAgICAgcHJpbnRmICJcMDMzWzMxbU5vIHJlYWQgcGVybWlzc2lvbnMgZm9yICcvcHJvYy8kTi9leGUnIChydW4gYXMgcm9vdCkuXDAzM1ttXG5cbiIKLSAgICAgICAgZXhpdCAxCi0gICAgICBmaQotICAgICAgaWYgWyAhIGByZWFkbGluayAkTi9leGVgIF0gOyB0aGVuCi0gICAgICAgIHByaW50ZiAiXDAzM1szMW1QZXJtaXNzaW9uIGRlbmllZC4gUmVxdWVzdGVkIHByb2Nlc3MgSUQgYmVsb25ncyB0byBhIGtlcm5lbCB0aHJlYWQuXDAzM1ttXG5cbiIKLSAgICAgICAgZXhpdCAxCi0gICAgICBmaQotICAgICAgZXhpdCAxCi0gICAgZmkKLSAgICBwcm9jY2hlY2sgJE4KLSAgICBlY2hvCi0gICAgbGliY2hlY2sgJE4KLSAgZmkKLSAgZXhpdCAwCi0gIDs7Ci0KLSAtLWtlcm5lbCkKLSAgY2QgL3Byb2MKLSAgcHJpbnRmICIqIEtlcm5lbCBwcm90ZWN0aW9uIGluZm9ybWF0aW9uOlxuXG4iCi0gIGtlcm5lbGNoZWNrCi0gIGV4aXQgMAotICA7OwotCi0gLS1mb3J0aWZ5LWZpbGUpCi0gIGlmIFsgJGhhdmVfcmVhZGVsZiAtZXEgMCBdIDsgdGhlbgotICAgIGV4aXQgMQotICBmaQotICBpZiBbIC16ICIkMiIgXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IFBsZWFzZSBwcm92aWRlIGEgdmFsaWQgZmlsZS5cMDMzW21cblxuIgotICAgZXhpdCAxCi0gIGZpCi0gICMgZG9lcyB0aGUgZmlsZSBleGlzdD8KLSAgaWYgWyAhIC1lICQyIF0gOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBUaGUgZmlsZSAnJDInIGRvZXMgbm90IGV4aXN0LlwwMzNbbVxuXG4iCi0gICAgZXhpdCAxCi0gIGZpCi0gICMgcmVhZCBwZXJtaXNzaW9ucz8KLSAgaWYgWyAhIC1yICQyIF0gOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBObyByZWFkIHBlcm1pc3Npb25zIGZvciAnJDInIChydW4gYXMgcm9vdCkuXDAzM1ttXG5cbiIKLSAgICBleGl0IDEKLSAgZmkKLSAgIyBFTEYgZXhlY3V0YWJsZT8KLSAgb3V0PWBmaWxlICQyYAotICBpZiBbWyAhICRvdXQgPX4gRUxGIF1dIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogTm90IGFuIEVMRiBmaWxlOiAiCi0gICAgZmlsZSAkMgotICAgIHByaW50ZiAiXDAzM1ttXG4iCi0gICAgZXhpdCAxCi0gIGZpCi0gIGlmIFsgLWUgL2xpYi9saWJjLnNvLjYgXSA7IHRoZW4KLSAgICBGU19saWJjPS9saWIvbGliYy5zby42Ci0gIGVsaWYgWyAtZSAvbGliNjQvbGliYy5zby42IF0gOyB0aGVuCi0gICAgRlNfbGliYz0vbGliNjQvbGliYy5zby42Ci0gIGVsaWYgWyAtZSAvbGliL2kzODYtbGludXgtZ251L2xpYmMuc28uNiBdIDsgdGhlbgotICAgIEZTX2xpYmM9L2xpYi9pMzg2LWxpbnV4LWdudS9saWJjLnNvLjYKLSAgZWxpZiBbIC1lIC9saWIveDg2XzY0LWxpbnV4LWdudS9saWJjLnNvLjYgXSA7IHRoZW4KLSAgICBGU19saWJjPS9saWIveDg2XzY0LWxpbnV4LWdudS9saWJjLnNvLjYKLSAgZWxzZQotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogbGliYyBub3QgZm91bmQuXDAzM1ttXG5cbiIKLSAgICBleGl0IDEKLSAgZmkKLQotICBGU19jaGtfZnVuY19saWJjPSggJChyZWFkZWxmIC1zICRGU19saWJjIHwgZ3JlcCBfY2hrQEAgfCBhd2sgJ3sgcHJpbnQgJDggfScgfCBjdXQgLWMgMy0gfCBzZWQgLWUgJ3MvX2Noa0AuKi8vJykgKQotICBGU19mdW5jdGlvbnM9KCAkKHJlYWRlbGYgLXMgJDIgfCBhd2sgJ3sgcHJpbnQgJDggfScgfCBzZWQgJ3MvXyovLycgfCBzZWQgLWUgJ3MvQC4qLy8nKSApCi0KLSAgRlNfbGliY19jaGVjawotICBGU19iaW5hcnlfY2hlY2sKLSAgRlNfY29tcGFyaXNvbgotICBGU19zdW1tYXJ5Ci0KLSAgZXhpdCAwCi0gIDs7Ci0KLSAtLWZvcnRpZnktcHJvYykKLSAgaWYgWyAkaGF2ZV9yZWFkZWxmIC1lcSAwIF0gOyB0aGVuCi0gICAgZXhpdCAxCi0gIGZpCi0gIGlmIFsgLXogIiQyIiBdIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBwcm9jZXNzIElELlwwMzNbbVxuXG4iCi0gICAgZXhpdCAxCi0gIGZpCi0gIGlmICEoaXNOdW1lcmljICIkMiIpIDsgdGhlbgotICAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IFBsZWFzZSBwcm92aWRlIGEgdmFsaWQgcHJvY2VzcyBJRC5cMDMzW21cblxuIgotICAgICBleGl0IDEKLSAgZmkKLSAgY2QgL3Byb2MKLSAgTj0kMgotICBpZiBbIC1kICROIF0gOyB0aGVuCi0gICAgIyByZWFkIHBlcm1pc3Npb25zPwotICAgIGlmIFsgISAtciAkTi9leGUgXSA7IHRoZW4KLSAgICAgIGlmICEocm9vdF9wcml2cykgOyB0aGVuCi0gICAgICAgIHByaW50ZiAiXDAzM1szMW1ObyByZWFkIHBlcm1pc3Npb25zIGZvciAnL3Byb2MvJE4vZXhlJyAocnVuIGFzIHJvb3QpLlwwMzNbbVxuXG4iCi0gICAgICAgIGV4aXQgMQotICAgICAgZmkKLSAgICAgIGlmIFsgISBgcmVhZGxpbmsgJE4vZXhlYCBdIDsgdGhlbgotICAgICAgICBwcmludGYgIlwwMzNbMzFtUGVybWlzc2lvbiBkZW5pZWQuIFJlcXVlc3RlZCBwcm9jZXNzIElEIGJlbG9uZ3MgdG8gYSBrZXJuZWwgdGhyZWFkLlwwMzNbbVxuXG4iCi0gICAgICAgIGV4aXQgMQotICAgICAgZmkKLSAgICAgIGV4aXQgMQotICAgIGZpCi0gICAgaWYgWyAtZSAvbGliL2xpYmMuc28uNiBdIDsgdGhlbgotICAgICAgRlNfbGliYz0vbGliL2xpYmMuc28uNgotICAgIGVsaWYgWyAtZSAvbGliNjQvbGliYy5zby42IF0gOyB0aGVuCi0gICAgICBGU19saWJjPS9saWI2NC9saWJjLnNvLjYKLSAgICBlbGlmIFsgLWUgL2xpYi9pMzg2LWxpbnV4LWdudS9saWJjLnNvLjYgXSA7IHRoZW4KLSAgICAgIEZTX2xpYmM9L2xpYi9pMzg2LWxpbnV4LWdudS9saWJjLnNvLjYKLSAgICBlbGlmIFsgLWUgL2xpYi94ODZfNjQtbGludXgtZ251L2xpYmMuc28uNiBdIDsgdGhlbgotICAgICAgRlNfbGliYz0vbGliL3g4Nl82NC1saW51eC1nbnUvbGliYy5zby42Ci0gICAgZWxzZQotICAgICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBsaWJjIG5vdCBmb3VuZC5cMDMzW21cblxuIgotICAgICAgZXhpdCAxCi0gICAgZmkKLSAgICBwcmludGYgIiogUHJvY2VzcyBuYW1lIChQSUQpICAgICAgICAgICAgICAgICAgICAgICAgIDogJXMgKCVkKVxuIiBgaGVhZCAtMSAkTi9zdGF0dXMgfCBjdXQgLWIgNy1gICROCi0gICAgRlNfY2hrX2Z1bmNfbGliYz0oICQocmVhZGVsZiAtcyAkRlNfbGliYyB8IGdyZXAgX2Noa0BAIHwgYXdrICd7IHByaW50ICQ4IH0nIHwgY3V0IC1jIDMtIHwgc2VkIC1lICdzL19jaGtALiovLycpICkKLSAgICBGU19mdW5jdGlvbnM9KCAkKHJlYWRlbGYgLXMgJDIvZXhlIHwgYXdrICd7IHByaW50ICQ4IH0nIHwgc2VkICdzL18qLy8nIHwgc2VkIC1lICdzL0AuKi8vJykgKQotCi0gICAgRlNfbGliY19jaGVjawotICAgIEZTX2JpbmFyeV9jaGVjawotICAgIEZTX2NvbXBhcmlzb24KLSAgICBGU19zdW1tYXJ5Ci0gIGZpCi0gIGV4aXQgMAotICA7OwotCi0gKikKLSAgaWYgWyAiJCMiICE9ICIwIiBdIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogVW5rbm93biBvcHRpb24gJyQxJy5cMDMzW21cblxuIgotICBmaQotICBoZWxwCi0gIGV4aXQgMQotICA7OwotZXNhYwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2NsYW1hdi9jbGFtYXZfMC45OS40LmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2NsYW1hdi9jbGFtYXZfMC45OS40LmJiCmluZGV4IDhjMmMyZmEuLjYyMTlkOWUgMTAwNjQ0Ci0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9jbGFtYXYvY2xhbWF2XzAuOTkuNC5iYgorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvY2xhbWF2L2NsYW1hdl8wLjk5LjQuYmIKQEAgLTMxLDE3ICszMSwxMyBAQAogCiAjIENsYW1hdiBoYXMgYSBidWlsdCBsbHZtIHZlcnNpb24gMiBidXQgZG9lcyBub3QgYnVpbGQgd2l0aCBnY2MgNi54LAogIyBkaXNhYmxlIHRoZSBpbnRlcm5hbCBvbmUuIFRoaXMgaXMgYSBrbm93biBpc3N1ZQotIyBJZiB5b3Ugd2FudCBMTFZNIHN1cHBvcnQsIHVzZSBtZXRhLW9lIGxsdm0zLjMgdG8gYnVpbGQgZm9yIEdDQyA2LlgsCi0jIGFzIGRlZmluZWQgYmVsb3cKKyMgSWYgeW91IHdhbnQgTExWTSBzdXBwb3J0LCB1c2UgdGhlIG9uZSBpbiBjb3JlCiAKLUNMQU1BVl9MTFZNID89ICJvZWxsdm0iCi1DTEFNQVZfTExWTV9SRUxFQVNFID89ICI2LjAiCi0KLVBBQ0tBR0VDT05GSUcgPz0gIm5jdXJzZXMgb3BlbnNzbCBiejIgemxpYiAke0NMQU1BVl9MTFZNfSIKK1BBQ0tBR0VDT05GSUcgPz0gIm5jdXJzZXMgb3BlbnNzbCBiejIgemxpYiBsbHZtIgogUEFDS0FHRUNPTkZJRyArPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAiaXB2NiIsICJpcHY2IiwgIiIsIGQpfSIKIFBBQ0tBR0VDT05GSUcgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgJycsIGQpfSIKIAotUEFDS0FHRUNPTkZJR1tvZWxsdm1dID0gIi0td2l0aC1zeXN0ZW0tbGx2bSAtLXdpdGgtbGx2bS1saW5raW5nPWR5bmFtaWMgLS1kaXNhYmxlLWxsdm0sICxsbHZtJHtDTEFNQVZfTExWTV9SRUxFQVNFfSIKK1BBQ0tBR0VDT05GSUdbbGx2bV0gPSAiLS13aXRoLXN5c3RlbS1sbHZtIC0td2l0aC1sbHZtLWxpbmtpbmc9ZHluYW1pYyAtLWRpc2FibGUtbGx2bSwgLGxsdm04LjAiCiAKIFBBQ0tBR0VDT05GSUdbcGNyZV0gPSAiLS13aXRoLXBjcmU9JHtTVEFHSU5HX0xJQkRJUn0sICAtLXdpdGhvdXQtcGNyZSwgbGlicGNyZSIKIFBBQ0tBR0VDT05GSUdbeG1sXSA9ICItLXdpdGgteG1sPSR7U1RBR0lOR19MSUJESVJ9Ly4uLCAtLXdpdGgteG1sPW5vLCBsaWJ4bWwyLCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9mYWlsMmJhbi9weXRob24tZmFpbDJiYW4uaW5jIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2ZhaWwyYmFuL3B5dGhvbi1mYWlsMmJhbi5pbmMKaW5kZXggOTI0NWYxNy4uNzI3MGVkOCAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2ZhaWwyYmFuL3B5dGhvbi1mYWlsMmJhbi5pbmMKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2ZhaWwyYmFuL3B5dGhvbi1mYWlsMmJhbi5pbmMKQEAgLTksNyArOSw3IEBACiBMSUNFTlNFID0gIkdQTC0yLjAiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lY2FiYzMxZTkwMzExZGE4NDM3NTNiYTc3Mjg4NWQ5ZiIKIAotU1JDUkVWID0iYWMwZDQ0MWZkNjg4NTJmZmRhN2IxNWM3MWYxNmI3ZjRmZGUxYTdlZSIKK1NSQ1JFViA9ImFhNTY1ZWI4MGVjNjA0MzMxN2U4NDMwY2FiY2FmOWMzZjRlNjE1NzgiCiBTUkNfVVJJID0gIiBcCiAJZ2l0Oi8vZ2l0aHViLmNvbS9mYWlsMmJhbi9mYWlsMmJhbi5naXQ7YnJhbmNoPTAuMTEgXAogCWZpbGU6Ly9pbml0ZCBcCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uLWZhaWwyYmFuXzAuMTAuMy4xLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2ZhaWwyYmFuL3B5dGhvbi1mYWlsMmJhbl8wLjEwLjQuMC5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2ZhaWwyYmFuL3B5dGhvbi1mYWlsMmJhbl8wLjEwLjMuMS5iYgpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2ZhaWwyYmFuL3B5dGhvbi1mYWlsMmJhbl8wLjEwLjQuMC5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2ZhaWwyYmFuL3B5dGhvbjMtZmFpbDJiYW5fMC4xMC4zLjEuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uMy1mYWlsMmJhbl8wLjEwLjQuMC5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2ZhaWwyYmFuL3B5dGhvbjMtZmFpbDJiYW5fMC4xMC4zLjEuYmIKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9mYWlsMmJhbi9weXRob24zLWZhaWwyYmFuXzAuMTAuNC4wLmJiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkva2V5dXRpbHMvZmlsZXMva2V5dXRpbHMtdXNlLXJlbGF0aXZlLXBhdGgtZm9yLWxpbmsucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkva2V5dXRpbHMvZmlsZXMva2V5dXRpbHMtdXNlLXJlbGF0aXZlLXBhdGgtZm9yLWxpbmsucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkZTFhZjQuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2tleXV0aWxzL2ZpbGVzL2tleXV0aWxzLXVzZS1yZWxhdGl2ZS1wYXRoLWZvci1saW5rLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotU3ViamVjdDogW1BBVENIXSBrZXl1dGlsczogdXNlIHJlbGF0aXZlIHBhdGggZm9yIGxpbmsKLQotVGhlIGFic29sdXRlIHBhdGggb2YgdGhlIHN5bWxpbmsgd2lsbCBiZSBpbnZhbGlkCi13aGVuIHBvcHVsYXRlZCBpbiBzeXNyb290LCBzbyB1c2UgcmVsYXRpdmUgcGF0aCBpbnN0ZWFkLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIE1ha2VmaWxlIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQotaW5kZXggODI0YmJiZi4uOGNlM2ExMyAxMDA2NDQKLS0tLSBhL01ha2VmaWxlCi0rKysgYi9NYWtlZmlsZQotQEAgLTE2Nyw3ICsxNjcsNyBAQCBpZmVxICgkKE5PX1NPTElCKSwwKQotIAkkKElOU1RBTEwpIC1EICQoTElCTkFNRSkgJChERVNURElSKSQoTElCRElSKS8kKExJQk5BTUUpCi0gCSQoTE5TKSAkKExJQk5BTUUpICQoREVTVERJUikkKExJQkRJUikvJChTT05BTUUpCi0gCW1rZGlyIC1wICQoREVTVERJUikkKFVTUkxJQkRJUikKLS0JJChMTlMpICQoTElCRElSKS8kKFNPTkFNRSkgJChERVNURElSKSQoVVNSTElCRElSKS8kKERFVkVMTElCKQotKwkkKExOUykgJChTT05BTUUpICQoREVTVERJUikkKFVTUkxJQkRJUikvJChERVZFTExJQikKLSBlbmRpZgotIAkkKElOU1RBTEwpIC1EIGtleWN0bCAkKERFU1RESVIpJChCSU5ESVIpL2tleWN0bAotIAkkKElOU1RBTEwpIC1EIHJlcXVlc3Qta2V5ICQoREVTVERJUikkKFNCSU5ESVIpL3JlcXVlc3Qta2V5Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkva2V5dXRpbHMva2V5dXRpbHNfMS41LjEwLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2tleXV0aWxzL2tleXV0aWxzXzEuNS4xMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTQyMjJiOS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkva2V5dXRpbHMva2V5dXRpbHNfMS41LjEwLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotU1VNTUFSWSA9ICJMaW51eCBLZXkgTWFuYWdlbWVudCBVdGlsaXRpZXMiCi1ERVNDUklQVElPTiA9ICJcCi0gICAgVXRpbGl0aWVzIHRvIGNvbnRyb2wgdGhlIGtlcm5lbCBrZXkgbWFuYWdlbWVudCBmYWNpbGl0eSBhbmQgdG8gcHJvdmlkZSBcCi0gICAgYSBtZWNoYW5pc20gYnkgd2hpY2ggdGhlIGtlcm5lbCBjYWxsIGJhY2sgdG8gdXNlcnNwYWNlIHRvIGdldCBhIGtleSBcCi0gICAgaW5zdGFudGlhdGVkLiBcCi0gICAgIgotSE9NRVBBR0UgPSAiaHR0cDovL3Blb3BsZS5yZWRoYXQuY29tL2Rob3dlbGxzL2tleXV0aWxzIgotU0VDVElPTiA9ICJiYXNlIgotCi1MSUNFTlNFID0gIkxHUEx2Mi4xKyAmIEdQTHYyLjArIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTkNFLkdQTDttZDU9NWY2ZTcyODI0ZjVkYTUwNWMxZjRhNzE5N2YwMDRiNDUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5DRS5MR1BMO21kNT03ZDFjYWNhYTNlYTc1MmI3MmVhNWU1MjVkZjU0YTIxZiIKLQotCi1pbmhlcml0IHNpdGVpbmZvIHB0ZXN0Ci0KLVNSQ19VUkkgPSAiaHR0cDovL3Blb3BsZS5yZWRoYXQuY29tL2Rob3dlbGxzL2tleXV0aWxzLyR7QlB9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8va2V5dXRpbHMtdXNlLXJlbGF0aXZlLXBhdGgtZm9yLWxpbmsucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8va2V5dXRpbHMtdGVzdC1maXgtb3V0cHV0LWZvcm1hdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXl1dGlscy1maXgtZXJyb3ItcmVwb3J0LWJ5LWFkZGluZy1kZWZhdWx0LW1lc3NhZ2UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMzc3MTY3NjMxOWJjN2I4NGIxNTQ5YjVjNjNmZjUyNDMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTE1YzNkZWFlN2YxODE3NzhmZDBlMGZmYWEyZGFkMWJmMWZlMmY1Njc3Y2YyZTBlMzQ4Y2RiN2ExYzkzYWZiNiIKLQotRVhUUkFfT0VNQUtFID0gIidDRkxBR1M9JHtDRkxBR1N9IC1XYWxsJyBcCi0gICAgTk9fQVJMSUI9MSBcCi0gICAgQklORElSPSR7YmFzZV9iaW5kaXJ9IFwKLSAgICBTQklORElSPSR7YmFzZV9zYmluZGlyfSBcCi0gICAgTElCRElSPSR7YmFzZV9saWJkaXJ9IFwKLSAgICBVU1JMSUJESVI9JHtiYXNlX2xpYmRpcn0gXAotICAgIEJVSUxERk9SPSR7U0lURUlORk9fQklUU30tYml0IFwKLSAgICBOT19HTElCQ19LRVlFUlI9MSBcCi0gICAgIgotCi1kb19pbnN0YWxsICgpIHsKLSAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QgKCkgewotICAgIGNwIC1yICR7U30vdGVzdHMgJHtEfSR7UFRFU1RfUEFUSH0vCi0gICAgc2VkIC1pIC1lICdzL09TRElTVD1Vbmtub3duL09TRElTVD0ke0RJU1RST30vJyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy9wcmVwYXJlLmluYy5zaAotfQotCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAiZ2xpYmMtdXRpbHMiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkva2V5dXRpbHMva2V5dXRpbHNfMS42LmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2tleXV0aWxzL2tleXV0aWxzXzEuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTYxZmEyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2tleXV0aWxzL2tleXV0aWxzXzEuNi5iYgpAQCAtMCwwICsxLDUxIEBACitTVU1NQVJZID0gIkxpbnV4IEtleSBNYW5hZ2VtZW50IFV0aWxpdGllcyIKK0RFU0NSSVBUSU9OID0gIlwKKyAgICBVdGlsaXRpZXMgdG8gY29udHJvbCB0aGUga2VybmVsIGtleSBtYW5hZ2VtZW50IGZhY2lsaXR5IGFuZCB0byBwcm92aWRlIFwKKyAgICBhIG1lY2hhbmlzbSBieSB3aGljaCB0aGUga2VybmVsIGNhbGwgYmFjayB0byB1c2Vyc3BhY2UgdG8gZ2V0IGEga2V5IFwKKyAgICBpbnN0YW50aWF0ZWQuIFwKKyAgICAiCitIT01FUEFHRSA9ICJodHRwOi8vcGVvcGxlLnJlZGhhdC5jb20vZGhvd2VsbHMva2V5dXRpbHMiCitTRUNUSU9OID0gImJhc2UiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjErICYgR1BMdjIuMCsiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOQ0UuR1BMO21kNT01ZjZlNzI4MjRmNWRhNTA1YzFmNGE3MTk3ZjAwNGI0NSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9MSUNFTkNFLkxHUEw7bWQ1PTdkMWNhY2FhM2VhNzUyYjcyZWE1ZTUyNWRmNTRhMjFmIgorCisKK2luaGVyaXQgc2l0ZWluZm8gcHRlc3QKKworU1JDX1VSSSA9ICJodHRwOi8vcGVvcGxlLnJlZGhhdC5jb20vZGhvd2VsbHMva2V5dXRpbHMvJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9rZXl1dGlscy10ZXN0LWZpeC1vdXRwdXQtZm9ybWF0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2tleXV0aWxzLWZpeC1lcnJvci1yZXBvcnQtYnktYWRkaW5nLWRlZmF1bHQtbWVzc2FnZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxOTE5ODdiMGFiNDZiYjViNTBlZmQ3MGE2ZTZjZTgwOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkM2FlZjIwY2VjMDAwNWMwZmE2YjRiZTQwMDc5ODg1NTY3NDczMTg1YjFhNTdiNjI5YjAzMGU2Nzk0MmM3MTE1IgorCitFWFRSQV9PRU1BS0UgPSAiJ0NGTEFHUz0ke0NGTEFHU30gLVdhbGwnIFwKKyAgICBOT19BUkxJQj0xIFwKKyAgICBCSU5ESVI9JHtiYXNlX2JpbmRpcn0gXAorICAgIFNCSU5ESVI9JHtiYXNlX3NiaW5kaXJ9IFwKKyAgICBMSUJESVI9JHtiYXNlX2xpYmRpcn0gXAorICAgIFVTUkxJQkRJUj0ke2Jhc2VfbGliZGlyfSBcCisgICAgQlVJTERGT1I9JHtTSVRFSU5GT19CSVRTfS1iaXQgXAorICAgIE5PX0dMSUJDX0tFWUVSUj0xIFwKKyAgICAiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke25vbmFyY2hfYmFzZV9saWJkaXJ9L3BrZ2NvbmZpZworICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKK30KKworZG9faW5zdGFsbF9wdGVzdCAoKSB7CisgICAgY3AgLXIgJHtTfS90ZXN0cyAke0R9JHtQVEVTVF9QQVRIfS8KKyAgICBzZWQgLWkgLWUgJ3MvT1NESVNUPVVua25vd24vT1NESVNUPSR7RElTVFJPfS8nICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL3ByZXBhcmUuaW5jLnNoCit9CisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtub25hcmNoX2Jhc2VfbGliZGlyfS9wa2djb25maWcvbGlia2V5dXRpbHMucGMiCisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJsc2IiCitSREVQRU5EU18ke1BOfS1wdGVzdF9hcHBlbmRfbGliYy1nbGliYyA9ICIgZ2xpYmMtdXRpbHMiCitSREVQRU5EU18ke1BOfS1wdGVzdF9hcHBlbmRfbGliYy1tdXNsID0gIiBtdXNsLXV0aWxzIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2xpYm1zcGFjay9saWJtc3BhY2tfMC41LmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2xpYm1zcGFjay9saWJtc3BhY2tfMC41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MGRiMjNjLi4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9saWJtc3BhY2svbGlibXNwYWNrXzAuNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLVNVTU1BUlkgPSAiQSBsaWJyYXJ5IGZvciBNaWNyb3NvZnQgY29tcHJlc3Npb24gZm9ybWF0cyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuY2FiZXh0cmFjdC5vcmcudWsvbGlibXNwYWNrLyIKLVNFQ1RJT04gPSAibGliIgotTElDRU5TRSA9ICJMR1BMLTIuMSIKLURFUEVORFMgPSAiIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjtiZWdpbmxpbmU9MTtlbmRsaW5lPTI7bWQ1PTViMWZkMWY2NmVmOTI2YjNjOGE1YmIwMGE3MmEyOGRkIgotCi1TUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9saWJtLyR7QlBOfS8ke0JQTn1fJHtQVn0ub3JpZy50YXIuZ3pcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiM2FhM2Y2YjllZjEwMTQ2MzI3MGMwODU0NzhmZGExZGEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiODk2N2YyNzU1MjVmNTA2N2IzNjRjZWU0M2I3M2U0NGQwNDMzNjY4YzM5ZjkzNzZkZmZmMTlmNjUzZDFjODExMCIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotUyA9ICIke1dPUktESVJ9LyR7QlB9YWxwaGEiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbGlibXNwYWNrL2xpYm1zcGFja18wLjkuMS5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9saWJtc3BhY2svbGlibXNwYWNrXzAuOS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2YThhMDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbGlibXNwYWNrL2xpYm1zcGFja18wLjkuMS5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIkEgbGlicmFyeSBmb3IgTWljcm9zb2Z0IGNvbXByZXNzaW9uIGZvcm1hdHMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmNhYmV4dHJhY3Qub3JnLnVrL2xpYm1zcGFjay8iCitTRUNUSU9OID0gImxpYiIKK0xJQ0VOU0UgPSAiTEdQTC0yLjEiCitERVBFTkRTID0gIiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7YmVnaW5saW5lPTE7ZW5kbGluZT0yO21kNT01YjFmZDFmNjZlZjkyNmIzYzhhNWJiMDBhNzJhMjhkZCIKKworU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbGlibS8ke0JQTn0vJHtCUE59XyR7UFZ9Lm9yaWcudGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTYwMmFlNGE2YjA0NjhkOWFhZWY2MzU5YzFlOTA2NTciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjJhMzM2ZDljNzk4NjM4YWFmM2RjZWI0Mzg0MzMyMDA2MTU0NGJiZjM1NTQ3YzMxNmIwNzViOTkxMTJmMmU0MCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUyA9ICIke1dPUktESVJ9LyR7QlB9YWxwaGEiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbGlic2VjY29tcC9saWJzZWNjb21wXzIuMy4zLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2xpYnNlY2NvbXAvbGlic2VjY29tcF8yLjMuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWM2NmRiNi4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbGlic2VjY29tcC9saWJzZWNjb21wXzIuMy4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotU1VNTUFSWSA9ICJpbnRlcmZhY2UgdG8gc2VjY29tcCBmaWx0ZXJpbmcgbWVjaGFuaXNtIgotREVTQ1JJUFRJT04gPSAiVGhlIGxpYnNlY2NvbXAgbGlicmFyeSBwcm92aWRlcyBhbmQgZWFzeSB0byB1c2UsIHBsYXRmb3JtIGluZGVwZW5kZW50LGludGVyZmFjZSB0byB0aGUgTGludXggS2VybmVsJ3Mgc3lzY2FsbCBmaWx0ZXJpbmcgbWVjaGFuaXNtOiBzZWNjb21wLiIKLVNFQ1RJT04gPSAic2VjdXJpdHkiCi1MSUNFTlNFID0gIkxHUEwtMi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTtiZWdpbmxpbmU9MDtlbmRsaW5lPTE7bWQ1PThlYWMwOGQyMjExMzg4MDM1N2NlYjhlN2MzN2Y5ODlmIgotCi1TUkNSRVYgPSAiNzRiMTkwZTFhYTA1ZjA3ZGEwYzYxZmI5YTMwZGJjOWMxOGNlMmM5ZCIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3NlY2NvbXAvbGlic2VjY29tcC5naXQ7YnJhbmNoPXJlbGVhc2UtMi4zIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0iCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgcHRlc3QKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICItLWVuYWJsZS1weXRob24sIC0tZGlzYWJsZS1weXRob24sIHB5dGhvbiIKLQotZG9fY29tcGlsZV9wdGVzdCgpIHsKLSAgICBvZV9ydW5tYWtlIC1DIHRlc3RzIGNoZWNrLWJ1aWxkCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cwotICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vdG9vbHMKLSAgICBmb3IgZmlsZSBpbiAkKGZpbmQgdGVzdHMvKiAtZXhlY3V0YWJsZSAtdHlwZSBmKTsgZG8KLSAgICAgICAgaW5zdGFsbCAtbSA3NDQgJHtTfS8ke2ZpbGV9ICR7RH0vJHtQVEVTVF9QQVRIfS90ZXN0cwotICAgIGRvbmUKLSAgICBmb3IgZmlsZSBpbiAkKGZpbmQgdGVzdHMvKi50ZXN0cyAtdHlwZSBmKTsgZG8KLSAgICAgICAgaW5zdGFsbCAtbSA3NDQgJHtTfS8ke2ZpbGV9ICR7RH0vJHtQVEVTVF9QQVRIfS90ZXN0cwotICAgIGRvbmUKLSAgICBmb3IgZmlsZSBpbiAkKGZpbmQgdG9vbHMvKiAtZXhlY3V0YWJsZSAtdHlwZSBmKTsgZG8KLSAgICAgICAgaW5zdGFsbCAtbSA3NDQgJHtTfS8ke2ZpbGV9ICR7RH0vJHtQVEVTVF9QQVRIfS90b29scwotICAgIGRvbmUKLX0KLQotRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9ICR7bGliZGlyfS8ke0JQTn0uc28qIgotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vJHtQTn0vdGVzdHMvLmRlYnVnLyogJHtsaWJkaXJ9LyR7UE59L3Rvb2xzLy5kZWJ1ZyIKLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiYmFzaCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9saWJzZWNjb21wL2xpYnNlY2NvbXBfMi40LjAuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbGlic2VjY29tcC9saWJzZWNjb21wXzIuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxZmZkNjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbGlic2VjY29tcC9saWJzZWNjb21wXzIuNC4wLmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiaW50ZXJmYWNlIHRvIHNlY2NvbXAgZmlsdGVyaW5nIG1lY2hhbmlzbSIKK0RFU0NSSVBUSU9OID0gIlRoZSBsaWJzZWNjb21wIGxpYnJhcnkgcHJvdmlkZXMgYW5kIGVhc3kgdG8gdXNlLCBwbGF0Zm9ybSBpbmRlcGVuZGVudCxpbnRlcmZhY2UgdG8gdGhlIExpbnV4IEtlcm5lbCdzIHN5c2NhbGwgZmlsdGVyaW5nIG1lY2hhbmlzbTogc2VjY29tcC4iCitTRUNUSU9OID0gInNlY3VyaXR5IgorTElDRU5TRSA9ICJMR1BMLTIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7YmVnaW5saW5lPTA7ZW5kbGluZT0xO21kNT04ZWFjMDhkMjIxMTM4ODAzNTdjZWI4ZTdjMzdmOTg5ZiIKKworU1JDUkVWID0gIjRkNjQwMTE3NDEzNzViYjFhNGJhN2Q3MTkwNWNhMzdiOTc4ODUwODMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zZWNjb21wL2xpYnNlY2NvbXAuZ2l0O2JyYW5jaD1yZWxlYXNlLTIuNCBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHB0ZXN0CisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3B5dGhvbl0gPSAiLS1lbmFibGUtcHl0aG9uLCAtLWRpc2FibGUtcHl0aG9uLCBweXRob24iCisKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisgICAgb2VfcnVubWFrZSAtQyB0ZXN0cyBjaGVjay1idWlsZAorfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKKyAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rvb2xzCisgICAgZm9yIGZpbGUgaW4gJChmaW5kIHRlc3RzLyogLWV4ZWN1dGFibGUgLXR5cGUgZik7IGRvCisgICAgICAgIGluc3RhbGwgLW0gNzQ0ICR7U30vJHtmaWxlfSAke0R9LyR7UFRFU1RfUEFUSH0vdGVzdHMKKyAgICBkb25lCisgICAgZm9yIGZpbGUgaW4gJChmaW5kIHRlc3RzLyoudGVzdHMgLXR5cGUgZik7IGRvCisgICAgICAgIGluc3RhbGwgLW0gNzQ0ICR7U30vJHtmaWxlfSAke0R9LyR7UFRFU1RfUEFUSH0vdGVzdHMKKyAgICBkb25lCisgICAgZm9yIGZpbGUgaW4gJChmaW5kIHRvb2xzLyogLWV4ZWN1dGFibGUgLXR5cGUgZik7IGRvCisgICAgICAgIGluc3RhbGwgLW0gNzQ0ICR7U30vJHtmaWxlfSAke0R9LyR7UFRFU1RfUEFUSH0vdG9vbHMKKyAgICBkb25lCit9CisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfSAke2xpYmRpcn0vJHtCUE59LnNvKiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9LyR7UE59L3Rlc3RzLy5kZWJ1Zy8qICR7bGliZGlyfS8ke1BOfS90b29scy8uZGVidWciCisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ID0gImJhc2giCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmNyYWNrL25jcmFja18wLjcuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmNyYWNrL25jcmFja18wLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZiYTJiNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uY3JhY2svbmNyYWNrXzAuNy5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIk5ldHdvcmsgYXV0aGVudGljYXRpb24gY3JhY2tpbmcgdG9vbCIKK0RFU0NSSVBUSU9OID0gIk5jcmFjayBpcyBkZXNpZ25lZCBmb3IgaGlnaC1zcGVlZCBwYXJhbGxlbCB0ZXN0aW5nIG9mIG5ldHdvcmsgZGV2aWNlcyBmb3IgcG9vciBwYXNzd29yZHMuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9ubWFwLm9yZy9uY3JhY2siCitTRUNUSU9OID0gInNlY3VyaXR5IgorCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xOThmYTkzZDRlODAyMjU4MzllNTk1MzM2ZjNiNWZmMCIKKworU1JDUkVWID0gIjNhNzkzYTIxODIwNzA4NDY2MDgxODI1YmVkYTlmY2U4NTdmMzZjYjYiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbm1hcC9uY3JhY2suZ2l0IgorCitERVBFTkRTID0gIm9wZW5zc2wgemxpYiIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0lOU0FORV9TS0lQXyR7UE59ID0gImFscmVhZHktc3RyaXBwZWQiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmlrdG8vZmlsZXMvQ1ZFLTIwMTgtMTE2NTIucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmlrdG8vZmlsZXMvQ1ZFLTIwMTgtMTE2NTIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkZGIxNjkuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L25pa3RvL2ZpbGVzL0NWRS0yMDE4LTExNjUyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTA2ICswLDAgQEAKLUZyb20gZTc1OWIzMzAwYWFjZTUzMTRmZTNkMzA4MDBjOGJkODNjODFjMjlmNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IHN1bGxvIDxzdWxsb0BjaXJ0Lm5ldD4KLURhdGU6IFRodSwgMzEgTWF5IDIwMTggMjM6MzA6MDMgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IENTViBpbmplY3Rpb24gaXNzdWUgaWYgc2VydmVyIHJlc3BvbmRzIHdpdGggYSBtYWxpY2lvdXMKLSBTZXJ2ZXIgc3RyaW5nICYgQ1NWIG91dHB1dCBpcyBvcGVuZWQgaW4gRXhjZWwgb3Igb3RoZXIgc3ByZWFkc2hlZXQgYXBwLgotIFBvdGVudGlhbGx5IG1hbGljaW91cyBjZWxsIHN0YXJ0IGNoYXJhY3RlcnMgYXJlIG5vdyBwcmVmYWNlZCB3aXRoIGEgJyBtYXJrLgotIFRoYW5rcyB0byBBZGFtIChAYnl0ZXNvdmVyYm9tYnMpIGZvciBsZXR0aW5nIG1lIGtub3chCi0KLUFsc28gZml4ZWQgYSBjcmFzaCBpbiB0aGUgb3V0ZGF0ZWQgcGx1Z2luIGlmIHRoZSAkc2VwciBmaWVsZCBlbmRzIHVwIGJlaW5nIHNvbWV0aGluZyB0aGF0IHRyaWdnZXJzIGEgcGFuaWMgaW4gc3BsaXQoKS4KLQotQ1ZFOiBDVkUtMjAxOC0xMTY1MgotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogTmFnYWxha3NobWkgVmVlcmFtYWxsdSA8bnZlZXJhbWFsbHVAbXZpc3RhLmNvbT4KLS0tLQotIHBsdWdpbnMvbmlrdG9fb3V0ZGF0ZWQucGx1Z2luICAgfCAgMiArLQotIHBsdWdpbnMvbmlrdG9fcmVwb3J0X2Nzdi5wbHVnaW4gfCA0MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9wbHVnaW5zL25pa3RvX291dGRhdGVkLnBsdWdpbiBiL3BsdWdpbnMvbmlrdG9fb3V0ZGF0ZWQucGx1Z2luCi1pbmRleCA3MjM3OWNjLi5lYjFkODg5IDEwMDY0NAotLS0tIGEvcGx1Z2lucy9uaWt0b19vdXRkYXRlZC5wbHVnaW4KLSsrKyBiL3BsdWdpbnMvbmlrdG9fb3V0ZGF0ZWQucGx1Z2luCi1AQCAtODMsNyArODMsNyBAQCBzdWIgbmlrdG9fb3V0ZGF0ZWQgewotICAgICAgICAgICAgICRzZXByID0gc3Vic3RyKCRzZXByLCAobGVuZ3RoKCRzZXByKSAtIDEpLCAxKTsKLSAKLSAgICAgICAgICAgICAjIGJyZWFrIHVwIElEIHN0cmluZyBvbiAkc2VwcgotLSAgICAgICAgICAgIG15IEBUID0gc3BsaXQoLyRzZXByLywgJG1hcmstPnsnYmFubmVyJ30pOwotKyAgICAgICAgICAgIG15IEBUID0gc3BsaXQoL1xcJHNlcHIvLCAkbWFyay0+eydiYW5uZXInfSk7Ci0gCi0gICAgICAgICAgICAgIyBhc3N1bWUgbGFzdCBpcyB2ZXJzaW9uLi4uCi0gICAgICAgICAgICAgZm9yICgkaSA9IDAgOyAkaSA8ICQjVCA7ICRpKyspIHsgJE1BVENIU1RSSU5HIC49ICIkVFskaV0gIjsgfQotZGlmZiAtLWdpdCBhL3BsdWdpbnMvbmlrdG9fcmVwb3J0X2Nzdi5wbHVnaW4gYi9wbHVnaW5zL25pa3RvX3JlcG9ydF9jc3YucGx1Z2luCi1pbmRleCBkMTNhY2FiLi5iOTQyZTc4IDEwMDY0NAotLS0tIGEvcGx1Z2lucy9uaWt0b19yZXBvcnRfY3N2LnBsdWdpbgotKysrIGIvcGx1Z2lucy9uaWt0b19yZXBvcnRfY3N2LnBsdWdpbgotQEAgLTUyLDEwICs1MiwxMiBAQCBzdWIgY3N2X29wZW4gewotIHN1YiBjc3ZfaG9zdF9zdGFydCB7Ci0gICAgIG15ICgkaGFuZGxlLCAkbWFyaykgPSBAXzsKLSAgICAgJG1hcmstPnsnYmFubmVyJ30gPX4gcy8iL1xcIi9nOwotLSAgICBwcmludCBPVVQgIlwiJG1hcmstPnsnaG9zdG5hbWUnfVwiLCIKLS0gICAgICAuICJcIiRtYXJrLT57J2lwJ31cIiwiCi0tICAgICAgLiAiXCIkbWFyay0+eydwb3J0J31cIiwiIC4gIlwiXCIsIiAuICJcIlwiLCIgLiAiXCJcIiwiCi0tICAgICAgLiAiXCIkbWFyay0+eydiYW5uZXInfVwiXG4iOwotKyAgICBwcmludCAkaGFuZGxlICJcIiIgLiBjc3Zfc2FmZWNlbGwoJGhvc3RuYW1lKSAuICJcIiwiCi0rICAgICAgLiAiXCIiIC4gY3N2X3NhZmVjZWxsKCRtYXJrLT57J2lwJ30pIC4gIlwiLCIKLSsgICAgICAuICJcIiIgLiBjc3Zfc2FmZWNlbGwoJG1hcmstPnsncG9ydCd9KSAuICJcIiwiIC4gIlwiXCIsIiAuICJcIlwiLCIgLiAiXCJcIiwiCi0rICAgICAgIy4gIlwiIiAuICRtYXJrLT57J2Jhbm5lcid9IC4gIlwiXG4iOwotKyAgICAgIC4gIlwiIiAuIGNzdl9zYWZlY2VsbCgkbWFyay0+eydiYW5uZXInfSkgLiAiXCJcbiI7Ci0rCi0gICAgIHJldHVybjsKLSB9Ci0gCi1AQCAtNjUsMjYgKzY3LDQyIEBAIHN1YiBjc3ZfaXRlbSB7Ci0gICAgIG15ICgkaGFuZGxlLCAkbWFyaywgJGl0ZW0pID0gQF87Ci0gICAgIGZvcmVhY2ggbXkgJHVyaSAoc3BsaXQoJyAnLCAkaXRlbS0+eyd1cmknfSkpIHsKLSAgICAgICAgIG15ICRsaW5lID0gJyc7Ci0tICAgICAgICAkbGluZSAuPSAiXCIkaXRlbS0+eydtYXJrJ30tPnsnaG9zdG5hbWUnfVwiLCI7Ci0tICAgICAgICAkbGluZSAuPSAiXCIkaXRlbS0+eydtYXJrJ30tPnsnaXAnfVwiLCI7Ci0tICAgICAgICAkbGluZSAuPSAiXCIkaXRlbS0+eydtYXJrJ30tPnsncG9ydCd9XCIsIjsKLSsgICAgICAgICRsaW5lIC49ICJcIiIgLiBjc3Zfc2FmZWNlbGwoJGhvc3RuYW1lKSAuICJcIiwiOwotKyAgICAgICAgJGxpbmUgLj0gIlwiIiAuIGNzdl9zYWZlY2VsbCgkaXRlbS0+eydtYXJrJ30tPnsnaXAnfSkgLiBcIiwiOwotKyAgICAgICAgJGxpbmUgLj0gIlwiIiAuIGNzdl9zYWZlY2VsbCgkaXRlbS0+eydtYXJrJ30tPnsncG9ydCd9KSAuICJcIiwiOwotIAotICAgICAgICAgJGxpbmUgLj0gIlwiIjsKLSAgICAgICAgIGlmICgkaXRlbS0+eydvc3ZkYid9IG5lICcnKSB7ICRsaW5lIC49ICJPU1ZEQi0iIC4gJGl0ZW0tPnsnb3N2ZGInfTsgfQotICAgICAgICAgJGxpbmUgLj0gIlwiLCI7Ci0gCi0gICAgICAgICAkbGluZSAuPSAiXCIiOwotLSAgICAgICAgaWYgKCRpdGVtLT57J21ldGhvZCd9IG5lICcnKSB7ICRsaW5lIC49ICRpdGVtLT57J21ldGhvZCd9OyB9Ci0rICAgICAgICBpZiAoJGl0ZW0tPnsnbWV0aG9kJ30gbmUgJycpIHsgJGxpbmUgLj0gY3N2X3NhZmVjZWxsKCRpdGVtLT57J21ldGhvZCd9KTsgfQotICAgICAgICAgJGxpbmUgLj0gIlwiLCI7Ci0gCi0gICAgICAgICAkbGluZSAuPSAiXCIiOwotLSAgICAgICAgaWYgKCR1cmkgbmUgJycpIHsgJGxpbmUgLj0gJG1hcmstPnsncm9vdCd9IC4gJHVyaTsgfQotKyAgICAgICAgICAgICAgICAgICAgICAgeyAkbGluZSAuPSBjc3Zfc2FmZWNlbGwoJG1hcmstPnsncm9vdCd9KSAuICR1cmk7IH0KLSsgICAgICAgICAgICAgICBlbHNlIHsgJGxpbmUgLj0gY3N2X3NhZmVjZWxsKCR1cgotICAgICAgICAgJGxpbmUgLj0gIlwiLCI7Ci0gCi0tICAgICAgICAkaXRlbS0+eydtZXNzYWdlJ30gPX4gcy8iL1xcIi9nOwotLSAgICAgICAgJGxpbmUgLj0gIlwiJGl0ZW0tPnsnbWVzc2FnZSd9XCIiOwotLSAgICAgICAgcHJpbnQgJGhhbmRsZSAiJGxpbmVcbiI7Ci0rICAgICAgIG15ICRtc2cgPSAkaXRlbS0+eydtZXNzYWdlJ307Ci0rICAgICAgICR1cmk9cXVvdGVtZXRhKCR1cmkpOwotKyAgICAgICBteSAkcm9vdCA9IHF1b3RlbWV0YSgkbWFyay0+eydyb290J30pOwotKyAgICAgICAkbXNnID1+IHMvXiR1cmk6XHMvLzsKLSsgICAgICAgJG1zZyA9fiBzL14kcm9vdCR1cmk6XHMvLzsKLSsgICAgICAgICAkbXNnID1+IHMvIi9cXCIvZzsKLSsgICAgICAgICRsaW5lIC49ICJcIiIgLiBjc3Zfc2FmZWNlbGwoJG1zZykgLiJcIiI7Ci0rICAgICAgICAgcHJpbnQgJGhhbmRsZSAiJGxpbmVcbiI7Ci0rCi0gICAgIH0KLSB9Ci0gCi0rIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotKyMgcHJldmVudCBDU1YgaW5qZWN0aW9uIGF0dGFja3MKLStzdWIgY3N2X3NhZmVjZWxsIHsKLSsgICAgbXkgJGNlbGxkYXRhID0gJF9bMF0gfHwgcmV0dXJuOwotKyAgICBpZiAoJGNlbGxkYXRhID1+IC9eWz0rQC1dLykgeyAkY2VsbGRhdGEgPSAiJyIgLiAkY2VsbGRhdGE7IH0KLSsgICAgcmV0dXJuICRjZWxsZGF0YTsKLSt9Ci0rCi0rCi0gMTsKLS0tIAotMi42LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L25pa3RvL2ZpbGVzL2xvY2F0aW9uLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L25pa3RvL2ZpbGVzL2xvY2F0aW9uLnBhdGNoCmluZGV4IGE5NWIwNjIuLmVkYWEyMDQgMTAwNjQ0Ci0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uaWt0by9maWxlcy9sb2NhdGlvbi5wYXRjaAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmlrdG8vZmlsZXMvbG9jYXRpb24ucGF0Y2gKQEAgLTEsMzYgKzEsMzYgQEAKLUZyb20gZTEwYjliMWY2NzA0MDU3YWNlMzk5NTZhZTFkYzVjN2NhY2EwN2ZmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFuZHJlaSBEaW51IDxhbmRyZWkuYWRyaWFueC5kaW51QGludGVsLmNvbT4KLURhdGU6IE1vbiwgOCBKdWwgMjAxMyAxMTo1Mzo1NCArMDMwMAotU3ViamVjdDogW1BBVENIXSBTZXR0aW5nIHRoZSBsb2NhdGlvbiBvZiBuaWt0byBvbiB0aGUgaW1hZ2UKK0Zyb20gZDFjYjcwMmQ1MTQ3YWJlYTBkMzIwOGE0ZDU1NGM2MWE2ZjJkZWNkNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNjb3R0IEVsbGlzIDxzY290dEBqdW1wbm93dGVrLmNvbT4KK0RhdGU6IEZyaSwgMjggRGVjIDIwMTggMTE6MDg6MjUgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gU2V0IGN1c3RvbSBwYXRocwogCi1VcHN0cmVhbSBTdGF0dXM6IEluYXByb3ByaWF0ZQorVXBzdHJlYW0gU3RhdHVzOiBJbmFwcHJvcHJpYXRlCiAKLVNpZ25lZC1vZmYtYnk6IEFuZHJlaSBEaW51IDxhbmRyZWkuYWRyaWFueC5kaW51QGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFNjb3R0IEVsbGlzIDxzY290dEBqdW1wbm93dGVrLmNvbT4KIC0tLQotIG5pa3RvLmNvbmYgfCAgIDEwICsrKysrLS0tLS0KKyBuaWt0by5jb25mIHwgMTAgKysrKystLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCiAKLWRpZmYgLS1naXQgYS9uaWt0by5jb25mIGIvbmlrdG8uY29uZgotaW5kZXggMjViNzg0ZC4uOTU3NzAzMyAxMDA2NDQKK2RpZmYgLS1naXQgYS9wcm9ncmFtL25pa3RvLmNvbmYgYi9wcm9ncmFtL25pa3RvLmNvbmYKK2luZGV4IGJmMzZjNTguLjhjNTU0MTUgMTAwNjQ0CiAtLS0gYS9uaWt0by5jb25mCiArKysgYi9uaWt0by5jb25mCi1AQCAtNjEsMTEgKzYxLDExIEBAIENJUlQ9MTc0LjE0Mi4xNy4xNjUKK0BAIC02MSwxMSArNjEsMTEgQEAgQ0lSVD0xMDcuMTcwLjk5LjI1MQogIENIRUNLTUVUSE9EUz1IRUFEIEdFVAogIAogICMgSWYgeW91IHdhbnQgdG8gc3BlY2lmeSB0aGUgbG9jYXRpb24gb2YgYW55IG9mIHRoZSBmaWxlcywgc3BlY2lmeSB0aGVtIGhlcmUKIC0jIEVYRUNESVI9L29wdC9uaWt0bwkJCQkjIExvY2F0aW9uIG9mIE5pa3RvCiAtIyBQTFVHSU5ESVI9L29wdC9uaWt0by9wbHVnaW5zCQkJIyBMb2NhdGlvbiBvZiBwbHVnaW4gZGlyCi0tIyBEQkRJUj0vb3B0L25pa3RvL2RhdGFiYXNlcwkJCSMgTG9jYXRpb24gb2YgcGx1Z2luIGRpcgotLSMgVEVNUExBVEVESVI9L29wdC9uaWt0by90ZW1wbGF0ZXMJCSMgTG9jYXRpb24gb2YgdGVtcG1sYXRlIGRpcgorLSMgREJESVI9L29wdC9uaWt0by9kYXRhYmFzZXMJCQkjIExvY2F0aW9uIG9mIGRhdGFiYXNlIGRpcgorLSMgVEVNUExBVEVESVI9L29wdC9uaWt0by90ZW1wbGF0ZXMJCSMgTG9jYXRpb24gb2YgdGVtcGxhdGUgZGlyCiAtIyBET0NESVI9L29wdC9uaWt0by9kb2NzCQkJIyBMb2NhdGlvbiBvZiBkb2NzIGRpcgogK0VYRUNESVI9L3Vzci9iaW4vbmlrdG8JCQkJIyBMb2NhdGlvbiBvZiBOaWt0bwogK1BMVUdJTkRJUj0vZXRjL25pa3RvL3BsdWdpbnMJCQkjIExvY2F0aW9uIG9mIHBsdWdpbiBkaXIKLStEQkRJUj0vZXRjL25pa3RvL2RhdGFiYXNlcwkJCSMgTG9jYXRpb24gb2YgcGx1Z2luIGRpcgotK1RFTVBMQVRFRElSPS9ldGMvbmlrdG8vdGVtcGxhdGVzCQkjIExvY2F0aW9uIG9mIHRlbXBtbGF0ZSBkaXIKKytEQkRJUj0vZXRjL25pa3RvL2RhdGFiYXNlcwkJCSMgTG9jYXRpb24gb2YgZGF0YWJhc2UgZGlyCisrVEVNUExBVEVESVI9L2V0Yy9uaWt0by90ZW1wbGF0ZXMJCSMgTG9jYXRpb24gb2YgdGVtcGxhdGUgZGlyCiArRE9DRElSPS91c3Ivc2hhcmUvZG9jL25pa3RvCQkJIyBMb2NhdGlvbiBvZiBkb2NzIGRpcgogIAogICMgRGVmYXVsdCBwbHVnaW4gbWFjcm9zCi0gQEBNVVRBVEU9ZGljdGlvbmFyeTtzdWJkb21haW4KKyAjIFJlbW92ZSBwbHVnaW5zIGRlc2lnbmVkIHRvIGJlIHJ1biBzdGFuZGFsb25lCiAtLSAKLTEuNy45LjUKKzIuNy40CiAKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uaWt0by9uaWt0b18yLjEuNS5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uaWt0by9uaWt0b18yLjEuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTllYjE0Zi4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmlrdG8vbmlrdG9fMi4xLjUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMDggKzAsMCBAQAotU1VNTUFSWSA9ICJ3ZWIgc2VydmVyIHNjYW5uZXIiCi1ERVNDUklQVElPTiA9ICJOaWt0byBpcyBhbiBPcGVuIFNvdXJjZSAoR1BMKSB3ZWIgc2VydmVyIHNjYW5uZXIgd2hpY2ggcGVyZm9ybXMgY29tcHJlaGVuc2l2ZSB0ZXN0cyBhZ2FpbnN0IHdlYiBzZXJ2ZXJzIGZvciBtdWx0aXBsZSBpdGVtcywgaW5jbHVkaW5nIG92ZXIgNjUwMCBwb3RlbnRpYWxseSBkYW5nZXJvdXMgXAotICAgICAgICAgICAgICAgZmlsZXMvQ0dJcywgY2hlY2tzIGZvciBvdXRkYXRlZCB2ZXJzaW9ucyBvZiBvdmVyIDEyNTAgc2VydmVycywgYW5kIHZlcnNpb24gc3BlY2lmaWMgcHJvYmxlbXMgb24gb3ZlciAyNzAgc2VydmVycy4iCi1TRUNUSU9OID0gInNlY3VyaXR5IgotTElDRU5TRSA9ICJHUEx2MiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT01NT05fTElDRU5TRV9ESVJ9L0dQTC0yLjA7bWQ1PTgwMWY4MDk4MGQxNzFkZDY0MjU2MTA4MzNhMjJkYmU2IgotCi1TUkNfVVJJID0gImh0dHA6Ly9jaXJ0Lm5ldC9uaWt0by8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vbG9jYXRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTE2NTIucGF0Y2giCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJlZmNjOThhOTE4YmVjYjc3NDcxZWU5YTVkZjBhN2IxZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIwZTY3MmE2YTQ2YmYyYWJkZTQxOWEwZThlYTg0NjY5NmQ3ZjMyZTk5YWQxOGE2YjQwNTczNmVlNmFmMDc1MDlmIgotCi1kb19pbnN0YWxsKCkgewotCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQotCWluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0KLQlpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L21hbi9tYW4xCi0JaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9kb2MvbmlrdG8KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcwotCi0JaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl80MDRfc3RyaW5ncyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKLQlpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX2NvbnRlbnRfc2VhcmNoICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfZGljdGlvbmFyeSAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKLQlpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX2VtYmVkZGVkICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfZmF2aWNvbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKLQlpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX2hlYWRlcnMgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCi0JaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9odHRwb3B0aW9ucyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKLQlpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX211bHRpcGxlX2luZGV4ICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfb3V0ZGF0ZWQgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCi0JaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9wYXJrZWRfc3RyaW5ncyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKLQlpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX3JlYWxtcyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKLQlpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX3NlcnZlcl9tc2dzICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfc3ViZG9tYWlucyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKLQlpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX3Rlc3RzICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfdmFyaWFibGVzICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvSlNPTi1QUC5wbSAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvTFcyLnBtICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19hcGFjaGVfZXhwZWN0X3hzcy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2FwYWNoZXVzZXJzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fYXV0aC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2NnaS5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2NsaWVudGFjY2Vzc3BvbGljeS5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2NvbnRlbnRfc2VhcmNoLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fY29va2llcy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2NvcmUucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19kaWN0aW9uYXJ5X2F0dGFjay5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2VtYmVkZGVkLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fZmF2aWNvbi5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2ZpbGVvcHMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19oZWFkZXJzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9faHR0cG9wdGlvbnMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19tc2dzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fbXVsdGlwbGVfaW5kZXgucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19vdXRkYXRlZC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3BhcmtlZC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3BhdGhzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcHV0X2RlbF90ZXN0LnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcmVwb3J0X2Nzdi5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JlcG9ydF9odG1sLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcmVwb3J0X21zZi5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JlcG9ydF9uYmUucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19yZXBvcnRfdGV4dC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JlcG9ydF94bWwucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19yb2JvdHMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19zaWViZWwucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19zc2wucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19zdWJkb21haW4ucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b190ZXN0cy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCi0JaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy9odG1fY2xvc2UudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9lbmQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9ob3N0X2hlYWQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9ob3N0X2ltLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCi0JaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy9odG1faG9zdF9pdGVtLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCi0JaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy9odG1fc3RhcnQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9zdG9wLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCi0JaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy9odG1fc3RhcnQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9zdW1tYXJ5LnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCi0JaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfZW5kLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCi0JaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfaG9zdF9oZWFkLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCi0JaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfaG9zdF9pbS50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcwotCWluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMveG1sX2hvc3RfaXRlbS50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcwotCWluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMveG1sX3N0YXJ0LnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCi0JaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfc3VtbWFyeS50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcwotCi0JaW5zdGFsbCAtbSAwNjQ0IG5pa3RvLmNvbmYgICAgJHtEfSR7c3lzY29uZmRpcn0KLQotCWluc3RhbGwgLW0gMDc1NSBuaWt0by5wbCAgICAke0R9JHtiaW5kaXJ9L25pa3RvCi0JaW5zdGFsbCAtbSAwNjQ0IHJlcGxheS5wbCAgICAke0R9JHtiaW5kaXJ9Ci0JaW5zdGFsbCAtbSAwNjQ0IGRvY3MvbmlrdG8uMSAgICAke0R9JHtkYXRhZGlyfS9tYW4vbWFuMQotCi0JaW5zdGFsbCAtbSAwNjQ0IGRvY3MvQ0hBTkdFUy50eHQgICAgJHtEfSR7ZGF0YWRpcn0vZG9jL25pa3RvCi0JaW5zdGFsbCAtbSAwNjQ0IGRvY3MvTElDRU5TRS50eHQgICAgJHtEfSR7ZGF0YWRpcn0vZG9jL25pa3RvCi0JaW5zdGFsbCAtbSAwNjQ0IGRvY3MvbmlrdG8uZHRkICAgICR7RH0ke2RhdGFkaXJ9L2RvYy9uaWt0bwotCWluc3RhbGwgLW0gMDY0NCBkb2NzL25pa3RvX21hbnVhbC5odG1sICAgICR7RH0ke2RhdGFkaXJ9L2RvYy9uaWt0bwotfQotCi1SREVQRU5EU18ke1BOfSA9ICJwZXJsIGxpYm5ldC1zc2xlYXktcGVybCBsaWJ3aGlza2VyMi1wZXJsIFwKLSAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBwZXJsLW1vZHVsZS10aW1lLWxvY2FsIFwKLSAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1pby1zb2NrZXQgcGVybC1tb2R1bGUtb3ZlcmxvYWRpbmcgXAotICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWJhc2UgcGVybC1tb2R1bGUtYiBwZXJsLW1vZHVsZS1ieXRlcyBcCi0gICAgICAgICAgICAgICAgbmlrdG8tZG9jIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L25pa3RvL25pa3RvXzIuMS42LmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L25pa3RvL25pa3RvXzIuMS42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkMmM0NmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmlrdG8vbmlrdG9fMi4xLjYuYmIKQEAgLTAsMCArMSwxMTggQEAKK1NVTU1BUlkgPSAid2ViIHNlcnZlciBzY2FubmVyIgorREVTQ1JJUFRJT04gPSAiTmlrdG8gaXMgYW4gT3BlbiBTb3VyY2Ugd2ViIHNlcnZlciBzY2FubmVyIHdoaWNoIHBlcmZvcm1zIGNvbXByZWhlbnNpdmUgdGVzdHMgYWdhaW5zdCB3ZWIgc2VydmVycyIKK1NFQ1RJT04gPSAic2VjdXJpdHkiCitIT01FUEFHRSA9ICJodHRwczovL2NpcnQubmV0L05pa3RvMiIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09NTU9OX0xJQ0VOU0VfRElSfS9HUEwtMi4wO21kNT04MDFmODA5ODBkMTcxZGQ2NDI1NjEwODMzYTIyZGJlNiIKKworU1JDUkVWID0gImYxYmJkMWE4NzU2YzA3NmM4ZmQ0ZjRkZDBiYzM0YThlZjIxNWFlNzkiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc3VsbG8vbmlrdG8uZ2l0IFwKKyAgICAgICAgICAgZmlsZTovL2xvY2F0aW9uLnBhdGNoIgorCitTID0gIiR7V09SS0RJUn0vZ2l0L3Byb2dyYW0iCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vbWFuL21hbjEKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2RvYy9uaWt0bworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8KKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiXzQwNF9zdHJpbmdzICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfY29udGVudF9zZWFyY2ggICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9kaWN0aW9uYXJ5ICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfZGlyX3RyYXZlcnNhbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX2RvbWlubyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX2RydXBhbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX2VtYmVkZGVkICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfZmF2aWNvbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX2hlYWRlcnMgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9odHRwb3B0aW9ucyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX211bHRpcGxlX2luZGV4ICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfb3V0ZGF0ZWQgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9wYXJrZWRfc3RyaW5ncyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX3JlYWxtcyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX3NlcnZlcl9tc2dzICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfdGVzdHMgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl92YXJpYWJsZXMgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9MVzIucG0gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2FwYWNoZV9leHBlY3RfeHNzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fYXBhY2hldXNlcnMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19hdXRoLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fY2dpLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fY2xpZW50YWNjZXNzcG9saWN5LnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fY29udGVudF9zZWFyY2gucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19jb29raWVzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fY29yZS5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2RpY3Rpb25hcnlfYXR0YWNrLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fZGlyX3RyYXZlcnNhbC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2Rpc2h3YXNoZXIucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19kb2NrZXJfcmVnaXN0cnkucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19kb21pbm8ucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19kcnVwYWwucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19lbWJlZGRlZC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2Zhdmljb24ucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19maWxlb3BzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9faGVhZGVycy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2h0dHBvcHRpb25zLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fbXMxMF8wNzAucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19tc2dzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fbXVsdGlwbGVfaW5kZXgucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19uZWdvdGlhdGUucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19vcmlnaW5fcmVmbGVjdGlvbi5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX291dGRhdGVkLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcGFya2VkLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcGF0aHMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19wdXRfZGVsX3Rlc3QucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19yZXBvcnRfY3N2LnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcmVwb3J0X2h0bWwucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19yZXBvcnRfanNvbi5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JlcG9ydF9uYmUucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19yZXBvcnRfc3FsZy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JlcG9ydF90ZXh0LnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcmVwb3J0X3htbC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JvYm90cy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3NpZWJlbC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3NpdGVmaWxlcy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3NzbC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3N0cnV0c2hvY2sucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b190ZXN0cy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworCisgICAgaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy9odG1fY2xvc2UudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9lbmQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9ob3N0X2hlYWQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9ob3N0X2ltLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy9odG1faG9zdF9pdGVtLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy9odG1fc3RhcnQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9zdG9wLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy9odG1fc3RhcnQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9zdW1tYXJ5LnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfZW5kLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfaG9zdF9oZWFkLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfaG9zdF9pbS50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcworICAgIGluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMveG1sX2hvc3RfaXRlbS50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcworICAgIGluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMveG1sX3N0YXJ0LnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfc3VtbWFyeS50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcworCisgICAgaW5zdGFsbCAtbSAwNjQ0IG5pa3RvLmNvbmYgICAgJHtEfSR7c3lzY29uZmRpcn0KKworICAgIGluc3RhbGwgLW0gMDc1NSBuaWt0by5wbCAgICAke0R9JHtiaW5kaXJ9L25pa3RvCisgICAgaW5zdGFsbCAtbSAwNjQ0IHJlcGxheS5wbCAgICAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0IGRvY3MvbmlrdG8uMSAgICAke0R9JHtkYXRhZGlyfS9tYW4vbWFuMQorCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRvY3MvQ0hBTkdFUy50eHQgICAgJHtEfSR7ZGF0YWRpcn0vZG9jL25pa3RvCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRvY3MvTElDRU5TRS50eHQgICAgJHtEfSR7ZGF0YWRpcn0vZG9jL25pa3RvCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRvY3MvbmlrdG8uZHRkICAgICR7RH0ke2RhdGFkaXJ9L2RvYy9uaWt0bworICAgIGluc3RhbGwgLW0gMDY0NCBkb2NzL25pa3RvX21hbnVhbC5odG1sICAgICR7RH0ke2RhdGFkaXJ9L2RvYy9uaWt0bworfQorCitSREVQRU5EU18ke1BOfSA9ICJwZXJsIGxpYm5ldC1zc2xlYXktcGVybCBsaWJ3aGlza2VyMi1wZXJsIFwKKyAgICBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBwZXJsLW1vZHVsZS10aW1lLWxvY2FsIFwKKyAgICBwZXJsLW1vZHVsZS1pby1zb2NrZXQgcGVybC1tb2R1bGUtb3ZlcmxvYWRpbmcgXAorICAgIHBlcmwtbW9kdWxlLWJhc2UgcGVybC1tb2R1bGUtYiBwZXJsLW1vZHVsZS1ieXRlcyIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3BhY2thZ2Vncm91cC9wYWNrYWdlZ3JvdXAtY29yZS1zZWN1cml0eS5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9wYWNrYWdlZ3JvdXAvcGFja2FnZWdyb3VwLWNvcmUtc2VjdXJpdHkuYmIKaW5kZXggZTg0Nzg0Ny4uYjhhYjI3ZCAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3BhY2thZ2Vncm91cC9wYWNrYWdlZ3JvdXAtY29yZS1zZWN1cml0eS5iYgorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvcGFja2FnZWdyb3VwL3BhY2thZ2Vncm91cC1jb3JlLXNlY3VyaXR5LmJiCkBAIC03OCw3ICs3OCw3IEBACiAgICAgcHl0aG9uLXNjYXB5LXB0ZXN0IFwKICAgICBzdXJpY2F0YS1wdGVzdCBcCiAgICAgdHJpcHdpcmUtcHRlc3QgXAotICAgIHB5dGhvbjMtZmFpbDJiYW4tcHRlc3QgXAorICAgIHB5dGhvbi1mYWlsMmJhbi1wdGVzdCBcCiAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJhcHBhcm1vciIsICJhcHBhcm1vci1wdGVzdCIsICIiLGQpfSBcCiAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJzbWFjayIsICJzbWFjay1wdGVzdCIsICIiLGQpfSBcCiAgICAgcHRlc3QtcnVubmVyIFwKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL3NhbWhhaW4uaW5jIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vc2FtaGFpbi5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0NGJmMGQuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vc2FtaGFpbi5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwxNjIgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiUHJvdmlkZXMgZmlsZSBpbnRlZ3JpdHkgY2hlY2tpbmcgYW5kIGxvZyBmaWxlIG1vbml0b3JpbmcvYW5hbHlzaXMiCi1IT01FUEFHRSAgICA9ICJodHRwOi8vd3d3LmxhLXNhbWhuYS5kZS9zYW1oYWluLyIKLUxJQ0VOU0UgICAgID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIiCi0KLQotU1JDX1VSSSA9ICJodHRwOi8vbGEtc2FtaG5hLmRlL2FyY2hpdmUvc2FtaGFpbl9zaWduZWQtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tY3Jvc3MtY29tcGlsZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLW1pcHM2NC1hYXJjaDY0LWRubWFsbG9jLWhhc2gtZml4LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tc2FtaGFpbnJjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tc2FtaGFpbnJjLWZpeC1maWxlcy1kaXJzLXBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1waWQtcGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLXNoYTI1Ni1iaWctZW5kaWFuLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tY29uZmlndXJlLWFkZC1vcHRpb24tZm9yLXBzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tYXZvaWQtc2VhcmNoaW5nLWhvc3QtZm9yLXBvc3RncmVzcWwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1hZGQtTERGTEFHUy12YXJpYWJsZS1mb3Itc2FtaGFpbl9zZXRwd2QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vJHtJTklUU0NSSVBUX05BTUV9LmluaXQgXAotICAgICAgICAgICBmaWxlOi8vJHtJTklUU0NSSVBUX05BTUV9LmRlZmF1bHQgXAotICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi5zZXJ2aWNlIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYTAwZTk5Mzc1Njc1ZmM2ZTUwY2NhM2UyMDhmNTIwN2UiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiODU1MWRjM2IwODUxODg5YTJiOTc5MDk3ZTljMDIzMDliNDBkNDhiNDY1OWYwMmVmZTdmZTUyNWNlODM2MWEwZCIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vd3d3LmxhLXNhbWhuYS5kZS9zYW1oYWluL2FyY2hpdmUuaHRtbCIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gInNhbWhhaW5fc2lnbmVkLSg/UDxwdmVyPihcZCsoXC5cZCspKykpXC50YXIiCi0KLVMgPSAiJHtXT1JLRElSfS9zYW1oYWluLSR7UFZ9IgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgcGtnY29uZmlnIHN5c3RlbWQKLQotU0FNSEFJTl9QT1JUID8/PSAiNDk3NzciCi1TQU1IQUlOX1NFUlZFUiA/Pz0gIk5VTEwiCi0KLUlOSVRTQ1JJUFRfTkFNRSA9ICIke0JQTn0iCi1JTklUU0NSSVBUX1BBUkFNUyA/PSAiZGVmYXVsdHMiCi0KLVNZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtJTklUU0NSSVBUX05BTUV9LnNlcnZpY2UiCi1TWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCi0KLSMgbW9kZSBtYXBwaW5nOgotIyBCUE4gICAgICAgICAgICAgICAgTU9ERV9OQU1FICAgU0FNSEFJTl9NT0RFCi0jIHNhbWhhaW4tc3RhbmRhbG9uZSBzdGFuZGFsb25lICBubwotIyBzYW1oYWluLWNsaWVudCAgICAgY2xpZW50ICAgICAgY2xpZW50Ci0jIHNhbWhhaW4tc2VydmVyICAgICBzZXJ2ZXIgICAgICBzZXJ2ZXIKLU1PREVfTkFNRSA9ICIke0BkLmdldFZhcignQlBOJykuc3BsaXQoJy0nKVsxXX0iCi1TQU1IQUlOX01PREUgPSAiJHtAb2UudXRpbHMuaWZlbHNlKGQuZ2V0VmFyKCdNT0RFX05BTUUnKSA9PSAnc3RhbmRhbG9uZScsICdubycsICcke01PREVfTkFNRX0nKX0iCi0KLSMgc3VwcG9ydHMgbXlzcWx8cG9zdGdyZXNxbHxvcmFjbGV8b2RiYyBidXQgcG9zdGdyZXNxbCBpcyB0aGUgb25seSBvbmUgYXZhaWxhYmxlCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJwb3N0Z3Jlc3FsIHBzIFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnaXB2NicsICcnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc2VsaW51eCcsICdzZWxpbnV4IGF1ZGl0JywgJycsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdhY2wnLCAnYWNsJywgJycsIGQpfSBcCi0iCi0KLVBBQ0tBR0VDT05GSUdbcG9zdGdyZXNxbF0gID0gIi0td2l0aC1kYXRhYmFzZT1wb3N0Z3Jlc3FsIC0tZW5hYmxlLXhtbC1sb2cgUEdTUUxfSU5DX0RJUj0ke1NUQUdJTkdfSU5DRElSfSBQR1NRTF9MSUJfRElSPSR7U1RBR0lOR19MSUJESVJ9LCAsIHBvc3RncmVzcWwiCi1QQUNLQUdFQ09ORklHW3N1aWRjaGVja10gID0gIi0tZW5hYmxlLXN1aWRjaGVjaywgLCAiCi1QQUNLQUdFQ09ORklHW2xvZ3dhdGNoXSAgPSAiLS1lbmFibGUtbG9naW4td2F0Y2gsICwgIgotUEFDS0FHRUNPTkZJR1ttb3VudHNdICA9ICItLWVuYWJsZS1tb3VudHMtY2hlY2ssICwgIgotUEFDS0FHRUNPTkZJR1t1c2VyZmlsZXNdICA9ICItLWVuYWJsZS11c2VyZmlsZXMsICwgIgotUEFDS0FHRUNPTkZJR1tpcHY2XSAgPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCi1QQUNLQUdFQ09ORklHW3NlbGludXhdID0gIi0tZW5hYmxlLXNlbGludXgsIC0tZGlzYWJsZS1zZWxpbnV4LCBsaWJzZWxpbnV4IGF0dHIiCi1QQUNLQUdFQ09ORklHW2FjbF0gPSAiIC0tZW5hYmxlLXBvc2l4LWFjbCAsIC0tZGlzYWJsZS1wb3NpeC1hY2wsIGFjbCIKLVBBQ0tBR0VDT05GSUdbYXVkaXRdID0gImFjX2N2X2hlYWRlcl9hdXBhcnNlX2g9eWVzLGFjX2N2X2hlYWRlcl9hdXBhcnNlX2g9bm8sYXVkaXQiCi1QQUNLQUdFQ09ORklHW3BzXSA9ICItLXdpdGgtcHMtcGF0aD0ke2Jhc2VfYmluZGlyfS9wcywsLHByb2NwcyIKLQotZG9fdW5wYWNrX3NhbWhhaW4oKSB7Ci0gICAgY2QgJHtXT1JLRElSfQotICAgIHRhciAteHp2ZiBzYW1oYWluLSR7UFZ9LnRhci5negotfQotCi1weXRob24gZG9fdW5wYWNrX2FwcGVuZCgpIHsKLSAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ2RvX3VucGFja19zYW1oYWluJywgZCkKLX0KLQotZG9fY29uZmlndXJlX3ByZXBlbmRfYXJtKCkgewotICAgIGV4cG9ydCBzaF9jdl9fX3ZhX2NvcHk9eWVzCi19Ci0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kX2FhcmNoNjQoKSB7Ci0gICAgZXhwb3J0IHNoX2N2X19fdmFfY29weT15ZXMKLX0KLQotIyBJZiB3ZSB1c2Ugb2VfcnVuY29uZiBpbiBkb19jb25maWd1cmUoKSBpdCB3aWxsIGJ5IGRlZmF1bHQKLSMgdXNlIHRoZSBwcmVmaXggLS1vbGRpbmNsdWRlZGlyPS91c3IvaW5jbHVkZSB3aGljaCBpcyBub3QKLSMgcmVjb2duaXplZCBieSBTYW1oYWluJ3MgY29uZmlndXJlIHNjcmlwdCBhbmQgd291bGQgaW52YXJpYWJseQotIyB0aHJvdyBiYWNrIHRoZSBlcnJvciAidW5yZWNvZ25pemVkIG9wdGlvbjogLS1vbGRpbmNsdWRlZGlyPS91c3IvaW5jbHVkZSIKLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLSAgICBjYXQgPDwgRU9GID4gJHtTfS9jb25maWctc2l0ZS4ke0JQfQotc3NwX2N2X2xpYj1ubwotc2hfY3ZfdmFfY29weT15ZXMKLUVPRgotICAgIGV4cG9ydCBDT05GSUdfU0lURT0ke1N9L2NvbmZpZy1zaXRlLiR7QlB9Ci19Ci0KLWRvX2NvbmZpZ3VyZSAoKSB7Ci0JYXV0b2NvbmYgLWYKLQkuL2NvbmZpZ3VyZSBcCi0JLS1idWlsZD0ke0JVSUxEX1NZU30gXAotCS0taG9zdD0ke0hPU1RfU1lTfSBcCi0JLS10YXJnZXQ9JHtUQVJHRVRfU1lTfSBcCi0JLS1wcmVmaXg9JHtwcmVmaXh9IFwKLQktLWV4ZWNfcHJlZml4PSR7ZXhlY19wcmVmaXh9IFwKLQktLWJpbmRpcj0ke2JpbmRpcn0gXAotCS0tc2JpbmRpcj0ke3NiaW5kaXJ9IFwKLQktLWxpYmV4ZWNkaXI9JHtsaWJleGVjZGlyfSBcCi0JLS1kYXRhZGlyPSR7ZGF0YWRpcn0gXAotCS0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9IFwKLQktLXNoYXJlZHN0YXRlZGlyPSR7c2hhcmVkc3RhdGVkaXJ9IFwKLQktLWxvY2Fsc3RhdGVkaXI9JHtsb2NhbHN0YXRlZGlyfSBcCi0JLS1saWJkaXI9JHtsaWJkaXJ9IFwKLQktLWluY2x1ZGVkaXI9JHtpbmNsdWRlZGlyfSBcCi0JLS1pbmZvZGlyPSR7aW5mb2Rpcn0gXAotCS0tbWFuZGlyPSR7bWFuZGlyfSBcCi0JLS1lbmFibGUtbmV0d29yaz0ke1NBTUhBSU5fTU9ERX0gXAotCS0td2l0aC1waWQtZmlsZT0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi9zYW1oYWluLnBpZCBcCi0JLS13aXRoLWRhdGEtZmlsZT0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9zYW1oYWluL3NhbWhhaW5fZmlsZSBcCi0JJHtFWFRSQV9PRUNPTkZ9Ci19Ci0KLWRvX2NvbXBpbGVfcHJlcGVuZF9saWJjLW11c2wgKCkgewotCXNlZCAtaSAncy9eI2RlZmluZSBIQVZFX01BTExPQ19ILiovLycgJHtCfS9jb25maWcuaAotfQotCi0jIEluc3RhbGwgdGhlIGluaXQgc2NyaXB0LCBpdCdzIGRlZmF1bHQgZmlsZSwgYW5kIHRoZSBleHRyYW5lb3VzCi0jIGRvY3VtZW50YXRpb24uCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0Jb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JyR7RH0nIElOU1RBTEw9aW5zdGFsbC1ib290Ci0KLQlpbnN0YWxsIC1EIC1tIDc1NSAke1dPUktESVJ9LyR7SU5JVFNDUklQVF9OQU1FfS5pbml0IFwKLQkJJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLyR7SU5JVFNDUklQVF9OQU1FfQotCi0JaW5zdGFsbCAtRCAtbSA3NTUgJHtXT1JLRElSfS8ke0lOSVRTQ1JJUFRfTkFNRX0uZGVmYXVsdCBcCi0JCSR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvJHtJTklUU0NSSVBUX05BTUV9Ci0KLQlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCi0JCWlmIFsgIiR7U0FNSEFJTl9NT0RFfSIgPSAibm8iIF07IHRoZW4KLQkJICAgIGluc3RhbGwgLUQgLW0gMDY0NCAke1dPUktESVJ9L3NhbWhhaW4uc2VydmljZSAke0R9LyR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vc2FtaGFpbi5zZXJ2aWNlCi0JCWVsc2UKLQkJICAgIGluc3RhbGwgLUQgLW0gMDY0NCAke1dPUktESVJ9L3NhbWhhaW4uc2VydmljZSAke0R9LyR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vJHtCUE59LnNlcnZpY2UKLQkJZmkKLQkJaW5zdGFsbCAtRCAtbSAwNzU1ICR7V09SS0RJUn0vJHtCUE59LmluaXQgJHtEfS8ke2xpYmV4ZWNkaXJ9LyR7QlBOfQotCQlzZWQgLWkgLWUgJ3MsQExJQkRJUkAsJHtsaWJleGVjZGlyfSwnIFwKLQkJICAgICAgIC1lICdzLEBTQU1IQUlOX0hFTFBFUkAsJHtCUE59LCcgXAotCQkgICAgICAgLWUgJ3MsQE1PREVfTkFNRUAsJHtNT0RFX05BTUV9LCcgXAotCQkgICAgICAgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vc2FtaGFpbiouc2VydmljZQotICAgIGZpCi0KLQlpbnN0YWxsIC1kICR7RH0ke2RvY2Rpcn0vJHtCUE59Ci0JY3AgLXIgZG9jcy8qICR7RH0ke2RvY2Rpcn0vJHtCUE59Ci0JY3AgLXIgc2NyaXB0cyAke0R9JHtkb2NkaXJ9LyR7QlBOfQotCWluc3RhbGwgLWQgLW0gNzU1ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3NhbWhhaW4KLQotCSMgUHJldmVudCBRQSB3YXJuaW5ncyBhYm91dCBpbnN0YWxsZWQgJHtsb2NhbHN0YXRlZGlyfS9ydW4KLQlpZiBbIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biBdOyB0aGVuCi0JCXJtZGlyICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgotCWZpCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9IgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NjYXB5L2ZpbGVzL3J1bi1wdGVzdCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9maWxlcy9ydW4tcHRlc3QKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NjYXB5L3B5dGhvbi1zY2FweS5pbmMgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2NhcHkvcHl0aG9uLXNjYXB5LmluYwppbmRleCA1YWJlN2RiLi45OWYzMGE3IDEwMDY0NAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2NhcHkvcHl0aG9uLXNjYXB5LmluYworKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2NhcHkvcHl0aG9uLXNjYXB5LmluYwpAQCAtNSwxNiArNSwyNSBAQAogCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9iaW4vc2NhcHk7YmVnaW5saW5lPTk7ZW5kbGluZT0xMzttZDU9MWQ1MjQ5ODcyY2M1NGNkNGNhM2QzODc5MjYyZDBjNjkiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICJkN2QzYzQyOTRmNWE3MThlMjM0Nzc1ZDM4ZGJlYjdlYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0NTJmNzE0ZjVjMmVhYzZmZDBhNjE0NmIxZGJkZGZjMjRkZDVmNDEwM2YzZWQ3NjIyNzk5NWE0ODhjZmIyYjczIgorUyA9ICIke1dPUktESVJ9L2dpdCIKIAotaW5oZXJpdCBweXBpIHB0ZXN0CitTUkNSRVYgPSAiYmFkMTRjYjFhNWFlZTI5ZjgxMDdmYmU4YWQwMDhkNDY0NWYxNGRhNyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zZWNkZXYvc2NhcHkuZ2l0IgorCitpbmhlcml0IHB0ZXN0CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGlmIFsgIiR7UFlUSE9OX1BOfSIgPSAicHl0aG9uMyIgXTsgdGhlbgorICAgICAgICBzZWQgLWkgLWUgJ3MvcHl0aG9uL3B5dGhvbjMvJyAke0R9JHtiaW5kaXJ9L3NjYXB5CisgICAgICAgIHNlZCAtaSAtZSAncy9weXRob24vcHl0aG9uMy8nICR7RH0ke2JpbmRpcn0vVVRzY2FweQorICAgIGZpCit9CiAKIGRvX2luc3RhbGxfcHRlc3QoKSB7CiAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vdGVzdC9yZWdyZXNzaW9uLnV0cyAke0R9JHtQVEVTVF9QQVRIfQogICAgIHNlZCAtaSAncyxAUFRFU1RfUEFUSEAsJHtQVEVTVF9QQVRIfSwnICR7RH0ke1BURVNUX1BBVEh9L3J1bi1wdGVzdAogfQogCi1SREVQRU5EU18ke1BOfSA9ICJ0Y3BkdW1wICR7UFlUSE9OX1BOfS1jb21wcmVzc2lvbiAke1BZVEhPTl9QTn0tbmV0Y2xpZW50ICBcCitSREVQRU5EU18ke1BOfSA9ICJ0Y3BkdW1wICR7UFlUSE9OX1BOfS1jb21wcmVzc2lvbiAke1BZVEhPTl9QTn0tY3J5cHRvZ3JhcGh5ICR7UFlUSE9OX1BOfS1uZXRjbGllbnQgIFwKICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1BOfS1uZXRzZXJ2ZXIgJHtQWVRIT05fUE59LXB5ZG9jICR7UFlUSE9OX1BOfS1wa2d1dGlsICR7UFlUSE9OX1BOfS1zaGVsbCBcCiAgICAgICAgICAgICAgICAgICAke1BZVEhPTl9QTn0tdGhyZWFkaW5nICR7UFlUSE9OX1BOfS1udW1iZXJzICR7UFlUSE9OX1BOfS1weWNyeXB0byIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24tc2NhcHlfMi40LjAuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2NhcHkvcHl0aG9uLXNjYXB5XzIuNC4yLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2NhcHkvcHl0aG9uLXNjYXB5XzIuNC4wLmJiCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2NhcHkvcHl0aG9uLXNjYXB5XzIuNC4yLmJiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2NhcHkvcHl0aG9uMy1zY2FweV8yLjQuMC5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24zLXNjYXB5XzIuNC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5M2NhN2JlLi4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24zLXNjYXB5XzIuNC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1pbmhlcml0IHNldHVwdG9vbHMzCi1yZXF1aXJlIHB5dGhvbi1zY2FweS5pbmMKLQotU1JDX1VSSSArPSAiZmlsZTovL3J1bi1wdGVzdCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24zLXNjYXB5XzIuNC4yLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NjYXB5L3B5dGhvbjMtc2NhcHlfMi40LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODNjNzlmNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24zLXNjYXB5XzIuNC4yLmJiCkBAIC0wLDAgKzEsNSBAQAoraW5oZXJpdCBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tc2NhcHkuaW5jCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9ydW4tcHRlc3QiCisKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zc3NkL3Nzc2RfMS4xNi4zLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3Nzc2Qvc3NzZF8xLjE2LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmN2Y4MDUuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3Nzc2Qvc3NzZF8xLjE2LjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi1TVU1NQVJZID0gInN5c3RlbSBzZWN1cml0eSBzZXJ2aWNlcyBkYWVtb24iCi1ERVNDUklQVElPTiA9ICJTU1NEIGlzIGEgc3lzdGVtIHNlY3VyaXR5IHNlcnZpY2VzIGRhZW1vbiIKLUhPTUVQQUdFID0gImh0dHBzOi8vcGFndXJlLmlvL1NTU0Qvc3NzZC8iCi1TRUNUSU9OID0gImJhc2UiCi1MSUNFTlNFID0gIkdQTHYzKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgotCi1ERVBFTkRTID0gIm9wZW5sZGFwIGN5cnVzLXNhc2wgbGlidGRiIGRpbmctbGlicyBsaWJwYW0gYy1hcmVzIGtyYjUgYXV0b2NvbmYtYXJjaGl2ZSIKLURFUEVORFMgKz0gImxpYmxkYiBkYnVzIGxpYnRhbGxvYyBsaWJwY3JlIGdsaWItMi4wIHBvcHQgZTJmc3Byb2dzIGxpYnRldmVudCIKLQotU1JDX1VSSSA9ICJodHRwczovL3JlbGVhc2VzLnBhZ3VyZS5vcmcvU1NTRC8ke0JQTn0vJHtCUH0udGFyLmd6XAotICAgICAgICAgICAgZmlsZTovL3Nzc2QuY29uZiAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJhZjQyODhjOWQxZjk5NTNlM2IzYjZlMGIxNjVhNWVjZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlZTVkMTdhMGM2NjNjMDk4MTljYmFiOTM2NDA4NWI5ZTU3ZmFlY2EwMjQwNmNjMzBlZmUxNGNjMGNmYzA0ZWM0IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dCB1cGRhdGUtcmMuZCBweXRob24tZGlyIGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAicGFtIgotCi1DQUNIRURfQ09ORklHVVJFVkFSUyA9ICJhY19jdl9tZW1iZXJfc3RydWN0X2xkYXBfY29ubmNiX2xjX2FyZz1ubyBcCi0gICAgYWNfY3ZfcGF0aF9OU1VQREFURT0ke2JpbmRpcn0gXAotICAgIGFjX2N2X3BhdGhfUFlUSE9OMj0ke1BZVEhPTl9ESVJ9IGFjX2N2X3Byb2dfSEFWRV9QWVRIT04zPSR7UFlUSE9OX0RJUn0gXAotICAgICIKLQotUEFDS0FHRUNPTkZJRyA/PSJuc3MgbnNjZCIKLVBBQ0tBR0VDT05GSUcgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc2VsaW51eCcsICdzZWxpbnV4JywgJycsIGQpfSIKLQotUEFDS0FHRUNPTkZJR1tzc2hdID0gIi0td2l0aC1zc2gsIC0td2l0aC1zc2g9bm8sICIKLVBBQ0tBR0VDT05GSUdbc2FtYmFdID0gIi0td2l0aC1zYW1iYSwgLS13aXRoLXNhbWJhPW5vLCBzYW1iYSIKLVBBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS13aXRoLXNlbGludXgsIC0td2l0aC1zZWxpbnV4PW5vIC0td2l0aC1zZW1hbmFnZT1ubywgbGlic2VsaW51eCIKLVBBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi0td2l0aC1tYW5wYWdlcywgLS13aXRoLW1hbnBhZ2VzPW5vIgotUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICItLXdpdGgtcHl0aG9uMi1iaW5kaW5ncywgLS13aXRob3V0LXB5dGhvbjItYmluZGluZ3MiCi1QQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIi0td2l0aC1weXRob24zLWJpbmRpbmdzLCAtLXdpdGhvdXQtcHl0aG9uMy1iaW5kaW5ncyIKLVBBQ0tBR0VDT05GSUdbbnNzXSA9ICItLXdpdGgtY3J5cHRvPW5zcywgLG5zcywiCi1QQUNLQUdFQ09ORklHW2N5cnB0b10gPSAiLS13aXRoLWNyeXB0bz1saWJjcnlwdG8sICwgbGliY3J5cHRvIgotUEFDS0FHRUNPTkZJR1tuc2NkXSA9ICItLXdpdGgtbnNjZD0ke3NiaW5kaXJ9LCAtLXdpdGgtbnNjZD1ubyAiCi1QQUNLQUdFQ09ORklHW25sXSA9ICItLXdpdGgtbGlibmwsIC0td2l0aC1saWJubD1ubywgbGlibmwiCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywgLS13aXRoLXN5c3RlbWR1bml0ZGlyPSIKLVBBQ0tBR0VDT05GSUdbaHR0cF0gPSAiLS13aXRoLXNlY3JldHMsIC0td2l0aG91dC1zZWNyZXRzLCBhcGFjaGUyIgotUEFDS0FHRUNPTkZJR1tjdXJsXSA9ICItLXdpdGgtc2VjcmV0cyAtLXdpdGgta2NtLCAtLXdpdGhvdXQtc2VjcmV0cyAtLXdpdGhvdXQta2NtLCBjdXJsIgotCi1FWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1jaWZzLWlkbWFwLXBsdWdpbiAtLXdpdGhvdXQtbmZzdjQtaWRtYXBkLXBsdWdpbiAtLXdpdGhvdXQtaXBhLWdldGtleXRhYiIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgbWtkaXIgLXAgJHtBVVRPVE9PTFNfQVVYRElSfS9idWlsZAotICAgIGNwICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ2V0dGV4dC9jb25maWcucnBhdGggJHtBVVRPVE9PTFNfQVVYRElSfS9idWlsZC8KLQotICAgICMgbGlicmVzb3ZlIGhhcyBob3N0IHBhdGgsIHJlbW92ZSBpdAotICAgIHNlZCAtaSAtZSAicyNcJHNzc19leHRyYV9saWJkaXIjIyIgJHtTfS9zcmMvZXh0ZXJuYWwvbGlicmVzb2x2Lm00Ci19Ci0KLWRvX2luc3RhbGwgKCkgewotICAgIG9lX3J1bm1ha2UgaW5zdGFsbCAgREVTVERJUj0iJHtEfSIKLSAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfS8ke2JpbmRpcn0iCi0gICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59Ci0gICAgaW5zdGFsbCAtbSA2MDAgJHtXT1JLRElSfS8ke0JQTn0uY29uZiAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59Ci19Ci0KLUNPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9LyR7QlBOfS8ke0JQTn0uY29uZiIKLQotSU5JVFNDUklQVF9OQU1FID0gInNzc2QiCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCAwMiA1IDMgMiAuIHN0b3AgMjAgMCAxIDYgLiIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0JQTn0uc2VydmljZSIKLVNZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfSAke2RhdGFkaXJ9IC9ydW4gJHtsaWJkaXJ9Lyouc28qICIKLUZJTEVTXyR7UE59LWRldiA9ICIgJHtpbmNsdWRlZGlyfS8qICR7bGliZGlyfS8qbGEgJHtsaWJkaXJ9LyovKmxhIgotCi0jIFRoZSBwYWNrYWdlIGNvbnRhaW5zIHN5bWxpbmtzIHRoYXQgdHJpcCB1cCBpbnNhbmUKLUlOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKLQotUkRFUEVORFNfJHtQTn0gKz0gImJpbmQgZGJ1cyIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zc3NkL3Nzc2RfMS4xNi40LmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3Nzc2Qvc3NzZF8xLjE2LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRiYzhjOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zc3NkL3Nzc2RfMS4xNi40LmJiCkBAIC0wLDAgKzEsODggQEAKK1NVTU1BUlkgPSAic3lzdGVtIHNlY3VyaXR5IHNlcnZpY2VzIGRhZW1vbiIKK0RFU0NSSVBUSU9OID0gIlNTU0QgaXMgYSBzeXN0ZW0gc2VjdXJpdHkgc2VydmljZXMgZGFlbW9uIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9wYWd1cmUuaW8vU1NTRC9zc3NkLyIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK0RFUEVORFMgPSAib3BlbmxkYXAgY3lydXMtc2FzbCBsaWJ0ZGIgZGluZy1saWJzIGxpYnBhbSBjLWFyZXMga3JiNSBhdXRvY29uZi1hcmNoaXZlIgorREVQRU5EUyArPSAibGlibGRiIGRidXMgbGlidGFsbG9jIGxpYnBjcmUgZ2xpYi0yLjAgcG9wdCBlMmZzcHJvZ3MgbGlidGV2ZW50IgorCitTUkNfVVJJID0gImh0dHBzOi8vcmVsZWFzZXMucGFndXJlLm9yZy9TU1NELyR7QlBOfS8ke0JQfS50YXIuZ3pcCisgICAgICAgICAgICBmaWxlOi8vc3NzZC5jb25mICIKKworU1JDX1VSSVttZDVzdW1dID0gIjc1N2JiYjZmMTU0MDlkOGQwNzVmNGYwNmNiNjc4ZDUwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZiYjIxMmNkNmI3NWI5MThlOTQ1YzI0ZTdjM2Y5NWE0ODZmYjU0ZDdmN2Q0ODlhOTMzNGNmYTFhMWYzYmY5NTkiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IHB5dGhvbi1kaXIgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJwYW0iCisKK1NTU0RfVUlEID89ICJyb290IgorU1NTRF9HSUQgPz0gInJvb3QiCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTID0gImFjX2N2X21lbWJlcl9zdHJ1Y3RfbGRhcF9jb25uY2JfbGNfYXJnPW5vIFwKKyAgICBhY19jdl9wYXRoX05TVVBEQVRFPSR7YmluZGlyfSBcCisgICAgYWNfY3ZfcGF0aF9QWVRIT04yPSR7UFlUSE9OX0RJUn0gYWNfY3ZfcHJvZ19IQVZFX1BZVEhPTjM9JHtQWVRIT05fRElSfSBcCisgICAgIgorCitQQUNLQUdFQ09ORklHID89Im5zcyBuc2NkIgorUEFDS0FHRUNPTkZJRyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXgnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJRyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCAnJywgZCl9IgorCitQQUNLQUdFQ09ORklHW3NzaF0gPSAiLS13aXRoLXNzaCwgLS13aXRoLXNzaD1ubywgIgorUEFDS0FHRUNPTkZJR1tzYW1iYV0gPSAiLS13aXRoLXNhbWJhLCAtLXdpdGgtc2FtYmE9bm8sIHNhbWJhIgorUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLXdpdGgtc2VsaW51eCwgLS13aXRoLXNlbGludXg9bm8gLS13aXRoLXNlbWFuYWdlPW5vLCBsaWJzZWxpbnV4IgorUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS13aXRoLW1hbnBhZ2VzLCAtLXdpdGgtbWFucGFnZXM9bm8iCitQQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIi0td2l0aC1weXRob24yLWJpbmRpbmdzLCAtLXdpdGhvdXQtcHl0aG9uMi1iaW5kaW5ncyIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS13aXRoLXB5dGhvbjMtYmluZGluZ3MsIC0td2l0aG91dC1weXRob24zLWJpbmRpbmdzIgorUEFDS0FHRUNPTkZJR1tuc3NdID0gIi0td2l0aC1jcnlwdG89bnNzLCAsbnNzLCIKK1BBQ0tBR0VDT05GSUdbY3lycHRvXSA9ICItLXdpdGgtY3J5cHRvPWxpYmNyeXB0bywgLCBsaWJjcnlwdG8iCitQQUNLQUdFQ09ORklHW25zY2RdID0gIi0td2l0aC1uc2NkPSR7c2JpbmRpcn0sIC0td2l0aC1uc2NkPW5vICIKK1BBQ0tBR0VDT05GSUdbbmxdID0gIi0td2l0aC1saWJubCwgLS13aXRoLWxpYm5sPW5vLCBsaWJubCIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWR1bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vLCAtLXdpdGgtc3lzdGVtZHVuaXRkaXI9IgorUEFDS0FHRUNPTkZJR1todHRwXSA9ICItLXdpdGgtc2VjcmV0cywgLS13aXRob3V0LXNlY3JldHMsIGFwYWNoZTIiCitQQUNLQUdFQ09ORklHW2N1cmxdID0gIi0td2l0aC1zZWNyZXRzIC0td2l0aC1rY20sIC0td2l0aG91dC1zZWNyZXRzIC0td2l0aG91dC1rY20sIGN1cmwiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWNpZnMtaWRtYXAtcGx1Z2luIC0td2l0aG91dC1uZnN2NC1pZG1hcGQtcGx1Z2luIC0td2l0aG91dC1pcGEtZ2V0a2V5dGFiIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBta2RpciAtcCAke0FVVE9UT09MU19BVVhESVJ9L2J1aWxkCisgICAgY3AgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nZXR0ZXh0L2NvbmZpZy5ycGF0aCAke0FVVE9UT09MU19BVVhESVJ9L2J1aWxkLworCisgICAgIyBsaWJyZXNvdmUgaGFzIGhvc3QgcGF0aCwgcmVtb3ZlIGl0CisgICAgc2VkIC1pIC1lICJzI1wkc3NzX2V4dHJhX2xpYmRpciMjIiAke1N9L3NyYy9leHRlcm5hbC9saWJyZXNvbHYubTQKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsICBERVNURElSPSIke0R9IgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9LyR7YmluZGlyfSIKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsIC1tIDYwMCAke1dPUktESVJ9LyR7QlBOfS5jb25mICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KKworICAgICMgUmVtb3ZlIC92YXIvcnVuIGFzIGl0IGlzIGNyZWF0ZWQgb24gc3RhcnR1cAorICAgIHJtIC1yZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KKworfQorCitwa2dfcG9zdGluc3Rfb250YXJnZXRfJHtQTn0gKCkgeworaWYgWyAtZSAvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCBdIDsgdGhlbgorICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIHVwZGF0ZQorZmkKKyAgICBjaG93biAke1NTU0RfVUlEfToke1NTU0RfR0lEfSAke3N5c2NvbmZkaXJ9LyR7QlBOfS8ke0JQTn0uY29uZgorfQorCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS8ke0JQTn0vJHtCUE59LmNvbmYiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJzc3NkIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMDIgNSAzIDIgLiBzdG9wIDIwIDAgMSA2IC4iCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtCUE59LnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0gJHtkYXRhZGlyfSAvcnVuICR7bGliZGlyfS8qLnNvKiAiCitGSUxFU18ke1BOfS1kZXYgPSAiICR7aW5jbHVkZWRpcn0vKiAke2xpYmRpcn0vKmxhICR7bGliZGlyfS8qLypsYSIKKworIyBUaGUgcGFja2FnZSBjb250YWlucyBzeW1saW5rcyB0aGF0IHRyaXAgdXAgaW5zYW5lCitJTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCisKK1JERVBFTkRTXyR7UE59ID0gImJpbmQgZGJ1cyBsaWJsZGIgbGlicGFtIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL3N1cmljYXRhLmluYyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9zdXJpY2F0YS5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmNDIxMjEuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL3N1cmljYXRhLmluYworKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotSE9NRVBBR0UgPSAiaHR0cDovL3N1cmljYXRhLWlkcy5vcmcvIgotU0VDVElPTiA9ICJzZWN1cml0eSBNb25pdG9yL0FkbWluIgotTElDRU5TRSA9ICJHUEx2MiIKLQotVkVSID0gIjQuMC41IgotU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm9wZW5pbmZvc2VjZm91bmRhdGlvbi5vcmcvZG93bmxvYWQvc3VyaWNhdGEtJHtWRVJ9LnRhci5neiIKLQotU1JDX1VSSVttZDVzdW1dID0gImVhMGNiODIzZDZhODY1NjgxNTJmNzVhZGU2ZGU0NDJmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc0ZGFjYjQzNTlkNTdmYmQzNDUyZTM4NGVlZWIxZGQ3N2I2YWUwMGYwMmU5OTk0YWQ1YTdiNDYxZDVmNGM2YzIiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvc3VyaWNhdGFfNC4wLjUuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvc3VyaWNhdGFfNC4wLjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjMGExMDkuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL3N1cmljYXRhXzQuMC41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsOTYgKzAsMCBAQAotU1VNTUFSWSA9ICJUaGUgU3VyaWNhdGEgRW5naW5lIGlzIGFuIE9wZW4gU291cmNlIE5leHQgR2VuZXJhdGlvbiBJbnRydXNpb24gRGV0ZWN0aW9uIGFuZCBQcmV2ZW50aW9uIEVuZ2luZSIKLQotcmVxdWlyZSBzdXJpY2F0YS5pbmMKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTtiZWdpbmxpbmU9MTtlbmRsaW5lPTI7bWQ1PWM3MGQ4ZDMzMTA5NDFkY2RmY2QxZTAyODAwYTFmNTQ4IgotCi1TUkNfVVJJICs9ICJmaWxlOi8vZW1lcmdpbmcucnVsZXMudGFyLmd6O25hbWU9cnVsZXMiCi0KLVNSQ19VUkkgKz0gIiBcCi0gICAgICAgICAgIGZpbGU6Ly92b2xhdGlsZXMuMDNfc3VyaWNhdGEgXAotICAgICAgICAgICBmaWxlOi8vc3VyaWNhdGEueWFtbCBcCi0gICAgICAgICAgIGZpbGU6Ly9zdXJpY2F0YS5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVtydWxlcy5tZDVzdW1dID0gIjIwNWM1ZTViNTRlNDg5MjA3ZWQ4OTJjMDNhZDc1YjMzIgotU1JDX1VSSVtydWxlcy5zaGEyNTZzdW1dID0gIjRhYTgxMDExYjI0Njg3NWE1NzE4MWM2YTA1NjljYTg4Nzg0NWUzNjY5MDRiY2FmMDA0MzIyMGYzM2JkNjk3OTgiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgcHl0aG9uLWRpciBzeXN0ZW1kIHB0ZXN0Ci0KLUNGTEFHUyArPSAiLURfREVGQVVMVF9TT1VSQ0UiCi0KLUNBQ0hFRF9DT05GSUdVUkVWQVJTID0gImFjX2N2X2hlYWRlcl9odHBfaHRwX2g9eWVzIGFjX2N2X2xpYl9odHBfaHRwX2Nvbm5fY3JlYXRlPXllcyBcCi0gICAgICAgICAgICAgICAgICAgICAgICBhY19jdl9wYXRoX0hBVkVfV0dFVD1ubyBhY19jdl9wYXRoX0hBVkVfQ1VSTD1ubyAiCi0KLUVYVFJBX09FQ09ORiArPSAiIC0tZGlzYWJsZS1kZWJ1ZyBcCi0gICAgLS1lbmFibGUtbm9uLWJ1bmRsZWQtaHRwIFwKLSAgICAtLWRpc2FibGUtZ2NjbWFyY2gtbmF0aXZlIFwKLSAgICAiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJodHAgamFuc3NvbiBmaWxlIHBjcmUgeWFtbCBwY2FwIGNhcC1uZyBuZXQgbmZuZXRsaW5rIG5zcyBuc3ByIgotUEFDS0FHRUNPTkZJR19hcHBlbmQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncHRlc3QnLCAndW5pdHRlc3RzJywgJycsIGQpfSIKLQotUEFDS0FHRUNPTkZJR1todHBdID0gIi0td2l0aC1saWJodHAtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYmh0cC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sICxsaWJodHAsIgotUEFDS0FHRUNPTkZJR1twY3JlXSA9ICItLXdpdGgtbGlicGNyZS1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGlicGNyZS1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sICxsaWJwY3JlICwiIAotUEFDS0FHRUNPTkZJR1t5YW1sXSA9ICItLXdpdGgtbGlieWFtbC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGlieWFtbC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sICxsaWJ5YW1sICwiCi1QQUNLQUdFQ09ORklHW3BjYXBdID0gIi0td2l0aC1saWJwY2FwLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJwY2FwLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYnBjYXAgLCIgCi1QQUNLQUdFQ09ORklHW2NhcC1uZ10gPSAiLS13aXRoLWxpYmNhcF9uZy1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGliY2FwX25nLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYmNhcC1uZyAsICIKLVBBQ0tBR0VDT05GSUdbbmV0XSA9ICItLXdpdGgtbGlibmV0LWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJuZXQtbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCAsIGxpYm5ldCwiIAotUEFDS0FHRUNPTkZJR1tuZm5ldGxpbmtdID0gIi0td2l0aC1saWJuZm5ldGxpbmstaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYm5mbmV0bGluay1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sICxsaWJuZm5ldGxpbmsgLCIKLVBBQ0tBR0VDT05GSUdbbmZxXSA9ICItLWVuYWJsZS1uZnF1ZXVlLCAtLWRpc2FibGUtbmZxdWV1ZSxsaWJuZXRmaWx0ZXItcXVldWUsIgotCi1QQUNLQUdFQ09ORklHW2phbnNzb25dID0gIi0td2l0aC1saWJqYW5zc29uLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJqYW5zc29uLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwsamFuc3NvbiwgamFuc3NvbiIKLVBBQ0tBR0VDT05GSUdbZmlsZV0gPSAiLCxmaWxlLCBmaWxlIgotUEFDS0FHRUNPTkZJR1tuc3NdID0gIi0td2l0aC1saWJuc3MtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYm5zcy1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sIG5zcywgbnNzLCIgCi1QQUNLQUdFQ09ORklHW25zcHJdID0gIi0td2l0aC1saWJuc3ByLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJuc3ByLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgbnNwciwgbnNwciwiIAotUEFDS0FHRUNPTkZJR1tweXRob25dID0gIi0tZW5hYmxlLXB5dGhvbiwgLS1kaXNhYmxlLXB5dGhvbiwgcHl0aG9uLCBweXRob24iIAotUEFDS0FHRUNPTkZJR1t1bml0dGVzdHNdID0gIi0tZW5hYmxlLXVuaXR0ZXN0cywgLS1kaXNhYmxlLXVuaXR0ZXN0cywiIAotCi1leHBvcnQgbG9nZGlyID0gIiR7bG9jYWxzdGF0ZWRpcn0vbG9nIgotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0KLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3N1cmljYXRhCi0KLSAgICBvZV9ydW5tYWtlIGluc3RhbGwtY29uZiBERVNURElSPSR7RH0KLQotICAgICMgbWltaWMgbW92ZSBvZiBkb3dubG9hZGVkIHJ1bGVzIHRvIGVfc3lzY29uZnJ1bGVzZGlyCi0gICAgY3AgLXJmICAke1dPUktESVJ9L3J1bGVzICR7RH0ke3N5c2NvbmZkaXJ9L3N1cmljYXRhCi0KLSAgICBvZV9ydW5tYWtlIGluc3RhbGwtcnVsZXMgREVTVERJUj0ke0R9Ci0KLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3N1cmljYXRhICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdm9sYXRpbGVzLjAzX3N1cmljYXRhICAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy92b2xhdGlsZXMuMDNfc3VyaWNhdGEKLQotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3RocmVzaG9sZC5jb25maWcgJHtEfSR7c3lzY29uZmRpcn0vc3VyaWNhdGEKLQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICBzZWQgIC1lIHM6L2V0Yzoke3N5c2NvbmZkaXJ9OmcgXAotICAgICAgICAgLWUgczovdmFyL3J1bjovcnVuOmcgXAotICAgICAgICAgLWUgczovdmFyOiR7bG9jYWxzdGF0ZWRpcn06ZyBcCi0gICAgICAgICAtZSBzOi91c3IvYmluOiR7YmluZGlyfTpnIFwKLSAgICAgICAgIC1lIHM6L2Jpbi9raWxsOiR7YmFzZV9iaW5kaXJ9L2tpbGw6ZyBcCi0gICAgICAgICAtZSBzOi91c3IvbGliOiR7bGliZGlyfTpnIFwKLSAgICAgICAgICR7V09SS0RJUn0vc3VyaWNhdGEuc2VydmljZSA+ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N1cmljYXRhLnNlcnZpY2UKLQotICAgICMgUmVtb3ZlIC92YXIvcnVuIGFzIGl0IGlzIGNyZWF0ZWQgb24gc3RhcnR1cAotICAgIHJtIC1yZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KLQotfQotCi1wa2dfcG9zdGluc3Rfb250YXJnZXRfJHtQTn0gKCkgewotaWYgWyAtZSAvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCBdIDsgdGhlbgotICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIHVwZGF0ZQotZmkKLX0KLQotU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKLQotUEFDS0FHRVMgPSsgIiR7UE59LXNvY2tldGNvbnRyb2wiCi1GSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9IgotRklMRVNfJHtQTn0tc29ja2V0Y29udHJvbCA9ICIke2JpbmRpcn0vc3VyaWNhdGFzYyAke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSIKLQotQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vc3VyaWNhdGEvc3VyaWNhdGEueWFtbCIKLQotUkRFUEVORFNfJHtQTn0tcHl0aG9uID0gInB5dGhvbiIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS90cmlwd2lyZV8yLjQuMy42LmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL3RyaXB3aXJlXzIuNC4zLjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5ZDFmMzUuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL3RyaXB3aXJlXzIuNC4zLjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi1TVU1NQVJZID0gIlRyaXB3aXJlOiBBIHN5c3RlbSBpbnRlZ3JpdHkgYXNzZXNzbWVudCB0b29sIChJRFMpIgotREVTQ1JJUFRJT04gPSAiT3BlbiBTb3VyY2UgVHJpcHdpcmXCriBzb2Z0d2FyZSBpcyBhIHNlY3VyaXR5IGFuZCBkYXRhIFwKLWludGVncml0eSB0b29sIHVzZWZ1bCBmb3IgbW9uaXRvcmluZyBhbmQgYWxlcnRpbmcgb24gc3BlY2lmaWMgZmlsZSBjaGFuZ2Uocykgb24gYSByYW5nZSBvZiBzeXN0ZW1zIgotSE9NRVBBR0U9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvdHJpcHdpcmUiCi1TRUNUSU9OID0gInNlY3VyaXR5IE1vbml0b3IvQWRtaW4iCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWMwNjliZThkYmJlNDhlODliNTgwYWI0ZWQ4NmMxMjciCi0KLVNSQ1JFViA9ICI4MGRiOTFiNGMxY2E0YmU5ZWZhZmQyMjg2ZTNiMmFkMzJiYTRjMzRjIgotCi1TUkNfVVJJID0gIlwKLQlnaXQ6Ly9naXRodWIuY29tL1RyaXB3aXJlL3RyaXB3aXJlLW9wZW4tc291cmNlLmdpdCBcCi0JZmlsZTovL3RyaXB3aXJlLmNyb24gXAotCWZpbGU6Ly90cmlwd2lyZS5zaCBcCi0JZmlsZTovL3RyaXB3aXJlLnR4dCBcCi0JZmlsZTovL3R3Y2ZnLnR4dCBcCi0JZmlsZTovL3R3aW5zdGFsbC5zaCBcCi0JZmlsZTovL3R3cG9sLXlvY3RvLnR4dCBcCi0JZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgcHRlc3QKLQotSU5JVFNDUklQVF9OQU1FID0gInRyaXB3aXJlIgotSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgNDAgUyAuIgotVFJJUFdJUkVfSE9TVCA9ICIke0hPU1RfU1lTfSIKLVRSSVBXSVJFX1RBUkdFVCA9ICIke1RBUkdFVF9TWVN9IgotCi1DWFhGTEFHUyArPSAiLWZuby1zdHJpY3QtYWxpYXNpbmciCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLW9wZW5zc2wgIC0tZW5hYmxlLXN0YXRpYyAtLXN5c2NvbmZkaXI9L2V0Yy90cmlwd2lyZSIKLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9ICR7RH0ke2RhdGFkaXJ9ICR7RH0ke2Jhc2VfbGliZGlyfQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0gJHtEfSR7bWFuZGlyfSAke0R9JHtzYmluZGlyfQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vJHtQTn0KLSAgICBpbnN0YWxsIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke1BOfSAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvJHtCUE59L3JlcG9ydAotICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW40ICR7RH0ke21hbmRpcn0vbWFuNSAke0R9JHttYW5kaXJ9L21hbjgKLSAgICBpbnN0YWxsIC1kICR7RH0ke2RvY2Rpcn0vJHtCUE59ICR7RH0ke2RvY2Rpcn0vJHtCUE59L3RlbXBsYXRlcwotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0KLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9iaW4vKiAke0R9JHtzYmluZGlyfQotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2xpYi8qICR7RH0ke2Jhc2VfbGliZGlyfQotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2xpYi8qICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke1BOfQotICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3RyaXB3aXJlLmNyb24gJHtEfSR7c3lzY29uZmRpcn0KLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS90cmlwd2lyZS5zaCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvdHJpcHdpcmUKLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS90d2luc3RhbGwuc2ggJHtEfSR7c3lzY29uZmRpcn0vJHtQTn0KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS90d3BvbC15b2N0by50eHQgJHtEfSR7c3lzY29uZmRpcn0vJHtQTn0vdHdwb2wudHh0Ci0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdHdjZmcudHh0ICR7RH0ke3N5c2NvbmZkaXJ9LyR7UE59Ci0KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9tYW4vbWFuNC8qICR7RH0ke21hbmRpcn0vbWFuNAotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L21hbi9tYW41LyogJHtEfSR7bWFuZGlyfS9tYW41Ci0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vbWFuL21hbjgvKiAke0R9JHttYW5kaXJ9L21hbjgKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9wb2xpY3kvdGVtcGxhdGVzLyogJHtEfSR7ZG9jZGlyfS8ke0JQTn0vdGVtcGxhdGVzCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vcG9saWN5Lyp0eHQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9DT1BZSU5HICR7RH0ke2RvY2Rpcn0vJHtCUE59Ci0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vVFJBREVNQVJLICR7RH0ke2RvY2Rpcn0vJHtCUE59Ci0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdHJpcHdpcmUudHh0ICR7RH0ke2RvY2Rpcn0vJHtCUE59Ci19Ci0KLWRvX2luc3RhbGxfcHRlc3RfYXBwZW5kICgpIHsKLQlpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCi0JY3AgLWEgJHtTfS9zcmMvdGVzdC1oYXJuZXNzLyogJHtEfSR7UFRFU1RfUEFUSH0KLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfSAke2RvY2Rpcn0vJHtQTn0vKiIKLUZJTEVTXyR7UE59LWRiZyArPSAiJHtzeXNjb25mZGlyfS8ke1BOfS8uZGVidWciCi1GSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7UE59L2xpYiouYSIKLUZJTEVTXyR7UE59LXB0ZXN0ICs9ICIke1BURVNUX1BBVEh9L3Rlc3RzICIKLQotUkRFUEVORFNfJHtQTn0gKz0gIiBwZXJsIG5hbm8gbXNtdHAgY3JvbmllIgotUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiIHBlcmwgbGliLXBlcmwiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkveG1sc2VjMS94bWxzZWMxXzEuMi4yNi5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS94bWxzZWMxL3htbHNlYzFfMS4yLjI2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZGJiZjMzLi4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS94bWxzZWMxL3htbHNlYzFfMS4yLjI2LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotU1VNTUFSWSA9ICJYTUwgU2VjdXJpdHkgTGlicmFyeSBpcyBhIEMgbGlicmFyeSBiYXNlZCBvbiBMaWJYTUwyIgotREVTQ1JJUFRJT04gPSAiXAotICAgIFhNTCBTZWN1cml0eSBMaWJyYXJ5IGlzIGEgQyBsaWJyYXJ5IGJhc2VkIG9uIFwKLSAgICBMaWJYTUwyIGFuZCBPcGVuU1NMLiBUaGUgbGlicmFyeSB3YXMgY3JlYXRlZCB3aXRoIGEgZ29hbCB0byBzdXBwb3J0IG1ham9yIFwKLSAgICBYTUwgc2VjdXJpdHkgc3RhbmRhcmRzICJYTUwgRGlnaXRhbCBTaWduYXR1cmUiIGFuZCAiWE1MIEVuY3J5cHRpb24iLiBcCi0gICAgIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIgotREVQRU5EUyA9ICJsaWJ0b29sIGxpYnhtbDIgbGlieHNsdCBvcGVuc3NsIHpsaWIgbGliZ2NyeXB0IGdudXRscyBuc3MgbnNwciBsaWJncGctZXJyb3IiCi0KLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzUyNzkxZDYyMDkyZWE4MTA0ZjA4NTA0MmRlN2Y0ZDAiCi0KLVNFQ1RJT04gPSAibGlicyIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy9kb3dubG9hZC8ke0JQfS50YXIuZ3ogXAotICAgIGZpbGU6Ly9maXgtbHRtYWluLnNoLnBhdGNoIFwKLSAgICBmaWxlOi8vY2hhbmdlLWZpbmRpbmctcGF0aC1vZi1uc3MucGF0Y2ggXAotICAgIGZpbGU6Ly9tYWtlZmlsZS1wdGVzdC5wYXRjaCBcCi0gICAgZmlsZTovL3htbHNlYzEtZXhhbXBsZXMtYWxsb3ctYnVpbGQtaW4tc2VwYXJhdGUtZGlyLnBhdGNoIFwKLSAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5YzRhYWY5ZmY2MTVhNzM5MjFiOWUzYmY0OTg4ZDg3OCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZDgyNzZjOWM3MjBjYTQyYTNiMDAyM2RmOGI3YWU0MWEyZDZjNWY5YWE4ZDIwZWQxNjcyZDg0Y2M4OTgyZDUwIgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcHRlc3QgcGtnY29uZmlnCi0KLUNGTEFHUyArPSAiLUkke1NUQUdJTkdfSU5DRElSfS9uc3ByNCAtSSR7U1RBR0lOR19JTkNESVJ9L25zczMiCi1DUFBGTEFHUyArPSAiLUkke1NUQUdJTkdfSU5DRElSfS9uc3ByNCAtSSR7U1RBR0lOR19JTkNESVJ9L25zczMiCi0KLUVYVFJBX09FQ09ORiA9ICJcCi0gICAgLS13aXRoLW5zcz0ke1NUQUdJTkdfTElCRElSfS8uLi8uLiAtLXdpdGgtbnNwcj0ke1NUQUdJTkdfTElCRElSfS8uLi8uLiBcCi0gICAgIgotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS94bWxzZWMxQ29uZi5zaCIKLUZJTEVTXyR7UE59LWRiZyArPSAiJHtQVEVTVF9QQVRIfS8uZGVidWcvKiIKLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59LWRldiIKLUlOU0FORV9TS0lQXyR7UE59LXB0ZXN0ICs9ICJkZXYtZGVwcyIKLQotUFRFU1RfRVhUUkFfQVJHUyA9ICJ0b3Bfc3JjZGlyPSR7U30gdG9wX2J1aWxkZGlyPSR7Qn0iCi0KLWRvX2NvbXBpbGVfcHRlc3QgKCkgewotICAgIG9lX3J1bm1ha2UgLUMgJHtTfS9leGFtcGxlcyAke1BURVNUX0VYVFJBX0FSR1N9IGFsbAotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBmb3IgaSBpbiAke2JpbmRpcn0veG1sc2VjMS1jb25maWcgJHtsaWJkaXJ9L3htbHNlYzFDb25mLnNoIFwKLSAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy94bWxzZWMxLW9wZW5zc2wucGM7IGRvCi0gICAgICAgIHNlZCAtaSAtZSAic0Ake1JFQ0lQRV9TWVNST09UfUBAZyIgJHtEfSRpCi0gICAgZG9uZQotfQotCi1kb19pbnN0YWxsX3B0ZXN0ICgpIHsKLSAgICBvZV9ydW5tYWtlIC1DICR7U30vZXhhbXBsZXMgREVTVERJUj0ke0R9JHtQVEVTVF9QQVRIfSAke1BURVNUX0VYVFJBX0FSR1N9IGluc3RhbGwtcHRlc3QKLX0KZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS94bWxzZWMxL3htbHNlYzFfMS4yLjI3LmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3htbHNlYzEveG1sc2VjMV8xLjIuMjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWFjOGQ2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS94bWxzZWMxL3htbHNlYzFfMS4yLjI3LmJiCkBAIC0wLDAgKzEsNjQgQEAKK1NVTU1BUlkgPSAiWE1MIFNlY3VyaXR5IExpYnJhcnkgaXMgYSBDIGxpYnJhcnkgYmFzZWQgb24gTGliWE1MMiIKK0RFU0NSSVBUSU9OID0gIlwKKyAgICBYTUwgU2VjdXJpdHkgTGlicmFyeSBpcyBhIEMgbGlicmFyeSBiYXNlZCBvbiBcCisgICAgTGliWE1MMiBhbmQgT3BlblNTTC4gVGhlIGxpYnJhcnkgd2FzIGNyZWF0ZWQgd2l0aCBhIGdvYWwgdG8gc3VwcG9ydCBtYWpvciBcCisgICAgWE1MIHNlY3VyaXR5IHN0YW5kYXJkcyAiWE1MIERpZ2l0YWwgU2lnbmF0dXJlIiBhbmQgIlhNTCBFbmNyeXB0aW9uIi4gXAorICAgICIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyIKK0RFUEVORFMgPSAibGlidG9vbCBsaWJ4bWwyIGxpYnhzbHQgemxpYiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNTI3OTFkNjIwOTJlYTgxMDRmMDg1MDQyZGU3ZjRkMCIKKworU0VDVElPTiA9ICJsaWJzIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjL2Rvd25sb2FkLyR7QlB9LnRhci5neiBcCisgICAgZmlsZTovL2ZpeC1sdG1haW4uc2gucGF0Y2ggXAorICAgIGZpbGU6Ly9jaGFuZ2UtZmluZGluZy1wYXRoLW9mLW5zcy5wYXRjaCBcCisgICAgZmlsZTovL21ha2VmaWxlLXB0ZXN0LnBhdGNoIFwKKyAgICBmaWxlOi8veG1sc2VjMS1leGFtcGxlcy1hbGxvdy1idWlsZC1pbi1zZXBhcmF0ZS1kaXIucGF0Y2ggXAorICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjUwOGJlZTdlNGYxYjk5ZjJkNTBhYWE3ZDM4ZWRlNTZlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk3ZDc1NmJhZDhlOTI1ODhlNjk5N2QyMjI3Nzk3ZWFhOTAwZDA1ZTM0YTQyNjgyOWIxNDlmNjVkODcxMThlYjYiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwdGVzdCBwa2djb25maWcKKworQ0ZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9L25zcHI0IC1JJHtTVEFHSU5HX0lOQ0RJUn0vbnNzMyIKK0NQUEZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9L25zcHI0IC1JJHtTVEFHSU5HX0lOQ0RJUn0vbnNzMyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyBsaWJnY3J5cHQgbnNzIG9wZW5zc2wgZGVzIgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIiwsZ251dGxzIgorUEFDS0FHRUNPTkZJR1tsaWJnY3J5cHRdID0gIiwsbGliZ2NyeXB0IgorUEFDS0FHRUNPTkZJR1tuc3NdID0gIi0td2l0aC1uc3M9JHtTVEFHSU5HX0xJQkRJUn0vLi4vLi4gLS13aXRoLW5zcHI9JHtTVEFHSU5HX0xJQkRJUn0vLi4vLi4sLG5zcyBuc3ByIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICIsLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2Rlc10gPSAiLC0tZGlzYWJsZS1kZXMsLCIKKworIyB0aGVzZSBjYW4gYmUgZHluYW1pY2FsbHkgbG9hZGVkIHdpdGggeG1sU2VjQ3J5cHRvRExMb2FkTGlicmFyeSgpCitGSUxFU19TT0xJQlNERVYgPSAiJHtsaWJkaXJ9L2xpYnhtbHNlYzEuc28iCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2xpYnhtbHNlYzEtKi5zbyIKK0lOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0veG1sc2VjMUNvbmYuc2giCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7UFRFU1RfUEFUSH0vLmRlYnVnLyoiCisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICIke1BOfS1kZXYiCitJTlNBTkVfU0tJUF8ke1BOfS1wdGVzdCArPSAiZGV2LWRlcHMiCisKK1BURVNUX0VYVFJBX0FSR1MgPSAidG9wX3NyY2Rpcj0ke1N9IHRvcF9idWlsZGRpcj0ke0J9IgorCitkb19jb21waWxlX3B0ZXN0ICgpIHsKKyAgICBvZV9ydW5tYWtlIC1DICR7U30vZXhhbXBsZXMgJHtQVEVTVF9FWFRSQV9BUkdTfSBhbGwKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgZm9yIGkgaW4gJHtiaW5kaXJ9L3htbHNlYzEtY29uZmlnICR7bGliZGlyfS94bWxzZWMxQ29uZi5zaCBcCisgICAgICAgICR7bGliZGlyfS9wa2djb25maWcveG1sc2VjMS1vcGVuc3NsLnBjOyBkbworICAgICAgICBzZWQgLWkgLWUgInNAJHtSRUNJUEVfU1lTUk9PVH1AQGciICR7RH0kaQorICAgIGRvbmUKK30KKworZG9faW5zdGFsbF9wdGVzdCAoKSB7CisgICAgb2VfcnVubWFrZSAtQyAke1N9L2V4YW1wbGVzIERFU1RESVI9JHtEfSR7UFRFU1RfUEFUSH0gJHtQVEVTVF9FWFRSQV9BUkdTfSBpbnN0YWxsLXB0ZXN0Cit9CmRpZmYgLS1naXQgYS9tZXRhLXhpbGlueC9tZXRhLXhpbGlueC1ic3AvY29uZi9tYWNoaW5lL2luY2x1ZGUvbWFjaGluZS14aWxpbngtYm9hcmQuaW5jIGIvbWV0YS14aWxpbngvbWV0YS14aWxpbngtYnNwL2NvbmYvbWFjaGluZS9pbmNsdWRlL21hY2hpbmUteGlsaW54LWJvYXJkLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTcwNDFlNC4uMDAwMDAwMAotLS0gYS9tZXRhLXhpbGlueC9tZXRhLXhpbGlueC1ic3AvY29uZi9tYWNoaW5lL2luY2x1ZGUvbWFjaGluZS14aWxpbngtYm9hcmQuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0jIERlZmF1bHQgWGlsaW54IEJvYXJkIHNldHRpbmdzCi0KLUVYVFJBX0lNQUdFREVQRU5EUyArPSAidmlydHVhbC9ib290bG9hZGVyIgotCmRpZmYgLS1naXQgYS9tZXRhLXhpbGlueC9tZXRhLXhpbGlueC1ic3AvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS16eW5xbXAuaW5jIGIvbWV0YS14aWxpbngvbWV0YS14aWxpbngtYnNwL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtenlucW1wLmluYwppbmRleCAyMjVmYTY1Li5jYmZhNDdiIDEwMDY0NAotLS0gYS9tZXRhLXhpbGlueC9tZXRhLXhpbGlueC1ic3AvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS16eW5xbXAuaW5jCisrKyBiL21ldGEteGlsaW54L21ldGEteGlsaW54LWJzcC9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXp5bnFtcC5pbmMKQEAgLTgsNyArOCw3IEBACiAKIFNPQ19WQVJJQU5UID89ICJlZyIKIAotcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OC5pbmMKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjhhLmluYwogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9zb2MtZmFtaWx5LmluYwogCiAjIExpbnV4IENvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL21ldGEteGlsaW54L21ldGEteGlsaW54LXN0YW5kYWxvbmUvcmVjaXBlcy1zdGFuZGFsb25lL3BtdS1maXJtd2FyZS9wbXUtZmlybXdhcmVfMjAxOC4zLmJiIGIvbWV0YS14aWxpbngvbWV0YS14aWxpbngtc3RhbmRhbG9uZS9yZWNpcGVzLXN0YW5kYWxvbmUvcG11LWZpcm13YXJlL3BtdS1maXJtd2FyZV8yMDE4LjMuYmIKaW5kZXggODQ3ZTA3MS4uMzQzMmMxZiAxMDA2NDQKLS0tIGEvbWV0YS14aWxpbngvbWV0YS14aWxpbngtc3RhbmRhbG9uZS9yZWNpcGVzLXN0YW5kYWxvbmUvcG11LWZpcm13YXJlL3BtdS1maXJtd2FyZV8yMDE4LjMuYmIKKysrIGIvbWV0YS14aWxpbngvbWV0YS14aWxpbngtc3RhbmRhbG9uZS9yZWNpcGVzLXN0YW5kYWxvbmUvcG11LWZpcm13YXJlL3BtdS1maXJtd2FyZV8yMDE4LjMuYmIKQEAgLTIzLDYgKzIzLDkgQEAKICAgICAjIG1hbnVhbGx5IGRvIHRoZSBjb3B5X2JzcCBzdGVwIGZpcnN0LCBzbyBhcyB0byBiZSBhYmxlIHRvIGZpeCB1cCB1c2Ugb2YKICAgICAjIG1iLSogY29tbWFuZHMKICAgICAke1N9Ly4uL21pc2MvY29weV9ic3Auc2gKKworICAgICMgZml4IHhpbGZwZ2EgdG8gaW5jbHVkZSB0aGUgenlucW1wIGJhY2tlbmQKKyAgICBtdiAke1N9Ly4uL21pc2MvenlucW1wX3BtdWZ3X2JzcC9wc3VfcG11XzAvbGlic3JjL3hpbGZwZ2Evc3JjL2ludGVyZmFjZS96eW5xbXAvKiAke1N9Ly4uL21pc2MvenlucW1wX3BtdWZ3X2JzcC9wc3VfcG11XzAvbGlic3JjL3hpbGZwZ2Evc3JjCiB9CiAKIENPTVBJTEVSID0gIiR7Q0N9IgpkaWZmIC0tZ2l0IGEvcG9reS9SRUFETUUuT0UtQ29yZSBiL3Bva3kvUkVBRE1FLk9FLUNvcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTIxOTE2YwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvUkVBRE1FLk9FLUNvcmUKQEAgLTAsMCArMSwyOSBAQAorT3BlbkVtYmVkZGVkLUNvcmUKKz09PT09PT09PT09PT09PT09CisKK09wZW5FbWJlZGRlZC1Db3JlIGlzIGEgbGF5ZXIgY29udGFpbmluZyB0aGUgY29yZSBtZXRhZGF0YSBmb3IgY3VycmVudCB2ZXJzaW9ucworb2YgT3BlbkVtYmVkZGVkLiBJdCBpcyBkaXN0cm8tbGVzcyAoY2FuIGJ1aWxkIGEgZnVuY3Rpb25hbCBpbWFnZSB3aXRoCitESVNUUk8gPSAibm9kaXN0cm8iKSBhbmQgY29udGFpbnMgb25seSBlbXVsYXRlZCBtYWNoaW5lIHN1cHBvcnQuCisKK0ZvciBpbmZvcm1hdGlvbiBhYm91dCBPcGVuRW1iZWRkZWQsIHNlZSB0aGUgT3BlbkVtYmVkZGVkIHdlYnNpdGU6CisgICAgaHR0cDovL3d3dy5vcGVuZW1iZWRkZWQub3JnLworCitUaGUgWW9jdG8gUHJvamVjdCBoYXMgZXh0ZW5zaXZlIGRvY3VtZW50YXRpb24gYWJvdXQgT0UgaW5jbHVkaW5nIGEgcmVmZXJlbmNlIG1hbnVhbAord2hpY2ggY2FuIGJlIGZvdW5kIGF0OgorICAgIGh0dHA6Ly95b2N0b3Byb2plY3Qub3JnL2RvY3VtZW50YXRpb24KKworCitDb250cmlidXRpbmcKKy0tLS0tLS0tLS0tLQorCitQbGVhc2UgcmVmZXIgdG8KK2h0dHA6Ly93d3cub3BlbmVtYmVkZGVkLm9yZy93aWtpL0hvd190b19zdWJtaXRfYV9wYXRjaF90b19PcGVuRW1iZWRkZWQKK2ZvciBndWlkZWxpbmVzIG9uIGhvdyB0byBzdWJtaXQgcGF0Y2hlcy4KKworTWFpbGluZyBsaXN0OgorCisgICAgaHR0cDovL2xpc3RzLm9wZW5lbWJlZGRlZC5vcmcvbWFpbG1hbi9saXN0aW5mby9vcGVuZW1iZWRkZWQtY29yZQorCitTb3VyY2UgY29kZToKKworICAgIGh0dHA6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9vcGVuZW1iZWRkZWQtY29yZS8KZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS8uZ2l0YXR0cmlidXRlcyBiL3Bva3kvYml0YmFrZS8uZ2l0YXR0cmlidXRlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGY4ZjYyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9iaXRiYWtlLy5naXRhdHRyaWJ1dGVzCkBAIC0wLDAgKzEsMiBAQAorKm1pbi5qcyBiaW5hcnkKKyptaW4uY3NzIGJpbmFyeQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2Jpbi9iaXRiYWtlLWhhc2hzZXJ2IGIvcG9reS9iaXRiYWtlL2Jpbi9iaXRiYWtlLWhhc2hzZXJ2Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM0OTM5N2IKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L2JpdGJha2UvYmluL2JpdGJha2UtaGFzaHNlcnYKQEAgLTAsMCArMSw2NyBAQAorIyEgL3Vzci9iaW4vZW52IHB5dGhvbjMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE4IEdhcm1pbiBMdGQuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisjIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworIyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorIyA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgoraW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgbG9nZ2luZworaW1wb3J0IGFyZ3BhcnNlCitpbXBvcnQgc3FsaXRlMworCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKSwnbGliJykpCisKK2ltcG9ydCBoYXNoc2VydgorCitWRVJTSU9OID0gIjEuMC4wIgorCitERUZBVUxUX0hPU1QgPSAnJworREVGQVVMVF9QT1JUID0gODY4NgorCitkZWYgbWFpbigpOgorICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKGRlc2NyaXB0aW9uPSdIVFRQIEVxdWl2YWxlbmNlIFJlZmVyZW5jZSBTZXJ2ZXIuIFZlcnNpb249JXMnICUgVkVSU0lPTikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWFkZHJlc3MnLCBkZWZhdWx0PURFRkFVTFRfSE9TVCwgaGVscD0nQmluZCBhZGRyZXNzIChkZWZhdWx0ICIlKGRlZmF1bHQpcyIpJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXBvcnQnLCB0eXBlPWludCwgZGVmYXVsdD1ERUZBVUxUX1BPUlQsIGhlbHA9J0JpbmQgcG9ydCAoZGVmYXVsdCAlKGRlZmF1bHQpZCknKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tcHJlZml4JywgZGVmYXVsdD0nJywgaGVscD0nSFRUUCBwYXRoIHByZWZpeCAoZGVmYXVsdCAiJShkZWZhdWx0KXMiKScpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1kYXRhYmFzZScsIGRlZmF1bHQ9Jy4vaGFzaHNlcnYuZGInLCBoZWxwPSdEYXRhYmFzZSBmaWxlIChkZWZhdWx0ICIlKGRlZmF1bHQpcyIpJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWxvZycsIGRlZmF1bHQ9J1dBUk5JTkcnLCBoZWxwPSdTZXQgbG9nZ2luZyBsZXZlbCcpCisKKyAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorCisgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2hhc2hzZXJ2JykKKworICAgIGxldmVsID0gZ2V0YXR0cihsb2dnaW5nLCBhcmdzLmxvZy51cHBlcigpLCBOb25lKQorICAgIGlmIG5vdCBpc2luc3RhbmNlKGxldmVsLCBpbnQpOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdJbnZhbGlkIGxvZyBsZXZlbDogJXMnICUgYXJncy5sb2cpCisKKyAgICBsb2dnZXIuc2V0TGV2ZWwobGV2ZWwpCisgICAgY29uc29sZSA9IGxvZ2dpbmcuU3RyZWFtSGFuZGxlcigpCisgICAgY29uc29sZS5zZXRMZXZlbChsZXZlbCkKKyAgICBsb2dnZXIuYWRkSGFuZGxlcihjb25zb2xlKQorCisgICAgZGIgPSBzcWxpdGUzLmNvbm5lY3QoYXJncy5kYXRhYmFzZSkKKworICAgIHNlcnZlciA9IGhhc2hzZXJ2LmNyZWF0ZV9zZXJ2ZXIoKGFyZ3MuYWRkcmVzcywgYXJncy5wb3J0KSwgZGIsIGFyZ3MucHJlZml4KQorICAgIHNlcnZlci5zZXJ2ZV9mb3JldmVyKCkKKyAgICByZXR1cm4gMAorCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHRyeToKKyAgICAgICAgcmV0ID0gbWFpbigpCisgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgcmV0ID0gMQorICAgICAgICBpbXBvcnQgdHJhY2ViYWNrCisgICAgICAgIHRyYWNlYmFjay5wcmludF9leGMoKQorICAgIHN5cy5leGl0KHJldCkKKwpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2Jpbi9iaXRiYWtlLXNlbGZ0ZXN0IGIvcG9reS9iaXRiYWtlL2Jpbi9iaXRiYWtlLXNlbGZ0ZXN0CmluZGV4IGNmYTdhYzUuLjk5ZjFhZjkgMTAwNzU1Ci0tLSBhL3Bva3kvYml0YmFrZS9iaW4vYml0YmFrZS1zZWxmdGVzdAorKysgYi9wb2t5L2JpdGJha2UvYmluL2JpdGJha2Utc2VsZnRlc3QKQEAgLTIyLDYgKzIyLDcgQEAKIGltcG9ydCB1bml0dGVzdAogdHJ5OgogICAgIGltcG9ydCBiYgorICAgIGltcG9ydCBoYXNoc2VydgogICAgIGltcG9ydCBsYXllcmluZGV4bGliCiBleGNlcHQgUnVudGltZUVycm9yIGFzIGV4YzoKICAgICBzeXMuZXhpdChzdHIoZXhjKSkKQEAgLTMzLDcgKzM0LDkgQEAKICAgICAgICAgICJiYi50ZXN0cy5ldmVudCIsCiAgICAgICAgICAiYmIudGVzdHMuZmV0Y2giLAogICAgICAgICAgImJiLnRlc3RzLnBhcnNlIiwKKyAgICAgICAgICJiYi50ZXN0cy5wZXJzaXN0X2RhdGEiLAogICAgICAgICAgImJiLnRlc3RzLnV0aWxzIiwKKyAgICAgICAgICJoYXNoc2Vydi50ZXN0cyIsCiAgICAgICAgICAibGF5ZXJpbmRleGxpYi50ZXN0cy5sYXllcmluZGV4b2JqIiwKICAgICAgICAgICJsYXllcmluZGV4bGliLnRlc3RzLnJlc3RhcGkiLAogICAgICAgICAgImxheWVyaW5kZXhsaWIudGVzdHMuY29va2VyIl0KZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9iaW4vYml0YmFrZS13b3JrZXIgYi9wb2t5L2JpdGJha2UvYmluL2JpdGJha2Utd29ya2VyCmluZGV4IGU5MjUwNTQuLmE5ZTk5N2UgMTAwNzU1Ci0tLSBhL3Bva3kvYml0YmFrZS9iaW4vYml0YmFrZS13b3JrZXIKKysrIGIvcG9reS9iaXRiYWtlL2Jpbi9iaXRiYWtlLXdvcmtlcgpAQCAtMTM2LDcgKzEzNiw3IEBACiAgICAgb3Mua2lsbHBnKDAsIHNpZ25hbC5TSUdURVJNKQogICAgIHN5cy5leGl0KCkKIAotZGVmIGZvcmtfb2ZmX3Rhc2soY2ZnLCBkYXRhLCBkYXRhYnVpbGRlciwgd29ya2VyZGF0YSwgZm4sIHRhc2ssIHRhc2tuYW1lLCBhcHBlbmRzLCB0YXNrZGVwZGF0YSwgZXh0cmFjb25maWdkYXRhLCBxdWlldGVycm9ycz1GYWxzZSwgZHJ5X3J1bl9leGVjPUZhbHNlKToKK2RlZiBmb3JrX29mZl90YXNrKGNmZywgZGF0YSwgZGF0YWJ1aWxkZXIsIHdvcmtlcmRhdGEsIGZuLCB0YXNrLCB0YXNrbmFtZSwgdGFza2hhc2gsIHVuaWhhc2gsIGFwcGVuZHMsIHRhc2tkZXBkYXRhLCBleHRyYWNvbmZpZ2RhdGEsIHF1aWV0ZXJyb3JzPUZhbHNlLCBkcnlfcnVuX2V4ZWM9RmFsc2UpOgogICAgICMgV2UgbmVlZCB0byBzZXR1cCB0aGUgZW52aXJvbm1lbnQgQkVGT1JFIHRoZSBmb3JrLCBzaW5jZQogICAgICMgYSBmb3JrKCkgb3IgZXhlYyooKSBhY3RpdmF0ZXMgUFNFVURPLi4uCiAKQEAgLTIzNCw3ICsyMzQsOCBAQAogICAgICAgICAgICAgICAgIHJldCA9IDAKIAogICAgICAgICAgICAgICAgIHRoZV9kYXRhID0gYmJfY2FjaGUubG9hZERhdGFGdWxsKGZuLCBhcHBlbmRzKQotICAgICAgICAgICAgICAgIHRoZV9kYXRhLnNldFZhcignQkJfVEFTS0hBU0gnLCB3b3JrZXJkYXRhWyJydW5xX2hhc2giXVt0YXNrXSkKKyAgICAgICAgICAgICAgICB0aGVfZGF0YS5zZXRWYXIoJ0JCX1RBU0tIQVNIJywgdGFza2hhc2gpCisgICAgICAgICAgICAgICAgdGhlX2RhdGEuc2V0VmFyKCdCQl9VTklIQVNIJywgdW5paGFzaCkKIAogICAgICAgICAgICAgICAgIGJiLnV0aWxzLnNldF9wcm9jZXNzX25hbWUoIiVzOiVzIiAlICh0aGVfZGF0YS5nZXRWYXIoIlBOIiksIHRhc2tuYW1lLnJlcGxhY2UoImRvXyIsICIiKSkpCiAKQEAgLTQyNSwxMCArNDI2LDEwIEBACiAgICAgICAgIHN5cy5leGl0KDApCiAKICAgICBkZWYgaGFuZGxlX3J1bnRhc2soc2VsZiwgZGF0YSk6Ci0gICAgICAgIGZuLCB0YXNrLCB0YXNrbmFtZSwgcXVpZXRlcnJvcnMsIGFwcGVuZHMsIHRhc2tkZXBkYXRhLCBkcnlfcnVuX2V4ZWMgPSBwaWNrbGUubG9hZHMoZGF0YSkKKyAgICAgICAgZm4sIHRhc2ssIHRhc2tuYW1lLCB0YXNraGFzaCwgdW5paGFzaCwgcXVpZXRlcnJvcnMsIGFwcGVuZHMsIHRhc2tkZXBkYXRhLCBkcnlfcnVuX2V4ZWMgPSBwaWNrbGUubG9hZHMoZGF0YSkKICAgICAgICAgd29ya2VybG9nX3dyaXRlKCJIYW5kbGluZyBydW50YXNrICVzICVzICVzXG4iICUgKHRhc2ssIGZuLCB0YXNrbmFtZSkpCiAKLSAgICAgICAgcGlkLCBwaXBlaW4sIHBpcGVvdXQgPSBmb3JrX29mZl90YXNrKHNlbGYuY29va2VyY2ZnLCBzZWxmLmRhdGEsIHNlbGYuZGF0YWJ1aWxkZXIsIHNlbGYud29ya2VyZGF0YSwgZm4sIHRhc2ssIHRhc2tuYW1lLCBhcHBlbmRzLCB0YXNrZGVwZGF0YSwgc2VsZi5leHRyYWNvbmZpZ2RhdGEsIHF1aWV0ZXJyb3JzLCBkcnlfcnVuX2V4ZWMpCisgICAgICAgIHBpZCwgcGlwZWluLCBwaXBlb3V0ID0gZm9ya19vZmZfdGFzayhzZWxmLmNvb2tlcmNmZywgc2VsZi5kYXRhLCBzZWxmLmRhdGFidWlsZGVyLCBzZWxmLndvcmtlcmRhdGEsIGZuLCB0YXNrLCB0YXNrbmFtZSwgdGFza2hhc2gsIHVuaWhhc2gsIGFwcGVuZHMsIHRhc2tkZXBkYXRhLCBzZWxmLmV4dHJhY29uZmlnZGF0YSwgcXVpZXRlcnJvcnMsIGRyeV9ydW5fZXhlYykKIAogICAgICAgICBzZWxmLmJ1aWxkX3BpZHNbcGlkXSA9IHRhc2sKICAgICAgICAgc2VsZi5idWlsZF9waXBlc1twaWRdID0gcnVuUXVldWVXb3JrZXJQaXBlKHBpcGVpbiwgcGlwZW91dCkKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWV4ZWN1dGlvbi54bWwgYi9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1leGVjdXRpb24ueG1sCmluZGV4IGYxY2FhZWMuLjQ2ZGFmZWUgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWV4ZWN1dGlvbi54bWwKKysrIGIvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtZXhlY3V0aW9uLnhtbApAQCAtMzEsNyArMzEsNyBAQAogICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgUHJpb3IgdG8gZXhlY3V0aW5nIEJpdEJha2UsIHlvdSBzaG91bGQgdGFrZSBhZHZhbnRhZ2Ugb2YgYXZhaWxhYmxlCiAgICAgICAgICAgICAgICAgcGFyYWxsZWwgdGhyZWFkIGV4ZWN1dGlvbiBvbiB5b3VyIGJ1aWxkIGhvc3QgYnkgc2V0dGluZyB0aGUKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfTlVNQkVSX1RIUkVBRFMnPjxmaWxlbmFtZT5CQl9OVU1CRVJfVEhSRUFEUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9OVU1CRVJfVEhSRUFEUyc+PGZpbGVuYW1lPkJCX05VTUJFUl9USFJFQURTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgdmFyaWFibGUgaW4geW91ciBwcm9qZWN0J3MgPGZpbGVuYW1lPmxvY2FsLmNvbmY8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gZmlsZS4KICAgICAgICAgICAgIDwvcGFyYT4KQEAgLTg3LDkgKzg3LDkgQEAKICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICBUaGUgPGZpbGVuYW1lPmxheWVyLmNvbmY8L2ZpbGVuYW1lPiBmaWxlcyBhcmUgdXNlZCB0bwogICAgICAgICAgICAgY29uc3RydWN0IGtleSB2YXJpYWJsZXMgc3VjaCBhcwotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCUEFUSCc+PGZpbGVuYW1lPkJCUEFUSDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCUEFUSCc+PGZpbGVuYW1lPkJCUEFUSDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgYW5kCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJGSUxFUyc+PGZpbGVuYW1lPkJCRklMRVM8L2ZpbGVuYW1lPjwvbGluaz4uCisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJGSUxFUyc+PGZpbGVuYW1lPkJCRklMRVM8L2ZpbGVuYW1lPjwvbGluaz4uCiAgICAgICAgICAgICA8ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT4gaXMgdXNlZCB0byBzZWFyY2ggZm9yCiAgICAgICAgICAgICBjb25maWd1cmF0aW9uIGFuZCBjbGFzcyBmaWxlcyB1bmRlciB0aGUKICAgICAgICAgICAgIDxmaWxlbmFtZT5jb25mPC9maWxlbmFtZT4gYW5kIDxmaWxlbmFtZT5jbGFzc2VzPC9maWxlbmFtZT4KQEAgLTExNywxOSArMTE3LDE5IEBACiAgICAgICAgICAgICBhdCBjZXJ0YWluIHZhcmlhYmxlcywgaW5jbHVkaW5nOgogICAgICAgICAgICAgPGl0ZW1pemVkbGlzdD4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9FTlZfV0hJVEVMSVNUJz48ZmlsZW5hbWU+QkJfRU5WX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfRU5WX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX0VOVl9XSElURUxJU1Q8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfRU5WX0VYVFJBV0hJVEUnPjxmaWxlbmFtZT5CQl9FTlZfRVhUUkFXSElURTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfRU5WX0VYVFJBV0hJVEUnPjxmaWxlbmFtZT5CQl9FTlZfRVhUUkFXSElURTwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9QUkVTRVJWRV9FTlYnPjxmaWxlbmFtZT5CQl9QUkVTRVJWRV9FTlY8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1BSRVNFUlZFX0VOVic+PGZpbGVuYW1lPkJCX1BSRVNFUlZFX0VOVjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9PUklHRU5WJz48ZmlsZW5hbWU+QkJfT1JJR0VOVjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfT1JJR0VOVic+PGZpbGVuYW1lPkJCX09SSUdFTlY8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQklUQkFLRV9VSSc+PGZpbGVuYW1lPkJJVEJBS0VfVUk8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJJVEJBS0VfVUknPjxmaWxlbmFtZT5CSVRCQUtFX1VJPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CiAgICAgICAgICAgICBUaGUgZmlyc3QgZm91ciB2YXJpYWJsZXMgaW4gdGhpcyBsaXN0IHJlbGF0ZSB0byBob3cgQml0QmFrZSB0cmVhdHMgc2hlbGwKQEAgLTE1Niw3ICsxNTYsNyBAQAogICAgICAgICAgICAgQml0QmFrZSBmaXJzdCBzZWFyY2hlcyB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBmb3IgYW4KICAgICAgICAgICAgIG9wdGlvbmFsIDxmaWxlbmFtZT5jb25mL2JibGF5ZXJzLmNvbmY8L2ZpbGVuYW1lPiBjb25maWd1cmF0aW9uIGZpbGUuCiAgICAgICAgICAgICBUaGlzIGZpbGUgaXMgZXhwZWN0ZWQgdG8gY29udGFpbiBhCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJMQVlFUlMnPjxmaWxlbmFtZT5CQkxBWUVSUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCTEFZRVJTJz48ZmlsZW5hbWU+QkJMQVlFUlM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIHZhcmlhYmxlIHRoYXQgaXMgYSBzcGFjZS1kZWxpbWl0ZWQgbGlzdCBvZiAnbGF5ZXInIGRpcmVjdG9yaWVzLgogICAgICAgICAgICAgUmVjYWxsIHRoYXQgaWYgQml0QmFrZSBjYW5ub3QgZmluZCBhIDxmaWxlbmFtZT5iYmxheWVycy5jb25mPC9maWxlbmFtZT4KICAgICAgICAgICAgIGZpbGUsIHRoZW4gaXQgaXMgYXNzdW1lZCB0aGUgdXNlciBoYXMgc2V0IHRoZSA8ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT4KQEAgLTE2NiwxMCArMTY2LDEwIEBACiAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgRm9yIGVhY2ggZGlyZWN0b3J5IChsYXllcikgaW4gdGhpcyBsaXN0LCBhIDxmaWxlbmFtZT5jb25mL2xheWVyLmNvbmY8L2ZpbGVuYW1lPgogICAgICAgICAgICAgZmlsZSBpcyBsb2NhdGVkIGFuZCBwYXJzZWQgd2l0aCB0aGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1MQVlFUkRJUic+PGZpbGVuYW1lPkxBWUVSRElSPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItTEFZRVJESVInPjxmaWxlbmFtZT5MQVlFUkRJUjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUgYmVpbmcgc2V0IHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIGxheWVyIHdhcyBmb3VuZC4KICAgICAgICAgICAgIFRoZSBpZGVhIGlzIHRoZXNlIGZpbGVzIGF1dG9tYXRpY2FsbHkgc2V0IHVwCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICBhbmQgb3RoZXIgdmFyaWFibGVzIGNvcnJlY3RseSBmb3IgYSBnaXZlbiBidWlsZCBkaXJlY3RvcnkuCiAgICAgICAgIDwvcGFyYT4KIApAQCAtMTg5LDcgKzE4OSw3IEBACiAgICAgICAgICAgICBkZXBlbmRpbmcgb24gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyBwcmV2aW91c2x5CiAgICAgICAgICAgICBtZW50aW9uZWQgb3Igc2V0IGluIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzLgogICAgICAgICAgICAgVGhlCi0gICAgICAgICAgICAiPGxpbmsgbGlua2VuZD0ncmVmLXZhcmlhYmxlcy1nbG9zJz5WYXJpYWJsZXMgR2xvc3Nhcnk8L2xpbms+IgorICAgICAgICAgICAgIjxsaW5rIGxpbmtlbmQ9J3JlZi1iYi12YXJpYWJsZXMtZ2xvcyc+VmFyaWFibGVzIEdsb3NzYXJ5PC9saW5rPiIKICAgICAgICAgICAgIGNoYXB0ZXIgcHJlc2VudHMgYSBmdWxsIGxpc3Qgb2YgdmFyaWFibGVzLgogICAgICAgICA8L3BhcmE+CiAKQEAgLTIwNCw3ICsyMDQsNyBAQAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIFRoZSA8ZmlsZW5hbWU+YmFzZS5iYmNsYXNzPC9maWxlbmFtZT4gZmlsZSBpcyBhbHdheXMgaW5jbHVkZWQuCiAgICAgICAgICAgICBPdGhlciBjbGFzc2VzIHRoYXQgYXJlIHNwZWNpZmllZCBpbiB0aGUgY29uZmlndXJhdGlvbiB1c2luZyB0aGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1JTkhFUklUJz48ZmlsZW5hbWU+SU5IRVJJVDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUlOSEVSSVQnPjxmaWxlbmFtZT5JTkhFUklUPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICB2YXJpYWJsZSBhcmUgYWxzbyBpbmNsdWRlZC4KICAgICAgICAgICAgIEJpdEJha2Ugc2VhcmNoZXMgZm9yIGNsYXNzIGZpbGVzIGluIGEKICAgICAgICAgICAgIDxmaWxlbmFtZT5jbGFzc2VzPC9maWxlbmFtZT4gc3ViZGlyZWN0b3J5IHVuZGVyCkBAIC0yNzAsNyArMjcwLDcgQEAKIAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIER1cmluZyB0aGUgY29uZmlndXJhdGlvbiBwaGFzZSwgQml0QmFrZSB3aWxsIGhhdmUgc2V0Ci0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJGSUxFUyc+PGZpbGVuYW1lPkJCRklMRVM8L2ZpbGVuYW1lPjwvbGluaz4uCisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJGSUxFUyc+PGZpbGVuYW1lPkJCRklMRVM8L2ZpbGVuYW1lPjwvbGluaz4uCiAgICAgICAgICAgICBCaXRCYWtlIG5vdyB1c2VzIGl0IHRvIGNvbnN0cnVjdCBhIGxpc3Qgb2YgcmVjaXBlcyB0byBwYXJzZSwKICAgICAgICAgICAgIGFsb25nIHdpdGggYW55IGFwcGVuZCBmaWxlcyAoPGZpbGVuYW1lPi5iYmFwcGVuZDwvZmlsZW5hbWU+KQogICAgICAgICAgICAgdG8gYXBwbHkuCkBAIC0yOTIsNyArMjkyLDcgQEAKICAgICAgICAgICAgIEFueSBpbmhlcml0IHN0YXRlbWVudHMgY2F1c2UgQml0QmFrZSB0byBmaW5kIGFuZAogICAgICAgICAgICAgdGhlbiBwYXJzZSBjbGFzcyBmaWxlcyAoPGZpbGVuYW1lPi5iYmNsYXNzPC9maWxlbmFtZT4pCiAgICAgICAgICAgICB1c2luZwotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCUEFUSCc+PGZpbGVuYW1lPkJCUEFUSDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCUEFUSCc+PGZpbGVuYW1lPkJCUEFUSDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgYXMgdGhlIHNlYXJjaCBwYXRoLgogICAgICAgICAgICAgRmluYWxseSwgQml0QmFrZSBwYXJzZXMgaW4gb3JkZXIgYW55IGFwcGVuZCBmaWxlcyBmb3VuZCBpbgogICAgICAgICAgICAgPGZpbGVuYW1lPkJCRklMRVM8L2ZpbGVuYW1lPi4KQEAgLTMwMyw4ICszMDMsOCBAQAogICAgICAgICAgICAgcGllY2VzIG9mIG1ldGFkYXRhLgogICAgICAgICAgICAgRm9yIGV4YW1wbGUsIGluIDxmaWxlbmFtZT5iaXRiYWtlLmNvbmY8L2ZpbGVuYW1lPiB0aGUgcmVjaXBlCiAgICAgICAgICAgICBuYW1lIGFuZCB2ZXJzaW9uIGFyZSB1c2VkIHRvIHNldCB0aGUgdmFyaWFibGVzCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPiBhbmQKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+OgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBOJz48ZmlsZW5hbWU+UE48L2ZpbGVuYW1lPjwvbGluaz4gYW5kCisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFYnPjxmaWxlbmFtZT5QVjwvZmlsZW5hbWU+PC9saW5rPjoKICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KICAgICAgUE4gPSAiJHtAYmIucGFyc2UuQkJIYW5kbGVyLnZhcnNfZnJvbV9maWxlKGQuZ2V0VmFyKCdGSUxFJywgRmFsc2UpLGQpWzBdIG9yICdkZWZhdWx0cGtnbmFtZSd9IgogICAgICBQViA9ICIke0BiYi5wYXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMV0gb3IgJzEuMCd9IgpAQCAtMzM2LDcgKzMzNiw3IEBACiAgICAgICAgICAgICByZWNpcGUgaW5mb3JtYXRpb24uCiAgICAgICAgICAgICBUaGUgdmFsaWRpdHkgb2YgdGhpcyBjYWNoZSBpcyBkZXRlcm1pbmVkIGJ5IGZpcnN0IGNvbXB1dGluZyBhCiAgICAgICAgICAgICBjaGVja3N1bSBvZiB0aGUgYmFzZSBjb25maWd1cmF0aW9uIGRhdGEgKHNlZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0hBU0hDT05GSUdfV0hJVEVMSVNUJz48ZmlsZW5hbWU+QkJfSEFTSENPTkZJR19XSElURUxJU1Q8L2ZpbGVuYW1lPjwvbGluaz4pCisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfSEFTSENPTkZJR19XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9IQVNIQ09ORklHX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPikKICAgICAgICAgICAgIGFuZCB0aGVuIGNoZWNraW5nIGlmIHRoZSBjaGVja3N1bSBtYXRjaGVzLgogICAgICAgICAgICAgSWYgdGhhdCBjaGVja3N1bSBtYXRjaGVzIHdoYXQgaXMgaW4gdGhlIGNhY2hlIGFuZCB0aGUgcmVjaXBlCiAgICAgICAgICAgICBhbmQgY2xhc3MgZmlsZXMgaGF2ZSBub3QgY2hhbmdlZCwgQml0YmFrZSBpcyBhYmxlIHRvIHVzZQpAQCAtMzg0LDkgKzM4NCw5IEBACiAgICAgICAgICAgICB0aGUgcmVjaXBlIGNhbiBiZSBrbm93bi4KICAgICAgICAgICAgIEVhY2ggcmVjaXBlJ3MgPGZpbGVuYW1lPlBST1ZJREVTPC9maWxlbmFtZT4gbGlzdCBpcyBjcmVhdGVkCiAgICAgICAgICAgICBpbXBsaWNpdGx5IHRocm91Z2ggdGhlIHJlY2lwZSdzCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZQorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBOJz48ZmlsZW5hbWU+UE48L2ZpbGVuYW1lPjwvbGluaz4gdmFyaWFibGUKICAgICAgICAgICAgIGFuZCBleHBsaWNpdGx5IHRocm91Z2ggdGhlIHJlY2lwZSdzCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUFJPVklERVMnPjxmaWxlbmFtZT5QUk9WSURFUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBST1ZJREVTJz48ZmlsZW5hbWU+UFJPVklERVM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIHZhcmlhYmxlLCB3aGljaCBpcyBvcHRpb25hbC4KICAgICAgICAgPC9wYXJhPgogCkBAIC00MjcsNyArNDI3LDcgQEAKICAgICAgUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwva2VybmVsID0gImxpbnV4LXlvY3RvIgogICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgVGhlIGRlZmF1bHQKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QUkVGRVJSRURfUFJPVklERVInPjxmaWxlbmFtZT5QUkVGRVJSRURfUFJPVklERVI8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QUkVGRVJSRURfUFJPVklERVInPjxmaWxlbmFtZT5QUkVGRVJSRURfUFJPVklERVI8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIGlzIHRoZSBwcm92aWRlciB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgdGhlIHRhcmdldC4KICAgICAgICAgICAgIEJpdGJha2UgaXRlcmF0ZXMgdGhyb3VnaCBlYWNoIHRhcmdldCBpdCBuZWVkcyB0byBidWlsZCBhbmQKICAgICAgICAgICAgIHJlc29sdmVzIHRoZW0gYW5kIHRoZWlyIGRlcGVuZGVuY2llcyB1c2luZyB0aGlzIHByb2Nlc3MuCkBAIC00MzksMTAgKzQzOSwxMCBAQAogICAgICAgICAgICAgQml0QmFrZSBkZWZhdWx0cyB0byB0aGUgaGlnaGVzdCB2ZXJzaW9uIG9mIGEgcHJvdmlkZXIuCiAgICAgICAgICAgICBWZXJzaW9uIGNvbXBhcmlzb25zIGFyZSBtYWRlIHVzaW5nIHRoZSBzYW1lIG1ldGhvZCBhcyBEZWJpYW4uCiAgICAgICAgICAgICBZb3UgY2FuIHVzZSB0aGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QUkVGRVJSRURfVkVSU0lPTic+PGZpbGVuYW1lPlBSRUZFUlJFRF9WRVJTSU9OPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFJFRkVSUkVEX1ZFUlNJT04nPjxmaWxlbmFtZT5QUkVGRVJSRURfVkVSU0lPTjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUgdG8gc3BlY2lmeSBhIHBhcnRpY3VsYXIgdmVyc2lvbi4KICAgICAgICAgICAgIFlvdSBjYW4gaW5mbHVlbmNlIHRoZSBvcmRlciBieSB1c2luZyB0aGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERUZBVUxUX1BSRUZFUkVOQ0UnPjxmaWxlbmFtZT5ERUZBVUxUX1BSRUZFUkVOQ0U8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERUZBVUxUX1BSRUZFUkVOQ0UnPjxmaWxlbmFtZT5ERUZBVUxUX1BSRUZFUkVOQ0U8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIHZhcmlhYmxlLgogICAgICAgICA8L3BhcmE+CiAKQEAgLTQ2NCw3ICs0NjQsNyBAQAogICAgICAgICAgICAgQml0QmFrZSBkZWZhdWx0cyB0byBzZWxlY3RpbmcgdGhlIG1vc3QgcmVjZW50CiAgICAgICAgICAgICB2ZXJzaW9uLCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZC4KICAgICAgICAgICAgIElmIHRoZSByZWNpcGUgaW4gcXVlc3Rpb24gaGFzIGEKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERUZBVUxUX1BSRUZFUkVOQ0UnPjxmaWxlbmFtZT5ERUZBVUxUX1BSRUZFUkVOQ0U8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERUZBVUxUX1BSRUZFUkVOQ0UnPjxmaWxlbmFtZT5ERUZBVUxUX1BSRUZFUkVOQ0U8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIHNldCBsb3dlciB0aGFuIHRoZSBvdGhlciByZWNpcGVzIChkZWZhdWx0IGlzIDApLCB0aGVuCiAgICAgICAgICAgICBpdCB3aWxsIG5vdCBiZSBzZWxlY3RlZC4KICAgICAgICAgICAgIFRoaXMgYWxsb3dzIHRoZSBwZXJzb24gb3IgcGVyc29ucyBtYWludGFpbmluZwpAQCAtNDc1LDkgKzQ3NSw5IEBACiAKICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICBJZiB0aGUgZmlyc3QgcmVjaXBlIGlzIG5hbWVkIDxmaWxlbmFtZT5hXzEuMS5iYjwvZmlsZW5hbWU+LCB0aGVuIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBOJz48ZmlsZW5hbWU+UE48L2ZpbGVuYW1lPjwvbGluaz4gdmFyaWFibGUKKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QTic+PGZpbGVuYW1lPlBOPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlCiAgICAgICAgICAgICB3aWxsIGJlIHNldCB0byDigJxh4oCdLCBhbmQgdGhlCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUFYnPjxmaWxlbmFtZT5QVjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBWJz48ZmlsZW5hbWU+UFY8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIHZhcmlhYmxlIHdpbGwgYmUgc2V0IHRvIDEuMS4KICAgICAgICAgPC9wYXJhPgogCkBAIC01MzIsMTEgKzUzMiwxMSBAQAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIERlcGVuZGVuY2llcyBhcmUgZGVmaW5lZCB0aHJvdWdoIHNldmVyYWwgdmFyaWFibGVzLgogICAgICAgICAgICAgWW91IGNhbiBmaW5kIGluZm9ybWF0aW9uIGFib3V0IHZhcmlhYmxlcyBCaXRCYWtlIHVzZXMgaW4KLSAgICAgICAgICAgIHRoZSA8bGluayBsaW5rZW5kPSdyZWYtdmFyaWFibGVzLWdsb3MnPlZhcmlhYmxlcyBHbG9zc2FyeTwvbGluaz4KKyAgICAgICAgICAgIHRoZSA8bGluayBsaW5rZW5kPSdyZWYtYmItdmFyaWFibGVzLWdsb3MnPlZhcmlhYmxlcyBHbG9zc2FyeTwvbGluaz4KICAgICAgICAgICAgIG5lYXIgdGhlIGVuZCBvZiB0aGlzIG1hbnVhbC4KICAgICAgICAgICAgIEF0IGEgYmFzaWMgbGV2ZWwsIGl0IGlzIHN1ZmZpY2llbnQgdG8ga25vdyB0aGF0IEJpdEJha2UgdXNlcyB0aGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPiBhbmQKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1SREVQRU5EUyc+PGZpbGVuYW1lPlJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlcyB3aGVuCisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItREVQRU5EUyc+PGZpbGVuYW1lPkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4gYW5kCisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUkRFUEVORFMnPjxmaWxlbmFtZT5SREVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZXMgd2hlbgogICAgICAgICAgICAgY2FsY3VsYXRpbmcgZGVwZW5kZW5jaWVzLgogICAgICAgICA8L3BhcmE+CiAKQEAgLTU2MCw3ICs1NjAsNyBAQAogCiAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgVGhlIGJ1aWxkIG5vdyBzdGFydHMgd2l0aCBCaXRCYWtlIGZvcmtpbmcgb2ZmIHRocmVhZHMgdXAgdG8gdGhlIGxpbWl0IHNldCBpbiB0aGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9OVU1CRVJfVEhSRUFEUyc+PGZpbGVuYW1lPkJCX05VTUJFUl9USFJFQURTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfTlVNQkVSX1RIUkVBRFMnPjxmaWxlbmFtZT5CQl9OVU1CRVJfVEhSRUFEUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgICAgICBCaXRCYWtlIGNvbnRpbnVlcyB0byBmb3JrIHRocmVhZHMgYXMgbG9uZyBhcyB0aGVyZSBhcmUgdGFza3MgcmVhZHkgdG8gcnVuLAogICAgICAgICAgICAgdGhvc2UgdGFza3MgaGF2ZSBhbGwgdGhlaXIgZGVwZW5kZW5jaWVzIG1ldCwgYW5kIHRoZSB0aHJlYWQgdGhyZXNob2xkIGhhcyBub3QgYmVlbgpAQCAtNTc0LDcgKzU3NCw3IEBACiAKICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICBBcyBlYWNoIHRhc2sgY29tcGxldGVzLCBhIHRpbWVzdGFtcCBpcyB3cml0dGVuIHRvIHRoZSBkaXJlY3Rvcnkgc3BlY2lmaWVkIGJ5IHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNUQU1QJz48ZmlsZW5hbWU+U1RBTVA8L2ZpbGVuYW1lPjwvbGluaz4gdmFyaWFibGUuCisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItU1RBTVAnPjxmaWxlbmFtZT5TVEFNUDwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZS4KICAgICAgICAgICAgIE9uIHN1YnNlcXVlbnQgcnVucywgQml0QmFrZSBsb29rcyBpbiB0aGUgYnVpbGQgZGlyZWN0b3J5IHdpdGhpbgogICAgICAgICAgICAgPGZpbGVuYW1lPnRtcC9zdGFtcHM8L2ZpbGVuYW1lPiBhbmQgZG9lcyBub3QgcmVydW4KICAgICAgICAgICAgIHRhc2tzIHRoYXQgYXJlIGFscmVhZHkgY29tcGxldGVkIHVubGVzcyBhIHRpbWVzdGFtcCBpcyBmb3VuZCB0byBiZSBpbnZhbGlkLgpAQCAtNjE4LDcgKzYxOCw3IEBACiAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgVGFza3MgY2FuIGJlIGVpdGhlciBhIHNoZWxsIHRhc2sgb3IgYSBQeXRob24gdGFzay4KICAgICAgICAgICAgIEZvciBzaGVsbCB0YXNrcywgQml0QmFrZSB3cml0ZXMgYSBzaGVsbCBzY3JpcHQgdG8KLSAgICAgICAgICAgIDxmaWxlbmFtZT4kezwvZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLVQnPjxmaWxlbmFtZT5UPC9maWxlbmFtZT48L2xpbms+PGZpbGVuYW1lPn0vcnVuLmRvX3Rhc2tuYW1lLnBpZDwvZmlsZW5hbWU+CisgICAgICAgICAgICA8ZmlsZW5hbWU+JHs8L2ZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1UJz48ZmlsZW5hbWU+VDwvZmlsZW5hbWU+PC9saW5rPjxmaWxlbmFtZT59L3J1bi5kb190YXNrbmFtZS5waWQ8L2ZpbGVuYW1lPgogICAgICAgICAgICAgYW5kIHRoZW4gZXhlY3V0ZXMgdGhlIHNjcmlwdC4KICAgICAgICAgICAgIFRoZSBnZW5lcmF0ZWQgc2hlbGwgc2NyaXB0IGNvbnRhaW5zIGFsbCB0aGUgZXhwb3J0ZWQgdmFyaWFibGVzLAogICAgICAgICAgICAgYW5kIHRoZSBzaGVsbCBmdW5jdGlvbnMgd2l0aCBhbGwgdmFyaWFibGVzIGV4cGFuZGVkLgpAQCAtNjQ1LDEwICs2NDUsMTAgQEAKICAgICAgICAgICAgIGJlaGF2aW9yOgogICAgICAgICAgICAgPGl0ZW1pemVkbGlzdD4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9TQ0hFRFVMRVInPjxmaWxlbmFtZT5CQl9TQ0hFRFVMRVI8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1NDSEVEVUxFUic+PGZpbGVuYW1lPkJCX1NDSEVEVUxFUjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9TQ0hFRFVMRVJTJz48ZmlsZW5hbWU+QkJfU0NIRURVTEVSUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfU0NIRURVTEVSUyc+PGZpbGVuYW1lPkJCX1NDSEVEVUxFUlM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KICAgICAgICAgICAgIEl0IGlzIHBvc3NpYmxlIHRvIGhhdmUgZnVuY3Rpb25zIHJ1biBiZWZvcmUgYW5kIGFmdGVyIGEgdGFzaydzIG1haW4KQEAgLTY4NCw3ICs2ODQsNyBAQAogICAgICAgICAgICAgVGhlIHNpbXBsaXN0aWMgYXBwcm9hY2ggZm9yIGV4Y2x1ZGluZyB0aGUgd29ya2luZyBkaXJlY3RvcnkgaXMgdG8gc2V0CiAgICAgICAgICAgICBpdCB0byBzb21lIGZpeGVkIHZhbHVlIGFuZCBjcmVhdGUgdGhlIGNoZWNrc3VtIGZvciB0aGUgInJ1biIgc2NyaXB0LgogICAgICAgICAgICAgQml0QmFrZSBnb2VzIG9uZSBzdGVwIGJldHRlciBhbmQgdXNlcyB0aGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9IQVNIQkFTRV9XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9IQVNIQkFTRV9XSElURUxJU1Q8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9IQVNIQkFTRV9XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9IQVNIQkFTRV9XSElURUxJU1Q8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIHZhcmlhYmxlIHRvIGRlZmluZSBhIGxpc3Qgb2YgdmFyaWFibGVzIHRoYXQgc2hvdWxkIG5ldmVyIGJlIGluY2x1ZGVkCiAgICAgICAgICAgICB3aGVuIGdlbmVyYXRpbmcgdGhlIHNpZ25hdHVyZXMuCiAgICAgICAgIDwvcGFyYT4KQEAgLTc5NSw3ICs3OTUsNyBAQAogICAgICAgICAgICAgVGhpcyByZXN1bHRzIGluIGFueSBtZXRhZGF0YSBjaGFuZ2UgdGhhdCBjaGFuZ2VzIHRoZSB0YXNrIGhhc2gsIGF1dG9tYXRpY2FsbHkKICAgICAgICAgICAgIGNhdXNpbmcgdGhlIHRhc2sgdG8gYmUgcnVuIGFnYWluLgogICAgICAgICAgICAgVGhpcyByZW1vdmVzIHRoZSBuZWVkIHRvIGJ1bXAKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QUic+PGZpbGVuYW1lPlBSPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFInPjxmaWxlbmFtZT5QUjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFsdWVzLCBhbmQgY2hhbmdlcyB0byBtZXRhZGF0YSBhdXRvbWF0aWNhbGx5IHJpcHBsZSBhY3Jvc3MgdGhlIGJ1aWxkLgogICAgICAgICA8L3BhcmE+CiAKQEAgLTg4NCw3ICs4ODQsNyBAQAogCiAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgQml0QmFrZSBmaXJzdCBjYWxscyB0aGUgZnVuY3Rpb24gZGVmaW5lZCBieSB0aGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9IQVNIQ0hFQ0tfRlVOQ1RJT04nPjxmaWxlbmFtZT5CQl9IQVNIQ0hFQ0tfRlVOQ1RJT048L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9IQVNIQ0hFQ0tfRlVOQ1RJT04nPjxmaWxlbmFtZT5CQl9IQVNIQ0hFQ0tfRlVOQ1RJT048L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHRhc2tzIGFuZCBjb3JyZXNwb25kaW5nCiAgICAgICAgICAgICBoYXNoZXMgaXQgd2FudHMgdG8gYnVpbGQuCiAgICAgICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIGRlc2lnbmVkIHRvIGJlIGZhc3QgYW5kIHJldHVybnMgYSBsaXN0CkBAIC05MDgsNyArOTA4LDcgQEAKICAgICAgICAgICAgIEZvciBleGFtcGxlLCBpdCBpcyBwb2ludGxlc3MgdG8gb2J0YWluIGEgY29tcGlsZXIgaWYgeW91CiAgICAgICAgICAgICBhbHJlYWR5IGhhdmUgdGhlIGNvbXBpbGVkIGJpbmFyeS4KICAgICAgICAgICAgIFRvIGhhbmRsZSB0aGlzLCBCaXRCYWtlIGNhbGxzIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NFVFNDRU5FX0RFUFZBTElEJz48ZmlsZW5hbWU+QkJfU0VUU0NFTkVfREVQVkFMSUQ8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9TRVRTQ0VORV9ERVBWQUxJRCc+PGZpbGVuYW1lPkJCX1NFVFNDRU5FX0RFUFZBTElEPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICBmdW5jdGlvbiBmb3IgZWFjaCBzdWNjZXNzZnVsIHNldHNjZW5lIHRhc2sgdG8ga25vdyB3aGV0aGVyIG9yIG5vdCBpdCBuZWVkcwogICAgICAgICAgICAgdG8gb2J0YWluIHRoZSBkZXBlbmRlbmNpZXMgb2YgdGhhdCB0YXNrLgogICAgICAgICA8L3BhcmE+CkBAIC05MTYsNyArOTE2LDcgQEAKICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICBGaW5hbGx5LCBhZnRlciBhbGwgdGhlIHNldHNjZW5lIHRhc2tzIGhhdmUgZXhlY3V0ZWQsIEJpdEJha2UgY2FsbHMgdGhlCiAgICAgICAgICAgICBmdW5jdGlvbiBsaXN0ZWQgaW4KLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9TRVRTQ0VORV9WRVJJRllfRlVOQ1RJT04yJz48ZmlsZW5hbWU+QkJfU0VUU0NFTkVfVkVSSUZZX0ZVTkNUSU9OMjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1NFVFNDRU5FX1ZFUklGWV9GVU5DVElPTjInPjxmaWxlbmFtZT5CQl9TRVRTQ0VORV9WRVJJRllfRlVOQ1RJT04yPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICB3aXRoIHRoZSBsaXN0IG9mIHRhc2tzIEJpdEJha2UgdGhpbmtzIGhhcyBiZWVuICJjb3ZlcmVkIi4KICAgICAgICAgICAgIFRoZSBtZXRhZGF0YSBjYW4gdGhlbiBlbnN1cmUgdGhhdCB0aGlzIGxpc3QgaXMgY29ycmVjdCBhbmQgY2FuCiAgICAgICAgICAgICBpbmZvcm0gQml0QmFrZSB0aGF0IGl0IHdhbnRzIHNwZWNpZmljIHRhc2tzIHRvIGJlIHJ1biByZWdhcmRsZXNzCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1mZXRjaGluZy54bWwgYi9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1mZXRjaGluZy54bWwKaW5kZXggOTJiMmMzZC4uM2FjZDdjNCAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtZmV0Y2hpbmcueG1sCisrKyBiL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWZldGNoaW5nLnhtbApAQCAtNDQsNyArNDQsNyBAQAogICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgVGhpcyBjb2RlIHNldHMgdXAgYW4gaW5zdGFuY2Ugb2YgdGhlIGZldGNoIGNsYXNzLgogICAgICAgICAgICAgVGhlIGluc3RhbmNlIHVzZXMgYSBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBVUkxzIGZyb20gdGhlCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDX1VSSSc+PGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TUkNfVVJJJz48ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUgYW5kIHRoZW4gY2FsbHMgdGhlIDxmaWxlbmFtZT5kb3dubG9hZDwvZmlsZW5hbWU+CiAgICAgICAgICAgICBtZXRob2QgdG8gZG93bmxvYWQgdGhlIGZpbGVzLgogICAgICAgICA8L3BhcmE+CkBAIC03OCw3ICs3OCw3IEBACiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5QcmUtbWlycm9yIFNpdGVzOjwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgICAgIEJpdEJha2UgZmlyc3QgdXNlcyBwcmUtbWlycm9ycyB0byB0cnkgYW5kIGZpbmQgc291cmNlIGZpbGVzLgogICAgICAgICAgICAgICAgICAgICBUaGVzZSBsb2NhdGlvbnMgYXJlIGRlZmluZWQgdXNpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QUkVNSVJST1JTJz48ZmlsZW5hbWU+UFJFTUlSUk9SUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFJFTUlSUk9SUyc+PGZpbGVuYW1lPlBSRU1JUlJPUlM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+U291cmNlIFVSSTo8L2VtcGhhc2lzPgpAQCAtODgsNyArODgsNyBAQAogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+TWlycm9yIFNpdGVzOjwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgICAgIElmIGZldGNoIGZhaWx1cmVzIG9jY3VyLCBCaXRCYWtlIG5leHQgdXNlcyBtaXJyb3IgbG9jYXRpb25zIGFzCiAgICAgICAgICAgICAgICAgICAgIGRlZmluZWQgYnkgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1NSVJST1JTJz48ZmlsZW5hbWU+TUlSUk9SUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItTUlSUk9SUyc+PGZpbGVuYW1lPk1JUlJPUlM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CkBAIC0xNDQsNyArMTQ0LDcgQEAKICAgICAgICAgICAgIEFueSBzb3VyY2UgZmlsZXMgdGhhdCBhcmUgbm90IGxvY2FsIChpLmUuCiAgICAgICAgICAgICBkb3dubG9hZGVkIGZyb20gdGhlIEludGVybmV0KSBhcmUgcGxhY2VkIGludG8gdGhlIGRvd25sb2FkCiAgICAgICAgICAgICBkaXJlY3RvcnksIHdoaWNoIGlzIHNwZWNpZmllZCBieSB0aGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ETF9ESVInPjxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ETF9ESVInPjxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIHZhcmlhYmxlLgogICAgICAgICA8L3BhcmE+CiAKQEAgLTE4NCwxMSArMTg0LDExIEBACiAKICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICBJZgotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NUUklDVF9DSEVDS1NVTSc+PGZpbGVuYW1lPkJCX1NUUklDVF9DSEVDS1NVTTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1NUUklDVF9DSEVDS1NVTSc+PGZpbGVuYW1lPkJCX1NUUklDVF9DSEVDS1NVTTwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgaXMgc2V0LCBhbnkgZG93bmxvYWQgd2l0aG91dCBhIGNoZWNrc3VtIHRyaWdnZXJzIGFuCiAgICAgICAgICAgICBlcnJvciBtZXNzYWdlLgogICAgICAgICAgICAgVGhlCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfTk9fTkVUV09SSyc+PGZpbGVuYW1lPkJCX05PX05FVFdPUks8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9OT19ORVRXT1JLJz48ZmlsZW5hbWU+QkJfTk9fTkVUV09SSzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUgY2FuIGJlIHVzZWQgdG8gbWFrZSBhbnkgYXR0ZW1wdGVkIG5ldHdvcmsgYWNjZXNzIGEgZmF0YWwKICAgICAgICAgICAgIGVycm9yLCB3aGljaCBpcyB1c2VmdWwgZm9yIGNoZWNraW5nIHRoYXQgbWlycm9ycyBhcmUgY29tcGxldGUKICAgICAgICAgICAgIGFzIHdlbGwgYXMgb3RoZXIgdGhpbmdzLgpAQCAtMjY1LDExICsyNjUsMTEgQEAKICAgICAgICAgICAgICAgICBUaGUgZmlsZW5hbWUgeW91IHNwZWNpZnkgd2l0aGluIHRoZSBVUkwgY2FuIGJlCiAgICAgICAgICAgICAgICAgZWl0aGVyIGFuIGFic29sdXRlIG9yIHJlbGF0aXZlIHBhdGggdG8gYSBmaWxlLgogICAgICAgICAgICAgICAgIElmIHRoZSBmaWxlbmFtZSBpcyByZWxhdGl2ZSwgdGhlIGNvbnRlbnRzIG9mIHRoZQotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1GSUxFU1BBVEgnPjxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItRklMRVNQQVRIJz48ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgdmFyaWFibGUgaXMgdXNlZCBpbiB0aGUgc2FtZSB3YXkKICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+UEFUSDwvZmlsZW5hbWU+IGlzIHVzZWQgdG8gZmluZCBleGVjdXRhYmxlcy4KICAgICAgICAgICAgICAgICBJZiB0aGUgZmlsZSBjYW5ub3QgYmUgZm91bmQsIGl0IGlzIGFzc3VtZWQgdGhhdCBpdCBpcyBhdmFpbGFibGUgaW4KLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRExfRElSJz48ZmlsZW5hbWU+RExfRElSPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURMX0RJUic+PGZpbGVuYW1lPkRMX0RJUjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgIGJ5IHRoZSB0aW1lIHRoZSA8ZmlsZW5hbWU+ZG93bmxvYWQoKTwvZmlsZW5hbWU+IG1ldGhvZCBpcyBjYWxsZWQuCiAgICAgICAgICAgICA8L3BhcmE+CiAKQEAgLTMwNCw3ICszMDQsNyBAQAogICAgICAgICAgICAgICAgIGFsbG93cyB0aGUgbmFtZSBvZiB0aGUgZG93bmxvYWRlZCBmaWxlIHRvIGJlIHNwZWNpZmllZC4KICAgICAgICAgICAgICAgICBTcGVjaWZ5aW5nIHRoZSBuYW1lIG9mIHRoZSBkb3dubG9hZGVkIGZpbGUgaXMgdXNlZnVsCiAgICAgICAgICAgICAgICAgZm9yIGF2b2lkaW5nIGNvbGxpc2lvbnMgaW4KLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRExfRElSJz48ZmlsZW5hbWU+RExfRElSPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURMX0RJUic+PGZpbGVuYW1lPkRMX0RJUjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgIHdoZW4gZGVhbGluZyB3aXRoIG11bHRpcGxlIGZpbGVzIHRoYXQgaGF2ZSB0aGUgc2FtZSBuYW1lLgogICAgICAgICAgICAgPC9wYXJhPgogCkBAIC0zNTUsNyArMzU1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIEEgc3BlY2lhbCB2YWx1ZSBvZiAibm93IiBjYXVzZXMgdGhlIGNoZWNrb3V0IHRvCiAgICAgICAgICAgICAgICAgICAgICAgICBiZSB1cGRhdGVkIG9uIGV2ZXJ5IGJ1aWxkLgogICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+PGxpbmsgbGlua2VuZD0ndmFyLUNWU0RJUic+PGZpbGVuYW1lPkNWU0RJUjwvZmlsZW5hbWU+PC9saW5rPjo8L2VtcGhhc2lzPgorICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1DVlNESVInPjxmaWxlbmFtZT5DVlNESVI8L2ZpbGVuYW1lPjwvbGluaz46PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyB3aGVyZSBhIHRlbXBvcmFyeSBjaGVja291dCBpcyBzYXZlZC4KICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBsb2NhdGlvbiBpcyBvZnRlbiA8ZmlsZW5hbWU+RExfRElSL2N2czwvZmlsZW5hbWU+LgogICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CkBAIC0zOTUsNyArMzk1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz4iZGF0ZSI6PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyBhIGRhdGUuCiAgICAgICAgICAgICAgICAgICAgICAgICBJZiBubyAiZGF0ZSIgaXMgc3BlY2lmaWVkLCB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TUkNEQVRFJz48ZmlsZW5hbWU+U1JDREFURTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNSQ0RBVEUnPjxmaWxlbmFtZT5TUkNEQVRFPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgICAgICBvZiB0aGUgY29uZmlndXJhdGlvbiBpcyB1c2VkIHRvIGNoZWNrb3V0IGEgc3BlY2lmaWMgZGF0ZS4KICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBzcGVjaWFsIHZhbHVlIG9mICJub3ciIGNhdXNlcyB0aGUgY2hlY2tvdXQgdG8gYmUKICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWQgb24gZXZlcnkgYnVpbGQuCkBAIC00MDYsNyArNDA2LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHdoaWNoIHRoZSBtb2R1bGUgaXMgdW5wYWNrZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICBZb3UgYXJlIGZvcmNpbmcgdGhlIG1vZHVsZSBpbnRvIGEgc3BlY2lhbAogICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3J5IHJlbGF0aXZlIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQ1ZTRElSJz48ZmlsZW5hbWU+Q1ZTRElSPC9maWxlbmFtZT48L2xpbms+LgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUNWU0RJUic+PGZpbGVuYW1lPkNWU0RJUjwvZmlsZW5hbWU+PC9saW5rPi4KICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPiJyc2giPC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgICAgIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgIm1ldGhvZCIgcGFyYW1ldGVyLgpAQCAtNDQ4LDcgKzQ0OCw3IEBACiAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkZFVENIQ01EX3N2bjwvZmlsZW5hbWU+LCB3aGljaCBkZWZhdWx0cwogICAgICAgICAgICAgICAgIHRvICJzdm4iLgogICAgICAgICAgICAgICAgIFRoZSBmZXRjaGVyJ3MgdGVtcG9yYXJ5IHdvcmtpbmcgZGlyZWN0b3J5IGlzIHNldCBieQotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TVk5ESVInPjxmaWxlbmFtZT5TVk5ESVI8L2ZpbGVuYW1lPjwvbGluaz4sCisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNWTkRJUic+PGZpbGVuYW1lPlNWTkRJUjwvZmlsZW5hbWU+PC9saW5rPiwKICAgICAgICAgICAgICAgICB3aGljaCBpcyB1c3VhbGx5IDxmaWxlbmFtZT5ETF9ESVIvc3ZuPC9maWxlbmFtZT4uCiAgICAgICAgICAgICA8L3BhcmE+CiAKQEAgLTUwOSw3ICs1MDksNyBAQAogICAgICAgICAgICAgICAgIHNvdXJjZSBjb250cm9sIHN5c3RlbS4KICAgICAgICAgICAgICAgICBUaGUgZmV0Y2hlciB3b3JrcyBieSBjcmVhdGluZyBhIGJhcmUgY2xvbmUgb2YgdGhlCiAgICAgICAgICAgICAgICAgcmVtb3RlIGludG8KLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItR0lURElSJz48ZmlsZW5hbWU+R0lURElSPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1HSVRESVInPjxmaWxlbmFtZT5HSVRESVI8L2ZpbGVuYW1lPjwvbGluaz4sCiAgICAgICAgICAgICAgICAgd2hpY2ggaXMgdXN1YWxseSA8ZmlsZW5hbWU+RExfRElSL2dpdDI8L2ZpbGVuYW1lPi4KICAgICAgICAgICAgICAgICBUaGlzIGJhcmUgY2xvbmUgaXMgdGhlbiBjbG9uZWQgaW50byB0aGUgd29yayBkaXJlY3RvcnkgZHVyaW5nIHRoZQogICAgICAgICAgICAgICAgIHVucGFjayBzdGFnZSB3aGVuIGEgc3BlY2lmaWMgdHJlZSBpcyBjaGVja2VkIG91dC4KQEAgLTYxMiw3ICs2MTIsNyBAQAogICAgICAgICAgICAgICAgIFRoaXMgZmV0Y2hlciBzdWJtb2R1bGUgaW5oZXJpdHMgZnJvbSB0aGUKICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSdnaXQtZmV0Y2hlcic+R2l0IGZldGNoZXI8L2xpbms+IGFuZCBleHRlbmRzCiAgICAgICAgICAgICAgICAgdGhhdCBmZXRjaGVyJ3MgYmVoYXZpb3IgYnkgZmV0Y2hpbmcgYSByZXBvc2l0b3J5J3Mgc3VibW9kdWxlcy4KLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDX1VSSSc+PGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItU1JDX1VSSSc+PGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICBpcyBwYXNzZWQgdG8gdGhlIEdpdCBmZXRjaGVyIGFzIGRlc2NyaWJlZCBpbiB0aGUKICAgICAgICAgICAgICAgICAiPGxpbmsgbGlua2VuZD0nZ2l0LWZldGNoZXInPkdpdCBGZXRjaGVyICg8ZmlsZW5hbWU+Z2l0Oi8vPC9maWxlbmFtZT4pPC9saW5rPiIKICAgICAgICAgICAgICAgICBzZWN0aW9uLgpAQCAtNjQ3LDkgKzY0Nyw5IEBACiAKICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgIFRvIHVzZSB0aGlzIGZldGNoZXIsIG1ha2Ugc3VyZSB5b3VyIHJlY2lwZSBoYXMgcHJvcGVyCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNSQ19VUkknPjxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT48L2xpbms+LAotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TUkNSRVYnPjxmaWxlbmFtZT5TUkNSRVY8L2ZpbGVuYW1lPjwvbGluaz4sIGFuZAotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+IHNldHRpbmdzLgorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TUkNfVVJJJz48ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+PC9saW5rPiwKKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItU1JDUkVWJz48ZmlsZW5hbWU+U1JDUkVWPC9maWxlbmFtZT48L2xpbms+LCBhbmQKKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFYnPjxmaWxlbmFtZT5QVjwvZmlsZW5hbWU+PC9saW5rPiBzZXR0aW5ncy4KICAgICAgICAgICAgICAgICBIZXJlIGlzIGFuIGV4YW1wbGU6CiAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgogICAgICBTUkNfVVJJID0gImNjcmM6Ly9jYy5leGFtcGxlLm9yZy9jY3JjO3ZvYj0vZXhhbXBsZV92b2I7bW9kdWxlPS9leGFtcGxlX21vZHVsZSIKQEAgLTczNCwxNSArNzM0LDE1IEBACiAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkZFVENIQ01EX3A0PC9maWxlbmFtZT4sIHdoaWNoIGRlZmF1bHRzCiAgICAgICAgICAgICAgICAgdG8gInA0Ii4KICAgICAgICAgICAgICAgICBUaGUgZmV0Y2hlcidzIHRlbXBvcmFyeSB3b3JraW5nIGRpcmVjdG9yeSBpcyBzZXQgYnkKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUDRESVInPjxmaWxlbmFtZT5QNERJUjwvZmlsZW5hbWU+PC9saW5rPiwKKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUDRESVInPjxmaWxlbmFtZT5QNERJUjwvZmlsZW5hbWU+PC9saW5rPiwKICAgICAgICAgICAgICAgICB3aGljaCBkZWZhdWx0cyB0byAiRExfRElSL3A0Ii4KICAgICAgICAgICAgIDwvcGFyYT4KIAogICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgVG8gdXNlIHRoaXMgZmV0Y2hlciwgbWFrZSBzdXJlIHlvdXIgcmVjaXBlIGhhcyBwcm9wZXIKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDX1VSSSc+PGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPjwvbGluaz4sCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNSQ1JFVic+PGZpbGVuYW1lPlNSQ1JFVjwvZmlsZW5hbWU+PC9saW5rPiwgYW5kCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBWJz48ZmlsZW5hbWU+UFY8L2ZpbGVuYW1lPjwvbGluaz4gdmFsdWVzLgorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TUkNfVVJJJz48ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+PC9saW5rPiwKKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItU1JDUkVWJz48ZmlsZW5hbWU+U1JDUkVWPC9maWxlbmFtZT48L2xpbms+LCBhbmQKKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFYnPjxmaWxlbmFtZT5QVjwvZmlsZW5hbWU+PC9saW5rPiB2YWx1ZXMuCiAgICAgICAgICAgICAgICAgVGhlIHA0IGV4ZWN1dGFibGUgaXMgYWJsZSB0byB1c2UgdGhlIGNvbmZpZyBmaWxlIGRlZmluZWQgYnkgeW91cgogICAgICAgICAgICAgICAgIHN5c3RlbSdzIDxmaWxlbmFtZT5QNENPTkZJRzwvZmlsZW5hbWU+IGVudmlyb25tZW50IHZhcmlhYmxlIGluCiAgICAgICAgICAgICAgICAgb3JkZXIgdG8gZGVmaW5lIHRoZSBQZXJmb3JjZSBzZXJ2ZXIgVVJMIGFuZCBwb3J0LCB1c2VybmFtZSwgYW5kCkBAIC03OTMsOSArNzkzLDkgQEAKICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+Z29vZ2xlLXJlcG88L2ZpbGVuYW1lPiBzb3VyY2UgY29udHJvbCBzeXN0ZW0uCiAgICAgICAgICAgICAgICAgVGhlIGZldGNoZXIgd29ya3MgYnkgaW5pdGlhdGluZyBhbmQgc3luY2luZyBzb3VyY2VzIG9mIHRoZQogICAgICAgICAgICAgICAgIHJlcG9zaXRvcnkgaW50bwotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1SRVBPRElSJz48ZmlsZW5hbWU+UkVQT0RJUjwvZmlsZW5hbWU+PC9saW5rPiwKKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUkVQT0RJUic+PGZpbGVuYW1lPlJFUE9ESVI8L2ZpbGVuYW1lPjwvbGluaz4sCiAgICAgICAgICAgICAgICAgd2hpY2ggaXMgdXN1YWxseQotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ETF9ESVInPjxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPjwvbGluaz48ZmlsZW5hbWU+L3JlcG88L2ZpbGVuYW1lPi4KKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItRExfRElSJz48ZmlsZW5hbWU+RExfRElSPC9maWxlbmFtZT48L2xpbms+PGZpbGVuYW1lPi9yZXBvPC9maWxlbmFtZT4uCiAgICAgICAgICAgICA8L3BhcmE+CiAKICAgICAgICAgICAgIDxwYXJhPgpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtaGVsbG8ueG1sIGIvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtaGVsbG8ueG1sCmluZGV4IDkwNzZmMGYuLjM5MDY2ZTQgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWhlbGxvLnhtbAorKysgYi9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1oZWxsby54bWwKQEAgLTE5NCw3ICsxOTQsNyBAQAogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgIFdoZW4geW91IHJ1biBCaXRCYWtlLCBpdCBiZWdpbnMgbG9va2luZyBmb3IgbWV0YWRhdGEgZmlsZXMuCiAgICAgICAgICAgICAgICAgVGhlCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCUEFUSCc+PGZpbGVuYW1lPkJCUEFUSDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQlBBVEgnPjxmaWxlbmFtZT5CQlBBVEg8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICB2YXJpYWJsZSBpcyB3aGF0IHRlbGxzIEJpdEJha2Ugd2hlcmUgdG8gbG9vayBmb3IgdGhvc2UgZmlsZXMuCiAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkJCUEFUSDwvZmlsZW5hbWU+IGlzIG5vdCBzZXQgYW5kIHlvdSBuZWVkIHRvIHNldCBpdC4KICAgICAgICAgICAgICAgICBXaXRob3V0IDxmaWxlbmFtZT5CQlBBVEg8L2ZpbGVuYW1lPiwgQml0YmFrZSBjYW5ub3QKQEAgLTI3MywxNCArMjczLDE0IEBACiAgICAgICAgICAgICAgICAgc29tZSBlZGl0b3IgdG8gY3JlYXRlIHRoZSA8ZmlsZW5hbWU+Yml0YmFrZS5jb25mPC9maWxlbmFtZT4KICAgICAgICAgICAgICAgICBzbyB0aGF0IGl0IGNvbnRhaW5zIHRoZSBmb2xsb3dpbmc6CiAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICA8bGluayBsaW5rZW5kPSd2YXItUE4nPlBOPC9saW5rPiAgPSAiJHtAYmIucGFyc2UuQkJIYW5kbGVyLnZhcnNfZnJvbV9maWxlKGQuZ2V0VmFyKCdGSUxFJywgRmFsc2UpLGQpWzBdIG9yICdkZWZhdWx0cGtnbmFtZSd9IgorICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUE4nPlBOPC9saW5rPiAgPSAiJHtAYmIucGFyc2UuQkJIYW5kbGVyLnZhcnNfZnJvbV9maWxlKGQuZ2V0VmFyKCdGSUxFJywgRmFsc2UpLGQpWzBdIG9yICdkZWZhdWx0cGtnbmFtZSd9IgogICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgIFRNUERJUiAgPSAiJHs8bGluayBsaW5rZW5kPSd2YXItVE9QRElSJz5UT1BESVI8L2xpbms+fS90bXAiCi0gICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1DQUNIRSc+Q0FDSEU8L2xpbms+ICAgPSAiJHtUTVBESVJ9L2NhY2hlIgotICAgICA8bGluayBsaW5rZW5kPSd2YXItU1RBTVAnPlNUQU1QPC9saW5rPiAgID0gIiR7VE1QRElSfS8ke1BOfS9zdGFtcHMiCi0gICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1UJz5UPC9saW5rPiAgICAgICA9ICIke1RNUERJUn0vJHtQTn0vd29yayIKLSAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUInPkI8L2xpbms+ICAgICAgID0gIiR7VE1QRElSfS8ke1BOfSIKKyAgICAgVE1QRElSICA9ICIkezxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1UT1BESVInPlRPUERJUjwvbGluaz59L3RtcCIKKyAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUNBQ0hFJz5DQUNIRTwvbGluaz4gICA9ICIke1RNUERJUn0vY2FjaGUiCisgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TVEFNUCc+U1RBTVA8L2xpbms+ICAgPSAiJHtUTVBESVJ9LyR7UE59L3N0YW1wcyIKKyAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVQnPlQ8L2xpbms+ICAgICAgID0gIiR7VE1QRElSfS8ke1BOfS93b3JrIgorICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQic+QjwvbGluaz4gICAgICAgPSAiJHtUTVBESVJ9LyR7UE59IgogICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KICAgICAgICAgICAgICAgICA8bm90ZT4KICAgICAgICAgICAgICAgICAgICAgV2l0aG91dCBhIHZhbHVlIGZvciA8ZmlsZW5hbWU+UE48L2ZpbGVuYW1lPiwgdGhlCkBAIC00MDIsMTIgKzQwMiwxMiBAQAogICAgICAgICAgICAgICAgIE1vdmUgdG8gdGhlIDxmaWxlbmFtZT5jb25mPC9maWxlbmFtZT4gZGlyZWN0b3J5IGFuZCBjcmVhdGUgYQogICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5sYXllci5jb25mPC9maWxlbmFtZT4gZmlsZSB0aGF0IGhhcyB0aGUgZm9sbG93aW5nOgogICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgQkJQQVRIIC49ICI6JHs8bGluayBsaW5rZW5kPSd2YXItTEFZRVJESVInPkxBWUVSRElSPC9saW5rPn0iCisgICAgIEJCUEFUSCAuPSAiOiR7PGxpbmsgbGlua2VuZD0ndmFyLWJiLUxBWUVSRElSJz5MQVlFUkRJUjwvbGluaz59IgogCi0gICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQkZJTEVTJz5CQkZJTEVTPC9saW5rPiArPSAiJHtMQVlFUkRJUn0vKi5iYiIKKyAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCRklMRVMnPkJCRklMRVM8L2xpbms+ICs9ICIke0xBWUVSRElSfS8qLmJiIgogCi0gICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQkZJTEVfQ09MTEVDVElPTlMnPkJCRklMRV9DT0xMRUNUSU9OUzwvbGluaz4gKz0gIm15bGF5ZXIiCi0gICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQkZJTEVfUEFUVEVSTic+QkJGSUxFX1BBVFRFUk5fbXlsYXllcjwvbGluaz4gOj0gIl4ke0xBWUVSRElSX1JFfS8iCisgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQkZJTEVfQ09MTEVDVElPTlMnPkJCRklMRV9DT0xMRUNUSU9OUzwvbGluaz4gKz0gIm15bGF5ZXIiCisgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQkZJTEVfUEFUVEVSTic+QkJGSUxFX1BBVFRFUk5fbXlsYXllcjwvbGluaz4gOj0gIl4ke0xBWUVSRElSX1JFfS8iCiAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgICAgIEZvciBpbmZvcm1hdGlvbiBvbiB0aGVzZSB2YXJpYWJsZXMsIGNsaWNrIHRoZSBsaW5rcwogICAgICAgICAgICAgICAgIHRvIGdvIHRvIHRoZSBkZWZpbml0aW9ucyBpbiB0aGUgZ2xvc3NhcnkuPC9wYXJhPgpAQCAtNDE2LDkgKzQxNiw5IEBACiAgICAgICAgICAgICAgICAgYSByZWNpcGUgZmlsZSBuYW1lZCA8ZmlsZW5hbWU+cHJpbnRoZWxsby5iYjwvZmlsZW5hbWU+IHRoYXQKICAgICAgICAgICAgICAgICBoYXMgdGhlIGZvbGxvd2luZzoKICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERVNDUklQVElPTic+REVTQ1JJUFRJT048L2xpbms+ID0gIlByaW50cyBIZWxsbyBXb3JsZCIKLSAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBOJz5QTjwvbGluaz4gPSAncHJpbnRoZWxsbycKLSAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBWJz5QVjwvbGluaz4gPSAnMScKKyAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURFU0NSSVBUSU9OJz5ERVNDUklQVElPTjwvbGluaz4gPSAiUHJpbnRzIEhlbGxvIFdvcmxkIgorICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUE4nPlBOPC9saW5rPiA9ICdwcmludGhlbGxvJworICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFYnPlBWPC9saW5rPiA9ICcxJwogCiAgICAgIHB5dGhvbiBkb19idWlsZCgpIHsKICAgICAgICAgYmIucGxhaW4oIioqKioqKioqKioqKioqKioqKioqIik7CmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1pbnRyby54bWwgYi9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1pbnRyby54bWwKaW5kZXggZjdkMzEyYS4uMDIwNThhNiAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtaW50cm8ueG1sCisrKyBiL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWludHJvLnhtbApAQCAtNzgxLDcgKzc4MSw3IEBACiAgICAgICAgICAgICAgICAgICAgIHRhcmdldCwgeW91IG11c3QgYWxzbyBlbmFibGUgQml0QmFrZSB0byBwZXJmb3JtIG11bHRpcGxlCiAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gYnVpbGRzLgogICAgICAgICAgICAgICAgICAgICBFbmFibGluZyBpcyBhY2NvbXBsaXNoZWQgYnkgc2V0dGluZyB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCTVVMVElDT05GSUcnPjxmaWxlbmFtZT5CQk1VTFRJQ09ORklHPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQk1VTFRJQ09ORklHJz48ZmlsZW5hbWU+QkJNVUxUSUNPTkZJRzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSBpbiB0aGUgPGZpbGVuYW1lPmxvY2FsLmNvbmY8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIGZpbGUuCiAgICAgICAgICAgICAgICAgICAgIEFzIGFuIGV4YW1wbGUsIHN1cHBvc2UgeW91IGhhZCBjb25maWd1cmF0aW9uIGZpbGVzCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1tZXRhZGF0YS54bWwgYi9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1tZXRhZGF0YS54bWwKaW5kZXggZDkxZjQzNy4uMTk5YWIyMyAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtbWV0YWRhdGEueG1sCisrKyBiL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLW1ldGFkYXRhLnhtbApAQCAtNTk1LDcgKzU5NSw3IEBACiAKICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICBCaXRCYWtlIHVzZXMKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1PVkVSUklERVMnPjxmaWxlbmFtZT5PVkVSUklERVM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1PVkVSUklERVMnPjxmaWxlbmFtZT5PVkVSUklERVM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIHRvIGNvbnRyb2wgd2hhdCB2YXJpYWJsZXMgYXJlIG92ZXJyaWRkZW4gYWZ0ZXIgQml0QmFrZQogICAgICAgICAgICAgcGFyc2VzIHJlY2lwZXMgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMuCiAgICAgICAgICAgICBUaGlzIHNlY3Rpb24gZGVzY3JpYmVzIGhvdyB5b3UgY2FuIHVzZQpAQCAtNzA1LDcgKzcwNSw3IEBACiAKICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXJhPkludGVybmFsbHksIHRoaXMgaXMgaW1wbGVtZW50ZWQgYnkgcHJlcGVuZGluZwogICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHRhc2sgKGUuZy4gInRhc2stY29tcGlsZToiKSB0byB0aGUgdmFsdWUgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1PVkVSUklERVMnPjxmaWxlbmFtZT5PVkVSUklERVM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1PVkVSUklERVMnPjxmaWxlbmFtZT5PVkVSUklERVM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgbG9jYWwgZGF0YXN0b3JlIG9mIHRoZSA8ZmlsZW5hbWU+ZG9fY29tcGlsZTwvZmlsZW5hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICB0YXNrLjwvcGFyYT4KIApAQCAtODY4LDcgKzg2OCw3IEBACiAKICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgIEJpdEJha2UgdXNlcyB0aGUKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCUEFUSCc+PGZpbGVuYW1lPkJCUEFUSDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgIHZhcmlhYmxlIHRvIGxvY2F0ZSBuZWVkZWQgaW5jbHVkZSBhbmQgY2xhc3MgZmlsZXMuCiAgICAgICAgICAgICAgICAgQWRkaXRpb25hbGx5LCBCaXRCYWtlIHNlYXJjaGVzIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBmb3IKICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+aW5jbHVkZTwvZmlsZW5hbWU+IGFuZCA8ZmlsZW5hbWU+cmVxdWlyZTwvZmlsZW5hbWU+CkBAIC0xMDg2LDcgKzEwODYsNyBAQAogICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgV2hlbiBjcmVhdGluZyBhIGNvbmZpZ3VyYXRpb24gZmlsZSAoPGZpbGVuYW1lPi5jb25mPC9maWxlbmFtZT4pLAogICAgICAgICAgICAgICAgIHlvdSBjYW4gdXNlIHRoZQotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1JTkhFUklUJz48ZmlsZW5hbWU+SU5IRVJJVDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1JTkhFUklUJz48ZmlsZW5hbWU+SU5IRVJJVDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gZGlyZWN0aXZlIHRvIGluaGVyaXQgYSBjbGFzcy4KICAgICAgICAgICAgICAgICBCaXRCYWtlIG9ubHkgc3VwcG9ydHMgdGhpcyBkaXJlY3RpdmUgd2hlbiB1c2VkIHdpdGhpbgogICAgICAgICAgICAgICAgIGEgY29uZmlndXJhdGlvbiBmaWxlLgpAQCAtMTM3MCw3ICsxMzcwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CiAgICAgICAgICAgICAgICAgICAgICAgICBCaXRCYWtlLXN0eWxlIFB5dGhvbiBmdW5jdGlvbnMgZ2VuZXJhdGUgYSBzZXBhcmF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7PC9maWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItVCc+PGZpbGVuYW1lPlQ8L2ZpbGVuYW1lPjwvbGluaz48ZmlsZW5hbWU+fS9ydW4uPC9maWxlbmFtZT48cmVwbGFjZWFibGU+ZnVuY3Rpb24tbmFtZTwvcmVwbGFjZWFibGU+PGZpbGVuYW1lPi48L2ZpbGVuYW1lPjxyZXBsYWNlYWJsZT5waWQ8L3JlcGxhY2VhYmxlPgorICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7PC9maWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItYmItVCc+PGZpbGVuYW1lPlQ8L2ZpbGVuYW1lPjwvbGluaz48ZmlsZW5hbWU+fS9ydW4uPC9maWxlbmFtZT48cmVwbGFjZWFibGU+ZnVuY3Rpb24tbmFtZTwvcmVwbGFjZWFibGU+PGZpbGVuYW1lPi48L2ZpbGVuYW1lPjxyZXBsYWNlYWJsZT5waWQ8L3JlcGxhY2VhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0IHRoYXQgaXMgZXhlY3V0ZWQgdG8gcnVuIHRoZSBmdW5jdGlvbiwgYW5kIGFsc28KICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlIGEgbG9nIGZpbGUgaW4KICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT4ke1R9L2xvZy48L2ZpbGVuYW1lPjxyZXBsYWNlYWJsZT5mdW5jdGlvbi1uYW1lPC9yZXBsYWNlYWJsZT48ZmlsZW5hbWU+LjwvZmlsZW5hbWU+PHJlcGxhY2VhYmxlPnBpZDwvcmVwbGFjZWFibGU+CkBAIC0xNzczLDcgKzE3NzMsNyBAQAogICAgICAgICAgICAgICAgICAgICB0aGluZ3MgZXhwb3J0ZWQgb3IgbGlzdGVkIGluIGl0cyB3aGl0ZWxpc3QgdG8gZW5zdXJlIHRoYXQgdGhlIGJ1aWxkCiAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50IGlzIHJlcHJvZHVjaWJsZSBhbmQgY29uc2lzdGVudC4KICAgICAgICAgICAgICAgICAgICAgWW91IGNhbiBwcmV2ZW50IHRoaXMgImNsZWFuaW5nIiBieSBzZXR0aW5nIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfUFJFU0VSVkVfRU5WJz48ZmlsZW5hbWU+QkJfUFJFU0VSVkVfRU5WPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9QUkVTRVJWRV9FTlYnPjxmaWxlbmFtZT5CQl9QUkVTRVJWRV9FTlY8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgICAgICAgICAgPC9ub3RlPgogICAgICAgICAgICAgICAgIENvbnNlcXVlbnRseSwgaWYgeW91IGRvIHdhbnQgc29tZXRoaW5nIHRvIGdldCBwYXNzZWQgaW50byB0aGUKQEAgLTE3ODMsOSArMTc4Myw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBUZWxsIEJpdEJha2UgdG8gbG9hZCB3aGF0IHlvdSB3YW50IGZyb20gdGhlIGVudmlyb25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnRvIHRoZSBkYXRhc3RvcmUuCiAgICAgICAgICAgICAgICAgICAgICAgICBZb3UgY2FuIGRvIHNvIHRocm91Z2ggdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfRU5WX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX0VOVl9XSElURUxJU1Q8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9FTlZfV0hJVEVMSVNUJz48ZmlsZW5hbWU+QkJfRU5WX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICAgICAgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfRU5WX0VYVFJBV0hJVEUnPjxmaWxlbmFtZT5CQl9FTlZfRVhUUkFXSElURTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX0VOVl9FWFRSQVdISVRFJz48ZmlsZW5hbWU+QkJfRU5WX0VYVFJBV0hJVEU8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlcy4KICAgICAgICAgICAgICAgICAgICAgICAgIEZvciBleGFtcGxlLCBhc3N1bWUgeW91IHdhbnQgdG8gcHJldmVudCB0aGUgYnVpbGQgc3lzdGVtIGZyb20KICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2luZyB5b3VyIDxmaWxlbmFtZT4kSE9NRS8uY2NhY2hlPC9maWxlbmFtZT4KQEAgLTE4MjQsNyArMTgyNCw3IEBACiAgICAgICAgICAgICAgICAgZnJvbSB0aGUgb3JpZ2luYWwgZXhlY3V0aW9uIGVudmlyb25tZW50LgogICAgICAgICAgICAgICAgIEJpdGJha2Ugc2F2ZXMgYSBjb3B5IG9mIHRoZSBvcmlnaW5hbCBlbnZpcm9ubWVudCBpbnRvCiAgICAgICAgICAgICAgICAgYSBzcGVjaWFsIHZhcmlhYmxlIG5hbWVkCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX09SSUdFTlYnPjxmaWxlbmFtZT5CQl9PUklHRU5WPC9maWxlbmFtZT48L2xpbms+LgorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9PUklHRU5WJz48ZmlsZW5hbWU+QkJfT1JJR0VOVjwvZmlsZW5hbWU+PC9saW5rPi4KICAgICAgICAgICAgIDwvcGFyYT4KIAogICAgICAgICAgICAgPHBhcmE+CkBAIC0xODgzLDcgKzE4ODMsNyBAQAogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+PGZpbGVuYW1lPltkZXBlbmRzXTwvZmlsZW5hbWU+OjwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xzIGludGVyLXRhc2sgZGVwZW5kZW5jaWVzLgogICAgICAgICAgICAgICAgICAgICBTZWUgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItREVQRU5EUyc+PGZpbGVuYW1lPkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgYW5kIHRoZQogICAgICAgICAgICAgICAgICAgICAiPGxpbmsgbGlua2VuZD0naW50ZXItdGFzay1kZXBlbmRlbmNpZXMnPkludGVyLVRhc2sgRGVwZW5kZW5jaWVzPC9saW5rPiIKICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KQEAgLTE4OTEsNyArMTg5MSw3IEBACiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz48ZmlsZW5hbWU+W2RlcHRhc2tdPC9maWxlbmFtZT46PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgQ29udHJvbHMgdGFzayBidWlsZC10aW1lIGRlcGVuZGVuY2llcy4KICAgICAgICAgICAgICAgICAgICAgU2VlIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItREVQRU5EUyc+PGZpbGVuYW1lPkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURFUEVORFMnPjxmaWxlbmFtZT5ERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIGFuZCB0aGUKICAgICAgICAgICAgICAgICAgICAgIjxsaW5rIGxpbmtlbmQ9J2J1aWxkLWRlcGVuZGVuY2llcyc+QnVpbGQgRGVwZW5kZW5jaWVzPC9saW5rPiIKICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KQEAgLTE5MzcsNyArMTkzNyw3IEBACiAgICAgICAgICAgICAgICAgICAgIG9mIGNvcmVzIGJ1dCBjZXJ0YWluIHRhc2tzIG5lZWQgdG8gYmUgcmF0ZS1saW1pdGVkIGR1ZSB0byB2YXJpb3VzCiAgICAgICAgICAgICAgICAgICAgIGtpbmRzIG9mIHJlc291cmNlIGNvbnN0cmFpbnRzIChlLmcuIHRvIGF2b2lkIG5ldHdvcmsgdGhyb3R0bGluZykuCiAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5udW1iZXJfdGhyZWFkczwvZmlsZW5hbWU+IHdvcmtzIHNpbWlsYXJseSB0byB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX05VTUJFUl9USFJFQURTJz48ZmlsZW5hbWU+QkJfTlVNQkVSX1RIUkVBRFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX05VTUJFUl9USFJFQURTJz48ZmlsZW5hbWU+QkJfTlVNQkVSX1RIUkVBRFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgYnV0IGlzIHRhc2stc3BlY2lmaWMuPC9wYXJhPgogCiAgICAgICAgICAgICAgICAgICAgIDxwYXJhPlNldCB0aGUgdmFsdWUgZ2xvYmFsbHkuCkBAIC0xOTcxLDkgKzE5NzEsOSBAQAogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+PGZpbGVuYW1lPltyZGVwZW5kc108L2ZpbGVuYW1lPjo8L2VtcGhhc2lzPgogICAgICAgICAgICAgICAgICAgICBDb250cm9scyBpbnRlci10YXNrIHJ1bnRpbWUgZGVwZW5kZW5jaWVzLgogICAgICAgICAgICAgICAgICAgICBTZWUgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1SREVQRU5EUyc+PGZpbGVuYW1lPlJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SREVQRU5EUyc+PGZpbGVuYW1lPlJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLCB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJSRUNPTU1FTkRTJz48ZmlsZW5hbWU+UlJFQ09NTUVORFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVJSRUNPTU1FTkRTJz48ZmlsZW5hbWU+UlJFQ09NTUVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUsIGFuZCB0aGUKICAgICAgICAgICAgICAgICAgICAgIjxsaW5rIGxpbmtlbmQ9J2ludGVyLXRhc2stZGVwZW5kZW5jaWVzJz5JbnRlci1UYXNrIERlcGVuZGVuY2llczwvbGluaz4iCiAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uCkBAIC0xOTgxLDkgKzE5ODEsOSBAQAogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+PGZpbGVuYW1lPltyZGVwdGFza108L2ZpbGVuYW1lPjo8L2VtcGhhc2lzPgogICAgICAgICAgICAgICAgICAgICBDb250cm9scyB0YXNrIHJ1bnRpbWUgZGVwZW5kZW5jaWVzLgogICAgICAgICAgICAgICAgICAgICBTZWUgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1SREVQRU5EUyc+PGZpbGVuYW1lPlJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SREVQRU5EUyc+PGZpbGVuYW1lPlJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLCB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJSRUNPTU1FTkRTJz48ZmlsZW5hbWU+UlJFQ09NTUVORFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVJSRUNPTU1FTkRTJz48ZmlsZW5hbWU+UlJFQ09NTUVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUsIGFuZCB0aGUKICAgICAgICAgICAgICAgICAgICAgIjxsaW5rIGxpbmtlbmQ9J3J1bnRpbWUtZGVwZW5kZW5jaWVzJz5SdW50aW1lIERlcGVuZGVuY2llczwvbGluaz4iCiAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uCkBAIC0xOTk2LDkgKzE5OTYsOSBAQAogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+PGZpbGVuYW1lPltyZWNyZGVwdGFza108L2ZpbGVuYW1lPjo8L2VtcGhhc2lzPgogICAgICAgICAgICAgICAgICAgICBDb250cm9scyB0YXNrIHJlY3Vyc2l2ZSBydW50aW1lIGRlcGVuZGVuY2llcy4KICAgICAgICAgICAgICAgICAgICAgU2VlIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUkRFUEVORFMnPjxmaWxlbmFtZT5SREVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUkRFUEVORFMnPjxmaWxlbmFtZT5SREVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSwgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1SUkVDT01NRU5EUyc+PGZpbGVuYW1lPlJSRUNPTU1FTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SUkVDT01NRU5EUyc+PGZpbGVuYW1lPlJSRUNPTU1FTkRTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLCBhbmQgdGhlCiAgICAgICAgICAgICAgICAgICAgICI8bGluayBsaW5rZW5kPSdyZWN1cnNpdmUtZGVwZW5kZW5jaWVzJz5SZWN1cnNpdmUgRGVwZW5kZW5jaWVzPC9saW5rPiIKICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KQEAgLTIxMjcsNyArMjEyNyw3IEBACiAgICAgICAgICAgICAgICAgICAgIEFueSBnaXZlbiBkYXRhc3RvcmUgb25seSBoYXMgb25lIHN1Y2ggZXZlbnQgZXhlY3V0ZWQKICAgICAgICAgICAgICAgICAgICAgYWdhaW5zdCBpdCwgaG93ZXZlci4KICAgICAgICAgICAgICAgICAgICAgSWYKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZGU9J3Zhci1CQl9JTlZBTElEQ09ORic+PGZpbGVuYW1lPkJCX0lOVkFMSURDT05GPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmRlPSd2YXItYmItQkJfSU5WQUxJRENPTkYnPjxmaWxlbmFtZT5CQl9JTlZBTElEQ09ORjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICBpcyBzZXQgaW4gdGhlIGRhdGFzdG9yZSBieSB0aGUgZXZlbnQgaGFuZGxlciwgdGhlCiAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gaXMgcmVwYXJzZWQgYW5kIGEgbmV3IGV2ZW50IHRyaWdnZXJlZCwKICAgICAgICAgICAgICAgICAgICAgYWxsb3dpbmcgdGhlIG1ldGFkYXRhIHRvIHVwZGF0ZSBjb25maWd1cmF0aW9uLgpAQCAtMjI1NiwxNyArMjI1NiwxNyBAQAogICAgICAgICAgICAgZnJvbSBhIHNpbmdsZSByZWNpcGUgZmlsZSBtdWx0aXBsZSBpbmNhcm5hdGlvbnMgb2YgdGhhdAogICAgICAgICAgICAgcmVjaXBlIGZpbGUgd2hlcmUgYWxsIGluY2FybmF0aW9ucyBhcmUgYnVpbGRhYmxlLgogICAgICAgICAgICAgVGhlc2UgZmVhdHVyZXMgYXJlIGVuYWJsZWQgdGhyb3VnaCB0aGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQkNMQVNTRVhURU5EJz48ZmlsZW5hbWU+QkJDTEFTU0VYVEVORDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCQ0xBU1NFWFRFTkQnPjxmaWxlbmFtZT5CQkNMQVNTRVhURU5EPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICBhbmQKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQlZFUlNJT05TJz48ZmlsZW5hbWU+QkJWRVJTSU9OUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCVkVSU0lPTlMnPjxmaWxlbmFtZT5CQlZFUlNJT05TPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICB2YXJpYWJsZXMuCiAgICAgICAgICAgICA8bm90ZT4KICAgICAgICAgICAgICAgICBUaGUgbWVjaGFuaXNtIGZvciB0aGlzIGNsYXNzIGV4dGVuc2lvbiBpcyBleHRyZW1lbHkKICAgICAgICAgICAgICAgICBzcGVjaWZpYyB0byB0aGUgaW1wbGVtZW50YXRpb24uCiAgICAgICAgICAgICAgICAgVXN1YWxseSwgdGhlIHJlY2lwZSdzCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBST1ZJREVTJz48ZmlsZW5hbWU+UFJPVklERVM8L2ZpbGVuYW1lPjwvbGluaz4sCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBOJz48ZmlsZW5hbWU+UE48L2ZpbGVuYW1lPjwvbGluaz4sIGFuZAotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QUk9WSURFUyc+PGZpbGVuYW1lPlBST1ZJREVTPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QTic+PGZpbGVuYW1lPlBOPC9maWxlbmFtZT48L2xpbms+LCBhbmQKKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItREVQRU5EUyc+PGZpbGVuYW1lPkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICB2YXJpYWJsZXMgd291bGQgbmVlZCB0byBiZSBtb2RpZmllZCBieSB0aGUgZXh0ZW5zaW9uIGNsYXNzLgogICAgICAgICAgICAgICAgIEZvciBzcGVjaWZpYyBleGFtcGxlcywgc2VlIHRoZSBPRS1Db3JlCiAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPm5hdGl2ZTwvZmlsZW5hbWU+LCA8ZmlsZW5hbWU+bmF0aXZlc2RrPC9maWxlbmFtZT4sCkBAIC0yMjg3LDcgKzIyODcsNyBAQAogICAgICAgICAgICAgICAgICAgICBwcm9qZWN0IGZyb20gYSBzaW5nbGUgcmVjaXBlIGZpbGUuCiAgICAgICAgICAgICAgICAgICAgIFlvdSBjYW4gYWxzbyBzcGVjaWZ5IGNvbmRpdGlvbmFsIG1ldGFkYXRhCiAgICAgICAgICAgICAgICAgICAgICh1c2luZyB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLU9WRVJSSURFUyc+PGZpbGVuYW1lPk9WRVJSSURFUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItT1ZFUlJJREVTJz48ZmlsZW5hbWU+T1ZFUlJJREVTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIG1lY2hhbmlzbSkgZm9yIGEgc2luZ2xlIHZlcnNpb24sIG9yIGFuIG9wdGlvbmFsbHkgbmFtZWQgcmFuZ2Ugb2YgdmVyc2lvbnMuCiAgICAgICAgICAgICAgICAgICAgIEhlcmUgaXMgYW4gZXhhbXBsZToKICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgpAQCAtMjMwNiw3ICsyMzA2LDcgQEAKICAgICAgICAgICAgICAgICAgICAgaW50byBvdmVycmlkZXMsIGJ1dCBpdCBpcyBhbHNvIG1hZGUgYXZhaWxhYmxlIGZvciB0aGUgbWV0YWRhdGEgdG8gdXNlCiAgICAgICAgICAgICAgICAgICAgIGluIHRoZSB2YXJpYWJsZSB0aGF0IGRlZmluZXMgdGhlIGJhc2UgcmVjaXBlIHZlcnNpb25zIGZvciB1c2UgaW4KICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPmZpbGU6Ly88L2ZpbGVuYW1lPiBzZWFyY2ggcGF0aHMKLSAgICAgICAgICAgICAgICAgICAgKDxsaW5rIGxpbmtlbmQ9J3Zhci1GSUxFU1BBVEgnPjxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPjwvbGluaz4pLgorICAgICAgICAgICAgICAgICAgICAoPGxpbmsgbGlua2VuZD0ndmFyLWJiLUZJTEVTUEFUSCc+PGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+PC9saW5rPikuCiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CiAgICAgICAgIDwvcGFyYT4KQEAgLTI0MDgsNyArMjQwOCw3IEBACiAKICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgIEJpdEJha2UgdXNlcyB0aGUKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItREVQRU5EUyc+PGZpbGVuYW1lPkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItREVQRU5EUyc+PGZpbGVuYW1lPkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICB2YXJpYWJsZSB0byBtYW5hZ2UgYnVpbGQgdGltZSBkZXBlbmRlbmNpZXMuCiAgICAgICAgICAgICAgICAgVGhlIDxmaWxlbmFtZT5bZGVwdGFza108L2ZpbGVuYW1lPiB2YXJmbGFnIGZvciB0YXNrcwogICAgICAgICAgICAgICAgIHNpZ25pZmllcyB0aGUgdGFzayBvZiBlYWNoCkBAIC0yNDI5LDkgKzI0MjksOSBAQAogCiAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICBCaXRCYWtlIHVzZXMgdGhlCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBBQ0tBR0VTJz48ZmlsZW5hbWU+UEFDS0FHRVM8L2ZpbGVuYW1lPjwvbGluaz4sCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4sIGFuZAotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1SUkVDT01NRU5EUyc+PGZpbGVuYW1lPlJSRUNPTU1FTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBBQ0tBR0VTJz48ZmlsZW5hbWU+UEFDS0FHRVM8L2ZpbGVuYW1lPjwvbGluaz4sCisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4sIGFuZAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SUkVDT01NRU5EUyc+PGZpbGVuYW1lPlJSRUNPTU1FTkRTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgdmFyaWFibGVzIHRvIG1hbmFnZSBydW50aW1lIGRlcGVuZGVuY2llcy4KICAgICAgICAgICAgIDwvcGFyYT4KIApAQCAtMjY4Niw3ICsyNjg2LDcgQEAKIAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIFRoZXNlIGNoZWNrc3VtcyBhcmUgc3RvcmVkIGluCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1RBTVAnPjxmaWxlbmFtZT5TVEFNUDwvZmlsZW5hbWU+PC9saW5rPi4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TVEFNUCc+PGZpbGVuYW1lPlNUQU1QPC9maWxlbmFtZT48L2xpbms+LgogICAgICAgICAgICAgWW91IGNhbiBleGFtaW5lIHRoZSBjaGVja3N1bXMgdXNpbmcgdGhlIGZvbGxvd2luZyBCaXRCYWtlIGNvbW1hbmQ6CiAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CiAgICAgICQgYml0YmFrZS1kdW1wc2lncwpAQCAtMjcwOCw0NCArMjcwOCw0NCBAQAogICAgICAgICAgICAgVGhlIGZvbGxvd2luZyBsaXN0IGRlc2NyaWJlcyByZWxhdGVkIHZhcmlhYmxlczoKICAgICAgICAgICAgIDxpdGVtaXplZGxpc3Q+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfSEFTSENIRUNLX0ZVTkNUSU9OJz48ZmlsZW5hbWU+QkJfSEFTSENIRUNLX0ZVTkNUSU9OPC9maWxlbmFtZT48L2xpbms+OgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfSEFTSENIRUNLX0ZVTkNUSU9OJz48ZmlsZW5hbWU+QkJfSEFTSENIRUNLX0ZVTkNUSU9OPC9maWxlbmFtZT48L2xpbms+OgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uIHRvIGNhbGwgZHVyaW5nCiAgICAgICAgICAgICAgICAgICAgIHRoZSAic2V0c2NlbmUiIHBhcnQgb2YgdGhlIHRhc2sncyBleGVjdXRpb24gaW4gb3JkZXIKICAgICAgICAgICAgICAgICAgICAgdG8gdmFsaWRhdGUgdGhlIGxpc3Qgb2YgdGFzayBoYXNoZXMuCiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NFVFNDRU5FX0RFUFZBTElEJz48ZmlsZW5hbWU+QkJfU0VUU0NFTkVfREVQVkFMSUQ8L2ZpbGVuYW1lPjwvbGluaz46CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9TRVRTQ0VORV9ERVBWQUxJRCc+PGZpbGVuYW1lPkJCX1NFVFNDRU5FX0RFUFZBTElEPC9maWxlbmFtZT48L2xpbms+OgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgYSBmdW5jdGlvbiBCaXRCYWtlIGNhbGxzIHRoYXQgZGV0ZXJtaW5lcwogICAgICAgICAgICAgICAgICAgICB3aGV0aGVyIEJpdEJha2UgcmVxdWlyZXMgYSBzZXRzY2VuZSBkZXBlbmRlbmN5IHRvCiAgICAgICAgICAgICAgICAgICAgIGJlIG1ldC4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfU0VUU0NFTkVfVkVSSUZZX0ZVTkNUSU9OMic+PGZpbGVuYW1lPkJCX1NFVFNDRU5FX1ZFUklGWV9GVU5DVElPTjI8L2ZpbGVuYW1lPjwvbGluaz46CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9TRVRTQ0VORV9WRVJJRllfRlVOQ1RJT04yJz48ZmlsZW5hbWU+QkJfU0VUU0NFTkVfVkVSSUZZX0ZVTkNUSU9OMjwvZmlsZW5hbWU+PC9saW5rPjoKICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIGEgZnVuY3Rpb24gdG8gY2FsbCB0aGF0IHZlcmlmaWVzIHRoZSBsaXN0IG9mCiAgICAgICAgICAgICAgICAgICAgIHBsYW5uZWQgdGFzayBleGVjdXRpb24gYmVmb3JlIHRoZSBtYWluIHRhc2sgZXhlY3V0aW9uCiAgICAgICAgICAgICAgICAgICAgIGhhcHBlbnMuCiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NUQU1QX1BPTElDWSc+PGZpbGVuYW1lPkJCX1NUQU1QX1BPTElDWTwvZmlsZW5hbWU+PC9saW5rPjoKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1NUQU1QX1BPTElDWSc+PGZpbGVuYW1lPkJCX1NUQU1QX1BPTElDWTwvZmlsZW5hbWU+PC9saW5rPjoKICAgICAgICAgICAgICAgICAgICAgRGVmaW5lcyB0aGUgbW9kZSBmb3IgY29tcGFyaW5nIHRpbWVzdGFtcHMgb2Ygc3RhbXAgZmlsZXMuCiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NUQU1QX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX1NUQU1QX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPjoKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1NUQU1QX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX1NUQU1QX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPjoKICAgICAgICAgICAgICAgICAgICAgTGlzdHMgc3RhbXAgZmlsZXMgdGhhdCBhcmUgbG9va2VkIGF0IHdoZW4gdGhlIHN0YW1wIHBvbGljeQogICAgICAgICAgICAgICAgICAgICBpcyAid2hpdGVsaXN0Ii4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfVEFTS0hBU0gnPjxmaWxlbmFtZT5CQl9UQVNLSEFTSDwvZmlsZW5hbWU+PC9saW5rPjoKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1RBU0tIQVNIJz48ZmlsZW5hbWU+QkJfVEFTS0hBU0g8L2ZpbGVuYW1lPjwvbGluaz46CiAgICAgICAgICAgICAgICAgICAgIFdpdGhpbiBhbiBleGVjdXRpbmcgdGFzaywgdGhpcyB2YXJpYWJsZSBob2xkcyB0aGUgaGFzaAogICAgICAgICAgICAgICAgICAgICBvZiB0aGUgdGFzayBhcyByZXR1cm5lZCBieSB0aGUgY3VycmVudGx5IGVuYWJsZWQKICAgICAgICAgICAgICAgICAgICAgc2lnbmF0dXJlIGdlbmVyYXRvci4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1RBTVAnPjxmaWxlbmFtZT5TVEFNUDwvZmlsZW5hbWU+PC9saW5rPjoKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNUQU1QJz48ZmlsZW5hbWU+U1RBTVA8L2ZpbGVuYW1lPjwvbGluaz46CiAgICAgICAgICAgICAgICAgICAgIFRoZSBiYXNlIHBhdGggdG8gY3JlYXRlIHN0YW1wIGZpbGVzLgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TVEFNUENMRUFOJz48ZmlsZW5hbWU+U1RBTVBDTEVBTjwvZmlsZW5hbWU+PC9saW5rPjoKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNUQU1QQ0xFQU4nPjxmaWxlbmFtZT5TVEFNUENMRUFOPC9maWxlbmFtZT48L2xpbms+OgogICAgICAgICAgICAgICAgICAgICBBZ2FpbiwgdGhlIGJhc2UgcGF0aCB0byBjcmVhdGUgc3RhbXAgZmlsZXMgYnV0IGNhbiB1c2Ugd2lsZGNhcmRzCiAgICAgICAgICAgICAgICAgICAgIGZvciBtYXRjaGluZyBhIHJhbmdlIG9mIGZpbGVzIGZvciBjbGVhbiBvcGVyYXRpb25zLgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLXJlZi12YXJpYWJsZXMueG1sIGIvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtcmVmLXZhcmlhYmxlcy54bWwKaW5kZXggYTg0YjJiYy4uYWNhNjc0MSAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtcmVmLXZhcmlhYmxlcy54bWwKKysrIGIvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtcmVmLXZhcmlhYmxlcy54bWwKQEAgLTMsNyArMyw3IEBACiBbPCFFTlRJVFkgJSBwb2t5IFNZU1RFTSAiLi4vcG9reS5lbnQiPiAlcG9reTsgXSA+CiAKIDwhLS0gRHVtbXkgY2hhcHRlciAtLT4KLTxjaGFwdGVyIGlkPSdyZWYtdmFyaWFibGVzLWdsb3MnPgorPGNoYXB0ZXIgaWQ9J3JlZi1iYi12YXJpYWJsZXMtZ2xvcyc+CiAKIDx0aXRsZT5WYXJpYWJsZXMgR2xvc3Nhcnk8L3RpdGxlPgogCkBAIC0zNCwyOSArMzQsMjkgQEAKICAgICA8L2l0ZW1pemVkbGlzdD4KIDwvbm90ZT4KIAotPGdsb3NzYXJ5IGlkPSdyZWYtdmFyaWFibGVzLWdsb3NzYXJ5Jz4KKzxnbG9zc2FyeSBpZD0ncmVmLWJiLXZhcmlhYmxlcy1nbG9zc2FyeSc+CiAKICAgICA8cGFyYT4KLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQVNTVU1FX1BST1ZJREVEJz5BPC9saW5rPgotICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CJz5CPC9saW5rPgotICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1DQUNIRSc+QzwvbGluaz4KLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItREVGQVVMVF9QUkVGRVJFTkNFJz5EPC9saW5rPgotICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1FWENMVURFX0ZST01fV09STEQnPkU8L2xpbms+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUZBS0VST09UJz5GPC9saW5rPgotICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1HSVRESVInPkc8L2xpbms+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUhHRElSJz5IPC9saW5rPgotPCEtLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItSUNFQ0NfRElTQUJMRUQnPkk8L2xpbms+IC0tPgorICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1BU1NVTUVfUFJPVklERUQnPkE8L2xpbms+CisgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUInPkI8L2xpbms+CisgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUNBQ0hFJz5DPC9saW5rPgorICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERUZBVUxUX1BSRUZFUkVOQ0UnPkQ8L2xpbms+CisgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUVYQ0xVREVfRlJPTV9XT1JMRCc+RTwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItRkFLRVJPT1QnPkY8L2xpbms+CisgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUdJVERJUic+RzwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItSEdESVInPkg8L2xpbms+CisgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUlOSEVSSVQnPkk8L2xpbms+CiA8IS0tICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWdsb3NzYXJ5LWonPko8L2xpbms+IC0tPgogPCEtLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItS0FSQ0gnPks8L2xpbms+IC0tPgotICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1MQVlFUkRFUEVORFMnPkw8L2xpbms+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLU1JUlJPUlMnPk08L2xpbms+CisgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUxBWUVSREVQRU5EUyc+TDwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItTUlSUk9SUyc+TTwvbGluaz4KIDwhLS0gICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItZ2xvc3Nhcnktbic+TjwvbGluaz4gLS0+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLU9WRVJSSURFUyc+TzwvbGluaz4KLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUDRESVInPlA8L2xpbms+CisgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLU9WRVJSSURFUyc+TzwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUDRESVInPlA8L2xpbms+CiA8IS0tICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1RTUFLRV9QUk9GSUxFUyc+UTwvbGluaz4gLS0+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJERVBFTkRTJz5SPC9saW5rPgotICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TRUNUSU9OJz5TPC9saW5rPgotICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1UJz5UPC9saW5rPgorICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SREVQRU5EUyc+UjwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItU0VDVElPTic+UzwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItVCc+VDwvbGluaz4KIDwhLS0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVVCT09UX0NPTkZJRyc+VTwvbGluaz4gLS0+CiA8IS0tICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWdsb3NzYXJ5LXYnPlY8L2xpbms+IC0tPgogPCEtLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItV0FSTl9RQSc+VzwvbGluaz4gLS0+CkBAIC02NSwxMyArNjUsMTMgQEAKIDwhLS0gICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItZ2xvc3Nhcnkteic+WjwvbGluaz4tLT4KICAgICA8L3BhcmE+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1hJz48dGl0bGU+QTwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktYSc+PHRpdGxlPkE8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQVNTVU1FX1BST1ZJREVEJz48Z2xvc3N0ZXJtPkFTU1VNRV9QUk9WSURFRDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUFTU1VNRV9QUk9WSURFRCc+PGdsb3NzdGVybT5BU1NVTUVfUFJPVklERUQ8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgTGlzdHMgcmVjaXBlIG5hbWVzCi0gICAgICAgICAgICAgICAgICAgICg8bGluayBsaW5rZW5kPSd2YXItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAoPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBOJz48ZmlsZW5hbWU+UE48L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzKSBCaXRCYWtlIGRvZXMgbm90IGF0dGVtcHQgdG8gYnVpbGQuCiAgICAgICAgICAgICAgICAgICAgIEluc3RlYWQsIEJpdEJha2UgYXNzdW1lcyB0aGVzZSByZWNpcGVzIGhhdmUgYWxyZWFkeSBiZWVuCiAgICAgICAgICAgICAgICAgICAgIGJ1aWx0LgpAQCAtOTEsOSArOTEsOSBAQAogICAgIDwvZ2xvc3NkaXY+CiAKIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LWInPjx0aXRsZT5CPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1iJz48dGl0bGU+QjwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CJz48Z2xvc3N0ZXJtPkI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CJz48Z2xvc3N0ZXJtPkI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGRpcmVjdG9yeSBpbiB3aGljaCBCaXRCYWtlIGV4ZWN1dGVzIGZ1bmN0aW9ucwpAQCAtMTAyLDcgKzEwMiw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9BTExPV0VEX05FVFdPUktTJz48Z2xvc3N0ZXJtPkJCX0FMTE9XRURfTkVUV09SS1M8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9BTExPV0VEX05FVFdPUktTJz48Z2xvc3N0ZXJtPkJCX0FMTE9XRURfTkVUV09SS1M8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIGEgc3BhY2UtZGVsaW1pdGVkIGxpc3Qgb2YgaG9zdHMgdGhhdCB0aGUgZmV0Y2hlcgpAQCAtMTExLDcgKzExMSw3IEBACiAgICAgICAgICAgICAgICAgICAgIDxpdGVtaXplZGxpc3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBob3N0IGxpc3QgaXMgb25seSB1c2VkIGlmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX05PX05FVFdPUksnPjxmaWxlbmFtZT5CQl9OT19ORVRXT1JLPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX05PX05FVFdPUksnPjxmaWxlbmFtZT5CQl9OT19ORVRXT1JLPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgZWl0aGVyIG5vdCBzZXQgb3Igc2V0IHRvICIwIi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KQEAgLTE1MSwxMyArMTUxLDEzIEBACiAgICAgICAgICAgICAgICAgICAgIDwvaXRlbWl6ZWRsaXN0PgogICAgICAgICAgICAgICAgICAgICBVc2luZyA8ZmlsZW5hbWU+QkJfQUxMT1dFRF9ORVRXT1JLUzwvZmlsZW5hbWU+IGluCiAgICAgICAgICAgICAgICAgICAgIGNvbmp1bmN0aW9uIHdpdGgKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBSRU1JUlJPUlMnPjxmaWxlbmFtZT5QUkVNSVJST1JTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QUkVNSVJST1JTJz48ZmlsZW5hbWU+UFJFTUlSUk9SUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICBpcyB2ZXJ5IHVzZWZ1bC4KICAgICAgICAgICAgICAgICAgICAgQWRkaW5nIHRoZSBob3N0IHlvdSB3YW50IHRvIHVzZSB0bwogICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+UFJFTUlSUk9SUzwvZmlsZW5hbWU+IHJlc3VsdHMgaW4gdGhlIHNvdXJjZSBjb2RlCiAgICAgICAgICAgICAgICAgICAgIGJlaW5nIGZldGNoZWQgZnJvbSBhbiBhbGxvd2VkIGxvY2F0aW9uIGFuZCBhdm9pZHMgcmFpc2luZwogICAgICAgICAgICAgICAgICAgICBhbiBlcnJvciB3aGVuIGEgaG9zdCB0aGF0IGlzIG5vdCBhbGxvd2VkIGlzIGluIGEKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNSQ19VUkknPjxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TUkNfVVJJJz48ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQuCiAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgZmV0Y2hlciBkb2VzIG5vdCBhdHRlbXB0IHRvIHVzZSB0aGUKICAgICAgICAgICAgICAgICAgICAgaG9zdCBsaXN0ZWQgaW4gPGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPiBhZnRlciBhCkBAIC0xNjcsNyArMTY3LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0NPTlNPTEVMT0cnPjxnbG9zc3Rlcm0+QkJfQ09OU09MRUxPRzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0NPTlNPTEVMT0cnPjxnbG9zc3Rlcm0+QkJfQ09OU09MRUxPRzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgdGhlIHBhdGggdG8gYSBsb2cgZmlsZSBpbnRvIHdoaWNoIEJpdEJha2UncyB1c2VyCkBAIC0xNzYsNyArMTc2LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0NVUlJFTlRUQVNLJz48Z2xvc3N0ZXJtPkJCX0NVUlJFTlRUQVNLPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfQ1VSUkVOVFRBU0snPjxnbG9zc3Rlcm0+QkJfQ1VSUkVOVFRBU0s8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQ29udGFpbnMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBydW5uaW5nIHRhc2suCkBAIC0xODYsNyArMTg2LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0RBTkdMSU5HQVBQRU5EU19XQVJOT05MWSc+PGdsb3NzdGVybT5CQl9EQU5HTElOR0FQUEVORFNfV0FSTk9OTFk8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9EQU5HTElOR0FQUEVORFNfV0FSTk9OTFknPjxnbG9zc3Rlcm0+QkJfREFOR0xJTkdBUFBFTkRTX1dBUk5PTkxZPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIERlZmluZXMgaG93IEJpdEJha2UgaGFuZGxlcyBzaXR1YXRpb25zIHdoZXJlIGFuIGFwcGVuZApAQCAtMjA4LDcgKzIwOCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9ERUZBVUxUX1RBU0snPjxnbG9zc3Rlcm0+QkJfREVGQVVMVF9UQVNLPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfREVGQVVMVF9UQVNLJz48Z2xvc3N0ZXJtPkJCX0RFRkFVTFRfVEFTSzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBUaGUgZGVmYXVsdCB0YXNrIHRvIHVzZSB3aGVuIG5vbmUgaXMgc3BlY2lmaWVkIChlLmcuCkBAIC0yMTksNyArMjE5LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0RJU0tNT05fRElSUyc+PGdsb3NzdGVybT5CQl9ESVNLTU9OX0RJUlM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9ESVNLTU9OX0RJUlMnPjxnbG9zc3Rlcm0+QkJfRElTS01PTl9ESVJTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIE1vbml0b3JzIGRpc2sgc3BhY2UgYW5kIGF2YWlsYWJsZSBpbm9kZXMgZHVyaW5nIHRoZSBidWlsZApAQCAtMjQ1LDcgKzI0NSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgYnVpbGQgd2hlbiBhIHRocmVzaG9sZCBpcyBicm9rZW4uCiAgICAgICAgICAgICAgICAgICAgICAgU3Vic2VxdWVudCB3YXJuaW5ncyBhcmUgaXNzdWVkIGFzCiAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lZCBieSB0aGUKLSAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfRElTS01PTl9XQVJOSU5URVJWQUwnPkJCX0RJU0tNT05fV0FSTklOVEVSVkFMPC9saW5rPiB2YXJpYWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfRElTS01PTl9XQVJOSU5URVJWQUwnPkJCX0RJU0tNT05fV0FSTklOVEVSVkFMPC9saW5rPiB2YXJpYWJsZSwKICAgICAgICAgICAgICAgICAgICAgICB3aGljaCBtdXN0IGJlIGRlZmluZWQuCiAKICAgICAgICAgJmx0O2RpciZndDsgaXM6CkBAIC0yNzUsNyArMjc1LDcgQEAKICAgICAgQkJfRElTS01PTl9ESVJTID0gIkFCT1JULCR7VE1QRElSfSwsMTAwSyIKICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgICAgICAgICBUaGUgZmlyc3QgZXhhbXBsZSB3b3JrcyBvbmx5IGlmIHlvdSBhbHNvIHNldAotICAgICAgICAgICAgICAgICAgICB0aGUgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0RJU0tNT05fV0FSTklOVEVSVkFMJz48ZmlsZW5hbWU+QkJfRElTS01PTl9XQVJOSU5URVJWQUw8L2ZpbGVuYW1lPjwvbGluaz4gdmFyaWFibGUuCisgICAgICAgICAgICAgICAgICAgIHRoZSA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfRElTS01PTl9XQVJOSU5URVJWQUwnPjxmaWxlbmFtZT5CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTDwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZS4KICAgICAgICAgICAgICAgICAgICAgVGhpcyBleGFtcGxlIGNhdXNlcyB0aGUgYnVpbGQgc3lzdGVtIHRvIGltbWVkaWF0ZWx5CiAgICAgICAgICAgICAgICAgICAgIGFib3J0IHdoZW4gZWl0aGVyIHRoZSBkaXNrIHNwYWNlIGluIDxmaWxlbmFtZT4ke1RNUERJUn08L2ZpbGVuYW1lPiBkcm9wcwogICAgICAgICAgICAgICAgICAgICBiZWxvdyAxIEdieXRlIG9yIHRoZSBhdmFpbGFibGUgZnJlZSBpbm9kZXMgZHJvcHMgYmVsb3cKQEAgLTMwOSw3ICszMDksNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfRElTS01PTl9XQVJOSU5URVJWQUwnPjxnbG9zc3Rlcm0+QkJfRElTS01PTl9XQVJOSU5URVJWQUw8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTCc+PGdsb3NzdGVybT5CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBEZWZpbmVzIHRoZSBkaXNrIHNwYWNlIGFuZCBmcmVlIGlub2RlIHdhcm5pbmcgaW50ZXJ2YWxzLgpAQCAtMzE5LDcgKzMxOSw3IEBACiAgICAgICAgICAgICAgICAgICAgIElmIHlvdSBhcmUgZ29pbmcgdG8gdXNlIHRoZQogICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+QkJfRElTS01PTl9XQVJOSU5URVJWQUw8L2ZpbGVuYW1lPiB2YXJpYWJsZSwgeW91IG11c3QKICAgICAgICAgICAgICAgICAgICAgYWxzbyB1c2UgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9ESVNLTU9OX0RJUlMnPjxmaWxlbmFtZT5CQl9ESVNLTU9OX0RJUlM8L2ZpbGVuYW1lPjwvbGluaz4gdmFyaWFibGUKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX0RJU0tNT05fRElSUyc+PGZpbGVuYW1lPkJCX0RJU0tNT05fRElSUzwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZQogICAgICAgICAgICAgICAgICAgICBhbmQgZGVmaW5lIGl0cyBhY3Rpb24gYXMgIldBUk4iLgogICAgICAgICAgICAgICAgICAgICBEdXJpbmcgdGhlIGJ1aWxkLCBzdWJzZXF1ZW50IHdhcm5pbmdzIGFyZSBpc3N1ZWQgZWFjaCB0aW1lCiAgICAgICAgICAgICAgICAgICAgIGRpc2sgc3BhY2Ugb3IgbnVtYmVyIG9mIGZyZWUgaW5vZGVzIGZ1cnRoZXIgcmVkdWNlcyBieQpAQCAtMzc0LDcgKzM3NCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9FTlZfV0hJVEVMSVNUJz48Z2xvc3N0ZXJtPkJCX0VOVl9XSElURUxJU1Q8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9FTlZfV0hJVEVMSVNUJz48Z2xvc3N0ZXJtPkJCX0VOVl9XSElURUxJU1Q8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIHRoZSBpbnRlcm5hbCB3aGl0ZWxpc3Qgb2YgdmFyaWFibGVzIHRvIGFsbG93CkBAIC0zODIsMTEgKzM4MiwxMSBAQAogICAgICAgICAgICAgICAgICAgICBkYXRhc3RvcmUuCiAgICAgICAgICAgICAgICAgICAgIElmIHRoZSB2YWx1ZSBvZiB0aGlzIHZhcmlhYmxlIGlzIG5vdCBzcGVjaWZpZWQKICAgICAgICAgICAgICAgICAgICAgKHdoaWNoIGlzIHRoZSBkZWZhdWx0KSwgdGhlIGZvbGxvd2luZyBsaXN0IGlzIHVzZWQ6Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQlBBVEgnPjxmaWxlbmFtZT5CQlBBVEg8L2ZpbGVuYW1lPjwvbGluaz4sCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9QUkVTRVJWRV9FTlYnPjxmaWxlbmFtZT5CQl9QUkVTRVJWRV9FTlY8L2ZpbGVuYW1lPjwvbGluaz4sCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9FTlZfV0hJVEVMSVNUJz48ZmlsZW5hbWU+QkJfRU5WX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPiwKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCUEFUSCc+PGZpbGVuYW1lPkJCUEFUSDwvZmlsZW5hbWU+PC9saW5rPiwKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1BSRVNFUlZFX0VOVic+PGZpbGVuYW1lPkJCX1BSRVNFUlZFX0VOVjwvZmlsZW5hbWU+PC9saW5rPiwKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX0VOVl9XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9FTlZfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+LAogICAgICAgICAgICAgICAgICAgICBhbmQKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0VOVl9FWFRSQVdISVRFJz48ZmlsZW5hbWU+QkJfRU5WX0VYVFJBV0hJVEU8L2ZpbGVuYW1lPjwvbGluaz4uCisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9FTlZfRVhUUkFXSElURSc+PGZpbGVuYW1lPkJCX0VOVl9FWFRSQVdISVRFPC9maWxlbmFtZT48L2xpbms+LgogICAgICAgICAgICAgICAgICAgICA8bm90ZT4KICAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBtdXN0IHNldCB0aGlzIHZhcmlhYmxlIGluIHRoZSBleHRlcm5hbCBlbnZpcm9ubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgaW4gb3JkZXIgZm9yIGl0IHRvIHdvcmsuCkBAIC0zOTUsNyArMzk1LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0VOVl9FWFRSQVdISVRFJz48Z2xvc3N0ZXJtPkJCX0VOVl9FWFRSQVdISVRFPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfRU5WX0VYVFJBV0hJVEUnPjxnbG9zc3Rlcm0+QkJfRU5WX0VYVFJBV0hJVEU8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIGFuIGFkZGl0aW9uYWwgc2V0IG9mIHZhcmlhYmxlcyB0byBhbGxvdyB0aHJvdWdoCkBAIC00MDMsNyArNDAzLDcgQEAKICAgICAgICAgICAgICAgICAgICAgZGF0YXN0b3JlLgogICAgICAgICAgICAgICAgICAgICBUaGlzIGxpc3Qgb2YgdmFyaWFibGVzIGFyZSBvbiB0b3Agb2YgdGhlIGludGVybmFsIGxpc3QKICAgICAgICAgICAgICAgICAgICAgc2V0IGluCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9FTlZfV0hJVEVMSVNUJz48ZmlsZW5hbWU+QkJfRU5WX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPi4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX0VOVl9XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9FTlZfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+LgogICAgICAgICAgICAgICAgICAgICA8bm90ZT4KICAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBtdXN0IHNldCB0aGlzIHZhcmlhYmxlIGluIHRoZSBleHRlcm5hbAogICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQgaW4gb3JkZXIgZm9yIGl0IHRvIHdvcmsuCkBAIC00MTIsMjIgKzQxMiwyMiBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfRkVUQ0hfUFJFTUlSUk9ST05MWSc+PGdsb3NzdGVybT5CQl9GRVRDSF9QUkVNSVJST1JPTkxZPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfRkVUQ0hfUFJFTUlSUk9ST05MWSc+PGdsb3NzdGVybT5CQl9GRVRDSF9QUkVNSVJST1JPTkxZPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFdoZW4gc2V0IHRvICIxIiwgY2F1c2VzIEJpdEJha2UncyBmZXRjaGVyIG1vZHVsZSB0byBvbmx5CiAgICAgICAgICAgICAgICAgICAgIHNlYXJjaAotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUFJFTUlSUk9SUyc+PGZpbGVuYW1lPlBSRU1JUlJPUlM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBSRU1JUlJPUlMnPjxmaWxlbmFtZT5QUkVNSVJST1JTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIGZvciBmaWxlcy4KICAgICAgICAgICAgICAgICAgICAgQml0QmFrZSB3aWxsIG5vdCBzZWFyY2ggdGhlIG1haW4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNSQ19VUkknPjxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TUkNfVVJJJz48ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICBvcgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItTUlSUk9SUyc+PGZpbGVuYW1lPk1JUlJPUlM8L2ZpbGVuYW1lPjwvbGluaz4uCisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1NSVJST1JTJz48ZmlsZW5hbWU+TUlSUk9SUzwvZmlsZW5hbWU+PC9saW5rPi4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9GSUxFTkFNRSc+PGdsb3NzdGVybT5CQl9GSUxFTkFNRTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0ZJTEVOQU1FJz48Z2xvc3N0ZXJtPkJCX0ZJTEVOQU1FPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIENvbnRhaW5zIHRoZSBmaWxlbmFtZSBvZiB0aGUgcmVjaXBlIHRoYXQgb3ducyB0aGUgY3VycmVudGx5CkBAIC00NDAsMTIgKzQ0MCwxMiBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfR0VORVJBVEVfTUlSUk9SX1RBUkJBTExTJz48Z2xvc3N0ZXJtPkJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUyc+PGdsb3NzdGVybT5CQl9HRU5FUkFURV9NSVJST1JfVEFSQkFMTFM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQ2F1c2VzIHRhcmJhbGxzIG9mIHRoZSBHaXQgcmVwb3NpdG9yaWVzLCBpbmNsdWRpbmcgdGhlCiAgICAgICAgICAgICAgICAgICAgIEdpdCBtZXRhZGF0YSwgdG8gYmUgcGxhY2VkIGluIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRExfRElSJz48ZmlsZW5hbWU+RExfRElSPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ETF9ESVInPjxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3J5LgogICAgICAgICAgICAgICAgICAgICBBbnlvbmUgd2lzaGluZyB0byBjcmVhdGUgYSBzb3VyY2UgbWlycm9yIHdvdWxkIHdhbnQgdG8KICAgICAgICAgICAgICAgICAgICAgZW5hYmxlIHRoaXMgdmFyaWFibGUuCkBAIC00NjEsNyArNDYxLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0hBU0hDT05GSUdfV0hJVEVMSVNUJz48Z2xvc3N0ZXJtPkJCX0hBU0hDT05GSUdfV0hJVEVMSVNUPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfSEFTSENPTkZJR19XSElURUxJU1QnPjxnbG9zc3Rlcm0+QkJfSEFTSENPTkZJR19XSElURUxJU1Q8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgTGlzdHMgdmFyaWFibGVzIHRoYXQgYXJlIGV4Y2x1ZGVkIGZyb20gYmFzZSBjb25maWd1cmF0aW9uCkBAIC00ODUsNyArNDg1LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0hBU0hCQVNFX1dISVRFTElTVCc+PGdsb3NzdGVybT5CQl9IQVNIQkFTRV9XSElURUxJU1Q8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9IQVNIQkFTRV9XSElURUxJU1QnPjxnbG9zc3Rlcm0+QkJfSEFTSEJBU0VfV0hJVEVMSVNUPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIExpc3RzIHZhcmlhYmxlcyB0aGF0IGFyZSBleGNsdWRlZCBmcm9tIGNoZWNrc3VtIGFuZApAQCAtNTAwLDcgKzUwMCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9IQVNIQ0hFQ0tfRlVOQ1RJT04nPjxnbG9zc3Rlcm0+QkJfSEFTSENIRUNLX0ZVTkNUSU9OPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfSEFTSENIRUNLX0ZVTkNUSU9OJz48Z2xvc3N0ZXJtPkJCX0hBU0hDSEVDS19GVU5DVElPTjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uIHRvIGNhbGwgZHVyaW5nIHRoZQpAQCAtNTI0LDcgKzUyNCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9JTlZBTElEQ09ORic+PGdsb3NzdGVybT5CQl9JTlZBTElEQ09ORjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0lOVkFMSURDT05GJz48Z2xvc3N0ZXJtPkJCX0lOVkFMSURDT05GPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFVzZWQgaW4gY29tYmluYXRpb24gd2l0aCB0aGUKQEAgLTUzOSwxMSArNTM5LDExIEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9MT0dGTVQnPjxnbG9zc3Rlcm0+QkJfTE9HRk1UPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfTE9HRk1UJz48Z2xvc3N0ZXJtPkJCX0xPR0ZNVDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGxvZyBmaWxlcyBzYXZlZCBpbnRvCi0gICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT4kezwvZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLVQnPjxmaWxlbmFtZT5UPC9maWxlbmFtZT48L2xpbms+PGZpbGVuYW1lPn08L2ZpbGVuYW1lPi4KKyAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7PC9maWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItYmItVCc+PGZpbGVuYW1lPlQ8L2ZpbGVuYW1lPjwvbGluaz48ZmlsZW5hbWU+fTwvZmlsZW5hbWU+LgogICAgICAgICAgICAgICAgICAgICBCeSBkZWZhdWx0LCB0aGUgPGZpbGVuYW1lPkJCX0xPR0ZNVDwvZmlsZW5hbWU+IHZhcmlhYmxlCiAgICAgICAgICAgICAgICAgICAgIGlzIHVuZGVmaW5lZCBhbmQgdGhlIGxvZyBmaWxlIG5hbWVzIGdldCBjcmVhdGVkIHVzaW5nIHRoZQogICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgZm9ybToKQEAgLTU1Niw3ICs1NTYsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfTklDRV9MRVZFTCc+PGdsb3NzdGVybT5CQl9OSUNFX0xFVkVMPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfTklDRV9MRVZFTCc+PGdsb3NzdGVybT5CQl9OSUNFX0xFVkVMPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEFsbG93cyBCaXRCYWtlIHRvIHJ1biBhdCBhIHNwZWNpZmljIHByaW9yaXR5CkBAIC01NjQsMTMgKzU2NCwxMyBAQAogICAgICAgICAgICAgICAgICAgICBTeXN0ZW0gcGVybWlzc2lvbnMgdXN1YWxseSBtZWFuIHRoYXQgQml0QmFrZSBjYW4gcmVkdWNlIGl0cwogICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBidXQgbm90IHJhaXNlIGl0IGFnYWluLgogICAgICAgICAgICAgICAgICAgICBTZWUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1RBU0tfTklDRV9MRVZFTCc+PGZpbGVuYW1lPkJCX1RBU0tfTklDRV9MRVZFTDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfVEFTS19OSUNFX0xFVkVMJz48ZmlsZW5hbWU+QkJfVEFTS19OSUNFX0xFVkVMPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX05PX05FVFdPUksnPjxnbG9zc3Rlcm0+QkJfTk9fTkVUV09SSzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX05PX05FVFdPUksnPjxnbG9zc3Rlcm0+QkJfTk9fTkVUV09SSzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBEaXNhYmxlcyBuZXR3b3JrIGFjY2VzcyBpbiB0aGUgQml0QmFrZSBmZXRjaGVyIG1vZHVsZXMuCkBAIC01ODcsNyArNTg3LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX05VTUJFUl9USFJFQURTJz48Z2xvc3N0ZXJtPkJCX05VTUJFUl9USFJFQURTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfTlVNQkVSX1RIUkVBRFMnPjxnbG9zc3Rlcm0+QkJfTlVNQkVSX1RIUkVBRFM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIHRhc2tzIEJpdEJha2Ugc2hvdWxkIHJ1biBpbiBwYXJhbGxlbApAQCAtNTk5LDcgKzU5OSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9OVU1CRVJfUEFSU0VfVEhSRUFEUyc+PGdsb3NzdGVybT5CQl9OVU1CRVJfUEFSU0VfVEhSRUFEUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX05VTUJFUl9QQVJTRV9USFJFQURTJz48Z2xvc3N0ZXJtPkJCX05VTUJFUl9QQVJTRV9USFJFQURTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNldHMgdGhlIG51bWJlciBvZiB0aHJlYWRzIEJpdEJha2UgdXNlcyB3aGVuIHBhcnNpbmcuCkBAIC02MDksNyArNjA5LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX09SSUdFTlYnPjxnbG9zc3Rlcm0+QkJfT1JJR0VOVjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX09SSUdFTlYnPjxnbG9zc3Rlcm0+QkJfT1JJR0VOVjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBDb250YWlucyBhIGNvcHkgb2YgdGhlIG9yaWdpbmFsIGV4dGVybmFsIGVudmlyb25tZW50IGluCkBAIC02MjUsNyArNjI1LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1BSRVNFUlZFX0VOVic+PGdsb3NzdGVybT5CQl9QUkVTRVJWRV9FTlY8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9QUkVTRVJWRV9FTlYnPjxnbG9zc3Rlcm0+QkJfUFJFU0VSVkVfRU5WPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIERpc2FibGVzIHdoaXRlbGlzdGluZyBhbmQgaW5zdGVhZCBhbGxvd3MgYWxsIHZhcmlhYmxlcwpAQCAtNjM5LDEyICs2MzksMTIgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1JVTkZNVCc+PGdsb3NzdGVybT5CQl9SVU5GTVQ8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9SVU5GTVQnPjxnbG9zc3Rlcm0+QkJfUlVORk1UPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZXhlY3V0YWJsZSBzY3JpcHQgZmlsZXMKICAgICAgICAgICAgICAgICAgICAgKGkuZS4gcnVuIGZpbGVzKSBzYXZlZCBpbnRvCi0gICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT4kezwvZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLVQnPjxmaWxlbmFtZT5UPC9maWxlbmFtZT48L2xpbms+PGZpbGVuYW1lPn08L2ZpbGVuYW1lPi4KKyAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7PC9maWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItYmItVCc+PGZpbGVuYW1lPlQ8L2ZpbGVuYW1lPjwvbGluaz48ZmlsZW5hbWU+fTwvZmlsZW5hbWU+LgogICAgICAgICAgICAgICAgICAgICBCeSBkZWZhdWx0LCB0aGUgPGZpbGVuYW1lPkJCX1JVTkZNVDwvZmlsZW5hbWU+IHZhcmlhYmxlCiAgICAgICAgICAgICAgICAgICAgIGlzIHVuZGVmaW5lZCBhbmQgdGhlIHJ1biBmaWxlIG5hbWVzIGdldCBjcmVhdGVkIHVzaW5nIHRoZQogICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgZm9ybToKQEAgLTY1Nyw3ICs2NTcsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfUlVOVEFTSyc+PGdsb3NzdGVybT5CQl9SVU5UQVNLPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfUlVOVEFTSyc+PGdsb3NzdGVybT5CQl9SVU5UQVNLPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIENvbnRhaW5zIHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nIHRhc2suCkBAIC02NjksNyArNjY5LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1NDSEVEVUxFUic+PGdsb3NzdGVybT5CQl9TQ0hFRFVMRVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9TQ0hFRFVMRVInPjxnbG9zc3Rlcm0+QkJfU0NIRURVTEVSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNlbGVjdHMgdGhlIG5hbWUgb2YgdGhlIHNjaGVkdWxlciB0byB1c2UgZm9yIHRoZQpAQCAtNjk1LDcgKzY5NSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9TQ0hFRFVMRVJTJz48Z2xvc3N0ZXJtPkJCX1NDSEVEVUxFUlM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9TQ0hFRFVMRVJTJz48Z2xvc3N0ZXJtPkJCX1NDSEVEVUxFUlM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgRGVmaW5lcyBjdXN0b20gc2NoZWR1bGVycyB0byBpbXBvcnQuCkBAIC03MDUsMTMgKzcwNSwxMyBAQAogCiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEZvciBpbmZvcm1hdGlvbiBob3cgdG8gc2VsZWN0IGEgc2NoZWR1bGVyLCBzZWUgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9TQ0hFRFVMRVInPjxmaWxlbmFtZT5CQl9TQ0hFRFVMRVI8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1NDSEVEVUxFUic+PGZpbGVuYW1lPkJCX1NDSEVEVUxFUjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9TRVRTQ0VORV9ERVBWQUxJRCc+PGdsb3NzdGVybT5CQl9TRVRTQ0VORV9ERVBWQUxJRDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1NFVFNDRU5FX0RFUFZBTElEJz48Z2xvc3N0ZXJtPkJCX1NFVFNDRU5FX0RFUFZBTElEPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyBhIGZ1bmN0aW9uIEJpdEJha2UgY2FsbHMgdGhhdCBkZXRlcm1pbmVzCkBAIC03MzEsNyArNzMxLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1NFVFNDRU5FX1ZFUklGWV9GVU5DVElPTjInPjxnbG9zc3Rlcm0+QkJfU0VUU0NFTkVfVkVSSUZZX0ZVTkNUSU9OMjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1NFVFNDRU5FX1ZFUklGWV9GVU5DVElPTjInPjxnbG9zc3Rlcm0+QkJfU0VUU0NFTkVfVkVSSUZZX0ZVTkNUSU9OMjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgYSBmdW5jdGlvbiB0byBjYWxsIHRoYXQgdmVyaWZpZXMgdGhlIGxpc3Qgb2YKQEAgLTc1Miw3ICs3NTIsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfU0lHTkFUVVJFX0VYQ0xVREVfRkxBR1MnPjxnbG9zc3Rlcm0+QkJfU0lHTkFUVVJFX0VYQ0xVREVfRkxBR1M8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9TSUdOQVRVUkVfRVhDTFVERV9GTEFHUyc+PGdsb3NzdGVybT5CQl9TSUdOQVRVUkVfRVhDTFVERV9GTEFHUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBMaXN0cyB2YXJpYWJsZSBmbGFncyAodmFyZmxhZ3MpCkBAIC03NzEsNyArNzcxLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1NJR05BVFVSRV9IQU5ETEVSJz48Z2xvc3N0ZXJtPkJCX1NJR05BVFVSRV9IQU5ETEVSPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfU0lHTkFUVVJFX0hBTkRMRVInPjxnbG9zc3Rlcm0+QkJfU0lHTkFUVVJFX0hBTkRMRVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgRGVmaW5lcyB0aGUgbmFtZSBvZiB0aGUgc2lnbmF0dXJlIGhhbmRsZXIgQml0QmFrZSB1c2VzLgpAQCAtNzkwLDcgKzc5MCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9TUkNSRVZfUE9MSUNZJz48Z2xvc3N0ZXJtPkJCX1NSQ1JFVl9QT0xJQ1k8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9TUkNSRVZfUE9MSUNZJz48Z2xvc3N0ZXJtPkJCX1NSQ1JFVl9QT0xJQ1k8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgRGVmaW5lcyB0aGUgYmVoYXZpb3Igb2YgdGhlIGZldGNoZXIgd2hlbiBpdCBpbnRlcmFjdHMgd2l0aApAQCAtODE3LDcgKzgxNyw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9TVEFNUF9QT0xJQ1knPjxnbG9zc3Rlcm0+QkJfU1RBTVBfUE9MSUNZPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfU1RBTVBfUE9MSUNZJz48Z2xvc3N0ZXJtPkJCX1NUQU1QX1BPTElDWTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBEZWZpbmVzIHRoZSBtb2RlIHVzZWQgZm9yIGhvdyB0aW1lc3RhbXBzIG9mIHN0YW1wIGZpbGVzCkBAIC04MzYsNyArODM2LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+d2hpdGVsaXN0PC9lbXBoYXNpcz4gLQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIElkZW50aWNhbCB0byAiZnVsbCIgbW9kZSBleGNlcHQgdGltZXN0YW1wCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFyaXNvbnMgYXJlIG1hZGUgZm9yIHJlY2lwZXMgbGlzdGVkIGluIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9TVEFNUF9XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9TVEFNUF9XSElURUxJU1Q8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfU1RBTVBfV0hJVEVMSVNUJz48ZmlsZW5hbWU+QkJfU1RBTVBfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgICAgIDwvaXRlbWl6ZWRsaXN0PgpAQCAtODQ4LDE5ICs4NDgsMTkgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1NUQU1QX1dISVRFTElTVCc+PGdsb3NzdGVybT5CQl9TVEFNUF9XSElURUxJU1Q8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9TVEFNUF9XSElURUxJU1QnPjxnbG9zc3Rlcm0+QkJfU1RBTVBfV0hJVEVMSVNUPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIExpc3RzIGZpbGVzIHdob3NlIHN0YW1wIGZpbGUgdGltZXN0YW1wcyBhcmUgY29tcGFyZWQgd2hlbgogICAgICAgICAgICAgICAgICAgICB0aGUgc3RhbXAgcG9saWN5IG1vZGUgaXMgc2V0IHRvICJ3aGl0ZWxpc3QiLgogICAgICAgICAgICAgICAgICAgICBGb3IgaW5mb3JtYXRpb24gb24gc3RhbXAgcG9saWNpZXMsIHNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NUQU1QX1BPTElDWSc+PGZpbGVuYW1lPkJCX1NUQU1QX1BPTElDWTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfU1RBTVBfUE9MSUNZJz48ZmlsZW5hbWU+QkJfU1RBTVBfUE9MSUNZPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1NUUklDVF9DSEVDS1NVTSc+PGdsb3NzdGVybT5CQl9TVFJJQ1RfQ0hFQ0tTVU08L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9TVFJJQ1RfQ0hFQ0tTVU0nPjxnbG9zc3Rlcm0+QkJfU1RSSUNUX0NIRUNLU1VNPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNldHMgYSBtb3JlIHN0cmljdCBjaGVja3N1bSBtZWNoYW5pc20gZm9yIG5vbi1sb2NhbCBVUkxzLgpAQCAtODcxLDcgKzg3MSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9UQVNLX0lPTklDRV9MRVZFTCc+PGdsb3NzdGVybT5CQl9UQVNLX0lPTklDRV9MRVZFTDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1RBU0tfSU9OSUNFX0xFVkVMJz48Z2xvc3N0ZXJtPkJCX1RBU0tfSU9OSUNFX0xFVkVMPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEFsbG93cyBhZGp1c3RtZW50IG9mIGEgdGFzaydzIElucHV0L091dHB1dCBwcmlvcml0eS4KQEAgLTg4Miw3ICs4ODIsNyBAQAogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSB0byBhZGp1c3QgdGhlIEkvTyBwcmlvcml0eSBvZiB0aGVzZSB0YXNrcy4KICAgICAgICAgICAgICAgICAgICAgPG5vdGU+CiAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHZhcmlhYmxlIHdvcmtzIHNpbWlsYXJseSB0byB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9UQVNLX05JQ0VfTEVWRUwnPjxmaWxlbmFtZT5CQl9UQVNLX05JQ0VfTEVWRUw8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9UQVNLX05JQ0VfTEVWRUwnPjxmaWxlbmFtZT5CQl9UQVNLX05JQ0VfTEVWRUw8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIGV4Y2VwdCB3aXRoIGEgdGFzaydzIEkvTyBwcmlvcml0aWVzLgogICAgICAgICAgICAgICAgICAgICA8L25vdGU+CiAgICAgICAgICAgICAgICAgPC9wYXJhPgpAQCAtOTIxLDcgKzkyMSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9UQVNLX05JQ0VfTEVWRUwnPjxnbG9zc3Rlcm0+QkJfVEFTS19OSUNFX0xFVkVMPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfVEFTS19OSUNFX0xFVkVMJz48Z2xvc3N0ZXJtPkJCX1RBU0tfTklDRV9MRVZFTDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBBbGxvd3Mgc3BlY2lmaWMgdGFza3MgdG8gY2hhbmdlIHRoZWlyIHByaW9yaXR5CkBAIC05NDAsNyArOTQwLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1RBU0tIQVNIJz48Z2xvc3N0ZXJtPkJCX1RBU0tIQVNIPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfVEFTS0hBU0gnPjxnbG9zc3Rlcm0+QkJfVEFTS0hBU0g8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgV2l0aGluIGFuIGV4ZWN1dGluZyB0YXNrLCB0aGlzIHZhcmlhYmxlIGhvbGRzIHRoZSBoYXNoCkBAIC05NTAsNyArOTUwLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1ZFUkJPU0VfTE9HUyc+PGdsb3NzdGVybT5CQl9WRVJCT1NFX0xPR1M8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9WRVJCT1NFX0xPR1MnPjxnbG9zc3Rlcm0+QkJfVkVSQk9TRV9MT0dTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xzIGhvdyB2ZXJib3NlIEJpdEJha2UgaXMgZHVyaW5nIGJ1aWxkcy4KQEAgLTk2MCw3ICs5NjAsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfV09SS0VSQ09OVEVYVCc+PGdsb3NzdGVybT5CQl9XT1JLRVJDT05URVhUPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfV09SS0VSQ09OVEVYVCc+PGdsb3NzdGVybT5CQl9XT1JLRVJDT05URVhUPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyBpZiB0aGUgY3VycmVudCBjb250ZXh0IGlzIGV4ZWN1dGluZyBhIHRhc2suCkBAIC05NzMsNyArOTczLDcgQEAKICAgICAgICAgPC9nbG9zc2VudHJ5PgogCiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQkNMQVNTRVhURU5EJz48Z2xvc3N0ZXJtPkJCQ0xBU1NFWFRFTkQ8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQkNMQVNTRVhURU5EJz48Z2xvc3N0ZXJtPkJCQ0xBU1NFWFRFTkQ8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQWxsb3dzIHlvdSB0byBleHRlbmQgYSByZWNpcGUgc28gdGhhdCBpdCBidWlsZHMgdmFyaWFudHMKQEAgLTEwMDksNyArMTAwOSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+X2NsYXNzLW5hdGl2ZTwvZmlsZW5hbWU+LgogICAgICAgICAgICAgICAgICAgICAgICAgRm9yIGV4YW1wbGUsIHRvIGdlbmVyYXRlIGEgbmF0aXZlIHZlcnNpb24gb2YgYSByZWNpcGUsCiAgICAgICAgICAgICAgICAgICAgICAgICBhCi0gICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItREVQRU5EUyc+PGZpbGVuYW1lPkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICAgICAgb24gImZvbyIgaXMgcmV3cml0dGVuIHRvIGEgPGZpbGVuYW1lPkRFUEVORFM8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgb24gImZvby1uYXRpdmUiLgogICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPgpAQCAtMTAyOCw3ICsxMDI4LDcgQEAKICAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQkRFQlVHJz48Z2xvc3N0ZXJtPkJCREVCVUc8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQkRFQlVHJz48Z2xvc3N0ZXJtPkJCREVCVUc8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU2V0cyB0aGUgQml0QmFrZSBkZWJ1ZyBvdXRwdXQgbGV2ZWwgdG8gYSBzcGVjaWZpYyB2YWx1ZQpAQCAtMTA0Miw3ICsxMDQyLDcgQEAKICAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQkZJTEVfQ09MTEVDVElPTlMnPjxnbG9zc3Rlcm0+QkJGSUxFX0NPTExFQ1RJT05TPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJGSUxFX0NPTExFQ1RJT05TJz48Z2xvc3N0ZXJtPkJCRklMRV9DT0xMRUNUSU9OUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPkxpc3RzIHRoZSBuYW1lcyBvZiBjb25maWd1cmVkIGxheWVycy4KICAgICAgICAgICAgICAgICAgICAgVGhlc2UgbmFtZXMgYXJlIHVzZWQgdG8gZmluZCB0aGUgb3RoZXIgPGZpbGVuYW1lPkJCRklMRV8qPC9maWxlbmFtZT4KQEAgLTEwNTMsMTAgKzEwNTMsMTAgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCRklMRV9QQVRURVJOJz48Z2xvc3N0ZXJtPkJCRklMRV9QQVRURVJOPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJGSUxFX1BBVFRFUk4nPjxnbG9zc3Rlcm0+QkJGSUxFX1BBVFRFUk48L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT5WYXJpYWJsZSB0aGF0IGV4cGFuZHMgdG8gbWF0Y2ggZmlsZXMgZnJvbQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJGSUxFUyc+PGZpbGVuYW1lPkJCRklMRVM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCRklMRVMnPjxmaWxlbmFtZT5CQkZJTEVTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIGluIGEgcGFydGljdWxhciBsYXllci4KICAgICAgICAgICAgICAgICAgICAgVGhpcyB2YXJpYWJsZSBpcyB1c2VkIGluIHRoZSA8ZmlsZW5hbWU+Y29uZi9sYXllci5jb25mPC9maWxlbmFtZT4gZmlsZSBhbmQgbXVzdAogICAgICAgICAgICAgICAgICAgICBiZSBzdWZmaXhlZCB3aXRoIHRoZSBuYW1lIG9mIHRoZSBzcGVjaWZpYyBsYXllciAoZS5nLgpAQCAtMTA2NCw3ICsxMDY0LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCRklMRV9QUklPUklUWSc+PGdsb3NzdGVybT5CQkZJTEVfUFJJT1JJVFk8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQkZJTEVfUFJJT1JJVFknPjxnbG9zc3Rlcm0+QkJGSUxFX1BSSU9SSVRZPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+QXNzaWducyB0aGUgcHJpb3JpdHkgZm9yIHJlY2lwZSBmaWxlcyBpbiBlYWNoIGxheWVyLjwvcGFyYT4KICAgICAgICAgICAgICAgICA8cGFyYT5UaGlzIHZhcmlhYmxlIGlzIHVzZWZ1bCBpbiBzaXR1YXRpb25zIHdoZXJlIHRoZSBzYW1lIHJlY2lwZSBhcHBlYXJzIGluCkBAIC0xMDc0LDcgKzEwNzQsNyBAQAogICAgICAgICAgICAgICAgICAgICBsZXR0aW5nIHlvdSBjb250cm9sIHRoZSBwcmVjZWRlbmNlIGZvciB0aGUgbXVsdGlwbGUgbGF5ZXJzLgogICAgICAgICAgICAgICAgICAgICBUaGUgcHJlY2VkZW5jZSBlc3RhYmxpc2hlZCB0aHJvdWdoIHRoaXMgdmFyaWFibGUgc3RhbmRzIHJlZ2FyZGxlc3Mgb2YgYQogICAgICAgICAgICAgICAgICAgICByZWNpcGUncyB2ZXJzaW9uCi0gICAgICAgICAgICAgICAgICAgICg8bGluayBsaW5rZW5kPSd2YXItUFYnPjxmaWxlbmFtZT5QVjwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZSkuCisgICAgICAgICAgICAgICAgICAgICg8bGluayBsaW5rZW5kPSd2YXItYmItUFYnPjxmaWxlbmFtZT5QVjwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZSkuCiAgICAgICAgICAgICAgICAgICAgIEZvciBleGFtcGxlLCBhIGxheWVyIHRoYXQgaGFzIGEgcmVjaXBlIHdpdGggYSBoaWdoZXIgPGZpbGVuYW1lPlBWPC9maWxlbmFtZT4gdmFsdWUgYnV0IGZvcgogICAgICAgICAgICAgICAgICAgICB3aGljaCB0aGUgPGZpbGVuYW1lPkJCRklMRV9QUklPUklUWTwvZmlsZW5hbWU+IGlzIHNldCB0byBoYXZlIGEgbG93ZXIgcHJlY2VkZW5jZSBzdGlsbCBoYXMgYQogICAgICAgICAgICAgICAgICAgICBsb3dlciBwcmVjZWRlbmNlLjwvcGFyYT4KQEAgLTEwODMsNyArMTA4Myw3IEBACiAgICAgICAgICAgICAgICAgICAgIEZvciBleGFtcGxlLCB0aGUgdmFsdWUgNiBoYXMgYSBoaWdoZXIgcHJlY2VkZW5jZSB0aGFuIHRoZSB2YWx1ZSA1LgogICAgICAgICAgICAgICAgICAgICBJZiBub3Qgc3BlY2lmaWVkLCB0aGUgPGZpbGVuYW1lPkJCRklMRV9QUklPUklUWTwvZmlsZW5hbWU+IHZhcmlhYmxlIGlzIHNldCBiYXNlZCBvbiBsYXllcgogICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgKHNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1MQVlFUkRFUEVORFMnPkxBWUVSREVQRU5EUzwvbGluaz48L2ZpbGVuYW1lPiB2YXJpYWJsZSBmb3IKKyAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1MQVlFUkRFUEVORFMnPkxBWUVSREVQRU5EUzwvbGluaz48L2ZpbGVuYW1lPiB2YXJpYWJsZSBmb3IKICAgICAgICAgICAgICAgICAgICAgbW9yZSBpbmZvcm1hdGlvbi4KICAgICAgICAgICAgICAgICAgICAgVGhlIGRlZmF1bHQgcHJpb3JpdHksIGlmIHVuc3BlY2lmaWVkCiAgICAgICAgICAgICAgICAgICAgIGZvciBhIGxheWVyIHdpdGggbm8gZGVwZW5kZW5jaWVzLCBpcyB0aGUgbG93ZXN0IGRlZmluZWQgcHJpb3JpdHkgKyAxCkBAIC0xMDk1LDcgKzEwOTUsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJGSUxFUyc+PGdsb3NzdGVybT5CQkZJTEVTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJGSUxFUyc+PGdsb3NzdGVybT5CQkZJTEVTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEEgc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgcmVjaXBlIGZpbGVzIEJpdEJha2UgdXNlcyB0bwpAQCAtMTExMyw3ICsxMTEzLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCSU5DTFVERUQnPjxnbG9zc3Rlcm0+QkJJTkNMVURFRDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCSU5DTFVERUQnPjxnbG9zc3Rlcm0+QkJJTkNMVURFRDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBDb250YWlucyBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGFsbCBvZiBhbGwgZmlsZXMgdGhhdApAQCAtMTEyMyw3ICsxMTIzLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCSU5DTFVERUxPR1MnPjxnbG9zc3Rlcm0+QkJJTkNMVURFTE9HUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCSU5DTFVERUxPR1MnPjxnbG9zc3Rlcm0+QkJJTkNMVURFTE9HUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBJZiBzZXQgdG8gYSB2YWx1ZSwgZW5hYmxlcyBwcmludGluZyB0aGUgdGFzayBsb2cgd2hlbgpAQCAtMTEzMiwxMSArMTEzMiwxMSBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJJTkNMVURFTE9HU19MSU5FUyc+PGdsb3NzdGVybT5CQklOQ0xVREVMT0dTX0xJTkVTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJJTkNMVURFTE9HU19MSU5FUyc+PGdsb3NzdGVybT5CQklOQ0xVREVMT0dTX0xJTkVTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIElmCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQklOQ0xVREVMT0dTJz48ZmlsZW5hbWU+QkJJTkNMVURFTE9HUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJJTkNMVURFTE9HUyc+PGZpbGVuYW1lPkJCSU5DTFVERUxPR1M8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgaXMgc2V0LCBzcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGxpbmVzIGZyb20gdGhlCiAgICAgICAgICAgICAgICAgICAgIHRhc2sgbG9nIGZpbGUgdG8gcHJpbnQgd2hlbiByZXBvcnRpbmcgYSBmYWlsZWQgdGFzay4KICAgICAgICAgICAgICAgICAgICAgSWYgeW91IGRvIG5vdCBzZXQgPGZpbGVuYW1lPkJCSU5DTFVERUxPR1NfTElORVM8L2ZpbGVuYW1lPiwKQEAgLTExNDUsNyArMTE0NSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQkxBWUVSUyc+PGdsb3NzdGVybT5CQkxBWUVSUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCTEFZRVJTJz48Z2xvc3N0ZXJtPkJCTEFZRVJTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+TGlzdHMgdGhlIGxheWVycyB0byBlbmFibGUgZHVyaW5nIHRoZSBidWlsZC4KICAgICAgICAgICAgICAgICAgICAgVGhpcyB2YXJpYWJsZSBpcyBkZWZpbmVkIGluIHRoZSA8ZmlsZW5hbWU+YmJsYXllcnMuY29uZjwvZmlsZW5hbWU+IGNvbmZpZ3VyYXRpb24KQEAgLTExNjYsNyArMTE2Niw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQkxBWUVSU19GRVRDSF9ESVInPjxnbG9zc3Rlcm0+QkJMQVlFUlNfRkVUQ0hfRElSPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJMQVlFUlNfRkVUQ0hfRElSJz48Z2xvc3N0ZXJtPkJCTEFZRVJTX0ZFVENIX0RJUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTZXRzIHRoZSBiYXNlIGxvY2F0aW9uIHdoZXJlIGxheWVycyBhcmUgc3RvcmVkLgpAQCAtMTE3OCw3ICsxMTc4LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCTUFTSyc+PGdsb3NzdGVybT5CQk1BU0s8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQk1BU0snPjxnbG9zc3Rlcm0+QkJNQVNLPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFByZXZlbnRzIEJpdEJha2UgZnJvbSBwcm9jZXNzaW5nIHJlY2lwZXMgYW5kIHJlY2lwZQpAQCAtMTIzNiw3ICsxMjM2LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCTVVMVElDT05GSUcnPjxnbG9zc3Rlcm0+QkJNVUxUSUNPTkZJRzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCTVVMVElDT05GSUcnPjxnbG9zc3Rlcm0+QkJNVUxUSUNPTkZJRzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGluZm8+CiAgICAgICAgICAgICAgICAgQkJNVUxUSUNPTkZJR1tkb2NdID0gIkVuYWJsZXMgQml0QmFrZSB0byBwZXJmb3JtIG11bHRpcGxlIGNvbmZpZ3VyYXRpb24gYnVpbGRzIGFuZCBsaXN0cyBlYWNoIHNlcGFyYXRlIGNvbmZpZ3VyYXRpb24gKG11bHRpY29uZmlnKS4iCiAgICAgICAgICAgICA8L2luZm8+CkBAIC0xMjc1LDcgKzEyNzUsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJQQVRIJz48Z2xvc3N0ZXJtPkJCUEFUSDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCUEFUSCc+PGdsb3NzdGVybT5CQlBBVEg8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVXNlZCBieSBCaXRCYWtlIHRvIGxvY2F0ZSBjbGFzcwpAQCAtMTMwMiw3ICsxMzAyLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCU0VSVkVSJz48Z2xvc3N0ZXJtPkJCU0VSVkVSPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJTRVJWRVInPjxnbG9zc3Rlcm0+QkJTRVJWRVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgUG9pbnRzIHRvIHRoZSBzZXJ2ZXIgdGhhdCBydW5zIG1lbW9yeS1yZXNpZGVudCBCaXRCYWtlLgpAQCAtMTMxMiw3ICsxMzEyLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCVEFSR0VUUyc+PGdsb3NzdGVybT5CQlRBUkdFVFM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQlRBUkdFVFMnPjxnbG9zc3Rlcm0+QkJUQVJHRVRTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEFsbG93cyB5b3UgdG8gdXNlIGEgY29uZmlndXJhdGlvbiBmaWxlIHRvIGFkZCB0byB0aGUgbGlzdApAQCAtMTMyMSwxNCArMTMyMSwxNCBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJWRVJTSU9OUyc+PGdsb3NzdGVybT5CQlZFUlNJT05TPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJWRVJTSU9OUyc+PGdsb3NzdGVybT5CQlZFUlNJT05TPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEFsbG93cyBhIHNpbmdsZSByZWNpcGUgdG8gYnVpbGQgbXVsdGlwbGUgdmVyc2lvbnMgb2YgYQogICAgICAgICAgICAgICAgICAgICBwcm9qZWN0IGZyb20gYSBzaW5nbGUgcmVjaXBlIGZpbGUuCiAgICAgICAgICAgICAgICAgICAgIFlvdSBhbHNvIGFibGUgdG8gc3BlY2lmeSBjb25kaXRpb25hbCBtZXRhZGF0YQogICAgICAgICAgICAgICAgICAgICB1c2luZyB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLU9WRVJSSURFUyc+PGZpbGVuYW1lPk9WRVJSSURFUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItT1ZFUlJJREVTJz48ZmlsZW5hbWU+T1ZFUlJJREVTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIG1lY2hhbmlzbSBmb3IgYSBzaW5nbGUgdmVyc2lvbiBvciBmb3IgYW4gb3B0aW9uYWxseSBuYW1lZAogICAgICAgICAgICAgICAgICAgICByYW5nZSBvZiB2ZXJzaW9ucy4KICAgICAgICAgICAgICAgICA8L3BhcmE+CkBAIC0xMzQyLDcgKzEzNDIsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQklUQkFLRV9VSSc+PGdsb3NzdGVybT5CSVRCQUtFX1VJPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQklUQkFLRV9VSSc+PGdsb3NzdGVybT5CSVRCQUtFX1VJPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFVzZWQgdG8gc3BlY2lmeSB0aGUgVUkgbW9kdWxlIHRvIHVzZSB3aGVuIHJ1bm5pbmcgQml0QmFrZS4KQEAgLTEzNTYsNyArMTM1Niw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CVUlMRE5BTUUnPjxnbG9zc3Rlcm0+QlVJTEROQU1FPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQlVJTEROQU1FJz48Z2xvc3N0ZXJtPkJVSUxETkFNRTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBBIG5hbWUgYXNzaWduZWQgdG8gdGhlIGJ1aWxkLgpAQCAtMTM2Niw3ICsxMzY2LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJaUkRJUic+PGdsb3NzdGVybT5CWlJESVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CWlJESVInPjxnbG9zc3Rlcm0+QlpSRElSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggZmlsZXMgY2hlY2tlZCBvdXQgb2YgYSBCYXphYXIKQEAgLTEzNzcsOSArMTM3Nyw5IEBACiAKICAgICA8L2dsb3NzZGl2PgogCi0gICAgPGdsb3NzZGl2IGlkPSd2YXItZ2xvc3NhcnktYyc+PHRpdGxlPkM8L3RpdGxlPgorICAgIDxnbG9zc2RpdiBpZD0ndmFyLWJiLWdsb3NzYXJ5LWMnPjx0aXRsZT5DPC90aXRsZT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUNBQ0hFJz48Z2xvc3N0ZXJtPkNBQ0hFPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQ0FDSEUnPjxnbG9zc3Rlcm0+Q0FDSEU8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIHRoZSBkaXJlY3RvcnkgQml0QmFrZSB1c2VzIHRvIHN0b3JlIGEgY2FjaGUKQEAgLTEzODksNyArMTM4OSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1DVlNESVInPjxnbG9zc3Rlcm0+Q1ZTRElSPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQ1ZTRElSJz48Z2xvc3N0ZXJtPkNWU0RJUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBUaGUgZGlyZWN0b3J5IGluIHdoaWNoIGZpbGVzIGNoZWNrZWQgb3V0IHVuZGVyIHRoZQpAQCAtMTQwMCw5ICsxNDAwLDkgQEAKIAogICAgIDwvZ2xvc3NkaXY+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1kJz48dGl0bGU+RDwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktZCc+PHRpdGxlPkQ8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItREVGQVVMVF9QUkVGRVJFTkNFJz48Z2xvc3N0ZXJtPkRFRkFVTFRfUFJFRkVSRU5DRTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLURFRkFVTFRfUFJFRkVSRU5DRSc+PGdsb3NzdGVybT5ERUZBVUxUX1BSRUZFUkVOQ0U8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIGEgd2VhayBiaWFzIGZvciByZWNpcGUgc2VsZWN0aW9uIHByaW9yaXR5LgpAQCAtMTQxMywyMCArMTQxMywyMCBAQAogICAgICAgICAgICAgICAgICAgICBwaWVjZSBvZiBzb2Z0d2FyZS4KICAgICAgICAgICAgICAgICAgICAgVXNpbmcgdGhlIHZhcmlhYmxlIGluIHRoaXMgd2F5IGNhdXNlcyB0aGUgc3RhYmxlIHZlcnNpb24KICAgICAgICAgICAgICAgICAgICAgb2YgdGhlIHJlY2lwZSB0byBidWlsZCBieSBkZWZhdWx0IGluIHRoZSBhYnNlbmNlIG9mCi0gICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItUFJFRkVSUkVEX1ZFUlNJT04nPlBSRUZFUlJFRF9WRVJTSU9OPC9saW5rPjwvZmlsZW5hbWU+CisgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItYmItUFJFRkVSUkVEX1ZFUlNJT04nPlBSRUZFUlJFRF9WRVJTSU9OPC9saW5rPjwvZmlsZW5hbWU+CiAgICAgICAgICAgICAgICAgICAgIGJlaW5nIHVzZWQgdG8gYnVpbGQgdGhlIGRldmVsb3BtZW50IHZlcnNpb24uCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgICAgIDxub3RlPgogICAgICAgICAgICAgICAgICAgICBUaGUgYmlhcyBwcm92aWRlZCBieSA8ZmlsZW5hbWU+REVGQVVMVF9QUkVGRVJFTkNFPC9maWxlbmFtZT4KICAgICAgICAgICAgICAgICAgICAgaXMgd2VhayBhbmQgaXMgb3ZlcnJpZGRlbiBieQotICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLUJCRklMRV9QUklPUklUWSc+QkJGSUxFX1BSSU9SSVRZPC9saW5rPjwvZmlsZW5hbWU+CisgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItYmItQkJGSUxFX1BSSU9SSVRZJz5CQkZJTEVfUFJJT1JJVFk8L2xpbms+PC9maWxlbmFtZT4KICAgICAgICAgICAgICAgICAgICAgaWYgdGhhdCB2YXJpYWJsZSBpcyBkaWZmZXJlbnQgYmV0d2VlbiB0d28gbGF5ZXJzCiAgICAgICAgICAgICAgICAgICAgIHRoYXQgY29udGFpbiBkaWZmZXJlbnQgdmVyc2lvbnMgb2YgdGhlIHNhbWUgcmVjaXBlLgogICAgICAgICAgICAgICAgIDwvbm90ZT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLURFUEVORFMnPjxnbG9zc3Rlcm0+REVQRU5EUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLURFUEVORFMnPjxnbG9zc3Rlcm0+REVQRU5EUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBMaXN0cyBhIHJlY2lwZSdzIGJ1aWxkLXRpbWUgZGVwZW5kZW5jaWVzCkBAIC0xNDUxLDEzICsxNDUxLDEzIEBACiAKICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgRm9yIGluZm9ybWF0aW9uIG9uIHJ1bnRpbWUgZGVwZW5kZW5jaWVzLCBzZWUgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1SREVQRU5EUyc+PGZpbGVuYW1lPlJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SREVQRU5EUyc+PGZpbGVuYW1lPlJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLURFU0NSSVBUSU9OJz48Z2xvc3N0ZXJtPkRFU0NSSVBUSU9OPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItREVTQ1JJUFRJT04nPjxnbG9zc3Rlcm0+REVTQ1JJUFRJT048L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQSBsb25nIGRlc2NyaXB0aW9uIGZvciB0aGUgcmVjaXBlLgpAQCAtMTQ2NSw3ICsxNDY1LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLURMX0RJUic+PGdsb3NzdGVybT5ETF9ESVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1ETF9ESVInPjxnbG9zc3Rlcm0+RExfRElSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBjZW50cmFsIGRvd25sb2FkIGRpcmVjdG9yeSB1c2VkIGJ5IHRoZSBidWlsZCBwcm9jZXNzIHRvCkBAIC0xNDc0LDcgKzE0NzQsNyBAQAogICAgICAgICAgICAgICAgICAgICBzdWl0YWJsZSBmb3IgbWlycm9yaW5nIGZvciBldmVyeXRoaW5nIGV4Y2VwdCBHaXQKICAgICAgICAgICAgICAgICAgICAgcmVwb3NpdG9yaWVzLgogICAgICAgICAgICAgICAgICAgICBJZiB5b3Ugd2FudCB0YXJiYWxscyBvZiBHaXQgcmVwb3NpdG9yaWVzLCB1c2UgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9HRU5FUkFURV9NSVJST1JfVEFSQkFMTFMnPjxmaWxlbmFtZT5CQl9HRU5FUkFURV9NSVJST1JfVEFSQkFMTFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUyc+PGZpbGVuYW1lPkJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgpAQCAtMTQ4Miw5ICsxNDgyLDkgQEAKICAgICAgICAgPC9nbG9zc2VudHJ5PgogICAgIDwvZ2xvc3NkaXY+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1lJz48dGl0bGU+RTwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktZSc+PHRpdGxlPkU8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRVhDTFVERV9GUk9NX1dPUkxEJz48Z2xvc3N0ZXJtPkVYQ0xVREVfRlJPTV9XT1JMRDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUVYQ0xVREVfRlJPTV9XT1JMRCc+PGdsb3NzdGVybT5FWENMVURFX0ZST01fV09STEQ8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgRGlyZWN0cyBCaXRCYWtlIHRvIGV4Y2x1ZGUgYSByZWNpcGUgZnJvbSB3b3JsZCBidWlsZHMgKGkuZS4KQEAgLTE1MTIsOSArMTUxMiw5IEBACiAKICAgICA8L2dsb3NzZGl2PgogCi0gICAgPGdsb3NzZGl2IGlkPSd2YXItZ2xvc3NhcnktZic+PHRpdGxlPkY8L3RpdGxlPgorICAgIDxnbG9zc2RpdiBpZD0ndmFyLWJiLWdsb3NzYXJ5LWYnPjx0aXRsZT5GPC90aXRsZT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUZBS0VST09UJz48Z2xvc3N0ZXJtPkZBS0VST09UPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItRkFLRVJPT1QnPjxnbG9zc3Rlcm0+RkFLRVJPT1Q8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgIENvbnRhaW5zIHRoZSBjb21tYW5kIHRvIHVzZSB3aGVuIHJ1bm5pbmcgYSBzaGVsbCBzY3JpcHQKQEAgLTE1MjcsMTkgKzE1MjcsMTkgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUZBS0VST09UQkFTRUVOVic+PGdsb3NzdGVybT5GQUtFUk9PVEJBU0VFTlY8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1GQUtFUk9PVEJBU0VFTlYnPjxnbG9zc3Rlcm0+RkFLRVJPT1RCQVNFRU5WPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgICBMaXN0cyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2V0IHdoZW4gZXhlY3V0aW5nCiAgICAgICAgICAgICAgICAgICAgICB0aGUgY29tbWFuZCBkZWZpbmVkIGJ5Ci0gICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRkFLRVJPT1RDTUQnPjxmaWxlbmFtZT5GQUtFUk9PVENNRDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUZBS0VST09UQ01EJz48ZmlsZW5hbWU+RkFLRVJPT1RDTUQ8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgIHRoYXQgc3RhcnRzIHRoZSBiaXRiYWtlLXdvcmtlciBwcm9jZXNzCiAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgZmFrZXJvb3QgZW52aXJvbm1lbnQuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRkFLRVJPT1RDTUQnPjxnbG9zc3Rlcm0+RkFLRVJPT1RDTUQ8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1GQUtFUk9PVENNRCc+PGdsb3NzdGVybT5GQUtFUk9PVENNRDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICAgQ29udGFpbnMgdGhlIGNvbW1hbmQgdGhhdCBzdGFydHMgdGhlIGJpdGJha2Utd29ya2VyCkBAIC0xNTQ4LDcgKzE1NDgsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRkFLRVJPT1RESVJTJz48Z2xvc3N0ZXJtPkZBS0VST09URElSUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUZBS0VST09URElSUyc+PGdsb3NzdGVybT5GQUtFUk9PVERJUlM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgIExpc3RzIGRpcmVjdG9yaWVzIHRvIGNyZWF0ZSBiZWZvcmUgcnVubmluZyBhIHRhc2sgaW4KQEAgLTE1NTcsMzMgKzE1NTcsMzMgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUZBS0VST09URU5WJz48Z2xvc3N0ZXJtPkZBS0VST09URU5WPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItRkFLRVJPT1RFTlYnPjxnbG9zc3Rlcm0+RkFLRVJPT1RFTlY8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgIExpc3RzIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgd2hlbiBydW5uaW5nIGEgdGFzawogICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIGZha2Vyb290IGVudmlyb25tZW50LgogICAgICAgICAgICAgICAgICAgICAgRm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb24gZW52aXJvbm1lbnQgdmFyaWFibGVzIGFuZAogICAgICAgICAgICAgICAgICAgICAgdGhlIGZha2Vyb290IGVudmlyb25tZW50LCBzZWUgdGhlCi0gICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRkFLRVJPT1RCQVNFRU5WJz48ZmlsZW5hbWU+RkFLRVJPT1RCQVNFRU5WPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItRkFLRVJPT1RCQVNFRU5WJz48ZmlsZW5hbWU+RkFLRVJPT1RCQVNFRU5WPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1GQUtFUk9PVE5PRU5WJz48Z2xvc3N0ZXJtPkZBS0VST09UTk9FTlY8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1GQUtFUk9PVE5PRU5WJz48Z2xvc3N0ZXJtPkZBS0VST09UTk9FTlY8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgIExpc3RzIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgd2hlbiBydW5uaW5nIGEgdGFzawogICAgICAgICAgICAgICAgICAgICAgdGhhdCBpcyBub3QgaW4gdGhlIGZha2Vyb290IGVudmlyb25tZW50LgogICAgICAgICAgICAgICAgICAgICAgRm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb24gZW52aXJvbm1lbnQgdmFyaWFibGVzIGFuZAogICAgICAgICAgICAgICAgICAgICAgdGhlIGZha2Vyb290IGVudmlyb25tZW50LCBzZWUgdGhlCi0gICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRkFLRVJPT1RFTlYnPjxmaWxlbmFtZT5GQUtFUk9PVEVOVjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUZBS0VST09URU5WJz48ZmlsZW5hbWU+RkFLRVJPT1RFTlY8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUZFVENIQ01EJz48Z2xvc3N0ZXJtPkZFVENIQ01EPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItRkVUQ0hDTUQnPjxnbG9zc3Rlcm0+RkVUQ0hDTUQ8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgRGVmaW5lcyB0aGUgY29tbWFuZCB0aGUgQml0QmFrZSBmZXRjaGVyIG1vZHVsZQpAQCAtMTU5NSw3ICsxNTk1LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUZJTEUnPjxnbG9zc3Rlcm0+RklMRTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUZJTEUnPjxnbG9zc3Rlcm0+RklMRTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBQb2ludHMgYXQgdGhlIGN1cnJlbnQgZmlsZS4KQEAgLTE2MDcsNyArMTYwNyw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1GSUxFU1BBVEgnPjxnbG9zc3Rlcm0+RklMRVNQQVRIPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItRklMRVNQQVRIJz48Z2xvc3N0ZXJtPkZJTEVTUEFUSDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgZGlyZWN0b3JpZXMgQml0QmFrZSB1c2VzIHdoZW4gc2VhcmNoaW5nIGZvcgpAQCAtMTYyNSw5ICsxNjI1LDkgQEAKICAgICA8L2dsb3NzZGl2PgogCiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1nJz48dGl0bGU+RzwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktZyc+PHRpdGxlPkc8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItR0lURElSJz48Z2xvc3N0ZXJtPkdJVERJUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUdJVERJUic+PGdsb3NzdGVybT5HSVRESVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGRpcmVjdG9yeSBpbiB3aGljaCBhIGxvY2FsIGNvcHkgb2YgYSBHaXQgcmVwb3NpdG9yeQpAQCAtMTYzOSw5ICsxNjM5LDkgQEAKICAgICA8L2dsb3NzZGl2PgogCiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1oJz48dGl0bGU+SDwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktaCc+PHRpdGxlPkg8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItSEdESVInPjxnbG9zc3Rlcm0+SEdESVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1IR0RJUic+PGdsb3NzdGVybT5IR0RJUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBUaGUgZGlyZWN0b3J5IGluIHdoaWNoIGZpbGVzIGNoZWNrZWQgb3V0IG9mIGEgTWVyY3VyaWFsCkBAIC0xNjUwLDcgKzE2NTAsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItSE9NRVBBR0UnPjxnbG9zc3Rlcm0+SE9NRVBBR0U8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1IT01FUEFHRSc+PGdsb3NzdGVybT5IT01FUEFHRTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPldlYnNpdGUgd2hlcmUgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc29mdHdhcmUgdGhlIHJlY2lwZSBpcyBidWlsZGluZwogICAgICAgICAgICAgICAgICAgICBjYW4gYmUgZm91bmQuPC9wYXJhPgpAQCAtMTY1OSw5ICsxNjU5LDkgQEAKIAogICAgIDwvZ2xvc3NkaXY+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1pJz48dGl0bGU+STwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktaSc+PHRpdGxlPkk8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItSU5IRVJJVCc+PGdsb3NzdGVybT5JTkhFUklUPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItSU5IRVJJVCc+PGdsb3NzdGVybT5JTkhFUklUPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIENhdXNlcyB0aGUgbmFtZWQgY2xhc3Mgb3IgY2xhc3NlcyB0byBiZSBpbmhlcml0ZWQgZ2xvYmFsbHkuCkBAIC0xNjkxLDE1ICsxNjkxLDE1IEBACiAgICAgPC9nbG9zc2Rpdj4KIC0tPgogCi0gICAgPGdsb3NzZGl2IGlkPSd2YXItZ2xvc3NhcnktbCc+PHRpdGxlPkw8L3RpdGxlPgorICAgIDxnbG9zc2RpdiBpZD0ndmFyLWJiLWdsb3NzYXJ5LWwnPjx0aXRsZT5MPC90aXRsZT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUxBWUVSREVQRU5EUyc+PGdsb3NzdGVybT5MQVlFUkRFUEVORFM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1MQVlFUkRFUEVORFMnPjxnbG9zc3Rlcm0+TEFZRVJERVBFTkRTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+TGlzdHMgdGhlIGxheWVycywgc2VwYXJhdGVkIGJ5IHNwYWNlcywgdXBvbiB3aGljaCB0aGlzIHJlY2lwZSBkZXBlbmRzLgogICAgICAgICAgICAgICAgICAgICBPcHRpb25hbGx5LCB5b3UgY2FuIHNwZWNpZnkgYSBzcGVjaWZpYyBsYXllciB2ZXJzaW9uIGZvciBhIGRlcGVuZGVuY3kKICAgICAgICAgICAgICAgICAgICAgYnkgYWRkaW5nIGl0IHRvIHRoZSBlbmQgb2YgdGhlIGxheWVyIG5hbWUgd2l0aCBhIGNvbG9uLCAoZS5nLiAiYW5vdGhlcmxheWVyOjMiCiAgICAgICAgICAgICAgICAgICAgIHRvIGJlIGNvbXBhcmVkIGFnYWluc3QKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUxBWUVSVkVSU0lPTic+PGZpbGVuYW1lPkxBWUVSVkVSU0lPTjwvZmlsZW5hbWU+PC9saW5rPjxmaWxlbmFtZT5fYW5vdGhlcmxheWVyPC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUxBWUVSVkVSU0lPTic+PGZpbGVuYW1lPkxBWUVSVkVSU0lPTjwvZmlsZW5hbWU+PC9saW5rPjxmaWxlbmFtZT5fYW5vdGhlcmxheWVyPC9maWxlbmFtZT4KICAgICAgICAgICAgICAgICAgICAgaW4gdGhpcyBjYXNlKS4KICAgICAgICAgICAgICAgICAgICAgQml0QmFrZSBwcm9kdWNlcyBhbiBlcnJvciBpZiBhbnkgZGVwZW5kZW5jeSBpcyBtaXNzaW5nIG9yCiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJzaW9uIG51bWJlcnMgZG8gbm90IG1hdGNoIGV4YWN0bHkgKGlmIHNwZWNpZmllZCkuPC9wYXJhPgpAQCAtMTcxMCw3ICsxNzEwLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUxBWUVSRElSJz48Z2xvc3N0ZXJtPkxBWUVSRElSPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItTEFZRVJESVInPjxnbG9zc3Rlcm0+TEFZRVJESVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT5XaGVuIHVzZWQgaW5zaWRlIHRoZSA8ZmlsZW5hbWU+bGF5ZXIuY29uZjwvZmlsZW5hbWU+IGNvbmZpZ3VyYXRpb24KICAgICAgICAgICAgICAgICAgICAgZmlsZSwgdGhpcyB2YXJpYWJsZSBwcm92aWRlcyB0aGUgcGF0aCBvZiB0aGUgY3VycmVudCBsYXllci4KQEAgLTE3MTksMjIgKzE3MTksMjIgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUxBWUVSRElSX1JFJz48Z2xvc3N0ZXJtPkxBWUVSRElSX1JFPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItTEFZRVJESVJfUkUnPjxnbG9zc3Rlcm0+TEFZRVJESVJfUkU8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT5XaGVuIHVzZWQgaW5zaWRlIHRoZSA8ZmlsZW5hbWU+bGF5ZXIuY29uZjwvZmlsZW5hbWU+IGNvbmZpZ3VyYXRpb24KICAgICAgICAgICAgICAgICAgICAgZmlsZSwgdGhpcyB2YXJpYWJsZSBwcm92aWRlcyB0aGUgcGF0aCBvZiB0aGUgY3VycmVudCBsYXllciwKICAgICAgICAgICAgICAgICAgICAgZXNjYXBlZCBmb3IgdXNlIGluIGEgcmVndWxhciBleHByZXNzaW9uCi0gICAgICAgICAgICAgICAgICAgICg8bGluayBsaW5rZW5kPSd2YXItQkJGSUxFX1BBVFRFUk4nPjxmaWxlbmFtZT5CQkZJTEVfUEFUVEVSTjwvZmlsZW5hbWU+PC9saW5rPikuCisgICAgICAgICAgICAgICAgICAgICg8bGluayBsaW5rZW5kPSd2YXItYmItQkJGSUxFX1BBVFRFUk4nPjxmaWxlbmFtZT5CQkZJTEVfUEFUVEVSTjwvZmlsZW5hbWU+PC9saW5rPikuCiAgICAgICAgICAgICAgICAgICAgIFRoaXMgdmFyaWFibGUgaXMgbm90IGF2YWlsYWJsZSBvdXRzaWRlIG9mIDxmaWxlbmFtZT5sYXllci5jb25mPC9maWxlbmFtZT4KICAgICAgICAgICAgICAgICAgICAgYW5kIHJlZmVyZW5jZXMgYXJlIGV4cGFuZGVkIGltbWVkaWF0ZWx5IHdoZW4gcGFyc2luZyBvZiB0aGUgZmlsZSBjb21wbGV0ZXMuPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItTEFZRVJWRVJTSU9OJz48Z2xvc3N0ZXJtPkxBWUVSVkVSU0lPTjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUxBWUVSVkVSU0lPTic+PGdsb3NzdGVybT5MQVlFUlZFUlNJT048L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT5PcHRpb25hbGx5IHNwZWNpZmllcyB0aGUgdmVyc2lvbiBvZiBhIGxheWVyIGFzIGEgc2luZ2xlIG51bWJlci4KICAgICAgICAgICAgICAgICAgICAgWW91IGNhbiB1c2UgdGhpcyB2YXJpYWJsZSB3aXRoaW4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUxBWUVSREVQRU5EUyc+PGZpbGVuYW1lPkxBWUVSREVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItTEFZRVJERVBFTkRTJz48ZmlsZW5hbWU+TEFZRVJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIGZvciBhbm90aGVyIGxheWVyIGluIG9yZGVyIHRvIGRlcGVuZCBvbiBhIHNwZWNpZmljIHZlcnNpb24KICAgICAgICAgICAgICAgICAgICAgb2YgdGhlIGxheWVyLjwvcGFyYT4KICAgICAgICAgICAgICAgICA8cGFyYT4KQEAgLTE3NDQsNyArMTc0NCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1MSUNFTlNFJz48Z2xvc3N0ZXJtPkxJQ0VOU0U8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1MSUNFTlNFJz48Z2xvc3N0ZXJtPkxJQ0VOU0U8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGxpc3Qgb2Ygc291cmNlIGxpY2Vuc2VzIGZvciB0aGUgcmVjaXBlLgpAQCAtMTc1NCw5ICsxNzU0LDkgQEAKIAogICAgIDwvZ2xvc3NkaXY+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1tJz48dGl0bGU+TTwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktbSc+PHRpdGxlPk08L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItTUlSUk9SUyc+PGdsb3NzdGVybT5NSVJST1JTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItTUlSUk9SUyc+PGdsb3NzdGVybT5NSVJST1JTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyBhZGRpdGlvbmFsIHBhdGhzIGZyb20gd2hpY2ggQml0QmFrZSBnZXRzIHNvdXJjZSBjb2RlLgpAQCAtMTc2NCwxNCArMTc2NCwxNCBAQAogICAgICAgICAgICAgICAgICAgICB0cmllcyB0aGUgbG9jYWwgZG93bmxvYWQgZGlyZWN0b3J5LgogICAgICAgICAgICAgICAgICAgICBJZiB0aGF0IGxvY2F0aW9uIGZhaWxzLCB0aGUgYnVpbGQgc3lzdGVtIHRyaWVzIGxvY2F0aW9ucwogICAgICAgICAgICAgICAgICAgICBkZWZpbmVkIGJ5Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QUkVNSVJST1JTJz48ZmlsZW5hbWU+UFJFTUlSUk9SUzwvZmlsZW5hbWU+PC9saW5rPiwKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBSRU1JUlJPUlMnPjxmaWxlbmFtZT5QUkVNSVJST1JTPC9maWxlbmFtZT48L2xpbms+LAogICAgICAgICAgICAgICAgICAgICB0aGUgdXBzdHJlYW0gc291cmNlLCBhbmQgdGhlbiBsb2NhdGlvbnMgc3BlY2lmaWVkIGJ5CiAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5NSVJST1JTPC9maWxlbmFtZT4gaW4gdGhhdCBvcmRlci4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1NVUxUSV9QUk9WSURFUl9XSElURUxJU1QnPjxnbG9zc3Rlcm0+TVVMVElfUFJPVklERVJfV0hJVEVMSVNUPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItTVVMVElfUFJPVklERVJfV0hJVEVMSVNUJz48Z2xvc3N0ZXJtPk1VTFRJX1BST1ZJREVSX1dISVRFTElTVDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBBbGxvd3MgeW91IHRvIHN1cHByZXNzIEJpdEJha2Ugd2FybmluZ3MgY2F1c2VkIHdoZW4KQEAgLTE4MDQsOSArMTgwNCw5IEBACiAgICAgPC9nbG9zc2Rpdj4KIC0tPgogCi0gICAgPGdsb3NzZGl2IGlkPSd2YXItZ2xvc3Nhcnktbyc+PHRpdGxlPk88L3RpdGxlPgorICAgIDxnbG9zc2RpdiBpZD0ndmFyLWJiLWdsb3NzYXJ5LW8nPjx0aXRsZT5PPC90aXRsZT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLU9WRVJSSURFUyc+PGdsb3NzdGVybT5PVkVSUklERVM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1PVkVSUklERVMnPjxnbG9zc3Rlcm0+T1ZFUlJJREVTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEJpdEJha2UgdXNlcyA8ZmlsZW5hbWU+T1ZFUlJJREVTPC9maWxlbmFtZT4gdG8gY29udHJvbApAQCAtMTgyOSw5ICsxODI5LDkgQEAKICAgICAgICAgPC9nbG9zc2VudHJ5PgogICAgIDwvZ2xvc3NkaXY+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1wJz48dGl0bGU+UDwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktcCc+PHRpdGxlPlA8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUDRESVInPjxnbG9zc3Rlcm0+UDRESVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QNERJUic+PGdsb3NzdGVybT5QNERJUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBUaGUgZGlyZWN0b3J5IGluIHdoaWNoIGEgbG9jYWwgY29weSBvZiBhIFBlcmZvcmNlIGRlcG90CkBAIC0xODQwLDE0ICsxODQwLDE0IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1QQUNLQUdFUyc+PGdsb3NzdGVybT5QQUNLQUdFUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVBBQ0tBR0VTJz48Z2xvc3N0ZXJtPlBBQ0tBR0VTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+VGhlIGxpc3Qgb2YgcGFja2FnZXMgdGhlIHJlY2lwZSBjcmVhdGVzLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVBBQ0tBR0VTX0RZTkFNSUMnPjxnbG9zc3Rlcm0+UEFDS0FHRVNfRFlOQU1JQzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVBBQ0tBR0VTX0RZTkFNSUMnPjxnbG9zc3Rlcm0+UEFDS0FHRVNfRFlOQU1JQzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBBIHByb21pc2UgdGhhdCB5b3VyIHJlY2lwZSBzYXRpc2ZpZXMgcnVudGltZSBkZXBlbmRlbmNpZXMKQEAgLTE4NTYsNyArMTg1Niw3IEBACiAgICAgICAgICAgICAgICAgICAgIGRvZXMgbm90IGFjdHVhbGx5IHNhdGlzZnkgdGhlIGRlcGVuZGVuY2llcywgaXQgb25seSBzdGF0ZXMgdGhhdAogICAgICAgICAgICAgICAgICAgICB0aGV5IHNob3VsZCBiZSBzYXRpc2ZpZWQuCiAgICAgICAgICAgICAgICAgICAgIEZvciBleGFtcGxlLCBpZiBhIGhhcmQsIHJ1bnRpbWUgZGVwZW5kZW5jeQotICAgICAgICAgICAgICAgICAgICAoPGxpbmsgbGlua2VuZD0ndmFyLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4pCisgICAgICAgICAgICAgICAgICAgICg8bGluayBsaW5rZW5kPSd2YXItYmItUkRFUEVORFMnPjxmaWxlbmFtZT5SREVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPikKICAgICAgICAgICAgICAgICAgICAgb2YgYW5vdGhlciBwYWNrYWdlIGlzIHNhdGlzZmllZCBkdXJpbmcgdGhlIGJ1aWxkCiAgICAgICAgICAgICAgICAgICAgIHRocm91Z2ggdGhlIDxmaWxlbmFtZT5QQUNLQUdFU19EWU5BTUlDPC9maWxlbmFtZT4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUsIGJ1dCBhIHBhY2thZ2Ugd2l0aCB0aGUgbW9kdWxlIG5hbWUgaXMgbmV2ZXIgYWN0dWFsbHkKQEAgLTE4NjUsNyArMTg2NSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1QRSc+PGdsb3NzdGVybT5QRTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVBFJz48Z2xvc3N0ZXJtPlBFPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBlcG9jaCBvZiB0aGUgcmVjaXBlLgpAQCAtMTg3Nyw3ICsxODc3LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVBFUlNJU1RFTlRfRElSJz48Z2xvc3N0ZXJtPlBFUlNJU1RFTlRfRElSPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUEVSU0lTVEVOVF9ESVInPjxnbG9zc3Rlcm0+UEVSU0lTVEVOVF9ESVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIHRoZSBkaXJlY3RvcnkgQml0QmFrZSB1c2VzIHRvIHN0b3JlIGRhdGEgdGhhdApAQCAtMTg4OSw3ICsxODg5LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVBGJz48Z2xvc3N0ZXJtPlBGPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUEYnPjxnbG9zc3Rlcm0+UEY8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIHRoZSByZWNpcGUgb3IgcGFja2FnZSBuYW1lIGFuZCBpbmNsdWRlcyBhbGwgdmVyc2lvbiBhbmQgcmV2aXNpb24KQEAgLTE4OTksMjcgKzE4OTksMjcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVBOJz48Z2xvc3N0ZXJtPlBOPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUE4nPjxnbG9zc3Rlcm0+UE48L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT5UaGUgcmVjaXBlIG5hbWUuPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUFInPjxnbG9zc3Rlcm0+UFI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QUic+PGdsb3NzdGVybT5QUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPlRoZSByZXZpc2lvbiBvZiB0aGUgcmVjaXBlLgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1QUkVGRVJSRURfUFJPVklERVInPjxnbG9zc3Rlcm0+UFJFRkVSUkVEX1BST1ZJREVSPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUFJFRkVSUkVEX1BST1ZJREVSJz48Z2xvc3N0ZXJtPlBSRUZFUlJFRF9QUk9WSURFUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBEZXRlcm1pbmVzIHdoaWNoIHJlY2lwZSBzaG91bGQgYmUgZ2l2ZW4gcHJlZmVyZW5jZSB3aGVuCiAgICAgICAgICAgICAgICAgICAgIG11bHRpcGxlIHJlY2lwZXMgcHJvdmlkZSB0aGUgc2FtZSBpdGVtLgogICAgICAgICAgICAgICAgICAgICBZb3Ugc2hvdWxkIGFsd2F5cyBzdWZmaXggdGhlIHZhcmlhYmxlIHdpdGggdGhlIG5hbWUgb2YgdGhlCiAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVkIGl0ZW0sIGFuZCB5b3Ugc2hvdWxkIHNldCBpdCB0byB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBOJz48ZmlsZW5hbWU+UE48L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBOJz48ZmlsZW5hbWU+UE48L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgb2YgdGhlIHJlY2lwZSB0byB3aGljaCB5b3Ugd2FudCB0byBnaXZlIHByZWNlZGVuY2UuCiAgICAgICAgICAgICAgICAgICAgIFNvbWUgZXhhbXBsZXM6CiAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KQEAgLTE5MzEsMTQgKzE5MzEsMTQgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVBSRUZFUlJFRF9QUk9WSURFUlMnPjxnbG9zc3Rlcm0+UFJFRkVSUkVEX1BST1ZJREVSUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVBSRUZFUlJFRF9QUk9WSURFUlMnPjxnbG9zc3Rlcm0+UFJFRkVSUkVEX1BST1ZJREVSUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBEZXRlcm1pbmVzIHdoaWNoIHJlY2lwZSBzaG91bGQgYmUgZ2l2ZW4gcHJlZmVyZW5jZSBmb3IKICAgICAgICAgICAgICAgICAgICAgY2FzZXMgd2hlcmUgbXVsdGlwbGUgcmVjaXBlcyBwcm92aWRlIHRoZSBzYW1lIGl0ZW0uCiAgICAgICAgICAgICAgICAgICAgIEZ1bmN0aW9uYWxseSwKICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPlBSRUZFUlJFRF9QUk9WSURFUlM8L2ZpbGVuYW1lPiBpcyBpZGVudGljYWwgdG8KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBSRUZFUlJFRF9QUk9WSURFUic+PGZpbGVuYW1lPlBSRUZFUlJFRF9QUk9WSURFUjwvZmlsZW5hbWU+PC9saW5rPi4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBSRUZFUlJFRF9QUk9WSURFUic+PGZpbGVuYW1lPlBSRUZFUlJFRF9QUk9WSURFUjwvZmlsZW5hbWU+PC9saW5rPi4KICAgICAgICAgICAgICAgICAgICAgSG93ZXZlciwgdGhlIDxmaWxlbmFtZT5QUkVGRVJSRURfUFJPVklERVJTPC9maWxlbmFtZT4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgbGV0cyB5b3UgZGVmaW5lIHByZWZlcmVuY2VzIGZvciBtdWx0aXBsZQogICAgICAgICAgICAgICAgICAgICBzaXR1YXRpb25zIHVzaW5nIHRoZSBmb2xsb3dpbmcgZm9ybToKQEAgLTE5NTQsMTUgKzE5NTQsMTUgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVBSRUZFUlJFRF9WRVJTSU9OJz48Z2xvc3N0ZXJtPlBSRUZFUlJFRF9WRVJTSU9OPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUFJFRkVSUkVEX1ZFUlNJT04nPjxnbG9zc3Rlcm0+UFJFRkVSUkVEX1ZFUlNJT048L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgSWYgdGhlcmUgYXJlIG11bHRpcGxlIHZlcnNpb25zIG9mIHJlY2lwZXMgYXZhaWxhYmxlLCB0aGlzCiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIGRldGVybWluZXMgd2hpY2ggcmVjaXBlIHNob3VsZCBiZSBnaXZlbiBwcmVmZXJlbmNlLgogICAgICAgICAgICAgICAgICAgICBZb3UgbXVzdCBhbHdheXMgc3VmZml4IHRoZSB2YXJpYWJsZSB3aXRoIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB5b3Ugd2FudCB0byBzZWxlY3QsIGFuZCB5b3Ugc2hvdWxkIHNldAotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUFYnPjxmaWxlbmFtZT5QVjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFYnPjxmaWxlbmFtZT5QVjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICBhY2NvcmRpbmdseSBmb3IgcHJlY2VkZW5jZS4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAKQEAgLTE5ODksNyArMTk4OSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1QUkVNSVJST1JTJz48Z2xvc3N0ZXJtPlBSRU1JUlJPUlM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QUkVNSVJST1JTJz48Z2xvc3N0ZXJtPlBSRU1JUlJPUlM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIGFkZGl0aW9uYWwgcGF0aHMgZnJvbSB3aGljaCBCaXRCYWtlIGdldHMgc291cmNlIGNvZGUuCkBAIC0xOTk4LDcgKzE5OTgsNyBAQAogICAgICAgICAgICAgICAgICAgICBJZiB0aGF0IGxvY2F0aW9uIGZhaWxzLCB0aGUgYnVpbGQgc3lzdGVtIHRyaWVzIGxvY2F0aW9ucwogICAgICAgICAgICAgICAgICAgICBkZWZpbmVkIGJ5IDxmaWxlbmFtZT5QUkVNSVJST1JTPC9maWxlbmFtZT4sIHRoZSB1cHN0cmVhbQogICAgICAgICAgICAgICAgICAgICBzb3VyY2UsIGFuZCB0aGVuIGxvY2F0aW9ucyBzcGVjaWZpZWQgYnkKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLU1JUlJPUlMnPjxmaWxlbmFtZT5NSVJST1JTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1NSVJST1JTJz48ZmlsZW5hbWU+TUlSUk9SUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICBpbiB0aGF0IG9yZGVyLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KIApAQCAtMjAyMiwyMCArMjAyMiwyMCBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUFJPVklERVMnPjxnbG9zc3Rlcm0+UFJPVklERVM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QUk9WSURFUyc+PGdsb3NzdGVybT5QUk9WSURFUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBBIGxpc3Qgb2YgYWxpYXNlcyBieSB3aGljaCBhIHBhcnRpY3VsYXIgcmVjaXBlIGNhbiBiZQogICAgICAgICAgICAgICAgICAgICBrbm93bi4KICAgICAgICAgICAgICAgICAgICAgQnkgZGVmYXVsdCwgYSByZWNpcGUncyBvd24KLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1QTic+UE48L2xpbms+PC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QTic+UE48L2xpbms+PC9maWxlbmFtZT4KICAgICAgICAgICAgICAgICAgICAgaXMgaW1wbGljaXRseSBhbHJlYWR5IGluIGl0cyA8ZmlsZW5hbWU+UFJPVklERVM8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICBsaXN0LgogICAgICAgICAgICAgICAgICAgICBJZiBhIHJlY2lwZSB1c2VzIDxmaWxlbmFtZT5QUk9WSURFUzwvZmlsZW5hbWU+LCB0aGUKICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbCBhbGlhc2VzIGFyZSBzeW5vbnltcyBmb3IgdGhlIHJlY2lwZSBhbmQgY2FuCiAgICAgICAgICAgICAgICAgICAgIGJlIHVzZWZ1bCBzYXRpc2Z5aW5nIGRlcGVuZGVuY2llcyBvZiBvdGhlciByZWNpcGVzIGR1cmluZwogICAgICAgICAgICAgICAgICAgICB0aGUgYnVpbGQgYXMgc3BlY2lmaWVkIGJ5Ci0gICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItREVQRU5EUyc+REVQRU5EUzwvbGluaz48L2ZpbGVuYW1lPi4KKyAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERVBFTkRTJz5ERVBFTkRTPC9saW5rPjwvZmlsZW5hbWU+LgogICAgICAgICAgICAgICAgIDwvcGFyYT4KIAogICAgICAgICAgICAgICAgIDxwYXJhPgpAQCAtMjA1OSw3ICsyMDU5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgdmlydHVhbCB0YXJnZXQgaW4gPGZpbGVuYW1lPlBST1ZJREVTPC9maWxlbmFtZT4uCiAgICAgICAgICAgICAgICAgICAgIFJlY2lwZXMgdGhhdCBkZXBlbmQgb24gdGhlIGZ1bmN0aW9uYWxpdHkgaW4gcXVlc3Rpb24gY2FuCiAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGUgdGhlIHZpcnR1YWwgdGFyZ2V0IGluCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItREVQRU5EUyc+PGZpbGVuYW1lPkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdG8gbGVhdmUgdGhlIGNob2ljZSBvZiBwcm92aWRlciBvcGVuLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KIApAQCAtMjA3MiwxMSArMjA3MiwxMSBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUFJTRVJWX0hPU1QnPjxnbG9zc3Rlcm0+UFJTRVJWX0hPU1Q8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QUlNFUlZfSE9TVCc+PGdsb3NzdGVybT5QUlNFUlZfSE9TVDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBUaGUgbmV0d29yayBiYXNlZAotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUFInPjxmaWxlbmFtZT5QUjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFInPjxmaWxlbmFtZT5QUjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlIGhvc3QgYW5kIHBvcnQuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCkBAIC0yMDk0LDcgKzIwOTQsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUFYnPjxnbG9zc3Rlcm0+UFY8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QVic+PGdsb3NzdGVybT5QVjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPlRoZSB2ZXJzaW9uIG9mIHRoZSByZWNpcGUuCiAgICAgICAgICAgICAgICAgIDwvcGFyYT4KQEAgLTIxMDgsOSArMjEwOCw5IEBACiAgICAgPC9nbG9zc2Rpdj4KIC0tPgogCi0gICAgPGdsb3NzZGl2IGlkPSd2YXItZ2xvc3Nhcnktcic+PHRpdGxlPlI8L3RpdGxlPgorICAgIDxnbG9zc2RpdiBpZD0ndmFyLWJiLWdsb3NzYXJ5LXInPjx0aXRsZT5SPC90aXRsZT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVJERVBFTkRTJz48Z2xvc3N0ZXJtPlJERVBFTkRTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUkRFUEVORFMnPjxnbG9zc3Rlcm0+UkRFUEVORFM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgTGlzdHMgYSBwYWNrYWdlJ3MgcnVudGltZSBkZXBlbmRlbmNpZXMgKGkuZS4gb3RoZXIgcGFja2FnZXMpCkBAIC0yMTY1LDEzICsyMTY1LDEzIEBACiAKICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgRm9yIGluZm9ybWF0aW9uIG9uIGJ1aWxkLXRpbWUgZGVwZW5kZW5jaWVzLCBzZWUgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItREVQRU5EUyc+PGZpbGVuYW1lPkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUkVQT0RJUic+PGdsb3NzdGVybT5SRVBPRElSPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUkVQT0RJUic+PGdsb3NzdGVybT5SRVBPRElSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggYSBsb2NhbCBjb3B5IG9mIGEKQEAgLTIxODEsMTQgKzIxODEsMTQgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVJQUk9WSURFUyc+PGdsb3NzdGVybT5SUFJPVklERVM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1SUFJPVklERVMnPjxnbG9zc3Rlcm0+UlBST1ZJREVTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEEgbGlzdCBvZiBwYWNrYWdlIG5hbWUgYWxpYXNlcyB0aGF0IGEgcGFja2FnZSBhbHNvIHByb3ZpZGVzLgogICAgICAgICAgICAgICAgICAgICBUaGVzZSBhbGlhc2VzIGFyZSB1c2VmdWwgZm9yIHNhdGlzZnlpbmcgcnVudGltZSBkZXBlbmRlbmNpZXMKICAgICAgICAgICAgICAgICAgICAgb2Ygb3RoZXIgcGFja2FnZXMgYm90aCBkdXJpbmcgdGhlIGJ1aWxkIGFuZCBvbiB0aGUgdGFyZ2V0CiAgICAgICAgICAgICAgICAgICAgIChhcyBzcGVjaWZpZWQgYnkKLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1SREVQRU5EUyc+UkRFUEVORFM8L2xpbms+PC9maWxlbmFtZT4pLgorICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLWJiLVJERVBFTkRTJz5SREVQRU5EUzwvbGluaz48L2ZpbGVuYW1lPikuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgIEFzIHdpdGggYWxsIHBhY2thZ2UtY29udHJvbGxpbmcgdmFyaWFibGVzLCB5b3UgbXVzdCBhbHdheXMKQEAgLTIyMDEsNyArMjIwMSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1SUkVDT01NRU5EUyc+PGdsb3NzdGVybT5SUkVDT01NRU5EUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVJSRUNPTU1FTkRTJz48Z2xvc3N0ZXJtPlJSRUNPTU1FTkRTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEEgbGlzdCBvZiBwYWNrYWdlcyB0aGF0IGV4dGVuZHMgdGhlIHVzYWJpbGl0eSBvZiBhIHBhY2thZ2UKQEAgLTIyMTAsNyArMjIxMCw3IEBACiAgICAgICAgICAgICAgICAgICAgIHBhY2thZ2VzIGluIG9yZGVyIHRvIHN1Y2Nlc3NmdWxseSBidWlsZCwgYnV0IG5lZWRzIHRoZW0gZm9yCiAgICAgICAgICAgICAgICAgICAgIHRoZSBleHRlbmRlZCB1c2FiaWxpdHkuCiAgICAgICAgICAgICAgICAgICAgIFRvIHNwZWNpZnkgcnVudGltZSBkZXBlbmRlbmNpZXMgZm9yIHBhY2thZ2VzLCBzZWUgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItUkRFUEVORFMnPlJERVBFTkRTPC9saW5rPjwvZmlsZW5hbWU+CisgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItYmItUkRFUEVORFMnPlJERVBFTkRTPC9saW5rPjwvZmlsZW5hbWU+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KIApAQCAtMjI0MywxNSArMjI0MywxNSBAQAogCiAgICAgPC9nbG9zc2Rpdj4KIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LXMnPjx0aXRsZT5TPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1zJz48dGl0bGU+UzwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1TRUNUSU9OJz48Z2xvc3N0ZXJtPlNFQ1RJT048L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1TRUNUSU9OJz48Z2xvc3N0ZXJtPlNFQ1RJT048L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT5UaGUgc2VjdGlvbiBpbiB3aGljaCBwYWNrYWdlcyBzaG91bGQgYmUgY2F0ZWdvcml6ZWQuPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItU1JDX1VSSSc+PGdsb3NzdGVybT5TUkNfVVJJPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItU1JDX1VSSSc+PGdsb3NzdGVybT5TUkNfVVJJPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBsaXN0IG9mIHNvdXJjZSBmaWxlcyAtIGxvY2FsIG9yIHJlbW90ZS4KQEAgLTIyNzIsNyArMjI3Miw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG1ldGFkYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gdGhlIGxvY2FsIG1hY2hpbmUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHBhdGggaXMgcmVsYXRpdmUgdG8gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUZJTEVTUEFUSCc+PGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1GSUxFU1BBVEgnPjxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS48L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+PGZpbGVuYW1lPmJ6cjovLzwvZmlsZW5hbWU+IC08L2VtcGhhc2lzPiBGZXRjaGVzIGZpbGVzIGZyb20gYQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhemFhciByZXZpc2lvbiBjb250cm9sIHJlcG9zaXRvcnkuPC9wYXJhPjwvbGlzdGl0ZW0+CkBAIC0yMzIyLDcgKzIzMjIsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItU1JDREFURSc+PGdsb3NzdGVybT5TUkNEQVRFPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItU1JDREFURSc+PGdsb3NzdGVybT5TUkNEQVRFPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBkYXRlIG9mIHRoZSBzb3VyY2UgY29kZSB1c2VkIHRvIGJ1aWxkIHRoZSBwYWNrYWdlLgpAQCAtMjMzMSw3ICsyMzMxLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVNSQ1JFVic+PGdsb3NzdGVybT5TUkNSRVY8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1TUkNSRVYnPjxnbG9zc3Rlcm0+U1JDUkVWPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSByZXZpc2lvbiBvZiB0aGUgc291cmNlIGNvZGUgdXNlZCB0byBidWlsZCB0aGUgcGFja2FnZS4KQEAgLTIzNDQsMTMgKzIzNDQsMTMgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVNSQ1JFVl9GT1JNQVQnPjxnbG9zc3Rlcm0+U1JDUkVWX0ZPUk1BVDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVNSQ1JFVl9GT1JNQVQnPjxnbG9zc3Rlcm0+U1JDUkVWX0ZPUk1BVDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBIZWxwcyBjb25zdHJ1Y3QgdmFsaWQKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNSQ1JFVic+PGZpbGVuYW1lPlNSQ1JFVjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItU1JDUkVWJz48ZmlsZW5hbWU+U1JDUkVWPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcyB3aGVuIG11bHRpcGxlIHNvdXJjZSBjb250cm9sbGVkIFVSTHMgYXJlIHVzZWQgaW4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNSQ19VUkknPjxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT48L2xpbms+LgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItU1JDX1VSSSc+PGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPjwvbGluaz4uCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICAgICAgICAgPHBhcmE+CkBAIC0yMzcxLDcgKzIzNzEsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItU1RBTVAnPjxnbG9zc3Rlcm0+U1RBTVA8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1TVEFNUCc+PGdsb3NzdGVybT5TVEFNUDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgdGhlIGJhc2UgcGF0aCB1c2VkIHRvIGNyZWF0ZSByZWNpcGUgc3RhbXAgZmlsZXMuCkBAIC0yMzgxLDEyICsyMzgxLDEyIEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1TVEFNUENMRUFOJz48Z2xvc3N0ZXJtPlNUQU1QQ0xFQU48L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1TVEFNUENMRUFOJz48Z2xvc3N0ZXJtPlNUQU1QQ0xFQU48L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIHRoZSBiYXNlIHBhdGggdXNlZCB0byBjcmVhdGUgcmVjaXBlIHN0YW1wIGZpbGVzLgogICAgICAgICAgICAgICAgICAgICBVbmxpa2UgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TVEFNUCc+PGZpbGVuYW1lPlNUQU1QPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TVEFNUCc+PGZpbGVuYW1lPlNUQU1QPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLCA8ZmlsZW5hbWU+U1RBTVBDTEVBTjwvZmlsZW5hbWU+IGNhbiBjb250YWluCiAgICAgICAgICAgICAgICAgICAgIHdpbGRjYXJkcyB0byBtYXRjaCB0aGUgcmFuZ2Ugb2YgZmlsZXMgYSBjbGVhbiBvcGVyYXRpb24KICAgICAgICAgICAgICAgICAgICAgc2hvdWxkIHJlbW92ZS4KQEAgLTIzOTYsNyArMjM5Niw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1TVU1NQVJZJz48Z2xvc3N0ZXJtPlNVTU1BUlk8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1TVU1NQVJZJz48Z2xvc3N0ZXJtPlNVTU1BUlk8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQSBzaG9ydCBzdW1tYXJ5IGZvciB0aGUgcmVjaXBlLCB3aGljaCBpcyA3MiBjaGFyYWN0ZXJzIG9yIGxlc3MuCkBAIC0yNDA0LDcgKzI0MDQsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItU1ZORElSJz48Z2xvc3N0ZXJtPlNWTkRJUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVNWTkRJUic+PGdsb3NzdGVybT5TVk5ESVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGRpcmVjdG9yeSBpbiB3aGljaCBmaWxlcyBjaGVja2VkIG91dCBvZiBhIFN1YnZlcnNpb24KQEAgLTI0MTUsOSArMjQxNSw5IEBACiAKICAgICA8L2dsb3NzZGl2PgogCi0gICAgPGdsb3NzZGl2IGlkPSd2YXItZ2xvc3NhcnktdCc+PHRpdGxlPlQ8L3RpdGxlPgorICAgIDxnbG9zc2RpdiBpZD0ndmFyLWJiLWdsb3NzYXJ5LXQnPjx0aXRsZT5UPC90aXRsZT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVQnPjxnbG9zc3Rlcm0+VDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVQnPjxnbG9zc3Rlcm0+VDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPlBvaW50cyB0byBhIGRpcmVjdG9yeSB3ZXJlIEJpdEJha2UgcGxhY2VzCiAgICAgICAgICAgICAgICAgICAgIHRlbXBvcmFyeSBmaWxlcywgd2hpY2ggY29uc2lzdCBtb3N0bHkgb2YgdGFzayBsb2dzIGFuZApAQCAtMjQyNiw3ICsyNDI2LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVRPUERJUic+PGdsb3NzdGVybT5UT1BESVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1UT1BESVInPjxnbG9zc3Rlcm0+VE9QRElSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFBvaW50cyB0byB0aGUgYnVpbGQgZGlyZWN0b3J5LgpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9idWlsZC5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvYnVpbGQucHkKaW5kZXggM2UyYTk0ZS4uNzU3MTQyMSAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9idWlsZC5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL2J1aWxkLnB5CkBAIC0zMDQsOSArMzA0LDEwIEBACiAgICAgICAgIHV0aWxzLmJldHRlcl9leGVjKGNvbXAsIHsiZCI6IGR9LCBjb2RlLCAiZXhlY19weXRob25fZnVuYygpIGF1dG9nZW5lcmF0ZWQiLCBweXRob25leGNlcHRpb249cHl0aG9uZXhjZXB0aW9uKQogICAgIGV4Y2VwdCAoYmIucGFyc2UuU2tpcFJlY2lwZSwgYmIuYnVpbGQuRnVuY0ZhaWxlZCk6CiAgICAgICAgIHJhaXNlCi0gICAgZXhjZXB0OgorICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgaWYgcHl0aG9uZXhjZXB0aW9uOgogICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgbG9nZ2VyLmVycm9yKHN0cihlKSkKICAgICAgICAgcmFpc2UgRnVuY0ZhaWxlZChmdW5jLCBOb25lKQogICAgIGZpbmFsbHk6CiAgICAgICAgIGJiLmRlYnVnKDIsICJQeXRob24gZnVuY3Rpb24gJXMgZmluaXNoZWQiICUgZnVuYykKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvY2FjaGUucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL2NhY2hlLnB5CmluZGV4IDI1OGQ2NzkuLjY1YzUxNGIgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvY2FjaGUucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9jYWNoZS5weQpAQCAtOTcsNyArOTcsNyBAQAogCiAgICAgICAgIHNlbGYuc2tpcHJlYXNvbiA9IHNlbGYuZ2V0dmFyKCdfX1NLSVBQRUQnLCBtZXRhZGF0YSkKICAgICAgICAgaWYgc2VsZi5za2lwcmVhc29uOgotICAgICAgICAgICAgc2VsZi5wbiA9IHNlbGYuZ2V0dmFyKCdQTicsIG1ldGFkYXRhKSBvciBiYi5wYXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZmlsZW5hbWUsbWV0YWRhdGEpWzBdCisgICAgICAgICAgICBzZWxmLnBuID0gc2VsZi5nZXR2YXIoJ1BOJywgbWV0YWRhdGEpIG9yIGJiLnBhcnNlLnZhcnNfZnJvbV9maWxlKGZpbGVuYW1lLG1ldGFkYXRhKVswXQogICAgICAgICAgICAgc2VsZi5za2lwcGVkID0gVHJ1ZQogICAgICAgICAgICAgc2VsZi5wcm92aWRlcyAgPSBzZWxmLmRlcHZhcignUFJPVklERVMnLCBtZXRhZGF0YSkKICAgICAgICAgICAgIHNlbGYucnByb3ZpZGVzID0gc2VsZi5kZXB2YXIoJ1JQUk9WSURFUycsIG1ldGFkYXRhKQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9jb2RlcGFyc2VyLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9jb2RlcGFyc2VyLnB5CmluZGV4IGRkZDFiOTcuLmFjOTk1YTYgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvY29kZXBhcnNlci5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL2NvZGVwYXJzZXIucHkKQEAgLTMzLDcgKzMzLDcgQEAKIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdCaXRCYWtlLkNvZGVQYXJzZXInKQogCiBkZWYgYmJoYXNoKHMpOgotICAgIHJldHVybiBoYXNobGliLm1kNShzLmVuY29kZSgidXRmLTgiKSkuaGV4ZGlnZXN0KCkKKyAgICByZXR1cm4gaGFzaGxpYi5zaGEyNTYocy5lbmNvZGUoInV0Zi04IikpLmhleGRpZ2VzdCgpCiAKIGRlZiBjaGVja19pbmRlbnQoY29kZXN0cik6CiAgICAgIiIiSWYgdGhlIGNvZGUgaXMgaW5kZW50ZWQsIGFkZCBhIHRvcCBsZXZlbCBwaWVjZSBvZiBjb2RlIHRvICdyZW1vdmUnIHRoZSBpbmRlbnRhdGlvbiIiIgpAQCAtMTQwLDcgKzE0MCw3IEBACiAgICAgIyBzbyB0aGF0IGFuIGV4aXN0aW5nIGNhY2hlIGdldHMgaW52YWxpZGF0ZWQuIEFkZGl0aW9uYWxseSB5b3UnbGwgbmVlZAogICAgICMgdG8gaW5jcmVtZW50IF9fY2FjaGVfdmVyc2lvbl9fIGluIGNhY2hlLnB5IGluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IG9sZAogICAgICMgcmVjaXBlIGNhY2hlcyBkb24ndCB0cmlnZ2VyICJUYXNraGFzaCBtaXNtYXRjaCIgZXJyb3JzLgotICAgIENBQ0hFX1ZFUlNJT04gPSAxMAorICAgIENBQ0hFX1ZFUlNJT04gPSAxMQogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgICBNdWx0aVByb2Nlc3NDYWNoZS5fX2luaXRfXyhzZWxmKQpAQCAtMzY4LDggKzM2OCw5IEBACiAgICAgZGVmIF9wYXJzZV9zaGVsbChzZWxmLCB2YWx1ZSk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHRva2VucywgXyA9IHB5c2h5YWNjLnBhcnNlKHZhbHVlLCBlb2Y9VHJ1ZSwgZGVidWc9RmFsc2UpCi0gICAgICAgIGV4Y2VwdCBweXNobGV4Lk5lZWRNb3JlOgotICAgICAgICAgICAgcmFpc2Ugc2hlcnJvcnMuU2hlbGxTeW50YXhFcnJvcigiVW5leHBlY3RlZCBFT0YiKQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAgICAgYmIuZXJyb3IoJ0Vycm9yIGR1cmluZyBwYXJzZSBzaGVsbCBjb2RlLCB0aGUgbGFzdCA1IGxpbmVzIGFyZTpcbiVzJyAlICdcbicuam9pbih2YWx1ZS5zcGxpdCgnXG4nKVstNTpdKSkKKyAgICAgICAgICAgIHJhaXNlCiAKICAgICAgICAgc2VsZi5wcm9jZXNzX3Rva2Vucyh0b2tlbnMpCiAKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvY29va2VyLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9jb29rZXIucHkKaW5kZXggYWRjNDEwMS4uOWNjYWE3OSAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9jb29rZXIucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9jb29rZXIucHkKQEAgLTEyMTYsOCArMTIxNiw4IEBACiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgZWxpZiByZWdleCA9PSAiIjoKICAgICAgICAgICAgICAgICAgICAgcGFyc2Vsb2cuZGVidWcoMSwgIkJCRklMRV9QQVRURVJOXyVzIGlzIGVtcHR5IiAlIGMpCisgICAgICAgICAgICAgICAgICAgIGNyZSA9IHJlLmNvbXBpbGUoJ15OVUxMJCcpCiAgICAgICAgICAgICAgICAgICAgIGVycm9ycyA9IEZhbHNlCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICAgY3JlID0gcmUuY29tcGlsZShyZWdleCkKQEAgLTE4OTAsMzUgKzE4OTAsNiBAQAogICAgICAgICBzZWxmLnJlY2lwZSA9IHJlY2lwZQogICAgICAgICBFeGNlcHRpb24uX19pbml0X18oc2VsZiwgcmVhbGV4Y2VwdGlvbiwgcmVjaXBlKQogCi1jbGFzcyBGZWVkZXIobXVsdGlwcm9jZXNzaW5nLlByb2Nlc3MpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBqb2JzLCB0b19wYXJzZXJzLCBxdWl0KToKLSAgICAgICAgc2VsZi5xdWl0ID0gcXVpdAotICAgICAgICBzZWxmLmpvYnMgPSBqb2JzCi0gICAgICAgIHNlbGYudG9fcGFyc2VycyA9IHRvX3BhcnNlcnMKLSAgICAgICAgbXVsdGlwcm9jZXNzaW5nLlByb2Nlc3MuX19pbml0X18oc2VsZikKLQotICAgIGRlZiBydW4oc2VsZik6Ci0gICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgcXVpdCA9IHNlbGYucXVpdC5nZXRfbm93YWl0KCkKLSAgICAgICAgICAgIGV4Y2VwdCBxdWV1ZS5FbXB0eToKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGlmIHF1aXQgPT0gJ2NhbmNlbCc6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYudG9fcGFyc2Vycy5jYW5jZWxfam9pbl90aHJlYWQoKQotICAgICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBqb2IgPSBzZWxmLmpvYnMucG9wKCkKLSAgICAgICAgICAgIGV4Y2VwdCBJbmRleEVycm9yOgotICAgICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBzZWxmLnRvX3BhcnNlcnMucHV0KGpvYiwgdGltZW91dD0wLjUpCi0gICAgICAgICAgICBleGNlcHQgcXVldWUuRnVsbDoKLSAgICAgICAgICAgICAgICBzZWxmLmpvYnMuaW5zZXJ0KDAsIGpvYikKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCiBjbGFzcyBQYXJzZXIobXVsdGlwcm9jZXNzaW5nLlByb2Nlc3MpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBqb2JzLCByZXN1bHRzLCBxdWl0LCBpbml0LCBwcm9maWxlKToKICAgICAgICAgc2VsZi5qb2JzID0gam9icwpAQCAtMTk2NSwxMSArMTkzNiw4IEBACiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gcGVuZGluZy5wb3AoKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIGpvYiA9IHNlbGYuam9icy5nZXQodGltZW91dD0wLjI1KQotICAgICAgICAgICAgICAgIGV4Y2VwdCBxdWV1ZS5FbXB0eToKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgICAgIGlmIGpvYiBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICBqb2IgPSBzZWxmLmpvYnMucG9wKCkKKyAgICAgICAgICAgICAgICBleGNlcHQgSW5kZXhFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICByZXN1bHQgPSBzZWxmLnBhcnNlKCpqb2IpCiAKQEAgLTIwNTMsMTQgKzIwMjEsMTUgQEAKICAgICAgICAgICAgICAgICBtdWx0aXByb2Nlc3NpbmcudXRpbC5GaW5hbGl6ZShOb25lLCBiYi5jb2RlcGFyc2VyLnBhcnNlcl9jYWNoZV9zYXZlLCBleGl0cHJpb3JpdHk9MSkKICAgICAgICAgICAgICAgICBtdWx0aXByb2Nlc3NpbmcudXRpbC5GaW5hbGl6ZShOb25lLCBiYi5mZXRjaC5mZXRjaGVyX3BhcnNlX3NhdmUsIGV4aXRwcmlvcml0eT0xKQogCi0gICAgICAgICAgICBzZWxmLmZlZWRlcl9xdWl0ID0gbXVsdGlwcm9jZXNzaW5nLlF1ZXVlKG1heHNpemU9MSkKICAgICAgICAgICAgIHNlbGYucGFyc2VyX3F1aXQgPSBtdWx0aXByb2Nlc3NpbmcuUXVldWUobWF4c2l6ZT1zZWxmLm51bV9wcm9jZXNzZXMpCi0gICAgICAgICAgICBzZWxmLmpvYnMgPSBtdWx0aXByb2Nlc3NpbmcuUXVldWUobWF4c2l6ZT1zZWxmLm51bV9wcm9jZXNzZXMpCiAgICAgICAgICAgICBzZWxmLnJlc3VsdF9xdWV1ZSA9IG11bHRpcHJvY2Vzc2luZy5RdWV1ZSgpCi0gICAgICAgICAgICBzZWxmLmZlZWRlciA9IEZlZWRlcihzZWxmLndpbGxwYXJzZSwgc2VsZi5qb2JzLCBzZWxmLmZlZWRlcl9xdWl0KQotICAgICAgICAgICAgc2VsZi5mZWVkZXIuc3RhcnQoKQorCisgICAgICAgICAgICBkZWYgY2h1bmtpZnkobHN0LG4pOgorICAgICAgICAgICAgICAgIHJldHVybiBbbHN0W2k6Om5dIGZvciBpIGluIHJhbmdlKG4pXQorICAgICAgICAgICAgc2VsZi5qb2JzID0gY2h1bmtpZnkoc2VsZi53aWxscGFyc2UsIHNlbGYubnVtX3Byb2Nlc3NlcykKKwogICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgc2VsZi5udW1fcHJvY2Vzc2VzKToKLSAgICAgICAgICAgICAgICBwYXJzZXIgPSBQYXJzZXIoc2VsZi5qb2JzLCBzZWxmLnJlc3VsdF9xdWV1ZSwgc2VsZi5wYXJzZXJfcXVpdCwgaW5pdCwgc2VsZi5jb29rZXIuY29uZmlndXJhdGlvbi5wcm9maWxlKQorICAgICAgICAgICAgICAgIHBhcnNlciA9IFBhcnNlcihzZWxmLmpvYnNbaV0sIHNlbGYucmVzdWx0X3F1ZXVlLCBzZWxmLnBhcnNlcl9xdWl0LCBpbml0LCBzZWxmLmNvb2tlci5jb25maWd1cmF0aW9uLnByb2ZpbGUpCiAgICAgICAgICAgICAgICAgcGFyc2VyLnN0YXJ0KCkKICAgICAgICAgICAgICAgICBzZWxmLnByb2Nlc3NfbmFtZXMuYXBwZW5kKHBhcnNlci5uYW1lKQogICAgICAgICAgICAgICAgIHNlbGYucHJvY2Vzc2VzLmFwcGVuZChwYXJzZXIpCkBAIC0yMDgxLDI1ICsyMDUwLDE5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudG90YWwpCiAKICAgICAgICAgICAgIGJiLmV2ZW50LmZpcmUoZXZlbnQsIHNlbGYuY2ZnZGF0YSkKLSAgICAgICAgICAgIHNlbGYuZmVlZGVyX3F1aXQucHV0KE5vbmUpCiAgICAgICAgICAgICBmb3IgcHJvY2VzcyBpbiBzZWxmLnByb2Nlc3NlczoKICAgICAgICAgICAgICAgICBzZWxmLnBhcnNlcl9xdWl0LnB1dChOb25lKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mZWVkZXJfcXVpdC5wdXQoJ2NhbmNlbCcpCi0KICAgICAgICAgICAgIHNlbGYucGFyc2VyX3F1aXQuY2FuY2VsX2pvaW5fdGhyZWFkKCkKICAgICAgICAgICAgIGZvciBwcm9jZXNzIGluIHNlbGYucHJvY2Vzc2VzOgogICAgICAgICAgICAgICAgIHNlbGYucGFyc2VyX3F1aXQucHV0KE5vbmUpCiAKLSAgICAgICAgICAgIHNlbGYuam9icy5jYW5jZWxfam9pbl90aHJlYWQoKQotCiAgICAgICAgIGZvciBwcm9jZXNzIGluIHNlbGYucHJvY2Vzc2VzOgogICAgICAgICAgICAgaWYgZm9yY2U6CiAgICAgICAgICAgICAgICAgcHJvY2Vzcy5qb2luKC4xKQogICAgICAgICAgICAgICAgIHByb2Nlc3MudGVybWluYXRlKCkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcHJvY2Vzcy5qb2luKCkKLSAgICAgICAgc2VsZi5mZWVkZXIuam9pbigpCiAKICAgICAgICAgc3luYyA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlbGYuYmJfY2FjaGUuc3luYykKICAgICAgICAgc3luYy5zdGFydCgpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2Nvb2tlcmRhdGEucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL2Nvb2tlcmRhdGEucHkKaW5kZXggNWRmNjZlNi4uMDk0MTJlMiAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9jb29rZXJkYXRhLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvY29va2VyZGF0YS5weQpAQCAtMzkxLDcgKzM5MSwxMSBAQAogICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJCQkZJTEVTX0RZTkFNSUMgZW50cmllcyBtdXN0IGJlIG9mIHRoZSBmb3JtIDxjb2xsZWN0aW9uIG5hbWU+OjxmaWxlbmFtZSBwYXR0ZXJuPiwgbm90OlxuICAgICVzIiAlICJcbiAgICAiLmpvaW4oaW52YWxpZCkpCiAKICAgICAgICAgICAgIGxheWVyc2VyaWVzID0gc2V0KChkYXRhLmdldFZhcigiTEFZRVJTRVJJRVNfQ09SRU5BTUVTIikgb3IgIiIpLnNwbGl0KCkpCisgICAgICAgICAgICBjb2xsZWN0aW9uc190bXAgPSBjb2xsZWN0aW9uc1s6XQogICAgICAgICAgICAgZm9yIGMgaW4gY29sbGVjdGlvbnM6CisgICAgICAgICAgICAgICAgY29sbGVjdGlvbnNfdG1wLnJlbW92ZShjKQorICAgICAgICAgICAgICAgIGlmIGMgaW4gY29sbGVjdGlvbnNfdG1wOgorICAgICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiRm91bmQgZHVwbGljYXRlZCBCQkZJTEVfQ09MTEVDVElPTlMgJyVzJywgY2hlY2sgYmJsYXllcnMuY29uZiBvciBsYXllci5jb25mIHRvIGZpeCBpdC4iICUgYykKICAgICAgICAgICAgICAgICBjb21wYXQgPSBzZXQoKGRhdGEuZ2V0VmFyKCJMQVlFUlNFUklFU19DT01QQVRfJXMiICUgYykgb3IgIiIpLnNwbGl0KCkpCiAgICAgICAgICAgICAgICAgaWYgY29tcGF0IGFuZCBub3QgKGNvbXBhdCAmIGxheWVyc2VyaWVzKToKICAgICAgICAgICAgICAgICAgICAgYmIuZmF0YWwoIkxheWVyICVzIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIGNvcmUgbGF5ZXIgd2hpY2ggb25seSBzdXBwb3J0cyB0aGVzZSBzZXJpZXM6ICVzIChsYXllciBpcyBjb21wYXRpYmxlIHdpdGggJXMpIgpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9kYXRhLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9kYXRhLnB5CmluZGV4IGQ2NmQ5OGMuLjI5YzIzODggMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvZGF0YS5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL2RhdGEucHkKQEAgLTMyMiw4ICszMjIsNiBAQAogICAgICAgICAgICAgaWYgdmFyZmxhZ3MuZ2V0KCJweXRob24iKToKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGQuZ2V0VmFyRmxhZyhrZXksICJfY29udGVudCIsIEZhbHNlKQogICAgICAgICAgICAgICAgIHBhcnNlciA9IGJiLmNvZGVwYXJzZXIuUHl0aG9uUGFyc2VyKGtleSwgbG9nZ2VyKQotICAgICAgICAgICAgICAgIGlmIHZhbHVlIGFuZCAiXHQiIGluIHZhbHVlOgotICAgICAgICAgICAgICAgICAgICBsb2dnZXIud2FybmluZygiVmFyaWFibGUgJXMgY29udGFpbnMgdGFicywgcGxlYXNlIHJlbW92ZSB0aGVzZSAoJXMpIiAlIChrZXksIGQuZ2V0VmFyKCJGSUxFIikpKQogICAgICAgICAgICAgICAgIHBhcnNlci5wYXJzZV9weXRob24odmFsdWUsIGZpbGVuYW1lPXZhcmZsYWdzLmdldCgiZmlsZW5hbWUiKSwgbGluZW5vPXZhcmZsYWdzLmdldCgibGluZW5vIikpCiAgICAgICAgICAgICAgICAgZGVwcyA9IGRlcHMgfCBwYXJzZXIucmVmZXJlbmNlcwogICAgICAgICAgICAgICAgIGRlcHMgPSBkZXBzIHwgKGtleXMgJiBwYXJzZXIuZXhlY3MpCkBAIC00MzgsNyArNDM2LDcgQEAKICAgICAgICAgICAgIGlmIHZhciBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICBkYXRhID0gZGF0YSArIHN0cih2YXIpCiAgICAgICAgIGsgPSBmbiArICIuIiArIHRhc2sKLSAgICAgICAgYmFzZWhhc2hba10gPSBoYXNobGliLm1kNShkYXRhLmVuY29kZSgidXRmLTgiKSkuaGV4ZGlnZXN0KCkKKyAgICAgICAgYmFzZWhhc2hba10gPSBoYXNobGliLnNoYTI1NihkYXRhLmVuY29kZSgidXRmLTgiKSkuaGV4ZGlnZXN0KCkKICAgICAgICAgdGFza2RlcHNbdGFza10gPSBhbGxkZXBzCiAKICAgICByZXR1cm4gdGFza2RlcHMsIGJhc2VoYXNoCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2RhdGFfc21hcnQucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL2RhdGFfc21hcnQucHkKaW5kZXggNmI5NGZjNC4uMDdkYjdiZSAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9kYXRhX3NtYXJ0LnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvZGF0YV9zbWFydC5weQpAQCAtMzksMTAgKzM5LDExIEBACiBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiQml0QmFrZS5EYXRhIikKIAogX19zZXR2YXJfa2V5d29yZF9fID0gWyJfYXBwZW5kIiwgIl9wcmVwZW5kIiwgIl9yZW1vdmUiXQotX19zZXR2YXJfcmVnZXhwX18gPSByZS5jb21waWxlKCcoP1A8YmFzZT4uKj8pKD9QPGtleXdvcmQ+X2FwcGVuZHxfcHJlcGVuZHxfcmVtb3ZlKShfKD9QPGFkZD5bXkEtWl0qKSk/JCcpCi1fX2V4cGFuZF92YXJfcmVnZXhwX18gPSByZS5jb21waWxlKHIiXCR7W157fUBcblx0IDpdK30iKQorX19zZXR2YXJfcmVnZXhwX18gPSByZS5jb21waWxlKHInKD9QPGJhc2U+Lio/KSg/UDxrZXl3b3JkPl9hcHBlbmR8X3ByZXBlbmR8X3JlbW92ZSkoXyg/UDxhZGQ+W15BLVpdKikpPyQnKQorX19leHBhbmRfdmFyX3JlZ2V4cF9fID0gcmUuY29tcGlsZShyIlwke1thLXpBLVowLTlcLV8rLi9+XSs/fSIpCiBfX2V4cGFuZF9weXRob25fcmVnZXhwX18gPSByZS5jb21waWxlKHIiXCR7QC4rP30iKQotX193aGl0ZXNwYWNlX3NwbGl0X18gPSByZS5jb21waWxlKCcoXHMpJykKK19fd2hpdGVzcGFjZV9zcGxpdF9fID0gcmUuY29tcGlsZShyJyhccyknKQorX19vdmVycmlkZV9yZWdleHBfXyA9IHJlLmNvbXBpbGUocidbYS16MC05XSsnKQogCiBkZWYgaW5mZXJfY2FsbGVyX2RldGFpbHMobG9naW5mbywgcGFyZW50ID0gRmFsc2UsIHZhcnZhbCA9IFRydWUpOgogICAgICIiIlNhdmUgdGhlIGNhbGxlciB0aGUgdHJvdWJsZSBvZiBzcGVjaWZ5aW5nIGV2ZXJ5dGhpbmcuIiIiCkBAIC0xMjIsNyArMTIzLDExIEBACiAgICAgICAgICAgICAgICAgY29ubmVjdG9yID0gc2VsZi5kWyJfcmVtb3RlX2RhdGEiXQogICAgICAgICAgICAgICAgIHJldHVybiBjb25uZWN0b3IuZXhwYW5kUHl0aG9uUmVmKHNlbGYudmFybmFtZSwgY29kZSwgc2VsZi5kKQogCi0gICAgICAgICAgICBjb2Rlb2JqID0gY29tcGlsZShjb2RlLnN0cmlwKCksIHNlbGYudmFybmFtZSBvciAiPGV4cGFuc2lvbj4iLCAiZXZhbCIpCisgICAgICAgICAgICBpZiBzZWxmLnZhcm5hbWU6CisgICAgICAgICAgICAgICAgdmFybmFtZSA9ICdWYXIgPCVzPicgJSBzZWxmLnZhcm5hbWUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgdmFybmFtZSA9ICc8ZXhwYW5zaW9uPicKKyAgICAgICAgICAgIGNvZGVvYmogPSBjb21waWxlKGNvZGUuc3RyaXAoKSwgdmFybmFtZSwgImV2YWwiKQogCiAgICAgICAgICAgICBwYXJzZXIgPSBiYi5jb2RlcGFyc2VyLlB5dGhvblBhcnNlcihzZWxmLnZhcm5hbWUsIGxvZ2dlcikKICAgICAgICAgICAgIHBhcnNlci5wYXJzZV9weXRob24oY29kZSkKQEAgLTQyNyw3ICs0MzIsOCBAQAogICAgICAgICAgICAgZXhjZXB0IGJiLnBhcnNlLlNraXBSZWNpcGU6CiAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXhjOgotICAgICAgICAgICAgICAgIHJhaXNlIEV4cGFuc2lvbkVycm9yKHZhcm5hbWUsIHMsIGV4YykgZnJvbSBleGMKKyAgICAgICAgICAgICAgICB0YiA9IHN5cy5leGNfaW5mbygpWzJdCisgICAgICAgICAgICAgICAgcmFpc2UgRXhwYW5zaW9uRXJyb3IodmFybmFtZSwgcywgZXhjKS53aXRoX3RyYWNlYmFjayh0YikgZnJvbSBleGMKIAogICAgICAgICB2YXJwYXJzZS52YWx1ZSA9IHMKIApAQCAtNTkyLDcgKzU5OCw3IEBACiAgICAgICAgICMgYWthIHBheSB0aGUgY29va2llIG1vbnN0ZXIKICAgICAgICAgb3ZlcnJpZGUgPSB2YXJbdmFyLnJmaW5kKCdfJykrMTpdCiAgICAgICAgIHNob3J0dmFyID0gdmFyWzp2YXIucmZpbmQoJ18nKV0KLSAgICAgICAgd2hpbGUgb3ZlcnJpZGUgYW5kIG92ZXJyaWRlLmlzbG93ZXIoKToKKyAgICAgICAgd2hpbGUgb3ZlcnJpZGUgYW5kIF9fb3ZlcnJpZGVfcmVnZXhwX18ubWF0Y2gob3ZlcnJpZGUpOgogICAgICAgICAgICAgaWYgc2hvcnR2YXIgbm90IGluIHNlbGYub3ZlcnJpZGVkYXRhOgogICAgICAgICAgICAgICAgIHNlbGYub3ZlcnJpZGVkYXRhW3Nob3J0dmFyXSA9IFtdCiAgICAgICAgICAgICBpZiBbdmFyLCBvdmVycmlkZV0gbm90IGluIHNlbGYub3ZlcnJpZGVkYXRhW3Nob3J0dmFyXToKQEAgLTEwNjgsNCArMTA3NCw0IEBACiAgICAgICAgICAgICAgICAgICAgIGRhdGEudXBkYXRlKHtpOnZhbHVlfSkKIAogICAgICAgICBkYXRhX3N0ciA9IHN0cihbKGssIGRhdGFba10pIGZvciBrIGluIHNvcnRlZChkYXRhLmtleXMoKSldKQotICAgICAgICByZXR1cm4gaGFzaGxpYi5tZDUoZGF0YV9zdHIuZW5jb2RlKCJ1dGYtOCIpKS5oZXhkaWdlc3QoKQorICAgICAgICByZXR1cm4gaGFzaGxpYi5zaGEyNTYoZGF0YV9zdHIuZW5jb2RlKCJ1dGYtOCIpKS5oZXhkaWdlc3QoKQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvX19pbml0X18ucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9fX2luaXRfXy5weQppbmRleCA3MDkzNzJlLi44ZmVjYzgwIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9fX2luaXRfXy5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9fX2luaXRfXy5weQpAQCAtNTI0LDcgKzUyNCw3IEBACiBkZWYgZmV0Y2hlcl9wYXJzZV9kb25lKCk6CiAgICAgX2NoZWNrc3VtX2NhY2hlLnNhdmVfbWVyZ2UoKQogCi1kZWYgZmV0Y2hlcl9jb21wYXJlX3JldmlzaW9ucygpOgorZGVmIGZldGNoZXJfY29tcGFyZV9yZXZpc2lvbnMoZCk6CiAgICAgIiIiCiAgICAgQ29tcGFyZSB0aGUgcmV2aXNpb25zIGluIHRoZSBwZXJzaXN0YW50IGNhY2hlIHdpdGggY3VycmVudCB2YWx1ZXMgYW5kCiAgICAgcmV0dXJuIHRydWUvZmFsc2Ugb24gd2hldGhlciB0aGV5J3ZlIGNoYW5nZWQuCkBAIC03NzcsNyArNzc3LDggQEAKICAgICAjCiAgICAgZm9ybWF0ID0gZC5nZXRWYXIoJ1NSQ1JFVl9GT1JNQVQnKQogICAgIGlmIG5vdCBmb3JtYXQ6Ci0gICAgICAgIHJhaXNlIEZldGNoRXJyb3IoIlRoZSBTUkNSRVZfRk9STUFUIHZhcmlhYmxlIG11c3QgYmUgc2V0IHdoZW4gbXVsdGlwbGUgU0NNcyBhcmUgdXNlZC4iKQorICAgICAgICByYWlzZSBGZXRjaEVycm9yKCJUaGUgU1JDUkVWX0ZPUk1BVCB2YXJpYWJsZSBtdXN0IGJlIHNldCB3aGVuIG11bHRpcGxlIFNDTXMgYXJlIHVzZWQuXG4iXAorICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgU0NNcyBhcmU6XG4lcyIgJSAnXG4nLmpvaW4oc2NtcykpCiAKICAgICBuYW1lX3RvX3JldiA9IHt9CiAgICAgc2VlbmF1dG9pbmMgPSBGYWxzZQpAQCAtODU4LDcgKzg1OSwxMCBAQAogICAgICMgRGlzYWJsZSBwc2V1ZG8gYXMgaXQgbWF5IGFmZmVjdCBzc2gsIHBvdGVudGlhbGx5IGNhdXNpbmcgaXQgdG8gaGFuZy4KICAgICBjbWQgPSAnZXhwb3J0IFBTRVVET19ESVNBQkxFRD0xOyAnICsgY21kCiAKLSAgICBsb2dnZXIuZGVidWcoMSwgIlJ1bm5pbmcgJXMiLCBjbWQpCisgICAgaWYgd29ya2RpcjoKKyAgICAgICAgbG9nZ2VyLmRlYnVnKDEsICJSdW5uaW5nICclcycgaW4gJXMiICUgKGNtZCwgd29ya2RpcikpCisgICAgZWxzZToKKyAgICAgICAgbG9nZ2VyLmRlYnVnKDEsICJSdW5uaW5nICVzIiwgY21kKQogCiAgICAgc3VjY2VzcyA9IEZhbHNlCiAgICAgZXJyb3JfbWVzc2FnZSA9ICIiCkBAIC04OTQsNyArODk4LDcgQEAKICAgICBsb2cgcmVtb3RlIG5ldHdvcmsgYWNjZXNzLCBhbmQgZXJyb3IgaWYgQkJfTk9fTkVUV09SSyBpcyBzZXQgb3IgdGhlIGdpdmVuCiAgICAgVVJJIGlzIHVudHJ1c3RlZAogICAgICIiIgotICAgIGlmIGQuZ2V0VmFyKCJCQl9OT19ORVRXT1JLIikgPT0gIjEiOgorICAgIGlmIGJiLnV0aWxzLnRvX2Jvb2xlYW4oZC5nZXRWYXIoIkJCX05PX05FVFdPUksiKSk6CiAgICAgICAgIHJhaXNlIE5ldHdvcmtBY2Nlc3ModXJsLCBpbmZvKQogICAgIGVsaWYgbm90IHRydXN0ZWRfbmV0d29yayhkLCB1cmwpOgogICAgICAgICByYWlzZSBVbnRydXN0ZWRVcmwodXJsLCBpbmZvKQpAQCAtMTAyNyw3ICsxMDMxLDcgQEAKICAgICAgICAgcmFpc2UKIAogICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6Ci0gICAgICAgIGlmIGUuZXJybm8gaW4gW29zLmVycm5vLkVTVEFMRV06CisgICAgICAgIGlmIGUuZXJybm8gaW4gW2Vycm5vLkVTVEFMRV06CiAgICAgICAgICAgICBsb2dnZXIud2FybmluZygiU3RhbGUgRXJyb3IgT2JzZXJ2ZWQgJXMuIiAlIHVkLnVybCkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICByYWlzZQpAQCAtMTA5NCw3ICsxMDk4LDcgQEAKICAgICBCQl9BTExPV0VEX05FVFdPUktTIGlzIHNldCBnbG9iYWxseSBvciBmb3IgYSBzcGVjaWZpYyByZWNpcGUuCiAgICAgTm90ZTogbW9kaWZpZXMgU1JDX1VSSSAmIG1pcnJvcnMuCiAgICAgIiIiCi0gICAgaWYgZC5nZXRWYXIoJ0JCX05PX05FVFdPUksnKSA9PSAiMSI6CisgICAgaWYgYmIudXRpbHMudG9fYm9vbGVhbihkLmdldFZhcigiQkJfTk9fTkVUV09SSyIpKToKICAgICAgICAgcmV0dXJuIFRydWUKIAogICAgIHBrZ25hbWUgPSBkLmV4cGFuZChkLmdldFZhcignUE4nLCBGYWxzZSkpCkBAIC0xNDAzLDcgKzE0MDcsNyBAQAogICAgICAgICBGZXRjaCB1cmxzCiAgICAgICAgIEFzc3VtZXMgbG9jYWxwYXRoIHdhcyBjYWxsZWQgZmlyc3QKICAgICAgICAgIiIiCi0gICAgICAgIHJhaXNlIE5vTWV0aG9kRXJyb3IodXJsKQorICAgICAgICByYWlzZSBOb01ldGhvZEVycm9yKHVybGRhdGEudXJsKQogCiAgICAgZGVmIHVucGFjayhzZWxmLCB1cmxkYXRhLCByb290ZGlyLCBkYXRhKToKICAgICAgICAgaXRlcmF0ZSA9IEZhbHNlCkBAIC0xNTQ3LDcgKzE1NTEsNyBAQAogICAgICAgICBDaGVjayB0aGUgc3RhdHVzIG9mIGEgVVJMCiAgICAgICAgIEFzc3VtZXMgbG9jYWxwYXRoIHdhcyBjYWxsZWQgZmlyc3QKICAgICAgICAgIiIiCi0gICAgICAgIGxvZ2dlci5pbmZvKCJVUkwgJXMgY291bGQgbm90IGJlIGNoZWNrZWQgZm9yIHN0YXR1cyBzaW5jZSBubyBtZXRob2QgZXhpc3RzLiIsIHVybCkKKyAgICAgICAgbG9nZ2VyLmluZm8oIlVSTCAlcyBjb3VsZCBub3QgYmUgY2hlY2tlZCBmb3Igc3RhdHVzIHNpbmNlIG5vIG1ldGhvZCBleGlzdHMuIiwgdXJsZGF0YS51cmwpCiAgICAgICAgIHJldHVybiBUcnVlCiAKICAgICBkZWYgbGF0ZXN0X3JldmlzaW9uKHNlbGYsIHVkLCBkLCBuYW1lKToKQEAgLTE1NTUsNyArMTU1OSw3IEBACiAgICAgICAgIExvb2sgaW4gdGhlIGNhY2hlIGZvciB0aGUgbGF0ZXN0IHJldmlzaW9uLCBpZiBub3QgcHJlc2VudCBhc2sgdGhlIFNDTS4KICAgICAgICAgIiIiCiAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlbGYsICJfbGF0ZXN0X3JldmlzaW9uIik6Ci0gICAgICAgICAgICByYWlzZSBQYXJhbWV0ZXJFcnJvcigiVGhlIGZldGNoZXIgZm9yIHRoaXMgVVJMIGRvZXMgbm90IHN1cHBvcnQgX2xhdGVzdF9yZXZpc2lvbiIsIHVybCkKKyAgICAgICAgICAgIHJhaXNlIFBhcmFtZXRlckVycm9yKCJUaGUgZmV0Y2hlciBmb3IgdGhpcyBVUkwgZG9lcyBub3Qgc3VwcG9ydCBfbGF0ZXN0X3JldmlzaW9uIiwgdWQudXJsKQogCiAgICAgICAgIHJldnMgPSBiYi5wZXJzaXN0X2RhdGEucGVyc2lzdCgnQkJfVVJJX0hFQURSRVZTJywgZCkKICAgICAgICAga2V5ID0gc2VsZi5nZW5lcmF0ZV9yZXZpc2lvbl9rZXkodWQsIGQsIG5hbWUpCkBAIC0xNjM4LDcgKzE2NDIsNyBAQAogICAgICAgICAgICAgdXJscyA9IHNlbGYudXJscwogCiAgICAgICAgIG5ldHdvcmsgPSBzZWxmLmQuZ2V0VmFyKCJCQl9OT19ORVRXT1JLIikKLSAgICAgICAgcHJlbWlycm9yb25seSA9IChzZWxmLmQuZ2V0VmFyKCJCQl9GRVRDSF9QUkVNSVJST1JPTkxZIikgPT0gIjEiKQorICAgICAgICBwcmVtaXJyb3Jvbmx5ID0gYmIudXRpbHMudG9fYm9vbGVhbihzZWxmLmQuZ2V0VmFyKCJCQl9GRVRDSF9QUkVNSVJST1JPTkxZIikpCiAKICAgICAgICAgZm9yIHUgaW4gdXJsczoKICAgICAgICAgICAgIHVkID0gc2VsZi51ZFt1XQpAQCAtMTcxNiw3ICsxNzIwLDcgQEAKICAgICAgICAgICAgICAgICB1cGRhdGVfc3RhbXAodWQsIHNlbGYuZCkKIAogICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBlLmVycm5vIGluIFtvcy5lcnJuby5FU1RBTEVdOgorICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gaW4gW2Vycm5vLkVTVEFMRV06CiAgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcigiU3RhbGUgRXJyb3IgT2JzZXJ2ZWQgJXMuIiAlIHUpCiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIENoZWNrc3VtRXJyb3IoIlN0YWxlIEVycm9yIERldGVjdGVkIikKIApAQCAtMTc4Niw3ICsxNzkwLDcgQEAKIAogICAgICAgICBmb3IgdXJsIGluIHVybHM6CiAgICAgICAgICAgICBpZiB1cmwgbm90IGluIHNlbGYudWQ6Ci0gICAgICAgICAgICAgICAgc2VsZi51ZFt1cmxdID0gRmV0Y2hEYXRhKHVybCwgZCkKKyAgICAgICAgICAgICAgICBzZWxmLnVkW3VybF0gPSBGZXRjaERhdGEodXJsLCBzZWxmLmQpCiAgICAgICAgICAgICB1ZCA9IHNlbGYudWRbdXJsXQogICAgICAgICAgICAgdWQuc2V0dXBfbG9jYWxwYXRoKHNlbGYuZCkKIApkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvZ2l0LnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvZ2l0LnB5CmluZGV4IDU5YTJlZTguLjgxODViZjQgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL2dpdC5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9naXQucHkKQEAgLTE5OSw3ICsxOTksNyBAQAogICAgICAgICAgICAgZGVwdGhfZGVmYXVsdCA9IDEKICAgICAgICAgdWQuc2hhbGxvd19kZXB0aHMgPSBjb2xsZWN0aW9ucy5kZWZhdWx0ZGljdChsYW1iZGE6IGRlcHRoX2RlZmF1bHQpCiAKLSAgICAgICAgcmV2c19kZWZhdWx0ID0gZC5nZXRWYXIoIkJCX0dJVF9TSEFMTE9XX1JFVlMiLCBUcnVlKQorICAgICAgICByZXZzX2RlZmF1bHQgPSBkLmdldFZhcigiQkJfR0lUX1NIQUxMT1dfUkVWUyIpCiAgICAgICAgIHVkLnNoYWxsb3dfcmV2cyA9IFtdCiAgICAgICAgIHVkLmJyYW5jaGVzID0ge30KICAgICAgICAgZm9yIHBvcywgbmFtZSBpbiBlbnVtZXJhdGUodWQubmFtZXMpOgpAQCAtMzE4LDcgKzMxOCw3IEBACiAgICAgZGVmIHRyeV9wcmVtaXJyb3Ioc2VsZiwgdWQsIGQpOgogICAgICAgICAjIElmIHdlIGRvbid0IGRvIHRoaXMsIHVwZGF0aW5nIGFuIGV4aXN0aW5nIGNoZWNrb3V0IHdpdGggb25seSBwcmVtaXJyb3JzCiAgICAgICAgICMgaXMgbm90IHBvc3NpYmxlCi0gICAgICAgIGlmIGQuZ2V0VmFyKCJCQl9GRVRDSF9QUkVNSVJST1JPTkxZIikgaXMgbm90IE5vbmU6CisgICAgICAgIGlmIGJiLnV0aWxzLnRvX2Jvb2xlYW4oZC5nZXRWYXIoIkJCX0ZFVENIX1BSRU1JUlJPUk9OTFkiKSk6CiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyh1ZC5jbG9uZWRpcik6CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKQEAgLTUyMiw5ICs1MjIsMTcgQEAKICAgICBkZWYgY2xlYW4oc2VsZiwgdWQsIGQpOgogICAgICAgICAiIiIgY2xlYW4gdGhlIGdpdCBkaXJlY3RvcnkgIiIiCiAKLSAgICAgICAgYmIudXRpbHMucmVtb3ZlKHVkLmxvY2FscGF0aCwgVHJ1ZSkKLSAgICAgICAgYmIudXRpbHMucmVtb3ZlKHVkLmZ1bGxtaXJyb3IpCi0gICAgICAgIGJiLnV0aWxzLnJlbW92ZSh1ZC5mdWxsbWlycm9yICsgIi5kb25lIikKKyAgICAgICAgdG9fcmVtb3ZlID0gW3VkLmxvY2FscGF0aCwgdWQuZnVsbG1pcnJvciwgdWQuZnVsbG1pcnJvciArICIuZG9uZSJdCisgICAgICAgICMgVGhlIGxvY2FscGF0aCBpcyBhIHN5bWxpbmsgdG8gY2xvbmVkaXIgd2hlbiBpdCBpcyBjbG9uZWQgZnJvbSBhCisgICAgICAgICMgbWlycm9yLCBzbyByZW1vdmUgYm90aCBvZiB0aGVtLgorICAgICAgICBpZiBvcy5wYXRoLmlzbGluayh1ZC5sb2NhbHBhdGgpOgorICAgICAgICAgICAgY2xvbmVkaXIgPSBvcy5wYXRoLnJlYWxwYXRoKHVkLmxvY2FscGF0aCkKKyAgICAgICAgICAgIHRvX3JlbW92ZS5hcHBlbmQoY2xvbmVkaXIpCisKKyAgICAgICAgZm9yIHIgaW4gdG9fcmVtb3ZlOgorICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMocik6CisgICAgICAgICAgICAgICAgYmIubm90ZSgnUmVtb3ZpbmcgJXMnICUgcikKKyAgICAgICAgICAgICAgICBiYi51dGlscy5yZW1vdmUociwgVHJ1ZSkKIAogICAgIGRlZiBzdXBwb3J0c19zcmNyZXYoc2VsZik6CiAgICAgICAgIHJldHVybiBUcnVlCkBAIC02MTUsNyArNjIzLDcgQEAKICAgICAgICAgIiIiCiAgICAgICAgIHB1cHZlciA9ICgnJywgJycpCiAKLSAgICAgICAgdGFncmVnZXggPSByZS5jb21waWxlKGQuZ2V0VmFyKCdVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCcpIG9yICIoP1A8cHZlcj4oWzAtOV1bXC58X10/KSspIikKKyAgICAgICAgdGFncmVnZXggPSByZS5jb21waWxlKGQuZ2V0VmFyKCdVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCcpIG9yIHIiKD9QPHB2ZXI+KFswLTldW1wufF9dPykrKSIpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG91dHB1dCA9IHNlbGYuX2xzcmVtb3RlKHVkLCBkLCAicmVmcy90YWdzLyoiKQogICAgICAgICBleGNlcHQgKGJiLmZldGNoMi5GZXRjaEVycm9yLCBiYi5mZXRjaDIuTmV0d29ya0FjY2VzcykgYXMgZToKQEAgLTYzMCw3ICs2MzgsNyBAQAogCiAgICAgICAgICAgICB0YWdfaGVhZCA9IGxpbmUuc3BsaXQoIi8iKVstMV0KICAgICAgICAgICAgICMgSWdub3JlIG5vbi1yZWxlYXNlZCBicmFuY2hlcwotICAgICAgICAgICAgbSA9IHJlLnNlYXJjaCgiKGFscGhhfGJldGF8cmN8ZmluYWwpKyIsIHRhZ19oZWFkKQorICAgICAgICAgICAgbSA9IHJlLnNlYXJjaChyIihhbHBoYXxiZXRhfHJjfGZpbmFsKSsiLCB0YWdfaGVhZCkKICAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICAgY29udGludWUKIApkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvZ2l0c20ucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9naXRzbS5weQppbmRleCBiMjFmZWQyLi4zMjM4OTEzIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9naXRzbS5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9naXRzbS5weQpAQCAtMTQ3LDYgKzE0NywyMyBAQAogCiAgICAgICAgIHJldHVybiBzdWJtb2R1bGVzICE9IFtdCiAKKyAgICBkZWYgbmVlZF91cGRhdGUoc2VsZiwgdWQsIGQpOgorICAgICAgICBpZiBHaXQubmVlZF91cGRhdGUoc2VsZiwgdWQsIGQpOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKworICAgICAgICB0cnk6CisgICAgICAgICAgICAjIENoZWNrIGZvciB0aGUgbnVnZ2V0IGRyb3BwZWQgYnkgdGhlIGRvd25sb2FkIG9wZXJhdGlvbgorICAgICAgICAgICAga25vd25fc3JjcmV2cyA9IHJ1bmZldGNoY21kKCIlcyBjb25maWcgLS1nZXQtYWxsIGJpdGJha2Uuc3JjcmV2IiAlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWQuYmFzZWNtZCksIGQsIHdvcmtkaXI9dWQuY2xvbmVkaXIpCisKKyAgICAgICAgICAgIGlmIHVkLnJldmlzaW9uc1t1ZC5uYW1lc1swXV0gbm90IGluIGtub3duX3NyY3JldnMuc3BsaXQoKToKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICBleGNlcHQgYmIuZmV0Y2gyLkZldGNoRXJyb3I6CisgICAgICAgICAgICAjIE5vIHNyY3JldiBudWdnZXRzLCBzbyB0aGlzIGlzIG5ldyBhbmQgbmVlZHMgdG8gYmUgdXBkYXRlZAorICAgICAgICAgICAgcmV0dXJuIFRydWUKKworICAgICAgICByZXR1cm4gRmFsc2UKKwogICAgIGRlZiBkb3dubG9hZChzZWxmLCB1ZCwgZCk6CiAgICAgICAgIGRlZiBkb3dubG9hZF9zdWJtb2R1bGUodWQsIHVybCwgbW9kdWxlLCBtb2RwYXRoLCBkKToKICAgICAgICAgICAgIHVybCArPSAiO2JhcmVjbG9uZT0xO25vYnJhbmNoPTEiCkBAIC0xNTcsNiArMTc0LDkgQEAKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBuZXdmZXRjaCA9IEZldGNoKFt1cmxdLCBkLCBjYWNoZT1GYWxzZSkKICAgICAgICAgICAgICAgICBuZXdmZXRjaC5kb3dubG9hZCgpCisgICAgICAgICAgICAgICAgIyBEcm9wIGEgbnVnZ2V0IHRvIGFkZCBlYWNoIG9mIHRoZSBzcmNyZXZzIHdlJ3ZlIGZldGNoZWQgKHVzZWQgYnkgbmVlZF91cGRhdGUpCisgICAgICAgICAgICAgICAgcnVuZmV0Y2hjbWQoIiVzIGNvbmZpZyAtLWFkZCBiaXRiYWtlLnNyY3JldiAlcyIgJSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVkLmJhc2VjbWQsIHVkLnJldmlzaW9uc1t1ZC5uYW1lc1swXV0pLCBkLCB3b3JrZGlyPXVkLmNsb25lZGlyKQogICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcignZ2l0c206IHN1Ym1vZHVsZSBkb3dubG9hZCBmYWlsZWQ6ICVzICVzJyAlICh0eXBlKGUpLl9fbmFtZV9fLCBzdHIoZSkpKQogICAgICAgICAgICAgICAgIHJhaXNlCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9oZy5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL2hnLnB5CmluZGV4IDkzNmQwNDMuLjVhMjk4NWUgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL2hnLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL2hnLnB5CkBAIC05OSw3ICs5OSw3IEBACiAgICAgZGVmIHRyeV9wcmVtaXJyb3Ioc2VsZiwgdWQsIGQpOgogICAgICAgICAjIElmIHdlIGRvbid0IGRvIHRoaXMsIHVwZGF0aW5nIGFuIGV4aXN0aW5nIGNoZWNrb3V0IHdpdGggb25seSBwcmVtaXJyb3JzCiAgICAgICAgICMgaXMgbm90IHBvc3NpYmxlCi0gICAgICAgIGlmIGQuZ2V0VmFyKCJCQl9GRVRDSF9QUkVNSVJST1JPTkxZIikgaXMgbm90IE5vbmU6CisgICAgICAgIGlmIGJiLnV0aWxzLnRvX2Jvb2xlYW4oZC5nZXRWYXIoIkJCX0ZFVENIX1BSRU1JUlJPUk9OTFkiKSk6CiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyh1ZC5tb2RkaXIpOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9ucG0ucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9ucG0ucHkKaW5kZXggNDA4ZGZjMy4uNjViZjVhMyAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvbnBtLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL25wbS5weQpAQCAtMjI2LDcgKzIyNiw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9nZXRzaHJpbmtlZGRlcGVuZGVuY2llcyhvYmosIGRhdGFbJ2RlcGVuZGVuY2llcyddW29ial0sIGRhdGFbJ2RlcGVuZGVuY2llcyddW29ial1bJ3ZlcnNpb24nXSwgZCwgdWQsIGxvY2tkb3duLCBtYW5pZmVzdCwgRmFsc2UpCiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgb3V0cHV0dXJsID0gImludmFsaWQiCi0gICAgICAgIGlmICgncmVzb2x2ZWQnIG5vdCBpbiBkYXRhKSBvciAobm90IGRhdGFbJ3Jlc29sdmVkJ10uc3RhcnRzd2l0aCgnaHR0cCcpKToKKyAgICAgICAgaWYgKCdyZXNvbHZlZCcgbm90IGluIGRhdGEpIG9yIChub3QgZGF0YVsncmVzb2x2ZWQnXS5zdGFydHN3aXRoKCdodHRwOi8vJykgYW5kIG5vdCBkYXRhWydyZXNvbHZlZCddLnN0YXJ0c3dpdGgoJ2h0dHBzOi8vJykpOgogICAgICAgICAgICAgIyB3aWxsIGJlIHRoZSBjYXNlIGZvciAke1BOfQogICAgICAgICAgICAgZmV0Y2hjbWQgPSAibnBtIHZpZXcgJXNAJXMgZGlzdC50YXJiYWxsIC0tcmVnaXN0cnkgJXMiICUgKHBrZywgdmVyc2lvbiwgdWQucmVnaXN0cnkpCiAgICAgICAgICAgICBsb2dnZXIuZGVidWcoMiwgIkZvdW5kIHRoaXMgbWF0Y2hpbmcgVVJMOiAlcyIgJSBzdHIoZmV0Y2hjbWQpKQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvd2dldC5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL3dnZXQucHkKaW5kZXggOGY1MDViNi4uM2JiM2UzYiAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvd2dldC5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi93Z2V0LnB5CkBAIC0zMywxMSArMzMsMTQgQEAKIGltcG9ydCBlcnJubwogaW1wb3J0IGJiCiBpbXBvcnQgYmIucHJvZ3Jlc3MKK2ltcG9ydCBzb2NrZXQKK2ltcG9ydCBodHRwLmNsaWVudAogaW1wb3J0IHVybGxpYi5yZXF1ZXN0LCB1cmxsaWIucGFyc2UsIHVybGxpYi5lcnJvcgogZnJvbSAgIGJiLmZldGNoMiBpbXBvcnQgRmV0Y2hNZXRob2QKIGZyb20gICBiYi5mZXRjaDIgaW1wb3J0IEZldGNoRXJyb3IKIGZyb20gICBiYi5mZXRjaDIgaW1wb3J0IGxvZ2dlcgogZnJvbSAgIGJiLmZldGNoMiBpbXBvcnQgcnVuZmV0Y2hjbWQKK2Zyb20gICBiYi5mZXRjaDIgaW1wb3J0IEZldGNoQ29ubmVjdGlvbkNhY2hlCiBmcm9tICAgYmIudXRpbHMgaW1wb3J0IGV4cG9ydF9wcm94aWVzCiBmcm9tICAgYnM0IGltcG9ydCBCZWF1dGlmdWxTb3VwCiBmcm9tICAgYnM0IGltcG9ydCBTb3VwU3RyYWluZXIKQEAgLTEzMiwxMCArMTM1LDYgQEAKICAgICAgICAgcmV0dXJuIFRydWUKIAogICAgIGRlZiBjaGVja3N0YXR1cyhzZWxmLCBmZXRjaCwgdWQsIGQsIHRyeV9hZ2Fpbj1UcnVlKToKLSAgICAgICAgaW1wb3J0IHVybGxpYi5yZXF1ZXN0LCB1cmxsaWIuZXJyb3IsIHVybGxpYi5wYXJzZSwgc29ja2V0LCBodHRwLmNsaWVudAotICAgICAgICBmcm9tIHVybGxpYi5yZXNwb25zZSBpbXBvcnQgYWRkaW5mb3VybAotICAgICAgICBmcm9tIGJiLmZldGNoMiBpbXBvcnQgRmV0Y2hDb25uZWN0aW9uQ2FjaGUKLQogICAgICAgICBjbGFzcyBIVFRQQ29ubmVjdGlvbkNhY2hlKGh0dHAuY2xpZW50LkhUVFBDb25uZWN0aW9uKToKICAgICAgICAgICAgIGlmIGZldGNoLmNvbm5lY3Rpb25fY2FjaGU6CiAgICAgICAgICAgICAgICAgZGVmIGNvbm5lY3Qoc2VsZik6CkBAIC0xNjgsNyArMTY3LDcgQEAKICAgICAgICAgICAgICAgICAiIiIKICAgICAgICAgICAgICAgICBob3N0ID0gcmVxLmhvc3QKICAgICAgICAgICAgICAgICBpZiBub3QgaG9zdDoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgdXJsbGxpYjIuVVJMRXJyb3IoJ25vIGhvc3QgZ2l2ZW4nKQorICAgICAgICAgICAgICAgICAgICByYWlzZSB1cmxsaWIuZXJyb3IuVVJMRXJyb3IoJ25vIGhvc3QgZ2l2ZW4nKQogCiAgICAgICAgICAgICAgICAgaCA9IGh0dHBfY2xhc3MoaG9zdCwgdGltZW91dD1yZXEudGltZW91dCkgIyB3aWxsIHBhcnNlIGhvc3Q6cG9ydAogICAgICAgICAgICAgICAgIGguc2V0X2RlYnVnbGV2ZWwoc2VsZi5fZGVidWdsZXZlbCkKQEAgLTE4NSw3ICsxODQsNyBAQAogICAgICAgICAgICAgICAgICMgcmVxdWVzdC4KIAogICAgICAgICAgICAgICAgICMgRG9uJ3QgY2xvc2UgY29ubmVjdGlvbiB3aGVuIGNvbm5lY3Rpb25fY2FjaGUgaXMgZW5hYmxlZCwKLSAgICAgICAgICAgICAgICBpZiBmZXRjaC5jb25uZWN0aW9uX2NhY2hlIGlzIE5vbmU6IAorICAgICAgICAgICAgICAgIGlmIGZldGNoLmNvbm5lY3Rpb25fY2FjaGUgaXMgTm9uZToKICAgICAgICAgICAgICAgICAgICAgaGVhZGVyc1siQ29ubmVjdGlvbiJdID0gImNsb3NlIgogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnNbIkNvbm5lY3Rpb24iXSA9ICJLZWVwLUFsaXZlIiAjIFdvcmtzIGZvciBIVFRQLzEuMApAQCAtMjUyLDcgKzI1MSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICAgICAgICAgIGNsb3NlZCA9IEZhbHNlCiAKLSAgICAgICAgICAgICAgICByZXNwID0gYWRkaW5mb3VybChmcF9kdW1teSgpLCByLm1zZywgcmVxLmdldF9mdWxsX3VybCgpKQorICAgICAgICAgICAgICAgIHJlc3AgPSB1cmxsaWIucmVzcG9uc2UuYWRkaW5mb3VybChmcF9kdW1teSgpLCByLm1zZywgcmVxLmdldF9mdWxsX3VybCgpKQogICAgICAgICAgICAgICAgIHJlc3AuY29kZSA9IHIuc3RhdHVzCiAgICAgICAgICAgICAgICAgcmVzcC5tc2cgPSByLnJlYXNvbgogCkBAIC0yNzEsMTcgKzI3MCwxNiBAQAogICAgICAgICAgICAgICAgIGZwLnJlYWQoKQogICAgICAgICAgICAgICAgIGZwLmNsb3NlKCkKIAotICAgICAgICAgICAgICAgIG5ld2hlYWRlcnMgPSBkaWN0KChrLHYpIGZvciBrLHYgaW4gbGlzdChyZXEuaGVhZGVycy5pdGVtcygpKQorICAgICAgICAgICAgICAgIG5ld2hlYWRlcnMgPSBkaWN0KChrLCB2KSBmb3IgaywgdiBpbiBsaXN0KHJlcS5oZWFkZXJzLml0ZW1zKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgay5sb3dlcigpIG5vdCBpbiAoImNvbnRlbnQtbGVuZ3RoIiwgImNvbnRlbnQtdHlwZSIpKQogICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnBhcmVudC5vcGVuKHVybGxpYi5yZXF1ZXN0LlJlcXVlc3QocmVxLmdldF9mdWxsX3VybCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzPW5ld2hlYWRlcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbl9yZXFfaG9zdD1yZXEub3JpZ2luX3JlcV9ob3N0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnZlcmlmaWFibGU9VHJ1ZSkpCiAKLSAgICAgICAgICAgICIiIgotICAgICAgICAgICAgU29tZSBzZXJ2ZXJzIChlLmcuIEdpdEh1YiBhcmNoaXZlcywgaG9zdGVkIG9uIEFtYXpvbiBTMykgcmV0dXJuIDQwMwotICAgICAgICAgICAgRm9yYmlkZGVuIHdoZW4gdGhleSBhY3R1YWxseSBtZWFuIDQwNSBNZXRob2QgTm90IEFsbG93ZWQuCi0gICAgICAgICAgICAiIiIKKworICAgICAgICAgICAgIyBTb21lIHNlcnZlcnMgKGUuZy4gR2l0SHViIGFyY2hpdmVzLCBob3N0ZWQgb24gQW1hem9uIFMzKSByZXR1cm4gNDAzCisgICAgICAgICAgICAjIEZvcmJpZGRlbiB3aGVuIHRoZXkgYWN0dWFsbHkgbWVhbiA0MDUgTWV0aG9kIE5vdCBBbGxvd2VkLgogICAgICAgICAgICAgaHR0cF9lcnJvcl80MDMgPSBodHRwX2Vycm9yXzQwNQogCiAKQEAgLTI5MiwxNSArMjkwLDE1IEBACiAgICAgICAgICAgICAiIiIKICAgICAgICAgICAgIGRlZiByZWRpcmVjdF9yZXF1ZXN0KHNlbGYsIHJlcSwgZnAsIGNvZGUsIG1zZywgaGVhZGVycywgbmV3dXJsKToKICAgICAgICAgICAgICAgICBuZXdyZXEgPSB1cmxsaWIucmVxdWVzdC5IVFRQUmVkaXJlY3RIYW5kbGVyLnJlZGlyZWN0X3JlcXVlc3Qoc2VsZiwgcmVxLCBmcCwgY29kZSwgbXNnLCBoZWFkZXJzLCBuZXd1cmwpCi0gICAgICAgICAgICAgICAgbmV3cmVxLmdldF9tZXRob2QgPSBsYW1iZGE6IHJlcS5nZXRfbWV0aG9kKCkKKyAgICAgICAgICAgICAgICBuZXdyZXEuZ2V0X21ldGhvZCA9IHJlcS5nZXRfbWV0aG9kCiAgICAgICAgICAgICAgICAgcmV0dXJuIG5ld3JlcQogICAgICAgICBleHBvcnRlZF9wcm94aWVzID0gZXhwb3J0X3Byb3hpZXMoZCkKIAogICAgICAgICBoYW5kbGVycyA9IFtGaXhlZEhUVFBSZWRpcmVjdEhhbmRsZXIsIEhUVFBNZXRob2RGYWxsYmFja10KLSAgICAgICAgaWYgZXhwb3J0X3Byb3hpZXM6CisgICAgICAgIGlmIGV4cG9ydGVkX3Byb3hpZXM6CiAgICAgICAgICAgICBoYW5kbGVycy5hcHBlbmQodXJsbGliLnJlcXVlc3QuUHJveHlIYW5kbGVyKCkpCiAgICAgICAgIGhhbmRsZXJzLmFwcGVuZChDYWNoZUhUVFBIYW5kbGVyKCkpCi0gICAgICAgICMgWFhYOiBTaW5jZSBQeXRob24gMi43Ljkgc3NsIGNlcnQgdmFsaWRhdGlvbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQKKyAgICAgICAgIyBTaW5jZSBQeXRob24gMi43Ljkgc3NsIGNlcnQgdmFsaWRhdGlvbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQKICAgICAgICAgIyBzZWUgUEVQLTA0NzYsIHRoaXMgY2F1c2VzIHZlcmlmaWNhdGlvbiBlcnJvcnMgb24gc29tZSBodHRwcyBzZXJ2ZXJzCiAgICAgICAgICMgc28gZGlzYWJsZSBieSBkZWZhdWx0LgogICAgICAgICBpbXBvcnQgc3NsCkBAIC0zMTksMTkgKzMxNywxOSBAQAogICAgICAgICAgICAgICAgICcnJ0FkZHMgQmFzaWMgYXV0aCB0byBodHRwIHJlcXVlc3QsIHBhc3MgaW4gbG9naW46cGFzc3dvcmQgYXMgc3RyaW5nJycnCiAgICAgICAgICAgICAgICAgaW1wb3J0IGJhc2U2NAogICAgICAgICAgICAgICAgIGVuY29kZXVzZXIgPSBiYXNlNjQuYjY0ZW5jb2RlKGxvZ2luX3N0ci5lbmNvZGUoJ3V0Zi04JykpLmRlY29kZSgidXRmLTgiKQotICAgICAgICAgICAgICAgIGF1dGhoZWFkZXIgPSAgIkJhc2ljICVzIiAlIGVuY29kZXVzZXIKKyAgICAgICAgICAgICAgICBhdXRoaGVhZGVyID0gIkJhc2ljICVzIiAlIGVuY29kZXVzZXIKICAgICAgICAgICAgICAgICByLmFkZF9oZWFkZXIoIkF1dGhvcml6YXRpb24iLCBhdXRoaGVhZGVyKQogCi0gICAgICAgICAgICBpZiB1ZC51c2VyOgotICAgICAgICAgICAgICAgIGFkZF9iYXNpY19hdXRoKHVkLnVzZXIsIHIpCisgICAgICAgICAgICBpZiB1ZC51c2VyIGFuZCB1ZC5wc3dkOgorICAgICAgICAgICAgICAgIGFkZF9iYXNpY19hdXRoKHVkLnVzZXIgKyAnOicgKyB1ZC5wc3dkLCByKQogCiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgaW1wb3J0IG5ldHJjLCB1cmxsaWIucGFyc2UKKyAgICAgICAgICAgICAgICBpbXBvcnQgbmV0cmMKICAgICAgICAgICAgICAgICBuID0gbmV0cmMubmV0cmMoKQogICAgICAgICAgICAgICAgIGxvZ2luLCB1bnVzZWQsIHBhc3N3b3JkID0gbi5hdXRoZW50aWNhdG9ycyh1cmxsaWIucGFyc2UudXJscGFyc2UodXJpKS5ob3N0bmFtZSkKICAgICAgICAgICAgICAgICBhZGRfYmFzaWNfYXV0aCgiJXM6JXMiICUgKGxvZ2luLCBwYXNzd29yZCksIHIpCiAgICAgICAgICAgICBleGNlcHQgKFR5cGVFcnJvciwgSW1wb3J0RXJyb3IsIElPRXJyb3IsIG5ldHJjLk5ldHJjUGFyc2VFcnJvcik6Ci0gICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgICAgICBwYXNzCiAKICAgICAgICAgICAgIHdpdGggb3BlbmVyLm9wZW4ocikgYXMgcmVzcG9uc2U6CiAgICAgICAgICAgICAgICAgcGFzcwpAQCAtMzk2LDE4ICszOTQsMTQgQEAKICAgICAgICAgKG9sZHBuLCBvbGRwdiwgb2xkc3VmZml4KSA9IG9sZAogICAgICAgICAobmV3cG4sIG5ld3B2LCBuZXdzdWZmaXgpID0gbmV3CiAKLSAgICAgICAgIiIiCi0gICAgICAgIENoZWNrIGZvciBhIG5ldyBzdWZmaXggdHlwZSB0aGF0IHdlIGhhdmUgbmV2ZXIgaGVhcmQgb2YgYmVmb3JlCi0gICAgICAgICIiIgotICAgICAgICBpZiAobmV3c3VmZml4KToKKyAgICAgICAgIyBDaGVjayBmb3IgYSBuZXcgc3VmZml4IHR5cGUgdGhhdCB3ZSBoYXZlIG5ldmVyIGhlYXJkIG9mIGJlZm9yZQorICAgICAgICBpZiBuZXdzdWZmaXg6CiAgICAgICAgICAgICBtID0gc2VsZi5zdWZmaXhfcmVnZXhfY29tcC5zZWFyY2gobmV3c3VmZml4KQogICAgICAgICAgICAgaWYgbm90IG06CiAgICAgICAgICAgICAgICAgYmIud2FybigiJXMgaGFzIGEgcG9zc2libGUgdW5rbm93biBzdWZmaXg6ICVzIiAlIChuZXdwbiwgbmV3c3VmZml4KSkKICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAotICAgICAgICAiIiIKLSAgICAgICAgTm90IG91ciBwYWNrYWdlIHNvIGlnbm9yZSBpdAotICAgICAgICAiIiIKKyAgICAgICAgIyBOb3Qgb3VyIHBhY2thZ2Ugc28gaWdub3JlIGl0CiAgICAgICAgIGlmIG9sZHBuICE9IG5ld3BuOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKQEAgLTQ3MywxNSArNDY3LDE0IEBACiAKICAgICAgICAgcmV0dXJuICIiCiAKLSAgICBkZWYgX2NoZWNrX2xhdGVzdF92ZXJzaW9uX2J5X2RpcihzZWxmLCBkaXJ2ZXIsIHBhY2thZ2UsIHBhY2thZ2VfcmVnZXgsCi0gICAgICAgICAgICBjdXJyZW50X3ZlcnNpb24sIHVkLCBkKToKKyAgICBkZWYgX2NoZWNrX2xhdGVzdF92ZXJzaW9uX2J5X2RpcihzZWxmLCBkaXJ2ZXIsIHBhY2thZ2UsIHBhY2thZ2VfcmVnZXgsIGN1cnJlbnRfdmVyc2lvbiwgdWQsIGQpOgogICAgICAgICAiIiIKLSAgICAgICAgICAgIFNjYW4gZXZlcnkgZGlyZWN0b3J5IGluIG9yZGVyIHRvIGdldCB1cHN0cmVhbSB2ZXJzaW9uLgorICAgICAgICBTY2FuIGV2ZXJ5IGRpcmVjdG9yeSBpbiBvcmRlciB0byBnZXQgdXBzdHJlYW0gdmVyc2lvbi4KICAgICAgICAgIiIiCiAgICAgICAgIHZlcnNpb25fZGlyID0gWycnLCAnJywgJyddCiAgICAgICAgIHZlcnNpb24gPSBbJycsICcnLCAnJ10KIAotICAgICAgICBkaXJ2ZXJfcmVnZXggPSByZS5jb21waWxlKCIoP1A8cGZ4PlxEKikoP1A8dmVyPihcZCtbXC5cLV9dKSsoXGQrKSkiKQorICAgICAgICBkaXJ2ZXJfcmVnZXggPSByZS5jb21waWxlKHIiKD9QPHBmeD5cRCopKD9QPHZlcj4oXGQrW1wuXC1fXSkrKFxkKykpIikKICAgICAgICAgcyA9IGRpcnZlcl9yZWdleC5zZWFyY2goZGlydmVyKQogICAgICAgICBpZiBzOgogICAgICAgICAgICAgdmVyc2lvbl9kaXJbMV0gPSBzLmdyb3VwKCd2ZXInKQpAQCAtNTQxLDI2ICs1MzQsMjYgQEAKICAgICAgICAgICAgICAgICBnc3QtZmx1ZW5kby1tcDMKICAgICAgICAgIiIiCiAgICAgICAgICMgbWF0Y2ggbW9zdCBwYXR0ZXJucyB3aGljaCB1c2VzICItIiBhcyBzZXBhcmF0b3IgdG8gdmVyc2lvbiBkaWdpdHMKLSAgICAgICAgcG5fcHJlZml4MSA9ICJbYS16QS1aXVthLXpBLVowLTldKihbLV9dW2EtekEtWl1cdyspKlwrP1stX10iCisgICAgICAgIHBuX3ByZWZpeDEgPSByIlthLXpBLVpdW2EtekEtWjAtOV0qKFstX11bYS16QS1aXVx3KykqXCs/Wy1fXSIKICAgICAgICAgIyBhIGxvb3NlIHBhdHRlcm4gc3VjaCBhcyBmb3IgdW56aXA1NTIudGFyLmd6Ci0gICAgICAgIHBuX3ByZWZpeDIgPSAiW2EtekEtWl0rIgorICAgICAgICBwbl9wcmVmaXgyID0gciJbYS16QS1aXSsiCiAgICAgICAgICMgYSBsb29zZSBwYXR0ZXJuIHN1Y2ggYXMgZm9yIDgwMzI1LXF1aWNreS0wLjQudGFyLmd6Ci0gICAgICAgIHBuX3ByZWZpeDMgPSAiWzAtOV0rWy1dP1thLXpBLVpdKyIKKyAgICAgICAgcG5fcHJlZml4MyA9IHIiWzAtOV0rWy1dP1thLXpBLVpdKyIKICAgICAgICAgIyBTYXZlIHRoZSBQYWNrYWdlIE5hbWUgKHBuKSBSZWdleCBmb3IgdXNlIGxhdGVyCi0gICAgICAgIHBuX3JlZ2V4ID0gIiglc3wlc3wlcykiICUgKHBuX3ByZWZpeDEsIHBuX3ByZWZpeDIsIHBuX3ByZWZpeDMpCisgICAgICAgIHBuX3JlZ2V4ID0gciIoJXN8JXN8JXMpIiAlIChwbl9wcmVmaXgxLCBwbl9wcmVmaXgyLCBwbl9wcmVmaXgzKQogCiAgICAgICAgICMgbWF0Y2ggdmVyc2lvbgotICAgICAgICBwdmVyX3JlZ2V4ID0gIigoW0EtWl0qXGQrW2EtekEtWl0qW1wuXC1fXSopKykiCisgICAgICAgIHB2ZXJfcmVnZXggPSByIigoW0EtWl0qXGQrW2EtekEtWl0qW1wuXC1fXSopKykiCiAKICAgICAgICAgIyBtYXRjaCBhcmNoCiAgICAgICAgIHBhcmNoX3JlZ2V4ID0gIi1zb3VyY2V8X2FsbF8iCiAKICAgICAgICAgIyBzcmMucnBtIGV4dGVuc2lvbiB3YXMgYWRkZWQgb25seSBmb3IgcnBtIHBhY2thZ2UuIENhbiBiZSByZW1vdmVkIGlmIHRoZSBycG0KICAgICAgICAgIyBwYWNrYWdlZCB3aWxsIGFsd2F5cyBiZSBjb25zaWRlcmVkIGFzIGhhdmluZyB0byBiZSBtYW51YWxseSB1cGdyYWRlZAotICAgICAgICBwc3VmZml4X3JlZ2V4ID0gIih0YXJcLmd6fHRnenx0YXJcLmJ6Mnx6aXB8eHp8dGFyXC5senxycG18YnoyfG9yaWdcLnRhclwuZ3p8dGFyXC54enxzcmNcLnRhclwuZ3p8c3JjXC50Z3p8c3ZuclxkK1wudGFyXC5iejJ8c3RhYmxlXC50YXJcLmd6fHNyY1wucnBtKSIKKyAgICAgICAgcHN1ZmZpeF9yZWdleCA9IHIiKHRhclwuZ3p8dGd6fHRhclwuYnoyfHppcHx4enx0YXJcLmx6fHJwbXxiejJ8b3JpZ1wudGFyXC5nenx0YXJcLnh6fHNyY1wudGFyXC5nenxzcmNcLnRnenxzdm5yXGQrXC50YXJcLmJ6MnxzdGFibGVcLnRhclwuZ3p8c3JjXC5ycG0pIgogCiAgICAgICAgICMgbWF0Y2ggbmFtZSwgdmVyc2lvbiBhbmQgYXJjaGl2ZSB0eXBlIG9mIGEgcGFja2FnZQotICAgICAgICBwYWNrYWdlX3JlZ2V4X2NvbXAgPSByZS5jb21waWxlKCIoP1A8bmFtZT4lcz9cLj92PykoP1A8cHZlcj4lcykoP1A8YXJjaD4lcyk/W1wuLV0oP1A8dHlwZT4lcyQpIgorICAgICAgICBwYWNrYWdlX3JlZ2V4X2NvbXAgPSByZS5jb21waWxlKHIiKD9QPG5hbWU+JXM/XC4/dj8pKD9QPHB2ZXI+JXMpKD9QPGFyY2g+JXMpP1tcLi1dKD9QPHR5cGU+JXMkKSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChwbl9yZWdleCwgcHZlcl9yZWdleCwgcGFyY2hfcmVnZXgsIHBzdWZmaXhfcmVnZXgpKQogICAgICAgICBzZWxmLnN1ZmZpeF9yZWdleF9jb21wID0gcmUuY29tcGlsZShwc3VmZml4X3JlZ2V4KQogCkBAIC01NzIsNyArNTY1LDcgQEAKICAgICAgICAgICAgIHZlcnNpb24gPSBzZWxmLl9wYXJzZV9wYXRoKHBhY2thZ2VfcmVnZXhfY29tcCwgcGFja2FnZSkKICAgICAgICAgICAgIGlmIHZlcnNpb246CiAgICAgICAgICAgICAgICAgcGFja2FnZV9jdXN0b21fcmVnZXhfY29tcCA9IHJlLmNvbXBpbGUoCi0gICAgICAgICAgICAgICAgICAgICIoP1A8bmFtZT4lcykoP1A8cHZlcj4lcykoP1A8YXJjaD4lcyk/W1wuLV0oP1A8dHlwZT4lcykiICUKKyAgICAgICAgICAgICAgICAgICAgciIoP1A8bmFtZT4lcykoP1A8cHZlcj4lcykoP1A8YXJjaD4lcyk/W1wuLV0oP1A8dHlwZT4lcykiICUKICAgICAgICAgICAgICAgICAgICAgKHJlLmVzY2FwZSh2ZXJzaW9uWzBdKSwgcHZlcl9yZWdleCwgcGFyY2hfcmVnZXgsIHBzdWZmaXhfcmVnZXgpKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBwYWNrYWdlX2N1c3RvbV9yZWdleF9jb21wID0gTm9uZQpAQCAtNTg5LDcgKzU4Miw3IEBACiAgICAgICAgIGN1cnJlbnRfdmVyc2lvbiA9IFsnJywgZC5nZXRWYXIoJ1BWJyksICcnXQogCiAgICAgICAgICIiInBvc3NpYmxlIHRvIGhhdmUgbm8gdmVyc2lvbiBpbiBwa2cgbmFtZSwgc3VjaCBhcyBzcGVjdHJ1bS1mdyIiIgotICAgICAgICBpZiBub3QgcmUuc2VhcmNoKCJcZCsiLCBwYWNrYWdlKToKKyAgICAgICAgaWYgbm90IHJlLnNlYXJjaChyIlxkKyIsIHBhY2thZ2UpOgogICAgICAgICAgICAgY3VycmVudF92ZXJzaW9uWzFdID0gcmUuc3ViKCdfJywgJy4nLCBjdXJyZW50X3ZlcnNpb25bMV0pCiAgICAgICAgICAgICBjdXJyZW50X3ZlcnNpb25bMV0gPSByZS5zdWIoJy0nLCAnLicsIGN1cnJlbnRfdmVyc2lvblsxXSkKICAgICAgICAgICAgIHJldHVybiAoY3VycmVudF92ZXJzaW9uWzFdLCAnJykKQEAgLTYwNywxMyArNjAwLDEzIEBACiAKICAgICAgICAgICAgICMgc2VhcmNoIGZvciB2ZXJzaW9uIG1hdGNoZXMgb24gZm9sZGVycyBpbnNpZGUgdGhlIHBhdGgsIGxpa2U6CiAgICAgICAgICAgICAjICI1LjciIGluIGh0dHA6Ly9kb3dubG9hZC5nbm9tZS5vcmcvc291cmNlcy8ke1BOfS81LjcvJHtQTn0tJHtQVn0udGFyLmd6Ci0gICAgICAgICAgICBkaXJ2ZXJfcmVnZXggPSByZS5jb21waWxlKCIoP1A8ZGlydmVyPlteL10qKFxkK1wuKSpcZCsoWy1fXXJcZCspKikvIikKKyAgICAgICAgICAgIGRpcnZlcl9yZWdleCA9IHJlLmNvbXBpbGUociIoP1A8ZGlydmVyPlteL10qKFxkK1wuKSpcZCsoWy1fXXJcZCspKikvIikKICAgICAgICAgICAgIG0gPSBkaXJ2ZXJfcmVnZXguc2VhcmNoKHBhdGgpCiAgICAgICAgICAgICBpZiBtOgogICAgICAgICAgICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKICAgICAgICAgICAgICAgICBkaXJ2ZXIgPSBtLmdyb3VwKCdkaXJ2ZXInKQogCi0gICAgICAgICAgICAgICAgZGlydmVyX3BuX3JlZ2V4ID0gcmUuY29tcGlsZSgiJXNcZD8iICUgKHJlLmVzY2FwZShwbikpKQorICAgICAgICAgICAgICAgIGRpcnZlcl9wbl9yZWdleCA9IHJlLmNvbXBpbGUociIlc1xkPyIgJSAocmUuZXNjYXBlKHBuKSkpCiAgICAgICAgICAgICAgICAgaWYgbm90IGRpcnZlcl9wbl9yZWdleC5zZWFyY2goZGlydmVyKToKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChzZWxmLl9jaGVja19sYXRlc3RfdmVyc2lvbl9ieV9kaXIoZGlydmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgcGFja2FnZSwgcGFja2FnZV9yZWdleCwgY3VycmVudF92ZXJzaW9uLCB1ZCwgZCksICcnKQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9tYWluLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9tYWluLnB5CmluZGV4IDdkYzk1M2QuLjQxZGQzYjkgMTAwNzU1Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvbWFpbi5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL21haW4ucHkKQEAgLTQ3NSwxMCArNDc1LDExIEBACiAgICAgICAgICAgICAgICAgaWYgbm90IHJldHJpZXM6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICAgICAgcmV0cmllcyAtPSAxCisgICAgICAgICAgICAgICAgdHJ5bm8gPSA4IC0gcmV0cmllcwogICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoZSwgKGJiLnNlcnZlci5wcm9jZXNzLlByb2Nlc3NUaW1lb3V0LCBCcm9rZW5QaXBlRXJyb3IpKToKLSAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oIlJldHJ5aW5nIHNlcnZlciBjb25uZWN0aW9uLi4uIikKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oIlJldHJ5aW5nIHNlcnZlciBjb25uZWN0aW9uICgjJWQpLi4uIiAlIHRyeW5vKQogICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJSZXRyeWluZyBzZXJ2ZXIgY29ubmVjdGlvbi4uLiAoJXMpIiAlIHRyYWNlYmFjay5mb3JtYXRfZXhjKCkpCisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJSZXRyeWluZyBzZXJ2ZXIgY29ubmVjdGlvbiAoIyVkKS4uLiAoJXMpIiAlICh0cnlubywgdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkpCiAgICAgICAgICAgICBpZiBub3QgcmV0cmllczoKICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiVW5hYmxlIHRvIGNvbm5lY3QgdG8gYml0YmFrZSBzZXJ2ZXIsIG9yIHN0YXJ0IG9uZSIpCiAgICAgICAgICAgICBpZiByZXRyaWVzIDwgNToKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvbW9uaXRvcmRpc2sucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL21vbml0b3JkaXNrLnB5CmluZGV4IDgzM2NkM2QuLjJhZDFlNjEgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvbW9uaXRvcmRpc2sucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9tb25pdG9yZGlzay5weQpAQCAtMjgsMTYgKzI4LDE2IEBACiAKICAgICAiIiIgQ29udmVydCB0aGUgc3BhY2UgdW5pdCBHLCBNLCBLLCB0aGUgdW5pdCBpcyBjYXNlLWluc2Vuc2l0aXZlICIiIgogCi0gICAgdW5pdEcgPSByZS5tYXRjaCgnKFsxLTldWzAtOV0qKVtnR11ccz8kJywgdW5pdCkKKyAgICB1bml0RyA9IHJlLm1hdGNoKHInKFsxLTldWzAtOV0qKVtnR11ccz8kJywgdW5pdCkKICAgICBpZiB1bml0RzoKICAgICAgICAgcmV0dXJuIGludCh1bml0Ry5ncm91cCgxKSkgKiAoMTAyNCAqKiAzKQotICAgIHVuaXRNID0gcmUubWF0Y2goJyhbMS05XVswLTldKilbbU1dXHM/JCcsIHVuaXQpCisgICAgdW5pdE0gPSByZS5tYXRjaChyJyhbMS05XVswLTldKilbbU1dXHM/JCcsIHVuaXQpCiAgICAgaWYgdW5pdE06CiAgICAgICAgIHJldHVybiBpbnQodW5pdE0uZ3JvdXAoMSkpICogKDEwMjQgKiogMikKLSAgICB1bml0SyA9IHJlLm1hdGNoKCcoWzEtOV1bMC05XSopW2tLXVxzPyQnLCB1bml0KQorICAgIHVuaXRLID0gcmUubWF0Y2gocicoWzEtOV1bMC05XSopW2tLXVxzPyQnLCB1bml0KQogICAgIGlmIHVuaXRLOgogICAgICAgICByZXR1cm4gaW50KHVuaXRLLmdyb3VwKDEpKSAqIDEwMjQKLSAgICB1bml0TiA9IHJlLm1hdGNoKCcoWzEtOV1bMC05XSopXHM/JCcsIHVuaXQpCisgICAgdW5pdE4gPSByZS5tYXRjaChyJyhbMS05XVswLTldKilccz8kJywgdW5pdCkKICAgICBpZiB1bml0TjoKICAgICAgICAgcmV0dXJuIGludCh1bml0Ti5ncm91cCgxKSkKICAgICBlbHNlOgpAQCAtODMsNyArODMsNyBAQAogICAgIGZvciBwYXRoU3BhY2VJbm9kZSBpbiBCQkRpcnMuc3BsaXQoKToKICAgICAgICAgIyBUaGUgaW5wdXQgZm9ybWF0IGlzOiAiZGlyLHNwYWNlLGlub2RlIiwgZGlyIGlzIGEgbXVzdCwgc3BhY2UKICAgICAgICAgIyBhbmQgaW5vZGUgYXJlIG9wdGlvbmFsCi0gICAgICAgIHBhdGhTcGFjZUlub2RlUmUgPSByZS5tYXRjaCgnKFteLF0qKSwoW14sXSopLChbXixdKiksPyguKiknLCBwYXRoU3BhY2VJbm9kZSkKKyAgICAgICAgcGF0aFNwYWNlSW5vZGVSZSA9IHJlLm1hdGNoKHInKFteLF0qKSwoW14sXSopLChbXixdKiksPyguKiknLCBwYXRoU3BhY2VJbm9kZSkKICAgICAgICAgaWYgbm90IHBhdGhTcGFjZUlub2RlUmU6CiAgICAgICAgICAgICBwcmludEVycigiSW52YWxpZCB2YWx1ZSBpbiBCQl9ESVNLTU9OX0RJUlM6ICVzIiAlIHBhdGhTcGFjZUlub2RlKQogICAgICAgICAgICAgcmV0dXJuIE5vbmUKQEAgLTE0Nyw3ICsxNDcsNyBAQAogICAgIGVsc2U6CiAgICAgICAgICMgVGhlIGRpc2sgc3BhY2Ugb3IgaW5vZGUgaW50ZXJ2YWwgaXMgb3B0aW9uYWwsIGJ1dCBpdCBzaG91bGQKICAgICAgICAgIyBoYXZlIGEgY29ycmVjdCB2YWx1ZSBvbmNlIGl0IGlzIHNwZWNpZmllZAotICAgICAgICBpbnRlcnZhbFJlID0gcmUubWF0Y2goJyhbXixdKiksP1xzKiguKiknLCBpbnRlcnZhbCkKKyAgICAgICAgaW50ZXJ2YWxSZSA9IHJlLm1hdGNoKHInKFteLF0qKSw/XHMqKC4qKScsIGludGVydmFsKQogICAgICAgICBpZiBpbnRlcnZhbFJlOgogICAgICAgICAgICAgaW50ZXJ2YWxTcGFjZSA9IGludGVydmFsUmUuZ3JvdXAoMSkKICAgICAgICAgICAgIGlmIGludGVydmFsU3BhY2U6CmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3BhcnNlL2FzdC5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvcGFyc2UvYXN0LnB5CmluZGV4IDlkMjBjMzIuLjZkN2M4MGIgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcGFyc2UvYXN0LnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvcGFyc2UvYXN0LnB5CkBAIC0xNzgsNyArMTc4LDcgQEAKICAgICAgICAgICAgIGZ1bmNuYW1lID0gKCJfX2Fub25fJXNfJXMiICUgKHNlbGYubGluZW5vLCBzZWxmLmZpbGVuYW1lLnRyYW5zbGF0ZShNZXRob2ROb2RlLnRyX3RibCkpKQogICAgICAgICAgICAgc2VsZi5weXRob24gPSBUcnVlCiAgICAgICAgICAgICB0ZXh0ID0gImRlZiAlcyhkKTpcbiIgJSAoZnVuY25hbWUpICsgdGV4dAotICAgICAgICAgICAgYmIubWV0aG9kcG9vbC5pbnNlcnRfbWV0aG9kKGZ1bmNuYW1lLCB0ZXh0LCBzZWxmLmZpbGVuYW1lLCBzZWxmLmxpbmVubyAtIGxlbihzZWxmLmJvZHkpKQorICAgICAgICAgICAgYmIubWV0aG9kcG9vbC5pbnNlcnRfbWV0aG9kKGZ1bmNuYW1lLCB0ZXh0LCBzZWxmLmZpbGVuYW1lLCBzZWxmLmxpbmVubyAtIGxlbihzZWxmLmJvZHkpIC0gMSkKICAgICAgICAgICAgIGFub25mdW5jcyA9IGRhdGEuZ2V0VmFyKCdfX0JCQU5PTkZVTkNTJywgRmFsc2UpIG9yIFtdCiAgICAgICAgICAgICBhbm9uZnVuY3MuYXBwZW5kKGZ1bmNuYW1lKQogICAgICAgICAgICAgZGF0YS5zZXRWYXIoJ19fQkJBTk9ORlVOQ1MnLCBhbm9uZnVuY3MpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3BhcnNlL3BhcnNlX3B5L0JCSGFuZGxlci5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvcGFyc2UvcGFyc2VfcHkvQkJIYW5kbGVyLnB5CmluZGV4IGU1MDM5ZTMuLjlkYmE1ZjIgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcGFyc2UvcGFyc2VfcHkvQkJIYW5kbGVyLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvcGFyc2UvcGFyc2VfcHkvQkJIYW5kbGVyLnB5CkBAIC0zOCwxNCArMzgsMTUgQEAKICMgRm9yIGNvbXBhdGliaWxpdHkKIGJiLmRlcHJlY2F0ZV9pbXBvcnQoX19uYW1lX18sICJiYi5wYXJzZSIsIFsidmFyc19mcm9tX2ZpbGUiXSkKIAotX19mdW5jX3N0YXJ0X3JlZ2V4cF9fICAgID0gcmUuY29tcGlsZSggciIoKCg/UDxweT5weXRob24pfCg/UDxmcj5mYWtlcm9vdCkpXHMqKSooP1A8ZnVuYz5bXHdcLlwtXCtce1x9XCRdKyk/XHMqXChccypcKVxzKnskIiApCi1fX2luaGVyaXRfcmVnZXhwX18gICAgICAgPSByZS5jb21waWxlKCByImluaGVyaXRccysoLispIiApCi1fX2V4cG9ydF9mdW5jX3JlZ2V4cF9fICAgPSByZS5jb21waWxlKCByIkVYUE9SVF9GVU5DVElPTlNccysoLispIiApCi1fX2FkZHRhc2tfcmVnZXhwX18gICAgICAgPSByZS5jb21waWxlKCJhZGR0YXNrXHMrKD9QPGZ1bmM+XHcrKVxzKigoYmVmb3JlXHMqKD9QPGJlZm9yZT4oKC4qKD89YWZ0ZXIpKXwoLiopKSkpfChhZnRlclxzKig/UDxhZnRlcj4oKC4qKD89YmVmb3JlKSl8KC4qKSkpKSkqIikKLV9fZGVsdGFza19yZWdleHBfXyAgICAgICA9IHJlLmNvbXBpbGUoImRlbHRhc2tccysoP1A8ZnVuYz5cdyspIikKLV9fYWRkaGFuZGxlcl9yZWdleHBfXyAgICA9IHJlLmNvbXBpbGUoIHIiYWRkaGFuZGxlclxzKyguKykiICkKLV9fZGVmX3JlZ2V4cF9fICAgICAgICAgICA9IHJlLmNvbXBpbGUoIHIiZGVmXHMrKFx3KykuKjoiICkKLV9fcHl0aG9uX2Z1bmNfcmVnZXhwX18gICA9IHJlLmNvbXBpbGUoIHIiKFxzKy4qKXwoXiQpIiApCitfX2Z1bmNfc3RhcnRfcmVnZXhwX18gICAgPSByZS5jb21waWxlKHIiKCgoP1A8cHk+cHl0aG9uKXwoP1A8ZnI+ZmFrZXJvb3QpKVxzKikqKD9QPGZ1bmM+W1x3XC5cLVwrXHtcfVwkXSspP1xzKlwoXHMqXClccyp7JCIgKQorX19pbmhlcml0X3JlZ2V4cF9fICAgICAgID0gcmUuY29tcGlsZShyImluaGVyaXRccysoLispIiApCitfX2V4cG9ydF9mdW5jX3JlZ2V4cF9fICAgPSByZS5jb21waWxlKHIiRVhQT1JUX0ZVTkNUSU9OU1xzKyguKykiICkKK19fYWRkdGFza19yZWdleHBfXyAgICAgICA9IHJlLmNvbXBpbGUociJhZGR0YXNrXHMrKD9QPGZ1bmM+XHcrKVxzKigoYmVmb3JlXHMqKD9QPGJlZm9yZT4oKC4qKD89YWZ0ZXIpKXwoLiopKSkpfChhZnRlclxzKig/UDxhZnRlcj4oKC4qKD89YmVmb3JlKSl8KC4qKSkpKSkqIikKK19fZGVsdGFza19yZWdleHBfXyAgICAgICA9IHJlLmNvbXBpbGUociJkZWx0YXNrXHMrKD9QPGZ1bmM+XHcrKSIpCitfX2FkZGhhbmRsZXJfcmVnZXhwX18gICAgPSByZS5jb21waWxlKHIiYWRkaGFuZGxlclxzKyguKykiICkKK19fZGVmX3JlZ2V4cF9fICAgICAgICAgICA9IHJlLmNvbXBpbGUociJkZWZccysoXHcrKS4qOiIgKQorX19weXRob25fZnVuY19yZWdleHBfXyAgID0gcmUuY29tcGlsZShyIihccysuKil8KF4kKXwoXiMpIiApCitfX3B5dGhvbl90YWJfcmVnZXhwX18gICAgPSByZS5jb21waWxlKHIiICpcdCIpCiAKIF9faW5mdW5jX18gPSBbXQogX19pbnB5dGhvbl9fID0gRmFsc2UKQEAgLTE2MCw2ICsxNjEsMTYgQEAKIAogZGVmIGZlZWRlcihsaW5lbm8sIHMsIGZuLCByb290LCBzdGF0ZW1lbnRzLCBlb2Y9RmFsc2UpOgogICAgIGdsb2JhbCBfX2Z1bmNfc3RhcnRfcmVnZXhwX18sIF9faW5oZXJpdF9yZWdleHBfXywgX19leHBvcnRfZnVuY19yZWdleHBfXywgX19hZGR0YXNrX3JlZ2V4cF9fLCBfX2FkZGhhbmRsZXJfcmVnZXhwX18sIF9fZGVmX3JlZ2V4cF9fLCBfX3B5dGhvbl9mdW5jX3JlZ2V4cF9fLCBfX2lucHl0aG9uX18sIF9faW5mdW5jX18sIF9fYm9keV9fLCBiYiwgX19yZXNpZHVlX18sIF9fY2xhc3NuYW1lX18KKworICAgICMgQ2hlY2sgdGFicyBpbiBweXRob24gZnVuY3Rpb25zOgorICAgICMgLSBkZWYgcHlfZnVuY25hbWUoKTogY292ZXJlZCBieSBfX2lucHl0aG9uX18KKyAgICAjIC0gcHl0aG9uKCk6IGNvdmVyZWQgYnkgJ19fYW5vbnltb3VzJyA9PSBfX2luZnVuY19fWzBdCisgICAgIyAtIHB5dGhvbiBmdW5jbmFtZSgpOiBjb3ZlcmVkIGJ5IF9faW5mdW5jX19bM10KKyAgICBpZiBfX2lucHl0aG9uX18gb3IgKF9faW5mdW5jX18gYW5kICgnX19hbm9ueW1vdXMnID09IF9faW5mdW5jX19bMF0gb3IgX19pbmZ1bmNfX1szXSkpOgorICAgICAgICB0YWIgPSBfX3B5dGhvbl90YWJfcmVnZXhwX18ubWF0Y2gocykKKyAgICAgICAgaWYgdGFiOgorICAgICAgICAgICAgYmIud2FybigncHl0aG9uIHNob3VsZCB1c2UgNCBzcGFjZXMgaW5kZW50YXRpb24sIGJ1dCBmb3VuZCB0YWJzIGluICVzLCBsaW5lICVzJyAlIChyb290LCBsaW5lbm8pKQorCiAgICAgaWYgX19pbmZ1bmNfXzoKICAgICAgICAgaWYgcyA9PSAnfSc6CiAgICAgICAgICAgICBfX2JvZHlfXy5hcHBlbmQoJycpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3BhcnNlL3BhcnNlX3B5L0NvbmZIYW5kbGVyLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9wYXJzZS9wYXJzZV9weS9Db25mSGFuZGxlci5weQppbmRleCA5ZDNlYmUxLi5lYTQ5ZjhjIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL3BhcnNlL3BhcnNlX3B5L0NvbmZIYW5kbGVyLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvcGFyc2UvcGFyc2VfcHkvQ29uZkhhbmRsZXIucHkKQEAgLTE0Nyw3ICsxNDcsNyBAQAogICAgICAgICAgICAgY29udGludWUKICAgICAgICAgcyA9IHMucnN0cmlwKCkKICAgICAgICAgd2hpbGUgc1stMV0gPT0gJ1xcJzoKLSAgICAgICAgICAgIHMyID0gZi5yZWFkbGluZSgpLnN0cmlwKCkKKyAgICAgICAgICAgIHMyID0gZi5yZWFkbGluZSgpLnJzdHJpcCgpCiAgICAgICAgICAgICBsaW5lbm8gPSBsaW5lbm8gKyAxCiAgICAgICAgICAgICBpZiAobm90IHMyIG9yIHMyIGFuZCBzMlswXSAhPSAiIyIpIGFuZCBzWzBdID09ICIjIiA6CiAgICAgICAgICAgICAgICAgYmIuZmF0YWwoIlRoZXJlIGlzIGEgY29uZnVzaW5nIG11bHRpbGluZSwgcGFydGlhbGx5IGNvbW1lbnRlZCBleHByZXNzaW9uIG9uIGxpbmUgJXMgb2YgZmlsZSAlcyAoJXMpLlxuUGxlYXNlIGNsYXJpZnkgd2hldGhlciB0aGlzIGlzIGFsbCBhIGNvbW1lbnQgb3Igc2hvdWxkIGJlIHBhcnNlZC4iICUgKGxpbmVubywgZm4sIHMpKQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9wZXJzaXN0X2RhdGEucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3BlcnNpc3RfZGF0YS5weQppbmRleCBiZWY3MDE4Li4wZDQ0MTAwIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL3BlcnNpc3RfZGF0YS5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL3BlcnNpc3RfZGF0YS5weQpAQCAtMjksNiArMjksNyBAQAogZnJvbSBiYi5jb21wYXQgaW1wb3J0IHRvdGFsX29yZGVyaW5nCiBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBNYXBwaW5nCiBpbXBvcnQgc3FsaXRlMworaW1wb3J0IGNvbnRleHRsaWIKIAogc3FsdmVyc2lvbiA9IHNxbGl0ZTMuc3FsaXRlX3ZlcnNpb25faW5mbwogaWYgc3FsdmVyc2lvblswXSA8IDMgb3IgKHNxbHZlcnNpb25bMF0gPT0gMyBhbmQgc3FsdmVyc2lvblsxXSA8IDMpOgpAQCAtMzYsODQgKzM3LDE4MSBAQAogCiAKIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJCaXRCYWtlLlBlcnNpc3REYXRhIikKLWlmIGhhc2F0dHIoc3FsaXRlMywgJ2VuYWJsZV9zaGFyZWRfY2FjaGUnKToKLSAgICB0cnk6Ci0gICAgICAgIHNxbGl0ZTMuZW5hYmxlX3NoYXJlZF9jYWNoZShUcnVlKQotICAgIGV4Y2VwdCBzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3I6Ci0gICAgICAgIHBhc3MKLQogCiBAdG90YWxfb3JkZXJpbmcKIGNsYXNzIFNRTFRhYmxlKGNvbGxlY3Rpb25zLk11dGFibGVNYXBwaW5nKToKKyAgICBjbGFzcyBfRGVjb3JhdG9ycyhvYmplY3QpOgorICAgICAgICBAc3RhdGljbWV0aG9kCisgICAgICAgIGRlZiByZXRyeSgqLCByZWNvbm5lY3Q9VHJ1ZSk6CisgICAgICAgICAgICAiIiIKKyAgICAgICAgICAgIERlY29yYXRvciB0aGF0IHJlc3RhcnRzIGEgZnVuY3Rpb24gaWYgYSBkYXRhYmFzZSBsb2NrZWQgc3FsaXRlCisgICAgICAgICAgICBleGNlcHRpb24gb2NjdXJzLiBJZiByZWNvbm5lY3QgaXMgVHJ1ZSwgdGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24KKyAgICAgICAgICAgIHdpbGwgYmUgY2xvc2VkIGFuZCByZW9wZW5lZCBlYWNoIHRpbWUgYSBmYWlsdXJlIG9jY3VycworICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBkZWYgcmV0cnlfd3JhcHBlcihmKToKKyAgICAgICAgICAgICAgICBkZWYgd3JhcF9mdW5jKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICAgICAgICAgICAgICMgUmVjb25uZWN0IGlmIG5lY2Vzc2FyeQorICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLmNvbm5lY3Rpb24gaXMgTm9uZSBhbmQgcmVjb25uZWN0OgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5yZWNvbm5lY3QoKQorCisgICAgICAgICAgICAgICAgICAgIGNvdW50ID0gMAorICAgICAgICAgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmKHNlbGYsICphcmdzLCAqKmt3YXJncykKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBzcWxpdGUzLk9wZXJhdGlvbmFsRXJyb3IgYXMgZXhjOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNvdW50IDwgNTAwIGFuZCAoJ2lzIGxvY2tlZCcgaW4gc3RyKGV4Yykgb3IgJ2xvY2tpbmcgcHJvdG9jb2wnIGluIHN0cihleGMpKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQgPSBjb3VudCArIDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgcmVjb25uZWN0OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5yZWNvbm5lY3QoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBfZnVuYworICAgICAgICAgICAgcmV0dXJuIHJldHJ5X3dyYXBwZXIKKworICAgICAgICBAc3RhdGljbWV0aG9kCisgICAgICAgIGRlZiB0cmFuc2FjdGlvbihmKToKKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgRGVjb3JhdG9yIHRoYXQgc3RhcnRzIGEgZGF0YWJhc2UgdHJhbnNhY3Rpb24gYW5kIGNyZWF0ZXMgYSBkYXRhYmFzZQorICAgICAgICAgICAgY3Vyc29yIGZvciBwZXJmb3JtaW5nIHF1ZXJpZXMuIElmIG5vIGV4Y2VwdGlvbiBpcyB0aHJvd24sIHRoZQorICAgICAgICAgICAgZGF0YWJhc2UgcmVzdWx0cyBhcmUgY29tbWl0ZWQuIElmIGFuIGV4Y2VwdGlvbiBvY2N1cnMsIHRoZSBkYXRhYmFzZQorICAgICAgICAgICAgaXMgcm9sbGVkIGJhY2suIEluIGFsbCBjYXNlcywgdGhlIGN1cnNvciBpcyBjbG9zZWQgYWZ0ZXIgdGhlCisgICAgICAgICAgICBmdW5jdGlvbiBlbmRzLgorCisgICAgICAgICAgICBOb3RlIHRoYXQgdGhlIGN1cnNvciBpcyBwYXNzZWQgYXMgYW4gZXh0cmEgYXJndW1lbnQgdG8gdGhlIGZ1bmN0aW9uCisgICAgICAgICAgICBhZnRlciBgc2VsZmAgYW5kIGJlZm9yZSBhbnkgb2YgdGhlIG5vcm1hbCBhcmd1bWVudHMKKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgZGVmIHdyYXBfZnVuYyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAgICAgICAgICMgQ29udGV4dCBtYW5hZ2VyIHdpbGwgQ09NTUlUIHRoZSBkYXRhYmFzZSBvbiBzdWNjZXNzLAorICAgICAgICAgICAgICAgICMgb3IgUk9MTEJBQ0sgb24gYW4gZXhjZXB0aW9uCisgICAgICAgICAgICAgICAgd2l0aCBzZWxmLmNvbm5lY3Rpb246CisgICAgICAgICAgICAgICAgICAgICMgQXV0b21hdGljYWxseSBjbG9zZSB0aGUgY3Vyc29yIHdoZW4gZG9uZQorICAgICAgICAgICAgICAgICAgICB3aXRoIGNvbnRleHRsaWIuY2xvc2luZyhzZWxmLmNvbm5lY3Rpb24uY3Vyc29yKCkpIGFzIGN1cnNvcjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmKHNlbGYsIGN1cnNvciwgKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICAgICAgcmV0dXJuIHdyYXBfZnVuYworCiAgICAgIiIiT2JqZWN0IHJlcHJlc2VudGluZyBhIHRhYmxlL2RvbWFpbiBpbiB0aGUgZGF0YWJhc2UiIiIKICAgICBkZWYgX19pbml0X18oc2VsZiwgY2FjaGVmaWxlLCB0YWJsZSk6CiAgICAgICAgIHNlbGYuY2FjaGVmaWxlID0gY2FjaGVmaWxlCiAgICAgICAgIHNlbGYudGFibGUgPSB0YWJsZQotICAgICAgICBzZWxmLmN1cnNvciA9IGNvbm5lY3Qoc2VsZi5jYWNoZWZpbGUpCiAKLSAgICAgICAgc2VsZi5fZXhlY3V0ZSgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgJXMoa2V5IFRFWFQsIHZhbHVlIFRFWFQpOyIKLSAgICAgICAgICAgICAgICAgICAgICAlIHRhYmxlKQorICAgICAgICBzZWxmLmNvbm5lY3Rpb24gPSBOb25lCisgICAgICAgIHNlbGYuX2V4ZWN1dGVfc2luZ2xlKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyAlcyhrZXkgVEVYVCBQUklNQVJZIEtFWSBOT1QgTlVMTCwgdmFsdWUgVEVYVCk7IiAlIHRhYmxlKQogCi0gICAgZGVmIF9leGVjdXRlKHNlbGYsICpxdWVyeSk6Ci0gICAgICAgICIiIkV4ZWN1dGUgYSBxdWVyeSwgd2FpdGluZyB0byBhY3F1aXJlIGEgbG9jayBpZiBuZWNlc3NhcnkiIiIKLSAgICAgICAgY291bnQgPSAwCi0gICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuY3Vyc29yLmV4ZWN1dGUoKnF1ZXJ5KQotICAgICAgICAgICAgZXhjZXB0IHNxbGl0ZTMuT3BlcmF0aW9uYWxFcnJvciBhcyBleGM6Ci0gICAgICAgICAgICAgICAgaWYgJ2RhdGFiYXNlIGlzIGxvY2tlZCcgaW4gc3RyKGV4YykgYW5kIGNvdW50IDwgNTAwOgotICAgICAgICAgICAgICAgICAgICBjb3VudCA9IGNvdW50ICsgMQorICAgIEBfRGVjb3JhdG9ycy5yZXRyeShyZWNvbm5lY3Q9RmFsc2UpCisgICAgQF9EZWNvcmF0b3JzLnRyYW5zYWN0aW9uCisgICAgZGVmIF9zZXR1cF9kYXRhYmFzZShzZWxmLCBjdXJzb3IpOgorICAgICAgICBjdXJzb3IuZXhlY3V0ZSgicHJhZ21hIHN5bmNocm9ub3VzID0gb2ZmOyIpCisgICAgICAgICMgRW5hYmxlIFdBTCBhbmQga2VlcCB0aGUgYXV0b2NoZWNrcG9pbnQgbGVuZ3RoIHNtYWxsICh0aGUgZGVmYXVsdCBpcworICAgICAgICAjIHVzdWFsbHkgMTAwMCkuIFBlcnNpc3RlbnQgY2FjaGVzIGFyZSB1c3VhbGx5IHJlYWQtbW9zdGx5LCBzbyBrZWVwaW5nCisgICAgICAgICMgdGhpcyBzaG9ydCB3aWxsIGtlZXAgcmVhZGVycyBydW5uaW5nIHF1aWNrbHkKKyAgICAgICAgY3Vyc29yLmV4ZWN1dGUoInByYWdtYSBqb3VybmFsX21vZGUgPSBXQUw7IikKKyAgICAgICAgY3Vyc29yLmV4ZWN1dGUoInByYWdtYSB3YWxfYXV0b2NoZWNrcG9pbnQgPSAxMDA7IikKKworICAgIGRlZiByZWNvbm5lY3Qoc2VsZik6CisgICAgICAgIGlmIHNlbGYuY29ubmVjdGlvbiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuY29ubmVjdGlvbi5jbG9zZSgpCisgICAgICAgIHNlbGYuY29ubmVjdGlvbiA9IHNxbGl0ZTMuY29ubmVjdChzZWxmLmNhY2hlZmlsZSwgdGltZW91dD01KQorICAgICAgICBzZWxmLmNvbm5lY3Rpb24udGV4dF9mYWN0b3J5ID0gc3RyCisgICAgICAgIHNlbGYuX3NldHVwX2RhdGFiYXNlKCkKKworICAgIEBfRGVjb3JhdG9ycy5yZXRyeSgpCisgICAgQF9EZWNvcmF0b3JzLnRyYW5zYWN0aW9uCisgICAgZGVmIF9leGVjdXRlX3NpbmdsZShzZWxmLCBjdXJzb3IsICpxdWVyeSk6CisgICAgICAgICIiIgorICAgICAgICBFeGVjdXRlcyBhIHNpbmdsZSBxdWVyeSBhbmQgZGlzY2FyZHMgdGhlIHJlc3VsdHMuIFRoaXMgY29ycmVjdGx5IGNsb3NlcworICAgICAgICB0aGUgZGF0YWJhc2UgY3Vyc29yIHdoZW4gZmluaXNoZWQKKyAgICAgICAgIiIiCisgICAgICAgIGN1cnNvci5leGVjdXRlKCpxdWVyeSkKKworICAgIEBfRGVjb3JhdG9ycy5yZXRyeSgpCisgICAgZGVmIF9yb3dfaXRlcihzZWxmLCBmLCAqcXVlcnkpOgorICAgICAgICAiIiIKKyAgICAgICAgSGVscGVyIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHJvdyBpdGVyYXRvci4gRWFjaCB0aW1lIF9fbmV4dF9fIGlzCisgICAgICAgIGNhbGxlZCBvbiB0aGUgaXRlcmF0b3IsIHRoZSBwcm92aWRlZCBmdW5jdGlvbiBpcyBldmFsdWF0ZWQgdG8gZGV0ZXJtaW5lCisgICAgICAgIHRoZSByZXR1cm4gdmFsdWUKKyAgICAgICAgIiIiCisgICAgICAgIGNsYXNzIEN1cnNvckl0ZXIob2JqZWN0KToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjdXJzb3IpOgorICAgICAgICAgICAgICAgIHNlbGYuY3Vyc29yID0gY3Vyc29yCisKKyAgICAgICAgICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZgorCisgICAgICAgICAgICBkZWYgX19uZXh0X18oc2VsZik6CisgICAgICAgICAgICAgICAgcm93ID0gc2VsZi5jdXJzb3IuZmV0Y2hvbmUoKQorICAgICAgICAgICAgICAgIGlmIHJvdyBpcyBOb25lOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmN1cnNvci5jbG9zZSgpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuY3Vyc29yID0gY29ubmVjdChzZWxmLmNhY2hlZmlsZSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgICAgICAgICByYWlzZSBTdG9wSXRlcmF0aW9uCisgICAgICAgICAgICAgICAgcmV0dXJuIGYocm93KQorCisgICAgICAgICAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmCisKKyAgICAgICAgICAgIGRlZiBfX2V4aXRfXyhzZWxmLCB0eXAsIHZhbHVlLCB0cmFjZWJhY2spOgorICAgICAgICAgICAgICAgIHNlbGYuY3Vyc29yLmNsb3NlKCkKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKworICAgICAgICBjdXJzb3IgPSBzZWxmLmNvbm5lY3Rpb24uY3Vyc29yKCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgY3Vyc29yLmV4ZWN1dGUoKnF1ZXJ5KQorICAgICAgICAgICAgcmV0dXJuIEN1cnNvckl0ZXIoY3Vyc29yKQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBjdXJzb3IuY2xvc2UoKQogCiAgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKLSAgICAgICAgc2VsZi5jdXJzb3IuX19lbnRlcl9fKCkKKyAgICAgICAgc2VsZi5jb25uZWN0aW9uLl9fZW50ZXJfXygpCiAgICAgICAgIHJldHVybiBzZWxmCiAKICAgICBkZWYgX19leGl0X18oc2VsZiwgKmV4Y2luZm8pOgotICAgICAgICBzZWxmLmN1cnNvci5fX2V4aXRfXygqZXhjaW5mbykKKyAgICAgICAgc2VsZi5jb25uZWN0aW9uLl9fZXhpdF9fKCpleGNpbmZvKQogCi0gICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6Ci0gICAgICAgIGRhdGEgPSBzZWxmLl9leGVjdXRlKCJTRUxFQ1QgKiBmcm9tICVzIHdoZXJlIGtleT0/OyIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhYmxlLCBba2V5XSkKLSAgICAgICAgZm9yIHJvdyBpbiBkYXRhOgorICAgIEBfRGVjb3JhdG9ycy5yZXRyeSgpCisgICAgQF9EZWNvcmF0b3JzLnRyYW5zYWN0aW9uCisgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGN1cnNvciwga2V5KToKKyAgICAgICAgY3Vyc29yLmV4ZWN1dGUoIlNFTEVDVCAqIGZyb20gJXMgd2hlcmUga2V5PT87IiAlIHNlbGYudGFibGUsIFtrZXldKQorICAgICAgICByb3cgPSBjdXJzb3IuZmV0Y2hvbmUoKQorICAgICAgICBpZiByb3cgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICByZXR1cm4gcm93WzFdCiAgICAgICAgIHJhaXNlIEtleUVycm9yKGtleSkKIAotICAgIGRlZiBfX2RlbGl0ZW1fXyhzZWxmLCBrZXkpOgorICAgIEBfRGVjb3JhdG9ycy5yZXRyeSgpCisgICAgQF9EZWNvcmF0b3JzLnRyYW5zYWN0aW9uCisgICAgZGVmIF9fZGVsaXRlbV9fKHNlbGYsIGN1cnNvciwga2V5KToKICAgICAgICAgaWYga2V5IG5vdCBpbiBzZWxmOgogICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3Ioa2V5KQotICAgICAgICBzZWxmLl9leGVjdXRlKCJERUxFVEUgZnJvbSAlcyB3aGVyZSBrZXk9PzsiICUgc2VsZi50YWJsZSwgW2tleV0pCisgICAgICAgIGN1cnNvci5leGVjdXRlKCJERUxFVEUgZnJvbSAlcyB3aGVyZSBrZXk9PzsiICUgc2VsZi50YWJsZSwgW2tleV0pCiAKLSAgICBkZWYgX19zZXRpdGVtX18oc2VsZiwga2V5LCB2YWx1ZSk6CisgICAgQF9EZWNvcmF0b3JzLnJldHJ5KCkKKyAgICBAX0RlY29yYXRvcnMudHJhbnNhY3Rpb24KKyAgICBkZWYgX19zZXRpdGVtX18oc2VsZiwgY3Vyc29yLCBrZXksIHZhbHVlKToKICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uoa2V5LCBzdHIpOgogICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdPbmx5IHN0cmluZyBrZXlzIGFyZSBzdXBwb3J0ZWQnKQogICAgICAgICBlbGlmIG5vdCBpc2luc3RhbmNlKHZhbHVlLCBzdHIpOgogICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdPbmx5IHN0cmluZyB2YWx1ZXMgYXJlIHN1cHBvcnRlZCcpCiAKLSAgICAgICAgZGF0YSA9IHNlbGYuX2V4ZWN1dGUoIlNFTEVDVCAqIGZyb20gJXMgd2hlcmUga2V5PT87IiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGFibGUsIFtrZXldKQotICAgICAgICBleGlzdHMgPSBsZW4obGlzdChkYXRhKSkKLSAgICAgICAgaWYgZXhpc3RzOgotICAgICAgICAgICAgc2VsZi5fZXhlY3V0ZSgiVVBEQVRFICVzIFNFVCB2YWx1ZT0/IFdIRVJFIGtleT0/OyIgJSBzZWxmLnRhYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWUsIGtleV0pCisgICAgICAgIGN1cnNvci5leGVjdXRlKCJTRUxFQ1QgKiBmcm9tICVzIHdoZXJlIGtleT0/OyIgJSBzZWxmLnRhYmxlLCBba2V5XSkKKyAgICAgICAgcm93ID0gY3Vyc29yLmZldGNob25lKCkKKyAgICAgICAgaWYgcm93IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgY3Vyc29yLmV4ZWN1dGUoIlVQREFURSAlcyBTRVQgdmFsdWU9PyBXSEVSRSBrZXk9PzsiICUgc2VsZi50YWJsZSwgW3ZhbHVlLCBrZXldKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5fZXhlY3V0ZSgiSU5TRVJUIGludG8gJXMoa2V5LCB2YWx1ZSkgdmFsdWVzICg/LCA/KTsiICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50YWJsZSwgW2tleSwgdmFsdWVdKQorICAgICAgICAgICAgY3Vyc29yLmV4ZWN1dGUoIklOU0VSVCBpbnRvICVzKGtleSwgdmFsdWUpIHZhbHVlcyAoPywgPyk7IiAlIHNlbGYudGFibGUsIFtrZXksIHZhbHVlXSkKIAotICAgIGRlZiBfX2NvbnRhaW5zX18oc2VsZiwga2V5KToKLSAgICAgICAgcmV0dXJuIGtleSBpbiBzZXQoc2VsZikKKyAgICBAX0RlY29yYXRvcnMucmV0cnkoKQorICAgIEBfRGVjb3JhdG9ycy50cmFuc2FjdGlvbgorICAgIGRlZiBfX2NvbnRhaW5zX18oc2VsZiwgY3Vyc29yLCBrZXkpOgorICAgICAgICBjdXJzb3IuZXhlY3V0ZSgnU0VMRUNUICogZnJvbSAlcyB3aGVyZSBrZXk9PzsnICUgc2VsZi50YWJsZSwgW2tleV0pCisgICAgICAgIHJldHVybiBjdXJzb3IuZmV0Y2hvbmUoKSBpcyBub3QgTm9uZQogCi0gICAgZGVmIF9fbGVuX18oc2VsZik6Ci0gICAgICAgIGRhdGEgPSBzZWxmLl9leGVjdXRlKCJTRUxFQ1QgQ09VTlQoa2V5KSBGUk9NICVzOyIgJSBzZWxmLnRhYmxlKQotICAgICAgICBmb3Igcm93IGluIGRhdGE6CisgICAgQF9EZWNvcmF0b3JzLnJldHJ5KCkKKyAgICBAX0RlY29yYXRvcnMudHJhbnNhY3Rpb24KKyAgICBkZWYgX19sZW5fXyhzZWxmLCBjdXJzb3IpOgorICAgICAgICBjdXJzb3IuZXhlY3V0ZSgiU0VMRUNUIENPVU5UKGtleSkgRlJPTSAlczsiICUgc2VsZi50YWJsZSkKKyAgICAgICAgcm93ID0gY3Vyc29yLmZldGNob25lKCkKKyAgICAgICAgaWYgcm93IGlzIG5vdCBOb25lOgogICAgICAgICAgICAgcmV0dXJuIHJvd1swXQogCiAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgotICAgICAgICBkYXRhID0gc2VsZi5fZXhlY3V0ZSgiU0VMRUNUIGtleSBGUk9NICVzOyIgJSBzZWxmLnRhYmxlKQotICAgICAgICByZXR1cm4gKHJvd1swXSBmb3Igcm93IGluIGRhdGEpCisgICAgICAgIHJldHVybiBzZWxmLl9yb3dfaXRlcihsYW1iZGEgcm93OiByb3dbMF0sICJTRUxFQ1Qga2V5IGZyb20gJXM7IiAlIHNlbGYudGFibGUpCiAKICAgICBkZWYgX19sdF9fKHNlbGYsIG90aGVyKToKICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uob3RoZXIsIE1hcHBpbmcpOgpAQCAtMTIyLDI1ICsyMjAsMjcgQEAKICAgICAgICAgcmV0dXJuIGxlbihzZWxmKSA8IGxlbihvdGhlcikKIAogICAgIGRlZiBnZXRfYnlfcGF0dGVybihzZWxmLCBwYXR0ZXJuKToKLSAgICAgICAgZGF0YSA9IHNlbGYuX2V4ZWN1dGUoIlNFTEVDVCAqIEZST00gJXMgV0hFUkUga2V5IExJS0UgPzsiICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50YWJsZSwgW3BhdHRlcm5dKQotICAgICAgICByZXR1cm4gW3Jvd1sxXSBmb3Igcm93IGluIGRhdGFdCisgICAgICAgIHJldHVybiBzZWxmLl9yb3dfaXRlcihsYW1iZGEgcm93OiByb3dbMV0sICJTRUxFQ1QgKiBGUk9NICVzIFdIRVJFIGtleSBMSUtFID87IiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhYmxlLCBbcGF0dGVybl0pCiAKICAgICBkZWYgdmFsdWVzKHNlbGYpOgogICAgICAgICByZXR1cm4gbGlzdChzZWxmLml0ZXJ2YWx1ZXMoKSkKIAogICAgIGRlZiBpdGVydmFsdWVzKHNlbGYpOgotICAgICAgICBkYXRhID0gc2VsZi5fZXhlY3V0ZSgiU0VMRUNUIHZhbHVlIEZST00gJXM7IiAlIHNlbGYudGFibGUpCi0gICAgICAgIHJldHVybiAocm93WzBdIGZvciByb3cgaW4gZGF0YSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX3Jvd19pdGVyKGxhbWJkYSByb3c6IHJvd1swXSwgIlNFTEVDVCB2YWx1ZSBGUk9NICVzOyIgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50YWJsZSkKIAogICAgIGRlZiBpdGVtcyhzZWxmKToKICAgICAgICAgcmV0dXJuIGxpc3Qoc2VsZi5pdGVyaXRlbXMoKSkKIAogICAgIGRlZiBpdGVyaXRlbXMoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9leGVjdXRlKCJTRUxFQ1QgKiBGUk9NICVzOyIgJSBzZWxmLnRhYmxlKQorICAgICAgICByZXR1cm4gc2VsZi5fcm93X2l0ZXIobGFtYmRhIHJvdzogKHJvd1swXSwgcm93WzFdKSwgIlNFTEVDVCAqIEZST00gJXM7IiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhYmxlKQogCi0gICAgZGVmIGNsZWFyKHNlbGYpOgotICAgICAgICBzZWxmLl9leGVjdXRlKCJERUxFVEUgRlJPTSAlczsiICUgc2VsZi50YWJsZSkKKyAgICBAX0RlY29yYXRvcnMucmV0cnkoKQorICAgIEBfRGVjb3JhdG9ycy50cmFuc2FjdGlvbgorICAgIGRlZiBjbGVhcihzZWxmLCBjdXJzb3IpOgorICAgICAgICBjdXJzb3IuZXhlY3V0ZSgiREVMRVRFIEZST00gJXM7IiAlIHNlbGYudGFibGUpCiAKICAgICBkZWYgaGFzX2tleShzZWxmLCBrZXkpOgogICAgICAgICByZXR1cm4ga2V5IGluIHNlbGYKQEAgLTE5NCwxMiArMjk0LDYgQEAKICAgICAgICAgIiIiCiAgICAgICAgIGRlbCBzZWxmLmRhdGFbZG9tYWluXVtrZXldCiAKLWRlZiBjb25uZWN0KGRhdGFiYXNlKToKLSAgICBjb25uZWN0aW9uID0gc3FsaXRlMy5jb25uZWN0KGRhdGFiYXNlLCB0aW1lb3V0PTUsIGlzb2xhdGlvbl9sZXZlbD1Ob25lKQotICAgIGNvbm5lY3Rpb24uZXhlY3V0ZSgicHJhZ21hIHN5bmNocm9ub3VzID0gb2ZmOyIpCi0gICAgY29ubmVjdGlvbi50ZXh0X2ZhY3RvcnkgPSBzdHIKLSAgICByZXR1cm4gY29ubmVjdGlvbgotCiBkZWYgcGVyc2lzdChkb21haW4sIGQpOgogICAgICIiIkNvbnZlbmllbmNlIGZhY3RvcnkgZm9yIFNRTFRhYmxlIG9iamVjdHMgYmFzZWQgdXBvbiBtZXRhZGF0YSIiIgogICAgIGltcG9ydCBiYi51dGlscwpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9wcm92aWRlcnMucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3Byb3ZpZGVycy5weQppbmRleCBjMmFhOThjLi5mNDk2ZDg0IDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL3Byb3ZpZGVycy5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL3Byb3ZpZGVycy5weQpAQCAtMTI5LDcgKzEyOSw3IEBACiAgICAgICAgIHByZWZlcnJlZF92ID0gY2ZnRGF0YS5nZXRWYXIoIlBSRUZFUlJFRF9WRVJTSU9OIikKIAogICAgIGlmIHByZWZlcnJlZF92OgotICAgICAgICBtID0gcmUubWF0Y2goJyhcZCs6KSooLiopKF8uKikqJywgcHJlZmVycmVkX3YpCisgICAgICAgIG0gPSByZS5tYXRjaChyJyhcZCs6KSooLiopKF8uKikqJywgcHJlZmVycmVkX3YpCiAgICAgICAgIGlmIG06CiAgICAgICAgICAgICBpZiBtLmdyb3VwKDEpOgogICAgICAgICAgICAgICAgIHByZWZlcnJlZF9lID0gbS5ncm91cCgxKVs6LTFdCkBAIC0zODQsNyArMzg0LDcgQEAKIAogICAgICMgT25seSBzZWFyY2ggZHluYW1pYyBwYWNrYWdlcyBpZiB3ZSBjYW4ndCBmaW5kIGFueXRoaW5nIGluIG90aGVyIHZhcmlhYmxlcwogICAgIGZvciBwYXR0ZXJuIGluIGRhdGFDYWNoZS5wYWNrYWdlc19keW5hbWljOgotICAgICAgICBwYXR0ZXJuID0gcGF0dGVybi5yZXBsYWNlKCcrJywgIlwrIikKKyAgICAgICAgcGF0dGVybiA9IHBhdHRlcm4ucmVwbGFjZShyJysnLCByIlwrIikKICAgICAgICAgaWYgcGF0dGVybiBpbiByZWdleHBfY2FjaGU6CiAgICAgICAgICAgICByZWdleHAgPSByZWdleHBfY2FjaGVbcGF0dGVybl0KICAgICAgICAgZWxzZToKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9idWlsdGluLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL2J1aWx0aW4ucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4ODE0ZGMuLjAwMDAwMDAKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL2J1aWx0aW4ucHkKKysrIC9kZXYvbnVsbApAQCAtMSw3MTAgKzAsMCBAQAotIyBidWlsdGluLnB5IC0gYnVpbHRpbnMgYW5kIHV0aWxpdGllcyBkZWZpbml0aW9ucyBmb3IgcHlzaC4KLSMKLSMgQ29weXJpZ2h0IDIwMDcgUGF0cmljayBNZXphcmQKLSMKLSMgVGhpcyBzb2Z0d2FyZSBtYXkgYmUgdXNlZCBhbmQgZGlzdHJpYnV0ZWQgYWNjb3JkaW5nIHRvIHRoZSB0ZXJtcwotIyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGluY29ycG9yYXRlZCBoZXJlaW4gYnkgcmVmZXJlbmNlLgotCi0iIiJCdWlsdGluIGFuZCBpbnRlcm5hbCB1dGlsaXRpZXMgaW1wbGVtZW50YXRpb25zLgotCi0tIEJld2FyZSBub3QgdG8gdXNlIHB5dGhvbiBpbnRlcnByZXRlciBlbnZpcm9ubWVudCBhcyBpZiBpdCB3ZXJlIHRoZSBzaGVsbAotZW52aXJvbm1lbnQuIEZvciBpbnN0YW5jZSwgY29tbWFuZHMgd29ya2luZyBkaXJlY3RvcnkgbXVzdCBiZSBleHBsaWNpdGVseSBoYW5kbGVkCi10aHJvdWdoIGVudlsnUFdEJ10gaW5zdGVhZCBvZiByZWx5aW5nIG9uIHB5dGhvbiB3b3JraW5nIGRpcmVjdG9yeS4KLSIiIgotaW1wb3J0IGVycm5vCi1pbXBvcnQgb3B0cGFyc2UKLWltcG9ydCBvcwotaW1wb3J0IHJlCi1pbXBvcnQgc3VicHJvY2VzcwotaW1wb3J0IHN5cwotaW1wb3J0IHRpbWUKLQotZGVmIGhhc19zdWJwcm9jZXNzX2J1ZygpOgotICAgIHJldHVybiBnZXRhdHRyKHN1YnByb2Nlc3MsICdsaXN0MmNtZGxpbmUnKSBhbmQgXAotICAgICAgICggICAgc3VicHJvY2Vzcy5saXN0MmNtZGxpbmUoWycnXSkgPT0gJycgb3IgXAotICAgICAgICAgICAgc3VicHJvY2Vzcy5saXN0MmNtZGxpbmUoWydmb298YmFyJ10pID09ICdmb298YmFyJykKLSAgICAgICAgICAgIAotIyBEZXRlY3QgcHl0aG9uIGJ1ZyAxNjM0MzQzOiAic3VicHJvY2VzcyBzd2FsbG93cyBlbXB0eSBhcmd1bWVudHMgdW5kZXIgd2luMzIiCi0jIDxodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvaW5kZXgucGhwP2Z1bmM9ZGV0YWlsJmFpZD0xNjM0MzQzJmdyb3VwX2lkPTU0NzAmYXRpZD0xMDU0NzA+Ci0jIEFsc28gZGV0ZWN0OiAiWyAxNzEwODAyIF0gc3VicHJvY2VzcyBtdXN0IGVzY2FwZSByZWRpcmVjdGlvbiBjaGFyYWN0ZXJzIHVuZGVyIHdpbjMyIgotIyA8aHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyL2luZGV4LnBocD9mdW5jPWRldGFpbCZhaWQ9MTcxMDgwMiZncm91cF9pZD01NDcwJmF0aWQ9MTA1NDcwPgotaWYgaGFzX3N1YnByb2Nlc3NfYnVnKCk6Ci0gICAgaW1wb3J0IHN1YnByb2Nlc3NfZml4Ci0gICAgc3VicHJvY2Vzcy5saXN0MmNtZGxpbmUgPSBzdWJwcm9jZXNzX2ZpeC5saXN0MmNtZGxpbmUKLQotZnJvbSBzaGVycm9ycyBpbXBvcnQgKgotCi1jbGFzcyBOb25FeGl0aW5nUGFyc2VyKG9wdHBhcnNlLk9wdGlvblBhcnNlcik6Ci0gICAgIiIiT3B0aW9uUGFyc2VyIGRlZmF1bHQgYmVoYXZpb3VyIHVwb24gZXJyb3IgaXMgdG8gcHJpbnQgdGhlIGVycm9yIG1lc3NhZ2UgYW5kCi0gICAgZXhpdC4gUmFpc2UgYSB1dGlsaXR5IGVycm9yIGluc3RlYWQuCi0gICAgIiIiCi0gICAgZGVmIGVycm9yKHNlbGYsIG1zZyk6Ci0gICAgICAgIHJhaXNlIFV0aWxpdHlFcnJvcihtc2cpCi0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgc2V0IHNwZWNpYWwgYnVpbHRpbgotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotT1BUX1NFVCA9IE5vbkV4aXRpbmdQYXJzZXIodXNhZ2U9InNldCAtIHNldCBvciB1bnNldCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMiKQotT1BUX1NFVC5hZGRfb3B0aW9uKCAnLWYnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSdoYXNfZicsIGRlZmF1bHQ9RmFsc2UsCi0gICAgaGVscD0nVGhlIHNoZWxsIHNoYWxsIGRpc2FibGUgcGF0aG5hbWUgZXhwYW5zaW9uLicpCi1PUFRfU0VULmFkZF9vcHRpb24oJy1lJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0naGFzX2UnLCBkZWZhdWx0PUZhbHNlLAotICAgIGhlbHA9IiIiV2hlbiB0aGlzIG9wdGlvbiBpcyBvbiwgaWYgYSBzaW1wbGUgY29tbWFuZCBmYWlscyBmb3IgYW55IG9mIHRoZSBcCi0gICAgcmVhc29ucyBsaXN0ZWQgaW4gQ29uc2VxdWVuY2VzIG9mIFNoZWxsIEVycm9ycyBvciByZXR1cm5zIGFuIGV4aXQgc3RhdHVzIFwKLSAgICB2YWx1ZSA+MCwgYW5kIGlzIG5vdCBwYXJ0IG9mIHRoZSBjb21wb3VuZCBsaXN0IGZvbGxvd2luZyBhIHdoaWxlLCB1bnRpbCwgXAotICAgIG9yIGlmIGtleXdvcmQsIGFuZCBpcyBub3QgYSBwYXJ0IG9mIGFuIEFORCBvciBPUiBsaXN0LCBhbmQgaXMgbm90IGEgXAotICAgIHBpcGVsaW5lIHByZWNlZGVkIGJ5IHRoZSAhIHJlc2VydmVkIHdvcmQsIHRoZW4gdGhlIHNoZWxsIHNoYWxsIGltbWVkaWF0ZWx5IFwKLSAgICBleGl0LiIiIikKLU9QVF9TRVQuYWRkX29wdGlvbignLXgnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSdoYXNfeCcsIGRlZmF1bHQ9RmFsc2UsCi0gICAgaGVscD0iIiJUaGUgc2hlbGwgc2hhbGwgd3JpdGUgdG8gc3RhbmRhcmQgZXJyb3IgYSB0cmFjZSBmb3IgZWFjaCBjb21tYW5kIFwKLSAgICBhZnRlciBpdCBleHBhbmRzIHRoZSBjb21tYW5kIGFuZCBiZWZvcmUgaXQgZXhlY3V0ZXMgaXQuIEl0IGlzIHVuc3BlY2lmaWVkIFwKLSAgICB3aGV0aGVyIHRoZSBjb21tYW5kIHRoYXQgdHVybnMgdHJhY2luZyBvZmYgaXMgdHJhY2VkLiIiIikKLQotZGVmIGJ1aWx0aW5fc2V0KG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0KLSAgICBvcHRpb24sIGFyZ3MgPSBPUFRfU0VULnBhcnNlX2FyZ3MoYXJncykKLSAgICBlbnYgPSBpbnRlcnAuZ2V0X2VudigpCi0gICAgCi0gICAgaWYgb3B0aW9uLmhhc19mOgotICAgICAgICBlbnYuc2V0X29wdCgnLWYnKQotICAgIGlmIG9wdGlvbi5oYXNfZToKLSAgICAgICAgZW52LnNldF9vcHQoJy1lJykKLSAgICBpZiBvcHRpb24uaGFzX3g6Ci0gICAgICAgIGVudi5zZXRfb3B0KCcteCcpCi0gICAgcmV0dXJuIDAKLSAgICAKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgc2hpZnQgc3BlY2lhbCBidWlsdGluCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi1kZWYgYnVpbHRpbl9zaGlmdChuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotICAgICAgICAKLSAgICBwYXJhbXMgPSBpbnRlcnAuZ2V0X2VudigpLmdldF9wb3NpdGlvbmFsX2FyZ3MoKQotICAgIGlmIGFyZ3M6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIG4gPSBpbnQoYXJnc1swXSkKLSAgICAgICAgICAgIGlmIG4gPiBsZW4ocGFyYW1zKToKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCkKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICByZXR1cm4gMQotICAgIGVsc2U6Ci0gICAgICAgIG4gPSAxCi0gICAgICAgIAotICAgIHBhcmFtc1s6bl0gPSBbXQotICAgIGludGVycC5nZXRfZW52KCkuc2V0X3Bvc2l0aW9uYWxfYXJncyhwYXJhbXMpCi0gICAgcmV0dXJuIDAKLSAgICAKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgZXhwb3J0IHNwZWNpYWwgYnVpbHRpbgotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotT1BUX0VYUE9SVCA9IE5vbkV4aXRpbmdQYXJzZXIodXNhZ2U9InNldCAtIHNldCBvciB1bnNldCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMiKQotT1BUX0VYUE9SVC5hZGRfb3B0aW9uKCctcCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2hhc19wJywgZGVmYXVsdD1GYWxzZSkKLQotZGVmIGJ1aWx0aW5fZXhwb3J0KG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgIG9wdGlvbiwgYXJncyA9IE9QVF9FWFBPUlQucGFyc2VfYXJncyhhcmdzKQotICAgIGlmIG9wdGlvbi5oYXNfcDoKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigpCi0gICAgCi0gICAgZm9yIGFyZyBpbiBhcmdzOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBuYW1lLCB2YWx1ZSA9IGFyZy5zcGxpdCgnPScsIDEpCi0gICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICAgICAgbmFtZSwgdmFsdWUgPSBhcmcsIE5vbmUKLSAgICAgICAgZW52ID0gaW50ZXJwLmdldF9lbnYoKS5leHBvcnQobmFtZSwgdmFsdWUpCi0gICAgCi0gICAgcmV0dXJuIDAKLSAgICAKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgcmV0dXJuIHNwZWNpYWwgYnVpbHRpbgotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotZGVmIGJ1aWx0aW5fcmV0dXJuKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgcmVzID0gMAotICAgIGlmIGFyZ3M6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJlcyA9IGludChhcmdzWzBdKQotICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgIHJlcyA9IDAKLSAgICAgICAgaWYgbm90IDA8PXJlczw9MjU1OgotICAgICAgICAgICAgcmVzID0gMAotICAgICAgICAgICAgCi0gICAgIyBCVUc6IHNob3VsZCBiZSBsYXN0IGV4ZWN1dGVkIGNvbW1hbmQgZXhpdCBjb2RlICAgICAgICAKLSAgICByYWlzZSBSZXR1cm5TaWduYWwocmVzKQotCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIHRyYXAgc3BlY2lhbCBidWlsdGluCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi1kZWYgYnVpbHRpbl90cmFwKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgaWYgbGVuKGFyZ3MpIDwgMjoKLSAgICAgICAgc3RkZXJyLndyaXRlKCd0cmFwOiB1c2FnZTogdHJhcCBbW2FyZ10gc2lnbmFsX3NwZWMgLi4uXVxuJykKLSAgICAgICAgcmV0dXJuIDIKLQotICAgIGFjdGlvbiA9IGFyZ3NbMF0KLSAgICBmb3Igc2lnIGluIGFyZ3NbMTpdOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBlbnYudHJhcHNbc2lnXSA9IGFjdGlvbgotICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6Ci0gICAgICAgICAgICBzdGRlcnIud3JpdGUoJ3RyYXA6ICVzXG4nICUgc3RyKGUpKQotICAgIHJldHVybiAwCi0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgdW5zZXQgc3BlY2lhbCBidWlsdGluCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotT1BUX1VOU0VUID0gTm9uRXhpdGluZ1BhcnNlcigidW5zZXQgLSB1bnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2YgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMiKQotT1BUX1VOU0VULmFkZF9vcHRpb24oICctZicsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2hhc19mJywgZGVmYXVsdD1GYWxzZSkKLU9QVF9VTlNFVC5hZGRfb3B0aW9uKCAnLXYnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSdoYXNfdicsIGRlZmF1bHQ9RmFsc2UpCi0KLWRlZiBidWlsdGluX3Vuc2V0KG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgIG9wdGlvbiwgYXJncyA9IE9QVF9VTlNFVC5wYXJzZV9hcmdzKGFyZ3MpCi0gICAgCi0gICAgc3RhdHVzID0gMAotICAgIGVudiA9IGludGVycC5nZXRfZW52KCkKLSAgICBmb3IgYXJnIGluIGFyZ3M6ICAgIAotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBpZiBvcHRpb24uaGFzX2Y6Ci0gICAgICAgICAgICAgICAgZW52LnJlbW92ZV9mdW5jdGlvbihhcmcpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGRlbCBlbnZbYXJnXQotICAgICAgICBleGNlcHQgS2V5RXJyb3I6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGV4Y2VwdCBWYXJBc3NpZ25tZW50RXJyb3I6Ci0gICAgICAgICAgICBzdGF0dXMgPSAxCi0gICAgICAgICAgICAKLSAgICByZXR1cm4gc3RhdHVzCi0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgd2FpdCBzcGVjaWFsIGJ1aWx0aW4KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLWRlZiBidWlsdGluX3dhaXQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLQotICAgIHJldHVybiBpbnRlcnAud2FpdChbaW50KGFyZykgZm9yIGFyZyBpbiBhcmdzXSkKLQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBjYXQgdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWRlZiB1dGlsaXR5X2NhdChuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotCi0gICAgaWYgbm90IGFyZ3M6Ci0gICAgICAgIGFyZ3MgPSBbJy0nXQotCi0gICAgc3RhdHVzID0gMAotICAgIGZvciBhcmcgaW4gYXJnczoKLSAgICAgICAgaWYgYXJnID09ICctJzoKLSAgICAgICAgICAgIGRhdGEgPSBzdGRpbi5yZWFkKCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oZW52WydQV0QnXSwgYXJnKQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGYgPSBmaWxlKHBhdGgsICdyYicpCi0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBkYXRhID0gZi5yZWFkKCkKLSAgICAgICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FTk9FTlQ6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICAgICAgc3RhdHVzID0gMQotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIHN0ZG91dC53cml0ZShkYXRhKQotICAgICAgICBzdGRvdXQuZmx1c2goKQotICAgIHJldHVybiBzdGF0dXMKLSAgICAKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgY2QgdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotT1BUX0NEID0gTm9uRXhpdGluZ1BhcnNlcigiY2QgLSBjaGFuZ2UgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IikKLQotZGVmIHV0aWxpdHlfY2QobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLQotICAgIG9wdGlvbiwgYXJncyA9IE9QVF9DRC5wYXJzZV9hcmdzKGFyZ3MpCi0gICAgZW52ID0gaW50ZXJwLmdldF9lbnYoKQotICAgIAotICAgIGRpcmVjdG9yeSA9IE5vbmUKLSAgICBwcmludGRpciA9IEZhbHNlCi0gICAgaWYgbm90IGFyZ3M6Ci0gICAgICAgIGhvbWUgPSBlbnYuZ2V0KCdIT01FJykKLSAgICAgICAgaWYgaG9tZToKLSAgICAgICAgICAgICMgVW5zcGVjaWZpZWQsIGRvIG5vdGhpbmcKLSAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBkaXJlY3RvcnkgPSBob21lCi0gICAgZWxpZiBsZW4oYXJncyk9PTE6Ci0gICAgICAgIGRpcmVjdG9yeSA9IGFyZ3NbMF0KLSAgICAgICAgaWYgZGlyZWN0b3J5PT0nLSc6Ci0gICAgICAgICAgICBpZiAnT0xEUFdEJyBub3QgaW4gZW52OgotICAgICAgICAgICAgICAgIHJhaXNlIFV0aWxpdHlFcnJvcigiT0xEUFdEIG5vdCBzZXQiKQotICAgICAgICAgICAgcHJpbnRkaXIgPSBUcnVlCi0gICAgICAgICAgICBkaXJlY3RvcnkgPSBlbnZbJ09MRFBXRCddCi0gICAgZWxzZToKLSAgICAgICAgcmFpc2UgVXRpbGl0eUVycm9yKCJ0b28gbWFueSBhcmd1bWVudHMiKQotICAgICAgICAgICAgCi0gICAgY3VycGF0aCA9IE5vbmUKLSAgICAjIEFic29sdXRlIGRpcmVjdG9yaWVzIHdpbGwgYmUgaGFuZGxlZCBjb3JyZWN0bHkgYnkgdGhlIG9zLnBhdGguam9pbiBjYWxsLgotICAgIGlmIG5vdCBkaXJlY3Rvcnkuc3RhcnRzd2l0aCgnLicpIGFuZCBub3QgZGlyZWN0b3J5LnN0YXJ0c3dpdGgoJy4uJyk6Ci0gICAgICAgIGNkcGF0aHMgPSBlbnYuZ2V0KCdDRFBBVEgnLCAnLicpLnNwbGl0KCc7JykKLSAgICAgICAgZm9yIGNkcGF0aCBpbiBjZHBhdGhzOgotICAgICAgICAgICAgcCA9IG9zLnBhdGguam9pbihjZHBhdGgsIGRpcmVjdG9yeSkKLSAgICAgICAgICAgIGlmIG9zLnBhdGguaXNkaXIocCk6Ci0gICAgICAgICAgICAgICAgY3VycGF0aCA9IHAKLSAgICAgICAgICAgICAgICBicmVhawotICAgIAotICAgIGlmIGN1cnBhdGggaXMgTm9uZToKLSAgICAgICAgY3VycGF0aCA9IGRpcmVjdG9yeQotICAgIGN1cnBhdGggPSBvcy5wYXRoLmpvaW4oZW52WydQV0QnXSwgZGlyZWN0b3J5KQotCi0gICAgZW52WydPTERQV0QnXSA9IGVudlsnUFdEJ10KLSAgICBlbnZbJ1BXRCddID0gY3VycGF0aAotICAgIGlmIHByaW50ZGlyOgotICAgICAgICBzdGRvdXQud3JpdGUoJyVzXG4nICUgY3VycGF0aCkKLSAgICByZXR1cm4gMAotCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIGNvbG9uIHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLWRlZiB1dGlsaXR5X2NvbG9uKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgcmV0dXJuIDAKLSAgICAKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgZWNobyB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi1kZWYgdXRpbGl0eV9lY2hvKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgICMgRWNobyBvbmx5IHRha2VzIGFyZ3VtZW50cywgbm8gb3B0aW9ucy4gVXNlIHByaW50ZiBpZiB5b3UgbmVlZCBmYW5jeSBzdHVmZi4KLSAgICBvdXRwdXQgPSAnICcuam9pbihhcmdzKSArICdcbicKLSAgICBzdGRvdXQud3JpdGUob3V0cHV0KQotICAgIHN0ZG91dC5mbHVzaCgpCi0gICAgcmV0dXJuIDAKLSAgICAKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgZWdyZXAgdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgZWdyZXAgaXMgdXN1YWxseSBhIHNoZWxsIHNjcmlwdC4KLSMgVW5mb3J0dW5hdGVseSwgcHlzaCBkb2VzIG5vdCBzdXBwb3J0IHNoZWxsIHNjcmlwdHMgKndpdGggYXJndW1lbnRzKiByaWdodCBub3csCi0jIHNvIHRoZSByZWRpcmVjdGlvbiBpcyBpbXBsZW1lbnRlZCBoZXJlLCBhc3N1bWluZyBncmVwIGlzIGF2YWlsYWJsZS4KLWRlZiB1dGlsaXR5X2VncmVwKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgIHJldHVybiBydW5fY29tbWFuZCgnZ3JlcCcsIFsnLUUnXSArIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCAKLSAgICAgICAgc3RkZXJyLCBkZWJ1Z2ZsYWdzKQotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBlbnYgdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotZGVmIHV0aWxpdHlfZW52KG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgCi0gICAgaWYgYXJncyBhbmQgYXJnc1swXT09Jy1pJzoKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignZW52OiAtaSBvcHRpb24gaXMgbm90IGltcGxlbWVudGVkJykKLSAgICAKLSAgICBpID0gMAotICAgIGZvciBhcmcgaW4gYXJnczoKLSAgICAgICAgaWYgJz0nIG5vdCBpbiBhcmc6Ci0gICAgICAgICAgICBicmVhawotICAgICAgICAjIFVwZGF0ZSB0aGUgY3VycmVudCBlbnZpcm9ubWVudAotICAgICAgICBuYW1lLCB2YWx1ZSA9IGFyZy5zcGxpdCgnPScsIDEpCi0gICAgICAgIGVudltuYW1lXSA9IHZhbHVlCi0gICAgICAgIGkgKz0gMQotICAgICAgICAKLSAgICBpZiBhcmdzW2k6XToKLSAgICAgICAgIyBGaW5kIHRoZW4gZXhlY3V0ZSB0aGUgc3BlY2lmaWVkIGludGVycHJldGVyCi0gICAgICAgIHV0aWxpdHkgPSBlbnYuZmluZF9pbl9wYXRoKGFyZ3NbaV0pCi0gICAgICAgIGlmIG5vdCB1dGlsaXR5OgotICAgICAgICAgICAgcmV0dXJuIDEyNwotICAgICAgICBhcmdzW2k6aSsxXSA9IHV0aWxpdHkKLSAgICAgICAgbmFtZSA9IGFyZ3NbaV0KLSAgICAgICAgYXJncyA9IGFyZ3NbaSsxOl0KLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHJ1bl9jb21tYW5kKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIAotICAgICAgICAgICAgICAgIGRlYnVnZmxhZ3MpCi0gICAgICAgIGV4Y2VwdCBVdGlsaXR5RXJyb3I6Ci0gICAgICAgICAgICBzdGRlcnIud3JpdGUoJ2VudjogZmFpbGVkIHRvIGV4ZWN1dGUgJXMnICUgJyAnLmpvaW4oW25hbWVdK2FyZ3MpKQotICAgICAgICAgICAgcmV0dXJuIDEyNiAgICAgICAgICAgIAotICAgIGVsc2U6Ci0gICAgICAgIGZvciBwYWlyIGluIGVudi5nZXRfdmFyaWFibGVzKCkuaXRlcml0ZW1zKCk6Ci0gICAgICAgICAgICBzdGRvdXQud3JpdGUoJyVzPSVzXG4nICUgcGFpcikKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBleGl0IHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1kZWYgdXRpbGl0eV9leGl0KG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgIHJlcyA9IE5vbmUKLSAgICBpZiBhcmdzOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXMgPSBpbnQoYXJnc1swXSkKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICByZXMgPSBOb25lCi0gICAgICAgIGlmIG5vdCAwPD1yZXM8PTI1NToKLSAgICAgICAgICAgIHJlcyA9IE5vbmUKLSAgICAgICAgICAgIAotICAgIGlmIHJlcyBpcyBOb25lOgotICAgICAgICAjIEJVRzogc2hvdWxkIGJlIGxhc3QgZXhlY3V0ZWQgY29tbWFuZCBleGl0IGNvZGUKLSAgICAgICAgcmVzID0gMAotICAgICAgICAKLSAgICByYWlzZSBFeGl0U2lnbmFsKHJlcykKLQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBmZ3JlcCB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBzZWUgZWdyZXAKLWRlZiB1dGlsaXR5X2ZncmVwKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgIHJldHVybiBydW5fY29tbWFuZCgnZ3JlcCcsIFsnLUYnXSArIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCAKLSAgICAgICAgc3RkZXJyLCBkZWJ1Z2ZsYWdzKQotCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIGd1bnppcCB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBzZWUgZWdyZXAKLWRlZiB1dGlsaXR5X2d1bnppcChuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotICAgICAgICAKLSAgICByZXR1cm4gcnVuX2NvbW1hbmQoJ2d6aXAnLCBbJy1kJ10gKyBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgCi0gICAgICAgIHN0ZGVyciwgZGVidWdmbGFncykKLSAgICAKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMga2lsbCB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotZGVmIHV0aWxpdHlfa2lsbChuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotICAgICAgICAKLSAgICBmb3IgYXJnIGluIGFyZ3M6Ci0gICAgICAgIHBpZCA9IGludChhcmcpCi0gICAgICAgIHN0YXR1cyA9IHN1YnByb2Nlc3MuY2FsbChbJ3Bza2lsbCcsICcvVCcsIHN0cihwaWQpXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hlbGw9VHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSkKLSAgICAgICAgIyBwc2tpbGwgaXMgYXN5bmNocm9ub3VzLCBoZW5jZSB0aGUgc3R1cGlkIHBvbGxpbmcgbG9vcAotICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oWydwc2xpc3QnLCBzdHIocGlkKV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoZWxsPVRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkKLSAgICAgICAgICAgIG91dHB1dCA9IHAuY29tbXVuaWNhdGUoKVswXQotICAgICAgICAgICAgaWYgKCdwcm9jZXNzICVkIHdhcyBub3QnICUgcGlkKSBpbiBvdXRwdXQ6Ci0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKLSAgICByZXR1cm4gc3RhdHVzCi0gICAgCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIG1rZGlyIHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1PUFRfTUtESVIgPSBOb25FeGl0aW5nUGFyc2VyKCJta2RpciAtIG1ha2UgZGlyZWN0b3JpZXMuIikKLU9QVF9NS0RJUi5hZGRfb3B0aW9uKCctcCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2hhc19wJywgZGVmYXVsdD1GYWxzZSkKLQotZGVmIHV0aWxpdHlfbWtkaXIobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAgICAgCi0gICAgIyBUT0RPOiBpbXBsZW1lbnQgdW1hc2sKLSAgICAjIFRPRE86IGltcGxlbWVudCBwcm9wZXIgdXRpbGl0eSBlcnJvciByZXBvcnQKLSAgICBvcHRpb24sIGFyZ3MgPSBPUFRfTUtESVIucGFyc2VfYXJncyhhcmdzKQotICAgIGZvciBhcmcgaW4gYXJnczoKLSAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihlbnZbJ1BXRCddLCBhcmcpCi0gICAgICAgIGlmIG9wdGlvbi5oYXNfcDoKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBvcy5tYWtlZGlycyhwYXRoKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVFWElTVDoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgZWxzZTogICAgICAgICAgICAgICAKLSAgICAgICAgICAgIG9zLm1rZGlyKHBhdGgpCi0gICAgcmV0dXJuIDAKLQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBuZXRzdGF0IHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1kZWYgdXRpbGl0eV9uZXRzdGF0KG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgICMgRG8geW91IHJlYWxseSBleHBlY3QgbWUgdG8gaW1wbGVtZW50IG5ldHN0YXQgPwotICAgICMgVGhpcyBlbXB0eSBmb3JtIGlzIGVub3VnaCBmb3IgTWVyY3VyaWFsIHRlc3RzIHNpbmNlIGl0J3MKLSAgICAjIHN1cHBvc2VkIHRvIGdlbmVyYXRlIG5vdGhpbmcgdXBvbiBzdWNjZXNzLiBGYWtpbmcgdGhpcyB0ZXN0Ci0gICAgIyBpcyBub3QgYSBiaWcgZGVhbCBlaXRoZXIuCi0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBwd2QgdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotT1BUX1BXRCA9IE5vbkV4aXRpbmdQYXJzZXIoInB3ZCAtIHJldHVybiB3b3JraW5nIGRpcmVjdG9yeSBuYW1lIikKLU9QVF9QV0QuYWRkX29wdGlvbignLUwnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSdoYXNfTCcsIGRlZmF1bHQ9VHJ1ZSwKLSAgICBoZWxwPSIiIklmIHRoZSBQV0QgZW52aXJvbm1lbnQgdmFyaWFibGUgY29udGFpbnMgYW4gYWJzb2x1dGUgcGF0aG5hbWUgb2YgXAotICAgIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB0aGF0IGRvZXMgbm90IGNvbnRhaW4gdGhlIGZpbGVuYW1lcyBkb3Qgb3IgZG90LWRvdCwgXAotICAgIHB3ZCBzaGFsbCB3cml0ZSB0aGlzIHBhdGhuYW1lIHRvIHN0YW5kYXJkIG91dHB1dC4gT3RoZXJ3aXNlLCB0aGUgLUwgb3B0aW9uIFwKLSAgICBzaGFsbCBiZWhhdmUgYXMgdGhlIC1QIG9wdGlvbi4iIiIpCi1PUFRfUFdELmFkZF9vcHRpb24oJy1QJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0naGFzX0wnLCBkZWZhdWx0PUZhbHNlLAotICAgIGhlbHA9IiIiVGhlIGFic29sdXRlIHBhdGhuYW1lIHdyaXR0ZW4gc2hhbGwgbm90IGNvbnRhaW4gZmlsZW5hbWVzIHRoYXQsIGluIFwKLSAgICB0aGUgY29udGV4dCBvZiB0aGUgcGF0aG5hbWUsIHJlZmVyIHRvIGZpbGVzIG9mIHR5cGUgc3ltYm9saWMgbGluay4iIiIpCi0KLWRlZiB1dGlsaXR5X3B3ZChuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotCi0gICAgb3B0aW9uLCBhcmdzID0gT1BUX1BXRC5wYXJzZV9hcmdzKGFyZ3MpICAgICAgICAKLSAgICBzdGRvdXQud3JpdGUoJyVzXG4nICUgZW52WydQV0QnXSkKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBwcmludGYgdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVJFX1VORVNDQVBFID0gcmUuY29tcGlsZShyJyhcXHhbYS16QS1aMC05XXsyfXxcXFswLTddezEsM318XFwuKScpCi0KLWRlZiB1dGlsaXR5X3ByaW50ZihuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotICAgICAgICAKLSAgICBkZWYgcmVwbGFjZShtKToKLSAgICAgICAgYXNzZXJ0IG0uZ3JvdXAoKQotICAgICAgICBnID0gbS5ncm91cCgpWzE6XQotICAgICAgICBpZiBnLnN0YXJ0c3dpdGgoJ3gnKToKLSAgICAgICAgICAgIHJldHVybiBjaHIoaW50KGdbMTpdLCAxNikpCi0gICAgICAgIGlmIGxlbihnKSA8PSAzIGFuZCBsZW4oW2MgZm9yIGMgaW4gZyBpZiBjIGluICcwMTIzNDU2NyddKSA9PSBsZW4oZyk6Ci0gICAgICAgICAgICAjIFlheSwgYW4gb2N0YWwgbnVtYmVyCi0gICAgICAgICAgICByZXR1cm4gY2hyKGludChnLCA4KSkKLSAgICAgICAgcmV0dXJuIHsKLSAgICAgICAgICAgICdhJzogJ1xhJywKLSAgICAgICAgICAgICdiJzogJ1xiJywKLSAgICAgICAgICAgICdmJzogJ1xmJywKLSAgICAgICAgICAgICduJzogJ1xuJywKLSAgICAgICAgICAgICdyJzogJ1xyJywKLSAgICAgICAgICAgICd0JzogJ1x0JywKLSAgICAgICAgICAgICd2JzogJ1x2JywKLSAgICAgICAgICAgICdcXCc6ICdcXCcsCi0gICAgICAgIH0uZ2V0KGcpCi0gICAgICAgIAotICAgICMgQ29udmVydCBlc2NhcGUgc2VxdWVuY2VzCi0gICAgZm9ybWF0ID0gcmUuc3ViKFJFX1VORVNDQVBFLCByZXBsYWNlLCBhcmdzWzBdKQotICAgIHN0ZG91dC53cml0ZShmb3JtYXQgJSB0dXBsZShhcmdzWzE6XSkpCi0gICAgcmV0dXJuIDAKLSAgICAKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgdHJ1ZSB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotZGVmIHV0aWxpdHlfdHJ1ZShuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotICAgIHJldHVybiAwCi0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgc2VkIHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1SRV9TRUQgPSByZS5jb21waWxlKHInXnMoLikuKlwxW2EtekEtWl0qJCcpCi0KLSMgY3lnd2luIHNlZCBmYWlscyB3aXRoIHNvbWUgZXhwcmVzc2lvbnMgd2hlbiB0aGV5IGRvIG5vdCBlbmQgd2l0aCBhIHNpbmdsZSBzcGFjZS4KLSMgc2VlIHVuaXQgdGVzdHMgZm9yIGRldGFpbHMuIEludGVyZXN0aW5nbHksIHRoZSBzYW1lIGV4cHJlc3Npb25zIHdvcmtzIHBlcmZlY3RseQotIyBpbiBjeWd3aW4gc2hlbGwuCi1kZWYgdXRpbGl0eV9zZWQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAgICAgCi0gICAgIyBTY2FuIHBhdHRlcm4gYXJndW1lbnRzIGFuZCBhcHBlbmQgYSBzcGFjZSBpZiBuZWNlc3NhcnkKLSAgICBmb3IgaSBpbiByYW5nZShsZW4oYXJncykpOgotICAgICAgICBpZiBub3QgUkVfU0VELnNlYXJjaChhcmdzW2ldKToKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGFyZ3NbaV0gPSBhcmdzW2ldICsgJyAnCi0KLSAgICByZXR1cm4gcnVuX2NvbW1hbmQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIAotICAgICAgICBzdGRlcnIsIGRlYnVnZmxhZ3MpCi0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgc2xlZXAgdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWRlZiB1dGlsaXR5X3NsZWVwKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgdGltZS5zbGVlcChpbnQoYXJnc1swXSkpCi0gICAgcmV0dXJuIDAKLSAgICAKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgc29ydCB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotT1BUX1NPUlQgPSBOb25FeGl0aW5nUGFyc2VyKCJzb3J0IC0gc29ydCwgbWVyZ2UsIG9yIHNlcXVlbmNlIGNoZWNrIHRleHQgZmlsZXMiKQotCi1kZWYgdXRpbGl0eV9zb3J0KG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotCi0gICAgZGVmIHNvcnQocGF0aCk6Ci0gICAgICAgIGlmIHBhdGggPT0gJy0nOgotICAgICAgICAgICAgbGluZXMgPSBzdGRpbi5yZWFkbGluZXMoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGYgPSBmaWxlKHBhdGgpCi0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBsaW5lcyA9IGYucmVhZGxpbmVzKCkKLSAgICAgICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgc3RkZXJyLndyaXRlKHN0cihlKSArICdcbicpCi0gICAgICAgICAgICAgICAgcmV0dXJuIDEKLSAgICAgICAgCi0gICAgICAgIGlmIGxpbmVzIGFuZCBsaW5lc1stMV1bLTFdIT0nXG4nOgotICAgICAgICAgICAgbGluZXNbLTFdID0gbGluZXNbLTFdICsgJ1xuJwotICAgICAgICByZXR1cm4gbGluZXMKLSAgICAKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotICAgICAgICAKLSAgICBvcHRpb24sIGFyZ3MgPSBPUFRfU09SVC5wYXJzZV9hcmdzKGFyZ3MpCi0gICAgYWxsbGluZXMgPSBbXQotICAgIAotICAgIGlmIGxlbihhcmdzKTw9MDoKLSAgICAgICAgYXJncyArPSBbJy0nXQotICAgICAgICAKLSAgICAjIExvYWQgYWxsIGZpbGVzIGxpbmVzCi0gICAgY3VyZGlyID0gb3MuZ2V0Y3dkKCkKLSAgICB0cnk6Ci0gICAgICAgIG9zLmNoZGlyKGVudlsnUFdEJ10pCi0gICAgICAgIGZvciBwYXRoIGluIGFyZ3M6Ci0gICAgICAgICAgICBhbGxsaW5lcyArPSBzb3J0KHBhdGgpCi0gICAgZmluYWxseToKLSAgICAgICAgb3MuY2hkaXIoY3VyZGlyKQotICAgICAgICAgICAgCi0gICAgYWxsbGluZXMuc29ydCgpCi0gICAgZm9yIGxpbmUgaW4gYWxsbGluZXM6Ci0gICAgICAgIHN0ZG91dC53cml0ZShsaW5lKQotICAgIHJldHVybiAwCi0gICAgCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBoZyB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1oZ2NvbW1hbmRzID0gWwotICAgICdhZGQnLAotICAgICdhZGRyZW1vdmUnLAotICAgICdjb21taXQnLCAnY2knLAotICAgICdkZWJ1Z3JlbmFtZScsCi0gICAgJ2RlYnVnd2FsaycsCi0gICAgJ2ZhbGFiYWxhJywgIyBEdW1teSBjb21tYW5kIHVzZWQgaW4gYSBtZXJjdXJpYWwgdGVzdAotICAgICdpbmNvbWluZycsCi0gICAgJ2xvY2F0ZScsCi0gICAgJ3B1bGwnLAotICAgICdwdXNoJywKLSAgICAncWluaXQnLAotICAgICdyZW1vdmUnLCAncm0nLAotICAgICdyZW5hbWUnLCAnbXYnLAotICAgICdyZXZlcnQnLCAgICAKLSAgICAnc2hvd2NvbmZpZycsCi0gICAgJ3N0YXR1cycsICdzdCcsCi0gICAgJ3N0cmlwJywKLSAgICBdCi0KLWRlZiByZXdyaXRlc2xhc2hlcyhuYW1lLCBhcmdzKToKLSAgICAjIFNldmVyYWwgaGcgY29tbWFuZHMgb3V0cHV0IGZpbGUgcGF0aHMsIHJld3JpdGUgdGhlIHNlcGFyYXRvcnMKLSAgICBpZiBsZW4oYXJncykgPiAxIGFuZCBuYW1lLmxvd2VyKCkuZW5kc3dpdGgoJ3B5dGhvbicpIFwKLSAgICAgICBhbmQgYXJnc1swXS5lbmRzd2l0aCgnaGcnKToKLSAgICAgICAgZm9yIGNtZCBpbiBoZ2NvbW1hbmRzOgotICAgICAgICAgICAgaWYgY21kIGluIGFyZ3NbMTpdOgotICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgICAgICAKLSAgICAjIHN2biBvdXRwdXQgY29udGFpbnMgbWFueSBwYXRocyB3aXRoIE9TIHNwZWNpZmljIHNlcGFyYXRvcnMuCi0gICAgIyBOb3JtYWxpemUgdGhlc2UgdG8gdW5peCBwYXRocy4KLSAgICBiYXNlID0gb3MucGF0aC5iYXNlbmFtZShuYW1lKQotICAgIGlmIGJhc2Uuc3RhcnRzd2l0aCgnc3ZuJyk6Ci0gICAgICAgIHJldHVybiBUcnVlCi0gICAgCi0gICAgcmV0dXJuIEZhbHNlCi0KLWRlZiByZXdyaXRlaGcob3V0cHV0KToKLSAgICBpZiBub3Qgb3V0cHV0OgotICAgICAgICByZXR1cm4gb3V0cHV0Ci0gICAgIyBSZXdyaXRlIG9zIHNwZWNpZmljIG1lc3NhZ2VzCi0gICAgb3V0cHV0ID0gb3V0cHV0LnJlcGxhY2UoJzogVGhlIHN5c3RlbSBjYW5ub3QgZmluZCB0aGUgZmlsZSBzcGVjaWZpZWQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnknKQotICAgIG91dHB1dCA9IHJlLnN1YignOiBBY2Nlc3MgaXMgZGVuaWVkLiokJywgJzogUGVybWlzc2lvbiBkZW5pZWQnLCBvdXRwdXQpCi0gICAgb3V0cHV0ID0gb3V0cHV0LnJlcGxhY2UoJzogTm8gY29ubmVjdGlvbiBjb3VsZCBiZSBtYWRlIGJlY2F1c2UgdGhlIHRhcmdldCBtYWNoaW5lIGFjdGl2ZWx5IHJlZnVzZWQgaXQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICc6IENvbm5lY3Rpb24gcmVmdXNlZCcpCi0gICAgcmV0dXJuIG91dHB1dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotCi1kZWYgcnVuX2NvbW1hbmQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsCi0gICAgICAgICAgICAgICAgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICAjIEV4ZWN1dGUgdGhlIGNvbW1hbmQKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotCi0gICAgaGdiaW4gPSBpbnRlcnAub3B0aW9ucygpLmhnYmluYXJ5Ci0gICAgaXNoZyA9IGhnYmluIGFuZCAoJ2hnJyBpbiBuYW1lIG9yIGFyZ3MgYW5kICdoZycgaW4gYXJnc1swXSkKLSAgICB1bml4b3V0cHV0ID0gJ2N5Z3dpbicgaW4gbmFtZSBvciBpc2hnCi0gICAgCi0gICAgZXhlY19lbnYgPSBlbnYuZ2V0X3ZhcmlhYmxlcygpICAgICAgICAKLSAgICB0cnk6Ci0gICAgICAgICMgQlVHOiBjb21wYXJpbmcgZmlsZSBkZXNjcmlwdG9yIGlzIGNsZWFybHkgbm90IGEgcmVsaWFibGUgd2F5IHRvIHRlbGwKLSAgICAgICAgIyB3aGV0aGVyIHRoZXkgcG9pbnQgb24gdGhlIHNhbWUgdW5kZXJseWluZyBvYmplY3QuIEJ1dCBpbiBweXNoIGxpbWl0ZWQKLSAgICAgICAgIyBzY29wZSB0aGlzIGlzIHVzdWFsbHkgcmlnaHQsIHdlIGRvIG5vdCBleHBlY3QgY29tcGxpY2F0ZWQgcmVkaXJlY3Rpb25zCi0gICAgICAgICMgYmVzaWRlcyB1c3VhbCAyPiYxLgotICAgICAgICAjIFN0aWxsIHRoZXJlIGlzIG9uZSBjYXNlIHdlIGhhdmUgYnV0IGNhbm5vdCBkZWFsIHdpdGggaXMgd2hlbiBzdGRvdXQKLSAgICAgICAgIyBhbmQgc3RkZXJyIGFyZSByZWRpcmVjdGVkICpieSBweXNoIGNhbGxlciouIFRoaXMgdGhlIHJlYXNvbiBmb3IgdGhlCi0gICAgICAgICMgLS1yZWRpcmVjdCBweXNoKCkgb3B0aW9uLgotICAgICAgICAjIE5vdywgd2Ugd2FudCB0byBrbm93IHRoZXkgYXJlIHRoZSBzYW1lIGJlY2F1c2Ugd2Ugc29tZXRpbWVzIG5lZWQgdG8gCi0gICAgICAgICMgdHJhbnNmb3JtIHRoZSBjb21tYW5kIG91dHB1dCwgbW9zdGx5IHJlbW92ZSBDUi1MRiB0byBlbnN1cmUgdGhhdAotICAgICAgICAjIGNvbW1hbmQgb3V0cHV0IGlzIHVuaXgtbGlrZS4gQ3lnd2luIHV0aWxpZXMgYXJlIGEgc3BlY2lhbCBjYXNlIGJlY2F1c2UKLSAgICAgICAgIyB0aGV5IGV4cGxpY2l0ZWx5IHNldCB0aGVpciBvdXRwdXQgc3RyZWFtcyB0byBiaW5hcnkgbW9kZSwgc28gd2UgaGF2ZQotICAgICAgICAjIG5vdGhpbmcgdG8gZG8uIEZvciBhbGwgb3RoZXJzIGNvbW1hbmRzLCB3ZSBoYXZlIHRvIGd1ZXNzIHdoZXRoZXIgdGhleQotICAgICAgICAjIGFyZSBzZW5kaW5nIHRleHQgZGF0YSwgaW4gd2hpY2ggY2FzZSB0aGUgdHJhbnNmb3JtYXRpb24gbXVzdCBiZSBkb25lLgotICAgICAgICAjIEFnYWluLCB0aGUgTlVMIGNoYXJhY3RlciB0ZXN0IGlzIHVucmVsaWFibGUgYnV0IHNob3VsZCBiZSBlbm91Z2ggZm9yCi0gICAgICAgICMgaGcgdGVzdHMuCi0gICAgICAgIHJlZGlyZWN0ZWQgPSBzdGRvdXQuZmlsZW5vKCk9PXN0ZGVyci5maWxlbm8oKQotICAgICAgICBpZiBub3QgcmVkaXJlY3RlZDoKLSAgICAgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKFtuYW1lXSArIGFyZ3MsIGN3ZD1lbnZbJ1BXRCddLCBlbnY9ZXhlY19lbnYsIAotICAgICAgICAgICAgICAgICAgICBzdGRpbj1zdGRpbiwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKFtuYW1lXSArIGFyZ3MsIGN3ZD1lbnZbJ1BXRCddLCBlbnY9ZXhlY19lbnYsIAotICAgICAgICAgICAgICAgICAgICBzdGRpbj1zdGRpbiwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKQotICAgICAgICBvdXQsIGVyciA9IHAuY29tbXVuaWNhdGUoKQotICAgIGV4Y2VwdCBXaW5kb3dzRXJyb3IgYXMgZToKLSAgICAgICAgcmFpc2UgVXRpbGl0eUVycm9yKHN0cihlKSkKLQotICAgIGlmIG5vdCB1bml4b3V0cHV0OgotICAgICAgICBkZWYgZW5jb2RlKHMpOgotICAgICAgICAgICAgaWYgJ1wwJyBpbiBzOgotICAgICAgICAgICAgICAgIHJldHVybiBzCi0gICAgICAgICAgICByZXR1cm4gcy5yZXBsYWNlKCdcclxuJywgJ1xuJykKLSAgICBlbHNlOgotICAgICAgICBlbmNvZGUgPSBsYW1iZGEgczogcwotCi0gICAgaWYgcmV3cml0ZXNsYXNoZXMobmFtZSwgYXJncyk6Ci0gICAgICAgIGVuY29kZTFfID0gZW5jb2RlCi0gICAgICAgIGRlZiBlbmNvZGUocyk6Ci0gICAgICAgICAgICBzID0gZW5jb2RlMV8ocykKLSAgICAgICAgICAgIHMgPSBzLnJlcGxhY2UoJ1xcXFwnLCAnXFwnKQotICAgICAgICAgICAgcyA9IHMucmVwbGFjZSgnXFwnLCAnLycpCi0gICAgICAgICAgICByZXR1cm4gcwotCi0gICAgaWYgaXNoZzoKLSAgICAgICAgZW5jb2RlMl8gPSBlbmNvZGUKLSAgICAgICAgZGVmIGVuY29kZShzKToKLSAgICAgICAgICAgIHJldHVybiByZXdyaXRlaGcoZW5jb2RlMl8ocykpCi0gICAgCi0gICAgc3Rkb3V0LndyaXRlKGVuY29kZShvdXQpKQotICAgIGlmIG5vdCByZWRpcmVjdGVkOgotICAgICAgICBzdGRlcnIud3JpdGUoZW5jb2RlKGVycikpCi0gICAgcmV0dXJuIHAucmV0dXJuY29kZQotICAgICAgICAgICAgCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvaW50ZXJwLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL2ludGVycC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDE0ZWNmMy4uMDAwMDAwMAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvaW50ZXJwLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTM2NyArMCwwIEBACi0jIGludGVycC5weSAtIHNoZWxsIGludGVycHJldGVyIGZvciBweXNoLgotIwotIyBDb3B5cmlnaHQgMjAwNyBQYXRyaWNrIE1lemFyZAotIwotIyBUaGlzIHNvZnR3YXJlIG1heSBiZSB1c2VkIGFuZCBkaXN0cmlidXRlZCBhY2NvcmRpbmcgdG8gdGhlIHRlcm1zCi0jIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaW5jb3Jwb3JhdGVkIGhlcmVpbiBieSByZWZlcmVuY2UuCi0KLSIiIkltcGxlbWVudCB0aGUgc2hlbGwgaW50ZXJwcmV0ZXIuCi0KLU1vc3QgcmVmZXJlbmNlcyBhcmUgbWFkZSB0byAiVGhlIE9wZW4gR3JvdXAgQmFzZSBTcGVjaWZpY2F0aW9ucyBJc3N1ZSA2Ii4KLTxodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb25saW5lcHVicy8wMDk2OTUzOTkvdXRpbGl0aWVzL3hjdV9jaGFwMDIuaHRtbD4KLSIiIgotIyBUT0RPOiBkb2N1bWVudCB0aGUgZmFjdCBpbnB1dCBzdHJlYW1zIG11c3QgaW1wbGVtZW50IGZpbGVubygpIHNvIFBvcGVuIHdpbGwgd29yayBjb3JyZWN0bHkuCi0jIGl0IHJlcXVpcmVzIG5vbi1zdGRpbiBzdHJlYW0gdG8gYmUgaW1wbGVtZW50ZWQgYXMgZmlsZXMuIFN0aWxsIHRvIGJlIHRlc3RlZC4uLgotIyBET0M6IHBhdGhzZXAgaXMgdXNlZCBpbiBQQVRIIGluc3RlYWQgb2YgJzonLiBDbGVhcmx5LCB0aGVyZSBhcmUgcGF0aCBzeW50YXggaXNzdWVzIGhlcmUuCi0jIFRPRE86IHN0b3AgY29tbWFuZCBleGVjdXRpb24gdXBvbiBlcnJvci4KLSMgVE9ETzogc29ydCBvdXQgdGhlIGZpbGVuYW1lL2lvX251bWJlciBtZXNzLiBJdCBzaG91bGQgYmUgcG9zc2libGUgdG8gdXNlIGZpbGVuYW1lcyBvbmx5LgotIyBUT0RPOiByZXZpZXcgc3Vic2hlbGwgaW1wbGVtZW50YXRpb24KLSMgVE9ETzogdGVzdCBlbnZpcm9ubWVudCBjbG9uaW5nIGZvciBub24tc3BlY2lhbCBidWlsdGlucwotIyBUT0RPOiBzZXQgLXggc2hvdWxkIG5vdCByZWJ1aWxkIGNvbW1hbmRzIGZyb20gdG9rZW5zLCBhc3NpZ25tZW50cy9yZWRpcmVjdGlvbnMgYXJlIGxvc3QKLSMgVE9ETzogdW5pdCB0ZXN0IGZvciB2YXJpYWJsZSBhc3NpZ25tZW50Ci0jIFRPRE86IHRlc3QgZXJyb3IgbWFuYWdlbWVudCB3cnQgZXJyb3IgdHlwZS91dGlsaXR5IHR5cGUKLSMgVE9ETzogdGVzdCBmb3IgYmluYXJ5IG91dHB1dCBldmVyeXdoZXJlCi0jIEJVRzogZGVidWctcGFyc2luZyBkb2VzIG5vdCBwYXNzIGxvZyBmaWxlIHRvIFBMWS4gTWF5YmUgYSBQTFkgdXBncmFkZSBpcyBuZWNlc3NhcnkuCi1pbXBvcnQgYmFzZTY0Ci1pbXBvcnQgY1BpY2tsZSBhcyBwaWNrbGUKLWltcG9ydCBlcnJubwotaW1wb3J0IGdsb2IKLWltcG9ydCBvcwotaW1wb3J0IHJlCi1pbXBvcnQgc3VicHJvY2VzcwotaW1wb3J0IHN5cwotaW1wb3J0IHRlbXBmaWxlCi0KLXRyeToKLSAgICBzID0gc2V0KCkKLSAgICBkZWwgcwotZXhjZXB0IE5hbWVFcnJvcjoKLSAgICBmcm9tIFNldCBpbXBvcnQgU2V0IGFzIHNldAotCi1pbXBvcnQgYnVpbHRpbgotZnJvbSBzaGVycm9ycyBpbXBvcnQgKgotaW1wb3J0IHB5c2hsZXgKLWltcG9ydCBweXNoeWFjYwotCi1kZWYgbWFwcGVuZChmdW5jLCAqYXJncywgKiprYXJncyk6Ci0gICAgIiIiTGlrZSBtYXAgYnV0IGFzc3VtZSBmdW5jIHJldHVybnMgYSBsaXN0LiBSZXR1cm5lZCBsaXN0cyBhcmUgbWVyZ2VkIGludG8KLSAgICBhIHNpbmdsZSBvbmUuCi0gICAgIiIiCi0gICAgcmV0dXJuIHJlZHVjZShsYW1iZGEgYSxiOiBhK2IsIG1hcChmdW5jLCAqYXJncywgKiprYXJncyksIFtdKQotCi1jbGFzcyBGaWxlV3JhcHBlcjoKLSAgICAiIiJGaWxlIG9iamVjdCB3cmFwcGVyIHRvIGVhc2UgZGVidWdnaW5nLgotICAgIAotICAgIEFsbG93IG1vZGUgY2hlY2tpbmcgYW5kIGltcGxlbWVudCBmaWxlIGR1cGxpY2F0aW9uIHRocm91Z2ggYSBzaW1wbGUgCi0gICAgcmVmZXJlbmNlIGNvdW50aW5nIHNjaGVtZS4gTm90IHN1cmUgdGhlIGxhdHRlciBpcyByZWFsbHkgdXNlZnVsIHNpbmNlCi0gICAgb25seSByZWFsIGZpbGUgZGVzY3JpcHRvcnMgY2FuIGJlIHVzZWQuCi0gICAgIiIiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG1vZGUsIGZpbGUsIGNsb3NlPVRydWUpOgotICAgICAgICBpZiBtb2RlIG5vdCBpbiAoJ3InLCAndycsICdhJyk6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKCdpbnZhbGlkIG1vZGU6ICVzJyAlIG1vZGUpCi0gICAgICAgIHNlbGYuX21vZGUgPSBtb2RlCi0gICAgICAgIHNlbGYuX2Nsb3NlID0gY2xvc2UKLSAgICAgICAgaWYgaXNpbnN0YW5jZShmaWxlLCBGaWxlV3JhcHBlcik6Ci0gICAgICAgICAgICBpZiBmaWxlLl9yZWZjb3VudFswXSA8PSAwOgotICAgICAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoMCwgJ0Vycm9yJykKLSAgICAgICAgICAgIHNlbGYuX3JlZmNvdW50ID0gZmlsZS5fcmVmY291bnQKLSAgICAgICAgICAgIHNlbGYuX3JlZmNvdW50WzBdICs9IDEKLSAgICAgICAgICAgIHNlbGYuX2ZpbGUgPSBmaWxlLl9maWxlCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLl9yZWZjb3VudCA9IFsxXQotICAgICAgICAgICAgc2VsZi5fZmlsZSA9IGZpbGUKLSAgICAgICAgCi0gICAgZGVmIGR1cChzZWxmKToKLSAgICAgICAgcmV0dXJuIEZpbGVXcmFwcGVyKHNlbGYuX21vZGUsIHNlbGYsIHNlbGYuX2Nsb3NlKQotICAgICAgICAKLSAgICBkZWYgZmlsZW5vKHNlbGYpOgotICAgICAgICAiIiJmaWxlbm8oKSBzaG91bGQgYmUgb25seSBuZWNlc3NhcnkgZm9yIGlucHV0IHN0cmVhbXMuIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9maWxlLmZpbGVubygpCi0gICAgICAgIAotICAgIGRlZiByZWFkKHNlbGYsIHNpemU9LTEpOgotICAgICAgICBpZiBzZWxmLl9tb2RlIT0ncic6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKDAsICdFcnJvcicpCi0gICAgICAgIHJldHVybiBzZWxmLl9maWxlLnJlYWQoc2l6ZSkKLSAgICAgICAgCi0gICAgZGVmIHJlYWRsaW5lcyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgotICAgICAgICByZXR1cm4gc2VsZi5fZmlsZS5yZWFkbGluZXMoKmFyZ3MsICoqa3dhcmdzKQotICAgICAgICAKLSAgICBkZWYgd3JpdGUoc2VsZiwgcyk6Ci0gICAgICAgIGlmIHNlbGYuX21vZGUgbm90IGluICgndycsICdhJyk6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKDAsICdFcnJvcicpCi0gICAgICAgIHJldHVybiBzZWxmLl9maWxlLndyaXRlKHMpCi0gICAgICAgIAotICAgIGRlZiBmbHVzaChzZWxmKToKLSAgICAgICAgc2VsZi5fZmlsZS5mbHVzaCgpCi0gICAgICAgIAotICAgIGRlZiBjbG9zZShzZWxmKTogICAgICAgIAotICAgICAgICBpZiBub3Qgc2VsZi5fcmVmY291bnQ6Ci0gICAgICAgICAgICByZXR1cm4KLSAgICAgICAgYXNzZXJ0ICBzZWxmLl9yZWZjb3VudFswXSA+IDAKLSAgICAgICAgCi0gICAgICAgIHNlbGYuX3JlZmNvdW50WzBdIC09IDEgICAgCi0gICAgICAgIGlmIHNlbGYuX3JlZmNvdW50WzBdID09IDA6Ci0gICAgICAgICAgICBzZWxmLl9tb2RlID0gJ2MnCi0gICAgICAgICAgICBpZiBzZWxmLl9jbG9zZToKLSAgICAgICAgICAgICAgICBzZWxmLl9maWxlLmNsb3NlKCkKLSAgICAgICAgc2VsZi5fcmVmY291bnQgPSBOb25lCi0gICAgICAgICAgICAgICAgCi0gICAgZGVmIG1vZGUoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9tb2RlCi0KLSAgICBkZWYgX19nZXRhdHRyX18oc2VsZiwgbmFtZSk6Ci0gICAgICAgIGlmIG5hbWUgPT0gJ25hbWUnOgotICAgICAgICAgICAgc2VsZi5uYW1lID0gZ2V0YXR0cihzZWxmLl9maWxlLCBuYW1lKQotICAgICAgICAgICAgcmV0dXJuIHNlbGYubmFtZQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IobmFtZSkKLQotICAgIGRlZiBfX2RlbF9fKHNlbGYpOgotICAgICAgICBzZWxmLmNsb3NlKCkKLSAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgCi1kZWYgd2luMzJfb3Blbl9kZXZudWxsKG1vZGUpOgotICAgIHJldHVybiBvcGVuKCdOVUwnLCBtb2RlKQotICAgIAotICAgICAgICAKLWNsYXNzIFJlZGlyZWN0aW9uczoKLSAgICAiIiJTdG9yZXMgb3BlbiBmaWxlcyBhbmQgdGhlaXIgbWFwcGluZyB0byBwc2V1ZG8tc2ggZmlsZSBkZXNjcmlwdG9yLgotICAgICIiIgotICAgICMgQlVHOiByZWRpcmVjdGlvbnMgYXJlIG5vdCBoYW5kbGVkIGNvcnJlY3RseTogMT4mMyAyPiYzIDM+JjQgZG9lcyAKLSAgICAjIG5vdCBtYWtlIDEgdG8gcmVkaXJlY3QgdG8gNAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzdGRpbj1Ob25lLCBzdGRvdXQ9Tm9uZSwgc3RkZXJyPU5vbmUpOgotICAgICAgICBzZWxmLl9kZXNjcmlwdG9ycyA9IHt9Ci0gICAgICAgIGlmIHN0ZGluIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc2VsZi5fYWRkX2Rlc2NyaXB0b3IoMCwgc3RkaW4pCi0gICAgICAgIGlmIHN0ZG91dCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHNlbGYuX2FkZF9kZXNjcmlwdG9yKDEsIHN0ZG91dCkKLSAgICAgICAgaWYgc3RkZXJyIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc2VsZi5fYWRkX2Rlc2NyaXB0b3IoMiwgc3RkZXJyKQotICAgICAgICAgICAgCi0gICAgZGVmIGFkZF9oZXJlX2RvY3VtZW50KHNlbGYsIGludGVycCwgbmFtZSwgY29udGVudCwgaW9fbnVtYmVyPU5vbmUpOgotICAgICAgICBpZiBpb19udW1iZXIgaXMgTm9uZToKLSAgICAgICAgICAgIGlvX251bWJlciA9IDAKLSAgICAgICAgICAgIAotICAgICAgICBpZiBuYW1lPT1weXNobGV4LnVucXVvdGVfd29yZHRyZWUobmFtZSk6Ci0gICAgICAgICAgICBjb250ZW50ID0gaW50ZXJwLmV4cGFuZF9oZXJlX2RvY3VtZW50KCgnVE9LRU4nLCBjb250ZW50KSkKLSAgICAKLSAgICAgICAgIyBXcml0ZSBkb2N1bWVudCBjb250ZW50IGluIGEgdGVtcG9yYXJ5IGZpbGUKLSAgICAgICAgdG1wID0gdGVtcGZpbGUuVGVtcG9yYXJ5RmlsZSgpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHRtcC53cml0ZShjb250ZW50KQotICAgICAgICAgICAgdG1wLmZsdXNoKCkKLSAgICAgICAgICAgIHRtcC5zZWVrKDApCi0gICAgICAgICAgICBzZWxmLl9hZGRfZGVzY3JpcHRvcihpb19udW1iZXIsIEZpbGVXcmFwcGVyKCdyJywgdG1wKSkKLSAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgdG1wLmNsb3NlKCkKLSAgICAgICAgICAgIHJhaXNlICAgICAgICAgICAgICAgIAotICAgICAgICAKLSAgICBkZWYgYWRkKHNlbGYsIGludGVycCwgb3AsIGZpbGVuYW1lLCBpb19udW1iZXI9Tm9uZSk6Ci0gICAgICAgIGlmIG9wIG5vdCBpbiAoJzwnLCAnPicsICc+fCcsICc+PicsICc+JicpOgotICAgICAgICAgICAgIyBUT0RPOiBhZGQgZGVzY3JpcHRvciBkdXBsaWNhdGlvbiBhbmQgaGVyZV9kb2N1bWVudHMgICAgICAKLSAgICAgICAgICAgIHJhaXNlIFJlZGlyZWN0aW9uRXJyb3IoJ1Vuc3VwcG9ydGVkIHJlZGlyZWN0aW9uIG9wZXJhdG9yICIlcyInICUgb3ApCi0gICAgICAgICAgICAKLSAgICAgICAgaWYgaW9fbnVtYmVyIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgaW9fbnVtYmVyID0gaW50KGlvX251bWJlcikKLSAgICAgICAgICAgIAotICAgICAgICBpZiAob3AgPT0gJz4mJyBhbmQgZmlsZW5hbWUuaXNkaWdpdCgpKSBvciBmaWxlbmFtZT09Jy0nOgotICAgICAgICAgICAgIyBObyBleHBhbnNpb24gZm9yIGZpbGUgZGVzY3JpcHRvcnMsIHF1b3RlIHRoZW0gaWYgeW91IHdhbnQgYSBmaWxlbmFtZQotICAgICAgICAgICAgZnVsbG5hbWUgPSBmaWxlbmFtZQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgaWYgZmlsZW5hbWUuc3RhcnRzd2l0aCgnLycpOgotICAgICAgICAgICAgICAgICMgVE9ETzogd2luMzIga2x1ZGdlCi0gICAgICAgICAgICAgICAgaWYgZmlsZW5hbWU9PScvZGV2L251bGwnOgotICAgICAgICAgICAgICAgICAgICBmdWxsbmFtZSA9ICdOVUwnCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgIyBUT0RPOiBoYW5kbGUgYWJzb2x1dGUgcGF0aG5hbWVzLCB0aGV5IGFyZSB1bmxpa2VseSB0byBleGlzdCBvbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgIyBjdXJyZW50IHBsYXRmb3JtICh3aW4zMiBmb3IgaW5zdGFuY2UpLgotICAgICAgICAgICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZnVsbG5hbWUgPSBpbnRlcnAuZXhwYW5kX3JlZGlyZWN0aW9uKCgnVE9LRU4nLCBmaWxlbmFtZSkpCi0gICAgICAgICAgICAgICAgaWYgbm90IGZ1bGxuYW1lOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBSZWRpcmVjdGlvbkVycm9yKCclczogYW1iaWd1b3VzIHJlZGlyZWN0JyAlIGZpbGVuYW1lKQotICAgICAgICAgICAgICAgICMgQnVpbGQgYWJzb2x1dGUgcGF0aCBiYXNlZCBvbiBQV0QKLSAgICAgICAgICAgICAgICBmdWxsbmFtZSA9IG9zLnBhdGguam9pbihpbnRlcnAuZ2V0X2VudigpWydQV0QnXSwgZnVsbG5hbWUpCi0gICAgICAgICAgICAKLSAgICAgICAgaWYgb3A9PSc8JzoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9hZGRfaW5wdXRfcmVkaXJlY3Rpb24oaW50ZXJwLCBmdWxsbmFtZSwgaW9fbnVtYmVyKQotICAgICAgICBlbGlmIG9wIGluICgnPicsICc+fCcpOgotICAgICAgICAgICAgY2xvYmJlciA9ICgnPnwnPT1vcCkKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9hZGRfb3V0cHV0X3JlZGlyZWN0aW9uKGludGVycCwgZnVsbG5hbWUsIGlvX251bWJlciwgY2xvYmJlcikKLSAgICAgICAgZWxpZiBvcD09Jz4+JzoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9hZGRfb3V0cHV0X2FwcGVuZGluZyhpbnRlcnAsIGZ1bGxuYW1lLCBpb19udW1iZXIpCi0gICAgICAgIGVsaWYgb3A9PSc+Jic6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fZHVwX291dHB1dF9kZXNjcmlwdG9yKGZ1bGxuYW1lLCBpb19udW1iZXIpCi0gICAgICAgIAotICAgIGRlZiBjbG9zZShzZWxmKToKLSAgICAgICAgaWYgc2VsZi5fZGVzY3JpcHRvcnMgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBmb3IgZGVzYyBpbiBzZWxmLl9kZXNjcmlwdG9ycy5pdGVydmFsdWVzKCk6Ci0gICAgICAgICAgICAgICAgZGVzYy5mbHVzaCgpCi0gICAgICAgICAgICAgICAgZGVzYy5jbG9zZSgpCi0gICAgICAgICAgICBzZWxmLl9kZXNjcmlwdG9ycyA9IE5vbmUKLSAgICAgICAgICAgIAotICAgIGRlZiBzdGRpbihzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX2Rlc2NyaXB0b3JzWzBdCi0gICAgICAgICAgCi0gICAgZGVmIHN0ZG91dChzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX2Rlc2NyaXB0b3JzWzFdIAotICAgICAgICAKLSAgICBkZWYgc3RkZXJyKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fZGVzY3JpcHRvcnNbMl0gCi0gICAgICAgICAgICAKLSAgICBkZWYgY2xvbmUoc2VsZik6Ci0gICAgICAgIGNsb25lID0gUmVkaXJlY3Rpb25zKCkKLSAgICAgICAgZm9yIGRlc2MsIGZpbGVvYmogaW4gc2VsZi5fZGVzY3JpcHRvcnMuaXRlcml0ZW1zKCk6Ci0gICAgICAgICAgICBjbG9uZS5fZGVzY3JpcHRvcnNbZGVzY10gPSBmaWxlb2JqLmR1cCgpCi0gICAgICAgIHJldHVybiBjbG9uZQotICAgICAgICAgICAKLSAgICBkZWYgX2FkZF9vdXRwdXRfcmVkaXJlY3Rpb24oc2VsZiwgaW50ZXJwLCBmaWxlbmFtZSwgaW9fbnVtYmVyLCBjbG9iYmVyKTogICAgCi0gICAgICAgIGlmIGlvX251bWJlciBpcyBOb25lOgotICAgICAgICAgICAgIyBpb19udW1iZXIgZGVmYXVsdCB0byBzdGFuZGFyZCBvdXRwdXQKLSAgICAgICAgICAgIGlvX251bWJlciA9IDEKLSAgICAgICAgCi0gICAgICAgIGlmIG5vdCBjbG9iYmVyIGFuZCBpbnRlcnAuZ2V0X2VudigpLmhhc19vcHQoJy1DJykgYW5kIG9zLnBhdGguaXNmaWxlKGZpbGVuYW1lKToKLSAgICAgICAgICAgICMgRmlsZSBhbHJlYWR5IGV4aXN0IGluIG5vLWNsb2JiZXIgbW9kZSwgYmFpbCBvdXQKLSAgICAgICAgICAgIHJhaXNlIFJlZGlyZWN0aW9uRXJyb3IoJ0ZpbGUgIiVzIiBhbHJlYWR5IGV4aXN0cycgJSBmaWxlbmFtZSkKLSAgICAgICAgICAgIAotICAgICAgICAjIE9wZW4gYW5kIHJlZ2lzdGVyCi0gICAgICAgIHNlbGYuX2FkZF9maWxlX2Rlc2NyaXB0b3IoaW9fbnVtYmVyLCBmaWxlbmFtZSwgJ3cnKQotICAgICAgICAKLSAgICBkZWYgX2FkZF9vdXRwdXRfYXBwZW5kaW5nKHNlbGYsIGludGVycCwgZmlsZW5hbWUsIGlvX251bWJlcik6ICAgIAotICAgICAgICBpZiBpb19udW1iZXIgaXMgTm9uZToKLSAgICAgICAgICAgIGlvX251bWJlciA9IDEKLSAgICAgICAgc2VsZi5fYWRkX2ZpbGVfZGVzY3JpcHRvcihpb19udW1iZXIsIGZpbGVuYW1lLCAnYScpCi0gICAgICAgICAgICAKLSAgICBkZWYgX2FkZF9pbnB1dF9yZWRpcmVjdGlvbihzZWxmLCBpbnRlcnAsIGZpbGVuYW1lLCBpb19udW1iZXIpOgotICAgICAgICBpZiBpb19udW1iZXIgaXMgTm9uZToKLSAgICAgICAgICAgIGlvX251bWJlciA9IDAKLSAgICAgICAgc2VsZi5fYWRkX2ZpbGVfZGVzY3JpcHRvcihpb19udW1iZXIsIGZpbGVuYW1lLCAncicpCi0gICAgICAgIAotICAgIGRlZiBfYWRkX2ZpbGVfZGVzY3JpcHRvcihzZWxmLCBpb19udW1iZXIsIGZpbGVuYW1lLCBtb2RlKTogICAgCi0gICAgICAgIHRyeTogICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIGZpbGVuYW1lLnN0YXJ0c3dpdGgoJy8nKToKLSAgICAgICAgICAgICAgICBpZiBmaWxlbmFtZT09Jy9kZXYvbnVsbCc6Ci0gICAgICAgICAgICAgICAgICAgIGYgPSB3aW4zMl9vcGVuX2Rldm51bGwobW9kZSsnYicpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgIyBUT0RPOiBoYW5kbGUgYWJzb2x1dGUgcGF0aG5hbWVzLCB0aGV5IGFyZSB1bmxpa2VseSB0byBleGlzdCBvbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgIyBjdXJyZW50IHBsYXRmb3JtICh3aW4zMiBmb3IgaW5zdGFuY2UpLgotICAgICAgICAgICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCdjYW5ub3Qgb3BlbiBhYnNvbHV0ZSBwYXRoICVzJyAlIHJlcHIoZmlsZW5hbWUpKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBmID0gZmlsZShmaWxlbmFtZSwgbW9kZSsnYicpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICByYWlzZSBSZWRpcmVjdGlvbkVycm9yKHN0cihlKSkKLSAgICAgICAgICAgIAotICAgICAgICB3cmFwcGVyID0gTm9uZQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICB3cmFwcGVyID0gRmlsZVdyYXBwZXIobW9kZSwgZikKLSAgICAgICAgICAgIGYgPSBOb25lCi0gICAgICAgICAgICBzZWxmLl9hZGRfZGVzY3JpcHRvcihpb19udW1iZXIsIHdyYXBwZXIpCi0gICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgIGlmIGY6IGYuY2xvc2UoKQotICAgICAgICAgICAgaWYgd3JhcHBlcjogd3JhcHBlci5jbG9zZSgpCi0gICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgCi0gICAgZGVmIF9kdXBfb3V0cHV0X2Rlc2NyaXB0b3Ioc2VsZiwgc291cmNlX2ZkLCBkZXN0X2ZkKToKLSAgICAgICAgaWYgc291cmNlX2ZkIGlzIE5vbmU6Ci0gICAgICAgICAgICBzb3VyY2VfZmQgPSAxCi0gICAgICAgIHNlbGYuX2R1cF9maWxlX2Rlc2NyaXB0b3Ioc291cmNlX2ZkLCBkZXN0X2ZkLCAndycpCi0gICAgICAgICAgICAKLSAgICBkZWYgX2R1cF9maWxlX2Rlc2NyaXB0b3Ioc2VsZiwgc291cmNlX2ZkLCBkZXN0X2ZkLCBtb2RlKToKLSAgICAgICAgc291cmNlX2ZkID0gaW50KHNvdXJjZV9mZCkKLSAgICAgICAgaWYgc291cmNlX2ZkIG5vdCBpbiBzZWxmLl9kZXNjcmlwdG9yczoKLSAgICAgICAgICAgIHJhaXNlIFJlZGlyZWN0aW9uRXJyb3IoJyIlcyIgaXMgbm90IGEgdmFsaWQgZmlsZSBkZXNjcmlwdG9yJyAlIHN0cihzb3VyY2VfZmQpKQotICAgICAgICBzb3VyY2UgPSBzZWxmLl9kZXNjcmlwdG9yc1tzb3VyY2VfZmRdCi0gICAgICAgIAotICAgICAgICBpZiBzb3VyY2UubW9kZSgpIT1tb2RlOgotICAgICAgICAgICAgcmFpc2UgUmVkaXJlY3Rpb25FcnJvcignRGVzY3JpcHRvciAlcyBjYW5ub3QgYmUgZHVwbGljYXRlZCBpbiBtb2RlICIlcyInICUgKHN0cihzb3VyY2UpLCBtb2RlKSkKLSAgICAgICAgCi0gICAgICAgIGlmIGRlc3RfZmQ9PSctJzoKLSAgICAgICAgICAgICMgQ2xvc2UgdGhlIHNvdXJjZSBkZXNjcmlwdG9yCi0gICAgICAgICAgICBkZWwgc2VsZi5fZGVzY3JpcHRvcnNbc291cmNlX2ZkXQotICAgICAgICAgICAgc291cmNlLmNsb3NlKCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGRlc3RfZmQgPSBpbnQoZGVzdF9mZCkKLSAgICAgICAgICAgIGlmIGRlc3RfZmQgbm90IGluIHNlbGYuX2Rlc2NyaXB0b3JzOgotICAgICAgICAgICAgICAgIHJhaXNlIFJlZGlyZWN0aW9uRXJyb3IoJ0Nhbm5vdCByZXBsYWNlIGZpbGUgZGVzY3JpcHRvciAlcycgJSBzdHIoZGVzdF9mZCkpCi0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBkZXN0ID0gc2VsZi5fZGVzY3JpcHRvcnNbZGVzdF9mZF0KLSAgICAgICAgICAgIGlmIGRlc3QubW9kZSgpIT1tb2RlOgotICAgICAgICAgICAgICAgIHJhaXNlIFJlZGlyZWN0aW9uRXJyb3IoJ0Rlc2NyaXB0b3IgJXMgY2Fubm90IGJlIGNhbm5vdCBiZSByZWRpcmVjdGVkIGluIG1vZGUgIiVzIicgJSAoc3RyKGRlc3QpLCBtb2RlKSkKLSAgICAgICAgICAgIAotICAgICAgICAgICAgc2VsZi5fZGVzY3JpcHRvcnNbZGVzdF9mZF0gPSBzb3VyY2UuZHVwKCkKLSAgICAgICAgICAgIGRlc3QuY2xvc2UoKSAgICAgICAgCi0gICAgICAgICAgICAKLSAgICBkZWYgX2FkZF9kZXNjcmlwdG9yKHNlbGYsIGlvX251bWJlciwgZmlsZSk6Ci0gICAgICAgIGlvX251bWJlciA9IGludChpb19udW1iZXIpCi0gICAgICAgIAotICAgICAgICBpZiBpb19udW1iZXIgaW4gc2VsZi5fZGVzY3JpcHRvcnM6Ci0gICAgICAgICAgICAjIENsb3NlIHRoZSBjdXJyZW50IGRlc2NyaXB0b3IKLSAgICAgICAgICAgIGQgPSBzZWxmLl9kZXNjcmlwdG9yc1tpb19udW1iZXJdCi0gICAgICAgICAgICBkZWwgc2VsZi5fZGVzY3JpcHRvcnNbaW9fbnVtYmVyXQotICAgICAgICAgICAgZC5jbG9zZSgpCi0gICAgICAgICAgICAKLSAgICAgICAgc2VsZi5fZGVzY3JpcHRvcnNbaW9fbnVtYmVyXSA9IGZpbGUKLQotICAgIGRlZiBfX3N0cl9fKHNlbGYpOgotICAgICAgICBuYW1lcyA9IFsoJyVkPSVyJyAlIChrLCBnZXRhdHRyKHYsICduYW1lJywgTm9uZSkpKSBmb3Igayx2Ci0gICAgICAgICAgICAgICAgIGluIHNlbGYuX2Rlc2NyaXB0b3JzLml0ZXJpdGVtcygpXQotICAgICAgICBuYW1lcyA9ICcsJy5qb2luKG5hbWVzKQotICAgICAgICByZXR1cm4gJ1JlZGlyZWN0aW9ucyglcyknICUgbmFtZXMKLQotICAgIGRlZiBfX2RlbF9fKHNlbGYpOgotICAgICAgICBzZWxmLmNsb3NlKCkKLSAgICAKLWRlZiBjeWd3aW5fdG9fd2luZG93c19wYXRoKHBhdGgpOgotICAgICIiIlR1cm4gL2N5Z2RyaXZlL2MvZm9vIGludG8gYzovZm9vLCBvciByZXR1cm4gcGF0aCBpZiBpdAotICAgIGlzIG5vdCBhIGN5Z3dpbiBwYXRoLgotICAgICIiIgotICAgIGlmIG5vdCBwYXRoLnN0YXJ0c3dpdGgoJy9jeWdkcml2ZS8nKToKLSAgICAgICAgcmV0dXJuIHBhdGgKLSAgICBwYXRoID0gcGF0aFtsZW4oJy9jeWdkcml2ZS8nKTpdCi0gICAgcGF0aCA9IHBhdGhbOjFdICsgJzonICsgcGF0aFsxOl0KLSAgICByZXR1cm4gcGF0aAotICAgIAotZGVmIHdpbjMyX3RvX3VuaXhfcGF0aChwYXRoKToKLSAgICBpZiBwYXRoIGlzIG5vdCBOb25lOgotICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKCdcXCcsICcvJykKLSAgICByZXR1cm4gcGF0aCAgICAKLSAgICAKLV9SRV9TSEVCQU5HID0gcmUuY29tcGlsZShyJ15cIyFccz8oW15cc10rKSg/OlxzKFteXHNdKykpPycpCi1fU0hFQkFOR19DTURTID0gewotICAgICcvdXNyL2Jpbi9lbnYnOiAnZW52JywKLSAgICAnL2Jpbi9zaCc6ICdweXNoJywKLSAgICAncHl0aG9uJzogJ3B5dGhvbicsCi19Ci0gICAgCi1kZWYgcmVzb2x2ZV9zaGViYW5nKHBhdGgsIGlnbm9yZXNoZWxsPUZhbHNlKToKLSAgICAiIiJSZXR1cm4gYSBsaXN0IG9mIGFyZ3VtZW50cyBhcyBzaGViYW5nIGludGVycHJldGVyIGNhbGwgb3IgYW4gZW1wdHkgbGlzdAotICAgIGlmIHBhdGggZG9lcyBub3QgcmVmZXIgdG8gYW4gZXhlY3V0YWJsZSBzY3JpcHQuCi0gICAgU2VlIDxodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvYXVzdGluL2RvY3MvYXVzdGluXzUxcjIudHh0Pi4KLSAgICAKLSAgICBpZ25vcmVzaGVsbCAtIHNldCB0byBUcnVlIHRvIGlnbm9yZSBzaCBzaGViYW5ncy4gUmV0dXJuIGFuIGVtcHR5IGxpc3QgaW5zdGVhZC4KLSAgICAiIiIKLSAgICB0cnk6Ci0gICAgICAgIGYgPSBmaWxlKHBhdGgpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgICMgQXQgbW9zdCA4MCBjaGFyYWN0ZXJzIGluIHRoZSBmaXJzdCBsaW5lCi0gICAgICAgICAgICBoZWFkZXIgPSBmLnJlYWQoODApLnNwbGl0bGluZXMoKVswXQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgICAgICAKLSAgICAgICAgbSA9IF9SRV9TSEVCQU5HLnNlYXJjaChoZWFkZXIpCi0gICAgICAgIGlmIG5vdCBtOgotICAgICAgICAgICAgcmV0dXJuIFtdCi0gICAgICAgIGNtZCwgYXJnID0gbS5ncm91cCgxLDIpCi0gICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGNtZCk6Ci0gICAgICAgICAgICAjIEtlZXAgdGhpcyBvbmUsIHRoZSBoZyBzY3JpcHQgZm9yIGluc3RhbmNlIGNvbnRhaW5zIGEgd2VpcmQgd2luZG93cwotICAgICAgICAgICAgIyBzaGViYW5nIHJlZmVyZW5jaW5nIHRoZSBjdXJyZW50IHB5dGhvbiBpbnN0YWxsLgotICAgICAgICAgICAgY21kZmlsZSA9IG9zLnBhdGguYmFzZW5hbWUoY21kKS5sb3dlcigpCi0gICAgICAgICAgICBpZiBjbWRmaWxlID09ICdweXRob24uZXhlJzoKLSAgICAgICAgICAgICAgICBjbWQgPSAncHl0aG9uJwotICAgICAgICAgICAgcGFzcwotICAgICAgICBlbGlmIGNtZCBub3QgaW4gX1NIRUJBTkdfQ01EUzoKLSAgICAgICAgICAgIHJhaXNlIENvbW1hbmROb3RGb3VuZCgnVW5rbm93biBpbnRlcnByZXRlciAiJXMiIHJlZmVyZW5jZWQgaW4gJ1wKLSAgICAgICAgICAgICAgICAnc2hlYmFuZycgJSBoZWFkZXIpCi0gICAgICAgIGNtZCA9IF9TSEVCQU5HX0NNRFMuZ2V0KGNtZCkKLSAgICAgICAgaWYgY21kIGlzIE5vbmUgb3IgKGlnbm9yZXNoZWxsIGFuZCBjbWQgPT0gJ3B5c2gnKToKLSAgICAgICAgICAgIHJldHVybiBbXQotICAgICAgICBpZiBhcmcgaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiBbY21kLCB3aW4zMl90b191bml4X3BhdGgocGF0aCldCi0gICAgICAgIHJldHVybiBbY21kLCBhcmcsIHdpbjMyX3RvX3VuaXhfcGF0aChwYXRoKV0KLSAgICBleGNlcHQgSU9FcnJvciBhcyBlOgotICAgICAgICBpZiAgZS5lcnJubyE9ZXJybm8uRU5PRU5UIGFuZCBcCi0gICAgICAgICAgICAoZS5lcnJubyE9ZXJybm8uRVBFUk0gYW5kIG5vdCBvcy5wYXRoLmlzZGlyKHBhdGgpKTogIyBPcGVuaW5nIGEgZGlyZWN0b3J5IHJhaXNlcyBFUEVSTQotICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgcmV0dXJuIFtdCi0gICAgICAgIAotZGVmIHdpbjMyX2ZpbmRfaW5fcGF0aChuYW1lLCBwYXRoKToKLSAgICBpZiBpc2luc3RhbmNlKHBhdGgsIHN0cik6Ci0gICAgICAgIHBhdGggPSBwYXRoLnNwbGl0KG9zLnBhdGhzZXApCi0gICAgICAgIAotICAgIGV4dHMgPSBvcy5lbnZpcm9uLmdldCgnUEFUSEVYVCcsICcnKS5sb3dlcigpLnNwbGl0KG9zLnBhdGhzZXApCi0gICAgZm9yIHAgaW4gcGF0aDoKLSAgICAgICAgcF9uYW1lID0gb3MucGF0aC5qb2luKHAsIG5hbWUpCi0gICAgICAgIAotICAgICAgICBwcmVmaXggPSByZXNvbHZlX3NoZWJhbmcocF9uYW1lKQotICAgICAgICBpZiBwcmVmaXg6Ci0gICAgICAgICAgICByZXR1cm4gcHJlZml4Ci0gICAgICAgICAgICAKLSAgICAgICAgZm9yIGV4dCBpbiBleHRzOiAgICAKLSAgICAgICAgICAgIHBfbmFtZV9leHQgPSBwX25hbWUgKyBleHQKLSAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHBfbmFtZV9leHQpOgotICAgICAgICAgICAgICAgIHJldHVybiBbd2luMzJfdG9fdW5peF9wYXRoKHBfbmFtZV9leHQpXQotICAgIHJldHVybiBbXQotCi1jbGFzcyBUcmFwcyhkaWN0KToKLSAgICBkZWYgX19zZXRpdGVtX18oc2VsZiwga2V5LCB2YWx1ZSk6Ci0gICAgICAgIGlmIGtleSBub3QgaW4gKCdFWElUJywpOgotICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigpCi0gICAgICAgIHN1cGVyKFRyYXBzLCBzZWxmKS5fX3NldGl0ZW1fXyhrZXksIHZhbHVlKQotCi0jIElGUyB3aGl0ZSBzcGFjZXMgY2hhcmFjdGVyIGNsYXNzCi1fSUZTX1dISVRFU1BBQ0VTID0gKCcgJywgJ1x0JywgJ1xuJykKLQotY2xhc3MgRW52aXJvbm1lbnQ6Ci0gICAgIiIiRW52aXJvbm1lbnQgaG9sZHMgZW52aXJvbm1lbnQgdmFyaWFibGVzLCBleHBvcnQgdGFibGUsIGZ1bmN0aW9uIAotICAgIGRlZmluaXRpb25zIGFuZCB3aGF0ZXZlciBpcyBkZWZpbmVkIGluIDIuMTIgIlNoZWxsIEV4ZWN1dGlvbiBFbnZpcm9ubWVudCIsCi0gICAgcmVkaXJlY3Rpb24gZXhjZXB0ZWQuCi0gICAgIiIiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHB3ZCk6Ci0gICAgICAgIHNlbGYuX29wdCA9IHNldCgpICAgICAgICNTaGVsbCBvcHRpb25zCi0gICAgICAgIAotICAgICAgICBzZWxmLl9mdW5jdGlvbnMgPSB7fSAgICAgICAgCi0gICAgICAgIHNlbGYuX2VudiA9IHsnPyc6ICcwJywgJyMnOiAnMCd9Ci0gICAgICAgIHNlbGYuX2V4cG9ydGVkID0gc2V0KFsKLSAgICAgICAgICAgICdIT01FJywgJ0lGUycsICdQQVRIJwotICAgICAgICBdKQotICAgICAgICAKLSAgICAgICAgIyBTZXQgZW52aXJvbm1lbnQgdmFycyB3aXRoIHNpZGUtZWZmZWN0cwotICAgICAgICBzZWxmLl9pZnNfd3MgPSBOb25lICAgICAjIFNldCBvZiBJRlMgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzCi0gICAgICAgIHNlbGYuX2lmc19yZSA9IE5vbmUgICAgICMgUmVndWxhciBleHByZXNzaW9uIHVzZWQgdG8gc3BsaXQgYmV0d2VlbiB3b3JkcyB1c2luZyBJRlMgY2xhc3NlcwotICAgICAgICBzZWxmWydJRlMnXSA9ICcnLmpvaW4oX0lGU19XSElURVNQQUNFUykgI0RlZmF1bHQgZW52aXJvbm1lbnQgdmFsdWVzCi0gICAgICAgIHNlbGZbJ1BXRCddID0gcHdkCi0gICAgICAgIHNlbGYudHJhcHMgPSBUcmFwcygpCi0gICAgICAgIAotICAgIGRlZiBjbG9uZShzZWxmLCBzdWJzaGVsbD1GYWxzZSk6Ci0gICAgICAgIGVudiA9IEVudmlyb25tZW50KHNlbGZbJ1BXRCddKQotICAgICAgICBlbnYuX29wdCA9IHNldChzZWxmLl9vcHQpCi0gICAgICAgIGZvciBrLHYgaW4gc2VsZi5nZXRfdmFyaWFibGVzKCkuaXRlcml0ZW1zKCk6Ci0gICAgICAgICAgICBpZiBrIGluIHNlbGYuX2V4cG9ydGVkOgotICAgICAgICAgICAgICAgIGVudi5leHBvcnQoayx2KQotICAgICAgICAgICAgZWxpZiBzdWJzaGVsbDoKLSAgICAgICAgICAgICAgICBlbnZba10gPSB2Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgIGlmIHN1YnNoZWxsOgotICAgICAgICAgICAgZW52Ll9mdW5jdGlvbnMgPSBkaWN0KHNlbGYuX2Z1bmN0aW9ucykKLSAgICAgICAgICAgIAotICAgICAgICByZXR1cm4gZW52ICAgICAgICAKLSAgICAgICAgCi0gICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6Ci0gICAgICAgIGlmIGtleSBpbiAoJ0AnLCAnKicsICctJywgJyQnKToKLSAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJyVzIGlzIG5vdCBpbXBsZW1lbnRlZCcgJSByZXByKGtleSkpCi0gICAgICAgIHJldHVybiBzZWxmLl9lbnZba2V5XQotICAgICAgICAKLSAgICBkZWYgZ2V0KHNlbGYsIGtleSwgZGVmdmFsPU5vbmUpOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZltrZXldCi0gICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgIHJldHVybiBkZWZ2YWwKLSAgICAgICAgCi0gICAgZGVmIF9fc2V0aXRlbV9fKHNlbGYsIGtleSwgdmFsdWUpOgotICAgICAgICBpZiBrZXk9PSdJRlMnOgotICAgICAgICAgICAgIyBVcGRhdGUgdGhlIHdoaXRlc3BhY2Uvbm9uLXdoaXRlc3BhY2UgY2xhc3NlcwotICAgICAgICAgICAgc2VsZi5fdXBkYXRlX2lmcyh2YWx1ZSkKLSAgICAgICAgZWxpZiBrZXk9PSdQV0QnOgotICAgICAgICAgICAgcHdkID0gb3MucGF0aC5hYnNwYXRoKHZhbHVlKQotICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIocHdkKToKLSAgICAgICAgICAgICAgICByYWlzZSBWYXJBc3NpZ25tZW50RXJyb3IoJ0ludmFsaWQgZGlyZWN0b3J5ICVzJyAlIHZhbHVlKQotICAgICAgICAgICAgdmFsdWUgPSBwd2QKLSAgICAgICAgZWxpZiBrZXkgaW4gKCc/JywgJyEnKToKLSAgICAgICAgICAgIHZhbHVlID0gc3RyKGludCh2YWx1ZSkpCi0gICAgICAgIHNlbGYuX2VudltrZXldID0gdmFsdWUKLSAgICAgICAgCi0gICAgZGVmIF9fZGVsaXRlbV9fKHNlbGYsIGtleSk6Ci0gICAgICAgIGlmIGtleSBpbiAoJ0lGUycsICdQV0QnLCAnPycpOgotICAgICAgICAgICAgcmFpc2UgVmFyQXNzaWdubWVudEVycm9yKCclcyBjYW5ub3QgYmUgdW5zZXQnICUga2V5KQotICAgICAgICBkZWwgc2VsZi5fZW52W2tleV0KLQotICAgIGRlZiBfX2NvbnRhaW5zX18oc2VsZiwgaXRlbSk6Ci0gICAgICAgIHJldHVybiBpdGVtIGluIHNlbGYuX2VudgotICAgICAgICAKLSAgICBkZWYgc2V0X3Bvc2l0aW9uYWxfYXJncyhzZWxmLCBhcmdzKToKLSAgICAgICAgIiIiU2V0IHRoZSBjb250ZW50IG9mICdhcmdzJyBhcyBwb3NpdGlvbmFsIGFyZ3VtZW50IGZyb20gMSB0byBsZW4oYXJncykuCi0gICAgICAgIFJldHVybiBwcmV2aW91cyBhcmd1bWVudCBhcyBhIGxpc3Qgb2Ygc3RyaW5ncy4KLSAgICAgICAgIiIiCi0gICAgICAgICMgU2F2ZSBhbmQgcmVtb3ZlIHByZXZpb3VzIGFyZ3VtZW50cwotICAgICAgICBwcmV2YXJncyA9IFtdICAgICAgICAKLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UoaW50KHNlbGYuX2VudlsnIyddKSk6Ci0gICAgICAgICAgICBpID0gc3RyKGkrMSkKLSAgICAgICAgICAgIHByZXZhcmdzLmFwcGVuZChzZWxmLl9lbnZbaV0pCi0gICAgICAgICAgICBkZWwgc2VsZi5fZW52W2ldCi0gICAgICAgIHNlbGYuX2VudlsnIyddID0gJzAnCi0gICAgICAgICAgICAgICAgCi0gICAgICAgICNTZXQgbmV3IG9uZXMKLSAgICAgICAgZm9yIGksYXJnIGluIGVudW1lcmF0ZShhcmdzKToKLSAgICAgICAgICAgIHNlbGYuX2VudltzdHIoaSsxKV0gPSBzdHIoYXJnKQotICAgICAgICBzZWxmLl9lbnZbJyMnXSA9IHN0cihsZW4oYXJncykpCi0gICAgICAgIAotICAgICAgICByZXR1cm4gcHJldmFyZ3MKLSAgICAgICAgCi0gICAgZGVmIGdldF9wb3NpdGlvbmFsX2FyZ3Moc2VsZik6Ci0gICAgICAgIHJldHVybiBbc2VsZi5fZW52W3N0cihpKzEpXSBmb3IgaSBpbiByYW5nZShpbnQoc2VsZi5fZW52WycjJ10pKV0KLSAgICAgICAgCi0gICAgZGVmIGdldF92YXJpYWJsZXMoc2VsZik6Ci0gICAgICAgIHJldHVybiBkaWN0KHNlbGYuX2VudikKLSAgICAgICAgCi0gICAgZGVmIGV4cG9ydChzZWxmLCBrZXksIHZhbHVlPU5vbmUpOgotICAgICAgICBpZiB2YWx1ZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHNlbGZba2V5XSA9IHZhbHVlCi0gICAgICAgIHNlbGYuX2V4cG9ydGVkLmFkZChrZXkpCi0gICAgICAgIAotICAgIGRlZiBnZXRfZXhwb3J0ZWQoc2VsZik6Ci0gICAgICAgIHJldHVybiBbKGssc2VsZi5fZW52LmdldChrKSkgZm9yIGsgaW4gc2VsZi5fZXhwb3J0ZWRdCi0gICAgICAgICAgICAKLSAgICBkZWYgc3BsaXRfZmllbGRzKHNlbGYsIHdvcmQpOgotICAgICAgICBpZiBub3Qgc2VsZi5faWZzX3dzIG9yIG5vdCB3b3JkOgotICAgICAgICAgICAgcmV0dXJuIFt3b3JkXQotICAgICAgICByZXR1cm4gcmUuc3BsaXQoc2VsZi5faWZzX3JlLCB3b3JkKQotICAgCi0gICAgZGVmIF91cGRhdGVfaWZzKHNlbGYsIHZhbHVlKToKLSAgICAgICAgIiIiVXBkYXRlIHRoZSBzcGxpdF9maWVsZHMgcmVsYXRlZCB2YXJpYWJsZXMgd2hlbiBJRlMgY2hhcmFjdGVyIHNldCBpcwotICAgICAgICBjaGFuZ2VkLgotICAgICAgICAiIiIKLSAgICAgICAgIyBUT0RPOiBoYW5kbGUgTlVMTCBJRlMKLSAgICAgICAgCi0gICAgICAgICMgU2VwYXJhdGUgY2hhcmFjdGVycyBpbiB3aGl0ZXNwYWNlIGFuZCBub24td2hpdGVzcGFjZQotICAgICAgICBjaGFycyA9IHNldCh2YWx1ZSkKLSAgICAgICAgd3MgPSBbYyBmb3IgYyBpbiBjaGFycyBpZiBjIGluIF9JRlNfV0hJVEVTUEFDRVNdCi0gICAgICAgIG53cyA9IFtjIGZvciBjIGluIGNoYXJzIGlmIGMgbm90IGluIF9JRlNfV0hJVEVTUEFDRVNdCi0gICAgICAgIAotICAgICAgICAjIEtlZXAgd2hpdGVzcGFjZXMgaW4gYSBzdHJpbmcgZm9yIGxlZnQgYW5kIHJpZ2h0IHN0cmlwcGluZwotICAgICAgICBzZWxmLl9pZnNfd3MgPSAnJy5qb2luKHdzKQotICAgICAgICAKLSAgICAgICAgIyBCdWlsZCBhIHJlZ2V4cCB0byBzcGxpdCBmaWVsZHMKLSAgICAgICAgdHJhaWxpbmcgPSAnWycgKyAnJy5qb2luKFtyZS5lc2NhcGUoYykgZm9yIGMgaW4gd3NdKSArICddJwotICAgICAgICBpZiBud3M6Ci0gICAgICAgICAgICAjIEZpcnN0LCB0aGUgc2luZ2xlIG5vbi13aGl0ZXNwYWNlIG9jY3VyZW5jZS4KLSAgICAgICAgICAgIG53cyA9ICdbJyArICcnLmpvaW4oW3JlLmVzY2FwZShjKSBmb3IgYyBpbiBud3NdKSArICddJwotICAgICAgICAgICAgbndzID0gJyg/OicgKyB0cmFpbGluZyArICcqJyArIG53cyArIHRyYWlsaW5nICsgJyonICsgJ3wnICsgdHJhaWxpbmcgKyAnKyknCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAjIFRoZW4gbWl4IGFsbCBwYXJ0cyB3aXRoIHF1YW50aWZpZXJzCi0gICAgICAgICAgICBud3MgPSB0cmFpbGluZyArICcrJwotICAgICAgICBzZWxmLl9pZnNfcmUgPSByZS5jb21waWxlKG53cykKLSAgICAgICAKLSAgICBkZWYgaGFzX29wdChzZWxmLCBvcHQsIHZhbD1Ob25lKToKLSAgICAgICAgcmV0dXJuIChvcHQsIHZhbCkgaW4gc2VsZi5fb3B0Ci0gICAgICAgIAotICAgIGRlZiBzZXRfb3B0KHNlbGYsIG9wdCwgdmFsPU5vbmUpOgotICAgICAgICBzZWxmLl9vcHQuYWRkKChvcHQsIHZhbCkpCi0gICAgICAgIAotICAgIGRlZiBmaW5kX2luX3BhdGgoc2VsZiwgbmFtZSwgcHdkPUZhbHNlKToKLSAgICAgICAgcGF0aCA9IHNlbGYuX2Vudi5nZXQoJ1BBVEgnLCAnJykuc3BsaXQob3MucGF0aHNlcCkKLSAgICAgICAgaWYgcHdkOgotICAgICAgICAgICAgcGF0aFs6MF0gPSBbc2VsZlsnUFdEJ11dCi0gICAgICAgIGlmIG9zLm5hbWUgPT0gJ250JzoKLSAgICAgICAgICAgIHJldHVybiB3aW4zMl9maW5kX2luX3BhdGgobmFtZSwgc2VsZi5fZW52LmdldCgnUEFUSCcsICcnKSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoKQotICAgICAgICAgICAgCi0gICAgZGVmIGRlZmluZV9mdW5jdGlvbihzZWxmLCBuYW1lLCBib2R5KToKLSAgICAgICAgaWYgbm90IGlzX25hbWUobmFtZSk6Ci0gICAgICAgICAgICByYWlzZSBTaGVsbFN5bnRheEVycm9yKCclcyBpcyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1lJyAlIHJlcHIobmFtZSkpCi0gICAgICAgIHNlbGYuX2Z1bmN0aW9uc1tuYW1lXSA9IGJvZHkKLSAgICAgICAgCi0gICAgZGVmIHJlbW92ZV9mdW5jdGlvbihzZWxmLCBuYW1lKToKLSAgICAgICAgZGVsIHNlbGYuX2Z1bmN0aW9uc1tuYW1lXQotICAgICAgICAKLSAgICBkZWYgaXNfZnVuY3Rpb24oc2VsZiwgbmFtZSk6Ci0gICAgICAgIHJldHVybiBuYW1lIGluIHNlbGYuX2Z1bmN0aW9ucwotICAgICAgICAKLSAgICBkZWYgZ2V0X2Z1bmN0aW9uKHNlbGYsIG5hbWUpOgotICAgICAgICByZXR1cm4gc2VsZi5fZnVuY3Rpb25zLmdldChuYW1lKQotICAgICAgICAKLSAgICAgICAKLW5hbWVfY2hhcnNldCA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OV8nCi1uYW1lX2NoYXJzZXQgPSBkaWN0KHppcChuYW1lX2NoYXJzZXQsbmFtZV9jaGFyc2V0KSkKLSAgICAgICAgICAgCi1kZWYgbWF0Y2hfbmFtZShzKToKLSAgICAiIiJSZXR1cm4gdGhlIGxlbmd0aCBpbiBjaGFyYWN0ZXJzIG9mIHRoZSBsb25nZXN0IHByZWZpeCBtYWRlIG9mIG5hbWUKLSAgICBhbGxvd2VkIGNoYXJhY3RlcnMgaW4gcy4KLSAgICAiIiIKLSAgICBmb3IgaSxjIGluIGVudW1lcmF0ZShzKToKLSAgICAgICAgaWYgYyBub3QgaW4gbmFtZV9jaGFyc2V0OgotICAgICAgICAgICAgcmV0dXJuIHNbOmldCi0gICAgcmV0dXJuIHMKLSAgICAKLWRlZiBpc19uYW1lKHMpOgotICAgIHJldHVybiBsZW4oW2MgZm9yIGMgaW4gcyBpZiBjIG5vdCBpbiBuYW1lX2NoYXJzZXRdKTw9MAotICAgIAotZGVmIGlzX3NwZWNpYWxfcGFyYW0oYyk6Ci0gICAgcmV0dXJuIGxlbihjKT09MSBhbmQgYyBpbiAoJ0AnLCcqJywnIycsJz8nLCctJywnJCcsJyEnLCcwJykKLSAgICAKLWRlZiB1dGlsaXR5X25vdF9pbXBsZW1lbnRlZChuYW1lLCAqYXJncywgKiprd2FyZ3MpOgotICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJyVzIHV0aWxpdHkgaXMgbm90IGltcGxlbWVudGVkJyAlIG5hbWUpCi0gICAgCi0KLWNsYXNzIFV0aWxpdHk6Ci0gICAgIiIiRGVmaW5lIHV0aWxpdGllcyBwcm9wZXJ0aWVzOgotICAgIGZ1bmMgLS0gdXRpbGl0eSBjYWxsYWJsZS4gU2VlIGJ1aWx0aW4gbW9kdWxlIGZvciB1dGlsaXR5IHNhbXBsZXMuCi0gICAgaXNfc3BlY2lhbCAtLSBzZWUgWENVIDIuOC4KLSAgICAiIiIKLSAgICBkZWYgX19pbml0X18oc2VsZiwgZnVuYywgaXNfc3BlY2lhbD0wKToKLSAgICAgICAgc2VsZi5mdW5jID0gZnVuYwotICAgICAgICBzZWxmLmlzX3NwZWNpYWwgPSBib29sKGlzX3NwZWNpYWwpCi0KLQotZGVmIGVuY29kZWFyZ3MoYXJncyk6Ci0gICAgZGVmIGVuY29kZWFyZyhzKToKLSAgICAgICAgbGluZXMgPSBiYXNlNjQuZW5jb2Rlc3RyaW5nKHMpCi0gICAgICAgIGxpbmVzID0gW2wuc3BsaXRsaW5lcygpWzBdIGZvciBsIGluIGxpbmVzXQotICAgICAgICByZXR1cm4gJycuam9pbihsaW5lcykKLQotICAgIHMgPSBwaWNrbGUuZHVtcHMoYXJncykKLSAgICByZXR1cm4gZW5jb2RlYXJnKHMpCi0KLWRlZiBkZWNvZGVhcmdzKHMpOgotICAgIHMgPSBiYXNlNjQuZGVjb2Rlc3RyaW5nKHMpCi0gICAgcmV0dXJuIHBpY2tsZS5sb2FkcyhzKQotICAgIAotCi1jbGFzcyBHbG9iRXJyb3IoRXhjZXB0aW9uKToKLSAgICBwYXNzCi0KLWNsYXNzIE9wdGlvbnM6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICAjIFRydWUgaWYgTWVyY3VyaWFsIG9wZXJhdGVzIHdpdGggYmluYXJ5IHN0cmVhbXMKLSAgICAgICAgc2VsZi5oZ2JpbmFyeSA9IFRydWUKLQotY2xhc3MgSW50ZXJwcmV0ZXI6Ci0gICAgIyBJbXBsZW1lbnRhdGlvbiBpcyB2ZXJ5IGJhc2ljOiB0aGUgZXhlY3V0ZSgpIG1ldGhvZCBqdXN0IG1ha2VzIGEgREZTIG9uIHRoZQotICAgICMgQVNUIGFuZCBleGVjdXRlIG5vZGVzIG9uZSBieSBvbmUuIE5vZGVzIGFyZSB0dXBsZSAobmFtZSxvYmopIHdoZXJlIG5hbWUKLSAgICAjIGlzIGEgc3RyaW5nIGlkZW50aWZpZXIgYW5kIG9iaiB0aGUgQVNUIGVsZW1lbnQgcmV0dXJuZWQgYnkgdGhlIHBhcnNlci4KLSAgICAjCi0gICAgIyBIYW5kbGVyIGFyZSBuYW1lZCBhZnRlciB0aGUgbm9kZSBpZGVudGlmaWVycy4KLSAgICAjIFRPRE86IGNoZWNrIG5vZGUgbmFtZXMgYW5kIHJlbW92ZSB0aGUgc3dpdGNoIGluIGV4ZWN1dGUgd2l0aCBzb21lCi0gICAgIyBkeW5hbWljIGdldGF0dHIoKSBjYWxsIHRvIGZpbmQgbm9kZSBoYW5kbGVycy4KLSAgICAiIiJTaGVsbCBpbnRlcnByZXRlci4KLSAgICAKLSAgICBUaGUgZm9sbG93aW5nIGRlYnVnZ2luZyBmbGFncyBjYW4gYmUgcGFzc2VkOgotICAgIGRlYnVnLXBhcnNpbmcgLSBlbmFibGUgUExZIGRlYnVnZ2luZy4KLSAgICBkZWJ1Zy10cmVlIC0gcHJpbnQgdGhlIGdlbmVyYXRlZCBBU1QuCi0gICAgZGVidWctY21kIC0gdHJhY2UgY29tbWFuZCBleGVjdXRpb24gYmVmb3JlIHdvcmQgZXhwYW5zaW9uLCBwbHVzIGV4aXQgc3RhdHVzLgotICAgIGRlYnVnLXV0aWxpdHkgLSB0cmFjZSB1dGlsaXR5IGV4ZWN1dGlvbi4KLSAgICAiIiIKLSAgICAKLSAgICAjIExpc3Qgc3VwcG9ydGVkIGNvbW1hbmRzLgotICAgIENPTU1BTkRTID0gewotICAgICAgICAnY2F0JzogICAgICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfY2F0LCksCi0gICAgICAgICdjZCc6ICAgICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X2NkLCksCi0gICAgICAgICc6JzogICAgICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X2NvbG9uLCksCi0gICAgICAgICdlY2hvJzogICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X2VjaG8pLAotICAgICAgICAnZW52JzogICAgICBVdGlsaXR5KGJ1aWx0aW4udXRpbGl0eV9lbnYpLAotICAgICAgICAnZXhpdCc6ICAgICBVdGlsaXR5KGJ1aWx0aW4udXRpbGl0eV9leGl0KSwKLSAgICAgICAgJ2V4cG9ydCc6ICAgVXRpbGl0eShidWlsdGluLmJ1aWx0aW5fZXhwb3J0LCAgICAgaXNfc3BlY2lhbD0xKSwKLSAgICAgICAgJ2VncmVwJzogICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfZWdyZXApLAotICAgICAgICAnZmdyZXAnOiAgICBVdGlsaXR5KGJ1aWx0aW4udXRpbGl0eV9mZ3JlcCksCi0gICAgICAgICdndW56aXAnOiAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X2d1bnppcCksCi0gICAgICAgICdraWxsJzogICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X2tpbGwpLAotICAgICAgICAnbWtkaXInOiAgICBVdGlsaXR5KGJ1aWx0aW4udXRpbGl0eV9ta2RpciksCi0gICAgICAgICduZXRzdGF0JzogIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X25ldHN0YXQpLAotICAgICAgICAncHJpbnRmJzogICBVdGlsaXR5KGJ1aWx0aW4udXRpbGl0eV9wcmludGYpLAotICAgICAgICAncHdkJzogICAgICBVdGlsaXR5KGJ1aWx0aW4udXRpbGl0eV9wd2QpLAotICAgICAgICAncmV0dXJuJzogICBVdGlsaXR5KGJ1aWx0aW4uYnVpbHRpbl9yZXR1cm4sICAgICBpc19zcGVjaWFsPTEpLAotICAgICAgICAnc2VkJzogICAgICBVdGlsaXR5KGJ1aWx0aW4udXRpbGl0eV9zZWQsKSwKLSAgICAgICAgJ3NldCc6ICAgICAgVXRpbGl0eShidWlsdGluLmJ1aWx0aW5fc2V0LCksCi0gICAgICAgICdzaGlmdCc6ICAgIFV0aWxpdHkoYnVpbHRpbi5idWlsdGluX3NoaWZ0LCksCi0gICAgICAgICdzbGVlcCc6ICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X3NsZWVwLCksCi0gICAgICAgICdzb3J0JzogICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X3NvcnQsKSwKLSAgICAgICAgJ3RyYXAnOiAgICAgVXRpbGl0eShidWlsdGluLmJ1aWx0aW5fdHJhcCwgICAgICAgaXNfc3BlY2lhbD0xKSwKLSAgICAgICAgJ3RydWUnOiAgICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfdHJ1ZSksCi0gICAgICAgICd1bnNldCc6ICAgIFV0aWxpdHkoYnVpbHRpbi5idWlsdGluX3Vuc2V0LCAgICAgIGlzX3NwZWNpYWw9MSksCi0gICAgICAgICd3YWl0JzogICAgIFV0aWxpdHkoYnVpbHRpbi5idWlsdGluX3dhaXQsICAgICAgIGlzX3NwZWNpYWw9MSksCi0gICAgfQotICAgIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwd2QsIGRlYnVnZmxhZ3MgPSBbXSwgZW52PU5vbmUsIHJlZGlycz1Ob25lLCBzdGRpbj1Ob25lLAotICAgICAgICAgICAgICAgICBzdGRvdXQ9Tm9uZSwgc3RkZXJyPU5vbmUsIG9wdHM9T3B0aW9ucygpKToKLSAgICAgICAgc2VsZi5fZW52ID0gZW52Ci0gICAgICAgIGlmIHNlbGYuX2VudiBpcyBOb25lOgotICAgICAgICAgICAgc2VsZi5fZW52ID0gRW52aXJvbm1lbnQocHdkKQotICAgICAgICBzZWxmLl9jaGlsZHJlbiA9IHt9Ci0gICAgICAgICAgICAKLSAgICAgICAgc2VsZi5fcmVkaXJzID0gcmVkaXJzCi0gICAgICAgIHNlbGYuX2Nsb3NlX3JlZGlycyA9IEZhbHNlCi0gICAgICAgIAotICAgICAgICBpZiBzZWxmLl9yZWRpcnMgaXMgTm9uZToKLSAgICAgICAgICAgIGlmIHN0ZGluIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgc3RkaW4gPSBzeXMuc3RkaW4KLSAgICAgICAgICAgIGlmIHN0ZG91dCBpcyBOb25lOgotICAgICAgICAgICAgICAgIHN0ZG91dCA9IHN5cy5zdGRvdXQKLSAgICAgICAgICAgIGlmIHN0ZGVyciBpcyBOb25lOgotICAgICAgICAgICAgICAgIHN0ZGVyciA9IHN5cy5zdGRlcnIKLSAgICAgICAgICAgIHN0ZGluID0gRmlsZVdyYXBwZXIoJ3InLCBzdGRpbiwgRmFsc2UpCi0gICAgICAgICAgICBzdGRvdXQgPSBGaWxlV3JhcHBlcigndycsIHN0ZG91dCwgRmFsc2UpCi0gICAgICAgICAgICBzdGRlcnIgPSBGaWxlV3JhcHBlcigndycsIHN0ZGVyciwgRmFsc2UpCi0gICAgICAgICAgICBzZWxmLl9yZWRpcnMgPSBSZWRpcmVjdGlvbnMoc3RkaW4sIHN0ZG91dCwgc3RkZXJyKQotICAgICAgICAgICAgc2VsZi5fY2xvc2VfcmVkaXJzID0gVHJ1ZQotICAgICAgICAgICAgCi0gICAgICAgIHNlbGYuX2RlYnVnZmxhZ3MgPSBsaXN0KGRlYnVnZmxhZ3MpCi0gICAgICAgIHNlbGYuX2xvZ2ZpbGUgPSBzeXMuc3RkZXJyCi0gICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRzCi0gICAgICAgIAotICAgIGRlZiBjbG9zZShzZWxmKToKLSAgICAgICAgIiIiTXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgaW50ZXJwcmV0ZXIgaXMgbm8gbG9uZ2VyIHVzZWQuIiIiCi0gICAgICAgIHNjcmlwdCA9IHNlbGYuX2Vudi50cmFwcy5nZXQoJ0VYSVQnKQotICAgICAgICBpZiBzY3JpcHQ6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgc2VsZi5leGVjdXRlX3NjcmlwdChzY3JpcHQ9c2NyaXB0KQotICAgICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgICAgIHBhc3MKLQotICAgICAgICBpZiBzZWxmLl9yZWRpcnMgaXMgbm90IE5vbmUgYW5kIHNlbGYuX2Nsb3NlX3JlZGlyczoKLSAgICAgICAgICAgIHNlbGYuX3JlZGlycy5jbG9zZSgpCi0gICAgICAgICAgICBzZWxmLl9yZWRpcnMgPSBOb25lCi0gICAgICAgICAgICAKLSAgICBkZWYgbG9nKHNlbGYsIHMpOgotICAgICAgICBzZWxmLl9sb2dmaWxlLndyaXRlKHMpCi0gICAgICAgIHNlbGYuX2xvZ2ZpbGUuZmx1c2goKQotICAgICAgICAgICAgCi0gICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6Ci0gICAgICAgIHJldHVybiBzZWxmLl9lbnZba2V5XQotICAgICAgICAKLSAgICBkZWYgX19zZXRpdGVtX18oc2VsZiwga2V5LCB2YWx1ZSk6Ci0gICAgICAgIHNlbGYuX2VudltrZXldID0gdmFsdWUKLQotICAgIGRlZiBvcHRpb25zKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fb3B0aW9ucwotCi0gICAgZGVmIHJlZGlyZWN0KHNlbGYsIHJlZGlycywgaW9zKToKLSAgICAgICAgZGVmIGFkZF9yZWRpcihpbyk6Ci0gICAgICAgICAgICBpZiBpc2luc3RhbmNlKGlvLCBweXNoeWFjYy5JT1JlZGlyZWN0KToKLSAgICAgICAgICAgICAgICByZWRpcnMuYWRkKHNlbGYsIGlvLm9wLCBpby5maWxlbmFtZSwgaW8uaW9fbnVtYmVyKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZWRpcnMuYWRkX2hlcmVfZG9jdW1lbnQoc2VsZiwgaW8ubmFtZSwgaW8uY29udGVudCwgaW8uaW9fbnVtYmVyKQotICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgbWFwKGFkZF9yZWRpciwgaW9zKQotICAgICAgICByZXR1cm4gcmVkaXJzCi0gICAgICAgICAgICAKLSAgICBkZWYgZXhlY3V0ZV9zY3JpcHQoc2VsZiwgc2NyaXB0PU5vbmUsIGFzdD1Ob25lLCBzb3VyY2VkPUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHRwYXRoPU5vbmUpOgotICAgICAgICAiIiJJZiBzY3JpcHQgaXMgbm90IE5vbmUsIHBhcnNlIHRoZSBpbnB1dC4gT3RoZXJ3aXNlIHRha2VzIHRoZSBzdXBwbGllZAotICAgICAgICBBU1QuIFRoZW4gZXhlY3V0ZSB0aGUgQVNULgotICAgICAgICBSZXR1cm4gdGhlIHNjcmlwdCBleGl0IHN0YXR1cy4KLSAgICAgICAgIiIiCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGlmIHNjcmlwdHBhdGggaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgc2VsZi5fZW52WycwJ10gPSBvcy5wYXRoLmFic3BhdGgoc2NyaXB0cGF0aCkKLQotICAgICAgICAgICAgaWYgc2NyaXB0IGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIGRlYnVnX3BhcnNpbmcgPSAoJ2RlYnVnLXBhcnNpbmcnIGluIHNlbGYuX2RlYnVnZmxhZ3MpICAgIAotICAgICAgICAgICAgICAgIGNtZHMsIHNjcmlwdCA9IHB5c2h5YWNjLnBhcnNlKHNjcmlwdCwgVHJ1ZSwgZGVidWdfcGFyc2luZykKLSAgICAgICAgICAgICAgICBpZiAnZGVidWctdHJlZScgaW4gc2VsZi5fZGVidWdmbGFnczoKLSAgICAgICAgICAgICAgICAgICAgcHlzaHlhY2MucHJpbnRfY29tbWFuZHMoY21kcywgc2VsZi5fbG9nZmlsZSkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5fbG9nZmlsZS5mbHVzaCgpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGNtZHMsIHNjcmlwdCA9IGFzdCwgJycgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBzdGF0dXMgPSAwCi0gICAgICAgICAgICBmb3IgY21kIGluIGNtZHM6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBzdGF0dXMgPSBzZWxmLmV4ZWN1dGUoY21kKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGl0U2lnbmFsIGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHNvdXJjZWQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgICAgICAgICBzdGF0dXMgPSBpbnQoZS5hcmdzWzBdKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RhdHVzCi0gICAgICAgICAgICAgICAgZXhjZXB0IFNoZWxsRXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuX2VudlsnPyddID0gMQotICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBzZWxmLl9kZWJ1Z2ZsYWdzIG9yICdkZWJ1Zy1jbWQnIGluIHNlbGYuX2RlYnVnZmxhZ3M6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYubG9nKCdyZXR1cm5jb2RlICcgKyBzdHIoc3RhdHVzKSsgJ1xuJykKLSAgICAgICAgICAgIHJldHVybiBzdGF0dXMKLSAgICAgICAgZXhjZXB0IENvbW1hbmROb3RGb3VuZCBhcyBlOgotICAgICAgICAgICAgcHJpbnQgPj5zZWxmLl9yZWRpcnMuc3RkZXJyLCBzdHIoZSkKLSAgICAgICAgICAgIHNlbGYuX3JlZGlycy5zdGRlcnIuZmx1c2goKQotICAgICAgICAgICAgIyBDb21tYW5kIG5vdCBmb3VuZCBieSBub24taW50ZXJhY3RpdmUgc2hlbGwKLSAgICAgICAgICAgICMgcmV0dXJuIDEyNwotICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgZXhjZXB0IFJlZGlyZWN0aW9uRXJyb3IgYXMgZToKLSAgICAgICAgICAgICMgVE9ETzogc2hvdWxkIGJlIGhhbmRsZWQgZGVwZW5kaW5nIG9uIHRoZSB1dGlsaXR5IHN0YXR1cwotICAgICAgICAgICAgcHJpbnQgPj5zZWxmLl9yZWRpcnMuc3RkZXJyLCBzdHIoZSkKLSAgICAgICAgICAgIHNlbGYuX3JlZGlycy5zdGRlcnIuZmx1c2goKQotICAgICAgICAgICAgIyBDb21tYW5kIG5vdCBmb3VuZCBieSBub24taW50ZXJhY3RpdmUgc2hlbGwKLSAgICAgICAgICAgICMgcmV0dXJuIDEyNwotICAgICAgICAgICAgcmFpc2UKLQotICAgIGRlZiBkb3Rjb21tYW5kKHNlbGYsIGVudiwgYXJncyk6Ci0gICAgICAgIGlmIGxlbihhcmdzKSA8IDE6Ci0gICAgICAgICAgICByYWlzZSBTaGVsbEVycm9yKCcuIGV4cGVjdHMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50JykKLSAgICAgICAgcGF0aCA9IGFyZ3NbMF0KLSAgICAgICAgaWYgJy8nIG5vdCBpbiBwYXRoOgotICAgICAgICAgICAgZm91bmQgPSBlbnYuZmluZF9pbl9wYXRoKGFyZ3NbMF0sIFRydWUpCi0gICAgICAgICAgICBpZiBmb3VuZDoKLSAgICAgICAgICAgICAgICBwYXRoID0gZm91bmRbMF0KLSAgICAgICAgc2NyaXB0ID0gZmlsZShwYXRoKS5yZWFkKCkKLSAgICAgICAgcmV0dXJuIHNlbGYuZXhlY3V0ZV9zY3JpcHQoc2NyaXB0PXNjcmlwdCwgc291cmNlZD1UcnVlKQotCi0gICAgZGVmIGV4ZWN1dGUoc2VsZiwgdG9rZW4sIHJlZGlycz1Ob25lKToKLSAgICAgICAgIiIiRXhlY3V0ZSBhbmQgQVNUIHN1YnRyZWUgd2l0aCBzdXBwbGllZCByZWRpcmVjdGlvbnMgb3ZlcnJpZGluZyBkZWZhdWx0Ci0gICAgICAgIGludGVycHJldGVyIG9uZXMuCi0gICAgICAgIFJldHVybiB0aGUgZXhpdCBzdGF0dXMuCi0gICAgICAgICIiIgotICAgICAgICBpZiBub3QgdG9rZW46Ci0gICAgICAgICAgICByZXR1cm4gMAotICAgICAgICAgICAgCi0gICAgICAgIGlmIHJlZGlycyBpcyBOb25lOgotICAgICAgICAgICAgcmVkaXJzID0gc2VsZi5fcmVkaXJzCi0gICAgICAgICAgICAKLSAgICAgICAgaWYgaXNpbnN0YW5jZSh0b2tlbiwgbGlzdCk6Ci0gICAgICAgICAgICAjIENvbW1hbmRzIHNlcXVlbmNlCi0gICAgICAgICAgICByZXMgPSAwCi0gICAgICAgICAgICBmb3IgdCBpbiB0b2tlbjoKLSAgICAgICAgICAgICAgICByZXMgPSBzZWxmLmV4ZWN1dGUodCwgcmVkaXJzKQotICAgICAgICAgICAgcmV0dXJuIHJlcwotCi0gICAgICAgIHR5cGUsIHZhbHVlID0gdG9rZW4KLSAgICAgICAgc3RhdHVzID0gMAotICAgICAgICBpZiB0eXBlPT0nc2ltcGxlX2NvbW1hbmQnOgotICAgICAgICAgICAgcmVkaXJzX2NvcHkgPSByZWRpcnMuY2xvbmUoKQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICMgVE9ETzogZGVmaW5lIGFuZCBoYW5kbGUgY29tbWFuZCByZXR1cm4gdmFsdWVzCi0gICAgICAgICAgICAgICAgIyBUT0RPOiBpbXBsZW1lbnQgc2V0IC1lCi0gICAgICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5fZXhlY3V0ZV9zaW1wbGVfY29tbWFuZCh2YWx1ZSwgcmVkaXJzX2NvcHkpCi0gICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgIHJlZGlyc19jb3B5LmNsb3NlKCkKLSAgICAgICAgZWxpZiB0eXBlPT0ncGlwZWxpbmUnOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5fZXhlY3V0ZV9waXBlbGluZSh2YWx1ZSwgcmVkaXJzKQotICAgICAgICBlbGlmIHR5cGU9PSdhbmRfb3InOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5fZXhlY3V0ZV9hbmRfb3IodmFsdWUsIHJlZGlycykKLSAgICAgICAgZWxpZiB0eXBlPT0nZm9yX2NsYXVzZSc6Ci0gICAgICAgICAgICBzdGF0dXMgPSBzZWxmLl9leGVjdXRlX2Zvcl9jbGF1c2UodmFsdWUsIHJlZGlycykKLSAgICAgICAgZWxpZiB0eXBlPT0nd2hpbGVfY2xhdXNlJzoKLSAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuX2V4ZWN1dGVfd2hpbGVfY2xhdXNlKHZhbHVlLCByZWRpcnMpCi0gICAgICAgIGVsaWYgdHlwZT09J2Z1bmN0aW9uX2RlZmluaXRpb24nOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5fZXhlY3V0ZV9mdW5jdGlvbl9kZWZpbml0aW9uKHZhbHVlLCByZWRpcnMpCi0gICAgICAgIGVsaWYgdHlwZT09J2JyYWNlX2dyb3VwJzoKLSAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuX2V4ZWN1dGVfYnJhY2VfZ3JvdXAodmFsdWUsIHJlZGlycykKLSAgICAgICAgZWxpZiB0eXBlPT0naWZfY2xhdXNlJzoKLSAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuX2V4ZWN1dGVfaWZfY2xhdXNlKHZhbHVlLCByZWRpcnMpCi0gICAgICAgIGVsaWYgdHlwZT09J3N1YnNoZWxsJzoKLSAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuc3Vic2hlbGwoYXN0PXZhbHVlLmNtZHMsIHJlZGlycz1yZWRpcnMpCi0gICAgICAgIGVsaWYgdHlwZT09J2FzeW5jJzoKLSAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuX2FzeW5jbGlzdCh2YWx1ZSkKLSAgICAgICAgZWxpZiB0eXBlPT0ncmVkaXJlY3RfbGlzdCc6Ci0gICAgICAgICAgICByZWRpcnNfY29weSA9IHNlbGYucmVkaXJlY3QocmVkaXJzLmNsb25lKCksIHZhbHVlLnJlZGlycykKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBzdGF0dXMgPSBzZWxmLmV4ZWN1dGUodmFsdWUuY21kLCByZWRpcnNfY29weSkKLSAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgcmVkaXJzX2NvcHkuY2xvc2UoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignVW5zdXBwb3J0ZWQgdG9rZW4gdHlwZSAnICsgdHlwZSkKLQotICAgICAgICBpZiBzdGF0dXMgPCAwOgotICAgICAgICAgICAgc3RhdHVzID0gMjU1Ci0gICAgICAgIHJldHVybiBzdGF0dXMKLSAgICAgICAgICAgIAotICAgIGRlZiBfZXhlY3V0ZV9pZl9jbGF1c2Uoc2VsZiwgaWZfY2xhdXNlLCByZWRpcnMpOgotICAgICAgICBjb25kX3N0YXR1cyA9IHNlbGYuZXhlY3V0ZShpZl9jbGF1c2UuY29uZCwgcmVkaXJzKQotICAgICAgICBpZiBjb25kX3N0YXR1cz09MDoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLmV4ZWN1dGUoaWZfY2xhdXNlLmlmX2NtZHMsIHJlZGlycykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLmV4ZWN1dGUoaWZfY2xhdXNlLmVsc2VfY21kcywgcmVkaXJzKQotICAgICAgCi0gICAgZGVmIF9leGVjdXRlX2JyYWNlX2dyb3VwKHNlbGYsIGdyb3VwLCByZWRpcnMpOgotICAgICAgICBzdGF0dXMgPSAwCi0gICAgICAgIGZvciBjbWQgaW4gZ3JvdXAuY21kczoKLSAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuZXhlY3V0ZShjbWQsIHJlZGlycykKLSAgICAgICAgcmV0dXJuIHN0YXR1cwotICAgICAgICAgICAgCi0gICAgZGVmIF9leGVjdXRlX2Z1bmN0aW9uX2RlZmluaXRpb24oc2VsZiwgZnVuZGVmLCByZWRpcnMpOgotICAgICAgICBzZWxmLl9lbnYuZGVmaW5lX2Z1bmN0aW9uKGZ1bmRlZi5uYW1lLCBmdW5kZWYuYm9keSkKLSAgICAgICAgcmV0dXJuIDAKLSAgICAgICAgICAgIAotICAgIGRlZiBfZXhlY3V0ZV93aGlsZV9jbGF1c2Uoc2VsZiwgd2hpbGVfY2xhdXNlLCByZWRpcnMpOgotICAgICAgICBzdGF0dXMgPSAwCi0gICAgICAgIHdoaWxlIDE6Ci0gICAgICAgICAgICBjb25kX3N0YXR1cyA9IDAKLSAgICAgICAgICAgIGZvciBjb25kIGluIHdoaWxlX2NsYXVzZS5jb25kaXRpb246Ci0gICAgICAgICAgICAgICAgY29uZF9zdGF0dXMgPSBzZWxmLmV4ZWN1dGUoY29uZCwgcmVkaXJzKQotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgY29uZF9zdGF0dXM6Ci0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIGZvciBjbWQgaW4gd2hpbGVfY2xhdXNlLmNtZHM6Ci0gICAgICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5leGVjdXRlKGNtZCwgcmVkaXJzKQotICAgICAgICAgICAgICAgIAotICAgICAgICByZXR1cm4gc3RhdHVzCi0gICAgICAgICAgICAKLSAgICBkZWYgX2V4ZWN1dGVfZm9yX2NsYXVzZShzZWxmLCBmb3JfY2xhdXNlLCByZWRpcnMpOgotICAgICAgICBpZiBub3QgaXNfbmFtZShmb3JfY2xhdXNlLm5hbWUpOgotICAgICAgICAgICAgcmFpc2UgU2hlbGxTeW50YXhFcnJvcignJXMgaXMgbm90IGEgdmFsaWQgbmFtZScgJSByZXByKGZvcl9jbGF1c2UubmFtZSkpCi0gICAgICAgIGl0ZW1zID0gbWFwcGVuZChzZWxmLmV4cGFuZF90b2tlbiwgZm9yX2NsYXVzZS5pdGVtcykKLSAgICAgICAgCi0gICAgICAgIHN0YXR1cyA9IDAgICAgCi0gICAgICAgIGZvciBpdGVtIGluIGl0ZW1zOgotICAgICAgICAgICAgc2VsZi5fZW52W2Zvcl9jbGF1c2UubmFtZV0gPSBpdGVtCi0gICAgICAgICAgICBmb3IgY21kIGluIGZvcl9jbGF1c2UuY21kczoKLSAgICAgICAgICAgICAgICBzdGF0dXMgPSBzZWxmLmV4ZWN1dGUoY21kLCByZWRpcnMpCi0gICAgICAgIHJldHVybiBzdGF0dXMKLSAgICAgICAgICAgIAotICAgIGRlZiBfZXhlY3V0ZV9hbmRfb3Ioc2VsZiwgb3JfYW5kLCByZWRpcnMpOgotICAgICAgICByZXMgPSBzZWxmLmV4ZWN1dGUob3JfYW5kLmxlZnQsIHJlZGlycykgICAgICAgIAotICAgICAgICBpZiAob3JfYW5kLm9wPT0nJiYnIGFuZCByZXM9PTApIG9yIChvcl9hbmQub3AhPScmJicgYW5kIHJlcyE9MCk6Ci0gICAgICAgICAgICByZXMgPSBzZWxmLmV4ZWN1dGUob3JfYW5kLnJpZ2h0LCByZWRpcnMpCi0gICAgICAgIHJldHVybiByZXMKLSAgICAgICAgICAgIAotICAgIGRlZiBfZXhlY3V0ZV9waXBlbGluZShzZWxmLCBwaXBlbGluZSwgcmVkaXJzKTogICAgICAgICAgICAKLSAgICAgICAgaWYgbGVuKHBpcGVsaW5lLmNvbW1hbmRzKT09MToKLSAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuZXhlY3V0ZShwaXBlbGluZS5jb21tYW5kc1swXSwgcmVkaXJzKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgIyBFeGVjdXRlIGFsbCBjb21tYW5kcyBvbmUgYWZ0ZXIgdGhlIG90aGVyCi0gICAgICAgICAgICBzdGF0dXMgPSAwCi0gICAgICAgICAgICBpbnBhdGgsIG91dHBhdGggPSBOb25lLCBOb25lCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgIyBDb21tYW5kcyBpbnB1dHMgYW5kIG91dHB1dHMgY2Fubm90IHJlYWxseSBiZSBwbHVnZ2VkIGFzIGRvbmUKLSAgICAgICAgICAgICAgICAjIGJ5IGEgcmVhbCBzaGVsbC4gUnVuIGNvbW1hbmRzIHNlcXVlbnRpYWxseSBhbmQgY2hhaW4gdGhlaXIKLSAgICAgICAgICAgICAgICAjIGlucHV0L291dHB1dCB0aHJvdWdodCB0ZW1wb3JhcnkgZmlsZXMuCi0gICAgICAgICAgICAgICAgdG1wZmQsIGlucGF0aCA9IHRlbXBmaWxlLm1rc3RlbXAoKQotICAgICAgICAgICAgICAgIG9zLmNsb3NlKHRtcGZkKQotICAgICAgICAgICAgICAgIHRtcGZkLCBvdXRwYXRoID0gdGVtcGZpbGUubWtzdGVtcCgpCi0gICAgICAgICAgICAgICAgb3MuY2xvc2UodG1wZmQpCi0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgaW5wYXRoID0gd2luMzJfdG9fdW5peF9wYXRoKGlucGF0aCkKLSAgICAgICAgICAgICAgICBvdXRwYXRoID0gd2luMzJfdG9fdW5peF9wYXRoKG91dHBhdGgpCi0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgZm9yIGksIGNtZCBpbiBlbnVtZXJhdGUocGlwZWxpbmUuY29tbWFuZHMpOgotICAgICAgICAgICAgICAgICAgICBjYWxsX3JlZGlycyA9IHJlZGlycy5jbG9uZSgpCi0gICAgICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGkhPTA6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbF9yZWRpcnMuYWRkKHNlbGYsICc8JywgaW5wYXRoKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgaSE9bGVuKHBpcGVsaW5lLmNvbW1hbmRzKS0xOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxfcmVkaXJzLmFkZChzZWxmLCAnPicsIG91dHBhdGgpCi0gICAgICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuZXhlY3V0ZShjbWQsIGNhbGxfcmVkaXJzKQotICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgICAgICAjIENoYWluIGlucHV0cy9vdXRwdXRzCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnBhdGgsIG91dHBhdGggPSBvdXRwYXRoLCBpbnBhdGgKLSAgICAgICAgICAgICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxfcmVkaXJzLmNsb3NlKCkgICAgICAgICAgICAKLSAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgaWYgaW5wYXRoOiBvcy5yZW1vdmUoaW5wYXRoKQotICAgICAgICAgICAgICAgIGlmIG91dHBhdGg6IG9zLnJlbW92ZShvdXRwYXRoKQotICAgICAgICAKLSAgICAgICAgaWYgcGlwZWxpbmUucmV2ZXJzZV9zdGF0dXM6Ci0gICAgICAgICAgICBzdGF0dXMgPSBpbnQobm90IHN0YXR1cykKLSAgICAgICAgc2VsZi5fZW52Wyc/J10gPSBzdGF0dXMKLSAgICAgICAgcmV0dXJuIHN0YXR1cwotICAgICAgICAKLSAgICBkZWYgX2V4ZWN1dGVfZnVuY3Rpb24oc2VsZiwgbmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgKm90aGVycyk6Ci0gICAgICAgIGFzc2VydCBpbnRlcnAgaXMgc2VsZgotICAgICAgICAKLSAgICAgICAgZnVuYyA9IGVudi5nZXRfZnVuY3Rpb24obmFtZSkKLSAgICAgICAgI1NldCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMKLSAgICAgICAgcHJldmFyZ3MgPSBOb25lCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHByZXZhcmdzID0gZW52LnNldF9wb3NpdGlvbmFsX2FyZ3MoYXJncykKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICByZWRpcnMgPSBSZWRpcmVjdGlvbnMoc3RkaW4uZHVwKCksIHN0ZG91dC5kdXAoKSwgc3RkZXJyLmR1cCgpKQotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5leGVjdXRlKGZ1bmMsIHJlZGlycykKLSAgICAgICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgICAgICByZWRpcnMuY2xvc2UoKQotICAgICAgICAgICAgZXhjZXB0IFJldHVyblNpZ25hbCBhcyBlOgotICAgICAgICAgICAgICAgIHN0YXR1cyA9IGludChlLmFyZ3NbMF0pCi0gICAgICAgICAgICAgICAgZW52Wyc/J10gPSBzdGF0dXMKLSAgICAgICAgICAgIHJldHVybiBzdGF0dXMKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICNSZXNldCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMKLSAgICAgICAgICAgIGlmIHByZXZhcmdzIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIGVudi5zZXRfcG9zaXRpb25hbF9hcmdzKHByZXZhcmdzKQotICAgICAgICAgICAgICAgIAotICAgIGRlZiBfZXhlY3V0ZV9zaW1wbGVfY29tbWFuZChzZWxmLCB0b2tlbiwgcmVkaXJzKToKLSAgICAgICAgIiIiQ2FuIHJhaXNlIFJldHVyblNpZ25hbCB3aGVuIHJldHVybiBidWlsdGluIGlzIGNhbGxlZCwgRXhpdFNpZ25hbCB3aGVuCi0gICAgICAgIGV4aXQgaXMgY2FsbGVkLCBhbmQgb3RoZXIgc2hlbGwgZXhjZXB0aW9ucyB1cG9uIGJ1aWx0aW4gZmFpbHVyZXMuCi0gICAgICAgICIiIgotICAgICAgICBkZWJ1Z19jb21tYW5kID0gJ2RlYnVnLWNtZCcgaW4gc2VsZi5fZGVidWdmbGFncwotICAgICAgICBpZiBkZWJ1Z19jb21tYW5kOgotICAgICAgICAgICAgc2VsZi5sb2coJ3dvcmQnICsgcmVwcih0b2tlbi53b3JkcykgKyAnXG4nKQotICAgICAgICAgICAgc2VsZi5sb2coJ2Fzc2lnbnMnICsgcmVwcih0b2tlbi5hc3NpZ25zKSArICdcbicpCi0gICAgICAgICAgICBzZWxmLmxvZygncmVkaXJzJyArIHJlcHIodG9rZW4ucmVkaXJzKSArICdcbicpCi0gICAgICAgIAotICAgICAgICBpc19zcGVjaWFsID0gTm9uZQotICAgICAgICBlbnYgPSBzZWxmLl9lbnYKLSAgICAgICAgCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgICMgV29yZCBleHBhbnNpb24KLSAgICAgICAgICAgIGFyZ3MgPSBbXQotICAgICAgICAgICAgZm9yIHdvcmQgaW4gdG9rZW4ud29yZHM6ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGFyZ3MgKz0gc2VsZi5leHBhbmRfdG9rZW4od29yZCkKLSAgICAgICAgICAgICAgICBpZiBpc19zcGVjaWFsIGlzIE5vbmUgYW5kIGFyZ3M6Ci0gICAgICAgICAgICAgICAgICAgIGlzX3NwZWNpYWwgPSBlbnYuaXNfZnVuY3Rpb24oYXJnc1swXSkgb3IgXAotICAgICAgICAgICAgICAgICAgICAgICAgKGFyZ3NbMF0gaW4gc2VsZi5DT01NQU5EUyBhbmQgc2VsZi5DT01NQU5EU1thcmdzWzBdXS5pc19zcGVjaWFsKQotICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiBkZWJ1Z19jb21tYW5kOgotICAgICAgICAgICAgICAgIHNlbGYubG9nKCdfZXhlY3V0ZV9zaW1wbGVfY29tbWFuZCcgKyBzdHIoYXJncykgKyAnXG4nKQotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgbm90IGFyZ3M6Ci0gICAgICAgICAgICAgICAgIyBSZWRpcmVjdGlvbnMgaGFwcGVuIGlzIGEgc3Vic2hlbGwKLSAgICAgICAgICAgICAgICByZWRpcnMgPSByZWRpcnMuY2xvbmUoKQotICAgICAgICAgICAgZWxpZiBub3QgaXNfc3BlY2lhbDoKLSAgICAgICAgICAgICAgICBlbnYgPSBzZWxmLl9lbnYuY2xvbmUoKQotICAgICAgICAgICAgCi0gICAgICAgICAgICAjIFJlZGlyZWN0aW9ucwotICAgICAgICAgICAgc2VsZi5yZWRpcmVjdChyZWRpcnMsIHRva2VuLnJlZGlycykKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICMgVmFyaWFibGVzIGFzc2lnbm1lbnRzCi0gICAgICAgICAgICByZXMgPSAwCi0gICAgICAgICAgICBmb3IgdHlwZSwoayx2KSBpbiB0b2tlbi5hc3NpZ25zOgotICAgICAgICAgICAgICAgIHN0YXR1cywgZXhwYW5kZWQgPSBzZWxmLmV4cGFuZF92YXJpYWJsZSgoayx2KSkKLSAgICAgICAgICAgICAgICBpZiBzdGF0dXMgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIHJlcyA9IHN0YXR1cwotICAgICAgICAgICAgICAgIGlmIGFyZ3M6Ci0gICAgICAgICAgICAgICAgICAgIGVudi5leHBvcnQoaywgZXhwYW5kZWQpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgZW52W2tdID0gZXhwYW5kZWQKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIGFyZ3MgYW5kIGFyZ3NbMF0gaW4gKCcuJywgJ3NvdXJjZScpOgotICAgICAgICAgICAgICAgIHJlcyA9IHNlbGYuZG90Y29tbWFuZChlbnYsIGFyZ3NbMTpdKQotICAgICAgICAgICAgZWxpZiBhcmdzOgotICAgICAgICAgICAgICAgIGlmIGFyZ3NbMF0gaW4gc2VsZi5DT01NQU5EUzoKLSAgICAgICAgICAgICAgICAgICAgY29tbWFuZCA9IHNlbGYuQ09NTUFORFNbYXJnc1swXV0KLSAgICAgICAgICAgICAgICBlbGlmIGVudi5pc19mdW5jdGlvbihhcmdzWzBdKToKLSAgICAgICAgICAgICAgICAgICAgY29tbWFuZCA9IFV0aWxpdHkoc2VsZi5fZXhlY3V0ZV9mdW5jdGlvbiwgaXNfc3BlY2lhbD1UcnVlKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCAnLycgaW4gYXJnc1swXS5yZXBsYWNlKCdcXCcsICcvJyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjbWQgPSBlbnYuZmluZF9pbl9wYXRoKGFyZ3NbMF0pCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgY21kOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgVE9ETzogdGVzdCBlcnJvciBjb2RlIG9uIHVua25vd24gY29tbWFuZCA9PiAxMjcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBDb21tYW5kTm90Rm91bmQoJ1Vua25vd24gY29tbWFuZDogIiVzIicgJSBhcmdzWzBdKQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgIyBIYW5kbGUgY29tbWFuZHMgbGlrZSAnL2N5Z2RyaXZlL2MvZm9vLmJhdCcKLSAgICAgICAgICAgICAgICAgICAgICAgIGNtZCA9IGN5Z3dpbl90b193aW5kb3dzX3BhdGgoYXJnc1swXSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhjbWQpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIENvbW1hbmROb3RGb3VuZCgnJXM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnknICUgYXJnc1swXSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHNoZWJhbmcgPSByZXNvbHZlX3NoZWJhbmcoY21kKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgc2hlYmFuZzoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWQgPSBzaGViYW5nCi0gICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZCA9IFtjbWRdCi0gICAgICAgICAgICAgICAgICAgIGFyZ3NbMDoxXSA9IGNtZAotICAgICAgICAgICAgICAgICAgICBjb21tYW5kID0gVXRpbGl0eShidWlsdGluLnJ1bl9jb21tYW5kKQotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICMgQ29tbWFuZCBleGVjdXRpb24KLSAgICAgICAgICAgICAgICBpZiAnZGVidWctY21kJyBpbiBzZWxmLl9kZWJ1Z2ZsYWdzOgotICAgICAgICAgICAgICAgICAgICBzZWxmLmxvZygncmVkaXJlY3Rpb25zICcgKyBzdHIocmVkaXJzKSArICdcbicpCi0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIHJlcyA9IGNvbW1hbmQuZnVuYyhhcmdzWzBdLCBhcmdzWzE6XSwgc2VsZiwgZW52LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWRpcnMuc3RkaW4oKSwgcmVkaXJzLnN0ZG91dCgpLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkaXJzLnN0ZGVycigpLCBzZWxmLl9kZWJ1Z2ZsYWdzKQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiBzZWxmLl9lbnYuaGFzX29wdCgnLXgnKToKLSAgICAgICAgICAgICAgICAjIFRyYWNlIGNvbW1hbmQgZXhlY3V0aW9uIGluIHNoZWxsIGVudmlyb25tZW50Ci0gICAgICAgICAgICAgICAgIyBCVUc6IHdvdWxkIGJlIGhhcmQgdG8gcmVwcm9kdWNlIGEgcmVhbCBzaGVsbCBiZWhhdmlvdXIgc2luY2UKLSAgICAgICAgICAgICAgICAjIHRoZSBBU1QgaXMgbm90IGFubm90YXRlZCB3aXRoIHNvdXJjZSBsaW5lcy90b2tlbnMuCi0gICAgICAgICAgICAgICAgc2VsZi5fcmVkaXJzLnN0ZG91dCgpLndyaXRlKCcgJy5qb2luKGFyZ3MpKQotICAgICAgICAgICAgICAgIAotICAgICAgICBleGNlcHQgUmV0dXJuU2lnbmFsOgotICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgZXhjZXB0IFNoZWxsRXJyb3IgYXMgZToKLSAgICAgICAgICAgIGlmIGlzX3NwZWNpYWwgb3IgaXNpbnN0YW5jZShlLCAoRXhpdFNpZ25hbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hlbGxTeW50YXhFcnJvciwgRXhwYW5zaW9uRXJyb3IpKToKLSAgICAgICAgICAgICAgICByYWlzZSBlCi0gICAgICAgICAgICBzZWxmLl9yZWRpcnMuc3RkZXJyKCkud3JpdGUoc3RyKGUpKydcbicpCi0gICAgICAgICAgICByZXR1cm4gMQotCi0gICAgICAgIHJldHVybiByZXMKLQotICAgIGRlZiBleHBhbmRfdG9rZW4oc2VsZiwgd29yZCk6Ci0gICAgICAgICIiIkV4cGFuZCBhIHdvcmQgYXMgc3BlY2lmaWVkIGluIFsyLjYgV29yZCBFeHBhbnNpb25zXS4gUmV0dXJuIHRoZSBsaXN0Ci0gICAgICAgIG9mIGV4cGFuZGVkIHdvcmRzLgotICAgICAgICAiIiIKLSAgICAgICAgc3RhdHVzLCB3dHJlZXMgPSBzZWxmLl9leHBhbmRfd29yZCh3b3JkKQotICAgICAgICByZXR1cm4gbWFwKHB5c2hsZXgud29yZHRyZWVfYXNfc3RyaW5nLCB3dHJlZXMpCi0gICAgICAgIAotICAgIGRlZiBleHBhbmRfdmFyaWFibGUoc2VsZiwgd29yZCk6Ci0gICAgICAgICIiIlJldHVybiBhIHN0YXR1cyBjb2RlIChvciBOb25lIGlmIG5vIGNvbW1hbmQgZXhwYW5zaW9uIG9jY3VycmVkKQotICAgICAgICBhbmQgYSBzaW5nbGUgd29yZC4KLSAgICAgICAgIiIiCi0gICAgICAgIHN0YXR1cywgd3RyZWVzID0gc2VsZi5fZXhwYW5kX3dvcmQod29yZCwgcGF0aG5hbWU9RmFsc2UsIHNwbGl0PUZhbHNlKQotICAgICAgICB3b3JkcyA9IG1hcChweXNobGV4LndvcmR0cmVlX2FzX3N0cmluZywgd3RyZWVzKQotICAgICAgICBhc3NlcnQgbGVuKHdvcmRzKT09MQotICAgICAgICByZXR1cm4gc3RhdHVzLCB3b3Jkc1swXQotICAgICAgICAKLSAgICBkZWYgZXhwYW5kX2hlcmVfZG9jdW1lbnQoc2VsZiwgd29yZCk6Ci0gICAgICAgICIiIlJldHVybiB0aGUgZXhwYW5kZWQgZG9jdW1lbnQgYXMgYSBzaW5nbGUgd29yZC4gVGhlIGhlcmUgZG9jdW1lbnQgaXMgCi0gICAgICAgIGFzc3VtZWQgdG8gYmUgdW5xdW90ZWQuCi0gICAgICAgICIiIgotICAgICAgICBzdGF0dXMsIHd0cmVlcyA9IHNlbGYuX2V4cGFuZF93b3JkKHdvcmQsIHBhdGhuYW1lPUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwbGl0PUZhbHNlLCBoZXJlX2RvY3VtZW50PVRydWUpCi0gICAgICAgIHdvcmRzID0gbWFwKHB5c2hsZXgud29yZHRyZWVfYXNfc3RyaW5nLCB3dHJlZXMpCi0gICAgICAgIGFzc2VydCBsZW4od29yZHMpPT0xCi0gICAgICAgIHJldHVybiB3b3Jkc1swXQotICAgICAgICAKLSAgICBkZWYgZXhwYW5kX3JlZGlyZWN0aW9uKHNlbGYsIHdvcmQpOgotICAgICAgICAiIiJSZXR1cm4gYSBzaW5nbGUgd29yZC4iIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuZXhwYW5kX3ZhcmlhYmxlKHdvcmQpWzFdCi0gICAgICAgIAotICAgIGRlZiBnZXRfZW52KHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fZW52Ci0gICAgICAgIAotICAgIGRlZiBfZXhwYW5kX3dvcmQoc2VsZiwgdG9rZW4sIHBhdGhuYW1lPVRydWUsIHNwbGl0PVRydWUsIGhlcmVfZG9jdW1lbnQ9RmFsc2UpOgotICAgICAgICB3dHJlZSA9IHB5c2hsZXgubWFrZV93b3JkdHJlZSh0b2tlblsxXSwgaGVyZV9kb2N1bWVudD1oZXJlX2RvY3VtZW50KQotICAgICAgICAKLSAgICAgICAgIyBUT0RPOiBpbXBsZW1lbnQgdGlsZGUgZXhwYW5zaW9uCi0gICAgICAgIGRlZiBleHBhbmQod3RyZWUpOgotICAgICAgICAgICAgIiIiUmV0dXJuIGEgcHNldWRvIHdvcmR0cmVlOiB0aGUgdHJlZSBvciBpdHMgc3ViZWxlbWVudHMgY2FuIGJlIGVtcHR5Ci0gICAgICAgICAgICBsaXN0cyB3aGVuIG5vIHZhbHVlIHJlc3VsdCBmcm9tIHRoZSBleHBhbnNpb24uCi0gICAgICAgICAgICAiIiIKLSAgICAgICAgICAgIHN0YXR1cyA9IE5vbmUKLSAgICAgICAgICAgIGZvciBwYXJ0IGluIHd0cmVlOgotICAgICAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHBhcnQsIGxpc3QpOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIGlmIHBhcnRbMF1pbiAoIiciLCAnXFwnKToKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICBlbGlmIHBhcnRbMF0gaW4gKCdgJywgJyQoJyk6Ci0gICAgICAgICAgICAgICAgICAgIHN0YXR1cywgcmVzdWx0ID0gc2VsZi5fZXhwYW5kX2NvbW1hbmQocGFydCkKLSAgICAgICAgICAgICAgICAgICAgcGFydFs6XSA9IHJlc3VsdAotICAgICAgICAgICAgICAgIGVsaWYgcGFydFswXSBpbiAoJyQnLCAnJHsnKToKLSAgICAgICAgICAgICAgICAgICAgcGFydFs6XSA9IHNlbGYuX2V4cGFuZF9wYXJhbWV0ZXIocGFydCwgd3RyZWVbMF09PSciJywgc3BsaXQpCi0gICAgICAgICAgICAgICAgZWxpZiBwYXJ0WzBdIGluICgnJywgJyInKToKLSAgICAgICAgICAgICAgICAgICAgc3RhdHVzLCByZXN1bHQgPSBleHBhbmQocGFydCkKLSAgICAgICAgICAgICAgICAgICAgcGFydFs6XSA9IHJlc3VsdAotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJyVzIGV4cGFuc2lvbiBpcyBub3QgaW1wbGVtZW50ZWQnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBwYXJ0WzBdKQotICAgICAgICAgICAgIyBbXSBpcyByZXR1cm5lZCB3aGVuIGFuIGV4cGFuc2lvbiByZXN1bHQgaW4gbm8tZmllbGQsCi0gICAgICAgICAgICAjIGxpa2UgYW4gZW1wdHkgJEAKLSAgICAgICAgICAgIHd0cmVlID0gW3AgZm9yIHAgaW4gd3RyZWUgaWYgcCAhPSBbXV0KLSAgICAgICAgICAgIGlmIGxlbih3dHJlZSkgPCAzOgotICAgICAgICAgICAgICAgIHJldHVybiBzdGF0dXMsIFtdCi0gICAgICAgICAgICByZXR1cm4gc3RhdHVzLCB3dHJlZQotICAgICAgICAKLSAgICAgICAgc3RhdHVzLCB3dHJlZSA9IGV4cGFuZCh3dHJlZSkKLSAgICAgICAgaWYgbGVuKHd0cmVlKSA9PSAwOgotICAgICAgICAgICAgcmV0dXJuIHN0YXR1cywgd3RyZWUKLSAgICAgICAgd3RyZWUgPSBweXNobGV4Lm5vcm1hbGl6ZV93b3JkdHJlZSh3dHJlZSkKLSAgICAgICAgCi0gICAgICAgIGlmIHNwbGl0OgotICAgICAgICAgICAgd3RyZWVzID0gc2VsZi5fc3BsaXRfZmllbGRzKHd0cmVlKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgd3RyZWVzID0gW3d0cmVlXQotICAgICAgICAKLSAgICAgICAgaWYgcGF0aG5hbWU6Ci0gICAgICAgICAgICB3dHJlZXMgPSBtYXBwZW5kKHNlbGYuX2V4cGFuZF9wYXRobmFtZSwgd3RyZWVzKQotICAgICAgICAKLSAgICAgICAgd3RyZWVzID0gbWFwKHNlbGYuX3JlbW92ZV9xdW90ZXMsIHd0cmVlcykKLSAgICAgICAgcmV0dXJuIHN0YXR1cywgd3RyZWVzCi0gICAgICAgIAotICAgIGRlZiBfZXhwYW5kX2NvbW1hbmQoc2VsZiwgd3RyZWUpOgotICAgICAgICAjIEJVRzogdGhlcmUgaXMgc29tZXRoaW5nIHRvIGRvIHdpdGggYmFja3NsYXNoZXMgYW5kIHF1b3RlZAotICAgICAgICAjIGNoYXJhY3RlcnMgaGVyZQotICAgICAgICBjb21tYW5kID0gcHlzaGxleC53b3JkdHJlZV9hc19zdHJpbmcod3RyZWVbMTotMV0pCi0gICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi5zdWJzaGVsbF9vdXRwdXQoY29tbWFuZCkKLSAgICAgICAgcmV0dXJuIHN0YXR1cywgWycnLCBvdXRwdXQsICcnXQotICAgICAgICAKLSAgICBkZWYgX2V4cGFuZF9wYXJhbWV0ZXIoc2VsZiwgd3RyZWUsIHF1b3RlZD1GYWxzZSwgc3BsaXQ9RmFsc2UpOgotICAgICAgICAiIiJSZXR1cm4gYSB2YWxpZCB3dHJlZSBvciBhbiBlbXB0eSBsaXN0IHdoZW4gbm8gcGFyYW1ldGVyIHJlc3VsdHMuIiIiCi0gICAgICAgICMgR2V0IHRoZSBwYXJhbWV0ZXIgbmFtZQotICAgICAgICAjIFRPRE86IGltcGxlbWVudCB3ZWlyZCBleHBhbnNpb24gcnVsZXMgd2l0aCAnOicKLSAgICAgICAgbmFtZSA9IHB5c2hsZXgud29yZHRyZWVfYXNfc3RyaW5nKHd0cmVlWzE6LTFdKQotICAgICAgICBpZiBub3QgaXNfbmFtZShuYW1lKSBhbmQgbm90IGlzX3NwZWNpYWxfcGFyYW0obmFtZSk6Ci0gICAgICAgICAgICByYWlzZSBFeHBhbnNpb25FcnJvcignQmFkIHN1YnN0aXR1dGlvbiAiJXMiJyAlIG5hbWUpCi0gICAgICAgICMgVE9ETzogaW1wbGVtZW50IHNwZWNpYWwgcGFyYW1ldGVycwotICAgICAgICBpZiBuYW1lIGluICgnQCcsICcqJyk6Ci0gICAgICAgICAgICBhcmdzID0gc2VsZi5fZW52LmdldF9wb3NpdGlvbmFsX2FyZ3MoKQotICAgICAgICAgICAgaWYgbGVuKGFyZ3MpID09IDA6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFtdCi0gICAgICAgICAgICBpZiBsZW4oYXJncyk8MjoKLSAgICAgICAgICAgICAgICByZXR1cm4gWycnLCAnJy5qb2luKGFyZ3MpLCAnJ10KLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIHNlcCA9IHNlbGYuX2Vudi5nZXQoJ0lGUycsICcnKVs6MV0KLSAgICAgICAgICAgIGlmIHNwbGl0IGFuZCBxdW90ZWQgYW5kIG5hbWU9PSdAJzoKLSAgICAgICAgICAgICAgICAjIEludHJvZHVjZSBhIG5ldyB0b2tlbiB0byB0ZWxsIHRoZSBjYWxsZXIgdGhhdCB0aGVzZSBwYXJhbWV0ZXJzCi0gICAgICAgICAgICAgICAgIyBjYXVzZSBhIHNwbGl0IGFzIHNwZWNpZmllZCBpbiAyLjUuMgotICAgICAgICAgICAgICAgIHJldHVybiBbJ0AnXSArIGFyZ3MgKyBbJyddCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBbJycsIHNlcC5qb2luKGFyZ3MpLCAnJ10gICAgICAgICAgICAgICAgCi0gICAgICAgIAotICAgICAgICByZXR1cm4gWycnLCBzZWxmLl9lbnYuZ2V0KG5hbWUsICcnKSwgJyddCi0gICAgICAgIAotICAgIGRlZiBfc3BsaXRfZmllbGRzKHNlbGYsIHd0cmVlKToKLSAgICAgICAgZGVmIGlzX2VtcHR5KHNwbGl0KToKLSAgICAgICAgICAgIHJldHVybiBzcGxpdD09WycnLCAnJywgJyddCi0gICAgICAgICAgICAKLSAgICAgICAgZGVmIHNwbGl0X3Bvc2l0aW9uYWwocXVvdGVkKToKLSAgICAgICAgICAgICMgUmV0dXJuIGEgbGlzdCBvZiB3dHJlZSBzcGxpdCBhY2NvcmRpbmcgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIHJ1bGVzLgotICAgICAgICAgICAgIyBBbGwgcmVtYWluaW5nICdAJyBncm91cHMgYXJlIHJlbW92ZWQuCi0gICAgICAgICAgICBhc3NlcnQgcXVvdGVkWzBdPT0nIicKLSAgICAgICAgICAgIAotICAgICAgICAgICAgc3BsaXRzID0gW1tdXQotICAgICAgICAgICAgZm9yIHBhcnQgaW4gcXVvdGVkOgotICAgICAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHBhcnQsIGxpc3QpIG9yIHBhcnRbMF0hPSdAJzoKLSAgICAgICAgICAgICAgICAgICAgc3BsaXRzWy0xXS5hcHBlbmQocGFydCkKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAjIEVtcHR5IG9yIHNpbmdsZSBhcmd1bWVudCBsaXN0IHdlcmUgZGVhbHQgd2l0aCBhbHJlYWR5Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydCBsZW4ocGFydCk+MwotICAgICAgICAgICAgICAgICAgICAjIEZpcnN0IGFyZ3VtZW50IG11c3Qgam9pbiB3aXRoIHRoZSBiZWdpbm5pbmcgcGFydCBvZiB0aGUgb3JpZ2luYWwgd29yZAotICAgICAgICAgICAgICAgICAgICBzcGxpdHNbLTFdLmFwcGVuZChwYXJ0WzFdKQotICAgICAgICAgICAgICAgICAgICAjIENyZWF0ZSBkb3VibGUtcXVvdGVzIGV4cHJlc3Npb25zIGZvciBldmVyeSBhcmd1bWVudCBhZnRlciB0aGUgZmlyc3QKLSAgICAgICAgICAgICAgICAgICAgZm9yIGFyZyBpbiBwYXJ0WzI6LTFdOgotICAgICAgICAgICAgICAgICAgICAgICAgc3BsaXRzWy0xXS5hcHBlbmQoJyInKQotICAgICAgICAgICAgICAgICAgICAgICAgc3BsaXRzLmFwcGVuZChbJyInLCBhcmddKQotICAgICAgICAgICAgcmV0dXJuIHNwbGl0cwotICAgICAgICAKLSAgICAgICAgIyBBdCB0aGlzIHBvaW50LCBhbGwgZXhwYW5zaW9ucyBidXQgcGF0aG5hbWVzIGhhdmUgb2NjdXJlZC4gT25seSBxdW90ZWQKLSAgICAgICAgIyBhbmQgcG9zaXRpb25hbCBzZXF1ZW5jZXMgcmVtYWluLiBUaHVzLCBhbGwgY2FuZGlkYXRlcyBmb3IgZmllbGQgc3BsaXR0aW5nIAotICAgICAgICAjIGFyZSBpbiB0aGUgdHJlZSByb290LCBvciBhcmUgcG9zaXRpb25hbCBzcGxpdHMgKCdAJykgYW5kIGxpZSBpbiByb290Ci0gICAgICAgICMgY2hpbGRyZW4uCi0gICAgICAgIGlmIG5vdCB3dHJlZSBvciB3dHJlZVswXSBub3QgaW4gKCcnLCAnIicpOgotICAgICAgICAgICAgIyBUaGUgd2hvbGUgdG9rZW4gaXMgcXVvdGVkIG9yIGVtcHR5LCBub3RoaW5nIHRvIHNwbGl0Ci0gICAgICAgICAgICByZXR1cm4gW3d0cmVlXQotICAgICAgICAgICAgCi0gICAgICAgIGlmIHd0cmVlWzBdPT0nIic6Ci0gICAgICAgICAgICB3dHJlZSA9IFsnJywgd3RyZWUsICcnXQotICAgICAgICAKLSAgICAgICAgcmVzdWx0ID0gW1snJywgJyddXQotICAgICAgICBmb3IgcGFydCBpbiB3dHJlZVsxOi0xXToKLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocGFydCwgbGlzdCk6Ci0gICAgICAgICAgICAgICAgaWYgcGFydFswXT09JyInOgotICAgICAgICAgICAgICAgICAgICBzcGxpdHMgPSBzcGxpdF9wb3NpdGlvbmFsKHBhcnQpCi0gICAgICAgICAgICAgICAgICAgIGlmIGxlbihzcGxpdHMpPD0xOgotICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0Wy0xXSArPSBbcGFydCwgJyddCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAjIFRlcm1pbmF0ZSB0aGUgY3VycmVudCBzcGxpdAotICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0Wy0xXSArPSBbc3BsaXRzWzBdLCAnJ10KLSAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSBzcGxpdHNbMTotMV0KLSAgICAgICAgICAgICAgICAgICAgICAgICMgQ3JlYXRlIGEgbmV3IHNwbGl0Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gW1snJywgc3BsaXRzWy0xXSwgJyddXQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHJlc3VsdFstMV0gKz0gW3BhcnQsICcnXQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzcGxpdHMgPSBzZWxmLl9lbnYuc3BsaXRfZmllbGRzKHBhcnQpCi0gICAgICAgICAgICAgICAgaWYgbGVuKHNwbGl0cyk8PTE6Ci0gICAgICAgICAgICAgICAgICAgICMgTm8gc3BsaXQKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0Wy0xXVstMV0gKz0gcGFydAotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICMgVGVybWluYXRlIHRoZSBjdXJyZW50IHJlc3VsdGluZyBwYXJ0IGFuZCBjcmVhdGUgYSBuZXcgb25lCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdFstMV1bLTFdICs9IHNwbGl0c1swXQotICAgICAgICAgICAgICAgICAgICByZXN1bHRbLTFdLmFwcGVuZCgnJykKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IFtbJycsIHIsICcnXSBmb3IgciBpbiBzcGxpdHNbMTotMV1dCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSBbWycnLCBzcGxpdHNbLTFdXV0KLSAgICAgICAgcmVzdWx0Wy0xXS5hcHBlbmQoJycpCi0gICAgICAgIAotICAgICAgICAjIExlYWRpbmcgYW5kIHRyYWlsaW5nIGVtcHR5IGdyb3VwcyBjb21lIGZyb20gbGVhZGluZy90cmFpbGluZyBibGFua3MKLSAgICAgICAgaWYgcmVzdWx0IGFuZCBpc19lbXB0eShyZXN1bHRbLTFdKToKLSAgICAgICAgICAgIHJlc3VsdFstMTpdID0gW10KLSAgICAgICAgaWYgcmVzdWx0IGFuZCBpc19lbXB0eShyZXN1bHRbMF0pOgotICAgICAgICAgICAgcmVzdWx0WzoxXSA9IFtdCi0gICAgICAgIHJldHVybiByZXN1bHQKLSAgICAgICAgCi0gICAgZGVmIF9leHBhbmRfcGF0aG5hbWUoc2VsZiwgd3RyZWUpOgotICAgICAgICAiIiJTZWUgWzIuNi42IFBhdGhuYW1lIEV4cGFuc2lvbl0uIiIiCi0gICAgICAgIGlmIHNlbGYuX2Vudi5oYXNfb3B0KCctZicpOgotICAgICAgICAgICAgcmV0dXJuIFt3dHJlZV0KLSAgICAgICAgCi0gICAgICAgICMgQWxsIGV4cGFuc2lvbnMgaGF2ZSBiZWVuIHBlcmZvcm1lZCwgb25seSBxdW90ZWQgc2VxdWVuY2VzIHNob3VsZCByZW1haW4KLSAgICAgICAgIyBpbiB0aGUgdHJlZS4gR2VuZXJhdGUgdGhlIHBhdHRlcm4gYnkgZm9sZGluZyB0aGUgdHJlZSwgZXNjYXBpbmcgc3BlY2lhbAotICAgICAgICAjIGNoYXJhY3RlcnMgd2hlbiBhcHBlYXIgcXVvdGVkCi0gICAgICAgIHNwZWNpYWxfY2hhcnMgPSAnKj9bXScKLSAgICAgICAgCi0gICAgICAgIGRlZiBtYWtlX3BhdHRlcm4od3RyZWUpOgotICAgICAgICAgICAgc3VicGF0dGVybiA9IFtdCi0gICAgICAgICAgICBmb3IgcGFydCBpbiB3dHJlZVsxOi0xXToKLSAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHBhcnQsIGxpc3QpOgotICAgICAgICAgICAgICAgICAgICBwYXJ0ID0gbWFrZV9wYXR0ZXJuKHBhcnQpCi0gICAgICAgICAgICAgICAgZWxpZiB3dHJlZVswXSE9Jyc6Ci0gICAgICAgICAgICAgICAgICAgIGZvciBjIGluIHBhcnQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAjIE1ldGEtY2hhcmFjdGVycyBjYW5ub3QgYmUgcXVvdGVkCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBjIGluIHNwZWNpYWxfY2hhcnM6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgR2xvYkVycm9yKCkKLSAgICAgICAgICAgICAgICBzdWJwYXR0ZXJuLmFwcGVuZChwYXJ0KQotICAgICAgICAgICAgcmV0dXJuICcnLmpvaW4oc3VicGF0dGVybikKLSAgICAgICAgICAgIAotICAgICAgICBkZWYgcHdkX2dsb2IocGF0dGVybik6Ci0gICAgICAgICAgICBjd2QgPSBvcy5nZXRjd2QoKQotICAgICAgICAgICAgb3MuY2hkaXIoc2VsZi5fZW52WydQV0QnXSkKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICByZXR1cm4gZ2xvYi5nbG9iKHBhdHRlcm4pIAotICAgICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICAgICBvcy5jaGRpcihjd2QpICAgIAotICAgICAgICAgICAgCi0gICAgICAgICNUT0RPOiBjaGVjayB3b3JraW5nIGRpcmVjdG9yeSBpc3N1ZXMgaGVyZSB3cnQgcmVsYXRpdmUgcGF0dGVybnMKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcGF0dGVybiA9IG1ha2VfcGF0dGVybih3dHJlZSkKLSAgICAgICAgICAgIHBhdGhzID0gcHdkX2dsb2IocGF0dGVybikKLSAgICAgICAgZXhjZXB0IEdsb2JFcnJvcjoKLSAgICAgICAgICAgICMgQlVHOiBNZXRhLWNoYXJhY3RlcnMgd2VyZSBmb3VuZCBpbiBxdW90ZWQgc2VxdWVuY2VzLiBUaGUgc2hvdWxkIAotICAgICAgICAgICAgIyBoYXZlIGJlZW4gdXNlZCBsaXRlcmFsbHkgYnV0IHRoaXMgaXMgdW5zdXBwb3J0ZWQgaW4gY3VycmVudCBnbG9iIG1vZHVsZS4KLSAgICAgICAgICAgICMgSW5zdGVhZCB3ZSBjb25zaWRlciB0aGUgd2hvbGUgdHJlZSBtdXN0IGJlIHVzZWQgbGl0ZXJhbGx5IGFuZAotICAgICAgICAgICAgIyB0aGVyZWZvcmUgdGhlcmUgaXMgbm8gcG9pbnQgaW4gZ2xvYmJpbmcuIFRoaXMgaXMgd3Jvbmcgd2hlbiBtZXRhCi0gICAgICAgICAgICAjIGNoYXJhY3RlcnMgYXJlIG1peGVkIHdpdGggcXVvdGVkIG1ldGEgaW4gdGhlIHNhbWUgcGF0dGVybiBsaWtlOgotICAgICAgICAgICAgIyA8IGZvbyoicHkqIiA+Ci0gICAgICAgICAgICBwYXRocyA9IFtdCi0gICAgICAgICAgICAKLSAgICAgICAgaWYgbm90IHBhdGhzOgotICAgICAgICAgICAgcmV0dXJuIFt3dHJlZV0KLSAgICAgICAgcmV0dXJuIFtbJycsIHBhdGgsICcnXSBmb3IgcGF0aCBpbiBwYXRoc10KLSAgICAgICAgCi0gICAgZGVmIF9yZW1vdmVfcXVvdGVzKHNlbGYsIHd0cmVlKToKLSAgICAgICAgIiIiU2VlIFsyLjYuNyBRdW90ZSBSZW1vdmFsXS4iIiIKLSAgICAgICAgCi0gICAgICAgIGRlZiB1bnF1b3RlKHd0cmVlKToKLSAgICAgICAgICAgIHVucXVvdGVkID0gW10KLSAgICAgICAgICAgIGZvciBwYXJ0IGluIHd0cmVlWzE6LTFdOgotICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocGFydCwgbGlzdCk6Ci0gICAgICAgICAgICAgICAgICAgIHBhcnQgPSB1bnF1b3RlKHBhcnQpCi0gICAgICAgICAgICAgICAgdW5xdW90ZWQuYXBwZW5kKHBhcnQpCi0gICAgICAgICAgICByZXR1cm4gJycuam9pbih1bnF1b3RlZCkKLSAgICAgICAgICAgIAotICAgICAgICByZXR1cm4gWycnLCB1bnF1b3RlKHd0cmVlKSwgJyddCi0gICAgICAgIAotICAgIGRlZiBzdWJzaGVsbChzZWxmLCBzY3JpcHQ9Tm9uZSwgYXN0PU5vbmUsIHJlZGlycz1Ob25lKToKLSAgICAgICAgIiIiRXhlY3V0ZSB0aGUgc2NyaXB0IG9yIEFTVCBpbiBhIHN1YnNoZWxsLCB3aXRoIGluaGVyaXRlZCByZWRpcmVjdGlvbnMKLSAgICAgICAgaWYgcmVkaXJzIGlzIG5vdCBOb25lLgotICAgICAgICAiIiIKLSAgICAgICAgaWYgcmVkaXJzOgotICAgICAgICAgICAgc3ViX3JlZGlycyA9IHJlZGlycwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc3ViX3JlZGlycyA9IHJlZGlycy5jbG9uZSgpCi0gICAgICAgIAotICAgICAgICBzdWJzaGVsbCA9IE5vbmUgICAgCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHN1YnNoZWxsID0gSW50ZXJwcmV0ZXIoTm9uZSwgc2VsZi5fZGVidWdmbGFncywgc2VsZi5fZW52LmNsb25lKFRydWUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJfcmVkaXJzLCBvcHRzPXNlbGYuX29wdGlvbnMpCi0gICAgICAgICAgICByZXR1cm4gc3Vic2hlbGwuZXhlY3V0ZV9zY3JpcHQoc2NyaXB0LCBhc3QpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBpZiBub3QgcmVkaXJzOiBzdWJfcmVkaXJzLmNsb3NlKCkKLSAgICAgICAgICAgIGlmIHN1YnNoZWxsOiBzdWJzaGVsbC5jbG9zZSgpCi0gICAgICAgIAotICAgIGRlZiBzdWJzaGVsbF9vdXRwdXQoc2VsZiwgc2NyaXB0KToKLSAgICAgICAgIiIiRXhlY3V0ZSB0aGUgc2NyaXB0IGluIGEgc3Vic2hlbGwgYW5kIHJldHVybiB0aGUgY2FwdHVyZWQgb3V0cHV0LiIiIiAgICAgICAgCi0gICAgICAgICMgQ3JlYXRlIHRlbXBvcmFyeSBmaWxlIHRvIGNhcHR1cmUgc3Vic2hlbGwgb3V0cHV0Ci0gICAgICAgIHRtcGZkLCB0bXBwYXRoID0gdGVtcGZpbGUubWtzdGVtcCgpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHRtcGZpbGUgPSBvcy5mZG9wZW4odG1wZmQsICd3YicpCi0gICAgICAgICAgICBzdGRvdXQgPSBGaWxlV3JhcHBlcigndycsIHRtcGZpbGUpCi0gICAgICAgICAgICAKLSAgICAgICAgICAgIHJlZGlycyA9IFJlZGlyZWN0aW9ucyhzZWxmLl9yZWRpcnMuc3RkaW4oKS5kdXAoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmVkaXJzLnN0ZGVycigpLmR1cCgpKSAgICAgICAgICAgIAotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuc3Vic2hlbGwoc2NyaXB0PXNjcmlwdCwgcmVkaXJzPXJlZGlycykKLSAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgcmVkaXJzLmNsb3NlKCkKLSAgICAgICAgICAgICAgICByZWRpcnMgPSBOb25lCi0gICAgICAgICAgICAKLSAgICAgICAgICAgICMgRXh0cmFjdCBzdWJzaGVsbCBzdGFuZGFyZCBvdXRwdXQKLSAgICAgICAgICAgIHRtcGZpbGUgPSBvcGVuKHRtcHBhdGgsICdyYicpCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgb3V0cHV0ID0gdG1wZmlsZS5yZWFkKCkKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RhdHVzLCBvdXRwdXQucnN0cmlwKCdcbicpCi0gICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgIHRtcGZpbGUuY2xvc2UoKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgb3MucmVtb3ZlKHRtcHBhdGgpCi0KLSAgICBkZWYgX2FzeW5jbGlzdChzZWxmLCBjbWQpOgotICAgICAgICBhcmdzID0gKHNlbGYuX2Vudi5nZXRfdmFyaWFibGVzKCksIGNtZCkKLSAgICAgICAgYXJnID0gZW5jb2RlYXJncyhhcmdzKQotICAgICAgICBhc3NlcnQgbGVuKGFyZ3MpIDwgMzAqMTAyNAotICAgICAgICBjbWQgPSBbJ3B5c2guYmF0JywgJy0tYXN0JywgJy1jJywgYXJnXQotICAgICAgICBwID0gc3VicHJvY2Vzcy5Qb3BlbihjbWQsIGN3ZD1zZWxmLl9lbnZbJ1BXRCddKQotICAgICAgICBzZWxmLl9jaGlsZHJlbltwLnBpZF0gPSBwCi0gICAgICAgIHNlbGYuX2VudlsnISddID0gcC5waWQKLSAgICAgICAgcmV0dXJuIDAKLQotICAgIGRlZiB3YWl0KHNlbGYsIHBpZHM9Tm9uZSk6Ci0gICAgICAgIGlmIG5vdCBwaWRzOgotICAgICAgICAgICAgcGlkcyA9IHNlbGYuX2NoaWxkcmVuLmtleXMoKQotCi0gICAgICAgIHN0YXR1cyA9IDEyNwotICAgICAgICBmb3IgcGlkIGluIHBpZHM6Ci0gICAgICAgICAgICBpZiBwaWQgbm90IGluIHNlbGYuX2NoaWxkcmVuOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBwID0gc2VsZi5fY2hpbGRyZW4ucG9wKHBpZCkKLSAgICAgICAgICAgIHN0YXR1cyA9IHAud2FpdCgpCi0KLSAgICAgICAgcmV0dXJuIHN0YXR1cwotCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvbHNwcm9mLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL2xzcHJvZi5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjE4MzFjMi4uMDAwMDAwMAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvbHNwcm9mLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTE2ICswLDAgQEAKLSMhIC91c3IvYmluL2VudiBweXRob24KLQotaW1wb3J0IHN5cwotZnJvbSBfbHNwcm9mIGltcG9ydCBQcm9maWxlciwgcHJvZmlsZXJfZW50cnkKLQotX19hbGxfXyA9IFsncHJvZmlsZScsICdTdGF0cyddCi0KLWRlZiBwcm9maWxlKGYsICphcmdzLCAqKmt3ZHMpOgotICAgICIiIlhYWCBkb2NzdHJpbmciIiIKLSAgICBwID0gUHJvZmlsZXIoKQotICAgIHAuZW5hYmxlKHN1YmNhbGxzPVRydWUsIGJ1aWx0aW5zPVRydWUpCi0gICAgdHJ5OgotICAgICAgICBmKCphcmdzLCAqKmt3ZHMpCi0gICAgZmluYWxseToKLSAgICAgICAgcC5kaXNhYmxlKCkKLSAgICByZXR1cm4gU3RhdHMocC5nZXRzdGF0cygpKQotCi0KLWNsYXNzIFN0YXRzKG9iamVjdCk6Ci0gICAgIiIiWFhYIGRvY3N0cmluZyIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGRhdGEpOgotICAgICAgICBzZWxmLmRhdGEgPSBkYXRhCi0KLSAgICBkZWYgc29ydChzZWxmLCBjcml0PSJpbmxpbmV0aW1lIik6Ci0gICAgICAgICIiIlhYWCBkb2NzdHJpbmciIiIKLSAgICAgICAgaWYgY3JpdCBub3QgaW4gcHJvZmlsZXJfZW50cnkuX19kaWN0X186Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJDYW4ndCBzb3J0IGJ5ICVzIiAlIGNyaXQpCi0gICAgICAgIHNlbGYuZGF0YS5zb3J0KGxhbWJkYSBiLCBhOiBjbXAoZ2V0YXR0cihhLCBjcml0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRhdHRyKGIsIGNyaXQpKSkKLSAgICAgICAgZm9yIGUgaW4gc2VsZi5kYXRhOgotICAgICAgICAgICAgaWYgZS5jYWxsczoKLSAgICAgICAgICAgICAgICBlLmNhbGxzLnNvcnQobGFtYmRhIGIsIGE6IGNtcChnZXRhdHRyKGEsIGNyaXQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldGF0dHIoYiwgY3JpdCkpKQotCi0gICAgZGVmIHBwcmludChzZWxmLCB0b3A9Tm9uZSwgZmlsZT1Ob25lLCBsaW1pdD1Ob25lLCBjbGltaXQ9Tm9uZSk6Ci0gICAgICAgICIiIlhYWCBkb2NzdHJpbmciIiIKLSAgICAgICAgaWYgZmlsZSBpcyBOb25lOgotICAgICAgICAgICAgZmlsZSA9IHN5cy5zdGRvdXQKLSAgICAgICAgZCA9IHNlbGYuZGF0YQotICAgICAgICBpZiB0b3AgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBkID0gZFs6dG9wXQotICAgICAgICBjb2xzID0gIiUgMTJzICUxMnMgJTExLjRmICUxMS40ZiAgICVzXG4iCi0gICAgICAgIGhjb2xzID0gIiUgMTJzICUxMnMgJTEycyAlMTJzICVzXG4iCi0gICAgICAgIGNvbHMyID0gIislMTJzICUxMnMgJTExLjRmICUxMS40ZiArICAlc1xuIgotICAgICAgICBmaWxlLndyaXRlKGhjb2xzICUgKCJDYWxsQ291bnQiLCAiUmVjdXJzaXZlIiwgIlRvdGFsKG1zKSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIklubGluZShtcykiLCAibW9kdWxlOmxpbmVubyhmdW5jdGlvbikiKSkKLSAgICAgICAgY291bnQgPSAwCi0gICAgICAgIGZvciBlIGluIGQ6Ci0gICAgICAgICAgICBmaWxlLndyaXRlKGNvbHMgJSAoZS5jYWxsY291bnQsIGUucmVjY2FsbGNvdW50LCBlLnRvdGFsdGltZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLmlubGluZXRpbWUsIGxhYmVsKGUuY29kZSkpKQotICAgICAgICAgICAgY291bnQgKz0gMQotICAgICAgICAgICAgaWYgbGltaXQgaXMgbm90IE5vbmUgYW5kIGNvdW50ID09IGxpbWl0OgotICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgY2NvdW50ID0gMAotICAgICAgICAgICAgaWYgZS5jYWxsczoKLSAgICAgICAgICAgICAgICBmb3Igc2UgaW4gZS5jYWxsczoKLSAgICAgICAgICAgICAgICAgICAgZmlsZS53cml0ZShjb2xzICUgKCIrJXMiICUgc2UuY2FsbGNvdW50LCBzZS5yZWNjYWxsY291bnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZS50b3RhbHRpbWUsIHNlLmlubGluZXRpbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKyVzIiAlIGxhYmVsKHNlLmNvZGUpKSkKLSAgICAgICAgICAgICAgICAgICAgY291bnQgKz0gMQotICAgICAgICAgICAgICAgICAgICBjY291bnQgKz0gMQotICAgICAgICAgICAgICAgICAgICBpZiBsaW1pdCBpcyBub3QgTm9uZSBhbmQgY291bnQgPT0gbGltaXQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgICAgICAgICAgaWYgY2xpbWl0IGlzIG5vdCBOb25lIGFuZCBjY291bnQgPT0gY2xpbWl0OgotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLQotICAgIGRlZiBmcmVlemUoc2VsZik6Ci0gICAgICAgICIiIlJlcGxhY2UgYWxsIHJlZmVyZW5jZXMgdG8gY29kZSBvYmplY3RzIHdpdGggc3RyaW5nCi0gICAgICAgIGRlc2NyaXB0aW9uczsgdGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBwaWNrbGUgdGhlIGluc3RhbmNlLiIiIgotCi0gICAgICAgICMgdGhpcyBjb2RlIGlzIHByb2JhYmx5IHJhdGhlciBpY2tpZXIgdGhhbiBpdCBuZWVkcyB0byBiZSEKLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKHNlbGYuZGF0YSkpOgotICAgICAgICAgICAgZSA9IHNlbGYuZGF0YVtpXQotICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZS5jb2RlLCBzdHIpOgotICAgICAgICAgICAgICAgIHNlbGYuZGF0YVtpXSA9IHR5cGUoZSkoKGxhYmVsKGUuY29kZSksKSArIGVbMTpdKQotICAgICAgICAgICAgaWYgZS5jYWxsczoKLSAgICAgICAgICAgICAgICBmb3IgaiBpbiByYW5nZShsZW4oZS5jYWxscykpOgotICAgICAgICAgICAgICAgICAgICBzZSA9IGUuY2FsbHNbal0KLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uoc2UuY29kZSwgc3RyKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGUuY2FsbHNbal0gPSB0eXBlKHNlKSgobGFiZWwoc2UuY29kZSksKSArIHNlWzE6XSkKLQotX2ZuMm1vZCA9IHt9Ci0KLWRlZiBsYWJlbChjb2RlKToKLSAgICBpZiBpc2luc3RhbmNlKGNvZGUsIHN0cik6Ci0gICAgICAgIHJldHVybiBjb2RlCi0gICAgdHJ5OgotICAgICAgICBtbmFtZSA9IF9mbjJtb2RbY29kZS5jb19maWxlbmFtZV0KLSAgICBleGNlcHQgS2V5RXJyb3I6Ci0gICAgICAgIGZvciBrLCB2IGluIHN5cy5tb2R1bGVzLml0ZW1zKCk6Ci0gICAgICAgICAgICBpZiB2IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHYsICdfX2ZpbGVfXycpOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZSh2Ll9fZmlsZV9fLCBzdHIpOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBpZiB2Ll9fZmlsZV9fLnN0YXJ0c3dpdGgoY29kZS5jb19maWxlbmFtZSk6Ci0gICAgICAgICAgICAgICAgbW5hbWUgPSBfZm4ybW9kW2NvZGUuY29fZmlsZW5hbWVdID0gawotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBtbmFtZSA9IF9mbjJtb2RbY29kZS5jb19maWxlbmFtZV0gPSAnPCVzPiclY29kZS5jb19maWxlbmFtZQotCi0gICAgcmV0dXJuICclczolZCglcyknICUgKG1uYW1lLCBjb2RlLmNvX2ZpcnN0bGluZW5vLCBjb2RlLmNvX25hbWUpCi0KLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBpbXBvcnQgb3MKLSAgICBzeXMuYXJndiA9IHN5cy5hcmd2WzE6XQotICAgIGlmIG5vdCBzeXMuYXJndjoKLSAgICAgICAgcHJpbnQgPj4gc3lzLnN0ZGVyciwgInVzYWdlOiBsc3Byb2YucHkgPHNjcmlwdD4gPGFyZ3VtZW50cy4uLj4iCi0gICAgICAgIHN5cy5leGl0KDIpCi0gICAgc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoc3lzLmFyZ3ZbMF0pKSkKLSAgICBzdGF0cyA9IHByb2ZpbGUoZXhlY2ZpbGUsIHN5cy5hcmd2WzBdLCBnbG9iYWxzKCksIGxvY2FscygpKQotICAgIHN0YXRzLnNvcnQoKQotICAgIHN0YXRzLnBwcmludCgpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvcHlzaC5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9weXNoLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNGU2MTQ1Li4wMDAwMDAwCi0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9weXNoLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTY3ICswLDAgQEAKLSMgcHlzaC5weSAtIGNvbW1hbmQgcHJvY2Vzc2luZyBmb3IgcHlzaC4KLSMKLSMgQ29weXJpZ2h0IDIwMDcgUGF0cmljayBNZXphcmQKLSMKLSMgVGhpcyBzb2Z0d2FyZSBtYXkgYmUgdXNlZCBhbmQgZGlzdHJpYnV0ZWQgYWNjb3JkaW5nIHRvIHRoZSB0ZXJtcwotIyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGluY29ycG9yYXRlZCBoZXJlaW4gYnkgcmVmZXJlbmNlLgotCi1pbXBvcnQgb3B0cGFyc2UKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi1pbXBvcnQgaW50ZXJwCi0KLVNIX09QVCA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcihwcm9nPSdweXNoJywgdXNhZ2U9IiVwcm9nIFtPUFRJT05TXSIsIHZlcnNpb249JzAuMScpCi1TSF9PUFQuYWRkX29wdGlvbignLWMnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSdjb21tYW5kX3N0cmluZycsIGRlZmF1bHQ9Tm9uZSwgCi0gICAgaGVscD0nQSBzdHJpbmcgdGhhdCBzaGFsbCBiZSBpbnRlcnByZXRlZCBieSB0aGUgc2hlbGwgYXMgb25lIG9yIG1vcmUgY29tbWFuZHMnKQotU0hfT1BULmFkZF9vcHRpb24oJy0tcmVkaXJlY3QtdG8nLCBkZXN0PSdyZWRpcmVjdF90bycsIGRlZmF1bHQ9Tm9uZSwgCi0gICAgaGVscD0nUmVkaXJlY3Qgc2NyaXB0IGNvbW1hbmRzIHN0ZG91dCBhbmQgc3RkZXJyIHRvIHRoZSBzcGVjaWZpZWQgZmlsZScpCi0jIFNlZSB1dGlsaXR5X2NvbW1hbmQgaW4gYnVpbHRpbi5weSBhYm91dCB0aGUgcmVhc29uIGZvciB0aGlzIGZsYWcuCi1TSF9PUFQuYWRkX29wdGlvbignLS1yZWRpcmVjdGVkJywgZGVzdD0ncmVkaXJlY3RlZCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9RmFsc2UsIAotICAgIGhlbHA9J1RlbGwgdGhlIGludGVycHJldGVyIHRoYXQgc3Rkb3V0IGFuZCBzdGRlcnIgYXJlIGFjdHVhbGx5IHRoZSBzYW1lIG9iamVjdHMsIHdoaWNoIGlzIHJlYWxseSBzdGRvdXQnKQotU0hfT1BULmFkZF9vcHRpb24oJy0tZGVidWctcGFyc2luZycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2RlYnVnX3BhcnNpbmcnLCBkZWZhdWx0PUZhbHNlLCAKLSAgICBoZWxwPSdUcmFjZSBQTFkgZXhlY3V0aW9uJykKLVNIX09QVC5hZGRfb3B0aW9uKCctLWRlYnVnLXRyZWUnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSdkZWJ1Z190cmVlJywgZGVmYXVsdD1GYWxzZSwgCi0gICAgaGVscD0nRGlzcGxheSB0aGUgZ2VuZXJhdGVkIHN5bnRheCB0cmVlLicpCi1TSF9PUFQuYWRkX29wdGlvbignLS1kZWJ1Zy1jbWQnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSdkZWJ1Z19jbWQnLCBkZWZhdWx0PUZhbHNlLCAKLSAgICBoZWxwPSdUcmFjZSBjb21tYW5kIGV4ZWN1dGlvbiBiZWZvcmUgcGFyYW1ldGVycyBleHBhbnNpb24gYW5kIGV4aXQgc3RhdHVzLicpCi1TSF9PUFQuYWRkX29wdGlvbignLS1kZWJ1Zy11dGlsaXR5JywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0nZGVidWdfdXRpbGl0eScsIGRlZmF1bHQ9RmFsc2UsIAotICAgIGhlbHA9J1RyYWNlIHV0aWxpdHkgY2FsbHMsIGFmdGVyIHBhcmFtZXRlcnMgZXhwYW5zaW9ucycpCi1TSF9PUFQuYWRkX29wdGlvbignLS1hc3QnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSdhc3QnLCBkZWZhdWx0PUZhbHNlLAotICAgIGhlbHA9J0VuY29kZWQgY29tbWFuZHMgdG8gZXhlY3V0ZSBpbiBhIHN1YnByb2Nlc3MnKQotU0hfT1BULmFkZF9vcHRpb24oJy0tcHJvZmlsZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9RmFsc2UsCi0gICAgaGVscD0nUHJvZmlsZSBweXNoIHJ1bicpCi0gICAgCi0gICAgCi1kZWYgc3BsaXRfYXJncyhhcmdzKToKLSAgICAjIFNlcGFyYXRlIHNoZWxsIGFyZ3VtZW50cyBmcm9tIGNvbW1hbmQgb25lcwotICAgICMgSnVzdCBzdG9wIGF0IHRoZSBmaXJzdCBhcmd1bWVudCBub3Qgc3RhcnRpbmcgd2l0aCBhIGRhc2guIEkga25vdywgdGhpcyBpcyBjb21wbGV0ZWx5IGJyb2tlbiwKLSAgICAjIGl0IGlnbm9yZXMgZmlsZXMgc3RhcnRpbmcgd2l0aCBhIGRhc2ggb3IgbWF5IHRha2Ugb3B0aW9uIHZhbHVlcyBmb3IgY29tbWFuZCBmaWxlLiBUaGlzIGlzIG5vdAotICAgICMgc3VwcG9zZWQgdG8gaGFwcGVuIGZvciBub3cKLSAgICBjb21tYW5kX2luZGV4ID0gbGVuKGFyZ3MpCi0gICAgZm9yIGksYXJnIGluIGVudW1lcmF0ZShhcmdzKToKLSAgICAgICAgaWYgbm90IGFyZy5zdGFydHN3aXRoKCctJyk6Ci0gICAgICAgICAgICBjb21tYW5kX2luZGV4ID0gaQotICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIAotICAgIHJldHVybiBhcmdzWzpjb21tYW5kX2luZGV4XSwgYXJnc1tjb21tYW5kX2luZGV4Ol0KLQotCi1kZWYgZml4ZW52KGVudik6Ci0gICAgcGF0aCA9IGVudi5nZXQoJ1BBVEgnKQotICAgIGlmIHBhdGggaXMgbm90IE5vbmU6Ci0gICAgICAgIHBhcnRzID0gcGF0aC5zcGxpdChvcy5wYXRoc2VwKQotICAgICAgICAjIFJlbW92ZSBXaW5kb3dzIHV0aWxpdGllcyBmcm9tIFBBVEgsIHRoZXkgYXJlIHVzZWxlc3MgYXQgYmVzdCBhbmQKLSAgICAgICAgIyBzb21lIG9mIHRoZW0gKGZpbmQpIG1heSBiZSBjb25mdXNlZCB3aXRoIG90aGVyIHV0aWxpdGllcy4KLSAgICAgICAgcGFydHMgPSBbcCBmb3IgcCBpbiBwYXJ0cyBpZiAnc3lzdGVtMzInIG5vdCBpbiBwLmxvd2VyKCldCi0gICAgICAgIGVudlsnUEFUSCddID0gb3MucGF0aHNlcC5qb2luKHBhcnRzKQotICAgIGlmIGVudi5nZXQoJ0hPTUUnKSBpcyBOb25lOgotICAgICAgICAjIFNldmVyYWwgdXRpbGl0aWVzLCBpbmNsdWRpbmcgY3ZzcHMsIGNhbm5vdCB3b3JrIHdpdGhvdXQKLSAgICAgICAgIyBhIGRlZmluZWQgSE9NRSBkaXJlY3RvcnkuCi0gICAgICAgIGVudlsnSE9NRSddID0gb3MucGF0aC5leHBhbmR1c2VyKCd+JykKLSAgICByZXR1cm4gZW52Ci0KLWRlZiBfc2goY3dkLCBzaGFyZ3MsIGNtZGFyZ3MsIG9wdGlvbnMsIGRlYnVnZmxhZ3M9Tm9uZSwgZW52PU5vbmUpOgotICAgIGlmIG9zLmVudmlyb24uZ2V0KCdQWVNIX1RFWFQnKSAhPSAnMSc6Ci0gICAgICAgIGltcG9ydCBtc3ZjcnQKLSAgICAgICAgZm9yIGZwIGluIChzeXMuc3RkaW4sIHN5cy5zdGRvdXQsIHN5cy5zdGRlcnIpOgotICAgICAgICAgICAgbXN2Y3J0LnNldG1vZGUoZnAuZmlsZW5vKCksIG9zLk9fQklOQVJZKQotCi0gICAgaGdiaW4gPSBvcy5lbnZpcm9uLmdldCgnUFlTSF9IR1RFWFQnKSAhPSAnMScKLSAgICAKLSAgICBpZiBkZWJ1Z2ZsYWdzIGlzIE5vbmU6Ci0gICAgICAgIGRlYnVnZmxhZ3MgPSBbXQotICAgICAgICBpZiBvcHRpb25zLmRlYnVnX3BhcnNpbmc6ICAgIGRlYnVnZmxhZ3MuYXBwZW5kKCdkZWJ1Zy1wYXJzaW5nJykKLSAgICAgICAgaWYgb3B0aW9ucy5kZWJ1Z191dGlsaXR5OiAgICBkZWJ1Z2ZsYWdzLmFwcGVuZCgnZGVidWctdXRpbGl0eScpCi0gICAgICAgIGlmIG9wdGlvbnMuZGVidWdfY21kOiAgICAgICAgZGVidWdmbGFncy5hcHBlbmQoJ2RlYnVnLWNtZCcpCi0gICAgICAgIGlmIG9wdGlvbnMuZGVidWdfdHJlZTogICAgICAgZGVidWdmbGFncy5hcHBlbmQoJ2RlYnVnLXRyZWUnKQotICAgIAotICAgIGlmIGVudiBpcyBOb25lOgotICAgICAgICBlbnYgPSBmaXhlbnYoZGljdChvcy5lbnZpcm9uKSkKLSAgICBpZiBjd2QgaXMgTm9uZToKLSAgICAgICAgY3dkID0gb3MuZ2V0Y3dkKCkKLQotICAgIGlmIG5vdCBjbWRhcmdzOgotICAgICAgICAjIE5vdGhpbmcgdG8gZG8KLSAgICAgICAgcmV0dXJuIDAKLQotICAgIGFzdCA9IE5vbmUKLSAgICBjb21tYW5kX2ZpbGUgPSBOb25lCi0gICAgaWYgb3B0aW9ucy5jb21tYW5kX3N0cmluZzoKLSAgICAgICAgaW5wdXQgPSBjbWRhcmdzWzBdCi0gICAgICAgIGlmIG5vdCBvcHRpb25zLmFzdDoKLSAgICAgICAgICAgIGlucHV0ICs9ICdcbicKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGFyZ3MsIGlucHV0ID0gaW50ZXJwLmRlY29kZWFyZ3MoaW5wdXQpLCBOb25lCi0gICAgICAgICAgICBlbnYsIGFzdCA9IGFyZ3MKLSAgICAgICAgICAgIGN3ZCA9IGVudi5nZXQoJ1BXRCcsIGN3ZCkKLSAgICBlbHNlOgotICAgICAgICBjb21tYW5kX2ZpbGUgPSBjbWRhcmdzWzBdCi0gICAgICAgIGFyZ3VtZW50cyA9IGNtZGFyZ3NbMTpdCi0KLSAgICAgICAgcHJlZml4ID0gaW50ZXJwLnJlc29sdmVfc2hlYmFuZyhjb21tYW5kX2ZpbGUsIGlnbm9yZXNoZWxsPVRydWUpCi0gICAgICAgIGlmIHByZWZpeDoKLSAgICAgICAgICAgIGlucHV0ID0gJyAnLmpvaW4ocHJlZml4ICsgW2NvbW1hbmRfZmlsZV0gKyBhcmd1bWVudHMpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAjIFJlYWQgY29tbWFuZHMgZnJvbSBmaWxlCi0gICAgICAgICAgICBmID0gZmlsZShjb21tYW5kX2ZpbGUpCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgIyBUcmFpbGluZyBuZXdsaW5lIHRvIGhlbHAgdGhlIHBhcnNlcgotICAgICAgICAgICAgICAgIGlucHV0ID0gZi5yZWFkKCkgKyAnXG4nCi0gICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgIGYuY2xvc2UoKQotICAgIAotICAgIHJlZGlyZWN0ID0gTm9uZQotICAgIHRyeToKLSAgICAgICAgaWYgb3B0aW9ucy5yZWRpcmVjdGVkOgotICAgICAgICAgICAgc3Rkb3V0ID0gc3lzLnN0ZG91dAotICAgICAgICAgICAgc3RkZXJyID0gc3Rkb3V0Ci0gICAgICAgIGVsaWYgb3B0aW9ucy5yZWRpcmVjdF90bzoKLSAgICAgICAgICAgIHJlZGlyZWN0ID0gb3BlbihvcHRpb25zLnJlZGlyZWN0X3RvLCAnd2InKQotICAgICAgICAgICAgc3Rkb3V0ID0gcmVkaXJlY3QKLSAgICAgICAgICAgIHN0ZGVyciA9IHJlZGlyZWN0Ci0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzdGRvdXQgPSBzeXMuc3Rkb3V0Ci0gICAgICAgICAgICBzdGRlcnIgPSBzeXMuc3RkZXJyCi0gICAgICAgICAgICAKLSAgICAgICAgIyBUT0RPOiBzZXQgYXJndW1lbnRzIHRvIGVudmlyb25tZW50IHZhcmlhYmxlcwotICAgICAgICBvcHRzID0gaW50ZXJwLk9wdGlvbnMoKQotICAgICAgICBvcHRzLmhnYmluYXJ5ID0gaGdiaW4KLSAgICAgICAgaXAgPSBpbnRlcnAuSW50ZXJwcmV0ZXIoY3dkLCBkZWJ1Z2ZsYWdzLCBzdGRvdXQ9c3Rkb3V0LCBzdGRlcnI9c3RkZXJyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRzPW9wdHMpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgICMgRXhwb3J0IGdpdmVuIGVudmlyb25tZW50IGluIHNoZWxsIG9iamVjdAotICAgICAgICAgICAgZm9yIGssdiBpbiBlbnYuaXRlcml0ZW1zKCk6Ci0gICAgICAgICAgICAgICAgaXAuZ2V0X2VudigpLmV4cG9ydChrLHYpCi0gICAgICAgICAgICByZXR1cm4gaXAuZXhlY3V0ZV9zY3JpcHQoaW5wdXQsIGFzdCwgc2NyaXB0cGF0aD1jb21tYW5kX2ZpbGUpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBpcC5jbG9zZSgpCi0gICAgZmluYWxseToKLSAgICAgICAgaWYgcmVkaXJlY3QgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICByZWRpcmVjdC5jbG9zZSgpCi0KLWRlZiBzaChjd2Q9Tm9uZSwgYXJncz1Ob25lLCBkZWJ1Z2ZsYWdzPU5vbmUsIGVudj1Ob25lKToKLSAgICBpZiBhcmdzIGlzIE5vbmU6Ci0gICAgICAgIGFyZ3MgPSBzeXMuYXJndlsxOl0KLSAgICBzaGFyZ3MsIGNtZGFyZ3MgPSBzcGxpdF9hcmdzKGFyZ3MpCi0gICAgb3B0aW9ucywgc2hhcmdzID0gU0hfT1BULnBhcnNlX2FyZ3Moc2hhcmdzKQotCi0gICAgaWYgb3B0aW9ucy5wcm9maWxlOgotICAgICAgICBpbXBvcnQgbHNwcm9mCi0gICAgICAgIHAgPSBsc3Byb2YuUHJvZmlsZXIoKQotICAgICAgICBwLmVuYWJsZShzdWJjYWxscz1UcnVlKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gX3NoKGN3ZCwgc2hhcmdzLCBjbWRhcmdzLCBvcHRpb25zLCBkZWJ1Z2ZsYWdzLCBlbnYpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBwLmRpc2FibGUoKQotICAgICAgICAgICAgc3RhdHMgPSBsc3Byb2YuU3RhdHMocC5nZXRzdGF0cygpKQotICAgICAgICAgICAgc3RhdHMuc29ydCgpCi0gICAgICAgICAgICBzdGF0cy5wcHJpbnQodG9wPTEwLCBmaWxlPXN5cy5zdGRlcnIsIGNsaW1pdD01KQotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiBfc2goY3dkLCBzaGFyZ3MsIGNtZGFyZ3MsIG9wdGlvbnMsIGRlYnVnZmxhZ3MsIGVudikKLSAgICAgICAgICAgIAotZGVmIG1haW4oKToKLSAgICBzeXMuZXhpdChzaCgpKQotCi1pZiBfX25hbWVfXz09J19fbWFpbl9fJzoKLSAgICBtYWluKCkKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9weXNobGV4LnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3B5c2hsZXgucHkKaW5kZXggZmJmMDk0Yi4uYTQyYzI5NCAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3B5c2hsZXgucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3B5c2hsZXgucHkKQEAgLTEzLDExICsxMyw2IEBACiAjIFBMWSBpbiBwdWxsIG1vZGUuIEl0IHdhcyBkZXNpZ25lZCB0byB3b3JrIGluY3JlbWVudGFsbHkgYW5kIGl0IHdvdWxkIG5vdCBiZQogIyB0aGF0IGhhcmQgdG8gZW5hYmxlIHB1bGwgbW9kZS4KIGltcG9ydCByZQotdHJ5OgotICAgIHMgPSBzZXQoKQotICAgIGRlbCBzCi1leGNlcHQgTmFtZUVycm9yOgotICAgIGZyb20gU2V0IGltcG9ydCBTZXQgYXMgc2V0CiAKIGZyb20gcGx5IGltcG9ydCBsZXgKIGZyb20gYmIucHlzaC5zaGVycm9ycyBpbXBvcnQgKgpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3B5c2h5YWNjLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3B5c2h5YWNjLnB5CmluZGV4IGJhNGNlZmQuLmRlNTY1ZGMgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9weXNoeWFjYy5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvcHlzaHlhY2MucHkKQEAgLTYzNiwxMyArNjM2LDE2IEBACiBkZWYgcF9lcnJvcihwKToKICAgICBtc2cgPSBbXQogICAgIHcgPSBtc2cuYXBwZW5kCi0gICAgdygnJXJcbicgJSBwKQotICAgIHcoJ2ZvbGxvd2VkIGJ5OlxuJykKLSAgICBmb3IgaSBpbiByYW5nZSg1KToKLSAgICAgICAgbiA9IHlhY2MudG9rZW4oKQotICAgICAgICBpZiBub3QgbjoKLSAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIHcoJyAgJXJcbicgJSBuKQorICAgIGlmIHA6CisgICAgICAgIHcoJyVyXG4nICUgcCkKKyAgICAgICAgdygnZm9sbG93ZWQgYnk6XG4nKQorICAgICAgICBmb3IgaSBpbiByYW5nZSg1KToKKyAgICAgICAgICAgIG4gPSB5YWNjLnRva2VuKCkKKyAgICAgICAgICAgIGlmIG5vdCBuOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICB3KCcgICVyXG4nICUgbikKKyAgICBlbHNlOgorICAgICAgICB3KCdVbmV4cGVjdGVkIEVPRicpCiAgICAgcmFpc2Ugc2hlcnJvcnMuU2hlbGxTeW50YXhFcnJvcignJy5qb2luKG1zZykpCiAKICMgQnVpbGQgdGhlIHBhcnNlcgpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3NoZXJyb3JzLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3NoZXJyb3JzLnB5CmluZGV4IDQ5ZDA1MzMuLjNmZThlNDcgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9zaGVycm9ycy5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvc2hlcnJvcnMucHkKQEAgLTEzLDI5ICsxMywzIEBACiAKIGNsYXNzIFNoZWxsU3ludGF4RXJyb3IoU2hlbGxFcnJvcik6CiAgICAgcGFzcwotICAgIAotY2xhc3MgVXRpbGl0eUVycm9yKFNoZWxsRXJyb3IpOgotICAgICIiIlJhaXNlZCB1cG9uIHV0aWxpdHkgc3ludGF4IGVycm9yIChvcHRpb24gb3Igb3BlcmFuZCBlcnJvcikuIiIiCi0gICAgcGFzcwotICAgCi1jbGFzcyBFeHBhbnNpb25FcnJvcihTaGVsbEVycm9yKToKLSAgICBwYXNzCi0gICAgIAotY2xhc3MgQ29tbWFuZE5vdEZvdW5kKFNoZWxsRXJyb3IpOgotICAgICIiIlNwZWNpZmllZCBjb21tYW5kIHdhcyBub3QgZm91bmQuIiIiCi0gICAgcGFzcwotICAgIAotY2xhc3MgUmVkaXJlY3Rpb25FcnJvcihTaGVsbEVycm9yKToKLSAgICBwYXNzCi0gICAgCi1jbGFzcyBWYXJBc3NpZ25tZW50RXJyb3IoU2hlbGxFcnJvcik6Ci0gICAgIiIiVmFyaWFibGUgYXNzaWdubWVudCBlcnJvci4iIiIKLSAgICBwYXNzCi0gICAgCi1jbGFzcyBFeGl0U2lnbmFsKFNoZWxsRXJyb3IpOgotICAgICIiIkV4aXQgc2lnbmFsLiIiIgotICAgIHBhc3MKLSAgICAKLWNsYXNzIFJldHVyblNpZ25hbChTaGVsbEVycm9yKToKLSAgICAiIiJFeGl0IHNpZ25hbC4iIiIKLSAgICBwYXNzCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvc3VicHJvY2Vzc19maXgucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvc3VicHJvY2Vzc19maXgucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2ZWNhMjIuLjAwMDAwMDAKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3N1YnByb2Nlc3NfZml4LnB5CisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotIyBzdWJwcm9jZXNzIC0gU3VicHJvY2Vzc2VzIHdpdGggYWNjZXNzaWJsZSBJL08gc3RyZWFtcwotIwotIyBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIG1vZHVsZSwgc2VlIFBFUCAzMjQuCi0jCi0jIFRoaXMgbW9kdWxlIHNob3VsZCByZW1haW4gY29tcGF0aWJsZSB3aXRoIFB5dGhvbiAyLjIsIHNlZSBQRVAgMjkxLgotIwotIyBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSBieSBQZXRlciBBc3RyYW5kIDxhc3RyYW5kQGx5c2F0b3IubGl1LnNlPgotIwotIyBMaWNlbnNlZCB0byBQU0YgdW5kZXIgYSBDb250cmlidXRvciBBZ3JlZW1lbnQuCi0jIFNlZSBodHRwOi8vd3d3LnB5dGhvbi5vcmcvMi40L2xpY2Vuc2UgZm9yIGxpY2Vuc2luZyBkZXRhaWxzLgotCi1kZWYgbGlzdDJjbWRsaW5lKHNlcSk6Ci0gICAgIiIiCi0gICAgVHJhbnNsYXRlIGEgc2VxdWVuY2Ugb2YgYXJndW1lbnRzIGludG8gYSBjb21tYW5kIGxpbmUKLSAgICBzdHJpbmcsIHVzaW5nIHRoZSBzYW1lIHJ1bGVzIGFzIHRoZSBNUyBDIHJ1bnRpbWU6Ci0KLSAgICAxKSBBcmd1bWVudHMgYXJlIGRlbGltaXRlZCBieSB3aGl0ZSBzcGFjZSwgd2hpY2ggaXMgZWl0aGVyIGEKLSAgICAgICBzcGFjZSBvciBhIHRhYi4KLQotICAgIDIpIEEgc3RyaW5nIHN1cnJvdW5kZWQgYnkgZG91YmxlIHF1b3RhdGlvbiBtYXJrcyBpcwotICAgICAgIGludGVycHJldGVkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LCByZWdhcmRsZXNzIG9mIHdoaXRlIHNwYWNlCi0gICAgICAgY29udGFpbmVkIHdpdGhpbi4gIEEgcXVvdGVkIHN0cmluZyBjYW4gYmUgZW1iZWRkZWQgaW4gYW4KLSAgICAgICBhcmd1bWVudC4KLQotICAgIDMpIEEgZG91YmxlIHF1b3RhdGlvbiBtYXJrIHByZWNlZGVkIGJ5IGEgYmFja3NsYXNoIGlzCi0gICAgICAgaW50ZXJwcmV0ZWQgYXMgYSBsaXRlcmFsIGRvdWJsZSBxdW90YXRpb24gbWFyay4KLQotICAgIDQpIEJhY2tzbGFzaGVzIGFyZSBpbnRlcnByZXRlZCBsaXRlcmFsbHksIHVubGVzcyB0aGV5Ci0gICAgICAgaW1tZWRpYXRlbHkgcHJlY2VkZSBhIGRvdWJsZSBxdW90YXRpb24gbWFyay4KLQotICAgIDUpIElmIGJhY2tzbGFzaGVzIGltbWVkaWF0ZWx5IHByZWNlZGUgYSBkb3VibGUgcXVvdGF0aW9uIG1hcmssCi0gICAgICAgZXZlcnkgcGFpciBvZiBiYWNrc2xhc2hlcyBpcyBpbnRlcnByZXRlZCBhcyBhIGxpdGVyYWwKLSAgICAgICBiYWNrc2xhc2guICBJZiB0aGUgbnVtYmVyIG9mIGJhY2tzbGFzaGVzIGlzIG9kZCwgdGhlIGxhc3QKLSAgICAgICBiYWNrc2xhc2ggZXNjYXBlcyB0aGUgbmV4dCBkb3VibGUgcXVvdGF0aW9uIG1hcmsgYXMKLSAgICAgICBkZXNjcmliZWQgaW4gcnVsZSAzLgotICAgICIiIgotCi0gICAgIyBTZWUKLSAgICAjIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vbGlicmFyeS9lbi11cy92Y2NlbG5nL2h0bS9wcm9nc18xMi5hc3AKLSAgICByZXN1bHQgPSBbXQotICAgIG5lZWRxdW90ZSA9IEZhbHNlCi0gICAgZm9yIGFyZyBpbiBzZXE6Ci0gICAgICAgIGJzX2J1ZiA9IFtdCi0KLSAgICAgICAgIyBBZGQgYSBzcGFjZSB0byBzZXBhcmF0ZSB0aGlzIGFyZ3VtZW50IGZyb20gdGhlIG90aGVycwotICAgICAgICBpZiByZXN1bHQ6Ci0gICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgJykKLQotICAgICAgICBuZWVkcXVvdGUgPSAoIiAiIGluIGFyZykgb3IgKCJcdCIgaW4gYXJnKSBvciAoInwiIGluIGFyZykgb3IgYXJnID09ICIiCi0gICAgICAgIGlmIG5lZWRxdW90ZToKLSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyInKQotCi0gICAgICAgIGZvciBjIGluIGFyZzoKLSAgICAgICAgICAgIGlmIGMgPT0gJ1xcJzoKLSAgICAgICAgICAgICAgICAjIERvbid0IGtub3cgaWYgd2UgbmVlZCB0byBkb3VibGUgeWV0LgotICAgICAgICAgICAgICAgIGJzX2J1Zi5hcHBlbmQoYykKLSAgICAgICAgICAgIGVsaWYgYyA9PSAnIic6Ci0gICAgICAgICAgICAgICAgIyBEb3VibGUgYmFja3NwYWNlcy4KLSAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCdcXCcgKiBsZW4oYnNfYnVmKSoyKQotICAgICAgICAgICAgICAgIGJzX2J1ZiA9IFtdCi0gICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnXFwiJykKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgIyBOb3JtYWwgY2hhcgotICAgICAgICAgICAgICAgIGlmIGJzX2J1ZjoKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmV4dGVuZChic19idWYpCi0gICAgICAgICAgICAgICAgICAgIGJzX2J1ZiA9IFtdCi0gICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChjKQotCi0gICAgICAgICMgQWRkIHJlbWFpbmluZyBiYWNrc3BhY2VzLCBpZiBhbnkuCi0gICAgICAgIGlmIGJzX2J1ZjoKLSAgICAgICAgICAgIHJlc3VsdC5leHRlbmQoYnNfYnVmKQotCi0gICAgICAgIGlmIG5lZWRxdW90ZToKLSAgICAgICAgICAgIHJlc3VsdC5leHRlbmQoYnNfYnVmKQotICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnIicpCi0gICAgICAgICAgICAKLSAgICByZXR1cm4gJycuam9pbihyZXN1bHQpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3J1bnF1ZXVlLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9ydW5xdWV1ZS5weQppbmRleCAzODNjMTgzLi4zMjljZGEzIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL3J1bnF1ZXVlLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvcnVucXVldWUucHkKQEAgLTM3LDExICszNywxMiBAQAogaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCBwaWNrbGUKIGZyb20gbXVsdGlwcm9jZXNzaW5nIGltcG9ydCBQcm9jZXNzCitpbXBvcnQgc2hsZXgKIAogYmJsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiQml0QmFrZSIpCiBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiQml0QmFrZS5SdW5RdWV1ZSIpCiAKLV9fZmluZF9tZDVfXyA9IHJlLmNvbXBpbGUoIHInKD9pKSg/PCFbYS16MC05XSlbYS1mMC05XXszMn0oPyFbYS16MC05XSknICkKK19fZmluZF9zaGEyNTZfXyA9IHJlLmNvbXBpbGUoIHInKD9pKSg/PCFbYS16MC05XSlbYS1mMC05XXs2NH0oPyFbYS16MC05XSknICkKIAogZGVmIGZuX2Zyb21fdGlkKHRpZCk6CiAgICAgIHJldHVybiB0aWQucnNwbGl0KCI6IiwgMSlbMF0KQEAgLTM1MSw2ICszNTIsNyBAQAogICAgICAgICBzZWxmLmRlcGVuZHMgPSBzZXQoKQogICAgICAgICBzZWxmLnJldmRlcHMgPSBzZXQoKQogICAgICAgICBzZWxmLmhhc2ggPSBOb25lCisgICAgICAgIHNlbGYudW5paGFzaCA9IE5vbmUKICAgICAgICAgc2VsZi50YXNrID0gTm9uZQogICAgICAgICBzZWxmLndlaWdodCA9IDEKIApAQCAtMzkwLDYgKzM5Miw5IEBACiAgICAgZGVmIGdldF90YXNrX2hhc2goc2VsZiwgdGlkKToKICAgICAgICAgcmV0dXJuIHNlbGYucnVudGFza2VudHJpZXNbdGlkXS5oYXNoCiAKKyAgICBkZWYgZ2V0X3Rhc2tfdW5paGFzaChzZWxmLCB0aWQpOgorICAgICAgICByZXR1cm4gc2VsZi5ydW50YXNrZW50cmllc1t0aWRdLnVuaWhhc2gKKwogICAgIGRlZiBnZXRfdXNlcl9pZHN0cmluZyhzZWxmLCB0aWQsIHRhc2tfbmFtZV9zdWZmaXggPSAiIik6CiAgICAgICAgIHJldHVybiB0aWQgKyB0YXNrX25hbWVfc3VmZml4CiAKQEAgLTExNjEsMTggKzExNjYsMjEgQEAKICAgICAgICAgICAgICAgICBpZiBsZW4oc2VsZi5ydW50YXNrZW50cmllc1t0aWRdLmRlcGVuZHMgLSBkZWFsdHdpdGgpID09IDA6CiAgICAgICAgICAgICAgICAgICAgIGRlYWx0d2l0aC5hZGQodGlkKQogICAgICAgICAgICAgICAgICAgICB0b2RlYWwucmVtb3ZlKHRpZCkKLSAgICAgICAgICAgICAgICAgICAgcHJvY2RlcCA9IFtdCi0gICAgICAgICAgICAgICAgICAgIGZvciBkZXAgaW4gc2VsZi5ydW50YXNrZW50cmllc1t0aWRdLmRlcGVuZHM6Ci0gICAgICAgICAgICAgICAgICAgICAgICBwcm9jZGVwLmFwcGVuZChmbl9mcm9tX3RpZChkZXApICsgIi4iICsgdGFza25hbWVfZnJvbV90aWQoZGVwKSkKLSAgICAgICAgICAgICAgICAgICAgKG1jLCBmbiwgdGFza25hbWUsIHRhc2tmbikgPSBzcGxpdF90aWRfbWNmbih0aWQpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYucnVudGFza2VudHJpZXNbdGlkXS5oYXNoID0gYmIucGFyc2Uuc2lnZ2VuLmdldF90YXNraGFzaCh0YXNrZm4sIHRhc2tuYW1lLCBwcm9jZGVwLCBzZWxmLmRhdGFDYWNoZXNbbWNdKQotICAgICAgICAgICAgICAgICAgICB0YXNrID0gc2VsZi5ydW50YXNrZW50cmllc1t0aWRdLnRhc2sKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5wcmVwYXJlX3Rhc2tfaGFzaCh0aWQpCiAKICAgICAgICAgYmIucGFyc2Uuc2lnZ2VuLndyaXRlb3V0X2ZpbGVfY2hlY2tzdW1fY2FjaGUoKQogCiAgICAgICAgICNzZWxmLmR1bXBfZGF0YSgpCiAgICAgICAgIHJldHVybiBsZW4oc2VsZi5ydW50YXNrZW50cmllcykKIAorICAgIGRlZiBwcmVwYXJlX3Rhc2tfaGFzaChzZWxmLCB0aWQpOgorICAgICAgICBwcm9jZGVwID0gW10KKyAgICAgICAgZm9yIGRlcCBpbiBzZWxmLnJ1bnRhc2tlbnRyaWVzW3RpZF0uZGVwZW5kczoKKyAgICAgICAgICAgIHByb2NkZXAuYXBwZW5kKGZuX2Zyb21fdGlkKGRlcCkgKyAiLiIgKyB0YXNrbmFtZV9mcm9tX3RpZChkZXApKQorICAgICAgICAobWMsIGZuLCB0YXNrbmFtZSwgdGFza2ZuKSA9IHNwbGl0X3RpZF9tY2ZuKHRpZCkKKyAgICAgICAgc2VsZi5ydW50YXNrZW50cmllc1t0aWRdLmhhc2ggPSBiYi5wYXJzZS5zaWdnZW4uZ2V0X3Rhc2toYXNoKHRhc2tmbiwgdGFza25hbWUsIHByb2NkZXAsIHNlbGYuZGF0YUNhY2hlc1ttY10pCisgICAgICAgIHNlbGYucnVudGFza2VudHJpZXNbdGlkXS51bmloYXNoID0gYmIucGFyc2Uuc2lnZ2VuLmdldF91bmloYXNoKHRhc2tmbiArICIuIiArIHRhc2tuYW1lKQorCiAgICAgZGVmIGR1bXBfZGF0YShzZWxmKToKICAgICAgICAgIiIiCiAgICAgICAgIER1bXAgc29tZSBkZWJ1ZyBpbmZvcm1hdGlvbiBvbiB0aGUgaW50ZXJuYWwgZGF0YSBzdHJ1Y3R1cmVzCkBAIC0xMjI0LDI4ICsxMjMyLDIzIEBACiAgICAgICAgIGlmIGZha2Vyb290OgogICAgICAgICAgICAgbWFnaWMgPSBtYWdpYyArICJiZWVmIgogICAgICAgICAgICAgbWNkYXRhID0gc2VsZi5jb29rZXIuZGF0YWJ1aWxkZXIubWNkYXRhW21jXQotICAgICAgICAgICAgZmFrZXJvb3RjbWQgPSBtY2RhdGEuZ2V0VmFyKCJGQUtFUk9PVENNRCIpCisgICAgICAgICAgICBmYWtlcm9vdGNtZCA9IHNobGV4LnNwbGl0KG1jZGF0YS5nZXRWYXIoIkZBS0VST09UQ01EIikpCiAgICAgICAgICAgICBmYWtlcm9vdGVudiA9IChtY2RhdGEuZ2V0VmFyKCJGQUtFUk9PVEJBU0VFTlYiKSBvciAiIikuc3BsaXQoKQogICAgICAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKICAgICAgICAgICAgIGZvciBrZXksIHZhbHVlIGluICh2YXIuc3BsaXQoJz0nKSBmb3IgdmFyIGluIGZha2Vyb290ZW52KToKICAgICAgICAgICAgICAgICBlbnZba2V5XSA9IHZhbHVlCi0gICAgICAgICAgICB3b3JrZXIgPSBzdWJwcm9jZXNzLlBvcGVuKFtmYWtlcm9vdGNtZCwgImJpdGJha2Utd29ya2VyIiwgbWFnaWNdLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRpbj1zdWJwcm9jZXNzLlBJUEUsIGVudj1lbnYpCisgICAgICAgICAgICB3b3JrZXIgPSBzdWJwcm9jZXNzLlBvcGVuKGZha2Vyb290Y21kICsgWyJiaXRiYWtlLXdvcmtlciIsIG1hZ2ljXSwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkaW49c3VicHJvY2Vzcy5QSVBFLCBlbnY9ZW52KQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgd29ya2VyID0gc3VicHJvY2Vzcy5Qb3BlbihbImJpdGJha2Utd29ya2VyIiwgbWFnaWNdLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRpbj1zdWJwcm9jZXNzLlBJUEUpCiAgICAgICAgIGJiLnV0aWxzLm5vbmJsb2NraW5nZmQod29ya2VyLnN0ZG91dCkKICAgICAgICAgd29ya2VycGlwZSA9IHJ1blF1ZXVlUGlwZSh3b3JrZXIuc3Rkb3V0LCBOb25lLCBzZWxmLmNmZ0RhdGEsIHNlbGYsIHJxZXhlYykKIAotICAgICAgICBydW5xaGFzaCA9IHt9Ci0gICAgICAgIGZvciB0aWQgaW4gc2VsZi5ycWRhdGEucnVudGFza2VudHJpZXM6Ci0gICAgICAgICAgICBydW5xaGFzaFt0aWRdID0gc2VsZi5ycWRhdGEucnVudGFza2VudHJpZXNbdGlkXS5oYXNoCi0KICAgICAgICAgd29ya2VyZGF0YSA9IHsKICAgICAgICAgICAgICJ0YXNrZGVwcyIgOiBzZWxmLnJxZGF0YS5kYXRhQ2FjaGVzW21jXS50YXNrX2RlcHMsCiAgICAgICAgICAgICAiZmFrZXJvb3RlbnYiIDogc2VsZi5ycWRhdGEuZGF0YUNhY2hlc1ttY10uZmFrZXJvb3RlbnYsCiAgICAgICAgICAgICAiZmFrZXJvb3RkaXJzIiA6IHNlbGYucnFkYXRhLmRhdGFDYWNoZXNbbWNdLmZha2Vyb290ZGlycywKICAgICAgICAgICAgICJmYWtlcm9vdG5vZW52IiA6IHNlbGYucnFkYXRhLmRhdGFDYWNoZXNbbWNdLmZha2Vyb290bm9lbnYsCiAgICAgICAgICAgICAic2lnZGF0YSIgOiBiYi5wYXJzZS5zaWdnZW4uZ2V0X3Rhc2tkYXRhKCksCi0gICAgICAgICAgICAicnVucV9oYXNoIiA6IHJ1bnFoYXNoLAogICAgICAgICAgICAgImxvZ2RlZmF1bHRkZWJ1ZyIgOiBiYi5tc2cubG9nZ2VyRGVmYXVsdERlYnVnTGV2ZWwsCiAgICAgICAgICAgICAibG9nZGVmYXVsdHZlcmJvc2UiIDogYmIubXNnLmxvZ2dlckRlZmF1bHRWZXJib3NlLAogICAgICAgICAgICAgImxvZ2RlZmF1bHR2ZXJib3NlbG9ncyIgOiBiYi5tc2cubG9nZ2VyVmVyYm9zZUxvZ3MsCkBAIC0xMzg3LDYgKzEzOTAsMjYgQEAKICAgICAgICAgICAgIGNhY2hlW3RpZF0gPSBpc2N1cnJlbnQKICAgICAgICAgcmV0dXJuIGlzY3VycmVudAogCisgICAgZGVmIHZhbGlkYXRlX2hhc2goc2VsZiwgKiwgc3FfZm4sIHNxX3Rhc2ssIHNxX2hhc2gsIHNxX2hhc2hmbiwgc2lnaW5mbywgc3FfdW5paGFzaCwgZCk6CisgICAgICAgIGxvY3MgPSB7InNxX2ZuIiA6IHNxX2ZuLCAic3FfdGFzayIgOiBzcV90YXNrLCAic3FfaGFzaCIgOiBzcV9oYXNoLCAic3FfaGFzaGZuIiA6IHNxX2hhc2hmbiwKKyAgICAgICAgICAgICAgICAic3FfdW5paGFzaCIgOiBzcV91bmloYXNoLCAic2lnaW5mbyIgOiBzaWdpbmZvLCAiZCIgOiBkfQorCisgICAgICAgIGhhc2h2YWxpZGF0ZV9hcmdzID0gKCIoc3FfZm4sIHNxX3Rhc2ssIHNxX2hhc2gsIHNxX2hhc2hmbiwgZCwgc2lnaW5mbz1zaWdpbmZvLCBzcV91bmloYXNoPXNxX3VuaWhhc2gpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIihzcV9mbiwgc3FfdGFzaywgc3FfaGFzaCwgc3FfaGFzaGZuLCBkLCBzaWdpbmZvPXNpZ2luZm8pIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIihzcV9mbiwgc3FfdGFzaywgc3FfaGFzaCwgc3FfaGFzaGZuLCBkKSIpCisKKyAgICAgICAgZm9yIGFyZ3MgaW4gaGFzaHZhbGlkYXRlX2FyZ3NbOi0xXToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBjYWxsID0gc2VsZi5oYXNodmFsaWRhdGUgKyBhcmdzCisgICAgICAgICAgICAgICAgcmV0dXJuIGJiLnV0aWxzLmJldHRlcl9ldmFsKGNhbGwsIGxvY3MpCisgICAgICAgICAgICBleGNlcHQgVHlwZUVycm9yOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgIyBDYWxsIHRoZSBsYXN0IGVudHJ5IHdpdGhvdXQgYSB0cnkuLi5jYXRjaCB0byBwcm9wYWdhdGUgYW55IHRocm93bgorICAgICAgICAjIFR5cGVFcnJvcgorICAgICAgICBjYWxsID0gc2VsZi5oYXNodmFsaWRhdGUgKyBoYXNodmFsaWRhdGVfYXJnc1stMV0KKyAgICAgICAgcmV0dXJuIGJiLnV0aWxzLmJldHRlcl9ldmFsKGNhbGwsIGxvY3MpCisKICAgICBkZWYgX2V4ZWN1dGVfcnVucXVldWUoc2VsZik6CiAgICAgICAgICIiIgogICAgICAgICBSdW4gdGhlIHRhc2tzIGluIGEgcXVldWUgcHJlcGFyZWQgYnkgcnFkYXRhLnByZXBhcmUoKQpAQCAtMTU1OCw2ICsxNTgxLDcgQEAKICAgICAgICAgdmFsaWQgPSBbXQogICAgICAgICBzcV9oYXNoID0gW10KICAgICAgICAgc3FfaGFzaGZuID0gW10KKyAgICAgICAgc3FfdW5paGFzaCA9IFtdCiAgICAgICAgIHNxX2ZuID0gW10KICAgICAgICAgc3FfdGFza25hbWUgPSBbXQogICAgICAgICBzcV90YXNrID0gW10KQEAgLTE1NzYsMTYgKzE2MDAsMTMgQEAKICAgICAgICAgICAgIHNxX2ZuLmFwcGVuZChmbikKICAgICAgICAgICAgIHNxX2hhc2hmbi5hcHBlbmQoc2VsZi5ycWRhdGEuZGF0YUNhY2hlc1ttY10uaGFzaGZuW3Rhc2tmbl0pCiAgICAgICAgICAgICBzcV9oYXNoLmFwcGVuZChzZWxmLnJxZGF0YS5ydW50YXNrZW50cmllc1t0aWRdLmhhc2gpCisgICAgICAgICAgICBzcV91bmloYXNoLmFwcGVuZChzZWxmLnJxZGF0YS5ydW50YXNrZW50cmllc1t0aWRdLnVuaWhhc2gpCiAgICAgICAgICAgICBzcV90YXNrbmFtZS5hcHBlbmQodGFza25hbWUpCiAgICAgICAgICAgICBzcV90YXNrLmFwcGVuZCh0aWQpCi0gICAgICAgIGxvY3MgPSB7ICJzcV9mbiIgOiBzcV9mbiwgInNxX3Rhc2siIDogc3FfdGFza25hbWUsICJzcV9oYXNoIiA6IHNxX2hhc2gsICJzcV9oYXNoZm4iIDogc3FfaGFzaGZuLCAiZCIgOiBzZWxmLmNvb2tlci5kYXRhIH0KLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgY2FsbCA9IHNlbGYuaGFzaHZhbGlkYXRlICsgIihzcV9mbiwgc3FfdGFzaywgc3FfaGFzaCwgc3FfaGFzaGZuLCBkLCBzaWdpbmZvPVRydWUpIgotICAgICAgICAgICAgdmFsaWQgPSBiYi51dGlscy5iZXR0ZXJfZXZhbChjYWxsLCBsb2NzKQotICAgICAgICAjIEhhbmRsZSB2ZXJzaW9uIHdpdGggbm8gc2lnaW5mbyBwYXJhbWV0ZXIKLSAgICAgICAgZXhjZXB0IFR5cGVFcnJvcjoKLSAgICAgICAgICAgIGNhbGwgPSBzZWxmLmhhc2h2YWxpZGF0ZSArICIoc3FfZm4sIHNxX3Rhc2ssIHNxX2hhc2gsIHNxX2hhc2hmbiwgZCkiCi0gICAgICAgICAgICB2YWxpZCA9IGJiLnV0aWxzLmJldHRlcl9ldmFsKGNhbGwsIGxvY3MpCisKKyAgICAgICAgdmFsaWQgPSBzZWxmLnZhbGlkYXRlX2hhc2goc3FfZm49c3FfZm4sIHNxX3Rhc2s9c3FfdGFza25hbWUsIHNxX2hhc2g9c3FfaGFzaCwgc3FfaGFzaGZuPXNxX2hhc2hmbiwKKyAgICAgICAgICAgICAgICBzaWdpbmZvPVRydWUsIHNxX3VuaWhhc2g9c3FfdW5paGFzaCwgZD1zZWxmLmNvb2tlci5kYXRhKQorCiAgICAgICAgIGZvciB2IGluIHZhbGlkOgogICAgICAgICAgICAgdmFsaWRfbmV3LmFkZChzcV90YXNrW3ZdKQogCkBAIC0xNjY3LDcgKzE2ODgsNyBAQAogICAgICAgICAgICAgbWF0Y2hlcyA9IHtrIDogdiBmb3IgaywgdiBpbiBpdGVyKG1hdGNoZXMuaXRlbXMoKSkgaWYgaCBub3QgaW4ga30KICAgICAgICAgICAgIGlmIG1hdGNoZXM6CiAgICAgICAgICAgICAgICAgbGF0ZXN0bWF0Y2ggPSBzb3J0ZWQobWF0Y2hlcy5rZXlzKCksIGtleT1sYW1iZGEgZjogbWF0Y2hlc1tmXSlbLTFdCi0gICAgICAgICAgICAgICAgcHJldmggPSBfX2ZpbmRfbWQ1X18uc2VhcmNoKGxhdGVzdG1hdGNoKS5ncm91cCgwKQorICAgICAgICAgICAgICAgIHByZXZoID0gX19maW5kX3NoYTI1Nl9fLnNlYXJjaChsYXRlc3RtYXRjaCkuZ3JvdXAoMCkKICAgICAgICAgICAgICAgICBvdXRwdXQgPSBiYi5zaWdnZW4uY29tcGFyZV9zaWdmaWxlcyhsYXRlc3RtYXRjaCwgbWF0Y2gsIHJlY3Vyc2VjYikKICAgICAgICAgICAgICAgICBiYi5wbGFpbigiXG5UYXNrICVzOiVzIGNvdWxkbid0IGJlIHVzZWQgZnJvbSB0aGUgY2FjaGUgYmVjYXVzZTpcbiAgV2UgbmVlZCBoYXNoICVzLCBjbG9zZXN0IG1hdGNoaW5nIHRhc2sgd2FzICVzXG4gICIgJSAocG4sIHRhc2tuYW1lLCBoLCBwcmV2aCkgKyAnXG4gICcuam9pbihvdXRwdXQpKQogCkBAIC0yMDQyLDYgKzIwNjMsOCBAQAogICAgICAgICAgICAgdGFza2RlcGRhdGEgPSBzZWxmLmJ1aWxkX3Rhc2tkZXBkYXRhKHRhc2spCiAKICAgICAgICAgICAgIHRhc2tkZXAgPSBzZWxmLnJxZGF0YS5kYXRhQ2FjaGVzW21jXS50YXNrX2RlcHNbdGFza2ZuXQorICAgICAgICAgICAgdGFza2hhc2ggPSBzZWxmLnJxZGF0YS5nZXRfdGFza19oYXNoKHRhc2spCisgICAgICAgICAgICB1bmloYXNoID0gc2VsZi5ycWRhdGEuZ2V0X3Rhc2tfdW5paGFzaCh0YXNrKQogICAgICAgICAgICAgaWYgJ2Zha2Vyb290JyBpbiB0YXNrZGVwIGFuZCB0YXNrbmFtZSBpbiB0YXNrZGVwWydmYWtlcm9vdCddIGFuZCBub3QgKHNlbGYuY29va2VyLmNvbmZpZ3VyYXRpb24uZHJ5X3J1biBvciBzZWxmLnJxZGF0YS5zZXRzY2VuZV9lbmZvcmNlKToKICAgICAgICAgICAgICAgICBpZiBub3QgbWMgaW4gc2VsZi5ycS5mYWtld29ya2VyOgogICAgICAgICAgICAgICAgICAgICB0cnk6CkBAIC0yMDUxLDEwICsyMDc0LDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJxLnN0YXRlID0gcnVuUXVldWVGYWlsZWQKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RhdHMudGFza0ZhaWxlZCgpCiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICAgICAgICAgIHNlbGYucnEuZmFrZXdvcmtlclttY10ucHJvY2Vzcy5zdGRpbi53cml0ZShiIjxydW50YXNrPiIgKyBwaWNrbGUuZHVtcHMoKHRhc2tmbiwgdGFzaywgdGFza25hbWUsIEZhbHNlLCBzZWxmLmNvb2tlci5jb2xsZWN0aW9uLmdldF9maWxlX2FwcGVuZHModGFza2ZuKSwgdGFza2RlcGRhdGEsIHNlbGYucnFkYXRhLnNldHNjZW5lX2VuZm9yY2UpKSArIGIiPC9ydW50YXNrPiIpCisgICAgICAgICAgICAgICAgc2VsZi5ycS5mYWtld29ya2VyW21jXS5wcm9jZXNzLnN0ZGluLndyaXRlKGIiPHJ1bnRhc2s+IiArIHBpY2tsZS5kdW1wcygodGFza2ZuLCB0YXNrLCB0YXNrbmFtZSwgdGFza2hhc2gsIHVuaWhhc2gsIEZhbHNlLCBzZWxmLmNvb2tlci5jb2xsZWN0aW9uLmdldF9maWxlX2FwcGVuZHModGFza2ZuKSwgdGFza2RlcGRhdGEsIHNlbGYucnFkYXRhLnNldHNjZW5lX2VuZm9yY2UpKSArIGIiPC9ydW50YXNrPiIpCiAgICAgICAgICAgICAgICAgc2VsZi5ycS5mYWtld29ya2VyW21jXS5wcm9jZXNzLnN0ZGluLmZsdXNoKCkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5ycS53b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4ud3JpdGUoYiI8cnVudGFzaz4iICsgcGlja2xlLmR1bXBzKCh0YXNrZm4sIHRhc2ssIHRhc2tuYW1lLCBGYWxzZSwgc2VsZi5jb29rZXIuY29sbGVjdGlvbi5nZXRfZmlsZV9hcHBlbmRzKHRhc2tmbiksIHRhc2tkZXBkYXRhLCBzZWxmLnJxZGF0YS5zZXRzY2VuZV9lbmZvcmNlKSkgKyBiIjwvcnVudGFzaz4iKQorICAgICAgICAgICAgICAgIHNlbGYucnEud29ya2VyW21jXS5wcm9jZXNzLnN0ZGluLndyaXRlKGIiPHJ1bnRhc2s+IiArIHBpY2tsZS5kdW1wcygodGFza2ZuLCB0YXNrLCB0YXNrbmFtZSwgdGFza2hhc2gsIHVuaWhhc2gsIEZhbHNlLCBzZWxmLmNvb2tlci5jb2xsZWN0aW9uLmdldF9maWxlX2FwcGVuZHModGFza2ZuKSwgdGFza2RlcGRhdGEsIHNlbGYucnFkYXRhLnNldHNjZW5lX2VuZm9yY2UpKSArIGIiPC9ydW50YXNrPiIpCiAgICAgICAgICAgICAgICAgc2VsZi5ycS53b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4uZmx1c2goKQogCiAgICAgICAgICAgICBzZWxmLmJ1aWxkX3N0YW1wc1t0YXNrXSA9IGJiLmJ1aWxkLnN0YW1wZmlsZSh0YXNrbmFtZSwgc2VsZi5ycWRhdGEuZGF0YUNhY2hlc1ttY10sIHRhc2tmbiwgbm9leHRyYT1UcnVlKQpAQCAtMjEwOSw4ICsyMTMyLDkgQEAKICAgICAgICAgICAgICAgICBkZXBzID0gc2VsZi5ycWRhdGEucnVudGFza2VudHJpZXNbcmV2ZGVwXS5kZXBlbmRzCiAgICAgICAgICAgICAgICAgcHJvdmlkZXMgPSBzZWxmLnJxZGF0YS5kYXRhQ2FjaGVzW21jXS5mbl9wcm92aWRlc1t0YXNrZm5dCiAgICAgICAgICAgICAgICAgdGFza2hhc2ggPSBzZWxmLnJxZGF0YS5ydW50YXNrZW50cmllc1tyZXZkZXBdLmhhc2gKLSAgICAgICAgICAgICAgICB0YXNrZGVwZGF0YVtyZXZkZXBdID0gW3BuLCB0YXNrbmFtZSwgZm4sIGRlcHMsIHByb3ZpZGVzLCB0YXNraGFzaF0KKyAgICAgICAgICAgICAgICB1bmloYXNoID0gc2VsZi5ycWRhdGEucnVudGFza2VudHJpZXNbcmV2ZGVwXS51bmloYXNoCiAgICAgICAgICAgICAgICAgZGVwcyA9IHNlbGYuZmlsdGVybWNkZXBzKHRhc2ssIGRlcHMpCisgICAgICAgICAgICAgICAgdGFza2RlcGRhdGFbcmV2ZGVwXSA9IFtwbiwgdGFza25hbWUsIGZuLCBkZXBzLCBwcm92aWRlcywgdGFza2hhc2gsIHVuaWhhc2hdCiAgICAgICAgICAgICAgICAgZm9yIHJldmRlcDIgaW4gZGVwczoKICAgICAgICAgICAgICAgICAgICAgaWYgcmV2ZGVwMiBub3QgaW4gdGFza2RlcGRhdGE6CiAgICAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsLmFwcGVuZChyZXZkZXAyKQpAQCAtMjMxMyw2ICsyMzM3LDcgQEAKICAgICAgICAgaWYgc2VsZi5ycS5oYXNodmFsaWRhdGU6CiAgICAgICAgICAgICBzcV9oYXNoID0gW10KICAgICAgICAgICAgIHNxX2hhc2hmbiA9IFtdCisgICAgICAgICAgICBzcV91bmloYXNoID0gW10KICAgICAgICAgICAgIHNxX2ZuID0gW10KICAgICAgICAgICAgIHNxX3Rhc2tuYW1lID0gW10KICAgICAgICAgICAgIHNxX3Rhc2sgPSBbXQpAQCAtMjM0NCwxNCArMjM2OSwxNCBAQAogICAgICAgICAgICAgICAgIHNxX2ZuLmFwcGVuZChmbikKICAgICAgICAgICAgICAgICBzcV9oYXNoZm4uYXBwZW5kKHNlbGYucnFkYXRhLmRhdGFDYWNoZXNbbWNdLmhhc2hmblt0YXNrZm5dKQogICAgICAgICAgICAgICAgIHNxX2hhc2guYXBwZW5kKHNlbGYucnFkYXRhLnJ1bnRhc2tlbnRyaWVzW3RpZF0uaGFzaCkKKyAgICAgICAgICAgICAgICBzcV91bmloYXNoLmFwcGVuZChzZWxmLnJxZGF0YS5ydW50YXNrZW50cmllc1t0aWRdLnVuaWhhc2gpCiAgICAgICAgICAgICAgICAgc3FfdGFza25hbWUuYXBwZW5kKHRhc2tuYW1lKQogICAgICAgICAgICAgICAgIHNxX3Rhc2suYXBwZW5kKHRpZCkKIAogICAgICAgICAgICAgc2VsZi5jb29rZXIuZGF0YS5zZXRWYXIoIkJCX1NFVFNDRU5FX1NUQU1QQ1VSUkVOVF9DT1VOVCIsIGxlbihzdGFtcHByZXNlbnQpKQogCi0gICAgICAgICAgICBjYWxsID0gc2VsZi5ycS5oYXNodmFsaWRhdGUgKyAiKHNxX2ZuLCBzcV90YXNrLCBzcV9oYXNoLCBzcV9oYXNoZm4sIGQpIgotICAgICAgICAgICAgbG9jcyA9IHsgInNxX2ZuIiA6IHNxX2ZuLCAic3FfdGFzayIgOiBzcV90YXNrbmFtZSwgInNxX2hhc2giIDogc3FfaGFzaCwgInNxX2hhc2hmbiIgOiBzcV9oYXNoZm4sICJkIiA6IHNlbGYuY29va2VyLmRhdGEgfQotICAgICAgICAgICAgdmFsaWQgPSBiYi51dGlscy5iZXR0ZXJfZXZhbChjYWxsLCBsb2NzKQorICAgICAgICAgICAgdmFsaWQgPSBzZWxmLnJxLnZhbGlkYXRlX2hhc2goc3FfZm49c3FfZm4sIHNxX3Rhc2s9c3FfdGFza25hbWUsIHNxX2hhc2g9c3FfaGFzaCwgc3FfaGFzaGZuPXNxX2hhc2hmbiwKKyAgICAgICAgICAgICAgICAgICAgc2lnaW5mbz1GYWxzZSwgc3FfdW5paGFzaD1zcV91bmloYXNoLCBkPXNlbGYuY29va2VyLmRhdGEpCiAKICAgICAgICAgICAgIHNlbGYuY29va2VyLmRhdGEuZGVsVmFyKCJCQl9TRVRTQ0VORV9TVEFNUENVUlJFTlRfQ09VTlQiKQogCkBAIC0yNDgyLDEzICsyNTA3LDE1IEBACiAgICAgICAgICAgICB0YXNrZGVwZGF0YSA9IHNlbGYuYnVpbGRfdGFza2RlcGRhdGEodGFzaykKIAogICAgICAgICAgICAgdGFza2RlcCA9IHNlbGYucnFkYXRhLmRhdGFDYWNoZXNbbWNdLnRhc2tfZGVwc1t0YXNrZm5dCisgICAgICAgICAgICB0YXNraGFzaCA9IHNlbGYucnFkYXRhLmdldF90YXNrX2hhc2godGFzaykKKyAgICAgICAgICAgIHVuaWhhc2ggPSBzZWxmLnJxZGF0YS5nZXRfdGFza191bmloYXNoKHRhc2spCiAgICAgICAgICAgICBpZiAnZmFrZXJvb3QnIGluIHRhc2tkZXAgYW5kIHRhc2tuYW1lIGluIHRhc2tkZXBbJ2Zha2Vyb290J10gYW5kIG5vdCBzZWxmLmNvb2tlci5jb25maWd1cmF0aW9uLmRyeV9ydW46CiAgICAgICAgICAgICAgICAgaWYgbm90IG1jIGluIHNlbGYucnEuZmFrZXdvcmtlcjoKICAgICAgICAgICAgICAgICAgICAgc2VsZi5ycS5zdGFydF9mYWtld29ya2VyKHNlbGYsIG1jKQotICAgICAgICAgICAgICAgIHNlbGYucnEuZmFrZXdvcmtlclttY10ucHJvY2Vzcy5zdGRpbi53cml0ZShiIjxydW50YXNrPiIgKyBwaWNrbGUuZHVtcHMoKHRhc2tmbiwgdGFzaywgdGFza25hbWUsIFRydWUsIHNlbGYuY29va2VyLmNvbGxlY3Rpb24uZ2V0X2ZpbGVfYXBwZW5kcyh0YXNrZm4pLCB0YXNrZGVwZGF0YSwgRmFsc2UpKSArIGIiPC9ydW50YXNrPiIpCisgICAgICAgICAgICAgICAgc2VsZi5ycS5mYWtld29ya2VyW21jXS5wcm9jZXNzLnN0ZGluLndyaXRlKGIiPHJ1bnRhc2s+IiArIHBpY2tsZS5kdW1wcygodGFza2ZuLCB0YXNrLCB0YXNrbmFtZSwgdGFza2hhc2gsIHVuaWhhc2gsIFRydWUsIHNlbGYuY29va2VyLmNvbGxlY3Rpb24uZ2V0X2ZpbGVfYXBwZW5kcyh0YXNrZm4pLCB0YXNrZGVwZGF0YSwgRmFsc2UpKSArIGIiPC9ydW50YXNrPiIpCiAgICAgICAgICAgICAgICAgc2VsZi5ycS5mYWtld29ya2VyW21jXS5wcm9jZXNzLnN0ZGluLmZsdXNoKCkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5ycS53b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4ud3JpdGUoYiI8cnVudGFzaz4iICsgcGlja2xlLmR1bXBzKCh0YXNrZm4sIHRhc2ssIHRhc2tuYW1lLCBUcnVlLCBzZWxmLmNvb2tlci5jb2xsZWN0aW9uLmdldF9maWxlX2FwcGVuZHModGFza2ZuKSwgdGFza2RlcGRhdGEsIEZhbHNlKSkgKyBiIjwvcnVudGFzaz4iKQorICAgICAgICAgICAgICAgIHNlbGYucnEud29ya2VyW21jXS5wcm9jZXNzLnN0ZGluLndyaXRlKGIiPHJ1bnRhc2s+IiArIHBpY2tsZS5kdW1wcygodGFza2ZuLCB0YXNrLCB0YXNrbmFtZSwgdGFza2hhc2gsIHVuaWhhc2gsIFRydWUsIHNlbGYuY29va2VyLmNvbGxlY3Rpb24uZ2V0X2ZpbGVfYXBwZW5kcyh0YXNrZm4pLCB0YXNrZGVwZGF0YSwgRmFsc2UpKSArIGIiPC9ydW50YXNrPiIpCiAgICAgICAgICAgICAgICAgc2VsZi5ycS53b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4uZmx1c2goKQogCiAgICAgICAgICAgICBzZWxmLmJ1aWxkX3N0YW1wc1t0YXNrXSA9IGJiLmJ1aWxkLnN0YW1wZmlsZSh0YXNrbmFtZSwgc2VsZi5ycWRhdGEuZGF0YUNhY2hlc1ttY10sIHRhc2tmbiwgbm9leHRyYT1UcnVlKQpAQCAtMjU1Miw3ICsyNTc5LDggQEAKICAgICAgICAgICAgICAgICBkZXBzID0gZ2V0c2V0c2NlbmVkZXBzKHJldmRlcCkKICAgICAgICAgICAgICAgICBwcm92aWRlcyA9IHNlbGYucnFkYXRhLmRhdGFDYWNoZXNbbWNdLmZuX3Byb3ZpZGVzW3Rhc2tmbl0KICAgICAgICAgICAgICAgICB0YXNraGFzaCA9IHNlbGYucnFkYXRhLnJ1bnRhc2tlbnRyaWVzW3JldmRlcF0uaGFzaAotICAgICAgICAgICAgICAgIHRhc2tkZXBkYXRhW3JldmRlcF0gPSBbcG4sIHRhc2tuYW1lLCBmbiwgZGVwcywgcHJvdmlkZXMsIHRhc2toYXNoXQorICAgICAgICAgICAgICAgIHVuaWhhc2ggPSBzZWxmLnJxZGF0YS5ydW50YXNrZW50cmllc1tyZXZkZXBdLnVuaWhhc2gKKyAgICAgICAgICAgICAgICB0YXNrZGVwZGF0YVtyZXZkZXBdID0gW3BuLCB0YXNrbmFtZSwgZm4sIGRlcHMsIHByb3ZpZGVzLCB0YXNraGFzaCwgdW5paGFzaF0KICAgICAgICAgICAgICAgICBmb3IgcmV2ZGVwMiBpbiBkZXBzOgogICAgICAgICAgICAgICAgICAgICBpZiByZXZkZXAyIG5vdCBpbiB0YXNrZGVwZGF0YToKICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWwuYXBwZW5kKHJldmRlcDIpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3NpZ2dlbi5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvc2lnZ2VuLnB5CmluZGV4IDM1MmRjYWIuLjA5YzljOGEgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvc2lnZ2VuLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvc2lnZ2VuLnB5CkBAIC00MSw2ICs0MSw5IEBACiAgICAgZGVmIGZpbmFsaXNlKHNlbGYsIGZuLCBkLCB2YXJpZW50KToKICAgICAgICAgcmV0dXJuCiAKKyAgICBkZWYgZ2V0X3VuaWhhc2goc2VsZiwgdGFzayk6CisgICAgICAgIHJldHVybiBzZWxmLnRhc2toYXNoW3Rhc2tdCisKICAgICBkZWYgZ2V0X3Rhc2toYXNoKHNlbGYsIGZuLCB0YXNrLCBkZXBzLCBkYXRhQ2FjaGUpOgogICAgICAgICByZXR1cm4gIjAiCiAKQEAgLTg3LDcgKzkwLDcgQEAKICAgICAgICAgc2VsZi50YWludHMgPSB7fQogICAgICAgICBzZWxmLmdlbmRlcHMgPSB7fQogICAgICAgICBzZWxmLmxvb2t1cGNhY2hlID0ge30KLSAgICAgICAgc2VsZi5wa2duYW1lZXh0cmFjdCA9IHJlLmNvbXBpbGUoIig/UDxmbj4uKilcLi4qIikKKyAgICAgICAgc2VsZi5wa2duYW1lZXh0cmFjdCA9IHJlLmNvbXBpbGUociIoP1A8Zm4+LiopXC4uKiIpCiAgICAgICAgIHNlbGYuYmFzZXdoaXRlbGlzdCA9IHNldCgoZGF0YS5nZXRWYXIoIkJCX0hBU0hCQVNFX1dISVRFTElTVCIpIG9yICIiKS5zcGxpdCgpKQogICAgICAgICBzZWxmLnRhc2t3aGl0ZWxpc3QgPSBOb25lCiAgICAgICAgIHNlbGYuaW5pdF9ydW5kZXBjaGVjayhkYXRhKQpAQCAtMTg4LDcgKzE5MSw3IEBACiAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIGlmIGRlcCBub3QgaW4gc2VsZi50YXNraGFzaDoKICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiJXMgaXMgbm90IGluIHRhc2toYXNoLCBjYWxsZXIgaXNuJ3QgY2FsbGluZyBpbiBkZXBlbmRlbmN5IG9yZGVyPyIgJSBkZXApCi0gICAgICAgICAgICBkYXRhID0gZGF0YSArIHNlbGYudGFza2hhc2hbZGVwXQorICAgICAgICAgICAgZGF0YSA9IGRhdGEgKyBzZWxmLmdldF91bmloYXNoKGRlcCkKICAgICAgICAgICAgIHNlbGYucnVudGFza2RlcHNba10uYXBwZW5kKGRlcCkKIAogICAgICAgICBpZiB0YXNrIGluIGRhdGFDYWNoZS5maWxlX2NoZWNrc3Vtc1tmbl06CkBAIC0yMTUsNyArMjE4LDcgQEAKICAgICAgICAgICAgIHNlbGYudGFpbnRzW2tdID0gdGFpbnQKICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKCIlcyBpcyB0YWludGVkIGZyb20gYSBmb3JjZWQgcnVuIiAlIGspCiAKLSAgICAgICAgaCA9IGhhc2hsaWIubWQ1KGRhdGEuZW5jb2RlKCJ1dGYtOCIpKS5oZXhkaWdlc3QoKQorICAgICAgICBoID0gaGFzaGxpYi5zaGEyNTYoZGF0YS5lbmNvZGUoInV0Zi04IikpLmhleGRpZ2VzdCgpCiAgICAgICAgIHNlbGYudGFza2hhc2hba10gPSBoCiAgICAgICAgICNkLnNldFZhcigiQkJfVEFTS0hBU0hfdGFzay0lcyIgJSB0YXNrLCB0YXNraGFzaFt0YXNrXSkKICAgICAgICAgcmV0dXJuIGgKQEAgLTI2Myw3ICsyNjYsNyBAQAogICAgICAgICAgICAgZGF0YVsnZmlsZV9jaGVja3N1bV92YWx1ZXMnXSA9IFsob3MucGF0aC5iYXNlbmFtZShmKSwgY3MpIGZvciBmLGNzIGluIHNlbGYuZmlsZV9jaGVja3N1bV92YWx1ZXNba11dCiAgICAgICAgICAgICBkYXRhWydydW50YXNraGFzaGVzJ10gPSB7fQogICAgICAgICAgICAgZm9yIGRlcCBpbiBkYXRhWydydW50YXNrZGVwcyddOgotICAgICAgICAgICAgICAgIGRhdGFbJ3J1bnRhc2toYXNoZXMnXVtkZXBdID0gc2VsZi50YXNraGFzaFtkZXBdCisgICAgICAgICAgICAgICAgZGF0YVsncnVudGFza2hhc2hlcyddW2RlcF0gPSBzZWxmLmdldF91bmloYXNoKGRlcCkKICAgICAgICAgICAgIGRhdGFbJ3Rhc2toYXNoJ10gPSBzZWxmLnRhc2toYXNoW2tdCiAKICAgICAgICAgdGFpbnQgPSBzZWxmLnJlYWRfdGFpbnQoZm4sIHRhc2ssIHJlZmVyZW5jZXN0YW1wKQpAQCAtMzEzLDYgKzMxNiwxMyBAQAogY2xhc3MgU2lnbmF0dXJlR2VuZXJhdG9yQmFzaWNIYXNoKFNpZ25hdHVyZUdlbmVyYXRvckJhc2ljKToKICAgICBuYW1lID0gImJhc2ljaGFzaCIKIAorICAgIGRlZiBnZXRfc3RhbXBmaWxlX2hhc2goc2VsZiwgdGFzayk6CisgICAgICAgIGlmIHRhc2sgaW4gc2VsZi50YXNraGFzaDoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLnRhc2toYXNoW3Rhc2tdCisKKyAgICAgICAgIyBJZiB0YXNrIGlzIG5vdCBpbiBiYXNlaGFzaCwgdGhlbiBlcnJvcgorICAgICAgICByZXR1cm4gc2VsZi5iYXNlaGFzaFt0YXNrXQorCiAgICAgZGVmIHN0YW1wZmlsZShzZWxmLCBzdGFtcGJhc2UsIGZuLCB0YXNrbmFtZSwgZXh0cmFpbmZvLCBjbGVhbj1GYWxzZSk6CiAgICAgICAgIGlmIHRhc2tuYW1lICE9ICJkb19zZXRzY2VuZSIgYW5kIHRhc2tuYW1lLmVuZHN3aXRoKCJfc2V0c2NlbmUiKToKICAgICAgICAgICAgIGsgPSBmbiArICIuIiArIHRhc2tuYW1lWzotOV0KQEAgLTMyMCwxMSArMzMwLDkgQEAKICAgICAgICAgICAgIGsgPSBmbiArICIuIiArIHRhc2tuYW1lCiAgICAgICAgIGlmIGNsZWFuOgogICAgICAgICAgICAgaCA9ICIqIgotICAgICAgICBlbGlmIGsgaW4gc2VsZi50YXNraGFzaDoKLSAgICAgICAgICAgIGggPSBzZWxmLnRhc2toYXNoW2tdCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAjIElmIGsgaXMgbm90IGluIGJhc2VoYXNoLCB0aGVuIGVycm9yCi0gICAgICAgICAgICBoID0gc2VsZi5iYXNlaGFzaFtrXQorICAgICAgICAgICAgaCA9IHNlbGYuZ2V0X3N0YW1wZmlsZV9oYXNoKGspCisKICAgICAgICAgcmV0dXJuICgiJXMuJXMuJXMuJXMiICUgKHN0YW1wYmFzZSwgdGFza25hbWUsIGgsIGV4dHJhaW5mbykpLnJzdHJpcCgnLicpCiAKICAgICBkZWYgc3RhbXBjbGVhbm1hc2soc2VsZiwgc3RhbXBiYXNlLCBmbiwgdGFza25hbWUsIGV4dHJhaW5mbyk6CkBAIC02NDQsNyArNjUyLDcgQEAKICAgICAgICAgaWYgdmFsIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgYmFzZWRhdGEgPSBiYXNlZGF0YSArIHN0cih2YWwpCiAKLSAgICByZXR1cm4gaGFzaGxpYi5tZDUoYmFzZWRhdGEuZW5jb2RlKCJ1dGYtOCIpKS5oZXhkaWdlc3QoKQorICAgIHJldHVybiBoYXNobGliLnNoYTI1NihiYXNlZGF0YS5lbmNvZGUoInV0Zi04IikpLmhleGRpZ2VzdCgpCiAKIGRlZiBjYWxjX3Rhc2toYXNoKHNpZ2RhdGEpOgogICAgIGRhdGEgPSBzaWdkYXRhWydiYXNlaGFzaCddCkBAIC02NjIsNyArNjcwLDcgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGRhdGEgPSBkYXRhICsgc2lnZGF0YVsndGFpbnQnXQogCi0gICAgcmV0dXJuIGhhc2hsaWIubWQ1KGRhdGEuZW5jb2RlKCJ1dGYtOCIpKS5oZXhkaWdlc3QoKQorICAgIHJldHVybiBoYXNobGliLnNoYTI1NihkYXRhLmVuY29kZSgidXRmLTgiKSkuaGV4ZGlnZXN0KCkKIAogCiBkZWYgZHVtcF9zaWdmaWxlKGEpOgpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy9jb2RlcGFyc2VyLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy9jb2RlcGFyc2VyLnB5CmluZGV4IGUzMGU3OGMuLjNmZDc2YTggMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvY29kZXBhcnNlci5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL2NvZGVwYXJzZXIucHkKQEAgLTEyMyw2ICsxMjMsMTMgQEAKICAgICAgICAgc2VsZi5wYXJzZUV4cHJlc3Npb24oInNlZCAtaSAtZSAnczpJUHs6SSR7OmcnICRwYyIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXhlY3Moc2V0KFsic2VkIl0pKQogCisgICAgZGVmIHRlc3RfcGFyYW1ldGVyX2V4cGFuc2lvbl9tb2RpZmllcnMoc2VsZik6CisgICAgICAgICMgLSBhbmQgKyBhcmUgYWxzbyB2YWxpZCBtb2RpZmllcnMgZm9yIHBhcmFtZXRlciBleHBhbnNpb24sIGJ1dCBhcmUKKyAgICAgICAgIyB2YWxpZCBjaGFyYWN0ZXJzIGluIGJpdGJha2UgdmFyaWFibGUgbmFtZXMsIHNvIGFyZSBub3QgaW5jbHVkZWQgaGVyZQorICAgICAgICBmb3IgaSBpbiAoJz0nLCAnOi0nLCAnOj0nLCAnPycsICc6PycsICc6KycsICcjJywgJyUnLCAnIyMnLCAnJSUnKToKKyAgICAgICAgICAgIG5hbWUgPSAiZm9vJXNiYXIiICUgaQorICAgICAgICAgICAgc2VsZi5wYXJzZUV4cHJlc3Npb24oIiR7JXN9IiAlIG5hbWUpCisgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEluKG5hbWUsIHNlbGYucmVmZXJlbmNlcykKIAogICAgIGRlZiB0ZXN0X3VudGlsKHNlbGYpOgogICAgICAgICBzZWxmLnBhcnNlRXhwcmVzc2lvbigidW50aWwgZmFsc2U7IGRvIGVjaG8gdHJ1ZTsgZG9uZSIpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL2RhdGEucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL2RhdGEucHkKaW5kZXggZGIzZTIwMS4uM2M1MTFmMiAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy9kYXRhLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvZGF0YS5weQpAQCAtMzk0LDYgKzM5NCwxNSBAQAogICAgICAgICBzZWxmLmQuc2V0VmFyKCJPVkVSUklERVMiLCAiZm9vOmJhcjpzb21lX3ZhbCIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5kLmdldFZhcigiVEVTVCIpLCAiIHRlc3R2YWx1ZTUiKQogCisgICAgIyBUZXN0IGFuIG92ZXJyaWRlIHdpdGggXzxudW1lcmljPiBpbiBpdCBiYXNlZCBvbiBhIHJlYWwgd29ybGQgT0UgaXNzdWUKKyAgICBkZWYgdGVzdF91bmRlcnNjb3JlX292ZXJyaWRlKHNlbGYpOgorICAgICAgICBzZWxmLmQuc2V0VmFyKCJUQVJHRVRfQVJDSCIsICJ4ODZfNjQiKQorICAgICAgICBzZWxmLmQuc2V0VmFyKCJQTiIsICJ0ZXN0LSR7VEFSR0VUX0FSQ0h9IikKKyAgICAgICAgc2VsZi5kLnNldFZhcigiVkVSU0lPTiIsICIxIikKKyAgICAgICAgc2VsZi5kLnNldFZhcigiVkVSU0lPTl9wbi10ZXN0LSR7VEFSR0VUX0FSQ0h9IiwgIjIiKQorICAgICAgICBzZWxmLmQuc2V0VmFyKCJPVkVSUklERVMiLCAicG4tJHtQTn0iKQorICAgICAgICBiYi5kYXRhLmV4cGFuZEtleXMoc2VsZi5kKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZC5nZXRWYXIoIlZFUlNJT04iKSwgIjIiKQogCiBjbGFzcyBUZXN0S2V5RXhwYW5zaW9uKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgc2V0VXAoc2VsZik6CmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL2ZldGNoLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy9mZXRjaC5weQppbmRleCA1MjJkMjAyLi40Mjk5OThiIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL2ZldGNoLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvZmV0Y2gucHkKQEAgLTk0Miw2ICs5NDIsMjUgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihyZXBvX3BhdGgsICcuZ2l0L21vZHVsZXMvZXh0ZXJuL2pzb24vY29uZmlnJykpLCBtc2c9J01pc3Npbmcgc3VibW9kdWxlIGNvbmZpZyAiZXh0ZXJuL2pzb24iJykKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihyZXBvX3BhdGgsICcuZ2l0L21vZHVsZXMvZXh0ZXJuL3Nhbml0aXplcnMvY29uZmlnJykpLCBtc2c9J01pc3Npbmcgc3VibW9kdWxlIGNvbmZpZyAiZXh0ZXJuL3Nhbml0aXplcnMiJykKIAorICAgIGRlZiB0ZXN0X2dpdF9zdWJtb2R1bGVfdXBkYXRlX0NMSTExKHNlbGYpOgorICAgICAgICAiIiIgUHJldmVudCByZWdyZXNzaW9uIG9uIHVwZGF0ZSBkZXRlY3Rpb24gbm90IGZpbmRpbmcgbWlzc2luZyBzdWJtb2R1bGUsIG9yIG1vZHVsZXMgd2l0aG91dCBuZWVkZWQgY29tbWl0cyAiIiIKKyAgICAgICAgdXJsID0gImdpdHNtOi8vZ2l0aHViLmNvbS9DTElVdGlscy9DTEkxMTtwcm90b2NvbD1naXQ7cmV2PWNmNmE5OWZhNjlhYWVmZTQ3N2NjNTJlM2VmNGE3ZDJkN2ZhNDA3MTQiCisgICAgICAgIGZldGNoZXIgPSBiYi5mZXRjaC5GZXRjaChbdXJsXSwgc2VsZi5kKQorICAgICAgICBmZXRjaGVyLmRvd25sb2FkKCkKKworICAgICAgICAjIENMSTExIHRoYXQgcHVsbHMgaW4gYSBuZXdlciBubG9obWFubi1qc29uCisgICAgICAgIHVybCA9ICJnaXRzbTovL2dpdGh1Yi5jb20vQ0xJVXRpbHMvQ0xJMTE7cHJvdG9jb2w9Z2l0O3Jldj00OWFjOTg5YTk1MjdlZTliYjQ5NmRlOWRlZDdiNDg3MmMyZTBlNWNhIgorICAgICAgICBmZXRjaGVyID0gYmIuZmV0Y2guRmV0Y2goW3VybF0sIHNlbGYuZCkKKyAgICAgICAgZmV0Y2hlci5kb3dubG9hZCgpCisgICAgICAgICMgUHJldmlvdXMgY3dkIGhhcyBiZWVuIGRlbGV0ZWQKKyAgICAgICAgb3MuY2hkaXIob3MucGF0aC5kaXJuYW1lKHNlbGYudW5wYWNrZGlyKSkKKyAgICAgICAgZmV0Y2hlci51bnBhY2soc2VsZi51bnBhY2tkaXIpCisKKyAgICAgICAgcmVwb19wYXRoID0gb3MucGF0aC5qb2luKHNlbGYudGVtcGRpciwgJ3VucGFja2VkJywgJ2dpdCcpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4ocmVwb19wYXRoLCAnLmdpdC9tb2R1bGVzL2V4dGVybi9nb29nbGV0ZXN0L2NvbmZpZycpKSwgbXNnPSdNaXNzaW5nIHN1Ym1vZHVsZSBjb25maWcgImV4dGVybi9nb29nbGV0ZXN0IicpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4ocmVwb19wYXRoLCAnLmdpdC9tb2R1bGVzL2V4dGVybi9qc29uL2NvbmZpZycpKSwgbXNnPSdNaXNzaW5nIHN1Ym1vZHVsZSBjb25maWcgImV4dGVybi9qc29uIicpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4ocmVwb19wYXRoLCAnLmdpdC9tb2R1bGVzL2V4dGVybi9zYW5pdGl6ZXJzL2NvbmZpZycpKSwgbXNnPSdNaXNzaW5nIHN1Ym1vZHVsZSBjb25maWcgImV4dGVybi9zYW5pdGl6ZXJzIicpCisKICAgICBkZWYgdGVzdF9naXRfc3VibW9kdWxlX2FrdHVhbGl6cihzZWxmKToKICAgICAgICAgdXJsID0gImdpdHNtOi8vZ2l0aHViLmNvbS9hZHZhbmNlZHRlbGVtYXRpYy9ha3R1YWxpenI7YnJhbmNoPW1hc3Rlcjtwcm90b2NvbD1naXQ7cmV2PWQwMGQxYTA0Y2MyMzY2ZDFhNWYxNDNiODRiOWY1MDdmOGJkMzJjNDQiCiAgICAgICAgIGZldGNoZXIgPSBiYi5mZXRjaC5GZXRjaChbdXJsXSwgc2VsZi5kKQpAQCAtMTMzOCw3ICsxMzU3LDcgQEAKIAogICAgIGRlZiBmZXRjaChzZWxmLCB1cmk9Tm9uZSk6CiAgICAgICAgIGlmIHVyaSBpcyBOb25lOgotICAgICAgICAgICAgdXJpcyA9IHNlbGYuZC5nZXRWYXIoJ1NSQ19VUkknLCBUcnVlKS5zcGxpdCgpCisgICAgICAgICAgICB1cmlzID0gc2VsZi5kLmdldFZhcignU1JDX1VSSScpLnNwbGl0KCkKICAgICAgICAgICAgIHVyaSA9IHVyaXNbMF0KICAgICAgICAgICAgIGQgPSBzZWxmLmQKICAgICAgICAgZWxzZToKQEAgLTEzOTcsNyArMTQxNiw3IEBACiAKICAgICAgICAgc3JjcmV2ID0gc2VsZi5naXQoJ3Jldi1wYXJzZSBIRUFEJywgY3dkPXNlbGYuc3JjZGlyKS5zdHJpcCgpCiAgICAgICAgIHNlbGYuZC5zZXRWYXIoJ1NSQ1JFVicsIHNyY3JldikKLSAgICAgICAgdXJpID0gc2VsZi5kLmdldFZhcignU1JDX1VSSScsIFRydWUpLnNwbGl0KClbMF0KKyAgICAgICAgdXJpID0gc2VsZi5kLmdldFZhcignU1JDX1VSSScpLnNwbGl0KClbMF0KICAgICAgICAgdXJpID0gJyVzO25vYnJhbmNoPTE7YmFyZT0xJyAlIHVyaQogCiAgICAgICAgIHNlbGYuZmV0Y2hfc2hhbGxvdyh1cmkpCkBAIC0xNTc2LDcgKzE1OTUsNyBAQAogICAgICAgICBzZWxmLmFkZF9lbXB0eV9maWxlKCdmJykKICAgICAgICAgc2VsZi5hc3NlcnRSZXZDb3VudCg3LCBjd2Q9c2VsZi5zcmNkaXIpCiAKLSAgICAgICAgdXJpID0gc2VsZi5kLmdldFZhcignU1JDX1VSSScsIFRydWUpLnNwbGl0KClbMF0KKyAgICAgICAgdXJpID0gc2VsZi5kLmdldFZhcignU1JDX1VSSScpLnNwbGl0KClbMF0KICAgICAgICAgdXJpID0gJyVzO2JyYW5jaD1tYXN0ZXIsYV9icmFuY2g7bmFtZT1tYXN0ZXIsYV9icmFuY2gnICUgdXJpCiAKICAgICAgICAgc2VsZi5kLnNldFZhcignQkJfR0lUX1NIQUxMT1dfREVQVEgnLCAnMCcpCkBAIC0xNjAyLDcgKzE2MjEsNyBAQAogICAgICAgICBzZWxmLmFkZF9lbXB0eV9maWxlKCdmJykKICAgICAgICAgc2VsZi5hc3NlcnRSZXZDb3VudCg3LCBjd2Q9c2VsZi5zcmNkaXIpCiAKLSAgICAgICAgdXJpID0gc2VsZi5kLmdldFZhcignU1JDX1VSSScsIFRydWUpLnNwbGl0KClbMF0KKyAgICAgICAgdXJpID0gc2VsZi5kLmdldFZhcignU1JDX1VSSScpLnNwbGl0KClbMF0KICAgICAgICAgdXJpID0gJyVzO2JyYW5jaD1tYXN0ZXIsYV9icmFuY2g7bmFtZT1tYXN0ZXIsYV9icmFuY2gnICUgdXJpCiAKICAgICAgICAgc2VsZi5kLnNldFZhcignQkJfR0lUX1NIQUxMT1dfREVQVEgnLCAnMCcpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL3BlcnNpc3RfZGF0YS5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvcGVyc2lzdF9kYXRhLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMmJjYmQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL3BlcnNpc3RfZGF0YS5weQpAQCAtMCwwICsxLDE0MiBAQAorIyBleDp0cz00OnN3PTQ6c3RzPTQ6ZXQKKyMgLSotIHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDQ7IGluZGVudC10YWJzLW1vZGU6IG5pbCAtKi0KKyMKKyMgQml0QmFrZSBUZXN0IGZvciBsaWIvYmIvcGVyc2lzdF9kYXRhLworIworIyBDb3B5cmlnaHQgKEMpIDIwMTggR2FybWluIEx0ZC4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisjIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisjIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisjCisKK2ltcG9ydCB1bml0dGVzdAoraW1wb3J0IGJiLmRhdGEKK2ltcG9ydCBiYi5wZXJzaXN0X2RhdGEKK2ltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IHRocmVhZGluZworCitjbGFzcyBQZXJzaXN0RGF0YVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBfY3JlYXRlX2RhdGEoc2VsZik6CisgICAgICAgIHJldHVybiBiYi5wZXJzaXN0X2RhdGEucGVyc2lzdCgnVEVTVF9QRVJTSVNUX0RBVEEnLCBzZWxmLmQpCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuZCA9IGJiLmRhdGEuaW5pdCgpCisgICAgICAgIHNlbGYudGVtcGRpciA9IHRlbXBmaWxlLlRlbXBvcmFyeURpcmVjdG9yeSgpCisgICAgICAgIHNlbGYuZFsnUEVSU0lTVEVOVF9ESVInXSA9IHNlbGYudGVtcGRpci5uYW1lCisgICAgICAgIHNlbGYuZGF0YSA9IHNlbGYuX2NyZWF0ZV9kYXRhKCkKKyAgICAgICAgc2VsZi5pdGVtcyA9IHsKKyAgICAgICAgICAgICAgICAnQTEnOiAnMScsCisgICAgICAgICAgICAgICAgJ0IxJzogJzInLAorICAgICAgICAgICAgICAgICdDMic6ICczJworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgc2VsZi5zdHJlc3NfY291bnQgPSAxMDAwMAorICAgICAgICBzZWxmLnRocmVhZF9jb3VudCA9IDUKKworICAgICAgICBmb3Igayx2IGluIHNlbGYuaXRlbXMuaXRlbXMoKToKKyAgICAgICAgICAgIHNlbGYuZGF0YVtrXSA9IHYKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgc2VsZi50ZW1wZGlyLmNsZWFudXAoKQorCisgICAgZGVmIF9pdGVyX2hlbHBlcihzZWxmLCBzZWVuLCBpdGVyYXRvcik6CisgICAgICAgIHdpdGggaXRlcihpdGVyYXRvcik6CisgICAgICAgICAgICBmb3IgdiBpbiBpdGVyYXRvcjoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUodiBpbiBzZWVuKQorICAgICAgICAgICAgICAgIHNlZW4ucmVtb3ZlKHYpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlZW4pLCAwLCAnJXMgbm90IHNlZW4nICUgc2VlbikKKworICAgIGRlZiB0ZXN0X2dldChzZWxmKToKKyAgICAgICAgZm9yIGssIHYgaW4gc2VsZi5pdGVtcy5pdGVtcygpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRhdGFba10sIHYpCisKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc2VsZi5kYXRhLmdldCgnRCcpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yKToKKyAgICAgICAgICAgIHNlbGYuZGF0YVsnRCddCisKKyAgICBkZWYgdGVzdF9zZXQoc2VsZik6CisgICAgICAgIGZvciBrLCB2IGluIHNlbGYuaXRlbXMuaXRlbXMoKToKKyAgICAgICAgICAgIHNlbGYuZGF0YVtrXSArPSAnLWZvbycKKworICAgICAgICBmb3IgaywgdiBpbiBzZWxmLml0ZW1zLml0ZW1zKCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGF0YVtrXSwgdiArICctZm9vJykKKworICAgIGRlZiB0ZXN0X2RlbGV0ZShzZWxmKToKKyAgICAgICAgc2VsZi5kYXRhWydEJ10gPSAnNCcKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRhdGFbJ0QnXSwgJzQnKQorICAgICAgICBkZWwgc2VsZi5kYXRhWydEJ10KKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc2VsZi5kYXRhLmdldCgnRCcpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yKToKKyAgICAgICAgICAgIHNlbGYuZGF0YVsnRCddCisKKyAgICBkZWYgdGVzdF9jb250YWlucyhzZWxmKToKKyAgICAgICAgZm9yIGsgaW4gc2VsZi5pdGVtczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShrIGluIHNlbGYuZGF0YSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLmRhdGEuaGFzX2tleShrKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgnTm90Rm91bmQnIGluIHNlbGYuZGF0YSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzZWxmLmRhdGEuaGFzX2tleSgnTm90Rm91bmQnKSkKKworICAgIGRlZiB0ZXN0X2xlbihzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZi5kYXRhKSwgbGVuKHNlbGYuaXRlbXMpKQorCisgICAgZGVmIHRlc3RfaXRlcihzZWxmKToKKyAgICAgICAgc2VsZi5faXRlcl9oZWxwZXIoc2V0KHNlbGYuaXRlbXMua2V5cygpKSwgc2VsZi5kYXRhKQorCisgICAgZGVmIHRlc3RfaXRlcnZhbHVlcyhzZWxmKToKKyAgICAgICAgc2VsZi5faXRlcl9oZWxwZXIoc2V0KHNlbGYuaXRlbXMudmFsdWVzKCkpLCBzZWxmLmRhdGEuaXRlcnZhbHVlcygpKQorCisgICAgZGVmIHRlc3RfaXRlcml0ZW1zKHNlbGYpOgorICAgICAgICBzZWxmLl9pdGVyX2hlbHBlcihzZXQoc2VsZi5pdGVtcy5pdGVtcygpKSwgc2VsZi5kYXRhLml0ZXJpdGVtcygpKQorCisgICAgZGVmIHRlc3RfZ2V0X2J5X3BhdHRlcm4oc2VsZik6CisgICAgICAgIHNlbGYuX2l0ZXJfaGVscGVyKHsnMScsICcyJ30sIHNlbGYuZGF0YS5nZXRfYnlfcGF0dGVybignXzEnKSkKKworICAgIGRlZiBfc3RyZXNzX3JlYWQoc2VsZiwgZGF0YSk6CisgICAgICAgIGZvciBpIGluIHJhbmdlKHNlbGYuc3RyZXNzX2NvdW50KToKKyAgICAgICAgICAgIGZvciBrIGluIHNlbGYuaXRlbXM6CisgICAgICAgICAgICAgICAgZGF0YVtrXQorCisgICAgZGVmIF9zdHJlc3Nfd3JpdGUoc2VsZiwgZGF0YSk6CisgICAgICAgIGZvciBpIGluIHJhbmdlKHNlbGYuc3RyZXNzX2NvdW50KToKKyAgICAgICAgICAgIGZvciBrLCB2IGluIHNlbGYuaXRlbXMuaXRlbXMoKToKKyAgICAgICAgICAgICAgICBkYXRhW2tdID0gdiArIHN0cihpKQorCisgICAgZGVmIF92YWxpZGF0ZV9zdHJlc3Moc2VsZik6CisgICAgICAgIGZvciBrLCB2IGluIHNlbGYuaXRlbXMuaXRlbXMoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5kYXRhW2tdLCB2ICsgc3RyKHNlbGYuc3RyZXNzX2NvdW50IC0gMSkpCisKKyAgICBkZWYgdGVzdF9zdHJlc3Moc2VsZik6CisgICAgICAgIHNlbGYuX3N0cmVzc19yZWFkKHNlbGYuZGF0YSkKKyAgICAgICAgc2VsZi5fc3RyZXNzX3dyaXRlKHNlbGYuZGF0YSkKKyAgICAgICAgc2VsZi5fdmFsaWRhdGVfc3RyZXNzKCkKKworICAgIGRlZiB0ZXN0X3N0cmVzc190aHJlYWRzKHNlbGYpOgorICAgICAgICBkZWYgcmVhZF90aHJlYWQoKToKKyAgICAgICAgICAgIGRhdGEgPSBzZWxmLl9jcmVhdGVfZGF0YSgpCisgICAgICAgICAgICBzZWxmLl9zdHJlc3NfcmVhZChkYXRhKQorCisgICAgICAgIGRlZiB3cml0ZV90aHJlYWQoKToKKyAgICAgICAgICAgIGRhdGEgPSBzZWxmLl9jcmVhdGVfZGF0YSgpCisgICAgICAgICAgICBzZWxmLl9zdHJlc3Nfd3JpdGUoZGF0YSkKKworICAgICAgICB0aHJlYWRzID0gW10KKyAgICAgICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi50aHJlYWRfY291bnQpOgorICAgICAgICAgICAgdGhyZWFkcy5hcHBlbmQodGhyZWFkaW5nLlRocmVhZCh0YXJnZXQ9cmVhZF90aHJlYWQpKQorICAgICAgICAgICAgdGhyZWFkcy5hcHBlbmQodGhyZWFkaW5nLlRocmVhZCh0YXJnZXQ9d3JpdGVfdGhyZWFkKSkKKworICAgICAgICBmb3IgdCBpbiB0aHJlYWRzOgorICAgICAgICAgICAgdC5zdGFydCgpCisgICAgICAgIHNlbGYuX3N0cmVzc19yZWFkKHNlbGYuZGF0YSkKKyAgICAgICAgZm9yIHQgaW4gdGhyZWFkczoKKyAgICAgICAgICAgIHQuam9pbigpCisgICAgICAgIHNlbGYuX3ZhbGlkYXRlX3N0cmVzcygpCisKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvdXRpbHMucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL3V0aWxzLnB5CmluZGV4IDJmNGNjZjMuLmYxY2Q4M2EgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvdXRpbHMucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy91dGlscy5weQpAQCAtNDIsNiArNDIsMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3VsdCA8IDApCiAgICAgICAgIHJlc3VsdCA9IGJiLnV0aWxzLnZlcmNtcF9zdHJpbmcoJzEuMScsICcxLjArMS4xLWJldGExJykKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3VsdCA+IDApCisgICAgICAgIHJlc3VsdCA9IGJiLnV0aWxzLnZlcmNtcF9zdHJpbmcoJzEuJywgJzEuMScpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXN1bHQgPCAwKQorICAgICAgICByZXN1bHQgPSBiYi51dGlscy52ZXJjbXBfc3RyaW5nKCcxLjEnLCAnMS4nKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzdWx0ID4gMCkKIAogICAgIGRlZiB0ZXN0X2V4cGxvZGVfZGVwX3ZlcnNpb25zKHNlbGYpOgogICAgICAgICBjb3JyZWN0cmVzdWx0ID0geyJmb28iIDogWyI9IDEuMTAiXX0KZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvdXRpbHMucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3V0aWxzLnB5CmluZGV4IDczYjZjYjQuLmI2NTJhNjggMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvdXRpbHMucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi91dGlscy5weQpAQCAtMjcsNyArMjcsOCBAQAogaW1wb3J0IGJiLm1zZwogaW1wb3J0IG11bHRpcHJvY2Vzc2luZwogaW1wb3J0IGZjbnRsCi1pbXBvcnQgaW1wCitpbXBvcnQgaW1wb3J0bGliCitmcm9tIGltcG9ydGxpYiBpbXBvcnQgbWFjaGluZXJ5CiBpbXBvcnQgaXRlcnRvb2xzCiBpbXBvcnQgc3VicHJvY2VzcwogaW1wb3J0IGdsb2IKQEAgLTQzLDcgKzQ0LDcgQEAKIGZyb20gY3R5cGVzIGltcG9ydCBjZGxsCiAKIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJCaXRCYWtlLlV0aWwiKQotcHl0aG9uX2V4dGVuc2lvbnMgPSBbZSBmb3IgZSwgXywgXyBpbiBpbXAuZ2V0X3N1ZmZpeGVzKCldCitweXRob25fZXh0ZW5zaW9ucyA9IGltcG9ydGxpYi5tYWNoaW5lcnkuYWxsX3N1ZmZpeGVzKCkKIAogCiBkZWYgY2xlYW5fY29udGV4dCgpOgpAQCAtNjgsOCArNjksOCBAQAogCiBkZWYgZXhwbG9kZV92ZXJzaW9uKHMpOgogICAgIHIgPSBbXQotICAgIGFscGhhX3JlZ2V4cCA9IHJlLmNvbXBpbGUoJ14oW2EtekEtWl0rKSguKikkJykKLSAgICBudW1lcmljX3JlZ2V4cCA9IHJlLmNvbXBpbGUoJ14oXGQrKSguKikkJykKKyAgICBhbHBoYV9yZWdleHAgPSByZS5jb21waWxlKHInXihbYS16QS1aXSspKC4qKSQnKQorICAgIG51bWVyaWNfcmVnZXhwID0gcmUuY29tcGlsZShyJ14oXGQrKSguKikkJykKICAgICB3aGlsZSAocyAhPSAnJyk6CiAgICAgICAgIGlmIHNbMF0gaW4gc3RyaW5nLmRpZ2l0czoKICAgICAgICAgICAgIG0gPSBudW1lcmljX3JlZ2V4cC5tYXRjaChzKQpAQCAtMTIwLDYgKzEyMSwxMCBAQAogICAgICAgICAgICAgcmV0dXJuIC0xCiAgICAgICAgIGVsaWYgb2EgPiBvYjoKICAgICAgICAgICAgIHJldHVybiAxCisgICAgICAgIGVsaWYgY2EgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiAtMQorICAgICAgICBlbGlmIGNiIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICBlbGlmIGNhIDwgY2I6CiAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgZWxpZiBjYSA+IGNiOgpAQCAtMzE3LDEwICszMjIsMTMgQEAKICAgICAgICAgZXJyb3IgPSBbXQogICAgICAgICAjIHNwbGl0IHRoZSB0ZXh0IGludG8gbGluZXMgYWdhaW4KICAgICAgICAgYm9keSA9IHRleHQuc3BsaXQoJ1xuJykKLSAgICAgICAgZXJyb3IuYXBwZW5kKCJFcnJvciBpbiBjb21waWxpbmcgcHl0aG9uIGZ1bmN0aW9uIGluICVzLCBsaW5lICVzOlxuIiAlIChyZWFsZmlsZSwgbGluZW5vKSkKKyAgICAgICAgZXJyb3IuYXBwZW5kKCJFcnJvciBpbiBjb21waWxpbmcgcHl0aG9uIGZ1bmN0aW9uIGluICVzLCBsaW5lICVzOlxuIiAlIChyZWFsZmlsZSwgZS5saW5lbm8pKQogICAgICAgICBpZiBoYXNhdHRyKGUsICJsaW5lbm8iKToKICAgICAgICAgICAgIGVycm9yLmFwcGVuZCgiVGhlIGNvZGUgbGluZXMgcmVzdWx0aW5nIGluIHRoaXMgZXJyb3Igd2VyZToiKQotICAgICAgICAgICAgZXJyb3IuZXh0ZW5kKF9wcmludF90cmFjZShib2R5LCBlLmxpbmVubykpCisgICAgICAgICAgICAjIGUubGluZW5vOiBsaW5lJ3MgcG9zaXRpb24gaW4gcmVhZmxpbGUKKyAgICAgICAgICAgICMgbGluZW5vOiBmdW5jdGlvbiBuYW1lJ3MgInBvc2l0aW9uIC0xIiBpbiByZWFsZmlsZQorICAgICAgICAgICAgIyBlLmxpbmVubyAtIGxpbmVubzogbGluZSdzIHJlbGF0aXZlIHBvc2l0aW9uIGluIGZ1bmN0aW9uCisgICAgICAgICAgICBlcnJvci5leHRlbmQoX3ByaW50X3RyYWNlKGJvZHksIGUubGluZW5vIC0gbGluZW5vKSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGVycm9yLmFwcGVuZCgiVGhlIGZ1bmN0aW9uIGNhdXNpbmcgdGhpcyBlcnJvciB3YXM6IikKICAgICAgICAgICAgIGZvciBsaW5lIGluIGJvZHk6CkBAIC03MDQsMTUgKzcxMiw3IEBACiAgICAgIyBDQVVUSU9OOiAgVGhpcyBpcyBkYW5nZXJvdXMhCiAgICAgaWYgX2NoZWNrX3Vuc2FmZV9kZWxldGVfcGF0aCh0b3BkaXIpOgogICAgICAgICByYWlzZSBFeGNlcHRpb24oJ2JiLnV0aWxzLnBydW5lZGlyOiBjYWxsZWQgd2l0aCBkYW5nZXJvdXMgcGF0aCAiJXMiLCByZWZ1c2luZyB0byBkZWxldGUhJyAlIHRvcGRpcikKLSAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2Fsayh0b3BkaXIsIHRvcGRvd24gPSBGYWxzZSk6Ci0gICAgICAgIGZvciBuYW1lIGluIGZpbGVzOgotICAgICAgICAgICAgb3MucmVtb3ZlKG9zLnBhdGguam9pbihyb290LCBuYW1lKSkKLSAgICAgICAgZm9yIG5hbWUgaW4gZGlyczoKLSAgICAgICAgICAgIGlmIG9zLnBhdGguaXNsaW5rKG9zLnBhdGguam9pbihyb290LCBuYW1lKSk6Ci0gICAgICAgICAgICAgICAgb3MucmVtb3ZlKG9zLnBhdGguam9pbihyb290LCBuYW1lKSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgb3Mucm1kaXIob3MucGF0aC5qb2luKHJvb3QsIG5hbWUpKQotICAgIG9zLnJtZGlyKHRvcGRpcikKKyAgICByZW1vdmUodG9wZGlyLCByZWN1cnNlPVRydWUpCiAKICMKICMgQ291bGQgYWxzbyB1c2UgcmV0dXJuIHJlLmNvbXBpbGUoIiglcykiICUgInwiLmpvaW4obWFwKHJlLmVzY2FwZSwgc3VmZml4ZXMpKSkuc3ViKGxhbWJkYSBtbzogIiIsIHZhcikKQEAgLTExNTcsMTQgKzExNTcsMTQgQEAKIAogICAgIHZhcl9yZXMgPSB7fQogICAgIGlmIG1hdGNoX292ZXJyaWRlczoKLSAgICAgICAgb3ZlcnJpZGVfcmUgPSAnKF9bYS16QS1aMC05LV8kKCl7fV0rKT8nCisgICAgICAgIG92ZXJyaWRlX3JlID0gcicoX1thLXpBLVowLTktXyQoKXt9XSspPycKICAgICBlbHNlOgogICAgICAgICBvdmVycmlkZV9yZSA9ICcnCiAgICAgZm9yIHZhciBpbiB2YXJpYWJsZXM6CiAgICAgICAgIGlmIHZhci5lbmRzd2l0aCgnKCknKToKLSAgICAgICAgICAgIHZhcl9yZXNbdmFyXSA9IHJlLmNvbXBpbGUoJ14oJXMlcylbIFxcdF0qXChbIFxcdF0qXClbIFxcdF0qeycgJSAodmFyWzotMl0ucnN0cmlwKCksIG92ZXJyaWRlX3JlKSkKKyAgICAgICAgICAgIHZhcl9yZXNbdmFyXSA9IHJlLmNvbXBpbGUocideKCVzJXMpWyBcXHRdKlwoWyBcXHRdKlwpWyBcXHRdKnsnICUgKHZhcls6LTJdLnJzdHJpcCgpLCBvdmVycmlkZV9yZSkpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICB2YXJfcmVzW3Zhcl0gPSByZS5jb21waWxlKCdeKCVzJXMpWyBcXHRdKls/KzouXSo9WysuXSpbIFxcdF0qKFsiXCddKScgJSAodmFyLCBvdmVycmlkZV9yZSkpCisgICAgICAgICAgICB2YXJfcmVzW3Zhcl0gPSByZS5jb21waWxlKHInXiglcyVzKVsgXFx0XSpbPys6Ll0qPVsrLl0qWyBcXHRdKihbIlwnXSknICUgKHZhciwgb3ZlcnJpZGVfcmUpKQogCiAgICAgdXBkYXRlZCA9IEZhbHNlCiAgICAgdmFyc2V0X3N0YXJ0ID0gJycKQEAgLTE1MDEsNiArMTUwMSw4IEBACiAgICAgICBOUl9pb3ByaW9fc2V0ID0gMjUxCiAgICAgZWxpZiBfdW5hbWVhcmNoWzBdID09ICJpIiBhbmQgX3VuYW1lYXJjaFsyOjNdID09ICI4NiI6CiAgICAgICBOUl9pb3ByaW9fc2V0ID0gMjg5CisgICAgZWxpZiBfdW5hbWVhcmNoID09ICJhYXJjaDY0IjoKKyAgICAgIE5SX2lvcHJpb19zZXQgPSAzMAogCiAgICAgaWYgTlJfaW9wcmlvX3NldDoKICAgICAgICAgaW9wcmlvID0gdmFsdWUgfCAoY2xzIDw8IElPUFJJT19DTEFTU19TSElGVCkKQEAgLTE1NDQsMTIgKzE1NDYsOSBAQAogZGVmIGxvYWRfcGx1Z2lucyhsb2dnZXIsIHBsdWdpbnMsIHBsdWdpbnBhdGgpOgogICAgIGRlZiBsb2FkX3BsdWdpbihuYW1lKToKICAgICAgICAgbG9nZ2VyLmRlYnVnKDEsICdMb2FkaW5nIHBsdWdpbiAlcycgJSBuYW1lKQotICAgICAgICBmcCwgcGF0aG5hbWUsIGRlc2NyaXB0aW9uID0gaW1wLmZpbmRfbW9kdWxlKG5hbWUsIFtwbHVnaW5wYXRoXSkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIGltcC5sb2FkX21vZHVsZShuYW1lLCBmcCwgcGF0aG5hbWUsIGRlc2NyaXB0aW9uKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgaWYgZnA6Ci0gICAgICAgICAgICAgICAgZnAuY2xvc2UoKQorICAgICAgICBzcGVjID0gaW1wb3J0bGliLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlYyhuYW1lLCBwYXRoPVtwbHVnaW5wYXRoXSApCisgICAgICAgIGlmIHNwZWM6CisgICAgICAgICAgICByZXR1cm4gc3BlYy5sb2FkZXIubG9hZF9tb2R1bGUoKQogCiAgICAgbG9nZ2VyLmRlYnVnKDEsICdMb2FkaW5nIHBsdWdpbnMgZnJvbSAlcy4uLicgJSBwbHVnaW5wYXRoKQogCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JzNC9kYW1taXQucHkgYi9wb2t5L2JpdGJha2UvbGliL2JzNC9kYW1taXQucHkKaW5kZXggNjhkNDE5Zi4uODA1YWE5MCAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iczQvZGFtbWl0LnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYnM0L2RhbW1pdC5weQpAQCAtNDUsOSArNDUsOSBAQAogICAgIHBhc3MKIAogeG1sX2VuY29kaW5nX3JlID0gcmUuY29tcGlsZSgKLSAgICAnXjxcPy4qZW5jb2Rpbmc9W1wnIl0oLio/KVtcJyJdLipcPz4nLmVuY29kZSgpLCByZS5JKQorICAgIHInXjxcPy4qZW5jb2Rpbmc9W1wnIl0oLio/KVtcJyJdLipcPz4nLmVuY29kZSgpLCByZS5JKQogaHRtbF9tZXRhX3JlID0gcmUuY29tcGlsZSgKLSAgICAnPFxzKm1ldGFbXj5dK2NoYXJzZXRccyo9XHMqWyJcJ10/KFtePl0qPylbIC87XCciPl0nLmVuY29kZSgpLCByZS5JKQorICAgIHInPFxzKm1ldGFbXj5dK2NoYXJzZXRccyo9XHMqWyJcJ10/KFtePl0qPylbIC87XCciPl0nLmVuY29kZSgpLCByZS5JKQogCiBjbGFzcyBFbnRpdHlTdWJzdGl0dXRpb24ob2JqZWN0KToKIApAQCAtODAsMTEgKzgwLDExIEBACiAgICAgICAgICI+IjogImd0IiwKICAgICAgICAgfQogCi0gICAgQkFSRV9BTVBFUlNBTkRfT1JfQlJBQ0tFVCA9IHJlLmNvbXBpbGUoIihbPD5dfCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJig/ISNcZCs7fCN4WzAtOWEtZkEtRl0rO3xcdys7KSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKSIpCisgICAgQkFSRV9BTVBFUlNBTkRfT1JfQlJBQ0tFVCA9IHJlLmNvbXBpbGUociIoWzw+XXwiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciImKD8hI1xkKzt8I3hbMC05YS1mQS1GXSs7fFx3KzspIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIiKSIpCiAKLSAgICBBTVBFUlNBTkRfT1JfQlJBQ0tFVCA9IHJlLmNvbXBpbGUoIihbPD4mXSkiKQorICAgIEFNUEVSU0FORF9PUl9CUkFDS0VUID0gcmUuY29tcGlsZShyIihbPD4mXSkiKQogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIF9zdWJzdGl0dXRlX2h0bWxfZW50aXR5KGNscywgbWF0Y2hvYmopOgpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iczQvZWxlbWVudC5weSBiL3Bva3kvYml0YmFrZS9saWIvYnM0L2VsZW1lbnQucHkKaW5kZXggMGU2MmMyZS4uMzc3NWE2MCAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iczQvZWxlbWVudC5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JzNC9lbGVtZW50LnB5CkBAIC0xLDcgKzEsNyBAQAogX19saWNlbnNlX18gPSAiTUlUIgogCiBmcm9tIHBkYiBpbXBvcnQgc2V0X3RyYWNlCi1pbXBvcnQgY29sbGVjdGlvbnMKK2ltcG9ydCBjb2xsZWN0aW9ucy5hYmMKIGltcG9ydCByZQogaW1wb3J0IHN5cwogaW1wb3J0IHdhcm5pbmdzCkBAIC0xMCw3ICsxMCw3IEBACiBERUZBVUxUX09VVFBVVF9FTkNPRElORyA9ICJ1dGYtOCIKIFBZM0sgPSAoc3lzLnZlcnNpb25faW5mb1swXSA+IDIpCiAKLXdoaXRlc3BhY2VfcmUgPSByZS5jb21waWxlKCJccysiKQord2hpdGVzcGFjZV9yZSA9IHJlLmNvbXBpbGUociJccysiKQogCiBkZWYgX2FsaWFzKGF0dHIpOgogICAgICIiIkFsaWFzIG9uZSBhdHRyaWJ1dGUgbmFtZSB0byBhbm90aGVyIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IiIiCkBAIC02Nyw3ICs2Nyw3IEBACiAgICAgVGhlIHZhbHVlIG9mIHRoZSAnY29udGVudCcgYXR0cmlidXRlIHdpbGwgYmUgb25lIG9mIHRoZXNlIG9iamVjdHMuCiAgICAgIiIiCiAKLSAgICBDSEFSU0VUX1JFID0gcmUuY29tcGlsZSgiKChefDspXHMqY2hhcnNldD0pKFteO10qKSIsIHJlLk0pCisgICAgQ0hBUlNFVF9SRSA9IHJlLmNvbXBpbGUociIoKF58OylccypjaGFyc2V0PSkoW147XSopIiwgcmUuTSkKIAogICAgIGRlZiBfX25ld19fKGNscywgb3JpZ2luYWxfdmFsdWUpOgogICAgICAgICBtYXRjaCA9IGNscy5DSEFSU0VUX1JFLnNlYXJjaChvcmlnaW5hbF92YWx1ZSkKQEAgLTE1NSw3ICsxNTUsNyBAQAogCiAgICAgZGVmIGZvcm1hdF9zdHJpbmcoc2VsZiwgcywgZm9ybWF0dGVyPSdtaW5pbWFsJyk6CiAgICAgICAgICIiIkZvcm1hdCB0aGUgZ2l2ZW4gc3RyaW5nIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXR0ZXIuIiIiCi0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGZvcm1hdHRlciwgY29sbGVjdGlvbnMuQ2FsbGFibGUpOgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShmb3JtYXR0ZXIsIGNvbGxlY3Rpb25zLmFiYy5DYWxsYWJsZSk6CiAgICAgICAgICAgICBmb3JtYXR0ZXIgPSBzZWxmLl9mb3JtYXR0ZXJfZm9yX25hbWUoZm9ybWF0dGVyKQogICAgICAgICBpZiBmb3JtYXR0ZXIgaXMgTm9uZToKICAgICAgICAgICAgIG91dHB1dCA9IHMKQEAgLTU4MCw3ICs1ODAsNyBAQAogCiAgICAgIyBNZXRob2RzIGZvciBzdXBwb3J0aW5nIENTUyBzZWxlY3RvcnMuCiAKLSAgICB0YWdfbmFtZV9yZSA9IHJlLmNvbXBpbGUoJ15bYS16QS1aMC05XVstLmEtekEtWjAtOTpfXSokJykKKyAgICB0YWdfbmFtZV9yZSA9IHJlLmNvbXBpbGUocideW2EtekEtWjAtOV1bLS5hLXpBLVowLTk6X10qJCcpCiAKICAgICAjIC9eKFthLXpBLVowLTldWy0uYS16QS1aMC05Ol9dKilcWyhcdyspKFs9flx8XF5cJFwqXT8pPT8iPyhbXlxdIl0qKSI/XF0kLwogICAgICMgICBcLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLyAgXC0tLS9cLS0tLS0tLS0tLS0tLS8gICAgXC0tLS0tLS0vCkBAIC0xMDc3LDcgKzEwNzcsNyBAQAogCiAgICAgICAgICMgRmlyc3Qgb2ZmLCB0dXJuIGEgc3RyaW5nIGZvcm1hdHRlciBpbnRvIGEgZnVuY3Rpb24uIFRoaXMKICAgICAgICAgIyB3aWxsIHN0b3AgdGhlIGxvb2t1cCBmcm9tIGhhcHBlbmluZyBvdmVyIGFuZCBvdmVyIGFnYWluLgotICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShmb3JtYXR0ZXIsIGNvbGxlY3Rpb25zLkNhbGxhYmxlKToKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZm9ybWF0dGVyLCBjb2xsZWN0aW9ucy5hYmMuQ2FsbGFibGUpOgogICAgICAgICAgICAgZm9ybWF0dGVyID0gc2VsZi5fZm9ybWF0dGVyX2Zvcl9uYW1lKGZvcm1hdHRlcikKIAogICAgICAgICBhdHRycyA9IFtdCkBAIC0xMTgxLDcgKzExODEsNyBAQAogICAgICAgICAiIiIKICAgICAgICAgIyBGaXJzdCBvZmYsIHR1cm4gYSBzdHJpbmcgZm9ybWF0dGVyIGludG8gYSBmdW5jdGlvbi4gVGhpcwogICAgICAgICAjIHdpbGwgc3RvcCB0aGUgbG9va3VwIGZyb20gaGFwcGVuaW5nIG92ZXIgYW5kIG92ZXIgYWdhaW4uCi0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGZvcm1hdHRlciwgY29sbGVjdGlvbnMuQ2FsbGFibGUpOgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShmb3JtYXR0ZXIsIGNvbGxlY3Rpb25zLmFiYy5DYWxsYWJsZSk6CiAgICAgICAgICAgICBmb3JtYXR0ZXIgPSBzZWxmLl9mb3JtYXR0ZXJfZm9yX25hbWUoZm9ybWF0dGVyKQogCiAgICAgICAgIHByZXR0eV9wcmludCA9IChpbmRlbnRfbGV2ZWwgaXMgbm90IE5vbmUpCkBAIC0xMzY0LDcgKzEzNjQsNyBAQAogICAgICAgICAgICAgICAgIGlmIHRhZ19uYW1lID09ICcnOgogICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKAogICAgICAgICAgICAgICAgICAgICAgICAgIkEgcHNldWRvLWNsYXNzIG11c3QgYmUgcHJlZml4ZWQgd2l0aCBhIHRhZyBuYW1lLiIpCi0gICAgICAgICAgICAgICAgcHNldWRvX2F0dHJpYnV0ZXMgPSByZS5tYXRjaCgnKFthLXpBLVpcZC1dKylcKChbYS16QS1aXGRdKylcKScsIHBzZXVkbykKKyAgICAgICAgICAgICAgICBwc2V1ZG9fYXR0cmlidXRlcyA9IHJlLm1hdGNoKHInKFthLXpBLVpcZC1dKylcKChbYS16QS1aXGRdKylcKScsIHBzZXVkbykKICAgICAgICAgICAgICAgICBmb3VuZCA9IFtdCiAgICAgICAgICAgICAgICAgaWYgcHNldWRvX2F0dHJpYnV0ZXMgaXMgTm9uZToKICAgICAgICAgICAgICAgICAgICAgcHNldWRvX3R5cGUgPSBwc2V1ZG8KQEAgLTE1NjIsNyArMTU2Miw3IEBACiAgICAgZGVmIF9ub3JtYWxpemVfc2VhcmNoX3ZhbHVlKHNlbGYsIHZhbHVlKToKICAgICAgICAgIyBMZWF2ZSBpdCBhbG9uZSBpZiBpdCdzIGEgVW5pY29kZSBzdHJpbmcsIGEgY2FsbGFibGUsIGEKICAgICAgICAgIyByZWd1bGFyIGV4cHJlc3Npb24sIGEgYm9vbGVhbiwgb3IgTm9uZS4KLSAgICAgICAgaWYgKGlzaW5zdGFuY2UodmFsdWUsIHN0cikgb3IgaXNpbnN0YW5jZSh2YWx1ZSwgY29sbGVjdGlvbnMuQ2FsbGFibGUpIG9yIGhhc2F0dHIodmFsdWUsICdtYXRjaCcpCisgICAgICAgIGlmIChpc2luc3RhbmNlKHZhbHVlLCBzdHIpIG9yIGlzaW5zdGFuY2UodmFsdWUsIGNvbGxlY3Rpb25zLmFiYy5DYWxsYWJsZSkgb3IgaGFzYXR0cih2YWx1ZSwgJ21hdGNoJykKICAgICAgICAgICAgIG9yIGlzaW5zdGFuY2UodmFsdWUsIGJvb2wpIG9yIHZhbHVlIGlzIE5vbmUpOgogICAgICAgICAgICAgcmV0dXJuIHZhbHVlCiAKQEAgLTE2MDIsNyArMTYwMiw3IEBACiAgICAgICAgICAgICBtYXJrdXAgPSBtYXJrdXBfbmFtZQogICAgICAgICAgICAgbWFya3VwX2F0dHJzID0gbWFya3VwCiAgICAgICAgIGNhbGxfZnVuY3Rpb25fd2l0aF90YWdfZGF0YSA9ICgKLSAgICAgICAgICAgIGlzaW5zdGFuY2Uoc2VsZi5uYW1lLCBjb2xsZWN0aW9ucy5DYWxsYWJsZSkKKyAgICAgICAgICAgIGlzaW5zdGFuY2Uoc2VsZi5uYW1lLCBjb2xsZWN0aW9ucy5hYmMuQ2FsbGFibGUpCiAgICAgICAgICAgICBhbmQgbm90IGlzaW5zdGFuY2UobWFya3VwX25hbWUsIFRhZykpCiAKICAgICAgICAgaWYgKChub3Qgc2VsZi5uYW1lKQpAQCAtMTY4OCw3ICsxNjg4LDcgQEAKICAgICAgICAgICAgICMgVHJ1ZSBtYXRjaGVzIGFueSBub24tTm9uZSB2YWx1ZS4KICAgICAgICAgICAgIHJldHVybiBtYXJrdXAgaXMgbm90IE5vbmUKIAotICAgICAgICBpZiBpc2luc3RhbmNlKG1hdGNoX2FnYWluc3QsIGNvbGxlY3Rpb25zLkNhbGxhYmxlKToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShtYXRjaF9hZ2FpbnN0LCBjb2xsZWN0aW9ucy5hYmMuQ2FsbGFibGUpOgogICAgICAgICAgICAgcmV0dXJuIG1hdGNoX2FnYWluc3QobWFya3VwKQogCiAgICAgICAgICMgQ3VzdG9tIGNhbGxhYmxlcyB0YWtlIHRoZSB0YWcgYXMgYW4gYXJndW1lbnQsIGJ1dCBhbGwKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvaGFzaHNlcnYvX19pbml0X18ucHkgYi9wb2t5L2JpdGJha2UvbGliL2hhc2hzZXJ2L19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2YmNhN2MKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L2JpdGJha2UvbGliL2hhc2hzZXJ2L19faW5pdF9fLnB5CkBAIC0wLDAgKzEsMTUyIEBACisjIENvcHlyaWdodCAoQykgMjAxOCBHYXJtaW4gTHRkLgorIworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworIyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyMgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyMgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKworZnJvbSBodHRwLnNlcnZlciBpbXBvcnQgQmFzZUhUVFBSZXF1ZXN0SGFuZGxlciwgSFRUUFNlcnZlcgoraW1wb3J0IGNvbnRleHRsaWIKK2ltcG9ydCB1cmxsaWIucGFyc2UKK2ltcG9ydCBzcWxpdGUzCitpbXBvcnQganNvbgoraW1wb3J0IHRyYWNlYmFjaworaW1wb3J0IGxvZ2dpbmcKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCisKK2xvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdoYXNoc2VydicpCisKK2NsYXNzIEhhc2hFcXVpdmFsZW5jZVNlcnZlcihCYXNlSFRUUFJlcXVlc3RIYW5kbGVyKToKKyAgICBkZWYgbG9nX21lc3NhZ2Uoc2VsZiwgZiwgKmFyZ3MpOgorICAgICAgICBsb2dnZXIuZGVidWcoZiwgKmFyZ3MpCisKKyAgICBkZWYgZG9fR0VUKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBwID0gdXJsbGliLnBhcnNlLnVybHBhcnNlKHNlbGYucGF0aCkKKworICAgICAgICAgICAgaWYgcC5wYXRoICE9IHNlbGYucHJlZml4ICsgJy92MS9lcXVpdmFsZW50JzoKKyAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDA0KQorICAgICAgICAgICAgICAgIHJldHVybgorCisgICAgICAgICAgICBxdWVyeSA9IHVybGxpYi5wYXJzZS5wYXJzZV9xcyhwLnF1ZXJ5LCBzdHJpY3RfcGFyc2luZz1UcnVlKQorICAgICAgICAgICAgbWV0aG9kID0gcXVlcnlbJ21ldGhvZCddWzBdCisgICAgICAgICAgICB0YXNraGFzaCA9IHF1ZXJ5Wyd0YXNraGFzaCddWzBdCisKKyAgICAgICAgICAgIGQgPSBOb25lCisgICAgICAgICAgICB3aXRoIGNvbnRleHRsaWIuY2xvc2luZyhzZWxmLmRiLmN1cnNvcigpKSBhcyBjdXJzb3I6CisgICAgICAgICAgICAgICAgY3Vyc29yLmV4ZWN1dGUoJ1NFTEVDVCB0YXNraGFzaCwgbWV0aG9kLCB1bmloYXNoIEZST00gdGFza3NfdjEgV0hFUkUgbWV0aG9kPTptZXRob2QgQU5EIHRhc2toYXNoPTp0YXNraGFzaCBPUkRFUiBCWSBjcmVhdGVkIEFTQyBMSU1JVCAxJywKKyAgICAgICAgICAgICAgICAgICAgICAgIHsnbWV0aG9kJzogbWV0aG9kLCAndGFza2hhc2gnOiB0YXNraGFzaH0pCisKKyAgICAgICAgICAgICAgICByb3cgPSBjdXJzb3IuZmV0Y2hvbmUoKQorCisgICAgICAgICAgICAgICAgaWYgcm93IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICBsb2dnZXIuZGVidWcoJ0ZvdW5kIGVxdWl2YWxlbnQgdGFzayAlcycsIHJvd1sndGFza2hhc2gnXSkKKyAgICAgICAgICAgICAgICAgICAgZCA9IHtrOiByb3dba10gZm9yIGsgaW4gKCd0YXNraGFzaCcsICdtZXRob2QnLCAndW5paGFzaCcpfQorCisgICAgICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2UoMjAwKQorICAgICAgICAgICAgc2VsZi5zZW5kX2hlYWRlcignQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgnKQorICAgICAgICAgICAgc2VsZi5lbmRfaGVhZGVycygpCisgICAgICAgICAgICBzZWxmLndmaWxlLndyaXRlKGpzb24uZHVtcHMoZCkuZW5jb2RlKCd1dGYtOCcpKQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBsb2dnZXIuZXhjZXB0aW9uKCdFcnJvciBpbiBHRVQnKQorICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQwMCwgZXhwbGFpbj10cmFjZWJhY2suZm9ybWF0X2V4YygpKQorICAgICAgICAgICAgcmV0dXJuCisKKyAgICBkZWYgZG9fUE9TVChzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcCA9IHVybGxpYi5wYXJzZS51cmxwYXJzZShzZWxmLnBhdGgpCisKKyAgICAgICAgICAgIGlmIHAucGF0aCAhPSBzZWxmLnByZWZpeCArICcvdjEvZXF1aXZhbGVudCc6CisgICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQwNCkKKyAgICAgICAgICAgICAgICByZXR1cm4KKworICAgICAgICAgICAgbGVuZ3RoID0gaW50KHNlbGYuaGVhZGVyc1snY29udGVudC1sZW5ndGgnXSkKKyAgICAgICAgICAgIGRhdGEgPSBqc29uLmxvYWRzKHNlbGYucmZpbGUucmVhZChsZW5ndGgpLmRlY29kZSgndXRmLTgnKSkKKworICAgICAgICAgICAgd2l0aCBjb250ZXh0bGliLmNsb3Npbmcoc2VsZi5kYi5jdXJzb3IoKSkgYXMgY3Vyc29yOgorICAgICAgICAgICAgICAgIGN1cnNvci5leGVjdXRlKCcnJworICAgICAgICAgICAgICAgICAgICBTRUxFQ1QgdGFza2hhc2gsIG1ldGhvZCwgdW5paGFzaCBGUk9NIHRhc2tzX3YxIFdIRVJFIG1ldGhvZD06bWV0aG9kIEFORCBvdXRoYXNoPTpvdXRoYXNoCisgICAgICAgICAgICAgICAgICAgIE9SREVSIEJZIENBU0UgV0hFTiB0YXNraGFzaD06dGFza2hhc2ggVEhFTiAxIEVMU0UgMiBFTkQsCisgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVkIEFTQworICAgICAgICAgICAgICAgICAgICBMSU1JVCAxCisgICAgICAgICAgICAgICAgICAgICcnJywge2s6IGRhdGFba10gZm9yIGsgaW4gKCdtZXRob2QnLCAnb3V0aGFzaCcsICd0YXNraGFzaCcpfSkKKworICAgICAgICAgICAgICAgIHJvdyA9IGN1cnNvci5mZXRjaG9uZSgpCisKKyAgICAgICAgICAgICAgICBpZiByb3cgaXMgTm9uZSBvciByb3dbJ3Rhc2toYXNoJ10gIT0gZGF0YVsndGFza2hhc2gnXToKKyAgICAgICAgICAgICAgICAgICAgdW5paGFzaCA9IGRhdGFbJ3VuaWhhc2gnXQorICAgICAgICAgICAgICAgICAgICBpZiByb3cgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICB1bmloYXNoID0gcm93Wyd1bmloYXNoJ10KKworICAgICAgICAgICAgICAgICAgICBpbnNlcnRfZGF0YSA9IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWV0aG9kJzogZGF0YVsnbWV0aG9kJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ291dGhhc2gnOiBkYXRhWydvdXRoYXNoJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rhc2toYXNoJzogZGF0YVsndGFza2hhc2gnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAndW5paGFzaCc6IHVuaWhhc2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NyZWF0ZWQnOiBkYXRldGltZS5ub3coKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICBmb3IgayBpbiAoJ293bmVyJywgJ1BOJywgJ1BWJywgJ1BSJywgJ3Rhc2snLCAnb3V0aGFzaF9zaWdpbmZvJyk6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBrIGluIGRhdGE6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0X2RhdGFba10gPSBkYXRhW2tdCisKKyAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmV4ZWN1dGUoJycnSU5TRVJUIElOVE8gdGFza3NfdjEgKCVzKSBWQUxVRVMgKCVzKScnJyAlICgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLCAnLmpvaW4oc29ydGVkKGluc2VydF9kYXRhLmtleXMoKSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICcsICcuam9pbignOicgKyBrIGZvciBrIGluIHNvcnRlZChpbnNlcnRfZGF0YS5rZXlzKCkpKSksCisgICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRfZGF0YSkKKworICAgICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygnQWRkaW5nIHRhc2toYXNoICVzIHdpdGggdW5paGFzaCAlcycsIGRhdGFbJ3Rhc2toYXNoJ10sIHVuaWhhc2gpCisgICAgICAgICAgICAgICAgICAgIGN1cnNvci5leGVjdXRlKCdTRUxFQ1QgdGFza2hhc2gsIG1ldGhvZCwgdW5paGFzaCBGUk9NIHRhc2tzX3YxIFdIRVJFIGlkPTppZCcsIHsnaWQnOiBjdXJzb3IubGFzdHJvd2lkfSkKKyAgICAgICAgICAgICAgICAgICAgcm93ID0gY3Vyc29yLmZldGNob25lKCkKKworICAgICAgICAgICAgICAgICAgICBzZWxmLmRiLmNvbW1pdCgpCisKKyAgICAgICAgICAgICAgICBkID0ge2s6IHJvd1trXSBmb3IgayBpbiAoJ3Rhc2toYXNoJywgJ21ldGhvZCcsICd1bmloYXNoJyl9CisKKyAgICAgICAgICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2UoMjAwKQorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9oZWFkZXIoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04JykKKyAgICAgICAgICAgICAgICBzZWxmLmVuZF9oZWFkZXJzKCkKKyAgICAgICAgICAgICAgICBzZWxmLndmaWxlLndyaXRlKGpzb24uZHVtcHMoZCkuZW5jb2RlKCd1dGYtOCcpKQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBsb2dnZXIuZXhjZXB0aW9uKCdFcnJvciBpbiBQT1NUJykKKyAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig0MDAsIGV4cGxhaW49dHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKKyAgICAgICAgICAgIHJldHVybgorCitkZWYgY3JlYXRlX3NlcnZlcihhZGRyLCBkYiwgcHJlZml4PScnKToKKyAgICBjbGFzcyBIYW5kbGVyKEhhc2hFcXVpdmFsZW5jZVNlcnZlcik6CisgICAgICAgIHBhc3MKKworICAgIEhhbmRsZXIucHJlZml4ID0gcHJlZml4CisgICAgSGFuZGxlci5kYiA9IGRiCisgICAgZGIucm93X2ZhY3RvcnkgPSBzcWxpdGUzLlJvdworCisgICAgd2l0aCBjb250ZXh0bGliLmNsb3NpbmcoZGIuY3Vyc29yKCkpIGFzIGN1cnNvcjoKKyAgICAgICAgY3Vyc29yLmV4ZWN1dGUoJycnCisgICAgICAgICAgICBDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyB0YXNrc192MSAoCisgICAgICAgICAgICAgICAgaWQgSU5URUdFUiBQUklNQVJZIEtFWSBBVVRPSU5DUkVNRU5ULAorICAgICAgICAgICAgICAgIG1ldGhvZCBURVhUIE5PVCBOVUxMLAorICAgICAgICAgICAgICAgIG91dGhhc2ggVEVYVCBOT1QgTlVMTCwKKyAgICAgICAgICAgICAgICB0YXNraGFzaCBURVhUIE5PVCBOVUxMLAorICAgICAgICAgICAgICAgIHVuaWhhc2ggVEVYVCBOT1QgTlVMTCwKKyAgICAgICAgICAgICAgICBjcmVhdGVkIERBVEVUSU1FLAorCisgICAgICAgICAgICAgICAgLS0gT3B0aW9uYWwgZmllbGRzCisgICAgICAgICAgICAgICAgb3duZXIgVEVYVCwKKyAgICAgICAgICAgICAgICBQTiBURVhULAorICAgICAgICAgICAgICAgIFBWIFRFWFQsCisgICAgICAgICAgICAgICAgUFIgVEVYVCwKKyAgICAgICAgICAgICAgICB0YXNrIFRFWFQsCisgICAgICAgICAgICAgICAgb3V0aGFzaF9zaWdpbmZvIFRFWFQKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAnJycpCisKKyAgICBsb2dnZXIuaW5mbygnU3RhcnRpbmcgc2VydmVyIG9uICVzJywgYWRkcikKKyAgICByZXR1cm4gSFRUUFNlcnZlcihhZGRyLCBIYW5kbGVyKQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9oYXNoc2Vydi90ZXN0cy5weSBiL3Bva3kvYml0YmFrZS9saWIvaGFzaHNlcnYvdGVzdHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODA2YjU0YwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvYml0YmFrZS9saWIvaGFzaHNlcnYvdGVzdHMucHkKQEAgLTAsMCArMSwxNDEgQEAKKyMhIC91c3IvYmluL2VudiBweXRob24zCisjCisjIENvcHlyaWdodCAoQykgMjAxOCBHYXJtaW4gTHRkLgorIworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworIyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyMgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyMgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKworaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgdGhyZWFkaW5nCitpbXBvcnQgc3FsaXRlMworaW1wb3J0IGhhc2hsaWIKK2ltcG9ydCB1cmxsaWIucmVxdWVzdAoraW1wb3J0IGpzb24KK2Zyb20gLiBpbXBvcnQgY3JlYXRlX3NlcnZlcgorCitjbGFzcyBUZXN0SGFzaEVxdWl2YWxlbmNlU2VydmVyKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgICMgU3RhcnQgYW4gaW4gbWVtb3J5IGhhc2ggZXF1aXZhbGVuY2Ugc2VydmVyIGluIHRoZSBiYWNrZ3JvdW5kIGJvdW5kIHRvCisgICAgICAgICMgYW4gZXBoZW1lcmFsIHBvcnQKKyAgICAgICAgZGIgPSBzcWxpdGUzLmNvbm5lY3QoJzptZW1vcnk6JywgY2hlY2tfc2FtZV90aHJlYWQ9RmFsc2UpCisgICAgICAgIHNlbGYuc2VydmVyID0gY3JlYXRlX3NlcnZlcigoJ2xvY2FsaG9zdCcsIDApLCBkYikKKyAgICAgICAgc2VsZi5zZXJ2ZXJfYWRkciA9ICdodHRwOi8vbG9jYWxob3N0OiVkJyAlIHNlbGYuc2VydmVyLnNvY2tldC5nZXRzb2NrbmFtZSgpWzFdCisgICAgICAgIHNlbGYuc2VydmVyX3RocmVhZCA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlbGYuc2VydmVyLnNlcnZlX2ZvcmV2ZXIpCisgICAgICAgIHNlbGYuc2VydmVyX3RocmVhZC5zdGFydCgpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgICMgU2h1dGRvd24gc2VydmVyCisgICAgICAgIHMgPSBnZXRhdHRyKHNlbGYsICdzZXJ2ZXInLCBOb25lKQorICAgICAgICBpZiBzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuc2h1dGRvd24oKQorICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfdGhyZWFkLmpvaW4oKQorICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuc2VydmVyX2Nsb3NlKCkKKworICAgIGRlZiBzZW5kX2dldChzZWxmLCBwYXRoKToKKyAgICAgICAgdXJsID0gJyVzLyVzJyAlIChzZWxmLnNlcnZlcl9hZGRyLCBwYXRoKQorICAgICAgICByZXF1ZXN0ID0gdXJsbGliLnJlcXVlc3QuUmVxdWVzdCh1cmwpCisgICAgICAgIHJlc3BvbnNlID0gdXJsbGliLnJlcXVlc3QudXJsb3BlbihyZXF1ZXN0KQorICAgICAgICByZXR1cm4ganNvbi5sb2FkcyhyZXNwb25zZS5yZWFkKCkuZGVjb2RlKCd1dGYtOCcpKQorCisgICAgZGVmIHNlbmRfcG9zdChzZWxmLCBwYXRoLCBkYXRhKToKKyAgICAgICAgaGVhZGVycyA9IHsnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nfQorICAgICAgICB1cmwgPSAnJXMvJXMnICUgKHNlbGYuc2VydmVyX2FkZHIsIHBhdGgpCisgICAgICAgIHJlcXVlc3QgPSB1cmxsaWIucmVxdWVzdC5SZXF1ZXN0KHVybCwganNvbi5kdW1wcyhkYXRhKS5lbmNvZGUoJ3V0Zi04JyksIGhlYWRlcnMpCisgICAgICAgIHJlc3BvbnNlID0gdXJsbGliLnJlcXVlc3QudXJsb3BlbihyZXF1ZXN0KQorICAgICAgICByZXR1cm4ganNvbi5sb2FkcyhyZXNwb25zZS5yZWFkKCkuZGVjb2RlKCd1dGYtOCcpKQorCisgICAgZGVmIHRlc3RfY3JlYXRlX2hhc2goc2VsZik6CisgICAgICAgICMgU2ltcGxlIHRlc3QgdGhhdCBoYXNoZXMgY2FuIGJlIGNyZWF0ZWQKKyAgICAgICAgdGFza2hhc2ggPSAnMzU3ODhlZmNiOGRmYjBhMDI2NTlkODFjZjJiZmQ2OTVmYjMwZmFmOScKKyAgICAgICAgb3V0aGFzaCA9ICcyNzY1ZDRhNTg4NGJlNDliMjg2MDE0NDVjMjc2MGM1ZjIxZTdlNWMwZWUyYjdlM2ZjZTk4ZmQ3ZTU5NzA3OTZmJworICAgICAgICB1bmloYXNoID0gJ2Y0NmQzZmJiNDM5YmQ5YjkyMTA5NWRhNjU3YTRkZTkwNjUxMGQyY2QnCisKKyAgICAgICAgZCA9IHNlbGYuc2VuZF9nZXQoJ3YxL2VxdWl2YWxlbnQ/bWV0aG9kPVRlc3RNZXRob2QmdGFza2hhc2g9JXMnICUgdGFza2hhc2gpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGQsIG1zZz0nRm91bmQgdW5leHBlY3RlZCB0YXNrLCAlcicgJSBkKQorCisgICAgICAgIGQgPSBzZWxmLnNlbmRfcG9zdCgndjEvZXF1aXZhbGVudCcsIHsKKyAgICAgICAgICAgICd0YXNraGFzaCc6IHRhc2toYXNoLAorICAgICAgICAgICAgJ21ldGhvZCc6ICdUZXN0TWV0aG9kJywKKyAgICAgICAgICAgICdvdXRoYXNoJzogb3V0aGFzaCwKKyAgICAgICAgICAgICd1bmloYXNoJzogdW5paGFzaCwKKyAgICAgICAgICAgIH0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZFsndW5paGFzaCddLCB1bmloYXNoLCAnU2VydmVyIHJldHVybmVkIGJhZCB1bmloYXNoJykKKworICAgIGRlZiB0ZXN0X2NyZWF0ZV9lcXVpdmFsZW50KHNlbGYpOgorICAgICAgICAjIFRlc3RzIHRoYXQgYSBzZWNvbmQgcmVwb3J0ZWQgdGFzayB3aXRoIHRoZSBzYW1lIG91dGhhc2ggd2lsbCBiZQorICAgICAgICAjIGFzc2lnbmVkIHRoZSBzYW1lIHVuaWhhc2gKKyAgICAgICAgdGFza2hhc2ggPSAnNTNiOGRjZTY3MmNiNmQwYzczMTcwYmU0M2Y1NDA0NjBiZmMzNDdiNCcKKyAgICAgICAgb3V0aGFzaCA9ICc1YTljYjE2NDk2MjVmMGJmNDFmYzc3OTFiNjM1Y2Q5YzJkNzExOGM3ZjAyMWJhODdkY2QwM2Y3MmI2N2NlN2E4JworICAgICAgICB1bmloYXNoID0gJ2YzNzkxOGNjMDJlYjVhNTIwYjFhZmY4NmZhYWNiYzBhMzgxMjQ2NDYnCisgICAgICAgIGQgPSBzZWxmLnNlbmRfcG9zdCgndjEvZXF1aXZhbGVudCcsIHsKKyAgICAgICAgICAgICd0YXNraGFzaCc6IHRhc2toYXNoLAorICAgICAgICAgICAgJ21ldGhvZCc6ICdUZXN0TWV0aG9kJywKKyAgICAgICAgICAgICdvdXRoYXNoJzogb3V0aGFzaCwKKyAgICAgICAgICAgICd1bmloYXNoJzogdW5paGFzaCwKKyAgICAgICAgICAgIH0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZFsndW5paGFzaCddLCB1bmloYXNoLCAnU2VydmVyIHJldHVybmVkIGJhZCB1bmloYXNoJykKKworICAgICAgICAjIFJlcG9ydCBhIGRpZmZlcmVudCB0YXNrIHdpdGggdGhlIHNhbWUgb3V0aGFzaC4gVGhlIHJldHVybmVkIHVuaWhhc2gKKyAgICAgICAgIyBzaG91bGQgbWF0Y2ggdGhlIGZpcnN0IHRhc2sKKyAgICAgICAgdGFza2hhc2gyID0gJzNiZjZmMWU4OWQyNjIwNWFlYzkwZGEwNDg1NGZiZGJmNzNhZmU2YjQnCisgICAgICAgIHVuaWhhc2gyID0gJ2FmMzZiMTk5MzIwZTYxMWZiYjE2ZjFmMjc3ZDNlZTFkNjE5Y2E1OGInCisgICAgICAgIGQgPSBzZWxmLnNlbmRfcG9zdCgndjEvZXF1aXZhbGVudCcsIHsKKyAgICAgICAgICAgICd0YXNraGFzaCc6IHRhc2toYXNoMiwKKyAgICAgICAgICAgICdtZXRob2QnOiAnVGVzdE1ldGhvZCcsCisgICAgICAgICAgICAnb3V0aGFzaCc6IG91dGhhc2gsCisgICAgICAgICAgICAndW5paGFzaCc6IHVuaWhhc2gyLAorICAgICAgICAgICAgfSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkWyd1bmloYXNoJ10sIHVuaWhhc2gsICdTZXJ2ZXIgcmV0dXJuZWQgYmFkIHVuaWhhc2gnKQorCisgICAgZGVmIHRlc3RfZHVwbGljYXRlX3Rhc2toYXNoKHNlbGYpOgorICAgICAgICAjIFRlc3RzIHRoYXQgZHVwbGljYXRlIHJlcG9ydHMgb2YgdGhlIHNhbWUgdGFza2hhc2ggd2l0aCBkaWZmZXJlbnQKKyAgICAgICAgIyBvdXRoYXNoICYgdW5paGFzaCBhbHdheXMgcmV0dXJuIHRoZSB1bmloYXNoIGZyb20gdGhlIGZpcnN0IHJlcG9ydGVkCisgICAgICAgICMgdGFza2hhc2gKKyAgICAgICAgdGFza2hhc2ggPSAnOGFhOTZmY2ZmYjU4MzFiM2MyYzBjYjc1ZjA0MzFlM2Y4YjIwNTU0YScKKyAgICAgICAgb3V0aGFzaCA9ICdhZmUyNDBhNDM5OTU5Y2U4NmY1ZTMyMmY4YzIwOGUxZmVkZWZlYTllODEzZjIxNDBjODFhZjg2NmNjOWVkZjdlJworICAgICAgICB1bmloYXNoID0gJzIxOGU1NzUwOTk5ODE5N2Q1NzBlMmM5ODUxMmQwMTA1OTg1ZGZmYzknCisgICAgICAgIGQgPSBzZWxmLnNlbmRfcG9zdCgndjEvZXF1aXZhbGVudCcsIHsKKyAgICAgICAgICAgICd0YXNraGFzaCc6IHRhc2toYXNoLAorICAgICAgICAgICAgJ21ldGhvZCc6ICdUZXN0TWV0aG9kJywKKyAgICAgICAgICAgICdvdXRoYXNoJzogb3V0aGFzaCwKKyAgICAgICAgICAgICd1bmloYXNoJzogdW5paGFzaCwKKyAgICAgICAgICAgIH0pCisKKyAgICAgICAgZCA9IHNlbGYuc2VuZF9nZXQoJ3YxL2VxdWl2YWxlbnQ/bWV0aG9kPVRlc3RNZXRob2QmdGFza2hhc2g9JXMnICUgdGFza2hhc2gpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZFsndW5paGFzaCddLCB1bmloYXNoKQorCisgICAgICAgIG91dGhhc2gyID0gJzA5MDRhN2ZlM2RjNzEyZDlmZDhhNzRhNjE2ZGRjYTJhODI1YThlZTk3YWRmMGJkM2ZjODYwODJjNzYzOTkxNGQnCisgICAgICAgIHVuaWhhc2gyID0gJ2FlOWE3ZDI1MjczNWYwZGFmY2RiMTBlMmUwMjU2MWNhM2E0NzMxNGMnCisgICAgICAgIGQgPSBzZWxmLnNlbmRfcG9zdCgndjEvZXF1aXZhbGVudCcsIHsKKyAgICAgICAgICAgICd0YXNraGFzaCc6IHRhc2toYXNoLAorICAgICAgICAgICAgJ21ldGhvZCc6ICdUZXN0TWV0aG9kJywKKyAgICAgICAgICAgICdvdXRoYXNoJzogb3V0aGFzaDIsCisgICAgICAgICAgICAndW5paGFzaCc6IHVuaWhhc2gyCisgICAgICAgICAgICB9KQorCisgICAgICAgIGQgPSBzZWxmLnNlbmRfZ2V0KCd2MS9lcXVpdmFsZW50P21ldGhvZD1UZXN0TWV0aG9kJnRhc2toYXNoPSVzJyAlIHRhc2toYXNoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRbJ3VuaWhhc2gnXSwgdW5paGFzaCkKKworICAgICAgICBvdXRoYXNoMyA9ICc3NzYyM2E1NDliNWIxYTMxZTM3MzJkZmE4ZmU2MWQ3Y2U1ZDQ0YjMzNzBmMjUzYzUzNjBlMTM2Yjg1Mjk2N2I0JworICAgICAgICB1bmloYXNoMyA9ICc5MjE3YTdkNjM5ODUxOGU1ZGMwMDJlZDU4ZjJjYmJiYzc4Njk2NjAzJworICAgICAgICBkID0gc2VsZi5zZW5kX3Bvc3QoJ3YxL2VxdWl2YWxlbnQnLCB7CisgICAgICAgICAgICAndGFza2hhc2gnOiB0YXNraGFzaCwKKyAgICAgICAgICAgICdtZXRob2QnOiAnVGVzdE1ldGhvZCcsCisgICAgICAgICAgICAnb3V0aGFzaCc6IG91dGhhc2gzLAorICAgICAgICAgICAgJ3VuaWhhc2gnOiB1bmloYXNoMworICAgICAgICAgICAgfSkKKworICAgICAgICBkID0gc2VsZi5zZW5kX2dldCgndjEvZXF1aXZhbGVudD9tZXRob2Q9VGVzdE1ldGhvZCZ0YXNraGFzaD0lcycgJSB0YXNraGFzaCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkWyd1bmloYXNoJ10sIHVuaWhhc2gpCisKKwpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL01ha2VmaWxlIGIvcG9reS9kb2N1bWVudGF0aW9uL01ha2VmaWxlCmluZGV4IDA5MzQyMmYuLjE0ODBlMTQgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9NYWtlZmlsZQorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vTWFrZWZpbGUKQEAgLTI2OSw3ICsyNjksOCBAQAogCWZpZ3VyZXMvc2RrLWRldnRvb2wtYWRkLWZsb3cucG5nIGZpZ3VyZXMvc2RrLWluc3RhbGxlZC1leHRlbnNpYmxlLXNkay1kaXJlY3RvcnkucG5nIFwKIAlmaWd1cmVzL3Nkay1kZXZ0b29sLW1vZGlmeS1mbG93LnBuZyBmaWd1cmVzL3Nkay1lY2xpcHNlLWRldi1mbG93LnBuZyBcCiAJZmlndXJlcy9zZGstZGV2dG9vbC11cGdyYWRlLWZsb3cucG5nIGZpZ3VyZXMvYml0YmFrZS1idWlsZC1mbG93LnBuZyBmaWd1cmVzL2J5cHFzLXRpdGxlLnBuZyBcCi0JZmlndXJlcy9vdmVydmlldy1tYW51YWwtdGl0bGUucG5nIGZpZ3VyZXMvc2RrLWF1dG90b29scy1mbG93LnBuZyBmaWd1cmVzL3Nkay1tYWtlZmlsZS1mbG93LnBuZworCWZpZ3VyZXMvb3ZlcnZpZXctbWFudWFsLXRpdGxlLnBuZyBmaWd1cmVzL3Nkay1hdXRvdG9vbHMtZmxvdy5wbmcgZmlndXJlcy9zZGstbWFrZWZpbGUtZmxvdy5wbmcgXAorCWZpZ3VyZXMvYmJfbXVsdGljb25maWdfZmlsZXMucG5nIGZpZ3VyZXMvYml0YmFrZS10aXRsZS5wbmcKIAllbmRpZgogCiBNQU5VQUxTID0gJChET0MpLyQoRE9DKS5odG1sCmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vYnJpZWYteW9jdG9wcm9qZWN0cXMvYnJpZWYteW9jdG9wcm9qZWN0cXMueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL2JyaWVmLXlvY3RvcHJvamVjdHFzL2JyaWVmLXlvY3RvcHJvamVjdHFzLnhtbAppbmRleCA1ZGEwM2E4Li40MjE0MTJlIDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vYnJpZWYteW9jdG9wcm9qZWN0cXMvYnJpZWYteW9jdG9wcm9qZWN0cXMueG1sCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9icmllZi15b2N0b3Byb2plY3Rxcy9icmllZi15b2N0b3Byb2plY3Rxcy54bWwKQEAgLTEzMSw3ICsxMzEsNyBAQAogICAgICAgICAgICAgICAgIHNlY3Rpb24gaW4gdGhlIFlvY3RvIFByb2plY3QgUmVmZXJlbmNlIE1hbnVhbC4KICAgICAgICAgICAgIDwvbm90ZT4KICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIGFwdC1nZXQgaW5zdGFsbCAmVUJVTlRVX0hPU1RfUEFDS0FHRVNfRVNTRU5USUFMOyBsaWJzZGwxLjItZGV2IHh0ZXJtCisgICAgICQgc3VkbyBhcHQtZ2V0IGluc3RhbGwgJlVCVU5UVV9IT1NUX1BBQ0tBR0VTX0VTU0VOVElBTDsKICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KICAgICAgICAgPC9wYXJhPgogICAgIDwvc2VjdGlvbj4KQEAgLTE0OCwxMSArMTQ4LDExIEBACiAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CiAgICAgICQgZ2l0IGNsb25lIGdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3Bva3kKICAgICAgQ2xvbmluZyBpbnRvICdwb2t5Jy4uLgotICAgICByZW1vdGU6IENvdW50aW5nIG9iamVjdHM6IDQyODYzMiwgZG9uZS4KLSAgICAgcmVtb3RlOiBDb21wcmVzc2luZyBvYmplY3RzOiAxMDAlICgxMDEyMDMvMTAxMjAzKSwgZG9uZS4KLSAgICAgcmVtb3RlOiBUb3RhbCA0Mjg2MzIgKGRlbHRhIDMyMDQ2MyksIHJldXNlZCA0Mjg1MzIgKGRlbHRhIDMyMDM2MykKLSAgICAgUmVjZWl2aW5nIG9iamVjdHM6IDEwMCUgKDQyODYzMi80Mjg2MzIpLCAxNTMuMDEgTWlCIHwgMTIuNDAgTWlCL3MsIGRvbmUuCi0gICAgIFJlc29sdmluZyBkZWx0YXM6IDEwMCUgKDMyMDQ2My8zMjA0NjMpLCBkb25lLgorICAgICByZW1vdGU6IENvdW50aW5nIG9iamVjdHM6IDQzMjE2MCwgZG9uZS4KKyAgICAgcmVtb3RlOiBDb21wcmVzc2luZyBvYmplY3RzOiAxMDAlICgxMDIwNTYvMTAyMDU2KSwgZG9uZS4KKyAgICAgcmVtb3RlOiBUb3RhbCA0MzIxNjAgKGRlbHRhIDMyMzExNiksIHJldXNlZCA0MzIwMzcgKGRlbHRhIDMyMzAwMCkKKyAgICAgUmVjZWl2aW5nIG9iamVjdHM6IDEwMCUgKDQzMjE2MC80MzIxNjApLCAxNTMuODEgTWlCIHwgOC41NCBNaUIvcywgZG9uZS4KKyAgICAgUmVzb2x2aW5nIGRlbHRhczogMTAwJSAoMzIzMTE2LzMyMzExNiksIGRvbmUuCiAgICAgIENoZWNraW5nIGNvbm5lY3Rpdml0eS4uLiBkb25lLgogICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgTW92ZSB0byB0aGUgPGZpbGVuYW1lPnBva3k8L2ZpbGVuYW1lPiBkaXJlY3RvcnkgYW5kIHRha2UgYSBsb29rCkBAIC0xNzQsNiArMTc0LDcgQEAKICAgICAgeW9jdG8tMi41LjIKICAgICAgeW9jdG8tMi42CiAgICAgIHlvY3RvLTIuNi4xCisgICAgIHlvY3RvLTIuNwogICAgICB5b2N0b18xLjVfTTUucmM4CiAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICBGb3IgdGhpcyBleGFtcGxlLCBjaGVjayBvdXQgdGhlIGJyYW5jaCBiYXNlZCBvbiB0aGUKZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9ic3AtZ3VpZGUvYnNwLWd1aWRlLnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9ic3AtZ3VpZGUvYnNwLWd1aWRlLnhtbAppbmRleCAwZDViNmIxLi5mNTU5ZTA4IDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vYnNwLWd1aWRlL2JzcC1ndWlkZS54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL2JzcC1ndWlkZS9ic3AtZ3VpZGUueG1sCkBAIC0xMjcsOSArMTI3LDkgQEAKICAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICAgICAgPHJldmlzaW9uPgotICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi42LjE8L3Jldm51bWJlcj4KKyAgICAgICAgICAgICAgICA8cmV2bnVtYmVyPjIuNzwvcmV2bnVtYmVyPgogICAgICAgICAgICAgICAgIDxkYXRlPiZSRUxfTU9OVEhfWUVBUjs8L2RhdGU+Ci0gICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNi4xIFJlbGVhc2UuPC9yZXZyZW1hcms+CisgICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNyBSZWxlYXNlLjwvcmV2cmVtYXJrPgogICAgICAgICAgICAgPC9yZXZpc2lvbj4KICAgICAgICAgPC9yZXZoaXN0b3J5PgogCmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLWNvbW1vbi10YXNrcy54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLWNvbW1vbi10YXNrcy54bWwKaW5kZXggYzc1ZTcxOC4uODkzZWY3YiAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL2Rldi1tYW51YWwvZGV2LW1hbnVhbC1jb21tb24tdGFza3MueG1sCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9kZXYtbWFudWFsL2Rldi1tYW51YWwtY29tbW9uLXRhc2tzLnhtbApAQCAtNTExNiwxNSArNTExNiwxNSBAQAogICAgICAgICAgICAgU28sIGNvbW1hbmRzIHN1Y2ggYXMgdGhlIGZvbGxvd2luZyBhcmUgdXNlZnVsIHdoZW4gZXhwbG9yaW5nIHRoZSBkYXRhCiAgICAgICAgICAgICBzdG9yZSBhbmQgcnVubmluZyBmdW5jdGlvbnM6CiAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgIHB5ZGV2c2hlbGw+IGQuZ2V0VmFyKCJTVEFHSU5HX0RJUiIsIFRydWUpCisgICAgIHB5ZGV2c2hlbGw+IGQuZ2V0VmFyKCJTVEFHSU5HX0RJUiIpCiAgICAgICcvbWVkaWEvYnVpbGQxL3Bva3kvYnVpbGQvdG1wL3N5c3Jvb3RzJwotICAgICBweWRldnNoZWxsPiBkLmdldFZhcigiU1RBR0lOR19ESVIiLCBGYWxzZSkKKyAgICAgcHlkZXZzaGVsbD4gZC5nZXRWYXIoIlNUQUdJTkdfRElSIikKICAgICAgJyR7VE1QRElSfS9zeXNyb290cycKICAgICAgcHlkZXZzaGVsbD4gZC5zZXRWYXIoIkZPTyIsICJiYXIiKQotICAgICBweWRldnNoZWxsPiBkLmdldFZhcigiRk9PIiwgVHJ1ZSkKKyAgICAgcHlkZXZzaGVsbD4gZC5nZXRWYXIoIkZPTyIpCiAgICAgICdiYXInCiAgICAgIHB5ZGV2c2hlbGw+IGQuZGVsVmFyKCJGT08iKQotICAgICBweWRldnNoZWxsPiBkLmdldFZhcigiRk9PIiwgVHJ1ZSkKKyAgICAgcHlkZXZzaGVsbD4gZC5nZXRWYXIoIkZPTyIpCiAgICAgIHB5ZGV2c2hlbGw+IGJiLmJ1aWxkLmV4ZWNfZnVuYygiZG9fdW5wYWNrIiwgZCkKICAgICAgcHlkZXZzaGVsbD4KICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KQEAgLTYzMjMsMTAgKzYzMjMsMTgxIEBACiAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICA8L3NlY3Rpb24+CisKKyAgICAgICAgPHNlY3Rpb24gaWQ9InJlcGxpY2F0aW5nLWEtYnVpbGQtb2ZmbGluZSI+CisgICAgICAgICAgICA8dGl0bGU+UmVwbGljYXRpbmcgYSBCdWlsZCBPZmZsaW5lPC90aXRsZT4KKworICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgICAgSXQgY2FuIGJlIHVzZWZ1bCB0byB0YWtlIGEgInNuYXBzaG90IiBvZiB1cHN0cmVhbSBzb3VyY2VzCisgICAgICAgICAgICAgICAgdXNlZCBpbiBhIGJ1aWxkIGFuZCB0aGVuIHVzZSB0aGF0ICJzbmFwc2hvdCIgbGF0ZXIgdG8KKyAgICAgICAgICAgICAgICByZXBsaWNhdGUgdGhlIGJ1aWxkIG9mZmxpbmUuCisgICAgICAgICAgICAgICAgVG8gZG8gc28sIHlvdSBuZWVkIHRvIGZpcnN0IHByZXBhcmUgYW5kIHBvcHVsYXRlIHlvdXIgZG93bmxvYWRzCisgICAgICAgICAgICAgICAgZGlyZWN0b3J5IHlvdXIgInNuYXBzaG90IiBvZiBmaWxlcy4KKyAgICAgICAgICAgICAgICBPbmNlIHlvdXIgZG93bmxvYWRzIGRpcmVjdG9yeSBpcyByZWFkeSwgeW91IGNhbiB1c2UgaXQgYXQKKyAgICAgICAgICAgICAgICBhbnkgdGltZSBhbmQgZnJvbSBhbnkgbWFjaGluZSB0byByZXBsaWNhdGUgeW91ciBidWlsZC4KKyAgICAgICAgICAgIDwvcGFyYT4KKworICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgICAgRm9sbG93IHRoZXNlIHN0ZXBzIHRvIHBvcHVsYXRlIHlvdXIgRG93bmxvYWRzIGRpcmVjdG9yeToKKyAgICAgICAgICAgICAgICA8b3JkZXJlZGxpc3Q+CisgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxlbXBoYXNpcz5DcmVhdGUgYSBDbGVhbiBEb3dubG9hZHMgRGlyZWN0b3J5OjwvZW1waGFzaXM+CisgICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB3aXRoIGFuIGVtcHR5IGRvd25sb2FkcyBkaXJlY3RvcnkKKyAgICAgICAgICAgICAgICAgICAgICAgICg8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19SRUZfVVJMOyN2YXItRExfRElSJz48ZmlsZW5hbWU+RExfRElSPC9maWxlbmFtZT48L3VsaW5rPikuCisgICAgICAgICAgICAgICAgICAgICAgICBZb3Ugc3RhcnQgd2l0aCBhbiBlbXB0eSBkb3dubG9hZHMgZGlyZWN0b3J5IGJ5IGVpdGhlcgorICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZpbmcgdGhlIGZpbGVzIGluIHRoZSBleGlzdGluZyBkaXJlY3Rvcnkgb3IgYnkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPiB0byBwb2ludCB0byBlaXRoZXIgYW4KKyAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5IGxvY2F0aW9uIG9yIG9uZSB0aGF0IGRvZXMgbm90IHlldCBleGlzdC4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZW1waGFzaXM+R2VuZXJhdGUgVGFyYmFsbHMgb2YgdGhlIFNvdXJjZSBHaXQgUmVwb3NpdG9yaWVzOjwvZW1waGFzaXM+CisgICAgICAgICAgICAgICAgICAgICAgICBFZGl0IHlvdXIgPGZpbGVuYW1lPmxvY2FsLmNvbmY8L2ZpbGVuYW1lPiBjb25maWd1cmF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICBmaWxlIGFzIGZvbGxvd3M6CisgICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CisgICAgIERMX0RJUiA9ICIvaG9tZS88cmVwbGFjZWFibGU+eW91ci1kb3dubG9hZC1kaXI8L3JlcGxhY2VhYmxlPi8iCisgICAgIEJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUyA9ICIxIgorICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgorICAgICAgICAgICAgICAgICAgICAgICAgRHVyaW5nIHRoZSBmZXRjaCBwcm9jZXNzIGluIHRoZSBuZXh0IHN0ZXAsIEJpdEJha2UKKyAgICAgICAgICAgICAgICAgICAgICAgIGdhdGhlcnMgdGhlIHNvdXJjZSBmaWxlcyBhbmQgY3JlYXRlcyB0YXJiYWxscyBpbgorICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRpcmVjdG9yeSBwb2ludGVkIHRvIGJ5IDxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPi4KKyAgICAgICAgICAgICAgICAgICAgICAgIFNlZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I3Zhci1CQl9HRU5FUkFURV9NSVJST1JfVEFSQkFMTFMnPjxmaWxlbmFtZT5CQl9HRU5FUkFURV9NSVJST1JfVEFSQkFMTFM8L2ZpbGVuYW1lPjwvdWxpbms+CisgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZW1waGFzaXM+UG9wdWxhdGUgWW91ciBEb3dubG9hZHMgRGlyZWN0b3J5IFdpdGhvdXQgQnVpbGRpbmc6PC9lbXBoYXNpcz4KKyAgICAgICAgICAgICAgICAgICAgICAgIFVzZSBCaXRCYWtlIHRvIGZldGNoIHlvdXIgc291cmNlcyBidXQgaW5oaWJpdCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkOgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgorICAgICAkIGJpdGJha2UgPHJlcGxhY2VhYmxlPnRhcmdldDwvcmVwbGFjZWFibGU+IC0tcnVub25seT1mZXRjaAorICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgorICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGRvd25sb2FkcyBkaXJlY3RvcnkgKGkuZS4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT4ke0RMX0RJUn08L2ZpbGVuYW1lPikgbm93IGhhcyBhICJzbmFwc2hvdCIgb2YKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBzb3VyY2UgZmlsZXMgaW4gdGhlIGZvcm0gb2YgdGFyYmFsbHMsIHdoaWNoIGNhbgorICAgICAgICAgICAgICAgICAgICAgICAgYmUgdXNlZCBmb3IgdGhlIGJ1aWxkLgorICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxlbXBoYXNpcz5PcHRpb25hbGx5IFJlbW92ZSBBbnkgR2l0IG9yIG90aGVyIFNDTSBTdWJkaXJlY3RvcmllcyBGcm9tIHRoZSBEb3dubG9hZHMgRGlyZWN0b3J5OjwvZW1waGFzaXM+CisgICAgICAgICAgICAgICAgICAgICAgICBJZiB5b3Ugd2FudCwgeW91IGNhbiBjbGVhbiB1cCB5b3VyIGRvd25sb2FkcyBkaXJlY3RvcnkKKyAgICAgICAgICAgICAgICAgICAgICAgIGJ5IHJlbW92aW5nIGFueSBHaXQgb3Igb3RoZXIgU291cmNlIENvbnRyb2wgTWFuYWdlbWVudAorICAgICAgICAgICAgICAgICAgICAgICAgKFNDTSkgc3ViZGlyZWN0b3JpZXMgc3VjaCBhcworICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7RExfRElSfS9naXQyLyo8L2ZpbGVuYW1lPi4KKyAgICAgICAgICAgICAgICAgICAgICAgIFRoZSB0YXJiYWxscyBhbHJlYWR5IGNvbnRhaW4gdGhlc2Ugc3ViZGlyZWN0b3JpZXMuCisgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICA8L29yZGVyZWRsaXN0PgorICAgICAgICAgICAgPC9wYXJhPgorCisgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICBPbmNlIHlvdXIgZG93bmxvYWRzIGRpcmVjdG9yeSBoYXMgZXZlcnl0aGluZyBpdCBuZWVkcyByZWdhcmRpbmcKKyAgICAgICAgICAgICAgICBzb3VyY2UgZmlsZXMsIHlvdSBjYW4gY3JlYXRlIHlvdXIgIm93bi1taXJyb3IiIGFuZCBidWlsZAorICAgICAgICAgICAgICAgIHlvdXIgdGFyZ2V0LgorICAgICAgICAgICAgICAgIFVuZGVyc3RhbmQgdGhhdCB5b3UgY2FuIHVzZSB0aGUgZmlsZXMgdG8gYnVpbGQgdGhlIHRhcmdldAorICAgICAgICAgICAgICAgIG9mZmxpbmUgZnJvbSBhbnkgbWFjaGluZSBhbmQgYXQgYW55IHRpbWUuCisgICAgICAgICAgICA8L3BhcmE+CisKKyAgICAgICAgICAgIDxwYXJhPgorICAgICAgICAgICAgICAgIEZvbGxvdyB0aGVzZSBzdGVwcyB0byBidWlsZCB5b3VyIHRhcmdldCB1c2luZyB0aGUgZmlsZXMgaW4gdGhlCisgICAgICAgICAgICAgICAgZG93bmxvYWRzIGRpcmVjdG9yeToKKyAgICAgICAgICAgICAgICA8b3JkZXJlZGxpc3Q+CisgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxlbXBoYXNpcz5Vc2luZyBMb2NhbCBGaWxlcyBPbmx5OjwvZW1waGFzaXM+CisgICAgICAgICAgICAgICAgICAgICAgICBJbnNpZGUgeW91ciA8ZmlsZW5hbWU+bG9jYWwuY29uZjwvZmlsZW5hbWU+IGZpbGUsIGFkZAorICAgICAgICAgICAgICAgICAgICAgICAgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19SRUZfVVJMOyN2YXItU09VUkNFX01JUlJPUl9VUkwnPjxmaWxlbmFtZT5TT1VSQ0VfTUlSUk9SX1VSTDwvZmlsZW5hbWU+PC91bGluaz4KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgaW5oZXJpdCB0aGUgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfUkVGX1VSTDsjcmVmLWNsYXNzZXMtb3duLW1pcnJvcnMnPjxmaWxlbmFtZT5vd24tbWlycm9yczwvZmlsZW5hbWU+PC91bGluaz4KKyAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzLCBhbmQgdXNlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfQkJfVVJMOyN2YXItYmItQkJfTk9fTkVUV09SSyc+PGZpbGVuYW1lPkJCX05PX05FVFdPUks8L2ZpbGVuYW1lPjwvdWxpbms+CisgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSB0byB5b3VyIDxmaWxlbmFtZT5sb2NhbC5jb25mPC9maWxlbmFtZT4uCisgICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CisgICAgIFNPVVJDRV9NSVJST1JfVVJMID89ICJmaWxlOi8vL2hvbWUvPHJlcGxhY2VhYmxlPnlvdXItZG93bmxvYWQtZGlyPC9yZXBsYWNlYWJsZT4vIgorICAgICBJTkhFUklUICs9ICJvd24tbWlycm9ycyIKKyAgICAgQkJfTk9fTkVUV09SSyA9ICIxIgorICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgorICAgICAgICAgICAgICAgICAgICAgICAgVGhlIDxmaWxlbmFtZT5TT1VSQ0VfTUlSUk9SX1VSTDwvZmlsZW5hbWU+IGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPm93bi1taXJyb3I8L2ZpbGVuYW1lPiBjbGFzcyBzZXQgdXAgdGhlIHN5c3RlbQorICAgICAgICAgICAgICAgICAgICAgICAgdG8gdXNlIHRoZSBkb3dubG9hZHMgZGlyZWN0b3J5IGFzIHlvdXIgIm93biBtaXJyb3IiLgorICAgICAgICAgICAgICAgICAgICAgICAgVXNpbmcgdGhlIDxmaWxlbmFtZT5CQl9OT19ORVRXT1JLPC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIG1ha2VzIHN1cmUgdGhhdCBCaXRCYWtlJ3MgZmV0Y2hpbmcgcHJvY2VzcworICAgICAgICAgICAgICAgICAgICAgICAgaW4gc3RlcCAzIHN0YXlzIGxvY2FsLCB3aGljaCBtZWFucyBmaWxlcyBmcm9tCisgICAgICAgICAgICAgICAgICAgICAgICB5b3VyICJvd24tbWlycm9yIiBhcmUgdXNlZC4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZW1waGFzaXM+U3RhcnQgV2l0aCBhIENsZWFuIEJ1aWxkOjwvZW1waGFzaXM+CisgICAgICAgICAgICAgICAgICAgICAgICBZb3UgY2FuIHN0YXJ0IHdpdGggYSBjbGVhbiBidWlsZCBieSByZW1vdmluZyB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT4kezwvZmlsZW5hbWU+PHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfUkVGX1VSTDsjdmFyLVRNUERJUic+PGZpbGVuYW1lPlRNUERJUjwvZmlsZW5hbWU+PC91bGluaz48ZmlsZW5hbWU+fTwvZmlsZW5hbWU+CisgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rvcnkgb3IgdXNpbmcgYSBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I2J1aWxkLWRpcmVjdG9yeSc+QnVpbGQgRGlyZWN0b3J5PC91bGluaz4uCisgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgICAgICAgICAgICAgPGVtcGhhc2lzPkJ1aWxkIFlvdXIgVGFyZ2V0OjwvZW1waGFzaXM+CisgICAgICAgICAgICAgICAgICAgICAgICBVc2UgQml0QmFrZSB0byBidWlsZCB5b3VyIHRhcmdldDoKKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KKyAgICAgJCBiaXRiYWtlIDxyZXBsYWNlYWJsZT50YXJnZXQ8L3JlcGxhY2VhYmxlPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgorICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGJ1aWxkIGNvbXBsZXRlcyB1c2luZyB0aGUga25vd24gbG9jYWwgInNuYXBzaG90IiBvZgorICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlIGZpbGVzIGZyb20geW91ciBtaXJyb3IuCisgICAgICAgICAgICAgICAgICAgICAgICBUaGUgcmVzdWx0aW5nIHRhcmJhbGxzIGZvciB5b3VyICJzbmFwc2hvdCIgb2Ygc291cmNlCisgICAgICAgICAgICAgICAgICAgICAgICBmaWxlcyBhcmUgaW4gdGhlIGRvd25sb2FkcyBkaXJlY3RvcnkuCisgICAgICAgICAgICAgICAgICAgICAgICA8bm90ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGFyYT5UaGUgb2ZmbGluZSBidWlsZCBkb2VzIG5vdCB3b3JrIGlmIHJlY2lwZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRlbXB0IHRvIGZpbmQgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHNvZnR3YXJlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgc2V0dGluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I3Zhci1TUkNSRVYnPjxmaWxlbmFtZT5TUkNSRVY8L2ZpbGVuYW1lPjwvdWxpbms+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+JHs8L2ZpbGVuYW1lPjx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I3Zhci1BVVRPUkVWJz48ZmlsZW5hbWU+QVVUT1JFVjwvZmlsZW5hbWU+PC91bGluaz48ZmlsZW5hbWU+fTwvZmlsZW5hbWU+OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KKyAgICAgU1JDUkVWID0gIiR7QVVUT1JFVn0iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoZW4gYSByZWNpcGUgc2V0cworICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5TUkNSRVY8L2ZpbGVuYW1lPiB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT4ke0FVVE9SRVZ9PC9maWxlbmFtZT4sIHRoZSBidWlsZCBzeXN0ZW0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlcyB0aGUgbmV0d29yayBpbiBhbiBhdHRlbXB0IHRvIGRldGVybWluZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXRlc3QgdmVyc2lvbiBvZiBzb2Z0d2FyZSBmcm9tIHRoZSBTQ00uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwaWNhbGx5LCByZWNpcGVzIHRoYXQgdXNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkFVVE9SRVY8L2ZpbGVuYW1lPiBhcmUgY3VzdG9tIG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZWQgcmVjaXBlcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNpcGVzIHRoYXQgcmVzaWRlIGluIHB1YmxpYyByZXBvc2l0b3JpZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c3VhbGx5IGRvIG5vdCB1c2UgPGZpbGVuYW1lPkFVVE9SRVY8L2ZpbGVuYW1lPi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGFyYT5JZiB5b3UgZG8gaGF2ZSByZWNpcGVzIHRoYXQgdXNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkFVVE9SRVY8L2ZpbGVuYW1lPiwgeW91IGNhbiB0YWtlIHN0ZXBzIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RpbGwgdXNlIHRoZSByZWNpcGVzIGluIGFuIG9mZmxpbmUgYnVpbGQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG8gdGhlIGZvbGxvd2luZzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9yZGVyZWRsaXN0PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZSBhIGNvbmZpZ3VyYXRpb24gZ2VuZXJhdGVkIGJ5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSdtYWludGFpbmluZy1idWlsZC1vdXRwdXQtcXVhbGl0eSc+YnVpbGQgaGlzdG9yeTwvbGluaz4uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5idWlsZGhpc3RvcnktY29sbGVjdC1zcmNyZXZzPC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kIHRvIGNvbGxlY3QgdGhlIHN0b3JlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5TUkNSRVY8L2ZpbGVuYW1lPiB2YWx1ZXMgZnJvbQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBidWlsZCdzIGhpc3RvcnkuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gY29sbGVjdGluZyB0aGVzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcywgc2VlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8bGluayBsaW5rZW5kPSdidWlsZC1oaXN0b3J5LXBhY2thZ2UtaW5mb3JtYXRpb24nPkJ1aWxkIEhpc3RvcnkgUGFja2FnZSBJbmZvcm1hdGlvbjwvbGluaz4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbmNlIHlvdSBoYXZlIHRoZSBjb3JyZWN0IHNvdXJjZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldmlzaW9ucywgeW91IGNhbiBtb2RpZnkgdGhvc2UgcmVjaXBlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHRvIHNldCA8ZmlsZW5hbWU+U1JDUkVWPC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBzcGVjaWZpYyB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3JkZXJlZGxpc3Q+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9ub3RlPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgICAgICAgICAgICAgPC9vcmRlcmVkbGlzdD4KKyAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPC9zZWN0aW9uPgogICAgIDwvc2VjdGlvbj4KIAotCi0KICAgICA8c2VjdGlvbiBpZD0nc3BlZWRpbmctdXAtYS1idWlsZCc+CiAgICAgICAgIDx0aXRsZT5TcGVlZGluZyBVcCBhIEJ1aWxkPC90aXRsZT4KIApAQCAtNjg5Miw4ICs3MDYzLDggQEAKICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KICAgICAgTUFDSElORSA9ICJxZW11eDg2LTY0IgogICAgICBERUZBVUxUVFVORSA9ICJ4ODYtNjQteDMyIgotICAgICBiYXNlbGliID0gIiR7QGQuZ2V0VmFyKCdCQVNFX0xJQl90dW5lLScgKyAoZC5nZXRWYXIoJ0RFRkFVTFRUVU5FJywgVHJ1ZSkgXAotICAgICAgICBvciAnSU5WQUxJRCcpLCBUcnVlKSBvciAnbGliJ30iCisgICAgIGJhc2VsaWIgPSAiJHtAZC5nZXRWYXIoJ0JBU0VfTElCX3R1bmUtJyArIChkLmdldFZhcignREVGQVVMVFRVTkUnKSBcCisgICAgICAgIG9yICdJTlZBTElEJykpIG9yICdsaWInfSIKICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KICAgICAgICAgICAgIE9uY2UgeW91IGhhdmUgc2V0IHVwIHlvdXIgY29uZmlndXJhdGlvbiBmaWxlLCB1c2UgQml0QmFrZSB0bwogICAgICAgICAgICAgYnVpbGQgYW4gaW1hZ2UgdGhhdCBzdXBwb3J0cyB0aGUgeDMyIHBzQUJJLgpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL2Rldi1tYW51YWwvZGV2LW1hbnVhbC1xZW11LnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9kZXYtbWFudWFsL2Rldi1tYW51YWwtcWVtdS54bWwKaW5kZXggNGU3YjVkZS4uZjVhMGQ2NCAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL2Rldi1tYW51YWwvZGV2LW1hbnVhbC1xZW11LnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLXFlbXUueG1sCkBAIC01OTAsNiArNTkwLDkgQEAKICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPm5vZ3JhcGhpYzwvZmlsZW5hbWU+OgogICAgICAgICAgICAgICAgICAgICBEaXNhYmxlcyB0aGUgdmlkZW8gY29uc29sZSwgd2hpY2ggc2V0cyB0aGUgY29uc29sZSB0bwogICAgICAgICAgICAgICAgICAgICAidHR5czAiLgorICAgICAgICAgICAgICAgICAgICBUaGlzIG9wdGlvbiBpcyB1c2VmdWwgd2hlbiB5b3UgaGF2ZSBsb2dnZWQgaW50byBhIHNlcnZlcgorICAgICAgICAgICAgICAgICAgICBhbmQgeW91IGRvIG5vdCB3YW50IHRvIGRpc2FibGUgZm9yd2FyZGluZyBmcm9tIHRoZQorICAgICAgICAgICAgICAgICAgICBYIFdpbmRvdyBTeXN0ZW0gKFgxMSkgdG8geW91ciB3b3Jrc3RhdGlvbiBvciBsYXB0b3AuCiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPnNlcmlhbDwvZmlsZW5hbWU+OgpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL2Rldi1tYW51YWwvZGV2LW1hbnVhbC1zdGFydC54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLXN0YXJ0LnhtbAppbmRleCBkMzdjMDMwLi42ZWM1YzNjIDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLXN0YXJ0LnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLXN0YXJ0LnhtbApAQCAtNDQsNyArNDQsNyBAQAogICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgogICAgICAgICAgICAgICAgIDxlbXBoYXNpcz5EZXRlcm1pbmUgV2hvIGlzIEdvaW5nIHRvIGJlIERldmVsb3Bpbmc6PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICBZb3UgbmVlZCB0byB1bmRlcnN0YW5kIHdobyBpcyBnb2luZyB0byBiZSBkb2luZyBhbnl0aGluZwotICAgICAgICAgICAgICAgIHJlbGF0ZWQgdG8gdGhlIFlvY3RvIFByb2plY3QgYW5kIHdoYXQgdGhlaXIgcm9sZXMgd291bGQgYmUuCisgICAgICAgICAgICAgICAgcmVsYXRlZCB0byB0aGUgWW9jdG8gUHJvamVjdCBhbmQgZGV0ZXJtaW5lIHRoZWlyIHJvbGVzLgogICAgICAgICAgICAgICAgIE1ha2luZyB0aGlzIGRldGVybWluYXRpb24gaXMgZXNzZW50aWFsIHRvIGNvbXBsZXRpbmcKICAgICAgICAgICAgICAgICBzdGVwcyB0d28gYW5kIHRocmVlLCB3aGljaCBhcmUgdG8gZ2V0IHlvdXIgZXF1aXBtZW50IHRvZ2V0aGVyCiAgICAgICAgICAgICAgICAgYW5kIHNldCB1cCB5b3VyIGRldmVsb3BtZW50IGVudmlyb25tZW50J3MgaGFyZHdhcmUgdG9wb2xvZ3kuCkBAIC05NTEsMTEgKzk1MSwxMSBAQAogICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CiAgICAgICQgZ2l0IGNsb25lIGdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3Bva3kKICAgICAgQ2xvbmluZyBpbnRvICdwb2t5Jy4uLgotICAgICByZW1vdGU6IENvdW50aW5nIG9iamVjdHM6IDQxNjU0MiwgZG9uZS4KLSAgICAgcmVtb3RlOiBDb21wcmVzc2luZyBvYmplY3RzOiAxMDAlICg5ODYxMS85ODYxMSksIGRvbmUuCi0gICAgIHJlbW90ZTogVG90YWwgNDE2NTQyIChkZWx0YSAzMTExMDQpLCByZXVzZWQgNDE2Mzc3IChkZWx0YSAzMTA5MzkpCi0gICAgIFJlY2VpdmluZyBvYmplY3RzOiAxMDAlICg0MTY1NDIvNDE2NTQyKSwgMTUwLjM5IE1pQiB8IDE1Ljc3IE1pQi9zLCBkb25lLgotICAgICBSZXNvbHZpbmcgZGVsdGFzOiAxMDAlICgzMTExMDQvMzExMTA0KSwgZG9uZS4KKyAgICAgcmVtb3RlOiBDb3VudGluZyBvYmplY3RzOiA0MzIxNjAsIGRvbmUuCisgICAgIHJlbW90ZTogQ29tcHJlc3Npbmcgb2JqZWN0czogMTAwJSAoMTAyMDU2LzEwMjA1NiksIGRvbmUuCisgICAgIHJlbW90ZTogVG90YWwgNDMyMTYwIChkZWx0YSAzMjMxMTYpLCByZXVzZWQgNDMyMDM3IChkZWx0YSAzMjMwMDApCisgICAgIFJlY2VpdmluZyBvYmplY3RzOiAxMDAlICg0MzIxNjAvNDMyMTYwKSwgMTUzLjgxIE1pQiB8IDguNTQgTWlCL3MsIGRvbmUuCisgICAgIFJlc29sdmluZyBkZWx0YXM6IDEwMCUgKDMyMzExNi8zMjMxMTYpLCBkb25lLgogICAgICBDaGVja2luZyBjb25uZWN0aXZpdHkuLi4gZG9uZS4KICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgICAgICAgICBVbmxlc3MgeW91IHNwZWNpZnkgYSBzcGVjaWZpYyBkZXZlbG9wbWVudCBicmFuY2ggb3IKQEAgLTEwMzcsMTMgKzEwMzcsMTUgQEAKICAgICAgICAgICAgLgogICAgICAgICAgICAuCiAgICAgICAgICAgIC4KLSAgICAgICByZW1vdGVzL29yaWdpbi9tYXN0ZXItbmV4dAotICAgICAgIHJlbW90ZXMvb3JpZ2luL21hc3Rlci1uZXh0MgotICAgICAgIHJlbW90ZXMvb3JpZ2luL21vcnR5Ci0gICAgICAgcmVtb3Rlcy9vcmlnaW4vcGlua3kKLSAgICAgICByZW1vdGVzL29yaWdpbi9wdXJwbGUKICAgICAgICByZW1vdGVzL29yaWdpbi9weXJvCisgICAgICAgcmVtb3Rlcy9vcmlnaW4vcHlyby1uZXh0CiAgICAgICAgcmVtb3Rlcy9vcmlnaW4vcm9ja28KKyAgICAgICByZW1vdGVzL29yaWdpbi9yb2Nrby1uZXh0CisgICAgICAgcmVtb3Rlcy9vcmlnaW4vc3VtbworICAgICAgIHJlbW90ZXMvb3JpZ2luL3N1bW8tbmV4dAorICAgICAgIHJlbW90ZXMvb3JpZ2luL3RodWQKKyAgICAgICByZW1vdGVzL29yaWdpbi90aHVkLW5leHQKKyAgICAgICByZW1vdGVzL29yaWdpbi93YXJyaW9yCiAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgpAQCAtMTEyNSw4ICsxMTI3LDEwIEBACiAgICAgIHlvY3RvLTIuNQogICAgICB5b2N0by0yLjUuMQogICAgICB5b2N0by0yLjUuMgorICAgICB5b2N0by0yLjUuMwogICAgICB5b2N0by0yLjYKICAgICAgeW9jdG8tMi42LjEKKyAgICAgeW9jdG8tMi43CiAgICAgIHlvY3RvXzEuNV9NNS5yYzgKICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9kZXYtbWFudWFsL2Rldi1tYW51YWwueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL2Rldi1tYW51YWwvZGV2LW1hbnVhbC54bWwKaW5kZXggYjU0YzBkNi4uNWRkYTAxNiAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL2Rldi1tYW51YWwvZGV2LW1hbnVhbC54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL2Rldi1tYW51YWwvZGV2LW1hbnVhbC54bWwKQEAgLTExMiw5ICsxMTIsOSBAQAogICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgICAgICA8cmV2aXNpb24+Ci0gICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjYuMTwvcmV2bnVtYmVyPgorICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi43PC9yZXZudW1iZXI+CiAgICAgICAgICAgICAgICAgPGRhdGU+JlJFTF9NT05USF9ZRUFSOzwvZGF0ZT4KLSAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42LjEgUmVsZWFzZS48L3JldnJlbWFyaz4KKyAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi43IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICA8L3Jldmhpc3Rvcnk+CiAKZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9rZXJuZWwtZGV2L2tlcm5lbC1kZXYtY29tbW9uLnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9rZXJuZWwtZGV2L2tlcm5lbC1kZXYtY29tbW9uLnhtbAppbmRleCA5MDUyODc2Li43ZmY0Y2JhIDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24va2VybmVsLWRldi9rZXJuZWwtZGV2LWNvbW1vbi54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL2tlcm5lbC1kZXYva2VybmVsLWRldi1jb21tb24ueG1sCkBAIC0xNDc5LDE1ICsxNDc5LDMzIEBACiAKICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgIFRvIHVzZSB0aGUgPGZpbGVuYW1lPm1lbnVjb25maWc8L2ZpbGVuYW1lPiB0b29sIGluIHRoZSBZb2N0bwotICAgICAgICAgICAgICAgIFByb2plY3QgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQsIHlvdSBtdXN0IGxhdW5jaCBpdCB1c2luZwotICAgICAgICAgICAgICAgIEJpdEJha2UuCi0gICAgICAgICAgICAgICAgVGh1cywgdGhlIGVudmlyb25tZW50IG11c3QgYmUgc2V0IHVwIHVzaW5nIHRoZQotICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I3N0cnVjdHVyZS1jb3JlLXNjcmlwdCc+PGZpbGVuYW1lPiZPRV9JTklUX0ZJTEU7PC9maWxlbmFtZT48L3VsaW5rPgotICAgICAgICAgICAgICAgIHNjcmlwdCBmb3VuZCBpbiB0aGUKLSAgICAgICAgICAgICAgICA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19SRUZfVVJMOyNidWlsZC1kaXJlY3RvcnknPkJ1aWxkIERpcmVjdG9yeTwvdWxpbms+LgotICAgICAgICAgICAgICAgIFlvdSBtdXN0IGFsc28gYmUgc3VyZSBvZiB0aGUgc3RhdGUgb2YgeW91ciBidWlsZCdzCi0gICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBpbiB0aGUKLSAgICAgICAgICAgICAgICA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19SRUZfVVJMOyNzb3VyY2UtZGlyZWN0b3J5Jz5Tb3VyY2UgRGlyZWN0b3J5PC91bGluaz4uCisgICAgICAgICAgICAgICAgUHJvamVjdCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCwgeW91IG11c3QgZG8gdGhlIGZvbGxvd2luZzoKKyAgICAgICAgICAgICAgICA8aXRlbWl6ZWRsaXN0PgorICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICBCZWNhdXNlIHlvdSBsYXVuY2ggPGZpbGVuYW1lPm1lbnVjb25maWc8L2ZpbGVuYW1lPgorICAgICAgICAgICAgICAgICAgICAgICAgdXNpbmcgQml0QmFrZSwgeW91IG11c3QgYmUgc3VyZSB0byBzZXQgdXAgeW91cgorICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQgYnkgcnVubmluZyB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I3N0cnVjdHVyZS1jb3JlLXNjcmlwdCc+PGZpbGVuYW1lPiZPRV9JTklUX0ZJTEU7PC9maWxlbmFtZT48L3VsaW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0IGZvdW5kIGluIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfUkVGX1VSTDsjYnVpbGQtZGlyZWN0b3J5Jz5CdWlsZCBEaXJlY3Rvcnk8L3VsaW5rPi4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICBZb3UgbXVzdCBiZSBzdXJlIG9mIHRoZSBzdGF0ZSBvZiB5b3VyIGJ1aWxkJ3MKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gaW4gdGhlCisgICAgICAgICAgICAgICAgICAgICAgICA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19SRUZfVVJMOyNzb3VyY2UtZGlyZWN0b3J5Jz5Tb3VyY2UgRGlyZWN0b3J5PC91bGluaz4uCisgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgICAgICAgICAgICAgWW91ciBidWlsZCBob3N0IG11c3QgaGF2ZSB0aGUgZm9sbG93aW5nIHR3byBwYWNrYWdlcworICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFsbGVkOgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgorICAgICBsaWJuY3Vyc2VzNS1kZXYKKyAgICAgbGlidGluZm8tZGV2CisgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KKyAgICAgICAgICAgIDwvcGFyYT4KKworICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgVGhlIGZvbGxvd2luZyBjb21tYW5kcyBpbml0aWFsaXplIHRoZSBCaXRCYWtlIGVudmlyb25tZW50LAogICAgICAgICAgICAgICAgIHJ1biB0aGUKICAgICAgICAgICAgICAgICA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19SRUZfVVJMOyNyZWYtdGFza3Mta2VybmVsX2NvbmZpZ21lJz48ZmlsZW5hbWU+ZG9fa2VybmVsX2NvbmZpZ21lPC9maWxlbmFtZT48L3VsaW5rPgpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL2tlcm5lbC1kZXYva2VybmVsLWRldi54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24va2VybmVsLWRldi9rZXJuZWwtZGV2LnhtbAppbmRleCBmYzQ2YzIwLi4zMzU1M2RmIDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24va2VybmVsLWRldi9rZXJuZWwtZGV2LnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24va2VybmVsLWRldi9rZXJuZWwtZGV2LnhtbApAQCAtOTcsOSArOTcsOSBAQAogICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgICAgICA8cmV2aXNpb24+Ci0gICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjYuMTwvcmV2bnVtYmVyPgorICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi43PC9yZXZudW1iZXI+CiAgICAgICAgICAgICAgICAgPGRhdGU+JlJFTF9NT05USF9ZRUFSOzwvZGF0ZT4KLSAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42LjEgUmVsZWFzZS48L3JldnJlbWFyaz4KKyAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi43IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICA8L3Jldmhpc3Rvcnk+CiAKZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9tZWdhLW1hbnVhbC9maWd1cmVzL2JiX211bHRpY29uZmlnX2ZpbGVzLnBuZyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9tZWdhLW1hbnVhbC9maWd1cmVzL2JiX211bHRpY29uZmlnX2ZpbGVzLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDFmMDY0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL21lZ2EtbWFudWFsL2ZpZ3VyZXMvYmJfbXVsdGljb25maWdfZmlsZXMucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9tZWdhLW1hbnVhbC9maWd1cmVzL2JpdGJha2UtdGl0bGUucG5nIGIvcG9reS9kb2N1bWVudGF0aW9uL21lZ2EtbWFudWFsL2ZpZ3VyZXMvYml0YmFrZS10aXRsZS5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2IyOTAxNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9tZWdhLW1hbnVhbC9maWd1cmVzL2JpdGJha2UtdGl0bGUucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9tZWdhLW1hbnVhbC9tZWdhLW1hbnVhbC54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vbWVnYS1tYW51YWwvbWVnYS1tYW51YWwueG1sCmluZGV4IDdhNDE5OTEuLjJjNTE4ZjkgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9tZWdhLW1hbnVhbC9tZWdhLW1hbnVhbC54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL21lZ2EtbWFudWFsL21lZ2EtbWFudWFsLnhtbApAQCAtMTIsOSArMTIsMTEgQEAKIAogICAgICAgICA8YWJzdHJhY3Q+CiAgICAgICAgICAgICBUaGUgWW9jdG8gUHJvamVjdCBNZWdhLU1hbnVhbCBpcyBhIGNvbmNhdGVuYXRpb24gb2YgdGhlIHB1Ymxpc2hlZAotICAgICAgICAgICAgWW9jdG8gUHJvamVjdCBIVE1MIG1hbnVhbHMgZm9yIHRoZSBnaXZlbiByZWxlYXNlLgotICAgICAgICAgICAgVGhlIG1hbnVhbCBleGlzdHMgdG8gaGVscCB1c2VycyBlZmZpY2llbnRseSBzZWFyY2ggZm9yIHN0cmluZ3MKLSAgICAgICAgICAgIGFjcm9zcyB0aGUgZW50aXJlIFlvY3RvIFByb2plY3QgZG9jdW1lbnRhdGlvbiBzZXQuCisgICAgICAgICAgICBZb2N0byBQcm9qZWN0IEhUTUwgbWFudWFscyBhbG9uZyB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIEJpdEJha2UKKyAgICAgICAgICAgIFVzZXIgTWFudWFsIGZvciB0aGUgZ2l2ZW4gcmVsZWFzZS4KKyAgICAgICAgICAgIFRoZSBNZWdhLU1hbnVhbCBleGlzdHMgdG8gaGVscCB1c2VycyBlZmZpY2llbnRseSBzZWFyY2ggZm9yIHN0cmluZ3MKKyAgICAgICAgICAgIGFjcm9zcyB0aGUgZW50aXJlIFlvY3RvIFByb2plY3QgZG9jdW1lbnRhdGlvbiBzZXQgaW5jbHVzaXZlIG9mCisgICAgICAgICAgICB0aGUgQml0QmFrZSBVc2VyIE1hbnVhbC4KICAgICAgICAgPC9hYnN0cmFjdD4KIAogICAgICAgICA8bWVkaWFvYmplY3Q+CkBAIC04MSw5ICs4Myw5IEBACiAgICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNiBSZWxlYXNlLjwvcmV2cmVtYXJrPgogICAgICAgICAgICAgPC9yZXZpc2lvbj4KICAgICAgICAgICAgIDxyZXZpc2lvbj4KLSAgICAgICAgICAgICAgICA8cmV2bnVtYmVyPjIuNi4xPC9yZXZudW1iZXI+CisgICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjc8L3Jldm51bWJlcj4KICAgICAgICAgICAgICAgICA8ZGF0ZT4mUkVMX01PTlRIX1lFQVI7PC9kYXRlPgotICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYuMSBSZWxlYXNlLjwvcmV2cmVtYXJrPgorICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjcgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgPC9yZXZoaXN0b3J5PgogCkBAIC0zMjIsNiArMzI0LDMwIEBACiAgICAgPHhpOmluY2x1ZGUKICAgICAgICAgeG1sbnM6eGk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUiIGhyZWY9Ii4uL3RvYXN0ZXItbWFudWFsL3RvYXN0ZXItbWFudWFsLXJlZmVyZW5jZS54bWwiLz4KIAorPCEtLSBJbmNsdWRlcyBiaXRiYWtlLXVzZXItbWFudWFsIHRpdGxlIGltYWdlIGFuZCB0aGVuIGJpdGJha2UtdXNlci1tYW51YWwgY2hhcHRlcnMgLS0+CisKKyAgICA8cGFyYT4KKyAgICAgICAgPGltYWdlZGF0YSBmaWxlcmVmPSJmaWd1cmVzL2JpdGJha2UtdGl0bGUucG5nIiB3aWR0aD0iMTAwJSIgYWxpZ249ImxlZnQiIHNjYWxlZml0PSIxIiAvPgorICAgIDwvcGFyYT4KKworICAgIDx4aTppbmNsdWRlCisgICAgICAgIHhtbG5zOnhpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAzL1hJbmNsdWRlIiBocmVmPSIuLi8uLi8uLi9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtaW50cm8ueG1sIi8+CisKKyAgICA8eGk6aW5jbHVkZQorICAgICAgICB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZSIgaHJlZj0iLi4vLi4vLi4vYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWV4ZWN1dGlvbi54bWwiLz4KKworICAgIDx4aTppbmNsdWRlCisgICAgICAgIHhtbG5zOnhpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAzL1hJbmNsdWRlIiBocmVmPSIuLi8uLi8uLi9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtbWV0YWRhdGEueG1sIi8+CisKKyAgICA8eGk6aW5jbHVkZQorICAgICAgICB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZSIgaHJlZj0iLi4vLi4vLi4vYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWZldGNoaW5nLnhtbCIvPgorCisgICAgPHhpOmluY2x1ZGUKKyAgICAgICAgeG1sbnM6eGk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUiIGhyZWY9Ii4uLy4uLy4uL2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1yZWYtdmFyaWFibGVzLnhtbCIvPgorCisgICAgPHhpOmluY2x1ZGUKKyAgICAgICAgeG1sbnM6eGk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUiIGhyZWY9Ii4uLy4uLy4uL2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1oZWxsby54bWwiLz4KKwogPC9ib29rPgogCiA8IS0tCmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vb3ZlcnZpZXctbWFudWFsL292ZXJ2aWV3LW1hbnVhbC1jb25jZXB0cy54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vb3ZlcnZpZXctbWFudWFsL292ZXJ2aWV3LW1hbnVhbC1jb25jZXB0cy54bWwKaW5kZXggMzM4YTE5MC4uYzFjMWZlYyAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL292ZXJ2aWV3LW1hbnVhbC9vdmVydmlldy1tYW51YWwtY29uY2VwdHMueG1sCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9vdmVydmlldy1tYW51YWwvb3ZlcnZpZXctbWFudWFsLWNvbmNlcHRzLnhtbApAQCAtODIsNyArODIsNyBAQAogICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgVGhpcyBzZWN0aW9uIGJyaWVmbHkgaW50cm9kdWNlcyBCaXRCYWtlLgogICAgICAgICAgICAgICAgIElmIHlvdSB3YW50IG1vcmUgaW5mb3JtYXRpb24gb24gQml0QmFrZSwgc2VlIHRoZQotICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX0JCX1VSTDsjYml0YmFrZS11c2VyLW1hbnVhbCc+Qml0QmFrZSBVc2VyIE1hbnVhbDwvdWxpbms+LgorICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX0JCX1VSTDsnPkJpdEJha2UgVXNlciBNYW51YWw8L3VsaW5rPi4KICAgICAgICAgICAgIDwvcGFyYT4KIAogICAgICAgICAgICAgPHBhcmE+CkBAIC0xMDkxLDcgKzEwOTEsNyBAQAogICAgICAgICAgICAgICAgIDxub3RlPgogICAgICAgICAgICAgICAgICAgICBTZXBhcmF0ZSBkb2N1bWVudGF0aW9uIGV4aXN0cyBmb3IgdGhlIEJpdEJha2UgdG9vbC4KICAgICAgICAgICAgICAgICAgICAgU2VlIHRoZQotICAgICAgICAgICAgICAgICAgICA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19CQl9VUkw7I2JpdGJha2UtdXNlci1tYW51YWwnPkJpdEJha2UgVXNlciBNYW51YWw8L3VsaW5rPgorICAgICAgICAgICAgICAgICAgICA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19CQl9VUkw7Jz5CaXRCYWtlIFVzZXIgTWFudWFsPC91bGluaz4KICAgICAgICAgICAgICAgICAgICAgZm9yIHJlZmVyZW5jZSBtYXRlcmlhbCBvbiBCaXRCYWtlLgogICAgICAgICAgICAgICAgIDwvbm90ZT4KICAgICAgICAgICAgIDwvcGFyYT4KZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9vdmVydmlldy1tYW51YWwvb3ZlcnZpZXctbWFudWFsLnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9vdmVydmlldy1tYW51YWwvb3ZlcnZpZXctbWFudWFsLnhtbAppbmRleCAzMjBjYTM1Li5iMjNjMzk0IDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vb3ZlcnZpZXctbWFudWFsL292ZXJ2aWV3LW1hbnVhbC54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL292ZXJ2aWV3LW1hbnVhbC9vdmVydmlldy1tYW51YWwueG1sCkBAIC0zOCwxMyArMzgsOCBAQAogICAgICAgICAgICAgPC9yZXZpc2lvbj4KICAgICAgICAgICAgIDxyZXZpc2lvbj4KICAgICAgICAgICAgICAgICA8cmV2bnVtYmVyPjIuNjwvcmV2bnVtYmVyPgotICAgICAgICAgICAgICAgIDxkYXRlPk5vdmVtYmVyIDIwMTg8L2RhdGU+Ci0gICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNiBSZWxlYXNlLjwvcmV2cmVtYXJrPgotICAgICAgICAgICAgPC9yZXZpc2lvbj4KLSAgICAgICAgICAgIDxyZXZpc2lvbj4KLSAgICAgICAgICAgICAgICA8cmV2bnVtYmVyPjIuNi4xPC9yZXZudW1iZXI+CiAgICAgICAgICAgICAgICAgPGRhdGU+JlJFTF9NT05USF9ZRUFSOzwvZGF0ZT4KLSAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42LjEgUmVsZWFzZS48L3JldnJlbWFyaz4KKyAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICA8L3Jldmhpc3Rvcnk+CiAKZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9wb2t5LmVudCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9wb2t5LmVudAppbmRleCBmOTJlNjlkLi42MzI2MDEyIDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vcG9reS5lbnQKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL3Bva3kuZW50CkBAIC0xLDE3ICsxLDE3IEBACi08IUVOVElUWSBESVNUUk8gIjIuNi4xIj4KLTwhRU5USVRZIERJU1RST19DT01QUkVTU0VEICIyNjEiPgotPCFFTlRJVFkgRElTVFJPX05BTUVfTk9fQ0FQICJ0aHVkIj4KLTwhRU5USVRZIERJU1RST19OQU1FICJUaHVkIj4KLTwhRU5USVRZIERJU1RST19OQU1FX05PX0NBUF9NSU5VU19PTkUgInN1bW8iPgotPCFFTlRJVFkgRElTVFJPX05BTUVfTUlOVVNfT05FICJTdW1vIj4KLTwhRU5USVRZIFlPQ1RPX0RPQ19WRVJTSU9OICIyLjYuMSI+Ci08IUVOVElUWSBZT0NUT19ET0NfVkVSU0lPTl9NSU5VU19PTkUgIjIuNS4yIj4KLTwhRU5USVRZIERJU1RST19SRUxfVEFHICJ5b2N0by0yLjYuMSI+Ci08IUVOVElUWSBNRVRBSU5URUxWRVJTSU9OICIxMC4xIj4KLTwhRU5USVRZIFJFTF9NT05USF9ZRUFSICJGZWJydWFyeSAyMDE5Ij4KKzwhRU5USVRZIERJU1RSTyAiMi43Ij4KKzwhRU5USVRZIERJU1RST19DT01QUkVTU0VEICIyNyI+Cis8IUVOVElUWSBESVNUUk9fTkFNRV9OT19DQVAgIndhcnJpb3IiPgorPCFFTlRJVFkgRElTVFJPX05BTUUgIldhcnJpb3IiPgorPCFFTlRJVFkgRElTVFJPX05BTUVfTk9fQ0FQX01JTlVTX09ORSAidGh1ZCI+Cis8IUVOVElUWSBESVNUUk9fTkFNRV9NSU5VU19PTkUgIlRodWQiPgorPCFFTlRJVFkgWU9DVE9fRE9DX1ZFUlNJT04gIjIuNyI+Cis8IUVOVElUWSBZT0NUT19ET0NfVkVSU0lPTl9NSU5VU19PTkUgIjIuNiI+Cis8IUVOVElUWSBESVNUUk9fUkVMX1RBRyAieW9jdG8tMi43Ij4KKzwhRU5USVRZIE1FVEFJTlRFTFZFUlNJT04gIjkuMCI+Cis8IUVOVElUWSBSRUxfTU9OVEhfWUVBUiAiVEJEIj4KIDwhRU5USVRZIE1FVEFfSU5URUxfUkVMX1RBRyAiJk1FVEFJTlRFTFZFUlNJT047LSZESVNUUk9fTkFNRV9OT19DQVA7LSZZT0NUT19ET0NfVkVSU0lPTjsiPgotPCFFTlRJVFkgUE9LWVZFUlNJT04gIjIxLjAuMSI+Ci08IUVOVElUWSBQT0tZVkVSU0lPTl9DT01QUkVTU0VEICIyMTAxIj4KKzwhRU5USVRZIFBPS1lWRVJTSU9OICIyMi4wLjAiPgorPCFFTlRJVFkgUE9LWVZFUlNJT05fQ09NUFJFU1NFRCAiMjIwMCI+CiA8IUVOVElUWSBZT0NUT19QT0tZICJwb2t5LSZESVNUUk9fTkFNRV9OT19DQVA7LSZQT0tZVkVSU0lPTjsiPgogPCFFTlRJVFkgQ09QWVJJR0hUX1lFQVIgIjIwMTAtMjAxOSI+CiA8IUVOVElUWSBZT0NUT19ETF9VUkwgImh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZyI+CkBAIC02OSwxNyArNjksMjEgQEAKIDwhRU5USVRZIE9FX0lOSVRfRklMRSAib2UtaW5pdC1idWlsZC1lbnYiPgogPCFFTlRJVFkgVUJVTlRVX0hPU1RfUEFDS0FHRVNfRVNTRU5USUFMICJnYXdrIHdnZXQgZ2l0LWNvcmUgZGlmZnN0YXQgdW56aXAgdGV4aW5mbyBnY2MtbXVsdGlsaWIgXAogICAgICBidWlsZC1lc3NlbnRpYWwgY2hycGF0aCBzb2NhdCBjcGlvIHB5dGhvbiBweXRob24zIHB5dGhvbjMtcGlwIHB5dGhvbjMtcGV4cGVjdCBcCi0gICAgIHh6LXV0aWxzIGRlYmlhbnV0aWxzIGlwdXRpbHMtcGluZyI+CisgICAgIHh6LXV0aWxzIGRlYmlhbnV0aWxzIGlwdXRpbHMtcGluZyBweXRob24zLWdpdCBweXRob24zLWppbmphMiBsaWJlZ2wxLW1lc2EgbGlic2RsMS4yLWRldiBcCisgICAgIHh0ZXJtIj4KIDwhRU5USVRZIEZFRE9SQV9IT1NUX1BBQ0tBR0VTX0VTU0VOVElBTCAiZ2F3ayBtYWtlIHdnZXQgdGFyIGJ6aXAyIGd6aXAgcHl0aG9uMyB1bnppcCBwZXJsIHBhdGNoIFwKICAgICAgZGlmZnV0aWxzIGRpZmZzdGF0IGdpdCBjcHAgZ2NjIGdjYy1jKysgZ2xpYmMtZGV2ZWwgdGV4aW5mbyBjaHJwYXRoIFwKICAgICAgY2NhY2hlIHBlcmwtRGF0YS1EdW1wZXIgcGVybC1UZXh0LVBhcnNlV29yZHMgcGVybC1UaHJlYWQtUXVldWUgcGVybC1iaWdudW0gc29jYXQgXAotICAgICBweXRob24zLXBleHBlY3QgZmluZHV0aWxzIHdoaWNoIGZpbGUgY3BpbyBweXRob24gcHl0aG9uMy1waXAgeHoiPgorICAgICBweXRob24zLXBleHBlY3QgZmluZHV0aWxzIHdoaWNoIGZpbGUgY3BpbyBweXRob24gcHl0aG9uMy1waXAgeHogcHl0aG9uMy1HaXRQeXRob24gXAorICAgICBweXRob24zLWppbmphMiBTREwtZGV2ZWwgeHRlcm0iPgogPCFFTlRJVFkgT1BFTlNVU0VfSE9TVF9QQUNLQUdFU19FU1NFTlRJQUwgInB5dGhvbiBnY2MgZ2NjLWMrKyBnaXQgY2hycGF0aCBtYWtlIHdnZXQgcHl0aG9uLXhtbCBcCiAgICAgIGRpZmZzdGF0IG1ha2VpbmZvIHB5dGhvbi1jdXJzZXMgcGF0Y2ggc29jYXQgcHl0aG9uMyBweXRob24zLWN1cnNlcyB0YXIgcHl0aG9uMy1waXAgXAotICAgICBweXRob24zLXBleHBlY3QgeHogd2hpY2giPgorICAgICBweXRob24zLXBleHBlY3QgeHogd2hpY2ggcHl0aG9uMy1KaW5qYTIgTWVzYS1saWJFR0wxCisgICAgICQgc3VkbyBwaXAzIGluc3RhbGwgR2l0UHl0aG9uIGxpYlNETC1kZXZlbCB4dGVybSI+CiA8IUVOVElUWSBDRU5UT1NfSE9TVF9QQUNLQUdFU19FU1NFTlRJQUwgIi15IGVwZWwtcmVsZWFzZQogICAgICAkIHN1ZG8geXVtIG1ha2VjYWNoZQogICAgICAkIHN1ZG8geXVtIGluc3RhbGwgZ2F3ayBtYWtlIHdnZXQgdGFyIGJ6aXAyIGd6aXAgcHl0aG9uIHVuemlwIHBlcmwgcGF0Y2ggXAogICAgICBkaWZmdXRpbHMgZGlmZnN0YXQgZ2l0IGNwcCBnY2MgZ2NjLWMrKyBnbGliYy1kZXZlbCB0ZXhpbmZvIGNocnBhdGggc29jYXQgXAogICAgICBwZXJsLURhdGEtRHVtcGVyIHBlcmwtVGV4dC1QYXJzZVdvcmRzIHBlcmwtVGhyZWFkLVF1ZXVlIHB5dGhvbjM0LXBpcCB4eiBcCi0gICAgIHdoaWNoIj4KKyAgICAgd2hpY2ggU0RMLWRldmVsIHh0ZXJtCisgICAgICQgc3VkbyBwaXAzIGluc3RhbGwgR2l0UHl0aG9uIGppbmphMiI+CmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vcHJvZmlsZS1tYW51YWwvcHJvZmlsZS1tYW51YWwueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL3Byb2ZpbGUtbWFudWFsL3Byb2ZpbGUtbWFudWFsLnhtbAppbmRleCAxMGNhNjhlLi5hZjJjN2JhIDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vcHJvZmlsZS1tYW51YWwvcHJvZmlsZS1tYW51YWwueG1sCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9wcm9maWxlLW1hbnVhbC9wcm9maWxlLW1hbnVhbC54bWwKQEAgLTk3LDkgKzk3LDkgQEAKICAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICAgICAgPHJldmlzaW9uPgotICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi42LjE8L3Jldm51bWJlcj4KKyAgICAgICAgICAgICAgICA8cmV2bnVtYmVyPjIuNzwvcmV2bnVtYmVyPgogICAgICAgICAgICAgICAgIDxkYXRlPiZSRUxfTU9OVEhfWUVBUjs8L2RhdGU+Ci0gICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNi4xIFJlbGVhc2UuPC9yZXZyZW1hcms+CisgICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNyBSZWxlYXNlLjwvcmV2cmVtYXJrPgogICAgICAgICAgICAgPC9yZXZpc2lvbj4KICAgICAgICAgPC9yZXZoaXN0b3J5PgogCmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZWYtbWFudWFsLnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9yZWYtbWFudWFsL3JlZi1tYW51YWwueG1sCmluZGV4IGY4MzRkMmQuLjI2Mjk1ZjAgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9yZWYtbWFudWFsL3JlZi1tYW51YWwueG1sCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9yZWYtbWFudWFsL3JlZi1tYW51YWwueG1sCkBAIC0xMjgsOSArMTI4LDkgQEAKICAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICAgICAgPHJldmlzaW9uPgotICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi42LjE8L3Jldm51bWJlcj4KKyAgICAgICAgICAgICAgICA8cmV2bnVtYmVyPjIuNzwvcmV2bnVtYmVyPgogICAgICAgICAgICAgICAgIDxkYXRlPiZSRUxfTU9OVEhfWUVBUjs8L2RhdGU+Ci0gICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNi4xIFJlbGVhc2UuPC9yZXZyZW1hcms+CisgICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNyBSZWxlYXNlLjwvcmV2cmVtYXJrPgogICAgICAgICAgICAgPC9yZXZpc2lvbj4KICAgICAgICAgPC9yZXZoaXN0b3J5PgogCmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZWYtc3lzdGVtLXJlcXVpcmVtZW50cy54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZWYtc3lzdGVtLXJlcXVpcmVtZW50cy54bWwKaW5kZXggMGRiODRlMy4uNWYyYjlmNiAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVmLXN5c3RlbS1yZXF1aXJlbWVudHMueG1sCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9yZWYtbWFudWFsL3JlZi1zeXN0ZW0tcmVxdWlyZW1lbnRzLnhtbApAQCAtOTcsMTggKzk3LDkgQEAKICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+T3BlblNVU0UgNDIuMzwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CiAgICAgICAgIDwvcGFyYT4KLTwhLS0KLUNoZWNrb3V0IHRoZSBwb2t5IGRpc3RybyB5b3UgYXJlIGludGVyZXN0ZWQgaW4gKGJ5IGJyYW5jaCBvciB0YWcpLgotRnJvbSB0aGUgcG9reSBkaXJlY3RvcnksIHJ1biB0aGUgc2NyaXB0OgotCi1iaXRiYWtlIC1lIHwgZ3JlcCBeU0FOSVRZX1RFU1RFRF9ESVNUUk9TIHwgc2VkIC1lICdzLy4qIlwoLipcKSIuKi9cMS9nJyAtZSAncyFcXG4hXG4hZycgfCBzZWQgJ3MvXltcdF0qLy87cy9bIFx0XSokLy8nIHwgZ3JlcCAtdiBQb2t5Ci0KLVRoaXMgcmV0dXJucyBhIGxpc3Qgb2YgdGhlIHN1cHBvcnRlZCBkaXN0cm9zIGZvciB0aGUgcmVsZWFzZS4KLQotSGVyZSBpcyBzb21lIG9sZCBsaXN0IGl0ZW1zIHRvIHNob3cgdGhlIGZvcm06CiAKIAotICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT5VYnVudHUgMTAuMDQ8L3BhcmE+PC9saXN0aXRlbT4KKzwhLS0gICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+VWJ1bnR1IDEwLjA0PC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPlVidW50dSAxMS4xMDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT5VYnVudHUgMTIuMDQgKExUUyk8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+VWJ1bnR1IDEzLjEwPC9wYXJhPjwvbGlzdGl0ZW0+CkBAIC0xNTEsOCArMTQyLDEwIEBACiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPm9wZW5TVVNFIDEzLjI8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+b3BlblNVU0UgNDIuMTwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT5vcGVuU1VTRSA0Mi4yPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KIC0tPgogCisKICAgICAgICAgPG5vdGU+CiAgICAgICAgICAgICBXaGlsZSB0aGUgWW9jdG8gUHJvamVjdCBUZWFtIGF0dGVtcHRzIHRvIGVuc3VyZSBhbGwgWW9jdG8gUHJvamVjdAogICAgICAgICAgICAgcmVsZWFzZXMgYXJlIG9uZSBodW5kcmVkIHBlcmNlbnQgY29tcGF0aWJsZSB3aXRoIGVhY2ggb2ZmaWNpYWxseQpAQCAtMTk5LDI2ICsxOTIsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KICAgICAgJCBzdWRvIGFwdC1nZXQgaW5zdGFsbCAmVUJVTlRVX0hPU1RfUEFDS0FHRVNfRVNTRU5USUFMOwogICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPkdyYXBoaWNhbCBhbmQgRWNsaXBzZSBQbHVnLUluIEV4dHJhczo8L2VtcGhhc2lzPgotICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMgcmVjb21tZW5kZWQgaWYgdGhlIGhvc3Qgc3lzdGVtIGhhcyBncmFwaGljcwotICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvciBpZiB5b3UgYXJlIGdvaW5nIHRvIHVzZSB0aGUgRWNsaXBzZQotICAgICAgICAgICAgICAgICAgICAgICAgSURFOgotICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICAkIHN1ZG8gYXB0LWdldCBpbnN0YWxsIGxpYnNkbDEuMi1kZXYgeHRlcm0KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD48L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5Eb2N1bWVudGF0aW9uOjwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyBuZWVkZWQgaWYgeW91IGFyZSBnb2luZyB0byBidWlsZCBvdXQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICBZb2N0byBQcm9qZWN0IGRvY3VtZW50YXRpb24gbWFudWFsczoKICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KICAgICAgJCBzdWRvIGFwdC1nZXQgaW5zdGFsbCBtYWtlIHhzbHRwcm9jIGRvY2Jvb2stdXRpbHMgZm9wIGRibGF0ZXggeG1sdG8KICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD48L3BhcmE+PC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5PcGVuRW1iZWRkZWQgU2VsZi1UZXN0ICg8ZmlsZW5hbWU+b2Utc2VsZnRlc3Q8L2ZpbGVuYW1lPik6PC9lbXBoYXNpcz4KLSAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzIG5lZWRlZCBpZiB5b3UgYXJlIGdvaW5nIHRvIHJ1bgotICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPm9lLXNlbGZ0ZXN0PC9maWxlbmFtZT46Ci0gICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgICQgc3VkbyBhcHQtZ2V0IGluc3RhbGwgcHl0aG9uLWdpdAotICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgotICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CiAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgIDwvc2VjdGlvbj4KQEAgLTIzNiwyNyArMjE1LDEzIEBACiAgICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CiAgICAgICQgc3VkbyBkbmYgaW5zdGFsbCAmRkVET1JBX0hPU1RfUEFDS0FHRVNfRVNTRU5USUFMOwogICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPkdyYXBoaWNhbCBhbmQgRWNsaXBzZSBQbHVnLUluIEV4dHJhczo8L2VtcGhhc2lzPgotICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMgcmVjb21tZW5kZWQgaWYgdGhlIGhvc3Qgc3lzdGVtIGhhcyBncmFwaGljcwotICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvciBpZiB5b3UgYXJlIGdvaW5nIHRvIHVzZSB0aGUgRWNsaXBzZQotICAgICAgICAgICAgICAgICAgICAgICAgSURFOgotICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICAkIHN1ZG8gZG5mIGluc3RhbGwgU0RMLWRldmVsIHh0ZXJtCi0gICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+PC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+RG9jdW1lbnRhdGlvbjo8L2VtcGhhc2lzPgogICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMgbmVlZGVkIGlmIHlvdSBhcmUgZ29pbmcgdG8gYnVpbGQgb3V0IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgWW9jdG8gUHJvamVjdCBkb2N1bWVudGF0aW9uIG1hbnVhbHM6CiAgICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgICQgc3VkbyBkbmYgaW5zdGFsbCBtYWtlIGRvY2Jvb2stc3R5bGUtZHNzc2wgZG9jYm9vay1zdHlsZS14c2wgXAorICAgICAkIHN1ZG8gZG5mIGluc3RhbGwgZG9jYm9vay1zdHlsZS1kc3NzbCBkb2Nib29rLXN0eWxlLXhzbCBcCiAgICAgIGRvY2Jvb2stZHRkcyBkb2Nib29rLXV0aWxzIGZvcCBsaWJ4c2x0IGRibGF0ZXggeG1sdG8KICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD48L3BhcmE+PC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5PcGVuRW1iZWRkZWQgU2VsZi1UZXN0ICg8ZmlsZW5hbWU+b2Utc2VsZnRlc3Q8L2ZpbGVuYW1lPik6PC9lbXBoYXNpcz4KLSAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzIG5lZWRlZCBpZiB5b3UgYXJlIGdvaW5nIHRvIHJ1bgotICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPm9lLXNlbGZ0ZXN0PC9maWxlbmFtZT46Ci0gICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgICQgc3VkbyBkbmYgaW5zdGFsbCBweXRob24zLUdpdFB5dGhvbgotICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgotICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CiAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgIDwvc2VjdGlvbj4KQEAgLTI3NCwzMyArMjM5LDEzIEBACiAgICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CiAgICAgICQgc3VkbyB6eXBwZXIgaW5zdGFsbCAmT1BFTlNVU0VfSE9TVF9QQUNLQUdFU19FU1NFTlRJQUw7CiAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+PC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+R3JhcGhpY2FsIGFuZCBFY2xpcHNlIFBsdWctSW4gRXh0cmFzOjwvZW1waGFzaXM+Ci0gICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyByZWNvbW1lbmRlZCBpZiB0aGUgaG9zdCBzeXN0ZW0gaGFzIGdyYXBoaWNzCi0gICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IG9yIGlmIHlvdSBhcmUgZ29pbmcgdG8gdXNlIHRoZSBFY2xpcHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBJREU6Ci0gICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgICQgc3VkbyB6eXBwZXIgaW5zdGFsbCBsaWJTREwtZGV2ZWwgeHRlcm0KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD48L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5Eb2N1bWVudGF0aW9uOjwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyBuZWVkZWQgaWYgeW91IGFyZSBnb2luZyB0byBidWlsZCBvdXQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICBZb2N0byBQcm9qZWN0IGRvY3VtZW50YXRpb24gbWFudWFsczoKICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIHp5cHBlciBpbnN0YWxsIG1ha2UgZGJsYXRleCB4bWx0bwotICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPk9wZW5FbWJlZGRlZCBTZWxmLVRlc3QgKDxmaWxlbmFtZT5vZS1zZWxmdGVzdDwvZmlsZW5hbWU+KTo8L2VtcGhhc2lzPgotICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMgbmVlZGVkIGlmIHlvdSBhcmUgZ29pbmcgdG8gcnVuCi0gICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+b2Utc2VsZnRlc3Q8L2ZpbGVuYW1lPjoKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIHp5cHBlciBpbnN0YWxsIHB5dGhvbi1HaXRQeXRob24KKyAgICAgJCBzdWRvIHp5cHBlciBpbnN0YWxsIGRibGF0ZXggeG1sdG8KICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD48L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KLSAgICAgICAgICAgICAgICA8bm90ZT4KLSAgICAgICAgICAgICAgICAgICAgU2FuaXR5IHRlc3RpbmcsIHRocm91Z2ggdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3JlZi1jbGFzc2VzLXRlc3RpbWFnZSonPnRlc3RpbWFnZTwvbGluaz4KLSAgICAgICAgICAgICAgICAgICAgY2xhc3NlcywgZG9lcyBub3Qgd29yayBvbiBzeXN0ZW1zIHVzaW5nIHRoZQotICAgICAgICAgICAgICAgICAgICA8dWxpbmsgdXJsPSdodHRwczovL2VuLm9wZW5zdXNlLm9yZy9Qb3J0YWw6V2lja2VkJz5XaWNrZWQ8L3VsaW5rPgotICAgICAgICAgICAgICAgICAgICBuZXR3b3JrIG1hbmFnZXIuCi0gICAgICAgICAgICAgICAgPC9ub3RlPgogICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICA8L3NlY3Rpb24+CiAKQEAgLTMxNSw3ICsyNjAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMgbmVlZGVkIHRvIGJ1aWxkIGFuIGltYWdlIGZvciBhIGhlYWRsZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0ZW06CiAgICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgICQgc3VkbyB5dW0gaW5zdGFsbCAmQ0VOVE9TX0hPU1RfUEFDS0FHRVNfRVNTRU5USUFMOyBTREwtZGV2ZWwgeHRlcm0KKyAgICAgJCBzdWRvIHl1bSBpbnN0YWxsICZDRU5UT1NfSE9TVF9QQUNLQUdFU19FU1NFTlRJQUw7CiAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICAgICAgICAgICAgICA8bm90ZT48dGl0bGU+Tm90ZXM8L3RpdGxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpdGVtaXplZGxpc3Q+CkBAIC0zMzcsMjcgKzI4MiwxMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaXRlbWl6ZWRsaXN0PgogICAgICAgICAgICAgICAgICAgICAgICAgPC9ub3RlPgogICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+R3JhcGhpY2FsIGFuZCBFY2xpcHNlIFBsdWctSW4gRXh0cmFzOjwvZW1waGFzaXM+Ci0gICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyByZWNvbW1lbmRlZCBpZiB0aGUgaG9zdCBzeXN0ZW0gaGFzIGdyYXBoaWNzCi0gICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IG9yIGlmIHlvdSBhcmUgZ29pbmcgdG8gdXNlIHRoZSBFY2xpcHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBJREU6Ci0gICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgICQgc3VkbyB5dW0gaW5zdGFsbCBTREwtZGV2ZWwgeHRlcm0KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD48L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5Eb2N1bWVudGF0aW9uOjwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyBuZWVkZWQgaWYgeW91IGFyZSBnb2luZyB0byBidWlsZCBvdXQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICBZb2N0byBQcm9qZWN0IGRvY3VtZW50YXRpb24gbWFudWFsczoKICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIHl1bSBpbnN0YWxsIG1ha2UgZG9jYm9vay1zdHlsZS1kc3NzbCBkb2Nib29rLXN0eWxlLXhzbCBcCisgICAgICQgc3VkbyB5dW0gaW5zdGFsbCBkb2Nib29rLXN0eWxlLWRzc3NsIGRvY2Jvb2stc3R5bGUteHNsIFwKICAgICAgZG9jYm9vay1kdGRzIGRvY2Jvb2stdXRpbHMgZm9wIGxpYnhzbHQgZGJsYXRleCB4bWx0bwogICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPk9wZW5FbWJlZGRlZCBTZWxmLVRlc3QgKDxmaWxlbmFtZT5vZS1zZWxmdGVzdDwvZmlsZW5hbWU+KTo8L2VtcGhhc2lzPgotICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMgbmVlZGVkIGlmIHlvdSBhcmUgZ29pbmcgdG8gcnVuCi0gICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+b2Utc2VsZnRlc3Q8L2ZpbGVuYW1lPjoKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIHl1bSBpbnN0YWxsIEdpdFB5dGhvbgotICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgotICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CiAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgIDwvc2VjdGlvbj4KZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9yZWYtbWFudWFsL3JlZi12YXJpYWJsZXMueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVmLXZhcmlhYmxlcy54bWwKaW5kZXggOWY2YmMxYS4uNjQ3MGM3MyAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVmLXZhcmlhYmxlcy54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVmLXZhcmlhYmxlcy54bWwKQEAgLTM2MjEsNjAgKzM2MjEsNiBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRElTS19TSUdOQVRVUkUnPjxnbG9zc3Rlcm0+RElTS19TSUdOQVRVUkU8L2dsb3NzdGVybT4KLSAgICAgICAgICAgIDxpbmZvPgotICAgICAgICAgICAgICAgIERJU0tfU0lHTkFUVVJFW2RvY10gPSAiQSAzMi1iaXQgTUJSIGRpc2sgc2lnbmF0dXJlIHVzZWQgYnkgZGlyZWN0ZGlzayBpbWFnZXMuIgotICAgICAgICAgICAgPC9pbmZvPgotICAgICAgICAgICAgPGdsb3NzZGVmPgotICAgICAgICAgICAgICAgIDxwYXJhIHJvbGU9Imdsb3NzZGVmZmlyc3QiPgotPCEtLSAgICAgICAgICAgICAgICA8cGFyYSByb2xlPSJnbG9zc2RlZmZpcnN0Ij48aW1hZ2VkYXRhIGZpbGVyZWY9ImZpZ3VyZXMvZGVmaW5lLWdlbmVyaWMucG5nIiAvPiAtLT4KLSAgICAgICAgICAgICAgICAgICAgQSAzMi1iaXQgTUJSIGRpc2sgc2lnbmF0dXJlIHVzZWQgYnkKLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPmRpcmVjdGRpc2s8L2ZpbGVuYW1lPiBpbWFnZXMuCi0gICAgICAgICAgICAgICAgPC9wYXJhPgotCi0gICAgICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIEJ5IGRlZmF1bHQsIHRoZSBzaWduYXR1cmUgaXMgc2V0IHRvIGFuIGF1dG9tYXRpY2FsbHkKLSAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVkIHJhbmRvbSB2YWx1ZSB0aGF0IGFsbG93cyB0aGUgT3BlbkVtYmVkZGVkCi0gICAgICAgICAgICAgICAgICAgIGJ1aWxkIHN5c3RlbSB0byBjcmVhdGUgYSBib290IGxvYWRlci4KLSAgICAgICAgICAgICAgICAgICAgWW91IGNhbiBvdmVycmlkZSB0aGUgc2lnbmF0dXJlIGluIHRoZSBpbWFnZSByZWNpcGUKLSAgICAgICAgICAgICAgICAgICAgYnkgc2V0dGluZyA8ZmlsZW5hbWU+RElTS19TSUdOQVRVUkU8L2ZpbGVuYW1lPiB0byBhbgotICAgICAgICAgICAgICAgICAgICA4LWRpZ2l0IGhleCBzdHJpbmcuCi0gICAgICAgICAgICAgICAgICAgIFlvdSBtaWdodCB3YW50IHRvIG92ZXJyaWRlCi0gICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5ESVNLX1NJR05BVFVSRTwvZmlsZW5hbWU+IGlmIHlvdSB3YW50IHRoZSBkaXNrCi0gICAgICAgICAgICAgICAgICAgIHNpZ25hdHVyZSB0byByZW1haW4gY29uc3RhbnQgYmV0d2VlbiBpbWFnZSBidWlsZHMuCi0gICAgICAgICAgICAgICAgPC9wYXJhPgotCi0gICAgICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIFdoZW4gdXNpbmcgTGludXggMy44IG9yIGxhdGVyLCB5b3UgY2FuIHVzZQotICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+RElTS19TSUdOQVRVUkU8L2ZpbGVuYW1lPiB0byBzcGVjaWZ5IHRoZSByb290Ci0gICAgICAgICAgICAgICAgICAgIGJ5IFVVSUQgdG8gYWxsb3cgdGhlIGtlcm5lbCB0byBsb2NhdGUgdGhlIHJvb3QgZGV2aWNlCi0gICAgICAgICAgICAgICAgICAgIGV2ZW4gaWYgdGhlIGRldmljZSBuYW1lIGNoYW5nZXMgZHVlIHRvIGRpZmZlcmVuY2VzIGluCi0gICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb24uCi0gICAgICAgICAgICAgICAgICAgIEJ5IGRlZmF1bHQsIDxmaWxlbmFtZT5ST09UX1ZNPC9maWxlbmFtZT4gaXMgc2V0Ci0gICAgICAgICAgICAgICAgICAgIGFzIGZvbGxvd3M6Ci0gICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgUk9PVF9WTSA/PSAicm9vdD0vZGV2L3NkYTIiCi0gICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KLSAgICAgICAgICAgICAgICAgICAgSG93ZXZlciwgeW91IGNhbiBjaGFuZ2UgdGhpcyB0byBsb2NhdGUgdGhlIHJvb3QgZGV2aWNlCi0gICAgICAgICAgICAgICAgICAgIHVzaW5nIHRoZSBkaXNrIHNpZ25hdHVyZSBpbnN0ZWFkOgotICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgIFJPT1RfVk0gPSAicm9vdD1QQVJUVVVJRD0ke0RJU0tfU0lHTkFUVVJFfS0wMiIKLSAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgotICAgICAgICAgICAgICAgIDwvcGFyYT4KLQotICAgICAgICAgICAgICAgIDxwYXJhPgotICAgICAgICAgICAgICAgICAgICBBcyBwcmV2aW91c2x5IG1lbnRpb25lZCwgaXQgaXMgcG9zc2libGUgdG8gc2V0IHRoZQotICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+RElTS19TSUdOQVRVUkU8L2ZpbGVuYW1lPiB2YXJpYWJsZSBpbiB5b3VyCi0gICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5sb2NhbC5jb25mPC9maWxlbmFtZT4gZmlsZSB0byBhIGZpeGVkCi0gICAgICAgICAgICAgICAgICAgIHZhbHVlIGlmIHlvdSBkbyBub3Qgd2FudCA8ZmlsZW5hbWU+c3lzbGludXguY2ZnPC9maWxlbmFtZT4KLSAgICAgICAgICAgICAgICAgICAgY2hhbmdpbmcgZm9yIGVhY2ggYnVpbGQuCi0gICAgICAgICAgICAgICAgICAgIFlvdSBtaWdodCBmaW5kIHRoaXMgdXNlZnVsIHdoZW4geW91IHdhbnQgdG8gdXBncmFkZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgcm9vdCBmaWxlc3lzdGVtIG9uIGEgZGV2aWNlIHdpdGhvdXQgaGF2aW5nIHRvIHJlY3JlYXRlIG9yCi0gICAgICAgICAgICAgICAgICAgIG1vZGlmeSB0aGUgbWFzdGVyIGJvb3QgcmVjb3JkLgotICAgICAgICAgICAgICAgIDwvcGFyYT4KLSAgICAgICAgICAgIDwvZ2xvc3NkZWY+Ci0gICAgICAgIDwvZ2xvc3NlbnRyeT4KLQogICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLURJU1RSTyc+PGdsb3NzdGVybT5ESVNUUk88L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxpbmZvPgogICAgICAgICAgICAgICAgIERJU1RST1tkb2NdID0gIlRoZSBzaG9ydCBuYW1lIG9mIHRoZSBkaXN0cmlidXRpb24uIElmIHRoZSB2YXJpYWJsZSBpcyBibGFuaywgbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiB3aWxsIGJlIHVzZWQuIgpAQCAtMzg3Nyw3ICszODIzLDcgQEAKICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkRJU1RST19GRUFUVVJFU19ERUZBVUxUPC9maWxlbmFtZT4gZnJvbSBhCiAgICAgICAgICAgICAgICAgICAgIGN1c3RvbSBkaXN0cm8gY29uZmlndXJhdGlvbiBmaWxlOgogICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgIERJU1RST19GRUFUVVJFUyA/PSAiJHtESVNUUk9fRkVBVFVSRVNfREVGQVVMVH0gJHtESVNUUk9fRkVBVFVSRVNfTElCQ30gbXlmZWF0dXJlIgorICAgICBESVNUUk9fRkVBVFVSRVMgPz0gIiR7RElTVFJPX0ZFQVRVUkVTX0RFRkFVTFR9IG15ZmVhdHVyZSIKICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CkBAIC0zOTI0LDEzICszODcwLDE0IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKKzwhLS0KICAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1ESVNUUk9fRkVBVFVSRVNfTElCQyc+PGdsb3NzdGVybT5ESVNUUk9fRkVBVFVSRVNfTElCQzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGluZm8+CiAgICAgICAgICAgICAgICAgRElTVFJPX0ZFQVRVUkVTX0xJQkNbZG9jXSA9ICJTcGVjaWZpZXMgdGhlIGxpc3Qgb2YgZGlzdHJvIGZlYXR1cmVzIHRoYXQgYXJlIHNwZWNpZmljIHRvIHRoZSBDIGxpYnJhcnkgKGxpYmMpLiIKICAgICAgICAgICAgIDwvaW5mbz4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYSByb2xlPSJnbG9zc2RlZmZpcnN0Ij4KLTwhLS0gICAgICAgICAgICAgICAgPHBhcmEgcm9sZT0iZ2xvc3NkZWZmaXJzdCI+PGltYWdlZGF0YSBmaWxlcmVmPSJmaWd1cmVzL2RlZmluZS1nZW5lcmljLnBuZyIgLz4gLS0+CisgICAgICAgICAgICAgICAgICAgIDxwYXJhIHJvbGU9Imdsb3NzZGVmZmlyc3QiPjxpbWFnZWRhdGEgZmlsZXJlZj0iZmlndXJlcy9kZWZpbmUtZ2VuZXJpYy5wbmciIC8+CiAgICAgICAgICAgICAgICAgICAgIEEgY29udmVuaWVuY2UgdmFyaWFibGUgdGhhdCBzcGVjaWZpZXMgdGhlIGxpc3Qgb2YgZGlzdHJvCiAgICAgICAgICAgICAgICAgICAgIGZlYXR1cmVzIHRoYXQgYXJlIHNwZWNpZmljIHRvIHRoZSBDIGxpYnJhcnkKICAgICAgICAgICAgICAgICAgICAgKDxmaWxlbmFtZT5saWJjPC9maWxlbmFtZT4pLgpAQCAtMzk0MCw2ICszODg3LDcgQEAKICAgICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CistLT4KIAogICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLURJU1RST19GRUFUVVJFU19OQVRJVkUnPjxnbG9zc3Rlcm0+RElTVFJPX0ZFQVRVUkVTX05BVElWRTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGluZm8+CkBAIC01MDEyLDkgKzQ5NjAsMTcgQEAKICAgICAgICAgICAgICAgICAgICAgQSBzdWJzZXQgb2YgPGxpbmsgbGlua2VuZD0ndmFyLU9WRVJSSURFUyc+PGZpbGVuYW1lPk9WRVJSSURFUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB1c2VkIGJ5IHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIGZvciBjcmVhdGluZwogICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRklMRVNQQVRIJz48ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT48L2xpbms+LgotICAgICAgICAgICAgICAgICAgICBZb3UgY2FuIGZpbmQgbW9yZSBpbmZvcm1hdGlvbiBvbiBob3cgb3ZlcnJpZGVzIGFyZSBoYW5kbGVkCi0gICAgICAgICAgICAgICAgICAgIGluIHRoZQotICAgICAgICAgICAgICAgICAgICA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19CQl9VUkw7Jz5CaXRCYWtlIFVzZXIgTWFudWFsPC91bGluaz4uCisgICAgICAgICAgICAgICAgICAgIFRoZSA8ZmlsZW5hbWU+RklMRVNPVkVSUklERVM8L2ZpbGVuYW1lPiB2YXJpYWJsZSB1c2VzCisgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlcyB0byBhdXRvbWF0aWNhbGx5IGV4dGVuZCB0aGUKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUZJTEVTUEFUSCc+PGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KKyAgICAgICAgICAgICAgICAgICAgRm9yIGFuIGV4YW1wbGUgb2YgaG93IHRoYXQgd29ya3MsIHNlZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUZJTEVTUEFUSCc+PGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSBkZXNjcmlwdGlvbi4KKyAgICAgICAgICAgICAgICAgICAgQWRkaXRpb25hbGx5LCB5b3UgZmluZCBtb3JlIGluZm9ybWF0aW9uIG9uIGhvdyBvdmVycmlkZXMKKyAgICAgICAgICAgICAgICAgICAgYXJlIGhhbmRsZWQgaW4gdGhlCisgICAgICAgICAgICAgICAgICAgICI8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19CQl9VUkw7I2NvbmRpdGlvbmFsLXN5bnRheC1vdmVycmlkZXMnPkNvbmRpdGlvbmFsIFN5bnRheCAoT3ZlcnJpZGVzKTwvdWxpbms+IgorICAgICAgICAgICAgICAgICAgICBzZWN0aW9uIG9mIHRoZSBCaXRCYWtlIFVzZXIgTWFudWFsLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KIAogICAgICAgICAgICAgICAgIDxwYXJhPgpAQCAtNTA0MSwxMSArNDk5NywxNCBAQAogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhIHJvbGU9Imdsb3NzZGVmZmlyc3QiPgogPCEtLSAgICAgICAgICAgICAgICA8cGFyYSByb2xlPSJnbG9zc2RlZmZpcnN0Ij48aW1hZ2VkYXRhIGZpbGVyZWY9ImZpZ3VyZXMvZGVmaW5lLWdlbmVyaWMucG5nIiAvPiAtLT4KLSAgICAgICAgICAgICAgICAgICAgVGhlIGRlZmF1bHQgc2V0IG9mIGRpcmVjdG9yaWVzIHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtCi0gICAgICAgICAgICAgICAgICAgIHVzZXMgd2hlbiBzZWFyY2hpbmcgZm9yIHBhdGNoZXMgYW5kIGZpbGVzLgotICAgICAgICAgICAgICAgICAgICBEdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3MsIEJpdEJha2Ugc2VhcmNoZXMgZWFjaCBkaXJlY3RvcnkgaW4KLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+IGluIHRoZSBzcGVjaWZpZWQgb3JkZXIgd2hlbgotICAgICAgICAgICAgICAgICAgICBsb29raW5nIGZvciBmaWxlcyBhbmQgcGF0Y2hlcyBzcGVjaWZpZWQgYnkgZWFjaAorICAgICAgICAgICAgICAgICAgICBUaGUgZGVmYXVsdCBzZXQgb2YgZGlyZWN0b3JpZXMgdGhlIE9wZW5FbWJlZGRlZCBidWlsZAorICAgICAgICAgICAgICAgICAgICBzeXN0ZW0gdXNlcyB3aGVuIHNlYXJjaGluZyBmb3IgcGF0Y2hlcyBhbmQgZmlsZXMuCisgICAgICAgICAgICAgICAgPC9wYXJhPgorCisgICAgICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgICAgICAgIER1cmluZyB0aGUgYnVpbGQgcHJvY2VzcywgQml0QmFrZSBzZWFyY2hlcyBlYWNoIGRpcmVjdG9yeQorICAgICAgICAgICAgICAgICAgICBpbiA8ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT4gaW4gdGhlIHNwZWNpZmllZCBvcmRlcgorICAgICAgICAgICAgICAgICAgICB3aGVuIGxvb2tpbmcgZm9yIGZpbGVzIGFuZCBwYXRjaGVzIHNwZWNpZmllZCBieSBlYWNoCiAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5maWxlOi8vPC9maWxlbmFtZT4gVVJJIGluIGEgcmVjaXBlJ3MKICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNSQ19VUkknPjxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudHMuCkBAIC01MDYwLDIzICs1MDE5LDYyIEBACiAgICAgIEZJTEVTUEFUSCA9ICIke0BiYXNlX3NldF9maWxlc3BhdGgoWyIke0ZJTEVfRElSTkFNRX0vJHtCUH0iLCBcCiAgICAgICAgICIke0ZJTEVfRElSTkFNRX0vJHtCUE59IiwgIiR7RklMRV9ESVJOQU1FfS9maWxlcyJdLCBkKX0iCiAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KLSAgICAgICAgICAgICAgICAgICAgPG5vdGU+Ci0gICAgICAgICAgICAgICAgICAgICAgICBEbyBub3QgaGFuZC1lZGl0IHRoZSA8ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT4KLSAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgotICAgICAgICAgICAgICAgICAgICAgICAgSWYgeW91IHdhbnQgdGhlIGJ1aWxkIHN5c3RlbSB0byBsb29rIGluIGRpcmVjdG9yaWVzCi0gICAgICAgICAgICAgICAgICAgICAgICBvdGhlciB0aGFuIHRoZSBkZWZhdWx0cywgZXh0ZW5kIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+IHZhcmlhYmxlIGJ5IHVzaW5nIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUZJTEVTRVhUUkFQQVRIUyc+PGZpbGVuYW1lPkZJTEVTRVhUUkFQQVRIUzwvZmlsZW5hbWU+PC9saW5rPgotICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCisgICAgICAgICAgICAgICAgICAgIFRoZSA8ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT4gdmFyaWFibGUgaXMgYXV0b21hdGljYWxseQorICAgICAgICAgICAgICAgICAgICBleHRlbmRlZCB1c2luZyB0aGUgb3ZlcnJpZGVzIGZyb20gdGhlCisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1GSUxFU09WRVJSSURFUyc+PGZpbGVuYW1lPkZJTEVTT1ZFUlJJREVTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgorICAgICAgICAgICAgICAgICAgICA8bm90ZT48dGl0bGU+Tm90ZXM8L3RpdGxlPgorICAgICAgICAgICAgICAgICAgICAgICAgPGl0ZW1pemVkbGlzdD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERvIG5vdCBoYW5kLWVkaXQgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPiB2YXJpYWJsZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgeW91IHdhbnQgdGhlIGJ1aWxkIHN5c3RlbSB0byBsb29rIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yaWVzIG90aGVyIHRoYW4gdGhlIGRlZmF1bHRzLCBleHRlbmQgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPiB2YXJpYWJsZSBieQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2luZyB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUZJTEVTRVhUUkFQQVRIUyc+PGZpbGVuYW1lPkZJTEVTRVhUUkFQQVRIUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZSBhd2FyZSB0aGF0IHRoZSBkZWZhdWx0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPiBkaXJlY3RvcmllcyBkbworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3QgbWFwIHRvIGRpcmVjdG9yaWVzIGluIGN1c3RvbSBsYXllcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlcmUgYXBwZW5kIGZpbGVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg8ZmlsZW5hbWU+LmJiYXBwZW5kPC9maWxlbmFtZT4pIGFyZSB1c2VkLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiB5b3Ugd2FudCB0aGUgYnVpbGQgc3lzdGVtIHRvIGZpbmQgcGF0Y2hlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBmaWxlcyB0aGF0IHJlc2lkZSB3aXRoIHlvdXIgYXBwZW5kIGZpbGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5b3UgbmVlZCB0byBleHRlbmQgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPiB2YXJpYWJsZSBieQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2luZyB0aGUgPGZpbGVuYW1lPkZJTEVTRVhUUkFQQVRIUzwvZmlsZW5hbWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvaXRlbWl6ZWRsaXN0PgogICAgICAgICAgICAgICAgICAgICA8L25vdGU+Ci0gICAgICAgICAgICAgICAgICAgIEJlIGF3YXJlIHRoYXQgdGhlIGRlZmF1bHQgPGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+Ci0gICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yaWVzIGRvIG5vdCBtYXAgdG8gZGlyZWN0b3JpZXMgaW4gY3VzdG9tIGxheWVycwotICAgICAgICAgICAgICAgICAgICB3aGVyZSBhcHBlbmQgZmlsZXMgKDxmaWxlbmFtZT4uYmJhcHBlbmQ8L2ZpbGVuYW1lPikKLSAgICAgICAgICAgICAgICAgICAgYXJlIHVzZWQuCi0gICAgICAgICAgICAgICAgICAgIElmIHlvdSB3YW50IHRoZSBidWlsZCBzeXN0ZW0gdG8gZmluZCBwYXRjaGVzIG9yIGZpbGVzCi0gICAgICAgICAgICAgICAgICAgIHRoYXQgcmVzaWRlIHdpdGggeW91ciBhcHBlbmQgZmlsZXMsIHlvdSBuZWVkIHRvIGV4dGVuZAotICAgICAgICAgICAgICAgICAgICB0aGUgPGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+IHZhcmlhYmxlIGJ5IHVzaW5nCi0gICAgICAgICAgICAgICAgICAgIHRoZSA8ZmlsZW5hbWU+RklMRVNFWFRSQVBBVEhTPC9maWxlbmFtZT4gdmFyaWFibGUuCisgICAgICAgICAgICAgICAgPC9wYXJhPgorCisgICAgICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgICAgICAgIFlvdSBjYW4gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhpcyBzZWFyY2hpbmcgYmVoYXZpb3IgaW4KKyAgICAgICAgICAgICAgICAgICAgdXNlZnVsIHdheXMuCisgICAgICAgICAgICAgICAgICAgIEZvciBleGFtcGxlLCBjb25zaWRlciBhIGNhc2Ugd2hlcmUgdGhlIGZvbGxvd2luZworICAgICAgICAgICAgICAgICAgICBkaXJlY3Rvcnkgc3RydWN0dXJlIGV4aXN0cyBmb3IgZ2VuZXJhbCBhbmQgbWFjaGluZS1zcGVjaWZpYworICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uczoKKyAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgorICAgICBmaWxlcy9kZWZjb25maWcKKyAgICAgZmlsZXMvTUFDSElORUEvZGVmY29uZmlnCisgICAgIGZpbGVzL01BQ0hJTkVCL2RlZmNvbmZpZworICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CisgICAgICAgICAgICAgICAgICAgIEFsc28gaW4gdGhlIGV4YW1wbGUsIHRoZSA8ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+CisgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudCBjb250YWlucyAiZmlsZTovL2RlZmNvbmZpZyIuCisgICAgICAgICAgICAgICAgICAgIEdpdmVuIHRoaXMgc2NlbmFyaW8sIHlvdSBjYW4gc2V0CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1NQUNISU5FJz48ZmlsZW5hbWU+TUFDSElORTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICB0byAiTUFDSElORUEiIGFuZCBjYXVzZSB0aGUgYnVpbGQgc3lzdGVtIHRvIHVzZSBmaWxlcworICAgICAgICAgICAgICAgICAgICBmcm9tIDxmaWxlbmFtZT5maWxlcy9NQUNISU5FQTwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgICAgICBTZXQgPGZpbGVuYW1lPk1BQ0hJTkU8L2ZpbGVuYW1lPiB0byAiTUFDSElORUIiIGFuZCB0aGUKKyAgICAgICAgICAgICAgICAgICAgYnVpbGQgc3lzdGVtIHVzZXMgZmlsZXMgZnJvbQorICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+ZmlsZXMvTUFDSElORUI8L2ZpbGVuYW1lPi4KKyAgICAgICAgICAgICAgICAgICAgRmluYWxseSwgZm9yIGFueSBtYWNoaW5lIG90aGVyIHRoYW4gIk1BQ0hJTkVBIiBhbmQKKyAgICAgICAgICAgICAgICAgICAgIk1BQ0hJTkVCIiwgdGhlIGJ1aWxkIHN5c3RlbSB1c2VzIGZpbGVzIGZyb20KKyAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPmZpbGVzL2RlZmNvbmZpZzwvZmlsZW5hbWU+LgogICAgICAgICAgICAgICAgIDwvcGFyYT4KIAogICAgICAgICAgICAgICAgIDxwYXJhPgpAQCAtNjA3NiwxMSArNjA3NCwxMiBAQAogICAgICAgICAgICAgICAgIDxub3RlPjx0aXRsZT5Ob3RlczwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgIDxpdGVtaXplZGxpc3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgeW91IGFkZCAibGl2ZSIgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+SU1BR0VfRlNUWVBFUzwvZmlsZW5hbWU+IGluc2lkZSBhbiBpbWFnZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2lwZSwgYmUgc3VyZSB0aGF0IHlvdSBkbyBzbyBwcmlvciB0byB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5oZXJpdCBpbWFnZSIgbGluZSBvZiB0aGUgcmVjaXBlIG9yIHRoZSBsaXZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2Ugd2lsbCBub3QgYnVpbGQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgYW4gaW1hZ2UgcmVjaXBlIHVzZXMgdGhlICJpbmhlcml0IGltYWdlIiBsaW5lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHlvdSBhcmUgc2V0dGluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5JTUFHRV9GU1RZUEVTPC9maWxlbmFtZT4gaW5zaWRlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2lwZSwgeW91IG11c3Qgc2V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPklNQUdFX0ZTVFlQRVM8L2ZpbGVuYW1lPiBwcmlvciB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzaW5nIHRoZSAiaW5oZXJpdCBpbWFnZSIgbGluZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEdWUgdG8gdGhlIHdheSB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbQpAQCAtNjg2Niw2ICs2ODY1LDQ0IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1JTkhJQklUX1NZU1JPT1RfU1RSSVAnPjxnbG9zc3Rlcm0+SU5ISUJJVF9TWVNST09UX1NUUklQPC9nbG9zc3Rlcm0+CisgICAgICAgICAgICA8aW5mbz4KKyAgICAgICAgICAgICAgICBJTkhJQklUX1NZU1JPT1RfU1RSSVBbZG9jXSA9ICJJZiBzZXQgdG8gIjEiLCBjYXVzZXMgdGhlIGJ1aWxkIHRvIG5vdCBzdHJpcCBiaW5hcmllcyBpbiB0aGUgcmVzdWx0aW5nIHN5c3Jvb3QuIgorICAgICAgICAgICAgPC9pbmZvPgorICAgICAgICAgICAgPGdsb3NzZGVmPgorICAgICAgICAgICAgICAgIDxwYXJhIHJvbGU9Imdsb3NzZGVmZmlyc3QiPgorPCEtLSAgICAgICAgICAgICAgICA8cGFyYSByb2xlPSJnbG9zc2RlZmZpcnN0Ij48aW1hZ2VkYXRhIGZpbGVyZWY9ImZpZ3VyZXMvZGVmaW5lLWdlbmVyaWMucG5nIiAvPiAtLT4KKyAgICAgICAgICAgICAgICAgICAgSWYgc2V0IHRvICIxIiwgY2F1c2VzIHRoZSBidWlsZCB0byBub3Qgc3RyaXAgYmluYXJpZXMgaW4KKyAgICAgICAgICAgICAgICAgICAgdGhlIHJlc3VsdGluZyBzeXNyb290LgorICAgICAgICAgICAgICAgIDwvcGFyYT4KKworICAgICAgICAgICAgICAgIDxwYXJhPgorICAgICAgICAgICAgICAgICAgICBCeSBkZWZhdWx0LCB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSBzdHJpcHMKKyAgICAgICAgICAgICAgICAgICAgYmluYXJpZXMgaW4gdGhlIHJlc3VsdGluZyBzeXNyb290LgorICAgICAgICAgICAgICAgICAgICBXaGVuIHlvdSBzcGVjaWZpY2FsbHkgc2V0IHRoZQorICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+SU5ISUJJVF9TWVNST09UX1NUUklQPC9maWxlbmFtZT4gdmFyaWFibGUgdG8KKyAgICAgICAgICAgICAgICAgICAgIjEiIGluIHlvdXIgcmVjaXBlLCB5b3UgaW5oaWJpdCB0aGlzIHN0cmlwcGluZy4KKyAgICAgICAgICAgICAgICA8L3BhcmE+CisKKyAgICAgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgSWYgeW91IHdhbnQgdG8gdXNlIHRoaXMgdmFyaWFibGUsIGluY2x1ZGUgdGhlCisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3JlZi1jbGFzc2VzLXN0YWdpbmcnPjxmaWxlbmFtZT5zdGFnaW5nPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIGNsYXNzLgorICAgICAgICAgICAgICAgICAgICBUaGlzIGNsYXNzIHVzZXMgYSA8ZmlsZW5hbWU+c3lzX3N0cmlwKCk8L2ZpbGVuYW1lPgorICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byB0ZXN0IGZvciB0aGUgdmFyaWFibGUgYW5kIGFjdHMgYWNjb3JkaW5nbHkuCisgICAgICAgICAgICAgICAgICAgIDxub3RlPgorICAgICAgICAgICAgICAgICAgICAgICAgVXNlIG9mIHRoZSA8ZmlsZW5hbWU+SU5ISUJJVF9TWVNST09UX1NUUklQPC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIG9jY3VycyBpbiByYXJlIGFuZCBzcGVjaWFsIGNpcmN1bXN0YW5jZXMuCisgICAgICAgICAgICAgICAgICAgICAgICBGb3IgZXhhbXBsZSwgc3VwcG9zZSB5b3UgYXJlIGJ1aWxkaW5nIGJhcmUtbWV0YWwKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpcm13YXJlIGJ5IHVzaW5nIGFuIGV4dGVybmFsIEdDQyB0b29sY2hhaW4uCisgICAgICAgICAgICAgICAgICAgICAgICBGdXJ0aGVybW9yZSwgZXZlbiBpZiB0aGUgdG9vbGNoYWluJ3MgYmluYXJpZXMgYXJlCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJpcHBhYmxlLCBvdGhlciBmaWxlcyBleGlzdCB0aGF0IGFyZSBuZWVkZWQgZm9yIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGQgdGhhdCBhcmUgbm90IHN0cmlwcGFibGUuCisgICAgICAgICAgICAgICAgICAgIDwvbm90ZT4KKyAgICAgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgICA8L2dsb3NzZGVmPgorICAgICAgICA8L2dsb3NzZW50cnk+CisKICAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1JTklUUkFNRlNfRlNUWVBFUyc+PGdsb3NzdGVybT5JTklUUkFNRlNfRlNUWVBFUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGluZm8+CiAgICAgICAgICAgICAgICAgSU5JVFJBTUZTX0ZTVFlQRVNbZG9jXSA9ICJEZWZpbmVzIHRoZSBmb3JtYXQgZm9yIHRoZSBvdXRwdXQgaW1hZ2Ugb2YgYW4gaW5pdGlhbCBSQU0gZmlsZXN5c3RlbSAoaW5pdHJhbWZzKSwgd2hpY2ggaXMgdXNlZCBkdXJpbmcgYm9vdC4iCkBAIC05OTMzLDcgKzk5NzAsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT4vYmluLy5kZWJ1ZzwvZmlsZW5hbWU+LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZSBmaWxlcyBhcmUgcGxhY2VkIGluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPi91c3Ivc3JjL2RlYnVnPC9maWxlbmFtZT4uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyB0aGUgZGVmYXVsdCBiZWhhdmlvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVidWctZmlsZS1kaXJlY3RvcnkiOiBEZWJ1ZyBzeW1ib2wgZmlsZXMgYXJlCkBAIC05OTU3LDYgKzk5OTMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICIuZGVidWciIHByZXZpb3VzbHkgZGVzY3JpYmVkIHdpdGggdGhlIGV4Y2VwdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgYWxsIHNvdXJjZSBmaWxlcyBhcmUgcGxhY2VkIGluIGEgc2VwYXJhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+Ki1zcmM8L2ZpbGVuYW1lPiBwa2cuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyB0aGUgZGVmYXVsdCBiZWhhdmlvci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CiAgICAgICAgICAgICAgICAgPC9wYXJhPgpAQCAtMTMwMDIsNyArMTMwMzksNyBAQAogICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY8L2ZpbGVuYW1lPikKICAgICAgICAgICAgICAgICAgICAgZGVmaW5lcyB0aGUgPGZpbGVuYW1lPlNES19WRVJTSU9OPC9maWxlbmFtZT4gYXMgZm9sbG93czoKICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICBTREtfVkVSU0lPTiA6PSAiJHtAJyR7RElTVFJPX1ZFUlNJT059Jy5yZXBsYWNlKCdzbmFwc2hvdC0ke0RBVEV9Jywnc25hcHNob3QnKX0iCisgICAgIFNES19WRVJTSU9OID0gIiR7QGQuZ2V0VmFyKCdESVNUUk9fVkVSU0lPTicpLnJlcGxhY2UoJ3NuYXBzaG90LSR7REFURX0nLCdzbmFwc2hvdCcpfSIKICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgICAgIDwvcGFyYT4KIApkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVzb3VyY2VzLnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9yZWYtbWFudWFsL3Jlc291cmNlcy54bWwKaW5kZXggYmUwNDY5Ni4uNmEwY2VlOCAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVzb3VyY2VzLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZXNvdXJjZXMueG1sCkBAIC0xNTUsNyArMTU1LDcgQEAKICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KICAgICAgICAgICAgICAgICA8ZW1waGFzaXM+Ci0gICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfQkJfVVJMOyc+Qml0QmFrZSBVc2VyIE1hbnVhbDo8L3VsaW5rPgorICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX0JCX1VSTDsnPkJpdEJha2UgVXNlciBNYW51YWw8L3VsaW5rPjoKICAgICAgICAgICAgICAgICA8L2VtcGhhc2lzPgogICAgICAgICAgICAgICAgIEEgY29tcHJlaGVuc2l2ZSBndWlkZSB0byB0aGUgQml0QmFrZSB0b29sLgogICAgICAgICAgICAgICAgIElmIHlvdSB3YW50IGluZm9ybWF0aW9uIG9uIEJpdEJha2UsIHNlZSB0aGlzIG1hbnVhbC4KZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9zZGstbWFudWFsL3Nkay1tYW51YWwueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL3Nkay1tYW51YWwvc2RrLW1hbnVhbC54bWwKaW5kZXggN2Y5M2Q1Zi4uMTgyODExOSAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL3Nkay1tYW51YWwvc2RrLW1hbnVhbC54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL3Nkay1tYW51YWwvc2RrLW1hbnVhbC54bWwKQEAgLTYyLDkgKzYyLDkgQEAKICAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICAgICAgPHJldmlzaW9uPgotICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi42LjE8L3Jldm51bWJlcj4KKyAgICAgICAgICAgICAgICA8cmV2bnVtYmVyPjIuNzwvcmV2bnVtYmVyPgogICAgICAgICAgICAgICAgIDxkYXRlPiZSRUxfTU9OVEhfWUVBUjs8L2RhdGU+Ci0gICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNi4xIFJlbGVhc2UuPC9yZXZyZW1hcms+CisgICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNyBSZWxlYXNlLjwvcmV2cmVtYXJrPgogICAgICAgICAgICAgPC9yZXZpc2lvbj4KICAgICAgICA8L3Jldmhpc3Rvcnk+CiAKZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi90b2FzdGVyLW1hbnVhbC90b2FzdGVyLW1hbnVhbC54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vdG9hc3Rlci1tYW51YWwvdG9hc3Rlci1tYW51YWwueG1sCmluZGV4IGRjYzI5OTAuLjQyZGM2YTMgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi90b2FzdGVyLW1hbnVhbC90b2FzdGVyLW1hbnVhbC54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL3RvYXN0ZXItbWFudWFsL3RvYXN0ZXItbWFudWFsLnhtbApAQCAtNzIsOSArNzIsOSBAQAogICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgICAgICA8cmV2aXNpb24+Ci0gICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjYuMTwvcmV2bnVtYmVyPgorICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi43PC9yZXZudW1iZXI+CiAgICAgICAgICAgICAgICAgPGRhdGU+JlJFTF9NT05USF9ZRUFSOzwvZGF0ZT4KLSAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42LjEgUmVsZWFzZS48L3JldnJlbWFyaz4KKyAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi43IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgIDwvcmV2aGlzdG9yeT4KIApkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL3Rvb2xzL21lZ2EtbWFudWFsLnNlZCBiL3Bva3kvZG9jdW1lbnRhdGlvbi90b29scy9tZWdhLW1hbnVhbC5zZWQKaW5kZXggZjZlMjA1Zi4uNzliYmVlZiAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL3Rvb2xzL21lZ2EtbWFudWFsLnNlZAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vdG9vbHMvbWVnYS1tYW51YWwuc2VkCkBAIC0xLDQwICsxLDM2IEBACi0jIFByb2Nlc3NlcyBwb2t5LXJlZi1tYW51YWwgYW5kIHlvY3RvLXByb2plY3QtcXMgbWFudWFsICg8d29yZD4tPHdvcmQ+LTx3b3JkPiBzdHlsZSkuCi0jIFRoaXMgc3R5bGUgaXMgZm9yIG1hbnVhbCBmb2xkZXJzIGxpa2UgInlvY3RvLXByb2plY3QtcXMiIGFuZCAicG9reS1yZWYtbWFudWFsIi4KLSMgVGhpcyBpcyB0aGUgb2xkIHdheSB0aGF0IGRpZCBpdC4gIENhbid0IGRvIHRoYXQgbm93IHRoYXQgd2UgaGF2ZSAiYml0YmFrZS11c2VyLW1hbnVhbCIgc3RyaW5ncwotIyBpbiB0aGUgbWVnYS1tYW51YWwuCi0jIHNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9bYS16XSotW2Etel0qLVthLXpdKi9bYS16XSotW2Etel0qLVthLXpdKi5odG1sI0AibGluayIgaHJlZj0iI0BnCi1zQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEveW9jdG8tcHJvamVjdC1xcy95b2N0by1wcm9qZWN0LXFzLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKLXNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9wb2t5LXJlZi1tYW51YWwvcG9reS1yZWYtbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKKyMgUHJvY2Vzc2VzIGJpdGJha2UtdXNlci1tYW51YWwgKDx3b3JkPi08d29yZD4tPHdvcmQ+IHN0eWxlKS4KKyMgVGhpcyBzdHlsZSBpcyBmb3IgbWFudWFsIHRocmVlLXdvcmQgZm9sZGVycywgd2hpY2ggY3VycmVudGx5IGlzIG9ubHkgdGhlIEJpdEJha2UgVXNlciBNYW51YWwuCisjIFdlIHVzZWQgdG8gaGF2ZSB0aGUgInlvY3RvLXByb2plY3QtcXMiIGFuZCAicG9reS1yZWYtbWFudWFsIiBmb2xkZXJzIGJ1dCBubyBsb25nZXIgZG8uCisjIHNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvW2Etel0qLVthLXpdKi1bYS16XSovW2Etel0qLVthLXpdKi1bYS16XSouaHRtbCNAImxpbmsiIGhyZWY9IiNAZworc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwuaHRtbCNAImxpbmsiIGhyZWY9IiNAZwogCi0jIFByb2Nlc3NlcyBhbGwgb3RoZXIgbWFudWFscyAoPHdvcmQ+LTx3b3JkPiBzdHlsZSkgZXhjZXB0IGZvciB0aGUgQml0QmFrZSBVc2VyIE1hbnVhbCBiZWNhdXNlCi0jIGl0IGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUgbWVnYS1tYW51YWwuCisjIFByb2Nlc3NlcyBhbGwgb3RoZXIgbWFudWFscyAoPHdvcmQ+LTx3b3JkPiBzdHlsZSkuCiAjIFRoaXMgc3R5bGUgaXMgZm9yIG1hbnVhbCBmb2xkZXJzIHRoYXQgdXNlIHR3byB3b3JkLCB3aGljaCBpcyB0aGUgc3RhbmRhcmQgbm93IChlLmcuICJyZWYtbWFudWFsIikuCi0jIFRoaXMgd2FzIHRoZSBvbmUtbGluZXIgdGhhdCB3b3JrZWQgYmVmb3JlIHdlIGludHJvZHVjZWQgdGhlIEJpdEJha2UgVXNlciBNYW51YWwsIHdoaWNoIGlzCi0jIG5vdCBpbiB0aGUgbWVnYS1tYW51YWwuCi0jIHNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9bYS16XSotW2Etel0qL1thLXpdKi1bYS16XSouaHRtbCNAImxpbmsiIGhyZWY9IiNAZworIyBIZXJlIGlzIHRoZSBvbmUtbGluZXI6CisjIHNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvW2Etel0qLVthLXpdKi9bYS16XSotW2Etel0qLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKIAotc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL3Nkay1tYW51YWwvc2RrLW1hbnVhbC5odG1sI0AibGluayIgaHJlZj0iI0BnCi1zQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEvYnNwLWd1aWRlL2JzcC1ndWlkZS5odG1sI0AibGluayIgaHJlZj0iI0BnCi1zQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEvZGV2LW1hbnVhbC9kZXYtbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKLXNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9vdmVydmlldy1tYW51YWwvb3ZlcnZpZXctbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKLXNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9icmllZi15b2N0b3Byb2plY3Rxcy9icmllZi15b2N0b3Byb2plY3Rxcy5odG1sI0AibGluayIgaHJlZj0iI0BnCi1zQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEva2VybmVsLWRldi9rZXJuZWwtZGV2Lmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKLXNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9wcm9maWxlLW1hbnVhbC9wcm9maWxlLW1hbnVhbC5odG1sI0AibGluayIgaHJlZj0iI0BnCi1zQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEvcmVmLW1hbnVhbC9yZWYtbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKLXNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS90b2FzdGVyLW1hbnVhbC90b2FzdGVyLW1hbnVhbC5odG1sI0AibGluayIgaHJlZj0iI0BnCitzQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L3Nkay1tYW51YWwvc2RrLW1hbnVhbC5odG1sI0AibGluayIgaHJlZj0iI0BnCitzQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L2JzcC1ndWlkZS9ic3AtZ3VpZGUuaHRtbCNAImxpbmsiIGhyZWY9IiNAZworc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9kZXYtbWFudWFsL2Rldi1tYW51YWwuaHRtbCNAImxpbmsiIGhyZWY9IiNAZworc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9vdmVydmlldy1tYW51YWwvb3ZlcnZpZXctbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKK3NAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvYnJpZWYteW9jdG9wcm9qZWN0cXMvYnJpZWYteW9jdG9wcm9qZWN0cXMuaHRtbCNAImxpbmsiIGhyZWY9IiNAZworc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9rZXJuZWwtZGV2L2tlcm5lbC1kZXYuaHRtbCNAImxpbmsiIGhyZWY9IiNAZworc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9wcm9maWxlLW1hbnVhbC9wcm9maWxlLW1hbnVhbC5odG1sI0AibGluayIgaHJlZj0iI0BnCitzQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L3JlZi1tYW51YWwvcmVmLW1hbnVhbC5odG1sI0AibGluayIgaHJlZj0iI0BnCitzQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L3RvYXN0ZXItbWFudWFsL3RvYXN0ZXItbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKIAogIyBQcm9jZXNzIGNhc2VzIHdoZXJlIGp1c3QgYW4gZXh0ZXJuYWwgbWFudWFsIGlzIHJlZmVyZW5jZWQgd2l0aG91dCBhbiBpZCBhbmNob3IKLXNAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9icmllZi15b2N0b3Byb2plY3Rxcy9icmllZi15b2N0b3Byb2plY3Rxcy5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgUXVpY2sgQnVpbGQ8L2E+QFlvY3RvIFByb2plY3QgUXVpY2sgQnVpbGRAZwotc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL3lvY3RvLXByb2plY3QtcXMveW9jdG8tcHJvamVjdC1xcy5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgUXVpY2sgU3RhcnQ8L2E+QFlvY3RvIFByb2plY3QgUXVpY2sgU3RhcnRAZwotc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL2Rldi1tYW51YWwvZGV2LW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgRGV2ZWxvcG1lbnQgVGFza3MgTWFudWFsPC9hPkBZb2N0byBQcm9qZWN0IERldmVsb3BtZW50IFRhc2tzIE1hbnVhbEBnCi1zQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEvb3ZlcnZpZXctbWFudWFsL292ZXJ2aWV3LW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgT3ZlcnZpZXcgYW5kIENvbmNlcHRzIE1hbnVhbDwvYT5AWW9jdG8gcHJvamVjdCBPdmVydmlldyBhbmQgQ29uY2VwdHMgTWFudWFsQGcKLXNAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9zZGstbWFudWFsL3Nkay1tYW51YWwuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IEFwcGxpY2F0aW9uIERldmVsb3BtZW50IGFuZCB0aGUgRXh0ZW5zaWJsZSBTb2Z0d2FyZSBEZXZlbG9wbWVudCBLaXQgKGVTREspPC9hPkBZb2N0byBQcm9qZWN0IEFwcGxpY2F0aW9uIERldmVsb3BtZW50IGFuZCB0aGUgRXh0ZW5zaWJsZSBTb2Z0d2FyZSBEZXZlbG9wbWVudCBLaXQgKGVTREspQGcKLXNAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9ic3AtZ3VpZGUvYnNwLWd1aWRlLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBCb2FyZCBTdXBwb3J0IFBhY2thZ2UgKEJTUCkgRGV2ZWxvcGVyJ3MgR3VpZGU8L2E+QFlvY3RvIFByb2plY3QgQm9hcmQgU3VwcG9ydCBQYWNrYWdlIChCU1ApIERldmVsb3BlcidzIEd1aWRlQGcKLXNAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9wcm9maWxlLW1hbnVhbC9wcm9maWxlLW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgUHJvZmlsaW5nIGFuZCBUcmFjaW5nIE1hbnVhbDwvYT5AWW9jdG8gUHJvamVjdCBQcm9maWxpbmcgYW5kIFRyYWNpbmcgTWFudWFsQGcKLXNAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9rZXJuZWwtZGV2L2tlcm5lbC1kZXYuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IExpbnV4IEtlcm5lbCBEZXZlbG9wbWVudCBNYW51YWw8L2E+QFlvY3RvIFByb2plY3QgTGludXggS2VybmVsIERldmVsb3BtZW50IE1hbnVhbEBnCi1zQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEvcmVmLW1hbnVhbC9yZWYtbWFudWFsLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBSZWZlcmVuY2UgTWFudWFsPC9hPkBZb2N0byBQcm9qZWN0IFJlZmVyZW5jZSBNYW51YWxAZwotc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL3RvYXN0ZXItbWFudWFsL3RvYXN0ZXItbWFudWFsLmh0bWwiIHRhcmdldD0iX3RvcCI+VG9hc3RlciBVc2VyIE1hbnVhbDwvYT5AVG9hc3RlciBVc2VyIE1hbnVhbEBnCitzQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L2JyaWVmLXlvY3RvcHJvamVjdHFzL2JyaWVmLXlvY3RvcHJvamVjdHFzLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBRdWljayBCdWlsZDwvYT5AWW9jdG8gUHJvamVjdCBRdWljayBCdWlsZEBnCitzQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPkJpdEJha2UgVXNlciBNYW51YWw8L2E+QEJpdEJha2UgVXNlciBNYW51YWxAZworc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9kZXYtbWFudWFsL2Rldi1tYW51YWwuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IERldmVsb3BtZW50IFRhc2tzIE1hbnVhbDwvYT5AWW9jdG8gUHJvamVjdCBEZXZlbG9wbWVudCBUYXNrcyBNYW51YWxAZworc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9vdmVydmlldy1tYW51YWwvb3ZlcnZpZXctbWFudWFsLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBPdmVydmlldyBhbmQgQ29uY2VwdHMgTWFudWFsPC9hPkBZb2N0byBwcm9qZWN0IE92ZXJ2aWV3IGFuZCBDb25jZXB0cyBNYW51YWxAZworc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9zZGstbWFudWFsL3Nkay1tYW51YWwuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IEFwcGxpY2F0aW9uIERldmVsb3BtZW50IGFuZCB0aGUgRXh0ZW5zaWJsZSBTb2Z0d2FyZSBEZXZlbG9wbWVudCBLaXQgKGVTREspPC9hPkBZb2N0byBQcm9qZWN0IEFwcGxpY2F0aW9uIERldmVsb3BtZW50IGFuZCB0aGUgRXh0ZW5zaWJsZSBTb2Z0d2FyZSBEZXZlbG9wbWVudCBLaXQgKGVTREspQGcKK3NAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvYnNwLWd1aWRlL2JzcC1ndWlkZS5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgQm9hcmQgU3VwcG9ydCBQYWNrYWdlIChCU1ApIERldmVsb3BlcidzIEd1aWRlPC9hPkBZb2N0byBQcm9qZWN0IEJvYXJkIFN1cHBvcnQgUGFja2FnZSAoQlNQKSBEZXZlbG9wZXIncyBHdWlkZUBnCitzQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L3Byb2ZpbGUtbWFudWFsL3Byb2ZpbGUtbWFudWFsLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBQcm9maWxpbmcgYW5kIFRyYWNpbmcgTWFudWFsPC9hPkBZb2N0byBQcm9qZWN0IFByb2ZpbGluZyBhbmQgVHJhY2luZyBNYW51YWxAZworc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9rZXJuZWwtZGV2L2tlcm5lbC1kZXYuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IExpbnV4IEtlcm5lbCBEZXZlbG9wbWVudCBNYW51YWw8L2E+QFlvY3RvIFByb2plY3QgTGludXggS2VybmVsIERldmVsb3BtZW50IE1hbnVhbEBnCitzQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L3JlZi1tYW51YWwvcmVmLW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgUmVmZXJlbmNlIE1hbnVhbDwvYT5AWW9jdG8gUHJvamVjdCBSZWZlcmVuY2UgTWFudWFsQGcKK3NAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvdG9hc3Rlci1tYW51YWwvdG9hc3Rlci1tYW51YWwuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Ub2FzdGVyIFVzZXIgTWFudWFsPC9hPkBUb2FzdGVyIFVzZXIgTWFudWFsQGcKIAogIyBQcm9jZXNzIGEgc2luZ2xlLCByb3VnZSBvY2N1cnJlbmNlIG9mIGEgbGlua2VkIHJlZmVyZW5jZSB0byB0aGUgTWVnYS1NYW51YWwuCi1zQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEvbWVnYS1tYW51YWwvbWVnYS1tYW51YWwuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IE1lZ2EtTWFudWFsPC9hPkBZb2N0byBQcm9qZWN0IE1lZ2EtTWFudWFsQGcKK3NAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvbWVnYS1tYW51YWwvbWVnYS1tYW51YWwuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IE1lZ2EtTWFudWFsPC9hPkBZb2N0byBQcm9qZWN0IE1lZ2EtTWFudWFsQGcKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXBva3kvUkVBRE1FLnBva3kgYi9wb2t5L21ldGEtcG9reS9SRUFETUUucG9reQppbmRleCAwYTQyODQzLi4yMjA0ODAxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEtcG9reS9SRUFETUUucG9reQorKysgYi9wb2t5L21ldGEtcG9reS9SRUFETUUucG9reQpAQCAtMjcsNiArMjcsMTkgQEAKIEZvciBpbmZvcm1hdGlvbiBhYm91dCBPcGVuRW1iZWRkZWQsIHNlZSB0aGUgT3BlbkVtYmVkZGVkIHdlYnNpdGU6CiAgICAgaHR0cDovL3d3dy5vcGVuZW1iZWRkZWQub3JnLwogCisKK0NvbnRyaWJ1dGlvbiBHdWlkZWxpbmVzCis9PT09PT09PT09PT09PT09PT09PT09PQorCitBIGd1aWRlIHRvIHN1Ym1pdHRpbmcgcGF0Y2hlcyB0byBPcGVuRW1iZWRkZWQgaXMgYXZhaWxhYmxlIGF0OgorCitodHRwOi8vd3d3Lm9wZW5lbWJlZGRlZC5vcmcvd2lraS9Ib3dfdG9fc3VibWl0X2FfcGF0Y2hfdG9fT3BlbkVtYmVkZGVkCisKK1RoZXJlIGlzIGdvb2QgZG9jdW1lbnRhdGlvbiBvbiBob3cgdG8gd3JpdGUvZm9ybWF0IHBhdGNoZXMgYXQ6CisKK2h0dHBzOi8vd3d3Lm9wZW5lbWJlZGRlZC5vcmcvd2lraS9Db21taXRfUGF0Y2hfTWVzc2FnZV9HdWlkZWxpbmVzCisKKwogV2hlcmUgdG8gU2VuZCBQYXRjaGVzCiA9PT09PT09PT09PT09PT09PT09PT0KIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9wb2t5LWZsb2F0aW5nLXJldmlzaW9ucy5pbmMgYi9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3Bva3ktZmxvYXRpbmctcmV2aXNpb25zLmluYwppbmRleCBhM2RhMDQzLi4xZmM1MDQ1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3Bva3ktZmxvYXRpbmctcmV2aXNpb25zLmluYworKysgYi9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3Bva3ktZmxvYXRpbmctcmV2aXNpb25zLmluYwpAQCAtMjYsOCArMjYsNiBAQAogU1JDUkVWX3BuLW1hdGNoYm94LWRlc2t0b3Atc2F0byA/PSAiJHtBVVRPUkVWfSIKIFNSQ1JFVl9wbi1vaC1wdXp6bGVzID89ICIke0FVVE9SRVZ9IgogU1JDUkVWX3BuLWxpYm93bCA/PSAiJHtBVVRPUkVWfSIKLVNSQ1JFVl9wbi1mc3Rlc3RzID89ICIke0FVVE9SRVZ9IgotU1JDUkVWX3BuLXh2aWRlby10ZXN0cyA/PSAiJHtBVVRPUkVWfSIKIFNSQ1JFVl9wbi1jbHV0dGVyID89ICIke0FVVE9SRVZ9IgogU1JDUkVWX3BuLWNsdXR0ZXItZ3N0ID89ICIke0FVVE9SRVZ9IgogU1JDUkVWX3BuLWxpYm1hdGNoYm94ID89ICIke0FVVE9SRVZ9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS1sc2IuY29uZiBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3ktbHNiLmNvbmYKaW5kZXggMWM0MjZiYS4uNWM3ZTI3MiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS1sc2IuY29uZgorKysgYi9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LWxzYi5jb25mCkBAIC0xMSw0ICsxMSw0IEBACiBLRVJORUxfRkVBVFVSRVNfYXBwZW5kX3BuLWxpbnV4LXlvY3RvID0gIiBmZWF0dXJlcy9uZnNkL25mc2QtZW5hYmxlLnNjYyIKIAogIyBVc2UgdGhlIExUU0kgS2VybmVsIGZvciBMU0IgVGVzdGluZwotUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG9fbGludXhzdGRiYXNlID89ICI0LjE0JSIKK1BSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvX2xpbnV4c3RkYmFzZSA/PSAiNC4xOSUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmYgYi9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmYKaW5kZXggYTM3MGIyMS4uNjU0NGMwMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mCisrKyBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZgpAQCAtMSw5ICsxLDkgQEAKIERJU1RSTyA9ICJwb2t5IgogRElTVFJPX05BTUUgPSAiUG9reSAoWW9jdG8gUHJvamVjdCBSZWZlcmVuY2UgRGlzdHJvKSIKLURJU1RST19WRVJTSU9OID0gIjIuNi4yIgotRElTVFJPX0NPREVOQU1FID0gInRodWQiCitESVNUUk9fVkVSU0lPTiA9ICIyLjYrc25hcHNob3QtJHtEQVRFfSIKK0RJU1RST19DT0RFTkFNRSA9ICJtYXN0ZXIiCiBTREtfVkVORE9SID0gIi1wb2t5c2RrIgotU0RLX1ZFUlNJT04gOj0gIiR7QCcke0RJU1RST19WRVJTSU9OfScucmVwbGFjZSgnc25hcHNob3QtJHtEQVRFfScsJ3NuYXBzaG90Jyl9IgorU0RLX1ZFUlNJT04gPSAiJHtAZC5nZXRWYXIoJ0RJU1RST19WRVJTSU9OJykucmVwbGFjZSgnc25hcHNob3QtJHtEQVRFfScsICdzbmFwc2hvdCcpfSIKIAogTUFJTlRBSU5FUiA9ICJQb2t5IDxwb2t5QHlvY3RvcHJvamVjdC5vcmc+IgogCkBAIC0yMSw5ICsyMSw5IEBACiAKIERJU1RST19GRUFUVVJFUyA/PSAiJHtESVNUUk9fRkVBVFVSRVNfREVGQVVMVH0gJHtESVNUUk9fRkVBVFVSRVNfTElCQ30gJHtQT0tZX0RFRkFVTFRfRElTVFJPX0ZFQVRVUkVTfSIKIAotUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG8gPz0gIjQuMTglIgorUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG8gPz0gIjUuMCUiCiAKLVNES19OQU1FID0gIiR7RElTVFJPfS0ke1RDTElCQ30tJHtTREtfQVJDSH0tJHtJTUFHRV9CQVNFTkFNRX0tJHtUVU5FX1BLR0FSQ0h9IgorU0RLX05BTUUgPSAiJHtESVNUUk99LSR7VENMSUJDfS0ke1NES01BQ0hJTkV9LSR7SU1BR0VfQkFTRU5BTUV9LSR7VFVORV9QS0dBUkNIfS0ke01BQ0hJTkV9IgogU0RLUEFUSCA9ICIvb3B0LyR7RElTVFJPfS8ke1NES19WRVJTSU9OfSIKIAogRElTVFJPX0VYVFJBX1JERVBFTkRTICs9ICIgJHtQT0tZX0RFRkFVTFRfRVhUUkFfUkRFUEVORFN9IgpAQCAtMzksOSArMzksNiBAQAogCiBUQ0xJQkNBUFBFTkQgPSAiIgogCi1RRU1VX1RBUkdFVFMgPz0gImFybSBhYXJjaDY0IGkzODYgbWlwcyBtaXBzZWwgbWlwczY0IG1pcHM2NGVsIG5pb3MyIHBwYyB4ODZfNjQiCi0jIE90aGVyIFFFTVVfVEFSR0VUUyAic2g0IgotCiBQUkVNSVJST1JTID8/PSAiXAogYnpyOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIFwKIGN2czovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBcCkBAIC01MiwxNyArNDksNiBAQAogcDQ6Ly8uKi8uKiAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIFwKIHN2bjovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiIKIAotTUlSUk9SUyA9KyAiXAotZnRwOi8vLiovLiogICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIFwKLWh0dHA6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBcCi1odHRwczovLy4qLy4qICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4iCi0KLSMgVGhlIENPTk5FQ1RJVklUWV9DSEVDS19VUkkncyBhcmUgdXNlZCB0byB0ZXN0IHdoZXRoZXIgd2UgY2FuIHN1Y2Nlc2Z1bGx5Ci0jIGZldGNoIGZyb20gdGhlIG5ldHdvcmsgKGFuZCB3YXJuIHlvdSBpZiBub3QpLiBUbyBkaXNhYmxlIHRoZSB0ZXN0IHNldAotIyB0aGUgdmFyaWFibGUgdG8gYmUgZW1wdHkuCi0jIEdpdCBleGFtcGxlIHVybDogZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcveW9jdG8tZmlyZXdhbGwtdGVzdDtwcm90b2NvbD1naXQ7cmV2PW1hc3RlcgotQ09OTkVDVElWSVRZX0NIRUNLX1VSSVMgPz0gImh0dHBzOi8vd3d3LmV4YW1wbGUuY29tLyIKLQogU0FOSVRZX1RFU1RFRF9ESVNUUk9TID89ICIgXAogICAgICAgICAgICAgcG9reS0yLjUgXG4gXAogICAgICAgICAgICAgcG9reS0yLjYgXG4gXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXBva3kvY29uZi9sYXllci5jb25mIGIvcG9reS9tZXRhLXBva3kvY29uZi9sYXllci5jb25mCmluZGV4IGI5YjI2MzcuLjBkNzRmNGUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZgorKysgYi9wb2t5L21ldGEtcG9reS9jb25mL2xheWVyLmNvbmYKQEAgLTksNyArOSw3IEBACiBCQkZJTEVfUEFUVEVSTl95b2N0byA9ICJeJHtMQVlFUkRJUn0vIgogQkJGSUxFX1BSSU9SSVRZX3lvY3RvID0gIjUiCiAKLUxBWUVSU0VSSUVTX0NPTVBBVF95b2N0byA9ICJ0aHVkIgorTEFZRVJTRVJJRVNfQ09NUEFUX3lvY3RvID0gIndhcnJpb3IiCiAKICMgVGhpcyBzaG91bGQgb25seSBiZSBpbmNyZW1lbnRlZCBvbiBzaWduaWZpY2FudCBjaGFuZ2VzIHRoYXQgd2lsbAogIyBjYXVzZSBjb21wYXRpYmlsaXR5IGlzc3VlcyB3aXRoIG90aGVyIGxheWVycwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXBva3kvY29uZi9sb2NhbC5jb25mLnNhbXBsZSBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvbG9jYWwuY29uZi5zYW1wbGUKaW5kZXggY2Y5NjU5OC4uOTA2OGU1NiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhLXBva3kvY29uZi9sb2NhbC5jb25mLnNhbXBsZQorKysgYi9wb2t5L21ldGEtcG9reS9jb25mL2xvY2FsLmNvbmYuc2FtcGxlCkBAIC0xMjQsNiArMTI0LDggQEAKICMgdmFyaWFibGUgY2FuIGNvbnRhaW4gdGhlIGZvbGxvd2luZyBvcHRpb25zOgogIyAgImRiZy1wa2dzIiAgICAgICAtIGFkZCAtZGJnIHBhY2thZ2VzIGZvciBhbGwgaW5zdGFsbGVkIHBhY2thZ2VzCiAjICAgICAgICAgICAgICAgICAgICAgKGFkZHMgc3ltYm9sIGluZm9ybWF0aW9uIGZvciBkZWJ1Z2dpbmcvcHJvZmlsaW5nKQorIyAgInNyYy1wa2dzIiAgICAgICAtIGFkZCAtc3JjIHBhY2thZ2VzIGZvciBhbGwgaW5zdGFsbGVkIHBhY2thZ2VzCisjICAgICAgICAgICAgICAgICAgICAgKGFkZHMgc291cmNlIGNvZGUgZm9yIGRlYnVnZ2luZykKICMgICJkZXYtcGtncyIgICAgICAgLSBhZGQgLWRldiBwYWNrYWdlcyBmb3IgYWxsIGluc3RhbGxlZCBwYWNrYWdlcwogIyAgICAgICAgICAgICAgICAgICAgICh1c2VmdWwgaWYgeW91IHdhbnQgdG8gZGV2ZWxvcCBhZ2FpbnN0IGxpYnMgaW4gdGhlIGltYWdlKQogIyAgInB0ZXN0LXBrZ3MiICAgICAtIGFkZCAtcHRlc3QgcGFja2FnZXMgZm9yIGFsbCBwdGVzdC1lbmFibGVkIHBhY2thZ2VzCkBAIC0yMzksNyArMjQxLDcgQEAKICMgc2Vlbi4gVGhlIHR3byBsaW5lcyBiZWxvdyBlbmFibGUgdGhlIFNETCBiYWNrZW5kIHRvby4gQnkgZGVmYXVsdCBsaWJzZGwyLW5hdGl2ZSB3aWxsCiAjIGJlIGJ1aWx0LCBpZiB5b3Ugd2FudCB0byB1c2UgeW91ciBob3N0J3MgbGliU0RMIGluc3RlYWQgb2YgdGhlIG1pbmltYWwgbGlic2RsIGJ1aWx0CiAjIGJ5IGxpYnNkbDItbmF0aXZlIHRoZW4gdW5jb21tZW50IHRoZSBBU1NVTUVfUFJPVklERUQgbGluZSBiZWxvdy4KLVBBQ0tBR0VDT05GSUdfYXBwZW5kX3BuLXFlbXUtbmF0aXZlID0gIiBzZGwiCitQQUNLQUdFQ09ORklHX2FwcGVuZF9wbi1xZW11LXN5c3RlbS1uYXRpdmUgPSAiIHNkbCIKIFBBQ0tBR0VDT05GSUdfYXBwZW5kX3BuLW5hdGl2ZXNkay1xZW11ID0gIiBzZGwiCiAjQVNTVU1FX1BST1ZJREVEICs9ICJsaWJzZGwyLW5hdGl2ZSIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXBva3kvY29uZi9sb2NhbC5jb25mLnNhbXBsZS5leHRlbmRlZCBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvbG9jYWwuY29uZi5zYW1wbGUuZXh0ZW5kZWQKaW5kZXggM2JhOTlmNC4uODdkMjExZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhLXBva3kvY29uZi9sb2NhbC5jb25mLnNhbXBsZS5leHRlbmRlZAorKysgYi9wb2t5L21ldGEtcG9reS9jb25mL2xvY2FsLmNvbmYuc2FtcGxlLmV4dGVuZGVkCkBAIC0yOTAsMTggKzI5MCwxOCBAQAogCiAjIEltYWdlIGxldmVsIHVzZXIvZ3JvdXAgY29uZmlndXJhdGlvbi4KICMgSW5oZXJpdCBleHRyYXVzZXJzIHRvIG1ha2UgdGhlIHNldHRpbmcgb2YgRVhUUkFfVVNFUlNfUEFSQU1TIGVmZmVjdGl2ZS4KLSNJTkhFUklUICs9ICJleHRyYXVzZXJzIgorI0lNQUdFX0NMQVNTRVMgKz0gImV4dHJhdXNlcnMiCiAjIFVzZXIgLyBncm91cCBzZXR0aW5ncwotIyBUaGUgc2V0dGluZ3MgYXJlIHNwZXJhdGVkIGJ5IHRoZSA7IGNoYXJhY3Rlci4KKyMgVGhlIHNldHRpbmdzIGFyZSBzZXBhcmF0ZWQgYnkgdGhlIDsgY2hhcmFjdGVyLgogIyBFYWNoIHNldHRpbmcgaXMgYWN0dWFsbHkgYSBjb21tYW5kLiBUaGUgc3VwcG9ydGVkIGNvbW1hbmRzIGFyZSB1c2VyYWRkLAogIyBncm91cGFkZCwgdXNlcmRlbCwgZ3JvdXBkZWwsIHVzZXJtb2QgYW5kIGdyb3VwbW9kLgogI0VYVFJBX1VTRVJTX1BBUkFNUyA9ICJcCi0jdXNlcmFkZCAtcCAnJyB0ZXN0ZXI7IFwKLSNncm91cGFkZCBkZXZlbG9wZXJzOyBcCi0jdXNlcmRlbCBub2JvZHk7IFwKLSNncm91cGRlbCB2aWRlbzsgXAotI2dyb3VwbW9kIC1nIDEwMjAgZGV2ZWxvcGVyczsgXAotI3VzZXJtb2QgLXMgL2Jpbi9zaCB0ZXN0ZXI7IFwKKyMgICAgdXNlcmFkZCAtcCAnJyB0ZXN0ZXI7IFwKKyMgICAgZ3JvdXBhZGQgZGV2ZWxvcGVyczsgXAorIyAgICB1c2VyZGVsIG5vYm9keTsgXAorIyAgICBncm91cGRlbCB2aWRlbzsgXAorIyAgICBncm91cG1vZCAtZyAxMDIwIGRldmVsb3BlcnM7IFwKKyMgICAgdXNlcm1vZCAtcyAvYmluL3NoIHRlc3RlcjsgXAogIyIKIAogIyBWYXJpb3VzIHBhY2thZ2VzIGR5bmFtaWNhbGx5IGFkZCB1c2VycyBhbmQgZ3JvdXBzIHRvIHRoZSBzeXN0ZW0gYXQgcGFja2FnZQpAQCAtMzk1LDUgKzM5NSw2IEBACiAjCiAjRElTVFJPX0ZFQVRVUkVTX2FwcGVuZCA9ICIgc3lzdGVtZCIKICNESVNUUk9fRkVBVFVSRVNfQkFDS0ZJTExfQ09OU0lERVJFRCArPSAic3lzdmluaXQiCisjVklSVFVBTC1SVU5USU1FX2xvZ2luX21hbmFnZXIgPSAic2hhZG93LWJhc2UiCiAjVklSVFVBTC1SVU5USU1FX2luaXRfbWFuYWdlciA9ICJzeXN0ZW1kIgogI1ZJUlRVQUwtUlVOVElNRV9pbml0c2NyaXB0cyA9ICJzeXN0ZW1kLWNvbXBhdC11bml0cyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS1wb2t5L2NvbmYvc2l0ZS5jb25mLnNhbXBsZSBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvc2l0ZS5jb25mLnNhbXBsZQppbmRleCBhNGMyZjlmLi41MTY0ZmVkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEtcG9reS9jb25mL3NpdGUuY29uZi5zYW1wbGUKKysrIGIvcG9reS9tZXRhLXBva3kvY29uZi9zaXRlLmNvbmYuc2FtcGxlCkBAIC0yNiw3ICsyNiw3IEBACiAjIElmIHlvdSB3aXNoIHRvIHVzZSBjZXJ0YWluIGhvc3RzIHdpdGhvdXQgdGhlIHByb3h5LCBzcGVjaWZ5IHRoZW0gaW4gTk9fUFJPWFkuCiAjIFNlZSB0aGUgc2NyaXB0IGZvciBkZXRhaWxzIG9uIHN5bnRheC4gVGhlIHNjcmlwdCBvZS1naXQtcHJveHkgdXNlcyBzb21lIHRvb2xzCiAjIHRoYXQgbWF5IG5vdCBiZSBpbmNsdWRlZCBvbiBIT1NUVE9PTFMsIHRodXMgIGFkZCB0aGVtIG1hbnVhbGx5IHRocm91Z2gKLSMgSE9TVFRPT0xTICs9ICJnZXRlbnQgc2VxIgorIyBIT1NUVE9PTFMgKz0gImdldGVudCIKIAogIyBVbmNvbW1lbnQgdGhpcyB0byB1c2UgYSBzaGFyZWQgZG93bmxvYWQgZGlyZWN0b3J5CiAjRExfRElSID0gIi9zb21lL3NoYXJlZC9kb3dubG9hZC9kaXJlY3RvcnkvIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNlbGZ0ZXN0L2NvbmYvbGF5ZXIuY29uZiBiL3Bva3kvbWV0YS1zZWxmdGVzdC9jb25mL2xheWVyLmNvbmYKaW5kZXggMDYyNmIyYS4uMDgwMzUwYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhLXNlbGZ0ZXN0L2NvbmYvbGF5ZXIuY29uZgorKysgYi9wb2t5L21ldGEtc2VsZnRlc3QvY29uZi9sYXllci5jb25mCkBAIC05LDQgKzksNCBAQAogQkJGSUxFX1BBVFRFUk5fc2VsZnRlc3QgPSAiXiR7TEFZRVJESVJ9LyIKIEJCRklMRV9QUklPUklUWV9zZWxmdGVzdCA9ICI1IgogCi1MQVlFUlNFUklFU19DT01QQVRfc2VsZnRlc3QgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9zZWxmdGVzdCA9ICJ3YXJyaW9yIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNlbGZ0ZXN0L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvdmlyZ2wucHkgYi9wb2t5L21ldGEtc2VsZnRlc3QvbGliL29lcWEvcnVudGltZS9jYXNlcy92aXJnbC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzAxYTE5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhLXNlbGZ0ZXN0L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvdmlyZ2wucHkKQEAgLTAsMCArMSwyMyBAQAorZnJvbSBvZXFhLnJ1bnRpbWUuY2FzZSBpbXBvcnQgT0VSdW50aW1lVGVzdENhc2UKK2Zyb20gb2VxYS5jb3JlLmRlY29yYXRvci5kZXBlbmRzIGltcG9ydCBPRVRlc3REZXBlbmRzCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IG9lLmxzYgorCitjbGFzcyBWaXJnbFRlc3QoT0VSdW50aW1lVGVzdENhc2UpOgorCisgICAgQE9FVGVzdERlcGVuZHMoWydzc2guU1NIVGVzdC50ZXN0X3NzaCddKQorICAgIGRlZiB0ZXN0X2tlcm5lbF9kcml2ZXIoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdkbWVzZ3xncmVwIHZpcmdsJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsICJDaGVja2luZyBmb3IgdmlyZ2wgZHJpdmVyIGluIGRtZXNnIHJldHVybmVkIG5vbi16ZXJvOiAlZFxuJXMiICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigidmlyZ2wgM2QgYWNjZWxlcmF0aW9uIGVuYWJsZWQiLCBvdXRwdXQsICJ2aXJnbCBhY2NlbGVyYXRpb24gc2VlbXMgdG8gYmUgZGlzYWJsZWQ6XG4lcyIgJShvdXRwdXQpKQorCisgICAgQE9FVGVzdERlcGVuZHMoWyd2aXJnbC5WaXJnbFRlc3QudGVzdF9rZXJuZWxfZHJpdmVyJ10pCisgICAgZGVmIHRlc3Rfa21zY3ViZShzZWxmKToKKworICAgICAgICBkaXN0cm8gPSBvZS5sc2IuZGlzdHJvX2lkZW50aWZpZXIoKQorICAgICAgICBpZiBkaXN0cm8gYW5kIGRpc3RybyA9PSAnY2VudG9zLTcnOgorICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgna21zY3ViZSBpcyBub3Qgd29ya2luZyB3aGVuIGNlbnRvcyA3IGlzIHRoZSBob3N0IE9TJykKKworICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bigna21zY3ViZScsIHRpbWVvdXQ9MzApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCAia21zY3ViZSBleGl0ZWQgd2l0aCBub24temVybyBzdGF0dXMgJWQgYW5kIG91dHB1dDpcbiVzIiAlKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigncmVuZGVyZXI6ICJ2aXJnbCInLCBvdXRwdXQsICJrbXNjdWJlIGRvZXMgbm90IHNlZW0gdG8gdXNlIHZpcmdsOlxuJXMiICUob3V0cHV0KSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYXN5bmMtdGVzdC5pbmMgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWFzeW5jLXRlc3QuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NjAyZTgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWFzeW5jLXRlc3QuaW5jCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIGZyYW1ld29yayB0byBwcm9jZXNzIGludGVyZGVwZW5kZW50IHRhc2tzIGluIGEgcG9vbCBvZiB3b3JrZXJzIgorSE9NRVBBR0UgPSAiaHR0cDovL2dpdGh1Yi5jb20vZ2l0cHl0aG9uLWRldmVsb3BlcnMvYXN5bmMiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87YmVnaW5saW5lPTg7ZW5kbGluZT04O21kNT04OGRmOGU3OGI5ZWRmZDc0NDk1Mzg2MjE3OWYyZDE0ZSIKKworaW5oZXJpdCBweXBpCisKK1BZUElfUEFDS0FHRSA9ICJhc3luYyIKKworU1JDX1VSSVttZDVzdW1dID0gIjliMDZiNTk5N2RlMjE1NGYzYmMwMjczZjgwYmNlZjZiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFjNjg5NGQ4NzZlNDU4NzhmYWFlNDkzYjBjZjYxZDBlMjhlYzQxNzMzNDQ0OGFjMGE2ZWEyMjI5ZDgzNDMwNTEiCisKK1JERVBFTkRTXyR7UE59ICs9ICIke1BZVEhPTl9QTn0tdGhyZWFkaW5nIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWFzeW5jLXRlc3RfMC42LjIuYmIgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1hc3luYy10ZXN0XzAuNi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyZTI0MWEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1hc3luYy10ZXN0XzAuNi4yLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tYXN5bmMtdGVzdC5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvZGV2dG9vbC9kZXZ0b29sLXRlc3QtbG9jYWxfNi4wMy5iYiBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvZGV2dG9vbC9kZXZ0b29sLXRlc3QtbG9jYWxfNi4wMy5iYgppbmRleCBiMzc3Y2I3Li42YmZjNTU3IDEwMDY0NAotLS0gYS9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L2RldnRvb2wvZGV2dG9vbC10ZXN0LWxvY2FsXzYuMDMuYmIKKysrIGIvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9kZXZ0b29sL2RldnRvb2wtdGVzdC1sb2NhbF82LjAzLmJiCkBAIC05LDcgKzksNiBAQAogCiBTUkNfVVJJW21kNXN1bV0gPSAiOTJhMjUzZGY5MjExZTljMjAxNzI3OTZlY2YzODhmMTMiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjZkMzk4NmQyYmVhMTA5ZDVkYzBlNGY4YzQ4MjJhNDU5Mjc2Y2YwMjExMjVlOGM5ZjIzYzNjY2E1ZDhjODUwZSIKLVVQU1RSRUFNX1ZFUlNJT05fVU5LTk9XTiA9ICIxIgogCiBTID0gIiR7V09SS0RJUn0vc3lzbGludXgtJHtQVn0iCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvbXVsdGljb25maWcvbXVsdGljb25maWctaW1hZ2UtcGFja2FnZXJfMC4xLmJiIGIvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9tdWx0aWNvbmZpZy9tdWx0aWNvbmZpZy1pbWFnZS1wYWNrYWdlcl8wLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2RiYzBmNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvbXVsdGljb25maWcvbXVsdGljb25maWctaW1hZ2UtcGFja2FnZXJfMC4xLmJiCkBAIC0wLDAgKzEsMjggQEAKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9DT1BZSU5HLk1JVDttZDU9M2RhOWNmYmNiNzg4YzgwYTAzODQzNjFiNGRlMjA0MjAiCisKK01DTUFDSElORV92aXJ0Y2xhc3MtbWNleHRlbmQtbXVzbCA9ICJxZW11eDg2LTY0IgorTUNNQUNISU5FX3ZpcnRjbGFzcy1tY2V4dGVuZC10aW55ID0gInFlbXV4ODYiCitNQ0lNR1RZUEVfdmlydGNsYXNzLW1jZXh0ZW5kLW11c2wgPSAiZXh0NCIKK01DSU1HVFlQRV92aXJ0Y2xhc3MtbWNleHRlbmQtdGlueSA9ICJjcGlvLmd6IgorCitNQ19ERVBMT1lfRElSX0lNQUdFID0gIiR7VE9QRElSfS90bXAtbWMtJHtNQ05BTUV9L2RlcGxveS9pbWFnZXMvJHtNQ01BQ0hJTkV9IgorCitkb19pbnN0YWxsW21jZGVwZW5kc10gKz0gIm11bHRpY29uZmlnOjoke01DTkFNRX06Y29yZS1pbWFnZS1taW5pbWFsOmRvX2ltYWdlX2NvbXBsZXRlIG11bHRpY29uZmlnOjoke01DTkFNRX06dmlydHVhbC9rZXJuZWw6ZG9fZGVwbG95IgorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vdmFyL2xpYi9tYWNoaW5lcy8ke01DTkFNRX0KKyAgICBpbnN0YWxsICR7TUNfREVQTE9ZX0RJUl9JTUFHRX0vY29yZS1pbWFnZS1taW5pbWFsLSR7TUNNQUNISU5FfS4ke01DSU1HVFlQRX0gJHtEfS92YXIvbGliL21hY2hpbmVzLyR7TUNOQU1FfS9jb3JlLWltYWdlLW1pbmltYWwuJHtNQ0lNR1RZUEV9CisgICAgaW5zdGFsbCAke01DX0RFUExPWV9ESVJfSU1BR0V9L2J6SW1hZ2UgJHtEfS92YXIvbGliL21hY2hpbmVzLyR7TUNOQU1FfQorfQorCitweXRob24gKCkgeworICAgIG1jbmFtZSA9IGQuZ2V0VmFyKCdNQ05BTUUnKQorICAgIGlmIG5vdCBtY25hbWU6CisgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoIk5vdCBhIG11bHRpY29uZmlnIHRhcmdldCIpCisgICAgbXVsdGljb25maWdzID0gZC5nZXRWYXIoJ0JCTVVMVElDT05GSUcnKSBvciAiIgorICAgIGlmIG1jbmFtZSBub3QgaW4gbXVsdGljb25maWdzOgorICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCJtdWx0aWNvbmZpZyB0YXJnZXQgJXMgbm90IGVuYWJsZWQiICUgbWNuYW1lKQorfQorCitCQkNMQVNTRVhURU5EID0gIm1jZXh0ZW5kOnRpbnkgbWNleHRlbmQ6bXVzbCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdC5pbmMgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L3JlY2lwZXV0aWxzL3JlY2lwZXV0aWxzLXRlc3QuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0OTBiOTAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L3JlY2lwZXV0aWxzL3JlY2lwZXV0aWxzLXRlc3QuaW5jCkBAIC0wLDAgKzEsNSBAQAorU1JDX1VSSSA9ICJodHRwOi8veG9yZy5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvaW5kaXZpZHVhbC9saWIvbGlieHNobWZlbmNlLSR7UFZ9LnRhci5iejIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NjY2MmU3Njg5OTExMmMwZjk5ZTIyZjJmYzc3NWE3ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMjFiMmQxZmQ3OGMxZWZiZTFmMmMxNmRhZTFjYjIzZjhmZDIzMWRjZjg5MTQ2NWI4ZGViZTYzNmE5MDU0YjBjIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L3JlY2lwZXV0aWxzL3JlY2lwZXV0aWxzLXRlc3QvYW5vdGhlcmZpbGUgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L3JlY2lwZXV0aWxzL3JlY2lwZXV0aWxzLXRlc3QvYW5vdGhlcmZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdC9hbm90aGVyZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9yZWNpcGV1dGlscy9yZWNpcGV1dGlscy10ZXN0L3NvbWVmaWxlIGIvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9yZWNpcGV1dGlscy9yZWNpcGV1dGlscy10ZXN0L3NvbWVmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L3JlY2lwZXV0aWxzL3JlY2lwZXV0aWxzLXRlc3Qvc29tZWZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdF8xLjIuYmIgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L3JlY2lwZXV0aWxzL3JlY2lwZXV0aWxzLXRlc3RfMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjMjBkOWEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L3JlY2lwZXV0aWxzL3JlY2lwZXV0aWxzLXRlc3RfMS4yLmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiVGVzdCByZWNpcGUgZm9yIHJlY2lwZXV0aWxzLnBhdGNoX3JlY2lwZSgpIgorCityZXF1aXJlIHJlY2lwZXV0aWxzLXRlc3QuaW5jCisKK0xJQ0VOU0UgPSAiUHJvcHJpZXRhcnkiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L3NvbWVmaWxlO21kNT1kNDFkOGNkOThmMDBiMjA0ZTk4MDA5OThlY2Y4NDI3ZSIKK0RFUEVORFMgKz0gInZpcnR1YWwvbGlieDExIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9zb21lZmlsZSIKKworU1JDX1VSSV9hcHBlbmQgPSAiIGZpbGU6Ly9hbm90aGVyZmlsZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS1za2VsZXRvbi9jb25mL2xheWVyLmNvbmYgYi9wb2t5L21ldGEtc2tlbGV0b24vY29uZi9sYXllci5jb25mCmluZGV4IDEzYmRhN2IuLjdkNGZmYjQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS1za2VsZXRvbi9jb25mL2xheWVyLmNvbmYKKysrIGIvcG9reS9tZXRhLXNrZWxldG9uL2NvbmYvbGF5ZXIuY29uZgpAQCAtMTQsNCArMTQsNCBAQAogCiBMQVlFUkRFUEVORFNfc2tlbGV0b24gPSAiY29yZSIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX3NrZWxldG9uID0gInRodWQiCitMQVlFUlNFUklFU19DT01QQVRfc2tlbGV0b24gPSAid2FycmlvciIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9sYXllci5jb25mIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmYKaW5kZXggNTNlODcyMi4uM2M4Zjc3NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmYKKysrIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmYKQEAgLTksNCArOSw0IEBACiBCQkZJTEVfUEFUVEVSTl95b2N0b2JzcCA9ICJeJHtMQVlFUkRJUn0vIgogQkJGSUxFX1BSSU9SSVRZX3lvY3RvYnNwID0gIjUiCiBMQVlFUlZFUlNJT05feW9jdG9ic3AgPSAiNCIKLUxBWUVSU0VSSUVTX0NPTVBBVF95b2N0b2JzcCA9ICJ0aHVkIgorTEFZRVJTRVJJRVNfQ09NUEFUX3lvY3RvYnNwID0gIndhcnJpb3IiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9iZWFnbGVib25lLXlvY3RvLmNvbmYgYi9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9iZWFnbGVib25lLXlvY3RvLmNvbmYKaW5kZXggZTkxMWU3NS4uNzBkM2NmZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvYmVhZ2xlYm9uZS15b2N0by5jb25mCisrKyBiL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2JlYWdsZWJvbmUteW9jdG8uY29uZgpAQCAtMjAsMTAgKzIwLDExIEBACiBJTUFHRV9JTlNUQUxMX2FwcGVuZCA9ICIga2VybmVsLWRldmljZXRyZWUga2VybmVsLWltYWdlLXppbWFnZSIKIGRvX2ltYWdlX3dpY1tkZXBlbmRzXSArPSAibXRvb2xzLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IGRvc2ZzdG9vbHMtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiCiAKLVNFUklBTF9DT05TT0xFUyA9ICIxMTUyMDA7dHR5TzAiCitTRVJJQUxfQ09OU09MRVMgPz0gIjExNTIwMDt0dHlTMCAxMTUyMDA7dHR5TzAiCitTRVJJQUxfQ09OU09MRVNfQ0hFQ0sgPSAiJHtTRVJJQUxfQ09OU09MRVN9IgogCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwgPz0gImxpbnV4LXlvY3RvIgotUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG8gPz0gIjQuMTglIgorUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG8gPz0gIjUuMCUiCiAKIEtFUk5FTF9JTUFHRVRZUEUgPSAiekltYWdlIgogS0VSTkVMX0RFVklDRVRSRUUgPSAiYW0zMzV4LWJvbmUuZHRiIGFtMzM1eC1ib25lYmxhY2suZHRiIGFtMzM1eC1ib25lZ3JlZW4uZHRiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvZWRnZXJvdXRlci5jb25mIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvZWRnZXJvdXRlci5jb25mCmluZGV4IGI3YTk0ZTkuLjg4NTkyZGIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2VkZ2Vyb3V0ZXIuY29uZgorKysgYi9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9lZGdlcm91dGVyLmNvbmYKQEAgLTEsNiArMSw2IEBACiAjQFRZUEU6IE1hY2hpbmUKICNATkFNRTogRWRnZXJvdXRlcgotI0BERVNDUklQVElPTjogRWRnZXJvdXRlcgorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBhIGdlbmVyaWMgZWRnZXJvdXRlcgogCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtbWlwczY0LmluYwogCkBAIC0xMSw3ICsxMSw3IEBACiBLRVJORUxfSU1BR0VfU1RSSVBfRVhUUkFfU0VDVElPTlMgID0gIi5jb21tZW50IgogCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwgPz0gImxpbnV4LXlvY3RvIgotUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG8gPz0gIjQuMTglIgorUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG8gPz0gIjUuMCUiCiAKIFNFUklBTF9DT05TT0xFUyA9ICIxMTUyMDA7dHR5UzAiCiBVU0VfVlQgPz0gIjAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9nZW5lcmljeDg2LTY0LmNvbmYgYi9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9nZW5lcmljeDg2LTY0LmNvbmYKaW5kZXggMTJmN2MwZC4uYzQ4OTQ2MiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvZ2VuZXJpY3g4Ni02NC5jb25mCisrKyBiL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2dlbmVyaWN4ODYtNjQuY29uZgpAQCAtMSw3ICsxLDYgQEAKICNAVFlQRTogTWFjaGluZQotI0BOQU1FOiBHZW5lcmljIFg4Nl82NC4KLQotI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBnZW5lcmljIFg4Nl82NCAoNjQtYml0KSBQQ3MgYW5kIHNlcnZlcnMuIFN1cHBvcnRzIGEgbW9kZXJhdGVseSB3aWRlIHJhbmdlIG9mIGRyaXZlcnMgdGhhdCBzaG91bGQgYm9vdCBhbmQgYmUgdXNhYmxlIG9uICJ0eXBpY2FsIiBoYXJkd2FyZS4KKyNATkFNRTogR2VuZXJpYyB4ODZfNjQKKyNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgZ2VuZXJpYyB4ODZfNjQgKDY0LWJpdCkgUENzIGFuZCBzZXJ2ZXJzLiBTdXBwb3J0cyBhIG1vZGVyYXRlbHkgd2lkZSByYW5nZSBvZiBkcml2ZXJzIHRoYXQgc2hvdWxkIGJvb3QgYW5kIGJlIHVzYWJsZSBvbiAidHlwaWNhbCIgaGFyZHdhcmUuCiAKIERFRkFVTFRUVU5FID89ICJjb3JlMi02NCIKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3JlMi5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2dlbmVyaWN4ODYuY29uZiBiL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2dlbmVyaWN4ODYuY29uZgppbmRleCA3OThiNjJlLi45OTI5ZDI3IDEwMDY0NAotLS0gYS9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9nZW5lcmljeDg2LmNvbmYKKysrIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvZ2VuZXJpY3g4Ni5jb25mCkBAIC0xLDcgKzEsNiBAQAogI0BUWVBFOiBNYWNoaW5lCi0jQE5BTUU6IEdlbmVyaWMgWDg2LgotCi0jQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIGdlbmVyaWMgWDg2ICgzMi1iaXQpIFBDcy4gU3VwcG9ydHMgYSBtb2RlcmF0ZWx5IHdpZGUgcmFuZ2Ugb2YgZHJpdmVycyB0aGF0IHNob3VsZCBib290IGFuZCBiZSB1c2FibGUgb24gInR5cGljYWwiIGhhcmR3YXJlLgorI0BOQU1FOiBHZW5lcmljIHg4NgorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBnZW5lcmljIHg4NiAoMzItYml0KSBQQ3MuIFN1cHBvcnRzIGEgbW9kZXJhdGVseSB3aWRlIHJhbmdlIG9mIGRyaXZlcnMgdGhhdCBzaG91bGQgYm9vdCBhbmQgYmUgdXNhYmxlIG9uICJ0eXBpY2FsIiBoYXJkd2FyZS4KIAogREVGQVVMVFRVTkUgPz0gImNvcmUyLTMyIgogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcmUyLmluYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvbXBjODMxNWUtcmRiLmNvbmYgYi9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9tcGM4MzE1ZS1yZGIuY29uZgppbmRleCA2ZjViOTg1Li5lMmRjZTU2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9tcGM4MzE1ZS1yZGIuY29uZgorKysgYi9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9tcGM4MzE1ZS1yZGIuY29uZgpAQCAtMSw1ICsxLDYgQEAKICNAVFlQRTogTWFjaGluZQotI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBydW5uaW5nCisjQE5BTUU6IEZyZWVzY2FsZSBNUEM4MzE1RS1SREIKKyNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgRnJlZXNjYWxlIE1QQzgzMTVFLVJEQgogCiBUQVJHRVRfRlBVID0gIiIKIApAQCAtMTQsNyArMTUsNyBAQAogCiBNQUNISU5FX0ZFQVRVUkVTID0gImtleWJvYXJkIHBjaSBleHQyIGV4dDMgc2VyaWFsIgogCi1QUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/PSAiNC4xOCUiCitQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/PSAiNS4wJSIKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCA/PSAibGludXgteW9jdG8iCiAKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3hzZXJ2ZXIgPz0gInhzZXJ2ZXIteG9yZyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZy9iZWFnbGVib25lLXlvY3RvL3hvcmcuY29uZiBiL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZy9iZWFnbGVib25lLXlvY3RvL3hvcmcuY29uZgppbmRleCAyZjQwZGFlLi41ZGExNTg4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteGY4Ni1jb25maWcvYmVhZ2xlYm9uZS15b2N0by94b3JnLmNvbmYKKysrIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhmODYtY29uZmlnL2JlYWdsZWJvbmUteW9jdG8veG9yZy5jb25mCkBAIC01LDYgKzUsNyBAQAogU2VjdGlvbiAiRGV2aWNlIgogICAgICAgICBJZGVudGlmaWVyICAgICAgIkJ1aWx0aW4gRGVmYXVsdCBmYmRldiBEZXZpY2UgMCIKICAgICAgICAgRHJpdmVyICAibW9kZXNldHRpbmciCisgICAgICAgIE9wdGlvbiAgIkFjY2VsTWV0aG9kIiAibm9uZSIKIEVuZFNlY3Rpb24KIAogU2VjdGlvbiAiU2NyZWVuIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE0LmJiYXBwZW5kIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE0LmJiYXBwZW5kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MDI0ODVhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xNC5iYmFwcGVuZAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLUtCUkFOQ0hfZ2VuZXJpY3g4NiAgPSAidjQuMTQvc3RhbmRhcmQvYmFzZSIKLUtCUkFOQ0hfZ2VuZXJpY3g4Ni02NCAgPSAidjQuMTQvc3RhbmRhcmQvYmFzZSIKLUtCUkFOQ0hfZWRnZXJvdXRlciA9ICJ2NC4xNC9zdGFuZGFyZC9lZGdlcm91dGVyIgotS0JSQU5DSF9iZWFnbGVib25lLXlvY3RvID0gInY0LjE0L3N0YW5kYXJkL2JlYWdsZWJvbmUiCi1LQlJBTkNIX21wYzgzMTVlLXJkYiA9ICJ2NC4xNC9zdGFuZGFyZC9mc2wtbXBjODMxNWUtcmRiIgotCi1LTUFDSElORV9nZW5lcmljeDg2ID89ICJjb21tb24tcGMiCi1LTUFDSElORV9nZW5lcmljeDg2LTY0ID89ICJjb21tb24tcGMtNjQiCi1LTUFDSElORV9iZWFnbGVib25lLXlvY3RvID89ICJiZWFnbGVib25lIgotCi1TUkNSRVZfbWFjaGluZV9nZW5lcmljeDg2ICAgID89ICIyYzVjYWE3ZTg0MzExZjJhMDA5Nzk3NGE2OTdhYzFmNTkwMzA1MzBlIgotU1JDUkVWX21hY2hpbmVfZ2VuZXJpY3g4Ni02NCA/PSAiMmM1Y2FhN2U4NDMxMWYyYTAwOTc5NzRhNjk3YWMxZjU5MDMwNTMwZSIKLVNSQ1JFVl9tYWNoaW5lX2VkZ2Vyb3V0ZXIgPz0gImUwNmJmYTE4YzcyN2JkMGU2ZTEwY2YyNmQ5ZjE2MWU0Yzc5MWY1MmIiCi1TUkNSRVZfbWFjaGluZV9iZWFnbGVib25lLXlvY3RvID89ICJiODgwNWRlNzdkY2Y4ZjU5ZDgzNjhmZWU0OTIxYzE0NmMxMzAwYTZhIgotU1JDUkVWX21hY2hpbmVfbXBjODMxNWUtcmRiID89ICJmODhlODczNjBiMTBmOGZiZDg1M2E3ZDQxMjk4MmU2NjIwZjNmOTZkIgotCi1DT01QQVRJQkxFX01BQ0hJTkVfZ2VuZXJpY3g4NiA9ICJnZW5lcmljeDg2IgotQ09NUEFUSUJMRV9NQUNISU5FX2dlbmVyaWN4ODYtNjQgPSAiZ2VuZXJpY3g4Ni02NCIKLUNPTVBBVElCTEVfTUFDSElORV9lZGdlcm91dGVyID0gImVkZ2Vyb3V0ZXIiCi1DT01QQVRJQkxFX01BQ0hJTkVfYmVhZ2xlYm9uZS15b2N0byA9ICJiZWFnbGVib25lLXlvY3RvIgotQ09NUEFUSUJMRV9NQUNISU5FX21wYzgzMTVlLXJkYiA9ICJtcGM4MzE1ZS1yZGIiCi0KLUxJTlVYX1ZFUlNJT05fZ2VuZXJpY3g4NiA9ICI0LjE0Ljc2IgotTElOVVhfVkVSU0lPTl9nZW5lcmljeDg2LTY0ID0gIjQuMTQuNzYiCi1MSU5VWF9WRVJTSU9OX2VkZ2Vyb3V0ZXIgPSAiNC4xNC43MSIKLUxJTlVYX1ZFUlNJT05fYmVhZ2xlYm9uZS15b2N0byA9ICI0LjE0LjcxIgotTElOVVhfVkVSU0lPTl9tcGM4MzE1ZS1yZGIgPSAiNC4xNC43MSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xOC5iYmFwcGVuZCBiL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xOC5iYmFwcGVuZAppbmRleCA3ZjE1ODQzLi5lNTNiYjUxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuMTguYmJhcHBlbmQKKysrIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE4LmJiYXBwZW5kCkBAIC04LDggKzgsOCBAQAogS01BQ0hJTkVfZ2VuZXJpY3g4Ni02NCA/PSAiY29tbW9uLXBjLTY0IgogS01BQ0hJTkVfYmVhZ2xlYm9uZS15b2N0byA/PSAiYmVhZ2xlYm9uZSIKIAotU1JDUkVWX21hY2hpbmVfZ2VuZXJpY3g4NiAgICA/PSAiZGIyZDgxMzg2OWEwNTAxNzgyNDY5ZWNkYjE3ZTI3N2E1MDFjOWY1NyIKLVNSQ1JFVl9tYWNoaW5lX2dlbmVyaWN4ODYtNjQgPz0gImRiMmQ4MTM4NjlhMDUwMTc4MjQ2OWVjZGIxN2UyNzdhNTAxYzlmNTciCitTUkNSRVZfbWFjaGluZV9nZW5lcmljeDg2ICAgID89ICI2MmYwYTNhY2ZmZmZkNTU1ZjY4ZWQ5N2Q1ZTRmYWFkZTJiMjhmM2MwIgorU1JDUkVWX21hY2hpbmVfZ2VuZXJpY3g4Ni02NCA/PSAiNjJmMGEzYWNmZmZmZDU1NWY2OGVkOTdkNWU0ZmFhZGUyYjI4ZjNjMCIKIFNSQ1JFVl9tYWNoaW5lX2VkZ2Vyb3V0ZXIgPz0gIjI4ZTc3ODFkNTdhNTkyMjdiZjFjMDhjN2YzZGJkZmVlMTZhYTBkYzIiCiBTUkNSRVZfbWFjaGluZV9iZWFnbGVib25lLXlvY3RvID89ICIyOGU3NzgxZDU3YTU5MjI3YmYxYzA4YzdmM2RiZGZlZTE2YWEwZGMyIgogU1JDUkVWX21hY2hpbmVfbXBjODMxNWUtcmRiID89ICI5OTA3MWE1OTlkODY1MGIwNjlmYjgxMzU4NjZmY2EyMDNmMzc1MzUwIgpAQCAtMjAsOCArMjAsOCBAQAogQ09NUEFUSUJMRV9NQUNISU5FX2JlYWdsZWJvbmUteW9jdG8gPSAiYmVhZ2xlYm9uZS15b2N0byIKIENPTVBBVElCTEVfTUFDSElORV9tcGM4MzE1ZS1yZGIgPSAibXBjODMxNWUtcmRiIgogCi1MSU5VWF9WRVJTSU9OX2dlbmVyaWN4ODYgPSAiNC4xOC4yMiIKLUxJTlVYX1ZFUlNJT05fZ2VuZXJpY3g4Ni02NCA9ICI0LjE4LjIyIgorTElOVVhfVkVSU0lPTl9nZW5lcmljeDg2ID0gIjQuMTguMjciCitMSU5VWF9WRVJTSU9OX2dlbmVyaWN4ODYtNjQgPSAiNC4xOC4yNyIKIExJTlVYX1ZFUlNJT05fZWRnZXJvdXRlciA9ICI0LjE4LjI1IgogTElOVVhfVkVSU0lPTl9iZWFnbGVib25lLXlvY3RvID0gIjQuMTguMjUiCiBMSU5VWF9WRVJTSU9OX21wYzgzMTVlLXJkYiA9ICI0LjE4LjI1IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE5LmJiYXBwZW5kIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE5LmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlNzA4Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuMTkuYmJhcHBlbmQKQEAgLTAsMCArMSwyNyBAQAorS0JSQU5DSF9nZW5lcmljeDg2ICA9ICJ2NC4xOS9zdGFuZGFyZC9iYXNlIgorS0JSQU5DSF9nZW5lcmljeDg2LTY0ICA9ICJ2NC4xOS9zdGFuZGFyZC9iYXNlIgorS0JSQU5DSF9lZGdlcm91dGVyID0gInY0LjE5L3N0YW5kYXJkL2VkZ2Vyb3V0ZXIiCitLQlJBTkNIX2JlYWdsZWJvbmUteW9jdG8gPSAidjQuMTkvc3RhbmRhcmQvYmVhZ2xlYm9uZSIKK0tCUkFOQ0hfbXBjODMxNWUtcmRiID0gInY0LjE5L3N0YW5kYXJkL2ZzbC1tcGM4MzE1ZS1yZGIiCisKK0tNQUNISU5FX2dlbmVyaWN4ODYgPz0gImNvbW1vbi1wYyIKK0tNQUNISU5FX2dlbmVyaWN4ODYtNjQgPz0gImNvbW1vbi1wYy02NCIKK0tNQUNISU5FX2JlYWdsZWJvbmUteW9jdG8gPz0gImJlYWdsZWJvbmUiCisKK1NSQ1JFVl9tYWNoaW5lX2dlbmVyaWN4ODYgICAgPz0gImVlYmI1MTMwMGEwNzgwNGEwMjBlYzQ2OGI1ZjhjNWJmNzIwMTk4ZDkiCitTUkNSRVZfbWFjaGluZV9nZW5lcmljeDg2LTY0ID89ICJlZWJiNTEzMDBhMDc4MDRhMDIwZWM0NjhiNWY4YzViZjcyMDE5OGQ5IgorU1JDUkVWX21hY2hpbmVfZWRnZXJvdXRlciA/PSAiZWViYjUxMzAwYTA3ODA0YTAyMGVjNDY4YjVmOGM1YmY3MjAxOThkOSIKK1NSQ1JFVl9tYWNoaW5lX2JlYWdsZWJvbmUteW9jdG8gPz0gImVlYmI1MTMwMGEwNzgwNGEwMjBlYzQ2OGI1ZjhjNWJmNzIwMTk4ZDkiCitTUkNSRVZfbWFjaGluZV9tcGM4MzE1ZS1yZGIgPz0gIjhiNjBmOTY4ODIzMjU2ZjVkMjg4OWM0NTIwZDcwMjk5Y2EyMTQxMWIiCisKK0NPTVBBVElCTEVfTUFDSElORV9nZW5lcmljeDg2ID0gImdlbmVyaWN4ODYiCitDT01QQVRJQkxFX01BQ0hJTkVfZ2VuZXJpY3g4Ni02NCA9ICJnZW5lcmljeDg2LTY0IgorQ09NUEFUSUJMRV9NQUNISU5FX2VkZ2Vyb3V0ZXIgPSAiZWRnZXJvdXRlciIKK0NPTVBBVElCTEVfTUFDSElORV9iZWFnbGVib25lLXlvY3RvID0gImJlYWdsZWJvbmUteW9jdG8iCitDT01QQVRJQkxFX01BQ0hJTkVfbXBjODMxNWUtcmRiID0gIm1wYzgzMTVlLXJkYiIKKworTElOVVhfVkVSU0lPTl9nZW5lcmljeDg2ID0gIjQuMTkuMTQiCitMSU5VWF9WRVJTSU9OX2dlbmVyaWN4ODYtNjQgPSAiNC4xOS4xNCIKK0xJTlVYX1ZFUlNJT05fZWRnZXJvdXRlciA9ICI0LjE5LjE0IgorTElOVVhfVkVSU0lPTl9iZWFnbGVib25lLXlvY3RvID0gIjQuMTkuMTQiCitMSU5VWF9WRVJTSU9OX21wYzgzMTVlLXJkYiA9ICI0LjE5LjE0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b181LjAuYmJhcHBlbmQgYi9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzUuMC5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2Y2ZTFmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b181LjAuYmJhcHBlbmQKQEAgLTAsMCArMSwyNyBAQAorS0JSQU5DSF9nZW5lcmljeDg2ICA9ICJ2NS4wL3N0YW5kYXJkL2Jhc2UiCitLQlJBTkNIX2dlbmVyaWN4ODYtNjQgID0gInY1LjAvc3RhbmRhcmQvYmFzZSIKK0tCUkFOQ0hfZWRnZXJvdXRlciA9ICJ2NS4wL3N0YW5kYXJkL2VkZ2Vyb3V0ZXIiCitLQlJBTkNIX2JlYWdsZWJvbmUteW9jdG8gPSAidjUuMC9zdGFuZGFyZC9iZWFnbGVib25lIgorS0JSQU5DSF9tcGM4MzE1ZS1yZGIgPSAidjUuMC9zdGFuZGFyZC9mc2wtbXBjODMxNWUtcmRiIgorCitLTUFDSElORV9nZW5lcmljeDg2ID89ICJjb21tb24tcGMiCitLTUFDSElORV9nZW5lcmljeDg2LTY0ID89ICJjb21tb24tcGMtNjQiCitLTUFDSElORV9iZWFnbGVib25lLXlvY3RvID89ICJiZWFnbGVib25lIgorCitTUkNSRVZfbWFjaGluZV9nZW5lcmljeDg2ICAgID89ICIzZGY0YWFlNjA3NGU5NGU3OTRlMjdmZTdmMTc0NTFkOTM1M2NkZjNkIgorU1JDUkVWX21hY2hpbmVfZ2VuZXJpY3g4Ni02NCA/PSAiM2RmNGFhZTYwNzRlOTRlNzk0ZTI3ZmU3ZjE3NDUxZDkzNTNjZGYzZCIKK1NSQ1JFVl9tYWNoaW5lX2VkZ2Vyb3V0ZXIgPz0gIjNkZjRhYWU2MDc0ZTk0ZTc5NGUyN2ZlN2YxNzQ1MWQ5MzUzY2RmM2QiCitTUkNSRVZfbWFjaGluZV9iZWFnbGVib25lLXlvY3RvID89ICIzZGY0YWFlNjA3NGU5NGU3OTRlMjdmZTdmMTc0NTFkOTM1M2NkZjNkIgorU1JDUkVWX21hY2hpbmVfbXBjODMxNWUtcmRiID89ICI4YjYyYWY3ZjI1MmFmMTA1ODgyNzY4MDJjNGM2ZDdjNTAyZTg3NWJlIgorCitDT01QQVRJQkxFX01BQ0hJTkVfZ2VuZXJpY3g4NiA9ICJnZW5lcmljeDg2IgorQ09NUEFUSUJMRV9NQUNISU5FX2dlbmVyaWN4ODYtNjQgPSAiZ2VuZXJpY3g4Ni02NCIKK0NPTVBBVElCTEVfTUFDSElORV9lZGdlcm91dGVyID0gImVkZ2Vyb3V0ZXIiCitDT01QQVRJQkxFX01BQ0hJTkVfYmVhZ2xlYm9uZS15b2N0byA9ICJiZWFnbGVib25lLXlvY3RvIgorQ09NUEFUSUJMRV9NQUNISU5FX21wYzgzMTVlLXJkYiA9ICJtcGM4MzE1ZS1yZGIiCisKK0xJTlVYX1ZFUlNJT05fZ2VuZXJpY3g4NiA9ICI1LjAuMyIKK0xJTlVYX1ZFUlNJT05fZ2VuZXJpY3g4Ni02NCA9ICI1LjAuMyIKK0xJTlVYX1ZFUlNJT05fZWRnZXJvdXRlciA9ICI1LjAuMyIKK0xJTlVYX1ZFUlNJT05fYmVhZ2xlYm9uZS15b2N0byA9ICI1LjAuMyIKK0xJTlVYX1ZFUlNJT05fbXBjODMxNWUtcmRiID0gIjUuMC4zIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXlvY3RvLWJzcC93aWMvYmVhZ2xlYm9uZS15b2N0by53a3MgYi9wb2t5L21ldGEteW9jdG8tYnNwL3dpYy9iZWFnbGVib25lLXlvY3RvLndrcwppbmRleCBiNzVmMjM4Li45N2JkNDgwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEteW9jdG8tYnNwL3dpYy9iZWFnbGVib25lLXlvY3RvLndrcworKysgYi9wb2t5L21ldGEteW9jdG8tYnNwL3dpYy9iZWFnbGVib25lLXlvY3RvLndrcwpAQCAtNCwzICs0LDQgQEAKIAogcGFydCAvYm9vdCAtLXNvdXJjZSBib290aW1nLXBhcnRpdGlvbiAtLW9uZGlzayBtbWNibGswIC0tZnN0eXBlPXZmYXQgLS1sYWJlbCBib290IC0tYWN0aXZlIC0tYWxpZ24gNCAtLXNpemUgMTYgLS1zb3VyY2VwYXJhbXM9ImxvYWRlcj11LWJvb3QiIC0tdXNlLXV1aWQKIHBhcnQgLyAtLXNvdXJjZSByb290ZnMgLS1vbmRpc2sgbW1jYmxrIC0tZnN0eXBlPWV4dDQgLS1sYWJlbCByb290IC0tYWxpZ24gNCAtLXVzZS11dWlkCitib290bG9hZGVyIC0tYXBwZW5kPSJjb25zb2xlPXR0eVMwLDExNTIwMCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2FyY2hpdmVyLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9hcmNoaXZlci5iYmNsYXNzCmluZGV4IGUzMjFhMGUuLmFmOWYwMTAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2FyY2hpdmVyLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvYXJjaGl2ZXIuYmJjbGFzcwpAQCAtMzcsOCArMzcsMTEgQEAKIERFUExPWV9ESVJfU1JDID89ICIke0RFUExPWV9ESVJ9L3NvdXJjZXMiCiBBUkNISVZFUl9UT1BESVIgPz0gIiR7V09SS0RJUn0vZGVwbG95LXNvdXJjZXMiCiBBUkNISVZFUl9PVVRESVIgPSAiJHtBUkNISVZFUl9UT1BESVJ9LyR7VEFSR0VUX1NZU30vJHtQRn0vIgorQVJDSElWRVJfUlBNVE9QRElSID89ICIke1dPUktESVJ9L2RlcGxveS1zb3VyY2VzLXJwbSIKK0FSQ0hJVkVSX1JQTU9VVERJUiA9ICIke0FSQ0hJVkVSX1JQTVRPUERJUn0vJHtUQVJHRVRfU1lTfS8ke1BGfS8iCiBBUkNISVZFUl9XT1JLRElSID0gIiR7V09SS0RJUn0vYXJjaGl2ZXItd29yay8iCiAKKwogZG9fZHVtcGRhdGFbZGlyc10gPSAiJHtBUkNISVZFUl9PVVRESVJ9IgogZG9fYXJfcmVjaXBlW2RpcnNdID0gIiR7QVJDSElWRVJfT1VURElSfSIKIGRvX2FyX29yaWdpbmFsW2RpcnNdID0gIiR7QVJDSElWRVJfT1VURElSfSAke0FSQ0hJVkVSX1dPUktESVJ9IgpAQCAtMTE3LDYgKzEyMCw5IEBACiAgICAgaWYgZC5nZXRWYXJGbGFnKCdBUkNISVZFUl9NT0RFJywgJ3NycG0nKSA9PSAiMSIgYW5kIGQuZ2V0VmFyKCdQQUNLQUdFUycpOgogICAgICAgICBpZiAicGFja2FnZV9ycG0iIGluIGQuZ2V0VmFyKCdQQUNLQUdFX0NMQVNTRVMnKToKICAgICAgICAgICAgIGQuYXBwZW5kVmFyRmxhZygnZG9fZGVwbG95X2FyY2hpdmVzJywgJ2RlcGVuZHMnLCAnICVzOmRvX3BhY2thZ2Vfd3JpdGVfcnBtJyAlIHBuKQorICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlX3dyaXRlX3JwbScsICdkaXJzJywgJyAke0FSQ0hJVkVSX1JQTVRPUERJUn0nKQorICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlX3dyaXRlX3JwbScsICdzc3RhdGUtaW5wdXRkaXJzJywgJyAke0FSQ0hJVkVSX1JQTVRPUERJUn0nKQorICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlX3dyaXRlX3JwbScsICdzc3RhdGUtb3V0cHV0ZGlycycsICcgJHtERVBMT1lfRElSX1NSQ30nKQogICAgICAgICAgICAgaWYgYXJfZHVtcGRhdGEgPT0gIjEiOgogICAgICAgICAgICAgICAgIGQuYXBwZW5kVmFyRmxhZygnZG9fcGFja2FnZV93cml0ZV9ycG0nLCAnZGVwZW5kcycsICcgJXM6ZG9fZHVtcGRhdGEnICUgcG4pCiAgICAgICAgICAgICBpZiBhcl9yZWNpcGUgPT0gIjEiOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzCmluZGV4IGJjOWIyMzYuLjE2MzZjNmUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3MKQEAgLTEyMiw2ICsxMjIsMTAgQEAKICAgICAgICAgZGVzdHRvb2wgPSBvcy5wYXRoLmpvaW4oZGVzdCwgdG9vbCkKICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGRlc3R0b29sKToKICAgICAgICAgICAgIHNyY3Rvb2wgPSBiYi51dGlscy53aGljaChwYXRoLCB0b29sLCBleGVjdXRhYmxlPVRydWUpCisgICAgICAgICAgICAjIGdjYy9nKysgbWF5IGxpbmsgdG8gY2NhY2hlIG9uIHNvbWUgaG9zdHMsIGUuZy4sCisgICAgICAgICAgICAjIC91c3IvbG9jYWwvYmluL2NjYWNoZS9nY2MgLT4gL3Vzci9iaW4vY2NhY2hlLCB0aGVuIHdoaWNoKGdjYykKKyAgICAgICAgICAgICMgd291bGQgcmV0dXJuIC91c3IvbG9jYWwvYmluL2NjYWNoZS9nY2MsIGJ1dCB3aGF0IHdlIG5lZWQgaXMKKyAgICAgICAgICAgICMgL3Vzci9iaW4vZ2NjLCB0aGlzIGNvZGUgY2FuIGNoZWNrIGFuZCBmaXggdGhhdC4KICAgICAgICAgICAgIGlmICJjY2FjaGUiIGluIHNyY3Rvb2w6CiAgICAgICAgICAgICAgICAgc3JjdG9vbCA9IGJiLnV0aWxzLndoaWNoKHBhdGgsIHRvb2wsIGV4ZWN1dGFibGU9VHJ1ZSwgZGlyZWN0aW9uPTEpCiAgICAgICAgICAgICBpZiBzcmN0b29sOgpAQCAtMjE2LDcgKzIyMCw3IEBACiAgICAgICAgIGJiLmZhdGFsKCdUaGUgZm9sbG93aW5nIHZhcmlhYmxlKHMpIHdlcmUgbm90IHNldDogJXNcblBsZWFzZSBzZXQgdGhlbSBkaXJlY3RseSwgb3IgY2hvb3NlIGEgTUFDSElORSBvciBESVNUUk8gdGhhdCBzZXRzIHRoZW0uJyAlICcsICcuam9pbihwZXN0ZXJ1c2VyKSkKIAogYWRkaGFuZGxlciBiYXNlX2V2ZW50aGFuZGxlcgotYmFzZV9ldmVudGhhbmRsZXJbZXZlbnRtYXNrXSA9ICJiYi5ldmVudC5Db25maWdQYXJzZWQgYmIuZXZlbnQuTXVsdGlDb25maWdQYXJzZWQgYmIuZXZlbnQuQnVpbGRTdGFydGVkIGJiLmV2ZW50LlJlY2lwZVByZUZpbmFsaXNlIGJiLnJ1bnF1ZXVlLnNjZW5lUXVldWVDb21wbGV0ZSBiYi5ldmVudC5SZWNpcGVQYXJzZWQiCitiYXNlX2V2ZW50aGFuZGxlcltldmVudG1hc2tdID0gImJiLmV2ZW50LkNvbmZpZ1BhcnNlZCBiYi5ldmVudC5NdWx0aUNvbmZpZ1BhcnNlZCBiYi5ldmVudC5CdWlsZFN0YXJ0ZWQgYmIuZXZlbnQuUmVjaXBlUHJlRmluYWxpc2UgYmIuZXZlbnQuUmVjaXBlUGFyc2VkIgogcHl0aG9uIGJhc2VfZXZlbnRoYW5kbGVyKCkgewogICAgIGltcG9ydCBiYi5ydW5xdWV1ZQogCkBAIC0yMjQsNiArMjI4LDEyIEBACiAgICAgICAgIGlmIG5vdCBkLmdldFZhcigiTkFUSVZFTFNCU1RSSU5HIiwgRmFsc2UpOgogICAgICAgICAgICAgZC5zZXRWYXIoIk5BVElWRUxTQlNUUklORyIsIGxzYl9kaXN0cm9faWRlbnRpZmllcihkKSkKICAgICAgICAgZC5zZXRWYXIoJ0JCX1ZFUlNJT04nLCBiYi5fX3ZlcnNpb25fXykKKworICAgICMgVGhlcmUgbWlnaHQgYmUgbm8gYmIuZXZlbnQuQ29uZmlnUGFyc2VkIGV2ZW50IGlmIGJpdGJha2Ugc2VydmVyIGlzCisgICAgIyBydW5uaW5nLCBzbyBjaGVjayBiYi5ldmVudC5CdWlsZFN0YXJ0ZWQgdG9vIHRvIG1ha2Ugc3VyZSAke0hPU1RUT09MU19ESVJ9CisgICAgIyBleGlzdHMuCisgICAgaWYgaXNpbnN0YW5jZShlLCBiYi5ldmVudC5Db25maWdQYXJzZWQpIG9yIFwKKyAgICAgICAgICAgIChpc2luc3RhbmNlKGUsIGJiLmV2ZW50LkJ1aWxkU3RhcnRlZCkgYW5kIG5vdCBvcy5wYXRoLmV4aXN0cyhkLmdldFZhcignSE9TVFRPT0xTX0RJUicpKSk6CiAgICAgICAgICMgV29ya3Mgd2l0aCB0aGUgbGluZSBpbiBsYXllci5jb25mIHdoaWNoIGNoYW5nZXMgUEFUSCB0byBwb2ludCBoZXJlCiAgICAgICAgIHNldHVwX2hvc3R0b29sc19kaXIoZC5nZXRWYXIoJ0hPU1RUT09MU19ESVInKSwgJ0hPU1RUT09MUycsIGQpCiAgICAgICAgIHNldHVwX2hvc3R0b29sc19kaXIoZC5nZXRWYXIoJ0hPU1RUT09MU19ESVInKSwgJ0hPU1RUT09MU19OT05GQVRBTCcsIGQsIGZhdGFsPUZhbHNlKQpAQCAtMjYwLDIzICsyNzAsMTAgQEAKICAgICBpZiBpc2luc3RhbmNlKGUsIGJiLmV2ZW50LlJlY2lwZVByZUZpbmFsaXNlKToKICAgICAgICAgaWYgZC5nZXRWYXIoIlRBUkdFVF9QUkVGSVgiKSA9PSBkLmdldFZhcigiU0RLX1BSRUZJWCIpOgogICAgICAgICAgICAgZC5kZWxWYXIoIlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1iaW51dGlscyIpCi0gICAgICAgICAgICBkLmRlbFZhcigiUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbml0aWFsIikKICAgICAgICAgICAgIGQuZGVsVmFyKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIikKICAgICAgICAgICAgIGQuZGVsVmFyKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9ZysrIikKICAgICAgICAgICAgIGQuZGVsVmFyKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Y29tcGlsZXJsaWJzIikKIAotICAgIGlmIGlzaW5zdGFuY2UoZSwgYmIucnVucXVldWUuc2NlbmVRdWV1ZUNvbXBsZXRlKToKLSAgICAgICAgY29tcGxldGlvbnMgPSBkLmV4cGFuZCgiJHtTVEFHSU5HX0RJUn0vc3N0YXRlY29tcGxldGlvbnMiKQotICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhjb21wbGV0aW9ucyk6Ci0gICAgICAgICAgICBjbWRzID0gc2V0KCkKLSAgICAgICAgICAgIHdpdGggb3Blbihjb21wbGV0aW9ucywgInIiKSBhcyBmOgotICAgICAgICAgICAgICAgIGNtZHMgPSBzZXQoZikKLSAgICAgICAgICAgIGQuc2V0VmFyKCJjb21wbGV0aW9uX2Z1bmN0aW9uIiwgIlxuIi5qb2luKGNtZHMpKQotICAgICAgICAgICAgZC5zZXRWYXJGbGFnKCJjb21wbGV0aW9uX2Z1bmN0aW9uIiwgImZ1bmMiLCAiMSIpCi0gICAgICAgICAgICBiYi5kZWJ1ZygxLCAiRXhlY3V0aW5nIFNjZW5lUXVldWUgQ29tcGxldGlvbiBjb21tYW5kczogJXMiICUgIlxuIi5qb2luKGNtZHMpKQotICAgICAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKCJjb21wbGV0aW9uX2Z1bmN0aW9uIiwgZCkKLSAgICAgICAgICAgIG9zLnJlbW92ZShjb21wbGV0aW9ucykKLQogICAgIGlmIGlzaW5zdGFuY2UoZSwgYmIuZXZlbnQuUmVjaXBlUGFyc2VkKToKICAgICAgICAgIwogICAgICAgICAjIElmIHdlIGhhdmUgbXVsdGlwbGUgcHJvdmlkZXJzIG9mIHZpcnR1YWwvWCBhbmQgYSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9YIGlzIHNldApAQCAtMzAxLDcgKzI5OCw2IEBACiAKIGFkZHRhc2sgY29uZmlndXJlIGFmdGVyIGRvX3BhdGNoCiBkb19jb25maWd1cmVbZGlyc10gPSAiJHtCfSIKLWRvX3ByZXBhcmVfcmVjaXBlX3N5c3Jvb3RbZGVwdGFza10gPSAiZG9fcG9wdWxhdGVfc3lzcm9vdCIKIGJhc2VfZG9fY29uZmlndXJlKCkgewogCWlmIFsgLW4gIiR7Q09ORklHVVJFU1RBTVBGSUxFfSIgLWEgLWUgIiR7Q09ORklHVVJFU1RBTVBGSUxFfSIgXTsgdGhlbgogCQlpZiBbICJgY2F0ICR7Q09ORklHVVJFU1RBTVBGSUxFfWAiICE9ICIke0JCX1RBU0tIQVNIfSIgXTsgdGhlbgpAQCAtNDY3LDEyICs0NjMsMTUgQEAKIAogICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2xpY2Vuc2UnLCBkKToKICAgICAgICAgY2hlY2tfbGljZW5zZV9mb3JtYXQoZCkKLSAgICAgICAgdW5tYXRjaGVkX2xpY2Vuc2VfZmxhZyA9IGNoZWNrX2xpY2Vuc2VfZmxhZ3MoZCkKLSAgICAgICAgaWYgdW5tYXRjaGVkX2xpY2Vuc2VfZmxhZzoKLSAgICAgICAgICAgIGJiLmRlYnVnKDEsICJTa2lwcGluZyAlcyBiZWNhdXNlIGl0IGhhcyBhIHJlc3RyaWN0ZWQgbGljZW5zZSBub3QiCi0gICAgICAgICAgICAgICAgICIgd2hpdGVsaXN0ZWQgaW4gTElDRU5TRV9GTEFHU19XSElURUxJU1QiICUgcG4pCi0gICAgICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCJiZWNhdXNlIGl0IGhhcyBhIHJlc3RyaWN0ZWQgbGljZW5zZSBub3QiCi0gICAgICAgICAgICAgICAgICIgd2hpdGVsaXN0ZWQgaW4gTElDRU5TRV9GTEFHU19XSElURUxJU1QiKQorICAgICAgICB1bm1hdGNoZWRfbGljZW5zZV9mbGFncyA9IGNoZWNrX2xpY2Vuc2VfZmxhZ3MoZCkKKyAgICAgICAgaWYgdW5tYXRjaGVkX2xpY2Vuc2VfZmxhZ3M6CisgICAgICAgICAgICBpZiBsZW4odW5tYXRjaGVkX2xpY2Vuc2VfZmxhZ3MpID09IDE6CisgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJiZWNhdXNlIGl0IGhhcyBhIHJlc3RyaWN0ZWQgbGljZW5zZSAnezB9Jy4gV2hpY2ggaXMgbm90IHdoaXRlbGlzdGVkIGluIExJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIi5mb3JtYXQodW5tYXRjaGVkX2xpY2Vuc2VfZmxhZ3NbMF0pCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAiYmVjYXVzZSBpdCBoYXMgcmVzdHJpY3RlZCBsaWNlbnNlcyB7MH0uIFdoaWNoIGFyZSBub3Qgd2hpdGVsaXN0ZWQgaW4gTElDRU5TRV9GTEFHU19XSElURUxJU1QiLmZvcm1hdCgKKyAgICAgICAgICAgICAgICAgICAgIiwgIi5qb2luKCInezB9JyIuZm9ybWF0KGYpIGZvciBmIGluIHVubWF0Y2hlZF9saWNlbnNlX2ZsYWdzKSkKKyAgICAgICAgICAgIGJiLmRlYnVnKDEsICJTa2lwcGluZyAlcyAlcyIgJSAocG4sIG1lc3NhZ2UpKQorICAgICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZShtZXNzYWdlKQogCiAgICAgIyBJZiB3ZSdyZSBidWlsZGluZyBhIHRhcmdldCBwYWNrYWdlIHdlIG5lZWQgdG8gdXNlIGZha2Vyb290IChwc2V1ZG8pCiAgICAgIyBpbiBvcmRlciB0byBjYXB0dXJlIHBlcm1pc3Npb25zLCBvd25lcnMsIGdyb3VwcyBhbmQgc3BlY2lhbCBmaWxlcwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvYnVpbGRoaXN0b3J5LmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9idWlsZGhpc3RvcnkuYmJjbGFzcwppbmRleCA0MGIyOTJiLi43OTZmNjhjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9idWlsZGhpc3RvcnkuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9idWlsZGhpc3RvcnkuYmJjbGFzcwpAQCAtNTE5LDEyICs1MTksMTQgQEAKIAogYnVpbGRoaXN0b3J5X2xpc3RfZmlsZXMoKSB7CiAJIyBMaXN0IHRoZSBmaWxlcyBpbiB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSwgYnV0IGV4Y2x1ZGUgZGF0ZS90aW1lIGV0Yy4KLQkjIFRoaXMgYXdrIHNjcmlwdCBpcyBzb21ld2hhdCBtZXNzeSwgYnV0IGhhbmRsZXMgd2hlcmUgdGhlIHNpemUgaXMgbm90IHByaW50ZWQgZm9yIGRldmljZSBmaWxlcyB1bmRlciBwc2V1ZG8KKwkjIFRoaXMgaXMgc29tZXdoYXQgbWVzc3ksIGJ1dCBoYW5kbGVzIHdoZXJlIHRoZSBzaXplIGlzIG5vdCBwcmludGVkIGZvciBkZXZpY2UgZmlsZXMgdW5kZXIgcHNldWRvCisJKCBjZCAkMQorCWZpbmRfY21kPSdmaW5kIC4gISAtcGF0aCAuIC1wcmludGYgIiVNICUtMTB1ICUtMTBnICUxMHMgJXAgLT4gJWxcbiInCiAJaWYgWyAiJDMiID0gImZha2Vyb290IiBdIDsgdGhlbgotCQkoIGNkICQxICYmICR7RkFLRVJPT1RFTlZ9ICR7RkFLRVJPT1RDTUR9IGZpbmQgLiAhIC1wYXRoIC4gLXByaW50ZiAiJU0gJS0xMHUgJS0xMGcgJTEwcyAlcCAtPiAlbFxuIiB8IHNvcnQgLWs1IHwgc2VkICdzLyAqIC0+ICQvLycgPiAkMiApCisJCWV2YWwgJHtGQUtFUk9PVEVOVn0gJHtGQUtFUk9PVENNRH0gJGZpbmRfY21kCiAJZWxzZQotCQkoIGNkICQxICYmIGZpbmQgLiAhIC1wYXRoIC4gLXByaW50ZiAiJU0gJS0xMHUgJS0xMGcgJTEwcyAlcCAtPiAlbFxuIiB8IHNvcnQgLWs1IHwgc2VkICdzLyAqIC0+ICQvLycgPiAkMiApCi0JZmkKKwkJZXZhbCAkZmluZF9jbWQKKwlmaSB8IHNvcnQgLWs1IHwgc2VkICdzLyAqIC0+ICQvLycgPiAkMiApCiB9CiAKIGJ1aWxkaGlzdG9yeV9saXN0X3BrZ19maWxlcygpIHsKQEAgLTY3MCwxMiArNjcyLDI5IEBACiAgICAgc3RhdHVzaGVhZGVyID0gZC5nZXRWYXIoJ0JVSUxEQ0ZHX0hFQURFUicpCiAgICAgcmV0dXJuKCdcbiVzXG4lc1xuJyAlIChzdGF0dXNoZWFkZXIsICdcbicuam9pbihzdGF0dXNsaW5lcykpKQogCitkZWYgYnVpbGRoaXN0b3J5X2dldF9tb2RpZmllZChwYXRoKToKKyAgICAjIGNvcGllZCBmcm9tIGdldF9sYXllcl9naXRfc3RhdHVzKCkgaW4gaW1hZ2UtYnVpbGRpbmZvLmJiY2xhc3MKKyAgICBpbXBvcnQgc3VicHJvY2VzcworICAgIHRyeToKKyAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoIiIiY2QgJXM7IGV4cG9ydCBQU0VVRE9fVU5MT0FEPTE7IHNldCAtZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2l0IGRpZmYgLS1xdWlldCAtLW5vLWV4dC1kaWZmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpdCBkaWZmIC0tcXVpZXQgLS1uby1leHQtZGlmZiAtLWNhY2hlZCIiIiAlIHBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoZWxsPVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkKKyAgICAgICAgcmV0dXJuICIiCisgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGV4OgorICAgICAgICAjIFNpbGVudGx5IHRyZWF0IGVycm9ycyBhcyAibW9kaWZpZWQiLCB3aXRob3V0IGNoZWNraW5nIGZvciB0aGUKKyAgICAgICAgIyAoZXhwZWN0ZWQpIHJldHVybiBjb2RlIDEgaW4gYSBtb2RpZmllZCBnaXQgcmVwby4gRm9yIGV4YW1wbGUsIHdlIGdldAorICAgICAgICAjIG91dHB1dCBhbmQgYSAxMjkgcmV0dXJuIGNvZGUgd2hlbiBhIGxheWVyIGlzbid0IGEgZ2l0IHJlcG8gYXQgYWxsLgorICAgICAgICByZXR1cm4gIiAtLSBtb2RpZmllZCIKKwogZGVmIGJ1aWxkaGlzdG9yeV9nZXRfbWV0YWRhdGFfcmV2cyhkKToKICAgICAjIFdlIHdhbnQgYW4gZWFzaWx5IG1hY2hpbmUtcmVhZGFibGUgZm9ybWF0IGhlcmUsIHNvIGdldF9sYXllcnNfYnJhbmNoX3JldiBpc24ndCBxdWl0ZSB3aGF0IHdlIHdhbnQKICAgICBsYXllcnMgPSAoZC5nZXRWYXIoIkJCTEFZRVJTIikgb3IgIiIpLnNwbGl0KCkKLSAgICBtZWRhZGF0YV9yZXZzID0gWyIlLTE3cyA9ICVzOiVzIiAlIChvcy5wYXRoLmJhc2VuYW1lKGkpLCBcCisgICAgbWVkYWRhdGFfcmV2cyA9IFsiJS0xN3MgPSAlczolcyVzIiAlIChvcy5wYXRoLmJhc2VuYW1lKGkpLCBcCiAgICAgICAgIGJhc2VfZ2V0X21ldGFkYXRhX2dpdF9icmFuY2goaSwgTm9uZSkuc3RyaXAoKSwgXAotICAgICAgICBiYXNlX2dldF9tZXRhZGF0YV9naXRfcmV2aXNpb24oaSwgTm9uZSkpIFwKKyAgICAgICAgYmFzZV9nZXRfbWV0YWRhdGFfZ2l0X3JldmlzaW9uKGksIE5vbmUpLCBcCisgICAgICAgIGJ1aWxkaGlzdG9yeV9nZXRfbW9kaWZpZWQoaSkpIFwKICAgICAgICAgICAgIGZvciBpIGluIGxheWVyc10KICAgICByZXR1cm4gJ1xuJy5qb2luKG1lZGFkYXRhX3JldnMpCiAKQEAgLTg5Niw3ICs5MTUsNyBAQAogICAgICAgICAgICAgaWYgb3JpZ19zcmNyZXYgIT0gJ0lOVkFMSUQnOgogICAgICAgICAgICAgICAgIGYud3JpdGUoJyMgU1JDUkVWID0gIiVzIlxuJyAlIG9yaWdfc3JjcmV2KQogICAgICAgICAgICAgaWYgbGVuKHNyY3JldnMpID4gMToKLSAgICAgICAgICAgICAgICBmb3IgbmFtZSwgc3JjcmV2IGluIHNyY3JldnMuaXRlbXMoKToKKyAgICAgICAgICAgICAgICBmb3IgbmFtZSwgc3JjcmV2IGluIHNvcnRlZChzcmNyZXZzLml0ZW1zKCkpOgogICAgICAgICAgICAgICAgICAgICBvcmlnX3NyY3JldiA9IGQuZ2V0VmFyKCdTUkNSRVZfJXMnICUgbmFtZSwgRmFsc2UpCiAgICAgICAgICAgICAgICAgICAgIGlmIG9yaWdfc3JjcmV2OgogICAgICAgICAgICAgICAgICAgICAgICAgZi53cml0ZSgnIyBTUkNSRVZfJXMgPSAiJXMiXG4nICUgKG5hbWUsIG9yaWdfc3JjcmV2KSkKQEAgLTkwNCw3ICs5MjMsNyBAQAogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBmLndyaXRlKCdTUkNSRVYgPSAiJXMiXG4nICUgbmV4dChpdGVyKHNyY3JldnMudmFsdWVzKCkpKSkKICAgICAgICAgICAgIGlmIGxlbih0YWdfc3JjcmV2cykgPiAwOgotICAgICAgICAgICAgICAgIGZvciBuYW1lLCBzcmNyZXYgaW4gdGFnX3NyY3JldnMuaXRlbXMoKToKKyAgICAgICAgICAgICAgICBmb3IgbmFtZSwgc3JjcmV2IGluIHNvcnRlZCh0YWdfc3JjcmV2cy5pdGVtcygpKToKICAgICAgICAgICAgICAgICAgICAgZi53cml0ZSgnIyB0YWdfJXMgPSAiJXMiXG4nICUgKG5hbWUsIHNyY3JldikpCiAgICAgICAgICAgICAgICAgICAgIGlmIG5hbWUgaW4gb2xkX3RhZ19zcmNyZXZzIGFuZCBvbGRfdGFnX3NyY3JldnNbbmFtZV0gIT0gc3JjcmV2OgogICAgICAgICAgICAgICAgICAgICAgICAgcGtnID0gZC5nZXRWYXIoJ1BOJykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2NjYWNoZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvY2NhY2hlLmJiY2xhc3MKaW5kZXggOTYwOTAyMC4uYjU0NTczNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvY2NhY2hlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvY2NhY2hlLmJiY2xhc3MKQEAgLTEsNSArMSwzNyBAQAotQ0NBQ0hFID0gIiR7QGJiLnV0aWxzLndoaWNoKGQuZ2V0VmFyKCdQQVRIJyksICdjY2FjaGUnKSBhbmQgJ2NjYWNoZSAnfSIKLWV4cG9ydCBDQ0FDSEVfRElSID89ICIke1RNUERJUn0vY2NhY2hlLyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9LyR7UE59IgorIworIyBVc2FnZToKKyMgLSBFbmFibGUgY2NhY2hlCisjICAgQWRkIHRoZSBmb2xsb3dpbmcgbGluZSB0byBhIGNvbmZmaWxlIHN1Y2ggYXMgY29uZi9sb2NhbC5jb25mOgorIyAgIElOSEVSSVQgKz0gImNjYWNoZSIKKyMKKyMgLSBEaXNhYmxlIGNjYWNoZSBmb3IgYSByZWNpcGUKKyMgICBBZGQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIHRoZSByZWNpcGUgaWYgaXQgY2FuJ3QgYmUgYnVpbHQgd2l0aCBjY2FjaGU6CisjICAgQ0NBQ0hFX0RJU0FCTEUgPSAnMScKKyMKKyMgLSBTaGFyZSBjY2FjaGUgZmlsZXMgYmV0d2VlbiBkaWZmZXJlbnQgYnVpbGRzCisjICAgU2V0IENDQUNIRV9UT1BfRElSIHRvIGEgc2hhcmVkIGRpcgorIyAgIENDQUNIRV9UT1BfRElSID0gL3BhdGgvdG8vc2hhcmVkX2NjYWNoZS8KKyMKKyMgLSBUTyBkZWJ1ZyBjY2FoZQorIyAgIGV4cG9ydCBDQ0FDSEVfREVCVUcgPSAiMSIKKyMgICBleHBvcnQgQ0NBQ0hFX0xPR0ZJTEUgPSAiJHtDQ0FDSEVfRElSfS9sb2dmaWxlLmxvZyIKKyMgICBBbmQgYWxzbyBzZXQgUEFSQUxMRUxfTUFLRSA9ICItaiAxIiB0byBnZXQgbWFrZSB0aGUgbG9nIGluIG9yZGVyCisjCisKKyMgU2V0IGl0IHRvIGEgc2hhcmVkIGxvY2F0aW9uIGZvciBkaWZmZXJlbnQgYnVpbGRzLCBzbyB0aGF0IGNhY2hlIGZpbGVzIGNhbgorIyBiZSBzaGFyZWQgYmV0d2VlbiBkaWZmZXJlbnQgYnVpbGRzLgorQ0NBQ0hFX1RPUF9ESVIgPz0gIiR7VE1QRElSfS9jY2FjaGUiCisKKyMgY2NhaGUgcmVtb3ZlcyBDQ0FDSEVfQkFTRURJUiBmcm9tIGZpbGUgcGF0aCwgc28gdGhhdCBoYXNoZXMgd2lsbCBiZSB0aGUgc2FtZQorIyBpbiBkaWZmZXJlbnQgYnVpbGRzLgorZXhwb3J0IENDQUNIRV9CQVNFRElSID89ICIke1RNUERJUn0iCisKKyMgVXNlZCBmb3Igc2hhcmluZyBjYWNoZSBmaWxlcyBhZnRlciBjb21waWxlciBpcyByZWJ1aWx0CitleHBvcnQgQ0NBQ0hFX0NPTVBJTEVSQ0hFQ0sgPz0gIiVjb21waWxlciUgLWR1bXBzcGVjcyIKKworZXhwb3J0IENDQUNIRV9DT05GSUdQQVRIID89ICIke0NPUkVCQVNFfS9tZXRhL2NvbmYvY2NhY2hlLmNvbmYiCisKK2V4cG9ydCBDQ0FDSEVfRElSID89ICIke0NDQUNIRV9UT1BfRElSfS8ke01VTFRJTUFDSF9UQVJHRVRfU1lTfS8ke1BOfSIKIAogIyBXZSBuZWVkIHRvIHN0b3AgY2NhY2hlIGNvbnNpZGVyaW5nIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBvciB0aGUKICMgZGVidWctcHJlZml4LW1hcCB0YXJnZXQgZGlyZWN0b3J5IHRvIGJlIHNpZ25pZmljYW50IHdoZW4gY2FsY3VsYXRpbmcKQEAgLTcsNSArMzksMjggQEAKICMgJHtQVn0gb3IgJHtQUn0gY2hhbmdlLgogZXhwb3J0IENDQUNIRV9OT0hBU0hESVIgPz0gIjEiCiAKLURFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgY2NhY2hlLW5hdGl2ZSIKLURFUEVORFNbdmFyZGVwdmFsdWVleGNsdWRlXSA9ICIgY2NhY2hlLW5hdGl2ZSIKK3B5dGhvbigpIHsKKyAgICAiIiIKKyAgICBFbmFibGUgY2NhY2hlIGZvciB0aGUgcmVjaXBlCisgICAgIiIiCisgICAgcG4gPSBkLmdldFZhcignUE4nKQorICAgICMgcXVpbHQtbmF0aXZlIGRvZXNuJ3QgbmVlZCBjY2FjaGUgc2luY2Ugbm8gYyBmaWxlcworICAgIGlmIG5vdCAocG4gaW4gKCdjY2FjaGUtbmF0aXZlJywgJ3F1aWx0LW5hdGl2ZScpIG9yCisgICAgICAgICAgICBiYi51dGlscy50b19ib29sZWFuKGQuZ2V0VmFyKCdDQ0FDSEVfRElTQUJMRScpKSk6CisgICAgICAgIGQuYXBwZW5kVmFyKCdERVBFTkRTJywgJyBjY2FjaGUtbmF0aXZlJykKKyAgICAgICAgZC5zZXRWYXIoJ0NDQUNIRScsICdjY2FjaGUgJykKK30KKworYWRkdGFzayBjbGVhbmNjYWNoZSBhZnRlciBkb19jbGVhbgorcHl0aG9uIGRvX2NsZWFuY2NhY2hlKCkgeworICAgIGltcG9ydCBzaHV0aWwKKworICAgIGNjYWNoZV9kaXIgPSBkLmdldFZhcignQ0NBQ0hFX0RJUicpCisgICAgaWYgb3MucGF0aC5leGlzdHMoY2NhY2hlX2Rpcik6CisgICAgICAgIGJiLm5vdGUoIlJlbW92aW5nICVzIiAlIGNjYWNoZV9kaXIpCisgICAgICAgIHNodXRpbC5ybXRyZWUoY2NhY2hlX2RpcikKKyAgICBlbHNlOgorICAgICAgICBiYi5ub3RlKCIlcyBkb2Vzbid0IGV4aXN0IiAlIGNjYWNoZV9kaXIpCit9CithZGR0YXNrIGNsZWFuYWxsIGFmdGVyIGRvX2NsZWFuY2NhY2hlCitkb19jbGVhbmNjYWNoZVtub3N0YW1wXSA9ICIxIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY2x1dHRlci5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvY2x1dHRlci5iYmNsYXNzCmluZGV4IDVlZGFiMGUuLjI0YjUzYTEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2NsdXR0ZXIuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jbHV0dGVyLmJiY2xhc3MKQEAgLTE0LDQgKzE0LDUgQEAKIFNSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9LyR7UkVBTE5BTUV9LyR7VkVSTUlOT1J9LyR7UkVBTE5BTUV9LSR7UFZ9LnRhci54ejtuYW1lPWFyY2hpdmUiCiBTID0gIiR7V09SS0RJUn0vJHtSRUFMTkFNRX0tJHtQVn0iCiAKLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstZG9jIGdldHRleHQKK0NMVVRURVJCQVNFQlVJTERDTEFTUyA/Pz0gImF1dG90b29scyIKK2luaGVyaXQgJHtDTFVUVEVSQkFTRUJVSUxEQ0xBU1N9IHBrZ2NvbmZpZyBndGstZG9jIGdldHRleHQKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2NtYWtlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9jbWFrZS5iYmNsYXNzCmluZGV4IGIzNjRkMmIuLmUxNjYzMDQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2NtYWtlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvY21ha2UuYmJjbGFzcwpAQCAtNCw5ICs0LDYgQEAKIERFUEVORFNfcHJlcGVuZCA9ICJjbWFrZS1uYXRpdmUgIgogQiA9ICIke1dPUktESVJ9L2J1aWxkIgogCi0jIFdlIG5lZWQgdG8gdW5zZXQgQ0NBQ0hFIG90aGVyd2lzZSBjbWFrZSBnZXRzIHRvbyBjb25mdXNlZAotQ0NBQ0hFID0gIiIKLQogIyBXaGF0IENNYWtlIGdlbmVyYXRvciB0byB1c2UuCiAjIFRoZSBzdXBwb3J0ZWQgb3B0aW9ucyBhcmUgIlVuaXggTWFrZWZpbGVzIiBvciAiTmluamEiLgogT0VDTUFLRV9HRU5FUkFUT1IgPz0gIk5pbmphIgpAQCAtMjMsMTAgKzIwLDIyIEBACiAgICAgICAgIGQuc2V0VmFyRmxhZygiZG9fY29tcGlsZSIsICJwcm9ncmVzcyIsIHIib3V0b2Y6XlxbKFxkKykvKFxkKylcXVxzKyIpCiAgICAgZWxzZToKICAgICAgICAgYmIuZmF0YWwoIlVua25vd24gQ01ha2UgR2VuZXJhdG9yICVzIiAlIGdlbmVyYXRvcikKKworICAgICMgQy9DKysgQ29tcGlsZXIgKHdpdGhvdXQgY3B1IGFyY2gvdHVuZSBhcmd1bWVudHMpCisgICAgaWYgbm90IGQuZ2V0VmFyKCdPRUNNQUtFX0NfQ09NUElMRVInKToKKyAgICAgICAgY2NfbGlzdCA9IGQuZ2V0VmFyKCdDQycpLnNwbGl0KCkKKyAgICAgICAgaWYgY2NfbGlzdFswXSA9PSAnY2NhY2hlJzoKKyAgICAgICAgICAgIGQuc2V0VmFyKCdPRUNNQUtFX0NfQ09NUElMRVInLCAnJXMgJXMnICUgKGNjX2xpc3RbMF0sIGNjX2xpc3RbMV0pKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZC5zZXRWYXIoJ09FQ01BS0VfQ19DT01QSUxFUicsIGNjX2xpc3RbMF0pCisKKyAgICBpZiBub3QgZC5nZXRWYXIoJ09FQ01BS0VfQ1hYX0NPTVBJTEVSJyk6CisgICAgICAgIGN4eF9saXN0ID0gZC5nZXRWYXIoJ0NYWCcpLnNwbGl0KCkKKyAgICAgICAgaWYgY3h4X2xpc3RbMF0gPT0gJ2NjYWNoZSc6CisgICAgICAgICAgICBkLnNldFZhcignT0VDTUFLRV9DWFhfQ09NUElMRVInLCAnJXMgJXMnICUgKGN4eF9saXN0WzBdLCBjeHhfbGlzdFsxXSkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBkLnNldFZhcignT0VDTUFLRV9DWFhfQ09NUElMRVInLCBjeHhfbGlzdFswXSkKIH0KLSMgQy9DKysgQ29tcGlsZXIgKHdpdGhvdXQgY3B1IGFyY2gvdHVuZSBhcmd1bWVudHMpCi1PRUNNQUtFX0NfQ09NUElMRVIgPz0gImBlY2hvICR7Q0N9IHwgc2VkICdzL15cKFteIF0qXCkuKi9cMS8nYCIKLU9FQ01BS0VfQ1hYX0NPTVBJTEVSID89ICJgZWNobyAke0NYWH0gfCBzZWQgJ3MvXlwoW14gXSpcKS4qL1wxLydgIgogT0VDTUFLRV9BUiA/PSAiJHtBUn0iCiAKICMgQ29tcGlsZXIgZmxhZ3MKQEAgLTEwOCw2ICsxMTcsMTAgQEAKICMgYWRkIGZvciBub24gL3Vzci9saWIgbGliZGlyLCBlLmcuIC91c3IvbGliNjQKIHNldCggQ01BS0VfTElCUkFSWV9QQVRIICR7bGliZGlyfSAke2Jhc2VfbGliZGlyfSkKIAorIyBhZGQgaW5jbHVkZSBkaXIgdG8gaW1wbGljaXQgaW5jbHVkZXMgaW4gY2FzZSBpdCBkaWZmZXJzIGZyb20gL3Vzci9pbmNsdWRlCitsaXN0KEFQUEVORCBDTUFLRV9DX0lNUExJQ0lUX0lOQ0xVREVfRElSRUNUT1JJRVMgJHtpbmNsdWRlZGlyfSkKK2xpc3QoQVBQRU5EIENNQUtFX0NYWF9JTVBMSUNJVF9JTkNMVURFX0RJUkVDVE9SSUVTICR7aW5jbHVkZWRpcn0pCisKIEVPRgogfQogCkBAIC0xNTEsNyArMTY0LDYgQEAKIAkgIC1EQ01BS0VfSU5TVEFMTF9EQVRBUk9PVERJUjpQQVRIPSR7QG9zLnBhdGgucmVscGF0aChkLmdldFZhcignZGF0YWRpcicpLCBkLmdldFZhcigncHJlZml4JykpfSBcCiAJICAtRENNQUtFX0lOU1RBTExfU09fTk9fRVhFPTAgXAogCSAgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0ke1dPUktESVJ9L3Rvb2xjaGFpbi5jbWFrZSBcCi0JICAtRENNQUtFX1ZFUkJPU0VfTUFLRUZJTEU9MSBcCiAJICAtRENNQUtFX05PX1NZU1RFTV9GUk9NX0lNUE9SVEVEPTEgXAogCSAgJHtFWFRSQV9PRUNNQUtFfSBcCiAJICAtV25vLWRldgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY21sMS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvY21sMS5iYmNsYXNzCmluZGV4IDkyNjc0N2YuLjk4ZDI0Y2UgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2NtbDEuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jbWwxLmJiY2xhc3MKQEAgLTI2LDcgKzI2LDcgQEAKICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgbXRpbWUgPSAwCiAKLSAgICBvZV90ZXJtaW5hbCgiJHtTSEVMTH0gLWMgXCJtYWtlICVzOyBpZiBbIFwkPyAtbmUgMCBdOyB0aGVuIGVjaG8gJ0NvbW1hbmQgZmFpbGVkLic7IHByaW50ZiAnUHJlc3MgYW55IGtleSB0byBjb250aW51ZS4uLiAnOyByZWFkIHI7IGZpXCIiICUgZC5nZXRWYXIoJ0tDT05GSUdfQ09ORklHX0NPTU1BTkQnKSwKKyAgICBvZV90ZXJtaW5hbCgic2ggLWMgXCJtYWtlICVzOyBpZiBbIFxcJD8gLW5lIDAgXTsgdGhlbiBlY2hvICdDb21tYW5kIGZhaWxlZC4nOyBwcmludGYgJ1ByZXNzIGFueSBrZXkgdG8gY29udGludWUuLi4gJzsgcmVhZCByOyBmaVwiIiAlIGQuZ2V0VmFyKCdLQ09ORklHX0NPTkZJR19DT01NQU5EJyksCiAgICAgICAgICAgICAgICAgZC5nZXRWYXIoJ1BOJykgKyAnIENvbmZpZ3VyYXRpb24nLCBkKQogCiAgICAgIyBGSVhNRSB0aGlzIGNoZWNrIGNhbiBiZSByZW1vdmVkIHdoZW4gdGhlIG1pbmltdW0gYml0YmFrZSB2ZXJzaW9uIGhhcyBiZWVuIGJ1bXBlZApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY29tcHJlc3NfZG9jLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9jb21wcmVzc19kb2MuYmJjbGFzcwppbmRleCA0NWJiOGZmLi5kNmQxMWZhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9jb21wcmVzc19kb2MuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jb21wcmVzc19kb2MuYmJjbGFzcwpAQCAtMTYwLDYgKzE2MCw3IEBACiAgICAgcmV0dXJuIEZhbHNlLCAnJwogCiBkZWYgY29tcHJlc3NfZG9jKHRvcGRpciwgY29tcHJlc3NfbW9kZSwgY29tcHJlc3NfY21kcyk6CisgICAgaW1wb3J0IHN1YnByb2Nlc3MKICAgICBoYXJkbGlua19kaWN0ID0ge30KICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2Fsayh0b3BkaXIpOgogICAgICAgICBmb3IgZiBpbiBmaWxlczoKQEAgLTE4Nyw2ICsxODgsNyBAQAogCiAjIERlY29tcHJlc3MgZG9jIGZpbGVzIHdoaWNoIGZvcm1hdCBpcyBub3QgY29tcHJlc3NfbW9kZQogZGVmIGRlY29tcHJlc3NfZG9jKHRvcGRpciwgY29tcHJlc3NfbW9kZSwgZGVjb21wcmVzc19jbWRzKToKKyAgICBpbXBvcnQgc3VicHJvY2VzcwogICAgIGhhcmRsaW5rX2RpY3QgPSB7fQogICAgIGRlY29tcHJlc3MgPSBUcnVlCiAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsodG9wZGlyKToKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2NwYW4tYmFzZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvY3Bhbi1iYXNlLmJiY2xhc3MKaW5kZXggNTc3ZmNkNi4uODY3ZWRmOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvY3Bhbi1iYXNlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvY3Bhbi1iYXNlLmJiY2xhc3MKQEAgLTIsNyArMiw3IEBACiAjIGNwYW4tYmFzZSBwcm92aWRlcnMgdmFyaW91cyBwZXJsIHJlbGF0ZWQgaW5mb3JtYXRpb24gbmVlZGVkIGZvciBidWlsZGluZwogIyBjcGFuIG1vZHVsZXMKICMKLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vcGVybCAke2RhdGFkaXJ9L3BlcmwiCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3Blcmw1ICR7ZGF0YWRpcn0vcGVybDUiCiAKIERFUEVORFMgICs9ICIke0BbInBlcmwiLCAicGVybC1uYXRpdmUiXVsoYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlJywgZCkpXX0iCiBSREVQRU5EU18ke1BOfSArPSAiJHtAWyJwZXJsIiwgIiJdWyhiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSldfSIKQEAgLTE0LDUgKzE0LDUgQEAKICAgICAgICAgcmV0dXJuICJ5ZXMiCiAgICAgcmV0dXJuICJubyIKIAotUEVSTExJQkRJUlMgPSAiJHtsaWJkaXJ9L3BlcmwiCi1QRVJMTElCRElSU19jbGFzcy1uYXRpdmUgPSAiJHtsaWJkaXJ9L3BlcmwtbmF0aXZlIgorUEVSTExJQkRJUlMgPSAiJHtsaWJkaXJ9L3Blcmw1IgorUEVSTExJQkRJUlNfY2xhc3MtbmF0aXZlID0gIiR7bGliZGlyfS9wZXJsNSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2NwYW4uYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2NwYW4uYmJjbGFzcwppbmRleCBhNWJjMzAxLi5lOTkwOGFlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9jcGFuLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvY3Bhbi5iYmNsYXNzCkBAIC0xMCwxMyArMTAsMTQgQEAKIGV4cG9ydCBQRVJMQ09ORklHVEFSR0VUID0gIiR7QGlzX3RhcmdldChkKX0iCiAKICMgRW52IHZhciB3aGljaCB0ZWxscyBwZXJsIHdoZXJlIHRoZSBwZXJsIGluY2x1ZGUgZmlsZXMgYXJlCi1leHBvcnQgUEVSTF9JTkMgPSAiJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybC8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfS9DT1JFIgotZXhwb3J0IFBFUkxfTElCID0gIiR7U1RBR0lOR19MSUJESVJ9JHtQRVJMX09XTl9ESVJ9L3BlcmwvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0iCi1leHBvcnQgUEVSTF9BUkNITElCID0gIiR7U1RBR0lOR19MSUJESVJ9JHtQRVJMX09XTl9ESVJ9L3BlcmwvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0iCi1leHBvcnQgUEVSTEhPU1RMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3BlcmwtbmF0aXZlL3BlcmwvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0vIgorZXhwb3J0IFBFUkxfSU5DID0gIiR7U1RBR0lOR19MSUJESVJ9JHtQRVJMX09XTl9ESVJ9L3Blcmw1LyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyR7QGdldF9wZXJsX2FyY2goZCl9L0NPUkUiCitleHBvcnQgUEVSTF9MSUIgPSAiJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybDUvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0iCitleHBvcnQgUEVSTF9BUkNITElCID0gIiR7U1RBR0lOR19MSUJESVJ9JHtQRVJMX09XTl9ESVJ9L3Blcmw1LyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyR7QGdldF9wZXJsX2FyY2goZCl9IgorZXhwb3J0IFBFUkxIT1NUTElCID0gIiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9wZXJsNS8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfS8iCitleHBvcnQgUEVSTEhPU1RBUkNITElCID0gIiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9wZXJsNS8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfS8ke0BnZXRfcGVybF9ob3N0YXJjaChkKX0vIgogCiBjcGFuX2RvX2NvbmZpZ3VyZSAoKSB7Ci0JeWVzICcnIHwgcGVybCAke0VYVFJBX1BFUkxGTEFHU30gTWFrZWZpbGUuUEwgSU5TVEFMTERJUlM9dmVuZG9yIE5PX1BFUkxMT0NBTD0xIE5PX1BBQ0tMSVNUPTEgJHtFWFRSQV9DUEFORkxBR1N9CisJeWVzICcnIHwgcGVybCAke0VYVFJBX1BFUkxGTEFHU30gTWFrZWZpbGUuUEwgSU5TVEFMTERJUlM9dmVuZG9yIE5PX1BFUkxMT0NBTD0xIE5PX1BBQ0tMSVNUPTEgUEVSTD0kKHdoaWNoIHBlcmwpICR7RVhUUkFfQ1BBTkZMQUdTfQogCiAJIyBNYWtlZmlsZS5QTHMgY2FuIGV4aXQgd2l0aCBzdWNjZXNzIHdpdGhvdXQgZ2VuZXJhdGluZyBhCiAJIyBNYWtlZmlsZSwgZS5nLiBpbiBjYXNlcyBvZiBtaXNzaW5nIGNvbmZpZ3VyZSB0aW1lCkBAIC0yNyw3ICsyOCw3IEBACiAJWyAtZSBNYWtlZmlsZSBdIHx8IGJiZmF0YWwgIk5vIE1ha2VmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgTWFrZWZpbGUuUEwiCiAKIAlpZiBbICIke0JVSUxEX1NZU30iICE9ICIke0hPU1RfU1lTfSIgXTsgdGhlbgotCQkuICR7U1RBR0lOR19MSUJESVJ9JHtQRVJMX09XTl9ESVJ9L3BlcmwvY29uZmlnLnNoCisJCS4gJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybDUvY29uZmlnLnNoCiAJCSMgVXNlIGZpbmQgc2luY2UgdGhlcmUgY2FuIGJlIGEgTWFrZWZpbGUgZ2VuZXJhdGVkIGZvciBlYWNoIE1ha2VmaWxlLlBMCiAJCWZvciBmIGluIGBmaW5kIC1uYW1lIE1ha2VmaWxlLlBMYDsgZG8KIAkJCWYyPWBlY2hvICRmIHwgc2VkIC1lICdzLy5QTC8vJ2AKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2NwYW5fYnVpbGQuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2NwYW5fYnVpbGQuYmJjbGFzcwppbmRleCA5YTJhZDg5Li5mM2ZiNDY2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9jcGFuX2J1aWxkLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvY3Bhbl9idWlsZC5iYmNsYXNzCkBAIC03LDE0ICs3LDE1IEBACiAKICMgRW52IHZhciB3aGljaCB0ZWxscyBwZXJsIGlmIGl0IHNob3VsZCB1c2UgaG9zdCAobm8pIG9yIHRhcmdldCAoeWVzKSBzZXR0aW5ncwogZXhwb3J0IFBFUkxDT05GSUdUQVJHRVQgPSAiJHtAaXNfdGFyZ2V0KGQpfSIKLWV4cG9ydCBQRVJMX0FSQ0hMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybC8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfSIKLWV4cG9ydCBQRVJMSE9TVExJQiA9ICIke1NUQUdJTkdfTElCRElSX05BVElWRX0vcGVybC1uYXRpdmUvcGVybC8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfS8iCitleHBvcnQgUEVSTF9BUkNITElCID0gIiR7U1RBR0lOR19MSUJESVJ9JHtQRVJMX09XTl9ESVJ9L3Blcmw1LyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyR7QGdldF9wZXJsX2FyY2goZCl9IgorZXhwb3J0IFBFUkxIT1NUTElCID0gIiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9wZXJsNS8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfS8iCitleHBvcnQgUEVSTEhPU1RBUkNITElCID0gIiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9wZXJsNS8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfS8ke0BnZXRfcGVybF9ob3N0YXJjaChkKX0vIgogZXhwb3J0IExEID0gIiR7Q0NMRH0iCiAKIGNwYW5fYnVpbGRfZG9fY29uZmlndXJlICgpIHsKIAlpZiBbICIke0Bpc190YXJnZXQoZCl9IiA9ICJ5ZXMiIF07IHRoZW4KIAkJIyBidWlsZCBmb3IgdGFyZ2V0Ci0JCS4gJHtTVEFHSU5HX0xJQkRJUn0vcGVybC9jb25maWcuc2gKKwkJLiAke1NUQUdJTkdfTElCRElSfS9wZXJsNS9jb25maWcuc2gKIAlmaQogCiAJcGVybCBCdWlsZC5QTCAtLWluc3RhbGxkaXJzIHZlbmRvciAtLWRlc3RkaXIgJHtEfSBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9jcm9zcy1jYW5hZGlhbi5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvY3Jvc3MtY2FuYWRpYW4uYmJjbGFzcwppbmRleCBhY2RlMzMxLi5mNWM5ZjYxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9jcm9zcy1jYW5hZGlhbi5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2Nyb3NzLWNhbmFkaWFuLmJiY2xhc3MKQEAgLTgsNiArOCw4IEBACiAjIFNESyBwYWNrYWdlcyBhcmUgYnVpbHQgZWl0aGVyIGV4cGxpY2l0bHkgYnkgdGhlIHVzZXIsCiAjIG9yIGluZGlyZWN0bHkgdmlhIGRlcGVuZGVuY3kuICBObyBuZWVkIHRvIGJlIGluICd3b3JsZCcuCiBFWENMVURFX0ZST01fV09STEQgPSAiMSIKK05BVElWRVNES0xJQkMgPz0gImxpYmMtZ2xpYmMiCitMSUJDT1ZFUlJJREUgPSAiOiR7TkFUSVZFU0RLTElCQ30iCiBDTEFTU09WRVJSSURFID0gImNsYXNzLWNyb3NzLWNhbmFkaWFuIgogU1RBR0lOR19CSU5ESVJfVE9PTENIQUlOID0gIiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7YmluZGlyX25hdGl2ZX0vJHtTREtfQVJDSH0ke1NES19WRU5ET1J9LSR7U0RLX09TfToke1NUQUdJTkdfRElSX05BVElWRX0ke2JpbmRpcl9uYXRpdmV9LyR7VEFSR0VUX0FSQ0h9JHtUQVJHRVRfVkVORE9SfS0ke1RBUkdFVF9PU30iCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2Nyb3NzLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcm9zcy5iYmNsYXNzCmluZGV4IDM0ZDc5NTEuLmY4MzI1NjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2Nyb3NzLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvY3Jvc3MuYmJjbGFzcwpAQCAtMTcsNiArMTcsOSBAQAogSE9TVF9MRF9BUkNIID0gIiR7QlVJTERfTERfQVJDSH0iCiBIT1NUX0FTX0FSQ0ggPSAiJHtCVUlMRF9BU19BUkNIfSIKIAorIyBObyBzdHJpcCBzeXNyb290IHdoZW4gREVCVUdfQlVJTEQgaXMgZW5hYmxlZAorSU5ISUJJVF9TWVNST09UX1NUUklQID89ICIke0BvZS51dGlscy52YXJ0cnVlKCdERUJVR19CVUlMRCcsICcxJywgJycsIGQpfSIKKwogZXhwb3J0IGx0X2N2X3N5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjID0gIiR7bGliZGlyfSAke2Jhc2VfbGliZGlyfSAvbGliIC9saWI2NCAvdXNyL2xpYiAvdXNyL2xpYjY0IgogCiBTVEFHSU5HX0RJUl9IT1NUID0gIiR7UkVDSVBFX1NZU1JPT1RfTkFUSVZFfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2Nyb3Nzc2RrLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcm9zc3Nkay5iYmNsYXNzCmluZGV4IGZkYWFhYzguLmMwYzBiZmUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2Nyb3Nzc2RrLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvY3Jvc3NzZGsuYmJjbGFzcwpAQCAtMSw2ICsxLDggQEAKIGluaGVyaXQgY3Jvc3MKIAogQ0xBU1NPVkVSUklERSA9ICJjbGFzcy1jcm9zc3NkayIKK05BVElWRVNES0xJQkMgPz0gImxpYmMtZ2xpYmMiCitMSUJDT1ZFUlJJREUgPSAiOiR7TkFUSVZFU0RLTElCQ30iCiBNQUNISU5FT1ZFUlJJREVTID0gIiIKIFBBQ0tBR0VfQVJDSCA9ICIke1NES19BUkNIfSIKIHB5dGhvbiAoKSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2RlYmlhbi5iYmNsYXNzCmluZGV4IDk4OWVhOGYuLjZmOGE1OTkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2RlYmlhbi5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2RlYmlhbi5iYmNsYXNzCkBAIC0yOSwxMSArMjksMTEgQEAKIAogICAgIHBrZ2Rlc3QgPSBkLmdldFZhcigiUEtHREVTVCIpCiAgICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKQotICAgIHNvX3JlID0gcmUuY29tcGlsZSgibGliLipcLnNvIikKKyAgICBzb19yZSA9IHJlLmNvbXBpbGUociJsaWIuKlwuc28iKQogCiAgICAgZGVmIHNvY3J1bmNoKHMpOgogICAgICAgICBzID0gcy5sb3dlcigpLnJlcGxhY2UoJ18nLCAnLScpCi0gICAgICAgIG0gPSByZS5tYXRjaCgiXiguKikoLilcLnNvXC4oLiopJCIsIHMpCisgICAgICAgIG0gPSByZS5tYXRjaChyIl4oLiopKC4pXC5zb1wuKC4qKSQiLCBzKQogICAgICAgICBpZiBtIGlzIE5vbmU6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICBpZiBtLmdyb3VwKDIpIGluICcwMTIzNDU2Nzg5JzoKQEAgLTc5LDcgKzc5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICAgY21kID0gW2QuZXhwYW5kKCIke1RBUkdFVF9QUkVGSVh9b2JqZHVtcCIpLCAiLXAiLCBmXQogICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoY21kKS5kZWNvZGUoInV0Zi04IikKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciBtIGluIHJlLmZpbmRpdGVyKCJccytTT05BTUVccysoW15cc10rKSIsIG91dHB1dCk6CisgICAgICAgICAgICAgICAgICAgICAgICBmb3IgbSBpbiByZS5maW5kaXRlcihyIlxzK1NPTkFNRVxzKyhbXlxzXSspIiwgb3V0cHV0KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBtLmdyb3VwKDEpIG5vdCBpbiBzb25hbWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb25hbWVzLmFwcGVuZChtLmdyb3VwKDEpKQogICAgICAgICAgICAgICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3I6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9kZXZpY2V0cmVlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9kZXZpY2V0cmVlLmJiY2xhc3MKaW5kZXggOGZlNWE1ZS4uNWMwM2U0YiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZGV2aWNldHJlZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2RldmljZXRyZWUuYmJjbGFzcwpAQCAtMjcsNiArMjcsOCBAQAogCiBDT01QQVRJQkxFX01BQ0hJTkUgPz0gIl4kIgogCitQUk9WSURFUyA9ICJ2aXJ0dWFsL2R0YiIKKwogUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKIAogU1lTUk9PVF9ESVJTICs9ICIvYm9vdC9kZXZpY2V0cmVlIgpAQCAtMTIwLDkgKzEyMiwxMiBAQAogICAgIGluY2x1ZGVzID0gZXhwYW5kX2luY2x1ZGVzKCJEVF9JTkNMVURFIiwgZCkKICAgICBsaXN0cGF0aCA9IGQuZ2V0VmFyKCJEVF9GSUxFU19QQVRIIikKICAgICBmb3IgZHRzIGluIG9zLmxpc3RkaXIobGlzdHBhdGgpOgotICAgICAgICBpZiBub3QgZHRzLmVuZHN3aXRoKCIuZHRzIik6Ci0gICAgICAgICAgICBjb250aW51ZSAjIHNraXAgbm9uLS5kdHMgZmlsZXMKICAgICAgICAgZHRzcGF0aCA9IG9zLnBhdGguam9pbihsaXN0cGF0aCwgZHRzKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBpZiBub3Qob3MucGF0aC5pc2ZpbGUoZHRzcGF0aCkpIG9yIG5vdChkdHMuZW5kc3dpdGgoIi5kdHMiKSBvciBkZXZpY2V0cmVlX3NvdXJjZV9pc19vdmVybGF5KGR0c3BhdGgpKToKKyAgICAgICAgICAgICAgICBjb250aW51ZSAjIHNraXAgbm9uLS5kdHMgZmlsZXMgYW5kIG5vbi1vdmVybGF5IGZpbGVzCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIGNvbnRpbnVlICMgc2tpcCBpZiBjYW4ndCBkZXRlcm1pbmUgaWYgb3ZlcmxheQogICAgICAgICBkZXZpY2V0cmVlX2NvbXBpbGUoZHRzcGF0aCwgaW5jbHVkZXMsIGQpCiB9CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2RldnRvb2wtc291cmNlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9kZXZ0b29sLXNvdXJjZS5iYmNsYXNzCmluZGV4IDEzNzJlMzIuLmE4MTEwMDAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2RldnRvb2wtc291cmNlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZGV2dG9vbC1zb3VyY2UuYmJjbGFzcwpAQCAtMTAzLDggKzEwMywxMCBAQAogICAgICAgICAgICAgICAgIGZvciBsIGluIHNjY2ZpbGU6CiAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBsLnNwbGl0KCkKICAgICAgICAgICAgICAgICAgICAgaWYgbGluZSBhbmQgbGluZVswXSBpbiAoJ2tjb25mJywgJ3BhdGNoJyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbF9maWxlc1tsaW5lWy0xXV0gPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKGxvY2FsX2ZpbGVzW2tleV0pLCBsaW5lWy0xXSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHNodXRpbC5jb3B5Mihvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKGxvY2FsX2ZpbGVzW2tleV0pLCBsaW5lWy0xXSksIHdvcmtkaXIpCisgICAgICAgICAgICAgICAgICAgICAgICBjZmcgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKGxvY2FsX2ZpbGVzW2tleV0pLCBsaW5lWy0xXSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBjZmcgaW4gbG9jYWxfZmlsZXMudmFsdWVzKCk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxfZmlsZXNbbGluZVstMV1dID0gY2ZnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2h1dGlsLmNvcHkyKGNmZywgd29ya2RpcikKICAgICAgICAgICAgICAgICBzY2NmaWxlLmNsb3NlKCkKIAogICAgICMgSWdub3JlIGxvY2FsIGZpbGVzIHdpdGggc3ViZGlyPXtCUH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2Rpc3Ryb19mZWF0dXJlc19jaGVjay5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvZGlzdHJvX2ZlYXR1cmVzX2NoZWNrLmJiY2xhc3MKaW5kZXggOWI3OGIwMy4uZWVhYTNiNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZGlzdHJvX2ZlYXR1cmVzX2NoZWNrLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZGlzdHJvX2ZlYXR1cmVzX2NoZWNrLmJiY2xhc3MKQEAgLTExLDI3ICsxMSwyMiBAQAogCiBweXRob24gKCkgewogICAgICMgQXNzdW1lIGF0IGxlYXN0IG9uZSB2YXIgaXMgc2V0LgotICAgIGRpc3Ryb19mZWF0dXJlcyA9IChkLmdldFZhcignRElTVFJPX0ZFQVRVUkVTJykgb3IgIiIpLnNwbGl0KCkKKyAgICBkaXN0cm9fZmVhdHVyZXMgPSBzZXQoKGQuZ2V0VmFyKCdESVNUUk9fRkVBVFVSRVMnKSBvciAnJykuc3BsaXQoKSkKIAotICAgIGFueV9vZl9kaXN0cm9fZmVhdHVyZXMgPSBkLmdldFZhcignQU5ZX09GX0RJU1RST19GRUFUVVJFUycpCisgICAgYW55X29mX2Rpc3Ryb19mZWF0dXJlcyA9IHNldCgoZC5nZXRWYXIoJ0FOWV9PRl9ESVNUUk9fRkVBVFVSRVMnKSBvciAnJykuc3BsaXQoKSkKICAgICBpZiBhbnlfb2ZfZGlzdHJvX2ZlYXR1cmVzOgotICAgICAgICBhbnlfb2ZfZGlzdHJvX2ZlYXR1cmVzID0gYW55X29mX2Rpc3Ryb19mZWF0dXJlcy5zcGxpdCgpCi0gICAgICAgIGlmIHNldC5pc2Rpc2pvaW50KHNldChhbnlfb2ZfZGlzdHJvX2ZlYXR1cmVzKSxzZXQoZGlzdHJvX2ZlYXR1cmVzKSk6Ci0gICAgICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCJvbmUgb2YgJyVzJyBuZWVkcyB0byBiZSBpbiBESVNUUk9fRkVBVFVSRVMiICUgYW55X29mX2Rpc3Ryb19mZWF0dXJlcykKKyAgICAgICAgaWYgc2V0LmlzZGlzam9pbnQoYW55X29mX2Rpc3Ryb19mZWF0dXJlcywgZGlzdHJvX2ZlYXR1cmVzKToKKyAgICAgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoIm9uZSBvZiAnJXMnIG5lZWRzIHRvIGJlIGluIERJU1RST19GRUFUVVJFUyIgJSAnICcuam9pbihhbnlfb2ZfZGlzdHJvX2ZlYXR1cmVzKSkKIAotICAgIHJlcXVpcmVkX2Rpc3Ryb19mZWF0dXJlcyA9IGQuZ2V0VmFyKCdSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMnKQorICAgIHJlcXVpcmVkX2Rpc3Ryb19mZWF0dXJlcyA9IHNldCgoZC5nZXRWYXIoJ1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUycpIG9yICcnKS5zcGxpdCgpKQogICAgIGlmIHJlcXVpcmVkX2Rpc3Ryb19mZWF0dXJlczoKLSAgICAgICAgcmVxdWlyZWRfZGlzdHJvX2ZlYXR1cmVzID0gcmVxdWlyZWRfZGlzdHJvX2ZlYXR1cmVzLnNwbGl0KCkKLSAgICAgICAgZm9yIGYgaW4gcmVxdWlyZWRfZGlzdHJvX2ZlYXR1cmVzOgotICAgICAgICAgICAgaWYgZiBpbiBkaXN0cm9fZmVhdHVyZXM6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgibWlzc2luZyByZXF1aXJlZCBkaXN0cm8gZmVhdHVyZSAnJXMnIChub3QgaW4gRElTVFJPX0ZFQVRVUkVTKSIgJSBmKQorICAgICAgICBtaXNzaW5nID0gc2V0LmRpZmZlcmVuY2UocmVxdWlyZWRfZGlzdHJvX2ZlYXR1cmVzLCBkaXN0cm9fZmVhdHVyZXMpCisgICAgICAgIGlmIG1pc3Npbmc6CisgICAgICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCJtaXNzaW5nIHJlcXVpcmVkIGRpc3RybyBmZWF0dXJlJXMgJyVzJyAobm90IGluIERJU1RST19GRUFUVVJFUykiICUgKCdzJyBpZiBsZW4obWlzc2luZykgPiAxIGVsc2UgJycsICcgJy5qb2luKG1pc3NpbmcpKSkKIAotICAgIGNvbmZsaWN0X2Rpc3Ryb19mZWF0dXJlcyA9IGQuZ2V0VmFyKCdDT05GTElDVF9ESVNUUk9fRkVBVFVSRVMnKQorICAgIGNvbmZsaWN0X2Rpc3Ryb19mZWF0dXJlcyA9IHNldCgoZC5nZXRWYXIoJ0NPTkZMSUNUX0RJU1RST19GRUFUVVJFUycpIG9yICcnKS5zcGxpdCgpKQogICAgIGlmIGNvbmZsaWN0X2Rpc3Ryb19mZWF0dXJlczoKLSAgICAgICAgY29uZmxpY3RfZGlzdHJvX2ZlYXR1cmVzID0gY29uZmxpY3RfZGlzdHJvX2ZlYXR1cmVzLnNwbGl0KCkKLSAgICAgICAgZm9yIGYgaW4gY29uZmxpY3RfZGlzdHJvX2ZlYXR1cmVzOgotICAgICAgICAgICAgaWYgZiBpbiBkaXN0cm9fZmVhdHVyZXM6Ci0gICAgICAgICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiY29uZmxpY3RpbmcgZGlzdHJvIGZlYXR1cmUgJyVzJyAoaW4gRElTVFJPX0ZFQVRVUkVTKSIgJSBmKQorICAgICAgICBjb25mbGljdHMgPSBzZXQuaW50ZXJzZWN0aW9uKGNvbmZsaWN0X2Rpc3Ryb19mZWF0dXJlcywgZGlzdHJvX2ZlYXR1cmVzKQorICAgICAgICBpZiBjb25mbGljdHM6CisgICAgICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCJjb25mbGljdGluZyBkaXN0cm8gZmVhdHVyZSVzICclcycgKGluIERJU1RST19GRUFUVVJFUykiICUgKCdzJyBpZiBsZW4oY29uZmxpY3RzKSA+IDEgZWxzZSAnJywgJyAnLmpvaW4oY29uZmxpY3RzKSkpCiB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9kaXN0cm9kYXRhLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9kaXN0cm9kYXRhLmJiY2xhc3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5ZWU4Y2UuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZGlzdHJvZGF0YS5iYmNsYXNzCisrKyAvZGV2L251bGwKQEAgLTEsNDI3ICswLDAgQEAKLWluY2x1ZGUgY29uZi9kaXN0cm8vaW5jbHVkZS91cHN0cmVhbV90cmFja2luZy5pbmMKLWluY2x1ZGUgY29uZi9kaXN0cm8vaW5jbHVkZS9kaXN0cm9fYWxpYXMuaW5jCi1pbmNsdWRlIGNvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jCi0KLWFkZGhhbmRsZXIgZGlzdHJvX2V2ZW50aGFuZGxlcgotZGlzdHJvX2V2ZW50aGFuZGxlcltldmVudG1hc2tdID0gImJiLmV2ZW50LkJ1aWxkU3RhcnRlZCIKLXB5dGhvbiBkaXN0cm9fZXZlbnRoYW5kbGVyKCkgewotICAgIGltcG9ydCBvZS5kaXN0cm9fY2hlY2sgYXMgZGMKLSAgICBpbXBvcnQgY3N2Ci0gICAgbG9nZmlsZSA9IGRjLmNyZWF0ZV9sb2dfZmlsZShlLmRhdGEsICJkaXN0cm9kYXRhLmNzdiIpCi0KLSAgICBsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKCIlcy5sb2NrIiAlIGxvZ2ZpbGUpCi0gICAgd2l0aCBvcGVuKGxvZ2ZpbGUsICJhIikgYXMgZjoKLSAgICAgICAgd3JpdGVyID0gY3N2LndyaXRlcihmKQotICAgICAgICB3cml0ZXIud3JpdGVyb3coWydQYWNrYWdlJywgJ0Rlc2NyaXB0aW9uJywgJ093bmVyJywgJ0xpY2Vuc2UnLCAKLSAgICAgICAgICAgICdWZXJNYXRjaCcsICdWZXJzaW9uJywgJ1Vwc3RyZWFtJywgJ1JlYXNvbicsICdSZWNpcGUgU3RhdHVzJywKLSAgICAgICAgICAgICdEaXN0cm8gMScsICdEaXN0cm8gMicsICdEaXN0cm8gMyddKQotICAgICAgICBmLmNsb3NlKCkKLSAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQotCi0gICAgcmV0dXJuCi19Ci0KLWFkZHRhc2sgZGlzdHJvZGF0YV9ucAotZG9fZGlzdHJvZGF0YV9ucFtub3N0YW1wXSA9ICIxIgotcHl0aG9uIGRvX2Rpc3Ryb2RhdGFfbnAoKSB7Ci0gICAgICAgIGxvY2FsZGF0YSA9IGJiLmRhdGEuY3JlYXRlQ29weShkKQotICAgICAgICBwbiA9IGQuZ2V0VmFyKCJQTiIpCi0gICAgICAgIGJiLm5vdGUoIlBhY2thZ2UgTmFtZTogJXMiICUgcG4pCi0KLSAgICAgICAgaW1wb3J0IG9lLmRpc3Ryb19jaGVjayBhcyBkaXN0X2NoZWNrCi0gICAgICAgIHRtcGRpciA9IGQuZ2V0VmFyKCdUTVBESVInKQotICAgICAgICBkaXN0cm9fY2hlY2tfZGlyID0gb3MucGF0aC5qb2luKHRtcGRpciwgImRpc3Ryb19jaGVjayIpCi0gICAgICAgIGRhdGV0aW1lID0gbG9jYWxkYXRhLmdldFZhcignREFURVRJTUUnKQotICAgICAgICBkaXN0X2NoZWNrLnVwZGF0ZV9kaXN0cm9fZGF0YShkaXN0cm9fY2hlY2tfZGlyLCBkYXRldGltZSwgbG9jYWxkYXRhKQotCi0gICAgICAgIGlmIHBuLmZpbmQoIi1uYXRpdmUiKSAhPSAtMToKLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbi5zcGxpdCgiLW5hdGl2ZSIpCi0gICAgICAgICAgICBiYi5ub3RlKCJOYXRpdmUgU3BsaXQ6ICVzIiAlIHBuc3RyaXBwZWQpCi0gICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCAicG4tIiArIHBuc3RyaXBwZWRbMF0gKyAiOiIgKyBkLmdldFZhcignT1ZFUlJJREVTJykpCi0KLSAgICAgICAgaWYgcG4uZmluZCgiLWNyb3NzIikgIT0gLTE6Ci0gICAgICAgICAgICBwbnN0cmlwcGVkID0gcG4uc3BsaXQoIi1jcm9zcyIpCi0gICAgICAgICAgICBiYi5ub3RlKCJjcm9zcyBTcGxpdDogJXMiICUgcG5zdHJpcHBlZCkKLSAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsICJwbi0iICsgcG5zdHJpcHBlZFswXSArICI6IiArIGQuZ2V0VmFyKCdPVkVSUklERVMnKSkKLQotICAgICAgICBpZiBwbi5maW5kKCItY3Jvc3NzZGsiKSAhPSAtMToKLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbi5zcGxpdCgiLWNyb3Nzc2RrIikKLSAgICAgICAgICAgIGJiLm5vdGUoImNyb3NzIFNwbGl0OiAlcyIgJSBwbnN0cmlwcGVkKQotICAgICAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywgInBuLSIgKyBwbnN0cmlwcGVkWzBdICsgIjoiICsgZC5nZXRWYXIoJ09WRVJSSURFUycpKQotCi0gICAgICAgIGlmIHBuLnN0YXJ0c3dpdGgoIm5hdGl2ZXNkay0iKToKLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbi5yZXBsYWNlKCJuYXRpdmVzZGstIiwgIiIpCi0gICAgICAgICAgICBiYi5ub3RlKCJOYXRpdmVTREsgU3BsaXQ6ICVzIiAlIHBuc3RyaXBwZWQpCi0gICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCAicG4tIiArIHBuc3RyaXBwZWQgKyAiOiIgKyBkLmdldFZhcignT1ZFUlJJREVTJykpCi0KLQotICAgICAgICBpZiBwbi5maW5kKCItaW5pdGlhbCIpICE9IC0xOgotICAgICAgICAgICAgcG5zdHJpcHBlZCA9IHBuLnNwbGl0KCItaW5pdGlhbCIpCi0gICAgICAgICAgICBiYi5ub3RlKCJpbml0aWFsIFNwbGl0OiAlcyIgJSBwbnN0cmlwcGVkKQotICAgICAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywgInBuLSIgKyBwbnN0cmlwcGVkWzBdICsgIjoiICsgZC5nZXRWYXIoJ09WRVJSSURFUycpKQotCi0gICAgICAgICIiImdlbmVyYXRlIHBhY2thZ2UgaW5mb3JtYXRpb24gZnJvbSAuYmIgZmlsZSIiIgotICAgICAgICBwbmFtZSA9IGxvY2FsZGF0YS5nZXRWYXIoJ1BOJykKLSAgICAgICAgcGN1cnZlciA9IGxvY2FsZGF0YS5nZXRWYXIoJ1BWJykKLSAgICAgICAgcGRlc2MgPSBsb2NhbGRhdGEuZ2V0VmFyKCdERVNDUklQVElPTicpCi0gICAgICAgIGlmIHBkZXNjIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIHBkZXNjID0gcGRlc2MucmVwbGFjZSgnLCcsJycpCi0gICAgICAgICAgICAgICAgcGRlc2MgPSBwZGVzYy5yZXBsYWNlKCdcbicsJycpCi0KLSAgICAgICAgcGdycCA9IGxvY2FsZGF0YS5nZXRWYXIoJ1NFQ1RJT04nKQotICAgICAgICBwbGljZW5zZSA9IGxvY2FsZGF0YS5nZXRWYXIoJ0xJQ0VOU0UnKS5yZXBsYWNlKCcsJywnXycpCi0KLSAgICAgICAgcnN0YXR1cyA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JFQ0lQRV9DT0xPUicpCi0gICAgICAgIGlmIHJzdGF0dXMgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgcnN0YXR1cyA9IHJzdGF0dXMucmVwbGFjZSgnLCcsJycpCi0KLSAgICAgICAgcHVwdmVyID0gbG9jYWxkYXRhLmdldFZhcignUkVDSVBFX1VQU1RSRUFNX1ZFUlNJT04nKQotICAgICAgICBpZiBwY3VydmVyID09IHB1cHZlcjoKLSAgICAgICAgICAgICAgICB2ZXJtYXRjaD0iMSIKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICB2ZXJtYXRjaD0iMCIKLSAgICAgICAgbm91cGRhdGVfcmVhc29uID0gbG9jYWxkYXRhLmdldFZhcignUkVDSVBFX05PX1VQREFURV9SRUFTT04nKQotICAgICAgICBpZiBub3VwZGF0ZV9yZWFzb24gaXMgTm9uZToKLSAgICAgICAgICAgICAgICBub3VwZGF0ZT0iMCIKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBub3VwZGF0ZT0iMSIKLSAgICAgICAgICAgICAgICBub3VwZGF0ZV9yZWFzb24gPSBub3VwZGF0ZV9yZWFzb24ucmVwbGFjZSgnLCcsJycpCi0KLSAgICAgICAgbWFpbnRhaW5lciA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JFQ0lQRV9NQUlOVEFJTkVSJykKLSAgICAgICAgcmxyZCA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JFQ0lQRV9VUFNUUkVBTV9EQVRFJykKLSAgICAgICAgcmVzdWx0ID0gZGlzdF9jaGVjay5jb21wYXJlX2luX2Rpc3Ryb19wYWNrYWdlc19saXN0KGRpc3Ryb19jaGVja19kaXIsIGxvY2FsZGF0YSkKLQotICAgICAgICBiYi5ub3RlKCJESVNUUk86ICVzLCVzLCVzLCVzLCVzLCVzLCVzLCVzLCVzXG4iICUgXAotICAgICAgICAgICAgICAgICAgKHBuYW1lLCBwZGVzYywgbWFpbnRhaW5lciwgcGxpY2Vuc2UsIHZlcm1hdGNoLCBwY3VydmVyLCBwdXB2ZXIsIG5vdXBkYXRlX3JlYXNvbiwgcnN0YXR1cykpCi0gICAgICAgIGxpbmUgPSBwbgotICAgICAgICBmb3IgaSBpbiByZXN1bHQ6Ci0gICAgICAgICAgICBsaW5lID0gbGluZSArICIsIiArIGkKLSAgICAgICAgYmIubm90ZSgiJXNcbiIgJSBsaW5lKQotfQotZG9fZGlzdHJvZGF0YV9ucFt2YXJkZXBzZXhjbHVkZV0gPSAiREFURVRJTUUiCi0KLWFkZHRhc2sgZGlzdHJvZGF0YQotZG9fZGlzdHJvZGF0YVtub3N0YW1wXSA9ICIxIgotcHl0aG9uIGRvX2Rpc3Ryb2RhdGEoKSB7Ci0gICAgICAgIGltcG9ydCBjc3YKLSAgICAgICAgbG9ncGF0aCA9IGQuZ2V0VmFyKCdMT0dfRElSJykKLSAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKGxvZ3BhdGgpCi0gICAgICAgIGxvZ2ZpbGUgPSBvcy5wYXRoLmpvaW4obG9ncGF0aCwgImRpc3Ryb2RhdGEuY3N2IikKLQotICAgICAgICBpbXBvcnQgb2UuZGlzdHJvX2NoZWNrIGFzIGRpc3RfY2hlY2sKLSAgICAgICAgbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGQpCi0gICAgICAgIHRtcGRpciA9IGQuZ2V0VmFyKCdUTVBESVInKQotICAgICAgICBkaXN0cm9fY2hlY2tfZGlyID0gb3MucGF0aC5qb2luKHRtcGRpciwgImRpc3Ryb19jaGVjayIpCi0gICAgICAgIGRhdGV0aW1lID0gbG9jYWxkYXRhLmdldFZhcignREFURVRJTUUnKQotICAgICAgICBkaXN0X2NoZWNrLnVwZGF0ZV9kaXN0cm9fZGF0YShkaXN0cm9fY2hlY2tfZGlyLCBkYXRldGltZSwgbG9jYWxkYXRhKQotCi0gICAgICAgIHBuID0gZC5nZXRWYXIoIlBOIikKLSAgICAgICAgYmIubm90ZSgiUGFja2FnZSBOYW1lOiAlcyIgJSBwbikKLQotICAgICAgICBpZiBwbi5maW5kKCItbmF0aXZlIikgIT0gLTE6Ci0gICAgICAgICAgICBwbnN0cmlwcGVkID0gcG4uc3BsaXQoIi1uYXRpdmUiKQotICAgICAgICAgICAgYmIubm90ZSgiTmF0aXZlIFNwbGl0OiAlcyIgJSBwbnN0cmlwcGVkKQotICAgICAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywgInBuLSIgKyBwbnN0cmlwcGVkWzBdICsgIjoiICsgZC5nZXRWYXIoJ09WRVJSSURFUycpKQotCi0gICAgICAgIGlmIHBuLnN0YXJ0c3dpdGgoIm5hdGl2ZXNkay0iKToKLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbi5yZXBsYWNlKCJuYXRpdmVzZGstIiwgIiIpCi0gICAgICAgICAgICBiYi5ub3RlKCJOYXRpdmVTREsgU3BsaXQ6ICVzIiAlIHBuc3RyaXBwZWQpCi0gICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCAicG4tIiArIHBuc3RyaXBwZWQgKyAiOiIgKyBkLmdldFZhcignT1ZFUlJJREVTJykpCi0KLSAgICAgICAgaWYgcG4uZmluZCgiLWNyb3NzIikgIT0gLTE6Ci0gICAgICAgICAgICBwbnN0cmlwcGVkID0gcG4uc3BsaXQoIi1jcm9zcyIpCi0gICAgICAgICAgICBiYi5ub3RlKCJjcm9zcyBTcGxpdDogJXMiICUgcG5zdHJpcHBlZCkKLSAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsICJwbi0iICsgcG5zdHJpcHBlZFswXSArICI6IiArIGQuZ2V0VmFyKCdPVkVSUklERVMnKSkKLQotICAgICAgICBpZiBwbi5maW5kKCItY3Jvc3NzZGsiKSAhPSAtMToKLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbi5zcGxpdCgiLWNyb3Nzc2RrIikKLSAgICAgICAgICAgIGJiLm5vdGUoImNyb3NzIFNwbGl0OiAlcyIgJSBwbnN0cmlwcGVkKQotICAgICAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywgInBuLSIgKyBwbnN0cmlwcGVkWzBdICsgIjoiICsgZC5nZXRWYXIoJ09WRVJSSURFUycpKQotCi0gICAgICAgIGlmIHBuLmZpbmQoIi1pbml0aWFsIikgIT0gLTE6Ci0gICAgICAgICAgICBwbnN0cmlwcGVkID0gcG4uc3BsaXQoIi1pbml0aWFsIikKLSAgICAgICAgICAgIGJiLm5vdGUoImluaXRpYWwgU3BsaXQ6ICVzIiAlIHBuc3RyaXBwZWQpCi0gICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCAicG4tIiArIHBuc3RyaXBwZWRbMF0gKyAiOiIgKyBkLmdldFZhcignT1ZFUlJJREVTJykpCi0KLSAgICAgICAgIiIiZ2VuZXJhdGUgcGFja2FnZSBpbmZvcm1hdGlvbiBmcm9tIC5iYiBmaWxlIiIiCi0gICAgICAgIHBuYW1lID0gbG9jYWxkYXRhLmdldFZhcignUE4nKQotICAgICAgICBwY3VydmVyID0gbG9jYWxkYXRhLmdldFZhcignUFYnKQotICAgICAgICBwZGVzYyA9IGxvY2FsZGF0YS5nZXRWYXIoJ0RFU0NSSVBUSU9OJykKLSAgICAgICAgaWYgcGRlc2MgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgcGRlc2MgPSBwZGVzYy5yZXBsYWNlKCcsJywnJykKLSAgICAgICAgICAgICAgICBwZGVzYyA9IHBkZXNjLnJlcGxhY2UoJ1xuJywnJykKLQotICAgICAgICBwZ3JwID0gbG9jYWxkYXRhLmdldFZhcignU0VDVElPTicpCi0gICAgICAgIHBsaWNlbnNlID0gbG9jYWxkYXRhLmdldFZhcignTElDRU5TRScpLnJlcGxhY2UoJywnLCdfJykKLQotICAgICAgICByc3RhdHVzID0gbG9jYWxkYXRhLmdldFZhcignUkVDSVBFX0NPTE9SJykKLSAgICAgICAgaWYgcnN0YXR1cyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICByc3RhdHVzID0gcnN0YXR1cy5yZXBsYWNlKCcsJywnJykKLQotICAgICAgICBwdXB2ZXIgPSBsb2NhbGRhdGEuZ2V0VmFyKCdSRUNJUEVfVVBTVFJFQU1fVkVSU0lPTicpCi0gICAgICAgIGlmIHBjdXJ2ZXIgPT0gcHVwdmVyOgotICAgICAgICAgICAgICAgIHZlcm1hdGNoPSIxIgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHZlcm1hdGNoPSIwIgotCi0gICAgICAgIG5vdXBkYXRlX3JlYXNvbiA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JFQ0lQRV9OT19VUERBVEVfUkVBU09OJykKLSAgICAgICAgaWYgbm91cGRhdGVfcmVhc29uIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgbm91cGRhdGU9IjAiCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgbm91cGRhdGU9IjEiCi0gICAgICAgICAgICAgICAgbm91cGRhdGVfcmVhc29uID0gbm91cGRhdGVfcmVhc29uLnJlcGxhY2UoJywnLCcnKQotCi0gICAgICAgIG1haW50YWluZXIgPSBsb2NhbGRhdGEuZ2V0VmFyKCdSRUNJUEVfTUFJTlRBSU5FUicpCi0gICAgICAgIHJscmQgPSBsb2NhbGRhdGEuZ2V0VmFyKCdSRUNJUEVfVVBTVFJFQU1fREFURScpCi0gICAgICAgICMgZG8gdGhlIGNvbXBhcmlzb24KLSAgICAgICAgcmVzdWx0ID0gZGlzdF9jaGVjay5jb21wYXJlX2luX2Rpc3Ryb19wYWNrYWdlc19saXN0KGRpc3Ryb19jaGVja19kaXIsIGxvY2FsZGF0YSkKLQotICAgICAgICBsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKCIlcy5sb2NrIiAlIGxvZ2ZpbGUpCi0gICAgICAgIHdpdGggb3Blbihsb2dmaWxlLCAiYSIpIGFzIGY6Ci0gICAgICAgICAgICByb3cgPSBbcG5hbWUsIHBkZXNjLCBtYWludGFpbmVyLCBwbGljZW5zZSwgdmVybWF0Y2gsIHBjdXJ2ZXIsIHB1cHZlciwgbm91cGRhdGVfcmVhc29uLCByc3RhdHVzXQotICAgICAgICAgICAgcm93LmV4dGVuZChyZXN1bHQpCi0KLSAgICAgICAgICAgIHdyaXRlciA9IGNzdi53cml0ZXIoZikKLSAgICAgICAgICAgIHdyaXRlci53cml0ZXJvdyhyb3cpCi0gICAgICAgICAgICBmLmNsb3NlKCkKLSAgICAgICAgYmIudXRpbHMudW5sb2NrZmlsZShsZikKLX0KLWRvX2Rpc3Ryb2RhdGFbdmFyZGVwc2V4Y2x1ZGVdID0gIkRBVEVUSU1FIgotCi1hZGRoYW5kbGVyIGNoZWNrcGtnX2V2ZW50aGFuZGxlcgotY2hlY2twa2dfZXZlbnRoYW5kbGVyW2V2ZW50bWFza10gPSAiYmIuZXZlbnQuQnVpbGRTdGFydGVkIGJiLmV2ZW50LkJ1aWxkQ29tcGxldGVkIgotcHl0aG9uIGNoZWNrcGtnX2V2ZW50aGFuZGxlcigpIHsKLSAgICBpbXBvcnQgY3N2Ci0KLSAgICBkZWYgcGFyc2VfY3N2X2ZpbGUoZmlsZW5hbWUpOgotICAgICAgICBwYWNrYWdlX2RpY3QgPSB7fQotCi0gICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgInIiKSBhcyBmOgotICAgICAgICAgICAgcmVhZGVyID0gY3N2LnJlYWRlcihmLCBkZWxpbWl0ZXI9J1x0JykKLSAgICAgICAgICAgIGZvciByb3cgaW4gcmVhZGVyOgotICAgICAgICAgICAgICAgIHBuID0gcm93WzBdCi0KLSAgICAgICAgICAgICAgICBpZiByZWFkZXIubGluZV9udW0gPT0gMToKLSAgICAgICAgICAgICAgICAgICAgaGVhZGVyID0gcm93Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgICAgICBpZiBub3QgcG4gaW4gcGFja2FnZV9kaWN0LmtleXMoKToKLSAgICAgICAgICAgICAgICAgICAgcGFja2FnZV9kaWN0W3BuXSA9IHJvdwotICAgICAgICAgICAgZi5jbG9zZSgpCi0KLSAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAidyIpIGFzIGY6Ci0gICAgICAgICAgICB3cml0ZXIgPSBjc3Yud3JpdGVyKGYsIGRlbGltaXRlcj0nXHQnKQotICAgICAgICAgICAgd3JpdGVyLndyaXRlcm93KGhlYWRlcikKLSAgICAgICAgICAgIGZvciBwbiBpbiBwYWNrYWdlX2RpY3Qua2V5cygpOgotICAgICAgICAgICAgICAgIHdyaXRlci53cml0ZXJvdyhwYWNrYWdlX2RpY3RbcG5dKQotICAgICAgICAgICAgZi5jbG9zZSgpCi0KLSAgICAgICAgZGVsIHBhY2thZ2VfZGljdAotCi0gICAgaWYgYmIuZXZlbnQuZ2V0TmFtZShlKSA9PSAiQnVpbGRTdGFydGVkIjoKLSAgICAgICAgaW1wb3J0IG9lLmRpc3Ryb19jaGVjayBhcyBkYwotICAgICAgICBsb2dmaWxlID0gZGMuY3JlYXRlX2xvZ19maWxlKGUuZGF0YSwgImNoZWNrcGtnLmNzdiIpCi0KLSAgICAgICAgbGYgPSBiYi51dGlscy5sb2NrZmlsZSgiJXMubG9jayIgJSBsb2dmaWxlKQotICAgICAgICB3aXRoIG9wZW4obG9nZmlsZSwgImEiKSBhcyBmOgotICAgICAgICAgICAgd3JpdGVyID0gY3N2LndyaXRlcihmLCBkZWxpbWl0ZXI9J1x0JykKLSAgICAgICAgICAgIGhlYWRlcnMgPSBbJ1BhY2thZ2UnLCAnVmVyc2lvbicsICdVcHZlcicsICdMaWNlbnNlJywgJ1NlY3Rpb24nLAotICAgICAgICAgICAgICAgICdIb21lJywgJ1JlbGVhc2UnLCAnRGVwZW5kcycsICdCdWdUcmFja2VyJywgJ1BFJywgJ0Rlc2NyaXB0aW9uJywKLSAgICAgICAgICAgICAgICAnU3RhdHVzJywgJ1RyYWNraW5nJywgJ1VSSScsICdNQUlOVEFJTkVSJywgJ05vVXBSZWFzb24nXQotICAgICAgICAgICAgd3JpdGVyLndyaXRlcm93KGhlYWRlcnMpCi0gICAgICAgICAgICBmLmNsb3NlKCkKLSAgICAgICAgYmIudXRpbHMudW5sb2NrZmlsZShsZikKLSAgICBlbGlmIGJiLmV2ZW50LmdldE5hbWUoZSkgPT0gIkJ1aWxkQ29tcGxldGVkIjoKLSAgICAgICAgaW1wb3J0IG9zCi0gICAgICAgIGZpbGVuYW1lID0gInRtcC9sb2cvY2hlY2twa2cuY3N2IgotICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShmaWxlbmFtZSk6Ci0gICAgICAgICAgICBsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKCIlcy5sb2NrIiVmaWxlbmFtZSkKLSAgICAgICAgICAgIHBhcnNlX2Nzdl9maWxlKGZpbGVuYW1lKQotICAgICAgICAgICAgYmIudXRpbHMudW5sb2NrZmlsZShsZikKLSAgICByZXR1cm4KLX0KLQotYWRkdGFzayBjaGVja3BrZwotZG9fY2hlY2twa2dbbm9zdGFtcF0gPSAiMSIKLXB5dGhvbiBkb19jaGVja3BrZygpIHsKLSAgICAgICAgbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGQpCi0gICAgICAgIGltcG9ydCBjc3YKLSAgICAgICAgaW1wb3J0IHJlCi0gICAgICAgIGltcG9ydCB0ZW1wZmlsZQotICAgICAgICBpbXBvcnQgc3VicHJvY2VzcwotICAgICAgICBpbXBvcnQgb2UucmVjaXBldXRpbHMKLSAgICAgICAgZnJvbSBiYi51dGlscyBpbXBvcnQgdmVyY21wX3N0cmluZwotICAgICAgICBmcm9tIGJiLmZldGNoMiBpbXBvcnQgRmV0Y2hFcnJvciwgTm9NZXRob2RFcnJvciwgZGVjb2RldXJsCi0KLSAgICAgICAgZGVmIGdldF91cHN0cmVhbV92ZXJzaW9uX2FuZF9zdGF0dXMoKToKLQotICAgICAgICAgICAgIyBzZXQgaWYgdGhlIHVwc3RyZWFtIGNoZWNrIGZhaWxzIHJlbGlhYmx5LCBlLmcuIGFic2VudCBnaXQgdGFncywgb3Igd2VpcmQgdmVyc2lvbiBmb3JtYXQgdXNlZCBvbiBvdXIgb3Igb24gdXBzdHJlYW0gc2lkZS4KLSAgICAgICAgICAgIHVwc3RyZWFtX3ZlcnNpb25fdW5rbm93biA9IGxvY2FsZGF0YS5nZXRWYXIoJ1VQU1RSRUFNX1ZFUlNJT05fVU5LTk9XTicpCi0gICAgICAgICAgICAjIHNldCBpZiB0aGUgdXBzdHJlYW0gY2hlY2sgY2Fubm90IGJlIHJlbGlhYmx5IHBlcmZvcm1lZCBkdWUgdG8gdHJhbnNpZW50IG5ldHdvcmsgZmFpbHVyZXMsIG9yIHNlcnZlciBiZWhhdmluZyB3ZWlyZGx5LiAKLSAgICAgICAgICAgICMgVGhpcyBvbmUgc2hvdWxkIGJlIHVzZWQgc3BhcmluZ2x5LCBhcyBpdCBjb21wbGV0ZWx5IGV4Y2x1ZGVzIGEgcmVjaXBlIGZyb20gdXBzdHJlYW0gY2hlY2tpbmcuCi0gICAgICAgICAgICB1cHN0cmVhbV9jaGVja191bnJlbGlhYmxlID0gbG9jYWxkYXRhLmdldFZhcignVVBTVFJFQU1fQ0hFQ0tfVU5SRUxJQUJMRScpCi0KLSAgICAgICAgICAgIGlmIHVwc3RyZWFtX2NoZWNrX3VucmVsaWFibGUgPT0gIjEiOgotICAgICAgICAgICAgICAgIHJldHVybiAiTi9BIiwgIkNIRUNLX0lTX1VOUkVMSUFCTEUiCi0KLSAgICAgICAgICAgIHV2ID0gb2UucmVjaXBldXRpbHMuZ2V0X3JlY2lwZV91cHN0cmVhbV92ZXJzaW9uKGxvY2FsZGF0YSkKLSAgICAgICAgICAgIHB1cHZlciA9IHV2Wyd2ZXJzaW9uJ10gaWYgdXZbJ3ZlcnNpb24nXSBlbHNlICJOL0EiCi0gICAgICAgICAgICBwdmVyc2lvbiA9IHV2WydjdXJyZW50X3ZlcnNpb24nXQotICAgICAgICAgICAgcmV2aXNpb24gPSB1dlsncmV2aXNpb24nXSBpZiB1dlsncmV2aXNpb24nXSBlbHNlICJOL0EiCi0KLSAgICAgICAgICAgIGlmIHB1cHZlciA9PSAiTi9BIjoKLSAgICAgICAgICAgICAgICBwc3RhdHVzID0gIlVOS05PV04iIGlmIHVwc3RyZWFtX3ZlcnNpb25fdW5rbm93biBlbHNlICJVTktOT1dOX0JST0tFTiIKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgY21wID0gdmVyY21wX3N0cmluZyhwdmVyc2lvbiwgcHVwdmVyKQotICAgICAgICAgICAgICAgIGlmIGNtcCA9PSAtMToKLSAgICAgICAgICAgICAgICAgICAgcHN0YXR1cyA9ICJVUERBVEUiIGlmIG5vdCB1cHN0cmVhbV92ZXJzaW9uX3Vua25vd24gZWxzZSAiS05PV05fQlJPS0VOIgotICAgICAgICAgICAgICAgIGVsaWYgY21wID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIHBzdGF0dXMgPSAiTUFUQ0giIGlmIG5vdCB1cHN0cmVhbV92ZXJzaW9uX3Vua25vd24gZWxzZSAiS05PV05fQlJPS0VOIgotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHBzdGF0dXMgPSAiVU5LTk9XTiIgaWYgdXBzdHJlYW1fdmVyc2lvbl91bmtub3duIGVsc2UgIlVOS05PV05fQlJPS0VOIgotCi0gICAgICAgICAgICByZXR1cm4gcHZlcnNpb24sIHB1cHZlciwgcHN0YXR1cywgcmV2aXNpb24KLQotCi0gICAgICAgICIiImluaXRpYWxpemUgbG9nIGZpbGVzLiIiIgotICAgICAgICBsb2dwYXRoID0gZC5nZXRWYXIoJ0xPR19ESVInKQotICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIobG9ncGF0aCkKLSAgICAgICAgbG9nZmlsZSA9IG9zLnBhdGguam9pbihsb2dwYXRoLCAiY2hlY2twa2cuY3N2IikKLQotICAgICAgICAiIiJnZW5lcmF0ZSBwYWNrYWdlIGluZm9ybWF0aW9uIGZyb20gLmJiIGZpbGUiIiIKLSAgICAgICAgcG5hbWUgPSBkLmdldFZhcignUE4nKQotCi0gICAgICAgIGlmIHBuYW1lLmZpbmQoIi1uYXRpdmUiKSAhPSAtMToKLSAgICAgICAgICAgIGlmIGQuZ2V0VmFyKCdCQkNMQVNTRVhURU5EJyk6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgcG5zdHJpcHBlZCA9IHBuYW1lLnNwbGl0KCItbmF0aXZlIikKLSAgICAgICAgICAgIGJiLm5vdGUoIk5hdGl2ZSBTcGxpdDogJXMiICUgcG5zdHJpcHBlZCkKLSAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsICJwbi0iICsgcG5zdHJpcHBlZFswXSArICI6IiArIGQuZ2V0VmFyKCdPVkVSUklERVMnKSkKLQotICAgICAgICBpZiBwbmFtZS5zdGFydHN3aXRoKCJuYXRpdmVzZGstIik6Ci0gICAgICAgICAgICBpZiBkLmdldFZhcignQkJDTEFTU0VYVEVORCcpOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbmFtZS5yZXBsYWNlKCJuYXRpdmVzZGstIiwgIiIpCi0gICAgICAgICAgICBiYi5ub3RlKCJOYXRpdmVTREsgU3BsaXQ6ICVzIiAlIHBuc3RyaXBwZWQpCi0gICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCAicG4tIiArIHBuc3RyaXBwZWQgKyAiOiIgKyBkLmdldFZhcignT1ZFUlJJREVTJykpCi0KLSAgICAgICAgaWYgcG5hbWUuZmluZCgiLWNyb3NzIikgIT0gLTE6Ci0gICAgICAgICAgICBwbnN0cmlwcGVkID0gcG5hbWUuc3BsaXQoIi1jcm9zcyIpCi0gICAgICAgICAgICBiYi5ub3RlKCJjcm9zcyBTcGxpdDogJXMiICUgcG5zdHJpcHBlZCkKLSAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsICJwbi0iICsgcG5zdHJpcHBlZFswXSArICI6IiArIGQuZ2V0VmFyKCdPVkVSUklERVMnKSkKLQotICAgICAgICBpZiBwbmFtZS5maW5kKCItaW5pdGlhbCIpICE9IC0xOgotICAgICAgICAgICAgcG5zdHJpcHBlZCA9IHBuYW1lLnNwbGl0KCItaW5pdGlhbCIpCi0gICAgICAgICAgICBiYi5ub3RlKCJpbml0aWFsIFNwbGl0OiAlcyIgJSBwbnN0cmlwcGVkKQotICAgICAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywgInBuLSIgKyBwbnN0cmlwcGVkWzBdICsgIjoiICsgZC5nZXRWYXIoJ09WRVJSSURFUycpKQotCi0gICAgICAgIHBkZXNjID0gbG9jYWxkYXRhLmdldFZhcignREVTQ1JJUFRJT04nKQotICAgICAgICBwZ3JwID0gbG9jYWxkYXRhLmdldFZhcignU0VDVElPTicpCi0gICAgICAgIHBsaWNlbnNlID0gbG9jYWxkYXRhLmdldFZhcignTElDRU5TRScpCi0gICAgICAgIHBzZWN0aW9uID0gbG9jYWxkYXRhLmdldFZhcignU0VDVElPTicpCi0gICAgICAgIHBob21lID0gbG9jYWxkYXRhLmdldFZhcignSE9NRVBBR0UnKQotICAgICAgICBwcmVsZWFzZSA9IGxvY2FsZGF0YS5nZXRWYXIoJ1BSJykKLSAgICAgICAgcGRlcGVuZHMgPSBsb2NhbGRhdGEuZ2V0VmFyKCdERVBFTkRTJykKLSAgICAgICAgcGJ1Z3RyYWNrZXIgPSBsb2NhbGRhdGEuZ2V0VmFyKCdCVUdUUkFDS0VSJykKLSAgICAgICAgcHBlID0gbG9jYWxkYXRhLmdldFZhcignUEUnKQotICAgICAgICBwc3JjdXJpID0gbG9jYWxkYXRhLmdldFZhcignU1JDX1VSSScpCi0gICAgICAgIG1haW50YWluZXIgPSBsb2NhbGRhdGEuZ2V0VmFyKCdSRUNJUEVfTUFJTlRBSU5FUicpCi0KLSAgICAgICAgcHZlcnNpb24sIHB1cHZlciwgcHN0YXR1cywgcHJldmlzaW9uID0gZ2V0X3Vwc3RyZWFtX3ZlcnNpb25fYW5kX3N0YXR1cygpCi0KLSAgICAgICAgaWYgcHNyY3VyaToKLSAgICAgICAgICAgIHBzcmN1cmkgPSBwc3JjdXJpLnNwbGl0KClbMF0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHBzcmN1cmkgPSAibm9uZSIKLSAgICAgICAgcGRlcGVuZHMgPSAiIi5qb2luKHBkZXBlbmRzLnNwbGl0KCJcdCIpKQotICAgICAgICBwZGVzYyA9ICIiLmpvaW4ocGRlc2Muc3BsaXQoIlx0IikpCi0gICAgICAgIG5vX3VwZ3JfcmVhc29uID0gZC5nZXRWYXIoJ1JFQ0lQRV9OT19VUERBVEVfUkVBU09OJykKLSAgICAgICAgbGYgPSBiYi51dGlscy5sb2NrZmlsZSgiJXMubG9jayIgJSBsb2dmaWxlKQotICAgICAgICB3aXRoIG9wZW4obG9nZmlsZSwgImEiKSBhcyBmOgotICAgICAgICAgICAgd3JpdGVyID0gY3N2LndyaXRlcihmLCBkZWxpbWl0ZXI9J1x0JykKLSAgICAgICAgICAgIHdyaXRlci53cml0ZXJvdyhbcG5hbWUsIHB2ZXJzaW9uLCBwdXB2ZXIsIHBsaWNlbnNlLCBwc2VjdGlvbiwgcGhvbWUsIAotICAgICAgICAgICAgICAgIHByZWxlYXNlLCBwZGVwZW5kcywgcGJ1Z3RyYWNrZXIsIHBwZSwgcGRlc2MsIHBzdGF0dXMsIHByZXZpc2lvbiwKLSAgICAgICAgICAgICAgICBwc3JjdXJpLCBtYWludGFpbmVyLCBub191cGdyX3JlYXNvbl0pCi0gICAgICAgICAgICBmLmNsb3NlKCkKLSAgICAgICAgYmIudXRpbHMudW5sb2NrZmlsZShsZikKLX0KLQotYWRkaGFuZGxlciBkaXN0cm9fY2hlY2tfZXZlbnRoYW5kbGVyCi1kaXN0cm9fY2hlY2tfZXZlbnRoYW5kbGVyW2V2ZW50bWFza10gPSAiYmIuZXZlbnQuQnVpbGRTdGFydGVkIgotcHl0aG9uIGRpc3Ryb19jaGVja19ldmVudGhhbmRsZXIoKSB7Ci0gICAgIiIiaW5pdGlhbGl6ZSBsb2cgZmlsZXMuIiIiCi0gICAgaW1wb3J0IG9lLmRpc3Ryb19jaGVjayBhcyBkYwotICAgIHJlc3VsdF9maWxlID0gZGMuY3JlYXRlX2xvZ19maWxlKGUuZGF0YSwgImRpc3Ryb2NoZWNrLmNzdiIpCi0gICAgcmV0dXJuCi19Ci0KLWFkZHRhc2sgZGlzdHJvX2NoZWNrCi1kb19kaXN0cm9fY2hlY2tbbm9zdGFtcF0gPSAiMSIKLWRvX2Rpc3Ryb19jaGVja1t2YXJkZXBzZXhjbHVkZV0gKz0gIkRBVEVUSU1FIgotcHl0aG9uIGRvX2Rpc3Ryb19jaGVjaygpIHsKLSAgICAiIiJjaGVja3MgaWYgdGhlIHBhY2thZ2UgaXMgcHJlc2VudCBpbiBvdGhlciBwdWJsaWMgTGludXggZGlzdHJvcyIiIgotICAgIGltcG9ydCBvZS5kaXN0cm9fY2hlY2sgYXMgZGMKLSAgICBpbXBvcnQgc2h1dGlsCi0gICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3MnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdzZGsnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zc3NkaycsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZXNkaycsZCk6Ci0gICAgICAgIHJldHVybgotCi0gICAgbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGQpCi0gICAgdG1wZGlyID0gZC5nZXRWYXIoJ1RNUERJUicpCi0gICAgZGlzdHJvX2NoZWNrX2RpciA9IG9zLnBhdGguam9pbih0bXBkaXIsICJkaXN0cm9fY2hlY2siKQotICAgIGxvZ3BhdGggPSBkLmdldFZhcignTE9HX0RJUicpCi0gICAgYmIudXRpbHMubWtkaXJoaWVyKGxvZ3BhdGgpCi0gICAgcmVzdWx0X2ZpbGUgPSBvcy5wYXRoLmpvaW4obG9ncGF0aCwgImRpc3Ryb2NoZWNrLmNzdiIpCi0gICAgZGF0ZXRpbWUgPSBsb2NhbGRhdGEuZ2V0VmFyKCdEQVRFVElNRScpCi0gICAgZGMudXBkYXRlX2Rpc3Ryb19kYXRhKGRpc3Ryb19jaGVja19kaXIsIGRhdGV0aW1lLCBsb2NhbGRhdGEpCi0KLSAgICAjIGRvIHRoZSBjb21wYXJpc29uCi0gICAgcmVzdWx0ID0gZGMuY29tcGFyZV9pbl9kaXN0cm9fcGFja2FnZXNfbGlzdChkaXN0cm9fY2hlY2tfZGlyLCBkKQotCi0gICAgIyBzYXZlIHRoZSByZXN1bHRzCi0gICAgZGMuc2F2ZV9kaXN0cm9fY2hlY2tfcmVzdWx0KHJlc3VsdCwgZGF0ZXRpbWUsIHJlc3VsdF9maWxlLCBkKQotfQotCi0jCi0jQ2hlY2sgTWlzc2luZyBMaWNlbnNlIFRleHQuCi0jVXNlIHRoaXMgdGFzayB0byBnZW5lcmF0ZSB0aGUgbWlzc2luZyBsaWNlbnNlIHRleHQgZGF0YSBmb3IgcGtnLXJlcG9ydCBzeXN0ZW0sCi0jdGhlbiB3ZSBjYW4gc2VhcmNoIHRob3NlIHJlY2lwZXMgd2hpY2ggbGljZW5zZSB0ZXh0IGlzbid0IGV4c2l0IGluIGNvbW1vbi1saWNlbnNlcyBkaXJlY3RvcnkKLSMKLWFkZGhhbmRsZXIgY2hlY2tsaWNlbnNlX2V2ZW50aGFuZGxlcgotY2hlY2tsaWNlbnNlX2V2ZW50aGFuZGxlcltldmVudG1hc2tdID0gImJiLmV2ZW50LkJ1aWxkU3RhcnRlZCIKLXB5dGhvbiBjaGVja2xpY2Vuc2VfZXZlbnRoYW5kbGVyKCkgewotICAgICIiImluaXRpYWxpemUgbG9nIGZpbGVzLiIiIgotICAgIGltcG9ydCBjc3YKLSAgICBpbXBvcnQgb2UuZGlzdHJvX2NoZWNrIGFzIGRjCi0gICAgbG9nZmlsZSA9IGRjLmNyZWF0ZV9sb2dfZmlsZShlLmRhdGEsICJtaXNzaW5nbGljZW5zZS5jc3YiKQotICAgIGxmID0gYmIudXRpbHMubG9ja2ZpbGUoIiVzLmxvY2siICUgbG9nZmlsZSkKLSAgICB3aXRoIG9wZW4obG9nZmlsZSwgImEiKSBhcyBmOgotICAgICAgICB3cml0ZXIgPSBjc3Yud3JpdGVyKGYsIGRlbGltaXRlcj0nXHQnKQotICAgICAgICB3cml0ZXIud3JpdGVyb3coWydQYWNrYWdlJywgJ0xpY2Vuc2UnLCAnTWlzc2luZ0xpY2Vuc2UnXSkKLSAgICAgICAgZi5jbG9zZSgpCi0gICAgYmIudXRpbHMudW5sb2NrZmlsZShsZikKLSAgICByZXR1cm4KLX0KLQotYWRkdGFzayBjaGVja2xpY2Vuc2UKLWRvX2NoZWNrbGljZW5zZVtub3N0YW1wXSA9ICIxIgotcHl0aG9uIGRvX2NoZWNrbGljZW5zZSgpIHsKLSAgICBpbXBvcnQgY3N2Ci0gICAgaW1wb3J0IHNodXRpbAotICAgIGxvZ3BhdGggPSBkLmdldFZhcignTE9HX0RJUicpCi0gICAgYmIudXRpbHMubWtkaXJoaWVyKGxvZ3BhdGgpCi0gICAgcG4gPSBkLmdldFZhcignUE4nKQotICAgIGxvZ2ZpbGUgPSBvcy5wYXRoLmpvaW4obG9ncGF0aCwgIm1pc3NpbmdsaWNlbnNlLmNzdiIpCi0gICAgZ2VuZXJpY19kaXJlY3RvcnkgPSBkLmdldFZhcignQ09NTU9OX0xJQ0VOU0VfRElSJykKLSAgICBsaWNlbnNlX3R5cGVzID0gZC5nZXRWYXIoJ0xJQ0VOU0UnKQotICAgIGZvciBsaWNlbnNlX3R5cGUgaW4gKChsaWNlbnNlX3R5cGVzLnJlcGxhY2UoJysnLCAnJykucmVwbGFjZSgnfCcsICcmJykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoJygnLCAnJykucmVwbGFjZSgnKScsICcnKS5yZXBsYWNlKCc7JywgJycpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKCcsJywgJycpLnJlcGxhY2UoIiAiLCAiIikuc3BsaXQoIiYiKSkpOgotICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUob3MucGF0aC5qb2luKGdlbmVyaWNfZGlyZWN0b3J5LCBsaWNlbnNlX3R5cGUpKToKLSAgICAgICAgICAgIGxmID0gYmIudXRpbHMubG9ja2ZpbGUoIiVzLmxvY2siICUgbG9nZmlsZSkKLSAgICAgICAgICAgIHdpdGggb3Blbihsb2dmaWxlLCAiYSIpIGFzIGY6Ci0gICAgICAgICAgICAgICAgd3JpdGVyID0gY3N2LndyaXRlcihmLCBkZWxpbWl0ZXI9J1x0JykKLSAgICAgICAgICAgICAgICB3cml0ZXIud3JpdGVyb3coW3BuLCBsaWNlbnNlX3R5cGVzLCBsaWNlbnNlX3R5cGVdKQotICAgICAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICAgICAgYmIudXRpbHMudW5sb2NrZmlsZShsZikKLSAgICByZXR1cm4KLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2Rpc3R1dGlscy10b29scy5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvZGlzdHV0aWxzLXRvb2xzLmJiY2xhc3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmMjg4MGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZGlzdHV0aWxzLXRvb2xzLmJiY2xhc3MKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi1ESVNUVVRJTFNfQlVJTERfQVJHUyA/PSAiIgotRElTVFVUSUxTX1NUQUdFX0hFQURFUlNfQVJHUyA/PSAiLS1pbnN0YWxsLWRpcj0ke1NUQUdJTkdfSU5DRElSfS8ke1BZVEhPTl9ESVJ9IgotRElTVFVUSUxTX1NUQUdFX0FMTF9BUkdTID89ICItLXByZWZpeD0ke1NUQUdJTkdfRElSX0hPU1R9JHtwcmVmaXh9IFwKLSAgICAtLWluc3RhbGwtZGF0YT0ke1NUQUdJTkdfREFUQURJUn0iCi1ESVNUVVRJTFNfSU5TVEFMTF9BUkdTID89ICItLXByZWZpeD0ke0R9LyR7cHJlZml4fSBcCi0gICAgLS1pbnN0YWxsLWRhdGE9JHtEfS8ke2RhdGFkaXJ9IgotCi1kaXN0dXRpbHNfZG9fY29tcGlsZSgpIHsKLSAgICAgICAgIFNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJ9IFwKLSAgICAgICAgIFNUQUdJTkdfTElCRElSPSR7U1RBR0lOR19MSUJESVJ9IFwKLSAgICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS8ke1BZVEhPTl9QTn0tbmF0aXZlLyR7UFlUSE9OX1BOfSBzZXR1cC5weSBidWlsZCAke0RJU1RVVElMU19CVUlMRF9BUkdTfSB8fCBcCi0gICAgICAgICBiYmZhdGFsX2xvZyAiJHtQWVRIT05fUE59IHNldHVwLnB5IGJ1aWxkX2V4dCBleGVjdXRpb24gZmFpbGVkLiIKLX0KLQotZGlzdHV0aWxzX3N0YWdlX2hlYWRlcnMoKSB7Ci0gICAgICAgIGluc3RhbGwgLWQgJHtTVEFHSU5HX0RJUl9IT1NUfSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9Ci0gICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS8ke1BZVEhPTl9QTn0tbmF0aXZlLyR7UFlUSE9OX1BOfSBzZXR1cC5weSBpbnN0YWxsX2hlYWRlcnMgJHtESVNUVVRJTFNfU1RBR0VfSEVBREVSU19BUkdTfSB8fCBcCi0gICAgICAgIGJiZmF0YWxfbG9nICIke1BZVEhPTl9QTn0gc2V0dXAucHkgaW5zdGFsbF9oZWFkZXJzIGV4ZWN1dGlvbiBmYWlsZWQuIgotfQotCi1kaXN0dXRpbHNfc3RhZ2VfYWxsKCkgewotICAgICAgICBTVEFHSU5HX0lOQ0RJUj0ke1NUQUdJTkdfSU5DRElSfSBcCi0gICAgICAgIFNUQUdJTkdfTElCRElSPSR7U1RBR0lOR19MSUJESVJ9IFwKLSAgICAgICAgaW5zdGFsbCAtZCAke1NUQUdJTkdfRElSX0hPU1R9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0KLSAgICAgICAgUFlUSE9OUEFUSD0ke1NUQUdJTkdfRElSX0hPU1R9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gXAotICAgICAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vJHtQWVRIT05fUE59LW5hdGl2ZS8ke1BZVEhPTl9QTn0gc2V0dXAucHkgaW5zdGFsbCAke0RJU1RVVElMU19TVEFHRV9BTExfQVJHU30gfHwgXAotICAgICAgICBiYmZhdGFsX2xvZyAiJHtQWVRIT05fUE59IHNldHVwLnB5IGluc3RhbGwgKHN0YWdlKSBleGVjdXRpb24gZmFpbGVkLiIKLX0KLQotZGlzdHV0aWxzX2RvX2luc3RhbGwoKSB7Ci0gICAgICAgIGVjaG8gIkJlZ2lubmluZyAke1BOfSBJbnN0YWxsIC4uLiIKLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0KLSAgICAgICAgZWNobyAiU3RlcCAyIG9mICR7UE59IEluc3RhbGwgLi4uIgotICAgICAgICBTVEFHSU5HX0lOQ0RJUj0ke1NUQUdJTkdfSU5DRElSfSBcCi0gICAgICAgIFNUQUdJTkdfTElCRElSPSR7U1RBR0lOR19MSUJESVJ9IFwKLSAgICAgICAgUFlUSE9OUEFUSD0ke0R9LyR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IFwKLSAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LyR7UFlUSE9OX1BOfS1uYXRpdmUvJHtQWVRIT05fUE59IHNldHVwLnB5IGluc3RhbGwgLS1pbnN0YWxsLWxpYj0ke0R9LyR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9ICR7RElTVFVUSUxTX0lOU1RBTExfQVJHU30gfHwgXAotICAgICAgICBiYmZhdGFsX2xvZyAiJHtQWVRIT05fUE59IHNldHVwLnB5IGluc3RhbGwgZXhlY3V0aW9uIGZhaWxlZC4iCi0KLSAgICAgICAgZWNobyAiU3RlcCAzIG9mICR7UE59IEluc3RhbGwgLi4uIgotICAgICAgICAjIHN1cHBvcnQgZmlsZW5hbWVzIHdpdGggKnNwYWNlcyoKLSAgICAgICAgZmluZCAke0R9IC1uYW1lICIqLnB5IiAtcHJpbnQwIHwgd2hpbGUgcmVhZCAtZCAkJ1wwJyBpIDsgZG8gXAotICAgICAgICAgICAgc2VkIC1pIC1lIHM6JHtEfTo6ZyAkaQotICAgICAgICBkb25lCi0KLSAgICAgICAgZWNobyAiU3RlcCA0IG9mICR7UE59IEluc3RhbGwgLi4uIgotICAgICAgICBpZiB0ZXN0IC1lICR7RH0ke2JpbmRpcn0gOyB0aGVuCQotICAgICAgICAgICAgZm9yIGkgaW4gJHtEfSR7YmluZGlyfS8qIDsgZG8gXAotICAgICAgICAgICAgICAgIHNlZCAtaSAtZSBzOiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfToke2JpbmRpcn06ZyAkaQotICAgICAgICAgICAgZG9uZQotICAgICAgICBmaQotCi0gICAgICAgIGVjaG8gIlN0ZXAgNCBvZiAke1BOfSBJbnN0YWxsIC4uLiIKLSAgICAgICAgaWYgdGVzdCAtZSAke0R9JHtzYmluZGlyfTsgdGhlbgotICAgICAgICAgICAgZm9yIGkgaW4gJHtEfSR7c2JpbmRpcn0vKiA7IGRvIFwKLSAgICAgICAgICAgICAgICBzZWQgLWkgLWUgczoke1NUQUdJTkdfQklORElSX05BVElWRX06JHtiaW5kaXJ9OmcgJGkKLSAgICAgICAgICAgIGRvbmUKLSAgICAgICAgZmkKLQotICAgICAgICBlY2hvICJTdGVwIDUgb2YgJHtQTn0gSW5zdGFsbCAuLi4iCi0gICAgICAgIHJtIC1mICR7RH0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS9lYXN5LWluc3RhbGwucHRoCi0gICAgICAgIAotICAgICAgICAjCi0gICAgICAgICMgRklYTUU6IEJhbmRhaWQgYWdhaW5zdCB3cm9uZyBkYXRhZGlyIGNvbXB1dGF0aW9uCi0gICAgICAgICMKLSAgICAgICAgaWYgWyAtZSAke0R9JHtkYXRhZGlyfS9zaGFyZSBdOyB0aGVuCi0gICAgICAgICAgICBtdiAtZiAke0R9JHtkYXRhZGlyfS9zaGFyZS8qICR7RH0ke2RhdGFkaXJ9LwotICAgICAgICBmaQotfQotCi0jRVhQT1JUX0ZVTkNUSU9OUyBkb19jb21waWxlIGRvX2luc3RhbGwKLQotZXhwb3J0IExEU0hBUkVEPSIke0NDTER9IC1zaGFyZWQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9leHRyYXVzZXJzLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9leHRyYXVzZXJzLmJiY2xhc3MKaW5kZXggNzcwOTQwNy4uMzI1NjllOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZXh0cmF1c2Vycy5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2V4dHJhdXNlcnMuYmJjbGFzcwpAQCAtMSwxOCArMSwxNyBAQAotIyBUaGlzIGJiY2xhc3MgaXMgbWFpbmx5IHVzZWQgZm9yIGltYWdlIGxldmVsIHVzZXIvZ3JvdXAgY29uZmlndXJhdGlvbi4KKyMgVGhpcyBiYmNsYXNzIGlzIHVzZWQgZm9yIGltYWdlIGxldmVsIHVzZXIvZ3JvdXAgY29uZmlndXJhdGlvbi4KICMgSW5oZXJpdCB0aGlzIGNsYXNzIGlmIHlvdSB3YW50IHRvIG1ha2UgRVhUUkFfVVNFUlNfUEFSQU1TIGVmZmVjdGl2ZS4KIAogIyBCZWxvdyBpcyBhbiBleGFtcGxlIHNob3dpbmcgaG93IHRvIHVzZSB0aGlzIGZ1bmN0aW9uYWxpdHkuCi0jIElOSEVSSVQgKz0gImV4dHJhdXNlcnMiCisjIElNQUdFX0NMQVNTRVMgKz0gImV4dHJhdXNlcnMiCiAjIEVYVFJBX1VTRVJTX1BBUkFNUyA9ICJcCi0jIHVzZXJhZGQgLXAgJycgdGVzdGVyOyBcCi0jIGdyb3VwYWRkIGRldmVsb3BlcnM7IFwKLSMgdXNlcmRlbCBub2JvZHk7IFwKLSMgZ3JvdXBkZWwgLWcgdmlkZW87IFwKLSMgZ3JvdXBtb2QgLWcgMTAyMCBkZXZlbG9wZXJzOyBcCi0jIHVzZXJtb2QgLXMgL2Jpbi9zaCB0ZXN0ZXI7IFwKKyMgICAgIHVzZXJhZGQgLXAgJycgdGVzdGVyOyBcCisjICAgICBncm91cGFkZCBkZXZlbG9wZXJzOyBcCisjICAgICB1c2VyZGVsIG5vYm9keTsgXAorIyAgICAgZ3JvdXBkZWwgLWcgdmlkZW87IFwKKyMgICAgIGdyb3VwbW9kIC1nIDEwMjAgZGV2ZWxvcGVyczsgXAorIyAgICAgdXNlcm1vZCAtcyAvYmluL3NoIHRlc3RlcjsgXAogIyAiCiAKLQogaW5oZXJpdCB1c2VyYWRkX2Jhc2UKIAogUEFDS0FHRV9JTlNUQUxMX2FwcGVuZCA9ICIgJHtAWycnLCAnYmFzZS1wYXNzd2Qgc2hhZG93J11bYm9vbChkLmdldFZhcignRVhUUkFfVVNFUlNfUEFSQU1TJykpXX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9mb250Y2FjaGUuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2ZvbnRjYWNoZS5iYmNsYXNzCmluZGV4IGY3MWE3NTQuLjEzZjlkZjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2ZvbnRjYWNoZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2ZvbnRjYWNoZS5iYmNsYXNzCkBAIC0yMCw2ICsyMCw3IEBACiAJJElOVEVSQ0VQVF9ESVIvcG9zdGluc3RfaW50ZXJjZXB0IHVwZGF0ZV9mb250X2NhY2hlICR7UEtHfSBtbHByZWZpeD0ke01MUFJFRklYfSBiaW5wcmVmaXg9JHtNTFBSRUZJWH0gXAogCQknYmluZGlyPSIke2JpbmRpcn0iJyBcCiAJCSdsaWJkaXI9IiR7bGliZGlyfSInIFwKKyAgICAgICAgICAgICAgICAnbGliZXhlY2Rpcj0iJHtsaWJleGVjZGlyfSInIFwKIAkJJ2Jhc2VfbGliZGlyPSIke2Jhc2VfbGliZGlyfSInIFwKIAkJJ2ZvbnRjb25maWdjYWNoZWRpcj0iJHtGT05UQ09ORklHX0NBQ0hFX0RJUn0iJyBcCiAJCSdmb250Y29uZmlnY2FjaGVwYXJhbXM9IiR7Rk9OVENPTkZJR19DQUNIRV9QQVJBTVN9IicgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvZ2NvbmYuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2djb25mLmJiY2xhc3MKaW5kZXggNGUwZWUyZS4uM2UzYzUwOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZ2NvbmYuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9nY29uZi5iYmNsYXNzCkBAIC00OSw3ICs0OSw3IEBACiAgICAgZm9yIHBrZyBpbiBwYWNrYWdlczoKICAgICAgICAgc2NoZW1hX2RpciA9ICclcy8lcy9ldGMvZ2NvbmYvc2NoZW1hcycgJSAocGtnZGVzdCwgcGtnKQogICAgICAgICBzY2hlbWFzID0gW10KLSAgICAgICAgc2NoZW1hX3JlID0gcmUuY29tcGlsZSgiLipcLnNjaGVtYXMkIikKKyAgICAgICAgc2NoZW1hX3JlID0gcmUuY29tcGlsZShyIi4qXC5zY2hlbWFzJCIpCiAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNjaGVtYV9kaXIpOgogICAgICAgICAgICAgZm9yIGYgaW4gb3MubGlzdGRpcihzY2hlbWFfZGlyKToKICAgICAgICAgICAgICAgICBpZiBzY2hlbWFfcmUubWF0Y2goZik6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9nby5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvZ28uYmJjbGFzcwppbmRleCBhZjMzMWY4Li43MDY5YzVmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9nby5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2dvLmJiY2xhc3MKQEAgLTQ1LDcgKzQ1LDYgQEAKIAogQiA9ICIke1dPUktESVJ9L2J1aWxkIgogZXhwb3J0IEdPUEFUSCA9ICIke0J9IgotZXhwb3J0IEdPQ0FDSEUgPSAib2ZmIgogZXhwb3J0IEdPVE1QRElSID89ICIke1dPUktESVJ9L2dvLXRtcCIKIEdPVE1QRElSW3ZhcmRlcHZhbHVlXSA9ICIiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2dvYXJjaC5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvZ29hcmNoLmJiY2xhc3MKaW5kZXggYjJjOTRmYS4uN2FhZjI2YSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZ29hcmNoLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZ29hcmNoLmJiY2xhc3MKQEAgLTQyLDYgKzQyLDEwIEBACiBTRUNVUklUWV9DRkxBR1NfbWlwc2FyY2ggPSAiJHtTRUNVUklUWV9OT1BJRV9DRkxBR1N9IgogU0VDVVJJVFlfTk9QSUVfQ0ZMQUdTID8/PSAiIgogCisjIGdvIGNhbid0IGJlIGJ1aWx0IHdpdGggY2NhY2hlOgorIyBnY2M6IGZhdGFsIGVycm9yOiBubyBpbnB1dCBmaWxlcworQ0NBQ0hFX0RJU0FCTEUgPz0gIjEiCisKIGRlZiBnb19tYXBfYXJjaChhLCBkKToKICAgICBpbXBvcnQgcmUKICAgICBpZiByZS5tYXRjaCgnaS44NicsIGEpOgpAQCAtNjQsNiArNjgsOCBAQAogICAgICAgICByZXR1cm4gJ3BwYzY0JwogICAgIGVsaWYgcmUubWF0Y2goJ3AocGN8b3dlcnBjKSg2NGVsKScsIGEpOgogICAgICAgICByZXR1cm4gJ3BwYzY0bGUnCisgICAgZWxpZiBhID09ICdyaXNjdjY0JzoKKyAgICAgICAgcmV0dXJuICdyaXNjdjY0JwogICAgIGVsc2U6CiAgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoIlVuc3VwcG9ydGVkIENQVSBhcmNoaXRlY3R1cmU6ICVzIiAlIGEpCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2dvYmplY3QtaW50cm9zcGVjdGlvbi5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvZ29iamVjdC1pbnRyb3NwZWN0aW9uLmJiY2xhc3MKaW5kZXggYTMyM2MxZi4uNGNlYjBjNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZ29iamVjdC1pbnRyb3NwZWN0aW9uLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZ29iamVjdC1pbnRyb3NwZWN0aW9uLmJiY2xhc3MKQEAgLTI1LDcgKzI1LDcgQEAKIERFUEVORFNfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLW5hdGl2ZSIKIAogIyBUaGlzIGlzIHVzZWQgYnkgaW50cm9zcGVjdGlvbiB0b29scyB0byBmaW5kIC5naXIgaW5jbHVkZXMKLWV4cG9ydCBYREdfREFUQV9ESVJTID0gIiR7U1RBR0lOR19EQVRBRElSfSIKK2V4cG9ydCBYREdfREFUQV9ESVJTID0gIiR7U1RBR0lOR19EQVRBRElSfToke1NUQUdJTkdfTElCRElSfSIKIAogZG9fY29uZmlndXJlX3ByZXBlbmRfY2xhc3MtdGFyZ2V0ICgpIHsKICAgICAjIGludHJvc3BlY3Rpb24ubTQgcHJlLXBhY2thZ2VkIHdpdGggdXBzdHJlYW0gdGFyYmFsbHMgZG9lcyBub3QgeWV0CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9nc2V0dGluZ3MuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2dzZXR0aW5ncy5iYmNsYXNzCmluZGV4IGVhZTNkYzcuLjMzYWZjOTYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2dzZXR0aW5ncy5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2dzZXR0aW5ncy5iYmNsYXNzCkBAIC03LDMyICs3LDM2IEBACiAKICMgVE9ETyB1c2UgYSB0cmlnZ2VyIHNvIHRoYXQgdGhpcyBydW5zIG9uY2UgcGVyIHBhY2thZ2Ugb3BlcmF0aW9uIHJ1bgogCitHU0VUVElOR1NfUEFDS0FHRSA/PSAiJHtQTn0iCiAKLVJERVBFTkRTXyR7UE59ICs9ICJnbGliLTIuMC11dGlscyIKLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZ2xpYi0yLjAvc2NoZW1hcyIKLQotUEFDS0FHRV9XUklURV9ERVBTICs9ICJnbGliLTIuMC1uYXRpdmUiCitweXRob24gX19hbm9ueW1vdXMoKSB7CisgICAgcGtnID0gZC5nZXRWYXIoIkdTRVRUSU5HU19QQUNLQUdFIikKKyAgICBpZiBwa2c6CisgICAgICAgIGQuYXBwZW5kVmFyKCJQQUNLQUdFX1dSSVRFX0RFUFMiLCAiIGdsaWItMi4wLW5hdGl2ZSIpCisgICAgICAgIGQuYXBwZW5kVmFyKCJSREVQRU5EU18iICsgcGtnLCAiICR7TUxQUkVGSVh9Z2xpYi0yLjAtdXRpbHMiKQorICAgICAgICBkLmFwcGVuZFZhcigiRklMRVNfIiArIHBrZywgIiAke2RhdGFkaXJ9L2dsaWItMi4wL3NjaGVtYXMiKQorfQogCiBnc2V0dGluZ3NfcG9zdGluc3RybSAoKSB7CiAJZ2xpYi1jb21waWxlLXNjaGVtYXMgJEQke2RhdGFkaXJ9L2dsaWItMi4wL3NjaGVtYXMKIH0KIAogcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX2FwcGVuZCAoKSB7Ci0gICAgcGtnID0gZC5nZXRWYXIoJ1BOJykKLSAgICBiYi5ub3RlKCJhZGRpbmcgZ3NldHRpbmdzIHBvc3RpbnN0IHNjcmlwdHMgdG8gJXMiICUgcGtnKQorICAgIHBrZyA9IGQuZ2V0VmFyKCdHU0VUVElOR1NfUEFDS0FHRScpCisgICAgaWYgcGtnOgorICAgICAgICBiYi5ub3RlKCJhZGRpbmcgZ3NldHRpbmdzIHBvc3RpbnN0IHNjcmlwdHMgdG8gJXMiICUgcGtnKQogCi0gICAgcG9zdGluc3QgPSBkLmdldFZhcigncGtnX3Bvc3RpbnN0XyVzJyAlIHBrZykgb3IgZC5nZXRWYXIoJ3BrZ19wb3N0aW5zdCcpCi0gICAgaWYgbm90IHBvc3RpbnN0OgotICAgICAgICBwb3N0aW5zdCA9ICcjIS9iaW4vc2hcbicKLSAgICBwb3N0aW5zdCArPSBkLmdldFZhcignZ3NldHRpbmdzX3Bvc3RpbnN0cm0nKQotICAgIGQuc2V0VmFyKCdwa2dfcG9zdGluc3RfJXMnICUgcGtnLCBwb3N0aW5zdCkKKyAgICAgICAgcG9zdGluc3QgPSBkLmdldFZhcigncGtnX3Bvc3RpbnN0XyVzJyAlIHBrZykgb3IgZC5nZXRWYXIoJ3BrZ19wb3N0aW5zdCcpCisgICAgICAgIGlmIG5vdCBwb3N0aW5zdDoKKyAgICAgICAgICAgIHBvc3RpbnN0ID0gJyMhL2Jpbi9zaFxuJworICAgICAgICBwb3N0aW5zdCArPSBkLmdldFZhcignZ3NldHRpbmdzX3Bvc3RpbnN0cm0nKQorICAgICAgICBkLnNldFZhcigncGtnX3Bvc3RpbnN0XyVzJyAlIHBrZywgcG9zdGluc3QpCiAKLSAgICBiYi5ub3RlKCJhZGRpbmcgZ3NldHRpbmdzIHBvc3RybSBzY3JpcHRzIHRvICVzIiAlIHBrZykKKyAgICAgICAgYmIubm90ZSgiYWRkaW5nIGdzZXR0aW5ncyBwb3N0cm0gc2NyaXB0cyB0byAlcyIgJSBwa2cpCiAKLSAgICBwb3N0cm0gPSBkLmdldFZhcigncGtnX3Bvc3RybV8lcycgJSBwa2cpIG9yIGQuZ2V0VmFyKCdwa2dfcG9zdHJtJykKLSAgICBpZiBub3QgcG9zdHJtOgotICAgICAgICBwb3N0cm0gPSAnIyEvYmluL3NoXG4nCi0gICAgcG9zdHJtICs9IGQuZ2V0VmFyKCdnc2V0dGluZ3NfcG9zdGluc3RybScpCi0gICAgZC5zZXRWYXIoJ3BrZ19wb3N0cm1fJXMnICUgcGtnLCBwb3N0cm0pCisgICAgICAgIHBvc3RybSA9IGQuZ2V0VmFyKCdwa2dfcG9zdHJtXyVzJyAlIHBrZykgb3IgZC5nZXRWYXIoJ3BrZ19wb3N0cm0nKQorICAgICAgICBpZiBub3QgcG9zdHJtOgorICAgICAgICAgICAgcG9zdHJtID0gJyMhL2Jpbi9zaFxuJworICAgICAgICBwb3N0cm0gKz0gZC5nZXRWYXIoJ2dzZXR0aW5nc19wb3N0aW5zdHJtJykKKyAgICAgICAgZC5zZXRWYXIoJ3BrZ19wb3N0cm1fJXMnICUgcGtnLCBwb3N0cm0pCiB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9ndGstZG9jLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9ndGstZG9jLmJiY2xhc3MKaW5kZXggYjRmNjc1NC4uNzA3ZDc0ZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZ3RrLWRvYy5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2d0ay1kb2MuYmJjbGFzcwpAQCAtNDEsNyArNDEsNyBAQAogICAgIGlmIFsgJHtHVEtET0NfRU5BQkxFRH0gPSBUcnVlIF07IHRoZW4KICAgICAgICAgIyBXcml0ZSBvdXQgYSBxZW11IHdyYXBwZXIgdGhhdCB3aWxsIGJlIGdpdmVuIHRvIGd0a2RvYy1zY2FuZ29iaiBzbyB0aGF0IGl0CiAgICAgICAgICMgY2FuIHJ1biB0YXJnZXQgaGVscGVyIGJpbmFyaWVzIHRocm91Z2ggdGhhdC4KLSAgICAgICAgcWVtdV9iaW5hcnk9IiR7QHFlbXVfd3JhcHBlcl9jbWRsaW5lKGQsICckU1RBR0lOR19ESVJfSE9TVCcsIFsnXCRHSVJfRVhUUkFfTElCU19QQVRIJywnJFNUQUdJTkdfRElSX0hPU1QvJHtsaWJkaXJ9JywnJFNUQUdJTkdfRElSX0hPU1QvJHtiYXNlX2xpYmRpcn0nXSl9IgorICAgICAgICBxZW11X2JpbmFyeT0iJHtAcWVtdV93cmFwcGVyX2NtZGxpbmUoZCwgJyRTVEFHSU5HX0RJUl9IT1NUJywgWydcXCRHSVJfRVhUUkFfTElCU19QQVRIJywnJFNUQUdJTkdfRElSX0hPU1QvJHtsaWJkaXJ9JywnJFNUQUdJTkdfRElSX0hPU1QvJHtiYXNlX2xpYmRpcn0nXSl9IgogICAgICAgICBjYXQgPiAke0J9L2d0a2RvYy1xZW11d3JhcHBlciA8PCBFT0YKICMhL2Jpbi9zaAogIyBVc2UgYSBtb2R1bGVzIGRpcmVjdG9yeSB3aGljaCBkb2Vzbid0IGV4aXN0IHNvIHdlIGRvbid0IGxvYWQgcmFuZG9tIHRoaW5ncwpAQCAtNTEsNiArNTEsOSBAQAogR0lSX0VYVFJBX0xJQlNfUEFUSD1cYGZpbmQgJHtCfSAtbmFtZSAqLnNvIC1wcmludGYgIiVoXG4ifHNvcnR8dW5pcXwgdHIgJ1xuJyAnOidcYFwkR0lSX0VYVFJBX0xJQlNfUEFUSAogR0lSX0VYVFJBX0xJQlNfUEFUSD1cYGZpbmQgJHtCfSAtbmFtZSAubGlic3wgdHIgJ1xuJyAnOidcYFwkR0lSX0VYVFJBX0xJQlNfUEFUSAogCisjIG1lc29uIHNldHMgdGhpcyB3cm9uZ2x5IChvbmx5IHRvIGxpYnMgaW4gYnVpbGQtZGlyKSwgcWVtdS13cmFwcGVyX2NtZGxpbmUoKSBhbmQgR0lSX0VYVFJBX0xJQlNfUEFUSCB0YWtlIGNhcmUgb2YgaXQgcHJvcGVybHkKK3Vuc2V0IExEX0xJQlJBUllfUEFUSAorCiBpZiBbIC1kICIubGlicyIgXTsgdGhlbgogICAgICRxZW11X2JpbmFyeSAiLmxpYnMvXCRAIgogZWxzZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvaWNlY2MuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2ljZWNjLmJiY2xhc3MKaW5kZXggN2Q5NDUyNS4uNmQwMDNkYyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvaWNlY2MuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9pY2VjYy5iYmNsYXNzCkBAIC0zNCw2ICszNCw3IEBACiAgICAgSUNFQ0NfREVCVUcgSUNFQ0NfTE9HRklMRSBJQ0VDQ19SRVBFQVRfUkFURSBJQ0VDQ19QUkVGRVJSRURfSE9TVCBcCiAgICAgSUNFQ0NfQ0xBTkdfUkVNT1RFX0NQUCBJQ0VDQ19JR05PUkVfVU5WRVJJRklFRCBJQ0VDQ19URVNUX1NPQ0tFVCBcCiAgICAgSUNFQ0NfRU5WX0RFQlVHIElDRUNDX1NZU1RFTV9QQUNLQUdFX0JMIElDRUNDX1NZU1RFTV9DTEFTU19CTCBcCisgICAgSUNFQ0NfUkVNT1RFX0NQUCBcCiAgICAgIgogCiBJQ0VDQ19FTlZfRVhFQyA/PSAiJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2ljZWNjLWNyZWF0ZS1lbnYiCkBAIC01Niw2ICs1Nyw4IEBACiAjIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2ljZWNjL2ljZWNyZWFtL2lzc3Vlcy8xOTAKIGV4cG9ydCBJQ0VDQ19DQVJFVF9XT1JLQVJPVU5EID8/PSAiMCIKIAorZXhwb3J0IElDRUNDX1JFTU9URV9DUFAgPz89ICIxIgorCiBJQ0VDQ19DRkxBR1MgPSAiIgogQ0ZMQUdTICs9ICIke0lDRUNDX0NGTEFHU30iCiBDWFhGTEFHUyArPSAiJHtJQ0VDQ19DRkxBR1N9IgpAQCAtMTMwLDYgKzEzMywxMyBAQAogICAgICAgICByZXR1cm4gIm5vIgogCiAgICAgcG4gPSBkLmdldFZhcignUE4nKQorICAgIGJwbiA9IGQuZ2V0VmFyKCdCUE4nKQorCisgICAgIyBCbGFja2xpc3Qvd2hpdGVsaXN0IGNoZWNrcyBhcmUgbWFkZSBhZ2FpbnN0IEJQTiwgYmVjYXVzZSB0aGVyZSBpcyBhIGdvb2QKKyAgICAjIGNoYW5jZSB0aGF0IGlmIGljZWNjIHNob3VsZCBiZSBza2lwcGVkIGZvciBhIHJlY2lwZSwgaXQgc2hvdWxkIGJlIHNraXBwZWQKKyAgICAjIGZvciBhbGwgdGhlIHZhcmlhbnRzIG9mIHRoYXQgcmVjaXBlLiBQTiBpcyBzdGlsbCBjaGVja2VkIGluIGNhc2UgYSB1c2VyCisgICAgIyBzcGVjaWZpZWQgYSBtb3JlIHNwZWNpZmljIHJlY2lwZS4KKyAgICBjaGVja19wbiA9IHNldChbcG4sIGJwbl0pCiAKICAgICBzeXN0ZW1fY2xhc3NfYmxhY2tsaXN0ID0gKGQuZ2V0VmFyKCdJQ0VDQ19TWVNURU1fQ0xBU1NfQkwnKSBvciAiIikuc3BsaXQoKQogICAgIHVzZXJfY2xhc3NfYmxhY2tsaXN0ID0gKGQuZ2V0VmFyKCdJQ0VDQ19VU0VSX0NMQVNTX0JMJykgb3IgIm5vbmUiKS5zcGxpdCgpCkBAIC0xNDUsMTEgKzE1NSwxMSBAQAogICAgIHVzZXJfcGFja2FnZV93aGl0ZWxpc3QgPSAoZC5nZXRWYXIoJ0lDRUNDX1VTRVJfUEFDS0FHRV9XTCcpIG9yICIiKS5zcGxpdCgpCiAgICAgcGFja2FnZV9ibGFja2xpc3QgPSBzeXN0ZW1fcGFja2FnZV9ibGFja2xpc3QgKyB1c2VyX3BhY2thZ2VfYmxhY2tsaXN0CiAKLSAgICBpZiBwbiBpbiBwYWNrYWdlX2JsYWNrbGlzdDoKKyAgICBpZiBjaGVja19wbiAmIHNldChwYWNrYWdlX2JsYWNrbGlzdCk6CiAgICAgICAgIGJiLmRlYnVnKDEsICIlczogZm91bmQgaW4gYmxhY2tsaXN0LCBkaXNhYmxlIGljZWNjIiAlIHBuKQogICAgICAgICByZXR1cm4gIm5vIgogCi0gICAgaWYgcG4gaW4gdXNlcl9wYWNrYWdlX3doaXRlbGlzdDoKKyAgICBpZiBjaGVja19wbiAmIHNldCh1c2VyX3BhY2thZ2Vfd2hpdGVsaXN0KToKICAgICAgICAgYmIuZGVidWcoMSwgIiVzOiBmb3VuZCBpbiB3aGl0ZWxpc3QsIGVuYWJsZSBpY2VjYyIgJSBwbikKICAgICAgICAgcmV0dXJuICJ5ZXMiCiAKQEAgLTM3OSw3ICszODksNyBAQAogICAgICAgICAgICAgJHtJQ0VDQ19FTlZfRVhFQ30gJHtJQ0VDQ19FTlZfREVCVUd9ICIke0lDRUNDX0NDfSIgIiR7SUNFQ0NfQ1hYfSIgIiR7SUNFQ0NfQVN9IiAiJHtJQ0VDQ19WRVJTSU9OfSIKICAgICAgICAgdGhlbgogICAgICAgICAgICAgdG91Y2ggIiR7SUNFQ0NfVkVSU0lPTn0uZG9uZSIKLSAgICAgICAgZWxpZiAhIHdhaXRfZm9yX2ZpbGUgIiR7SUNFQ0NfVkVSU0lPTn0uZG9uZSIgMzAgCisgICAgICAgIGVsaWYgISB3YWl0X2Zvcl9maWxlICIke0lDRUNDX1ZFUlNJT059LmRvbmUiIDMwCiAgICAgICAgIHRoZW4KICAgICAgICAgICAgICMgbG9ja2luZyBmYWlsZWQgc28gd2FpdCBmb3IgJHtJQ0VDQ19WRVJTSU9OfS5kb25lIHRvIGFwcGVhcgogICAgICAgICAgICAgYmJ3YXJuICJUaW1lb3V0IHdhaXRpbmcgZm9yICR7SUNFQ0NfVkVSU0lPTn0uZG9uZSIKQEAgLTM5NSw3ICs0MDUsOCBAQAogICAgIGV4cG9ydCBJQ0VDQ19WRVJTSU9OIElDRUNDX0NDIElDRUNDX0NYWAogICAgIGV4cG9ydCBQQVRIPSIkSUNFX1BBVEg6JFBBVEgiCiAKLSAgICBiYm5vdGUgIlVzaW5nIGljZWNjIgorICAgIGJibm90ZSAiVXNpbmcgaWNlY2MgcGF0aDogJElDRV9QQVRIIgorICAgIGJibm90ZSAiVXNpbmcgaWNlY2MgdGFyYmFsbDogJElDRUNDX1ZFUlNJT04iCiB9CiAKIGRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2UtYnVpbGRpbmZvLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS1idWlsZGluZm8uYmJjbGFzcwppbmRleCA4N2E2YTFhLi45NGM1ODVkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS1idWlsZGluZm8uYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS1idWlsZGluZm8uYmJjbGFzcwpAQCAtMTYsOSArMTYsOCBAQAogSU1BR0VfQlVJTERJTkZPX0ZJTEUgPz89ICIke3N5c2NvbmZkaXJ9L2J1aWxkIgogCiAjIEZyb20gYnVpbGRoaXN0b3J5LmJiY2xhc3MKLWRlZiBpbWFnZV9idWlsZGluZm9fb3V0cHV0dmFycyh2YXJzLCBsaXN0dmFycywgZCk6IAorZGVmIGltYWdlX2J1aWxkaW5mb19vdXRwdXR2YXJzKHZhcnMsIGQpOgogICAgIHZhcnMgPSB2YXJzLnNwbGl0KCkKLSAgICBsaXN0dmFycyA9IGxpc3R2YXJzLnNwbGl0KCkKICAgICByZXQgPSAiIgogICAgIGZvciB2YXIgaW4gdmFyczoKICAgICAgICAgdmFsdWUgPSBkLmdldFZhcih2YXIpIG9yICIiCkBAIC01OSw4ICs1OCw3IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuICIiCiAgICAgICAgICMgU2luZ2xlIGFuZCBsaXN0IHZhcmlhYmxlcyB0byBiZSByZWFkCiAgICAgICAgIHZhcnMgPSAoZC5nZXRWYXIoIklNQUdFX0JVSUxESU5GT19WQVJTIikgb3IgIiIpCi0gICAgICAgIGxpc3R2YXJzID0gKGQuZ2V0VmFyKCJJTUFHRV9CVUlMRElORk9fTFZBUlMiKSBvciAiIikKLSAgICAgICAgcmV0dXJuIGltYWdlX2J1aWxkaW5mb19vdXRwdXR2YXJzKHZhcnMsIGxpc3R2YXJzLCBkKQorICAgICAgICByZXR1cm4gaW1hZ2VfYnVpbGRpbmZvX291dHB1dHZhcnModmFycywgZCkKIAogIyBXcml0ZSBidWlsZCBpbmZvcm1hdGlvbiB0byB0YXJnZXQgZmlsZXN5c3RlbQogcHl0aG9uIGJ1aWxkaW5mbyAoKSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2UuYmJjbGFzcwppbmRleCAyZmY1NzRiLi4yNzZkMGQzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLmJiY2xhc3MKQEAgLTI0LDcgKzI0LDcgQEAKIExJQ0VOU0UgPz0gIk1JVCIKIFBBQ0tBR0VTID0gIiIKIERFUEVORFMgKz0gIiR7QCcgJy5qb2luKFsiJXMtcWVtdXdyYXBwZXItY3Jvc3MiICUgbSBmb3IgbSBpbiBkLmdldFZhcigiTVVMVElMSUJfVkFSSUFOVFMiKS5zcGxpdCgpXSl9IHFlbXV3cmFwcGVyLWNyb3NzIGRlcG1vZHdyYXBwZXItY3Jvc3MgY3Jvc3MtbG9jYWxlZGVmLW5hdGl2ZSIKLVJERVBFTkRTICs9ICIke1BBQ0tBR0VfSU5TVEFMTH0gJHtMSU5HVUFTX0lOU1RBTEx9IgorUkRFUEVORFMgKz0gIiR7UEFDS0FHRV9JTlNUQUxMfSAke0xJTkdVQVNfSU5TVEFMTH0gJHtJTUFHRV9JTlNUQUxMX0RFQlVHRlN9IgogUlJFQ09NTUVORFMgKz0gIiR7UEFDS0FHRV9JTlNUQUxMX0FUVEVNUFRPTkxZfSIKIFBBVEhfcHJlcGVuZCA9ICIke0AiOiIuam9pbihhbGxfbXVsdGlsaWJfdHVuZV92YWx1ZXMoZCwgJ1NUQUdJTkdfQklORElSX0NST1NTJykuc3BsaXQoKSl9OiIKIApAQCAtNTAwLDcgKzUwMCw3IEBACiAgICAgICAgIGQucHJlcGVuZFZhckZsYWcodGFzaywgJ3Bvc3RmdW5jcycsICdjcmVhdGVfc3ltbGlua3MgJykKICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKHRhc2ssICdzdWJpbWFnZXMnLCAnICcgKyAnICcuam9pbihzdWJpbWFnZXMpKQogICAgICAgICBkLmFwcGVuZFZhckZsYWcodGFzaywgJ3ZhcmRlcHMnLCAnICcgKyAnICcuam9pbih2YXJkZXBzKSkKLSAgICAgICAgZC5hcHBlbmRWYXJGbGFnKHRhc2ssICd2YXJkZXBzZXhjbHVkZScsICdEQVRFVElNRSBEQVRFICcgKyAnICcuam9pbih2YXJkZXBzZXhjbHVkZSkpCisgICAgICAgIGQuYXBwZW5kVmFyRmxhZyh0YXNrLCAndmFyZGVwc2V4Y2x1ZGUnLCAnIERBVEVUSU1FIERBVEUgJyArICcgJy5qb2luKHZhcmRlcHNleGNsdWRlKSkKIAogICAgICAgICBiYi5kZWJ1ZygyLCAiQWRkaW5nIHRhc2sgJXMgYmVmb3JlICVzLCBhZnRlciAlcyIgJSAodGFzaywgJ2RvX2ltYWdlX2NvbXBsZXRlJywgYWZ0ZXIpKQogICAgICAgICBiYi5idWlsZC5hZGR0YXNrKHRhc2ssICdkb19pbWFnZV9jb21wbGV0ZScsIGFmdGVyLCBkKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2VfdHlwZXMuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlX3R5cGVzLmJiY2xhc3MKaW5kZXggMGE2OTU0Mi4uZjM2M2M0MiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2VfdHlwZXMuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZV90eXBlcy5iYmNsYXNzCkBAIC01Niw3ICs1Niw2IEBACiAKIFhaX0NPTVBSRVNTSU9OX0xFVkVMID89ICItMyIKIFhaX0lOVEVHUklUWV9DSEVDSyA/PSAiY3JjMzIiCi1YWl9USFJFQURTID89ICItVCAwIgogCiBaSVBfQ09NUFJFU1NJT05fTEVWRUwgPz0gIi05IgogCkBAIC0yODAsMTEgKzI3OSwxMSBAQAogIyBDT05WRVJTSU9OX0NNRC9ERVBFTkRTLgogQ09NUFJFU1NJT05UWVBFUyA/PSAiIgogCi1DT05WRVJTSU9OVFlQRVMgPSAiZ3ogYnoyIGx6bWEgeHogbHo0IGx6byB6aXAgc3VtIG1kNXN1bSBzaGExc3VtIHNoYTIyNHN1bSBzaGEyNTZzdW0gc2hhMzg0c3VtIHNoYTUxMnN1bSBibWFwIHUtYm9vdCB2bWRrIHZkaSBxY293MiAke0NPTVBSRVNTSU9OVFlQRVN9IgorQ09OVkVSU0lPTlRZUEVTID0gImd6IGJ6MiBsem1hIHh6IGx6NCBsem8gemlwIHN1bSBtZDVzdW0gc2hhMXN1bSBzaGEyMjRzdW0gc2hhMjU2c3VtIHNoYTM4NHN1bSBzaGE1MTJzdW0gYm1hcCB1LWJvb3Qgdm1kayB2ZGkgcWNvdzIgYmFzZTY0ICR7Q09NUFJFU1NJT05UWVBFU30iCiBDT05WRVJTSU9OX0NNRF9sem1hID0gImx6bWEgLWsgLWYgLTcgJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0iCiBDT05WRVJTSU9OX0NNRF9neiA9ICJwaWd6IC1mIC05IC1uIC1jICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9ID4gJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0uZ3oiCiBDT05WRVJTSU9OX0NNRF9iejIgPSAicGJ6aXAyIC1mIC1rICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9IgotQ09OVkVSU0lPTl9DTURfeHogPSAieHogLWYgLWsgLWMgJHtYWl9DT01QUkVTU0lPTl9MRVZFTH0gJHtYWl9USFJFQURTfSAtLWNoZWNrPSR7WFpfSU5URUdSSVRZX0NIRUNLfSAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSA+ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9Lnh6IgorQ09OVkVSU0lPTl9DTURfeHogPSAieHogLWYgLWsgLWMgJHtYWl9DT01QUkVTU0lPTl9MRVZFTH0gJHtYWl9ERUZBVUxUU30gLS1jaGVjaz0ke1haX0lOVEVHUklUWV9DSEVDS30gJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0gPiAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfS54eiIKIENPTlZFUlNJT05fQ01EX2x6NCA9ICJsejQgLTkgLXogLWwgJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0gJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0ubHo0IgogQ09OVkVSU0lPTl9DTURfbHpvID0gImx6b3AgLTkgJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0iCiBDT05WRVJTSU9OX0NNRF96aXAgPSAiemlwICR7WklQX0NPTVBSRVNTSU9OX0xFVkVMfSAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfS56aXAgJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0iCkBAIC0zMDAsNiArMjk5LDcgQEAKIENPTlZFUlNJT05fQ01EX3ZtZGsgPSAicWVtdS1pbWcgY29udmVydCAtTyB2bWRrICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9LnZtZGsiCiBDT05WRVJTSU9OX0NNRF92ZGkgPSAicWVtdS1pbWcgY29udmVydCAtTyB2ZGkgJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0gJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0udmRpIgogQ09OVkVSU0lPTl9DTURfcWNvdzIgPSAicWVtdS1pbWcgY29udmVydCAtTyBxY293MiAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfS5xY293MiIKK0NPTlZFUlNJT05fQ01EX2Jhc2U2NCA9ICJiYXNlNjQgJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0gPiAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfS5iYXNlNjQiCiBDT05WRVJTSU9OX0RFUEVORFNfbHptYSA9ICJ4ei1uYXRpdmUiCiBDT05WRVJTSU9OX0RFUEVORFNfZ3ogPSAicGlnei1uYXRpdmUiCiBDT05WRVJTSU9OX0RFUEVORFNfYnoyID0gInBiemlwMi1uYXRpdmUiCkBAIC0zMDksMTAgKzMwOSwxMSBAQAogQ09OVkVSU0lPTl9ERVBFTkRTX3ppcCA9ICJ6aXAtbmF0aXZlIgogQ09OVkVSU0lPTl9ERVBFTkRTX3N1bSA9ICJtdGQtdXRpbHMtbmF0aXZlIgogQ09OVkVSU0lPTl9ERVBFTkRTX2JtYXAgPSAiYm1hcC10b29scy1uYXRpdmUiCi1DT05WRVJTSU9OX0RFUEVORFNfdS1ib290ID0gInUtYm9vdC1ta2ltYWdlLW5hdGl2ZSIKLUNPTlZFUlNJT05fREVQRU5EU192bWRrID0gInFlbXUtbmF0aXZlIgotQ09OVkVSU0lPTl9ERVBFTkRTX3ZkaSA9ICJxZW11LW5hdGl2ZSIKLUNPTlZFUlNJT05fREVQRU5EU19xY293MiA9ICJxZW11LW5hdGl2ZSIKK0NPTlZFUlNJT05fREVQRU5EU191LWJvb3QgPSAidS1ib290LXRvb2xzLW5hdGl2ZSIKK0NPTlZFUlNJT05fREVQRU5EU192bWRrID0gInFlbXUtc3lzdGVtLW5hdGl2ZSIKK0NPTlZFUlNJT05fREVQRU5EU192ZGkgPSAicWVtdS1zeXN0ZW0tbmF0aXZlIgorQ09OVkVSU0lPTl9ERVBFTkRTX3Fjb3cyID0gInFlbXUtc3lzdGVtLW5hdGl2ZSIKK0NPTlZFUlNJT05fREVQRU5EU19iYXNlNjQgPSAiY29yZXV0aWxzLW5hdGl2ZSIKIAogUlVOTkFCTEVfSU1BR0VfVFlQRVMgPz0gImV4dDIgZXh0MyBleHQ0IgogUlVOTkFCTEVfTUFDSElORV9QQVRURVJOUyA/PSAicWVtdSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3MKaW5kZXggMjk1ZmViOC4uMzdiOGJiMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3MKQEAgLTMzLDcgKzMzLDggQEAKICAgICAgICAgICAgIHBlcm1zIGRlcC1jbXAgcGtndmFyY2hlY2sgcGVybS1jb25maWcgcGVybS1saW5lIHBlcm0tbGluayBcCiAgICAgICAgICAgICBzcGxpdC1zdHJpcCBwYWNrYWdlcy1saXN0IHBrZ3YtdW5kZWZpbmVkIHZhci11bmRlZmluZWQgXAogICAgICAgICAgICAgdmVyc2lvbi1nb2luZy1iYWNrd2FyZHMgZXhwYW5kZWQtZCBpbnZhbGlkLWNoYXJzIFwKLSAgICAgICAgICAgIGxpY2Vuc2UtY2hlY2tzdW0gZGV2LWVsZiBmaWxlLXJkZXBzIFwKKyAgICAgICAgICAgIGxpY2Vuc2UtY2hlY2tzdW0gZGV2LWVsZiBmaWxlLXJkZXBzIGNvbmZpZ3VyZS11bnNhZmUgXAorICAgICAgICAgICAgY29uZmlndXJlLWdldHRleHQgXAogICAgICAgICAgICAgIgogIyBBZGQgdXNybWVyZ2UgUUEgY2hlY2sgYmFzZWQgb24gZGlzdHJvIGZlYXR1cmUKIEVSUk9SX1FBX2FwcGVuZCA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3Vzcm1lcmdlJywgJyB1c3JtZXJnZScsICcnLCBkKX0iCkBAIC0zMDcsMTAgKzMwOCwxMCBAQAogICAgIGlmIG5vdCAoKG1hY2hpbmUgPT0gZWxmLm1hY2hpbmUoKSkgb3IgaXNfMzIgb3IgaXNfYnBmKToKICAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdlcywgImFyY2giLCAiQXJjaGl0ZWN0dXJlIGRpZCBub3QgbWF0Y2ggKCVzLCBleHBlY3RlZCAlcykgb24gJXMiICUgXAogICAgICAgICAgICAgICAgICAob2UucWEuZWxmX21hY2hpbmVfdG9fc3RyaW5nKGVsZi5tYWNoaW5lKCkpLCBvZS5xYS5lbGZfbWFjaGluZV90b19zdHJpbmcobWFjaGluZSksIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKLSAgICBlbGlmIG5vdCAoKGJpdHMgPT0gZWxmLmFiaVNpemUoKSkgb3IgaXNfMzIpOgorICAgIGVsaWYgbm90ICgoYml0cyA9PSBlbGYuYWJpU2l6ZSgpKSBvciBpc18zMiBvciBpc19icGYpOgogICAgICAgICBwYWNrYWdlX3FhX2FkZF9tZXNzYWdlKG1lc3NhZ2VzLCAiYXJjaCIsICJCaXQgc2l6ZSBkaWQgbm90IG1hdGNoICglZCB0byAlZCkgJXMgb24gJXMiICUgXAogICAgICAgICAgICAgICAgICAoYml0cywgZWxmLmFiaVNpemUoKSwgYnBuLCBwYWNrYWdlX3FhX2NsZWFuX3BhdGgocGF0aCxkKSkpCi0gICAgZWxpZiBub3QgbGl0dGxlZW5kaWFuID09IGVsZi5pc0xpdHRsZUVuZGlhbigpOgorICAgIGVsaWYgbm90ICgobGl0dGxlZW5kaWFuID09IGVsZi5pc0xpdHRsZUVuZGlhbigpKSBvciBpc19icGYpOgogICAgICAgICBwYWNrYWdlX3FhX2FkZF9tZXNzYWdlKG1lc3NhZ2VzLCAiYXJjaCIsICJFbmRpYW5uZXMgZGlkIG5vdCBtYXRjaCAoJWQgdG8gJWQpIG9uICVzIiAlIFwKICAgICAgICAgICAgICAgICAgKGxpdHRsZWVuZGlhbiwgZWxmLmlzTGl0dGxlRW5kaWFuKCksIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKIApAQCAtNDU3LDcgKzQ1OCw2IEBACiAgICAgIiIiCiAgICAgQ2hlY2sgZm9yIGNoYW5nZXMgaW4gdGhlIGxpY2Vuc2UgZmlsZXMuCiAgICAgIiIiCi0gICAgaW1wb3J0IHRlbXBmaWxlCiAgICAgc2FuZSA9IFRydWUKIAogICAgIGxpY19maWxlcyA9IGQuZ2V0VmFyKCdMSUNfRklMRVNfQ0hLU1VNJykgb3IgJycKQEAgLTQ5NSw2MSArNDk1LDQ1IEBACiAKICAgICAgICAgaWYgKG5vdCBiZWdpbmxpbmUpIGFuZCAobm90IGVuZGxpbmUpOgogICAgICAgICAgICAgbWQ1Y2hrc3VtID0gYmIudXRpbHMubWQ1X2ZpbGUoc3JjbGljZmlsZSkKLSAgICAgICAgICAgIHdpdGggb3BlbihzcmNsaWNmaWxlLCAncmInKSBhcyBmOgotICAgICAgICAgICAgICAgIGxpY2Vuc2UgPSBmLnJlYWQoKQorICAgICAgICAgICAgd2l0aCBvcGVuKHNyY2xpY2ZpbGUsICdyJywgZXJyb3JzPSdyZXBsYWNlJykgYXMgZjoKKyAgICAgICAgICAgICAgICBsaWNlbnNlID0gZi5yZWFkKCkuc3BsaXRsaW5lcygpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBmaSA9IG9wZW4oc3JjbGljZmlsZSwgJ3JiJykKLSAgICAgICAgICAgIGZvID0gdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKG1vZGU9J3diJywgcHJlZml4PSdwb2t5LicsIHN1ZmZpeD0nLnRtcCcsIGRlbGV0ZT1GYWxzZSkKLSAgICAgICAgICAgIHRtcGxpY2ZpbGUgPSBmby5uYW1lOwotICAgICAgICAgICAgbGluZW5vID0gMAotICAgICAgICAgICAgbGluZXNvdXQgPSAwCi0gICAgICAgICAgICBsaWNlbnNlID0gW10KLSAgICAgICAgICAgIGZvciBsaW5lIGluIGZpOgotICAgICAgICAgICAgICAgIGxpbmVubyArPSAxCi0gICAgICAgICAgICAgICAgaWYgKGxpbmVubyA+PSBiZWdpbmxpbmUpOgotICAgICAgICAgICAgICAgICAgICBpZiAoKGxpbmVubyA8PSBlbmRsaW5lKSBvciBub3QgZW5kbGluZSk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBmby53cml0ZShsaW5lKQotICAgICAgICAgICAgICAgICAgICAgICAgbGljZW5zZS5hcHBlbmQobGluZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVzb3V0ICs9IDEKLSAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBmby5mbHVzaCgpCi0gICAgICAgICAgICBmby5jbG9zZSgpCi0gICAgICAgICAgICBmaS5jbG9zZSgpCi0gICAgICAgICAgICBtZDVjaGtzdW0gPSBiYi51dGlscy5tZDVfZmlsZSh0bXBsaWNmaWxlKQotICAgICAgICAgICAgbGljZW5zZSA9IGInJy5qb2luKGxpY2Vuc2UpCi0gICAgICAgICAgICBvcy51bmxpbmsodG1wbGljZmlsZSkKLQorICAgICAgICAgICAgd2l0aCBvcGVuKHNyY2xpY2ZpbGUsICdyYicpIGFzIGY6CisgICAgICAgICAgICAgICAgaW1wb3J0IGhhc2hsaWIKKyAgICAgICAgICAgICAgICBsaW5lbm8gPSAwCisgICAgICAgICAgICAgICAgbGljZW5zZSA9IFtdCisgICAgICAgICAgICAgICAgbSA9IGhhc2hsaWIubWQ1KCkKKyAgICAgICAgICAgICAgICBmb3IgbGluZSBpbiBmOgorICAgICAgICAgICAgICAgICAgICBsaW5lbm8gKz0gMQorICAgICAgICAgICAgICAgICAgICBpZiAobGluZW5vID49IGJlZ2lubGluZSk6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGxpbmVubyA8PSBlbmRsaW5lKSBvciBub3QgZW5kbGluZSk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS51cGRhdGUobGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWNlbnNlLmFwcGVuZChsaW5lLmRlY29kZSgndXRmLTgnLCBlcnJvcnM9J3JlcGxhY2UnKS5yc3RyaXAoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBtZDVjaGtzdW0gPSBtLmhleGRpZ2VzdCgpCiAgICAgICAgIGlmIHJlY2lwZW1kNSA9PSBtZDVjaGtzdW06CiAgICAgICAgICAgICBiYi5ub3RlIChwbiArICI6IG1kNSBjaGVja3N1bSBtYXRjaGVkIGZvciAiLCB1cmwpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBpZiByZWNpcGVtZDU6CiAgICAgICAgICAgICAgICAgbXNnID0gcG4gKyAiOiBUaGUgTElDX0ZJTEVTX0NIS1NVTSBkb2VzIG5vdCBtYXRjaCBmb3IgIiArIHVybAogICAgICAgICAgICAgICAgIG1zZyA9IG1zZyArICJcbiIgKyBwbiArICI6IFRoZSBuZXcgbWQ1IGNoZWNrc3VtIGlzICIgKyBtZDVjaGtzdW0KLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIGxpY2Vuc2VfbGluZXMgPSBsaWNlbnNlLmRlY29kZSgndXRmLTgnKS5zcGxpdCgnXG4nKQotICAgICAgICAgICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgICAgICAgICAgIyBMaWNlbnNlIHRleHQgbWlnaHQgbm90IGJlIHZhbGlkIFVURi04LCBpbiB3aGljaAotICAgICAgICAgICAgICAgICAgICAjIGNhc2Ugd2UgZG9uJ3Qga25vdyBob3cgdG8gaW5jbHVkZSBpdCBpbiBvdXIgb3V0cHV0Ci0gICAgICAgICAgICAgICAgICAgICMgYW5kIGhhdmUgdG8gc2tpcCBpdC4KLSAgICAgICAgICAgICAgICAgICAgcGFzcwotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIG1heF9saW5lcyA9IGludChkLmdldFZhcignUUFfTUFYX0xJQ0VOU0VfTElORVMnKSBvciAyMCkKLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IGxpY2Vuc2VfbGluZXMgb3IgbGljZW5zZV9saW5lc1stMV0gIT0gJyc6Ci0gICAgICAgICAgICAgICAgICAgICAgICAjIEVuc3VyZSB0aGF0IG91ciBsaWNlbnNlIHRleHQgZW5kcyB3aXRoIGEgbGluZSBicmVhawotICAgICAgICAgICAgICAgICAgICAgICAgIyAod2lsbCBiZSBhZGRlZCB3aXRoIGpvaW4oKSBiZWxvdykuCi0gICAgICAgICAgICAgICAgICAgICAgICBsaWNlbnNlX2xpbmVzLmFwcGVuZCgnJykKLSAgICAgICAgICAgICAgICAgICAgcmVtb3ZlID0gbGVuKGxpY2Vuc2VfbGluZXMpIC0gbWF4X2xpbmVzCi0gICAgICAgICAgICAgICAgICAgIGlmIHJlbW92ZSA+IDA6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdGFydCA9IG1heF9saW5lcyAvLyAyCi0gICAgICAgICAgICAgICAgICAgICAgICBlbmQgPSBzdGFydCArIHJlbW92ZSAtIDEKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlbCBsaWNlbnNlX2xpbmVzW3N0YXJ0OmVuZF0KLSAgICAgICAgICAgICAgICAgICAgICAgIGxpY2Vuc2VfbGluZXMuaW5zZXJ0KHN0YXJ0LCAnLi4uJykKLSAgICAgICAgICAgICAgICAgICAgbXNnID0gbXNnICsgIlxuIiArIHBuICsgIjogSGVyZSBpcyB0aGUgc2VsZWN0ZWQgbGljZW5zZSB0ZXh0OiIgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJcbiIgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJ7OnZeNzB9Ii5mb3JtYXQoIiBiZWdpbmxpbmU9JWQgIiAlIGJlZ2lubGluZSBpZiBiZWdpbmxpbmUgZWxzZSAiIikgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJcbiIgKyAiXG4iLmpvaW4obGljZW5zZV9saW5lcykgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJ7Ol5eNzB9Ii5mb3JtYXQoIiBlbmRsaW5lPSVkICIgJSBlbmRsaW5lIGlmIGVuZGxpbmUgZWxzZSAiIikKKyAgICAgICAgICAgICAgICBtYXhfbGluZXMgPSBpbnQoZC5nZXRWYXIoJ1FBX01BWF9MSUNFTlNFX0xJTkVTJykgb3IgMjApCisgICAgICAgICAgICAgICAgaWYgbm90IGxpY2Vuc2Ugb3IgbGljZW5zZVstMV0gIT0gJyc6CisgICAgICAgICAgICAgICAgICAgICMgRW5zdXJlIHRoYXQgb3VyIGxpY2Vuc2UgdGV4dCBlbmRzIHdpdGggYSBsaW5lIGJyZWFrCisgICAgICAgICAgICAgICAgICAgICMgKHdpbGwgYmUgYWRkZWQgd2l0aCBqb2luKCkgYmVsb3cpLgorICAgICAgICAgICAgICAgICAgICBsaWNlbnNlLmFwcGVuZCgnJykKKyAgICAgICAgICAgICAgICByZW1vdmUgPSBsZW4obGljZW5zZSkgLSBtYXhfbGluZXMKKyAgICAgICAgICAgICAgICBpZiByZW1vdmUgPiAwOgorICAgICAgICAgICAgICAgICAgICBzdGFydCA9IG1heF9saW5lcyAvLyAyCisgICAgICAgICAgICAgICAgICAgIGVuZCA9IHN0YXJ0ICsgcmVtb3ZlIC0gMQorICAgICAgICAgICAgICAgICAgICBkZWwgbGljZW5zZVtzdGFydDplbmRdCisgICAgICAgICAgICAgICAgICAgIGxpY2Vuc2UuaW5zZXJ0KHN0YXJ0LCAnLi4uJykKKyAgICAgICAgICAgICAgICBtc2cgPSBtc2cgKyAiXG4iICsgcG4gKyAiOiBIZXJlIGlzIHRoZSBzZWxlY3RlZCBsaWNlbnNlIHRleHQ6IiArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICJcbiIgKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAiezp2XjcwfSIuZm9ybWF0KCIgYmVnaW5saW5lPSVkICIgJSBiZWdpbmxpbmUgaWYgYmVnaW5saW5lIGVsc2UgIiIpICsgXAorICAgICAgICAgICAgICAgICAgICAgICAgIlxuIiArICJcbiIuam9pbihsaWNlbnNlKSArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ7Ol5eNzB9Ii5mb3JtYXQoIiBlbmRsaW5lPSVkICIgJSBlbmRsaW5lIGlmIGVuZGxpbmUgZWxzZSAiIikKICAgICAgICAgICAgICAgICBpZiBiZWdpbmxpbmU6CiAgICAgICAgICAgICAgICAgICAgIGlmIGVuZGxpbmU6CiAgICAgICAgICAgICAgICAgICAgICAgICBzcmNmaWxlZGVzYyA9ICIlcyAobGluZXMgJWQgdGhyb3VnaCB0byAlZCkiICUgKHNyY2xpY2ZpbGUsIGJlZ2lubGluZSwgZW5kbGluZSkKQEAgLTU3MCw3ICs1NTQsNyBAQAogICAgICAgICBiYi5mYXRhbCgiRmF0YWwgUUEgZXJyb3JzIGZvdW5kLCBmYWlsaW5nIHRhc2suIikKIH0KIAotZGVmIHBhY2thZ2VfcWFfY2hlY2tfc3RhZ2VkKHBhdGgsZCk6CitkZWYgcWFfY2hlY2tfc3RhZ2VkKHBhdGgsZCk6CiAgICAgIiIiCiAgICAgQ2hlY2sgc3RhZ2VkIGxhIGFuZCBwYyBmaWxlcyBmb3IgY29tbW9uIHByb2JsZW1zIGxpa2UgcmVmZXJlbmNlcyB0byB0aGUgd29yawogICAgIGRpcmVjdG9yeS4KQEAgLTU4OSwyMCArNTczLDMxIEBACiAgICAgZWxzZToKICAgICAgICAgcGtnY29uZmlnY2hlY2sgPSB0bXBkaXIKIAorICAgIHNraXAgPSAoZC5nZXRWYXIoJ0lOU0FORV9TS0lQJykgb3IgIiIpLnNwbGl0KCkKKyAgICBza2lwX2xhID0gRmFsc2UKKyAgICBpZiAnbGEnIGluIHNraXA6CisgICAgICAgIGJiLm5vdGUoIlJlY2lwZSAlcyBza2lwcGluZyBxYSBjaGVja2luZzogbGEiICUgZC5nZXRWYXIoJ1BOJykpCisgICAgICAgIHNraXBfbGEgPSBUcnVlCisKKyAgICBza2lwX3BrZ2NvbmZpZyA9IEZhbHNlCisgICAgaWYgJ3BrZ2NvbmZpZycgaW4gc2tpcDoKKyAgICAgICAgYmIubm90ZSgiUmVjaXBlICVzIHNraXBwaW5nIHFhIGNoZWNraW5nOiBwa2djb25maWciICUgZC5nZXRWYXIoJ1BOJykpCisgICAgICAgIHNraXBfcGtnY29uZmlnID0gVHJ1ZQorCiAgICAgIyBmaW5kIGFsbCAubGEgYW5kIC5wYyBmaWxlcwogICAgICMgcmVhZCB0aGUgY29udGVudAogICAgICMgYW5kIGNoZWNrIGZvciBzdHVmZiB0aGF0IGxvb2tzIHdyb25nCiAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsocGF0aCk6CiAgICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihyb290LGZpbGUpCi0gICAgICAgICAgICBpZiBmaWxlLmVuZHN3aXRoKCIubGEiKToKKyAgICAgICAgICAgIGlmIGZpbGUuZW5kc3dpdGgoIi5sYSIpIGFuZCBub3Qgc2tpcF9sYToKICAgICAgICAgICAgICAgICB3aXRoIG9wZW4ocGF0aCkgYXMgZjoKICAgICAgICAgICAgICAgICAgICAgZmlsZV9jb250ZW50ID0gZi5yZWFkKCkKICAgICAgICAgICAgICAgICAgICAgZmlsZV9jb250ZW50ID0gZmlsZV9jb250ZW50LnJlcGxhY2UocmVjaXBlc3lzcm9vdCwgIiIpCiAgICAgICAgICAgICAgICAgICAgIGlmIHdvcmtkaXIgaW4gZmlsZV9jb250ZW50OgogICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfbXNnID0gIiVzIGZhaWxlZCBzYW5pdHkgdGVzdCAod29ya2RpcikgaW4gcGF0aCAlcyIgJSAoZmlsZSxyb290KQogICAgICAgICAgICAgICAgICAgICAgICAgc2FuZSAmPSBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigibGEiLCBlcnJvcl9tc2csIGQpCi0gICAgICAgICAgICBlbGlmIGZpbGUuZW5kc3dpdGgoIi5wYyIpOgorICAgICAgICAgICAgZWxpZiBmaWxlLmVuZHN3aXRoKCIucGMiKSBhbmQgbm90IHNraXBfcGtnY29uZmlnOgogICAgICAgICAgICAgICAgIHdpdGggb3BlbihwYXRoKSBhcyBmOgogICAgICAgICAgICAgICAgICAgICBmaWxlX2NvbnRlbnQgPSBmLnJlYWQoKQogICAgICAgICAgICAgICAgICAgICBmaWxlX2NvbnRlbnQgPSBmaWxlX2NvbnRlbnQucmVwbGFjZShyZWNpcGVzeXNyb290LCAiIikKQEAgLTEwMTcsNiArMTAxMiwxMyBAQAogZG9fcGFja2FnZV9xYVtyZGVwdGFza10gPSAiZG9fcGFja2FnZWRhdGEiCiBhZGR0YXNrIGRvX3BhY2thZ2VfcWEgYWZ0ZXIgZG9fcGFja2FnZWRhdGEgZG9fcGFja2FnZSBiZWZvcmUgZG9fYnVpbGQKIAorIyBBZGQgdGhlIHBhY2thZ2Ugc3BlY2lmaWMgSU5TQU5FX1NLSVBzIHRvIHRoZSBzc3RhdGUgZGVwZW5kZW5jaWVzCitweXRob24oKSB7CisgICAgcGtncyA9IChkLmdldFZhcignUEFDS0FHRVMnKSBvciAnJykuc3BsaXQoKQorICAgIGZvciBwa2cgaW4gcGtnczoKKyAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCJkb19wYWNrYWdlX3FhIiwgInZhcmRlcHMiLCAiIElOU0FORV9TS0lQX3t9Ii5mb3JtYXQocGtnKSkKK30KKwogU1NUQVRFVEFTS1MgKz0gImRvX3BhY2thZ2VfcWEiCiBkb19wYWNrYWdlX3FhW3NzdGF0ZS1pbnB1dGRpcnNdID0gIiIKIGRvX3BhY2thZ2VfcWFbc3N0YXRlLW91dHB1dGRpcnNdID0gIiIKQEAgLTEwMjcsOCArMTAyOSw3IEBACiAKIHB5dGhvbiBkb19xYV9zdGFnaW5nKCkgewogICAgIGJiLm5vdGUoIlFBIGNoZWNraW5nIHN0YWdpbmciKQotCi0gICAgaWYgbm90IHBhY2thZ2VfcWFfY2hlY2tfc3RhZ2VkKGQuZXhwYW5kKCcke1NZU1JPT1RfREVTVERJUn0ke2xpYmRpcn0nKSwgZCk6CisgICAgaWYgbm90IHFhX2NoZWNrX3N0YWdlZChkLmV4cGFuZCgnJHtTWVNST09UX0RFU1RESVJ9JHtsaWJkaXJ9JyksIGQpOgogICAgICAgICBiYi5mYXRhbCgiUUEgc3RhZ2luZyB3YXMgYnJva2VuIGJ5IHRoZSBwYWNrYWdlIGJ1aWx0IGFib3ZlIikKIH0KIApAQCAtMTA0MiwxNSArMTA0MywyMiBAQAogICAgIGNvbmZpZ3MgPSBbXQogICAgIHdvcmtkaXIgPSBkLmdldFZhcignV09SS0RJUicpCiAKLSAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdhdXRvdG9vbHMnLCBkKToKKyAgICBza2lwID0gKGQuZ2V0VmFyKCdJTlNBTkVfU0tJUCcpIG9yICIiKS5zcGxpdCgpCisgICAgc2tpcF9jb25maWd1cmVfdW5zYWZlID0gRmFsc2UKKyAgICBpZiAnY29uZmlndXJlLXVuc2FmZScgaW4gc2tpcDoKKyAgICAgICAgYmIubm90ZSgiUmVjaXBlICVzIHNraXBwaW5nIHFhIGNoZWNraW5nOiBjb25maWd1cmUtdW5zYWZlIiAlIGQuZ2V0VmFyKCdQTicpKQorICAgICAgICBza2lwX2NvbmZpZ3VyZV91bnNhZmUgPSBUcnVlCisKKyAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdhdXRvdG9vbHMnLCBkKSBhbmQgbm90IHNraXBfY29uZmlndXJlX3Vuc2FmZToKICAgICAgICAgYmIubm90ZSgiQ2hlY2tpbmcgYXV0b3Rvb2xzIGVudmlyb25tZW50IGZvciBjb21tb24gbWlzY29uZmlndXJhdGlvbiIpCiAgICAgICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHdvcmtkaXIpOgogICAgICAgICAgICAgc3RhdGVtZW50ID0gImdyZXAgLXEgLUYgLWUgJ0NST1NTIENPTVBJTEUgQmFkbmVzczonIC1lICdpcyB1bnNhZmUgZm9yIGNyb3NzLWNvbXBpbGF0aW9uJyAlcyIgJSBcCiAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4ocm9vdCwiY29uZmlnLmxvZyIpCiAgICAgICAgICAgICBpZiAiY29uZmlnLmxvZyIgaW4gZmlsZXM6CiAgICAgICAgICAgICAgICAgaWYgc3VicHJvY2Vzcy5jYWxsKHN0YXRlbWVudCwgc2hlbGw9VHJ1ZSkgPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgYmIuZmF0YWwoIiIiVGhpcyBhdXRvY29uZiBsb2cgaW5kaWNhdGVzIGVycm9ycywgaXQgbG9va2VkIGF0IGhvc3QgaW5jbHVkZSBhbmQvb3IgbGlicmFyeSBwYXRocyB3aGlsZSBkZXRlcm1pbmluZyBzeXN0ZW0gY2FwYWJpbGl0aWVzLgotUmVydW4gY29uZmlndXJlIHRhc2sgYWZ0ZXIgZml4aW5nIHRoaXMuIiIiKQorICAgICAgICAgICAgICAgICAgICBlcnJvcl9tc2cgPSAiIiJUaGlzIGF1dG9jb25mIGxvZyBpbmRpY2F0ZXMgZXJyb3JzLCBpdCBsb29rZWQgYXQgaG9zdCBpbmNsdWRlIGFuZC9vciBsaWJyYXJ5IHBhdGhzIHdoaWxlIGRldGVybWluaW5nIHN5c3RlbSBjYXBhYmlsaXRpZXMuCitSZXJ1biBjb25maWd1cmUgdGFzayBhZnRlciBmaXhpbmcgdGhpcy4iIiIKKyAgICAgICAgICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImNvbmZpZ3VyZS11bnNhZmUiLCBlcnJvcl9tc2csIGQpCiAKICAgICAgICAgICAgIGlmICJjb25maWd1cmUuYWMiIGluIGZpbGVzOgogICAgICAgICAgICAgICAgIGNvbmZpZ3MuYXBwZW5kKG9zLnBhdGguam9pbihyb290LCJjb25maWd1cmUuYWMiKSkKQEAgLTEwNjEsOCArMTA2OSwxNCBAQAogICAgICMgQ2hlY2sgZ2V0dGV4dCBjb25maWd1cmF0aW9uIGFuZCBkZXBlbmRlbmNpZXMgYXJlIGNvcnJlY3QKICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAorICAgIHNraXBfY29uZmlndXJlX2dldHRleHQgPSBGYWxzZQorICAgIGlmICdjb25maWd1cmUtZ2V0dGV4dCcgaW4gc2tpcDoKKyAgICAgICAgYmIubm90ZSgiUmVjaXBlICVzIHNraXBwaW5nIHFhIGNoZWNraW5nOiBjb25maWd1cmUtZ2V0dGV4dCIgJSBkLmdldFZhcignUE4nKSkKKyAgICAgICAgc2tpcF9jb25maWd1cmVfZ2V0dGV4dCA9IFRydWUKKwogICAgIGNuZiA9IGQuZ2V0VmFyKCdFWFRSQV9PRUNPTkYnKSBvciAiIgotICAgIGlmICJnZXR0ZXh0IiBub3QgaW4gZC5nZXRWYXIoJ1AnKSBhbmQgImdjYy1ydW50aW1lIiBub3QgaW4gZC5nZXRWYXIoJ1AnKSBhbmQgIi0tZGlzYWJsZS1ubHMiIG5vdCBpbiBjbmY6CisgICAgaWYgbm90ICgiZ2V0dGV4dCIgaW4gZC5nZXRWYXIoJ1AnKSBvciAiZ2NjLXJ1bnRpbWUiIGluIGQuZ2V0VmFyKCdQJykgb3IgXAorICAgICAgICAgICAgIi0tZGlzYWJsZS1ubHMiIGluIGNuZiBvciBza2lwX2NvbmZpZ3VyZV9nZXR0ZXh0KToKICAgICAgICAgbWwgPSBkLmdldFZhcigiTUxQUkVGSVgiKSBvciAiIgogICAgICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zcy1jYW5hZGlhbicsIGQpOgogICAgICAgICAgICAgZ3QgPSAibmF0aXZlc2RrLWdldHRleHQiCkBAIC0xMDczLDggKzEwODcsOCBAQAogICAgICAgICAgICAgZm9yIGNvbmZpZyBpbiBjb25maWdzOgogICAgICAgICAgICAgICAgIGdudSA9ICJncmVwIFwiXltbOnNwYWNlOl1dKkFNX0dOVV9HRVRURVhUXCIgJXMgPi9kZXYvbnVsbCIgJSBjb25maWcKICAgICAgICAgICAgICAgICBpZiBzdWJwcm9jZXNzLmNhbGwoZ251LCBzaGVsbD1UcnVlKSA9PSAwOgotICAgICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiIiIlcyByZXF1aXJlZCBidXQgbm90IGluIERFUEVORFMgZm9yIGZpbGUgJXMuCi1NaXNzaW5nIGluaGVyaXQgZ2V0dGV4dD8iIiIgJSAoZ3QsIGNvbmZpZykpCisgICAgICAgICAgICAgICAgICAgIGVycm9yX21zZyA9ICIlcyByZXF1aXJlZCBidXQgbm90IGluIERFUEVORFMgZm9yIGZpbGUgJXMuIE1pc3NpbmcgaW5oZXJpdCBnZXR0ZXh0PyIKKyAgICAgICAgICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImNvbmZpZ3VyZS1nZXR0ZXh0IiwgZXJyb3JfbXNnLCBkKQogCiAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAgIyBDaGVjayB1bnJlY29nbmlzZWQgY29uZmlndXJlIG9wdGlvbnMgKHdpdGggYSB3aGl0ZSBsaXN0KQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLWZpdGltYWdlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtZml0aW1hZ2UuYmJjbGFzcwppbmRleCA0YzRmZDk5Li4yNTE3ZDc1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtZml0aW1hZ2UuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtZml0aW1hZ2UuYmJjbGFzcwpAQCAtNCw3ICs0LDcgQEAKICAgICBrZXJuZWx0eXBlcyA9IGQuZ2V0VmFyKCdLRVJORUxfSU1BR0VUWVBFUycpIG9yICIiCiAgICAgaWYgJ2ZpdEltYWdlJyBpbiBrZXJuZWx0eXBlcy5zcGxpdCgpOgogICAgICAgICBkZXBlbmRzID0gZC5nZXRWYXIoIkRFUEVORFMiKQotICAgICAgICBkZXBlbmRzID0gIiVzIHUtYm9vdC1ta2ltYWdlLW5hdGl2ZSBkdGMtbmF0aXZlIiAlIGRlcGVuZHMKKyAgICAgICAgZGVwZW5kcyA9ICIlcyB1LWJvb3QtdG9vbHMtbmF0aXZlIGR0Yy1uYXRpdmUiICUgZGVwZW5kcwogICAgICAgICBkLnNldFZhcigiREVQRU5EUyIsIGRlcGVuZHMpCiAKICAgICAgICAgdWFyY2ggPSBkLmdldFZhcigiVUJPT1RfQVJDSCIpCkBAIC0xOSw5ICsxOSw5IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXBsYWNlbWVudHR5cGUgPSAiekltYWdlIgogCi0JIyBPdmVycmlkZSBLRVJORUxfSU1BR0VUWVBFX0ZPUl9NQUtFIHZhcmlhYmxlLCB3aGljaCBpcyBpbnRlcm5hbAotCSMgdG8ga2VybmVsLmJiY2xhc3MgLiBXZSBoYXZlIHRvIG92ZXJyaWRlIGl0LCBzaW5jZSB3ZSBwYWNrIHpJbWFnZQotCSMgKGF0IGxlYXN0IGZvciBub3cpIGludG8gdGhlIGZpdEltYWdlIC4KKyAgICAgICAgIyBPdmVycmlkZSBLRVJORUxfSU1BR0VUWVBFX0ZPUl9NQUtFIHZhcmlhYmxlLCB3aGljaCBpcyBpbnRlcm5hbAorICAgICAgICAjIHRvIGtlcm5lbC5iYmNsYXNzIC4gV2UgaGF2ZSB0byBvdmVycmlkZSBpdCwgc2luY2Ugd2UgcGFjayB6SW1hZ2UKKyAgICAgICAgIyAoYXQgbGVhc3QgZm9yIG5vdykgaW50byB0aGUgZml0SW1hZ2UgLgogICAgICAgICB0eXBlZm9ybWFrZSA9IGQuZ2V0VmFyKCJLRVJORUxfSU1BR0VUWVBFX0ZPUl9NQUtFIikgb3IgIiIKICAgICAgICAgaWYgJ2ZpdEltYWdlJyBpbiB0eXBlZm9ybWFrZS5zcGxpdCgpOgogICAgICAgICAgICAgZC5zZXRWYXIoJ0tFUk5FTF9JTUFHRVRZUEVfRk9SX01BS0UnLCB0eXBlZm9ybWFrZS5yZXBsYWNlKCdmaXRJbWFnZScsIHJlcGxhY2VtZW50dHlwZSkpCkBAIC0zMCwxMiArMzAsMTkgQEAKICAgICAgICAgaWYgaW1hZ2U6CiAgICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX2Fzc2VtYmxlX2ZpdGltYWdlX2luaXRyYW1mcycsICdkZXBlbmRzJywgJyAke0lOSVRSQU1GU19JTUFHRX06ZG9faW1hZ2VfY29tcGxldGUnKQogCisgICAgICAgICNjaGVjayBpZiB0aGVyZSBhcmUgYW55IGR0YiBwcm92aWRlcnMKKyAgICAgICAgcHJvdmlkZXJkdGIgPSBkLmdldFZhcigiUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvZHRiIikKKyAgICAgICAgaWYgcHJvdmlkZXJkdGI6CisgICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX2Fzc2VtYmxlX2ZpdGltYWdlJywgJ2RlcGVuZHMnLCAnIHZpcnR1YWwvZHRiOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQorICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19hc3NlbWJsZV9maXRpbWFnZV9pbml0cmFtZnMnLCAnZGVwZW5kcycsICcgdmlydHVhbC9kdGI6ZG9fcG9wdWxhdGVfc3lzcm9vdCcpCisgICAgICAgICAgICBkLnNldFZhcignRVhURVJOQUxfS0VSTkVMX0RFVklDRVRSRUUnLCAiJHtSRUNJUEVfU1lTUk9PVH0vYm9vdC9kZXZpY2V0cmVlIikKKwogICAgICAgICAjIFZlcmlmaWVkIGJvb3Qgd2lsbCBzaWduIHRoZSBmaXRJbWFnZSBhbmQgYXBwZW5kIHRoZSBwdWJsaWMga2V5IHRvCiAgICAgICAgICMgVS1Cb290IGR0Yi4gV2UgZW5zdXJlIHRoZSBVLUJvb3QgZHRiIGlzIGRlcGxveWVkIGJlZm9yZSBhc3NlbWJsaW5nCiAgICAgICAgICMgdGhlIGZpdEltYWdlOgogICAgICAgICBpZiBkLmdldFZhcignVUJPT1RfU0lHTl9FTkFCTEUnKSA9PSAiMSI6CiAgICAgICAgICAgICB1Ym9vdF9wbiA9IGQuZ2V0VmFyKCdQUkVGRVJSRURfUFJPVklERVJfdS1ib290Jykgb3IgJ3UtYm9vdCcKLSAgICAgICAgICAgIGQuYXBwZW5kVmFyRmxhZygnZG9fYXNzZW1ibGVfZml0aW1hZ2UnLCAnZGVwZW5kcycsICcgJXM6ZG9fZGVwbG95JyAlIHVib290X3BuKQorICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19hc3NlbWJsZV9maXRpbWFnZScsICdkZXBlbmRzJywgJyAlczpkb19wb3B1bGF0ZV9zeXNyb290JyAlIHVib290X3BuKQogfQogCiAjIE9wdGlvbnMgZm9yIHRoZSBkZXZpY2UgdHJlZSBjb21waWxlciBwYXNzZWQgdG8gbWtpbWFnZSAnLUQnIGZlYXR1cmU6CkBAIC0zNzMsNyArMzgwLDggQEAKIAkjCiAJIyBTdGVwIDI6IFByZXBhcmUgYSBEVEIgaW1hZ2Ugc2VjdGlvbgogCSMKLQlpZiBbIC1uICIke0tFUk5FTF9ERVZJQ0VUUkVFfSIgXTsgdGhlbgorCisJaWYgWyAteiAiJHtFWFRFUk5BTF9LRVJORUxfREVWSUNFVFJFRX0iIF0gJiYgWyAtbiAiJHtLRVJORUxfREVWSUNFVFJFRX0iIF07IHRoZW4KIAkJZHRiY291bnQ9MQogCQlmb3IgRFRCIGluICR7S0VSTkVMX0RFVklDRVRSRUV9OyBkbwogCQkJaWYgZWNobyAke0RUQn0gfCBncmVwIC1xICcvZHRzLyc7IHRoZW4KQEAgLTM5MSw2ICszOTksMTYgQEAKIAkJZG9uZQogCWZpCiAKKwlpZiBbIC1uICIke0VYVEVSTkFMX0tFUk5FTF9ERVZJQ0VUUkVFfSIgXTsgdGhlbgorCQlkdGJjb3VudD0xCisJCWZvciBEVEJGSUxFIGluICR7RVhURVJOQUxfS0VSTkVMX0RFVklDRVRSRUV9LyouZHRiOyBkbworCQkJRFRCPWBiYXNlbmFtZSAke0RUQkZJTEV9YAorCQkJRFRCPSQoZWNobyAiJHtEVEJ9IiB8IHRyICcvJyAnXycpCisJCQlEVEJTPSIke0RUQlN9ICR7RFRCfSIKKwkJCWZpdGltYWdlX2VtaXRfc2VjdGlvbl9kdGIgJHsxfSAke0RUQn0gJHtEVEJGSUxFfQorCQlkb25lCisJZmkKKwogCSMKIAkjIFN0ZXAgMzogUHJlcGFyZSBhIHNldHVwIHNlY3Rpb24uIChGb3IgeDg2KQogCSMKQEAgLTQ1NiwxMCArNDc0LDE3IEBACiAJIyBTdGVwIDc6IFNpZ24gdGhlIGltYWdlIGFuZCBhZGQgcHVibGljIGtleSB0byBVLUJvb3QgZHRiCiAJIwogCWlmIFsgIngke1VCT09UX1NJR05fRU5BQkxFfSIgPSAieDEiIF0gOyB0aGVuCisJCWFkZF9rZXlfdG9fdV9ib290PSIiCisJCWlmIFsgLW4gIiR7VUJPT1RfRFRCX0JJTkFSWX0iIF07IHRoZW4KKwkJCSMgVGhlIHUtYm9vdC5kdGIgaXMgYSBzeW1saW5rIHRvIFVCT09UX0RUQl9JTUFHRSwgc28gd2UgbmVlZCBjb3B5CisJCQkjIGJvdGggb2YgdGhlbSwgYW5kIGRvbid0IGRlcmVmZXJlbmNlIHRoZSBzeW1saW5rLgorCQkJY3AgLVAgJHtTVEFHSU5HX0RBVEFESVJ9L3UtYm9vdCouZHRiICR7Qn0KKwkJCWFkZF9rZXlfdG9fdV9ib290PSItSyAke0J9LyR7VUJPT1RfRFRCX0JJTkFSWX0iCisJCWZpCiAJCXVib290LW1raW1hZ2UgXAogCQkJJHtAJy1EICIke1VCT09UX01LSU1BR0VfRFRDT1BUU30iJyBpZiBsZW4oJyR7VUJPT1RfTUtJTUFHRV9EVENPUFRTfScpIGVsc2UgJyd9IFwKIAkJCS1GIC1rICIke1VCT09UX1NJR05fS0VZRElSfSIgXAotCQkJJHtAJy1LICIke0RFUExPWV9ESVJfSU1BR0V9LyR7VUJPT1RfRFRCX0JJTkFSWX0iJyBpZiBsZW4oJyR7VUJPT1RfRFRCX0JJTkFSWX0nKSBlbHNlICcnfSBcCisJCQkkYWRkX2tleV90b191X2Jvb3QgXAogCQkJLXIgYXJjaC8ke0FSQ0h9L2Jvb3QvJHsyfQogCWZpCiB9CkBAIC00ODEsNyArNTA2LDcgQEAKIAlmaQogfQogCi1hZGR0YXNrIGFzc2VtYmxlX2ZpdGltYWdlX2luaXRyYW1mcyBiZWZvcmUgZG9fZGVwbG95IGFmdGVyIGRvX2luc3RhbGwKK2FkZHRhc2sgYXNzZW1ibGVfZml0aW1hZ2VfaW5pdHJhbWZzIGJlZm9yZSBkb19kZXBsb3kgYWZ0ZXIgZG9fYnVuZGxlX2luaXRyYW1mcwogCiAKIGtlcm5lbF9kb19kZXBsb3lbdmFyZGVwc2V4Y2x1ZGVdID0gIkRBVEVUSU1FIgpAQCAtNTA1LDUgKzUzMCwxMSBAQAogCQkJaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vYXJjaC8ke0FSQ0h9L2Jvb3QvZml0SW1hZ2UtJHtJTklUUkFNRlNfSU1BR0V9ICR7REVQTE9ZRElSfS9maXRJbWFnZS0ke0lOSVRSQU1GU19JTUFHRV9OQU1FfS0ke0tFUk5FTF9GSVRfTkFNRX0uYmluCiAJCQlsbiAtc25mIGZpdEltYWdlLSR7SU5JVFJBTUZTX0lNQUdFX05BTUV9LSR7S0VSTkVMX0ZJVF9OQU1FfS5iaW4gJHtERVBMT1lESVJ9L2ZpdEltYWdlLSR7SU5JVFJBTUZTX0lNQUdFX05BTUV9LSR7S0VSTkVMX0ZJVF9MSU5LX05BTUV9CiAJCWZpCisJCWlmIFsgIiR7VUJPT1RfU0lHTl9FTkFCTEV9IiA9ICIxIiAtYSAtbiAiJHtVQk9PVF9EVEJfQklOQVJZfSIgXSA7IHRoZW4KKwkJCSMgVUJPT1RfRFRCX0lNQUdFIGlzIGEgcmVhbGZpbGUsIGJ1dCB3ZSBjYW4ndCB1c2UKKwkJCSMgJHtVQk9PVF9EVEJfSU1BR0V9IHNpbmNlIGl0IGNvbnRhaW5zICR7UFZ9IHdoaWNoIGlzIGFpbWVkCisJCQkjIGZvciB1LWJvb3QsIGJ1dCB3ZSBhcmUgaW4ga2VybmVsIGVudiBub3cuCisJCQlpbnN0YWxsIC1tIDA2NDQgJHtCfS91LWJvb3QtJHtNQUNISU5FfSouZHRiICR7REVQTE9ZRElSfS8KKwkJZmkKIAlmaQogfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLW1vZHVsZS1zcGxpdC5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLW1vZHVsZS1zcGxpdC5iYmNsYXNzCmluZGV4IDY3YWI0MTYuLmU4ZDNlYjUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1tb2R1bGUtc3BsaXQuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtbW9kdWxlLXNwbGl0LmJiY2xhc3MKQEAgLTQ4LDcgKzQ4LDggQEAKICAgICAgICAgdG1wZmlsZSA9IHRmWzFdCiAgICAgICAgIGNtZCA9ICIlc29iamNvcHkgLWogLm1vZGluZm8gLU8gYmluYXJ5ICVzICVzIiAlIChkLmdldFZhcigiSE9TVF9QUkVGSVgiKSBvciAiIiwgZmlsZSwgdG1wZmlsZSkKICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGNtZCwgc2hlbGw9VHJ1ZSkKLSAgICAgICAgZiA9IG9wZW4odG1wZmlsZSkKKyAgICAgICAgIyBlcnJvcnM9J3JlcGxhY2UnOiBTb21lIG9sZCBrZXJuZWwgdmVyc2lvbnMgY29udGFpbiBpbnZhbGlkIHV0Zi04IGNoYXJhY3RlcnMgaW4gbW9kIGRlc2NyaXB0aW9ucyAobGlrZSAweGY2LCAnw7YnKQorICAgICAgICBmID0gb3Blbih0bXBmaWxlLCBlcnJvcnM9J3JlcGxhY2UnKQogICAgICAgICBsID0gZi5yZWFkKCkuc3BsaXQoIlwwMDAiKQogICAgICAgICBmLmNsb3NlKCkKICAgICAgICAgb3MuY2xvc2UodGZbMF0pCkBAIC0xMzIsNyArMTMzLDcgQEAKICAgICBrZXJuZWxfcGFja2FnZV9uYW1lID0gZC5nZXRWYXIoIktFUk5FTF9QQUNLQUdFX05BTUUiKSBvciAia2VybmVsIgogICAgIGtlcm5lbF92ZXJzaW9uID0gZC5nZXRWYXIoIktFUk5FTF9WRVJTSU9OIikKIAotICAgIG1vZHVsZV9yZWdleCA9ICdeKC4qKVwuaz9vJCcKKyAgICBtb2R1bGVfcmVnZXggPSByJ14oLiopXC5rP28kJwogCiAgICAgbW9kdWxlX3BhdHRlcm5fcHJlZml4ID0gZC5nZXRWYXIoJ0tFUk5FTF9NT0RVTEVfUEFDS0FHRV9QUkVGSVgnKQogICAgIG1vZHVsZV9wYXR0ZXJuX3N1ZmZpeCA9IGQuZ2V0VmFyKCdLRVJORUxfTU9EVUxFX1BBQ0tBR0VfU1VGRklYJykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC11aW1hZ2UuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC11aW1hZ2UuYmJjbGFzcwppbmRleCBjMmRlNmJiLi5jZWRiNGZhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtdWltYWdlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLXVpbWFnZS5iYmNsYXNzCkBAIC0zLDcgKzMsNyBAQAogcHl0aG9uIF9fYW5vbnltb3VzICgpIHsKICAgICBpZiAidUltYWdlIiBpbiBkLmdldFZhcignS0VSTkVMX0lNQUdFVFlQRVMnKToKICAgICAgICAgZGVwZW5kcyA9IGQuZ2V0VmFyKCJERVBFTkRTIikKLSAgICAgICAgZGVwZW5kcyA9ICIlcyB1LWJvb3QtbWtpbWFnZS1uYXRpdmUiICUgZGVwZW5kcworICAgICAgICBkZXBlbmRzID0gIiVzIHUtYm9vdC10b29scy1uYXRpdmUiICUgZGVwZW5kcwogICAgICAgICBkLnNldFZhcigiREVQRU5EUyIsIGRlcGVuZHMpCiAKICAgICAgICAgIyBPdmVycmlkZSBLRVJORUxfSU1BR0VUWVBFX0ZPUl9NQUtFIHZhcmlhYmxlLCB3aGljaCBpcyBpbnRlcm5hbApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLXlvY3RvLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwteW9jdG8uYmJjbGFzcwppbmRleCA0OTZjOGE3Li5lZDliY2ZhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwteW9jdG8uYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwteW9jdG8uYmJjbGFzcwpAQCAtNSwxMiArNSwyMSBAQAogCiAjIHJldHVybnMgbG9jYWwgKGFic29sdXRlKSBwYXRoIG5hbWVzIGZvciBhbGwgdmFsaWQgcGF0Y2hlcyBpbiB0aGUKICMgc3JjX3VyaQotZGVmIGZpbmRfcGF0Y2hlcyhkKToKK2RlZiBmaW5kX3BhdGNoZXMoZCxzdWJkaXIpOgogICAgIHBhdGNoZXMgPSBzcmNfcGF0Y2hlcyhkKQogICAgIHBhdGNoX2xpc3Q9W10KICAgICBmb3IgcCBpbiBwYXRjaGVzOgotICAgICAgICBfLCBfLCBsb2NhbCwgXywgXywgXyA9IGJiLmZldGNoLmRlY29kZXVybChwKQotICAgICAgICBwYXRjaF9saXN0LmFwcGVuZChsb2NhbCkKKyAgICAgICAgXywgXywgbG9jYWwsIF8sIF8sIHBhcm0gPSBiYi5mZXRjaC5kZWNvZGV1cmwocCkKKyAgICAgICAgIyBpZiBwYXRjaGRpciBoYXMgYmVlbiBwYXNzZWQsIHdlIHdvbid0IGJlIGFibGUgdG8gYXBwbHkgaXQgc28gc2tpcAorICAgICAgICAjIHRoZSBwYXRjaCBmb3Igbm93LCBhbmQgc3BlY2lhbCBwcm9jZXNzaW5nIGhhcHBlbnMgbGF0ZXIKKyAgICAgICAgcGF0Y2hkaXIgPSAnJworICAgICAgICBpZiAicGF0Y2hkaXIiIGluIHBhcm06CisgICAgICAgICAgICBwYXRjaGRpciA9IHBhcm1bInBhdGNoZGlyIl0KKyAgICAgICAgaWYgc3ViZGlyOgorICAgICAgICAgICAgaWYgc3ViZGlyID09IHBhdGNoZGlyOgorICAgICAgICAgICAgICAgIHBhdGNoX2xpc3QuYXBwZW5kKGxvY2FsKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcGF0Y2hfbGlzdC5hcHBlbmQobG9jYWwpCiAKICAgICByZXR1cm4gcGF0Y2hfbGlzdAogCkBAIC0xMTksOCArMTI4LDIwIEBACiAJCWZpCiAJZmkKIAorCSMgd2FzIGFueW9uZSB0cnlpbmcgdG8gcGF0Y2ggdGhlIGtlcm5lbCBtZXRhIGRhdGEgPywgd2UgbmVlZCB0byBkbworCSMgdGhpcyBoZXJlLCBzaW5jZSB0aGUgc2NjIGNvbW1hbmRzIG1pZ3JhdGUgdGhlIC5jZmcgZnJhZ21lbnRzIHRvIHRoZQorCSMga2VybmVsIHNvdXJjZSB0cmVlLCB3aGVyZSB0aGV5J2xsIGJlIHVzZWQgbGF0ZXIuCisJY2hlY2tfZ2l0X2NvbmZpZworCXBhdGNoZXM9IiR7QCIgIi5qb2luKGZpbmRfcGF0Y2hlcyhkLCdrZXJuZWwtbWV0YScpKX0iCisJZm9yIHAgaW4gJHBhdGNoZXM7IGRvCisJICAgICgKKwkJY2QgJHtXT1JLRElSfS9rZXJuZWwtbWV0YQorCQlnaXQgYW0gLXMgJHAKKwkgICAgKQorCWRvbmUKKwogCXNjY3NfZnJvbV9zcmNfdXJpPSIke0AiICIuam9pbihmaW5kX3NjY3MoZCkpfSIKLQlwYXRjaGVzPSIke0AiICIuam9pbihmaW5kX3BhdGNoZXMoZCkpfSIKKwlwYXRjaGVzPSIke0AiICIuam9pbihmaW5kX3BhdGNoZXMoZCwnJykpfSIKIAlmZWF0X2RpcnM9IiR7QCIgIi5qb2luKGZpbmRfa2VybmVsX2ZlYXR1cmVfZGlycyhkKSl9IgogCiAJIyBhIHF1aWNrIGNoZWNrIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCBoYXZlIGR1cGxpY2F0ZSBkZWZjb25maWdzCkBAIC0xMzgsMTAgKzE1OSwxMCBAQAogCWZvciBmIGluICR7ZmVhdF9kaXJzfTsgZG8KIAkJaWYgWyAtZCAiJHtXT1JLRElSfS8kZi9tZXRhIiBdOyB0aGVuCiAJCQlpbmNsdWRlcz0iJGluY2x1ZGVzIC1JJHtXT1JLRElSfS8kZi9rZXJuZWwtbWV0YSIKLQkgICAgICAgIGVsaWYgWyAtZCAiJHtXT1JLRElSfS8kZiIgXTsgdGhlbgotCQkJaW5jbHVkZXM9IiRpbmNsdWRlcyAtSSR7V09SS0RJUn0vJGYiCiAJCWVsaWYgWyAtZCAiJHtXT1JLRElSfS8uLi9vZS1sb2NhbC1maWxlcy8kZiIgXTsgdGhlbgogCQkJaW5jbHVkZXM9IiRpbmNsdWRlcyAtSSR7V09SS0RJUn0vLi4vb2UtbG9jYWwtZmlsZXMvJGYiCisJICAgICAgICBlbGlmIFsgLWQgIiR7V09SS0RJUn0vJGYiIF07IHRoZW4KKwkJCWluY2x1ZGVzPSIkaW5jbHVkZXMgLUkke1dPUktESVJ9LyRmIgogCQlmaQogCWRvbmUKIAlmb3IgcyBpbiAke3NjY3N9ICR7cGF0Y2hlc307IGRvCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC5iYmNsYXNzCmluZGV4IGJkMTg1ZTIuLjlkYTk4MTggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC5iYmNsYXNzCkBAIC00ODcsNiArNDg3LDE1IEBACiAJCW1rZGlyIC1wICRrZXJuZWxkaXIvYXJjaC8ke0FSQ0h9L2luY2x1ZGUvZ2VuZXJhdGVkLwogCQljcCAtZlIgYXJjaC8ke0FSQ0h9L2luY2x1ZGUvZ2VuZXJhdGVkLyogJGtlcm5lbGRpci9hcmNoLyR7QVJDSH0vaW5jbHVkZS9nZW5lcmF0ZWQvCiAJZmkKKworCWlmIChncmVwIC1xIC1pIC1lICdeQ09ORklHX1VOV0lOREVSX09SQz15JCcgJGtlcm5lbGRpci8uY29uZmlnKTsgdGhlbgorCQkjIFdpdGggQ09ORklHX1VOV0lOREVSX09SQyAodGhlIGRlZmF1bHQgaW4gNC4xNCksIG9ianRvb2wgaXMgcmVxdWlyZWQgZm9yCisJCSMgb3V0LW9mLXRyZWUgbW9kdWxlcyB0byBiZSBhYmxlIHRvIGdlbmVyYXRlIG9iamVjdCBmaWxlcy4KKwkJaWYgWyAteCB0b29scy9vYmp0b29sL29ianRvb2wgXTsgdGhlbgorCQkJbWtkaXIgLXAgJHtrZXJuZWxkaXJ9L3Rvb2xzL29ianRvb2wKKwkJCWNwIHRvb2xzL29ianRvb2wvb2JqdG9vbCAke2tlcm5lbGRpcn0vdG9vbHMvb2JqdG9vbC8KKwkJZmkKKwlmaQogfQogCiAjIFdlIGRvbid0IG5lZWQgdG8gc3RhZ2UgYW55dGhpbmcsIG5vdCB0aGUgbW9kdWxlcy9maXJtd2FyZSBzaW5jZSB0aG9zZSB3b3VsZCBjbGFzaCB3aXRoIGxpbnV4LWZpcm13YXJlCkBAIC01ODAsNyArNTg5LDcgQEAKIFBBQ0tBR0VTUExJVEZVTkNTX3ByZXBlbmQgPSAic3BsaXRfa2VybmVsX3BhY2thZ2VzICIKIAogcHl0aG9uIHNwbGl0X2tlcm5lbF9wYWNrYWdlcyAoKSB7Ci0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcm9vdD0nJHtub25hcmNoX2Jhc2VfbGliZGlyfS9maXJtd2FyZScsIGZpbGVfcmVnZXg9J14oLiopXC4oYmlufGZ3fGNpc3xjc3B8ZHNwKSQnLCBvdXRwdXRfcGF0dGVybj0nJHtLRVJORUxfUEFDS0FHRV9OQU1FfS1maXJtd2FyZS0lcycsIGRlc2NyaXB0aW9uPSdGaXJtd2FyZSBmb3IgJXMnLCByZWN1cnNpdmU9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCByb290PScke25vbmFyY2hfYmFzZV9saWJkaXJ9L2Zpcm13YXJlJywgZmlsZV9yZWdleD1yJ14oLiopXC4oYmlufGZ3fGNpc3xjc3B8ZHNwKSQnLCBvdXRwdXRfcGF0dGVybj0nJHtLRVJORUxfUEFDS0FHRV9OQU1FfS1maXJtd2FyZS0lcycsIGRlc2NyaXB0aW9uPSdGaXJtd2FyZSBmb3IgJXMnLCByZWN1cnNpdmU9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nJykKIH0KIAogIyBNYW55IHNjcmlwdHMgd2FudCB0byBsb29rIGluIGFyY2gvJGFyY2gvYm9vdCBmb3IgdGhlIGJvb3RhYmxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9saWJjLXBhY2thZ2UuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2xpYmMtcGFja2FnZS5iYmNsYXNzCmluZGV4IDM0NWVjMjkuLjg4NTlkYWQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2xpYmMtcGFja2FnZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2xpYmMtcGFja2FnZS5iYmNsYXNzCkBAIC0zNywxNiArMzcsMTEgQEAKICAgICAgICAgICAgICAgICBkLnNldFZhcigiREVQRU5EUyIsIGRlcGVuZHMpCiAgICAgICAgICAgICAgICAgZC5zZXRWYXIoIkdMSUJDX0lOVEVSTkFMX1VTRV9CSU5BUllfTE9DQUxFIiwgImNvbXBpbGUiKQogICAgICAgICAgICAgICAgIGJyZWFrCi0KLSAgICAjIHRyeSB0byBmaXggZGlzYWJsZSBjaGFyc2V0cy9sb2NhbGVzL2xvY2FsZS1jb2RlIGNvbXBpbGUgZmFpbAotICAgIGlmIGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGliYy1jaGFyc2V0cycsIFRydWUsIEZhbHNlLCBkKSBhbmQgXAotICAgICAgICAgICAgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsaWJjLWxvY2FsZXMnLCBUcnVlLCBGYWxzZSwgZCkgYW5kIFwKLSAgICAgICAgICAgIGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGliYy1sb2NhbGUtY29kZScsIFRydWUsIEZhbHNlLCBkKToKLSAgICAgICAgZC5zZXRWYXIoJ1BBQ0tBR0VfTk9fR0NPTlYnLCAnMCcpCi0gICAgZWxzZToKLSAgICAgICAgZC5zZXRWYXIoJ1BBQ0tBR0VfTk9fR0NPTlYnLCAnMScpCiB9CiAKKyMgdHJ5IHRvIGZpeCBkaXNhYmxlIGNoYXJzZXRzL2xvY2FsZXMvbG9jYWxlLWNvZGUgY29tcGlsZSBmYWlsCitQQUNLQUdFX05PX0dDT05WID89ICIwIgorCiBPVkVSUklERVNfYXBwZW5kID0gIjoke1RBUkdFVF9BUkNIfS0ke1RBUkdFVF9PU30iCiAKIGxvY2FsZV9iYXNlX3Bvc3RpbnN0X29udGFyZ2V0KCkgewpAQCAtNjksOSArNjQsMTQgQEAKIAlmb3IgaSBpbiAkdHJlZWRpci8ke2RhdGFkaXJ9L2kxOG4vY2hhcm1hcHMvKmd6OyBkbyAKIAkJZ3VuemlwICRpCiAJZG9uZQotCXRhciAtY2YgLSAtQyAke0xPQ0FMRVRSRUVTUkN9JHtiYXNlX2xpYmRpcn0gLXAgLiB8IHRhciAteGYgLSAtQyAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfQotCWlmIFsgLWYgJHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtwcmVmaXhfbmF0aXZlfS9saWIvbGliZ2NjX3MuKiBdOyB0aGVuCi0JCXRhciAtY2YgLSAtQyAke1NUQUdJTkdfRElSX05BVElWRX0vJHtwcmVmaXhfbmF0aXZlfS8ke2Jhc2VfbGliZGlyfSAtcCBsaWJnY2Nfcy4qIHwgdGFyIC14ZiAtIC1DICR0cmVlZGlyLyR7YmFzZV9saWJkaXJ9CisJIyBUaGUgZXh0cmFjdCBwYXR0ZXJuICIuL2wqLnNvKiIgaXMgY2FyZWZ1bGx5IHNlbGVjdGVkIHNvIHRoYXQgaXQgd2lsbAorCSMgbWF0Y2ggbGQqLnNvIGFuZCBsaWIqLnNvKiwgYnV0IG5vdCBhbnkgZmlsZXMgaW4gdGhlIGdjb252IGRpcmVjdG9yeQorCSMgKGlmIGl0IGV4aXN0cykuIFRoaXMgbWFrZXMgc3VyZSB3ZSBvbmx5IHVucGFjayB0aGUgZmlsZXMgd2UgbmVlZC4KKwkjIFRoaXMgaXMgaW1wb3J0YW50IGluIGNhc2UgdXNybWVyZ2UgaXMgc2V0IGluIERJU1RST19GRUFUVVJFUywgd2hpY2gKKwkjIG1lYW5zICR7YmFzZV9saWJkaXJ9ID09ICR7bGliZGlyfS4KKwl0YXIgLWNmIC0gLUMgJHtMT0NBTEVUUkVFU1JDfSR7YmFzZV9saWJkaXJ9IC1wIC4gfCB0YXIgLXhmIC0gLUMgJHRyZWVkaXIvJHtiYXNlX2xpYmRpcn0gLS13aWxkY2FyZHMgJy4vbCouc28qJworCWlmIFsgLWYgJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2xpYmdjY19zLiogXTsgdGhlbgorCQl0YXIgLWNmIC0gLUMgJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9IC1wIGxpYmdjY19zLiogfCB0YXIgLXhmIC0gLUMgJHRyZWVkaXIvJHtiYXNlX2xpYmRpcn0KIAlmaQogCWluc3RhbGwgLW0gMDc1NSAke0xPQ0FMRVRSRUVTUkN9JHtiaW5kaXJ9L2xvY2FsZWRlZiAkdHJlZWRpci8ke2Jhc2VfYmluZGlyfQogfQpAQCAtMTE1LDggKzExNSw4IEBACiAgICAgZGVmIGNhbGNfZ2NvbnZfZGVwcyhmbiwgcGtnLCBmaWxlX3JlZ2V4LCBvdXRwdXRfcGF0dGVybiwgZ3JvdXApOgogICAgICAgICBkZXBzID0gW10KICAgICAgICAgZiA9IG9wZW4oZm4sICJyYiIpCi0gICAgICAgIGNfcmUgPSByZS5jb21waWxlKCdeY29weSAiKC4qKSInKQotICAgICAgICBpX3JlID0gcmUuY29tcGlsZSgnXmluY2x1ZGUgIihcdyspIi4qJykKKyAgICAgICAgY19yZSA9IHJlLmNvbXBpbGUocideY29weSAiKC4qKSInKQorICAgICAgICBpX3JlID0gcmUuY29tcGlsZShyJ15pbmNsdWRlICIoXHcrKSIuKicpCiAgICAgICAgIGZvciBsIGluIGYucmVhZGxpbmVzKCk6CiAgICAgICAgICAgICBsID0gbC5kZWNvZGUoImxhdGluLTEiKQogICAgICAgICAgICAgbSA9IGNfcmUubWF0Y2gobCkgb3IgaV9yZS5tYXRjaChsKQpAQCAtMTMwLDE1ICsxMzAsMTUgQEAKICAgICAgICAgaWYgYnBuICE9ICdnbGliYyc6CiAgICAgICAgICAgICBkLnNldFZhcignUlBST1ZJREVTXyVzJyAlIHBrZywgcGtnLnJlcGxhY2UoYnBuLCAnZ2xpYmMnKSkKIAotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdjb252X2xpYmRpciwgZmlsZV9yZWdleD0nXiguKilcLnNvJCcsIG91dHB1dF9wYXR0ZXJuPWJwbisnLWdjb252LSVzJywgXAorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdjb252X2xpYmRpciwgZmlsZV9yZWdleD1yJ14oLiopXC5zbyQnLCBvdXRwdXRfcGF0dGVybj1icG4rJy1nY29udi0lcycsIFwKICAgICAgICAgZGVzY3JpcHRpb249J2djb252IG1vZHVsZSBmb3IgY2hhcmFjdGVyIHNldCAlcycsIGhvb2s9Y2FsY19nY29udl9kZXBzLCBcCiAgICAgICAgIGV4dHJhX2RlcGVuZHM9YnBuKyctZ2NvbnYnKQogCiAgICAgZGVmIGNhbGNfY2hhcm1hcF9kZXBzKGZuLCBwa2csIGZpbGVfcmVnZXgsIG91dHB1dF9wYXR0ZXJuLCBncm91cCk6CiAgICAgICAgIGRlcHMgPSBbXQogICAgICAgICBmID0gb3BlbihmbiwgInJiIikKLSAgICAgICAgY19yZSA9IHJlLmNvbXBpbGUoJ15jb3B5ICIoLiopIicpCi0gICAgICAgIGlfcmUgPSByZS5jb21waWxlKCdeaW5jbHVkZSAiKFx3KykiLionKQorICAgICAgICBjX3JlID0gcmUuY29tcGlsZShyJ15jb3B5ICIoLiopIicpCisgICAgICAgIGlfcmUgPSByZS5jb21waWxlKHInXmluY2x1ZGUgIihcdyspIi4qJykKICAgICAgICAgZm9yIGwgaW4gZi5yZWFkbGluZXMoKToKICAgICAgICAgICAgIGwgPSBsLmRlY29kZSgibGF0aW4tMSIpCiAgICAgICAgICAgICBtID0gY19yZS5tYXRjaChsKSBvciBpX3JlLm1hdGNoKGwpCkBAIC0xNTIsMTQgKzE1MiwxNCBAQAogICAgICAgICBpZiBicG4gIT0gJ2dsaWJjJzoKICAgICAgICAgICAgIGQuc2V0VmFyKCdSUFJPVklERVNfJXMnICUgcGtnLCBwa2cucmVwbGFjZShicG4sICdnbGliYycpKQogCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY2hhcm1hcF9kaXIsIGZpbGVfcmVnZXg9J14oLiopXC5neiQnLCBvdXRwdXRfcGF0dGVybj1icG4rJy1jaGFybWFwLSVzJywgXAorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGNoYXJtYXBfZGlyLCBmaWxlX3JlZ2V4PXInXiguKilcLmd6JCcsIG91dHB1dF9wYXR0ZXJuPWJwbisnLWNoYXJtYXAtJXMnLCBcCiAgICAgICAgIGRlc2NyaXB0aW9uPSdjaGFyYWN0ZXIgbWFwIGZvciAlcyBlbmNvZGluZycsIGhvb2s9Y2FsY19jaGFybWFwX2RlcHMsIGV4dHJhX2RlcGVuZHM9JycpCiAKICAgICBkZWYgY2FsY19sb2NhbGVfZGVwcyhmbiwgcGtnLCBmaWxlX3JlZ2V4LCBvdXRwdXRfcGF0dGVybiwgZ3JvdXApOgogICAgICAgICBkZXBzID0gW10KICAgICAgICAgZiA9IG9wZW4oZm4sICJyYiIpCi0gICAgICAgIGNfcmUgPSByZS5jb21waWxlKCdeY29weSAiKC4qKSInKQotICAgICAgICBpX3JlID0gcmUuY29tcGlsZSgnXmluY2x1ZGUgIihcdyspIi4qJykKKyAgICAgICAgY19yZSA9IHJlLmNvbXBpbGUocideY29weSAiKC4qKSInKQorICAgICAgICBpX3JlID0gcmUuY29tcGlsZShyJ15pbmNsdWRlICIoXHcrKSIuKicpCiAgICAgICAgIGZvciBsIGluIGYucmVhZGxpbmVzKCk6CiAgICAgICAgICAgICBsID0gbC5kZWNvZGUoImxhdGluLTEiKQogICAgICAgICAgICAgbSA9IGNfcmUubWF0Y2gobCkgb3IgaV9yZS5tYXRjaChsKQpAQCAtMTczLDEzICsxNzMsMTMgQEAKICAgICAgICAgaWYgYnBuICE9ICdnbGliYyc6CiAgICAgICAgICAgICBkLnNldFZhcignUlBST1ZJREVTXyVzJyAlIHBrZywgcGtnLnJlcGxhY2UoYnBuLCAnZ2xpYmMnKSkKIAotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxvY2FsZXNfZGlyLCBmaWxlX3JlZ2V4PScoLiopJywgb3V0cHV0X3BhdHRlcm49YnBuKyctbG9jYWxlZGF0YS0lcycsIFwKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsb2NhbGVzX2RpciwgZmlsZV9yZWdleD1yJyguKiknLCBvdXRwdXRfcGF0dGVybj1icG4rJy1sb2NhbGVkYXRhLSVzJywgXAogICAgICAgICBkZXNjcmlwdGlvbj0nbG9jYWxlIGRlZmluaXRpb24gZm9yICVzJywgaG9vaz1jYWxjX2xvY2FsZV9kZXBzLCBleHRyYV9kZXBlbmRzPScnKQogICAgIGQuc2V0VmFyKCdQQUNLQUdFUycsIGQuZ2V0VmFyKCdQQUNLQUdFUycsIEZhbHNlKSArICcgJyArIGQuZ2V0VmFyKCdNTFBSRUZJWCcsIEZhbHNlKSArIGJwbiArICctZ2NvbnYnKQogCiAgICAgdXNlX2JpbiA9IGQuZ2V0VmFyKCJHTElCQ19JTlRFUk5BTF9VU0VfQklOQVJZX0xPQ0FMRSIpCiAKLSAgICBkb3RfcmUgPSByZS5jb21waWxlKCIoLiopXC4oLiopIikKKyAgICBkb3RfcmUgPSByZS5jb21waWxlKHIiKC4qKVwuKC4qKSIpCiAKICAgICAjIFJlYWQgaW4gc3VwcG9ydGVkIGxvY2FsZXMgYW5kIGFzc29jaWF0ZWQgZW5jb2RpbmdzCiAgICAgc3VwcG9ydGVkID0ge30KQEAgLTIzNiw2ICsyMzYsOCBAQAogICAgICAgICBpZiB1c2VfY3Jvc3NfbG9jYWxlZGVmID09ICIxIjoKICAgICAgICAgICAgIHRhcmdldF9hcmNoID0gZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJykKICAgICAgICAgICAgIGxvY2FsZV9hcmNoX29wdGlvbnMgPSB7IFwKKyAgICAgICAgICAgICAgICAiYXJjIjogICAgICIgLS11aW50MzItYWxpZ249NCAtLWxpdHRsZS1lbmRpYW4gIiwgXAorICAgICAgICAgICAgICAgICJhcmNlYiI6ICAgIiAtLXVpbnQzMi1hbGlnbj00IC0tYmlnLWVuZGlhbiAiLCAgICBcCiAgICAgICAgICAgICAgICAgImFybSI6ICAgICAiIC0tdWludDMyLWFsaWduPTQgLS1saXR0bGUtZW5kaWFuICIsIFwKICAgICAgICAgICAgICAgICAiYXJtZWIiOiAgICIgLS11aW50MzItYWxpZ249NCAtLWJpZy1lbmRpYW4gIiwgICAgXAogICAgICAgICAgICAgICAgICJhYXJjaDY0IjogIiAtLXVpbnQzMi1hbGlnbj00IC0tbGl0dGxlLWVuZGlhbiAiLCAgICBcCkBAIC0yNzgsNyArMjgwLDcgQEAKICAgICAgICAgICAgIHFlbXVfb3B0aW9ucyA9IGQuZ2V0VmFyKCdRRU1VX09QVElPTlMnKQogCiAgICAgICAgICAgICBjbWQgPSAiUFNFVURPX1JFTE9BREVEPVlFUyBQQVRIPVwiJXNcIiBJMThOUEFUSD1cIiVzXCIgJXMgLUwgJXMgXAotICAgICAgICAgICAgICAgIC1FIExEX0xJQlJBUllfUEFUSD0lcyAlcyAlcy9iaW4vbG9jYWxlZGVmICVzIiAlIFwKKyAgICAgICAgICAgICAgICAtRSBMRF9MSUJSQVJZX1BBVEg9JXMgJXMgJXMke2Jhc2VfYmluZGlyfS9sb2NhbGVkZWYgJXMiICUgXAogICAgICAgICAgICAgICAgIChwYXRoLCBpMThucGF0aCwgcWVtdSwgdHJlZWRpciwgbGRsaWJkaXIsIHFlbXVfb3B0aW9ucywgdHJlZWRpciwgbG9jYWxlZGVmX29wdHMpCiAKICAgICAgICAgY29tbWFuZHNbIiVzLyVzIiAlIChvdXRwdXRwYXRoLCBuYW1lKV0gPSBjbWQKQEAgLTI5MCw3ICsyOTIsNyBAQAogICAgICAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJXMnICUgcGtnbmFtZSwgJzEnKQogICAgICAgICBkLnNldFZhcignUEFDS0FHRVMnLCAnJXMgJXMnICUgKHBrZ25hbWUsIGQuZ2V0VmFyKCdQQUNLQUdFUycpKSkKICAgICAgICAgcnByb3ZpZGVzID0gJyAlc3ZpcnR1YWwtbG9jYWxlLSVzJyAlIChtbHByZWZpeCwgbGVnaXRpbWl6ZV9wYWNrYWdlX25hbWUobmFtZSkpCi0gICAgICAgIG0gPSByZS5tYXRjaCgiKC4qKV8oLiopIiwgbmFtZSkKKyAgICAgICAgbSA9IHJlLm1hdGNoKHIiKC4qKV8oLiopIiwgbmFtZSkKICAgICAgICAgaWYgbToKICAgICAgICAgICAgIHJwcm92aWRlcyArPSAnICVzdmlydHVhbC1sb2NhbGUtJXMnICUgKG1scHJlZml4LCBtLmdyb3VwKDEpKQogICAgICAgICBkLnNldFZhcignUlBST1ZJREVTXyVzJyAlIHBrZ25hbWUsIHJwcm92aWRlcykKQEAgLTM0MywxMSArMzQ1LDE0IEBACiAgICAgICAgIG1ha2VmaWxlID0gb2UucGF0aC5qb2luKGQuZ2V0VmFyKCJXT1JLRElSIiksICJsb2NhbGUtdHJlZSIsICJNYWtlZmlsZSIpCiAgICAgICAgIG0gPSBvcGVuKG1ha2VmaWxlLCAidyIpCiAgICAgICAgIG0ud3JpdGUoImFsbDogJXNcblxuIiAlICIgIi5qb2luKGNvbW1hbmRzLmtleXMoKSkpCi0gICAgICAgIGZvciBjbWQgaW4gY29tbWFuZHM6CisgICAgICAgIHRvdGFsID0gbGVuKGNvbW1hbmRzKQorICAgICAgICBmb3IgaSwgY21kIGluIGVudW1lcmF0ZShjb21tYW5kcyk6CiAgICAgICAgICAgICBtLndyaXRlKGNtZCArICI6XG4iKQorICAgICAgICAgICAgbS53cml0ZSgiXHRAZWNobyAnUHJvZ3Jlc3MgJWQvJWQnXG4iICUgKGksIHRvdGFsKSkKICAgICAgICAgICAgIG0ud3JpdGUoIlx0IiArIGNvbW1hbmRzW2NtZF0gKyAiXG5cbiIpCiAgICAgICAgIG0uY2xvc2UoKQogICAgICAgICBkLnNldFZhcigiRVhUUkFfT0VNQUtFIiwgIi1DICVzICR7UEFSQUxMRUxfTUFLRX0iICUgKG9zLnBhdGguZGlybmFtZShtYWtlZmlsZSkpKQorICAgICAgICBkLnNldFZhckZsYWcoIm9lX3J1bm1ha2UiLCAicHJvZ3Jlc3MiLCAib3V0b2Y6UHJvZ3Jlc3NccyhcZCspLyhcZCspIikKICAgICAgICAgYmIubm90ZSgiRXhlY3V0aW5nIGJpbmFyeSBsb2NhbGUgZ2VuZXJhdGlvbiBtYWtlZmlsZSIpCiAgICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygib2VfcnVubWFrZSIsIGQpCiAgICAgICAgIGJiLm5vdGUoImNvbGxlY3RpbmcgYmluYXJ5IGxvY2FsZXMgZnJvbSBsb2NhbGUgdHJlZSIpCkBAIC0zNTYsMTIgKzM2MSwxMiBAQAogICAgIGlmIHVzZV9iaW4gaW4gKCdjb21waWxlJywgJ3ByZWNvbXBpbGVkJyk6CiAgICAgICAgIGxjc3BsaXQgPSBkLmdldFZhcignR0xJQkNfU1BMSVRfTENfUEFDS0FHRVMnKQogICAgICAgICBpZiBsY3NwbGl0IGFuZCBpbnQobGNzcGxpdCk6Ci0gICAgICAgICAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBiaW5hcnlfbG9jYWxlc19kaXIsIGZpbGVfcmVnZXg9J14oLiovTENfXHcrKScsIFwKKyAgICAgICAgICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJpbmFyeV9sb2NhbGVzX2RpciwgZmlsZV9yZWdleD1yJ14oLiovTENfXHcrKScsIFwKICAgICAgICAgICAgICAgICBvdXRwdXRfcGF0dGVybj1icG4rJy1iaW5hcnktbG9jYWxlZGF0YS0lcycsIFwKICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj0nYmluYXJ5IGxvY2FsZSBkZWZpbml0aW9uIGZvciAlcycsIHJlY3Vyc2l2ZT1UcnVlLAogICAgICAgICAgICAgICAgIGhvb2s9bWV0YXBrZ19ob29rLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19kaXJzPVRydWUsIG1hdGNoX3BhdGg9VHJ1ZSkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJpbmFyeV9sb2NhbGVzX2RpciwgZmlsZV9yZWdleD0nKC4qKScsIFwKKyAgICAgICAgICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJpbmFyeV9sb2NhbGVzX2RpciwgZmlsZV9yZWdleD1yJyguKiknLCBcCiAgICAgICAgICAgICAgICAgb3V0cHV0X3BhdHRlcm49YnBuKyctYmluYXJ5LWxvY2FsZWRhdGEtJXMnLCBcCiAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb249J2JpbmFyeSBsb2NhbGUgZGVmaW5pdGlvbiBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19kaXJzPVRydWUpCiAgICAgZWxzZToKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzcwppbmRleCBhZWM2OTk5Li5lZDkxYTRiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzCkBAIC0zMTYsOCArMzE2LDggQEAKICAgICBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiBhIHJlY2lwZSBoYXMgYW55IExJQ0VOU0VfRkxBR1MgdGhhdAogICAgIGFyZW4ndCB3aGl0ZWxpc3RlZC4KIAotICAgIElmIGl0IGRvZXMsIGl0IHJldHVybnMgdGhlIGZpcnN0IExJQ0VOU0VfRkxBR1MgaXRlbSBtaXNzaW5nIGZyb20gdGhlCi0gICAgd2hpdGVsaXN0LCBvciBhbGwgb2YgdGhlIExJQ0VOU0VfRkxBR1MgaWYgdGhlcmUgaXMgbm8gd2hpdGVsaXN0LgorICAgIElmIGl0IGRvZXMsIGl0IHJldHVybnMgdGhlIGFsbCBMSUNFTlNFX0ZMQUdTIG1pc3NpbmcgZnJvbSB0aGUgd2hpdGVsaXN0LCBvcgorICAgIGFsbCBvZiB0aGUgTElDRU5TRV9GTEFHUyBpZiB0aGVyZSBpcyBubyB3aGl0ZWxpc3QuCiAKICAgICBJZiBldmVyeXRoaW5nIGlzIGlzIHByb3Blcmx5IHdoaXRlbGlzdGVkLCBpdCByZXR1cm5zIE5vbmUuCiAgICAgIiIiCkBAIC0zNTQsMjIgKzM1NCwyMyBAQAogICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgIGRlZiBhbGxfbGljZW5zZV9mbGFnc19tYXRjaChsaWNlbnNlX2ZsYWdzLCB3aGl0ZWxpc3QpOgotICAgICAgICAiIiIgUmV0dXJuIGZpcnN0IHVubWF0Y2hlZCBmbGFnLCBOb25lIGlmIGFsbCBmbGFncyBtYXRjaCAiIiIKKyAgICAgICAgIiIiIFJldHVybiBhbGwgdW5tYXRjaGVkIGZsYWdzLCBOb25lIGlmIGFsbCBmbGFncyBtYXRjaCAiIiIKICAgICAgICAgcG4gPSBkLmdldFZhcignUE4nKQogICAgICAgICBzcGxpdF93aGl0ZWxpc3QgPSB3aGl0ZWxpc3Quc3BsaXQoKQorICAgICAgICBmbGFncyA9IFtdCiAgICAgICAgIGZvciBmbGFnIGluIGxpY2Vuc2VfZmxhZ3Muc3BsaXQoKToKICAgICAgICAgICAgIGlmIG5vdCBsaWNlbnNlX2ZsYWdfbWF0Y2hlcyhmbGFnLCBzcGxpdF93aGl0ZWxpc3QsIHBuKToKLSAgICAgICAgICAgICAgICByZXR1cm4gZmxhZwotICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgICAgIGZsYWdzLmFwcGVuZChmbGFnKQorICAgICAgICByZXR1cm4gZmxhZ3MgaWYgZmxhZ3MgZWxzZSBOb25lCiAKICAgICBsaWNlbnNlX2ZsYWdzID0gZC5nZXRWYXIoJ0xJQ0VOU0VfRkxBR1MnKQogICAgIGlmIGxpY2Vuc2VfZmxhZ3M6CiAgICAgICAgIHdoaXRlbGlzdCA9IGQuZ2V0VmFyKCdMSUNFTlNFX0ZMQUdTX1dISVRFTElTVCcpCiAgICAgICAgIGlmIG5vdCB3aGl0ZWxpc3Q6Ci0gICAgICAgICAgICByZXR1cm4gbGljZW5zZV9mbGFncwotICAgICAgICB1bm1hdGNoZWRfZmxhZyA9IGFsbF9saWNlbnNlX2ZsYWdzX21hdGNoKGxpY2Vuc2VfZmxhZ3MsIHdoaXRlbGlzdCkKLSAgICAgICAgaWYgdW5tYXRjaGVkX2ZsYWc6Ci0gICAgICAgICAgICByZXR1cm4gdW5tYXRjaGVkX2ZsYWcKKyAgICAgICAgICAgIHJldHVybiBsaWNlbnNlX2ZsYWdzLnNwbGl0KCkKKyAgICAgICAgdW5tYXRjaGVkX2ZsYWdzID0gYWxsX2xpY2Vuc2VfZmxhZ3NfbWF0Y2gobGljZW5zZV9mbGFncywgd2hpdGVsaXN0KQorICAgICAgICBpZiB1bm1hdGNoZWRfZmxhZ3M6CisgICAgICAgICAgICByZXR1cm4gdW5tYXRjaGVkX2ZsYWdzCiAgICAgcmV0dXJuIE5vbmUKIAogZGVmIGNoZWNrX2xpY2Vuc2VfZm9ybWF0KGQpOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZV9pbWFnZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZV9pbWFnZS5iYmNsYXNzCmluZGV4IGI2NWZmNTYuLjY3NTAwMzggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2VfaW1hZ2UuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlX2ltYWdlLmJiY2xhc3MKQEAgLTMyLDExICszMiwxMiBAQAogCiAgICAgcm9vdGZzX2xpY2Vuc2VfbWFuaWZlc3QgPSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoJ0xJQ0VOU0VfRElSRUNUT1JZJyksCiAgICAgICAgICAgICAgICAgICAgICAgICBkLmdldFZhcignSU1BR0VfTkFNRScpLCAnbGljZW5zZS5tYW5pZmVzdCcpCi0gICAgd3JpdGVfbGljZW5zZV9maWxlcyhkLCByb290ZnNfbGljZW5zZV9tYW5pZmVzdCwgcGtnX2RpYykKKyAgICB3cml0ZV9saWNlbnNlX2ZpbGVzKGQsIHJvb3Rmc19saWNlbnNlX21hbmlmZXN0LCBwa2dfZGljLCByb290ZnM9VHJ1ZSkKIH0KIAotZGVmIHdyaXRlX2xpY2Vuc2VfZmlsZXMoZCwgbGljZW5zZV9tYW5pZmVzdCwgcGtnX2RpYyk6CitkZWYgd3JpdGVfbGljZW5zZV9maWxlcyhkLCBsaWNlbnNlX21hbmlmZXN0LCBwa2dfZGljLCByb290ZnM9VHJ1ZSk6CiAgICAgaW1wb3J0IHJlCisgICAgaW1wb3J0IHN0YXQKIAogICAgIGJhZF9saWNlbnNlcyA9IChkLmdldFZhcigiSU5DT01QQVRJQkxFX0xJQ0VOU0UiKSBvciAiIikuc3BsaXQoKQogICAgIGJhZF9saWNlbnNlcyA9IG1hcChsYW1iZGEgbDogY2Fub25pY2FsX2xpY2Vuc2UoZCwgbCksIGJhZF9saWNlbnNlcykKQEAgLTk0LDcgKzk1LDcgQEAKICAgICAjIFdpdGggYm90aCBvcHRpb25zIHNldCB3ZSBzZWUgYSAuNSBNIGluY3JlYXNlIGluIGNvcmUtaW1hZ2UtbWluaW1hbAogICAgIGNvcHlfbGljX21hbmlmZXN0ID0gZC5nZXRWYXIoJ0NPUFlfTElDX01BTklGRVNUJykKICAgICBjb3B5X2xpY19kaXJzID0gZC5nZXRWYXIoJ0NPUFlfTElDX0RJUlMnKQotICAgIGlmIGNvcHlfbGljX21hbmlmZXN0ID09ICIxIjoKKyAgICBpZiByb290ZnMgYW5kIGNvcHlfbGljX21hbmlmZXN0ID09ICIxIjoKICAgICAgICAgcm9vdGZzX2xpY2Vuc2VfZGlyID0gb3MucGF0aC5qb2luKGQuZ2V0VmFyKCdJTUFHRV9ST09URlMnKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1c3InLCAnc2hhcmUnLCAnY29tbW9uLWxpY2Vuc2VzJykKICAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKHJvb3Rmc19saWNlbnNlX2RpcikKQEAgLTE0Niw2ICsxNDcsMTggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogCiAgICAgICAgICAgICAgICAgICAgICAgICBvcy5saW5rKHBrZ19saWNlbnNlLCBwa2dfcm9vdGZzX2xpY2Vuc2UpCisgICAgICAgICAgICAjIEZpeHVwIGZpbGUgb3duZXJzaGlwIGFuZCBwZXJtaXNzaW9ucworICAgICAgICAgICAgZm9yIHdhbGtyb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHJvb3Rmc19saWNlbnNlX2Rpcik6CisgICAgICAgICAgICAgICAgZm9yIGYgaW4gZmlsZXM6CisgICAgICAgICAgICAgICAgICAgIHAgPSBvcy5wYXRoLmpvaW4od2Fsa3Jvb3QsIGYpCisgICAgICAgICAgICAgICAgICAgIG9zLmxjaG93bihwLCAwLCAwKQorICAgICAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2xpbmsocCk6CisgICAgICAgICAgICAgICAgICAgICAgICBvcy5jaG1vZChwLCBzdGF0LlNfSVJVU1IgfCBzdGF0LlNfSVdVU1IgfCBzdGF0LlNfSVJHUlAgfCBzdGF0LlNfSVJPVEgpCisgICAgICAgICAgICAgICAgZm9yIGRpciBpbiBkaXJzOgorICAgICAgICAgICAgICAgICAgICBwID0gb3MucGF0aC5qb2luKHdhbGtyb290LCBkaXIpCisgICAgICAgICAgICAgICAgICAgIG9zLmxjaG93bihwLCAwLCAwKQorICAgICAgICAgICAgICAgICAgICBvcy5jaG1vZChwLCBzdGF0LlNfSVJXWFUgfCBzdGF0LlNfSVJHUlAgfCBzdGF0LlNfSVhHUlAgfCBzdGF0LlNfSVJPVEggfCBzdGF0LlNfSVhPVEgpCisKIAogCiBkZWYgbGljZW5zZV9kZXBsb3llZF9tYW5pZmVzdChkKToKQEAgLTE3Niw3ICsxODksNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZC5nZXRWYXIoJ0lNQUdFX05BTUUnKSkKICAgICBiYi51dGlscy5ta2RpcmhpZXIobGljX21hbmlmZXN0X2RpcikKICAgICBpbWFnZV9saWNlbnNlX21hbmlmZXN0ID0gb3MucGF0aC5qb2luKGxpY19tYW5pZmVzdF9kaXIsICdpbWFnZV9saWNlbnNlLm1hbmlmZXN0JykKLSAgICB3cml0ZV9saWNlbnNlX2ZpbGVzKGQsIGltYWdlX2xpY2Vuc2VfbWFuaWZlc3QsIG1hbl9kaWMpCisgICAgd3JpdGVfbGljZW5zZV9maWxlcyhkLCBpbWFnZV9saWNlbnNlX21hbmlmZXN0LCBtYW5fZGljLCByb290ZnM9RmFsc2UpCiAKIGRlZiBnZXRfZGVwbG95ZWRfZGVwZW5kZW5jaWVzKGQpOgogICAgICIiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvbWNleHRlbmQuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL21jZXh0ZW5kLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY4Zjk2MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL21jZXh0ZW5kLmJiY2xhc3MKQEAgLTAsMCArMSwxNiBAQAorcHl0aG9uIG1jZXh0ZW5kX3ZpcnRjbGFzc19oYW5kbGVyICgpIHsKKyAgICBjbHMgPSBlLmRhdGEuZ2V0VmFyKCJCQkVYVEVORENVUlIiKQorICAgIHZhcmlhbnQgPSBlLmRhdGEuZ2V0VmFyKCJCQkVYVEVORFZBUklBTlQiKQorICAgIGlmIGNscyAhPSAibWNleHRlbmQiIG9yIG5vdCB2YXJpYW50OgorICAgICAgICByZXR1cm4KKworICAgIG92ZXJyaWRlID0gIjp2aXJ0Y2xhc3MtbWNleHRlbmQtIiArIHZhcmlhbnQKKworICAgIGUuZGF0YS5zZXRWYXIoIlBOIiwgZS5kYXRhLmdldFZhcigiUE4iLCBGYWxzZSkgKyAiLSIgKyB2YXJpYW50KQorICAgIGUuZGF0YS5zZXRWYXIoIk1DTkFNRSIsIHZhcmlhbnQpCisgICAgZS5kYXRhLnNldFZhcigiT1ZFUlJJREVTIiwgZS5kYXRhLmdldFZhcigiT1ZFUlJJREVTIiwgRmFsc2UpICsgb3ZlcnJpZGUpCit9CisKK2FkZGhhbmRsZXIgbWNleHRlbmRfdmlydGNsYXNzX2hhbmRsZXIKK21jZXh0ZW5kX3ZpcnRjbGFzc19oYW5kbGVyW2V2ZW50bWFza10gPSAiYmIuZXZlbnQuUmVjaXBlUHJlRmluYWxpc2UiCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL21lc29uLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9tZXNvbi5iYmNsYXNzCmluZGV4IDNjYmRjZjEuLjExNWQxYWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL21lc29uLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvbWVzb24uYmJjbGFzcwpAQCAtNTQsOCArNTQsMTIgQEAKICAgICAgICAgcmV0dXJuICdwcGMnCiAgICAgZWxpZiBhcmNoID09ICdwb3dlcnBjNjQnOgogICAgICAgICByZXR1cm4gJ3BwYzY0JworICAgIGVsaWYgYXJjaCA9PSAnYXJtZWInOgorICAgICAgICByZXR1cm4gJ2FybScKICAgICBlbGlmIGFyY2ggPT0gJ21pcHNlbCc6CiAgICAgICAgIHJldHVybiAnbWlwcycKKyAgICBlbGlmIGFyY2ggPT0gJ21pcHM2NGVsJzoKKyAgICAgICAgcmV0dXJuICdtaXBzNjQnCiAgICAgZWxpZiByZS5tYXRjaChyImlbMy02XTg2IiwgYXJjaCk6CiAgICAgICAgIHJldHVybiAieDg2IgogICAgIGVsc2U6CkBAIC04NSw2ICs4OSw3IEBACiBzdHJpcCA9ICR7QG1lc29uX2FycmF5KCdTVFJJUCcsIGQpfQogcmVhZGVsZiA9ICR7QG1lc29uX2FycmF5KCdSRUFERUxGJywgZCl9CiBwa2djb25maWcgPSAncGtnLWNvbmZpZycKK2xsdm0tY29uZmlnID0gJ2xsdm0tY29uZmlnOC4wLjAnCiAKIFtwcm9wZXJ0aWVzXQogbmVlZHNfZXhlX3dyYXBwZXIgPSB0cnVlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9tZXRhZGF0YV9zY20uYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzCmluZGV4IGZhNzkxZjAuLjU4YmI0YzUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzCkBAIC0zLDU1ICszLDE1IEBACiAKIGRlZiBiYXNlX2RldGVjdF9yZXZpc2lvbihkKToKICAgICBwYXRoID0gYmFzZV9nZXRfc2NtYmFzZXBhdGgoZCkKLQotICAgIHNjbXMgPSBbYmFzZV9nZXRfbWV0YWRhdGFfZ2l0X3JldmlzaW9uXQotCi0gICAgZm9yIHNjbSBpbiBzY21zOgotICAgICAgICByZXYgPSBzY20ocGF0aCwgZCkKLSAgICAgICAgaWYgcmV2ICE9ICI8dW5rbm93bj4iOgotICAgICAgICAgICAgcmV0dXJuIHJldgotCi0gICAgcmV0dXJuICI8dW5rbm93bj4iCisgICAgcmV0dXJuIGJhc2VfZ2V0X21ldGFkYXRhX2dpdF9yZXZpc2lvbihwYXRoLCBkKQogCiBkZWYgYmFzZV9kZXRlY3RfYnJhbmNoKGQpOgogICAgIHBhdGggPSBiYXNlX2dldF9zY21iYXNlcGF0aChkKQotCi0gICAgc2NtcyA9IFtiYXNlX2dldF9tZXRhZGF0YV9naXRfYnJhbmNoXQotCi0gICAgZm9yIHNjbSBpbiBzY21zOgotICAgICAgICByZXYgPSBzY20ocGF0aCwgZCkKLSAgICAgICAgaWYgcmV2ICE9ICI8dW5rbm93bj4iOgotICAgICAgICAgICAgcmV0dXJuIHJldi5zdHJpcCgpCi0KLSAgICByZXR1cm4gIjx1bmtub3duPiIKKyAgICByZXR1cm4gYmFzZV9nZXRfbWV0YWRhdGFfZ2l0X2JyYW5jaChwYXRoLCBkKQogCiBkZWYgYmFzZV9nZXRfc2NtYmFzZXBhdGgoZCk6CiAgICAgcmV0dXJuIG9zLnBhdGguam9pbihkLmdldFZhcignQ09SRUJBU0UnKSwgJ21ldGEnKQogCi1kZWYgYmFzZV9nZXRfbWV0YWRhdGFfbW9ub3RvbmVfYnJhbmNoKHBhdGgsIGQpOgotICAgIG1vbm90b25lX2JyYW5jaCA9ICI8dW5rbm93bj4iCi0gICAgdHJ5OgotICAgICAgICB3aXRoIG9wZW4oIiVzL19NVE4vb3B0aW9ucyIgJSBwYXRoKSBhcyBmOgotICAgICAgICAgICAgbW9ub3RvbmVfYnJhbmNoID0gZi5yZWFkKCkuc3RyaXAoKQotICAgICAgICAgICAgaWYgbW9ub3RvbmVfYnJhbmNoLnN0YXJ0c3dpdGgoICJkYXRhYmFzZSIgKToKLSAgICAgICAgICAgICAgICBtb25vdG9uZV9icmFuY2hfd29yZHMgPSBtb25vdG9uZV9icmFuY2guc3BsaXQoKQotICAgICAgICAgICAgICAgIG1vbm90b25lX2JyYW5jaCA9IG1vbm90b25lX2JyYW5jaF93b3Jkc1sgbW9ub3RvbmVfYnJhbmNoX3dvcmRzLmluZGV4KCAiYnJhbmNoIiApKzFdWzE6LTFdCi0gICAgZXhjZXB0OgotICAgICAgICBwYXNzCi0gICAgcmV0dXJuIG1vbm90b25lX2JyYW5jaAotCi1kZWYgYmFzZV9nZXRfbWV0YWRhdGFfbW9ub3RvbmVfcmV2aXNpb24ocGF0aCwgZCk6Ci0gICAgbW9ub3RvbmVfcmV2aXNpb24gPSAiPHVua25vd24+IgotICAgIHRyeToKLSAgICAgICAgd2l0aCBvcGVuKCIlcy9fTVROL3JldmlzaW9uIiAlIHBhdGgpIGFzIGY6Ci0gICAgICAgICAgICBtb25vdG9uZV9yZXZpc2lvbiA9IGYucmVhZCgpLnN0cmlwKCkKLSAgICAgICAgICAgIGlmIG1vbm90b25lX3JldmlzaW9uLnN0YXJ0c3dpdGgoICJmb3JtYXRfdmVyc2lvbiIgKToKLSAgICAgICAgICAgICAgICBtb25vdG9uZV9yZXZpc2lvbl93b3JkcyA9IG1vbm90b25lX3JldmlzaW9uLnNwbGl0KCkKLSAgICAgICAgICAgICAgICBtb25vdG9uZV9yZXZpc2lvbiA9IG1vbm90b25lX3JldmlzaW9uX3dvcmRzWyBtb25vdG9uZV9yZXZpc2lvbl93b3Jkcy5pbmRleCggIm9sZF9yZXZpc2lvbiIgKSsxXVsxOi0xXQotICAgIGV4Y2VwdCBJT0Vycm9yOgotICAgICAgICBwYXNzCi0gICAgcmV0dXJuIG1vbm90b25lX3JldmlzaW9uCi0KIGRlZiBiYXNlX2dldF9tZXRhZGF0YV9zdm5fcmV2aXNpb24ocGF0aCwgZCk6CiAgICAgIyBUaGlzIG9ubHkgd29ya3Mgd2l0aCBvbGRlciBzdWJ2ZXJzaW9uLiBGb3IgbmV3ZXIgdmVyc2lvbnMgCiAgICAgIyB0aGlzIGZ1bmN0aW9uIHdpbGwgbmVlZCB0byBiZSBmaXhlZCBieSBzb21lb25lIGludGVyZXN0ZWQKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL21vZHVsZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvbW9kdWxlLmJiY2xhc3MKaW5kZXggZTM0NDk2MC4uYzBkZmEzNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvbW9kdWxlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvbW9kdWxlLmJiY2xhc3MKQEAgLTQ4LDYgKzQ4LDcgQEAKIG1vZHVsZV9kb19pbnN0YWxsKCkgewogCXVuc2V0IENGTEFHUyBDUFBGTEFHUyBDWFhGTEFHUyBMREZMQUdTCiAJb2VfcnVubWFrZSBERVBNT0Q9ZWNobyBNT0RMSUI9IiR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L21vZHVsZXMvJHtLRVJORUxfVkVSU0lPTn0iIFwKKwkgICAgICAgICAgIElOU1RBTExfRldfUEFUSD0iJHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vZmlybXdhcmUiIFwKIAkgICAgICAgICAgIENDPSIke0tFUk5FTF9DQ30iIExEPSIke0tFUk5FTF9MRH0iIFwKIAkgICAgICAgICAgIE89JHtTVEFHSU5HX0tFUk5FTF9CVUlMRERJUn0gXAogCSAgICAgICAgICAgJHtNT0RVTEVTX0lOU1RBTExfVEFSR0VUfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvbXVsdGlsaWIuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL211bHRpbGliLmJiY2xhc3MKaW5kZXggNmM2NDk5YS4uMmI3NjFmMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvbXVsdGlsaWIuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9tdWx0aWxpYi5iYmNsYXNzCkBAIC04OCw4ICs4OCw2IEBACiBhZGRoYW5kbGVyIG11bHRpbGliX3ZpcnRjbGFzc19oYW5kbGVyCiBtdWx0aWxpYl92aXJ0Y2xhc3NfaGFuZGxlcltldmVudG1hc2tdID0gImJiLmV2ZW50LlJlY2lwZVByZUZpbmFsaXNlIgogCi1TVEFHSU5HQ0NfcHJlcGVuZCA9ICIke0JCRVhURU5EVkFSSUFOVH0tIgotCiBweXRob24gX19hbm9ueW1vdXMgKCkgewogICAgIHZhcmlhbnQgPSBkLmdldFZhcigiQkJFWFRFTkRWQVJJQU5UIikKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvbmF0aXZlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9uYXRpdmUuYmJjbGFzcwppbmRleCBkZGNjZmUyLi5lOWY2Yzc0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9uYXRpdmUuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9uYXRpdmUuYmJjbGFzcwpAQCAtMTE5LDYgKzExOSw5IEBACiAjIHJldXNlZCBpZiB3ZSBtYW5pcHVsYXRlIHRoZSBwYXRocy4KIFNTVEFURV9TQ0FOX0NNRCA/PSAiJHtTU1RBVEVfU0NBTl9DTURfTkFUSVZFfSIKIAorIyBObyBzdHJpcCBzeXNyb290IHdoZW4gREVCVUdfQlVJTEQgaXMgZW5hYmxlZAorSU5ISUJJVF9TWVNST09UX1NUUklQID89ICIke0BvZS51dGlscy52YXJ0cnVlKCdERUJVR19CVUlMRCcsICcxJywgJycsIGQpfSIKKwogcHl0aG9uIG5hdGl2ZV92aXJ0Y2xhc3NfaGFuZGxlciAoKSB7CiAgICAgcG4gPSBlLmRhdGEuZ2V0VmFyKCJQTiIpCiAgICAgaWYgbm90IHBuLmVuZHN3aXRoKCItbmF0aXZlIik6CkBAIC0xODksMyArMTkyLDYgQEAKIGRvX3BvcHVsYXRlX3N5c3Jvb3Rbc3RhbXAtZXh0cmEtaW5mb10gPSAiIgogCiBVU0VfTkxTID0gIm5vIgorCitSRUNJUEVSREVQVEFTSyA9ICJkb19wb3B1bGF0ZV9zeXNyb290IgorZG9fcG9wdWxhdGVfc3lzcm9vdFtyZGVwdGFza10gPSAiJHtSRUNJUEVSREVQVEFTS30iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3MKaW5kZXggNjZlNDIzZS4uNGMwYTg1OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzcwpAQCAtNzUsNyArNzUsNyBAQAogICAgICAgICAgICAgcmV0dXJuICgnXFx1JXMnICUgY3ApLmVuY29kZSgnbGF0aW4tMScpLmRlY29kZSgndW5pY29kZV9lc2NhcGUnKQogCiAgICAgIyBIYW5kbGUgdW5pY29kZSBjb2RlcG9pbnRzIGVuY29kZWQgYXMgPFUwMTIzPiwgYXMgaW4gZ2xpYmMgbG9jYWxlIGZpbGVzLgotICAgIHMgPSByZS5zdWIoJzxVKFswLTlBLUZhLWZdezEsNH0pPicsIGZpeHV0ZiwgcykKKyAgICBzID0gcmUuc3ViKHInPFUoWzAtOUEtRmEtZl17MSw0fSk+JywgZml4dXRmLCBzKQogCiAgICAgIyBSZW1haW5pbmcgcGFja2FnZSBuYW1lIHZhbGlkaXR5IGZpeGVzCiAgICAgcmV0dXJuIHMubG93ZXIoKS5yZXBsYWNlKCdfJywgJy0nKS5yZXBsYWNlKCdAJywgJysnKS5yZXBsYWNlKCcsJywgJysnKS5yZXBsYWNlKCcvJywgJy0nKQpAQCAtMzQ0LDcgKzM0NCw3IEBACiAKICAgICByZXR1cm4gZGVidWdmaWxlcy5rZXlzKCkKIAotZGVmIGFwcGVuZF9zb3VyY2VfaW5mbyhmaWxlLCBzb3VyY2VmaWxlLCBkLCBmYXRhbD1UcnVlKToKK2RlZiBzb3VyY2VfaW5mbyhmaWxlLCBkLCBmYXRhbD1UcnVlKToKICAgICBpbXBvcnQgc3VicHJvY2VzcwogCiAgICAgY21kID0gWyJkd2FyZnNyY2ZpbGVzIiwgZmlsZV0KQEAgLTM2MywyMiArMzYzLDE1IEBACiAgICAgICAgIGJiLm5vdGUobXNnKQogCiAgICAgZGVidWdzb3VyY2VzID0gcGFyc2VfZGVidWdzb3VyY2VzX2Zyb21fZHdhcmZzcmNmaWxlc19vdXRwdXQob3V0cHV0KQotICAgICMgZmlsZW5hbWVzIGFyZSBudWxsLXNlcGFyYXRlZCAtIHRoaXMgaXMgYW4gYXJ0ZWZhY3Qgb2YgdGhlIHByZXZpb3VzIHVzZQotICAgICMgb2YgcnBtJ3MgZGVidWdlZGl0LCB3aGljaCB3YXMgd3JpdGluZyB0aGVtIG91dCB0aGF0IHdheSwgYW5kIHRoZSBjb2RlIGVsc2V3aGVyZQotICAgICMgaXMgc3RpbGwgYXNzdW1pbmcgdGhhdC4KLSAgICBkZWJ1Z2xpc3RvdXRwdXQgPSAnXDAnLmpvaW4oZGVidWdzb3VyY2VzKSArICdcMCcKLSAgICBsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKHNvdXJjZWZpbGUgKyAiLmxvY2siKQotICAgIHdpdGggb3Blbihzb3VyY2VmaWxlLCAnYScpIGFzIHNmOgotICAgICAgICBzZi53cml0ZShkZWJ1Z2xpc3RvdXRwdXQpCi0gICAgYmIudXRpbHMudW5sb2NrZmlsZShsZikKIAorICAgIHJldHVybiBsaXN0KGRlYnVnc291cmNlcykKIAotZGVmIHNwbGl0ZGVidWdpbmZvKGZpbGUsIGR2YXIsIGRlYnVnZGlyLCBkZWJ1Z2xpYmRpciwgZGVidWdhcHBlbmQsIGRlYnVnc3JjZGlyLCBzb3VyY2VmaWxlLCBkKToKK2RlZiBzcGxpdGRlYnVnaW5mbyhmaWxlLCBkdmFyLCBkZWJ1Z2RpciwgZGVidWdsaWJkaXIsIGRlYnVnYXBwZW5kLCBkZWJ1Z3NyY2RpciwgZCk6CiAgICAgIyBGdW5jdGlvbiB0byBzcGxpdCBhIHNpbmdsZSBmaWxlIGludG8gdHdvIGNvbXBvbmVudHMsIG9uZSBpcyB0aGUgc3RyaXBwZWQKICAgICAjIHRhcmdldCBzeXN0ZW0gYmluYXJ5LCB0aGUgb3RoZXIgY29udGFpbnMgYW55IGRlYnVnZ2luZyBpbmZvcm1hdGlvbi4gVGhlCiAgICAgIyB0d28gZmlsZXMgYXJlIGxpbmtlZCB0byByZWZlcmVuY2UgZWFjaCBvdGhlci4KICAgICAjCi0gICAgIyBzb3VyY2VmaWxlIGlzIGFsc28gZ2VuZXJhdGVkIGNvbnRhaW5pbmcgYSBsaXN0IG9mIGRlYnVnc291cmNlcworICAgICMgcmV0dXJuIGEgbWFwcGluZyBvZiBmaWxlczpkZWJ1Z3NvdXJjZXMKIAogICAgIGltcG9ydCBzdGF0CiAgICAgaW1wb3J0IHN1YnByb2Nlc3MKQEAgLTM4Niw2ICszNzksNyBAQAogICAgIHNyYyA9IGZpbGVbbGVuKGR2YXIpOl0KICAgICBkZXN0ID0gZGVidWdsaWJkaXIgKyBvcy5wYXRoLmRpcm5hbWUoc3JjKSArIGRlYnVnZGlyICsgIi8iICsgb3MucGF0aC5iYXNlbmFtZShzcmMpICsgZGVidWdhcHBlbmQKICAgICBkZWJ1Z2ZpbGUgPSBkdmFyICsgZGVzdAorICAgIHNvdXJjZXMgPSBbXQogCiAgICAgIyBTcGxpdCB0aGUgZmlsZS4uLgogICAgIGJiLnV0aWxzLm1rZGlyaGllcihvcy5wYXRoLmRpcm5hbWUoZGVidWdmaWxlKSkKQEAgLTM5Nyw3ICszOTEsNyBAQAogCiAgICAgIyBXZSBpZ25vcmUga2VybmVsIG1vZHVsZXMsIHdlIGRvbid0IGdlbmVyYXRlIGRlYnVnIGluZm8gZmlsZXMuCiAgICAgaWYgZmlsZS5maW5kKCIvbGliL21vZHVsZXMvIikgIT0gLTEgYW5kIGZpbGUuZW5kc3dpdGgoIi5rbyIpOgotICAgICAgICByZXR1cm4gMQorICAgICAgICByZXR1cm4gKGZpbGUsIHNvdXJjZXMpCiAKICAgICBuZXdtb2RlID0gTm9uZQogICAgIGlmIG5vdCBvcy5hY2Nlc3MoZmlsZSwgb3MuV19PSykgb3Igb3MuYWNjZXNzKGZpbGUsIG9zLlJfT0spOgpAQCAtNDA3LDcgKzQwMSw3IEBACiAKICAgICAjIFdlIG5lZWQgdG8gZXh0cmFjdCB0aGUgZGVidWcgc3JjIGluZm9ybWF0aW9uIGhlcmUuLi4KICAgICBpZiBkZWJ1Z3NyY2RpcjoKLSAgICAgICAgYXBwZW5kX3NvdXJjZV9pbmZvKGZpbGUsIHNvdXJjZWZpbGUsIGQpCisgICAgICAgIHNvdXJjZXMgPSBzb3VyY2VfaW5mbyhmaWxlLCBkKQogCiAgICAgYmIudXRpbHMubWtkaXJoaWVyKG9zLnBhdGguZGlybmFtZShkZWJ1Z2ZpbGUpKQogCkBAIC00MTksMTcgKzQxMywyNiBAQAogICAgIGlmIG5ld21vZGU6CiAgICAgICAgIG9zLmNobW9kKGZpbGUsIG9yaWdtb2RlKQogCi0gICAgcmV0dXJuIDAKKyAgICByZXR1cm4gKGZpbGUsIHNvdXJjZXMpCiAKLWRlZiBjb3B5ZGVidWdzb3VyY2VzKGRlYnVnc3JjZGlyLCBkKToKK2RlZiBjb3B5ZGVidWdzb3VyY2VzKGRlYnVnc3JjZGlyLCBzb3VyY2VzLCBkKToKICAgICAjIFRoZSBkZWJ1ZyBzcmMgaW5mb3JtYXRpb24gd3JpdHRlbiBvdXQgdG8gc291cmNlZmlsZSBpcyBmdXJ0aGVyIHByb2Nlc3NlZAogICAgICMgYW5kIGNvcGllZCB0byB0aGUgZGVzdGluYXRpb24gaGVyZS4KIAogICAgIGltcG9ydCBzdGF0CiAgICAgaW1wb3J0IHN1YnByb2Nlc3MKIAotICAgIHNvdXJjZWZpbGUgPSBkLmV4cGFuZCgiJHtXT1JLRElSfS9kZWJ1Z3NvdXJjZXMubGlzdCIpCi0gICAgaWYgZGVidWdzcmNkaXIgYW5kIG9zLnBhdGguaXNmaWxlKHNvdXJjZWZpbGUpOgorICAgIGlmIGRlYnVnc3JjZGlyIGFuZCBzb3VyY2VzOgorICAgICAgICBzb3VyY2VmaWxlID0gZC5leHBhbmQoIiR7V09SS0RJUn0vZGVidWdzb3VyY2VzLmxpc3QiKQorICAgICAgICBiYi51dGlscy5yZW1vdmUoc291cmNlZmlsZSkKKworICAgICAgICAjIGZpbGVuYW1lcyBhcmUgbnVsbC1zZXBhcmF0ZWQgLSB0aGlzIGlzIGFuIGFydGVmYWN0IG9mIHRoZSBwcmV2aW91cyB1c2UKKyAgICAgICAgIyBvZiBycG0ncyBkZWJ1Z2VkaXQsIHdoaWNoIHdhcyB3cml0aW5nIHRoZW0gb3V0IHRoYXQgd2F5LCBhbmQgdGhlIGNvZGUgZWxzZXdoZXJlCisgICAgICAgICMgaXMgc3RpbGwgYXNzdW1pbmcgdGhhdC4KKyAgICAgICAgZGVidWdsaXN0b3V0cHV0ID0gJ1wwJy5qb2luKHNvdXJjZXMpICsgJ1wwJworICAgICAgICB3aXRoIG9wZW4oc291cmNlZmlsZSwgJ2EnKSBhcyBzZjoKKyAgICAgICAgICAgc2Yud3JpdGUoZGVidWdsaXN0b3V0cHV0KQorCiAgICAgICAgIGR2YXIgPSBkLmdldFZhcignUEtHRCcpCiAgICAgICAgIHN0cmlwID0gZC5nZXRWYXIoIlNUUklQIikKICAgICAgICAgb2JqY29weSA9IGQuZ2V0VmFyKCJPQkpDT1BZIikKQEAgLTQ3MSw3ICs0NzQsOCBAQAogCiAgICAgICAgICMgY3BpbyBzZWVtcyB0byBoYXZlIGEgYnVnIHdpdGggLWxMIHRvZ2V0aGVyIGFuZCBzeW1ib2xpYyBsaW5rcyBhcmUganVzdCBjb3BpZWQsIG5vdCBkZXJlZmVyZW5jZWQuCiAgICAgICAgICMgV29yayBhcm91bmQgdGhpcyBieSBtYW51YWxseSBmaW5kaW5nIGFuZCBjb3B5aW5nIGFueSBzeW1ib2xpYyBsaW5rcyB0aGF0IG1hZGUgaXQgdGhyb3VnaC4KLSAgICAgICAgY21kID0gImZpbmQgJXMlcyAtdHlwZSBsIC1wcmludDAgLWRlbGV0ZSB8IHNlZCBzIyVzJXMvIyNnIHwgKGNkICclcycgOyBjcGlvIC1wZDBtTCAtLW5vLXByZXNlcnZlLW93bmVyICclcyVzJyAyPi9kZXYvbnVsbCkiICUgKGR2YXIsIGRlYnVnc3JjZGlyLCBkdmFyLCBkZWJ1Z3NyY2Rpciwgd29ya3BhcmVudGRpciwgZHZhciwgZGVidWdzcmNkaXIpCisgICAgICAgIGNtZCA9ICJmaW5kICVzJXMgLXR5cGUgbCAtcHJpbnQwIC1kZWxldGUgfCBzZWQgcyMlcyVzLyMjZyB8IChjZCAnJXMnIDsgY3BpbyAtcGQwbUwgLS1uby1wcmVzZXJ2ZS1vd25lciAnJXMlcycpIiAlIFwKKyAgICAgICAgICAgICAgICAoZHZhciwgZGVidWdzcmNkaXIsIGR2YXIsIGRlYnVnc3JjZGlyLCB3b3JrcGFyZW50ZGlyLCBkdmFyLCBkZWJ1Z3NyY2RpcikKICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoY21kLCBzaGVsbD1UcnVlLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpCiAKICAgICAgICAgIyBUaGUgY29weSBieSBjcGlvIG1heSBoYXZlIHJlc3VsdGVkIGluIHNvbWUgZW1wdHkgZGlyZWN0b3JpZXMhICBSZW1vdmUgdGhlc2UKQEAgLTkzMiw5ICs5MzYsNiBAQAogICAgICAgICBkZWJ1Z2xpYmRpciA9ICIiCiAgICAgICAgIGRlYnVnc3JjZGlyID0gIi91c3Ivc3JjL2RlYnVnIgogCi0gICAgc291cmNlZmlsZSA9IGQuZXhwYW5kKCIke1dPUktESVJ9L2RlYnVnc291cmNlcy5saXN0IikKLSAgICBiYi51dGlscy5yZW1vdmUoc291cmNlZmlsZSkKLQogICAgICMKICAgICAjIEZpcnN0IGxldHMgZmlndXJlIG91dCBhbGwgb2YgdGhlIGZpbGVzIHdlIG1heSBoYXZlIHRvIHByb2Nlc3MgLi4uIGRvIHRoaXMgb25seSBvbmNlIQogICAgICMKQEAgLTEwMzksMTEgKzEwNDAsMTUgQEAKICAgICAjIEZpcnN0IGxldHMgcHJvY2VzcyBkZWJ1ZyBzcGxpdHRpbmcKICAgICAjCiAgICAgaWYgKGQuZ2V0VmFyKCdJTkhJQklUX1BBQ0tBR0VfREVCVUdfU1BMSVQnKSAhPSAnMScpOgotICAgICAgICBvZS51dGlscy5tdWx0aXByb2Nlc3NfbGF1bmNoKHNwbGl0ZGVidWdpbmZvLCBsaXN0KGVsZmZpbGVzKSwgZCwgZXh0cmFhcmdzPShkdmFyLCBkZWJ1Z2RpciwgZGVidWdsaWJkaXIsIGRlYnVnYXBwZW5kLCBkZWJ1Z3NyY2Rpciwgc291cmNlZmlsZSwgZCkpCisgICAgICAgIHJlc3VsdHMgPSBvZS51dGlscy5tdWx0aXByb2Nlc3NfbGF1bmNoKHNwbGl0ZGVidWdpbmZvLCBsaXN0KGVsZmZpbGVzKSwgZCwgZXh0cmFhcmdzPShkdmFyLCBkZWJ1Z2RpciwgZGVidWdsaWJkaXIsIGRlYnVnYXBwZW5kLCBkZWJ1Z3NyY2RpciwgZCkpCiAKICAgICAgICAgaWYgZGVidWdzcmNkaXIgYW5kIG5vdCB0YXJnZXRvcy5zdGFydHN3aXRoKCJtaW5ndyIpOgogICAgICAgICAgICAgZm9yIGZpbGUgaW4gc3RhdGljbGliczoKLSAgICAgICAgICAgICAgICBhcHBlbmRfc291cmNlX2luZm8oZmlsZSwgc291cmNlZmlsZSwgZCwgZmF0YWw9RmFsc2UpCisgICAgICAgICAgICAgICAgcmVzdWx0cy5leHRlbmQoc291cmNlX2luZm8oZmlsZSwgZCwgZmF0YWw9RmFsc2UpKQorCisgICAgICAgIHNvdXJjZXMgPSBzZXQoKQorICAgICAgICBmb3IgciBpbiByZXN1bHRzOgorICAgICAgICAgICAgc291cmNlcy51cGRhdGUoclsxXSkKIAogICAgICAgICAjIEhhcmRsaW5rIG91ciBkZWJ1ZyBzeW1ib2xzIHRvIHRoZSBvdGhlciBoYXJkbGluayBjb3BpZXMKICAgICAgICAgZm9yIHJlZiBpbiBpbm9kZXM6CkBAIC0xMDkxLDcgKzEwOTYsNyBAQAogCiAgICAgICAgICMgUHJvY2VzcyB0aGUgZGVidWdzcmNkaXIgaWYgcmVxdWVzdGVkLi4uCiAgICAgICAgICMgVGhpcyBjb3BpZXMgYW5kIHBsYWNlcyB0aGUgcmVmZXJlbmNlZCBzb3VyY2VzIGZvciBsYXRlciBkZWJ1Z2dpbmcuLi4KLSAgICAgICAgY29weWRlYnVnc291cmNlcyhkZWJ1Z3NyY2RpciwgZCkKKyAgICAgICAgY29weWRlYnVnc291cmNlcyhkZWJ1Z3NyY2Rpciwgc291cmNlcywgZCkKICAgICAjCiAgICAgIyBFbmQgb2YgZGVidWcgc3BsaXR0aW5nCiAgICAgIwpAQCAtMTEyMyw3ICsxMTI4LDcgQEAKICAgICB3b3JrZGlyID0gZC5nZXRWYXIoJ1dPUktESVInKQogICAgIG91dGRpciA9IGQuZ2V0VmFyKCdERVBMT1lfRElSJykKICAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0QnKQotICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykKKyAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCkKICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAKICAgICBiYi51dGlscy5ta2RpcmhpZXIob3V0ZGlyKQpAQCAtMTEzMywzMiArMTEzOCwzNCBAQAogCiAgICAgc3BsaXRfc291cmNlX3BhY2thZ2UgPSAoZC5nZXRWYXIoJ1BBQ0tBR0VfREVCVUdfU1BMSVRfU1RZTEUnKSA9PSAnZGVidWctd2l0aC1zcmNwa2cnKQogCi0gICAgIyBJZiBkZWJ1Zy13aXRoLXNyY3BrZyBtb2RlIGlzIGVuYWJsZWQgdGhlbiB0aGUgc3JjIHBhY2thZ2UgaXMgYWRkZWQKLSAgICAjIGludG8gdGhlIHBhY2thZ2UgbGlzdCBhbmQgdGhlIHNvdXJjZSBkaXJlY3RvcnkgYXMgaXRzIG1haW4gY29udGVudAorICAgICMgSWYgZGVidWctd2l0aC1zcmNwa2cgbW9kZSBpcyBlbmFibGVkIHRoZW4gYWRkIHRoZSBzb3VyY2UgcGFja2FnZSBpZiBpdAorICAgICMgZG9lc24ndCBleGlzdCBhbmQgYWRkIHRoZSBzb3VyY2UgZmlsZSBjb250ZW50cyB0byB0aGUgc291cmNlIHBhY2thZ2UuCiAgICAgaWYgc3BsaXRfc291cmNlX3BhY2thZ2U6CiAgICAgICAgIHNyY19wYWNrYWdlX25hbWUgPSAoJyVzLXNyYycgJSBkLmdldFZhcignUE4nKSkKLSAgICAgICAgcGFja2FnZXMgKz0gKCcgJyArIHNyY19wYWNrYWdlX25hbWUpCisgICAgICAgIGlmIG5vdCBzcmNfcGFja2FnZV9uYW1lIGluIHBhY2thZ2VzOgorICAgICAgICAgICAgcGFja2FnZXMuYXBwZW5kKHNyY19wYWNrYWdlX25hbWUpCiAgICAgICAgIGQuc2V0VmFyKCdGSUxFU18lcycgJSBzcmNfcGFja2FnZV9uYW1lLCAnL3Vzci9zcmMvZGVidWcnKQogCiAgICAgIyBTYW5pdHkgY2hlY2sgUEFDS0FHRVMgZm9yIGR1cGxpY2F0ZXMKICAgICAjIFNhbml0eSBzaG91bGQgYmUgbW92ZWQgdG8gc2FuaXR5LmJiY2xhc3Mgb25jZSB3ZSBoYXZlIHRoZSBpbmZyYXN0cnVjdHVyZQogICAgIHBhY2thZ2VfZGljdCA9IHt9CiAKLSAgICBmb3IgaSwgcGtnIGluIGVudW1lcmF0ZShwYWNrYWdlcy5zcGxpdCgpKToKKyAgICBmb3IgaSwgcGtnIGluIGVudW1lcmF0ZShwYWNrYWdlcyk6CiAgICAgICAgIGlmIHBrZyBpbiBwYWNrYWdlX2RpY3Q6CiAgICAgICAgICAgICBtc2cgPSAiJXMgaXMgbGlzdGVkIGluIFBBQ0tBR0VTIG11bHRpcGxlIHRpbWVzLCB0aGlzIGxlYWRzIHRvIHBhY2thZ2luZyBlcnJvcnMuIiAlIHBrZwogICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoInBhY2thZ2VzLWxpc3QiLCBtc2csIGQpCi0gICAgICAgICMgSWYgZGVidWctd2l0aC1zcmNwa2cgbW9kZSBpcyBlbmFibGVkIHRoZW4gdGhlIHNyYyBwYWNrYWdlIHdpbGwgaGF2ZQotICAgICAgICAjIHByaW9yaXR5IG92ZXIgZGJnIHBhY2thZ2Ugd2hlbiBhc3NpZ25pbmcgdGhlIGZpbGVzLgotICAgICAgICAjIFRoaXMgYWxsb3dzIHNyYyBwYWNrYWdlIHRvIGluY2x1ZGUgc291cmNlIGZpbGVzIGFuZCByZW1vdmUgdGhlbSBmcm9tIGRiZy4KLSAgICAgICAgZWxpZiBzcGxpdF9zb3VyY2VfcGFja2FnZSBhbmQgcGtnLmVuZHN3aXRoKCItc3JjIik6CisgICAgICAgICMgRW5zdXJlIHRoZSBzb3VyY2UgcGFja2FnZSBnZXRzIHRoZSBjaGFuY2UgdG8gcGljayB1cCB0aGUgc291cmNlIGZpbGVzCisgICAgICAgICMgYmVmb3JlIHRoZSBkZWJ1ZyBwYWNrYWdlIGJ5IG9yZGVyaW5nIGl0IGZpcnN0IGluIFBBQ0tBR0VTLiBXaGV0aGVyIGl0CisgICAgICAgICMgYWN0dWFsbHkgcGlja3MgdXAgYW55IHNvdXJjZSBmaWxlcyBpcyBjb250cm9sbGVkIGJ5CisgICAgICAgICMgUEFDS0FHRV9ERUJVR19TUExJVF9TVFlMRS4KKyAgICAgICAgZWxpZiBwa2cuZW5kc3dpdGgoIi1zcmMiKToKICAgICAgICAgICAgIHBhY2thZ2VfZGljdFtwa2ddID0gKDEwLCBpKQogICAgICAgICBlbGlmIGF1dG9kZWJ1ZyBhbmQgcGtnLmVuZHN3aXRoKCItZGJnIik6CiAgICAgICAgICAgICBwYWNrYWdlX2RpY3RbcGtnXSA9ICgzMCwgaSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHBhY2thZ2VfZGljdFtwa2ddID0gKDUwLCBpKQotICAgIHBhY2thZ2VfbGlzdCA9IHNvcnRlZChwYWNrYWdlX2RpY3Qua2V5cygpLCBrZXk9cGFja2FnZV9kaWN0LmdldCkKLSAgICBkLnNldFZhcignUEFDS0FHRVMnLCAnICcuam9pbihwYWNrYWdlX2xpc3QpKQorICAgIHBhY2thZ2VzID0gc29ydGVkKHBhY2thZ2VfZGljdC5rZXlzKCksIGtleT1wYWNrYWdlX2RpY3QuZ2V0KQorICAgIGQuc2V0VmFyKCdQQUNLQUdFUycsICcgJy5qb2luKHBhY2thZ2VzKSkKICAgICBwa2dkZXN0ID0gZC5nZXRWYXIoJ1BLR0RFU1QnKQogCiAgICAgc2VlbiA9IFtdCkBAIC0xMTc2LDcgKzExODMsNyBAQAogICAgICAgICAgICAgaWYgIi8uZGVidWcvIiBpbiBwYXRoIG9yIHBhdGguZW5kc3dpdGgoIi8uZGVidWciKToKICAgICAgICAgICAgICAgICBkZWJ1Zy5hcHBlbmQocGF0aCkKIAotICAgIGZvciBwa2cgaW4gcGFja2FnZV9saXN0OgorICAgIGZvciBwa2cgaW4gcGFja2FnZXM6CiAgICAgICAgIHJvb3QgPSBvcy5wYXRoLmpvaW4ocGtnZGVzdCwgcGtnKQogICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIocm9vdCkKIApAQCAtMTI0Nyw3ICsxMjU0LDcgQEAKIAogICAgICMgSGFuZGxlIExJQ0VOU0VfRVhDTFVTSU9OCiAgICAgcGFja2FnZV9saXN0ID0gW10KLSAgICBmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CisgICAgZm9yIHBrZyBpbiBwYWNrYWdlczoKICAgICAgICAgaWYgZC5nZXRWYXIoJ0xJQ0VOU0VfRVhDTFVTSU9OLScgKyBwa2cpOgogICAgICAgICAgICAgbXNnID0gIiVzIGhhcyBhbiBpbmNvbXBhdGlibGUgbGljZW5zZS4gRXhjbHVkaW5nIGZyb20gcGFja2FnaW5nLiIgJSBwa2cKICAgICAgICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJpbmNvbXBhdGlibGUtbGljZW5zZSIsIG1zZywgZCkKQEAgLTE0MzgsNyArMTQ0NSw3IEBACiAgICAgICAgICAgICBpZiBmc3RhdC5zdF9pbm8gbm90IGluIHNlZW46CiAgICAgICAgICAgICAgICAgc2Vlbi5hZGQoZnN0YXQuc3RfaW5vKQogICAgICAgICAgICAgICAgIHRvdGFsX3NpemUgKz0gZnN0YXQuc3Rfc2l6ZQotICAgICAgICBkLnNldFZhcignRklMRVNfSU5GTycsIGpzb24uZHVtcHMoZmlsZXMpKQorICAgICAgICBkLnNldFZhcignRklMRVNfSU5GTycsIGpzb24uZHVtcHMoZmlsZXMsIHNvcnRfa2V5cz1UcnVlKSkKIAogICAgICAgICBzdWJkYXRhX2ZpbGUgPSBwa2dkYXRhZGlyICsgIi9ydW50aW1lLyVzIiAlIHBrZwogICAgICAgICBzZiA9IG9wZW4oc3ViZGF0YV9maWxlLCAndycpCkBAIC0xNTYxLDEyICsxNTY4LDEyIEBACiAgICAgICAgIGlmIHBrZyBub3QgaW4gcmVxdWlyZXNfZmlsZXM6CiAgICAgICAgICAgICByZXF1aXJlc19maWxlc1twa2ddID0gW10KIAotICAgICAgICBmb3IgZmlsZSBpbiBwcm92aWRlczoKKyAgICAgICAgZm9yIGZpbGUgaW4gc29ydGVkKHByb3ZpZGVzKToKICAgICAgICAgICAgIHByb3ZpZGVzX2ZpbGVzW3BrZ10uYXBwZW5kKGZpbGUpCiAgICAgICAgICAgICBrZXkgPSAiRklMRVJQUk9WSURFU18iICsgZmlsZSArICJfIiArIHBrZwogICAgICAgICAgICAgZC5hcHBlbmRWYXIoa2V5LCAiICIgKyAiICIuam9pbihwcm92aWRlc1tmaWxlXSkpCiAKLSAgICAgICAgZm9yIGZpbGUgaW4gcmVxdWlyZXM6CisgICAgICAgIGZvciBmaWxlIGluIHNvcnRlZChyZXF1aXJlcyk6CiAgICAgICAgICAgICByZXF1aXJlc19maWxlc1twa2ddLmFwcGVuZChmaWxlKQogICAgICAgICAgICAga2V5ID0gIkZJTEVSREVQRU5EU18iICsgZmlsZSArICJfIiArIHBrZwogICAgICAgICAgICAgZC5hcHBlbmRWYXIoa2V5LCAiICIgKyAiICIuam9pbihyZXF1aXJlc1tmaWxlXSkpCkBAIC0xNTg5LDggKzE1OTYsOCBAQAogICAgICAgICBiYi5ub3RlKCJub3QgZ2VuZXJhdGluZyBzaGxpYnMiKQogICAgICAgICByZXR1cm4KIAotICAgIGxpYl9yZSA9IHJlLmNvbXBpbGUoIl4uKlwuc28iKQotICAgIGxpYmRpcl9yZSA9IHJlLmNvbXBpbGUoIi4qLyVzJCIgJSBkLmdldFZhcignYmFzZWxpYicpKQorICAgIGxpYl9yZSA9IHJlLmNvbXBpbGUociJeLipcLnNvIikKKyAgICBsaWJkaXJfcmUgPSByZS5jb21waWxlKHIiLiovJXMkIiAlIGQuZ2V0VmFyKCdiYXNlbGliJykpCiAKICAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpCiAKQEAgLTE2MzEsMTcgKzE2MzgsMTcgQEAKICAgICAgICAgZmQuY2xvc2UoKQogICAgICAgICBycGF0aCA9IHR1cGxlKCkKICAgICAgICAgZm9yIGwgaW4gbGluZXM6Ci0gICAgICAgICAgICBtID0gcmUubWF0Y2goIlxzK1JQQVRIXHMrKFteXHNdKikiLCBsKQorICAgICAgICAgICAgbSA9IHJlLm1hdGNoKHIiXHMrUlBBVEhccysoW15cc10qKSIsIGwpCiAgICAgICAgICAgICBpZiBtOgogICAgICAgICAgICAgICAgIHJwYXRocyA9IG0uZ3JvdXAoMSkucmVwbGFjZSgiJE9SSUdJTiIsIGxkaXIpLnNwbGl0KCI6IikKICAgICAgICAgICAgICAgICBycGF0aCA9IHR1cGxlKG1hcChvcy5wYXRoLm5vcm1wYXRoLCBycGF0aHMpKQogICAgICAgICBmb3IgbCBpbiBsaW5lczoKLSAgICAgICAgICAgIG0gPSByZS5tYXRjaCgiXHMrTkVFREVEXHMrKFteXHNdKikiLCBsKQorICAgICAgICAgICAgbSA9IHJlLm1hdGNoKHIiXHMrTkVFREVEXHMrKFteXHNdKikiLCBsKQogICAgICAgICAgICAgaWYgbToKICAgICAgICAgICAgICAgICBkZXAgPSBtLmdyb3VwKDEpCiAgICAgICAgICAgICAgICAgaWYgZGVwIG5vdCBpbiBuZWVkZWQ6CiAgICAgICAgICAgICAgICAgICAgIG5lZWRlZC5hZGQoKGRlcCwgZmlsZSwgcnBhdGgpKQotICAgICAgICAgICAgbSA9IHJlLm1hdGNoKCJccytTT05BTUVccysoW15cc10qKSIsIGwpCisgICAgICAgICAgICBtID0gcmUubWF0Y2gociJccytTT05BTUVccysoW15cc10qKSIsIGwpCiAgICAgICAgICAgICBpZiBtOgogICAgICAgICAgICAgICAgIHRoaXNfc29uYW1lID0gbS5ncm91cCgxKQogICAgICAgICAgICAgICAgIHByb3YgPSAodGhpc19zb25hbWUsIGxkaXIsIHBrZ3ZlcikKQEAgLTE3MjEsNyArMTcyOCw3IEBACiAgICAgICAgICAgICBvdXQsIGVyciA9IHAuY29tbXVuaWNhdGUoKQogICAgICAgICAgICAgIyBwcm9jZXNzIHRoZSBvdXRwdXQsIGdyYWJiaW5nIGFsbCAuZGxsIG5hbWVzCiAgICAgICAgICAgICBpZiBwLnJldHVybmNvZGUgPT0gMDoKLSAgICAgICAgICAgICAgICBmb3IgbSBpbiByZS5maW5kaXRlcigiRExMIE5hbWU6ICguKj9cLmRsbCkkIiwgb3V0LmRlY29kZSgpLCByZS5NVUxUSUxJTkUgfCByZS5JR05PUkVDQVNFKToKKyAgICAgICAgICAgICAgICBmb3IgbSBpbiByZS5maW5kaXRlcihyIkRMTCBOYW1lOiAoLio/XC5kbGwpJCIsIG91dC5kZWNvZGUoKSwgcmUuTVVMVElMSU5FIHwgcmUuSUdOT1JFQ0FTRSk6CiAgICAgICAgICAgICAgICAgICAgIGRsbG5hbWUgPSBtLmdyb3VwKDEpCiAgICAgICAgICAgICAgICAgICAgIGlmIGRsbG5hbWU6CiAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkZWRbcGtnXS5hZGQoKGRsbG5hbWUsIGZpbGUsIHR1cGxlKCkpKQpAQCAtMTg2Nyw3ICsxODc0LDcgQEAKICAgICAgICAgICAgIG9zLnJlbW92ZShkZXBzX2ZpbGUpCiAgICAgICAgIGlmIGxlbihkZXBzKToKICAgICAgICAgICAgIGZkID0gb3BlbihkZXBzX2ZpbGUsICd3JykKLSAgICAgICAgICAgIGZvciBkZXAgaW4gZGVwczoKKyAgICAgICAgICAgIGZvciBkZXAgaW4gc29ydGVkKGRlcHMpOgogICAgICAgICAgICAgICAgIGZkLndyaXRlKGRlcCArICdcbicpCiAgICAgICAgICAgICBmZC5jbG9zZSgpCiB9CkBAIC0xODgyLDkgKzE4ODksOSBAQAogICAgIHNobGlic19kaXJzID0gZC5nZXRWYXIoJ1NITElCU0RJUlMnKS5zcGxpdCgpCiAgICAgc2hsaWJzd29ya19kaXIgPSBkLmdldFZhcignU0hMSUJTV09SS0RJUicpCiAKLSAgICBwY19yZSA9IHJlLmNvbXBpbGUoJyguKilcLnBjJCcpCi0gICAgdmFyX3JlID0gcmUuY29tcGlsZSgnKC4qKT0oLiopJykKLSAgICBmaWVsZF9yZSA9IHJlLmNvbXBpbGUoJyguKik6ICguKiknKQorICAgIHBjX3JlID0gcmUuY29tcGlsZShyJyguKilcLnBjJCcpCisgICAgdmFyX3JlID0gcmUuY29tcGlsZShyJyguKik9KC4qKScpCisgICAgZmllbGRfcmUgPSByZS5jb21waWxlKHInKC4qKTogKC4qKScpCiAKICAgICBwa2djb25maWdfcHJvdmlkZWQgPSB7fQogICAgIHBrZ2NvbmZpZ19uZWVkZWQgPSB7fQpAQCAtMTkzMiw3ICsxOTM5LDcgQEAKICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGRpcik6CiAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICBmb3IgZmlsZSBpbiBvcy5saXN0ZGlyKGRpcik6Ci0gICAgICAgICAgICBtID0gcmUubWF0Y2goJ14oLiopXC5wY2xpc3QkJywgZmlsZSkKKyAgICAgICAgICAgIG0gPSByZS5tYXRjaChyJ14oLiopXC5wY2xpc3QkJywgZmlsZSkKICAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICAgcGtnID0gbS5ncm91cCgxKQogICAgICAgICAgICAgICAgIGZkID0gb3Blbihvcy5wYXRoLmpvaW4oZGlyLCBmaWxlKSkKQEAgLTE5ODgsNyArMTk5NSw3IEBACiAgICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKS5zcGxpdCgpCiAgICAgZm9yIHBrZyBpbiBwYWNrYWdlczoKICAgICAgICAgcmRlcGVuZHMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIoZC5nZXRWYXIoJ1JERVBFTkRTXycgKyBwa2cpIG9yICIiKQotICAgICAgICBmb3IgZGVwIGluIHBrZ2xpYmRlcHNbcGtnXToKKyAgICAgICAgZm9yIGRlcCBpbiBzb3J0ZWQocGtnbGliZGVwc1twa2ddKToKICAgICAgICAgICAgICMgQWRkIHRoZSBkZXAgaWYgaXQncyBub3QgYWxyZWFkeSB0aGVyZSwgb3IgaWYgbm8gY29tcGFyaXNvbiBpcyBzZXQKICAgICAgICAgICAgIGlmIGRlcCBub3QgaW4gcmRlcGVuZHM6CiAgICAgICAgICAgICAgICAgcmRlcGVuZHNbZGVwXSA9IFtdCkBAIC0yMDIxLDcgKzIwMjgsNyBAQAogICAgICAgICAjYmIubm90ZSgnZGVwZW5kcyBmb3IgJXMgaXMgJXMnICUgKGJhc2UsIGRlcGVuZHMpKQogICAgICAgICBycmVjbGlzdCA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwX3ZlcnNpb25zMihkLmdldFZhcignUlJFQ09NTUVORFNfJyArIHBrZykgb3IgIiIpCiAKLSAgICAgICAgZm9yIGRlcGVuZCBpbiBkZXBlbmRzOgorICAgICAgICBmb3IgZGVwZW5kIGluIHNvcnRlZChkZXBlbmRzKToKICAgICAgICAgICAgIGlmIGRlcGVuZC5maW5kKCctbmF0aXZlJykgIT0gLTEgb3IgZGVwZW5kLmZpbmQoJy1jcm9zcycpICE9IC0xIG9yIGRlcGVuZC5zdGFydHN3aXRoKCd2aXJ0dWFsLycpOgogICAgICAgICAgICAgICAgICNiYi5ub3RlKCJTa2lwcGluZyAlcyIgJSBkZXBlbmQpCiAgICAgICAgICAgICAgICAgY29udGludWUKQEAgLTIwNDIsNyArMjA0OSw3IEBACiAgICAgICAgICNiYi5ub3RlKCdyZGVwZW5kcyBmb3IgJXMgaXMgJXMnICUgKGJhc2UsIHJkZXBlbmRzKSkKICAgICAgICAgcnJlY2xpc3QgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIoZC5nZXRWYXIoJ1JSRUNPTU1FTkRTXycgKyBwa2cpIG9yICIiKQogCi0gICAgICAgIGZvciBkZXBlbmQgaW4gcmRlcGVuZHM6CisgICAgICAgIGZvciBkZXBlbmQgaW4gc29ydGVkKHJkZXBlbmRzKToKICAgICAgICAgICAgIGlmIGRlcGVuZC5maW5kKCd2aXJ0dWFsLWxvY2FsZS0nKSAhPSAtMToKICAgICAgICAgICAgICAgICAjYmIubm90ZSgiU2tpcHBpbmcgJXMiICUgZGVwZW5kKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX2lway5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZV9pcGsuYmJjbGFzcwppbmRleCA1ZWI5MTBjLi5kMWIzMTdiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX2lway5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VfaXBrLmJiY2xhc3MKQEAgLTgsNyArOCw3IEBACiBQS0dXUklURURJUklQSyA9ICIke1dPUktESVJ9L2RlcGxveS1pcGtzIgogCiAjIFByb2dyYW0gdG8gYmUgdXNlZCB0byBidWlsZCBvcGtnIHBhY2thZ2VzCi1PUEtHQlVJTERDTUQgPz89ICJvcGtnLWJ1aWxkIC1aIHh6IgorT1BLR0JVSUxEQ01EID8/PSAnb3BrZy1idWlsZCAtWiB4eiAtYSAiJHtYWl9ERUZBVUxUU30iJwogCiBPUEtHX0FSR1MgKz0gIi0tZm9yY2VfcG9zdGluc3RhbGwgLS1wcmVmZXItYXJjaC10by12ZXJzaW9uIgogT1BLR19BUkdTICs9ICIke0BbJycsICctLW5vLWluc3RhbGwtcmVjb21tZW5kcyddW2QuZ2V0VmFyKCJOT19SRUNPTU1FTkRBVElPTlMiKSA9PSAiMSJdfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VfcnBtLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNzCmluZGV4IDIxYWRhMzQuLjFhNjRjYjIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VfcnBtLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZV9ycG0uYmJjbGFzcwpAQCAtMTEzLDYgKzExMywxMCBAQAogICAgICAgICAgICAgc291cmNlX2xpc3QgPSBvcy5saXN0ZGlyKGFyX291dGRpcikKICAgICAgICAgICAgIHNvdXJjZV9udW1iZXIgPSAwCiAgICAgICAgICAgICBmb3Igc291cmNlIGluIHNvdXJjZV9saXN0OgorICAgICAgICAgICAgICAgICMgZG9fZGVwbG95X2FyY2hpdmVzIG1heSBoYXZlIGFscmVhZHkgcnVuIChmcm9tIHNzdGF0ZSkgbWVhbmluZyBhIC5zcmMucnBtIG1heSBhbHJlYWR5IAorICAgICAgICAgICAgICAgICMgZXhpc3QgaW4gQVJDSElWRVJfT1VURElSIHNvIHNraXAgaWYgcHJlc2VudC4KKyAgICAgICAgICAgICAgICBpZiBzb3VyY2UuZW5kc3dpdGgoIi5zcmMucnBtIik6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgIyBUaGUgcnBtYnVpbGQgZG9lc24ndCBuZWVkIHRoZSByb290IHBlcm1pc3Npb24sIGJ1dCBpdCBuZWVkcwogICAgICAgICAgICAgICAgICMgdG8ga25vdyB0aGUgZmlsZSdzIHVzZXIgYW5kIGdyb3VwIG5hbWUsIHRoZSBvbmx5IHVzZXIgYW5kCiAgICAgICAgICAgICAgICAgIyBncm91cCBpbiBmYWtlcm9vdCBpcyAicm9vdCIgd2hlbiB3b3JraW5nIGluIGZha2Vyb290LgpAQCAtNjkwLDcgKzY5NCw3IEBACiAgICAgY21kID0gY21kICsgIiAtLWRlZmluZSAnX3RtcHBhdGggIiArIHdvcmtkaXIgKyAiJyIKICAgICBpZiBkLmdldFZhckZsYWcoJ0FSQ0hJVkVSX01PREUnLCAnc3JwbScpID09ICcxJyBhbmQgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnYXJjaGl2ZXInLCBkKToKICAgICAgICAgY21kID0gY21kICsgIiAtLWRlZmluZSAnX3NvdXJjZWRpciAiICsgZC5nZXRWYXIoJ0FSQ0hJVkVSX09VVERJUicpICsgIiciCi0gICAgICAgIGNtZHNycG0gPSBjbWQgKyAiIC0tZGVmaW5lICdfc3JjcnBtZGlyICIgKyBkLmdldFZhcignQVJDSElWRVJfT1VURElSJykgKyAiJyIKKyAgICAgICAgY21kc3JwbSA9IGNtZCArICIgLS1kZWZpbmUgJ19zcmNycG1kaXIgIiArIGQuZ2V0VmFyKCdBUkNISVZFUl9SUE1PVVRESVInKSArICInIgogICAgICAgICBjbWRzcnBtID0gY21kc3JwbSArICIgLWJzICIgKyBvdXRzcGVjZmlsZQogICAgICAgICAjIEJ1aWxkIHRoZSAuc3JjLnJwbQogICAgICAgICBkLnNldFZhcignU0JVSUxEU1BFQycsIGNtZHNycG0gKyAiXG4iKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZWdyb3VwLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlZ3JvdXAuYmJjbGFzcwppbmRleCBkNTQwZDQyLi45NGE1OWUwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlZ3JvdXAuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlZ3JvdXAuYmJjbGFzcwpAQCAtNDgsNiArNDgsOCBAQAogZGVsdGFzayBkb19pbnN0YWxsCiBkZWx0YXNrIGRvX3BvcHVsYXRlX3N5c3Jvb3QKIAorSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKKwogcHl0aG9uICgpIHsKICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmVzZGsnLCBkKToKICAgICAgICAgcmV0dXJuCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9wZXJsLXZlcnNpb24uYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BlcmwtdmVyc2lvbi5iYmNsYXNzCmluZGV4IGJhZmQ5NjUuLjg0YjY3YjggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3BlcmwtdmVyc2lvbi5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BlcmwtdmVyc2lvbi5iYmNsYXNzCkBAIC0xLDQgKzEsNCBAQAotUEVSTF9PV05fRElSID0gIiR7QFsiIiwgIi9wZXJsLW5hdGl2ZSJdWyhiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSldfSIKK1BFUkxfT1dOX0RJUiA9ICIiCiAKICMgRGV0ZXJtaW5lIHRoZSBzdGFnZWQgdmVyc2lvbiBvZiBwZXJsIGZyb20gdGhlIHBlcmwgY29uZmlndXJhdGlvbiBmaWxlCiAjIEFzc2lnbiB2YXJkZXB2YWx1ZSwgYmVjYXVzZSBvdGhlcndpc2Ugc2lnbmF0dXJlIGlzIGNoYW5nZWQgYmVmb3JlIGFuZCBhZnRlcgpAQCAtNiw3ICs2LDcgQEAKIGdldF9wZXJsX3ZlcnNpb25bdmFyZGVwdmFsdWVdID0gIiR7UEVSTF9PV05fRElSfSIKIGRlZiBnZXRfcGVybF92ZXJzaW9uKGQpOgogICAgIGltcG9ydCByZQotICAgIGNmZyA9IGQuZXhwYW5kKCcke1NUQUdJTkdfTElCRElSfSR7UEVSTF9PV05fRElSfS9wZXJsL2NvbmZpZy5zaCcpCisgICAgY2ZnID0gZC5leHBhbmQoJyR7U1RBR0lOR19MSUJESVJ9JHtQRVJMX09XTl9ESVJ9L3Blcmw1L2NvbmZpZy5zaCcpCiAgICAgdHJ5OgogICAgICAgICBmID0gb3BlbihjZmcsICdyJykKICAgICBleGNlcHQgSU9FcnJvcjoKQEAgLTIyLDMgKzIyLDQ1IEBACiAKIFBFUkxWRVJTSU9OIDo9ICIke0BnZXRfcGVybF92ZXJzaW9uKGQpfSIKIFBFUkxWRVJTSU9OW3ZhcmRlcHZhbHVlXSA9ICIiCisKKworIyBEZXRlcm1pbmUgdGhlIHN0YWdlZCBhcmNoIG9mIHBlcmwgZnJvbSB0aGUgcGVybCBjb25maWd1cmF0aW9uIGZpbGUKKyMgQXNzaWduIHZhcmRlcHZhbHVlLCBiZWNhdXNlIG90aGVyd2lzZSBzaWduYXR1cmUgaXMgY2hhbmdlZCBiZWZvcmUgYW5kIGFmdGVyCisjIHBlcmwgaXMgYnVpbHQgKGZyb20gTm9uZSB0byByZWFsIHZlcnNpb24gaW4gY29uZmlnLnNoKS4KK2RlZiBnZXRfcGVybF9hcmNoKGQpOgorICAgIGltcG9ydCByZQorICAgIGNmZyA9IGQuZXhwYW5kKCcke1NUQUdJTkdfTElCRElSfSR7UEVSTF9PV05fRElSfS9wZXJsNS9jb25maWcuc2gnKQorICAgIHRyeToKKyAgICAgICAgZiA9IG9wZW4oY2ZnLCAncicpCisgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgIHJldHVybiBOb25lCisgICAgbCA9IGYucmVhZGxpbmVzKCk7CisgICAgZi5jbG9zZSgpOworICAgIHIgPSByZS5jb21waWxlKCJeYXJjaG5hbWU9JyhbXiddKiknIikKKyAgICBmb3IgcyBpbiBsOgorICAgICAgICBtID0gci5tYXRjaChzKQorICAgICAgICBpZiBtOgorICAgICAgICAgICAgcmV0dXJuIG0uZ3JvdXAoMSkKKyAgICByZXR1cm4gTm9uZQorCitQRVJMQVJDSCA6PSAiJHtAZ2V0X3BlcmxfYXJjaChkKX0iCitQRVJMQVJDSFt2YXJkZXB2YWx1ZV0gPSAiIgorCisjIERldGVybWluZSB0aGUgc3RhZ2VkIGFyY2ggb2YgcGVybC1uYXRpdmUgZnJvbSB0aGUgcGVybCBjb25maWd1cmF0aW9uIGZpbGUKKyMgQXNzaWduIHZhcmRlcHZhbHVlLCBiZWNhdXNlIG90aGVyd2lzZSBzaWduYXR1cmUgaXMgY2hhbmdlZCBiZWZvcmUgYW5kIGFmdGVyCisjIHBlcmwgaXMgYnVpbHQgKGZyb20gTm9uZSB0byByZWFsIHZlcnNpb24gaW4gY29uZmlnLnNoKS4KK2RlZiBnZXRfcGVybF9ob3N0YXJjaChkKToKKyAgICBpbXBvcnQgcmUKKyAgICBjZmcgPSBkLmV4cGFuZCgnJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3Blcmw1L2NvbmZpZy5zaCcpCisgICAgdHJ5OgorICAgICAgICBmID0gb3BlbihjZmcsICdyJykKKyAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgcmV0dXJuIE5vbmUKKyAgICBsID0gZi5yZWFkbGluZXMoKTsKKyAgICBmLmNsb3NlKCk7CisgICAgciA9IHJlLmNvbXBpbGUoIl5hcmNobmFtZT0nKFteJ10qKSciKQorICAgIGZvciBzIGluIGw6CisgICAgICAgIG0gPSByLm1hdGNoKHMpCisgICAgICAgIGlmIG06CisgICAgICAgICAgICByZXR1cm4gbS5ncm91cCgxKQorICAgIHJldHVybiBOb25lCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9waXhidWZjYWNoZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvcGl4YnVmY2FjaGUuYmJjbGFzcwppbmRleCAzMzc4ZmYyLi5iMDdmNTFlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9waXhidWZjYWNoZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BpeGJ1ZmNhY2hlLmJiY2xhc3MKQEAgLTMsNyArMyw3IEBACiAjIHBhY2thZ2VzLgogIwogCi1ERVBFTkRTICs9ICJxZW11LW5hdGl2ZSIKK0RFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgcWVtdS1uYXRpdmUiCiBpbmhlcml0IHFlbXUKIAogUElYQlVGX1BBQ0tBR0VTID8/PSAiJHtQTn0iCkBAIC01NCw3ICs1NCw2IEBACiBERVBFTkRTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGdkay1waXhidWYtbmF0aXZlIgogU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIHBpeGJ1ZmNhY2hlX3NzdGF0ZV9wb3N0aW5zdCIKIAotIyBTZWUgYmFzZS5iYmNsYXNzIGZvciB0aGUgb3RoZXIgaGFsZiBvZiB0aGlzCiBwaXhidWZjYWNoZV9zc3RhdGVfcG9zdGluc3QoKSB7CiAJbWtkaXIgLXAgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJ9CiAJZGVzdD0ke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0vcG9zdGluc3QtJHtQTn0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3BvcHVsYXRlX3Nka19iYXNlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9wb3B1bGF0ZV9zZGtfYmFzZS5iYmNsYXNzCmluZGV4IDY3N2JhM2MuLmViYzMwZDMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3BvcHVsYXRlX3Nka19iYXNlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvcG9wdWxhdGVfc2RrX2Jhc2UuYmJjbGFzcwpAQCAtNiw2ICs2LDcgQEAKIENPTVBMRU1FTlRBUllfR0xPQltzdGF0aWNkZXYtcGtnc10gPSAnKi1zdGF0aWNkZXYnCiBDT01QTEVNRU5UQVJZX0dMT0JbZG9jLXBrZ3NdID0gJyotZG9jJwogQ09NUExFTUVOVEFSWV9HTE9CW2RiZy1wa2dzXSA9ICcqLWRiZycKK0NPTVBMRU1FTlRBUllfR0xPQltzcmMtcGtnc10gPSAnKi1zcmMnCiBDT01QTEVNRU5UQVJZX0dMT0JbcHRlc3QtcGtnc10gPSAnKi1wdGVzdCcKIAogZGVmIGNvbXBsZW1lbnRhcnlfZ2xvYnMoZmVhdHVyZXZhciwgZCk6CkBAIC0xNyw3ICsxOCw3IEBACiAgICAgICAgICAgICBnbG9icy5hcHBlbmQoZ2xvYikKICAgICByZXR1cm4gJyAnLmpvaW4oZ2xvYnMpCiAKLVNES0lNQUdFX0ZFQVRVUkVTID8/PSAiZGV2LXBrZ3MgZGJnLXBrZ3MgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdhcGktZG9jdW1lbnRhdGlvbicsICdkb2MtcGtncycsICcnLCBkKX0iCitTREtJTUFHRV9GRUFUVVJFUyA/Pz0gImRldi1wa2dzIGRiZy1wa2dzIHNyYy1wa2dzICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYXBpLWRvY3VtZW50YXRpb24nLCAnZG9jLXBrZ3MnLCAnJywgZCl9IgogU0RLSU1BR0VfSU5TVEFMTF9DT01QTEVNRU5UQVJZID0gJyR7QGNvbXBsZW1lbnRhcnlfZ2xvYnMoIlNES0lNQUdFX0ZFQVRVUkVTIiwgZCl9JwogCiBQQUNLQUdFX0FSQ0hTX2FwcGVuZF90YXNrLXBvcHVsYXRlLXNkayA9ICIgc2RrLXByb3ZpZGVzLWR1bW15LXRhcmdldCIKQEAgLTIyNSw3ICsyMjYsNyBAQAogCSMgUGFja2FnZSBpdCB1cAogCW1rZGlyIC1wICR7U0RLREVQTE9ZRElSfQogCWNkICR7U0RLX09VVFBVVH0vJHtTREtQQVRIfQotCXRhciAke1NES1RBUk9QVFN9IC1jZiAtIC4gfCB4eiAtVCAwID4gJHtTREtERVBMT1lESVJ9LyR7VE9PTENIQUlOX09VVFBVVE5BTUV9LnRhci54egorCXRhciAke1NES1RBUk9QVFN9IC1jZiAtIC4gfCB4eiAke1haX0RFRkFVTFRTfSA+ICR7U0RLREVQTE9ZRElSfS8ke1RPT0xDSEFJTl9PVVRQVVROQU1FfS50YXIueHoKIH0KIAogVE9PTENIQUlOX1NIQVJfRVhUX1RNUEwgPz0gIiR7Q09SRUJBU0V9L21ldGEvZmlsZXMvdG9vbGNoYWluLXNoYXItZXh0cmFjdC5zaCIKQEAgLTI1Nyw3ICsyNTgsNyBAQAogCQktZSAncyNAU0RLRVhUUEFUSEAjJHtTREtFWFRQQVRIfSNnJyBcCiAJCS1lICdzI0BPTERFU1RfS0VSTkVMQCMke1NES19PTERFU1RfS0VSTkVMfSNnJyBcCiAJCS1lICdzI0BSRUFMX01VTFRJTUFDSF9UQVJHRVRfU1lTQCMke1JFQUxfTVVMVElNQUNIX1RBUkdFVF9TWVN9I2cnIFwKLQkJLWUgJ3MjQFNES19USVRMRUAjJHtAZC5nZXRWYXIoIlNES19USVRMRSIpLnJlcGxhY2UoJyYnLCAnXCYnKX0jZycgXAorCQktZSAncyNAU0RLX1RJVExFQCMke0BkLmdldFZhcigiU0RLX1RJVExFIikucmVwbGFjZSgnJicsICdcXCYnKX0jZycgXAogCQktZSAncyNAU0RLX1ZFUlNJT05AIyR7U0RLX1ZFUlNJT059I2cnIFwKIAkJLWUgJy9AU0RLX1BSRV9JTlNUQUxMX0NPTU1BTkRAL2QnIFwKIAkJLWUgJy9AU0RLX1BPU1RfSU5TVEFMTF9DT01NQU5EQC9kJyBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9wb3B1bGF0ZV9zZGtfZXh0LmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9wb3B1bGF0ZV9zZGtfZXh0LmJiY2xhc3MKaW5kZXggNDBiMDM3NS4uODAwZTExNyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvcG9wdWxhdGVfc2RrX2V4dC5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BvcHVsYXRlX3Nka19leHQuYmJjbGFzcwpAQCAtNTg5LDExICs1ODksOCBAQAogCQlleGl0IDEKIAlmaQogCVNES19FWFRFTlNJQkxFPSIxIgotCWlmIFsgIiRwdWJsaXNoIiA9ICIxIiBdIDsgdGhlbgotCQlFWFRSQV9UQVJfT1BUSU9OUz0iJEVYVFJBX1RBUl9PUFRJT05TIC0tZXhjbHVkZT1leHQtc2RrLXByZXBhcmUucHkiCi0JCWlmIFsgIiR7U0RLX0VYVF9UWVBFfSIgPSAibWluaW1hbCIgXSA7IHRoZW4KLQkJCUVYVFJBX1RBUl9PUFRJT05TPSIkRVhUUkFfVEFSX09QVElPTlMgLS1leGNsdWRlPXNzdGF0ZS1jYWNoZSIKLQkJZmkKKwlpZiBbICIkcHVibGlzaCIgPSAiMSIgXSAmJiBbICIke1NES19FWFRfVFlQRX0iID0gIm1pbmltYWwiIF0gOyB0aGVuCisJCUVYVFJBX1RBUl9PUFRJT05TPSIkRVhUUkFfVEFSX09QVElPTlMgLS1leGNsdWRlPXNzdGF0ZS1jYWNoZSIKIAlmaQogfQogU0RLX1BSRV9JTlNUQUxMX0NPTU1BTkRfdGFzay1wb3B1bGF0ZS1zZGstZXh0ID0gIiR7c2RrX2V4dF9wcmVpbnN0fSIKQEAgLTYzNSw2ICs2MzIsOCBAQAogCQkjIHNvdXJjaW5nIGEgc2NyaXB0LiBUaGF0IGlzIHdoeSB0aGlzIGhhcyB0byBsb29rIHNvIHVnbHkuCiAJCUxPR0ZJTEU9IiR0YXJnZXRfc2RrX2Rpci9wcmVwYXJpbmdfYnVpbGRfc3lzdGVtLmxvZyIKIAkJc2ggLWMgIi4gYnVpbGR0b29scy9lbnZpcm9ubWVudC1zZXR1cCogPiAkTE9HRklMRSAmJiBjZCAkdGFyZ2V0X3Nka19kaXIvYGRpcm5hbWUgJHtvZV9pbml0X2J1aWxkX2Vudl9wYXRofWAgJiYgc2V0ICR0YXJnZXRfc2RrX2RpciAmJiAuICR0YXJnZXRfc2RrX2Rpci8ke29lX2luaXRfYnVpbGRfZW52X3BhdGh9ICR0YXJnZXRfc2RrX2RpciA+PiAkTE9HRklMRSAmJiBweXRob24gJHRhcmdldF9zZGtfZGlyL2V4dC1zZGstcHJlcGFyZS5weSAkTE9HRklMRSAnJHtTREtfSU5TVEFMTF9UQVJHRVRTfSciIHx8IHsgZWNobyAicHJpbnRmICdFUlJPUjogdGhpcyBTREsgd2FzIG5vdCBmdWxseSBpbnN0YWxsZWQgYW5kIG5lZWRzIHJlaW5zdGFsbGluZ1xuJyIgPj4gJGVudl9zZXR1cF9zY3JpcHQgOyBleGl0IDEgOyB9CisJZmkKKwlpZiBbIC1lICR0YXJnZXRfc2RrX2Rpci9leHQtc2RrLXByZXBhcmUucHkgXTsgdGhlbgogCQlybSAkdGFyZ2V0X3Nka19kaXIvZXh0LXNkay1wcmVwYXJlLnB5CiAJZmkKIAllY2hvIGRvbmUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3B0ZXN0LmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9wdGVzdC5iYmNsYXNzCmluZGV4IDlkOGE3OTguLjk3ODY1YzkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3B0ZXN0LmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvcHRlc3QuYmJjbGFzcwpAQCAtMyw2ICszLDkgQEAKIFRoaXMgcGFja2FnZSBjb250YWlucyBhIHRlc3QgZGlyZWN0b3J5ICR7UFRFU1RfUEFUSH0gZm9yIHBhY2thZ2UgdGVzdCBwdXJwb3Nlcy4iCiAKIFBURVNUX1BBVEggPz0gIiR7bGliZGlyfS8ke0JQTn0vcHRlc3QiCitQVEVTVF9CVUlMRF9IT1NUX0ZJTEVTID89ICJNYWtlZmlsZSIKK1BURVNUX0JVSUxEX0hPU1RfUEFUVEVSTiA/PSAiIgorCiBGSUxFU18ke1BOfS1wdGVzdCA9ICIke1BURVNUX1BBVEh9IgogU0VDVElPTl8ke1BOfS1wdGVzdCA9ICJkZXZlbCIKIEFMTE9XX0VNUFRZXyR7UE59LXB0ZXN0ID0gIjEiCkBAIC00NSw2ICs0OCwyMSBAQAogICAgIGZpCiAgICAgZG9faW5zdGFsbF9wdGVzdAogICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9JHtQVEVTVF9QQVRIfQorCisgICAgIyBTdHJpcCBidWlsZCBob3N0IHBhdGhzIGZyb20gYW55IGluc3RhbGxlZCBNYWtlZmlsZQorICAgIGZvciBmaWxlbmFtZSBpbiAke1BURVNUX0JVSUxEX0hPU1RfRklMRVN9OyBkbworICAgICAgICBmb3IgaW5zdGFsbGVkX3B0ZXN0X2ZpbGUgaW4gJChmaW5kICR7RH0ke1BURVNUX1BBVEh9IC10eXBlIGYgLW5hbWUgJGZpbGVuYW1lKTsgZG8KKyAgICAgICAgICAgIGJibm90ZSAiU3RyaXBwaW5nIGhvc3QgcGF0aHMgZnJvbTogJGluc3RhbGxlZF9wdGVzdF9maWxlIgorICAgICAgICAgICAgc2VkIC1lICdzIyR7SE9TVFRPT0xTX0RJUn0vKiMjZycgXAorICAgICAgICAgICAgICAgIC1lICdzIyR7V09SS0RJUn0vKj0jLj0jZycgXAorICAgICAgICAgICAgICAgIC1lICdzIyR7V09SS0RJUn0vKiMjZycgXAorICAgICAgICAgICAgICAgIC1pICRpbnN0YWxsZWRfcHRlc3RfZmlsZQorICAgICAgICAgICAgaWYgWyAtbiAiJHtQVEVTVF9CVUlMRF9IT1NUX1BBVFRFUk59IiBdOyB0aGVuCisgICAgICAgICAgICAgICBzZWQgLUUgJy8ke1BURVNUX0JVSUxEX0hPU1RfUEFUVEVSTn0vZCcgXAorICAgICAgICAgICAgICAgICAgIC1pICRpbnN0YWxsZWRfcHRlc3RfZmlsZQorICAgICAgICAgICAgZmkKKyAgICAgICAgZG9uZQorICAgIGRvbmUKIH0KIAogZG9fY29uZmlndXJlX3B0ZXN0X2Jhc2VbZGlyc10gPSAiJHtCfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3B5dGhvbjMtZGlyLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9weXRob24zLWRpci5iYmNsYXNzCmluZGV4IDA2YmIwNDYuLjdkZDEzMGIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3B5dGhvbjMtZGlyLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvcHl0aG9uMy1kaXIuYmJjbGFzcwpAQCAtMSw0ICsxLDQgQEAKLVBZVEhPTl9CQVNFVkVSU0lPTiA9ICIzLjUiCitQWVRIT05fQkFTRVZFUlNJT04gPSAiMy43IgogUFlUSE9OX0FCSSA9ICJtIgogUFlUSE9OX0RJUiA9ICJweXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0iCiBQWVRIT05fUE4gPSAicHl0aG9uMyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3B5dGhvbjNuYXRpdmUuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3B5dGhvbjNuYXRpdmUuYmJjbGFzcwppbmRleCBkYTEyYTcxLi5hM2FjYWY2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9weXRob24zbmF0aXZlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvcHl0aG9uM25hdGl2ZS5iYmNsYXNzCkBAIC05LDYgKzksOCBAQAogZXhwb3J0IFNUQUdJTkdfSU5DRElSCiBleHBvcnQgU1RBR0lOR19MSUJESVIKIAorZXhwb3J0IF9QWVRIT05fU1lTQ09ORklHREFUQV9OQU1FPSJfc3lzY29uZmlnZGF0YSIKKwogIyBzdXBwcmVzcyBob3N0IHVzZXIncyBzaXRlLXBhY2thZ2VzIGRpcnMuCiBleHBvcnQgUFlUSE9OTk9VU0VSU0lURSA9ICIxIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9zYW5pdHkuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzCmluZGV4IDM3NGRhY2YuLmNhYjA5MjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzCkBAIC0zMzgsNyArMzM4LDcgQEAKIGRlZiBnZXRfZmlsZXN5c3RlbV9pZChwYXRoKToKICAgICBpbXBvcnQgc3VicHJvY2VzcwogICAgIHRyeToKLSAgICAgICAgcmV0dXJuIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsic3RhdCIsICItZiIsICItYyIsICIldCIsIHBhdGhdKS5kZWNvZGUoJ3V0Zi04JykKKyAgICAgICAgcmV0dXJuIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsic3RhdCIsICItZiIsICItYyIsICIldCIsIHBhdGhdKS5kZWNvZGUoJ3V0Zi04Jykuc3RyaXAoKQogICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcjoKICAgICAgICAgYmIud2FybigiQ2FuJ3QgZ2V0IGZpbGVzeXN0ZW0gaWQgb2Y6ICVzIiAlIHBhdGgpCiAgICAgICAgIHJldHVybiBOb25lCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9zY29ucy5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvc2NvbnMuYmJjbGFzcwppbmRleCBiOWFlMTlkLi45ZWU3ZDE1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9zY29ucy5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3Njb25zLmJiY2xhc3MKQEAgLTIsMTYgKzIsMjUgQEAKIAogRVhUUkFfT0VTQ09OUyA/PSAiIgogCi1kb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgorZG9fY29uZmlndXJlKCkgeworCWlmIFsgLW4gIiR7Q09ORklHVVJFU1RBTVBGSUxFfSIgXTsgdGhlbgorCQlpZiBbIC1lICIke0NPTkZJR1VSRVNUQU1QRklMRX0iIC1hICJgY2F0ICR7Q09ORklHVVJFU1RBTVBGSUxFfWAiICE9ICIke0JCX1RBU0tIQVNIfSIgLWEgIiR7Q0xFQU5CUk9LRU59IiAhPSAiMSIgXTsgdGhlbgorCQkJJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3Njb25zIC0tY2xlYW4gUFJFRklYPSR7cHJlZml4fSBwcmVmaXg9JHtwcmVmaXh9ICR7RVhUUkFfT0VTQ09OU30KKwkJZmkKKworCQlta2RpciAtcCBgZGlybmFtZSAke0NPTkZJR1VSRVNUQU1QRklMRX1gCisJCWVjaG8gJHtCQl9UQVNLSEFTSH0gPiAke0NPTkZJR1VSRVNUQU1QRklMRX0KKwlmaQorfQogCiBzY29uc19kb19jb21waWxlKCkgewotICAgICAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vc2NvbnMgJHtQQVJBTExFTF9NQUtFfSBQUkVGSVg9JHtwcmVmaXh9IHByZWZpeD0ke3ByZWZpeH0gJHtFWFRSQV9PRVNDT05TfSB8fCBcCi0gICAgICAgIGRpZSAic2NvbnMgYnVpbGQgZXhlY3V0aW9uIGZhaWxlZC4iCisJJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3Njb25zICR7UEFSQUxMRUxfTUFLRX0gUFJFRklYPSR7cHJlZml4fSBwcmVmaXg9JHtwcmVmaXh9ICR7RVhUUkFfT0VTQ09OU30gfHwgXAorCWRpZSAic2NvbnMgYnVpbGQgZXhlY3V0aW9uIGZhaWxlZC4iCiB9CiAKIHNjb25zX2RvX2luc3RhbGwoKSB7Ci0gICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9zY29ucyBpbnN0YWxsX3Jvb3Q9JHtEfSR7cHJlZml4fSBQUkVGSVg9JHtwcmVmaXh9IHByZWZpeD0ke3ByZWZpeH0gJHtFWFRSQV9PRVNDT05TfSBpbnN0YWxsIHx8IFwKLSAgICAgICAgZGllICJzY29ucyBpbnN0YWxsIGV4ZWN1dGlvbiBmYWlsZWQuIgorCSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9zY29ucyBpbnN0YWxsX3Jvb3Q9JHtEfSR7cHJlZml4fSBQUkVGSVg9JHtwcmVmaXh9IHByZWZpeD0ke3ByZWZpeH0gJHtFWFRSQV9PRVNDT05TfSBpbnN0YWxsIHx8IFwKKwlkaWUgInNjb25zIGluc3RhbGwgZXhlY3V0aW9uIGZhaWxlZC4iCiB9CiAKIEVYUE9SVF9GVU5DVElPTlMgZG9fY29tcGlsZSBkb19pbnN0YWxsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzCmluZGV4IGVkYmZiYTUuLjZmNTFkOWMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzCkBAIC0xMSw3ICsxMSw3IEBACiBTU1RBVEVfUEtHQVJDSCAgICA9ICIke1BBQ0tBR0VfQVJDSH0iCiBTU1RBVEVfUEtHU1BFQyAgICA9ICJzc3RhdGU6JHtQTn06JHtQQUNLQUdFX0FSQ0h9JHtUQVJHRVRfVkVORE9SfS0ke1RBUkdFVF9PU306JHtQVn06JHtQUn06JHtTU1RBVEVfUEtHQVJDSH06JHtTU1RBVEVfVkVSU0lPTn06IgogU1NUQVRFX1NXU1BFQyAgICAgPSAic3N0YXRlOiR7UE59Ojoke1BWfToke1BSfTo6JHtTU1RBVEVfVkVSU0lPTn06IgotU1NUQVRFX1BLR05BTUUgICAgPSAiJHtTU1RBVEVfRVhUUkFQQVRIfSR7QGdlbmVyYXRlX3NzdGF0ZWZuKGQuZ2V0VmFyKCdTU1RBVEVfUEtHU1BFQycpLCBkLmdldFZhcignQkJfVEFTS0hBU0gnKSwgZCl9IgorU1NUQVRFX1BLR05BTUUgICAgPSAiJHtTU1RBVEVfRVhUUkFQQVRIfSR7QGdlbmVyYXRlX3NzdGF0ZWZuKGQuZ2V0VmFyKCdTU1RBVEVfUEtHU1BFQycpLCBkLmdldFZhcignQkJfVU5JSEFTSCcpLCBkKX0iCiBTU1RBVEVfUEtHICAgICAgICA9ICIke1NTVEFURV9ESVJ9LyR7U1NUQVRFX1BLR05BTUV9IgogU1NUQVRFX0VYVFJBUEFUSCAgID0gIiIKIFNTVEFURV9FWFRSQVBBVEhXSUxEQ0FSRCA9ICIiCkBAIC0yMyw2ICsyMyw3IEBACiAjIFdlIGRvbid0IHdhbnQgdGhlIHNzdGF0ZSB0byBkZXBlbmQgb24gdGhpbmdzIGxpa2UgdGhlIGRpc3RybyBzdHJpbmcKICMgb2YgdGhlIHN5c3RlbSwgd2UgbGV0IHRoZSBzc3RhdGUgcGF0aHMgdGFrZSBjYXJlIG9mIHRoaXMuCiBTU1RBVEVfRVhUUkFQQVRIW3ZhcmRlcHZhbHVlXSA9ICIiCitTU1RBVEVfRVhUUkFQQVRIV0lMRENBUkRbdmFyZGVwdmFsdWVdID0gIiIKIAogIyBGb3IgbXVsdGlsaWIgcnBtIHRoZSBhbGxhcmNoIHBhY2thZ2Vncm91cCBmaWxlcyBjYW4gb3ZlcndyaXRlIChpbiB0aGVvcnkgdGhleSdyZSBpZGVudGljYWwpCiBTU1RBVEVfRFVQV0hJVEVMSVNUID0gIiR7REVQTE9ZX0RJUn0vbGljZW5zZXMvIgpAQCAtNjEsNiArNjIsNyBAQAogU1NUQVRFX01BTk1BQ0ggPz0gIiR7U1NUQVRFX1BLR0FSQ0h9IgogCiBTU1RBVEVDUkVBVEVGVU5DUyA9ICJzc3RhdGVfaGFyZGNvZGVfcGF0aCIKK1NTVEFURUNSRUFURUZVTkNTW3ZhcmRlcHNdID0gIlNTVEFURV9TQ0FOX0ZJTEVTIgogU1NUQVRFUE9TVENSRUFURUZVTkNTID0gIiIKIFNTVEFURVBSRUlOU1RGVU5DUyA9ICIiCiBTU1RBVEVQT1NUVU5QQUNLRlVOQ1MgPSAic3N0YXRlX2hhcmRjb2RlX3BhdGhfdW5wYWNrIgpAQCAtODIsNiArODQsMjMgQEAKICMgV2hldGhlciB0byB2ZXJpZnkgdGhlIEduVVBHIHNpZ25hdHVyZXMgd2hlbiBleHRyYWN0aW5nIHNzdGF0ZSBhcmNoaXZlcwogU1NUQVRFX1ZFUklGWV9TSUcgPz0gIjAiCiAKK1NTVEFURV9IQVNIRVFVSVZfTUVUSE9EID89ICJvZS5zc3RhdGVzaWcuT0VPdXRoYXNoQmFzaWMiCitTU1RBVEVfSEFTSEVRVUlWX01FVEhPRFtkb2NdID0gIlRoZSBmdWxseS1xdWFsaWZpZWQgZnVuY3Rpb24gdXNlZCB0byBjYWxjdWxhdGUgXAorICAgIHRoZSBvdXRwdXQgaGFzaCBmb3IgYSB0YXNrLCB3aGljaCBpbiB0dXJuIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGVxdWl2YWxlbmN5LiBcCisgICAgIgorCitTU1RBVEVfSEFTSEVRVUlWX1NFUlZFUiA/PSAiIgorU1NUQVRFX0hBU0hFUVVJVl9TRVJWRVJbZG9jXSA9ICJUaGUgaGFzaCBlcXVpdmFsZW5jZSBzZXZlci4gRm9yIGV4YW1wbGUsIFwKKyAgICAnaHR0cDovLzE5Mi4xNjguMC4xOjUwMDAnLiBEbyBub3QgaW5jbHVkZSBhIHRyYWlsaW5nIHNsYXNoIFwKKyAgICAiCisKK1NTVEFURV9IQVNIRVFVSVZfUkVQT1JUX1RBU0tEQVRBID89ICIwIgorU1NUQVRFX0hBU0hFUVVJVl9SRVBPUlRfVEFTS0RBVEFbZG9jXSA9ICJSZXBvcnQgYWRkaXRpb25hbCB1c2VmdWwgZGF0YSB0byB0aGUgXAorICAgIGhhc2ggZXF1aXZhbGVuY3kgc2VydmVyLCBzdWNoIGFzIFBOLCBQViwgdGFza25hbWUsIGV0Yy4gVGhpcyBpbmZvcm1hdGlvbiBcCisgICAgaXMgdmVyeSB1c2VmdWwgZm9yIGRldmVsb3BlcnMgbG9va2luZyBhdCB0YXNrIGRhdGEsIGJ1dCBtYXkgbGVhayBzZW5zaXRpdmUgXAorICAgIGRhdGEgaWYgdGhlIGVxdWl2YWxlbmNlIHNlcnZlciBpcyBwdWJsaWMuIFwKKyAgICAiCisKIHB5dGhvbiAoKSB7CiAgICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlJywgZCk6CiAgICAgICAgIGQuc2V0VmFyKCdTU1RBVEVfUEtHQVJDSCcsIGQuZ2V0VmFyKCdCVUlMRF9BUkNIJywgRmFsc2UpKQpAQCAtMTAxLDcgKzEyMCw3IEBACiAgICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3NzZGsnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zcycsIGQpOgogICAgICAgICBkLnNldFZhcignU1NUQVRFX0VYVFJBUEFUSCcsICIke05BVElWRUxTQlNUUklOR30vIikKICAgICAgICAgZC5zZXRWYXIoJ0JCX0hBU0hGSUxFTkFNRScsICJUcnVlICR7U1NUQVRFX1BLR1NQRUN9ICR7U1NUQVRFX1NXU1BFQ30iKQotICAgICAgICBkLnNldFZhcignU1NUQVRFX0VYVFJBUEFUSFdJTERDQVJEJywgIiovIikKKyAgICAgICAgZC5zZXRWYXIoJ1NTVEFURV9FWFRSQVBBVEhXSUxEQ0FSRCcsICIke05BVElWRUxTQlNUUklOR30vIikKIAogICAgIHVuaXF1ZV90YXNrcyA9IHNvcnRlZChzZXQoKGQuZ2V0VmFyKCdTU1RBVEVUQVNLUycpIG9yICIiKS5zcGxpdCgpKSkKICAgICBkLnNldFZhcignU1NUQVRFVEFTS1MnLCAiICIuam9pbih1bmlxdWVfdGFza3MpKQpAQCAtNjQwLDcgKzY1OSw3IEBACiAgICAgICAgIHJldHVybgogCiAgICAgZm9yIGYgaW4gKGQuZ2V0VmFyKCdTU1RBVEVDUkVBVEVGVU5DUycpIG9yICcnKS5zcGxpdCgpICsgXAotICAgICAgICAgICAgIFsnc3N0YXRlX2NyZWF0ZV9wYWNrYWdlJywgJ3NzdGF0ZV9zaWduX3BhY2thZ2UnXSArIFwKKyAgICAgICAgICAgICBbJ3NzdGF0ZV9yZXBvcnRfdW5paGFzaCcsICdzc3RhdGVfY3JlYXRlX3BhY2thZ2UnLCAnc3N0YXRlX3NpZ25fcGFja2FnZSddICsgXAogICAgICAgICAgICAgIChkLmdldFZhcignU1NUQVRFUE9TVENSRUFURUZVTkNTJykgb3IgJycpLnNwbGl0KCk6CiAgICAgICAgICMgQWxsIGhvb2tzIHNob3VsZCBydW4gaW4gU1NUQVRFX0JVSUxERElSLgogICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoZiwgZCwgKHNzdGF0ZWJ1aWxkLCkpCkBAIC03NjQsNiArNzgzLDE0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLmdldFZhcignU1NUQVRFX1NJR19QQVNTUEhSQVNFJyksIGFybW9yPUZhbHNlKQogfQogCitweXRob24gc3N0YXRlX3JlcG9ydF91bmloYXNoKCkgeworICAgIHJlcG9ydF91bmloYXNoID0gZ2V0YXR0cihiYi5wYXJzZS5zaWdnZW4sICdyZXBvcnRfdW5paGFzaCcsIE5vbmUpCisKKyAgICBpZiByZXBvcnRfdW5paGFzaDoKKyAgICAgICAgc3MgPSBzc3RhdGVfc3RhdGVfZnJvbXZhcnMoZCkKKyAgICAgICAgcmVwb3J0X3VuaWhhc2gob3MuZ2V0Y3dkKCksIHNzWyd0YXNrJ10sIGQpCit9CisKICMKICMgU2hlbGwgZnVuY3Rpb24gdG8gZGVjb21wcmVzcyBhbmQgcHJlcGFyZSBhIHBhY2thZ2UgZm9yIGluc3RhbGxhdGlvbgogIyBXaWxsIGJlIHJ1biBmcm9tIHdpdGhpbiBTU1RBVEVfSU5TVERJUi4KQEAgLTc4MCw3ICs4MDcsNyBAQAogCiBCQl9IQVNIQ0hFQ0tfRlVOQ1RJT04gPSAic3N0YXRlX2NoZWNraGFzaGVzIgogCi1kZWYgc3N0YXRlX2NoZWNraGFzaGVzKHNxX2ZuLCBzcV90YXNrLCBzcV9oYXNoLCBzcV9oYXNoZm4sIGQsIHNpZ2luZm89RmFsc2UpOgorZGVmIHNzdGF0ZV9jaGVja2hhc2hlcyhzcV9mbiwgc3FfdGFzaywgc3FfaGFzaCwgc3FfaGFzaGZuLCBkLCBzaWdpbmZvPUZhbHNlLCAqLCBzcV91bmloYXNoPU5vbmUpOgogCiAgICAgcmV0ID0gW10KICAgICBtaXNzZWQgPSBbXQpAQCAtNzg4LDYgKzgxNSwxMSBAQAogICAgIGlmIHNpZ2luZm86CiAgICAgICAgIGV4dGVuc2lvbiA9IGV4dGVuc2lvbiArICIuc2lnaW5mbyIKIAorICAgIGRlZiBnZXRoYXNoKHRhc2spOgorICAgICAgICBpZiBzcV91bmloYXNoIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcmV0dXJuIHNxX3VuaWhhc2hbdGFza10KKyAgICAgICAgcmV0dXJuIHNxX2hhc2hbdGFza10KKwogICAgIGRlZiBnZXRwYXRoY29tcG9uZW50cyh0YXNrLCBkKToKICAgICAgICAgIyBNYWdpYyBkYXRhIGZyb20gQkJfSEFTSEZJTEVOQU1FCiAgICAgICAgIHNwbGl0aGFzaGZuID0gc3FfaGFzaGZuW3Rhc2tdLnNwbGl0KCIgIikKQEAgLTgxMCw3ICs4NDIsNyBAQAogCiAgICAgICAgIHNwZWMsIGV4dHJhcGF0aCwgdG5hbWUgPSBnZXRwYXRoY29tcG9uZW50cyh0YXNrLCBkKQogCi0gICAgICAgIHNzdGF0ZWZpbGUgPSBkLmV4cGFuZCgiJHtTU1RBVEVfRElSfS8iICsgZXh0cmFwYXRoICsgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgc3FfaGFzaFt0YXNrXSwgZCkgKyAiXyIgKyB0bmFtZSArIGV4dGVuc2lvbikKKyAgICAgICAgc3N0YXRlZmlsZSA9IGQuZXhwYW5kKCIke1NTVEFURV9ESVJ9LyIgKyBleHRyYXBhdGggKyBnZW5lcmF0ZV9zc3RhdGVmbihzcGVjLCBnZXRoYXNoKHRhc2spLCBkKSArICJfIiArIHRuYW1lICsgZXh0ZW5zaW9uKQogCiAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNzdGF0ZWZpbGUpOgogICAgICAgICAgICAgYmIuZGVidWcoMiwgIlNTdGF0ZTogRm91bmQgdmFsaWQgc3N0YXRlIGZpbGUgJXMiICUgc3N0YXRlZmlsZSkKQEAgLTg3Miw3ICs5MDQsNyBAQAogICAgICAgICAgICAgaWYgdGFzayBpbiByZXQ6CiAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIHNwZWMsIGV4dHJhcGF0aCwgdG5hbWUgPSBnZXRwYXRoY29tcG9uZW50cyh0YXNrLCBkKQotICAgICAgICAgICAgc3N0YXRlZmlsZSA9IGQuZXhwYW5kKGV4dHJhcGF0aCArIGdlbmVyYXRlX3NzdGF0ZWZuKHNwZWMsIHNxX2hhc2hbdGFza10sIGQpICsgIl8iICsgdG5hbWUgKyBleHRlbnNpb24pCisgICAgICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoZXh0cmFwYXRoICsgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgZ2V0aGFzaCh0YXNrKSwgZCkgKyAiXyIgKyB0bmFtZSArIGV4dGVuc2lvbikKICAgICAgICAgICAgIHRhc2tsaXN0LmFwcGVuZCgodGFzaywgc3N0YXRlZmlsZSkpCiAKICAgICAgICAgaWYgdGFza2xpc3Q6CkBAIC04OTgsMTIgKzkzMCwxMiBAQAogICAgICAgICBldmRhdGEgPSB7J21pc3NlZCc6IFtdLCAnZm91bmQnOiBbXX07CiAgICAgICAgIGZvciB0YXNrIGluIG1pc3NlZDoKICAgICAgICAgICAgIHNwZWMsIGV4dHJhcGF0aCwgdG5hbWUgPSBnZXRwYXRoY29tcG9uZW50cyh0YXNrLCBkKQotICAgICAgICAgICAgc3N0YXRlZmlsZSA9IGQuZXhwYW5kKGV4dHJhcGF0aCArIGdlbmVyYXRlX3NzdGF0ZWZuKHNwZWMsIHNxX2hhc2hbdGFza10sIGQpICsgIl8iICsgdG5hbWUgKyAiLnRneiIpCi0gICAgICAgICAgICBldmRhdGFbJ21pc3NlZCddLmFwcGVuZCggKHNxX2ZuW3Rhc2tdLCBzcV90YXNrW3Rhc2tdLCBzcV9oYXNoW3Rhc2tdLCBzc3RhdGVmaWxlICkgKQorICAgICAgICAgICAgc3N0YXRlZmlsZSA9IGQuZXhwYW5kKGV4dHJhcGF0aCArIGdlbmVyYXRlX3NzdGF0ZWZuKHNwZWMsIGdldGhhc2godGFzayksIGQpICsgIl8iICsgdG5hbWUgKyAiLnRneiIpCisgICAgICAgICAgICBldmRhdGFbJ21pc3NlZCddLmFwcGVuZCggKHNxX2ZuW3Rhc2tdLCBzcV90YXNrW3Rhc2tdLCBnZXRoYXNoKHRhc2spLCBzc3RhdGVmaWxlICkgKQogICAgICAgICBmb3IgdGFzayBpbiByZXQ6CiAgICAgICAgICAgICBzcGVjLCBleHRyYXBhdGgsIHRuYW1lID0gZ2V0cGF0aGNvbXBvbmVudHModGFzaywgZCkKLSAgICAgICAgICAgIHNzdGF0ZWZpbGUgPSBkLmV4cGFuZChleHRyYXBhdGggKyBnZW5lcmF0ZV9zc3RhdGVmbihzcGVjLCBzcV9oYXNoW3Rhc2tdLCBkKSArICJfIiArIHRuYW1lICsgIi50Z3oiKQotICAgICAgICAgICAgZXZkYXRhWydmb3VuZCddLmFwcGVuZCggKHNxX2ZuW3Rhc2tdLCBzcV90YXNrW3Rhc2tdLCBzcV9oYXNoW3Rhc2tdLCBzc3RhdGVmaWxlICkgKQorICAgICAgICAgICAgc3N0YXRlZmlsZSA9IGQuZXhwYW5kKGV4dHJhcGF0aCArIGdlbmVyYXRlX3NzdGF0ZWZuKHNwZWMsIGdldGhhc2godGFzayksIGQpICsgIl8iICsgdG5hbWUgKyAiLnRneiIpCisgICAgICAgICAgICBldmRhdGFbJ2ZvdW5kJ10uYXBwZW5kKCAoc3FfZm5bdGFza10sIHNxX3Rhc2tbdGFza10sIGdldGhhc2godGFzayksIHNzdGF0ZWZpbGUgKSApCiAgICAgICAgIGJiLmV2ZW50LmZpcmUoYmIuZXZlbnQuTWV0YWRhdGFFdmVudCgiTWlzc2VkU3N0YXRlIiwgZXZkYXRhKSwgZCkKIAogICAgICMgUHJpbnQgc29tZSBzdW1tYXJ5IHN0YXRpc3RpY3MgYWJvdXQgdGhlIGN1cnJlbnQgdGFzayBjb21wbGV0aW9uIGFuZCBob3cgbXVjaCBzc3RhdGUKQEAgLTEwODcsMTIgKzExMTksMTUgQEAKICAgICAgICAgd2l0aCBvcGVuKGksICJyIikgYXMgZjoKICAgICAgICAgICAgIGxpbmVzID0gZi5yZWFkbGluZXMoKQogICAgICAgICAgICAgZm9yIGwgaW4gbGluZXM6Ci0gICAgICAgICAgICAgICAgKHN0YW1wLCBtYW5pZmVzdCwgd29ya2RpcikgPSBsLnNwbGl0KCkKLSAgICAgICAgICAgICAgICBpZiBzdGFtcCBub3QgaW4gc3RhbXBzIGFuZCBzdGFtcCBub3QgaW4gcHJlc2VydmVzdGFtcHMgYW5kIHN0YW1wIGluIG1hY2hpbmVpbmRleDoKLSAgICAgICAgICAgICAgICAgICAgdG9yZW1vdmUuYXBwZW5kKGwpCi0gICAgICAgICAgICAgICAgICAgIGlmIHN0YW1wIG5vdCBpbiBzZWVuOgotICAgICAgICAgICAgICAgICAgICAgICAgYmIuZGVidWcoMiwgIlN0YW1wICVzIGlzIG5vdCByZWFjaGFibGUsIHJlbW92aW5nIHJlbGF0ZWQgbWFuaWZlc3RzIiAlIHN0YW1wKQotICAgICAgICAgICAgICAgICAgICAgICAgc2Vlbi5hcHBlbmQoc3RhbXApCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAoc3RhbXAsIG1hbmlmZXN0LCB3b3JrZGlyKSA9IGwuc3BsaXQoKQorICAgICAgICAgICAgICAgICAgICBpZiBzdGFtcCBub3QgaW4gc3RhbXBzIGFuZCBzdGFtcCBub3QgaW4gcHJlc2VydmVzdGFtcHMgYW5kIHN0YW1wIGluIG1hY2hpbmVpbmRleDoKKyAgICAgICAgICAgICAgICAgICAgICAgIHRvcmVtb3ZlLmFwcGVuZChsKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgc3RhbXAgbm90IGluIHNlZW46CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmIuZGVidWcoMiwgIlN0YW1wICVzIGlzIG5vdCByZWFjaGFibGUsIHJlbW92aW5nIHJlbGF0ZWQgbWFuaWZlc3RzIiAlIHN0YW1wKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlZW4uYXBwZW5kKHN0YW1wKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiSW52YWxpZCBsaW5lICclcycgaW4gc3N0YXRlIG1hbmlmZXN0ICclcyciICUgKGwsIGkpKQogCiAgICAgICAgIGlmIHRvcmVtb3ZlOgogICAgICAgICAgICAgbXNnID0gIlJlbW92aW5nICVkIHJlY2lwZXMgZnJvbSB0aGUgJXMgc3lzcm9vdCIgJSAobGVuKHRvcmVtb3ZlKSwgYSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzcwppbmRleCA4NGUxM2JhLi4wNjJiMjgxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzCkBAIC0xOTgsNiArMTk4LDEwIEBACiAgICAgICAgICAgICBpZiBtYW5pZmVzdC5lbmRzd2l0aCgiLWluaXRpYWwucG9wdWxhdGVfc3lzcm9vdCIpOgogICAgICAgICAgICAgICAgICMgc2tpcCBnbGliYy1pbml0aWFsIGFuZCBsaWJnY2MtaW5pdGlhbCBkdWUgdG8gZmlsZSBvdmVybGFwCiAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGlmIG5vdCBuYXRpdmUgYW5kIChtYW5pZmVzdC5lbmRzd2l0aCgiLW5hdGl2ZS5wb3B1bGF0ZV9zeXNyb290Iikgb3IgIm5hdGl2ZXNkay0iIGluIG1hbmlmZXN0KToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgbmF0aXZlIGFuZCBub3QgKG1hbmlmZXN0LmVuZHN3aXRoKCItbmF0aXZlLnBvcHVsYXRlX3N5c3Jvb3QiKSBvciBtYW5pZmVzdC5lbmRzd2l0aCgiLWNyb3NzLnBvcHVsYXRlX3N5c3Jvb3QiKSBvciAiLWNyb3NzLSIgaW4gbWFuaWZlc3QpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICB0bWFuaWZlc3QgPSB0YXJnZXRkaXIgKyAiLyIgKyBvcy5wYXRoLmJhc2VuYW1lKG1hbmlmZXN0KQogICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHModG1hbmlmZXN0KToKICAgICAgICAgICAgICAgICBjb250aW51ZQpAQCAtNTczLDYgKzU3Nyw3IEBACiB9CiBleHRlbmRfcmVjaXBlX3N5c3Jvb3RbdmFyZGVwc2V4Y2x1ZGVdICs9ICJNQUNISU5FX0FSQ0ggUEFDS0FHRV9FWFRSQV9BUkNIUyBTREtfQVJDSCBCVUlMRF9BUkNIIFNES19PUyBCQl9UQVNLREVQREFUQSIKIAorZG9fcHJlcGFyZV9yZWNpcGVfc3lzcm9vdFtkZXB0YXNrXSA9ICJkb19wb3B1bGF0ZV9zeXNyb290IgogcHl0aG9uIGRvX3ByZXBhcmVfcmVjaXBlX3N5c3Jvb3QgKCkgewogICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygiZXh0ZW5kX3JlY2lwZV9zeXNyb290IiwgZCkKIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3Rlcm1pbmFsLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzCmluZGV4IDczZTc2NWQuLjYwNTlhZTkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3Rlcm1pbmFsLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvdGVybWluYWwuYmJjbGFzcwpAQCAtMTQsNiArMTQsNyBAQAogICAgIHJldHVybiAiICIuam9pbihvLm5hbWUgZm9yIG8gaW4gb2UudGVybWluYWwucHJpb3JpdGl6ZWQoKSkKIAogZGVmIGVtaXRfdGVybWluYWxfZnVuYyhjb21tYW5kLCBlbnZkYXRhLCBkKToKKyAgICBpbXBvcnQgYmIuYnVpbGQKICAgICBjbWRfZnVuYyA9ICdkb190ZXJtaW5hbCcKIAogICAgIGVudmRhdGEuc2V0VmFyKGNtZF9mdW5jLCAnZXhlYyAnICsgY29tbWFuZCkKQEAgLTI1LDggKzI2LDcgQEAKICAgICBiYi51dGlscy5ta2RpcmhpZXIob3MucGF0aC5kaXJuYW1lKHJ1bmZpbGUpKQogCiAgICAgd2l0aCBvcGVuKHJ1bmZpbGUsICd3JykgYXMgc2NyaXB0OgotICAgICAgICBzY3JpcHQud3JpdGUoJyMhL3Vzci9iaW4vZW52ICVzXG4nICUgZC5nZXRWYXIoJ1NIRUxMJykpCi0gICAgICAgIHNjcmlwdC53cml0ZSgnc2V0IC1lXG4nKQorICAgICAgICBzY3JpcHQud3JpdGUoYmIuYnVpbGQuc2hlbGxfdHJhcF9jb2RlKCkpCiAgICAgICAgIGJiLmRhdGEuZW1pdF9mdW5jKGNtZF9mdW5jLCBzY3JpcHQsIGVudmRhdGEpCiAgICAgICAgIHNjcmlwdC53cml0ZShjbWRfZnVuYykKICAgICAgICAgc2NyaXB0LndyaXRlKCJcbiIpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy90ZXN0aW1hZ2UuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3Rlc3RpbWFnZS5iYmNsYXNzCmluZGV4IGNiOGMxMmEuLmZmMWM1M2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3Rlc3RpbWFnZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3Rlc3RpbWFnZS5iYmNsYXNzCkBAIC0zMiw2ICszMiw3IEBACiAjIEJvb3RpbmcgaXMgaGFuZGxlZCBieSB0aGlzIGNsYXNzLCBhbmQgaXQncyBub3QgYSB0ZXN0IGluIGl0c2VsZi4KICMgVEVTVF9RRU1VQk9PVF9USU1FT1VUIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgbWF4aW11bSB0aW1lIGluIHNlY29uZHMgdGhlIGxhdW5jaCBjb2RlIHdpbGwgd2FpdCBmb3IgdGhlIGxvZ2luIHByb21wdC4KICMgVEVTVF9RRU1VUEFSQU1TIGNhbiBiZSB1c2VkIHRvIHBhc3MgZXh0cmEgcGFyYW1ldGVycyB0byBxZW11LCBlLmcuICItbSAxMDI0IiBmb3Igc2V0dGluZyB0aGUgYW1vdW50IG9mIHJhbSB0byAxIEdCLgorIyBURVNUX1JVTlFFTVVQQVJBTVMgY2FuIGJlIHVzZWQgdG8gcGFzcyBleHRyYSBwYXJhbWV0ZXJzIHRvIHJ1bnFlbXUsIGUuZy4gImdsIiB0byBlbmFibGUgT3BlbkdMIGFjY2VsZXJhdGlvbi4KIAogVEVTVF9MT0dfRElSID89ICIke1dPUktESVJ9L3Rlc3RpbWFnZSIKIApAQCAtNjUsNiArNjYsNyBAQAogVEVTVF9RRU1VQk9PVF9USU1FT1VUID89ICIxMDAwIgogVEVTVF9UQVJHRVQgPz0gInFlbXUiCiBURVNUX1FFTVVQQVJBTVMgPz0gIiIKK1RFU1RfUlVOUUVNVVBBUkFNUyA/PSAiIgogCiBURVNUSU1BR0VERVBFTkRTID0gIiIKIFRFU1RJTUFHRURFUEVORFNfYXBwZW5kX3FlbXVhbGwgPSAiIHFlbXUtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QgcWVtdS1oZWxwZXItbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QgcWVtdS1oZWxwZXItbmF0aXZlOmRvX2FkZHRvX3JlY2lwZV9zeXNyb290IgpAQCAtMjk0LDcgKzI5Niw3IEBACiAgICAgdHJ5OgogICAgICAgICAjIFdlIG5lZWQgdG8gY2hlY2sgaWYgcnVucWVtdSBlbmRzIHVuZXhwZWN0ZWRseQogICAgICAgICAjIG9yIGlmIHRoZSB3b3JrZXIgc2VuZCB1cyBhIFNJR1RFUk0KLSAgICAgICAgdGMudGFyZ2V0LnN0YXJ0KHBhcmFtcz1kLmdldFZhcigiVEVTVF9RRU1VUEFSQU1TIikpCisgICAgICAgIHRjLnRhcmdldC5zdGFydChwYXJhbXM9ZC5nZXRWYXIoIlRFU1RfUUVNVVBBUkFNUyIpLCBydW5xZW11cGFyYW1zPWQuZ2V0VmFyKCJURVNUX1JVTlFFTVVQQVJBTVMiKSkKICAgICAgICAgcmVzdWx0cyA9IHRjLnJ1blRlc3RzKCkKICAgICBleGNlcHQgKFJ1bnRpbWVFcnJvciwgQmxvY2tpbmdJT0Vycm9yKSBhcyBlcnI6CiAgICAgICAgIGlmIGlzaW5zdGFuY2UoZXJyLCBSdW50aW1lRXJyb3IpOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvdWJvb3QtZXh0bGludXgtY29uZmlnLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy91Ym9vdC1leHRsaW51eC1jb25maWcuYmJjbGFzcwppbmRleCBjNjVjNDIxLi5iNWIxYTgxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy91Ym9vdC1leHRsaW51eC1jb25maWcuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy91Ym9vdC1leHRsaW51eC1jb25maWcuYmJjbGFzcwpAQCAtMTQ4LDUgKzE0OCw3IEBACiAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIGJiLmZhdGFsKCdVbmFibGUgdG8gb3BlbiAlcycgJSAoY2ZpbGUpKQogfQorVUJPT1RfRVhUTElOVVhfVkFSUyA9ICJDT05TT0xFIE1FTlVfREVTQ1JJUFRJT04gUk9PVCBLRVJORUxfSU1BR0UgRkRURElSIEZEVCBLRVJORUxfQVJHUyBJTklUUkQiCitkb19jcmVhdGVfZXh0bGludXhfY29uZmlnW3ZhcmRlcHNdICs9ICIke0AnICcuam9pbihbJ1VCT09UX0VYVExJTlVYXyVzXyVzJyAlICh2LCBsKSBmb3IgdiBpbiBkLmdldFZhcignVUJPT1RfRVhUTElOVVhfVkFSUycpLnNwbGl0KCkgZm9yIGwgaW4gZC5nZXRWYXIoJ1VCT09UX0VYVExJTlVYX0xBQkVMUycpLnNwbGl0KCldKX0iCiAKIGFkZHRhc2sgY3JlYXRlX2V4dGxpbnV4X2NvbmZpZyBiZWZvcmUgZG9faW5zdGFsbCBkb19kZXBsb3kgYWZ0ZXIgZG9fY29tcGlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvdWJvb3Qtc2lnbi5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvdWJvb3Qtc2lnbi5iYmNsYXNzCmluZGV4IDhlZTkwNGUuLjllM2QxZDYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3Vib290LXNpZ24uYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy91Ym9vdC1zaWduLmJiY2xhc3MKQEAgLTE5LDExICsxOSwxNSBAQAogIyBUaGUgdGFza3Mgc2VxdWVuY2UgaXMgc2V0IGFzIGJlbG93LCB1c2luZyBERVBMT1lfSU1BR0VfRElSIGFzIGNvbW1vbiBwbGFjZSB0bwogIyB0cmVhdCB0aGUgZGV2aWNlIHRyZWUgYmxvYjoKICMKLSMgICB1LWJvb3Q6ZG9fZGVwbG95X2R0YgotIyAgIHUtYm9vdDpkb19kZXBsb3kKLSMgICB2aXJ0dWFsL2tlcm5lbDpkb19hc3NlbWJsZV9maXRpbWFnZQotIyAgIHUtYm9vdDpkb19jb25jYXRfZHRiCi0jICAgdS1ib290OmRvX2luc3RhbGwKKyMgKiB1LWJvb3Q6ZG9faW5zdGFsbF9hcHBlbmQKKyMgICBJbnN0YWxsIFVCT09UX0RUQl9CSU5BUlkgdG8gZGF0YWRpciwgc28gdGhhdCBrZXJuZWwgY2FuIHVzZSBpdCBmb3IKKyMgICBzaWduaW5nLCBhbmQga2VybmVsIHdpbGwgZGVwbG95IFVCT09UX0RUQl9CSU5BUlkgYWZ0ZXIgc2lnbnMgaXQuCisjCisjICogdmlydHVhbC9rZXJuZWw6ZG9fYXNzZW1ibGVfZml0aW1hZ2UKKyMgICBTaWduIHRoZSBpbWFnZQorIworIyAqIHUtYm9vdDpkb19kZXBsb3lbcG9zdGZ1bmNzXQorIyAgIERlcGxveSBmaWxlcyBsaWtlIFVCT09UX0RUQl9JTUFHRSwgVUJPT1RfRFRCX1NZTUxJTksgYW5kIG90aGVycy4KICMKICMgRm9yIG1vcmUgZGV0YWlscyBvbiBzaWduYXR1cmUgcHJvY2VzcywgcGxlYXNlIHJlZmVyIHRvIFUtQm9vdCBkb2N1bWVudGF0aW9uLgogCkBAIC0zOCw1OCArNDIsNjUgQEAKIFVCT09UX05PRFRCX0JJTkFSWSA/PSAidS1ib290LW5vZHRiLiR7VUJPT1RfU1VGRklYfSIKIFVCT09UX05PRFRCX1NZTUxJTksgPz0gInUtYm9vdC1ub2R0Yi0ke01BQ0hJTkV9LiR7VUJPT1RfU1VGRklYfSIKIAotIwotIyBGb2xsb3dpbmcgaXMgcmVsZXZhbnQgb25seSBmb3IgdS1ib290IHJlY2lwZXM6Ci0jCisjIEZ1bmN0aW9ucyBpbiB0aGlzIGJiY2xhc3MgaXMgZm9yIHUtYm9vdCBvbmx5CitVQk9PVF9QTiA9ICIke0BkLmdldFZhcignUFJFRkVSUkVEX1BST1ZJREVSX3UtYm9vdCcpIG9yICd1LWJvb3QnfSIKIAotZG9fZGVwbG95X2R0YiAoKSB7Ci0JbWtkaXIgLXAgJHtERVBMT1lESVJ9Ci0JY2QgJHtERVBMT1lESVJ9Citjb25jYXRfZHRiKCkgeworCWlmIFsgIiR7VUJPT1RfU0lHTl9FTkFCTEV9IiA9ICIxIiAtYSAiJHtQTn0iID0gIiR7VUJPT1RfUE59IiBdOyB0aGVuCisJCW1rZGlyIC1wICR7REVQTE9ZRElSfQorCQlpZiBbIC1lICR7Qn0vJHtVQk9PVF9EVEJfQklOQVJZfSBdOyB0aGVuCisJCQlsbiAtc2YgJHtVQk9PVF9EVEJfSU1BR0V9ICR7REVQTE9ZRElSfS8ke1VCT09UX0RUQl9CSU5BUll9CisJCQlsbiAtc2YgJHtVQk9PVF9EVEJfSU1BR0V9ICR7REVQTE9ZRElSfS8ke1VCT09UX0RUQl9TWU1MSU5LfQorCQlmaQogCi0JaWYgWyAtZiAke0J9LyR7VUJPT1RfRFRCX0JJTkFSWX0gXTsgdGhlbgotCQlpbnN0YWxsICR7Qn0vJHtVQk9PVF9EVEJfQklOQVJZfSAke0RFUExPWURJUn0vJHtVQk9PVF9EVEJfSU1BR0V9Ci0JCXJtIC1mICR7VUJPT1RfRFRCX0JJTkFSWX0gJHtVQk9PVF9EVEJfU1lNTElOS30KLQkJbG4gLXNmICR7VUJPT1RfRFRCX0lNQUdFfSAke1VCT09UX0RUQl9TWU1MSU5LfQotCQlsbiAtc2YgJHtVQk9PVF9EVEJfSU1BR0V9ICR7VUJPT1RfRFRCX0JJTkFSWX0KLQlmaQotCWlmIFsgLWYgJHtCfS8ke1VCT09UX05PRFRCX0JJTkFSWX0gXTsgdGhlbgotCQlpbnN0YWxsICR7Qn0vJHtVQk9PVF9OT0RUQl9CSU5BUll9ICR7REVQTE9ZRElSfS8ke1VCT09UX05PRFRCX0lNQUdFfQotCQlybSAtZiAke1VCT09UX05PRFRCX0JJTkFSWX0gJHtVQk9PVF9OT0RUQl9TWU1MSU5LfQotCQlsbiAtc2YgJHtVQk9PVF9OT0RUQl9JTUFHRX0gJHtVQk9PVF9OT0RUQl9TWU1MSU5LfQotCQlsbiAtc2YgJHtVQk9PVF9OT0RUQl9JTUFHRX0gJHtVQk9PVF9OT0RUQl9CSU5BUll9Ci0JZmkKLX0KKwkJaWYgWyAtZiAke0J9LyR7VUJPT1RfTk9EVEJfQklOQVJZfSBdOyB0aGVuCisgICAgICAgICAgICBpbnN0YWxsICR7Qn0vJHtVQk9PVF9OT0RUQl9CSU5BUll9ICR7REVQTE9ZRElSfS8ke1VCT09UX05PRFRCX0lNQUdFfQorICAgICAgICAgICAgbG4gLXNmICR7VUJPT1RfTk9EVEJfSU1BR0V9ICR7VUJPT1RfTk9EVEJfU1lNTElOS30KKyAgICAgICAgICAgIGxuIC1zZiAke1VCT09UX05PRFRCX0lNQUdFfSAke1VCT09UX05PRFRCX0JJTkFSWX0KKwkJZmkKIAotZG9fY29uY2F0X2R0YiAoKSB7Ci0JIyBDb25jYXRlbmF0ZSBVLUJvb3Qgdy9vIERUQiAmIERUQiB3aXRoIHB1YmxpYyBrZXkKLQkjIChjZi4ga2VybmVsLWZpdGltYWdlLmJiY2xhc3MgZm9yIG1vcmUgZGV0YWlscykKLQlpZiBbICJ4JHtVQk9PVF9TSUdOX0VOQUJMRX0iID0gIngxIiBdOyB0aGVuCisJCSMgQ29uY2F0ZW5hdGUgVS1Cb290IHcvbyBEVEIgJiBEVEIgd2l0aCBwdWJsaWMga2V5CisJCSMgKGNmLiBrZXJuZWwtZml0aW1hZ2UuYmJjbGFzcyBmb3IgbW9yZSBkZXRhaWxzKQorCQlkZXBsb3llZF91Ym9vdF9kdGJfYmluYXJ5PScke0RFUExPWV9ESVJfSU1BR0V9LyR7VUJPT1RfRFRCX0lNQUdFfScKIAkJaWYgWyAieCR7VUJPT1RfU1VGRklYfSIgPSAieGltZyIgLW8gIngke1VCT09UX1NVRkZJWH0iID0gInhyb20iIF0gJiYgXAotCQkJWyAtZSAiJHtERVBMT1lESVJ9LyR7VUJPT1RfRFRCX0lNQUdFfSIgXTsgdGhlbgorCQkJWyAtZSAiJGRlcGxveWVkX3Vib290X2R0Yl9iaW5hcnkiIF07IHRoZW4KIAkJCWNkICR7Qn0KLQkJCW9lX3J1bm1ha2UgRVhUX0RUQj0ke0RFUExPWURJUn0vJHtVQk9PVF9EVEJfSU1BR0V9CisJCQlvZV9ydW5tYWtlIEVYVF9EVEI9JGRlcGxveWVkX3Vib290X2R0Yl9iaW5hcnkKIAkJCWluc3RhbGwgJHtCfS8ke1VCT09UX0JJTkFSWX0gJHtERVBMT1lESVJ9LyR7VUJPT1RfSU1BR0V9Ci0JCQlpbnN0YWxsICR7Qn0vJHtVQk9PVF9CSU5BUll9ICR7REVQTE9ZX0RJUl9JTUFHRX0vJHtVQk9PVF9JTUFHRX0KLQkJZWxpZiBbIC1lICIke0RFUExPWURJUn0vJHtVQk9PVF9OT0RUQl9JTUFHRX0iIC1hIC1lICIke0RFUExPWURJUn0vJHtVQk9PVF9EVEJfSU1BR0V9IiBdOyB0aGVuCisJCWVsaWYgWyAtZSAiJHtERVBMT1lESVJ9LyR7VUJPT1RfTk9EVEJfSU1BR0V9IiAtYSAtZSAiJGRlcGxveWVkX3Vib290X2R0Yl9iaW5hcnkiIF07IHRoZW4KIAkJCWNkICR7REVQTE9ZRElSfQotCQkJY2F0ICR7VUJPT1RfTk9EVEJfSU1BR0V9ICR7VUJPT1RfRFRCX0lNQUdFfSB8IHRlZSAke0J9LyR7VUJPT1RfQklOQVJZfSA+ICR7VUJPT1RfSU1BR0V9Ci0JCWVsc2UKKwkJCWNhdCAke1VCT09UX05PRFRCX0lNQUdFfSAkZGVwbG95ZWRfdWJvb3RfZHRiX2JpbmFyeSB8IHRlZSAke0J9LyR7VUJPT1RfQklOQVJZfSA+ICR7VUJPT1RfSU1BR0V9CisJCWVsaWYgWyAtbiAiJHtVQk9PVF9EVEJfQklOQVJZfSIgXTsgdGhlbgogCQkJYmJ3YXJuICJGYWlsdXJlIHdoaWxlIGFkZGluZyBwdWJsaWMga2V5IHRvIHUtYm9vdCBiaW5hcnkuIFZlcmlmaWVkIGJvb3Qgd29uJ3QgYmUgYXZhaWxhYmxlLiIKIAkJZmkKIAlmaQogfQogCisjIEluc3RhbGwgVUJPT1RfRFRCX0JJTkFSWSB0byBkYXRhZGlyLCBzbyB0aGF0IGtlcm5lbCBjYW4gdXNlIGl0IGZvcgorIyBzaWduaW5nLCBhbmQga2VybmVsIHdpbGwgZGVwbG95IFVCT09UX0RUQl9CSU5BUlkgYWZ0ZXIgc2lnbnMgaXQuCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwlpZiBbICIke1VCT09UX1NJR05fRU5BQkxFfSIgPSAiMSIgLWEgIiR7UE59IiA9ICIke1VCT09UX1BOfSIgXTsgdGhlbgorCQlpZiBbIC1mICR7Qn0vJHtVQk9PVF9EVEJfQklOQVJZfSBdOyB0aGVuCisJCQlpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9CisJCQkjIFVCT09UX0RUQl9CSU5BUlkgaXMgYSBzeW1saW5rIHRvIFVCT09UX0RUQl9JTUFHRSwgc28gd2UKKwkJCSMgbmVlZCBib3RoIG9mIHRoZW0uCisJCQlpbnN0YWxsICR7Qn0vJHtVQk9PVF9EVEJfQklOQVJZfSAke0R9JHtkYXRhZGlyfS8ke1VCT09UX0RUQl9JTUFHRX0KKwkJCWxuIC1zZiAke1VCT09UX0RUQl9JTUFHRX0gJHtEfSR7ZGF0YWRpcn0vJHtVQk9PVF9EVEJfQklOQVJZfQorCQllbGlmIFsgLW4gIiR7VUJPT1RfRFRCX0JJTkFSWX0iIF07IHRoZW4KKwkJCWJid2FybiAiJHtCfS8ke1VCT09UX0RUQl9CSU5BUll9IG5vdCBmb3VuZCIKKwkJZmkKKwlmaQorfQorCiBweXRob24gKCkgewotCXVib290X3BuID0gZC5nZXRWYXIoJ1BSRUZFUlJFRF9QUk9WSURFUl91LWJvb3QnKSBvciAndS1ib290JwotCWlmIGQuZ2V0VmFyKCdVQk9PVF9TSUdOX0VOQUJMRScpID09ICcxJyBhbmQgZC5nZXRWYXIoJ1BOJykgPT0gdWJvb3RfcG46Ci0JCWtlcm5lbF9wbiA9IGQuZ2V0VmFyKCdQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwnKQorICAgIGlmIGQuZ2V0VmFyKCdVQk9PVF9TSUdOX0VOQUJMRScpID09ICcxJyBhbmQgZC5nZXRWYXIoJ1BOJykgPT0gZC5nZXRWYXIoJ1VCT09UX1BOJyk6CisgICAgICAgIGtlcm5lbF9wbiA9IGQuZ2V0VmFyKCdQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwnKQogCi0JCSMgdS1ib290LmR0YiBhbmQgdS1ib290LW5vZHRiLmJpbiBhcmUgZGVwbG95ZWQgX2JlZm9yZV8gZG9fZGVwbG95Ci0JCSMgVGh1cywgZG9fZGVwbG95X3NldHNjZW5lIHdpbGwgYWxzbyBwb3B1bGF0ZSB0aGVtIGluIERFUExPWV9JTUFHRV9ESVIKLQkJYmIuYnVpbGQuYWRkdGFzaygnZG9fZGVwbG95X2R0YicsICdkb19kZXBsb3knLCAnZG9fY29tcGlsZScsIGQpCisgICAgICAgICMgTWFrZSAiYml0YmFrZSB1LWJvb3QgLWNkZXBsb3kiIGRlcGxveXMgdGhlIHNpZ25lZCB1LWJvb3QuZHRiCisgICAgICAgIGQuYXBwZW5kVmFyRmxhZygnZG9fZGVwbG95JywgJ2RlcGVuZHMnLCAnICVzOmRvX2RlcGxveScgJSBrZXJuZWxfcG4pCiAKLQkJIyBkb19jb25jYXRfZHRiIGlzIHNjaGVkdWxlZCBfYmVmb3JlXyBkb19pbnN0YWxsIGFzIGl0IG92ZXJ3cml0ZSB0aGUKLQkJIyB1LWJvb3QuYmluIGluIGJvdGggREVQTE9ZRElSIGFuZCBERVBMT1lfSU1BR0VfRElSLgotCQliYi5idWlsZC5hZGR0YXNrKCdkb19jb25jYXRfZHRiJywgJ2RvX2luc3RhbGwnLCBOb25lLCBkKQotCQlkLmFwcGVuZFZhckZsYWcoJ2RvX2NvbmNhdF9kdGInLCAnZGVwZW5kcycsICcgJXM6ZG9fYXNzZW1ibGVfZml0aW1hZ2UnICUga2VybmVsX3BuKQorICAgICAgICAjIGtlcm5lcmwncyBkb19kZXBsb3kgaXMgYSBsaXRsZSBzcGVjaWFsLCBzbyB3ZSBjYW4ndCB1c2UKKyAgICAgICAgIyBkb19kZXBsb3lfYXBwZW5kLCBvdGhlcndpc2UgaXQgd291bGQgb3ZlcnJpZGUKKyAgICAgICAgIyBrZXJuZWxfZG9fZGVwbG95LgorICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX2RlcGxveScsICdwcmVmdW5jcycsICcgY29uY2F0X2R0YicpCiB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy91cGRhdGUtYWx0ZXJuYXRpdmVzLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy91cGRhdGUtYWx0ZXJuYXRpdmVzLmJiY2xhc3MKaW5kZXggYTdmMWE2Zi4uNTM3ZTg1ZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvdXBkYXRlLWFsdGVybmF0aXZlcy5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3VwZGF0ZS1hbHRlcm5hdGl2ZXMuYmJjbGFzcwpAQCAtODksMTUgKzg5LDIxIEBACiAgICAgaWYgbm90ICd2aXJ0dWFsL3VwZGF0ZS1hbHRlcm5hdGl2ZXMnIGluIGQuZ2V0VmFyKCdQUk9WSURFUycpOgogICAgICAgICBkLmFwcGVuZFZhcignREVQRU5EUycsICcgdmlydHVhbC8ke01MUFJFRklYfXVwZGF0ZS1hbHRlcm5hdGl2ZXMnKQogCi1weXRob24gX19hbm9ueW1vdXMoKSB7CitkZWYgdXBkYXRlX2FsdGVybmF0aXZlc19lbmFibGVkKGQpOgogICAgICMgVXBkYXRlIEFsdGVybmF0aXZlcyBvbmx5IHdvcmtzIG9uIHRhcmdldCBwYWNrYWdlcy4uLgogICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZScsIGQpIG9yIFwKICAgICAgICBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zcycsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3Nzc2RrJywgZCkgb3IgXAogICAgICAgIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3NzLWNhbmFkaWFuJywgZCk6Ci0gICAgICAgIHJldHVybgorICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgICMgRGlzYWJsZSB3aGVuIHRhcmdldGluZyBtaW5ndzMyIChubyB0YXJnZXQgc3VwcG9ydCkKICAgICBpZiBkLmdldFZhcigiVEFSR0VUX09TIikgPT0gIm1pbmd3MzIiOgorICAgICAgICByZXR1cm4gRmFsc2UKKworICAgIHJldHVybiBUcnVlCisKK3B5dGhvbiBfX2Fub255bW91cygpIHsKKyAgICBpZiBub3QgdXBkYXRlX2FsdGVybmF0aXZlc19lbmFibGVkKGQpOgogICAgICAgICByZXR1cm4KIAogICAgICMgY29tcHV0ZSBzcGVjaWFsIHZhcmRlcHMKQEAgLTEyNSw5ICsxMzEsMjEgQEAKIHBvcHVsYXRlX3BhY2thZ2VzW3ZhcmRlcHNdICs9ICIke1VQREFMVFZBUlN9ICR7QGdlbl91cGRhdGVhbHRlcm5hdGl2ZXN2YXJzKGQpfSIKIAogIyBXZSBuZWVkIHRvIGRvIHRoZSByZW5hbWUgYWZ0ZXIgdGhlIGltYWdlIGNyZWF0aW9uIHN0ZXAsIGJ1dCBiZWZvcmUKLSMgdGhlIHNwbGl0IGFuZCBzdHJpcCBzdGVwcy4uICBwYWNrYWdlY29weSBzZWVtcyB0byBiZSB0aGUgZWFybGllc3QgcmVhc29uYWJsZQotIyBwbGFjZS4KLXB5dGhvbiBwZXJmb3JtX3BhY2thZ2Vjb3B5X2FwcGVuZCAoKSB7CisjIHRoZSBzcGxpdCBhbmQgc3RyaXAgc3RlcHMuLiAgUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTIGlzIHRoZSByaWdodAorIyBwbGFjZSBmb3IgdGhhdC4KK1BBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAiYXBwbHlfdXBkYXRlX2FsdGVybmF0aXZlX3JlbmFtZXMiCitweXRob24gYXBwbHlfdXBkYXRlX2FsdGVybmF0aXZlX3JlbmFtZXMgKCkgeworICAgIGlmIG5vdCB1cGRhdGVfYWx0ZXJuYXRpdmVzX2VuYWJsZWQoZCk6CisgICAgICAgcmV0dXJuCisKKyAgICBpbXBvcnQgcmUKKworICAgIGRlZiB1cGRhdGVfZmlsZXMoYWx0X3RhcmdldCwgYWx0X3RhcmdldF9yZW5hbWUsIHBrZywgZCk6CisgICAgICAgIGYgPSBkLmdldFZhcignRklMRVNfJyArIHBrZykKKyAgICAgICAgaWYgZjoKKyAgICAgICAgICAgIGYgPSByZS5zdWIocicoXnxccyklcyhcc3wkKScgJSByZS5lc2NhcGUgKGFsdF90YXJnZXQpLCByJ1wxJXNcMicgJSBhbHRfdGFyZ2V0X3JlbmFtZSwgZikKKyAgICAgICAgICAgIGQuc2V0VmFyKCdGSUxFU18nICsgcGtnLCBmKQorCiAgICAgIyBDaGVjayBmb3IgZGVwcmVjYXRlZCB1c2FnZS4uLgogICAgIHBuID0gZC5nZXRWYXIoJ0JQTicpCiAgICAgaWYgZC5nZXRWYXIoJ0FMVEVSTkFUSVZFX0xJTktTJykgIT0gTm9uZToKQEAgLTEzNyw3ICsxNTUsNyBAQAogICAgIHBrZ2Rlc3QgPSBkLmdldFZhcignUEtHRCcpCiAgICAgZm9yIHBrZyBpbiAoZC5nZXRWYXIoJ1BBQ0tBR0VTJykgb3IgIiIpLnNwbGl0KCk6CiAgICAgICAgICMgSWYgdGhlIHNyYyA9PSBkZXN0LCB3ZSBrbm93IHdlIG5lZWQgdG8gcmVuYW1lIHRoZSBkZXN0IGJ5IGFwcGVuZGluZyAke0JQTn0KLSAgICAgICAgbGlua19yZW5hbWUgPSB7fQorICAgICAgICBsaW5rX3JlbmFtZSA9IFtdCiAgICAgICAgIGZvciBhbHRfbmFtZSBpbiAoZC5nZXRWYXIoJ0FMVEVSTkFUSVZFXyVzJyAlIHBrZykgb3IgIiIpLnNwbGl0KCk6CiAgICAgICAgICAgICBhbHRfbGluayAgICAgPSBkLmdldFZhckZsYWcoJ0FMVEVSTkFUSVZFX0xJTktfTkFNRScsIGFsdF9uYW1lKQogICAgICAgICAgICAgaWYgbm90IGFsdF9saW5rOgpAQCAtMTYzLDEwICsxODEsMTEgQEAKICAgICAgICAgICAgICAgICBlbGlmIG9zLnBhdGgubGV4aXN0cyhzcmMpOgogICAgICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmlzbGluayhzcmMpOgogICAgICAgICAgICAgICAgICAgICAgICAgIyBEZWxheSByZW5hbWUgb2YgbGlua3MKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtfcmVuYW1lW2FsdF90YXJnZXRdID0gYWx0X3RhcmdldF9yZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtfcmVuYW1lLmFwcGVuZCgoYWx0X3RhcmdldCwgYWx0X3RhcmdldF9yZW5hbWUpKQogICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgYmIubm90ZSgnJXM6IFJlbmFtZSAlcyAtPiAlcycgJSAocG4sIGFsdF90YXJnZXQsIGFsdF90YXJnZXRfcmVuYW1lKSkKICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnJlbmFtZShzcmMsIGRlc3QpCisgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVfZmlsZXMoYWx0X3RhcmdldCwgYWx0X3RhcmdldF9yZW5hbWUsIHBrZywgZCkKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBiYi53YXJuKCIlczogYWx0ZXJuYXRpdmUgdGFyZ2V0ICglcyBvciAlcykgZG9lcyBub3QgZXhpc3QsIHNraXBwaW5nLi4uIiAlIChwbiwgYWx0X3RhcmdldCwgYWx0X3RhcmdldF9yZW5hbWUpKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQpAQCAtMTc0LDMxICsxOTMsMzUgQEAKIAogICAgICAgICAjIFByb2Nlc3MgZGVsYXllZCBsaW5rIG5hbWVzCiAgICAgICAgICMgRG8gdGhlc2UgYWZ0ZXIgb3RoZXIgcmVuYW1lcyBzbyB3ZSBjYW4gY29ycmVjdCBicm9rZW4gbGlua3MKLSAgICAgICAgZm9yIGFsdF90YXJnZXQgaW4gbGlua19yZW5hbWU6CisgICAgICAgIGZvciAoYWx0X3RhcmdldCwgYWx0X3RhcmdldF9yZW5hbWUpIGluIGxpbmtfcmVuYW1lOgogICAgICAgICAgICAgc3JjID0gJyVzLyVzJyAlIChwa2dkZXN0LCBhbHRfdGFyZ2V0KQotICAgICAgICAgICAgZGVzdCA9ICclcy8lcycgJSAocGtnZGVzdCwgbGlua19yZW5hbWVbYWx0X3RhcmdldF0pCi0gICAgICAgICAgICBsaW5rID0gb3MucmVhZGxpbmsoc3JjKQorICAgICAgICAgICAgZGVzdCA9ICclcy8lcycgJSAocGtnZGVzdCwgYWx0X3RhcmdldF9yZW5hbWUpCiAgICAgICAgICAgICBsaW5rX3RhcmdldCA9IG9lLnBhdGgucmVhbHBhdGgoc3JjLCBwa2dkZXN0LCBUcnVlKQogCiAgICAgICAgICAgICBpZiBvcy5wYXRoLmxleGlzdHMobGlua190YXJnZXQpOgogICAgICAgICAgICAgICAgICMgT2ssIHRoZSBsaW5rX3RhcmdldCBleGlzdHMsIHdlIGNhbiByZW5hbWUKLSAgICAgICAgICAgICAgICBiYi5ub3RlKCclczogUmVuYW1lIChsaW5rKSAlcyAtPiAlcycgJSAocG4sIGFsdF90YXJnZXQsIGxpbmtfcmVuYW1lW2FsdF90YXJnZXRdKSkKKyAgICAgICAgICAgICAgICBiYi5ub3RlKCclczogUmVuYW1lIChsaW5rKSAlcyAtPiAlcycgJSAocG4sIGFsdF90YXJnZXQsIGFsdF90YXJnZXRfcmVuYW1lKSkKICAgICAgICAgICAgICAgICBvcy5yZW5hbWUoc3JjLCBkZXN0KQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAjIFRyeSB0byByZXNvbHZlIHRoZSBicm9rZW4gbGluayB0byBsaW5rLiR7QlBOfQogICAgICAgICAgICAgICAgIGxpbmtfbWF5YmUgPSAnJXMuJXMnICUgKG9zLnJlYWRsaW5rKHNyYyksIHBuKQogICAgICAgICAgICAgICAgIGlmIG9zLnBhdGgubGV4aXN0cyhvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKHNyYyksIGxpbmtfbWF5YmUpKToKICAgICAgICAgICAgICAgICAgICAgIyBPaywgdGhlIHJlbmFtZWQgbGluayB0YXJnZXQgZXhpc3RzLi4gY3JlYXRlIGEgbmV3IGxpbmssIGFuZCByZW1vdmUgdGhlIG9yaWdpbmFsCi0gICAgICAgICAgICAgICAgICAgIGJiLm5vdGUoJyVzOiBDcmVhdGluZyBuZXcgbGluayAlcyAtPiAlcycgJSAocG4sIGxpbmtfcmVuYW1lW2FsdF90YXJnZXRdLCBsaW5rX21heWJlKSkKKyAgICAgICAgICAgICAgICAgICAgYmIubm90ZSgnJXM6IENyZWF0aW5nIG5ldyBsaW5rICVzIC0+ICVzJyAlIChwbiwgYWx0X3RhcmdldF9yZW5hbWUsIGxpbmtfbWF5YmUpKQogICAgICAgICAgICAgICAgICAgICBvcy5zeW1saW5rKGxpbmtfbWF5YmUsIGRlc3QpCiAgICAgICAgICAgICAgICAgICAgIG9zLnVubGluayhzcmMpCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgYmIud2FybignJXM6IFVuYWJsZSB0byByZXNvbHZlIGRhbmdsaW5nIHN5bWxpbms6ICVzJyAlIChwbiwgYWx0X3RhcmdldCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICB1cGRhdGVfZmlsZXMoYWx0X3RhcmdldCwgYWx0X3RhcmdldF9yZW5hbWUsIHBrZywgZCkKIH0KIAogUEFDS0FHRVNQTElURlVOQ1NfcHJlcGVuZCA9ICJwb3B1bGF0ZV9wYWNrYWdlc191cGRhdGVhbHRlcm5hdGl2ZXMgIgogCiBweXRob24gcG9wdWxhdGVfcGFja2FnZXNfdXBkYXRlYWx0ZXJuYXRpdmVzICgpIHsKKyAgICBpZiBub3QgdXBkYXRlX2FsdGVybmF0aXZlc19lbmFibGVkKGQpOgorICAgICAgICByZXR1cm4KKwogICAgIHBuID0gZC5nZXRWYXIoJ0JQTicpCiAKICAgICAjIERvIGFjdHVhbCB1cGRhdGUgYWx0ZXJuYXRpdmVzIHByb2Nlc3NpbmcKQEAgLTI1MiwxMCArMjc1LDE1IEBACiB9CiAKIHB5dGhvbiBwYWNrYWdlX2RvX2ZpbGVkZXBzX2FwcGVuZCAoKSB7CisgICAgaWYgdXBkYXRlX2FsdGVybmF0aXZlc19lbmFibGVkKGQpOgorICAgICAgICBhcHBseV91cGRhdGVfYWx0ZXJuYXRpdmVfcHJvdmlkZXMoZCkKK30KKworZGVmIGFwcGx5X3VwZGF0ZV9hbHRlcm5hdGl2ZV9wcm92aWRlcyhkKToKICAgICBwbiA9IGQuZ2V0VmFyKCdCUE4nKQogICAgIHBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcpCiAKLSAgICBmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CisgICAgZm9yIHBrZyBpbiBkLmdldFZhcignUEFDS0FHRVMnKS5zcGxpdCgpOgogICAgICAgICBmb3IgYWx0X25hbWUgaW4gKGQuZ2V0VmFyKCdBTFRFUk5BVElWRV8lcycgJSBwa2cpIG9yICIiKS5zcGxpdCgpOgogICAgICAgICAgICAgYWx0X2xpbmsgICAgID0gZC5nZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9MSU5LX05BTUUnLCBhbHRfbmFtZSkKICAgICAgICAgICAgIGFsdF90YXJnZXQgICA9IGQuZ2V0VmFyRmxhZygnQUxURVJOQVRJVkVfVEFSR0VUXyVzJyAlIHBrZywgYWx0X25hbWUpIG9yIGQuZ2V0VmFyRmxhZygnQUxURVJOQVRJVkVfVEFSR0VUJywgYWx0X25hbWUpCkBAIC0yNzMsNSArMzAxLDQgQEAKICAgICAgICAgICAgIGQuYXBwZW5kVmFyKCdGSUxFUlBST1ZJREVTXyVzXyVzJyAlICh0cmFuc190YXJnZXQsIHBrZyksICIgIiArIGFsdF9saW5rKQogICAgICAgICAgICAgaWYgbm90IHRyYW5zX3RhcmdldCBpbiAoZC5nZXRWYXIoJ0ZJTEVSUFJPVklERVNGTElTVF8lcycgJSBwa2cpIG9yICIiKToKICAgICAgICAgICAgICAgICBkLmFwcGVuZFZhcignRklMRVJQUk9WSURFU0ZMSVNUXyVzJyAlIHBrZywgIiAiICsgdHJhbnNfdGFyZ2V0KQotfQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy91dGlscy5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvdXRpbHMuYmJjbGFzcwppbmRleCAwMDE2ZTVjLi5jZDNkMDU3IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy91dGlscy5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3V0aWxzLmJiY2xhc3MKQEAgLTI2NCw3ICsyNjQsNyBAQAogcmVhbHBhdGg9XGByZWFkbGluayAtZm4gXCQwXGAKIHJlYWxkaXI9XGBkaXJuYW1lIFwkcmVhbHBhdGhcYAogZXhwb3J0ICRleHBvcnRzdHJpbmcKLWV4ZWMgLWEgXGBkaXJuYW1lIFwkcmVhbHBhdGhcYC8kY21kbmFtZSBcYGRpcm5hbWUgXCRyZWFscGF0aFxgLyRjbWRuYW1lLnJlYWwgIlwkQCIKK2V4ZWMgLWEgIlwkMCIgXCRyZWFsZGlyLyRjbWRuYW1lLnJlYWwgIlwkQCIKIEVORAogCWNobW9kICt4ICRjbWQKIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3dhZi5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvd2FmLmJiY2xhc3MKaW5kZXggMTllOTM3Ni4uOGU2ZDc1NCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvd2FmLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvd2FmLmJiY2xhc3MKQEAgLTEsNiArMSw4IEBACiAjIGF2b2lkcyBidWlsZCBicmVha3Mgd2hlbiB1c2luZyBuby1zdGF0aWMtbGlicy5pbmMKIERJU0FCTEVfU1RBVElDID0gIiIKIAorQiA9ICIke1dPUktESVJ9L2J1aWxkIgorCiBFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAke1BBQ0tBR0VDT05GSUdfQ09ORkFSR1N9IgogCiBweXRob24gd2FmX3ByZWNvbmZpZ3VyZSgpIHsKQEAgLTIyLDE2ICsyNCwxNiBAQAogZG9fY29uZmlndXJlW3ByZWZ1bmNzXSArPSAid2FmX3ByZWNvbmZpZ3VyZSIKIAogd2FmX2RvX2NvbmZpZ3VyZSgpIHsKLQkke1N9L3dhZiBjb25maWd1cmUgLS1wcmVmaXg9JHtwcmVmaXh9ICR7V0FGX0VYVFJBX0NPTkZ9ICR7RVhUUkFfT0VDT05GfQorCShjZCAke1N9ICYmIC4vd2FmIGNvbmZpZ3VyZSAtbyAke0J9IC0tcHJlZml4PSR7cHJlZml4fSAke1dBRl9FWFRSQV9DT05GfSAke0VYVFJBX09FQ09ORn0pCiB9CiAKIGRvX2NvbXBpbGVbcHJvZ3Jlc3NdID0gIm91dG9mOl5cW1xzKihcZCspL1xzKihcZCspXF1ccysiCiB3YWZfZG9fY29tcGlsZSgpICB7Ci0JJHtTfS93YWYgYnVpbGQgJHtAb2UudXRpbHMucGFyYWxsZWxfbWFrZV9hcmd1bWVudChkLCAnLWolZCcsIGxpbWl0PTY0KX0KKwkoY2QgJHtTfSAmJiAuL3dhZiBidWlsZCAke0BvZS51dGlscy5wYXJhbGxlbF9tYWtlX2FyZ3VtZW50KGQsICctaiVkJywgbGltaXQ9NjQpfSkKIH0KIAogd2FmX2RvX2luc3RhbGwoKSB7Ci0JJHtTfS93YWYgaW5zdGFsbCAtLWRlc3RkaXI9JHtEfQorCShjZCAke1N9ICYmIC4vd2FmIGluc3RhbGwgLS1kZXN0ZGlyPSR7RH0pCiB9CiAKIEVYUE9SVF9GVU5DVElPTlMgZG9fY29uZmlndXJlIGRvX2NvbXBpbGUgZG9faW5zdGFsbApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMveG1sY2F0YWxvZy5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMveG1sY2F0YWxvZy5iYmNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3NWFlZjgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvY2xhc3Nlcy94bWxjYXRhbG9nLmJiY2xhc3MKQEAgLTAsMCArMSwyNCBAQAorIyBBIHdoaXRlc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgWE1MIGNhdGFsb2dzIHRvIGJlIHJlZ2lzdGVyZWQsIGZvciBleGFtcGxlCisjICIke3N5c2NvbmZkaXJ9L3htbC9kb2Nib29rLXhtbC54bWwiLgorWE1MQ0FUQUxPR1MgPz0gIiIKKworU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTX2FwcGVuZCA9ICIgeG1sY2F0YWxvZ19zc3RhdGVfcG9zdGluc3QiCisKK3htbGNhdGFsb2dfY29tcGxldGUoKSB7CisJUk9PVENBVEFMT0c9IiR7U1RBR0lOR19FVENESVJfTkFUSVZFfS94bWwvY2F0YWxvZyIKKwlpZiBbICEgLWYgJFJPT1RDQVRBTE9HIF07IHRoZW4KKwkJbWtkaXIgLS1wYXJlbnRzICQoZGlybmFtZSAkUk9PVENBVEFMT0cpCisJCXhtbGNhdGFsb2cgLS1ub291dCAtLWNyZWF0ZSAkUk9PVENBVEFMT0cKKwlmaQorCWZvciBDQVRBTE9HIGluICR7WE1MQ0FUQUxPR1N9OyBkbworCQl4bWxjYXRhbG9nIC0tbm9vdXQgLS1hZGQgbmV4dENhdGFsb2cgdW51c2VkIGZpbGU6Ly8kQ0FUQUxPRyAkUk9PVENBVEFMT0cKKwlkb25lCit9CisKK3htbGNhdGFsb2dfc3N0YXRlX3Bvc3RpbnN0KCkgeworCW1rZGlyIC1wICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyfQorCWRlc3Q9JHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJ9L3Bvc3RpbnN0LSR7UE59LXhtbGNhdGFsb2cKKwllY2hvICcjIS9iaW4vc2gnID4gJGRlc3QKKwllY2hvICcke3htbGNhdGFsb2dfY29tcGxldGV9JyA+PiAkZGVzdAorCWNobW9kIDA3NTUgJGRlc3QKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZiBiL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZgppbmRleCBkY2YyMDA3Li43ZjhiMDQzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYKKysrIGIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mCkBAIC0xMjMsNyArMTIzLDcgQEAKIFRVTkVfRkVBVFVSRVMgPz89ICIke1RVTkVfRkVBVFVSRVNfdHVuZS0ke0RFRkFVTFRUVU5FfX0iCiBMSUJDRVhURU5TSU9OID8/PSAiIgogQUJJRVhURU5TSU9OID8/PSAiIgotVVNFX05MUyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGliYy1sb2NhbGUtY29kZScsICd5ZXMnLCAnbm8nLCBkKX0iCitVU0VfTkxTID8/PSAieWVzIgogU0RLVVNFX05MUyA/Pz0gInllcyIKIAogVEFSR0VUX0FSQ0ggPSAiJHtUVU5FX0FSQ0h9IgpAQCAtMTk5LDkgKzE5OSw5IEBACiAjIFBhY2thZ2UgZGVmYXVsdCB2YXJpYWJsZXMuCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAotUE4gPSAiJHtAYmIucGFyc2UuQkJIYW5kbGVyLnZhcnNfZnJvbV9maWxlKGQuZ2V0VmFyKCdGSUxFJywgRmFsc2UpLGQpWzBdIG9yICdkZWZhdWx0cGtnbmFtZSd9IgotUFYgPSAiJHtAYmIucGFyc2UuQkJIYW5kbGVyLnZhcnNfZnJvbV9maWxlKGQuZ2V0VmFyKCdGSUxFJywgRmFsc2UpLGQpWzFdIG9yICcxLjAnfSIKLVBSID0gIiR7QGJiLnBhcnNlLkJCSGFuZGxlci52YXJzX2Zyb21fZmlsZShkLmdldFZhcignRklMRScsIEZhbHNlKSxkKVsyXSBvciAncjAnfSIKK1BOID0gIiR7QGJiLnBhcnNlLnZhcnNfZnJvbV9maWxlKGQuZ2V0VmFyKCdGSUxFJywgRmFsc2UpLGQpWzBdIG9yICdkZWZhdWx0cGtnbmFtZSd9IgorUFYgPSAiJHtAYmIucGFyc2UudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMV0gb3IgJzEuMCd9IgorUFIgPSAiJHtAYmIucGFyc2UudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMl0gb3IgJ3IwJ30iCiBQRSA9ICIiCiBQRiA9ICIke1BOfS0ke0VYVEVORFBFfSR7UFZ9LSR7UFJ9IgogRVhURU5EUEUgPSAiJHtAWycnLCcke1BFfV8nXVtpbnQoZC5nZXRWYXIoJ1BFJykgb3IgMCkgPiAwXX0iCkBAIC0yMzcsNiArMjM3LDEwIEBACiAjU1VNTUFSWV8ke1BOfSA/PSAiJHtTVU1NQVJZfSIKICNERVNDUklQVElPTl8ke1BOfSA/PSAiJHtERVNDUklQVElPTn0iCiAKK1NVTU1BUllfJHtQTn0tc3JjID89ICIke1NVTU1BUll9IC0gU291cmNlIGZpbGVzIgorREVTQ1JJUFRJT05fJHtQTn0tc3JjID89ICIke0RFU0NSSVBUSU9OfSAgXAorVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHNvdXJjZXMgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4iCisKIFNVTU1BUllfJHtQTn0tZGJnID89ICIke1NVTU1BUll9IC0gRGVidWdnaW5nIGZpbGVzIgogREVTQ1JJUFRJT05fJHtQTn0tZGJnID89ICIke0RFU0NSSVBUSU9OfSAgXAogVGhpcyBwYWNrYWdlIGNvbnRhaW5zIEVMRiBzeW1ib2xzIGFuZCByZWxhdGVkIHNvdXJjZXMgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4iCkBAIC0yODIsOCArMjg2LDEwIEBACiAjIGF0IGxlYXN0IG1lYW5zIGJ1aWxkcyBhcmVuJ3QgY29tcGxldGVseSBicm9rZW4gYW5kIHN5bWxpbmtzIGRvbid0IHRha2UgdXAgbXVjaCBzcGFjZS4KIFNPTElCU0RFVl9kYXJ3aW4gPSAiLmR5bGliYnJva2VuIgogCitQQUNLQUdFX0RFQlVHX1NQTElUX1NUWUxFID89ICJkZWJ1Zy13aXRoLXNyY3BrZyIKKwogUEFDS0FHRV9CRUZPUkVfUE4gPz0gIiIKLVBBQ0tBR0VTID0gIiR7UE59LWRiZyAke1BOfS1zdGF0aWNkZXYgJHtQTn0tZGV2ICR7UE59LWRvYyAke1BOfS1sb2NhbGUgJHtQQUNLQUdFX0JFRk9SRV9QTn0gJHtQTn0iCitQQUNLQUdFUyA9ICIke1BOfS1zcmMgJHtQTn0tZGJnICR7UE59LXN0YXRpY2RldiAke1BOfS1kZXYgJHtQTn0tZG9jICR7UE59LWxvY2FsZSAke1BBQ0tBR0VfQkVGT1JFX1BOfSAke1BOfSIKIFBBQ0tBR0VTX0RZTkFNSUMgPSAiXiR7UE59LWxvY2FsZS0uKiIKIEZJTEVTID0gIiIKIApAQCAtMzIyLDYgKzMyOCwxMSBAQAogU0VDVElPTl8ke1BOfS1kYmcgPSAiZGV2ZWwiCiBBTExPV19FTVBUWV8ke1BOfS1kYmcgPSAiMSIKIAorIyBUaGUgZmlsZXMgbGlzdCBmb3Igc291cmNlIHBhY2thZ2VzIGFyZSBkeW5hbWljYWxseSBzZXQgYmFzZWQgb24KKyMgUEFDS0FHRV9ERUJVR19TUExJVF9TVFlMRQorRklMRVNfJHtQTn0tc3JjID0gIiIKK1NFQ1RJT05fJHtQTn0tc3JjID0gImRldmVsIgorCiBGSUxFU18ke1BOfS1sb2NhbGUgPSAiJHtkYXRhZGlyfS9sb2NhbGUiCiAKICMgRmlsZSBtYW5pZmVzdApAQCAtNDgzLDcgKzQ5NCw3IEBACiAgICAgZmdyZXAgZmlsZSBmaW5kIGZsb2NrIGcrKyBnYXdrIGdjYyBnZXRjb25mIGdldG9wdCBnaXQgZ3JlcCBndW56aXAgZ3ppcCBcCiAgICAgaGVhZCBob3N0bmFtZSBpZCBpbnN0YWxsIGxkIGxkZCBsbiBscyBtYWtlIG1ha2VpbmZvIG1kNXN1bSBta2RpciBta25vZCBcCiAgICAgbWt0ZW1wIG12IG5tIG9iamNvcHkgb2JqZHVtcCBvZCBwYXRjaCBwZXJsIHBvZDJtYW4gcHIgcHJpbnRmIHB3ZCBweXRob24yIFwKLSAgICBweXRob24yLjcgcHl0aG9uMyByYW5saWIgcmVhZGVsZiByZWFkbGluayBybSBybWRpciBycGNnZW4gc2VkIHNoIHNoYTI1NnN1bSBcCisgICAgcHl0aG9uMi43IHB5dGhvbjMgcmFubGliIHJlYWRlbGYgcmVhZGxpbmsgcmVhbHBhdGggcm0gcm1kaXIgcnBjZ2VuIHNlZCBzZXEgc2ggc2hhMjU2c3VtIFwKICAgICBzbGVlcCBzb3J0IHNwbGl0IHN0YXQgc3RyaW5ncyBzdHJpcCB0YWlsIHRhciB0ZWUgdGVzdCB0b3VjaCB0ciB0cnVlIHVuYW1lIFwKICAgICB1bmlxIHdjIHdnZXQgd2hpY2ggeGFyZ3MgXAogIgpAQCAtNDkyLDcgKzUwMyw3IEBACiBIT1NUVE9PTFMgKz0gIiR7QCdpcCBwaW5nIHBzIHNjcCBzc2ggc3R0eScgaWYgKGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnSU1BR0VfQ0xBU1NFUycsICd0ZXN0aW1hZ2UgdGVzdHNkaycsIFRydWUsIEZhbHNlLCBkKSBvciBhbnkoeCBpbiAoZC5nZXRWYXIoIkJCSU5DTFVERUQiKSBvciAiIikgZm9yIHggaW4gWyJ0ZXN0aW1hZ2UuYmJjbGFzcyIsICJ0ZXN0c2RrLmJiY2xhc3MiXSkpIGVsc2UgJyd9IgogCiAjIExpbmsgdG8gdGhlc2UgaWYgcHJlc2VudAotSE9TVFRPT0xTX05PTkZBVEFMICs9ICJhd3MgY2NhY2hlIGdjYy1hciBncGcgbGQuYmZkIGxkLmdvbGQgbmMgcGlneiBzZnRwIHNvY2F0IHNzaCBzdWRvIgorSE9TVFRPT0xTX05PTkZBVEFMICs9ICJhd3MgZ2NjLWFyIGdwZyBsZC5iZmQgbGQuZ29sZCBuYyBwaWd6IHNmdHAgc29jYXQgc3NoIHN1ZG8iCiAKICMgVGVtcG9yYXJ5IGFkZCBmZXcgbW9yZSBkZXRlY3RlZCBpbiBiaXRiYWtlIHdvcmxkCiBIT1NUVE9PTFNfTk9ORkFUQUwgKz0gImpvaW4gbmwgc2l6ZSB5ZXMgemNhdCIKQEAgLTUwNCwxMCArNTE1LDYgQEAKIEhPU1RUT09MU19OT05GQVRBTCArPSAic2NwIgogCiBDQ0FDSEUgPz89ICIiCi0jIGNjYWNoZSA8IDMuMS4xMCB3aWxsIGNyZWF0ZSBDQ0FDSEVfRElSIG9uIHN0YXJ0dXAgZXZlbiBpZiBkaXNhYmxlZCwgYW5kCi0jIGF1dG9nZW4gc2V0cyBIT01FPS9kZXYvbnVsbCBzbyBpbiBjZXJ0YWluIHNpdHVhdGlvbnMgYnVpbGRzIGNhbiBmYWlsLgotIyBFeHBsaWNpdGx5IGV4cG9ydCBDQ0FDSEVfRElSIHVudGlsIHdlIGNhbiBhc3N1bWUgY2NhY2hlID4zLjEuMTAgb24gdGhlIGhvc3QuCi1leHBvcnQgQ0NBQ0hFX0RJUiA/Pz0gIiR7QG9zLmdldGVudignSE9NRScpfS8uY2NhY2hlIgogCiBUT09MQ0hBSU5fT1BUSU9OUyA9ICIgLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSIKIApAQCAtNTE3LDkgKzUyNCw5IEBACiBleHBvcnQgQ1BQID0gIiR7SE9TVF9QUkVGSVh9Z2NjIC1FJHtUT09MQ0hBSU5fT1BUSU9OU30gJHtIT1NUX0NDX0FSQ0h9IgogZXhwb3J0IExEID0gIiR7SE9TVF9QUkVGSVh9bGQke1RPT0xDSEFJTl9PUFRJT05TfSAke0hPU1RfTERfQVJDSH0iCiBleHBvcnQgQ0NMRCA9ICIke0NDfSIKLWV4cG9ydCBBUiA9ICIke0hPU1RfUFJFRklYfWFyIgorZXhwb3J0IEFSID0gIiR7SE9TVF9QUkVGSVh9Z2NjLWFyIgogZXhwb3J0IEFTID0gIiR7SE9TVF9QUkVGSVh9YXMgJHtIT1NUX0FTX0FSQ0h9IgotZXhwb3J0IFJBTkxJQiA9ICIke0hPU1RfUFJFRklYfXJhbmxpYiIKK2V4cG9ydCBSQU5MSUIgPSAiJHtIT1NUX1BSRUZJWH1nY2MtcmFubGliIgogZXhwb3J0IFNUUklQID0gIiR7SE9TVF9QUkVGSVh9c3RyaXAiCiBleHBvcnQgT0JKQ09QWSA9ICIke0hPU1RfUFJFRklYfW9iamNvcHkiCiBleHBvcnQgT0JKRFVNUCA9ICIke0hPU1RfUFJFRklYfW9iamR1bXAiCkBAIC01NjIsNyArNTY5LDcgQEAKIGV4cG9ydCBUQVJHRVRfQ1BQRkxBR1MgPSAiIgogCiBleHBvcnQgQlVJTERfQ0ZMQUdTID0gIiR7QlVJTERfQ1BQRkxBR1N9ICR7QlVJTERfT1BUSU1JWkFUSU9OfSIKLUJVSUxEU0RLX0NGTEFHUyA9ICIke0JVSUxEU0RLX0NQUEZMQUdTfSAke0JVSUxEX09QVElNSVpBVElPTn0iCitCVUlMRFNES19DRkxBR1MgPSAiJHtCVUlMRFNES19DUFBGTEFHU30gJHtCVUlMRF9PUFRJTUlaQVRJT059ICR7REVCVUdfUFJFRklYX01BUH0iCiBleHBvcnQgQ0ZMQUdTID0gIiR7VEFSR0VUX0NGTEFHU30iCiBleHBvcnQgVEFSR0VUX0NGTEFHUyA9ICIke1RBUkdFVF9DUFBGTEFHU30gJHtTRUxFQ1RFRF9PUFRJTUlaQVRJT059IgogCkBAIC01NzMsNiArNTgwLDcgQEAKIAogZXhwb3J0IEJVSUxEX0xERkxBR1MgPSAiLUwke1NUQUdJTkdfTElCRElSX05BVElWRX0gXAogICAgICAgICAgICAgICAgICAgICAgICAgLUwke1NUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSBcCisgICAgICAgICAgICAgICAgICAgICAgICAtV2wsLS1lbmFibGUtbmV3LWR0YWdzIFwKICAgICAgICAgICAgICAgICAgICAgICAgIC1XbCwtcnBhdGgtbGluaywke1NUQUdJTkdfTElCRElSX05BVElWRX0gXAogICAgICAgICAgICAgICAgICAgICAgICAgLVdsLC1ycGF0aC1saW5rLCR7U1RBR0lOR19CQVNFX0xJQkRJUl9OQVRJVkV9IFwKICAgICAgICAgICAgICAgICAgICAgICAgIC1XbCwtcnBhdGgsJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9IFwKQEAgLTYwMiw3ICs2MTAsOCBAQAogIyBPcHRpbWl6YXRpb24gZmxhZ3MuCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgQmV3YXJlOiBhcHBsaWVkIGxhc3QgdG8gZmlyc3QKLURFQlVHX1BSRUZJWF9NQVAgPz0gIi1mZGVidWctcHJlZml4LW1hcD0ke1dPUktESVJ9PS91c3Ivc3JjL2RlYnVnLyR7UE59LyR7RVhURU5EUEV9JHtQVn0tJHtQUn0gXAorREVCVUdfUFJFRklYX01BUCA/PSAiLWZtYWNyby1wcmVmaXgtbWFwPSR7V09SS0RJUn09L3Vzci9zcmMvZGVidWcvJHtQTn0vJHtFWFRFTkRQRX0ke1BWfS0ke1BSfSBcCisgICAgICAgICAgICAgICAgICAgICAtZmRlYnVnLXByZWZpeC1tYXA9JHtXT1JLRElSfT0vdXNyL3NyYy9kZWJ1Zy8ke1BOfS8ke0VYVEVORFBFfSR7UFZ9LSR7UFJ9IFwKICAgICAgICAgICAgICAgICAgICAgIC1mZGVidWctcHJlZml4LW1hcD0ke1NUQUdJTkdfRElSX0hPU1R9PSBcCiAgICAgICAgICAgICAgICAgICAgICAtZmRlYnVnLXByZWZpeC1tYXA9JHtTVEFHSU5HX0RJUl9OQVRJVkV9PSBcCiAiCkBAIC02MTAsMTAgKzYxOSwxMSBAQAogCiAjIERpc2FibGVkIHVudGlsIHRoZSBvcHRpb24gd29ya3MgcHJvcGVybHkgLWZlbGltaW5hdGUtZHdhcmYyLWR1cHMKIEZVTExfT1BUSU1JWkFUSU9OID0gIi1PMiAtcGlwZSAke0RFQlVHX0ZMQUdTfSIKLURFQlVHX09QVElNSVpBVElPTiA9ICItTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAke0RFQlVHX0ZMQUdTfSAtcGlwZSIKK0RFQlVHX09QVElNSVpBVElPTiA9ICItT2cgJHtERUJVR19GTEFHU30gLXBpcGUiCiBTRUxFQ1RFRF9PUFRJTUlaQVRJT04gPSAiJHtAZC5nZXRWYXIob2UudXRpbHMudmFydHJ1ZSgnREVCVUdfQlVJTEQnLCAnREVCVUdfT1BUSU1JWkFUSU9OJywgJ0ZVTExfT1BUSU1JWkFUSU9OJywgZCkpfSIKLVNFTEVDVEVEX09QVElNSVpBVElPTlt2YXJkZXBzXSArPSAiRlVMTF9PUFRJTUlaQVRJT04gREVCVUdfT1BUSU1JWkFUSU9OIgotQlVJTERfT1BUSU1JWkFUSU9OID0gIiR7QG9lLnV0aWxzLnZhcnRydWUoJ0RFQlVHX0JVSUxEJywgJy1PIC1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlcicsICctTzInLCBkKX0gLXBpcGUiCitTRUxFQ1RFRF9PUFRJTUlaQVRJT05bdmFyZGVwc10gKz0gIkZVTExfT1BUSU1JWkFUSU9OIERFQlVHX09QVElNSVpBVElPTiBERUJVR19CVUlMRCIKK0JVSUxEX09QVElNSVpBVElPTiA9ICIke0BvZS51dGlscy52YXJ0cnVlKCdERUJVR19CVUlMRCcsICctT2cgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzJywgJy1PMicsIGQpfSAtcGlwZSIKK0JVSUxEX09QVElNSVpBVElPTlt2YXJkZXBzXSArPSAiREVCVUdfQlVJTEQiCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBTZXR0aW5ncyB1c2VkIGJ5IGJpdGJha2UtbGF5ZXJzLgpAQCAtNzkxLDYgKzgwMSw5IEBACiAjIERlZmF1bHQgdG8gc2V0dGluZyBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGNwdSBjb3VudAogUEFSQUxMRUxfTUFLRSA/PSAiLWogJHtAb2UudXRpbHMuY3B1X2NvdW50KCl9IgogCisjIERlZmF1bHQgcGFyYWxsZWxpc20gYW5kIHJlc291cmNlIHVzYWdlIGZvciB4egorWFpfREVGQVVMVFMgPz0gIi0tbWVtbGltaXQ9NTAlIC0tdGhyZWFkcz0ke0BvZS51dGlscy5jcHVfY291bnQoKX0iCisKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBNYWdpYyBDb29raWUgZm9yIFNBTklUWSBDSEVDSwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC04MTYsNyArODI5LDcgQEAKICMgTmF0aXZlIGRpc3RybyBmZWF0dXJlcyAod2lsbCBhbHdheXMgYmUgdXNlZCBmb3IgLW5hdGl2ZSwgZXZlbiBpZiB0aGV5CiAjIGFyZSBub3QgZW5hYmxlZCBmb3IgdGFyZ2V0KQogRElTVFJPX0ZFQVRVUkVTX05BVElWRSA/PSAieDExIGlwdjYgeGF0dHIiCi1ESVNUUk9fRkVBVFVSRVNfTkFUSVZFU0RLID89ICJ4MTEgbGliYy1jaGFyc2V0cyBsaWJjLWxvY2FsZXMgbGliYy1sb2NhbGUtY29kZSIKK0RJU1RST19GRUFUVVJFU19OQVRJVkVTREsgPz0gIngxMSIKIAogIyBOb3JtYWxseSB0YXJnZXQgZGlzdHJvIGZlYXR1cmVzIHdpbGwgbm90IGJlIGFwcGxpZWQgdG8gbmF0aXZlIGJ1aWxkczoKICMgTmF0aXZlIGRpc3RybyBmZWF0dXJlcyBvbiB0aGlzIGxpc3Qgd2lsbCB1c2UgdGhlIHRhcmdldCBmZWF0dXJlIHZhbHVlCkBAIC04NjcsNyArODgwLDkgQEAKICAgICBTVEFNUFNfRElSIFBSU0VSVl9EVU1QRElSIFBSU0VSVl9EVU1QRklMRSBQUlNFUlZfTE9DS0RPV04gUEFSQUxMRUxfTUFLRSBcCiAgICAgQ0NBQ0hFX0RJUiBFWFRFUk5BTF9UT09MQ0hBSU4gQ0NBQ0hFIENDQUNIRV9OT0hBU0hESVIgTElDRU5TRV9QQVRIIFNES1BLR1NVRkZJWCBcCiAgICAgV0FSTl9RQSBFUlJPUl9RQSBXT1JLRElSIFNUQU1QQ0xFQU4gUEtHREFUQV9ESVIgQlVJTERfQVJDSCBTU1RBVEVfUEtHQVJDSCBcCi0gICAgQkJfV09SS0VSQ09OVEVYVCBCQl9MSU1JVEVEREVQUyBleHRlbmRfcmVjaXBlX3N5c3Jvb3QgREVQTE9ZX0RJUiIKKyAgICBCQl9XT1JLRVJDT05URVhUIEJCX0xJTUlURURERVBTIEJCX1VOSUhBU0ggZXh0ZW5kX3JlY2lwZV9zeXNyb290IERFUExPWV9ESVIgXAorICAgIFNTVEFURV9IQVNIRVFVSVZfTUVUSE9EIFNTVEFURV9IQVNIRVFVSVZfU0VSVkVSIFNTVEFURV9IQVNIRVFVSVZfUkVQT1JUX1RBU0tEQVRBIFwKKyAgICBTU1RBVEVfSEFTSEVRVUlWX09XTkVSIENDQUNIRV9UT1BfRElSIgogQkJfSEFTSENPTkZJR19XSElURUxJU1QgPz0gIiR7QkJfSEFTSEJBU0VfV0hJVEVMSVNUfSBEQVRFIFRJTUUgU1NIX0FHRU5UX1BJRCBcCiAgICAgU1NIX0FVVEhfU09DSyBQU0VVRE9fQlVJTEQgQkJfRU5WX0VYVFJBV0hJVEUgRElTQUJMRV9TQU5JVFlfQ0hFQ0tTIFwKICAgICBQQVJBTExFTF9NQUtFIEJCX05VTUJFUl9USFJFQURTIEJCX09SSUdFTlYgQkJfSU5WQUxJRENPTkYgQkJJTkNMVURFRCBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9jY2FjaGUuY29uZiBiL3Bva3kvbWV0YS9jb25mL2NjYWNoZS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzMTAxMmQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvY29uZi9jY2FjaGUuY29uZgpAQCAtMCwwICsxLDIgQEAKK21heF9zaXplID0gMAorY2FjaGVfZGlyX2xldmVscyA9IDEKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiBiL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZgppbmRleCBjYTJmOTE3Li4yMGU2MTIzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYKKysrIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mCkBAIC0yLDYgKzIsNyBAQAogaW5jbHVkZSBjb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jCiBpbmNsdWRlIGNvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYwogaW5jbHVkZSBjb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmMKK2luY2x1ZGUgY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmMKIAogVENNT0RFID89ICJkZWZhdWx0IgogcmVxdWlyZSBjb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS0ke1RDTU9ERX0uaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYwppbmRleCBmNWVjNmNlLi43YTBiYWYzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmMKQEAgLTEwLDE3ICsxMCw4IEBACiBMT0NBTEVfVVRGOF9JU19ERUZBVUxUID89ICIxIgogTE9DQUxFX1VURjhfSVNfREVGQVVMVF9jbGFzcy1uYXRpdmVzZGsgPSAiMCIKIAotRElTVFJPX0ZFQVRVUkVTX0RFRkFVTFQgPz0gImFjbCBhbHNhIGFyZ3AgYmx1ZXRvb3RoIGV4dDIgaXJkYSBsYXJnZWZpbGUgcGNtY2lhIHVzYmdhZGdldCB1c2Job3N0IHdpZmkgeGF0dHIgbmZzIHplcm9jb25mIHBjaSAzZyBuZmMgeDExIgotRElTVFJPX0ZFQVRVUkVTX0xJQkNfREVGQVVMVCA/PSAiaXB2NCBpcHY2IGxpYmMtYmFja3RyYWNlIGxpYmMtYmlnLW1hY3JvcyBsaWJjLWJzZCBsaWJjLWN4eC10ZXN0cyBsaWJjLWNhdGdldHMgbGliYy1jaGFyc2V0cyBsaWJjLWNyeXB0IFwKLQkJCQkJbGliYy1jcnlwdC11ZmMgbGliYy1kYi1hbGlhc2VzIGxpYmMtZW52eiBsaWJjLWZjdnQgbGliYy1mbXRtc2cgbGliYy1mc3RhYiBsaWJjLWZ0cmF2ZXJzZSBcCi0JCQkJCWxpYmMtZ2V0bG9naW4gbGliYy1pZG4gbGliYy1pbmV0LWFubCBsaWJjLWxpYm0gbGliYy1sb2NhbGVzIGxpYmMtbG9jYWxlLWNvZGUgXAotCQkJCQlsaWJjLW1lbXVzYWdlIGxpYmMtbnNzd2l0Y2ggbGliYy1yY21kIGxpYmMtcnRsZC1kZWJ1ZyBsaWJjLXNwYXduIGxpYmMtc3RyZWFtcyBcCi0JCQkJCWxpYmMtdXRtcCBsaWJjLXV0bXB4IGxpYmMtd29yZGV4cCBsaWJjLXBvc2l4LWNsYW5nLXdjaGFyIGxpYmMtcG9zaXgtcmVnZXhwIGxpYmMtcG9zaXgtcmVnZXhwLWdsaWJjIFwKLQkJCQkJbGliYy1wb3NpeC13Y2hhci1pbyIKLURJU1RST19GRUFUVVJFU19MSUJDID89ICIke0RJU1RST19GRUFUVVJFU19MSUJDX0RFRkFVTFR9IgotRElTVFJPX0ZFQVRVUkVTX0xJQkNfY2xhc3MtbmF0aXZlc2RrID0gIiR7RElTVFJPX0ZFQVRVUkVTX0xJQkNfREVGQVVMVH0iCi1ESVNUUk9fRkVBVFVSRVMgPz0gIiR7RElTVFJPX0ZFQVRVUkVTX0RFRkFVTFR9ICR7RElTVFJPX0ZFQVRVUkVTX0xJQkN9IgotCitESVNUUk9fRkVBVFVSRVNfREVGQVVMVCA/PSAiYWNsIGFsc2EgYXJncCBibHVldG9vdGggZXh0MiBpcHY0IGlwdjYgaXJkYSBsYXJnZWZpbGUgcGNtY2lhIHVzYmdhZGdldCB1c2Job3N0IHdpZmkgeGF0dHIgbmZzIHplcm9jb25mIHBjaSAzZyBuZmMgeDExIgorRElTVFJPX0ZFQVRVUkVTID89ICIke0RJU1RST19GRUFUVVJFU19ERUZBVUxUfSIKIElNQUdFX0ZFQVRVUkVTID89ICIiCiAKIFdISVRFTElTVF9HUEwtMy4wID89ICIiCkBAIC01MiwzICs0Myw5IEBACiBBUkNIX0RFRkFVTFRfS0VSTkVMSU1BR0VUWVBFX3g4Ni02NCA9ICJiekltYWdlIgogS0VSTkVMX0lNQUdFVFlQRSA/Pz0gIiR7QVJDSF9ERUZBVUxUX0tFUk5FTElNQUdFVFlQRX0iCiBLRVJORUxfSU1BR0VUWVBFUyA/Pz0gIiR7S0VSTkVMX0lNQUdFVFlQRX0iCisKKyMgVGhlIENPTk5FQ1RJVklUWV9DSEVDS19VUklTIGFyZSB1c2VkIHRvIHRlc3Qgd2hldGhlciB3ZSBjYW4gc3VjY2VzZnVsbHkKKyMgZmV0Y2ggZnJvbSB0aGUgbmV0d29yayAoYW5kIHdhcm4geW91IGlmIG5vdCkuIFRvIGRpc2FibGUgdGhlIHRlc3Qgc2V0CisjIHRoZSB2YXJpYWJsZSB0byBiZSBlbXB0eS4KKyMgR2l0IGV4YW1wbGUgdXJsOiBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy95b2N0by1maXJld2FsbC10ZXN0O3Byb3RvY29sPWdpdDtyZXY9bWFzdGVyCitDT05ORUNUSVZJVFlfQ0hFQ0tfVVJJUyA/PSAiaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jCmluZGV4IDAxOWNlZWIuLjIxNDE5MDMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYworKysgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmMKQEAgLTU0LDMgKzU0LDUgQEAKIFBSRUZFUlJFRF9QUk9WSURFUl9uYXRpdmVzZGstcGtnY29uZmlnID89ICJuYXRpdmVzZGstcGtnY29uZmlnIgogUFJFRkVSUkVEX1BST1ZJREVSX3BrZ2NvbmZpZy1uYXRpdmUgPz0gInBrZ2NvbmZpZy1uYXRpdmUiCiBQUkVGRVJSRURfUlBST1ZJREVSX2luaXRkLWZ1bmN0aW9ucyA/PSAiaW5pdHNjcmlwdHMiCisKK1BSRUZFUlJFRF9QUk9WSURFUl9uYXRpdmVzZGstbWVzYSA/PSAibmF0aXZlc2RrLW1lc2EiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kaXN0cm9fYWxpYXMuaW5jIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGlzdHJvX2FsaWFzLmluYwppbmRleCA3NTAyNTQyLi5kMmNjYjFlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kaXN0cm9fYWxpYXMuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2Rpc3Ryb19hbGlhcy5pbmMKQEAgLTM1NCw3ICszNTQsNyBAQAogRElTVFJPX1BOX0FMSUFTX3BuLXR0Zi1iaXRzdHJlYW0tdmVyYSA9ICJEZWJpYW49dHRmLWJpdHN0cmVhbS12ZXJhIFVidW50dT10dGYtYml0c3RyZWFtLXZlcmEiCiBESVNUUk9fUE5fQUxJQVNfcG4tdHpjb2RlID0gIk9TUERUIgogRElTVFJPX1BOX0FMSUFTX3BuLXUtYm9vdC1mdy11dGlscyA9ICJVYnVudHU9dS1ib290LXRvb2xzIERlYmlhbj11LWJvb3QtdG9vbHMiCi1ESVNUUk9fUE5fQUxJQVNfcG4tdS1ib290LW1raW1hZ2UgPSAiVWJ1bnR1PXVib290LW1raW1hZ2UgRGViaWFuPXVib290LW1raW1hZ2UiCitESVNUUk9fUE5fQUxJQVNfcG4tdS1ib290LXRvb2xzID0gIlVidW50dT11LWJvb3QtdG9vbHMgRGViaWFuPXVib290LXRvb2xzIgogRElTVFJPX1BOX0FMSUFTX3BuLXVkZXYgPSAiTWFuZHJpdmE9dWRldiBGZWRvcmE9dWRldiIKIERJU1RST19QTl9BTElBU19wbi11ZGV2LWV4dHJhY29uZiA9ICJPRS1Db3JlIgogRElTVFJPX1BOX0FMSUFTX3BuLXVuZnMzID0gIkRlYmlhbj11bmZzMyBGZWRvcmE9dW5mczMiCkBAIC00MTAsNiArNDEwLDUgQEAKIERJU1RST19QTl9BTElBU19wbi14c2VydmVyLXhvcmcgPSAiRmVkb3JhPXhvcmcteDExLXNlcnZlciBVYnVudHU9eHNlcnZlci14b3JnIgogRElTVFJPX1BOX0FMSUFTX3BuLXhzZXQgPSAiRmVkb3JhPXhvcmcteDExLXNlcnZlci11dGlscyBVYnVudHU9eDExLXhzZXJ2ZXItdXRpbHMgRGViaWFuPXgxMS14c2VydmVyLXV0aWxzIE9wZW5zdXNlPXhvcmcteDExIgogRElTVFJPX1BOX0FMSUFTX3BuLXh1c2VyLWFjY291bnQgPSAiT0UtQ29yZSIKLURJU1RST19QTl9BTElBU19wbi14dmlkZW8tdGVzdHMgPSAiT3BlbmVkSGFuZCIKIERJU1RST19QTl9BTElBU19wbi14dmluZm8gPSAiRmVkb3JhPXhvcmcteDExLXV0aWxzIFVidW50dT14MTEtdXRpbHMiCiBESVNUUk9fUE5fQUxJQVNfcG4teHdpbmluZm8gPSAiRmVkb3JhPXhvcmcteDExLXV0aWxzIFVidW50dT14MTEtdXRpbHMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmMgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmMKaW5kZXggNjcyZjA2Ny4uOTUwYjhlOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYwpAQCAtNjQsOSArNjQsOSBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tYmMgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1iaW5kID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tYmludXRpbHMgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1iaW51dGlscy1jcm9zcyA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJpbnV0aWxzLWNyb3NzLWNhbmFkaWFuID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tYmludXRpbHMtY3Jvc3NzZGsgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1iaW51dGlscy1jcm9zcy0ke1RBUkdFVF9BUkNIfSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWJpbnV0aWxzLWNyb3NzLWNhbmFkaWFuLSR7VFJBTlNMQVRFRF9UQVJHRVRfQVJDSH0gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1iaW51dGlscy1jcm9zc3Nkay0ke1NES19TWVN9ID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tYmlzb24gPSAiQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJqYW0tbmF0aXZlID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJsa3Rvb2wgPSAiWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKQEAgLTk5LDExICs5OSwzMCBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tY21ha2UgPSAiUGFzY2FsIEJhY2ggPHBhc2NhbC5iYWNoQHNpZW1lbnMuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNtYWtlLW5hdGl2ZSA9ICJQYXNjYWwgQmFjaCA8cGFzY2FsLmJhY2hAc2llbWVucy5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tY29nbC0xLjAgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1jb25ubWFuID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBsZ2UuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvbm5tYW4gPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb25ubWFuLWNvbmYgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb25ubWFuLWdub21lID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tY29uc29sZS10b29scyA9ICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tY29uc29sZWtpdCA9ICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1iYXNlID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtbWluaW1hbCA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLW1pbmltYWwtZGV2ID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtbWluaW1hbC1pbml0cmFtZnMgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1taW5pbWFsLW10ZHV0aWxzID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtdGlueS1pbml0cmFtZnMgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1mdWxsLWNtZGxpbmUgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1rZXJuZWwtZGV2ID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2Utc2F0byA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXNhdG8tc2RrID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtbHNiID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtbHNiLXNkayA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXRlc3RtYXN0ZXItaW5pdHJhbWZzID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtdGVzdG1hc3RlciA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLWNsdXR0ZXIgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS13ZXN0b24gPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS14MTEgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1zYXRvLWRldiA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXNhdG8tc2RrLXB0ZXN0ID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmV1dGlscyA9ICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tY3BpbyA9ICJEZW55cyBEbXl0cml5ZW5rbyA8ZGVueXNAdGkuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNyYWNrbGliID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpAQCAtMTQ0LDExICsxNjMsMTIgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWVkID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWVnbGluZm8tZmIgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZWdsaW5mby14MTEgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZWdsaW5mby13YXlsYW5kID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWVsZnV0aWxzID0gIkhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1lbmNoYW50ID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZW5jb2RpbmdzID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZXBpcGhhbnkgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tZXRodG9vbCA9ICJDaGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAbGdlLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1ldGh0b29sID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZXVkZXYgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1leHBhdCA9ICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZXhwZWN0ID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKQEAgLTE2NywyMCArMTg3LDIxIEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1mdHMgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nYXdrID0gIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2MgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2MtY3Jvc3MgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2MtY3Jvc3MtY2FuYWRpYW4gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2MtY3Jvc3MtaW5pdGlhbCA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1jcm9zc3NkayA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1jcm9zc3Nkay1pbml0aWFsID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9ID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLWNyb3NzLWNhbmFkaWFuLSR7VFJBTlNMQVRFRF9UQVJHRVRfQVJDSH0gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2MtY3Jvc3MtaW5pdGlhbC0ke1RBUkdFVF9BUkNIfSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1jcm9zc3Nkay0ke1NES19TWVN9ID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLWNyb3Nzc2RrLWluaXRpYWwtJHtTREtfU1lTfSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1ydW50aW1lID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLXNhbml0aXplcnMgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2Mtc291cmNlID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLXNvdXJjZS03LjMuMCA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1zb3VyY2UtOC4zLjAgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2NtYWtlZGVwID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NvbmYgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY3IgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZ2RiID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tZ2RiLWNyb3NzID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tZ2RiLWNyb3NzLWNhbmFkaWFuID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ2RiLWNyb3NzLSR7VEFSR0VUX0FSQ0h9ID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ2RiLWNyb3NzLWNhbmFkaWFuLSR7VFJBTlNMQVRFRF9UQVJHRVRfQVJDSH0gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nZGJtID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdkay1waXhidWYgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nZXR0ZXh0ID0gIlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKQEAgLTIwNCwxMCArMjI1LDEzIEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nbnVwZyA9ICJIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZ251dGxzID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZ28gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1nby1jcm9zcyA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWdvLWNyb3NzLSR7VFVORV9QS0dBUkNIfSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWdvLWNyb3NzLWNhbmFkaWFuLSR7VFJBTlNMQVRFRF9UQVJHRVRfQVJDSH0gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1nby1jcm9zc3Nkay0ke1NES19TWVN9ID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tZGVwID0gIk90YXZpbyBTYWx2YWRvciA8b3RhdmlvLnNhbHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZ28taGVsbG93b3JsZCA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdvLW5hdGl2ZSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWdvLXJ1bnRpbWUgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nb2JqZWN0LWludHJvc3BlY3Rpb24gPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZ3BlcmYgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZ3BnbWUgPSAiSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKQEAgLTI0NSw2ICsyNjksNyBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4taWNlY2MtY3JlYXRlLWVudiA9ICJKb3NodWEgV2F0dCA8SlBFV2hhY2tlckBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4taWN1ID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWlmdXBkb3duID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4taW5ldHV0aWxzID0gIlRvbSBSaW5pIDx0cmluaUBrb25zdWxrby5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4taW5pdC1pZnVwZG93biA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWluaXRyYW1mcy1ib290ID0gIk90YXZpbyBTYWx2YWRvciA8b3RhdmlvLnNhbHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+IgogUkVDSVBFX01BSU5UQUlORVJfcG4taW5pdHJhbWZzLWZyYW1ld29yayA9ICJPdGF2aW8gU2FsdmFkb3IgPG90YXZpby5zYWx2YWRvckBvc3N5c3RlbXMuY29tLmJyPiIKQEAgLTI1NiwxOCArMjgxLDE4IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbml0cmFtZnMtbGl2ZS1pbnN0YWxsLXRlc3RmcyA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWluaXRzY3JpcHRzID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4taW50bHRvb2wgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4taXByb3V0ZTIgPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGxnZS5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4taXB0YWJsZXMgPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGxnZS5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4taXB1dGlscyA9ICJDaGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAbGdlLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1pcmRhLXV0aWxzID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBsZ2UuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWlwcm91dGUyID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4taXB0YWJsZXMgPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1pcHV0aWxzID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4taXJkYS11dGlscyA9ICJDaGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWlzby1jb2RlcyA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1pdyA9ICJDaGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAbGdlLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1pdyA9ICJDaGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmpwZWctdHVyYm8gPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1qc29uLWMgPSAiWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWpzb24tZ2xpYiA9ICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4ta2JkID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWtlcm4tdG9vbHMtbmF0aXZlID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEB3aW5kcml2ZXIuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWtlcm5lbC1kZXZzcmMgPSAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQHdpbmRyaXZlci5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4ta2Vybi10b29scy1uYXRpdmUgPSAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1rZXJuZWwtZGV2c3JjID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4ta2V4ZWMtdG9vbHMgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1rZXltYXBzID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWttb2QgPSAiQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKQEAgLTI4MSw3ICszMDYsNiBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tbGliYWNwaSA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmFpbyA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJhcmNoaXZlID0gIk90YXZpbyBTYWx2YWRvciA8b3RhdmlvLnNhbHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tbGliYXJ0LWxncGwgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJhc3N1YW4gPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJhdG9taWMtb3BzID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGliYnNkID0gIllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iCkBAIC0yOTMsNiArMzE3LDcgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmNvbnZlcnQtYXNuMS1wZXJsID0gIlRpbSBPcmxpbmcgPHRpbW90aHkudC5vcmxpbmdAbGludXguaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmNyb2NvID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZGFlbW9uID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmRhenpsZSA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJkbXggPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJkbmYgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZHJtID0gIk90YXZpbyBTYWx2YWRvciA8b3RhdmlvLnNhbHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+IgpAQCAtMzIxLDEwICszNDYsMTIgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmlkbiA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJpZG4yID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGliaW5wdXQgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJqaXR0ZXJlbnRyb3B5ID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlia3NiYSA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJtYXRjaGJveCA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm1ubCA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm1wYyA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm1vZHVsZW1kID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm5ld3QgPSAiSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm5ld3QtcHl0aG9uID0gIkhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJubCA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCkBAIC0zNDMsNiArMzcwLDcgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnBuZyA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnByb3h5ID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlicHRocmVhZC1zdHVicyA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJwc2wgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJyZXBvID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnJzdmcgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJzYW1wbGVyYXRlMCA9ICJUYW51IEthc2tpbmVuIDx0YW51a0Bpa2kuZmk+IgpAQCAtMzYyLDcgKzM5MCw3IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ0b29sLWNyb3NzID0gIlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnRvb2wtbmF0aXZlID0gIlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnVuaXN0cmluZyA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnVud2luZCA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ1bndpbmQgPSAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ1cmN1ID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnVyaS1wZXJsID0gIlRpbSBPcmxpbmcgPHRpbW90aHkudC5vcmxpbmdAbGludXguaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnVzYjEgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCkBAIC0zNzYsNiArNDA0LDcgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhjYiA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhjb21wb3NpdGUgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4Y3Vyc29yID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieGNyeXB0ID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieGRhbWFnZSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhkbWNwID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieGV4dCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKQEAgLTQxMywxMSArNDQyLDExIEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWdodHRwZCA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC1kdW1teSA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC1maXJtd2FyZSA9ICJPdGF2aW8gU2FsdmFkb3IgPG90YXZpby5zYWx2YWRvckBvc3N5c3RlbXMuY29tLmJyPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LWxpYmMtaGVhZGVycyA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC15b2N0byA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC15b2N0by1kZXYgPSAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQHdpbmRyaXZlci5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tbGludXgteW9jdG8tcnQgPSAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQHdpbmRyaXZlci5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tbGludXgteW9jdG8tdGlueSA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC1saWJjLWhlYWRlcnMgPSAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC15b2N0byA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LXlvY3RvLWRldiA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LXlvY3RvLXJ0ID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGludXgteW9jdG8tdGlueSA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxsdm0gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1sb2dyb3RhdGUgPSAiWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxyenN6ID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpAQCAtNDM4LDcgKzQ2Nyw3IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1tYWtlID0gIlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ha2VkZXBlbmQgPSAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbWFrZWRldnMgPSAiQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ha2UtbW9kLXNjcmlwdHMgPSAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQHdpbmRyaXZlci5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbWFrZS1tb2Qtc2NyaXB0cyA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1hbi1kYiA9ICJIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbWFuLXBhZ2VzID0gIkhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1tYXRjaGJveC1jb25maWctZ3RrID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpAQCAtNDU3LDkgKzQ4NiwxMCBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tbWVzYS1kZW1vcyA9ICJPdGF2aW8gU2FsdmFkb3IgPG90YXZpby5zYWx2YWRvckBvc3N5c3RlbXMuY29tLmJyPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1lc2EtZ2wgPSAiT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW8uc2FsdmFkb3JAb3NzeXN0ZW1zLmNvbS5icj4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1tZXNvbiA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1tZXRhLWVudmlyb25tZW50ID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtZW52aXJvbm1lbnQtZXh0c2RrID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtZW52aXJvbm1lbnQtJHtNQUNISU5FfSA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1tZXRhLWVudmlyb25tZW50LWV4dHNkay0ke01BQ0hJTkV9ID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtZXh0c2RrLXRvb2xjaGFpbiA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1tZXRhLWdvLXRvb2xjaGFpbiA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1tZXRhLWlkZS1zdXBwb3J0ID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtdG9vbGNoYWluID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtd29ybGQtcGtnZGF0YSA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCkBAIC00ODQsOSArNTE0LDEyIEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1teC0xLjAgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXNtID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5hdGl2ZXNkay1idWlsZHRvb2xzLXBlcmwtZHVtbXkgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbmF0aXZlc2RrLWljZWNjLXRvb2xjaGFpbiA9ICJKb3NodWEgV2F0dCA8SlBFV2hhY2tlckBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbmF0aXZlc2RrLWxpYnRvb2wgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbmF0aXZlc2RrLW1lc29uID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5hdGl2ZXNkay1wYWNrYWdlZ3JvdXAtc2RrLWhvc3QgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXRpdmVzZGstcWVtdS1oZWxwZXIgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbmF0aXZlc2RrLXNkay1wcm92aWRlcy1kdW1teSA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1uZXdsaWIgPSAiQWxlamFuZHJvIEhlcm5hbmRleiA8YWVoczI5QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1uY3Vyc2VzID0gIkhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1uZWFyZCA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKQEAgLTUyMSw3ICs1NTQsNyBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tcGJ6aXAyID0gIkRlbnlzIERteXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tcGNpdXRpbHMgPSAiQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXBjbWFuZm0gPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tcGVyZiA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1wZXJmID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tcGVybCA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXBlcmwtbmF0aXZlID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tcGlnbGl0ID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpAQCAtNTc3LDYgKzYxMCw4IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLXRlc3R0b29scyA9ICJEZXJlayBTdHJha2EgPGRlcmVrQGFzdGVyaXVzLmlvPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXFlbXUgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tcWVtdS1oZWxwZXItbmF0aXZlID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXFlbXUtbmF0aXZlID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXFlbXUtc3lzdGVtLW5hdGl2ZSA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1xZW11d3JhcHBlci1jcm9zcyA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1xdWlsdCA9ICJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1xdWlsdC1uYXRpdmUgPSAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgpAQCAtNjM0LDYgKzY2OSw3IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1zeXN0ZW1kLXNlcmlhbGdldHR5ID0gIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1zeXN0ZW1kLXN5c3RlbWN0bC1uYXRpdmUgPSAiQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN5c3RlbXRhcCA9ICJWaWN0b3IgS2FtZW5za3kgPGthbWVuc2t5QGNpc2NvLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1zeXN0ZW10YXAtbmF0aXZlID0gIlZpY3RvciBLYW1lbnNreSA8a2FtZW5za3lAY2lzY28uY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN5c3RlbXRhcC11cHJvYmVzID0gIlZpY3RvciBLYW1lbnNreSA8a2FtZW5za3lAY2lzY28uY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN5c3Zpbml0ID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tc3lzdmluaXQtaW5pdHRhYiA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKQEAgLTY1Myw3ICs2ODksNyBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tdHpkYXRhID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tdS1ib290ID0gIk1hcmVrIFZhc3V0IDxtYXJlay52YXN1dEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tdS1ib290LWZ3LXV0aWxzID0gIk1hcmVrIFZhc3V0IDxtYXJlay52YXN1dEBnbWFpbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tdS1ib290LW1raW1hZ2UgPSAiTWFyZWsgVmFzdXQgPG1hcmVrLnZhc3V0QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi11LWJvb3QtdG9vbHMgPSAiTWFyZWsgVmFzdXQgPG1hcmVrLnZhc3V0QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi11ZGV2LWV4dHJhY29uZiA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXVuZnMzID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tdW5pZmRlZiA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKQEAgLTY2Nyw2ICs3MDMsOSBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tdjg2ZCA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi12YWxhID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXZhbGdyaW5kID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXZpbSA9ICJUb20gUmluaSA8dHJpbmlAa29uc3Vsa28uY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXZpbS10aW55ID0gIlRvbSBSaW5pIDx0cmluaUBrb25zdWxrby5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdmlyZ2xyZW5kZXJlciA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi12b2xhdGlsZS1iaW5kcyA9ICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tdnRlID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tdnVsa2FuID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpAQCAtNjgzLDcgKzcyMiw3IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi13Z2V0ID0gIllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi13aGljaCA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXdpYy10b29scyA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLXdwYS1zdXBwbGljYW50ID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBsZ2UuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXdwYS1zdXBwbGljYW50ID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4teDExcGVyZiA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXgyNjQgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi14YXV0aCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKQEAgLTcyOSw3ICs3NjgsNiBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4teHNldCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXh0cmFucyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXh1c2VyLWFjY291bnQgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi14dmlkZW8tdGVzdHMgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi14dmluZm8gPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi14d2luaW5mbyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXh6ID0gIkRlbnlzIERteXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jCmluZGV4IGNkYzUzOTEuLjcxMmQ4NTggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYworKysgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMKQEAgLTQsNiArNCw3IEBACiBESVNBQkxFX1NUQVRJQ19wbi1xZW11ID0gIiIKIERJU0FCTEVfU1RBVElDX3BuLXFlbXUtbmF0aXZlID0gIiIKIERJU0FCTEVfU1RBVElDX3BuLW5hdGl2ZXNkay1xZW11ID0gIiIKK0RJU0FCTEVfU1RBVElDX3BuLXFlbXUtc3lzdGVtLW5hdGl2ZSA9ICIiCiAjIHBjaXV0aWxzIGZhaWxzIGJ1aWxkCiBESVNBQkxFX1NUQVRJQ19wbi1wY2l1dGlscyA9ICIiCiAjIGxpYmNhcCBhYm9ydHMgb24gdW5yZWNvZ25pc2VkIG9wdGlvbgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYyBiL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMKaW5kZXggOGQxMDc2NC4uMzI0NjQ5MCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYworKysgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jCkBAIC0yMiwxNyArMjIsOCBAQAogCQkgICAgIGdsaWJjLWRldiBcCiAJCSAgICAgZ2xpYmMtdXRpbHMgXAogCQkgICAgIGdsaWJjLXRocmVhZC1kYiBcCi0JCSAgICAgJHtAZ2V0X2xpYmNfbG9jYWxlc19kZXBlbmRlbmNpZXMoZCl9IgotCi1MSUJDX0xPQ0FMRV9ERVBFTkRFTkNJRVMgPSAiXAotCWdsaWJjLWxvY2FsZWRhdGEtaTE4biBcCi0JZ2xpYmMtZ2NvbnYtaWJtODUwIFwKLQlnbGliYy1nY29udi1jcDEyNTIgXAotCWdsaWJjLWdjb252LWlzbzg4NTktMSBcCi0JZ2xpYmMtZ2NvbnYtaXNvODg1OS0xNSIKLQotZGVmIGdldF9saWJjX2xvY2FsZXNfZGVwZW5kZW5jaWVzKGQpOgotICAgIGlmICdsaWJjLWxvY2FsZXMnIGluIChkLmdldFZhcignRElTVFJPX0ZFQVRVUkVTJykgb3IgJycpLnNwbGl0KCkgOgotICAgICAgICByZXR1cm4gZC5nZXRWYXIoJ0xJQkNfTE9DQUxFX0RFUEVOREVOQ0lFUycpIG9yICcnCi0gICAgZWxzZToKLSAgICAgICAgcmV0dXJuICcnCisJCSAgICAgZ2xpYmMtbG9jYWxlZGF0YS1pMThuIFwKKwkJICAgICBnbGliYy1nY29udi1pYm04NTAgXAorCQkgICAgIGdsaWJjLWdjb252LWNwMTI1MiBcCisJCSAgICAgZ2xpYmMtZ2NvbnYtaXNvODg1OS0xIFwKKwkJICAgICBnbGliYy1nY29udi1pc284ODU5LTE1IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jCmluZGV4IGY4ZGE2NTEuLjA0MzczY2MgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYworKysgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmMKQEAgLTMsMzMgKzMsMjkgQEAKICMKIAogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzID0gImJpbnV0aWxzLWNyb3NzLSR7VEFSR0VUX0FSQ0h9IgotUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbml0aWFsID0gImdjYy1jcm9zcy1pbml0aWFsLSR7VEFSR0VUX0FSQ0h9IgogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYyA9ICJnY2MtY3Jvc3MtJHtUQVJHRVRfQVJDSH0iCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9ZysrID0gImdjYy1jcm9zcy0ke1RBUkdFVF9BUkNIfSIKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1jb21waWxlcmxpYnMgPSAiZ2NjLXJ1bnRpbWUiCiBQUkVGRVJSRURfUFJPVklERVJfZ2RiID0gImdkYiIKIAogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtTREtfUFJFRklYfWJpbnV0aWxzLWNyb3Nzc2RrID89ICJiaW51dGlscy1jcm9zc3Nkay0ke1NES19TWVN9IgotUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtTREtfUFJFRklYfWdjYy1pbml0aWFsID0gImdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1NES19QUkVGSVh9Z2NjID0gImdjYy1jcm9zc3Nkay0ke1NES19TWVN9IgogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtTREtfUFJFRklYfWcrKyA9ICJnY2MtY3Jvc3NzZGstJHtTREtfU1lTfSIKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7U0RLX1BSRUZJWH1jb21waWxlcmxpYnMgPSAibmF0aXZlc2RrLWdjYy1ydW50aW1lIgogCiAjIERlZmF1bHQgbGliYyBjb25maWcKLVBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1saWJjLWZvci1nY2MgPSAiJHtUQ0xJQkN9IgotUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbmF0aXZlc2RrLSR7U0RLX1BSRUZJWH1saWJjLWZvci1nY2MgPz0gIm5hdGl2ZXNkay1nbGliYyIKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1saWJjLWluaXRpYWwgPSAiJHtUQ0xJQkN9LWluaXRpYWwiCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9uYXRpdmVzZGstJHtTREtfUFJFRklYfWxpYmMtaW5pdGlhbCA/PSAibmF0aXZlc2RrLWdsaWJjLWluaXRpYWwiCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9nZXR0ZXh0ID8/PSAiZ2V0dGV4dCIKIAogR0NDVkVSU0lPTiA/PSAiOC4lIgogU0RLR0NDVkVSU0lPTiA/PSAiJHtHQ0NWRVJTSU9OfSIKLUJJTlVWRVJTSU9OID89ICIyLjMxJSIKK0JJTlVWRVJTSU9OID89ICIyLjMyJSIKIEdEQlZFUlNJT04gPz0gIjguMiUiCi1HTElCQ1ZFUlNJT04gPz0gIjIuMjglIgotTElOVVhMSUJDVkVSU0lPTiA/PSAiNC4xOCUiCi1RRU1VVkVSU0lPTiA/PSAiMy4wJSIKLUdPVkVSU0lPTiA/PSAiMS4xMSUiCitHTElCQ1ZFUlNJT04gPz0gIjIuMjklIgorTElOVVhMSUJDVkVSU0lPTiA/PSAiNS4wJSIKK1FFTVVWRVJTSU9OID89ICIzLjElIgorR09WRVJTSU9OID89ICIxLjEyJSIKIAogUFJFRkVSUkVEX1ZFUlNJT05fZ2NjID89ICIke0dDQ1ZFUlNJT059IgogUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9ID89ICIke0dDQ1ZFUlNJT059IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdXBzdHJlYW1fdHJhY2tpbmcuaW5jIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdXBzdHJlYW1fdHJhY2tpbmcuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMmE1ZTZjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3Vwc3RyZWFtX3RyYWNraW5nLmluYworKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLSMgTk9URTogVEhJUyBGSUxFIElTIERFUFJFQ0FURUQuIFBsZWFzZSBhZGQgbmV3IGVudHJpZXMgdG8gdGhlIHJlY2lwZXMgdGhlbXNlbHZlcy4KLSMKLSMgdXBzdHJlYW1fdHJhY2tpbmcuaW5jIC0gVGhpcyBmaWxlIGNvbnRhaW5zIGRhdGEgdGhhdCB0cmFja3MgdGhlCi0jIHVwc3RyZWFtIHByb2plY3QgYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gcmVjaXBlLiBUaGlzIGxpc3QgaXMgbmVlZGVkCi0jIGZvciByZWNpcGVzIHRoYXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBjYW4gbm90IGJlIGF1dG9tYWdpY2FsbHkgZGlzY292ZXJlZC4KLSMgQXMgd2UgYXV0b21hdGUgdGhpcyBjaGVja2luZywgdGhpcyBmaWxlIHdpbGwgc2xvd2VkIGJlIHJlZHVjZWQuCi0jCi0jIFRoaXMgZGF0YSBpcyB1c2VkIGJ5IHRoZSBwYWNrYWdlIHJlcG9ydGluZyBzeXN0ZW0gKHBhY2thZ2VzLnlvY3RvcHJvamVjdC5vcmcpCi0jCi0jIFRoZSBmb3JtYXQgaXMgYXMgYSBiaXRiYWtlIHZhcmlhYmxlIG92ZXJyaWRlIGZvciBlYWNoIHJlY2lwZQotIwotIyAgICAgICBSRUNJUEVfVVBTVFJFQU1fVkVSU0lPTl9wbi08cmVjaXBlIG5hbWU+ID0gIjx2ZXJzaW9uPiIKLSMgICAgICAgUkVDSVBFX1VQU1RSRUFNX0RBVEVfcG4tPHJlY2lwZSBuYW1lPiA9ICJNbW0gZGQsIFlZWVkiCi0jCSAtIFRoaXMgaXMgdGhlIGxhdGVzdCB1cHN0cmVhbSB2ZXJzaW9uIGFuZCBkYXRlCi0jICAgICAgIFJFQ0lQRV9OT19VUERBVEVfUkVBU09OX3BuLTxyZWNpcGUgbmFtZT4gPSAiPGZyZWUgZm9ybSB0ZXh0PiIKLSMgICAgICAgIC0gVXNlZCB0byBub3RlIHdoeSBhIHJlY2lwZSBzaG91bGQgbm90IGJlIHVwZ3JhZGVkIHRvIGEgbmV3ZXIgdmVyc29pbgotIyAgICAgICBDSEVDS19EQVRFX3BuLTxyZWNpcGUgbmFtZT4gPSAiTW1tIGRkLCBZWVlZIgotIyAgICAgICAgLSBUaGlzIGlzIHRoZSBkYXRlIHRoYXQgdXBzdHJlYW0gd2FzIGxhc3QgbWFudWFsbHkgY2hlY2tlZCBvdmVyIHRpbWUKLSMgICAgICAgICAgdGhpcyBzaG91bGQgYmUgcmVtb3ZlZCBhcyB3ZSBhdXRvbWF0ZSB0aGlzIGNoZWNraW5nCi0jCi0jIFRoZXNlIGVudHJpZXMgd2lsbCBzbG93bHkgYmUgcmVtb3ZlZCBhcyB3ZSBjYW4gYXV0b21hdGljYWxseSBkZXRlcm1pbmUKLSMgdGhlIGluZm9ybWF0aW9uIGluIHRoaXMgZmlsZS4gIFNvIGZvciBleGlzdGluZyByZWNpcGVzIHRoYXQgd2UgY2FuIGdldCAKLSMgZnJvbSB0aGUgUmVjaXBlIHJlcG9ydGluZyBzeXN0ZW0sIHRoZSBlbnRyaWVzIGhlcmUgY2FuIGJlIHJlbW92ZWQuCi0jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYgYi9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYKaW5kZXggZmM2ZDAwOC4uNTUwZGYyMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mCisrKyBiL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZgpAQCAtMTI1LDcgKzEyNSw3IEBACiBEQVRFW2RvY10gPSAiVGhlIGRhdGUgdGhlIGJ1aWxkIHdhcyBzdGFydGVkIHVzaW5nIFlNRCBmb3JtYXQuIgogREFURVRJTUVbZG9jXSA9ICJUaGUgZGF0ZSBhbmQgdGltZSB0aGUgYnVpbGQgd2FzIHN0YXJ0ZWQuIgogREVCVUdfQlVJTERbZG9jXSA9ICJTcGVjaWZpZXMgdG8gYnVpbGQgcGFja2FnZXMgd2l0aCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uIFRoaXMgaW5mbHVlbmNlcyB0aGUgdmFsdWUgb2YgdGhlIFNFTEVDVEVEX09QVElNSVpBVElPTiB2YXJpYWJsZS4iCi1ERUJVR19PUFRJTUlaQVRJT05bZG9jXSA9ICJUaGUgb3B0aW9ucyB0byBwYXNzIGluIFRBUkdFVF9DRkxBR1MgYW5kIENGTEFHUyB3aGVuIGNvbXBpbGluZyBhIHN5c3RlbSBmb3IgZGVidWdnaW5nLiBUaGlzIHZhcmlhYmxlIGRlZmF1bHRzIHRvICctTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAke0RFQlVHX0ZMQUdTfSAtcGlwZScuIgorREVCVUdfT1BUSU1JWkFUSU9OW2RvY10gPSAiVGhlIG9wdGlvbnMgdG8gcGFzcyBpbiBUQVJHRVRfQ0ZMQUdTIGFuZCBDRkxBR1Mgd2hlbiBjb21waWxpbmcgYSBzeXN0ZW0gZm9yIGRlYnVnZ2luZy4gVGhpcyB2YXJpYWJsZSBkZWZhdWx0cyB0byAnLU9nICR7REVCVUdfRkxBR1N9IC1waXBlJy4iCiBERUZBVUxUX1BSRUZFUkVOQ0VbZG9jXSA9ICJTcGVjaWZpZXMgYSB3ZWFrIGJpYXMgZm9yIHJlY2lwZSBzZWxlY3Rpb24gcHJpb3JpdHkuIgogREVQRU5EU1tkb2NdID0gIkxpc3RzIGEgcmVjaXBlJ3MgYnVpbGQtdGltZSBkZXBlbmRlbmNpZXMgKGkuZS4gb3RoZXIgcmVjaXBlIGZpbGVzKS4iCiBERVBMT1lfRElSW2RvY10gPSAiUG9pbnRzIHRvIHRoZSBnZW5lcmFsIGFyZWEgdGhhdCB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSB1c2VzIHRvIHBsYWNlIGltYWdlcywgcGFja2FnZXMsIFNES3MgYW5kIG90aGVyIG91dHB1dCBmaWxlcyB0aGF0IGFyZSByZWFkeSB0byBiZSB1c2VkIG91dHNpZGUgb2YgdGhlIGJ1aWxkIHN5c3RlbS4iCkBAIC00MTMsNyArNDEzLDcgQEAKIFRBUkdFVF9PU1tkb2NdID0gIlNwZWNpZmllcyB0aGUgdGFyZ2V0J3Mgb3BlcmF0aW5nIHN5c3RlbS4iCiBUQVJHRVRfUFJFRklYW2RvY10gPSAiVGhlIHByZWZpeCBmb3IgdGhlIGNyb3NzLWNvbXBpbGUgdG9vbGNoYWluIChlLmcuIGFybS1saW51eC0pLiIKIFRBUkdFVF9TWVNbZG9jXSA9ICJUaGUgdGFyZ2V0IHN5c3RlbSBpcyBjb21wcmlzZWQgb2YgVEFSR0VUX0FSQ0gsVEFSR0VUX1ZFTkRPUiBhbmQgVEFSR0VUX09TLiIKLVRDTElCQ1tkb2NdID0gIlNwZWNpZmllcyBDIGxpYnJhcnkgKGxpYmMpIHZhcmlhbnQgdG8gdXNlIGR1cmluZyB0aGUgYnVpbGQgcHJvY2Vzcy4gWW91IGNhbiBzZWxlY3QgJ2JhcmVtZXRhbCcsICdnbGliYycgb3IgJ211c2wnLiIKK1RDTElCQ1tkb2NdID0gIlNwZWNpZmllcyBDIGxpYnJhcnkgKGxpYmMpIHZhcmlhbnQgdG8gdXNlIGR1cmluZyB0aGUgYnVpbGQgcHJvY2Vzcy4gWW91IGNhbiBzZWxlY3QgJ2JhcmVtZXRhbCcsICdnbGliYycsICdtdXNsJyBvciAnbmV3bGliJy4iCiBUQ01PREVbZG9jXSA9ICJFbmFibGVzIGFuIGV4dGVybmFsIHRvb2xjaGFpbiAod2hlcmUgcHJvdmlkZWQgYnkgYW4gYWRkaXRpb25hbCBsYXllcikgaWYgc2V0IHRvIGEgdmFsdWUgb3RoZXIgdGhhbiAnZGVmYXVsdCcuIgogVEVTVElNQUdFX0FVVE9bZG9jXSA9ICJFbmFibGVzIHRlc3QgYm9vdGluZyBvZiB2aXJ0dWFsIG1hY2hpbmUgaW1hZ2VzIHVuZGVyIHRoZSBRRU1VIGVtdWxhdG9yIGFmdGVyIGFueSByb290IGZpbGVzeXN0ZW1zIGFyZSBjcmVhdGVkIGFuZCBydW5zIHRlc3RzIGFnYWluc3QgdGhvc2UgaW1hZ2VzIGVhY2ggdGltZSBhbiBpbWFnZSBpcyBidWlsdC4iCiBURVNUX1FFTVVCT09UX1RJTUVPVVRbZG9jXSA9ICJUaGUgdGltZSBpbiBzZWNvbmRzIGFsbG93ZWQgZm9yIGFuIGltYWdlIHRvIGJvb3QgYmVmb3JlIGF1dG9tYXRlZCBydW50aW1lIHRlc3RzIGJlZ2luIHRvIHJ1biBhZ2FpbnN0IGFuIGltYWdlLiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL2xheWVyLmNvbmYgYi9wb2t5L21ldGEvY29uZi9sYXllci5jb25mCmluZGV4IGM2N2RlYzQuLjlkNjNiNWIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL2xheWVyLmNvbmYKKysrIGIvcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZgpAQCAtNywxMiArNywxMiBAQAogQkJGSUxFX1BBVFRFUk5fY29yZSA9ICJeJHtMQVlFUkRJUn0vIgogQkJGSUxFX1BSSU9SSVRZX2NvcmUgPSAiNSIKIAotTEFZRVJTRVJJRVNfQ09SRU5BTUVTID0gInRodWQiCitMQVlFUlNFUklFU19DT1JFTkFNRVMgPSAid2FycmlvciIKIAogIyBUaGlzIHNob3VsZCBvbmx5IGJlIGluY3JlbWVudGVkIG9uIHNpZ25pZmljYW50IGNoYW5nZXMgdGhhdCB3aWxsCiAjIGNhdXNlIGNvbXBhdGliaWxpdHkgaXNzdWVzIHdpdGggb3RoZXIgbGF5ZXJzCiBMQVlFUlZFUlNJT05fY29yZSA9ICIxMSIKLUxBWUVSU0VSSUVTX0NPTVBBVF9jb3JlID0gInRodWQiCitMQVlFUlNFUklFU19DT01QQVRfY29yZSA9ICJ3YXJyaW9yIgogCiBCQkxBWUVSU19MQVlFUklOREVYX05BTUVfY29yZSA9ICJvcGVuZW1iZWRkZWQtY29yZSIKIApAQCAtNDksOSArNDksNyBAQAogICAqLT5xdWlsdC1uYXRpdmUgXAogICAqLT5zdWJ2ZXJzaW9uLW5hdGl2ZSBcCiAgICotPmdpdC1uYXRpdmUgXAotICAqLT5jY2FjaGUtbmF0aXZlIFwKICAgKi0+aWNlY2MtY3JlYXRlLWVudi1uYXRpdmUgXAotICBnY2MtY3Jvc3MtJHtUQVJHRVRfQVJDSH0tPnZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtZm9yLWdjYyBcCiAgIGdjYy1jcm9zcy0ke1RBUkdFVF9BUkNIfS0+bGludXgtbGliYy1oZWFkZXJzIFwKICAgcHBwLWRpYWxpbi0+cHBwIFwKICAgcmVzb2x2Y29uZi0+YmFzaCBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtNjQuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybTY0LmluYwppbmRleCA1ZjkwNzYzLi41M2Y0NTY2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtNjQuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm02NC5pbmMKQEAgLTQsNyArNCw3IEBACiAKIFRVTkVWQUxJRFthYXJjaDY0XSA9ICJFbmFibGUgaW5zdHJ1Y3Rpb25zIGZvciBhYXJjaDY0IgogCi1NQUNISU5FT1ZFUlJJREVTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhYXJjaDY0JywgJzphYXJjaDY0JywgJycgLGQpfSIKK01BQ0hJTkVPVkVSUklERVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FhcmNoNjQnLCAnYWFyY2g2NDonLCAnJyAsZCl9IgogCiAjIExpdHRsZSBFbmRpYW4gYmFzZSBjb25maWdzCiBBVkFJTFRVTkVTICs9ICJhYXJjaDY0IGFhcmNoNjRfYmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjQuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY0LmluYwppbmRleCA4MTNlZDE1Li40N2E3YWQyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjQuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12NC5pbmMKQEAgLTIsNyArMiw3IEBACiAKIFRVTkVWQUxJRFthcm1dID0gIkVuYWJsZSBBUk0gaW5zdHJ1Y3Rpb24gc2V0IgogVFVORVZBTElEW2FybXY0XSA9ICJFbmFibGUgaW5zdHJ1Y3Rpb25zIGZvciBBUk12NCIKLVRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm12NCcsICcgLW1hcmNoPWFybXY0JHtBUk1QS0dTRlhfVEhVTUJ9JywgJycsIGQpfSIKK1RVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm12NCcsICcgLW1hcmNoPWFybXY0dCcsICcnLCBkKX0iCiAjIGVuYWJsZSAtLWZpeC12NGJ4IHdoZW4gd2UgaGF2ZSBhcm12NCBpbiBUVU5FX0ZFQVRVUkVTLCBidXQgdGhlbiBkaXNhYmxlIGl0IHdoZW4gd2UgaGF2ZSBhbHNvIGFybXY1IG9yIHRodW1iCiAjIG1heWJlIHdlIHNob3VsZCBleHRlbmQgYmIudXRpbHMuY29udGFpbnMgdG8gc3VwcG9ydCBjaGVjayBmb3IgYW55IGNoZWNrdmFsdWVzIGluIHZhbHVlLCBub3cgaXQgZG9lcyAKICMgY2hlY2t2YWx1ZXMuaXNzdWJzZXQodmFsKSB3aGljaCBjYW5ub3QgYmUgdXNlZCBmb3IgbmVnYXRpdmUgdGVzdCBvZiBmb28gbmVpdGhlciBiYXIgaW4gdmFsdWUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12NS1kc3AuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY1LWRzcC5pbmMKaW5kZXggMWYxNjA4NS4uZDExN2FmMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY1LWRzcC5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY1LWRzcC5pbmMKQEAgLTEsNCArMSw0IEBACi1BUk1QS0dTRlhfRFNQID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgWyAnYXJtdjUnLCAnZHNwJyBdLCAnZScsICcnLCBkKX0iCitBUk1QS0dTRlhfRFNQID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgWyAnZHNwJyBdLCAnZScsICcnLCBkKX0iCiBUVU5FVkFMSURbZHNwXSA9ICJBUk0gRFNQIGZ1bmN0aW9uYWxpdHkiCiAKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjUuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjUuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY1LmluYwppbmRleCA0NmY2MzFjLi5mOTA2OGFmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjUuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12NS5pbmMKQEAgLTIsNyArMiw3IEBACiAKIFRVTkVWQUxJRFthcm12NV0gPSAiRW5hYmxlIGluc3RydWN0aW9ucyBmb3IgQVJNdjUiCiBUVU5FQ09ORkxJQ1RTW2FybXY1XSA9ICJhcm12NCIKLVRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm12NScsICcgLW1hcmNoPWFybXY1JHtBUk1QS0dTRlhfVEhVTUJ9JHtBUk1QS0dTRlhfRFNQfScsICcnLCBkKX0iCitUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnYXJtdjUnLCAnIC1tYXJjaD1hcm12NXQke0FSTVBLR1NGWF9EU1B9JywgJycsIGQpfSIKIE1BQ0hJTkVPVkVSUklERVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybXY1JywgJ2FybXY1OicsICcnICxkKX0iCiAKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjQuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjdhLmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12N2EuaW5jCmluZGV4IGEyNjYzZDguLjE5OWU2M2YgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12N2EuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12N2EuaW5jCkBAIC0xMCwxMyArMTAsMTUgQEAKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2ZlYXR1cmUtYXJtLW5lb24uaW5jCiAKICMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKLUFWQUlMVFVORVMgKz0gImFybXY3YSBhcm12N2F0IGFybXY3YS12ZnB2M2QxNiBhcm12N2F0LXZmcHYzZDE2IGFybXY3YS12ZnB2MyBhcm12N2F0LXZmcHYzIGFybXY3YS1uZW9uIGFybXY3YXQtbmVvbiBhcm12N2EtbmVvbi12ZnB2NCBhcm12N2F0LW5lb24tdmZwdjQiCitBVkFJTFRVTkVTICs9ICJhcm12N2EgYXJtdjdhdCBhcm12N2EtdmZwdjNkMTYgYXJtdjdhdC12ZnB2M2QxNiBhcm12N2EtdmZwdjMgYXJtdjdhdC12ZnB2MyBhcm12N2EtdmZwdjRkMTYgYXJtdjdhdC12ZnB2NGQxNiBhcm12N2EtbmVvbiBhcm12N2F0LW5lb24gYXJtdjdhLW5lb24tdmZwdjQgYXJtdjdhdC1uZW9uLXZmcHY0IgogQVJNUEtHQVJDSF90dW5lLWFybXY3YSAgICAgICAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YXQgICAgICAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YS12ZnB2M2QxNiAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YXQtdmZwdjNkMTYgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YS12ZnB2MyAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YXQtdmZwdjMgICAgICA/PSAiYXJtdjdhIgorQVJNUEtHQVJDSF90dW5lLWFybXY3YS12ZnB2NGQxNiAgICA/PSAiYXJtdjdhIgorQVJNUEtHQVJDSF90dW5lLWFybXY3YXQtdmZwdjRkMTYgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YS1uZW9uICAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YXQtbmVvbiAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YS1uZW9uLXZmcHY0ICA/PSAiYXJtdjdhIgpAQCAtMjcsNiArMjksOCBAQAogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXQtdmZwdjNkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0fSB2ZnB2M2QxNiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtdmZwdjMgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLXZmcHYzZDE2fSB2ZnB2MyIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LXZmcHYzICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC12ZnB2M2QxNn0gdmZwdjMiCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLXZmcHY0ZDE2ICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YX0gdmZwdjRkMTYiCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC12ZnB2NGQxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXR9IHZmcHY0ZDE2IgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YS1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F9IG5lb24iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXR9IG5lb24iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YS1uZW9ufSB2ZnB2NCIKQEAgLTM3LDE5ICs0MSwyMyBAQAogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXQtdmZwdjNkMTYgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0fSBhcm12N2EtdmZwdjNkMTYgYXJtdjdhdDItdmZwdjNkMTYiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhLXZmcHYzICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YS12ZnB2M2QxNn0gYXJtdjdhLXZmcHYzIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXQtdmZwdjMgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0LXZmcHYzZDE2fSBhcm12N2EtdmZwdjMgYXJtdjdhdDItdmZwdjMiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhLXZmcHY0ZDE2ICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YX0gYXJtdjdhLXZmcHY0ZDE2IgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXQtdmZwdjRkMTYgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0fSBhcm12N2EtdmZwdjRkMTYgYXJtdjdhdDItdmZwdjRkMTYiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhLW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YX0gYXJtdjdhLW5lb24iCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdC1uZW9uICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXR9IGFybXY3YS1uZW9uIGFybXY3YXQyLW5lb24iCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhLW5lb24tdmZwdjQgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YS1uZW9ufSBhcm12N2EtbmVvbi12ZnB2NCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0LW5lb24tdmZwdjQgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdC1uZW9ufSBhcm12N2EtbmVvbi12ZnB2NCBhcm12N2F0Mi1uZW9uLXZmcHY0IgogCiAjIEhGIFR1bmVzCi1BVkFJTFRVTkVTICs9ICJhcm12N2FoZiBhcm12N2F0aGYgYXJtdjdhaGYtdmZwdjNkMTYgYXJtdjdhdGhmLXZmcHYzZDE2IGFybXY3YWhmLXZmcHYzIGFybXY3YXRoZi12ZnB2MyBhcm12N2FoZi1uZW9uIGFybXY3YXRoZi1uZW9uIGFybXY3YWhmLW5lb24tdmZwdjQgYXJtdjdhdGhmLW5lb24tdmZwdjQiCitBVkFJTFRVTkVTICs9ICJhcm12N2FoZiBhcm12N2F0aGYgYXJtdjdhaGYtdmZwdjNkMTYgYXJtdjdhdGhmLXZmcHYzZDE2IGFybXY3YWhmLXZmcHYzIGFybXY3YXRoZi12ZnB2MyBhcm12N2FoZi12ZnB2NGQxNiBhcm12N2F0aGYtdmZwdjRkMTYgYXJtdjdhaGYtbmVvbiBhcm12N2F0aGYtbmVvbiBhcm12N2FoZi1uZW9uLXZmcHY0IGFybXY3YXRoZi1uZW9uLXZmcHY0IgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWhmICAgICAgICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmICAgICAgICAgICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2FoZi12ZnB2M2QxNiAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YXRoZi12ZnB2M2QxNiAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGYtdmZwdjMgICAgICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2F0aGYtdmZwdjMgICAgICA/PSAiYXJtdjdhIgorQVJNUEtHQVJDSF90dW5lLWFybXY3YWhmLXZmcHY0ZDE2ICAgID89ICJhcm12N2EiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmLXZmcHY0ZDE2ICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2FoZi1uZW9uICAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YXRoZi1uZW9uICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGYtbmVvbi12ZnB2NCAgPz0gImFybXY3YSIKQEAgLTYwLDYgKzY4LDggQEAKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGYtdmZwdjNkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LXZmcHYzZDE2fSBjYWxsY29udmVudGlvbi1oYXJkIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmLXZmcHYzICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YS12ZnB2M30gY2FsbGNvbnZlbnRpb24taGFyZCIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGYtdmZwdjMgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LXZmcHYzfSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmLXZmcHY0ZDE2ICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YS12ZnB2NGQxNn0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGYtdmZwdjRkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LXZmcHY0ZDE2fSBjYWxsY29udmVudGlvbi1oYXJkIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YS1uZW9ufSBjYWxsY29udmVudGlvbi1oYXJkIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXQtbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FoZi1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtbmVvbi12ZnB2NH0gY2FsbGNvbnZlbnRpb24taGFyZCIKQEAgLTcwLDE5ICs4MCwyMyBAQAogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZi12ZnB2M2QxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZn0gYXJtdjdhaGYtdmZwdjNkMTYgYXJtdjdhdDJoZi12ZnB2M2QxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZi12ZnB2MyAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZi12ZnB2M2QxNn0gYXJtdjdhaGYtdmZwdjMiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmLXZmcHYzICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmLXZmcHYzZDE2fSBhcm12N2FoZi12ZnB2MyBhcm12N2F0MmhmLXZmcHYzIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmLXZmcHY0ZDE2ICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmfSBhcm12N2FoZi12ZnB2NGQxNiIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGYtdmZwdjRkMTYgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGZ9IGFybXY3YWhmLXZmcHY0ZDE2IGFybXY3YXQyaGYtdmZwdjRkMTYiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGYtbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGZ9IGFybXY3YWhmLW5lb24iCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmLW5lb24gICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmfSBhcm12N2FoZi1uZW9uIGFybXY3YXQyaGYtbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZi1uZW9uLXZmcHY0ICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZi1uZW9ufSBhcm12N2FoZi1uZW9uLXZmcHY0IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZi1uZW9uLXZmcHY0ID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZi1uZW9ufSBhcm12N2FoZi1uZW9uLXZmcHY0IGFybXY3YXQyaGYtbmVvbi12ZnB2NCIKIAogIyBCaWcgRW5kaWFuCi1BVkFJTFRVTkVTICs9ICJhcm12N2FiIGFybXY3YXRiIGFybXY3YWItdmZwdjNkMTYgYXJtdjdhdGItdmZwdjNkMTYgYXJtdjdhYi12ZnB2MyBhcm12N2F0Yi12ZnB2MyBhcm12N2FiLW5lb24gYXJtdjdhdGItbmVvbiBhcm12N2FiLW5lb24tdmZwdjQgYXJtdjdhdGItbmVvbi12ZnB2NCIKK0FWQUlMVFVORVMgKz0gImFybXY3YWIgYXJtdjdhdGIgYXJtdjdhYi12ZnB2M2QxNiBhcm12N2F0Yi12ZnB2M2QxNiBhcm12N2FiLXZmcHYzIGFybXY3YXRiLXZmcHYzIGFybXY3YWItdmZwdjRkMTYgYXJtdjdhdGItdmZwdjRkMTYgYXJtdjdhYi1uZW9uIGFybXY3YXRiLW5lb24gYXJtdjdhYi1uZW9uLXZmcHY0IGFybXY3YXRiLW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhYiAgICAgICAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YXRiICAgICAgICAgICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2FiLXZmcHYzZDE2ICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGItdmZwdjNkMTYgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWItdmZwdjMgICAgICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2F0Yi12ZnB2MyAgICAgID89ICJhcm12N2EiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjdhYi12ZnB2NGQxNiAgICA/PSAiYXJtdjdhIgorQVJNUEtHQVJDSF90dW5lLWFybXY3YXRiLXZmcHY0ZDE2ICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2FiLW5lb24gICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGItbmVvbiAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWItbmVvbi12ZnB2NCAgPz0gImFybXY3YSIKQEAgLTkzLDYgKzEwNyw4IEBACiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGItdmZwdjNkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LXZmcHYzZDE2fSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhYi12ZnB2MyAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtdmZwdjN9IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0Yi12ZnB2MyAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXQtdmZwdjN9IGJpZ2VuZGlhbiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FiLXZmcHY0ZDE2ICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YS12ZnB2NGQxNn0gYmlnZW5kaWFuIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRiLXZmcHY0ZDE2ICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC12ZnB2NGQxNn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YWItbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLW5lb259IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0Yi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXQtbmVvbn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YWItbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLW5lb24tdmZwdjR9IGJpZ2VuZGlhbiIKQEAgLTEwMywxOSArMTE5LDIzIEBACiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGItdmZwdjNkMTYgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0Yn0gYXJtdjdhYi12ZnB2M2QxNiBhcm12N2F0MmItdmZwdjNkMTYiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhYi12ZnB2MyAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FiLXZmcHYzZDE2fSBhcm12N2FiLXZmcHYzIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRiLXZmcHYzICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGItdmZwdjNkMTZ9IGFybXY3YWItdmZwdjMgYXJtdjdhdDJiLXZmcHYzIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWItdmZwdjRkMTYgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhYn0gYXJtdjdhYi12ZnB2NGQxNiIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0Yi12ZnA0M2QxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRifSBhcm12N2FiLXZmcHY0ZDE2IGFybXY3YXQyYi12ZnB2NGQxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FiLW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWJ9IGFybXY3YWItbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0Yi1uZW9uICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRifSBhcm12N2FiLW5lb24gYXJtdjdhdDJiLW5lb24iCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhYi1uZW9uLXZmcHY0ICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FiLW5lb259IGFybXY3YWItbmVvbi12ZnB2NCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0Yi1uZW9uLXZmcHY0ID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRiLW5lb259IGFybXY3YWItbmVvbi12ZnB2NCBhcm12N2F0MmItbmVvbi12ZnB2NCIKIAogIyBCaWcgRW5kaWFuICsgSEYKLUFWQUlMVFVORVMgKz0gImFybXY3YWhmYiBhcm12N2F0aGZiIGFybXY3YWhmYi12ZnB2M2QxNiBhcm12N2F0aGZiLXZmcHYzZDE2IGFybXY3YWhmYi12ZnB2MyBhcm12N2F0aGZiLXZmcHYzIGFybXY3YWhmYi1uZW9uIGFybXY3YXRoZmItbmVvbiBhcm12N2FoZmItbmVvbi12ZnB2NCBhcm12N2F0aGZiLW5lb24tdmZwdjQiCitBVkFJTFRVTkVTICs9ICJhcm12N2FoZmIgYXJtdjdhdGhmYiBhcm12N2FoZmItdmZwdjNkMTYgYXJtdjdhdGhmYi12ZnB2M2QxNiBhcm12N2FoZmItdmZwdjMgYXJtdjdhdGhmYi12ZnB2MyBhcm12N2FoZmItdmZwdjRkMTYgYXJtdjdhdGhmYi12ZnB2NGQxNiBhcm12N2FoZmItbmVvbiBhcm12N2F0aGZiLW5lb24gYXJtdjdhaGZiLW5lb24tdmZwdjQgYXJtdjdhdGhmYi1uZW9uLXZmcHY0IgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWhmYiAgICAgICAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YXRoZmIgICAgICAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWhmYi12ZnB2M2QxNiAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YXRoZmItdmZwdjNkMTYgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWhmYi12ZnB2MyAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YXRoZmItdmZwdjMgICAgICA/PSAiYXJtdjdhIgorQVJNUEtHQVJDSF90dW5lLWFybXY3YWhmYi12ZnB2NGQxNiAgICA/PSAiYXJtdjdhIgorQVJNUEtHQVJDSF90dW5lLWFybXY3YXRoZmItdmZwdjRkMTYgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWhmYi1uZW9uICAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YXRoZmItbmVvbiAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWhmYi1uZW9uLXZmcHY0ICA/PSAiYXJtdjdhIgpAQCAtMTI2LDYgKzE0Niw4IEBACiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmYi12ZnB2M2QxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZi12ZnB2M2QxNn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmYi12ZnB2MyAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FoZi12ZnB2M30gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZmItdmZwdjMgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGYtdmZwdjN9IGJpZ2VuZGlhbiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FoZmItdmZwdjRkMTYgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGYtdmZwdjRkMTZ9IGJpZ2VuZGlhbiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGZiLXZmcHY0ZDE2ICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmLXZmcHY0ZDE2fSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGZiLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmLW5lb259IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGZiLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmLW5lb259IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FoZmItbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGYtbmVvbi12ZnB2NH0gYmlnZW5kaWFuIgpAQCAtMTM2LDYgKzE1OCw4IEBACiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmYi12ZnB2M2QxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZmJ9IGFybXY3YWhmYi12ZnB2M2QxNiBhcm12N2F0MmhmYi12ZnB2M2QxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZmItdmZwdjMgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGZiLXZmcHYzZDE2fSBhcm12N2FoZmItdmZwdjMiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmYi12ZnB2MyAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZmItdmZwdjNkMTZ9IGFybXY3YWhmYi12ZnB2MyBhcm12N2F0MmhmYi12ZnB2MyIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZmItdmZwdjRkMTYgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGZifSBhcm12N2FoZmItdmZwdjRkMTYiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmYi12ZnB2NGQxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZmJ9IGFybXY3YWhmYi12ZnB2NGQxNiBhcm12N2F0MmhmYi12ZnB2NGQxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZmItbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGZifSBhcm12N2FoZmItbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGZiLW5lb24gICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmYn0gYXJtdjdhaGZiLW5lb24gYXJtdjdhdDJoZmItbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZmItbmVvbi12ZnB2NCAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGZiLW5lb259IGFybXY3YWhmYi1uZW9uLXZmcHY0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY3dmUuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY3dmUuaW5jCmluZGV4IDRkOTI2MGYuLmZjMTcyZDAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12N3ZlLmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjd2ZS5pbmMKQEAgLTgsMTMgKzgsMTUgQEAKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjdhLmluYwogCiAjIExpdHRsZSBFbmRpYW4gYmFzZSBjb25maWdzCi1BVkFJTFRVTkVTICs9ICJhcm12N3ZlIGFybXY3dmV0IGFybXY3dmUtdmZwdjNkMTYgYXJtdjd2ZXQtdmZwdjNkMTYgYXJtdjd2ZS12ZnB2MyBhcm12N3ZldC12ZnB2MyBhcm12N3ZlLW5lb24gYXJtdjd2ZXQtbmVvbiBhcm12N3ZlLW5lb24tdmZwdjQgYXJtdjd2ZXQtbmVvbi12ZnB2NCIKK0FWQUlMVFVORVMgKz0gImFybXY3dmUgYXJtdjd2ZXQgYXJtdjd2ZS12ZnB2M2QxNiBhcm12N3ZldC12ZnB2M2QxNiBhcm12N3ZlLXZmcHYzIGFybXY3dmV0LXZmcHYzIGFybXY3dmUtdmZwdjRkMTYgYXJtdjd2ZXQtdmZwdjRkMTYgYXJtdjd2ZS1uZW9uIGFybXY3dmV0LW5lb24gYXJtdjd2ZS1uZW9uLXZmcHY0IGFybXY3dmV0LW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZSAgICAgICAgICAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldCAgICAgICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmUtdmZwdjNkMTYgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXQtdmZwdjNkMTYgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlLXZmcHYzICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0LXZmcHYzICAgICAgPz0gImFybXY3dmUiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZS12ZnB2NGQxNiAgICA/PSAiYXJtdjd2ZSIKK0FSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldC12ZnB2NGQxNiAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmUtbmVvbiAgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXQtbmVvbiAgICAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlLW5lb24tdmZwdjQgID89ICJhcm12N3ZlIgpAQCAtMjUsNiArMjcsOCBAQAogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LXZmcHYzZDE2ICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXR9IHZmcHYzZDE2IgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtdmZwdjMgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS12ZnB2M2QxNn0gdmZwdjMiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXQtdmZwdjMgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC12ZnB2M2QxNn0gdmZwdjMiCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS12ZnB2NGQxNiAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlfSB2ZnB2NGQxNiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC12ZnB2NGQxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0fSB2ZnB2NGQxNiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV9IG5lb24iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXQtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldH0gbmVvbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlLW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbn0gdmZwdjQiCkBAIC0zNSwxOSArMzksMjMgQEAKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldC12ZnB2M2QxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0fSBhcm12N3ZlLXZmcHYzZDE2IGFybXY3dmV0Mi12ZnB2M2QxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlLXZmcHYzICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmUtdmZwdjNkMTZ9IGFybXY3dmUtdmZwdjMiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXQtdmZwdjMgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldC12ZnB2M2QxNn0gYXJtdjd2ZS12ZnB2MyBhcm12N3ZldDItdmZwdjMiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZS12ZnB2NGQxNiAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlfSAgYXJtdjd2ZS12ZnB2NGQxNiIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldC12ZnB2NGQxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0fSBhcm12N3ZlLXZmcHY0ZDE2IGFybXY3dmV0Mi12ZnB2NGQxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlLW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV9IGFybXY3dmUtbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldC1uZW9uICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0fSBhcm12N3ZlLW5lb24gYXJtdjd2ZXQyLW5lb24iCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZS1uZW9uLXZmcHY0ICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlLW5lb259IGFybXY3dmUtbmVvbi12ZnB2NCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldC1uZW9uLXZmcHY0ID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0LW5lb259IGFybXY3dmUtbmVvbi12ZnB2NCBhcm12N3ZldDItbmVvbi12ZnB2NCIKIAogIyBIRiBUdW5lcwotQVZBSUxUVU5FUyArPSAiYXJtdjd2ZWhmIGFybXY3dmV0aGYgYXJtdjd2ZWhmLXZmcHYzZDE2IGFybXY3dmV0aGYtdmZwdjNkMTYgYXJtdjd2ZWhmLXZmcHYzIGFybXY3dmV0aGYtdmZwdjMgYXJtdjd2ZWhmLW5lb24gYXJtdjd2ZXRoZi1uZW9uIGFybXY3dmVoZi1uZW9uLXZmcHY0IGFybXY3dmV0aGYtbmVvbi12ZnB2NCIKK0FWQUlMVFVORVMgKz0gImFybXY3dmVoZiBhcm12N3ZldGhmIGFybXY3dmVoZi12ZnB2M2QxNiBhcm12N3ZldGhmLXZmcHYzZDE2IGFybXY3dmVoZi12ZnB2MyBhcm12N3ZldGhmLXZmcHYzIGFybXY3dmVoZi12ZnB2NGQxNiBhcm12N3ZldGhmLXZmcHY0ZDE2IGFybXY3dmVoZi1uZW9uIGFybXY3dmV0aGYtbmVvbiBhcm12N3ZlaGYtbmVvbi12ZnB2NCBhcm12N3ZldGhmLW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWhmICAgICAgICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0aGYgICAgICAgICAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlaGYtdmZwdjNkMTYgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRoZi12ZnB2M2QxNiAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmVoZi12ZnB2MyAgICAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldGhmLXZmcHYzICAgICAgPz0gImFybXY3dmUiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWhmLXZmcHY0ZDE2ICAgID89ICJhcm12N3ZlIgorQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0aGYtdmZwdjRkMTYgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlaGYtbmVvbiAgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRoZi1uZW9uICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmVoZi1uZW9uLXZmcHY0ICA/PSAiYXJtdjd2ZSIKQEAgLTU4LDYgKzY2LDggQEAKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmLXZmcHYzZDE2ICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXQtdmZwdjNkMTZ9IGNhbGxjb252ZW50aW9uLWhhcmQiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLXZmcHYzICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtdmZwdjN9IGNhbGxjb252ZW50aW9uLWhhcmQiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZi12ZnB2MyAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LXZmcHYzfSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZi12ZnB2NGQxNiAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlLXZmcHY0ZDE2fSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGYtdmZwdjRkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC12ZnB2NGQxNn0gY2FsbGNvbnZlbnRpb24taGFyZCIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGYtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS1uZW9ufSBjYWxsY29udmVudGlvbi1oYXJkIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGYtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC1uZW9ufSBjYWxsY29udmVudGlvbi1oYXJkIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZi1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlLW5lb24tdmZwdjR9IGNhbGxjb252ZW50aW9uLWhhcmQiCkBAIC02OCwxOSArNzgsMjMgQEAKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmLXZmcHYzZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZn0gYXJtdjd2ZWhmLXZmcHYzZDE2IGFybXY3dmV0MmhmLXZmcHYzZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZi12ZnB2MyAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGYtdmZwdjNkMTZ9IGFybXY3dmVoZi12ZnB2MyIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmLXZmcHYzICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZi12ZnB2M2QxNn0gYXJtdjd2ZWhmLXZmcHYzIGFybXY3dmV0MmhmLXZmcHYzIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZi12ZnB2NGQxNiAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGZ9IGFybXY3dmVoZi12ZnB2NGQxNiIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmLXZmcHY0ZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZn0gYXJtdjd2ZWhmLXZmcHY0ZDE2IGFybXY3dmV0MmhmLXZmcHY0ZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZi1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGZ9IGFybXY3dmVoZi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGYtbmVvbiAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmfSBhcm12N3ZlaGYtbmVvbiBhcm12N3ZldDJoZi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZi1uZW9uLXZmcHY0ICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGYtbmVvbn0gYXJtdjd2ZWhmLW5lb24tdmZwdjQiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZi1uZW9uLXZmcHY0ID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGYtbmVvbn0gYXJtdjd2ZWhmLW5lb24tdmZwdjQgYXJtdjd2ZXQyaGYtbmVvbi12ZnB2NCIKIAogIyBCaWcgRW5kaWFuCi1BVkFJTFRVTkVTICs9ICJhcm12N3ZlYiBhcm12N3ZldGIgYXJtdjd2ZWItdmZwdjNkMTYgYXJtdjd2ZXRiLXZmcHYzZDE2IGFybXY3dmViLXZmcHYzIGFybXY3dmV0Yi12ZnB2MyBhcm12N3ZlYi1uZW9uIGFybXY3dmV0Yi1uZW9uIGFybXY3dmViLW5lb24tdmZwdjQgYXJtdjd2ZXRiLW5lb24tdmZwdjQiCitBVkFJTFRVTkVTICs9ICJhcm12N3ZlYiBhcm12N3ZldGIgYXJtdjd2ZWItdmZwdjNkMTYgYXJtdjd2ZXRiLXZmcHYzZDE2IGFybXY3dmViLXZmcHYzIGFybXY3dmV0Yi12ZnB2MyBhcm12N3ZlYi12ZnB2NGQxNiBhcm12N3ZldGItdmZwdjRkMTYgYXJtdjd2ZWItbmVvbiBhcm12N3ZldGItbmVvbiBhcm12N3ZlYi1uZW9uLXZmcHY0IGFybXY3dmV0Yi1uZW9uLXZmcHY0IgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmViICAgICAgICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0YiAgICAgICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmViLXZmcHYzZDE2ICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0Yi12ZnB2M2QxNiAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmViLXZmcHYzICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0Yi12ZnB2MyAgICAgID89ICJhcm12N3ZlIgorQVJNUEtHQVJDSF90dW5lLWFybXY3dmViLXZmcHY0ZDE2ICAgID89ICJhcm12N3ZlIgorQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0Yi12ZnB2NGQxNiAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmViLW5lb24gICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0Yi1uZW9uICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmViLW5lb24tdmZwdjQgID89ICJhcm12N3ZlIgpAQCAtOTEsNiArMTA1LDggQEAKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGItdmZwdjNkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC12ZnB2M2QxNn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmViLXZmcHYzICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtdmZwdjN9IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGItdmZwdjMgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC12ZnB2M30gYmlnZW5kaWFuIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmViLXZmcHY0ZDE2ICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtdmZwdjRkMTZ9IGJpZ2VuZGlhbiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGItdmZwdjRkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC12ZnB2NGQxNn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmViLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0Yi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LW5lb259IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlYi1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlLW5lb24tdmZwdjR9IGJpZ2VuZGlhbiIKQEAgLTEwMSwxOSArMTE3LDIzIEBACiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRiLXZmcHYzZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRifSBhcm12N3ZlYi12ZnB2M2QxNiBhcm12N3ZldDJiLXZmcHYzZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmViLXZmcHYzICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmViLXZmcHYzZDE2fSBhcm12N3ZlYi12ZnB2MyIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGItdmZwdjMgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGItdmZwdjNkMTZ9IGFybXY3dmViLXZmcHYzIGFybXY3dmV0MmItdmZwdjMiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWItdmZwdjRkMTYgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWJ9IGFybXY3dmViLXZmcHY0ZDE2IgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0Yi12ZnB2NGQxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0Yn0gYXJtdjd2ZWItdmZwdjRkMTYgYXJtdjd2ZXQyYi12ZnB2NGQxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlYi1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlYn0gYXJtdjd2ZWItbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGItbmVvbiAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGJ9IGFybXY3dmViLW5lb24gYXJtdjd2ZXQyYi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmViLW5lb24tdmZwdjQgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmViLW5lb259IGFybXY3dmViLW5lb24tdmZwdjQiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRiLW5lb24tdmZwdjQgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRiLW5lb259IGFybXY3dmViLW5lb24tdmZwdjQgYXJtdjd2ZXQyYi1uZW9uLXZmcHY0IgogCiAjIEJpZyBFbmRpYW4gKyBIRgotQVZBSUxUVU5FUyArPSAiYXJtdjd2ZWhmYiBhcm12N3ZldGhmYiBhcm12N3ZlaGZiLXZmcHYzZDE2IGFybXY3dmV0aGZiLXZmcHYzZDE2IGFybXY3dmVoZmItdmZwdjMgYXJtdjd2ZXRoZmItdmZwdjMgYXJtdjd2ZWhmYi1uZW9uIGFybXY3dmV0aGZiLW5lb24gYXJtdjd2ZWhmYi1uZW9uLXZmcHY0IGFybXY3dmV0aGZiLW5lb24tdmZwdjQiCitBVkFJTFRVTkVTICs9ICJhcm12N3ZlaGZiIGFybXY3dmV0aGZiIGFybXY3dmVoZmItdmZwdjNkMTYgYXJtdjd2ZXRoZmItdmZwdjNkMTYgYXJtdjd2ZWhmYi12ZnB2MyBhcm12N3ZldGhmYi12ZnB2MyBhcm12N3ZlaGZiLXZmcHY0ZDE2IGFybXY3dmV0aGZiLXZmcHY0ZDE2IGFybXY3dmVoZmItbmVvbiBhcm12N3ZldGhmYi1uZW9uIGFybXY3dmVoZmItbmVvbi12ZnB2NCBhcm12N3ZldGhmYi1uZW9uLXZmcHY0IgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmVoZmIgICAgICAgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRoZmIgICAgICAgICAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlaGZiLXZmcHYzZDE2ICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0aGZiLXZmcHYzZDE2ICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWhmYi12ZnB2MyAgICAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldGhmYi12ZnB2MyAgICAgID89ICJhcm12N3ZlIgorQVJNUEtHQVJDSF90dW5lLWFybXY3dmVoZmItdmZwdjRkMTYgICAgPz0gImFybXY3dmUiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRoZmItdmZwdjRkMTYgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlaGZiLW5lb24gICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0aGZiLW5lb24gICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWhmYi1uZW9uLXZmcHY0ICA/PSAiYXJtdjd2ZSIKQEAgLTEyNCw2ICsxNDQsOCBAQAogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGZiLXZmcHYzZDE2ICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZi12ZnB2M2QxNn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZmItdmZwdjMgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLXZmcHYzfSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZmItdmZwdjMgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmLXZmcHYzfSBiaWdlbmRpYW4iCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmYi12ZnB2NGQxNiAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGYtdmZwdjRkMTZ9IGJpZ2VuZGlhbiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmYi12ZnB2NGQxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGYtdmZwdjRkMTZ9IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGZiLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZi1uZW9ufSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZmItbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmLW5lb259IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGZiLW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZi1uZW9uLXZmcHY0fSBiaWdlbmRpYW4iCkBAIC0xMzQsNiArMTU2LDggQEAKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmYi12ZnB2M2QxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGZifSBhcm12N3ZlaGZiLXZmcHYzZDE2IGFybXY3dmV0MmhmYi12ZnB2M2QxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGZiLXZmcHYzICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZmItdmZwdjNkMTZ9IGFybXY3dmVoZmItdmZwdjMiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZmItdmZwdjMgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmYi12ZnB2M2QxNn0gYXJtdjd2ZWhmYi12ZnB2MyBhcm12N3ZldDJoZmItdmZwdjMiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmYi12ZnB2NGQxNiAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGZifSBhcm12N3ZlaGZiLXZmcHY0ZDE2IgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGZiLXZmcHY0ZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZmJ9IGFybXY3dmVoZmItdmZwdjRkMTYgYXJtdjd2ZXQyaGZiLXZmcHY0ZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZmItbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmYn0gYXJtdjd2ZWhmYi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGZiLW5lb24gICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZmJ9IGFybXY3dmVoZmItbmVvbiBhcm12N3ZldDJoZmItbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGZiLW5lb24tdmZwdjQgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZmItbmVvbn0gYXJtdjd2ZWhmYi1uZW9uLXZmcHY0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY4LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OC5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlODMyZmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY4LmluYworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLXJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtNjQuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjhhLmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OGEuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4MTBhMWUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjhhLmluYwpAQCAtMCwwICsxLDMwIEBACitERUZBVUxUVFVORSA/PSAiYXJtdjhhLWNyYyIKKworVFVORVZBTElEW2FybXY4YV0gPSAiRW5hYmxlIGluc3RydWN0aW9ucyBmb3IgQVJNdjgtYSIKK1RVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm12OGEnLCAnIC1tYXJjaD1hcm12OC1hJywgJycsIGQpfSIKK1RVTkVWQUxJRFtjcmNdID0gIkVuYWJsZSBpbnN0cnVjdGlvbnMgZm9yIEFSTXY4LWEgQ3ljbGljIFJlZHVuZGFuY3kgQ2hlY2sgKENSQykiCitUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY3JjJywgJytjcmMnLCAnJywgZCl9IgorVFVORVZBTElEW2NyeXB0b10gPSAiRW5hYmxlIGluc3RydWN0aW9ucyBmb3IgQVJNdjgtYSBjcnlwdG9ncmFwaGljIgorVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NyeXB0bycsICcrY3J5cHRvJywgJycsIGQpfSIKK01BQ0hJTkVPVkVSUklERVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybXY4YScsICdhcm12OGE6JywgJycgLGQpfSIKKworcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm02NC5pbmMKKworIyBMaXR0bGUgRW5kaWFuIGJhc2UgY29uZmlncworQVZBSUxUVU5FUyArPSAiYXJtdjhhIGFybXY4YS1jcmMgYXJtdjhhLWNyYy1jcnlwdG8gYXJtdjhhLWNyeXB0byIKK0FSTVBLR0FSQ0hfdHVuZS1hcm12OGEgICAgICAgICAgICAgICAgICAgID89ICJhcm12OGEiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjhhLWNyYyAgICAgICAgICAgICAgICA/PSAiYXJtdjhhIgorQVJNUEtHQVJDSF90dW5lLWFybXY4YS1jcnlwdG8gICAgICAgICAgICAgPz0gImFybXY4YSIKK0FSTVBLR0FSQ0hfdHVuZS1hcm12OGEtY3JjLWNyeXB0byAgICAgICAgID89ICJhcm12OGEiCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjhhICAgICAgICAgICAgICAgICAgPSAiYWFyY2g2NCBhcm12OGEiCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjhhLWNyYyAgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjhhfSBjcmMiCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjhhLWNyeXB0byAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjhhfSBjcnlwdG8iCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjhhLWNyYy1jcnlwdG8gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjhhLWNyY30gY3J5cHRvIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY4YSAgICAgICAgICAgID0gImFhcmNoNjQgYXJtdjhhIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY4YS1jcmMgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY4YX0gYXJtdjhhLWNyYyIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12OGEtY3J5cHRvICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12OGF9IGFybXY4YS1jcnlwdG8iCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjhhLWNyYy1jcnlwdG8gPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjhhLWNyY30gYXJtdjhhLWNyeXB0byBhcm12OGEtY3JjLWNyeXB0byIKK0JBU0VfTElCX3R1bmUtYXJtdjhhICAgICAgICAgICAgICAgICAgICAgICA9ICJsaWI2NCIKK0JBU0VfTElCX3R1bmUtYXJtdjhhLWNyYyAgICAgICAgICAgICAgICAgICA9ICJsaWI2NCIKK0JBU0VfTElCX3R1bmUtYXJtdjhhLWNyeXB0byAgICAgICAgICAgICAgICA9ICJsaWI2NCIKK0JBU0VfTElCX3R1bmUtYXJtdjhhLWNyYy1jcnlwdG8gICAgICAgICAgICA9ICJsaWI2NCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vZmVhdHVyZS1hcm0tbmVvbi5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2ZlYXR1cmUtYXJtLW5lb24uaW5jCmluZGV4IGIzNGFmOGUuLmVhZGRkMDUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vZmVhdHVyZS1hcm0tbmVvbi5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9mZWF0dXJlLWFybS1uZW9uLmluYwpAQCAtMTYsMyArMTYsNiBAQAogVFVORVZBTElEW3ZmcHY0XSA9ICJFbmFibGUgVmVjdG9yIEZsb2F0aW5nIFBvaW50IFZlcnNpb24gNCAodmZwdjQpIHVuaXQuIgogVFVORV9DQ0FSR1NfTUZQVSAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAndmZwdjQnLCAnIHZmcHY0JywgJycsIGQpfSIKIFRVTkVfQ0NBUkdTX01GUFUgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgWyAndmZwdjQnLCAnbmVvbicgXSwgJyBuZW9uLXZmcHY0JywgJycsIGQpfSIKKworVFVORVZBTElEW3ZmcHY0ZDE2XSA9ICJFbmFibGUgVmVjdG9yIEZsb2F0aW5nIFBvaW50IFZlcnNpb24gNCB3aXRoIDE2IHJlZ2lzdGVycyAodmZwdjQtZDE2KSB1bml0LiIKK1RVTkVfQ0NBUkdTX01GUFUgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3ZmcHY0ZDE2JywgJyB2ZnB2NC1kMTYnLCAnJywgZCl9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9mZWF0dXJlLWFybS12ZnAuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9mZWF0dXJlLWFybS12ZnAuaW5jCmluZGV4IDdhZTc0NTYuLjY3ODg4OGUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vZmVhdHVyZS1hcm0tdmZwLmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2ZlYXR1cmUtYXJtLXZmcC5pbmMKQEAgLTYsNyArNiw4IEBACiBUVU5FX0NDQVJHU19NRlBVIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICd2ZnAnLCAnIHZmcCcsICcnLCBkKX0iCiAKIFRVTkVfQ0NBUkdTICAuPSAiJHtAICgnIC1tZnB1PSVzJyAlIGQuZ2V0VmFyKCdUVU5FX0NDQVJHU19NRlBVJykuc3BsaXQoKVstMV0pIGlmIChkLmdldFZhcignVFVORV9DQ0FSR1NfTUZQVScpICE9ICcnKSBlbHNlICcnfSIKLUFSTVBLR1NGWF9GUFUgPSAiJHtAICgnLSVzJyAgICAgICAlIGQuZ2V0VmFyKCdUVU5FX0NDQVJHU19NRlBVJykuc3BsaXQoKVstMV0ucmVwbGFjZSgndmZwdjMtZDE2JywgJ3ZmcHYzZDE2JykpIGlmIChkLmdldFZhcignVFVORV9DQ0FSR1NfTUZQVScpICE9ICcnKSBlbHNlICcnfSIKKyMgVGhlIGZvbGxvd2luZyBkZWFscyB3aXRoIGJvdGggdmZwdjMtZDE2IGFuZCB2ZnB2NC1kMTYKK0FSTVBLR1NGWF9GUFUgPSAiJHtAICgnLSVzJyAgICAgICAlIGQuZ2V0VmFyKCdUVU5FX0NDQVJHU19NRlBVJykuc3BsaXQoKVstMV0ucmVwbGFjZSgnLWQxNicsICdkMTYnKSkgaWYgKGQuZ2V0VmFyKCdUVU5FX0NDQVJHU19NRlBVJykgIT0gJycpIGVsc2UgJyd9IgogCiBUVU5FVkFMSURbY2FsbGNvbnZlbnRpb24taGFyZF0gPSAiRW5hYmxlIEVBQkkgaGFyZCBmbG9hdCBjYWxsIGNvbnZlbnRpb24sIHJlcXVpcmVzIFZGUC4iCiBUVU5FX0NDQVJHU19NRkxPQVQgPSAiJHtAIGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NhbGxjb252ZW50aW9uLWhhcmQnLCAnaGFyZCcsICdzb2Z0ZnAnLCBkKSBpZiAoZC5nZXRWYXIoJ1RVTkVfQ0NBUkdTX01GUFUnKSAhPSAnJykgZWxzZSAnJyB9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3Bvd2VycGMvYXJjaC1wb3dlcnBjNjQuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3Bvd2VycGMvYXJjaC1wb3dlcnBjNjQuaW5jCmluZGV4IGY3NTFjNmIuLmQ5OTE2ZDQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9wb3dlcnBjL2FyY2gtcG93ZXJwYzY0LmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcG93ZXJwYy9hcmNoLXBvd2VycGM2NC5pbmMKQEAgLTcsNiArNyw5IEBACiBUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbTY0JywgJyAtbTY0JywgJycsIGQpfSIKIFRVTkVfQVJDSCAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCBbICdtNjQnIF0sICdwb3dlcnBjNjQnLCAnJywgZCl9IgogCisjIG11c2wgb25seSBzdXBwb3J0cyBlbGZ2MiBBQkkgZm9yIHBwYzY0CitUVU5FX0NDQVJHUyAuPSAiJHtAWycnLCAnIC1tYWJpPWVsZnYyJ11bJ2xpYmMtbXVzbCcgaW4gZC5nZXRWYXIoJ09WRVJSSURFUycpLnNwbGl0KCc6JyldfSIKKwogIyB1c2VyIG1vZGUgcWVtdSBkb2Vzbid0IHN1cHBvcnQgcHBjNjQKIE1BQ0hJTkVfRkVBVFVSRVNfQkFDS0ZJTExfQ09OU0lERVJFRF9hcHBlbmQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ202NCcsICdxZW11LXVzZXJtb2RlJywgJycsIGQpfSIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LW1pcHMuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LW1pcHMuaW5jCmluZGV4IDdkOWZhNTIuLjc1YmI5ODggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC1taXBzLmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QtbWlwcy5pbmMKQEAgLTMsNiArMyw3IEBACiBRQl9NRU0gPSAiLW0gMjU2IgogUUJfTUFDSElORSA9ICItbWFjaGluZSBtYWx0YSIKIFFCX0tFUk5FTF9DTURMSU5FX0FQUEVORCA9ICJjb25zb2xlPXR0eVMwIGNvbnNvbGU9dHR5IgorUUJfT1BUX0FQUEVORCA9ICItdmdhIGNpcnJ1cyAtc2hvdy1jdXJzb3IgLXVzYiAtZGV2aWNlIHVzYi10YWJsZXQiCiAjIEFkZCB0aGUgJ3ZpcnRpby1ybmctcGNpJyBkZXZpY2Ugb3RoZXJ3aXNlIHRoZSBndWVzdCBtYXkgcnVuIG91dCBvZiBlbnRyb3B5Ci1RQl9PUFRfQVBQRU5EID0gIi12Z2EgY2lycnVzIC1zaG93LWN1cnNvciAtdXNiIC1kZXZpY2UgdXNiLXRhYmxldCAtZGV2aWNlIHZpcnRpby1ybmctcGNpIgorUUJfT1BUX0FQUEVORCArPSAiLW9iamVjdCBybmctcmFuZG9tLGZpbGVuYW1lPS9kZXYvdXJhbmRvbSxpZD1ybmcwIC1kZXZpY2UgdmlydGlvLXJuZy1wY2kscm5nPXJuZzAiCiBRQl9TWVNURU1fTkFNRSA9ICJxZW11LXN5c3RlbS0ke1RVTkVfQVJDSH0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jCmluZGV4IDE0NTZiZjcuLjVmZGJlNGQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jCkBAIC0xMSw3ICsxMSw4IEBACiBRQl9BVURJT19EUlYgPSAiYWxzYSIKIFFCX0FVRElPX09QVCA9ICItc291bmRodyBhYzk3LGVzMTM3MCIKIFFCX0tFUk5FTF9DTURMSU5FX0FQUEVORCA9ICJ2Z2E9MCB1dmVzYWZiLm1vZGVfb3B0aW9uPSR7VVZFU0FfTU9ERX0gb3Byb2ZpbGUudGltZXI9MSB1dmVzYWZiLnRhc2tfdGltZW91dD0tMSIKK1FCX09QVF9BUFBFTkQgPSAiLXZnYSB2bXdhcmUgLXNob3ctY3Vyc29yIC11c2IgLWRldmljZSB1c2ItdGFibGV0IgogIyBBZGQgdGhlICd2aXJ0aW8tcm5nLXBjaScgZGV2aWNlIG90aGVyd2lzZSB0aGUgZ3Vlc3QgbWF5IHJ1biBvdXQgb2YgZW50cm9weQotUUJfT1BUX0FQUEVORCA9ICItdmdhIHZtd2FyZSAtc2hvdy1jdXJzb3IgLXVzYiAtZGV2aWNlIHVzYi10YWJsZXQgLWRldmljZSB2aXJ0aW8tcm5nLXBjaSIKK1FCX09QVF9BUFBFTkQgKz0gIi1vYmplY3Qgcm5nLXJhbmRvbSxmaWxlbmFtZT0vZGV2L3VyYW5kb20saWQ9cm5nMCAtZGV2aWNlIHZpcnRpby1ybmctcGNpLHJuZz1ybmcwIgogCiBVVkVTQV9NT0RFID89ICI2NDB4NDgwLTMyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtMTEzNmpmLXMuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtMTEzNmpmLXMuaW5jCmluZGV4IGM1ZGU2M2UuLmQ4ODNlYmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTExMzZqZi1zLmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm0xMTM2amYtcy5pbmMKQEAgLTQsOCArNCwxMCBAQAogCiBUVU5FVkFMSURbYXJtMTEzNmpmc10gPSAiRW5hYmxlIGFybTExMzZqZnMgc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCiBUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnYXJtMTEzNmpmcycsICcgLW1jcHU9YXJtMTEzNmpmLXMnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnYXJtMTEzNmpmcycsICdhcm12NjonLCAnJyAsZCl9IgogCiBBVkFJTFRVTkVTICs9ICJhcm0xMTM2amZzIgogQVJNUEtHQVJDSF90dW5lLWFybTExMzZqZnMgPSAiYXJtMTEzNmpmcyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1hcm0xMTM2amZzID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY2fSBhcm0xMTM2amZzIgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY2IGFzIHdlIGRvbid0IHdhbnQgbWFyY2gKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm0xMTM2amZzID0gImFybSBhcm0xMTM2amZzIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybTExMzZqZnMgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjZ9IGFybTExMzZqZnMtdmZwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtOTIwdC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05MjB0LmluYwppbmRleCBjNmU3NGI2Li40MmU4ZWQyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05MjB0LmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05MjB0LmluYwpAQCAtNCw4ICs0LDEwIEBACiAKIFRVTkVWQUxJRFthcm05MjB0XSA9ICJFbmFibGUgYXJtOTIwdCBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm05MjB0JywgJyAtbWNwdT1hcm05MjB0JywgJycsIGQpfSIKK01BQ0hJTkVPVkVSUklERVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybTkyMHQnLCAnYXJtdjQ6JywgJycgLGQpfSIKIAogQVZBSUxUVU5FUyArPSAiYXJtOTIwdCIKIEFSTVBLR0FSQ0hfdHVuZS1hcm05MjB0ID0gImFybTkyMHQiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtYXJtOTIwdCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12NHR9IGFybTkyMHQiCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjR0IGFzIHdlIGRvbid0IHdhbnQgbWFyY2gKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm05MjB0ID0gImFybSB0aHVtYiBhcm05MjB0IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybTkyMHQgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjR0fSBhcm05MjB0IGFybTkyMHR0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtOTI2ZWpzLmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTkyNmVqcy5pbmMKaW5kZXggODFiY2RhMy4uNTYzZDUzYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtOTI2ZWpzLmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05MjZlanMuaW5jCkBAIC00LDggKzQsMTAgQEAKIAogVFVORVZBTElEW2FybTkyNmVqc10gPSAiRW5hYmxlIGFybTkyNmVqcyBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm05MjZlanMnLCAnIC1tY3B1PWFybTkyNmVqLXMnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnYXJtOTI2ZWpzJywgJ2FybXY1OicsICcnICxkKX0iCiAKIEFWQUlMVFVORVMgKz0gImFybTkyNmVqcyIKIEFSTVBLR0FSQ0hfdHVuZS1hcm05MjZlanMgPSAiYXJtOTI2ZWpzIgotVFVORV9GRUFUVVJFU190dW5lLWFybTkyNmVqcyA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12NXRlfSBhcm05MjZlanMiCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjV0ZSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtOTI2ZWpzID0gImFybSB0aHVtYiBkc3AgYXJtOTI2ZWpzIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybTkyNmVqcyA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12NXRlfSBhcm05MjZlanN0ZSBhcm05MjZlanNlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtOXRkbWkuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtOXRkbWkuaW5jCmluZGV4IGU5YzJiOGYuLmUwM2E4YjggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTl0ZG1pLmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05dGRtaS5pbmMKQEAgLTQsOCArNCwxMCBAQAogCiBUVU5FVkFMSURbYXJtOXRkbWldID0gIkVuYWJsZSBhcm05dGRtaSBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm05dGRtaScsICcgLW1jcHU9YXJtOXRkbWknLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnYXJtOXRkbWknLCAnYXJtdjQ6JywgJycgLGQpfSIKIAogQVZBSUxUVU5FUyArPSAiYXJtOXRkbWkiCiBBUk1QS0dBUkNIX3R1bmUtYXJtOXRkbWkgPSAiYXJtOXRkbWkiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtYXJtOXRkbWkgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjR0fSBhcm05dGRtaSIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12NHQgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLWFybTl0ZG1pID0gImFybSB0aHVtYiBhcm05dGRtaSIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm05dGRtaSA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12NHR9IGFybTl0ZG1pdCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGExNS5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMTUuaW5jCmluZGV4IDI1ZTk5ZjkuLmQ1MzQwM2EgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGExNS5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTE1LmluYwpAQCAtNCw2ICs0LDcgQEAKIAogVFVORVZBTElEW2NvcnRleGExNV0gPSAiRW5hYmxlIENvcnRleC1BMTUgc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCiBUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTE1JywgJyAtbWNwdT1jb3J0ZXgtYTE1JywgJycsIGQpfSIKK01BQ0hJTkVPVkVSUklERVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NvcnRleGExNScsICdhcm12N3ZlOicsICcnICxkKX0iCiAKICMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKIEFWQUlMVFVORVMgKz0gImNvcnRleGExNSBjb3J0ZXhhMTV0IGNvcnRleGExNS1uZW9uIGNvcnRleGExNXQtbmVvbiBjb3J0ZXhhMTUtbmVvbi12ZnB2NCBjb3J0ZXhhMTV0LW5lb24tdmZwdjQiCkBAIC0xMywxMiArMTQsMTMgQEAKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhMTV0LW5lb24gICAgICAgPSAiY29ydGV4YTE1IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGExNS1uZW9uLXZmcHY0ICA9ICJjb3J0ZXhhMTUiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTE1dC1uZW9uLXZmcHY0ID0gImNvcnRleGExNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTUgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZX0gY29ydGV4YTE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXQgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldH0gY29ydGV4YTE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNS1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlLW5lb259IGNvcnRleGExNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXQtbmVvbn0gY29ydGV4YTE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNS1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlLW5lb24tdmZwdjR9IGNvcnRleGExNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV0LW5lb24tdmZwdjQgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXQtbmVvbi12ZnB2NH0gY29ydGV4YTE1IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3dmUgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNSAgICAgICAgICAgICA9ICJhcm0gdmZwIGNvcnRleGExNSIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV0ICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1fSB0aHVtYiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTUtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1fSBuZW9uIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXQtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTUtbmVvbn0gdGh1bWIiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1LW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNS1uZW9ufSB2ZnB2NCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV0LW5lb24tdmZwdjQgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1LW5lb24tdmZwdjR9IHRodW1iIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGExNSAgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlfSBjb3J0ZXhhMTUtdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGExNXQgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldH0gY29ydGV4YTE1LXZmcCBjb3J0ZXhhMTV0Mi12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTE1LW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmUtbmVvbn0gY29ydGV4YTE1LXZmcCBjb3J0ZXhhMTUtbmVvbiIKQEAgLTM0LDEyICszNiwxMyBAQAogQVJNUEtHQVJDSF90dW5lLWNvcnRleGExNXRoZi1uZW9uICAgICAgID0gImNvcnRleGExNSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhMTVoZi1uZW9uLXZmcHY0ICA9ICJjb3J0ZXhhMTUiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTE1dGhmLW5lb24tdmZwdjQgPSAiY29ydGV4YTE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNWhmICAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZn0gY29ydGV4YTE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXRoZiAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGZ9IGNvcnRleGExNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTVoZi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGYtbmVvbn0gY29ydGV4YTE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXRoZi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGYtbmVvbn0gY29ydGV4YTE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNWhmLW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZi1uZW9uLXZmcHY0fSBjb3J0ZXhhMTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dGhmLW5lb24tdmZwdjQgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZi1uZW9uLXZmcHY0fSBjb3J0ZXhhMTUiCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjd2ZSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1aGYgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1fSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXRoZiAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXR9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1aGYtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1LW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dGhmLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dC1uZW9ufSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNWhmLW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNS1uZW9uLXZmcHY0fSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXRoZi1uZW9uLXZmcHY0ID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXQtbmVvbi12ZnB2NH0gY2FsbGNvbnZlbnRpb24taGFyZCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhMTVoZiAgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGZ9IGNvcnRleGExNWhmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhMTV0aGYgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmfSBjb3J0ZXhhMTVoZi12ZnAgY29ydGV4YTE1dDJoZi12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTE1aGYtbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmLW5lb259IGNvcnRleGExNWhmLXZmcCBjb3J0ZXhhMTVoZi1uZW9uIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTE3LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGExNy5pbmMKaW5kZXggNDAzOTJmOS4uM2ZmYzAyYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTE3LmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMTcuaW5jCkBAIC00LDYgKzQsNyBAQAogCiBUVU5FVkFMSURbY29ydGV4YTE3XSA9ICJFbmFibGUgQ29ydGV4LUExNyBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjb3J0ZXhhMTcnLCAnIC1tY3B1PWNvcnRleC1hMTcnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTE3JywgJ2FybXY3dmU6JywgJycgLGQpfSIKIAogIyBMaXR0bGUgRW5kaWFuIGJhc2UgY29uZmlncwogQVZBSUxUVU5FUyArPSAiY29ydGV4YTE3IGNvcnRleGExN3QgY29ydGV4YTE3LW5lb24gY29ydGV4YTE3dC1uZW9uIGNvcnRleGExNy1uZW9uLXZmcHY0IGNvcnRleGExN3QtbmVvbi12ZnB2NCIKQEAgLTEzLDEyICsxNCwxMyBAQAogQVJNUEtHQVJDSF90dW5lLWNvcnRleGExN3QtbmVvbiAgICAgICA9ICJjb3J0ZXhhMTciCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTE3LW5lb24tdmZwdjQgID0gImNvcnRleGExNyIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhMTd0LW5lb24tdmZwdjQgPSAiY29ydGV4YTE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNyAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlfSBjb3J0ZXhhMTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dCAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0fSBjb3J0ZXhhMTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbn0gY29ydGV4YTE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN3QtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC1uZW9ufSBjb3J0ZXhhMTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3LW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbi12ZnB2NH0gY29ydGV4YTE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN3QtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC1uZW9uLXZmcHY0fSBjb3J0ZXhhMTciCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjd2ZSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3ICAgICAgICAgICAgID0gImFybSB2ZnAgY29ydGV4YTE3IgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN3QgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd9IHRodW1iIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNy1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd9IG5lb24iCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dC1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNy1uZW9ufSB0aHVtYiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTctbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3LW5lb259IHZmcHY0IgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN3QtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTctbmVvbi12ZnB2NH0gdGh1bWIiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTE3ICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV9IGNvcnRleGExNy12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTE3dCAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0fSBjb3J0ZXhhMTctdmZwIGNvcnRleGExN3QyLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhMTctbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZS1uZW9ufSBjb3J0ZXhhMTctdmZwIGNvcnRleGExNy1uZW9uIgpAQCAtMzQsMTIgKzM2LDEzIEBACiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTE3dGhmLW5lb24gICAgICAgPSAiY29ydGV4YTE3IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGExN2hmLW5lb24tdmZwdjQgID0gImNvcnRleGExNyIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhMTd0aGYtbmVvbi12ZnB2NCA9ICJjb3J0ZXhhMTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3aGYgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmfSBjb3J0ZXhhMTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZn0gY29ydGV4YTE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN2hmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZi1uZW9ufSBjb3J0ZXhhMTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dGhmLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZi1uZW9ufSBjb3J0ZXhhMTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3aGYtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLW5lb24tdmZwdjR9IGNvcnRleGExNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0aGYtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmLW5lb24tdmZwdjR9IGNvcnRleGExNyIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12N3ZlIGFzIHdlIGRvbid0IHdhbnQgbWFyY2gKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTdoZiAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTdoZi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTctbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0aGYtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0LW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3aGYtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3LW5lb24tdmZwdjR9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dGhmLW5lb24tdmZwdjQgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dC1uZW9uLXZmcHY0fSBjYWxsY29udmVudGlvbi1oYXJkIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGExN2hmICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZn0gY29ydGV4YTE3aGYtdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGExN3RoZiAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGZ9IGNvcnRleGExN2hmLXZmcCBjb3J0ZXhhMTd0MmhmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhMTdoZi1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGYtbmVvbn0gY29ydGV4YTE3aGYtdmZwIGNvcnRleGExN2hmLW5lb24iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMzIuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTMyLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Yzk0OGYxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTMyLmluYwpAQCAtMCwwICsxLDE4IEBACitERUZBVUxUVFVORSA/PSAiY29ydGV4YTMyIgorCisKK1RVTkVWQUxJRFtjb3J0ZXhhMzJdID0gIkVuYWJsZSBDb3J0ZXgtQTMyIHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgorVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NvcnRleGEzMicsICcgLW1jcHU9Y29ydGV4LWEzMicsICcnLCBkKX0iCisKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjhhLmluYworCisjIExpdHRsZSBFbmRpYW4gYmFzZSBjb25maWdzCitBVkFJTFRVTkVTICs9ICJjb3J0ZXhhMzIgY29ydGV4YTMyLWNyeXB0byIKK0FSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhMzIgICAgICAgICAgICAgPSAiY29ydGV4YTMyIgorQVJNUEtHQVJDSF90dW5lLWNvcnRleGEzMi1jcnlwdG8gICAgICA9ICJjb3J0ZXhhMzIiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTMyICAgICAgICAgID0gImFhcmNoNjQgY29ydGV4YTMyIGNyYyIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMzItY3J5cHRvICAgPSAiYWFyY2g2NCBjb3J0ZXhhMzIgY3JjIGNyeXB0byIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhMzIgICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjhhLWNyY30gY29ydGV4YTMyIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGEzMi1jcnlwdG8gICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12OGEtY3JjLWNyeXB0b30gY29ydGV4YTMyIGNvcnRleGEzMi1jcnlwdG8iCitCQVNFX0xJQl90dW5lLWNvcnRleGEzMiAgICAgICAgICAgICAgID0gImxpYjY0IgorQkFTRV9MSUJfdHVuZS1jb3J0ZXhhMzItY3J5cHRvICAgICAgICA9ICJsaWI2NCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGEzNS5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMzUuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2ZGY2Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMzUuaW5jCkBAIC0wLDAgKzEsMTcgQEAKK0RFRkFVTFRUVU5FID89ICJjb3J0ZXhhMzUiCisKK1RVTkVWQUxJRFtjb3J0ZXhhMzVdID0gIkVuYWJsZSBDb3J0ZXgtQTM1IHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgorVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NvcnRleGEzNScsICcgLW1jcHU9Y29ydGV4LWEzNScsICcnLCBkKX0iCisKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjhhLmluYworCisjIExpdHRsZSBFbmRpYW4gYmFzZSBjb25maWdzCitBVkFJTFRVTkVTICs9ICJjb3J0ZXhhMzUgY29ydGV4YTM1LWNyeXB0byIKK0FSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhMzUgICAgICAgICAgICAgPSAiY29ydGV4YTM1IgorQVJNUEtHQVJDSF90dW5lLWNvcnRleGEzNS1jcnlwdG8gICAgICA9ICJjb3J0ZXhhMzUiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTM1ICAgICAgICAgID0gImFhcmNoNjQgY29ydGV4YTM1IGNyYyIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMzUtY3J5cHRvICAgPSAiYWFyY2g2NCBjb3J0ZXhhMzUgY3JjIGNyeXB0byIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhMzUgICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjhhLWNyY30gY29ydGV4YTM1IgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGEzNS1jcnlwdG8gICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12OGEtY3JjLWNyeXB0b30gY29ydGV4YTM1IGNvcnRleGEzNS1jcnlwdG8iCitCQVNFX0xJQl90dW5lLWNvcnRleGEzNSAgICAgICAgICAgICAgID0gImxpYjY0IgorQkFTRV9MSUJfdHVuZS1jb3J0ZXhhMzUtY3J5cHRvICAgICAgICA9ICJsaWI2NCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE1LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE1LmluYwppbmRleCAxZjBjZGE2Li40OTY3MzllIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhNS5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTUuaW5jCkBAIC00LDMzICs0LDQ4IEBACiAKIFRVTkVWQUxJRFtjb3J0ZXhhNV0gPSAiRW5hYmxlIENvcnRleC1BNSBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjb3J0ZXhhNScsICcgLW1jcHU9Y29ydGV4LWE1JywgJycsIGQpfSIKK01BQ0hJTkVPVkVSUklERVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NvcnRleGE1JywgJ2FybXY3YTonLCAnJyAsZCl9IgogCiAjIExpdHRsZSBFbmRpYW4gYmFzZSBjb25maWdzCi1BVkFJTFRVTkVTICs9ICJjb3J0ZXhhNSBjb3J0ZXhhNXQgY29ydGV4YTUtbmVvbiBjb3J0ZXhhNXQtbmVvbiIKK0FWQUlMVFVORVMgKz0gImNvcnRleGE1IGNvcnRleGE1dCBjb3J0ZXhhNS1uZW9uIGNvcnRleGE1dC1uZW9uIGNvcnRleGE1LW5lb24tdmZwdjQgY29ydGV4YTV0LW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTUgICAgICAgICAgICAgPSAiY29ydGV4YTUiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTV0ICAgICAgICAgICAgPSAiY29ydGV4YTUiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTUtbmVvbiAgICAgICAgPSAiY29ydGV4YTUiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTV0LW5lb24gICAgICAgPSAiY29ydGV4YTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhfSBjb3J0ZXhhNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXQgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0fSBjb3J0ZXhhNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNS1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtbmVvbn0gY29ydGV4YTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTV0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC1uZW9ufSBjb3J0ZXhhNSIKK0FSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNS1uZW9uLXZmcHY0ICA9ICJjb3J0ZXhhNSIKK0FSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNXQtbmVvbi12ZnB2NCA9ICJjb3J0ZXhhNSIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12N2EgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1ICAgICAgICAgICAgID0gImFybSB2ZnAgY29ydGV4YTUiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTV0ICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTV9IHRodW1iIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1fSBuZW9uIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1dC1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1LW5lb259IHRodW1iIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1LW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1LW5lb259IHZmcHY0IgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1dC1uZW9uLXZmcHY0ID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1LW5lb24tdmZwdjR9IHRodW1iIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE1ICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YX0gY29ydGV4YTUtdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE1dCAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXR9IGNvcnRleGE1LXZmcCBjb3J0ZXhhNXQyLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNS1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2EtbmVvbn0gY29ydGV4YTUtdmZwIGNvcnRleGE1LW5lb24iCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTV0LW5lb24gICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdC1uZW9ufSBjb3J0ZXhhNS12ZnAgY29ydGV4YTUtbmVvbiBjb3J0ZXhhNXQyLXZmcCBjb3J0ZXhhNXQyLW5lb24iCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTUtbmVvbi12ZnB2NCAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhLW5lb24tdmZwdjR9IGNvcnRleGE1LXZmcCBjb3J0ZXhhNS1uZW9uIGNvcnRleGE1LW5lb24tdmZwdjQiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTV0LW5lb24tdmZwdjQgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdC1uZW9uLXZmcHY0fSBjb3J0ZXhhNS12ZnAgY29ydGV4YTUtbmVvbiBjb3J0ZXhhNS1uZW9uLXZmcHY0IGNvcnRleGE1dDItdmZwIGNvcnRleGE1dDItbmVvbiBjb3J0ZXhhNXQyLW5lb24tdmZwdjQiCiAKICMgSEYgVHVuZXMKLUFWQUlMVFVORVMgKz0gImNvcnRleGE1aGYgY29ydGV4YTV0aGYgY29ydGV4YTVoZi1uZW9uIGNvcnRleGE1dGhmLW5lb24iCitBVkFJTFRVTkVTICs9ICJjb3J0ZXhhNWhmIGNvcnRleGE1dGhmIGNvcnRleGE1aGYtbmVvbiBjb3J0ZXhhNXRoZi1uZW9uIGNvcnRleGE1aGYtbmVvbi12ZnB2NCBjb3J0ZXhhNXRoZi1uZW9uLXZmcHY0IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE1aGYgICAgICAgICAgICAgPSAiY29ydGV4YTUiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTV0aGYgICAgICAgICAgICA9ICJjb3J0ZXhhNSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNWhmLW5lb24gICAgICAgID0gImNvcnRleGE1IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE1dGhmLW5lb24gICAgICAgPSAiY29ydGV4YTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTVoZiAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FoZn0gY29ydGV4YTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTV0aGYgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGZ9IGNvcnRleGE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1aGYtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGYtbmVvbn0gY29ydGV4YTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTV0aGYtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGYtbmVvbn0gY29ydGV4YTUiCitBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTVoZi1uZW9uLXZmcHY0ICA9ICJjb3J0ZXhhNSIKK0FSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNXRoZi1uZW9uLXZmcHY0ID0gImNvcnRleGE1IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3YSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTVoZiAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNX0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXRoZiAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1dH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNWhmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1LW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTV0aGYtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXQtbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNWhmLW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1LW5lb24tdmZwdjR9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTV0aGYtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXQtbmVvbi12ZnB2NH0gY2FsbGNvbnZlbnRpb24taGFyZCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNWhmICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmfSBjb3J0ZXhhNWhmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNXRoZiAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZn0gY29ydGV4YTVoZi12ZnAgY29ydGV4YTV0MmhmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNWhmLW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmLW5lb259IGNvcnRleGE1aGYtdmZwIGNvcnRleGE1aGYtbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNXRoZi1uZW9uICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZi1uZW9ufSBjb3J0ZXhhNWhmLXZmcCBjb3J0ZXhhNWhmLW5lb24gY29ydGV4YTV0MmhmLXZmcCBjb3J0ZXhhNXQyaGYtbmVvbiIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNWhmLW5lb24tdmZwdjQgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmLW5lb24tdmZwdjR9IGNvcnRleGE1aGYtdmZwIGNvcnRleGE1aGYtbmVvbiBjb3J0ZXhhNWhmLW5lb24tdmZwdjQiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTV0aGYtbmVvbi12ZnB2NCA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGYtbmVvbi12ZnB2NH0gY29ydGV4YTVoZi12ZnAgY29ydGV4YTVoZi1uZW9uIGNvcnRleGE1aGYtbmVvbi12ZnB2NCBjb3J0ZXhhNXQyaGYtdmZwIGNvcnRleGE1dDJoZi1uZW9uIGNvcnRleGE1dDJoZi1uZW9uLXZmcHY0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTUzLmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE1My5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmMwYjQ0MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE1My5pbmMKQEAgLTAsMCArMSwxNyBAQAorREVGQVVMVFRVTkUgPz0gImNvcnRleGE1MyIKKworVFVORVZBTElEW2NvcnRleGE1M10gPSAiRW5hYmxlIENvcnRleC1BNTMgc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCitUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTUzJywgJyAtbWNwdT1jb3J0ZXgtYTUzJywgJycsIGQpfSIKKworcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OGEuaW5jCisKKyMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKK0FWQUlMVFVORVMgKz0gImNvcnRleGE1MyBjb3J0ZXhhNTMtY3J5cHRvIgorQVJNUEtHQVJDSF90dW5lLWNvcnRleGE1MyAgICAgICAgICAgICA9ICJjb3J0ZXhhNTMiCitBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTUzLWNyeXB0byAgICAgID0gImNvcnRleGE1MyIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNTMgICAgICAgICAgPSAiYWFyY2g2NCBjb3J0ZXhhNTMgY3JjIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1My1jcnlwdG8gICA9ICJhYXJjaDY0IGNvcnRleGE1MyBjcmMgY3J5cHRvIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE1MyAgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12OGEtY3JjfSBjb3J0ZXhhNTMiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTUzLWNyeXB0byAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY4YS1jcmMtY3J5cHRvfSBjb3J0ZXhhNTMgY29ydGV4YTUzLWNyeXB0byIKK0JBU0VfTElCX3R1bmUtY29ydGV4YTUzICAgICAgICAgICAgICAgPSAibGliNjQiCitCQVNFX0xJQl90dW5lLWNvcnRleGE1My1jcnlwdG8gICAgICAgID0gImxpYjY0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTcuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTcuaW5jCmluZGV4IDUyNDE1ZDkuLjM0YTc3YjQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE3LmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhNy5pbmMKQEAgLTQsNiArNCw3IEBACiAKIFRVTkVWQUxJRFtjb3J0ZXhhN10gPSAiRW5hYmxlIENvcnRleC1BNyBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjb3J0ZXhhNycsICcgLW1jcHU9Y29ydGV4LWE3JywgJycsIGQpfSIKK01BQ0hJTkVPVkVSUklERVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NvcnRleGE3JywgJ2FybXY3dmU6JywgJycgLGQpfSIKIAogIyBMaXR0bGUgRW5kaWFuIGJhc2UgY29uZmlncwogQVZBSUxUVU5FUyArPSAiY29ydGV4YTcgY29ydGV4YTd0IGNvcnRleGE3LW5lb24gY29ydGV4YTd0LW5lb24gY29ydGV4YTctbmVvbi12ZnB2NCBjb3J0ZXhhN3QtbmVvbi12ZnB2NCIKQEAgLTEzLDEyICsxNCwxMyBAQAogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE3dC1uZW9uICAgICAgID0gImNvcnRleGE3IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE3LW5lb24tdmZwdjQgID0gImNvcnRleGE3IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE3dC1uZW9uLXZmcHY0ID0gImNvcnRleGE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3ICAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV9IGNvcnRleGE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dCAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0fSBjb3J0ZXhhNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNy1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlLW5lb259IGNvcnRleGE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dC1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LW5lb259IGNvcnRleGE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3LW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbi12ZnB2NH0gY29ydGV4YTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTd0LW5lb24tdmZwdjQgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXQtbmVvbi12ZnB2NH0gY29ydGV4YTciCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjd2ZSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTcgICAgICAgICAgICAgPSAiYXJtIHZmcCBjb3J0ZXhhNyIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3QgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN30gdGh1bWIiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTctbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTd9IG5lb24iCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTd0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTctbmVvbn0gdGh1bWIiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTctbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTctbmVvbn0gdmZwdjQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTd0LW5lb24tdmZwdjQgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTctbmVvbi12ZnB2NH0gdGh1bWIiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTcgICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZX0gY29ydGV4YTctdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE3dCAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0fSBjb3J0ZXhhNy12ZnAgY29ydGV4YTd0Mi12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTctbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZS1uZW9ufSBjb3J0ZXhhNy12ZnAgY29ydGV4YTctbmVvbiIKQEAgLTM0LDEyICszNiwxMyBAQAogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE3dGhmLW5lb24gICAgICAgPSAiY29ydGV4YTciCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTdoZi1uZW9uLXZmcHY0ICA9ICJjb3J0ZXhhNyIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhN3RoZi1uZW9uLXZmcHY0ID0gImNvcnRleGE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3aGYgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmfSBjb3J0ZXhhNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3RoZiAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGZ9IGNvcnRleGE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3aGYtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLW5lb259IGNvcnRleGE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dGhmLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZi1uZW9ufSBjb3J0ZXhhNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN2hmLW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZi1uZW9uLXZmcHY0fSBjb3J0ZXhhNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3RoZi1uZW9uLXZmcHY0ID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGYtbmVvbi12ZnB2NH0gY29ydGV4YTciCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjd2ZSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTdoZiAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN30gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3RoZiAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN2hmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3LW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTd0aGYtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3QtbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN2hmLW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3LW5lb24tdmZwdjR9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTd0aGYtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3QtbmVvbi12ZnB2NH0gY2FsbGNvbnZlbnRpb24taGFyZCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhN2hmICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZn0gY29ydGV4YTdoZi12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTd0aGYgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmfSBjb3J0ZXhhN2hmLXZmcCBjb3J0ZXhhN3QyaGYtdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE3aGYtbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmLW5lb259IGNvcnRleGE3aGYtdmZwIGNvcnRleGE3aGYtbmVvbiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE3Mi5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhNzIuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwZjc3NDUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhNzIuaW5jCkBAIC0wLDAgKzEsMTMgQEAKK0RFRkFVTFRUVU5FID89ICJjb3J0ZXhhNzIiCisKK1RVTkVWQUxJRFtjb3J0ZXhhNzJdID0gIkVuYWJsZSBDb3J0ZXgtQTcyIHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgorVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NvcnRleGE3MicsICcgLW1jcHU9Y29ydGV4LWE3MicsICcnLCBkKX0iCisKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjhhLmluYworCisjIExpdHRsZSBFbmRpYW4gYmFzZSBjb25maWdzCitBVkFJTFRVTkVTICs9ICJjb3J0ZXhhNzIiCitBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTcyICAgICAgICAgICAgID0gImNvcnRleGE3MiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNzIgICAgICAgICAgPSAiYWFyY2g2NCBjb3J0ZXhhNzIgY3JjIGNyeXB0byIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNzIgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjhhLWNyYy1jcnlwdG99IGNvcnRleGE3MiIKK0JBU0VfTElCX3R1bmUtY29ydGV4YTcyICAgICAgICAgICAgICAgPSAibGliNjQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhOC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhOC5pbmMKaW5kZXggOGVlOGRlOS4uNjU1MWJhNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTguaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE4LmluYwpAQCAtNCw2ICs0LDcgQEAKIAogVFVORVZBTElEW2NvcnRleGE4XSA9ICJFbmFibGUgQ29ydGV4LUE4IHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgogVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NvcnRleGE4JywgJyAtbWNwdT1jb3J0ZXgtYTgnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTgnLCAnYXJtdjdhOicsICcnICxkKX0iCiAKICMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKIEFWQUlMVFVORVMgKz0gImNvcnRleGE4IGNvcnRleGE4dCBjb3J0ZXhhOC1uZW9uIGNvcnRleGE4dC1uZW9uIgpAQCAtMTEsMTAgKzEyLDExIEBACiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTh0ICAgICAgICAgICAgPSAiY29ydGV4YTgiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTgtbmVvbiAgICAgICAgPSAiY29ydGV4YTgiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTh0LW5lb24gICAgICAgPSAiY29ydGV4YTgiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTggICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhfSBjb3J0ZXhhOCIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOHQgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0fSBjb3J0ZXhhOCIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOC1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtbmVvbn0gY29ydGV4YTgiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTh0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC1uZW9ufSBjb3J0ZXhhOCIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12N2EgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4ICAgICAgICAgICAgID0gImFybSB2ZnAgY29ydGV4YTgiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTh0ICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTh9IHRodW1iIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4fSBuZW9uIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4dC1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4LW5lb259IHRodW1iIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE4ICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YX0gY29ydGV4YTgtdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE4dCAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXR9IGNvcnRleGE4LXZmcCBjb3J0ZXhhOHQyLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOC1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2EtbmVvbn0gY29ydGV4YTgtdmZwIGNvcnRleGE4LW5lb24iCkBAIC0yNiwxMCArMjgsMTEgQEAKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOHRoZiAgICAgICAgICAgID0gImNvcnRleGE4IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE4aGYtbmVvbiAgICAgICAgPSAiY29ydGV4YTgiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTh0aGYtbmVvbiAgICAgICA9ICJjb3J0ZXhhOCIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOGhmICAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmfSBjb3J0ZXhhOCIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOHRoZiAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZn0gY29ydGV4YTgiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YThoZi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FoZi1uZW9ufSBjb3J0ZXhhOCIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOHRoZi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZi1uZW9ufSBjb3J0ZXhhOCIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12N2EgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4aGYgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTh9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTh0aGYgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOHR9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YThoZi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOC1uZW9ufSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4dGhmLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTh0LW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YThoZiAgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZn0gY29ydGV4YThoZi12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTh0aGYgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGZ9IGNvcnRleGE4aGYtdmZwIGNvcnRleGE4dDJoZi12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YThoZi1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZi1uZW9ufSBjb3J0ZXhhOGhmLXZmcCBjb3J0ZXhhOGhmLW5lb24iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhOS5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhOS5pbmMKaW5kZXggMGNmMzIzYy4uZWNjNzkwOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTkuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE5LmluYwpAQCAtNCw2ICs0LDcgQEAKIAogVFVORVZBTElEW2NvcnRleGE5XSA9ICJFbmFibGUgQ29ydGV4LUE5IHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgogVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NvcnRleGE5JywgJyAtbWNwdT1jb3J0ZXgtYTknLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTknLCAnYXJtdjdhOicsICcnICxkKX0iCiAKICMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKIEFWQUlMVFVORVMgKz0gImNvcnRleGE5IGNvcnRleGE5dCBjb3J0ZXhhOS1uZW9uIGNvcnRleGE5dC1uZW9uIgpAQCAtMTEsMTAgKzEyLDExIEBACiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTl0ICAgICAgICAgICAgPSAiY29ydGV4YTkiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTktbmVvbiAgICAgICAgPSAiY29ydGV4YTkiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTl0LW5lb24gICAgICAgPSAiY29ydGV4YTkiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTkgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhfSBjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXQgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0fSBjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOS1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtbmVvbn0gY29ydGV4YTkiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC1uZW9ufSBjb3J0ZXhhOSIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12N2EgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5ICAgICAgICAgICAgID0gImFybSB2ZnAgY29ydGV4YTkiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl0ICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl9IHRodW1iIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5fSBuZW9uIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dC1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5LW5lb259IHRodW1iIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE5ICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YX0gY29ydGV4YTktdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE5dCAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXR9IGNvcnRleGE5LXZmcCBjb3J0ZXhhOXQyLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOS1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2EtbmVvbn0gY29ydGV4YTktdmZwIGNvcnRleGE5LW5lb24iCkBAIC0yNiwxMCArMjgsMTEgQEAKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOXRoZiAgICAgICAgICAgID0gImNvcnRleGE5IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE5aGYtbmVvbiAgICAgICAgPSAiY29ydGV4YTkiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTl0aGYtbmVvbiAgICAgICA9ICJjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOWhmICAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmfSBjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXRoZiAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZn0gY29ydGV4YTkiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTloZi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FoZi1uZW9ufSBjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXRoZi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZi1uZW9ufSBjb3J0ZXhhOSIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12N2EgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5aGYgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl0aGYgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXR9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTloZi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOS1uZW9ufSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dGhmLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl0LW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTloZiAgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZn0gY29ydGV4YTloZi12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTl0aGYgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGZ9IGNvcnRleGE5aGYtdmZwIGNvcnRleGE5dDJoZi12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTloZi1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZi1uZW9ufSBjb3J0ZXhhOWhmLXZmcCBjb3J0ZXhhOWhmLW5lb24iCkBAIC00MSwxMCArNDQsMTEgQEAKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOXQtdmZwdjMgICAgICAgICA9ICJjb3J0ZXhhOSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOWhmLXZmcHYzICAgICAgICA9ICJjb3J0ZXhhOSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOXRoZi12ZnB2MyAgICAgICA9ICJjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOS12ZnB2MyAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLXZmcHYzfSBjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXQtdmZwdjMgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC12ZnB2M30gY29ydGV4YTkiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTloZi12ZnB2MyAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmLXZmcHYzfSBjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXRoZi12ZnB2MyAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmLXZmcHYzfSBjb3J0ZXhhOSIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12N2EgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5LXZmcHYzICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOX0gdmZwdjMiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl0LXZmcHYzICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dH0gdmZwdjMiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTloZi12ZnB2MyAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5aGZ9IHZmcHYzIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dGhmLXZmcHYzICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXRoZn0gdmZwdjMiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTktdmZwdjMgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YS12ZnB2M30gY29ydGV4YTktdmZwIGNvcnRleGE5LXZmcHYzIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE5dC12ZnB2MyAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0LXZmcHYzfSBjb3J0ZXhhOS12ZnAgY29ydGV4YTktdmZwdjMgY29ydGV4YTl0Mi12ZnAgY29ydGV4YTl0Mi12ZnB2MyIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOWhmLXZmcHYzICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGYtdmZwdjN9IGNvcnRleGE5aGYtdmZwIGNvcnRleGE5aGYtdmZwdjMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1lcDkzMTIuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtZXA5MzEyLmluYwppbmRleCA4NGNhNTI4Li40ZDkyODIxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1lcDkzMTIuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWVwOTMxMi5pbmMKQEAgLTQsNiArNCw3IEBACiAKIFRVTkVWQUxJRFtlcDkzMTJdID0gIkVuYWJsZSBJbnRlbCBQWEEyN3ggc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCiBUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnZXA5MzEyJywgJyAtbWFyY2g9ZXA5MzEyIC1tY3B1PWVwOTMxMicsICcnLCBkKX0iCitNQUNISU5FT1ZFUlJJREVTID0uICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdlcDkzMTInLCAnYXJtdjQ6JywgJycgLGQpfSIKIAogQVZBSUxUVU5FUyArPSAiZXA5MzEyIgogQVJNUEtHQVJDSF90dW5lLWVwOTMxMiA9ICJlcDkzMTIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pd21teHQuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaXdtbXh0LmluYwppbmRleCBmMjc0MjNjLi45YTZjZDIzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pd21teHQuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWl3bW14dC5pbmMKQEAgLTYsNyArNiw4IEBACiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY1LWRzcC5pbmMKIAogVFVORVZBTElEW2l3bW14dF0gPSAiRW5hYmxlIEludGVsIFBYQTI3eCBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKLVRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdpd21teHQnLCAnIC1tYXJjaD1pd21teHQgLW1jcHU9aXdtbXh0JywgJycsIGQpfSIKK1RVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdpd21teHQnLCAnIC1tY3B1PWl3bW14dCcsICcnLCBkKX0iCitNQUNISU5FT1ZFUlJJREVTID0uICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdpd21teHQnLCAnYXJtdjU6JywgJycgLGQpfSIKIAogQVZBSUxUVU5FUyArPSAiaXdtbXh0IgogQVJNUEtHQVJDSF90dW5lLWl3bW14dCA9ICJpd21teHQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wb3dlcjUuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcG93ZXI1LmluYwppbmRleCBhMzQ2YzMwLi4zOTUwMWJkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wb3dlcjUuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBvd2VyNS5pbmMKQEAgLTEsNCArMSw0IEBACi1ERUZBVUxUVFVORSA/PSAicHBjNjRwNSIKK0RFRkFVTFRUVU5FID89ICJwcGNwNSIKIAogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9wb3dlcnBjL2FyY2gtcG93ZXJwYzY0LmluYwogCkBAIC0xOSwzICsxOSw2IEBACiAjIGdsaWJjIGNvbmZpZ3VyZSBvcHRpb25zIHRvIGdldCBwb3dlcjUgc3BlY2lmaWMgbGlicmFyeQogR0xJQkNfRVhUUkFfT0VDT05GX3Bvd2VycGM2NCArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAncG93ZXI1JywgJy0td2l0aC1jcHU9cG93ZXI1JywgJycsIGQpfSIKIEdMSUJDX0VYVFJBX09FQ09ORl9wb3dlcnBjICs9ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdwb3dlcjUnLCAnLS13aXRoLWNwdT1wb3dlcjUnLCAnJywgZCl9IgorCisjIFFFTVUgdXNlcm1vZGUgZmFpbHMgd2l0aCBpbnZhbGlkIGluc3RydWN0aW9uIGVycm9yCitNQUNISU5FX0ZFQVRVUkVTX0JBQ0tGSUxMX0NPTlNJREVSRURfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3Bvd2VyNScsICcgcWVtdS11c2VybW9kZScsICcnLCBkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wb3dlcjYuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcG93ZXI2LmluYwppbmRleCBlZTIwMGY5Li4xZDVlOGVjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wb3dlcjYuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBvd2VyNi5pbmMKQEAgLTEsNCArMSw0IEBACi1ERUZBVUxUVFVORSA/PSAicHBjcHI2IgorREVGQVVMVFRVTkUgPz0gInBwY3A2IgogCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3Bvd2VycGMvYXJjaC1wb3dlcnBjNjQuaW5jCiAKQEAgLTE5LDMgKzE5LDYgQEAKICMgZ2xpYmMgY29uZmlndXJlIG9wdGlvbnMgdG8gZ2V0IHBvd2VyNiBzcGVjaWZpYyBsaWJyYXJ5CiBHTElCQ19FWFRSQV9PRUNPTkZfcG93ZXJwYzY0ICs9ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdwb3dlcjYnLCAnLS13aXRoLWNwdT1wb3dlcjYnLCAnJywgZCl9IgogR0xJQkNfRVhUUkFfT0VDT05GX3Bvd2VycGMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3Bvd2VyNicsICctLXdpdGgtY3B1PXBvd2VyNicsICcnLCBkKX0iCisKKyMgUUVNVSB1c2VybW9kZSBmYWlscyB3aXRoIGludmFsaWQgaW5zdHJ1Y3Rpb24gZXJyb3IKK01BQ0hJTkVfRkVBVFVSRVNfQkFDS0ZJTExfQ09OU0lERVJFRF9hcHBlbmQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAncG93ZXI2JywgJyBxZW11LXVzZXJtb2RlJywgJycsIGQpfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBvd2VyNy5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wb3dlcjcuaW5jCmluZGV4IDNhMjc3MTkuLjhmM2YwMzcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBvd2VyNy5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcG93ZXI3LmluYwpAQCAtMSw0ICsxLDQgQEAKLURFRkFVTFRUVU5FID89ICJwcGNwcjciCitERUZBVUxUVFVORSA/PSAicHBjcDciCiAKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvcG93ZXJwYy9hcmNoLXBvd2VycGM2NC5pbmMKIApAQCAtMTksMyArMTksNiBAQAogIyBnbGliYyBjb25maWd1cmUgb3B0aW9ucyB0byBnZXQgcG93ZXI3IHNwZWNpZmljIGxpYnJhcnkKIEdMSUJDX0VYVFJBX09FQ09ORl9wb3dlcnBjNjQgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3Bvd2VyNycsICctLXdpdGgtY3B1PXBvd2VyNycsICcnLCBkKX0iCiBHTElCQ19FWFRSQV9PRUNPTkZfcG93ZXJwYyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAncG93ZXI3JywgJy0td2l0aC1jcHU9cG93ZXI3JywgJycsIGQpfSIKKworIyBRRU1VIHVzZXJtb2RlIGZhaWxzIHdpdGggaW52YWxpZCBpbnN0cnVjdGlvbiBlcnJvcgorTUFDSElORV9GRUFUVVJFU19CQUNLRklMTF9DT05TSURFUkVEX2FwcGVuZCA9ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdwb3dlcjcnLCAnIHFlbXUtdXNlcm1vZGUnLCAnJywgZCl9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcHBjZTUwMHYyLmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBwY2U1MDB2Mi5pbmMKaW5kZXggM2EwMDZlMi4uZDMxOGJiYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcHBjZTUwMHYyLmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wcGNlNTAwdjIuaW5jCkBAIC0xNSw2ICsxNSw2IEBACiBBQklFWFRFTlNJT04gLj0gIiR7U1BFQUJJRVhURU5TSU9OfSIKIAogQVZBSUxUVU5FUyArPSAicHBjZTUwMHYyIgotVFVORV9GRUFUVVJFU190dW5lLXBwY2U1MDB2MiA9ICJtMzIgc3BlIHBwY2U1MDB2MiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1wcGNlNTAwdjIgPSAibTMyIHBwY2U1MDB2MiIKIFRVTkVfUEtHQVJDSF90dW5lLXBwY2U1MDB2MiA9ICJwcGNlNTAwdjIiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtcHBjZTUwMHYyID0gInBwY2U1MDB2MiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXN0cm9uZ2FybTExMDAuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtc3Ryb25nYXJtMTEwMC5pbmMKaW5kZXggODBjZmI4YS4uZTk3OGU5MiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtc3Ryb25nYXJtMTEwMC5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtc3Ryb25nYXJtMTEwMC5pbmMKQEAgLTQsOCArNCw5IEBACiAKIFRVTkVWQUxJRFtzdHJvbmdhcm1dID0gIkVuYWJsZSBTdHJvbmdhcm0gMTEwMCBzZXJpZXMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCiBUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnc3Ryb25nYXJtJywgJyAtbWNwdT1zdHJvbmdhcm0xMTAwJywgJycsIGQpfSIKK01BQ0hJTkVPVkVSUklERVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3N0cm9uZ2FybScsICdhcm12NDonLCAnJyAsZCl9IgogCiBBVkFJTFRVTkVTICs9ICJzdHJvbmdhcm0iCiBBUk1QS0dBUkNIX3R1bmUtc3Ryb25nYXJtID0gInN0cm9uZ2FybSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1zdHJvbmdhcm0gPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjR9IHN0cm9uZ2FybSIKK1RVTkVfRkVBVFVSRVNfdHVuZS1zdHJvbmdhcm0gPSAiYXJtIHN0cm9uZ2FybSIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1zdHJvbmdhcm0gPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjR9IHN0cm9uZ2FybSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXRodW5kZXJ4LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXRodW5kZXJ4LmluYwppbmRleCAzZDQzYjBmLi45MmFkZjJkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS10aHVuZGVyeC5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtdGh1bmRlcnguaW5jCkBAIC0xLDExICsxLDExIEBACi1yZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY4LmluYwotCiBERUZBVUxUVFVORSA/PSAidGh1bmRlcngiCiBBVkFJTFRVTkVTICs9ICJ0aHVuZGVyeCB0aHVuZGVyeF9iZSIKIAogVFVORVZBTElEW3RodW5kZXJ4XSA9ICJFbmFibGUgaW5zdHJ1Y3Rpb25zIGZvciBDYXZpdW0gVGh1bmRlclgiCiAKLVRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICd0aHVuZGVyeCcsICcgLW1jcHU9dGh1bmRlcnggJywgJycsZCl9IgorVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3RodW5kZXJ4JywgJyAtbWNwdT10aHVuZGVyeCcsICcnLGQpfSIKKworcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OGEuaW5jCiAKIEFSTVBLR0FSQ0hfdHVuZS10aHVuZGVyeCA/PSAidGh1bmRlcngiCiBBUk1QS0dBUkNIX3R1bmUtdGh1bmRlcnhfYmUgPz0gInRodW5kZXJ4X2JlIgpAQCAtMTUsNSArMTUsNSBAQAogQkFTRV9MSUJfdHVuZS10aHVuZGVyeCA9ICJsaWI2NCIKIEJBU0VfTElCX3R1bmUtdGh1bmRlcnhfYmUgPSAibGliNjQiCiAKLVBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS10aHVuZGVyeCA9ICJhYXJjaDY0IHRodW5kZXJ4IgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXRodW5kZXJ4ID0gImFybXY4YS1jcmMtY3J5cHRvIHRodW5kZXJ4IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXRodW5kZXJ4X2JlID0gImFhcmNoNjRfYmUgdGh1bmRlcnhfYmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS14c2NhbGUuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUteHNjYWxlLmluYwppbmRleCAwZDA3MzMzLi4xOWQ1ZTEzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS14c2NhbGUuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXhzY2FsZS5pbmMKQEAgLTQsMTMgKzQsMTYgQEAKIAogVFVORVZBTElEW3hzY2FsZV0gPSAiRW5hYmxlIFBYQTI1NS9QWEEyNnggWHNjYWxlIHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgogVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3hzY2FsZScsICcgLW1jcHU9eHNjYWxlJywgJycsIGQpfSIKK01BQ0hJTkVPVkVSUklERVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3hzY2FsZScsICdhcm12NTonLCAnJyAsZCl9IgogCiBBVkFJTFRVTkVTICs9ICJ4c2NhbGUiCiBBUk1QS0dBUkNIX3R1bmUteHNjYWxlID0gInhzY2FsZSIKLVRVTkVfRkVBVFVSRVNfdHVuZS14c2NhbGUgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjV0ZX0geHNjYWxlIgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY1dGUgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLXhzY2FsZSA9ICJhcm0gdGh1bWIgZHNwIHhzY2FsZSIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS14c2NhbGUgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjV0ZX0geHNjYWxlIHhzY2FsZXQgeHNjYWxlZSB4c2NhbGV0ZSIKIAogQVZBSUxUVU5FUyArPSAieHNjYWxlLWJlIgogQVJNUEtHQVJDSF90dW5lLXhzY2FsZS1iZSA9ICJ4c2NhbGUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUteHNjYWxlLWJlID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY1dGVifSB4c2NhbGUgYmlnZW5kaWFuIgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY1dGUgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLXhzY2FsZS1iZSA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS14c2NhbGV9IGJpZ2VuZGlhbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS14c2NhbGUtYmUgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjV0ZWJ9IHhzY2FsZWIgeHNjYWxldGIgeHNjYWxlZWIgeHNjYWxldGViIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni1iYXNlLmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYtYmFzZS5pbmMKaW5kZXggYzI5Mjc5Mi4uNjg2ZjkzOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni1iYXNlLmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2LWJhc2UuaW5jCkBAIC0xOCw3ICsxOCw3IEBACiAjIGtlcm5lbC1yZWxhdGVkIHZhcmlhYmxlcwogIwogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwva2VybmVsID8/PSAibGludXgteW9jdG8iCi1QUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/Pz0gIjQuMTglIgorUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG8gPz89ICI1LjAlIgogCiAjCiAjIFhTRVJWRVIgc3ViY29tcG9uZW50cywgdXNlZCB0byBidWlsZCB0aGUgWFNFUlZFUiB2YXJpYWJsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11YXJtLmNvbmYgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVhcm0uY29uZgppbmRleCBkMmYyYzg1Li4wYTJjOTk1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVhcm0uY29uZgorKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVhcm0uY29uZgpAQCAtMSwyMCArMSwzMyBAQAogI0BUWVBFOiBNYWNoaW5lCi0jQE5BTUU6IGFybV92ZXJzYXRpbGVfOTI2ZWpzCi0jQERFU0NSSVBUSU9OOiBhcm1fdmVyc2F0aWxlXzkyNmVqcworI0BOQU1FOiBRRU1VIEFybSBDb3J0ZXgtQTE1IG1hY2hpbmUKKyNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgcnVubmluZyBhbiBBUk12NyBzeXN0ZW0gb24gUUVNVQogCityZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTE1LmluYwogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYwotcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTkyNmVqcy5pbmMKLSNyZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtMTEzNmpmLXMuaW5jCiAKIEtFUk5FTF9JTUFHRVRZUEUgPSAiekltYWdlIgogCi1TRVJJQUxfQ09OU09MRVMgPz0gIjExNTIwMDt0dHlBTUEwIDExNTIwMDt0dHlBTUExIgorU0VSSUFMX0NPTlNPTEVTID89ICIxMTUyMDA7dHR5QU1BMCAxMTUyMDA7aHZjMCIKIAogIyBGb3IgcnVucWVtdQogUUJfU1lTVEVNX05BTUUgPSAicWVtdS1zeXN0ZW0tYXJtIgotUUJfTUFDSElORSA9ICItbWFjaGluZSB2ZXJzYXRpbGVwYiIKLVFCX0tFUk5FTF9DTURMSU5FX0FQUEVORCA9ICJjb25zb2xlPXR0eUFNQTAsMTE1MjAwIGNvbnNvbGU9dHR5IgotIyBBZGQgdGhlICd2aXJ0aW8tcm5nLXBjaScgZGV2aWNlIG90aGVyd2lzZSB0aGUgZ3Vlc3QgbWF5IHJ1biBvdXQgb2YgZW50cm9weQotUUJfT1BUX0FQUEVORCA9ICItc2hvdy1jdXJzb3IgLXVzYiAtZGV2aWNlIHVzYi10YWJsZXQgLWRldmljZSB2aXJ0aW8tcm5nLXBjaSIKLVBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvID8/PSAiNC4xOCUiCi1RQl9EVEIgPSAiJHtAb2UudXRpbHMudmVyc2lvbl9sZXNzX29yX2VxdWFsKCdQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0bycsICc0LjcnLCAnJywgJ3pJbWFnZS12ZXJzYXRpbGUtcGIuZHRiJywgZCl9IgorUUJfTUVNID0gIi1tIDUxMiIKK1FCX01BQ0hJTkUgPSAiLW1hY2hpbmUgdmlydCIKK1FCX0NQVSA9ICItY3B1IGNvcnRleC1hMTUiCisjIFN0YW5kYXJkIFNlcmlhbCBjb25zb2xlCitRQl9LRVJORUxfQ01ETElORV9BUFBFTkQgPSAiY29uc29sZT10dHlBTUEwIgorIyBGb3IgZ3JhcGhpY3MgdG8gd29yayB3ZSBuZWVkIHRvIGRlZmluZSB0aGUgVkdBIGRldmljZSBhcyB3ZWxsIGFzIHRoZSBuZWNlc3NhcnkgVVNCIGRldmljZXMKK1FCX09QVF9BUFBFTkQgPSAiLXNob3ctY3Vyc29yIC1kZXZpY2UgVkdBLGVkaWQ9b24iCitRQl9PUFRfQVBQRU5EICs9ICItZGV2aWNlIHFlbXUteGhjaSAtZGV2aWNlIHVzYi10YWJsZXQgLWRldmljZSB1c2Ita2JkIgorIyBBZGQgdGhlIHZpcnRpbyBSTkcKK1FCX09QVF9BUFBFTkQgKz0gIi1vYmplY3Qgcm5nLXJhbmRvbSxmaWxlbmFtZT0vZGV2L3VyYW5kb20saWQ9cm5nMCAtZGV2aWNlIHZpcnRpby1ybmctcGNpLHJuZz1ybmcwIgorIyBWaXJ0aW8gTmV0d29ya2luZyBzdXBwb3J0CitRQl9UQVBfT1BUID0gIi1uZXRkZXYgdGFwLGlkPW5ldDAsaWZuYW1lPUBUQVBALHNjcmlwdD1ubyxkb3duc2NyaXB0PW5vIgorUUJfTkVUV09SS19ERVZJQ0UgPSAiLWRldmljZSB2aXJ0aW8tbmV0LWRldmljZSxuZXRkZXY9bmV0MCxtYWM9QE1BQ0AiCisjIFZpcnRpbyBibG9jayBkZXZpY2UKK1FCX1JPT1RGU19PUFQgPSAiLWRyaXZlIGlkPWRpc2swLGZpbGU9QFJPT1RGU0AsaWY9bm9uZSxmb3JtYXQ9cmF3IC1kZXZpY2UgdmlydGlvLWJsay1kZXZpY2UsZHJpdmU9ZGlzazAiCisjIFZpcnRpbyBzZXJpYWwgY29uc29sZQorUUJfU0VSSUFMX09QVCA9ICItZGV2aWNlIHZpcnRpby1zZXJpYWwtZGV2aWNlIC1jaGFyZGV2IG51bGwsaWQ9dmlydGNvbiAtZGV2aWNlIHZpcnRjb25zb2xlLGNoYXJkZXY9dmlydGNvbiIKK1FCX1RDUFNFUklBTF9PUFQgPSAiLWRldmljZSB2aXJ0aW8tc2VyaWFsLWRldmljZSAtY2hhcmRldiBzb2NrZXQsaWQ9dmlydGNvbixwb3J0PUBQT1JUQCxob3N0PTEyNy4wLjAuMSAtZGV2aWNlIHZpcnRjb25zb2xlLGNoYXJkZXY9dmlydGNvbiIKKworS01BQ0hJTkVfcWVtdWFybSA9ICJxZW11YXJtYTE1IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11YXJtNjQuY29uZiBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdWFybTY0LmNvbmYKaW5kZXggMjQyODg5YS4uNWM4YWFjMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11YXJtNjQuY29uZgorKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVhcm02NC5jb25mCkBAIC0xLDI0ICsxLDMxIEBACiAjQFRZUEU6IE1hY2hpbmUKLSNATkFNRTogZ2VuZXJpYyBhcm12OCBtYWNoaW5lCi0jQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIHJ1bm5pbmcgYSBnZW5lcmljIGFybXY4CisjQE5BTUU6IFFFTVUgQVJNdjggbWFjaGluZQorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBydW5uaW5nIGFuIEFSTXY4IHN5c3RlbSBvbiBRRU1VCiAKLXJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjguaW5jCityZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY4YS5pbmMKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMKIAogS0VSTkVMX0lNQUdFVFlQRSA9ICJJbWFnZSIKIAotU0VSSUFMX0NPTlNPTEVTID89ICIzODQwMDt0dHlBTUEwIDM4NDAwO2h2YzAiCitTRVJJQUxfQ09OU09MRVMgPz0gIjExNTIwMDt0dHlBTUEwIDExNTIwMDtodmMwIgogCiAjIEZvciBydW5xZW11CiBRQl9TWVNURU1fTkFNRSA9ICJxZW11LXN5c3RlbS1hYXJjaDY0IgogUUJfTUVNID0gIi1tIDUxMiIKIFFCX01BQ0hJTkUgPSAiLW1hY2hpbmUgdmlydCIKIFFCX0NQVSA9ICItY3B1IGNvcnRleC1hNTciCi1RQl9LRVJORUxfQ01ETElORV9BUFBFTkQgPSAiY29uc29sZT10dHlBTUEwLDM4NDAwIgorIyBTdGFuZGFyZCBTZXJpYWwgY29uc29sZQorUUJfS0VSTkVMX0NNRExJTkVfQVBQRU5EID0gImNvbnNvbGU9dHR5QU1BMCIKKyMgRm9yIGdyYXBoaWNzIHRvIHdvcmsgd2UgbmVlZCB0byBkZWZpbmUgdGhlIFZHQSBkZXZpY2UgYXMgd2VsbCBhcyB0aGUgbmVjZXNzYXJ5IFVTQiBkZXZpY2VzCitRQl9PUFRfQVBQRU5EID0gIi1zaG93LWN1cnNvciAtZGV2aWNlIFZHQSxlZGlkPW9uIgorUUJfT1BUX0FQUEVORCArPSAiLWRldmljZSBxZW11LXhoY2kgLWRldmljZSB1c2ItdGFibGV0IC1kZXZpY2UgdXNiLWtiZCIKICMgQWRkIHRoZSAndmlydGlvLXJuZy1wY2knIGRldmljZSBvdGhlcndpc2UgdGhlIGd1ZXN0IG1heSBydW4gb3V0IG9mIGVudHJvcHkKLVFCX09QVF9BUFBFTkQgPSAiLXNob3ctY3Vyc29yIC1kZXZpY2UgdmlydGlvLXJuZy1wY2kgLW1vbml0b3IgbnVsbCIKK1FCX09QVF9BUFBFTkQgKz0gIi1vYmplY3Qgcm5nLXJhbmRvbSxmaWxlbmFtZT0vZGV2L3VyYW5kb20saWQ9cm5nMCAtZGV2aWNlIHZpcnRpby1ybmctcGNpLHJuZz1ybmcwIgorIyBWaXJ0aW8gTmV0d29ya2luZyBzdXBwb3J0CiBRQl9UQVBfT1BUID0gIi1uZXRkZXYgdGFwLGlkPW5ldDAsaWZuYW1lPUBUQVBALHNjcmlwdD1ubyxkb3duc2NyaXB0PW5vIgogUUJfTkVUV09SS19ERVZJQ0UgPSAiLWRldmljZSB2aXJ0aW8tbmV0LWRldmljZSxuZXRkZXY9bmV0MCxtYWM9QE1BQ0AiCisjIFZpcnRpbyBibG9jayBkZXZpY2UKIFFCX1JPT1RGU19PUFQgPSAiLWRyaXZlIGlkPWRpc2swLGZpbGU9QFJPT1RGU0AsaWY9bm9uZSxmb3JtYXQ9cmF3IC1kZXZpY2UgdmlydGlvLWJsay1kZXZpY2UsZHJpdmU9ZGlzazAiCisjIFZpcnRpbyBzZXJpYWwgY29uc29sZQogUUJfU0VSSUFMX09QVCA9ICItZGV2aWNlIHZpcnRpby1zZXJpYWwtZGV2aWNlIC1jaGFyZGV2IG51bGwsaWQ9dmlydGNvbiAtZGV2aWNlIHZpcnRjb25zb2xlLGNoYXJkZXY9dmlydGNvbiIKLVFCX1RDUFNFUklBTF9PUFQgPSAiIC1kZXZpY2UgdmlydGlvLXNlcmlhbC1kZXZpY2UgLWNoYXJkZXYgc29ja2V0LGlkPXZpcnRjb24scG9ydD1AUE9SVEAsaG9zdD0xMjcuMC4wLjEgLWRldmljZSB2aXJ0Y29uc29sZSxjaGFyZGV2PXZpcnRjb24iCitRQl9UQ1BTRVJJQUxfT1BUID0gIi1kZXZpY2UgdmlydGlvLXNlcmlhbC1kZXZpY2UgLWNoYXJkZXYgc29ja2V0LGlkPXZpcnRjb24scG9ydD1AUE9SVEAsaG9zdD0xMjcuMC4wLjEgLWRldmljZSB2aXJ0Y29uc29sZSxjaGFyZGV2PXZpcnRjb24iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVhcm12NS5jb25mIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11YXJtdjUuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzIxZDMzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11YXJtdjUuY29uZgpAQCAtMCwwICsxLDIzIEBACisjQFRZUEU6IE1hY2hpbmUKKyNATkFNRTogUUVNVSBBUk05IG1hY2hpbmUKKyNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgcnVubmluZyBhbiBBUk12NSBzeXN0ZW0gb24gUUVNVQorCityZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jCityZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtOTI2ZWpzLmluYworI3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm0xMTM2amYtcy5pbmMKKworS0VSTkVMX0lNQUdFVFlQRSA9ICJ6SW1hZ2UiCisKK1NFUklBTF9DT05TT0xFUyA/PSAiMTE1MjAwO3R0eUFNQTAgMTE1MjAwO3R0eUFNQTEiCisKKyMgRm9yIHJ1bnFlbXUKK1FCX1NZU1RFTV9OQU1FID0gInFlbXUtc3lzdGVtLWFybSIKK1FCX01BQ0hJTkUgPSAiLW1hY2hpbmUgdmVyc2F0aWxlcGIiCitRQl9LRVJORUxfQ01ETElORV9BUFBFTkQgPSAiY29uc29sZT10dHlBTUEwLDExNTIwMCBjb25zb2xlPXR0eSIKK1FCX09QVF9BUFBFTkQgPSAiLXNob3ctY3Vyc29yIC11c2IgLWRldmljZSB1c2ItdGFibGV0IgorIyBBZGQgdGhlICd2aXJ0aW8tcm5nLXBjaScgZGV2aWNlIG90aGVyd2lzZSB0aGUgZ3Vlc3QgbWF5IHJ1biBvdXQgb2YgZW50cm9weQorUUJfT1BUX0FQUEVORCArPSAiLW9iamVjdCBybmctcmFuZG9tLGZpbGVuYW1lPS9kZXYvdXJhbmRvbSxpZD1ybmcwIC1kZXZpY2UgdmlydGlvLXJuZy1wY2kscm5nPXJuZzAiCitQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/Pz0gIjUuMCUiCitRQl9EVEIgPSAiJHtAb2UudXRpbHMudmVyc2lvbl9sZXNzX29yX2VxdWFsKCdQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0bycsICc0LjcnLCAnJywgJ3pJbWFnZS12ZXJzYXRpbGUtcGIuZHRiJywgZCl9IgorCitLTUFDSElORV9xZW11YXJtdjUgPSAicWVtdWFybSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdW1pcHMuY29uZiBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdW1pcHMuY29uZgppbmRleCBhNjBmNjdhLi40OGQ5ZjQxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVtaXBzLmNvbmYKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11bWlwcy5jb25mCkBAIC0xLDYgKzEsNiBAQAogI0BUWVBFOiBNYWNoaW5lCi0jQE5BTUU6IG10aV9tYWx0YTMyX2JlIE1JUFMKLSNAREVTQ1JJUFRJT046IG10aV9tYWx0YTMyX2JlCisjQE5BTUU6IFFFTVUgTUlQUzMyIG1hY2hpbmUKKyNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgcnVubmluZyBhIE1JUFMgc3lzdGVtIG9uIFFFTVUKIAogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYwogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLW1pcHMzMnIyLmluYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11bWlwczY0LmNvbmYgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVtaXBzNjQuY29uZgppbmRleCBhMTY2YTEwLi4xODcyZTdiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVtaXBzNjQuY29uZgorKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVtaXBzNjQuY29uZgpAQCAtMSwxMSArMSwxMyBAQAogI0BUWVBFOiBNYWNoaW5lCi0jQE5BTUU6IG10aS1tYWx0YTY0LWJlIE1JUFM2NAotI0BERVNDUklQVElPTjogbXRpLW1hbHRhNjQtYmUKKyNATkFNRTogUUVNVSBNSVBTNjQgbWFjaGluZQorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBydW5uaW5nIGEgTUlQUzY0IHN5c3RlbSBvbiBRRU1VCiAKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMKLXJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1taXBzNjQuaW5jCityZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtbWlwczY0cjIuaW5jCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LW1pcHMuaW5jCiAKK1FCX0NQVSA9ICItY3B1IE1JUFM2NFIyLWdlbmVyaWMiCisKIEtFUk5FTF9JTUFHRVRZUEUgPSAidm1saW51eCIKIEtFUk5FTF9BTFRfSU1BR0VUWVBFID0gInZtbGludXguYmluIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVwcGMuY29uZiBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXBwYy5jb25mCmluZGV4IDUzN2IyZjYuLmJkODhlZWIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXBwYy5jb25mCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXBwYy5jb25mCkBAIC0xLDYgKzEsNiBAQAogI0BUWVBFOiBNYWNoaW5lCi0jQE5BTUU6IHFlbXUgUFBDIEVtdWxhdG9yIHNldHVwCi0jQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIHJ1bm5pbmcgYW4gUFBDIHN5c3RlbSB1bmRlciBxZW11IGVtdWxhdGlvbgorI0BOQU1FOiBRRU1VIFBQQyBtYWNoaW5lCisjQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIHJ1bm5pbmcgYSBQUEMgc3lzdGVtIG9uIFFFTVUKIAogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYwogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBwYzc0MDAuaW5jCkBAIC0xNiw2ICsxNiw3IEBACiBRQl9NQUNISU5FID0gIi1tYWNoaW5lIG1hYzk5IgogUUJfQ1BVID0gIi1jcHUgRzQiCiBRQl9LRVJORUxfQ01ETElORV9BUFBFTkQgPSAiY29uc29sZT10dHkgY29uc29sZT10dHlTMCIKK1FCX09QVF9BUFBFTkQgPSAiLXNob3ctY3Vyc29yIC11c2IgLWRldmljZSB1c2ItdGFibGV0IgogIyBBZGQgdGhlICd2aXJ0aW8tcm5nLXBjaScgZGV2aWNlIG90aGVyd2lzZSB0aGUgZ3Vlc3QgbWF5IHJ1biBvdXQgb2YgZW50cm9weQotUUJfT1BUX0FQUEVORCA9ICItc2hvdy1jdXJzb3IgLXVzYiAtZGV2aWNlIHVzYi10YWJsZXQgLWRldmljZSB2aXJ0aW8tcm5nLXBjaSIKK1FCX09QVF9BUFBFTkQgKz0gIi1vYmplY3Qgcm5nLXJhbmRvbSxmaWxlbmFtZT0vZGV2L3VyYW5kb20saWQ9cm5nMCAtZGV2aWNlIHZpcnRpby1ybmctcGNpLHJuZz1ybmcwIgogUUJfVEFQX09QVCA9ICItbmV0ZGV2IHRhcCxpZD1uZXQwLGlmbmFtZT1AVEFQQCxzY3JpcHQ9bm8sZG93bnNjcmlwdD1ubyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni02NC5jb25mIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LTY0LmNvbmYKaW5kZXggOTk2NmQxYS4uMzgzZTNiZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LTY0LmNvbmYKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LTY0LmNvbmYKQEAgLTEsNiArMSw2IEBACiAjQFRZUEU6IE1hY2hpbmUKLSNATkFNRTogY29tbW9uX3BjCi0jQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIHJ1bm5pbmcgYSBjb21tb24geDg2CisjQE5BTUU6IFFFTVUgeDg2LTY0IG1hY2hpbmUKKyNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgcnVubmluZyBhbiB4ODYtNjQgc3lzdGVtIG9uIFFFTVUKIAogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveHNlcnZlciA/PSAieHNlcnZlci14b3JnIgogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliZ2wgPz0gIm1lc2EiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYuY29uZiBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mCmluZGV4IGU3OGZiNmUuLmFlNTE4N2MgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mCkBAIC0xLDYgKzEsNiBAQAogI0BUWVBFOiBNYWNoaW5lCi0jQE5BTUU6IGNvbW1vbl9wYwotI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBydW5uaW5nIGEgY29tbW9uIHg4NgorI0BOQU1FOiBRRU1VIHg4NiBtYWNoaW5lCisjQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIHJ1bm5pbmcgYW4geDg2IHN5c3RlbSBvbiBRRU1VCiAKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3hzZXJ2ZXIgPz0gInhzZXJ2ZXIteG9yZyIKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmdsID89ICJtZXNhIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy92aW0gYi9wb2t5L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL3ZpbQpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy92aW0KcmVuYW1lIHRvIHBva3kvbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvdmltCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvZmlsZXMvdG9vbGNoYWluLXNoYXItZXh0cmFjdC5zaCBiL3Bva3kvbWV0YS9maWxlcy90b29sY2hhaW4tc2hhci1leHRyYWN0LnNoCmluZGV4IDllYWJkNjIuLjE1NjA4NWIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9maWxlcy90b29sY2hhaW4tc2hhci1leHRyYWN0LnNoCisrKyBiL3Bva3kvbWV0YS9maWxlcy90b29sY2hhaW4tc2hhci1leHRyYWN0LnNoCkBAIC0xODUsMTEgKzE4NSwxMSBAQAogCiBpZiBbIC1lICIkdGFyZ2V0X3Nka19kaXIvZW52aXJvbm1lbnQtc2V0dXAtQFJFQUxfTVVMVElNQUNIX1RBUkdFVF9TWVNAIiBdOyB0aGVuCiAJZWNobyAiVGhlIGRpcmVjdG9yeSBcIiR0YXJnZXRfc2RrX2RpclwiIGFscmVhZHkgY29udGFpbnMgYSBTREsgZm9yIHRoaXMgYXJjaGl0ZWN0dXJlLiIKLQlwcmludGYgIklmIHlvdSBjb250aW51ZSwgZXhpc3RpbmcgZmlsZXMgd2lsbCBiZSBvdmVyd3JpdHRlbiEgUHJvY2VlZFt5L05dPyAiCisJcHJpbnRmICJJZiB5b3UgY29udGludWUsIGV4aXN0aW5nIGZpbGVzIHdpbGwgYmUgb3ZlcndyaXR0ZW4hIFByb2NlZWQgW3kvTl0/ICIKIAogCWRlZmF1bHRfYW5zd2VyPSJuIgogZWxzZQotCXByaW50ZiAiWW91IGFyZSBhYm91dCB0byBpbnN0YWxsIHRoZSBTREsgdG8gXCIkdGFyZ2V0X3Nka19kaXJcIi4gUHJvY2VlZFtZL25dPyAiCisJcHJpbnRmICJZb3UgYXJlIGFib3V0IHRvIGluc3RhbGwgdGhlIFNESyB0byBcIiR0YXJnZXRfc2RrX2RpclwiLiBQcm9jZWVkIFtZL25dPyAiCiAKIAlkZWZhdWx0X2Fuc3dlcj0ieSIKIGZpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lL2NsYXNzZXh0ZW5kLnB5IGIvcG9reS9tZXRhL2xpYi9vZS9jbGFzc2V4dGVuZC5weQppbmRleCBkMmVlYWYwLi42NjI3MDdiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lL2NsYXNzZXh0ZW5kLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2UvY2xhc3NleHRlbmQucHkKQEAgLTExNCw3ICsxMTQsNyBAQAogICAgIGRlZiBtYXBfZGVwZW5kcyhzZWxmLCBkZXApOgogICAgICAgICBpZiBkZXAuc3RhcnRzd2l0aChzZWxmLmV4dG5hbWUpOgogICAgICAgICAgICAgcmV0dXJuIGRlcAotICAgICAgICBpZiBkZXAuZW5kc3dpdGgoKCItZ2NjLWluaXRpYWwiLCAiLWdjYyIsICItZysrIikpOgorICAgICAgICBpZiBkZXAuZW5kc3dpdGgoKCItZ2NjIiwgIi1nKysiKSk6CiAgICAgICAgICAgICByZXR1cm4gZGVwICsgIi1jcm9zc3NkayIKICAgICAgICAgZWxpZiBkZXAuZW5kc3dpdGgoKCItbmF0aXZlIiwgIi1uYXRpdmUtcnVudGltZSIpKSBvciAoJ25hdGl2ZXNkay0nIGluIGRlcCkgb3IgKCctY3Jvc3MtJyBpbiBkZXApIG9yICgnLWNyb3Nzc2RrLScgaW4gZGVwKToKICAgICAgICAgICAgIHJldHVybiBkZXAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2UvZWxmLnB5IGIvcG9reS9tZXRhL2xpYi9vZS9lbGYucHkKaW5kZXggMGVkNTlhZS4uNGNjOWE5YSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZS9lbGYucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZS9lbGYucHkKQEAgLTYzLDYgKzYzLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICJhcm0iIDogICAgICAgKCAgNDAsICAgIDk3LCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICAiYXJtZWIiOiAgICAgICggIDQwLCAgICA5NywgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAgInBvd2VycGMiOiAgICAoICAyMCwgICAgIDAsICAgIDAsICAgICAgICAgIEZhbHNlLCAgICAgICAgIDMyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJwb3dlcnBjNjQiOiAgKCAgMjEsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICA2NCksCiAgICAgICAgICAgICAgICAgICAgICAgICAiaTM4NiI6ICAgICAgICggICAzLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAgImk0ODYiOiAgICAgICAoICAgMywgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgICJpNTg2IjogICAgICAgKCAgIDMsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lL2xpY2Vuc2UucHkgYi9wb2t5L21ldGEvbGliL29lL2xpY2Vuc2UucHkKaW5kZXggY2EzODVkNS4uMDRmNWIzMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZS9saWNlbnNlLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2UvbGljZW5zZS5weQpAQCAtMTMsOCArMTMsOCBAQAogICAgICAgICAjIHdpbGwgZXhjbHVkZSBhIHRyYWlsaW5nICcrJyBjaGFyYWN0ZXIgZnJvbSBMSUNFTlNFIGluCiAgICAgICAgICMgY2FzZSBJTkNPTVBBVElCTEVfTElDRU5TRSBpcyBub3QgYSAnWCsnIGxpY2Vuc2UuCiAgICAgICAgIGxpYyA9IGxpY2Vuc2UKLSAgICAgICAgaWYgbm90IHJlLnNlYXJjaCgnXCskJywgZHdsKToKLSAgICAgICAgICAgIGxpYyA9IHJlLnN1YignXCsnLCAnJywgbGljZW5zZSkKKyAgICAgICAgaWYgbm90IHJlLnNlYXJjaChyJ1wrJCcsIGR3bCk6CisgICAgICAgICAgICBsaWMgPSByZS5zdWIocidcKycsICcnLCBsaWNlbnNlKQogICAgICAgICBpZiBmbm1hdGNoKGxpYywgZHdsKToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgIHJldHVybiBUcnVlCkBAIC00MCw4ICs0MCw4IEBACiAgICAgICAgIHJldHVybiAiaW52YWxpZCBjaGFyYWN0ZXJzIGluIGxpY2Vuc2UgJyVzJyIgJSBzZWxmLmxpY2Vuc2UKIAogbGljZW5zZV9vcGVyYXRvcl9jaGFycyA9ICcmfCgpICcKLWxpY2Vuc2Vfb3BlcmF0b3IgPSByZS5jb21waWxlKCcoWycgKyBsaWNlbnNlX29wZXJhdG9yX2NoYXJzICsgJ10pJykKLWxpY2Vuc2VfcGF0dGVybiA9IHJlLmNvbXBpbGUoJ1thLXpBLVowLTkuK19cLV0rJCcpCitsaWNlbnNlX29wZXJhdG9yID0gcmUuY29tcGlsZShyJyhbJyArIGxpY2Vuc2Vfb3BlcmF0b3JfY2hhcnMgKyAnXSknKQorbGljZW5zZV9wYXR0ZXJuID0gcmUuY29tcGlsZShyJ1thLXpBLVowLTkuK19cLV0rJCcpCiAKIGNsYXNzIExpY2Vuc2VWaXNpdG9yKGFzdC5Ob2RlVmlzaXRvcik6CiAgICAgIiIiR2V0IGVsZW1lbnRzIGJhc2VkIG9uIE9wZW5FbWJlZGRlZCBsaWNlbnNlIHN0cmluZ3MiIiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2UvcGFja2FnZS5weSBiL3Bva3kvbWV0YS9saWIvb2UvcGFja2FnZS5weQppbmRleCBlZmQzNmIzLi42ZTgzZjAxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lL3BhY2thZ2UucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZS9wYWNrYWdlLnB5CkBAIC0yNTUsNyArMjU1LDcgQEAKIAogICAgIHNobGliX3Byb3ZpZGVyID0ge30KICAgICBzaGxpYnNfZGlycyA9IGQuZ2V0VmFyKCdTSExJQlNESVJTJykuc3BsaXQoKQotICAgIGxpc3RfcmUgPSByZS5jb21waWxlKCdeKC4qKVwubGlzdCQnKQorICAgIGxpc3RfcmUgPSByZS5jb21waWxlKHInXiguKilcLmxpc3QkJykKICAgICAjIEdvIGZyb20gbGVhc3QgdG8gbW9zdCBzcGVjaWZpYyBzaW5jZSB0aGUgbGFzdCBvbmUgZm91bmQgd2lucwogICAgIGZvciBkaXIgaW4gcmV2ZXJzZWQoc2hsaWJzX2RpcnMpOgogICAgICAgICBiYi5kZWJ1ZygyLCAiUmVhZGluZyBzaGxpYiBwcm92aWRlcnMgaW4gJXMiICUgKGRpcikpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lL3BhY2thZ2VfbWFuYWdlci5weSBiL3Bva3kvbWV0YS9saWIvb2UvcGFja2FnZV9tYW5hZ2VyLnB5CmluZGV4IDg4MmU3YzQuLjI4MzVjMWQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2UvcGFja2FnZV9tYW5hZ2VyLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2UvcGFja2FnZV9tYW5hZ2VyLnB5CkBAIC0yOSw3ICsyOSw3IEBACiAgICAgYSBkaWN0aW9uYXJ5IHdpdGggdGhlIGluZm9ybWF0aW9uIG9mIHRoZSBwYWNrYWdlcy4gVGhpcyBpcyB1c2VkCiAgICAgd2hlbiB0aGUgcGFja2FnZXMgYXJlIGluIGRlYiBvciBpcGsgZm9ybWF0LgogICAgICIiIgotICAgIHZlcnJlZ2V4ID0gcmUuY29tcGlsZSgnIFwoWz08Pl0qIFteICldKlwpJykKKyAgICB2ZXJyZWdleCA9IHJlLmNvbXBpbGUocicgXChbPTw+XSogW14gKV0qXCknKQogICAgIG91dHB1dCA9IGRpY3QoKQogICAgIHBrZyA9ICIiCiAgICAgYXJjaCA9ICIiCkBAIC05NCw2ICs5NCw4IEBACiAgICAgIyBQcmV0dHkgc3VyZSB3ZSBkb24ndCBuZWVkIHRoaXMgZm9yIGxvY2FsZSBhcmNoaXZlIGdlbmVyYXRpb24gYnV0CiAgICAgIyBrZWVwaW5nIGl0IHRvIGJlIHNhZmUuLi4KICAgICBsb2NhbGVfYXJjaF9vcHRpb25zID0geyBcCisgICAgICAgICJhcmMiOiBbIi0tdWludDMyLWFsaWduPTQiLCAiLS1saXR0bGUtZW5kaWFuIl0sCisgICAgICAgICJhcmNlYiI6IFsiLS11aW50MzItYWxpZ249NCIsICItLWJpZy1lbmRpYW4iXSwKICAgICAgICAgImFybSI6IFsiLS11aW50MzItYWxpZ249NCIsICItLWxpdHRsZS1lbmRpYW4iXSwKICAgICAgICAgImFybWViIjogWyItLXVpbnQzMi1hbGlnbj00IiwgIi0tYmlnLWVuZGlhbiJdLAogICAgICAgICAiYWFyY2g2NCI6IFsiLS11aW50MzItYWxpZ249NCIsICItLWxpdHRsZS1lbmRpYW4iXSwKQEAgLTI1MCw4ICsyNTIsOCBAQAogICAgICAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihzZWxmLmQuZXhwYW5kKCIke1NUQUdJTkdfRVRDRElSX05BVElWRX0iKSwKICAgICAgICAgICAgICAgICAiYXB0IiwgImFwdC5jb25mLnNhbXBsZSIpKSBhcyBhcHRfY29uZl9zYW1wbGU6CiAgICAgICAgICAgICAgICAgZm9yIGxpbmUgaW4gYXB0X2NvbmZfc2FtcGxlLnJlYWQoKS5zcGxpdCgiXG4iKToKLSAgICAgICAgICAgICAgICAgICAgbGluZSA9IHJlLnN1YigiI1JPT1RGUyMiLCAiL2Rldi9udWxsIiwgbGluZSkKLSAgICAgICAgICAgICAgICAgICAgbGluZSA9IHJlLnN1YigiI0FQVENPTkYjIiwgc2VsZi5hcHRfY29uZl9kaXIsIGxpbmUpCisgICAgICAgICAgICAgICAgICAgIGxpbmUgPSByZS5zdWIociIjUk9PVEZTIyIsICIvZGV2L251bGwiLCBsaW5lKQorICAgICAgICAgICAgICAgICAgICBsaW5lID0gcmUuc3ViKHIiI0FQVENPTkYjIiwgc2VsZi5hcHRfY29uZl9kaXIsIGxpbmUpCiAgICAgICAgICAgICAgICAgICAgIGFwdF9jb25mLndyaXRlKGxpbmUgKyAiXG4iKQogCiAgICAgZGVmIHdyaXRlX2luZGV4KHNlbGYpOgpAQCAtMzE4LDcgKzMyMCw3IEBACiAKIGNsYXNzIFJwbVBrZ3NMaXN0KFBrZ3NMaXN0KToKICAgICBkZWYgbGlzdF9wa2dzKHNlbGYpOgotICAgICAgICByZXR1cm4gUnBtUE0oc2VsZi5kLCBzZWxmLnJvb3Rmc19kaXIsIHNlbGYuZC5nZXRWYXIoJ1RBUkdFVF9WRU5ET1InKSkubGlzdF9pbnN0YWxsZWQoKQorICAgICAgICByZXR1cm4gUnBtUE0oc2VsZi5kLCBzZWxmLnJvb3Rmc19kaXIsIHNlbGYuZC5nZXRWYXIoJ1RBUkdFVF9WRU5ET1InKSwgbmVlZGZlZWQ9RmFsc2UpLmxpc3RfaW5zdGFsbGVkKCkKIAogY2xhc3MgT3BrZ1BrZ3NMaXN0KFBrZ3NMaXN0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgZCwgcm9vdGZzX2RpciwgY29uZmlnX2ZpbGUpOgpAQCAtNDA2LDcgKzQwOCw3IEBACiAgICAgICAgIHdpdGggb3Blbihwb3N0aW5zdF9pbnRlcmNlcHRfaG9vaykgYXMgaW50ZXJjZXB0OgogICAgICAgICAgICAgcmVnaXN0ZXJlZF9wa2dzID0gTm9uZQogICAgICAgICAgICAgZm9yIGxpbmUgaW4gaW50ZXJjZXB0LnJlYWQoKS5zcGxpdCgiXG4iKToKLSAgICAgICAgICAgICAgICBtID0gcmUubWF0Y2goIl4jI1BLR1M6KC4qKSIsIGxpbmUpCisgICAgICAgICAgICAgICAgbSA9IHJlLm1hdGNoKHIiXiMjUEtHUzooLiopIiwgbGluZSkKICAgICAgICAgICAgICAgICBpZiBtIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgICAgICByZWdpc3RlcmVkX3BrZ3MgPSBtLmdyb3VwKDEpLnN0cmlwKCkKICAgICAgICAgICAgICAgICAgICAgYnJlYWsKQEAgLTQzNyw2ICs0MzksMTEgQEAKICAgICAgICAgICAgICAgICBzZWxmLl9wb3N0cG9uZV90b19maXJzdF9ib290KHNjcmlwdF9mdWxsKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAKKyAgICAgICAgICAgIGlmIHBvcHVsYXRlX3NkayA9PSAnaG9zdCcgYW5kIHNlbGYuZC5nZXRWYXIoJ1NES19PUycpID09ICdtaW5ndzMyJzoKKyAgICAgICAgICAgICAgICBiYi5ub3RlKCJUaGUgcG9zdGluc3RhbGwgaW50ZXJjZXB0IGhvb2sgJyVzJyBjb3VsZCBub3QgYmUgZXhlY3V0ZWQgZHVlIHRvIG1pc3Npbmcgd2luZSBzdXBwb3J0LCBkZXRhaWxzIGluICVzL2xvZy5kb18lcyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoc2NyaXB0LCBzZWxmLmQuZ2V0VmFyKCdUJyksIHNlbGYuZC5nZXRWYXIoJ0JCX0NVUlJFTlRUQVNLJykpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKICAgICAgICAgICAgIGJiLm5vdGUoIj4gRXhlY3V0aW5nICVzIGludGVyY2VwdCAuLi4iICUgc2NyaXB0KQogCiAgICAgICAgICAgICB0cnk6CkBAIC00NDUsMTAgKzQ1MiwxMCBAQAogICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgYmIubm90ZSgiRXhpdCBjb2RlICVkLiBPdXRwdXQ6XG4lcyIgJSAoZS5yZXR1cm5jb2RlLCBlLm91dHB1dC5kZWNvZGUoInV0Zi04IikpKQogICAgICAgICAgICAgICAgIGlmIHBvcHVsYXRlX3NkayA9PSAnaG9zdCc6Ci0gICAgICAgICAgICAgICAgICAgIGJiLndhcm4oIlRoZSBwb3N0aW5zdGFsbCBpbnRlcmNlcHQgaG9vayAnJXMnIGZhaWxlZCwgZGV0YWlscyBpbiAlcy9sb2cuZG9fJXMiICUgKHNjcmlwdCwgc2VsZi5kLmdldFZhcignVCcpLCBzZWxmLmQuZ2V0VmFyKCdCQl9DVVJSRU5UVEFTSycpKSkKKyAgICAgICAgICAgICAgICAgICAgYmIuZmF0YWwoIlRoZSBwb3N0aW5zdGFsbCBpbnRlcmNlcHQgaG9vayAnJXMnIGZhaWxlZCwgZGV0YWlscyBpbiAlcy9sb2cuZG9fJXMiICUgKHNjcmlwdCwgc2VsZi5kLmdldFZhcignVCcpLCBzZWxmLmQuZ2V0VmFyKCdCQl9DVVJSRU5UVEFTSycpKSkKICAgICAgICAgICAgICAgICBlbGlmIHBvcHVsYXRlX3NkayA9PSAndGFyZ2V0JzoKICAgICAgICAgICAgICAgICAgICAgaWYgInFlbXV3cmFwcGVyOiBxZW11IHVzZXJtb2RlIGlzIG5vdCBzdXBwb3J0ZWQiIGluIGUub3V0cHV0LmRlY29kZSgidXRmLTgiKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGJiLndhcm4oIlRoZSBwb3N0aW5zdGFsbCBpbnRlcmNlcHQgaG9vayAnJXMnIGNvdWxkIG5vdCBiZSBleGVjdXRlZCBkdWUgdG8gbWlzc2luZyBxZW11IHVzZXJtb2RlIHN1cHBvcnQsIGRldGFpbHMgaW4gJXMvbG9nLmRvXyVzIgorICAgICAgICAgICAgICAgICAgICAgICAgYmIubm90ZSgiVGhlIHBvc3RpbnN0YWxsIGludGVyY2VwdCBob29rICclcycgY291bGQgbm90IGJlIGV4ZWN1dGVkIGR1ZSB0byBtaXNzaW5nIHFlbXUgdXNlcm1vZGUgc3VwcG9ydCwgZGV0YWlscyBpbiAlcy9sb2cuZG9fJXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKHNjcmlwdCwgc2VsZi5kLmdldFZhcignVCcpLCBzZWxmLmQuZ2V0VmFyKCdCQl9DVVJSRU5UVEFTSycpKSkKICAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJUaGUgcG9zdGluc3RhbGwgaW50ZXJjZXB0IGhvb2sgJyVzJyBmYWlsZWQsIGRldGFpbHMgaW4gJXMvbG9nLmRvXyVzIiAlIChzY3JpcHQsIHNlbGYuZC5nZXRWYXIoJ1QnKSwgc2VsZi5kLmdldFZhcignQkJfQ1VSUkVOVFRBU0snKSkpCkBAIC03MjIsNyArNzI5LDggQEAKICAgICAgICAgICAgICAgICAgYXJjaF92YXI9Tm9uZSwKICAgICAgICAgICAgICAgICAgb3NfdmFyPU5vbmUsCiAgICAgICAgICAgICAgICAgIHJwbV9yZXBvX3dvcmtkaXI9Im9lLXJvb3Rmcy1yZXBvIiwKLSAgICAgICAgICAgICAgICAgZmlsdGVyYnlkZXBlbmRlbmNpZXM9VHJ1ZSk6CisgICAgICAgICAgICAgICAgIGZpbHRlcmJ5ZGVwZW5kZW5jaWVzPVRydWUsCisgICAgICAgICAgICAgICAgIG5lZWRmZWVkPVRydWUpOgogICAgICAgICBzdXBlcihScG1QTSwgc2VsZikuX19pbml0X18oZCwgdGFyZ2V0X3Jvb3RmcykKICAgICAgICAgc2VsZi50YXJnZXRfdmVuZG9yID0gdGFyZ2V0X3ZlbmRvcgogICAgICAgICBzZWxmLnRhc2tfbmFtZSA9IHRhc2tfbmFtZQpAQCAtNzM1LDggKzc0Myw5IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLnByaW1hcnlfYXJjaCA9IHNlbGYuZC5nZXRWYXIoJ01BQ0hJTkVfQVJDSCcpCiAKLSAgICAgICAgc2VsZi5ycG1fcmVwb19kaXIgPSBvZS5wYXRoLmpvaW4oc2VsZi5kLmdldFZhcignV09SS0RJUicpLCBycG1fcmVwb193b3JrZGlyKQotICAgICAgICBjcmVhdGVfcGFja2FnZXNfZGlyKHNlbGYuZCwgb2UucGF0aC5qb2luKHNlbGYucnBtX3JlcG9fZGlyLCAicnBtIiksIGQuZ2V0VmFyKCJERVBMT1lfRElSX1JQTSIpLCAicGFja2FnZV93cml0ZV9ycG0iLCBmaWx0ZXJieWRlcGVuZGVuY2llcykKKyAgICAgICAgaWYgbmVlZGZlZWQ6CisgICAgICAgICAgICBzZWxmLnJwbV9yZXBvX2RpciA9IG9lLnBhdGguam9pbihzZWxmLmQuZ2V0VmFyKCdXT1JLRElSJyksIHJwbV9yZXBvX3dvcmtkaXIpCisgICAgICAgICAgICBjcmVhdGVfcGFja2FnZXNfZGlyKHNlbGYuZCwgb2UucGF0aC5qb2luKHNlbGYucnBtX3JlcG9fZGlyLCAicnBtIiksIGQuZ2V0VmFyKCJERVBMT1lfRElSX1JQTSIpLCAicGFja2FnZV93cml0ZV9ycG0iLCBmaWx0ZXJieWRlcGVuZGVuY2llcykKIAogICAgICAgICBzZWxmLnNhdmVkX3BhY2thZ2luZ19kYXRhID0gc2VsZi5kLmV4cGFuZCgnJHtUfS9zYXZlZF9wYWNrYWdpbmdfZGF0YS8lcycgJSBzZWxmLnRhc2tfbmFtZSkKICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHNlbGYuZC5leHBhbmQoJyR7VH0vc2F2ZWRfcGFja2FnaW5nX2RhdGEnKSk6CkBAIC04NjAsNyArODY5LDcgQEAKIAogICAgICAgICBmYWlsZWRfc2NyaXB0bGV0c19wa2duYW1lcyA9IGNvbGxlY3Rpb25zLk9yZGVyZWREaWN0KCkKICAgICAgICAgZm9yIGxpbmUgaW4gb3V0cHV0LnNwbGl0bGluZXMoKToKLSAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiTm9uLWZhdGFsIFBPU1RJTiBzY3JpcHRsZXQgZmFpbHVyZSBpbiBycG0gcGFja2FnZSIpOgorICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJFcnJvciBpbiBQT1NUSU4gc2NyaXB0bGV0IGluIHJwbSBwYWNrYWdlIik6CiAgICAgICAgICAgICAgICAgZmFpbGVkX3NjcmlwdGxldHNfcGtnbmFtZXNbbGluZS5zcGxpdCgpWy0xXV0gPSBUcnVlCiAKICAgICAgICAgaWYgbGVuKGZhaWxlZF9zY3JpcHRsZXRzX3BrZ25hbWVzKSA+IDA6CkBAIC05NjIsMTMgKzk3MSwxNCBAQAogICAgICAgICBvcy5lbnZpcm9uWydSUE1fRVRDQ09ORklHRElSJ10gPSBzZWxmLnRhcmdldF9yb290ZnMKIAogICAgICAgICBkbmZfY21kID0gYmIudXRpbHMud2hpY2gob3MuZ2V0ZW52KCdQQVRIJyksICJkbmYiKQotICAgICAgICBzdGFuZGFyZF9kbmZfYXJncyA9IFsiLXYiLCAiLS1ycG12ZXJib3NpdHk9ZGVidWciLCAiLXkiLAorICAgICAgICBzdGFuZGFyZF9kbmZfYXJncyA9IFsiLXYiLCAiLS1ycG12ZXJib3NpdHk9aW5mbyIsICIteSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItYyIsIG9lLnBhdGguam9pbihzZWxmLnRhcmdldF9yb290ZnMsICJldGMvZG5mL2RuZi5jb25mIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXNldG9wdD1yZXBvc2Rpcj0lcyIgJShvZS5wYXRoLmpvaW4oc2VsZi50YXJnZXRfcm9vdGZzLCAiZXRjL3l1bS5yZXBvcy5kIikpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1yZXBvZnJvbXBhdGg9b2UtcmVwbywlcyIgJSAoc2VsZi5ycG1fcmVwb19kaXIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1pbnN0YWxscm9vdD0lcyIgJSAoc2VsZi50YXJnZXRfcm9vdGZzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tc2V0b3B0PWxvZ2Rpcj0lcyIgJSAoc2VsZi5kLmdldFZhcignVCcpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KKyAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAicnBtX3JlcG9fZGlyIik6CisgICAgICAgICAgICBzdGFuZGFyZF9kbmZfYXJncy5hcHBlbmQoIi0tcmVwb2Zyb21wYXRoPW9lLXJlcG8sJXMiICUgKHNlbGYucnBtX3JlcG9fZGlyKSkKICAgICAgICAgY21kID0gW2RuZl9jbWRdICsgc3RhbmRhcmRfZG5mX2FyZ3MgKyBkbmZfYXJncwogICAgICAgICBiYi5ub3RlKCdSdW5uaW5nICVzJyAlICcgJy5qb2luKGNtZCkpCiAgICAgICAgIHRyeToKQEAgLTExMDgsMTAgKzExMTgsNyBAQAogICAgICAgICB0bXBfZGlyID0gdGVtcGZpbGUubWtkdGVtcCgpCiAgICAgICAgIGN1cnJlbnRfZGlyID0gb3MuZ2V0Y3dkKCkKICAgICAgICAgb3MuY2hkaXIodG1wX2RpcikKLSAgICAgICAgaWYgc2VsZi5kLmdldFZhcignSU1BR0VfUEtHVFlQRScpID09ICdkZWInOgotICAgICAgICAgICAgZGF0YV90YXIgPSAnZGF0YS50YXIueHonCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBkYXRhX3RhciA9ICdkYXRhLnRhci5neicKKyAgICAgICAgZGF0YV90YXIgPSAnZGF0YS50YXIueHonCiAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgY21kID0gW2FyX2NtZCwgJ3gnLCBwa2dfcGF0aF0KQEAgLTEyMTIsNyArMTIxOSw3IEBACiAgICAgICAgICAgICAgICAgcHJpb3JpdHkgKz0gNQogCiAgICAgICAgICAgICBmb3IgbGluZSBpbiAoc2VsZi5kLmdldFZhcignSVBLX0ZFRURfVVJJUycpIG9yICIiKS5zcGxpdCgpOgotICAgICAgICAgICAgICAgIGZlZWRfbWF0Y2ggPSByZS5tYXRjaCgiXlsgXHRdKiguKikjIyhbXiBcdF0qKVsgXHRdKiQiLCBsaW5lKQorICAgICAgICAgICAgICAgIGZlZWRfbWF0Y2ggPSByZS5tYXRjaChyIl5bIFx0XSooLiopIyMoW14gXHRdKilbIFx0XSokIiwgbGluZSkKIAogICAgICAgICAgICAgICAgIGlmIGZlZWRfbWF0Y2ggaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIGZlZWRfbmFtZSA9IGZlZWRfbWF0Y2guZ3JvdXAoMSkKQEAgLTEzMjksNiArMTMzNiw4IEBACiAgICAgICAgIGNtZCA9ICIlcyAlcyIgJSAoc2VsZi5vcGtnX2NtZCwgc2VsZi5vcGtnX2FyZ3MpCiAgICAgICAgIGZvciBleGNsdWRlIGluIChzZWxmLmQuZ2V0VmFyKCJQQUNLQUdFX0VYQ0xVREUiKSBvciAiIikuc3BsaXQoKToKICAgICAgICAgICAgIGNtZCArPSAiIC0tYWRkLWV4Y2x1ZGUgJXMiICUgZXhjbHVkZQorICAgICAgICBmb3IgYmFkX3JlY29tbWVuZGF0aW9uIGluIChzZWxmLmQuZ2V0VmFyKCJCQURfUkVDT01NRU5EQVRJT05TIikgb3IgIiIpLnNwbGl0KCk6CisgICAgICAgICAgICBjbWQgKz0gIiAtLWFkZC1pZ25vcmUtcmVjb21tZW5kcyAlcyIgJSBiYWRfcmVjb21tZW5kYXRpb24KICAgICAgICAgY21kICs9ICIgaW5zdGFsbCAiCiAgICAgICAgIGNtZCArPSAiICIuam9pbihwa2dzKQogCkBAIC0xMzk3LDQ1ICsxNDA2LDYgQEAKICAgICBkZWYgbGlzdF9pbnN0YWxsZWQoc2VsZik6CiAgICAgICAgIHJldHVybiBPcGtnUGtnc0xpc3Qoc2VsZi5kLCBzZWxmLnRhcmdldF9yb290ZnMsIHNlbGYuY29uZmlnX2ZpbGUpLmxpc3RfcGtncygpCiAKLSAgICBkZWYgaGFuZGxlX2JhZF9yZWNvbW1lbmRhdGlvbnMoc2VsZik6Ci0gICAgICAgIGJhZF9yZWNvbW1lbmRhdGlvbnMgPSBzZWxmLmQuZ2V0VmFyKCJCQURfUkVDT01NRU5EQVRJT05TIikgb3IgIiIKLSAgICAgICAgaWYgYmFkX3JlY29tbWVuZGF0aW9ucy5zdHJpcCgpID09ICIiOgotICAgICAgICAgICAgcmV0dXJuCi0KLSAgICAgICAgc3RhdHVzX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5vcGtnX2RpciwgInN0YXR1cyIpCi0KLSAgICAgICAgIyBJZiBzdGF0dXMgZmlsZSBleGlzdGVkLCBpdCBtZWFucyB0aGUgYmFkIHJlY29tbWVuZGF0aW9ucyBoYXMgYWxyZWFkeQotICAgICAgICAjIGJlZW4gaGFuZGxlZAotICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhzdGF0dXNfZmlsZSk6Ci0gICAgICAgICAgICByZXR1cm4KLQotICAgICAgICBjbWQgPSAiJXMgJXMgaW5mbyAiICUgKHNlbGYub3BrZ19jbWQsIHNlbGYub3BrZ19hcmdzKQotCi0gICAgICAgIHdpdGggb3BlbihzdGF0dXNfZmlsZSwgIncrIikgYXMgc3RhdHVzOgotICAgICAgICAgICAgZm9yIHBrZyBpbiBiYWRfcmVjb21tZW5kYXRpb25zLnNwbGl0KCk6Ci0gICAgICAgICAgICAgICAgcGtnX2luZm8gPSBjbWQgKyBwa2cKLQotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQocGtnX2luZm8uc3BsaXQoKSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKS5zdHJpcCgpLmRlY29kZSgidXRmLTgiKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiQ2Fubm90IGdldCBwYWNrYWdlIGluZm8uIENvbW1hbmQgJyVzJyAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm5lZCAlZDpcbiVzIiAlIChwa2dfaW5mbywgZS5yZXR1cm5jb2RlLCBlLm91dHB1dC5kZWNvZGUoInV0Zi04IikpKQotCi0gICAgICAgICAgICAgICAgaWYgb3V0cHV0ID09ICIiOgotICAgICAgICAgICAgICAgICAgICBiYi5ub3RlKCJJZ25vcmVkIGJhZCByZWNvbW1lbmRhdGlvbjogJyVzJyBpcyAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vdCBhIHBhY2thZ2UiICUgcGtnKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICAgICAgZm9yIGxpbmUgaW4gb3V0cHV0LnNwbGl0KCdcbicpOgotICAgICAgICAgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIlN0YXR1czoiKToKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cy53cml0ZSgiU3RhdHVzOiBkZWluc3RhbGwgaG9sZCBub3QtaW5zdGFsbGVkXG4iKQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzLndyaXRlKGxpbmUgKyAiXG4iKQotCi0gICAgICAgICAgICAgICAgIyBBcHBlbmQgYSBibGFuayBsaW5lIGFmdGVyIGVhY2ggcGFja2FnZSBlbnRyeSB0byBlbnN1cmUgdGhhdCBpdAotICAgICAgICAgICAgICAgICMgaXMgc2VwYXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBlbnRyeQotICAgICAgICAgICAgICAgIHN0YXR1cy53cml0ZSgiXG4iKQotCiAgICAgZGVmIGR1bW15X2luc3RhbGwoc2VsZiwgcGtncyk6CiAgICAgICAgICIiIgogICAgICAgICBUaGUgZm9sbG93aW5nIGZ1bmN0aW9uIGR1bW15IGluc3RhbGxzIHBrZ3MgYW5kIHJldHVybnMgdGhlIGxvZyBvZiBvdXRwdXQuCkBAIC0xNTIwLDcgKzE0OTAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgInRyeWluZyB0byBleHRyYWN0IHRoZSBwYWNrYWdlLiIgICUgcGtnKQogCiAgICAgICAgIHRtcF9kaXIgPSBzdXBlcihPcGtnUE0sIHNlbGYpLmV4dHJhY3QocGtnLCBwa2dfaW5mbykKLSAgICAgICAgYmIudXRpbHMucmVtb3ZlKG9zLnBhdGguam9pbih0bXBfZGlyLCAiZGF0YS50YXIuZ3oiKSkKKyAgICAgICAgYmIudXRpbHMucmVtb3ZlKG9zLnBhdGguam9pbih0bXBfZGlyLCAiZGF0YS50YXIueHoiKSkKIAogICAgICAgICByZXR1cm4gdG1wX2RpcgogCkBAIC0xNTkyLDcgKzE1NjIsNyBAQAogCiAgICAgICAgIHdpdGggb3BlbihzdGF0dXNfZmlsZSwgInIiKSBhcyBzdGF0dXM6CiAgICAgICAgICAgICBmb3IgbGluZSBpbiBzdGF0dXMucmVhZCgpLnNwbGl0KCdcbicpOgotICAgICAgICAgICAgICAgIG0gPSByZS5tYXRjaCgiXlBhY2thZ2U6ICguKikiLCBsaW5lKQorICAgICAgICAgICAgICAgIG0gPSByZS5tYXRjaChyIl5QYWNrYWdlOiAoLiopIiwgbGluZSkKICAgICAgICAgICAgICAgICBpZiBtIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgICAgICBpbnN0YWxsZWRfcGtncy5hcHBlbmQobS5ncm91cCgxKSkKIApAQCAtMTY1NywxMyArMTYyNywxMyBAQAogICAgICAgICAjIHJlbmFtZSAqLmRwa2ctbmV3IGZpbGVzL2RpcnMKICAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsoc2VsZi50YXJnZXRfcm9vdGZzKToKICAgICAgICAgICAgIGZvciBkaXIgaW4gZGlyczoKLSAgICAgICAgICAgICAgICBuZXdfZGlyID0gcmUuc3ViKCJcLmRwa2ctbmV3IiwgIiIsIGRpcikKKyAgICAgICAgICAgICAgICBuZXdfZGlyID0gcmUuc3ViKHIiXC5kcGtnLW5ldyIsICIiLCBkaXIpCiAgICAgICAgICAgICAgICAgaWYgZGlyICE9IG5ld19kaXI6CiAgICAgICAgICAgICAgICAgICAgIG9zLnJlbmFtZShvcy5wYXRoLmpvaW4ocm9vdCwgZGlyKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihyb290LCBuZXdfZGlyKSkKIAogICAgICAgICAgICAgZm9yIGZpbGUgaW4gZmlsZXM6Ci0gICAgICAgICAgICAgICAgbmV3X2ZpbGUgPSByZS5zdWIoIlwuZHBrZy1uZXciLCAiIiwgZmlsZSkKKyAgICAgICAgICAgICAgICBuZXdfZmlsZSA9IHJlLnN1YihyIlwuZHBrZy1uZXciLCAiIiwgZmlsZSkKICAgICAgICAgICAgICAgICBpZiBmaWxlICE9IG5ld19maWxlOgogICAgICAgICAgICAgICAgICAgICBvcy5yZW5hbWUob3MucGF0aC5qb2luKHJvb3QsIGZpbGUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHJvb3QsIG5ld19maWxlKSkKQEAgLTE3MjgsNyArMTY5OCw3IEBACiAgICAgICAgICAgICAgICAgICAgIHNvdXJjZXNfZmlsZS53cml0ZSgiZGViICVzIC4vXG4iICUgdXJpKQogCiAgICAgZGVmIF9jcmVhdGVfY29uZmlncyhzZWxmLCBhcmNocywgYmFzZV9hcmNocyk6Ci0gICAgICAgIGJhc2VfYXJjaHMgPSByZS5zdWIoIl8iLCAiLSIsIGJhc2VfYXJjaHMpCisgICAgICAgIGJhc2VfYXJjaHMgPSByZS5zdWIociJfIiwgciItIiwgYmFzZV9hcmNocykKIAogICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhzZWxmLmFwdF9jb25mX2Rpcik6CiAgICAgICAgICAgICBiYi51dGlscy5yZW1vdmUoc2VsZi5hcHRfY29uZl9kaXIsIFRydWUpCkBAIC0xNzgyLDcgKzE3NTIsNyBAQAogICAgICAgICB3aXRoIG9wZW4oc2VsZi5hcHRfY29uZl9maWxlLCAidysiKSBhcyBhcHRfY29uZjoKICAgICAgICAgICAgIHdpdGggb3BlbihzZWxmLmQuZXhwYW5kKCIke1NUQUdJTkdfRVRDRElSX05BVElWRX0vYXB0L2FwdC5jb25mLnNhbXBsZSIpKSBhcyBhcHRfY29uZl9zYW1wbGU6CiAgICAgICAgICAgICAgICAgZm9yIGxpbmUgaW4gYXB0X2NvbmZfc2FtcGxlLnJlYWQoKS5zcGxpdCgiXG4iKToKLSAgICAgICAgICAgICAgICAgICAgbWF0Y2hfYXJjaCA9IHJlLm1hdGNoKCIgIEFyY2hpdGVjdHVyZSBcIi4qXCI7JCIsIGxpbmUpCisgICAgICAgICAgICAgICAgICAgIG1hdGNoX2FyY2ggPSByZS5tYXRjaChyIiAgQXJjaGl0ZWN0dXJlIFwiLipcIjskIiwgbGluZSkKICAgICAgICAgICAgICAgICAgICAgYXJjaGl0ZWN0dXJlcyA9ICIiCiAgICAgICAgICAgICAgICAgICAgIGlmIG1hdGNoX2FyY2g6CiAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYmFzZV9hcmNoIGluIGJhc2VfYXJjaF9saXN0OgpAQCAtMTc5MCw4ICsxNzYwLDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgIGFwdF9jb25mLndyaXRlKCIgIEFyY2hpdGVjdHVyZXMgeyVzfTtcbiIgJSBhcmNoaXRlY3R1cmVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGFwdF9jb25mLndyaXRlKCIgIEFyY2hpdGVjdHVyZSBcIiVzXCI7XG4iICUgYmFzZV9hcmNocykKICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSByZS5zdWIoIiNST09URlMjIiwgc2VsZi50YXJnZXRfcm9vdGZzLCBsaW5lKQotICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA9IHJlLnN1YigiI0FQVENPTkYjIiwgc2VsZi5hcHRfY29uZl9kaXIsIGxpbmUpCisgICAgICAgICAgICAgICAgICAgICAgICBsaW5lID0gcmUuc3ViKHIiI1JPT1RGUyMiLCBzZWxmLnRhcmdldF9yb290ZnMsIGxpbmUpCisgICAgICAgICAgICAgICAgICAgICAgICBsaW5lID0gcmUuc3ViKHIiI0FQVENPTkYjIiwgc2VsZi5hcHRfY29uZl9kaXIsIGxpbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICBhcHRfY29uZi53cml0ZShsaW5lICsgIlxuIikKIAogICAgICAgICB0YXJnZXRfZHBrZ19kaXIgPSAiJXMvdmFyL2xpYi9kcGtnIiAlIHNlbGYudGFyZ2V0X3Jvb3RmcwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZS9wYXRjaC5weSBiL3Bva3kvbWV0YS9saWIvb2UvcGF0Y2gucHkKaW5kZXggZTBmMDYwNC4uN2RkMzFkOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZS9wYXRjaC5weQorKysgYi9wb2t5L21ldGEvbGliL29lL3BhdGNoLnB5CkBAIC0zMzQsOCArMzM0LDggQEAKICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIGludGVycHJldFBhdGNoSGVhZGVyKGhlYWRlcmxpbmVzKToKICAgICAgICAgaW1wb3J0IHJlCi0gICAgICAgIGF1dGhvcl9yZSA9IHJlLmNvbXBpbGUoJ1tcUyBdKyA8XFMrQFxTK1wuXFMrPicpCi0gICAgICAgIGZyb21fY29tbWl0X3JlID0gcmUuY29tcGlsZSgnXkZyb20gW2EtejAtOV17NDB9IC4qJykKKyAgICAgICAgYXV0aG9yX3JlID0gcmUuY29tcGlsZShyJ1tcUyBdKyA8XFMrQFxTK1wuXFMrPicpCisgICAgICAgIGZyb21fY29tbWl0X3JlID0gcmUuY29tcGlsZShyJ15Gcm9tIFthLXowLTldezQwfSAuKicpCiAgICAgICAgIG91dGxpbmVzID0gW10KICAgICAgICAgYXV0aG9yID0gTm9uZQogICAgICAgICBkYXRlID0gTm9uZQpAQCAtNzkwLDkgKzc5MCwxMSBAQAogCiAKIGRlZiBwYXRjaF9wYXRoKHVybCwgZmV0Y2gsIHdvcmtkaXIsIGV4cGFuZD1UcnVlKToKLSAgICAiIiJSZXR1cm4gdGhlIGxvY2FsIHBhdGggb2YgYSBwYXRjaCwgb3IgTm9uZSBpZiB0aGlzIGlzbid0IGEgcGF0Y2giIiIKKyAgICAiIiJSZXR1cm4gdGhlIGxvY2FsIHBhdGggb2YgYSBwYXRjaCwgb3IgcmV0dXJuIG5vdGhpbmcgaWYgdGhpcyBpc24ndCBhIHBhdGNoIiIiCiAKICAgICBsb2NhbCA9IGZldGNoLmxvY2FscGF0aCh1cmwpCisgICAgaWYgb3MucGF0aC5pc2Rpcihsb2NhbCk6CisgICAgICAgIHJldHVybgogICAgIGJhc2UsIGV4dCA9IG9zLnBhdGguc3BsaXRleHQob3MucGF0aC5iYXNlbmFtZShsb2NhbCkpCiAgICAgaWYgZXh0IGluICgnLmd6JywgJy5iejInLCAnLnh6JywgJy5aJyk6CiAgICAgICAgIGlmIGV4cGFuZDoKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2UvcmVjaXBldXRpbHMucHkgYi9wb2t5L21ldGEvbGliL29lL3JlY2lwZXV0aWxzLnB5CmluZGV4IGFhNjQ1NTMuLjRjYTIwMGQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2UvcmVjaXBldXRpbHMucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZS9yZWNpcGV1dGlscy5weQpAQCAtMTYsNDAgKzE2LDQwIEBACiBpbXBvcnQgcmUKIGltcG9ydCBmbm1hdGNoCiBpbXBvcnQgZ2xvYgotZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgT3JkZXJlZERpY3QsIGRlZmF1bHRkaWN0CitpbXBvcnQgYmIudGluZm9pbAogCitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBPcmRlcmVkRGljdCwgZGVmYXVsdGRpY3QKK2Zyb20gYmIudXRpbHMgaW1wb3J0IHZlcmNtcF9zdHJpbmcKIAogIyBIZWxwIHVzIHRvIGZpbmQgcGxhY2VzIHRvIGluc2VydCB2YWx1ZXMKIHJlY2lwZV9wcm9ncmVzc2lvbiA9IFsnU1VNTUFSWScsICdERVNDUklQVElPTicsICdIT01FUEFHRScsICdCVUdUUkFDS0VSJywgJ1NFQ1RJT04nLCAnTElDRU5TRScsICdMSUNFTlNFX0ZMQUdTJywgJ0xJQ19GSUxFU19DSEtTVU0nLCAnUFJPVklERVMnLCAnREVQRU5EUycsICdQUicsICdQVicsICdTUkNSRVYnLCAnU1JDUFYnLCAnU1JDX1VSSScsICdTJywgJ2RvX2ZldGNoKCknLCAnZG9fdW5wYWNrKCknLCAnZG9fcGF0Y2goKScsICdFWFRSQV9PRUNPTkYnLCAnRVhUUkFfT0VDTUFLRScsICdFWFRSQV9PRVNDT05TJywgJ2RvX2NvbmZpZ3VyZSgpJywgJ0VYVFJBX09FTUFLRScsICdkb19jb21waWxlKCknLCAnZG9faW5zdGFsbCgpJywgJ2RvX3BvcHVsYXRlX3N5c3Jvb3QoKScsICdJTklUU0NSSVBUJywgJ1VTRVJBREQnLCAnR1JPVVBBREQnLCAnUEFDS0FHRVMnLCAnRklMRVMnLCAnUkRFUEVORFMnLCAnUlJFQ09NTUVORFMnLCAnUlNVR0dFU1RTJywgJ1JQUk9WSURFUycsICdSUkVQTEFDRVMnLCAnUkNPTkZMSUNUUycsICdBTExPV19FTVBUWScsICdwb3B1bGF0ZV9wYWNrYWdlcygpJywgJ2RvX3BhY2thZ2UoKScsICdkb19kZXBsb3koKSddCiAjIFZhcmlhYmxlcyB0aGF0IHNvbWV0aW1lcyBhcmUgYSBiaXQgbG9uZyBidXQgc2hvdWxkbid0IGJlIHdyYXBwZWQKLW5vd3JhcF92YXJzID0gWydTVU1NQVJZJywgJ0hPTUVQQUdFJywgJ0JVR1RSQUNLRVInLCAnU1JDX1VSSVxbKC4rXC4pP21kNXN1bVxdJywgJ1NSQ19VUklcWyguK1wuKT9zaGEyNTZzdW1cXSddCitub3dyYXBfdmFycyA9IFsnU1VNTUFSWScsICdIT01FUEFHRScsICdCVUdUUkFDS0VSJywgcidTUkNfVVJJXFsoLitcLik/bWQ1c3VtXF0nLCByJ1NSQ19VUklcWyguK1wuKT9zaGEyNTZzdW1cXSddCiBsaXN0X3ZhcnMgPSBbJ1NSQ19VUkknLCAnTElDX0ZJTEVTX0NIS1NVTSddCiBtZXRhX3ZhcnMgPSBbJ1NVTU1BUlknLCAnREVTQ1JJUFRJT04nLCAnSE9NRVBBR0UnLCAnQlVHVFJBQ0tFUicsICdTRUNUSU9OJ10KIAogCi1kZWYgcG5fdG9fcmVjaXBlKGNvb2tlciwgcG4sIG1jPScnKToKLSAgICAiIiJDb252ZXJ0IGEgcmVjaXBlIG5hbWUgKFBOKSB0byB0aGUgcGF0aCB0byB0aGUgcmVjaXBlIGZpbGUiIiIKLQotICAgIGJlc3QgPSBjb29rZXIuZmluZEJlc3RQcm92aWRlcihwbiwgbWMpCi0gICAgcmV0dXJuIGJlc3RbM10KLQotCi1kZWYgZ2V0X3VuYXZhaWxhYmxlX3JlYXNvbnMoY29va2VyLCBwbik6Ci0gICAgIiIiSWYgYSByZWNpcGUgY291bGQgbm90IGJlIGZvdW5kLCBmaW5kIG91dCB3aHkgaWYgcG9zc2libGUiIiIKLSAgICBpbXBvcnQgYmIudGFza2RhdGEKLSAgICB0YXNrZGF0YSA9IGJiLnRhc2tkYXRhLlRhc2tEYXRhKE5vbmUsIHNraXBsaXN0PWNvb2tlci5za2lwbGlzdCkKLSAgICByZXR1cm4gdGFza2RhdGEuZ2V0X3JlYXNvbnMocG4pCi0KLQotZGVmIHBhcnNlX3JlY2lwZShjb29rZXIsIGZuLCBhcHBlbmRmaWxlcyk6CitkZWYgc2ltcGxpZnlfaGlzdG9yeShoaXN0b3J5LCBkKToKICAgICAiIiIKLSAgICBQYXJzZSBhbiBpbmRpdmlkdWFsIHJlY2lwZSBmaWxlLCBvcHRpb25hbGx5IHdpdGggYSBsaXN0IG9mCi0gICAgYmJhcHBlbmQgZmlsZXMuCisgICAgRWxpbWluYXRlIGFueSBpcnJlbGV2YW50IGV2ZW50cyBmcm9tIGEgdmFyaWFibGUgaGlzdG9yeQogICAgICIiIgotICAgIGltcG9ydCBiYi5jYWNoZQotICAgIHBhcnNlciA9IGJiLmNhY2hlLk5vQ2FjaGUoY29va2VyLmRhdGFidWlsZGVyKQotICAgIGVudmRhdGEgPSBwYXJzZXIubG9hZERhdGFGdWxsKGZuLCBhcHBlbmRmaWxlcykKLSAgICByZXR1cm4gZW52ZGF0YQorICAgIHJldF9oaXN0b3J5ID0gW10KKyAgICBoYXNfc2V0ID0gRmFsc2UKKyAgICAjIEdvIGJhY2t3YXJkcyB0aHJvdWdoIHRoZSBoaXN0b3J5IGFuZCByZW1vdmUgYW55IGltbWVkaWF0ZSBvcGVyYXRpb25zCisgICAgIyBiZWZvcmUgdGhlIG1vc3QgcmVjZW50IHNldAorICAgIGZvciBldmVudCBpbiByZXZlcnNlZChoaXN0b3J5KToKKyAgICAgICAgaWYgJ2ZsYWcnIGluIGV2ZW50IG9yIG5vdCAnZmlsZScgaW4gZXZlbnQ6CisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBpZiBldmVudFsnb3AnXSA9PSAnc2V0JzoKKyAgICAgICAgICAgIGlmIGhhc19zZXQ6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGhhc19zZXQgPSBUcnVlCisgICAgICAgIGVsaWYgZXZlbnRbJ29wJ10gaW4gKCdhcHBlbmQnLCAncHJlcGVuZCcsICdwb3N0ZG90JywgJ3ByZWRvdCcpOgorICAgICAgICAgICAgIyBSZW1pbmRlcjogImFwcGVuZCIgYW5kICJwcmVwZW5kIiBtZWFuICs9IGFuZCA9KyByZXNwZWN0aXZlbHksIE5PVCBfYXBwZW5kIC8gX3ByZXBlbmQKKyAgICAgICAgICAgIGlmIGhhc19zZXQ6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgcmV0X2hpc3RvcnkuaW5zZXJ0KDAsIGV2ZW50KQorICAgIHJldHVybiByZXRfaGlzdG9yeQogCiAKIGRlZiBnZXRfdmFyX2ZpbGVzKGZuLCB2YXJsaXN0LCBkKToKQEAgLTU4LDExICs1OCwxOSBAQAogICAgICIiIgogICAgIHZhcmZpbGVzID0ge30KICAgICBmb3IgdiBpbiB2YXJsaXN0OgotICAgICAgICBoaXN0b3J5ID0gZC52YXJoaXN0b3J5LnZhcmlhYmxlKHYpCiAgICAgICAgIGZpbGVzID0gW10KLSAgICAgICAgZm9yIGV2ZW50IGluIGhpc3Rvcnk6Ci0gICAgICAgICAgICBpZiAnZmlsZScgaW4gZXZlbnQgYW5kIG5vdCAnZmxhZycgaW4gZXZlbnQ6Ci0gICAgICAgICAgICAgICAgZmlsZXMuYXBwZW5kKGV2ZW50WydmaWxlJ10pCisgICAgICAgIGlmICdbJyBpbiB2OgorICAgICAgICAgICAgdmFyc3BsaXQgPSB2LnNwbGl0KCdbJykKKyAgICAgICAgICAgIHZhcmZsYWcgPSB2YXJzcGxpdFsxXS5zcGxpdCgnXScpWzBdCisgICAgICAgICAgICBoaXN0b3J5ID0gZC52YXJoaXN0b3J5LnZhcmlhYmxlKHZhcnNwbGl0WzBdKQorICAgICAgICAgICAgZm9yIGV2ZW50IGluIGhpc3Rvcnk6CisgICAgICAgICAgICAgICAgaWYgJ2ZpbGUnIGluIGV2ZW50IGFuZCBldmVudC5nZXQoJ2ZsYWcnLCAnJykgPT0gdmFyZmxhZzoKKyAgICAgICAgICAgICAgICAgICAgZmlsZXMuYXBwZW5kKGV2ZW50WydmaWxlJ10pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBoaXN0b3J5ID0gZC52YXJoaXN0b3J5LnZhcmlhYmxlKHYpCisgICAgICAgICAgICBmb3IgZXZlbnQgaW4gaGlzdG9yeToKKyAgICAgICAgICAgICAgICBpZiAnZmlsZScgaW4gZXZlbnQgYW5kIG5vdCAnZmxhZycgaW4gZXZlbnQ6CisgICAgICAgICAgICAgICAgICAgIGZpbGVzLmFwcGVuZChldmVudFsnZmlsZSddKQogICAgICAgICBpZiBmaWxlczoKICAgICAgICAgICAgIGFjdHVhbGZpbGUgPSBmaWxlc1stMV0KICAgICAgICAgZWxzZToKQEAgLTE1Myw3ICsxNjEsNyBAQAogICAgICAgICAgICAga2V5ID0gaXRlbVs6LTJdCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBrZXkgPSBpdGVtCi0gICAgICAgIHJlc3RyID0gJyVzKF9bYS16QS1aMC05LV8kKCl7fV0rfFxbW15cXV0qXF0pPycgJSBrZXkKKyAgICAgICAgcmVzdHIgPSByJyVzKF9bYS16QS1aMC05LV8kKCl7fV0rfFxbW15cXV0qXF0pPycgJSBrZXkKICAgICAgICAgaWYgaXRlbS5lbmRzd2l0aCgnKCknKToKICAgICAgICAgICAgIHJlY2lwZV9wcm9ncmVzc2lvbl9yZXN0cnMuYXBwZW5kKHJlc3RyICsgJygpJykKICAgICAgICAgZWxzZToKQEAgLTE3Niw3ICsxODQsMTQgQEAKICAgICBkZWYgb3V0cHV0dmFsdWUobmFtZSwgbGluZXMsIHJld2luZGNvbW1lbnRzPUZhbHNlKToKICAgICAgICAgaWYgdmFsdWVzW25hbWVdIGlzIE5vbmU6CiAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgcmF3dGV4dCA9ICclcyA9ICIlcyIlcycgJSAobmFtZSwgdmFsdWVzW25hbWVdLCBuZXdsaW5lKQorICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlc1tuYW1lXSwgdHVwbGUpOgorICAgICAgICAgICAgb3AsIHZhbHVlID0gdmFsdWVzW25hbWVdCisgICAgICAgICAgICBpZiBvcCA9PSAnKz0nIGFuZCB2YWx1ZS5zdHJpcCgpID09ICcnOgorICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZXNbbmFtZV0KKyAgICAgICAgICAgIG9wID0gJz0nCisgICAgICAgIHJhd3RleHQgPSAnJXMgJXMgIiVzIiVzJyAlIChuYW1lLCBvcCwgdmFsdWUsIG5ld2xpbmUpCiAgICAgICAgIGFkZGxpbmVzID0gW10KICAgICAgICAgbm93cmFwID0gRmFsc2UKICAgICAgICAgZm9yIG5vd3JhcF9yZSBpbiBub3dyYXBfdmFyc19yZXM6CkBAIC0xODYsMTAgKzIwMSwxMCBAQAogICAgICAgICBpZiBub3dyYXA6CiAgICAgICAgICAgICBhZGRsaW5lcy5hcHBlbmQocmF3dGV4dCkKICAgICAgICAgZWxpZiBuYW1lIGluIGxpc3RfdmFyczoKLSAgICAgICAgICAgIHNwbGl0dmFsdWUgPSBzcGxpdF92YXJfdmFsdWUodmFsdWVzW25hbWVdLCBhc3NpZ25tZW50PUZhbHNlKQorICAgICAgICAgICAgc3BsaXR2YWx1ZSA9IHNwbGl0X3Zhcl92YWx1ZSh2YWx1ZSwgYXNzaWdubWVudD1GYWxzZSkKICAgICAgICAgICAgIGlmIGxlbihzcGxpdHZhbHVlKSA+IDE6CiAgICAgICAgICAgICAgICAgbGluZXNwbGl0ID0gJyBcXFxuJyArICgnICcgKiAobGVuKG5hbWUpICsgNCkpCi0gICAgICAgICAgICAgICAgYWRkbGluZXMuYXBwZW5kKCclcyA9ICIlcyVzIiVzJyAlIChuYW1lLCBsaW5lc3BsaXQuam9pbihzcGxpdHZhbHVlKSwgbGluZXNwbGl0LCBuZXdsaW5lKSkKKyAgICAgICAgICAgICAgICBhZGRsaW5lcy5hcHBlbmQoJyVzICVzICIlcyVzIiVzJyAlIChuYW1lLCBvcCwgbGluZXNwbGl0LmpvaW4oc3BsaXR2YWx1ZSksIGxpbmVzcGxpdCwgbmV3bGluZSkpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGFkZGxpbmVzLmFwcGVuZChyYXd0ZXh0KQogICAgICAgICBlbHNlOgpAQCAtMzIxLDEyICszMzYsNDcgQEAKICAgICAiIiJNb2RpZnkgYSBsaXN0IG9mIHZhcmlhYmxlIHZhbHVlcyBpbiB0aGUgc3BlY2lmaWVkIHJlY2lwZS4gSGFuZGxlcyBpbmMgZmlsZXMgaWYKICAgICB1c2VkIGJ5IHRoZSByZWNpcGUuCiAgICAgIiIiCisgICAgb3ZlcnJpZGVzID0gZC5nZXRWYXIoJ09WRVJSSURFUycpLnNwbGl0KCc6JykKKyAgICBkZWYgb3ZlcnJpZGVfYXBwbGljYWJsZShoZXZlbnQpOgorICAgICAgICBvcCA9IGhldmVudFsnb3AnXQorICAgICAgICBpZiAnWycgaW4gb3A6CisgICAgICAgICAgICBvcG92ZXJyaWRlcyA9IG9wLnNwbGl0KCdbJylbMV0uc3BsaXQoJ10nKVswXS5zcGxpdCgnXycpCisgICAgICAgICAgICBmb3Igb3BvdmVycmlkZSBpbiBvcG92ZXJyaWRlczoKKyAgICAgICAgICAgICAgICBpZiBub3Qgb3BvdmVycmlkZSBpbiBvdmVycmlkZXM6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gVHJ1ZQorCiAgICAgdmFybGlzdCA9IHZhcnZhbHVlcy5rZXlzKCkKKyAgICBmbiA9IG9zLnBhdGguYWJzcGF0aChmbikKICAgICB2YXJmaWxlcyA9IGdldF92YXJfZmlsZXMoZm4sIHZhcmxpc3QsIGQpCiAgICAgbG9jcyA9IGxvY2FsaXNlX2ZpbGVfdmFycyhmbiwgdmFyZmlsZXMsIHZhcmxpc3QpCiAgICAgcGF0Y2hlcyA9IFtdCiAgICAgZm9yIGYsdiBpbiBsb2NzLml0ZW1zKCk6CiAgICAgICAgIHZhbHMgPSB7azogdmFydmFsdWVzW2tdIGZvciBrIGluIHZ9CisgICAgICAgIGYgPSBvcy5wYXRoLmFic3BhdGgoZikKKyAgICAgICAgaWYgZiA9PSBmbjoKKyAgICAgICAgICAgIGV4dHJhdmFscyA9IHt9CisgICAgICAgICAgICBmb3IgdmFyLCB2YWx1ZSBpbiB2YWxzLml0ZW1zKCk6CisgICAgICAgICAgICAgICAgaWYgdmFyIGluIGxpc3RfdmFyczoKKyAgICAgICAgICAgICAgICAgICAgaGlzdG9yeSA9IHNpbXBsaWZ5X2hpc3RvcnkoZC52YXJoaXN0b3J5LnZhcmlhYmxlKHZhciksIGQpCisgICAgICAgICAgICAgICAgICAgIHJlY2lwZV9zZXQgPSBGYWxzZQorICAgICAgICAgICAgICAgICAgICBmb3IgZXZlbnQgaW4gaGlzdG9yeToKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguYWJzcGF0aChldmVudFsnZmlsZSddKSA9PSBmbjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBldmVudFsnb3AnXSA9PSAnc2V0JzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjaXBlX3NldCA9IFRydWUKKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IHJlY2lwZV9zZXQ6CisgICAgICAgICAgICAgICAgICAgICAgICBmb3IgZXZlbnQgaW4gaGlzdG9yeToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBldmVudFsnb3AnXS5zdGFydHN3aXRoKCdfcmVtb3ZlJyk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IG92ZXJyaWRlX2FwcGxpY2FibGUoZXZlbnQpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld3ZhbHVlID0gdmFsdWUucmVwbGFjZShldmVudFsnZGV0YWlsJ10sICcnKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5ld3ZhbHVlID09IHZhbHVlIGFuZCBvcy5wYXRoLmFic3BhdGgoZXZlbnRbJ2ZpbGUnXSkgPT0gZm4gYW5kIGV2ZW50WydvcCddLnN0YXJ0c3dpdGgoJ18nKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3AgPSBldmVudFsnb3AnXS5yZXBsYWNlKCdbJywgJ18nKS5yZXBsYWNlKCddJywgJycpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhdmFsc1t2YXIgKyBvcF0gPSBOb25lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBuZXd2YWx1ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHNbdmFyXSA9ICgnKz0nLCB2YWx1ZSkKKyAgICAgICAgICAgIHZhbHMudXBkYXRlKGV4dHJhdmFscykKICAgICAgICAgcGF0Y2hkYXRhID0gcGF0Y2hfcmVjaXBlX2ZpbGUoZiwgdmFscywgcGF0Y2gsIHJlbHBhdGgsIHJlZGlyZWN0X291dHB1dCkKICAgICAgICAgaWYgcGF0Y2g6CiAgICAgICAgICAgICBwYXRjaGVzLmFwcGVuZChwYXRjaGRhdGEpCkBAIC00MzIsNyArNDgyLDE0IEBACiAgICAgICAgICAgICAgICAgICAgIHVucGFjayA9IGZldGNoLnVkW3VyaV0ucGFybS5nZXQoJ3VucGFjaycsIFRydWUpCiAgICAgICAgICAgICAgICAgICAgIGlmIHVucGFjazoKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICByZXRbZm5hbWVdID0gbG9jYWxwYXRoCisgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKGxvY2FscGF0aCk6CisgICAgICAgICAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsobG9jYWxwYXRoKToKKyAgICAgICAgICAgICAgICAgICAgZm9yIGZuYW1lIGluIGZpbGVzOgorICAgICAgICAgICAgICAgICAgICAgICAgZmlsZWFic3BhdGggPSBvcy5wYXRoLmpvaW4ocm9vdCxmbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNyY2RpciA9IG9zLnBhdGguZGlybmFtZShsb2NhbHBhdGgpCisgICAgICAgICAgICAgICAgICAgICAgICByZXRbb3MucGF0aC5yZWxwYXRoKGZpbGVhYnNwYXRoLHNyY2RpcildID0gZmlsZWFic3BhdGgKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0W2ZuYW1lXSA9IGxvY2FscGF0aAogICAgIHJldHVybiByZXQKIAogCkBAIC04NzUsNyArOTMyLDcgQEAKICAgICBzZnggPSAnJwogCiAgICAgaWYgdXJpX3R5cGUgPT0gJ2dpdCc6Ci0gICAgICAgIGdpdF9yZWdleCA9IHJlLmNvbXBpbGUoIig/UDxwZng+dj8pKD9QPHZlcj5bXlwrXSopKCg/UDxzZng+XCsoZ2l0KT9yPyhBVVRPSU5DXCspKSg/UDxyZXY+LiopKT8iKQorICAgICAgICBnaXRfcmVnZXggPSByZS5jb21waWxlKHIiKD9QPHBmeD52PykoP1A8dmVyPlteXCtdKikoKD9QPHNmeD5cKyhnaXQpP3I/KEFVVE9JTkNcKykpKD9QPHJldj4uKikpPyIpCiAgICAgICAgIG0gPSBnaXRfcmVnZXgubWF0Y2gocHYpCiAKICAgICAgICAgaWYgbToKQEAgLTg4Myw3ICs5NDAsNyBAQAogICAgICAgICAgICAgcGZ4ID0gbS5ncm91cCgncGZ4JykKICAgICAgICAgICAgIHNmeCA9IG0uZ3JvdXAoJ3NmeCcpCiAgICAgZWxzZToKLSAgICAgICAgcmVnZXggPSByZS5jb21waWxlKCIoP1A8cGZ4Pih2fHIpPykoP1A8dmVyPi4qKSIpCisgICAgICAgIHJlZ2V4ID0gcmUuY29tcGlsZShyIig/UDxwZng+KHZ8cik/KSg/UDx2ZXI+LiopIikKICAgICAgICAgbSA9IHJlZ2V4Lm1hdGNoKHB2KQogICAgICAgICBpZiBtOgogICAgICAgICAgICAgcHYgPSBtLmdyb3VwKCd2ZXInKQpAQCAtOTY5LDMgKzEwMjYsODcgQEAKICAgICAgICAgcnVbJ2RhdGV0aW1lJ10gPSBkYXRldGltZS5ub3coKQogCiAgICAgcmV0dXJuIHJ1CisKK2RlZiBfZ2V0X3JlY2lwZV91cGdyYWRlX3N0YXR1cyhkYXRhKToKKyAgICB1diA9IGdldF9yZWNpcGVfdXBzdHJlYW1fdmVyc2lvbihkYXRhKQorCisgICAgcG4gPSBkYXRhLmdldFZhcignUE4nKQorICAgIGN1cl92ZXIgPSB1dlsnY3VycmVudF92ZXJzaW9uJ10KKworICAgIHVwc3RyZWFtX3ZlcnNpb25fdW5rbm93biA9IGRhdGEuZ2V0VmFyKCdVUFNUUkVBTV9WRVJTSU9OX1VOS05PV04nKQorICAgIGlmIG5vdCB1dlsndmVyc2lvbiddOgorICAgICAgICBzdGF0dXMgPSAiVU5LTk9XTiIgaWYgdXBzdHJlYW1fdmVyc2lvbl91bmtub3duIGVsc2UgIlVOS05PV05fQlJPS0VOIgorICAgIGVsc2U6CisgICAgICAgIGNtcCA9IHZlcmNtcF9zdHJpbmcodXZbJ2N1cnJlbnRfdmVyc2lvbiddLCB1dlsndmVyc2lvbiddKQorICAgICAgICBpZiBjbXAgPT0gLTE6CisgICAgICAgICAgICBzdGF0dXMgPSAiVVBEQVRFIiBpZiBub3QgdXBzdHJlYW1fdmVyc2lvbl91bmtub3duIGVsc2UgIktOT1dOX0JST0tFTiIKKyAgICAgICAgZWxpZiBjbXAgPT0gMDoKKyAgICAgICAgICAgIHN0YXR1cyA9ICJNQVRDSCIgaWYgbm90IHVwc3RyZWFtX3ZlcnNpb25fdW5rbm93biBlbHNlICJLTk9XTl9CUk9LRU4iCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzdGF0dXMgPSAiVU5LTk9XTiIgaWYgdXBzdHJlYW1fdmVyc2lvbl91bmtub3duIGVsc2UgIlVOS05PV05fQlJPS0VOIgorCisgICAgbmV4dF92ZXIgPSB1dlsndmVyc2lvbiddIGlmIHV2Wyd2ZXJzaW9uJ10gZWxzZSAiTi9BIgorICAgIHJldmlzaW9uID0gdXZbJ3JldmlzaW9uJ10gaWYgdXZbJ3JldmlzaW9uJ10gZWxzZSAiTi9BIgorICAgIG1haW50YWluZXIgPSBkYXRhLmdldFZhcignUkVDSVBFX01BSU5UQUlORVInKQorICAgIG5vX3VwZ3JhZGVfcmVhc29uID0gZGF0YS5nZXRWYXIoJ1JFQ0lQRV9OT19VUERBVEVfUkVBU09OJykKKworICAgIHJldHVybiAocG4sIHN0YXR1cywgY3VyX3ZlciwgbmV4dF92ZXIsIG1haW50YWluZXIsIHJldmlzaW9uLCBub191cGdyYWRlX3JlYXNvbikKKworZGVmIGdldF9yZWNpcGVfdXBncmFkZV9zdGF0dXMocmVjaXBlcz1Ob25lKToKKyAgICBwa2dzX2xpc3QgPSBbXQorICAgIGRhdGFfY29weV9saXN0ID0gW10KKyAgICBjb3B5X3ZhcnMgPSAoJ1NSQ19VUkknLAorICAgICAgICAgICAgICAgICAnUFYnLAorICAgICAgICAgICAgICAgICAnR0lURElSJywKKyAgICAgICAgICAgICAgICAgJ0RMX0RJUicsCisgICAgICAgICAgICAgICAgICdQTicsCisgICAgICAgICAgICAgICAgICdDQUNIRScsCisgICAgICAgICAgICAgICAgICdQRVJTSVNURU5UX0RJUicsCisgICAgICAgICAgICAgICAgICdCQl9VUklfSEVBRFJFVlMnLAorICAgICAgICAgICAgICAgICAnVVBTVFJFQU1fQ0hFQ0tfQ09NTUlUUycsCisgICAgICAgICAgICAgICAgICdVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCcsCisgICAgICAgICAgICAgICAgICdVUFNUUkVBTV9DSEVDS19SRUdFWCcsCisgICAgICAgICAgICAgICAgICdVUFNUUkVBTV9DSEVDS19VUkknLAorICAgICAgICAgICAgICAgICAnVVBTVFJFQU1fVkVSU0lPTl9VTktOT1dOJywKKyAgICAgICAgICAgICAgICAgJ1JFQ0lQRV9NQUlOVEFJTkVSJywKKyAgICAgICAgICAgICAgICAgJ1JFQ0lQRV9OT19VUERBVEVfUkVBU09OJywKKyAgICAgICAgICAgICAgICAgJ1JFQ0lQRV9VUFNUUkVBTV9WRVJTSU9OJywKKyAgICAgICAgICAgICAgICAgJ1JFQ0lQRV9VUFNUUkVBTV9EQVRFJywKKyAgICAgICAgICAgICAgICAgJ0NIRUNLX0RBVEUnLAorICAgICAgICAgICAgKQorCisgICAgd2l0aCBiYi50aW5mb2lsLlRpbmZvaWwoKSBhcyB0aW5mb2lsOgorICAgICAgICB0aW5mb2lsLnByZXBhcmUoY29uZmlnX29ubHk9RmFsc2UpCisKKyAgICAgICAgaWYgbm90IHJlY2lwZXM6CisgICAgICAgICAgICByZWNpcGVzID0gdGluZm9pbC5hbGxfcmVjaXBlX2ZpbGVzKHZhcmlhbnRzPUZhbHNlKQorCisgICAgICAgIGZvciBmbiBpbiByZWNpcGVzOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGlmIGZuLnN0YXJ0c3dpdGgoIi8iKToKKyAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHRpbmZvaWwucGFyc2VfcmVjaXBlX2ZpbGUoZm4pCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHRpbmZvaWwucGFyc2VfcmVjaXBlKGZuKQorICAgICAgICAgICAgZXhjZXB0IGJiLnByb3ZpZGVycy5Ob1Byb3ZpZGVyOgorICAgICAgICAgICAgICAgIGJiLm5vdGUoIiBObyBwcm92aWRlciBmb3IgJXMiICUgZm4pCisgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAgdW5yZWxpYWJsZSA9IGRhdGEuZ2V0VmFyKCdVUFNUUkVBTV9DSEVDS19VTlJFTElBQkxFJykKKyAgICAgICAgICAgIGlmIHVucmVsaWFibGUgPT0gIjEiOgorICAgICAgICAgICAgICAgIGJiLm5vdGUoIiBTa2lwIHBhY2thZ2UgJXMgYXMgdXBzdHJlYW0gY2hlY2sgdW5yZWxpYWJsZSIgJSBwbikKKyAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICBkYXRhX2NvcHkgPSBiYi5kYXRhLmluaXQoKQorICAgICAgICAgICAgZm9yIHZhciBpbiBjb3B5X3ZhcnM6CisgICAgICAgICAgICAgICAgZGF0YV9jb3B5LnNldFZhcih2YXIsIGRhdGEuZ2V0VmFyKHZhcikpCisgICAgICAgICAgICBmb3IgayBpbiBkYXRhOgorICAgICAgICAgICAgICAgIGlmIGsuc3RhcnRzd2l0aCgnU1JDUkVWJyk6CisgICAgICAgICAgICAgICAgICAgIGRhdGFfY29weS5zZXRWYXIoaywgZGF0YS5nZXRWYXIoaykpCisKKyAgICAgICAgICAgIGRhdGFfY29weV9saXN0LmFwcGVuZChkYXRhX2NvcHkpCisKKyAgICBmcm9tIGNvbmN1cnJlbnQuZnV0dXJlcyBpbXBvcnQgUHJvY2Vzc1Bvb2xFeGVjdXRvcgorICAgIHdpdGggUHJvY2Vzc1Bvb2xFeGVjdXRvcihtYXhfd29ya2Vycz11dGlscy5jcHVfY291bnQoKSkgYXMgZXhlY3V0b3I6CisgICAgICAgIHBrZ3NfbGlzdCA9IGV4ZWN1dG9yLm1hcChfZ2V0X3JlY2lwZV91cGdyYWRlX3N0YXR1cywgZGF0YV9jb3B5X2xpc3QpCisKKyAgICByZXR1cm4gcGtnc19saXN0CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lL3Jvb3Rmcy5weSBiL3Bva3kvbWV0YS9saWIvb2Uvcm9vdGZzLnB5CmluZGV4IGU1NTEyZDAuLmI3YzBiOWMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2Uvcm9vdGZzLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2Uvcm9vdGZzLnB5CkBAIC0zNTQsOSArMzU0LDkgQEAKIGNsYXNzIFJwbVJvb3RmcyhSb290ZnMpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkLCBtYW5pZmVzdF9kaXIsIHByb2dyZXNzX3JlcG9ydGVyPU5vbmUsIGxvZ2NhdGNoZXI9Tm9uZSk6CiAgICAgICAgIHN1cGVyKFJwbVJvb3Rmcywgc2VsZikuX19pbml0X18oZCwgcHJvZ3Jlc3NfcmVwb3J0ZXIsIGxvZ2NhdGNoZXIpCi0gICAgICAgIHNlbGYubG9nX2NoZWNrX3JlZ2V4ID0gJyh1bnBhY2tpbmcgb2YgYXJjaGl2ZSBmYWlsZWR8Q2Fubm90IGZpbmQgcGFja2FnZSdcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3xleGl0IDF8RVJST1I6IHxFcnJvcjogfEVycm9yIHxFUlJPUiAnXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd8RmFpbGVkIHxGYWlsZWQ6IHxGYWlsZWQkfEZhaWxlZFwoXGQrXCk6KScKKyAgICAgICAgc2VsZi5sb2dfY2hlY2tfcmVnZXggPSByJyh1bnBhY2tpbmcgb2YgYXJjaGl2ZSBmYWlsZWR8Q2Fubm90IGZpbmQgcGFja2FnZSdcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcid8ZXhpdCAxfEVSUk9SOiB8RXJyb3I6IHxFcnJvciB8RVJST1IgJ1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByJ3xGYWlsZWQgfEZhaWxlZDogfEZhaWxlZCR8RmFpbGVkXChcZCtcKTopJwogICAgICAgICBzZWxmLm1hbmlmZXN0ID0gUnBtTWFuaWZlc3QoZCwgbWFuaWZlc3RfZGlyKQogCiAgICAgICAgIHNlbGYucG0gPSBScG1QTShkLApAQCAtNDk5LDcgKzQ5OSw3IEBACiAgICAgICAgICAgICBwa2dfZGVwZW5kc19saXN0ID0gW10KICAgICAgICAgICAgICMgZmlsdGVyIHZlcnNpb24gcmVxdWlyZW1lbnRzIGxpa2UgbGliYyAoPj0gMS4xKQogICAgICAgICAgICAgZm9yIGRlcCBpbiBwa2dfZGVwZW5kcy5zcGxpdCgnLCAnKToKLSAgICAgICAgICAgICAgICBtX2RlcCA9IHJlLm1hdGNoKCJeKC4qKSBcKC4qXCkkIiwgZGVwKQorICAgICAgICAgICAgICAgIG1fZGVwID0gcmUubWF0Y2gociJeKC4qKSBcKC4qXCkkIiwgZGVwKQogICAgICAgICAgICAgICAgIGlmIG1fZGVwOgogICAgICAgICAgICAgICAgICAgICBkZXAgPSBtX2RlcC5ncm91cCgxKQogICAgICAgICAgICAgICAgIHBrZ19kZXBlbmRzX2xpc3QuYXBwZW5kKGRlcCkKQEAgLTUxNSwyMSArNTE1LDMzIEBACiAgICAgICAgICAgICBkYXRhID0gc3RhdHVzLnJlYWQoKQogICAgICAgICAgICAgc3RhdHVzLmNsb3NlKCkKICAgICAgICAgICAgIGZvciBsaW5lIGluIGRhdGEuc3BsaXQoJ1xuJyk6Ci0gICAgICAgICAgICAgICAgbV9wa2cgPSByZS5tYXRjaCgiXlBhY2thZ2U6ICguKikiLCBsaW5lKQotICAgICAgICAgICAgICAgIG1fc3RhdHVzID0gcmUubWF0Y2goIl5TdGF0dXM6Lip1bnBhY2tlZCIsIGxpbmUpCi0gICAgICAgICAgICAgICAgbV9kZXBlbmRzID0gcmUubWF0Y2goIl5EZXBlbmRzOiAoLiopIiwgbGluZSkKKyAgICAgICAgICAgICAgICBtX3BrZyA9IHJlLm1hdGNoKHIiXlBhY2thZ2U6ICguKikiLCBsaW5lKQorICAgICAgICAgICAgICAgIG1fc3RhdHVzID0gcmUubWF0Y2gociJeU3RhdHVzOi4qdW5wYWNrZWQiLCBsaW5lKQorICAgICAgICAgICAgICAgIG1fZGVwZW5kcyA9IHJlLm1hdGNoKHIiXkRlcGVuZHM6ICguKikiLCBsaW5lKQogCisgICAgICAgICAgICAgICAgI09ubHkgb25lIG9mIG1fcGtnLCBtX3N0YXR1cyBvciBtX2RlcGVuZHMgaXMgbm90IE5vbmUgYXQgdGltZQorICAgICAgICAgICAgICAgICNJZiBtX3BrZyBpcyBub3QgTm9uZSwgd2Ugc3RhcnRlZCBhIG5ldyBwYWNrYWdlCiAgICAgICAgICAgICAgICAgaWYgbV9wa2cgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHBrZ19uYW1lIGFuZCBwa2dfc3RhdHVzX21hdGNoOgotICAgICAgICAgICAgICAgICAgICAgICAgcGtnc1twa2dfbmFtZV0gPSBfZ2V0X3BrZ19kZXBlbmRzX2xpc3QocGtnX2RlcGVuZHMpCi0KKyAgICAgICAgICAgICAgICAgICAgI0dldCBQYWNrYWdlIG5hbWUKICAgICAgICAgICAgICAgICAgICAgcGtnX25hbWUgPSBtX3BrZy5ncm91cCgxKQorICAgICAgICAgICAgICAgICAgICAjTWFrZSBzdXJlIHdlIHJlc2V0IG90aGVyIHZhcmlhYmxlcwogICAgICAgICAgICAgICAgICAgICBwa2dfc3RhdHVzX21hdGNoID0gRmFsc2UKICAgICAgICAgICAgICAgICAgICAgcGtnX2RlcGVuZHMgPSAiIgogICAgICAgICAgICAgICAgIGVsaWYgbV9zdGF0dXMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICNOZXcgc3RhdHVzIG1hdGNoZWQKICAgICAgICAgICAgICAgICAgICAgcGtnX3N0YXR1c19tYXRjaCA9IFRydWUKICAgICAgICAgICAgICAgICBlbGlmIG1fZGVwZW5kcyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgI05ldyBkZXBlbmRzIG1hY3RoZWQKICAgICAgICAgICAgICAgICAgICAgcGtnX2RlcGVuZHMgPSBtX2RlcGVuZHMuZ3JvdXAoMSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgICAgICAgICAjTm93IGNoZWNrIGlmIHdlIGNhbiBwcm9jZXNzIHBhY2thZ2UgZGVwZW5kcyBhbmQgcG9zdGluc3QKKyAgICAgICAgICAgICAgICBpZiAiIiAhPSBwa2dfbmFtZSBhbmQgcGtnX3N0YXR1c19tYXRjaDoKKyAgICAgICAgICAgICAgICAgICAgcGtnc1twa2dfbmFtZV0gPSBfZ2V0X3BrZ19kZXBlbmRzX2xpc3QocGtnX2RlcGVuZHMpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgI05vdCBlbm91Z2ggaW5mb3JtYXRpb24KKyAgICAgICAgICAgICAgICAgICAgcGFzcwogCiAgICAgICAgICMgcmVtb3ZlIHBhY2thZ2UgZGVwZW5kZW5jaWVzIG5vdCBpbiBwb3N0aW5zdHMKICAgICAgICAgcGtnX25hbWVzID0gbGlzdChwa2dzLmtleXMoKSkKQEAgLTczNSwxNSArNzQ3LDE2IEBACiAgICAgICAgIGlmIGZpbGVjbXAuY21wKGYxLCBmMik6CiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgICAgIGlmIHNlbGYuaW1hZ2Vfcm9vdGZzIG5vdCBpbiBmMToKLSAgICAgICAgICAgIHNlbGYuX3ByZWxpbmtfZmlsZShmMS5yZXBsYWNlKGtleSwgJycpLCBmMSkKKyAgICAgICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnaW1hZ2UtcHJlbGluaycsIHNlbGYuZCk6CisgICAgICAgICAgICBpZiBzZWxmLmltYWdlX3Jvb3RmcyBub3QgaW4gZjE6CisgICAgICAgICAgICAgICAgc2VsZi5fcHJlbGlua19maWxlKGYxLnJlcGxhY2Uoa2V5LCAnJyksIGYxKQogCi0gICAgICAgIGlmIHNlbGYuaW1hZ2Vfcm9vdGZzIG5vdCBpbiBmMjoKLSAgICAgICAgICAgIHNlbGYuX3ByZWxpbmtfZmlsZShmMi5yZXBsYWNlKGtleSwgJycpLCBmMikKKyAgICAgICAgICAgIGlmIHNlbGYuaW1hZ2Vfcm9vdGZzIG5vdCBpbiBmMjoKKyAgICAgICAgICAgICAgICBzZWxmLl9wcmVsaW5rX2ZpbGUoZjIucmVwbGFjZShrZXksICcnKSwgZjIpCiAKLSAgICAgICAgIyBCb3RoIG9mIHRoZW0gYXJlIHByZWxpbmtlZAotICAgICAgICBpZiBmaWxlY21wLmNtcChmMSwgZjIpOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgICAgICMgQm90aCBvZiB0aGVtIGFyZSBwcmVsaW5rZWQKKyAgICAgICAgICAgIGlmIGZpbGVjbXAuY21wKGYxLCBmMik6CisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKIAogICAgICAgICAjIE5vdCBlcXVhbAogICAgICAgICByZXR1cm4gRmFsc2UKQEAgLTc1OSw3ICs3NzIsNyBAQAogICAgICAgICBpZiBhbGxvd19yZXBsYWNlIGlzIE5vbmU6CiAgICAgICAgICAgICBhbGxvd19yZXBsYWNlID0gIiIKIAotICAgICAgICBhbGxvd19yZXAgPSByZS5jb21waWxlKHJlLnN1YigiXHwkIiwgIiIsIGFsbG93X3JlcGxhY2UpKQorICAgICAgICBhbGxvd19yZXAgPSByZS5jb21waWxlKHJlLnN1YihyIlx8JCIsIHIiIiwgYWxsb3dfcmVwbGFjZSkpCiAgICAgICAgIGVycm9yX3Byb21wdCA9ICJNdWx0aWxpYiBjaGVjayBlcnJvcjoiCiAKICAgICAgICAgZmlsZXMgPSB7fQpAQCAtODc5LDggKzg5Miw2IEBACiAKICAgICAgICAgc2VsZi5wbS51cGRhdGUoKQogCi0gICAgICAgIHNlbGYucG0uaGFuZGxlX2JhZF9yZWNvbW1lbmRhdGlvbnMoKQotCiAgICAgICAgIGlmIHNlbGYucHJvZ3Jlc3NfcmVwb3J0ZXI6CiAgICAgICAgICAgICBzZWxmLnByb2dyZXNzX3JlcG9ydGVyLm5leHRfc3RhZ2UoKQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lL3Nkay5weSBiL3Bva3kvbWV0YS9saWIvb2Uvc2RrLnB5CmluZGV4IDE1M2IwN2QuLjg3OGVlMTYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2Uvc2RrLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2Uvc2RrLnB5CkBAIC05NSw4ICs5NSw4IEBACiAgICAgICAgICAgICBpZiBsaW5ndWFzID09ICJhbGwiOgogICAgICAgICAgICAgICAgIHBtLmluc3RhbGxfZ2xvYigibmF0aXZlc2RrLWdsaWJjLWJpbmFyeS1sb2NhbGVkYXRhLSoudXRmLTgiLCBzZGs9VHJ1ZSkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZm9yIGxhbmcgaW4gbGluZ3Vhcy5zcGxpdCgpOgotICAgICAgICAgICAgICAgICAgICBwbS5pbnN0YWxsKCJuYXRpdmVzZGstZ2xpYmMtYmluYXJ5LWxvY2FsZWRhdGEtJXMudXRmLTgiICUgbGFuZykKKyAgICAgICAgICAgICAgICBwbS5pbnN0YWxsKFsibmF0aXZlc2RrLWdsaWJjLWJpbmFyeS1sb2NhbGVkYXRhLSVzLnV0Zi04IiAlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmcgZm9yIGxhbmcgaW4gbGluZ3Vhcy5zcGxpdCgpXSkKICAgICAgICAgICAgICMgR2VuZXJhdGUgYSBsb2NhbGUgYXJjaGl2ZSBvZiB0aGVtCiAgICAgICAgICAgICB0YXJnZXRfYXJjaCA9IHNlbGYuZC5nZXRWYXIoJ1NES19BUkNIJykKICAgICAgICAgICAgIHJvb3RmcyA9IG9lLnBhdGguam9pbihzZWxmLnNka19ob3N0X3N5c3Jvb3QsIHNlbGYuc2RrX25hdGl2ZV9wYXRoKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZS9zc3RhdGVzaWcucHkgYi9wb2t5L21ldGEvbGliL29lL3NzdGF0ZXNpZy5weQppbmRleCAxOGM1YTM1Li5hODNhZjUxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lL3NzdGF0ZXNpZy5weQorKysgYi9wb2t5L21ldGEvbGliL29lL3NzdGF0ZXNpZy5weQpAQCAtMjYzLDEwICsyNjMsMTgxIEBACiAgICAgICAgIGlmIGVycm9yX21zZ3M6CiAgICAgICAgICAgICBiYi5mYXRhbCgiXG4iLmpvaW4oZXJyb3JfbXNncykpCiAKK2NsYXNzIFNpZ25hdHVyZUdlbmVyYXRvck9FRXF1aXZIYXNoKFNpZ25hdHVyZUdlbmVyYXRvck9FQmFzaWNIYXNoKToKKyAgICBuYW1lID0gIk9FRXF1aXZIYXNoIgorCisgICAgZGVmIGluaXRfcnVuZGVwY2hlY2soc2VsZiwgZGF0YSk6CisgICAgICAgIHN1cGVyKCkuaW5pdF9ydW5kZXBjaGVjayhkYXRhKQorICAgICAgICBzZWxmLnNlcnZlciA9IGRhdGEuZ2V0VmFyKCdTU1RBVEVfSEFTSEVRVUlWX1NFUlZFUicpCisgICAgICAgIHNlbGYubWV0aG9kID0gZGF0YS5nZXRWYXIoJ1NTVEFURV9IQVNIRVFVSVZfTUVUSE9EJykKKyAgICAgICAgc2VsZi51bmloYXNoZXMgPSBiYi5wZXJzaXN0X2RhdGEucGVyc2lzdCgnU1NUQVRFU0lHX1VOSUhBU0hfQ0FDSEVfdjFfJyArIHNlbGYubWV0aG9kLnJlcGxhY2UoJy4nLCAnXycpLCBkYXRhKQorCisgICAgZGVmIGdldF90YXNrZGF0YShzZWxmKToKKyAgICAgICAgcmV0dXJuIChzZWxmLnNlcnZlciwgc2VsZi5tZXRob2QpICsgc3VwZXIoKS5nZXRfdGFza2RhdGEoKQorCisgICAgZGVmIHNldF90YXNrZGF0YShzZWxmLCBkYXRhKToKKyAgICAgICAgc2VsZi5zZXJ2ZXIsIHNlbGYubWV0aG9kID0gZGF0YVs6Ml0KKyAgICAgICAgc3VwZXIoKS5zZXRfdGFza2RhdGEoZGF0YVsyOl0pCisKKyAgICBkZWYgX19nZXRfdGFza191bmloYXNoX2tleShzZWxmLCB0YXNrKToKKyAgICAgICAgIyBUT0RPOiBUaGUga2V5IG9ubHkgKm5lZWRzKiB0byBiZSB0aGUgdGFza2hhc2gsIHRoZSB0YXNrIGlzIGp1c3QKKyAgICAgICAgIyBjb252ZW5pZW50CisgICAgICAgIHJldHVybiAnJXM6JXMnICUgKHRhc2ssIHNlbGYudGFza2hhc2hbdGFza10pCisKKyAgICBkZWYgZ2V0X3N0YW1wZmlsZV9oYXNoKHNlbGYsIHRhc2spOgorICAgICAgICBpZiB0YXNrIGluIHNlbGYudGFza2hhc2g6CisgICAgICAgICAgICAjIElmIGEgdW5pcXVlIGhhc2ggaXMgcmVwb3J0ZWQsIHVzZSBpdCBhcyB0aGUgc3RhbXBmaWxlIGhhc2guIFRoaXMKKyAgICAgICAgICAgICMgZW5zdXJlcyB0aGF0IGlmIGEgdGFzayB3b24ndCBiZSByZS1ydW4gaWYgdGhlIHRhc2toYXNoIGNoYW5nZXMsCisgICAgICAgICAgICAjIGJ1dCBpdCB3b3VsZCByZXN1bHQgaW4gdGhlIHNhbWUgb3V0cHV0IGhhc2gKKyAgICAgICAgICAgIHVuaWhhc2ggPSBzZWxmLnVuaWhhc2hlcy5nZXQoc2VsZi5fX2dldF90YXNrX3VuaWhhc2hfa2V5KHRhc2spKQorICAgICAgICAgICAgaWYgdW5paGFzaCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICByZXR1cm4gdW5paGFzaAorCisgICAgICAgIHJldHVybiBzdXBlcigpLmdldF9zdGFtcGZpbGVfaGFzaCh0YXNrKQorCisgICAgZGVmIGdldF91bmloYXNoKHNlbGYsIHRhc2spOgorICAgICAgICBpbXBvcnQgdXJsbGliCisgICAgICAgIGltcG9ydCBqc29uCisKKyAgICAgICAgdGFza2hhc2ggPSBzZWxmLnRhc2toYXNoW3Rhc2tdCisKKyAgICAgICAga2V5ID0gc2VsZi5fX2dldF90YXNrX3VuaWhhc2hfa2V5KHRhc2spCisKKyAgICAgICAgIyBUT0RPOiBUaGlzIGNhY2hlIGNhbiBncm93IHVuYm91bmRlZC4gSXQgcHJvYmFibHkgb25seSBuZWVkcyB0byBrZWVwCisgICAgICAgICMgZm9yIGVhY2ggdGFzaworICAgICAgICB1bmloYXNoID0gc2VsZi51bmloYXNoZXMuZ2V0KGtleSkKKyAgICAgICAgaWYgdW5paGFzaCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHJldHVybiB1bmloYXNoCisKKyAgICAgICAgIyBJbiB0aGUgYWJzZW5jZSBvZiBiZWluZyBhYmxlIHRvIGRpc2NvdmVyIGEgdW5pcXVlIGhhc2ggZnJvbSB0aGUKKyAgICAgICAgIyBzZXJ2ZXIsIG1ha2UgaXQgYmUgZXF1aXZhbGVudCB0byB0aGUgdGFza2hhc2guIFRoZSB1bmlxdWUgImhhc2giIG9ubHkKKyAgICAgICAgIyByZWFsbHkgbmVlZHMgdG8gYmUgYSB1bmlxdWUgc3RyaW5nIChub3QgZXZlbiBuZWNlc3NhcmlseSBhIGhhc2gpLCBidXQKKyAgICAgICAgIyBtYWtpbmcgaXQgbWF0Y2ggdGhlIHRhc2toYXNoIGhhcyBhIGZldyBhZHZhbnRhZ2VzOgorICAgICAgICAjCisgICAgICAgICMgMSkgQWxsIG9mIHRoZSBzc3RhdGUgY29kZSB0aGF0IGFzc3VtZXMgaGFzaGVzIGNhbiBiZSB0aGUgc2FtZQorICAgICAgICAjIDIpIEl0IHByb3ZpZGVzIG1heGltYWwgY29tcGF0aWJpbGl0eSB3aXRoIGJ1aWxkZXJzIHRoYXQgZG9uJ3QgdXNlCisgICAgICAgICMgICAgYW4gZXF1aXZhbGVuY3kgc2VydmVyCisgICAgICAgICMgMykgVGhlIHZhbHVlIGlzIGVhc3kgZm9yIG11bHRpcGxlIGluZGVwZW5kZW50IGJ1aWxkZXJzIHRvIGRlcml2ZSB0aGUKKyAgICAgICAgIyAgICBzYW1lIHVuaXF1ZSBoYXNoIGZyb20gdGhlIHNhbWUgaW5wdXQuIFRoaXMgbWVhbnMgdGhhdCBpZiB0aGUKKyAgICAgICAgIyAgICBpbmRlcGVuZGVudCBidWlsZGVycyBmaW5kIHRoZSBzYW1lIHRhc2toYXNoLCBidXQgaXQgaXNuJ3QgcmVwb3J0ZWQKKyAgICAgICAgIyAgICB0byB0aGUgc2VydmVyLCB0aGVyZSBpcyBhIGJldHRlciBjaGFuY2UgdGhhdCB0aGV5IHdpbGwgYWdyZWUgb24KKyAgICAgICAgIyAgICB0aGUgdW5pcXVlIGhhc2guCisgICAgICAgIHVuaWhhc2ggPSB0YXNraGFzaAorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHVybCA9ICclcy92MS9lcXVpdmFsZW50PyVzJyAlIChzZWxmLnNlcnZlciwKKyAgICAgICAgICAgICAgICAgICAgdXJsbGliLnBhcnNlLnVybGVuY29kZSh7J21ldGhvZCc6IHNlbGYubWV0aG9kLCAndGFza2hhc2gnOiBzZWxmLnRhc2toYXNoW3Rhc2tdfSkpCisKKyAgICAgICAgICAgIHJlcXVlc3QgPSB1cmxsaWIucmVxdWVzdC5SZXF1ZXN0KHVybCkKKyAgICAgICAgICAgIHJlc3BvbnNlID0gdXJsbGliLnJlcXVlc3QudXJsb3BlbihyZXF1ZXN0KQorICAgICAgICAgICAgZGF0YSA9IHJlc3BvbnNlLnJlYWQoKS5kZWNvZGUoJ3V0Zi04JykKKworICAgICAgICAgICAganNvbl9kYXRhID0ganNvbi5sb2FkcyhkYXRhKQorCisgICAgICAgICAgICBpZiBqc29uX2RhdGE6CisgICAgICAgICAgICAgICAgdW5paGFzaCA9IGpzb25fZGF0YVsndW5paGFzaCddCisgICAgICAgICAgICAgICAgIyBBIHVuaXF1ZSBoYXNoIGVxdWFsIHRvIHRoZSB0YXNraGFzaCBpcyBub3QgdmVyeSBpbnRlcmVzdGluZywKKyAgICAgICAgICAgICAgICAjIHNvIGl0IGlzIHJlcG9ydGVkIGl0IGF0IGRlYnVnIGxldmVsIDIuIElmIHRoZXkgZGlmZmVyLCB0aGF0CisgICAgICAgICAgICAgICAgIyBpcyBtdWNoIG1vcmUgaW50ZXJlc3RpbmcsIHNvIGl0IGlzIHJlcG9ydGVkIGF0IGRlYnVnIGxldmVsIDEKKyAgICAgICAgICAgICAgICBiYi5kZWJ1ZygoMSwgMilbdW5paGFzaCA9PSB0YXNraGFzaF0sICdGb3VuZCB1bmloYXNoICVzIGluIHBsYWNlIG9mICVzIGZvciAlcyBmcm9tICVzJyAlICh1bmloYXNoLCB0YXNraGFzaCwgdGFzaywgc2VsZi5zZXJ2ZXIpKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBiYi5kZWJ1ZygyLCAnTm8gcmVwb3J0ZWQgdW5paGFzaCBmb3IgJXM6JXMgZnJvbSAlcycgJSAodGFzaywgdGFza2hhc2gsIHNlbGYuc2VydmVyKSkKKyAgICAgICAgZXhjZXB0IHVybGxpYi5lcnJvci5VUkxFcnJvciBhcyBlOgorICAgICAgICAgICAgYmIud2FybignRmFpbHVyZSBjb250YWN0aW5nIEhhc2ggRXF1aXZhbGVuY2UgU2VydmVyICVzOiAlcycgJSAoc2VsZi5zZXJ2ZXIsIHN0cihlKSkpCisgICAgICAgIGV4Y2VwdCAoS2V5RXJyb3IsIGpzb24uSlNPTkRlY29kZUVycm9yKSBhcyBlOgorICAgICAgICAgICAgYmIud2FybignUG9vcmx5IGZvcm1hdHRlZCByZXNwb25zZSBmcm9tICVzOiAlcycgJSAoc2VsZi5zZXJ2ZXIsIHN0cihlKSkpCisKKyAgICAgICAgc2VsZi51bmloYXNoZXNba2V5XSA9IHVuaWhhc2gKKyAgICAgICAgcmV0dXJuIHVuaWhhc2gKKworICAgIGRlZiByZXBvcnRfdW5paGFzaChzZWxmLCBwYXRoLCB0YXNrLCBkKToKKyAgICAgICAgaW1wb3J0IHVybGxpYgorICAgICAgICBpbXBvcnQganNvbgorICAgICAgICBpbXBvcnQgdGVtcGZpbGUKKyAgICAgICAgaW1wb3J0IGJhc2U2NAorICAgICAgICBpbXBvcnQgaW1wb3J0bGliCisKKyAgICAgICAgdGFza2hhc2ggPSBkLmdldFZhcignQkJfVEFTS0hBU0gnKQorICAgICAgICB1bmloYXNoID0gZC5nZXRWYXIoJ0JCX1VOSUhBU0gnKQorICAgICAgICByZXBvcnRfdGFza2RhdGEgPSBkLmdldFZhcignU1NUQVRFX0hBU0hFUVVJVl9SRVBPUlRfVEFTS0RBVEEnKSA9PSAnMScKKyAgICAgICAgdGVtcGRpciA9IGQuZ2V0VmFyKCdUJykKKyAgICAgICAgZm4gPSBkLmdldFZhcignQkJfRklMRU5BTUUnKQorICAgICAgICBrZXkgPSBmbiArICcuZG9fJyArIHRhc2sgKyAnOicgKyB0YXNraGFzaAorCisgICAgICAgICMgU2FuaXR5IGNoZWNrcworICAgICAgICBjYWNoZV91bmloYXNoID0gc2VsZi51bmloYXNoZXMuZ2V0KGtleSkKKyAgICAgICAgaWYgY2FjaGVfdW5paGFzaCBpcyBOb25lOgorICAgICAgICAgICAgYmIuZmF0YWwoJyVzIG5vdCBpbiB1bmloYXNoIGNhY2hlLiBQbGVhc2UgcmVwb3J0IHRoaXMgZXJyb3InICUga2V5KQorCisgICAgICAgIGlmIGNhY2hlX3VuaWhhc2ggIT0gdW5paGFzaDoKKyAgICAgICAgICAgIGJiLmZhdGFsKCJDYWNoZSB1bmloYXNoICVzIGRvZXNuJ3QgbWF0Y2ggQkJfVU5JSEFTSCAlcyIgJSAoY2FjaGVfdW5paGFzaCwgdW5paGFzaCkpCisKKyAgICAgICAgc2lnZmlsZSA9IE5vbmUKKyAgICAgICAgc2lnZmlsZV9uYW1lID0gImRlcHNpZy5kb18lcy4lZCIgJSAodGFzaywgb3MuZ2V0cGlkKCkpCisgICAgICAgIHNpZ2ZpbGVfbGluayA9ICJkZXBzaWcuZG9fJXMiICUgdGFzaworCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNpZ2ZpbGUgPSBvcGVuKG9zLnBhdGguam9pbih0ZW1wZGlyLCBzaWdmaWxlX25hbWUpLCAndytiJykKKworICAgICAgICAgICAgbG9jcyA9IHsncGF0aCc6IHBhdGgsICdzaWdmaWxlJzogc2lnZmlsZSwgJ3Rhc2snOiB0YXNrLCAnZCc6IGR9CisKKyAgICAgICAgICAgIChtb2R1bGUsIG1ldGhvZCkgPSBzZWxmLm1ldGhvZC5yc3BsaXQoJy4nLCAxKQorICAgICAgICAgICAgbG9jc1snbWV0aG9kJ10gPSBnZXRhdHRyKGltcG9ydGxpYi5pbXBvcnRfbW9kdWxlKG1vZHVsZSksIG1ldGhvZCkKKworICAgICAgICAgICAgb3V0aGFzaCA9IGJiLnV0aWxzLmJldHRlcl9ldmFsKCdtZXRob2QocGF0aCwgc2lnZmlsZSwgdGFzaywgZCknLCBsb2NzKQorCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgdXJsID0gJyVzL3YxL2VxdWl2YWxlbnQnICUgc2VsZi5zZXJ2ZXIKKyAgICAgICAgICAgICAgICB0YXNrX2RhdGEgPSB7CisgICAgICAgICAgICAgICAgICAgICd0YXNraGFzaCc6IHRhc2toYXNoLAorICAgICAgICAgICAgICAgICAgICAnbWV0aG9kJzogc2VsZi5tZXRob2QsCisgICAgICAgICAgICAgICAgICAgICdvdXRoYXNoJzogb3V0aGFzaCwKKyAgICAgICAgICAgICAgICAgICAgJ3VuaWhhc2gnOiB1bmloYXNoLAorICAgICAgICAgICAgICAgICAgICAnb3duZXInOiBkLmdldFZhcignU1NUQVRFX0hBU0hFUVVJVl9PV05FUicpCisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmIHJlcG9ydF90YXNrZGF0YToKKyAgICAgICAgICAgICAgICAgICAgc2lnZmlsZS5zZWVrKDApCisKKyAgICAgICAgICAgICAgICAgICAgdGFza19kYXRhWydQTiddID0gZC5nZXRWYXIoJ1BOJykKKyAgICAgICAgICAgICAgICAgICAgdGFza19kYXRhWydQViddID0gZC5nZXRWYXIoJ1BWJykKKyAgICAgICAgICAgICAgICAgICAgdGFza19kYXRhWydQUiddID0gZC5nZXRWYXIoJ1BSJykKKyAgICAgICAgICAgICAgICAgICAgdGFza19kYXRhWyd0YXNrJ10gPSB0YXNrCisgICAgICAgICAgICAgICAgICAgIHRhc2tfZGF0YVsnb3V0aGFzaF9zaWdpbmZvJ10gPSBzaWdmaWxlLnJlYWQoKS5kZWNvZGUoJ3V0Zi04JykKKworICAgICAgICAgICAgICAgIGhlYWRlcnMgPSB7J2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ30KKworICAgICAgICAgICAgICAgIHJlcXVlc3QgPSB1cmxsaWIucmVxdWVzdC5SZXF1ZXN0KHVybCwganNvbi5kdW1wcyh0YXNrX2RhdGEpLmVuY29kZSgndXRmLTgnKSwgaGVhZGVycykKKyAgICAgICAgICAgICAgICByZXNwb25zZSA9IHVybGxpYi5yZXF1ZXN0LnVybG9wZW4ocmVxdWVzdCkKKyAgICAgICAgICAgICAgICBkYXRhID0gcmVzcG9uc2UucmVhZCgpLmRlY29kZSgndXRmLTgnKQorCisgICAgICAgICAgICAgICAganNvbl9kYXRhID0ganNvbi5sb2FkcyhkYXRhKQorICAgICAgICAgICAgICAgIG5ld191bmloYXNoID0ganNvbl9kYXRhWyd1bmloYXNoJ10KKworICAgICAgICAgICAgICAgIGlmIG5ld191bmloYXNoICE9IHVuaWhhc2g6CisgICAgICAgICAgICAgICAgICAgIGJiLmRlYnVnKDEsICdUYXNrICVzIHVuaWhhc2ggY2hhbmdlZCAlcyAtPiAlcyBieSBzZXJ2ZXIgJXMnICUgKHRhc2toYXNoLCB1bmloYXNoLCBuZXdfdW5paGFzaCwgc2VsZi5zZXJ2ZXIpKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGJiLmRlYnVnKDEsICdSZXBvcnRlZCB0YXNrICVzIGFzIHVuaWhhc2ggJXMgdG8gJXMnICUgKHRhc2toYXNoLCB1bmloYXNoLCBzZWxmLnNlcnZlcikpCisgICAgICAgICAgICBleGNlcHQgdXJsbGliLmVycm9yLlVSTEVycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgYmIud2FybignRmFpbHVyZSBjb250YWN0aW5nIEhhc2ggRXF1aXZhbGVuY2UgU2VydmVyICVzOiAlcycgJSAoc2VsZi5zZXJ2ZXIsIHN0cihlKSkpCisgICAgICAgICAgICBleGNlcHQgKEtleUVycm9yLCBqc29uLkpTT05EZWNvZGVFcnJvcikgYXMgZToKKyAgICAgICAgICAgICAgICBiYi53YXJuKCdQb29ybHkgZm9ybWF0dGVkIHJlc3BvbnNlIGZyb20gJXM6ICVzJyAlIChzZWxmLnNlcnZlciwgc3RyKGUpKSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGlmIHNpZ2ZpbGU6CisgICAgICAgICAgICAgICAgc2lnZmlsZS5jbG9zZSgpCisKKyAgICAgICAgICAgICAgICBzaWdmaWxlX2xpbmtfcGF0aCA9IG9zLnBhdGguam9pbih0ZW1wZGlyLCBzaWdmaWxlX2xpbmspCisgICAgICAgICAgICAgICAgYmIudXRpbHMucmVtb3ZlKHNpZ2ZpbGVfbGlua19wYXRoKQorCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBvcy5zeW1saW5rKHNpZ2ZpbGVfbmFtZSwgc2lnZmlsZV9saW5rX3BhdGgpCisgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHBhc3MKIAogIyBJbnNlcnQgdGhlc2UgY2xhc3NlcyBpbnRvIHNpZ2dlbidzIG5hbWVzcGFjZSBzbyBpdCBjYW4gc2VlIGFuZCBzZWxlY3QgdGhlbQogYmIuc2lnZ2VuLlNpZ25hdHVyZUdlbmVyYXRvck9FQmFzaWMgPSBTaWduYXR1cmVHZW5lcmF0b3JPRUJhc2ljCiBiYi5zaWdnZW4uU2lnbmF0dXJlR2VuZXJhdG9yT0VCYXNpY0hhc2ggPSBTaWduYXR1cmVHZW5lcmF0b3JPRUJhc2ljSGFzaAorYmIuc2lnZ2VuLlNpZ25hdHVyZUdlbmVyYXRvck9FRXF1aXZIYXNoID0gU2lnbmF0dXJlR2VuZXJhdG9yT0VFcXVpdkhhc2gKIAogCiBkZWYgZmluZF9zaWdpbmZvKHBuLCB0YXNrbmFtZSwgdGFza2hhc2hsaXN0LCBkKToKQEAgLTMyNyw3ICs0OTgsNyBAQAogCiAgICAgaWYgbm90IHRhc2toYXNobGlzdCBvciAobGVuKGZpbGVkYXRlcykgPCAyIGFuZCBub3QgZm91bmRhbGwpOgogICAgICAgICAjIFRoYXQgZGlkbid0IHdvcmssIGxvb2sgaW4gc3N0YXRlLWNhY2hlCi0gICAgICAgIGhhc2hlcyA9IHRhc2toYXNobGlzdCBvciBbJz8nICogMzJdCisgICAgICAgIGhhc2hlcyA9IHRhc2toYXNobGlzdCBvciBbJz8nICogNjRdCiAgICAgICAgIGxvY2FsZGF0YSA9IGJiLmRhdGEuY3JlYXRlQ29weShkKQogICAgICAgICBmb3IgaGFzaHZhbCBpbiBoYXNoZXM6CiAgICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdQQUNLQUdFX0FSQ0gnLCAnKicpCkBAIC00MTQsNCArNTg1LDEzMyBAQAogICAgIGJiLndhcm4oIk1hbmlmZXN0ICVzIG5vdCBmb3VuZCBpbiAlcyAodmFyaWFudCAnJXMnKT8iICUgKG1hbmlmZXN0LCBkMi5leHBhbmQoIiAiLmpvaW4ocGtnYXJjaHMpKSwgdmFyaWFudCkpCiAgICAgcmV0dXJuIE5vbmUsIGQyCiAKK2RlZiBPRU91dGhhc2hCYXNpYyhwYXRoLCBzaWdmaWxlLCB0YXNrLCBkKToKKyAgICAiIiIKKyAgICBCYXNpYyBvdXRwdXQgaGFzaCBmdW5jdGlvbgorCisgICAgQ2FsY3VsYXRlcyB0aGUgb3V0cHV0IGhhc2ggb2YgYSB0YXNrIGJ5IGhhc2hpbmcgYWxsIG91dHB1dCBmaWxlIG1ldGFkYXRhLAorICAgIGFuZCBmaWxlIGNvbnRlbnRzLgorICAgICIiIgorICAgIGltcG9ydCBoYXNobGliCisgICAgaW1wb3J0IHN0YXQKKyAgICBpbXBvcnQgcHdkCisgICAgaW1wb3J0IGdycAorCisgICAgZGVmIHVwZGF0ZV9oYXNoKHMpOgorICAgICAgICBzID0gcy5lbmNvZGUoJ3V0Zi04JykKKyAgICAgICAgaC51cGRhdGUocykKKyAgICAgICAgaWYgc2lnZmlsZToKKyAgICAgICAgICAgIHNpZ2ZpbGUud3JpdGUocykKKworICAgIGggPSBoYXNobGliLnNoYTI1NigpCisgICAgcHJldl9kaXIgPSBvcy5nZXRjd2QoKQorICAgIGluY2x1ZGVfb3duZXJzID0gb3MuZW52aXJvbi5nZXQoJ1BTRVVET19ESVNBQkxFRCcpID09ICcwJworCisgICAgdHJ5OgorICAgICAgICBvcy5jaGRpcihwYXRoKQorCisgICAgICAgIHVwZGF0ZV9oYXNoKCJPRU91dGhhc2hCYXNpY1xuIikKKworICAgICAgICAjIEl0IGlzIG9ubHkgY3VycmVudGx5IHVzZWZ1bCB0byBnZXQgZXF1aXZhbGVudCBoYXNoZXMgZm9yIHRoaW5ncyB0aGF0CisgICAgICAgICMgY2FuIGJlIHJlc3RvcmVkIGZyb20gc3N0YXRlLiBTaW5jZSB0aGUgc3N0YXRlIG9iamVjdCBpcyBuYW1lZCB1c2luZworICAgICAgICAjIFNTVEFURV9QS0dTUEVDIGFuZCB0aGUgdGFzayBuYW1lLCB0aG9zZSBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlCisgICAgICAgICMgb3V0cHV0IGhhc2ggY2FsY3VsYXRpb24uCisgICAgICAgIHVwZGF0ZV9oYXNoKCJTU1RBVEVfUEtHU1BFQz0lc1xuIiAlIGQuZ2V0VmFyKCdTU1RBVEVfUEtHU1BFQycpKQorICAgICAgICB1cGRhdGVfaGFzaCgidGFzaz0lc1xuIiAlIHRhc2spCisKKyAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsoJy4nLCB0b3Bkb3duPVRydWUpOgorICAgICAgICAgICAgIyBTb3J0IGRpcmVjdG9yaWVzIHRvIGVuc3VyZSBjb25zaXN0ZW50IG9yZGVyaW5nIHdoZW4gcmVjdXJzaW5nCisgICAgICAgICAgICBkaXJzLnNvcnQoKQorICAgICAgICAgICAgZmlsZXMuc29ydCgpCisKKyAgICAgICAgICAgIGRlZiBwcm9jZXNzKHBhdGgpOgorICAgICAgICAgICAgICAgIHMgPSBvcy5sc3RhdChwYXRoKQorCisgICAgICAgICAgICAgICAgaWYgc3RhdC5TX0lTRElSKHMuc3RfbW9kZSk6CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKCdkJykKKyAgICAgICAgICAgICAgICBlbGlmIHN0YXQuU19JU0NIUihzLnN0X21vZGUpOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgnYycpCisgICAgICAgICAgICAgICAgZWxpZiBzdGF0LlNfSVNCTEsocy5zdF9tb2RlKToKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goJ2InKQorICAgICAgICAgICAgICAgIGVsaWYgc3RhdC5TX0lTU09DSyhzLnN0X21vZGUpOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgncycpCisgICAgICAgICAgICAgICAgZWxpZiBzdGF0LlNfSVNMTksocy5zdF9tb2RlKToKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goJ2wnKQorICAgICAgICAgICAgICAgIGVsaWYgc3RhdC5TX0lTRklGTyhzLnN0X21vZGUpOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgncCcpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goJy0nKQorCisgICAgICAgICAgICAgICAgZGVmIGFkZF9wZXJtKG1hc2ssIG9uLCBvZmY9Jy0nKToKKyAgICAgICAgICAgICAgICAgICAgaWYgbWFzayAmIHMuc3RfbW9kZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKG9uKQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2gob2ZmKQorCisgICAgICAgICAgICAgICAgYWRkX3Blcm0oc3RhdC5TX0lSVVNSLCAncicpCisgICAgICAgICAgICAgICAgYWRkX3Blcm0oc3RhdC5TX0lXVVNSLCAndycpCisgICAgICAgICAgICAgICAgaWYgc3RhdC5TX0lTVUlEICYgcy5zdF9tb2RlOgorICAgICAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVhVU1IsICdzJywgJ1MnKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGFkZF9wZXJtKHN0YXQuU19JWFVTUiwgJ3gnKQorCisgICAgICAgICAgICAgICAgYWRkX3Blcm0oc3RhdC5TX0lSR1JQLCAncicpCisgICAgICAgICAgICAgICAgYWRkX3Blcm0oc3RhdC5TX0lXR1JQLCAndycpCisgICAgICAgICAgICAgICAgaWYgc3RhdC5TX0lTR0lEICYgcy5zdF9tb2RlOgorICAgICAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVhHUlAsICdzJywgJ1MnKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGFkZF9wZXJtKHN0YXQuU19JWEdSUCwgJ3gnKQorCisgICAgICAgICAgICAgICAgYWRkX3Blcm0oc3RhdC5TX0lST1RILCAncicpCisgICAgICAgICAgICAgICAgYWRkX3Blcm0oc3RhdC5TX0lXT1RILCAndycpCisgICAgICAgICAgICAgICAgaWYgc3RhdC5TX0lTVlRYICYgcy5zdF9tb2RlOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgndCcpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgYWRkX3Blcm0oc3RhdC5TX0lYT1RILCAneCcpCisKKyAgICAgICAgICAgICAgICBpZiBpbmNsdWRlX293bmVyczoKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIiAlMTBzIiAlIHB3ZC5nZXRwd3VpZChzLnN0X3VpZCkucHdfbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIiAlMTBzIiAlIGdycC5nZXRncmdpZChzLnN0X2dpZCkuZ3JfbmFtZSkKKworICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKCIgIikKKyAgICAgICAgICAgICAgICBpZiBzdGF0LlNfSVNCTEsocy5zdF9tb2RlKSBvciBzdGF0LlNfSVNDSFIocy5zdF9tb2RlKToKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIiU5cyIgJSAoIiVkLiVkIiAlIChvcy5tYWpvcihzLnN0X3JkZXYpLCBvcy5taW5vcihzLnN0X3JkZXYpKSkpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIiAiICogOSkKKworICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKCIgIikKKyAgICAgICAgICAgICAgICBpZiBzdGF0LlNfSVNSRUcocy5zdF9tb2RlKToKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIiUxMGQiICUgcy5zdF9zaXplKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKCIgIiAqIDEwKQorCisgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIiAiKQorICAgICAgICAgICAgICAgIGZoID0gaGFzaGxpYi5zaGEyNTYoKQorICAgICAgICAgICAgICAgIGlmIHN0YXQuU19JU1JFRyhzLnN0X21vZGUpOgorICAgICAgICAgICAgICAgICAgICAjIEhhc2ggZmlsZSBjb250ZW50cworICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4ocGF0aCwgJ3JiJykgYXMgZDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBjaHVuayBpbiBpdGVyKGxhbWJkYTogZC5yZWFkKDQwOTYpLCBiIiIpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZoLnVwZGF0ZShjaHVuaykKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goZmguaGV4ZGlnZXN0KCkpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIiAiICogbGVuKGZoLmhleGRpZ2VzdCgpKSkKKworICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKCIgJXMiICUgcGF0aCkKKworICAgICAgICAgICAgICAgIGlmIHN0YXQuU19JU0xOSyhzLnN0X21vZGUpOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiIC0+ICVzIiAlIG9zLnJlYWRsaW5rKHBhdGgpKQorCisgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIlxuIikKKworICAgICAgICAgICAgIyBQcm9jZXNzIHRoaXMgZGlyZWN0b3J5IGFuZCBhbGwgaXRzIGNoaWxkIGZpbGVzCisgICAgICAgICAgICBwcm9jZXNzKHJvb3QpCisgICAgICAgICAgICBmb3IgZiBpbiBmaWxlczoKKyAgICAgICAgICAgICAgICBpZiBmID09ICdmaXhtZXBhdGgnOgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIHByb2Nlc3Mob3MucGF0aC5qb2luKHJvb3QsIGYpKQorICAgIGZpbmFsbHk6CisgICAgICAgIG9zLmNoZGlyKHByZXZfZGlyKQorCisgICAgcmV0dXJuIGguaGV4ZGlnZXN0KCkKKwogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lL3Rlcm1pbmFsLnB5IGIvcG9reS9tZXRhL2xpYi9vZS90ZXJtaW5hbC5weQppbmRleCBjYWViNWUzLi5lNDA0NTU1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lL3Rlcm1pbmFsLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2UvdGVybWluYWwucHkKQEAgLTM5LDcgKzM5LDcgQEAKICAgICAgICAgICAgICAgICByYWlzZQogCiAgICAgZGVmIGZvcm1hdF9jb21tYW5kKHNlbGYsIHNoX2NtZCwgdGl0bGUpOgotICAgICAgICBmbXQgPSB7J3RpdGxlJzogdGl0bGUgb3IgJ1Rlcm1pbmFsJywgJ2NvbW1hbmQnOiBzaF9jbWR9CisgICAgICAgIGZtdCA9IHsndGl0bGUnOiB0aXRsZSBvciAnVGVybWluYWwnLCAnY29tbWFuZCc6IHNoX2NtZCwgJ2N3ZCc6IG9zLmdldGN3ZCgpIH0KICAgICAgICAgaWYgaXNpbnN0YW5jZShzZWxmLmNvbW1hbmQsIHN0cik6CiAgICAgICAgICAgICByZXR1cm4gc2hsZXguc3BsaXQoc2VsZi5jb21tYW5kLmZvcm1hdCgqKmZtdCkpCiAgICAgICAgIGVsc2U6CkBAIC0xMTcsNyArMTE3LDcgQEAKIGNsYXNzIFRtdXhSdW5uaW5nKFRlcm1pbmFsKToKICAgICAiIiJPcGVuIGEgbmV3IHBhbmUgaW4gdGhlIGN1cnJlbnQgcnVubmluZyB0bXV4IHdpbmRvdyIiIgogICAgIG5hbWUgPSAndG11eC1ydW5uaW5nJwotICAgIGNvbW1hbmQgPSAndG11eCBzcGxpdC13aW5kb3cgIntjb21tYW5kfSInCisgICAgY29tbWFuZCA9ICd0bXV4IHNwbGl0LXdpbmRvdyAtYyAie2N3ZH0iICJ7Y29tbWFuZH0iJwogICAgIHByaW9yaXR5ID0gMi43NQogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNoX2NtZCwgdGl0bGU9Tm9uZSwgZW52PU5vbmUsIGQ9Tm9uZSk6CkBAIC0xMzUsNyArMTM1LDcgQEAKIGNsYXNzIFRtdXhOZXdXaW5kb3coVGVybWluYWwpOgogICAgICIiIk9wZW4gYSBuZXcgd2luZG93IGluIHRoZSBjdXJyZW50IHJ1bm5pbmcgdG11eCBzZXNzaW9uIiIiCiAgICAgbmFtZSA9ICd0bXV4LW5ldy13aW5kb3cnCi0gICAgY29tbWFuZCA9ICd0bXV4IG5ldy13aW5kb3cgLW4gInt0aXRsZX0iICJ7Y29tbWFuZH0iJworICAgIGNvbW1hbmQgPSAndG11eCBuZXctd2luZG93IC1jICJ7Y3dkfSIgLW4gInt0aXRsZX0iICJ7Y29tbWFuZH0iJwogICAgIHByaW9yaXR5ID0gMi43MAogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNoX2NtZCwgdGl0bGU9Tm9uZSwgZW52PU5vbmUsIGQ9Tm9uZSk6CkBAIC0xNDksNyArMTQ5LDcgQEAKIAogY2xhc3MgVG11eChUZXJtaW5hbCk6CiAgICAgIiIiU3RhcnQgYSBuZXcgdG11eCBzZXNzaW9uIGFuZCB3aW5kb3ciIiIKLSAgICBjb21tYW5kID0gJ3RtdXggbmV3IC1kIC1zIGRldnNoZWxsIC1uIGRldnNoZWxsICJ7Y29tbWFuZH0iJworICAgIGNvbW1hbmQgPSAndG11eCBuZXcgLWMgIntjd2R9IiAtZCAtcyBkZXZzaGVsbCAtbiBkZXZzaGVsbCAie2NvbW1hbmR9IicKICAgICBwcmlvcml0eSA9IDAuNzUKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzaF9jbWQsIHRpdGxlPU5vbmUsIGVudj1Ob25lLCBkPU5vbmUpOgpAQCAtMTYwLDcgKzE2MCw3IEBACiAgICAgICAgICMgZGV2c2hlbGxzLCBpZiBpdCdzIGFscmVhZHkgdGhlcmUsIGFkZCBhIG5ldyB3aW5kb3cgdG8gaXQuCiAgICAgICAgIHdpbmRvd19uYW1lID0gJ2RldnNoZWxsLSVpJyAlIG9zLmdldHBpZCgpCiAKLSAgICAgICAgc2VsZi5jb21tYW5kID0gJ3RtdXggbmV3IC1kIC1zIHswfSAtbiB7MH0gInt7Y29tbWFuZH19IicuZm9ybWF0KHdpbmRvd19uYW1lKQorICAgICAgICBzZWxmLmNvbW1hbmQgPSAndG11eCBuZXcgLWMgInt7Y3dkfX0iIC1kIC1zIHswfSAtbiB7MH0gInt7Y29tbWFuZH19IicuZm9ybWF0KHdpbmRvd19uYW1lKQogICAgICAgICBUZXJtaW5hbC5fX2luaXRfXyhzZWxmLCBzaF9jbWQsIHRpdGxlLCBlbnYsIGQpCiAKICAgICAgICAgYXR0YWNoX2NtZCA9ICd0bXV4IGF0dCAtdCB7MH0nLmZvcm1hdCh3aW5kb3dfbmFtZSkKQEAgLTI5Niw2ICsyOTYsOCBAQAogICAgICAgICAgICAgdmVybnVtID0gdmVyLnNwbGl0KCcgJylbLTFdCiAgICAgICAgIGlmIHZlci5zdGFydHN3aXRoKCd0bXV4Jyk6CiAgICAgICAgICAgICB2ZXJudW0gPSB2ZXIuc3BsaXQoKVstMV0KKyAgICAgICAgaWYgdmVyLnN0YXJ0c3dpdGgoJ3RtdXggbmV4dC0nKToKKyAgICAgICAgICAgIHZlcm51bSA9IHZlci5zcGxpdCgpWy0xXVs1Ol0KICAgICByZXR1cm4gdmVybnVtCiAKIGRlZiBkaXN0cm9fbmFtZSgpOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZS91dGlscy5weSBiL3Bva3kvbWV0YS9saWIvb2UvdXRpbHMucHkKaW5kZXggOGE1ODRkNi4uY2VkZDA1MyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZS91dGlscy5weQorKysgYi9wb2t5L21ldGEvbGliL29lL3V0aWxzLnB5CkBAIC0yMTQsNyArMjE0LDcgQEAKICAgICBQTi1kYmcgUE4tZG9jIFBOLWxvY2FsZS1lYi1nYiByZW1vdmVkLgogICAgICIiIgogICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKLSAgICBibGFja2xpc3QgPSBbcG4gKyBzdWZmaXggZm9yIHN1ZmZpeCBpbiAoJycsICctZGJnJywgJy1kZXYnLCAnLWRvYycsICctbG9jYWxlJywgJy1zdGF0aWNkZXYnKV0KKyAgICBibGFja2xpc3QgPSBbcG4gKyBzdWZmaXggZm9yIHN1ZmZpeCBpbiAoJycsICctZGJnJywgJy1kZXYnLCAnLWRvYycsICctbG9jYWxlJywgJy1zdGF0aWNkZXYnLCAnLXNyYycpXQogICAgIGxvY2FsZXBrZyA9IHBuICsgIi1sb2NhbGUtIgogICAgIHBrZ3MgPSBbXQogCkBAIC0zMDcsNiArMzA3LDEwIEBACiAgICAgICAgICAgICBwLnN0YXJ0KCkKICAgICAgICAgICAgIGxhdW5jaGVkLmFwcGVuZChwKQogICAgICAgICBmb3IgcSBpbiBsYXVuY2hlZDoKKyAgICAgICAgICAgICMgSGF2ZSB0byBtYW51YWxseSBjYWxsIHVwZGF0ZSgpIHRvIGF2b2lkIGRlYWRsb2Nrcy4gVGhlIHBpcGUgY2FuIGJlIGZ1bGwgYW5kCisgICAgICAgICAgICAjIHRyYW5zZmVyIHN0YWxsZWQgdW50aWwgd2UgdHJ5IGFuZCByZWFkIHRoZSByZXN1bHRzIG9iamVjdCBidXQgdGhlIHN1YnByb2Nlc3Mgd29uJ3QgZXhpdAorICAgICAgICAgICAgIyBhcyBpdCBzdGlsbCBoYXMgZGF0YSB0byB3cml0ZSAoaHR0cHM6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWU4NDI2KQorICAgICAgICAgICAgcS51cGRhdGUoKQogICAgICAgICAgICAgIyBUaGUgZmluaXNoZWQgcHJvY2Vzc2VzIGFyZSBqb2luZWQgd2hlbiBjYWxsaW5nIGlzX2FsaXZlKCkKICAgICAgICAgICAgIGlmIG5vdCBxLmlzX2FsaXZlKCk6CiAgICAgICAgICAgICAgICAgaWYgcS5leGNlcHRpb246CkBAIC0zMjYsNyArMzMwLDcgQEAKIAogZGVmIHNxdWFzaHNwYWNlcyhzdHJpbmcpOgogICAgIGltcG9ydCByZQotICAgIHJldHVybiByZS5zdWIoIlxzKyIsICIgIiwgc3RyaW5nKS5zdHJpcCgpCisgICAgcmV0dXJuIHJlLnN1YihyIlxzKyIsICIgIiwgc3RyaW5nKS5zdHJpcCgpCiAKIGRlZiBmb3JtYXRfcGtnX2xpc3QocGtnX2RpY3QsIHJldF9mb3JtYXQ9Tm9uZSk6CiAgICAgb3V0cHV0ID0gW10KQEAgLTM2MywxNCArMzY3LDE4IEBACiAgICAgICAgIHJldHVybgogCiAgICAgY29tcGlsZXIgPSBkLmdldFZhcigiQlVJTERfQ0MiKQorICAgICMgR2V0IHJpZCBvZiBjY2FjaGUgc2luY2UgaXQgaXMgbm90IHByZXNlbnQgd2hlbiBwYXJzaW5nLgorICAgIGlmIGNvbXBpbGVyLnN0YXJ0c3dpdGgoJ2NjYWNoZSAnKToKKyAgICAgICAgY29tcGlsZXIgPSBjb21waWxlcls3Ol0KICAgICB0cnk6CiAgICAgICAgIGVudiA9IG9zLmVudmlyb24uY29weSgpCiAgICAgICAgIGVudlsiUEFUSCJdID0gZC5nZXRWYXIoIlBBVEgiKQotICAgICAgICBvdXRwdXQgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgiJXMgLS12ZXJzaW9uIiAlIGNvbXBpbGVyLCBzaGVsbD1UcnVlLCBlbnY9ZW52KS5kZWNvZGUoInV0Zi04IikKKyAgICAgICAgb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoIiVzIC0tdmVyc2lvbiIgJSBjb21waWxlciwgXAorICAgICAgICAgICAgICAgICAgICBzaGVsbD1UcnVlLCBlbnY9ZW52LCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpLmRlY29kZSgidXRmLTgiKQogICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgogICAgICAgICBiYi5mYXRhbCgiRXJyb3IgcnVubmluZyAlcyAtLXZlcnNpb246ICVzIiAlIChjb21waWxlciwgZS5vdXRwdXQuZGVjb2RlKCJ1dGYtOCIpKSkKIAotICAgIG1hdGNoID0gcmUubWF0Y2goIi4qIChcZFwuXGQpXC5cZC4qIiwgb3V0cHV0LnNwbGl0KCdcbicpWzBdKQorICAgIG1hdGNoID0gcmUubWF0Y2gociIuKiAoXGRcLlxkKVwuXGQuKiIsIG91dHB1dC5zcGxpdCgnXG4nKVswXSkKICAgICBpZiBub3QgbWF0Y2g6CiAgICAgICAgIGJiLmZhdGFsKCJDYW4ndCBnZXQgY29tcGlsZXIgdmVyc2lvbiBmcm9tICVzIC0tdmVyc2lvbiBvdXRwdXQiICUgY29tcGlsZXIpCiAKQEAgLTQ4MiwzICs0OTAsNiBAQAogCiAgICAgICAgIHJldHVybiBtc2cKIAorZGVmIHNoX3F1b3RlKHN0cmluZyk6CisgICAgaW1wb3J0IHNobGV4CisgICAgcmV0dXJuIHNobGV4LnF1b3RlKHN0cmluZykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9jb250cm9sbGVycy9tYXN0ZXJpbWFnZS5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9jb250cm9sbGVycy9tYXN0ZXJpbWFnZS5weQppbmRleCBhMjkxMmZjLi5mMTc1ZTExIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvY29udHJvbGxlcnMvbWFzdGVyaW1hZ2UucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL2NvbnRyb2xsZXJzL21hc3RlcmltYWdlLnB5CkBAIC0xOTcsNDMgKzE5NywzIEBACiAgICAgICAgIHNlbGYucG93ZXJfY3ljbGUoc2VsZi5tYXN0ZXIpCiAgICAgICAgICMgdGhlcmUgYXJlIGJldHRlciB3YXlzIHRoYW4gYSB0aW1lb3V0IGJ1dCB0aGlzIHNob3VsZCB3b3JrIGZvciBub3cKICAgICAgICAgdGltZS5zbGVlcCgxMjApCi0KLQotY2xhc3MgU3lzdGVtZGJvb3RUYXJnZXQoTWFzdGVySW1hZ2VIYXJkd2FyZVRhcmdldCk6Ci0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgZCk6Ci0gICAgICAgIHN1cGVyKFN5c3RlbWRib290VGFyZ2V0LCBzZWxmKS5fX2luaXRfXyhkKQotICAgICAgICAjIHRoaXMgdGhlIHZhbHVlIHdlIG5lZWQgdG8gc2V0IGluIHRoZSBMb2FkZXJFbnRyeU9uZVNob3QgRUZJIHZhcmlhYmxlCi0gICAgICAgICMgc28gdGhlIHN5c3RlbSBib290cyB0aGUgJ3Rlc3QnIGJvb3Rsb2FkZXIgbGFiZWwgYW5kIG5vdCB0aGUgZGVmYXVsdAotICAgICAgICAjIFRoZSBmaXJzdCBmb3VyIGJ5dGVzIGFyZSBFRkkgYml0cywgYW5kIHRoZSByZXN0IGlzIGFuIHV0Zi0xNmxlIHN0cmluZwotICAgICAgICAjIChFRkkgdmFycyB2YWx1ZXMgbmVlZCB0byBiZSB1dGYtMTYpCi0gICAgICAgICMgJCBlY2hvIC1lbiAidGVzdFwwIiB8IGljb252IC1mIGFzY2lpIC10IHV0Zi0xNmxlIHwgaGV4ZHVtcCAtQwotICAgICAgICAjIDAwMDAwMDAwICA3NCAwMCA2NSAwMCA3MyAwMCA3NCAwMCAgMDAgMDAgICAgICAgICAgICAgICAgICAgIHx0LmUucy50Li4ufAotICAgICAgICBzZWxmLmVmaXZhcnZhbHVlID0gcidceDA3XHgwMFx4MDBceDAwXHg3NFx4MDBceDY1XHgwMFx4NzNceDAwXHg3NFx4MDBceDAwXHgwMCcKLSAgICAgICAgc2VsZi5kZXBsb3lfY21kcyA9IFsKLSAgICAgICAgICAgICAgICAnbW91bnQgLUwgYm9vdCAvYm9vdCcsCi0gICAgICAgICAgICAgICAgJ21rZGlyIC1wIC9tbnQvdGVzdHJvb3RmcycsCi0gICAgICAgICAgICAgICAgJ21vdW50IC1MIHRlc3Ryb290ZnMgL21udC90ZXN0cm9vdGZzJywKLSAgICAgICAgICAgICAgICAnbW9kcHJvYmUgZWZpdmFyZnMnLAotICAgICAgICAgICAgICAgICdtb3VudCAtdCBlZml2YXJmcyBlZml2YXJmcyAvc3lzL2Zpcm13YXJlL2VmaS9lZml2YXJzJywKLSAgICAgICAgICAgICAgICAnY3Agfi90ZXN0LWtlcm5lbCAvYm9vdCcsCi0gICAgICAgICAgICAgICAgJ3JtIC1yZiAvbW50L3Rlc3Ryb290ZnMvKicsCi0gICAgICAgICAgICAgICAgJ3RhciB4dmYgfi90ZXN0LXJvb3Rmcy4lcyAtQyAvbW50L3Rlc3Ryb290ZnMnICUgc2VsZi5pbWFnZV9mc3R5cGUsCi0gICAgICAgICAgICAgICAgJ3ByaW50ZiAiJXMiID4gL3N5cy9maXJtd2FyZS9lZmkvZWZpdmFycy9Mb2FkZXJFbnRyeU9uZVNob3QtNGE2N2IwODItMGE0Yy00MWNmLWI2YzctNDQwYjI5YmI4YzRmJyAlIHNlbGYuZWZpdmFydmFsdWUKLSAgICAgICAgICAgICAgICBdCi0KLSAgICBkZWYgX2RlcGxveShzZWxmKToKLSAgICAgICAgIyBtYWtlIHN1cmUgdGhlc2UgYXJlbid0IG1vdW50ZWQKLSAgICAgICAgc2VsZi5tYXN0ZXIucnVuKCJ1bW91bnQgL2Jvb3Q7IHVtb3VudCAvbW50L3Rlc3Ryb290ZnM7IHVtb3VudCAvc3lzL2Zpcm13YXJlL2VmaS9lZml2YXJzOyIpCi0gICAgICAgICMgZnJvbSBub3cgb24sIGV2ZXJ5IGRlcGxveSBjbWQgc2hvdWxkIHJldHVybiAwCi0gICAgICAgICMgZWxzZSBhbiBleGNlcHRpb24gd2lsbCBiZSB0aHJvd24gYnkgc3NoY29udHJvbAotICAgICAgICBzZWxmLm1hc3Rlci5pZ25vcmVfc3RhdHVzID0gRmFsc2UKLSAgICAgICAgc2VsZi5tYXN0ZXIuY29weV90byhzZWxmLnJvb3RmcywgIn4vdGVzdC1yb290ZnMuIiArIHNlbGYuaW1hZ2VfZnN0eXBlKQotICAgICAgICBzZWxmLm1hc3Rlci5jb3B5X3RvKHNlbGYua2VybmVsLCAifi90ZXN0LWtlcm5lbCIpCi0gICAgICAgIGZvciBjbWQgaW4gc2VsZi5kZXBsb3lfY21kczoKLSAgICAgICAgICAgIHNlbGYubWFzdGVyLnJ1bihjbWQpCi0KLSAgICBkZWYgX3N0YXJ0KHNlbGYsIHBhcmFtcz1Ob25lKToKLSAgICAgICAgc2VsZi5wb3dlcl9jeWNsZShzZWxmLm1hc3RlcikKLSAgICAgICAgIyB0aGVyZSBhcmUgYmV0dGVyIHdheXMgdGhhbiBhIHRpbWVvdXQgYnV0IHRoaXMgc2hvdWxkIHdvcmsgZm9yIG5vdwotICAgICAgICB0aW1lLnNsZWVwKDEyMCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9jb3JlL3RhcmdldC9xZW11LnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL2NvcmUvdGFyZ2V0L3FlbXUucHkKaW5kZXggNTM4YmYxMi4uN2ExNjFhMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL2NvcmUvdGFyZ2V0L3FlbXUucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL2NvcmUvdGFyZ2V0L3FlbXUucHkKQEAgLTEzLDcgKzEzLDcgQEAKIAogY2xhc3MgT0VRZW11VGFyZ2V0KE9FU1NIVGFyZ2V0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBzZXJ2ZXJfaXAsIHRpbWVvdXQ9MzAwLCB1c2VyPSdyb290JywKLSAgICAgICAgICAgIHBvcnQ9Tm9uZSwgbWFjaGluZT0nJywgcm9vdGZzPScnLCBrZXJuZWw9JycsIGt2bT1GYWxzZSwKKyAgICAgICAgICAgIHBvcnQ9Tm9uZSwgbWFjaGluZT0nJywgcm9vdGZzPScnLCBrZXJuZWw9JycsIGt2bT1GYWxzZSwgc2xpcnA9RmFsc2UsCiAgICAgICAgICAgICBkdW1wX2Rpcj0nJywgZHVtcF9ob3N0X2NtZHM9JycsIGRpc3BsYXk9JycsIGJvb3Rsb2c9JycsCiAgICAgICAgICAgICB0bXBkaXI9JycsIGRpcl9pbWFnZT0nJywgYm9vdHRpbWU9NjAsICoqa3dhcmdzKToKIApAQCAtMjUsMTcgKzI1LDMzIEBACiAgICAgICAgIHNlbGYucm9vdGZzID0gcm9vdGZzCiAgICAgICAgIHNlbGYua2VybmVsID0ga2VybmVsCiAgICAgICAgIHNlbGYua3ZtID0ga3ZtCisgICAgICAgIHNlbGYudXNlX3NsaXJwID0gc2xpcnAKIAogICAgICAgICBzZWxmLnJ1bm5lciA9IFFlbXVSdW5uZXIobWFjaGluZT1tYWNoaW5lLCByb290ZnM9cm9vdGZzLCB0bXBkaXI9dG1wZGlyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwbG95X2Rpcl9pbWFnZT1kaXJfaW1hZ2UsIGRpc3BsYXk9ZGlzcGxheSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ZpbGU9Ym9vdGxvZywgYm9vdHRpbWU9Ym9vdHRpbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2Vfa3ZtPWt2bSwgZHVtcF9kaXI9ZHVtcF9kaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2Vfa3ZtPWt2bSwgdXNlX3NsaXJwPXNsaXJwLCBkdW1wX2Rpcj1kdW1wX2RpciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1bXBfaG9zdF9jbWRzPWR1bXBfaG9zdF9jbWRzLCBsb2dnZXI9bG9nZ2VyKQogCi0gICAgZGVmIHN0YXJ0KHNlbGYsIHBhcmFtcz1Ob25lLCBleHRyYV9ib290cGFyYW1zPU5vbmUpOgotICAgICAgICBpZiBzZWxmLnJ1bm5lci5zdGFydChwYXJhbXMsIGV4dHJhX2Jvb3RwYXJhbXM9ZXh0cmFfYm9vdHBhcmFtcyk6CisgICAgZGVmIHN0YXJ0KHNlbGYsIHBhcmFtcz1Ob25lLCBleHRyYV9ib290cGFyYW1zPU5vbmUsIHJ1bnFlbXVwYXJhbXM9JycpOgorICAgICAgICBpZiBzZWxmLnVzZV9zbGlycCBhbmQgbm90IHNlbGYuc2VydmVyX2lwOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IoIkNvdWxkIG5vdCBzdGFydCBxZW11IHdpdGggc2xpcnAgd2l0aG91dCBzZXJ2ZXIgaXAgLSBwcm92aWRlICdURVNUX1NFUlZFUl9JUCciKQorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJGQUlMRUQgdG8gc3RhcnQgcWVtdSAtIGNoZWNrIHRoZSB0YXNrIGxvZyBhbmQgdGhlIGJvb3QgbG9nIikKKyAgICAgICAgaWYgc2VsZi5ydW5uZXIuc3RhcnQocGFyYW1zLCBleHRyYV9ib290cGFyYW1zPWV4dHJhX2Jvb3RwYXJhbXMsIHJ1bnFlbXVwYXJhbXM9cnVucWVtdXBhcmFtcyk6CiAgICAgICAgICAgICBzZWxmLmlwID0gc2VsZi5ydW5uZXIuaXAKLSAgICAgICAgICAgIHNlbGYuc2VydmVyX2lwID0gc2VsZi5ydW5uZXIuc2VydmVyX2lwCisgICAgICAgICAgICBpZiBzZWxmLnVzZV9zbGlycDoKKyAgICAgICAgICAgICAgICB0YXJnZXRfaXBfcG9ydCA9IHNlbGYucnVubmVyLmlwLnNwbGl0KCc6JykKKyAgICAgICAgICAgICAgICBpZiBsZW4odGFyZ2V0X2lwX3BvcnQpID09IDI6CisgICAgICAgICAgICAgICAgICAgIHRhcmdldF9pcCA9IHRhcmdldF9pcF9wb3J0WzBdCisgICAgICAgICAgICAgICAgICAgIHBvcnQgPSB0YXJnZXRfaXBfcG9ydFsxXQorICAgICAgICAgICAgICAgICAgICBzZWxmLmlwID0gdGFyZ2V0X2lwCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc3NoID0gc2VsZi5zc2ggKyBbJy1wJywgcG9ydF0KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zY3AgPSBzZWxmLnNjcCArIFsnLVAnLCBwb3J0XQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmVycm9yKCJDb3VsZCBub3QgZ2V0IGhvc3QgbWFjaGluZSBwb3J0IHRvIGNvbm5lY3QgcWVtdSB3aXRoIHNsaXJwLCBzc2ggd2lsbCBub3QgYmUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWJsZSB0byBjb25uZWN0IHRvIHFlbXUgd2l0aCBzbGlycCIpCisgICAgICAgICAgICBpZiBzZWxmLnJ1bm5lci5zZXJ2ZXJfaXA6CisgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaXAgPSBzZWxmLnJ1bm5lci5zZXJ2ZXJfaXAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuc3RvcCgpCiAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIkZBSUxFRCB0byBzdGFydCBxZW11IC0gY2hlY2sgdGhlIHRhc2sgbG9nIGFuZCB0aGUgYm9vdCBsb2ciKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL2NvcmUvdXRpbHMvY29uY3VycmVuY3l0ZXN0LnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL2NvcmUvdXRpbHMvY29uY3VycmVuY3l0ZXN0LnB5CmluZGV4IGYwNTAyODkuLmUwNTA4MTggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9jb3JlL3V0aWxzL2NvbmN1cnJlbmN5dGVzdC5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvY29yZS91dGlscy9jb25jdXJyZW5jeXRlc3QucHkKQEAgLTI1LDYgKzI1LDcgQEAKIGZyb20gc3VidW5pdCBpbXBvcnQgUHJvdG9jb2xUZXN0Q2FzZSwgVGVzdFByb3RvY29sQ2xpZW50CiBmcm9tIHN1YnVuaXQudGVzdF9yZXN1bHRzIGltcG9ydCBBdXRvVGltaW5nVGVzdFJlc3VsdERlY29yYXRvcgogZnJvbSB0ZXN0dG9vbHMgaW1wb3J0IFRocmVhZHNhZmVGb3J3YXJkaW5nUmVzdWx0LCBpdGVyYXRlX3Rlc3RzCitmcm9tIG9lcWEudXRpbHMuY29tbWFuZHMgaW1wb3J0IGdldF90ZXN0X2xheWVyCiAKIGltcG9ydCBiYi51dGlscwogaW1wb3J0IG9lLnBhdGgKQEAgLTE0MSw2ICsxNDIsOSBAQAogCiBkZWYgZm9ya19mb3JfdGVzdHMoY29uY3VycmVuY3lfbnVtLCBzdWl0ZSk6CiAgICAgcmVzdWx0ID0gW10KKyAgICBpZiAnQlVJTERESVInIGluIG9zLmVudmlyb246CisgICAgICAgIHNlbGZ0ZXN0ZGlyID0gZ2V0X3Rlc3RfbGF5ZXIoKQorCiAgICAgdGVzdF9ibG9ja3MgPSBwYXJ0aXRpb25fdGVzdHMoc3VpdGUsIGNvbmN1cnJlbmN5X251bSkKICAgICAjIENsZWFyIHRoZSB0ZXN0cyBmcm9tIHRoZSBvcmlnaW5hbCBzdWl0ZSBzbyBpdCBkb2Vzbid0IGtlZXAgdGhlbSBhbGl2ZQogICAgIHN1aXRlLl90ZXN0c1s6XSA9IFtdCkBAIC0xNjYsNyArMTcwLDYgQEAKICAgICAgICAgICAgICAgICBpZiAnQlVJTERESVInIGluIG9zLmVudmlyb246CiAgICAgICAgICAgICAgICAgICAgIGJ1aWxkZGlyID0gb3MuZW52aXJvblsnQlVJTERESVInXQogICAgICAgICAgICAgICAgICAgICBuZXdidWlsZGRpciA9IGJ1aWxkZGlyICsgIi1zdC0iICsgc3RyKG91cnBpZCkKLSAgICAgICAgICAgICAgICAgICAgc2VsZnRlc3RkaXIgPSBvcy5wYXRoLmFic3BhdGgoYnVpbGRkaXIgKyAiLy4uL21ldGEtc2VsZnRlc3QiKQogICAgICAgICAgICAgICAgICAgICBuZXdzZWxmdGVzdGRpciA9IG5ld2J1aWxkZGlyICsgIi9tZXRhLXNlbGZ0ZXN0IgogCiAgICAgICAgICAgICAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihuZXdidWlsZGRpcikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvYnNwLWh3Lmpzb24gYi9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL2JzcC1ody5qc29uCmluZGV4IGEyYjFkM2UuLjRiN2M3NmYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvYnNwLWh3Lmpzb24KKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9ic3AtaHcuanNvbgpAQCAtMSw3ICsxLDcgQEAKIFsKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtdG9vbHMucnBtXy1fX2luc3RhbGxfZGVwZW5kZW5jeV9wYWNrYWdlIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LnJwbV8tX19pbnN0YWxsX2RlcGVuZGVuY3lfcGFja2FnZSIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtMjcsNyArMjcsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuYm9vdF9hbmRfaW5zdGFsbF9mcm9tX1VTQiIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5ib290X2FuZF9pbnN0YWxsX2Zyb21fVVNCIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC02MSw3ICs2MSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5saXZlX2Jvb3RfZnJvbV9VU0IiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcubGl2ZV9ib290X2Zyb21fVVNCIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAianVhbi5mZXJuYW5kb3gucmFtb3MuZnJheWxlQGludGVsLmNvbSIsCkBAIC04Nyw3ICs4Nyw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5ib290X2Zyb21fcnVubGV2ZWxfMyIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5ib290X2Zyb21fcnVubGV2ZWxfMyIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtMTIxLDcgKzEyMSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5ib290X2Zyb21fcnVubGV2ZWxfNSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5ib290X2Zyb21fcnVubGV2ZWxfNSIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtMTUxLDcgKzE1MSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5zaHV0ZG93bl9zeXN0ZW0iLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuc2h1dGRvd25fc3lzdGVtIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC0xNzMsNyArMTczLDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLnJlYm9vdF9zeXN0ZW0iLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcucmVib290X3N5c3RlbSIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtMTk1LDcgKzE5NSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5zd2l0Y2hfYW1vbmdfbXVsdGlfYXBwbGljYXRpb25zX2FuZF9kZXNrdG9wIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LnN3aXRjaF9hbW9uZ19tdWx0aV9hcHBsaWNhdGlvbnNfYW5kX2Rlc2t0b3AiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTIyNSw3ICsyMjUsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuVVNCXy1fbW91bnQiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuVVNCXy1fbW91bnQiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTI1MSw3ICsyNTEsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuVVNCXy1fcmVhZF9maWxlcyIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5VU0JfLV9yZWFkX2ZpbGVzIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC0yODEsNyArMjgxLDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLlVTQl8tX3Vtb3VudCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5VU0JfLV91bW91bnQiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTMwNyw3ICszMDcsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuVVNCXy1fd3JpdGVfZmlsZXMiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuVVNCXy1fd3JpdGVfZmlsZXMiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTMzMyw3ICszMzMsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuZXRoZXJuZXRfc3RhdGljX2lwX3NldF9pbl9jb25ubWFuIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LmV0aGVybmV0X3N0YXRpY19pcF9zZXRfaW5fY29ubm1hbiIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtMzY3LDcgKzM2Nyw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5ldGhlcm5ldF9nZXRfSVBfaW5fY29ubm1hbl92aWFfREhDUCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5ldGhlcm5ldF9nZXRfSVBfaW5fY29ubm1hbl92aWFfREhDUCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtMzk3LDcgKzM5Nyw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtdG9vbHMuY29ubm1hbl9vZmZsaW5lX21vZGVfaW5fY29ubm1hbi1nbm9tZSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5jb25ubWFuX29mZmxpbmVfbW9kZV9pbl9jb25ubWFuLWdub21lIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC00MTksNyArNDE5LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLlhfc2VydmVyX2Nhbl9zdGFydF91cF93aXRoX3J1bmxldmVsXzVfYm9vdCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5YX3NlcnZlcl9jYW5fc3RhcnRfdXBfd2l0aF9ydW5sZXZlbF81X2Jvb3QiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTQ0MSw3ICs0NDEsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuc3RhbmRieSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5zdGFuZGJ5IiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC00NzUsNyArNDc1LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLmNoZWNrX0NQVV91dGlsaXphdGlvbl9hZnRlcl9zdGFuZGJ5IiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LmNoZWNrX0NQVV91dGlsaXphdGlvbl9hZnRlcl9zdGFuZGJ5IiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC01MDUsNyArNTA1LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLlRlc3RfaWZfTEFOX2RldmljZV93b3Jrc193ZWxsX2FmdGVyX3Jlc3VtZV9mcm9tX3N1c3BlbmRfc3RhdGUiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuVGVzdF9pZl9MQU5fZGV2aWNlX3dvcmtzX3dlbGxfYWZ0ZXJfcmVzdW1lX2Zyb21fc3VzcGVuZF9zdGF0ZSIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtNTM1LDcgKzUzNSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5UZXN0X2lmX3VzYl9oaWRfZGV2aWNlX3dvcmtzX3dlbGxfYWZ0ZXJfcmVzdW1lX2Zyb21fc3VzcGVuZF9zdGF0ZSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5UZXN0X2lmX3VzYl9oaWRfZGV2aWNlX3dvcmtzX3dlbGxfYWZ0ZXJfcmVzdW1lX2Zyb21fc3VzcGVuZF9zdGF0ZSIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtNTY1LDcgKzU2NSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtdG9vbHMuY2xpY2tfdGVybWluYWxfaWNvbl9vbl9YX2Rlc2t0b3AiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuY2xpY2tfdGVybWluYWxfaWNvbl9vbl9YX2Rlc2t0b3AiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTU4Nyw3ICs1ODcsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXRvb2xzLkFkZF9tdWx0aXBsZV9maWxlc19pbl9tZWRpYV9wbGF5ZXIiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuQWRkX211bHRpcGxlX2ZpbGVzX2luX21lZGlhX3BsYXllciIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtNjEzLDcgKzYxMyw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5jaGVja19iYXNoX2luX2ltYWdlIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LmNoZWNrX2Jhc2hfaW5faW1hZ2UiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTYzMSw3ICs2MzEsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuTWljcm9TRF8tX19tb3VudCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5NaWNyb1NEXy1fX21vdW50IiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC02NTMsNyArNjUzLDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLk1pY3JvU0RfLV9fcmVhZF9maWxlcyIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5NaWNyb1NEXy1fX3JlYWRfZmlsZXMiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTY4Myw3ICs2ODMsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuTWljcm9TRF8tX191bW91bnQiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuTWljcm9TRF8tX191bW91bnQiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTcxMyw3ICs3MTMsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuTWljcm9TRF8tX193cml0ZV9maWxlcyIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5NaWNyb1NEXy1fX3dyaXRlX2ZpbGVzIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC03NDMsNyArNzQzLDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy52aWRlb18tX2xpYnZhX2NoZWNrXyhvZ2dfdmlkZW9fcGxheSkiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcudmlkZW9fLV9saWJ2YV9jaGVja18ob2dnX3ZpZGVvX3BsYXkpIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC03NjksMjkgKzc2OSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtdG9vbHMubWVkaWFfcGxheWVyXy1fdW5hYmxlX3RvX3BsYXlfTVBFRy0xX3dpdGhvdXRfXCJjb21tZXJjaWFsXCJfZmxhZyIsCi0gICAgICAgICAgICAiYXV0aG9yIjogWwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLAotICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAiZXhlY3V0aW9uIjogewotICAgICAgICAgICAgICAgICIxIjogewotICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkNvcHkgc2FtcGxlIE1QRUctMSBmaWxlIHRvIGEgc3lzdGVtIHdpdGhvdXQgdGhlIFwiY29tbWVyY2lhbFwiIGZsYWcuIiwKLSAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIjIiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiTGF1bmNoIG1lZGlhIHBsYXllciBhbmQgbWFrZSBzdXJlIGl0IGNhbm5vdCBwbGF5IHRoZSBNUEVHLTEgZmlsZS4iLAotICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJNUEVHLTEgZmlsZSBjYW4gbm90IGJlIHBsYXllZCBvbiBpbWFnZXMgd2l0aG91dCB0aGUgXCJjb21tZXJjaWFsXCIgZmxhZy4gIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAic3VtbWFyeSI6ICJtZWRpYV9wbGF5ZXJfLV91bmFibGVfdG9fcGxheV9NUEVHLTFfd2l0aG91dF9cImNvbW1lcmNpYWxcIl9mbGFnIgotICAgICAgICB9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtdG9vbHMubWVkaWFfcGxheWVyXy1fcGxheV92aWRlb18ob2d2KSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5tZWRpYV9wbGF5ZXJfLV9wbGF5X3ZpZGVvXyhvZ3YpIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC04MTMsNyArNzkxLDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy5tZWRpYV9wbGF5ZXJfLV9zdG9wL3BsYXlfYnV0dG9uXyhvZ3YpIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3Lm1lZGlhX3BsYXllcl8tX3N0b3AvcGxheV9idXR0b25fKG9ndikiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTg0Myw3ICs4MjEsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXRvb2xzLmF1ZGlvXy1fcGxheV8ob2dnKV93aXRoX0hETUkiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuYXVkaW9fLV9wbGF5XyhvZ2cpX3dpdGhfSERNSSIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtODY5LDcgKzg0Nyw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtdG9vbHMuYXVkaW9fLV9wbGF5Xyh3YXYpX3dpdGhfSERNSSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5hdWRpb18tX3BsYXlfKHdhdilfd2l0aF9IRE1JIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC04OTUsNyArODczLDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy5HcmFwaGljc18tX0FCQVQiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuR3JhcGhpY3NfLV9BQkFUIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC05MjEsNyArODk5LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy5HcmFwaGljc18tX3gxMXBlcmZfLV8yRCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5HcmFwaGljc18tX3gxMXBlcmZfLV8yRCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtOTQzLDMzICs5MjEsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLW9lLWNvcmUuVGVzdF9SdW5fSW50ZWdyaXR5Xy1fQ2hlY2tfdGhhdF9pbWFnZV9pc19idWlsZGFibGUiLAotICAgICAgICAgICAgImF1dGhvciI6IFsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJjb3JuZWxpdXguc3RvaWNlc2N1QGludGVsLmNvbSIsCi0gICAgICAgICAgICAgICAgICAgICJuYW1lIjogImNvcm5lbGl1eC5zdG9pY2VzY3VAaW50ZWwuY29tIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAiZXhlY3V0aW9uIjogewotICAgICAgICAgICAgICAgICIxIjogewotICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgaW1hZ2UgY2FuIGJlIGJ1aWx0IHVzaW5nIGVpdGhlciBvZiB0aGUgZm9sbG93aW5nIG1ldGhvZHM6ICBcblxuIiwKLSAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIjIiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBpbWFnZSBpcyBidWlsdCBieSBhdXRvYnVpbGRlciBcblBsZWFzZSBjaGVjayBhdDogaHR0cHM6Ly9hdXRvYnVpbGRlci55b2N0by5pby9wdWIvcmVsZWFzZXMvIFxuQ2hvb3NlIHRoZSB0YXJnZXQgcmVsZWFzZSB0aGF0IHlvdSBhcmUgdmFsaWRhdGluZy4gIFxuXG4iLAotICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiMyI6IHsKLSAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBpbWFnZSB5b3Vyc2VsZiBcblByZWZlcnJlZCB0byBidWlsZCBhbiBjb3JlLWltYWdlLXNhdG8tZGV2IHRvIGVhc2UgdGhlIHByb2Nlc3Mgb2YgdGhlIGRlcGVuZGVudCB0ZXN0IGNhc2VzIGluIHRoaXMgcnVuLiBcbk5vdGU6IFBsZWFzZSBzZXQgTUFDSElORSBpbiBjb25mL2xvY2FsLmNvbmYgIiwKLSAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiSWYgZWl0aGVyIG1ldGhvZCBmYWlscywgdGhpcyB0ZXN0IGNhc2Ugd2lsbCBiZSBmYWlsZWQgYW5kIGRlcGVuZGVudCB0ZXN0IGNhc2VzIHdpbGwgYmUgYmxvY2tlZC4gIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAic3VtbWFyeSI6ICJUZXN0X1J1bl9JbnRlZ3JpdHlfLV9DaGVja190aGF0X2ltYWdlX2lzX2J1aWxkYWJsZSIKLSAgICAgICAgfQotICAgIH0sCi0gICAgewotICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuQ2hlY2tfaWZfU0FUQV9kaXNrX2Nhbl93b3JrX2NvcnJlY3RseSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5DaGVja19pZl9TQVRBX2Rpc2tfY2FuX3dvcmtfY29ycmVjdGx5IiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAieWkuemhhb0B3aW5kcml2ZXIuY29tIiwKQEAgLTk5OSw3ICs5NTEsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuSW5zdGFsbF9hbmRfYm9vdF9mcm9tX1VTQi1kcml2ZV90b19IREQtZHJpdmUiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuSW5zdGFsbF9hbmRfYm9vdF9mcm9tX1VTQi1kcml2ZV90b19IREQtZHJpdmUiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJkYXZpZC5pc3JhZWx4LnJvZHJpZ3Vlei5jYXN0ZWxsYW5vc0BpbnRlbC5jb20iLApAQCAtMTA0MSw3ICs5OTMsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuSW5zdGFsbF9hbmRfYm9vdF9mcm9tX1VTQi1kcml2ZV90b19TRC1kcml2ZSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5JbnN0YWxsX2FuZF9ib290X2Zyb21fVVNCLWRyaXZlX3RvX1NELWRyaXZlIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiZGF2aWQuaXNyYWVseC5yb2RyaWd1ZXouY2FzdGVsbGFub3NAaW50ZWwuY29tIiwKQEAgLTEwODMsNyArMTAzNSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5UZXN0X2Jvb3Rfb25fc2VyaWFsX2NvbW11bmljYXRpb25fU0QiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuVGVzdF9ib290X29uX3NlcmlhbF9jb21tdW5pY2F0aW9uX1NEIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAianVhbi5mZXJuYW5kb3gucmFtb3MuZnJheWxlQGludGVsLmNvbSIsCkBAIC0xMTAxLDcgKzEwNTMsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuVGVzdF9ib290X29uX3NlcmlhbF9jb21tdW5pY2F0aW9uX0hERCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5UZXN0X2Jvb3Rfb25fc2VyaWFsX2NvbW11bmljYXRpb25fSEREIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAianVhbi5mZXJuYW5kb3gucmFtb3MuZnJheWxlQGludGVsLmNvbSIsCkBAIC0xMTE5LDcgKzEwNzEsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuVGVzdF9ib290X29uX3NlcmlhbF9jb21tdW5pY2F0aW9uX1VTQiIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5UZXN0X2Jvb3Rfb25fc2VyaWFsX2NvbW11bmljYXRpb25fVVNCIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAianVhbi5mZXJuYW5kb3gucmFtb3MuZnJheWxlQGludGVsLmNvbSIsCkBAIC0xMTUzLDcgKzExMDUsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuVGVzdF9TZWVrX2Jhcl9hbmRfdm9sdW1lX2NvbnRyb2wiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuVGVzdF9TZWVrX2Jhcl9hbmRfdm9sdW1lX2NvbnRyb2wiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJqdWFuLmZlcm5hbmRveC5yYW1vcy5mcmF5bGVAaW50ZWwuY29tIiwKQEAgLTExOTYsNSArMTE0OCwxMzkgQEAKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAic3VtbWFyeSI6ICJUZXN0X1NlZWtfYmFyX2FuZF92b2x1bWVfY29udHJvbCIKICAgICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgICAidGVzdCI6IHsKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LkNoZWNrX2lmX3dhdGNoZG9nX2Nhbl9yZXNldF90aGVfdGFyZ2V0X3N5c3RlbSIsCisgICAgICAgICAgICAiYXV0aG9yIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogInlpLnpoYW9Ad2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInlpLnpoYW9Ad2luZHJpdmVyLmNvbSIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiMSI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICIxLkNoZWNrIGlmIHdhdGNoZG9nIGRldmljZSBleGlzdCBpbiAvZGV2LyBkaXJlY3RvcnkuIFJ1biBjb21tYW5kIGVjaG8gMSA+IC9kZXYvd2F0Y2hkb2cgYW5kIHdhaXQgZm9yIDYwcy4gVGhlbiwgdGhlIHRhcmdldCB3aWxsIHJlYm9vdC4iLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUaGUgd2F0Y2hkb2cgZGV2aWNlIGV4aXN0IGluIC9kZXYvIGRpcmVjdG9yeSBhbmQgY2FuIHJlYm9vdCB0aGUgdGFyZ2V0LlxuIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3VtbWFyeSI6ICJDaGVja19pZl93YXRjaGRvZ19jYW5fcmVzZXRfdGhlX3RhcmdldF9zeXN0ZW0iCisgICAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICAgInRlc3QiOiB7CisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5DaGVja19pZl9SVENfKFJlYWxfVGltZV9DbG9jaylfY2FuX3dvcmtfY29ycmVjdGx5IiwKKyAgICAgICAgICAgICJhdXRob3IiOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAieWkuemhhb0B3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAieWkuemhhb0B3aW5kcml2ZXIuY29tIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAgICAgICAgICIxIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlJlYWQgdGltZSBmcm9tIFJUQyByZWdpc3RlcnMuICByb290QGxvY2FsaG9zdDovcm9vdD4gaHdjbG9jayAtciAgU3VuIE1hciAyMiAwNDowNTo0NyAxOTcwIC0wLjAwMTk0OCBzZWNvbmRzICIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkNhbiByZWFkIGFuZCBzZXQgdGhlIHRpbWUgZnJvbSBSVEMuXG4iCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiMiI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJTZXQgc3lzdGVtIGN1cnJlbnQgdGltZSAgcm9vdEBsb2NhbGhvc3Q6L3Jvb3Q+IGRhdGUgMDYyMzA5NDUyMDA4ICIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIzIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlN5bmNocm9uaXplIHRoZSBzeXN0ZW0gY3VycmVudCB0aW1lIHRvIFJUQyByZWdpc3RlcnMgIHJvb3RAbG9jYWxob3N0Oi9yb290PiBod2Nsb2NrIC13ICIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICI0IjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlJlYWQgdGltZSBmcm9tIFJUQyByZWdpc3RlcnMgIHJvb3RAbG9jYWxob3N0Oi9yb290PiBod2Nsb2NrIC1yICIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICI1IjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlJlYm9vdCB0YXJnZXQgYW5kIHJlYWQgdGltZSBmcm9tIFJUQyBhZ2FpblxuIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3VtbWFyeSI6ICJDaGVja19pZl9SVENfKFJlYWxfVGltZV9DbG9jaylfY2FuX3dvcmtfY29ycmVjdGx5IgorICAgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAgICJ0ZXN0IjogeworICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuQ2hlY2tfaWZfdGFyZ2V0X2Nhbl9zdXBwb3J0X0VFUFJPTSIsCisgICAgICAgICAgICAiYXV0aG9yIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogInlpLnpoYW9Ad2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInlpLnpoYW9Ad2luZHJpdmVyLmNvbSIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiMSI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayBlZXByb20gZGV2aWNlIGV4aXN0IGluIC9zeXMvYnVzL2kyYy9kZXZpY2VzLyAiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJIZXhkdW1wIGNhbiByZWFkIGRhdGEgZnJvbSBlZXByb20uXG4iCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiMiI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJSdW4gXCJoZXhkdW1wIGVlcHJvbVwiIGNvbW1hbmRyb290QG1wYzgzMTVlLXJkYjovc3lzL2J1cy9pMmMvZGV2aWNlcy8xLTAwNTE+IGhleGR1bXAgZWVwcm9tMDAwMDAwMCA5MjEwIDBiMDIgMDIxMSAwMDA5IDBiNTIgMDEwOCAwYzAwIDNjMDAwMDAwMDEwIDY5NzggNjkzMCA2OTExIDIwOGMgNzAwMyAzYzNjIDAwZjAgODM4MVx1MjAyNlxuIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3VtbWFyeSI6ICJDaGVja19pZl90YXJnZXRfY2FuX3N1cHBvcnRfRUVQUk9NIgorICAgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAgICJ0ZXN0IjogeworICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuU3lzdGVtX2Nhbl9ib290X3VwX3ZpYV9ORlMiLAorICAgICAgICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJ5aS56aGFvQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ5aS56aGFvQHdpbmRyaXZlci5jb20iCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICAgICAgICAgIjEiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiQ29ubmVjdCB0aGUgYm9hcmQncyBmaXJzdCBzZXJpYWwgcG9ydCB0byB5b3VyIHdvcmtzdGF0aW9uIGFuZCB0aGVuIHN0YXJ0IHVwIHlvdXIgZmF2b3VyaXRlIHNlcmlhbCB0ZXJtaW5hbCBzbyB0aGF0IHlvdSB3aWxsIGJlIGFibGUgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgc2VyaWFsIGNvbnNvbGUuIElmIHlvdSBkb24ndCBoYXZlIGEgZmF2b3VyaXRlLCBwaWNvY29tIGlzIHN1Z2dlc3RlZDogICAkIHBpY29jb20gL2Rldi90dHlTMCAtYiAxMTUyMDAgIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGhlIHN5c3RlbSBjYW4gYm9vdCB1cCB3aXRob3V0IHByb2JsZW1cbiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIyIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlBvd2VyIHVwIG9yIHJlc2V0IHRoZSBib2FyZCBhbmQgcHJlc3MgYSBrZXkgb24gdGhlIHRlcm1pbmFsIHdoZW4gcHJvbXB0ZWQgdG8gZ2V0IHRvIHRoZSBVLUJvb3QgY29tbWFuZCBsaW5lICIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIzIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlNldCB1cCB0aGUgZW52aXJvbm1lbnQgaW4gVS1Cb290OiAgPT4gc2V0ZW52IGlwYWRkciAgID0+IHNldGVudiBzZXJ2ZXJpcCAgICIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICI0IjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkRvd25sb2FkIHRoZSBrZXJuZWwgYW5kIGJvb3Q6ICA9PiB0ZnRwIHRmdHAgJGxvYWRhZGRyIHZtbGludXggPT4gYm9vdG9jdGxpbnV4ICRsb2FkYWRkciBjb3JlbWFzaz0weDMgcm9vdD0vZGV2L25mcyBydyBuZnNyb290PTogaXA9Ojo6OmVkZ2Vyb3V0ZXI6ZXRoMDpvZmYgbXRkcGFydHM9cGh5c19tYXBwZWRfZmxhc2g6NTEyayhib290MCksNTEyayhib290MSksNjRrQDMwNzJrKGVlcHJvbSlcbiIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInN1bW1hcnkiOiAiU3lzdGVtX2Nhbl9ib290X3VwX3ZpYV9ORlMiCisgICAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICAgInRlc3QiOiB7CisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5Cb290X2Zyb21fSkZGUzJfaW1hZ2UiLAorICAgICAgICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJ5aS56aGFvQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ5aS56aGFvQHdpbmRyaXZlci5jb20iCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICAgICAgICAgIjEiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiRmlyc3QgYm9vdCB0aGUgYm9hcmQgd2l0aCBORlMgcm9vdC4gIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGhlIHN5c3RlbSBjYW4gYm9vdCB1cCB3aXRob3V0IHByb2JsZW1cbiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIyIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkluc3RhbGwgbXRkLXV0aWxzIHBhY2thZ2UuIEVyYXNlIHRoZSBNVEQgcGFydGl0aW9uIHdoaWNoIHdpbGwgYmUgdXNlZCBhcyByb290OiAkIGZsYXNoX2VyYXNlYWxsIC9kZXYvbXRkMyAiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiMyI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJDb3B5IHRoZSBKRkZTMiBpbWFnZSB0byB0aGUgTVREIHBhcnRpdGlvbjogJCBmbGFzaGNwIGNvcmUtaW1hZ2UtbWluaW1hbC1tcGM4MzE1ZS1yZGIuamZmczIgL2Rldi9tdGQzICIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICI0IjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlRoZW4gcmVib290IHRoZSBib2FyZCBhbmQgc2V0IHVwIHRoZSBlbnZpcm9ubWVudCBpbiBVLUJvb3Q6ID0+IHNldGVudiBib290YXJncyByb290PS9kZXYvbXRkYmxvY2szIHJvb3Rmc3R5cGU9amZmczIgY29uc29sZT10dHlTMCwxMTUyMDAgIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3VtbWFyeSI6ICJCb290X2Zyb21fSkZGUzJfaW1hZ2UiCisgICAgICAgIH0KICAgICB9CiBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9idWlsZC1hcHBsaWFuY2UuanNvbiBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvYnVpbGQtYXBwbGlhbmNlLmpzb24KaW5kZXggYjhmODkyNy4uNzBmOGM3MiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9idWlsZC1hcHBsaWFuY2UuanNvbgorKysgYi9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL2J1aWxkLWFwcGxpYW5jZS5qc29uCkBAIC0xLDMyICsxLDYgQEAKIFsKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJidWlsZC1hcHBsaWFuY2UuYnVpbGQtYXBwbGlhbmNlLkJpdGJha2VfYnVpbGQtYXBwbGlhbmNlLWltYWdlIiwKLSAgICAgICAgICAgICJhdXRob3IiOiBbCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCi0gICAgICAgICAgICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJleGVjdXRpb24iOiB7Ci0gICAgICAgICAgICAgICAgIjEiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiR2V0IHBva3kgc291cmNlIGNvZGUgYW5kIHByZXBhcmUgdGhlIGJ1aWxkIGVudmlyb25tZW50IiwKLSAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiYml0YmFrZSBidWlsZC1hcHBsaWFuY2UtaW1hZ2UgaXMgc3VjY2Vzc2Z1bCAgIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIjIiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiU2V0IE1BQ0hJTkUgdG8gcWVtdXg4NiBhbmQgYWRkIHRoZSBmb2xsb3dpbmcgbGluZSB0byBjb25mL2xvY2FsLmNvbmYgOiAgU1JDUkVWX3BuLWJ1aWxkLWFwcGxpYW5jZS1pbWFnZSA9IFwiJHtBVVRPUkVWfVwiIiwKLSAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIjMiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiUnVuIFwiYml0YmFrZSBidWlsZC1hcHBsaWFuY2UtaW1hZ2VcIiBcbiBcbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgInN1bW1hcnkiOiAiQml0YmFrZV9idWlsZC1hcHBsaWFuY2UtaW1hZ2UiCi0gICAgICAgIH0KLSAgICB9LAotICAgIHsKLSAgICAgICAgInRlc3QiOiB7CiAgICAgICAgICAgICAiQGFsaWFzIjogImJ1aWxkLWFwcGxpYW5jZS5idWlsZC1hcHBsaWFuY2UuQnVpbGRfY29yZS1pbWFnZS1taW5pbWFsX3dpdGhfYnVpbGQtYXBwbGlhbmNlLWltYWdlIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9jb21wbGlhbmNlLXRlc3QuanNvbiBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvY29tcGxpYW5jZS10ZXN0Lmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTgyZjBiNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvY29tcGxpYW5jZS10ZXN0Lmpzb24KQEAgLTAsMCArMSwxOTQgQEAKK1sKKyAgICB7CisgICAgICAgICJ0ZXN0IjogeworICAgICAgICAgICAgIkBhbGlhcyI6ICJjb21wbGlhbmNlLXRlc3QuY29tcGxpYW5jZS10ZXN0LkxUUF9zdWJzZXRfdGVzdF9zdWl0ZSIsCisgICAgICAgICAgICAiYXV0aG9yIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImNvcm5lbGl1eC5zdG9pY2VzY3VAaW50ZWwuY29tIiwKKyAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICAgICAgICAgIjEiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiRm9yIHJlYWwgaGFyZHdhcmUsIHJ1biBmb2xsb3dpbmcgY29tcG9uZW50LCBcbnN5c2NhbGxzIFxuZnMgXG5mc3ggXG5kaW8gXG5pbyBcbm1tIFxuaXBjIFxuc2NoZWQgXG5tYXRoIFxubnB0bCBcbnB0eSBcbmFkbWluX3Rvb2xzIFxudGltZXJzIFxuY29tbWFuZHMgIFxuXG5Gb3IgUUVNVSwgcnVuIGZvbGxvd2luZyBjb21wb25lbnQgXG5zeXNjYWxscyBcbm1tIFxuaXBjIFxuc2NoZWQgXG5tYXRoIFxubnB0bCBcbnB0eSBcbmFkbWluX3Rvb2xzIFxuY29tbWFuZHMgXG5cblJ1biBJbnN0cnVjdGlvbnM6IFxuTFRQIGRvd25sb2FkOiBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2x0cC9maWxlcy9MVFAlMjBTb3VyY2UvbHRwLTIwMTIwNDAxL2x0cC1mdWxsLTIwMTIwNDAxLmJ6Mi9kb3dubG9hZCAgXG5cbihsaW5rIGlzIG91dGRhdGVkLCBhbHdheXMgdXNlIHRoZSBsYXN0IHZlcnNpb24gcmVsZWFzZWQgb3IgdGhlIG9uZSBmb3VuZCBpbiB0aGUgaW1hZ2UpICBcblxuXG5cbmJ1aWxkIHN0ZXBzOiByZWZlciB0byBodHRwOi8vbHRwLnNvdXJjZWZvcmdlLm5ldCAgXG5cblJ1biBzdGVwczoiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiMiI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBMVFAgd2l0aCB0b29sY2hhaW4gb3IgaW4gc2RrIGltYWdlLiBPciB1c2UgYSBzYXRvLXNkayBpbWFnZSB3aGljaCBoYXMgTFRQIGFscmVhZHkgaW5jbHVkZWQgaW4gL29wdC9sdHAiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiMyI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJGb3IgUUVNVSwgY3JlYXRlIHRoZSBxZW11IHRhcmdldCB3aXRoIFwiLW0gNTEyXCIsIHdoaWNoIG1ha2VzIHNvbWUgbWVtb3J5IHN0cmVzcyBjYXNlcyBwYXNzLiBGb3Igc29tZSBpc3N1ZXMsIHdlIGNvdWxkIG9ubHkgc2V0IDEyOE0gZm9yIHFlbXVhcm0gYW5kIDI1Nk0gZm9yIHFlbXVtaXBzLiIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICI0IjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkNvcHkgTFRQIGZvbGRlciBpbnRvIHRhcmdldCwgZm9yIGV4YW1wbGUsIC9vcHQvbHRwIGlmIHlvdSBoYXZlIGJ1aWx0IGl0IHlvdXJzZWxmLiBNb2RpZnkgdGhlIGRlZmF1bHQgc2NlbmFyaW8gZmlsZSBcInNjZW5hcmlvX2dyb3Vwcy9kZWZhdWx0XCIsIHJlbW92ZSB0ZXN0IHN1aXRlcyBub3QgdG8gYmUgdGVzdGVkIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjUiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiQ29tbWVudCBydW50ZXN0cy9zY2hlZDogaGFja2JlbmNoLCB3aGljaCBpcyBub3Qgc3VpdGFibGUgdG8gcnVuIGluIGVtdWxhdG9ycy4gUmVtaW5kZXIgKGNvbW1lbnQgaXQgYWxzbyBmb3IgU3VnYXJiYXkgRGV2aWNlcykuIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjYiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiQ29tbWVudCBvb20wMSwgb29tMDIsIG9vbTAzLCBvb20wNCBpbiBydW50ZXN0L21tLCB3aGljaCBjb25zdW1lIGxvdHMgb2YgbWVtb3J5IiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjciOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiRnJvbSAvb3B0L2x0cCBydW46IC4vcnVubHRwIC1wIC1sIHJlc3VsdC1NMi0yMDEwMTIxOC5sb2cgLUMgcmVzdWx0LU0yLTIwMTAxMjE4LmZhaWwgLWQgL29wdC9sdHAvdG1wICY+IHJlc3VsdC1NMi0yMDEwMTIxOC5mdWxsbG9nIFxuXG4iLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJDaGVjayB0aGUgcmVzdWx0IG9uIHdpa2ksIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvTFRQX3Jlc3VsdCwgdGhlcmUgc2hvdWxkIGJlIG5vIHJlZ3Jlc3Npb24gZmFpbHVyZSBtZXQuIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3VtbWFyeSI6ICJMVFBfc3Vic2V0X3Rlc3Rfc3VpdGUiCisgICAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICAgInRlc3QiOiB7CisgICAgICAgICAgICAiQGFsaWFzIjogImNvbXBsaWFuY2UtdGVzdC5jb21wbGlhbmNlLXRlc3QuUE9TSVhfc3Vic2V0X3Rlc3Rfc3VpdGUiLAorICAgICAgICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJjb3JuZWxpdXguc3RvaWNlc2N1QGludGVsLmNvbSIsCisgICAgICAgICAgICAgICAgICAgICJuYW1lIjogImNvcm5lbGl1eC5zdG9pY2VzY3VAaW50ZWwuY29tIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAgICAgICAgICIxIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkluIGEgc2F0by1zZGsgaW1hZ2UgZ28gdG8gL29wdC9sdHAgb3IgZ2V0IGxhdGVzdCBMVFAgc291cmNlY29kZSwgIGRvd25sb2FkIGxvY2F0aW9uIGlzICBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2x0cC9maWxlcy9MVFAlMjBTb3VyY2UvICBhbmQgaW5zdGFsbCBpdC4iLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiMiI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJHbyBpbnRvIHRoZSBmb2xkZXIgb2YgTFRQLCBhbmQgcG9zaXhfdGVzdHN1aXRlIGlzIHVuZGVyIHRlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS8iLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiMyI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJSdW4gY29ubm1hbmQ6IG1ha2UgZ2VuZXJhdGUtbWFrZWZpbGVzIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjQiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiUnVuIGNvbm5tYW5kOiBtYWtlIGNvbmZvcm1hbmNlLWFsbCIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICI1IjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlJ1biBjb25ubWFuZDogbWFrZSBjb25mb3JtYW5jZS10ZXN0ICh0aGlzIHN0ZXAgbWF5IHNob3cgZXJyb3JzLCBpZ25vcmUgdGhlbSkiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiNiI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJSdW4gY29ubm1hbmQ6IG1ha2UgdG9vbHMtYWxsIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjciOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiUnVuIGNvbm5tYW5kOiBzaCBwb3NpeC5zaCA+IHBvc2l4LmxvZywgcG9zaXguc2ggYXMgYmVsb3c6ICBcbiBcbiMhL2Jpbi9zaCBcbi4vYmluL3J1bi1wb3NpeC1vcHRpb24tZ3JvdXAtdGVzdC5zaCBBSU8gXG4uL2Jpbi9ydW4tcG9zaXgtb3B0aW9uLWdyb3VwLXRlc3Quc2ggTUVNIFxuLi9iaW4vcnVuLXBvc2l4LW9wdGlvbi1ncm91cC10ZXN0LnNoIE1TRyBcbi4vYmluL3J1bi1wb3NpeC1vcHRpb24tZ3JvdXAtdGVzdC5zaCBTRU0gXG4uL2Jpbi9ydW4tcG9zaXgtb3B0aW9uLWdyb3VwLXRlc3Quc2ggU0lHIFxuLi9iaW4vcnVuLXBvc2l4LW9wdGlvbi1ncm91cC10ZXN0LnNoIFRIUiBcbi4vYmluL3J1bi1wb3NpeC1vcHRpb24tZ3JvdXAtdGVzdC5zaCBUTVIgXG4uL2Jpbi9ydW4tcG9zaXgtb3B0aW9uLWdyb3VwLXRlc3Quc2ggVFBTICBcbiBcbiIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICI4IjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoZSBwb3NpeC5sb2cgYWZ0ZXIgdGVzdGluZyBpcyBmaW5pc2hlZCIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkNvbXBhcmUgdGhlIHRlc3QgcmVzdWx0IG9uIHdpa2ksIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvUG9zaXhfcmVzdWx0LCB0aGVyZSBzaG91bGQgYmUgbm8gbW9yZSByZWdyZXNzaW9uIGZhaWx1cmVzIG1ldC4iCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIlBPU0lYX3N1YnNldF90ZXN0X3N1aXRlIgorICAgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAgICJ0ZXN0IjogeworICAgICAgICAgICAgIkBhbGlhcyI6ICJjb21wbGlhbmNlLXRlc3QuY29tcGxpYW5jZS10ZXN0LkxTQl9zdWJzZXRfdGVzdF9zdWl0ZSIsCisgICAgICAgICAgICAiYXV0aG9yIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImNvcm5lbGl1eC5zdG9pY2VzY3VAaW50ZWwuY29tIiwKKyAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICAgICAgICAgIjEiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiR2V0IGxzZC1zZGsgaW1hZ2UgYW5kIGluc3RhbGwgaXQgb24gdGFyZ2V0IGRldmljZSBvciBzdGFydCB0aGUgaW1hZ2UoaWYgaXQgaXMgUUVNVSkgd2l0aCBvcHRpb24gXCItbSA1MTJNXCIiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiMiI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJDb21tZW50IGluIC9vcHQvbHNiLXRlc3Qvc2Vzc2lvbiBhbnkgdGVzdHMgeW91IGRvbid0IHdhbnQgdG8gcnVuLiIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIzIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlJ1biAvdXNyL2Jpbi9MU0JfVGVzdC5zaCB3aGljaCBzaG91bGQgZG93bmxvYWQgdGhlIExTQiBzdWl0ZSBhbmQgc2V0IGl0IHVwLiBTb21lIHBhY2thZ2VzIG1heSBmYWlsIHRvIGRvd25sb2FkIGJlY2F1c2UgdGhlaXIgbG9jYXRpb24gY2hhbmdlZCBvbiBmdHAubGludXhmb3VuZGF0aW9uLm9yZy4gWW91IG5lZWQgdG8gbWFudWFsbHkgdXBkYXRlIC9vcHQvbHNiLXRlc3QvcGFja2FnZXNfbGlzdCIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICI0IjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlRlc3RzIHNob3VsZCBzdGFydCBhdXRvbWF0aWNhbGx5LCB5b3UgY2FuIHVzZSB0aGUgd2ViIGludGVyZmFjZSB0byByZWNvbmZpZ3VyZSB0aGUgc2V0dXAuICIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkNoZWNrIHRoZSByZXN1bHQgb24gd2lraSBodHRwczovL3dpa2kueW9jdG9wcm9qZWN0Lm9yZy93aWtpL0xTQl9SZXN1bHQgTm8gcmVncmVzc2lvbiBmYWlsdXJlcyBzaG91bGQgYmUgbWV0LiIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInN1bW1hcnkiOiAiTFNCX3N1YnNldF90ZXN0X3N1aXRlIgorICAgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAgICJ0ZXN0IjogeworICAgICAgICAgICAgIkBhbGlhcyI6ICJjb21wbGlhbmNlLXRlc3QuY29tcGxpYW5jZS10ZXN0LnN0cmVzc190ZXN0Xy1fR2VuZXJpY3g4Ni02NCIsCisgICAgICAgICAgICAiYXV0aG9yIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImNvcm5lbGl1eC5zdG9pY2VzY3VAaW50ZWwuY29tIiwKKyAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICAgICAgICAgIjEiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiQm9vdHVwIHdpdGggY29yZS1pbWFnZS1sc2Itc2RrIGltYWdlIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjIiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiRXhlY3V0ZSB0aGUgY3Jhc2htZSB0ZXN0IHdpdGggYmVsb3cgY29tbWFuZCAgXG5cbi4vb3B0L2x0cC9ydW5sdHAgZiAgY3Jhc2htZSIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRoZSBzdHJlc3MgdGVzdGluZyBzaG91bGQgbm90IG1ha2UgdGhlIHRhcmdldCBjcmFzaC4gQ2hlY2sgQ1BVIHVzYWdlIGFuZCBiYXNpYyBmdW5jdGlvbmFsaXR5IG9mIHRoZSBzeXN0ZW0gYWZ0ZXIgdGhlIHRlc3RzIGFyZSBvdmVyLiAiCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzdW1tYXJ5IjogInN0cmVzc190ZXN0Xy1fR2VuZXJpY3g4Ni02NCIKKyAgICAgICAgfQorICAgIH0sCisgICAgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAiY29tcGxpYW5jZS10ZXN0LmNvbXBsaWFuY2UtdGVzdC5zdHJlc3NfdGVzdF8tXy0gY3Jhc2htZV8tXy1CZWFnbGVib25lIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImNvcm5lbGl1eC5zdG9pY2VzY3VAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgR2V0IGNyYXNobWUgZnJvbSBodHRwOi8vcGVvcGxlLmRlbHBoaWZvcnVtcy5jb20vZ2pjL2NyYXNobWUuaHRtbCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZvbGxvdyB0aGUgc2V0dXAgc3RlcHMgb24gYWJvdmUgVVJMLCBidWlsZCBjcmFzaG1lIGluIHRhcmdldCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBSdW4gY3Jhc2htZSBmb3IgMjQgaG91cnMiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRhcmdldCBzaG91bGQgbm90IGNyYXNoIHdpdGggdGhlIHByb2dyYW0uIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAic3RyZXNzX3Rlc3RfLV9jcmFzaG1lXy1CZWFnbGVib25lIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJjb21wbGlhbmNlLXRlc3QuY29tcGxpYW5jZS10ZXN0LnN0cmVzc190ZXN0Xy1fbHRwXy1CZWFnbGVib25lIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImNvcm5lbGl1eC5zdG9pY2VzY3VAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBMVFAgd2l0aCB0b29sY2hhaW4gb3IgaW4gc2RrIGltYWdlIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ29weSBMVFAgZm9sZGVyIGludG8gdGFyZ2V0LCBmb3IgZXhhbXBsZSwgL29wdC9sdHAuIE1vZGlmeSBzY3JpcHQsICB0ZXN0c2NyaXB0cy9sdHBzdHJlc3Muc2gsIHNldCBJb3N0YXQ9MSwgTk9fTkVUV09SSz0xIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiY2QgdGVzdHNjcmlwdHMvICYmIC4vbHRwc3RyZXNzLnNoIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUaGlzIHN0cmVzcyBjYXNlIHdpbGwgcnVuIGZvciAyNCBob3VycyBDaGVjayB0aGUgcmVzdWx0XG50YXJnZXQgc2hvdWxkIG5vdCBjcmFzaCB3aXRoIHRoZSBwcm9ncmFtICIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInN0cmVzc190ZXN0Xy1fLWx0cF8tQmVhZ2xlYm9uZSIKKyAgICB9CisgIH0KK10KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL2tlcm5lbC1kZXYuanNvbiBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwva2VybmVsLWRldi5qc29uCmluZGV4IGM5M2I0ZGQuLjBkZDk5MTkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwva2VybmVsLWRldi5qc29uCisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwva2VybmVsLWRldi5qc29uCkBAIC0xLDcgKzEsNyBAQAogWwogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1jb25maWd1cmF0aW9uLmtlcm5lbC1jb25maWd1cmF0aW9uLlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfZGVmY29uZmlnIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWRldi5rZXJuZWwtZGV2Lktlcm5lbF9kZXZfZGVmY29uZmlnIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiZWUucGVuZy55ZW9oQGludGVsLmNvbSIsCkBAIC0xOCwxMiArMTgsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUmV2aWV3IGV4cGVjdGVkIHJlc3VsdHMgb24gdGhldGhlIFwiS2VybmVsIERldmVsb3BtZW50IFRlc3QgQ2FzZXNcIndpa2kuIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvS2VybmVsX0RldmVsb3BtZW50X1Rlc3RfQ2FzZXMjRXhwZWN0ZWRfUmVzdWx0c183IgogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAic3VtbWFyeSI6ICJUQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X2RlZmNvbmZpZyIKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIktlcm5lbF9kZXZfZGVmY29uZmlnIgogICAgICAgICB9CiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtY29uZmlndXJhdGlvbi5rZXJuZWwtY29uZmlndXJhdGlvbi5UQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X2RlZmNvbmZpZytmcmFnbWVudHMiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtZGV2Lmtlcm5lbC1kZXYuS2VybmVsX2Rldl9kZWZjb25maWcrZnJhZ21lbnRzIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiZWUucGVuZy55ZW9oQGludGVsLmNvbSIsCkBAIC00MCwxMiArNDAsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUmV2aWV3IGV4cGVjdGVkIHJlc3VsdHMgb24gdGhldGhlIFwiS2VybmVsIERldmVsb3BtZW50IFRlc3QgQ2FzZXNcIndpa2kuIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvS2VybmVsX0RldmVsb3BtZW50X1Rlc3RfQ2FzZXMjRXhwZWN0ZWRfUmVzdWx0c184IgogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAic3VtbWFyeSI6ICJUQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X2RlZmNvbmZpZytmcmFnbWVudHMiCisgICAgICAgICAgICAic3VtbWFyeSI6ICJLZXJuZWxfZGV2X2RlZmNvbmZpZytmcmFnbWVudHMiCiAgICAgICAgIH0KICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1jb25maWd1cmF0aW9uLmtlcm5lbC1jb25maWd1cmF0aW9uLlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfQXBwbHlpbmdfcGF0Y2hlcyIsCisgICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1kZXYua2VybmVsLWRldi5LZXJuZWxfZGV2X0FwcGx5aW5nX3BhdGNoZXMiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJlZS5wZW5nLnllb2hAaW50ZWwuY29tIiwKQEAgLTYyLDEyICs2MiwxMiBAQAogICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZXZpZXcgZXhwZWN0ZWQgcmVzdWx0cyBvbiB0aGV0aGUgXCJLZXJuZWwgRGV2ZWxvcG1lbnQgVGVzdCBDYXNlc1wid2lraS4gaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9LZXJuZWxfRGV2ZWxvcG1lbnRfVGVzdF9DYXNlcyNFeHBlY3RlZF9SZXN1bHRzIgogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAic3VtbWFyeSI6ICJUQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X0FwcGx5aW5nX3BhdGNoZXMiCisgICAgICAgICAgICAic3VtbWFyeSI6ICJLZXJuZWxfZGV2X0FwcGx5aW5nX3BhdGNoZXMiCiAgICAgICAgIH0KICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1jb25maWd1cmF0aW9uLmtlcm5lbC1jb25maWd1cmF0aW9uLlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfbGludXgteW9jdG8tbG9jYWwtc291cmNlIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWRldi5rZXJuZWwtZGV2Lktlcm5lbF9kZXZfbGludXgteW9jdG8tbG9jYWwtc291cmNlIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiZWUucGVuZy55ZW9oQGludGVsLmNvbSIsCkBAIC04NCwxMiArODQsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUmV2aWV3IGV4cGVjdGVkIHJlc3VsdHMgb24gdGhldGhlIFwiS2VybmVsIERldmVsb3BtZW50IFRlc3QgQ2FzZXNcIndpa2kuIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvS2VybmVsX0RldmVsb3BtZW50X1Rlc3RfQ2FzZXMjRXhwZWN0ZWRfUmVzdWx0c18yIgogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAic3VtbWFyeSI6ICJUQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X2xpbnV4LXlvY3RvLWxvY2FsLXNvdXJjZSIKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIktlcm5lbF9kZXZfbGludXgteW9jdG8tbG9jYWwtc291cmNlIgogICAgICAgICB9CiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtY29uZmlndXJhdGlvbi5rZXJuZWwtY29uZmlndXJhdGlvbi5UQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X2xpbnV4LXlvY3RvLWN1c3RvbS1sb2NhbC1zb3VyY2UiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtZGV2Lmtlcm5lbC1kZXYuS2VybmVsX2Rldl9saW51eC15b2N0by1jdXN0b20tbG9jYWwtc291cmNlIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiZWUucGVuZy55ZW9oQGludGVsLmNvbSIsCkBAIC0xMDYsMTIgKzEwNiwxMiBAQAogICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZXZpZXcgZXhwZWN0ZWQgcmVzdWx0cyBvbiB0aGV0aGUgXCJLZXJuZWwgRGV2ZWxvcG1lbnQgVGVzdCBDYXNlc1wid2lraS4gaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9LZXJuZWxfRGV2ZWxvcG1lbnRfVGVzdF9DYXNlcyNFeHBlY3RlZF9SZXN1bHRzXzMiCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfbGludXgteW9jdG8tY3VzdG9tLWxvY2FsLXNvdXJjZSIKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIktlcm5lbF9kZXZfbGludXgteW9jdG8tY3VzdG9tLWxvY2FsLXNvdXJjZSIKICAgICAgICAgfQogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWNvbmZpZ3VyYXRpb24ua2VybmVsLWNvbmZpZ3VyYXRpb24uVENURU1QXzIuM19NQU5VQUxfS2VybmVsX2Rldl9yZWNpcGUtc3BhY2VfbWV0YSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1kZXYua2VybmVsLWRldi5LZXJuZWxfZGV2X3JlY2lwZS1zcGFjZV9tZXRhIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiZWUucGVuZy55ZW9oQGludGVsLmNvbSIsCkBAIC0xMjgsMTIgKzEyOCwxMiBAQAogICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZXZpZXcgZXhwZWN0ZWQgcmVzdWx0cyBvbiB0aGV0aGUgXCJLZXJuZWwgRGV2ZWxvcG1lbnQgVGVzdCBDYXNlc1wid2lraS4gaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9LZXJuZWxfRGV2ZWxvcG1lbnRfVGVzdF9DYXNlcyNFeHBlY3RlZF9SZXN1bHRzXzUiCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfcmVjaXBlLXNwYWNlX21ldGEiCisgICAgICAgICAgICAic3VtbWFyeSI6ICJLZXJuZWxfZGV2X3JlY2lwZS1zcGFjZV9tZXRhIgogICAgICAgICB9CiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtY29uZmlndXJhdGlvbi5rZXJuZWwtY29uZmlndXJhdGlvbi5UQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X0V4dGVybmFsX3NvdXJjZSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1kZXYua2VybmVsLWRldi5LZXJuZWxfZGV2X0V4dGVybmFsX3NvdXJjZSIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImVlLnBlbmcueWVvaEBpbnRlbC5jb20iLApAQCAtMTUwLDEyICsxNTAsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUmV2aWV3IGV4cGVjdGVkIHJlc3VsdHMgb24gdGhldGhlIFwiS2VybmVsIERldmVsb3BtZW50IFRlc3QgQ2FzZXNcIndpa2kuIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvS2VybmVsX0RldmVsb3BtZW50X1Rlc3RfQ2FzZXMjRXhwZWN0ZWRfUmVzdWx0c182IgogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAic3VtbWFyeSI6ICJUQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X0V4dGVybmFsX3NvdXJjZSIKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIktlcm5lbF9kZXZfRXh0ZXJuYWxfc291cmNlIgogICAgICAgICB9CiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtY29uZmlndXJhdGlvbi5rZXJuZWwtY29uZmlndXJhdGlvbi5UQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X2J1aWxkaW5nX2V4dGVybmFsX21vZHVsZXMoaGVsbG8tbW9kKSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1kZXYua2VybmVsLWRldi5LZXJuZWxfZGV2X2J1aWxkaW5nX2V4dGVybmFsX21vZHVsZXMoaGVsbG8tbW9kKSIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImVlLnBlbmcueWVvaEBpbnRlbC5jb20iLApAQCAtMTcyLDEyICsxNzIsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUmV2aWV3IGV4cGVjdGVkIHJlc3VsdHMgb24gdGhldGhlIFwiS2VybmVsIERldmVsb3BtZW50IFRlc3QgQ2FzZXNcIndpa2kuIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvS2VybmVsX0RldmVsb3BtZW50X1Rlc3RfQ2FzZXMjRXhwZWN0ZWRfUmVzdWx0c18xMCIKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9LAotICAgICAgICAgICAgInN1bW1hcnkiOiAiVENURU1QXzIuM19NQU5VQUxfS2VybmVsX2Rldl9idWlsZGluZ19leHRlcm5hbF9tb2R1bGVzKGhlbGxvLW1vZCkiCisgICAgICAgICAgICAic3VtbWFyeSI6ICJLZXJuZWxfZGV2X2J1aWxkaW5nX2V4dGVybmFsX21vZHVsZXMoaGVsbG8tbW9kKSIKICAgICAgICAgfQogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWNvbmZpZ3VyYXRpb24ua2VybmVsLWNvbmZpZ3VyYXRpb24uVENURU1QXzIuM19NQU5VQUxfS2VybmVsX2Rldl9sb2NhbF9wYXJhbGxlbF9tZXRhIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWRldi5rZXJuZWwtZGV2Lktlcm5lbF9kZXZfbG9jYWxfcGFyYWxsZWxfbWV0YSIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImVlLnBlbmcueWVvaEBpbnRlbC5jb20iLApAQCAtMTk0LDcgKzE5NCw3IEBACiAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlJldmlldyBleHBlY3RlZCByZXN1bHRzIG9uIHRoZXRoZSBcIktlcm5lbCBEZXZlbG9wbWVudCBUZXN0IENhc2VzXCJ3aWtpLiBodHRwczovL3dpa2kueW9jdG9wcm9qZWN0Lm9yZy93aWtpL0tlcm5lbF9EZXZlbG9wbWVudF9UZXN0X0Nhc2VzI0V4cGVjdGVkX1Jlc3VsdHNfNCIKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9LAotICAgICAgICAgICAgInN1bW1hcnkiOiAiVENURU1QXzIuM19NQU5VQUxfS2VybmVsX2Rldl9sb2NhbF9wYXJhbGxlbF9tZXRhIgorICAgICAgICAgICAgInN1bW1hcnkiOiAiS2VybmVsX2Rldl9sb2NhbF9wYXJhbGxlbF9tZXRhIgogICAgICAgICB9CiAgICAgfQogXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvc2RrLmpzb24gYi9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL3Nkay5qc29uCmluZGV4IDY0NzU1ODYuLjQzNDk4MmYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvc2RrLmpzb24KKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9zZGsuanNvbgpAQCAtMSw3ICsxLDcgQEAKIFsKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJzZGsuc2RrX3J1bnFlbXUudGVzdF9zZGtfdG9vbGNoYWluX2Nhbl9ydW5fbXVsdGlwbGVfUUVNVV9tYWNoaW5lc191bmRlcl9VTkZTIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAic2RrLnNka19ydW5xZW11LnRlc3RfaW5zdGFsbF9jcm9zc190b29sY2hhaW5fY2FuX3J1bl9tdWx0aXBsZV9xZW11X2Zvcl94ODYiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJlZS5wZW5nLnllb2hAaW50ZWwuY29tIiwKQEAgLTExLDIyICsxMSwyMiBAQAogICAgICAgICAgICAgImV4ZWN1dGlvbiI6IHsKICAgICAgICAgICAgICAgICAiMSI6IHsKICAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJQcmVwYXJlIGtlcm5lbCwgcm9vdGZzIHRhci5iejIgaW1hZ2UsIGFuZCBxZW11IGNvbmZpZ3VyYXRpb24gIFxuICAgIFx0YS4gRG93bmxvYWQga2VybmVsLCByb290ZnMgdGFyLmJ6MiBpbWFnZSBhbmQgcWVtdSBjb25maWd1cmF0aW9uIGZyb20gcHVibGljIGF1dG9idWlsZGVyIHdlYnBhZ2UgIFxuICAgIFx0Yi4gR290byBodHRwczovL2F1dG9idWlsZGVyLnlvY3RvLmlvL3B1Yi9yZWxlYXNlcy88dGFyZ2V0X3JlbGVhc2U+L21hY2hpbmVzL3FlbXUvcWVtdXg4Ni8gXG4gICAgXHRjLiBEb3dubG9hZCAgXG4gICAgXHQgIFx0aS4gcm9vdGZzIHRhci5iejI6IGNvcmUtaW1hZ2Utc2F0by1zZGstcWVtdXg4Ni50YXIuYnoyIFxuICAgICAgXHRcdGlpLiBrZXJuZWw6IGJ6SW1hZ2UtcWVtdXg4Ni5iaW4gXG4gICAgICBcdFx0aWlpLiBxZW11IGNvbmZpZ3VyYXRpb246IGNvcmUtaW1hZ2Utc2F0by1zZGstcWVtdXg4Ni5xZW11Ym9vdC5jb25mICIsCi0gICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRG93bmxvYWQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseS4iCiAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAiMiI6IHsKLSAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJEb3dubG9hZCAmIGluc3RhbGwgc2RrIHRvb2xjaGFpbiBmcm9tIHB1YmxpYyBhdXRvYnVpbGRlciBcbiAgICBcdGEuIEdvdG8gaHR0cHM6Ly9hdXRvYnVpbGRlci55b2N0by5pby9wdWIvcmVsZWFzZXMvPHRhcmdldF9yZWxlYXNlPi90b29sY2hhaW4veDg2XzY0LyBcbiAgICBcdGIuIERvd25sb2FkIHBva3ktZ2xpYmMteDg2XzY0LWNvcmUtaW1hZ2Utc2F0by1zZGstPHR5cGUtYXJjaD4tdG9vbGNoYWluLTxyZWxlYXNlLXZlcnNpb24+LnNoIFxuICAgIFx0Yy4gUnVuIGNvbW1hbmQ6IHBva3ktZ2xpYmMteDg2XzY0LWNvcmUtaW1hZ2Utc2F0by1zZGstPHR5cGUtYXJjaD4tdG9vbGNoYWluLTxyZWxlYXNlLXZlcnNpb24+LnNoIiwKLSAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkRvd25sb2FkICYgaW5zdGFsbCB0b29sY2hhaW4gdGFyYmFsbCBtYXRjaGluZyB5b3VyIGhvc3QgZnJvbSBwdWJsaWMgYXV0b2J1aWxkZXIgXG4gICAgXHRhLiBHb3RvIGh0dHBzOi8vYXV0b2J1aWxkZXIueW9jdG8uaW8vcHViL3JlbGVhc2VzLzx0YXJnZXRfcmVsZWFzZT4vdG9vbGNoYWluL3g4Nl82NC8gXG4gICAgXHRiLiBEb3dubG9hZCBwb2t5LWdsaWJjLXg4Nl82NC1jb3JlLWltYWdlLXNhdG8tPHR5cGUtYXJjaD4tdG9vbGNoYWluLTxyZWxlYXNlLXZlcnNpb24+LnNoIFxuICAgIFx0Yy4gUnVuIGNvbW1hbmQ6IHBva3ktZ2xpYmMteDg2XzY0LWNvcmUtaW1hZ2Utc2F0by08dHlwZS1hcmNoPi10b29sY2hhaW4tPHJlbGVhc2UtdmVyc2lvbj4uc2ggXG4gICAgXHRkLiBBZnRlciBpbnN0YWxsYXRpb24gdG9vbGNoYWluICBSdW4gc291cmNlIGNvbW1hbmQgOiAgIHNvdXJjZSAgL3Rvb2xjaGFpbi1pbnN0YWxsZWQtcGF0aC9lbnZpcm9ubWVudC1zZXR1cC08YXJjaGl0ZWN0dXJlIG5hbWU+LXBva3ktbGludXgiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUb29sY2hhaW4gZ2V0cyBpbnN0YWxsZWQgc3VjY2Vzc2Z1bGx5LiIKICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICIzIjogewogICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkV4dHJhY3Qgcm9vdGZzIHR3aWNlIGludG8gdHdvIGltYWdlcyBcbiAgICBcdGEuIFJ1biAyIGNvbW1hbmRzIGJlbG93OiAgXG4gICAgICAgICAgICAgICAgICBydW5xZW11LWV4dHJhY3Qtc2RrIGNvcmUtaW1hZ2Utc2F0by1zZGstcWVtdXg4Ni50YXIuYnoyIHFlbXV4ODZfcm9vdGZzX2ltYWdlMSAgXG4gICAgICAgICAgICAgICAgICBydW5xZW11LWV4dHJhY3Qtc2RrIGNvcmUtaW1hZ2Utc2F0by1zZGstcWVtdXg4Ni50YXIuYnoyIHFlbXV4ODZfcm9vdGZzX2ltYWdlMiIsCi0gICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQm90aCBpbWFnZXMgYnVpbGQgc3VjY2Vzc2Z1bGx5LiIKICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICI0IjogewotICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIiBGcm9tIHRoZSAyIHRlcm1pbmFscywgc3RhcnQgcWVtdSB0byBib290IHVwIGJvdGggdHdvIGltYWdlcyBcbiAgICBcdGEuIFJ1biAyIGNvbW1hbmRzIGJlbG93OiAgXG4gICAgICAgICAgICAgICAgICBydW5xZW11IGNvcmUtaW1hZ2Utc2F0by1zZGstcWVtdXg4Ni5xZW11Ym9vdC5jb25mIHFlbXV4ODZfcm9vdGZzX2ltYWdlMSAgXG4gICAgICAgICAgICAgICAgICBydW5xZW11IGNvcmUtaW1hZ2Utc2F0by1zZGstcWVtdXg4Ni5xZW11Ym9vdC5jb25mIHFlbXV4ODZfcm9vdGZzX2ltYWdlMiAiLAorICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIiBGcm9tIHRoZSAyIHRlcm1pbmFscywgc3RhcnQgcWVtdSB0byBib290IHVwIGJvdGggdHdvIGltYWdlcyBcbiAgICBcdGEuIFJ1biAyIGNvbW1hbmRzIGJlbG93OiAgXG4gICAgICAgICAgICAgICAgICBydW5xZW11IDxrZXJuZWwtbmFtZT4gY29yZS1pbWFnZS1zYXRvLXNkay1xZW11eDg2LnFlbXVib290LmNvbmYgcWVtdXg4Nl9yb290ZnNfaW1hZ2UxICBcbiAgICAgICAgICAgICAgICAgIHJ1bnFlbXUgPGtlcm5lbC1uYW1lPiBjb3JlLWltYWdlLXNhdG8tc2RrLXFlbXV4ODYucWVtdWJvb3QuY29uZiBxZW11eDg2X3Jvb3Rmc19pbWFnZTIgIiwKICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRXhwZWN0IGJvdGggcWVtdSB0byBib290IHVwIHN1Y2Nlc3NmdWxseS4iCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogInRlc3Rfc2RrX3Rvb2xjaGFpbl9jYW5fcnVuX211bHRpcGxlX1FFTVVfbWFjaGluZXNfdW5kZXJfVU5GUyIKKyAgICAgICAgICAgICJzdW1tYXJ5IjogInRlc3RfaW5zdGFsbF9jcm9zc190b29sY2hhaW5fY2FuX3J1bl9tdWx0aXBsZV9xZW11X2Zvcl94ODYiCiAgICAgICAgIH0KICAgICB9CiBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC90b2FzdGVyLW1hbmFnZWQtbW9kZS5qc29uIGIvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC90b2FzdGVyLW1hbmFnZWQtbW9kZS5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMmY1N2QKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL3RvYXN0ZXItbWFuYWdlZC1tb2RlLmpzb24KQEAgLTAsMCArMSwyNTcyIEBACitbCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkFsbF9sYXllcnM6X2RlZmF1bHRfdmlldyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9uIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gdGhlIFwiVmlldyBjb21wYXRpYmxlIGxheWVyc1wiIGxpbmsgc2l0dWF0ZWQgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSwgbWlkLXBhZ2UsIHVuZGVyIHRoZSBcIlByb2plY3QgY29uZmlndXJhdGlvblwiIG1lbnUsIGluIHRoZSBcIkxheWVyc1wiIHRhYmxlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIHRhYmxlIGlzIHBvcHVsYXRlZCB3aXRoIHRoZSBkZWZhdWx0IGxheWVycyAoZWcuIG1ldGEteW9jdG8tYnNwLCBtZXRhLXlvY3RvKSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgYnkgZGVmYXVsdCB0aGUgZm9sbG93aW5nIGNvbHVtbnMgYXJlIHNob3duOiBMYXllciwgU3VtbWFyeSwgUmV2aXNpb24sIERlcGVuZGVuY2llcyBhbmQgQWRkL0RlbGV0ZSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIFwiUmV2aXNpb25cIiBlbnRyaWVzIG1hdGNoIHRoZSByZWxlYXNlIGVudHJ5IGZyb20gdGhlIG1haW4gcHJvamVjdCBwYWdlLCBpbiB0aGUgcHJvamVjdCBkZXRhaWxzIHNlY3Rpb24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBvbmx5IG9uZSBpbnN0YW5jZSBvZiB0aGUgY29yZSBsYXllcnMgKG9wZW5lbWJlZGRlZC1jb3JlLCBtZXRhLXlvY3RvIGFuZCBtZXRhLXlvY3RvLWJzcCkgc2hvd3MgaW4gdGhpcyB0YWJsZSwgYW5kIHRoYXQgaW5zdGFuY2UgaGFzIGEgYnJhbmNoIHRoYXQgbWF0Y2hlcyB0aGUgc2VsZWN0ZWQgcHJvamVjdCByZWxlYXNlIGZyb20gdGhlIG1haW4gcHJvamVjdCBwYWdlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgaW4gdGhlIFwiRGVwZW5kZW5jaWVzXCIgY29sdW1uIHNvbWUgb2YgdGhlIGxheWVycyBzaG91bGQgaGF2ZSBhIHNxdWFyZSBib3ggd2l0aCBhIG51bWJlciBpbiBpdC4gV2hlbiBjbGlja2luZyBvbiBpdCwgYSBzbWFsbCBwb3B1cCBzaG91bGQgYXBwZWFyIGNvbnRhaW5pbmcgYSBsaXN0IG9mIG90aGVyIGxheWVycyByZXF1aXJlZCBmb3IgdGhpcyBsYXllciB0byB3b3JrLiBFdmVyeSBsYXllciBsaXN0ZWQgaGVyZSBzaG91bGQgYWxzbyBiZSBhIGxpbmsgdG8gdGhlIGxheWVyJ3MgZGV0YWlsIHBhZ2UuIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRnJvbSB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51LCBhY3RpdmF0ZSB0aGUgXCJHaXQgcmVwb3NpdG9yeSBVUkxcIiBhbmQgdGhlIFwiU3ViZGlyZWN0b3J5XCIgY29sdW1ucy4gSW4gXCJHaXQgcmVwb3NpdG9yeSBVUkxcIjogYWxsIHRoZSBlbnRyaWVzIHNob3VsZCBoYXZlIGEgbGluayB0byB0aGUgZXh0ZXJuYWwgc2l0ZSB3aGVyZSB0aGUgbGF5ZXIgd2FzICBkb3dubG9hZGVkIGZyb20uICBTaW1pbGFybHksIGluIFwiU3ViZGlyZWN0b3J5XCIgbGlua3Mgc2hvdWxkIGV4aXN0LCBpZiBhIHN1YmRpcmVjdG9yeSBlbnRyeSBpcyBwcmVzZW50LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQWxsIG1lbnRpb25lZCBlbGVtZW50cyBzaG91bGQgYmUgcHJlc2VudCBhbmQgZnVuY3Rpb25hbC4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJBbGxfbGF5ZXJzOl9kZWZhdWx0X3ZpZXciCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5BbGxfbGF5ZXJzOl9BZGQvZGVsZXRlX2xheWVycyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPbiB0aGUgcHJvamVjdCBwYWdlIGNsaWNrIG9uIHRoZSBcIlZpZXcgY29tcGF0aWJsZSBsYXllcnNcIiBsaW5rIHNpdHVhdGVkIG9uIHRoZSByaWdodC1oYW5kIHNpZGUsIG1pZC1wYWdlLCB1bmRlciB0aGUgXCJQcm9qZWN0IGNvbmZpZ3VyYXRpb25cIiBtZW51cywgaW4gdGhlIFwiTGF5ZXJzXCIgdGFibGUuICBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSBBZGQvZGVsZXRlIGNvbHVtbiBpcyBlbmFibGVkLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWRkIGEgbmV3IGxheWVyIFxuUGljayBhIGxheWVyIHRoYXQgaGFzbid0IGJlZW4gYWRkZWQgdG8gdGhlIHByb2plY3QuIFxuIFxuQ2xpY2sgb24gdGhlIFwiQWRkIGxheWVyXCIgYnV0dG9uIHByZXNlbnQgaW4gdGhlIFwiQWRkL2RlbGV0ZVwiIGNvbHVtbi4gXG5JZiB0aGUgbGF5ZXIgaGFzIHVuc2F0aXNmaWVkIGRlcGVuZGVuY2llcyBhIGRpYWxvZyB3aWxsIGFwcGVhciBsaXN0aW5nIHRoZSBkZXBlbmRlbmNpZXMgKGluIGFscGhhYmV0aWNhbCBvcmRlciksIGVhY2ggb2YgdGhlbSB3aXRoIGEgY2hlY2tib3ggc28gdGhhdCB5b3UgY2FuIHNlbGVjdCAvIGRlc2VsZWN0IHRoZW0uIEFsbCBjaGVja2JveGVzIGFyZSBjaGVja2VkIGJ5IGRlZmF1bHQuIElmIHlvdSBjbGljayB0aGUgXCJDYW5jZWxcIiBidXR0b24gdGhlIGRpYWxvZyBjbG9zZXMuIElmIHlvdSBjbGljayB0aGUgXCJBZGQgbGF5ZXJzXCIgYnV0dG9uLCB0aGUgbGF5ZXJzIGFyZSBhZGRlZCB0byB0aGUgcHJvamVjdC4gXG5cbk1ha2Ugc3VyZSB0byB1bmNoZWNrIGF0IGxlYXN0IDEgb2YgdGhlIGRlcGVuZGVuY2llcyBzbyB5b3UgY2FuIGNoZWNrIHRoYXQgb25seSB0aGUgY2hlY2tlZCBkZXBlbmRlbmNpZXMgYXJlIGFkZGVkLCBhbmQgbm90IHRoZSB1bmNoZWNrZWQgb25lKHMpLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSBcIkFkZCBsYXllclwiIGJ1dHRvbiBmYWRlcyBvdXQgYW5kIGlzIHJlcGxhY2VkIHRlbXBvcmFyaWx5IGJ5IGEgbWVzc2FnZSBsaWtlIFwiMSBsYXllciBhZGRlZFwiIGFuZCB0aGVuIGl0IGlzIHJlcGxhY2VkIGJ5IHRoZSBcIkRlbGV0ZSBsYXllclwiIGJ1dHRvbi4gXG5DaGVjayB0aGF0IGEgY29uZmlybWF0aW9uIG1lc3NhZ2UgaXMgZGlzcGxheWVkIGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2Ugc2ltaWxhciB0byBcIllvdSBoYXZlIGFkZGVkIDEgbGF5ZXIgdG8gcHJvamVjdF9uYW1lX2hlcmU6IG1ldGEteW9jdG8tYnNwXCIuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJEZWxldGUgYW4gZXhpc3RpbmcgbGF5ZXIgXG5QaWNrIGEgbGF5ZXIgdGhhdCdzIGFscmVhZHkgYmVlbiBhZGRlZCB0byB0aGUgcHJvamVjdC4gXG5DbGljayBvbiB0aGUgXCJEZWxldGUgbGF5ZXJcIiBidXR0b24gcHJlc2VudCBpbiB0aGUgXCJBZGQvZGVsZXRlXCIgY29sdW1uLiBcbkNoZWNrIHRoYXQgb25jZSB0aGUgYnV0dG9uIGlzIHByZXNzZWQsIGl0IGZhZGVzIG91dCBhbmQgaXMgcmVwbGFjZWQgdGVtcG9yYXJpbHkgYnkgdGhlIG1lc3NhZ2UgXCIxIGxheWVyIGRlbGV0ZWRcIiBhbmQgdGhlbiBpdCBpcyByZXBsYWNlZCBieSB0aGUgXCJBZGQgbGF5ZXJcIiBidXR0b24uIFxuQ2hlY2sgdGhhdCBhIGNvbmZpcm1hdGlvbiBpcyBkaXNwbGF5ZWQgYXQgdGhlIHRvcCBvZiB0aGUgcGFnZSBzaW1pbGFyIHRvIFwiWW91IGhhdmUgZGVsZXRlZCAxIGxheWVyIGZyb20gcHJvamVjdF9uYW1lX2hlcmU6IG1ldGEteW9jdG8tYnNwXCIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQWxsIGFjdGlvbnMgc2hvdWxkIGNvbXBsZXRlIHN1Y2Nlc3NmdWxseS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJBbGxfbGF5ZXJzOl9BZGQvZGVsZXRlX2xheWVycyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkFsbF90YXJnZXRzOl9EZWZhdWx0X3ZpZXciLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBJZiBubyBpbWFnZXMgZXhpc3QgaW4gdGhlIHByb2plY3QsIGJ1aWxkIGFuIGltYWdlIGJ5IGluc2VydGluZyBcImNvcmUtaW1hZ2UtbWluaW1hbFwiIGluIHRoZSBcIlJlY2lwZXNcIiBmaWVsZCBhbmQgcHJlc3MgdGhlIFwiQnVpbGRcIiBidXR0b24uIFdhaXQgZm9yIHRoZSBpbWFnZSB0byBmaW5pc2ggYnVpbGRpbmcuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPbiB0aGUgcHJvamVjdCBwYWdlIGNsaWNrIG9uIHRoZSBcIkltYWdlIFJlY2lwZXNcIiBsaW5rIHNpdHVhdGVkIGluIHRoZSBsZWZ0LWhhbmRlZCBzaWRlIG9mIHRoZSBwYWdlLCB1bmRlciB0aGUgXCJQcm9qZWN0IGNvbmZpZ3VyYXRpb25cIiBtZW51cywgaW4gdGhlIFwiQ09NUEFUSUJMRSBNRVRBREFUQVwiIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBcIkNvbXBhdGlibGUgaW1hZ2UgcmVjaXBlc1wiIHRhYmxlIGlzIHBvcHVsYXRlZC4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIGZvbGxvd2luZyBjb2x1bW5zIGFyZSBzaG93biBieSBkZWZhdWx0OiBcblx0XHRJbWFnZSByZWNpcGUgXG5cdFx0RGVzY3JpcHRpb24gXG4gXG5cdFx0TGF5ZXIgXG5cdFx0QnVpbGQgXG5cdFx0ICAgICBWZXJzaW9uICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiQWxsX3RhcmdldHM6X0RlZmF1bHRfdmlldyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkNvbmZpZ3VyYXRpb25fdmFyaWFibGVzOl9kZWZhdWx0X3ZpZXciLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIHRoZSBtYWluIHByb2plY3QgcGFnZSwgY2xpY2sgb24gXCJCaXRCYWtlIHZhcmlhYmxlc1wiIGluIHRoZSBsZWZ0LWhhbmQgc2lkZSBvZiB0aGUgcGFnZSwgdW5kZXIgdGhlIFwiQ09ORklHVVJBVElPTlwiIG1lbnUuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBkZWZhdWx0IHZhbHVlcyBhcmUgYXMgZm9sbG93czogXG5cdERJU1RSTyAtIHBva3kgXG5cdElNQUdFX0ZTVFlQRVMgLSBleHQzIGpmZnMyIHRhci5iejIgXG5cdElNQUdFX0lOU1RBTExfYXBwZW5kIC0gXCJOb3Qgc2V0XCIgXG5cdFBBQ0tBR0VfQ0xBU0VTIC0gcGFja2FnZV9ycG0gXG4gICAgICAgIFNTVEFURV9ESVIgIC0gL2hvbWVEaXJlY3RvcnkvcG9reS9zc3RhdGUtY2FjaGUgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdW5kZXIgdGhlIFwiQWRkIHZhcmlhYmxlXCIgc2VjdGlvbiwgdGhlIFwiVmFyaWFibGVcIiBmaWVsZCBoYXMgdGhlIGRlZmF1bHQgdGV4dCBcIlR5cGUgdmFyaWFibGUgbmFtZVwiIHByZXNlbnQsIHRoZSBcIlZhbHVlXCIgZmllbGQgaGFzIHRoZSBkZWZhdWx0IHRleHQgXCJUeXBlIHZhcmlhYmxlIHZhbHVlXCIgcHJlc2VudCBhbmQgdGhhdCB0aGUgXCJBZGQgdmFyaWFibGVcIiBidXR0b24gaXMgaW5hY3RpdmUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHVuZGVyIHRoZSBcIkFkZCB2YXJpYWJsZVwiIHNlY3Rpb24sIHRoZXJlIGlzIHRleHQgcHJlc2VudCB0aGF0IGRlc2NyaWJlcyB0aGUgdmFyaWFibGVzIHRoYXQgVG9hc3RlciBjYW5ub3QgbW9kaWZ5LiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQgYW5kIGZ1bmN0aW9uYWwuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiQ29uZmlndXJhdGlvbl92YXJpYWJsZXM6X2RlZmF1bHRfdmlldyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkNvbmZpZ3VyYXRpb25fdmFyaWFibGVzOl9UZXN0X1VJX2VsZW1lbnRzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiB0aGUgbWFpbiBwcm9qZWN0IHBhZ2UsIGNsaWNrIG9uIFwiQml0QmFrZSB2YXJpYWJsZXNcIiBpbiB0aGUgbGVmdC1oYW5kIHNpZGUgb2YgdGhlIHBhZ2UsIHVuZGVyIHRoZSBcIkNPTkZJR1VSQVRJT05cIiBtZW51LiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRElTVFJPOiBcblx0LSBjaGVjayB0aGF0IHRoZSBcImNoYW5nZVwiIGljb24gaXMgcHJlc2VudCAocmVwcmVzZW50ZWQgYnkgYSBwZW4gaWNvbikgXG5cdC0gY2xpY2sgb24gdGhlIFwiY2hhbmdlXCIgaWNvbiBhbmQgY2hlY2sgdGhhdCB0aGUgdmFyaWFibGUgYmVjb21lcyBhbiBlZGl0YWJsZSB0ZXh0IGZpZWxkLCBwb3B1bGF0ZWQgd2l0aCB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgXG5cdC0gY2hlY2sgdGhhdCwgaWYgeW91IGRlbGV0ZSB0aGUgY29udGVudCBvZiB0aGUgdGV4dCBmaWVsZCwgdGhlIHNhdmUgYnV0dG9uIGlzIGRpc2FibGVkIFxuXHQtIGVudGVyIGEgZGlzdHJvIG5hbWUgY29udGFpbmluZyBzcGFjZXMgKGZvciBleGFtcGxlLCBcInBva3kgdGlueVwiKSAtIGNoZWNrIHRoYXQgYW4gZXJyb3IgbWVzc2FnZSBpcyBzaG93biBleHBsYWluaW5nIHRoYXQgdGhlIHZhbHVlIGVudGVyZWQgY2Fubm90IGNvbnRhaW4gc3BhY2VzICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSU1BR0VfRlNUWVBFUzogXG5cdC0gY2hlY2sgdGhhdCB0aGUgXCJjaGFuZ2VcIiBpY29uIGlzIHByZXNlbnQgKHJlcHJlc2VudGVkIGJ5IGEgcGVuIGljb24pIFxuXHQtIGNsaWNrIG9uIHRoZSBcImNoYW5nZVwiIGljb24gYW5kIGNoZWNrIHRoYXQgdGhlIHZhcmlhYmxlIGJlY29tZXMgZWRpdGFibGUgbGlrZSBzbzogdGhlIG1haW4gaW5wdXQgY29udHJvbCBpcyBhIHNldCBvZiBjaGVja2JveGVzLiBUaGVyZSBpcyBhIGNoZWNrYm94IGZvciBlYWNoIHN1cHBvcnRlZCBpbWFnZSB0eXBlLiBUaGUgY2hlY2tib3hlcyBhcmUgbGlzdGVkIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwgb3JkZXIsIGJyb2tlbiBkb3duIGluIDIgZ3JvdXBzOiBcblx0XHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgc2VsZWN0ZWQgdHlwZXMgYXJlIGNoZWNrZWQgYW5kIGxpc3RlZCBhdCB0aGUgdG9wIFxuXHRcdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBvdGhlciB0eXBlcyBhcmUgbm90IGNoZWNrZWQgYW5kIGxpc3RlZCBhZnRlcndhcmRzIFxuXHQtIGNoZWNrIHRoYXQgYWxsIHRoaXMgaXMgaW5zaWRlIGEgc2Nyb2xsYWJsZSBkaXYsIGFuZCBhIHRleHQgZmllbGQgaXMgcHJlc2VudCBhYm92ZSB0aGF0IGZpbHRlcnMgb3V0IHRoZSBjb250ZW50IG9mIHRoZSBkaXYgYXMgeW91IHR5cGUuIFxuXHQtIGNoZWNrIHRoYXQgaWYgdGhlcmUgYXJlIG5vIGltYWdlIHR5cGVzIG1hdGNoaW5nIHlvdXIgdHlwZWQgc3RyaW5nLCBhIG1lc3NhZ2UgaXMgc2hvd24gbm90aWZ5aW5nIHlvdSBvZiB0aGlzOiBcIk5vIGltYWdlIHR5cGVzIGZvdW5kXCIgXG5cdC0gdW5zZWxlY3QgYWxsIGNoZWNrYm94ZXMgYW5kIGNoZWNrIHRoYXQgdGhlIHNhdmUgYnV0dG9uIGlzIGRpc2FibGVkIGFuZCBhIG1lc3NhZ2UgaXMgc2hvd246IFwiWW91IG11c3Qgc2VsZWN0IGF0IGxlYXN0IG9uZSBpbWFnZSB0eXBlXCIgXG5cdC0gc2VsZWN0IGRpZmZlcmVudCBjaGVja2JveGVzIGFuZCBoaXQgc2F2ZSB0aGVuIG1ha2Ugc3VyZSB0aGF0IHRoZSBcdHNhdmVkIHZhbHVlIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgc2VsZWN0ZWQgY2hlY2tib3hlcyAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIklNQUdFX0lOU1RBTExfYXBwZW5kOiBcblx0LSBjaGVjayB0aGF0IHRoZSBcImNoYW5nZVwiIGljb24gaXMgcHJlc2VudCAocmVwcmVzZW50ZWQgYnkgYSBwZW4gaWNvbikgXG5cdC0gY2xpY2sgb24gdGhlIFwiY2hhbmdlXCIgaWNvbiBhbmQgY2hlY2sgdGhhdCB0aGUgdmFyaWFibGUgYmVjb21lcyBhIHRleHQgZmllbGQsIHBvcHVsYXRlZCB3aXRoIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSB2YXJpYWJsZS4gIFxuXG5cdC0gY2hlY2sgdGhhdCB0aGUgc2F2ZSBidXR0b24gaXMgZGlzYWJsZWQgd2hlbiB0aGUgdGV4dCBmaWVsZCBpcyBlbXB0eSBcblx0LSBpbnNlcnQgdGVzdCBpbiB0aGUgdGV4dCBmaWVsZCAoZm9yIGV4YW1wbGUgXCJwYWNrYWdlMVwiKSBhbmQgaGl0IHNhdmU7IGJlIGF3YXJlIHRoYXQgdGhlcmUgaXMgbm8gaW5wdXQgdmFsaWRhdGlvbiBmb3IgdGhpcyB2YXJpYWJsZSBcblx0LSBjaGVjayB0aGF0IGEgbmV3IFwiZGVsZXRlXCIgaWNvbihhIHRyYXNoY2FuKSBoYXMgYXBwZWFyZWQgbmV4dCB0byB0aGUgcGVuIGljb24gXG5cdC0gY2hlY2sgdGhhdCBjbGlja2luZyBvbiB0aGUgdHJhc2hjYW4gaWNvbiByZXNldHMgdGhlIHZhbHVlIHRvIFwiTm90IHNldFwiIGFuZCBtYWtlcyB0aGUgdHJhc2hjYW4gaWNvbiBkaXNzYXBlYXIgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJQQUNLQUdFX0NMQVNTRVM6IFxuXHQtIGNoZWNrIHRoYXQgdGhlIFwiY2hhbmdlXCIgaWNvbiBpcyBwcmVzZW50IChyZXByZXNlbnRlZCBieSBhIHBlbiBpY29uKSBcblx0LSBjbGljayBvbiB0aGUgXCJjaGFuZ2VcIiBpY29uIGFuZCBjaGVjayB0aGF0IHRoZSB2YXJpYWJsZSBiZWNvbWVzIGVkaXRhYmxlIHdpdGggdGhlIGZvbGxvd2luZyBjb21wb25lbnRzOiBcblx0XHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBIGRyb3Bkb3duIG1lbnUgd2l0aCB2YWx1ZXMgJ3BhY2thZ2VfZGV2JywgJ3BhY2thZ2VfaXBrJyBhbmQgJ3BhY2thZ2VfcnBtJyBpbiB0aGlzIG9yZGVyLiBUaGUgdmFsdWUgc2VsZWN0ZWQgd2hlbiB5b3UgZW50ZXIgdGhlIGVkaXRhYmxlIHN0YXRlIG1hdGNoZXMgdGhlIGZpcnN0IHZhbHVlIG9mIHRoZSB2YXJpYWJsZSAoZS5nLiBpZiB0aGUgdmFsdWUgaXMgc2V0IHRvICdwYWNrYWdlX2RldiBwYWNrYWdlX2lwaycgdGhlIHZhbHVlIHNlbGVjdGVkIGlzICdwYWNrYWdlX2RldicpLiAgXG4gXG5cdFx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlR3byBjaGVja2JveGVzLCBzaG93aW5nIHRoZSAyIHVuc2VsZWN0ZWQgdmFsdWVzIGluIHRoZSBkcm9wZG93biBtZW51LiAgXG5cblx0LSB2ZXJpZnkgdGhhdCB0aGUgY2hlY2tib3hlcyBhcmUgY2hlY2tlZCBvciB1bmNoZWNrZWQgdG8gcmVmbGVjdCB0aGUgdmFyaWFibGUgdmFsdWUgKGUuZy4gaWYgdGhlIHZhbHVlIGlzIHNldCB0byAncGFja2FnZV9kZXYgcGFja2FnZV9pcGsnLCB0aGUgJ3BhY2thZ2VfaXBrJyBjaGVja2JveCBpcyBjaGVja2VkLCBhbmQgdGhlICdwYWNrYWdlX3JwbScgY2hlY2tib3ggaXMgdW5jaGVja2VkKS4gIFxuXG5cdEJvdGggY2hlY2tib3hlcyBjYW4gYmUgdW5jaGVja2VkLiAgVGhlIHZhbHVlIG9mIHRoZSBjaGVja2JveGVzIGNoYW5nZXMgZHluYW1pY2FsbHkgYXMgSSBjaGFuZ2UgdGhlIHNlbGVjdGVkIHZhbHVlIGluIHRoZSBkcm9wZG93biBtZW51LiBUaGlzIG1lYW5zIHRoYXQgYW55IGNoYW5nZXMgdG8gdGhlIGRyb3Bkb3duIG1lbnUgc2hvdWxkIHVuY2hlY2sgdGhlIGNoZWNrYm94ZXMuICBcblxuXHQtIGNsaWNrIG9uIHNhdmUgYW5kIGNoZWNrIHRoYXQgdGhlICB2YWx1ZSBzZWxlY3RlZCBpbiB0aGUgZHJvcGRvd24gbWVudSBpcyB0aGUgZmlyc3QgdmFsdWUgaW4gdGhlIHZhcmlhYmxlLCBmb2xsb3dlZCBieSBhbnkgY2hlY2tlZCBjaGVja2JveGVzLiAgXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFkZGluZyB2YXJpYWJsZXM6IFxuXHQtIGNoZWNrIHRoYXQgdGhlIFwiYWRkIHZhcmlhYmxlXCIgZm9ybSBoYXMgMiB0ZXh0IGZpZWxkczogb25lIGZvciB0aGUgdmFyaWFibGUgbmFtZSBhbmQgYSBzZWNvbmQgb25lIGZvciB0aGUgdmFyaWFibGUgdmFsdWUsIHBsdXMgYW4gXCJhZGRcIiBidXR0b24gdGhhdCBpcyBkaXNhYmxlZCB1bnRpbCBib3RoIHRleHQgZmllbGRzIGhhdmUgc29tZSBpbnB1dCBpbiB0aGVtLiAgXG4gXG5cdC0gY2hlY2sgdmFyaWFibGUgbmFtZSB2YWxpZGF0aW9uOiB2YXJpYWJsZSBuYW1lcyBjYW5ub3QgaGF2ZSBzcGFjZXMsIGFuZCBjYW4gb25seSBpbmNsdWRlIGxldHRlcnMsIG51bWJlcnMsIHVuZGVyc2NvcmVzIGFuZCBkYXNoZXM7IHZhcmlhYmxlIG5hbWVzIGVudGVyZWQgY2Fubm90IG1hdGNoIHRoZSBuYW1lIG9mIGEgdmFyaWFibGUgYWxyZWFkeSBvbiB0aGUgbGlzdDsgdmFyaWFibGUgbmFtZXMgY2Fubm90IG1hdGNoIHRoZSBibGFja2xpc3RlZCB2YXJpYWJsZXMgbWVudGlvbmVkIGluIHRoZSB0ZXh0IG9uIHRoZSByaWdodC1oYW5kIHNpZGUgb2YgdGhlIHBhZ2UgIFxuXG5cdCAtIGNoZWNrIHRoYXQgYW4gZXJyb3IgbWVzc2FnZSBpcyBzaG93biBpbmRpY2F0aW5nIHZhbGlkYXRpb24gaGFzIGZhaWxlZCBhbmQgd2h5IG9uY2UgeW91IHRyeSB0byBwdXQgaW4gdGhlIHZhbHVlIG9yIGNsaWNrIG9uIHRoZSBcIkFkZCB2YXJpYWJsZVwiIGJ1dHRvbiAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgbWVudGlvbmVkIGVsZW1lbnRzIHNob3VsZCBiZSBwcmVzZW50IGFuZCBmdW5jdGlvbmFsLiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiaW5zZXJ0IGEgdmFsaWQgY29tYmluYXRpb24gYW5kIGNsaWNrIG9uIFwiQWRkIHZhcmlhYmxlXCI7IGNoZWNrIHRoYXQgYSBuZXcgdmFyaWFibGUvdmFsdWUgcGFpciBpcyBhZGRlZCBhdCB0aGUgYm90dG9tIG9mIHRoZSB2YXJpYWJsZSBsaXN0IGFuZCB0aGF0IHRoZSB0ZXh0IGZpZWxkcyBpbiB0aGUgXCJhZGQgdmFyaWFibGVcIiBmb3JtIGFyZSBjbGVhcmVkIGFuZCB0aGUgXCJhZGRcIiBidXR0b24gaXMgZGlzYWJsZWQgXG5cdC0gY2hlY2sgdGhhdCB0aGUgYWRkZWQgdmFyaWFibGUgaGFzIGEgXCJjaGFuZ2VcIiBpY29uIHByZXNlbnQgbmV4dCB0byB0aGUgdmFyaWFibGUgdmFsdWUsIGFuZCBhbHNvIHRoYXQgYSBcImRlbGV0ZVwiIGljb24gaXMgcHJlc2VudCBuZXh0IHRvIHRoZSB2YXJpYWJsZSBuYW1lIFxuXHQtIGNoZWNrIHRoYXQgY2xpY2tpbmcgdGhlIFwiY2hhbmdlXCIgaWNvbiBtYWtlcyB0aGUgdmFyaWFibGUgZWRpdGFibGUgaW4gYSB0ZXh0IGZpZWxkIGNvbnRhaW5pbmcgdGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBcblx0LSBjaGVjayB0aGF0LCBpZiB5b3UgZGVsZXRlIHRoZSBjb250ZW50IG9mIHRoZSB0ZXh0IGZpZWxkLCB0aGUgc2F2ZSBidXR0b24gaXNcdGRpc2FibGVkXG5cdC0gY2hlY2sgdGhhdCBjbGlja2luZyBvbiB0aGUgXCJkZWxldGVcIiBidXR0b24gY2F1c2VzIGJvdGggdGhlIHZhcmlhYmxlIG5hbWUgYW5kIHRoZSB2YXJpYWJsZSB2YWx1ZSB0byBiZSByZW1vdmVkIGZyb20gdGhlIHZhcmlhYmxlcyBsaXN0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgbWVudGlvbmVkIGVsZW1lbnRzIHNob3VsZCBiZSBwcmVzZW50IGFuZCBmdW5jdGlvbmFsLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkNvbmZpZ3VyYXRpb25fdmFyaWFibGVzOl9UZXN0X1VJX2VsZW1lbnRzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuUHJvamVjdF9idWlsZHM6X0RlZmF1bHRfdmlldyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIFwiQnVpbGRzXCIgLCBuZXh0IHRvIHRoZSBcIkNvbmZpZ3VyYXRpb25cIiBCdXR0b24uIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSBwYWdlIGhlYWRpbmcgaW5jbHVkZXMgYSBjb3VudGVyIHdpdGggdGhlIG51bWJlciBvZiBidWlsZHMgcnVuIGZvciB0aGUgcHJvamVjdChlZy4gXCJQcm9qZWN0IGJ1aWxkcyAoNClcIikuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSBmb2xsb3dpbmcgdGFibGUgaGVhZHMgYXJlIHZpc2libGUgYnkgZGVmYXVsdDogb3V0Y29tZSwgY29tcGxldGVkIG9uLCBmYWlsZWQgdGFza3MsIGVycm9ycywgd2FybmluZ3MsIGltYWdlIGZpbGVzLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBieSBkZWZhdWx0IHRoZSB0YWJsZSBpcyBzb3J0ZWQgYnkgXCJDb21wbGV0ZWQgb25cIiBpbiBkZXNjZW5kaW5nIG9yZGVyIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgbWVudGlvbmVkIGVsZW1lbnRzIHNob3VsZCBiZSBwcmVzZW50LiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlByb2plY3RfYnVpbGRzOl9EZWZhdWx0X3ZpZXciCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5Qcm9qZWN0X2J1aWxkczpfU29ydGluZ190aGVfcHJvamVjdF9idWlsZHNfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRoZSBcIlZpZXcgYWxsIHByb2plY3QgYnVpbGRzXCIgbGluayBzaXR1YXRlZCBiZWxvdyB0aGUgdG9wLW1vc3QgXCJCdWlsZFwiIGJ1dHRvbiBhbmQgdGV4dCBmaWVsZCwgbmV4dCB0byB0aGUgXCJWaWV3IGFsbCB0YXJnZXRzXCIgbGluayBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJWZXJpZnkgdGhhdCwgYnkgZGVmYXVsdCwgdGhlIHRhYmxlIGlzIHNvcnRlZCBieSBcIkNvbXBsZXRlZCBvblwiIGluIGRlc2NlbmRpbmcgb3JkZXIuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBY3RpdmF0ZSBhbGwgY29sdW1ucyBmcm9tIHRoZSBcIkVkaXQgY29sdW1uc1wiIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCB0aGUgZm9sbG93aW5nIGNvbHVtbnMgYXJlIHNvcnRhYmxlLCBib3RoIGluIGFzY2VuZGluZyBhbmQgZGVzY2VuZGluZyBvcmRlcjogb3V0Y29tZSwgdGFyZ2V0LCBtYWNoaW5lLCBzdGFydGVkIG9uLCBjb21wbGV0ZWQgb24sIHdhcm5pbmcsIHByb2plY3QgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlZlcmlmeSB0aGF0IGhpZGluZyBhIGNvbHVtbiB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyB1c2VkIGFzIHRoZSBzb3J0aW5nIGNyaXRlcmlhIGNhdXNlcyB0aGUgc29ydGluZyB0byByZXNldCB0byB0aGUgZGVmYXVsdCAtIGkuZSBcIkNvbXBsZXRlZCBvblwiIGluIGRlc2NlbmRpbmcgb3JkZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgbWVudGlvbmVkIGVsZW1lbnRzIHNob3VsZCBiZSBwcmVzZW50IGFuZCBmdW5jdGlvbmFsLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlByb2plY3RfYnVpbGRzOl9Tb3J0aW5nX3RoZV9wcm9qZWN0X2J1aWxkc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlByb2plY3RfYnVpbGRzOl9jdXN0b21pemVfdGhlX2NvbHVtbnNfb2ZfdGhlX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgXCJWaWV3IGFsbCBwcm9qZWN0IGJ1aWxkc1wiIGxpbmsgc2l0dWF0ZWQgYmVsb3cgdGhlIHRvcC1tb3N0IFwiQnVpbGRcIiBidXR0b24gYW5kIHRleHQgZmllbGQsIG5leHQgdG8gdGhlIFwiVmlldyBhbGwgdGFyZ2V0c1wiIGxpbmsgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRoZSBcIkVkaXQgY29sdW1uXCIgbWVudSBhbmQgY2hlY2sgdGhhdCB0aGUgc2VsZWN0ZWQgY29sdW1ucyBtYXRjaCB0aGUgY29sdW1ucyBjdXJyZW50bHkgYmVpbmcgc2hvd24uIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSBmb2xsb3dpbmcgY29sdW1ucyBjYW5ub3QgYmUgcmVtb3ZlZCBmcm9tIHRoZSBzaG93biBjb2x1bW5zOiBjb21wbGV0ZWQgb24sIG91dGNvbWUsIHJlY2lwZSBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCB1bmNoZWNrZWQgaXRlbXMgY2hhbmdlZCB0byBjaGVja2VkIGltbWVkaWF0ZWx5IGFwcGVhciBpbiB0aGUgdGFibGUgYW5kIHRoYXQgY2hlY2tlZCBpdGVtcyBjaGFuZ2VkIHRvIHVuY2hlY2tlZCBpbW1lZGlhdGVseSBkaXNhcHBlYXIgZnJvbSB0aGUgdGFibGUuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgbWVudGlvbmVkIGVsZW1lbnRzIHNob3VsZCBiZSBwcmVzZW50IGFuZCBmdW5jdGlvbmFsLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlByb2plY3RfYnVpbGRzOl9jdXN0b21pemVfdGhlX2NvbHVtbnNfb2ZfdGhlX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuUHJvamVjdF9idWlsZHM6X2ZpbHRlcl90aGVfY29udGVudHNfb2ZfdGhlX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgXCJWaWV3IGFsbCBwcm9qZWN0IGJ1aWxkc1wiIGxpbmsgc2l0dWF0ZWQgYmVsb3cgdGhlIHRvcC1tb3N0IFwiQnVpbGRcIiBidXR0b24gYW5kIHRleHQgZmllbGQsIG5leHQgdG8gdGhlIFwiVmlldyBhbGwgdGFyZ2V0c1wiIGxpbmsuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJNYWtlIHN1cmUgdGhlIGZvbGxvd2luZyBjb2x1bW5zIGhhdmUgZmlsdGVyczogb3V0Y29tZSwgc3RhcnRlZCBvbiwgY29tcGxldGVkIG9uLCBmYWlsZWQgdGFza3MuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGaWx0ZXJzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIENsaWNrIGEgZmlsdGVyIGJ1dHRvbiBvZiBhIG9uZSBjb2x1bW4gYW5kIGEgZmlsdGVyIGRpYWxvZ3VlIG9jY3Vycy4gU2VsZWN0IGEgZmlsdGVyIGl0ZW0uIFRoZSBmaWx0ZXIgcmVzdWx0IHdvdWxkIGJlIHNob3dlZC4gVGhlbiBzZWxlY3QgYW5vdGhlciBmaWx0ZXIgaXRlbSBvZiBhbm90aGVyIGNvbHVtbiBhbmQgdGhlIHByZXZpb3VzbHkgYXBwbGllZCBmaWx0ZXIgaXMgb3ZlcnJpZGRlbiBieSB0aGUgbmV3bHkgc2VsZWN0ZWQgZmlsdGVyIHdoZW4gYSBmaWx0ZXIgZnJvbSBhIGRpZmZlcmVudCBjb2x1bW4gaXMgYXBwbGllZCB0byB0aGUgdGFibGUuIFRoaXMgZmlsdGVyIHdpbGwgb3ZlcnJpZGUgdGhlIGN1cnJlbnQgZmlsdGVyLlwiIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGaWx0ZXJzIGFyZSBvdmVycmlkZGVuIGJ5IHNlYXJjaC4gUnVuIGEgc2VhcmNoIHF1ZXJ5IGFuZCB5b3UgY2FuIHNlZSBwcmV2aW91cyBmaWx0ZXIgcmVzdWx0cyBhcmUgb3ZlcnJpZGRlbiBieSB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHF1ZXJ5LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQWxsIG1lbnRpb25lZCBlbGVtZW50cyBzaG91bGQgYmUgcHJlc2VudCBhbmQgZnVuY3Rpb25hbC4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJQcm9qZWN0X2J1aWxkczpfZmlsdGVyX3RoZV9jb250ZW50c19vZl90aGVfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5Qcm9qZWN0X2J1aWxkczpfc2VhcmNoX3RoZV9jb250ZW50c19vZl90aGVfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIFwiVmlldyBhbGwgcHJvamVjdCBidWlsZHNcIiBsaW5rIHNpdHVhdGVkIGJlbG93IHRoZSB0b3AtbW9zdCBcIkJ1aWxkXCIgYnV0dG9uIGFuZCB0ZXh0IGZpZWxkLCBuZXh0IHRvIHRoZSBcIlZpZXcgYWxsIHRhcmdldHNcIiBsaW5rLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiV2hlbiBubyBzZWFyY2ggcXVlcnkgaGFzIGJlZW4gZW50ZXJlZCwgd2UgaGF2ZSBwbGFjZWhvbGRlciB0ZXh0IHNheWluZzogXCJTZWFyY2ggYnVpbGRzXCIuIFRoZSBwbGFjZWhvbGRlciB0ZXh0IGRpc2FwcGVhcnMgd2hlbiB0aGUgZmlyc3QgY2hhcmFjdGVyIGlzIHR5cGVkLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiV2hlbiBhIHNlYXJjaCBxdWVyeSBoYXMgYmVlbiBzdWJtaXR0ZWQgYW5kIHJlc3VsdHMgcmV0dXJuZWQ6IFxuLSAgV2Uga2VlcCB0aGUgc2VhcmNoIHN0cmluZyBpbiB0aGUgdGV4dCBpbnB1dCBmaWVsZC4gXG4tIFdlIHByb3ZpZGUgYSBcIkNsZWFyIHNlYXJjaFwiIGljb24gKGljb24tcmVtb3ZlLXNpZ24pLiBDbGljayBpdCB0byBjbGVhciB0aGUgc2VhcmNoIGFuZCBkaXNwbGF5IGFsbCBwYWNrYWdlcy4gXG4tIFdlIGNoYW5nZSB0aGUgcGFnZSBoZWFkaW5nIHRvIGluZGljYXRlIHRoZSBudW1iZXIgb2YgcmVzdWx0cyByZXR1cm5lZCBieSB0aGUgc2VhcmNoIHF1ZXJ5LiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSWYgeW91ciBzZWFyY2ggcXVlcnkgcmV0dXJucyBubyByZXN1bHRzLCB0aGUgcGFnZSBoZWFkaW5nIGNoYW5nZXMgdG8gXCJObyBwYWNrYWdlcyBmb3VuZFwiLCBhbmQgd2Ugc2hvdyB5b3UgYW4gYWxlcnQgd2l0aCBhIHNlYXJjaCBmb3JtIGFuZCBhbiBvcHRpb24gdG8gc2hvdyBhbGwgcGFja2FnZXMuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWFyY2hpbmcgZG9lcyBub3QgY2hhbmdlIHRoZSBzdGF0ZSBvZiB0aGUgdGFibGU6IHRoZSBzYW1lIGNvbHVtbnMgcmVtYWluIGhpZGRlbiBhbmQgdGhlIHNhbWUgc29ydGluZyBhcHBsaWVkLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQgYW5kIGZ1bmN0aW9uYWwuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiUHJvamVjdF9idWlsZHM6X3NlYXJjaF90aGVfY29udGVudHNfb2ZfdGhlX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuTGF5ZXJfZGV0YWlsc19wYWdlOl9EZWZhdWx0X3ZpZXciLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRoZSBcIlZpZXcgY29tcGF0aWJsZSBsYXllcnNcIiBsaW5rIHNpdHVhdGVkIGluIHRoZSBcIlByb2plY3QgY29uZmlndXJhdGlvblwiIHBvcnRpb24gb2YgdGhlIHBhZ2UsIHVuZGVyIFwiTGF5ZXJzXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBhIGxheWVyIChmb3IgZXhhbXBsZSBcIm1ldGEtYWFyY2g2NFwiKS4gTm90aWNlIHRoYXQgdGhlIHBhZ2UgaXMgZGl2aWRlZCBpbnRvIDIgY29sdW1uczogdGhlIGxlZnQgb25lIGlzIGJyb2tlbiBkb3duIGludG8gdGFiczsgdGhlIHJpZ2h0IG9uZSBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbGF5ZXIuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IGJyZWFkY3J1bWJzIGV4aXN0IGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UuIENoZWNrIHRoYXQgdGhleSB3b3JrIGJ5IGNsaWNraW5nIG9uIHRoZW0sIHRoZW4gaGl0dGluZyBiYWNrIHRvIHJldHVybiB0byB0aGUgbGF5ZXIgZGV0YWlsIHBhZ2UuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSBwYWdlIGhlYWRpbmcgaW5jbHVkZXMgdGhlIGxheWVyIGJyYW5jaCBuYW1lIC0gaXQgc2hvdWxkIGxvb2sgc29tZXRoaW5nIGxpa2UgbWV0YS1hYXJjaDY0KGRpenp5KSBpZiB0aGUgZGl6enkgYnJhbmNoIHdhcyBzZWxlY3RlZC4gVGhlIGJyYW5jaCBuYW1lIHNob3VsZCBhbHNvIGJlIHByZXNlbnQgaW4gdGhlIGJyZWFkY3J1bWJzLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIFwiQWJvdXRcIiBpbmZvcm1hdGlvbjogXG5pdCBzaG93cyBzdW1tYXJ5LCBkZXNjcmlwdGlvbiBpbiB0aGlzIG9yZGVyLCBpZiBub3QgZW1wdHkuIElmIGFuIGluZm9ybWF0aW9uIGl0ZW0gaXMgZW1wdHkgKGxpa2UgdGhlIFN1bW1hcnkgaW4gdGhlIGV4YW1wbGUgc2hvd24gaW4gdGhpcyBwYWdlKSwgaXQgZG9lcyBub3QgZGlzcGxheS4gXG4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSB0YWJzOiBcbkNoZWNrIHRoYXQgdGhlcmUgYXJlIDMgdGFiczogXCJsYXllciBkZXRhaWxzXCIsIFwicmVjaXBlc1wiLCBcIm1hY2hpbmVzXCIgc2hvd2luZyB1cCBpbiB0aGlzIG9yZGVyLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiXCJMYXllciBkZXRhaWxzXCIgdGFiOiBcbkNoZWNrIHRoYXQgdGhlIHRhYiBzaG93czogXG4tIEEgYnV0dG9uIHRvIGFkZCAvIHJlbW92ZSB0aGUgbGF5ZXIgdG8gLyBmcm9tIHRoZSBwcm9qZWN0LiBJbiB0aGlzIHRhYiwgdGhlIGJ1dHRvbiBsYWJlbHMgYXJlXCJBZGQgdGhlICRsYXllcl9uYW1lIGxheWVyIHRvIHlvdXIgcHJvamVjdFwiIFwiRGVsZXRlIHRoZSAkbGF5ZXJfbmFtZSBsYXllciBmcm9tIHlvdXIgcHJvamVjdFwiIFxuLSBTb21lIGRldGFpbHMgYWJvdXQgdGhlIGxheWVyOiByZXBvc2l0b3J5IFVSTCwgcmVwb3NpdG9yeSBzdWJkaXJlY3RvcnksIHJldmlzaW9uICh0aGUgYnJhbmNoKSBhbmQgdGhlIGxpc3Qgb2YgbGF5ZXIgZGVwZW5kZW5jaWVzLiBJZiBhbnkgb2YgdGhlIGFib3ZlIGRldGFpbHMgaXMgYmxhbmsgKG1vc3QgbGlrZWx5LCB0aGUgc3ViZGlyZWN0b3J5KSBpdCBkb2VzIG5vdCBkaXNwbGF5LlRoZSBpY29ucyBuZXh0IHRvIHRoZSByZXBvc2l0b3J5IGFuZCBzdWJkaXJlY3RvcnkgaW5mb3JtYXRpb24gYXJlIGxpbmtzIHRvIHRoZWlyIHdlYiBpbnN0YW5jZXMuIFRob3NlIGxpbmtzIHNob3VsZCBvcGVuIGluIGEgbmV3IHdpbmRvdy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBcIlJlY2lwZXNcIiB0YWI6IFxuQ2hlY2sgdGhhdCBpdCBzaG93czogXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTAiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBIGNvdW50ZXIgaW4gdGhlIHRhYiBsYWJlbCBzaG93aW5nIHRoZSB0b3RhbCBudW1iZXIgb2YgdGFyZ2V0cyBwcm92aWRlZCBieSB0aGUgbGF5ZXIgXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBIGJ1dHRvbiB0byBhZGQgLyByZW1vdmUgdGhlIGxheWVyIHRvIC8gZnJvbSB0aGUgcHJvamVjdC4gSW4gdGhpcyB0YWIsIHRoZSBidXR0b24gbGFiZWxzIGFyZSBcIkFkZCB0aGUgJGxheWVyX25hbWUgbGF5ZXIgdG8geW91ciBwcm9qZWN0IHRvIGVuYWJsZSB0aGVzZSB0YXJnZXRzXCIvXCJEZWxldGUgdGhlICRsYXllcl9uYW1lIGxheWVyIGZyb20geW91ciBwcm9qZWN0XCIgXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBIHJlY2lwZXMgdGFibGUgd2l0aCB0aGUgZm9sbG93aW5nIGNvbHVtbnM6IFxuIFxuLSBSZWNpcGUgXG4tIERlc2NyaXB0aW9uOiB0aGUgdmFsdWUgb2YgdGhlIERFU0NSSVBUSU9OIHZhcmlhYmxlLiBJZiBub3Qgc2V0LCB0aGVuIHRoZSB2YWx1ZSBvZiB0aGUgU1VNTUFSWSB2YXJpYWJsZS4gXG4tIEJ1aWxkIHJlY2lwZSwgd2hpY2ggc2hvd3MgYSBcImJ1aWxkIHJlY2lwZVwiIGJ1dHRvbi4gVGhlIFwiYnVpbGQgcmVjaXBlXCIgYnV0dG9uIGlzIGRpc2FibGVkIHdoZW4gdGhlIGxheWVyIGlzIG5vdCBhZGRlZCB0byB0aGUgcHJvamVjdC4gXG5cblRoZSByZWNpcGVzIHRhYmxlIGlzIHNvcnRlZCBieSBcIlJlY2lwZVwiIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwgb3JkZXIuIFxuXG4xIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBcIk1hY2hpbmVzXCIgdGFiOiBcblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkEgY291bnRlciBpbiB0aGUgdGFiIGxhYmVsIHNob3dpbmcgdGhlIHRvdGFsIG51bWJlciBvZiBtYWNoaW5lcyBwcm92aWRlZCBieSB0aGUgbGF5ZXIgXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBIGJ1dHRvbiB0byBhZGQvcmVtb3ZlIHRoZSBsYXllciB0by9mcm9tIHRoZSBwcm9qZWN0LiBJbiB0aGlzIHRhYiwgdGhlIGJ1dHRvbiBsYWJlbHMgYXJlIFwiQWRkIHRoZSAkbGF5ZXJfbmFtZSBsYXllciB0byB5b3VyIHByb2plY3QgdG8gZW5hYmxlIHRoZXNlIG1hY2hpbmVzXCIvXCJEZWxldGUgdGhlICRsYXllcl9uYW1lIGxheWVyIGZyb20geW91ciBwcm9qZWN0XCIgXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBIG1hY2hpbmVzIHRhYmxlIHdpdGggdGhlIGZvbGxvd2luZyBjb2x1bW5zOiBcbiBcbi0gTWFjaGluZS4gXG4gXG4tIERlc2NyaXB0aW9uOiBUaGUgdmFsdWUgb2YgdGhlIERFU0NSSVBUSU9OIHZhcmlhYmxlIGluIHRoZSAuY29uZiBmaWxlIFxuLSBTZWxlY3QgbWFjaGluZSwgd2hpY2ggc2hvd3MgYSBcInNlbGVjdFwiIGJ1dHRvbi4gVGhlIFwic2VsZWN0XCIgYnV0dG9uIGlzIGRpc2FibGVkIHdoZW4gdGhlIGxheWVyIGlzIG5vdCBhZGRlZCB0byB0aGUgcHJvamVjdC4gXG5UaGUgbWFjaGluZXMgdGFibGUgaXMgc29ydGVkIGJ5IFwiTWFjaGluZVwiIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwgb3JkZXIuICBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQWxsIG1lbnRpb25lZCBlbGVtZW50cyBzaG91bGQgYmUgcHJlc2VudCBhbmQgZnVuY3Rpb25hbC4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJMYXllcl9kZXRhaWxzX3BhZ2U6X0RlZmF1bHRfdmlldyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkxheWVyX2RldGFpbHNfcGFnZTpfVUlfZnVuY3Rpb25hbGl0eSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIFwiVmlldyBjb21wYXRpYmxlIGxheWVyc1wiIGxpbmsgc2l0dWF0ZWQgaW4gdGhlIFwiUHJvamVjdCBjb25maWd1cmF0aW9uXCIgcG9ydGlvbiBvZiB0aGUgcGFnZSwgdW5kZXIgXCJMYXllcnNcIiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gYSBsYXllciAoZm9yIGV4YW1wbGUgXCJtZXRhLWFhcmNoNjRcIikuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWRkaW5nL3JlbW92aW5nIGEgbGF5ZXI6IFxuQ2xpY2sgb24gXCJBZGQgdGhlICRsYXllcl9uYW1lX2hlcmUgbGF5ZXIgdG8geW91ciBwcm9qZWN0XCIgYW5kIHZlcmlmeSB0aGF0IHRoZSBcIkFkZCBsYXllclwiIGJ1dHRvbiB0dXJucyBpbnRvIGEgcmVkIGJ1dHRvbiB3aXRoIHRoZSBsYWJlbCBcIkRlbGV0ZSB0aGUgJGxheWVyX25hbWVfaGVyZSBsYXllciBmcm9tIHlvdXIgcHJvamVjdFwiIGFuZCB0aGF0IGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UsIGJlbG93IHRoZSBoZWFkZXIsIHlvdSBzZWUgYSBtZXNzYWdlIFwiWW91IGhhdmUgYWRkZWQgMSBsYXllciB0byAgJHByb2plY3RfbmFtZV9oZXJlOiAkbGF5ZXJfbmFtZV9oZXJlXCIuIFRoaXMgbWVzc2FnZSBjYW4gYmUgZGlzbWlzc2VkIGJ5IGNsaWNraW5nIG9uIHRoZSBcIlhcIiBhdCB0aGUgdG9wIHJpZ2h0IHNpZGUgb2YgdGhlIG1lc3NhZ2UuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRoZSByZWQgXCJEZWxldGUgdGhlICRsYXllcl9uYW1lX2hlcmUgZnJvbSB5b3VyIHByb2plY3RcIiBidXR0b24gYW5kIHZlcmlmeSB0aGF0IHRoZSBcIkRlbGV0ZSBsYXllclwiIGJ1dHRvbiB0dXJucyBiYWNrIGludG8gYSBncmV5IGJ1dHRvbiB3aXRoIHRoZSBsYWJlbCBcIkFkZCB0aGUgJGxheWVyX25hbWVfaGVyZSB0byB5b3VyIHByb2plY3RcIiBhbmQgdGhhdCBhdCB0aGUgdG9wIG9mIHRoZSBwYWdlLCBiZWxvdyB0aGUgaGVhZGVyLCB5b3Ugc2VlIGEgbWVzc2FnZSBcIllvdSBoYXZlIGRlbGV0ZWQgMSBsYXllciB0byAkcHJvamVjdF9uYW1lX2hlcmU6ICRsYXllcl9uYW1lX2hlcmVcIi4gVGhpcyBtZXNzYWdlIGNhbiBiZSBkaXNtaXNzZWQgYnkgY2xpY2tpbmcgb24gdGhlIFwiWFwiIGF0IHRoZSB0b3AgcmlnaHQgc2lkZSBvZiB0aGUgbWVzc2FnZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkRlcGVuZGVuY2llcyB3aW5kb3c6IFxuIEZvciBhIGxheWVyIHRoYXQgaGFzIGRlcGVuZGVuY2llcyggZm9yIGV4YW1wbGUgXCJtZXRhLWV0dHVzXCIpLCBvbmNlIHlvdSBjbGljayB0aGUgXCJBZGQgbGF5ZXJcIiBidXR0b24sIHZlcmlmeSB0aGF0IHlvdSBnZXQgYSBtZXNzYWdlIHdpbmRvdyB0aGF0IHByZXNlbnRzIHRoZSBkZXBlbmRlbmNpZXMgZm9yIHRoaXMgbGF5ZXIgd2l0aCB0aGUgbWVzc2FnZSBcIiRsYXllcl9uYW1lX2hlcmUgZGVwZW5kcyBvbiBzb21lIGxheWVycyB0aGF0IGFyZSBub3QgYWRkZWQgdG8geW91ciBwcm9qZWN0LiBTZWxlY3QgdGhlIG9uZXMgeW91IHdhbnQgdG8gYWRkOlwiLCBhIGxpc3Qgd2l0aCBhIGNoZWNrYm94IGZvciBlYWNoIG9uZSBhbmQgMiBvcHRpb25zOiBcIkFkZCBsYXllcnNcIiBvciBcIkNhbmNlbFwiLiBcbkNsaWNraW5nIG9uIFwiQWRkIGxheWVyc1wiIGFkZHMgYWxsIHRoZSBkZXBlbmRlbmNpZXMgYW5kIHRoZSBjdXJyZW50IGxheWVyLiBDbGlja2luZyBvbiBcIkNhbmNlbFwiIHRha2VzIHlvdSBiYWNrIHRvIHRoZSBsYXllciBkZXRhaWwgcGFnZSB3aXRob3V0IGFkZGluZyBhbnkgb2YgdGhlIGxheWVycy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlwiUmVjaXBlc1wiIHRhYmxlIFxuQ2hlY2sgdGhhdCBpZiB0aGUgbGF5ZXIgaGFzbid0IGJlZW4gYWRkZWQgdG8gdGhlIHByb2plY3QsIHRoZSBcIkJ1aWxkIHJlY2lwZVwiIGJ1dHRvbihzKSBhcmUgZGlzYWJsZWQuIEFmdGVyIHRoZSBwcm9qZWN0IGlzIGFkZGVkLCBjaGVjayB0aGF0IHRoZSBcIkJ1aWxkIHJlY2lwZVwiIGJ1dHRvbihzKSBiZWNvbWUgYWN0aXZlIGFuZCBjbGlja2luZyBvbiBhIGJ1dHRvbiBzZW5kcyB5b3UgdG8gdGhlIG1haW4gcHJvamVjdCBwYWdlIGFuZCBzdGFydHMgYSBidWlsZC4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlwiTWFjaGluZXMgdGFibGVcIiBcbkNoZWNrIHRoYXQgaWYgdGhlIGxheWVyIGhhc24ndCBiZWVuIGFkZGVkIHRvIHRoZSBwcm9qZWN0LCB0aGUgXCJTZWxlY3QgbWFjaGluZVwiIGJ1dHRvbihzKSBhcmUgZGlzYWJsZWQuICBBZnRlciB0aGUgcHJvamVjdCBpcyBhZGRlZCwgY2hlY2sgdGhhdCB0aGUgXCJCdWlsZCBtYWNoaW5lXCIgYnV0dG9uKHMpIGJlY29tZSBhY3RpdmUgYW5kIGNsaWNraW5nIG9uIGEgYnV0dG9uIHNlbmRzIHlvdSB0byB0aGUgbWFpbiBwcm9qZWN0IHBhZ2UgYW5kIG1vZGlmaWVzIHRoZSBwcm9qZWN0IG1hY2hpbmUgdG8gdGhlIG9uZSBzZWxlY3RlZC4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgbWVudGlvbmVkIGVsZW1lbnRzIHNob3VsZCBiZSBwcmVzZW50IGFuZCBmdW5jdGlvbmFsLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkxheWVyX2RldGFpbHNfcGFnZTpfVUlfZnVuY3Rpb25hbGl0eSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkltcG9ydGluZ19uZXdfbGF5ZXJzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIFwiSW1wb3J0IGxheWVyXCIgbGluayBzaXR1YXRlZCBpbiB0aGUgXCJQcm9qZWN0IGNvbmZpZ3VyYXRpb25cIiBwb3J0aW9uIG9mIHRoZSBwYWdlLCB1bmRlciBcIkxheWVyc1wiIHRhYmxlLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIGltcG9ydCBsYXllciBmb3JtIGlzIHNob3duLCB3aXRoIHRoZSBmb2xsb3dpbmcgZWxlbWVudHMgYXMgdGV4dCBmaWVsZHMgdG8gYmUgZmlsbGVkIG91dDogXG5MYXllciBuYW1lIChleGFtcGxlOiBtZXRhLWltcG9ydGVkKSBcbkdpdCByZXBvc2l0b3J5IFVSTCAoZXhhbXBsZTogZ2l0Oi8vZ2l0aHViLmNvbS9zaHItZGlzdHJpYnV0aW9uL21ldGEtc21hcnRwaG9uZS5naXQpIFxuUmVwb3NpdG9yeSBzdWJkaXJlY3RvcnkgKG9wdGlvbmFsKSAoZXhhbXBsZTogbWV0YS1hY2VyKSBcblJldmlzaW9uIChleGFtcGxlOiBtYXN0ZXIpIFxuXG5JbiBhZGRpdGlvbiwgYSBzZXBhcmF0ZSBwb3J0aW9uIG9mIHRoZSBmb3JtIHdpbGwgYmUgdGhlIFwiTGF5ZXIgZGVwZW5kZW5jaWVzXCIgcG9ydGlvbiwgd2hlcmUgeW91IGNhbiBhZGQgZGVwZW5kZW5jeSBsYXllcnMgZm9yIHRoZSBsYXllciB5b3UgYXJlIGltcG9ydGluZy4gVGhpcyBwb3J0aW9uIHdpbGwgY29udGFpbiBhIGxpc3Qgb2YgZGVwZW5kZW5jaWVzIGFscmVhZHkgYWRkZWQsIHdpdGggYSB0cmFzaGNhbiBpY29uIG5leHQgdG8gdGhlbSB0aGF0IHdpbGwgZGVsZXRlIHRoZW0gd2hlbiBwcmVzc2VkIGFuZCBhIHRleHQgZmllbGQgd2l0aCBhIFwiYWRkIGxheWVyXCIgYnV0dG9uIG5leHQgdG8gaXQgZm9yIGFkZGluZyBkZXBlbmRlbmNpZXMuIChmb3IgZXhhbXBsZTogbWV0YS1hbmRyb2lkLCBtZXRhLW9lKSBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQXQgdGhlIGJvdHRvbSBvZiB0aGUgZm9ybSwgY2hlY2sgdGhhdCBhIGJ1dHRvbiBleGlzdHMgd2l0aCB0aGUgbGFiZWwgXCJJbXBvcnQgYW5kIGFkZCB0byBwcm9qZWN0XCIuIENoZWNrIHRoYXQgdGhpcyBidXR0b24gaXMgaW5hY3RpdmUgdW50aWwgdGhlIHJlcXVpcmVkIGZpZWxkcyBhcmUgZmlsbGVkIG91dC4gXG5DaGVjayB0aGF0IGNsaWNraW5nIG9uIHRoZSBcIkltcG9ydCBidXR0b25cIiB0YWtlcyB5b3UgYmFjayB0byB0aGUgbWFpbiBwcm9qZWN0IHBhZ2UgYW5kIHRoYXQgdGhlIGltcG9ydGVkIGxheWVyLCBhbG9uZyB3aXRoIGFueSBkZXBlbmRlbmNpZXMsIHdlcmUgYWRkZWQgaW4gdGhlIHByb2plY3QncyBsYXllcnMuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQWxsIG1lbnRpb25lZCBlbGVtZW50cyBzaG91bGQgYmUgcHJlc2VudCBhbmQgZnVuY3Rpb25hbC4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJJbXBvcnRpbmdfbmV3X2xheWVycyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkxheWVyX2RldGFpbHNfcGFnZTpfVUlfZnVuY3Rpb25hbGl0eV9mb3JfaW1wb3J0ZWRfbGF5ZXJzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgXCJWaWV3IGNvbXBhdGlibGUgbGF5ZXJzXCIgbGluayBzaXR1YXRlZCBpbiB0aGUgXCJQcm9qZWN0IGNvbmZpZ3VyYXRpb25cIiBwb3J0aW9uIG9mIHRoZSBwYWdlLCB1bmRlciBcIkxheWVyc1wiIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VsZWN0IGFuIGltcG9ydGVkIGxheWVyIChzZWUgaW4gVEMgMTExMiBob3cgdG8gaW1wb3J0IGEgbGF5ZXIpLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiUGFnZSBoZWFkaW5nIFxuQ2hlY2sgdGhhdCB0aGUgcGFnZSBoZWFkaW5nIGluY2x1ZGVzIHRoZSBicmFuY2gsIHRhZyBvciBjb21taXQgYXMgZW50ZXJlZCB3aGVuIGltcG9ydGluZyB0aGUgbGF5ZXIuXG5JZiBpdCdzIGEgY29tbWl0LCBDaGVjayB0aGF0IG9ubHkgdGhlIGZpcnN0IDEwIGNoYXJhY3RlcnMgYXJlIHNob3duIGZvbGxvd2VkIGJ5IGFuIGVsbGlwc2lzIGNoYXJhY3Rlci4gVGhlIGZ1bGwgY29tbWl0IHNob3dzIG9uIGhvdmVyLlRoZSBicmFuY2gsIHRhZyBvciBjb21taXQgaW5mb3JtYXRpb24gYWxzbyBzaG93cyBpbiB0aGUgYnJlYWRjcnVtYi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBcIkFib3V0XCIgaW5mb3JtYXRpb24gXG5JdCBzaG93czogXG4tIFN1bW1hcnkgXG4tIERlc2NyaXB0aW9uIFxuaW4gdGhpcyBvcmRlci4gVGhvc2UgdHdvIGl0ZW1zIGFsd2F5cyBzaG93LCBpbmRlcGVuZGVudGx5IG9mIHRoZW0gYmVpbmcgYmxhbmsgb3Igbm90LCBzaW5jZSB0aGV5IGNhbiBiZSBlZGl0ZWQgYnkgdXNlcnMuIFxuXG5XaGVuIGFuIGluZm9ybWF0aW9uIGl0ZW0gaXMgZW1wdHksIGl0IHNob3dzIGFzIFwibm90IHNldFwiIHdpdGggYSBcImNoYW5nZVwiIGljb24uIENsaWNrIG9uIHRoZSBpY29uIHRvIGFkZCBhIHZhbHVlLiBcblxuRm9yIFwiU3VtbWFyeVwiIGFuZCBcIkRlc2NyaXB0aW9uXCIgY2xpY2tpbmcgdGhlIFwiY2hhbmdlXCIgaWNvbiBzaG93cyB0aGUgc2VsZWN0ZWQgaW5mb3JtYXRpb24gaXRlbSBpbiBpdHMgZWRpdGFibGUgc3RhdGUuIEl0IGNvbnNpc3RzIG9mIGEgdGV4dCBhcmVhLCBzZXQgdG8gMiByb3dzIGZvciB0aGUgXCJTdW1tYXJ5XCIgYW5kIHRvIDYgcm93cyBmb3IgdGhlIFwiRGVzY3JpcHRpb25cIiwgcGx1cyAnc2F2ZScgYW5kICdjYW5jZWwnIGJ1dHRvbnMuICBcblRoZSAnc2F2ZScgYnV0dG9ucyBvbmx5IGFjdGl2YXRlIHdoZW4gdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciBpbiB0aGUgdGV4dCBhcmVhLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIHRhYnMgXG5DaGVjayB0aGF0IHRoZSB0YWJzIHNob3duIGFyZTogXG4tIFwiTGF5ZXIgZGV0YWlsc1wiIFxuLSBcIlJlY2lwZXNcIiBcbi0gXCJNYWNoaW5lc1wiIFxuVGhlIHRhYnMgc2hvdWxkIHNob3cgaW4gdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgYXJlIGxpc3RlZCBhYm92ZS4gXG5cblwiTGF5ZXIgZGV0YWlsc1wiIHRhYjogXG5JbiBub3QtZWRpdGFibGUgcGFnZXMsIHRoZSB0YWIgc2hvd3M6IFxuLSBBIGJ1dHRvbiB0byBhZGQgLyByZW1vdmUgdGhlIGxheWVyIHRvIC8gZnJvbSB0aGUgcHJvamVjdC4gSW4gdGhpcyB0YWIsIHRoZSBidXR0b24gbGFiZWxzIGFyZTogXG5cdC0gXCJBZGQgdGhlICRsYXllcl9uYW1lIGxheWVyIHRvIHlvdXIgcHJvamVjdFwiIFxuXHQtIFwiRGVsZXRlIHRoZSAkbGF5ZXJfbmFtZSBsYXllciBmcm9tIHlvdXIgcHJvamVjdFwiIFxuXG4tIFNvbWUgZGV0YWlscyBhYm91dCB0aGUgbGF5ZXI6IHJlcG9zaXRvcnkgVVJMLCByZXBvc2l0b3J5IHN1YmRpcmVjdG9yeSwgcmV2aXNpb24gKGJyYW5jaCAvIHRhZyAvIGNvbW1pdCkgYW5kIHRoZSBsaXN0IG9mIGxheWVyIGRlcGVuZGVuY2llcy4gVGhpcyBpcyB0aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgZnJvbSB1c2VycyB3aGVuIGltcG9ydGluZyBhIGxheWVyLiAgVGhlIHN1YmRpcmVjdG9yeSBhbmQgdGhlIGxheWVyIGRlcGVuZGVuY2llcyBjYW4gYmUgYmxhbmsuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSWYgYmxhbmssIHRoZXkgc2hvdyBhcyBcIm5vdCBzZXRcIi4gXG5cbkVkaXRpbmcgdGhlIFwiUmVwb3NpdG9yeSBVUkxcIiBcblRoZSBcIkdpdCByZXBvc2l0b3J5IFVSTFwiIGNhbm5vdCBiZSBibGFuay4gVGhlcmVmb3JlLCB3ZSBzaG93IG9ubHkgYSBcImNoYW5nZVwiIGljb24gbmV4dCB0byBpdC4gV2hlbiB5b3UgY2xpY2sgdGhlIGljb24sIHRoZSB0ZXh0IGlucHV0IGZpZWxkIGlzIHNldCB0byB0aGUgY3VycmVudCB2YWx1ZS4gSWYgeW91IGRlbGV0ZSB0aGUgdmFsdWUgZnJvbSB0aGUgaW5wdXQgZmllbGQsIHdlIGRpc2FibGUgdGhlIFwic2F2ZVwiIGJ1dHRvbi4gV2UgZW5hYmxlIGl0IGFnYWluIHdoZW4geW91IHR5cGUgc29tZXRoaW5nIGluIHRoZSBmaWVsZC4gIFxuXG5FZGl0aW5nIHRoZSBcIlJlcG9zaXRvcnkgc3ViZGlyZWN0b3J5XCIgXG5UaGUgXCJSZXBvc2l0b3J5IHN1YmRpcmVjdG9yeVwiIGNhbiBiZSBibGFuay4gVGhlcmVmb3JlLCB3ZSBzaG93IGJvdGggXCJjaGFuZ2VcIiBhbmQgXCJkZWxldGVcIiBpY29ucy4gV2hlbiB5b3UgY2xpY2sgdGhlIFwiZGVsZXRlXCIgaWNvbiwgd2UgIFxuc2hvdyB0aGUgbGFiZWwgXCJOb3Qgc2V0XCIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiXG5XaGVuIHlvdSBjbGljayB0aGUgXCJjaGFuZ2VcIiBpY29uLCB0aGUgdGV4dCBpbnB1dCBmaWVsZCBpcyBzZXQgXG50byB0aGUgY3VycmVudCB2YWx1ZS4gIFxuSWYgeW91IGRlbGV0ZSB0aGUgdmFsdWUgZnJvbSB0aGUgaW5wdXQgZmllbGQsIHdlIGRpc2FibGUgdGhlIFwic2F2ZVwiIGJ1dHRvbi4gV2UgZW5hYmxlIGl0IGFnYWluIHdoZW4geW91IHR5cGUgc29tZXRoaW5nIGluIHRoZSBmaWVsZC4gXG4gXG5cbkVkaXRpbmcgdGhlIFwiUmV2aXNpb25cIiBcblRoZSBcIlJldmlzaW9uXCIgY2Fubm90IGJlIGJsYW5rLiBUaGVyZWZvcmUsIHdlIHNob3cgb25seSBhIFwiY2hhbmdlXCIgaWNvbiBuZXh0IHRvIGl0LiBXaGVuIHlvdSBjbGljayB0aGUgaWNvbiwgdGhlIHRleHQgaW5wdXQgZmllbGQgaXMgc2V0IHRvIHRoZSBjdXJyZW50IHZhbHVlLiBJZiB5b3UgZGVsZXRlIHRoZSB2YWx1ZSBmcm9tIHRoZSBpbnB1dCBmaWVsZCwgd2UgZGlzYWJsZSB0aGUgXCJzYXZlXCIgYnV0dG9uLiBXZSBlbmFibGUgaXQgYWdhaW4gd2hlbiB5b3UgdHlwZSBzb21ldGhpbmcgaW4gdGhlIGZpZWxkLiBcblxuVGhlIFwiUmVjaXBlc1wiIHRhYiBcbkl0IHNob3dzOiBcbjE6IEEgY291bnRlciBpbiB0aGUgdGFiIGxhYmVsIHNob3dpbmcgdGhlIHRvdGFsIG51bWJlciBvZiB0YXJnZXRzIHByb3ZpZGVkIGJ5IHRoZSBsYXllciBcbjI6IEEgYnV0dG9uIHRvIGFkZC9yZW1vdmUgdGhlIGxheWVyIHRvL2Zyb20gdGhlIHByb2plY3QuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIHRoaXMgdGFiLCB0aGUgYnV0dG9uIGxhYmVscyBhcmUgXG4gXG5cIkFkZCB0aGUgJGxheWVyX25hbWUgbGF5ZXIgdG8geW91ciBwcm9qZWN0IHRvIGVuYWJsZSBcbnRoZXNlIHRhcmdldHNcIiBcblwiRGVsZXRlIHRoZSAkbGF5ZXJfbmFtZSBsYXllciBmcm9tIHlvdXIgcHJvamVjdFwiIFxuXG4zOiBBIFwiUmVjaXBlc1wiIHRhYmxlIHdpdGggdGhlIGZvbGxvd2luZyBjb2x1bW5zOiBcbiBcbi0gUmVjaXBlIFxuLSBEZXNjcmlwdGlvbjogdGhlIHZhbHVlIG9mIHRoZSBERVNDUklQVElPTiB2YXJpYWJsZS4gSWYgbm90IHNldCwgdGhlbiB0aGUgdmFsdWUgb2YgdGhlIFNVTU1BUlkgdmFyaWFibGUuIFxuLSBCdWlsZCByZWNpcGUsIHdoaWNoIHNob3dzIGEgXCJidWlsZCByZWNpcGVcIiBidXR0b24uIFRoZSBcImJ1aWxkIHJlY2lwZVwiIGJ1dHRvbiBpcyBkaXNhYmxlZCB3aGVuIHRoZSBsYXllciBpcyBub3QgYWRkZWQgdG8gdGhlIHByb2plY3QuIFxuVGhlIHJlY2lwZXMgdGFibGUgaXMgc29ydGVkIGJ5IFwiUmVjaXBlXCIgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlci4gXG5cblRoZSBcIk1hY2hpbmVzXCIgdGFiOiBcbkl0IHNob3dzOiBcbjE6IEEgY291bnRlciBpbiB0aGUgdGFiIGxhYmVsIHNob3dpbmcgdGhlIHRvdGFsIG51bWJlciBvZiBtYWNoaW5lcyBwcm92aWRlZCBieSB0aGUgbGF5ZXIgXG4yOiBBIGJ1dHRvbiB0byBhZGQvcmVtb3ZlIHRoZSBsYXllciB0by9mcm9tIHRoZSBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTAiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiB0aGlzIHRhYiwgdGhlIGJ1dHRvbiBsYWJlbHMgYXJlIFxuIFxuXHQtIFwiQWRkIHRoZSAkbGF5ZXJfbmFtZSBsYXllciB0byB5b3VyIHByb2plY3QgdG8gZW5hYmxlIHRoZXNlIG1hY2hpbmVzXCIgXG5cdC0gXCJEZWxldGUgdGhlICRsYXllcl9uYW1lIGxheWVyIGZyb20geW91ciBwcm9qZWN0XCIgXG4zOiBBIFwibWFjaGluZXNcIiB0YWJsZSB3aXRoIHRoZSBmb2xsb3dpbmcgY29sdW1uczogIFxuLSBNYWNoaW5lLiBcbiBcbi0gRGVzY3JpcHRpb246IFRoZSB2YWx1ZSBvZiB0aGUgREVTQ1JJUFRJT04gdmFyaWFibGUgaW4gdGhlIC5jb25mIGZpbGUgXG4tIFNlbGVjdCBtYWNoaW5lLCB3aGljaCBzaG93cyBhIFwic2VsZWN0XCIgYnV0dG9uLiBUaGUgXCJzZWxlY3RcIiBidXR0b24gaXMgZGlzYWJsZWQgd2hlbiB0aGUgbGF5ZXIgaXMgbm90IGFkZGVkIHRvIHRoZSBwcm9qZWN0LiBcblRoZSBtYWNoaW5lcyB0YWJsZSBpcyBzb3J0ZWQgYnkgXCJNYWNoaW5lXCIgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlci4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgbWVudGlvbmVkIGVsZW1lbnRzIHNob3VsZCBiZSBwcmVzZW50IGFuZCBmdW5jdGlvbmFsLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkxheWVyX2RldGFpbHNfcGFnZTpfVUlfZnVuY3Rpb25hbGl0eV9mb3JfaW1wb3J0ZWRfbGF5ZXJzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuTXVsdGlwbGVfYnVpbGRfZGlyZWN0b3JpZXMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJhZnRlciBzdGFydGluZyBUb2FzdGVyIGZvciB0aGUgZmlyc3QgdGltZSwgZ28gdG8gaHR0cDovL1tsb2NhbGhvc3RdOjgwMDAvYWRtaW4vIGFuZCBsb2dpbiB3aXRoIHRoZSBhZG1pbiB1c2VyIHlvdSBjcmVhdGVkIGR1cmluZyBzZXR1cC4gQ2xpY2sgb24gdGhlIEJ1aWxkIGVudmlyb25tZW50cyBzZWN0aW9uLCBhbmQgb24gdGhlIEJ1aWxkRW52aXJvbm1lbnQgb2JqZWN0LiBcblxuXG5cbk5vdGU6IHlvdSBjYW4gY3JlYXRlIGEgc3VwZXJ1c2VyIHRvIGVudGVyIGFzIGFkbWluIHdpdGggLi4uIHBva3kvYml0YmFrZS9saWIvdG9hc3Rlci9tYW5hZ2UucHkgY3JlYXRlc3VwZXJ1c2VyIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIm1ha2Ugbm90ZSBvZiB0aGUgXCJzb3VyY2VkaXJcIiBhbmQgXCJidWlsZGRpclwiIHZhbHVlcy4gVGhlIGJ1aWxkIGRpciB3aWxsIGJlIHNvbWV0aGluZyBsaWtlIFwiL2hvbWUvdXNlci9wYXRoL2J1aWxkXCIgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBjbGljayBcImJhY2tcIiwgYW5kIGNsaWNrIG9uIHRoZSBcIkFkZCBidWlsZCBlbnZpcm9ubWVudFwiIGJ1dHRvbiBpbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiZW50ZXIgQWRkcmVzcyBcIjJcIiwgQmV0eXBlOiBcImxvY2FsXCIsIFwic291cmNlZGlyXCIgaXMgdG8gYmUgc2V0IHRvIHdoYXRldmVyIHRoZSBvcmlnaW5hbCBidWlsZCBlbnYgaXMgc2V0LCBhbmQgXCJidWlsZGRpclwiIGlzIEFOT1RIRVIgcGF0aCBhdCB0aGUgc2FtZSBsZXZlbCBhcyB0aGUgb3JpZ2luYWwgYnVpbGRkaXIgLSBlLmcuIFwiL2hvbWUvdXNlci9wYXRoL2J1aWxkMlwiIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBzYXZlIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFeGVjdXRlIGNvbW1hbmQgOiAvcG9reSQgc291cmNlIG9lLWluaXQtYnVpbGQtZW52IGJ1aWxkMiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIG5ldyBwcm9qZWN0IFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJpc3N1ZSAyIGJ1aWxkIChlLmcuIGNvcmUtaW1hZ2UtbWluaW1hbCBjb3JlLWltYWdlLXNhdG8pXG5cblxuXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCb3RoIGJ1aWxkIGNvbW1hbmRzIHNob3VsZCBydW4gc2ltdWx0YW5lb3VzbHkuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiTXVsdGlwbGVfYnVpbGRfZGlyZWN0b3JpZXMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5SdW5fYWdhaW5fYnV0dG9uX2Zyb21fYWxsX2J1aWxkc19wYWdlX211c3RfcnVuX3RoZV9zcGVjaWZpZWRfdGFzayIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCBUb2FzdGVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdCBvciBzZWxlY3QgYW4gZXhpc3RpbmcgcHJvamVjdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBQcm9qZWN0IENyZWF0ZWQuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIGEgaW1hZ2UgdGFzayAoZXg6IGNvcmUtaW1hZ2UtbWluaW1hbDpjbGVhbikgYW5kIHdhaXQgdW50aWwgYnVpbGQgZmluaXNoLlxuZnJvbSBhbGwgYnVpbGQgcGFnZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBCdWlsZCB0YXNrIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gcmVidWlsZCBidXR0b24gZnJvbSBhbGwgYnVpbGQgcGFnZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlNwZWNpZmllZCB0YXNrIHdpbGwgcnVuIGFnYWluLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgYnVpbGQgYW5kIHZlcmlmeSBpZiB0aGUgbnVtYmVyIG9mIHRhc2tzIGV4ZWN1dGVkID0gMS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9ubHkgdGhlIHNwZWNpZmllZCB0YXNrIGlzIGV4ZWN1dGVkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGcm9tIHByb2plY3QgYnVpbGRzIHBhZ2UgY2xpY2sgb24gcnVuIGFnYWluIGJ1dHRvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlNwZWNpZmllZCB0YXNrIHdpbGwgcnVuIGFnYWluLlxuIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRoZSBidWlsZCBhbmQgdmVyaWZ5IGlmIHRoZSBudW1iZXIgb2YgdGFza3MgZXhlY3V0ZWQgPSAxLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiUnVuX2FnYWluX2J1dHRvbl9mcm9tX2FsbF9idWlsZHNfcGFnZV9tdXN0X3J1bl90aGVfc3BlY2lmaWVkX3Rhc2siCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5JbnRlbF9sYXllcnNfYnVpbGRzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUb2FzdGVyIHN0YXJ0cy4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgcmVsZWFzZSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJQcm9qZWN0IENyZWF0ZWQuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIGxheWVycyB0YWIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGNvbXBhdGlibGUgbGF5ZXJzIHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaCBmb3IgaW50ZWwuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZXR1cm4gcmVzdWx0cyBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBZGQgaW50ZWwgbGF5ZXJzIGxpa2U6IG1ldGEtaW50ZWwsIG1ldGEtaW50ZWwtcXVhcmsuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJMYXllcnMgYWRkZWQgdG8gcHJvamVjdC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIGFkZGVkIGxheWVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBsYXllciBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGcm9tIG1hY2hpbmUgdGFiLCBzZWxlY3QgYSBtYWNoaW5lLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTWFjaGluZSBoYXMgY2hhbmdlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgYSByZWNpcGUoY29yZS1pbWFnZS1taW5pbWFsKSBvciBhIHJlY2lwZSBmcm9tIHJlY2lwZSB0YWIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCdWlsZCBmaW5pc2hlcyBzdWNjZXNzZnVsbHkuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiSW50ZWxfbGF5ZXJzX2J1aWxkcyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkRvd25sb2FkX290aGVyX2FydGlmYWN0cyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJEZWxldGUgdGhlIGJ1aWxkL3RtcCBmb2xkZXIuICh0byBtYWtlIHN1cmUgdGhlIHJvb3RmcyB0YXNrIHJ1bnMgYW5kIG90aGVyIGFydGlmYWN0cyBhcmUgZ2VuZXJhdGVkIGZvciB0aGUgYnVpbGQpIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgVG9hc3Rlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvYXN0ZXIgc3RhcnRzLiBcblx0IgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgcmVsZWFzZSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJQcm9qZWN0IENyZWF0ZWQuIFxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgYW4gaW1hZ2UgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCdWlsZCBmaW5pc2hlcyBzdWNjZXNzZnVsbHkuIFxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIGJ1aWx0IHJlY2lwZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gYnVpbGQgc3VtbWFyeSBwYWdlLiBcblx0IgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gb3RoZXIgYXJ0aWZhY3RzIHRhYiBjbGljayBvbiBhIGxpbmsuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJZb3UgY2FuIGRvd25sb2FkIG90aGVyIGFydGlmYWN0cy4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJEb3dubG9hZF9vdGhlcl9hcnRpZmFjdHMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5Eb3dubG9hZF9saWNlbmNlX21hbmlmZXN0IiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkRlbGV0ZSB0aGUgYnVpbGQvdG1wIGZvbGRlci4gKHRvIG1ha2Ugc3VyZSBsaWNlbnNlIG1hbmlmZXN0IGlzIGdlbmVyYXRlZCkiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCBUb2FzdGVyIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvYXN0ZXIgc3RhcnRzLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJQcm9qZWN0IENyZWF0ZWQuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIGFuIGltYWdlIHJlY2lwZSAoZXg6IGNvcmUtaW1hZ2UtbWluaW1hbCkgYW5kIHdhaXQgdW50aWwgYnVpbGQgZmluaXNoLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCdWlsZCBmaW5pc2hlcyBzdWNjZXNzZnVsbHkuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRoZSBidWlsdCByZWNpcGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gYnVpbGQgc3VtbWFyeSBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGcm9tIEltYWdlIHRhYiBjbGljayBvbiBcIkRvd25sb2FkXCIgYnV0dG9uIGZvciBMaWNlbnNlIG1hbmlmZXN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiWW91IGNhbiBkb3dubG9hZCBsaWNlbnNlIG1hbmlmZXN0LiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkRvd25sb2FkX2xpY2VuY2VfbWFuaWZlc3QiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5UZXN0X2RlcGVuZGVuY2llc19sYXllcnMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgVG9hc3Rlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvYXN0ZXIgc3RhcnRzLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gTGF5ZXJzLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjb21wYXRpYmxlIGxheWVycyBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBZGQgYSBsYXllciB3aXRoIG11bHRpLWxldmVsIGRlcGVuZGVuY2llcy4gKGV4OiBtZXRhLWFjZXIpIFxuVGhpcyBsYXllciBkZXBlbmRzIG9uIG1ldGEtbmV0d29ya2luZywgd2hpY2ggaW4gdHVybiBkZXBlbmRzIG9uIG1ldGEtYW5kcm9pZC4gXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRoZSBzZWxlY3RlZCBsYXllciBhbmQgZGVwZW5kZW5jaWVzIHdlcmUgYWRkZWQgdG8gcHJvamVjdC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgaWYgbWV0YS1weXRob24gYXBwZWFycyBpbiB0aGUgZGVwZW5kZW5jaWVzIGxpc3QsIGFuZCBhZGQgdGhlIGxheWVycyB0byBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkRlbGV0ZSBhIGRlcGVuZGVuY3kgbGF5ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJMYXllciByZW1vdmVkIGZyb20gcHJvamVjdC4gXG4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgYSByZWNpcGUgKGV4OiBjb3JlLWltYWdlLW1pbmltYWwpIGFuZCB3YWl0IHVudGlsIGJ1aWxkIGZpbmlzaC5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgd2lsbCBmYWlsIHdpdGggYW4gZXJyb3IuXG5cblx0IgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVGVzdF9kZXBlbmRlbmNpZXNfbGF5ZXJzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVGVzdF9idWlsZF9yZWNpcGVfYnV0dG9uX2Zyb21fcmVjaXBlc19wYWdlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUb2FzdGVyIHN0YXJ0cy4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgcmVsZWFzZSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJQcm9qZWN0IENyZWF0ZWQuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHNvZnR3YXJlIHJlY2lwZXMgLyBpbWFnZSByZWNpcGVzLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjb21wYXRpYmxlIHNvZnR3YXJlIHJlY2lwZXMgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VsZWN0IGEgcmVjaXBlIGFuZCBjbGljayBvbiAnYWRkIGxheWVyJyBidXR0b24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJMYXllciBhZGRlZCB0byBwcm9qZWN0IGFuZCB0aGUgJ2FkZCBsYXllcicgYnV0dG9uIGJlY29tZXMgJ2J1aWxkIHJlY2lwZScuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIFwiQnVpbGQgcmVjaXBlXCIgYnV0dG9uIGZvciBvbmUgcmVjaXBlIChleCA6IGNvcmUtaW1hZ2UtbWluaW1hbCAvIGJ1c3lib3gpLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUZXN0IHRoaXMgZm9yIHNvZnR3YXJlIGFuZCBpbWFnZSByZWNpcGVzIHRhYmxlcy4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlRlc3RfYnVpbGRfcmVjaXBlX2J1dHRvbl9mcm9tX3JlY2lwZXNfcGFnZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlRlc3RfY29tcGF0aWJsZV9tYWNoaW5lcyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCBUb2FzdGVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIG1hc3RlciByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiR28gdG8gbWFjaGluZXMgcGFnZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gY29tcGF0aWJsZSBtYWNoaW5lcyBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaG9vc2UgYSBtYWNoaW5lIGFuZCBjbGljayBvbiBhZGQgbGF5ZXIgZm9yIGl0LiAoaW50ZWwtY29yZTItMzIpIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJMYXllcnMgYWRkZWQgdG8gcHJvamVjdCBhbmQgYWRkIGxheWVyIGJ1dHRvbiBiZWNvbWVzIHNlbGVjdCBtYWNoaW5lLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBzZWxlY3QgbWFjaGluZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk1hY2hpbmUgaGFzIGNoYW5nZWQuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkdvIHRvIGxheWVyIHBhZ2UgdGhhdCBnZW5lcmF0ZSB0aGUgbWFjaGluZS4gKG1ldGEtaW50ZWwpIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGxheWVyIHBhZ2UgXG4iCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgYSByZWNpcGUgZ2VuZXJhdGVkIGJ5IHRoYXQgbGF5ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCdWlsZCBmaW5pc2hlcyBzdWNjZXNzZnVsbHkuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVGVzdF9jb21wYXRpYmxlX21hY2hpbmVzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQnVpbGRzX3dpdGhfZGlmZmVyZW50X21hY2hpbmVzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUb2FzdGVyIHN0YXJ0cy4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgbWFzdGVyIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUHJvamVjdCBDcmVhdGVkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWxlY3QgYSBtYWNoaW5lIChleDogcWVtdXg4Ni02NCkiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRoZSBtYWNoaW5lIGhhcyBjaGFuZ2VkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhIHJlY2lwZSAoZXg6IGNvcmUtaW1hZ2UtbWluaW1hbCkgYW5kIHdhaXQgdW50aWwgYnVpZCBmaW5pc2guIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCdWlsZCBmaW5pc2hlcyBzdWNjZXNzZnVsbHkuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkdvIHRvIHByb2plY3QgcGFnZSBhbmQgY2hhbmdlIHRoZSBtYWNoaW5lIChleDogcWVtdW1pcHMpIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUaGUgbWFjaGluZSBoYXMgY2hhbmdlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgYSByZWNpcGUgKGV4OiBjb3JlLWltYWdlLXNhdG8pIGFuZCB3YWl0IHVudGlsIGJ1aWxkIGZpbmlzaC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4gXG5cbllvdSBjYW4gYnVpbGQgcmVjaXBlcyB3aXRoIGRpZmZlcmVudCBtYWNoaW5lcy4iCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgb24gYnVpbGQgc3VtbWFyeSBwYWdlIHRoYXQgdGhlIG1hY2hpbmUgbWF0Y2ggdGhlIG1hY2hpbmUgc2VsZWN0ZWQuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJCdWlsZHNfd2l0aF9kaWZmZXJlbnRfbWFjaGluZXMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5UZXN0X2JpdGJha2VfdmFyaWFibGVzXy1fSU1BR0VfRlNUWVBFUyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCBUb2FzdGVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiR28gdG8gQ29uZmlndXJhdGlvbiAtLT4gQml0QmFrZSB2YXJpYWJsZXMiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gQml0YmFrZSB2YXJpYWJsZXMgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hhbmdlIElNQUdFX0ZTVFlQRVMgdmFyaWFibGUsIGFkZCBzb21lIGltYWdlIHR5cGVzIGxpa2U6IGhkZGltZywgZXh0NCwgZXRjLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiSW1hZ2UgdHlwZXMgd2VyZSBhZGRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgYSByZWNpcGUgKGV4OiBjb3JlLWltYWdlLW1pbmltYWwpIGFuZCB3YWl0IHVudGlsIGJ1aWxkIGZpbmlzaC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVmVyaWZ5IGluIHRoZSBidWlsZCBzdW1tYXJ5IHBhZ2UgaWYgdGhlIGltYWdlIHR5cGVzIHNlbGVjdGVkIHdlcmUgYnVpbHQuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgdGhlIGltYWdlIHR5cGVzIHNlbGVjdGVkIGFwcGVhcnMgaW4gdGhlIGJ1aWxkIHN1bW1hcnkgcGFnZS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJUZXN0X2JpdGJha2VfdmFyaWFibGVzXy1fSU1BR0VfRlNUWVBFUyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlNvZnR3YXJlX3JlY2lwZXM6X2RlZmF1bHRfdmlldyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIElmIG5vIGltYWdlcyBleGlzdCBpbiB0aGUgcHJvamVjdCwgYnVpbGQgYW4gaW1hZ2UgYnkgaW5zZXJ0aW5nIFwiY29yZS1pbWFnZS1taW5pbWFsXCIgaW4gdGhlIFwiUmVjaXBlc1wiIGZpZWxkIGFuZCBwcmVzcyB0aGUgXCJCdWlsZFwiIGJ1dHRvbi4gV2FpdCBmb3IgdGhlIGltYWdlIHRvIGZpbmlzaCBidWlsZGluZy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9uIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gdGhlIFwiU29mdHdhcmUgUmVjaXBlc1wiIGxpbmsgc2l0dWF0ZWQgaW4gdGhlIGxlZnQtaGFuZGVkIHNpZGUgb2YgdGhlIHBhZ2UsIHVuZGVyIHRoZSBcIlByb2plY3QgY29uZmlndXJhdGlvblwiIG1lbnVzLCBpbiB0aGUgXCJDT01QQVRJQkxFIE1FVEFEQVRBXCIgdGFibGUuIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgXCJDb21wYXRpYmxlIHNvZnR3YXJlIHJlY2lwZXNcIiB0YWJsZSBpcyBwb3B1bGF0ZWQuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSBmb2xsb3dpbmcgY29sdW1ucyBhcmUgc2hvd24gYnkgZGVmYXVsdDogXG5cblx0XHRTb2Z0d2FyZSByZWNpcGUgXG5cdFx0RGVzY3JpcHRpb24gXG4gXG5cdFx0TGF5ZXIgXG5cdFx0QnVpbGQgXG5cdFx0ICAgICBWZXJzaW9uICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiU29mdHdhcmVfcmVjaXBlczpfZGVmYXVsdF92aWV3IgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuU29mdHdhcmVfcmVjaXBlczpfc29ydGluZ190aGVfY29udGVudF9vZl90aGVfc29mdHdhcmVfcmVjaXBlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiTmF2aWdhdGUgdG8gdGhlIFwiU29mdHdhcmUgUmVjaXBlc1wiIHBhZ2UuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJNYWtlIHN1cmUgdGhlIHRhYmxlIGlzIHNvcnRlZCBvbiB0aGUgXCJTb2Z0d2FyZSBSZWNpcGVcIiBjb2x1bW4gYnkgZGVmYXVsdCBpbiBhc2NlbmRpbmcgb3JkZXIuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBY3RpdmF0ZSBhbGwgY29sdW1ucyBmcm9tIHRoZSBcIkVkaXQgY29sdW1uXCIgZHJvcC1kb3duIG1lbnUuIENoZWNrIHRoYXQgXCJCdWlsZFwiIGFuZCBcIlNvZnR3YXJlIFJlY2lwZVwiIGNvbHVtbnMgY2Fubm90IGJlIHVuY2hlY2tlZC4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgXCJTb2Z0d2FyZSBSZWNpcGVcIiwgXCJTZWN0aW9uXCIsIFwiTGljZW5zZVwiLCBcIkxheWVyXCIgYXJlIHRoZSBvbmx5IHNvcnRhYmxlIHRhYmxlIGhlYWRzLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU29ydCB0aGUgdGFibGUgYnkgXCJMYXllclwiIGFuZCB0aGVuIG5hdmlnYXRlIGF3YXkgYnkgc2VsZWN0aW5nIGEgbGF5ZXIoc3VjaCBhcyBtZXRhLXlvY3RvKS4gV2hlbiB5b3UgY2xpY2sgXCJiYWNrXCIgYnV0dG9uIGluIHdlYi1icm93c2VyIHRvIGdvIGJhY2sgdG8gdGhlIFwiQ29tcGF0aWJsZSBpbWFnZSByZWNpcGVzXCIgdGFibGUgaXQgc2hvdWxkIHN0aWxsIGJlIHNvcnRlZCBieSBcIkxheWVyXCIuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0aW5nIGFuZCBcIkVkaXQgY29sdW1uc1wiIFxuSWYgeW91IHVzZSB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51IHRvIGhpZGUgdGhlIGNvbHVtbiB3aXRoIHRoZSBhcHBsaWVkIHNvcnRpbmcsIHdlIHJldmVydCB0aGUgc29ydGluZyB0byB0aGUgZGVmYXVsdCBzb3J0aW5nIChpLmUuIFwiUmVjaXBlXCIpLiBUaGUgZGVmYXVsdCBzb3J0aW5nIGFsd2F5cyB1c2VzIG9uZSBvZiB0aGUgY29yZSBjb2x1bW5zLCB3aGljaCBjYW5ub3QgYmUgaGlkZGVuIHVzaW5nIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0aW5nIGFuZCBzZWFyY2ggXG5TZWFyY2hpbmcgc2hvdWxkIGhhdmUgbm8gaW1wYWN0IG9uIHRoZSBhcHBsaWVkIHNvcnRpbmcuIEFueSByZXN1bHRzIHJldHVybmVkIHNob3VsZCBiZSBzb3J0ZWQgYnkgdGhlIHNvcnRpbmcgY3JpdGVyaWEgc2VsZWN0ZWQgd2hlbiB0aGUgc2VhcmNoIHF1ZXJ5IHdhcyBzdWJtaXR0ZWQuIFxuU29ydCByZWNpcGVzIGJ5IFwiTGF5ZXJcIiBjb2x1bW4gaGVhZGluZy4gSW5wdXQgYSBzdHJpbmcgKHN1Y2ggYXMgXCJtZXRhXCIpIGluIHNlYXJjaCBib3ggYW5kIGNsaWNrIHNlYXJjaCBidXR0b24uIE1ha2Ugc3VyZSByZXN1bHRzIHJldHVybmVkIGFyZSBzb3J0ZWQgYnkgXCJMYXllclwiLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiU29mdHdhcmVfcmVjaXBlczpfc29ydGluZ190aGVfY29udGVudF9vZl90aGVfc29mdHdhcmVfcmVjaXBlc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlNvZnR3YXJlX3JlY2lwZXM6X1NlYXJjaGluZ190aGVfY29udGVudF9vZl90aGVfc29mdHdhcmVfcmVjaXBlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiTmF2aWdhdGUgdG8gdGhlIFwiU29mdHdhcmUgUmVjaXBlc1wiIHBhZ2UuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSBzZWFyY2ggaXMgbWFkZSBvZiBhIHRleHQgaW5wdXQgZmllbGQgYW5kIGEgXCJTZWFyY2hcIiBidXR0b24gaW4gYSB0b29sYmFyIGFib3ZlIHRoZSB0YWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIldoZW4gbm8gc2VhcmNoIHF1ZXJ5IGhhcyBiZWVuIGVudGVyZWQsIHdlIGhhdmUgcGxhY2Vob2xkZXIgdGV4dCBzYXlpbmc6IFwiU2VhcmNoIGNvbXBhdGlibGUgc29mdHdhcmUgcmVjaXBlc1wiLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW5wdXQgXCJjb3JlXCIgaW4gdGhlIHRleHQgaW5wdXQgZmllbGQuIFRoZSBwbGFjZWhvbGRlciB0ZXh0IGRpc2FwcGVhcnMgd2hlbiB0aGUgZmlyc3QgY2hhcmFjdGVyIGlzIHR5cGVkLiBDbGljayBzZWFyY2ggYnV0dG9uLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIFxuKDEpIHJldHVybmVkIHJlc3VsdHMgXG5UaGUgc2VhcmNoIHN0cmluZyBpcyBrZXB0IGluIHRoZSB0ZXh0IGlucHV0IGZpZWxkLiBUaGUgcmVzdWx0cyByZXR1cm5lZCBvY2N1ci4gQ2xpY2sgIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiB0byBjbGVhciB0aGUgc2VhcmNoIGFuZCBkaXNwbGF5IHRoZSBjb21wYXRpYmxlIHJlY2lwZXMuIFxuKDIpIG5vIHJlc3VsdHMgcmV0dXJuZWQgXG5JZiB5b3VyIHNlYXJjaCBxdWVyeSByZXR1cm5zIG5vIHJlc3VsdHMsIHRoZSBwYWdlIGhlYWRpbmcgY2hhbmdlcyB0byBcIk5vIHJlY2lwZXMgZm91bmRcIiwgYW5kIHdlIHNob3cgeW91IGFuIGFsZXJ0IHdpdGggYSBzZWFyY2ggZm9ybSBhbmQgYW4gb3B0aW9uIHRvIHNob3cgYWxsIHRhcmdldHMuIENoZWNrIHRoYXQgXCJzaG93IGNvbXBhdGlibGUgcmVjaXBlc1wiIGJ1dHRvbiBpcyBhdmFpbGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXaGVuIEkgcnVuIGEgc2VhcmNoLCB0aGUgc2VhcmNoIGhhcHBlbnMgYWdhaW5zdCB0aGUgZm9sbG93aW5nIGNvbHVtbnMgKGluZGVwZW5kZW50bHkgb2YgdGhleSBiZWluZyBzaG93biBvciBoaWRkZW4pOlxuLSBTb2Z0d2FyZSBSZWNpcGVcbi0gUmVjaXBlIHZlcnNpb25cbi0gRGVzY3JpcHRpb25cbi0gUmVjaXBlIGZpbGVcbi0gU2VjdGlvblxuLSBMaWNlbnNlXG4tIExheWVyXG4tIFJldmlzaW9uXG5JbnB1dCBhIHN0cmluZyB0byBzZWFyY2ggZm9yIHRoZSBhYm92ZSBjb2x1bW4gaGVhZGluZ3Mgc2VwYXJhdGVseSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgc2VhcmNoIGhhcHBlbnMgYWdhaW5zdCB0aGUgY29sdW1ucy4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWFyY2gsIHNvcnRpbmcgYW5kIFwiRWRpdCBjb2x1bW5zXCIgXG5TZWFyY2hpbmcgZG9lcyBub3QgY2hhbmdlIHRoZSBzdGF0ZSBvZiB0aGUgdGFibGU6IHRoZSBzYW1lIGNvbHVtbnMgcmVtYWluIGhpZGRlbiBhbmQgdGhlIHNhbWUgc29ydGluZyBhcHBsaWVkIHdoZW4gc2VhcmNoIHJlc3VsdHMgYXJlIGRpc3BsYXllZCwgYnV0IGZpbHRlcnMgYXJlIGNsZWFyZWQgYnkgdGhlIHNlYXJjaCByZXN1bHRzLlxuU2VhcmNoIGEgc3RyaW5nIGFuZCBtYWtlIHN1cmUgdGhhdCB0aGUgc2FtZSBjb2x1bW5zIHJlbWFpbiBoaWRkZW4gYW5kIHRoZSBzYW1lIHNvcnRpbmcgYXBwbGllZC4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaCBhbmQgZmlsdGVycyBcblRoZSBzY29wZSBvZiB0aGUgZmlsdGVycyBpcyB0aGUgY29udGVudCBjdXJyZW50bHkgb24gdGhlIHRhYmxlICh0aGlzIG1lYW5zIGFsbCB0YWJsZSBwYWdlcywgbm90IG9ubHkgdGhlIG9uZSBkaXNwbGF5ZWQpLiBUaGUgc2NvcGUgb2YgdGhlIHNlYXJjaCBpcyBhbHdheXMgdGhlIGNvbnRlbnQgb2YgdGhlIGRhdGFiYXNlLiBcblxuSWYgSSBydW4gYSBzZWFyY2ggcXVlcnksIGFueSBmaWx0ZXIgYXBwbGllZCBhZnRlcndhcmRzIHdpbGwgZmlsdGVyIHRoZSBjb250ZW50IHJldHVybmVkIGJ5IHRoZSBzZWFyY2ggcXVlcnkuIFxuXG5JZiBJIHJ1biBhIHNlYXJjaCBxdWVyeSB3aGlsZSBhIGZpbHRlciBpcyBhcHBsaWVkLCB0aGUgZmlsdGVyIGlzIGNsZWFyZWQgYnkgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBxdWVyeSAoaS5lLiB3ZSBkaXNwbGF5IHRoZSByZXN1bHRzIG9mIHRoZSBzZWFyY2ggcXVlcnkgYW5kIGNsZWFyIHRoZSBmaWx0ZXIgYXBwbGllZCBiZWZvcmVoYW5kKS4gVGhlIHNhbWUgaGFwcGVucyBpZiBJIGNsaWNrIHRoZSBcIkNsZWFyIHNlYXJjaFwiIGljb24gd2hlbiBhIGZpbHRlciBpcyBhcHBsaWVkIHRvIGEgc2V0IG9mIHNlYXJjaCByZXN1bHRzIChib3RoIHNlYXJjaCByZXN1bHRzIGFuZCBhcHBsaWVkIGZpbHRlciBhcmUgY2xlYXJlZCwgYW5kIHRoZSB0YWJsZSBzaG93cyBhbGwgdGhlIHRhcmdldHMpLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlNvZnR3YXJlX3JlY2lwZXM6X1NlYXJjaGluZ190aGVfY29udGVudF9vZl90aGVfc29mdHdhcmVfcmVjaXBlc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlNvZnR3YXJlX3JlY2lwZXM6X0ZpbHRlcl90aGVfY29udGVudHNfb2ZfdGhlX3NvZnR3YXJlX3JlY2lwZXNfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJOYXZpZ2F0ZSB0byB0aGUgXCJTb2Z0d2FyZSBSZWNpcGVzXCIgcGFnZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJNYWtlIHN1cmUgdGhlIGZvbGxvd2luZyB0YWJsZSBjb2x1bW4gaGFzIGZpbHRlcnM6IFxuLSBCdWlsZCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZpbHRlcnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gQ2xpY2sgYSBmaWx0ZXIgYnV0dG9uIG9mIGEgb25lIGNvbHVtbiBhbmQgYSBmaWx0ZXIgZGlhbG9ndWUgb2NjdXJzLiBTZWxlY3QgYSBmaWx0ZXIgaXRlbS4gVGhlIGZpbHRlciByZXN1bHQgd291bGQgYmUgc2hvd2VkLiBUaGVuIHNlbGVjdCBhbm90aGVyIGZpbHRlciBpdGVtIG9mIGFub3RoZXIgY29sdW1uIGFuZCB0aGUgcHJldmlvdXNseSBhcHBsaWVkIGZpbHRlciBpcyBvdmVycmlkZGVuIGJ5IHRoZSBuZXdseSBzZWxlY3RlZCBmaWx0ZXIgd2hlbiBhIGZpbHRlciBmcm9tIGEgZGlmZmVyZW50IGNvbHVtbiBpcyBhcHBsaWVkIHRvIHRoZSB0YWJsZS4gSW4gdGhpcyBzdGF0ZSwgd2Ugc2hvdyBzb21lIGhlbHAgdGV4dCBuZXh0IHRvIHRoZSBcIkFwcGx5XCIgYnV0dG9uLCBzYXlpbmcgXCJZb3UgY2FuIG9ubHkgYXBwbHkgb25lIGZpbHRlciB0byB0aGUgdGFibGUuIFRoaXMgZmlsdGVyIHdpbGwgb3ZlcnJpZGUgdGhlIGN1cnJlbnQgZmlsdGVyLlwiIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRmlsdGVycyBhcmUgb3ZlcnJpZGRlbiBieSBzZWFyY2guIFJ1biBhIHNlYXJjaCBxdWVyeSBhbmQgeW91IGNhbiBzZWUgcHJldmlvdXMgZmlsdGVyIHJlc3VsdHMgYXJlIG92ZXJyaWRkZW4gYnkgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBxdWVyeS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlNvZnR3YXJlX3JlY2lwZXM6X0ZpbHRlcl90aGVfY29udGVudHNfb2ZfdGhlX3NvZnR3YXJlX3JlY2lwZXNfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5UZXN0X3RoZV9wYWNrYWdlc19pbmNsdWRlZF9pbl90aGVfaW1hZ2UiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgVG9hc3Rlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvYXN0ZXIgc3RhcnRzLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIE9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBQcm9qZWN0IENyZWF0ZWQuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBCdWlsZCBhIHJlY2lwZSAoZXg6IGNvcmUtaW1hZ2UtbWluaW1hbCkgYW5kIHdhaXQgdW50aWwgYnVpbGQgZmluaXNoLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIENsaWNrIG9uIHRoZSBidWlsdCByZWNpcGUuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT3BlbiBidWlsZCBzdW1tYXJ5IHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBVbmRlciBJTUFHRVMgdGFiIGNsaWNrIG9uIHRoZSByZWNpcGUgYnVpbHQuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJJbWFnZSBwYWdlIG9wZW4uIFxuIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIGEgcGFja2FnZSBuYW1lLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiB0aGUgcGFja2FnZSBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJVbmRlciBmaWxlIHRpdGxlIGNsaWNrIG9uIHRoZSBsaW5rIHRvIGZpbGUuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJZb3UgYXJlIHJlZGlyZWN0ZWQgdG8gZGlyZWN0b3J5IHN0cnVjdHVyZSBhbmQgeW91IGNhbiBzZWUgd2hlcmUgdGhlIGZpbGUgaXMgbG9jYXRlZC4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJUZXN0X3RoZV9wYWNrYWdlc19pbmNsdWRlZF9pbl90aGVfaW1hZ2UiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5UZXN0X3RoZV9maWx0ZXJzX2Zyb21fYV9pbWFnZV9wYWdlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBTdGFydCBUb2FzdGVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEJ1aWxkIGEgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgQnVpbGQgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQ2xpY2sgb24gdGhlIGJ1aWx0IHJlY2lwZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGJ1aWxkIHN1bW1hcnkgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gQ29uZmlndXJhdGlvbiAtIEJpdGJha2UgVmFyaWFibGVzLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBiaXRiYWtlIHZhcmlhYmxlcyBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUZXN0IERlc2NyaXB0aW9uIGZpbHRlci4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJGaWx0ZXIgd29ya3Mgb2suIChmaWx0ZXIgcmV0dXJucyBvbmx5IGl0ZW1zIHRoYXQgbWF0Y2ggdGhlIHNlbGVjdGVkIGNyaXRlcmlhKSAiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJUZXN0X3RoZV9maWx0ZXJzX2Zyb21fYV9pbWFnZV9wYWdlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVGVzdF9kZXBlbmRlbmNpZXNfbGluayIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgU3RhcnQgVG9hc3Rlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvYXN0ZXIgc3RhcnRzLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIE9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBQcm9qZWN0IENyZWF0ZWQuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBCdWlsZCBhIHJlY2lwZSAoZXg6IGNvcmUtaW1hZ2UtbWluaW1hbCkgYW5kIHdhaXQgdW50aWwgYnVpbGQgZmluaXNoLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIENsaWNrIG9uIHRoZSBidWlsdCByZWNpcGUuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT3BlbiBidWlsZCBzdW1tYXJ5IHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHJlY2lwZXMgdGFiLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiByZWNpcGVzIHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIGVkaXQgY29sdW1ucyBhbmQgc2VsZWN0IERlcGVuZGVuY2llcy4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkRlcGVuZGVuY2llcyBjb2x1bW4gaXMgc2hvd24gaW4gdGhlIHRhYmxlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBhIG51bWJlciBvZiBkZXBlbmRlbmNpZXMuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBIHBvcCB1cCB3aXRoIGRlcGVuZGVuY2llcyB3aWxsIGFwcGVhci4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gYSBkZXBlbmRlbmN5LiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gcmVjaXBlIGRlcGVuZGVuY3kgcGFnZS4gIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVGVzdF9kZXBlbmRlbmNpZXNfbGluayIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlRlc3RfcmVjaXBlX2ZpbGVfbGluayIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCBUb2FzdGVyLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvYXN0ZXIgc3RhcnRzLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIENsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIChleDogbWFzdGVyKSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFByb2plY3QgQ3JlYXRlZC4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIEltYWdlIHJlY2lwZXMgdGFiLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gQ29tcGF0aWJsZSBpbWFnZSByZWNpcGVzIHRhYmxlLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gZWRpdCBjb2x1bW5zIGFuZCBzZWxlY3QgcmVjaXBlIGZpbGUuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUmVjaXBlIGZpbGUgY29sdW1uIGFwcGVhcnMgaW4gdGhlIHRhYmxlLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIGJsdWUgYnV0dG9uIG5lYXIgYSByZWNpcGUgZmlsZS4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiUmVwZXQgc3RlcHMgLSA0IHRvIDYgZm9yIHNvZnR3YXJlIHJlY2lwZXMuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJUZXN0X3JlY2lwZV9maWxlX2xpbmsiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5TZWVfcGFja2FnZXNfc2l6ZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCBUb2FzdGVyLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBUb2FzdGVyIHN0YXJ0cy4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIE9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgcmVsZWFzZSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFByb2plY3QgQ3JlYXRlZC4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBCdWlsZCBhIHJlY2lwZSAoZXg6IGNvcmUtaW1hZ2UtbWluaW1hbCkgYW5kIHdhaXQgdW50aWwgYnVpbGQgZmluaXNoLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBCdWlsZCBmaW5pc2hlcyBzdWNjZXNzZnVsbHkuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQ2xpY2sgb24gdGhlIGJ1aWx0IHJlY2lwZS4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT3BlbiBidWlsZCBzdW1tYXJ5IHBhZ2UuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBwYWNrYWdlcyB0YWIuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBwYWNrYWdlcyBwYWdlLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gc2l6ZSB0byBzb3J0IHRoZSB0YWJsZS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJZb3UgY2FuIGNoZWNrIHRoZSBzaXplIG9mIGVhY2ggcGFja2FnZS4gXG5cbldoZW4geW91IGNsaWNrIG9uICdTaXplJyB0aGUgZmlyc3QgdGltZSwgdGhlIGNvcnJlY3Qgc29ydGluZyBpcyB0aGUgaW52ZXJzZSBvbmUgKGJpZ2dlc3QgcGFja2FnZSBvbiB0b3ApLiBDbGlja2luZyBhIHNlY29uZCB0aW1lIHdpbGwgaW52ZXJ0IHRoZSBzb3J0aW5nICh5b3UnbGwgc2VlIHBhY2thZ2VzIHdpdGggMCBCIHNpemUgb24gdG9wKS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJTZWVfcGFja2FnZXNfc2l6ZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkJ1aWxkX211bHRpcGxlX3JlY2lwZXMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIFN0YXJ0IFRvYXN0ZXIuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFRvYXN0ZXIgc3RhcnRzLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIENsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgUHJvamVjdCBDcmVhdGVkLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEJ1aWxkIGEgbXVsdGlwbGUgcmVjaXBlcyAoZXg6IFwiY29yZS1pbWFnZS1taW5pbWFsIGNvcmUtaW1hZ2Utc2F0b1wiKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGRzIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4gXG5cbllvdSBjYW4gYnVpbGQgbXVsdGlwbGUgcmVjaXBlcyB3aXRoIHRvYXN0ZXIiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJCdWlsZF9tdWx0aXBsZV9yZWNpcGVzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQnVpbGRfYV9yZWNpcGVfd2l0aF9kaWZmZXJlbnRfZGlzdHJvIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBTdGFydCBUb2FzdGVyLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBUb2FzdGVyIHN0YXJ0cy4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIE9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgcmVsZWFzZSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFByb2plY3QgQ3JlYXRlZC4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gcHJvamVjdCBwYWdlIGNsaWNrIG9uIEJpdGJha2UgdmFyaWFibGVzIHRhYi4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIEJpdGJha2UgdmFyaWFibGVzIHBhZ2UuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBjaGFuZ2UgYnV0dG9uIGZvciBkaXN0cm8uIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQSB0eXBlIGluIGZvcm0gYXBwZWFycy4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoYW5nZSBkaXN0cm8gKGV4OiBwb2t5LWxzYikuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRGlzdHJvIGhhcyBjaGFuZ2VkLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWRkIHNwZWNpZmljIGxheWVycyBmb3IgZGlzdHJvIChtZXRhLXF0MywgbWV0YS1xdDQpIFxuXHRcblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJMYXllcnMgYWRkZWQgdG8gdGhlIHByb2plY3QgXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBCdWlsZCBhIHJlY2lwZSAoZXg6IGNvcmUtaW1hZ2UtbWluaW1hbCkgYW5kIHdhaXQgdW50aWwgYnVpbGQgZmluaXNoLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcblxuVGhlICdzdWNjZXNzJyBjcml0ZXJpYSBmb3IgdGhpcyBvbmUgc2hvdWxkIGJlIHRoYXQgdGhlIGJ1aWxkIGlzIHJlcG9ydGVkIGFzIHVzaW5nIHRoZSBwb2t5LWxzYiBkaXN0cm8gaW4gdGhlIGJ1aWxkIHN1bW1hcnkgcGFnZSwgYW5kIHRoYXQgdGhlIERJU1RSTyB2YXJpYWJsZSB2YWx1ZSBpbiB0aGUgYml0YmFrZSB2YXJpYWJsZXMgdGFibGUgaXMgc2V0IHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQgaW4gdG9hc3RlciAocG9reS1sc2IgYWdhaW4pLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkJ1aWxkX2FfcmVjaXBlX3dpdGhfZGlmZmVyZW50X2Rpc3RybyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlRlc3RfcGFja2FnZV9mb3JtYXRfLV9pcGtfcnBtX2RlYiIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgU3RhcnQgVG9hc3Rlci4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgVG9hc3RlciBzdGFydHMuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBQcm9qZWN0IENyZWF0ZWQuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGcm9tIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gYml0YmFrZSB2YXJpYWJsZXMgdGFiLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gYml0YmFrZSB2YXJpYWJsZXMgcGFnZS4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIGNoYW5nZSBidXR0b24gbmVhciBQQUNLQUdFX0NMQVNTRVMgYW5kIHNlbGVjdCBhbGwgdGhlIHBhY2thZ2UgZm9ybWF0cyAocnBtLCBkZWIsIGlwaykuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUGFja2FnZSBjbGFzc2VzIHNlbGVjdGVkLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgYSByZWNpcGUgKGV4OiBjb3JlLWltYWdlLW1pbmltYWwpIGFuZCB3YWl0IHVudGlsIGJ1aWxkIGZpbmlzaC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS5cbllvdSBjYW4gc2VlIHRoZSBwYWNrYWdlIGNsYXNzZXMgaW4gdGhlIGJ1aWxkIHN1bW1hcnkgcGFnZS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJUZXN0X3BhY2thZ2VfZm9ybWF0Xy1faXBrX3JwbV9kZWIiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5UZXN0X0lNQUdFX0lOU1RBTExfYXBwZW5kX3ZhcmlhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBUb2FzdGVyIHN0YXJ0cy4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgUHJvamVjdCBDcmVhdGVkLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRnJvbSB0aGUgcHJvamVjdCBwYWdlIGNsaWNrIG9uIGJpdGJha2UgdmFyaWFibGVzIHRhYi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBiaXRiYWtlIHZhcmlhYmxlcyBwYWdlLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gY2hhbmdlIGJ1dHRvbiBmb3IgSU1BR0VfSU5TVEFMTF9hcHBlbmQgYW5kIGFkZCBhIHZhcmlhYmxlIChleDogYWNwaWQpLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJWYXJpYWJsZSBhZGRlZC4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIGEgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFmdGVyIGJ1aWxkIGZpbmlzaGVzIGdvIHRvIGJ1aWxkIHBhZ2UuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gYnVpbGQgc3VtbWFyeSBwYWdlLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiR28gdG8gcGFja2FnZSB0YWIgYW5kIHNlYXJjaCBmb3IgYWNwaWQuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJZb3Ugc2hvdWxkIGdldCByZXN1bHRzIGZvciBzc2ggcGFja2FnZXMuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVGVzdF9JTUFHRV9JTlNUQUxMX2FwcGVuZF92YXJpYWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLk5ld19jdXN0b21faW1hZ2U6X2RlZmF1bHRfdmlldyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIHByb2plY3RzXCIgdGFibGUuICBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPbiB0aGUgcHJvamVjdCBwYWdlIGNsaWNrIG9uIHRoZSBcIk5ldyBjdXN0b20gaW1hZ2VcIiBsaW5rIHNpdHVhdGVkIG9uIHRoZSBsZWZ0LWhhbmQgc2lkZSwgbmVhciBDb25maWd1cmF0aW9uLCBidWlsZHMsIGltcG9ydCBsYXllciBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSB0YWJsZSBpcyBwb3B1bGF0ZWQgd2l0aCB0aGUgbGlzdCBvZiBpbWFnZSByZWNpcGVzIChlZy4gY29yZS1pbWFnZSBtaW5pbWFsLCBjb3JlLWltYWdlLWxzYikgXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIENoZWNrIHRoYXQgYnkgZGVmYXVsdCB0aGUgZm9sbG93aW5nIGNvbHVtbnMgYXJlIHNob3duOiBJbWFnZSByZWNpcGUsIFZlcnNpb24sIERlc2NyaXB0aW9uLCBMYXllciwgQ3VzdG9taXNlICBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGcm9tIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUsIGFjdGl2YXRlIHRoZTogUmVjaXBlIGZpbGUsIFNlY3Rpb24sIExpY2Vuc2UsIEdpdCByZXZpc2lvbiBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSBcIkdpdCByZXZpc2lvblwiIGVudHJpZXMgbWF0Y2ggdGhlIHJlbGVhc2UgZW50cnkgZnJvbSB0aGUgbWFpbiBwcm9qZWN0IHBhZ2UsIGluIHRoZSBwcm9qZWN0IGRldGFpbHMgc2VjdGlvbi4gXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCB0aGUgaW1hZ2UgcmVjaXBlcyBwcm92aWRlZCBieSBsYXllcnMgYWRkZWQgdG8gdGhlIHByb2plY3Qgc2hvdyBhICdjdXN0b21pc2UnIGJ1dHRvbiwgd2hpbGUgaW1hZ2UgcmVjaXBlcyBwcm92aWRlZCBieSBsYXllcnMgbm90IGFkZGVkIHRvIHRoZSBwcm9qZWN0IHNob3cgYW4gJ2FkZCBsYXllcicgYnV0dG9uICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiTmV3X2N1c3RvbV9pbWFnZTpfZGVmYXVsdF92aWV3IgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuTmV3X2N1c3RvbV9pbWFnZTpfc29ydGluZ190aGVfY29udGVudF9vZl9uZXdfY3VzdG9tX2ltYWdlX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgcHJvamVjdHNcIiB0YWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9uIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gdGhlIFwiTmV3IGN1c3RvbSBpbWFnZVwiIGxpbmsgc2l0dWF0ZWQgb24gdGhlIGxlZnQtaGFuZCBzaWRlLCBuZWFyIENvbmZpZ3VyYXRpb24sIGJ1aWxkcywgaW1wb3J0IGxheWVyICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiTWFrZSBzdXJlIHRoYXQgdGhlIHRhYmxlIGlzIHNvcnRlZCBvbiB0aGUg4oCYSW1hZ2UgcmVjaXBl4oCZIGNvbHVtbiBieSBkZWZhdWx0IGluIGFzY2VuZGluZyBvcmRlci4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGlja2luZyBvbiBJbWFnZSByZWNpcGUgc2hvdWxkIHJldmVydCB0aGUgc29ydGluZy4gKGZyb20gJ2EgdG8geicgY2hhbmdlcyB0byAneiB0byBhJykgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGcm9tIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUgYWN0aXZhdGUgYWxsIHRoZSBjb2x1bW5zLiBDaGVjayB0aGF0IOKAmEltYWdlIHJlY2lwZeKAmSBhbmQg4oCYQ3VzdG9taXNl4oCZIGNvbHVtbnMgY2Fubm90IGJlIHVuY2hlY2tlZC4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgSW1hZ2UgcmVjaXBlLCBTZWN0aW9uLCBMYXllciBhbmQgTGljZW5zZSBhcmUgdGhlIG9ubHkgc29ydGFibGUgdGFibGUgaGVhZHMuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU29ydCB0aGUgdGFibGUgYnkgXCJMYXllclwiIGFuZCB0aGVuIG5hdmlnYXRlIGF3YXkgYnkgc2VsZWN0aW5nIGFuIGltYWdlIChzdWNoIGFzIGNvcmUtaW1hZ2UtbHNiKS4gV2hlbiB5b3UgY2xpY2sgdGhlIFwiYmFja1wiIGJ1dHRvbiBpbiB0aGUgd2ViLWJyb3dzZXIgdG8gZ28gYmFjaywgdGhlIFwiTmV3IGN1c3RvbSBpbWFnZVwiIHRhYmxlIHNob3VsZCBzdGlsbCBiZSBzb3J0ZWQgYnkgXCJMYXllclwiLiAgXG5UaGlzIHNob3VsZCBhcHBseSBhbHNvIGJ5IG5hdmlnYXRpbmcgYmFjayB0byB0aGUgcGFnZSBieSBhbnkgb3RoZXIgbWVhbnMuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0aW5nIGFuZCBcIkVkaXQgY29sdW1uc1wiIG1lbnU6IElmIHlvdSB1c2UgdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudSB0byBoaWRlIHRoZSBjb2x1bW4gd2l0aCB0aGUgYXBwbGllZCBzb3J0aW5nLCB3ZSByZXZlcnQgdGhlIHNvcnRpbmcgdG8gdGhlIGRlZmF1bHQgc29ydGluZyAoaS5lLiBcIkltYWdlIHJlY2lwZVwiKS4gVGhlIGRlZmF1bHQgc29ydGluZyBhbHdheXMgdXNlcyBvbmUgb2YgdGhlIGNvcmUgY29sdW1ucywgd2hpY2ggY2Fubm90IGJlIGhpZGRlbiB1c2luZyB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51ICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU29ydGluZyBhbmQgc2VhcmNoOiBTZWFyY2hpbmcgc2hvdWxkIGhhdmUgbm8gaW1wYWN0IG9uIHRoZSBhcHBsaWVkIHNvcnRpbmcuIEFueSByZXN1bHRzIHJldHVybmVkIHNob3VsZCBiZSBzb3J0ZWQgYnkgdGhlIHNvcnRpbmcgY3JpdGVyaWEgc2VsZWN0ZWQgd2hlbiB0aGUgc2VhcmNoIHF1ZXJ5IHdhcyBzdWJtaXR0ZWQuIFNvcnQgcmVjaXBlcyBieSBcIkxheWVyXCIgY29sdW1uIGhlYWRpbmcuIElucHV0IGEgc3RyaW5nIChzdWNoIGFzIFwiY29yZS1pbWFnZVwiKSBpbiBzZWFyY2ggYm94IGFuZCBjbGljayBzZWFyY2ggYnV0dG9uLiBNYWtlIHN1cmUgcmVzdWx0cyByZXR1cm5lZCBhcmUgc29ydGVkIGJ5IFwiTGF5ZXJcIi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk4vQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIk5ld19jdXN0b21faW1hZ2U6X3NvcnRpbmdfdGhlX2NvbnRlbnRfb2ZfbmV3X2N1c3RvbV9pbWFnZV90YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLk5ld19jdXN0b21faW1hZ2U6X3NlYXJjaGluZ190aGVfY29udGVudF9vZl9uZXdfY3VzdG9tX2ltYWdlX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgcHJvamVjdHNcIiB0YWJsZS4gXG4gXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT24gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiB0aGUgXCJOZXcgY3VzdG9tIGltYWdlXCIgbGluayBzaXR1YXRlZCBvbiB0aGUgbGVmdC1oYW5kIHNpZGUsIG5lYXIgQ29uZmlndXJhdGlvbiwgYnVpbGRzLCBpbXBvcnQgbGF5ZXIgIFxuIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIHNlYXJjaCBpcyBtYWRlIG9mIGEgdGV4dCBpbnB1dCBmaWVsZCBhbmQgYSBcIlNlYXJjaFwiIGJ1dHRvbiBpbiBhIHRvb2xiYXIgYWJvdmUgdGhlIHRhYmxlLiBXaGVuIG5vIHNlYXJjaCBxdWVyeSBoYXMgYmVlbiBlbnRlcmVkLCB0aGUgdGV4dCBpbnB1dCBmaWVsZCBzaG91bGQgc2hvdyB0aGUgZm9sbG93aW5nIHBsYWNlaG9sZGVyIHRleHQ6IFwiU2VhcmNoIHNlbGVjdCB0aGUgaW1hZ2UgcmVjaXBlIHlvdSB3YW50IHRvIGN1c3RvbWlzZVwiIFxuICBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbnB1dCBcImNvcmVcIiBpbiB0aGUgdGV4dCBpbnB1dCBmaWVsZC4gVGhlIHBsYWNlaG9sZGVyIHRleHQgZGlzYXBwZWFycyB3aGVuIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgdHlwZWQuIENsaWNrIHNlYXJjaCBidXR0b24uIFxuIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBzZWFyY2ggc3RyaW5nIGlzIGtlcHQgaW4gdGhlIHRleHQgaW5wdXQgZmllbGQuIFRoZSByZXN1bHRzIHJldHVybmVkIG9jY3VyLiBDbGljayBcIkNsZWFyIHNlYXJjaFwiIGljb24gdG8gY2xlYXIgdGhlIHNlYXJjaCBhbmQgZGlzcGxheSB0aGUgaW1hZ2UgcmVjaXBlcy4gIElmIHlvdXIgc2VhcmNoIHF1ZXJ5IHJldHVybnMgbm8gcmVzdWx0cywgd2Ugc2hvdyB5b3UgYW4gYWxlcnQgd2l0aCBhIHNlYXJjaCBmb3JtIGFuZCBhbiBvcHRpb24gdG8gc2hvdyBhbGwgaW1hZ2UgcmVjaXBlcy4gQ2hlY2sgdGhhdCBcInNob3cgYWxsXCIgbGluayBpcyBhdmFpbGFibGUuICBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWFyY2gsIHNvcnRpbmcgYW5kIFwiRWRpdCBjb2x1bW5zXCI6IFNlYXJjaGluZyBkb2VzIG5vdCBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSB0YWJsZTogdGhlIHNhbWUgY29sdW1ucyByZW1haW4gaGlkZGVuIGFuZCB0aGUgc2FtZSBzb3J0aW5nIGFwcGxpZWQgd2hlbiBzZWFyY2ggcmVzdWx0cyBhcmUgZGlzcGxheWVkLCBidXQgZmlsdGVycyBhcmUgY2xlYXJlZCBieSB0aGUgc2VhcmNoIHJlc3VsdHMuIFNlYXJjaCBhIHN0cmluZyBhbmQgbWFrZSBzdXJlIHRoYXQgdGhlIHNhbWUgY29sdW1ucyByZW1haW4gaGlkZGVuIGFuZCB0aGUgc2FtZSBzb3J0aW5nIGFwcGxpZWQuICBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWFyY2ggYW5kIGZpbHRlcnMgXG4gXG5cdOKAolx0VGhlIHNjb3BlIG9mIHRoZSBmaWx0ZXJzIGlzIHRoZSBjb250ZW50IGN1cnJlbnRseSBvbiB0aGUgdGFibGUgKHRoaXMgbWVhbnMgYWxsIHRhYmxlIHBhZ2VzLCBub3Qgb25seSB0aGUgb25lIGRpc3BsYXllZCkuIFRoZSBzY29wZSBvZiB0aGUgc2VhcmNoIGlzIGFsd2F5cyB0aGUgY29udGVudCBvZiB0aGUgZGF0YWJhc2UuICBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJZiBJIHJ1biBhIHNlYXJjaCBxdWVyeSwgYW55IGZpbHRlciBhcHBsaWVkIGFmdGVyd2FyZHMgd2lsbCBmaWx0ZXIgdGhlIGNvbnRlbnQgcmV0dXJuZWQgYnkgdGhlIHNlYXJjaCBxdWVyeS4gXHRJZiBJIHJ1biBhIHNlYXJjaCBxdWVyeSB3aGlsZSBhIGZpbHRlciBpcyBhcHBsaWVkLCB0aGUgZmlsdGVyIGlzIGNsZWFyZWQgYnkgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBxdWVyeSAoaS5lLiB3ZSBkaXNwbGF5IHRoZSByZXN1bHRzIG9mIHRoZSBzZWFyY2ggcXVlcnkgYW5kIGNsZWFyIHRoZSBmaWx0ZXIgYXBwbGllZCBiZWZvcmVoYW5kKS4gVGhlIHNhbWUgaGFwcGVucyBpZiBJIGNsaWNrIHRoZSBcIkNsZWFyIHNlYXJjaFwiIGljb24gd2hlbiBhIGZpbHRlciBpcyBhcHBsaWVkIHRvIGEgc2V0IG9mIHNlYXJjaCByZXN1bHRzIChib3RoIHNlYXJjaCByZXN1bHRzIGFuZCBhcHBsaWVkIGZpbHRlciBhcmUgY2xlYXJlZCwgYW5kIHRoZSB0YWJsZSBzaG93cyBhbGwgdGhlIHRhcmdldHMpLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlxuICBcbiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIk5ld19jdXN0b21faW1hZ2U6X3NlYXJjaGluZ190aGVfY29udGVudF9vZl9uZXdfY3VzdG9tX2ltYWdlX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuTmV3X2N1c3RvbV9pbWFnZTpfRmlsdGVyX3RoZV9jb250ZW50c19vZl90aGVfbmV3X2N1c3RvbV9pbWFnZV90YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIHByb2plY3RzXCIgdGFibGUuIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9uIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gdGhlIFwiTmV3IGN1c3RvbSBpbWFnZVwiIGxpbmsgc2l0dWF0ZWQgb24gdGhlIGxlZnQtaGFuZCBzaWRlLCBuZWFyIENvbmZpZ3VyYXRpb24sIGJ1aWxkcywgaW1wb3J0IGxheWVyICBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJNYWtlIHN1cmUgdGhlIGZvbGxvd2luZyB0YWJsZSBjb2x1bW4gaGFzIGZpbHRlcnM6IEN1c3RvbWlzZSAgXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgdGhlIGZpbHRlciBidXR0b24gaW4gdGhlIFwiQ3VzdG9taXNlXCIgY29sdW1uIGFuZCBhIGZpbHRlciBkaWFsb2d1ZSBjb21lcyB1cC4gU2VsZWN0IGEgZmlsdGVyIG9wdGlvbi4gVGhlIGZpbHRlciByZXN1bHRzIHNob3VsZCBiZSBzaG93ZWQuIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZpbHRlcnMgYXJlIG92ZXJyaWRkZW4gYnkgc2VhcmNoLiBSdW4gYSBzZWFyY2ggcXVlcnkgYW5kIHlvdSBjYW4gc2VlIHByZXZpb3VzIGZpbHRlciByZXN1bHRzIGFyZSBvdmVycmlkZGVuIGJ5IHRoZSByZXN1bHRzIG9mIHRoZSBzZWFyY2ggcXVlcnkuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOL0EiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJOZXdfY3VzdG9tX2ltYWdlOl9GaWx0ZXJfdGhlX2NvbnRlbnRzX29mX3RoZV9uZXdfY3VzdG9tX2ltYWdlX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQ3JlYXRlX25ld19jdXN0b21faW1hZ2UiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBwcm9qZWN0c1wiIHRhYmxlLiBcbiBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPbiB0aGUgcHJvamVjdCBwYWdlIGNsaWNrIG9uIHRoZSBcIk5ldyBjdXN0b20gaW1hZ2VcIiBsaW5rIHNpdHVhdGVkIG9uIHRoZSBsZWZ0LWhhbmQgc2lkZSwgbmVhciBDb25maWd1cmF0aW9uLCBidWlsZHMsIGltcG9ydCBsYXllciBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWFyY2ggZm9yIHJwaS1iYXNpYy1pbWFnZSwgY2xpY2sgb24gJ2FkZCBsYXllcicgYnV0dG9uLiBNYWtlIHN1cmUgYSBcImxheWVyIGFkZGVkXCIgbm90aWZpY2F0aW9uIHNob3dzIGFuZCBhIFwiY3VzdG9taXNlXCIgYnV0dG9uIGlzIGRpc3BsYXllZC4gQ2xpY2sgdGhlIFwiY3VzdG9taXNlXCIgYnV0dG9uLCB0eXBlIGEgbmFtZSBmb3IgeW91IG5ldyBjdXN0b20gaW1hZ2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBjdXN0b20gaW1hZ2UuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJWZXJpZnkgdGhhdCBpbWFnZSB3YXMgY3JlYXRlZDogd2hlbiB5b3UgY3JlYXRlIHRoZSBjdXN0b20gaW1hZ2UgeW91IHdpbGwgYmUgcmVkaXJlY3RlZCB0byB0aGUgY3VzdG9tIGltYWdlIGRldGFpbHMgcGFnZSwgYW5kIGEgbm90aWZpY2F0aW9uIGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2Ugc2hvdWxkIHRlbGwgeW91OiDigJhZb3VyIGN1c3RvbSBpbWFnZSBYIGhhcyBiZWVuIGNyZWF0ZWQuIFlvdSBjYW4gbm93IGFkZCBvciByZW1vdmUgcGFja2FnZXMgYXMgbmVlZGVkLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSWYgeW91IHNlbGVjdCBhbiBpbWFnZSB0aGF0IGhhcyBub3QgYmVlbiBidWlsdCBiZWZvcmVoYW5kIHlvdSBzaG91bGQgbm90IHNlZSB0aGUgJ2FkZCAvIHJlbW92ZScgcGFja2FnZXMgdGFibGUgdW50aWwgeW91IGJ1aWxkIHRoZSBpbWFnZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIklmIHlvdSBzZWxlY3QgYW4gaW1hZ2UgdGhhdCBoYXMgYmVlbiBidWlsdCBiZWZvcmVoYW5kIHlvdSBzaG91bGQgc2VlIHRoZSAnYWRkIC8gcmVtb3ZlJyBwYWNrYWdlcyB0YWJsZSB3aGVuIHlvdSBjcmVhdGUgdGhlIGN1c3RvbSBpbWFnZS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOL0EiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJDcmVhdGVfbmV3X2N1c3RvbV9pbWFnZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkN1c3RvbV9pbWFnZV9wYWdlX2RldGFpbHMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWZ0ZXIgeW91IGNyZWF0ZSBhIG5ldyBjdXN0b20gaW1hZ2UgIGdvIHRvIHRoZSBjdXN0b20gaW1hZ2UgcGFnZSwgYnkgY2xpY2tpbmcgb24gdGhlIGN1c3RvbSBpbWFnZS4gICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnJlYWRjcnVtYnMgIFxuIFxuXHQgKiBPYnNlcnZlIHRoYXQgdGhlIDMgYnJlYWRjcnVtYnMgYXQgdGhlIHRvcCBsZWZ0IGFyZTogIFxuIFxuXHRcdGEgbGl2ZSBsaW5rIHRoYXQgd2lsbCB0YWtlIHlvdSBiYWNrIHRvIHRoZSBwcm9qZWN0IHBhZ2UgXG5cdFx0Q3VzdG9tIGltYWdlczogYSBsaXZlIGxpbmsgdGhhdCB3aWxsIHRha2UgeW91IGJhY2sgdG8gdGhlIGN1c3RvbSBpbWFnZXMgdGFibGUgXG5cdFx0aW1hZ2UgbmFtZSh0b2FzdGVyLWN1c3RvbS1pbWFnZXMpOiB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBjdXN0b20gaW1hZ2UgKG5vdCBhIGxpbmspICBcbiBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoZSAyIGJ1dHRvbnMgYnVpbGQgQ3VzdG9tIGltYWdlIGFuZCBEb3dubG9hZCByZWNpcGUgZmlsZSAgXG4gXG5cdGkuXHRUZXN0IHRoaXMgMiBidXR0b25zIFxuXHRpaS5cdFlvdSBzaG91bGQgYWx3YXlzIGJlIGFibGUgdG8gYnVpbGQgdGhlIGN1c3RvbSBpbWFnZSwgYnV0IHlvdSBvbmx5IHNob3VsZCBiZSBhYmxlIHRvIGRvd25sb2FkIHRoZSByZWNpcGUgZmlsZSB3aGVuIHRoZSBwYWNrYWdlIGNvbnRlbnQgb2YgdGhlIGN1c3RvbSBpbWFnZSBpcyBrbm93bi4gV2hlbiB5b3UgY2Fubm90IGRvd25sb2FkIHRoZSByZWNpcGUgZmlsZSwgdGhlICdkb3dubG9hZCcgYnV0dG9uIGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UgaXMgZGlzYWJsZWQsIGFuZCB0aGUgcmlnaHQgaGFuZCBjb2x1bW4gZG9lcyBub3Qgc2hvdyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVjaXBlIGZpbGUuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IHRoZXJlIGlzIGEgcmlnaHQtaGFuZCBib3gsIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIGltYWdlcyAgXG4gXG5cdGkuXHRUaGVyZSBpcyBhIG51bWJlciBvZiBwYWNrYWdlcyBpbmNsdWRlZCBpbiB0aGUgY3VzdG9tIGltYWdlIFxuXHRpaS5cdEFwcHJveCBwYWNrYWdlIHNpemUgXG4gXG5cdGlpaS5cdExheWVyIFxuIFxuXHRpdi5cdEltYWdlIGJhc2VkIG9uIFxuIFxuXHR2Llx0UmVjaXBlIGZpbGUgKG9ubHkgd2hlbiB5b3UgY2FuIGRvd25sb2FkIGl0XyBcblx0dmkuXHRWZXJzaW9uIFxuIFxuXHR2aWkuXHRMaWNlbnNlICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IHRoZSBwYWdlIGluY2x1ZGVzIGEgdGFibGUgd2l0aCBwYWNrYWdlcyBhbmQgeW91IGNhbiBhZGQgb3IgcmVtb3ZlIHBhY2thZ2VzIGZyb20gdGhlIGN1c3RvbSBpbWFnZS4gVGhlIHBhY2thZ2VzIHRhYmxlIG9ubHkgYXBwZWFycyB3aGVuOiBcblxuYSkgdGhlIGltYWdlIHJlY2lwZSB5b3UgY2hvc2UgYXMgeW91ciBiYXNlIGltYWdlIHdoZW4gY3JlYXRpbmcgdGhlIGN1c3RvbSBpbWFnZSBoYXMgYmVlbiBidWlsdCB3aXRoaW4gdGhlIHByb2plY3QgXG5cbmIpIHRoZSBjdXN0b20gaW1hZ2UgaXRzZWxmIGhhcyBiZWVuIGJ1aWx0IFxuXG5JZiBubyBwYWNrYWdlcyB0YWJsZSBzaG93cywgeW91IHNlZSBhIG5vdGlmaWNhdGlvbiB3aXRoIGEgYnVpbGQgYnV0dG9uIGluc3RlYWQuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTi9BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiQ3VzdG9tX2ltYWdlX3BhZ2VfZGV0YWlscyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkN1c3RvbV9pbWFnZV9wYWdlX+KAk19BZGRffF9SZW1vdmVfcGFja2FnZXNfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWZ0ZXIgeW91IGNyZWF0ZSBhIG5ldyBjdXN0b20gaW1hZ2UgIGdvIHRvIHRoZSBjdXN0b20gaW1hZ2UgcGFnZSwgYnkgY2xpY2tpbmcgb24gdGhlIGN1c3RvbSBpbWFnZS4gIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk1ha2Ugc3VyZSB0aGF0IHRoZSB0YWJsZSBpcyBzb3J0ZWQgb24gdGhlIOKAmFBhY2thZ2XigJkgY29sdW1uIGJ5IGRlZmF1bHQgaW4gYXNjZW5kaW5nIG9yZGVyLiAgIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgYnkgZGVmYXVsdCB0aGUgZm9sbG93aW5nIGNvbHVtbnMgYXJlIHNob3duOiBQYWNrYWdlLCBQYWNrYWdlIFZlcnNpb24sIEFwcHJveCBTaXplICBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGcm9tIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUsIGFjdGl2YXRlIHRoZTogTGljZW5zZSwgUmVjaXBlLCBSZWNpcGUgdmVyc2lvbiBhbmQgUmV2ZXJzZSBkZXBlbmRlbmNpZXMgY29sdW1ucyAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQg4oCYUGFja2FnZeKAmSwgQXBwcm94IFNpemUsIExpY2Vuc2UsIFJlY2lwZSBhcmUgdGhlIG9ubHkgc29ydGFibGUgdGFibGUgaGVhZHMuICAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNvcnRpbmcgYW5kIFwiRWRpdCBjb2x1bW5zXCI6IElmIHlvdSB1c2UgdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudSB0byBoaWRlIHRoZSBjb2x1bW4gd2l0aCB0aGUgYXBwbGllZCBzb3J0aW5nLCB3ZSByZXZlcnQgdGhlIHNvcnRpbmcgdG8gdGhlIGRlZmF1bHQgc29ydGluZyAoaS5lLiBcIlBhY2thZ2VcIikuIFRoZSBkZWZhdWx0IHNvcnRpbmcgYWx3YXlzIHVzZXMgb25lIG9mIHRoZSBjb3JlIGNvbHVtbnMsIHdoaWNoIGNhbm5vdCBiZSBoaWRkZW4gdXNpbmcgdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudSAgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0aW5nIGFuZCBzZWFyY2g6IFNlYXJjaGluZyBzaG91bGQgaGF2ZSBubyBpbXBhY3Qgb24gdGhlIGFwcGxpZWQgc29ydGluZy4gQW55IHJlc3VsdHMgcmV0dXJuZWQgc2hvdWxkIGJlIHNvcnRlZCBieSB0aGUgc29ydGluZyBjcml0ZXJpYSBzZWxlY3RlZCB3aGVuIHRoZSBzZWFyY2ggcXVlcnkgd2FzIHN1Ym1pdHRlZC4gU29ydCByZWNpcGVzIGJ5IFwiUmVjaXBlXCIgY29sdW1uIGhlYWRpbmcuIElucHV0IGEgc3RyaW5nIChzdWNoIGFzIFwiYWNsXCIpIGluIHNlYXJjaCBib3ggYW5kIGNsaWNrIHNlYXJjaCBidXR0b24uIE1ha2Ugc3VyZSByZXN1bHRzIHJldHVybmVkIGFyZSBzdGlsbCBzb3J0ZWQgYnkgXCJSZWNpcGVcIi4gICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgXCJDbGVhciBzZWFyY2hcIiBpY29uIHRvIGNsZWFyIHRoZSBzZWFyY2ggYW5kIGRpc3BsYXkgdGhlIFBhY2thZ2VzLiAgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJNYWtlIHN1cmUgdGhlIGZvbGxvd2luZyB0YWJsZSBjb2x1bW4gaGFzIGZpbHRlcnM6IEFkZCB8IFJlbW92ZSAoQ2xpY2sgb24gJ0VkaXQgY3VzdG9tIGltYWdlJyBpbiB0aGUgbGVmdCBwYW5lIG9mIHRoZSBjdXN0b20gaW1hZ2UpICBcblxuMSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTAiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayB0aGUgZmlsdGVyIGJ1dHRvbjogYSBmaWx0ZXIgZGlhbG9ndWUgZGlzcGxheXMuIFNlbGVjdCBhIGZpbHRlciBvcHRpb24uIFRoZSBmaWx0ZXIgcmVzdWx0cyBzaG91bGQgYmUgc2hvd2VkLiAgXG5cbjEiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjExIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRmlsdGVycyBhcmUgb3ZlcnJpZGRlbiBieSBzZWFyY2guIFJ1biBhIHNlYXJjaCBxdWVyeSBhbmQgeW91IGNhbiBzZWUgcHJldmlvdXMgZmlsdGVyIHJlc3VsdHMgYXJlIG92ZXJyaWRkZW4gYnkgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBxdWVyeS4gIFxuXG4xIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoaXMgcGFnZSBuZWVkcyBhIHNwZWNpYWwgbm8gcmVzdWx0cyBtZXNzYWdlIGZvciB0aGUgc2VhcmNoLiBZb3UgY2FuIHNlZSBpbiB0aGUgZG9jIGF0dGFjaGVkIHRvXG5odHRwczovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxNTQgICBcblxuVG8gdGVzdCBpdCwgZW50ZXIgYSByYW5kb20gc3RyaW5nIGluIHRoZSBzZWFyY2ggaW5wdXQgZmllbGQgKHNvbWV0aGluZyBsaWtlIFwiYmJiXCIpIGFuZCBjbGljayB0aGUgJ3NlYXJjaCcgYnV0dG9uLiBUaGUgc3BlY2lhbCBubyByZXN1bHRzIG1lc3NhZ2UgaW5jbHVkZXMgdGhlIGZvbGxvd2luZzogIFxuXG5hKSBpbnN0cnVjdGlvbnMgYWJvdXQgc2VhcmNoaW5nIGFuZCBidWlsZGluZyByZWNpcGVzIGluIG9yZGVyIHRvIGdlbmVyYXRlIG5ldyBwYWNrYWdlcyAgXG5cbmIpIGEgc2VhcmNoIHRleHQgaW5wdXQgZmllbGQgd2l0aCB0aGUgc2VhcmNoIHN0cmluZyB5b3UgdHlwZWQsIGEgJ2NsZWFyJyBpY29uIGFuZCBhIHNlYXJjaCBidXR0b24uIENsaWNrIHRoZSAnY2xlYXInIGljb246IHRoZSBzZWFyY2ggZmllbGQgc2hvdWxkIGJlIGNsZWFyZWQgYW5kIHRoZSBmdWxsIGxpc3Qgb2YgcGFja2FnZXMgc2hvdWxkIGJlIHNob3duLiAgXG5cbmMpIGEgJ3Nob3cgYWxsIHBhY2thZ2VzJyBsaW5rLiBDbGljayB0aGUgbGluazogdGhlIHNlYXJjaCBmaWVsZCBzaG91bGQgYmUgY2xlYXJlZCBhbmQgdGhlIGZ1bGwgbGlzdCBvZiBwYWNrYWdlcyBzaG91bGQgYmUgc2hvd24uICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk4vQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkN1c3RvbV9pbWFnZV9wYWdlX+KAk19BZGRffF9SZW1vdmVfcGFja2FnZXNfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5BZGRpbmdfcGFja2FnZXNfd2l0aG91dF9kZXBlbmRlbmNpZXNfZnJvbV9jdXN0b21faW1hZ2VzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIHByb2plY3RzXCIgdGFibGUuIFxuXG4gICAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT24gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiB0aGUgXCJOZXcgY3VzdG9tIGltYWdlXCIgbGluayBzaXR1YXRlZCBvbiB0aGUgbGVmdC1oYW5kIHNpZGUsIG5lYXIgQ29uZmlndXJhdGlvbiwgYnVpbGRzLCBpbXBvcnQgbGF5ZXIgIFxuXG5cbiAgICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiAiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hvb3NlIGFuIGltYWdlIHJlY2lwZSBleGFtcGxlOihjb3JlLWltYWdlLXNhdG8pIGFuZCBjbGljayBvbiB0aGUgY3VzdG9taXNlIGJ1dHRvbiBvbiB0aGUgZmFyIHJpZ2h0IChub3RlIGlmIHRoYXQgbGF5ZXIgaXMgbm90IGFkZGVkIHRoZSBidXR0b24gd2lsbCBzYXkgK0FkZCBsYXllciwgYWRkIGl0IGFuZCB0aGVuIGN1c3RvbWlzZSkgXG5cblxuICAgICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEEgcG9wIG91dCBzaG91bGQgYXBwZWFyIGFuZCB5b3Ugc2hvdWxkIGdldCB0byBnaXZlIHRoZSBuZXcgaW1hZ2UgYSBjdXN0b21pemVkIG5hbWUuIFRoZW4geW91IHdpbGwgYmUgcmVkaXJlY3RlZCB0byBhIHBhZ2Ugb2YgQWRkfFJlbW92ZSBQYWNrYWdlcy4gSWYgdGhpcyBpbWFnZSBoYXMgbm90IGJlZW4gYnVpbGQgaXQgd2lsbCBub3QgaGF2ZSBwYWNrYWdlcy5cblxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIHRoZSBuZXcgaW1hZ2UgaWYgaXQgaGFzIG5vdCBiZWVuIGJ1aWxkLCBlbHNlIHN0YXJ0IGFkZGluZyBwYWNrYWdlcyB3aXRob3V0IGRlcGVuZGVuY2llcyBleGFtcGxlOiBhdHRyLWRvYyBcblxuICAgIFxuICAgICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiWW91IHNob3VsZCBnZXQgYSBtZXNzYWdlIGluIGJsdWUgdGhhdCBzYXlzIFwiWW91IGhhdmUgYWRkZWQgMSBwYWNrYWdlIHRvICRpbWFnZS1jdXN0b20tbmFtZTogJHBhY2thZ2UtbmFtZVwiICIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCB0aGUgaW1hZ2UgYWdhaW4uXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkV4cGVjdGVkIFJlc3VsdCBvbiBzdGVwIDU6IHRoZSBwYWNrYWdlcyB5b3UgaGF2ZSBhZGRlZCBzaG91bGQgYmUgaW5zdGFsbGVkIGluIHRoZSBpbWFnZS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJBZGRpbmdfcGFja2FnZXNfd2l0aG91dF9kZXBlbmRlbmNpZXNfZnJvbV9jdXN0b21faW1hZ2VzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuUmVtb3ZpbmdfcGFja2FnZXNfd2l0aG91dF9hbmRfd2l0aF9kZXBlbmRlbmNpZXNfX2Zyb21fY3VzdG9tX2ltYWdlcyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBwcm9qZWN0c1wiIHRhYmxlLiBcblxuICAgICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9uIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gdGhlIFwiTmV3IGN1c3RvbSBpbWFnZVwiIGxpbmsgc2l0dWF0ZWQgb24gdGhlIGxlZnQtaGFuZCBzaWRlLCBuZWFyIENvbmZpZ3VyYXRpb24sIGJ1aWxkcywgaW1wb3J0IGxheWVyICBcblxuXG5cbiAgICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBBIHBvcCBvdXQgc2hvdWxkIGFwcGVhciBhbmQgeW91IHNob3VsZCBnZXQgdG8gZ2l2ZSB0aGUgbmV3IGltYWdlIGEgY3VzdG9taXplZCBuYW1lLiBUaGVuIHlvdSB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gYSBwYWdlIG9mIEFkZHxSZW1vdmUgUGFja2FnZXMuIElmIHRoaXMgaW1hZ2UgaGFzIG5vdCBiZWVuIGJ1aWxkIGl0IHdpbGwgbm90IGhhdmUgcGFja2FnZXMuIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hvb3NlIGFuIGltYWdlIHJlY2lwZSBleGFtcGxlOihjb3JlLWltYWdlLXNhdG8pIGFuZCBjbGljayBvbiB0aGUgY3VzdG9taXNlIGJ1dHRvbiBvbiB0aGUgZmFyIHJpZ2h0IChub3RlIGlmIHRoYXQgbGF5ZXIgaXMgbm90IGFkZGVkIHRoZSBidXR0b24gd2lsbCBzYXkgK0FkZCBsYXllciwgYWRkIGl0IGFuZCB0aGVuIGN1c3RvbWlzZSkgXG5cblxuXG4gICAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBIHBvcCBvdXQgc2hvdWxkIGFwcGVhciBhbmQgeW91IHNob3VsZCBnZXQgdG8gZ2l2ZSB0aGUgbmV3IGltYWdlIGEgY3VzdG9taXplZCBuYW1lLiBUaGVuIHlvdSB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gYSBwYWdlIG9mIEFkZHxSZW1vdmUgUGFja2FnZXMuIElmIHRoaXMgaW1hZ2UgaGFzIG5vdCBiZWVuIGJ1aWxkIGl0IHdpbGwgbm90IGhhdmUgcGFja2FnZXMuXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCB0aGUgbmV3IGltYWdlIGlmIGl0IGhhcyBub3QgYmVlbiBidWlsZCBlbHNlIHN0YXJ0IHJlbW92aW5nIGEgcGFja2FnZXMgKGNsaWNrIG9uICdFZGl0IGN1c3RvbSBpbWFnZScgaW4gdGhlIGxlZnQgcGFuZSBvZiB0aGUgY3VzdG9tIGltYWdlKSB0aGF0IGhhdmUgZGVwZW5kZW5jaWVzIGFuZCBwYWNrYWdlcyB0aGF0IGhhdmUgbm8gZGVwZW5kZW5jaWVzIHRoYXQgYXJlIGFscmVhZHkgaW5jbHVkZWQgYnkgY2xpY2tpbmcgb24gdGhlIHJlZCBidXR0b24gXCJSZW1vdmUgUGFja2FnZVwiIFxuXG5cbiAgICBcbiAgICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIllvdSBzaG91bGQgZ2V0IGEgbWVzc2FnZSBpbiBibHVlIHRoYXQgc2F5cyBcIllvdSBoYXZlIHJlbW92ZWQgMSBwYWNrYWdlIHRvICRpbWFnZS1jdXN0b20tbmFtZTogJHBhY2thZ2UtbmFtZVwiICIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCB0aGUgaW1hZ2UgYWdhaW4uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJ0aGUgcGFja2FnZXMgeW91IGhhdmUgcmVtb3ZlZCBzaG91bGQgbm90IGJlIGluc3RhbGxlZCBpbiB0aGUgaW1hZ2UuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiUmVtb3ZpbmdfcGFja2FnZXNfd2l0aG91dF9hbmRfd2l0aF9kZXBlbmRlbmNpZXNfX2Zyb21fY3VzdG9tX2ltYWdlcyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkFkZGluZ19wYWNrYWdlc193aXRoX2RlcGVuZGVuY2llcyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBwcm9qZWN0c1wiIHRhYmxlLiBcblxuICAgICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9uIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gdGhlIFwiTmV3IGN1c3RvbSBpbWFnZVwiIGxpbmsgc2l0dWF0ZWQgb24gdGhlIGxlZnQtaGFuZCBzaWRlLCBuZWFyIENvbmZpZ3VyYXRpb24sIGJ1aWxkcywgaW1wb3J0IGxheWVyICBcblxuXG4gICAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNob29zZSBhbiBpbWFnZSByZWNpcGUgZXhhbXBsZTooY29yZS1pbWFnZS1zYXRvKSBhbmQgY2xpY2sgb24gdGhlIGN1c3RvbWlzZSBidXR0b24gb24gdGhlIGZhciByaWdodCAobm90ZSBpZiB0aGF0IGxheWVyIGlzIG5vdCBhZGRlZCB0aGUgYnV0dG9uIHdpbGwgc2F5ICtBZGQgbGF5ZXIsIGFkZCBpdCBhbmQgdGhlbiBjdXN0b21pc2UpIFxuXG5cbiAgICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkEgcG9wIG91dCBzaG91bGQgYXBwZWFyIGFuZCB5b3Ugc2hvdWxkIGdldCB0byBnaXZlIHRoZSBuZXcgaW1hZ2UgYSBjdXN0b21pemVkIG5hbWUuIFRoZW4geW91IHdpbGwgYmUgcmVkaXJlY3RlZCB0byBhIHBhZ2Ugb2YgQWRkfFJlbW92ZSBQYWNrYWdlcy4gSWYgdGhpcyBpbWFnZSBoYXMgbm90IGJlZW4gYnVpbGQgaXQgd2lsbCBub3QgaGF2ZSBwYWNrYWdlcy4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgdGhlIG5ldyBpbWFnZSBpZiBpdCBoYXMgbm90IGJlZW4gYnVpbGQgZWxzZSBzdGFydCBhZGRpbmcgcGFja2FnZXMgdGhhdCBoYXZlIGRlcGVuZGVuY2llcyAoIHlvdSB3aWxsIGJlIGFibGUgdG8gc2VlIGluIHRoZSBkZXBlbmRlbmNpZXMgY29sdW1uIGEgbGl0dGxlIHNxdWFyZSB3aXRoIGEgbnVtYmVyLCB0aGF0IHRlbGxzIHlvdSB0aGUgZGVwZW5kZW5jaWVzIGl0IGhvbGRzKSBleGFtcGxlOiBsaWJhdHRyIHRoaXMgaG9sZHMgMiBkZXBlbmRlbmNpZXMoIGJhc2ggYW5kIGdsaWJjKSAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBZb3Ugc2hvdWxkIGdldCBhIHBvcC1vdXQgdGhhdCB0aGF0IHNheSBcIiRwYWNrYWdlX25hbWUgZGVwZW5kZW5jaWVzXCIgdGhlbiBpdCBzaG91bGQgbGlzdCB0aGUgZGVwZW5kZW5jaWVzLiBPbmNlIGNsaWNrZWQgb24gdGhlIGFkZCBwYWNrYWdlcyBidXR0b24gaXQgc2hvdWxkIGFkZCB0aGUgcGFja2FnZXMgbGlzdGVkIGluIHRoZSBwb3Atb3V0LiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCB0aGUgaW1hZ2UgYWdhaW4uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJBZGRpbmdfcGFja2FnZXNfd2l0aF9kZXBlbmRlbmNpZXMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5DcmVhdGVfUHJvamVjdCIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdG9hc3RlciIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCBieSBpc3N1aW5nIGEgbmFtZSBhbmQgc2VsZWN0aW5nIGEgcmVsZWFzZSB2ZXJzaW9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT25jZSBwcm9qZWN0IGlzIGNyZWF0ZWQgaXQgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byBhIG5ldyBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gcGFnZSIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSBoMSBwYWdlIHRpdGxlIGlzIHNldCB0byB0aGUgbmFtZSB0aGUgdXNlciB0eXBlZCBpbiB0aGUgbmV3IHByb2plY3QgZm9ybS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJDcmVhdGVfUHJvamVjdCIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV9wcm9qZWN0X2RldGFpbF9wYWdlX2xlZnRfYmFyX21lbnUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgYSB0b2FzdGVyIHByb2plY3QgXG4gICAgXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9uY2UgcHJvamVjdCBpcyBjcmVhdGVkIGl0IHNob3VsZCByZWRpcmVjdCB5b3UgdG8gYSBuZXcgcHJvamVjdCBjb25maWd1cmF0aW9uIHBhZ2UuIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhlIHBhZ2UgY29udGFpbnMgdGhlIHRhYnMgXG4gICAgQ29uZmlndXJhdGlvbiAtLS0+IHNlbGVjdGVkIGJ5IGRlZmF1bHQgXG4gICAgQ29tcGF0aWJsZSBNZXRhZGF0YSAoc2VwYXJhdGlvbiBsYWJlbCkgXG4gICAgQ3VzdG9tIGltYWdlcyBcbiAgICBJbWFnZSByZWNpcGVzIFxuICAgIFNvZnR3YXJlIHJlY2lwZXMgXG4gICAgTWFjaGluZXMgXG4gICAgTGF5ZXJzIFxuICAgIEV4dHJhIENvbmZpZ3VyYXRpb24gKHNlcGFyYXRpb24gbGFiZWwpIFxuICAgIEJpdEJha2UgdmFyaWFibGVzIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBBbGwgZWxlbWVudHMgYXJlIHByZXNlbnQuIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gZWFjaCBlbGVtZW50IHRvIHNlZSBpZiB0aGUgaDIgdGl0bGUgaXMgY2hhbmdpbmcgdG8gdGhlIHJlc3BlY3RpdmUgbGluayBjbGlja2VkLiBFeGFtcGxlIGlmIGNsaWNrZWQgb24gXCJDdXN0b20gSW1hZ2VzXCIgdGhlbiB0aGUgaDIgdGl0bGUgc2hvdWxkIGNoYW5nZSB0byBcIkN1c3RvbSBpbWFnZXNcIiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQWxsIGVsZW1lbnRzIGFyZSBjbGlja2FibGUgYW5kIGgyIHRpdGxlIGNoYW5nZXMgdG8gdGhlIGNvcnJlc3BvbmRpbmcgdGl0bGUuLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZlcmlmeV9wcm9qZWN0X2RldGFpbF9wYWdlX2xlZnRfYmFyX21lbnUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5Db25maWd1cmF0aW9uX2luZm9ybWF0aW9uX29mX1Byb2plY3RfRGV0YWlsX3BhZ2UiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsb25lIFBva3kgYW5kIHN0YXJ0IHRvYXN0ZXIgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIG1hc3RlciB0b2FzdGVyIHByb2plY3QgXG4gICAgXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9uY2UgcHJvamVjdCBpcyBjcmVhdGVkIGl0IHNob3VsZCByZWRpcmVjdCB5b3UgdG8gYSBuZXcgcHJvamVjdCBjb25maWd1cmF0aW9uIHBhZ2UgXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSBjb25maWd1cmF0aW9uIGJ1dHRvbiBvbiB0aGUgbGVmdCBzaWRlIGJhciBpcyBzZWxlY3RlZCBieSBkZWZhdWx0IFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBFeHBlY3RlZCByZXN1bHQgc3RlcCAzICYgNDogVGhlIGNvbmZpZ3VyYXRpb24gbGluayBuZXh0IHRvIHRoZSBidWlsZCBsaW5rIHNob3VsZCBiZSBzZWxlY3RlZCBzZWUgYXR0YWNobWVudC4gIFxuXG5cblxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBjb25maWd1cmF0aW9uIGRldGFpbHMgc2hvdWxkIGluY2x1ZGUgY2FudmFzOiBcbiAgICBNYWNoaW5lIFxuICAgIE1vc3QgYnVpbHQgcmVjaXBlcyBcbiAgICBMYXllcnMgXG4gICAgUHJvamVjdCBSZWxlYXNlICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRXhwZWN0ZWQgcmVzdWx0IHN0ZXAgNDogQSBtYWNoaW5lIG11c3QgYWx3YXlzIGJlIHNldC4gXG5cblRoZSBkZWZhdWx0IGxheWVycyBzcGVjaWZpZWQgaW4gdGhlIFRvYXN0ZXIgY29uZmlndXJhdGlvbiBtdXN0IGFsd2F5cyBiZSBsaXN0ZWQgaW4gdGhlIGxheWVyIHNlY3Rpb24gKGluIG91ciBjYXNlLCBmb3IgdGhlIHBva3kgY29uZmlndXJhdGlvbiB3ZSBzaG91bGQgaGF2ZSBvcGVuZW1iZWRkZWQtY29yZSwgbWV0YS1wb2t5IGFuZCBtZXRhLXlvY3RvLWJzcCkiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJDb25maWd1cmF0aW9uX2luZm9ybWF0aW9uX29mX1Byb2plY3RfRGV0YWlsX3BhZ2UiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5WZXJpZnlfTWFjaGluZV9pbmZvcm1hdGlvbl9vZl9wcm9qZWN0X2RldGFpbF9wYWdlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IFxuICAgIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCAyOiBPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgQ29uZmlndXJhdGlvbiBwYWdlIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBzaG91bGQgaW5jbHVkZSBhIGxhYmVsIGluIGJvbGQgZm9udCB0aGF0IHNheXM6IFxuICAgIE1hY2hpbmU6IHRoaXMgY2FudmFzIHNob3VsZCBoYXZlIHRoZSBtYWNoaW5lIGxhYmVsIHR5cGUgdW5kZXIgaXQgYW5kIGFuIGVkaXRpbmcgYnV0dG9uIG9uIHRoZSBzaWRlICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRXhwZWN0ZWQgcmVzdWx0IHN0ZXAgMzogQ29tcGFyZSB0byB0aGUgYXR0YWNoZWQgc25hcHNob3QuIFRoZSBtYWNoaW5lIG11c3QgYWx3YXlzIGJlIHNldC4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJpZnlfTWFjaGluZV9pbmZvcm1hdGlvbl9vZl9wcm9qZWN0X2RldGFpbF9wYWdlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X21vc3RfYnVpbHRfcmVjaXBlc19pbmZvcm1hdGlvbl9vZl90aGVfcHJvamVjdF9kZXRhaWxfcGFnZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdG9hc3RlciAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgYSB0b2FzdGVyIHByb2plY3QgXG4gICAgXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkV4cGVjdGVkIHJlc3VsdCBzdGVwIDI6IE9uY2UgcHJvamVjdCBpcyBjcmVhdGVkIGl0IHNob3VsZCByZWRpcmVjdCB5b3UgdG8gYSBuZXcgcHJvamVjdCBjb25maWd1cmF0aW9uIHBhZ2UgIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBjb25maWd1cmF0aW9uIGRldGFpbHMgc2hvdWxkIGluY2x1ZGUgYSBsYWJlbCBpbiBib2xkIGZvbnQgdGhhdCBzYXlzOiBcbiAgICBNb3N0IGJ1aWx0IHJlY2lwZXM6IEluIHRoaXMgY2FudmFzIG9uZSBvZiB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uIHNob3VsZCBzaG93OiAgXG5cbiAgICAgICAgICAgIGEpIElmIHRoZXJlIGhhcyBiZWVuIG5vIGJ1aWx0IHJlY2lwZXMgaXQgc2hvdWxkIGhhdmUgYSBsYWJlbCB0aGF0IHNheXM6IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIllvdSBoYXZlbid0IGJ1aWx0IGFueSByZWNpcGVzIHlldCwgY2hvb3NlIGEgcmVjaXBlIHRvIGJ1aWxkXCIgIFxuXG4gICAgICAgICAgICBiKSBFbHNlIGl0IHNob3VsZCBoYXZlIGEgbGlzdCBvZiBidWlsdCByZWNpcGVzIGFuZCBhIGNoZWNrIGJveCBpbiBmcm9udCBvZiBpdC4gU28gdGhhdCBpdCBjb3VsZCBiZSBzZWxlY3RlZCBhbmQgYnVpbHQgYWdhaW4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCBhOiBTZWUgUHJvamVjdERldGFpbFBhZ2UyLnBuZyBhdHRhY2htZW50LlxuXG5FeHBlY3RlZCByZXN1bHQgc3RlcCBiOiBTZWUgUHJvamVjdERldGFpbFBhZ2UucG5nIGF0dGFjaG1lbnQuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X21vc3RfYnVpbHRfcmVjaXBlc19pbmZvcm1hdGlvbl9vZl90aGVfcHJvamVjdF9kZXRhaWxfcGFnZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV9wcm9qZWN0X3JlbGVhc2VfaW5mb3JtYXRpb25fb25fcHJvamVjdF9kZXRhaWxfcGFnZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdG9hc3RlciIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCBcbiAgICBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRXhwZWN0ZWQgcmVzdWx0IHN0ZXAgMjogT25jZSBwcm9qZWN0IGlzIGNyZWF0ZWQgaXQgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byBhIG5ldyBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gcGFnZS4gIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBjb25maWd1cmF0aW9uIGRldGFpbHMgc2hvdWxkIGluY2x1ZGUgYSBsYWJlbCBpbiBib2xkIGZvbnQgdGhhdCBzYXlzOiBcbiAgICAgICAgIFByb2plY3QgcmVsZWFzZTogdGhpcyBjYW52YXMgc2hvdWxkIGFsc28gaGF2ZSBhIGxhYmVsIHRoYXQgc2hvdyB0aGUgcmVsZWFzZSBwcm9qZWN0IHlvdSBjaG9zZSBhdCB0aGUgYmVnaW5uaW5nLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRXhwZWN0ZWQgcmVzdWx0IHN0ZXAgMzogU2VlIGF0dGFjaG1lbnQgUHJvamVjdERldGFpbFBhZ2Uuam5wLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZlcmlmeV9wcm9qZWN0X3JlbGVhc2VfaW5mb3JtYXRpb25fb25fcHJvamVjdF9kZXRhaWxfcGFnZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV9sYXllcl9pbmZvcm1hdGlvbl9vZl90aGVfcHJvamVjdF9kZXRhaWxfcGFnZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xvbmUgdGhlIHBva3kgZW52aXJvbm1lbnQgICAgIGdpdCBjbG9uZSBodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvZ2l0L3Bva3kiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCAyOiBPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgY29uZmlndXJhdGlvbiBwYWdlLiBcblxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCBcbiAgICBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRXhwZWN0ZWQgcmVzdWx0IHN0ZXAgMzogU2VlIGF0dGFjaG1lbnQgb2YgbGF5ZXJDYW52YXMucG5nXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBzaG91bGQgaW5jbHVkZSBhIGxhYmVsIHdpdGggYm9sZCBmb250IHRoYXQgc2F5czogXG4gICAgICAgTGF5ZXI6ICB0aGlzIGNhbnZhcyBzaG91bGQgaGF2ZSAzIGxheWVycyBsaXN0ZWQgYnkgZGVmYXVsdCAob3BlbmVtYmVkZGVkLWNvcmUsIG1ldGEtcG9reSwgYW5kIG1ldGEteW9jdG8tYnNwKS4gIFxuICAgICAgIEVhY2ggbGF5ZXIgc2hvdWxkIGhhdmUgYSB0cmFzaGNhbiBpY29uIGF0IHRoZSBzaWRlIHRoYXQgY2FuIGJlIHVzZWQgdG8gZXJhc2UgdGhlIGxhYmVsIGZyb20gdGhlIHByb2plY3QuIFxuICAgICAgICBUaGUgbGF5ZXIgY2FudmFzIHNob3VsZCBoYXZlIGEgdGV4dCBib3ggd2l0aCB0aGUgdGV4dCBcInR5cGUgYSBsYXllciBuYW1lXCIgYSBidXR0b24gXCJBZGQgbGF5ZXJcIiBuZXh0IHRvIGl0LiBcbiAgICAgICAganVzdCB1bmRlcm5lYXRoIGEgXCJ2aWV3IGNvbXBhdGlibGUgbGF5ZXIgfCBpbXBvcnQgbGF5ZXJcIiBsaW5rLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZlcmlmeV9sYXllcl9pbmZvcm1hdGlvbl9vZl90aGVfcHJvamVjdF9kZXRhaWxfcGFnZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV9wcm9qZWN0X2RldGFpbF9saW5rcyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdG9hc3RlciAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgYSB0b2FzdGVyIHByb2plY3QgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRXhwZWN0ZWQgcmVzdWx0IHN0ZXAgMjogT25jZSBwcm9qZWN0IGlzIGNyZWF0ZWQgaXQgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byBhIG5ldyBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gcGFnZS4gIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBzaG91bGQgaW5jbHVkZSBcbiAgICA0IGxpbmtzLCBzdGFydGluZyBpbiB0aGUgdXBwZXIgbGVmdCBzaWRlIHRoZSBDb25maWd1cmF0aW9uIGxpbmssIEJ1aWxkcygjKSBsaW5rLCBJbXBvcnQgbGF5ZXIgbGluaywgYW5kIHRoZSBOZXcgY3VzdG9tIGltYWdlIGxpbmsuIFxuXG4gICAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCAzOiBBbGwgbGlua3Mgc2hvdWxkIGJlIGNsaWNrYWJsZSBhbmQgc2hvdWxkIGhhdmUgaW5mb3JtYXRpb24gb3IgdGFibGVzLCBvciBmb3Jtcy4gc2VlIGF0dGFjaG1lbnQgcHJvamVjdERldGFpbExpbmtzLnBuZyIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZlcmlmeV9wcm9qZWN0X2RldGFpbF9saW5rcyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV9idWlsZF90ZXhib3hfZXhpc3RzX2FuZF93b3JrcyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdG9hc3RlciIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCBcbiAgICBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIE9uY2UgcHJvamVjdCBpcyBjcmVhdGVkIGl0IHNob3VsZCByZWRpcmVjdCB5b3UgdG8gYSBuZXcgcHJvamVjdCBjb25maWd1cmF0aW9uIHBhZ2UuICBcblxuXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBzaG91bGQgaW5jbHVkZSBcbiAgICBBZnRlciB0aGUgNCBsaW5rcyAoQ29uZmlndXJhdGlvbiwgQnVpbGQoIyksIEltcG9ydCBsYXllciAmIE5ldyBjdXN0b20gaW1hZ2UpICBhdCB0aGUgZmFyIHJpZ2h0IHRoZXJlIHNob3VsZCBiZSBhIHRleHRib3ggd2l0aCB0aGUgbGFiZWwgdGhhdCBzYXlzLi4uLlwiVHlwZSB0aGUgcmVjaXBlIHlvdSB3YW50IHRvIGJ1aWxkXCIgIGFuZCBhIGJ1dHRvbiBcIkJ1aWxkXCIgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiU2VlIGF0dGFjaG1lbnQgYnVpbGRUWFQucG5nLCBUaGUgYnVpbGQgYnV0dG9uIHNob3VsZCBiZSBkaXNhYmxlZCB3aGVuZXZlciB0aGUgdGV4dCBpbnB1dCBmaWVsZCBpcyBlbXB0eSwgc28gdGhhdCB5b3UgY2Fubm90IHN0YXJ0IGEgYnVpbGQgd2l0aCBhIGJsYW5rIHRhcmdldCAgXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUeXBlIGluIHRoZSB0ZXh0Ym94IGFuIGltYWdlIHlvdSB3b3VsZCBsaWtlIHRvIGJ1aWxkIGV4YW1wbGUgKGNvcmUtaW1hZ2UtbWluaW1hbCkgYW5kIGNsaWNrIHRoZSBidWlsZCBidXR0b24uXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEltYWdlIHN0YXJ0cyBidWlsZGluZy4gV2hlbmV2ZXIgdGhlcmUgaXMgaW5mb3JtYXRpb24gaW4gdGhlIGltYWdlIHJlY2lwZXMgYW5kIHNvZnR3YXJlIHJlY2lwZXMgdGFibGVzLCB0aGUgdGV4dCBpbnB1dCBmaWVsZCBzaG91bGQgcHJlc2VudCBzdWdnZXN0aW9ucyBmcm9tIHRoZSBsaXN0IG9mIHJlY2lwZXMgcHJvdmlkZWQgYnkgdGhlIGxheWVycyBpbiB0aGUgXCJsYXllcnNcIiBsaXN0LiBUaGUgc3VnZ2VzdGlvbnMgY29udGFpbiB0aGUgc3RyaW5nIHR5cGVkIGluIHRoZSBpbnB1dCBmaWVsZCwgYW5kIHVwZGF0ZSBhcyB5b3UgdHlwZS4gVGhleSBhcHBlYXIgb24gdHlwaW5nIHRoZSBzZWNvbmQgY2hhcmFjdGVyLiBBIG1heGltdW0gb2YgOCBzdWdnZXN0aW9ucyBjYW4gYmUgc2hvd24uIFRoZXkgYXJlIHNvcnRlZCBhcyBmb2xsb3dzOiBmaXJzdCByZWNpcGVzIHN0YXJ0aW5nIHdpdGggdGhlIHN0cmluZywgaW4gYWxwaGFiZXRpY2FsIG9yZGVyOyB0aGVuIHJlY2lwZXMgY29udGFpbmluZyB0aGUgc3RyaW5nLCBhbHNvIGluIGFscGhhYmV0aWNhbCBvcmRlciAgXG5cblxuV2hlbiB5b3UgY2xpY2sgdGhlIGJ1aWxkIGJ1dHRvbiB5b3UgYXJlIGJyb3VnaHQgdG8gdGhlIFwiQnVpbGRzXCIgdGFiLCBhbmQgYSBuZXcgYnVpbGQgaW4gcHJvZ3Jlc3MgYXBwZWFycyBhdCB0aGUgdG9wIG9mIHRoZSBcIkxhdGVzdCBwcm9qZWN0IGJ1aWxkc1wiIHNlY3Rpb24iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJpZnlfYnVpbGRfdGV4Ym94X2V4aXN0c19hbmRfd29ya3MuIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyeWZpbmdfdGhlX2J1aWxkc19saW5rX3Nob3dfcHJvcGVyX2luZm9ybWF0aW9uIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT25jZSBwcm9qZWN0IGlzIGNyZWF0ZWQgaXQgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byBhIG5ldyBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gcGFnZS4gXG5cblxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBjb25maWd1cmF0aW9uIGRldGFpbHMgc2hvdWxkIGluY2x1ZGUgXG4gICAgQSBidWlsZHMgdGFiIHRoYXQgd2hlbiBjbGlja2luZyBvbiwgaXQgc2hvdWxkIGRpc3BsYXkgb25lIG9mIHRoZSBmb2xsb3dpbmc6IFxuICAgICAgIFxuXG4gICAgICAgIGEpIEEgbGFiZWwgdGhhdCBzYXlzIFwiTGF0ZXN0IHByb2plY3QgYnVpbGRzXCIgIHRoZW4gYSBsYWJlbCB3aXRoIFwiQWxsIHByb2plY3QgYnVpbGRzXCIgXG4gICAgICAgICAgICAgICAgICAgSWYgeW91IGhhdmUgYSBmaW5pc2hlZCBidWlsZCBvciB0aGVyZSBpcyBhbiBvbmdvaW5nIGJ1aWxkcyB0aGVuOiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBzaG91bGQgc2VlIGEgcHJvZ3Jlc3MgYmFyIG9mIHRoZSBvbmdvaW5nIGJ1aWxkcyBpbiB0aGUgcHJvamVjdC4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWW91IHNob3VsZCBzZWUgYSB0YWJsZSB3aXRoIHRoZSBhbHJlYWR5IGRvbmUgYnVpbGRzIGluIHRoZSBwcm9qZWN0LiBcblxuXG4gICAgICAgIGIpIFwiQWxsIHByb2plY3QgYnVpbGRzXCIgYW5kIGEgc2VhcmNoIHRleHRib3ggd2l0aCBhIGJ1dHRvbiBub3RoaW5nIGVsc2Ugb25seSBpZiB0aGVyZSBhcmUgbm8gYnVpbGRzIGRvbmUgaW4gdGhlIHByb2plY3QgXG4gICAgICAgICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRXhwZWN0ZWQgcmVzdWx0IGZvciBzdGVwIGEpOiAgU2VlIEV4aXN0aW5nQnVpbGRzLnBuZyBhdHRhY2htZW50LiBcblxuXG5FeHBlY3RlZCByZXN1bHQgZm9yIHN0ZXAgYik6IFNlZSBaZXJvQnVpbGRzLnBuZyBhdHRhY2htZW50LiAiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJ5ZmluZ190aGVfYnVpbGRzX2xpbmtfc2hvd19wcm9wZXJfaW5mb3JtYXRpb24iCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5WZXJpZnlfdGhhdF90aGVfSW1wb3J0X2xheWVyX2xpbmtfc2hvd3NfdGhlX2Zvcm0iLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgYSB0b2FzdGVyIHByb2plY3QgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiICBPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgY29uZmlndXJhdGlvbiBwYWdlLiBcblxuXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBzaG91bGQgaW5jbHVkZSBcbiAgICBBbiBJbXBvcnQgbGF5ZXIgbGluayAgdGhhdCB3aGVuIGNsaWNraW5nIG9uLCBpdCBzaG91bGQgZGlzcGxheTogXG4gICAgICAgICAgQSBsYWJlbCB0aGF0IHNheXMgXCJMYXllciByZXBvc2l0b3J5IGluZm9ybWF0aW9uXCIgXG4gICAgICAgICAgQSBsYWJlbCB0aGF0IHNheXMgXCJUaGUgbGF5ZXIgeW91IGFyZSBpbXBvcnRpbmcgbXVzdCBiZSBjb21wYXRpYmxlIHdpdGggWW9jdG8gUHJvamVjdCBtYXN0ZXIsIHdoaWNoIGlzIHRoZSByZWxlYXNlIHlvdSBhcmUgdXNpbmcgaW4gdGhpcyBwcm9qZWN0LlwiIFxuICAgICAgICBGb3JtIGNvbXBvc2VkIG9mIHRoZSBmb2xsb3dpbmcgZWxlbWVudHM6IFxuICAgICAgICAgICAgTGF5ZXIgbmFtZSA6IHRleHRib3ggXG4gICAgICAgICAgICBHaXQgcmVwb3NpdG9yeSBVUkwgOiB0ZXh0Ym94IFxuICAgICAgICAgICAgUmVwb3NpdG9yeSBzdWJkaXJlY3RvcnkgKG9wdGlvbmFsKSA6IHRleHRib3ggXG4gICAgICAgICAgICBHaXQgcmV2aXNpb24gOiB0ZXh0Ym94IFxuICAgICAgICAgICAgTGF5ZXIgZGVwZW5kZW5jaWVzIChvcHRpb25hbCkgOiBcIm9wZW5lbWJlZGRlZC1jb3JlXCIgbGluayBhbmQgKHRyYXNoIGljb24pLCB0ZXh0Ym94IGFuZCBcIkFkZCBsYXllclwiIGJ1dHRvbiBcbiAgICAgICAgICAgIEltcG9ydCBhbmQgYWRkIHRvIHByb2plY3QgOiBidXR0b24iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBTZWUgYXR0YWNobWVudCBJbXBvcnRMYXllckZvcm0ucG5nIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X3RoYXRfdGhlX0ltcG9ydF9sYXllcl9saW5rX3Nob3dzX3RoZV9mb3JtIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X3RoYXRfTmV3X0N1c3RvbV9JbWFnZV9saW5rX3dvcmtzX2FuZF9zaG93c19pbmZvcm1hdGlvbiIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdG9hc3RlciIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT25jZSBwcm9qZWN0IGlzIGNyZWF0ZWQgaXQgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byBhIG5ldyBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gcGFnZSBcblxuXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBzaG91bGQgaW5jbHVkZSAgXG4gICAgQSBcIk5ldyBjdXN0b20gaW1hZ2VcIiB0YWIgdGhhdCB3aGVuIGNsaWNraW5nIG9uLCBpdCBzaG91bGQgZGlzcGxheTogXG4gICAgICAgIGEgVGl0bGUgbGFiZWwgdGhhdCBzYXlzOiBcIlNlbGVjdCB0aGUgaW1hZ2UgcmVjaXBlIHlvdSB3YW50IHRvIGN1c3RvbWlzZSgjbnVtYmVyX29yX3JlY2lwZXNfYXZhaWxhYmxlKVwiIFxuICAgICAgICBBIHNlYXJjaCB0ZXh0Ym94IHdpdGggdGhlIGxhYmVsIG9mOiBcIlNlYXJjaCBhbmQgc2VsZWN0IHRoZSBpbWFnZSByZWNpcGUgeW91IHdhbnQgdG8gY3VzdG9taXNlXCIgXG4gICAgICAgIEEgXCJTZWFyY2ggYnV0dG9uXCIgXG4gICAgICAgIEEgXCJFZGl0IGNvbHVtbnNcIiBidXR0b24gXG4gICAgICAgIEEgdGFibGUgdGhhdCB3aWxsIGRpc3BsYXkgdGhlIGN1c3RvbWlzZSBpbWFnZXMgYXZhaWxhYmxlICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiU2VlIGF0dGFjaG1lbnQgQ3VzdG9tSW1hZ2UucG5nIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X3RoYXRfTmV3X0N1c3RvbV9JbWFnZV9saW5rX3dvcmtzX2FuZF9zaG93c19pbmZvcm1hdGlvbiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV9tb3N0X2J1aWx0X3JlY2lwZV9zaG93c19hX21heGltdW1fb2ZfNV9yZWNpcGVzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgNiByZWNpcGVzIGV4YW1wbGUgKGNvcmUtaW1hZ2Utc2F0bywgY29yZS1pbWFnZS1taW5pbWFsLCBjb3JlLWltYWdlLWJhc2UsIGNvcmUtaW1hZ2UtbHNiLCBjb3JlLWltYWdlLWNsdXR0ZXIpIHRvIG5hbWUgYSBmZXcuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEFsbCByZWNpcGVzIGFyZSBidWlsdCBjb3JyZWN0bHkgXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXYWl0IGZvciB0aGUgcmVjaXBlcyB0byBmaW5pc2ggIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiR28gdG8gdGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscy4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBZb3Ugc2hvdWxkIHNlZSA1IG9mIHRoZSA2IHJlY2lwZXMgdGhhdCB3ZXJlIGJ1aWxkLiBJZiB5b3Ugb3JkZXIgdGhlIHJlY2lwZXMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyIHlvdSBzaG91bGQgc2VlIHRoYXQgdGhlIGZpcnN0IDUgbWFkZSB0aGUgbGlzdC4gIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X21vc3RfYnVpbHRfcmVjaXBlX3Nob3dzX2FfbWF4aW11bV9vZl81X3JlY2lwZXMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5WZXJpZnlfb3JkZXJfc2VxdWVuY2Vfb2ZfbGlzdGluZ19pbl9Nb3N0X2J1aWxkX3JlY2lwZXMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgYSB0b2FzdGVyIHByb2plY3QiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCA2IHJlY2lwZXMgZXhhbXBsZSAoY29yZS1pbWFnZS1zYXRvLCBjb3JlLWltYWdlLW1pbmltYWwsIGNvcmUtaW1hZ2UtYmFzZSwgY29yZS1pbWFnZS1sc2IsIGNvcmUtaW1hZ2UtY2x1dHRlcikgdG8gbmFtZSBhIGZldy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQWxsIHJlY2lwZXMgYXJlIGJ1aWx0IGNvcnJlY3RseSBcblxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIldhaXQgZm9yIHRoZSByZWNpcGVzIHRvIGZpbmlzaCBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiR28gdG8gdGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIElmIHlvdSBvcmRlciB0aGUgcmVjaXBlcyBpbiBhbHBoYWJldGljYWwgb3JkZXIgeW91IHNob3VsZCBzZWUgdGhhdCB0aGUgZmlyc3QgNSBtYWRlIHRoZSBsaXN0LiBPbmx5IDUgb3V0IG9mIHRoZSA2IHNob3VsZCBtYWtlIHRoZSBsaXN0LiBcblxuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlbGVjdCB0aGUgNnRoIHJlY2lwZSB0aGF0IGRpZCBub3QgbWFrZSB0aGUgbGlzdCBhbmQgYnVpbGQgaXQgYWdhaW4uICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFNpbmNlIHRoZSA2dGggcmVjaXBlIGlzIG5vdyBidWlsdCB0d2ljZSBpdCBzaG91bGQgbWFrZSB0aGUgbGlzdCBhbmQgdGhlIHJlY2lwZSBpbiB0aGUgNXRoIHBsYWNlIHNob3VsZCBub3QgYXBwZWFyLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZlcmlmeV9vcmRlcl9zZXF1ZW5jZV9vZl9saXN0aW5nX2luX01vc3RfYnVpbGRfcmVjaXBlcyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV9Nb3N0X2J1aWxkX3JlY2lwZXNfbXVsdGlwbGVfc2VsZWN0aW9uIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgNCByZWNpcGVzIGV4YW1wbGUgKGNvcmUtaW1hZ2Utc2F0bywgY29yZS1pbWFnZS1taW5pbWFsLCBjb3JlLWltYWdlLWJhc2UsIGNvcmUtaW1hZ2UtbHNiLCBjb3JlLWltYWdlLWNsdXR0ZXIpIHRvIG5hbWUgYSBmZXcuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBBbGwgcmVjaXBlcyBhcmUgYnVpbHQgY29ycmVjdGx5IFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiV2FpdCBmb3IgdGhlIHJlY2lwZXMgdG8gZmluaXNoLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiR28gdG8gdGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFlvdSBzaG91bGQgc2VlIHRoZSA0IHJlY2lwZXMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLiBZb3Ugc2hvdWxkIGFsc28gbm90ZSB0aGF0IHRoZSBCdWlsZCBidXR0b24gb24gdGhlIHVwcGVyIHJpZ2h0IGhhbmQgY29ybmVyIGlzIGRpc2FibGVkIHNpbmNlIG5vIHJlY2lwZSBoYXMgYmVlbiBzZWxlY3RlZC4gXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWxlY3QgMSBvZiB0aGUgcmVjaXBlcyBpbiB0aGUgbW9zdCBidWlsdCByZWNpcGVzIHNlY3Rpb24uIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRoZSBidWlsZCBidXR0b24gaXMgYXV0b21hdGljYWxseSBlbmFibGVkLiBcblxuIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlbGVjdCBtdWx0aXBsZSAoZXhhbXBsZSAyIG9yIDMpIHJlY2lwZXMgaW4gdGhlIG1vc3QgYnVpbHQgcmVjaXBlcyBzZWN0aW9uLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgVGhlIGJ1aWxkIGJ1dHRvbiBpcyBlbmFibGVkLiBcblxuIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRoZSBidWlsZCBidXR0b24gdG8gc3RhcnQgYnVpbGRpbmcgdGhlIHJlY2lwZXMuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPbmUgcmVjaXBlIHN0YXJ0IHRvIGJ1aWxkIGFuZCB0aGUgb3RoZXJzIGFyZSBvbiBxdWV1ZS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJpZnlfTW9zdF9idWlsZF9yZWNpcGVzX211bHRpcGxlX3NlbGVjdGlvbiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV9sYXllcl9hZGRpdGlvbl9mdW5jdGlvbmFsaXR5IiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbG9uZSB0aGUgcG9reSBlbnZpcm9ubWVudCAgICAgZ2l0IGNsb25lIGh0dHA6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9naXQvcG9reSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgY29uZmlndXJhdGlvbiBwYWdlLiBcblxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCB3aXRoIG1hc3RlciByZWxlYXNlIFxuICAgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBTZWUgYXR0YWNobWVudCBvZiBsYXllckNhbnZhcy5wbmcgXG5cblxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFkZCAgbGF5ZXJzIGJ5IHR5cGluZyB0aGUgbmFtZSBpbiB0aGUgXCJUeXBlIGEgbGF5ZXIgbmFtZVwiIGlucHV0IGJveCBhbmQgYWRkaW5nIGJ5IGNsaWNraW5nIHRoZSBidXR0b24uIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBBIGxpc3Qgb2YgbGF5ZXJzIHdpdGggc2ltaWxhciBuYW1lIHRvIHRoZSBvbmUgeW91IGFyZSB0eXBpbmcgc2hvdWxkIGFwcGVhciwgZ2l2aW5nIHlvdSB0aGUgY2hvaWNlIHRvIGFkZCBpdC4gIFRoZSBkZWZhdWx0IHRleHQgXCJUeXBlIGEgbGF5ZXIgbmFtZVwiIHNob3VsZCBkaXNhcHBlYXIgYXMgc29vbiBhcyB5b3Ugc3RhcnQgdHlwaW5nLiAgXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBZGQgbGF5ZXJzIGJ5IGNsaWNraW5nIG9uIHRoZSBWaWV3IGNvbXBhdGlibGUgbGF5ZXJzIGxpbmsganVzdCBiZWxsb3cgdGhlIGlucHV0IHRleHQgYm94LiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUaGlzIHNob3VsZCByZWRpcmVjdCB5b3UgdG8gdGhlIGNvbXBhdGlibGUgbGF5ZXJzIHBhZ2Ugd2hlcmUgYSBsaXN0IG9mIGNvbXBhdGlibGUgbGF5ZXJzIHNob3VsZCBhcHBlYXIgYW5kIGFsbG93IHlvdSB0byBBZGQgbGF5ZXJzIHRvIHRoZSBwcm9qZWN0LiBcblxuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFkZCBhIGxheWVyIGJ5IGltcG9ydGluZyBhIGxheWVyIGNsaWNraW5nIGluIHRoZSBJbXBvcnQgbGF5ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRoaXMgbGluayBzaG91bGQgcmVkaXJlY3QgeW91IHRvIHRoZSBpbXBvcnQgbGF5ZXIgZm9ybSB3aGVyZSB5b3Ugd2lsbCBiZSBhYmxlIHRvIGFkZCBsYXllcnMgZnJvbSBnaXQgcmVwb3NpdG9yeSBvciBhIGxvY2FsIGRpcmVjdG9yeS4gXG5cblxuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X2xheWVyX2FkZGl0aW9uX2Z1bmN0aW9uYWxpdHkiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5WZXJpZnlfZGVsZXRlX2xheWVyX2Z1bmN0aW9uYWxpdHkiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsb25lIHRoZSBwb2t5IGVudmlyb25tZW50ICAgICBnaXQgY2xvbmUgaHR0cDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2dpdC9wb2t5XG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT25jZSBwcm9qZWN0IGlzIGNyZWF0ZWQgaXQgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byBhIG5ldyBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gcGFnZS5cblxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCBtYXN0ZXIgcmVsZWFzZSAgXG4gICBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiU2VlIGF0dGFjaG1lbnQgb2YgbGF5ZXJDYW52YXMucG5nICBcblxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlJlbW92ZSBvcGVuZW1iZWRkZWQtY29yZSBsYXllciBmcm9tIHRoZSBwcm9qZWN0IGJ5IGNsaWNraW5nIHRoZSB0cmFzaCBpY29uIG5leHQgdG8gaXQuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUaGUgbGF5ZXIgc2hvdWxkIGRpc2FwcGVhciBmcm9tIHRoZSBsaXN0IGFuZCBhIG5vdGlmaWNhdGlvbiBzaG91bGQgYXBwZWFyIGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2Ugc2F5aW5nOiBcIllvdSBoYXZlIHJlbW92ZWQgMSBsYXllciBmcm9tIHlvdXIgcHJvamVjdDogXCIuICBUaGUgbGF5ZXJfbmFtZSBzaG91bGQgYmUgYSBsaW5rIHRvIHRoZSBjb3JyZXNwb25kaW5nIGxheWVyIGRldGFpbCBwYWdlLiBUaGUgbGF5ZXIgY291bnRlciBuZXh0IHRvIHRoZSBcImxheWVyc1wiIGhlYWRpbmcgc2hvdWxkIGRlY3JlYXNlIGJ5IG9uZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiUmVtb3ZlIGFsbCB0aGUgbGF5ZXJzIGZyb20gdGhlIHByb2plY3QiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiB5b3Ugc2hvdWxkIHNlZSBhIG1lc3NhZ2UgdGhhdCByZWFkczogIFxuXG5Zb3UgbmVlZCB0byBhZGQgc29tZSBsYXllcnMuIEZvciB0aGF0IHlvdSBjYW46ICBcblxuLVZpZXcgYWxsIGxheWVycyBjb21wYXRpYmxlIHdpdGggdGhpcyBwcm9qZWN0ICBcblxuLUltcG9ydCBhIGxheWVyICBcblxuLVJlYWQgYWJvdXQgbGF5ZXJzIGluIHRoZSBkb2N1bWVudGF0aW9uICBcblxuT3IgdHlwZSBhIGxheWVyIG5hbWUgYmVsb3cuICBcblxuXG4gVGhlIFwiQ2hvb3NlIGZyb20gdGhlIGxheWVycyBjb21wYXRpYmxlIHdpdGggdGhpcyBwcm9qZWN0XCIgbGluayBzaG91bGQgZ28gdG8gdGhlIGNvbXBhdGlibGUgbGF5ZXJzIHBhZ2UgVGhlIFwiSW1wb3J0IGEgbGF5ZXJcIiBsaW5rIHNob3VsZCBnbyB0byB0aGUgaW1wb3J0IGxheWVyIHBhZ2UgVGhlIFwiUmVhZCBhYm91dCBsYXllcnMgaW4gdGhlIGRvY3VtZW50YXRpb25cIiBsaW5rIHNob3VsZCBvcGVuIGluIGEgbmV3IHdpbmRvdyBhbmQgYnJpbmcgeW91IHRvIGh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzL2N1cnJlbnQvZGV2LW1hbnVhbC9kZXYtbWFudWFsLmh0bWwjdW5kZXJzdGFuZGluZy1hbmQtY3JlYXRpbmctbGF5ZXJzIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X2RlbGV0ZV9sYXllcl9mdW5jdGlvbmFsaXR5IgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuRG93bmxvYWRfdGFza19sb2ciLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgVG9hc3Rlci4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUb2FzdGVyIHN0YXJ0cy4iCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLlxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdCBvciBzZWxlY3QgYW4gZXhpc3RpbmcgcHJvamVjdC4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUHJvamVjdCBDcmVhdGVkLiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhIHJlY2lwZSAoZXg6IGNvcmUtaW1hZ2UtbWluaW1hbCkuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIGZpbmlzaC4iCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIGJ1aWx0IHJlY2lwZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBidWlsZCBzdW1tYXJ5IHBhZ2UuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRhc2tzIHRhYi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiB0YXNrcyBwYWdlLiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBhIHRhc2sgZXhlY3V0ZWQgc3VjY2Vzc2Z1bGx5LiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIHRhc2sgcGFnZS4iCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gXCJEb3dubG9hZCB0YXNrIGxvZ1wiIGJ1dHRvbi4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIllvdSBjYW4gZG93bmxvYWQgdGhlIHRhc2sgbG9nLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBhIGZhaWxlZCB0YXNrLiAgXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gdGFzayBwYWdlLCBub3QgYXBwZWFyIGRvd25sb2FkIHRhc2sgXG4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJEb3dubG9hZF90YXNrX2xvZyIKKyAgICB9CisgIH0KK10KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL3RvYXN0ZXItdW5tYW5hZ2VkLW1vZGUuanNvbiBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvdG9hc3Rlci11bm1hbmFnZWQtbW9kZS5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5ZDExYTgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL3RvYXN0ZXItdW5tYW5hZ2VkLW1vZGUuanNvbgpAQCAtMCwwICsxLDExNzAgQEAKK1sKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLkNyZWF0ZV9hX1lvY3RvX3Byb2plY3RfYW5kX3N0YXJ0X3RoZV9Ub2FzdGVyIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZXQgdXAgeW9jdG8gcHJvamVjdCBhbmQgdG9hc3RlciB0ZXN0IGVudmlyb25tZW50LiBcbmNkICR7aW5zdGFsbGRpcn0gXG5naXQgY2xvbmUgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvcG9reSAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEgXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB1cCB0b2FzdGVyLiBcbmNkICR7aW5zdGFsbGRpcn0gXG5zb3VyY2UgcG9reS9vZS1pbml0LWJ1aWxkLWVudiBcbnNvdXJjZSB0b2FzdGVyIHN0YXJ0ICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgIFxubG9nOiBcblRoZSBzeXN0ZW0gd2lsbCBzdGFydC4gXG5TeW5jaW5nLi4uIFxuQ3JlYXRpbmcgdGFibGVzIC4uLiBcbkNyZWF0aW5nIHRhYmxlIHNvdXRoX21pZ3JhdGlvbmhpc3RvcnkgXG5JbnN0YWxsaW5nIGN1c3RvbSBTUUwgLi4uIFxuSW5zdGFsbGluZyBpbmRleGVzIC4uLiBcbkluc3RhbGxlZCAwIG9iamVjdChzKSBmcm9tIDAgZml4dHVyZShzKSBcbiA+IHNvdXRoICBcblxuTm90IHN5bmNlZCAodXNlIG1pZ3JhdGlvbnMpOiBcbiAtIG9ybSBcbih1c2UgLi9tYW5hZ2UucHkgbWlncmF0ZSB0byBtaWdyYXRlIHRoZXNlKSBcblJ1bm5pbmcgbWlncmF0aW9ucyBmb3Igb3JtOiBcbiAtIE1pZ3JhdGluZyBmb3J3YXJkcyB0byAwMDA0X2F1dG9fX2FkZF9maWVsZF9wYWNrYWdlX2luc3RhbGxlZF9uYW1lLiBcbiA+IG9ybTowMDAxX2luaXRpYWwgXG4gPiBvcm06MDAwMl9hdXRvX19hZGRfZmllbGRfYnVpbGRfdGltZXNwZW50IFxuID4gb3JtOjAwMDNfdGltZXNwZW50IFxuIC0gTWlncmF0aW9uICdvcm06MDAwM190aW1lc3BlbnQnIGlzIG1hcmtlZCBmb3Igbm8tZHJ5LXJ1bi4gXG4gPiBvcm06MDAwNF9hdXRvX19hZGRfZmllbGRfcGFja2FnZV9pbnN0YWxsZWRfbmFtZSBcbiAtIExvYWRpbmcgaW5pdGlhbCBkYXRhIGZvciBvcm0uIFxuSW5zdGFsbGVkIDAgb2JqZWN0KHMpIGZyb20gMCBmaXh0dXJlKHMpIFxuc2VydmVyIGFkZHJlc3M6IDEyNy4wLjAuMSwgc2VydmVyIHBvcnQ6IDgyMDAgXG5TdWNjZXNzZnVsIHN0YXJ0LiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCB0aGUgeW9jdG8gcHJvamVjdC4gXG5iaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbCAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgc3VjY2Vzc2Z1bGx5LiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJVc2UgYSBkZWZhdWx0IHdlYiBicm93ZXIgdG8gc2VlIHByb2plY3QgYnVpbGQgcHJvY2Vzcy4gXG54ZGctb3BlbiBodHRwOi8vbG9jYWxob3N0OjgwMDAvIFxuV2FpdCBmb3IgYnVpbGQgY29tcGxldGlvbi4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIllvdSBjYW4gb3BlbiBodHRwOi8vbG9jYWxob3N0OjgwMDAvIGluIGEgZGVmYXVsdCBicm93c2VyLiBUaGUgYnVpbGQgcHJvY2VzcyBpcyBzaG93ZWQuICIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkNyZWF0ZV9hX1lvY3RvX3Byb2plY3RfYW5kX3N0YXJ0X3RoZV9Ub2FzdGVyLiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5Tb3J0X3RoZV9jb250ZW50X29mX3RoZV9idWlsZHNfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHVwIHRvYXN0ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJTdWNjZWVkIHRvIHN0YXJ0IHVwIHRvYXN0ZXIuICIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgMiBidWlsZHMsIHN1Y2ggYXMgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiIGFuZCBcImJpdGJha2UgY29yZS1pbWFnZS1zYXRvXCIuIFdhaXQgZm9yIHN1Y2Nlc3NmdWwgYnVpbGRzIGFuZCB0aGVuIHJ1bjogaHR0cDovL2xvY2FsaG9zdDo4MDAwLyIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiU3VjY2VlZCB0byBidWlsZCB0aGUgdGFyZ2V0cy4gIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVudGVyIFwiQWxsIGJ1aWxkXCIgdGFibGUgaW4gd2ViIGJyb3dzZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSAiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgXCJDb21wbGV0ZWQgb25cIiBjb21wb25lbnQgdG8gc29ydC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIHRhcmdldHMgYXJlIHNvcnRlZCBvdXQgYnkgdGhlIFwiQ29tcGxldGVkIG9uXCIuICIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBcIkNvbXBsZXRlZCBvblwiIGNvbXBvbmVudCBhZ2FpbiB0byBpbnZlcnQgdGhlIHNvcnRpbmcgLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGhlIHNvcnRpbmcgaXMgaW52ZXJ0ZWQuICIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJIYXZlIGEgc29ydCB0cnkgaW4gb3RoZXIgY29sdW1ucy4gb3V0Y29tZSwgbWFjaGluZSwgc3RhcnRlZCBvbiwgY29tcGxldGVkIG9uLCBlcnJvcnMsIHdhcm5pbmdzLCBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiU2VlIGl0ZW0gNCBhbmQgNS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJTb3J0X3RoZV9jb250ZW50X29mX3RoZV9idWlsZHNfdGFibGUuIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLlNlYXJjaF90aGVfY29udGVudF9vZl90aGVfYnVpbGRzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB1cCB0b2FzdGVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEgIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSAyIGJ1aWxkcywgc3VjaCBhcyBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIgYW5kIFwiYml0YmFrZSBjb3JlLWltYWdlLXNhdG9cIi4gV2FpdCBmb3Igc3VjY2Vzc2Z1bCBidWlsZHMgYW5kIHRoZW4gcnVuOiB4ZGctb3BlbiBodHRwOi8vbG9jYWxob3N0OjgwMDAvIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSAiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRW50ZXIgXCJBbGwgYnVpbGRcIiB0YWJsZSBpbiB3ZWIgYnJvd3Nlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BICIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbnB1dCBhIHN0cmluZyBpbiBzZWFyY2ggY29tcG9uZW50IGFuZCBjbGljayBzZWFyY2guIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJTaG93IHJldHVybmVkIHNlYXJjaCByZXN1bHRzLiBXaGVuIG5vIHNlYXJjaCBxdWVyeSBoYXMgYmVlbiBlbnRlcmVkLCB3ZSBoYXZlIHBsYWNlaG9sZGVyIHRleHQgc2F5aW5nOiBcIlNlYXJjaCBidWlsZHNcIi4gVGhlIHBsYWNlaG9sZGVyIHRleHQgZGlzYXBwZWFycyB3aGVuIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgdHlwZWQuICIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWUgcmV0dXJuZWQgc2VhcmNoIHJlc3VsdHMuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJJZiB5b3VyIHNlYXJjaCBxdWVyeSByZXR1cm5zIG5vIHJlc3VsdHMsIHRoZSBzZWN0aW9uIGhlYWRpbmcgY2hhbmdlcyB0byBcIk5vIGJ1aWxkcyBmb3VuZFwiLCBhbmQgd2Ugc2hvdyB5b3UgYW4gYWxlcnQgd2l0aCBhIHNlYXJjaCBmb3JtIGFuZCBhbiBvcHRpb24gdG8gc2hvdyBhbGwgYnVpbGRzLiAiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgXCJDbGVhciBzZWFyY2hcIiBpY29uIChpY29uLXJlbW92ZS1zaWduKS4gT2JzZXJ2ZSBhbGwgYnVpbGRzIGFyZSBzaG93ZWQuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQ2xpY2sgaXQgdG8gY2xlYXIgdGhlIHNlYXJjaCBhbmQgZGlzcGxheSBhbGwgYnVpbGRzLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlNlYXJjaF90aGVfY29udGVudF9vZl90aGVfYnVpbGRzX3RhYmxlLiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5GaWx0ZXJfdGhlX2NvbnRlbnRfb2ZfdGhlX2J1aWxkc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdXAgdG9hc3Rlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgMiBidWlsZHMsIHN1Y2ggYXMgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiIGFuZCBcImJpdGJha2UgY29yZS1pbWFnZS1zYXRvXCIuIFdhaXQgZm9yIHN1Y2Nlc3NmdWwgYnVpbGRzIGFuZCB0aGVuIHJ1bjogeGRnLW9wZW4gaHR0cDovL2xvY2FsaG9zdDo4MDAwLy4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFbnRlciBcIkFsbCBidWlsZFwiIHRhYmxlIGluIHdlYiBicm93c2VyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk1ha2Ugc3VyZSB0aGUgZm9sbG93aW5nIHRhYmxlIGNvbHVtbnMgaGF2ZSBmaWx0ZXJzLiBcbi0gT3V0Y29tZSBcbi0tIFN0YXJ0ZWQgb24gXG4tIENvbXBsZXRlZCBvbiBcbi0gRmFpbGVkIHRhc2tzIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRmlsdGVycyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiBDbGljayBhIGZpbHRlciBidXR0b24gb2YgYSBvbmUgY29sdW1uIGFuZCBhIGZpbHRlciBkaWFsb2d1ZSBvY2N1cnMuIFNlbGVjdCBhIGZpbHRlciBpdGVtLiBUaGUgZmlsdGVyIHJlc3VsdCB3b3VsZCBiZSBzaG93ZWQuIFRoZW4gc2VsZWN0IGFub3RoZXIgZmlsdGVyIGl0ZW0gb2YgYW5vdGhlciBjb2x1bW4gYW5kIHRoZSBwcmV2aW91c2x5IGFwcGxpZWQgZmlsdGVyIGlzIG92ZXJyaWRkZW4gYnkgdGhlIG5ld2x5IHNlbGVjdGVkIGZpbHRlciB3aGVuIGEgZmlsdGVyIGZyb20gYSBkaWZmZXJlbnQgY29sdW1uIGlzIGFwcGxpZWQgdG8gdGhlIHRhYmxlLiBJbiB0aGlzIHN0YXRlLCB3ZSBzaG93IHNvbWUgaGVscCB0ZXh0IG5leHQgdG8gdGhlIFwiQXBwbHlcIiBidXR0b24sIHNheWluZyBcIllvdSBjYW4gb25seSBhcHBseSBvbmUgZmlsdGVyIHRvIHRoZSB0YWJsZS4gVGhpcyBmaWx0ZXIgd2lsbCBvdmVycmlkZSB0aGUgY3VycmVudCBmaWx0ZXIuXCIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGaWx0ZXJzIGFyZSBvdmVycmlkZGVuIGJ5IHNlYXJjaC4gUnVuIGEgc2VhcmNoIHF1ZXJ5IGFuZCB5b3UgY2FuIHNlZSBwcmV2aW91cyBmaWx0ZXIgcmVzdWx0cyBhcmUgb3ZlcnJpZGRlbiBieSB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHF1ZXJ5LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkhhdmUgYSB0cnkgaW4gZmlsdGVycyBvZiB0aGUgZm9sbG93aW5nIHRhYmxlIGNvbHVtbnMuIFxuLSBPdXRjb21lIFxuLSBTdGFydGVkIG9uIFxuLSBDb21wbGV0ZWQgb24gXG4tIEZhaWxlZCB0YXNrcyBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJGaWx0ZXJfdGhlX2NvbnRlbnRfb2ZfdGhlX2J1aWxkc190YWJsZS4iCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQuVGFza3NfaW5fdG9hc3Rlcl9VSSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiID09PSBUT0FTVEVSOiBUZXN0IEluc3RydWN0aW9ucyBmb3IgXCJUYXNrc1wiLCBcIlRpbWVcIiwgXCJDUFUgVXNhZ2VcIiwgYW5kIFwiRGlzayBJL09cIiBwYWdlcyA9PT0gICBcbiBcbk5PVEUgVE8gVEVTVEVSUzogVGhlIHRocmVlIHBhZ2VzIFwiVGltZVwiLCBcIkNQVSBVc2FnZVwiLCBhbmQgXCJEaXNrIEkvT1wiIGFyZSBzaW1wbGUgdmFyaWF0aW9ucyBvbiB0aGUgXCJUYXNrc1wiIHBhZ2UuIFRob3NlIHRlc3QgaW5zdHJ1Y3Rpb25zIHdpbGwgZGVtb25zdHJhdGUgdGhlIHJlc3BlY3RpdmUgdW5pcXVlIHBhcnRzLiAgIFxuIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAgIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJUYXNrc1wiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhciAgIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnJlYWRjcnVtYnMgICBcbiBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIDQgYnJlYWRjcnVtYnMgYXQgdGhlIHRvcCBsZWZ0IGFyZTogICBcbiAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA6IGEgbGl2ZSBsaW5rIHRoYXQgd2lsbCB0YWtlIHlvdSBiYWNrIHRvIHRoZSBwcm9qZWN0IHBhZ2UgIFxuICAgICAgICAgICAgICAgICAgXHQ6IGEgbGl2ZSBsaW5rIHRoYXQgd2lsbCB0YWtlIHlvdSBiYWNrIHRvIHRoZSBwcm9qZWN0IEJ1aWxkcyBwYWdlIFxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IGEgbGl2ZSBsaW5rIHRoYXQgd2lsbCB0YWtlIHlvdSBiYWNrIHRvIHRoZSBpbWFnZSBkYXNoYm9hcmQgcGFnZSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUYXNrc1wiICAgXG4gXG4gICogVGVzdCB0aGUgYnJlYWRjcnVtYiBsaXZlIGxpbmtzLCByZXR1cm4gdG8gdGhpcyBwYWdlICAgXG4gXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHZW5lcmFsIExheW91dCAgIFxuIFxuICAqIE9ic2VydmUgdGhlIGxlZnQtaGFuZCBib3ggd2l0aCBsaW5rcyB0byB0aGUgb3RoZXIgcGFnZXMgb2YgdGhlIGJ1aWxkICAgXG4gICBcbiAgKiBPYnNlcnZlIHRoZSB0aXRsZSBvZiB0aGUgdGFibGUgaXMgXCJUYXNrc1wiLCBpbiBib2xkICAgXG4gICBcbiAgKiBPYnNlcnZlIHRoZSBzZWFyY2gvZmlsdGVyIGJhciBhYm92ZSB0aGUgdGFibGUgICBcbiAgIFxuICAqIE9ic2VydmUgdGhlIG51bWJlciBvZiB0YWJsZSByb3dzIGluIGVhY2ggcGFnZSBtYXRjaGVzIHRoZSBudW1iZXIgc2VsZWN0ZWQgaW4gdGhlIFwiU2hvdyByb3dzXCIgZHJvcGRvd24gbWVudSAgIFxuICAgXG4gICogT2JzZXJ2ZSBhdCB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIHRoZSBcIlNob3dpbmcgWFggdG8gWFggb3V0IG9mIHh4eCBlbnRyaWVzXCIsIHRoZSBwYWdlIHNlbGVjdGlvbiBsaW5rcywgYW5kIHRoZSBcIlNob3cgUm93c1wiIHNlbGVjdGlvbi4gICBcbiBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNvbHVtbnMgICBcbiBcbk5vdGU6IHRvIHJlc3RvcmUgdGhlIGRlZmF1bHQgY29sdW1ucyBpbiB5b3VyIGJyb3dzZXIsIGZvciBleGFtcGxlIGluIEZpcmVmb3gsIHNlbGVjdCBcIlRvb2xzID4gUHJpdmFjeSA+IHJlbW92ZSBpbmRpdmlkdWFsIGNvb2tpZXNcIiwgZmluZCB0aGUgY29va2llcyBmb3IgdGhlIElQIGFkZHJlc3Mgb2YgdGhlIFRvYXN0ZXIgZW5naW5lIChmb3IgZXhhbXBsZSBcImxvY2FsaG9zdFwiKSwgYW5kIHJlbW92ZSBlYWNoIHN1Yi1jb29raWUgd2l0aCB0aGUgcHJlZml4IFwiX2Rpc3BsYXljb2xzXypcIiAob3IgdGhlIHdob2xlIGNvb2tpZSBpZiB0aG9zZSBhcmUgdGhlIG9ubHkgc3ViLWNvb2tpZXMpLiAgIFxuIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgZGVmYXVsdCBjb2x1bW5zIGFyZTogICAgXG4gICBcbiAgICBcIk9yZGVyLCBSZWNpcGUsIFRhc2ssIEV4ZWN1dGVkLCBPdXRjb21lLCBDYWNoZSBhdHRlbXB0XCIgICBcbiBcbiAgKiBDbGljayB0aGUgXCJFZGl0IENvbHVtbnNcIiBidXR0b24uICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhhdCB0aGUgZmllbGRzIGFyZSBzb3J0ZWQgYXMgZm9sbG93cyAod2l0aCB0aGUgaW5kaWNhdGVkIGl0ZW1zIGdyZXllZCkgICBcbiBcbiAgICBbIF0gQ1BVIHVzYWdlICBcbiAgICBbeF0gQ2FjaGUgYXR0ZW1wdCAgXG4gICAgWyBdIERpc2sgSS9PIChtcykgIFxuICAgIFt4XSBFeGVjdXRlZCAgXG4gICAgW3hdIE9yZGVyICAgICAgICAgICAge2dyZXllZH0gIFxuICAgIFt4XSBPdXRjb21lICBcbiAgICBbeF0gUmVjaXBlICAgICAgICAgICB7Z3JleWVkfSAgXG4gICAgWyBdIFJlY2lwZSB2ZXJzaW9uICBcbiAgICBbeF0gVGFzayAgICAgICAgICAgICB7Z3JleWVkfSAgXG4gICAgWyBdIFRpbWUgKHNlY3MpICAgIFxuIFxuICAqIEZvciBlYWNoIG9mIHRoZSBncmV5ZWQgaXRlbXMsIGF0dGVtcHQgdG8gY2xpY2sgdGhlbS4gT2JzZXJ2ZSB0aGF0IHRoZXkgZG8gbm90IGNoYW5nZS4gICBcbiBcbiAgKiBGb3IgZWFjaCBvZiB0aGUgbm9uLWdyZXllZCBpdGVtcywgYXR0ZW1wdCB0byBjbGljayB0aGVtLiBPYnNlcnZlIHRoYXQgdGhlIHJlc3BlY3RpdmUgY29sdW1uIGR5bmFtaWNhbGx5IGFwcGVhcnMgd2hlbiBjaGVja2VkIGFuZCBkaXNhcHBlYXJzIHdoZW4gdW4tY2hlY2tlZC4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VhcmNoICAgXG4gXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBzZWFyY2ggdGV4dCBib3ggYmFja2dyb3VuZCB0ZXh0IGlzIFwiU2VhcmNoIHRhc2tzXCIuICAgXG4gICBcbiAgKiBTZXQgdGhlIHNlYXJjaCB0ZXh0IHRvIFwiYnVzeWJveFwiIGFuZCBjbGljayBcIlNlYXJjaFwiLiBPYnNlcnZlIHRoYXQgb25seSB0aGUgYnVzeWJveCB0YXNrcyBhcmUgbGlzdGVkIChhYm91dCAxNikuICAgXG4gICBcbiAgKiBDbGljayB0aGUgXCJYXCIgbmV4dCB0byB0aGUgc2VhcmNoIHRleHQgYm94LiBPYnNlcnZlIHRoYXQgYWxsIG9mIHRoZSB0YXNrcyByZS1hcHBlYXIuICAgXG4gXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDb2x1bW4gc29ydHMgICBcbiBcbiAgKiBFbmFibGUgYWxsIG9mIHRoZSBjb2x1bW5zLiAgIFxuICAgXG4gICogT2JzZXJ2ZSB0aGF0IGJ5IGRlZmF1bHQgdGhlIFwiT3JkZXJcIiBjb2x1bW4gaGVhZGVyIGlzIGluIGJvbGQsIGl0IGhhcyBhIGRvd24tYXJyb3cgaWNvbiwgYW5kIHRoYXQgdGhlIHRhYmxlIGlzIHNvcnRlZCBieSB0aGlzIGNvbHVtbiBpbiBhc2NlbmRpbmcgb3JkZXIuICAgXG4gICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIGNvbHVtbnMgYXJlIGluIHRoaXMgb3JkZXIsIGFuZCBhcmUgc29ydGFibGUgb25seSBpZiBpbmRpY2F0ZWQ6ICAgXG4gICBcbiAgICBPcmRlciAgICAgICAgICAgICAgICAgICAge3NvcnRhYmxlfSAgXG4gICAgUmVjaXBlICAgICAgICAgICAgICAgICAgICAge3NvcnRhYmxlfSAgXG4gICAgUmVjaXBlIHZlcnNpb24gIFxuICAgIFRhc2sgICAgICAgICAgICAgICAgICAgICAgIHtzb3J0YWJsZX0gIFxuICAgIEV4ZWN1dGVkICAgICAgICAgICAgICAgICAgIHtzb3J0YWJsZX0gIFxuICAgIE91dGNvbWUgICAgICAgICAgICAgICAgICAgIHtzb3J0YWJsZX0gIFxuICAgIENhY2hlIGF0dGVtcHQgICAgICAgICAgICAgIHtzb3J0YWJsZX0gIFxuICAgIFRpbWUgKHNlY3MpICAgICAgICAgICAgICAgIHtzb3J0YWJsZX0gIFxuICAgIENQVSB1c2FnZSAgICAgICAgICAgICAgICAgIHtzb3J0YWJsZX0gIFxuICAgIERpc2sgSS9PIChtcykgICAgICAgICAgICAgIHtzb3J0YWJsZX0gICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTAiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgVGVzdCB0aGF0IGVhY2ggb2YgdGhlIHNvcnRhYmxlIGNvbHVtbnMgZG8gc29ydCwgYXNjZW5kaW5nIGFuZCBkZXNjZW5kaW5nICAgXG4gXG4gICogT2JzZXJ2ZSB0aGF0IGVhY2ggb2YgdGhlIGNvbHVtbiBoZWFkZXJzIGhhdmUgYSBxdWVzdGlvbiBtYXJrIGljb24sIGFuZCB0aGF0IGhvdmVyaW5nIG92ZXIgaXQgcHJvdmlkZXMgaGVscCB0ZXh0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJcIkV4ZWN1dGVkXCIgRmlsdGVyICAgIFxuIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgXCJFeGVjdXRlZFwiIGNvbHVtbiBoYXMgdGhlIGZpbHRlciBpY29uLiBDbGljayBvbiBpdCBhbmQgb2JzZXJ2ZSB0aGVzZSB2YWx1ZXMsIHdoZXJlIFwiQWxsIFRhc2tzXCIgaXMgdGhlIGRlZmF1bHQgICBcbiBcbiAgICAoKikgQWxsIFRhc2tzICAgXG4gICAgKCApIEV4ZWN1dGVkIFRhc2tzICAgXG4gICAgKCApIE5vdCBFeGVjdXRlZCBUYXNrcyAgICBcbiBcbiAgKiBDbGljayBvbiBcIkV4ZWN1dGVkIFRhc2tzXCIgYW5kIG9ic2VydmUgdGhhdCBvbmx5IHJvd3Mgd2l0aCB0aGUgdmFsdWUgXCJFeGVjdXRlZFwiIGFyZSBkaXNwbGF5ZWQuICAgXG4gXG4gICogQ2xpY2sgb24gXCJOb3QgRXhlY3V0ZWQgVGFza3NcIiBhbmQgb2JzZXJ2ZSB0aGF0IG9ubHkgcm93cyB3aXRoIHRoZSB2YWx1ZSBcIk5vdCBFeGVjdXRlZFwiIGFyZSBkaXNwbGF5ZWQuICAgXG4gXG4gICogQ2xpY2sgb24gXCJBbGwgVGFza3NcIiBhbmQgb2JzZXJ2ZSB0aGF0IGFsbCByb3dzIGFyZSBkaXNwbGF5ZWQuICAgXG4gXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiXCJPdXRjb21lXCIgRmlsdGVyICAgIFxuIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgXCJPdXRjb21lXCIgY29sdW1uIGhhcyB0aGUgZmlsdGVyIGljb24uIENsaWNrIG9uIGl0IGFuZCBvYnNlcnZlIHRoZXNlIHZhbHVlcywgd2hlcmUgXCJBbGwgVGFza3NcIiBpcyB0aGUgZGVmYXVsdCAgIFxuIFxuICAgICgqKSBBbGwgVGFza3MgICBcbiAgICAoICkgU3VjY2VlZGVkIFRhc2tzICAgXG4gICAgKCApIEZhaWxlZCBUYXNrcyAgIFxuICAgICggKSBDYWNoZWQgVGFza3MgICBcbiAgICAoICkgUHJlYnVpbHQgVGFza3MgICBcbiAgICAoICkgQ292ZXJlZCBUYXNrcyAgIFxuICAgICggKSBFbXB0eSBUYXNrcyAgICBcbiBcbiAgKiBDbGljayBvbiBlYWNoIG9mIHRoZSBmaWx0ZXIgc2VsZWN0aW9ucywgYW5kIG9ic2VydmUgdGhhdCB0aGUgcmVzdWx0aW5nIHJvdyBcIk91dGNvbWVcIiB2YWx1ZXMgbWF0Y2ggdGhlIHNlbGVjdGlvbi4gICAgXG4gXG4gICogQ2xpY2sgb24gXCJBbGwgVGFza3NcIiBhbmQgb2JzZXJ2ZSB0aGF0IGFsbCByb3dzIGFyZSBkaXNwbGF5ZWQuICAgXG4gXG4gXG4xIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlwiQ2FjaGUgYXR0ZW1wdFwiIEZpbHRlciAgICBcbiBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIFwiQ2FjaGUgYXR0ZW1wdFwiIGNvbHVtbiBoYXMgdGhlIGZpbHRlciBpY29uLiBDbGljayBvbiBpdCBhbmQgb2JzZXJ2ZSB0aGVzZSB2YWx1ZXMsIHdoZXJlIFwiQWxsIFRhc2tzXCIgaXMgdGhlIGRlZmF1bHQgICBcbiBcbiAgICAoKikgQWxsIFRhc2tzICAgXG4gICAgKCApIFRhc2tzIHdpdGggY2FjaGUgYXR0ZW1wdHMgICBcbiAgICAoICkgVGFza3Mgd2l0aCAnRmlsZSBub3QgaW4gY2FjaGUnIGF0dGVtcHRzICAgXG4gICAgKCApIFRhc2tzIHdpdGggJ0ZhaWxlZCcgY2FjaGUgYXR0ZW1wdHMgICBcbiAgICAoICkgVGFza3Mgd2l0aCAnU3VjY2VlZGVkJyBjYWNoZSBhdHRlbXB0cyAgICAgXG4gXG4gICogQ2xpY2sgb24gZWFjaCBvZiB0aGUgZmlsdGVyIHNlbGVjdGlvbnMsIGFuZCBvYnNlcnZlIHRoYXQgdGhlIHJlc3VsdGluZyByb3cgXCJPdXRjb21lXCIgdmFsdWVzIG1hdGNoIHRoZSBzZWxlY3Rpb24uICAgXG4gICBcbiAgICBOb3RlIHRoZSB3aXRoIGEgY2xlYW4gYnVpbGQsIG9ubHkgdGhlIFwiQWxsIFRhc2tzXCIgYW5kIFwiVGFza3Mgd2l0aCBjYWNoZSBhdHRlbXB0c1wiIHdpbGwgcmV0dXJuIHJvd3MuICBcbiBcbiAgKiBDbGljayBvbiBcIkFsbCBUYXNrc1wiIGFuZCBvYnNlcnZlIHRoYXQgYWxsIHJvd3MgYXJlIGRpc3BsYXllZC4gICBcbiBcbiBcbjEiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjE0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT3JkZXIsIFRhc2ssIEV4ZWN1dGVkLCBPdXRjb21lLCBDYWNoZSBhdHRlbXB0IGxpbmtzICAgXG4gXG4gICogT2JzZXJ2ZSB0aGF0IGZvciBhIGdpdmVuIHJvdywgdGhlIGFib3ZlIHZhbHVlcyBhcmUgbGl2ZSBsaW5rcyB0aGF0IHdpbGwgYm90aCB0YWtlIHlvdSB0byB0aGUgcmVzcGVjdGl2ZSB0YXNrIGRldGFpbCBwYWdlLiBDbGljayB0aGUgYmFjayBidXR0b24gdG8gcmV0dXJuLiAgXG5cbiAgKiBPYnNlcnZlIHRoYXQgZm9yIGEgZ2l2ZW4gcm93IHRoZSB2YWx1ZXMgaW4gXCJSZWNpcGVcIiBhbmQgXCJSZWNpcGUgdmVyc2lvblwiIGFyZSBsaXZlIGxpbmtzIHRoYXQgd2lsbCBib3RoIHRha2UgeW91IHRvIHRoZSByZXNwZWN0aXZlIHJlY2lwZSBkZXRhaWxzIHBhZ2UuIENsaWNrIHRoZSBiYWNrIGJ1dHRvbiB0byByZXR1cm4gICBcbiBcbiBcbjEiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjE1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGltZSBQYWdlICAgXG4gXG4gICogXCJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlRpbWVcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIgICBcbiBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIGRlZmF1bHQgY29sdW1ucyBhcmU6ICAgIFxuICAgXG4gICAgXCJSZWNpcGVcIiwgXCJUYXNrXCIsIFwiRXhlY3V0ZWRcIiwgXCIgT3V0Y29tZVwiLCBcIlRpbWUgKHNlY3MpXCIgICBcbiBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIGRlZmF1bHQgc29ydCBpcyBcIlRpbWUgKHNlY3MpXCIsIGluIGRlc2NlbmRpbmcgb3JkZXIuICAgXG4gICBcbiAgKiBJbiB0aGUgXCJFZGl0IENvbHVtbnNcIiBidXR0b24sIHR1cm4gb24gYWxsIG9mIHRoZSBjb2x1bW5zLiAgIFxuICAgXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBwYWdlIG5vdyBtYXRjaGVzIHRoZSBcIlRhc2tzXCIgcGFnZSwgYW5kIHBhc3NlcyB0aGUgc2FtZSB0ZXN0cy4gICBcbiBcbiBcbjEiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjE2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ1BVIFVzYWdlIFBhZ2UgICBcbiBcbiAgKiBcIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiQ1BVIFVzYWdlXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyICAgXG4gXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBkZWZhdWx0IGNvbHVtbnMgYXJlOiAgICBcbiAgIFxuICAgIFwiUmVjaXBlXCIsIFwiVGFza1wiLCBcIkV4ZWN1dGVkXCIsIFwiT3V0Y29tZVwiLCBcIkNQVSBVc2FnZVwiICAgXG4gXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBkZWZhdWx0IHNvcnQgaXMgXCJDUFUgVXNhZ2VcIiwgaW4gZGVzY2VuZGluZyBvcmRlci4gICBcbiAgIFxuICAqIEluIHRoZSBcIkVkaXQgQ29sdW1uc1wiIGJ1dHRvbiwgdHVybiBvbiBhbGwgb2YgdGhlIGNvbHVtbnMuICAgXG4gICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIHBhZ2Ugbm93IG1hdGNoZXMgdGhlIFwiVGFza3NcIiBwYWdlLCBhbmQgcGFzc2VzIHRoZSBzYW1lIHRlc3RzLiAgIFxuIFxuIFxuMSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJEaXNrIEkvTyBQYWdlICAgXG4gIFxuICAgKiBcIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiRGlzayBJL09cIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIgICBcbiAgXG4gICAqIE9ic2VydmUgdGhhdCB0aGUgZGVmYXVsdCBjb2x1bW5zIGFyZTogICAgXG4gICAgXG4gICAgIFwiUmVjaXBlXCIsIFwiVGFza1wiLCBcIkV4ZWN1dGVkXCIsIFwiT3V0Y29tZVwiLCBcIkRpc2sgSS9PIChtcylcIiAgIFxuICBcbiAgICogT2JzZXJ2ZSB0aGF0IHRoZSBkZWZhdWx0IHNvcnQgaXMgXCJEaXNrIEkvTyAobXMpXCIsIGluIGRlc2NlbmRpbmcgb3JkZXIuICAgXG4gICAgXG4gICAqIEluIHRoZSBcIkVkaXQgQ29sdW1uc1wiIGJ1dHRvbiwgdHVybiBvbiBhbGwgb2YgdGhlIGNvbHVtbnMuICAgXG4gICAgXG4gICAqIE9ic2VydmUgdGhhdCB0aGUgcGFnZSBub3cgbWF0Y2hlcyB0aGUgXCJUYXNrc1wiIHBhZ2UsIGFuZCBwYXNzZXMgdGhlIHNhbWUgdGVzdHMuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJUYXNrc19pbl90b2FzdGVyX1VJIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLnBhY2thZ2VfZGV0YWlsX2luX3RvYXN0ZXJfVUkiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRPQVNURVI6IFRlc3QgSW5zdHJ1Y3Rpb25zIGZvciBcIlBhY2thZ2UgRGV0YWlsXCIgcGFnZSAgIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlBhY2thZ2VzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlbGVjdCBhIHBhY2thZ2UgZnJvbSB0aGUgXCJQYWNrYWdlXCIgY29sdW1uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJyZWFkY3J1bWJzICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIDMgYnJlYWRjcnVtYnMgYXQgdGhlIHRvcCBsZWZ0IGFyZTogICBcbiAgICA6IGEgbGl2ZSBsaW5rIHRoYXQgd2lsbCB0YWtlIHlvdSBiYWNrIHRvIHRoZSBpbWFnZSBkYXNoYm9hcmQgcGFnZSBcbiAgICBcIlBhY2thZ2VzXCI6IGEgbGl2ZSBsaW5rIHRoYXQgd2lsbCB0YWtlIHlvdSBiYWNrIHRvIHRoZSBQYWNrYWdlcyBwYWdlICBcbiAgICBcImJhc2hcIjogdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgcGFja2FnZSAgKG5vdCBhIGxpbmspICAgICAgICBcbiAgKiBUZXN0IHRoZSBicmVhZGNydW1iIGxpdmUgbGlua3MsIHJldHVybiB0byB0aGlzIHBhZ2UgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiR2VuZXJhbCBMYXlvdXQgXG4gICogQ2xpY2sgb24gYW55IHBhY2thZ2UgXG4gICogT2JzZXJ2ZSB0aGF0IHRoZXJlIGlzIG5vIHRoZSBsZWZ0LWhhbmQgYm94ICAgXG4gICogT2JzZXJ2ZSB0aGF0IHRoZXJlIGlzIGEgcmlnaHQtaGFuZCBib3gsIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIHBhY2thZ2UgXG4gICogT2JzZXJ2ZSB0aGUgdGl0bGUgaXMgdGhlIHBhY2thZ2UgbmFtZSBhbmQgdmVyc2lvbiwgaW4gYm9sZCAgXG4gICogT2JzZXJ2ZSB0aGF0LCBpZiB0aGUgcGFja2FnZSBpcyBpbnN0YWxsZWQgaW4gYW4gaW1hZ2UsIHRoZXJlIGlzIGEgbGluayB0byB0aGUgaW1hZ2UocykgdGhlIHBhY2thZ2UgYXBwZWFycyBpbiAgXG4gICogT2JzZXJ2ZSB0aGF0LCBpZiB0aGUgcGFja2FnZSBpcyBub3QgaW5zdGFsbGVkIGluIHRoZSBpbWFnZSwgdGhlcmUgYXJlIHR3byB0YWIgYnV0dG9ucyBiZWxvdyB0aGUgdGl0bGUgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IHRoZSB0YWIgYnV0dG9ucyBhcmU6ICBcbiAgICBHZW5lcmF0ZWQgZmlsZXMgKDIpICAgICAgICB7aGlnaGxpZ2h0ZWR9ICBcbiAgICBSdW50aW1lIGRlcGVuZGVuY2llcyAoNCkgIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiR2VuZXJhdGVkIGZpbGVzIHRhYiAgXG4gICogQ2xpY2sgdGhlIFwiR2VuZXJhdGVkIGZpbGVzXCIgdGFiICh3aGljaCBzaG91bGQgYmUgc2VsZWN0ZWQgYnkgZGVmYXVsdCkgIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgbnVtYmVyIG9mIGZpbGVzIGluIHRoZSB0YWJsZSBtYXRjaGVzIHRoZSBudW1iZXIgaW4gcGFyZW50aGVzaXMgYWZ0ZXIgdGhlIFwiR2VuZXJhdGVkIGZpbGVzXCIgdGFiIHRpdGxlLiBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIGNvbHVtbnMgaW4gdGhlIHRhYmxlIGFyZSBcIkZpbGVcIiBhbmQgXCJTaXplXCIgIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgdGFibGUgaXMgc29ydGVkIGJ5IFwiRmlsZVwiIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwgb3JkZXIgKEEgdG8gWikuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlJ1bnRpbWUgZGVwZW5kZW5jaWVzIHRhYiAgXG4gICogQ2xpY2sgdGhlIFwiUnVudGltZSBkZXBlbmRlbmNpZXNcIiB0YWIgIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgbnVtYmVyIG9mIGRlcGVuZGVuY2llcyBpbiB0aGUgdGFibGUgbWF0Y2hlcyB0aGUgbnVtYmVyIGluIHBhcmVudGhlc2lzIGFmdGVyIHRoZSBcIlJ1bnRpbWUgZGVwZW5kZW5jaWVzXCIgdGFiIHRpdGxlLiAgXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBjb2x1bW5zIGluIHRoZSB0YWJsZSBhcmU6ICBcbiAgICBcIlBhY2thZ2UsIFZlcnNpb24sIFNpemVcIiAgXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSB0YWJsZSBpcyBzb3J0ZWQgYnkgUGFja2FnZSBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyIChBIHRvIFopICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIHBhY2thZ2UgbmFtZSB2YWx1ZXMgYXJlIGxpdmUgbGlua3MgdG8gdGhlIHJlc3BlY3RpdmUgcGFja2FnZSBkZXRhaWxzIHBhZ2UuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGhlIGluZm9ybWF0aW9uIGljb24gd2FzIGVsaW1pbmF0ZWQgb24gdGhlIGNvbHVtbnMgdGhhdCB3aGVyZSBzZWxmIGV4cGxhbmF0b3J5LiAgIgorICAgICAgICB9LAorICAgICAgICAiMTAiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJQYWNrYWdlIGluZm9ybWF0aW9uIGJveCAgXG4gICogT2JzZXJ2ZSB0aGF0IHRoZXJlIGlzIGEgcmlnaHQtaGFuZCBib3gsIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIHBhY2thZ2UsIGluY2x1ZGluZyBpbiB0aGlzIGV4YW1wbGUgdGhlIGZpZWxkczogIFxuICAgIFwiU2l6ZSwgTGljZW5zZSwgUmVjaXBlLCBSZWNpcGUgdmVyc2lvbiwgTGF5ZXIsIExheWVyIGJyYW5jaCwgTGF5ZXIgY29tbWl0XCIgIFxuICAqIE9ic2VydmUgdGhhdCBlYWNoIG9mIHRoZSBmaWVsZCBoYXMgYSBxdWVzdGlvbiBtYXJrIGljb24sIGFuZCB0aGF0IGhvdmVyaW5nIHdpbGwgcHJvdmlkZSBoZWxwIHRleHQuICBcbiAgKiBPYnNlcnZlIHRoYXQgbm9uZSBvZiB0aGUgdmFsdWVzIGluIHRoZSByaWdodC1oYW5kIGJveCBhcmUgYmxhbmsgIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgXCJSZWNpcGVcIiB2YWx1ZSBpcyBhIGxpdmUgbGluayB0byB0aGUgcmVzcGVjdGl2ZSByZWNpcGUgZGV0YWlsIHBhZ2UuICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInBhY2thZ2VfZGV0YWlsX2luX3RvYXN0ZXJfVUkiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQucmVjaXBlczpfU29ydF90aGVfY29udGVudF9vZl90aGVfcmVjaXBlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAgIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJSZWNpcGVzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk1ha2Ugc3VyZSB0aGF0IGJ5IGRlZmF1bHQgdGhlIFwiUmVjaXBlc1wiIHRhYmxlIGlzIHNvcnRlZCBieSBcIlJlY2lwZVwiIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwgb3JkZXIgKEEgdG8gWikuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU29ydCBteSBcIlJlY2lwZXNcIiB0YWJsZSBieSBcIlNlY3Rpb25cIiBhbmQgdGhlbiBuYXZpZ2F0ZSBhd2F5IGJ5IHNlbGVjdGluZyBhIHJlY2lwZShzdWNoIGFzIGNsaWNrIGJ1c3lib3ggcmVjaXBlKS4gV2hlbiB5b3UgY2xpY2sgXCJiYWNrXCIgYnV0dG9uIGluIHdlYi1icm93c2VyIHRvIGdvIGJhY2sgdG8gdGhlIFwiUmVjaXBlc1wiIHRhYmxlIGl0IHNob3VsZCBzdGlsbCBiZSBzb3J0ZWQgYnkgXCJTZWN0aW9uXCIuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiTWFrZSBzdXJlIGFsbCBjb2x1bW4gaGVhZGluZ3MgYXJlIHNvcnRhYmxlLCBleGNlcHQgXCJSZWNpcGUgdmVyc2lvblwiLCBcIkRlcGVuZGVuY2llc1wiLCBcIlJldmVyc2UgZGVwZW5kZW5jaWVzXCIgYW5kIFwiTGF5ZXIgY29tbWl0XCIuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU29ydGluZyBhbmQgXCJFZGl0IGNvbHVtbnNcIiBcbklmIHlvdSB1c2UgdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudSB0byBoaWRlIHRoZSBjb2x1bW4gd2l0aCB0aGUgYXBwbGllZCBzb3J0aW5nLCB3ZSByZXZlcnQgdGhlIHNvcnRpbmcgdG8gdGhlIGRlZmF1bHQgc29ydGluZyAoaS5lLiBcIlJlY2lwZVwiKS4gVGhlIGRlZmF1bHQgc29ydGluZyBhbHdheXMgdXNlcyBvbmUgb2YgdGhlIGNvcmUgY29sdW1ucywgd2hpY2ggY2Fubm90IGJlIGhpZGRlbiB1c2luZyB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51LiBcblNvcnQgcmVjaXBlcyBieSBcInNlY3Rpb25cIiBjb2x1bW4gaGVhZGluZy4gVGhlbiBoaWRlIFwiU2VjdGlvblwiIGNvbHVtbiBieSBcIkVkaXQgY29sdW1uc1wiLiBNYWtlIHN1cmUgdGhhdCB0aGUgXCJSZWNpcGVzXCIgdGFibGUgaXMgc29ydGVkIGJ5IFwiUmVjaXBlXCIgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlciAoQSB0byBaKS4gXG5OT1RFOiBCdWcgNTkxOSBpcyBmaWxlZCBhZ2FpbnN0IHRoZSBpc3N1ZS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0aW5nIGFuZCBzZWFyY2ggXG5TZWFyY2hpbmcgc2hvdWxkIGhhdmUgbm8gaW1wYWN0IG9uIHRoZSBhcHBsaWVkIHNvcnRpbmcuIEFueSByZXN1bHRzIHJldHVybmVkIHNob3VsZCBiZSBzb3J0ZWQgYnkgdGhlIHNvcnRpbmcgY3JpdGVyaWEgc2VsZWN0ZWQgd2hlbiB0aGUgc2VhcmNoIHF1ZXJ5IHdhcyBzdWJtaXR0ZWQuIFxuU29ydCByZWNpcGVzIGJ5IFwic2VjdGlvblwiIGNvbHVtbiBoZWFkaW5nLiBJbnB1dCBhIHN0cmluZyAoc3VjaCBhcyBcImxpYlwiKSBpbiBzZWFyY2ggYm94IGFuZCBjbGljayBzZWFyY2ggYnV0dG9uLiBNYWtlIHN1cmUgcmVzdWx0cyByZXR1cm5lZCBzaG91bGQgYmUgc29ydGVkIGJ5IFwic2VjdGlvblwiLiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJyZWNpcGVzOl9Tb3J0X3RoZV9jb250ZW50X29mX3RoZV9yZWNpcGVzX3RhYmxlLiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5yZWNpcGVzOl9TZWFyY2hfdGhlX2NvbnRlbnRfb2ZfdGhlX3JlY2lwZXNfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogInJlY2lwZXM6IFNlYXJjaCB0aGUgY29udGVudCBvZiB0aGUgcmVjaXBlcyB0YWJsZSAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHdpdGggYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBzdGFydCB0aGUgVG9hc3RlciwgYW5kIGJ1aWxkIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIi4gICBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiUmVjaXBlc1wiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhci4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoZSBzZWFyY2ggaXMgbWFkZSBvZiBhIHRleHQgaW5wdXQgZmllbGQgYW5kIGEgXCJTZWFyY2hcIiBidXR0b24gaW4gYSB0b29sYmFyIGFib3ZlIHRoZSB0YWJsZS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXaGVuIG5vIHNlYXJjaCBxdWVyeSBoYXMgYmVlbiBlbnRlcmVkLCB3ZSBoYXZlIHBsYWNlaG9sZGVyIHRleHQgc2F5aW5nOiBcIlNlYXJjaCByZWNpcGVzXCIuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW5wdXQgXCJsaWJcIiBpbiB0aGUgdGV4dCBpbnB1dCBmaWVsZC4gVGhlIHBsYWNlaG9sZGVyIHRleHQgZGlzYXBwZWFycyB3aGVuIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgdHlwZWQuIENsaWNrIHNlYXJjaCBidXR0b24uICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIFxuKDEpIHJldHVybmVkIHJlc3VsdHMgXG5UaGUgc2VhcmNoIHN0cmluZyBpcyBrZXB0IGluIHRoZSB0ZXh0IGlucHV0IGZpZWxkLiBUaGUgcmVzdWx0cyByZXR1cm5lZCBvY2N1ci4gQ2xpY2sgIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiB0byBjbGVhciB0aGUgc2VhcmNoIGFuZCBkaXNwbGF5IGFsbCByZWNpcGVzLiBcbigyKSBubyByZXN1bHRzIHJldHVybmVkIFxuSWYgeW91ciBzZWFyY2ggcXVlcnkgcmV0dXJucyBubyByZXN1bHRzLCB0aGUgcGFnZSBoZWFkaW5nIGNoYW5nZXMgdG8gXCJObyByZWNpcGVzIGZvdW5kXCIsIGFuZCB3ZSBzaG93IHlvdSBhbiBhbGVydCB3aXRoIGEgc2VhcmNoIGZvcm0gYW5kIGFuIG9wdGlvbiB0byBzaG93IGFsbCByZWNpcGVzLiBPYnNlcnZlIFwic2hvdyBhbGwgcmVjaXBlc1wiIGJ1dHRvbiBpcyBhdmFpbGFibGUuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiV2hlbiBJIHJ1biBhIHNlYXJjaCwgdGhlIHNlYXJjaCBoYXBwZW5zIGFnYWluc3QgdGhlIGZvbGxvd2luZyBjb2x1bW5zIChpbmRlcGVuZGVudGx5IG9mIHRoZXkgYmVpbmcgc2hvd24gb3IgaGlkZGVuKTogXG4tIFJlY2lwZSBcbi0gUmVjaXBlIHZlcnNpb24gXG4tIFJlY2lwZSBmaWxlIFxuLSBTZWN0aW9uIFxuLSBMaWNlbnNlIFxuLSBMYXllciBcbi0gTGF5ZXIgYnJhbmNoIFxuLSBMYXllciBjb21taXQgIFxuXG5JbnB1dCBhIHN0cmluZyB0byBzZWFyY2ggZm9yIHRoZSBhYm92ZSA4IGNvbHVtbiBoZWFkaW5ncyBzZXBhcmF0ZWx5IHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBzZWFyY2ggaGFwcGVucyBhZ2FpbnN0IHRoZSBjb2x1bW5zLiAgXG5cbiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VhcmNoLCBzb3J0aW5nIGFuZCBcIkVkaXQgY29sdW1uc1wiICBcblNlYXJjaGluZyBkb2VzIG5vdCBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSB0YWJsZTogdGhlIHNhbWUgY29sdW1ucyByZW1haW4gaGlkZGVuIGFuZCB0aGUgc2FtZSBzb3J0aW5nIGFwcGxpZWQgd2hlbiBzZWFyY2ggcmVzdWx0cyBhcmUgZGlzcGxheWVkLCBidXQgZmlsdGVycyBhcmUgY2xlYXJlZCBieSB0aGUgc2VhcmNoIHJlc3VsdHMuXG5TZWFyY2ggYSBzdHJpbmcgYW5kIG1ha2Ugc3VyZSB0aGF0IHRoZSBzYW1lIGNvbHVtbnMgcmVtYWluIGhpZGRlbiBhbmQgdGhlIHNhbWUgc29ydGluZyBhcHBsaWVkLiBTaW5jZSBmaWx0ZXIgZmVhdHVyZSBvZiByZWNpcGVzICg0Mjk2KSBpcyBvYnNvbGV0ZSwgd2UgZG9uJ3QgaGF2ZSB0byB0ZXN0IGZpbHRlci4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEwIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VhcmNoIGFuZCBmaWx0ZXJzIFxuVGhlIHNjb3BlIG9mIHRoZSBmaWx0ZXJzIGlzIHRoZSBjb250ZW50IGN1cnJlbnRseSBvbiB0aGUgdGFibGUgKHRoaXMgbWVhbnMgYWxsIHRhYmxlIHBhZ2VzLCBub3Qgb25seSB0aGUgb25lIGRpc3BsYXllZCkuIFRoZSBzY29wZSBvZiB0aGUgc2VhcmNoIGlzIGFsd2F5cyB0aGUgY29udGVudCBvZiB0aGUgZGF0YWJhc2UuXG5TaW5jZSBmaWx0ZXIgZmVhdHVyZSBvZiByZWNpcGVzICg0Mjk2KSBpcyBvYnNvbGV0ZSwgd2UgZG9uJ3QgaGF2ZSB0byB0ZXN0IGZpbHRlci4gIFxuXG5JZiBJIHJ1biBhIHNlYXJjaCBxdWVyeSwgYW55IGZpbHRlciBhcHBsaWVkIGFmdGVyd2FyZHMgd2lsbCBmaWx0ZXIgdGhlIGNvbnRlbnQgcmV0dXJuZWQgYnkgdGhlIHNlYXJjaCBxdWVyeS4gIFxuXG5JZiBJIHJ1biBhIHNlYXJjaCBxdWVyeSB3aGlsZSBhIGZpbHRlciBpcyBhcHBsaWVkLCB0aGUgZmlsdGVyIGlzIGNsZWFyZWQgYnkgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBxdWVyeSAoaS5lLiB3ZSBkaXNwbGF5IHRoZSByZXN1bHRzIG9mIHRoZSBzZWFyY2ggcXVlcnkgYW5kIGNsZWFyIHRoZSBmaWx0ZXIgYXBwbGllZCBiZWZvcmVoYW5kKS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9LAorICAgICAgICAiMTEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgVGhlIHNhbWUgaGFwcGVucyBpZiBJIGNsaWNrIHRoZSBcIkNsZWFyIHNlYXJjaFwiIGljb24gd2hlbiBhIGZpbHRlciBpcyBhcHBsaWVkIHRvIGEgc2V0IG9mIHNlYXJjaCByZXN1bHRzIChib3RoIHNlYXJjaCByZXN1bHRzIGFuZCBhcHBsaWVkIGZpbHRlciBhcmUgY2xlYXJlZCwgYW5kIHRoZSB0YWJsZSBzaG93cyBhbGwgdGhlIHRhc2tzKS4gXG5TaW5jZSBmaWx0ZXIgZmVhdHVyZSBvZiByZWNpcGVzICg0Mjk2KSBpcyBvYnNvbGV0ZSwgd2UgZG9uJ3QgaGF2ZSB0byB0ZXN0IGZpbHRlci4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJyZWNpcGVzOl9TZWFyY2hfdGhlX2NvbnRlbnRfb2ZfdGhlX3JlY2lwZXNfdGFibGUuIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLnJlY2lwZXM6X0N1c3RvbWlzZV90aGVfY29sdW1uc19vZl90aGVfcmVjaXBlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAgIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJSZWNpcGVzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiogT2JzZXJ2ZSB0aGF0IHRoZSBkZWZhdWx0IGNvbHVtbnMgYXJlOiAgIFxuICAgIFwiUmVjaXBlLCBSZWNpcGUgdmVyc2lvbiwgUmVjaXBlIGZpbGUsIFNlY3Rpb24gLCBMaWNlbnNlLCBMYXllclwiICAgXG4gXG4gICogQ2xpY2sgdGhlIFwiRWRpdCBDb2x1bW5zXCIgYnV0dG9uLiAgXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBmaWVsZHMgYXJlIHNvcnRlZCBhcyBmb2xsb3dzICh3aXRoIHRoZSBpbmRpY2F0ZWQgaXRlbXMgZ3JleWVkKSAgXG4gICAgWyBdIERlcGVuZGVuY2llcyAgXG4gICAgW3hdIExheWVyICBcbiAgICBbIF0gTGF5ZXIgYnJhbmNoICBcbiAgICBbIF0gTGF5ZXIgY29tbWl0ICBcbiAgICBbeF0gTGljZW5zZSAgXG4gICAgW3hdIFJlY2lwZSAgICAgICAgICAgICAgICAgICB7Z3JleWVkfSAgXG4gICAgW3hdIFJlY2lwZSBmaWxlICBcbiAgICBbeF0gUmVjaXBlIHZlcnNpb24gICAgICAgIHtncmV5ZWR9ICBcbiAgICBbIF0gUmV2ZXJzZSBkZXBlbmRlbmNpZXMgIFxuICAgIFt4XSBTZWN0aW9uICAgIFxuIFxuICAqIEZvciBlYWNoIG9mIHRoZSBncmV5ZWQgaXRlbXMsIGF0dGVtcHQgdG8gY2xpY2sgdGhlbS4gT2JzZXJ2ZSB0aGF0IHRoZXkgZG8gbm90IGNoYW5nZS4gIFxuICAqIEZvciBlYWNoIG9mIHRoZSBub24tZ3JleWVkIGl0ZW1zLCBhdHRlbXB0IHRvIGNsaWNrIHRoZW0uIE9ic2VydmUgdGhhdCB0aGUgcmVzcGVjdGl2ZSBjb2x1bW4gZHluYW1pY2FsbHkgYXBwZWFycyB3aGVuIGNoZWNrZWQgYW5kIGRpc2FwcGVhcnMgd2hlbiB1bi1jaGVja2VkLlxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInJlY2lwZXM6X0N1c3RvbWlzZV90aGVfY29sdW1uc19vZl90aGVfcmVjaXBlc190YWJsZS4iCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQucmVjaXBlczpfVmlld19hX3RhYmxlX3dpdGhfYWxsX3RoZV9yZWNpcGVzX2luY2x1ZGVkX2luX2FuX2ltYWdlX3JlY2lwZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAgIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJSZWNpcGVzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ5IGRlZmF1bHQsIHRoZSBhbGwgcmVjaXBlcyB0YWJsZSBkaXNwbGF5cyB0aGUgZm9sbG93aW5nIGNvbHVtbnMgaW4gdGhpcyBvcmRlcjogXG4oMSkgUmVjaXBlICgyKSBSZWNpcGUgdmVyc2lvbjogdGhlIHRhcmdldCB2ZXJzaW9uIGFuZCByZXZpc2lvbiAoMykgRGVwZW5kZW5jaWVzICg0KVJldmVyc2UgRGVwZW5kZW5jaWVzICAoNSkgTGljZW5zZTogdGhlIHZhbHVlIG9mIHRoZSB0YXJnZXQncyBMSUNFTlNFIHZhcmlhYmxlICg2KSBMYXllcjogdGhlIG5hbWUgb2YgdGhlIGxheWVyIHByb3ZpZGluZyB0aGUgdGFyZ2V0ICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudSwgdGFibGUgY29sdW1ucyBhcHBlYXIgbGlzdGVkIGFscGhhYmV0aWNhbGx5LiBcbkluIHRoZSB0YWJsZSBpdHNlbGYsIHRoZSBkZWZhdWx0IG9yZGVyIG9mIGNvbHVtbnMgaXMgYXMgZm9sbG93czogXG4oMSkgRGVwZW5kZW5jaWVzICgyKSBMYXllciAoMykgTGF5ZXIgYnJhbmNoICg0KSBMYXllciBjb21taXQgKDUpIExpY2Vuc2UgKDYpIFJlY2lwZSAoNykgUmVjaXBlIGZpbGUgICg4KSBSZXZlcnNlIGRlcGVuZGVuY2llcyAoOSkgU2VjdGlvbiAoMTApIFZlcnNpb24gIFxuXG5UaGUgbWluaW11bSB0YWJsZSBpcyBtYWRlIG9mIHRoZSAyIGNvbHVtbnMgdGhhdCBwcm92aWRlIHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gaWRlbnRpZnkgYSB0YXJnZXQ6IFJlY2lwZSBhbmQgUmVjaXBlIHZlcnNpb24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInJlY2lwZXM6X1ZpZXdfYV90YWJsZV93aXRoX2FsbF90aGVfcmVjaXBlc19pbmNsdWRlZF9pbl9hbl9pbWFnZV9yZWNpcGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQucmVjaXBlczpfVmlld19kZXRhaWxlZF9pbmZvcm1hdGlvbl9hYm91dF9hX3JlY2lwZeOAgiIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgYW5kIHN0YXJ0IHRoZSBUb2FzdGVyLiAgXG4gXG4gICQgc291cmNlIHBva3kvb2UtaW5pdC1idWlsZC1lbnYgXG4gICQgc291cmNlIHRvYXN0ZXIgc3RhcnQgXG4gICQgYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWwgXG4gICQgaHR0cDovL2xvY2FsaG9zdDo4MDAwLyAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWxlY3QgdGhlIFwiY29yZS1pbWFnZS1taW5pbWFsXCIgYnVpbGQgbGluayAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWxlY3QgdGhlIFwiUmVjaXBlc1wiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhciAgXG4gXG5PYnNlcnZlIHRoYXQgdGhlIHJlY2lwZXMgYXJlIGxpc3RlZCBpbiBhIHRhYmxlLCBhbmQgdGhhdCBlYWNoIHJlY2lwZSBuYW1lIGlzIGEgbGl2ZSBVUkwgbGluay4gIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IFwiUGFja2FnZXNcIiBsaW5rLiBJdCBzaG91bGQgaGF2ZSBhbiBhcHBlbmRlZCB2YWx1ZSBsaWtlIFwiKDQpXCIuIE5vdyBjbGljayBvbiB0aGlzIGxpbmsuICBcbiBcbk9ic2VydmU6IFxuICBhKSBUaGUgbnVtYmVyIG9mIHBhY2thZ2VzIG1hdGNoZXMgdGhlIHByZXZpb3VzIG51bWJlciBpbiBwYXJlbnRoZXNpcy4gIFxuIFxuICBiKSBFYWNoIHBhY2thZ2UgaGFzIGEgdmVyc2lvbiBhbmQgYSBzaXplLiBUaGUgc2l6ZSBtYXkgYmUgemVyby4gIFxuIFxuICBjKSBOb3RlIHRoYXQgaWYgeW91IGhvdmVyIG9uIGEgcGFja2FnZSBuYW1lLCBpdCB3aWxsIHJldmVhbCBhIFVSTCBvZiB0aGUgZm9sbG93aW5nIGZvcm0uIFRoaXMgbGluayBzaG91bGQgdGFrZSB5b3UgdG8gdGhlIGNvcnJlc3BvbmRpbmcgcGFja2FnZSBkZXRhaWwgcGFnZS4gIFxuIFxuICAgICAgICBsb2NhbGhvc3Q6ODAwMC9ndWkvYnVpbGQvL3BhY2thZ2UvICAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgcmVjaXBlcyBvZiBcIkJ1aWxkIERlcGVuZGVuY2llc1wiIGxpbmsgaGFzIGFuIGFwcGVuZGVkIHZhbHVlIGxpa2UgXCIoMClcIi4gTm93IGNsaWNrIG9uIHRoaXMgbGluay4gIFxuIFxuT2JzZXJ2ZTogXG4gIGEpIE5vIGRlcGVuZGVuY2llcyBhcHBlYXIsIGFuZCB5b3UgZ2V0IGEgbWVzc2FnZSBvZiB0aGUgZm9ybTogIFxuIFxuICBcIiRSRUNJUEVfTkFNRV9WRVJTSU9OIGhhcyBubyBidWlsZCBkZXBlbmRlbmNpZXMuXCIgIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IFwiUmV2ZXJzZSBidWlsZCBkZXBlbmRlbmNpZXNcIiBsaW5rIGhhcyBhbiBhcHBlbmRlZCB2YWx1ZSBsaWtlIFwiKDEpXCIuIE5vdyBjbGljayBvbiB0aGlzIGxpbmsuICBcbiBcbk9ic2VydmU6IFxuICBhKSBUaGUgbnVtYmVyIG9mIHBhY2thZ2VzIG1hdGNoZXMgdGhlIHByZXZpb3VzIG51bWJlciBpbiBwYXJlbnRoZXNpcy4gIFxuIFxuICBiKSBUaGUgcmVjaXBlIGRlcGVuZGVuY3kgc2hvdWxkIGJlIFwicGFja2FnZWdyb3VwLWNvcmUtYm9vdFwiLCAgXG4gXG4gIGMpIFRoZXJlIHNob3VsZCBiZSBhIHJlc3BlY3RpdmUgdmVyc2lvbiBkaXNwbGF5ZWQsIGZvciBleGFtcGxlIFwiMS4wLXIxMVwiICBcbiBcbiAgZCkgSWYgeW91IGhvdmVyIG9uIHRoZSByZWNpcGUgbmFtZSwgaXQgd2lsbCByZXZlYWwgYSBVUkwgb2YgdGhlIGZvbGxvd2luZyBmb3JtLiBUaGlzIGxpbmsgc2hvdWxkIHRha2UgeW91IHRvIHRoZSBjb3JyZXNwb25kaW5nIHJlY2lwZSBkZXRhaWwgcGFnZS4gIFxuIFxuICAgICAgICBsb2NhbGhvc3Q6ODAwMC9ndWkvYnVpbGQvL3JlY2lwZS8gIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgdGhlIGJyZWFkY3J1bWIgXCJSZWNpcGVzXCIgYXQgdGhlIHRvcCwgbG9jYXRlIHRoZSBcImdkYm1cIiByZWNpcGUsIGFuZCBzZWxlY3QgaXQuICBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhhdCBcIlBhY2thZ2VzXCIgbGluay4gSXQgc2hvdWxkIGhhdmUgYW4gYXBwZW5kZWQgdmFsdWUgbGlrZSBcIigwKVwiLiBOb3cgY2xpY2sgb24gdGhpcyBsaW5rLiAgXG4gXG5PYnNlcnZlOiBcbiAgYSkgTm8gcGFja2FnZXMgYXBwZWFyLCBhbmQgeW91IGdldCBhIG1lc3NhZ2Ugb2YgdGhlIGZvcm06ICBcbiBcbiAgXCIkUEFDS0FHRV9OQU1FX1ZFUlNJT04gZG9lcyBub3QgYnVpbGQgYW55IHBhY2thZ2VzLlwiICBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhhdCBcIkJ1aWxkIGRlcGVuZGVuY2llc1wiIGxpbmsuIEl0IHNob3VsZCBoYXZlIGFuIGFwcGVuZGVkIHZhbHVlIGxpa2UgXCIoMilcIi4gTm93IGNsaWNrIG9uIHRoaXMgbGluay4gIFxuIFxuT2JzZXJ2ZTogXG4gIGEpIFRoZSBudW1iZXIgb2YgYnVpbGQgZGVwZW5kZW5jaWVzIG1hdGNoZXMgdGhlIHByZXZpb3VzIG51bWJlciBpbiBwYXJlbnRoZXNpcy4gIFxuIFxuICBiKSBUaGUgcmVjaXBlIGRlcGVuZGVuY3kgc2hvdWxkIGhhdmUgdmFsdWVzIGxpa2UgXCJnZXR0ZXh0LW5hdGl2ZVwiIGFuZCBcImxpYnRvb2wtY3Jvc3NcIi4gIFxuIFxuICBjKSBUaGVyZSBzaG91bGQgYmUgYSByZXNwZWN0aXZlIHZlcnNpb25zIGRpc3BsYXllZCBmb3IgZWFjaCBkZXBlbmRlbmN5LiAgXG4gXG4gIGQpIElmIHlvdSBob3ZlciBvbiBhIHJlY2lwZSBuYW1lLCBpdCB3aWxsIHJldmVhbCBhIFVSTCBvZiB0aGUgZm9sbG93aW5nIGZvcm0uIFRoaXMgbGluayBzaG91bGQgdGFrZSB5b3UgdG8gdGhlIGNvcnJlc3BvbmRpbmcgcmVjaXBlIGRldGFpbCBwYWdlLiAgXG4gXG4gICAgICAgIGxvY2FsaG9zdDo4MDAwL2d1aS9idWlsZC8vcmVjaXBlLyAgXG4gXG4xIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhhdCBcIlJldmVyc2UgYnVpbGQgZGVwZW5kZW5jaWVzXCIgbGluay4gSXQgc2hvdWxkIGhhdmUgYW4gYXBwZW5kZWQgdmFsdWUgbGlrZSBcIigwKVwiLiBOb3cgY2xpY2sgb24gdGhpcyBsaW5rLiAgXG4gXG5PYnNlcnZlOiBcbiAgYSkgTm8gcmV2ZXJzZSBkZXBlbmRlbmNpZXMgYXBwZWFyLCBhbmQgeW91IGdldCBhIG1lc3NhZ2Ugb2YgdGhlIGZvcm06ICBcbiBcbiAgXCIkUkVDSVBFX05BTUVfVkVSU0lPTiBkb2VzIG5vdCBidWlsZCBhbnkgcGFja2FnZXMuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInJlY2lwZXM6X1ZpZXdfZGV0YWlsZWRfaW5mb3JtYXRpb25fYWJvdXRfYV9yZWNpcGXjgIIiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQudmFyaWFibGVzOl9TZWFyY2hfdGhlX2NvbnRlbnRfb2ZfdGhlX2JpdGJha2VfdmFyaWFibGVzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIkNvbmZpZ3VyYXRpb25cIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuIFRoZW4gY2xpY2sgXCJCaXRCYWtlIHZhcmlhYmxlc1wiIHRhYi4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXaGVuIG5vIHNlYXJjaCBxdWVyeSBoYXMgYmVlbiBlbnRlcmVkLCB3ZSBoYXZlIHBsYWNlaG9sZGVyIHRleHQgc2F5aW5nOiBcIlNlYXJjaCBCaXRCYWtlIHZhcmlhYmxlc1wiLiAgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbnB1dCBcImxpYlwiIGluIHRleHQgaW5wdXQgZmllbGQuIFRoZSBwbGFjZWhvbGRlciB0ZXh0IGRpc2FwcGVhcnMgd2hlbiB0aGUgZmlyc3QgY2hhcmFjdGVyIGlzIHR5cGVkLiBDbGljayBzZWFyY2ggYnV0dG9uLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgXCI0IHZhcmlhYmxlcyBmb3VuZFwiIGlzIHNob3dlZC4gKEl0IG1heSBiZSBvdGhlciBudW1iZXIuKSAgXG4gIElmIHlvdXIgc2VhcmNoIHF1ZXJ5IHJldHVybnMgbm8gcmVzdWx0cywgd2UgZGlzcGxheSBhbiBhbGVydCB3aXRoOiBcbiAgICAtIEEgaDMgaGVhZGluZyBzYXlpbmc6IFwiTm8gdmFyaWFibGVzIGZvdW5kXCIgXG4gICAgLSBBIHNlYXJjaCBib3ggXG4gICAgLSBUaGUgc2VhcmNoIHF1ZXJ5IGlzIHNob3dlZCBpbiB0aGUgdGV4dCBpbnB1dCBzaGllbGQuIFxuICAgIC0gQSBsaW5rIHRvIHNob3cgYWxsIHZhcmlhYmxlcy4gd2Ugc2hvdyB0aGUgdmFyaWFibGVzIHRhYmxlLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIldlIHByb3ZpZGUgYSBcIkNsZWFyIHNlYXJjaFwiIGljb24gKGljb24tcmVtb3ZlLXNpZ24pLiBDbGljayBpdCB0byBjbGVhciB0aGUgc2VhcmNoIGFuZCBkaXNwbGF5IGFsbCB2YXJpYWJsZXMuIENoZWNrIHRoYXQgdGhlIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiBjYW5ub3QgYmUgYWNjZXNzZWQgdXNpbmcgdGhlIHRhYiBrZXkuICAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlZlcmlmeSBzZWFyY2ggc2NvcGUuIFxuV2hlbiBJIHJ1biBhIHNlYXJjaCwgdGhlIHNlYXJjaCBoYXBwZW5zIGFnYWluc3QgdGhlIGZvbGxvd2luZyBjb2x1bW5zIChpbmRlcGVuZGVudGx5IG9mIHRoZXkgYmVpbmcgc2hvd24gb3IgaGlkZGVuKTogXG4tIFZhcmlhYmxlIFxuLSBWYWx1ZSBcbi0gU2V0IGluIGZpbGUgXG4tIERlc2NyaXB0aW9uICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVmVyaWZ5IFwic2VhcmNoLCBzb3J0aW5nIGFuZCAnRWRpdCBjb2x1bW5zJ1wiIFxuU2VhcmNoaW5nIGRvZXMgbm90IGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIHRhYmxlOiB0aGUgc2FtZSBjb2x1bW5zIHJlbWFpbiBoaWRkZW4gYW5kIHRoZSBzYW1lIHNvcnRpbmcgYXBwbGllZCBcbndoZW4gc2VhcmNoIHJlc3VsdHMgYXJlIGRpc3BsYXllZCwgYnV0IGZpbHRlcnMgYXJlIGNsZWFyZWQgYnkgdGhlIHNlYXJjaCByZXN1bHRzLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaCBhbmQgZmlsdGVycyBcbklmIEkgcnVuIGEgc2VhcmNoIHF1ZXJ5LCBhbnkgZmlsdGVyIGFwcGxpZWQgYWZ0ZXJ3YXJkcyB3aWxsIGZpbHRlciB0aGUgY29udGVudCByZXR1cm5lZCBieSB0aGUgc2VhcmNoIHF1ZXJ5LiBcbklmIEkgcnVuIGEgc2VhcmNoIHF1ZXJ5IHdoaWxlIGEgZmlsdGVyIGlzIGFwcGxpZWQsIHRoZSBmaWx0ZXIgaXMgY2xlYXJlZCBieSB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHF1ZXJ5LiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJ2YXJpYWJsZXM6X1NlYXJjaF90aGVfY29udGVudF9vZl90aGVfYml0YmFrZV92YXJpYWJsZXNfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQudmFyaWFibGVzOl9Tb3J0X3RoZV9jb250ZW50X29mX3RoZV9iaXRiYWtlX3ZhcmlhYmxlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIkNvbmZpZ3VyYXRpb25cIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuIFRoZW4gY2xpY2sgXCJCaXRCYWtlIHZhcmlhYmxlc1wiIHRhYi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ5IGRlZmF1bHQsIHRoZSBcInZhcmlhYmxlc1wiIHRhYmxlIGlzIHNvcnRlZCBieSBcIlZhcmlhYmxlXCIgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlciAoQSB0byBaKS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk1ha2Ugc3VyZSB0aGF0IFwiVmFyaWFibGVcIiBjb2x1bW4gaXMgc29ydGFibGUgKERldmVsb3BlcnMgaGF2ZSBkaXNhYmxlZCBzb3J0IGZ1bmN0aW9uIG9mIGFsbCBvdGhlciBjb2x1bW5zIHRvIGF2b2lkIGJ1ZyA2MDA0KSBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU29ydGluZyBhbmQgc2VhcmNoIFxuU2VhcmNoaW5nIHNob3VsZCBoYXZlIG5vIGltcGFjdCBvbiB0aGUgYXBwbGllZCBzb3J0aW5nLiBBbnkgcmVzdWx0cyByZXR1cm5lZCBzaG91bGQgYmUgc29ydGVkIGJ5IHRoZSBzb3J0aW5nIGNyaXRlcmlhIHNlbGVjdGVkIHdoZW4gdGhlIHNlYXJjaCBxdWVyeSB3YXMgc3VibWl0dGVkLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJ2YXJpYWJsZXM6X1NvcnRfdGhlX2NvbnRlbnRfb2ZfdGhlX2JpdGJha2VfdmFyaWFibGVzX3RhYmxlLiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5idWlsZHM6X1ZpZXdfYV90YWJsZV9vZl9hbGxfdGhlX2J1aWxkc19ydW5fZm9yX2FfY2VydGFpbl9idWlsZF9kaXJlY3RvcnkiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHVwIHRvYXN0ZXIgYW5kIG9wZW4gbG9jYWxob3N0OjgwMDAuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIllvdSBjYW4gc2VlICdMYXRlc3QgYnVpbGRzJyBzZWN0aW9uIGxpc3RzLiAtIEJ1aWxkcyBpbiBwcm9ncmVzcywgc29ydGVkIGJ5IGludmVyc2Ugc3RhcnQgdGltZSAobGFzdCBvbmUgc3RhcnRpbmcgYXQgdGhlIHRvcCkuIC0gMyBsYXRlc3QgY29tcGxldGVkIGJ1aWxkcywgYXMgbG9uZyBhcyB0aGV5IGFyZSBsZXNzIHRoYW4gMjQgaG91cnMgb2xkLiAgSWYgdGhlcmUgYXJlIG5vIGJ1aWxkcyBpbiBwcm9ncmVzcyBvciBidWlsZHMgY29tcGxldGVkIHdpdGhpbiB0aGUgbGFzdCAyNCBob3VycyB3ZSBkb24ndCBkaXNwbGF5IGl0OiB0aGUgcGFnZSBzaG93cyBvbmx5IHRoZSAnQWxsIGJ1aWxkcycgc2VjdGlvbi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiWW91IGNhbiBzZWUgdGhlIGZvbGxvd2luZyBjb2x1bW4gaGVhZGluZ3MuIFlvdSBjYW4gc2VlIHRoZSB0aGVpciBkZXNjcmlwdGlvbiBpbiBodHRwczovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvYXR0YWNobWVudC5jZ2k/aWQ9MTYxNy4gb3V0Y29tZSwgcmVjaXBlLCBtYWNoaW5lLCBzdGFydGVkIG9uLCBjb21wbGV0ZWQgb24sIGZhaWxlZCB0YXNrcywgZXJyb3JzLCB3YXJuaW5ncywgdGltZSwgaW1hZ2UgZmlsZXMsIHByb2plY3QiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiYnVpbGRzOl9WaWV3X2FfdGFibGVfb2ZfYWxsX3RoZV9idWlsZHNfcnVuX2Zvcl9hX2NlcnRhaW5fYnVpbGRfZGlyZWN0b3J5IgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLmJ1aWxkczpfQ3VzdG9taXNlX3RoZV9jb2x1bW5zX29mX3RoZV9idWlsZHNfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHVwIHRvYXN0ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIDIgYnVpbGRzLCBzdWNoIGFzIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIiBhbmQgXCJiaXRiYWtlIGNvcmUtaW1hZ2Utc2F0b1wiLiBXYWl0IGZvciBzdWNjZXNzZnVsIGJ1aWxkcyBhbmQgdGhlbiBydW46IHhkZy1vcGVuIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC8iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFbnRlciBcIkFsbCBidWlsZFwiIHRhYmxlIGluIHdlYiBicm93c2VyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlbGVjdCBhIGZldyBpdGVtIGluIFwiRWRpdCBjb2x1bW5zXCIgdG8gc2hvdyBvciBoaWRlIHRoZW0gaW4gYWxsIGJ1aWxkcy4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlVuY2hlY2tlZCBpdGVtcyBjaGFuZ2VkIHRvIGNoZWNrZWQgc2hvdWxkIGltbWVkaWF0ZWx5IGFwcGVhciBpbiB0aGUgdGFibGUuICAgQ2hlY2tlZCBpdGVtcyBjaGFuZ2VkIHRvIHVuY2hlY2tlZCBzaG91bGQgaW1tZWRpYXRlbHkgZGlzYXBwZWFyIGZyb20gdGhlIHRhYmxlLiAgIElmIHlvdSB1bmNoZWNrIHRoZSBjb2x1bW4gd2l0aCB0aGUgYXBwbGllZCBzb3J0aW5nLCB3aGVuIHlvdSBjbG9zZSB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51IHRoZSBhcHBsaWVkIHNvcnRpbmcgc2hvdWxkIHJldmVydCB0byB0aGUgdGFibGUgZGVmYXVsdCBzb3J0aW5nLiBCdWcgNTkxOSBpcyBmaWxlZCBmb3IgdGhlIGZ1bmN0aW9uLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogImJ1aWxkczpfQ3VzdG9taXNlX3RoZV9jb2x1bW5zX29mX3RoZV9idWlsZHNfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQucGFja2FnZXM6X1ZpZXdfYV90YWJsZV93aXRoX2FsbF90aGVfcGFja2FnZXNfYnVpbHRfZm9yX2FuX2ltYWdlX3JlY2lwZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlBhY2thZ2VzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCeSBkZWZhdWx0LCB0aGUgYnVpbHQgcGFja2FnZXMgdGFibGUgZGlzcGxheXMgdGhlIGZvbGxvd2luZyBjb2x1bW5zIGluIHRoaXMgb3JkZXI6ICBQYWNrYWdlLCBQYWNrYWdlIHZlcnNpb24sIFNpemUgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQXBhcnQgZnJvbSB0aGUgY29sdW1ucyBzaG93biBieSBkZWZhdWx0LCB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgY29sdW1ucyBhcmUgYWxzbyBhdmFpbGFibGUgdG8gdXNlcnMgdmlhIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnU6ICBMYXllciwgTGF5ZXIgYnJhbmNoLCBMYXllciBjb21taXQsIExpY2Vuc2UsIFJlY2lwZSB2ZXJzaW9uICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFbmFibGUgdGhlc2UgY29sdW1ucyBhbmQgb2JzZXJ2ZSB0aGF0IHRhYmxlIGNvbHVtbnMgYXBwZWFyIGxpc3RlZCBhbHBoYWJldGljYWxseSBpbiB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51ICgxKVBhY2thZ2UgKDIpUGFja2FnZSB2ZXJzaW9uICgzKVNpemUgKDQpTGljZW5zZSAoNSlSZWNpcGUgKDYpUmVjaXBlIHZlcnNpb24gKDcpTGF5ZXIgKDgpTGF5ZXIgYnJhbmNoICg5KUxheWVyIGNvbW1pdCAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgbWluaW11bSB0YWJsZSBpcyBtYWRlIG9mIHRoZSAyIGNvbHVtbnMgdGhhdCBwcm92aWRlIHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gaWRlbnRpZnkgYSBwYWNrYWdlOiBQYWNrYWdlIGFuZCBQYWNrYWdlIHZlcnNpb24uIFRoZWlyIGNvcnJlc3BvbmRpbmcgY2hlY2tib3hlcyBpbiB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51IGFwcGVhciBhbHdheXMgc2VsZWN0ZWQgYW5kIGFyZSBpbiBhbiBpbmFjdGl2ZSBzdGF0ZS4gICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJwYWNrYWdlczpfVmlld19hX3RhYmxlX3dpdGhfYWxsX3RoZV9wYWNrYWdlc19idWlsdF9mb3JfYW5faW1hZ2VfcmVjaXBlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLnBhY2thZ2VzOl9Tb3J0X3RoZV9jb250ZW50X29mX3RoZV9wYWNrYWdlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlBhY2thZ2VzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgYnkgZGVmYXVsdCB0aGUgXCJidWlsdCBwYWNrYWdlc1wiIHRhYmxlIGlzIHNvcnRlZCBieSBcIlBhY2thZ2VcIiBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyIChBIHRvIFopLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBcIlNpemVcIiBjb2x1bW4gaGVhZGluZyB0byBzb3J0IG15IFwiYnVpbHQgcGFja2FnZXNcIiB0YWJsZSBieSBcIlNpemVcIi4gVGhlbiBuYXZpZ2F0ZSBhd2F5IGJ5IHNlbGVjdGluZyBhIHBhY2thZ2UgYW5kIHlvdSBjYW4gc2VlIHRoZSBwYWNrYWdlIHBhZ2UuIEFmdGVyIGNsaWNrIFwiZ28gYmFja1wiIGJ1dHRvbiBpbiBicm93c2VyIHRvIHJldHVybiB0byB0aGUgXCJidWlsdCBwYWNrYWdlc1wiIHRhYmxlIGl0IHNob3VsZCBzdGlsbCBiZSBzb3J0ZWQgYnkgXCJTaXplXCIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhhdCBhbGwgZXhjZXB0IFwiUGFja2FnZSB2ZXJzaW9uXCIsIFwiUmVjaXBlIHZlcnNpb25cIiwgXCJMYXllciBjb21taXRcIiBhcmUgc29ydGFibGUuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIklmIHlvdSB1c2UgdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudSB0byBoaWRlIHRoZSBjb2x1bW4gd2l0aCB0aGUgYXBwbGllZCBzb3J0aW5nLCB3ZSByZXZlcnQgdGhlIHNvcnRpbmcgdG8gdGhlIGRlZmF1bHQgc29ydGluZyAoaS5lLiBcIlBhY2thZ2VcIikuIFRoZSBkZWZhdWx0IHNvcnRpbmcgYWx3YXlzIHVzZXMgb25lIG9mIHRoZSBjb3JlIGNvbHVtbnMsIHdoaWNoIGNhbm5vdCBiZSBoaWRkZW4gdXNpbmcgdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudS4gICBCdWcgNTkxOSBpcyBmaWxlZCBmb3IgdGhlIGlzc3VlLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWFyY2hpbmcgc2hvdWxkIGhhdmUgbm8gaW1wYWN0IG9uIHRoZSBhcHBsaWVkIHNvcnRpbmcuIEFueSByZXN1bHRzIHJldHVybmVkIHNob3VsZCBiZSBzb3J0ZWQgYnkgdGhlIHNvcnRpbmcgY3JpdGVyaWEgc2VsZWN0ZWQgd2hlbiB0aGUgc2VhcmNoIHF1ZXJ5IHdhcyBzdWJtaXR0ZWQuICBTb3J0IHBhY2thZ2VzIGJ5IHNpemUgYW5kIHNlYXJjaCBhIHN0cmluZy4gT2JzZXJ2ZSB0aGF0IHJlc3VsdHMgcmV0dXJuZWQgc2hvdWxkIGJlIHNvcnRlZCBieSBzaXplLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcImNvcmUtaW1hZ2UqXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiBPYnNlcnZlIHRoYXQgYnkgZGVmYXVsdCB0aGUgXCJidWlsdCBwYWNrYWdlc1wiIHRhYmxlIGlzIHNvcnRlZCBieSBcIlBhY2thZ2VcIiBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyIChBIHRvIFopLiAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSWYgY2hvb3NlIHRvIHNvcnQgbXkgXCJpbmNsdWRlZCBwYWNrYWdlc1wiIHRhYmxlIGJ5IFwiU2l6ZVwiIGFuZCB0aGVuIG5hdmlnYXRlIGF3YXkgYnkgc2VsZWN0aW5nIGEgcGFja2FnZSwgd2hlbiBJIGdvIGJhY2sgdG8gdGhlIFwiaW5jbHVkZWQgcGFja2FnZXNcIiB0YWJsZSBpdCBzaG91bGQgc3RpbGwgYmUgc29ydGVkIGJ5IFwiU2l6ZVwiLiAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVuYWJsZSBhbGwgY29sdW1ucyBieSBcIkVkaXQgY29sdW1uc1wiLiBBbGwgZXhjZXB0IFwiUGFja2FnZSB2ZXJzaW9uXCIsIFwiUmVjaXBlIHZlcnNpb25cIiwgXCJEZXBlbmRlbmNpZXNcIiwgXCJSZXZlcnNlIGRlcGVuZGVuY2llc1wiLCBcIkxheWVyIGNvbW1pdFwiLCBzaG91bGQgYmUgc29ydGFibGUuICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjExIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSWYgeW91IHVzZSB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51IHRvIGhpZGUgdGhlIGNvbHVtbiB3aXRoIHRoZSBhcHBsaWVkIHNvcnRpbmcsIHdlIHJldmVydCB0aGUgc29ydGluZyB0byB0aGUgZGVmYXVsdCBzb3J0aW5nIChpLmUuIFwiUGFja2FnZVwiKS4gVGhlIGRlZmF1bHQgc29ydGluZyBhbHdheXMgdXNlcyBvbmUgb2YgdGhlIGNvcmUgY29sdW1ucywgd2hpY2ggY2Fubm90IGJlIGhpZGRlbiB1c2luZyB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51LiAgQnVnIDU5MTkgaXMgZmlsZWQgZm9yIHRoZSBpc3N1ZS4gICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWFyY2hpbmcgc2hvdWxkIGhhdmUgbm8gaW1wYWN0IG9uIHRoZSBhcHBsaWVkIHNvcnRpbmcuIEFueSByZXN1bHRzIHJldHVybmVkIHNob3VsZCBiZSBzb3J0ZWQgYnkgdGhlIHNvcnRpbmcgY3JpdGVyaWEgc2VsZWN0ZWQgd2hlbiB0aGUgc2VhcmNoIHF1ZXJ5IHdhcyBzdWJtaXR0ZWQuIFNvcnQgcGFja2FnZXMgYnkgc2l6ZSBhbmQgc2VhcmNoIGEgc3RyaW5nLiBPYnNlcnZlIHRoYXQgcmVzdWx0cyByZXR1cm5lZCBzaG91bGQgYmUgc29ydGVkIGJ5IHNpemUuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInBhY2thZ2VzOl9Tb3J0X3RoZV9jb250ZW50X29mX3RoZV9wYWNrYWdlc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5wYWNrYWdlczpfQ3VzdG9taXNlX3RoZV9jb2x1bW5zX29mX3RoZV9wYWNrYWdlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlBhY2thZ2VzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgYnkgZGVmYXVsdCB0aGUgXCJidWlsdCBwYWNrYWdlc1wiIHRhYmxlIGlzIHNvcnRlZCBieSBcIlBhY2thZ2VcIiBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyIChBIHRvIFopLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWxlY3QgMSBjb2x1bW4gaW4gXCJFZGl0IGNvbHVtblwiIHRvIHNob3cgdGhlIGNvbHVtbi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRGVzZWxlY3QgMSBjb2x1bW4gaW4gXCJFZGl0IGNvbHVtblwiIHRvIGhpZGUgMSBjb2x1bW4gYnkgXCJFZGl0IGNvbHVtbnNcIi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAicGFja2FnZXM6X0N1c3RvbWlzZV90aGVfY29sdW1uc19vZl90aGVfcGFja2FnZXNfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQucGFja2FnZXM6X1NlYXJjaF90aGVfY29udGVudF9vZl90aGVfcGFja2FnZXNfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHdpdGggYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBzdGFydCB0aGUgVG9hc3RlciwgYW5kIGJ1aWxkIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJQYWNrYWdlc1wiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhci4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IGJ5IGRlZmF1bHQgdGhlIFwiYnVpbHQgcGFja2FnZXNcIiB0YWJsZSBpcyBzb3J0ZWQgYnkgXCJQYWNrYWdlXCIgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlciAoQSB0byBaKS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiV2hlbiBubyBzZWFyY2ggcXVlcnkgaGFzIGJlZW4gZW50ZXJlZCwgd2UgaGF2ZSBwbGFjZWhvbGRlciB0ZXh0IHNheWluZzogXCJTZWFyY2ggcGFja2FnZXMgYnVpbHRcIi4gVGhlIHBsYWNlaG9sZGVyIHRleHQgZGlzYXBwZWFycyB3aGVuIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgdHlwZWQuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIldoZW4gYSBzZWFyY2ggcXVlcnkgaGFzIGJlZW4gc3VibWl0dGVkIGFuZCByZXN1bHRzIHJldHVybmVkOiDilqogV2Uga2VlcCB0aGUgc2VhcmNoIHN0cmluZyBpbiB0aGUgdGV4dCBpbnB1dCBmaWVsZC4g4paqIFdlIHByb3ZpZGUgYSBcIkNsZWFyIHNlYXJjaFwiIGljb24gKGljb24tcmVtb3ZlLXNpZ24pLiBDbGljayBpdCB0byBjbGVhciB0aGUgc2VhcmNoIGFuZCBkaXNwbGF5IGFsbCBwYWNrYWdlcy4g4paqIFdlIGNoYW5nZSB0aGUgcGFnZSBoZWFkaW5nIHRvIGluZGljYXRlIHRoZSBudW1iZXIgb2YgcmVzdWx0cyByZXR1cm5lZCBieSB0aGUgc2VhcmNoIHF1ZXJ5LiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJZiB5b3VyIHNlYXJjaCBxdWVyeSByZXR1cm5zIG5vIHJlc3VsdHMsIHRoZSBwYWdlIGhlYWRpbmcgY2hhbmdlcyB0byBcIk5vIHBhY2thZ2VzIGZvdW5kXCIsIGFuZCB3ZSBzaG93IHlvdSBhbiBhbGVydCB3aXRoIGEgc2VhcmNoIGZvcm0gYW5kIGFuIG9wdGlvbiB0byBzaG93IGFsbCBwYWNrYWdlcy4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VhcmNoaW5nIGRvZXMgbm90IGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIHRhYmxlOiB0aGUgc2FtZSBjb2x1bW5zIHJlbWFpbiBoaWRkZW4gYW5kIHRoZSBzYW1lIHNvcnRpbmcgYXBwbGllZC4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiV2hlbiBJIHJ1biBhIHNlYXJjaCwgdGhlIHNlYXJjaCBoYXBwZW5zIGFnYWluc3QgdGhlIGZvbGxvd2luZyBjb2x1bW5zIChpbmRlcGVuZGVudGx5IG9mIHRoZXkgYmVpbmcgc2hvd24gb3IgaGlkZGVuKTogLSBQYWNrYWdlIC0gUGFja2FnZSB2ZXJzaW9uIC0gTGljZW5zZSAtIFJlY2lwZSAtIFJlY2lwZSB2ZXJzaW9uIC0gTGF5ZXIgLSBMYXllciBicmFuY2ggLSBMYXllciBjb21taXQgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSGlkZSBhbGwgY29sdW1ucyBleGNlcHQgXCJQYWNrYWdlXCIgYW5kIFwiUGFja2FnZSB2ZXJzaW9uXCIuIFNlYXJjaCBhIHN0cmluZyB3aGljaCBpcyBpbmNsdWRlZCBpbiBvdGhlciBoaWRkZW4gY29sdW1ucywgbm90IHRoZSAyIGNvbHVtbnMuIFNlZSBpZiByZXR1cm5lZCByZXN1bHRzIG9jY3VyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEwIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJjb3JlLWltYWdlKlwiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhci4gT2JzZXJ2ZSB0aGF0IGJ5IGRlZmF1bHQgdGhlIFwiaW5jbHVkZWQgcGFja2FnZXNcIiB0YWJsZSBpcyBzb3J0ZWQgYnkgXCJQYWNrYWdlXCIgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlciAoQSB0byBaKS4gUmVydW4gdGVzdHMgYWNjb3JkaW5nIHRvIHN0ZXAgNH45LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJwYWNrYWdlczpfU2VhcmNoX3RoZV9jb250ZW50X29mX3RoZV9wYWNrYWdlc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5WaWV3X2RldGFpbGVkX2luZm9ybWF0aW9uX2Fib3V0X2FfbGF5ZXIiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHdpdGggYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBzdGFydCB0aGUgVG9hc3RlciwgYW5kIGJ1aWxkIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk1ha2Ugc3VyZSB0aGF0IGxheWVyIGluZm9ybWF0aW9uIGlzIHNob3duIGluOiBcbiogcmVjaXBlcyB0YWJsZSBcbiAgICBBbGwgYnVpbGRzLT4gY29yZS1pbWFnZS1taW5pbWFsLT4gcmVjaXBlcyBcbiAgICBTZWxlY3QgXCJMYXllclwiLCBcIkxheWVyIGJyYW5jaFwiLCBcIkxheWVyIGNvbW1pdFwiIGluIEVkaXQgY29sdW1ucyBhbmQgb2JzZXJ2ZSB0aGUgMyBjb2x1bW5zIGFyZSBzaG93ZWQuIE5vdGUgdGhhdCB0aGUgXCJMYXllciBicmFuY2hcIiBjb2x1bW4gY2FuIGJlIGVtcHR5LiAgIFxuXG4qIHJlY2lwZSBkZXRhaWxzICBcbiAgICBBbGwgYnVpbGRzLT4gY29yZS1pbWFnZS1taW5pbWFsLT4gcmVjaXBlcyBcbiAgICBDbGljayBhIHJlY2lwZSBhbmQgeW91IGNhbiBzZWUgXCJMYXllclwiLCBcIkxheWVyIGJyYW5jaFwiLCBcIkxheWVyIGNvbW1pdFwiLCBcIlJlY2lwZSBkZXRhaWxzXCIgaW5mb3JtYXRpb24uICBOb3RlIHRoYXQgXCJMYXllciBicmFuY2hcIiBpcyBub3QgcmVxdWlyZWQuIElmIHRoZXJlIGlzIG5vIGxheWVyIGJyYW5jaCwgeW91IHNob3VsZCBub3Qgc2VlIHRoZSBcIkxheWVyIGJyYW5jaFwiIGl0ZW0gb24gdGhlIGxpc3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJidWlsdCBwYWNrYWdlcyB0YWJsZSBcbiAgICBBbGwgYnVpbGRzLT4gY29yZS1pbWFnZS1taW5pbWFsLT4gcGFja2FnZXMgXG4gICAgU2VsZWN0IFwiTGF5ZXJcIiwgXCJMYXllciBicmFuY2hcIiwgXCJMYXllciBjb21taXRcIiAgaW4gRWRpdCBjb2x1bW5zIGFuZCBvYnNlcnZlciB0aGUgMyBjb2x1bW5zIGlzIHNob3dlZC4gTm90ZSB0aGF0IHRoZSBcIkxheWVyIGJyYW5jaFwiIGNvbHVtbiBjYW4gYmUgZW1wdHkuICAgXG5cbiogYnVpbHQgcGFja2FnZSBkZXRhaWxzIFxuICAgIEFsbCBidWlsZHMtPiBjb3JlLWltYWdlLW1pbmltYWwtPiBwYWNrYWdlcyBcbiAgICBDbGljayBhIHBhY2thZ2UgYW5kIHlvdSBjYW4gc2VlIFwiTGF5ZXJcIiwgXCJMYXllciBicmFuY2hcIiwgXCJMYXllciBjb21taXRcIiBpbiBwYWNrYWdlIGluZm9ybWF0aW9uLiBOb3RlIHRoYXQgXCJMYXllciBicmFuY2hcIiBpcyBub3QgcmVxdWlyZWQuIElmIHRoZXJlIGlzIG5vIGxheWVyIGJyYW5jaCwgeW91IHNob3VsZCBub3Qgc2VlIHRoZSBcIkxheWVyIGJyYW5jaFwiIGl0ZW0gb24gdGhlIGxpc3QuICBcblxuKiBpbWFnZSBpbmZvcm1hdGlvbiBcbiAgICAgQWxsIGJ1aWxkcy0+IGNvcmUtaW1hZ2UtbWluaW1hbC0+IGNvcmUtaW1hZ2UtbWluaW1hbChpbWFnZXMpIFxuICAgIFNlbGVjdCBcIkxheWVyXCIsIFwiTGF5ZXIgYnJhbmNoXCIsIFwiTGF5ZXIgY29tbWl0XCIgaW4gRWRpdCBjb2x1bW5zIGFuZCBvYnNlcnZlciB0aGUgMyBjb2x1bW5zIGlzIHNob3dlZC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk5vdGUgdGhhdCB0aGUgXCJMYXllciBicmFuY2hcIiBjb2x1bW4gY2FuIGJlIGVtcHR5LiAgIFxuXG4qIGluc3RhbGxlZCBwYWNrYWdlIGRldGFpbHMgXG4gICAgQWxsIGJ1aWxkcy0+IGNvcmUtaW1hZ2UtbWluaW1hbC0+IGNvcmUtaW1hZ2UtbWluaW1hbChpbWFnZXMpIFxuICAgIENsaWNrIGEgcGFja2FnZSBhbmQgeW91IGNhbiBzZWUgbGF5ZXIgaW5mb3JtYXRpb24gaW4gcGFja2FnZSBpbmZvcm1hdGlvbi4gTm90ZSB0aGF0IFwiTGF5ZXIgYnJhbmNoXCIgaXMgbm90IHJlcXVpcmVkLiBJZiB0aGVyZSBpcyBubyBsYXllciBicmFuY2gsIHlvdSBzaG91bGQgbm90IHNlZSB0aGUgXCJMYXllciBicmFuY2hcIiBpdGVtIG9uIHRoZSBsaXN0LiAgXG5cbiogY29uZmlndXJhdGlvbiBcbiAgICBBbGwgYnVpbGRzLT4gY29yZS1pbWFnZS1taW5pbWFsLT4gQ29uZmlndXJhdGlvbiBcbiAgICBZb3UgY2FuIHNlZSBcIkxheWVyXCIsIFwiTGF5ZXIgYnJhbmNoXCIsIFwiTGF5ZXIgY29tbWl0XCIgIGluIGNvbmZpZ3VyYXRpb24gc3VtbWFyeS4gTm90ZSB0aGF0IHRoZSBcIkxheWVyIGJyYW5jaFwiIGNvbHVtbiBjYW4gYmUgZW1wdHkuICBcblxuKiBidWlsZCBkYXNoYm9hcmQgXG4gICAgQWxsIGJ1aWxkcy0+IGNvcmUtaW1hZ2UtbWluaW1hbCBcbiAgICBZb3UgY2FuIHNlZSBcIkxheWVyc1wiIGluIGJ1aWxkIHN1bW1hcnkuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWaWV3X2RldGFpbGVkX2luZm9ybWF0aW9uX2Fib3V0X2FfbGF5ZXIiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQuU2VsZWN0X3RoZV9udW1iZXJfb2ZfdGFibGVfcm93c19kaXNwbGF5ZWRfcGVyX3BhZ2UiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHdpdGggYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBzdGFydCB0aGUgVG9hc3RlciwgYW5kIGJ1aWxkIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJQYWNrYWdlc1wiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhci4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVXNlcnMgY2FuIHNlbGVjdCB0aGUgbnVtYmVyIG9mIHJvd3MgdGhleSB3YW50IHRvIHNlZSBpbiBhIHRhYmxlIHVzaW5nIHRoZSBcIlNob3cgcm93c1wiIGRyb3Bkb3duIG1lbnUsIHdoaWNoIGRpc3BsYXlzIGFib3ZlIGFuZCBiZWxvdyBlYWNoIHRhYmxlLiBUaGUgb3B0aW9ucyBvZiB0aGUgXCJTaG93IHJvd3NcIiBkcm9wZG93biBhcmU6IDEwLCAyNSwgNTAsIDEwMCwgMTUwLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgbGFzdCBzZWxlY3RlZCBvcHRpb24gZnJvbSB0aGUgXCJTaG93IHJvd3NcIiBtZW51IHNob3VsZCBiZSByZW1lbWJlcmVkOiAgKiBTZWxlY3Qgb25lIG9wdGlvbiwgZm9yIGV4YW1wbGUgMTAgKiBDbGljayBvbiBhIHBhY2thZ2UgbmFtZSB0byBuYXZpZ2F0ZSBhd2F5IGZyb20gdGhlIGJ1aWx0IHBhY2thZ2VzIHRhYmxlICogQ2xpY2sgb24gdGhlIFwiUGFja2FnZXNcIiBsaW5rIGluIHRoZSBicmVhZGNydW1iIGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UgdG8gZ28gYmFjayB0byB0aGUgcGFja2FnZXMgdGFibGUgIE5vdGUgdGhhdCAyNSBpcyBzdGlsbCBzZWxlY3RlZCBpbiB0aGUgXCJTaG93IHJvd3NcIiBtZW51LiAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IHRoZSBwYWdpbmF0aW9uIHdpZGdldCBpcyBtYWRlIG9mOiAtIEEgXCJQcmV2aW91c1wiIGJ1dHRvbiAtIEEgXCJOZXh0XCIgYnV0dG9uIC0gQSBtYXhpbXVtIG9mIDUgcGFnZSBidXR0b25zLiAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VlIHRoZSBwYWdpbmF0aW9uIGZ1bmN0aW9uIG9mIFwiVGFza3NcIiwgXCJSZWNpcGVzXCIgbGlua3MgYWNjb3JkaW5nIHRvIHN0ZXBzIDN+NC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkV4cGVjdGVkIHJlc3VsdCBmb3Igc3RlcCA0OiBUaGlzIHdpZGdldCBoYXMgbm8gcHJldmlvdXMgb3IgbmV4dCBidXR0b24gaWYgdGVzdGluZyBpbiB0b2FzdGVyIDIuMi4gc2VlIEJ1ZyA5ODMxIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiU2VsZWN0X3RoZV9udW1iZXJfb2ZfdGFibGVfcm93c19kaXNwbGF5ZWRfcGVyX3BhZ2UiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQuVmlld19kZXRhaWxlZF9jb25maWd1cmF0aW9uX2luZm9ybWF0aW9uX2Zvcl9hX2J1aWxkIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiQ29uZmlndXJhdGlvblwiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhci4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IHRoZSBjb25maWd1cmF0aW9uIHBhZ2UgaGFzIDIgdGFiczogLSBTdW1tYXJ5IC0gQml0QmFrZSB2YXJpYWJsZXMgVGhlIFN1bW1hcnkgdGFiIGlzIHRoZSBkZWZhdWx0IHRhYi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIGZvbGxvd2luZyBjb250ZW50IGlzIGluY2x1ZGVkIGluIHN1bW1hcnkgdGFiLiAgKDEpIEJ1aWxkIGNvbmZpZ3VyYXRpb24gICgyKSBMYXllcnMgKExheWVyLCBMYXllciBicmFuY2ggLSBpZiBhbnksIExheWVyIGNvbW1pdCkgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IFwiQml0QmFrZSB2YXJpYWJsZXNcIiB0YWIgaW5jbHVkZXMgXCJWYXJpYWJsZVwiLCBcIlZhbHVlXCIsIFwiIFNldCBpbiBmaWxlXCIsIFwiRGVzY3JpcHRpb25cIiBjb2x1bW5zLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBmaWx0ZXIgYnV0dG9uIG9mIFwiU2V0IGluIGZpbGVcIiBjb2x1bW4uIFNlbGVjdCBcIkxvY2FsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzXCIgYW5kIGNsaWNrIFwiQXBwbHlcIiBidXR0b24gdG8gc2VlIGlmIGZpbHRlciBmdW5jdGlvbiB3b3JrcyB3ZWxsLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51LCB0YWJsZSBjb2x1bW5zIGFwcGVhciBsaXN0ZWQgYWxwaGFiZXRpY2FsbHk6IERlc2NyaXB0aW9uLCBTZXQgaW4gZmlsZSwgVmFsdWUsIFZhcmlhYmxlICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBtaW5pbXVtIHRhYmxlIGlzIG1hZGUgb2YgdGhlIFwiVmFyaWFibGVcIiBhbmQgXCJWYWx1ZVwiIGNvbHVtbnMuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIGEgdmFyaWFibGUgYW5kIGEgXCJIaXN0b3J5IG9mICR7dmFyaWFibGV9XCIgZGlhbG9nIHdpbGwgb2NjdXIuIFRoZSBtb2RhbCBkaWFsb2cgc2hvd3MgdGhlIHZhcmlhYmxlIHZhbHVlIGZvbGxvd2VkIGJ5IHRoZSBoaXN0b3J5IHRhYmxlLCB3aGljaCBoYXMgdGhlIGZvbGxvd2luZyBjb2x1bW5zOiAtIE9yZGVyOiBpbmRpY2F0ZXMgdGhlIHNlcXVlbmNlIGluIHdoaWNoIHRoZSBmaWxlcyBzZXQgdGhlIHZhcmlhYmxlIC0gQ29uZmlndXJhdGlvbiBmaWxlOiB0aGUgbG9jYXRpb24gaW4gZGlzayBvZiB0aGUgZmlsZSB0aGF0IHNldCB0aGUgdmFyaWFibGUgLSBPcGVyYXRpb246IHRoZSB2YWx1ZSBvZiB0aGUgb3BlcmF0aW9uIGZpZWxkIGFzIHN0b3JlZCBpbiB0aGUgZGF0YWJhc2UuIC0gTGluZSBudW1iZXI6IHRoZSBsaW5lIG51bWJlciB3aGVyZSB0aGUgb3BlcmF0aW9uIGlzIHBlcmZvcm1lZCBpbiB0aGUgY29uZmlndXJhdGlvbiBmaWxlLiAgRm9yIHN1Y2ggdmFyaWFibGVzLCB3aG9zZSB2YWx1ZSBpcyBhbiBlbXB0eSBzdHJpbmcsIHRoZSBWYWx1ZSBjZWxsIGluIHRoZSB2YXJpYWJsZXMgdGFibGUgaXNlbXB0eSwgd2hpY2ggaXMgcHJvYmFibHkgdGhlIHJpZ2h0IHRoaW5nLiBJbiB0aGUgbW9kYWwsIGluc3RlYWQgb2YgdGhlIHZhcmlhYmxlIHZhbHVlLCB3ZSBzaG93IGFuIGFsZXJ0ICh3aXRoIHRoZSBjbGFzcyAuYWxlcnQtaW5mbykgc2F5aW5nOiBcIlRoZSB2YWx1ZSBvZiAgaXMgYW4gZW1wdHkgc3RyaW5nXCIgICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTAiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBhcnJvdyBsaW5rcyBpbiBkZXNjcmlwdGlvbiB0YWIgdG8gc2VlIGxpbmtpbmcgdmFyaWFibGVzIHRvIHRoZSBZb2N0byBQcm9qZWN0IHJlZmVyZW5jZSBtYW51YWwuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZpZXdfZGV0YWlsZWRfY29uZmlndXJhdGlvbl9pbmZvcm1hdGlvbl9mb3JfYV9idWlsZCIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC52YXJpYWJsZXM6X0N1c3RvbWlzZV90aGVfY29sdW1uc19vZl90aGVfYml0YmFrZV92YXJpYWJsZXNfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHdpdGggYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBzdGFydCB0aGUgVG9hc3RlciwgYW5kIGJ1aWxkIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJDb25maWd1cmF0aW9uXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiBUaGVuIGNsaWNrIFwiQml0QmFrZSB2YXJpYWJsZXNcIiB0YWIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNob3cgb3IgaGlkZSBjb2x1bW5zIGJ5IHNlbGVjdCBvciBkZXNlbGVjdCBvcHRpb25zIG9mIFwiRWRpdCBjb2x1bW5zXCIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInZhcmlhYmxlczpfQ3VzdG9taXNlX3RoZV9jb2x1bW5zX29mX3RoZV9iaXRiYWtlX3ZhcmlhYmxlc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC52YXJpYWJsZXM6X0ZpbHRlcl90aGVfY29udGVudF9vZl90aGVfYml0YmFrZV92YXJpYWJsZXNfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHdpdGggYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBzdGFydCB0aGUgVG9hc3RlciwgYW5kIGJ1aWxkIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIi4gXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIkNvbmZpZ3VyYXRpb25cIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuIFRoZW4gY2xpY2sgXCJCaXRCYWtlIHZhcmlhYmxlc1wiIHRhYi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgXCJTZXQgaW4gZmlsZVwiIGFuZCBcIkRlc2NyaXB0aW9uXCIgY29sdW1ucyBoYXZlIGZpbHRlcnMuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGaWx0ZXJzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIE9ubHkgb25lIGNvbHVtbiBmaWx0ZXIgY2FuIGJlIGFwcGxpZWQgdG8gYSB0YWJsZSBhdCBhbnkgZ2l2ZW4gdGltZS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGaWx0ZXJzIGFyZSBvdmVycmlkZGVuIGJ5IHNlYXJjaC4gXG5UaGUgc2NvcGUgb2YgdGhlIGZpbHRlcnMgaXMgdGhlIGNvbnRlbnQgY3VycmVudGx5IG9uIHRoZSB0YWJsZS4gXG5UaGUgc2NvcGUgb2YgdGhlIHNlYXJjaCBpcyBhbHdheXMgdGhlIGZ1bGwgY29udGVudCBvZiB0aGUgZGF0YWJhc2UuIFxuU286IFxuLSBpZiBJIHJ1biBhIHNlYXJjaCBxdWVyeSwgYW55IGZpbHRlciBhcHBsaWVkIGFmdGVyd2FyZHMgd2lsbCBmaWx0ZXIgdGhlIGNvbnRlbnQgcmV0dXJuZWQgYnkgdGhlIHNlYXJjaCBxdWVyeS4gXG5TZWFyY2ggYSBzdHJpbmcgYW5kIGFwcGx5IGEgZmlsdGVyLiBPYnNlcnZlIGl0IHdvdWxkIGZpbHRlciB0aGUgY29udGVudCByZXR1cm5lZCBieSB0aGUgc2VhcmNoIHF1ZXJ5LiAgXG5cbi0gaWYgSSBydW4gYSBzZWFyY2ggcXVlcnkgd2hpbGUgYSBmaWx0ZXIgaXMgYXBwbGllZCwgdGhlIGZpbHRlciBpcyBvdmVycmlkZGVuIGJ5IHRoZSByZXN1bHRzIG9mIHRoZSBzZWFyY2ggcXVlcnkuIFxuQXBwbHkgYSBmaWx0ZXIgYW5kIHNlYXJjaCBhIHN0cmluZy4gT2JzZXJ2ZSB0aGF0IHRoZSBwcmV2aW91cyBmaWx0ZXJlZCByZXN1bHQgaXMgb3ZlcnJpZGRlbiBieSB0aGUgc2VhcmNoLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAidmFyaWFibGVzOl9GaWx0ZXJfdGhlX2NvbnRlbnRfb2ZfdGhlX2JpdGJha2VfdmFyaWFibGVzX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLlZpZXdfYW5kX25hdmlnYXRlX3RoZV9mdWxsX2RpcmVjdG9yeV9zdHJ1Y3R1cmVfb2ZfYnVpbHRfaW1hZ2VzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiY29yZS1pbWFnZS1taW5pbWFsXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgaW1hZ2UgaW5mb3JtYXRpb24gcGFnZSBoYXMgMiB0YWJzOiBcbi0gUGFja2FnZXMgaW5jbHVkZWQ6IHRoaXMgdGFiIHNob3dzIGEgdGFibGUgd2l0aCBhbGwgdGhlIHBhY2thZ2VzIGluc3RhbGxlZCBpbiB0aGUgaW1hZ2UuIFRoZSB0YWIgbGFiZWwgaW5jbHVkZXMgdGhlIHRvdGFsIG51bWJlciBvZiBwYWNrYWdlcyBsaXN0ZWQgaW4gdGhlIHRhYmxlIGFuZCB0aGVpciBzaXplLiBcbi0gRGlyZWN0b3J5IHN0cnVjdHVyZTogdGhpcyB0YWIgc2hvd3MgYWxsIHRoZSBmaWxlcyBpbmNsdWRlZCBpbiB0aGUgaW1hZ2UuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnkgZGVmYXVsdCwgdGhlIGluY2x1ZGVkIHBhY2thZ2VzIHRhYmxlIGRpc3BsYXlzIHRoZSBmb2xsb3dpbmcgY29sdW1ucyBpbiB0aGlzIG9yZGVyOiBcblBhY2thZ2UsIFBhY2thZ2UgdmVyc2lvbiwgU2l6ZSwgRGVwZW5kZW5jaWVzICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQXBhcnQgZnJvbSB0aGUgY29sdW1ucyBzaG93biBieSBkZWZhdWx0LCB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgY29sdW1ucyBhcmUgYWxzbyBhdmFpbGFibGUgdG8gdXNlcnMgdmlhIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnU6IFxuTGF5ZXIsIExheWVyIGJyYW5jaCwgTGF5ZXIgY29tbWl0LCBMaWNlbnNlLCBSZWNpcGUsIFJlY2lwZSB2ZXJzaW9uLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBtaW5pbXVtIHRhYmxlIGlzIG1hZGUgb2YgdGhlIDIgY29sdW1ucyB0aGF0IHByb3ZpZGUgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0byBpZGVudGlmeSBhIHBhY2thZ2U6IFBhY2thZ2UgYW5kIFBhY2thZ2UgdmVyc2lvbi4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCeSBkZWZhdWx0LCB0aGUgZGlyZWN0b3J5IHN0cnVjdHVyZSB0YWJsZSBzaG93cyB0aGUgdG9wIGxldmVsIGRpcmVjdG9yaWVzIGFuZCBmaWxlcyBpbiB0aGUgZmlsZSBzeXN0ZW0uXG5UaGUgdGFibGUgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBjb2x1bW5zOiBcbkRpcmVjdG9yeS9GaWxlLCBTeW1ib2xpYyBsaW5rIHRvLCBTb3VyY2UgcGFja2FnZSwgU2l6ZSwgUGVybWlzc2lvbnMsIE93bmVyLCBHcm91cCBcbk9wZW4gc29tZSBkaXJlY3RvcmllcyBhbmQgc2VlIGZpbGVzLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmlld19hbmRfbmF2aWdhdGVfdGhlX2Z1bGxfZGlyZWN0b3J5X3N0cnVjdHVyZV9vZl9idWlsdF9pbWFnZXMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQuVmlld19hX3N1bW1hcnlfb2ZfYWxsX3RoZV9pbmZvcm1hdGlvbl9hdmFpbGFibGVfZm9yX2FfYnVpbGQiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHdpdGggYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBzdGFydCB0aGUgVG9hc3RlciwgYW5kIGJ1aWxkIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIi4gIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZC4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBICdCdWlsZCBkYXNoYm9hcmQnIHBhZ2UgaXMgc2hvd2VkLiBcblRoZSAnQnVpbGQgZGFzaGJvYXJkJyBwYWdlIGhhcyB0d28gbWFpbiBzdGF0ZXM6IFxuKDEpIFN1Y2Nlc3Mgc3RhdGU6IHdoZW4gdGhlIGJ1aWxkIGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkuIEluIHRoZSBzdWNjZXNzIHN0YXRlLCBpZiB0aGUgYnVpbGQgdGFyZ2V0KHMpIGluY2x1ZGUgYW4gaW1hZ2UgcmVjaXBlLCB0aGUgcGFnZSBkaXNwbGF5cyBhbiBpbWFnZSBjb250ZW50IG1vZHVsZSwgYW5kIHRoZSBsZWZ0IG5hdmlnYXRpb24gaGFzIGFuIFwiSW1hZ2VzXCIgc2VjdGlvbiBhdCB0aGUgdG9wLiBcbigyKSBGYWlsIHN0YXRlOiB3aGVuIHRoZSBidWlsZCBmYWlscyAoc2hvd24gaW4gdGhpcyBwYWdlKS4gSW4gdGhlIGZhaWwgc3RhdGUsIHRoZSBwYWdlIGFsd2F5cyBkaXNwbGF5cyBhbiBlcnJvcnMgY29udGVudCBtb2R1bGUsIGFuZCB0aGUgbGVmdCBuYXZpZ2F0aW9uIGRvZXMgbm90IGhhdmUgYW4gXCJJbWFnZXNcIiBzZWN0aW9uIGF0IHRoZSB0b3AuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IHRoZSBwYWdlIHByb3ZpZGVzIGFjY2VzcyB0byBhbGwgaW5mb3JtYXRpb24gYXZhaWxhYmxlIGZvciB0aGUgc2VsZWN0ZWQgYnVpbGQuIFxuKDEpIEltYWdlcyBcbigyKSBCdWlsZDogdGhpcyBncm91cCBwcm92aWRlcyBsaW5rcyB0byB0aGUgZm9sbG93aW5nIHBhZ2VzOiBcbkNvbmZpZ3VyYXRpb24sIFRhc2tzLCBSZWNpcGVzLCBQYWNrYWdlcyBcbigzKSBQZXJmb3JtYW5jZTogdGhpcyBncm91cCBwcm92aWRlcyBsaW5rcyB0byB0aGUgZm9sbG93aW5nIHBhZ2VzOiBcblRpbWUsIENQVSB1c2FnZSwgRGlzayBJL08gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgcGFnZSBoZWFkaW5nIGlzIG1hZGUgb2YgdGhlIGJ1aWxkIHRhcmdldChzKSBhbmQgdGhlIG1hY2hpbmUsIHN1Y2ggYXMgXCJjb3JlLWltYWdlLW1pbmltYWwgcWVtdXg4NlwiLiBJZiB0aGUgYnVpbGQgaGFzIG1vcmUgdGhhbiBvbmUgdGFyZ2V0LCB0aGV5IHNob3cgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlciAoQSB0byBaKSBib3RoIGluIHRoZSBwYWdlIGhlYWRpbmcgYW5kIGluIHRoZSBcIkltYWdlc1wiIHNlY3Rpb24gb2YgdGhlIGxlZnQgbmF2aWdhdGlvbi4gSWYgdGhlIGJ1aWxkIHdhcyBzdWNjZXNzZnVsLCB0aGVyZSBpcyBhbiBpbWFnZSBjb250ZW50IG1vZHVsZSBmb3IgZWFjaCB0YXJnZXQgdGhhdCBpcyBhbiBpbWFnZSByZWNpcGUuIFRoZSBtb2R1bGVzIGFsc28gc2hvdyBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyIGJ5IHRhcmdldCBuYW1lLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiUGFja2FnZXMgaW5jbHVkZWQsIHRvdGFsIHBhY2thZ2Ugc2l6ZSwgbGljZW5zZSBtYW5pZmVzdCwgaW1hZ2UgZmlsZXMgYXJlIGluY2x1ZGVkIGluIHRoZSBpbWFnZXMgc2VjdGlvbi4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgaW5mb3JtYXRpb24gb2YgTWFjaGluZSwgRGlzdHJvLCBMYXllcnMgaXMgaW5jbHVkZWQgaW4gY29uZmlndXJhdGlvbiBjb250ZW50IG1vZHVsZSBvZiBcIkJ1aWxkIHN1bW1hcnlcIiBzZWN0aW9uLiBcblRoZSBpbmZvcm1hdGlvbiBvZiBcIlRvdGFsIG51bWJlciBvZiB0YXNrXCIsIFwiVGFza3MgZXhlY3V0ZWRcIiwgXCIgVGFza3Mgbm90IGV4ZWN1dGVkXCIsIFwiUmV1c2VcIiBpcyBpbmNsdWRlZCBpbiB0aGUgdGFza3MgY29udGVudCBtb2R1bGUuIFxuVGhlIGluZm9ybWF0aW9uIG9mIFwiUmVjaXBlcyBidWlsdFwiIGFuZCBcIlBhY2thZ2VzIGJ1aWx0XCIgaXMgaW5jbHVkZWQgaW4gdGhlIFwiUmVjaXBlcyZQYWNrYWdlc1wiIGNvbnRlbnQgbW9kdWxlLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmlld19hX3N1bW1hcnlfb2ZfYWxsX3RoZV9pbmZvcm1hdGlvbl9hdmFpbGFibGVfZm9yX2FfYnVpbGQiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQuRGlzcGxheV90aGVfY29udGVudF9vZl9lcnJvcl9tZXNzYWdlc19hbmRfd2FybmluZ3MiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHdpdGggYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBzdGFydCB0aGUgVG9hc3RlciwgYW5kIGNyZWF0ZSBhIHN1Y2Nlc3NmdWwgYnVpbGQgYW5kIGEgZmFpbGVkIGJ1aWxkLiBZb3UgY2FuIGZvcmNlIGEgYnVpbGQgdG8gdGVybWluYXRlIGJ5IGN0cmwrYy4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IHRoZSBudW1iZXIgb2YgZXJyb3JzIGFuZCB3YXJuaW5ncyB0aHJvd24gYnkgYSBidWlsZCBzaG93cyBpbiBib3RoICdBbGwgYnVpbGRzJyBwYWdlIGFuZCB0aGUgJ0xhdGVzdCBidWlsZHMnIHNlY3Rpb24uICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhhdCB0aGUgbnVtYmVyIGFuZCBjb250ZW50IG9mIGVycm9ycyBhbmQgd2FybmluZ3MgdGhyb3duIGJ5IGEgYnVpbGQgc2hvd3MgaW4gdGhlICdCdWlsZCBkYXNoYm9hcmQnIHBhZ2UuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIHdhcm5pbmcgb3IgZXJyb3IgbGlua3MgdG8gc2VlIHdhcm5pbmcgYW5kIGVycm9yIGRldGFpbHMuICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiRGlzcGxheV90aGVfY29udGVudF9vZl9lcnJvcl9tZXNzYWdlc19hbmRfd2FybmluZ3MuIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLkJ1aWxkX3N1bW1hcnlfaW5mb3JtYXRpb25fZnVsbHlfaW1wbGVtZW50ZWQiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHdpdGggYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBzdGFydCB0aGUgVG9hc3RlciwgYW5kIGNyZWF0ZSA0IGJ1aWxkcy4gXG5hKSBhIHN1Y2Nlc3NmdWwgYnVpbGQgd2l0aCBpbWFnZXMgKGJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsKSBcbmIpIGEgc3VjY2Vzc2Z1bCBidWlsZCB3aXRob3V0IGltYWdlcyAoYml0YmFrZSBtdG9vbHMtbmF0aXZlKSBcbmMpIGEgZmFpbGVkIGJ1aWxkIHdpdGggZXJyb3JzIGFuZCB3YXJuaW5ncyAocnVuIFwiYml0YmFrZSBjb3JlLWltYWdlLXNhdG9cIiwgdGhlbiBwcmVzcyBjb250cm9sK2MgdG8gdGVybWluYXRlIHRoZSBidWlsZCkiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgYSBjb3JlLWltYWdlLW1pbmltYWwgYnVpbGQuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IHRoZXJlIGlzIGEgJ0J1aWxkIGRhc2hib2FyZCcgcGFnZSBjYXB0dXJlZCBieSBUb2FzdGVyLiBUaGUgcGFnZSBkb2VzIG5vdCBleGlzdCBmb3IgYnVpbGRzIGluIHByb2dyZXNzLCBvbmx5IGZvciBmaW5pc2hlZCBidWlsZHMuIFxuVGhlICdCdWlsZCBkYXNoYm9hcmQnIHBhZ2UgaXMgbWFkZSBvZjogXG5hKSBCcmVhZGNydW1iIFxuYikgTmF2aWdhdGlvbiBcbiAgICBJTUFHRVM6IGNvcmUtaW1hZ2UtbWluaW1hbCBcbiAgICBCVUlMRDogXG4gICAgICAgIENvbmZpZ3VyYXRpb24gXG4gICAgICAgIFRhc2tzIFxuICAgICAgICBSZWNpcGVzIFxuICAgICAgICBQYWNrYWdlcyBcbiAgICBQRVJGT1JNQU5DRTogXG4gICAgICAgIFRpbWUgXG4gICAgICAgIENQVSB1c2FnZSBcbiAgICAgICAgRGlzayBJL08gXG5jKSBQYWdlIGhlYWRpbmcgKGNvcmUtaW1hZ2UtbWluaW1hbCBxZW11eDg2KSBcbmQpIFNlY3Rpb24gaGVhZGluZyAoSW1hZ2VzLCBCdWlsZCBzdW1tYXJ5KSBcbmUpIEJ1aWxkIHN0YXR1cyBub3RpZmljYXRpb24gKENvbXBsZXRlZCBvbiB4eC94eC94eC4uLiBCdWlsZCB0aW1lOnh4Onh4Onh4KSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgXCJpbWFnZXNcIiBzZWN0aW9uIGlzIG1hZGUgb2YgdGhlIGZvbGxvd2luZyBcbi5cbmEpIEhlYWRpbmc6IGNvcmUtaW1hZ2UtbWluaW1hbCwgd2hpY2ggbGlua3MgdG8gdGhlIFwiUGFja2FnZXMgaW5jbHVkZWRcIiB0YWIgb2YgdGhlIGltYWdlIGluZm9ybWF0aW9uIHBhZ2UgXG5iKSBOdW1iZXIgb2YgcGFja2FnZXMgaW5zdGFsbGVkOiAocGFja2FnZXMgaW5jbHVkZWQgeHgpLCB3aGljaCBpcyBhIGxpbmsgdG8gdGhlIFwiUGFja2FnZXMgaW5jbHVkZWRcIiB0YWIgb2YgdGhlIGltYWdlIGluZm9ybWF0aW9uIHBhZ2UgXG5jKSBUb3RhbCBpbnN0YWxsZWQgcGFja2FnZSBzaXplOiB4eE1CIFxuZCkgTGljZW5zZSBtYW5pZmVzdCAod2hpY2ggaXMgYSBsaW5rIHRvIHRoZSBcIlBhY2thZ2VzIGluY2x1ZGVkXCIgdGFiIG9mIHRoZSBpbmZvcm1hdGlvbiBwYWdlIHdpdGggdGhlIGZvbGxvd2luZyBjb2x1bW5zIHNob3dpbmc6IFwiUGFja2FnZVwiLCBcIlBhY2thZ2UgdmVyc2lvblwiLCBcIkxpY2Vuc2VcIiBhbmQgXCJSZWNpcGVcIi4gV2UgaGF2ZSBidWcgNjA3OSBvcGVuIGZvciB0aGlzKS4gTmV4dCB0byB0aGUgbGljZW5zZSBtYW5pZmVzdCBpcyB0aGUgcGF0aCB0byB0aGUgZGlyZWN0b3J5IHdoZXJlIHlvdSBjYW4gZmluZCB0aGUgbGljZW5zZSBtYW5pZmVzdCBmaWxlLiAgXG4gXG5lKSBJbWFnZSBmaWxlcyAocm9vdGZzIGZpbGUgbmFtZXMgYW5kIHJvb3RmcyBmaWxlIHNpemVzKSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgXCJCdWlsZCBzdW1tYXJ5XCIgc2VjdGlvbiBpcyBtYWRlIG9mIHRoZSBmb2xsb3dpbmcuIFxuYSkgQ29uZmlndXJhdGlvbiAod2hpY2ggaXMgYSBsaW5rIHRvIHRoZSBjb25maWd1cmF0aW9uIHBhZ2UpOiBcbiAgICBNYWNoaW5lIFxuICAgIERpc3RybyBcbiAgICBMYXllcnMgKHNvcnRlZCBpbiBhbHBoYWJldGljYWwgb3JkZXIpIFxuYikgVGFza3MgKHdoaWNoIGlzIGEgbGluayB0byB0aGUgdGFza3MgcGFnZSkgXG4gICAgVG90YWwgbnVtYmVyIG9mIHRhc2tzICh3aGljaCBpcyBhIGxpbmsgdG8gdGhlIHRhc2tzIHBhZ2UpIFxuICAgIFRhc2tzIGV4ZWN1dGVkICh3aGljaCBpcyBhIGxpbmsgdG8gdGhlIHRhc2tzIHBhZ2Ugd2l0aCB0aGUgdGFza3MgZXhlY3V0ZWQgZmlsdGVyIGFwcGxpZWQpIFxuICAgIFRhc2tzIG5vdCBleGVjdXRlZCAod2hpY2ggaXMgYSBsaW5rIHRvIHRoZSB0YXNrcyBwYWdlcyB3aXRoIHRoZSB0YXNrcyBub3QgZXhlY3V0ZWQgZmlsdGVyIGFwcGxpZWQpXG4gICAgUmV1c2UgXG5jKSBOb3RlIHRoYXQgXCJUb3RhbCBudW1iZXIgb2YgdGFza3NcIiBzaG91bGQgZXF1YWwgbnVtYmVyIG9mIFwiVGFza3MgZXhlY3V0ZWRcIiArICBudW1iZXIgb2YgXCJUYXNrcyBub3QgZXhlY3V0ZWRcIiBcbmQpIFJlY2lwZXMgKHdoaWNoIGlzIGEgbGluayB0byB0aGUgcmVjaXBlcyBwYWdlKSAmIFBhY2thZ2VzICh3aGljaCBpcyBhIGxpbmsgdG8gdGhlIHBhY2thZ2VzIGJ1aWx0IHBhZ2UpICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiAgTnVtYmVyIG9mIHJlY2lwZXMgYnVpbHQgKHdoaWNoIGlzIGEgbGluayB0byB0aGUgcmVjaXBlcyBwYWdlKSAgXG4gXG4gICAgTnVtYmVyIG9mIHBhY2thZ2VzIGJ1aWx0ICh3aGljaCBpcyBhIGxpbmsgdG8gdGhlIHBhY2thZ2VzIGJ1aWx0IHBhZ2UpIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiUmV0dXJuIHRvIGxvY2FsaG9zdDo4MDAwIGFuZCBzZWxlY3QgYSBzdWNjZXNzZnVsIGJ1aWxkIHdpdGhvdXQgaW1hZ2VzIChtdG9vbHMtbmF0aXZlKSBcbi5cbk9ic2VydmUgdGhlIGJ1aWxkIGRhc2hib2FyZCBmb3IgYSBzdWNjZXNzZnVsIGJ1aWxkIG9mIGEgdGFyZ2V0IHRoYXQgaXMgbm90IGFuIGltYWdlIHJlY2lwZS4gVGhlcmUgaXMgbm8gaW1hZ2UgY29udGVudCBtb2R1bGUsIGFuZCBubyBcIkltYWdlc1wiIHNlY3Rpb24gaW4gdGhlIGxlZnQgbmF2aWdhdGlvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJSZXR1cm4gdG8gbG9jYWxob3N0OjgwMDAgYW5kIHNlbGVjdCB0aGUgZmFpbGVkIGJ1aWxkIChjb3JlLWltYWdlLXNhdG8pLiBPYnNlcnZlIHRoZSBidWlsZCBkYXNoYm9hcmQgZm9yIHRoZSBmYWlsZWQgYnVpbGQuICBcbiBcbmEpIHRoZSBlcnJvcnMgY29udGVudCBtb2R1bGU6IFxuVGhpcyBtb2R1bGUgZXhpc3RzIGZvciB0aG9zZSBidWlsZHMgdGhhdCB0aHJvdyBlcnJvcihzKS4gSXQgYXBwZWFycyBpbW1lZGlhdGVseSBiZWxvdyB0aGUgYnVpbGQgc3RhdHVzIG5vdGlmaWNhdGlvbi4gXG5UaGUgbW9kdWxlIGhhcyAyIHN0YXRlczogXG7ilqogRXhwYW5kZWQgKHNob3dzIG51bWJlciBvZiBlcnJvcnMgYW5kIGVycm9yIGNvbnRlbnQpIFxu4paqIENvbGxhcHNlZCAoc2hvd3Mgb25seSB0aGUgbnVtYmVyIG9mIGVycm9ycykgXG5CeSBkZWZhdWx0LCB0aGUgZXJyb3JzIG1vZHVsZSBpcyBpbiB0aGUgZXhwYW5kZWQgc3RhdGUuIFxuRXJyb3JzIGNvbnRlbnQgbW9kdWxlcyBpbmNsdWRlIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb246IFxuKDEuMSkgQSBoZWFkaW5nLCB3aGljaCBpbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBlcnJvcnMgdGhyb3duIGJ5IHRoZSBidWlsZCwgYW5kIHRvZ2dsZXMgdGhlIG1vZHVsZSBiZXR3ZWVuIGl0cyAyIHN0YXRlcyBvbiBjbGljay4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUcmFuc2l0aW9ucyBiZXR3ZWVuIHN0YXRlcyBzaG91bGQgdXNlIGEgc2xpZGUgdXAgLyBzbGlkZSBkb3duIGFuaW1hdGlvbi4gXG4oMS4yKSBFcnJvcihzKSBjb250ZW50ICBcblxuYikgdGhlIHdhcm5pbmcgY29udGVudCBtb2R1bGU6IFxuVGhpcyBtb2R1bGUgZXhpc3RzIGZvciB0aG9zZSBidWlsZHMgdGhhdCB0aHJvdyB3YXJuaW5nKHMpLiBcbkl0IGlzIHRoZSBsYXN0IGNvbnRlbnQgbW9kdWxlIHNob3duIG9uIHRoZSBidWlsZCBkYXNoYm9hcmQuIFxuVGhlIG1vZHVsZSBoYXMgMiBzdGF0ZXM6IFxu4paqIEV4cGFuZGVkIChzaG93cyBudW1iZXIgb2Ygd2FybmluZ3MgYW5kIHdhcm5pbmcgY29udGVudCkgXG7ilqogQ29sbGFwc2VkIChzaG93cyBvbmx5IHRoZSBudW1iZXIgb2Ygd2FybmluZ3MpIFxuQnkgZGVmYXVsdCwgdGhlIHdhcm5pbmcgbW9kdWxlIGlzIGluIHRoZSBjb2xsYXBzZWQgc3RhdGUuIFdhcm5pbmdzIGNvbnRlbnQgbW9kdWxlcyBpbmNsdWRlIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb246IFxuKDIuMSkgQSBoZWFkaW5nLCB3aGljaCBpbmRpY2F0ZXMgdGhlIG51bWJlciBvZiB3YXJuaW5ncyB0aHJvd24gYnkgdGhlIGJ1aWxkLCBhbmQgdG9nZ2xlcyB0aGUgbW9kdWxlIGJldHdlZW4gaXRzIDIgXG5zdGF0ZXMgb24gY2xpY2suIFRyYW5zaXRpb25zIGJldHdlZW4gc3RhdGVzIHNob3VsZCB1c2UgYSBzbGlkZSB1cCAvIHNsaWRlIGRvd24gYW5pbWF0aW9uLiBcbigyLjIpIFdhcm5pbmcocykgY29udGVudCAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiQnVpbGRfc3VtbWFyeV9pbmZvcm1hdGlvbl9mdWxseV9pbXBsZW1lbnRlZCIKKyAgICB9CisgIH0KK10KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvb2V0ZXN0LnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL29ldGVzdC5weQppbmRleCBmNzE3MTI2Li5mMDQyM2FmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvb2V0ZXN0LnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9vZXRlc3QucHkKQEAgLTcsNyArNyw3IEBACiAKICMgSXQgYWxzbyBoYXMgc29tZSBoZWxwZXIgZnVuY3Rpb25zIGFuZCBpdCdzIHJlc3BvbnNpYmxlIGZvciBhY3R1YWxseSBzdGFydGluZyB0aGUgdGVzdHMKIAotaW1wb3J0IG9zLCByZSwgbW1hcCwgc3lzCitpbXBvcnQgb3MsIHJlLCBzeXMKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IGluc3BlY3QKIGltcG9ydCBzdWJwcm9jZXNzCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvcnVudGltZS9jYXNlcy9naS5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2dpLnB5CmluZGV4IDE5MDczZTUuLjdlMTY2NTEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2dpLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2dpLnB5CkBAIC05LDcgKzksNyBAQAogICAgIEBPRVRlc3REZXBlbmRzKFsic3NoLlNTSFRlc3QudGVzdF9zc2giXSkKICAgICBAT0VIYXNQYWNrYWdlKFsicHl0aG9uMy1weWdvYmplY3QiXSkKICAgICBkZWYgdGVzdF9weXRob24oc2VsZik6Ci0gICAgICAgIHNjcmlwdCA9ICIiImZyb20gZ2kucmVwb3NpdG9yeSBpbXBvcnQgR09iamVjdDsgcHJpbnQoR09iamVjdC5tYXJrdXBfZXNjYXBlX3RleHQoIjx0ZXN0aW5nJnRlc3Rpbmc+IikpIiIiCisgICAgICAgIHNjcmlwdCA9ICIiImZyb20gZ2kucmVwb3NpdG9yeSBpbXBvcnQgR0xpYjsgcHJpbnQoR0xpYi5tYXJrdXBfZXNjYXBlX3RleHQoIjx0ZXN0aW5nJnRlc3Rpbmc+IikpIiIiCiAgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCJweXRob24zIC1jICclcyciICUgc2NyaXB0KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgbXNnPSJQeXRob24gZmFpbGVkICglcykiICUgKG91dHB1dCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0cHV0LCAiJmx0O3Rlc3RpbmcmYW1wO3Rlc3RpbmcmZ3Q7IiwgbXNnPSJVbmV4cGVjdGVkIG91dHB1dCAoJXMpIiAlIG91dHB1dCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2dzdHJlYW1lci5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2dzdHJlYW1lci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjg2MzBlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvZ3N0cmVhbWVyLnB5CkBAIC0wLDAgKzEsMTQgQEAKK2Zyb20gb2VxYS5ydW50aW1lLmNhc2UgaW1wb3J0IE9FUnVudGltZVRlc3RDYXNlCitmcm9tIG9lcWEucnVudGltZS5kZWNvcmF0b3IucGFja2FnZSBpbXBvcnQgT0VIYXNQYWNrYWdlCisKK2NsYXNzIEdzdHJlYW1lckNsaVRlc3QoT0VSdW50aW1lVGVzdENhc2UpOgorCisgICAgQE9FSGFzUGFja2FnZShbJ2dzdHJlYW1lcjEuMCddKQorICAgIGRlZiB0ZXN0X2dzdF9pbnNwZWN0X2Nhbl9saXN0X2FsbF9wbHVnaW5zKHNlbGYpOgorICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bignZ3N0LWluc3BlY3QtMS4wJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsICdnc3QtaW5zcGVjdC0xLjAgZG9lcyBub3QgYXBwZWFyIHRvIGJlIHJ1bm5pbmcuJykKKworICAgIEBPRUhhc1BhY2thZ2UoWydnc3RyZWFtZXIxLjAnXSkKKyAgICBkZWYgdGVzdF9nc3RfbGF1bmNoX2Nhbl9jcmVhdGVfdmlkZW9fcGlwZWxpbmUoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdnc3QtbGF1bmNoLTEuMCAtdiBmYWtlc3JjIHNpbGVudD1mYWxzZSBudW0tYnVmZmVycz0zICEgZmFrZXNpbmsgc2lsZW50PWZhbHNlJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsICdnc3QtbGF1bmNoLTEuMCBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgcnVubmluZy4nKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMva3NhbXBsZS5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2tzYW1wbGUucHkKaW5kZXggMzU0Y2M5Ny4uZGUyMzY2YSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMva3NhbXBsZS5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvcnVudGltZS9jYXNlcy9rc2FtcGxlLnB5CkBAIC0yMiw2ICsyMiwxMiBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3VsdCwgbXNnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsIGNtZCkKIAorICAgIGRlZiBjaGVja19hcmNoKHNlbGYsIGFyY2hzZXQ9JycpOgorICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bigidW5hbWUgLW0iKQorICAgICAgICByZXN1bHQgPSAoIiVzIiAlIG91dHB1dCkgaW4gYXJjaHNldAorICAgICAgICBpZiBub3QgcmVzdWx0OgorICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgiVGhpcyBjYXNlIGRvZXNuJ3Qgc3VwcG9ydCAlcyIgJSBvdXRwdXQpCisKICAgICBkZWYgY2hlY2tfY29uZmlnKHNlbGYsIGNvbmZpZ19vcHQ9JycpOgogICAgICAgICBjbWQgPSAiemNhdCAvcHJvYy9jb25maWcuZ3ogfCBncmVwICVzIiAlIGNvbmZpZ19vcHQKICAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oY21kKQpAQCAtOTksNiArMTA1LDcgQEAKICAgICAjIGtwcm9iZQogICAgIEBPRVRlc3REZXBlbmRzKFsnc3NoLlNTSFRlc3QudGVzdF9zc2gnXSkKICAgICBkZWYgdGVzdF9rcHJvYmVfdGVzdChzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja19hcmNoKCJ4ODZfNjQgaTY4NiBwcGMiKQogICAgICAgICBpbmRleCA9IFsia3Byb2JlIiwgImtyZXRwcm9iZSJdCiAgICAgICAgIGZvciBpIGluIGluZGV4OgogICAgICAgICAgICAgc2VsZi5rcHJvYmVfZnVuYyhpKQpAQCAtMTY2LDkgKzE3Myw5IEBACiAgICAgZGVmIHRlc3RfaHdfYnJlYWtwb2ludF9leGFtcGxlKHNlbGYpOgogICAgICAgICAjIGNoZWNrIGFyY2gKICAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oInVuYW1lIC1tIikKLSAgICAgICAgcmVzdWx0ID0gKCJ4ODYiIGluIG91dHB1dCkgb3IgKCJhYXJjaDY0IiBpbiBvdXRwdXQpCisgICAgICAgIHJlc3VsdCA9ICgieDg2XzY0IiBpbiBvdXRwdXQpIG9yICgiYWFyY2g2NCIgaW4gb3V0cHV0KQogICAgICAgICBpZiBub3QgcmVzdWx0OgotICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgidGhlIGFyY2ggZG9lc24ndCBzdXBwb3J0IGh3IGJyZWFrcG9pbnQiICUgb3V0cHV0KQorICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgidGhlIGFyY2ggJXMgZG9lc24ndCBzdXBwb3J0IGh3IGJyZWFrcG9pbnQiICUgb3V0cHV0KQogICAgICAgICAjIGNoZWNrIGNvbmZpZwogICAgICAgICBzZWxmLmNoZWNrX2NvbmZpZygiQ09ORklHX0tBTExTWU1TX0FMTCIpCiAgICAgICAgICMgbWFrZSBzdXJlIGlmIG1vZHVsZSBleGlzdHMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3BhcnNlbG9ncy5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3BhcnNlbG9ncy5weQppbmRleCBmNmU5ODIwLi5iZWQ0YTAyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvcnVudGltZS9jYXNlcy9wYXJzZWxvZ3MucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvcGFyc2Vsb2dzLnB5CkBAIC02OSw2ICs2OSw4IEBACiAgICAgJ2FtZF9uYjogQ2Fubm90IGVudW1lcmF0ZSBBTUQgbm9ydGhicmlkZ2VzJywKICAgICAnZmFpbGVkIHRvIHJldHJpZXZlIGxpbmsgaW5mbywgZGlzYWJsaW5nIGVEUCcsCiAgICAgJ0RpcmVjdCBmaXJtd2FyZSBsb2FkIGZvciBpd2x3aWZpJywKKyAgICAnRGlyZWN0IGZpcm13YXJlIGxvYWQgZm9yIHJlZ3VsYXRvcnkuZGInLAorICAgICdmYWlsZWQgdG8gbG9hZCByZWd1bGF0b3J5LmRiJywKIF0gKyBjb21tb25fZXJyb3JzCiAKIHFlbXV4ODZfY29tbW9uID0gWwpAQCAtMTEzLDYgKzExNSw3IEBACiAgICAgICAgICdPRjogYW1iYV9kZXZpY2VfYWRkKCkgZmFpbGVkICgtMTkpIGZvciAvYW1iYS9zY3RsQDEwMWUwMDAwJywKICAgICAgICAgJ09GOiBhbWJhX2RldmljZV9hZGQoKSBmYWlsZWQgKC0xOSkgZm9yIC9hbWJhL3dhdGNoZG9nQDEwMWUxMDAwJywKICAgICAgICAgJ09GOiBhbWJhX2RldmljZV9hZGQoKSBmYWlsZWQgKC0xOSkgZm9yIC9hbWJhL3NjaUAxMDFmMDAwMCcsCisgICAgICAgICdPRjogYW1iYV9kZXZpY2VfYWRkKCkgZmFpbGVkICgtMTkpIGZvciAvYW1iYS9zcGlAMTAxZjQwMDAnLAogICAgICAgICAnT0Y6IGFtYmFfZGV2aWNlX2FkZCgpIGZhaWxlZCAoLTE5KSBmb3IgL2FtYmEvc3NwQDEwMWY0MDAwJywKICAgICAgICAgJ09GOiBhbWJhX2RldmljZV9hZGQoKSBmYWlsZWQgKC0xOSkgZm9yIC9hbWJhL2ZwZ2Evc2NpQGEwMDAnLAogICAgICAgICAnRmFpbGVkIHRvIGluaXRpYWxpemUgXCcvYW1iYS90aW1lckAxMDFlMzAwMFwnOiAtMjInLApAQCAtMTYxLDcgKzE2NCwyMyBAQAogICAgICAgICAnVGhlIGRyaXZlciBpcyBidWlsdC1pbiwgc28gdG8gbG9hZCB0aGUgZmlybXdhcmUgeW91IG5lZWQgdG8nLAogICAgICAgICBdICsgeDg2X2NvbW1vbiwKICAgICAnZWRnZXJvdXRlcicgOiBbCisgICAgICAgICdub3QgY3JlYXRpbmcgXCcvc3lzL2Zpcm13YXJlL2ZkdFwnJywKKyAgICAgICAgJ0ZhaWxlZCB0byBmaW5kIGNwdTAgZGV2aWNlIG5vZGUnLAogICAgICAgICAnRmF0YWwgc2VydmVyIGVycm9yOicsCisgICAgICAgICdTZXJ2ZXIgdGVybWluYXRlZCB3aXRoIGVycm9yJywKKyAgICAgICAgXSArIGNvbW1vbl9lcnJvcnMsCisgICAgJ2JlYWdsZWJvbmUteW9jdG8nIDogWworICAgICAgICAnRGlyZWN0IGZpcm13YXJlIGxvYWQgZm9yIHJlZ3VsYXRvcnkuZGInLAorICAgICAgICAnZmFpbGVkIHRvIGxvYWQgcmVndWxhdG9yeS5kYicsCisgICAgICAgICdsNF93a3VwX2NtJywKKyAgICAgICAgJ0ZhaWxlZCB0byBsb2FkIG1vZHVsZSAiZ2x4IicsCisgICAgICAgICdGYWlsZWQgdG8gbWFrZSBFR0wgY29udGV4dCBjdXJyZW50JywKKyAgICAgICAgJ2dsYW1vciBpbml0aWFsaXphdGlvbiBmYWlsZWQnLAorICAgICAgICBdICsgY29tbW9uX2Vycm9ycywKKyAgICAnbXBjODMxNWUtcmRiJyA6IFsKKyAgICAgICAgJ29mX2lycV9wYXJzZV9wY2k6IGZhaWxlZCB3aXRoJywKKyAgICAgICAgJ0ZhdGFsIHNlcnZlciBlcnJvcjonLAorICAgICAgICAnU2VydmVyIHRlcm1pbmF0ZWQgd2l0aCBlcnJvcicsCiAgICAgICAgIF0gKyBjb21tb25fZXJyb3JzLAogfQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvcnVudGltZS91dGlscy90YXJnZXRidWlsZHByb2plY3QucHkgYi9wb2t5L21ldGEvbGliL29lcWEvcnVudGltZS91dGlscy90YXJnZXRidWlsZHByb2plY3QucHkKaW5kZXggNWFmNTVkNy4uZGUxN2JhMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvdXRpbHMvdGFyZ2V0YnVpbGRwcm9qZWN0LnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL3V0aWxzL3RhcmdldGJ1aWxkcHJvamVjdC5weQpAQCAtNywxMCArNywxMiBAQAogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRhcmdldCwgdXJpLCBmb2xkZXJuYW1lPU5vbmUsIGRsX2Rpcj1Ob25lKToKICAgICAgICAgc2VsZi50YXJnZXQgPSB0YXJnZXQKLSAgICAgICAgc2VsZi50YXJnZXRkaXIgPSAifi8iCisgICAgICAgIHNlbGYudGFyZ2V0ZGlyID0gIn4vYnVpbGR0ZXN0LyIKICAgICAgICAgQnVpbGRQcm9qZWN0Ll9faW5pdF9fKHNlbGYsIHVyaSwgZm9sZGVybmFtZSwgZGxfZGlyPWRsX2RpcikKIAogICAgIGRlZiBkb3dubG9hZF9hcmNoaXZlKHNlbGYpOgorICAgICAgICBzZWxmLnRhcmdldC5ydW4oIm1rZGlyICIgKyBzZWxmLnRhcmdldGRpciArICIgfHwgdHJ1ZSIpCisKICAgICAgICAgc2VsZi5fZG93bmxvYWRfYXJjaGl2ZSgpCiAKICAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5jb3B5VG8oc2VsZi5sb2NhbGFyY2hpdmUsIHNlbGYudGFyZ2V0ZGlyKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlLnB5CmluZGV4IDk2M2FhOGQuLmQ4NjExYzggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZS5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2UucHkKQEAgLTEsNiArMSw3IEBACiAjIENvcHlyaWdodCAoQykgMjAxNiBJbnRlbCBDb3Jwb3JhdGlvbgogIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBDT1BZSU5HLk1JVCkKIAoraW1wb3J0IG9zCiBpbXBvcnQgc3VicHJvY2VzcwogCiBmcm9tIG9lcWEuY29yZS5jYXNlIGltcG9ydCBPRVRlc3RDYXNlCkBAIC0xMCwzICsxMSw0MSBAQAogICAgICAgICByZXR1cm4gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoIi4gJXMgPiAvZGV2L251bGw7ICVzOyIgJSBcCiAgICAgICAgICAgICAgICAgKHNlbGYudGMuc2RrX2VudiwgY21kKSwgc2hlbGw9VHJ1ZSwKICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQsIHVuaXZlcnNhbF9uZXdsaW5lcz1UcnVlKQorCisgICAgZGVmIGZldGNoKHNlbGYsIHdvcmtkaXIsIGRsX2RpciwgdXJsLCBhcmNoaXZlPU5vbmUpOgorICAgICAgICBpZiBub3QgYXJjaGl2ZToKKyAgICAgICAgICAgIGZyb20gdXJsbGliLnBhcnNlIGltcG9ydCB1cmxwYXJzZQorICAgICAgICAgICAgYXJjaGl2ZSA9IG9zLnBhdGguYmFzZW5hbWUodXJscGFyc2UodXJsKS5wYXRoKQorCisgICAgICAgIGlmIGRsX2RpcjoKKyAgICAgICAgICAgIHRhcmJhbGwgPSBvcy5wYXRoLmpvaW4oZGxfZGlyLCBhcmNoaXZlKQorICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHModGFyYmFsbCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHRhcmJhbGwKKworICAgICAgICB0YXJiYWxsID0gb3MucGF0aC5qb2luKHdvcmtkaXIsIGFyY2hpdmUpCisgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsid2dldCIsICItTyIsIHRhcmJhbGwsIHVybF0pCisgICAgICAgIHJldHVybiB0YXJiYWxsCisKKyAgICBkZWYgY2hlY2tfZWxmKHNlbGYsIHBhdGgsIHRhcmdldF9vcz1Ob25lLCB0YXJnZXRfYXJjaD1Ob25lKToKKyAgICAgICAgIiIiCisgICAgICAgIFZlcmlmeSB0aGF0IHRoZSBFTEYgYmluYXJ5ICRwYXRoIG1hdGNoZXMgdGhlIHNwZWNpZmllZCB0YXJnZXQKKyAgICAgICAgT1MvYXJjaGl0ZWN0dXJlLCBvciBpZiBub3Qgc3BlY2lmaWVkIHRoZSBjdXJyZW50bHkgY29uZmlndXJlZCBNQUNISU5FJ3MKKyAgICAgICAgT1MvYXJjaGl0ZWN0dXJlLgorICAgICAgICAiIiIKKyAgICAgICAgaW1wb3J0IG9lLnFhLCBvZS5lbGYKKworICAgICAgICBpZiBub3QgdGFyZ2V0X29zIG9yIG5vdCB0YXJnZXRfYXJjaDoKKyAgICAgICAgICAgIG91dHB1dCA9IHNlbGYuX3J1bigiZWNobyAkT0VDT1JFX1RBUkdFVF9PUzokT0VDT1JFX1RBUkdFVF9BUkNIIikKKyAgICAgICAgICAgIHRhcmdldF9vcywgdGFyZ2V0X2FyY2ggPSBvdXRwdXQuc3RyaXAoKS5zcGxpdCgiOiIpCisKKyAgICAgICAgbWFjaGluZV9kYXRhID0gb2UuZWxmLm1hY2hpbmVfZGljdChOb25lKVt0YXJnZXRfb3NdW3RhcmdldF9hcmNoXQorICAgICAgICAobWFjaGluZSwgb3NhYmksIGFiaXZlcnNpb24sIGVuZGlhbiwgYml0cykgPSBtYWNoaW5lX2RhdGEKKworICAgICAgICBlbGYgPSBvZS5xYS5FTEZGaWxlKHBhdGgpCisgICAgICAgIGVsZi5vcGVuKCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hY2hpbmUsIGVsZi5tYWNoaW5lKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgIkJpbmFyeSB3YXMgJXMgYnV0IGV4cGVjdGVkICVzIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgKG9lLnFhLmVsZl9tYWNoaW5lX3RvX3N0cmluZyhlbGYubWFjaGluZSgpKSwgb2UucWEuZWxmX21hY2hpbmVfdG9fc3RyaW5nKG1hY2hpbmUpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaXRzLCBlbGYuYWJpU2l6ZSgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVuZGlhbiwgZWxmLmlzTGl0dGxlRW5kaWFuKCkpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2Fzc2ltcC5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYXNzaW1wLnB5CmluZGV4IDI2YzFkZjAuLmE2MDAwMTAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYXNzaW1wLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYXNzaW1wLnB5CkBAIC0xLDUgKzEsNyBAQAotaW1wb3J0IG9zLCBzdWJwcm9jZXNzLCB1bml0dGVzdAotaW1wb3J0IGJiCitpbXBvcnQgb3MKK2ltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgdGVtcGZpbGUKK2ltcG9ydCB1bml0dGVzdAogZnJvbSBvZXFhLnNkay5jYXNlIGltcG9ydCBPRVNES1Rlc3RDYXNlCiAKIGZyb20gb2VxYS51dGlscy5zdWJwcm9jZXNzdHdlYWsgaW1wb3J0IGVycm9yc19oYXZlX291dHB1dApAQCAtMTAsNTQgKzEyLDI1IEBACiAgICAgVGVzdCBjYXNlIHRvIGJ1aWxkIGEgcHJvamVjdCB1c2luZyBjbWFrZS4KICAgICAiIiIKIAotICAgIHRkX3ZhcnMgPSBbJ0RBVEVUSU1FJywgJ1RBUkdFVF9PUycsICdUQVJHRVRfQVJDSCddCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgc2V0VXBDbGFzcyhzZWxmKToKKyAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIGlmIG5vdCAoc2VsZi50Yy5oYXNIb3N0UGFja2FnZSgibmF0aXZlc2RrLWNtYWtlIikgb3IKICAgICAgICAgICAgICAgICBzZWxmLnRjLmhhc0hvc3RQYWNrYWdlKCJjbWFrZS1uYXRpdmUiKSk6CiAgICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgiTmVlZHMgY21ha2UiKQogCi0gICAgZGVmIGZldGNoKHNlbGYsIHdvcmtkaXIsIGRsX2RpciwgdXJsLCBhcmNoaXZlPU5vbmUpOgotICAgICAgICBpZiBub3QgYXJjaGl2ZToKLSAgICAgICAgICAgIGZyb20gdXJsbGliLnBhcnNlIGltcG9ydCB1cmxwYXJzZQotICAgICAgICAgICAgYXJjaGl2ZSA9IG9zLnBhdGguYmFzZW5hbWUodXJscGFyc2UodXJsKS5wYXRoKQotCi0gICAgICAgIGlmIGRsX2RpcjoKLSAgICAgICAgICAgIHRhcmJhbGwgPSBvcy5wYXRoLmpvaW4oZGxfZGlyLCBhcmNoaXZlKQotICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHModGFyYmFsbCk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRhcmJhbGwKLQotICAgICAgICB0YXJiYWxsID0gb3MucGF0aC5qb2luKHdvcmtkaXIsIGFyY2hpdmUpCi0gICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsid2dldCIsICItTyIsIHRhcmJhbGwsIHVybF0pCi0gICAgICAgIHJldHVybiB0YXJiYWxsCi0KICAgICBkZWYgdGVzdF9hc3NpbXAoc2VsZik6Ci0gICAgICAgIGltcG9ydCB0ZW1wZmlsZQotICAgICAgICBpbXBvcnQgb2UucWEsIG9lLmVsZgotCiAgICAgICAgIHdpdGggdGVtcGZpbGUuVGVtcG9yYXJ5RGlyZWN0b3J5KHByZWZpeD0iYXNzaW1wIiwgZGlyPXNlbGYudGMuc2RrX2RpcikgYXMgdGVzdGRpcjoKLSAgICAgICAgICAgIGRsX2RpciA9IHNlbGYudGQuZ2V0KCdETF9ESVInLCBOb25lKQotICAgICAgICAgICAgdGFyYmFsbCA9IHNlbGYuZmV0Y2godGVzdGRpciwgZGxfZGlyLCAiaHR0cHM6Ly9naXRodWIuY29tL2Fzc2ltcC9hc3NpbXAvYXJjaGl2ZS92NC4xLjAudGFyLmd6IikKKyAgICAgICAgICAgIHRhcmJhbGwgPSBzZWxmLmZldGNoKHRlc3RkaXIsIHNlbGYudGRbIkRMX0RJUiJdLCAiaHR0cHM6Ly9naXRodWIuY29tL2Fzc2ltcC9hc3NpbXAvYXJjaGl2ZS92NC4xLjAudGFyLmd6IikKKworICAgICAgICAgICAgZGlycyA9IHt9CisgICAgICAgICAgICBkaXJzWyJzb3VyY2UiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiYXNzaW1wLTQuMS4wIikKKyAgICAgICAgICAgIGRpcnNbImJ1aWxkIl0gPSBvcy5wYXRoLmpvaW4odGVzdGRpciwgImJ1aWxkIikKKyAgICAgICAgICAgIGRpcnNbImluc3RhbGwiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiaW5zdGFsbCIpCisKICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsidGFyIiwgInhmIiwgdGFyYmFsbCwgIi1DIiwgdGVzdGRpcl0pCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2RpcihkaXJzWyJzb3VyY2UiXSkpCisgICAgICAgICAgICBvcy5tYWtlZGlycyhkaXJzWyJidWlsZCJdKQogCi0gICAgICAgICAgICBzb3VyY2VkaXIgPSBvcy5wYXRoLmpvaW4odGVzdGRpciwgImFzc2ltcC00LjEuMCIpIAotICAgICAgICAgICAgYnVpbGRkaXIgPSBvcy5wYXRoLmpvaW4odGVzdGRpciwgImJ1aWxkIikKLSAgICAgICAgICAgIGluc3RhbGxkaXIgPSBvcy5wYXRoLmpvaW4odGVzdGRpciwgImluc3RhbGwiKQotICAgICAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKGJ1aWxkZGlyKQotCi0gICAgICAgICAgICBzZWxmLl9ydW4oImNkICVzICYmIGNtYWtlIC1EQ01BS0VfVkVSQk9TRV9NQUtFRklMRTpCT09MPU9OICVzICIgJSAoYnVpbGRkaXIsIHNvdXJjZWRpcikpCi0gICAgICAgICAgICBzZWxmLl9ydW4oImNtYWtlIC0tYnVpbGQgJXMgLS0gLWoiICUgYnVpbGRkaXIpCi0gICAgICAgICAgICBzZWxmLl9ydW4oImNtYWtlIC0tYnVpbGQgJXMgLS10YXJnZXQgaW5zdGFsbCAtLSBERVNURElSPSVzIiAlIChidWlsZGRpciwgaW5zdGFsbGRpcikpCi0KLSAgICAgICAgICAgIGVsZiA9IG9lLnFhLkVMRkZpbGUob3MucGF0aC5qb2luKGluc3RhbGxkaXIsICJ1c3IiLCAibG9jYWwiLCAibGliIiwgImxpYmFzc2ltcC5zby40LjEuMCIpKQotICAgICAgICAgICAgZWxmLm9wZW4oKQotCi0gICAgICAgICAgICBvdXRwdXQgPSBzZWxmLl9ydW4oImVjaG8gJE9FQ09SRV9UQVJHRVRfT1M6JE9FQ09SRV9UQVJHRVRfQVJDSCIpCi0gICAgICAgICAgICB0YXJnZXRfb3MsIHRhcmdldF9hcmNoID0gb3V0cHV0LnN0cmlwKCkuc3BsaXQoIjoiKQotICAgICAgICAgICAgbWFjaGluZV9kYXRhID0gb2UuZWxmLm1hY2hpbmVfZGljdChOb25lKVt0YXJnZXRfb3NdW3RhcmdldF9hcmNoXQotICAgICAgICAgICAgKG1hY2hpbmUsIG9zYWJpLCBhYml2ZXJzaW9uLCBlbmRpYW4sIGJpdHMpID0gbWFjaGluZV9kYXRhCi0KLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFjaGluZSwgZWxmLm1hY2hpbmUoKSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYml0cywgZWxmLmFiaVNpemUoKSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZW5kaWFuLCBlbGYuaXNMaXR0bGVFbmRpYW4oKSkKKyAgICAgICAgICAgIHNlbGYuX3J1bigiY2Qge2J1aWxkfSAmJiBjbWFrZSAtRENNQUtFX1ZFUkJPU0VfTUFLRUZJTEU6Qk9PTD1PTiB7c291cmNlfSIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNtYWtlIC0tYnVpbGQge2J1aWxkfSAtLSAtaiIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNtYWtlIC0tYnVpbGQge2J1aWxkfSAtLXRhcmdldCBpbnN0YWxsIC0tIERFU1RESVI9e2luc3RhbGx9Ii5mb3JtYXQoKipkaXJzKSkKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfZWxmKG9zLnBhdGguam9pbihkaXJzWyJpbnN0YWxsIl0sICJ1c3IiLCAibG9jYWwiLCAibGliIiwgImxpYmFzc2ltcC5zby40LjEuMCIpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9idWlsZGNwaW8ucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkY3Bpby5weQppbmRleCAzMzNkYzdjLi45NTA0ZWU4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkY3Bpby5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkY3Bpby5weQpAQCAtMSwzMyArMSwzMSBAQAoraW1wb3J0IG9zCitpbXBvcnQgdGVtcGZpbGUKK2ltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgdW5pdHRlc3QKKwogZnJvbSBvZXFhLnNkay5jYXNlIGltcG9ydCBPRVNES1Rlc3RDYXNlCi1mcm9tIG9lcWEuc2RrLnV0aWxzLnNka2J1aWxkcHJvamVjdCBpbXBvcnQgU0RLQnVpbGRQcm9qZWN0Citmcm9tIG9lcWEudXRpbHMuc3VicHJvY2Vzc3R3ZWFrIGltcG9ydCBlcnJvcnNfaGF2ZV9vdXRwdXQKK2Vycm9yc19oYXZlX291dHB1dCgpCiAKIGNsYXNzIEJ1aWxkQ3Bpb1Rlc3QoT0VTREtUZXN0Q2FzZSk6Ci0gICAgdGRfdmFycyA9IFsnREFURVRJTUUnXQotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHNldFVwQ2xhc3Moc2VsZik6Ci0gICAgICAgIGRsX2RpciA9IHNlbGYudGQuZ2V0KCdETF9ESVInLCBOb25lKQotCi0gICAgICAgIHNlbGYucHJvamVjdCA9IFNES0J1aWxkUHJvamVjdChzZWxmLnRjLnNka19kaXIgKyAiL2NwaW8vIiwgc2VsZi50Yy5zZGtfZW52LAotICAgICAgICAgICAgICAgICAgICAgICAgImh0dHBzOi8vZnRwLmdudS5vcmcvZ251L2NwaW8vY3Bpby0yLjEyLnRhci5neiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRjLnNka19kaXIsIHNlbGYudGRbJ0RBVEVUSU1FJ10sIGRsX2Rpcj1kbF9kaXIpCi0gICAgICAgIHNlbGYucHJvamVjdC5kb3dubG9hZF9hcmNoaXZlKCkKLQotICAgICAgICBtYWNoaW5lID0gc2VsZi50ZC5nZXQoIk1BQ0hJTkUiKQotICAgICAgICBpZiBub3Qgc2VsZi50Yy5oYXNIb3N0UGFja2FnZSgicGFja2FnZWdyb3VwLWNyb3NzLWNhbmFkaWFuLSVzIiAlIG1hY2hpbmUpOgotICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoIlNESyBkb2Vzbid0IGNvbnRhaW4gYSBjcm9zcy1jYW5hZGlhbiB0b29sY2hhaW4iKQotCisgICAgIiIiCisgICAgQ2hlY2sgdGhhdCBhdXRvdG9vbHMgd2lsbCBjcm9zcy1jb21waWxlIGNvcnJlY3RseS4KKyAgICAiIiIKICAgICBkZWYgdGVzdF9jcGlvKHNlbGYpOgotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucHJvamVjdC5ydW5fY29uZmlndXJlKCksIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICBtc2c9IlJ1bm5pbmcgY29uZmlndXJlIGZhaWxlZCIpCisgICAgICAgIHdpdGggdGVtcGZpbGUuVGVtcG9yYXJ5RGlyZWN0b3J5KHByZWZpeD0iY3Bpby0iLCBkaXI9c2VsZi50Yy5zZGtfZGlyKSBhcyB0ZXN0ZGlyOgorICAgICAgICAgICAgdGFyYmFsbCA9IHNlbGYuZmV0Y2godGVzdGRpciwgc2VsZi50ZFsiRExfRElSIl0sICJodHRwczovL2Z0cC5nbnUub3JnL2dudS9jcGlvL2NwaW8tMi4xMi50YXIuZ3oiKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5wcm9qZWN0LnJ1bl9tYWtlKCksIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICBtc2c9IlJ1bm5pbmcgbWFrZSBmYWlsZWQiKQorICAgICAgICAgICAgZGlycyA9IHt9CisgICAgICAgICAgICBkaXJzWyJzb3VyY2UiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiY3Bpby0yLjEyIikKKyAgICAgICAgICAgIGRpcnNbImJ1aWxkIl0gPSBvcy5wYXRoLmpvaW4odGVzdGRpciwgImJ1aWxkIikKKyAgICAgICAgICAgIGRpcnNbImluc3RhbGwiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiaW5zdGFsbCIpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnByb2plY3QucnVuX2luc3RhbGwoKSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iUnVubmluZyBtYWtlIGluc3RhbGwgZmFpbGVkIikKKyAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsidGFyIiwgInhmIiwgdGFyYmFsbCwgIi1DIiwgdGVzdGRpcl0pCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2RpcihkaXJzWyJzb3VyY2UiXSkpCisgICAgICAgICAgICBvcy5tYWtlZGlycyhkaXJzWyJidWlsZCJdKQogCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHRlYXJEb3duQ2xhc3Moc2VsZik6Ci0gICAgICAgIHNlbGYucHJvamVjdC5jbGVhbigpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNkIHtidWlsZH0gJiYge3NvdXJjZX0vY29uZmlndXJlICRDT05GSUdVUkVfRkxBR1MiLmZvcm1hdCgqKmRpcnMpKQorICAgICAgICAgICAgc2VsZi5fcnVuKCJjZCB7YnVpbGR9ICYmIG1ha2UgLWoiLmZvcm1hdCgqKmRpcnMpKQorICAgICAgICAgICAgc2VsZi5fcnVuKCJjZCB7YnVpbGR9ICYmIG1ha2UgaW5zdGFsbCBERVNURElSPXtpbnN0YWxsfSIuZm9ybWF0KCoqZGlycykpCisKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfZWxmKG9zLnBhdGguam9pbihkaXJzWyJpbnN0YWxsIl0sICJ1c3IiLCAibG9jYWwiLCAiYmluIiwgImNwaW8iKSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYnVpbGRlcG94eS5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYnVpbGRlcG94eS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjI0YjRmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9idWlsZGVwb3h5LnB5CkBAIC0wLDAgKzEsMzUgQEAKK2ltcG9ydCBvcworaW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IHVuaXR0ZXN0CisKK2Zyb20gb2VxYS5zZGsuY2FzZSBpbXBvcnQgT0VTREtUZXN0Q2FzZQorZnJvbSBvZXFhLnV0aWxzLnN1YnByb2Nlc3N0d2VhayBpbXBvcnQgZXJyb3JzX2hhdmVfb3V0cHV0CitlcnJvcnNfaGF2ZV9vdXRwdXQoKQorCitjbGFzcyBFcG94eVRlc3QoT0VTREtUZXN0Q2FzZSk6CisgICAgIiIiCisgICAgVGVzdCB0aGF0IE1lc29uIGJ1aWxkcyBjb3JyZWN0bHkuCisgICAgIiIiCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBpZiBub3QgKHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoIm5hdGl2ZXNkay1tZXNvbiIpKToKKyAgICAgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJHYWxjdWxhdG9yVGVzdCBjbGFzczogU0RLIGRvZXNuJ3QgY29udGFpbiBNZXNvbiIpCisKKyAgICBkZWYgdGVzdF9lcG94eShzZWxmKToKKyAgICAgICAgd2l0aCB0ZW1wZmlsZS5UZW1wb3JhcnlEaXJlY3RvcnkocHJlZml4PSJlcG94eSIsIGRpcj1zZWxmLnRjLnNka19kaXIpIGFzIHRlc3RkaXI6CisgICAgICAgICAgICB0YXJiYWxsID0gc2VsZi5mZXRjaCh0ZXN0ZGlyLCBzZWxmLnRkWyJETF9ESVIiXSwgImh0dHBzOi8vZ2l0aHViLmNvbS9hbmhvbHQvbGliZXBveHkvcmVsZWFzZXMvZG93bmxvYWQvMS41LjMvbGliZXBveHktMS41LjMudGFyLnh6IikKKworICAgICAgICAgICAgZGlycyA9IHt9CisgICAgICAgICAgICBkaXJzWyJzb3VyY2UiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAibGliZXBveHktMS41LjMiKQorICAgICAgICAgICAgZGlyc1siYnVpbGQiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiYnVpbGQiKQorICAgICAgICAgICAgZGlyc1siaW5zdGFsbCJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJpbnN0YWxsIikKKworICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJ0YXIiLCAieGYiLCB0YXJiYWxsLCAiLUMiLCB0ZXN0ZGlyXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZGlyKGRpcnNbInNvdXJjZSJdKSkKKyAgICAgICAgICAgIG9zLm1ha2VkaXJzKGRpcnNbImJ1aWxkIl0pCisKKyAgICAgICAgICAgIHNlbGYuX3J1bigibWVzb24gLURlZ2w9bm8gLURnbHg9bm8gLUR4MTE9ZmFsc2Uge2J1aWxkfSB7c291cmNlfSIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oIm5pbmphIC1DIHtidWlsZH0gLXYiLmZvcm1hdCgqKmRpcnMpKQorICAgICAgICAgICAgc2VsZi5fcnVuKCJERVNURElSPXtpbnN0YWxsfSBuaW5qYSAtQyB7YnVpbGR9IC12IGluc3RhbGwiLmZvcm1hdCgqKmRpcnMpKQorCisgICAgICAgICAgICBzZWxmLmNoZWNrX2VsZihvcy5wYXRoLmpvaW4oZGlyc1siaW5zdGFsbCJdLCAidXNyIiwgImxvY2FsIiwgImxpYiIsICJsaWJlcG94eS5zbyIpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9idWlsZGdhbGN1bGF0b3IucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkZ2FsY3VsYXRvci5weQppbmRleCAwNTBkMWIzLi40N2Q3NTgwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkZ2FsY3VsYXRvci5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkZ2FsY3VsYXRvci5weQpAQCAtMSwxMyArMSwxNyBAQAoraW1wb3J0IG9zCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHRlbXBmaWxlCiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSBvZXFhLnNkay5jYXNlIGltcG9ydCBPRVNES1Rlc3RDYXNlCi1mcm9tIG9lcWEuc2RrLnV0aWxzLnNka2J1aWxkcHJvamVjdCBpbXBvcnQgU0RLQnVpbGRQcm9qZWN0Citmcm9tIG9lcWEudXRpbHMuc3VicHJvY2Vzc3R3ZWFrIGltcG9ydCBlcnJvcnNfaGF2ZV9vdXRwdXQKK2Vycm9yc19oYXZlX291dHB1dCgpCiAKIGNsYXNzIEdhbGN1bGF0b3JUZXN0KE9FU0RLVGVzdENhc2UpOgotICAgIHRkX3ZhcnMgPSBbJ0RBVEVUSU1FJ10KLQotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRVcENsYXNzKHNlbGYpOgorICAgICIiIgorICAgIFRlc3QgdGhhdCBhdXRvdG9vbHMgYW5kIEdUSysgMyBjb21waWxlcyBjb3JyZWN0bHkuCisgICAgIiIiCisgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBpZiBub3QgKHNlbGYudGMuaGFzVGFyZ2V0UGFja2FnZSgiZ3RrKzMiLCBtdWx0aWxpYj1UcnVlKSBvciBcCiAgICAgICAgICAgICAgICAgc2VsZi50Yy5oYXNUYXJnZXRQYWNrYWdlKCJsaWJndGstMy4wIiwgbXVsdGlsaWI9VHJ1ZSkpOgogICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoIkdhbGN1bGF0b3JUZXN0IGNsYXNzOiBTREsgZG9uJ3Qgc3VwcG9ydCBndGsrMyIpCkBAIC0xNSwyMyArMTksMjEgQEAKICAgICAgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJHYWxjdWxhdG9yVGVzdCBjbGFzczogU0RLIGRvZXNuJ3QgY29udGFpbiBnZXR0ZXh0IikKIAogICAgIGRlZiB0ZXN0X2dhbGN1bGF0b3Ioc2VsZik6Ci0gICAgICAgIGRsX2RpciA9IHNlbGYudGQuZ2V0KCdETF9ESVInLCBOb25lKQotICAgICAgICBwcm9qZWN0ID0gTm9uZQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBwcm9qZWN0ID0gU0RLQnVpbGRQcm9qZWN0KHNlbGYudGMuc2RrX2RpciArICIvZ2FsY3VsYXRvci8iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRjLnNka19lbnYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8vZ2FsY3VsYXRvci5tbmltLm9yZy9kb3dubG9hZHMvZ2FsY3VsYXRvci0yLjEuNC50YXIuYnoyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50Yy5zZGtfZGlyLCBzZWxmLnRkWydEQVRFVElNRSddLCBkbF9kaXI9ZGxfZGlyKQorICAgICAgICB3aXRoIHRlbXBmaWxlLlRlbXBvcmFyeURpcmVjdG9yeShwcmVmaXg9ImdhbGN1bGF0b3IiLCBkaXI9c2VsZi50Yy5zZGtfZGlyKSBhcyB0ZXN0ZGlyOgorICAgICAgICAgICAgdGFyYmFsbCA9IHNlbGYuZmV0Y2godGVzdGRpciwgc2VsZi50ZFsiRExfRElSIl0sICJodHRwOi8vZ2FsY3VsYXRvci5tbmltLm9yZy9kb3dubG9hZHMvZ2FsY3VsYXRvci0yLjEuNC50YXIuYnoyIikKIAotICAgICAgICAgICAgcHJvamVjdC5kb3dubG9hZF9hcmNoaXZlKCkKKyAgICAgICAgICAgIGRpcnMgPSB7fQorICAgICAgICAgICAgZGlyc1sic291cmNlIl0gPSBvcy5wYXRoLmpvaW4odGVzdGRpciwgImdhbGN1bGF0b3ItMi4xLjQiKQorICAgICAgICAgICAgZGlyc1siYnVpbGQiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiYnVpbGQiKQorICAgICAgICAgICAgZGlyc1siaW5zdGFsbCJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJpbnN0YWxsIikKIAotICAgICAgICAgICAgIyByZWdlbmVyYXRlIGNvbmZpZ3VyZSB0byBnZXQgc3VwcG9ydCBmb3IgLS13aXRoLWxpYnRvb2wtc3lzcm9vdAotICAgICAgICAgICAgbGVnYWN5X3ByZWNvbmY9KCJhdXRvcmVjb25mIC1pIC1mIC1JICR7T0VDT1JFX1RBUkdFVF9TWVNST09UfS91c3Ivc2hhcmUvYWNsb2NhbCAtSSBtNDsiKQorICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJ0YXIiLCAieGYiLCB0YXJiYWxsLCAiLUMiLCB0ZXN0ZGlyXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZGlyKGRpcnNbInNvdXJjZSJdKSkKKyAgICAgICAgICAgIG9zLm1ha2VkaXJzKGRpcnNbImJ1aWxkIl0pCiAKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHJvamVjdC5ydW5fY29uZmlndXJlKGV4dHJhX2NtZHM9bGVnYWN5X3ByZWNvbmYpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBtc2c9IlJ1bm5pbmcgY29uZmlndXJlIGZhaWxlZCIpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNkIHtzb3VyY2V9ICYmIGF1dG9yZWNvbmYgLWkgLWYgLUkgJE9FQ09SRV9UQVJHRVRfU1lTUk9PVC91c3Ivc2hhcmUvYWNsb2NhbCAtSSBtNCIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNkIHtidWlsZH0gJiYge3NvdXJjZX0vY29uZmlndXJlICRDT05GSUdVUkVfRkxBR1MiLmZvcm1hdCgqKmRpcnMpKQorICAgICAgICAgICAgc2VsZi5fcnVuKCJjZCB7YnVpbGR9ICYmIG1ha2UgLWoiLmZvcm1hdCgqKmRpcnMpKQorICAgICAgICAgICAgc2VsZi5fcnVuKCJjZCB7YnVpbGR9ICYmIG1ha2UgaW5zdGFsbCBERVNURElSPXtpbnN0YWxsfSIuZm9ybWF0KCoqZGlycykpCiAKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHJvamVjdC5ydW5fbWFrZSgpLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iUnVubmluZyBtYWtlIGZhaWxlZCIpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBwcm9qZWN0LmNsZWFuKCkKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfZWxmKG9zLnBhdGguam9pbihkaXJzWyJpbnN0YWxsIl0sICJ1c3IiLCAibG9jYWwiLCAiYmluIiwgImdhbGN1bGF0b3IiKSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYnVpbGRsemlwLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9idWlsZGx6aXAucHkKaW5kZXggYjI4Y2MzYS4uYjc0ODNiZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9idWlsZGx6aXAucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9idWlsZGx6aXAucHkKQEAgLTEsMzYgKzEsMzMgQEAKLWltcG9ydCB1bml0dGVzdAoraW1wb3J0IG9zLCB0ZW1wZmlsZSwgc3VicHJvY2VzcywgdW5pdHRlc3QKIGZyb20gb2VxYS5zZGsuY2FzZSBpbXBvcnQgT0VTREtUZXN0Q2FzZQotZnJvbSBvZXFhLnNkay51dGlscy5zZGtidWlsZHByb2plY3QgaW1wb3J0IFNES0J1aWxkUHJvamVjdAotCitmcm9tIG9lcWEudXRpbHMuc3VicHJvY2Vzc3R3ZWFrIGltcG9ydCBlcnJvcnNfaGF2ZV9vdXRwdXQKK2Vycm9yc19oYXZlX291dHB1dCgpCiAKIGNsYXNzIEJ1aWxkTHppcFRlc3QoT0VTREtUZXN0Q2FzZSk6Ci0gICAgdGRfdmFycyA9IFsnREFURVRJTUUnXQotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHNldFVwQ2xhc3Moc2VsZik6Ci0gICAgICAgIGRsX2RpciA9IHNlbGYudGQuZ2V0KCdETF9ESVInLCBOb25lKQotCi0gICAgICAgIHNlbGYucHJvamVjdCA9IFNES0J1aWxkUHJvamVjdChzZWxmLnRjLnNka19kaXIgKyAiL2x6aXAvIiwgc2VsZi50Yy5zZGtfZW52LAotICAgICAgICAgICAgICAgICAgICAgICAgImh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy9semlwLTEuMTkudGFyLmd6IiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGMuc2RrX2Rpciwgc2VsZi50ZFsnREFURVRJTUUnXSwgZGxfZGlyPWRsX2RpcikKLSAgICAgICAgc2VsZi5wcm9qZWN0LmRvd25sb2FkX2FyY2hpdmUoKQotCi0gICAgICAgIG1hY2hpbmUgPSBzZWxmLnRkLmdldCgiTUFDSElORSIpCi0KLSAgICAgICAgaWYgbm90IChzZWxmLnRjLmhhc0hvc3RQYWNrYWdlKCJwYWNrYWdlZ3JvdXAtY3Jvc3MtY2FuYWRpYW4tJXMiICUgbWFjaGluZSkgb3IKLSAgICAgICAgICAgICAgICBzZWxmLnRjLmhhc0hvc3RQYWNrYWdlKCJeZ2NjLSIsIHJlZ2V4PVRydWUpKToKLSAgICAgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJTREsgZG9lc24ndCBjb250YWluIGEgY3Jvc3MtY2FuYWRpYW4gdG9vbGNoYWluIikKLQorICAgICIiIgorICAgIFRlc3QgdGhhdCAicGxhaW4iIGNvbXBpbGF0aW9uIHdvcmtzLCB1c2luZyBqdXN0ICRDQyAkQ0ZMQUdTIGV0Yy4KKyAgICAiIiIKICAgICBkZWYgdGVzdF9semlwKHNlbGYpOgotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucHJvamVjdC5ydW5fY29uZmlndXJlKCksIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICBtc2c9IlJ1bm5pbmcgY29uZmlndXJlIGZhaWxlZCIpCisgICAgICAgIHdpdGggdGVtcGZpbGUuVGVtcG9yYXJ5RGlyZWN0b3J5KHByZWZpeD0ibHppcCIsIGRpcj1zZWxmLnRjLnNka19kaXIpIGFzIHRlc3RkaXI6CisgICAgICAgICAgICB0YXJiYWxsID0gc2VsZi5mZXRjaCh0ZXN0ZGlyLCBzZWxmLnRkWyJETF9ESVIiXSwgImh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy9semlwLTEuMTkudGFyLmd6IikKIAotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucHJvamVjdC5ydW5fbWFrZSgpLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSJSdW5uaW5nIG1ha2UgZmFpbGVkIikKKyAgICAgICAgICAgIGRpcnMgPSB7fQorICAgICAgICAgICAgZGlyc1sic291cmNlIl0gPSBvcy5wYXRoLmpvaW4odGVzdGRpciwgImx6aXAtMS4xOSIpCisgICAgICAgICAgICBkaXJzWyJidWlsZCJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJidWlsZCIpCisgICAgICAgICAgICBkaXJzWyJpbnN0YWxsIl0gPSBvcy5wYXRoLmpvaW4odGVzdGRpciwgImluc3RhbGwiKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5wcm9qZWN0LnJ1bl9pbnN0YWxsKCksIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICBtc2c9IlJ1bm5pbmcgbWFrZSBpbnN0YWxsIGZhaWxlZCIpCisgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbInRhciIsICJ4ZiIsIHRhcmJhbGwsICItQyIsIHRlc3RkaXJdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNkaXIoZGlyc1sic291cmNlIl0pKQorICAgICAgICAgICAgb3MubWFrZWRpcnMoZGlyc1siYnVpbGQiXSkKIAotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiB0ZWFyRG93bkNsYXNzKHNlbGYpOgotICAgICAgICBzZWxmLnByb2plY3QuY2xlYW4oKQorICAgICAgICAgICAgY21kID0gIiIiY2Qge2J1aWxkfSAmJiBcCisgICAgICAgICAgICAgICAgICAgICB7c291cmNlfS9jb25maWd1cmUgLS1zcmNkaXIge3NvdXJjZX0gXAorICAgICAgICAgICAgICAgICAgICAgQ1hYPSIkQ1hYIiBcCisgICAgICAgICAgICAgICAgICAgICBDUFBGTEFHUz0iJENQUEZMQUdTIiBcCisgICAgICAgICAgICAgICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIiBcCisgICAgICAgICAgICAgICAgICAgICBMREZMQUdTPSIkTERGTEFHUyIgXAorICAgICAgICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBzZWxmLl9ydW4oY21kLmZvcm1hdCgqKmRpcnMpKQorICAgICAgICAgICAgc2VsZi5fcnVuKCJjZCB7YnVpbGR9ICYmIG1ha2UgLWoiLmZvcm1hdCgqKmRpcnMpKQorICAgICAgICAgICAgc2VsZi5fcnVuKCJjZCB7YnVpbGR9ICYmIG1ha2UgaW5zdGFsbCBERVNURElSPXtpbnN0YWxsfSIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLmNoZWNrX2VsZihvcy5wYXRoLmpvaW4oZGlyc1siaW5zdGFsbCJdLCAidXNyIiwgImxvY2FsIiwgImJpbiIsICJsemlwIikpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2djYy5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvZ2NjLnB5CmluZGV4IGIzMmIwMWYuLjU0YzZmYzQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvZ2NjLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvZ2NjLnB5CkBAIC01LDYgKzUsOSBAQAogZnJvbSBvZXFhLmNvcmUudXRpbHMucGF0aCBpbXBvcnQgcmVtb3ZlX3NhZmUKIGZyb20gb2VxYS5zZGsuY2FzZSBpbXBvcnQgT0VTREtUZXN0Q2FzZQogCitmcm9tIG9lcWEudXRpbHMuc3VicHJvY2Vzc3R3ZWFrIGltcG9ydCBlcnJvcnNfaGF2ZV9vdXRwdXQKK2Vycm9yc19oYXZlX291dHB1dCgpCisKIGNsYXNzIEdjY0NvbXBpbGVUZXN0KE9FU0RLVGVzdENhc2UpOgogICAgIHRkX3ZhcnMgPSBbJ01BQ0hJTkUnXQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL3BlcmwucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL3BlcmwucHkKaW5kZXggZmY1MGI0Ni4uYjhhZGM1YSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9wZXJsLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvcGVybC5weQpAQCAtMSwxNyArMSwxNiBAQAogaW1wb3J0IHVuaXR0ZXN0CiBmcm9tIG9lcWEuc2RrLmNhc2UgaW1wb3J0IE9FU0RLVGVzdENhc2UKIAorZnJvbSBvZXFhLnV0aWxzLnN1YnByb2Nlc3N0d2VhayBpbXBvcnQgZXJyb3JzX2hhdmVfb3V0cHV0CitlcnJvcnNfaGF2ZV9vdXRwdXQoKQorCiBjbGFzcyBQZXJsVGVzdChPRVNES1Rlc3RDYXNlKToKLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgc2V0VXBDbGFzcyhzZWxmKToKKyAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIGlmIG5vdCAoc2VsZi50Yy5oYXNIb3N0UGFja2FnZSgibmF0aXZlc2RrLXBlcmwiKSBvcgogICAgICAgICAgICAgICAgIHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoInBlcmwtbmF0aXZlIikpOgogICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoIk5vIHBlcmwgcGFja2FnZSBpbiB0aGUgU0RLIikKIAogICAgIGRlZiB0ZXN0X3Blcmwoc2VsZik6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGNtZCA9ICJwZXJsIC1lICckXz1cIlVyeXliLCBqYmV5cVwiOyB0ci9hLXpBLVovbi16YS1tTi1aQS1NLztwcmludCciCi0gICAgICAgICAgICBvdXRwdXQgPSBzZWxmLl9ydW4oY21kKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXRwdXQsICJIZWxsbywgd29ybGQiKQotICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgiVW5leHBlY3RlZCBleGl0ICVkIChvdXRwdXQgJXMpIiAlIChlLnJldHVybmNvZGUsIGUub3V0cHV0KSkKKyAgICAgICAgY21kID0gInBlcmwgLWUgJyRfPVwiVXJ5eWIsIGpiZXlxXCI7IHRyL2EtekEtWi9uLXphLW1OLVpBLU0vO3ByaW50JyIKKyAgICAgICAgb3V0cHV0ID0gc2VsZi5fcnVuKGNtZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXRwdXQsICJIZWxsbywgd29ybGQiKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9weXRob24ucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL3B5dGhvbi5weQppbmRleCBiZDVmMWY2Li5iOTE3NGZhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL3B5dGhvbi5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL3B5dGhvbi5weQpAQCAtMSwxNyArMSwyNyBAQAogaW1wb3J0IHN1YnByb2Nlc3MsIHVuaXR0ZXN0CiBmcm9tIG9lcWEuc2RrLmNhc2UgaW1wb3J0IE9FU0RLVGVzdENhc2UKIAotY2xhc3MgUHl0aG9uVGVzdChPRVNES1Rlc3RDYXNlKToKLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgc2V0VXBDbGFzcyhzZWxmKToKLSAgICAgICAgaWYgbm90IChzZWxmLnRjLmhhc0hvc3RQYWNrYWdlKCJuYXRpdmVzZGstcHl0aG9uMyIpIG9yCi0gICAgICAgICAgICAgICAgc2VsZi50Yy5oYXNIb3N0UGFja2FnZSgicHl0aG9uMy1uYXRpdmUiKSk6Citmcm9tIG9lcWEudXRpbHMuc3VicHJvY2Vzc3R3ZWFrIGltcG9ydCBlcnJvcnNfaGF2ZV9vdXRwdXQKK2Vycm9yc19oYXZlX291dHB1dCgpCisKK2NsYXNzIFB5dGhvbjJUZXN0KE9FU0RLVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgaWYgbm90IChzZWxmLnRjLmhhc0hvc3RQYWNrYWdlKCJuYXRpdmVzZGstcHl0aG9uLWNvcmUiKSBvcgorICAgICAgICAgICAgICAgIHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoInB5dGhvbi1jb3JlLW5hdGl2ZSIpKToKICAgICAgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJObyBweXRob24gcGFja2FnZSBpbiB0aGUgU0RLIikKIAorICAgIGRlZiB0ZXN0X3B5dGhvbjIoc2VsZik6CisgICAgICAgIGNtZCA9ICJweXRob24gLWMgXCJpbXBvcnQgY29kZWNzOyBwcmludChjb2RlY3MuZW5jb2RlKCdVcnl5YiwgamJleXEnLCAncm90MTMnKSlcIiIKKyAgICAgICAgb3V0cHV0ID0gc2VsZi5fcnVuKGNtZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXRwdXQsICJIZWxsbywgd29ybGRcbiIpCisKK2NsYXNzIFB5dGhvbjNUZXN0KE9FU0RLVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgaWYgbm90IChzZWxmLnRjLmhhc0hvc3RQYWNrYWdlKCJuYXRpdmVzZGstcHl0aG9uMy1jb3JlIikgb3IKKyAgICAgICAgICAgICAgICBzZWxmLnRjLmhhc0hvc3RQYWNrYWdlKCJweXRob24zLWNvcmUtbmF0aXZlIikpOgorICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoIk5vIHB5dGhvbjMgcGFja2FnZSBpbiB0aGUgU0RLIikKKwogICAgIGRlZiB0ZXN0X3B5dGhvbjMoc2VsZik6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGNtZCA9ICJweXRob24zIC1jIFwiaW1wb3J0IGNvZGVjczsgcHJpbnQoY29kZWNzLmVuY29kZSgnVXJ5eWIsIGpiZXlxJywgJ3JvdDEzJykpXCIiCi0gICAgICAgICAgICBvdXRwdXQgPSBzZWxmLl9ydW4oY21kKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXRwdXQsICJIZWxsbywgd29ybGRcbiIpCi0gICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJVbmV4cGVjdGVkIGV4aXQgJWQgKG91dHB1dCAlcykiICUgKGUucmV0dXJuY29kZSwgZS5vdXRwdXQpKQorICAgICAgICBjbWQgPSAicHl0aG9uMyAtYyBcImltcG9ydCBjb2RlY3M7IHByaW50KGNvZGVjcy5lbmNvZGUoJ1VyeXliLCBqYmV5cScsICdyb3QxMycpKVwiIgorICAgICAgICBvdXRwdXQgPSBzZWxmLl9ydW4oY21kKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dHB1dCwgIkhlbGxvLCB3b3JsZFxuIikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGtleHQvY2FzZXMvZGV2dG9vbC5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGtleHQvY2FzZXMvZGV2dG9vbC5weQppbmRleCAwODYwZThkLi5kMzIyZjg2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2RrZXh0L2Nhc2VzL2RldnRvb2wucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nka2V4dC9jYXNlcy9kZXZ0b29sLnB5CkBAIC05LDYgKzksOSBAQAogZnJvbSBvZXFhLmNvcmUuZGVjb3JhdG9yLm9laWQgaW1wb3J0IE9FVGVzdElECiBmcm9tIG9lcWEudXRpbHMuaHR0cHNlcnZlciBpbXBvcnQgSFRUUFNlcnZpY2UKIAorZnJvbSBvZXFhLnV0aWxzLnN1YnByb2Nlc3N0d2VhayBpbXBvcnQgZXJyb3JzX2hhdmVfb3V0cHV0CitlcnJvcnNfaGF2ZV9vdXRwdXQoKQorCiBjbGFzcyBEZXZ0b29sVGVzdChPRVNES0V4dFRlc3RDYXNlKToKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgc2V0VXBDbGFzcyhjbHMpOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL2JidGVzdHMucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvYmJ0ZXN0cy5weQppbmRleCAwMDVmZGQwLi5jNTAzZTRlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvYmJ0ZXN0cy5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvYmJ0ZXN0cy5weQpAQCAtNDAsOCArNDAsOCBAQAogICAgIGRlZiB0ZXN0X2V2ZW50X2hhbmRsZXIoc2VsZik6CiAgICAgICAgIHNlbGYud3JpdGVfY29uZmlnKCJJTkhFUklUICs9IFwidGVzdF9ldmVudHNcIiIpCiAgICAgICAgIHJlc3VsdCA9IGJpdGJha2UoJ200LW5hdGl2ZScpCi0gICAgICAgIGZpbmRfYnVpbGRfc3RhcnRlZCA9IHJlLnNlYXJjaCgiTk9URTogVGVzdCBmb3IgYmJcLmV2ZW50XC5CdWlsZFN0YXJ0ZWQoXG4uKikqTk9URTogRXhlY3V0aW5nIFJ1blF1ZXVlIFRhc2tzIiwgcmVzdWx0Lm91dHB1dCkKLSAgICAgICAgZmluZF9idWlsZF9jb21wbGV0ZWQgPSByZS5zZWFyY2goIlRhc2tzIFN1bW1hcnk6LiooXG4uKikqTk9URTogVGVzdCBmb3IgYmJcLmV2ZW50XC5CdWlsZENvbXBsZXRlZCIsIHJlc3VsdC5vdXRwdXQpCisgICAgICAgIGZpbmRfYnVpbGRfc3RhcnRlZCA9IHJlLnNlYXJjaChyIk5PVEU6IFRlc3QgZm9yIGJiXC5ldmVudFwuQnVpbGRTdGFydGVkKFxuLiopKk5PVEU6IEV4ZWN1dGluZyBSdW5RdWV1ZSBUYXNrcyIsIHJlc3VsdC5vdXRwdXQpCisgICAgICAgIGZpbmRfYnVpbGRfY29tcGxldGVkID0gcmUuc2VhcmNoKHIiVGFza3MgU3VtbWFyeTouKihcbi4qKSpOT1RFOiBUZXN0IGZvciBiYlwuZXZlbnRcLkJ1aWxkQ29tcGxldGVkIiwgcmVzdWx0Lm91dHB1dCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZpbmRfYnVpbGRfc3RhcnRlZCwgbXNnID0gIk1hdGNoIGZhaWxlZCBpbjpcbiVzIiAgJSByZXN1bHQub3V0cHV0KQogICAgICAgICBzZWxmLmFzc2VydFRydWUoZmluZF9idWlsZF9jb21wbGV0ZWQsIG1zZyA9ICJNYXRjaCBmYWlsZWQgaW46XG4lcyIgJSByZXN1bHQub3V0cHV0KQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKCdUZXN0IGZvciBiYi5ldmVudC5JbnZhbGlkRXZlbnQnIGluIHJlc3VsdC5vdXRwdXQsIG1zZyA9ICJcIlRlc3QgZm9yIGJiLmV2ZW50LkludmFsaWRFdmVudFwiIG1lc3NhZ2UgZm91bmQgZHVyaW5nIGJpdGJha2UgcHJvY2Vzcy4gYml0YmFrZSBvdXRwdXQ6ICVzIiAlIHJlc3VsdC5vdXRwdXQpCkBAIC0xOTYsNyArMTk2LDcgQEAKICAgICBAT0VUZXN0SUQoMTAzMSkKICAgICBkZWYgdGVzdF92ZXJzaW9uKHNlbGYpOgogICAgICAgICByZXN1bHQgPSBydW5DbWQoJ2JpdGJha2UgLXMgfCBncmVwIHdnZXQnKQotICAgICAgICBmaW5kID0gcmUuc2VhcmNoKCJ3Z2V0ICo6KFswLTlhLXpBLVpcLlwtXSspIiwgcmVzdWx0Lm91dHB1dCkKKyAgICAgICAgZmluZCA9IHJlLnNlYXJjaChyIndnZXQgKjooWzAtOWEtekEtWlwuXC1dKykiLCByZXN1bHQub3V0cHV0KQogICAgICAgICBzZWxmLmFzc2VydFRydWUoZmluZCwgIk5vIHZlcnNpb24gcmV0dXJuZWQgZm9yIHNlYXJjaGVkIHJlY2lwZS4gYml0YmFrZSBvdXRwdXQ6ICVzIiAlIHJlc3VsdC5vdXRwdXQpCiAKICAgICBAT0VUZXN0SUQoMTAzMikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9idWlsZG9wdGlvbnMucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvYnVpbGRvcHRpb25zLnB5CmluZGV4IGYyMzRiYWMuLjZhMThlYjggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9idWlsZG9wdGlvbnMucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL2J1aWxkb3B0aW9ucy5weQpAQCAtMzcsMTMgKzM3LDEzIEBACiAgICAgICAgIHAgPSBiYl92YXJzWydTWVNST09UX0RFU1RESVInXSArIGJiX3ZhcnNbJ2JpbmRpciddICsgIi8iICsgImNjYWNoZSIKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNmaWxlKHApLCBtc2cgPSAiTm8gY2NhY2hlIGZvdW5kICglcykiICUgcCkKICAgICAgICAgc2VsZi53cml0ZV9jb25maWcoJ0lOSEVSSVQgKz0gImNjYWNoZSInKQotICAgICAgICBzZWxmLmFkZF9jb21tYW5kX3RvX3RlYXJEb3duKCdiaXRiYWtlIC1jIGNsZWFuIG00JykKLSAgICAgICAgYml0YmFrZSgibTQgLWMgY2xlYW4iKQotICAgICAgICBiaXRiYWtlKCJtNCAtZiAtYyBjb21waWxlIikKLSAgICAgICAgbG9nX2NvbXBpbGUgPSBvcy5wYXRoLmpvaW4oZ2V0X2JiX3ZhcigiV09SS0RJUiIsIm00IiksICJ0ZW1wL2xvZy5kb19jb21waWxlIikKKyAgICAgICAgc2VsZi5hZGRfY29tbWFuZF90b190ZWFyRG93bignYml0YmFrZSAtYyBjbGVhbiBtNC1uYXRpdmUnKQorICAgICAgICBiaXRiYWtlKCJtNC1uYXRpdmUgLWMgY2xlYW4iKQorICAgICAgICBiaXRiYWtlKCJtNC1uYXRpdmUgLWYgLWMgY29tcGlsZSIpCisgICAgICAgIGxvZ19jb21waWxlID0gb3MucGF0aC5qb2luKGdldF9iYl92YXIoIldPUktESVIiLCJtNC1uYXRpdmUiKSwgInRlbXAvbG9nLmRvX2NvbXBpbGUiKQogICAgICAgICB3aXRoIG9wZW4obG9nX2NvbXBpbGUsICJyIikgYXMgZjoKICAgICAgICAgICAgIGxvZ2xpbmVzID0gIiIuam9pbihmLnJlYWRsaW5lcygpKQotICAgICAgICBzZWxmLmFzc2VydEluKCJjY2FjaGUiLCBsb2dsaW5lcywgbXNnPSJObyBtYXRjaCBmb3IgY2NhY2hlIGluIG00IGxvZy5kb19jb21waWxlLiBGb3IgZnVydGhlciBkZXRhaWxzOiAlcyIgJSBsb2dfY29tcGlsZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigiY2NhY2hlIiwgbG9nbGluZXMsIG1zZz0iTm8gbWF0Y2ggZm9yIGNjYWNoZSBpbiBtNC1uYXRpdmUgbG9nLmRvX2NvbXBpbGUuIEZvciBmdXJ0aGVyIGRldGFpbHM6ICVzIiAlIGxvZ19jb21waWxlKQogCiAgICAgQE9FVGVzdElEKDE0MzUpCiAgICAgZGVmIHRlc3RfcmVhZF9vbmx5X2ltYWdlKHNlbGYpOgpAQCAtMTg3LDYgKzE4Nyw4IEBACiBCQl9BTExPV0VEX05FVFdPUktTID0gImRvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnIgogTUlSUk9SUyA9ICIiCiBETF9ESVIgPSAiJHtUTVBESVJ9L3Rlc3RfZG93bmxvYWRzIgorU1RBTVBTX0RJUiA9ICIke1RNUERJUn0vdGVzdF9zdGFtcHMiCitTU1RBVEVfRElSID0gIiR7VE1QRElSfS90ZXN0X3NzdGF0ZS1jYWNoZSIKIFBSRU1JUlJPUlMgPSAiXFwKICAgICBienI6Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXFxuIFxcCiAgICAgY3ZzOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxcbiBcXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL2RldnRvb2wucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvZGV2dG9vbC5weQppbmRleCA5ZWI5YmFkLi41OGYzZTU4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvZGV2dG9vbC5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvZGV2dG9vbC5weQpAQCAtMTI5MSw3ICsxMjkxLDcgQEAKICAgICAgICAgICAgIGluc3RhbGxkaXIgPSBiYl92YXJzWydEJ10KICAgICAgICAgICAgIGZha2Vyb290ZW52ID0gYmJfdmFyc1snRkFLRVJPT1RFTlYnXQogICAgICAgICAgICAgZmFrZXJvb3RjbWQgPSBiYl92YXJzWydGQUtFUk9PVENNRCddCi0gICAgICAgICAgICByZXN1bHQgPSBydW5DbWQoJyVzICVzIGZpbmQgLiAtdHlwZSBmIC1leGVjIGxzIC1sIHt9IFw7JyAlIChmYWtlcm9vdGVudiwgZmFrZXJvb3RjbWQpLCBjd2Q9aW5zdGFsbGRpcikKKyAgICAgICAgICAgIHJlc3VsdCA9IHJ1bkNtZCgnJXMgJXMgZmluZCAuIC10eXBlIGYgLWV4ZWMgbHMgLWwge30gXFw7JyAlIChmYWtlcm9vdGVudiwgZmFrZXJvb3RjbWQpLCBjd2Q9aW5zdGFsbGRpcikKICAgICAgICAgICAgIGZpbGVsaXN0MSA9IHNlbGYuX3Byb2Nlc3NfbHNfb3V0cHV0KHJlc3VsdC5vdXRwdXQpCiAKICAgICAgICAgICAgICMgTm93IGxvb2sgb24gdGhlIHRhcmdldApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL2Rpc3Ryb2RhdGEucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvZGlzdHJvZGF0YS5weQppbmRleCBlN2I1ZTM0Li4wYjQ1NDcxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvZGlzdHJvZGF0YS5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvZGlzdHJvZGF0YS5weQpAQCAtNCwxNyArNCwxMCBAQAogZnJvbSBvZXFhLnV0aWxzLmZ0b29scyBpbXBvcnQgd3JpdGVfZmlsZQogZnJvbSBvZXFhLmNvcmUuZGVjb3JhdG9yLm9laWQgaW1wb3J0IE9FVGVzdElECiAKK2ltcG9ydCBvZS5yZWNpcGV1dGlscworCiBjbGFzcyBEaXN0cm9kYXRhKE9FU2VsZnRlc3RUZXN0Q2FzZSk6CiAKLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgc2V0VXBDbGFzcyhjbHMpOgotICAgICAgICBzdXBlcihEaXN0cm9kYXRhLCBjbHMpLnNldFVwQ2xhc3MoKQotICAgICAgICBmZWF0dXJlID0gJ0lOSEVSSVQgKz0gImRpc3Ryb2RhdGEiXG4nCi0gICAgICAgIGZlYXR1cmUgKz0gJ0xJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUICs9ICIgY29tbWVyY2lhbCJcbicKLQotICAgICAgICBjbHMud3JpdGVfY29uZmlnKGNscywgZmVhdHVyZSkKLSAgICAgICAgYml0YmFrZSgnLWMgY2hlY2twa2cgd29ybGQnKQotCiAgICAgQE9FVGVzdElEKDE5MDIpCiAgICAgZGVmIHRlc3RfY2hlY2twa2coc2VsZik6CiAgICAgICAgICIiIgpAQCAtMjMsOSArMTYsMTMgQEAKICAgICAgICAgUHJvZHVjdDogICAgIG9lLWNvcmUKICAgICAgICAgQXV0aG9yOiAgICAgIEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogICAgICAgICAiIiIKLSAgICAgICAgY2hlY2twa2dfcmVzdWx0ID0gb3Blbihvcy5wYXRoLmpvaW4oZ2V0X2JiX3ZhcigiTE9HX0RJUiIpLCAiY2hlY2twa2cuY3N2IikpLnJlYWRsaW5lcygpWzE6XQotICAgICAgICByZWdyZXNzZWRfZmFpbHVyZXMgPSBbcGtnX2RhdGFbMF0gZm9yIHBrZ19kYXRhIGluIFtwa2dfbGluZS5zcGxpdCgnXHQnKSBmb3IgcGtnX2xpbmUgaW4gY2hlY2twa2dfcmVzdWx0XSBpZiBwa2dfZGF0YVsxMV0gPT0gJ1VOS05PV05fQlJPS0VOJ10KLSAgICAgICAgcmVncmVzc2VkX3N1Y2Nlc3NlcyA9IFtwa2dfZGF0YVswXSBmb3IgcGtnX2RhdGEgaW4gW3BrZ19saW5lLnNwbGl0KCdcdCcpIGZvciBwa2dfbGluZSBpbiBjaGVja3BrZ19yZXN1bHRdIGlmIHBrZ19kYXRhWzExXSA9PSAnS05PV05fQlJPS0VOJ10KKyAgICAgICAgZmVhdHVyZSA9ICdMSUNFTlNFX0ZMQUdTX1dISVRFTElTVCArPSAiIGNvbW1lcmNpYWwiXG4nCisgICAgICAgIHNlbGYud3JpdGVfY29uZmlnKGZlYXR1cmUpCisKKyAgICAgICAgcGtncyA9IG9lLnJlY2lwZXV0aWxzLmdldF9yZWNpcGVfdXBncmFkZV9zdGF0dXMoKQorCisgICAgICAgIHJlZ3Jlc3NlZF9mYWlsdXJlcyA9IFtwa2dbMF0gZm9yIHBrZyBpbiBwa2dzIGlmIHBrZ1sxXSA9PSAnVU5LTk9XTl9CUk9LRU4nXQorICAgICAgICByZWdyZXNzZWRfc3VjY2Vzc2VzID0gW3BrZ1swXSBmb3IgcGtnIGluIHBrZ3MgaWYgcGtnWzFdID09ICdLTk9XTl9CUk9LRU4nXQogICAgICAgICBtc2cgPSAiIgogICAgICAgICBpZiBsZW4ocmVncmVzc2VkX2ZhaWx1cmVzKSA+IDA6CiAgICAgICAgICAgICBtc2cgPSBtc2cgKyAiIiIKQEAgLTU1LDQ1ICs1MiwzNiBAQAogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCi0gICAgICAgIGRlZiBpc19pbl9vZV9jb3JlKHJlY2lwZSwgcmVjaXBlcyk6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocmVjaXBlIGluIHJlY2lwZXMua2V5cygpLCAiUmVjaXBlICVzIHdhcyBub3QgaW4gJ2JpdGJha2UtbGF5ZXJzIHNob3ctcmVjaXBlcycgb3V0cHV0IiAlKHJlY2lwZSkpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobGVuKHJlY2lwZXNbcmVjaXBlXSkgPiAwLCAiJ2JpdGJha2UtbGF5ZXJzIHNob3ctcmVjaXBlcycgY291bGQgbm90IGRldGVybWluZSB3aGF0IGxheWVyKHMpIGEgcmVjaXBlICVzIGlzIGluIiAlKHJlY2lwZSkpCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgcmVjaXBlc1tyZWNpcGVdLmluZGV4KCdtZXRhJykKLSAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIGZlYXR1cmUgPSAncmVxdWlyZSBjb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluY1xuJworICAgICAgICBzZWxmLndyaXRlX2NvbmZpZyhmZWF0dXJlKQogCi0gICAgICAgIGRlZiBnZXRfcmVjaXBlX2xheWVycygpOgotICAgICAgICAgICAgaW1wb3J0IHJlCisgICAgICAgIHdpdGggYmIudGluZm9pbC5UaW5mb2lsKCkgYXMgdGluZm9pbDoKKyAgICAgICAgICAgIHRpbmZvaWwucHJlcGFyZShjb25maWdfb25seT1GYWxzZSkKIAotICAgICAgICAgICAgcmVjaXBlcyA9IHt9Ci0gICAgICAgICAgICByZWNpcGVfcmVnZXggPSByZS5jb21waWxlKCdeKD9QPG5hbWU+LiopOiQnKQotICAgICAgICAgICAgbGF5ZXJfcmVnZXggPSByZS5jb21waWxlKCdeICAoP1A8bmFtZT5cUyopICsnKQotICAgICAgICAgICAgb3V0cHV0ID0gcnVuQ21kKCdiaXRiYWtlLWxheWVycyBzaG93LXJlY2lwZXMnKS5vdXRwdXQKLSAgICAgICAgICAgIGZvciBsaW5lIGluIG91dHB1dC5zcGxpdCgnXG4nKToKLSAgICAgICAgICAgICAgICByZWNpcGVfbmFtZV9vYmogPSByZWNpcGVfcmVnZXguc2VhcmNoKGxpbmUpCi0gICAgICAgICAgICAgICAgaWYgcmVjaXBlX25hbWVfb2JqOgotICAgICAgICAgICAgICAgICAgICByZWNpcGVfbmFtZSA9IHJlY2lwZV9uYW1lX29iai5ncm91cCgnbmFtZScpCi0gICAgICAgICAgICAgICAgICAgIHJlY2lwZXNbcmVjaXBlX25hbWVdID0gW10KLSAgICAgICAgICAgICAgICByZWNpcGVfbGF5ZXJfb2JqID0gbGF5ZXJfcmVnZXguc2VhcmNoKGxpbmUpCi0gICAgICAgICAgICAgICAgaWYgcmVjaXBlX2xheWVyX29iajoKLSAgICAgICAgICAgICAgICAgICAgbGF5ZXJfbmFtZSA9IHJlY2lwZV9sYXllcl9vYmouZ3JvdXAoJ25hbWUnKQotICAgICAgICAgICAgICAgICAgICByZWNpcGVzW3JlY2lwZV9uYW1lXS5hcHBlbmQobGF5ZXJfbmFtZSkKLSAgICAgICAgICAgIHJldHVybiByZWNpcGVzCisgICAgICAgICAgICB3aXRoX21haW50YWluZXJfbGlzdCA9IFtdCisgICAgICAgICAgICBub19tYWludGFpbmVyX2xpc3QgPSBbXQorICAgICAgICAgICAgIyBXZSBjb3VsZCBoYXZlIHVzZWQgYWxsX3JlY2lwZXMoKSBoZXJlLCBidXQgdGhpcyBtZXRob2Qgd2lsbCBmaW5kCisgICAgICAgICAgICAjIGV2ZXJ5IHJlY2lwZSBpZiB3ZSBldmVyIG1vdmUgdG8gc2V0dGluZyBSRUNJUEVfTUFJTlRBSU5FUiBpbiByZWNpcGUgZmlsZXMKKyAgICAgICAgICAgICMgaW5zdGVhZCBvZiBtYWludGFpbmVycy5pbmMKKyAgICAgICAgICAgIGZvciBmbiBpbiB0aW5mb2lsLmFsbF9yZWNpcGVfZmlsZXModmFyaWFudHM9RmFsc2UpOgorICAgICAgICAgICAgICAgIGlmIG5vdCAnL21ldGEvcmVjaXBlcy0nIGluIGZuOgorICAgICAgICAgICAgICAgICAgICAjIFdlIGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gT0UtQ29yZQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIHJkID0gdGluZm9pbC5wYXJzZV9yZWNpcGVfZmlsZShmbiwgYXBwZW5kcz1GYWxzZSkKKyAgICAgICAgICAgICAgICBwbiA9IHJkLmdldFZhcignUE4nKQorICAgICAgICAgICAgICAgIGlmIGlzX2V4Y2VwdGlvbihwbik6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgaWYgcmQuZ2V0VmFyKCdSRUNJUEVfTUFJTlRBSU5FUicpOgorICAgICAgICAgICAgICAgICAgICB3aXRoX21haW50YWluZXJfbGlzdC5hcHBlbmQoKHBuLCBmbikpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgbm9fbWFpbnRhaW5lcl9saXN0LmFwcGVuZCgocG4sIGZuKSkKIAotICAgICAgICBjaGVja3BrZ19yZXN1bHQgPSBvcGVuKG9zLnBhdGguam9pbihnZXRfYmJfdmFyKCJMT0dfRElSIiksICJjaGVja3BrZy5jc3YiKSkucmVhZGxpbmVzKClbMTpdCi0gICAgICAgIHJlY2lwZXNfbGF5ZXJzID0gZ2V0X3JlY2lwZV9sYXllcnMoKQotICAgICAgICBub19tYWludGFpbmVyX2xpc3QgPSBbcGtnX2RhdGFbMF0gZm9yIHBrZ19kYXRhIGluIFtwa2dfbGluZS5zcGxpdCgnXHQnKSBmb3IgcGtnX2xpbmUgaW4gY2hlY2twa2dfcmVzdWx0XSBcCi0gICAgICAgICAgICBpZiBwa2dfZGF0YVsxNF0gPT0gJycgYW5kIGlzX2luX29lX2NvcmUocGtnX2RhdGFbMF0sIHJlY2lwZXNfbGF5ZXJzKSBhbmQgbm90IGlzX2V4Y2VwdGlvbihwa2dfZGF0YVswXSldCi0gICAgICAgIG1zZyA9ICIiIgotVGhlIGZvbGxvd2luZyBwYWNrYWdlcyBkbyBub3QgaGF2ZSBhIG1haW50YWluZXIgYXNzaWduZWQgdG8gdGhlbS4gUGxlYXNlIGFkZCBhbiBlbnRyeSB0byBtZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jIGZpbGUuCi0iIiIgKyAiXG4iLmpvaW4obm9fbWFpbnRhaW5lcl9saXN0KQotICAgICAgICBzZWxmLmFzc2VydFRydWUobGVuKG5vX21haW50YWluZXJfbGlzdCkgPT0gMCwgbXNnKQorICAgICAgICBpZiBub19tYWludGFpbmVyX2xpc3Q6CisgICAgICAgICAgICBzZWxmLmZhaWwoIiIiCitUaGUgZm9sbG93aW5nIHJlY2lwZXMgZG8gbm90IGhhdmUgYSBtYWludGFpbmVyIGFzc2lnbmVkIHRvIHRoZW0uIFBsZWFzZSBhZGQgYW4gZW50cnkgdG8gbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYyBmaWxlLgorIiIiICsgIlxuIi5qb2luKFsnJXMgKCVzKScgJSBpIGZvciBpIGluIG5vX21haW50YWluZXJfbGlzdF0pKQogCi0gICAgICAgIHdpdGhfbWFpbnRhaW5lcl9saXN0ID0gW3BrZ19kYXRhWzBdIGZvciBwa2dfZGF0YSBpbiBbcGtnX2xpbmUuc3BsaXQoJ1x0JykgZm9yIHBrZ19saW5lIGluIGNoZWNrcGtnX3Jlc3VsdF0gXAotICAgICAgICAgICAgaWYgcGtnX2RhdGFbMTRdICE9ICcnIGFuZCBpc19pbl9vZV9jb3JlKHBrZ19kYXRhWzBdLCByZWNpcGVzX2xheWVycykgYW5kIG5vdCBpc19leGNlcHRpb24ocGtnX2RhdGFbMF0pXQotICAgICAgICBtc2cgPSAiIiIKLVRoZSBsaXN0IG9mIG9lLWNvcmUgcGFja2FnZXMgd2l0aCBtYWludGFpbmVycyBpcyBlbXB0eS4gVGhpcyBtYXkgaW5kaWNhdGUgdGhhdCB0aGUgdGVzdCBoYXMgcmVncmVzc2VkIGFuZCBuZWVkcyBmaXhpbmcuCi0iIiIKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGxlbih3aXRoX21haW50YWluZXJfbGlzdCkgPiAwLCBtc2cpCisgICAgICAgIGlmIG5vdCB3aXRoX21haW50YWluZXJfbGlzdDoKKyAgICAgICAgICAgIHNlbGYuZmFpbCgiIiIKK1RoZSBsaXN0IG9mIG9lLWNvcmUgcmVjaXBlcyB3aXRoIG1haW50YWluZXJzIGlzIGVtcHR5LiBUaGlzIG1heSBpbmRpY2F0ZSB0aGF0IHRoZSB0ZXN0IGhhcyByZWdyZXNzZWQgYW5kIG5lZWRzIGZpeGluZy4KKyIiIikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9pbWFnZWZlYXR1cmVzLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL2ltYWdlZmVhdHVyZXMucHkKaW5kZXggOGM5NTQzMi4uYWVkNjNlNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL2ltYWdlZmVhdHVyZXMucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL2ltYWdlZmVhdHVyZXMucHkKQEAgLTIzNiwzICsyMzYsMjkgQEAKICIiIgogICAgICAgICBzZWxmLndyaXRlX2NvbmZpZyhjb25maWcpCiAgICAgICAgIGJpdGJha2UoImNvcmUtaW1hZ2UtYmFzZSIpCisKKyAgICBkZWYgdGVzdF9ub19idXN5Ym94X2Jhc2VfdXRpbHMoc2VsZik6CisgICAgICAgIGNvbmZpZyA9ICIiIgorIyBFbmFibGUgeDExCitESVNUUk9fRkVBVFVSRVNfYXBwZW5kICs9ICJ4MTEiCisKKyMgU3dpdGNoIHRvIHN5c3RlbWQKK0RJU1RST19GRUFUVVJFUyArPSAic3lzdGVtZCIKK1ZJUlRVQUwtUlVOVElNRV9pbml0X21hbmFnZXIgPSAic3lzdGVtZCIKK1ZJUlRVQUwtUlVOVElNRV9pbml0c2NyaXB0cyA9ICIiCitWSVJUVUFMLVJVTlRJTUVfc3lzbG9nID0gIiIKK1ZJUlRVQUwtUlVOVElNRV9sb2dpbl9tYW5hZ2VyID0gInNoYWRvdy1iYXNlIgorRElTVFJPX0ZFQVRVUkVTX0JBQ0tGSUxMX0NPTlNJREVSRUQgPSAic3lzdmluaXQiCisKKyMgUmVwbGFjZSBidXN5Ym94CitQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9iYXNlLXV0aWxzID0gInBhY2thZ2Vncm91cC1jb3JlLWJhc2UtdXRpbHMiCitWSVJUVUFMLVJVTlRJTUVfYmFzZS11dGlscyA9ICJwYWNrYWdlZ3JvdXAtY29yZS1iYXNlLXV0aWxzIgorVklSVFVBTC1SVU5USU1FX2Jhc2UtdXRpbHMtaHdjbG9jayA9ICJ1dGlsLWxpbnV4LWh3Y2xvY2siCitWSVJUVUFMLVJVTlRJTUVfYmFzZS11dGlscy1zeXNsb2cgPSAiIgorCisjIEJsYWNrbGlzdCBidXN5Ym94CitQTkJMQUNLTElTVFtidXN5Ym94XSA9ICJEb24ndCBidWlsZCB0aGlzIgorIiIiCisgICAgICAgIHNlbGYud3JpdGVfY29uZmlnKGNvbmZpZykKKworICAgICAgICBiaXRiYWtlKCItLWdyYXBodml6IGNvcmUtaW1hZ2Utc2F0byIpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvbXVsdGljb25maWcucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvbXVsdGljb25maWcucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2MzNmY2ZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9tdWx0aWNvbmZpZy5weQpAQCAtMCwwICsxLDQzIEBACitpbXBvcnQgb3MKK2Zyb20gb2VxYS5zZWxmdGVzdC5jYXNlIGltcG9ydCBPRVNlbGZ0ZXN0VGVzdENhc2UKK2Zyb20gb2VxYS51dGlscy5jb21tYW5kcyBpbXBvcnQgYml0YmFrZQoraW1wb3J0IG9lcWEudXRpbHMuZnRvb2xzIGFzIGZ0b29scworCitjbGFzcyBNdWx0aUNvbmZpZyhPRVNlbGZ0ZXN0VGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfbXVsdGljb25maWcoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBUZXN0IHRoYXQgYSBzaW1wbGUgbXVsdGljb25maWcgYnVpbGQgd29ya3MuIFRoaXMgdXNlcyB0aGUgbWNleHRlbmQgY2xhc3MgYW5kIHRoZSAKKyAgICAgICAgbXVsdGljb25maWctaW1hZ2UtcGFja2FnZXIgdGVzdCByZWNpcGUgdG8gYnVpbGQgYSBjb3JlLWltYWdlLWZ1bGwtY21kbGluZSBpbWFnZSB3aGljaCAKKyAgICAgICAgY29udGFpbnMgYSB0aW55IGNvcmUtaW1hZ2UtbWluaW1hbCBhbmQgYSBtdXNsIGNvcmUtaW1hZ2UtbWluaW1hbCwgaW5zdGFsbGVkIGFzIHBhY2thZ2VzLgorICAgICAgICAiIiIKKworICAgICAgICBjb25maWcgPSAiIiIKK0lNQUdFX0lOU1RBTExfYXBwZW5kX3BuLWNvcmUtaW1hZ2UtZnVsbC1jbWRsaW5lID0gIiBtdWx0aWNvbmZpZy1pbWFnZS1wYWNrYWdlci10aW55IG11bHRpY29uZmlnLWltYWdlLXBhY2thZ2VyLW11c2wiCitCQk1VTFRJQ09ORklHID0gInRpbnkgbXVzbCIKKyIiIgorICAgICAgICBzZWxmLndyaXRlX2NvbmZpZyhjb25maWcpCisKKyAgICAgICAgbXVzbGNvbmZpZyA9ICIiIgorTUFDSElORSA9ICJxZW11eDg2LTY0IgorRElTVFJPID0gInBva3kiCitUQ0xJQkMgPSAibXVzbCIKK1RNUERJUiA9ICIke1RPUERJUn0vdG1wLW1jLW11c2wiCisiIiIKKworICAgICAgICB0aW55Y29uZmlnID0gIiIiCitNQUNISU5FID0gInFlbXV4ODYiCitESVNUUk8gPSAicG9reS10aW55IgorVE1QRElSID0gIiR7VE9QRElSfS90bXAtbWMtdGlueSIKKyIiIgorCisgICAgICAgIG11bHRpY29uZmlnZGlyID0gc2VsZi5idWlsZGRpciArICIvY29uZi9tdWx0aWNvbmZpZyIKKyAgICAgICAgb3MubWFrZWRpcnMobXVsdGljb25maWdkaXIsIGV4aXN0X29rPVRydWUpCisgICAgICAgIHNlbGYudHJhY2tfZm9yX2NsZWFudXAobXVsdGljb25maWdkaXIgKyAiL211c2wuY29uZiIpCisgICAgICAgIGZ0b29scy53cml0ZV9maWxlKG11bHRpY29uZmlnZGlyICsgIi9tdXNsLmNvbmYiLCBtdXNsY29uZmlnKQorICAgICAgICBzZWxmLnRyYWNrX2Zvcl9jbGVhbnVwKG11bHRpY29uZmlnZGlyICsgIi90aW55LmNvbmYiKQorICAgICAgICBmdG9vbHMud3JpdGVfZmlsZShtdWx0aWNvbmZpZ2RpciArICIvdGlueS5jb25mIiwgdGlueWNvbmZpZykKKworICAgICAgICAjIEJ1aWxkIGEgY29yZS1pbWFnZS1taW5pbWFsCisgICAgICAgIGJpdGJha2UoJ2NvcmUtaW1hZ2UtZnVsbC1jbWRsaW5lJykKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3BhY2thZ2UucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcGFja2FnZS5weQppbmRleCAwYTg4ZGMyLi42NTk2ZGFiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcGFja2FnZS5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcGFja2FnZS5weQpAQCAtMTM3LDcgKzEzNyw3IEBACiAgICAgICAgICAgICAgICAgZWxpZiAiQnJlYWtwb2ludCAxLCBtYWluICgpIGF0IGhlbGxvLmM6NCIgaW4gbDoKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKIAotICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IoIkdEQiByZXN1bHQ6XG4lczogJXMiICUgb3V0cHV0KQorICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IoIkdEQiByZXN1bHQ6XG4lZDogJXMiLCBzdGF0dXMsIG91dHB1dCkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgICAgIHdpdGggcnVucWVtdSgnY29yZS1pbWFnZS1taW5pbWFsJykgYXMgcWVtdToKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9wa2dkYXRhLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3BrZ2RhdGEucHkKaW5kZXggMGI0Y2FmMS4uYWEwNWY0MCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3BrZ2RhdGEucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3BrZ2RhdGEucHkKQEAgLTEzLDYgKzEzLDcgQEAKICAgICAgICAgc3VwZXIoT2VQa2dkYXRhVXRpbFRlc3RzLCBjbHMpLnNldFVwQ2xhc3MoKQogICAgICAgICAjIEVuc3VyZSB3ZSBoYXZlIHRoZSByaWdodCBkYXRhIGluIHBrZ2RhdGEKICAgICAgICAgY2xzLmxvZ2dlci5pbmZvKCdSdW5uaW5nIGJpdGJha2UgdG8gZ2VuZXJhdGUgcGtnZGF0YScpCisgICAgICAgIGJpdGJha2UoJ3RhcmdldC1zZGstcHJvdmlkZXMtZHVtbXkgLWMgY2xlYW4nKQogICAgICAgICBiaXRiYWtlKCdidXN5Ym94IHpsaWIgbTQnKQogCiAgICAgQE9FVGVzdElEKDEyMDMpCkBAIC04Miw3ICs4Myw3IEBACiAgICAgICAgICAgICBwa2dsaXN0LnJlbW92ZSgnemxpYi1wdGVzdCcpICMgaW4gY2FzZSBwdGVzdCBpcyBkaXNhYmxlZAogICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwa2dsaXN0LCBbJ3psaWInLCAnemxpYi1kYmcnLCAnemxpYi1kZXYnLCAnemxpYi1kb2MnLCAnemxpYi1zdGF0aWNkZXYnXSwgIlBhY2thZ2VzIGxpc3RlZCBhZnRlciByZW1vdmU6ICVzIiAlIHJlc3VsdC5vdXRwdXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGtnbGlzdCwgWyd6bGliJywgJ3psaWItZGJnJywgJ3psaWItZGV2JywgJ3psaWItZG9jJywgJ3psaWItc3JjJywgJ3psaWItc3RhdGljZGV2J10sICJQYWNrYWdlcyBsaXN0ZWQgYWZ0ZXIgcmVtb3ZlOiAlcyIgJSByZXN1bHQub3V0cHV0KQogICAgICAgICAjIFdpdGggcmVjaXBlIHNwZWNpZmllZCwgcnVudGltZQogICAgICAgICByZXN1bHQgPSBydW5DbWQoJ29lLXBrZ2RhdGEtdXRpbCBsaXN0LXBrZ3MgLXAgemxpYiAtcicpCiAgICAgICAgIHBrZ2xpc3QgPSBzb3J0ZWQocmVzdWx0Lm91dHB1dC5zcGxpdCgpKQpAQCAtOTAsNyArOTEsNyBAQAogICAgICAgICAgICAgcGtnbGlzdC5yZW1vdmUoJ2xpYnotcHRlc3QnKSAjIGluIGNhc2UgcHRlc3QgaXMgZGlzYWJsZWQKICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICBwYXNzCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGtnbGlzdCwgWydsaWJ6LWRiZycsICdsaWJ6LWRldicsICdsaWJ6LWRvYycsICdsaWJ6LXN0YXRpY2RldicsICdsaWJ6MSddLCAiUGFja2FnZXMgbGlzdGVkIGFmdGVyIHJlbW92ZTogJXMiICUgcmVzdWx0Lm91dHB1dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwa2dsaXN0LCBbJ2xpYnotZGJnJywgJ2xpYnotZGV2JywgJ2xpYnotZG9jJywgJ2xpYnotc3JjJywgJ2xpYnotc3RhdGljZGV2JywgJ2xpYnoxJ10sICJQYWNrYWdlcyBsaXN0ZWQgYWZ0ZXIgcmVtb3ZlOiAlcyIgJSByZXN1bHQub3V0cHV0KQogICAgICAgICAjIFdpdGggcmVjaXBlIHNwZWNpZmllZCBhbmQgdW5wYWNrYWdlZAogICAgICAgICByZXN1bHQgPSBydW5DbWQoJ29lLXBrZ2RhdGEtdXRpbCBsaXN0LXBrZ3MgLXAgemxpYiAtdScpCiAgICAgICAgIHBrZ2xpc3QgPSBzb3J0ZWQocmVzdWx0Lm91dHB1dC5zcGxpdCgpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3Byc2VydmljZS5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9wcnNlcnZpY2UucHkKaW5kZXggNDc5ZTUyMC4uNzk2YWQ0ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3Byc2VydmljZS5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcHJzZXJ2aWNlLnB5CkBAIC0xOSw3ICsxOSw3IEBACiAgICAgZGVmIGdldF9wcl92ZXJzaW9uKHNlbGYsIHBhY2thZ2VfbmFtZSk6CiAgICAgICAgIHBhY2thZ2VfZGF0YV9maWxlID0gb3MucGF0aC5qb2luKHNlbGYucGtnZGF0YV9kaXIsICdydW50aW1lJywgcGFja2FnZV9uYW1lKQogICAgICAgICBwYWNrYWdlX2RhdGEgPSBmdG9vbHMucmVhZF9maWxlKHBhY2thZ2VfZGF0YV9maWxlKQotICAgICAgICBmaW5kX3ByID0gcmUuc2VhcmNoKCJQS0dSOiByWzAtOV0rXC4oWzAtOV0rKSIsIHBhY2thZ2VfZGF0YSkKKyAgICAgICAgZmluZF9wciA9IHJlLnNlYXJjaChyIlBLR1I6IHJbMC05XStcLihbMC05XSspIiwgcGFja2FnZV9kYXRhKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoZmluZF9wciwgIk5vIFBLRyByZXZpc2lvbiBmb3VuZCBpbiAlcyIgJSBwYWNrYWdlX2RhdGFfZmlsZSkKICAgICAgICAgcmV0dXJuIGludChmaW5kX3ByLmdyb3VwKDEpKQogCkBAIC0yOSw3ICsyOSw3IEBACiAgICAgICAgIHBhY2thZ2Vfc3RhbXBzX3BhdGggPSAiLyIuam9pbihzdGFtcGRhdGFbOi0xXSkKICAgICAgICAgc3RhbXBzID0gW10KICAgICAgICAgZm9yIHN0YW1wIGluIG9zLmxpc3RkaXIocGFja2FnZV9zdGFtcHNfcGF0aCk6Ci0gICAgICAgICAgICBmaW5kX3N0YW1wID0gcmUubWF0Y2goIiVzXC4lc1wuKFthLXowLTldezMyfSkiICUgKHJlLmVzY2FwZShwcmVmaXgpLCByZWNpcGVfdGFzayksIHN0YW1wKQorICAgICAgICAgICAgZmluZF9zdGFtcCA9IHJlLm1hdGNoKHIiJXNcLiVzXC4oW2EtejAtOV17MzJ9KSIgJSAocmUuZXNjYXBlKHByZWZpeCksIHJlY2lwZV90YXNrKSwgc3RhbXApCiAgICAgICAgICAgICBpZiBmaW5kX3N0YW1wOgogICAgICAgICAgICAgICAgIHN0YW1wcy5hcHBlbmQoZmluZF9zdGFtcC5ncm91cCgxKSkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShsZW4oc3RhbXBzKSA9PSAwLCBtc2c9IkNvdW5kIG5vdCBmaW5kIHN0YW1wIGZvciB0YXNrICVzIGZvciByZWNpcGUgJXMiICUgKHJlY2lwZV90YXNrLCBwYWNrYWdlX25hbWUpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3JlY2lwZXV0aWxzLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3JlY2lwZXV0aWxzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkMmY1NTgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcmVjaXBldXRpbHMucHkKQEAgLTAsMCArMSwxMzcgQEAKK2ltcG9ydCBvcworaW1wb3J0IHJlCitpbXBvcnQgdGltZQoraW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBiYi50aW5mb2lsCisKK2Zyb20gb2VxYS5zZWxmdGVzdC5jYXNlIGltcG9ydCBPRVNlbGZ0ZXN0VGVzdENhc2UKK2Zyb20gb2VxYS51dGlscy5jb21tYW5kcyBpbXBvcnQgcnVuQ21kLCBnZXRfdGVzdF9sYXllcgorZnJvbSBvZXFhLmNvcmUuZGVjb3JhdG9yLm9laWQgaW1wb3J0IE9FVGVzdElECisKKworZGVmIHNldFVwTW9kdWxlKCk6CisgICAgZ2xvYmFsIHRpbmZvaWwKKyAgICBnbG9iYWwgbWV0YXNlbGZ0ZXN0cGF0aAorICAgIG1ldGFzZWxmdGVzdHBhdGggPSBnZXRfdGVzdF9sYXllcigpCisgICAgdGluZm9pbCA9IGJiLnRpbmZvaWwuVGluZm9pbCh0cmFja2luZz1UcnVlKQorICAgIHRpbmZvaWwucHJlcGFyZShjb25maWdfb25seT1GYWxzZSwgcXVpZXQ9MikKKworCitkZWYgdGVhckRvd25Nb2R1bGUoKToKKyAgICB0aW5mb2lsLnNodXRkb3duKCkKKworCitjbGFzcyBSZWNpcGVVdGlsc1Rlc3RzKE9FU2VsZnRlc3RUZXN0Q2FzZSk6CisgICAgIiIiIFRlc3RzIGZvciB0aGUgcmVjaXBldXRpbHMgbW9kdWxlIGZ1bmN0aW9ucyAiIiIKKworICAgIGRlZiB0ZXN0X3BhdGNoX3JlY2lwZV92YXJmbGFnKHNlbGYpOgorICAgICAgICBpbXBvcnQgb2UucmVjaXBldXRpbHMKKyAgICAgICAgcmQgPSB0aW5mb2lsLnBhcnNlX3JlY2lwZSgncHl0aG9uMy1hc3luYy10ZXN0JykKKyAgICAgICAgdmFscyA9IHsnU1JDX1VSSVttZDVzdW1dJzogJ2FhYWFhYScsICdMSUNFTlNFJzogJ3NvbWV0aGluZyd9CisgICAgICAgIHBhdGNoZXMgPSBvZS5yZWNpcGV1dGlscy5wYXRjaF9yZWNpcGUocmQsIHJkLmdldFZhcignRklMRScpLCB2YWxzLCBwYXRjaD1UcnVlLCByZWxwYXRoPW1ldGFzZWxmdGVzdHBhdGgpCisKKyAgICAgICAgZXhwZWN0ZWRfcGF0Y2ggPSAiIiIKKy0tLSBhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1hc3luYy10ZXN0LmluYworKysrIGIvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWFzeW5jLXRlc3QuaW5jCitAQCAtMSwxNCArMSwxNCBAQAorIFNVTU1BUlkgPSAiUHl0aG9uIGZyYW1ld29yayB0byBwcm9jZXNzIGludGVyZGVwZW5kZW50IHRhc2tzIGluIGEgcG9vbCBvZiB3b3JrZXJzIgorIEhPTUVQQUdFID0gImh0dHA6Ly9naXRodWIuY29tL2dpdHB5dGhvbi1kZXZlbG9wZXJzL2FzeW5jIgorIFNFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorLUxJQ0VOU0UgPSAiQlNEIgorK0xJQ0VOU0UgPSAic29tZXRoaW5nIgorIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO2JlZ2lubGluZT04O2VuZGxpbmU9ODttZDU9ODhkZjhlNzhiOWVkZmQ3NDQ5NTM4NjIxNzlmMmQxNGUiCisgCisgaW5oZXJpdCBweXBpCisgCisgUFlQSV9QQUNLQUdFID0gImFzeW5jIgorIAorLVNSQ19VUklbbWQ1c3VtXSA9ICI5YjA2YjU5OTdkZTIxNTRmM2JjMDI3M2Y4MGJjZWY2YiIKKytTUkNfVVJJW21kNXN1bV0gPSAiYWFhYWFhIgorIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJhYzY4OTRkODc2ZTQ1ODc4ZmFhZTQ5M2IwY2Y2MWQwZTI4ZWM0MTczMzQ0NDhhYzBhNmVhMjIyOWQ4MzQzMDUxIgorIAorIFJERVBFTkRTXyR7UE59ICs9ICIke1BZVEhPTl9QTn0tdGhyZWFkaW5nIgorIiIiCisgICAgICAgIHBhdGNobGluZXMgPSBbXQorICAgICAgICBmb3IgZiBpbiBwYXRjaGVzOgorICAgICAgICAgICAgZm9yIGxpbmUgaW4gZjoKKyAgICAgICAgICAgICAgICBwYXRjaGxpbmVzLmFwcGVuZChsaW5lKQorICAgICAgICBzZWxmLm1heERpZmYgPSBOb25lCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycuam9pbihwYXRjaGxpbmVzKS5zdHJpcCgpLCBleHBlY3RlZF9wYXRjaC5zdHJpcCgpKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaF9yZWNpcGVfc2luZ2xlYXBwZW5kKHNlbGYpOgorICAgICAgICBpbXBvcnQgb2UucmVjaXBldXRpbHMKKyAgICAgICAgcmQgPSB0aW5mb2lsLnBhcnNlX3JlY2lwZSgncmVjaXBldXRpbHMtdGVzdCcpCisgICAgICAgIHZhbCA9IHJkLmdldFZhcignU1JDX1VSSScsIEZhbHNlKS5zcGxpdCgpCisgICAgICAgIGRlbCB2YWxbMV0KKyAgICAgICAgdmFsID0gJyAnLmpvaW4odmFsKQorICAgICAgICB2YWxzID0geydTUkNfVVJJJzogdmFsfQorICAgICAgICBwYXRjaGVzID0gb2UucmVjaXBldXRpbHMucGF0Y2hfcmVjaXBlKHJkLCByZC5nZXRWYXIoJ0ZJTEUnKSwgdmFscywgcGF0Y2g9VHJ1ZSwgcmVscGF0aD1tZXRhc2VsZnRlc3RwYXRoKQorCisgICAgICAgIGV4cGVjdGVkX3BhdGNoID0gIiIiCistLS0gYS9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdF8xLjIuYmIKKysrKyBiL3JlY2lwZXMtdGVzdC9yZWNpcGV1dGlscy9yZWNpcGV1dGlscy10ZXN0XzEuMi5iYgorQEAgLTgsNiArOCw0IEBACisgCisgQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorIAorLVNSQ19VUkkgKz0gImZpbGU6Ly9zb21lZmlsZSIKKy0KKyBTUkNfVVJJX2FwcGVuZCA9ICIgZmlsZTovL2Fub3RoZXJmaWxlIgorIiIiCisgICAgICAgIHBhdGNobGluZXMgPSBbXQorICAgICAgICBmb3IgZiBpbiBwYXRjaGVzOgorICAgICAgICAgICAgZm9yIGxpbmUgaW4gZjoKKyAgICAgICAgICAgICAgICBwYXRjaGxpbmVzLmFwcGVuZChsaW5lKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcnLmpvaW4ocGF0Y2hsaW5lcykuc3RyaXAoKSwgZXhwZWN0ZWRfcGF0Y2guc3RyaXAoKSkKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfcmVjaXBlX2FwcGVuZHMoc2VsZik6CisgICAgICAgIGltcG9ydCBvZS5yZWNpcGV1dGlscworICAgICAgICByZCA9IHRpbmZvaWwucGFyc2VfcmVjaXBlKCdyZWNpcGV1dGlscy10ZXN0JykKKyAgICAgICAgdmFsID0gcmQuZ2V0VmFyKCdTUkNfVVJJJywgRmFsc2UpLnNwbGl0KCkKKyAgICAgICAgdmFscyA9IHsnU1JDX1VSSSc6IHZhbFswXX0KKyAgICAgICAgcGF0Y2hlcyA9IG9lLnJlY2lwZXV0aWxzLnBhdGNoX3JlY2lwZShyZCwgcmQuZ2V0VmFyKCdGSUxFJyksIHZhbHMsIHBhdGNoPVRydWUsIHJlbHBhdGg9bWV0YXNlbGZ0ZXN0cGF0aCkKKworICAgICAgICBleHBlY3RlZF9wYXRjaCA9ICIiIgorLS0tIGEvcmVjaXBlcy10ZXN0L3JlY2lwZXV0aWxzL3JlY2lwZXV0aWxzLXRlc3RfMS4yLmJiCisrKysgYi9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdF8xLjIuYmIKK0BAIC04LDYgKzgsMyBAQAorIAorIEJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKyAKKy1TUkNfVVJJICs9ICJmaWxlOi8vc29tZWZpbGUiCistCistU1JDX1VSSV9hcHBlbmQgPSAiIGZpbGU6Ly9hbm90aGVyZmlsZSIKKyIiIgorICAgICAgICBwYXRjaGxpbmVzID0gW10KKyAgICAgICAgZm9yIGYgaW4gcGF0Y2hlczoKKyAgICAgICAgICAgIGZvciBsaW5lIGluIGY6CisgICAgICAgICAgICAgICAgcGF0Y2hsaW5lcy5hcHBlbmQobGluZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJy5qb2luKHBhdGNobGluZXMpLnN0cmlwKCksIGV4cGVjdGVkX3BhdGNoLnN0cmlwKCkpCisKKworICAgIGRlZiB0ZXN0X3ZhbGlkYXRlX3BuKHNlbGYpOgorICAgICAgICBpbXBvcnQgb2UucmVjaXBldXRpbHMKKyAgICAgICAgZXhwZWN0ZWRfcmVzdWx0cyA9IHsKKyAgICAgICAgICAgICd0ZXN0JzogJycsCisgICAgICAgICAgICAnZ2xpYi0yLjAnOiAnJywKKyAgICAgICAgICAgICdndGsrJzogJycsCisgICAgICAgICAgICAnZm9yY2V2YXJpYWJsZSc6ICdyZXNlcnZlZCcsCisgICAgICAgICAgICAncG4tc29tZXRoaW5nJzogJ3Jlc2VydmVkJywKKyAgICAgICAgICAgICd0ZXN0LmJiJzogJ2ZpbGUnLAorICAgICAgICAgICAgJ3Rlc3Rfb25lJzogJ2NoYXJhY3RlcicsCisgICAgICAgICAgICAndGVzdCEnOiAnY2hhcmFjdGVyJywKKyAgICAgICAgfQorCisgICAgICAgIGZvciBwbiwgZXhwZWN0ZWQgaW4gZXhwZWN0ZWRfcmVzdWx0cy5pdGVtcygpOgorICAgICAgICAgICAgcmVzdWx0ID0gb2UucmVjaXBldXRpbHMudmFsaWRhdGVfcG4ocG4pCisgICAgICAgICAgICBpZiBleHBlY3RlZDoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGV4cGVjdGVkLCByZXN1bHQpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LCAnJykKKworICAgIGRlZiB0ZXN0X3NwbGl0X3Zhcl92YWx1ZShzZWxmKToKKyAgICAgICAgaW1wb3J0IG9lLnJlY2lwZXV0aWxzCisgICAgICAgIHJlcyA9IG9lLnJlY2lwZXV0aWxzLnNwbGl0X3Zhcl92YWx1ZSgndGVzdC4xIHRlc3QuMiAke0BjYWxsX2Z1bmN0aW9uKCJoaSB0aGVyZSB3b3JsZCIsIGZhbHNlKX0gdGVzdC40JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMsIFsndGVzdC4xJywgJ3Rlc3QuMicsICcke0BjYWxsX2Z1bmN0aW9uKCJoaSB0aGVyZSB3b3JsZCIsIGZhbHNlKX0nLCAndGVzdC40J10pCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcnVuY21kLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3J1bmNtZC5weQppbmRleCBkNzZkNzA2Li5hMTYxNWNmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcnVuY21kLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9ydW5jbWQucHkKQEAgLTI0LDggKzI0LDggQEAKIAogICAgICMgVGhlIGRlbHRhIGlzIGludGVudGlvbmFsbHkgc21hbGxlciB0aGFuIHRoZSB0aW1lb3V0LCB0byBkZXRlY3QgY2FzZXMgd2hlcmUKICAgICAjIHdlIGluY29ycmVjdGx5IGFwcGx5IHRoZSB0aW1lb3V0IG1vcmUgdGhhbiBvbmNlLgotICAgIFRJTUVPVVQgPSAyCi0gICAgREVMVEEgPSAxCisgICAgVElNRU9VVCA9IDUKKyAgICBERUxUQSA9IDMKIAogICAgIEBPRVRlc3RJRCgxOTE2KQogICAgIGRlZiB0ZXN0X3Jlc3VsdF9va2F5KHNlbGYpOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3J1bnRpbWVfdGVzdC5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9ydW50aW1lX3Rlc3QucHkKaW5kZXggOTA2ZTQ2MC4uNmMyNWJiOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3J1bnRpbWVfdGVzdC5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcnVudGltZV90ZXN0LnB5CkBAIC02LDYgKzYsNyBAQAogaW1wb3J0IHJlCiBpbXBvcnQgdGVtcGZpbGUKIGltcG9ydCBzaHV0aWwKK2ltcG9ydCBvZS5sc2IKIAogY2xhc3MgVGVzdEV4cG9ydChPRVNlbGZ0ZXN0VGVzdENhc2UpOgogCkBAIC0xNjgsNiArMTY5LDcxIEBACiAgICAgICAgICMgcmVtb3ZlIHRoZSBvZXFhLWZlZWQtc2lnbiB0ZW1wb3JhbCBkaXJlY3RvcnkKICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLmdwZ19ob21lLCBpZ25vcmVfZXJyb3JzPVRydWUpCiAKKyAgICBAT0VUZXN0SUQoMTg4MykKKyAgICBkZWYgdGVzdF90ZXN0aW1hZ2VfdmlyZ2xfZ3RrKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgU3VtbWFyeTogQ2hlY2sgaG9zdC1hc3Npc3RlZCBhY2NlbGVyYXRlIE9wZW5HTCBmdW5jdGlvbmFsaXR5IGluIHFlbXUgd2l0aCBndGsgZnJvbnRlbmQKKyAgICAgICAgRXhwZWN0ZWQ6IDEuIENoZWNrIHRoYXQgdmlyZ2wga2VybmVsIGRyaXZlciBpcyBsb2FkZWQgYW5kIDNkIGFjY2VsZXJhdGlvbiBpcyBlbmFibGVkCisgICAgICAgICAgICAgICAgICAyLiBDaGVjayB0aGF0IGttc2N1YmUgZGVtbyBydW5zIHdpdGhvdXQgY3Jhc2hpbmcuCisgICAgICAgIFByb2R1Y3Q6IG9lLWNvcmUKKyAgICAgICAgQXV0aG9yOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKyAgICAgICAgIiIiCisgICAgICAgIGlmICJESVNQTEFZIiBub3QgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoInZpcmdsIGd0ayB0ZXN0IG11c3QgYmUgcnVuIGluc2lkZSBhIFggc2Vzc2lvbiIpCisgICAgICAgIGRpc3RybyA9IG9lLmxzYi5kaXN0cm9faWRlbnRpZmllcigpCisgICAgICAgIGlmIGRpc3RybyBhbmQgZGlzdHJvID09ICdkZWJpYW4tOCc6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCd2aXJnbCBpc25cJ3Qgd29ya2luZyB3aXRoIERlYmlhbiA4JykKKworICAgICAgICBxZW11X3BhY2thZ2Vjb25maWcgPSBnZXRfYmJfdmFyKCdQQUNLQUdFQ09ORklHJywgJ3FlbXUtc3lzdGVtLW5hdGl2ZScpCisgICAgICAgIGZlYXR1cmVzID0gJ0lOSEVSSVQgKz0gInRlc3RpbWFnZSJcbicKKyAgICAgICAgaWYgJ2d0aysnIG5vdCBpbiBxZW11X3BhY2thZ2Vjb25maWc6CisgICAgICAgICAgICBmZWF0dXJlcyArPSAnUEFDS0FHRUNPTkZJR19hcHBlbmRfcG4tcWVtdS1zeXN0ZW0tbmF0aXZlID0gIiBndGsrIlxuJworICAgICAgICBpZiAndmlyZ2xyZW5kZXJlcicgbm90IGluIHFlbXVfcGFja2FnZWNvbmZpZzoKKyAgICAgICAgICAgIGZlYXR1cmVzICs9ICdQQUNLQUdFQ09ORklHX2FwcGVuZF9wbi1xZW11LXN5c3RlbS1uYXRpdmUgPSAiIHZpcmdscmVuZGVyZXIiXG4nCisgICAgICAgIGlmICdnbHgnIG5vdCBpbiBxZW11X3BhY2thZ2Vjb25maWc6CisgICAgICAgICAgICBmZWF0dXJlcyArPSAnUEFDS0FHRUNPTkZJR19hcHBlbmRfcG4tcWVtdS1zeXN0ZW0tbmF0aXZlID0gIiBnbHgiXG4nCisgICAgICAgIGZlYXR1cmVzICs9ICdURVNUX1NVSVRFUyA9ICJwaW5nIHNzaCB2aXJnbCJcbicKKyAgICAgICAgZmVhdHVyZXMgKz0gJ0lNQUdFX0ZFQVRVUkVTX2FwcGVuZCA9ICIgc3NoLXNlcnZlci1kcm9wYmVhciJcbicKKyAgICAgICAgZmVhdHVyZXMgKz0gJ0lNQUdFX0lOU1RBTExfYXBwZW5kID0gIiBrbXNjdWJlIlxuJworICAgICAgICBmZWF0dXJlcyArPSAnVEVTVF9SVU5RRU1VUEFSQU1TID0gImd0ay1nbCJcbicKKyAgICAgICAgc2VsZi53cml0ZV9jb25maWcoZmVhdHVyZXMpCisgICAgICAgIGJpdGJha2UoJ2NvcmUtaW1hZ2UtbWluaW1hbCcpCisgICAgICAgIGJpdGJha2UoJy1jIHRlc3RpbWFnZSBjb3JlLWltYWdlLW1pbmltYWwnKQorCisgICAgQE9FVGVzdElEKDE4ODMpCisgICAgZGVmIHRlc3RfdGVzdGltYWdlX3ZpcmdsX2hlYWRsZXNzKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgU3VtbWFyeTogQ2hlY2sgaG9zdC1hc3Npc3RlZCBhY2NlbGVyYXRlIE9wZW5HTCBmdW5jdGlvbmFsaXR5IGluIHFlbXUgd2l0aCBlZ2wtaGVhZGxlc3MgZnJvbnRlbmQKKyAgICAgICAgRXhwZWN0ZWQ6IDEuIENoZWNrIHRoYXQgdmlyZ2wga2VybmVsIGRyaXZlciBpcyBsb2FkZWQgYW5kIDNkIGFjY2VsZXJhdGlvbiBpcyBlbmFibGVkCisgICAgICAgICAgICAgICAgICAyLiBDaGVjayB0aGF0IGttc2N1YmUgZGVtbyBydW5zIHdpdGhvdXQgY3Jhc2hpbmcuCisgICAgICAgIFByb2R1Y3Q6IG9lLWNvcmUKKyAgICAgICAgQXV0aG9yOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKyAgICAgICAgIiIiCisgICAgICAgIGltcG9ydCBzdWJwcm9jZXNzLCBvcworICAgICAgICB0cnk6CisgICAgICAgICAgICBjb250ZW50ID0gb3MubGlzdGRpcigiL2Rldi9kcmkiKQorICAgICAgICAgICAgaWYgbGVuKFtpIGZvciBpIGluIGNvbnRlbnQgaWYgaS5zdGFydHN3aXRoKCdyZW5kZXInKV0pID09IDA6CisgICAgICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgiTm8gcmVuZGVyIG5vZGVzIGZvdW5kIGluIC9kZXYvZHJpOiAlcyIgJShjb250ZW50KSkKKyAgICAgICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgorICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgiL2Rldi9kcmkgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0OyBubyByZW5kZXIgbm9kZXMgYXZhaWxhYmxlIG9uIHRoaXMgbWFjaGluZS4iKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBkcmlwYXRoID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoInBrZy1jb25maWcgLS12YXJpYWJsZT1kcmlkcml2ZXJkaXIgZHJpIiwgc2hlbGw9VHJ1ZSkKKyAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBwYXRoIHRvIGRyaSBkcml2ZXJzIG9uIHRoZSBob3N0IHZpYSBwa2ctY29uZmlnLlxuUGxlYXNlIGluc3RhbGwgTWVzYSBkZXZlbG9wbWVudCBmaWxlcyAocGFydGljdWxhcmx5LCBkcmkucGMpIG9uIHRoZSBob3N0IG1hY2hpbmUuIikKKyAgICAgICAgcWVtdV9wYWNrYWdlY29uZmlnID0gZ2V0X2JiX3ZhcignUEFDS0FHRUNPTkZJRycsICdxZW11LXN5c3RlbS1uYXRpdmUnKQorICAgICAgICBmZWF0dXJlcyA9ICdJTkhFUklUICs9ICJ0ZXN0aW1hZ2UiXG4nCisgICAgICAgIGlmICd2aXJnbHJlbmRlcmVyJyBub3QgaW4gcWVtdV9wYWNrYWdlY29uZmlnOgorICAgICAgICAgICAgZmVhdHVyZXMgKz0gJ1BBQ0tBR0VDT05GSUdfYXBwZW5kX3BuLXFlbXUtc3lzdGVtLW5hdGl2ZSA9ICIgdmlyZ2xyZW5kZXJlciJcbicKKyAgICAgICAgaWYgJ2dseCcgbm90IGluIHFlbXVfcGFja2FnZWNvbmZpZzoKKyAgICAgICAgICAgIGZlYXR1cmVzICs9ICdQQUNLQUdFQ09ORklHX2FwcGVuZF9wbi1xZW11LXN5c3RlbS1uYXRpdmUgPSAiIGdseCJcbicKKyAgICAgICAgZmVhdHVyZXMgKz0gJ1RFU1RfU1VJVEVTID0gInBpbmcgc3NoIHZpcmdsIlxuJworICAgICAgICBmZWF0dXJlcyArPSAnSU1BR0VfRkVBVFVSRVNfYXBwZW5kID0gIiBzc2gtc2VydmVyLWRyb3BiZWFyIlxuJworICAgICAgICBmZWF0dXJlcyArPSAnSU1BR0VfSU5TVEFMTF9hcHBlbmQgPSAiIGttc2N1YmUiXG4nCisgICAgICAgIGZlYXR1cmVzICs9ICdURVNUX1JVTlFFTVVQQVJBTVMgPSAiZWdsLWhlYWRsZXNzIlxuJworICAgICAgICBzZWxmLndyaXRlX2NvbmZpZyhmZWF0dXJlcykKKyAgICAgICAgYml0YmFrZSgnY29yZS1pbWFnZS1taW5pbWFsJykKKyAgICAgICAgYml0YmFrZSgnLWMgdGVzdGltYWdlIGNvcmUtaW1hZ2UtbWluaW1hbCcpCisKIGNsYXNzIFBvc3RpbnN0KE9FU2VsZnRlc3RUZXN0Q2FzZSk6CiAgICAgQE9FVGVzdElEKDE1NDApCiAgICAgQE9FVGVzdElEKDE1NDUpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvc3N0YXRldGVzdHMucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvc3N0YXRldGVzdHMucHkKaW5kZXggMDc3ZDZlNS4uOTM4ZTY1NCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3NzdGF0ZXRlc3RzLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9zc3RhdGV0ZXN0cy5weQpAQCAtOTYsMTQgKzk2LDE0IEBACiAgICAgICAgIGJpdGJha2UoWyctY2NsZWFuc3N0YXRlJ10gKyB0YXJnZXRzKQogCiAgICAgICAgIGJpdGJha2UodGFyZ2V0cykKLSAgICAgICAgdGd6X2NyZWF0ZWQgPSBzZWxmLnNlYXJjaF9zc3RhdGUoJ3wnLmpvaW4obWFwKHN0ciwgW3MgKyAnLio/XC50Z3okJyBmb3IgcyBpbiB0YXJnZXRzXSkpLCBkaXN0cm9fc3BlY2lmaWMsIGRpc3Ryb19ub25zcGVjaWZpYykKKyAgICAgICAgdGd6X2NyZWF0ZWQgPSBzZWxmLnNlYXJjaF9zc3RhdGUoJ3wnLmpvaW4obWFwKHN0ciwgW3MgKyByJy4qP1wudGd6JCcgZm9yIHMgaW4gdGFyZ2V0c10pKSwgZGlzdHJvX3NwZWNpZmljLCBkaXN0cm9fbm9uc3BlY2lmaWMpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0Z3pfY3JlYXRlZCwgbXNnPSJDb3VsZCBub3QgZmluZCBzc3RhdGUgLnRneiBmaWxlcyBmb3I6ICVzICglcykiICUgKCcsICcuam9pbihtYXAoc3RyLCB0YXJnZXRzKSksIHN0cih0Z3pfY3JlYXRlZCkpKQogCi0gICAgICAgIHNpZ2luZm9fY3JlYXRlZCA9IHNlbGYuc2VhcmNoX3NzdGF0ZSgnfCcuam9pbihtYXAoc3RyLCBbcyArICcuKj9cLnNpZ2luZm8kJyBmb3IgcyBpbiB0YXJnZXRzXSkpLCBkaXN0cm9fc3BlY2lmaWMsIGRpc3Ryb19ub25zcGVjaWZpYykKKyAgICAgICAgc2lnaW5mb19jcmVhdGVkID0gc2VsZi5zZWFyY2hfc3N0YXRlKCd8Jy5qb2luKG1hcChzdHIsIFtzICsgcicuKj9cLnNpZ2luZm8kJyBmb3IgcyBpbiB0YXJnZXRzXSkpLCBkaXN0cm9fc3BlY2lmaWMsIGRpc3Ryb19ub25zcGVjaWZpYykKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNpZ2luZm9fY3JlYXRlZCwgbXNnPSJDb3VsZCBub3QgZmluZCBzc3RhdGUgLnNpZ2luZm8gZmlsZXMgZm9yOiAlcyAoJXMpIiAlICgnLCAnLmpvaW4obWFwKHN0ciwgdGFyZ2V0cykpLCBzdHIoc2lnaW5mb19jcmVhdGVkKSkpCiAKICAgICAgICAgYml0YmFrZShbJy1jY2xlYW5zc3RhdGUnXSArIHRhcmdldHMpCi0gICAgICAgIHRnel9yZW1vdmVkID0gc2VsZi5zZWFyY2hfc3N0YXRlKCd8Jy5qb2luKG1hcChzdHIsIFtzICsgJy4qP1wudGd6JCcgZm9yIHMgaW4gdGFyZ2V0c10pKSwgZGlzdHJvX3NwZWNpZmljLCBkaXN0cm9fbm9uc3BlY2lmaWMpCisgICAgICAgIHRnel9yZW1vdmVkID0gc2VsZi5zZWFyY2hfc3N0YXRlKCd8Jy5qb2luKG1hcChzdHIsIFtzICsgcicuKj9cLnRneiQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYywgZGlzdHJvX25vbnNwZWNpZmljKQogICAgICAgICBzZWxmLmFzc2VydFRydWUobm90IHRnel9yZW1vdmVkLCBtc2c9ImRvX2NsZWFuc3N0YXRlIGRpZG4ndCByZW1vdmUgLnRneiBzc3RhdGUgZmlsZXMgZm9yOiAlcyAoJXMpIiAlICgnLCAnLmpvaW4obWFwKHN0ciwgdGFyZ2V0cykpLCBzdHIodGd6X3JlbW92ZWQpKSkKIAogICAgIEBPRVRlc3RJRCg5NzcpCkBAIC0xMzAsMTQgKzEzMCwxNCBAQAogICAgICAgICBiaXRiYWtlKFsnLWNjbGVhbnNzdGF0ZSddICsgdGFyZ2V0cykKIAogICAgICAgICBiaXRiYWtlKHRhcmdldHMpCi0gICAgICAgIHJlc3VsdHMgPSBzZWxmLnNlYXJjaF9zc3RhdGUoJ3wnLmpvaW4obWFwKHN0ciwgW3MgKyAnLio/XC50Z3okJyBmb3IgcyBpbiB0YXJnZXRzXSkpLCBkaXN0cm9fc3BlY2lmaWM9RmFsc2UsIGRpc3Ryb19ub25zcGVjaWZpYz1UcnVlKQorICAgICAgICByZXN1bHRzID0gc2VsZi5zZWFyY2hfc3N0YXRlKCd8Jy5qb2luKG1hcChzdHIsIFtzICsgcicuKj9cLnRneiQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYz1GYWxzZSwgZGlzdHJvX25vbnNwZWNpZmljPVRydWUpCiAgICAgICAgIGZpbHRlcmVkX3Jlc3VsdHMgPSBbXQogICAgICAgICBmb3IgciBpbiByZXN1bHRzOgogICAgICAgICAgICAgaWYgci5lbmRzd2l0aCgoIl9wb3B1bGF0ZV9saWMudGd6IiwgIl9wb3B1bGF0ZV9saWMudGd6LnNpZ2luZm8iKSk6CiAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIGZpbHRlcmVkX3Jlc3VsdHMuYXBwZW5kKHIpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmaWx0ZXJlZF9yZXN1bHRzID09IFtdLCBtc2c9IkZvdW5kIGRpc3RybyBub24tc3BlY2lmaWMgc3N0YXRlIGZvcjogJXMgKCVzKSIgJSAoJywgJy5qb2luKG1hcChzdHIsIHRhcmdldHMpKSwgc3RyKGZpbHRlcmVkX3Jlc3VsdHMpKSkKLSAgICAgICAgZmlsZV90cmFja2VyXzEgPSBzZWxmLnNlYXJjaF9zc3RhdGUoJ3wnLmpvaW4obWFwKHN0ciwgW3MgKyAnLio/XC50Z3okJyBmb3IgcyBpbiB0YXJnZXRzXSkpLCBkaXN0cm9fc3BlY2lmaWM9VHJ1ZSwgZGlzdHJvX25vbnNwZWNpZmljPUZhbHNlKQorICAgICAgICBmaWxlX3RyYWNrZXJfMSA9IHNlbGYuc2VhcmNoX3NzdGF0ZSgnfCcuam9pbihtYXAoc3RyLCBbcyArIHInLio/XC50Z3okJyBmb3IgcyBpbiB0YXJnZXRzXSkpLCBkaXN0cm9fc3BlY2lmaWM9VHJ1ZSwgZGlzdHJvX25vbnNwZWNpZmljPUZhbHNlKQogICAgICAgICBzZWxmLmFzc2VydFRydWUobGVuKGZpbGVfdHJhY2tlcl8xKSA+PSBsZW4odGFyZ2V0cyksIG1zZyA9ICJOb3QgYWxsIHNzdGF0ZSBmaWxlcyB3YXJlIGNyZWF0ZWQgZm9yOiAlcyIgJSAnLCAnLmpvaW4obWFwKHN0ciwgdGFyZ2V0cykpKQogCiAgICAgICAgIHNlbGYudHJhY2tfZm9yX2NsZWFudXAoc2VsZi5kaXN0cm9fc3BlY2lmaWNfc3N0YXRlICsgIl9vbGQiKQpAQCAtMTQ2LDcgKzE0Niw3IEBACiAKICAgICAgICAgYml0YmFrZShbJy1jY2xlYW4nXSArIHRhcmdldHMpCiAgICAgICAgIGJpdGJha2UodGFyZ2V0cykKLSAgICAgICAgZmlsZV90cmFja2VyXzIgPSBzZWxmLnNlYXJjaF9zc3RhdGUoJ3wnLmpvaW4obWFwKHN0ciwgW3MgKyAnLio/XC50Z3okJyBmb3IgcyBpbiB0YXJnZXRzXSkpLCBkaXN0cm9fc3BlY2lmaWM9VHJ1ZSwgZGlzdHJvX25vbnNwZWNpZmljPUZhbHNlKQorICAgICAgICBmaWxlX3RyYWNrZXJfMiA9IHNlbGYuc2VhcmNoX3NzdGF0ZSgnfCcuam9pbihtYXAoc3RyLCBbcyArIHInLio/XC50Z3okJyBmb3IgcyBpbiB0YXJnZXRzXSkpLCBkaXN0cm9fc3BlY2lmaWM9VHJ1ZSwgZGlzdHJvX25vbnNwZWNpZmljPUZhbHNlKQogICAgICAgICBzZWxmLmFzc2VydFRydWUobGVuKGZpbGVfdHJhY2tlcl8yKSA+PSBsZW4odGFyZ2V0cyksIG1zZyA9ICJOb3QgYWxsIHNzdGF0ZSBmaWxlcyB3YXJlIGNyZWF0ZWQgZm9yOiAlcyIgJSAnLCAnLmpvaW4obWFwKHN0ciwgdGFyZ2V0cykpKQogCiAgICAgICAgIG5vdF9yZWNyZWF0ZWQgPSBbeCBmb3IgeCBpbiBmaWxlX3RyYWNrZXJfMSBpZiB4IG5vdCBpbiBmaWxlX3RyYWNrZXJfMl0KQEAgLTE5MiwxOCArMTkyLDE4IEBACiAgICAgICAgICAgICBpZiBub3Qgc3N0YXRlX2FyY2ggaW4gc3N0YXRlX2FyY2hzX2xpc3Q6CiAgICAgICAgICAgICAgICAgc3N0YXRlX2FyY2hzX2xpc3QuYXBwZW5kKHNzdGF0ZV9hcmNoKQogICAgICAgICAgICAgaWYgdGFyZ2V0X2NvbmZpZ1tpZHhdID09IHRhcmdldF9jb25maWdbLTFdOgotICAgICAgICAgICAgICAgIHRhcmdldF9zc3RhdGVfYmVmb3JlX2J1aWxkID0gc2VsZi5zZWFyY2hfc3N0YXRlKHRhcmdldCArICcuKj9cLnRneiQnKQorICAgICAgICAgICAgICAgIHRhcmdldF9zc3RhdGVfYmVmb3JlX2J1aWxkID0gc2VsZi5zZWFyY2hfc3N0YXRlKHRhcmdldCArIHInLio/XC50Z3okJykKICAgICAgICAgICAgIGJpdGJha2UoIi1jY2xlYW4gJXMiICUgdGFyZ2V0KQogICAgICAgICAgICAgcmVzdWx0ID0gYml0YmFrZSh0YXJnZXQsIGlnbm9yZV9zdGF0dXM9VHJ1ZSkKICAgICAgICAgICAgIGlmIHRhcmdldF9jb25maWdbaWR4XSA9PSB0YXJnZXRfY29uZmlnWy0xXToKLSAgICAgICAgICAgICAgICB0YXJnZXRfc3N0YXRlX2FmdGVyX2J1aWxkID0gc2VsZi5zZWFyY2hfc3N0YXRlKHRhcmdldCArICcuKj9cLnRneiQnKQorICAgICAgICAgICAgICAgIHRhcmdldF9zc3RhdGVfYWZ0ZXJfYnVpbGQgPSBzZWxmLnNlYXJjaF9zc3RhdGUodGFyZ2V0ICsgcicuKj9cLnRneiQnKQogICAgICAgICAgICAgICAgIGV4cGVjdGVkX3JlbWFpbmluZ19zc3RhdGUgKz0gW3ggZm9yIHggaW4gdGFyZ2V0X3NzdGF0ZV9hZnRlcl9idWlsZCBpZiB4IG5vdCBpbiB0YXJnZXRfc3N0YXRlX2JlZm9yZV9idWlsZCBpZiBub3QgYW55KHBhdHRlcm4gaW4geCBmb3IgcGF0dGVybiBpbiBpZ25vcmVfcGF0dGVybnMpXQogICAgICAgICAgICAgc2VsZi5yZW1vdmVfY29uZmlnKGdsb2JhbF9jb25maWdbaWR4XSkKICAgICAgICAgICAgIHNlbGYucmVtb3ZlX3JlY2lwZWluYyh0YXJnZXQsIHRhcmdldF9jb25maWdbaWR4XSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LnN0YXR1cywgMCwgbXNnID0gImJ1aWxkIG9mICVzIGZhaWxlZCB3aXRoICVzIiAlICh0YXJnZXQsIHJlc3VsdC5vdXRwdXQpKQogCiAgICAgICAgIHJ1bkNtZCgic3N0YXRlLWNhY2hlLW1hbmFnZW1lbnQuc2ggLXkgLS1jYWNoZS1kaXI9JXMgLS1yZW1vdmUtZHVwbGljYXRlZCAtLWV4dHJhLWFyY2hzPSVzIiAlIChzZWxmLnNzdGF0ZV9wYXRoLCAnLCcuam9pbihtYXAoc3RyLCBzc3RhdGVfYXJjaHNfbGlzdCkpKSkKLSAgICAgICAgYWN0dWFsX3JlbWFpbmluZ19zc3RhdGUgPSBbeCBmb3IgeCBpbiBzZWxmLnNlYXJjaF9zc3RhdGUodGFyZ2V0ICsgJy4qP1wudGd6JCcpIGlmIG5vdCBhbnkocGF0dGVybiBpbiB4IGZvciBwYXR0ZXJuIGluIGlnbm9yZV9wYXR0ZXJucyldCisgICAgICAgIGFjdHVhbF9yZW1haW5pbmdfc3N0YXRlID0gW3ggZm9yIHggaW4gc2VsZi5zZWFyY2hfc3N0YXRlKHRhcmdldCArIHInLio/XC50Z3okJykgaWYgbm90IGFueShwYXR0ZXJuIGluIHggZm9yIHBhdHRlcm4gaW4gaWdub3JlX3BhdHRlcm5zKV0KIAogICAgICAgICBhY3R1YWxfbm90X2V4cGVjdGVkID0gW3ggZm9yIHggaW4gYWN0dWFsX3JlbWFpbmluZ19zc3RhdGUgaWYgeCBub3QgaW4gZXhwZWN0ZWRfcmVtYWluaW5nX3NzdGF0ZV0KICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShhY3R1YWxfbm90X2V4cGVjdGVkLCBtc2c9IkZpbGVzIHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBidXQgd2FyZSBub3Q6ICVzIiAlICcsICcuam9pbihtYXAoc3RyLCBhY3R1YWxfbm90X2V4cGVjdGVkKSkpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY29udGV4dC5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jb250ZXh0LnB5CmluZGV4IGM1MjEyOTAuLmM1NmU1M2QgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jb250ZXh0LnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jb250ZXh0LnB5CkBAIC0xMDgsNiArMTA4LDcgQEAKICAgICAgICAgbG9nZGlyID0gb3MuZW52aXJvbi5nZXQoIkJVSUxERElSIikKICAgICAgICAgaWYgJ0xPR19ESVInIGluIGJidmFyczoKICAgICAgICAgICAgIGxvZ2RpciA9IGJidmFyc1snTE9HX0RJUiddCisgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihsb2dkaXIpCiAgICAgICAgIGFyZ3Mub3V0cHV0X2xvZyA9IGxvZ2RpciArICcvJXMtcmVzdWx0cy0lcy5sb2cnICUgKHNlbGYubmFtZSwgYXJncy50ZXN0X3N0YXJ0X3RpbWUpCiAKICAgICAgICAgc3VwZXIoT0VTZWxmdGVzdFRlc3RDb250ZXh0RXhlY3V0b3IsIHNlbGYpLl9wcm9jZXNzX2FyZ3MobG9nZ2VyLCBhcmdzKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3V0aWxzL21ldGFkYXRhLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3V0aWxzL21ldGFkYXRhLnB5CmluZGV4IGI3ZGVmNzcuLmUwODA4YWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS91dGlscy9tZXRhZGF0YS5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvdXRpbHMvbWV0YWRhdGEucHkKQEAgLTcyLDggKzcyLDExIEBACiAgICAgICAgICAgICBpbmZvWydjb21taXQnXSA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsiZ2l0IiwgInJldi1wYXJzZSIsICJIRUFEIl0sIGN3ZD1wYXRoKS5kZWNvZGUoJ3V0Zi04Jykuc3RyaXAoKQogICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3I6CiAgICAgICAgICAgICBwYXNzCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGluZm9bJ2NvbW1pdF9jb3VudCddID0gaW50KHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsiZ2l0IiwgInJldi1saXN0IiwgIi0tY291bnQiLCAiSEVBRCJdLCBjd2Q9cGF0aCkuZGVjb2RlKCd1dGYtOCcpLnN0cmlwKCkpCisgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcjoKKyAgICAgICAgICAgIHBhc3MKICAgICAgICAgcmV0dXJuIGluZm8KLQogICAgIHRyeToKICAgICAgICAgcmVwbyA9IFJlcG8ocGF0aCwgc2VhcmNoX3BhcmVudF9kaXJlY3Rvcmllcz1UcnVlKQogICAgIGV4Y2VwdCAoSW52YWxpZEdpdFJlcG9zaXRvcnlFcnJvciwgTm9TdWNoUGF0aEVycm9yKToKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS91dGlscy9xZW11cnVubmVyLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3V0aWxzL3FlbXVydW5uZXIucHkKaW5kZXggY2M5NWRjMi4uNDkwMjBjMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3V0aWxzL3FlbXVydW5uZXIucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3V0aWxzL3FlbXVydW5uZXIucHkKQEAgLTI4LDcgKzI4LDggQEAKIAogY2xhc3MgUWVtdVJ1bm5lcjoKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtYWNoaW5lLCByb290ZnMsIGRpc3BsYXksIHRtcGRpciwgZGVwbG95X2Rpcl9pbWFnZSwgbG9nZmlsZSwgYm9vdHRpbWUsIGR1bXBfZGlyLCBkdW1wX2hvc3RfY21kcywgdXNlX2t2bSwgbG9nZ2VyKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbWFjaGluZSwgcm9vdGZzLCBkaXNwbGF5LCB0bXBkaXIsIGRlcGxveV9kaXJfaW1hZ2UsIGxvZ2ZpbGUsIGJvb3R0aW1lLCBkdW1wX2RpciwgZHVtcF9ob3N0X2NtZHMsCisgICAgICAgICAgICAgICAgIHVzZV9rdm0sIGxvZ2dlciwgdXNlX3NsaXJwPUZhbHNlKToKIAogICAgICAgICAjIFBvcGVuIG9iamVjdCBmb3IgcnVucWVtdQogICAgICAgICBzZWxmLnJ1bnFlbXUgPSBOb25lCkBAIC01MSw2ICs1Miw3IEBACiAgICAgICAgIHNlbGYubG9nZ2VkID0gRmFsc2UKICAgICAgICAgc2VsZi50aHJlYWQgPSBOb25lCiAgICAgICAgIHNlbGYudXNlX2t2bSA9IHVzZV9rdm0KKyAgICAgICAgc2VsZi51c2Vfc2xpcnAgPSB1c2Vfc2xpcnAKICAgICAgICAgc2VsZi5tc2cgPSAnJwogCiAgICAgICAgIHNlbGYucnVucWVtdXRpbWUgPSAxMjAKQEAgLTEyOSw2ICsxMzEsOCBAQAogICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdOb3QgdXNpbmcga3ZtIGZvciBydW5xZW11JykKICAgICAgICAgICAgIGlmIG5vdCBzZWxmLmRpc3BsYXk6CiAgICAgICAgICAgICAgICAgbGF1bmNoX2NtZCArPSAnIG5vZ3JhcGhpYycKKyAgICAgICAgICAgIGlmIHNlbGYudXNlX3NsaXJwOgorICAgICAgICAgICAgICAgIGxhdW5jaF9jbWQgKz0gJyBzbGlycCcKICAgICAgICAgICAgIGxhdW5jaF9jbWQgKz0gJyAlcyAlcycgJSAoc2VsZi5tYWNoaW5lLCBzZWxmLnJvb3RmcykKIAogICAgICAgICByZXR1cm4gc2VsZi5sYXVuY2gobGF1bmNoX2NtZCwgcWVtdXBhcmFtcz1xZW11cGFyYW1zLCBnZXRfaXA9Z2V0X2lwLCBleHRyYV9ib290cGFyYW1zPWV4dHJhX2Jvb3RwYXJhbXMsIGVudj1lbnYpCkBAIC0yMzgsOSArMjQyLDE0IEBACiAgICAgICAgICAgICAgICAgIyBiZWNhdXNlIGlzIHBvc3NpYmxlIHRvIGhhdmUgY29udHJvbCBjaGFyYWN0ZXJzCiAgICAgICAgICAgICAgICAgY21kbGluZSA9IHJlX2NvbnRyb2xfY2hhci5zdWIoJyAnLCBjbWRsaW5lKQogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGlwcyA9IHJlLmZpbmRhbGwociIoKD86WzAtOV17MSwzfVwuKXszfVswLTldezEsM30pIiwgY21kbGluZS5zcGxpdCgiaXA9IilbMV0pCi0gICAgICAgICAgICAgICAgc2VsZi5pcCA9IGlwc1swXQotICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyX2lwID0gaXBzWzFdCisgICAgICAgICAgICAgICAgaWYgc2VsZi51c2Vfc2xpcnA6CisgICAgICAgICAgICAgICAgICAgIHRjcF9wb3J0cyA9IGNtZGxpbmUuc3BsaXQoImhvc3Rmd2Q9dGNwOjoiKVsxXQorICAgICAgICAgICAgICAgICAgICBob3N0X3BvcnQgPSB0Y3BfcG9ydHNbOnRjcF9wb3J0cy5maW5kKCctJyldCisgICAgICAgICAgICAgICAgICAgIHNlbGYuaXAgPSAibG9jYWxob3N0OiVzIiAlIGhvc3RfcG9ydAorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGlwcyA9IHJlLmZpbmRhbGwociIoKD86WzAtOV17MSwzfVwuKXszfVswLTldezEsM30pIiwgY21kbGluZS5zcGxpdCgiaXA9IilbMV0pCisgICAgICAgICAgICAgICAgICAgIHNlbGYuaXAgPSBpcHNbMF0KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaXAgPSBpcHNbMV0KICAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygicWVtdSBjbWRsaW5lIHVzZWQ6XG57fSIuZm9ybWF0KGNtZGxpbmUpKQogICAgICAgICAgICAgZXhjZXB0IChJbmRleEVycm9yLCBWYWx1ZUVycm9yKToKICAgICAgICAgICAgICAgICAjIFRyeSB0byBnZXQgbmV0d29yayBjb25maWd1cmF0aW9uIGZyb20gcnVucWVtdSBvdXRwdXQKQEAgLTMyMCw2ICszMjksNyBAQAogICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJUYXJnZXQgZGlkbid0IHJlYWNoIGxvZ2luIGJhbm5lciBpbiAlZCBzZWNvbmRzICglcykiICUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZi5ib290dGltZSwgdGltZS5zdHJmdGltZSgiJUQgJUg6JU06JVMiKSkpCiAgICAgICAgICAgICB0YWlsID0gbGFtYmRhIGw6ICJcbiIuam9pbihsLnNwbGl0bGluZXMoKVstMjU6XSkKKyAgICAgICAgICAgIGJvb3Rsb2cgPSBib29sb2cuZGVjb2RlKCJ1dGYtOCIpCiAgICAgICAgICAgICAjIGluIGNhc2UgYm9vdGxvZyBpcyBlbXB0eSwgdXNlIHRhaWwgcWVtdSBsb2cgc3RvcmUgYXQgc2VsZi5tc2cKICAgICAgICAgICAgIGxpbmVzID0gdGFpbChib290bG9nIGlmIGJvb3Rsb2cgZWxzZSBzZWxmLm1zZykKICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJMYXN0IDI1IGxpbmVzIG9mIHRleHQ6XG4lcyIgJSBsaW5lcykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9hY3BpZC9hY3BpZF8yLjAuMzAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvYWNwaWQvYWNwaWRfMi4wLjMwLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYTE5ZDI4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9hY3BpZC9hY3BpZF8yLjAuMzAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLXJlcXVpcmUgYWNwaWQuaW5jCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2FjcGlkLmg7ZW5kbGluZT0yNDttZDU9MzI0YTljZjIyNWFlNjlkZGFhZDFiZjlkOTQyMTE1YjUiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIxNTI4MDQwYjVkMzRmOGMyNGViYWJkOTdiZWZiZjkxMyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyOGI3N2I2MmQzZjY0ZWJkMWMyYTNkMTZiY2NjNmQ0MzMzYjRlMjRhODZhZWFjZWJlYzI1NWZhZDIyM2NmNGNiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2FjcGlkL2FjcGlkXzIuMC4zMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9hY3BpZC9hY3BpZF8yLjAuMzEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDA3NDkyMQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9hY3BpZC9hY3BpZF8yLjAuMzEuYmIKQEAgLTAsMCArMSw3IEBACityZXF1aXJlIGFjcGlkLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04Y2E0M2NiYzg0MmMyMzM2ZTgzNTkyNmMyMTY2YzI4YiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9hY3BpZC5oO2VuZGxpbmU9MjQ7bWQ1PTMyNGE5Y2YyMjVhZTY5ZGRhYWQxYmY5ZDk0MjExNWI1IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTk5ZGQzODY4MWI1OTE3ZWVlYWZiNTgxNzY3OTM5NTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmM5ZGM2NjllZDg1ZDlhMTczOWFhNzY5MTVlMDY2N2M2Njk3YzU0MzExNjBmOGRmYjI1MzA0NmM2YTA3MmNjMyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9nbnUtZWZpL2dudS1lZmlfMy4wLjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ251LWVmaS9nbnUtZWZpXzMuMC44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYmE0NzMzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9nbnUtZWZpL2dudS1lZmlfMy4wLjguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3MSArMCwwIEBACi1TVU1NQVJZID0gIkxpYnJhcmllcyBmb3IgcHJvZHVjaW5nIEVGSSBiaW5hcmllcyIKLUhPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvZ251LWVmaS8iCi1TRUNUSU9OID0gImRldmVsIgotTElDRU5TRSA9ICJHUEx2MisgfCBCU0QtMi1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9nbnVlZmkvY3J0MC1lZmktYXJtLlM7YmVnaW5saW5lPTQ7ZW5kbGluZT0xNjttZDU9ZTU4Mjc2NGE0Nzc2ZTYwYzk1YmY5YWI2MTczNDNkMzYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ251ZWZpL2NydDAtZWZpLWFhcmNoNjQuUztiZWdpbmxpbmU9NDtlbmRsaW5lPTE2O21kNT1lNTgyNzY0YTQ3NzZlNjBjOTViZjlhYjYxNzM0M2QzNiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9pbmMvZWZpc2hlbGxpbnRmLmg7YmVnaW5saW5lPTEzO2VuZGxpbmU9MjA7bWQ1PTIwMjc2NmI3OWQ3MDhlZmYzY2M3MGZjZTE1ZmI4MGM3IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2luYy9lZmlzaGVsbHBhcm0uaDtiZWdpbmxpbmU9NDtlbmRsaW5lPTExO21kNT00NjhiMTIzMWIwNWJiYzg0YmFlM2EwZDU3NzRlM2JiNSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvYXJtL21hdGguYztiZWdpbmxpbmU9MjtlbmRsaW5lPTE1O21kNT04ZWQ3NzI1MDFkYTc3YjJiMzM0NWFhNmRmODc0NGM5ZSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvYXJtL2luaXRwbGF0LmM7YmVnaW5saW5lPTI7ZW5kbGluZT0xNTttZDU9OGVkNzcyNTAxZGE3N2IyYjMzNDVhYTZkZjg3NDRjOWUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliL2FhcmNoNjQvbWF0aC5jO2JlZ2lubGluZT0yO2VuZGxpbmU9MTU7bWQ1PThlZDc3MjUwMWRhNzdiMmIzMzQ1YWE2ZGY4NzQ0YzllIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi9hYXJjaDY0L2luaXRwbGF0LmM7YmVnaW5saW5lPTI7ZW5kbGluZT0xNTttZDU9OGVkNzcyNTAxZGE3N2IyYjMzNDVhYTZkZjg3NDRjOWUgXAotICAgICAgICAgICAgICAgICAgICIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59LyR7QlB9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vcGFyYWxsZWwtbWFrZS1hcmNoaXZlcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9saWItTWFrZWZpbGUtZml4LXBhcmFsbGVsLWlzc3VlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2djYzQ2LWNvbXBhdGliaWxpdHkucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJhZTMyMDExY2ZlNmIxYzQwYzBmMjQ0YjlhNDliYTE4MSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3NjAwNmQ4ZWE4ZDY3YmNmNzJmMzVkMDlkNDNlOWVmNmE2OTQwMGQ2ZDVkNGJmNjRiYWYxYWI3NDM0ZTJiNzIyIgotCi1DT01QQVRJQkxFX0hPU1QgPSAiKHg4Nl82NC4qfGkuODYuKnxhYXJjaDY0Lip8YXJtLiopLWxpbnV4IgotQ09NUEFUSUJMRV9IT1NUX2FybXY0ID0gJ251bGwnCi0KLWRvX2NvbmZpZ3VyZV9saW51eC1nbnV4MzJfcHJlcGVuZCgpIHsKLQljcCAke1NUQUdJTkdfSU5DRElSfS9nbnUvc3R1YnMteDMyLmggJHtTVEFHSU5HX0lOQ0RJUn0vZ251L3N0dWJzLTY0LmgKLQljcCAke1NUQUdJTkdfSU5DRElSfS9iaXRzL2xvbmctZG91YmxlLTMyLmggJHtTVEFHSU5HX0lOQ0RJUn0vYml0cy9sb25nLWRvdWJsZS02NC5oCi19Ci0KLWRlZiBnbnVfZWZpX2FyY2goZCk6Ci0gICAgaW1wb3J0IHJlCi0gICAgdGFyY2ggPSBkLmdldFZhcigiVEFSR0VUX0FSQ0giKQotICAgIGlmIHJlLm1hdGNoKCJpWzM0NTY3ODldODYiLCB0YXJjaCk6Ci0gICAgICAgIHJldHVybiAiaWEzMiIKLSAgICByZXR1cm4gdGFyY2gKLQotRVhUUkFfT0VNQUtFID0gIidBUkNIPSR7QGdudV9lZmlfYXJjaChkKX0nICdDQz0ke0NDfScgJ0FTPSR7QVN9JyAnTEQ9JHtMRH0nICdBUj0ke0FSfScgXAotICAgICAgICAgICAgICAgICdSQU5MSUI9JHtSQU5MSUJ9JyAnT0JKQ09QWT0ke09CSkNPUFl9JyAnUFJFRklYPSR7cHJlZml4fScgJ0xJQkRJUj0ke2xpYmRpcn0nIFwKLSAgICAgICAgICAgICAgICAiCi0KLSMgZ251LWVmaSdzIE1ha2VmaWxlIHRyZWF0cyBwcmVmaXggYXMgdG9vbGNoYWluIHByZWZpeCwgc28gZG9uJ3QKLSMgZXhwb3J0IGl0LgotcHJlZml4W3VuZXhwb3J0XSA9ICIxIgotCi1kb19pbnN0YWxsKCkgewotICAgICAgICBvZV9ydW5tYWtlIGluc3RhbGwgSU5TVEFMTFJPT1Q9IiR7RH0iCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vKi5sZHMiCi0KLSMgNjQtYml0IGJpbmFyaWVzIGFyZSBleHBlY3RlZCBmb3IgRUZJIHdoZW4gdGFyZ2V0aW5nIFgzMgotSU5TQU5FX1NLSVBfJHtQTn0tZGV2X2FwcGVuZF9saW51eC1nbnV4MzIgPSAiIGFyY2giCi1JTlNBTkVfU0tJUF8ke1BOfS1kZXZfYXBwZW5kX2xpbnV4LW11c2x4MzIgPSAiIGFyY2giCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotCi0jIEl0IGRvZXNuJ3Qgc3VwcG9ydCBzc2UsIGl0cyBtYWtlLmRlZmF1bHRzIHNldHM6Ci0jIENGTEFHUyArPSAtbW5vLW1teCAtbW5vLXNzZQotIyBTbyBhbHNvIHJlbW92ZSAtbWZwbWF0aD1zc2UgZnJvbSBUVU5FX0NDQVJHUwotVFVORV9DQ0FSR1NfcmVtb3ZlID0gIi1tZnBtYXRoPXNzZSIKLQotcHl0aG9uICgpIHsKLSAgICBjY2FyZ3MgPSBkLmdldFZhcignVFVORV9DQ0FSR1MnKS5zcGxpdCgpCi0gICAgaWYgJy1teDMyJyBpbiBjY2FyZ3M6Ci0gICAgICAgICMgdXNlIHg4Nl82NCBFRkkgQUJJCi0gICAgICAgIGNjYXJncy5yZW1vdmUoJy1teDMyJykKLSAgICAgICAgY2NhcmdzLmFwcGVuZCgnLW02NCcpCi0gICAgICAgIGQuc2V0VmFyKCdUVU5FX0NDQVJHUycsICcgJy5qb2luKGNjYXJncykpCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ251LWVmaS9nbnUtZWZpXzMuMC45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2dudS1lZmkvZ251LWVmaV8zLjAuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjY3MTkxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2dudS1lZmkvZ251LWVmaV8zLjAuOS5iYgpAQCAtMCwwICsxLDcxIEBACitTVU1NQVJZID0gIkxpYnJhcmllcyBmb3IgcHJvZHVjaW5nIEVGSSBiaW5hcmllcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvZ251LWVmaS8iCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJHUEx2MisgfCBCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9nbnVlZmkvY3J0MC1lZmktYXJtLlM7YmVnaW5saW5lPTQ7ZW5kbGluZT0xNjttZDU9ZTU4Mjc2NGE0Nzc2ZTYwYzk1YmY5YWI2MTczNDNkMzYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ251ZWZpL2NydDAtZWZpLWFhcmNoNjQuUztiZWdpbmxpbmU9NDtlbmRsaW5lPTE2O21kNT1lNTgyNzY0YTQ3NzZlNjBjOTViZjlhYjYxNzM0M2QzNiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9pbmMvZWZpc2hlbGxpbnRmLmg7YmVnaW5saW5lPTEzO2VuZGxpbmU9MjA7bWQ1PTIwMjc2NmI3OWQ3MDhlZmYzY2M3MGZjZTE1ZmI4MGM3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2luYy9lZmlzaGVsbHBhcm0uaDtiZWdpbmxpbmU9NDtlbmRsaW5lPTExO21kNT00NjhiMTIzMWIwNWJiYzg0YmFlM2EwZDU3NzRlM2JiNSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvYXJtL21hdGguYztiZWdpbmxpbmU9MjtlbmRsaW5lPTE1O21kNT04ZWQ3NzI1MDFkYTc3YjJiMzM0NWFhNmRmODc0NGM5ZSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvYXJtL2luaXRwbGF0LmM7YmVnaW5saW5lPTI7ZW5kbGluZT0xNTttZDU9OGVkNzcyNTAxZGE3N2IyYjMzNDVhYTZkZjg3NDRjOWUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliL2FhcmNoNjQvbWF0aC5jO2JlZ2lubGluZT0yO2VuZGxpbmU9MTU7bWQ1PThlZDc3MjUwMWRhNzdiMmIzMzQ1YWE2ZGY4NzQ0YzllIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi9hYXJjaDY0L2luaXRwbGF0LmM7YmVnaW5saW5lPTI7ZW5kbGluZT0xNTttZDU9OGVkNzcyNTAxZGE3N2IyYjMzNDVhYTZkZjg3NDRjOWUgXAorICAgICAgICAgICAgICAgICAgICIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59LyR7QlB9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vcGFyYWxsZWwtbWFrZS1hcmNoaXZlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9saWItTWFrZWZpbGUtZml4LXBhcmFsbGVsLWlzc3VlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2djYzQ2LWNvbXBhdGliaWxpdHkucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMmFmMTdiOTE3NTQ1YTY5M2U1NDlhZjI0MzljNGE5OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2NzE1ZWE3ZWFlMWM3ZTRmYzUwNDEwMzRiZDNmMTA3ZWMyOTExOTYyZWQyODRhMDgxZTQ5MTY0NmIxMjI3N2YwIgorCitDT01QQVRJQkxFX0hPU1QgPSAiKHg4Nl82NC4qfGkuODYuKnxhYXJjaDY0Lip8YXJtLiopLWxpbnV4IgorQ09NUEFUSUJMRV9IT1NUX2FybXY0ID0gJ251bGwnCisKK2RvX2NvbmZpZ3VyZV9saW51eC1nbnV4MzJfcHJlcGVuZCgpIHsKKwljcCAke1NUQUdJTkdfSU5DRElSfS9nbnUvc3R1YnMteDMyLmggJHtTVEFHSU5HX0lOQ0RJUn0vZ251L3N0dWJzLTY0LmgKKwljcCAke1NUQUdJTkdfSU5DRElSfS9iaXRzL2xvbmctZG91YmxlLTMyLmggJHtTVEFHSU5HX0lOQ0RJUn0vYml0cy9sb25nLWRvdWJsZS02NC5oCit9CisKK2RlZiBnbnVfZWZpX2FyY2goZCk6CisgICAgaW1wb3J0IHJlCisgICAgdGFyY2ggPSBkLmdldFZhcigiVEFSR0VUX0FSQ0giKQorICAgIGlmIHJlLm1hdGNoKCJpWzM0NTY3ODldODYiLCB0YXJjaCk6CisgICAgICAgIHJldHVybiAiaWEzMiIKKyAgICByZXR1cm4gdGFyY2gKKworRVhUUkFfT0VNQUtFID0gIidBUkNIPSR7QGdudV9lZmlfYXJjaChkKX0nICdDQz0ke0NDfScgJ0FTPSR7QVN9JyAnTEQ9JHtMRH0nICdBUj0ke0FSfScgXAorICAgICAgICAgICAgICAgICdSQU5MSUI9JHtSQU5MSUJ9JyAnT0JKQ09QWT0ke09CSkNPUFl9JyAnUFJFRklYPSR7cHJlZml4fScgJ0xJQkRJUj0ke2xpYmRpcn0nIFwKKyAgICAgICAgICAgICAgICAiCisKKyMgZ251LWVmaSdzIE1ha2VmaWxlIHRyZWF0cyBwcmVmaXggYXMgdG9vbGNoYWluIHByZWZpeCwgc28gZG9uJ3QKKyMgZXhwb3J0IGl0LgorcHJlZml4W3VuZXhwb3J0XSA9ICIxIgorCitkb19pbnN0YWxsKCkgeworICAgICAgICBvZV9ydW5tYWtlIGluc3RhbGwgSU5TVEFMTFJPT1Q9IiR7RH0iCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vKi5sZHMiCisKKyMgNjQtYml0IGJpbmFyaWVzIGFyZSBleHBlY3RlZCBmb3IgRUZJIHdoZW4gdGFyZ2V0aW5nIFgzMgorSU5TQU5FX1NLSVBfJHtQTn0tZGV2X2FwcGVuZF9saW51eC1nbnV4MzIgPSAiIGFyY2giCitJTlNBTkVfU0tJUF8ke1BOfS1kZXZfYXBwZW5kX2xpbnV4LW11c2x4MzIgPSAiIGFyY2giCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCisjIEl0IGRvZXNuJ3Qgc3VwcG9ydCBzc2UsIGl0cyBtYWtlLmRlZmF1bHRzIHNldHM6CisjIENGTEFHUyArPSAtbW5vLW1teCAtbW5vLXNzZQorIyBTbyBhbHNvIHJlbW92ZSAtbWZwbWF0aD1zc2UgZnJvbSBUVU5FX0NDQVJHUworVFVORV9DQ0FSR1NfcmVtb3ZlID0gIi1tZnBtYXRoPXNzZSIKKworcHl0aG9uICgpIHsKKyAgICBjY2FyZ3MgPSBkLmdldFZhcignVFVORV9DQ0FSR1MnKS5zcGxpdCgpCisgICAgaWYgJy1teDMyJyBpbiBjY2FyZ3M6CisgICAgICAgICMgdXNlIHg4Nl82NCBFRkkgQUJJCisgICAgICAgIGNjYXJncy5yZW1vdmUoJy1teDMyJykKKyAgICAgICAgY2NhcmdzLmFwcGVuZCgnLW02NCcpCisgICAgICAgIGQuc2V0VmFyKCdUVU5FX0NDQVJHUycsICcgJy5qb2luKGNjYXJncykpCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ3J1Yi9maWxlcy9kaXNhYmxlLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9ncnViL2ZpbGVzL2Rpc2FibGUtYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxNWY1MmUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ3J1Yi9maWxlcy9kaXNhYmxlLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlci5wYXRjaApAQCAtMCwwICsxLDI2MiBAQAorRGlzYWJsZSBhZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgd2FybmluZ3Mgd2l0aCBnY2M5CisKK2djYzkgaGFzIHR1cm5lZCB0aGlzIHdhcm5pbmcgaW50byBlcnJvciB3aGVuIC1XZXJyb3IgaXMgdXNlZCwgbGV0cyBwYXBlcgoraXQgb3ZlciBieSB0dXJuaW5nIGl0IGludG8gYSB3YXJuaW5nIGZvciBub3cKKworRml4ZXMKKyAgICBlcnJvcjogdGFraW5nIGFkZHJlc3Mgb2YgcGFja2VkIG1lbWJlciBvZiAnc3RydWN0IGhlYWQnIG1heSByZXN1bHQgaW4gYW4gdW5hbGlnbmVkIHBvaW50ZXIgdmFsdWUgWy1XZXJyb3I9YWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyXQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0gYS9ncnViLWNvcmUvY29tbWFuZHMvbHNhY3BpLmMKKysrKyBiL2dydWItY29yZS9jb21tYW5kcy9sc2FjcGkuYworQEAgLTI2LDYgKzI2LDkgQEAKKyAjaW5jbHVkZSA8Z3J1Yi9kbC5oPgorIAorICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdjYXN0LWFsaWduIgorKyNpZiBfX0dOVUNfXyA+PSA5CisrI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2FkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIKKysjZW5kaWYKKyAKKyBHUlVCX01PRF9MSUNFTlNFICgiR1BMdjMrIik7CisgCistLS0gYS9ncnViLWNvcmUvY29tbWFuZHMvbHNwY2kuYworKysrIGIvZ3J1Yi1jb3JlL2NvbW1hbmRzL2xzcGNpLmMKK0BAIC0yNiw2ICsyNiw5IEBACisgCisgR1JVQl9NT0RfTElDRU5TRSAoIkdQTHYzKyIpOworIAorKyNpZiBfX0dOVUNfXyA+PSA5CisrI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2FkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIKKysjZW5kaWYKKyBzdHJ1Y3QgZ3J1Yl9wY2lfY2xhc3NuYW1lCisgeworICAgaW50IGNsYXNzOworQEAgLTE3MSw3ICsxNzQsNyBAQCBncnViX2xzcGNpX2l0ZXIgKGdydWJfcGNpX2RldmljZV90IGRldiwKKyAKKyAJICBpZiAoc3BhY2UgPT0gMCkKKyAJICAgIGNvbnRpbnVlOworLQkgCisrCisgCSAgc3dpdGNoIChzcGFjZSAmIEdSVUJfUENJX0FERFJfU1BBQ0VfTUFTSykKKyAJICAgIHsKKyAJICAgIGNhc2UgR1JVQl9QQ0lfQUREUl9TUEFDRV9JTzoKK0BAIC0xOTUsMTMgKzE5OCwxMyBAQCBncnViX2xzcGNpX2l0ZXIgKGdydWJfcGNpX2RldmljZV90IGRldiwKKyAJCQkgICAgICAgKHNwYWNlICYgR1JVQl9QQ0lfQUREUl9NRU1fTUFTSyksCisgCQkJICAgICAgIHNwYWNlICYgR1JVQl9QQ0lfQUREUl9NRU1fUFJFRkVUQ0gKKyAJCQkgICAgICAgPyAicHJlZmV0Y2hhYmxlIiA6ICJub24tcHJlZmV0Y2hhYmxlIik7CistCQkgCisrCisgCQl9CisgCSAgICAgIGVsc2UKKyAJCWdydWJfcHJpbnRmICgiXHQzMi1iaXQgbWVtb3J5IHNwYWNlICVkIGF0IDB4JTAxNmxseCBbJXNdXG4iLAorIAkJCSAgICAgKHVuc2lnbmVkKSAoKHJlZyAtIEdSVUJfUENJX1JFR19BRERSRVNTRVMpCisgCQkJICAgICAgLyBzaXplb2YgKGdydWJfdWludDMyX3QpKSAtIDEsCistCQkJICAgICAodW5zaWduZWQgbG9uZyBsb25nKSAKKysJCQkgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpCisgCQkJICAgICAoc3BhY2UgJiBHUlVCX1BDSV9BRERSX01FTV9NQVNLKSwKKyAJCQkgICAgIHNwYWNlICYgR1JVQl9QQ0lfQUREUl9NRU1fUFJFRkVUQ0gKKyAJCQkgICAgID8gInByZWZldGNoYWJsZSIgOiAibm9uLXByZWZldGNoYWJsZSIpOworLS0tIGEvZ3J1Yi1jb3JlL2ZzL2NwaW9fY29tbW9uLmMKKysrKyBiL2dydWItY29yZS9mcy9jcGlvX2NvbW1vbi5jCitAQCAtMjYsNyArMjYsOSBAQAorICNpbmNsdWRlIDxncnViL2FyY2hlbHAuaD4KKyAKKyBHUlVCX01PRF9MSUNFTlNFICgiR1BMdjMrIik7CistCisrI2lmIF9fR05VQ19fID49IDkKKysjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIgorKyNlbmRpZgorIHN0cnVjdCBncnViX2FyY2hlbHBfZGF0YQorIHsKKyAgIGdydWJfZGlza190IGRpc2s7CitAQCAtMTA4LDcgKzExMCw3IEBAIGdydWJfY3Bpb19nZXRfbGlua190YXJnZXQgKHN0cnVjdCBncnViX2EKKyAgIGlmICghcmV0KQorICAgICByZXR1cm4gTlVMTDsKKyAKKy0gIGVyciA9IGdydWJfZGlza19yZWFkIChkYXRhLT5kaXNrLCAwLCBkYXRhLT5kb2ZzLCBkYXRhLT5zaXplLCAKKysgIGVyciA9IGdydWJfZGlza19yZWFkIChkYXRhLT5kaXNrLCAwLCBkYXRhLT5kb2ZzLCBkYXRhLT5zaXplLAorIAkJCXJldCk7CisgICBpZiAoZXJyKQorICAgICB7CistLS0gYS9ncnViLWNvcmUvZnMvaGZzLmMKKysrKyBiL2dydWItY29yZS9mcy9oZnMuYworQEAgLTMyLDYgKzMyLDkgQEAKKyAjaW5jbHVkZSA8Z3J1Yi9mc2hlbHAuaD4KKyAKKyBHUlVCX01PRF9MSUNFTlNFICgiR1BMdjMrIik7CisrI2lmIF9fR05VQ19fID49IDkKKysjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIgorKyNlbmRpZgorIAorICNkZWZpbmUJR1JVQl9IRlNfU0JMT0NLCQkyCisgI2RlZmluZSBHUlVCX0hGU19FTUJFRF9IRlNQTFVTX1NJRyAweDQ4MkIKK0BAIC04ODIsNyArODg1LDcgQEAgZ3J1Yl9oZnNfaXRlcmF0ZV9kaXJfaXRfZGlyIChzdHJ1Y3QgZ3J1YgorIHsKKyAgIHN0cnVjdCBncnViX2hmc19jYXRhbG9nX2tleSAqY2tleSA9IHJlYy0+a2V5OworICAgc3RydWN0IGdydWJfaGZzX2l0ZXJhdGVfZGlyX25vZGVfZm91bmRfY3R4ICpjdHggPSBob29rX2FyZzsKKy0gIAorKworICAgLyogU3RvcCB3aGVuIHRoZSBlbnRyaWVzIGRvIG5vdCBtYXRjaCBhbnltb3JlLiAgKi8KKyAgIGlmIChja2V5LT5wYXJlbnRfZGlyICE9IGN0eC0+ZGlyX2JlKQorICAgICByZXR1cm4gMTsKK0BAIC0xMDc2LDcgKzEwNzksNyBAQCBtYWNyb21hbl90b191dGY4IChjaGFyICp0bywgY29uc3QgZ3J1Yl91CisgCXsKKyAJICAqb3B0cisrID0gJzonOworIAkgIGNvbnRpbnVlOworLQl9CQorKwl9CisgICAgICAgaWYgKCEoKmlwdHIgJiAweDgwKSkKKyAJeworIAkgICpvcHRyKysgPSAqaXB0cjsKK0BAIC0xMDkzLDcgKzEwOTYsNyBAQCB1dGY4X3RvX21hY3JvbWFuIChncnViX3VpbnQ4X3QgKnRvLCBjb25zCisgICBncnViX3VpbnQ4X3QgKmVuZCA9IHRvICsgMzE7CisgICBncnViX3VpbnQ4X3QgKm9wdHIgPSB0bzsKKyAgIGNvbnN0IGNoYXIgKmlwdHIgPSBmcm9tOworLSAgCisrCisgICB3aGlsZSAoKmlwdHIgJiYgb3B0ciA8IGVuZCkKKyAgICAgeworICAgICAgIGludCBpLCBjbGVuOworQEAgLTExMDMsNyArMTEwNiw3IEBAIHV0ZjhfdG9fbWFjcm9tYW4gKGdydWJfdWludDhfdCAqdG8sIGNvbnMKKyAJICAqb3B0cisrID0gJy8nOworIAkgIGlwdHIrKzsKKyAJICBjb250aW51ZTsKKy0JfQkKKysJfQorICAgICAgIGlmICghKCppcHRyICYgMHg4MCkpCisgCXsKKyAJICAqb3B0cisrID0gKmlwdHIrKzsKK0BAIC0xMTY0LDcgKzExNjcsNyBAQCBsb29rdXBfZmlsZSAoZ3J1Yl9mc2hlbHBfbm9kZV90IGRpciwKKyAgICpmb3VuZG5vZGUgPSBncnViX21hbGxvYyAoc2l6ZW9mIChzdHJ1Y3QgZ3J1Yl9mc2hlbHBfbm9kZSkpOworICAgaWYgKCEqZm91bmRub2RlKQorICAgICByZXR1cm4gZ3J1Yl9lcnJubzsKKy0gIAorKworICAgKCpmb3VuZG5vZGUpLT5pbm9kZSA9IGdydWJfYmVfdG9fY3B1MzIgKGZkcmVjLmRpci5kaXJpZCk7CisgICAoKmZvdW5kbm9kZSktPmZkcmVjID0gZmRyZWM7CisgICAoKmZvdW5kbm9kZSktPmRhdGEgPSBkaXItPmRhdGE7CitAQCAtMTI2NSw3ICsxMjY4LDcgQEAgZ3J1Yl9oZnNfZGlyIChncnViX2RldmljZV90IGRldmljZSwgY29ucworICAgICAgIC5ob29rX2RhdGEgPSBob29rX2RhdGEKKyAgICAgfTsKKyAgIGdydWJfZnNoZWxwX25vZGVfdCBmb3VuZCA9IE5VTEw7CistICAKKysKKyAgIGdydWJfZGxfcmVmIChteV9tb2QpOworIAorICAgZGF0YSA9IGdydWJfaGZzX21vdW50IChkZXZpY2UtPmRpc2spOworQEAgLTEyOTQsNyArMTI5Nyw3IEBAIGdydWJfaGZzX29wZW4gKHN0cnVjdCBncnViX2ZpbGUgKmZpbGUsIGMKKyB7CisgICBzdHJ1Y3QgZ3J1Yl9oZnNfZGF0YSAqZGF0YTsKKyAgIGdydWJfZnNoZWxwX25vZGVfdCBmb3VuZCA9IE5VTEw7CistICAKKysKKyAgIGdydWJfZGxfcmVmIChteV9tb2QpOworIAorICAgZGF0YSA9IGdydWJfaGZzX21vdW50IChmaWxlLT5kZXZpY2UtPmRpc2spOworLS0tIGEvZ3J1Yi1jb3JlL2ZzL2hmc3BsdXMuYworKysrIGIvZ3J1Yi1jb3JlL2ZzL2hmc3BsdXMuYworQEAgLTE5LDcgKzE5LDcgQEAKKyAKKyAvKiBIRlMrIGlzIGRvY3VtZW50ZWQgYXQgaHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vdGVjaG5vdGVzL3RuL3RuMTE1MC5odG1sICovCisgCistI2RlZmluZSBncnViX2ZzaGVscF9ub2RlIGdydWJfaGZzcGx1c19maWxlIAorKyNkZWZpbmUgZ3J1Yl9mc2hlbHBfbm9kZSBncnViX2hmc3BsdXNfZmlsZQorICNpbmNsdWRlIDxncnViL2Vyci5oPgorICNpbmNsdWRlIDxncnViL2ZpbGUuaD4KKyAjaW5jbHVkZSA8Z3J1Yi9tbS5oPgorQEAgLTM0LDYgKzM0LDkgQEAKKyAKKyBHUlVCX01PRF9MSUNFTlNFICgiR1BMdjMrIik7CisgCisrI2lmIF9fR05VQ19fID49IDkKKysjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIgorKyNlbmRpZgorIC8qIFRoZSB0eXBlIG9mIG5vZGUuICAqLworIGVudW0gZ3J1Yl9oZnNwbHVzX2J0bm9kZV90eXBlCisgICB7CitAQCAtMTQ1LDcgKzE0OCw3IEBAIGdydWJfaGZzcGx1c19yZWFkX2Jsb2NrIChncnViX2ZzaGVscF9ub2QKKyB7CisgICBzdHJ1Y3QgZ3J1Yl9oZnNwbHVzX2J0bm9kZSAqbm5vZGUgPSAwOworICAgZ3J1Yl9kaXNrX2FkZHJfdCBibGtzbGVmdCA9IGZpbGVibG9jazsKKy0gIHN0cnVjdCBncnViX2hmc3BsdXNfZXh0ZW50ICpleHRlbnRzID0gbm9kZS0+Y29tcHJlc3NlZCAKKysgIHN0cnVjdCBncnViX2hmc3BsdXNfZXh0ZW50ICpleHRlbnRzID0gbm9kZS0+Y29tcHJlc3NlZAorICAgICA/ICZub2RlLT5yZXNvdXJjZV9leHRlbnRzWzBdIDogJm5vZGUtPmV4dGVudHNbMF07CisgCisgICB3aGlsZSAoMSkKK0BAIC00NjEsNyArNDY0LDcgQEAgZ3J1Yl9oZnNwbHVzX2NtcF9leHRrZXkgKHN0cnVjdCBncnViX2hmcworIAorICAgaWYgKGV4dGtleV9hLT50eXBlIDwgZXh0a2V5X2ItPnR5cGUpCisgICAgIHJldHVybiAtMTsKKy0gIAorKworICAgYWtleSA9IGdydWJfYmVfdG9fY3B1MzIgKGV4dGtleV9hLT5zdGFydCk7CisgICBpZiAoYWtleSA+IGV4dGtleV9iLT5zdGFydCkKKyAgICAgcmV0dXJuIDE7CitAQCAtNTQ4LDcgKzU1MSw3IEBAIGdydWJfaGZzcGx1c19idHJlZV9zZWFyY2ggKHN0cnVjdCBncnViX2gKKyAJCQkgICBzdHJ1Y3QgZ3J1Yl9oZnNwbHVzX2tleV9pbnRlcm5hbCAqa2V5LAorIAkJCSAgIGludCAoKmNvbXBhcmVfa2V5cykgKHN0cnVjdCBncnViX2hmc3BsdXNfa2V5ICprZXlhLAorIAkJCQkJCXN0cnVjdCBncnViX2hmc3BsdXNfa2V5X2ludGVybmFsICprZXliKSwKKy0JCQkgICBzdHJ1Y3QgZ3J1Yl9oZnNwbHVzX2J0bm9kZSAqKm1hdGNobm9kZSwgCisrCQkJICAgc3RydWN0IGdydWJfaGZzcGx1c19idG5vZGUgKiptYXRjaG5vZGUsCisgCQkJICAgZ3J1Yl9vZmZfdCAqa2V5b2Zmc2V0KQorIHsKKyAgIGdydWJfdWludDY0X3QgY3Vycm5vZGU7CistLS0gYS9ncnViLWNvcmUvZnMvamZzLmMKKysrKyBiL2dydWItY29yZS9mcy9qZnMuYworQEAgLTI4LDYgKzI4LDkgQEAKKyAjaW5jbHVkZSA8Z3J1Yi9pMThuLmg+CisgCisgR1JVQl9NT0RfTElDRU5TRSAoIkdQTHYzKyIpOworKyNpZiBfX0dOVUNfXyA+PSA5CisrI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2FkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIKKysjZW5kaWYKKyAKKyAjZGVmaW5lIEdSVUJfSkZTX01BWF9TWU1MTktfQ05UCTgKKyAjZGVmaW5lIEdSVUJfSkZTX0ZJTEVUWVBFX01BU0sJMDE3MDAwMAorLS0tIGEvZ3J1Yi1jb3JlL2tlcm4vZWZpL2VmaS5jCisrKysgYi9ncnViLWNvcmUva2Vybi9lZmkvZWZpLmMKK0BAIC0yOSw2ICsyOSw5IEBACisgI2luY2x1ZGUgPGdydWIvbW0uaD4KKyAjaW5jbHVkZSA8Z3J1Yi9sb2FkZXIuaD4KKyAKKysjaWYgX19HTlVDX18gPj0gOQorKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdhZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiCisrI2VuZGlmCisgLyogVGhlIGhhbmRsZSBvZiBHUlVCIGl0c2VsZi4gRmlsbGVkIGluIGJ5IHRoZSBzdGFydHVwIGNvZGUuICAqLworIGdydWJfZWZpX2hhbmRsZV90IGdydWJfZWZpX2ltYWdlX2hhbmRsZTsKKyAKK0BAIC0yMDEsNyArMjA0LDcgQEAgZ3J1Yl9lZmlfc2V0X3ZhcmlhYmxlKGNvbnN0IGNoYXIgKnZhciwgYworIAorICAgciA9IGdydWJfZWZpX3N5c3RlbV90YWJsZS0+cnVudGltZV9zZXJ2aWNlczsKKyAKKy0gIHN0YXR1cyA9IGVmaV9jYWxsXzUgKHItPnNldF92YXJpYWJsZSwgdmFyMTYsIGd1aWQsIAorKyAgc3RhdHVzID0gZWZpX2NhbGxfNSAoci0+c2V0X3ZhcmlhYmxlLCB2YXIxNiwgZ3VpZCwKKyAJCSAgICAgICAoR1JVQl9FRklfVkFSSUFCTEVfTk9OX1ZPTEFUSUxFCisgCQkJfCBHUlVCX0VGSV9WQVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MKKyAJCQl8IEdSVUJfRUZJX1ZBUklBQkxFX1JVTlRJTUVfQUNDRVNTKSwKKy0tLSBhL2dydWItY29yZS9sb2FkZXIvZWZpL2NoYWlubG9hZGVyLmMKKysrKyBiL2dydWItY29yZS9sb2FkZXIvZWZpL2NoYWlubG9hZGVyLmMKK0BAIC00MSw2ICs0MSw5IEBACisgI2VuZGlmCisgCisgR1JVQl9NT0RfTElDRU5TRSAoIkdQTHYzKyIpOworKyNpZiBfX0dOVUNfXyA+PSA5CisrI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2FkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIKKysjZW5kaWYKKyAKKyBzdGF0aWMgZ3J1Yl9kbF90IG15X21vZDsKKyAKKy0tLSBhL2dydWItY29yZS9jb21tYW5kcy91c2J0ZXN0LmMKKysrKyBiL2dydWItY29yZS9jb21tYW5kcy91c2J0ZXN0LmMKK0BAIC02Myw2ICs2MywxMCBAQCBzdGF0aWMgY29uc3QgY2hhciAqdXNiX2RldnNwZWVkW10gPQorICAgICAiSGlnaCIKKyAgIH07CisgCisrI2lmIF9fR05VQ19fID49IDkKKysjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIgorKyNlbmRpZgorKworIHN0YXRpYyBncnViX3VzYl9lcnJfdAorIGdydWJfdXNiX2dldF9zdHJpbmcgKGdydWJfdXNiX2RldmljZV90IGRldiwgZ3J1Yl91aW50OF90IGluZGV4LCBpbnQgbGFuZ2lkLAorIAkJICAgICBjaGFyICoqc3RyaW5nKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2dydWIvZmlsZXMvZml4LmJ1aWxkLndpdGguc3F1YXNoZnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ3J1Yi9maWxlcy9maXguYnVpbGQud2l0aC5zcXVhc2hmcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzJkMmVhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2dydWIvZmlsZXMvZml4LmJ1aWxkLndpdGguc3F1YXNoZnMucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorV2hlbiBzcXVhc2hmcyBzdXBwb3J0IGlzIGVuYWJsZWQsIHRoZSBidWlsZCBmYWlscyB3aXRoOgorCisuLi9ncnViLTIuMDIvZ3J1Yi1jb3JlL2ZzL3NxdWFzaDQuYzogSW4gZnVuY3Rpb24gJ2RpcmVjdF9yZWFkJzoKKy4uL2dydWItMi4wMi9ncnViLWNvcmUvZnMvc3F1YXNoNC5jOjg2ODoxMDogZXJyb3I6ICdlcnInIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQorICAgICAgIGlmIChlcnIpCisgICAgICAgICAgXgorY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKK01ha2VmaWxlOjcyNzI6IHJlY2lwZSBmb3IgdGFyZ2V0ICdncnViLWNvcmUvZnMvbGliZ3J1Ym1vZHNfYS1zcXVhc2g0Lm8nIGZhaWxlZAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgKHNob3VsZCBiZSBmaXhlZCBpbiBnbnVsaWIgd2hpY2ggaXMgdGhlbiByYXJlbHkgdXBkYXRlZCBpbiBncnViKQorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CisKKy0tLSBncnViLTIuMDIvZ3J1Yi1jb3JlL2ZzL3NxdWFzaDQuYwkyMDE5LTAzLTEwIDIwOjAwOjE0LjA3MDQ2ODcyOCArMDAwMAorKysrIGdydWItMi4wMi5maXhlZC9ncnViLWNvcmUvZnMvc3F1YXNoNC5jCTIwMTktMDMtMTAgMTk6NTg6MzEuMzgyNDc3ODE4ICswMDAwCitAQCAtNzQ2LDcgKzc0Niw3IEBACisgCSAgICAgc3RydWN0IGdydWJfc3F1YXNoX2NhY2hlX2lub2RlICppbm8sCisgCSAgICAgZ3J1Yl9vZmZfdCBvZmYsIGNoYXIgKmJ1ZiwgZ3J1Yl9zaXplX3QgbGVuKQorIHsKKy0gIGdydWJfZXJyX3QgZXJyOworKyAgZ3J1Yl9lcnJfdCBlcnIgPSAwOworICAgZ3J1Yl9vZmZfdCBjdW11bGF0ZWRfdW5jb21wcmVzc2VkX3NpemUgPSAwOworICAgZ3J1Yl91aW50NjRfdCBhID0gMDsKKyAgIGdydWJfc2l6ZV90IGk7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ3J1Yi9ncnViMi5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ3J1Yi9ncnViMi5pbmMKaW5kZXggOGUwZjg2Mi4uYzY5OTQ3MiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2dydWIvZ3J1YjIuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9ncnViL2dydWIyLmluYwpAQCAtMjEsNiArMjEsOCBAQAogICAgICAgICAgICBmaWxlOi8vZ2NjOC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXg4Ni02NC1UcmVhdC1SX1g4Nl82NF9QTFQzMi1hcy1SX1g4Nl82NF9QQzMyLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtZ3J1Yi1zZXR1cC1EZWJ1Zy1tZXNzYWdlLWNsZWFudXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LmJ1aWxkLndpdGguc3F1YXNoZnMucGF0Y2ggXAogIgogU1JDX1VSSVttZDVzdW1dID0gIjExMTZkMWY2MGM4NDBlNmRiZDY3YWJiYzk5YWNiNDVkIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY2MGVlMTM2ZmJjZWUwODg1ODUxNmVkNGRlMmFkODcwNjhiZmUxYjZiOGIzNzg5NmNlMzUyOWZmMDU0YTcyNmQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L2ZpbGVzL0NWRS0yMDE4LTEwMDAyMDUtMS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvZmlsZXMvQ1ZFLTIwMTgtMTAwMDIwNS0xLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZWQzYzNkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvZmlsZXMvQ1ZFLTIwMTgtMTAwMDIwNS0xLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotRnJvbSA3MzQ2YzFlMTkyZDYzY2QzNWY5OWM3ZTg0NWU1M2M1ZDRkMGJkYzI0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGVkZHkgUmVlZCA8dGVkZHkucmVlZEBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDkgSnVuIDIwMTggMTE6NDU6MjAgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gdmJvb3Q6IERvIG5vdCB1c2UgaGFzaGVkLXN0cmluZ3Mgb2Zmc2V0Ci0KLVRoZSBoYXNoZWQtc3RyaW5ncyBzaWduYXR1cmUgcHJvcGVydHkgaW5jbHVkZXMgdHdvIHVpbnQzMl90IHZhbHVlcy4KLVRoZSBmaXJzdCBpcyB1bm5lZWRlZCBhcyB0aGVyZSBzaG91bGQgbmV2ZXIgYmUgYSBzdGFydCBvZmZzZXQgaW50byB0aGUKLXN0cmluZ3MgcmVnaW9uLiBUaGUgc2Vjb25kLCB0aGUgc2l6ZSwgaXMgbmVlZGVkIGJlY2F1c2UgdGhlIGFkZGVkCi1zaWduYXR1cmUgbm9kZSBhcHBlbmRzIHRvIHRoaXMgcmVnaW9uLgotCi1TZWUgdG9vbHMvaW1hZ2UtaG9zdC5jLCB3aGVyZSBhIHN0YXRpYyAwIHZhbHVlIGlzIHVzZWQgZm9yIHRoZSBvZmZzZXQuCi0KLVNpZ25lZC1vZmYtYnk6IFRlZGR5IFJlZWQgPHRlZGR5LnJlZWRAZ21haWwuY29tPgotUmV2aWV3ZWQtYnk6IFNpbW9uIEdsYXNzIDxzamdAY2hyb21pdW0ub3JnPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0W2h0dHA6Ly9naXQuZGVueC5kZS8/cD11LWJvb3QuZ2l0O2E9Y29tbWl0OwotICAgICAgICAgICAgICAgICBoPTczNDZjMWUxOTJkNjNjZDM1Zjk5YzdlODQ1ZTUzYzVkNGQwYmRjMjRdCi0KLUNWRTogQ1ZFLTIwMTgtMTAwMDIwNQotCi1TaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotLS0tCi0gY29tbW9uL2ltYWdlLXNpZy5jIHwgNyArKysrKy0tCi0gdG9vbHMvaW1hZ2UtaG9zdC5jIHwgMSArCi0gMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb21tb24vaW1hZ2Utc2lnLmMgYi9jb21tb24vaW1hZ2Utc2lnLmMKLWluZGV4IDhkMmZkMTAuLjVhMjY5ZDMgMTAwNjQ0Ci0tLS0gYS9jb21tb24vaW1hZ2Utc2lnLmMKLSsrKyBiL2NvbW1vbi9pbWFnZS1zaWcuYwotQEAgLTM3Nyw4ICszNzcsMTEgQEAgaW50IGZpdF9jb25maWdfY2hlY2tfc2lnKGNvbnN0IHZvaWQgKmZpdCwgaW50IG5vZmZzZXQsIGludCByZXF1aXJlZF9rZXlub2RlLAotIAkvKiBBZGQgdGhlIHN0cmluZ3MgKi8KLSAJc3RyaW5ncyA9IGZkdF9nZXRwcm9wKGZpdCwgbm9mZnNldCwgImhhc2hlZC1zdHJpbmdzIiwgTlVMTCk7Ci0gCWlmIChzdHJpbmdzKSB7Ci0tCQlmZHRfcmVnaW9uc1tjb3VudF0ub2Zmc2V0ID0gZmR0X29mZl9kdF9zdHJpbmdzKGZpdCkgKwotLQkJCQlmZHQzMl90b19jcHUoc3RyaW5nc1swXSk7Ci0rCQkvKgotKwkJICogVGhlIHN0cmluZ3MgcmVnaW9uIG9mZnNldCBtdXN0IGJlIGEgc3RhdGljIDB4MC4KLSsJCSAqIFRoaXMgaXMgc2V0IGluIHRvb2wvaW1hZ2UtaG9zdC5jCi0rCQkgKi8KLSsJCWZkdF9yZWdpb25zW2NvdW50XS5vZmZzZXQgPSBmZHRfb2ZmX2R0X3N0cmluZ3MoZml0KTsKLSAJCWZkdF9yZWdpb25zW2NvdW50XS5zaXplID0gZmR0MzJfdG9fY3B1KHN0cmluZ3NbMV0pOwotIAkJY291bnQrKzsKLSAJfQotZGlmZiAtLWdpdCBhL3Rvb2xzL2ltYWdlLWhvc3QuYyBiL3Rvb2xzL2ltYWdlLWhvc3QuYwotaW5kZXggOGU0MzY3MS4uYmUyZDU5YiAxMDA2NDQKLS0tLSBhL3Rvb2xzL2ltYWdlLWhvc3QuYwotKysrIGIvdG9vbHMvaW1hZ2UtaG9zdC5jCi1AQCAtMTM1LDYgKzEzNSw3IEBAIHN0YXRpYyBpbnQgZml0X2ltYWdlX3dyaXRlX3NpZyh2b2lkICpmaXQsIGludCBub2Zmc2V0LCB1aW50OF90ICp2YWx1ZSwKLSAKLSAJCXJldCA9IGZkdF9zZXRwcm9wKGZpdCwgbm9mZnNldCwgImhhc2hlZC1ub2RlcyIsCi0gCQkJCSAgIHJlZ2lvbl9wcm9wLCByZWdpb25fcHJvcGxlbik7Ci0rCQkvKiBUaGlzIGlzIGEgbGVnYWN5IG9mZnNldCwgaXQgaXMgdW51c2VkLCBhbmQgbXVzdCByZW1haW4gMC4gKi8KLSAJCXN0cmRhdGFbMF0gPSAwOwotIAkJc3RyZGF0YVsxXSA9IGNwdV90b19mZHQzMihzdHJpbmdfc2l6ZSk7Ci0gCQlpZiAoIXJldCkgewotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L2ZpbGVzL0NWRS0yMDE4LTEwMDAyMDUtMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvZmlsZXMvQ1ZFLTIwMTgtMTAwMDIwNS0yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjc5YWYxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvZmlsZXMvQ1ZFLTIwMTgtMTAwMDIwNS0yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTQzICswLDAgQEAKLUZyb20gNzIyMzlmYzg1ZjNlZGEwNzg1NDc5NTY2MDhjMDYzYWI5NjVlOTBlOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRlZGR5IFJlZWQgPHRlZGR5LnJlZWRAZ21haWwuY29tPgotRGF0ZTogU2F0LCA5IEp1biAyMDE4IDExOjM4OjA1IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHZib290OiBBZGQgRklUX1NJR05BVFVSRV9NQVhfU0laRSBwcm90ZWN0aW9uCi0KLVRoaXMgYWRkcyBhIG5ldyBjb25maWcgdmFsdWUgRklUX1NJR05BVFVSRV9NQVhfU0laRSwgd2hpY2ggY29udHJvbHMgdGhlCi1tYXggc2l6ZSBvZiBhIEZJVCBoZWFkZXIncyB0b3RhbHNpemUgZmllbGQuIFRoZSBmaWVsZCBpcyBjaGVja2VkIGJlZm9yZQotc2lnbmF0dXJlIGNoZWNrcyBhcmUgYXBwbGllZCB0byBwcm90ZWN0IGZyb20gcmVhZGluZyBwYXN0IHRoZSBpbnRlbmRlZAotRklUIHJlZ2lvbnMuCi0KLVRoaXMgZmllbGQgaXMgbm90IHBhcnQgb2YgdGhlIHZib290IHNpZ25hdHVyZSBzbyBpdCBzaG91bGQgYmUgc2FuaXR5Ci1jaGVja2VkLiBJZiB0aGUgZmllbGQgaXMgY29ycnVwdGVkIHRoZW4gdGhlIHN0cnVjdHVyZSBvciBzdHJpbmcgcmVnaW9uCi1yZWFkcyBtYXkgaGF2ZSB1bmludGVuZGVkIGJlaGF2aW9yLCBzdWNoIGFzIHJlYWRpbmcgZnJvbSBkZXZpY2UgbWVtb3J5LgotQSBkZWZhdWx0IHZhbHVlIG9mIDI1Nk1CIGlzIHNldCBhbmQgaW50ZW5kZWQgdG8gc3VwcG9ydCBtb3N0IG1heCBzdG9yYWdlCi1zaXplcy4KLQotU3VnZ2VzdGVkLWJ5OiBTaW1vbiBHbGFzcyA8c2pnQGNocm9taXVtLm9yZz4KLVNpZ25lZC1vZmYtYnk6IFRlZGR5IFJlZWQgPHRlZGR5LnJlZWRAZ21haWwuY29tPgotUmV2aWV3ZWQtYnk6IFNpbW9uIEdsYXNzIDxzamdAY2hyb21pdW0ub3JnPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0W2h0dHA6Ly9naXQuZGVueC5kZS8/cD11LWJvb3QuZ2l0O2E9Y29tbWl0OwotICAgICAgICAgICAgICAgICBoPTcyMjM5ZmM4NWYzZWRhMDc4NTQ3OTU2NjA4YzA2M2FiOTY1ZTkwZTldCi0KLUNWRTogQ1ZFLTIwMTgtMTAwMDIwNQotCi1TaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotLS0tCi0gS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgIHwgMTAgKysrKysrKysrKwotIGNvbW1vbi9pbWFnZS1zaWcuYyAgICAgICAgICB8ICA1ICsrKysrCi0gdGVzdC9weS90ZXN0cy90ZXN0X3Zib290LnB5IHwgMzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gdG9vbHMvTWFrZWZpbGUgICAgICAgICAgICAgIHwgIDEgKwotIDQgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvS2NvbmZpZyBiL0tjb25maWcKLWluZGV4IDVhODJjOTUuLmM4Yjg2Y2QgMTAwNjQ0Ci0tLS0gYS9LY29uZmlnCi0rKysgYi9LY29uZmlnCi1AQCAtMjY3LDYgKzI2NywxNiBAQCBjb25maWcgRklUX1NJR05BVFVSRQotIAkgIGZvcm1hdCBzdXBwb3J0IGluIHRoaXMgY2FzZSwgZW5hYmxlIGl0IHVzaW5nCi0gCSAgQ09ORklHX0lNQUdFX0ZPUk1BVF9MRUdBQ1kuCi0gCi0rY29uZmlnIEZJVF9TSUdOQVRVUkVfTUFYX1NJWkUKLSsJaGV4ICJNYXggc2l6ZSBvZiBzaWduZWQgRklUIHN0cnVjdHVyZXMiCi0rCWRlcGVuZHMgb24gRklUX1NJR05BVFVSRQotKwlkZWZhdWx0IDB4MTAwMDAwMDAKLSsJaGVscAotKwkgIFRoaXMgb3B0aW9uIHNldHMgYSBtYXggc2l6ZSBpbiBieXRlcyBmb3IgdmVyaWZpZWQgRklUIHVJbWFnZXMuCi0rCSAgQSBzYW5lIHZhbHVlIG9mIDI1Nk1CIHByb3RlY3RzIGNvcnJ1cHRlZCBEVEIgc3RydWN0dXJlcyBmcm9tIG92ZXJsYXBwaW5nCi0rCSAgZGV2aWNlIG1lbW9yeS4gQXNzdXJlIHRoaXMgc2l6ZSBkb2VzIG5vdCBleHRlbmQgcGFzdCBleHBlY3RlZCBzdG9yYWdlCi0rCSAgc3BhY2UuCi0rCi0gY29uZmlnIEZJVF9WRVJCT1NFCi0gCWJvb2wgIlNob3cgdmVyYm9zZSBtZXNzYWdlcyB3aGVuIEZJVCBpbWFnZXMgZmFpbCIKLSAJaGVscAotZGlmZiAtLWdpdCBhL2NvbW1vbi9pbWFnZS1zaWcuYyBiL2NvbW1vbi9pbWFnZS1zaWcuYwotaW5kZXggZjY1ZDg4My4uOGQyZmQxMCAxMDA2NDQKLS0tLSBhL2NvbW1vbi9pbWFnZS1zaWcuYwotKysrIGIvY29tbW9uL2ltYWdlLXNpZy5jCi1AQCAtMTU2LDYgKzE1NiwxMSBAQCBzdGF0aWMgaW50IGZpdF9pbWFnZV9zZXR1cF92ZXJpZnkoc3RydWN0IGltYWdlX3NpZ25faW5mbyAqaW5mbywKLSB7Ci0gCWNoYXIgKmFsZ29fbmFtZTsKLSAKLSsJaWYgKGZkdF90b3RhbHNpemUoZml0KSA+IENPTkZJR19GSVRfU0lHTkFUVVJFX01BWF9TSVpFKSB7Ci0rCQkqZXJyX21zZ3AgPSAiVG90YWwgc2l6ZSB0b28gbGFyZ2UiOwotKwkJcmV0dXJuIDE7Ci0rCX0KLSsKLSAJaWYgKGZpdF9pbWFnZV9oYXNoX2dldF9hbGdvKGZpdCwgbm9mZnNldCwgJmFsZ29fbmFtZSkpIHsKLSAJCSplcnJfbXNncCA9ICJDYW4ndCBnZXQgaGFzaCBhbGdvIHByb3BlcnR5IjsKLSAJCXJldHVybiAtMTsKLWRpZmYgLS1naXQgYS90ZXN0L3B5L3Rlc3RzL3Rlc3RfdmJvb3QucHkgYi90ZXN0L3B5L3Rlc3RzL3Rlc3RfdmJvb3QucHkKLWluZGV4IGVlOTM5ZjIuLjNkMjVlYzMgMTAwNjQ0Ci0tLS0gYS90ZXN0L3B5L3Rlc3RzL3Rlc3RfdmJvb3QucHkKLSsrKyBiL3Rlc3QvcHkvdGVzdHMvdGVzdF92Ym9vdC5weQotQEAgLTI2LDYgKzI2LDcgQEAgVGVzdHMgcnVuIHdpdGggYm90aCBTSEExIGFuZCBTSEEyNTYgaGFzaGluZy4KLSAKLSBpbXBvcnQgcHl0ZXN0Ci0gaW1wb3J0IHN5cwotK2ltcG9ydCBzdHJ1Y3QKLSBpbXBvcnQgdV9ib290X3V0aWxzIGFzIHV0aWwKLSAKLSBAcHl0ZXN0Lm1hcmsuYm9hcmRzcGVjKCdzYW5kYm94JykKLUBAIC0xMDUsNiArMTA2LDI2IEBAIGRlZiB0ZXN0X3Zib290KHVfYm9vdF9jb25zb2xlKToKLSAgICAgICAgIHV0aWwucnVuX2FuZF9sb2coY29ucywgW21raW1hZ2UsICctRicsICctaycsIHRtcGRpciwgJy1LJywgZHRiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1yJywgZml0XSkKLSAKLSsgICAgZGVmIHJlcGxhY2VfZml0X3RvdGFsc2l6ZShzaXplKToKLSsgICAgICAgICIiIlJlcGxhY2UgRklUIGhlYWRlcidzIHRvdGFsc2l6ZSB3aXRoIHNvbWV0aGluZyBncmVhdGVyLgotKwotKyAgICAgICAgVGhlIHRvdGFsc2l6ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byBGSVRfU0lHTkFUVVJFX01BWF9TSVpFLgotKyAgICAgICAgSWYgdGhlIHNpemUgaXMgZ3JlYXRlciwgdGhlIHNpZ25hdHVyZSB2ZXJpZmljYXRpb24gc2hvdWxkIHJldHVybiBmYWxzZS4KLSsKLSsgICAgICAgIEFyZ3M6Ci0rICAgICAgICAgICAgc2l6ZTogVGhlIG5ldyB0b3RhbHNpemUgb2YgdGhlIGhlYWRlcgotKwotKyAgICAgICAgUmV0dXJuczoKLSsgICAgICAgICAgICBwcmV2X3NpemU6IFRoZSBwcmV2aW91cyB0b3RhbHNpemUgcmVhZCBmcm9tIHRoZSBoZWFkZXIKLSsgICAgICAgICIiIgotKyAgICAgICAgdG90YWxfc2l6ZSA9IDAKLSsgICAgICAgIHdpdGggb3BlbihmaXQsICdyK2InKSBhcyBoYW5kbGU6Ci0rICAgICAgICAgICAgaGFuZGxlLnNlZWsoNCkKLSsgICAgICAgICAgICB0b3RhbF9zaXplID0gaGFuZGxlLnJlYWQoNCkKLSsgICAgICAgICAgICBoYW5kbGUuc2Vlayg0KQotKyAgICAgICAgICAgIGhhbmRsZS53cml0ZShzdHJ1Y3QucGFjaygiPkkiLCBzaXplKSkKLSsgICAgICAgIHJldHVybiBzdHJ1Y3QudW5wYWNrKCI+SSIsIHRvdGFsX3NpemUpWzBdCi0rCi0gICAgIGRlZiB0ZXN0X3dpdGhfYWxnbyhzaGFfYWxnbyk6Ci0gICAgICAgICAiIiJUZXN0IHZlcmlmaWVkIGJvb3Qgd2l0aCB0aGUgZ2l2ZW4gaGFzaCBhbGdvcml0aG0uCi0gCi1AQCAtMTQ2LDYgKzE2NywxOCBAQCBkZWYgdGVzdF92Ym9vdCh1X2Jvb3RfY29uc29sZSk6Ci0gICAgICAgICB1dGlsLnJ1bl9hbmRfbG9nKGNvbnMsIFtmaXRfY2hlY2tfc2lnbiwgJy1mJywgZml0LCAnLWsnLCB0bXBkaXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLWsnLCBkdGJdKQotIAotKyAgICAgICAgIyBSZXBsYWNlIGhlYWRlciBieXRlcwotKyAgICAgICAgYmNmZyA9IHVfYm9vdF9jb25zb2xlLmNvbmZpZy5idWlsZGNvbmZpZwotKyAgICAgICAgbWF4X3NpemUgPSBpbnQoYmNmZy5nZXQoJ2NvbmZpZ19maXRfc2lnbmF0dXJlX21heF9zaXplJywgMHgxMDAwMDAwMCksIDApCi0rICAgICAgICBleGlzdGluZ19zaXplID0gcmVwbGFjZV9maXRfdG90YWxzaXplKG1heF9zaXplICsgMSkKLSsgICAgICAgIHJ1bl9ib290bShzaGFfYWxnbywgJ1NpZ25lZCBjb25maWcgd2l0aCBiYWQgaGFzaCcsICdCYWQgRGF0YSBIYXNoJywgRmFsc2UpCi0rICAgICAgICBjb25zLmxvZy5hY3Rpb24oJyVzOiBDaGVjayBvdmVyZmxvd2VkIEZJVCBoZWFkZXIgdG90YWxzaXplJyAlIHNoYV9hbGdvKQotKwotKyAgICAgICAgIyBSZXBsYWNlIHdpdGggZXhpc3RpbmcgaGVhZGVyIGJ5dGVzCi0rICAgICAgICByZXBsYWNlX2ZpdF90b3RhbHNpemUoZXhpc3Rpbmdfc2l6ZSkKLSsgICAgICAgIHJ1bl9ib290bShzaGFfYWxnbywgJ3NpZ25lZCBjb25maWcnLCAnZGV2KycsIFRydWUpCi0rICAgICAgICBjb25zLmxvZy5hY3Rpb24oJyVzOiBDaGVjayBkZWZhdWx0IEZJVCBoZWFkZXIgdG90YWxzaXplJyAlIHNoYV9hbGdvKQotKwotICAgICAgICAgIyBJbmNyZW1lbnQgdGhlIGZpcnN0IGJ5dGUgb2YgdGhlIHNpZ25hdHVyZSwgd2hpY2ggc2hvdWxkIGNhdXNlIGZhaWx1cmUKLSAgICAgICAgIHNpZyA9IHV0aWwucnVuX2FuZF9sb2coY29ucywgJ2ZkdGdldCAtdCBieCAlcyAlcyB2YWx1ZScgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZml0LCBzaWdfbm9kZSkpCi1kaWZmIC0tZ2l0IGEvdG9vbHMvTWFrZWZpbGUgYi90b29scy9NYWtlZmlsZQotaW5kZXggNWRkMzNlZC4uMGMzMzQxZSAxMDA2NDQKLS0tLSBhL3Rvb2xzL01ha2VmaWxlCi0rKysgYi90b29scy9NYWtlZmlsZQotQEAgLTEzMyw2ICsxMzMsNyBAQCBpZmRlZiBDT05GSUdfRklUX1NJR05BVFVSRQotICMgVGhpcyBhZmZlY3RzIGluY2x1ZGUvaW1hZ2UuaCwgYnV0IGluY2x1ZGluZyB0aGUgYm9hcmQgY29uZmlnIGZpbGUKLSAjIGlzIHRyaWNreSwgc28gbWFudWFsbHkgZGVmaW5lIHRoaXMgb3B0aW9ucyBoZXJlLgotIEhPU1RfRVhUUkFDRkxBR1MJKz0gLURDT05GSUdfRklUX1NJR05BVFVSRQotK0hPU1RfRVhUUkFDRkxBR1MJKz0gLURDT05GSUdfRklUX1NJR05BVFVSRV9NQVhfU0laRT0kKENPTkZJR19GSVRfU0lHTkFUVVJFX01BWF9TSVpFKQotIGVuZGlmCi0gCi0gaWZkZWYgQ09ORklHX1NZU19VX0JPT1RfT0ZGUwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1jb21tb24uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtY29tbW9uLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2ZiOWNjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtY29tbW9uLmluYwpAQCAtMCwwICsxLDE1IEBACitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmRlbnguZGUvd2lraS9VLUJvb3QvV2ViSG9tZSIKK1NFQ1RJT04gPSAiYm9vdGxvYWRlcnMiCitERVBFTkRTICs9ICJmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUiCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTGljZW5zZXMvUkVBRE1FO21kNT0zMDUwM2ZkMzIxNDMyZmM3MTMyMzhmNTgyMTkzYjc4ZSIKK1BFID0gIjEiCisKKyMgV2UgdXNlIHRoZSByZXZpc2lvbiBpbiBvcmRlciB0byBhdm9pZCBoYXZpbmcgdG8gZmV0Y2ggaXQgZnJvbSB0aGUKKyMgcmVwbyBkdXJpbmcgcGFyc2UKK1NSQ1JFViA9ICJkMzY4OTI2N2Y5MmM1OTU2ZTA5Y2M3ZDFiYWE0NzAwMTQxNjYyYmZmIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5kZW54LmRlL3UtYm9vdC5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1jb21tb25fMjAxOC4wNy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1jb21tb25fMjAxOC4wNy5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyYjQ0ZGMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtY29tbW9uXzIwMTguMDcuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5kZW54LmRlL3dpa2kvVS1Cb290L1dlYkhvbWUiCi1TRUNUSU9OID0gImJvb3Rsb2FkZXJzIgotREVQRU5EUyArPSAiZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIgotCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xpY2Vuc2VzL1JFQURNRTttZDU9MzA1MDNmZDMyMTQzMmZjNzEzMjM4ZjU4MjE5M2I3OGUiCi1QRSA9ICIxIgotCi0jIFdlIHVzZSB0aGUgcmV2aXNpb24gaW4gb3JkZXIgdG8gYXZvaWQgaGF2aW5nIHRvIGZldGNoIGl0IGZyb20gdGhlCi0jIHJlcG8gZHVyaW5nIHBhcnNlCi1TUkNSRVYgPSAiOGM1ZDRmZDBlYzIyMjcwMTU5OGEyN2IyNmFiNzI2NWQ0Y2VlNDVhMyIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXQuZGVueC5kZS91LWJvb3QuZ2l0IFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTEwMDAyMDUtMS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xMDAwMjA1LTIucGF0Y2ggXAotIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtZnctdXRpbHNfMjAxOC4wNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LWZ3LXV0aWxzXzIwMTguMDcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyYzEzZTcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtZnctdXRpbHNfMjAxOC4wNy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLXJlcXVpcmUgdS1ib290LWNvbW1vbl8ke1BWfS5pbmMKLQotU1VNTUFSWSA9ICJVLUJvb3QgYm9vdGxvYWRlciBmd19wcmludGVudi9zZXRlbnYgdXRpbGl0aWVzIgotREVQRU5EUyArPSAibXRkLXV0aWxzIgotCi1JTlNBTkVfU0tJUF8ke1BOfSA9ICJhbHJlYWR5LXN0cmlwcGVkIgotRVhUUkFfT0VNQUtFX2NsYXNzLXRhcmdldCA9ICdDUk9TU19DT01QSUxFPSR7VEFSR0VUX1BSRUZJWH0gQ0M9IiR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IiBIT1NUQ0M9IiR7QlVJTERfQ0N9ICR7QlVJTERfQ0ZMQUdTfSAke0JVSUxEX0xERkxBR1N9IiBWPTEnCi1FWFRSQV9PRU1BS0VfY2xhc3MtY3Jvc3MgPSAnSE9TVENDPSIke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSIgVj0xJwotCi1pbmhlcml0IHVib290LWNvbmZpZwotCi1kb19jb21waWxlICgpIHsKLQlvZV9ydW5tYWtlICR7VUJPT1RfTUFDSElORX0KLQlvZV9ydW5tYWtlIGVudnRvb2xzCi19Ci0KLWRvX2luc3RhbGwgKCkgewotCWluc3RhbGwgLWQgJHtEfSR7YmFzZV9zYmluZGlyfQotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0KLQlpbnN0YWxsIC1tIDc1NSAke1N9L3Rvb2xzL2Vudi9md19wcmludGVudiAke0R9JHtiYXNlX3NiaW5kaXJ9L2Z3X3ByaW50ZW52Ci0JaW5zdGFsbCAtbSA3NTUgJHtTfS90b29scy9lbnYvZndfcHJpbnRlbnYgJHtEfSR7YmFzZV9zYmluZGlyfS9md19zZXRlbnYKLQlpbnN0YWxsIC1tIDA2NDQgJHtTfS90b29scy9lbnYvZndfZW52LmNvbmZpZyAke0R9JHtzeXNjb25mZGlyfS9md19lbnYuY29uZmlnCi19Ci0KLWRvX2luc3RhbGxfY2xhc3MtY3Jvc3MgKCkgewotCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyX2Nyb3NzfQotCWluc3RhbGwgLW0gNzU1ICR7U30vdG9vbHMvZW52L2Z3X3ByaW50ZW52ICR7RH0ke2JpbmRpcl9jcm9zc30vZndfcHJpbnRlbnYKLQlpbnN0YWxsIC1tIDc1NSAke1N9L3Rvb2xzL2Vudi9md19wcmludGVudiAke0R9JHtiaW5kaXJfY3Jvc3N9L2Z3X3NldGVudgotfQotCi1TWVNST09UX0RJUlNfYXBwZW5kX2NsYXNzLWNyb3NzID0gIiAke2JpbmRpcl9jcm9zc30iCi0KLVBBQ0tBR0VfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCi1CQkNMQVNTRVhURU5EID0gImNyb3NzIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtZnctdXRpbHNfMjAxOS4wMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LWZ3LXV0aWxzXzIwMTkuMDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjVjZTU2OAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LWZ3LXV0aWxzXzIwMTkuMDEuYmIKQEAgLTAsMCArMSwzNCBAQAorcmVxdWlyZSB1LWJvb3QtY29tbW9uLmluYworCitTVU1NQVJZID0gIlUtQm9vdCBib290bG9hZGVyIGZ3X3ByaW50ZW52L3NldGVudiB1dGlsaXRpZXMiCitERVBFTkRTICs9ICJtdGQtdXRpbHMiCisKK0lOU0FORV9TS0lQXyR7UE59ID0gImFscmVhZHktc3RyaXBwZWQiCitFWFRSQV9PRU1BS0VfY2xhc3MtdGFyZ2V0ID0gJ0NST1NTX0NPTVBJTEU9JHtUQVJHRVRfUFJFRklYfSBDQz0iJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30iIEhPU1RDQz0iJHtCVUlMRF9DQ30gJHtCVUlMRF9DRkxBR1N9ICR7QlVJTERfTERGTEFHU30iIFY9MScKK0VYVFJBX09FTUFLRV9jbGFzcy1jcm9zcyA9ICdIT1NUQ0M9IiR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IiBWPTEnCisKK2luaGVyaXQgdWJvb3QtY29uZmlnCisKK2RvX2NvbXBpbGUgKCkgeworCW9lX3J1bm1ha2UgJHtVQk9PVF9NQUNISU5FfQorCW9lX3J1bm1ha2UgZW52dG9vbHMKK30KKworZG9faW5zdGFsbCAoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtiYXNlX3NiaW5kaXJ9CisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfQorCWluc3RhbGwgLW0gNzU1ICR7U30vdG9vbHMvZW52L2Z3X3ByaW50ZW52ICR7RH0ke2Jhc2Vfc2JpbmRpcn0vZndfcHJpbnRlbnYKKwlpbnN0YWxsIC1tIDc1NSAke1N9L3Rvb2xzL2Vudi9md19wcmludGVudiAke0R9JHtiYXNlX3NiaW5kaXJ9L2Z3X3NldGVudgorCWluc3RhbGwgLW0gMDY0NCAke1N9L3Rvb2xzL2Vudi9md19lbnYuY29uZmlnICR7RH0ke3N5c2NvbmZkaXJ9L2Z3X2Vudi5jb25maWcKK30KKworZG9faW5zdGFsbF9jbGFzcy1jcm9zcyAoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJfY3Jvc3N9CisJaW5zdGFsbCAtbSA3NTUgJHtTfS90b29scy9lbnYvZndfcHJpbnRlbnYgJHtEfSR7YmluZGlyX2Nyb3NzfS9md19wcmludGVudgorCWluc3RhbGwgLW0gNzU1ICR7U30vdG9vbHMvZW52L2Z3X3ByaW50ZW52ICR7RH0ke2JpbmRpcl9jcm9zc30vZndfc2V0ZW52Cit9CisKK1NZU1JPT1RfRElSU19hcHBlbmRfY2xhc3MtY3Jvc3MgPSAiICR7YmluZGlyX2Nyb3NzfSIKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKK0JCQ0xBU1NFWFRFTkQgPSAiY3Jvc3MiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1ta2ltYWdlXzIwMTguMDcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1ta2ltYWdlXzIwMTguMDcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4YmZmMWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtbWtpbWFnZV8yMDE4LjA3LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotcmVxdWlyZSB1LWJvb3QtY29tbW9uXyR7UFZ9LmluYwotCi1TVU1NQVJZID0gIlUtQm9vdCBib290bG9hZGVyIGltYWdlIGNyZWF0aW9uIHRvb2wiCi1ERVBFTkRTICs9ICJvcGVuc3NsIgotCi1FWFRSQV9PRU1BS0VfY2xhc3MtdGFyZ2V0ID0gJ0NST1NTX0NPTVBJTEU9IiR7VEFSR0VUX1BSRUZJWH0iIENDPSIke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSIgSE9TVENDPSIke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSIgU1RSSVA9dHJ1ZSBWPTEnCi1FWFRSQV9PRU1BS0VfY2xhc3MtbmF0aXZlID0gJ0NDPSIke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSIgSE9TVENDPSIke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSIgU1RSSVA9dHJ1ZSBWPTEnCi1FWFRSQV9PRU1BS0VfY2xhc3MtbmF0aXZlc2RrID0gJ0NST1NTX0NPTVBJTEU9IiR7SE9TVF9QUkVGSVh9IiBDQz0iJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30iIEhPU1RDQz0iJHtCVUlMRF9DQ30gJHtCVUlMRF9DRkxBR1N9ICR7QlVJTERfTERGTEFHU30iIFNUUklQPXRydWUgVj0xJwotCi1kb19jb21waWxlICgpIHsKLQlvZV9ydW5tYWtlIHNhbmRib3hfZGVmY29uZmlnCi0KLQkjIERpc2FibGUgQ09ORklHX0NNRF9MSUNFTlNFLCBsaWNlbnNlLmggaXMgbm90IHVzZWQgYnkgdG9vbHMgYW5kCi0JIyBnZW5lcmF0aW5nIGl0IHJlcXVpcmVzIGJpbjJoZWFkZXIgdG9vbCwgd2hpY2ggZm9yIHRhcmdldCBidWlsZAotCSMgaXMgYnVpbHQgd2l0aCB0YXJnZXQgdG9vbHMgYW5kIHRodXMgY2Fubm90IGJlIGV4ZWN1dGVkIG9uIGhvc3QuCi0Jc2VkIC1pICJzL0NPTkZJR19DTURfTElDRU5TRT0uKi8jIENPTkZJR19DTURfTElDRU5TRSBpcyBub3Qgc2V0LyIgLmNvbmZpZwotCi0Jb2VfcnVubWFrZSBjcm9zc190b29scyBOT19TREw9MQotfQotCi1kb19pbnN0YWxsICgpIHsKLQlpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KLQlpbnN0YWxsIC1tIDA3NTUgdG9vbHMvbWtpbWFnZSAke0R9JHtiaW5kaXJ9L3Vib290LW1raW1hZ2UKLQlsbiAtc2YgdWJvb3QtbWtpbWFnZSAke0R9JHtiaW5kaXJ9L21raW1hZ2UKLX0KLQotUkRFUEVORFNfJHtQTn0gKz0gImR0YyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtdG9vbHNfMjAxOS4wMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LXRvb2xzXzIwMTkuMDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmVkZTk4NAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LXRvb2xzXzIwMTkuMDEuYmIKQEAgLTAsMCArMSw2NyBAQAorcmVxdWlyZSB1LWJvb3QtY29tbW9uLmluYworCitTVU1NQVJZID0gIlUtQm9vdCBib290bG9hZGVyIHRvb2xzIgorREVQRU5EUyArPSAib3BlbnNzbCIKKworUFJPVklERVMgPSAiJHtNTFBSRUZJWH11LWJvb3QtbWtpbWFnZSAke01MUFJFRklYfXUtYm9vdC1ta2VudmltYWdlIgorUFJPVklERVNfY2xhc3MtbmF0aXZlID0gInUtYm9vdC1ta2ltYWdlLW5hdGl2ZSB1LWJvb3QtbWtlbnZpbWFnZS1uYXRpdmUiCisKK1BBQ0tBR0VTICs9ICIke1BOfS1ta2ltYWdlICR7UE59LW1rZW52aW1hZ2UiCisKKyMgUmVxdWlyZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCAidS1ib290LW1raW1hZ2UteHh4LmJiIgorUlBST1ZJREVTXyR7UE59LW1raW1hZ2UgPSAidS1ib290LW1raW1hZ2UiCitSUkVQTEFDRVNfJHtQTn0tbWtpbWFnZSA9ICJ1LWJvb3QtbWtpbWFnZSIKK1JDT05GTElDVFNfJHtQTn0tbWtpbWFnZSA9ICJ1LWJvb3QtbWtpbWFnZSIKKworRVhUUkFfT0VNQUtFX2NsYXNzLXRhcmdldCA9ICdDUk9TU19DT01QSUxFPSIke1RBUkdFVF9QUkVGSVh9IiBDQz0iJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30iIEhPU1RDQz0iJHtCVUlMRF9DQ30gJHtCVUlMRF9DRkxBR1N9ICR7QlVJTERfTERGTEFHU30iIFNUUklQPXRydWUgVj0xJworRVhUUkFfT0VNQUtFX2NsYXNzLW5hdGl2ZSA9ICdDQz0iJHtCVUlMRF9DQ30gJHtCVUlMRF9DRkxBR1N9ICR7QlVJTERfTERGTEFHU30iIEhPU1RDQz0iJHtCVUlMRF9DQ30gJHtCVUlMRF9DRkxBR1N9ICR7QlVJTERfTERGTEFHU30iIFNUUklQPXRydWUgVj0xJworRVhUUkFfT0VNQUtFX2NsYXNzLW5hdGl2ZXNkayA9ICdDUk9TU19DT01QSUxFPSIke0hPU1RfUFJFRklYfSIgQ0M9IiR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IiBIT1NUQ0M9IiR7QlVJTERfQ0N9ICR7QlVJTERfQ0ZMQUdTfSAke0JVSUxEX0xERkxBR1N9IiBTVFJJUD10cnVlIFY9MScKKworU0VEX0NPTkZJR19FRkkgPSAnLWUgInMvQ09ORklHX0VGSV9MT0FERVI9LiovIyBDT05GSUdfRUZJX0xPQURFUiBpcyBub3Qgc2V0LyInCitTRURfQ09ORklHX0VGSV94ODYgPSAnJworU0VEX0NPTkZJR19FRklfeDg2LTY0ID0gJycKK1NFRF9DT05GSUdfRUZJX2FybSA9ICcnCitTRURfQ09ORklHX0VGSV9hcm1lYiA9ICcnCitTRURfQ09ORklHX0VGSV9hYXJjaDY0ID0gJycKKworZG9fY29tcGlsZSAoKSB7CisJb2VfcnVubWFrZSBzYW5kYm94X2RlZmNvbmZpZworCisJIyBEaXNhYmxlIENPTkZJR19DTURfTElDRU5TRSwgbGljZW5zZS5oIGlzIG5vdCB1c2VkIGJ5IHRvb2xzIGFuZAorCSMgZ2VuZXJhdGluZyBpdCByZXF1aXJlcyBiaW4yaGVhZGVyIHRvb2wsIHdoaWNoIGZvciB0YXJnZXQgYnVpbGQKKwkjIGlzIGJ1aWx0IHdpdGggdGFyZ2V0IHRvb2xzIGFuZCB0aHVzIGNhbm5vdCBiZSBleGVjdXRlZCBvbiBob3N0LgorCXNlZCAtaSAtZSAicy9DT05GSUdfQ01EX0xJQ0VOU0U9LiovIyBDT05GSUdfQ01EX0xJQ0VOU0UgaXMgbm90IHNldC8iICR7U0VEX0NPTkZJR19FRkl9IC5jb25maWcKKworCW9lX3J1bm1ha2UgY3Jvc3NfdG9vbHMgTk9fU0RMPTEKK30KKworZG9faW5zdGFsbCAoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisKKwkjIG1raW1hZ2UKKwlpbnN0YWxsIC1tIDA3NTUgdG9vbHMvbWtpbWFnZSAke0R9JHtiaW5kaXJ9L3Vib290LW1raW1hZ2UKKwlsbiAtc2YgdWJvb3QtbWtpbWFnZSAke0R9JHtiaW5kaXJ9L21raW1hZ2UKKworCSMgbWtlbnZpbWFnZQorCWluc3RhbGwgLW0gMDc1NSB0b29scy9ta2VudmltYWdlICR7RH0ke2JpbmRpcn0vdWJvb3QtbWtlbnZpbWFnZQorCWxuIC1zZiB1Ym9vdC1ta2VudmltYWdlICR7RH0ke2JpbmRpcn0vbWtlbnZpbWFnZQorCisJIyBkdW1waW1hZ2UKKwlpbnN0YWxsIC1tIDA3NTUgdG9vbHMvZHVtcGltYWdlICR7RH0ke2JpbmRpcn0vdWJvb3QtZHVtcGltYWdlCisJbG4gLXNmIHVib290LWR1bXBpbWFnZSAke0R9JHtiaW5kaXJ9L2R1bXBpbWFnZQorCisJIyBmaXRfY2hlY2tfc2lnbgorCWluc3RhbGwgLW0gMDc1NSB0b29scy9maXRfY2hlY2tfc2lnbiAke0R9JHtiaW5kaXJ9L3Vib290LWZpdF9jaGVja19zaWduCisJbG4gLXNmIHVib290LWZpdF9jaGVja19zaWduICR7RH0ke2JpbmRpcn0vZml0X2NoZWNrX3NpZ24KK30KKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKK0ZJTEVTXyR7UE59ID0gIiIKK0ZJTEVTXyR7UE59LW1raW1hZ2UgPSAiJHtiaW5kaXJ9L3Vib290LW1raW1hZ2UgJHtiaW5kaXJ9L21raW1hZ2UgJHtiaW5kaXJ9L3Vib290LWR1bXBpbWFnZSAke2JpbmRpcn0vZHVtcGltYWdlICR7YmluZGlyfS91Ym9vdC1maXRfY2hlY2tfc2lnbiAke2JpbmRpcn0vZml0X2NoZWNrX3NpZ24iCitGSUxFU18ke1BOfS1ta2VudmltYWdlID0gIiR7YmluZGlyfS91Ym9vdC1ta2VudmltYWdlICR7YmluZGlyfS9ta2VudmltYWdlIgorCitSREVQRU5EU18ke1BOfS1ta2ltYWdlICs9ICJkdGMiCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tbWtpbWFnZSAke1BOfS1ta2VudmltYWdlIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QuaW5jCmluZGV4IDQ4ZmJjNTcuLjk2YzFmOTQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC5pbmMKQEAgLTUsNyArNSw5IEBACiAKIFBBQ0tBR0VfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCiAKLWluaGVyaXQgdWJvb3QtY29uZmlnIHVib290LWV4dGxpbnV4LWNvbmZpZyB1Ym9vdC1zaWduIGRlcGxveQorREVQRU5EUyArPSAia2Vybi10b29scy1uYXRpdmUiCisKK2luaGVyaXQgdWJvb3QtY29uZmlnIHVib290LWV4dGxpbnV4LWNvbmZpZyB1Ym9vdC1zaWduIGRlcGxveSBjbWwxCiAKIERFUEVORFMgKz0gInN3aWctbmF0aXZlIHB5dGhvbi1uYXRpdmUiCiAKQEAgLTY2LDYgKzY4LDI4IEBACiBVQk9PVF9FWFRMSU5VWF9DT05GX05BTUUgPz0gImV4dGxpbnV4LmNvbmYiCiBVQk9PVF9FWFRMSU5VWF9TWU1MSU5LID89ICIke1VCT09UX0VYVExJTlVYX0NPTkZfTkFNRX0tJHtNQUNISU5FfS0ke1BSfSIKIAorIyByZXR1cm5zIGFsbCB0aGUgZWxlbWVudHMgZnJvbSB0aGUgc3JjIHVyaSB0aGF0IGFyZSAuY2ZnIGZpbGVzCitkZWYgZmluZF9jZmdzKGQpOgorICAgIHNvdXJjZXM9c3JjX3BhdGNoZXMoZCwgVHJ1ZSkKKyAgICBzb3VyY2VzX2xpc3Q9W10KKyAgICBmb3IgcyBpbiBzb3VyY2VzOgorICAgICAgICBpZiBzLmVuZHN3aXRoKCcuY2ZnJyk6CisgICAgICAgICAgICBzb3VyY2VzX2xpc3QuYXBwZW5kKHMpCisKKyAgICByZXR1cm4gc291cmNlc19saXN0CisKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgaWYgWyAteiAiJHtVQk9PVF9DT05GSUd9IiBdOyB0aGVuCisgICAgICAgIGlmIFsgLW4gIiR7VUJPT1RfTUFDSElORX0iIF07IHRoZW4KKyAgICAgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtTfSBPPSR7Qn0gJHtVQk9PVF9NQUNISU5FfQorICAgICAgICBlbHNlCisgICAgICAgICAgICBvZV9ydW5tYWtlIC1DICR7U30gTz0ke0J9IG9sZGNvbmZpZworICAgICAgICBmaQorICAgICAgICBtZXJnZV9jb25maWcuc2ggLW0gLmNvbmZpZyAke0AiICIuam9pbihmaW5kX2NmZ3MoZCkpfQorICAgICAgICBjbWwxX2RvX2NvbmZpZ3VyZQorICAgIGZpCit9CisKIGRvX2NvbXBpbGUgKCkgewogCWlmIFsgIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2xkLWlzLWdvbGQnLCBkKX0iIF07IHRoZW4KIAkJc2VkIC1pICdzLyQoQ1JPU1NfQ09NUElMRSlsZCQvJChDUk9TU19DT01QSUxFKWxkLmJmZC9nJyAke1N9L2NvbmZpZy5tawpAQCAtMTA1LDcgKzEyOSw2IEBACiAgICAgICAgIGRvbmUKICAgICAgICAgdW5zZXQgIGkKICAgICBlbHNlCi0gICAgICAgIG9lX3J1bm1ha2UgLUMgJHtTfSBPPSR7Qn0gJHtVQk9PVF9NQUNISU5FfQogICAgICAgICBvZV9ydW5tYWtlIC1DICR7U30gTz0ke0J9ICR7VUJPT1RfTUFLRV9UQVJHRVR9CiAgICAgZmkKIApAQCAtMjAxLDcgKzIyNCw3IEBACiAKIH0KIAotRklMRVNfJHtQTn0gPSAiL2Jvb3QgJHtzeXNjb25mZGlyfSIKK0ZJTEVTXyR7UE59ID0gIi9ib290ICR7c3lzY29uZmRpcn0gJHtkYXRhZGlyfSIKIAogZG9fZGVwbG95ICgpIHsKICAgICBpZiBbIC1uICIke1VCT09UX0NPTkZJR30iIF0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290XzIwMTguMDcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdF8yMDE4LjA3LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzN2MyMWRjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290XzIwMTguMDcuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLXJlcXVpcmUgdS1ib290LWNvbW1vbl8ke1BWfS5pbmMKLXJlcXVpcmUgdS1ib290LmluYwotCi1ERVBFTkRTICs9ICJiYy1uYXRpdmUgZHRjLW5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290XzIwMTkuMDEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdF8yMDE5LjAxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyZDY3YzAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdF8yMDE5LjAxLmJiCkBAIC0wLDAgKzEsNCBAQAorcmVxdWlyZSB1LWJvb3QtY29tbW9uLmluYworcmVxdWlyZSB1LWJvb3QuaW5jCisKK0RFUEVORFMgKz0gImJjLW5hdGl2ZSBkdGMtbmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2F2YWhpL2F2YWhpLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9hdmFoaS9hdmFoaS5pbmMKaW5kZXggMTE4NDY4NC4uODMzOWU0NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2F2YWhpL2F2YWhpLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYXZhaGkvYXZhaGkuaW5jCkBAIC0xOSw3ICsxOSw5IEBACiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9hdmFoaS1kYWVtb24vbWFpbi5jO2VuZGxpbmU9MjE7bWQ1PTllZTc3MzY4YzU0MDdhZjc3Y2FhZWYxYjA3Mjg1OTY5IFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2F2YWhpLWNsaWVudC9jbGllbnQuaDtlbmRsaW5lPTIzO21kNT1mNGFjNzQxYTI1YzRmNDM0MDM5YmEzZTE4Yzg2NzRjZiIKIAotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbGF0aGlhdC9hdmFoaS9yZWxlYXNlcy9kb3dubG9hZC92JHtQVn0vYXZhaGktJHtQVn0udGFyLmd6IgorU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbGF0aGlhdC9hdmFoaS9yZWxlYXNlcy9kb3dubG9hZC92JHtQVn0vYXZhaGktJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1DVkUtMjAxNy02NTE5LnBhdGNoIFwKKyAgICAgICAgICAgIgogCiBVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2xhdGhpYXQvYXZhaGkvcmVsZWFzZXMvIgogU1JDX1VSSVttZDVzdW1dID0gImQ3NmM1OWQwODgyYWM2YzI1NmQ3MGEyYTU4NTM2MmE2IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2F2YWhpL2ZpbGVzL2ZpeC1DVkUtMjAxNy02NTE5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2F2YWhpL2ZpbGVzL2ZpeC1DVkUtMjAxNy02NTE5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0NjFmZTEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYXZhaGkvZmlsZXMvZml4LUNWRS0yMDE3LTY1MTkucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL2xhdGhpYXQvYXZhaGkvY29tbWl0L2UxMTFkZWZdCisKK0NWRTogQ1ZFLTIwMTctNjUxOQorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKworRnJvbSBlMTExZGVmNDRhN2RmNDYyNGE0YWEzZjg1ZmU5ODA1NGJmZmI2YjRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVHJlbnQgTGxveWQgPHRyZW50QGxsb3lkLmlkLmF1PgorRGF0ZTogU2F0LCAyMiBEZWMgMjAxOCAwOTowNjowNyArMDgwMAorU3ViamVjdDogW1BBVENIXSBEcm9wIGxlZ2FjeSB1bmljYXN0IHF1ZXJpZXMgZnJvbSBhZGRyZXNzIG5vdCBvbiBsb2NhbCBsaW5rCisKK1doZW4gaGFuZGxpbmcgbGVnYWN5IHVuaWNhc3QgcXVlcmllcywgZW5zdXJlIHRoYXQgdGhlIHNvdXJjZSBJUCBpcworaW5zaWRlIGEgc3VibmV0IG9uIHRoZSBsb2NhbCBsaW5rLCBvdGhlcndpc2UgZHJvcCB0aGUgcGFja2V0LgorCitGaXhlcyAjMTQ1CitGaXhlcyAjMjAzCitDVkUtMjAxNy02NTE5CitDVkUtMjAxOC0xMDAwODQ1CistLS0KKyBhdmFoaS1jb3JlL3NlcnZlci5jIHwgOCArKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2F2YWhpLWNvcmUvc2VydmVyLmMgYi9hdmFoaS1jb3JlL3NlcnZlci5jCitpbmRleCBhMmNiMTlhOC4uYTI1ODBlMzggMTAwNjQ0CistLS0gYS9hdmFoaS1jb3JlL3NlcnZlci5jCisrKysgYi9hdmFoaS1jb3JlL3NlcnZlci5jCitAQCAtOTMwLDYgKzkzMCw3IEBAIHN0YXRpYyB2b2lkIGRpc3BhdGNoX3BhY2tldChBdmFoaVNlcnZlciAqcywgQXZhaGlEbnNQYWNrZXQgKnAsIGNvbnN0IEF2YWhpQWRkcmVzCisgCisgICAgIGlmIChhdmFoaV9kbnNfcGFja2V0X2lzX3F1ZXJ5KHApKSB7CisgICAgICAgICBpbnQgbGVnYWN5X3VuaWNhc3QgPSAwOworKyAgICAgICAgY2hhciB0W0FWQUhJX0FERFJFU1NfU1RSX01BWF07CisgCisgICAgICAgICAvKiBGb3IgcXVlcmllcyBFRE5TMCBtaWdodCBhbGxvdyBBUkNPVU5UICE9IDAuIFdlIGlnbm9yZSB0aGUKKyAgICAgICAgICAqIEFSIHNlY3Rpb24gY29tcGxldGVseSBoZXJlLCBzbyBmYXIuIFVudGlsIHRoZSBkYXkgd2UgYWRkCitAQCAtOTQ3LDYgKzk0OCwxMyBAQCBzdGF0aWMgdm9pZCBkaXNwYXRjaF9wYWNrZXQoQXZhaGlTZXJ2ZXIgKnMsIEF2YWhpRG5zUGFja2V0ICpwLCBjb25zdCBBdmFoaUFkZHJlcworICAgICAgICAgICAgIGxlZ2FjeV91bmljYXN0ID0gMTsKKyAgICAgICAgIH0KKyAKKysgICAgICAgIGlmICghaXNfbWRuc19tY2FzdF9hZGRyZXNzKGRzdF9hZGRyZXNzKSAmJgorKyAgICAgICAgICAgICFhdmFoaV9pbnRlcmZhY2VfYWRkcmVzc19vbl9saW5rKGksIHNyY19hZGRyZXNzKSkgeworKworKyAgICAgICAgICAgIGF2YWhpX2xvZ19kZWJ1ZygiUmVjZWl2ZWQgbm9uLWxvY2FsIHVuaWNhc3QgcXVlcnkgZnJvbSBob3N0ICVzIG9uIGludGVyZmFjZSAnJXMuJWknLiIsIGF2YWhpX2FkZHJlc3Nfc25wcmludCh0LCBzaXplb2YodCksIHNyY19hZGRyZXNzKSwgaS0+aGFyZHdhcmUtPm5hbWUsIGktPnByb3RvY29sKTsKKysgICAgICAgICAgICByZXR1cm47CisrICAgICAgICB9CisrCisgICAgICAgICBpZiAobGVnYWN5X3VuaWNhc3QpCisgICAgICAgICAgICAgcmVmbGVjdF9sZWdhY3lfdW5pY2FzdF9xdWVyeV9wYWNrZXQocywgcCwgaSwgc3JjX2FkZHJlc3MsIHBvcnQpOworIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JpbmQvYmluZC8wMDAxLWJ1aWxkLXVzZS1wa2ctY29uZmlnLXRvLWZpbmQtbGlieG1sMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9iaW5kL2JpbmQvMDAwMS1idWlsZC11c2UtcGtnLWNvbmZpZy10by1maW5kLWxpYnhtbDIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFlMjNjMGYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JpbmQvYmluZC8wMDAxLWJ1aWxkLXVzZS1wa2ctY29uZmlnLXRvLWZpbmQtbGlieG1sMi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLXhtbDItY29uZmlnIGlzIGRpc2FibGVkLCBzbyBjaGFuZ2UgdGhlIGNvbmZpZ3VyZSBzY3JpcHQgdG8gdXNlIHBrZ2NvbmZpZyB0byBmaW5kCi1saWJ4bWwyLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLVVwZGF0ZSBjb250ZXh0IGZvciB2ZXJzaW9uIDkuMTAuMy1QMi4KLQotU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+Ci0KLVVwZGF0ZSBjb250ZXh0IGZvciB2ZXJzaW9uIDkuMTAuNS1QMy4KLQotU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjb25maWd1cmUuaW4gfCAyMyArKystLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCi1pbmRleCA0ZGE3M2E0Li42ZjJhNzU0IDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmluCi0rKysgYi9jb25maWd1cmUuaW4KLUBAIC0yMjgyLDI2ICsyMjgyLDkgQEAgY2FzZSAiJHVzZV9saWJ4bWwyIiBpbgotIAkJRFNUX0xJQlhNTDJfSU5DPSIiCi0gCQk7OwotIAlhdXRvfHllcykKLS0JCWNhc2UgWGAoeG1sMi1jb25maWcgLS12ZXJzaW9uKSAyPi9kZXYvbnVsbGAgaW4KLS0JCVgyLltbNjc4OV1dLiopCi0tCQkJbGlieG1sMl9saWJzPWB4bWwyLWNvbmZpZyAtLWxpYnNgCi0tCQkJbGlieG1sMl9jZmxhZ3M9YHhtbDItY29uZmlnIC0tY2ZsYWdzYAotLQkJCTs7Ci0tCQkqKQotLQkJCWlmIHRlc3QgInllcyIgPSAiJHVzZV9saWJ4bWwyIiA7IHRoZW4KLS0JCQkJQUNfTVNHX1JFU1VMVChubykKLS0JCQkJQUNfTVNHX0VSUk9SKHJlcXVpcmVkIGxpYnhtbDIgdmVyc2lvbiBub3QgYXZhaWxhYmxlKQotLQkJCWVsc2UKLS0JCQkJbGlieG1sMl9saWJzPQotLQkJCQlsaWJ4bWwyX2NmbGFncz0KLS0JCQlmaQotLQkJCTs7Ci0tCQllc2FjCi0tCQk7OwotLQkqKQotLQkJaWYgdGVzdCAtZiAiJHVzZV9saWJ4bWwyL2Jpbi94bWwyLWNvbmZpZyIgOyB0aGVuCi0tCQkJbGlieG1sMl9saWJzPWAkdXNlX2xpYnhtbDIvYmluL3htbDItY29uZmlnIC0tbGlic2AKLS0JCQlsaWJ4bWwyX2NmbGFncz1gJHVzZV9saWJ4bWwyL2Jpbi94bWwyLWNvbmZpZyAtLWNmbGFnc2AKLSsJCWlmIHBrZy1jb25maWcgLS1leGlzdHMgbGlieG1sLTIuMCA7IHRoZW4KLSsJCQlsaWJ4bWwyX2xpYnM9YHBrZy1jb25maWcgbGlieG1sLTIuMCAtLWxpYnNgCi0rCQkJbGlieG1sMl9jZmxhZ3M9YHBrZy1jb25maWcgbGlieG1sLTIuMCAtLWNmbGFnc2AKLSAJCWZpCi0gCQk7OwotIGVzYWMKLS0tIAotMi4xLjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JpbmQvYmluZC9DVkUtMjAxOC01NzQwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JpbmQvYmluZC9DVkUtMjAxOC01NzQwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YTJiYTdlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9iaW5kL2JpbmQvQ1ZFLTIwMTgtNTc0MC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDcyICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZnRwLmlzYy5vcmcvaXNjL2JpbmQ5LzkuMTEuNC1QMS9wYXRjaGVzL0NWRS0yMDE4LTU3NDBdCi0KLUNWRTogQ1ZFLTIwMTgtNTc0MAotCi1TaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotCi1kaWZmIC0tZ2l0IGEvQ0hBTkdFUyBiL0NIQU5HRVMKLWluZGV4IDc1MGI2MDAuLjNkOGQ2NTUgMTAwNjQ0Ci0tLS0gYS9DSEFOR0VTCi0rKysgYi9DSEFOR0VTCi1AQCAtMSwzICsxLDkgQEAKLSsJLS0tIDkuMTEuNC1QMSByZWxlYXNlZCAtLS0KLSsKLSs0OTk3Lglbc2VjdXJpdHldCW5hbWVkIGNvdWxkIGNyYXNoIGR1cmluZyByZWN1cnNpdmUgcHJvY2Vzc2luZwotKwkJCW9mIEROQU1FIHJlY29yZHMgd2hlbiAiZGVueS1hbnN3ZXItYWxpYXNlcyIgd2FzCi0rCQkJaW4gdXNlLiAoQ1ZFLTIwMTgtNTc0MCkgW0dMICMzODddCi0rCi0gCS0tLSA5LjExLjQgcmVsZWFzZWQgLS0tCi0gCi0gCS0tLSA5LjExLjRyYzIgcmVsZWFzZWQgLS0tCi1kaWZmIC0tZ2l0IGEvbGliL2Rucy9yZXNvbHZlci5jIGIvbGliL2Rucy9yZXNvbHZlci5jCi1pbmRleCA4ZjY3NGEyLi40MWQxMzg1IDEwMDY0NAotLS0tIGEvbGliL2Rucy9yZXNvbHZlci5jCi0rKysgYi9saWIvZG5zL3Jlc29sdmVyLmMKLUBAIC02MzE4LDYgKzYzMTgsNyBAQCBpc19hbnN3ZXJ0YXJnZXRfYWxsb3dlZChmZXRjaGN0eF90ICpmY3R4LCBkbnNfbmFtZV90ICpxbmFtZSwgZG5zX25hbWVfdCAqcm5hbWUsCi0gCXVuc2lnbmVkIGludCBubGFiZWxzOwotIAlkbnNfZml4ZWRuYW1lX3QgZml4ZWQ7Ci0gCWRuc19uYW1lX3QgcHJlZml4OwotKwlpbnQgb3JkZXI7Ci0gCi0gCVJFUVVJUkUocmRhdGFzZXQgIT0gTlVMTCk7Ci0gCVJFUVVJUkUocmRhdGFzZXQtPnR5cGUgPT0gZG5zX3JkYXRhdHlwZV9jbmFtZSB8fAotQEAgLTYzNDAsMTcgKzYzNDEsMjUgQEAgaXNfYW5zd2VydGFyZ2V0X2FsbG93ZWQoZmV0Y2hjdHhfdCAqZmN0eCwgZG5zX25hbWVfdCAqcW5hbWUsIGRuc19uYW1lX3QgKnJuYW1lLAotIAkJdG5hbWUgPSAmY25hbWUuY25hbWU7Ci0gCQlicmVhazsKLSAJY2FzZSBkbnNfcmRhdGF0eXBlX2RuYW1lOgotKwkJaWYgKGRuc19uYW1lX2Z1bGxjb21wYXJlKHFuYW1lLCBybmFtZSwgJm9yZGVyLCAmbmxhYmVscykgIT0KLSsJCSAgICBkbnNfbmFtZXJlbG5fc3ViZG9tYWluKQotKwkJewotKwkJCXJldHVybiAoSVNDX1RSVUUpOwotKwkJfQotIAkJcmVzdWx0ID0gZG5zX3JkYXRhX3Rvc3RydWN0KCZyZGF0YSwgJmRuYW1lLCBOVUxMKTsKLSAJCVJVTlRJTUVfQ0hFQ0socmVzdWx0ID09IElTQ19SX1NVQ0NFU1MpOwotIAkJZG5zX25hbWVfaW5pdCgmcHJlZml4LCBOVUxMKTsKLSAJCXRuYW1lID0gZG5zX2ZpeGVkbmFtZV9pbml0bmFtZSgmZml4ZWQpOwotLQkJbmxhYmVscyA9IGRuc19uYW1lX2NvdW50bGFiZWxzKHFuYW1lKSAtCi0tCQkJICBkbnNfbmFtZV9jb3VudGxhYmVscyhybmFtZSk7Ci0rCQlubGFiZWxzID0gZG5zX25hbWVfY291bnRsYWJlbHMocm5hbWUpOwotIAkJZG5zX25hbWVfc3BsaXQocW5hbWUsIG5sYWJlbHMsICZwcmVmaXgsIE5VTEwpOwotIAkJcmVzdWx0ID0gZG5zX25hbWVfY29uY2F0ZW5hdGUoJnByZWZpeCwgJmRuYW1lLmRuYW1lLCB0bmFtZSwKLSAJCQkJCSAgICAgIE5VTEwpOwotLQkJaWYgKHJlc3VsdCA9PSBETlNfUl9OQU1FVE9PTE9ORykKLSsJCWlmIChyZXN1bHQgPT0gRE5TX1JfTkFNRVRPT0xPTkcpIHsKLSsJCQlpZiAoY2hhaW5pbmdwICE9IE5VTEwpIHsKLSsJCQkJKmNoYWluaW5ncCA9IElTQ19UUlVFOwotKwkJCX0KLSAJCQlyZXR1cm4gKElTQ19UUlVFKTsKLSsJCX0KLSAJCVJVTlRJTUVfQ0hFQ0socmVzdWx0ID09IElTQ19SX1NVQ0NFU1MpOwotIAkJYnJlYWs7Ci0gCWRlZmF1bHQ6Ci1AQCAtNzA3MSw3ICs3MDgwLDkgQEAgYW5zd2VyX3Jlc3BvbnNlKGZldGNoY3R4X3QgKmZjdHgpIHsKLSAJCX0KLSAJCWlmICgoYXJkYXRhc2V0LT50eXBlID09IGRuc19yZGF0YXR5cGVfY25hbWUgfHwKLSAJCSAgICAgYXJkYXRhc2V0LT50eXBlID09IGRuc19yZGF0YXR5cGVfZG5hbWUpICYmCi0tCQkgICAgICFpc19hbnN3ZXJ0YXJnZXRfYWxsb3dlZChmY3R4LCBxbmFtZSwgYW5hbWUsIGFyZGF0YXNldCwKLSsJCSAgICB0eXBlICE9IGFyZGF0YXNldC0+dHlwZSAmJgotKwkJICAgIHR5cGUgIT0gZG5zX3JkYXRhdHlwZV9hbnkgJiYKLSsJCSAgICAhaXNfYW5zd2VydGFyZ2V0X2FsbG93ZWQoZmN0eCwgcW5hbWUsIGFuYW1lLCBhcmRhdGFzZXQsCi0gCQkJCQkgICAgICBOVUxMKSkKLSAJCXsKLSAJCQlyZXR1cm4gKEROU19SX1NFUlZGQUlMKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9iaW5kL2JpbmRfOS4xMS40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JpbmQvYmluZF85LjExLjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiNGEyMWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JpbmQvYmluZF85LjExLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMzcgKzAsMCBAQAotU1VNTUFSWSA9ICJJU0MgSW50ZXJuZXQgRG9tYWluIE5hbWUgU2VydmVyIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5pc2Mub3JnL3N3L2JpbmQvIgotU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCi0KLUxJQ0VOU0UgPSAiSVNDICYgQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT02YmE3YzlmZTBjODg4YTk0M2M3OWM5M2U2ZGU3NDRmYiIKLQotREVQRU5EUyA9ICJvcGVuc3NsIGxpYmNhcCB6bGliIgotCi1TUkNfVVJJID0gImh0dHBzOi8vZnRwLmlzYy5vcmcvaXNjL2JpbmQ5LyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vY29uZi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9uYW1lZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovL2JpbmQ5IFwKLSAgICAgICAgICAgZmlsZTovL2dlbmVyYXRlLXJuZGMta2V5LnNoIFwKLSAgICAgICAgICAgZmlsZTovL21ha2UtZXRjLWluaXRkLWJpbmQtc3RvcC13b3JrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2luaXQuZC1hZGQtc3VwcG9ydC1mb3ItcmVhZC1vbmx5LXJvb3Rmcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9iaW5kLWVuc3VyZS1zZWFyY2hpbmctZm9yLWpzb24taGVhZGVycy1zZWFyY2hlcy1zeXNyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZ2VuLmMtZXh0ZW5kLURJUk5BTUVTSVpFLWZyb20tMjU2LXRvLTUxMi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWxpYi1kbnMtZ2VuLmMtZml4LXRvby1sb25nLWVycm9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmluLXJlbW92ZS11c2VsZXNzLUwtdXNlX29wZW5zc2wtbGliLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbmFtZWQtbHdyZXNkLVYtYW5kLXN0YXJ0LWxvZy1oaWRlLWJ1aWxkLW9wdGlvbnMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1hdm9pZC1zdGFydC1mYWlsdXJlLXdpdGgtYmluZC11c2VyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTU3NDAucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOWI0ODM0ZDc4ZjMwY2RiNzk2Y2U0MzcyNjIyNzJhMzYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTk1MDcwYjAzMWY4NjlmODkzOTY1NmI1YTVkMTFiMTIxMjExOTY3ZjE1ZjZhZmVhZmE4OTVkZjc0NTI3OTYxNyIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZnRwLmlzYy5vcmcvaXNjL2JpbmQ5LyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIig/UDxwdmVyPjkoXC5cZCspKygtUFxkKykqKS8iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHN5c3RlbWQgdXNlcmFkZCBwa2djb25maWcgbXVsdGlsaWJfc2NyaXB0Ci0KLU1VTFRJTElCX1NDUklQVFMgPSAiJHtQTn06JHtiaW5kaXJ9L2JpbmQ5LWNvbmZpZyAke1BOfToke2JpbmRpcn0vaXNjLWNvbmZpZy5zaCIKLQotIyBQQUNLQUdFQ09ORklHcyByZWFkbGluZSBhbmQgbGliZWRpdCBzaG91bGQgTk9UIGJlIHNldCBhdCBzYW1lIHRpbWUKLVBBQ0tBR0VDT05GSUcgPz0gInJlYWRsaW5lIgotUEFDS0FHRUNPTkZJR1todHRwc3RhdHNdID0gIi0td2l0aC1saWJ4bWwyPSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH0sLS13aXRob3V0LWxpYnhtbDIsbGlieG1sMiIKLVBBQ0tBR0VDT05GSUdbcmVhZGxpbmVdID0gIi0td2l0aC1yZWFkbGluZT0tbHJlYWRsaW5lLCxyZWFkbGluZSIKLVBBQ0tBR0VDT05GSUdbbGliZWRpdF0gPSAiLS13aXRoLXJlYWRsaW5lPS1sZWRpdCwsbGliZWRpdCIKLVBBQ0tBR0VDT05GSUdbdXJhbmRvbV0gPSAiLS13aXRoLXJhbmRvbWRldj0vZGV2L3VyYW5kb20sLS13aXRoLXJhbmRvbWRldj0vZGV2L3JhbmRvbSwsIgotUEFDS0FHRUNPTkZJR1tweXRob24zXSA9ICItLXdpdGgtcHl0aG9uPSR7UFlUSE9OfSAtLXdpdGgtcHl0aG9uLWluc3RhbGwtZGlyPSR7RH0vJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gLCAtLXdpdGhvdXQtcHl0aG9uLCBweXRob24zLXBseS1uYXRpdmUsIgotCi1FTkFCTEVfSVBWNiA9ICItLWVuYWJsZS1pcHY2PSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICd5ZXMnLCAnbm8nLCBkKX0iCi1FWFRSQV9PRUNPTkYgPSAiICR7RU5BQkxFX0lQVjZ9IC0td2l0aC1saWJ0b29sIC0tZW5hYmxlLXRocmVhZHMgXAotICAgICAgICAgICAgICAgICAtLWRpc2FibGUtZGV2cG9sbCAtLWVuYWJsZS1lcG9sbCAtLXdpdGgtZ29zdD1ubyBcCi0gICAgICAgICAgICAgICAgIC0td2l0aC1nc3NhcGk9bm8gLS13aXRoLWVjZHNhPXllcyAtLXdpdGgtZWRkc2E9bm8gXAotICAgICAgICAgICAgICAgICAtLXdpdGgtbG1kYj1ubyBcCi0gICAgICAgICAgICAgICAgIC0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9L2JpbmQgXAotICAgICAgICAgICAgICAgICAtLXdpdGgtb3BlbnNzbD0ke1NUQUdJTkdfRElSX0hPU1R9JHtwcmVmaXh9IFwKLSAgICAgICAgICAgICAgICIKLQotaW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJ3B5dGhvbjNuYXRpdmUgZGlzdHV0aWxzMy1iYXNlJywgJycsIGQpfQotCi0jIGRoY3AgbmVlZHMgLmxhIHNvIGtlZXAgdGhlbQotUkVNT1ZFX0xJQlRPT0xfTEEgPSAiMCIKLQotVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKLVVTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLS1ob21lICR7bG9jYWxzdGF0ZWRpcn0vY2FjaGUvYmluZCAtLW5vLWNyZWF0ZS1ob21lIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLS11c2VyLWdyb3VwIGJpbmQiCi0KLUlOSVRTQ1JJUFRfTkFNRSA9ICJiaW5kIgotSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJuYW1lZC5zZXJ2aWNlIgotCi1kb19pbnN0YWxsX3ByZXBlbmQoKSB7Ci0JIyBjbGVhbiBob3N0IHBhdGggaW4gaXNjLWNvbmZpZy5zaCBiZWZvcmUgdGhlIGhhcmRsaW5rIGNyZWF0ZWQKLQkjIGJ5ICJtYWtlIGluc3RhbGwiOgotCSMgICBiaW5kOS1jb25maWcgLT4gaXNjLWNvbmZpZy5zaAotCXNlZCAtaSAtZSAicywke1NUQUdJTkdfTElCRElSfSwke2xpYmRpcn0sIiAke0J9L2lzYy1jb25maWcuc2gKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0KLQlybSAiJHtEfSR7YmluZGlyfS9uc2xvb2t1cCIKLQlybSAiJHtEfSR7bWFuZGlyfS9tYW4xL25zbG9va3VwLjEiCi0Jcm1kaXIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKLQlybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0iCi0JaW5zdGFsbCAtZCAtbyBiaW5kICIke0R9JHtsb2NhbHN0YXRlZGlyfS9jYWNoZS9iaW5kIgotCWluc3RhbGwgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2JpbmQiCi0JaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kIgotCWluc3RhbGwgLW0gNjQ0ICR7U30vY29uZi8qICIke0R9JHtzeXNjb25mZGlyfS9iaW5kLyIKLQlpbnN0YWxsIC1tIDc1NSAiJHtTfS9pbml0LmQiICIke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvYmluZCIKLSAgICAgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0JCXNlZCAtaSAtZSAnMXMsIyEuKnB5dGhvbjMsIyEgL3Vzci9iaW4vcHl0aG9uMywnIFwKLQkJJHtEfSR7c2JpbmRpcn0vZG5zc2VjLWNvdmVyYWdlIFwKLQkJJHtEfSR7c2JpbmRpcn0vZG5zc2VjLWNoZWNrZHMgXAotCQkke0R9JHtzYmluZGlyfS9kbnNzZWMta2V5bWdyCi0JZmkKLQotCSMgSW5zdGFsbCBzeXN0ZW1kIHJlbGF0ZWQgZmlsZXMKLQlpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9Ci0JaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9nZW5lcmF0ZS1ybmRjLWtleS5zaCAke0R9JHtzYmluZGlyfQotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uYW1lZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0Jc2VkIC1pIC1lICdzLEBCQVNFX0JJTkRJUkAsJHtiYXNlX2JpbmRpcn0sZycgXAotCSAgICAgICAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCi0JICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL25hbWVkLnNlcnZpY2UKLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2JpbmQ5ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKLQotCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0JCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAotCQllY2hvICJkIC9ydW4vbmFtZWQgMDc1NSBiaW5kIGJpbmQgLSAtIiA+ICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvYmluZC5jb25mCi0JZmkKLX0KLQotQ09ORkZJTEVTXyR7UE59ID0gIiBcCi0JJHtzeXNjb25mZGlyfS9iaW5kL25hbWVkLmNvbmYgXAotCSR7c3lzY29uZmRpcn0vYmluZC9uYW1lZC5jb25mLmxvY2FsIFwKLQkke3N5c2NvbmZkaXJ9L2JpbmQvbmFtZWQuY29uZi5vcHRpb25zIFwKLQkke3N5c2NvbmZkaXJ9L2JpbmQvZGIuMCBcCi0JJHtzeXNjb25mZGlyfS9iaW5kL2RiLjEyNyBcCi0JJHtzeXNjb25mZGlyfS9iaW5kL2RiLmVtcHR5IFwKLQkke3N5c2NvbmZkaXJ9L2JpbmQvZGIubG9jYWwgXAotCSR7c3lzY29uZmRpcn0vYmluZC9kYi5yb290IFwKLQkiCi0KLVBBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS11dGlscyIKLUZJTEVTXyR7UE59LXV0aWxzID0gIiR7YmluZGlyfS9ob3N0ICR7YmluZGlyfS9kaWcgJHtiaW5kaXJ9L21kaWciCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7YmluZGlyfS9pc2MtY29uZmlnLmgiCi1GSUxFU18ke1BOfSArPSAiJHtzYmluZGlyfS9nZW5lcmF0ZS1ybmRjLWtleS5zaCIKLQotUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7UE59LWxpYnMiCi1GSUxFU18ke1BOfS1saWJzID0gIiR7bGliZGlyfS8qLnNvKiIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9LyoubGEiCi0KLVBBQ0tBR0VfQkVGT1JFX1BOICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJ3B5dGhvbjMtYmluZCcsICcnLCBkKX0iCi1GSUxFU19weXRob24zLWJpbmQgPSAiJHtzYmluZGlyfS9kbnNzZWMtY292ZXJhZ2UgJHtzYmluZGlyfS9kbnNzZWMtY2hlY2tkcyBcCi0gICAgICAgICAgICAgICAgJHtzYmluZGlyfS9kbnNzZWMta2V5bWdyICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgotCi1SREVQRU5EU18ke1BOfSA9ICJiYXNoIgotUkRFUEVORFNfJHtQTn0tdXRpbHMgPSAiYmFzaCIKLVJERVBFTkRTXyR7UE59LWRldiA9ICIiCi1SREVQRU5EU19weXRob24zLWJpbmQgPSAicHl0aG9uMy1jb3JlIHB5dGhvbjMtcGx5IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JpbmQvYmluZF85LjExLjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kXzkuMTEuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzY3Mjc5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JpbmQvYmluZF85LjExLjUuYmIKQEAgLTAsMCArMSwxMzkgQEAKK1NVTU1BUlkgPSAiSVNDIEludGVybmV0IERvbWFpbiBOYW1lIFNlcnZlciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuaXNjLm9yZy9zdy9iaW5kLyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorCitMSUNFTlNFID0gIklTQyAmIEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9NmJhN2M5ZmUwYzg4OGE5NDNjNzljOTNlNmRlNzQ0ZmIiCisKK0RFUEVORFMgPSAib3BlbnNzbCBsaWJjYXAgemxpYiIKKworU1JDX1VSSSA9ICJodHRwczovL2Z0cC5pc2Mub3JnL2lzYy9iaW5kOS8ke1BWfS8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbmFtZWQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9iaW5kOSBcCisgICAgICAgICAgIGZpbGU6Ly9nZW5lcmF0ZS1ybmRjLWtleS5zaCBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlLWV0Yy1pbml0ZC1iaW5kLXN0b3Atd29yay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0LmQtYWRkLXN1cHBvcnQtZm9yLXJlYWQtb25seS1yb290ZnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYmluZC1lbnN1cmUtc2VhcmNoaW5nLWZvci1qc29uLWhlYWRlcnMtc2VhcmNoZXMtc3lzci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWdlbi5jLWV4dGVuZC1ESVJOQU1FU0laRS1mcm9tLTI1Ni10by01MTIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1saWItZG5zLWdlbi5jLWZpeC10b28tbG9uZy1lcnJvci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5pbi1yZW1vdmUtdXNlbGVzcy1MLXVzZV9vcGVuc3NsLWxpYi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW5hbWVkLWx3cmVzZC1WLWFuZC1zdGFydC1sb2ctaGlkZS1idWlsZC1vcHRpb25zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYXZvaWQtc3RhcnQtZmFpbHVyZS13aXRoLWJpbmQtdXNlci5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxN2EwZDAyMTAyMTE3YzlhMjIxZTg1N2NmMmNjODE1NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhNGNhZTExZGFkOTU0YmRkNGViNTkyMTc4Zjg3NWJmZWMwOWZjYzdlMjlmZTBmNmI3YTRlNWI1YzZiYzYxMzIyIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9mdHAuaXNjLm9yZy9pc2MvYmluZDkvIgorVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiKD9QPHB2ZXI+OShcLlxkKykrKC1QXGQrKSopLyIKK1JFQ0lQRV9OT19VUERBVEVfUkVBU09OID0gIjkuMTEgaXMgTFRTIDIwMjEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHN5c3RlbWQgdXNlcmFkZCBwa2djb25maWcgbXVsdGlsaWJfc2NyaXB0CisKK01VTFRJTElCX1NDUklQVFMgPSAiJHtQTn06JHtiaW5kaXJ9L2JpbmQ5LWNvbmZpZyAke1BOfToke2JpbmRpcn0vaXNjLWNvbmZpZy5zaCIKKworIyBQQUNLQUdFQ09ORklHcyByZWFkbGluZSBhbmQgbGliZWRpdCBzaG91bGQgTk9UIGJlIHNldCBhdCBzYW1lIHRpbWUKK1BBQ0tBR0VDT05GSUcgPz0gInJlYWRsaW5lIgorUEFDS0FHRUNPTkZJR1todHRwc3RhdHNdID0gIi0td2l0aC1saWJ4bWwyPSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH0sLS13aXRob3V0LWxpYnhtbDIsbGlieG1sMiIKK1BBQ0tBR0VDT05GSUdbcmVhZGxpbmVdID0gIi0td2l0aC1yZWFkbGluZT0tbHJlYWRsaW5lLCxyZWFkbGluZSIKK1BBQ0tBR0VDT05GSUdbbGliZWRpdF0gPSAiLS13aXRoLXJlYWRsaW5lPS1sZWRpdCwsbGliZWRpdCIKK1BBQ0tBR0VDT05GSUdbdXJhbmRvbV0gPSAiLS13aXRoLXJhbmRvbWRldj0vZGV2L3VyYW5kb20sLS13aXRoLXJhbmRvbWRldj0vZGV2L3JhbmRvbSwsIgorUEFDS0FHRUNPTkZJR1tweXRob24zXSA9ICItLXdpdGgtcHl0aG9uPSR7UFlUSE9OfSAtLXdpdGgtcHl0aG9uLWluc3RhbGwtZGlyPSR7RH0vJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gLCAtLXdpdGhvdXQtcHl0aG9uLCBweXRob24zLXBseS1uYXRpdmUsIgorCitFTkFCTEVfSVBWNiA9ICItLWVuYWJsZS1pcHY2PSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICd5ZXMnLCAnbm8nLCBkKX0iCitFWFRSQV9PRUNPTkYgPSAiICR7RU5BQkxFX0lQVjZ9IC0td2l0aC1saWJ0b29sIC0tZW5hYmxlLXRocmVhZHMgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtZGV2cG9sbCAtLWVuYWJsZS1lcG9sbCAtLXdpdGgtZ29zdD1ubyBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1nc3NhcGk9bm8gLS13aXRoLWVjZHNhPXllcyAtLXdpdGgtZWRkc2E9bm8gXAorICAgICAgICAgICAgICAgICAtLXdpdGgtbG1kYj1ubyBcCisgICAgICAgICAgICAgICAgIC0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9L2JpbmQgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtb3BlbnNzbD0ke1NUQUdJTkdfRElSX0hPU1R9JHtwcmVmaXh9IFwKKyAgICAgICAgICAgICAgICIKKworaW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJ3B5dGhvbjNuYXRpdmUgZGlzdHV0aWxzMy1iYXNlJywgJycsIGQpfQorCisjIGRoY3AgbmVlZHMgLmxhIHNvIGtlZXAgdGhlbQorUkVNT1ZFX0xJQlRPT0xfTEEgPSAiMCIKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLS1ob21lICR7bG9jYWxzdGF0ZWRpcn0vY2FjaGUvYmluZCAtLW5vLWNyZWF0ZS1ob21lIFwKKyAgICAgICAgICAgICAgICAgICAgICAgLS11c2VyLWdyb3VwIGJpbmQiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJiaW5kIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJuYW1lZC5zZXJ2aWNlIgorCitkb19pbnN0YWxsX3ByZXBlbmQoKSB7CisJIyBjbGVhbiBob3N0IHBhdGggaW4gaXNjLWNvbmZpZy5zaCBiZWZvcmUgdGhlIGhhcmRsaW5rIGNyZWF0ZWQKKwkjIGJ5ICJtYWtlIGluc3RhbGwiOgorCSMgICBiaW5kOS1jb25maWcgLT4gaXNjLWNvbmZpZy5zaAorCXNlZCAtaSAtZSAicywke1NUQUdJTkdfTElCRElSfSwke2xpYmRpcn0sIiAke0J9L2lzYy1jb25maWcuc2gKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisKKwlybWRpciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgorCXJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfSIKKwlpbnN0YWxsIC1kIC1vIGJpbmQgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2NhY2hlL2JpbmQiCisJaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vYmluZCIKKwlpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9pbml0LmQiCisJaW5zdGFsbCAtbSA2NDQgJHtTfS9jb25mLyogIiR7RH0ke3N5c2NvbmZkaXJ9L2JpbmQvIgorCWluc3RhbGwgLW0gNzU1ICIke1N9L2luaXQuZCIgIiR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9iaW5kIgorICAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKwkJc2VkIC1pIC1lICcxcywjIS4qcHl0aG9uMywjISAvdXNyL2Jpbi9weXRob24zLCcgXAorCQkke0R9JHtzYmluZGlyfS9kbnNzZWMtY292ZXJhZ2UgXAorCQkke0R9JHtzYmluZGlyfS9kbnNzZWMtY2hlY2tkcyBcCisJCSR7RH0ke3NiaW5kaXJ9L2Ruc3NlYy1rZXltZ3IKKwlmaQorCisJIyBJbnN0YWxsIHN5c3RlbWQgcmVsYXRlZCBmaWxlcworCWluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKwlpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L2dlbmVyYXRlLXJuZGMta2V5LnNoICR7RH0ke3NiaW5kaXJ9CisJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25hbWVkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlzZWQgLWkgLWUgJ3MsQEJBU0VfQklORElSQCwke2Jhc2VfYmluZGlyfSxnJyBcCisJICAgICAgIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKKwkgICAgICAgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbmFtZWQuc2VydmljZQorCisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0CisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vYmluZDkgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAorCisJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKwkJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCisJCWVjaG8gImQgL3J1bi9uYW1lZCAwNzU1IGJpbmQgYmluZCAtIC0iID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9iaW5kLmNvbmYKKwlmaQorfQorCitDT05GRklMRVNfJHtQTn0gPSAiIFwKKwkke3N5c2NvbmZkaXJ9L2JpbmQvbmFtZWQuY29uZiBcCisJJHtzeXNjb25mZGlyfS9iaW5kL25hbWVkLmNvbmYubG9jYWwgXAorCSR7c3lzY29uZmRpcn0vYmluZC9uYW1lZC5jb25mLm9wdGlvbnMgXAorCSR7c3lzY29uZmRpcn0vYmluZC9kYi4wIFwKKwkke3N5c2NvbmZkaXJ9L2JpbmQvZGIuMTI3IFwKKwkke3N5c2NvbmZkaXJ9L2JpbmQvZGIuZW1wdHkgXAorCSR7c3lzY29uZmRpcn0vYmluZC9kYi5sb2NhbCBcCisJJHtzeXNjb25mZGlyfS9iaW5kL2RiLnJvb3QgXAorCSIKKworQUxURVJOQVRJVkVfJHtQTn0tdXRpbHMgPSAibnNsb29rdXAiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbnNsb29rdXBdID0gIiR7YmluZGlyfS9uc2xvb2t1cCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKKworUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7UE59LXV0aWxzIgorRklMRVNfJHtQTn0tdXRpbHMgPSAiJHtiaW5kaXJ9L2hvc3QgJHtiaW5kaXJ9L2RpZyAke2JpbmRpcn0vbWRpZyAke2JpbmRpcn0vbnNsb29rdXAgJHtiaW5kaXJ9L25zdXBkYXRlIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2JpbmRpcn0vaXNjLWNvbmZpZy5oIgorRklMRVNfJHtQTn0gKz0gIiR7c2JpbmRpcn0vZ2VuZXJhdGUtcm5kYy1rZXkuc2giCisKK1BBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS1saWJzIgorRklMRVNfJHtQTn0tbGlicyA9ICIke2xpYmRpcn0vKi5zbyoiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS8qLmxhIgorCitQQUNLQUdFX0JFRk9SRV9QTiArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICdweXRob24zLWJpbmQnLCAnJywgZCl9IgorRklMRVNfcHl0aG9uMy1iaW5kID0gIiR7c2JpbmRpcn0vZG5zc2VjLWNvdmVyYWdlICR7c2JpbmRpcn0vZG5zc2VjLWNoZWNrZHMgXAorICAgICAgICAgICAgICAgICR7c2JpbmRpcn0vZG5zc2VjLWtleW1nciAke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSIKKworUkRFUEVORFNfJHtQTn0gPSAiYmFzaCIKK1JERVBFTkRTXyR7UE59LXV0aWxzID0gImJhc2giCitSREVQRU5EU18ke1BOfS1kZXYgPSAiIgorUkRFUEVORFNfcHl0aG9uMy1iaW5kID0gInB5dGhvbjMtY29yZSBweXRob24zLXBseSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlejUvYmx1ZXo1LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlejUvYmx1ZXo1LmluYwppbmRleCBlZGI0NGIyLi5hYWYyYWY5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXo1L2JsdWV6NS5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6NS9ibHVlejUuaW5jCkBAIC00MSw3ICs0MSw3IEBACiBQQUNLQUdFQ09ORklHW3Rvb2xzXSA9ICItLWVuYWJsZS10b29scywtLWRpc2FibGUtdG9vbHMiCiBQQUNLQUdFQ09ORklHW3RocmVhZHNdID0gIi0tZW5hYmxlLXRocmVhZHMsLS1kaXNhYmxlLXRocmVhZHMiCiBQQUNLQUdFQ09ORklHW2RlcHJlY2F0ZWRdID0gIi0tZW5hYmxlLWRlcHJlY2F0ZWQsLS1kaXNhYmxlLWRlcHJlY2F0ZWQiCi1QQUNLQUdFQ09ORklHW21lc2hdID0gIi0tZW5hYmxlLW1lc2gsLS1kaXNhYmxlLW1lc2gsIGpzb24tYyIKK1BBQ0tBR0VDT05GSUdbbWVzaF0gPSAiLS1lbmFibGUtbWVzaCwtLWRpc2FibGUtbWVzaCwganNvbi1jIGVsbCIKIFBBQ0tBR0VDT05GSUdbYnRwY2xpZW50XSA9ICItLWVuYWJsZS1idHBjbGllbnQsLS1kaXNhYmxlLWJ0cGNsaWVudCwgZWxsIgogCiBTUkNfVVJJID0gIlwKQEAgLTUzLDYgKzUzLDcgQEAKICAgICBmaWxlOi8vMDAwMS10ZXN0cy1hZGQtYS10YXJnZXQtZm9yLWJ1aWxkaW5nLXRlc3RzLXdpdGhvdXQtcnVubmluLnBhdGNoIFwKICAgICBmaWxlOi8vMDAwMS10ZXN0LWdhdHQtRml4LWh1bmctaXNzdWUucGF0Y2ggXAogICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLUZpeC1hLXJhY2UtaXNzdWUtZm9yLXRvb2xzLnBhdGNoIFwKKyAgICBmaWxlOi8vQ1ZFLTIwMTgtMTA5MTAucGF0Y2ggXAogIgogUyA9ICIke1dPUktESVJ9L2JsdWV6LSR7UFZ9IgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXo1L2JsdWV6NS9DVkUtMjAxOC0xMDkxMC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlejUvYmx1ZXo1L0NWRS0yMDE4LTEwOTEwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0YjE4NDYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXo1L2JsdWV6NS9DVkUtMjAxOC0xMDkxMC5wYXRjaApAQCAtMCwwICsxLDcwNSBAQAorQSBidWcgaW4gQmx1ZXogbWF5IGFsbG93IGZvciB0aGUgQmx1ZXRvb3RoIERpc2NvdmVyYWJsZSBzdGF0ZSBiZWluZyBzZXQgdG8gb24KK3doZW4gbm8gQmx1ZXRvb3RoIGFnZW50IGlzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgc3lzdGVtLiBUaGlzIHNpdHVhdGlvbiBjb3VsZAorbGVhZCB0byB0aGUgdW5hdXRob3JpemVkIHBhaXJpbmcgb2YgY2VydGFpbiBCbHVldG9vdGggZGV2aWNlcyB3aXRob3V0IGFueQorZm9ybSBvZiBhdXRoZW50aWNhdGlvbi4KKworQ1ZFOiBDVkUtMjAxOC0xMDkxMAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworU3ViamVjdDogICAgW1BBVENIIEJsdWVaIDEvNF0gY2xpZW50OiBBZGQgZGlzY292ZXJhYmxlLXRpbWVvdXQgY29tbWFuZAorRnJvbTogICAgICAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50eiAoKSBnbWFpbCAhIGNvbT4KK0RhdGU6ICAgICAgIDIwMTgtMDctMjUgMTA6MjA6MzIKK01lc3NhZ2UtSUQ6IDIwMTgwNzI1MTAyMDM1LjE5NDM5LTEtbHVpei5kZW50eiAoKSBnbWFpbCAhIGNvbQorW0Rvd25sb2FkIFJBVyBtZXNzYWdlIG9yIGJvZHldCisKK0Zyb206IEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXoudm9uLmRlbnR6QGludGVsLmNvbT4KKworVGhpcyBhZGRzIGRpc2NvdmVyYWJsZS10aW1lb3V0IGNvbW1hbmQgd2hpY2ggY2FuIGJlIHVzZWQgdG8gZ2V0L3NldAorRGlzY292ZXJhYmxlVGltZW91dCBwcm9wZXJ0eToKKworW2JsdWV0b290aF0jIGRpc2NvdmVyYWJsZS10aW1lb3V0IDE4MAorQ2hhbmdpbmcgZGlzY292ZXJhYmxlLXRpbWVvdXQgMTgwIHN1Y2NlZWRlZAorLS0tCisgY2xpZW50L21haW4uYyB8IDQzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvY2xpZW50L21haW4uYyBiL2NsaWVudC9tYWluLmMKK2luZGV4IDg3MzIzZDhmNy4uNTk4MjBjNmQ5IDEwMDY0NAorLS0tIGEvY2xpZW50L21haW4uYworKysrIGIvY2xpZW50L21haW4uYworQEAgLTEwNjEsNiArMTA2MSw0NyBAQCBzdGF0aWMgdm9pZCBjbWRfZGlzY292ZXJhYmxlKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCXJldHVybiBidF9zaGVsbF9ub25pbnRlcmFjdGl2ZV9xdWl0KEVYSVRfRkFJTFVSRSk7CisgfQorIAorK3N0YXRpYyB2b2lkIGNtZF9kaXNjb3ZlcmFibGVfdGltZW91dChpbnQgYXJnYywgY2hhciAqYXJndltdKQorK3sKKysJdWludDMyX3QgdmFsdWU7CisrCWNoYXIgKmVuZHB0ciA9IE5VTEw7CisrCWNoYXIgKnN0cjsKKysKKysJaWYgKGFyZ2MgPCAyKSB7CisrCQlEQnVzTWVzc2FnZUl0ZXIgaXRlcjsKKysKKysJCWlmICghZ19kYnVzX3Byb3h5X2dldF9wcm9wZXJ0eShkZWZhdWx0X2N0cmwtPnByb3h5LAorKwkJCQkJIkRpc2NvdmVyYWJsZVRpbWVvdXQiLCAmaXRlcikpIHsKKysJCQlidF9zaGVsbF9wcmludGYoIlVuYWJsZSB0byBnZXQgRGlzY292ZXJhYmxlVGltZW91dFxuIik7CisrCQkJcmV0dXJuIGJ0X3NoZWxsX25vbmludGVyYWN0aXZlX3F1aXQoRVhJVF9GQUlMVVJFKTsKKysJCX0KKysKKysJCWRidXNfbWVzc2FnZV9pdGVyX2dldF9iYXNpYygmaXRlciwgJnZhbHVlKTsKKysKKysJCWJ0X3NoZWxsX3ByaW50ZigiRGlzY292ZXJhYmxlVGltZW91dDogJWQgc2Vjb25kc1xuIiwgdmFsdWUpOworKworKwkJcmV0dXJuOworKwl9CisrCisrCXZhbHVlID0gc3RydG9sKGFyZ3ZbMV0sICZlbmRwdHIsIDApOworKwlpZiAoIWVuZHB0ciB8fCAqZW5kcHRyICE9ICdcMCcgfHwgdmFsdWUgPiBVSU5UMzJfTUFYKSB7CisrCQlidF9zaGVsbF9wcmludGYoIkludmFsaWQgYXJndW1lbnRcbiIpOworKwkJcmV0dXJuIGJ0X3NoZWxsX25vbmludGVyYWN0aXZlX3F1aXQoRVhJVF9GQUlMVVJFKTsKKysJfQorKworKwlzdHIgPSBnX3N0cmR1cF9wcmludGYoImRpc2NvdmVyYWJsZS10aW1lb3V0ICVkIiwgdmFsdWUpOworKworKwlpZiAoZ19kYnVzX3Byb3h5X3NldF9wcm9wZXJ0eV9iYXNpYyhkZWZhdWx0X2N0cmwtPnByb3h5LAorKwkJCQkJIkRpc2NvdmVyYWJsZVRpbWVvdXQiLAorKwkJCQkJREJVU19UWVBFX1VJTlQzMiwgJnZhbHVlLAorKwkJCQkJZ2VuZXJpY19jYWxsYmFjaywgc3RyLCBnX2ZyZWUpKQorKwkJcmV0dXJuOworKworKwlnX2ZyZWUoc3RyKTsKKysKKysJcmV0dXJuIGJ0X3NoZWxsX25vbmludGVyYWN0aXZlX3F1aXQoRVhJVF9GQUlMVVJFKTsKKyt9CisrCisgc3RhdGljIHZvaWQgY21kX2FnZW50KGludCBhcmdjLCBjaGFyICphcmd2W10pCisgeworIAlkYnVzX2Jvb2xfdCBlbmFibGU7CitAQCAtMjU0OSw2ICsyNTkwLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBidF9zaGVsbF9tZW51IG1haW5fbWVudSA9IHsKKyAJeyAiZGlzY292ZXJhYmxlIiwgIjxvbi9vZmY+IiwgY21kX2Rpc2NvdmVyYWJsZSwKKyAJCQkJCSJTZXQgY29udHJvbGxlciBkaXNjb3ZlcmFibGUgbW9kZSIsCisgCQkJCQkJCU5VTEwgfSwKKysJeyAiZGlzY292ZXJhYmxlLXRpbWVvdXQiLCAiW3ZhbHVlXSIsIGNtZF9kaXNjb3ZlcmFibGVfdGltZW91dCwKKysJCQkJCSJTZXQgZGlzY292ZXJhYmxlIHRpbWVvdXQiLCBOVUxMIH0sCisgCXsgImFnZW50IiwgICAgICAgICI8b24vb2ZmL2NhcGFiaWxpdHk+IiwgY21kX2FnZW50LAorIAkJCQkiRW5hYmxlL2Rpc2FibGUgYWdlbnQgd2l0aCBnaXZlbiBjYXBhYmlsaXR5IiwKKyAJCQkJCQkJY2FwYWJpbGl0eV9nZW5lcmF0b3J9LAorLS0gCisyLjE3LjEKKworU3ViamVjdDogICAgW1BBVENIIEJsdWVaIDIvNF0gY2xpZW50OiBNYWtlIHNob3cgY29tbWFuZCBwcmludCBEaXNjb3ZlcmFibGVUaW1lb3V0CitGcm9tOiAgICAgICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tPgorRGF0ZTogICAgICAgMjAxOC0wNy0yNSAxMDoyMDozMworTWVzc2FnZS1JRDogMjAxODA3MjUxMDIwMzUuMTk0MzktMi1sdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tCitbRG93bmxvYWQgUkFXIG1lc3NhZ2Ugb3IgYm9keV0KKworRnJvbTogTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei52b24uZGVudHpAaW50ZWwuY29tPgorCitDb250cm9sbGVyIFhYOlhYOlhYOlhYOlhYOlhYIChwdWJsaWMpCisJTmFtZTogVnVkZW50eidzIFQ0NjBzCisJQWxpYXM6IEludGVsLTEKKwlDbGFzczogMHgwMDRjMDEwYworCVBvd2VyZWQ6IHllcworCURpc2NvdmVyYWJsZTogbm8KKwlEaXNjb3ZlcmFibGVUaW1lb3V0OiAweDAwMDAwMDAwCisJUGFpcmFibGU6IHllcworCVVVSUQ6IEhlYWRzZXQgQUcgICAgICAgICAgICAgICAgKDAwMDAxMTEyLTAwMDAtMTAwMC04MDAwLTAwODA1ZjliMzRmYikKKwlVVUlEOiBHZW5lcmljIEF0dHJpYnV0ZSBQcm9maWxlICgwMDAwMTgwMS0wMDAwLTEwMDAtODAwMC0wMDgwNWY5YjM0ZmIpCisJVVVJRDogQS9WIFJlbW90ZSBDb250cm9sICAgICAgICAoMDAwMDExMGUtMDAwMC0xMDAwLTgwMDAtMDA4MDVmOWIzNGZiKQorCVVVSUQ6IFNJTSBBY2Nlc3MgICAgICAgICAgICAgICAgKDAwMDAxMTJkLTAwMDAtMTAwMC04MDAwLTAwODA1ZjliMzRmYikKKwlVVUlEOiBHZW5lcmljIEFjY2VzcyBQcm9maWxlICAgICgwMDAwMTgwMC0wMDAwLTEwMDAtODAwMC0wMDgwNWY5YjM0ZmIpCisJVVVJRDogUG5QIEluZm9ybWF0aW9uICAgICAgICAgICAoMDAwMDEyMDAtMDAwMC0xMDAwLTgwMDAtMDA4MDVmOWIzNGZiKQorCVVVSUQ6IEEvViBSZW1vdGUgQ29udHJvbCBUYXJnZXQgKDAwMDAxMTBjLTAwMDAtMTAwMC04MDAwLTAwODA1ZjliMzRmYikKKwlVVUlEOiBBdWRpbyBTb3VyY2UgICAgICAgICAgICAgICgwMDAwMTEwYS0wMDAwLTEwMDAtODAwMC0wMDgwNWY5YjM0ZmIpCisJVVVJRDogQXVkaW8gU2luayAgICAgICAgICAgICAgICAoMDAwMDExMGItMDAwMC0xMDAwLTgwMDAtMDA4MDVmOWIzNGZiKQorCVVVSUQ6IEhlYWRzZXQgICAgICAgICAgICAgICAgICAgKDAwMDAxMTA4LTAwMDAtMTAwMC04MDAwLTAwODA1ZjliMzRmYikKKwlNb2RhbGlhczogdXNiOnYxRDZCcDAyNDZkMDUzMgorCURpc2NvdmVyaW5nOiBubworLS0tCisgY2xpZW50L21haW4uYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvY2xpZW50L21haW4uYyBiL2NsaWVudC9tYWluLmMKK2luZGV4IDU5ODIwYzZkOS4uNmY0NzJkMDUwIDEwMDY0NAorLS0tIGEvY2xpZW50L21haW4uYworKysrIGIvY2xpZW50L21haW4uYworQEAgLTg3Nyw2ICs4NzcsNyBAQCBzdGF0aWMgdm9pZCBjbWRfc2hvdyhpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAlwcmludF9wcm9wZXJ0eShwcm94eSwgIkNsYXNzIik7CisgCXByaW50X3Byb3BlcnR5KHByb3h5LCAiUG93ZXJlZCIpOworIAlwcmludF9wcm9wZXJ0eShwcm94eSwgIkRpc2NvdmVyYWJsZSIpOworKwlwcmludF9wcm9wZXJ0eShwcm94eSwgIkRpc2NvdmVyYWJsZVRpbWVvdXQiKTsKKyAJcHJpbnRfcHJvcGVydHkocHJveHksICJQYWlyYWJsZSIpOworIAlwcmludF91dWlkcyhwcm94eSk7CisgCXByaW50X3Byb3BlcnR5KHByb3h5LCAiTW9kYWxpYXMiKTsKKy0tIAorMi4xNy4xCitTdWJqZWN0OiAgICBbUEFUQ0ggQmx1ZVogMy80XSBhZGFwdGVyOiBUcmFjayBwZW5kaW5nIHNldHRpbmdzCitGcm9tOiAgICAgICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tPgorRGF0ZTogICAgICAgMjAxOC0wNy0yNSAxMDoyMDozNAorTWVzc2FnZS1JRDogMjAxODA3MjUxMDIwMzUuMTk0MzktMy1sdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tCitbRG93bmxvYWQgUkFXIG1lc3NhZ2Ugb3IgYm9keV0KKworRnJvbTogTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei52b24uZGVudHpAaW50ZWwuY29tPgorCitUaGlzIHRyYWNrcyBzZXR0aW5ncyBiZWluZyBjaGFuZ2VkIGFuZCBpbiBjYXNlIHRoZSBzZXR0aW5ncyBpcyBhbHJlYWR5CitwZW5kaW5nIGNvbnNpZGVyZWQgaXQgdG8gYmUgZG9uZS4KKy0tLQorIHNyYy9hZGFwdGVyLmMgfCAzMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9hZGFwdGVyLmMgYi9zcmMvYWRhcHRlci5jCitpbmRleCBhZjM0MGZkNmUuLjIwYzIwZjllOSAxMDA2NDQKKy0tLSBhL3NyYy9hZGFwdGVyLmMKKysrKyBiL3NyYy9hZGFwdGVyLmMKK0BAIC0xOTYsNiArMTk2LDcgQEAgc3RydWN0IGJ0ZF9hZGFwdGVyIHsKKyAJY2hhciAqbmFtZTsJCQkvKiBjb250cm9sbGVyIGRldmljZSBuYW1lICovCisgCWNoYXIgKnNob3J0X25hbWU7CQkvKiBjb250cm9sbGVyIHNob3J0IG5hbWUgKi8KKyAJdWludDMyX3Qgc3VwcG9ydGVkX3NldHRpbmdzOwkvKiBjb250cm9sbGVyIHN1cHBvcnRlZCBzZXR0aW5ncyAqLworKwl1aW50MzJfdCBwZW5kaW5nX3NldHRpbmdzOwkvKiBwZW5kaW5nIGNvbnRyb2xsZXIgc2V0dGluZ3MgKi8KKyAJdWludDMyX3QgY3VycmVudF9zZXR0aW5nczsJLyogY3VycmVudCBjb250cm9sbGVyIHNldHRpbmdzICovCisgCisgCWNoYXIgKnBhdGg7CQkJLyogYWRhcHRlciBvYmplY3QgcGF0aCAqLworQEAgLTUwOSw4ICs1MTAsMTAgQEAgc3RhdGljIHZvaWQgc2V0dGluZ3NfY2hhbmdlZChzdHJ1Y3QgYnRkX2FkYXB0ZXIgKmFkYXB0ZXIsIHVpbnQzMl90IHNldHRpbmdzKQorIAljaGFuZ2VkX21hc2sgPSBhZGFwdGVyLT5jdXJyZW50X3NldHRpbmdzIF4gc2V0dGluZ3M7CisgCisgCWFkYXB0ZXItPmN1cnJlbnRfc2V0dGluZ3MgPSBzZXR0aW5nczsKKysJYWRhcHRlci0+cGVuZGluZ19zZXR0aW5ncyAmPSB+Y2hhbmdlZF9tYXNrOworIAorIAlEQkcoIkNoYW5nZWQgc2V0dGluZ3M6IDB4JTA4eCIsIGNoYW5nZWRfbWFzayk7CisrCURCRygiUGVuZGluZyBzZXR0aW5nczogMHglMDh4IiwgYWRhcHRlci0+cGVuZGluZ19zZXR0aW5ncyk7CisgCisgCWlmIChjaGFuZ2VkX21hc2sgJiBNR01UX1NFVFRJTkdfUE9XRVJFRCkgeworIAkgICAgICAgIGdfZGJ1c19lbWl0X3Byb3BlcnR5X2NoYW5nZWQoZGJ1c19jb25uLCBhZGFwdGVyLT5wYXRoLAorQEAgLTU5NiwxMCArNTk5LDMxIEBAIHN0YXRpYyBib29sIHNldF9tb2RlKHN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlciwgdWludDE2X3Qgb3Bjb2RlLAorIAkJCQkJCQl1aW50OF90IG1vZGUpCisgeworIAlzdHJ1Y3QgbWdtdF9tb2RlIGNwOworKwl1aW50MzJfdCBzZXR0aW5nID0gMDsKKyAKKyAJbWVtc2V0KCZjcCwgMCwgc2l6ZW9mKGNwKSk7CisgCWNwLnZhbCA9IG1vZGU7CisgCisrCXN3aXRjaCAobW9kZSkgeworKwljYXNlIE1HTVRfT1BfU0VUX1BPV0VSRUQ6CisrCQlzZXR0aW5nID0gTUdNVF9TRVRUSU5HX1BPV0VSRUQ7CisrCQlicmVhazsKKysJY2FzZSBNR01UX09QX1NFVF9DT05ORUNUQUJMRToKKysJCXNldHRpbmcgPSBNR01UX1NFVFRJTkdfQ09OTkVDVEFCTEU7CisrCQlicmVhazsKKysJY2FzZSBNR01UX09QX1NFVF9GQVNUX0NPTk5FQ1RBQkxFOgorKwkJc2V0dGluZyA9IE1HTVRfU0VUVElOR19GQVNUX0NPTk5FQ1RBQkxFOworKwkJYnJlYWs7CisrCWNhc2UgTUdNVF9PUF9TRVRfRElTQ09WRVJBQkxFOgorKwkJc2V0dGluZyA9IE1HTVRfU0VUVElOR19ESVNDT1ZFUkFCTEU7CisrCQlicmVhazsKKysJY2FzZSBNR01UX09QX1NFVF9CT05EQUJMRToKKysJCXNldHRpbmcgPSBNR01UX1NFVFRJTkdfRElTQ09WRVJBQkxFOworKwkJYnJlYWs7CisrCX0KKysKKysJYWRhcHRlci0+cGVuZGluZ19zZXR0aW5ncyB8PSBzZXR0aW5nOworKworIAlEQkcoInNlbmRpbmcgc2V0IG1vZGUgY29tbWFuZCBmb3IgaW5kZXggJXUiLCBhZGFwdGVyLT5kZXZfaWQpOworIAorIAlpZiAobWdtdF9zZW5kKGFkYXB0ZXItPm1nbXQsIG9wY29kZSwKK0BAIC0yNzM5LDEzICsyNzYzLDE1IEBAIHN0YXRpYyB2b2lkIHByb3BlcnR5X3NldF9tb2RlKHN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlciwgdWludDMyX3Qgc2V0dGluZywKKyAJZWxzZQorIAkJY3VycmVudF9lbmFibGUgPSBGQUxTRTsKKyAKKy0JaWYgKGVuYWJsZSA9PSBjdXJyZW50X2VuYWJsZSkgeworKwlpZiAoZW5hYmxlID09IGN1cnJlbnRfZW5hYmxlIHx8IGFkYXB0ZXItPnBlbmRpbmdfc2V0dGluZ3MgJiBzZXR0aW5nKSB7CisgCQlnX2RidXNfcGVuZGluZ19wcm9wZXJ0eV9zdWNjZXNzKGlkKTsKKyAJCXJldHVybjsKKyAJfQorIAorIAltb2RlID0gKGVuYWJsZSA9PSBUUlVFKSA/IDB4MDEgOiAweDAwOworIAorKwlhZGFwdGVyLT5wZW5kaW5nX3NldHRpbmdzIHw9IHNldHRpbmc7CisrCisgCXN3aXRjaCAoc2V0dGluZykgeworIAljYXNlIE1HTVRfU0VUVElOR19QT1dFUkVEOgorIAkJb3Bjb2RlID0gTUdNVF9PUF9TRVRfUE9XRVJFRDsKK0BAIC0yNzk4LDcgKzI4MjQsNyBAQCBzdGF0aWMgdm9pZCBwcm9wZXJ0eV9zZXRfbW9kZShzdHJ1Y3QgYnRkX2FkYXB0ZXIgKmFkYXB0ZXIsIHVpbnQzMl90IHNldHRpbmcsCisgCWRhdGEtPmlkID0gaWQ7CisgCisgCWlmIChtZ210X3NlbmQoYWRhcHRlci0+bWdtdCwgb3Bjb2RlLCBhZGFwdGVyLT5kZXZfaWQsIGxlbiwgcGFyYW0sCistCQkJCXByb3BlcnR5X3NldF9tb2RlX2NvbXBsZXRlLCBkYXRhLCBnX2ZyZWUpID4gMCkKKysJCQlwcm9wZXJ0eV9zZXRfbW9kZV9jb21wbGV0ZSwgZGF0YSwgZ19mcmVlKSA+IDApCisgCQlyZXR1cm47CisgCisgCWdfZnJlZShkYXRhKTsKKy0tIAorMi4xNy4xCitTdWJqZWN0OiAgICBbUEFUQ0ggQmx1ZVogNC80XSBhZGFwdGVyOiBDaGVjayBwZW5kaW5nIHdoZW4gc2V0dGluZyBEaXNjb3ZlcmFibGVUaW1lb3V0CitGcm9tOiAgICAgICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tPgorRGF0ZTogICAgICAgMjAxOC0wNy0yNSAxMDoyMDozNQorTWVzc2FnZS1JRDogMjAxODA3MjUxMDIwMzUuMTk0MzktNC1sdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tCitbRG93bmxvYWQgUkFXIG1lc3NhZ2Ugb3IgYm9keV0KKworRnJvbTogTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei52b24uZGVudHpAaW50ZWwuY29tPgorCitUaGlzIG1ha2VzIERpc2NvdmVyYWJsZVRpbWVvdXQgY2hlY2sgaWYgZGlzY292ZXJhYmxlIGlzIGFscmVhZHkgcGVuZGluZworYW5kIGRvbid0IGF0dGVtcHQgdG8gc2V0IGl0IG9uY2UgYWdhaW4gd2hpY2ggbWF5IGNhdXNlIGRpc2NvdmVyYWJsZSB0bworYmUgcmUtZW5hYmxlZCB3aGVuIGluIGZhY3QgdGhlIGFwcGxpY2F0aW9uIGp1c3Qgd2FudCB0byBzZXQgdGhlIHRpbWVvdXQKK2Fsb25lLgorLS0tCisgc3JjL2FkYXB0ZXIuYyB8IDE0ICsrKysrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9hZGFwdGVyLmMgYi9zcmMvYWRhcHRlci5jCitpbmRleCAyMGMyMGY5ZTkuLmY5MmM4OTdjNyAxMDA2NDQKKy0tLSBhL3NyYy9hZGFwdGVyLmMKKysrKyBiL3NyYy9hZGFwdGVyLmMKK0BAIC0yOTAxLDYgKzI5MDEsNyBAQCBzdGF0aWMgdm9pZCBwcm9wZXJ0eV9zZXRfZGlzY292ZXJhYmxlX3RpbWVvdXQoCisgCQkJCUdEQnVzUGVuZGluZ1Byb3BlcnR5U2V0IGlkLCB2b2lkICp1c2VyX2RhdGEpCisgeworIAlzdHJ1Y3QgYnRkX2FkYXB0ZXIgKmFkYXB0ZXIgPSB1c2VyX2RhdGE7CisrCWJvb2wgZW5hYmxlZDsKKyAJZGJ1c191aW50MzJfdCB2YWx1ZTsKKyAKKyAJZGJ1c19tZXNzYWdlX2l0ZXJfZ2V0X2Jhc2ljKGl0ZXIsICZ2YWx1ZSk7CitAQCAtMjkxNCw4ICsyOTE1LDE5IEBAIHN0YXRpYyB2b2lkIHByb3BlcnR5X3NldF9kaXNjb3ZlcmFibGVfdGltZW91dCgKKyAJZ19kYnVzX2VtaXRfcHJvcGVydHlfY2hhbmdlZChkYnVzX2Nvbm4sIGFkYXB0ZXItPnBhdGgsCisgCQkJCUFEQVBURVJfSU5URVJGQUNFLCAiRGlzY292ZXJhYmxlVGltZW91dCIpOworIAorKwlpZiAoYWRhcHRlci0+cGVuZGluZ19zZXR0aW5ncyAmIE1HTVRfU0VUVElOR19ESVNDT1ZFUkFCTEUpIHsKKysJCWlmIChhZGFwdGVyLT5jdXJyZW50X3NldHRpbmdzICYgTUdNVF9TRVRUSU5HX0RJU0NPVkVSQUJMRSkKKysJCQllbmFibGVkID0gZmFsc2U7CisrCQllbHNlCisrCQkJZW5hYmxlZCA9IHRydWU7CisrCX0gZWxzZSB7CisrCQlpZiAoYWRhcHRlci0+Y3VycmVudF9zZXR0aW5ncyAmIE1HTVRfU0VUVElOR19ESVNDT1ZFUkFCTEUpCisrCQkJZW5hYmxlZCA9IHRydWU7CisrCQllbHNlCisrCQkJZW5hYmxlZCA9IGZhbHNlOworKwl9CisgCistCWlmIChhZGFwdGVyLT5jdXJyZW50X3NldHRpbmdzICYgTUdNVF9TRVRUSU5HX0RJU0NPVkVSQUJMRSkKKysJaWYgKGVuYWJsZWQpCisgCQlzZXRfZGlzY292ZXJhYmxlKGFkYXB0ZXIsIDB4MDEsIGFkYXB0ZXItPmRpc2NvdmVyYWJsZV90aW1lb3V0KTsKKyB9CisgCistLSAKKzIuMTcuMQorU3ViamVjdDogICAgW1BBVENIIEJsdWVaIDEvNV0gZG9jL2FkYXB0ZXItYXBpOiBBZGQgRGlzY292ZXJhYmxlIG9wdGlvbiB0byBTZXREaXNjb3ZlcnlGaWx0ZXIKK0Zyb206ICAgICAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHogKCkgZ21haWwgISBjb20+CitEYXRlOiAgICAgICAyMDE4LTA3LTI2IDE0OjE3OjE5CitNZXNzYWdlLUlEOiAyMDE4MDcyNjE0MTcyMy4yMDE5OS0xLWx1aXouZGVudHogKCkgZ21haWwgISBjb20KK1tEb3dubG9hZCBSQVcgbWVzc2FnZSBvciBib2R5XQorCitGcm9tOiBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+CisKK1RoaXMgZW5hYmxlcyB0aGUgY2xpZW50IHRvIHNldCBpdHMgZGlzY292ZXJhYmxlIHNldHRpbmcgd2hpbGUKK2Rpc2NvdmVyaW5nIHdoaWNoIGlzIHZlcnkgdHlwaWNhbCBzaXR1YXRpb24gYXMgdXN1YWxseSB0aGUgc2V0aW5ncworYXBwbGljYXRpb24gd291bGQgYWxsb3cgaW5jb21pbmcgcGFpcmluZyByZXF1ZXN0IHdoaWxlIHNjYW5uaW5nLCBzbwordGhpcyB3b3VsZCByZWR1Y2UgdGhlIG51bWJlciBvZiBjYWxscyBzZXR0aW5nIERpc2NvdmVyYWJsZSBhbmQKK0Rpc2NvdmVyYWJsZVRpbWVvdXQgYW5kIHJlc3RvcmluZyBhZnRlciBkb25lIHdpdGggZGlzY292ZXJ5LgorLS0tCisgZG9jL2FkYXB0ZXItYXBpLnR4dCB8IDYgKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZG9jL2FkYXB0ZXItYXBpLnR4dCBiL2RvYy9hZGFwdGVyLWFwaS50eHQKK2luZGV4IGQxNGQwY2E1MC4uNDc5MWFmMmM3IDEwMDY0NAorLS0tIGEvZG9jL2FkYXB0ZXItYXBpLnR4dAorKysrIGIvZG9jL2FkYXB0ZXItYXBpLnR4dAorQEAgLTExMyw2ICsxMTMsMTIgQEAgTWV0aG9kcwkJdm9pZCBTdGFydERpc2NvdmVyeSgpCisgCQkJCWdlbmVyYXRlZCBmb3IgZWl0aGVyIE1hbnVmYWN0dXJlckRhdGEgYW5kCisgCQkJCVNlcnZpY2VEYXRhIGV2ZXJ5dGltZSB0aGV5IGFyZSBkaXNjb3ZlcmVkLgorIAorKwkJCWJvb2wgRGlzY292ZXJhYmxlIChEZWZhdWx0OiBmYWxzZSkKKysKKysJCQkJTWFrZSBhZGFwdGVyIGRpc2NvdmVyYWJsZSB3aGlsZSBkaXNjb3ZlcmluZywKKysJCQkJaWYgdGhlIGFkYXB0ZXIgaXMgYWxyZWFkeSBkaXNjb3ZlcmFibGUgdGhpcworKwkJCQlzZXR0aW5nIHRoaXMgZmlsdGVyIHdvbid0IGRvIGFueXRoaW5nLgorKworIAkJCVdoZW4gZGlzY292ZXJ5IGZpbHRlciBpcyBzZXQsIERldmljZSBvYmplY3RzIHdpbGwgYmUKKyAJCQljcmVhdGVkIGFzIG5ldyBkZXZpY2VzIHdpdGggbWF0Y2hpbmcgY3JpdGVyaWEgYXJlCisgCQkJZGlzY292ZXJlZCByZWdhcmRsZXNzIG9mIHRoZXkgYXJlIGNvbm5lY3RhYmxlIG9yCistLSAKKzIuMTcuMQorU3ViamVjdDogICAgW1BBVENIIEJsdWVaIDIvNV0gYWRhcHRlcjogRGlzY292ZXJ5IGZpbHRlciBkaXNjb3ZlcmFibGUKK0Zyb206ICAgICAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHogKCkgZ21haWwgISBjb20+CitEYXRlOiAgICAgICAyMDE4LTA3LTI2IDE0OjE3OjIwCitNZXNzYWdlLUlEOiAyMDE4MDcyNjE0MTcyMy4yMDE5OS0yLWx1aXouZGVudHogKCkgZ21haWwgISBjb20KK1tEb3dubG9hZCBSQVcgbWVzc2FnZSBvciBib2R5XQorCitGcm9tOiBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+CisKK1RoaXMgaW1wbGVtZW50cyB0aGUgZGlzY292ZXJ5IGZpbHRlciBkaXNjb3ZlcmFibGUgYW5kIHRyYWNrcyB3aGljaAorY2xpZW50cyBoYWQgZW5hYmxlZCBpdCBhbmQgcmVzdG9yZXMgdGhlIHNldHRpbmdzIHdoZW4gdGhlIGxhc3QgY2xpZW50CitlbmFibGluZyBpdCBleGl0cy4KKy0tLQorIHNyYy9hZGFwdGVyLmMgfCA1NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9hZGFwdGVyLmMgYi9zcmMvYWRhcHRlci5jCitpbmRleCBmOTJjODk3YzcuLmJkOWVkZGRjNiAxMDA2NDQKKy0tLSBhL3NyYy9hZGFwdGVyLmMKKysrKyBiL3NyYy9hZGFwdGVyLmMKK0BAIC0xNTcsNiArMTU3LDcgQEAgc3RydWN0IGRpc2NvdmVyeV9maWx0ZXIgeworIAlpbnQxNl90IHJzc2k7CisgCUdTTGlzdCAqdXVpZHM7CisgCWJvb2wgZHVwbGljYXRlOworKwlib29sIGRpc2NvdmVyYWJsZTsKKyB9OworIAorIHN0cnVjdCB3YXRjaF9jbGllbnQgeworQEAgLTIxNCw2ICsyMTUsNyBAQCBzdHJ1Y3QgYnRkX2FkYXB0ZXIgeworIAorIAlib29sIGRpc2NvdmVyaW5nOwkJLyogZGlzY292ZXJpbmcgcHJvcGVydHkgc3RhdGUgKi8KKyAJYm9vbCBmaWx0ZXJlZF9kaXNjb3Zlcnk7CS8qIHdlIGFyZSBkb2luZyBmaWx0ZXJlZCBkaXNjb3ZlcnkgKi8KKysJYm9vbCBmaWx0ZXJlZF9kaXNjb3ZlcmFibGU7CS8qIHdlIGFyZSBkb2luZyBmaWx0ZXJlZCBkaXNjb3ZlcnkgKi8KKyAJYm9vbCBub19zY2FuX3Jlc3RhcnRfZGVsYXk7CS8qIHdoZW4gdGhpcyBmbGFnIGlzIHNldCwgcmVzdGFydCBzY2FuCisgCQkJCQkgKiB3aXRob3V0IGRlbGF5ICovCisgCXVpbnQ4X3QgZGlzY292ZXJ5X3R5cGU7CQkvKiBjdXJyZW50IGFjdGl2ZSBkaXNjb3ZlcnkgdHlwZSAqLworQEAgLTE4NDIsNiArMTg0NCwxNiBAQCBzdGF0aWMgdm9pZCBkaXNjb3ZlcnlfZnJlZSh2b2lkICp1c2VyX2RhdGEpCisgCWdfZnJlZShjbGllbnQpOworIH0KKyAKKytzdGF0aWMgYm9vbCBzZXRfZmlsdGVyZWRfZGlzY292ZXJhYmxlKHN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlciwgYm9vbCBlbmFibGUpCisreworKwlpZiAoYWRhcHRlci0+ZmlsdGVyZWRfZGlzY292ZXJhYmxlID09IGVuYWJsZSkKKysJCXJldHVybiB0cnVlOworKworKwlhZGFwdGVyLT5maWx0ZXJlZF9kaXNjb3ZlcmFibGUgPSBlbmFibGU7CisrCisrCXJldHVybiBzZXRfZGlzY292ZXJhYmxlKGFkYXB0ZXIsIGVuYWJsZSwgMCk7CisrfQorKworIHN0YXRpYyB2b2lkIGRpc2NvdmVyeV9yZW1vdmUoc3RydWN0IHdhdGNoX2NsaWVudCAqY2xpZW50KQorIHsKKyAJc3RydWN0IGJ0ZF9hZGFwdGVyICphZGFwdGVyID0gY2xpZW50LT5hZGFwdGVyOworQEAgLTE4NTQsNiArMTg2NiwyMiBAQCBzdGF0aWMgdm9pZCBkaXNjb3ZlcnlfcmVtb3ZlKHN0cnVjdCB3YXRjaF9jbGllbnQgKmNsaWVudCkKKyAJYWRhcHRlci0+ZGlzY292ZXJ5X2xpc3QgPSBnX3NsaXN0X3JlbW92ZShhZGFwdGVyLT5kaXNjb3ZlcnlfbGlzdCwKKyAJCQkJCQkJCWNsaWVudCk7CisgCisrCWlmIChhZGFwdGVyLT5maWx0ZXJlZF9kaXNjb3ZlcmFibGUgJiYKKysJCQljbGllbnQtPmRpc2NvdmVyeV9maWx0ZXItPmRpc2NvdmVyYWJsZSkgeworKwkJR1NMaXN0ICpsOworKworKwkJZm9yIChsID0gYWRhcHRlci0+ZGlzY292ZXJ5X2xpc3Q7IGw7IGwgPSBnX3NsaXN0X25leHQobCkpIHsKKysJCQlzdHJ1Y3Qgd2F0Y2hfY2xpZW50ICpjbGllbnQgPSBsLT5kYXRhOworKworKwkJCWlmIChjbGllbnQtPmRpc2NvdmVyeV9maWx0ZXItPmRpc2NvdmVyYWJsZSkKKysJCQkJYnJlYWs7CisrCQl9CisrCisrCQkvKiBEaXNhYmxlIGZpbHRlcmVkIGRpc2NvdmVyYWJsZSBpZiB0aGVyZSBhcmUgbm8gY2xpZW50cyAqLworKwkJaWYgKCFsKQorKwkJCXNldF9maWx0ZXJlZF9kaXNjb3ZlcmFibGUoYWRhcHRlciwgZmFsc2UpOworKwl9CisrCisgCWRpc2NvdmVyeV9mcmVlKGNsaWVudCk7CisgCisgCS8qCitAQCAtMjIyNCw2ICsyMjUyLDE1IEBAIHN0YXRpYyBEQnVzTWVzc2FnZSAqc3RhcnRfZGlzY292ZXJ5KERCdXNDb25uZWN0aW9uICpjb25uLAorIAkJCQkJICAgICBhZGFwdGVyLT5zZXRfZmlsdGVyX2xpc3QsIGNsaWVudCk7CisgCQlhZGFwdGVyLT5kaXNjb3ZlcnlfbGlzdCA9IGdfc2xpc3RfcHJlcGVuZCgKKyAJCQkJCSAgICAgIGFkYXB0ZXItPmRpc2NvdmVyeV9saXN0LCBjbGllbnQpOworKworKwkJLyogUmVzZXQgZGlzY292ZXJhYmxlIGZpbHRlciBpZiBhbHJlYWR5IHNldCAqLworKwkJaWYgKGFkYXB0ZXItPmN1cnJlbnRfc2V0dGluZ3MgJiBNR01UX09QX1NFVF9ESVNDT1ZFUkFCTEUpCisrCQkJZ290byBkb25lOworKworKwkJLyogU2V0IGRpc2NvdmVyYWJsZSBpZiBmaWx0ZXIgcmVxdWlyZXMgYW5kIGl0Ki8KKysJCWlmIChjbGllbnQtPmRpc2NvdmVyeV9maWx0ZXItPmRpc2NvdmVyYWJsZSkKKysJCQlzZXRfZmlsdGVyZWRfZGlzY292ZXJhYmxlKGFkYXB0ZXIsIHRydWUpOworKworIAkJZ290byBkb25lOworIAl9CisgCitAQCAtMjM0OCw2ICsyMzg1LDE3IEBAIHN0YXRpYyBib29sIHBhcnNlX2R1cGxpY2F0ZV9kYXRhKERCdXNNZXNzYWdlSXRlciAqdmFsdWUsCisgCXJldHVybiB0cnVlOworIH0KKyAKKytzdGF0aWMgYm9vbCBwYXJzZV9kaXNjb3ZlcmFibGUoREJ1c01lc3NhZ2VJdGVyICp2YWx1ZSwKKysJCQkJCXN0cnVjdCBkaXNjb3ZlcnlfZmlsdGVyICpmaWx0ZXIpCisreworKwlpZiAoZGJ1c19tZXNzYWdlX2l0ZXJfZ2V0X2FyZ190eXBlKHZhbHVlKSAhPSBEQlVTX1RZUEVfQk9PTEVBTikKKysJCXJldHVybiBmYWxzZTsKKysKKysJZGJ1c19tZXNzYWdlX2l0ZXJfZ2V0X2Jhc2ljKHZhbHVlLCAmZmlsdGVyLT5kaXNjb3ZlcmFibGUpOworKworKwlyZXR1cm4gdHJ1ZTsKKyt9CisrCisgc3RydWN0IGZpbHRlcl9wYXJzZXIgeworIAljb25zdCBjaGFyICpuYW1lOworIAlib29sICgqZnVuYykoREJ1c01lc3NhZ2VJdGVyICppdGVyLCBzdHJ1Y3QgZGlzY292ZXJ5X2ZpbHRlciAqZmlsdGVyKTsKK0BAIC0yMzU3LDYgKzI0MDUsNyBAQCBzdHJ1Y3QgZmlsdGVyX3BhcnNlciB7CisgCXsgIlBhdGhsb3NzIiwgcGFyc2VfcGF0aGxvc3MgfSwKKyAJeyAiVHJhbnNwb3J0IiwgcGFyc2VfdHJhbnNwb3J0IH0sCisgCXsgIkR1cGxpY2F0ZURhdGEiLCBwYXJzZV9kdXBsaWNhdGVfZGF0YSB9LAorKwl7ICJEaXNjb3ZlcmFibGUiLCBwYXJzZV9kaXNjb3ZlcmFibGUgfSwKKyAJeyB9CisgfTsKKyAKK0BAIC0yMzk2LDYgKzI0NDUsNyBAQCBzdGF0aWMgYm9vbCBwYXJzZV9kaXNjb3ZlcnlfZmlsdGVyX2RpY3Qoc3RydWN0IGJ0ZF9hZGFwdGVyICphZGFwdGVyLAorIAkoKmZpbHRlciktPnJzc2kgPSBESVNUQU5DRV9WQUxfSU5WQUxJRDsKKyAJKCpmaWx0ZXIpLT50eXBlID0gZ2V0X3NjYW5fdHlwZShhZGFwdGVyKTsKKyAJKCpmaWx0ZXIpLT5kdXBsaWNhdGUgPSBmYWxzZTsKKysJKCpmaWx0ZXIpLT5kaXNjb3ZlcmFibGUgPSBmYWxzZTsKKyAKKyAJZGJ1c19tZXNzYWdlX2l0ZXJfaW5pdChtc2csICZpdGVyKTsKKyAJaWYgKGRidXNfbWVzc2FnZV9pdGVyX2dldF9hcmdfdHlwZSgmaXRlcikgIT0gREJVU19UWVBFX0FSUkFZIHx8CitAQCAtMjQ0MSw4ICsyNDkxLDEwIEBAIHN0YXRpYyBib29sIHBhcnNlX2Rpc2NvdmVyeV9maWx0ZXJfZGljdChzdHJ1Y3QgYnRkX2FkYXB0ZXIgKmFkYXB0ZXIsCisgCQlnb3RvIGludmFsaWRfYXJnczsKKyAKKyAJREJHKCJmaWx0ZXJlZCBkaXNjb3ZlcnkgcGFyYW1zOiB0cmFuc3BvcnQ6ICVkIHJzc2k6ICVkIHBhdGhsb3NzOiAlZCAiCistCQkiIGR1cGxpY2F0ZSBkYXRhOiAlcyAiLCAoKmZpbHRlciktPnR5cGUsICgqZmlsdGVyKS0+cnNzaSwKKy0JCSgqZmlsdGVyKS0+cGF0aGxvc3MsICgqZmlsdGVyKS0+ZHVwbGljYXRlID8gInRydWUiIDogImZhbHNlIik7CisrCQkiIGR1cGxpY2F0ZSBkYXRhOiAlcyBkaXNjb3ZlcmFibGUgJXMiLCAoKmZpbHRlciktPnR5cGUsCisrCQkoKmZpbHRlciktPnJzc2ksICgqZmlsdGVyKS0+cGF0aGxvc3MsCisrCQkoKmZpbHRlciktPmR1cGxpY2F0ZSA/ICJ0cnVlIiA6ICJmYWxzZSIsCisrCQkoKmZpbHRlciktPmRpc2NvdmVyYWJsZSA/ICJ0cnVlIiA6ICJmYWxzZSIpOworIAorIAlyZXR1cm4gdHJ1ZTsKKyAKKy0tIAorMi4xNy4xCitTdWJqZWN0OiAgICBbUEFUQ0ggQmx1ZVogMy81XSBjbGllbnQ6IEFkZCBzY2FuLmRpc2NvdmVyYWJsZSBjb21tYW5kCitGcm9tOiAgICAgICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tPgorRGF0ZTogICAgICAgMjAxOC0wNy0yNiAxNDoxNzoyMQorTWVzc2FnZS1JRDogMjAxODA3MjYxNDE3MjMuMjAxOTktMy1sdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tCitbRG93bmxvYWQgUkFXIG1lc3NhZ2Ugb3IgYm9keV0KKworRnJvbTogTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei52b24uZGVudHpAaW50ZWwuY29tPgorCitUaGlzIGFkZHMgZGlzY292ZXJhYmxlIGNvbW1hbmQgdG8gc2NhbiBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIHNldAoraWYgYWRhcHRlciBzaG91bGQgYmVjb21lIGRpc2NvdmVyYWJsZSB3aGlsZSBzY2FubmluZzoKKworW2JsdWV0b290aF0jIHNjYW4uZGlzY292ZXJhYmxlIG9uCitbYmx1ZXRvb3RoXSMgc2NhbiBvbgorU2V0RGlzY292ZXJ5RmlsdGVyIHN1Y2Nlc3MKK1tDSEddIENvbnRyb2xsZXIgWFg6WFg6WFg6WFg6WFg6WFggRGlzY292ZXJhYmxlOiB5ZXMKK0Rpc2NvdmVyeSBzdGFydGVkCitbQ0hHXSBDb250cm9sbGVyIFhYOlhYOlhYOlhYOlhYOlhYIERpc2NvdmVyaW5nOiB5ZXMKK1tibHVldG9vdGhdIyBzY2FuIG9mZgorRGlzY292ZXJ5IHN0b3BwZWQKK1tDSEddIENvbnRyb2xsZXIgWFg6WFg6WFg6WFg6WFg6WFggRGlzY292ZXJhYmxlOiBubworLS0tCisgY2xpZW50L21haW4uYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2NsaWVudC9tYWluLmMgYi9jbGllbnQvbWFpbi5jCitpbmRleCA2ZjQ3MmQwNTAuLjZlNmY2ZDJmYiAxMDA2NDQKKy0tLSBhL2NsaWVudC9tYWluLmMKKysrKyBiL2NsaWVudC9tYWluLmMKK0BAIC0xMTY2LDYgKzExNjYsNyBAQCBzdGF0aWMgc3RydWN0IHNldF9kaXNjb3ZlcnlfZmlsdGVyX2FyZ3MgeworIAljaGFyICoqdXVpZHM7CisgCXNpemVfdCB1dWlkc19sZW47CisgCWRidXNfYm9vbF90IGR1cGxpY2F0ZTsKKysJZGJ1c19ib29sX3QgZGlzY292ZXJhYmxlOworIAlib29sIHNldDsKKyB9IGZpbHRlciA9IHsKKyAJLnJzc2kgPSBESVNUQU5DRV9WQUxfSU5WQUxJRCwKK0BAIC0xMjA1LDYgKzEyMDYsMTEgQEAgc3RhdGljIHZvaWQgc2V0X2Rpc2NvdmVyeV9maWx0ZXJfc2V0dXAoREJ1c01lc3NhZ2VJdGVyICppdGVyLCB2b2lkICp1c2VyX2RhdGEpCisgCQkJCQkJREJVU19UWVBFX0JPT0xFQU4sCisgCQkJCQkJJmFyZ3MtPmR1cGxpY2F0ZSk7CisgCisrCWlmIChhcmdzLT5kaXNjb3ZlcmFibGUpCisrCQlnX2RidXNfZGljdF9hcHBlbmRfZW50cnkoJmRpY3QsICJEaXNjb3ZlcmFibGUiLAorKwkJCQkJCURCVVNfVFlQRV9CT09MRUFOLAorKwkJCQkJCSZhcmdzLT5kaXNjb3ZlcmFibGUpOworKworIAlkYnVzX21lc3NhZ2VfaXRlcl9jbG9zZV9jb250YWluZXIoaXRlciwgJmRpY3QpOworIH0KKyAKK0BAIC0xMzYyLDYgKzEzNjgsMjYgQEAgc3RhdGljIHZvaWQgY21kX3NjYW5fZmlsdGVyX2R1cGxpY2F0ZV9kYXRhKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCWZpbHRlci5zZXQgPSBmYWxzZTsKKyB9CisgCisrc3RhdGljIHZvaWQgY21kX3NjYW5fZmlsdGVyX2Rpc2NvdmVyYWJsZShpbnQgYXJnYywgY2hhciAqYXJndltdKQorK3sKKysJaWYgKGFyZ2MgPCAyIHx8ICFzdHJsZW4oYXJndlsxXSkpIHsKKysJCWJ0X3NoZWxsX3ByaW50ZigiRGlzY292ZXJhYmxlOiAlc1xuIiwKKysJCQkJZmlsdGVyLmRpc2NvdmVyYWJsZSA/ICJvbiIgOiAib2ZmIik7CisrCQlyZXR1cm4gYnRfc2hlbGxfbm9uaW50ZXJhY3RpdmVfcXVpdChFWElUX1NVQ0NFU1MpOworKwl9CisrCisrCWlmICghc3RyY21wKGFyZ3ZbMV0sICJvbiIpKQorKwkJZmlsdGVyLmRpc2NvdmVyYWJsZSA9IHRydWU7CisrCWVsc2UgaWYgKCFzdHJjbXAoYXJndlsxXSwgIm9mZiIpKQorKwkJZmlsdGVyLmRpc2NvdmVyYWJsZSA9IGZhbHNlOworKwllbHNlIHsKKysJCWJ0X3NoZWxsX3ByaW50ZigiSW52YWxpZCBvcHRpb246ICVzXG4iLCBhcmd2WzFdKTsKKysJCXJldHVybiBidF9zaGVsbF9ub25pbnRlcmFjdGl2ZV9xdWl0KEVYSVRfRkFJTFVSRSk7CisrCX0KKysKKysJZmlsdGVyLnNldCA9IGZhbHNlOworK30KKysKKyBzdGF0aWMgdm9pZCBmaWx0ZXJfY2xlYXJfdXVpZHModm9pZCkKKyB7CisgCWdfc3RyZnJlZXYoZmlsdGVyLnV1aWRzKTsKK0BAIC0yNTEwLDYgKzI1MzYsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGJ0X3NoZWxsX21lbnUgc2Nhbl9tZW51ID0geworIAl7ICJkdXBsaWNhdGUtZGF0YSIsICJbb24vb2ZmXSIsIGNtZF9zY2FuX2ZpbHRlcl9kdXBsaWNhdGVfZGF0YSwKKyAJCQkJIlNldC9HZXQgZHVwbGljYXRlIGRhdGEgZmlsdGVyIiwKKyAJCQkJTlVMTCB9LAorKwl7ICJkaXNjb3ZlcmFibGUiLCAiW29uL29mZl0iLCBjbWRfc2Nhbl9maWx0ZXJfZGlzY292ZXJhYmxlLAorKwkJCQkiU2V0L0dldCBkaXNjb3ZlcmFibGUgZmlsdGVyIiwKKysJCQkJTlVMTCB9LAorIAl7ICJjbGVhciIsICJbdXVpZHMvcnNzaS9wYXRobG9zcy90cmFuc3BvcnQvZHVwbGljYXRlLWRhdGFdIiwKKyAJCQkJY21kX3NjYW5fZmlsdGVyX2NsZWFyLAorIAkJCQkiQ2xlYXJzIGRpc2NvdmVyeSBmaWx0ZXIuIiwKKy0tIAorMi4xNy4xCitTdWJqZWN0OiAgICBbUEFUQ0ggQmx1ZVogNC81XSBjbGllbnQ6IEFkZCBzY2FuLmNsZWFyIGRpc2NvdmVyYWJsZQorRnJvbTogICAgICAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50eiAoKSBnbWFpbCAhIGNvbT4KK0RhdGU6ICAgICAgIDIwMTgtMDctMjYgMTQ6MTc6MjIKK01lc3NhZ2UtSUQ6IDIwMTgwNzI2MTQxNzIzLjIwMTk5LTQtbHVpei5kZW50eiAoKSBnbWFpbCAhIGNvbQorW0Rvd25sb2FkIFJBVyBtZXNzYWdlIG9yIGJvZHldCisKK0Zyb206IEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXoudm9uLmRlbnR6QGludGVsLmNvbT4KKworVGhpcyBpbXBsZW1lbnRzIHNjYW4uY2xlYXIgZm9yIGRpc2NvdmVyYWJsZSBmaWx0ZXIuCistLS0KKyBjbGllbnQvbWFpbi5jIHwgOSArKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jbGllbnQvbWFpbi5jIGIvY2xpZW50L21haW4uYworaW5kZXggNmU2ZjZkMmZiLi4xYTY2YTNhYjQgMTAwNjQ0CistLS0gYS9jbGllbnQvbWFpbi5jCisrKysgYi9jbGllbnQvbWFpbi5jCitAQCAtMTQxNiw2ICsxNDE2LDExIEBAIHN0YXRpYyB2b2lkIGZpbHRlcl9jbGVhcl9kdXBsaWNhdGUodm9pZCkKKyAJZmlsdGVyLmR1cGxpY2F0ZSA9IGZhbHNlOworIH0KKyAKKytzdGF0aWMgdm9pZCBmaWx0ZXJfY2xlYXJfZGlzY292ZXJhYmxlKHZvaWQpCisreworKwlmaWx0ZXIuZGlzY292ZXJhYmxlID0gZmFsc2U7CisrfQorKworIHN0cnVjdCBjbGVhcl9lbnRyeSB7CisgCWNvbnN0IGNoYXIgKm5hbWU7CisgCXZvaWQgKCpjbGVhcikgKHZvaWQpOworQEAgLTE0MjcsNiArMTQzMiw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY2xlYXJfZW50cnkgZmlsdGVyX2NsZWFyW10gPSB7CisgCXsgInBhdGhsb3NzIiwgZmlsdGVyX2NsZWFyX3BhdGhsb3NzIH0sCisgCXsgInRyYW5zcG9ydCIsIGZpbHRlcl9jbGVhcl90cmFuc3BvcnQgfSwKKyAJeyAiZHVwbGljYXRlLWRhdGEiLCBmaWx0ZXJfY2xlYXJfZHVwbGljYXRlIH0sCisrCXsgImRpc2NvdmVyYWJsZSIsIGZpbHRlcl9jbGVhcl9kaXNjb3ZlcmFibGUgfSwKKyAJe30KKyB9OworIAorQEAgLTI1MzksNyArMjU0NSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYnRfc2hlbGxfbWVudSBzY2FuX21lbnUgPSB7CisgCXsgImRpc2NvdmVyYWJsZSIsICJbb24vb2ZmXSIsIGNtZF9zY2FuX2ZpbHRlcl9kaXNjb3ZlcmFibGUsCisgCQkJCSJTZXQvR2V0IGRpc2NvdmVyYWJsZSBmaWx0ZXIiLAorIAkJCQlOVUxMIH0sCistCXsgImNsZWFyIiwgIlt1dWlkcy9yc3NpL3BhdGhsb3NzL3RyYW5zcG9ydC9kdXBsaWNhdGUtZGF0YV0iLAorKwl7ICJjbGVhciIsCisrCQkiW3V1aWRzL3Jzc2kvcGF0aGxvc3MvdHJhbnNwb3J0L2R1cGxpY2F0ZS1kYXRhL2Rpc2NvdmVyYWJsZV0iLAorIAkJCQljbWRfc2Nhbl9maWx0ZXJfY2xlYXIsCisgCQkJCSJDbGVhcnMgZGlzY292ZXJ5IGZpbHRlci4iLAorIAkJCQlmaWx0ZXJfY2xlYXJfZ2VuZXJhdG9yIH0sCistLSAKKzIuMTcuMQorU3ViamVjdDogICAgW1BBVENIIEJsdWVaIDUvNV0gYWRhcHRlcjogRml4IG5vdCBrZWVwaW5nIGRpc2NvdmVyeSBmaWx0ZXJzCitGcm9tOiAgICAgICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tPgorRGF0ZTogICAgICAgMjAxOC0wNy0yNiAxNDoxNzoyMworTWVzc2FnZS1JRDogMjAxODA3MjYxNDE3MjMuMjAxOTktNS1sdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tCitbRG93bmxvYWQgUkFXIG1lc3NhZ2Ugb3IgYm9keV0KKworRnJvbTogTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei52b24uZGVudHpAaW50ZWwuY29tPgorCitJZiB0aGUgZGlzY292ZXJ5IGhhcyBiZWVuIHN0b3BwZWQgYW5kIHRoZSBjbGllbnQgaGFzIHNldCBmaWx0ZXJzIHRob3NlCitzaG91bGQgYmUgcHV0IGJhY2sgaW50byBmaWx0ZXIgbGlzdCBzaW5jZSB0aGUgY2xpZW50IG1heSBzdGlsbCBiZQoraW50ZXJlc3RlZCBpbiB1c2luZyB0aGVtIHRoZSBuZXh0IHRpbWUgaXQgc3RhcnQgYSBzY2FubmluZy4KKy0tLQorIHNyYy9hZGFwdGVyLmMgfCAyNSArKysrKysrKysrKysrKysrLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvYWRhcHRlci5jIGIvc3JjL2FkYXB0ZXIuYworaW5kZXggYmQ5ZWRkZGM2Li44MjJiZDM0NzIgMTAwNjQ0CistLS0gYS9zcmMvYWRhcHRlci5jCisrKysgYi9zcmMvYWRhcHRlci5jCitAQCAtMTg1NCw3ICsxODU0LDcgQEAgc3RhdGljIGJvb2wgc2V0X2ZpbHRlcmVkX2Rpc2NvdmVyYWJsZShzdHJ1Y3QgYnRkX2FkYXB0ZXIgKmFkYXB0ZXIsIGJvb2wgZW5hYmxlKQorIAlyZXR1cm4gc2V0X2Rpc2NvdmVyYWJsZShhZGFwdGVyLCBlbmFibGUsIDApOworIH0KKyAKKy1zdGF0aWMgdm9pZCBkaXNjb3ZlcnlfcmVtb3ZlKHN0cnVjdCB3YXRjaF9jbGllbnQgKmNsaWVudCkKKytzdGF0aWMgdm9pZCBkaXNjb3ZlcnlfcmVtb3ZlKHN0cnVjdCB3YXRjaF9jbGllbnQgKmNsaWVudCwgYm9vbCBleGl0KQorIHsKKyAJc3RydWN0IGJ0ZF9hZGFwdGVyICphZGFwdGVyID0gY2xpZW50LT5hZGFwdGVyOworIAorQEAgLTE4ODIsNyArMTg4MiwxMSBAQCBzdGF0aWMgdm9pZCBkaXNjb3ZlcnlfcmVtb3ZlKHN0cnVjdCB3YXRjaF9jbGllbnQgKmNsaWVudCkKKyAJCQlzZXRfZmlsdGVyZWRfZGlzY292ZXJhYmxlKGFkYXB0ZXIsIGZhbHNlKTsKKyAJfQorIAorLQlkaXNjb3ZlcnlfZnJlZShjbGllbnQpOworKwlpZiAoIWV4aXQgJiYgY2xpZW50LT5kaXNjb3ZlcnlfZmlsdGVyKQorKwkJYWRhcHRlci0+c2V0X2ZpbHRlcl9saXN0ID0gZ19zbGlzdF9wcmVwZW5kKAorKwkJCQkJYWRhcHRlci0+c2V0X2ZpbHRlcl9saXN0LCBjbGllbnQpOworKwllbHNlCisrCQlkaXNjb3ZlcnlfZnJlZShjbGllbnQpOworIAorIAkvKgorIAkgKiBJZiB0aGVyZSBhcmUgb3RoZXIgY2xpZW50IGRpc2NvdmVyaWVzIGluIHByb2dyZXNzLCB0aGVuIGxlYXZlCitAQCAtMTkxMSw4ICsxOTE1LDExIEBAIHN0YXRpYyB2b2lkIHN0b3BfZGlzY292ZXJ5X2NvbXBsZXRlKHVpbnQ4X3Qgc3RhdHVzLCB1aW50MTZfdCBsZW5ndGgsCisgCQlnb3RvIGRvbmU7CisgCX0KKyAKKy0JaWYgKGNsaWVudC0+bXNnKQorKwlpZiAoY2xpZW50LT5tc2cpIHsKKyAJCWdfZGJ1c19zZW5kX3JlcGx5KGRidXNfY29ubiwgY2xpZW50LT5tc2csIERCVVNfVFlQRV9JTlZBTElEKTsKKysJCWRidXNfbWVzc2FnZV91bnJlZihjbGllbnQtPm1zZyk7CisrCQljbGllbnQtPm1zZyA9IE5VTEw7CisrCX0KKyAKKyAJYWRhcHRlci0+ZGlzY292ZXJ5X3R5cGUgPSAweDAwOworIAlhZGFwdGVyLT5kaXNjb3ZlcnlfZW5hYmxlID0gMHgwMDsKK0BAIC0xOTI1LDcgKzE5MzIsNyBAQCBzdGF0aWMgdm9pZCBzdG9wX2Rpc2NvdmVyeV9jb21wbGV0ZSh1aW50OF90IHN0YXR1cywgdWludDE2X3QgbGVuZ3RoLAorIAl0cmlnZ2VyX3Bhc3NpdmVfc2Nhbm5pbmcoYWRhcHRlcik7CisgCisgZG9uZToKKy0JZGlzY292ZXJ5X3JlbW92ZShjbGllbnQpOworKwlkaXNjb3ZlcnlfcmVtb3ZlKGNsaWVudCwgZmFsc2UpOworIH0KKyAKKyBzdGF0aWMgaW50IGNvbXBhcmVfc2VuZGVyKGdjb25zdHBvaW50ZXIgYSwgZ2NvbnN0cG9pbnRlciBiKQorQEAgLTIxNDYsMTQgKzIxNTMsMTQgQEAgc3RhdGljIGludCB1cGRhdGVfZGlzY292ZXJ5X2ZpbHRlcihzdHJ1Y3QgYnRkX2FkYXB0ZXIgKmFkYXB0ZXIpCisgCXJldHVybiAtRUlOUFJPR1JFU1M7CisgfQorIAorLXN0YXRpYyBpbnQgZGlzY292ZXJ5X3N0b3Aoc3RydWN0IHdhdGNoX2NsaWVudCAqY2xpZW50KQorK3N0YXRpYyBpbnQgZGlzY292ZXJ5X3N0b3Aoc3RydWN0IHdhdGNoX2NsaWVudCAqY2xpZW50LCBib29sIGV4aXQpCisgeworIAlzdHJ1Y3QgYnRkX2FkYXB0ZXIgKmFkYXB0ZXIgPSBjbGllbnQtPmFkYXB0ZXI7CisgCXN0cnVjdCBtZ210X2NwX3N0b3BfZGlzY292ZXJ5IGNwOworIAorIAkvKiBDaGVjayBpZiB0aGVyZSBhcmUgbW9yZSBjbGllbnQgZGlzY292ZXJpbmcgKi8KKyAJaWYgKGdfc2xpc3RfbmV4dChhZGFwdGVyLT5kaXNjb3ZlcnlfbGlzdCkpIHsKKy0JCWRpc2NvdmVyeV9yZW1vdmUoY2xpZW50KTsKKysJCWRpc2NvdmVyeV9yZW1vdmUoY2xpZW50LCBleGl0KTsKKyAJCXVwZGF0ZV9kaXNjb3ZlcnlfZmlsdGVyKGFkYXB0ZXIpOworIAkJcmV0dXJuIDA7CisgCX0KK0BAIC0yMTYzLDcgKzIxNzAsNyBAQCBzdGF0aWMgaW50IGRpc2NvdmVyeV9zdG9wKHN0cnVjdCB3YXRjaF9jbGllbnQgKmNsaWVudCkKKyAJICogYW5kIHNvIGl0IGlzIGVub3VnaCB0byBzZW5kIG91dCB0aGUgc2lnbmFsIGFuZCBqdXN0IHJldHVybi4KKyAJICovCisgCWlmIChhZGFwdGVyLT5kaXNjb3ZlcnlfZW5hYmxlID09IDB4MDApIHsKKy0JCWRpc2NvdmVyeV9yZW1vdmUoY2xpZW50KTsKKysJCWRpc2NvdmVyeV9yZW1vdmUoY2xpZW50LCBleGl0KTsKKyAJCWFkYXB0ZXItPmRpc2NvdmVyaW5nID0gZmFsc2U7CisgCQlnX2RidXNfZW1pdF9wcm9wZXJ0eV9jaGFuZ2VkKGRidXNfY29ubiwgYWRhcHRlci0+cGF0aCwKKyAJCQkJCUFEQVBURVJfSU5URVJGQUNFLCAiRGlzY292ZXJpbmciKTsKK0BAIC0yMTg4LDcgKzIxOTUsNyBAQCBzdGF0aWMgdm9pZCBkaXNjb3ZlcnlfZGlzY29ubmVjdChEQnVzQ29ubmVjdGlvbiAqY29ubiwgdm9pZCAqdXNlcl9kYXRhKQorIAorIAlEQkcoIm93bmVyICVzIiwgY2xpZW50LT5vd25lcik7CisgCistCWRpc2NvdmVyeV9zdG9wKGNsaWVudCk7CisrCWRpc2NvdmVyeV9zdG9wKGNsaWVudCwgdHJ1ZSk7CisgfQorIAorIC8qCitAQCAtMjU4Niw3ICsyNTkzLDcgQEAgc3RhdGljIERCdXNNZXNzYWdlICpzdG9wX2Rpc2NvdmVyeShEQnVzQ29ubmVjdGlvbiAqY29ubiwKKyAJaWYgKGNsaWVudC0+bXNnKQorIAkJcmV0dXJuIGJ0ZF9lcnJvcl9idXN5KG1zZyk7CisgCistCWVyciA9IGRpc2NvdmVyeV9zdG9wKGNsaWVudCk7CisrCWVyciA9IGRpc2NvdmVyeV9zdG9wKGNsaWVudCwgZmFsc2UpOworIAlzd2l0Y2ggKGVycikgeworIAljYXNlIDA6CisgCQlyZXR1cm4gZGJ1c19tZXNzYWdlX25ld19tZXRob2RfcmV0dXJuKG1zZyk7CistLSAKKzIuMTcuMQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6NS9ibHVlejUvaW5pdCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlejUvYmx1ZXo1L2luaXQKaW5kZXggZDc5NzJmMi4uY2E5ZmExOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6NS9ibHVlejUvaW5pdAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXo1L2JsdWV6NS9pbml0CkBAIC0xLDUgKzEsOCBAQAogIyEvYmluL3NoCiAKKyMgU291cmNlIGZ1bmN0aW9uIGxpYnJhcnkKKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKIFBBVEg9L3NiaW46L2JpbjovdXNyL3NiaW46L3Vzci9iaW4KIERFU0M9Ymx1ZXRvb3RoCiAKQEAgLTQ0LDE0ICs0Nyw3IEBACiAJJDAgc3RhcnQKICAgOzsKICAgc3RhdHVzKQotCSBwaWRvZiAke0RBRU1PTn0gPi9kZXYvbnVsbAotCSBzdGF0dXM9JD8KLSAgICAgICAgaWYgWyAkc3RhdHVzIC1lcSAwIF07IHRoZW4KLSAgICAgICAgICAgICAgICAgZWNobyAiYmx1ZXRvb3RoIGlzIHJ1bm5pbmcuIgotICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgZWNobyAiYmx1ZXRvb3RoIGlzIG5vdCBydW5uaW5nIgotICAgICAgICBmaQotICAgICAgICBleGl0ICRzdGF0dXMKKwlzdGF0dXMgJHtEQUVNT059IHx8IGV4aXQgJD8KICAgIDs7CiAgICAqKQogCU49L2V0Yy9pbml0LmQvYmx1ZXRvb3RoCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4uaW5jCmluZGV4IDJiMDNmOWMuLjBhMTE3ZTQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4uaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4uaW5jCkBAIC0xMzMsMTQgKzEzMywxNCBAQAogICAgICAgICBhZGRfcmRlcGVuZHMoYmIsIGQsIGZpbGUsIHBrZywgZGVwbWFwLCBtdWx0aWxpYl9wcmVmaXgsIEZhbHNlKQogICAgIHBsdWdpbl9kaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L2Nvbm5tYW4vcGx1Z2lucy8nKQogICAgIHBsdWdpbl9uYW1lID0gZC5leHBhbmQoJyR7UE59LXBsdWdpbi0lcycpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGx1Z2luX2RpciwgJ14oLiopLnNvJCcsIHBsdWdpbl9uYW1lLCBcCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGx1Z2luX2RpciwgcideKC4qKS5zbyQnLCBwbHVnaW5fbmFtZSwgXAogICAgICAgICAnJHtQTn0gcGx1Z2luIGZvciAlcycsIGV4dHJhX2RlcGVuZHM9JycsIGhvb2s9aG9vaywgcHJlcGVuZD1UcnVlICkKIAogICAgIGhvb2sgPSBsYW1iZGEgZmlsZSxwa2cseCx5LHo6IFwKICAgICAgICAgYWRkX3JkZXBlbmRzKGJiLCBkLCBmaWxlLCBwa2csIGRlcG1hcCwgbXVsdGlsaWJfcHJlZml4LCBUcnVlKQogICAgIHBsdWdpbl9kaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L2Nvbm5tYW4vcGx1Z2lucy12cG4vJykKICAgICBwbHVnaW5fbmFtZSA9IGQuZXhwYW5kKCcke1BOfS1wbHVnaW4tdnBuLSVzJykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5fZGlyLCAnXiguKikuc28kJywgcGx1Z2luX25hbWUsIFwKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5fZGlyLCByJ14oLiopLnNvJCcsIHBsdWdpbl9uYW1lLCBcCiAgICAgICAgICcke1BOfSBWUE4gcGx1Z2luIGZvciAlcycsIGV4dHJhX2RlcGVuZHM9JycsIGhvb2s9aG9vaywgcHJlcGVuZD1UcnVlICkKIH0KIApAQCAtMTU2LDcgKzE1Niw3IEBACiAKIEZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS8qICR7c2JpbmRpcn0vKiAke2xpYmV4ZWNkaXJ9LyogJHtsaWJkaXJ9L2xpYiouc28uKiBcCiAgICAgICAgICAgICAke2xpYmRpcn0vY29ubm1hbi9wbHVnaW5zIFwKLSAgICAgICAgICAgICR7c3lzY29uZmRpcn0gJHtzaGFyZWRzdGF0ZWRpcn0gJHtsb2NhbHN0YXRlZGlyfSBcCisgICAgICAgICAgICAke3N5c2NvbmZkaXJ9ICR7c2hhcmVkc3RhdGVkaXJ9ICR7bG9jYWxzdGF0ZWRpcn0gJHtkYXRhZGlyfSBcCiAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS8qICR7YmFzZV9zYmluZGlyfS8qICR7YmFzZV9saWJkaXJ9Lyouc28qICR7ZGF0YWRpcn0vJHtQTn0gXAogICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzLyogXAogICAgICAgICAgICAgJHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL2Nvbm5tYW5fcmVzb2x2Y29uZi5jb25mIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi8wMDAxLUZpeC12YXJpb3VzLWlzc3Vlcy13aGljaC1jYXVzZS1wcm9ibGVtcy11bmRlci1tdXNsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi8wMDAxLUZpeC12YXJpb3VzLWlzc3Vlcy13aGljaC1jYXVzZS1wcm9ibGVtcy11bmRlci1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzNDRmZWEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtRml4LXZhcmlvdXMtaXNzdWVzLXdoaWNoLWNhdXNlLXByb2JsZW1zLXVuZGVyLW11c2wucGF0Y2gKQEAgLTAsMCArMSwzNjIgQEAKK0Zyb20gMTgxZmYzNDM5NzgzYzY5MjBmNTIxMTczMDY3MjY4NWEyMTBjMzE4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitEYXRlOiBNb24sIDggT2N0IDIwMTggMjI6MTI6NTYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IHZhcmlvdXMgaXNzdWVzIHdoaWNoIGNhdXNlIHByb2JsZW1zIHVuZGVyIG11c2wKKworSW5zdGVhZCBvZiB1c2luZyAjZGVmaW5lIF9HTlVfU09VUkNFIGluIHNvbWUgc291cmNlIGZpbGVzIHdoaWNoIGNhdXNlcworcHJvYmxlbXMgd2hlbiBidWlsZGluZyB3aXRoIG11c2wgYXMgbW9yZSBmaWxlcyBuZWVkIHRoZSBkZWZpbmUsIHNpbXBseQordXNlIEFDX1VTRV9TWVNURU1fRVhURU5TSU9OUyBpbiBjb25maWd1cmUuYWMgdG8gZ2V0IGl0IGRlZmluZWQgZ2xvYmFsbHkuCisKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtiZDEzMjZiYTdkNjhkZjM4YzVjY2FhZmQyNDAzYTVmYjMwYmQ0NTJiXQorLS0tCisgY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICB8IDMgKysrCisgZ2RoY3AvY2xpZW50LmMgICAgICAgICAgICAgICB8IDEgLQorIGdkaGNwL2NvbW1vbi5oICAgICAgICAgICAgICAgfCA1ICsrKy0tCisgZ3dlYi9ncmVzb2x2LmMgICAgICAgICAgICAgICB8IDEgKworIHBsdWdpbnMvdGlzdC5jICAgICAgICAgICAgICAgfCAxIC0KKyBwbHVnaW5zL3dpZmkuYyAgICAgICAgICAgICAgIHwgMyArLS0KKyBzcmMvYmFja3RyYWNlLmMgICAgICAgICAgICAgIHwgMSAtCisgc3JjL2luZXQuYyAgICAgICAgICAgICAgICAgICB8IDEgLQorIHNyYy9pcHBvb2wuYyAgICAgICAgICAgICAgICAgfCAxIC0KKyBzcmMvaXB0YWJsZXMuYyAgICAgICAgICAgICAgIHwgMiArLQorIHNyYy9sb2cuYyAgICAgICAgICAgICAgICAgICAgfCAxIC0KKyBzcmMvbnRwLmMgICAgICAgICAgICAgICAgICAgIHwgMSAtCisgc3JjL3Jlc29sdmVyLmMgICAgICAgICAgICAgICB8IDEgLQorIHNyYy9yZmtpbGwuYyAgICAgICAgICAgICAgICAgfCAxIC0KKyBzcmMvc3RhdHMuYyAgICAgICAgICAgICAgICAgIHwgMSAtCisgc3JjL3RldGhlcmluZy5jICAgICAgICAgICAgICB8IDIgLS0KKyBzcmMvdGltZXpvbmUuYyAgICAgICAgICAgICAgIHwgMSAtCisgdG9vbHMvZGhjcC10ZXN0LmMgICAgICAgICAgICB8IDEgLQorIHRvb2xzL2Ruc3Byb3h5LXRlc3QuYyAgICAgICAgfCAxICsKKyB0b29scy9wcml2YXRlLW5ldHdvcmstdGVzdC5jIHwgMiArLQorIHRvb2xzL3N0YXRzLXRvb2wuYyAgICAgICAgICAgfCAxIC0KKyB0b29scy90YXAtdGVzdC5jICAgICAgICAgICAgIHwgMyArLS0KKyB0b29scy93aXNwci5jICAgICAgICAgICAgICAgIHwgMSAtCisgdnBuL3BsdWdpbnMvdnBuLmMgICAgICAgICAgICB8IDEgLQorIDI0IGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCAzOTc0NWY3Ni4uOTg0MTI2YzIgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTIwLDYgKzIwLDcgQEAgQUNfU1VCU1QoYWJzX3RvcF9zcmNkaXIpCisgQUNfU1VCU1QoYWJzX3RvcF9idWlsZGRpcikKKyAKKyBBQ19MQU5HX0MKKytBQ19VU0VfU1lTVEVNX0VYVEVOU0lPTlMKKyAKKyBBQ19QUk9HX0NDCisgQU1fUFJPR19DQ19DX08KK0BAIC0xODUsNiArMTg2LDggQEAgQUNfQ0hFQ0tfTElCKHJlc29sdiwgbnNfaW5pdHBhcnNlLCBkdW1teT15ZXMsIFsKKyBBQ19DSEVDS19IRUFERVJTKFtleGVjaW5mby5oXSkKKyBBTV9DT05ESVRJT05BTChbQkFDS1RSQUNFXSwgW3Rlc3QgIiR7YWNfY3ZfaGVhZGVyX2V4ZWNpbmZvX2h9IiA9ICJ5ZXMiXSkKKyAKKytBQ19DSEVDS19NRU1CRVJTKFtzdHJ1Y3QgaW42X3BrdGluZm8uaXBpNl9hZGRyXSwgW10sIFtdLCBbWyNpbmNsdWRlIDxuZXRpbmV0L2luLmg+XV0pCisrCisgQUNfQ0hFQ0tfRlVOQyhzaWduYWxmZCwgZHVtbXk9eWVzLAorIAkJCUFDX01TR19FUlJPUihzaWduYWxmZCBzdXBwb3J0IGlzIHJlcXVpcmVkKSkKKyAKK2RpZmYgLS1naXQgYS9nZGhjcC9jbGllbnQuYyBiL2dkaGNwL2NsaWVudC5jCitpbmRleCA2NzM1Nzc4Mi4uYzdkYjc2ZjAgMTAwNjQ0CistLS0gYS9nZGhjcC9jbGllbnQuYworKysrIGIvZ2RoY3AvY2xpZW50LmMKK0BAIC0yMyw3ICsyMyw2IEBACisgI2luY2x1ZGUgPGNvbmZpZy5oPgorICNlbmRpZgorIAorLSNkZWZpbmUgX0dOVV9TT1VSQ0UKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CitkaWZmIC0tZ2l0IGEvZ2RoY3AvY29tbW9uLmggYi9nZGhjcC9jb21tb24uaAoraW5kZXggNzVhYmMxODMuLjY4OTk0OTllIDEwMDY0NAorLS0tIGEvZ2RoY3AvY29tbW9uLmgKKysrKyBiL2dkaGNwL2NvbW1vbi5oCitAQCAtMTksNiArMTksNyBAQAorICAqCisgICovCisgCisrI2luY2x1ZGUgPGNvbmZpZy5oPgorICNpbmNsdWRlIDxuZXRpbmV0L3VkcC5oPgorICNpbmNsdWRlIDxuZXRpbmV0L2lwLmg+CisgCitAQCAtMTcwLDggKzE3MSw4IEBAIHN0YXRpYyBjb25zdCB1aW50OF90IGRoY3Bfb3B0aW9uX2xlbmd0aHNbXSA9IHsKKyAJW09QVElPTl9VMzJdCT0gNCwKKyB9OworIAorLS8qIGFscmVhZHkgZGVmaW5lZCB3aXRoaW4gbmV0aW5ldC9pbi5oIGlmIHVzaW5nIEdOVSBjb21waWxlciAqLworLSNpZm5kZWYgX19VU0VfR05VCisrLyogYWxyZWFkeSBkZWZpbmVkIHdpdGhpbiBuZXRpbmV0L2luLmggaWYgdXNpbmcgZ2xpYmMgb3IgbXVzbCAqLworKyNpZm5kZWYgSEFWRV9TVFJVQ1RfSU42X1BLVElORk9fSVBJNl9BRERSCisgc3RydWN0IGluNl9wa3RpbmZvIHsKKyAJc3RydWN0IGluNl9hZGRyIGlwaTZfYWRkcjsgIC8qIHNyYy9kc3QgSVB2NiBhZGRyZXNzICovCisgCXVuc2lnbmVkIGludCBpcGk2X2lmaW5kZXg7ICAvKiBzZW5kL3JlY3YgaW50ZXJmYWNlIGluZGV4ICovCitkaWZmIC0tZ2l0IGEvZ3dlYi9ncmVzb2x2LmMgYi9nd2ViL2dyZXNvbHYuYworaW5kZXggODFjNzliNmMuLmIwNmY4OTMyIDEwMDY0NAorLS0tIGEvZ3dlYi9ncmVzb2x2LmMKKysrKyBiL2d3ZWIvZ3Jlc29sdi5jCitAQCAtMjksNiArMjksNyBAQAorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgI2luY2x1ZGUgPHJlc29sdi5oPgorKyNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorICNpbmNsdWRlIDxuZXRkYi5oPgorZGlmZiAtLWdpdCBhL3BsdWdpbnMvdGlzdC5jIGIvcGx1Z2lucy90aXN0LmMKK2luZGV4IGFkNWVmNzllLi5jYzI4MDBhMSAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvdGlzdC5jCisrKysgYi9wbHVnaW5zL3Rpc3QuYworQEAgLTIzLDcgKzIzLDYgQEAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2VuZGlmCisgCistI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxzdGRib29sLmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorZGlmZiAtLWdpdCBhL3BsdWdpbnMvd2lmaS5jIGIvcGx1Z2lucy93aWZpLmMKK2luZGV4IGRjMDhjNmFmLi40NmU0Y2NhNCAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvd2lmaS5jCisrKysgYi9wbHVnaW5zL3dpZmkuYworQEAgLTMwLDkgKzMwLDggQEAKKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CistI2luY2x1ZGUgPGxpbnV4L2lmX2FycC5oPgorLSNpbmNsdWRlIDxsaW51eC93aXJlbGVzcy5oPgorICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KKysjaW5jbHVkZSA8bGludXgvd2lyZWxlc3MuaD4KKyAKKyAjaWZuZGVmIElGRl9MT1dFUl9VUAorICNkZWZpbmUgSUZGX0xPV0VSX1VQCTB4MTAwMDAKK2RpZmYgLS1naXQgYS9zcmMvYmFja3RyYWNlLmMgYi9zcmMvYmFja3RyYWNlLmMKK2luZGV4IGU4ZDdmNDMyLi5iZWRlNjY5OCAxMDA2NDQKKy0tLSBhL3NyYy9iYWNrdHJhY2UuYworKysrIGIvc3JjL2JhY2t0cmFjZS5jCitAQCAtMjQsNyArMjQsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KK2RpZmYgLS1naXQgYS9zcmMvaW5ldC5jIGIvc3JjL2luZXQuYworaW5kZXggYTMxMzcyYjUuLmE1OGNlN2MxIDEwMDY0NAorLS0tIGEvc3JjL2luZXQuYworKysrIGIvc3JjL2luZXQuYworQEAgLTI1LDcgKzI1LDYgQEAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2VuZGlmCisgCistI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KK2RpZmYgLS1naXQgYS9zcmMvaXBwb29sLmMgYi9zcmMvaXBwb29sLmMKK2luZGV4IGNlYTFkY2NkLi44YTY0NWRhMiAxMDA2NDQKKy0tLSBhL3NyYy9pcHBvb2wuYworKysrIGIvc3JjL2lwcG9vbC5jCitAQCAtMjgsNyArMjgsNiBAQAorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CistI2luY2x1ZGUgPHN5cy9lcnJuby5oPgorICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisgCisgI2luY2x1ZGUgImNvbm5tYW4uaCIKK2RpZmYgLS1naXQgYS9zcmMvaXB0YWJsZXMuYyBiL3NyYy9pcHRhYmxlcy5jCitpbmRleCBmMzY3MGU3Ny4uNDY5ZWZmZWQgMTAwNjQ0CistLS0gYS9zcmMvaXB0YWJsZXMuYworKysrIGIvc3JjL2lwdGFibGVzLmMKK0BAIC0yOCw3ICsyOCw3IEBACisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKy0jaW5jbHVkZSA8c3lzL2Vycm5vLmg+CisrI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyAjaW5jbHVkZSA8eHRhYmxlcy5oPgorICNpbmNsdWRlIDxpbnR0eXBlcy5oPgorZGlmZiAtLWdpdCBhL3NyYy9sb2cuYyBiL3NyYy9sb2cuYworaW5kZXggOWJhZTRhM2QuLmY3ZTgyZTVkIDEwMDY0NAorLS0tIGEvc3JjL2xvZy5jCisrKysgYi9zcmMvbG9nLmMKK0BAIC0yMyw3ICsyMyw2IEBACisgI2luY2x1ZGUgPGNvbmZpZy5oPgorICNlbmRpZgorIAorLSNkZWZpbmUgX0dOVV9TT1VSQ0UKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2luY2x1ZGUgPHN0ZGFyZy5oPgorZGlmZiAtLWdpdCBhL3NyYy9udHAuYyBiL3NyYy9udHAuYworaW5kZXggNTFiYTlhYWMuLjcyNGNhMTg4IDEwMDY0NAorLS0tIGEvc3JjL250cC5jCisrKysgYi9zcmMvbnRwLmMKK0BAIC0yMyw3ICsyMyw2IEBACisgI2luY2x1ZGUgPGNvbmZpZy5oPgorICNlbmRpZgorIAorLSNkZWZpbmUgX0dOVV9TT1VSQ0UKKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CitkaWZmIC0tZ2l0IGEvc3JjL3Jlc29sdmVyLmMgYi9zcmMvcmVzb2x2ZXIuYworaW5kZXggNzZmMGE4ZTEuLjEwMTIxYWE1IDEwMDY0NAorLS0tIGEvc3JjL3Jlc29sdmVyLmMKKysrKyBiL3NyYy9yZXNvbHZlci5jCitAQCAtMjMsNyArMjMsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPGZjbnRsLmg+CitkaWZmIC0tZ2l0IGEvc3JjL3Jma2lsbC5jIGIvc3JjL3Jma2lsbC5jCitpbmRleCBkOWJlZDRkMi4uYjI1MTRjNDEgMTAwNjQ0CistLS0gYS9zcmMvcmZraWxsLmMKKysrKyBiL3NyYy9yZmtpbGwuYworQEAgLTIzLDcgKzIzLDYgQEAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2VuZGlmCisgCistI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDxmY250bC5oPgorZGlmZiAtLWdpdCBhL3NyYy9zdGF0cy5jIGIvc3JjL3N0YXRzLmMKK2luZGV4IDY2M2JjMzgyLi5jOWRkYzJlOCAxMDA2NDQKKy0tLSBhL3NyYy9zdGF0cy5jCisrKysgYi9zcmMvc3RhdHMuYworQEAgLTIzLDcgKzIzLDYgQEAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2VuZGlmCisgCistI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDxzeXMvbW1hbi5oPgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KK2RpZmYgLS1naXQgYS9zcmMvdGV0aGVyaW5nLmMgYi9zcmMvdGV0aGVyaW5nLmMKK2luZGV4IDRiMjAyMzY5Li5mM2NiMzZmNCAxMDA2NDQKKy0tLSBhL3NyYy90ZXRoZXJpbmcuYworKysrIGIvc3JjL3RldGhlcmluZy5jCitAQCAtMzQsOCArMzQsNiBAQAorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorLSNpbmNsdWRlIDxsaW51eC9zb2NraW9zLmg+CistI2luY2x1ZGUgPGxpbnV4L2lmX3R1bi5oPgorICNpbmNsdWRlIDxsaW51eC9pZl9icmlkZ2UuaD4KKyAKKyAjaW5jbHVkZSAiY29ubm1hbi5oIgorZGlmZiAtLWdpdCBhL3NyYy90aW1lem9uZS5jIGIvc3JjL3RpbWV6b25lLmMKK2luZGV4IGUzNDZiMTFhLi44ZTkxMjY3MCAxMDA2NDQKKy0tLSBhL3NyYy90aW1lem9uZS5jCisrKysgYi9zcmMvdGltZXpvbmUuYworQEAgLTIzLDcgKzIzLDYgQEAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2VuZGlmCisgCistI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxmY250bC5oPgorZGlmZiAtLWdpdCBhL3Rvb2xzL2RoY3AtdGVzdC5jIGIvdG9vbHMvZGhjcC10ZXN0LmMKK2luZGV4IGMzNGUxMGE4Li5lYWU2NmZjMiAxMDA2NDQKKy0tLSBhL3Rvb2xzL2RoY3AtdGVzdC5jCisrKysgYi90b29scy9kaGNwLXRlc3QuYworQEAgLTMzLDcgKzMzLDYgQEAKKyAjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+CisgI2luY2x1ZGUgPG5ldC9yb3V0ZS5oPgorICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KKy0jaW5jbHVkZSA8bGludXgvaWZfYXJwLmg+CisgCisgI2luY2x1ZGUgPGdkaGNwL2dkaGNwLmg+CisgCitkaWZmIC0tZ2l0IGEvdG9vbHMvZG5zcHJveHktdGVzdC5jIGIvdG9vbHMvZG5zcHJveHktdGVzdC5jCitpbmRleCA1NTFjYWU5MS4uMzcxZTJlMjMgMTAwNjQ0CistLS0gYS90b29scy9kbnNwcm94eS10ZXN0LmMKKysrKyBiL3Rvb2xzL2Ruc3Byb3h5LXRlc3QuYworQEAgLTI0LDYgKzI0LDcgQEAKKyAjZW5kaWYKKyAKKyAjaW5jbHVkZSA8ZXJybm8uaD4KKysjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KK2RpZmYgLS1naXQgYS90b29scy9wcml2YXRlLW5ldHdvcmstdGVzdC5jIGIvdG9vbHMvcHJpdmF0ZS1uZXR3b3JrLXRlc3QuYworaW5kZXggM2RkMTE1YmEuLjI4MjhiYjMwIDEwMDY0NAorLS0tIGEvdG9vbHMvcHJpdmF0ZS1uZXR3b3JrLXRlc3QuYworKysrIGIvdG9vbHMvcHJpdmF0ZS1uZXR3b3JrLXRlc3QuYworQEAgLTMyLDcgKzMyLDcgQEAKKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDxzaWduYWwuaD4KKy0jaW5jbHVkZSA8c3lzL3BvbGwuaD4KKysjaW5jbHVkZSA8cG9sbC5oPgorICNpbmNsdWRlIDxzeXMvc2lnbmFsZmQuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgCitkaWZmIC0tZ2l0IGEvdG9vbHMvc3RhdHMtdG9vbC5jIGIvdG9vbHMvc3RhdHMtdG9vbC5jCitpbmRleCBlZmEzOWRlMi4uNTY5NTA0OGYgMTAwNjQ0CistLS0gYS90b29scy9zdGF0cy10b29sLmMKKysrKyBiL3Rvb2xzL3N0YXRzLXRvb2wuYworQEAgLTIyLDcgKzIyLDYgQEAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2VuZGlmCisgCistI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDxzeXMvbW1hbi5oPgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KK2RpZmYgLS1naXQgYS90b29scy90YXAtdGVzdC5jIGIvdG9vbHMvdGFwLXRlc3QuYworaW5kZXggZmRjMDk4YWEuLmNiM2VlNjIyIDEwMDY0NAorLS0tIGEvdG9vbHMvdGFwLXRlc3QuYworKysrIGIvdG9vbHMvdGFwLXRlc3QuYworQEAgLTIzLDEzICsyMywxMiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPGZjbnRsLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KKy0jaW5jbHVkZSA8c3lzL3BvbGwuaD4KKysjaW5jbHVkZSA8cG9sbC5oPgorICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyAKKyAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorZGlmZiAtLWdpdCBhL3Rvb2xzL3dpc3ByLmMgYi90b29scy93aXNwci5jCitpbmRleCBkNWY5MzQxZi4uZTU2ZGZjMTYgMTAwNjQ0CistLS0gYS90b29scy93aXNwci5jCisrKysgYi90b29scy93aXNwci5jCitAQCAtMjMsNyArMjMsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPGZjbnRsLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorZGlmZiAtLWdpdCBhL3Zwbi9wbHVnaW5zL3Zwbi5jIGIvdnBuL3BsdWdpbnMvdnBuLmMKK2luZGV4IDEwNTQ4YWFmLi42ZTNmNjQwYyAxMDA2NDQKKy0tLSBhL3Zwbi9wbHVnaW5zL3Zwbi5jCisrKysgYi92cG4vcGx1Z2lucy92cG4uYworQEAgLTIzLDcgKzIzLDYgQEAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2VuZGlmCisgCistI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtZ2lvZ251dGxzLUZpeC1hLWNyYXNoLXVzaW5nLXdpc3ByLW92ZXItVExTLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi8wMDAxLWdpb2dudXRscy1GaXgtYS1jcmFzaC11c2luZy13aXNwci1vdmVyLVRMUy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjkwODBkNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtZ2lvZ251dGxzLUZpeC1hLWNyYXNoLXVzaW5nLXdpc3ByLW92ZXItVExTLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotRnJvbSA5MjlmYzliNzA2ODEwMDQ0NGUwZmZjY2NkMjU4NDFmNzg3OTFlNjE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotRGF0ZTogRnJpLCAxNSBTZXAgMjAxNyAwNjo0MDowOCAtMDQwMAotU3ViamVjdDogW1BBVENIXSBnd2ViOiBGaXggYSBjcmFzaCB1c2luZyB3aXNwciBvdmVyIFRMUwotVG86IGNvbm5tYW5AbGlzdHMuMDEub3JnCi1DYzogd2FnaUBtb25vbS5vcmcKLQotV2hlbiBnbnV0bHNfY2hhbm5lbCBpcyBpbnN0YW50aWF0ZWQsIHRoZSBnbnV0bHNfY2hhbm5lbC0+ZXN0YWJsaXNoZWQKLWhhcyB0byBiZSBpbml0aWF0ZWQgYXMgRkFMU0UuIE90aGVyd2lzZSwgY2hlY2tfaGFuZHNoYWtlIGZ1bmN0aW9uCi13b24ndCB3b3JrLiBBIHJhbmRvbSBpbml0aWFsIHZhbHVlIDEgb2YgZ251dGxzX2NoYW5uZWwtPmVzdGFibGlzaGVkCi13aWxsIG1ha2UgY2hlY2tfaGFuZHNoYWtlIHJldHVybiBHX0lPX1NUQVRVU19OT1JNQUwsIHdoZW4gdGhlIGNoYW5uZWwKLWlzIGFjdHVhbGx5IG5vdCByZWFkeSB0byBiZSB1c2VkLiBUaGUgb2JzZXJ2ZWQgYmVoYXZpb3VycyBhcmUsCi0KLS0gd2lzcHIgaXMgZ2V0dGluZyByYW5kb20gZXJyb3JzIGluIHdpc3ByX3BvcnRhbF93ZWJfcmVzdWx0Ci0tIENvbm5NYW4gY3Jhc2hlcyBvbiBleGl0IGFmdGVyIHRob3NlIHJhbmRvbSBlcnJvcnMKLS0gd2hlbiB3aXNwciBpcyBsdWNrbHkgd29ya2luZywgQ29ubk1hbiBkb2Vzbid0IGNyYXNoIG9uIGV4aXQKLQotU2lnbmVkLW9mZi1ieTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotCi0tLS0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9uZXR3b3JrL2Nvbm5tYW4vY29ubm1hbi5naXQvY29tbWl0Lz9pZD03M2U1M2YzYmQ5ZTdkZWJhZTg2MzQxZjFlZWU3Yjk3ODYyYTU2YTVlXQotU2lnbmVkLW9mZi1ieTogQW5kcsOpIERyYXN6aWsgPGFuZHJlLmRyYXN6aWtAamNpLmNvbT4KLSBnd2ViL2dpb2dudXRscy5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvZ3dlYi9naW9nbnV0bHMuYyBiL2d3ZWIvZ2lvZ251dGxzLmMKLWluZGV4IDA5ZGM5ZTcuLmMwMjlhOGIgMTAwNjQ0Ci0tLS0gYS9nd2ViL2dpb2dudXRscy5jCi0rKysgYi9nd2ViL2dpb2dudXRscy5jCi1AQCAtNDIxLDcgKzQyMSw3IEBAIEdJT0NoYW5uZWwgKmdfaW9fY2hhbm5lbF9nbnV0bHNfbmV3KGludCBmZCkKLSAKLSAJREJHKCIiKTsKLSAKLS0JZ251dGxzX2NoYW5uZWwgPSBnX25ldyhHSU9HbnVUTFNDaGFubmVsLCAxKTsKLSsJZ251dGxzX2NoYW5uZWwgPSBnX25ldzAoR0lPR251VExTQ2hhbm5lbCwgMSk7Ci0gCi0gCWNoYW5uZWwgPSAoR0lPQ2hhbm5lbCAqKSBnbnV0bHNfY2hhbm5lbDsKLSAKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi8wMDAxLWluZXQtQWRkLXByZWZpeGxlbi10by1pcHJvdXRlX2RlZmF1bHRfZnVuY3Rpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtaW5ldC1BZGQtcHJlZml4bGVuLXRvLWlwcm91dGVfZGVmYXVsdF9mdW5jdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQ3YjM1Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtaW5ldC1BZGQtcHJlZml4bGVuLXRvLWlwcm91dGVfZGVmYXVsdF9mdW5jdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYzICswLDAgQEAKLUZyb20gNTA4ZGM2MGExZjA3NThlYmM1ODZiNmIwODY0NzhhMTc2ZDQ5MzA4NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEppYW4gTGlhbmcgPGppYW5saWFuZ0B0eWNvaW50LmNvbT4KLURhdGU6IFRodSwgNSBPY3QgMjAxNyAwOTozNDo0MSArMDEwMAotU3ViamVjdDogW1BBVENIIDEvNF0gaW5ldDogQWRkIHByZWZpeGxlbiB0byBpcHJvdXRlX2RlZmF1bHRfZnVuY3Rpb24KLVRvOiBjb25ubWFuQGxpc3RzLjAxLm9yZwotQ2M6IHdhZ2lAbW9ub20ub3JnCi0KLUFkZCBwcmVmaXhsZW4gcGFyYW1ldGVyIHRvIHRoaXMgZnVuY3Rpb24gaW4gcHJlcGFyYXRpb24gZm9yIHVzaW5nCi1pdCBhbHNvIGluIGNyZWF0aW5nIHN1Ym5ldCByb3V0ZSBsYXRlciwgZS5nLgotCi1kZWZhdWx0IHZpYSAxOTIuMTY4LjEwMC4xIGRldiBldGgwCi0xOTIuMTY4LjEwMC4wLzI0IGRldiBldGgwCi0KLVNpZ25lZC1vZmYtYnk6IEppYW4gTGlhbmcgPGppYW5saWFuZ0B0eWNvaW50LmNvbT4KLQotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbmV0d29yay9jb25ubWFuL2Nvbm5tYW4uZ2l0L2NvbW1pdC8/aWQ9ZWRkYTViNjk1ZGUyZWU3OWYwMjMxNGFiYzliNDZmZGQ0NmIzODhlMV0KLVNpZ25lZC1vZmYtYnk6IEFuZHLDqSBEcmFzemlrIDxhbmRyZS5kcmFzemlrQGpjaS5jb20+Ci0gc3JjL2luZXQuYyB8IDcgKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvaW5ldC5jIGIvc3JjL2luZXQuYwotaW5kZXggYjg4N2FhMC4uYWI4YWVjOCAxMDA2NDQKLS0tLSBhL3NyYy9pbmV0LmMKLSsrKyBiL3NyYy9pbmV0LmMKLUBAIC0yNzk2LDcgKzI3OTYsNyBAQCBpbnQgX19jb25ubWFuX2luZXRfZGVsX2Z3bWFya19ydWxlKHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgZmFtaWx5LCB1aW50MzJfdCBmd21hcgotIH0KLSAKLSBzdGF0aWMgaW50IGlwcm91dGVfZGVmYXVsdF9tb2RpZnkoaW50IGNtZCwgdWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LAotLQkJCWNvbnN0IGNoYXIgKmdhdGV3YXkpCi0rCQkJY29uc3QgY2hhciAqZ2F0ZXdheSwgdW5zaWduZWQgY2hhciBwcmVmaXhsZW4pCi0gewotIAlzdHJ1Y3QgX19jb25ubWFuX2luZXRfcnRubF9oYW5kbGUgcnRoOwotIAl1bnNpZ25lZCBjaGFyIGJ1ZltzaXplb2Yoc3RydWN0IGluNl9hZGRyKV07Ci1AQCAtMjgyOSw2ICsyODI5LDcgQEAgc3RhdGljIGludCBpcHJvdXRlX2RlZmF1bHRfbW9kaWZ5KGludCBjbWQsIHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgaWZpbmRleCwKLSAJcnRoLnJlcS51LnIucnQucnRtX3Byb3RvY29sID0gUlRQUk9UX0JPT1Q7Ci0gCXJ0aC5yZXEudS5yLnJ0LnJ0bV9zY29wZSA9IFJUX1NDT1BFX1VOSVZFUlNFOwotIAlydGgucmVxLnUuci5ydC5ydG1fdHlwZSA9IFJUTl9VTklDQVNUOwotKwlydGgucmVxLnUuci5ydC5ydG1fZHN0X2xlbiA9IHByZWZpeGxlbjsKLSAKLSAJX19jb25ubWFuX2luZXRfcnRubF9hZGRhdHRyX2woJnJ0aC5yZXEubiwgc2l6ZW9mKHJ0aC5yZXEpLCBSVEFfR0FURVdBWSwKLSAJCQkJCQkJCWJ1ZiwgbGVuKTsKLUBAIC0yODYwLDcgKzI4NjEsNyBAQCBpbnQgX19jb25ubWFuX2luZXRfYWRkX2RlZmF1bHRfdG9fdGFibGUodWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LAotIHsKLSAJLyogaXAgcm91dGUgYWRkIGRlZmF1bHQgdmlhIDEuMi4zLjQgZGV2IHdsYW4wIHRhYmxlIDEyMzQgKi8KLSAKLS0JcmV0dXJuIGlwcm91dGVfZGVmYXVsdF9tb2RpZnkoUlRNX05FV1JPVVRFLCB0YWJsZV9pZCwgaWZpbmRleCwgZ2F0ZXdheSk7Ci0rCXJldHVybiBpcHJvdXRlX2RlZmF1bHRfbW9kaWZ5KFJUTV9ORVdST1VURSwgdGFibGVfaWQsIGlmaW5kZXgsIGdhdGV3YXksIDApOwotIH0KLSAKLSBpbnQgX19jb25ubWFuX2luZXRfZGVsX2RlZmF1bHRfZnJvbV90YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi1AQCAtMjg2OCw3ICsyODY5LDcgQEAgaW50IF9fY29ubm1hbl9pbmV0X2RlbF9kZWZhdWx0X2Zyb21fdGFibGUodWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LAotIHsKLSAJLyogaXAgcm91dGUgZGVsIGRlZmF1bHQgdmlhIDEuMi4zLjQgZGV2IHdsYW4wIHRhYmxlIDEyMzQgKi8KLSAKLS0JcmV0dXJuIGlwcm91dGVfZGVmYXVsdF9tb2RpZnkoUlRNX0RFTFJPVVRFLCB0YWJsZV9pZCwgaWZpbmRleCwgZ2F0ZXdheSk7Ci0rCXJldHVybiBpcHJvdXRlX2RlZmF1bHRfbW9kaWZ5KFJUTV9ERUxST1VURSwgdGFibGVfaWQsIGlmaW5kZXgsIGdhdGV3YXksIDApOwotIH0KLSAKLSBpbnQgX19jb25ubWFuX2luZXRfZ2V0X2ludGVyZmFjZV9sbF9hZGRyZXNzKGludCBpbmRleCwgaW50IGZhbWlseSwKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi8wMDAxLXNlc3Npb24tS2VlcC10cmFjay1vZi1hZGRyLWluLWZ3X3NuYXQtc2Vzc2lvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMS1zZXNzaW9uLUtlZXAtdHJhY2stb2YtYWRkci1pbi1md19zbmF0LXNlc3Npb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYxYjRkMGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi8wMDAxLXNlc3Npb24tS2VlcC10cmFjay1vZi1hZGRyLWluLWZ3X3NuYXQtc2Vzc2lvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExMiArMCwwIEBACi1Gcm9tIGI1ZmQ1OTQ1ODg2ZmExODQ1ZGI1Yzk2OTQyNGI2M2Q4OTRmZTAzNzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKaWFuIExpYW5nIDxqaWFubGlhbmdAdHljb2ludC5jb20+Ci1EYXRlOiBGcmksIDI1IEF1ZyAyMDE3IDEwOjAyOjE2IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBzZXNzaW9uOiBLZWVwIHRyYWNrIG9mIGFkZHIgaW4gZndfc25hdCAmIHNlc3Npb24KLVRvOiBjb25ubWFuQGxpc3RzLjAxLm9yZwotQ2M6IHdhZ2lAbW9ub20ub3JnCi0KLVdoZW4gdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBzZXNzaW9uIGluIGZ3X3NuYXQncyBsaXN0IG9mIHNlc3Npb25zLAotZndfc25hdCBmYWlsZWQgdG8gYmUgcmUtY3JlYXRlZCB3aGVuIHVwZGF0ZS1zZXNzaW9uLXN0YXRlIGlzIHRyaWdnZXJlZAotd2l0aCBuZXcgSVAgYWRkcmVzcy4gVGhpcyBpcyBiZWNhdXNlIGluZGV4IGFsb25lIGlzIG5vdCBzdWZmaWNpZW50IHRvCi1kZWNpZGUgaWYgZndfc25hdCBuZWVkcyB0byBiZSByZS1jcmVhdGVkLiBUaGUgc29sdXRpb24gaGVyZSBpcyB0byBrZWVwCi1hIHRyYWNrIG9mIElQIGFkZHIgYW5kIHVzZSBpdCB0byBhdm9pZCBmYWxzZSBsb29rdXAgb2YgZndfc25hdC4KLQotU2lnbmVkLW9mZi1ieTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotCi0tLS0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9uZXR3b3JrL2Nvbm5tYW4vY29ubm1hbi5naXQvY29tbWl0Lz9pZD1mOWUyN2Q0YWJmY2FiNWM4MGEzOGUwODUwYjVkZGIyNjI3N2Y5N2MxXQotU2lnbmVkLW9mZi1ieTogQW5kcsOpIERyYXN6aWsgPGFuZHJlLmRyYXN6aWtAamNpLmNvbT4KLSBzcmMvc2Vzc2lvbi5jIHwgMTkgKysrKysrKysrKysrKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Nlc3Npb24uYyBiL3NyYy9zZXNzaW9uLmMKLWluZGV4IDllM2M1NTkuLjk2NWFjMDYgMTAwNjQ0Ci0tLS0gYS9zcmMvc2Vzc2lvbi5jCi0rKysgYi9zcmMvc2Vzc2lvbi5jCi1AQCAtNjUsNiArNjUsNyBAQCBzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uIHsKLSAJc3RydWN0IGZpcmV3YWxsX2NvbnRleHQgKmZ3OwotIAl1aW50MzJfdCBtYXJrOwotIAlpbnQgaW5kZXg7Ci0rCWNoYXIgKmFkZHI7Ci0gCWNoYXIgKmdhdGV3YXk7Ci0gCWJvb2wgcG9saWN5X3JvdXRpbmc7Ci0gCWJvb2wgc25hdF9lbmFibGVkOwotQEAgLTc5LDYgKzgwLDcgQEAgc3RydWN0IGZ3X3NuYXQgewotIAlHU0xpc3QgKnNlc3Npb25zOwotIAlpbnQgaWQ7Ci0gCWludCBpbmRleDsKLSsJY2hhciAqYWRkcjsKLSAJc3RydWN0IGZpcmV3YWxsX2NvbnRleHQgKmZ3OwotIH07Ci0gCi1AQCAtMjAwLDcgKzIwMiw3IEBAIHN0YXRpYyBjaGFyICpzZXJ2aWNlMmJlYXJlcihlbnVtIGNvbm5tYW5fc2VydmljZV90eXBlIHR5cGUpCi0gCXJldHVybiAiIjsKLSB9Ci0gCi0tc3RhdGljIHN0cnVjdCBmd19zbmF0ICpmd19zbmF0X2xvb2t1cChpbnQgaW5kZXgpCi0rc3RhdGljIHN0cnVjdCBmd19zbmF0ICpmd19zbmF0X2xvb2t1cChpbnQgaW5kZXgsIGNvbnN0IGNoYXIgKmFkZHIpCi0gewotIAlzdHJ1Y3QgZndfc25hdCAqZndfc25hdDsKLSAJR1NMaXN0ICpsaXN0OwotQEAgLTIwOCw4ICsyMTAsMTEgQEAgc3RhdGljIHN0cnVjdCBmd19zbmF0ICpmd19zbmF0X2xvb2t1cChpbnQgaW5kZXgpCi0gCWZvciAobGlzdCA9IGZ3X3NuYXRfbGlzdDsgbGlzdDsgbGlzdCA9IGxpc3QtPm5leHQpIHsKLSAJCWZ3X3NuYXQgPSBsaXN0LT5kYXRhOwotIAotLQkJaWYgKGZ3X3NuYXQtPmluZGV4ID09IGluZGV4KQotKwkJaWYgKGZ3X3NuYXQtPmluZGV4ID09IGluZGV4KSB7Ci0rCQkJaWYgKGdfc3RyY21wMChhZGRyLCBmd19zbmF0LT5hZGRyKSAhPSAwKQotKwkJCQljb250aW51ZTsKLSAJCQlyZXR1cm4gZndfc25hdDsKLSsJCX0KLSAJfQotIAlyZXR1cm4gTlVMTDsKLSB9Ci1AQCAtMjI0LDYgKzIyOSw3IEBAIHN0YXRpYyBpbnQgZndfc25hdF9jcmVhdGUoc3RydWN0IGNvbm5tYW5fc2Vzc2lvbiAqc2Vzc2lvbiwKLSAKLSAJZndfc25hdC0+ZncgPSBfX2Nvbm5tYW5fZmlyZXdhbGxfY3JlYXRlKCk7Ci0gCWZ3X3NuYXQtPmluZGV4ID0gaW5kZXg7Ci0rCWZ3X3NuYXQtPmFkZHIgPSBnX3N0cmR1cChhZGRyKTsKLSAKLSAJZndfc25hdC0+aWQgPSBfX2Nvbm5tYW5fZmlyZXdhbGxfZW5hYmxlX3NuYXQoZndfc25hdC0+ZncsCi0gCQkJCQkJaW5kZXgsIGlmbmFtZSwgYWRkcik7Ci1AQCAtMjM4LDYgKzI0NCw3IEBAIHN0YXRpYyBpbnQgZndfc25hdF9jcmVhdGUoc3RydWN0IGNvbm5tYW5fc2Vzc2lvbiAqc2Vzc2lvbiwKLSAJcmV0dXJuIDA7Ci0gZXJyOgotIAlfX2Nvbm5tYW5fZmlyZXdhbGxfZGVzdHJveShmd19zbmF0LT5mdyk7Ci0rCWdfZnJlZShmd19zbmF0LT5hZGRyKTsKLSAJZ19mcmVlKGZ3X3NuYXQpOwotIAlyZXR1cm4gZXJyOwotIH0KLUBAIC0zOTMsNyArNDAwLDcgQEAgc3RhdGljIHZvaWQgZGVsX25hdF9ydWxlcyhzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uICpzZXNzaW9uKQotIAkJcmV0dXJuOwotIAotIAlzZXNzaW9uLT5zbmF0X2VuYWJsZWQgPSBmYWxzZTsKLS0JZndfc25hdCA9IGZ3X3NuYXRfbG9va3VwKHNlc3Npb24tPmluZGV4KTsKLSsJZndfc25hdCA9IGZ3X3NuYXRfbG9va3VwKHNlc3Npb24tPmluZGV4LCBzZXNzaW9uLT5hZGRyKTsKLSAKLSAJaWYgKCFmd19zbmF0KQotIAkJcmV0dXJuOwotQEAgLTQyMCw4ICs0MjcsMTEgQEAgc3RhdGljIHZvaWQgYWRkX25hdF9ydWxlcyhzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uICpzZXNzaW9uKQotIAlpZiAoIWFkZHIpCi0gCQlyZXR1cm47Ci0gCi0rCWdfZnJlZShzZXNzaW9uLT5hZGRyKTsKLSsJc2Vzc2lvbi0+YWRkciA9IGdfc3RyZHVwKGFkZHIpOwotKwotIAlzZXNzaW9uLT5zbmF0X2VuYWJsZWQgPSB0cnVlOwotLQlmd19zbmF0ID0gZndfc25hdF9sb29rdXAoaW5kZXgpOwotKwlmd19zbmF0ID0gZndfc25hdF9sb29rdXAoaW5kZXgsIHNlc3Npb24tPmFkZHIpOwotIAlpZiAoZndfc25hdCkgewotIAkJZndfc25hdF9yZWYoc2Vzc2lvbiwgZndfc25hdCk7Ci0gCQlyZXR1cm47Ci1AQCAtNTAyLDYgKzUxMiw3IEBAIHN0YXRpYyB2b2lkIGZyZWVfc2Vzc2lvbihzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uICpzZXNzaW9uKQotIAlnX2ZyZWUoc2Vzc2lvbi0+aW5mbyk7Ci0gCWdfZnJlZShzZXNzaW9uLT5pbmZvX2xhc3QpOwotIAlnX2ZyZWUoc2Vzc2lvbi0+Z2F0ZXdheSk7Ci0rCWdfZnJlZShzZXNzaW9uLT5hZGRyKTsKLSAKLSAJZ19mcmVlKHNlc3Npb24pOwotIH0KLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi8wMDAyLWluZXQtSW1wbGVtZW50LXN1Ym5ldC1yb3V0ZS1jcmVhdGlvbi1kZWxldGlvbi1pbi1pcHIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDItaW5ldC1JbXBsZW1lbnQtc3VibmV0LXJvdXRlLWNyZWF0aW9uLWRlbGV0aW9uLWluLWlwci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWM5NTNlNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDItaW5ldC1JbXBsZW1lbnQtc3VibmV0LXJvdXRlLWNyZWF0aW9uLWRlbGV0aW9uLWluLWlwci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLUZyb20gMDhjZGE0MDA0NDkxZDM5NzFhOGI5ZGY5Mzc0MjZjNDM4MDBkMTViMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEppYW4gTGlhbmcgPGppYW5saWFuZ0B0eWNvaW50LmNvbT4KLURhdGU6IFRodSwgNSBPY3QgMjAxNyAwOTozNzowNiArMDEwMAotU3ViamVjdDogW1BBVENIIDIvNF0gaW5ldDogSW1wbGVtZW50IHN1Ym5ldCByb3V0ZSBjcmVhdGlvbi9kZWxldGlvbiBpbgotIGlwcm91dGVfZGVmYXVsdF9tb2RpZnkKLVRvOiBjb25ubWFuQGxpc3RzLjAxLm9yZwotQ2M6IHdhZ2lAbW9ub20ub3JnCi0KLS0gQ2FsY3VsYXRlIHN1Ym5ldCBhZGRyZXNzIGJhc2Ugb24gZ2F0ZXdheSBhZGRyZXNzIGFuZCBwcmVmaXhsZW4KLS0gRGlmZmVyZW50aWF0ZSBjcmVhdGlvbiBvZiByb3V0ZXMgdG8gZ2F0ZXdheSBhbmQgc3VibmV0Ci0KLVNpZ25lZC1vZmYtYnk6IEppYW4gTGlhbmcgPGppYW5saWFuZ0B0eWNvaW50LmNvbT4KLQotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbmV0d29yay9jb25ubWFuL2Nvbm5tYW4uZ2l0L2NvbW1pdC8/aWQ9ZmY3ZGNmOTFmMTJhMmEyMzdmZWViYzZlNjA2ZDBhOGU5Mjk3NTUyOF0KLVNpZ25lZC1vZmYtYnk6IEFuZHLDqSBEcmFzemlrIDxhbmRyZS5kcmFzemlrQGpjaS5jb20+Ci0gc3JjL2luZXQuYyB8IDIyICsrKysrKysrKysrKysrKysrKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9pbmV0LmMgYi9zcmMvaW5ldC5jCi1pbmRleCBhYjhhZWM4Li4wZGRiMDMwIDEwMDY0NAotLS0tIGEvc3JjL2luZXQuYwotKysrIGIvc3JjL2luZXQuYwotQEAgLTI4MDIsNiArMjgwMiw5IEBAIHN0YXRpYyBpbnQgaXByb3V0ZV9kZWZhdWx0X21vZGlmeShpbnQgY21kLCB1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0gCXVuc2lnbmVkIGNoYXIgYnVmW3NpemVvZihzdHJ1Y3QgaW42X2FkZHIpXTsKLSAJaW50IHJldCwgbGVuOwotIAlpbnQgZmFtaWx5ID0gY29ubm1hbl9pbmV0X2NoZWNrX2lwYWRkcmVzcyhnYXRld2F5KTsKLSsJY2hhciAqZHN0ID0gTlVMTDsKLSsKLSsJREJHKCJnYXRld2F5ICVzLyV1IHRhYmxlICV1IiwgZ2F0ZXdheSwgcHJlZml4bGVuLCB0YWJsZV9pZCk7Ci0gCi0gCXN3aXRjaCAoZmFtaWx5KSB7Ci0gCWNhc2UgQUZfSU5FVDoKLUBAIC0yODE0LDcgKzI4MTcsMTkgQEAgc3RhdGljIGludCBpcHJvdXRlX2RlZmF1bHRfbW9kaWZ5KGludCBjbWQsIHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgaWZpbmRleCwKLSAJCXJldHVybiAtRUlOVkFMOwotIAl9Ci0gCi0tCXJldCA9IGluZXRfcHRvbihmYW1pbHksIGdhdGV3YXksIGJ1Zik7Ci0rCWlmIChwcmVmaXhsZW4pIHsKLSsJCXN0cnVjdCBpbl9hZGRyIGlwdjRfc3VibmV0X2FkZHIsIGlwdjRfbWFzazsKLSsKLSsJCW1lbXNldCgmaXB2NF9zdWJuZXRfYWRkciwgMCwgc2l6ZW9mKGlwdjRfc3VibmV0X2FkZHIpKTsKLSsJCWlwdjRfbWFzay5zX2FkZHIgPSBodG9ubCgoMHhmZmZmZmZmZiA8PCAoMzIgLSBwcmVmaXhsZW4pKSAmIDB4ZmZmZmZmZmYpOwotKwkJaXB2NF9zdWJuZXRfYWRkci5zX2FkZHIgPSBpbmV0X2FkZHIoZ2F0ZXdheSk7Ci0rCQlpcHY0X3N1Ym5ldF9hZGRyLnNfYWRkciAmPSBpcHY0X21hc2suc19hZGRyOwotKwotKwkJZHN0ID0gZ19zdHJkdXAoaW5ldF9udG9hKGlwdjRfc3VibmV0X2FkZHIpKTsKLSsJfQotKwotKwlyZXQgPSBpbmV0X3B0b24oZmFtaWx5LCBkc3QgPyBkc3QgOiBnYXRld2F5LCBidWYpOwotKwlnX2ZyZWUoZHN0KTsKLSAJaWYgKHJldCA8PSAwKQotIAkJcmV0dXJuIC1FSU5WQUw7Ci0gCi1AQCAtMjgzMSw4ICsyODQ2LDkgQEAgc3RhdGljIGludCBpcHJvdXRlX2RlZmF1bHRfbW9kaWZ5KGludCBjbWQsIHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgaWZpbmRleCwKLSAJcnRoLnJlcS51LnIucnQucnRtX3R5cGUgPSBSVE5fVU5JQ0FTVDsKLSAJcnRoLnJlcS51LnIucnQucnRtX2RzdF9sZW4gPSBwcmVmaXhsZW47Ci0gCi0tCV9fY29ubm1hbl9pbmV0X3J0bmxfYWRkYXR0cl9sKCZydGgucmVxLm4sIHNpemVvZihydGgucmVxKSwgUlRBX0dBVEVXQVksCi0tCQkJCQkJCQlidWYsIGxlbik7Ci0rCV9fY29ubm1hbl9pbmV0X3J0bmxfYWRkYXR0cl9sKCZydGgucmVxLm4sIHNpemVvZihydGgucmVxKSwKLSsJCXByZWZpeGxlbiA+IDAgPyBSVEFfRFNUIDogUlRBX0dBVEVXQVksIGJ1ZiwgbGVuKTsKLSsKLSAJaWYgKHRhYmxlX2lkIDwgMjU2KSB7Ci0gCQlydGgucmVxLnUuci5ydC5ydG1fdGFibGUgPSB0YWJsZV9pZDsKLSAJfSBlbHNlIHsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi8wMDAzLWluZXQtSW1wbGVtZW50LUFQSXMtZm9yLWNyZWF0aW5nLWFuZC1kZWxldGluZy1zdWJuZXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDMtaW5ldC1JbXBsZW1lbnQtQVBJcy1mb3ItY3JlYXRpbmctYW5kLWRlbGV0aW5nLXN1Ym5ldC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTZiYTVjMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDMtaW5ldC1JbXBsZW1lbnQtQVBJcy1mb3ItY3JlYXRpbmctYW5kLWRlbGV0aW5nLXN1Ym5ldC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLUZyb20gYTkyNDNmMTNkNmUxYWFkZDY5YmZjYzI3Zjc1ZjY5YzM4YmU1MTY3NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEppYW4gTGlhbmcgPGppYW5saWFuZ0B0eWNvaW50LmNvbT4KLURhdGU6IFdlZCwgNCBPY3QgMjAxNyAxNzozMDoxNyArMDEwMAotU3ViamVjdDogW1BBVENIIDMvNF0gaW5ldDogSW1wbGVtZW50IEFQSXMgZm9yIGNyZWF0aW5nIGFuZCBkZWxldGluZyBzdWJuZXQKLSByb3V0ZQotVG86IGNvbm5tYW5AbGlzdHMuMDEub3JnCi1DYzogd2FnaUBtb25vbS5vcmcKLQotU2lnbmVkLW9mZi1ieTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotCi0tLS0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9uZXR3b3JrL2Nvbm5tYW4vY29ubm1hbi5naXQvY29tbWl0Lz9pZD0zYTE1YjBiN2ZjY2QwNTNhZmY5MWRhMmNjNjg1ODU1MDlkMGM1MDliXQotU2lnbmVkLW9mZi1ieTogQW5kcsOpIERyYXN6aWsgPGFuZHJlLmRyYXN6aWtAamNpLmNvbT4KLSBzcmMvY29ubm1hbi5oIHwgIDQgKysrKwotIHNyYy9pbmV0LmMgICAgfCAxNCArKysrKysrKysrKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2Nvbm5tYW4uaCBiL3NyYy9jb25ubWFuLmgKLWluZGV4IDIxYjcwODAuLmRhNDQ0NmEgMTAwNjQ0Ci0tLS0gYS9zcmMvY29ubm1hbi5oCi0rKysgYi9zcmMvY29ubm1hbi5oCi1AQCAtMjQwLDcgKzI0MCwxMSBAQCBpbnQgX19jb25ubWFuX2luZXRfcnRubF9hZGRhdHRyMzIoc3RydWN0IG5sbXNnaGRyICpuLCBzaXplX3QgbWF4bGVuLAotIGludCBfX2Nvbm5tYW5faW5ldF9hZGRfZndtYXJrX3J1bGUodWludDMyX3QgdGFibGVfaWQsIGludCBmYW1pbHksIHVpbnQzMl90IGZ3bWFyayk7Ci0gaW50IF9fY29ubm1hbl9pbmV0X2RlbF9md21hcmtfcnVsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGZhbWlseSwgdWludDMyX3QgZndtYXJrKTsKLSBpbnQgX19jb25ubWFuX2luZXRfYWRkX2RlZmF1bHRfdG9fdGFibGUodWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LCBjb25zdCBjaGFyICpnYXRld2F5KTsKLStpbnQgX19jb25ubWFuX2luZXRfYWRkX3N1Ym5ldF90b190YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0rCQkJY29uc3QgY2hhciAqZ2F0ZXdheSwgdW5zaWduZWQgY2hhciBwcmVmaXhsZW4pOwotIGludCBfX2Nvbm5tYW5faW5ldF9kZWxfZGVmYXVsdF9mcm9tX3RhYmxlKHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgaWZpbmRleCwgY29uc3QgY2hhciAqZ2F0ZXdheSk7Ci0raW50IF9fY29ubm1hbl9pbmV0X2RlbF9zdWJuZXRfZnJvbV90YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0rCQkJY29uc3QgY2hhciAqZ2F0ZXdheSwgdW5zaWduZWQgY2hhciBwcmVmaXhsZW4pOwotIGludCBfX2Nvbm5tYW5faW5ldF9nZXRfYWRkcmVzc19uZXRtYXNrKGludCBpZmluZGV4LAotIAkJc3RydWN0IHNvY2thZGRyX2luICphZGRyZXNzLCBzdHJ1Y3Qgc29ja2FkZHJfaW4gKm5ldG1hc2spOwotIAotZGlmZiAtLWdpdCBhL3NyYy9pbmV0LmMgYi9zcmMvaW5ldC5jCi1pbmRleCAwZGRiMDMwLi5kY2QxYWIyIDEwMDY0NAotLS0tIGEvc3JjL2luZXQuYwotKysrIGIvc3JjL2luZXQuYwotQEAgLTI4ODAsNiArMjg4MCwxMyBAQCBpbnQgX19jb25ubWFuX2luZXRfYWRkX2RlZmF1bHRfdG9fdGFibGUodWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LAotIAlyZXR1cm4gaXByb3V0ZV9kZWZhdWx0X21vZGlmeShSVE1fTkVXUk9VVEUsIHRhYmxlX2lkLCBpZmluZGV4LCBnYXRld2F5LCAwKTsKLSB9Ci0gCi0raW50IF9fY29ubm1hbl9pbmV0X2FkZF9zdWJuZXRfdG9fdGFibGUodWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LAotKwkJCQkJCWNvbnN0IGNoYXIgKmdhdGV3YXksIHVuc2lnbmVkIGNoYXIgcHJlZml4bGVuKQotK3sKLSsJLyogaXAgcm91dGUgYWRkIDEuMi4zLjQvMjQgZGV2IGV0aDAgdGFibGUgMTIzNCAqLwotKwlyZXR1cm4gaXByb3V0ZV9kZWZhdWx0X21vZGlmeShSVE1fTkVXUk9VVEUsIHRhYmxlX2lkLCBpZmluZGV4LCBnYXRld2F5LCBwcmVmaXhsZW4pOwotK30KLSsKLSBpbnQgX19jb25ubWFuX2luZXRfZGVsX2RlZmF1bHRfZnJvbV90YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0gCQkJCQkJY29uc3QgY2hhciAqZ2F0ZXdheSkKLSB7Ci1AQCAtMjg4OCw2ICsyODk1LDEzIEBAIGludCBfX2Nvbm5tYW5faW5ldF9kZWxfZGVmYXVsdF9mcm9tX3RhYmxlKHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgaWZpbmRleCwKLSAJcmV0dXJuIGlwcm91dGVfZGVmYXVsdF9tb2RpZnkoUlRNX0RFTFJPVVRFLCB0YWJsZV9pZCwgaWZpbmRleCwgZ2F0ZXdheSwgMCk7Ci0gfQotIAotK2ludCBfX2Nvbm5tYW5faW5ldF9kZWxfc3VibmV0X2Zyb21fdGFibGUodWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LAotKwkJCQkJCWNvbnN0IGNoYXIgKmdhdGV3YXksIHVuc2lnbmVkIGNoYXIgcHJlZml4bGVuKQotK3sKLSsJLyogaXAgcm91dGUgZGVsIDEuMi4zLjQvMjQgZGV2IGV0aDAgdGFibGUgMTIzNCAqLwotKwlyZXR1cm4gaXByb3V0ZV9kZWZhdWx0X21vZGlmeShSVE1fREVMUk9VVEUsIHRhYmxlX2lkLCBpZmluZGV4LCBnYXRld2F5LCBwcmVmaXhsZW4pOwotK30KLSsKLSBpbnQgX19jb25ubWFuX2luZXRfZ2V0X2ludGVyZmFjZV9sbF9hZGRyZXNzKGludCBpbmRleCwgaW50IGZhbWlseSwKLSAJCQkJCQkJCXZvaWQgKmFkZHJlc3MpCi0gewotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDQtc2Vzc2lvbi1Vc2Utc3VibmV0LXJvdXRlLWNyZWF0aW9uLWFuZC1kZWxldGlvbi1BUElzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi8wMDA0LXNlc3Npb24tVXNlLXN1Ym5ldC1yb3V0ZS1jcmVhdGlvbi1hbmQtZGVsZXRpb24tQVBJcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2EyMTNlYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDQtc2Vzc2lvbi1Vc2Utc3VibmV0LXJvdXRlLWNyZWF0aW9uLWFuZC1kZWxldGlvbi1BUElzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotRnJvbSBkZWI5MzcyZGI4Mzk2ZGE0ZjdjZDIwNTU1Y2U3YzlhOGIzYWQ5NmJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotRGF0ZTogRnJpLCA2IE9jdCAyMDE3IDExOjQwOjE2ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggNC80XSBzZXNzaW9uOiBVc2Ugc3VibmV0IHJvdXRlIGNyZWF0aW9uIGFuZCBkZWxldGlvbiBBUElzCi1UbzogY29ubm1hbkBsaXN0cy4wMS5vcmcKLUNjOiB3YWdpQG1vbm9tLm9yZwotCi1BcyBzdWJuZXQgcm91dGUgaXMgYWRkcmVzcyBhbmQgc2Vzc2lvbiBzcGVjaWZpYyBpbiB0aGlzIGNhc2UsIHNvIGFkZAotcHJlZml4bGVuIGludG8gc3RydWN0IGNvbm5tYW5fc2Vzc2lvbiwgYW5kIHVwZGF0ZSBpdCBhbG9uZyB3aXRoIGlwY29uZmlnLgotVGhlbiB1c2UgaXQgaW4gc3VibmV0IHJvdXRlIHJlbGF0ZWQgQVBJcy4KLQotU2lnbmVkLW9mZi1ieTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotCi0tLS0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9uZXR3b3JrL2Nvbm5tYW4vY29ubm1hbi5naXQvY29tbWl0Lz9pZD0yODVmMjVlZjZjYzllNGE0M2RhYjgzNTIzZjNlMmVhYjQzNjVhYzI2XQotU2lnbmVkLW9mZi1ieTogQW5kcsOpIERyYXN6aWsgPGFuZHJlLmRyYXN6aWtAamNpLmNvbT4KLSBzcmMvc2Vzc2lvbi5jIHwgMjAgKysrKysrKysrKysrKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9zZXNzaW9uLmMgYi9zcmMvc2Vzc2lvbi5jCi1pbmRleCA5NjVhYzA2Li43YjdhMTRiIDEwMDY0NAotLS0tIGEvc3JjL3Nlc3Npb24uYwotKysrIGIvc3JjL3Nlc3Npb24uYwotQEAgLTY3LDYgKzY3LDcgQEAgc3RydWN0IGNvbm5tYW5fc2Vzc2lvbiB7Ci0gCWludCBpbmRleDsKLSAJY2hhciAqYWRkcjsKLSAJY2hhciAqZ2F0ZXdheTsKLSsJdW5zaWduZWQgY2hhciBwcmVmaXhsZW47Ci0gCWJvb2wgcG9saWN5X3JvdXRpbmc7Ci0gCWJvb2wgc25hdF9lbmFibGVkOwotIH07Ci1AQCAtMzU3LDEzICszNTgsMTcgQEAgc3RhdGljIHZvaWQgZGVsX2RlZmF1bHRfcm91dGUoc3RydWN0IGNvbm5tYW5fc2Vzc2lvbiAqc2Vzc2lvbikKLSAJaWYgKCFzZXNzaW9uLT5nYXRld2F5KQotIAkJcmV0dXJuOwotIAotLQlEQkcoImluZGV4ICVkIHJvdXRpbmcgdGFibGUgJWQgZGVmYXVsdCBnYXRld2F5ICVzIiwKLS0JCXNlc3Npb24tPmluZGV4LCBzZXNzaW9uLT5tYXJrLCBzZXNzaW9uLT5nYXRld2F5KTsKLSsJREJHKCJpbmRleCAlZCByb3V0aW5nIHRhYmxlICVkIGRlZmF1bHQgZ2F0ZXdheSAlcy8ldSIsCi0rCQlzZXNzaW9uLT5pbmRleCwgc2Vzc2lvbi0+bWFyaywgc2Vzc2lvbi0+Z2F0ZXdheSwgc2Vzc2lvbi0+cHJlZml4bGVuKTsKLSsKLSsJCV9fY29ubm1hbl9pbmV0X2RlbF9zdWJuZXRfZnJvbV90YWJsZShzZXNzaW9uLT5tYXJrLAotKwkJCXNlc3Npb24tPmluZGV4LCBzZXNzaW9uLT5nYXRld2F5LCBzZXNzaW9uLT5wcmVmaXhsZW4pOwotIAotIAlfX2Nvbm5tYW5faW5ldF9kZWxfZGVmYXVsdF9mcm9tX3RhYmxlKHNlc3Npb24tPm1hcmssCi0gCQkJCQlzZXNzaW9uLT5pbmRleCwgc2Vzc2lvbi0+Z2F0ZXdheSk7Ci0gCWdfZnJlZShzZXNzaW9uLT5nYXRld2F5KTsKLSAJc2Vzc2lvbi0+Z2F0ZXdheSA9IE5VTEw7Ci0rCXNlc3Npb24tPnByZWZpeGxlbiA9IDA7Ci0gCXNlc3Npb24tPmluZGV4ID0gLTE7Ci0gfQotIAotQEAgLTM4MywxMyArMzg4LDIwIEBAIHN0YXRpYyB2b2lkIGFkZF9kZWZhdWx0X3JvdXRlKHN0cnVjdCBjb25ubWFuX3Nlc3Npb24gKnNlc3Npb24pCi0gCWlmICghc2Vzc2lvbi0+Z2F0ZXdheSkKLSAJCXNlc3Npb24tPmdhdGV3YXkgPSBnX3N0cmR1cChpbmV0X250b2EoYWRkcikpOwotIAotLQlEQkcoImluZGV4ICVkIHJvdXRpbmcgdGFibGUgJWQgZGVmYXVsdCBnYXRld2F5ICVzIiwKLS0JCXNlc3Npb24tPmluZGV4LCBzZXNzaW9uLT5tYXJrLCBzZXNzaW9uLT5nYXRld2F5KTsKLSsJc2Vzc2lvbi0+cHJlZml4bGVuID0gX19jb25ubWFuX2lwY29uZmlnX2dldF9wcmVmaXhsZW4oaXBjb25maWcpOwotKwotKwlEQkcoImluZGV4ICVkIHJvdXRpbmcgdGFibGUgJWQgZGVmYXVsdCBnYXRld2F5ICVzLyV1IiwKLSsJCXNlc3Npb24tPmluZGV4LCBzZXNzaW9uLT5tYXJrLCBzZXNzaW9uLT5nYXRld2F5LCBzZXNzaW9uLT5wcmVmaXhsZW4pOwotIAotIAllcnIgPSBfX2Nvbm5tYW5faW5ldF9hZGRfZGVmYXVsdF90b190YWJsZShzZXNzaW9uLT5tYXJrLAotIAkJCQkJc2Vzc2lvbi0+aW5kZXgsIHNlc3Npb24tPmdhdGV3YXkpOwotIAlpZiAoZXJyIDwgMCkKLSAJCURCRygic2Vzc2lvbiAlcCAlcyIsIHNlc3Npb24sIHN0cmVycm9yKC1lcnIpKTsKLSsKLSsJZXJyID0gX19jb25ubWFuX2luZXRfYWRkX3N1Ym5ldF90b190YWJsZShzZXNzaW9uLT5tYXJrLAotKwkJCQkJc2Vzc2lvbi0+aW5kZXgsIHNlc3Npb24tPmdhdGV3YXksIHNlc3Npb24tPnByZWZpeGxlbik7Ci0rCWlmIChlcnIgPCAwKQotKwkJREJHKCJzZXNzaW9uIGFkZCBzdWJuZXQgcm91dGUgJXAgJXMiLCBzZXNzaW9uLCBzdHJlcnJvcigtZXJyKSk7Ci0gfQotIAotIHN0YXRpYyB2b2lkIGRlbF9uYXRfcnVsZXMoc3RydWN0IGNvbm5tYW5fc2Vzc2lvbiAqc2Vzc2lvbikKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi9pbmNsdWRlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vaW5jbHVkZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmNzM5NWMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi9pbmNsdWRlcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQxNyArMCwwIEBACi1GaXggdmFyaW91cyBpc3N1ZXMgd2hpY2ggY2F1c2UgcHJvYmxlbXMgdW5kZXIgbXVzbC4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbYmQxMzI2YmE3ZDY4ZGYzOGM1Y2NhYWZkMjQwM2E1ZmIzMGJkNDUyYl0KLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLUZyb20gNjMwNTE2YmNjMDIzM2IwNDdmNjU2NjVjMDAzMjAxYmE2ZTc3NDUzZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci1EYXRlOiBUdWUsIDkgQXVnIDIwMTYgMTY6MjI6MzYgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzNdIFVzZSBBQ19VU0VfU1lTVEVNX0VYVEVOU0lPTlMKLQotSW5zdGVhZCBvZiB1c2luZyAjZGVmaW5lIF9HTlVfU09VUkNFIGluIHNvbWUgc291cmNlIGZpbGVzIHdoaWNoIGNhdXNlcyBwcm9ibGVtcwotd2hlbiBidWlsZGluZyB3aXRoIG11c2wgYXMgbW9yZSBmaWxlcyBuZWVkIHRoZSBkZWZpbmUsIHNpbXBseSB1c2UKLUFDX1VTRV9TWVNURU1fRVhURU5TSU9OUyBpbiBjb25maWd1cmUuYWMgdG8gZ2V0IGl0IGRlZmluZWQgZ2xvYmFsbHkuCi0tLS0KLSBjb25maWd1cmUuYWMgICAgICAgfCAxICsKLSBnZGhjcC9jbGllbnQuYyAgICAgfCAxIC0KLSBwbHVnaW5zL3Rpc3QuYyAgICAgfCAxIC0KLSBzcmMvYmFja3RyYWNlLmMgICAgfCAxIC0KLSBzcmMvaW5ldC5jICAgICAgICAgfCAxIC0KLSBzcmMvbG9nLmMgICAgICAgICAgfCAxIC0KLSBzcmMvbnRwLmMgICAgICAgICAgfCAxIC0KLSBzcmMvcmVzb2x2ZXIuYyAgICAgfCAxIC0KLSBzcmMvcmZraWxsLmMgICAgICAgfCAxIC0KLSBzcmMvc3RhdHMuYyAgICAgICAgfCAxIC0KLSBzcmMvdGltZXpvbmUuYyAgICAgfCAxIC0KLSB0b29scy9zdGF0cy10b29sLmMgfCAxIC0KLSB0b29scy90YXAtdGVzdC5jICAgfCAxIC0KLSB0b29scy93aXNwci5jICAgICAgfCAxIC0KLSB2cG4vcGx1Z2lucy92cG4uYyAgfCAxIC0KLSAxNSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDZlNjZhYjMuLmJhY2Y1ZWMgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTIwLDYgKzIwLDcgQEAgQUNfU1VCU1QoYWJzX3RvcF9zcmNkaXIpCi0gQUNfU1VCU1QoYWJzX3RvcF9idWlsZGRpcikKLSAKLSBBQ19MQU5HX0MKLStBQ19VU0VfU1lTVEVNX0VYVEVOU0lPTlMKLSAKLSBBQ19QUk9HX0NDCi0gQU1fUFJPR19DQ19DX08KLWRpZmYgLS1naXQgYS9nZGhjcC9jbGllbnQuYyBiL2dkaGNwL2NsaWVudC5jCi1pbmRleCBmYmI0MGFiLi4zYWViMDg5IDEwMDY0NAotLS0tIGEvZ2RoY3AvY2xpZW50LmMKLSsrKyBiL2dkaGNwL2NsaWVudC5jCi1AQCAtMjMsNyArMjMsNiBAQAotICNpbmNsdWRlIDxjb25maWcuaD4KLSAjZW5kaWYKLSAKLS0jZGVmaW5lIF9HTlVfU09VUkNFCi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotZGlmZiAtLWdpdCBhL3BsdWdpbnMvdGlzdC5jIGIvcGx1Z2lucy90aXN0LmMKLWluZGV4IGFkNWVmNzkuLmNjMjgwMGEgMTAwNjQ0Ci0tLS0gYS9wbHVnaW5zL3Rpc3QuYwotKysrIGIvcGx1Z2lucy90aXN0LmMKLUBAIC0yMyw3ICsyMyw2IEBACi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNlbmRpZgotIAotLSNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8c3RkYm9vbC5oPgotICNpbmNsdWRlIDxzdGRsaWIuaD4KLWRpZmYgLS1naXQgYS9zcmMvYmFja3RyYWNlLmMgYi9zcmMvYmFja3RyYWNlLmMKLWluZGV4IDZhNjZjMGEuLjRkYmRkYTggMTAwNjQ0Ci0tLS0gYS9zcmMvYmFja3RyYWNlLmMKLSsrKyBiL3NyYy9iYWNrdHJhY2UuYwotQEAgLTI0LDcgKzI0LDYgQEAKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2VuZGlmCi0gCi0tI2RlZmluZSBfR05VX1NPVVJDRQotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSAjaW5jbHVkZSA8c3RkbGliLmg+Ci1kaWZmIC0tZ2l0IGEvc3JjL2luZXQuYyBiL3NyYy9pbmV0LmMKLWluZGV4IDY5ZGVkMTkuLjgxZDkyYzIgMTAwNjQ0Ci0tLS0gYS9zcmMvaW5ldC5jCi0rKysgYi9zcmMvaW5ldC5jCi1AQCAtMjUsNyArMjUsNiBAQAotICNpbmNsdWRlIDxjb25maWcuaD4KLSAjZW5kaWYKLSAKLS0jZGVmaW5lIF9HTlVfU09VUkNFCi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotZGlmZiAtLWdpdCBhL3NyYy9sb2cuYyBiL3NyYy9sb2cuYwotaW5kZXggOWJhZTRhMy4uZjdlODJlNSAxMDA2NDQKLS0tLSBhL3NyYy9sb2cuYwotKysrIGIvc3JjL2xvZy5jCi1AQCAtMjMsNyArMjMsNiBAQAotICNpbmNsdWRlIDxjb25maWcuaD4KLSAjZW5kaWYKLSAKLS0jZGVmaW5lIF9HTlVfU09VUkNFCi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotICNpbmNsdWRlIDxzdGRhcmcuaD4KLWRpZmYgLS1naXQgYS9zcmMvbnRwLmMgYi9zcmMvbnRwLmMKLWluZGV4IGRkMjQ2ZWIuLmRiOGFlOTYgMTAwNjQ0Ci0tLS0gYS9zcmMvbnRwLmMKLSsrKyBiL3NyYy9udHAuYwotQEAgLTIzLDcgKzIzLDYgQEAKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2VuZGlmCi0gCi0tI2RlZmluZSBfR05VX1NPVVJDRQotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLWRpZmYgLS1naXQgYS9zcmMvcmVzb2x2ZXIuYyBiL3NyYy9yZXNvbHZlci5jCi1pbmRleCBmYmU0YmU3Li5lZjYxZjkyIDEwMDY0NAotLS0tIGEvc3JjL3Jlc29sdmVyLmMKLSsrKyBiL3NyYy9yZXNvbHZlci5jCi1AQCAtMjMsNyArMjMsNiBAQAotICNpbmNsdWRlIDxjb25maWcuaD4KLSAjZW5kaWYKLSAKLS0jZGVmaW5lIF9HTlVfU09VUkNFCi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPGZjbnRsLmg+Ci1kaWZmIC0tZ2l0IGEvc3JjL3Jma2lsbC5jIGIvc3JjL3Jma2lsbC5jCi1pbmRleCAyYmZiMDkyLi5hZjQ5ZDEyIDEwMDY0NAotLS0tIGEvc3JjL3Jma2lsbC5jCi0rKysgYi9zcmMvcmZraWxsLmMKLUBAIC0yMyw3ICsyMyw2IEBACi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNlbmRpZgotIAotLSNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLWRpZmYgLS1naXQgYS9zcmMvc3RhdHMuYyBiL3NyYy9zdGF0cy5jCi1pbmRleCAyNjM0M2IxLi5jZmNkYzk0IDEwMDY0NAotLS0tIGEvc3JjL3N0YXRzLmMKLSsrKyBiL3NyYy9zdGF0cy5jCi1AQCAtMjMsNyArMjMsNiBAQAotICNpbmNsdWRlIDxjb25maWcuaD4KLSAjZW5kaWYKLSAKLS0jZGVmaW5lIF9HTlVfU09VUkNFCi0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPHN5cy9tbWFuLmg+Ci0gI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotZGlmZiAtLWdpdCBhL3NyYy90aW1lem9uZS5jIGIvc3JjL3RpbWV6b25lLmMKLWluZGV4IGUzNDZiMTEuLjhlOTEyNjcgMTAwNjQ0Ci0tLS0gYS9zcmMvdGltZXpvbmUuYwotKysrIGIvc3JjL3RpbWV6b25lLmMKLUBAIC0yMyw3ICsyMyw2IEBACi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNlbmRpZgotIAotLSNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLWRpZmYgLS1naXQgYS90b29scy9zdGF0cy10b29sLmMgYi90b29scy9zdGF0cy10b29sLmMKLWluZGV4IGIwNzY0NzguLjQyOGQ5NGIgMTAwNjQ0Ci0tLS0gYS90b29scy9zdGF0cy10b29sLmMKLSsrKyBiL3Rvb2xzL3N0YXRzLXRvb2wuYwotQEAgLTIyLDcgKzIyLDYgQEAKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2VuZGlmCi0gCi0tI2RlZmluZSBfR05VX1NPVVJDRQotICNpbmNsdWRlIDxzeXMvbW1hbi5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLWRpZmYgLS1naXQgYS90b29scy90YXAtdGVzdC5jIGIvdG9vbHMvdGFwLXRlc3QuYwotaW5kZXggZmRjMDk4YS4uNTc5MTdmNSAxMDA2NDQKLS0tLSBhL3Rvb2xzL3RhcC10ZXN0LmMKLSsrKyBiL3Rvb2xzL3RhcC10ZXN0LmMKLUBAIC0yMyw3ICsyMyw2IEBACi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNlbmRpZgotIAotLSNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLWRpZmYgLS1naXQgYS90b29scy93aXNwci5jIGIvdG9vbHMvd2lzcHIuYwotaW5kZXggZDVmOTM0MS4uZTU2ZGZjMSAxMDA2NDQKLS0tLSBhL3Rvb2xzL3dpc3ByLmMKLSsrKyBiL3Rvb2xzL3dpc3ByLmMKLUBAIC0yMyw3ICsyMyw2IEBACi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNlbmRpZgotIAotLSNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci1kaWZmIC0tZ2l0IGEvdnBuL3BsdWdpbnMvdnBuLmMgYi92cG4vcGx1Z2lucy92cG4uYwotaW5kZXggOWE0MjM4NS4uNDc5YzNhNyAxMDA2NDQKLS0tLSBhL3Zwbi9wbHVnaW5zL3Zwbi5jCi0rKysgYi92cG4vcGx1Z2lucy92cG4uYwotQEAgLTIzLDcgKzIzLDYgQEAKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2VuZGlmCi0gCi0tI2RlZmluZSBfR05VX1NPVVJDRQotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0tLSAKLTIuOC4xCi0KLQotRnJvbSBiOGI3ODc4ZTZjYjJhMWVkNGZjZmEyNTZmN2UyMzI1MTFhNDBlM2Q5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLURhdGU6IFR1ZSwgOSBBdWcgMjAxNiAxNTozNzo1MCArMDEwMAotU3ViamVjdDogW1BBVENIIDIvM10gQ2hlY2sgZm9yIGluNl9wa3RpbmZvLmlwaTZfYWRkciBleHBsaWNpdGx5Ci0KLUluc3RlYWQgb2YgYXNzdW1pbmcgdGhhdCBqdXN0IGdsaWJjIGhhcyB0aGlzIHN0cnVjdHVyZSwgY2hlY2sgZm9yIGl0IGF0Ci1jb25maWd1cmUgYXMgbXVzbCBhbHNvIGhhcyBpdC4KLQotQmFzZWQgb24gd29yayBieSBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPi4KLS0tLQotIGNvbmZpZ3VyZS5hYyAgIHwgMiArKwotIGdkaGNwL2NvbW1vbi5oIHwgNSArKystLQotIDIgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCBiYWNmNWVjLi5hZDAwNDU2IDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0xODYsNiArMTg2LDggQEAgQUNfQ0hFQ0tfTElCKHJlc29sdiwgbnNfaW5pdHBhcnNlLCBkdW1teT15ZXMsIFsKLSBBQ19DSEVDS19IRUFERVJTKFtleGVjaW5mby5oXSkKLSBBTV9DT05ESVRJT05BTChbQkFDS1RSQUNFXSwgW3Rlc3QgIiR7YWNfY3ZfaGVhZGVyX2V4ZWNpbmZvX2h9IiA9ICJ5ZXMiXSkKLSAKLStBQ19DSEVDS19NRU1CRVJTKFtzdHJ1Y3QgaW42X3BrdGluZm8uaXBpNl9hZGRyXSwgW10sIFtdLCBbWyNpbmNsdWRlIDxuZXRpbmV0L2luLmg+XV0pCi0rCi0gQUNfQ0hFQ0tfRlVOQyhzaWduYWxmZCwgZHVtbXk9eWVzLAotIAkJCUFDX01TR19FUlJPUihzaWduYWxmZCBzdXBwb3J0IGlzIHJlcXVpcmVkKSkKLSAKLWRpZmYgLS1naXQgYS9nZGhjcC9jb21tb24uaCBiL2dkaGNwL2NvbW1vbi5oCi1pbmRleCA3NWFiYzE4Li42ODk5NDk5IDEwMDY0NAotLS0tIGEvZ2RoY3AvY29tbW9uLmgKLSsrKyBiL2dkaGNwL2NvbW1vbi5oCi1AQCAtMTksNiArMTksNyBAQAotICAqCi0gICovCi0gCi0rI2luY2x1ZGUgPGNvbmZpZy5oPgotICNpbmNsdWRlIDxuZXRpbmV0L3VkcC5oPgotICNpbmNsdWRlIDxuZXRpbmV0L2lwLmg+Ci0gCi1AQCAtMTcwLDggKzE3MSw4IEBAIHN0YXRpYyBjb25zdCB1aW50OF90IGRoY3Bfb3B0aW9uX2xlbmd0aHNbXSA9IHsKLSAJW09QVElPTl9VMzJdCT0gNCwKLSB9OwotIAotLS8qIGFscmVhZHkgZGVmaW5lZCB3aXRoaW4gbmV0aW5ldC9pbi5oIGlmIHVzaW5nIEdOVSBjb21waWxlciAqLwotLSNpZm5kZWYgX19VU0VfR05VCi0rLyogYWxyZWFkeSBkZWZpbmVkIHdpdGhpbiBuZXRpbmV0L2luLmggaWYgdXNpbmcgZ2xpYmMgb3IgbXVzbCAqLwotKyNpZm5kZWYgSEFWRV9TVFJVQ1RfSU42X1BLVElORk9fSVBJNl9BRERSCi0gc3RydWN0IGluNl9wa3RpbmZvIHsKLSAJc3RydWN0IGluNl9hZGRyIGlwaTZfYWRkcjsgIC8qIHNyYy9kc3QgSVB2NiBhZGRyZXNzICovCi0gCXVuc2lnbmVkIGludCBpcGk2X2lmaW5kZXg7ICAvKiBzZW5kL3JlY3YgaW50ZXJmYWNlIGluZGV4ICovCi0tLSAKLTIuOC4xCi0KLQotRnJvbSBjMDcyNmU0MzJmYTAyNzRhMmI5YzcwMTc5YjAzZGY2NzIwOTcyODE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLURhdGU6IFR1ZSwgOSBBdWcgMjAxNiAxNToxOToyMyArMDEwMAotU3ViamVjdDogW1BBVENIIDMvM10gUmF0aW9uYWxpc2UgaW5jbHVkZXMKLQotZ3dlYi9ncmVzb2x2LmMgdXNlcyBzbnByaW50ZigpIGFuZCBpc3NwYWNlKCkgc28gaXQgc2hvdWxkIGluY2x1ZGUgc3RkaW8uaCBhbmQKLWN0eXBlLmguCi0KLXRvb2xzL2Ruc3Byb3h5LXRlc3QgdXNlcyBmdW5jdGlvbnMgZnJvbSBzdGRpby5oLgotCi1tdXNsIHdhcm5zIHdoZW4gc3lzLyBoZWFkZXJzIGFyZSBpbmNsdWRlZCB3aGVuIHRoZSBub24tc3lzIGZvcm0gc2hvdWxkIGJlIHVzZWQsCi1zbyBzd2l0Y2ggc3lzL2Vycm5vLmggYW5kIHNvIG9uIHRvIGVycm5vLmguCi0KLW11c2wgYWxzbyBjYXVzZXMgcmVkZWZpbml0aW9uIGVycm9ycyB3aGVuIHBpZWNlcyBvZiB0aGUgbmV0d29ya2luZyBoZWFkZXJzIGFyZQotaW5jbHVkZWQsIHNvIHJlbW92ZSB0aGUgcmVkdW5kYW50IGluY2x1ZGVzLgotCi1CYXNlZCBvbiB3b3JrIGJ5IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+LgotLS0tCi0gZ3dlYi9ncmVzb2x2LmMgICAgICAgICAgICAgICB8IDIgKysKLSBwbHVnaW5zL3dpZmkuYyAgICAgICAgICAgICAgIHwgMyArLS0KLSBzcmMvaXBwb29sLmMgICAgICAgICAgICAgICAgIHwgMSAtCi0gc3JjL2lwdGFibGVzLmMgICAgICAgICAgICAgICB8IDIgKy0KLSBzcmMvdGV0aGVyaW5nLmMgICAgICAgICAgICAgIHwgMiAtLQotIHRvb2xzL2RoY3AtdGVzdC5jICAgICAgICAgICAgfCAxIC0KLSB0b29scy9kbnNwcm94eS10ZXN0LmMgICAgICAgIHwgMSArCi0gdG9vbHMvcHJpdmF0ZS1uZXR3b3JrLXRlc3QuYyB8IDIgKy0KLSB0b29scy90YXAtdGVzdC5jICAgICAgICAgICAgIHwgMiArLQotIDkgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ3dlYi9ncmVzb2x2LmMgYi9nd2ViL2dyZXNvbHYuYwotaW5kZXggOGE1MWE5Zi4uZDU1MDI3YyAxMDA2NDQKLS0tLSBhL2d3ZWIvZ3Jlc29sdi5jCi0rKysgYi9nd2ViL2dyZXNvbHYuYwotQEAgLTI5LDYgKzI5LDcgQEAKLSAjaW5jbHVkZSA8c3RyaW5nLmg+Ci0gI2luY2x1ZGUgPHN0ZGxpYi5oPgotICNpbmNsdWRlIDxyZXNvbHYuaD4KLSsjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KLSAjaW5jbHVkZSA8bmV0ZGIuaD4KLWRpZmYgLS1naXQgYS9wbHVnaW5zL3dpZmkuYyBiL3BsdWdpbnMvd2lmaS5jCi1pbmRleCA5ZDU2NjcxLi4xNDgxMzFkIDEwMDY0NAotLS0tIGEvcGx1Z2lucy93aWZpLmMKLSsrKyBiL3BsdWdpbnMvd2lmaS5jCi1AQCAtMzAsOSArMzAsOCBAQAotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+Ci0gI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KLS0jaW5jbHVkZSA8bGludXgvaWZfYXJwLmg+Ci0tI2luY2x1ZGUgPGxpbnV4L3dpcmVsZXNzLmg+Ci0gI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgotKyNpbmNsdWRlIDxsaW51eC93aXJlbGVzcy5oPgotIAotICNpZm5kZWYgSUZGX0xPV0VSX1VQCi0gI2RlZmluZSBJRkZfTE9XRVJfVVAJMHgxMDAwMAotZGlmZiAtLWdpdCBhL3NyYy9pcHBvb2wuYyBiL3NyYy9pcHBvb2wuYwotaW5kZXggY2VhMWRjYy4uOGE2NDVkYSAxMDA2NDQKLS0tLSBhL3NyYy9pcHBvb2wuYwotKysrIGIvc3JjL2lwcG9vbC5jCi1AQCAtMjgsNyArMjgsNiBAQAotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0tI2luY2x1ZGUgPHN5cy9lcnJuby5oPgotICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+Ci0gCi0gI2luY2x1ZGUgImNvbm5tYW4uaCIKLWRpZmYgLS1naXQgYS9zcmMvaXB0YWJsZXMuYyBiL3NyYy9pcHRhYmxlcy5jCi1pbmRleCA1ZWY3NTdhLi44MmUzYWM0IDEwMDY0NAotLS0tIGEvc3JjL2lwdGFibGVzLmMKLSsrKyBiL3NyYy9pcHRhYmxlcy5jCi1AQCAtMjgsNyArMjgsNyBAQAotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0tI2luY2x1ZGUgPHN5cy9lcnJuby5oPgotKyNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+Ci0gI2luY2x1ZGUgPHh0YWJsZXMuaD4KLSAjaW5jbHVkZSA8aW50dHlwZXMuaD4KLWRpZmYgLS1naXQgYS9zcmMvdGV0aGVyaW5nLmMgYi9zcmMvdGV0aGVyaW5nLmMKLWluZGV4IDMxNTMzNDkuLmFkMDYyZDUgMTAwNjQ0Ci0tLS0gYS9zcmMvdGV0aGVyaW5nLmMKLSsrKyBiL3NyYy90ZXRoZXJpbmcuYwotQEAgLTMxLDEwICszMSw4IEBACi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgotICNpbmNsdWRlIDxuZXQvaWYuaD4KLS0jaW5jbHVkZSA8bGludXgvc29ja2lvcy5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLS0jaW5jbHVkZSA8bGludXgvaWZfdHVuLmg+Ci0gI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KLSAjaW5jbHVkZSA8bGludXgvaWZfYnJpZGdlLmg+Ci0gCi1kaWZmIC0tZ2l0IGEvdG9vbHMvZGhjcC10ZXN0LmMgYi90b29scy9kaGNwLXRlc3QuYwotaW5kZXggYzM0ZTEwYS4uZWFlNjZmYyAxMDA2NDQKLS0tLSBhL3Rvb2xzL2RoY3AtdGVzdC5jCi0rKysgYi90b29scy9kaGNwLXRlc3QuYwotQEAgLTMzLDcgKzMzLDYgQEAKLSAjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+Ci0gI2luY2x1ZGUgPG5ldC9yb3V0ZS5oPgotICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLS0jaW5jbHVkZSA8bGludXgvaWZfYXJwLmg+Ci0gCi0gI2luY2x1ZGUgPGdkaGNwL2dkaGNwLmg+Ci0gCi1kaWZmIC0tZ2l0IGEvdG9vbHMvZG5zcHJveHktdGVzdC5jIGIvdG9vbHMvZG5zcHJveHktdGVzdC5jCi1pbmRleCA1NTFjYWU5Li4zNzFlMmUyIDEwMDY0NAotLS0tIGEvdG9vbHMvZG5zcHJveHktdGVzdC5jCi0rKysgYi90b29scy9kbnNwcm94eS10ZXN0LmMKLUBAIC0yNCw2ICsyNCw3IEBACi0gI2VuZGlmCi0gCi0gI2luY2x1ZGUgPGVycm5vLmg+Ci0rI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPHN0ZGxpYi5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci1kaWZmIC0tZ2l0IGEvdG9vbHMvcHJpdmF0ZS1uZXR3b3JrLXRlc3QuYyBiL3Rvb2xzL3ByaXZhdGUtbmV0d29yay10ZXN0LmMKLWluZGV4IDNkZDExNWIuLjI4MjhiYjMgMTAwNjQ0Ci0tLS0gYS90b29scy9wcml2YXRlLW5ldHdvcmstdGVzdC5jCi0rKysgYi90b29scy9wcml2YXRlLW5ldHdvcmstdGVzdC5jCi1AQCAtMzIsNyArMzIsNyBAQAotICNpbmNsdWRlIDxzdGRsaWIuaD4KLSAjaW5jbHVkZSA8c3RyaW5nLmg+Ci0gI2luY2x1ZGUgPHNpZ25hbC5oPgotLSNpbmNsdWRlIDxzeXMvcG9sbC5oPgotKyNpbmNsdWRlIDxwb2xsLmg+Ci0gI2luY2x1ZGUgPHN5cy9zaWduYWxmZC5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSAKLWRpZmYgLS1naXQgYS90b29scy90YXAtdGVzdC5jIGIvdG9vbHMvdGFwLXRlc3QuYwotaW5kZXggNTc5MTdmNS4uY2IzZWU2MiAxMDA2NDQKLS0tLSBhL3Rvb2xzL3RhcC10ZXN0LmMKLSsrKyBiL3Rvb2xzL3RhcC10ZXN0LmMKLUBAIC0yOCw3ICsyOCw3IEBACi0gI2luY2x1ZGUgPGZjbnRsLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLS0jaW5jbHVkZSA8c3lzL3BvbGwuaD4KLSsjaW5jbHVkZSA8cG9sbC5oPgotICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KLSAKLSAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgotLS0gCi0yLjguMQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbl8xLjM1LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbl8xLjM1LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZjIxMTgxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW5fMS4zNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLXJlcXVpcmUgY29ubm1hbi5pbmMKLQotU1JDX1VSSSAgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC9uZXR3b3JrLyR7QlBOfS8ke0JQfS50YXIueHogXAotICAgICAgICAgICAgZmlsZTovLzAwMDEtcGx1Z2luLmgtQ2hhbmdlLXZpc2liaWxpdHktdG8tZGVmYXVsdC1mb3ItZGVidWctc3ltYi5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25ubWFuLnNlcnZpY2Utc3RvcC1zeXN0ZW1kLXJlc29sdmVkLXdoZW4td2UtdXNlLWNvLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9jb25ubWFuIFwKLSAgICAgICAgICAgIGZpbGU6Ly9uby12ZXJzaW9uLXNjcmlwdHMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2luY2x1ZGVzLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXNlc3Npb24tS2VlcC10cmFjay1vZi1hZGRyLWluLWZ3X3NuYXQtc2Vzc2lvbi5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1naW9nbnV0bHMtRml4LWEtY3Jhc2gtdXNpbmctd2lzcHItb3Zlci1UTFMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDEtaW5ldC1BZGQtcHJlZml4bGVuLXRvLWlwcm91dGVfZGVmYXVsdF9mdW5jdGlvbi5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMi1pbmV0LUltcGxlbWVudC1zdWJuZXQtcm91dGUtY3JlYXRpb24tZGVsZXRpb24taW4taXByLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAzLWluZXQtSW1wbGVtZW50LUFQSXMtZm9yLWNyZWF0aW5nLWFuZC1kZWxldGluZy1zdWJuZXQucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDQtc2Vzc2lvbi1Vc2Utc3VibmV0LXJvdXRlLWNyZWF0aW9uLWFuZC1kZWxldGlvbi1BUElzLnBhdGNoIFwKLSAgICAgICAgICAgICIKLVNSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9ICIgZmlsZTovLzAwMDItcmVzb2x2ZS1tdXNsLWRvZXMtbm90LWltcGxlbWVudC1yZXNfbmluaXQucGF0Y2ggXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJiYWUzN2I0NWVlOWIzZGI1ZWM4MTE1MTg4ZjhhNzY1MiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2NmQ3ZGViOTgzNzE1NDVjNmU0MTcyMzlhOWIzYjNlMzIwMWMxNTI5ZDA4ZWVkZjQwYWZiYzg1OTg0MmNmMmFhIgotCi1SUkVDT01NRU5EU18ke1BOfSA9ICJjb25ubWFuLWNvbmYiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuXzEuMzYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuXzEuMzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmU0ZGJkZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW5fMS4zNi5iYgpAQCAtMCwwICsxLDE2IEBACityZXF1aXJlIGNvbm5tYW4uaW5jCisKK1NSQ19VUkkgID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvbmV0d29yay8ke0JQTn0vJHtCUH0udGFyLnh6IFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXBsdWdpbi5oLUNoYW5nZS12aXNpYmlsaXR5LXRvLWRlZmF1bHQtZm9yLWRlYnVnLXN5bWIucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtY29ubm1hbi5zZXJ2aWNlLXN0b3Atc3lzdGVtZC1yZXNvbHZlZC13aGVuLXdlLXVzZS1jby5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vY29ubm1hbiBcCisgICAgICAgICAgICBmaWxlOi8vbm8tdmVyc2lvbi1zY3JpcHRzLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC12YXJpb3VzLWlzc3Vlcy13aGljaC1jYXVzZS1wcm9ibGVtcy11bmRlci1tdXNsLnBhdGNoIFwKKyIKKworU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vMDAwMi1yZXNvbHZlLW11c2wtZG9lcy1ub3QtaW1wbGVtZW50LXJlc19uaW5pdC5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImRhZTc3ZDljOTA0ZDJjMjIzYWU4NDllMzIwNzlkNTdlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM3ODlkYjQxY2M0NDNmYTQxZTY2MTIxN2VhMzIxNDkyYWQ1OWEwMDRiZWJjZDFhYTAxM2YzYmMxMGE2ZTAwNzQiCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gImNvbm5tYW4tY29uZiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwL2RoY3AvMDAwMS1kaGNwZC1maXgtUmVwbGFjZS1jdXN0b20taXNjX2Jvb2xlYW5fdC13aXRoLUMtc3RhbmRhLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcC8wMDAxLWRoY3BkLWZpeC1SZXBsYWNlLWN1c3RvbS1pc2NfYm9vbGVhbl90LXdpdGgtQy1zdGFuZGEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDJlNTc3MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwL2RoY3AvMDAwMS1kaGNwZC1maXgtUmVwbGFjZS1jdXN0b20taXNjX2Jvb2xlYW5fdC13aXRoLUMtc3RhbmRhLnBhdGNoCkBAIC0wLDAgKzEsMjg4MiBAQAorRnJvbSBmZmIxZDEzMjViZDY1MDNkZjlhMzI0YmVmYWM1ZjUwMzlhYzc3NDMyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQXJtaW4gS3VzdGVyIDxha3VzdGVyQG12aXN0YS5jb20+CitEYXRlOiBUdWUsIDIzIE9jdCAyMDE4IDEwOjM2OjU2ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIGRoY3BkOiBmaXggUmVwbGFjZSBjdXN0b20gaXNjX2Jvb2xlYW5fdCB3aXRoIEMgc3RhbmRhcmQgYm9vbAorIHR5cGUKKworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworRml4ZXMgaXNzdWVzIGludHJvZHVjZWQgYnkgYmluZCB3aGVuIHRoZXkgY2hhbmdlZCB0aGVpciBoZWFkZXJzLgorCitTaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXJAbXZpc3RhLmNvbT4KKy0tLQorIGluY2x1ZGVzL2RoY3BkLmggICAgICAgICAgIHwgMzQgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQorIGluY2x1ZGVzL2hlYXAuaCAgICAgICAgICAgIHwgIDIgKy0KKyBpbmNsdWRlcy9vbWFwaXAvb21hcGlwLmggICB8ICAyICstCisgaW5jbHVkZXMvb21hcGlwL29tYXBpcF9wLmggfCAgNiArKystLS0KKyBpbmNsdWRlcy90cmVlLmggICAgICAgICAgICB8ICAyICstCisgNSBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKKworSW5kZXg6IGRoY3AtNC40LjEvaW5jbHVkZXMvZGhjcGQuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9pbmNsdWRlcy9kaGNwZC5oCisrKysgZGhjcC00LjQuMS9pbmNsdWRlcy9kaGNwZC5oCitAQCAtNDYxLDIwICs0NjEsMjAgQEAgc3RydWN0IHBhY2tldCB7CisgCSAqIG9wdGlvbnMgd2UgZ290IGluIGEgcHJldmlvdXMgZXhjaGFuZ2Ugd2VyZSBzdGlsbCB0aGVyZSwgd2UgbmVlZAorIAkgKiB0byBzaWduYWwgdGhpcyBpbiBhIHJlbGlhYmxlIHdheS4KKyAJICovCistCWlzY19ib29sZWFuX3QgYWdlbnRfb3B0aW9uc19zdGFzaGVkOworKwlib29sIGFnZW50X29wdGlvbnNfc3Rhc2hlZDsKKyAKKyAJLyoKKyAJICogSVNDX1RSVUUgaWYgcGFja2V0IHJlY2VpdmVkIHVuaWNhc3QgKGFzIG9wcG9zZWQgdG8gbXVsdGljYXN0KS4KKyAJICogT25seSB1c2VkIGluIERIQ1B2Ni4KKyAJICovCistCWlzY19ib29sZWFuX3QgdW5pY2FzdDsKKysJYm9vbCB1bmljYXN0OworIAorIAkvKiBQcm9wYWdhdGVzIHNlcnZlciB2YWx1ZSBTVl9FQ0hPX0NMSUVOVF9JRCBzbyBpdCBpcyBhdmFpbGFibGUKKyAgICAgICAgICAqIGluIGNvbnNfb3B0aW9ucygpICovCisgCWludCBzdl9lY2hvX2NsaWVudF9pZDsKKyAKKyAJLyogUmVsYXkgcG9ydCBjaGVjayAqLworLQlpc2NfYm9vbGVhbl90IHJlbGF5X3NvdXJjZV9wb3J0OworKwlib29sIHJlbGF5X3NvdXJjZV9wb3J0OworIH07CisgCisgLyoKK0BAIC0xMTc0LDcgKzExNzQsNyBAQCBzdHJ1Y3QgZGhjNl9sZWFzZSB7CisgCXN0cnVjdCBkaGM2X2xlYXNlICpuZXh0OworIAlzdHJ1Y3QgZGF0YV9zdHJpbmcgc2VydmVyX2lkOworIAorLQlpc2NfYm9vbGVhbl90IHJlbGVhc2VkOworKwlib29sIHJlbGVhc2VkOworIAlpbnQgc2NvcmU7CisgCXVfaW50OF90IHByZWY7CisgCitAQCAtMTY5NSw4ICsxNjk1LDggQEAgc3RydWN0IGlwdjZfcG9vbCB7CisgCWludCBiaXRzOwkJCQkvKiBudW1iZXIgb2YgYml0cywgQ0lEUiBzdHlsZSAqLworIAlpbnQgdW5pdHM7CQkJCS8qIGFsbG9jYXRpb24gdW5pdCBpbiBiaXRzICovCisgCWlhc3Vib3B0X2hhc2hfdCAqbGVhc2VzOwkJLyogbm9uLWZyZWUgbGVhc2VzICovCistCWlzY191aW50NjRfdCBudW1fYWN0aXZlOwkJLyogY291bnQgb2YgYWN0aXZlIGxlYXNlcyAqLworLQlpc2NfdWludDY0X3QgbnVtX2FiYW5kb25lZDsJCS8qIGNvdW50IG9mIGFiYW5kb25lZCBsZWFzZXMgKi8KKysJdWludDY0X3QgbnVtX2FjdGl2ZTsJCQkvKiBjb3VudCBvZiBhY3RpdmUgbGVhc2VzICovCisrCXVpbnQ2NF90IG51bV9hYmFuZG9uZWQ7CQkJLyogY291bnQgb2YgYWJhbmRvbmVkIGxlYXNlcyAqLworIAlpc2NfaGVhcF90ICphY3RpdmVfdGltZW91dHM7CQkvKiB0aW1lb3V0cyBmb3IgYWN0aXZlIGxlYXNlcyAqLworIAlpbnQgbnVtX2luYWN0aXZlOwkJCS8qIGNvdW50IG9mIGluYWN0aXZlIGxlYXNlcyAqLworIAlpc2NfaGVhcF90ICppbmFjdGl2ZV90aW1lb3V0czsJCS8qIHRpbWVvdXRzIGZvciBleHBpcmVkIG9yCitAQCAtMTczMiwxMSArMTczMiwxMSBAQCBzdHJ1Y3QgaXB2Nl9wb25kIHsKKyAJc3RydWN0IGlwdjZfcG9vbCAqKmlwdjZfcG9vbHM7CS8qIE5VTEwtdGVybWluYXRlZCBhcnJheSAqLworIAlpbnQgbGFzdF9pcHY2X3Bvb2w7CQkvKiBvZmZzZXQgb2YgbGFzdCBJUHY2IHBvb2wKKyAJCQkJCSAgIHVzZWQgdG8gaXNzdWUgYSBsZWFzZSAqLworLQlpc2NfdWludDY0X3QgbnVtX3RvdGFsOwkgICAgLyogVG90YWwgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBwb25kICovCistCWlzY191aW50NjRfdCBudW1fYWN0aXZlOyAgICAvKiBOdW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIHBvbmQgaW4gdXNlICovCistCWlzY191aW50NjRfdCBudW1fYWJhbmRvbmVkOwkvKiBjb3VudCBvZiBhYmFuZG9uZWQgbGVhc2VzICovCisrCXVpbnQ2NF90IG51bV90b3RhbDsJICAgIAkvKiBUb3RhbCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIHBvbmQgKi8KKysJdWludDY0X3QgbnVtX2FjdGl2ZTsgICAgCS8qIE51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgcG9uZCBpbiB1c2UgKi8KKysJdWludDY0X3QgbnVtX2FiYW5kb25lZDsJCS8qIGNvdW50IG9mIGFiYW5kb25lZCBsZWFzZXMgKi8KKyAJaW50IGxvZ2dlZDsJCQkvKiBhbHJlYWR5IGxvZ2dlZCBhIG1lc3NhZ2UgKi8KKy0JaXNjX3VpbnQ2NF90IGxvd190aHJlc2hvbGQ7CS8qIGxvdyB0aHJlc2hvbGQgdG8gcmVzdGFydCBsb2dnaW5nICovCisrCXVpbnQ2NF90IGxvd190aHJlc2hvbGQ7CQkvKiBsb3cgdGhyZXNob2xkIHRvIHJlc3RhcnQgbG9nZ2luZyAqLworIAlpbnQganVtYm9fcmFuZ2U7CisgI2lmZGVmIEVVSV82NAorIAlpbnQgdXNlX2V1aV82NDsJCS8qIHVzZSBFVUktNjQgYWRkcmVzcyBhc3NpZ25tZW50IHdoZW4gdHJ1ZSAqLworQEAgLTE3NDUsOSArMTc0NSw5IEBAIHN0cnVjdCBpcHY2X3BvbmQgeworIAorIC8qCisgICogTWF4IGFkZHJlc3NlcyBpbiBhIHBvbmQgdGhhdCBjYW4gYmUgc3VwcG9ydGVkIGJ5IGxvZyB0aHJlc2hvbGQKKy0gKiBDdXJyZW50bHkgYmFzZWQgb24gbWF4IHZhbHVlIHN1cHBvcnRlZCBieSBpc2NfdWludDY0X3QuCisrICogQ3VycmVudGx5IGJhc2VkIG9uIG1heCB2YWx1ZSBzdXBwb3J0ZWQgYnkgdWludDY0X3QuCisgKi8KKy0jZGVmaW5lIFBPTkRfVFJBQ0tfTUFYIElTQ19VSU5UNjRfTUFYCisrI2RlZmluZSBQT05EX1RSQUNLX01BWCBVSU5UNjRfTUFYCisgCisgLyogRmxhZ3MgZm9yIGRoY3BfZGRuc19jYl90ICovCisgI2RlZmluZSBERE5TX1VQREFURV9BRERSCQkweDAwMDEKK0BAIC0xODY4LDcgKzE4NjgsNyBAQCBsb29rdXBfZnFkbjZfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqdW5pCisgCQkgICAgdW5zaWduZWQgY29kZSk7Cisgdm9pZAorIHNhdmVfZnFkbjZfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqdW5pdmVyc2UsIHN0cnVjdCBvcHRpb25fc3RhdGUgKm9wdGlvbnMsCistCQkgIHN0cnVjdCBvcHRpb25fY2FjaGUgKm9jLCBpc2NfYm9vbGVhbl90IGFwcGVuZHApOworKwkJICBzdHJ1Y3Qgb3B0aW9uX2NhY2hlICpvYywgYm9vbCBhcHBlbmRwKTsKKyB2b2lkCisgZGVsZXRlX2ZxZG42X29wdGlvbihzdHJ1Y3QgdW5pdmVyc2UgKnVuaXZlcnNlLCBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICpvcHRpb25zLAorIAkJICAgIGludCBjb2RlKTsKK0BAIC0xOTUzLDcgKzE5NTMsNyBAQCB2b2lkIHNhdmVfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqLCBzdHJ1Cisgdm9pZCBhbHNvX3NhdmVfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqLCBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICosCisgCQkgICAgICBzdHJ1Y3Qgb3B0aW9uX2NhY2hlICopOworIHZvaWQgc2F2ZV9oYXNoZWRfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqLCBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICosCistCQkJc3RydWN0IG9wdGlvbl9jYWNoZSAqLCBpc2NfYm9vbGVhbl90IGFwcGVuZHApOworKwkJCXN0cnVjdCBvcHRpb25fY2FjaGUgKiwgYm9vbCBhcHBlbmRwKTsKKyB2b2lkIGRlbGV0ZV9vcHRpb24gKHN0cnVjdCB1bml2ZXJzZSAqLCBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICosIGludCk7Cisgdm9pZCBkZWxldGVfaGFzaGVkX29wdGlvbiAoc3RydWN0IHVuaXZlcnNlICosCisgCQkJICAgc3RydWN0IG9wdGlvbl9zdGF0ZSAqLCBpbnQpOworQEAgLTIwNDEsNyArMjA0MSw3IEBAIGludCBsaW5rZWRfb3B0aW9uX3N0YXRlX2RlcmVmZXJlbmNlIChzdHIKKyAJCQkJICAgICBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICosCisgCQkJCSAgICAgY29uc3QgY2hhciAqLCBpbnQpOworIHZvaWQgc2F2ZV9saW5rZWRfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqLCBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICosCistCQkJc3RydWN0IG9wdGlvbl9jYWNoZSAqLCBpc2NfYm9vbGVhbl90IGFwcGVuZHApOworKwkJCXN0cnVjdCBvcHRpb25fY2FjaGUgKiwgYm9vbCBhcHBlbmRwKTsKKyB2b2lkIGxpbmtlZF9vcHRpb25fc3BhY2VfZm9yZWFjaCAoc3RydWN0IHBhY2tldCAqLCBzdHJ1Y3QgbGVhc2UgKiwKKyAJCQkJICBzdHJ1Y3QgY2xpZW50X3N0YXRlICosCisgCQkJCSAgc3RydWN0IG9wdGlvbl9zdGF0ZSAqLAorQEAgLTIwNjksNyArMjA2OSw3IEBAIHZvaWQgZG9fcGFja2V0IChzdHJ1Y3QgaW50ZXJmYWNlX2luZm8gKiwKKyAJCXN0cnVjdCBkaGNwX3BhY2tldCAqLCB1bnNpZ25lZCwKKyAJCXVuc2lnbmVkIGludCwgc3RydWN0IGlhZGRyLCBzdHJ1Y3QgaGFyZHdhcmUgKik7Cisgdm9pZCBkb19wYWNrZXQ2KHN0cnVjdCBpbnRlcmZhY2VfaW5mbyAqLCBjb25zdCBjaGFyICosCistCQlpbnQsIGludCwgY29uc3Qgc3RydWN0IGlhZGRyICosIGlzY19ib29sZWFuX3QpOworKwkJaW50LCBpbnQsIGNvbnN0IHN0cnVjdCBpYWRkciAqLCBib29sKTsKKyBpbnQgcGFja2V0Nl9sZW5fb2theShjb25zdCBjaGFyICosIGludCk7CisgCisgaW50IHZhbGlkYXRlX3BhY2tldChzdHJ1Y3QgcGFja2V0ICopOworQEAgLTIyMjQsNyArMjIyNCw3IEBAIHVpbnQzMl90IHBhcnNlX2J5dGVfb3JkZXJfdWludDMyKGNvbnN0IHYKKyBpbnQgZGRuc191cGRhdGVzKHN0cnVjdCBwYWNrZXQgKiwgc3RydWN0IGxlYXNlICosIHN0cnVjdCBsZWFzZSAqLAorIAkJIHN0cnVjdCBpYXN1Ym9wdCAqLCBzdHJ1Y3QgaWFzdWJvcHQgKiwgc3RydWN0IG9wdGlvbl9zdGF0ZSAqKTsKKyBpc2NfcmVzdWx0X3QgZGRuc19yZW1vdmFscyhzdHJ1Y3QgbGVhc2UgKiwgc3RydWN0IGlhc3Vib3B0ICosCistCQkJICAgc3RydWN0IGRoY3BfZGRuc19jYiAqLCBpc2NfYm9vbGVhbl90KTsKKysJCQkgICBzdHJ1Y3QgZGhjcF9kZG5zX2NiICosIGJvb2wpOworIHVfaW50MTZfdCBnZXRfY29uZmxpY3RfbWFzayhzdHJ1Y3Qgb3B0aW9uX3N0YXRlICppbnB1dF9vcHRpb25zKTsKKyAjaWYgZGVmaW5lZCAoVFJBQ0lORykKKyB2b2lkIHRyYWNlX2RkbnNfaW5pdCh2b2lkKTsKK0BAIC0yNDUwLDcgKzI0NTAsNyBAQCB2b2lkIGRoY3BsZWFzZXF1ZXJ5IChzdHJ1Y3QgcGFja2V0ICosIGluCisgdm9pZCBkaGNwdjZfbGVhc2VxdWVyeSAoc3RydWN0IGRhdGFfc3RyaW5nICosIHN0cnVjdCBwYWNrZXQgKik7CisgCisgLyogZGhjcHY2LmMgKi8KKy1pc2NfYm9vbGVhbl90IHNlcnZlcl9kdWlkX2lzc2V0KHZvaWQpOworK2Jvb2wgc2VydmVyX2R1aWRfaXNzZXQodm9pZCk7Cisgdm9pZCBjb3B5X3NlcnZlcl9kdWlkKHN0cnVjdCBkYXRhX3N0cmluZyAqZHMsIGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lKTsKKyB2b2lkIHNldF9zZXJ2ZXJfZHVpZChzdHJ1Y3QgZGF0YV9zdHJpbmcgKm5ld19kdWlkKTsKKyBpc2NfcmVzdWx0X3Qgc2V0X3NlcnZlcl9kdWlkX2Zyb21fb3B0aW9uKHZvaWQpOworQEAgLTI4NTIsNyArMjg1Miw3IEBAIGV4dGVybiB2b2lkICgqYm9vdHBfcGFja2V0X2hhbmRsZXIpIChzdHIKKyAJCQkJICAgICBzdHJ1Y3QgaWFkZHIsIHN0cnVjdCBoYXJkd2FyZSAqKTsKKyBleHRlcm4gdm9pZCAoKmRoY3B2Nl9wYWNrZXRfaGFuZGxlcikoc3RydWN0IGludGVyZmFjZV9pbmZvICosCisgCQkJCSAgICAgY29uc3QgY2hhciAqLCBpbnQsCistCQkJCSAgICAgaW50LCBjb25zdCBzdHJ1Y3QgaWFkZHIgKiwgaXNjX2Jvb2xlYW5fdCk7CisrCQkJCSAgICAgaW50LCBjb25zdCBzdHJ1Y3QgaWFkZHIgKiwgYm9vbCk7CisgZXh0ZXJuIHN0cnVjdCB0aW1lb3V0ICp0aW1lb3V0czsKKyBleHRlcm4gb21hcGlfb2JqZWN0X3R5cGVfdCAqZGhjcF90eXBlX2ludGVyZmFjZTsKKyAjaWYgZGVmaW5lZCAoVFJBQ0lORykKK0BAIC0yOTQzLDcgKzI5NDMsNyBAQCBpbnQgYWRkcl9vcihzdHJ1Y3QgaWFkZHIgKnJlc3VsdCwKKyAJICAgIGNvbnN0IHN0cnVjdCBpYWRkciAqYTEsIGNvbnN0IHN0cnVjdCBpYWRkciAqYTIpOworIGludCBhZGRyX2FuZChzdHJ1Y3QgaWFkZHIgKnJlc3VsdCwKKyAJICAgICBjb25zdCBzdHJ1Y3QgaWFkZHIgKmExLCBjb25zdCBzdHJ1Y3QgaWFkZHIgKmEyKTsKKy1pc2NfYm9vbGVhbl90IGlzX2NpZHJfbWFza192YWxpZChjb25zdCBzdHJ1Y3QgaWFkZHIgKmFkZHIsIGludCBiaXRzKTsKKytib29sIGlzX2NpZHJfbWFza192YWxpZChjb25zdCBzdHJ1Y3QgaWFkZHIgKmFkZHIsIGludCBiaXRzKTsKKyBpc2NfcmVzdWx0X3QgcmFuZ2UyY2lkcihzdHJ1Y3QgaWFkZHJjaWRybmV0bGlzdCAqKnJlc3VsdCwKKyAJCQljb25zdCBzdHJ1Y3QgaWFkZHIgKmxvLCBjb25zdCBzdHJ1Y3QgaWFkZHIgKmhpKTsKKyBpc2NfcmVzdWx0X3QgZnJlZV9pYWRkcmNpZHJuZXRsaXN0KHN0cnVjdCBpYWRkcmNpZHJuZXRsaXN0ICoqcmVzdWx0KTsKK0BAIC0zNzg3LDcgKzM3ODcsNyBAQCBpc2NfcmVzdWx0X3QgaWFfYWRkX2lhc3Vib3B0KHN0cnVjdCBpYV94CisgCQkJICAgICBjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSk7Cisgdm9pZCBpYV9yZW1vdmVfaWFzdWJvcHQoc3RydWN0IGlhX3h4ICppYSwgc3RydWN0IGlhc3Vib3B0ICppYXN1Ym9wdCwKKyAJCQljb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSk7CistaXNjX2Jvb2xlYW5fdCBpYV9lcXVhbChjb25zdCBzdHJ1Y3QgaWFfeHggKmEsIGNvbnN0IHN0cnVjdCBpYV94eCAqYik7CisrYm9vbCBpYV9lcXVhbChjb25zdCBzdHJ1Y3QgaWFfeHggKmEsIGNvbnN0IHN0cnVjdCBpYV94eCAqYik7CisgCisgaXNjX3Jlc3VsdF90IGlwdjZfcG9vbF9hbGxvY2F0ZShzdHJ1Y3QgaXB2Nl9wb29sICoqcG9vbCwgdV9pbnQxNl90IHR5cGUsCisgCQkJCWNvbnN0IHN0cnVjdCBpbjZfYWRkciAqc3RhcnRfYWRkciwKK0BAIC0zODIwLDkgKzM4MjAsOSBAQCBpc2NfcmVzdWx0X3QgZXhwaXJlX2xlYXNlNihzdHJ1Y3QgaWFzdWJvCisgCQkJICAgc3RydWN0IGlwdjZfcG9vbCAqcG9vbCwgdGltZV90IG5vdyk7CisgaXNjX3Jlc3VsdF90IHJlbGVhc2VfbGVhc2U2KHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wsIHN0cnVjdCBpYXN1Ym9wdCAqbGVhc2UpOworIGlzY19yZXN1bHRfdCBkZWNsaW5lX2xlYXNlNihzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLCBzdHJ1Y3QgaWFzdWJvcHQgKmxlYXNlKTsKKy1pc2NfYm9vbGVhbl90IGxlYXNlNl9leGlzdHMoY29uc3Qgc3RydWN0IGlwdjZfcG9vbCAqcG9vbCwKKytib29sIGxlYXNlNl9leGlzdHMoY29uc3Qgc3RydWN0IGlwdjZfcG9vbCAqcG9vbCwKKyAJCQkgICAgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyKTsKKy1pc2NfYm9vbGVhbl90IGxlYXNlNl91c2FibGUoc3RydWN0IGlhc3Vib3B0ICpsZWFzZSk7CisrYm9vbCBsZWFzZTZfdXNhYmxlKHN0cnVjdCBpYXN1Ym9wdCAqbGVhc2UpOworIGlzY19yZXN1bHRfdCBjbGVhbnVwX2xlYXNlNihpYV9oYXNoX3QgKmlhX3RhYmxlLAorIAkJCSAgICBzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLAorIAkJCSAgICBzdHJ1Y3QgaWFzdWJvcHQgKmxlYXNlLAorQEAgLTM4MzQsMTMgKzM4MzQsMTMgQEAgaXNjX3Jlc3VsdF90IGNyZWF0ZV9wcmVmaXg2KHN0cnVjdCBpcHY2XworIAkJCSAgICB1bnNpZ25lZCBpbnQgKmF0dGVtcHRzLAorIAkJCSAgICBjb25zdCBzdHJ1Y3QgZGF0YV9zdHJpbmcgKnVpZCwKKyAJCQkgICAgdGltZV90IHNvZnRfbGlmZXRpbWVfZW5kX3RpbWUpOworLWlzY19ib29sZWFuX3QgcHJlZml4Nl9leGlzdHMoY29uc3Qgc3RydWN0IGlwdjZfcG9vbCAqcG9vbCwKKytib29sIHByZWZpeDZfZXhpc3RzKGNvbnN0IHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wsCisgCQkJICAgICBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKnByZWYsIHVfaW50OF90IHBsZW4pOworIAorIGlzY19yZXN1bHRfdCBhZGRfaXB2Nl9wb29sKHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wpOworIGlzY19yZXN1bHRfdCBmaW5kX2lwdjZfcG9vbChzdHJ1Y3QgaXB2Nl9wb29sICoqcG9vbCwgdV9pbnQxNl90IHR5cGUsCisgCQkJICAgIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkcik7CistaXNjX2Jvb2xlYW5fdCBpcHY2X2luX3Bvb2woY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLAorK2Jvb2wgaXB2Nl9pbl9wb29sKGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkciwKKyAJCQkgICBjb25zdCBzdHJ1Y3QgaXB2Nl9wb29sICpwb29sKTsKKyBpc2NfcmVzdWx0X3QgaXB2Nl9wb25kX2FsbG9jYXRlKHN0cnVjdCBpcHY2X3BvbmQgKipwb25kLAorIAkJCQljb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSk7CitJbmRleDogZGhjcC00LjQuMS9pbmNsdWRlcy9oZWFwLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvaW5jbHVkZXMvaGVhcC5oCisrKysgZGhjcC00LjQuMS9pbmNsdWRlcy9oZWFwLmgKK0BAIC0yNiw3ICsyNiw3IEBACisgICogVGhlIGNvbXBhcmlzaW9uIGZ1bmN0aW9uIHJldHVybnMgSVNDX1RSVUUgaWYgdGhlIGZpcnN0IGFyZ3VtZW50IGhhcworICAqIGhpZ2hlciBwcmlvcml0eSB0aGFuIHRoZSBzZWNvbmQgYXJndW1lbnQsIGFuZCBJU0NfRkFMU0Ugb3RoZXJ3aXNlLgorICAqLworLXR5cGVkZWYgaXNjX2Jvb2xlYW5fdCAoKmlzY19oZWFwY29tcGFyZV90KSh2b2lkICosIHZvaWQgKik7CisrdHlwZWRlZiBib29sICgqaXNjX2hlYXBjb21wYXJlX3QpKHZvaWQgKiwgdm9pZCAqKTsKKyAKKyAvKiUKKyAgKiBUaGUgaW5kZXggZnVuY3Rpb24gYWxsb3dzIHRoZSBjbGllbnQgb2YgdGhlIGhlYXAgdG8gcmVjZWl2ZSBhIGNhbGxiYWNrCitJbmRleDogZGhjcC00LjQuMS9pbmNsdWRlcy9vbWFwaXAvb21hcGlwLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvaW5jbHVkZXMvb21hcGlwL29tYXBpcC5oCisrKysgZGhjcC00LjQuMS9pbmNsdWRlcy9vbWFwaXAvb21hcGlwLmgKK0BAIC0yNjQsNyArMjY0LDcgQEAgaXNjX3Jlc3VsdF90IG9tYXBpX3Byb3RvY29sX2Nvbm5lY3QgKG9tYQorIGlzY19yZXN1bHRfdCBvbWFwaV9jb25uZWN0X2xpc3QgKG9tYXBpX29iamVjdF90ICosIG9tYXBpX2FkZHJfbGlzdF90ICosCisgCQkJCSBvbWFwaV9hZGRyX3QgKik7CisgaXNjX3Jlc3VsdF90IG9tYXBpX3Byb3RvY29sX2xpc3RlbiAob21hcGlfb2JqZWN0X3QgKiwgdW5zaWduZWQsIGludCk7CistaXNjX2Jvb2xlYW5fdCBvbWFwaV9wcm90b2NvbF9hdXRoZW50aWNhdGVkIChvbWFwaV9vYmplY3RfdCAqKTsKKytib29sIG9tYXBpX3Byb3RvY29sX2F1dGhlbnRpY2F0ZWQgKG9tYXBpX29iamVjdF90ICopOworIGlzY19yZXN1bHRfdCBvbWFwaV9wcm90b2NvbF9jb25maWd1cmVfc2VjdXJpdHkgKG9tYXBpX29iamVjdF90ICosCisgCQkJCQkJaXNjX3Jlc3VsdF90ICgqKQorIAkJCQkJCShvbWFwaV9vYmplY3RfdCAqLAorSW5kZXg6IGRoY3AtNC40LjEvaW5jbHVkZXMvb21hcGlwL29tYXBpcF9wLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvaW5jbHVkZXMvb21hcGlwL29tYXBpcF9wLmgKKysrKyBkaGNwLTQuNC4xL2luY2x1ZGVzL29tYXBpcC9vbWFwaXBfcC5oCitAQCAtMTQ5LDcgKzE0OSw3IEBAIHR5cGVkZWYgc3RydWN0IF9fb21hcGlfcHJvdG9jb2xfb2JqZWN0IHsKKyAJb21hcGlfcmVtb3RlX2F1dGhfdCAqcmVtb3RlX2F1dGhfbGlzdDsJLyogQXV0aGVudGljYXRvcnMgYWN0aXZlIG9uCisgCQkJCQkJICAgdGhpcyBjb25uZWN0aW9uLiAqLworIAorLQlpc2NfYm9vbGVhbl90IGluc2VjdXJlOwkJLyogU2V0IHRvIGFsbG93IHVuYXV0aGVudGljYXRlZAorKwlib29sIGluc2VjdXJlOwkJLyogU2V0IHRvIGFsbG93IHVuYXV0aGVudGljYXRlZAorIAkJCQkJICAgbWVzc2FnZXMuICovCisgCisgCWlzY19yZXN1bHRfdCAoKnZlcmlmeV9hdXRoKSAob21hcGlfb2JqZWN0X3QgKiwgb21hcGlfYXV0aF9rZXlfdCAqKTsKK0BAIC0xNTgsNyArMTU4LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX19vbWFwaV9wcm90b2NvbF9vYmplY3QgeworIHR5cGVkZWYgc3RydWN0IHsKKyAJT01BUElfT0JKRUNUX1BSRUFNQkxFOworIAorLQlpc2NfYm9vbGVhbl90IGluc2VjdXJlOwkJLyogU2V0IHRvIGFsbG93IHVuYXV0aGVudGljYXRlZAorKwlib29sIGluc2VjdXJlOwkJLyogU2V0IHRvIGFsbG93IHVuYXV0aGVudGljYXRlZAorIAkJCQkJICAgbWVzc2FnZXMuICovCisgCisgCWlzY19yZXN1bHRfdCAoKnZlcmlmeV9hdXRoKSAob21hcGlfb2JqZWN0X3QgKiwgb21hcGlfYXV0aF9rZXlfdCAqKTsKK0BAIC0yMDgsNyArMjA4LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX19vbWFwaV9pb19vYmplY3QgeworIAlpc2NfcmVzdWx0X3QgKCp3cml0ZXIpIChvbWFwaV9vYmplY3RfdCAqKTsKKyAJaXNjX3Jlc3VsdF90ICgqcmVhcGVyKSAob21hcGlfb2JqZWN0X3QgKik7CisgCWlzY19zb2NrZXRfdCAqZmQ7CistCWlzY19ib29sZWFuX3QgY2xvc2VkOyAvKiBJU0NfVFJVRSA9IGNsb3NlZCwgZG8gbm90IHVzZSAqLworKwlib29sIGNsb3NlZDsgLyogSVNDX1RSVUUgPSBjbG9zZWQsIGRvIG5vdCB1c2UgKi8KKyB9IG9tYXBpX2lvX29iamVjdF90OworIAorIHR5cGVkZWYgc3RydWN0IF9fb21hcGlfZ2VuZXJpY19vYmplY3QgeworSW5kZXg6IGRoY3AtNC40LjEvaW5jbHVkZXMvdHJlZS5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL2luY2x1ZGVzL3RyZWUuaAorKysrIGRoY3AtNC40LjEvaW5jbHVkZXMvdHJlZS5oCitAQCAtMzA0LDcgKzMwNCw3IEBAIHN0cnVjdCB1bml2ZXJzZSB7CisgCQkJCQkgICAgIHN0cnVjdCBvcHRpb25fc3RhdGUgKiwKKyAJCQkJCSAgICAgdW5zaWduZWQpOworIAl2b2lkICgqc2F2ZV9mdW5jKSAoc3RydWN0IHVuaXZlcnNlICosIHN0cnVjdCBvcHRpb25fc3RhdGUgKiwKKy0JCQkgICBzdHJ1Y3Qgb3B0aW9uX2NhY2hlICosIGlzY19ib29sZWFuX3QpOworKwkJCSAgIHN0cnVjdCBvcHRpb25fY2FjaGUgKiwgYm9vbCApOworIAl2b2lkICgqZm9yZWFjaCkgKHN0cnVjdCBwYWNrZXQgKiwKKyAJCQkgc3RydWN0IGxlYXNlICosIHN0cnVjdCBjbGllbnRfc3RhdGUgKiwKKyAJCQkgc3RydWN0IG9wdGlvbl9zdGF0ZSAqLCBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICosCitJbmRleDogZGhjcC00LjQuMS9jb21tb24vY29uZmxleC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL2NvbW1vbi9jb25mbGV4LmMKKysrKyBkaGNwLTQuNC4xL2NvbW1vbi9jb25mbGV4LmMKK0BAIC0zMjIsNyArMzIyLDcgQEAgZ2V0X3Jhd190b2tlbihzdHJ1Y3QgcGFyc2UgKmNmaWxlKSB7CisgCisgc3RhdGljIGVudW0gZGhjcF90b2tlbiAKKyBnZXRfbmV4dF90b2tlbihjb25zdCBjaGFyICoqcnZhbCwgdW5zaWduZWQgKnJsZW4sIAorLQkgICAgICAgc3RydWN0IHBhcnNlICpjZmlsZSwgaXNjX2Jvb2xlYW5fdCByYXcpIHsKKysJICAgICAgIHN0cnVjdCBwYXJzZSAqY2ZpbGUsIGJvb2wgcmF3KSB7CisgCWludCBydjsKKyAKKyAJaWYgKGNmaWxlIC0+IHRva2VuKSB7CitAQCAtMzY3LDcgKzM2Nyw3IEBAIGdldF9uZXh0X3Rva2VuKGNvbnN0IGNoYXIgKipydmFsLCB1bnNpZ24KKyAKKyBlbnVtIGRoY3BfdG9rZW4KKyBuZXh0X3Rva2VuKGNvbnN0IGNoYXIgKipydmFsLCB1bnNpZ25lZCAqcmxlbiwgc3RydWN0IHBhcnNlICpjZmlsZSkgeworLQlyZXR1cm4gZ2V0X25leHRfdG9rZW4ocnZhbCwgcmxlbiwgY2ZpbGUsIElTQ19GQUxTRSk7CisrCXJldHVybiBnZXRfbmV4dF90b2tlbihydmFsLCBybGVuLCBjZmlsZSwgZmFsc2UpOworIH0KKyAKKyAKK0BAIC0zNzgsNyArMzc4LDcgQEAgbmV4dF90b2tlbihjb25zdCBjaGFyICoqcnZhbCwgdW5zaWduZWQgKgorIAorIGVudW0gZGhjcF90b2tlbgorIG5leHRfcmF3X3Rva2VuKGNvbnN0IGNoYXIgKipydmFsLCB1bnNpZ25lZCAqcmxlbiwgc3RydWN0IHBhcnNlICpjZmlsZSkgeworLQlyZXR1cm4gZ2V0X25leHRfdG9rZW4ocnZhbCwgcmxlbiwgY2ZpbGUsIElTQ19UUlVFKTsKKysJcmV0dXJuIGdldF9uZXh0X3Rva2VuKHJ2YWwsIHJsZW4sIGNmaWxlLCB0cnVlKTsKKyB9CisgCisgCitAQCAtMzkzLDcgKzM5Myw3IEBAIG5leHRfcmF3X3Rva2VuKGNvbnN0IGNoYXIgKipydmFsLCB1bnNpZ24KKyAKKyBlbnVtIGRoY3BfdG9rZW4KKyBkb19wZWVrX3Rva2VuKGNvbnN0IGNoYXIgKipydmFsLCB1bnNpZ25lZCBpbnQgKnJsZW4sCistCSAgICAgIHN0cnVjdCBwYXJzZSAqY2ZpbGUsIGlzY19ib29sZWFuX3QgcmF3KSB7CisrCSAgICAgIHN0cnVjdCBwYXJzZSAqY2ZpbGUsIGJvb2wgcmF3KSB7CisgCWludCB4OworIAorIAlpZiAoIWNmaWxlLT50b2tlbiB8fCAoIXJhdyAmJiAoY2ZpbGUtPnRva2VuID09IFdISVRFU1BBQ0UpKSkgeworQEAgLTQ0MSw3ICs0NDEsNyBAQCBkb19wZWVrX3Rva2VuKGNvbnN0IGNoYXIgKipydmFsLCB1bnNpZ25lCisgCisgZW51bSBkaGNwX3Rva2VuCisgcGVla190b2tlbihjb25zdCBjaGFyICoqcnZhbCwgdW5zaWduZWQgKnJsZW4sIHN0cnVjdCBwYXJzZSAqY2ZpbGUpIHsKKy0JcmV0dXJuIGRvX3BlZWtfdG9rZW4ocnZhbCwgcmxlbiwgY2ZpbGUsIElTQ19GQUxTRSk7CisrCXJldHVybiBkb19wZWVrX3Rva2VuKHJ2YWwsIHJsZW4sIGNmaWxlLCBmYWxzZSk7CisgfQorIAorIAorQEAgLTQ1Miw3ICs0NTIsNyBAQCBwZWVrX3Rva2VuKGNvbnN0IGNoYXIgKipydmFsLCB1bnNpZ25lZCAqCisgCisgZW51bSBkaGNwX3Rva2VuCisgcGVla19yYXdfdG9rZW4oY29uc3QgY2hhciAqKnJ2YWwsIHVuc2lnbmVkICpybGVuLCBzdHJ1Y3QgcGFyc2UgKmNmaWxlKSB7CistCXJldHVybiBkb19wZWVrX3Rva2VuKHJ2YWwsIHJsZW4sIGNmaWxlLCBJU0NfVFJVRSk7CisrCXJldHVybiBkb19wZWVrX3Rva2VuKHJ2YWwsIHJsZW4sIGNmaWxlLCB0cnVlKTsKKyB9CisgCisgc3RhdGljIHZvaWQgc2tpcF90b19lb2wgKGNmaWxlKQorSW5kZXg6IGRoY3AtNC40LjEvY29tbW9uL2Rpc2NvdmVyLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvY29tbW9uL2Rpc2NvdmVyLmMKKysrKyBkaGNwLTQuNC4xL2NvbW1vbi9kaXNjb3Zlci5jCitAQCAtNzMsNyArNzMsNyBAQCB2b2lkICgqYm9vdHBfcGFja2V0X2hhbmRsZXIpIChzdHJ1Y3QgaW50Cisgdm9pZCAoKmRoY3B2Nl9wYWNrZXRfaGFuZGxlcikoc3RydWN0IGludGVyZmFjZV9pbmZvICosCisgCQkJICAgICAgY29uc3QgY2hhciAqLCBpbnQsCisgCQkJICAgICAgaW50LCBjb25zdCBzdHJ1Y3QgaWFkZHIgKiwKKy0JCQkgICAgICBpc2NfYm9vbGVhbl90KTsKKysJCQkgICAgICBib29sKTsKKyAjZW5kaWYgLyogREhDUHY2ICovCisgCisgCitAQCAtMjM2LDcgKzIzNiw3IEBAIHN0cnVjdCBpZmFjZV9jb25mX2xpc3QgeworIHN0cnVjdCBpZmFjZV9pbmZvIHsKKyAJY2hhciBuYW1lW0lGX05BTUVTSVpFKzFdOwkvKiBuYW1lIG9mIHRoZSBpbnRlcmZhY2UsIGUuZy4gImJnZTAiICovCisgCXN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIGFkZHI7CS8qIGFkZHJlc3MgaW5mb3JtYXRpb24gKi8KKy0JaXNjX3VpbnQ2NF90IGZsYWdzOwkJLyogaW50ZXJmYWNlIGZsYWdzLCBlLmcuIElGRl9MT09QQkFDSyAqLworKwl1aW50NjRfdCBmbGFnczsJCQkvKiBpbnRlcmZhY2UgZmxhZ3MsIGUuZy4gSUZGX0xPT1BCQUNLICovCisgfTsKKyAKKyAvKiAKK0BAIC0zMTIsMTQgKzMxMiwxNCBAQCBpbnQKKyBuZXh0X2lmYWNlKHN0cnVjdCBpZmFjZV9pbmZvICppbmZvLCBpbnQgKmVyciwgc3RydWN0IGlmYWNlX2NvbmZfbGlzdCAqaWZhY2VzKSB7CisgCXN0cnVjdCBMSUZSRVEgKnA7CisgCXN0cnVjdCBMSUZSRVEgdG1wOworLQlpc2NfYm9vbGVhbl90IGZvdW5kaWY7CisrCWJvb2wgZm91bmRpZjsKKyAjaWYgZGVmaW5lZChzdW4pIHx8IGRlZmluZWQoX19saW51eCkKKyAJLyogUG9pbnRlciB1c2VkIHRvIHJlbW92ZSBpbnRlcmZhY2UgYWxpYXNlcy4gKi8KKyAJY2hhciAqczsKKyAjZW5kaWYKKyAKKyAJZG8geworLQkJZm91bmRpZiA9IElTQ19GQUxTRTsKKysJCWZvdW5kaWYgPSBmYWxzZTsKKyAKKyAJCWlmIChpZmFjZXMtPm5leHQgPj0gaWZhY2VzLT5udW0pIHsKKyAJCQkqZXJyID0gMDsKK0BAIC0zNTMsOCArMzUzLDggQEAgbmV4dF9pZmFjZShzdHJ1Y3QgaWZhY2VfaW5mbyAqaW5mbywgaW50CisgCQl9CisgI2VuZGlmIC8qIGRlZmluZWQoc3VuKSB8fCBkZWZpbmVkKF9fbGludXgpICovCisgCistCQlmb3VuZGlmID0gSVNDX1RSVUU7CistCX0gd2hpbGUgKChmb3VuZGlmID09IElTQ19GQUxTRSkgfHwKKysJCWZvdW5kaWYgPSB0cnVlOworKwl9IHdoaWxlICgoZm91bmRpZiA9PSBmYWxzZSkgfHwKKyAJCSAoc3RybmNtcChpbmZvLT5uYW1lLCAiZHVtbXkiLCA1KSA9PSAwKSk7CisgCQorIAltZW1zZXQoJnRtcCwgMCwgc2l6ZW9mKHRtcCkpOworQEAgLTQxMCw3ICs0MTAsNyBAQCBzdHJ1Y3QgaWZhY2VfY29uZl9saXN0IHsKKyBzdHJ1Y3QgaWZhY2VfaW5mbyB7CisgCWNoYXIgbmFtZVtJRk5BTVNJWl07CQkvKiBuYW1lIG9mIHRoZSBpbnRlcmZhY2UsIGUuZy4gImJnZTAiICovCisgCXN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIGFkZHI7CS8qIGFkZHJlc3MgaW5mb3JtYXRpb24gKi8KKy0JaXNjX3VpbnQ2NF90IGZsYWdzOwkJLyogaW50ZXJmYWNlIGZsYWdzLCBlLmcuIElGRl9MT09QQkFDSyAqLworKwl1aW50NjRfdCBmbGFnczsJCQkvKiBpbnRlcmZhY2UgZmxhZ3MsIGUuZy4gSUZGX0xPT1BCQUNLICovCisgfTsKKyAKKyAvKiAKK0BAIC0xMTkwLDkgKzExOTAsOSBAQCBnb3Rfb25lX3Y2KG9tYXBpX29iamVjdF90ICpoKSB7CisgCQkgKiBJZiBhIHBhY2tldCBpcyBub3QgbXVsdGljYXN0LCB3ZSBhc3N1bWUgaXQgaXMgdW5pY2FzdC4KKyAJCSAqLworIAkJaWYgKElONl9JU19BRERSX01VTFRJQ0FTVCgmdG8pKSB7IAorLQkJCWlzX3VuaWNhc3QgPSBJU0NfRkFMU0U7CisrCQkJaXNfdW5pY2FzdCA9IGZhbHNlOworIAkJfSBlbHNlIHsKKy0JCQlpc191bmljYXN0ID0gSVNDX1RSVUU7CisrCQkJaXNfdW5pY2FzdCA9IHRydWU7CisgCQl9CisgCisgCQlpZnJvbS5sZW4gPSAxNjsKK0luZGV4OiBkaGNwLTQuNC4xL29tYXBpcC9pc2NwcmludC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL29tYXBpcC9pc2NwcmludC5jCisrKysgZGhjcC00LjQuMS9vbWFwaXAvaXNjcHJpbnQuYworQEAgLTU5LDggKzU5LDggQEAgaXNjX3ByaW50X3ZzbnByaW50ZihjaGFyICpzdHIsIHNpemVfdCBzaQorIAlpbnQgcGx1czsKKyAJaW50IHNwYWNlOworIAlpbnQgbmVnOworLQlpc2NfaW50NjRfdCB0bXBpOworLQlpc2NfdWludDY0X3QgdG1wdWk7CisrCWludDY0X3QgdG1waTsKKysJdWludDY0X3QgdG1wdWk7CisgCXVuc2lnbmVkIGxvbmcgd2lkdGg7CisgCXVuc2lnbmVkIGxvbmcgcHJlY2lzaW9uOworIAl1bnNpZ25lZCBpbnQgbGVuZ3RoOworQEAgLTIzNCw3ICsyMzQsNyBAQCBpc2NfcHJpbnRfdnNucHJpbnRmKGNoYXIgKnN0ciwgc2l6ZV90IHNpCisgCQkJCWdvdG8gcHJpbnRpbnQ7CisgCQkJY2FzZSAnbyc6CisgCQkJCWlmIChxKQorLQkJCQkJdG1wdWkgPSB2YV9hcmcoYXAsIGlzY191aW50NjRfdCk7CisrCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgdWludDY0X3QpOworIAkJCQllbHNlIGlmIChsKQorIAkJCQkJdG1wdWkgPSB2YV9hcmcoYXAsIGxvbmcgaW50KTsKKyAJCQkJZWxzZQorQEAgLTI0NCw3ICsyNDQsNyBAQCBpc2NfcHJpbnRfdnNucHJpbnRmKGNoYXIgKnN0ciwgc2l6ZV90IHNpCisgCQkJCWdvdG8gcHJpbnRpbnQ7CisgCQkJY2FzZSAndSc6CisgCQkJCWlmIChxKQorLQkJCQkJdG1wdWkgPSB2YV9hcmcoYXAsIGlzY191aW50NjRfdCk7CisrCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgdWludDY0X3QpOworIAkJCQllbHNlIGlmIChsKQorIAkJCQkJdG1wdWkgPSB2YV9hcmcoYXAsIHVuc2lnbmVkIGxvbmcgaW50KTsKKyAJCQkJZWxzZQorQEAgLTI1Myw3ICsyNTMsNyBAQCBpc2NfcHJpbnRfdnNucHJpbnRmKGNoYXIgKnN0ciwgc2l6ZV90IHNpCisgCQkJCWdvdG8gcHJpbnRpbnQ7CisgCQkJY2FzZSAneCc6CisgCQkJCWlmIChxKQorLQkJCQkJdG1wdWkgPSB2YV9hcmcoYXAsIGlzY191aW50NjRfdCk7CisrCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgdWludDY0X3QpOworIAkJCQllbHNlIGlmIChsKQorIAkJCQkJdG1wdWkgPSB2YV9hcmcoYXAsIHVuc2lnbmVkIGxvbmcgaW50KTsKKyAJCQkJZWxzZQorQEAgLTI2Nyw3ICsyNjcsNyBAQCBpc2NfcHJpbnRfdnNucHJpbnRmKGNoYXIgKnN0ciwgc2l6ZV90IHNpCisgCQkJCWdvdG8gcHJpbnRpbnQ7CisgCQkJY2FzZSAnWCc6CisgCQkJCWlmIChxKQorLQkJCQkJdG1wdWkgPSB2YV9hcmcoYXAsIGlzY191aW50NjRfdCk7CisrCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgdWludDY0X3QpOworIAkJCQllbHNlIGlmIChsKQorIAkJCQkJdG1wdWkgPSB2YV9hcmcoYXAsIHVuc2lnbmVkIGxvbmcgaW50KTsKKyAJCQkJZWxzZQorSW5kZXg6IGRoY3AtNC40LjEvc2VydmVyL2NvbmZwYXJzLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvc2VydmVyL2NvbmZwYXJzLmMKKysrKyBkaGNwLTQuNC4xL3NlcnZlci9jb25mcGFycy5jCitAQCAtNDAwNSwxNSArNDAwNSwxNSBAQCBhZGRfaXB2Nl9wb29sX3RvX3N1Ym5ldChzdHJ1Y3Qgc3VibmV0ICpzCisgCisgCS8qIE9ubHkgYm90aGVyIGlmIHdlIGFyZW4ndCBhbHJlYWR5IGZsYWdnZWQgYXMganVtYm8gKi8KKyAJaWYgKHBvbmQtPmp1bWJvX3JhbmdlID09IDApIHsKKy0JCWlmICgodW5pdHMgLSBiaXRzKSA+IChzaXplb2YoaXNjX3VpbnQ2NF90KSAqIDgpKSB7CisrCQlpZiAoKHVuaXRzIC0gYml0cykgPiAoc2l6ZW9mKHVpbnQ2NF90KSAqIDgpKSB7CisgCQkJcG9uZC0+anVtYm9fcmFuZ2UgPSAxOworIAkJCXBvbmQtPm51bV90b3RhbCA9IFBPTkRfVFJBQ0tfTUFYOworIAkJfQorIAkJZWxzZSB7CistCQkJaXNjX3VpbnQ2NF90IHNwYWNlX2xlZnQKKysJCQl1aW50NjRfdCBzcGFjZV9sZWZ0CisgCQkJCT0gUE9ORF9UUkFDS19NQVggLSBwb25kLT5udW1fdG90YWw7CistCQkJaXNjX3VpbnQ2NF90IGFkZG9uCistCQkJCT0gKGlzY191aW50NjRfdCkoMSkgPDwgKHVuaXRzIC0gYml0cyk7CisrCQkJdWludDY0X3QgYWRkb24KKysJCQkJPSAodWludDY0X3QpKDEpIDw8ICh1bml0cyAtIGJpdHMpOworIAorIAkJCWlmIChhZGRvbiA+IHNwYWNlX2xlZnQpIHsKKyAJCQkJcG9uZC0+anVtYm9fcmFuZ2UgPSAxOworQEAgLTQ3MzksNyArNDczOSw3IEBAIHBhcnNlX2lhX25hX2RlY2xhcmF0aW9uKHN0cnVjdCBwYXJzZSAqY2YKKyAJc3RydWN0IGlhc3Vib3B0ICppYWFkZHI7CisgCXN0cnVjdCBpcHY2X3Bvb2wgKnBvb2w7CisgCWNoYXIgYWRkcl9idWZbc2l6ZW9mKCJmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjoyNTUuMjU1LjI1NS4yNTUiKV07CistCWlzY19ib29sZWFuX3QgbmV3YmluZGluZzsKKysJYm9vbCBuZXdiaW5kaW5nOworIAlzdHJ1Y3QgYmluZGluZ19zY29wZSAqc2NvcGUgPSBOVUxMOworIAlzdHJ1Y3QgYmluZGluZyAqYm5kOworIAlzdHJ1Y3QgYmluZGluZ192YWx1ZSAqbnYgPSBOVUxMOworQEAgLTQ5NTksOSArNDk1OSw5IEBAIHBhcnNlX2lhX25hX2RlY2xhcmF0aW9uKHN0cnVjdCBwYXJzZSAqY2YKKyAJCQkJCX0KKyAJCQkJCXN0cmNweShibmQtPm5hbWUsIHZhbCk7CisgCistCQkJCQluZXdiaW5kaW5nID0gSVNDX1RSVUU7CisrCQkJCQluZXdiaW5kaW5nID0gdHJ1ZTsKKyAJCQkJfSBlbHNlIHsKKy0JCQkJCW5ld2JpbmRpbmcgPSBJU0NfRkFMU0U7CisrCQkJCQluZXdiaW5kaW5nID0gZmFsc2U7CisgCQkJCX0KKyAKKyAJCQkJaWYgKCFiaW5kaW5nX3ZhbHVlX2FsbG9jYXRlKCZudiwgTURMKSkgeworQEAgLTUxODYsNyArNTE4Niw3IEBAIHBhcnNlX2lhX3RhX2RlY2xhcmF0aW9uKHN0cnVjdCBwYXJzZSAqY2YKKyAJc3RydWN0IGlhc3Vib3B0ICppYWFkZHI7CisgCXN0cnVjdCBpcHY2X3Bvb2wgKnBvb2w7CisgCWNoYXIgYWRkcl9idWZbc2l6ZW9mKCJmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjoyNTUuMjU1LjI1NS4yNTUiKV07CistCWlzY19ib29sZWFuX3QgbmV3YmluZGluZzsKKysJYm9vbCBuZXdiaW5kaW5nOworIAlzdHJ1Y3QgYmluZGluZ19zY29wZSAqc2NvcGUgPSBOVUxMOworIAlzdHJ1Y3QgYmluZGluZyAqYm5kOworIAlzdHJ1Y3QgYmluZGluZ192YWx1ZSAqbnYgPSBOVUxMOworQEAgLTU0MDYsOSArNTQwNiw5IEBAIHBhcnNlX2lhX3RhX2RlY2xhcmF0aW9uKHN0cnVjdCBwYXJzZSAqY2YKKyAJCQkJCX0KKyAJCQkJCXN0cmNweShibmQtPm5hbWUsIHZhbCk7CisgCistCQkJCQluZXdiaW5kaW5nID0gSVNDX1RSVUU7CisrCQkJCQluZXdiaW5kaW5nID0gdHJ1ZTsKKyAJCQkJfSBlbHNlIHsKKy0JCQkJCW5ld2JpbmRpbmcgPSBJU0NfRkFMU0U7CisrCQkJCQluZXdiaW5kaW5nID0gZmFsc2U7CisgCQkJCX0KKyAKKyAJCQkJaWYgKCFiaW5kaW5nX3ZhbHVlX2FsbG9jYXRlKCZudiwgTURMKSkgeworQEAgLTU2MjMsNyArNTYyMyw3IEBAIHBhcnNlX2lhX3BkX2RlY2xhcmF0aW9uKHN0cnVjdCBwYXJzZSAqY2YKKyAJc3RydWN0IGlhc3Vib3B0ICppYXByZWY7CisgCXN0cnVjdCBpcHY2X3Bvb2wgKnBvb2w7CisgCWNoYXIgYWRkcl9idWZbc2l6ZW9mKCJmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjoyNTUuMjU1LjI1NS4yNTUiKV07CistCWlzY19ib29sZWFuX3QgbmV3YmluZGluZzsKKysJYm9vbCBuZXdiaW5kaW5nOworIAlzdHJ1Y3QgYmluZGluZ19zY29wZSAqc2NvcGUgPSBOVUxMOworIAlzdHJ1Y3QgYmluZGluZyAqYm5kOworIAlzdHJ1Y3QgYmluZGluZ192YWx1ZSAqbnYgPSBOVUxMOworQEAgLTU4NDMsOSArNTg0Myw5IEBAIHBhcnNlX2lhX3BkX2RlY2xhcmF0aW9uKHN0cnVjdCBwYXJzZSAqY2YKKyAJCQkJCX0KKyAJCQkJCXN0cmNweShibmQtPm5hbWUsIHZhbCk7CisgCistCQkJCQluZXdiaW5kaW5nID0gSVNDX1RSVUU7CisrCQkJCQluZXdiaW5kaW5nID0gdHJ1ZTsKKyAJCQkJfSBlbHNlIHsKKy0JCQkJCW5ld2JpbmRpbmcgPSBJU0NfRkFMU0U7CisrCQkJCQluZXdiaW5kaW5nID0gZmFsc2U7CisgCQkJCX0KKyAKKyAJCQkJaWYgKCFiaW5kaW5nX3ZhbHVlX2FsbG9jYXRlKCZudiwgTURMKSkgeworSW5kZXg6IGRoY3AtNC40LjEvc2VydmVyL2RoY3B2Ni5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL3NlcnZlci9kaGNwdjYuYworKysrIGRoY3AtNC40LjEvc2VydmVyL2RoY3B2Ni5jCitAQCAtNzEsOCArNzEsOCBAQCBzdHJ1Y3QgcmVwbHlfc3RhdGUgeworIAl1bnNpZ25lZCBpYV9jb3VudDsKKyAJdW5zaWduZWQgcGRfY291bnQ7CisgCXVuc2lnbmVkIGNsaWVudF9yZXNvdXJjZXM7CistCWlzY19ib29sZWFuX3QgcmVzb3VyY2VzX2luY2x1ZGVkOworLQlpc2NfYm9vbGVhbl90IHN0YXRpY19sZWFzZTsKKysJYm9vbCByZXNvdXJjZXNfaW5jbHVkZWQ7CisrCWJvb2wgc3RhdGljX2xlYXNlOworIAl1bnNpZ25lZCBzdGF0aWNfcHJlZml4ZXM7CisgCXN0cnVjdCBpYV94eCAqaWE7CisgCXN0cnVjdCBpYV94eCAqb2xkX2lhOworQEAgLTEyMyw3ICsxMjMsNyBAQCBzdGF0aWMgaXNjX3Jlc3VsdF90IHNoYXJlZF9uZXR3b3JrX2Zyb21fCisgCQkJCQkJc3RydWN0IHBhY2tldCAqcGFja2V0KTsKKyBzdGF0aWMgdm9pZCBzZWVrX3NoYXJlZF9ob3N0KHN0cnVjdCBob3N0X2RlY2wgKipocCwKKyAJCQkgICAgIHN0cnVjdCBzaGFyZWRfbmV0d29yayAqc2hhcmVkKTsKKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdCBmaXhlZF9tYXRjaGVzX3NoYXJlZChzdHJ1Y3QgaG9zdF9kZWNsICpob3N0LAorK3N0YXRpYyBib29sIGZpeGVkX21hdGNoZXNfc2hhcmVkKHN0cnVjdCBob3N0X2RlY2wgKmhvc3QsCisgCQkJCQkgIHN0cnVjdCBzaGFyZWRfbmV0d29yayAqc2hhcmVkKTsKKyBzdGF0aWMgaXNjX3Jlc3VsdF90IHJlcGx5X3Byb2Nlc3NfaWFfbmEoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSwKKyAJCQkJCXN0cnVjdCBvcHRpb25fY2FjaGUgKmlhKTsKK0BAIC0xMzEsOSArMTMxLDkgQEAgc3RhdGljIGlzY19yZXN1bHRfdCByZXBseV9wcm9jZXNzX2lhX3RhKAorIAkJCQkJc3RydWN0IG9wdGlvbl9jYWNoZSAqaWEpOworIHN0YXRpYyBpc2NfcmVzdWx0X3QgcmVwbHlfcHJvY2Vzc19hZGRyKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksCisgCQkJCSAgICAgICBzdHJ1Y3Qgb3B0aW9uX2NhY2hlICphZGRyKTsKKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdCBhZGRyZXNzX2lzX293bmVkKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksCisrc3RhdGljIGJvb2wgYWRkcmVzc19pc19vd25lZChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5LAorIAkJCQkgICAgICBzdHJ1Y3QgaWFkZHIgKmFkZHIpOworLXN0YXRpYyBpc2NfYm9vbGVhbl90IHRlbXBvcmFyeV9pc19hdmFpbGFibGUoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSwKKytzdGF0aWMgYm9vbCB0ZW1wb3JhcnlfaXNfYXZhaWxhYmxlKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksCisgCQkJCQkgICAgc3RydWN0IGlhZGRyICphZGRyKTsKKyBzdGF0aWMgaXNjX3Jlc3VsdF90IGZpbmRfY2xpZW50X3RlbXBvcmFyaWVzKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHkpOworIHN0YXRpYyBpc2NfcmVzdWx0X3QgcmVwbHlfcHJvY2Vzc190cnlfYWRkcihzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5LAorQEAgLTE1MSw3ICsxNTEsNyBAQCBzdGF0aWMgaXNjX3Jlc3VsdF90IHJlcGx5X3Byb2Nlc3NfaWFfcGQoCisgc3RhdGljIHN0cnVjdCBncm91cCAqZmluZF9ncm91cF9ieV9wcmVmaXgoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSk7Cisgc3RhdGljIGlzY19yZXN1bHRfdCByZXBseV9wcm9jZXNzX3ByZWZpeChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5LAorIAkJCQkJIHN0cnVjdCBvcHRpb25fY2FjaGUgKnByZWYpOworLXN0YXRpYyBpc2NfYm9vbGVhbl90IHByZWZpeF9pc19vd25lZChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5LAorK3N0YXRpYyBib29sIHByZWZpeF9pc19vd25lZChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5LAorIAkJCQkgICAgIHN0cnVjdCBpYWRkcmNpZHJuZXQgKnByZWYpOworIHN0YXRpYyBpc2NfcmVzdWx0X3QgZmluZF9jbGllbnRfcHJlZml4KHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHkpOworIHN0YXRpYyBpc2NfcmVzdWx0X3QgcmVwbHlfcHJvY2Vzc190cnlfcHJlZml4KHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksCitAQCAtMTc0LDcgKzE3NCw3IEBAIHN0YXRpYyB2b2lkIHVuaWNhc3RfcmVqZWN0KHN0cnVjdCBkYXRhX3MKKyAJCSAgY29uc3Qgc3RydWN0IGRhdGFfc3RyaW5nICpjbGllbnRfaWQsCisgCQkgIGNvbnN0IHN0cnVjdCBkYXRhX3N0cmluZyAqc2VydmVyX2lkKTsKKyAKKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdCBpc191bmljYXN0X29wdGlvbl9kZWZpbmVkKHN0cnVjdCBwYWNrZXQgKnBhY2tldCk7Cisrc3RhdGljIGJvb2wgaXNfdW5pY2FzdF9vcHRpb25fZGVmaW5lZChzdHJ1Y3QgcGFja2V0ICpwYWNrZXQpOworIHN0YXRpYyBpc2NfcmVzdWx0X3Qgc2hhcmVkX25ldHdvcmtfZnJvbV9yZXF1ZXN0ZWRfYWRkciAoc3RydWN0IHNoYXJlZF9uZXR3b3JrCisgCQkJCQkJCSoqc2hhcmVkLAorIAkJCQkJCQlzdHJ1Y3QgcGFja2V0KiBwYWNrZXQpOworQEAgLTM2Myw3ICszNjMsNyBAQCBzdGF0aWMgc3RydWN0IGRhdGFfc3RyaW5nIHNlcnZlcl9kdWlkOworIC8qCisgICogQ2hlY2sgaWYgdGhlIHNlcnZlcl9kdWlkIGhhcyBiZWVuIHNldC4KKyAgKi8KKy1pc2NfYm9vbGVhbl90CisrYm9vbAorIHNlcnZlcl9kdWlkX2lzc2V0KHZvaWQpIHsKKyAJcmV0dXJuIChzZXJ2ZXJfZHVpZC5kYXRhICE9IE5VTEwpOworIH0KK0BAIC05OTIsNyArOTkyLDcgQEAgdm9pZCBjaGVja19wb29sNl90aHJlc2hvbGQoc3RydWN0IHJlcGx5XworIAkJCSAgIHN0cnVjdCBpYXN1Ym9wdCAqbGVhc2UpCisgeworIAlzdHJ1Y3QgaXB2Nl9wb25kICpwb25kOworLQlpc2NfdWludDY0X3QgdXNlZCwgY291bnQsIGhpZ2hfdGhyZXNob2xkOworKwl1aW50NjRfdCB1c2VkLCBjb3VudCwgaGlnaF90aHJlc2hvbGQ7CisgCWludCBwb29saGlnaCA9IDAsIHBvb2xsb3cgPSAwOworIAljaGFyICpzaGFyZWRfbmFtZSA9ICJubyBuYW1lIjsKKyAJY2hhciB0bXBfYWRkcltJTkVUNl9BRERSU1RSTEVOXTsKK0BAIC0xMzEwLDkgKzEzMTAsOSBAQCBwaWNrX3Y2X2FkZHJlc3Moc3RydWN0IHJlcGx5X3N0YXRlICpyZXBsCisgCXVuc2lnbmVkIGludCBhdHRlbXB0czsKKyAJY2hhciB0bXBfYnVmW0lORVQ2X0FERFJTVFJMRU5dOworIAlzdHJ1Y3QgaWFzdWJvcHQgKiphZGRyID0gJnJlcGx5LT5sZWFzZTsKKy0gICAgICAgIGlzY191aW50NjRfdCB0b3RhbCA9IDA7CistICAgICAgICBpc2NfdWludDY0X3QgYWN0aXZlID0gMDsKKy0gICAgICAgIGlzY191aW50NjRfdCBhYmFuZG9uZWQgPSAwOworKyAgICAgICAgdWludDY0X3QgdG90YWwgPSAwOworKyAgICAgICAgdWludDY0X3QgYWN0aXZlID0gMDsKKysgICAgICAgIHVpbnQ2NF90IGFiYW5kb25lZCA9IDA7CisgCWludCBqdW1ib19yYW5nZSA9IDA7CisgCWNoYXIgKnNoYXJlZF9uYW1lID0gKHJlcGx5LT5zaGFyZWQtPm5hbWUgPworIAkJCSAgICAgcmVwbHktPnNoYXJlZC0+bmFtZSA6ICIobm8gbmFtZSkiKTsKK0BAIC0xODI1LDcgKzE4MjUsNyBAQCBsZWFzZV90b19jbGllbnQoc3RydWN0IGRhdGFfc3RyaW5nICpyZXBsCisgCisgCQkvKiBTdGFydCBjb3VudGluZyByZXNvdXJjZXMgKGFkZHJlc3Nlcykgb2ZmZXJlZC4gKi8KKyAJCXJlcGx5LmNsaWVudF9yZXNvdXJjZXMgPSAwOworLQkJcmVwbHkucmVzb3VyY2VzX2luY2x1ZGVkID0gSVNDX0ZBTFNFOworKwkJcmVwbHkucmVzb3VyY2VzX2luY2x1ZGVkID0gZmFsc2U7CisgCisgCQlzdGF0dXMgPSByZXBseV9wcm9jZXNzX2lhX25hKCZyZXBseSwgb2MpOworIAorQEAgLTE4NDMsNyArMTg0Myw3IEBAIGxlYXNlX3RvX2NsaWVudChzdHJ1Y3QgZGF0YV9zdHJpbmcgKnJlcGwKKyAKKyAJCS8qIFN0YXJ0IGNvdW50aW5nIHJlc291cmNlcyAoYWRkcmVzc2VzKSBvZmZlcmVkLiAqLworIAkJcmVwbHkuY2xpZW50X3Jlc291cmNlcyA9IDA7CistCQlyZXBseS5yZXNvdXJjZXNfaW5jbHVkZWQgPSBJU0NfRkFMU0U7CisrCQlyZXBseS5yZXNvdXJjZXNfaW5jbHVkZWQgPSBmYWxzZTsKKyAKKyAJCXN0YXR1cyA9IHJlcGx5X3Byb2Nlc3NfaWFfdGEoJnJlcGx5LCBvYyk7CisgCitAQCAtMTg2NCw3ICsxODY0LDcgQEAgbGVhc2VfdG9fY2xpZW50KHN0cnVjdCBkYXRhX3N0cmluZyAqcmVwbAorIAorIAkJLyogU3RhcnQgY291bnRpbmcgcmVzb3VyY2VzIChwcmVmaXhlcykgb2ZmZXJlZC4gKi8KKyAJCXJlcGx5LmNsaWVudF9yZXNvdXJjZXMgPSAwOworLQkJcmVwbHkucmVzb3VyY2VzX2luY2x1ZGVkID0gSVNDX0ZBTFNFOworKwkJcmVwbHkucmVzb3VyY2VzX2luY2x1ZGVkID0gZmFsc2U7CisgCisgCQlzdGF0dXMgPSByZXBseV9wcm9jZXNzX2lhX3BkKCZyZXBseSwgb2MpOworIAorQEAgLTIwNzcsOSArMjA3Nyw5IEBAIHJlcGx5X3Byb2Nlc3NfaWFfbmEoc3RydWN0IHJlcGx5X3N0YXRlICoKKyAJCQkJCXRtcF9hZGRyLCBNREwpID09IDApCisgCQkJbG9nX2ZhdGFsKCJJbXBvc3NpYmxlIGNvbmRpdGlvbiBhdCAlczolZC4iLCBNREwpOworIAorLQkJcmVwbHktPnN0YXRpY19sZWFzZSA9IElTQ19UUlVFOworKwkJcmVwbHktPnN0YXRpY19sZWFzZSA9IHRydWU7CisgCX0gZWxzZQorLQkJcmVwbHktPnN0YXRpY19sZWFzZSA9IElTQ19GQUxTRTsKKysJCXJlcGx5LT5zdGF0aWNfbGVhc2UgPSBmYWxzZTsKKyAKKyAJLyoKKyAJICogU2F2ZSB0aGUgY3Vyc29yIHBvc2l0aW9uIGF0IHRoZSBzdGFydCBvZiB0aGUgSUEsIHNvIHdlIGNhbgorQEAgLTI3NzgsNyArMjc3OCw3IEBAIHJlcGx5X3Byb2Nlc3NfYWRkcihzdHJ1Y3QgcmVwbHlfc3RhdGUgKnIKKyAgKiAoZmF1bHQgb3V0IGFsbCBlbHNlKS4gIE90aGVyd2lzZSBpdCdzIGEgZHluYW1pYyBhZGRyZXNzLCBzbyBsb29rdXAKKyAgKiB0aGF0IGFkZHJlc3MgYW5kIG1ha2Ugc3VyZSBpdCBiZWxvbmdzIHRvIHRoaXMgRFVJRDpJQUlEIHBhaXIuCisgICovCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIGFkZHJlc3NfaXNfb3duZWQoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSwgc3RydWN0IGlhZGRyICphZGRyKSB7CisgCWludCBpOworIAlzdHJ1Y3QgaXB2Nl9wb25kICpwb25kOworQEAgLTI3OTEsMTMgKzI3OTEsMTMgQEAgYWRkcmVzc19pc19vd25lZChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcAorIAkJCWxvZ19mYXRhbCgiSW1wb3NzaWJsZSBjb25kaXRpb24gYXQgJXM6JWQuIiwgTURMKTsKKyAKKyAJCWlmIChtZW1jbXAoYWRkci0+aWFidWYsIHJlcGx5LT5maXhlZC5kYXRhLCAxNikgPT0gMCkKKy0JCQlyZXR1cm4gKElTQ19UUlVFKTsKKysJCQlyZXR1cm4gKHRydWUpOworIAorLQkJcmV0dXJuIChJU0NfRkFMU0UpOworKwkJcmV0dXJuIChmYWxzZSk7CisgCX0KKyAKKyAJaWYgKChyZXBseS0+b2xkX2lhID09IE5VTEwpIHx8IChyZXBseS0+b2xkX2lhLT5udW1faWFzdWJvcHQgPT0gMCkpCistCQlyZXR1cm4gKElTQ19GQUxTRSk7CisrCQlyZXR1cm4gKGZhbHNlKTsKKyAKKyAJZm9yIChpID0gMCA7IGkgPCByZXBseS0+b2xkX2lhLT5udW1faWFzdWJvcHQgOyBpKyspIHsKKyAJCXN0cnVjdCBpYXN1Ym9wdCAqdG1wOworQEAgLTI4MDUsOCArMjgwNSw4IEBAIGFkZHJlc3NfaXNfb3duZWQoc3RydWN0IHJlcGx5X3N0YXRlICpyZXAKKyAJCXRtcCA9IHJlcGx5LT5vbGRfaWEtPmlhc3Vib3B0W2ldOworIAorIAkJaWYgKG1lbWNtcChhZGRyLT5pYWJ1ZiwgJnRtcC0+YWRkciwgMTYpID09IDApIHsKKy0JCQlpZiAobGVhc2U2X3VzYWJsZSh0bXApID09IElTQ19GQUxTRSkgeworLQkJCQlyZXR1cm4gKElTQ19GQUxTRSk7CisrCQkJaWYgKGxlYXNlNl91c2FibGUodG1wKSA9PSBmYWxzZSkgeworKwkJCQlyZXR1cm4gKGZhbHNlKTsKKyAJCQl9CisgCisgCQkJcG9uZCA9IHRtcC0+aXB2Nl9wb29sLT5pcHY2X3BvbmQ7CitAQCAtMjgxNCwxNSArMjgxNCwxNSBAQCBhZGRyZXNzX2lzX293bmVkKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwCisgCQkJICAgICAocGVybWl0dGVkKHJlcGx5LT5wYWNrZXQsIHBvbmQtPnByb2hpYml0X2xpc3QpKSkgfHwKKyAJCQkgICAgKChwb25kLT5wZXJtaXRfbGlzdCAhPSBOVUxMKSAmJgorIAkJCSAgICAgKCFwZXJtaXR0ZWQocmVwbHktPnBhY2tldCwgcG9uZC0+cGVybWl0X2xpc3QpKSkpCistCQkJCXJldHVybiAoSVNDX0ZBTFNFKTsKKysJCQkJcmV0dXJuIChmYWxzZSk7CisgCisgCQkJaWFzdWJvcHRfcmVmZXJlbmNlKCZyZXBseS0+bGVhc2UsIHRtcCwgTURMKTsKKyAKKy0JCQlyZXR1cm4gKElTQ19UUlVFKTsKKysJCQlyZXR1cm4gKHRydWUpOworIAkJfQorIAl9CisgCistCXJldHVybiAoSVNDX0ZBTFNFKTsKKysJcmV0dXJuIChmYWxzZSk7CisgfQorIAorIC8qIFByb2Nlc3MgYSBjbGllbnQtc3VwcGxpZWQgSUFfVEEuICBUaGlzIG1heSBhcHBlbmQgb3B0aW9ucyB0byB0aGUgdGFpbCBvZgorQEAgLTI4OTAsNyArMjg5MCw3IEBAIHJlcGx5X3Byb2Nlc3NfaWFfdGEoc3RydWN0IHJlcGx5X3N0YXRlICoKKyAJLyoKKyAJICogVGVtcG9yYXJ5IGxlYXNlcyBhcmUgZHluYW1pYyBieSBkZWZpbml0aW9uLgorIAkgKi8KKy0JcmVwbHktPnN0YXRpY19sZWFzZSA9IElTQ19GQUxTRTsKKysJcmVwbHktPnN0YXRpY19sZWFzZSA9IGZhbHNlOworIAorIAkvKgorIAkgKiBTYXZlIHRoZSBjdXJzb3IgcG9zaXRpb24gYXQgdGhlIHN0YXJ0IG9mIHRoZSBJQSwgc28gd2UgY2FuCitAQCAtMjk3Miw3ICsyOTcyLDcgQEAgcmVwbHlfcHJvY2Vzc19pYV90YShzdHJ1Y3QgcmVwbHlfc3RhdGUgKgorIAkJfQorIAkJc3RhdHVzID0gSVNDX1JfQ0FOQ0VMRUQ7CisgCQlyZXBseS0+Y2xpZW50X3Jlc291cmNlcyA9IDA7CistCQlyZXBseS0+cmVzb3VyY2VzX2luY2x1ZGVkID0gSVNDX0ZBTFNFOworKwkJcmVwbHktPnJlc291cmNlc19pbmNsdWRlZCA9IGZhbHNlOworIAkJaWYgKHJlcGx5LT5sZWFzZSAhPSBOVUxMKQorIAkJCWlhc3Vib3B0X2RlcmVmZXJlbmNlKCZyZXBseS0+bGVhc2UsIE1ETCk7CisgCX0KK0BAIC0zMzY0LDcgKzMzNjQsNyBAQCB2b2lkIHNob3J0ZW5fbGlmZXRpbWVzKHN0cnVjdCByZXBseV9zdGF0CisgLyoKKyAgKiBWZXJpZnkgdGhlIHRlbXBvcmFyeSBhZGRyZXNzIGlzIGF2YWlsYWJsZS4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgdGVtcG9yYXJ5X2lzX2F2YWlsYWJsZShzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5LCBzdHJ1Y3QgaWFkZHIgKmFkZHIpIHsKKyAJc3RydWN0IGluNl9hZGRyIHRtcF9hZGRyOworIAlzdHJ1Y3Qgc3VibmV0ICpzdWJuZXQ7CitAQCAtMzM3OSw3ICszMzc5LDcgQEAgdGVtcG9yYXJ5X2lzX2F2YWlsYWJsZShzdHJ1Y3QgcmVwbHlfc3RhdAorIAkgKiBTbyB0aGlzIGlzIG5vdCBhIHJlcXVlc3QgZm9yIHRoaXMgYWRkcmVzcy4KKyAJICovCisgCWlmIChJTjZfSVNfQUREUl9VTlNQRUNJRklFRCgmdG1wX2FkZHIpKQorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJLyoKKyAJICogVmVyaWZ5IHRoYXQgdGhpcyBhZGRyZXNzIGlzIG9uIHRoZSBjbGllbnQncyBuZXR3b3JrLgorQEAgLTMzOTMsMTMgKzMzOTMsMTMgQEAgdGVtcG9yYXJ5X2lzX2F2YWlsYWJsZShzdHJ1Y3QgcmVwbHlfc3RhdAorIAorIAkvKiBBZGRyZXNzIG5vdCBmb3VuZCBvbiBzaGFyZWQgbmV0d29yay4gKi8KKyAJaWYgKHN1Ym5ldCA9PSBOVUxMKQorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJLyoKKyAJICogQ2hlY2sgaWYgdGhpcyBhZGRyZXNzIGlzIG93bmVkIChtdXN0IGJlIGJlZm9yZSBuZXh0IHN0ZXApLgorIAkgKi8KKyAJaWYgKGFkZHJlc3NfaXNfb3duZWQocmVwbHksIGFkZHIpKQorLQkJcmV0dXJuIElTQ19UUlVFOworKwkJcmV0dXJuIHRydWU7CisgCisgCS8qCisgCSAqIFZlcmlmeSB0aGF0IHRoaXMgYWRkcmVzcyBpcyBpbiBhIHRlbXBvcmFyeSBwb29sIGFuZCB0cnkgdG8gZ2V0IGl0LgorQEAgLTM0MjQsMTggKzM0MjQsMTggQEAgdGVtcG9yYXJ5X2lzX2F2YWlsYWJsZShzdHJ1Y3QgcmVwbHlfc3RhdAorIAl9CisgCisgCWlmIChwb29sID09IE5VTEwpCistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAlpZiAobGVhc2U2X2V4aXN0cyhwb29sLCAmdG1wX2FkZHIpKQorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJaWYgKGlhc3Vib3B0X2FsbG9jYXRlKCZyZXBseS0+bGVhc2UsIE1ETCkgIT0gSVNDX1JfU1VDQ0VTUykKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCXJlcGx5LT5sZWFzZS0+YWRkciA9IHRtcF9hZGRyOworIAlyZXBseS0+bGVhc2UtPnBsZW4gPSAwOworIAkvKiBEZWZhdWx0IGlzIHNvZnQgYmluZGluZyBmb3IgMiBtaW51dGVzLiAqLworIAlpZiAoYWRkX2xlYXNlNihwb29sLCByZXBseS0+bGVhc2UsIGN1cl90aW1lICsgMTIwKSAhPSBJU0NfUl9TVUNDRVNTKQorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKy0JcmV0dXJuIElTQ19UUlVFOworKwlyZXR1cm4gdHJ1ZTsKKyB9CisgCisgLyoKK0BAIC0zNjUyLDcgKzM2NTIsNyBAQCBmaW5kX2NsaWVudF9hZGRyZXNzKHN0cnVjdCByZXBseV9zdGF0ZSAqCisgCQkJICovCisgCisgCQkJaWYgKChjYW5kaWRhdGVfc2hhcmVkICE9IHJlcGx5LT5zaGFyZWQpIHx8CistCQkJICAgIChsZWFzZTZfdXNhYmxlKGxlYXNlKSAhPSBJU0NfVFJVRSkpCisrCQkJICAgIChsZWFzZTZfdXNhYmxlKGxlYXNlKSAhPSB0cnVlKSkKKyAJCQkJY29udGludWU7CisgCisgCQkJaWYgKCgocG9uZC0+cHJvaGliaXRfbGlzdCAhPSBOVUxMKSAmJgorQEAgLTM5NzEsNyArMzk3MSw3IEBAIHJlcGx5X3Byb2Nlc3Nfc2VuZF9hZGRyKHN0cnVjdCByZXBseV9zdGEKKyAJCWdvdG8gY2xlYW51cDsKKyAJfQorIAorLQlyZXBseS0+cmVzb3VyY2VzX2luY2x1ZGVkID0gSVNDX1RSVUU7CisrCXJlcGx5LT5yZXNvdXJjZXNfaW5jbHVkZWQgPSB0cnVlOworIAorICAgICAgIGNsZWFudXA6CisgCWlmIChkYXRhLmRhdGEgIT0gTlVMTCkKK0BAIC00NzIyLDcgKzQ3MjIsNyBAQCByZXBseV9wcm9jZXNzX3ByZWZpeChzdHJ1Y3QgcmVwbHlfc3RhdGUKKyAgKiAoZmF1bHQgb3V0IGFsbCBlbHNlKS4gIE90aGVyd2lzZSBpdCdzIGEgZHluYW1pYyBwcmVmaXgsIHNvIGxvb2t1cAorICAqIHRoYXQgcHJlZml4IGFuZCBtYWtlIHN1cmUgaXQgYmVsb25ncyB0byB0aGlzIERVSUQ6SUFJRCBwYWlyLgorICAqLworLXN0YXRpYyBpc2NfYm9vbGVhbl90Cisrc3RhdGljIGJvb2wKKyBwcmVmaXhfaXNfb3duZWQoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSwgc3RydWN0IGlhZGRyY2lkcm5ldCAqcHJlZikgeworIAlzdHJ1Y3QgaWFkZHJjaWRybmV0bGlzdCAqbDsKKyAJaW50IGk7CitAQCAtNDczNiwxNCArNDczNiwxNCBAQCBwcmVmaXhfaXNfb3duZWQoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBsCisgCQkJaWYgKChwcmVmLT5iaXRzID09IGwtPmNpZHJuZXQuYml0cykgJiYKKyAJCQkgICAgKG1lbWNtcChwcmVmLT5sb19hZGRyLmlhYnVmLAorIAkJCQkgICAgbC0+Y2lkcm5ldC5sb19hZGRyLmlhYnVmLCAxNikgPT0gMCkpCistCQkJCXJldHVybiAoSVNDX1RSVUUpOworKwkJCQlyZXR1cm4gKHRydWUpOworIAkJfQorLQkJcmV0dXJuIChJU0NfRkFMU0UpOworKwkJcmV0dXJuIChmYWxzZSk7CisgCX0KKyAKKyAJaWYgKChyZXBseS0+b2xkX2lhID09IE5VTEwpIHx8CisgCSAgICAocmVwbHktPm9sZF9pYS0+bnVtX2lhc3Vib3B0ID09IDApKQorLQkJcmV0dXJuIChJU0NfRkFMU0UpOworKwkJcmV0dXJuIChmYWxzZSk7CisgCisgCWZvciAoaSA9IDAgOyBpIDwgcmVwbHktPm9sZF9pYS0+bnVtX2lhc3Vib3B0IDsgaSsrKSB7CisgCQlzdHJ1Y3QgaWFzdWJvcHQgKnRtcDsKK0BAIC00NzUyLDggKzQ3NTIsOCBAQCBwcmVmaXhfaXNfb3duZWQoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBsCisgCisgCQlpZiAoKHByZWYtPmJpdHMgPT0gKGludCkgdG1wLT5wbGVuKSAmJgorIAkJICAgIChtZW1jbXAocHJlZi0+bG9fYWRkci5pYWJ1ZiwgJnRtcC0+YWRkciwgMTYpID09IDApKSB7CistCQkJaWYgKGxlYXNlNl91c2FibGUodG1wKSA9PSBJU0NfRkFMU0UpIHsKKy0JCQkJcmV0dXJuIChJU0NfRkFMU0UpOworKwkJCWlmIChsZWFzZTZfdXNhYmxlKHRtcCkgPT0gZmFsc2UpIHsKKysJCQkJcmV0dXJuIChmYWxzZSk7CisgCQkJfQorIAorIAkJCXBvbmQgPSB0bXAtPmlwdjZfcG9vbC0+aXB2Nl9wb25kOworQEAgLTQ3NjEsMTQgKzQ3NjEsMTQgQEAgcHJlZml4X2lzX293bmVkKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbAorIAkJCSAgICAgKHBlcm1pdHRlZChyZXBseS0+cGFja2V0LCBwb25kLT5wcm9oaWJpdF9saXN0KSkpIHx8CisgCQkJICAgICgocG9uZC0+cGVybWl0X2xpc3QgIT0gTlVMTCkgJiYKKyAJCQkgICAgICghcGVybWl0dGVkKHJlcGx5LT5wYWNrZXQsIHBvbmQtPnBlcm1pdF9saXN0KSkpKQorLQkJCQlyZXR1cm4gKElTQ19GQUxTRSk7CisrCQkJCXJldHVybiAoZmFsc2UpOworIAorIAkJCWlhc3Vib3B0X3JlZmVyZW5jZSgmcmVwbHktPmxlYXNlLCB0bXAsIE1ETCk7CistCQkJcmV0dXJuIChJU0NfVFJVRSk7CisrCQkJcmV0dXJuICh0cnVlKTsKKyAJCX0KKyAJfQorIAorLQlyZXR1cm4gKElTQ19GQUxTRSk7CisrCXJldHVybiAoZmFsc2UpOworIH0KKyAKKyAvKgorQEAgLTQ5MTQsNyArNDkxNCw3IEBAIGZpbmRfY2xpZW50X3ByZWZpeChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnIKKyAJCQkgKi8KKyAJCQlpZiAoKChjYW5kaWRhdGVfc2hhcmVkICE9IE5VTEwpICYmCisgCQkJICAgICAoY2FuZGlkYXRlX3NoYXJlZCAhPSByZXBseS0+c2hhcmVkKSkgfHwKKy0JCQkgICAgKGxlYXNlNl91c2FibGUocHJlZml4KSAhPSBJU0NfVFJVRSkpCisrCQkJICAgIChsZWFzZTZfdXNhYmxlKHByZWZpeCkgIT0gdHJ1ZSkpCisgCQkJCWNvbnRpbnVlOworIAorIAkJCS8qCitAQCAtNTIzMyw3ICs1MjMzLDcgQEAgcmVwbHlfcHJvY2Vzc19zZW5kX3ByZWZpeChzdHJ1Y3QgcmVwbHlfcworIAkJZ290byBjbGVhbnVwOworIAl9CisgCistCXJlcGx5LT5yZXNvdXJjZXNfaW5jbHVkZWQgPSBJU0NfVFJVRTsKKysJcmVwbHktPnJlc291cmNlc19pbmNsdWRlZCA9IHRydWU7CisgCisgICAgICAgY2xlYW51cDoKKyAJaWYgKGRhdGEuZGF0YSAhPSBOVUxMKQorQEAgLTUzODMsOCArNTM4Myw4IEBAIGRoY3B2Nl9yZXF1ZXN0KHN0cnVjdCBkYXRhX3N0cmluZyAqcmVwbHkKKyAKKyAJLyogSWYgdGhlIFJFUVVFU1QgYXJyaXZlZCB2aWEgdW5pY2FzdCBhbmQgdW5pY2FzdCBvcHRpb24gaXNuJ3Qgc2V0LAorICAJICogcmVqZWN0IGl0IHBlciBSRkMgMzMxNSwgU2VjIDE4LjIuMSAqLworLQlpZiAocGFja2V0LT51bmljYXN0ID09IElTQ19UUlVFICYmCistCSAgICBpc191bmljYXN0X29wdGlvbl9kZWZpbmVkKHBhY2tldCkgPT0gSVNDX0ZBTFNFKSB7CisrCWlmIChwYWNrZXQtPnVuaWNhc3QgPT0gdHJ1ZSAmJgorKwkgICAgaXNfdW5pY2FzdF9vcHRpb25fZGVmaW5lZChwYWNrZXQpID09IGZhbHNlKSB7CisgCQl1bmljYXN0X3JlamVjdChyZXBseV9yZXQsIHBhY2tldCwgJmNsaWVudF9pZCwgJnNlcnZlcl9pZCk7CisgCX0gZWxzZSB7CisgCQkvKgorQEAgLTU1MDUsNyArNTUwNSw3IEBAIGRoY3B2Nl9jb25maXJtKHN0cnVjdCBkYXRhX3N0cmluZyAqcmVwbHkKKyAJc3RydWN0IG9wdGlvbl9zdGF0ZSAqY2xpX2VuY19vcHRfc3RhdGUsICpvcHRfc3RhdGU7CisgCXN0cnVjdCBpYWRkciBjbGlfYWRkcjsKKyAJaW50IHBhc3M7CistCWlzY19ib29sZWFuX3QgaW5hcHByb3ByaWF0ZSwgaGFzX2FkZHJzOworKwlib29sIGluYXBwcm9wcmlhdGUsIGhhc19hZGRyczsKKyAJY2hhciByZXBseV9kYXRhWzY1NTM2XTsKKyAJc3RydWN0IGRoY3B2Nl9wYWNrZXQgKnJlcGx5ID0gKHN0cnVjdCBkaGNwdjZfcGFja2V0ICopcmVwbHlfZGF0YTsKKyAJaW50IHJlcGx5X29mcyA9IChpbnQpKG9mZnNldG9mKHN0cnVjdCBkaGNwdjZfcGFja2V0LCBvcHRpb25zKSk7CitAQCAtNTU1Niw3ICs1NTU2LDcgQEAgZGhjcHY2X2NvbmZpcm0oc3RydWN0IGRhdGFfc3RyaW5nICpyZXBseQorIAkJZ290byBleGl0OworIAorIAkvKiBBcmUgdGhlIGFkZHJlc3NlcyBpbiBhbGwgdGhlIElBJ3MgYXBwcm9wcmlhdGUgZm9yIHRoYXQgbGluaz8gKi8KKy0JaGFzX2FkZHJzID0gaW5hcHByb3ByaWF0ZSA9IElTQ19GQUxTRTsKKysJaGFzX2FkZHJzID0gaW5hcHByb3ByaWF0ZSA9IGZhbHNlOworIAlwYXNzID0gRDZPX0lBX05BOworIAl3aGlsZSghaW5hcHByb3ByaWF0ZSkgeworIAkJLyogSWYgd2UndmUgcmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBJQV9OQSBwYXNzLCBtb3ZlIHRvIHRoZQorQEAgLTU2MDIsNyArNTYwMiw3IEBAIGRoY3B2Nl9jb25maXJtKHN0cnVjdCBkYXRhX3N0cmluZyAqcmVwbHkKKyAJCQlkYXRhX3N0cmluZ19mb3JnZXQoJmlhYWRkciwgTURMKTsKKyAKKyAJCQkvKiBSZWNvcmQgdGhhdCB3ZSd2ZSBwcm9jZXNzZWQgYXQgbGVhc3Qgb25lIGFkZHJlc3MuICovCistCQkJaGFzX2FkZHJzID0gSVNDX1RSVUU7CisrCQkJaGFzX2FkZHJzID0gdHJ1ZTsKKyAKKyAJCQkvKiBGaW5kIG91dCBpZiBhbnkgc3VibmV0cyBjb3ZlciB0aGlzIGFkZHJlc3MuICovCisgCQkJZm9yIChzdWJuZXQgPSBzaGFyZWQtPnN1Ym5ldHMgOyBzdWJuZXQgIT0gTlVMTCA7CitAQCAtNTYyMSw3ICs1NjIxLDcgQEAgZGhjcHY2X2NvbmZpcm0oc3RydWN0IGRhdGFfc3RyaW5nICpyZXBseQorIAkJCSAqIGNvbnRpbnVlIHNlYXJjaGluZy4KKyAJCQkgKi8KKyAJCQlpZiAoc3VibmV0ID09IE5VTEwpIHsKKy0JCQkJaW5hcHByb3ByaWF0ZSA9IElTQ19UUlVFOworKwkJCQlpbmFwcHJvcHJpYXRlID0gdHJ1ZTsKKyAJCQkJYnJlYWs7CisgCQkJfQorIAkJfQorQEAgLTU3MTksOCArNTcxOSw4IEBAIGRoY3B2Nl9yZW5ldyhzdHJ1Y3QgZGF0YV9zdHJpbmcgKnJlcGx5LAorIAorIAkvKiBJZiB0aGUgUkVORVcgYXJyaXZlZCB2aWEgdW5pY2FzdCBhbmQgdW5pY2FzdCBvcHRpb24gaXNuJ3Qgc2V0LAorIAkgKiByZWplY3QgaXQgcGVyIFJGQyAzMzE1LCBTZWMgMTguMi4zICovCistCWlmIChwYWNrZXQtPnVuaWNhc3QgPT0gSVNDX1RSVUUgJiYKKy0JICAgIGlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQocGFja2V0KSA9PSBJU0NfRkFMU0UpIHsKKysJaWYgKHBhY2tldC0+dW5pY2FzdCA9PSB0cnVlICYmCisrCSAgICBpc191bmljYXN0X29wdGlvbl9kZWZpbmVkKHBhY2tldCkgPT0gZmFsc2UpIHsKKyAJCXVuaWNhc3RfcmVqZWN0KHJlcGx5LCBwYWNrZXQsICZjbGllbnRfaWQsICZzZXJ2ZXJfaWQpOworIAl9IGVsc2UgeworIAkJLyoKK0BAIC02MTQyLDggKzYxNDIsOCBAQCBkaGNwdjZfZGVjbGluZShzdHJ1Y3QgZGF0YV9zdHJpbmcgKnJlcGx5CisgCisgCS8qIElmIHRoZSBERUNMSU5FIGFycml2ZWQgdmlhIHVuaWNhc3QgYW5kIHVuaWNhc3Qgb3B0aW9uIGlzbid0IHNldCwKKyAJICogcmVqZWN0IGl0IHBlciBSRkMgMzMxNSwgU2VjIDE4LjIuNyAqLworLQlpZiAocGFja2V0LT51bmljYXN0ID09IElTQ19UUlVFICYmCistCSAgICBpc191bmljYXN0X29wdGlvbl9kZWZpbmVkKHBhY2tldCkgPT0gSVNDX0ZBTFNFKSB7CisrCWlmIChwYWNrZXQtPnVuaWNhc3QgPT0gdHJ1ZSAmJgorKwkgICAgaXNfdW5pY2FzdF9vcHRpb25fZGVmaW5lZChwYWNrZXQpID09IGZhbHNlKSB7CisgCQl1bmljYXN0X3JlamVjdChyZXBseSwgcGFja2V0LCAmY2xpZW50X2lkLCAmc2VydmVyX2lkKTsKKyAJfSBlbHNlIHsKKyAJCS8qCitAQCAtNjU5Nyw4ICs2NTk3LDggQEAgZGhjcHY2X3JlbGVhc2Uoc3RydWN0IGRhdGFfc3RyaW5nICpyZXBseQorIAorIAkvKiBJZiB0aGUgUkVMRUFTRSBhcnJpdmVkIHZpYSB1bmljYXN0IGFuZCB1bmljYXN0IG9wdGlvbiBpc24ndCBzZXQsCisgIAkgKiByZWplY3QgaXQgcGVyIFJGQyAzMzE1LCBTZWMgMTguMi42ICovCistCWlmIChwYWNrZXQtPnVuaWNhc3QgPT0gSVNDX1RSVUUgJiYKKy0JICAgIGlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQocGFja2V0KSA9PSBJU0NfRkFMU0UpIHsKKysJaWYgKHBhY2tldC0+dW5pY2FzdCA9PSB0cnVlICYmCisrCSAgICBpc191bmljYXN0X29wdGlvbl9kZWZpbmVkKHBhY2tldCkgPT0gZmFsc2UpIHsKKyAJCXVuaWNhc3RfcmVqZWN0KHJlcGx5LCBwYWNrZXQsICZjbGllbnRfaWQsICZzZXJ2ZXJfaWQpOworIAl9IGVsc2UgeworIAkJLyoKK0BAIC02ODk3LDcgKzY4OTcsNyBAQCBkaGNwdjZfcmVsYXlfZm9ydyhzdHJ1Y3QgZGF0YV9zdHJpbmcgKnJlCisgCQl9CisgCQlkYXRhX3N0cmluZ19mb3JnZXQoJmFfb3B0LCBNREwpOworIAorLQkJcGFja2V0LT5yZWxheV9zb3VyY2VfcG9ydCA9IElTQ19UUlVFOworKwkJcGFja2V0LT5yZWxheV9zb3VyY2VfcG9ydCA9IHRydWU7CisgCX0KKyAjZW5kaWYKKyAKK0BAIC03MjE5LDcgKzcyMTksNyBAQCBkaGNwNG82X3JlbGF5X2Zvcncoc3RydWN0IGRhdGFfc3RyaW5nICpyCisgCQl9CisgCQlkYXRhX3N0cmluZ19mb3JnZXQoJmFfb3B0LCBNREwpOworIAorLQkJcGFja2V0LT5yZWxheV9zb3VyY2VfcG9ydCA9IElTQ19UUlVFOworKwkJcGFja2V0LT5yZWxheV9zb3VyY2VfcG9ydCA9IHRydWU7CisgCX0KKyAjZW5kaWYKKyAKK0BAIC04MDM2LDM1ICs4MDM2LDM1IEBAIHNlZWtfc2hhcmVkX2hvc3Qoc3RydWN0IGhvc3RfZGVjbCAqKmhwLAorIAkJaG9zdF9yZWZlcmVuY2UoaHAsIHNlZWssIE1ETCk7CisgfQorIAorLXN0YXRpYyBpc2NfYm9vbGVhbl90Cisrc3RhdGljIGJvb2wKKyBmaXhlZF9tYXRjaGVzX3NoYXJlZChzdHJ1Y3QgaG9zdF9kZWNsICpob3N0LCBzdHJ1Y3Qgc2hhcmVkX25ldHdvcmsgKnNoYXJlZCkgeworIAlzdHJ1Y3Qgc3VibmV0ICpzdWJuZXQ7CisgCXN0cnVjdCBkYXRhX3N0cmluZyBhZGRyOworLQlpc2NfYm9vbGVhbl90IG1hdGNoZWQ7CisrCWJvb2wgbWF0Y2hlZDsKKyAJc3RydWN0IGlhZGRyIGZpeGVkOworIAorIAlpZiAoaG9zdC0+Zml4ZWRfYWRkciA9PSBOVUxMKQorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJbWVtc2V0KCZhZGRyLCAwLCBzaXplb2YoYWRkcikpOworIAlpZiAoIWV2YWx1YXRlX29wdGlvbl9jYWNoZSgmYWRkciwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKKyAJCQkJICAgJmdsb2JhbF9zY29wZSwgaG9zdC0+Zml4ZWRfYWRkciwgTURMKSkKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCisgCWlmIChhZGRyLmxlbiA8IDE2KSB7CisgCQlkYXRhX3N0cmluZ19mb3JnZXQoJmFkZHIsIE1ETCk7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgCisgCWZpeGVkLmxlbiA9IDE2OworIAltZW1jcHkoZml4ZWQuaWFidWYsIGFkZHIuZGF0YSwgMTYpOworIAorLQltYXRjaGVkID0gSVNDX0ZBTFNFOworKwltYXRjaGVkID0gZmFsc2U7CisgCWZvciAoc3VibmV0ID0gc2hhcmVkLT5zdWJuZXRzIDsgc3VibmV0ICE9IE5VTEwgOworIAkgICAgIHN1Ym5ldCA9IHN1Ym5ldC0+bmV4dF9zaWJsaW5nKSB7CisgCQlpZiAoYWRkcl9lcShzdWJuZXRfbnVtYmVyKGZpeGVkLCBzdWJuZXQtPm5ldG1hc2spLAorIAkJCSAgICBzdWJuZXQtPm5ldCkpIHsKKy0JCQltYXRjaGVkID0gSVNDX1RSVUU7CisrCQkJbWF0Y2hlZCA9IHRydWU7CisgCQkJYnJlYWs7CisgCQl9CisgCX0KK0BAIC04MTY3LDE1ICs4MTY3LDE1IEBAIHVuaWNhc3RfcmVqZWN0KHN0cnVjdCBkYXRhX3N0cmluZyAqcmVwbHkKKyAgKiBzdGF0ZW1lbnRzIGZyb20gdGhlIG5ldHdvcmsncyBncm91cCBvdXR3YXJkIGludG8gYSBsb2NhbCBvcHRpb24gY2FjaGUuCisgICogVGhlIG9wdGlvbiBjYWNoZSBpcyB0aGVuIHNjYW5uZWQgZm9yIHRoZSBwcmVzZW5jZSBvZiB1bmljYXN0IG9wdGlvbi4gIElmCisgICogdGhlIHBhY2tldCBjYW5ub3QgYmUgbWFwcGVkIHRvIGEgc2hhcmVkIG5ldHdvcmssIHRoZSBmdW5jdGlvbiByZXR1cm5zCistICogSVNDX0ZBTFNFLgorKyAqIGZhbHNlLgorICAqIFxwYXJhbSBwYWNrZXQgaW5ib3VuZCBwYWNrZXQgZnJvbSB0aGUgY2xpZW50CisgICoKKy0gKiBccmV0dXJuIElTQ19UUlVFIGlmIHRoZSBkaGNwNi51bmljYXN0IG9wdGlvbiBpcyBkZWZpbmVkLCBmYWxzZSBvdGhlcndpc2UuCisrICogXHJldHVybiB0cnVlIGlmIHRoZSBkaGNwNi51bmljYXN0IG9wdGlvbiBpcyBkZWZpbmVkLCBmYWxzZSBvdGhlcndpc2UuCisgICoKKyAgKi8KKy1pc2NfYm9vbGVhbl90CisrYm9vbAorIGlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQoc3RydWN0IHBhY2tldCAqcGFja2V0KSB7CistICAgICAgICBpc2NfYm9vbGVhbl90IGlzX2RlZmluZWQgPSBJU0NfRkFMU0U7CisrICAgICAgICBib29sIGlzX2RlZmluZWQgPSBmYWxzZTsKKyAJc3RydWN0IG9wdGlvbl9zdGF0ZSAqb3B0X3N0YXRlID0gTlVMTDsKKyAJc3RydWN0IG9wdGlvbl9jYWNoZSAqb2MgPSBOVUxMOworIAlzdHJ1Y3Qgc2hhcmVkX25ldHdvcmsgKnNoYXJlZCA9IE5VTEw7CitAQCAtODE5NSw3ICs4MTk1LDcgQEAgaXNfdW5pY2FzdF9vcHRpb25fZGVmaW5lZChzdHJ1Y3QgcGFja2V0CisgCQkgKiBsb2dpYyB3aWxsIGNhdGNoIGl0ICovCisgCQlsb2dfZXJyb3IoImlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQ6IgorIAkJCSAgImNhbm5vdCBhdHRyaWJ1dGUgcGFja2V0IHRvIGEgbmV0d29yay4iKTsKKy0JCXJldHVybiAoSVNDX0ZBTFNFKTsKKysJCXJldHVybiAoZmFsc2UpOworIAl9CisgCisgCS8qIE5vdyB0aGF0IHdlJ3ZlIG1hcHBlZCBpdCB0byBhIG5ldHdvcmssIGV4ZWN1dGUgc3RhdG1lbnRzIHRvIHRoYXQKK0BAIC04MjA1LDcgKzgyMDUsNyBAQCBpc191bmljYXN0X29wdGlvbl9kZWZpbmVkKHN0cnVjdCBwYWNrZXQKKyAJCQkJICAgICZnbG9iYWxfc2NvcGUsIHNoYXJlZC0+Z3JvdXAsIE5VTEwsIE5VTEwpOworIAorIAlvYyA9IGxvb2t1cF9vcHRpb24oJmRoY3B2Nl91bml2ZXJzZSwgb3B0X3N0YXRlLCBENk9fVU5JQ0FTVCk7CistCWlzX2RlZmluZWQgPSAob2MgIT0gTlVMTCA/IElTQ19UUlVFIDogSVNDX0ZBTFNFKTsKKysJaXNfZGVmaW5lZCA9IChvYyAhPSBOVUxMID8gdHJ1ZSA6IGZhbHNlKTsKKyAJbG9nX2RlYnVnKCJpc191bmljYXN0X29wdGlvbl9kZWZpbmVkOiBvcHRpb24gZm91bmQgOiAlZCIsIGlzX2RlZmluZWQpOworIAorIAlpZiAoc2hhcmVkICE9IE5VTEwpIHsKK0luZGV4OiBkaGNwLTQuNC4xL2NsaWVudC9jbHBhcnNlLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvY2xpZW50L2NscGFyc2UuYworKysrIGRoY3AtNC40LjEvY2xpZW50L2NscGFyc2UuYworQEAgLTE1MjcsNyArMTUyNyw3IEBAIHBhcnNlX2NsaWVudDZfbGVhc2Vfc3RhdGVtZW50KHN0cnVjdCBwYXIKKyAKKyAJCSAgICAgIGNhc2UgVE9LRU5fUkVMRUFTRUQ6CisgCQkgICAgICBjYXNlIFRPS0VOX0FCQU5ET05FRDoKKy0JCQlsZWFzZS0+cmVsZWFzZWQgPSBJU0NfVFJVRTsKKysJCQlsZWFzZS0+cmVsZWFzZWQgPSB0cnVlOworIAkJCWJyZWFrOworIAorIAkJICAgICAgZGVmYXVsdDoKK0luZGV4OiBkaGNwLTQuNC4xL2NsaWVudC9kaGM2LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvY2xpZW50L2RoYzYuYworKysrIGRoY3AtNC40LjEvY2xpZW50L2RoYzYuYworQEAgLTEwOSw3ICsxMDksNyBAQCBzdGF0aWMgaXNjX3Jlc3VsdF90IGRoYzZfYWRkX2lhX3BkKHN0cnVjCisgCQkJCSAgIHVfaW50OF90IG1lc3NhZ2UsCisgCQkJCSAgIGludCB3YW50ZWQsCisgCQkJCSAgIGludCAqYWRkZWQpOworLXN0YXRpYyBpc2NfYm9vbGVhbl90IHN0b3BwaW5nX2ZpbmlzaGVkKHZvaWQpOworK3N0YXRpYyBib29sIHN0b3BwaW5nX2ZpbmlzaGVkKHZvaWQpOworIHN0YXRpYyB2b2lkIGRoYzZfbWVyZ2VfbGVhc2Uoc3RydWN0IGRoYzZfbGVhc2UgKnNyYywgc3RydWN0IGRoYzZfbGVhc2UgKmRzdCk7Cisgdm9pZCBkb19zZWxlY3Q2KHZvaWQgKmlucHV0KTsKKyB2b2lkIGRvX3JlZnJlc2g2KHZvaWQgKmlucHV0KTsKK0BAIC0xMzEsNyArMTMxLDcgQEAgc3RhdGljIHZvaWQgc2NyaXB0X3dyaXRlX3BhcmFtczYoc3RydWN0CisgCQkJCSBjb25zdCBjaGFyICpwcmVmaXgsCisgCQkJCSBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICpvcHRpb25zKTsKKyBzdGF0aWMgdm9pZCBzY3JpcHRfd3JpdGVfcmVxdWVzdGVkNihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllbnQpOworLXN0YXRpYyBpc2NfYm9vbGVhbl90IGFjdGl2ZV9wcmVmaXgoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2xpZW50KTsKKytzdGF0aWMgYm9vbCBhY3RpdmVfcHJlZml4KHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsaWVudCk7CisgCisgc3RhdGljIGludCBjaGVja190aW1pbmc2KHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsaWVudCwgdV9pbnQ4X3QgbXNnX3R5cGUsCisgCQkJIGNoYXIgKm1zZ19zdHIsIHN0cnVjdCBkaGM2X2xlYXNlICpsZWFzZSwKK0BAIC0xNDksNyArMTQ5LDcgQEAgc3RhdGljIGlzY19yZXN1bHRfdCBkaGM2X2FkZF9pYV9uYV9kZWNsaQorIAkJCQkJICAgc3RydWN0IGRhdGFfc3RyaW5nICpwYWNrZXQsCisgCQkJCQkgICBzdHJ1Y3QgZGhjNl9sZWFzZSAqbGVhc2UpOworIHN0YXRpYyBpbnQgZHJvcF9kZWNsaW5lZF9hZGRycyhzdHJ1Y3QgZGhjNl9sZWFzZSAqbGVhc2UpOworLXN0YXRpYyBpc2NfYm9vbGVhbl90IHVuZXhwaXJlZF9hZGRyZXNzX2luX2xlYXNlKHN0cnVjdCBkaGM2X2xlYXNlICpsZWFzZSk7Cisrc3RhdGljIGJvb2wgdW5leHBpcmVkX2FkZHJlc3NfaW5fbGVhc2Uoc3RydWN0IGRoYzZfbGVhc2UgKmxlYXNlKTsKKyAKKyBleHRlcm4gaW50IG9uZXRyeTsKKyBleHRlcm4gaW50IHN0YXRlbGVzczsKK0BAIC00MTgsMTQgKzQxOCwxNCBAQCB2YWxpZF9yZXBseShzdHJ1Y3QgcGFja2V0ICpwYWNrZXQsIHN0cnVjCisgeworIAlzdHJ1Y3QgZGF0YV9zdHJpbmcgc2lkLCBjaWQ7CisgCXN0cnVjdCBvcHRpb25fY2FjaGUgKm9jOworLQlpbnQgcnZhbCA9IElTQ19UUlVFOworKwlpbnQgcnZhbCA9IHRydWU7CisgCisgCW1lbXNldCgmc2lkLCAwLCBzaXplb2Yoc2lkKSk7CisgCW1lbXNldCgmY2lkLCAwLCBzaXplb2YoY2lkKSk7CisgCisgCWlmICghbG9va3VwX29wdGlvbigmZGhjcHY2X3VuaXZlcnNlLCBwYWNrZXQtPm9wdGlvbnMsIEQ2T19TRVJWRVJJRCkpIHsKKyAJCWxvZ19lcnJvcigiUmVzcG9uc2Ugd2l0aG91dCBhIHNlcnZlciBpZGVudGlmaWVyIHJlY2VpdmVkLiIpOworLQkJcnZhbCA9IElTQ19GQUxTRTsKKysJCXJ2YWwgPSBmYWxzZTsKKyAJfQorIAorIAlvYyA9IGxvb2t1cF9vcHRpb24oJmRoY3B2Nl91bml2ZXJzZSwgcGFja2V0LT5vcHRpb25zLCBENk9fQ0xJRU5USUQpOworQEAgLTQzNCw3ICs0MzQsNyBAQCB2YWxpZF9yZXBseShzdHJ1Y3QgcGFja2V0ICpwYWNrZXQsIHN0cnVjCisgCQkJCSAgIGNsaWVudC0+c2VudF9vcHRpb25zLCAmZ2xvYmFsX3Njb3BlLCBvYywKKyAJCQkJICAgTURMKSkgeworIAkJbG9nX2Vycm9yKCJSZXNwb25zZSB3aXRob3V0IGEgY2xpZW50IGlkZW50aWZpZXIuIik7CistCQlydmFsID0gSVNDX0ZBTFNFOworKwkJcnZhbCA9IGZhbHNlOworIAl9CisgCisgCW9jID0gbG9va3VwX29wdGlvbigmZGhjcHY2X3VuaXZlcnNlLCBjbGllbnQtPnNlbnRfb3B0aW9ucywKK0BAIC00NDQsNyArNDQ0LDcgQEAgdmFsaWRfcmVwbHkoc3RydWN0IHBhY2tldCAqcGFja2V0LCBzdHJ1YworIAkJCQkgICBjbGllbnQtPnNlbnRfb3B0aW9ucywgTlVMTCwgJmdsb2JhbF9zY29wZSwKKyAJCQkJICAgb2MsIE1ETCkpIHsKKyAJCWxvZ19lcnJvcigiTG9jYWwgY2xpZW50IGlkZW50aWZpZXIgaXMgbWlzc2luZyEiKTsKKy0JCXJ2YWwgPSBJU0NfRkFMU0U7CisrCQlydmFsID0gZmFsc2U7CisgCX0KKyAKKyAJaWYgKHNpZC5sZW4gPT0gMCB8fAorQEAgLTQ1Miw3ICs0NTIsNyBAQCB2YWxpZF9yZXBseShzdHJ1Y3QgcGFja2V0ICpwYWNrZXQsIHN0cnVjCisgCSAgICBtZW1jbXAoc2lkLmRhdGEsIGNpZC5kYXRhLCBzaWQubGVuKSkgeworIAkJbG9nX2Vycm9yKCJBZHZlcnRpc2Ugd2l0aCBtYXRjaGluZyB0cmFuc2FjdGlvbiBJRCwgYnV0ICIKKyAJCQkgICJtaXNtYXRjaGluZyBjbGllbnQgaWQuIik7CistCQlydmFsID0gSVNDX0ZBTFNFOworKwkJcnZhbCA9IGZhbHNlOworIAl9CisgCisgCS8qIGNsZWFuIHVwIHBvaW50ZXJzIHRvIHRoZSBzdHJpbmdzICovCitAQCAtMjM3NSw3ICsyMzc1LDcgQEAgc3RhcnRfcmVsZWFzZTYoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2xpZQorIAkvKiBOb3RlIHRoaXMgaW4gdGhlIGxlYXNlIGZpbGUuICovCisgCWlmIChjbGllbnQtPmFjdGl2ZV9sZWFzZSA9PSBOVUxMKQorIAkJcmV0dXJuOworLQljbGllbnQtPmFjdGl2ZV9sZWFzZS0+cmVsZWFzZWQgPSBJU0NfVFJVRTsKKysJY2xpZW50LT5hY3RpdmVfbGVhc2UtPnJlbGVhc2VkID0gdHJ1ZTsKKyAJd3JpdGVfY2xpZW50Nl9sZWFzZShjbGllbnQsIGNsaWVudC0+YWN0aXZlX2xlYXNlLCAwLCAxKTsKKyAKKyAJLyogU2V0IHRpbWVycyBwZXIgUkZDMzMxNSBzZWN0aW9uIDE4LjEuNi4gKi8KK0BAIC0yNjEyLDcgKzI2MTIsNyBAQCBkaGM2X2NoZWNrX2FkdmVydGlzZShzdHJ1Y3QgZGhjNl9sZWFzZSAqCisgeworIAlzdHJ1Y3QgZGhjNl9pYSAqaWE7CisgCWlzY19yZXN1bHRfdCBydmFsID0gSVNDX1JfU1VDQ0VTUzsKKy0JaW50IGhhdmVfYWRkcnMgPSBJU0NfRkFMU0U7CisrCWludCBoYXZlX2FkZHJzID0gZmFsc2U7CisgCXVuc2lnbmVkIGNvZGU7CisgCWNvbnN0IGNoYXIgKnNjb3BlOworIAlpbnQgZ290X25hID0gMCwgZ290X3RhID0gMCwgZ290X3BkID0gMDsKK0BAIC0yNjUwLDE0ICsyNjUwLDE0IEBAIGRoYzZfY2hlY2tfYWR2ZXJ0aXNlKHN0cnVjdCBkaGM2X2xlYXNlICoKKyAJCSAqIFNob3VsZCB3ZSBjaGVjayB0aGUgYWRkciBpdHNlbGYgZm9yIHVzYWJpbGl0eT8KKyAJCSAqLworIAkJaWYgKGlhLT5hZGRycyAhPSBOVUxMKSB7CistCQkJaGF2ZV9hZGRycyA9IElTQ19UUlVFOworKwkJCWhhdmVfYWRkcnMgPSB0cnVlOworIAkJfQorIAl9CisgCisgCS8qIElmIHdlIGRpZG4ndCBnZXQgc29tZSBhZGRycyBvciB0aGUgdXNlciByZXF1aXJlZCB1cyB0bworIAkgKiBnZXQgYWxsIG9mIHRoZSByZXF1ZXN0ZWQgSUFzIGFuZCB3ZSBkaWRuJ3QgcmV0dXJuIGFuIGVycm9yCisgCSAqLworLQlpZiAoKGhhdmVfYWRkcnMgIT0gSVNDX1RSVUUpIHx8CisrCWlmICgoaGF2ZV9hZGRycyAhPSB0cnVlKSB8fAorIAkgICAgKChyZXF1aXJlX2FsbF9pYXMgIT0gMCkgJiYKKyAJICAgICAoKGdvdF9uYSA8IHdhbnRlZF9pYV9uYSkgfHwKKyAJICAgICAgKGdvdF90YSA8IHdhbnRlZF9pYV90YSkgfHwKK0BAIC0yNjcwLDcgKzI2NzAsNyBAQCBkaGM2X2NoZWNrX2FkdmVydGlzZShzdHJ1Y3QgZGhjNl9sZWFzZSAqCisgLyogc3RhdHVzIGNvZGUgPC0+IGFjdGlvbiBtYXRyaXggZm9yIHRoZSBjbGllbnQgaW4gSU5JVCBzdGF0ZQorICAqIChyYXBpZC9jb21taXQpLiAgUmV0dXJucyBhbHdheXMgZmFsc2UgYXMgbm8gYWN0aW9uIGlzIGRlZmluZWQuCisgICovCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIGRoYzZfaW5pdF9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZSAqY2xpZW50LCBpc2NfcmVzdWx0X3QgKnJ2YWxwLAorIAkJIHVuc2lnbmVkIGNvZGUpCisgeworQEAgLTI2NzksMjEgKzI2NzksMjEgQEAgZGhjNl9pbml0X2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbAorIAorIAlpZiAoY2xpZW50ID09IE5VTEwpIHsKKyAJCSpydmFscCA9IERIQ1BfUl9JTlZBTElEQVJHOworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIAorIAlpZiAoKnJ2YWxwID09IElTQ19SX1NVQ0NFU1MpCistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAorIAkvKiBObyBwb3NzaWJsZSBhY3Rpb24gaW4gYW55IGNhc2UuLi4gKi8KKy0JcmV0dXJuIElTQ19GQUxTRTsKKysJcmV0dXJuIGZhbHNlOworIH0KKyAKKyAvKiBzdGF0dXMgY29kZSA8LT4gYWN0aW9uIG1hdHJpeCBmb3IgdGhlIGNsaWVudCBpbiBTRUxFQ1Qgc3RhdGUKKyAgKiAocmVxdWVzdC9yZXBseSkuICBSZXR1cm5zIHRydWUgaWYgYWN0aW9uIHdhcyB0YWtlbiAoYW5kIHRoZQorICAqIHBhY2tldCBzaG91bGQgYmUgaWdub3JlZCksIG9yIGZhbHNlIGlmIG5vIGFjdGlvbiB3YXMgdGFrZW4uCisgICovCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIGRoYzZfc2VsZWN0X2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllbnQsIGlzY19yZXN1bHRfdCAqcnZhbHAsCisgCQkgICB1bnNpZ25lZCBjb2RlKQorIHsKK0BAIC0yNzA1LDEyICsyNzA1LDEyIEBAIGRoYzZfc2VsZWN0X2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICoKKyAKKyAJaWYgKGNsaWVudCA9PSBOVUxMKSB7CisgCQkqcnZhbHAgPSBESENQX1JfSU5WQUxJREFSRzsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAJcnZhbCA9ICpydmFscDsKKyAKKyAJaWYgKHJ2YWwgPT0gSVNDX1JfU1VDQ0VTUykKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCisgCXN3aXRjaCAoY29kZSkgeworIAkJLyogV2UgbWF5IGhhdmUgYW4gZWFybGllciBmYWlsdXJlIHN0YXR1cyBjb2RlIChzbyBubworQEAgLTI3MjMsNyArMjcyMyw3IEBAIGRoYzZfc2VsZWN0X2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICoKKyAJICAgICAgY2FzZSBTVEFUVVNfTm9CaW5kaW5nOgorIAkgICAgICBjYXNlIFNUQVRVU19Vc2VNdWx0aWNhc3Q6CisgCQkvKiBUYWtlIG5vIGFjdGlvbi4gKi8KKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCisgCQkvKiBJZiB0aGUgc2VydmVyIGNhbid0IGRlYWwgd2l0aCB1cywgZWl0aGVyIHRyeSB0aGUKKyAJCSAqIG5leHQgYWR2ZXJ0aXNlZCBzZXJ2ZXIsIG9yIGNvbnRpbnVlIHJldHJ5aW5nIGlmIHRoZXJlCitAQCAtMjczOSw3ICsyNzM5LDcgQEAgZGhjNl9zZWxlY3RfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKgorIAorIAkJCWJyZWFrOworIAkJfSBlbHNlIC8qIFRha2Ugbm8gYWN0aW9uIC0gY29udGludWUgdG8gcmV0cnkuICovCistCQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCQlyZXR1cm4gZmFsc2U7CisgCisgCQkvKiBJZiB0aGUgc2VydmVyIGhhcyBubyBhZGRyZXNzZXMsIHRyeSBvdGhlciBzZXJ2ZXJzIGlmCisgCQkgKiB3ZSBnb3Qgc29tZSwgb3RoZXJ3aXNlIGdvIHRvIElOSVQgdG8gaG9wZSBmb3IgbW9yZQorQEAgLTI3NDgsNyArMjc0OCw3IEBAIGRoYzZfc2VsZWN0X2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICoKKyAJICAgICAgY2FzZSBTVEFUVVNfTm9BZGRyc0F2YWlsOgorIAkgICAgICBjYXNlIFNUQVRVU19Ob1ByZWZpeEF2YWlsOgorIAkJaWYgKGNsaWVudC0+c3RhdGUgPT0gU19SRUJPT1RJTkcpCistCQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCQlyZXR1cm4gZmFsc2U7CisgCisgCQlpZiAoY2xpZW50LT5zZWxlY3RlZF9sZWFzZSA9PSBOVUxMKQorIAkJCWxvZ19mYXRhbCgiSW1wb3NzaWJsZSBjYXNlIGF0ICVzOiVkLiIsIE1ETCk7CitAQCAtMjc5NCw3ICsyNzk0LDcgQEAgZGhjNl9zZWxlY3RfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKgorIAkJYnJlYWs7CisgCX0KKyAKKy0JcmV0dXJuIElTQ19UUlVFOworKwlyZXR1cm4gdHJ1ZTsKKyB9CisgCisgc3RhdGljIHZvaWQKK0BAIC0yODIxLDcgKzI4MjEsNyBAQCBkaGM2X3dpdGhkcmF3X2xlYXNlKHN0cnVjdCBjbGllbnRfc3RhdGUKKyAgKiAocmVxdWVzdC9yZXBseSkuICBSZXR1cm5zIHRydWUgaWYgYWN0aW9uIHdhcyB0YWtlbiAoYW5kIHRoZQorICAqIHBhY2tldCBzaG91bGQgYmUgaWdub3JlZCksIG9yIGZhbHNlIGlmIG5vIGFjdGlvbiB3YXMgdGFrZW4uCisgICovCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIGRoYzZfcmVwbHlfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsaWVudCwgaXNjX3Jlc3VsdF90ICpydmFscCwKKyAJCSAgdW5zaWduZWQgY29kZSkKKyB7CitAQCAtMjgzMiwxMiArMjgzMiwxMiBAQCBkaGM2X3JlcGx5X2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjCisgCisgCWlmIChjbGllbnQgPT0gTlVMTCkgeworIAkJKnJ2YWxwID0gREhDUF9SX0lOVkFMSURBUkc7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgCXJ2YWwgPSAqcnZhbHA7CisgCisgCWlmIChydmFsID09IElTQ19SX1NVQ0NFU1MpCistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAorIAlzd2l0Y2ggKGNvZGUpIHsKKyAJCS8qIEl0J3MgcG9zc2libGUgYW4gZWFybGllciBzdGF0dXMgY29kZSBzZXQgcnZhbCB0byBhIGZhaWx1cmUKK0BAIC0yODUyLDcgKzI4NTIsNyBAQCBkaGM2X3JlcGx5X2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjCisgCSAgICAgIGNhc2UgU1RBVFVTX1Vuc3BlY0ZhaWw6CisgCQkvKiBGb3IgdW5rbm93biBjb2Rlcy4uLml0J3MgYSBzb2Z0IChyZXRyeWFibGUpIGVycm9yLiAqLworIAkgICAgICBkZWZhdWx0OgorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJCS8qIFRoZSBzZXJ2ZXIgaXMgdGVsbGluZyB1cyB0byB1c2UgYSBtdWx0aWNhc3QgYWRkcmVzcywgc28KKyAJCSAqIHdlIGhhdmUgdG8gZGVsZXRlIHRoZSB1bmljYXN0IG9wdGlvbiBmcm9tIHRoZSBhY3RpdmUKK0BAIC0yODY1LDcgKzI4NjUsNyBAQCBkaGM2X3JlcGx5X2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjCisgCQkJZGVsZXRlX29wdGlvbigmZGhjcF91bml2ZXJzZSwKKyAJCQkJICAgICAgY2xpZW50LT5hY3RpdmVfbGVhc2UtPm9wdGlvbnMsCisgCQkJCSAgICAgIEQ2T19VTklDQVNUKTsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCisgCQkvKiAiV2hlbiB0aGUgY2xpZW50IHJlY2VpdmVzIGEgTm90T25MaW5rIHN0YXR1cyBmcm9tIHRoZQorIAkJICogIHNlcnZlciBpbiByZXNwb25zZSB0byBhIFJlcXVlc3QsIHRoZSBjbGllbnQgY2FuIGVpdGhlcgorQEAgLTI5MTQsNyArMjkxNCw3IEBAIGRoYzZfcmVwbHlfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmMKKyAJCWJyZWFrOworIAl9CisgCistCXJldHVybiBJU0NfVFJVRTsKKysJcmV0dXJuIHRydWU7CisgfQorIAorIC8qIHN0YXR1cyBjb2RlIDwtPiBhY3Rpb24gbWF0cml4IGZvciB0aGUgY2xpZW50IGluIFNUT1BQRUQgc3RhdGUKK0BAIC0yOTIyLDcgKzI5MjIsNyBAQCBkaGM2X3JlcGx5X2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjCisgICogcGFja2V0IHNob3VsZCBiZSBpZ25vcmVkKSwgb3IgZmFsc2UgaWYgbm8gYWN0aW9uIHdhcyB0YWtlbi4KKyAgKiBOb0JpbmRpbmcgaXMgdHJhbnNsYXRlZCBpbnRvIFN1Y2Nlc3MuCisgICovCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIGRoYzZfc3RvcF9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZSAqY2xpZW50LCBpc2NfcmVzdWx0X3QgKnJ2YWxwLAorIAkJICB1bnNpZ25lZCBjb2RlKQorIHsKK0BAIC0yOTMzLDEyICsyOTMzLDEyIEBAIGRoYzZfc3RvcF9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZSAqY2wKKyAKKyAJaWYgKGNsaWVudCA9PSBOVUxMKSB7CisgCQkqcnZhbHAgPSBESENQX1JfSU5WQUxJREFSRzsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAJcnZhbCA9ICpydmFscDsKKyAKKyAJaWYgKHJ2YWwgPT0gSVNDX1JfU1VDQ0VTUykKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCisgCXN3aXRjaCAoY29kZSkgeworIAkJLyogSXQncyBwb3NzaWJsZSBhbiBlYXJsaWVyIHN0YXR1cyBjb2RlIHNldCBydmFsIHRvIGEgZmFpbHVyZQorQEAgLTI5NDgsMTMgKzI5NDgsMTMgQEAgZGhjNl9zdG9wX2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbAorIAkJLyogRm9yIHVua25vd24gY29kZXMuLi5pdCdzIGEgc29mdCAocmV0cnlhYmxlKSBlcnJvci4gKi8KKyAJICAgICAgY2FzZSBTVEFUVVNfVW5zcGVjRmFpbDoKKyAJICAgICAgZGVmYXVsdDoKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCisgCQkvKiBOb0JpbmRpbmcgaXMgbm90IGFuIGVycm9yICovCisgCSAgICAgIGNhc2UgU1RBVFVTX05vQmluZGluZzoKKyAJCWlmIChydmFsID09IElTQ19SX0ZBSUxVUkUpCisgCQkJKnJ2YWxwID0gSVNDX1JfU1VDQ0VTUzsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCisgCQkvKiBTaG91bGQgbm90IGhhcHBlbiAqLworIAkgICAgICBjYXNlIFNUQVRVU19Ob0FkZHJzQXZhaWw6CitAQCAtMjk3NiwxMyArMjk3NiwxMyBAQCBkaGM2X3N0b3BfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsCisgCQkJZGVsZXRlX29wdGlvbigmZGhjcF91bml2ZXJzZSwKKyAJCQkJICAgICAgY2xpZW50LT5hY3RpdmVfbGVhc2UtPm9wdGlvbnMsCisgCQkJCSAgICAgIEQ2T19VTklDQVNUKTsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAKKy0JcmV0dXJuIElTQ19UUlVFOworKwlyZXR1cm4gdHJ1ZTsKKyB9CisgCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIGRoYzZfZGVjbGluZV9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZSAqY2xpZW50LCBpc2NfcmVzdWx0X3QgKnJ2YWxwLAorIAkJICB1bnNpZ25lZCBjb2RlKQorIHsKK0BAIC0yOTkzLDEyICsyOTkzLDEyIEBAIGRoYzZfZGVjbGluZV9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZQorIAorIAlpZiAoY2xpZW50ID09IE5VTEwpIHsKKyAJCSpydmFscCA9IERIQ1BfUl9JTlZBTElEQVJHOworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIAlydmFsID0gKnJ2YWxwOworIAorIAlpZiAocnZhbCA9PSBJU0NfUl9TVUNDRVNTKSB7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgCisgCXN3aXRjaCAoY29kZSkgeworQEAgLTMwMTMsMTMgKzMwMTMsMTMgQEAgZGhjNl9kZWNsaW5lX2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlCisgCQkJZGVsZXRlX29wdGlvbigmZGhjcF91bml2ZXJzZSwKKyAJCQkJICAgICAgY2xpZW50LT5hY3RpdmVfbGVhc2UtPm9wdGlvbnMsCisgCQkJCSAgICAgIEQ2T19VTklDQVNUKTsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCWRlZmF1bHQ6CisgCQkvKiBBbnl0aGluZyBlbHNlIGlzIGJhc2ljYWxseSBtZWFuaW5nbGVzcyAqLworIAkJYnJlYWs7CisgCX0KKyAKKy0JcmV0dXJuIElTQ19UUlVFOworKwlyZXR1cm4gdHJ1ZTsKKyB9CisgCisgCitAQCAtMzAyOSwxNCArMzAyOSwxNCBAQCBkaGM2X2RlY2xpbmVfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUKKyBzdGF0aWMgaXNjX3Jlc3VsdF90CisgZGhjNl9jaGVja19yZXBseShzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllbnQsIHN0cnVjdCBkaGM2X2xlYXNlICpuZXcpCisgeworLQlpc2NfYm9vbGVhbl90ICgqYWN0aW9uKShzdHJ1Y3QgY2xpZW50X3N0YXRlICosCisrCWJvb2wgKCphY3Rpb24pKHN0cnVjdCBjbGllbnRfc3RhdGUgKiwKKyAJCQkJaXNjX3Jlc3VsdF90ICosIHVuc2lnbmVkKTsKKyAJc3RydWN0IGRoYzZfaWEgKmlhOworIAlpc2NfcmVzdWx0X3QgcnZhbCA9IElTQ19SX1NVQ0NFU1M7CisgCXVuc2lnbmVkIGNvZGU7CisgCWNvbnN0IGNoYXIgKnNjb3BlOworIAlpbnQgbnNjb3JlLCBzc2NvcmU7CistCWludCBoYXZlX2FkZHJzID0gSVNDX0ZBTFNFOworKwlpbnQgaGF2ZV9hZGRycyA9IGZhbHNlOworIAlpbnQgZ290X25hID0gMCwgZ290X3RhID0gMCwgZ290X3BkID0gMDsKKyAKKyAJaWYgKChjbGllbnQgPT0gTlVMTCkgfHwgKG5ldyA9PSBOVUxMKSkKK0BAIC0zMTAyLDcgKzMxMDIsNyBAQCBkaGM2X2NoZWNrX3JlcGx5KHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsCisgCQkJcmV0dXJuIElTQ19SX0NBTkNFTEVEOworIAorIAkJaWYgKGlhLT5hZGRycyAhPSBOVUxMKSB7CistCQkJaGF2ZV9hZGRycyA9IElTQ19UUlVFOworKwkJCWhhdmVfYWRkcnMgPSB0cnVlOworIAkJfQorIAl9CisgCitAQCAtMzExOSwxMyArMzExOSwxMyBAQCBkaGM2X2NoZWNrX3JlcGx5KHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsCisgCSAqIGNoZWNrIGluIGFuZCBjb21tZW50ZWQgaXQgYXMgSSBldmVudHVhbGx5IGRvIHdhbnQKKyAJICogdXMgdG8gY2hlY2sgZm9yIFRBcyBhcyB3ZWxsLiAgU0FSCisgCSAqLworLQlpZiAoKGhhdmVfYWRkcnMgIT0gSVNDX1RSVUUpIHx8CisrCWlmICgoaGF2ZV9hZGRycyAhPSB0cnVlKSB8fAorIAkgICAgKChyZXF1aXJlX2FsbF9pYXMgIT0gMCkgJiYKKyAJICAgICAoKGdvdF9uYSA8IHdhbnRlZF9pYV9uYSkgfHwKKyAJICAgICAgLyooZ290X3RhIDwgd2FudGVkX2lhX3RhKSB8fCovCisgCSAgICAgIChnb3RfcGQgPCB3YW50ZWRfaWFfcGQpKSkpIHsKKyAJCXJ2YWwgPSBJU0NfUl9GQUlMVVJFOworLQkJaWYgKGFjdGlvbihjbGllbnQsICZydmFsLCBTVEFUVVNfTm9BZGRyc0F2YWlsKSA9PSBJU0NfVFJVRSkgeworKwkJaWYgKGFjdGlvbihjbGllbnQsICZydmFsLCBTVEFUVVNfTm9BZGRyc0F2YWlsKSA9PSB0cnVlKSB7CisgCQkJcmV0dXJuIElTQ19SX0NBTkNFTEVEOworIAkJfQorIAl9CitAQCAtNDI1Niw3ICs0MjU2LDcgQEAgZGhjNl9hZGRfaWFfcGQoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2xpZQorIAorIC8qIHN0b3BwaW5nX2ZpbmlzaGVkKCkgY2hlY2tzIGlmIHRoZXJlIGlzIGEgcmVtYWluaW5nIHdvcmsgdG8gZG8uCisgICovCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIHN0b3BwaW5nX2ZpbmlzaGVkKHZvaWQpCisgeworIAlzdHJ1Y3QgaW50ZXJmYWNlX2luZm8gKmlwOworQEAgLTQyNjUsMTIgKzQyNjUsMTIgQEAgc3RvcHBpbmdfZmluaXNoZWQodm9pZCkKKyAJZm9yIChpcCA9IGludGVyZmFjZXM7IGlwOyBpcCA9IGlwIC0+IG5leHQpIHsKKyAJCWZvciAoY2xpZW50ID0gaXAgLT4gY2xpZW50OyBjbGllbnQ7IGNsaWVudCA9IGNsaWVudCAtPiBuZXh0KSB7CisgCQkJaWYgKGNsaWVudC0+c3RhdGUgIT0gU19TVE9QUEVEKQorLQkJCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCQlyZXR1cm4gZmFsc2U7CisgCQkJaWYgKGNsaWVudC0+YWN0aXZlX2xlYXNlICE9IE5VTEwpCistCQkJCXJldHVybiBJU0NfRkFMU0U7CisrCQkJCXJldHVybiBmYWxzZTsKKyAJCX0KKyAJfQorLQlyZXR1cm4gSVNDX1RSVUU7CisrCXJldHVybiB0cnVlOworIH0KKyAKKyAvKiByZXBseV9oYW5kbGVyKCkgYWNjZXB0cyBhIFJlcGx5IHdoaWxlIHdlJ3JlIGF0dGVtcHRpbmcgU2VsZWN0IG9yIFJlbmV3IG9yCitAQCAtNDQ3NCw4ICs0NDc0LDggQEAgZGhjNl9jaGVja190aW1lcyhzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbAorIAlzdHJ1Y3QgZGhjNl9hZGRyICphZGRyOworIAlUSU1FIHJlbmV3PU1BWF9USU1FLCByZWJpbmQ9TUFYX1RJTUUsIGRlcHJlZj1NQVhfVElNRSwKKyAJICAgICBsb19leHBpcmU9TUFYX1RJTUUsIGhpX2V4cGlyZT0wLCBtYXhfaWFfc3RhcnRzID0gMCwgdG1wOworLQlpbnQgaGFzX2FkZHJzID0gSVNDX0ZBTFNFOworLQlpbnQgaGFzX3ByZWZlcnJlZF9hZGRycyA9IElTQ19GQUxTRTsKKysJaW50IGhhc19hZGRycyA9IGZhbHNlOworKwlpbnQgaGFzX3ByZWZlcnJlZF9hZGRycyA9IGZhbHNlOworIAlzdHJ1Y3QgdGltZXZhbCB0djsKKyAKKyAJbGVhc2UgPSBjbGllbnQtPmFjdGl2ZV9sZWFzZTsKK0BAIC00NTA2LDcgKzQ1MDYsNyBAQCBkaGM2X2NoZWNrX3RpbWVzKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsCisgCQkJCQlkZXByZWYgPSB0bXA7CisgCisgCQkJCWlmICghKGFkZHItPmZsYWdzICYgREhDNl9BRERSX0VYUElSRUQpKSB7CistCQkJCQloYXNfcHJlZmVycmVkX2FkZHJzID0gSVNDX1RSVUU7CisrCQkJCQloYXNfcHJlZmVycmVkX2FkZHJzID0gdHJ1ZTsKKyAJCQkJfQorIAkJCX0KKyAKK0BAIC00NTI1LDcgKzQ1MjUsNyBAQCBkaGM2X2NoZWNrX3RpbWVzKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsCisgCQkJCWlmICh0bXAgPCB0aGlzX2lhX2xvX2V4cGlyZSkKKyAJCQkJCXRoaXNfaWFfbG9fZXhwaXJlID0gdG1wOworIAorLQkJCQloYXNfYWRkcnMgPSBJU0NfVFJVRTsKKysJCQkJaGFzX2FkZHJzID0gdHJ1ZTsKKyAJCQl9CisgCQl9CisgCitAQCAtNDYwMyw3ICs0NjAzLDcgQEAgZGhjNl9jaGVja190aW1lcyhzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbAorIAkgKiBJbiB0aGUgZnV0dXJlLCB3ZSBtYXkgZGVjaWRlIHRoYXQgd2UncmUgZG9uZSBoZXJlLCBvciB0bworIAkgKiBzY2hlZHVsZSBhIGZ1dHVyZSByZXF1ZXN0ICh1c2luZyA0LXBrdCBpbmZvLXJlcXVlc3QgbW9kZWwpLgorIAkgKi8KKy0JaWYgKGhhc19hZGRycyA9PSBJU0NfRkFMU0UpIHsKKysJaWYgKGhhc19hZGRycyA9PSBmYWxzZSkgeworIAkJZGhjNl9sZWFzZV9kZXN0cm95KCZjbGllbnQtPmFjdGl2ZV9sZWFzZSwgTURMKTsKKyAJCWNsaWVudC0+YWN0aXZlX2xlYXNlID0gTlVMTDsKKyAKK0BAIC00ODU1LDcgKzQ4NTUsNyBAQCBzdGFydF9ib3VuZChzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllbnQpCisgCQkJICAiaXMgc2VsZWN0ZWQuIik7CisgCQlyZXR1cm47CisgCX0KKy0JbGVhc2UtPnJlbGVhc2VkID0gSVNDX0ZBTFNFOworKwlsZWFzZS0+cmVsZWFzZWQgPSBmYWxzZTsKKyAJb2xkID0gY2xpZW50LT5vbGRfbGVhc2U7CisgCisgCWNsaWVudC0+djZfaGFuZGxlciA9IGJvdW5kX2hhbmRsZXI7CitAQCAtNTQ0OCw4ICs1NDQ4LDggQEAgZG9fZXhwaXJlKHZvaWQgKmlucHV0KQorIAlzdHJ1Y3QgZGhjNl9sZWFzZSAqbGVhc2U7CisgCXN0cnVjdCBkaGM2X2lhICppYSwgKip0aWE7CisgCXN0cnVjdCBkaGM2X2FkZHIgKmFkZHI7CistCWludCBoYXNfYWRkcnMgPSBJU0NfRkFMU0U7CistCWludCBpYV9oYXNfYWRkcnMgPSBJU0NfRkFMU0U7CisrCWludCBoYXNfYWRkcnMgPSBmYWxzZTsKKysJaW50IGlhX2hhc19hZGRycyA9IGZhbHNlOworIAorIAljbGllbnQgPSAoc3RydWN0IGNsaWVudF9zdGF0ZSAqKWlucHV0OworIAorQEAgLTU0NTgsNyArNTQ1OCw3IEBAIGRvX2V4cGlyZSh2b2lkICppbnB1dCkKKyAJCXJldHVybjsKKyAKKyAJZm9yIChpYSA9IGxlYXNlLT5iaW5kaW5ncywgdGlhID0gJmxlYXNlLT5iaW5kaW5nczsgaWEgIT0gTlVMTCA7ICkgeworLQkJaWFfaGFzX2FkZHJzID0gSVNDX0ZBTFNFOworKwkJaWFfaGFzX2FkZHJzID0gZmFsc2U7CisgCQlmb3IgKGFkZHIgPSBpYS0+YWRkcnMgOyBhZGRyICE9IE5VTEwgOyBhZGRyID0gYWRkci0+bmV4dCkgeworIAkJCWlmIChhZGRyLT5mbGFncyAmIERIQzZfQUREUl9FWFBJUkVEKQorIAkJCQljb250aW51ZTsKK0BAIC01NDk1LDE0ICs1NDk1LDE0IEBAIGRvX2V4cGlyZSh2b2lkICppbnB1dCkKKyAJCQkJY29udGludWU7CisgCQkJfQorIAorLQkJCWlhX2hhc19hZGRycyA9IElTQ19UUlVFOworLQkJCWhhc19hZGRycyA9IElTQ19UUlVFOworKwkJCWlhX2hhc19hZGRycyA9IHRydWU7CisrCQkJaGFzX2FkZHJzID0gdHJ1ZTsKKyAJCX0KKyAKKyAJCS8qIFVwZGF0ZSB0byB0aGUgbmV4dCBpYSBhbmQgZ2l0IHJpZCBvZiB0aGlzIGlhCisgCQkgKiBpZiBpdCBkb2Vzbid0IGhhdmUgYW55IGxlYXNlcy4KKyAJCSAqLworLQkJaWYgKGlhX2hhc19hZGRycyA9PSBJU0NfVFJVRSkgeworKwkJaWYgKGlhX2hhc19hZGRycyA9PSB0cnVlKSB7CisgCQkJLyogbGVhc2VzLCBqdXN0IGFkdmFuY2UgdGhlIGxpc3QgcG9pbnRlciAqLworIAkJCXRpYSA9ICYoKnRpYSktPm5leHQ7CisgCQl9IGVsc2UgeworQEAgLTU1MTcsNyArNTUxNyw3IEBAIGRvX2V4cGlyZSh2b2lkICppbnB1dCkKKyAJfQorIAorIAkvKiBDbGVhbiB1cCBlbXB0eSBsZWFzZXMuICovCistCWlmIChoYXNfYWRkcnMgPT0gSVNDX0ZBTFNFKSB7CisrCWlmIChoYXNfYWRkcnMgPT0gZmFsc2UpIHsKKyAJCWxvZ19pbmZvKCJQUkM6IEJvdW5kIGxlYXNlIGlzIGRldm9pZCBvZiBhY3RpdmUgYWRkcmVzc2VzLiIKKyAJCQkgIiAgUmUtaW5pdGlhbGl6aW5nLiIpOworIAorQEAgLTU1OTYsMTQgKzU1OTYsMTQgQEAgZGhjNl9jaGVja19pcnQoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2xpZQorIAlUSU1FIGV4cGlyZSA9IE1BWF9USU1FOworIAlzdHJ1Y3QgdGltZXZhbCB0djsKKyAJaW50IGk7CistCWlzY19ib29sZWFuX3QgZm91bmQgPSBJU0NfRkFMU0U7CisrCWJvb2wgZm91bmQgPSBmYWxzZTsKKyAKKyAJY2FuY2VsX3RpbWVvdXQocmVmcmVzaF9pbmZvX3JlcXVlc3Q2LCBjbGllbnQpOworIAorIAlyZXEgPSBjbGllbnQtPmNvbmZpZy0+cmVxdWVzdGVkX29wdGlvbnM7CisgCWZvciAoaSA9IDA7IHJlcVtpXSAhPSBOVUxMOyBpKyspIHsKKyAJCWlmIChyZXFbaV0gPT0gaXJ0X29wdGlvbikgeworLQkJCWZvdW5kID0gSVNDX1RSVUU7CisrCQkJZm91bmQgPSB0cnVlOworIAkJCWJyZWFrOworIAkJfQorIAl9CitAQCAtNTkyNCw3ICs1OTI0LDcgQEAgc3RhdGljIHZvaWQgc2NyaXB0X3dyaXRlX3JlcXVlc3RlZDYoY2xpZQorIC8qCisgICogQ2hlY2sgaWYgdGhlcmUgaXMgc29tZXRoaW5nIG5vdCBmdWxseSBkZWZpbmVkIGluIHRoZSBhY3RpdmUgbGVhc2UuCisgICovCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIGFjdGl2ZV9wcmVmaXgoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2xpZW50KQorIHsKKyAJc3RydWN0IGRoYzZfbGVhc2UgKmxlYXNlOworQEAgLTU5MzQsMjEgKzU5MzQsMjEgQEAgYWN0aXZlX3ByZWZpeChzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllbgorIAorIAlsZWFzZSA9IGNsaWVudC0+YWN0aXZlX2xlYXNlOworIAlpZiAobGVhc2UgPT0gTlVMTCkKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCW1lbXNldCh6ZXJvcywgMCwgMTYpOworIAlmb3IgKGlhID0gbGVhc2UtPmJpbmRpbmdzOyBpYSAhPSBOVUxMOyBpYSA9IGlhLT5uZXh0KSB7CisgCQlpZiAoaWEtPmlhX3R5cGUgIT0gRDZPX0lBX1BEKQorIAkJCWNvbnRpbnVlOworIAkJZm9yIChwcmVmID0gaWEtPmFkZHJzOyBwcmVmICE9IE5VTEw7IHByZWYgPSBwcmVmLT5uZXh0KSB7CisgCQkJaWYgKHByZWYtPnBsZW4gPT0gMCkKKy0JCQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCQkJcmV0dXJuIGZhbHNlOworIAkJCWlmIChwcmVmLT5hZGRyZXNzLmxlbiAhPSAxNikKKy0JCQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCQkJcmV0dXJuIGZhbHNlOworIAkJCWlmIChtZW1jbXAocHJlZi0+YWRkcmVzcy5pYWJ1ZiwgemVyb3MsIDE2KSA9PSAwKQorLQkJCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCQlyZXR1cm4gZmFsc2U7CisgCQl9CisgCX0KKy0JcmV0dXJuIElTQ19UUlVFOworKwlyZXR1cm4gdHJ1ZTsKKyB9CisgCisgLyogQWRkcyBhIGxlYXNlcydzIGRlY2xpbmVkIGFkZHJlc2VzIHRvIHRoZSBvdXRib3VuZCBwYWNrZXQKK0BAIC02MTExLDI2ICs2MTExLDI2IEBAIGludCBkcm9wX2RlY2xpbmVkX2FkZHJzKHN0cnVjdCBkaGM2X2xlYXMKKyAvKiBSdW4gdGhyb3VnaCB0aGUgYWRkcmVzc2VzIGluIGxlYXNlIGFuZCByZXR1cm4gdHJ1ZSBpZiB0aGVyZSdzIGFueSB1bmV4cGlyZWQuCisgICogUmV0dXJuIGZhbHNlIG90aGVyd2lzZS4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgdW5leHBpcmVkX2FkZHJlc3NfaW5fbGVhc2Uoc3RydWN0IGRoYzZfbGVhc2UgKmxlYXNlKQorIHsKKyAJc3RydWN0IGRoYzZfaWEgKmlhOworIAlzdHJ1Y3QgZGhjNl9hZGRyICphZGRyOworIAorIAlpZiAobGVhc2UgPT0gTlVMTCkgeworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIAorIAlmb3IgKGlhID0gbGVhc2UtPmJpbmRpbmdzIDsgaWEgIT0gTlVMTCA7IGlhID0gaWEtPm5leHQpIHsKKyAJCWZvciAoYWRkciA9IGlhLT5hZGRycyA7IGFkZHIgIT0gTlVMTCA7IGFkZHIgPSBhZGRyLT5uZXh0KSB7CisgCQkJaWYgKCEoYWRkci0+ZmxhZ3MgJiBESEM2X0FERFJfRVhQSVJFRCkgJiYKKyAJCQkgICAgKGFkZHItPnN0YXJ0cyArIGFkZHItPm1heF9saWZlID4gY3VyX3RpbWUpKSB7CistCQkJCXJldHVybiBJU0NfVFJVRTsKKysJCQkJcmV0dXJuIHRydWU7CisgCQkJfQorIAkJfQorIAl9CisgCisgCWxvZ19kZWJ1ZygiUFJDOiBQcmV2aW91cyBsZWFzZSBpcyBkZXZvaWQgb2YgYWN0aXZlIGFkZHJlc3Nlcy4iKTsKKy0JcmV0dXJuIElTQ19GQUxTRTsKKysJcmV0dXJuIGZhbHNlOworIH0KKyAjZW5kaWYgLyogREhDUHY2ICovCitJbmRleDogZGhjcC00LjQuMS9jbGllbnQvZGhjbGllbnQuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9jbGllbnQvZGhjbGllbnQuYworKysrIGRoY3AtNC40LjEvY2xpZW50L2RoY2xpZW50LmMKK0BAIC01Miw3ICs1Miw3IEBAIGNoYXIgKnBhdGhfZGhjbGllbnRfc2NyaXB0ID0gcGF0aF9kaGNsaWUKKyBjb25zdCBjaGFyICpwYXRoX2RoY2xpZW50X2R1aWQgPSBOVUxMOworIAorIC8qIEZhbHNlIChkZWZhdWx0KSA9PiB3ZSB3cml0ZSBhbmQgdXNlIGEgcGlkIGZpbGUgKi8KKy1pc2NfYm9vbGVhbl90IG5vX3BpZF9maWxlID0gSVNDX0ZBTFNFOworK2Jvb2wgbm9fcGlkX2ZpbGUgPSBmYWxzZTsKKyAKKyBpbnQgZGhjcF9tYXhfYWdlbnRfb3B0aW9uX3BhY2tldF9sZW5ndGggPSAwOworIAorQEAgLTM5Nyw3ICszOTcsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworIAkJCXBhdGhfZGhjbGllbnRfcGlkID0gYXJndltpXTsKKyAJCQlub19kaGNsaWVudF9waWQgPSAxOworIAkJfSBlbHNlIGlmICghc3RyY21wKGFyZ3ZbaV0sICItLW5vLXBpZCIpKSB7CistCQkJbm9fcGlkX2ZpbGUgPSBJU0NfVFJVRTsKKysJCQlub19waWRfZmlsZSA9IHRydWU7CisgCQl9IGVsc2UgaWYgKCFzdHJjbXAoYXJndltpXSwgIi1jZiIpKSB7CisgCQkJaWYgKCsraSA9PSBhcmdjKQorIAkJCQl1c2FnZSh1c2Vfbm9hcmcsIGFyZ3ZbaS0xXSk7CitAQCAtNjUyLDcgKzY1Miw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgCSAqIHRvIHdyaXRlIGEgcGlkIGZpbGUgLSB3ZSBhc3N1bWUgdGhleSBhcmUgY29udHJvbGxpbmcKKyAJICogdGhlIHByb2Nlc3MgaW4gc29tZSBvdGhlciBmYXNoaW9uLgorIAkgKi8KKy0JaWYgKChyZWxlYXNlX21vZGUgfHwgZXhpdF9tb2RlKSAmJiAobm9fcGlkX2ZpbGUgPT0gSVNDX0ZBTFNFKSkgeworKwlpZiAoKHJlbGVhc2VfbW9kZSB8fCBleGl0X21vZGUpICYmIChub19waWRfZmlsZSA9PSBmYWxzZSkpIHsKKyAJCUZJTEUgKnBpZGZkOworIAkJcGlkX3Qgb2xkcGlkOworIAkJbG9uZyB0ZW1wOworQEAgLTQ0NjksNyArNDQ2OSw3IEBAIHZvaWQgd3JpdGVfY2xpZW50X3BpZF9maWxlICgpCisgCWludCBwZmRlc2M7CisgCisgCS8qIG5vdGhpbmcgdG8gZG8gaWYgdGhlIHVzZXIgZG9lc24ndCB3YW50IGEgcGlkIGZpbGUgKi8KKy0JaWYgKG5vX3BpZF9maWxlID09IElTQ19UUlVFKSB7CisrCWlmIChub19waWRfZmlsZSA9PSB0cnVlKSB7CisgCQlyZXR1cm47CisgCX0KKyAKK0BAIC00NzI3LDcgKzQ3MjcsNyBAQCB1bnNpZ25lZCBjb25zX2FnZW50X2luZm9ybWF0aW9uX29wdGlvbnMKKyBzdGF0aWMgdm9pZCBzaHV0ZG93bl9leGl0ICh2b2lkICpmb28pCisgeworIAkvKiBnZXQgcmlkIG9mIHRoZSBwaWQgaWYgd2UgY2FuICovCistCWlmIChub19waWRfZmlsZSA9PSBJU0NfRkFMU0UpCisrCWlmIChub19waWRfZmlsZSA9PSBmYWxzZSkKKyAJCSh2b2lkKSB1bmxpbmsocGF0aF9kaGNsaWVudF9waWQpOworIAlmaW5pc2goMCk7CisgfQorSW5kZXg6IGRoY3AtNC40LjEvY29tbW9uL2luZXQuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9jb21tb24vaW5ldC5jCisrKysgZGhjcC00LjQuMS9jb21tb24vaW5ldC5jCitAQCAtMjk5LDcgKzI5OSw3IEBAIGFkZHJfYW5kKHN0cnVjdCBpYWRkciAqcmVzdWx0LCBjb25zdCBzdHIKKyAgKgorICAqIEJlY2F1c2UgdGhlIGZpbmFsICIuMSIgd291bGQgZ2V0IG1hc2tlZCBvdXQgYnkgdGhlIC84LgorICAqLworLWlzY19ib29sZWFuX3QKKytib29sCisgaXNfY2lkcl9tYXNrX3ZhbGlkKGNvbnN0IHN0cnVjdCBpYWRkciAqYWRkciwgaW50IGJpdHMpIHsKKyAJaW50IHplcm9fYml0czsKKyAJaW50IHplcm9fYnl0ZXM7CitAQCAtMzExLDEwICszMTEsMTAgQEAgaXNfY2lkcl9tYXNrX3ZhbGlkKGNvbnN0IHN0cnVjdCBpYWRkciAqYQorIAkgKiBDaGVjayBvdXIgYml0IGJvdW5kYXJpZXMuCisgCSAqLworIAlpZiAoYml0cyA8IDApIHsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAJaWYgKGJpdHMgPiAoYWRkci0+bGVuICogOCkpIHsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAKKyAJLyoKK0BAIC0zMjgsNyArMzI4LDcgQEAgaXNfY2lkcl9tYXNrX3ZhbGlkKGNvbnN0IHN0cnVjdCBpYWRkciAqYQorIAkgKi8KKyAJZm9yIChpPTE7IGk8PXplcm9fYnl0ZXM7IGkrKykgeworIAkJaWYgKGFkZHItPmlhYnVmW2FkZHItPmxlbi1pXSAhPSAwKSB7CistCQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCQlyZXR1cm4gZmFsc2U7CisgCQl9CisgCX0KKyAKK0BAIC0zNDAsNyArMzQwLDcgQEAgaXNfY2lkcl9tYXNrX3ZhbGlkKGNvbnN0IHN0cnVjdCBpYWRkciAqYQorIAkgKiBoYXBweS4KKyAJICovCisgCXNoaWZ0X2JpdHMgPSB6ZXJvX2JpdHMgJSA4OworLQlpZiAoc2hpZnRfYml0cyA9PSAwKSByZXR1cm4gSVNDX1RSVUU7CisrCWlmIChzaGlmdF9iaXRzID09IDApIHJldHVybiB0cnVlOworIAlieXRlID0gYWRkci0+aWFidWZbYWRkci0+bGVuLXplcm9fYnl0ZXMtMV07CisgCXJldHVybiAoKChieXRlID4+IHNoaWZ0X2JpdHMpIDw8IHNoaWZ0X2JpdHMpID09IGJ5dGUpOworIH0KK0luZGV4OiBkaGNwLTQuNC4xL2NvbW1vbi9vcHRpb25zLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvY29tbW9uL29wdGlvbnMuYworKysrIGRoY3AtNC40LjEvY29tbW9uL29wdGlvbnMuYworQEAgLTY3Niw3ICs2NzYsNyBAQCBjb25zX29wdGlvbnMoc3RydWN0IHBhY2tldCAqaW5wYWNrZXQsIHN0CisgCQkgKiB0aGUgcHJpb3JpdHlfbGlzdC4gVGhpcyB3YXkgd2UnbGwgc2VuZCBpdCB3aGV0aGVyIG9yIG5vdCBpdAorIAkJICogaXMgaW4gdGhlIFBSTC4gKi8KKyAJCWlmICgoaW5wYWNrZXQgIT0gTlVMTCkgJiYgKHByaW9yaXR5X2xlbiA8IFBSSU9SSVRZX0NPVU5UKSAmJgorLQkJICAgIChpbnBhY2tldC0+c3ZfZWNob19jbGllbnRfaWQgPT0gSVNDX1RSVUUpKSB7CisrCQkgICAgKGlucGFja2V0LT5zdl9lY2hvX2NsaWVudF9pZCA9PSB0cnVlKSkgeworIAkJCXByaW9yaXR5X2xpc3RbcHJpb3JpdHlfbGVuKytdID0KKyAJCQkJREhPX0RIQ1BfQ0xJRU5UX0lERU5USUZJRVI7CisgCQl9CitAQCAtMTgwMiw3ICsxODAyLDcgQEAgY29uc3QgY2hhciAqcHJldHR5X3ByaW50X29wdGlvbiAob3B0aW9uLAorIAljb25zdCB1bnNpZ25lZCBjaGFyICpkcCA9IGRhdGE7CisgCWNoYXIgY29tbWE7CisgCXVuc2lnbmVkIGxvbmcgdHZhbDsKKy0JaXNjX2Jvb2xlYW5fdCBhX2FycmF5ID0gSVNDX0ZBTFNFOworKwlib29sIGFfYXJyYXkgPSBmYWxzZTsKKyAJaW50IGxlbl91c2VkOworIAorIAlpZiAoZW1pdF9jb21tYXMpCitAQCAtMTgyOCw3ICsxODI4LDcgQEAgY29uc3QgY2hhciAqcHJldHR5X3ByaW50X29wdGlvbiAob3B0aW9uLAorIAkJZm10YnVmIFtsXSA9IG9wdGlvbiAtPiBmb3JtYXQgW2ldOworIAkJc3dpdGNoIChvcHRpb24gLT4gZm9ybWF0IFtpXSkgeworIAkJICAgICAgY2FzZSAnYSc6CistCQkJYV9hcnJheSA9IElTQ19UUlVFOworKwkJCWFfYXJyYXkgPSB0cnVlOworIAkJCS8qIEZhbGwgdGhyb3VnaCAqLworIAkJICAgICAgY2FzZSAnQSc6CisgCQkJLS1udW1lbGVtOworQEAgLTE4NTgsNyArMTg1OCw3IEBAIGNvbnN0IGNoYXIgKnByZXR0eV9wcmludF9vcHRpb24gKG9wdGlvbiwKKyAJCQkJaHVua3NpemUrKzsKKyAJCQkJY29tbWEgPSAnOic7CisgCQkJCW51bWh1bmsgPSAwOworLQkJCQlhX2FycmF5ID0gSVNDX1RSVUU7CisrCQkJCWFfYXJyYXkgPSB0cnVlOworIAkJCQlodW5raW5jID0gMTsKKyAJCQl9CisgCQkJZm10YnVmIFtsICsgMV0gPSAwOworQEAgLTE5NTQsNyArMTk1NCw3IEBAIGNvbnN0IGNoYXIgKnByZXR0eV9wcmludF9vcHRpb24gKG9wdGlvbiwKKyAKKyAJLyogSWYgdGhpcyBpcyBhbiBhcnJheSwgY29tcHV0ZSBpdHMgc2l6ZS4gKi8KKyAJaWYgKG51bWh1bmsgPT0gMCkgeworLQkJaWYgKGFfYXJyYXkgPT0gSVNDX1RSVUUpIHsKKysJCWlmIChhX2FycmF5ID09IHRydWUpIHsKKyAJCQkvKgorIAkJCSAqIEl0IGlzIGFuICdhJyB0eXBlIGFycmF5IC0gd2UgcmVwZWF0IHRoZQorIAkJCSAqIGxhc3QgZm9ybWF0IHR5cGUuICBBIGJpbmFyeSBzdHJpbmcgZm9yICdYJworQEAgLTIwMDYsNyArMjAwNiw3IEBAIGNvbnN0IGNoYXIgKnByZXR0eV9wcmludF9vcHRpb24gKG9wdGlvbiwKKyAKKyAJLyogQ3ljbGUgdGhyb3VnaCB0aGUgYXJyYXkgKG9yIGh1bmspIHByaW50aW5nIHRoZSBkYXRhLiAqLworIAlmb3IgKGkgPSAwOyBpIDwgbnVtaHVuazsgaSsrKSB7CistCQlpZiAoKGFfYXJyYXkgPT0gSVNDX1RSVUUpICYmIChpICE9IDApICYmIChudW1lbGVtID4gMCkpIHsKKysJCWlmICgoYV9hcnJheSA9PSB0cnVlKSAmJiAoaSAhPSAwKSAmJiAobnVtZWxlbSA+IDApKSB7CisgCQkJLyoKKyAJCQkgKiBGb3IgJ2EnIHR5cGUgb2YgYXJyYXlzIHdlIHJlcGVhdAorIAkJCSAqIG9ubHkgdGhlIGxhc3QgZm9ybWF0IGNoYXJhY3RlcgorQEAgLTI3MzQsNyArMjczNCw3IEBAIHNhdmVfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqdW5pdmVyc2UsIHMKKyAJICAgIHN0cnVjdCBvcHRpb25fY2FjaGUgKm9jKQorIHsKKyAJaWYgKHVuaXZlcnNlLT5zYXZlX2Z1bmMpCistCQkoKnVuaXZlcnNlLT5zYXZlX2Z1bmMpKHVuaXZlcnNlLCBvcHRpb25zLCBvYywgSVNDX0ZBTFNFKTsKKysJCSgqdW5pdmVyc2UtPnNhdmVfZnVuYykodW5pdmVyc2UsIG9wdGlvbnMsIG9jLCB0cnVlKTsKKyAJZWxzZQorIAkJbG9nX2Vycm9yKCJjYW4ndCBzdG9yZSBvcHRpb25zIGluICVzIHNwYWNlLiIsIHVuaXZlcnNlLT5uYW1lKTsKKyB9CitAQCAtMjc0NSwxNCArMjc0NSwxNCBAQCBhbHNvX3NhdmVfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqdW5pdmVyCisgCQkgc3RydWN0IG9wdGlvbl9jYWNoZSAqb2MpCisgeworIAlpZiAodW5pdmVyc2UtPnNhdmVfZnVuYykKKy0JCSgqdW5pdmVyc2UtPnNhdmVfZnVuYykodW5pdmVyc2UsIG9wdGlvbnMsIG9jLCBJU0NfVFJVRSk7CisrCQkoKnVuaXZlcnNlLT5zYXZlX2Z1bmMpKHVuaXZlcnNlLCBvcHRpb25zLCBvYywgdHJ1ZSk7CisgCWVsc2UKKyAJCWxvZ19lcnJvcigiY2FuJ3Qgc3RvcmUgb3B0aW9ucyBpbiAlcyBzcGFjZS4iLCB1bml2ZXJzZS0+bmFtZSk7CisgfQorIAorIHZvaWQKKyBzYXZlX2hhc2hlZF9vcHRpb24oc3RydWN0IHVuaXZlcnNlICp1bml2ZXJzZSwgc3RydWN0IG9wdGlvbl9zdGF0ZSAqb3B0aW9ucywKKy0JCSAgIHN0cnVjdCBvcHRpb25fY2FjaGUgKm9jLCBpc2NfYm9vbGVhbl90IGFwcGVuZHApCisrCQkgICBzdHJ1Y3Qgb3B0aW9uX2NhY2hlICpvYywgYm9vbCBhcHBlbmRwKQorIHsKKyAJaW50IGhhc2hpeDsKKyAJcGFpciBicHRyOworQEAgLTMwNjIsNyArMzA2Miw3IEBAIHN0b3JlX29wdGlvbihzdHJ1Y3QgZGF0YV9zdHJpbmcgKnJlc3VsdCwKKyAJCQkJCQkgIGNmZ19vcHRpb25zLCBzY29wZSwgc3VidSk7CisgCQkJCXN1YnUgPSBOVUxMOworIAkJCX0KKy0JCX0gd2hpbGUgKElTQ19GQUxTRSk7CisrCQl9IHdoaWxlIChmYWxzZSk7CisgCisgCQlzdGF0dXMgPSBhcHBlbmRfb3B0aW9uKHJlc3VsdCwgdW5pdmVyc2UsIG9jLT5vcHRpb24sICZ0bXApOworIAkJZGF0YV9zdHJpbmdfZm9yZ2V0KCZ0bXAsIE1ETCk7CitAQCAtMzQ1OSw3ICszNDU5LDcgQEAgbG9va3VwX2ZxZG42X29wdGlvbihzdHJ1Y3QgdW5pdmVyc2UgKnVuaQorICAqLworIHZvaWQKKyBzYXZlX2ZxZG42X29wdGlvbihzdHJ1Y3QgdW5pdmVyc2UgKnVuaXZlcnNlLCBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICpvcHRpb25zLAorLQkJICBzdHJ1Y3Qgb3B0aW9uX2NhY2hlICpvYywgaXNjX2Jvb2xlYW5fdCBhcHBlbmRwKQorKwkJICBzdHJ1Y3Qgb3B0aW9uX2NhY2hlICpvYywgYm9vbCBhcHBlbmRwKQorIHsKKyAJbG9nX2ZhdGFsKCJJbXBvc3NpYmxlIGNvbmRpdGlvbiBhdCAlczolZC4iLCBNREwpOworIH0KK0BAIC0zNzg0LDcgKzM3ODQsNyBAQCB2b2lkIGhhc2hlZF9vcHRpb25fc3BhY2VfZm9yZWFjaCAoc3RydWN0CisgCisgdm9pZAorIHNhdmVfbGlua2VkX29wdGlvbihzdHJ1Y3QgdW5pdmVyc2UgKnVuaXZlcnNlLCBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICpvcHRpb25zLAorLQkJICAgc3RydWN0IG9wdGlvbl9jYWNoZSAqb2MsIGlzY19ib29sZWFuX3QgYXBwZW5kcCkKKysJCSAgIHN0cnVjdCBvcHRpb25fY2FjaGUgKm9jLCBib29sIGFwcGVuZHApCisgeworIAlwYWlyICp0YWlsOworIAlzdHJ1Y3Qgb3B0aW9uX2NoYWluX2hlYWQgKmhlYWQ7CitAQCAtNDA3Myw3ICs0MDczLDcgQEAgcGFja2V0Nl9sZW5fb2theShjb25zdCBjaGFyICpwYWNrZXQsIGludAorIHZvaWQKKyBkb19wYWNrZXQ2KHN0cnVjdCBpbnRlcmZhY2VfaW5mbyAqaW50ZXJmYWNlLCBjb25zdCBjaGFyICpwYWNrZXQsCisgCSAgIGludCBsZW4sIGludCBmcm9tX3BvcnQsIGNvbnN0IHN0cnVjdCBpYWRkciAqZnJvbSwKKy0JICAgaXNjX2Jvb2xlYW5fdCB3YXNfdW5pY2FzdCkgeworKwkgICBib29sIHdhc191bmljYXN0KSB7CisgCXVuc2lnbmVkIGNoYXIgbXNnX3R5cGU7CisgCWNvbnN0IHN0cnVjdCBkaGNwdjZfcGFja2V0ICptc2c7CisgCWNvbnN0IHN0cnVjdCBkaGNwdjZfcmVsYXlfcGFja2V0ICpyZWxheTsKK0luZGV4OiBkaGNwLTQuNC4xL2NvbW1vbi9wYXJzZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL2NvbW1vbi9wYXJzZS5jCisrKysgZGhjcC00LjQuMS9jb21tb24vcGFyc2UuYworQEAgLTQ5NTIsNyArNDk1Miw3IEBAIGludCBwYXJzZV9vcHRpb25fdG9rZW4gKHJ2LCBjZmlsZSwgZm10LAorIAl1bnNpZ25lZCBsZW47CisgCXN0cnVjdCBpYWRkciBhZGRyOworIAlpbnQgY29tcHJlc3M7CistCWlzY19ib29sZWFuX3QgZnJlZXZhbCA9IElTQ19GQUxTRTsKKysJYm9vbCBmcmVldmFsID0gZmFsc2U7CisgCWNvbnN0IGNoYXIgKmYsICpnOworIAlzdHJ1Y3QgZW51bWVyYXRpb25fdmFsdWUgKmU7CisgCitAQCAtNTAzOCw3ICs1MDM4LDcgQEAgaW50IHBhcnNlX29wdGlvbl90b2tlbiAocnYsIGNmaWxlLCBmbXQsCisgCQkJcmV0dXJuIDA7CisgCQl9CisgCQlsZW4gPSBzdHJsZW4gKHZhbCk7CistCQlmcmVldmFsID0gSVNDX1RSVUU7CisrCQlmcmVldmFsID0gdHJ1ZTsKKyAJCWdvdG8gbWFrZV9zdHJpbmc7CisgCisgCSAgICAgIGNhc2UgJ3QnOiAvKiBUZXh0IHN0cmluZy4uLiAqLworQEAgLTUwNTUsOSArNTA1NSw5IEBAIGludCBwYXJzZV9vcHRpb25fdG9rZW4gKHJ2LCBjZmlsZSwgZm10LAorIAkJaWYgKCFtYWtlX2NvbnN0X2RhdGEgKCZ0LCAoY29uc3QgdW5zaWduZWQgY2hhciAqKXZhbCwKKyAJCQkJICAgICAgbGVuLCAxLCAxLCBNREwpKQorIAkJCWxvZ19mYXRhbCAoIk5vIG1lbW9yeSBmb3IgY29uY2F0ZW5hdGlvbiIpOworLQkJaWYgKGZyZWV2YWwgPT0gSVNDX1RSVUUpIHsKKysJCWlmIChmcmVldmFsID09IHRydWUpIHsKKyAJCQlkZnJlZSgoY2hhciAqKXZhbCwgTURMKTsKKy0JCQlmcmVldmFsID0gSVNDX0ZBTFNFOworKwkJCWZyZWV2YWwgPSBmYWxzZTsKKyAJCQlQT1NUKGZyZWV2YWwpOworIAkJfQorIAkJYnJlYWs7CitJbmRleDogZGhjcC00LjQuMS9vbWFwaXAvZGlzcGF0Y2guYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9vbWFwaXAvZGlzcGF0Y2guYworKysrIGRoY3AtNC40LjEvb21hcGlwL2Rpc3BhdGNoLmMKK0BAIC0xNTYsNyArMTU2LDcgQEAgb21hcGlfaXNjc29ja19jYihpc2NfdGFza190ICAgKnRhc2ssCisgCSAqIFRoaXMgc2hvdWxkIGJlIGEgdGVtcG9yYXJ5IGZpeCB1bnRpbCB3ZSBhcnJhbmdlIHRvIHByb3Blcmx5CisgCSAqIGNsb3NlIHRoZSBzb2NrZXQuCisgCSAqLworLQlpZiAob2JqLT5jbG9zZWQgPT0gSVNDX1RSVUUpIHsKKysJaWYgKG9iai0+Y2xvc2VkID09IHRydWUpIHsKKyAJCXJldHVybigwKTsKKyAJfQorICNlbmRpZgkgIAorQEAgLTIyMyw3ICsyMjMsNyBAQCBpc2NfcmVzdWx0X3Qgb21hcGlfcmVnaXN0ZXJfaW9fb2JqZWN0IChvCisgCXN0YXR1cyA9IG9tYXBpX2lvX2FsbG9jYXRlICgmb2JqLCBNREwpOworIAlpZiAoc3RhdHVzICE9IElTQ19SX1NVQ0NFU1MpCisgCQlyZXR1cm4gc3RhdHVzOworLQlvYmotPmNsb3NlZCA9IElTQ19GQUxTRTsgIC8qIG1hcmsgYXMgb3BlbiAqLworKwlvYmotPmNsb3NlZCA9IGZhbHNlOyAgLyogbWFyayBhcyBvcGVuICovCisgCisgCXN0YXR1cyA9IG9tYXBpX29iamVjdF9yZWZlcmVuY2UgKCZvYmogLT4gaW5uZXIsIGgsIE1ETCk7CisgCWlmIChzdGF0dXMgIT0gSVNDX1JfU1VDQ0VTUykgeworQEAgLTQwNCw3ICs0MDQsNyBAQCBpc2NfcmVzdWx0X3Qgb21hcGlfdW5yZWdpc3Rlcl9pb19vYmplY3QKKyAJCWlzY19zb2NrZXRfZGV0YWNoKCZvYmotPmZkKTsKKyAJfQorICNlbHNlCistCW9iai0+Y2xvc2VkID0gSVNDX1RSVUU7CisrCW9iai0+Y2xvc2VkID0gdHJ1ZTsKKyAjZW5kaWYKKyAKKyAJb21hcGlfaW9fZGVyZWZlcmVuY2UgKCZwaCwgTURMKTsKK0luZGV4OiBkaGNwLTQuNC4xL29tYXBpcC9pc2NsaWIuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9vbWFwaXAvaXNjbGliLmMKKysrKyBkaGNwLTQuNC4xL29tYXBpcC9pc2NsaWIuYworQEAgLTEwNiw5ICsxMDYsOSBAQCBpc2NsaWJfY2xlYW51cCh2b2lkKQorIAlpZiAoZGhjcF9nYmxfY3R4LnRhc2ttZ3IgIT0gTlVMTCkKKyAJCWlzY190YXNrbWdyX2Rlc3Ryb3koJmRoY3BfZ2JsX2N0eC50YXNrbWdyKTsKKyAKKy0JaWYgKGRoY3BfZ2JsX2N0eC5hY3R4X3N0YXJ0ZWQgIT0gSVNDX0ZBTFNFKSB7CisrCWlmIChkaGNwX2dibF9jdHguYWN0eF9zdGFydGVkICE9IGZhbHNlKSB7CisgCQlpc2NfYXBwX2N0eGZpbmlzaChkaGNwX2dibF9jdHguYWN0eCk7CistCQlkaGNwX2dibF9jdHguYWN0eF9zdGFydGVkID0gSVNDX0ZBTFNFOworKwkJZGhjcF9nYmxfY3R4LmFjdHhfc3RhcnRlZCA9IGZhbHNlOworIAl9CisgCisgCWlmIChkaGNwX2dibF9jdHguYWN0eCAhPSBOVUxMKQorQEAgLTIxMSw3ICsyMTEsNyBAQCBkaGNwX2NvbnRleHRfY3JlYXRlKGludCBmbGFncywKKyAJCXJlc3VsdCA9IGlzY19hcHBfY3R4c3RhcnQoZGhjcF9nYmxfY3R4LmFjdHgpOworIAkJaWYgKHJlc3VsdCAhPSBJU0NfUl9TVUNDRVNTKQorIAkJCXJldHVybiAocmVzdWx0KTsKKy0JCWRoY3BfZ2JsX2N0eC5hY3R4X3N0YXJ0ZWQgPSBJU0NfVFJVRTsKKysJCWRoY3BfZ2JsX2N0eC5hY3R4X3N0YXJ0ZWQgPSB0cnVlOworIAorIAkJLyogTm90IGFsbCBPU3Mgc3VwcG9ydCBzdXBwcmVzc2luZyBTSUdQSVBFIHRocm91Z2ggc29ja2V0CisgCQkgKiBvcHRpb25zLCBzbyBzZXQgdGhlIHNpZ2FsIGFjdGlvbiB0byBiZSBpZ25vcmUuICBUaGlzIGFsbG93cworSW5kZXg6IGRoY3AtNC40LjEvb21hcGlwL3Byb3RvY29sLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvb21hcGlwL3Byb3RvY29sLmMKKysrKyBkaGNwLTQuNC4xL29tYXBpcC9wcm90b2NvbC5jCitAQCAtOTUwLDE0ICs5NTAsMTQgQEAgaXNjX3Jlc3VsdF90IG9tYXBpX3Byb3RvY29sX3N0dWZmX3ZhbHVlcworIC8qIFJldHVybnMgYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGlzIHByb3RvY29sIHJlcXVpcmVzIHRoYXQKKyAgICBtZXNzYWdlcyBiZSBhdXRoZW50aWNhdGVkIG9yIG5vdC4gKi8KKyAKKy1pc2NfYm9vbGVhbl90IG9tYXBpX3Byb3RvY29sX2F1dGhlbnRpY2F0ZWQgKG9tYXBpX29iamVjdF90ICpoKQorK2Jvb2wgb21hcGlfcHJvdG9jb2xfYXV0aGVudGljYXRlZCAob21hcGlfb2JqZWN0X3QgKmgpCisgeworIAlpZiAoaCAtPiB0eXBlICE9IG9tYXBpX3R5cGVfcHJvdG9jb2wpCistCQlyZXR1cm4gaXNjX2Jvb2xlYW5fZmFsc2U7CisrCQlyZXR1cm4gZmFsc2U7CisgCWlmICgoKG9tYXBpX3Byb3RvY29sX29iamVjdF90ICopaCkgLT4gaW5zZWN1cmUpCistCQlyZXR1cm4gaXNjX2Jvb2xlYW5fZmFsc2U7CisrCQlyZXR1cm4gZmFsc2U7CisgCWVsc2UKKy0JCXJldHVybiBpc2NfYm9vbGVhbl90cnVlOworKwkJcmV0dXJuIHRydWU7CisgfQorIAorIC8qIFNldHMgdGhlIGFkZHJlc3MgYW5kIGF1dGhlbnRpY2F0b3IgdmVyaWZpY2F0aW9uIGNhbGxiYWNrcy4gIFRoZSBoYW5kbGUKK0luZGV4OiBkaGNwLTQuNC4xL3JlbGF5L2RoY3JlbGF5LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvcmVsYXkvZGhjcmVsYXkuYworKysrIGRoY3AtNC40LjEvcmVsYXkvZGhjcmVsYXkuYworQEAgLTQ1LDkgKzQ1LDkgQEAgY2hhciAqdG9rZW5fbGluZTsKKyBjaGFyICp0bG5hbWU7CisgCisgY29uc3QgY2hhciAqcGF0aF9kaGNyZWxheV9waWQgPSBfUEFUSF9ESENSRUxBWV9QSUQ7CistaXNjX2Jvb2xlYW5fdCBub19kaGNyZWxheV9waWQgPSBJU0NfRkFMU0U7CisrYm9vbCBub19kaGNyZWxheV9waWQgPSBmYWxzZTsKKyAvKiBGYWxzZSAoZGVmYXVsdCkgPT4gd2Ugd3JpdGUgYW5kIHVzZSBhIHBpZCBmaWxlICovCistaXNjX2Jvb2xlYW5fdCBub19waWRfZmlsZSA9IElTQ19GQUxTRTsKKytib29sIG5vX3BpZF9maWxlID0gZmFsc2U7CisgCisgaW50IGJvZ3VzX2FnZW50X2Ryb3BzID0gMDsJLyogUGFja2V0cyBkcm9wcGVkIGJlY2F1c2UgYWdlbnQgb3B0aW9uCisgCQkJCSAgIGZpZWxkIHdhcyBzcGVjaWZpZWQgYW5kIHdlJ3JlIG5vdCByZWxheWluZworQEAgLTgyLDcgKzgyLDcgQEAgaW50IGRmZFsyXSA9IHsgLTEsIC0xIH07CisgCisgI2lmZGVmIERIQ1B2NgorIAkvKiBGb3JjZSB1c2Ugb2YgREhDUHY2IGludGVyZmFjZS1pZCBvcHRpb24uICovCistaXNjX2Jvb2xlYW5fdCB1c2VfaWZfaWQgPSBJU0NfRkFMU0U7CisrYm9vbCB1c2VfaWZfaWQgPSBmYWxzZTsKKyAjZW5kaWYKKyAKKyAJLyogTWF4aW11bSBzaXplIG9mIGEgcGFja2V0IHdpdGggYWdlbnQgb3B0aW9ucyBhZGRlZC4gKi8KK0BAIC01NTYsNyArNTU2LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAJCQl9CisgCQkJbG9jYWxfZmFtaWx5X3NldCA9IDE7CisgCQkJbG9jYWxfZmFtaWx5ID0gQUZfSU5FVDY7CistCQkJdXNlX2lmX2lkID0gSVNDX1RSVUU7CisrCQkJdXNlX2lmX2lkID0gdHJ1ZTsKKyAJCX0gZWxzZSBpZiAoIXN0cmNtcChhcmd2W2ldLCAiLWwiKSkgeworIAkJCWlmIChsb2NhbF9mYW1pbHlfc2V0ICYmIChsb2NhbF9mYW1pbHkgPT0gQUZfSU5FVCkpIHsKKyAJCQkJdXNhZ2UodXNlX3Y2Y29tbWFuZCwgYXJndltpXSk7CitAQCAtNTY0LDcgKzU2NCw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgCQkJbG9jYWxfZmFtaWx5X3NldCA9IDE7CisgCQkJbG9jYWxfZmFtaWx5ID0gQUZfSU5FVDY7CisgCQkJaWYgKGRvd25zdHJlYW1zICE9IE5VTEwpCistCQkJCXVzZV9pZl9pZCA9IElTQ19UUlVFOworKwkJCQl1c2VfaWZfaWQgPSB0cnVlOworIAkJCWlmICgrK2kgPT0gYXJnYykKKyAJCQkJdXNhZ2UodXNlX25vYXJnLCBhcmd2W2ktMV0pOworIAkJCXNsID0gcGFyc2VfZG93bnN0cmVhbShhcmd2W2ldKTsKK0BAIC01OTUsOSArNTk1LDkgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAJCQlpZiAoKytpID09IGFyZ2MpCisgCQkJCXVzYWdlKHVzZV9ub2FyZywgYXJndltpLTFdKTsKKyAJCQlwYXRoX2RoY3JlbGF5X3BpZCA9IGFyZ3ZbaV07CistCQkJbm9fZGhjcmVsYXlfcGlkID0gSVNDX1RSVUU7CisrCQkJbm9fZGhjcmVsYXlfcGlkID0gdHJ1ZTsKKyAJCX0gZWxzZSBpZiAoIXN0cmNtcChhcmd2W2ldLCAiLS1uby1waWQiKSkgeworLQkJCW5vX3BpZF9maWxlID0gSVNDX1RSVUU7CisrCQkJbm9fcGlkX2ZpbGUgPSB0cnVlOworICAJCX0gZWxzZSBpZiAoYXJndltpXVswXSA9PSAnLScpIHsKKyAJCQl1c2FnZSgiVW5rbm93biBjb21tYW5kOiAlcyIsIGFyZ3ZbaV0pOworICAJCX0gZWxzZSB7CitAQCAtNjQ1LDcgKzY0NSw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgCSAqIElmIHRoZSB1c2VyIGRpZG4ndCBzcGVjaWZ5IGEgcGlkIGZpbGUgZGlyZWN0bHkKKyAJICogZmluZCBvbmUgZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgb3IgZGVmYXVsdHMKKyAJICovCistCWlmIChub19kaGNyZWxheV9waWQgPT0gSVNDX0ZBTFNFKSB7CisrCWlmIChub19kaGNyZWxheV9waWQgPT0gZmFsc2UpIHsKKyAJCWlmIChsb2NhbF9mYW1pbHkgPT0gQUZfSU5FVCkgeworIAkJCXBhdGhfZGhjcmVsYXlfcGlkID0gZ2V0ZW52KCJQQVRIX0RIQ1JFTEFZX1BJRCIpOworIAkJCWlmIChwYXRoX2RoY3JlbGF5X3BpZCA9PSBOVUxMKQorQEAgLTc3NCw3ICs3NzQsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworIAkJfQorIAorIAkJLyogQ3JlYXRlIHRoZSBwaWQgZmlsZS4gKi8KKy0JCWlmIChub19waWRfZmlsZSA9PSBJU0NfRkFMU0UpIHsKKysJCWlmIChub19waWRfZmlsZSA9PSBmYWxzZSkgeworIAkJCXBmZGVzYyA9IG9wZW4ocGF0aF9kaGNyZWxheV9waWQsCisgCQkJCSAgICAgIE9fQ1JFQVQgfCBPX1RSVU5DIHwgT19XUk9OTFksIDA2NDQpOworIAorQEAgLTE1NjksNyArMTU2OSw3IEBAIHN0YXRpYyB2b2lkCisgc2V0dXBfc3RyZWFtcyh2b2lkKSB7CisgCXN0cnVjdCBzdHJlYW1fbGlzdCAqZHAsICp1cDsKKyAJaW50IGk7CistCWlzY19ib29sZWFuX3QgbGlua19pc19zZXQ7CisrCWJvb2wgbGlua19pc19zZXQ7CisgCisgCWZvciAoZHAgPSBkb3duc3RyZWFtczsgZHA7IGRwID0gZHAtPm5leHQpIHsKKyAJCS8qIENoZWNrIGludGVyZmFjZSAqLworQEAgLTE1NzksOSArMTU3OSw5IEBAIHNldHVwX3N0cmVhbXModm9pZCkgeworIAorIAkJLyogQ2hlY2svc2V0IGxpbmsuICovCisgCQlpZiAoSU42X0lTX0FERFJfVU5TUEVDSUZJRUQoJmRwLT5saW5rLnNpbjZfYWRkcikpCistCQkJbGlua19pc19zZXQgPSBJU0NfRkFMU0U7CisrCQkJbGlua19pc19zZXQgPSBmYWxzZTsKKyAJCWVsc2UKKy0JCQlsaW5rX2lzX3NldCA9IElTQ19UUlVFOworKwkJCWxpbmtfaXNfc2V0ID0gdHJ1ZTsKKyAJCWZvciAoaSA9IDA7IGkgPCBkcC0+aWZwLT52NmFkZHJlc3NfY291bnQ7IGkrKykgeworIAkJCWlmIChJTjZfSVNfQUREUl9MSU5LTE9DQUwoJmRwLT5pZnAtPnY2YWRkcmVzc2VzW2ldKSkKKyAJCQkJY29udGludWU7CitAQCAtMjA3Niw3ICsyMDc2LDcgQEAgZGhjcF9zZXRfY29udHJvbF9zdGF0ZShjb250cm9sX29iamVjdF9zdAorIAlpZiAobmV3c3RhdGUgIT0gc2VydmVyX3NodXRkb3duKQorIAkJcmV0dXJuIElTQ19SX1NVQ0NFU1M7CisgCistCWlmIChub19waWRfZmlsZSA9PSBJU0NfRkFMU0UpCisrCWlmIChub19waWRfZmlsZSA9PSBmYWxzZSkKKyAJCSh2b2lkKSB1bmxpbmsocGF0aF9kaGNyZWxheV9waWQpOworIAorIAlpZiAoIW5vX2RhZW1vbiAmJiBkZmRbMF0gIT0gLTEgJiYgZGZkWzFdICE9IC0xKSB7CitJbmRleDogZGhjcC00LjQuMS9zZXJ2ZXIvZGhjcC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL3NlcnZlci9kaGNwLmMKKysrKyBkaGNwLTQuNC4xL3NlcnZlci9kaGNwLmMKK0BAIC0yMjUsNyArMjI1LDcgQEAgZGhjcCAoc3RydWN0IHBhY2tldCAqcGFja2V0KSB7CisgCQkJcGFja2V0LT5vcHRpb25zLT51bml2ZXJzZV9jb3VudCA9CisgCQkJCQkJYWdlbnRfdW5pdmVyc2UuaW5kZXggKyAxOworIAorLQkJcGFja2V0LT5hZ2VudF9vcHRpb25zX3N0YXNoZWQgPSBJU0NfVFJVRTsKKysJCXBhY2tldC0+YWdlbnRfb3B0aW9uc19zdGFzaGVkID0gdHJ1ZTsKKyAJfQorICAgICAgIG5vbGVhc2U6CisgCitAQCAtMTA5NCw3ICsxMDk0LDcgQEAgdm9pZCBkaGNwaW5mb3JtIChwYWNrZXQsIG1zX251bGx0cCkKKyAJaW50IG51bGx0cDsKKyAJc3RydWN0IHNvY2thZGRyX2luIHRvOworIAlzdHJ1Y3QgaW5fYWRkciBmcm9tOworLQlpc2NfYm9vbGVhbl90IHplcm9lZF9jaWFkZHI7CisrCWJvb2wgemVyb2VkX2NpYWRkcjsKKyAJc3RydWN0IGludGVyZmFjZV9pbmZvICppbnRlcmZhY2U7CisgCWludCByZXN1bHQsIGhfbV9jbGllbnRfaXAgPSAwOworIAlzdHJ1Y3QgaG9zdF9kZWNsICAqaG9zdCA9IE5VTEwsICpocCA9IE5VTEwsICpoOworQEAgLTExMDksNyArMTEwOSw3IEBAIHZvaWQgZGhjcGluZm9ybSAocGFja2V0LCBtc19udWxsdHApCisgCSAgIGl0J3MgY29tbW9uIGZvciBjbGllbnRzIG5vdCB0byBkbyB0aGlzLCBzbyB3ZSdsbCB1c2UgdGhlaXIgSVAKKyAJICAgc291cmNlIGFkZHJlc3MgaWYgdGhleSBkaWRuJ3Qgc2V0IGNpYWRkci4gKi8KKyAJaWYgKCFwYWNrZXQtPnJhdy0+Y2lhZGRyLnNfYWRkcikgeworLQkJemVyb2VkX2NpYWRkciA9IElTQ19UUlVFOworKwkJemVyb2VkX2NpYWRkciA9IHRydWU7CisgCQkvKiBXaXRoIERIQ1B2NC1vdmVyLURIQ1B2NiBpdCBjYW4gYmUgYW4gSVB2NiBhZGRyZXNzCisgCQkgICBzbyB3ZSBjaGVjayBpdHMgbGVuZ3RoLiAqLworIAkJaWYgKHBhY2tldC0+Y2xpZW50X2FkZHIubGVuID09IDQpIHsKK0BAIC0xMTIyLDcgKzExMjIsNyBAQCB2b2lkIGRoY3BpbmZvcm0gKHBhY2tldCwgbXNfbnVsbHRwKQorIAkJCWFkZHJfdHlwZSA9ICJ2NG82IjsKKyAJCX0KKyAJfSBlbHNlIHsKKy0JCXplcm9lZF9jaWFkZHIgPSBJU0NfRkFMU0U7CisrCQl6ZXJvZWRfY2lhZGRyID0gZmFsc2U7CisgCQljaXAubGVuID0gNDsKKyAJCW1lbWNweShjaXAuaWFidWYsICZwYWNrZXQtPnJhdy0+Y2lhZGRyLCA0KTsKKyAJCWFkZHJfdHlwZSA9ICJjbGllbnQiOworQEAgLTExMzMsNyArMTEzMyw3IEBAIHZvaWQgZGhjcGluZm9ybSAocGFja2V0LCBtc19udWxsdHApCisgCWlmIChwYWNrZXQtPnJhdy0+Z2lhZGRyLnNfYWRkcikgeworIAkJZ2lwLmxlbiA9IDQ7CisgCQltZW1jcHkoZ2lwLmlhYnVmLCAmcGFja2V0LT5yYXctPmdpYWRkciwgNCk7CistCQlpZiAoemVyb2VkX2NpYWRkciA9PSBJU0NfVFJVRSkgeworKwkJaWYgKHplcm9lZF9jaWFkZHIgPT0gdHJ1ZSkgeworIAkJCWFkZHJfdHlwZSA9ICJyZWxheSI7CisgCQkJbWVtY3B5KHNpcC5pYWJ1ZiwgZ2lwLmlhYnVmLCA0KTsKKyAJCX0KK0BAIC0xMjA3LDcgKzEyMDcsNyBAQCB2b2lkIGRoY3BpbmZvcm0gKHBhY2tldCwgbXNfbnVsbHRwKQorIAkJc2F2ZV9vcHRpb24oJmRoY3BfdW5pdmVyc2UsIG9wdGlvbnMsIG5vYyk7CisgCQlvcHRpb25fY2FjaGVfZGVyZWZlcmVuY2UoJm5vYywgTURMKTsKKyAKKy0JCWlmICgoemVyb2VkX2NpYWRkciA9PSBJU0NfVFJVRSkgJiYgKGdpcC5sZW4gIT0gMCkpCisrCQlpZiAoKHplcm9lZF9jaWFkZHIgPT0gdHJ1ZSkgJiYgKGdpcC5sZW4gIT0gMCkpCisgCQkJYWRkcl90eXBlID0gInJlbGF5IGxpbmsgc2VsZWN0IjsKKyAJCWVsc2UKKyAJCQlhZGRyX3R5cGUgPSAic2VsZWN0ZWQiOworQEAgLTEyNjEsNyArMTI2MSw3IEBAIHZvaWQgZGhjcGluZm9ybSAocGFja2V0LCBtc19udWxsdHApCisgCQkJCSAgICBOVUxMLCBOVUxMKTsKKyAKKyAJLyogSWYgd2UgaGF2ZSBjaWFkZHIsIGZpbmQgaXRzIGxlYXNlIHNvIHdlIGNhbiBmaW5kIGl0cyBwb29sLiAqLworLQlpZiAoemVyb2VkX2NpYWRkciA9PSBJU0NfRkFMU0UpIHsKKysJaWYgKHplcm9lZF9jaWFkZHIgPT0gZmFsc2UpIHsKKyAJCXN0cnVjdCBsZWFzZSogY2lwX2xlYXNlID0gTlVMTDsKKyAKKyAJCWZpbmRfbGVhc2VfYnlfaXBfYWRkciAoJmNpcF9sZWFzZSwgY2lwLCBNREwpOworQEAgLTIwMzYsNyArMjAzNiw3IEBAIHZvaWQgZWNob19jbGllbnRfaWQocGFja2V0LCBsZWFzZSwgaW5fb3AKKyAJCXVuc2lnbmVkIGludCBvcGNvZGUgPSBESE9fREhDUF9DTElFTlRfSURFTlRJRklFUjsKKyAKKyAJCS8qIFNhdmUga25vd2xlZGdlIHRoYXQgZWNobyBpcyBlbmFibGVkIHRvIHRoZSBwYWNrZXQgKi8KKy0JCXBhY2tldC0+c3ZfZWNob19jbGllbnRfaWQgPSBJU0NfVFJVRTsKKysJCXBhY2tldC0+c3ZfZWNob19jbGllbnRfaWQgPSB0cnVlOworIAorIAkJLyogTm93IHNlZSBpZiBpbmJvdW5kIHBhY2tldCBjb250YWlucyBjbGllbnQtaWQgKi8KKyAJCW9jID0gbG9va3VwX29wdGlvbigmZGhjcF91bml2ZXJzZSwgcGFja2V0LT5vcHRpb25zLCBvcGNvZGUpOworQEAgLTIxODcsNyArMjE4Nyw3IEBAIHZvaWQgYWNrX2xlYXNlIChwYWNrZXQsIGxlYXNlLCBvZmZlciwgd2gKKyAJc3RydWN0IGlhZGRyIGNpcDsKKyAjaWYgZGVmaW5lZChERUxBWUVEX0FDSykKKyAJLyogQnkgZGVmYXVsdCB3ZSBkb24ndCBkbyB0aGUgZW5xdWV1ZSAqLworLQlpc2NfYm9vbGVhbl90IGVucXVldWUgPSBJU0NfRkFMU0U7CisrCWJvb2wgZW5xdWV1ZSA9IGZhbHNlOworICNlbmRpZgorIAlpbnQgdXNlX29sZF9sZWFzZSA9IDA7CisgCitAQCAtMzIxNyw3ICszMjE3LDcgQEAgdm9pZCBhY2tfbGVhc2UgKHBhY2tldCwgbGVhc2UsIG9mZmVyLCB3aAorIAkJICogY2FuIGp1c3QgYW5zd2VyIHJpZ2h0IGF3YXksIHNldCBhIGZsYWcgdG8gaW5kaWNhdGUgdGhpcy4KKyAJCSAqLworIAkJaWYgKGNvbW1pdCkKKy0JCQllbnF1ZXVlID0gSVNDX1RSVUU7CisrCQkJZW5xdWV1ZSA9IHRydWU7CisgCisgCQkvKiBJbnN0YWxsIHRoZSBuZXcgaW5mb3JtYXRpb24gb24gJ2x0JyBvbnRvIHRoZSBsZWFzZSBhdAorIAkJICogJ2xlYXNlJy4gIFdlIHdpbGwgbm90ICdjb21taXQnIHRoaXMgaW5mb3JtYXRpb24gdG8gZGlzaworQEAgLTQyMzQsNyArNDIzNCw3IEBAIGludCBmaW5kX2xlYXNlIChzdHJ1Y3QgbGVhc2UgKipscCwKKyAJICogcHJlZmVyZW5jZSwgc28gdGhlIGZpcnN0IG9uZSBpcyB0aGUgYmVzdCBvbmUuCisgCSAqLworIAl3aGlsZSAodWlkX2xlYXNlKSB7CistCQlpc2NfYm9vbGVhbl90IGRvX3JlbGVhc2UgPSAhcGFja2V0LT5yYXctPmNpYWRkci5zX2FkZHI7CisrCQlib29sIGRvX3JlbGVhc2UgPSAhcGFja2V0LT5yYXctPmNpYWRkci5zX2FkZHI7CisgI2lmIGRlZmluZWQgKERFQlVHX0ZJTkRfTEVBU0UpCisgCQlsb2dfaW5mbyAoInRyeWluZyBuZXh0IGxlYXNlIG1hdGNoaW5nIGNsaWVudCBpZDogJXMiLAorIAkJCSAgcGlhZGRyICh1aWRfbGVhc2UgLT4gaXBfYWRkcikpOworQEAgLTQyNjcsNyArNDI2Nyw3IEBAIGludCBmaW5kX2xlYXNlIChzdHJ1Y3QgbGVhc2UgKipscCwKKyAjZW5kaWYKKyAJCQkvKiBBbGxvdyBtdWx0aXBsZSBsZWFzZXMgdXNpbmcgdGhlIHNhbWUgVUlECisgCQkJICAgb24gZGlmZmVyZW50IHN1Ym5ldHdvcmtzLiAqLworLQkJCWRvX3JlbGVhc2UgPSBJU0NfRkFMU0U7CisrCQkJZG9fcmVsZWFzZSA9IGZhbHNlOworIAkJCWdvdG8gbl91aWQ7CisgCQl9CisgCitAQCAtNTMzMSw3ICs1MzMxLDcgQEAgZ2V0X3NlcnZlcl9zb3VyY2VfYWRkcmVzcyhzdHJ1Y3QgaW5fYWRkcgorIAlzdHJ1Y3Qgb3B0aW9uX2NhY2hlICpvYyA9IE5VTEw7CisgCXN0cnVjdCBkYXRhX3N0cmluZyBkOworIAlzdHJ1Y3QgaW5fYWRkciAqYSA9IE5VTEw7CistCWlzY19ib29sZWFuX3QgZm91bmQgPSBJU0NfRkFMU0U7CisrCWJvb2wgZm91bmQgPSBmYWxzZTsKKyAJaW50IGFsbG9jYXRlID0gMDsKKyAKKyAJbWVtc2V0KCZkLCAwLCBzaXplb2YoZCkpOworQEAgLTUzNDQsNyArNTM0NCw3IEBAIGdldF9zZXJ2ZXJfc291cmNlX2FkZHJlc3Moc3RydWN0IGluX2FkZHIKKyAJCQkJCSAgcGFja2V0LT5vcHRpb25zLCBvcHRpb25zLCAKKyAJCQkJCSAgJmdsb2JhbF9zY29wZSwgb2MsIE1ETCkpIHsKKyAJCQlpZiAoZC5sZW4gPT0gc2l6ZW9mKCpmcm9tKSkgeworLQkJCQlmb3VuZCA9IElTQ19UUlVFOworKwkJCQlmb3VuZCA9IHRydWU7CisgCQkJCW1lbWNweShmcm9tLCBkLmRhdGEsIHNpemVvZigqZnJvbSkpOworIAorIAkJCQkvKgorQEAgLTUzNjIsNyArNTM2Miw3IEBAIGdldF9zZXJ2ZXJfc291cmNlX2FkZHJlc3Moc3RydWN0IGluX2FkZHIKKyAJCW9jID0gTlVMTDsKKyAJfQorIAorLQlpZiAoKGZvdW5kID09IElTQ19GQUxTRSkgJiYKKysJaWYgKChmb3VuZCA9PSBmYWxzZSkgJiYKKyAJICAgIChwYWNrZXQtPmludGVyZmFjZS0+YWRkcmVzc19jb3VudCA+IDApKSB7CisgCQkqZnJvbSA9IHBhY2tldC0+aW50ZXJmYWNlLT5hZGRyZXNzZXNbMF07CisgCitJbmRleDogZGhjcC00LjQuMS9zZXJ2ZXIvZmFpbG92ZXIuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9zZXJ2ZXIvZmFpbG92ZXIuYworKysrIGRoY3AtNC40LjEvc2VydmVyL2ZhaWxvdmVyLmMKK0BAIC00NSw3ICs0NSw3IEBAIHN0YXRpYyBpc2NfcmVzdWx0X3QgZmFpbG92ZXJfbWVzc2FnZV9kZXIKKyBzdGF0aWMgdm9pZCBkaGNwX2ZhaWxvdmVyX3Bvb2xfYmFsYW5jZShkaGNwX2ZhaWxvdmVyX3N0YXRlX3QgKnN0YXRlKTsKKyBzdGF0aWMgdm9pZCBkaGNwX2ZhaWxvdmVyX3Bvb2xfcmVxYmFsYW5jZShkaGNwX2ZhaWxvdmVyX3N0YXRlX3QgKnN0YXRlKTsKKyBzdGF0aWMgaW50IGRoY3BfZmFpbG92ZXJfcG9vbF9kb2JhbGFuY2UoZGhjcF9mYWlsb3Zlcl9zdGF0ZV90ICpzdGF0ZSwKKy0JCQkJCWlzY19ib29sZWFuX3QgKnNlbmRyZXEpOworKwkJCQkJYm9vbCAqc2VuZHJlcSk7Cisgc3RhdGljIGlubGluZSBpbnQgc2Vjb25kYXJ5X25vdF9ob2FyZGluZyhkaGNwX2ZhaWxvdmVyX3N0YXRlX3QgKnN0YXRlLAorIAkJCQkJIHN0cnVjdCBwb29sICpwKTsKKyBzdGF0aWMgdm9pZCBzY3J1Yl9sZWFzZShzdHJ1Y3QgbGVhc2UqIGxlYXNlLCBjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSk7CitAQCAtMjQ2NCw3ICsyNDY0LDcgQEAgdm9pZAorIGRoY3BfZmFpbG92ZXJfcG9vbF9yZWJhbGFuY2Uodm9pZCAqZmFpbG92ZXJfc3RhdGUpCisgeworIAlkaGNwX2ZhaWxvdmVyX3N0YXRlX3QgKnN0YXRlOworLQlpc2NfYm9vbGVhbl90IHNlbmRyZXEgPSBJU0NfRkFMU0U7CisrCWJvb2wgc2VuZHJlcSA9IGZhbHNlOworIAorIAlzdGF0ZSA9IChkaGNwX2ZhaWxvdmVyX3N0YXRlX3QgKilmYWlsb3Zlcl9zdGF0ZTsKKyAKK0BAIC0yNTEyLDcgKzI1MTIsNyBAQCBkaGNwX2ZhaWxvdmVyX3Bvb2xfcmVxYmFsYW5jZShkaGNwX2ZhaWxvCisgICovCisgc3RhdGljIGludAorIGRoY3BfZmFpbG92ZXJfcG9vbF9kb2JhbGFuY2UoZGhjcF9mYWlsb3Zlcl9zdGF0ZV90ICpzdGF0ZSwKKy0JCQkgICAgaXNjX2Jvb2xlYW5fdCAqc2VuZHJlcSkKKysJCQkgICAgYm9vbCAqc2VuZHJlcSkKKyB7CisgCWludCBsdHMsIHRvdGFsLCB0aHJlc2gsIGhvbGQsIHBhbmljLCBwYXNzOworIAlpbnQgbGVhc2VzX3F1ZXVlZCA9IDA7CitAQCAtMjU4MSw3ICsyNTgxLDcgQEAgZGhjcF9mYWlsb3Zlcl9wb29sX2RvYmFsYW5jZShkaGNwX2ZhaWxvdgorIAorIAkJaWYgKChzZW5kcmVxICE9IE5VTEwpICYmIChsdHMgPCBwYW5pYykpIHsKKyAJCQlyZXFsb2cgPSAiICAocmVxdWVzdGluZyBwZWVyIHJlYmFsYW5jZSEpIjsKKy0JCQkqc2VuZHJlcSA9IElTQ19UUlVFOworKwkJCSpzZW5kcmVxID0gdHJ1ZTsKKyAJCX0gZWxzZQorIAkJCXJlcWxvZyA9ICIiOworIAorQEAgLTUxMTEsNyArNTExMSw3IEBAIGlzY19yZXN1bHRfdCBkaGNwX2ZhaWxvdmVyX3NlbmRfdXBkYXRlX2QKKyAgKiBhIG1vcmUgZGV0YWlsZWQgc3lzdGVtIG9mIHByZWZlcmVuY2VzIGlzIHJlcXVpcmVkLCBzbyB0aGlzIGlzIHNvbWV0aGluZyB3ZQorICAqIHNob3VsZCBtb25pdG9yIGFzIHdlIGdhaW4gZXhwZXJpZW5jZSB3aXRoIHRoZXNlIGR1ZWxpbmcgZXZlbnRzLgorICAqLworLXN0YXRpYyBpc2NfYm9vbGVhbl90Cisrc3RhdGljIGJvb2wKKyBmYWlsb3Zlcl9sZWFzZV9pc19iZXR0ZXIoZGhjcF9mYWlsb3Zlcl9zdGF0ZV90ICpzdGF0ZSwgc3RydWN0IGxlYXNlICpsZWFzZSwKKyAJCQkgZmFpbG92ZXJfbWVzc2FnZV90ICptc2cpCisgeworQEAgLTUxMzIsMTUgKzUxMzIsMTUgQEAgZmFpbG92ZXJfbGVhc2VfaXNfYmV0dGVyKGRoY3BfZmFpbG92ZXJfcworIAkgICAgICBjYXNlIEZUU19BQ1RJVkU6CisgCQlpZiAobXNnLT5iaW5kaW5nX3N0YXR1cyA9PSBGVFNfQUNUSVZFKSB7CisgCQkJaWYgKG1zZ19jbHR0IDwgbGVhc2UtPmNsdHQpCistCQkJCXJldHVybiBJU0NfVFJVRTsKKysJCQkJcmV0dXJuIHRydWU7CisgCQkJZWxzZSBpZiAobXNnX2NsdHQgPiBsZWFzZS0+Y2x0dCkKKy0JCQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCQkJcmV0dXJuIGZhbHNlOworIAkJCWVsc2UgaWYgKHN0YXRlLT5pX2FtID09IHByaW1hcnkpCistCQkJCXJldHVybiBJU0NfVFJVRTsKKysJCQkJcmV0dXJuIHRydWU7CisgCQkJZWxzZQorLQkJCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCQlyZXR1cm4gZmFsc2U7CisgCQl9IGVsc2UgaWYgKG1zZy0+YmluZGluZ19zdGF0dXMgPT0gRlRTX0VYUElSRUQpIHsKKy0JCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCXJldHVybiBmYWxzZTsKKyAJCX0KKyAJCS8qIEZBTEwgVEhST1VHSCAqLworIAorQEAgLTUxNTEsMTEgKzUxNTEsMTEgQEAgZmFpbG92ZXJfbGVhc2VfaXNfYmV0dGVyKGRoY3BfZmFpbG92ZXJfcworIAkgICAgICBjYXNlIEZUU19BQkFORE9ORUQ6CisgCSAgICAgIGNhc2UgRlRTX1JFU0VUOgorIAkJaWYgKG1zZy0+YmluZGluZ19zdGF0dXMgPT0gRlRTX0FDVElWRSkKKy0JCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCXJldHVybiBmYWxzZTsKKyAJCWVsc2UgaWYgKHN0YXRlLT5pX2FtID09IHByaW1hcnkpCistCQkJcmV0dXJuIElTQ19UUlVFOworKwkJCXJldHVybiB0cnVlOworIAkJZWxzZQorLQkJCXJldHVybiBJU0NfRkFMU0U7CisrCQkJcmV0dXJuIGZhbHNlOworIAkJLyogRkFMTCBUSFJPVUdIIHRvIGltcG9zc2libGUgY29uZGl0aW9uICovCisgCisgCSAgICAgIGRlZmF1bHQ6CitAQCAtNTE2NCw3ICs1MTY0LDcgQEAgZmFpbG92ZXJfbGVhc2VfaXNfYmV0dGVyKGRoY3BfZmFpbG92ZXJfcworIAorIAlsb2dfZmF0YWwoIkltcG9zc2libGUgY29uZGl0aW9uIGF0ICVzOiVkLiIsIE1ETCk7CisgCS8qIFNpbGVuY2UgY29tcGlsZXIgd2FybmluZy4gKi8KKy0JcmV0dXJuIElTQ19GQUxTRTsKKysJcmV0dXJuIGZhbHNlOworIH0KKyAKKyBpc2NfcmVzdWx0X3QgZGhjcF9mYWlsb3Zlcl9wcm9jZXNzX2JpbmRfdXBkYXRlIChkaGNwX2ZhaWxvdmVyX3N0YXRlX3QgKnN0YXRlLAorQEAgLTUxNzcsOCArNTE3Nyw4IEBAIGlzY19yZXN1bHRfdCBkaGNwX2ZhaWxvdmVyX3Byb2Nlc3NfYmluZF8KKyAJaW50IG5ld19iaW5kaW5nX3N0YXRlOworIAlpbnQgc2VuZF90b19iYWNrdXAgPSAwOworIAlpbnQgcmVxdWlyZWRfb3B0aW9uczsKKy0JaXNjX2Jvb2xlYW5fdCBjaGFkZHJfY2hhbmdlZCA9IElTQ19GQUxTRTsKKy0JaXNjX2Jvb2xlYW5fdCBpZGVudF9jaGFuZ2VkID0gSVNDX0ZBTFNFOworKwlib29sIGNoYWRkcl9jaGFuZ2VkID0gZmFsc2U7CisrCWJvb2wgaWRlbnRfY2hhbmdlZCA9IGZhbHNlOworIAorIAkvKiBWYWxpZGF0ZSB0aGUgYmluZGluZyB1cGRhdGUuICovCisgCXJlcXVpcmVkX29wdGlvbnMgPSBGVEJfQVNTSUdORURfSVBfQUREUkVTUyB8IEZUQl9CSU5ESU5HX1NUQVRVUzsKK0BAIC01MjUwLDcgKzUyNTAsNyBAQCBpc2NfcmVzdWx0X3QgZGhjcF9mYWlsb3Zlcl9wcm9jZXNzX2JpbmRfCisgCQlpZiAoKGx0LT5oYXJkd2FyZV9hZGRyLmhsZW4gIT0gbXNnLT5jaGFkZHIuY291bnQpIHx8CisgCQkgICAgKG1lbWNtcChsdC0+aGFyZHdhcmVfYWRkci5oYnVmLCBtc2ctPmNoYWRkci5kYXRhLAorIAkJCSAgICBtc2ctPmNoYWRkci5jb3VudCkgIT0gMCkpCistCQkJY2hhZGRyX2NoYW5nZWQgPSBJU0NfVFJVRTsKKysJCQljaGFkZHJfY2hhbmdlZCA9IHRydWU7CisgCisgCQlsdCAtPiBoYXJkd2FyZV9hZGRyLmhsZW4gPSBtc2cgLT4gY2hhZGRyLmNvdW50OworIAkJbWVtY3B5IChsdCAtPiBoYXJkd2FyZV9hZGRyLmhidWYsIG1zZyAtPiBjaGFkZHIuZGF0YSwKK0BAIC01MjYyLDcgKzUyNjIsNyBAQCBpc2NfcmVzdWx0X3QgZGhjcF9mYWlsb3Zlcl9wcm9jZXNzX2JpbmRfCisgCQlyZWFzb24gPSBGVFJfTUlTU0lOR19CSU5ESU5GTzsKKyAJCWdvdG8gYmFkOworIAl9IGVsc2UgaWYgKG1zZy0+YmluZGluZ19zdGF0dXMgPT0gRlRTX0FCQU5ET05FRCkgeworLQkJY2hhZGRyX2NoYW5nZWQgPSBJU0NfVFJVRTsKKysJCWNoYWRkcl9jaGFuZ2VkID0gdHJ1ZTsKKyAJCWx0LT5oYXJkd2FyZV9hZGRyLmhsZW4gPSAwOworIAkJaWYgKGx0LT5zY29wZSkKKyAJCQliaW5kaW5nX3Njb3BlX2RlcmVmZXJlbmNlKCZsdC0+c2NvcGUsIE1ETCk7CitAQCAtNTI4Miw3ICs1MjgyLDcgQEAgaXNjX3Jlc3VsdF90IGRoY3BfZmFpbG92ZXJfcHJvY2Vzc19iaW5kXworIAkJICAgIChsdC0+dWlkID09IE5VTEwpIHx8IC8qIFNhbml0eTsgc2hvdWxkIG5ldmVyIGhhcHBlbi4gKi8KKyAJCSAgICAobWVtY21wKGx0LT51aWQsIG1zZy0+Y2xpZW50X2lkZW50aWZpZXIuZGF0YSwKKyAJCQkgICAgbHQtPnVpZF9sZW4pICE9IDApKQorLQkJCWlkZW50X2NoYW5nZWQgPSBJU0NfVFJVRTsKKysJCQlpZGVudF9jaGFuZ2VkID0gdHJ1ZTsKKyAKKyAJCWx0LT51aWRfbGVuID0gbXNnLT5jbGllbnRfaWRlbnRpZmllci5jb3VudDsKKyAKK0BAIC01MzEyLDcgKzUzMTIsNyBAQCBpc2NfcmVzdWx0X3QgZGhjcF9mYWlsb3Zlcl9wcm9jZXNzX2JpbmRfCisgCX0gZWxzZSBpZiAobHQtPnVpZCAmJiBtc2ctPmJpbmRpbmdfc3RhdHVzICE9IEZUU19SRVNFVCAmJgorIAkJICAgbXNnLT5iaW5kaW5nX3N0YXR1cyAhPSBGVFNfRlJFRSAmJgorIAkJICAgbXNnLT5iaW5kaW5nX3N0YXR1cyAhPSBGVFNfQkFDS1VQKSB7CistCQlpZGVudF9jaGFuZ2VkID0gSVNDX1RSVUU7CisrCQlpZGVudF9jaGFuZ2VkID0gdHJ1ZTsKKyAJCWlmIChsdC0+dWlkICE9IGx0LT51aWRfYnVmKQorIAkJCWRmcmVlIChsdC0+dWlkLCBNREwpOworIAkJbHQtPnVpZCA9IE5VTEw7CitAQCAtNTM0Nyw3ICs1MzQ3LDcgQEAgaXNjX3Jlc3VsdF90IGRoY3BfZmFpbG92ZXJfcHJvY2Vzc19iaW5kXworIAlpZiAobXNnLT5iaW5kaW5nX3N0YXR1cyA9PSBGVFNfQUNUSVZFICYmCisgCSAgICAoY2hhZGRyX2NoYW5nZWQgfHwgaWRlbnRfY2hhbmdlZCkpIHsKKyAjaWYgZGVmaW5lZCAoTlNVUERBVEUpCistCQkodm9pZCkgZGRuc19yZW1vdmFscyhsZWFzZSwgTlVMTCwgTlVMTCwgSVNDX0ZBTFNFKTsKKysJCSh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBOVUxMLCBOVUxMLCBmYWxzZSk7CisgI2VuZGlmIC8qIE5TVVBEQVRFICovCisgCisgCQlpZiAobGVhc2UtPnNjb3BlICE9IE5VTEwpCitAQCAtNTUzNCw3ICs1NTM0LDcgQEAgaXNjX3Jlc3VsdF90IGRoY3BfZmFpbG92ZXJfcHJvY2Vzc19iaW5kXworIAlzdHJ1Y3QgaWFkZHIgaWE7CisgCWNvbnN0IGNoYXIgKm1lc3NhZ2UgPSAibm8gbWVtb3J5IjsKKyAJdV9pbnQzMl90IHBvdF9leHBpcmU7CistCWludCBzZW5kX3RvX2JhY2t1cCA9IElTQ19GQUxTRTsKKysJaW50IHNlbmRfdG9fYmFja3VwID0gZmFsc2U7CisgCXN0cnVjdCB0aW1ldmFsIHR2OworIAorIAlpYS5sZW4gPSBzaXplb2YgbXNnIC0+IGFzc2lnbmVkX2FkZHI7CitAQCAtNTYyMSw3ICs1NjIxLDcgQEAgaXNjX3Jlc3VsdF90IGRoY3BfZmFpbG92ZXJfcHJvY2Vzc19iaW5kXworIAkJaWYgKHN0YXRlLT5pX2FtID09IHByaW1hcnkgJiYKKyAJCSAgICAhKGxlYXNlLT5mbGFncyAmIChSRVNFUlZFRF9MRUFTRSB8IEJPT1RQX0xFQVNFKSkgJiYKKyAJCSAgICBwZWVyX3dhbnRzX2xlYXNlKGxlYXNlKSkKKy0JCQlzZW5kX3RvX2JhY2t1cCA9IElTQ19UUlVFOworKwkJCXNlbmRfdG9fYmFja3VwID0gdHJ1ZTsKKyAKKyAJCWlmICghc2VuZF90b19iYWNrdXAgJiYgc3RhdGUtPm1lLnN0YXRlID09IG5vcm1hbCkKKyAJCQljb21taXRfbGVhc2VzKCk7CitJbmRleDogZGhjcC00LjQuMS9zZXJ2ZXIvZGhjcGQuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9zZXJ2ZXIvZGhjcGQuYworKysrIGRoY3AtNC40LjEvc2VydmVyL2RoY3BkLmMKK0BAIC05OCw3ICs5OCw3IEBAIGNvbnN0IGNoYXIgKnBhdGhfZGhjcGRfY29uZiA9IF9QQVRIX0RIQ1AKKyBjb25zdCBjaGFyICpwYXRoX2RoY3BkX2RiID0gX1BBVEhfREhDUERfREI7CisgY29uc3QgY2hhciAqcGF0aF9kaGNwZF9waWQgPSBfUEFUSF9ESENQRF9QSUQ7CisgLyogRmFsc2UgKGRlZmF1bHQpID0+IHdlIHdyaXRlIGFuZCB1c2UgYSBwaWQgZmlsZSAqLworLWlzY19ib29sZWFuX3Qgbm9fcGlkX2ZpbGUgPSBJU0NfRkFMU0U7CisrYm9vbCBub19waWRfZmlsZSA9IGZhbHNlOworIAorIGludCBkaGNwX21heF9hZ2VudF9vcHRpb25fcGFja2V0X2xlbmd0aCA9IERIQ1BfTVRVX01BWDsKKyAKK0BAIC00NzYsNyArNDc2LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAJCQlwYXRoX2RoY3BkX3BpZCA9IGFyZ3YgW2ldOworIAkJCWhhdmVfZGhjcGRfcGlkID0gMTsKKyAJCX0gZWxzZSBpZiAoIXN0cmNtcChhcmd2W2ldLCAiLS1uby1waWQiKSkgeworLQkJCW5vX3BpZF9maWxlID0gSVNDX1RSVUU7CisrCQkJbm9fcGlkX2ZpbGUgPSB0cnVlOworICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFzdHJjbXAgKGFyZ3YgW2ldLCAiLXQiKSkgeworIAkJCS8qIHRlc3QgY29uZmlndXJhdGlvbnMgb25seSAqLworICNpZm5kZWYgREVCVUcKK0BAIC04NjMsNyArODYzLDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAJICogLSB3ZSBkb24ndCBoYXZlIGEgcGlkIGZpbGUgdG8gY2hlY2sKKyAJICogLSB0aGVyZSBpcyBubyBvdGhlciBwcm9jZXNzIHJ1bm5pbmcKKyAJICovCistCWlmICgobGZ0ZXN0ID09IDApICYmIChub19waWRfZmlsZSA9PSBJU0NfRkFMU0UpKSB7CisrCWlmICgobGZ0ZXN0ID09IDApICYmIChub19waWRfZmlsZSA9PSBmYWxzZSkpIHsKKyAJCS8qUmVhZCBwcmV2aW91cyBwaWQgZmlsZS4gKi8KKyAJCWlmICgoaSA9IG9wZW4ocGF0aF9kaGNwZF9waWQsIE9fUkRPTkxZKSkgPj0gMCkgeworIAkJCXN0YXR1cyA9IHJlYWQoaSwgcGJ1ZiwgKHNpemVvZiBwYnVmKSAtIDEpOworQEAgLTk3NCw3ICs5NzQsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworIAkgKiB0aGF0IHdlIGhhdmUgZm9ya2VkIHdlIGNhbiB3cml0ZSBvdXIgcGlkIGlmCisgCSAqIGFwcHJvcHJpYXRlLgorIAkgKi8KKy0JaWYgKG5vX3BpZF9maWxlID09IElTQ19GQUxTRSkgeworKwlpZiAobm9fcGlkX2ZpbGUgPT0gZmFsc2UpIHsKKyAJCWkgPSBvcGVuKHBhdGhfZGhjcGRfcGlkLCBPX1dST05MWXxPX0NSRUFUfE9fVFJVTkMsIDA2NDQpOworIAkJaWYgKGkgPj0gMCkgeworIAkJCXNwcmludGYocGJ1ZiwgIiVkXG4iLCAoaW50KSBnZXRwaWQoKSk7CitAQCAtMTczMCw3ICsxNzMwLDcgQEAgc3RhdGljIGlzY19yZXN1bHRfdCBkaGNwX2lvX3NodXRkb3duX2NvdQorIAkgICAgZnJlZV9ldmVyeXRoaW5nICgpOworIAkgICAgb21hcGlfcHJpbnRfZG1hbGxvY191c2FnZV9ieV9jYWxsZXIgKCk7CisgI2VuZGlmCistCSAgICBpZiAobm9fcGlkX2ZpbGUgPT0gSVNDX0ZBTFNFKQorKwkgICAgaWYgKG5vX3BpZF9maWxlID09IGZhbHNlKQorIAkJICAgICh2b2lkKSB1bmxpbmsocGF0aF9kaGNwZF9waWQpOworIAkgICAgZXhpdCAoMCk7CisgCX0KK0BAIC0xNzQxLDcgKzE3NDEsNyBAQCBzdGF0aWMgaXNjX3Jlc3VsdF90IGRoY3BfaW9fc2h1dGRvd25fY291CisgCQlmcmVlX2V2ZXJ5dGhpbmcgKCk7CisgCQlvbWFwaV9wcmludF9kbWFsbG9jX3VzYWdlX2J5X2NhbGxlciAoKTsKKyAjZW5kaWYKKy0JCWlmIChub19waWRfZmlsZSA9PSBJU0NfRkFMU0UpCisrCQlpZiAobm9fcGlkX2ZpbGUgPT0gZmFsc2UpCisgCQkJKHZvaWQpIHVubGluayhwYXRoX2RoY3BkX3BpZCk7CisgCQlleGl0ICgwKTsKKyAJfQorQEAgLTE3NTAsNyArMTc1MCw3IEBAIHN0YXRpYyBpc2NfcmVzdWx0X3QgZGhjcF9pb19zaHV0ZG93bl9jb3UKKyAjaWYgZGVmaW5lZChGQUlMT1ZFUl9QUk9UT0NPTCkKKyAJICAgICFmYWlsb3Zlcl9jb25uZWN0aW9uX2NvdW50ICYmCisgI2VuZGlmCistCSAgICBJU0NfVFJVRSkgeworKwkgICAgdHJ1ZSkgeworIAkJc2h1dGRvd25fc3RhdGUgPSBzaHV0ZG93bl9kb25lOworIAkJc2h1dGRvd25fdGltZSA9IGN1cl90aW1lOworIAkJZ290byBvbmNlbW9yZTsKK0luZGV4OiBkaGNwLTQuNC4xL3NlcnZlci9tZGI2LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvc2VydmVyL21kYjYuYworKysrIGRoY3AtNC40LjEvc2VydmVyL21kYjYuYworQEAgLTUxNCwxMCArNTE0LDEwIEBAIGlhX3JlbW92ZV9hbGxfbGVhc2Uoc3RydWN0IGlhX3h4ICppYSwgY28KKyAvKgorICAqIENvbXBhcmUgdHdvIElBLgorICAqLworLWlzY19ib29sZWFuX3QKKytib29sCisgaWFfZXF1YWwoY29uc3Qgc3RydWN0IGlhX3h4ICphLCBjb25zdCBzdHJ1Y3QgaWFfeHggKmIpIAorIHsKKy0JaXNjX2Jvb2xlYW5fdCBmb3VuZDsKKysJYm9vbCBmb3VuZDsKKyAJaW50IGksIGo7CisgCisgCS8qCitAQCAtNTI1LDkgKzUyNSw5IEBAIGlhX2VxdWFsKGNvbnN0IHN0cnVjdCBpYV94eCAqYSwgY29uc3Qgc3QKKyAJICovCisgCWlmIChhID09IE5VTEwpIHsKKyAJCWlmIChiID09IE5VTEwpIHsKKy0JCQlyZXR1cm4gSVNDX1RSVUU7CisrCQkJcmV0dXJuIHRydWU7CisgCQl9IGVsc2UgeworLQkJCXJldHVybiBJU0NfRkFMU0U7CisrCQkJcmV0dXJuIGZhbHNlOworIAkJfQorIAl9CQorIAorQEAgLTUzNSw1OCArNTM1LDU4IEBAIGlhX2VxdWFsKGNvbnN0IHN0cnVjdCBpYV94eCAqYSwgY29uc3Qgc3QKKyAJICogQ2hlY2sgdGhlIHR5cGUgaXMgdGhlIHNhbWUuCisgCSAqLworIAlpZiAoYS0+aWFfdHlwZSAhPSBiLT5pYV90eXBlKSB7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgCisgCS8qCisgCSAqIENoZWNrIHRoZSBEVUlEIGlzIHRoZSBzYW1lLgorIAkgKi8KKyAJaWYgKGEtPmlhaWRfZHVpZC5sZW4gIT0gYi0+aWFpZF9kdWlkLmxlbikgeworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIAlpZiAobWVtY21wKGEtPmlhaWRfZHVpZC5kYXRhLCAKKyAJCSAgIGItPmlhaWRfZHVpZC5kYXRhLCBhLT5pYWlkX2R1aWQubGVuKSAhPSAwKSB7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgCisgCS8qCisgCSAqIE1ha2Ugc3VyZSB3ZSBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiBhZGRyZXNzZXMvcHJlZml4ZXMgaW4gZWFjaC4KKyAJICovCisgCWlmIChhLT5udW1faWFzdWJvcHQgIT0gYi0+bnVtX2lhc3Vib3B0KSB7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgCisgCS8qCisgCSAqIENoZWNrIHRoYXQgZWFjaCBhZGRyZXNzL3ByZWZpeCBpcyBwcmVzZW50IGluIGJvdGguCisgCSAqLworIAlmb3IgKGk9MDsgaTxhLT5udW1faWFzdWJvcHQ7IGkrKykgeworLQkJZm91bmQgPSBJU0NfRkFMU0U7CisrCQlmb3VuZCA9IGZhbHNlOworIAkJZm9yIChqPTA7IGo8YS0+bnVtX2lhc3Vib3B0OyBqKyspIHsKKyAJCQlpZiAoYS0+aWFzdWJvcHRbaV0tPnBsZW4gIT0gYi0+aWFzdWJvcHRbaV0tPnBsZW4pCisgCQkJCWNvbnRpbnVlOworIAkJCWlmIChtZW1jbXAoJihhLT5pYXN1Ym9wdFtpXS0+YWRkciksCisgCQkJICAgICAgICAgICAmKGItPmlhc3Vib3B0W2pdLT5hZGRyKSwgCisgCQkJCSAgIHNpemVvZihzdHJ1Y3QgaW42X2FkZHIpKSA9PSAwKSB7CistCQkJCWZvdW5kID0gSVNDX1RSVUU7CisrCQkJCWZvdW5kID0gdHJ1ZTsKKyAJCQkJYnJlYWs7CisgCQkJfQorIAkJfQorIAkJaWYgKCFmb3VuZCkgeworLQkJCXJldHVybiBJU0NfRkFMU0U7CisrCQkJcmV0dXJuIGZhbHNlOworIAkJfQorIAl9CisgCisgCS8qCisgCSAqIFRoZXNlIGFyZSB0aGUgc2FtZSBpbiBldmVyeSB3YXkgd2UgY2FyZSBhYm91dC4KKyAJICovCistCXJldHVybiBJU0NfVFJVRTsKKysJcmV0dXJuIHRydWU7CisgfQorIAorIC8qCisgICogSGVscGVyIGZ1bmN0aW9uIGZvciBsZWFzZSBoZWFwcy4KKyAgKiBNYWtlcyB0aGUgdG9wIG9mIHRoZSBoZWFwIHRoZSBvbGRlc3QgbGVhc2UuCisgICovCistc3RhdGljIGlzY19ib29sZWFuX3QgCisrc3RhdGljIGJvb2wgCisgbGVhc2Vfb2xkZXIodm9pZCAqYSwgdm9pZCAqYikgeworIAlzdHJ1Y3QgaWFzdWJvcHQgKmxhID0gKHN0cnVjdCBpYXN1Ym9wdCAqKWE7CisgCXN0cnVjdCBpYXN1Ym9wdCAqbGIgPSAoc3RydWN0IGlhc3Vib3B0ICopYjsKK0BAIC0xMDM4LDggKzEwMzgsOCBAQCBjcmVhdGVfbGVhc2U2KHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wsIHN0CisgCXN0cnVjdCBkYXRhX3N0cmluZyBuZXdfZHM7CisgCXN0cnVjdCBpYXN1Ym9wdCAqaWFhZGRyOworIAlpc2NfcmVzdWx0X3QgcmVzdWx0OworLQlpc2NfYm9vbGVhbl90IHJlc2VydmVkX2lpZDsKKy0Jc3RhdGljIGlzY19ib29sZWFuX3QgaW5pdF9yZXNpaWQgPSBJU0NfRkFMU0U7CisrCWJvb2wgcmVzZXJ2ZWRfaWlkOworKwlzdGF0aWMgYm9vbCBpbml0X3Jlc2lpZCA9IGZhbHNlOworIAorIAkvKgorIAkgKiBGaWxsIHRoZSByZXNlcnZlZCBJSURzLgorQEAgLTEwNDksNyArMTA0OSw3IEBAIGNyZWF0ZV9sZWFzZTYoc3RydWN0IGlwdjZfcG9vbCAqcG9vbCwgc3QKKyAJCW1lbXNldCgmcmVzYW55LCAwLCA4KTsKKyAJCXJlc2FueS5zNl9hZGRyWzhdID0gMHhmZDsKKyAJCW1lbXNldCgmcmVzYW55LnM2X2FkZHJbOV0sIDB4ZmYsIDYpOworLQkJaW5pdF9yZXNpaWQgPSBJU0NfVFJVRTsKKysJCWluaXRfcmVzaWlkID0gdHJ1ZTsKKyAJfQorIAorIAkvKiAKK0BAIC0xMDk0LDE0ICsxMDk0LDE0IEBAIGNyZWF0ZV9sZWFzZTYoc3RydWN0IGlwdjZfcG9vbCAqcG9vbCwgc3QKKyAJCS8qCisgCQkgKiBBdm9pZCByZXNlcnZlZCBpbnRlcmZhY2UgSURzLiAoY2YuIFJGQyA1NDUzKQorIAkJICovCistCQlyZXNlcnZlZF9paWQgPSBJU0NfRkFMU0U7CisrCQlyZXNlcnZlZF9paWQgPSBmYWxzZTsKKyAJCWlmIChtZW1jbXAoJnRtcC5zNl9hZGRyWzhdLCAmcnRhbnkuczZfYWRkcls4XSwgOCkgPT0gMCkgeworLQkJCXJlc2VydmVkX2lpZCA9IElTQ19UUlVFOworKwkJCXJlc2VydmVkX2lpZCA9IHRydWU7CisgCQl9CisgCQlpZiAoIXJlc2VydmVkX2lpZCAmJgorIAkJICAgIChtZW1jbXAoJnRtcC5zNl9hZGRyWzhdLCAmcmVzYW55LnM2X2FkZHJbOF0sIDcpID09IDApICYmCisgCQkgICAgKCh0bXAuczZfYWRkclsxNV0gJiAweDgwKSA9PSAweDgwKSkgeworLQkJCXJlc2VydmVkX2lpZCA9IElTQ19UUlVFOworKwkJCXJlc2VydmVkX2lpZCA9IHRydWU7CisgCQl9CisgCisgCQkvKgorQEAgLTExNzcsNyArMTE3Nyw3IEBAIGNyZWF0ZV9sZWFzZTZfZXVpXzY0KHN0cnVjdCBpcHY2X3Bvb2wgKnAKKyAJc3RydWN0IGlhc3Vib3B0ICp0ZXN0X2lhYWRkcjsKKyAJc3RydWN0IGlhc3Vib3B0ICppYWFkZHI7CisgCWlzY19yZXN1bHRfdCByZXN1bHQ7CistCXN0YXRpYyBpc2NfYm9vbGVhbl90IGluaXRfcmVzaWlkID0gSVNDX0ZBTFNFOworKwlzdGF0aWMgYm9vbCBpbml0X3Jlc2lpZCA9IGZhbHNlOworIAorIAkvKiAgRmlsbCB0aGUgcmVzZXJ2ZWQgSUlEcy4gICovCisgCWlmICghaW5pdF9yZXNpaWQpIHsKK0BAIC0xMTg1LDcgKzExODUsNyBAQCBjcmVhdGVfbGVhc2U2X2V1aV82NChzdHJ1Y3QgaXB2Nl9wb29sICpwCisgCQltZW1zZXQoJnJlc2FueSwgMCwgOCk7CisgCQlyZXNhbnkuczZfYWRkcls4XSA9IDB4ZmQ7CisgCQltZW1zZXQoJnJlc2FueS5zNl9hZGRyWzldLCAweGZmLCA2KTsKKy0JCWluaXRfcmVzaWlkID0gSVNDX1RSVUU7CisrCQlpbml0X3Jlc2lpZCA9IHRydWU7CisgCX0KKyAKKyAJLyogUG9vbCBtdXN0IGJlIElBX05BICovCitAQCAtMTUyMCw3ICsxNTIwLDcgQEAgYWRkX2xlYXNlNihzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLCBzdHJ1YworIC8qCisgICogRGV0ZXJtaW5lIGlmIGFuIGFkZHJlc3MgaXMgcHJlc2VudCBpbiBhIHBvb2wgb3Igbm90LgorICAqLworLWlzY19ib29sZWFuX3QKKytib29sCisgbGVhc2U2X2V4aXN0cyhjb25zdCBzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLCBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIpIHsKKyAJc3RydWN0IGlhc3Vib3B0ICp0ZXN0X2lhYWRkcjsKKyAKK0BAIC0xNTI4LDkgKzE1MjgsOSBAQCBsZWFzZTZfZXhpc3RzKGNvbnN0IHN0cnVjdCBpcHY2X3Bvb2wgKnBvCisgCWlmIChpYXN1Ym9wdF9oYXNoX2xvb2t1cCgmdGVzdF9pYWFkZHIsIHBvb2wtPmxlYXNlcywgCisgCQkJCSAodm9pZCAqKWFkZHIsIHNpemVvZigqYWRkciksIE1ETCkpIHsKKyAJCWlhc3Vib3B0X2RlcmVmZXJlbmNlKCZ0ZXN0X2lhYWRkciwgTURMKTsKKy0JCXJldHVybiBJU0NfVFJVRTsKKysJCXJldHVybiB0cnVlOworIAl9IGVsc2UgeworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIH0KKyAKK0BAIC0xNTQ1LDIwICsxNTQ1LDIwIEBAIGxlYXNlNl9leGlzdHMoY29uc3Qgc3RydWN0IGlwdjZfcG9vbCAqcG8KKyAgKiBccGFyYW1baW5dIGxlYXNlID0gbGVhc2UgdG8gY2hlY2sKKyAgKgorICAqIFxyZXR1cm4KKy0gKiBJU0NfVFJVRSAgPSBUaGUgbGVhc2UgaXMgYWxsb3dlZCB0byB1c2UgdGhhdCBhZGRyZXNzCistICogSVNDX0ZBTFNFID0gVGhlIGxlYXNlIGlzbid0IGFsbG93ZWQgdG8gdXNlIHRoYXQgYWRkcmVzcworKyAqIHRydWUgID0gVGhlIGxlYXNlIGlzIGFsbG93ZWQgdG8gdXNlIHRoYXQgYWRkcmVzcworKyAqIGZhbHNlID0gVGhlIGxlYXNlIGlzbid0IGFsbG93ZWQgdG8gdXNlIHRoYXQgYWRkcmVzcworICAqLworLWlzY19ib29sZWFuX3QKKytib29sCisgbGVhc2U2X3VzYWJsZShzdHJ1Y3QgaWFzdWJvcHQgKmxlYXNlKSB7CisgCXN0cnVjdCBpYXN1Ym9wdCAqdGVzdF9pYWFkZHI7CistCWlzY19ib29sZWFuX3Qgc3RhdHVzID0gSVNDX1RSVUU7CisrCWJvb2wgc3RhdHVzID0gdHJ1ZTsKKyAKKyAJdGVzdF9pYWFkZHIgPSBOVUxMOworIAlpZiAoaWFzdWJvcHRfaGFzaF9sb29rdXAoJnRlc3RfaWFhZGRyLCBsZWFzZS0+aXB2Nl9wb29sLT5sZWFzZXMsCisgCQkJCSAodm9pZCAqKSZsZWFzZS0+YWRkciwKKyAJCQkJIHNpemVvZihsZWFzZS0+YWRkciksIE1ETCkpIHsKKyAJCWlmICh0ZXN0X2lhYWRkciAhPSBsZWFzZSkgeworLQkJCXN0YXR1cyA9IElTQ19GQUxTRTsKKysJCQlzdGF0dXMgPSBmYWxzZTsKKyAJCX0KKyAJCWlhc3Vib3B0X2RlcmVmZXJlbmNlKCZ0ZXN0X2lhYWRkciwgTURMKTsKKyAJfQorQEAgLTE2OTcsNyArMTY5Nyw3IEBAIG1vdmVfbGVhc2VfdG9faW5hY3RpdmUoc3RydWN0IGlwdjZfcG9vbAorICNpZiBkZWZpbmVkIChOU1VQREFURSkKKyAJCS8qIFByb2Nlc3MgZXZlbnRzIHVwb24gZXhwaXJhdGlvbi4gKi8KKyAJCWlmIChwb29sLT5wb29sX3R5cGUgIT0gRDZPX0lBX1BEKSB7CistCQkJKHZvaWQpIGRkbnNfcmVtb3ZhbHMoTlVMTCwgbGVhc2UsIE5VTEwsIElTQ19GQUxTRSk7CisrCQkJKHZvaWQpIGRkbnNfcmVtb3ZhbHMoTlVMTCwgbGVhc2UsIE5VTEwsIGZhbHNlKTsKKyAJCX0KKyAjZW5kaWYKKyAKK0BAIC0xOTc3LDIxICsxOTc3LDIxIEBAIGNyZWF0ZV9wcmVmaXg2KHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wsIHMKKyAvKgorICAqIERldGVybWluZSBpZiBhIHByZWZpeCBpcyBwcmVzZW50IGluIGEgcG9vbCBvciBub3QuCisgICovCistaXNjX2Jvb2xlYW5fdAorK2Jvb2wKKyBwcmVmaXg2X2V4aXN0cyhjb25zdCBzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLAorIAkgICAgICAgY29uc3Qgc3RydWN0IGluNl9hZGRyICpwcmVmLCB1X2ludDhfdCBwbGVuKSB7CisgCXN0cnVjdCBpYXN1Ym9wdCAqdGVzdF9pYXByZWY7CisgCisgCWlmICgoaW50KXBsZW4gIT0gcG9vbC0+dW5pdHMpCistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAorIAl0ZXN0X2lhcHJlZiA9IE5VTEw7CisgCWlmIChpYXN1Ym9wdF9oYXNoX2xvb2t1cCgmdGVzdF9pYXByZWYsIHBvb2wtPmxlYXNlcywgCisgCQkJCSAodm9pZCAqKXByZWYsIHNpemVvZigqcHJlZiksIE1ETCkpIHsKKyAJCWlhc3Vib3B0X2RlcmVmZXJlbmNlKCZ0ZXN0X2lhcHJlZiwgTURMKTsKKy0JCXJldHVybiBJU0NfVFJVRTsKKysJCXJldHVybiB0cnVlOworIAl9IGVsc2UgeworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIH0KKyAKK0BAIC0yMjY3LDE1ICsyMjY3LDE1IEBAIGlwdjZfbmV0d29ya19wb3J0aW9uKHN0cnVjdCBpbjZfYWRkciAqcmUKKyAvKgorICAqIERldGVybWluZSBpZiB0aGUgZ2l2ZW4gYWRkcmVzcy9wcmVmaXggaXMgaW4gdGhlIHBvb2wuCisgICovCistaXNjX2Jvb2xlYW5fdAorK2Jvb2wKKyBpcHY2X2luX3Bvb2woY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLCBjb25zdCBzdHJ1Y3QgaXB2Nl9wb29sICpwb29sKSB7CisgCXN0cnVjdCBpbjZfYWRkciB0bXA7CisgCisgCWlwdjZfbmV0d29ya19wb3J0aW9uKCZ0bXAsIGFkZHIsIHBvb2wtPmJpdHMpOworIAlpZiAobWVtY21wKCZ0bXAsICZwb29sLT5zdGFydF9hZGRyLCBzaXplb2YodG1wKSkgPT0gMCkgeworLQkJcmV0dXJuIElTQ19UUlVFOworKwkJcmV0dXJuIHRydWU7CisgCX0gZWxzZSB7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgfQorIAorSW5kZXg6IGRoY3AtNC40LjEvc2VydmVyL2RkbnMuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9zZXJ2ZXIvZGRucy5jCisrKysgZGhjcC00LjQuMS9zZXJ2ZXIvZGRucy5jCitAQCAtMzczLDcgKzM3Myw3IEBAIGRkbnNfdXBkYXRlcyhzdHJ1Y3QgcGFja2V0ICpwYWNrZXQsIHN0cnUKKyAKKyAJCS8qIElmIGRlc2lyZWQgZG8gdGhlIHJlbW92YWxzICovCisgCQlpZiAoZG9fcmVtb3ZlICE9IDApIHsKKy0JCQkodm9pZCkgZGRuc19yZW1vdmFscyhsZWFzZSwgbGVhc2U2LCBOVUxMLCBJU0NfVFJVRSk7CisrCQkJKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIGxlYXNlNiwgTlVMTCwgdHJ1ZSk7CisgCQl9CisgCQlnb3RvIG91dDsKKyAJfQorQEAgLTYxOCw3ICs2MTgsNyBAQCBkZG5zX3VwZGF0ZXMoc3RydWN0IHBhY2tldCAqcGFja2V0LCBzdHJ1CisgCQkgKiBXZSBzaG91bGQgbG9nIGEgbW9yZSBzcGVjaWZpYyBlcnJvciBjbG9zZXIgdG8gdGhlIGFjdHVhbAorIAkJICogZXJyb3IgaWYgd2Ugd2FudCBvbmUuIGRkbnNfcmVtb3ZhbCBmYWlsdXJlIG5vdCBsb2dnZWQgaGVyZS4KKyAJCSAqLworLQkJICh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBsZWFzZTYsIGRkbnNfY2IsIElTQ19UUlVFKTsKKysJCSAodm9pZCkgZGRuc19yZW1vdmFscyhsZWFzZSwgbGVhc2U2LCBkZG5zX2NiLCB0cnVlKTsKKyAJfQorIAllbHNlIHsKKyAJCWRkbnNfZndkX3Nydl9jb25uZWN0b3IobGVhc2UsIGxlYXNlNiwgc2NvcGUsIGRkbnNfY2IsCitAQCAtMTkwNyw3ICsxOTA3LDcgQEAgZGRuc19md2Rfc3J2X3JlbTEoZGhjcF9kZG5zX2NiX3QgKmRkbnNfYworICAqICAgICB0aGUgY3VycmVudCBlbnRyeS4KKyAgKgorICAqIFxsaSBhY3RpdmUgLSBpbmRpY2F0aW9uIGFib3V0IHRoZSBzdGF0dXMgb2YgdGhlIGxlYXNlLiBJdCBpcworLSAqICAgICBJU0NfVFJVRSBpZiB0aGUgbGVhc2UgaXMgc3RpbGwgYWN0aXZlLCBhbmQgRkFMU0UgaWYgdGhlIGxlYXNlCisrICogICAgIHRydWUgaWYgdGhlIGxlYXNlIGlzIHN0aWxsIGFjdGl2ZSwgYW5kIEZBTFNFIGlmIHRoZSBsZWFzZQorICAqICAgICBpcyBpbmFjdGl2ZS4gIFRoaXMgaXMgdXNlZCB0byBpbmRpY2F0ZSBpZiB0aGUgbGVhc2UgaXMgaW5hY3RpdmUgb3IgZ29pbmcKKyAgKiAgICAgdG8gaW5hY3RpdmUgc28gd2UgY2FuIGF2b2lkIHRyeWluZyB0byB1cGRhdGUgdGhlIGxlYXNlIHdpdGggY2IgcG9pbnRlcnMKKyAgKiAgICAgYW5kIHRleHQgaW5mb3JtYXRpb24gaWYgaXQgaXNuJ3QgdXNlZnVsLgorQEAgLTE5MjMsNyArMTkyMyw3IEBAIGlzY19yZXN1bHRfdAorIGRkbnNfcmVtb3ZhbHMoc3RydWN0IGxlYXNlICAgICpsZWFzZSwKKyAJICAgICAgc3RydWN0IGlhc3Vib3B0ICpsZWFzZTYsCisgCSAgICAgIGRoY3BfZGRuc19jYl90ICAqYWRkX2RkbnNfY2IsCistCSAgICAgIGlzY19ib29sZWFuX3QgICAgYWN0aXZlKQorKwkgICAgICBib29sICAgIGFjdGl2ZSkKKyB7CisgCWlzY19yZXN1bHRfdCByY29kZSwgZXhlY3V0ZV9hZGQgPSBJU0NfUl9GQUlMVVJFOworIAlzdHJ1Y3QgYmluZGluZ19zY29wZSAqKnNjb3BlID0gTlVMTDsKK0BAIC0xOTcwLDcgKzE5NzAsNyBAQCBkZG5zX3JlbW92YWxzKHN0cnVjdCBsZWFzZSAgICAqbGVhc2UsCisgCQkJaWYgKCgoZGRuc19jYi0+c3RhdGUgPT0gREROU19TVEFURV9BRERfUFRSKSB8fAorIAkJCSAgICAgKGRkbnNfY2ItPnN0YXRlID09IERETlNfU1RBVEVfQUREX0ZXX05YRE9NQUlOKSB8fAorIAkJCSAgICAgKGRkbnNfY2ItPnN0YXRlID09IERETlNfU1RBVEVfQUREX0ZXX1lYREhDSUQpKSB8fAorLQkJCSAgICAoKGFjdGl2ZSA9PSBJU0NfRkFMU0UpICYmCisrCQkJICAgICgoYWN0aXZlID09IGZhbHNlKSAmJgorIAkJCSAgICAgKChkZG5zX2NiLT5mbGFncyAmIERETlNfQUNUSVZFX0xFQVNFKSAhPSAwKSkpIHsKKyAJCQkJLyogQ2FuY2VsIHRoZSBjdXJyZW50IHJlcXVlc3QgKi8KKyAJCQkJZGRuc19jYW5jZWwobGVhc2UtPmRkbnNfY2IsIE1ETCk7CitAQCAtMTk5OCw3ICsxOTk4LDcgQEAgZGRuc19yZW1vdmFscyhzdHJ1Y3QgbGVhc2UgICAgKmxlYXNlLAorIAkJCWlmICgoKGRkbnNfY2ItPnN0YXRlID09IERETlNfU1RBVEVfQUREX1BUUikgfHwKKyAJCQkgICAgIChkZG5zX2NiLT5zdGF0ZSA9PSBERE5TX1NUQVRFX0FERF9GV19OWERPTUFJTikgfHwKKyAJCQkgICAgIChkZG5zX2NiLT5zdGF0ZSA9PSBERE5TX1NUQVRFX0FERF9GV19ZWERIQ0lEKSkgfHwKKy0JCQkgICAgKChhY3RpdmUgPT0gSVNDX0ZBTFNFKSAmJgorKwkJCSAgICAoKGFjdGl2ZSA9PSBmYWxzZSkgJiYKKyAJCQkgICAgICgoZGRuc19jYi0+ZmxhZ3MgJiBERE5TX0FDVElWRV9MRUFTRSkgIT0gMCkpKSB7CisgCQkJCS8qIENhbmNlbCB0aGUgY3VycmVudCByZXF1ZXN0ICovCisgCQkJCWRkbnNfY2FuY2VsKGxlYXNlNi0+ZGRuc19jYiwgTURMKTsKK0BAIC0yMDUzLDcgKzIwNTMsNyBAQCBkZG5zX3JlbW92YWxzKHN0cnVjdCBsZWFzZSAgICAqbGVhc2UsCisgCSAqIHRoZSBsZWFzZSBpbmZvcm1hdGlvbiBmb3IgdjYgd2hlbiB0aGUgcmVzcG9uc2UKKyAJICogZnJvbSB0aGUgRE5TIGNvZGUgaXMgcHJvY2Vzc2VkLgorIAkgKi8KKy0JaWYgKGFjdGl2ZSA9PSBJU0NfVFJVRSkgeworKwlpZiAoYWN0aXZlID09IHRydWUpIHsKKyAJCWRkbnNfY2ItPmZsYWdzIHw9IERETlNfQUNUSVZFX0xFQVNFOworIAl9CisgCitJbmRleDogZGhjcC00LjQuMS9zZXJ2ZXIvbWRiLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvc2VydmVyL21kYi5jCisrKysgZGhjcC00LjQuMS9zZXJ2ZXIvbWRiLmMKK0BAIC0xNTA0LDcgKzE1MDQsNyBAQCB2b2lkIG1ha2VfYmluZGluZ19zdGF0ZV90cmFuc2l0aW9uIChzdHJ1CisgCSAgICAgIGxlYXNlIC0+IGJpbmRpbmdfc3RhdGUgPT0gRlRTX0FDVElWRSAmJgorIAkgICAgICBsZWFzZSAtPiBuZXh0X2JpbmRpbmdfc3RhdGUgIT0gRlRTX1JFTEVBU0VEKSkpIHsKKyAjaWYgZGVmaW5lZCAoTlNVUERBVEUpCistCQkodm9pZCkgZGRuc19yZW1vdmFscyhsZWFzZSwgTlVMTCwgTlVMTCwgSVNDX1RSVUUpOworKwkJKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIE5VTEwsIE5VTEwsIHRydWUpOworICNlbmRpZgorIAkJaWYgKGxlYXNlLT5vbl9zdGFyLm9uX2V4cGlyeSkgeworIAkJCWV4ZWN1dGVfc3RhdGVtZW50cyhOVUxMLCBOVUxMLCBsZWFzZSwKK0BAIC0xNTY4LDcgKzE1NjgsNyBAQCB2b2lkIG1ha2VfYmluZGluZ19zdGF0ZV90cmFuc2l0aW9uIChzdHJ1CisgCQkgKiByZWxlYXNlIG1lc3NhZ2UuICBUaGlzIGlzIG5vdCB0cnVlIG9mIGV4cGlyeSwgd2hlcmUgdGhlCisgCQkgKiBwZWVyIG1heSBoYXZlIGV4dGVuZGVkIHRoZSBsZWFzZS4KKyAJCSAqLworLQkJKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIE5VTEwsIE5VTEwsIElTQ19UUlVFKTsKKysJCSh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBOVUxMLCBOVUxMLCB0cnVlKTsKKyAjZW5kaWYKKyAJCWlmIChsZWFzZS0+b25fc3Rhci5vbl9yZWxlYXNlKSB7CisgCQkJZXhlY3V0ZV9zdGF0ZW1lbnRzKE5VTEwsIE5VTEwsIGxlYXNlLAorQEAgLTE3MzYsNyArMTczNiw3IEBAIHZvaWQgcmVsZWFzZV9sZWFzZSAobGVhc2UsIHBhY2tldCkKKyAJLyogSWYgdGhlcmUgYXJlIHN0YXRlbWVudHMgdG8gZXhlY3V0ZSB3aGVuIHRoZSBsZWFzZSBpcworIAkgICByZWxlYXNlZCwgZXhlY3V0ZSB0aGVtLiAqLworICNpZiBkZWZpbmVkIChOU1VQREFURSkKKy0JKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIE5VTEwsIE5VTEwsIElTQ19GQUxTRSk7CisrCSh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBOVUxMLCBOVUxMLCBmYWxzZSk7CisgI2VuZGlmCisgCWlmIChsZWFzZS0+b25fc3Rhci5vbl9yZWxlYXNlKSB7CisgCQlleGVjdXRlX3N0YXRlbWVudHMgKE5VTEwsIHBhY2tldCwgbGVhc2UsCitAQCAtMTgxMCw3ICsxODEwLDcgQEAgdm9pZCBhYmFuZG9uX2xlYXNlIChsZWFzZSwgbWVzc2FnZSkKKyB7CisgCXN0cnVjdCBsZWFzZSAqbHQgPSBOVUxMOworICNpZiBkZWZpbmVkIChOU1VQREFURSkKKy0JKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIE5VTEwsIE5VTEwsIElTQ19GQUxTRSk7CisrCSh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBOVUxMLCBOVUxMLCBmYWxzZSk7CisgI2VuZGlmCisgCisgCWlmICghbGVhc2VfY29weSgmbHQsIGxlYXNlLCBNREwpKSB7CitAQCAtMTg2MCw3ICsxODYwLDcgQEAgdm9pZCBkaXNzb2NpYXRlX2xlYXNlIChsZWFzZSkKKyB7CisgCXN0cnVjdCBsZWFzZSAqbHQgPSAoc3RydWN0IGxlYXNlICopMDsKKyAjaWYgZGVmaW5lZCAoTlNVUERBVEUpCistCSh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBOVUxMLCBOVUxMLCBJU0NfRkFMU0UpOworKwkodm9pZCkgZGRuc19yZW1vdmFscyhsZWFzZSwgTlVMTCwgTlVMTCwgZmFsc2UpOworICNlbmRpZgorIAorIAlpZiAoIWxlYXNlX2NvcHkgKCZsdCwgbGVhc2UsIE1ETCkpCitAQCAtMjA3MiwzOCArMjA3MiwzOCBAQCBpbnQgZmluZF9sZWFzZV9ieV9od19hZGRyIChzdHJ1Y3QgbGVhc2UKKyAgKiAgICBzaG91bGQgbmV2ZXIgc2VlIHJlc2V0IGxlYXNlcyBmb3IgdGhpcy4KKyAgKiA0KSBBYmFuZG9uZWQgbGVhc2VzIGFyZSBhbHdheXMgZGVhZCBsYXN0LgorICAqLworLXN0YXRpYyBpc2NfYm9vbGVhbl90Cisrc3RhdGljIGJvb2wKKyBjbGllbnRfbGVhc2VfcHJlZmVycmVkKHN0cnVjdCBsZWFzZSAqY2FuZCwgc3RydWN0IGxlYXNlICpsZWFzZSkKKyB7CisgCWlmIChjYW5kLT5iaW5kaW5nX3N0YXRlID09IEZUU19BQ1RJVkUpIHsKKyAJCWlmIChsZWFzZS0+YmluZGluZ19zdGF0ZSA9PSBGVFNfQUNUSVZFICYmCisgCQkgICAgbGVhc2UtPmVuZHMgPj0gY2FuZC0+ZW5kcykKKy0JCQlyZXR1cm4gSVNDX1RSVUU7CisrCQkJcmV0dXJuIHRydWU7CisgCX0gZWxzZSBpZiAoY2FuZC0+YmluZGluZ19zdGF0ZSA9PSBGVFNfRVhQSVJFRCB8fAorIAkJICAgY2FuZC0+YmluZGluZ19zdGF0ZSA9PSBGVFNfUkVMRUFTRUQpIHsKKyAJCWlmIChsZWFzZS0+YmluZGluZ19zdGF0ZSA9PSBGVFNfQUNUSVZFKQorLQkJCXJldHVybiBJU0NfVFJVRTsKKysJCQlyZXR1cm4gdHJ1ZTsKKyAKKyAJCWlmICgobGVhc2UtPmJpbmRpbmdfc3RhdGUgPT0gRlRTX0VYUElSRUQgfHwKKyAJCSAgICAgbGVhc2UtPmJpbmRpbmdfc3RhdGUgPT0gRlRTX1JFTEVBU0VEKSAmJgorIAkJICAgIGxlYXNlLT5jbHR0ID49IGNhbmQtPmNsdHQpCistCQkJcmV0dXJuIElTQ19UUlVFOworKwkJCXJldHVybiB0cnVlOworIAl9IGVsc2UgaWYgKGNhbmQtPmJpbmRpbmdfc3RhdGUgIT0gRlRTX0FCQU5ET05FRCkgeworIAkJaWYgKGxlYXNlLT5iaW5kaW5nX3N0YXRlID09IEZUU19BQ1RJVkUgfHwKKyAJCSAgICBsZWFzZS0+YmluZGluZ19zdGF0ZSA9PSBGVFNfRVhQSVJFRCB8fAorIAkJICAgIGxlYXNlLT5iaW5kaW5nX3N0YXRlID09IEZUU19SRUxFQVNFRCkKKy0JCQlyZXR1cm4gSVNDX1RSVUU7CisrCQkJcmV0dXJuIHRydWU7CisgCisgCQlpZiAobGVhc2UtPmJpbmRpbmdfc3RhdGUgIT0gRlRTX0FCQU5ET05FRCAmJgorIAkJICAgIGxlYXNlLT5jbHR0ID49IGNhbmQtPmNsdHQpCistCQkJcmV0dXJuIElTQ19UUlVFOworKwkJCXJldHVybiB0cnVlOworIAl9IGVsc2UgLyogKGNhbmQtPmJpbmRpbmdfc3RhdGUgPT0gRlRTX0FCQU5ET05FRCkgKi8geworIAkJaWYgKGxlYXNlLT5iaW5kaW5nX3N0YXRlICE9IEZUU19BQkFORE9ORUQgfHwKKyAJCSAgICBsZWFzZS0+Y2x0dCA+PSBjYW5kLT5jbHR0KQorLQkJCXJldHVybiBJU0NfVFJVRTsKKysJCQlyZXR1cm4gdHJ1ZTsKKyAJfQorIAorLQlyZXR1cm4gSVNDX0ZBTFNFOworKwlyZXR1cm4gZmFsc2U7CisgfQorIAorIC8qIEFkZCB0aGUgc3BlY2lmaWVkIGxlYXNlIHRvIHRoZSB1aWQgaGFzaC4gKi8KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwL2RoY3AvMDAwOC10d2Vhay10by1zdXBwb3J0LWV4dGVybmFsLWJpbmQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcC9kaGNwLzAwMDgtdHdlYWstdG8tc3VwcG9ydC1leHRlcm5hbC1iaW5kLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDZkMThhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwL2RoY3AvMDAwOC10d2Vhay10by1zdXBwb3J0LWV4dGVybmFsLWJpbmQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTcgKzAsMCBAQAotRnJvbSA5Mjg3NWY1Y2M0NDkxNDUxNWU1MGMxMWM1MDNhMDljZWM5MDQ5N2IyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogU2F0LCAxMSBKdW4gMjAxNiAyMjo1MTo0NCAtMDQwMAotU3ViamVjdDogW1BBVENIIDA4LzExXSB0d2VhayB0byBzdXBwb3J0IGV4dGVybmFsIGJpbmQKLQotVHdlYWsgdGhlIGV4dGVybmFsIGJpbmQgdG8gb2UtY29yZSdzIHN5c3Jvb3QgcmF0aGVyIHRoYW4KLWV4dGVybmFsIGJpbmQgc291cmNlIGJ1aWxkLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgPG9lLWNvcmUgc3BlY2lmaWM+Ci0KLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGNsaWVudC9NYWtlZmlsZS5hbSAgICAgICB8IDIgKy0KLSBjbGllbnQvdGVzdHMvTWFrZWZpbGUuYW0gfCAyICstCi0gY29tbW9uL3Rlc3RzL01ha2VmaWxlLmFtIHwgMiArLQotIGRoY3BjdGwvTWFrZWZpbGUuYW0gICAgICB8IDIgKy0KLSBvbWFwaXAvTWFrZWZpbGUuYW0gICAgICAgfCAyICstCi0gcmVsYXkvTWFrZWZpbGUuYW0gICAgICAgIHwgMiArLQotIHNlcnZlci9NYWtlZmlsZS5hbSAgICAgICB8IDIgKy0KLSBzZXJ2ZXIvdGVzdHMvTWFrZWZpbGUuYW0gfCAyICstCi0gOCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jbGllbnQvTWFrZWZpbGUuYW0gYi9jbGllbnQvTWFrZWZpbGUuYW0KLWluZGV4IDQ3MzBiYjMuLjg0ZDgxMzEgMTAwNjQ0Ci0tLS0gYS9jbGllbnQvTWFrZWZpbGUuYW0KLSsrKyBiL2NsaWVudC9NYWtlZmlsZS5hbQotQEAgLTQsNyArNCw3IEBACi0gIyBwcm9kdWN0aW9uIGNvZGUuIFNhZGx5LCB3ZSBhcmUgbm90IHRoZXJlIHlldC4KLSBTVUJESVJTID0gLiB0ZXN0cwotIAotLUJJTkRMSUJESVIgPSBAQklORERJUkAvbGliCi0rQklORExJQkRJUiA9IEBCSU5ERElSQAotIAotIEFNX0NQUEZMQUdTID0gLURDTElFTlRfUEFUSD0nIlBBVEg9JChzYmluZGlyKTovc2JpbjovYmluOi91c3Ivc2JpbjovdXNyL2JpbiInIFwKLSAJICAgICAgLURMT0NBTFNUQVRFRElSPSciJChsb2NhbHN0YXRlZGlyKSInIC1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlcwotZGlmZiAtLWdpdCBhL2NsaWVudC90ZXN0cy9NYWtlZmlsZS5hbSBiL2NsaWVudC90ZXN0cy9NYWtlZmlsZS5hbQotaW5kZXggNTAzMWQwYy4uYThkZmQyNiAxMDA2NDQKLS0tLSBhL2NsaWVudC90ZXN0cy9NYWtlZmlsZS5hbQotKysrIGIvY2xpZW50L3Rlc3RzL01ha2VmaWxlLmFtCi1AQCAtMSw2ICsxLDYgQEAKLSBTVUJESVJTID0gLgotIAotLUJJTkRMSUJESVIgPSBAQklORERJUkAvbGliCi0rQklORExJQkRJUiA9IEBCSU5ERElSQAotIAotIEFNX0NQUEZMQUdTID0gJChBVEZfQ0ZMQUdTKSAtRFVOSVRfVEVTVCAtSSQodG9wX3NyY2RpcikvaW5jbHVkZXMKLSBBTV9DUFBGTEFHUyArPSAtSUBCSU5ERElSQC9pbmNsdWRlIC1JJCh0b3Bfc3JjZGlyKQotZGlmZiAtLWdpdCBhL2NvbW1vbi90ZXN0cy9NYWtlZmlsZS5hbSBiL2NvbW1vbi90ZXN0cy9NYWtlZmlsZS5hbQotaW5kZXggZjZhNDNlNC4uMmY5OGQyMiAxMDA2NDQKLS0tLSBhL2NvbW1vbi90ZXN0cy9NYWtlZmlsZS5hbQotKysrIGIvY29tbW9uL3Rlc3RzL01ha2VmaWxlLmFtCi1AQCAtMSw2ICsxLDYgQEAKLSBTVUJESVJTID0gLgotIAotLUJJTkRMSUJESVIgPSBAQklORERJUkAvbGliCi0rQklORExJQkRJUiA9IEBCSU5ERElSQAotIAotIEFNX0NQUEZMQUdTID0gJChBVEZfQ0ZMQUdTKSAtSSQodG9wX3NyY2RpcikvaW5jbHVkZXMKLSAKLWRpZmYgLS1naXQgYS9kaGNwY3RsL01ha2VmaWxlLmFtIGIvZGhjcGN0bC9NYWtlZmlsZS5hbQotaW5kZXggYmE4ZGQ4Yi4uOWIyNDg2ZSAxMDA2NDQKLS0tLSBhL2RoY3BjdGwvTWFrZWZpbGUuYW0KLSsrKyBiL2RoY3BjdGwvTWFrZWZpbGUuYW0KLUBAIC0xLDQgKzEsNCBAQAotLUJJTkRMSUJESVIgPSBAQklORERJUkAvbGliCi0rQklORExJQkRJUiA9IEBCSU5ERElSQAotIAotIEFNX0NQUEZMQUdTID0gLUkkKHRvcF9zcmNkaXIpL2luY2x1ZGVzIC1JJCh0b3Bfc3JjZGlyKQotIAotZGlmZiAtLWdpdCBhL29tYXBpcC9NYWtlZmlsZS5hbSBiL29tYXBpcC9NYWtlZmlsZS5hbQotaW5kZXggZGQxYWZhMC4uZTRhODU5OSAxMDA2NDQKLS0tLSBhL29tYXBpcC9NYWtlZmlsZS5hbQotKysrIGIvb21hcGlwL01ha2VmaWxlLmFtCi1AQCAtMSw0ICsxLDQgQEAKLS1CSU5ETElCRElSID0gQEJJTkRESVJAL2xpYgotK0JJTkRMSUJESVIgPSBAQklORERJUkAKLSBBTV9DUFBGTEFHUyA9IC1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlcwotIAotIGxpYl9MSUJSQVJJRVMgPSBsaWJvbWFwaS5hCi1kaWZmIC0tZ2l0IGEvcmVsYXkvTWFrZWZpbGUuYW0gYi9yZWxheS9NYWtlZmlsZS5hbQotaW5kZXggNmQ2NTJmNi4uYjNiZjU3OCAxMDA2NDQKLS0tLSBhL3JlbGF5L01ha2VmaWxlLmFtCi0rKysgYi9yZWxheS9NYWtlZmlsZS5hbQotQEAgLTEsNCArMSw0IEBACi0tQklORExJQkRJUiA9IEBCSU5ERElSQC9saWIKLStCSU5ETElCRElSID0gQEJJTkRESVJACi0gCi0gQU1fQ1BQRkxBR1MgPSAtRExPQ0FMU1RBVEVESVI9JyJAbG9jYWxzdGF0ZWRpckAiJyAtSSQodG9wX3NyY2RpcikvaW5jbHVkZXMKLSAKLWRpZmYgLS1naXQgYS9zZXJ2ZXIvTWFrZWZpbGUuYW0gYi9zZXJ2ZXIvTWFrZWZpbGUuYW0KLWluZGV4IDM5OTBiOWMuLmI1ZDhjMmQgMTAwNjQ0Ci0tLS0gYS9zZXJ2ZXIvTWFrZWZpbGUuYW0KLSsrKyBiL3NlcnZlci9NYWtlZmlsZS5hbQotQEAgLTQsNyArNCw3IEBACi0gIyBwcm9kdWN0aW9uIGNvZGUuIFNhZGx5LCB3ZSBhcmUgbm90IHRoZXJlIHlldC4KLSBTVUJESVJTID0gLiB0ZXN0cwotIAotLUJJTkRMSUJESVIgPSBAQklORERJUkAvbGliCi0rQklORExJQkRJUiA9IEBCSU5ERElSQAotIAotIEFNX0NQUEZMQUdTID0gLUkkKHRvcF9zcmNkaXIpIC1ETE9DQUxTVEFURURJUj0nIkBsb2NhbHN0YXRlZGlyQCInIC1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlcwotIAotZGlmZiAtLWdpdCBhL3NlcnZlci90ZXN0cy9NYWtlZmlsZS5hbSBiL3NlcnZlci90ZXN0cy9NYWtlZmlsZS5hbQotaW5kZXggYTg3YzVlNy4uOTgyMTA4MSAxMDA2NDQKLS0tLSBhL3NlcnZlci90ZXN0cy9NYWtlZmlsZS5hbQotKysrIGIvc2VydmVyL3Rlc3RzL01ha2VmaWxlLmFtCi1AQCAtMSw2ICsxLDYgQEAKLSBTVUJESVJTID0gLgotIAotLUJJTkRMSUJESVIgPSBAQklORERJUkAvbGliCi0rQklORExJQkRJUiA9IEBCSU5ERElSQAotIAotIEFNX0NQUEZMQUdTID0gJChBVEZfQ0ZMQUdTKSAtRFVOSVRfVEVTVCAtSSQodG9wX3NyY2RpcikvaW5jbHVkZXMKLSBBTV9DUFBGTEFHUyArPSAtSUBCSU5ERElSQC9pbmNsdWRlIC1JJCh0b3Bfc3JjZGlyKQotLS0gCi0xLjguMy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwL2RoY3BfNC40LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcC9kaGNwXzQuNC4xLmJiCmluZGV4IDE1OWFiYmMuLmNhMGRhYTEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwL2RoY3BfNC40LjEuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcF80LjQuMS5iYgpAQCAtMTAsNiArMTAsNyBAQAogICAgICAgICAgICAgZmlsZTovLzAwMDktcmVtb3ZlLWRoY2xpZW50LXNjcmlwdC1iYXNoLWRlcGVuZGVuY3kucGF0Y2ggXAogICAgICAgICAgICAgZmlsZTovLzAwMTItZGhjcC1jb3JyZWN0LXRoZS1pbnRlbnRpb24tZm9yLXhtbDItbGliLXNlYXJjaC5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vMDAxMy1maXh1cF91c2VfbGliYmluZC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1kaGNwZC1maXgtUmVwbGFjZS1jdXN0b20taXNjX2Jvb2xlYW5fdC13aXRoLUMtc3RhbmRhLnBhdGNoIFwKICIKIAogU1JDX1VSSVttZDVzdW1dID0gIjE4YzdmNGRjYmIwYTYzZGYyNTA5ODIxNmQ0N2IxZWRlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvMDAwMS1yY3AtZml4LXRvLXdvcmstd2l0aC1sYXJnZS1maWxlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzLzAwMDEtcmNwLWZpeC10by13b3JrLXdpdGgtbGFyZ2UtZmlsZXMucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzLzAwMDEtcmNwLWZpeC10by13b3JrLXdpdGgtbGFyZ2UtZmlsZXMucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzLzAwMDEtcmNwLWZpeC10by13b3JrLXdpdGgtbGFyZ2UtZmlsZXMucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2ZpeC1kaXNhYmxlLWlwdjYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9maXgtZGlzYWJsZS1pcHY2LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9maXgtZGlzYWJsZS1pcHY2LnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9maXgtZGlzYWJsZS1pcHY2LnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS44LTAwMDEtcHJpbnRmLXBhcnNlLXB1bGwtaW4tZmVhdHVyZXMuaC1mb3ItX19HTElCQ19fLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLTEuOC0wMDAxLXByaW50Zi1wYXJzZS1wdWxsLWluLWZlYXR1cmVzLmgtZm9yLV9fR0xJQkNfXy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLTEuOC0wMDAxLXByaW50Zi1wYXJzZS1wdWxsLWluLWZlYXR1cmVzLmgtZm9yLV9fR0xJQkNfXy5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLTEuOC0wMDAxLXByaW50Zi1wYXJzZS1wdWxsLWluLWZlYXR1cmVzLmgtZm9yLV9fR0xJQkNfXy5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLTEuOC0wMDAzLXdjaGFyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLTEuOC0wMDAzLXdjaGFyLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS44LTAwMDMtd2NoYXIucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjgtMDAwMy13Y2hhci5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLTEuOS1QQVRIX1BST0NORVRfREVWLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLTEuOS1QQVRIX1BST0NORVRfREVWLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS45LVBBVEhfUFJPQ05FVF9ERVYucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjktUEFUSF9QUk9DTkVUX0RFVi5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLW9ubHktY2hlY2stcGFtX2FwcGwuaC13aGVuLXBhbS1lbmFibGVkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLW9ubHktY2hlY2stcGFtX2FwcGwuaC13aGVuLXBhbS1lbmFibGVkLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtb25seS1jaGVjay1wYW1fYXBwbC5oLXdoZW4tcGFtLWVuYWJsZWQucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy1vbmx5LWNoZWNrLXBhbV9hcHBsLmgtd2hlbi1wYW0tZW5hYmxlZC5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmV4ZWMueGluZXRkLmluZXR1dGlscyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3JleGVjLnhpbmV0ZC5pbmV0dXRpbHMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3JleGVjLnhpbmV0ZC5pbmV0dXRpbHMKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3JleGVjLnhpbmV0ZC5pbmV0dXRpbHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3Jsb2dpbi54aW5ldGQuaW5ldHV0aWxzIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3Jsb2dpbi54aW5ldGQuaW5ldHV0aWxzCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9ybG9naW4ueGluZXRkLmluZXR1dGlscwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcnNoLnhpbmV0ZC5pbmV0dXRpbHMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9yc2gueGluZXRkLmluZXR1dGlscwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcnNoLnhpbmV0ZC5pbmV0dXRpbHMKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3JzaC54aW5ldGQuaW5ldHV0aWxzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy90ZWxuZXQueGluZXRkLmluZXR1dGlscyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3RlbG5ldC54aW5ldGQuaW5ldHV0aWxzCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy90ZWxuZXQueGluZXRkLmluZXR1dGlscwpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvdGVsbmV0LnhpbmV0ZC5pbmV0dXRpbHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3RmdHBkLnhpbmV0ZC5pbmV0dXRpbHMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy90ZnRwZC54aW5ldGQuaW5ldHV0aWxzCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy90ZnRwZC54aW5ldGQuaW5ldHV0aWxzCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy90ZnRwZC54aW5ldGQuaW5ldHV0aWxzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy92ZXJzaW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvdmVyc2lvbi5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvdmVyc2lvbi5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvdmVyc2lvbi5wYXRjaApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHNfMS45LjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlsc18xLjkuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzEzODRlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHNfMS45LjQuYmIKQEAgLTAsMCArMSwyMDkgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBHTlUgaW5ldHV0aWxzIGFyZSBhIGNvbGxlY3Rpb24gb2YgY29tbW9uIFwKK25ldHdvcmtpbmcgdXRpbGl0aWVzIGFuZCBzZXJ2ZXJzIGluY2x1ZGluZyBmdHAsIGZ0cGQsIHJjcCwgXAorcmV4ZWMsIHJsb2dpbiwgcmxvZ2luZCwgcnNoLCByc2hkLCBzeXNsb2csIHN5c2xvZ2QsIHRhbGssIFwKK3RhbGtkLCB0ZWxuZXQsIHRlbG5ldGQsIHRmdHAsIHRmdHBkLCBhbmQgdXVjcGQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2luZXR1dGlscyIKK1NFQ1RJT04gPSAibmV0IgorREVQRU5EUyA9ICJuY3Vyc2VzIG5ldGJhc2UgcmVhZGxpbmUgdmlydHVhbC9jcnlwdCIKKworTElDRU5TRSA9ICJHUEx2MyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGM3MDUxYWVmOTIxOWRjNzIzN2YyMDZjNWM0MTc5YTciCisKK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS9pbmV0dXRpbHMvaW5ldHV0aWxzLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly92ZXJzaW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2luZXR1dGlscy0xLjgtMDAwMS1wcmludGYtcGFyc2UtcHVsbC1pbi1mZWF0dXJlcy5oLWZvci1fX0dMSUJDX18ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW5ldHV0aWxzLTEuOC0wMDAzLXdjaGFyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JleGVjLnhpbmV0ZC5pbmV0dXRpbHMgIFwKKyAgICAgICAgICAgZmlsZTovL3Jsb2dpbi54aW5ldGQuaW5ldHV0aWxzIFwKKyAgICAgICAgICAgZmlsZTovL3JzaC54aW5ldGQuaW5ldHV0aWxzIFwKKyAgICAgICAgICAgZmlsZTovL3RlbG5ldC54aW5ldGQuaW5ldHV0aWxzIFwKKyAgICAgICAgICAgZmlsZTovL3RmdHBkLnhpbmV0ZC5pbmV0dXRpbHMgXAorICAgICAgICAgICBmaWxlOi8vaW5ldHV0aWxzLTEuOS1QQVRIX1BST0NORVRfREVWLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2luZXR1dGlscy1vbmx5LWNoZWNrLXBhbV9hcHBsLmgtd2hlbi1wYW0tZW5hYmxlZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXJjcC1maXgtdG8td29yay13aXRoLWxhcmdlLWZpbGVzLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjA0ODUyYzI2YzQ3Y2M4YzZiODI1ZjJiNzRmMTkxZjUyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJlOGY3NWVmZjkzNmI4ZTQxYjExMjQ2MmRiNTFhZGY2ODk3MTU2NThhMWIwOWUwZDZiMDVkMTFlYzkyY2M2MTYiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdXBkYXRlLWFsdGVybmF0aXZlcyB0ZXhpbmZvCisKK2FjcGF0aHMgPSAiLUkgLi9tNCIKKworU1JDX1VSSSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJycsICdmaWxlOi8vZml4LWRpc2FibGUtaXB2Ni5wYXRjaCcsIGQpfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImZ0cCB1dWNwZCBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnaXB2NiBwaW5nNicsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgIgorUEFDS0FHRUNPTkZJR1tmdHBdID0gIi0tZW5hYmxlLWZ0cCwtLWRpc2FibGUtZnRwLHJlYWRsaW5lIgorUEFDS0FHRUNPTkZJR1t1dWNwZF0gPSAiLS1lbmFibGUtdXVjcGQsLS1kaXNhYmxlLXV1Y3BkLHJlYWRsaW5lIgorUEFDS0FHRUNPTkZJR1twYW1dID0gIi0td2l0aC1wYW0sLS13aXRob3V0LXBhbSxsaWJwYW0iCitQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYgZ2xfY3Zfc29ja2V0X2lwdjY9bm8sIgorUEFDS0FHRUNPTkZJR1twaW5nNl0gPSAiLS1lbmFibGUtcGluZzYsLS1kaXNhYmxlLXBpbmc2LCIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1uY3Vyc2VzLWluY2x1ZGUtZGlyPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAgICAgaW5ldHV0aWxzX2N2X3BhdGhfbG9naW49JHtiYXNlX2JpbmRpcn0vbG9naW4gXAorICAgICAgICAtLXdpdGgtbGlicmVhZGxpbmUtcHJlZml4PSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgLS1lbmFibGUtcnBhdGg9bm8gXAorIgorCisjIFRoZXNlIGFyZSBob3JyaWJsZSBmb3Igc2VjdXJpdHksIGRpc2FibGUgdGhlbQorRVhUUkFfT0VDT05GX2FwcGVuZCA9ICIgLS1kaXNhYmxlLXJzaCAtLWRpc2FibGUtcnNoZCAtLWRpc2FibGUtcmNwIFwKKyAgICAgICAgLS1kaXNhYmxlLXJsb2dpbiAtLWRpc2FibGUtcmxvZ2luZCAtLWRpc2FibGUtcmV4ZWMgLS1kaXNhYmxlLXJleGVjZCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIGV4cG9ydCBIRUxQMk1BTj0ndHJ1ZScKKyAgICBjcCAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dldHRleHQvY29uZmlnLnJwYXRoICR7U30vYnVpbGQtYXV4L2NvbmZpZy5ycGF0aAorICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLmd1ZXNzICR7U30KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5zdWIgJHtTfQorICAgIHJtIC1mICR7U30vZ2xvYi9jb25maWd1cmUqCit9CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7YmFzZV9zYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzeXNjb25mZGlyfS94aW5ldGQuZAorICAgIGlmIFsgIiR7YmFzZV9iaW5kaXJ9IiAhPSAiJHtiaW5kaXJ9IiBdIDsgdGhlbgorICAgICAgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2Jhc2VfYmluZGlyfQorICAgICAgICAgbXYgJHtEfSR7YmluZGlyfS9waW5nKiAke0R9JHtiYXNlX2JpbmRpcn0vCisgICAgICAgICBtdiAke0R9JHtiaW5kaXJ9L2hvc3RuYW1lICR7RH0ke2Jhc2VfYmluZGlyfS8KKyAgICBmaQorICAgIG12ICR7RH0ke2JpbmRpcn0vaWZjb25maWcgJHtEfSR7YmFzZV9zYmluZGlyfS8KKyAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9zeXNsb2dkICR7RH0ke2Jhc2Vfc2JpbmRpcn0vCisgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vdGZ0cGQgJHtEfSR7c2JpbmRpcn0vaW4udGZ0cGQKKyAgICBtdiAke0R9JHtsaWJleGVjZGlyfS90ZWxuZXRkICR7RH0ke3NiaW5kaXJ9L2luLnRlbG5ldGQKKyAgICBpZiBbIC1lICR7RH0ke2xpYmV4ZWNkaXJ9L3JleGVjZCBdOyB0aGVuCisgICAgICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3JleGVjZCAke0R9JHtzYmluZGlyfS9pbi5yZXhlY2QKKyAgICAgICAgY3AgJHtXT1JLRElSfS9yZXhlYy54aW5ldGQuaW5ldHV0aWxzICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC9yZXhlYworICAgIGZpCisgICAgaWYgWyAtZSAke0R9JHtsaWJleGVjZGlyfS9ybG9naW5kIF07IHRoZW4KKyAgICAgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vcmxvZ2luZCAke0R9JHtzYmluZGlyfS9pbi5ybG9naW5kCisgICAgICAgIGNwICR7V09SS0RJUn0vcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3Jsb2dpbgorICAgIGZpCisgICAgaWYgWyAtZSAke0R9JHtsaWJleGVjZGlyfS9yc2hkIF07IHRoZW4KKyAgICAgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vcnNoZCAke0R9JHtzYmluZGlyfS9pbi5yc2hkCisgICAgICAgIGNwICR7V09SS0RJUn0vcnNoLnhpbmV0ZC5pbmV0dXRpbHMgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3JzaAorICAgIGZpCisgICAgaWYgWyAtZSAke0R9JHtsaWJleGVjZGlyfS90YWxrZCBdOyB0aGVuCisgICAgICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3RhbGtkICR7RH0ke3NiaW5kaXJ9L2luLnRhbGtkCisgICAgZmkKKyAgICBtdiAke0R9JHtsaWJleGVjZGlyfS91dWNwZCAke0R9JHtzYmluZGlyfS9pbi51dWNwZAorICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9LyogJHtEfSR7YmluZGlyfS8KKyAgICBjcCAke1dPUktESVJ9L3RlbG5ldC54aW5ldGQuaW5ldHV0aWxzICAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvdGVsbmV0CisgICAgY3AgJHtXT1JLRElSfS90ZnRwZC54aW5ldGQuaW5ldHV0aWxzICAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvdGZ0cGQKKworICAgIHNlZCAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyAtaSAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvKgorICAgIGlmIFsgLWUgJHtEfSR7bGliZGlyfS9jaGFyc2V0LmFsaWFzIF07IHRoZW4KKyAgICAgICAgcm0gLXJmICR7RH0ke2xpYmRpcn0vY2hhcnNldC5hbGlhcworICAgIGZpCisgICAgcm0gLXJmICR7RH0ke2xpYmV4ZWNkaXJ9LworICAgICMgcmVtb3ZlIHVzci9saWIgaWYgZW1wdHkKKyAgICBybWRpciAke0R9JHtsaWJkaXJ9IHx8IHRydWUKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LXBpbmcgJHtQTn0tcGluZzYgJHtQTn0taG9zdG5hbWUgJHtQTn0taWZjb25maWcgXAorJHtQTn0tdGZ0cCAke1BOfS1sb2dnZXIgJHtQTn0tdHJhY2Vyb3V0ZSAke1BOfS1zeXNsb2dkIFwKKyR7UE59LWZ0cCAke1BOfS1mdHBkICR7UE59LXRmdHBkICR7UE59LXRlbG5ldCAke1BOfS10ZWxuZXRkICR7UE59LWluZXRkIFwKKyR7UE59LXJzaCAke1BOfS1yc2hkIgorCisjIFRoZSBwYWNrYWdlcyB0ZnRwZCwgdGVsbmV0ZCBhbmQgcnNoZCBjb25mbGljdCB3aXRoIHRoZSBvbmVzCisjIHByb3ZpZGVkIGJ5IG5ldGtpdCwgc28gYWRkIHRoZSBjb3JyZXNwb25kaW5nIC1kYmcgcGFja2FnZXMKKyMgZm9yIHRoZW0gdG8gYXZvaWQgdGhlIGNvbmZsaWN0aW9uIGJldHdlZW4gdGhlIGRiZyBwYWNrYWdlCisjIG9mIGluZXR1dGlscyBhbmQgbmV0a2l0LgorUEFDS0FHRVMgPSsgIiR7UE59LXRmdHBkLWRiZyAke1BOfS10ZWxuZXRkLWRiZyAke1BOfS1yc2hkLWRiZyIKK05PQVVUT1BBQ0tBR0VERUJVRyA9ICIxIgorCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICI3OSIKK0FMVEVSTkFUSVZFXyR7UE59ID0gIndob2lzIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3V1Y3BkXSAgPSAiJHtzYmluZGlyfS9pbi51dWNwZCIKKworQUxURVJOQVRJVkVfUFJJT1JJVFlfJHtQTn0tbG9nZ2VyID0gIjYwIgorQUxURVJOQVRJVkVfJHtQTn0tbG9nZ2VyID0gImxvZ2dlciIKK0FMVEVSTkFUSVZFXyR7UE59LXN5c2xvZ2QgPSAic3lzbG9nZCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtzeXNsb2dkXSAgPSAiJHtiYXNlX3NiaW5kaXJ9L3N5c2xvZ2QiCisKK0FMVEVSTkFUSVZFXyR7UE59LWZ0cCA9ICJmdHAiCitBTFRFUk5BVElWRV8ke1BOfS1mdHBkID0gImZ0cGQiCitBTFRFUk5BVElWRV8ke1BOfS10ZnRwID0gInRmdHAiCitBTFRFUk5BVElWRV8ke1BOfS10ZnRwZCA9ICJ0ZnRwZCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0ZnRwZF0gPSAiJHtzYmluZGlyfS90ZnRwZCIKK0FMVEVSTkFUSVZFX1RBUkdFVFt0ZnRwZF0gID0gIiR7c2JpbmRpcn0vaW4udGZ0cGQiCisKK0FMVEVSTkFUSVZFXyR7UE59LXRlbG5ldCA9ICJ0ZWxuZXQiCitBTFRFUk5BVElWRV8ke1BOfS10ZWxuZXRkID0gInRlbG5ldGQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdGVsbmV0ZF0gPSAiJHtzYmluZGlyfS90ZWxuZXRkIgorQUxURVJOQVRJVkVfVEFSR0VUW3RlbG5ldGRdID0gIiR7c2JpbmRpcn0vaW4udGVsbmV0ZCIKKworQUxURVJOQVRJVkVfJHtQTn0taW5ldGQ9ICJpbmV0ZCIKK0FMVEVSTkFUSVZFXyR7UE59LXRyYWNlcm91dGUgPSAidHJhY2Vyb3V0ZSIKKworQUxURVJOQVRJVkVfJHtQTn0taG9zdG5hbWUgPSAiaG9zdG5hbWUiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbaG9zdG5hbWVdICA9ICIke2Jhc2VfYmluZGlyfS9ob3N0bmFtZSIKKworQUxURVJOQVRJVkVfJHtQTn0tZG9jID0gImhvc3RuYW1lLjEgZG5zZG9tYWlubmFtZS4xIGxvZ2dlci4xIHN5c2xvZ2QuOCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtob3N0bmFtZS4xXSA9ICIke21hbmRpcn0vbWFuMS9ob3N0bmFtZS4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2Ruc2RvbWFpbm5hbWUuMV0gPSAiJHttYW5kaXJ9L21hbjEvZG5zZG9tYWlubmFtZS4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2xvZ2dlci4xXSA9ICIke21hbmRpcn0vbWFuMS9sb2dnZXIuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtzeXNsb2dkLjhdID0gIiR7bWFuZGlyfS9tYW44L3N5c2xvZ2QuOCIKKworQUxURVJOQVRJVkVfJHtQTn0taWZjb25maWcgPSAiaWZjb25maWciCitBTFRFUk5BVElWRV9MSU5LX05BTUVbaWZjb25maWddICA9ICIke2Jhc2Vfc2JpbmRpcn0vaWZjb25maWciCisKK0FMVEVSTkFUSVZFXyR7UE59LXBpbmcgPSAicGluZyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtwaW5nXSAgID0gIiR7YmFzZV9iaW5kaXJ9L3BpbmciCisKK0FMVEVSTkFUSVZFXyR7UE59LXBpbmc2ID0gIiR7QGJiLnV0aWxzLmZpbHRlcignUEFDS0FHRUNPTkZJRycsICdwaW5nNicsIGQpfSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtwaW5nNl0gID0gIiR7YmFzZV9iaW5kaXJ9L3Bpbmc2IgorCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtiYXNlX2JpbmRpcn0vLmRlYnVnICR7YmFzZV9zYmluZGlyfS8uZGVidWcgJHtiaW5kaXJ9Ly5kZWJ1ZyAke3NiaW5kaXJ9Ly5kZWJ1ZyIKK0ZJTEVTXyR7UE59LXBpbmcgPSAiJHtiYXNlX2JpbmRpcn0vcGluZy4ke0JQTn0iCitGSUxFU18ke1BOfS1waW5nNiA9ICIke2Jhc2VfYmluZGlyfS9waW5nNi4ke0JQTn0iCitGSUxFU18ke1BOfS1ob3N0bmFtZSA9ICIke2Jhc2VfYmluZGlyfS9ob3N0bmFtZS4ke0JQTn0iCitGSUxFU18ke1BOfS1pZmNvbmZpZyA9ICIke2Jhc2Vfc2JpbmRpcn0vaWZjb25maWcuJHtCUE59IgorRklMRVNfJHtQTn0tdHJhY2Vyb3V0ZSA9ICIke2JpbmRpcn0vdHJhY2Vyb3V0ZS4ke0JQTn0iCitGSUxFU18ke1BOfS1sb2dnZXIgPSAiJHtiaW5kaXJ9L2xvZ2dlci4ke0JQTn0iCisKK0ZJTEVTXyR7UE59LXN5c2xvZ2QgPSAiJHtiYXNlX3NiaW5kaXJ9L3N5c2xvZ2QuJHtCUE59IgorUkNPTkZMSUNUU18ke1BOfS1zeXNsb2dkID0gInJzeXNsb2cgYnVzeWJveC1zeXNsb2cgc3lza2xvZ2Qgc3lzbG9nLW5nIgorCitGSUxFU18ke1BOfS1mdHAgPSAiJHtiaW5kaXJ9L2Z0cC4ke0JQTn0iCisKK0ZJTEVTXyR7UE59LXRmdHAgPSAiJHtiaW5kaXJ9L3RmdHAuJHtCUE59IgorRklMRVNfJHtQTn0tdGVsbmV0ID0gIiR7YmluZGlyfS90ZWxuZXQuJHtCUE59IgorCisjIFdlIG1ha2UgdXMgb2YgUkNPTkZMSUNUUyAvIFJQUk9WSURFUyBoZXJlIHJhdGhlciB0aGFuIHVzaW5nIHRoZSBub3JtYWwKKyMgYWx0ZXJuYXRpdmVzIG1ldGhvZCBhcyB0aGlzIGxlYWRzIHRvIHBhY2thZ2luZyBRQSBpc3N1ZXMgd2hlbiB1c2luZworIyBtdXNsIGFzIHRoYXQgbGlicmFyeSBkb2VzIG5vdCBwcm92aWRlIHdoYXQgdGhlc2UgYXBwbGljYXRpb25zIG5lZWQgdG8KKyMgYnVpbGQuCitGSUxFU18ke1BOfS1yc2ggPSAiJHtiaW5kaXJ9L3JzaCAke2JpbmRpcn0vcmxvZ2luICR7YmluZGlyfS9yZXhlYyAke2JpbmRpcn0vcmNwIgorUkNPTkZMSUNUU18ke1BOfS1yc2ggKz0gIm5ldGtpdC1yc2gtY2xpZW50IgorUlBST1ZJREVTXyR7UE59LXJzaCA9ICJyc2giCisKK0ZJTEVTXyR7UE59LXJzaGQgPSAiJHtzYmluZGlyfS9pbi5yc2hkICR7c2JpbmRpcn0vaW4ucmxvZ2luZCAke3NiaW5kaXJ9L2luLnJleGVjZCBcCisgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0veGluZXRkLmQvcnNoICR7c3lzY29uZmRpcn0veGluZXRkLmQvcmxvZ2luICR7c3lzY29uZmRpcn0veGluZXRkLmQvcmV4ZWMiCitGSUxFU18ke1BOfS1yc2hkLWRiZyA9ICIke3NiaW5kaXJ9Ly5kZWJ1Zy9pbi5yc2hkICR7c2JpbmRpcn0vLmRlYnVnL2luLnJsb2dpbmQgJHtzYmluZGlyfS8uZGVidWcvaW4ucmV4ZWNkIgorUkRFUEVORFNfJHtQTn0tcnNoZCArPSAieGluZXRkIHRjcC13cmFwcGVycyIKK1JDT05GTElDVFNfJHtQTn0tcnNoZCArPSAibmV0a2l0LXJzaGQtc2VydmVyIgorUlBST1ZJREVTXyR7UE59LXJzaGQgPSAicnNoZCIKKworRklMRVNfJHtQTn0tZnRwZCA9ICIke2JpbmRpcn0vZnRwZC4ke0JQTn0iCitGSUxFU18ke1BOfS1mdHBkLWRiZyA9ICIke2JpbmRpcn0vLmRlYnVnL2Z0cGQuJHtCUE59IgorUkRFUEVORFNfJHtQTn0tZnRwZCArPSAieGluZXRkIgorCitGSUxFU18ke1BOfS10ZnRwZCA9ICIke3NiaW5kaXJ9L2luLnRmdHBkICR7c3lzY29uZmRpcn0veGluZXRkLmQvdGZ0cGQiCitGSUxFU18ke1BOfS10ZnRwZC1kYmcgPSAiJHtzYmluZGlyfS8uZGVidWcvaW4udGZ0cGQiCitSQ09ORkxJQ1RTXyR7UE59LXRmdHBkICs9ICJuZXRraXQtdGZ0cGQiCitSREVQRU5EU18ke1BOfS10ZnRwZCArPSAieGluZXRkIgorCitGSUxFU18ke1BOfS10ZWxuZXRkID0gIiR7c2JpbmRpcn0vaW4udGVsbmV0ZCAke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3RlbG5ldCIKK0ZJTEVTXyR7UE59LXRlbG5ldGQtZGJnID0gIiR7c2JpbmRpcn0vLmRlYnVnL2luLnRlbG5ldGQiCitSQ09ORkxJQ1RTXyR7UE59LXRlbG5ldGQgKz0gIm5ldGtpdC10ZWxuZXRkIgorUlBST1ZJREVTXyR7UE59LXRlbG5ldGQgPSAidGVsbmV0ZCIKK1JERVBFTkRTXyR7UE59LXRlbG5ldGQgKz0gInhpbmV0ZCIKKworRklMRVNfJHtQTn0taW5ldGQgPSAiJHtiaW5kaXJ9L2luZXRkLiR7QlBOfSIKKworUkRFUEVORFNfJHtQTn0gPSAieGluZXRkIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2lwcm91dGUyL2lwcm91dGUyLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pcHJvdXRlMi9pcHJvdXRlMi5pbmMKaW5kZXggYjI4MzU4OS4uMWFhMWVlYyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2lwcm91dGUyL2lwcm91dGUyLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXByb3V0ZTIvaXByb3V0ZTIuaW5jCkBAIC01MiwzICs1Miw3IEBACiBBTFRFUk5BVElWRV9UQVJHRVRbaXBdID0gIiR7YmFzZV9zYmluZGlyfS9pcC4ke0JQTn0iCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbaXBdID0gIiR7YmFzZV9zYmluZGlyfS9pcCIKIEFMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKKworQUxURVJOQVRJVkVfJHtQTn0tdGMgPSAidGMiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdGNdID0gIiR7YmFzZV9zYmluZGlyfS90YyIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZXyR7UE59LXRjID0gIjEwMCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1N2VhODcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1TVU1NQVJZID0gIkludGVyZmFjZSBmb3IgdXNlci1sZXZlbCBuZXR3b3JrIHBhY2tldCBjYXB0dXJlIgotREVTQ1JJUFRJT04gPSAiTGlicGNhcCBwcm92aWRlcyBhIHBvcnRhYmxlIGZyYW1ld29yayBmb3IgbG93LWxldmVsIG5ldHdvcmsgXAotbW9uaXRvcmluZy4gIExpYnBjYXAgY2FuIHByb3ZpZGUgbmV0d29yayBzdGF0aXN0aWNzIGNvbGxlY3Rpb24sIFwKLXNlY3VyaXR5IG1vbml0b3JpbmcgYW5kIG5ldHdvcmsgZGVidWdnaW5nLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cudGNwZHVtcC5vcmcvIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2dyb3VwX2lkPTUzMDY3JmF0aWQ9NDY5NTc3IgotU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCi1MSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTVlYjI4OTIxN2MxNjBlMjkyMGQyZTM1YmRkYzM2NDUzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BjYXAuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTMyO21kNT0zOWFmMzUxMGUwMTFmMzRiODg3MmYxMjBiMWRjMzFkMiIKLURFUEVORFMgPSAiZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIgotCi1JTkNfUFIgPSAicjUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy50Y3BkdW1wLm9yZy9yZWxlYXNlLyR7QlB9LnRhci5neiIKLQotQklOQ09ORklHID0gIiR7YmluZGlyfS9wY2FwLWNvbmZpZyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgYmluY29uZmlnLWRpc2FibGVkIHBrZ2NvbmZpZyBibHVldG9vdGgKLQotRVhUUkFfT0VDT05GID0gIi0td2l0aC1wY2FwPWxpbnV4IgotRVhUUkFfQVVUT1JFQ09ORiArPSAiLS1leGNsdWRlPWFjbG9jYWwiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV0b290aCcsICcke0JMVUVafScsICcnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0gXAotIgotUEFDS0FHRUNPTkZJR1tibHVlejRdID0gIi0tZW5hYmxlLWJsdWV0b290aCwtLWRpc2FibGUtYmx1ZXRvb3RoLGJsdWV6NCIKLSMgQWRkIGEgZHVtbXkgUEFDS0FHRUNPTkZJRyBmb3IgYmx1ZXo1IHNpbmNlIGl0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgbGlicGNhcC4KLVBBQ0tBR0VDT05GSUdbYmx1ZXo1XSA9ICIsLCIKLVBBQ0tBR0VDT05GSUdbZGJ1c10gPSAiLS1lbmFibGUtZGJ1cywtLWRpc2FibGUtZGJ1cyxkYnVzIgotUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKLVBBQ0tBR0VDT05GSUdbbGlibmxdID0gIi0td2l0aC1saWJubCwtLXdpdGhvdXQtbGlibmwsbGlibmwiCi0KLUNQUEZMQUdTX3ByZXBlbmQgPSAiLUkke1N9ICIKLUNGTEFHU19wcmVwZW5kID0gIi1JJHtTfSAiCi1DWFhGTEFHU19wcmVwZW5kID0gIi1JJHtTfSAiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLSAgICBzZWQgLWkgLWUncyxeVl9SUEFUSF9PUFQ9LiokLFZfUlBBVEhfT1BUPSwnICR7U30vcGNhcC1jb25maWcuaW4KLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwLzAwMDEtRml4LWNvbXBpbGVyX3N0YXRlX3QuYWktdXNhZ2Utd2hlbi1JTkVUNi1pcy1ub3QtZGVmaS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvMDAwMS1GaXgtY29tcGlsZXJfc3RhdGVfdC5haS11c2FnZS13aGVuLUlORVQ2LWlzLW5vdC1kZWZpLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZGI2YWU1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvMDAwMS1GaXgtY29tcGlsZXJfc3RhdGVfdC5haS11c2FnZS13aGVuLUlORVQ2LWlzLW5vdC1kZWZpLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotRnJvbSA2NGFhMDMzYTA2MWM0M2ZjMTVjNzExZjI0OTBhZTQxZDIzYjg2OGMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmFiaW8gQmVydG9uIDxmYWJpby5iZXJ0b25Ab3NzeXN0ZW1zLmNvbS5icj4KLURhdGU6IFRodSwgMTcgTm92IDIwMTYgMDk6NDQ6NDIgLTAyMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIEZpeCBjb21waWxlcl9zdGF0ZV90LmFpIHVzYWdlIHdoZW4gSU5FVDYgaXMgbm90IGRlZmluZWQKLU9yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCi0KLUZpeCBlcnJvcjoKLQotLwotfCAuLi9saWJwY2FwLTEuOC4xL2dlbmNvZGUuYzogSW4gZnVuY3Rpb24gJ3BjYXBfY29tcGlsZSc6Ci18IC4uL2xpYnBjYXAtMS44LjEvZ2VuY29kZS5jOjY5Mzo4OiBlcnJvcjogJ2NvbXBpbGVyX3N0YXRlX3QKLXwge2FrYSBzdHJ1Y3QgX2NvbXBpbGVyX3N0YXRlfScgaGFzIG5vIG1lbWJlciBuYW1lZCAnYWknCi18ICAgY3N0YXRlLmFpID0gTlVMTDsKLVwKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgWzFdCi0KLVsxXSBodHRwczovL2dpdGh1Yi5jb20vdGhlLXRjcGR1bXAtZ3JvdXAvbGlicGNhcC9wdWxsLzU0MQotCi1TaWduZWQtb2ZmLWJ5OiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgotLS0tCi0gZ2VuY29kZS5jIHwgMiArKwotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2dlbmNvZGUuYyBiL2dlbmNvZGUuYwotaW5kZXggYTg4N2YyNy4uZTEwM2M3MCAxMDA2NDQKLS0tLSBhL2dlbmNvZGUuYwotKysrIGIvZ2VuY29kZS5jCi1AQCAtNjkwLDcgKzY5MCw5IEBAIHBjYXBfY29tcGlsZShwY2FwX3QgKnAsIHN0cnVjdCBicGZfcHJvZ3JhbSAqcHJvZ3JhbSwKLSAJfQotIAlpbml0Y2h1bmtzKCZjc3RhdGUpOwotIAljc3RhdGUubm9fb3B0aW1pemUgPSAwOwotKyNpZmRlZiBJTkVUNgotIAljc3RhdGUuYWkgPSBOVUxMOwotKyNlbmRpZgotIAljc3RhdGUuaWMucm9vdCA9IE5VTEw7Ci0gCWNzdGF0ZS5pYy5jdXJfbWFyayA9IDA7Ci0gCWNzdGF0ZS5icGZfcGNhcCA9IHA7Ci0tLSAKLTIuMS40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvMDAwMS1wY2FwLXVzYi1saW51eC5jLWFkZC1taXNzaW5nLWxpbWl0cy5oLWZvci1tdXNsLXN5c3RlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC8wMDAxLXBjYXAtdXNiLWxpbnV4LmMtYWRkLW1pc3NpbmctbGltaXRzLmgtZm9yLW11c2wtc3lzdGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDE3NzM4MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvMDAwMS1wY2FwLXVzYi1saW51eC5jLWFkZC1taXNzaW5nLWxpbWl0cy5oLWZvci1tdXNsLXN5c3RlLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gYWFmYTM1MTJiN2I3NDJmNWU2NmE1NTQzZTQxOTc0Y2M1ZTdlZWJmYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IG1heGljZTggPHRoaW5rYWJpdC51a2ltQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjIgSnVsIDIwMTggMTg6NTQ6MTcgLTAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gcGNhcC11c2ItbGludXguYzogYWRkIG1pc3NpbmcgbGltaXRzLmggZm9yIG11c2wgc3lzdGVtcy4KKworZml4IGNvbXBpbGF0aW9uIG9uIG11c2wgbGliYyBzeXN0ZW1zIGxpa2UgVm9pZCBMaW51eCBhbmQgQWxwaW5lLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vdGhlLXRjcGR1bXAtZ3JvdXAvbGlicGNhcC9jb21taXQvZDU1N2M5OGExNmRjMjU0YWFmZjAzNzYyYjY5NGZlNjI0ZTE4MGJlYV0KKworU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KKy0tLQorIHBjYXAtdXNiLWxpbnV4LmMgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL3BjYXAtdXNiLWxpbnV4LmMgYi9wY2FwLXVzYi1saW51eC5jCitpbmRleCA2ZjhhZGY2NS4uYjkyYzA1ZWEgMTAwNjQ0CistLS0gYS9wY2FwLXVzYi1saW51eC5jCisrKysgYi9wY2FwLXVzYi1saW51eC5jCitAQCAtNTAsNiArNTAsNyBAQAorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2luY2x1ZGUgPGZjbnRsLmg+CisrI2luY2x1ZGUgPGxpbWl0cy5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8ZGlyZW50Lmg+CisgI2luY2x1ZGUgPGJ5dGVzd2FwLmg+CistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwLzAwMDItQWRkLW1pc3NpbmctY29tcGlsZXJfc3RhdGVfdC1wYXJhbWV0ZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwLzAwMDItQWRkLW1pc3NpbmctY29tcGlsZXJfc3RhdGVfdC1wYXJhbWV0ZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzMmIyNjUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC8wMDAyLUFkZC1taXNzaW5nLWNvbXBpbGVyX3N0YXRlX3QtcGFyYW1ldGVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAotRnJvbSA1MGVjMGEwODhkNTkyNGE4MzA1YjJkNzBkY2JhNzFiMDk0MmRlZTFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmFiaW8gQmVydG9uIDxmYWJpby5iZXJ0b25Ab3NzeXN0ZW1zLmNvbS5icj4KLURhdGU6IFRodSwgMTcgTm92IDIwMTYgMDk6NDc6MjkgLTAyMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIEFkZCBtaXNzaW5nIGNvbXBpbGVyX3N0YXRlX3QgcGFyYW1ldGVyCi1Pcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgotCi1GaXggZXJyb3I6Ci0KLS8KLXwuLi9saWJwY2FwLTEuOC4xL2dlbmNvZGUuYzogSW4gZnVuY3Rpb24gJ2dlbl9nYXRld2F5JzoKLXwuLi9saWJwY2FwLTEuOC4xL2dlbmNvZGUuYzo0OTE0OjEzOiBlcnJvcjogJ2NzdGF0ZScgdW5kZWNsYXJlZAotfCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCi18ICAgIGJwZl9lcnJvcihjc3RhdGUsICJkaXJlY3Rpb24gYXBwbGllZCB0byAnZ2F0ZXdheSciKTsKLVwKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgWzFdCi0KLVsxXSBodHRwczovL2dpdGh1Yi5jb20vdGhlLXRjcGR1bXAtZ3JvdXAvbGlicGNhcC9wdWxsLzU0MQotCi1TaWduZWQtb2ZmLWJ5OiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgotLS0tCi0gZ2VuY29kZS5jIHwgMTUgKysrKysrKystLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2dlbmNvZGUuYyBiL2dlbmNvZGUuYwotaW5kZXggZTEwM2M3MC4uZjA3YzBiZSAxMDA2NDQKLS0tLSBhL2dlbmNvZGUuYwotKysrIGIvZ2VuY29kZS5jCi1AQCAtNTIzLDcgKzUyMyw3IEBAIHN0YXRpYyBzdHJ1Y3QgYmxvY2sgKmdlbl9ob3N0Nihjb21waWxlcl9zdGF0ZV90ICosIHN0cnVjdCBpbjZfYWRkciAqLAotICAgICBzdHJ1Y3QgaW42X2FkZHIgKiwgaW50LCBpbnQsIGludCk7Ci0gI2VuZGlmCi0gI2lmbmRlZiBJTkVUNgotLXN0YXRpYyBzdHJ1Y3QgYmxvY2sgKmdlbl9nYXRld2F5KGNvbnN0IHVfY2hhciAqLCBicGZfdV9pbnQzMiAqKiwgaW50LCBpbnQpOwotK3N0YXRpYyBzdHJ1Y3QgYmxvY2sgKmdlbl9nYXRld2F5KGNvbXBpbGVyX3N0YXRlX3QgKiwgY29uc3QgdV9jaGFyICosIGJwZl91X2ludDMyICoqLCBpbnQsIGludCk7Ci0gI2VuZGlmCi0gc3RhdGljIHN0cnVjdCBibG9jayAqZ2VuX2lwZnJhZyhjb21waWxlcl9zdGF0ZV90ICopOwotIHN0YXRpYyBzdHJ1Y3QgYmxvY2sgKmdlbl9wb3J0YXRvbShjb21waWxlcl9zdGF0ZV90ICosIGludCwgYnBmX2ludDMyKTsKLUBAIC00OTA0LDExICs0OTA0LDEyIEBAIGdlbl9ob3N0Nihjb21waWxlcl9zdGF0ZV90ICpjc3RhdGUsIHN0cnVjdCBpbjZfYWRkciAqYWRkciwKLSAKLSAjaWZuZGVmIElORVQ2Ci0gc3RhdGljIHN0cnVjdCBibG9jayAqCi0tZ2VuX2dhdGV3YXkoZWFkZHIsIGFsaXN0LCBwcm90bywgZGlyKQotLQljb25zdCB1X2NoYXIgKmVhZGRyOwotLQlicGZfdV9pbnQzMiAqKmFsaXN0OwotLQlpbnQgcHJvdG87Ci0tCWludCBkaXI7Ci0rZ2VuX2dhdGV3YXkoY3N0YXRlLCBlYWRkciwgYWxpc3QsIHByb3RvLCBkaXIpCi0rICAgIGNvbXBpbGVyX3N0YXRlX3QgKmNzdGF0ZTsKLSsgICAgY29uc3QgdV9jaGFyICplYWRkcjsKLSsgICAgYnBmX3VfaW50MzIgKiphbGlzdDsKLSsgICAgaW50IHByb3RvOwotKyAgICBpbnQgZGlyOwotIHsKLSAJc3RydWN0IGJsb2NrICpiMCwgKmIxLCAqdG1wOwotIAotQEAgLTY0NzIsNyArNjQ3Myw3IEBAIGdlbl9zY29kZShjb21waWxlcl9zdGF0ZV90ICpjc3RhdGUsIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBxdWFsIHEpCi0gCQlhbGlzdCA9IHBjYXBfbmFtZXRvYWRkcihuYW1lKTsKLSAJCWlmIChhbGlzdCA9PSBOVUxMIHx8ICphbGlzdCA9PSBOVUxMKQotIAkJCWJwZl9lcnJvcihjc3RhdGUsICJ1bmtub3duIGhvc3QgJyVzJyIsIG5hbWUpOwotLQkJYiA9IGdlbl9nYXRld2F5KGVhZGRyLCBhbGlzdCwgcHJvdG8sIGRpcik7Ci0rCQliID0gZ2VuX2dhdGV3YXkoY3N0YXRlLCBlYWRkciwgYWxpc3QsIHByb3RvLCBkaXIpOwotIAkJZnJlZShlYWRkcik7Ci0gCQlyZXR1cm4gYjsKLSAjZWxzZQotLS0gCi0yLjEuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwL2Rpc2FibGUtcmVtb3RlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC9kaXNhYmxlLXJlbW90ZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2UxZWVhNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwL2Rpc2FibGUtcmVtb3RlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotRGlzYWJsZSBiaXRzIG9mIHJlbW90ZSBjYXB0dXJlIHN1cHBvcnQgaW5oZXJpdGVkIGZyb20gdGhlIFdpblBDQVAgbWVyZ2UKLXdoaWNoIGNhdXNlIGFwcGxpY2F0aW9ucyB0byBGVEJGUyBpZiB0aGV5IGRlZmluZSBIQVZFX1JFTU9URS4KLQotUGF0Y2ggZnJvbToKLWh0dHBzOi8vYW5vbnNjbS5kZWJpYW4ub3JnL2NnaXQvdXNlcnMvcmZyYW5jb2lzZS9saWJwY2FwLmdpdC9jb21taXQvPwotaWQ9ZjM1OTQ5OTY5MjY5ZGZkY2MzNTQ5YjEyZmFkZTYwNDc1NWUxZTMyNgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotLS0tIGEvcGNhcC9wY2FwLmgKLSsrKyBiL3BjYXAvcGNhcC5oCi1AQCAtNTA2LDYgKzUwNiwxMSBAQAotICAgI2RlZmluZSBNT0RFX1NUQVQgMQotICAgI2RlZmluZSBNT0RFX01PTiAyCi0gCi0rI2lmZGVmIEhBVkVfUkVNT1RFCi0rICAvKiBJbmNsdWRlcyBtb3N0IG9mIHRoZSBwdWJsaWMgc3R1ZmYgdGhhdCBpcyBuZWVkZWQgZm9yIHRoZSByZW1vdGUgY2FwdHVyZSAqLwotKyAgI2luY2x1ZGUgPHJlbW90ZS1leHQuaD4KLSsjZW5kaWYJIC8qIEhBVkVfUkVNT1RFICovCi0rCi0gI2VsaWYgZGVmaW5lZChNU0RPUykKLSAKLSAgIC8qCi1AQCAtNTI2LDExICs1MzEsNiBAQAotIAotICNlbmRpZiAvKiBfV0lOMzIvTVNET1MvVU4qWCAqLwotIAotLSNpZmRlZiBIQVZFX1JFTU9URQotLSAgLyogSW5jbHVkZXMgbW9zdCBvZiB0aGUgcHVibGljIHN0dWZmIHRoYXQgaXMgbmVlZGVkIGZvciB0aGUgcmVtb3RlIGNhcHR1cmUgKi8KLS0gICNpbmNsdWRlIDxyZW1vdGUtZXh0Lmg+Ci0tI2VuZGlmCSAvKiBIQVZFX1JFTU9URSAqLwotLQotICNpZmRlZiBfX2NwbHVzcGx1cwotIH0KLSAjZW5kaWYKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC9maXgtZ3JhbW1hci1kZXBzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC9maXgtZ3JhbW1hci1kZXBzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNDBlNjU1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvZml4LWdyYW1tYXItZGVwcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUZpeCBhIG1pc3NpbmcgZGVwZW5kZW5jeSB0aGF0IGNhbiByZXN1bHQgaW46Ci0KLS4uL2xpYnBjYXAtMS44LjEvZ3JhbW1hci55Ojc4OjEwOiBmYXRhbCBlcnJvcjogc2Nhbm5lci5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLUZyb20gMGRkOTBhNmJkYmNlNGRjYTE0MTA2ODU5ZWVlNjNlZjY0M2ExMDZlMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZnJlZG8gQWx2YXJleiBGZXJuYW5kZXogPGFsZnJlZG9hbHZhcmV6ZXJuYW5kZXpAZ21haWwuY29tPgotRGF0ZTogVHVlLCAyMSBGZWIgMjAxNyAxMTo0MTo0MyArMDEwMAotU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5pbjogRml4IG1pc3NpbmcgZGVwZW5kZW5jeQotCi0tLS0KLSBNYWtlZmlsZS5pbiB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KLWluZGV4IDcwNDRmMDQzLi5mNWQ0NDNhZSAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLmluCi0rKysgYi9NYWtlZmlsZS5pbgotQEAgLTQ2NSw3ICs0NjUsNyBAQCBncmFtbWFyLmg6IGdyYW1tYXIuYwotIAkJJChNQUtFKSAkKE1BS0VGTEFHUykgZ3JhbW1hci5jOyBcCi0gCWZpCi0gCi0tZ3JhbW1hci5vOiBncmFtbWFyLmMKLStncmFtbWFyLm86IGdyYW1tYXIuYyBzY2FubmVyLmgKLSAJJChDQykgJChGVUxMX0NGTEFHUykgLWMgZ3JhbW1hci5jCi0gCi0gZ2VuY29kZS5vOiAkKHNyY2RpcikvZ2VuY29kZS5jIGdyYW1tYXIuaCBzY2FubmVyLmgKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvbGlicGNhcC1wa2djb25maWctc3VwcG9ydC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvbGlicGNhcC1wa2djb25maWctc3VwcG9ydC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWZhYTNiZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwL2xpYnBjYXAtcGtnY29uZmlnLXN1cHBvcnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi1Gcm9tIDI3OTYxMjlhZjUyOTAxZGQ2ODU5NWU1ZTg4YTYzOTMwODU0MWRlZjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgotRGF0ZTogVGh1LCAzIE5vdiAyMDE2IDE3OjU2OjI5IC0wMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxpYnBjYXA6IHBrZ2NvbmZpZyBzdXBwb3J0Ci1Pcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgotCi1BZGRpbmcgYmFzaWMgc3RydWN0dXJlIHRvIHN1cHBvcnQgcGtnLWNvbmZpZy4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogSm9lIE1hY0RvbmFsZCA8am9lX21hY2RvbmFsZEBtZW50b3IuY29tPgotU2lnbmVkLW9mZi1ieTogRmFiaW8gQmVydG9uIDxmYWJpby5iZXJ0b25Ab3NzeXN0ZW1zLmNvbS5icj4KLS0tLQotIE1ha2VmaWxlLmluICAgfCAgNSArKysrKwotIGNvbmZpZ3VyZS5hYyAgfCAgMSArCi0gbGlicGNhcC5wYy5pbiB8IDEwICsrKysrKysrKysKLSAzIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKykKLSBjcmVhdGUgbW9kZSAxMDA2NDQgbGlicGNhcC5wYy5pbgotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgotaW5kZXggZTcxZDk3My4uZDcwMDRlZCAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLmluCi0rKysgYi9NYWtlZmlsZS5pbgotQEAgLTYxLDYgKzYxLDEwIEBAIFZfUlBBVEhfT1BUID0gQFZfUlBBVEhfT1BUQAotIERFUEVOREVOQ1lfQ0ZMQUcgPSBAREVQRU5ERU5DWV9DRkxBR0AKLSBQUk9HPWxpYnBjYXAKLSAKLSsjIHBrZ2NvbmZpZyBzdXBwb3J0Ci0rcGtnY29uZmlnZGlyID0gJChsaWJkaXIpL3BrZ2NvbmZpZwotK3BrZ2NvbmZpZ19EQVRBID0gbGlicGNhcC5wYwotKwotICMgU3RhbmRhcmQgQ0ZMQUdTCi0gRlVMTF9DRkxBR1MgPSAkKENDT1BUKSAkKElOQ0xTKSAkKERFRlMpICQoQ0ZMQUdTKQotIAotQEAgLTI4Niw2ICsyOTAsNyBAQCBFWFRSQV9ESVNUID0gXAotIAlsYmwvb3Mtc29sYXJpczIuaCBcCi0gCWxibC9vcy1zdW5vczQuaCBcCi0gCWxibC9vcy11bHRyaXg0LmggXAotKwlsaWJwY2FwLnBjIFwKLSAJbWlzc2luZy9nZXRvcHQuYyBcCi0gCW1pc3NpbmcvZ2V0b3B0LmggXAotIAltaXNzaW5nL3NucHJpbnRmLmMgXAotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggZGEyZjk0MC4uNGZjNjdiZiAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMTgwNSw2ICsxODA1LDcgQEAgZmkKLSBBQ19QUk9HX0lOU1RBTEwKLSAKLSBBQ19DT05GSUdfSEVBREVSKGNvbmZpZy5oKQotK0FDX0NPTkZJR19GSUxFUyhbbGlicGNhcC5wY10pCi0gCi0gQUNfT1VUUFVUX0NPTU1BTkRTKFtpZiB0ZXN0IC1mIC5kZXZlbDsgdGhlbgotIAllY2hvIHRpbWVzdGFtcCA+IHN0YW1wLWgKLWRpZmYgLS1naXQgYS9saWJwY2FwLnBjLmluIGIvbGlicGNhcC5wYy5pbgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjRmNzhhZDgKLS0tLSAvZGV2L251bGwKLSsrKyBiL2xpYnBjYXAucGMuaW4KLUBAIC0wLDAgKzEsMTAgQEAKLStwcmVmaXg9QHByZWZpeEAKLStleGVjX3ByZWZpeD1AZXhlY19wcmVmaXhACi0rbGliZGlyPUBsaWJkaXJACi0raW5jbHVkZWRpcj1AaW5jbHVkZWRpckAKLSsKLStOYW1lOiBsaWJwY2FwCi0rRGVzY3JpcHRpb246IFN5c3RlbS1pbmRlcGVuZGVudCBpbnRlcmZhY2UgZm9yIHVzZXItbGV2ZWwgcGFja2V0IGNhcHR1cmUuCi0rVmVyc2lvbjogQFZFUlNJT05ACi0rTGliczogLUwke2xpYmRpcn0gLWxwY2FwCi0rQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0KLS0tIAotMi4xLjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcF8xLjguMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXBfMS44LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEzZGZiZDYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcF8xLjguMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLXJlcXVpcmUgbGlicGNhcC5pbmMKLQotU1JDX1VSSSArPSAiIFwKLSAgICBmaWxlOi8vbGlicGNhcC1wa2djb25maWctc3VwcG9ydC5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDEtRml4LWNvbXBpbGVyX3N0YXRlX3QuYWktdXNhZ2Utd2hlbi1JTkVUNi1pcy1ub3QtZGVmaS5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDItQWRkLW1pc3NpbmctY29tcGlsZXJfc3RhdGVfdC1wYXJhbWV0ZXIucGF0Y2ggXAotICAgIGZpbGU6Ly9kaXNhYmxlLXJlbW90ZS5wYXRjaCBcCi0gICAgZmlsZTovL2ZpeC1ncmFtbWFyLWRlcHMucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiM2Q0OGY5Y2QxNzFmZjEyYjBlZmQ5MTM0YjUyZjE0NDciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjczZGJjNjlmZGMzZjVhODZmYjU3NTlhYjE5ODk5MDM5YThlNWU2YzYzMTc0OWU0OGRjZDljNmYwYzgzNTQxZSIKLQotIwotIyBtYWtlIGluc3RhbGwgZG9lc24ndCBjb3ZlciB0aGUgc2hhcmVkIGxpYgotIyBtYWtlIGluc3RhbGwtc2hhcmVkIGlzIGp1c3QgYnJva2VuIChubyBzeW1saW5rcykKLSMKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotICAgICNyZW1vdmUgaGFyZGNvZGVkIHJlZmVyZW5jZXMgdG8gL3Vzci9pbmNsdWRlCi0gICAgc2VkICdzfFwoWyAiXidcJydJXVwrXCkvdXNyL2luY2x1ZGUvfFwxJHtTVEFHSU5HX0lOQ0RJUn0vfGcnIC1pICR7U30vY29uZmlndXJlLmFjCi19Ci0KLWRvX2luc3RhbGxfcHJlcGVuZCAoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0gICAgb2VfcnVubWFrZSBpbnN0YWxsLXNoYXJlZCBERVNURElSPSR7RH0KLSAgICBvZV9saWJpbnN0YWxsIC1hIC1zbyBsaWJwY2FwICR7RH0ke2xpYmRpcn0KLSAgICBzZWQgInN8QFZFUlNJT05AfCR7UFZ9fCIgLWkgJHtCfS9saWJwY2FwLnBjCi0gICAgaW5zdGFsbCAtRCAtbSAwNjQ0IGxpYnBjYXAucGMgJHtEfSR7bGliZGlyfS9wa2djb25maWcvbGlicGNhcC5wYwotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcF8xLjkuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXBfMS45LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzgzNjE1NgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXBfMS45LjAuYmIKQEAgLTAsMCArMSw0NSBAQAorU1VNTUFSWSA9ICJJbnRlcmZhY2UgZm9yIHVzZXItbGV2ZWwgbmV0d29yayBwYWNrZXQgY2FwdHVyZSIKK0RFU0NSSVBUSU9OID0gIkxpYnBjYXAgcHJvdmlkZXMgYSBwb3J0YWJsZSBmcmFtZXdvcmsgZm9yIGxvdy1sZXZlbCBuZXR3b3JrIFwKK21vbml0b3JpbmcuICBMaWJwY2FwIGNhbiBwcm92aWRlIG5ldHdvcmsgc3RhdGlzdGljcyBjb2xsZWN0aW9uLCBcCitzZWN1cml0eSBtb25pdG9yaW5nIGFuZCBuZXR3b3JrIGRlYnVnZ2luZy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnRjcGR1bXAub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9ncm91cF9pZD01MzA2NyZhdGlkPTQ2OTU3NyIKK1NFQ1RJT04gPSAibGlicy9uZXR3b3JrIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01ZWIyODkyMTdjMTYwZTI5MjBkMmUzNWJkZGMzNjQ1MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9wY2FwLmg7YmVnaW5saW5lPTE7ZW5kbGluZT0zMjttZDU9MzlhZjM1MTBlMDExZjM0Yjg4NzJmMTIwYjFkYzMxZDIiCitERVBFTkRTID0gImZsZXgtbmF0aXZlIGJpc29uLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwczovL3d3dy50Y3BkdW1wLm9yZy9yZWxlYXNlLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXBjYXAtdXNiLWxpbnV4LmMtYWRkLW1pc3NpbmctbGltaXRzLmgtZm9yLW11c2wtc3lzdGUucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiZGZmZDY1Y2IxNDQwNmFiOTg0MWY0MjE3MzJlYjBmMzMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmVkYjg4ODA4ZTU5MTNmZGFhOGU5YzFmY2FmMjcyZTE5YjI0ODUzMzg3NDJiNTA3NGI5ZmU0NGQ2OGYzNzAxOSIKKworaW5oZXJpdCBhdXRvdG9vbHMgYmluY29uZmlnLWRpc2FibGVkIHBrZ2NvbmZpZyBibHVldG9vdGgKKworQklOQ09ORklHID0gIiR7YmluZGlyfS9wY2FwLWNvbmZpZyIKKworIyBFeHBsaWNpdGx5IGRpc2FibGUgZGFnIHN1cHBvcnQuIFdlIGRvbid0IGhhdmUgcmVjaXBlIGZvciBpdCBhbmQgaWYgZW5hYmxlZCBoZXJlLAorIyBjb25maWd1cmUgc2NyaXB0IHBvaXNvbnMgdGhlIGluY2x1ZGUgZGlycyB3aXRoIC91c3IvbG9jYWwvaW5jbHVkZSBldmVuIHdoZW4gdGhlCisjIHN1cHBvcnQgaGFzbid0IGJlZW4gZGV0ZWN0ZWQuCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLXBjYXA9bGludXggXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtZGFnIFwKKyAgICAgICAgICAgICAgICAgIgorRVhUUkFfQVVUT1JFQ09ORiArPSAiLS1leGNsdWRlPWFjbG9jYWwiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV0b290aCcsICcke0JMVUVafScsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0gXAorIgorUEFDS0FHRUNPTkZJR1tibHVlejVdID0gIi0tZW5hYmxlLWJsdWV0b290aCwtLWRpc2FibGUtYmx1ZXRvb3RoLGJsdWV6NSIKK1BBQ0tBR0VDT05GSUdbZGJ1c10gPSAiLS1lbmFibGUtZGJ1cywtLWRpc2FibGUtZGJ1cyxkYnVzIgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKK1BBQ0tBR0VDT05GSUdbbGlibmxdID0gIi0td2l0aC1saWJubCwtLXdpdGhvdXQtbGlibmwsbGlibmwiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICAjcmVtb3ZlIGhhcmRjb2RlZCByZWZlcmVuY2VzIHRvIC91c3IvaW5jbHVkZQorICAgIHNlZCAnc3xcKFsgIl4nXCcnSV1cK1wpL3Vzci9pbmNsdWRlL3xcMSR7U1RBR0lOR19JTkNESVJ9L3xnJyAtaSAke1N9L2NvbmZpZ3VyZS5hYworfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8vbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvL211bHRpbGliZml4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8vbXVsdGlsaWJmaXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlOTdlOGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8vbXVsdGlsaWJmaXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1UaGUgbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvLnBjIGZpbGUgaXMgaW5zdGFsbGVkIGludG8gYSBub24tYXJjaCBkaXJlY3RvcnkKLXlldCBjb250YWlucyBsaWJkaXIgd2hpY2ggY2FuIHZhcnkgZGVwZW5kaW5nIG9uIHdoaWNoIG11bHRpbGliIGlzIGNvbmZpZ3VyZWQuCi1UaGUgLnBjIGZpbGUgZG9lcyBub3QgcmVxdWlyZSBsaWJkaXIgc28gcmVtb3ZlIHRoaXMgdG8gZml4IG11bHRpbGliIGJ1aWxkcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbODEwOWZjZDNjNzI5OWZhZTg1OWZiODkxZmY0MTY5Mjc1ODFhOTk1NV0KLVNpZ25lZC1vZmYtYnk6IFpoaXhpb25nIENoaSA8emhpeGlvbmcuY2hpQHdpbmRyaXZlci5jb20+Ci0KLUluZGV4OiBnaXQvbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvLnBjLmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvLnBjLmluCTIwMTgtMDgtMDcgMTM6MDk6MzEuODExMzY0MDYzICswODAwCi0rKysgZ2l0L21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby5wYy5pbgkyMDE4LTA4LTEwIDE3OjQ5OjI1LjY0NTI4ODMyMCArMDgwMAotQEAgLTEsNiArMSw1IEBACi0gcHJlZml4PUBwcmVmaXhACi0gZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4QAotLWxpYmRpcj1AbGliZGlyQAotIGRhdGFyb290ZGlyID0gQGRhdGFyb290ZGlyQAotIHBrZ2RhdGFkaXI9JHtkYXRhcm9vdGRpcn0vQFBBQ0tBR0VACi0gaW5jbHVkZWRpcj1AaW5jbHVkZWRpckAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8vbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8vbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvX2dpdC5iYgppbmRleCA3ZjFkZDc4Li43N2FkY2ViIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvL21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mb19naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm9fZ2l0LmJiCkBAIC0zLDEzICszLDExIEBACiBTRUNUSU9OID0gIm5ldHdvcmsiCiBMSUNFTlNFID0gIlBEIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ODc5NjQ1NzliMmE4ZWNlNGJjNjc0NGQyZGM5YThiMDQiCi1TUkNSRVYgPSAiYmVmY2JiYzk4NjdlNzQyYWMxNjQxNTY2MGIwYjc1MjEyMThhNTMwYyIKLVBWID0gIjIwMTcwMzEwIgorU1JDUkVWID0gImM3ZGVmNjBiYTUwZDljYzMwYTkwZjY5Zjg5ZDdlODIyNDM1MDFlODYiCitQViA9ICIyMDE5MDExNiIKIFBFID0gIjEiCiAKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8uZ2l0O3Byb3RvY29sPWh0dHBzIFwKLSAgICAgICAgICAgZmlsZTovL211bHRpbGliZml4LnBhdGNoIFwKLSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8uZ2l0O3Byb3RvY29sPWh0dHBzIgogUyA9ICIke1dPUktESVJ9L2dpdCIKIAogaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzLzAwMDEtRG8tbm90LXBhc3MtbnVsbC1wb2ludGVyLXRvLWZyZWVhZGRyaW5mby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzLzAwMDEtRG8tbm90LXBhc3MtbnVsbC1wb2ludGVyLXRvLWZyZWVhZGRyaW5mby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDRkMWJmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1Eby1ub3QtcGFzcy1udWxsLXBvaW50ZXItdG8tZnJlZWFkZHJpbmZvLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gNGYxMTVmYzMxNDY0NjUwMGY3YjQxNzhkNzI0OGEwMjY1NGM3Y2QxMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDMwIE5vdiAyMDE4IDE2OjQ3OjU3IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBwYXNzIG51bGwgcG9pbnRlciB0byBmcmVlYWRkcmluZm8oKQorCitQYXNzaW5nIG51bGwgcG9pbnRlciBhcyBpbnB1dCBwYXJhbWV0ZXIgdG8gZnJlZWFkZHJpbmZvKCkgaXMgdW5kZWZpbmVkCitiZWhhdmlvdXIsIHNvbWUgbGliY3MgZS5nLiBnbGliYyBtaWdodCBqdXN0IGNhbGwgZnJlZSgpIHdoaWNoIGRvZXMKK2FjY2VwdCBudWxsIHBvaW50ZXIgYnV0IG90aGVyIGxpYmNzIGUuZy4gbXVzbCBtaWdodCBub3QgYW5kIGluc3RlYWQKK2NhdXNlIHRoZSBwcm9ncmFtIHRvIHNlZ2ZhdWx0LiBUaGVyZWZvcmUgZG8gbm90IHJlbHkgb24gdW5kZWZpbmVkCitiZWhhdmlvdXIgaW5zdGVhZCBtYWtlIGl0IGRldGVybWluaXN0aWMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBzdXBwb3J0L2V4cG9ydC9jbGllbnQuYyB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitJbmRleDogbmZzLXV0aWxzLTIuMy4yL3N1cHBvcnQvZXhwb3J0L2NsaWVudC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmZzLXV0aWxzLTIuMy4yLm9yaWcvc3VwcG9ydC9leHBvcnQvY2xpZW50LmMKKysrKyBuZnMtdXRpbHMtMi4zLjIvc3VwcG9ydC9leHBvcnQvY2xpZW50LmMKK0BAIC0zMDksNyArMzA5LDggQEAgY2xpZW50X2xvb2t1cChjaGFyICpobmFtZSwgaW50IGNhbm9uaWNhbAorIAkJaW5pdF9hZGRybGlzdChjbHAsIGFpKTsKKyAKKyBvdXQ6CistCWZyZWVhZGRyaW5mbyhhaSk7CisrCWlmIChhaSkKKysJCWZyZWVhZGRyaW5mbyhhaSk7CisgCXJldHVybiBjbHA7CisgfQorIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1Eb24tdC1idWlsZC10b29scy13aXRoLUNDX0ZPUl9CVUlMRC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzLzAwMDEtRG9uLXQtYnVpbGQtdG9vbHMtd2l0aC1DQ19GT1JfQlVJTEQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjNiYzNlYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzLzAwMDEtRG9uLXQtYnVpbGQtdG9vbHMtd2l0aC1DQ19GT1JfQlVJTEQucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSA3OTAxOWQ5NzY1ODRjNTk4ZjhkMGE5ZDhkZTQzYzk4OTk0NmY5NzRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGFzY2FsIEJhY2ggPHBhc2NhbC5iYWNoQHNpZW1lbnMuY29tPgorRGF0ZTogV2VkLCAxMyBGZWIgMjAxOSAwOToyODowNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBEb24ndCBidWlsZCB0b29scyB3aXRoIENDX0ZPUl9CVUlMRAorCitUaGUgdG9vbHMgYXJlIGludGVuZGVkIGZvciB0aGUgdGFyZ2V0IG5vdCBmb3IgdGhlIGhvc3QuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBQYXNjYWwgQmFjaCA8cGFzY2FsLmJhY2hAc2llbWVucy5jb20+CistLS0KKyB0b29scy9sb2NrdGVzdC9NYWtlZmlsZS5hbSB8IDEgLQorIHRvb2xzL3JwY2dlbi9NYWtlZmlsZS5hbSAgIHwgMSAtCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdG9vbHMvbG9ja3Rlc3QvTWFrZWZpbGUuYW0gYi90b29scy9sb2NrdGVzdC9NYWtlZmlsZS5hbQoraW5kZXggMzE1NjgxNS4uODdkMGJhYyAxMDA2NDQKKy0tLSBhL3Rvb2xzL2xvY2t0ZXN0L01ha2VmaWxlLmFtCisrKysgYi90b29scy9sb2NrdGVzdC9NYWtlZmlsZS5hbQorQEAgLTEsNiArMSw1IEBACisgIyMgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvbWFrZSB0byBwcm9kdWNlIE1ha2VmaWxlLmluCisgCistQ0M9JChDQ19GT1JfQlVJTEQpCisgTElCVE9PTCA9IEBMSUJUT09MQCAtLXRhZz1DQworIAorIG5vaW5zdF9QUk9HUkFNUyA9IHRlc3RsaworZGlmZiAtLWdpdCBhL3Rvb2xzL3JwY2dlbi9NYWtlZmlsZS5hbSBiL3Rvb2xzL3JwY2dlbi9NYWtlZmlsZS5hbQoraW5kZXggOGE5ZWM4OS4uM2UwOTJjOSAxMDA2NDQKKy0tLSBhL3Rvb2xzL3JwY2dlbi9NYWtlZmlsZS5hbQorKysrIGIvdG9vbHMvcnBjZ2VuL01ha2VmaWxlLmFtCitAQCAtMSw2ICsxLDUgQEAKKyAjIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9tYWtlIHRvIHByb2R1Y2UgTWFrZWZpbGUuaW4KKyAKKy1DQz0kKENDX0ZPUl9CVUlMRCkKKyBMSUJUT09MID0gQExJQlRPT0xAIC0tdGFnPUNDCisgCisgbm9pbnN0X1BST0dSQU1TID0gcnBjZ2VuCistLSAKKzIuMTEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLU1ha2VmaWxlLmFtLWZpeC11bmRlZmluZWQtZnVuY3Rpb24tZm9yLWxpYm5zbS5hLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1NYWtlZmlsZS5hbS1maXgtdW5kZWZpbmVkLWZ1bmN0aW9uLWZvci1saWJuc20uYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTU1MWViCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1NYWtlZmlsZS5hbS1maXgtdW5kZWZpbmVkLWZ1bmN0aW9uLWZvci1saWJuc20uYS5wYXRjaApAQCAtMCwwICsxLDI5NSBAQAorRnJvbSA2OTBhOTBhNWI3Nzg2ZTQwYjU0NDdhZDdjNWYxOWE3NjU3ZDI3NDA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWluZ2xpIFl1IDxNaW5nbGkuWXVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IEZyaSwgMTQgRGVjIDIwMTggMTc6NDQ6MzIgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGUuYW06IGZpeCB1bmRlZmluZWQgZnVuY3Rpb24gZm9yIGxpYm5zbS5hCisKK1RoZSBzb3VyY2UgZmlsZSBvZiBsaWJuc20uYSB1c2VzIHNvbWUgZnVuY3Rpb24KK2luIC4uL3N1cHBvcnQvbWlzYy9maWxlLmMsIGFkZCAuLi9zdXBwb3J0L21pc2MvZmlsZS5jCit0byBsaWJuc21fYV9TT1VSQ0VTIHRvIGZpeCBidWlsZCBlcnJvciB3aGVuIHJ1bgorIm1ha2UgLUMgdGVzdHMgc3RhdGRiX2R1bXAiOgorfCAuLi9zdXBwb3J0L25zbS9saWJuc20uYShmaWxlLm8pOiBJbiBmdW5jdGlvbiBgbnNtX21ha2VfcGF0aG5hbWUnOgorfCAvdXNyL3NyYy9kZWJ1Zy9uZnMtdXRpbHMvMi4zLjMtcjAvbmZzLXV0aWxzLTIuMy4zL3N1cHBvcnQvbnNtL2ZpbGUuYzoxNzU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdlbmVyaWNfbWFrZV9wYXRobmFtZScKK3wgL3Vzci9zcmMvZGVidWcvbmZzLXV0aWxzLzIuMy4zLXIwL25mcy11dGlscy0yLjMuMy9zdXBwb3J0L25zbS9maWxlLmM6MTc1OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBnZW5lcmljX21ha2VfcGF0aG5hbWUnCit8IC91c3Ivc3JjL2RlYnVnL25mcy11dGlscy8yLjMuMy1yMC9uZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9uc20vZmlsZS5jOjE3NTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZ2VuZXJpY19tYWtlX3BhdGhuYW1lJworfCAuLi9zdXBwb3J0L25zbS9saWJuc20uYShmaWxlLm8pOiBJbiBmdW5jdGlvbiBgbnNtX3NldHVwX3BhdGhuYW1lcyc6Cit8IC91c3Ivc3JjL2RlYnVnL25mcy11dGlscy8yLjMuMy1yMC9uZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9uc20vZmlsZS5jOjI4MDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZ2VuZXJpY19zZXR1cF9iYXNlZGlyJworfCBjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKKworQXMgdGhlcmUgaXMgYWxyZWFkeSBvbmUgc291cmNlIGZpbGUgbmFtZWQgZmlsZS5jCithcyBzdXBwb3J0L25zbS9maWxlLmMgaW4gc3VwcG9ydC9uc20vTWFrZWZpbGUuYW0sCitzbyByZW5hbWUgLi4vc3VwcG9ydC9taXNjL2ZpbGUuYyB0byAuLi9zdXBwb3J0L21pc2MvbWlzYy5jLgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZFtodHRwczovL21hcmMuaW5mby8/bD1saW51eC1uZnMmbT0xNTQ1MDI3ODA0MjMwNTgmdz0yXQorCitTaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPE1pbmdsaS5ZdUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3VwcG9ydC9taXNjL01ha2VmaWxlLmFtIHwgICAyICstCisgc3VwcG9ydC9taXNjL2ZpbGUuYyAgICAgIHwgMTExIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgc3VwcG9ydC9taXNjL21pc2MuYyAgICAgIHwgMTExICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgc3VwcG9ydC9uc20vTWFrZWZpbGUuYW0gIHwgICAyICstCisgNCBmaWxlcyBjaGFuZ2VkLCAxMTMgaW5zZXJ0aW9ucygrKSwgMTEzIGRlbGV0aW9ucygtKQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBzdXBwb3J0L21pc2MvZmlsZS5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHN1cHBvcnQvbWlzYy9taXNjLmMKKworZGlmZiAtLWdpdCBhL3N1cHBvcnQvbWlzYy9NYWtlZmlsZS5hbSBiL3N1cHBvcnQvbWlzYy9NYWtlZmlsZS5hbQoraW5kZXggODkzNmIwZC4uZDRjMWY3NiAxMDA2NDQKKy0tLSBhL3N1cHBvcnQvbWlzYy9NYWtlZmlsZS5hbQorKysrIGIvc3VwcG9ydC9taXNjL01ha2VmaWxlLmFtCitAQCAtMSw2ICsxLDYgQEAKKyAjIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9tYWtlIHRvIHByb2R1Y2UgTWFrZWZpbGUuaW4KKyAKKyBub2luc3RfTElCUkFSSUVTID0gbGlibWlzYy5hCistbGlibWlzY19hX1NPVVJDRVMgPSB0Y3B3cmFwcGVyLmMgZnJvbV9sb2NhbC5jIG1vdW50cG9pbnQuYyBmaWxlLmMKKytsaWJtaXNjX2FfU09VUkNFUyA9IHRjcHdyYXBwZXIuYyBmcm9tX2xvY2FsLmMgbW91bnRwb2ludC5jIG1pc2MuYworIAorIE1BSU5UQUlORVJDTEVBTkZJTEVTID0gTWFrZWZpbGUuaW4KK2RpZmYgLS1naXQgYS9zdXBwb3J0L21pc2MvZmlsZS5jIGIvc3VwcG9ydC9taXNjL2ZpbGUuYworZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBlN2MzODE5Li4wMDAwMDAwCistLS0gYS9zdXBwb3J0L21pc2MvZmlsZS5jCisrKysgL2Rldi9udWxsCitAQCAtMSwxMTEgKzAsMCBAQAorLS8qCistICogQ29weXJpZ2h0IDIwMDkgT3JhY2xlLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy0gKiBDb3B5cmlnaHQgMjAxNyBSZWQgSGF0LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLSAqCistICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmZzLXV0aWxzLgorLSAqCistICogbmZzLXV0aWxzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCistICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy0gKgorLSAqIG5mcy11dGlscyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCistICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCistICoKKy0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSAqIGFsb25nIHdpdGggbmZzLXV0aWxzLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorLSAqLworLQorLSNpbmNsdWRlIDxzeXMvc3RhdC5oPgorLQorLSNpbmNsdWRlIDxzdHJpbmcuaD4KKy0jaW5jbHVkZSA8bGliZ2VuLmg+CistI2luY2x1ZGUgPHN0ZGlvLmg+CistI2luY2x1ZGUgPGVycm5vLmg+CistI2luY2x1ZGUgPGRpcmVudC5oPgorLSNpbmNsdWRlIDxzdGRsaWIuaD4KKy0jaW5jbHVkZSA8c3RkYm9vbC5oPgorLSNpbmNsdWRlIDxsaW1pdHMuaD4KKy0KKy0jaW5jbHVkZSAieGxvZy5oIgorLSNpbmNsdWRlICJtaXNjLmgiCistCistLyoKKy0gKiBSZXR1cm5zIGEgZHluYW1pY2FsbHkgYWxsb2NhdGVkLCAnXDAnLXRlcm1pbmF0ZWQgYnVmZmVyCistICogY29udGFpbmluZyBhbiBhcHByb3ByaWF0ZSBwYXRobmFtZSwgb3IgTlVMTCBpZiBhbiBlcnJvcgorLSAqIG9jY3Vycy4gIENhbGxlciBtdXN0IGZyZWUgdGhlIHJldHVybmVkIHJlc3VsdCB3aXRoIGZyZWUoMykuCistICovCistX19hdHRyaWJ1dGVfXygoX19tYWxsb2NfXykpCistY2hhciAqCistZ2VuZXJpY19tYWtlX3BhdGhuYW1lKGNvbnN0IGNoYXIgKmJhc2UsIGNvbnN0IGNoYXIgKmxlYWYpCisteworLQlzaXplX3Qgc2l6ZTsKKy0JY2hhciAqcGF0aDsKKy0JaW50IGxlbjsKKy0KKy0Jc2l6ZSA9IHN0cmxlbihiYXNlKSArIHN0cmxlbihsZWFmKSArIDI7CistCWlmIChzaXplID4gUEFUSF9NQVgpCistCQlyZXR1cm4gTlVMTDsKKy0KKy0JcGF0aCA9IG1hbGxvYyhzaXplKTsKKy0JaWYgKHBhdGggPT0gTlVMTCkKKy0JCXJldHVybiBOVUxMOworLQorLQlsZW4gPSBzbnByaW50ZihwYXRoLCBzaXplLCAiJXMvJXMiLCBiYXNlLCBsZWFmKTsKKy0JaWYgKChsZW4gPCAwKSB8fCAoKHNpemVfdClsZW4gPj0gc2l6ZSkpIHsKKy0JCWZyZWUocGF0aCk7CistCQlyZXR1cm4gTlVMTDsKKy0JfQorLQorLQlyZXR1cm4gcGF0aDsKKy19CistCistCistLyoqCistICogZ2VuZXJpY19zZXR1cF9iYXNlZGlyIC0gc2V0IHVwIGJhc2VkaXIKKy0gKiBAcHJvZ25hbWU6IEMgc3RyaW5nIGNvbnRhaW5pbmcgbmFtZSBvZiBwcm9ncmFtLCBmb3IgZXJyb3IgbWVzc2FnZXMKKy0gKiBAcGFyZW50ZGlyOiBDIHN0cmluZyBjb250YWluaW5nIHBhdGhuYW1lIHRvIG9uLWRpc2sgc3RhdGUsIG9yIE5VTEwKKy0gKiBAYmFzZTogY2hhcmFjdGVyIGJ1ZmZlciB0byBjb250YWluIHRoZSBiYXNlZGlyIHRoYXQgaXMgc2V0IHVwCistICogQGJhc2VsZW46IHNpemUgb2YgQGJhc2UgaW4gYnl0ZXMKKy0gKgorLSAqIFRoaXMgcnVucyBiZWZvcmUgbG9nZ2luZyBpcyBzZXQgdXAsIHNvIGVycm9yIG1lc3NhZ2VzIGFyZSBkaXJlY3RlZAorLSAqIHRvIHN0ZGVyci4KKy0gKgorLSAqIFJldHVybnMgdHJ1ZSBhbmQgc2V0cyB1cCBvdXIgYmFzZWRpciwgaWYgQHBhcmVudGRpciB3YXMgdmFsaWQKKy0gKiBhbmQgdXNhYmxlOyBvdGhlcndpc2UgZmFsc2UgaXMgcmV0dXJuZWQuCistICovCistX0Jvb2wKKy1nZW5lcmljX3NldHVwX2Jhc2VkaXIoY29uc3QgY2hhciAqcHJvZ25hbWUsIGNvbnN0IGNoYXIgKnBhcmVudGRpciwgY2hhciAqYmFzZSwKKy0JCSAgICAgIGNvbnN0IHNpemVfdCBiYXNlbGVuKQorLXsKKy0Jc3RhdGljIGNoYXIgYnVmW1BBVEhfTUFYXTsKKy0Jc3RydWN0IHN0YXQgc3Q7CistCWNoYXIgKnBhdGg7CistCistCS8qIEZpcnN0OiB0ZXN0IGxlbmd0aCBvZiBuYW1lIGFuZCB3aGV0aGVyIGl0IGV4aXN0cyAqLworLQlpZiAoKHN0cmxlbihwYXJlbnRkaXIpID49IGJhc2VsZW4pIHx8IChzdHJsZW4ocGFyZW50ZGlyKSA+PSBQQVRIX01BWCkpIHsKKy0JCSh2b2lkKWZwcmludGYoc3RkZXJyLCAiJXM6IERpcmVjdG9yeSBuYW1lIHRvbyBsb25nOiAlcyIsCistCQkJCXByb2duYW1lLCBwYXJlbnRkaXIpOworLQkJcmV0dXJuIGZhbHNlOworLQl9CistCWlmIChsc3RhdChwYXJlbnRkaXIsICZzdCkgPT0gLTEpIHsKKy0JCSh2b2lkKWZwcmludGYoc3RkZXJyLCAiJXM6IEZhaWxlZCB0byBzdGF0ICVzOiAlcyIsCistCQkJCXByb2duYW1lLCBwYXJlbnRkaXIsIHN0cmVycm9yKGVycm5vKSk7CistCQlyZXR1cm4gZmFsc2U7CistCX0KKy0KKy0JLyogRW5zdXJlIHdlIGhhdmUgYSBjbGVhbiBkaXJlY3RvcnkgcGF0aG5hbWUgKi8KKy0Jc3RybmNweShidWYsIHBhcmVudGRpciwgc2l6ZW9mKGJ1ZiktMSk7CistCXBhdGggPSBkaXJuYW1lKGJ1Zik7CistCWlmICgqcGF0aCA9PSAnLicpIHsKKy0JCSh2b2lkKWZwcmludGYoc3RkZXJyLCAiJXM6IFVudXNhYmxlIGRpcmVjdG9yeSAlcyIsCistCQkJCXByb2duYW1lLCBwYXJlbnRkaXIpOworLQkJcmV0dXJuIGZhbHNlOworLQl9CistCistCXhsb2coRF9DQUxMLCAiVXNpbmcgJXMgYXMgdGhlIHN0YXRlIGRpcmVjdG9yeSIsIHBhcmVudGRpcik7CistCXN0cmNweShiYXNlLCBwYXJlbnRkaXIpOworLQlyZXR1cm4gdHJ1ZTsKKy19CitkaWZmIC0tZ2l0IGEvc3VwcG9ydC9taXNjL21pc2MuYyBiL3N1cHBvcnQvbWlzYy9taXNjLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5lN2MzODE5CistLS0gL2Rldi9udWxsCisrKysgYi9zdXBwb3J0L21pc2MvbWlzYy5jCitAQCAtMCwwICsxLDExMSBAQAorKy8qCisrICogQ29weXJpZ2h0IDIwMDkgT3JhY2xlLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysgKiBDb3B5cmlnaHQgMjAxNyBSZWQgSGF0LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKyAqCisrICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbmZzLXV0aWxzLgorKyAqCisrICogbmZzLXV0aWxzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisrICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysgKgorKyAqIG5mcy11dGlscyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrICoKKysgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAqIGFsb25nIHdpdGggbmZzLXV0aWxzLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyAqLworKworKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorKworKyNpbmNsdWRlIDxzdHJpbmcuaD4KKysjaW5jbHVkZSA8bGliZ2VuLmg+CisrI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUgPGVycm5vLmg+CisrI2luY2x1ZGUgPGRpcmVudC5oPgorKyNpbmNsdWRlIDxzdGRsaWIuaD4KKysjaW5jbHVkZSA8c3RkYm9vbC5oPgorKyNpbmNsdWRlIDxsaW1pdHMuaD4KKysKKysjaW5jbHVkZSAieGxvZy5oIgorKyNpbmNsdWRlICJtaXNjLmgiCisrCisrLyoKKysgKiBSZXR1cm5zIGEgZHluYW1pY2FsbHkgYWxsb2NhdGVkLCAnXDAnLXRlcm1pbmF0ZWQgYnVmZmVyCisrICogY29udGFpbmluZyBhbiBhcHByb3ByaWF0ZSBwYXRobmFtZSwgb3IgTlVMTCBpZiBhbiBlcnJvcgorKyAqIG9jY3Vycy4gIENhbGxlciBtdXN0IGZyZWUgdGhlIHJldHVybmVkIHJlc3VsdCB3aXRoIGZyZWUoMykuCisrICovCisrX19hdHRyaWJ1dGVfXygoX19tYWxsb2NfXykpCisrY2hhciAqCisrZ2VuZXJpY19tYWtlX3BhdGhuYW1lKGNvbnN0IGNoYXIgKmJhc2UsIGNvbnN0IGNoYXIgKmxlYWYpCisreworKwlzaXplX3Qgc2l6ZTsKKysJY2hhciAqcGF0aDsKKysJaW50IGxlbjsKKysKKysJc2l6ZSA9IHN0cmxlbihiYXNlKSArIHN0cmxlbihsZWFmKSArIDI7CisrCWlmIChzaXplID4gUEFUSF9NQVgpCisrCQlyZXR1cm4gTlVMTDsKKysKKysJcGF0aCA9IG1hbGxvYyhzaXplKTsKKysJaWYgKHBhdGggPT0gTlVMTCkKKysJCXJldHVybiBOVUxMOworKworKwlsZW4gPSBzbnByaW50ZihwYXRoLCBzaXplLCAiJXMvJXMiLCBiYXNlLCBsZWFmKTsKKysJaWYgKChsZW4gPCAwKSB8fCAoKHNpemVfdClsZW4gPj0gc2l6ZSkpIHsKKysJCWZyZWUocGF0aCk7CisrCQlyZXR1cm4gTlVMTDsKKysJfQorKworKwlyZXR1cm4gcGF0aDsKKyt9CisrCisrCisrLyoqCisrICogZ2VuZXJpY19zZXR1cF9iYXNlZGlyIC0gc2V0IHVwIGJhc2VkaXIKKysgKiBAcHJvZ25hbWU6IEMgc3RyaW5nIGNvbnRhaW5pbmcgbmFtZSBvZiBwcm9ncmFtLCBmb3IgZXJyb3IgbWVzc2FnZXMKKysgKiBAcGFyZW50ZGlyOiBDIHN0cmluZyBjb250YWluaW5nIHBhdGhuYW1lIHRvIG9uLWRpc2sgc3RhdGUsIG9yIE5VTEwKKysgKiBAYmFzZTogY2hhcmFjdGVyIGJ1ZmZlciB0byBjb250YWluIHRoZSBiYXNlZGlyIHRoYXQgaXMgc2V0IHVwCisrICogQGJhc2VsZW46IHNpemUgb2YgQGJhc2UgaW4gYnl0ZXMKKysgKgorKyAqIFRoaXMgcnVucyBiZWZvcmUgbG9nZ2luZyBpcyBzZXQgdXAsIHNvIGVycm9yIG1lc3NhZ2VzIGFyZSBkaXJlY3RlZAorKyAqIHRvIHN0ZGVyci4KKysgKgorKyAqIFJldHVybnMgdHJ1ZSBhbmQgc2V0cyB1cCBvdXIgYmFzZWRpciwgaWYgQHBhcmVudGRpciB3YXMgdmFsaWQKKysgKiBhbmQgdXNhYmxlOyBvdGhlcndpc2UgZmFsc2UgaXMgcmV0dXJuZWQuCisrICovCisrX0Jvb2wKKytnZW5lcmljX3NldHVwX2Jhc2VkaXIoY29uc3QgY2hhciAqcHJvZ25hbWUsIGNvbnN0IGNoYXIgKnBhcmVudGRpciwgY2hhciAqYmFzZSwKKysJCSAgICAgIGNvbnN0IHNpemVfdCBiYXNlbGVuKQorK3sKKysJc3RhdGljIGNoYXIgYnVmW1BBVEhfTUFYXTsKKysJc3RydWN0IHN0YXQgc3Q7CisrCWNoYXIgKnBhdGg7CisrCisrCS8qIEZpcnN0OiB0ZXN0IGxlbmd0aCBvZiBuYW1lIGFuZCB3aGV0aGVyIGl0IGV4aXN0cyAqLworKwlpZiAoKHN0cmxlbihwYXJlbnRkaXIpID49IGJhc2VsZW4pIHx8IChzdHJsZW4ocGFyZW50ZGlyKSA+PSBQQVRIX01BWCkpIHsKKysJCSh2b2lkKWZwcmludGYoc3RkZXJyLCAiJXM6IERpcmVjdG9yeSBuYW1lIHRvbyBsb25nOiAlcyIsCisrCQkJCXByb2duYW1lLCBwYXJlbnRkaXIpOworKwkJcmV0dXJuIGZhbHNlOworKwl9CisrCWlmIChsc3RhdChwYXJlbnRkaXIsICZzdCkgPT0gLTEpIHsKKysJCSh2b2lkKWZwcmludGYoc3RkZXJyLCAiJXM6IEZhaWxlZCB0byBzdGF0ICVzOiAlcyIsCisrCQkJCXByb2duYW1lLCBwYXJlbnRkaXIsIHN0cmVycm9yKGVycm5vKSk7CisrCQlyZXR1cm4gZmFsc2U7CisrCX0KKysKKysJLyogRW5zdXJlIHdlIGhhdmUgYSBjbGVhbiBkaXJlY3RvcnkgcGF0aG5hbWUgKi8KKysJc3RybmNweShidWYsIHBhcmVudGRpciwgc2l6ZW9mKGJ1ZiktMSk7CisrCXBhdGggPSBkaXJuYW1lKGJ1Zik7CisrCWlmICgqcGF0aCA9PSAnLicpIHsKKysJCSh2b2lkKWZwcmludGYoc3RkZXJyLCAiJXM6IFVudXNhYmxlIGRpcmVjdG9yeSAlcyIsCisrCQkJCXByb2duYW1lLCBwYXJlbnRkaXIpOworKwkJcmV0dXJuIGZhbHNlOworKwl9CisrCisrCXhsb2coRF9DQUxMLCAiVXNpbmcgJXMgYXMgdGhlIHN0YXRlIGRpcmVjdG9yeSIsIHBhcmVudGRpcik7CisrCXN0cmNweShiYXNlLCBwYXJlbnRkaXIpOworKwlyZXR1cm4gdHJ1ZTsKKyt9CitkaWZmIC0tZ2l0IGEvc3VwcG9ydC9uc20vTWFrZWZpbGUuYW0gYi9zdXBwb3J0L25zbS9NYWtlZmlsZS5hbQoraW5kZXggOGY1ODc0ZS4uNjhmMWE0NiAxMDA2NDQKKy0tLSBhL3N1cHBvcnQvbnNtL01ha2VmaWxlLmFtCisrKysgYi9zdXBwb3J0L25zbS9NYWtlZmlsZS5hbQorQEAgLTEwLDcgKzEwLDcgQEAgR0VORklMRVMJPSAkKEdFTkZJTEVTX0NMTlQpICQoR0VORklMRVNfU1ZDKSAkKEdFTkZJTEVTX1hEUikgJChHRU5GSUxFU19IKQorIEVYVFJBX0RJU1QJPSBzbV9pbnRlci54CisgCisgbm9pbnN0X0xJQlJBUklFUyA9IGxpYm5zbS5hCistbGlibnNtX2FfU09VUkNFUyA9ICQoR0VORklMRVMpIGZpbGUuYyBycGMuYworK2xpYm5zbV9hX1NPVVJDRVMgPSAkKEdFTkZJTEVTKSAuLi9taXNjL21pc2MuYyBmaWxlLmMgcnBjLmMKKyAKKyBCVUlMVF9TT1VSQ0VTID0gJChHRU5GSUxFUykKKyAKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1NYWtlZmlsZS5hbS11cGRhdGUtdGhlLXBhdGgtb2YtbGlibmZzLmEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLU1ha2VmaWxlLmFtLXVwZGF0ZS10aGUtcGF0aC1vZi1saWJuZnMuYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDZhYzBmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1NYWtlZmlsZS5hbS11cGRhdGUtdGhlLXBhdGgtb2YtbGlibmZzLmEucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorRnJvbSBmY2VjZTY1ZDFiNzEzZWFlZWY0MTcwNjg5ODQ0MDMwMmY4Y2U5MmQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWluZ2xpIFl1IDxNaW5nbGkuWXVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgMTIgSnVsIDIwMTggMTU6MTk6NDEgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGUuYW06IHVwZGF0ZSB0aGUgcGF0aCBvZiBsaWJuZnMuYQorCitUaGUgbGlibmZzLmEgaXMgdW5kZXIgLi4vc3VwcG9ydC9uZnMvLmxpYnMvIG5vdywKK3VwZGF0ZSB0aGUgcmVmZXJlbmNlIHBhdGggYWNjb3JkaW5nbHkgdG8gZml4IGJlbG93CitidWlsZCBlcnJvciB3aGVuIHJ1biAibWFrZSAtQyB0ZXN0cyBzdGF0ZGJfZHVtcCI6Cit8IG1ha2U6ICoqKiBObyBydWxlIHRvIG1ha2UgdGFyZ2V0ICcuLi9zdXBwb3J0L25mcy9saWJuZnMuYScsIG5lZWRlZCBieSAnc3RhdGRiX2R1bXAnLiAgU3RvcC4KKworQW5kIGJlbG93IGVycm9yIHdoZW4gcnVuICJtYWtlIC1DIHRlc3RzL25zbV9jbGllbnQgbnNtX2NsaWVudCIKK3wgbWFrZTogKioqIE5vIHJ1bGUgdG8gbWFrZSB0YXJnZXQgJy4uLy4uL3N1cHBvcnQvbmZzL2xpYm5mcy5hJywgbmVlZGVkIGJ5ICduc21fY2xpZW50Jy4gIFN0b3AuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkW2h0dHBzOi8vbWFyYy5pbmZvLz9sPWxpbnV4LW5mcyZtPTE1NDUwMjYzNjUyMjc0NSZ3PTJdCisKK1NpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8TWluZ2xpLll1QHdpbmRyaXZlci5jb20+CistLS0KKyB0ZXN0cy9NYWtlZmlsZS5hbSAgICAgICAgICAgIHwgMiArLQorIHRlc3RzL25zbV9jbGllbnQvTWFrZWZpbGUuYW0gfCAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5hbSBiL3Rlc3RzL01ha2VmaWxlLmFtCitpbmRleCAxZjk2MjY0Li43NGFhNjI5IDEwMDY0NAorLS0tIGEvdGVzdHMvTWFrZWZpbGUuYW0KKysrKyBiL3Rlc3RzL01ha2VmaWxlLmFtCitAQCAtMyw3ICszLDcgQEAKKyBjaGVja19QUk9HUkFNUyA9IHN0YXRkYl9kdW1wCisgc3RhdGRiX2R1bXBfU09VUkNFUyA9IHN0YXRkYl9kdW1wLmMKKyAKKy1zdGF0ZGJfZHVtcF9MREFERCA9IC4uL3N1cHBvcnQvbmZzL2xpYm5mcy5hIFwKKytzdGF0ZGJfZHVtcF9MREFERCA9IC4uL3N1cHBvcnQvbmZzLy5saWJzL2xpYm5mcy5hIFwKKyAJCSAgICAuLi9zdXBwb3J0L25zbS9saWJuc20uYSAkKExJQkNBUCkKKyAKKyBTVUJESVJTID0gbnNtX2NsaWVudAorZGlmZiAtLWdpdCBhL3Rlc3RzL25zbV9jbGllbnQvTWFrZWZpbGUuYW0gYi90ZXN0cy9uc21fY2xpZW50L01ha2VmaWxlLmFtCitpbmRleCBhOGZjMTMxLi40M2RiOWMyIDEwMDY0NAorLS0tIGEvdGVzdHMvbnNtX2NsaWVudC9NYWtlZmlsZS5hbQorKysrIGIvdGVzdHMvbnNtX2NsaWVudC9NYWtlZmlsZS5hbQorQEAgLTEzLDcgKzEzLDcgQEAgY2hlY2tfUFJPR1JBTVMJPSBuc21fY2xpZW50CisgbnNtX2NsaWVudF9TT1VSQ0VTID0gJChHRU5GSUxFUykgbnNtX2NsaWVudC5jCisgCisgQlVJTFRfU09VUkNFUyA9ICQoR0VORklMRVMpCistbnNtX2NsaWVudF9MREFERCA9IC4uLy4uL3N1cHBvcnQvbmZzL2xpYm5mcy5hIFwKKytuc21fY2xpZW50X0xEQUREID0gLi4vLi4vc3VwcG9ydC9uZnMvLmxpYnMvbGlibmZzLmEgXAorIAkJICAgLi4vLi4vc3VwcG9ydC9uc20vbGlibnNtLmEgJChMSUJDQVApICQoTElCVElSUEMpCisgCisgaWYgQ09ORklHX1JQQ0dFTgorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLWNhY2hlaW8tdXNlLWludG1heF90LWZvci1mb3JtYXR0ZWQtSU8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLWNhY2hlaW8tdXNlLWludG1heF90LWZvci1mb3JtYXR0ZWQtSU8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmFmZmY1YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzLzAwMDEtY2FjaGVpby11c2UtaW50bWF4X3QtZm9yLWZvcm1hdHRlZC1JTy5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIGFjMzJiODEzZjVkNmY5YTJkZTk0NDAxNWNmOWJiOThkNjhlMDIwM2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogU2F0LCAxIERlYyAyMDE4IDEwOjAyOjEyIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGNhY2hlaW86IHVzZSBpbnRtYXhfdCBmb3IgZm9ybWF0dGVkIElPCisKK3RpbWVfdCBpcyBub3Qgc2FtZSBzaXplIG9uIHgzMiBBQkkgKElMUDMyKQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHN1cHBvcnQvbmZzL2NhY2hlaW8uYyB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3VwcG9ydC9uZnMvY2FjaGVpby5jIGIvc3VwcG9ydC9uZnMvY2FjaGVpby5jCitpbmRleCA5ZGM0Y2YxLi4yMDg2YTk1IDEwMDY0NAorLS0tIGEvc3VwcG9ydC9uZnMvY2FjaGVpby5jCisrKysgYi9zdXBwb3J0L25mcy9jYWNoZWlvLmMKK0BAIC0xNyw2ICsxNyw3IEBACisgCisgI2luY2x1ZGUgPG5mc2xpYi5oPgorICNpbmNsdWRlIDxzdGRpby5oPgorKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorICNpbmNsdWRlIDxzdGRpb19leHQuaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPGN0eXBlLmg+CitAQCAtMjM0LDcgKzIzNSw3IEBAIGNhY2hlX2ZsdXNoKGludCBmb3JjZSkKKyAJICAgIHN0Yi5zdF9tdGltZSA+IG5vdykKKyAJCXN0Yi5zdF9tdGltZSA9IHRpbWUoMCk7CisgCQorLQlzcHJpbnRmKHN0aW1lLCAiJWxkXG4iLCBzdGIuc3RfbXRpbWUpOworKwlzcHJpbnRmKHN0aW1lLCAiJWpkXG4iLCAoaW50bWF4X3Qpc3RiLnN0X210aW1lKTsKKyAJZm9yIChjPTA7IGNhY2hlbGlzdFtjXTsgYysrKSB7CisgCQlpbnQgZmQ7CisgCQlzcHJpbnRmKHBhdGgsICIvcHJvYy9uZXQvcnBjLyVzL2ZsdXNoIiwgY2FjaGVsaXN0W2NdKTsKKy0tIAorMi4xOS4yCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzLzAwMDEtY29uZmlndXJlLmFjLURvLW5vdC1mYXRhbGl6ZS1XbWlzc2luZy1wcm90b3R5cGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1jb25maWd1cmUuYWMtRG8tbm90LWZhdGFsaXplLVdtaXNzaW5nLXByb3RvdHlwZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdhYWJiOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzLzAwMDEtY29uZmlndXJlLmFjLURvLW5vdC1mYXRhbGl6ZS1XbWlzc2luZy1wcm90b3R5cGVzLnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK0Zyb20gNjY0NzFmYmY3MTA2OTE3ZGE3YTE1MzZiMThhMGE3N2QwNzQ3OTc3OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pbmdsaSBZdSA8TWluZ2xpLll1QHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDE3IERlYyAyMDE4IDE1OjI5OjQ3ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5hYzogRG8gbm90IGZhdGFsaXplIC1XbWlzc2luZy1wcm90b3R5cGVzCisKK1RoZXJlIGNvbWVzIGJlbG93IGVycm9yIHdoZW4gcnVuICJtYWtlIC1DIHRlc3RzL25zbV9jbGllbnQgbnNtX2NsaWVudCIKK3wgbmxtX3NtX2ludGVyX3N2Yy5jOjIwOjE6IGVycm9yOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdubG1fc21fcHJvZ18zJyBbLVdlcnJvcj1taXNzaW5nLXByb3RvdHlwZXNdCisKK0l0IGlzIGJlY2F1c2UgcnBjZ2VuIGRvZXNuJ3QgZ2VuZXJhdGUgLVdtaXNzaW5nLXByb3RvdHlwZXMKK2ZyZWUgY29kZSBmb3IgbmxtX3NtX2ludGVyX3N2Yy5jIHdpdGggYmVsb3cgbG9naWMKK2luIHRlc3RzL25zbV9jbGllbnQvTWFrZWZpbGUuYW0KK1tzbmlwXQorR0VORklMRVNfU1ZDICAgID0gbmxtX3NtX2ludGVyX3N2Yy5jCitbc25pcF0KKyQoR0VORklMRVNfU1ZDKTogJV9zdmMuYzogJS54ICQoUlBDR0VOKQorICAgICAgICB0ZXN0IC1mICRAICYmIHJtIC1yZiAkQCB8fCB0cnVlCisgICAgICAgICQoUlBDR0VOKSAtbSAtbyAkQCAkPAorCitTbyBhZGQgdGhlIGxvZ2ljIG5vdCB0byBmYXRhbGl6ZSAtV21pc3NpbmctcHJvdG90eXBlcy4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWRbaHR0cHM6Ly9tYXJjLmluZm8vP2w9bGludXgtbmZzJm09MTU0NTAzMjYwMzIzOTM2Jnc9Ml0KKworU2lnbmVkLW9mZi1ieTogTWluZ2xpIFl1IDxNaW5nbGkuWXVAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggZTgyZmYxNC4uZDBjYzVkNSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNTQ4LDcgKzU0OCw3IEBAIG15X2FtX2NmbGFncz0iXAorICAtV2FsbCBcCisgIC1XZXh0cmEgXAorICAtV2Vycm9yPXN0cmljdC1wcm90b3R5cGVzIFwKKy0gLVdlcnJvcj1taXNzaW5nLXByb3RvdHlwZXMgXAorKyAtV21pc3NpbmctcHJvdG90eXBlcyBcCisgIC1XZXJyb3I9bWlzc2luZy1kZWNsYXJhdGlvbnMgXAorICAtV2Vycm9yPWZvcm1hdD0yIFwKKyAgLVdlcnJvcj11bmRlZiBcCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzL2NsYW5nLWZvcm1hdC1zdHJpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy9jbGFuZy1mb3JtYXQtc3RyaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkNjkzZTQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy9jbGFuZy1mb3JtYXQtc3RyaW5nLnBhdGNoCkBAIC0wLDAgKzEsMTgzIEBACitDbGFuZyBjb21lcyB1cCB3aXRoIG1vcmUgcHJpbnRmIGZvcm1hdCB3YXJuaW5ncworQ29ycmVjdGluZyDigJxmb3JtYXQgc3RyaW5nIGlzIG5vdCBhIHN0cmluZyBsaXRlcmFs4oCdIHdhcm5pbmcKK3JlcXVpcmVzIHVzIHRvIGRlY2xhcmUgdGhhdCBwYXJhbWV0ZXIgaXMgYSBwcmludGYgc3R5bGUgCitmb3JtYXQgdXNpbmcgdGhlIGF0dHJpYnV0ZSBmbGFnCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitJbmRleDogbmZzLXV0aWxzLTIuMy4zL3N1cHBvcnQvaW5jbHVkZS94Y29tbW9uLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZnMtdXRpbHMtMi4zLjMub3JpZy9zdXBwb3J0L2luY2x1ZGUveGNvbW1vbi5oCisrKysgbmZzLXV0aWxzLTIuMy4zL3N1cHBvcnQvaW5jbHVkZS94Y29tbW9uLmgKK0BAIC0yNyw3ICsyNyw3IEBACisgCisgLyogRnVuY3Rpb25zIGluIHN1bmRyaWVzLmMgdGhhdCBhcmUgdXNlZCBpbiBtb3VudC5jIGFuZCB1bW91bnQuYyAgKi8gCisgY2hhciAqY2Fub25pY2FsaXplIChjb25zdCBjaGFyICpwYXRoKTsKKy12b2lkIG5mc19lcnJvciAoY29uc3QgY2hhciAqZm10LCAuLi4pOworK3ZvaWQgbmZzX2Vycm9yIChjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAoX19wcmludGZfXywgMSwgMikpKTsKKyB2b2lkICp4bWFsbG9jIChzaXplX3Qgc2l6ZSk7Cisgdm9pZCAqeHJlYWxsb2Modm9pZCAqcCwgc2l6ZV90IHNpemUpOworIHZvaWQgeGZyZWUodm9pZCAqKTsKK0BAIC0zNiw5ICszNiw5IEBAIGNoYXIgKnhzdHJuZHVwIChjb25zdCBjaGFyICpzLCBpbnQgbik7CisgY2hhciAqeHN0cmNvbmNhdDIgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKKyBjaGFyICp4c3RyY29uY2F0MyAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CisgY2hhciAqeHN0cmNvbmNhdDQgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7Cistdm9pZCBkaWUgKGludCBlcnJjb2RlLCBjb25zdCBjaGFyICpmbXQsIC4uLik7Cisrdm9pZCBkaWUgKGludCBlcnJjb2RlLCBjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAoX19wcmludGZfXywgMiwgMykpKTsKKyAKKy1leHRlcm4gdm9pZCBkaWUoaW50IGVyciwgY29uc3QgY2hhciAqZm10LCAuLi4pOworK2V4dGVybiB2b2lkIGRpZShpbnQgZXJyLCBjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAoX19wcmludGZfXywgMiwgMykpKTsKKyBleHRlcm4gdm9pZCAoKmF0X2RpZSkodm9pZCk7CisgCisgLyogZXhpdCBzdGF0dXMgLSBiaXRzIGJlbG93IGFyZSBPUmVkICovCitJbmRleDogbmZzLXV0aWxzLTIuMy4zL3N1cHBvcnQvaW5jbHVkZS94bG9nLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZnMtdXRpbHMtMi4zLjMub3JpZy9zdXBwb3J0L2luY2x1ZGUveGxvZy5oCisrKysgbmZzLXV0aWxzLTIuMy4zL3N1cHBvcnQvaW5jbHVkZS94bG9nLmgKK0BAIC00MywxMCArNDMsMTAgQEAgdm9pZAkJCXhsb2dfY29uZmlnKGludCBmYWMsIGludCBvbik7Cisgdm9pZAkJCXhsb2dfc2NvbmZpZyhjaGFyICosIGludCBvbik7Cisgdm9pZAkJCXhsb2dfZnJvbV9jb25mZmlsZShjaGFyICopOworIGludAkJCXhsb2dfZW5hYmxlZChpbnQgZmFjKTsKKy12b2lkCQkJeGxvZyhpbnQgZmFjLCBjb25zdCBjaGFyICpmbXQsIC4uLik7Cistdm9pZAkJCXhsb2dfd2Fybihjb25zdCBjaGFyICpmbXQsIC4uLik7Cistdm9pZAkJCXhsb2dfZXJyKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKy12b2lkCQkJeGxvZ19lcnJubyhpbnQgZXJyLCBjb25zdCBjaGFyICpmbXQsIC4uLik7Cistdm9pZAkJCXhsb2dfYmFja2VuZChpbnQgZmFjLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXJncyk7Cisrdm9pZAkJCXhsb2coaW50IGZhYywgY29uc3QgY2hhciAqZm10LCAuLi4pIF9fYXR0cmlidXRlX18oKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDIsIDMpKSk7Cisrdm9pZAkJCXhsb2dfd2Fybihjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAoX19wcmludGZfXywgMSwgMikpKTsKKyt2b2lkCQkJeGxvZ19lcnIoY29uc3QgY2hhciAqZm10LCAuLi4pIF9fYXR0cmlidXRlX18oKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDEsIDIpKSk7Cisrdm9pZAkJCXhsb2dfZXJybm8oaW50IGVyciwgY29uc3QgY2hhciAqZm10LCAuLi4pIF9fYXR0cmlidXRlX18oKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDIsIDMpKSk7Cisrdm9pZAkJCXhsb2dfYmFja2VuZChpbnQgZmFjLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXJncykgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAoX19wcmludGZfXywgMiwgMCkpKTsKKyAKKyAjZW5kaWYgLyogWExPR19IICovCitJbmRleDogbmZzLXV0aWxzLTIuMy4zL3N1cHBvcnQvbmZzL3hjb21tb24uYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5mcy11dGlscy0yLjMuMy5vcmlnL3N1cHBvcnQvbmZzL3hjb21tb24uYworKysrIG5mcy11dGlscy0yLjMuMy9zdXBwb3J0L25mcy94Y29tbW9uLmMKK0BAIC05Myw3ICs5MywxMCBAQCBuZnNfZXJyb3IgKGNvbnN0IGNoYXIgKmZtdCwgLi4uKSB7CisgCisgICAgICBmbXQyID0geHN0cmNvbmNhdDIgKGZtdCwgIlxuIik7CisgICAgICB2YV9zdGFydCAoYXJncywgZm10KTsKKysjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2Zvcm1hdC1ub25saXRlcmFsIgorICAgICAgdmZwcmludGYgKHN0ZGVyciwgZm10MiwgYXJncyk7CisrI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorICAgICAgdmFfZW5kIChhcmdzKTsKKyAgICAgIGZyZWUgKGZtdDIpOworIH0KK0luZGV4OiBuZnMtdXRpbHMtMi4zLjMvdXRpbHMvZXhwb3J0ZnMvZXhwb3J0ZnMuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5mcy11dGlscy0yLjMuMy5vcmlnL3V0aWxzL2V4cG9ydGZzL2V4cG9ydGZzLmMKKysrKyBuZnMtdXRpbHMtMi4zLjMvdXRpbHMvZXhwb3J0ZnMvZXhwb3J0ZnMuYworQEAgLTY0NCw2ICs2NDQsNyBAQCBvdXQ6CisgCXJldHVybiByZXN1bHQ7CisgfQorIAorK19fYXR0cmlidXRlX18oKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDIsIDMpKSkKKyBzdGF0aWMgY2hhcgorIGR1bXBvcHQoY2hhciBjLCBjaGFyICpmbXQsIC4uLikKKyB7CitJbmRleDogbmZzLXV0aWxzLTIuMy4zL3V0aWxzL3N0YXRkL3N0YXRkLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZnMtdXRpbHMtMi4zLjMub3JpZy91dGlscy9zdGF0ZC9zdGF0ZC5jCisrKysgbmZzLXV0aWxzLTIuMy4zL3V0aWxzL3N0YXRkL3N0YXRkLmMKK0BAIC0xMzYsNyArMTM2LDcgQEAgc3RhdGljIHZvaWQgbG9nX21vZGVzKHZvaWQpCisgCXN0cmNhdChidWYsICJUSS1SUEMgIik7CisgI2VuZGlmCisgCistCXhsb2dfd2FybihidWYpOworKwl4bG9nX3dhcm4oIiVzIiwgYnVmKTsKKyB9CisgCisgLyoKK0luZGV4OiBuZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9uZnMvc3ZjX2NyZWF0ZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmZzLXV0aWxzLTIuMy4zLm9yaWcvc3VwcG9ydC9uZnMvc3ZjX2NyZWF0ZS5jCisrKysgbmZzLXV0aWxzLTIuMy4zL3N1cHBvcnQvbmZzL3N2Y19jcmVhdGUuYworQEAgLTE4NCw3ICsxODQsNyBAQCBzdmNfY3JlYXRlX3NvY2soY29uc3Qgc3RydWN0IHNvY2thZGRyICpzCisgCQl0eXBlID0gU09DS19TVFJFQU07CisgCQlicmVhazsKKyAJZGVmYXVsdDoKKy0JCXhsb2coRF9HRU5FUkFMLCAiJXM6IFVucmVjb2duaXplZCBiaW5kIGFkZHJlc3Mgc2VtYW50aWNzOiAldSIsCisrCQl4bG9nKERfR0VORVJBTCwgIiVzOiBVbnJlY29nbml6ZWQgYmluZCBhZGRyZXNzIHNlbWFudGljczogJWx1IiwKKyAJCQlfX2Z1bmNfXywgbmNvbmYtPm5jX3NlbWFudGljcyk7CisgCQlyZXR1cm4gLTE7CisgCX0KK0luZGV4OiBuZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9uc20vcnBjLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZnMtdXRpbHMtMi4zLjMub3JpZy9zdXBwb3J0L25zbS9ycGMuYworKysrIG5mcy11dGlscy0yLjMuMy9zdXBwb3J0L25zbS9ycGMuYworQEAgLTE4Miw3ICsxODIsNyBAQCBuc21feG1pdF9nZXRwb3J0KGNvbnN0IGludCBzb2NrLCBjb25zdCBzCisgCXVpbnQzMl90IHhpZDsKKyAJWERSIHhkcjsKKyAKKy0JeGxvZyhEX0NBTEwsICJTZW5kaW5nIFBNQVBfR0VUUE9SVCBmb3IgJXUsICV1LCB1ZHAiLCBwcm9ncmFtLCB2ZXJzaW9uKTsKKysJeGxvZyhEX0NBTEwsICJTZW5kaW5nIFBNQVBfR0VUUE9SVCBmb3IgJWx1LCAlbHUsIHVkcCIsIHByb2dyYW0sIHZlcnNpb24pOworIAorIAluc21faW5pdF94ZHJtZW0obXNnYnVmLCBOU01fTUFYTVNHU0laRSwgJnhkcik7CisgCXhpZCA9IG5zbV9pbml0X3JwY19oZWFkZXIoUE1BUFBST0csIFBNQVBWRVJTLAorSW5kZXg6IG5mcy11dGlscy0yLjMuMy91dGlscy9tb3VudGQvY2FjaGUuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5mcy11dGlscy0yLjMuMy5vcmlnL3V0aWxzL21vdW50ZC9jYWNoZS5jCisrKysgbmZzLXV0aWxzLTIuMy4zL3V0aWxzL21vdW50ZC9jYWNoZS5jCitAQCAtOTY4LDggKzk2OCw3IEBAIGxvb2t1cF9leHBvcnQoY2hhciAqZG9tLCBjaGFyICpwYXRoLCBzdHIKKyAJCQl9IGVsc2UgaWYgKGZvdW5kX3R5cGUgPT0gaSAmJiBmb3VuZC0+bV93YXJuZWQgPT0gMCkgeworIAkJCQl4bG9nKExfV0FSTklORywgIiVzIGV4cG9ydGVkIHRvIGJvdGggJXMgYW5kICVzLCAiCisgCQkJCSAgICAgImFyYml0cmFyaWx5IGNob29zaW5nIG9wdGlvbnMgZnJvbSBmaXJzdCIsCistCQkJCSAgICAgcGF0aCwgZm91bmQtPm1fY2xpZW50LT5tX2hvc3RuYW1lLCBleHAtPm1fY2xpZW50LT5tX2hvc3RuYW1lLAorLQkJCQkgICAgIGRvbSk7CisrCQkJCSAgICAgcGF0aCwgZm91bmQtPm1fY2xpZW50LT5tX2hvc3RuYW1lLCBleHAtPm1fY2xpZW50LT5tX2hvc3RuYW1lKTsKKyAJCQkJZm91bmQtPm1fd2FybmVkID0gMTsKKyAJCQl9CisgCQl9CitJbmRleDogbmZzLXV0aWxzLTIuMy4zL3V0aWxzL21vdW50ZC9tb3VudGQuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5mcy11dGlscy0yLjMuMy5vcmlnL3V0aWxzL21vdW50ZC9tb3VudGQuYworKysrIG5mcy11dGlscy0yLjMuMy91dGlscy9tb3VudGQvbW91bnRkLmMKK0BAIC0yMTMsNyArMjEzLDcgQEAgc3RhdGljIHZvaWQKKyBzaWdfaHVwIChpbnQgc2lnKQorIHsKKyAJLyogZG9uJ3QgZXhpdCBvbiBTSUdIVVAgKi8KKy0JeGxvZyAoTF9OT1RJQ0UsICJSZWNlaXZlZCBTSUdIVVAuLi4gSWdub3JpbmcuXG4iLCBzaWcpOworKwl4bG9nIChMX05PVElDRSwgIlJlY2VpdmVkIFNJR0hVUCglZCkuLi4gSWdub3JpbmcuXG4iLCBzaWcpOworIAlyZXR1cm47CisgfQorIAorSW5kZXg6IG5mcy11dGlscy0yLjMuMy91dGlscy9zdGF0ZC9ybXRjYWxsLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZnMtdXRpbHMtMi4zLjMub3JpZy91dGlscy9zdGF0ZC9ybXRjYWxsLmMKKysrKyBuZnMtdXRpbHMtMi4zLjMvdXRpbHMvc3RhdGQvcm10Y2FsbC5jCitAQCAtMjQ3LDcgKzI0Nyw3IEBAIHByb2Nlc3NfcmVwbHkoRkRfU0VUX1RZUEUgKnJmZHMpCisgCQl4bG9nX3dhcm4oIiVzOiBzZXJ2aWNlICVkIG5vdCByZWdpc3RlcmVkIG9uIGxvY2FsaG9zdCIsCisgCQkJX19mdW5jX18sIE5MX01ZX1BST0cobHApKTsKKyAJfSBlbHNlIHsKKy0JCXhsb2coRF9HRU5FUkFMLCAiJXM6IENhbGxiYWNrIHRvICVzIChmb3IgJWQpIHN1Y2NlZWRlZCIsCisrCQl4bG9nKERfR0VORVJBTCwgIiVzOiBDYWxsYmFjayB0byAlcyAoZm9yICVzKSBzdWNjZWVkZWQiLAorIAkJCV9fZnVuY19fLCBOTF9NWV9OQU1FKGxwKSwgTkxfTU9OX05BTUUobHApKTsKKyAJfQorIAlubGlzdF9mcmVlKCZub3RpZnksIGxwKTsKK0luZGV4OiBuZnMtdXRpbHMtMi4zLjMvdXRpbHMvc3RhdGQvc3ZjX3J1bi5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmZzLXV0aWxzLTIuMy4zLm9yaWcvdXRpbHMvc3RhdGQvc3ZjX3J1bi5jCisrKysgbmZzLXV0aWxzLTIuMy4zL3V0aWxzL3N0YXRkL3N2Y19ydW4uYworQEAgLTUzLDYgKzUzLDcgQEAKKyAKKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8dGltZS5oPgorKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorICNpbmNsdWRlICJzdGF0ZC5oIgorICNpbmNsdWRlICJub3RsaXN0LmgiCisgCitAQCAtMTA0LDggKzEwNSw4IEBAIG15X3N2Y19ydW4oaW50IHNvY2tmZCkKKyAKKyAJCQl0di50dl9zZWMgID0gTkxfV0hFTihub3RpZnkpIC0gbm93OworIAkJCXR2LnR2X3VzZWMgPSAwOworLQkJCXhsb2coRF9HRU5FUkFMLCAiV2FpdGluZyBmb3IgcmVwbHkuLi4gKHRpbWVvICVkKSIsCistCQkJCQkJCXR2LnR2X3NlYyk7CisrCQkJeGxvZyhEX0dFTkVSQUwsICJXYWl0aW5nIGZvciByZXBseS4uLiAodGltZW8gJWpkKSIsCisrCQkJCQkJCShpbnRtYXhfdCl0di50dl9zZWMpOworIAkJCXNlbHJldCA9IHNlbGVjdChGRF9TRVRTSVpFLCAmcmVhZGZkcywKKyAJCQkJKHZvaWQgKikgMCwgKHZvaWQgKikgMCwgJnR2KTsKKyAJCX0gZWxzZSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy9uZnMtdXRpbHMtRG8tbm90LXBhc3MtQ0ZMQUdTLXRvLWdjYy13aGlsZS1idWlsZGluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzL25mcy11dGlscy1Eby1ub3QtcGFzcy1DRkxBR1MtdG8tZ2NjLXdoaWxlLWJ1aWxkaW5nLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTNmMWU1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzL25mcy11dGlscy1Eby1ub3QtcGFzcy1DRkxBR1MtdG8tZ2NjLXdoaWxlLWJ1aWxkaW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotbmZzLXV0aWxzOiBEbyBub3QgcGFzcyBDRkxBR1MgdG8gZ2NjIHdoaWxlIGJ1aWxkaW5nCi0KLURvIG5vdCBwYXNzIENGTEFHUy9MREZMQUdTIHRvIGdjYyB3aGlsZSBidWlsZGluZywgVGhlIG5lZWRlZCBmbGFncyBoYXMKLWJlZW4gcGFzc2VkIGJ5IHh4eF9DRkxBR1M9JChDRkxBR1NfRk9SX0JVSUxEKS4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IENob25nIEx1IDxDaG9uZy5MdUB3aW5kcml2ZXIuY29tPgotLS0tCi0gdG9vbHMvbG9ja3Rlc3QvTWFrZWZpbGUuYW0gfCAgICAyICsrCi0gdG9vbHMvcnBjZ2VuL01ha2VmaWxlLmFtICAgfCAgICAyICsrCi0gMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3Rvb2xzL2xvY2t0ZXN0L01ha2VmaWxlLmFtIGIvdG9vbHMvbG9ja3Rlc3QvTWFrZWZpbGUuYW0KLWluZGV4IDMxNTY4MTUuLjE3MjlmZDEgMTAwNjQ0Ci0tLS0gYS90b29scy9sb2NrdGVzdC9NYWtlZmlsZS5hbQotKysrIGIvdG9vbHMvbG9ja3Rlc3QvTWFrZWZpbGUuYW0KLUBAIC0xLDYgKzEsOCBAQAotICMjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b21ha2UgdG8gcHJvZHVjZSBNYWtlZmlsZS5pbgotIAotIENDPSQoQ0NfRk9SX0JVSUxEKQotK0NGTEFHUz0KLStMREZMQUdTPQotIExJQlRPT0wgPSBATElCVE9PTEAgLS10YWc9Q0MKLSAKLSBub2luc3RfUFJPR1JBTVMgPSB0ZXN0bGsKLWRpZmYgLS1naXQgYS90b29scy9ycGNnZW4vTWFrZWZpbGUuYW0gYi90b29scy9ycGNnZW4vTWFrZWZpbGUuYW0KLWluZGV4IDhhOWVjODkuLjhiYWNkYWEgMTAwNjQ0Ci0tLS0gYS90b29scy9ycGNnZW4vTWFrZWZpbGUuYW0KLSsrKyBiL3Rvb2xzL3JwY2dlbi9NYWtlZmlsZS5hbQotQEAgLTEsNiArMSw4IEBACi0gIyMgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvbWFrZSB0byBwcm9kdWNlIE1ha2VmaWxlLmluCi0gCi0gQ0M9JChDQ19GT1JfQlVJTEQpCi0rQ0ZMQUdTPQotK0xERkxBR1M9Ci0gTElCVE9PTCA9IEBMSUJUT09MQCAtLXRhZz1DQwotIAotIG5vaW5zdF9QUk9HUkFNUyA9IHJwY2dlbgotLS0gCi0xLjcuOS41Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzL25mcy11dGlscy1tdXNsLXJlc19xdWVyeWRvbWFpbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzL25mcy11dGlscy1tdXNsLXJlc19xdWVyeWRvbWFpbi5wYXRjaAppbmRleCBhMTY5ZTZhLi4yMjAwMmZhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy9uZnMtdXRpbHMtbXVzbC1yZXNfcXVlcnlkb21haW4ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvbmZzLXV0aWxzLW11c2wtcmVzX3F1ZXJ5ZG9tYWluLnBhdGNoCkBAIC0xLDE3ICsxLDI0IEBACitGcm9tIGNhYTE5MjMxMTk2ZDczNTQxNDQ1NzI4ZTY4MTNjOGZhNzAzNDVhY2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjYgSnVuIDIwMTggMTU6NTk6MDAgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gbmZzLXV0aWxzOiAyLjEuMSAtPiAyLjMuMQorCiBGaXhlZDoKIGNvbmZpZ3VyZTogZXJyb3I6IHJlc19xdWVyeWRvbWFpbiBuZWVkZWQKIAotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtodHRwczovL2dpdC5hbHBpbmVsaW51eC5vcmcvY2dpdC9hcG9ydHMvdHJlZS9tYWluL25mcy11dGlscy9tdXNsLXJlc19xdWVyeWRvbWFpbi5wYXRjaD9pZD1mNjczNGE3N2QzY2FlZTczMzI1ZjhjYzFmNzdkMWI1MTE3YTc1MDk2XQorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtodHRwczovL2dpdGh1Yi5jb20vYWxwaW5lbGludXgvYXBvcnRzL2Jsb2IvbWFzdGVyL21haW4vbmZzLXV0aWxzL211c2wtY29uZmlndXJlX2FjLnBhdGNoXQogCiBTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKwogLS0tCi0gY29uZmlndXJlLmFjIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorIGNvbmZpZ3VyZS5hYyB8IDEzICsrKysrKy0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCAyNzZkZWMzLi43NjAyMzhiIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFjCiArKysgYi9jb25maWd1cmUuYWMKLUBAIC00MDEsNyArNDAxLDcgQEAgaWYgdGVzdCAiJGVuYWJsZV9nc3MiID0geWVzOyB0aGVuCitAQCAtNDA4LDcgKzQwOCw3IEBAIGlmIHRlc3QgIiRlbmFibGVfZ3NzIiA9IHllczsgdGhlbgogIGZpCiAgCiAgZG5sIGxpYmRuc2lkbWFwIHNwZWNpZmljIGNoZWNrcwpAQCAtMjAsMyArMjcsMzEgQEAKICAKICBBQ19BUkdfRU5BQkxFKFtsZGFwXSwKICAJW0FTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbGRhcF0sW0Rpc2FibGUgc3VwcG9ydCBmb3IgTERBUCBAPDpkZWZhdWx0PWRldGVjdEA6PkBdKV0pCitAQCAtNTQ3LDExICs1NDcsMTEgQEAgbXlfYW1fY2ZsYWdzPSJcCisgIC1waXBlIFwKKyAgLVdhbGwgXAorICAtV2V4dHJhIFwKKy0gLVdlcnJvcj1zdHJpY3QtcHJvdG90eXBlcyBcCistIC1XZXJyb3I9bWlzc2luZy1wcm90b3R5cGVzIFwKKy0gLVdlcnJvcj1taXNzaW5nLWRlY2xhcmF0aW9ucyBcCisrIC1Xc3RyaWN0LXByb3RvdHlwZXMgXAorKyAtV21pc3NpbmctcHJvdG90eXBlcyBcCisrIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgXAorICAtV2Vycm9yPWZvcm1hdD0yIFwKKy0gLVdlcnJvcj11bmRlZiBcCisrIC1XdW5kZWYgXAorICAtV2Vycm9yPW1pc3NpbmctaW5jbHVkZS1kaXJzIFwKKyAgLVdlcnJvcj1zdHJpY3QtYWxpYXNpbmc9MiBcCisgIC1XZXJyb3I9aW5pdC1zZWxmIFwKK0BAIC01NzksMTAgKzU3OSw5IEBAIEFDX0RFRlVOKFtDSEVDS19DQ1NVUFBPUlRdLCBbCisgCisgQ0hFQ0tfQ0NTVVBQT1JUKFstV2Vycm9yPWZvcm1hdC1vdmVyZmxvdz0yXSwgW2ZsZzFdKQorIENIRUNLX0NDU1VQUE9SVChbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0sIFtmbGcyXSkKKy1DSEVDS19DQ1NVUFBPUlQoWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdLCBbZmxnM10pCisgQ0hFQ0tfQ0NTVVBQT1JUKFstV2Vycm9yPW1pc2xlYWRpbmctaW5kZW50YXRpb25dLCBbZmxnNF0pCisgCistQUNfU1VCU1QoW0FNX0NGTEFHU10sIFsiJG15X2FtX2NmbGFncyAkZmxnMSAkZmxnMiAkZmxnMyAkZmxnNCJdKQorK0FDX1NVQlNUKFtBTV9DRkxBR1NdLCBbIiRteV9hbV9jZmxhZ3MgJGZsZzEgJGZsZzIgJGZsZzQiXSkKKyAKKyAjIE1ha2Ugc3VyZSB0aGF0ICRBQ0xPQ0FMX0ZMQUdTIGFyZSB1c2VkIGR1cmluZyBhIHJlYnVpbGQKKyBBQ19TVUJTVChbQUNMT0NBTF9BTUZMQUdTXSwgWyItSSAkYWNfbWFjcm9fZGlyIFwkKEFDTE9DQUxfRkxBR1MpIl0pCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlsc18yLjMuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzXzIuMy4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDQ1MGM3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzXzIuMy4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTUxICswLDAgQEAKLVNVTU1BUlkgPSAidXNlcnNwYWNlIHV0aWxpdGllcyBmb3Iga2VybmVsIG5mcyIKLURFU0NSSVBUSU9OID0gIlRoZSBuZnMtdXRpbHMgcGFja2FnZSBwcm92aWRlcyBhIGRhZW1vbiBmb3IgdGhlIGtlcm5lbCBcCi1ORlMgc2VydmVyIGFuZCByZWxhdGVkIHRvb2xzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9uZnMuc291cmNlZm9yZ2UubmV0LyIKLVNFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgotCi1MSUNFTlNFID0gIk1JVCAmIEdQTHYyKyAmIEJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk1ZjNhOTNhNWMzYzc4ODhkZTYyM2I0NmVhMDg1YTg0IgotCi0jIHV0aWwtbGludXggZm9yIGxpYmJsa2lkCi1ERVBFTkRTID0gImxpYmNhcCBsaWJldmVudCB1dGlsLWxpbnV4IHNxbGl0ZTMgbGlidGlycGMiCi1SREVQRU5EU18ke1BOfSA9ICIke1BOfS1jbGllbnQgYmFzaCIKLVJSRUNPTU1FTkRTXyR7UE59ID0gImtlcm5lbC1tb2R1bGUtbmZzZCIKLQotaW5oZXJpdCB1c2VyYWRkCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0tY2xpZW50IgotVVNFUkFERF9QQVJBTV8ke1BOfS1jbGllbnQgPSAiLS1zeXN0ZW0gIC0taG9tZS1kaXIgL3Zhci9saWIvbmZzIFwKLQkJCSAgICAgIC0tc2hlbGwgL2Jpbi9mYWxzZSAtLXVzZXItZ3JvdXAgcnBjdXNlciIKLQotU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L3V0aWxzL25mcy11dGlscy8ke1BWfS9uZnMtdXRpbHMtJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovL25mc3NlcnZlciBcCi0gICAgICAgICAgIGZpbGU6Ly9uZnNjb21tb24gXAotICAgICAgICAgICBmaWxlOi8vbmZzLXV0aWxzLmNvbmYgXAotICAgICAgICAgICBmaWxlOi8vbmZzLXNlcnZlci5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovL25mcy1tb3VudGQuc2VydmljZSBcCi0gICAgICAgICAgIGZpbGU6Ly9uZnMtc3RhdGQuc2VydmljZSBcCi0gICAgICAgICAgIGZpbGU6Ly9wcm9jLWZzLW5mc2QubW91bnQgXAotICAgICAgICAgICBmaWxlOi8vbmZzLXV0aWxzLURvLW5vdC1wYXNzLUNGTEFHUy10by1nY2Mtd2hpbGUtYnVpbGRpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbmZzLXV0aWxzLWRlYmlhbml6ZS1zdGFydC1zdGF0ZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9idWdmaXgtYWRqdXN0LXN0YXRkLXNlcnZpY2UtbmFtZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9uZnMtdXRpbHMtbXVzbC1saW1pdHMucGF0Y2ggXAotIgotCi1TUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIGZpbGU6Ly9uZnMtdXRpbHMtbXVzbC1yZXNfcXVlcnlkb21haW4ucGF0Y2giCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJkNzdiMTgyYTllZTM5NmFhNjIyMWFjMjQwMWFkNzA0NiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5NmQwNmI1YTg2YjE4NTgxNTc2MGQ4ZjA0YzM0ZmRmYWNlOGZhOGI5OTQ5ZmYyNTZhYzA1YzNlYmMwODMzNWE1IgotCi0jIE9ubHkga2VybmVsLW1vZHVsZS1uZnNkIGlzIHJlcXVpcmVkIGhlcmUgKGJ1dCBjYW4gYmUgYnVpbHQtaW4pICAtIHRoZSBuZnNkIG1vZHVsZSB3aWxsCi0jIHB1bGwgaW4gdGhlIHJlbWFpbmRlciBvZiB0aGUgZGVwZW5kZW5jaWVzLgotCi1JTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59ICR7UE59LWNsaWVudCIKLUlOSVRTQ1JJUFRfTkFNRSA9ICJuZnNzZXJ2ZXIiCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKLUlOSVRTQ1JJUFRfTkFNRV8ke1BOfS1jbGllbnQgPSAibmZzY29tbW9uIgotSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0tY2xpZW50ID0gImRlZmF1bHRzIDE5IDIxIgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgc3lzdGVtZCBwa2djb25maWcKLQotU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSAke1BOfS1jbGllbnQiCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibmZzLXNlcnZlci5zZXJ2aWNlIG5mcy1tb3VudGQuc2VydmljZSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfS1jbGllbnQgPSAibmZzLXN0YXRkLnNlcnZpY2UiCi0KLSMgLS1lbmFibGUtdXVpZCBpcyBuZWVkIGZvciBjcm9zcy1jb21waWxpbmcKLUVYVFJBX09FQ09ORiA9ICItLXdpdGgtc3RhdGR1c2VyPXJwY3VzZXIgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLW1vdW50Y29uZmlnIFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1saWJtb3VudC1tb3VudCBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtdXVpZCBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLWdzcyBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLW5mc2RjbHRyYWNrIFwKLSAgICAgICAgICAgICAgICAtLXdpdGgtc3RhdGRwYXRoPS92YXIvbGliL25mcy9zdGF0ZCBcCi0gICAgICAgICAgICAgICAiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJ0Y3Atd3JhcHBlcnMgXAotICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0gXAotIgotUEFDS0FHRUNPTkZJR19yZW1vdmVfbGliYy1tdXNsID0gInRjcC13cmFwcGVycyIKLVBBQ0tBR0VDT05GSUdbdGNwLXdyYXBwZXJzXSA9ICItLXdpdGgtdGNwLXdyYXBwZXJzLC0td2l0aG91dC10Y3Atd3JhcHBlcnMsdGNwLXdyYXBwZXJzIgotUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKLSMgbGliZGV2bWFwcGVyIGlzIGF2YWlsYWJsZSBpbiBtZXRhLW9lCi1QQUNLQUdFQ09ORklHW25mc3Y0MV0gPSAiLS1lbmFibGUtbmZzdjQxLC0tZGlzYWJsZS1uZnN2NDEsbGliZGV2bWFwcGVyIgotIyBrZXl1dGlscyBpcyBhdmFpbGFibGUgaW4gbWV0YS1zZWN1cml0eQotUEFDS0FHRUNPTkZJR1tuZnN2NF0gPSAiLS1lbmFibGUtbmZzdjQsLS1kaXNhYmxlLW5mc3Y0LGtleXV0aWxzIgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tY2xpZW50ICR7UE59LW1vdW50ICR7UE59LXN0YXRzIgotCi1DT05GRklMRVNfJHtQTn0tY2xpZW50ICs9ICIke2xvY2Fsc3RhdGVkaXJ9L2xpYi9uZnMvZXRhYiBcCi0JCQkgICAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9uZnMvcm10YWIgXAotCQkJICAgJHtsb2NhbHN0YXRlZGlyfS9saWIvbmZzL3h0YWIgXAotCQkJICAgJHtsb2NhbHN0YXRlZGlyfS9saWIvbmZzL3N0YXRkL3N0YXRlIFwKLQkJCSAgICR7c3lzY29uZmRpcn0vbmZzbW91bnQuY29uZiIKLQotRklMRVNfJHtQTn0tY2xpZW50ID0gIiR7c2JpbmRpcn0vKnN0YXRkIFwKLQkJICAgICAgJHtzYmluZGlyfS9ycGMuaWRtYXBkICR7c2JpbmRpcn0vc20tbm90aWZ5IFwKLQkJICAgICAgJHtzYmluZGlyfS9zaG93bW91bnQgJHtzYmluZGlyfS9uZnNzdGF0IFwKLQkJICAgICAgJHtsb2NhbHN0YXRlZGlyfS9saWIvbmZzIFwKLQkJICAgICAgJHtzeXNjb25mZGlyfS9uZnMtdXRpbHMuY29uZiBcCi0JCSAgICAgICR7c3lzY29uZmRpcn0vbmZzbW91bnQuY29uZiBcCi0JCSAgICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL25mc2NvbW1vbiBcCi0JCSAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbmZzLXN0YXRkLnNlcnZpY2UiCi1SREVQRU5EU18ke1BOfS1jbGllbnQgPSAiJHtQTn0tbW91bnQgcnBjYmluZCIKLQotRklMRVNfJHtQTn0tbW91bnQgPSAiJHtiYXNlX3NiaW5kaXJ9Lyptb3VudC5uZnMqIgotCi1GSUxFU18ke1BOfS1zdGF0cyA9ICIke3NiaW5kaXJ9L21vdW50c3RhdHMgJHtzYmluZGlyfS9uZnNpb3N0YXQiCi1SREVQRU5EU18ke1BOfS1zdGF0cyA9ICJweXRob24zLWNvcmUiCi0KLUZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0iCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgICAgICBzZWQgLWkgLWUgJ3Msc2JpbmRpciA9IC9zYmluLHNiaW5kaXIgPSAke2Jhc2Vfc2JpbmRpcn0sZycgXAotICAgICAgICAgICAgJHtTfS91dGlscy9tb3VudC9NYWtlZmlsZS5hbQotCi0gICAgICAgIHNlZCAtaSAtZSAncyxzYmluZGlyID0gL3NiaW4sc2JpbmRpciA9ICR7YmFzZV9zYmluZGlyfSxnJyBcCi0gICAgICAgICAgICAke1N9L3V0aWxzL29zZF9sb2dpbi9NYWtlZmlsZS5hbQotfQotCi0jIE1ha2UgY2xlYW4gbmVlZGVkIGJlY2F1c2UgdGhlIHBhY2thZ2UgY29tZXMgd2l0aAotIyBwcmVjb21waWxlZCA2NC1iaXQgb2JqZWN0cyB0aGF0IGJyZWFrIHRoZSBidWlsZAotZG9fY29tcGlsZV9wcmVwZW5kKCkgewotCW1ha2UgY2xlYW4KLX0KLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0JaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbmZzc2VydmVyICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9uZnNzZXJ2ZXIKLQlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9uZnNjb21tb24gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL25mc2NvbW1vbgotCi0JaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbmZzLXV0aWxzLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0KLQlpbnN0YWxsIC1tIDA3NTUgJHtTfS91dGlscy9tb3VudC9uZnNtb3VudC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9Ci0KLQlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbmZzLXNlcnZlci5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLwotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25mcy1tb3VudGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KLQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uZnMtc3RhdGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KLQlzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAotCQktZSAncyxAU1lTQ09ORkRJUkAsJHtzeXNjb25mZGlyfSxnJyBcCi0JCSR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyouc2VydmljZQotCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KLQkgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcHJvYy1mcy1uZnNkLm1vdW50ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLwotCSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c2luaXQudGFyZ2V0LndhbnRzLwotCSAgICBsbiAtc2YgLi4vcHJvYy1mcy1uZnNkLm1vdW50ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c2luaXQudGFyZ2V0LndhbnRzL3Byb2MtZnMtbmZzZC5tb3VudAotCWZpCi0KLQkjIGtlcm5lbCBjb2RlIGFzIG9mIDMuOCBoYXJkLWNvZGVzIHRoaXMgcGF0aCBhcyBhIGRlZmF1bHQKLQlpbnN0YWxsIC1kICR7RH0vdmFyL2xpYi9uZnMvdjRyZWNvdmVyeQotCi0JIyBjaG93biB0aGUgZGlyZWN0b3JpZXMgYW5kIGZpbGVzCi0JY2hvd24gLVIgcnBjdXNlcjpycGN1c2VyICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9uZnMvc3RhdGQKLQljaG1vZCAwNjQ0ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9uZnMvc3RhdGQvc3RhdGUKLQotCSMgdGhlIGZvbGxvd2luZyBhcmUgYnVpbHQgYnkgQ0NfRk9SX0JVSUxECi0Jcm0gLWYgJHtEfSR7c2JpbmRpcn0vcnBjZGVidWcKLQlybSAtZiAke0R9JHtzYmluZGlyfS9ycGNnZW4KLQlybSAtZiAke0R9JHtzYmluZGlyfS9sb2NrdGVzdAotCi0gICAgICAgICMgTWFrZSBweXRob24gdG9vbHMgdXNlIHB5dGhvbiAzCi0gICAgICAgIHNlZCAtaSAtZSAnMXMsIyEuKnB5dGhvbi4qLCMhJHtiaW5kaXJ9L3B5dGhvbjMsJyAke0R9JHtzYmluZGlyfS9tb3VudHN0YXRzICR7RH0ke3NiaW5kaXJ9L25mc2lvc3RhdAotCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlsc18yLjMuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzXzIuMy4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjNDQzN2IKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlsc18yLjMuMy5iYgpAQCAtMCwwICsxLDE1MyBAQAorU1VNTUFSWSA9ICJ1c2Vyc3BhY2UgdXRpbGl0aWVzIGZvciBrZXJuZWwgbmZzIgorREVTQ1JJUFRJT04gPSAiVGhlIG5mcy11dGlscyBwYWNrYWdlIHByb3ZpZGVzIGEgZGFlbW9uIGZvciB0aGUga2VybmVsIFwKK05GUyBzZXJ2ZXIgYW5kIHJlbGF0ZWQgdG9vbHMuIgorSE9NRVBBR0UgPSAiaHR0cDovL25mcy5zb3VyY2Vmb3JnZS5uZXQvIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCisKK0xJQ0VOU0UgPSAiTUlUICYgR1BMdjIrICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTVmM2E5M2E1YzNjNzg4OGRlNjIzYjQ2ZWEwODVhODQiCisKKyMgdXRpbC1saW51eCBmb3IgbGliYmxraWQKK0RFUEVORFMgPSAibGliY2FwIGxpYmV2ZW50IHV0aWwtbGludXggc3FsaXRlMyBsaWJ0aXJwYyIKK1JERVBFTkRTXyR7UE59ID0gIiR7UE59LWNsaWVudCBiYXNoIgorUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1uZnNkIgorCitpbmhlcml0IHVzZXJhZGQKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfS1jbGllbnQiCitVU0VSQUREX1BBUkFNXyR7UE59LWNsaWVudCA9ICItLXN5c3RlbSAgLS1ob21lLWRpciAvdmFyL2xpYi9uZnMgXAorCQkJICAgICAgLS1zaGVsbCAvYmluL2ZhbHNlIC0tdXNlci1ncm91cCBycGN1c2VyIgorCitTUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMvbmZzLXV0aWxzLyR7UFZ9L25mcy11dGlscy0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vbmZzc2VydmVyIFwKKyAgICAgICAgICAgZmlsZTovL25mc2NvbW1vbiBcCisgICAgICAgICAgIGZpbGU6Ly9uZnMtdXRpbHMuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9uZnMtc2VydmVyLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vbmZzLW1vdW50ZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL25mcy1zdGF0ZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3Byb2MtZnMtbmZzZC5tb3VudCBcCisgICAgICAgICAgIGZpbGU6Ly9uZnMtdXRpbHMtZGViaWFuaXplLXN0YXJ0LXN0YXRkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2J1Z2ZpeC1hZGp1c3Qtc3RhdGQtc2VydmljZS1uYW1lLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25mcy11dGlscy1tdXNsLWxpbWl0cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNhY2hlaW8tdXNlLWludG1heF90LWZvci1mb3JtYXR0ZWQtSU8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtcGFzcy1udWxsLXBvaW50ZXItdG8tZnJlZWFkZHJpbmZvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NsYW5nLWZvcm1hdC1zdHJpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS5hbS11cGRhdGUtdGhlLXBhdGgtb2YtbGlibmZzLmEucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS5hbS1maXgtdW5kZWZpbmVkLWZ1bmN0aW9uLWZvci1saWJuc20uYS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvbi10LWJ1aWxkLXRvb2xzLXdpdGgtQ0NfRk9SX0JVSUxELnBhdGNoIFwKKyIKK1NSQ19VUklfYXBwZW5kX2xpYmMtZ2xpYmMgPSAiIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5hYy1Eby1ub3QtZmF0YWxpemUtV21pc3NpbmctcHJvdG90eXBlcy5wYXRjaCIKK1NSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9ICIgZmlsZTovL25mcy11dGlscy1tdXNsLXJlc19xdWVyeWRvbWFpbi5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImI2YzljMDMyOTk1YWYxYzA4ZmVhOWZiY2MxY2UzM2U5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY2OGIzNDc5MzgzMWIwNWYxZmQ1NzYwZDZiZGVjOTI3NzJjNzY4NDE3NzU4NmE5OWE2MWU3YjQ0NGYzMzYzMjIiCisKKyMgT25seSBrZXJuZWwtbW9kdWxlLW5mc2QgaXMgcmVxdWlyZWQgaGVyZSAoYnV0IGNhbiBiZSBidWlsdC1pbikgIC0gdGhlIG5mc2QgbW9kdWxlIHdpbGwKKyMgcHVsbCBpbiB0aGUgcmVtYWluZGVyIG9mIHRoZSBkZXBlbmRlbmNpZXMuCisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0gJHtQTn0tY2xpZW50IgorSU5JVFNDUklQVF9OQU1FID0gIm5mc3NlcnZlciIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgorSU5JVFNDUklQVF9OQU1FXyR7UE59LWNsaWVudCA9ICJuZnNjb21tb24iCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfS1jbGllbnQgPSAiZGVmYXVsdHMgMTkgMjEiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBzeXN0ZW1kIHBrZ2NvbmZpZworCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59ICR7UE59LWNsaWVudCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJuZnMtc2VydmVyLnNlcnZpY2UgbmZzLW1vdW50ZC5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LWNsaWVudCA9ICJuZnMtc3RhdGQuc2VydmljZSIKKworIyAtLWVuYWJsZS11dWlkIGlzIG5lZWQgZm9yIGNyb3NzLWNvbXBpbGluZworRVhUUkFfT0VDT05GID0gIi0td2l0aC1zdGF0ZHVzZXI9cnBjdXNlciBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtbW91bnRjb25maWcgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWxpYm1vdW50LW1vdW50IFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS11dWlkIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtZ3NzIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtbmZzZGNsdHJhY2sgXAorICAgICAgICAgICAgICAgIC0td2l0aC1zdGF0ZHBhdGg9L3Zhci9saWIvbmZzL3N0YXRkIFwKKyAgICAgICAgICAgICAgICIKKworQ0ZMQUdTICs9ICItV25vLWVycm9yPWZvcm1hdC1vdmVyZmxvdyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gInRjcC13cmFwcGVycyBcCisgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSBcCisiCitQQUNLQUdFQ09ORklHX3JlbW92ZV9saWJjLW11c2wgPSAidGNwLXdyYXBwZXJzIgorUEFDS0FHRUNPTkZJR1t0Y3Atd3JhcHBlcnNdID0gIi0td2l0aC10Y3Atd3JhcHBlcnMsLS13aXRob3V0LXRjcC13cmFwcGVycyx0Y3Atd3JhcHBlcnMiCitQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgorIyBsaWJkZXZtYXBwZXIgaXMgYXZhaWxhYmxlIGluIG1ldGEtb2UKK1BBQ0tBR0VDT05GSUdbbmZzdjQxXSA9ICItLWVuYWJsZS1uZnN2NDEsLS1kaXNhYmxlLW5mc3Y0MSxsaWJkZXZtYXBwZXIiCisjIGtleXV0aWxzIGlzIGF2YWlsYWJsZSBpbiBtZXRhLXNlY3VyaXR5CitQQUNLQUdFQ09ORklHW25mc3Y0XSA9ICItLWVuYWJsZS1uZnN2NCwtLWRpc2FibGUtbmZzdjQsa2V5dXRpbHMiCisKK1BBQ0tBR0VTID0rICIke1BOfS1jbGllbnQgJHtQTn0tbW91bnQgJHtQTn0tc3RhdHMiCisKK0NPTkZGSUxFU18ke1BOfS1jbGllbnQgKz0gIiR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy9ldGFiIFwKKwkJCSAgICR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy9ybXRhYiBcCisJCQkgICAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9uZnMveHRhYiBcCisJCQkgICAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9uZnMvc3RhdGQvc3RhdGUgXAorCQkJICAgJHtzeXNjb25mZGlyfS9uZnNtb3VudC5jb25mIgorCitGSUxFU18ke1BOfS1jbGllbnQgPSAiJHtzYmluZGlyfS8qc3RhdGQgXAorCQkgICAgICAke3NiaW5kaXJ9L3JwYy5pZG1hcGQgJHtzYmluZGlyfS9zbS1ub3RpZnkgXAorCQkgICAgICAke3NiaW5kaXJ9L3Nob3dtb3VudCAke3NiaW5kaXJ9L25mc3N0YXQgXAorCQkgICAgICAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9uZnMgXAorCQkgICAgICAke3N5c2NvbmZkaXJ9L25mcy11dGlscy5jb25mIFwKKwkJICAgICAgJHtzeXNjb25mZGlyfS9uZnNtb3VudC5jb25mIFwKKwkJICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvbmZzY29tbW9uIFwKKwkJICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9uZnMtc3RhdGQuc2VydmljZSIKK1JERVBFTkRTXyR7UE59LWNsaWVudCA9ICIke1BOfS1tb3VudCBycGNiaW5kIgorCitGSUxFU18ke1BOfS1tb3VudCA9ICIke2Jhc2Vfc2JpbmRpcn0vKm1vdW50Lm5mcyoiCisKK0ZJTEVTXyR7UE59LXN0YXRzID0gIiR7c2JpbmRpcn0vbW91bnRzdGF0cyAke3NiaW5kaXJ9L25mc2lvc3RhdCIKK1JERVBFTkRTXyR7UE59LXN0YXRzID0gInB5dGhvbjMtY29yZSIKKworRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgICAgIHNlZCAtaSAtZSAncyxzYmluZGlyID0gL3NiaW4sc2JpbmRpciA9ICR7YmFzZV9zYmluZGlyfSxnJyBcCisgICAgICAgICAgICAke1N9L3V0aWxzL21vdW50L01ha2VmaWxlLmFtCisKKyAgICAgICAgc2VkIC1pIC1lICdzLHNiaW5kaXIgPSAvc2JpbixzYmluZGlyID0gJHtiYXNlX3NiaW5kaXJ9LGcnIFwKKyAgICAgICAgICAgICR7U30vdXRpbHMvb3NkX2xvZ2luL01ha2VmaWxlLmFtCit9CisKKyMgTWFrZSBjbGVhbiBuZWVkZWQgYmVjYXVzZSB0aGUgcGFja2FnZSBjb21lcyB3aXRoCisjIHByZWNvbXBpbGVkIDY0LWJpdCBvYmplY3RzIHRoYXQgYnJlYWsgdGhlIGJ1aWxkCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisJbWFrZSBjbGVhbgorfQorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKwlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9uZnNzZXJ2ZXIgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL25mc3NlcnZlcgorCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L25mc2NvbW1vbiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbmZzY29tbW9uCisKKwlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9uZnMtdXRpbHMuY29uZiAke0R9JHtzeXNjb25mZGlyfQorCWluc3RhbGwgLW0gMDc1NSAke1N9L3V0aWxzL21vdW50L25mc21vdW50LmNvbmYgJHtEfSR7c3lzY29uZmRpcn0KKworCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uZnMtc2VydmVyLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbmZzLW1vdW50ZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25mcy1zdGF0ZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworCXNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCisJCS1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKKwkJJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKi5zZXJ2aWNlCisJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorCSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9wcm9jLWZzLW5mc2QubW91bnQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisJICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzaW5pdC50YXJnZXQud2FudHMvCisJICAgIGxuIC1zZiAuLi9wcm9jLWZzLW5mc2QubW91bnQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzaW5pdC50YXJnZXQud2FudHMvcHJvYy1mcy1uZnNkLm1vdW50CisJZmkKKworCSMga2VybmVsIGNvZGUgYXMgb2YgMy44IGhhcmQtY29kZXMgdGhpcyBwYXRoIGFzIGEgZGVmYXVsdAorCWluc3RhbGwgLWQgJHtEfS92YXIvbGliL25mcy92NHJlY292ZXJ5CisKKwkjIGNob3duIHRoZSBkaXJlY3RvcmllcyBhbmQgZmlsZXMKKwljaG93biAtUiBycGN1c2VyOnJwY3VzZXIgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy9zdGF0ZAorCWNobW9kIDA2NDQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy9zdGF0ZC9zdGF0ZQorCisgICAgICAgICMgTWFrZSBweXRob24gdG9vbHMgdXNlIHB5dGhvbiAzCisgICAgICAgIHNlZCAtaSAtZSAnMXMsIyEuKnB5dGhvbi4qLCMhJHtiaW5kaXJ9L3B5dGhvbjMsJyAke0R9JHtzYmluZGlyfS9tb3VudHN0YXRzICR7RH0ke3NiaW5kaXJ9L25mc2lvc3RhdAorCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2Zvbm8vb2Zvbm9fMS4yNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vZm9uby9vZm9ub18xLjI0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZTdkOWVhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vZm9uby9vZm9ub18xLjI0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1yZXF1aXJlIG9mb25vLmluYwotCi1TUkNfVVJJICA9ICJcCi0gICR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvbmV0d29yay8ke0JQTn0vJHtCUH0udGFyLnh6IFwKLSAgZmlsZTovL29mb25vIFwKLSAgZmlsZTovL3VzZS1weXRob24zLnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICJiZTI0ZTgwZjY1NTFmNDZmZWEwYzViNTg3OTk2NGQ2YyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5YzhlMzUxYjc2NThmNGI0M2Y5YTQzODBiNzMxYzQ3ZDJkNzU0NGE4OTk4N2M0OGMzZjIyN2U3MzYzNmM4N2FlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29mb25vL29mb25vXzEuMjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2Zvbm8vb2Zvbm9fMS4yNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNjg4YjlkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29mb25vL29mb25vXzEuMjUuYmIKQEAgLTAsMCArMSw5IEBACityZXF1aXJlIG9mb25vLmluYworCitTUkNfVVJJICA9ICJcCisgICR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvbmV0d29yay8ke0JQTn0vJHtCUH0udGFyLnh6IFwKKyAgZmlsZTovL29mb25vIFwKKyAgZmlsZTovL3VzZS1weXRob24zLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMTQ1MGNhYmRkOGRiYmYzZjgwOGVhMmYyZjA2Njg2MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlYjAxMWZjZDMwODBlOTNmM2E1NmY5NmJlNjAzNTBiNjU5NWE4YjVmMzZiNjE2NDYzMTJiYTQxYjBiY2IwZDc1IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2gvb3BlbnNzaF83LjhwMStnaXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzaC9vcGVuc3NoXzcuOHAxK2dpdC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjU0ZGZiNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzaC9vcGVuc3NoXzcuOHAxK2dpdC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE2NCArMCwwIEBACi1TVU1NQVJZID0gIkEgc3VpdGUgb2Ygc2VjdXJpdHktcmVsYXRlZCBuZXR3b3JrIHV0aWxpdGllcyBiYXNlZCBvbiBcCi10aGUgU1NIIHByb3RvY29sIGluY2x1ZGluZyB0aGUgc3NoIGNsaWVudCBhbmQgc3NoZCBzZXJ2ZXIiCi1ERVNDUklQVElPTiA9ICJTZWN1cmUgcmxvZ2luL3JzaC9yY3AvdGVsbmV0IHJlcGxhY2VtZW50IChPcGVuU1NIKSBcCi1Tc2ggKFNlY3VyZSBTaGVsbCkgaXMgYSBwcm9ncmFtIGZvciBsb2dnaW5nIGludG8gYSByZW1vdGUgbWFjaGluZSBcCi1hbmQgZm9yIGV4ZWN1dGluZyBjb21tYW5kcyBvbiBhIHJlbW90ZSBtYWNoaW5lLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNzaC5jb20vIgotU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCi1MSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOQ0U7bWQ1PTQyOTY1OGM2NjEyZjNhOWIxMjkzNzgyMzY2YWIyOWQ4IgotCi1ERVBFTkRTID0gInpsaWIgb3BlbnNzbCIKLURFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0iCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuc3NoL29wZW5zc2gtcG9ydGFibGU7YnJhbmNoPW1hc3RlciBcCi0gICAgICAgICAgIGZpbGU6Ly9zc2hkX2NvbmZpZyBcCi0gICAgICAgICAgIGZpbGU6Ly9zc2hfY29uZmlnIFwKLSAgICAgICAgICAgZmlsZTovL2luaXQgXAotICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICcke1BBTV9TUkNfVVJJfScsICcnLCBkKX0gXAotICAgICAgICAgICBmaWxlOi8vc3NoZC5zb2NrZXQgXAotICAgICAgICAgICBmaWxlOi8vc3NoZEAuc2VydmljZSBcCi0gICAgICAgICAgIGZpbGU6Ly9zc2hkZ2Vua2V5cy5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy45OV9zc2hkIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9maXgtcG90ZW50aWFsLXNpZ25lZC1vdmVyZmxvdy1pbi1wb2ludGVyLWFyaXRobWF0aWMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc3NoZF9jaGVja19rZXlzIFwKLSAgICAgICAgICAgZmlsZTovL2FkZC10ZXN0LXN1cHBvcnQtZm9yLWJ1c3lib3gucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVBBTV9TUkNfVVJJID0gImZpbGU6Ly9zc2hkIgotCi1TUkNSRVYgPSAiY2NlOGNiZTBlZDdkMWJhM2E1NzUzMTBlMGI2M2MxOTMzMjZhZTYxNiIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCB1c2VyYWRkIHVwZGF0ZS1yYy5kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgc3lzdGVtZAotCi1VU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59LXNzaGQiCi1VU0VSQUREX1BBUkFNXyR7UE59LXNzaGQgPSAiLS1zeXN0ZW0gLS1uby1jcmVhdGUtaG9tZSAtLWhvbWUtZGlyIC92YXIvcnVuL3NzaGQgLS1zaGVsbCAvYmluL2ZhbHNlIC0tdXNlci1ncm91cCBzc2hkIgotSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfS1zc2hkIgotSU5JVFNDUklQVF9OQU1FXyR7UE59LXNzaGQgPSAic3NoZCIKLUlOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LXNzaGQgPSAiZGVmYXVsdHMgOSIKLQotU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfS1zc2hkIgotU1lTVEVNRF9TRVJWSUNFXyR7UE59LXNzaGQgPSAic3NoZC5zb2NrZXQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwdGVzdAotCi1FWFRSQV9BVVRPUkVDT05GICs9ICItLWV4Y2x1ZGU9YWNsb2NhbCIKLQotIyBsb2dpbiBwYXRoIGlzIGhhcmRjb2RlZCBpbiBzc2hkCi1FWFRSQV9PRUNPTkYgPSAiJ0xPR0lOX1BST0dSQU09JHtiYXNlX2JpbmRpcn0vbG9naW4nIFwKLSAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICctLXdpdGgtcGFtJywgJy0td2l0aG91dC1wYW0nLCBkKX0gXAotICAgICAgICAgICAgICAgIC0td2l0aG91dC16bGliLXZlcnNpb24tY2hlY2sgXAotICAgICAgICAgICAgICAgIC0td2l0aC1wcml2c2VwLXBhdGg9JHtsb2NhbHN0YXRlZGlyfS9ydW4vc3NoZCBcCi0gICAgICAgICAgICAgICAgLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0vc3NoIFwKLSAgICAgICAgICAgICAgICAtLXdpdGgteGF1dGg9JHtiaW5kaXJ9L3hhdXRoIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtc3RyaXAgXAotICAgICAgICAgICAgICAgICIKLQotIyBtdXNsIGRvZXNuJ3QgaW1wbGVtZW50IHd0bXAvdXRtcAotRVhUUkFfT0VDT05GX2FwcGVuZF9saWJjLW11c2wgPSAiIC0tZGlzYWJsZS13dG1wIgotCi0jIFNpbmNlIHdlIGRvIG5vdCBkZXBlbmQgb24gbGliYnNkLCB3ZSBkbyBub3Qgd2FudCBjb25maWd1cmUgdG8gdXNlIGl0Ci0jIGp1c3QgYmVjYXVzZSBpdCBmaW5kcyBsaWJ1dGlsLmguICBCdXQsIHNwZWNpZnlpbmcgLS1kaXNhYmxlLWxpYnV0aWwKLSMgY2F1c2VzIGNvbXBpbGUgZXJyb3JzLCBzby4uLgotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X2hlYWRlcl9ic2RfbGlidXRpbF9oPW5vIGFjX2N2X2hlYWRlcl9saWJ1dGlsX2g9bm8iCi0KLSMgcGFzc3dkIHBhdGggaXMgaGFyZGNvZGVkIGluIHNzaGQKLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9wYXRoX1BBVEhfUEFTU1dEX1BST0c9JHtiaW5kaXJ9L3Bhc3N3ZCIKLQotIyBXZSBkb24ndCB3YW50IHRvIGRlcGVuZCBvbiBsaWJibG9ja2ZpbGUKLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9oZWFkZXJfbWFpbGxvY2tfaD1ubyIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotCWV4cG9ydCBMRD0iJHtDQ30iCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc3NoZF9jb25maWcgJHtCfS8KLQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zc2hfY29uZmlnICR7Qn0vCi19Ci0KLWRvX2NvbXBpbGVfcHRlc3QoKSB7Ci0gICAgICAgICMgc2tpcCByZWdyZXNzL3VuaXR0ZXN0cy8gYmluYXJpZXM6IHRoaXMgd2lsbCBzaWxlbnRseSBza2lwCi0gICAgICAgICMgdW5pdHRlc3RzIGluIHJ1bi1wdGVzdHMgd2hpY2ggaXMgZ29vZCBiZWNhdXNlIHRoZXkgYXJlIHNvIHNsb3cuCi0gICAgICAgIG9lX3J1bm1ha2UgcmVncmVzcy9tb2RwaXBlIHJlZ3Jlc3Mvc2V0dWlkLWFsbG93ZWQgcmVncmVzcy9uZXRjYXQgXAotICAgICAgICAgICAgICAgICAgIHJlZ3Jlc3MvY2hlY2stcGVybSByZWdyZXNzL21rZHRlbXAKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCWlmIFsgIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSIgXTsgdGhlbgotCQlpbnN0YWxsIC1EIC1tIDA2NDQgJHtXT1JLRElSfS9zc2hkICR7RH0ke3N5c2NvbmZkaXJ9L3BhbS5kL3NzaGQKLQkJc2VkIC1pIC1lICdzOiNVc2VQQU0gbm86VXNlUEFNIHllczonICR7RH0ke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZwotCWZpCi0KLQlpZiBbICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0iIF07IHRoZW4KLQkJc2VkIC1pIC1lICdzOiNYMTFGb3J3YXJkaW5nIG5vOlgxMUZvcndhcmRpbmcgeWVzOicgJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnCi0JZmkKLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0JaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc3NoZAotCXJtIC1mICR7RH0ke2JpbmRpcn0vc2xvZ2luICR7RH0ke2RhdGFkaXJ9L1NzaC5iaW4KLQlybWRpciAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4vc3NoZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4gJHtEfSR7bG9jYWxzdGF0ZWRpcn0KLQlpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcwotCWluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vdm9sYXRpbGVzLjk5X3NzaGQgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzk5X3NzaGQKLQlpbnN0YWxsIC1tIDA3NTUgJHtTfS9jb250cmliL3NzaC1jb3B5LWlkICR7RH0ke2JpbmRpcn0KLQotCSMgQ3JlYXRlIGNvbmZpZyBmaWxlcyBmb3IgcmVhZC1vbmx5IHJvb3RmcwotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3NoCi0JaW5zdGFsbCAtbSA2NDQgJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnICR7RH0ke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZ19yZWFkb25seQotCXNlZCAtaSAnL0hvc3RLZXkvZCcgJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnX3JlYWRvbmx5Ci0JZWNobyAiSG9zdEtleSAvdmFyL3J1bi9zc2gvc3NoX2hvc3RfcnNhX2tleSIgPj4gJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnX3JlYWRvbmx5Ci0JZWNobyAiSG9zdEtleSAvdmFyL3J1bi9zc2gvc3NoX2hvc3RfZWNkc2Ffa2V5IiA+PiAke0R9JHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWdfcmVhZG9ubHkKLQllY2hvICJIb3N0S2V5IC92YXIvcnVuL3NzaC9zc2hfaG9zdF9lZDI1NTE5X2tleSIgPj4gJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnX3JlYWRvbmx5Ci0KLQlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0JaW5zdGFsbCAtYyAtbSAwNjQ0ICR7V09SS0RJUn0vc3NoZC5zb2NrZXQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlpbnN0YWxsIC1jIC1tIDA2NDQgJHtXT1JLRElSfS9zc2hkQC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0JaW5zdGFsbCAtYyAtbSAwNjQ0ICR7V09SS0RJUn0vc3NoZGdlbmtleXMuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCXNlZCAtaSAtZSAncyxAQkFTRV9CSU5ESVJALCR7YmFzZV9iaW5kaXJ9LGcnIFwKLQkJLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAotCQktZSAncyxAQklORElSQCwke2JpbmRpcn0sZycgXAotCQktZSAncyxATElCRVhFQ0RJUkAsJHtsaWJleGVjZGlyfS8ke0JQTn0sZycgXAotCQkke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zc2hkLnNvY2tldCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLnNlcnZpY2UKLQotCXNlZCAtaSAtZSAncyxATElCRVhFQ0RJUkAsJHtsaWJleGVjZGlyfS8ke0JQTn0sZycgXAotCQkke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc3NoZAotCi0JaW5zdGFsbCAtRCAtbSAwNzU1ICR7V09SS0RJUn0vc3NoZF9jaGVja19rZXlzICR7RH0ke2xpYmV4ZWNkaXJ9LyR7QlBOfS9zc2hkX2NoZWNrX2tleXMKLX0KLQotZG9faW5zdGFsbF9wdGVzdCAoKSB7Ci0Jc2VkIC1pIC1lICJzfF5TRlRQU0VSVkVSPS4qfFNGVFBTRVJWRVI9JHtsaWJleGVjZGlyfS9zZnRwLXNlcnZlcnwiIHJlZ3Jlc3MvdGVzdC1leGVjLnNoCi0JY3AgLXIgcmVncmVzcyAke0R9JHtQVEVTVF9QQVRIfQotfQotCi1BTExPV19FTVBUWV8ke1BOfSA9ICIxIgotCi1QQUNLQUdFUyA9KyAiJHtQTn0ta2V5Z2VuICR7UE59LXNjcCAke1BOfS1zc2ggJHtQTn0tc3NoZCAke1BOfS1zZnRwICR7UE59LW1pc2MgJHtQTn0tc2Z0cC1zZXJ2ZXIiCi1GSUxFU18ke1BOfS1zY3AgPSAiJHtiaW5kaXJ9L3NjcC4ke0JQTn0iCi1GSUxFU18ke1BOfS1zc2ggPSAiJHtiaW5kaXJ9L3NzaC4ke0JQTn0gJHtzeXNjb25mZGlyfS9zc2gvc3NoX2NvbmZpZyIKLUZJTEVTXyR7UE59LXNzaGQgPSAiJHtzYmluZGlyfS9zc2hkICR7c3lzY29uZmRpcn0vaW5pdC5kL3NzaGQgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbSIKLUZJTEVTXyR7UE59LXNzaGQgKz0gIiR7c3lzY29uZmRpcn0vc3NoL21vZHVsaSAke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZyAke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZ19yZWFkb25seSAke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzk5X3NzaGQgJHtzeXNjb25mZGlyfS9wYW0uZC9zc2hkIgotRklMRVNfJHtQTn0tc3NoZCArPSAiJHtsaWJleGVjZGlyfS8ke0JQTn0vc3NoZF9jaGVja19rZXlzIgotRklMRVNfJHtQTn0tc2Z0cCA9ICIke2JpbmRpcn0vc2Z0cCIKLUZJTEVTXyR7UE59LXNmdHAtc2VydmVyID0gIiR7bGliZXhlY2Rpcn0vc2Z0cC1zZXJ2ZXIiCi1GSUxFU18ke1BOfS1taXNjID0gIiR7YmluZGlyfS9zc2gqICR7bGliZXhlY2Rpcn0vc3NoKiIKLUZJTEVTXyR7UE59LWtleWdlbiA9ICIke2JpbmRpcn0vc3NoLWtleWdlbiIKLQotUkRFUEVORFNfJHtQTn0gKz0gIiR7UE59LXNjcCAke1BOfS1zc2ggJHtQTn0tc3NoZCAke1BOfS1rZXlnZW4iCi1SREVQRU5EU18ke1BOfS1zc2hkICs9ICIke1BOfS1rZXlnZW4gJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtLXBsdWdpbi1rZXlpbml0IHBhbS1wbHVnaW4tbG9naW51aWQnLCAnJywgZCl9IgotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59LXNmdHAgJHtQTn0tbWlzYyAke1BOfS1zZnRwLXNlcnZlciBtYWtlIgotCi1SUFJPVklERVNfJHtQTn0tc3NoID0gInNzaCIKLVJQUk9WSURFU18ke1BOfS1zc2hkID0gInNzaGQiCi0KLVJDT05GTElDVFNfJHtQTn0gPSAiZHJvcGJlYXIiCi1SQ09ORkxJQ1RTXyR7UE59LXNzaGQgPSAiZHJvcGJlYXIiCi0KLUNPTkZGSUxFU18ke1BOfS1zc2hkID0gIiR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnIgotQ09ORkZJTEVTXyR7UE59LXNzaCA9ICIke3N5c2NvbmZkaXJ9L3NzaC9zc2hfY29uZmlnIgotCi1BTFRFUk5BVElWRV9QUklPUklUWSA9ICI5MCIKLUFMVEVSTkFUSVZFXyR7UE59LXNjcCA9ICJzY3AiCi1BTFRFUk5BVElWRV8ke1BOfS1zc2ggPSAic3NoIgotCi1CQkNMQVNTRVhURU5EICs9ICJuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzaC9vcGVuc3NoXzcuOXAxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2gvb3BlbnNzaF83LjlwMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTIzZjY0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2gvb3BlbnNzaF83LjlwMS5iYgpAQCAtMCwwICsxLDE2MiBAQAorU1VNTUFSWSA9ICJBIHN1aXRlIG9mIHNlY3VyaXR5LXJlbGF0ZWQgbmV0d29yayB1dGlsaXRpZXMgYmFzZWQgb24gXAordGhlIFNTSCBwcm90b2NvbCBpbmNsdWRpbmcgdGhlIHNzaCBjbGllbnQgYW5kIHNzaGQgc2VydmVyIgorREVTQ1JJUFRJT04gPSAiU2VjdXJlIHJsb2dpbi9yc2gvcmNwL3RlbG5ldCByZXBsYWNlbWVudCAoT3BlblNTSCkgXAorU3NoIChTZWN1cmUgU2hlbGwpIGlzIGEgcHJvZ3JhbSBmb3IgbG9nZ2luZyBpbnRvIGEgcmVtb3RlIG1hY2hpbmUgXAorYW5kIGZvciBleGVjdXRpbmcgY29tbWFuZHMgb24gYSByZW1vdGUgbWFjaGluZS4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5zc2guY29tLyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTkNFO21kNT00Mjk2NThjNjYxMmYzYTliMTI5Mzc4MjM2NmFiMjlkOCIKKworREVQRU5EUyA9ICJ6bGliIG9wZW5zc2wiCitERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdsaWJwYW0nLCAnJywgZCl9IgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAub3BlbmJzZC5vcmcvcHViL09wZW5CU0QvT3BlblNTSC9wb3J0YWJsZS9vcGVuc3NoLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9zc2hkX2NvbmZpZyBcCisgICAgICAgICAgIGZpbGU6Ly9zc2hfY29uZmlnIFwKKyAgICAgICAgICAgZmlsZTovL2luaXQgXAorICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICcke1BBTV9TUkNfVVJJfScsICcnLCBkKX0gXAorICAgICAgICAgICBmaWxlOi8vc3NoZC5zb2NrZXQgXAorICAgICAgICAgICBmaWxlOi8vc3NoZEAuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9zc2hkZ2Vua2V5cy5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy45OV9zc2hkIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtcG90ZW50aWFsLXNpZ25lZC1vdmVyZmxvdy1pbi1wb2ludGVyLWFyaXRobWF0aWMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc3NoZF9jaGVja19rZXlzIFwKKyAgICAgICAgICAgZmlsZTovL2FkZC10ZXN0LXN1cHBvcnQtZm9yLWJ1c3lib3gucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiYzZhZjUwYjdhNDc0ZDA0NzI2YTVhYTc0N2E1ZGNlOGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmI0YjNiYTIyNTNkODRlZDM3NzFjODA1MDcyOGQ1OTdjOTFjZmNlODk4NzEzYmViN2I2NGEzMDViNmYxMWFhZCIKKworUEFNX1NSQ19VUkkgPSAiZmlsZTovL3NzaGQiCisKK2luaGVyaXQgdXNlcmFkZCB1cGRhdGUtcmMuZCB1cGRhdGUtYWx0ZXJuYXRpdmVzIHN5c3RlbWQKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfS1zc2hkIgorVVNFUkFERF9QQVJBTV8ke1BOfS1zc2hkID0gIi0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgLS1ob21lLWRpciAvdmFyL3J1bi9zc2hkIC0tc2hlbGwgL2Jpbi9mYWxzZSAtLXVzZXItZ3JvdXAgc3NoZCIKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0tc3NoZCIKK0lOSVRTQ1JJUFRfTkFNRV8ke1BOfS1zc2hkID0gInNzaGQiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfS1zc2hkID0gImRlZmF1bHRzIDkiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0tc3NoZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1zc2hkID0gInNzaGQuc29ja2V0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcHRlc3QKKworRVhUUkFfQVVUT1JFQ09ORiArPSAiLS1leGNsdWRlPWFjbG9jYWwiCisKKyMgbG9naW4gcGF0aCBpcyBoYXJkY29kZWQgaW4gc3NoZAorRVhUUkFfT0VDT05GID0gIidMT0dJTl9QUk9HUkFNPSR7YmFzZV9iaW5kaXJ9L2xvZ2luJyBcCisgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnLS13aXRoLXBhbScsICctLXdpdGhvdXQtcGFtJywgZCl9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtemxpYi12ZXJzaW9uLWNoZWNrIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtcHJpdnNlcC1wYXRoPSR7bG9jYWxzdGF0ZWRpcn0vcnVuL3NzaGQgXAorICAgICAgICAgICAgICAgIC0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9L3NzaCBcCisgICAgICAgICAgICAgICAgLS13aXRoLXhhdXRoPSR7YmluZGlyfS94YXV0aCBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXN0cmlwIFwKKyAgICAgICAgICAgICAgICAiCisKKyMgbXVzbCBkb2Vzbid0IGltcGxlbWVudCB3dG1wL3V0bXAKK0VYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsID0gIiAtLWRpc2FibGUtd3RtcCIKKworIyBTaW5jZSB3ZSBkbyBub3QgZGVwZW5kIG9uIGxpYmJzZCwgd2UgZG8gbm90IHdhbnQgY29uZmlndXJlIHRvIHVzZSBpdAorIyBqdXN0IGJlY2F1c2UgaXQgZmluZHMgbGlidXRpbC5oLiAgQnV0LCBzcGVjaWZ5aW5nIC0tZGlzYWJsZS1saWJ1dGlsCisjIGNhdXNlcyBjb21waWxlIGVycm9ycywgc28uLi4KK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9oZWFkZXJfYnNkX2xpYnV0aWxfaD1ubyBhY19jdl9oZWFkZXJfbGlidXRpbF9oPW5vIgorCisjIHBhc3N3ZCBwYXRoIGlzIGhhcmRjb2RlZCBpbiBzc2hkCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfcGF0aF9QQVRIX1BBU1NXRF9QUk9HPSR7YmluZGlyfS9wYXNzd2QiCisKKyMgV2UgZG9uJ3Qgd2FudCB0byBkZXBlbmQgb24gbGliYmxvY2tmaWxlCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfaGVhZGVyX21haWxsb2NrX2g9bm8iCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKwlleHBvcnQgTEQ9IiR7Q0N9IgorCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NzaGRfY29uZmlnICR7Qn0vCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc3NoX2NvbmZpZyAke0J9LworfQorCitkb19jb21waWxlX3B0ZXN0KCkgeworICAgICAgICAjIHNraXAgcmVncmVzcy91bml0dGVzdHMvIGJpbmFyaWVzOiB0aGlzIHdpbGwgc2lsZW50bHkgc2tpcAorICAgICAgICAjIHVuaXR0ZXN0cyBpbiBydW4tcHRlc3RzIHdoaWNoIGlzIGdvb2QgYmVjYXVzZSB0aGV5IGFyZSBzbyBzbG93LgorICAgICAgICBvZV9ydW5tYWtlIHJlZ3Jlc3MvbW9kcGlwZSByZWdyZXNzL3NldHVpZC1hbGxvd2VkIHJlZ3Jlc3MvbmV0Y2F0IFwKKyAgICAgICAgICAgICAgICAgICByZWdyZXNzL2NoZWNrLXBlcm0gcmVncmVzcy9ta2R0ZW1wCit9CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKwlpZiBbICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCBkKX0iIF07IHRoZW4KKwkJaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vc3NoZCAke0R9JHtzeXNjb25mZGlyfS9wYW0uZC9zc2hkCisJCXNlZCAtaSAtZSAnczojVXNlUEFNIG5vOlVzZVBBTSB5ZXM6JyAke0R9JHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWcKKwlmaQorCisJaWYgWyAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgZCl9IiBdOyB0aGVuCisJCXNlZCAtaSAtZSAnczojWDExRm9yd2FyZGluZyBubzpYMTFGb3J3YXJkaW5nIHllczonICR7RH0ke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZworCWZpCisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3NzaGQKKwlybSAtZiAke0R9JHtiaW5kaXJ9L3Nsb2dpbiAke0R9JHtkYXRhZGlyfS9Tc2guYmluCisJcm1kaXIgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuL3NzaGQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuICR7RH0ke2xvY2Fsc3RhdGVkaXJ9CisJaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKKwlpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy45OV9zc2hkICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy85OV9zc2hkCisJaW5zdGFsbCAtbSAwNzU1ICR7U30vY29udHJpYi9zc2gtY29weS1pZCAke0R9JHtiaW5kaXJ9CisKKwkjIENyZWF0ZSBjb25maWcgZmlsZXMgZm9yIHJlYWQtb25seSByb290ZnMKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3NzaAorCWluc3RhbGwgLW0gNjQ0ICR7RH0ke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZyAke0R9JHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWdfcmVhZG9ubHkKKwlzZWQgLWkgJy9Ib3N0S2V5L2QnICR7RH0ke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZ19yZWFkb25seQorCWVjaG8gIkhvc3RLZXkgL3Zhci9ydW4vc3NoL3NzaF9ob3N0X3JzYV9rZXkiID4+ICR7RH0ke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZ19yZWFkb25seQorCWVjaG8gIkhvc3RLZXkgL3Zhci9ydW4vc3NoL3NzaF9ob3N0X2VjZHNhX2tleSIgPj4gJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnX3JlYWRvbmx5CisJZWNobyAiSG9zdEtleSAvdmFyL3J1bi9zc2gvc3NoX2hvc3RfZWQyNTUxOV9rZXkiID4+ICR7RH0ke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZ19yZWFkb25seQorCisJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCWluc3RhbGwgLWMgLW0gMDY0NCAke1dPUktESVJ9L3NzaGQuc29ja2V0ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJaW5zdGFsbCAtYyAtbSAwNjQ0ICR7V09SS0RJUn0vc3NoZEAuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCWluc3RhbGwgLWMgLW0gMDY0NCAke1dPUktESVJ9L3NzaGRnZW5rZXlzLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlzZWQgLWkgLWUgJ3MsQEJBU0VfQklORElSQCwke2Jhc2VfYmluZGlyfSxnJyBcCisJCS1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKKwkJLWUgJ3MsQEJJTkRJUkAsJHtiaW5kaXJ9LGcnIFwKKwkJLWUgJ3MsQExJQkVYRUNESVJALCR7bGliZXhlY2Rpcn0vJHtCUE59LGcnIFwKKwkJJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3NoZC5zb2NrZXQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKi5zZXJ2aWNlCisKKwlzZWQgLWkgLWUgJ3MsQExJQkVYRUNESVJALCR7bGliZXhlY2Rpcn0vJHtCUE59LGcnIFwKKwkJJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3NzaGQKKworCWluc3RhbGwgLUQgLW0gMDc1NSAke1dPUktESVJ9L3NzaGRfY2hlY2tfa2V5cyAke0R9JHtsaWJleGVjZGlyfS8ke0JQTn0vc3NoZF9jaGVja19rZXlzCit9CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworCXNlZCAtaSAtZSAic3xeU0ZUUFNFUlZFUj0uKnxTRlRQU0VSVkVSPSR7bGliZXhlY2Rpcn0vc2Z0cC1zZXJ2ZXJ8IiByZWdyZXNzL3Rlc3QtZXhlYy5zaAorCWNwIC1yIHJlZ3Jlc3MgJHtEfSR7UFRFU1RfUEFUSH0KK30KKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKKworUEFDS0FHRVMgPSsgIiR7UE59LWtleWdlbiAke1BOfS1zY3AgJHtQTn0tc3NoICR7UE59LXNzaGQgJHtQTn0tc2Z0cCAke1BOfS1taXNjICR7UE59LXNmdHAtc2VydmVyIgorRklMRVNfJHtQTn0tc2NwID0gIiR7YmluZGlyfS9zY3AuJHtCUE59IgorRklMRVNfJHtQTn0tc3NoID0gIiR7YmluZGlyfS9zc2guJHtCUE59ICR7c3lzY29uZmRpcn0vc3NoL3NzaF9jb25maWciCitGSUxFU18ke1BOfS1zc2hkID0gIiR7c2JpbmRpcn0vc3NoZCAke3N5c2NvbmZkaXJ9L2luaXQuZC9zc2hkICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0iCitGSUxFU18ke1BOfS1zc2hkICs9ICIke3N5c2NvbmZkaXJ9L3NzaC9tb2R1bGkgJHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWcgJHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWdfcmVhZG9ubHkgJHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy85OV9zc2hkICR7c3lzY29uZmRpcn0vcGFtLmQvc3NoZCIKK0ZJTEVTXyR7UE59LXNzaGQgKz0gIiR7bGliZXhlY2Rpcn0vJHtCUE59L3NzaGRfY2hlY2tfa2V5cyIKK0ZJTEVTXyR7UE59LXNmdHAgPSAiJHtiaW5kaXJ9L3NmdHAiCitGSUxFU18ke1BOfS1zZnRwLXNlcnZlciA9ICIke2xpYmV4ZWNkaXJ9L3NmdHAtc2VydmVyIgorRklMRVNfJHtQTn0tbWlzYyA9ICIke2JpbmRpcn0vc3NoKiAke2xpYmV4ZWNkaXJ9L3NzaCoiCitGSUxFU18ke1BOfS1rZXlnZW4gPSAiJHtiaW5kaXJ9L3NzaC1rZXlnZW4iCisKK1JERVBFTkRTXyR7UE59ICs9ICIke1BOfS1zY3AgJHtQTn0tc3NoICR7UE59LXNzaGQgJHtQTn0ta2V5Z2VuIgorUkRFUEVORFNfJHtQTn0tc3NoZCArPSAiJHtQTn0ta2V5Z2VuICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbS1wbHVnaW4ta2V5aW5pdCBwYW0tcGx1Z2luLWxvZ2ludWlkJywgJycsIGQpfSIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICIke1BOfS1zZnRwICR7UE59LW1pc2MgJHtQTn0tc2Z0cC1zZXJ2ZXIgbWFrZSIKKworUlBST1ZJREVTXyR7UE59LXNzaCA9ICJzc2giCitSUFJPVklERVNfJHtQTn0tc3NoZCA9ICJzc2hkIgorCitSQ09ORkxJQ1RTXyR7UE59ID0gImRyb3BiZWFyIgorUkNPTkZMSUNUU18ke1BOfS1zc2hkID0gImRyb3BiZWFyIgorCitDT05GRklMRVNfJHtQTn0tc3NoZCA9ICIke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZyIKK0NPTkZGSUxFU18ke1BOfS1zc2ggPSAiJHtzeXNjb25mZGlyfS9zc2gvc3NoX2NvbmZpZyIKKworQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiOTAiCitBTFRFUk5BVElWRV8ke1BOfS1zY3AgPSAic2NwIgorQUxURVJOQVRJVkVfJHtQTn0tc3NoID0gInNzaCIKKworQkJDTEFTU0VYVEVORCArPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC8wMDAxLWJ1aWxkaW5mby1zdHJpcC1zeXNyb290LWFuZC1kZWJ1Zy1wcmVmaXgtbWFwLWZyb20tY28ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsLzAwMDEtYnVpbGRpbmZvLXN0cmlwLXN5c3Jvb3QtYW5kLWRlYnVnLXByZWZpeC1tYXAtZnJvbS1jby5wYXRjaAppbmRleCA4MGI2MmFiLi45NDljNzg4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsLzAwMDEtYnVpbGRpbmZvLXN0cmlwLXN5c3Jvb3QtYW5kLWRlYnVnLXByZWZpeC1tYXAtZnJvbS1jby5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsLzAwMDEtYnVpbGRpbmZvLXN0cmlwLXN5c3Jvb3QtYW5kLWRlYnVnLXByZWZpeC1tYXAtZnJvbS1jby5wYXRjaApAQCAtMjAsNiArMjAsMTEgQEAKIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KIFNpZ25lZC1vZmYtYnk6IE1hcnRpbiBIdW5kZWLDuGxsIDxtYXJ0aW5AZ2Vhbml4LmNvbT4KKworCitVcGRhdGUgdG8gZml4IGJ1aWxkcGF0aHMgcWEgaXNzdWUgZm9yICctZm1hY3JvLXByZWZpeC1tYXAnLgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIC0tLQogIENvbmZpZ3VyYXRpb25zL3VuaXgtTWFrZWZpbGUudG1wbCB8IDEwICsrKysrKysrKy0KICBjcnlwdG8vYnVpbGQuaW5mbyAgICAgICAgICAgICAgICAgfCAgMiArLQpAQCAtMjksNyArMzQsNyBAQAogaW5kZXggMTZhZjRkMjA4Ny4uNTRjMTYyNzg0YyAxMDA2NDQKIC0tLSBhL0NvbmZpZ3VyYXRpb25zL3VuaXgtTWFrZWZpbGUudG1wbAogKysrIGIvQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmlsZS50bXBsCi1AQCAtMzE3LDEzICszMTcsMjEgQEAgQklOX0xERkxBR1M9ey0gam9pbignICcsICR0YXJnZXR7YmluX2xmbGFnc30gfHwgKCksCitAQCAtMzE3LDEzICszMTcsMjIgQEAgQklOX0xERkxBR1M9ey0gam9pbignICcsICR0YXJnZXR7YmluX2xmbGFnc30gfHwgKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICckKENORl9MREZMQUdTKScsICckKExERkxBR1MpJykgLX0KICBCSU5fRVhfTElCUz0kKENORl9FWF9MSUJTKSAkKEVYX0xJQlMpCiAgCkBAIC00Myw2ICs0OCw3IEBACiAgCiArQ0ZMQUdTX1E9ey0gZm9yIChAeyRjb25maWd7Q0ZMQUdTfX0pIHsKICsgICAgICAgICAgICAgIHN8LWZkZWJ1Zy1wcmVmaXgtbWFwPVteIF0rfC1mZGVidWctcHJlZml4LW1hcD18ZzsKKysgICAgICAgICAgICAgIHN8LWZtYWNyby1wcmVmaXgtbWFwPVteIF0rfC1mbWFjcm8tcHJlZml4LW1hcD18ZzsKICsgICAgICAgICAgICB9CiArICAgICAgICAgICAgam9pbignICcsIEB7JGNvbmZpZ3tDRkxBR1N9fSkgLX0KICsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wvQ1ZFLTIwMTktMTU0My5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wvQ1ZFLTIwMTktMTU0My5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDBlZjk3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9DVkUtMjAxOS0xNTQzLnBhdGNoCkBAIC0wLDAgKzEsNjkgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29wZW5zc2wvY29tbWl0L2Y0MjY2MjViNmFlOWE3ODMxMDEwNzUwNDkwYTVmMGFkNjg5YzViYTNdCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIGY0MjY2MjViNmFlOWE3ODMxMDEwNzUwNDkwYTVmMGFkNjg5YzViYTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0IENhc3dlbGwgPG1hdHRAb3BlbnNzbC5vcmc+CitEYXRlOiBUdWUsIDUgTWFyIDIwMTkgMTQ6Mzk6MTUgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gUHJldmVudCBvdmVyIGxvbmcgbm9uY2VzIGluIENoYUNoYTIwLVBvbHkxMzA1CisKK0NoYUNoYTIwLVBvbHkxMzA1IGlzIGFuIEFFQUQgY2lwaGVyLCBhbmQgcmVxdWlyZXMgYSB1bmlxdWUgbm9uY2UgaW5wdXQgZm9yCitldmVyeSBlbmNyeXB0aW9uIG9wZXJhdGlvbi4gUkZDIDc1Mzkgc3BlY2lmaWVzIHRoYXQgdGhlIG5vbmNlIHZhbHVlIChJVikKK3Nob3VsZCBiZSA5NiBiaXRzICgxMiBieXRlcykuIE9wZW5TU0wgYWxsb3dzIGEgdmFyaWFibGUgbm9uY2UgbGVuZ3RoIGFuZAorZnJvbnQgcGFkcyB0aGUgbm9uY2Ugd2l0aCAwIGJ5dGVzIGlmIGl0IGlzIGxlc3MgdGhhbiAxMiBieXRlcy4gSG93ZXZlciBpdAorYWxzbyBpbmNvcnJlY3RseSBhbGxvd3MgYSBub25jZSB0byBiZSBzZXQgb2YgdXAgdG8gMTYgYnl0ZXMuIEluIHRoaXMgY2FzZQorb25seSB0aGUgbGFzdCAxMiBieXRlcyBhcmUgc2lnbmlmaWNhbnQgYW5kIGFueSBhZGRpdGlvbmFsIGxlYWRpbmcgYnl0ZXMgYXJlCitpZ25vcmVkLgorCitJdCBpcyBhIHJlcXVpcmVtZW50IG9mIHVzaW5nIHRoaXMgY2lwaGVyIHRoYXQgbm9uY2UgdmFsdWVzIGFyZSB1bmlxdWUuCitNZXNzYWdlcyBlbmNyeXB0ZWQgdXNpbmcgYSByZXVzZWQgbm9uY2UgdmFsdWUgYXJlIHN1c2NlcHRpYmxlIHRvIHNlcmlvdXMKK2NvbmZpZGVudGlhbGl0eSBhbmQgaW50ZWdyaXR5IGF0dGFja3MuIElmIGFuIGFwcGxpY2F0aW9uIGNoYW5nZXMgdGhlCitkZWZhdWx0IG5vbmNlIGxlbmd0aCB0byBiZSBsb25nZXIgdGhhbiAxMiBieXRlcyBhbmQgdGhlbiBtYWtlcyBhIGNoYW5nZSB0bwordGhlIGxlYWRpbmcgYnl0ZXMgb2YgdGhlIG5vbmNlIGV4cGVjdGluZyB0aGUgbmV3IHZhbHVlIHRvIGJlIGEgbmV3IHVuaXF1ZQorbm9uY2UgdGhlbiBzdWNoIGFuIGFwcGxpY2F0aW9uIGNvdWxkIGluYWR2ZXJ0ZW50bHkgZW5jcnlwdCBtZXNzYWdlcyB3aXRoIGEKK3JldXNlZCBub25jZS4KKworQWRkaXRpb25hbGx5IHRoZSBpZ25vcmVkIGJ5dGVzIGluIGEgbG9uZyBub25jZSBhcmUgbm90IGNvdmVyZWQgYnkgdGhlCitpbnRlZ3JpdHkgZ3VhcmFudGVlIG9mIHRoaXMgY2lwaGVyLiBBbnkgYXBwbGljYXRpb24gdGhhdCByZWxpZXMgb24gdGhlCitpbnRlZ3JpdHkgb2YgdGhlc2UgaWdub3JlZCBsZWFkaW5nIGJ5dGVzIG9mIGEgbG9uZyBub25jZSBtYXkgYmUgZnVydGhlcgorYWZmZWN0ZWQuCisKK0FueSBPcGVuU1NMIGludGVybmFsIHVzZSBvZiB0aGlzIGNpcGhlciwgaW5jbHVkaW5nIGluIFNTTC9UTFMsIGlzIHNhZmUKK2JlY2F1c2Ugbm8gc3VjaCB1c2Ugc2V0cyBzdWNoIGEgbG9uZyBub25jZSB2YWx1ZS4gSG93ZXZlciB1c2VyCithcHBsaWNhdGlvbnMgdGhhdCB1c2UgdGhpcyBjaXBoZXIgZGlyZWN0bHkgYW5kIHNldCBhIG5vbi1kZWZhdWx0IG5vbmNlCitsZW5ndGggdG8gYmUgbG9uZ2VyIHRoYW4gMTIgYnl0ZXMgbWF5IGJlIHZ1bG5lcmFibGUuCisKK0NWRTogQ1ZFLTIwMTktMTU0MworCitGaXhlcyAjODM0NQorCitSZXZpZXdlZC1ieTogUGF1bCBEYWxlIDxwYXVsLmRhbGVAb3JhY2xlLmNvbT4KK1Jldmlld2VkLWJ5OiBSaWNoYXJkIExldml0dGUgPGxldml0dGVAb3BlbnNzbC5vcmc+CisoTWVyZ2VkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL29wZW5zc2wvb3BlbnNzbC9wdWxsLzg0MDYpCisKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDJhM2QwZWU5ZDU5MTU2YzQ4OTczNTkyMzMxNDA0NDcxYWNhODg2ZDYpCistLS0KKyBjcnlwdG8vZXZwL2VfY2hhY2hhMjBfcG9seTEzMDUuYyB8IDQgKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NyeXB0by9ldnAvZV9jaGFjaGEyMF9wb2x5MTMwNS5jIGIvY3J5cHRvL2V2cC9lX2NoYWNoYTIwX3BvbHkxMzA1LmMKK2luZGV4IGMxOTE3YmI4NmE2Li5kM2UyYzYyMmExYiAxMDA2NDQKKy0tLSBhL2NyeXB0by9ldnAvZV9jaGFjaGEyMF9wb2x5MTMwNS5jCisrKysgYi9jcnlwdG8vZXZwL2VfY2hhY2hhMjBfcG9seTEzMDUuYworQEAgLTMwLDYgKzMwLDggQEAgdHlwZWRlZiBzdHJ1Y3QgeworIAorICNkZWZpbmUgZGF0YShjdHgpICAgKChFVlBfQ0hBQ0hBX0tFWSAqKShjdHgpLT5jaXBoZXJfZGF0YSkKKyAKKysjZGVmaW5lIENIQUNIQTIwX1BPTFkxMzA1X01BWF9JVkxFTiAgICAgMTIKKysKKyBzdGF0aWMgaW50IGNoYWNoYV9pbml0X2tleShFVlBfQ0lQSEVSX0NUWCAqY3R4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgdXNlcl9rZXlbQ0hBQ0hBX0tFWV9TSVpFXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyIGl2W0NIQUNIQV9DVFJfU0laRV0sIGludCBlbmMpCitAQCAtNTMzLDcgKzUzNSw3IEBAIHN0YXRpYyBpbnQgY2hhY2hhMjBfcG9seTEzMDVfY3RybChFVlBfQ0lQSEVSX0NUWCAqY3R4LCBpbnQgdHlwZSwgaW50IGFyZywKKyAgICAgICAgIHJldHVybiAxOworIAorICAgICBjYXNlIEVWUF9DVFJMX0FFQURfU0VUX0lWTEVOOgorLSAgICAgICAgaWYgKGFyZyA8PSAwIHx8IGFyZyA+IENIQUNIQV9DVFJfU0laRSkKKysgICAgICAgIGlmIChhcmcgPD0gMCB8fCBhcmcgPiBDSEFDSEEyMF9QT0xZMTMwNV9NQVhfSVZMRU4pCisgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICBhY3R4LT5ub25jZV9sZW4gPSBhcmc7CisgICAgICAgICByZXR1cm4gMTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wvYWZhbGcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsL2FmYWxnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjNGIwODQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsL2FmYWxnLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Rvbid0IHJlZnVzZSB0byBidWlsZCBhZmFsZ2VuZyBpZiBjcm9zcy1jb21waWxpbmcgb3IgdGhlIGhvc3Qga2VybmVsIGlzIHRvbyBvbGQuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtoaHR0cHM6Ly9naXRodWIuY29tL29wZW5zc2wvb3BlbnNzbC9wdWxsLzc2ODhdCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvQ29uZmlndXJlIGIvQ29uZmlndXJlCitpbmRleCAzYmFhOGNlLi45ZWY1MmVkIDEwMDc1NQorLS0tIGEvQ29uZmlndXJlCisrKysgYi9Db25maWd1cmUKK0BAIC0xNTUwLDIwICsxNTUwLDcgQEAgdW5sZXNzICgkZGlzYWJsZWR7ImNyeXB0by1tZGVidWctYmFja3RyYWNlIn0pCisgdW5sZXNzICgkZGlzYWJsZWR7YWZhbGdlbmd9KSB7CisgICAgICRjb25maWd7YWZhbGdlbmd9PSIiOworICAgICBpZiAoZ3JlcCB7ICRfIGVxICdhZmFsZ2VuZycgfSBAeyR0YXJnZXR7ZW5hYmxlfX0pIHsKKy0gICAgICAgIG15ICRtaW52ZXIgPSA0KjEwMDAwICsgMSoxMDAgKyAwOworLSAgICAgICAgaWYgKCRjb25maWd7Q1JPU1NfQ09NUElMRX0gZXEgIiIpIHsKKy0gICAgICAgICAgICBteSAkdmVyc3RyID0gYHVuYW1lIC1yYDsKKy0gICAgICAgICAgICBteSAoJG1hLCAkbWkxLCAkbWkyKSA9IHNwbGl0KCJcXC4iLCAkdmVyc3RyKTsKKy0gICAgICAgICAgICAoJG1pMikgPSAkbWkyID1+IC8oXGQrKS87CistICAgICAgICAgICAgbXkgJHZlciA9ICRtYSoxMDAwMCArICRtaTEqMTAwICsgJG1pMjsKKy0gICAgICAgICAgICBpZiAoJHZlciA8ICRtaW52ZXIpIHsKKy0gICAgICAgICAgICAgICAgJGRpc2FibGVke2FmYWxnZW5nfSA9ICJ0b28tb2xkLWtlcm5lbCI7CistICAgICAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgcHVzaCBAeyRjb25maWd7ZW5nZGlyc319LCAiYWZhbGciOworLSAgICAgICAgICAgIH0KKy0gICAgICAgIH0gZWxzZSB7CistICAgICAgICAgICAgJGRpc2FibGVke2FmYWxnZW5nfSA9ICJjcm9zcy1jb21waWxpbmciOworLSAgICAgICAgfQorKyAgICAgICAgcHVzaCBAeyRjb25maWd7ZW5nZGlyc319LCAiYWZhbGciOworICAgICB9IGVsc2UgeworICAgICAgICAgJGRpc2FibGVke2FmYWxnZW5nfSAgPSAibm90LWxpbnV4IjsKKyAgICAgfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9vcGVuc3NsLWNfcmVoYXNoLnNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9vcGVuc3NsLWNfcmVoYXNoLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NjIwZmRjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wvb3BlbnNzbC1jX3JlaGFzaC5zaAorKysgL2Rldi9udWxsCkBAIC0xLDIyMiArMCwwIEBACi0jIS9iaW4vc2gKLSMKLSMgQmVuIFNlY3Jlc3QgPGJsc2VjcmVzQGdtYWlsLmNvbT4KLSMKLSMgc2ggY19yZWhhc2ggc2NyaXB0LCBzY2FuIGFsbCBmaWxlcyBpbiBhIGRpcmVjdG9yeQotIyBhbmQgYWRkIHN5bWJvbGljIGxpbmtzIHRvIHRoZWlyIGhhc2ggdmFsdWVzLgotIwotIyBiYXNlZCBvbiB0aGUgY19yZWhhc2ggcGVybCBzY3JpcHQgZGlzdHJpYnV0ZWQgd2l0aCBvcGVuc3NsCi0jCi0jIExJQ0VOU0U6IFNlZSBPcGVuU1NMIGxpY2Vuc2UKLSMgXl5hY2NlcHRhYmxlP15eCi0jCi0KLSMgZGVmYXVsdCBjZXJ0aWZpY2F0ZSBsb2NhdGlvbgotRElSPS9ldGMvb3BlbnNzbAotCi0jIGZvciBmaWxldHlwZSBiaXRmaWVsZAotSVNfQ0VSVD0kKCggMSA8PCAwICkpCi1JU19DUkw9JCgoIDEgPDwgMSApKQotCi0KLSMgY2hlY2sgdG8gc2VlIGlmIGEgZmlsZSBpcyBhIGNlcnRpZmljYXRlIGZpbGUgb3IgYSBDUkwgZmlsZQotIyBhcmd1bWVudHM6Ci0jICAgICAgIDEuIHRoZSBmaWxlbmFtZSB0byBiZSBzY2FubmVkCi0jIHJldHVybnM6Ci0jICAgICAgIGJpdGZpZWxkIG9mIGZpbGUgdHlwZTsgdXNlcyAke0lTX0NFUlR9IGFuZCAke0lTX0NSTH0KLSMKLWNoZWNrX2ZpbGUoKQotewotICAgIGxvY2FsIElTX1RZUEU9MAotCi0gICAgIyBtYWtlIElGUyBhIG5ld2xpbmUgc28gd2UgY2FuIHByb2Nlc3MgZ3JlcCBvdXRwdXQgbGluZSBieSBsaW5lCi0gICAgbG9jYWwgT0xESUZTPSR7SUZTfQotICAgIElGUz0kKCBwcmludGYgIlxuIiApCi0KLSAgICAjIFhYWDogY291bGQgYmUgbW9yZSBlZmZpY2llbnQgdG8gaGF2ZSB0d28gJ2dyZXAgLW0nIGJ1dCBpcyAtbSBwb3J0YWJsZT8KLSAgICBmb3IgTElORSBpbiAkKCBncmVwICdeLS0tLS1CRUdJTiAuKi0tLS0tJyAkezF9ICkKLSAgICBkbwotCWlmIGVjaG8gJHtMSU5FfSBcCi0JICAgIHwgZ3JlcCAtcSAtRSAnXi0tLS0tQkVHSU4gKFg1MDkgfFRSVVNURUQgKT9DRVJUSUZJQ0FURS0tLS0tJwotCXRoZW4KLQkgICAgSVNfVFlQRT0kKCggJHtJU19UWVBFfSB8ICR7SVNfQ0VSVH0gKSkKLQotCSAgICBpZiBbICQoKCAke0lTX1RZUEV9ICYgJHtJU19DUkx9ICkpIC1uZSAwIF0KLQkgICAgdGhlbgotCSAgICAJYnJlYWsKLQkgICAgZmkKLQllbGlmIGVjaG8gJHtMSU5FfSB8IGdyZXAgLXEgJ14tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0nCi0JdGhlbgotCSAgICBJU19UWVBFPSQoKCAke0lTX1RZUEV9IHwgJHtJU19DUkx9ICkpCi0KLQkgICAgaWYgWyAkKCggJHtJU19UWVBFfSAmICR7SVNfQ0VSVH0gKSkgLW5lIDAgXQotCSAgICB0aGVuCi0JICAgIAlicmVhawotCSAgICBmaQotCWZpCi0gICAgZG9uZQotCi0gICAgIyByZXN0b3JlIElGUwotICAgIElGUz0ke09MRElGU30KLQotICAgIHJldHVybiAke0lTX1RZUEV9Ci19Ci0KLQotIwotIyB1c2Ugb3BlbnNzbCB0byBmaW5nZXJwcmludCBhIGZpbGUKLSMgICAgYXJndW1lbnRzOgotIwkxLiB0aGUgZmlsZW5hbWUgdG8gZmluZ2VycHJpbnQKLSMJMi4gdGhlIG1ldGhvZCB0byB1c2UgKHg1MDksIGNybCkKLSMgICAgcmV0dXJuczoKLSMJbm9uZQotIyAgICBhc3N1bXB0aW9uczoKLSMJdXNlciB3aWxsIGNhcHR1cmUgb3V0cHV0IGZyb20gbGFzdCBzdGFnZSBvZiBwaXBlbGluZQotIwotZmluZ2VycHJpbnQoKQotewotICAgICR7U1NMX0NNRH0gJHsyfSAtZmluZ2VycHJpbnQgLW5vb3V0IC1pbiAkezF9IHwgc2VkICdzL14uKj0vLycgfCB0ciAtZCAnOicKLX0KLQotCi0jCi0jIGxpbmtfaGFzaCAtIGNyZWF0ZSBsaW5rcyB0byBjZXJ0aWZpY2F0ZSBmaWxlcwotIyAgICBhcmd1bWVudHM6Ci0jICAgICAgIDEuIHRoZSBmaWxlbmFtZSB0byBjcmVhdGUgYSBsaW5rIGZvcgotIwkyLiB0aGUgdHlwZSBvZiBjZXJ0aWZpY2F0ZSBiZWluZyBsaW5rZWQgKHg1MDksIGNybCkKLSMgICAgcmV0dXJuczoKLSMJMCBvbiBzdWNjZXNzLCAxIG90aGVyd2lzZQotIwotbGlua19oYXNoKCkKLXsKLSAgICBsb2NhbCBGSU5HRVJQUklOVD0kKCBmaW5nZXJwcmludCAkezF9ICR7Mn0gKQotICAgIGxvY2FsIEhBU0g9JCggJHtTU0xfQ01EfSAkezJ9IC1oYXNoIC1ub291dCAtaW4gJHsxfSApCi0gICAgbG9jYWwgU1VGRklYPTAKLSAgICBsb2NhbCBMSU5LRklMRT0nJwotICAgIGxvY2FsIFRBRz0nJwotCi0gICAgaWYgWyAkezJ9ID0gImNybCIgXQotICAgIHRoZW4KLSAgICAJVEFHPSdyJwotICAgIGZpCi0KLSAgICBMSU5LRklMRT0ke0hBU0h9LiR7VEFHfSR7U1VGRklYfQotCi0gICAgd2hpbGUgWyAtZiAke0xJTktGSUxFfSBdCi0gICAgZG8KLQlpZiBbICR7RklOR0VSUFJJTlR9ID0gJCggZmluZ2VycHJpbnQgJHtMSU5LRklMRX0gJHsyfSApIF0KLQl0aGVuCi0JICAgIGVjaG8gIk5PVEU6IFNraXBwaW5nIGR1cGxpY2F0ZSBmaWxlICR7MX0iID4mMgotCSAgICByZXR1cm4gMQotCWZpCQotCi0JU1VGRklYPSQoKCAke1NVRkZJWH0gKyAxICkpCi0JTElOS0ZJTEU9JHtIQVNIfS4ke1RBR30ke1NVRkZJWH0KLSAgICBkb25lCi0KLSAgICBlY2hvICIkezN9ID0+ICR7TElOS0ZJTEV9IgotCi0gICAgIyBhc3N1bWUgYW55IHN5c3RlbSB3aXRoIGEgUE9TSVggc2hlbGwgd2lsbCBlaXRoZXIgc3VwcG9ydCBzeW1saW5rcyBvcgotICAgICMgZG8gc29tZXRoaW5nIHRvIGhhbmRsZSB0aGlzIGdyYWNlZnVsbHkKLSAgICBsbiAtcyAkezN9ICR7TElOS0ZJTEV9Ci0KLSAgICByZXR1cm4gMAotfQotCi0KLSMgaGFzaF9kaXIgY3JlYXRlIGhhc2ggbGlua3MgaW4gYSBnaXZlbiBkaXJlY3RvcnkKLWhhc2hfZGlyKCkKLXsKLSAgICBlY2hvICJEb2luZyAkezF9IgotCi0gICAgY2QgJHsxfQotCi0gICAgbHMgLTEgKiAyPi9kZXYvbnVsbCB8IHdoaWxlIHJlYWQgRklMRQotICAgIGRvCi0gICAgICAgIGlmIGVjaG8gJHtGSUxFfSB8IGdyZXAgLXEgLUUgJ15bWzp4ZGlnaXQ6XV17OH1cLnI/W1s6ZGlnaXQ6XV0rJCcgXAotCSAgICAJJiYgWyAtaCAiJHtGSUxFfSIgXQotICAgICAgICB0aGVuCi0gICAgICAgICAgICBybSAke0ZJTEV9Ci0gICAgICAgIGZpCi0gICAgZG9uZQotCi0gICAgbHMgLTEgKi5wZW0gKi5jZXIgKi5jcnQgKi5jcmwgMj4vZGV2L251bGwgfCB3aGlsZSByZWFkIEZJTEUKLSAgICBkbwotCVJFQUxfRklMRT0ke0ZJTEV9Ci0JIyBpZiB3ZSBydW4gb24gYnVpbGQgaG9zdCB0aGVuIGdldCB0byB0aGUgcmVhbCBmaWxlcyBpbiByb290ZnMKLQlpZiBbIC1uICIke1NZU1JPT1R9IiAtYSAtaCAke0ZJTEV9IF0KLQl0aGVuCi0JICAgIEZJTEU9JCggcmVhZGxpbmsgJHtGSUxFfSApCi0JICAgICMgY2hlY2sgdGhlIHN5bWxpbmsgaXMgYWJzb2x1dGUgKG9yIGRhbmdsaW5nIGluIG90aGVyIHdvcmQpCi0JICAgIGlmIFsgIngvIiA9ICJ4JCggZWNobyAke0ZJTEV9IHwgY3V0IC1jMSAtKSIgXQotCSAgICB0aGVuCi0JCVJFQUxfRklMRT0ke1NZU1JPT1R9LyR7RklMRX0KLQkgICAgZmkKLQlmaQotCi0JY2hlY2tfZmlsZSAke1JFQUxfRklMRX0KLSAgICAgICAgbG9jYWwgRklMRV9UWVBFPSR7P30KLQlsb2NhbCBUWVBFX1NUUj0nJwotCi0gICAgICAgIGlmIFsgJCgoICR7RklMRV9UWVBFfSAmICR7SVNfQ0VSVH0gKSkgLW5lIDAgXQotICAgICAgICB0aGVuCi0gICAgICAgICAgICBUWVBFX1NUUj0neDUwOScKLSAgICAgICAgZWxpZiBbICQoKCAke0ZJTEVfVFlQRX0gJiAke0lTX0NSTH0gKSkgLW5lIDAgXQotICAgICAgICB0aGVuCi0gICAgICAgICAgICBUWVBFX1NUUj0nY3JsJwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBlY2hvICJOT1RFOiAke0ZJTEV9IGRvZXMgbm90IGNvbnRhaW4gYSBjZXJ0aWZpY2F0ZSBvciBDUkw6IHNraXBwaW5nIiA+JjIKLQkgICAgY29udGludWUKLSAgICAgICAgZmkKLQotCWxpbmtfaGFzaCAke1JFQUxfRklMRX0gJHtUWVBFX1NUUn0gJHtGSUxFfQotICAgIGRvbmUKLX0KLQotCi0jIGNob29zZSB0aGUgbmFtZSBvZiBhbiBzc2wgYXBwbGljYXRpb24KLWlmIFsgLW4gIiR7T1BFTlNTTH0iIF0KLXRoZW4KLSAgICBTU0xfQ01EPSQod2hpY2ggJHtPUEVOU1NMfSAyPi9kZXYvbnVsbCkKLWVsc2UKLSAgICBTU0xfQ01EPS91c3IvYmluL29wZW5zc2wKLSAgICBPUEVOU1NMPSR7U1NMX0NNRH0KLSAgICBleHBvcnQgT1BFTlNTTAotZmkKLQotIyBmaXggcGF0aHMKLVBBVEg9JHtQQVRIfToke0RJUn0vYmluCi1leHBvcnQgUEFUSAotCi0jIGNvbmZpcm0gZXhpc3RhbmNlL2V4ZWN1dGFiaWxpdHkgb2Ygc3NsIGNvbW1hbmQKLWlmICEgWyAteCAke1NTTF9DTUR9IF0KLXRoZW4KLSAgICBlY2hvICIkezB9OiByZWhhc2hpbmcgc2tpcHBlZCAoJ29wZW5zc2wnIHByb2dyYW0gbm90IGF2YWlsYWJsZSkiID4mMgotICAgIGV4aXQgMAotZmkKLQotIyBkZXRlcm1pbmUgd2hpY2ggZGlyZWN0b3JpZXMgdG8gcHJvY2Vzcwotb2xkX0lGUz0kSUZTCi1pZiBbICR7I30gLWd0IDAgXQotdGhlbgotICAgIElGUz0nOicKLSAgICBESVJMSVNUPSR7Kn0KLWVsaWYgWyAtbiAiJHtTU0xfQ0VSVF9ESVJ9IiBdCi10aGVuCi0gICAgRElSTElTVD0kU1NMX0NFUlRfRElSCi1lbHNlCi0gICAgRElSTElTVD0ke0RJUn0vY2VydHMKLWZpCi0KLUlGUz0nOicKLQotIyBwcm9jZXNzIGRpcmVjdG9yaWVzCi1mb3IgQ0VSVF9ESVIgaW4gJHtESVJMSVNUfQotZG8KLSAgICBpZiBbIC1kICR7Q0VSVF9ESVJ9IC1hIC13ICR7Q0VSVF9ESVJ9IF0KLSAgICB0aGVuCi0gICAgICAgIElGUz0kb2xkX0lGUwotICAgICAgICBoYXNoX2RpciAke0NFUlRfRElSfQotICAgICAgICBJRlM9JzonCi0gICAgZmkKLWRvbmUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wvcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9ydW4tcHRlc3QKaW5kZXggMGE2MjBkZS4uM2ZiMjI0NyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9ydW4tcHRlc3QKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9ydW4tcHRlc3QKQEAgLTksNCArOSw0IEBACiAjIE9QRU5TU0xfRU5HSU5FUyBpcyByZWxhdGl2ZSBmcm9tIHRoZSB0ZXN0IGJpbmFyaWVzCiBleHBvcnQgT1BFTlNTTF9FTkdJTkVTPS4uL2VuZ2luZXMKIAotcGVybCAuL3Rlc3QvcnVuX3Rlc3RzLnBsICQqCitwZXJsIC4vdGVzdC9ydW5fdGVzdHMucGwgJCogfCBwZXJsIC0wcGUgJ3MjKC4qKSBcLioub2sjUEFTUzogXDEjZzsgcyMoLiopIFwuKi5za2lwcGVkOiAoLiopI1NLSVA6IFwxIChcMikjZzsgcyMoLiopIFwuKi5cbkR1YmlvdXMjRkFJTDogXDEjOycKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wxMF8xLjAuMnEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsMTBfMS4wLjJxLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NGFmMTAwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wxMF8xLjAuMnEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNjMgKzAsMCBAQAotU1VNTUFSWSA9ICJTZWN1cmUgU29ja2V0IExheWVyIgotREVTQ1JJUFRJT04gPSAiU2VjdXJlIFNvY2tldCBMYXllciAoU1NMKSBiaW5hcnkgYW5kIHJlbGF0ZWQgY3J5cHRvZ3JhcGhpYyB0b29scy4iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5zc2wub3JnLyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL3d3dy5vcGVuc3NsLm9yZy9uZXdzL3Z1bG5lcmFiaWxpdGllcy5odG1sIgotU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCi0KLSMgIm9wZW5zc2wgfCBTU0xlYXkiIGR1YWwgbGljZW5zZQotTElDRU5TRSA9ICJvcGVuc3NsIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZjQ3NTM2ODkyNDgyN2QwNmQ0YjQxNjExMWM4YmRiNzciCi0KLURFUEVORFMgPSAiaG9zdHBlcmwtcnVudGltZS1uYXRpdmUiCi1ERVBFTkRTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIG9wZW5zc2wtbmF0aXZlIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cub3BlbnNzbC5vcmcvc291cmNlL29wZW5zc2wtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9vcGVuc3NsLWNfcmVoYXNoLnNoIFwKLSAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS10YXJnZXRzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3NoYXJlZC1saWJzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL29lLWxkZmxhZ3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZW5naW5lcy1pbnN0YWxsLWluLWxpYmRpci1zc2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuMS4wLjIvYmxvY2tfZGlnaW5vdGFyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2RlYmlhbjEuMC4yL2Jsb2NrX2RpZ2ljZXJ0X21hbGF5c2lhLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2RlYmlhbi9jX3JlaGFzaC1jb21wYXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL2RlYmlhbi10YXJnZXRzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2RlYmlhbi9tYW4tZGlyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2RlYmlhbi9tYW4tc2VjdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vbm8tcnBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL25vLXN5bWJvbGljLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2RlYmlhbi9waWMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuMS4wLjIvdmVyc2lvbi1zY3JpcHQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuMS4wLjIvc29uYW1lLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL29wZW5zc2xfZml4X2Zvcl94MzIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vb3BlbnNzbC1maXgtZGVzLnBvZC1lcnJvci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZXMtcHRlc3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcHRlc3QtZGVwcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9wdGVzdF9tYWtlZmlsZV9kZXBzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS1tdXNsLXRhcmdldC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9wYXJhbGxlbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9Vc2UtU0hBMjU2LW5vdC1NRDUtYXMtZGVmYXVsdC1kaWdlc3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtYnVpbGQtd2l0aC1jbGFuZy11c2luZy1leHRlcm5hbC1hc3NlbWJsZXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1vcGVuc3NsLWZvcmNlLXNvZnQtbGluay10by1hdm9pZC1yYXJlLXJhY2UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1hbGxvdy1tYW5wYWdlcy10by1iZS1kaXNhYmxlZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1CTl9MTE9ORy1icmVha2FnZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1ERVNfTE9ORy1icmVha2FnZS5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBcCi0gICAgICAgICAgIGZpbGU6Ly9yZXByb2R1Y2libGUtY2ZsYWdzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3JlcHJvZHVjaWJsZS1ta2J1aWxkaW5mLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIFwKLSAgICAgICAgICAgZmlsZTovL2Vudmlyb25tZW50LmQtb3BlbnNzbC5zaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjc1NjNlMWNlMDQ2Y2IyMTk0OGVlYjZiYTFhMGViNzFjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU3NDRjZmNiY2VjMmIxYjQ4NjI5ZjczNTQyMDNiYzFlNWU5YjU0NjY5OThiYmNjYzViNWZjZGUzYjE4ZWI2ODQiCi0KLVMgPSAiJHtXT1JLRElSfS9vcGVuc3NsLSR7UFZ9IgotCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJvcGVuc3NsLSg/UDxwdmVyPjFcLjAuKylcLnRhciIKLQotaW5oZXJpdCBwa2djb25maWcgc2l0ZWluZm8gbXVsdGlsaWJfaGVhZGVyIHB0ZXN0IG1hbnBhZ2VzCi0KLVBBQ0tBR0VDT05GSUcgPz0gImNyeXB0b2Rldi1saW51eCIKLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gIiIKLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID0gIiIKLQotUEFDS0FHRUNPTkZJR1tjcnlwdG9kZXYtbGludXhdID0gIi1ESEFWRV9DUllQVE9ERVYgLURVU0VfQ1JZUFRPREVWX0RJR0VTVFMsLGNyeXB0b2Rldi1saW51eCIKLVBBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIiwsLCIKLVBBQ0tBR0VDT05GSUdbcGVybF0gPSAiLCwsIgotCi0jIFJlbW92ZSB0aGlzIHRvIGVuYWJsZSBTU0x2My4gU1NMdjMgaXMgZGVmYXVsdGVkIHRvIGRpc2FibGVkIGR1ZSB0byB0aGUgUE9PRExFCi0jIHZ1bG5lcmFiaWxpdHkKLUVYVFJBX09FQ09ORiA9ICJuby1zc2wzIgotCi1FWFRSQV9PRU1BS0UgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbWFucGFnZXMnLCAnJywgJ09FX0RJU0FCTEVfTUFOUEFHRVM9MScsIGQpfSIKLQotZXhwb3J0IE9FX0xERkxBR1MgPSAiJHtMREZMQUdTfSIKLQotIyBvcGVuc3NsIGZhaWxzIHdpdGggY2NhY2hlOiBodHRwczovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODEwCi1DQ0FDSEUgPSAiIgotCi1URVJNSU8gPz0gIi1EVEVSTUlPIgotVEVSTUlPX2xpYmMtbXVzbCA9ICItRFRFUk1JT1MiCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbF9wb3dlcnBjNjQgPSAiIG5vLWFzbSIKLQotQ0ZMQUcgPSAiJHtAb2UudXRpbHMuY29uZGl0aW9uYWwoJ1NJVEVJTkZPX0VORElBTk5FU1MnLCAnbGUnLCAnLURMX0VORElBTicsICctREJfRU5ESUFOJywgZCl9IFwKLSAgICAgICAgICR7VEVSTUlPfSAke0NGTEFHU30gLVdhbGwiCi0KLSMgQXZvaWQgYmluYXJpZXMgYmVpbmcgbWFya2VkIGFzIHJlcXVpcmluZyBhbiBleGVjdXRhYmxlIHN0YWNrIHNpbmNlIHRoZXkgZG9uJ3QKLSMgKGFuZCBpdCBjYXVzZXMgaXNzdWVzIHdpdGggU0VMaW51eCkKLUNGTEFHICs9ICItV2EsLS1ub2V4ZWNzdGFjayIKLQotQ0ZMQUdfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLWZQSUMiCi0KLWRvX2NvbmZpZ3VyZSAoKSB7Ci0JIyBUaGUgY3J5cHRvX3VzZV9iaWdpbnQgcGF0Y2ggbWVhbnMgdGhhdCBwZXJsJ3MgYmlnbnVtIG1vZHVsZSBuZWVkcyB0byBiZQotCSMgaW5zdGFsbGVkLCBidXQgc29tZSBkaXN0cmlidXRpb25zIChmb3IgZXhhbXBsZSBGZWRvcmEgMjMpIGRvbid0IHNoaXAgaXQgYnkKLQkjIGRlZmF1bHQuICBBcyB0aGUgcmVzdWx0aW5nIGVycm9yIGlzIHZlcnkgbWlzbGVhZGluZyBjaGVjayBmb3IgYmlnbnVtIGJlZm9yZQotCSMgYnVpbGRpbmcuCi0JaWYgISBwZXJsIC1NYmlnaW50IC1lIHRydWU7IHRoZW4KLQkJYmJmYXRhbCAiVGhlIHBlcmwgbW9kdWxlICdiaWdudW0nIHdhcyBub3QgZm91bmQgYnV0IHRoaXMgaXMgcmVxdWlyZWQgdG8gYnVpbGQgb3BlbnNzbC4gIFBsZWFzZSBpbnN0YWxsIHRoaXMgbW9kdWxlIChvZnRlbiBwYWNrYWdlZCBhcyBwZXJsLWJpZ251bSkgYW5kIHJlLXJ1biBiaXRiYWtlLiIKLQlmaQotCi0JbG4gLXNmIGFwcHMvb3BlbnNzbC5wb2QgY3J5cHRvL2NyeXB0by5wb2Qgc3NsL3NzbC5wb2QgZG9jLwotCi0Jb3M9JHtIT1NUX09TfQotCWNhc2UgJG9zIGluCi0JbGludXgtZ251ZWFiaSB8XAotCWxpbnV4LWdudXNwZSB8XAotCWxpbnV4LW11c2xlYWJpIHxcCi0JbGludXgtbXVzbHNwZSB8XAotCWxpbnV4LW11c2wgKQotCQlvcz1saW51eAotCQk7OwotCSopCi0JCTs7Ci0JZXNhYwotCXRhcmdldD0iJG9zLSR7SE9TVF9BUkNIfSIKLQljYXNlICR0YXJnZXQgaW4KLQlsaW51eC1hcm0pCi0JCXRhcmdldD1saW51eC1hcm12NAotCQk7OwotCWxpbnV4LWFybWViKQotCQl0YXJnZXQ9bGludXgtZWxmLWFybWViCi0JCTs7Ci0JbGludXgtYWFyY2g2NCopCi0JCXRhcmdldD1saW51eC1hYXJjaDY0Ci0JCTs7Ci0JbGludXgtc2gzKQotCQl0YXJnZXQ9ZGViaWFuLXNoMwotCQk7OwotCWxpbnV4LXNoNCkKLQkJdGFyZ2V0PWRlYmlhbi1zaDQKLQkJOzsKLQlsaW51eC1pNDg2KQotCQl0YXJnZXQ9ZGViaWFuLWkzODYtaTQ4NgotCQk7OwotCWxpbnV4LWk1ODYgfCBsaW51eC12aWFjMykKLQkJdGFyZ2V0PWRlYmlhbi1pMzg2LWk1ODYKLQkJOzsKLQlsaW51eC1pNjg2KQotCQl0YXJnZXQ9ZGViaWFuLWkzODYtaTY4Ni9jbW92Ci0JCTs7Ci0JbGludXgtZ251eDMyLXg4Nl82NCB8IGxpbnV4LW11c2x4MzIteDg2XzY0ICkKLQkJdGFyZ2V0PWxpbnV4LXgzMgotCQk7OwotCWxpbnV4LWdudTY0LXg4Nl82NCkKLQkJdGFyZ2V0PWxpbnV4LXg4Nl82NAotCQk7OwotCWxpbnV4LWdudW4zMi1taXBzKmVsKQotCQl0YXJnZXQ9ZGViaWFuLW1pcHNuMzJlbAotCQk7OwotCWxpbnV4LWdudW4zMi1taXBzKikKLQkJdGFyZ2V0PWRlYmlhbi1taXBzbjMyCi0JCTs7Ci0JbGludXgtbWlwcyo2NCplbCkKLQkJdGFyZ2V0PWRlYmlhbi1taXBzNjRlbAotCQk7OwotCWxpbnV4LW1pcHMqNjQqKQotCQl0YXJnZXQ9ZGViaWFuLW1pcHM2NAotCQk7OwotCWxpbnV4LW1pcHMqZWwpCi0JCXRhcmdldD1kZWJpYW4tbWlwc2VsCi0JCTs7Ci0JbGludXgtbWlwcyopCi0JCXRhcmdldD1kZWJpYW4tbWlwcwotCQk7OwotCWxpbnV4LW1pY3JvYmxhemUqIHwgbGludXgtbmlvczIqIHwgbGludXgtZ251KmlscDMyKiogfCBsaW51eC1hcmMqKQotCQl0YXJnZXQ9bGludXgtZ2VuZXJpYzMyCi0JCTs7Ci0JbGludXgtcG93ZXJwYykKLQkJdGFyZ2V0PWxpbnV4LXBwYwotCQk7OwotCWxpbnV4LXBvd2VycGM2NCkKLQkJdGFyZ2V0PWxpbnV4LXBwYzY0Ci0JCTs7Ci0JbGludXgtcmlzY3YzMikKLQkJdGFyZ2V0PWxpbnV4LWdlbmVyaWMzMgotCQk7OwotCWxpbnV4LXJpc2N2NjQpCi0JCXRhcmdldD1saW51eC1nZW5lcmljNjQKLQkJOzsKLQlsaW51eC1zcGFyYyB8IGxpbnV4LXN1cGVyc3BhcmMpCi0JCXRhcmdldD1saW51eC1zcGFyY3Y4Ci0JCTs7Ci0JZXNhYwotCi0JIyBpbmplY3QgbWFjaGluZS1zcGVjaWZpYyBmbGFncwotCXNlZCAtaSAtZSAic3xeXChcIiR0YXJnZXRcIixccypcIlteOl1cK1wpOlwoW146XVwrXCl8XDE6JHtDRkxBR318ZyIgQ29uZmlndXJlCi0KLQl1c2VwcmVmaXg9JHtwcmVmaXh9Ci0JaWYgWyAieCR1c2VwcmVmaXgiID0gIngiIF07IHRoZW4KLQkJdXNlcHJlZml4PS8KLQlmaQotCWxpYmRpcmxlYWY9IiQoIGVjaG8gIiR7bGliZGlyfSIgfCBzZWQgInM6XiR1c2VwcmVmaXgvKjo6IiApIgotCXBlcmwgLi9Db25maWd1cmUgJHtFWFRSQV9PRUNPTkZ9ICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30gc2hhcmVkIC0tcHJlZml4PSR1c2VwcmVmaXggLS1vcGVuc3NsZGlyPSR7bGliZGlyfS9zc2wgLS1saWJkaXI9JGxpYmRpcmxlYWYgJHRhcmdldAotfQotCi1kb19jb21waWxlICgpIHsKLQlvZV9ydW5tYWtlIGRlcGVuZAotCW9lX3J1bm1ha2UKLX0KLQotZG9fY29tcGlsZV9jbGFzcy10YXJnZXQgKCkgewotCXNlZCAtaSAncy9cKChPUEVOU1NMPVwpIi4qIi9cMSJvcGVuc3NsIi8nIE1ha2VmaWxlCi0Jb2VfcnVubWFrZSBkZXBlbmQKLQljY19zYW5pdGl6ZWQ9JChlY2hvICIke0NDfSAke0NGTEFHfSIgfCBzZWQgLWUgJ3MsLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSwsZycgLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgLWUgJ3MvWyBcdF1cKy8gL2cnKQotCW9lX3J1bm1ha2UgQ0NfSU5GTz0iJGNjX3Nhbml0aXplZCIKLX0KLQotZG9fY29tcGlsZV9wdGVzdCAoKSB7Ci0Jb2VfcnVubWFrZSBidWlsZHRlc3QKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0JIyBDcmVhdGUgJHtEfS8ke3ByZWZpeH0gdG8gZml4IHBhcmFsbGVsIGlzc3VlcwotCW1rZGlyIC1wICR7RH0vJHtwcmVmaXh9LwotCi0Jb2VfcnVubWFrZSBJTlNUQUxMX1BSRUZJWD0iJHtEfSIgTUFORElSPSIke21hbmRpcn0iIGluc3RhbGwKLQotCW9lX2xpYmluc3RhbGwgLXNvIGxpYmNyeXB0byAke0R9JHtsaWJkaXJ9Ci0Jb2VfbGliaW5zdGFsbCAtc28gbGlic3NsICR7RH0ke2xpYmRpcn0KLQotCWluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0KLQljcCAtLWRlcmVmZXJlbmNlIC1SIGluY2x1ZGUvb3BlbnNzbCAke0R9JHtpbmNsdWRlZGlyfQotCi0Jb2VfbXVsdGlsaWJfaGVhZGVyIG9wZW5zc2wvb3BlbnNzbGNvbmYuaAotCi0JaW5zdGFsbCAtRG0gMDc1NSAke1dPUktESVJ9L29wZW5zc2wtY19yZWhhc2guc2ggJHtEfSR7YmluZGlyfS9jX3JlaGFzaAotCXNlZCAtaSAtZSAncywvZXRjL29wZW5zc2wsJHtzeXNjb25mZGlyfS9zc2wsZycgJHtEfSR7YmluZGlyfS9jX3JlaGFzaAotCi0JaWYgWyAiJHtAYmIudXRpbHMuZmlsdGVyKCdQQUNLQUdFQ09ORklHJywgJ3BlcmwnLCBkKX0iIF07IHRoZW4KLQkJc2VkIC1pIC1lICcxcywuKiwjISR7YmluZGlyfS9lbnYgcGVybCwnICR7RH0ke2xpYmRpcn0vc3NsL21pc2MvQ0EucGwKLQkJc2VkIC1pIC1lICcxcywuKiwjISR7YmluZGlyfS9lbnYgcGVybCwnICR7RH0ke2xpYmRpcn0vc3NsL21pc2MvdHNnZXQKLQllbHNlCi0JCXJtIC1mICR7RH0ke2xpYmRpcn0vc3NsL21pc2MvQ0EucGwgJHtEfSR7bGliZGlyfS9zc2wvbWlzYy90c2dldAotCWZpCi0KLQkjIENyZWF0ZSBTU0wgc3RydWN0dXJlIGZvciBwYWNrYWdlcyBzdWNoIGFzIGNhLWNlcnRpZmljYXRlcyB3aGljaAotCSMgY29udGFpbiBoYXJkLWNvZGVkIHBhdGhzIHRvIC9ldGMvc3NsLiBEZWJpYW4gZG9lcyB0aGUgc2FtZS4KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3NzbAotCW12ICR7RH0ke2xpYmRpcn0vc3NsL2NlcnRzIFwKLQkgICAke0R9JHtsaWJkaXJ9L3NzbC9wcml2YXRlIFwKLQkgICAke0R9JHtsaWJkaXJ9L3NzbC9vcGVuc3NsLmNuZiBcCi0JICAgJHtEfSR7c3lzY29uZmRpcn0vc3NsLwotCi0JIyBBbHRob3VnaCBhYnNvbHV0ZSBzeW1saW5rcyB3b3VsZCBiZSBPSyBmb3IgdGhlIHRhcmdldCwgdGhleSBiZWNvbWUKLQkjIGludmFsaWQgaWYgbmF0aXZlIG9yIG5hdGl2ZXNkayBhcmUgcmVsb2NhdGVkIGZyb20gc3N0YXRlLgotCWxuIC1zZiAke0BvZS5wYXRoLnJlbGF0aXZlKCcke2xpYmRpcn0vc3NsJywgJyR7c3lzY29uZmRpcn0vc3NsL2NlcnRzJyl9ICR7RH0ke2xpYmRpcn0vc3NsL2NlcnRzCi0JbG4gLXNmICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7bGliZGlyfS9zc2wnLCAnJHtzeXNjb25mZGlyfS9zc2wvcHJpdmF0ZScpfSAke0R9JHtsaWJkaXJ9L3NzbC9wcml2YXRlCi0JbG4gLXNmICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7bGliZGlyfS9zc2wnLCAnJHtzeXNjb25mZGlyfS9zc2wvb3BlbnNzbC5jbmYnKX0gJHtEfSR7bGliZGlyfS9zc2wvb3BlbnNzbC5jbmYKLQotCSMgUmVuYW1lIG1hbiBwYWdlcyB0byBwcmVmaXggb3BlbnNzbDEwLSoKLQlmb3IgZiBpbiBgZmluZCAke0R9JHttYW5kaXJ9IC10eXBlIGZgOyBkbwotCSAgICBtdiAkZiAkKGRpcm5hbWUgJGYpL29wZW5zc2wxMC0kKGJhc2VuYW1lICRmKQotCWRvbmUKLQlmb3IgZiBpbiBgZmluZCAke0R9JHttYW5kaXJ9IC10eXBlIGxgOyBkbwotCSAgICBsbl9mPWByZWFkbGluayAkZmAKLQkgICAgcm0gLWYgJGYKLQkgICAgbG4gLXMgb3BlbnNzbDEwLSRsbl9mICQoZGlybmFtZSAkZikvb3BlbnNzbDEwLSQoYmFzZW5hbWUgJGYpCi0JZG9uZQotfQotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUgKCkgewotCWNyZWF0ZV93cmFwcGVyICR7RH0ke2JpbmRpcn0vb3BlbnNzbCBcCi0JICAgIE9QRU5TU0xfQ09ORj0ke2xpYmRpcn0vc3NsL29wZW5zc2wuY25mIFwKLQkgICAgU1NMX0NFUlRfRElSPSR7bGliZGlyfS9zc2wvY2VydHMgXAotCSAgICBTU0xfQ0VSVF9GSUxFPSR7bGliZGlyfS9zc2wvY2VydC5wZW0gXAotCSAgICBPUEVOU1NMX0VOR0lORVM9JHtsaWJkaXJ9L3NzbC9lbmdpbmVzCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayAoKSB7Ci0JbWtkaXIgLXAgJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZAotCWluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vZW52aXJvbm1lbnQuZC1vcGVuc3NsLnNoICR7RH0ke1NES1BBVEhOQVRJVkV9L2Vudmlyb25tZW50LXNldHVwLmQvb3BlbnNzbC5zaAotfQotCi1kb19pbnN0YWxsX3B0ZXN0ICgpIHsKLQljcCAtciAtTCBNYWtlZmlsZS5vcmcgTWFrZWZpbGUgdGVzdCAke0R9JHtQVEVTVF9QQVRIfQotCi0JIyBSZXBsYWNlIHRoZSBwYXRoIHRvIG5hdGl2ZSBwZXJsIHdpdGggdGhlIHBhdGggdG8gdGFyZ2V0IHBlcmwKLQlzZWQgLWkgJ3MsXlBFUkw9LiosUEVSTD0ke2JpbmRpcn0vcGVybCwnICR7RH0ke1BURVNUX1BBVEh9L01ha2VmaWxlCi0KLQljcCBDb25maWd1cmUgY29uZmlnIGVfb3MuaCAke0R9JHtQVEVTVF9QQVRIfQotCWNwIC1yIC1MIGluY2x1ZGUgJHtEfSR7UFRFU1RfUEFUSH0KLQlsbiAtc2YgJHtsaWJkaXJ9L2xpYmNyeXB0by5hICR7RH0ke1BURVNUX1BBVEh9Ci0JbG4gLXNmICR7bGliZGlyfS9saWJzc2wuYSAke0R9JHtQVEVTVF9QQVRIfQotCW1rZGlyIC1wICR7RH0ke1BURVNUX1BBVEh9L2NyeXB0bwotCWNwIGNyeXB0by9jb25zdGFudF90aW1lX2xvY2wuaCAke0R9JHtQVEVTVF9QQVRIfS9jcnlwdG8KLQljcCAtciBjZXJ0cyAke0R9JHtQVEVTVF9QQVRIfQotCW1rZGlyIC1wICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKLQlsbiAtc2YgJHtsaWJkaXJ9L3NzbC9taXNjL0NBLnNoICAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCi0JbG4gLXNmICR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKLQlsbiAtc2YgJHtiaW5kaXJ9L29wZW5zc2wgICAgICAgICAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCi0JY3AgYXBwcy9zZXJ2ZXIucGVtICAgICAgICAgICAgICAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCi0JY3AgYXBwcy9zZXJ2ZXIyLnBlbSAgICAgICAgICAgICAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCi0JbWtkaXIgLXAgJHtEfSR7UFRFU1RfUEFUSH0vdXRpbAotCWluc3RhbGwgdXRpbC9vcGVuc3Nsd3JhcC5zaCAgICAke0R9JHtQVEVTVF9QQVRIfS91dGlsCi0JaW5zdGFsbCB1dGlsL3NobGliX3dyYXAuc2ggICAgICR7RH0ke1BURVNUX1BBVEh9L3V0aWwKLQkjIFRpbWUgc3RhbXBzIGFyZSByZWxldmFudCBmb3IgIm1ha2UgYWxsdGVzdHMiLCBvdGhlcndpc2UKLQkjIG1ha2UgbWF5IHRyeSB0byByZWNvbXBpbGUgYmluYXJpZXMuIE5vdCBvbmx5IG11c3QgdGhlCi0JIyBiaW5hcnkgZmlsZXMgYmUgbmV3ZXIgdGhhbiB0aGUgc291cmNlcywgdGhleSBhbHNvIG11c3QKLQkjIGJlIG1vcmUgcmVjZW50IHRoYW4gdGhlIGhlYWRlciBmaWxlcyBpbiAvdXNyL2luY2x1ZGUuCi0JIwotCSMgVXNpbmcgImNwIC1hIiBpcyBub3Qgc3VmZmljaWVudCwgYmVjYXVzZSBkb19pbnN0YWxsCi0JIyBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgb3JpZ2luYWwgdGltZSBzdGFtcHMuCi0JIwotCSMgU28gaW5zdGVhZCBvZiB1c2luZyB0aGUgb3JpZ2luYWwgZmlsZSBzdGFtcHMsIHdlIHNldAotCSMgdGhlIGN1cnJlbnQgdGltZSBmb3IgYWxsIGZpbGVzLiBCaW5hcmllcyB3aWxsIGdldAotCSMgbW9kaWZpZWQgYWdhaW4gbGF0ZXIgd2hlbiBzdHJpcHBpbmcgdGhlbSwgYnV0IHRoYXQncyBva2F5LgotCXRvdWNoICR7RH0ke1BURVNUX1BBVEh9Ci0JZmluZCAke0R9JHtQVEVTVF9QQVRIfSAtdHlwZSBmIC1wcmludDAgfCB4YXJncyAtLXZlcmJvc2UgLTAgdG91Y2ggLXIgJHtEfSR7UFRFU1RfUEFUSH0KLQotCSMgZXhjbHVkZSBiaW5hcnkgZmlsZXMgb3IgdGhlIHBhY2thZ2Ugd29uJ3QgaW5zdGFsbAotCWZvciBkIGluIHNzbHRlc3Rfb2xkIHYzZXh0IHg1MDlhdXg7IGRvCi0JCXJtIC1yZiAke0R9JHtsaWJkaXJ9LyR7QlBOfS9wdGVzdC90ZXN0LyRkCi0JZG9uZQotCi0JIyBSZW1vdmUgYnVpbGQgaG9zdCByZWZlcmVuY2VzCi0Jc2VkIC1pIFwKLQktZSAncywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LCxnJyBcCi0JLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAotCSR7RH0ke1BURVNUX1BBVEh9L01ha2VmaWxlICR7RH0ke1BURVNUX1BBVEh9L0NvbmZpZ3VyZQotfQotCi0jIEFkZCB0aGUgb3BlbnNzbC5jbmYgZmlsZSB0byB0aGUgb3BlbnNzbC1jb25mIHBhY2thZ2UuIE1ha2UgdGhlIGxpYmNyeXB0bwotIyBwYWNrYWdlIFJSRUNPTU1FTkRTIG9uIHRoaXMgcGFja2FnZS4gVGhpcyB3aWxsIGVuYWJsZSB0aGUgY29uZmlndXJhdGlvbgotIyBmaWxlIHRvIGJlIGluc3RhbGxlZCBmb3IgYm90aCB0aGUgYmFzZSBvcGVuc3NsIHBhY2thZ2UgYW5kIHRoZSBsaWJjcnlwdG8KLSMgcGFja2FnZSBzaW5jZSB0aGUgYmFzZSBvcGVuc3NsIHBhY2thZ2UgZGVwZW5kcyBvbiB0aGUgbGliY3J5cHRvIHBhY2thZ2UuCi0KLVBBQ0tBR0VTID0rICJsaWJjcnlwdG8xMCBsaWJzc2wxMCBvcGVuc3NsMTAtY29uZiAke1BOfS1lbmdpbmVzICR7UE59LW1pc2MiCi0KLUZJTEVTX2xpYmNyeXB0bzEwID0gIiR7bGliZGlyfS9saWJjcnlwdG8ke1NPTElCU30iCi1GSUxFU19saWJzc2wxMCA9ICIke2xpYmRpcn0vbGlic3NsJHtTT0xJQlN9IgotRklMRVNfb3BlbnNzbDEwLWNvbmYgPSAiJHtzeXNjb25mZGlyfS9zc2wvb3BlbnNzbC5jbmYiCi1GSUxFU18ke1BOfS1lbmdpbmVzID0gIiR7bGliZGlyfS9zc2wvZW5naW5lcy8qLnNvICR7bGliZGlyfS9lbmdpbmVzIgotRklMRVNfJHtQTn0tbWlzYyA9ICIke2xpYmRpcn0vc3NsL21pc2MiCi1GSUxFU18ke1BOfSA9KyAiJHtsaWJkaXJ9L3NzbC8qIgotRklMRVNfJHtQTn1fYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgJHtTREtQQVRITkFUSVZFfS9lbnZpcm9ubWVudC1zZXR1cC5kL29wZW5zc2wuc2giCi0KLUNPTkZGSUxFU19vcGVuc3NsMTAtY29uZiA9ICIke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZiIKLQotUlJFQ09NTUVORFNfbGliY3J5cHRvMTAgKz0gIm9wZW5zc2wxMC1jb25mIgotUkRFUEVORFNfJHtQTn0tbWlzYyA9ICIke0BiYi51dGlscy5maWx0ZXIoJ1BBQ0tBR0VDT05GSUcnLCAncGVybCcsIGQpfSIKLVJERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICIke1BOfS1taXNjIG1ha2UgcGVybCBwZXJsLW1vZHVsZS1maWxlaGFuZGxlIGJjIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi1QQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gIm9wZW5zc2xfcGFja2FnZV9wcmVwcm9jZXNzIgotCi0jIG9wZW5zc2wgMS4wIGRldmVsb3BtZW50IGZpbGVzIGFuZCBleGVjdXRhYmxlIGJpbmFyaWVzIGNsYXNoIHdpdGggb3BlbnNzbCAxLjEKLSMgZmlsZXMgd2hlbiBpbnN0YWxsZWQgaW50byB0YXJnZXQgcm9vdGZzLiBTbyB3ZSBkb24ndCBwdXQgdGhlbSBpbnRvCi0jIHBhY2thZ2VzLCBidXQgdGhleSBjb250aW51ZSB0byBiZSBwcm92aWRlZCB2aWEgdGFyZ2V0IHN5c3Jvb3QgZm9yCi0jIGNyb3NzLWNvbXBpbGF0aW9uIG9uIHRoZSBob3N0LCBpZiBzb21lIHNvZnR3YXJlIHN0aWxsIGRlcGVuZHMgb24gb3BlbnNzbCAxLjAuCi1vcGVuc3NsX3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7Ci0gICAgICAgIGZvciBmaWxlIGluIGBmaW5kICR7UEtHRH0gLW5hbWUgKi5oIC1vIC1uYW1lICoucGMgLW8gLW5hbWUgKi5zb2A7IGRvCi0gICAgICAgICAgICAgICAgcm0gJGZpbGUKLSAgICAgICAgZG9uZQotICAgICAgICBybSAke1BLR0R9JHtiaW5kaXJ9L29wZW5zc2wKLSAgICAgICAgcm0gJHtQS0dEfSR7YmluZGlyfS9jX3JlaGFzaAotICAgICAgICBybWRpciAke1BLR0R9JHtiaW5kaXJ9Ci0KLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wxMF8xLjAuMnIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsMTBfMS4wLjJyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3ZGY0ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsMTBfMS4wLjJyLmJiCkBAIC0wLDAgKzEsMzYwIEBACitTVU1NQVJZID0gIlNlY3VyZSBTb2NrZXQgTGF5ZXIiCitERVNDUklQVElPTiA9ICJTZWN1cmUgU29ja2V0IExheWVyIChTU0wpIGJpbmFyeSBhbmQgcmVsYXRlZCBjcnlwdG9ncmFwaGljIHRvb2xzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNzbC5vcmcvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vd3d3Lm9wZW5zc2wub3JnL25ld3MvdnVsbmVyYWJpbGl0aWVzLmh0bWwiCitTRUNUSU9OID0gImxpYnMvbmV0d29yayIKKworIyAib3BlbnNzbCB8IFNTTGVheSIgZHVhbCBsaWNlbnNlCitMSUNFTlNFID0gIm9wZW5zc2wiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1mNDc1MzY4OTI0ODI3ZDA2ZDRiNDE2MTExYzhiZGI3NyIKKworREVQRU5EUyA9ICJob3N0cGVybC1ydW50aW1lLW5hdGl2ZSIKK0RFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgb3BlbnNzbC1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5vcGVuc3NsLm9yZy9zb3VyY2Uvb3BlbnNzbC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL29wZW5zc2wtY19yZWhhc2guc2ggXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLXRhcmdldHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2hhcmVkLWxpYnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vb2UtbGRmbGFncy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9lbmdpbmVzLWluc3RhbGwtaW4tbGliZGlyLXNzbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4xLjAuMi9ibG9ja19kaWdpbm90YXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGViaWFuMS4wLjIvYmxvY2tfZGlnaWNlcnRfbWFsYXlzaWEucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGViaWFuL2NfcmVoYXNoLWNvbXBhdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vZGViaWFuLXRhcmdldHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGViaWFuL21hbi1kaXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGViaWFuL21hbi1zZWN0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi9uby1ycGF0aC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vbm8tc3ltYm9saWMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGViaWFuL3BpYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4xLjAuMi92ZXJzaW9uLXNjcmlwdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4xLjAuMi9zb25hbWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vb3BlbnNzbF9maXhfZm9yX3gzMi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9vcGVuc3NsLWZpeC1kZXMucG9kLWVycm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL01ha2VmaWxlcy1wdGVzdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9wdGVzdC1kZXBzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3B0ZXN0X21ha2VmaWxlX2RlcHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLW11c2wtdGFyZ2V0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3BhcmFsbGVsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL1VzZS1TSEEyNTYtbm90LU1ENS1hcy1kZWZhdWx0LWRpZ2VzdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC13aXRoLWNsYW5nLXVzaW5nLWV4dGVybmFsLWFzc2VtYmxlci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9wZW5zc2wtZm9yY2Utc29mdC1saW5rLXRvLWF2b2lkLXJhcmUtcmFjZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWFsbG93LW1hbnBhZ2VzLXRvLWJlLWRpc2FibGVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LUJOX0xMT05HLWJyZWFrYWdlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LURFU19MT05HLWJyZWFrYWdlLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKKyAgICAgICAgICAgZmlsZTovL3JlcHJvZHVjaWJsZS1jZmxhZ3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVwcm9kdWNpYmxlLW1rYnVpbGRpbmYucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgXAorICAgICAgICAgICBmaWxlOi8vZW52aXJvbm1lbnQuZC1vcGVuc3NsLnNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMGQyYmFhZjA0YzU2ZDU0MmY2Y2M3NTdiOWMyYTJhYWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWU1MWQwOGJiYThhODM5NThlODk0OTQ2ZjE1MzAzZmY4OTRkNzVjMmI4YmJkNDRhODUyYjY0ZTNmZTExZDBkNiIKKworUyA9ICIke1dPUktESVJ9L29wZW5zc2wtJHtQVn0iCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIm9wZW5zc2wtKD9QPHB2ZXI+MVwuMC4rKVwudGFyIgorCitpbmhlcml0IHBrZ2NvbmZpZyBzaXRlaW5mbyBtdWx0aWxpYl9oZWFkZXIgcHRlc3QgbWFucGFnZXMKKworUEFDS0FHRUNPTkZJRyA/PSAiY3J5cHRvZGV2LWxpbnV4IgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiIgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmVzZGsgPSAiIgorCitQQUNLQUdFQ09ORklHW2NyeXB0b2Rldi1saW51eF0gPSAiLURIQVZFX0NSWVBUT0RFViAtRFVTRV9DUllQVE9ERVZfRElHRVNUUywsY3J5cHRvZGV2LWxpbnV4IgorUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLCwsIgorUEFDS0FHRUNPTkZJR1twZXJsXSA9ICIsLCwiCisKKyMgUmVtb3ZlIHRoaXMgdG8gZW5hYmxlIFNTTHYzLiBTU0x2MyBpcyBkZWZhdWx0ZWQgdG8gZGlzYWJsZWQgZHVlIHRvIHRoZSBQT09ETEUKKyMgdnVsbmVyYWJpbGl0eQorRVhUUkFfT0VDT05GID0gIm5vLXNzbDMiCisKK0VYVFJBX09FTUFLRSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdtYW5wYWdlcycsICcnLCAnT0VfRElTQUJMRV9NQU5QQUdFUz0xJywgZCl9IgorCitleHBvcnQgT0VfTERGTEFHUyA9ICIke0xERkxBR1N9IgorCitURVJNSU8gPz0gIi1EVEVSTUlPIgorVEVSTUlPX2xpYmMtbXVzbCA9ICItRFRFUk1JT1MiCitFWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbF9wb3dlcnBjNjQgPSAiIG5vLWFzbSIKKworQ0ZMQUcgPSAiJHtAb2UudXRpbHMuY29uZGl0aW9uYWwoJ1NJVEVJTkZPX0VORElBTk5FU1MnLCAnbGUnLCAnLURMX0VORElBTicsICctREJfRU5ESUFOJywgZCl9IFwKKyAgICAgICAgICR7VEVSTUlPfSAke0NGTEFHU30gLVdhbGwiCisKKyMgQXZvaWQgYmluYXJpZXMgYmVpbmcgbWFya2VkIGFzIHJlcXVpcmluZyBhbiBleGVjdXRhYmxlIHN0YWNrIHNpbmNlIHRoZXkgZG9uJ3QKKyMgKGFuZCBpdCBjYXVzZXMgaXNzdWVzIHdpdGggU0VMaW51eCkKK0NGTEFHICs9ICItV2EsLS1ub2V4ZWNzdGFjayIKKworQ0ZMQUdfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLWZQSUMiCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisJIyBUaGUgY3J5cHRvX3VzZV9iaWdpbnQgcGF0Y2ggbWVhbnMgdGhhdCBwZXJsJ3MgYmlnbnVtIG1vZHVsZSBuZWVkcyB0byBiZQorCSMgaW5zdGFsbGVkLCBidXQgc29tZSBkaXN0cmlidXRpb25zIChmb3IgZXhhbXBsZSBGZWRvcmEgMjMpIGRvbid0IHNoaXAgaXQgYnkKKwkjIGRlZmF1bHQuICBBcyB0aGUgcmVzdWx0aW5nIGVycm9yIGlzIHZlcnkgbWlzbGVhZGluZyBjaGVjayBmb3IgYmlnbnVtIGJlZm9yZQorCSMgYnVpbGRpbmcuCisJaWYgISBwZXJsIC1NYmlnaW50IC1lIHRydWU7IHRoZW4KKwkJYmJmYXRhbCAiVGhlIHBlcmwgbW9kdWxlICdiaWdudW0nIHdhcyBub3QgZm91bmQgYnV0IHRoaXMgaXMgcmVxdWlyZWQgdG8gYnVpbGQgb3BlbnNzbC4gIFBsZWFzZSBpbnN0YWxsIHRoaXMgbW9kdWxlIChvZnRlbiBwYWNrYWdlZCBhcyBwZXJsLWJpZ251bSkgYW5kIHJlLXJ1biBiaXRiYWtlLiIKKwlmaQorCisJbG4gLXNmIGFwcHMvb3BlbnNzbC5wb2QgY3J5cHRvL2NyeXB0by5wb2Qgc3NsL3NzbC5wb2QgZG9jLworCisJb3M9JHtIT1NUX09TfQorCWNhc2UgJG9zIGluCisJbGludXgtZ251ZWFiaSB8XAorCWxpbnV4LWdudXNwZSB8XAorCWxpbnV4LW11c2xlYWJpIHxcCisJbGludXgtbXVzbHNwZSB8XAorCWxpbnV4LW11c2wgKQorCQlvcz1saW51eAorCQk7OworCSopCisJCTs7CisJZXNhYworCXRhcmdldD0iJG9zLSR7SE9TVF9BUkNIfSIKKwljYXNlICR0YXJnZXQgaW4KKwlsaW51eC1hcm0pCisJCXRhcmdldD1saW51eC1hcm12NAorCQk7OworCWxpbnV4LWFybWViKQorCQl0YXJnZXQ9bGludXgtZWxmLWFybWViCisJCTs7CisJbGludXgtYWFyY2g2NCopCisJCXRhcmdldD1saW51eC1hYXJjaDY0CisJCTs7CisJbGludXgtc2gzKQorCQl0YXJnZXQ9ZGViaWFuLXNoMworCQk7OworCWxpbnV4LXNoNCkKKwkJdGFyZ2V0PWRlYmlhbi1zaDQKKwkJOzsKKwlsaW51eC1pNDg2KQorCQl0YXJnZXQ9ZGViaWFuLWkzODYtaTQ4NgorCQk7OworCWxpbnV4LWk1ODYgfCBsaW51eC12aWFjMykKKwkJdGFyZ2V0PWRlYmlhbi1pMzg2LWk1ODYKKwkJOzsKKwlsaW51eC1pNjg2KQorCQl0YXJnZXQ9ZGViaWFuLWkzODYtaTY4Ni9jbW92CisJCTs7CisJbGludXgtZ251eDMyLXg4Nl82NCB8IGxpbnV4LW11c2x4MzIteDg2XzY0ICkKKwkJdGFyZ2V0PWxpbnV4LXgzMgorCQk7OworCWxpbnV4LWdudTY0LXg4Nl82NCkKKwkJdGFyZ2V0PWxpbnV4LXg4Nl82NAorCQk7OworCWxpbnV4LWdudW4zMi1taXBzKmVsKQorCQl0YXJnZXQ9ZGViaWFuLW1pcHNuMzJlbAorCQk7OworCWxpbnV4LWdudW4zMi1taXBzKikKKwkJdGFyZ2V0PWRlYmlhbi1taXBzbjMyCisJCTs7CisJbGludXgtbWlwcyo2NCplbCkKKwkJdGFyZ2V0PWRlYmlhbi1taXBzNjRlbAorCQk7OworCWxpbnV4LW1pcHMqNjQqKQorCQl0YXJnZXQ9ZGViaWFuLW1pcHM2NAorCQk7OworCWxpbnV4LW1pcHMqZWwpCisJCXRhcmdldD1kZWJpYW4tbWlwc2VsCisJCTs7CisJbGludXgtbWlwcyopCisJCXRhcmdldD1kZWJpYW4tbWlwcworCQk7OworCWxpbnV4LW1pY3JvYmxhemUqIHwgbGludXgtbmlvczIqIHwgbGludXgtZ251KmlscDMyKiogfCBsaW51eC1hcmMqKQorCQl0YXJnZXQ9bGludXgtZ2VuZXJpYzMyCisJCTs7CisJbGludXgtcG93ZXJwYykKKwkJdGFyZ2V0PWxpbnV4LXBwYworCQk7OworCWxpbnV4LXBvd2VycGM2NCkKKwkJdGFyZ2V0PWxpbnV4LXBwYzY0CisJCTs7CisJbGludXgtcmlzY3YzMikKKwkJdGFyZ2V0PWxpbnV4LWdlbmVyaWMzMgorCQk7OworCWxpbnV4LXJpc2N2NjQpCisJCXRhcmdldD1saW51eC1nZW5lcmljNjQKKwkJOzsKKwlsaW51eC1zcGFyYyB8IGxpbnV4LXN1cGVyc3BhcmMpCisJCXRhcmdldD1saW51eC1zcGFyY3Y4CisJCTs7CisJZXNhYworCisJIyBpbmplY3QgbWFjaGluZS1zcGVjaWZpYyBmbGFncworCXNlZCAtaSAtZSAic3xeXChcIiR0YXJnZXRcIixccypcIlteOl1cK1wpOlwoW146XVwrXCl8XDE6JHtDRkxBR318ZyIgQ29uZmlndXJlCisKKwl1c2VwcmVmaXg9JHtwcmVmaXh9CisJaWYgWyAieCR1c2VwcmVmaXgiID0gIngiIF07IHRoZW4KKwkJdXNlcHJlZml4PS8KKwlmaQorCWxpYmRpcmxlYWY9IiQoIGVjaG8gIiR7bGliZGlyfSIgfCBzZWQgInM6XiR1c2VwcmVmaXgvKjo6IiApIgorCXBlcmwgLi9Db25maWd1cmUgJHtFWFRSQV9PRUNPTkZ9ICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30gc2hhcmVkIC0tcHJlZml4PSR1c2VwcmVmaXggLS1vcGVuc3NsZGlyPSR7bGliZGlyfS9zc2wgLS1saWJkaXI9JGxpYmRpcmxlYWYgJHRhcmdldAorfQorCitkb19jb21waWxlICgpIHsKKwlvZV9ydW5tYWtlIGRlcGVuZAorCW9lX3J1bm1ha2UKK30KKworZG9fY29tcGlsZV9jbGFzcy10YXJnZXQgKCkgeworCXNlZCAtaSAncy9cKChPUEVOU1NMPVwpIi4qIi9cMSJvcGVuc3NsIi8nIE1ha2VmaWxlCisJb2VfcnVubWFrZSBkZXBlbmQKKwljY19zYW5pdGl6ZWQ9JChlY2hvICIke0NDfSAke0NGTEFHfSIgfCBzZWQgLWUgJ3MsLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSwsZycgLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgLWUgJ3MvWyBcdF1cKy8gL2cnKQorCW9lX3J1bm1ha2UgQ0NfSU5GTz0iJGNjX3Nhbml0aXplZCIKK30KKworZG9fY29tcGlsZV9wdGVzdCAoKSB7CisJb2VfcnVubWFrZSBidWlsZHRlc3QKK30KKworZG9faW5zdGFsbCAoKSB7CisJIyBDcmVhdGUgJHtEfS8ke3ByZWZpeH0gdG8gZml4IHBhcmFsbGVsIGlzc3VlcworCW1rZGlyIC1wICR7RH0vJHtwcmVmaXh9LworCisJb2VfcnVubWFrZSBJTlNUQUxMX1BSRUZJWD0iJHtEfSIgTUFORElSPSIke21hbmRpcn0iIGluc3RhbGwKKworCW9lX2xpYmluc3RhbGwgLXNvIGxpYmNyeXB0byAke0R9JHtsaWJkaXJ9CisJb2VfbGliaW5zdGFsbCAtc28gbGlic3NsICR7RH0ke2xpYmRpcn0KKworCWluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0KKwljcCAtLWRlcmVmZXJlbmNlIC1SIGluY2x1ZGUvb3BlbnNzbCAke0R9JHtpbmNsdWRlZGlyfQorCisJb2VfbXVsdGlsaWJfaGVhZGVyIG9wZW5zc2wvb3BlbnNzbGNvbmYuaAorCisJaW5zdGFsbCAtRG0gMDc1NSAke1dPUktESVJ9L29wZW5zc2wtY19yZWhhc2guc2ggJHtEfSR7YmluZGlyfS9jX3JlaGFzaAorCXNlZCAtaSAtZSAncywvZXRjL29wZW5zc2wsJHtzeXNjb25mZGlyfS9zc2wsZycgJHtEfSR7YmluZGlyfS9jX3JlaGFzaAorCisJaWYgWyAiJHtAYmIudXRpbHMuZmlsdGVyKCdQQUNLQUdFQ09ORklHJywgJ3BlcmwnLCBkKX0iIF07IHRoZW4KKwkJc2VkIC1pIC1lICcxcywuKiwjISR7YmluZGlyfS9lbnYgcGVybCwnICR7RH0ke2xpYmRpcn0vc3NsL21pc2MvQ0EucGwKKwkJc2VkIC1pIC1lICcxcywuKiwjISR7YmluZGlyfS9lbnYgcGVybCwnICR7RH0ke2xpYmRpcn0vc3NsL21pc2MvdHNnZXQKKwllbHNlCisJCXJtIC1mICR7RH0ke2xpYmRpcn0vc3NsL21pc2MvQ0EucGwgJHtEfSR7bGliZGlyfS9zc2wvbWlzYy90c2dldAorCWZpCisKKwkjIENyZWF0ZSBTU0wgc3RydWN0dXJlIGZvciBwYWNrYWdlcyBzdWNoIGFzIGNhLWNlcnRpZmljYXRlcyB3aGljaAorCSMgY29udGFpbiBoYXJkLWNvZGVkIHBhdGhzIHRvIC9ldGMvc3NsLiBEZWJpYW4gZG9lcyB0aGUgc2FtZS4KKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3NzbAorCW12ICR7RH0ke2xpYmRpcn0vc3NsL2NlcnRzIFwKKwkgICAke0R9JHtsaWJkaXJ9L3NzbC9wcml2YXRlIFwKKwkgICAke0R9JHtsaWJkaXJ9L3NzbC9vcGVuc3NsLmNuZiBcCisJICAgJHtEfSR7c3lzY29uZmRpcn0vc3NsLworCisJIyBBbHRob3VnaCBhYnNvbHV0ZSBzeW1saW5rcyB3b3VsZCBiZSBPSyBmb3IgdGhlIHRhcmdldCwgdGhleSBiZWNvbWUKKwkjIGludmFsaWQgaWYgbmF0aXZlIG9yIG5hdGl2ZXNkayBhcmUgcmVsb2NhdGVkIGZyb20gc3N0YXRlLgorCWxuIC1zZiAke0BvZS5wYXRoLnJlbGF0aXZlKCcke2xpYmRpcn0vc3NsJywgJyR7c3lzY29uZmRpcn0vc3NsL2NlcnRzJyl9ICR7RH0ke2xpYmRpcn0vc3NsL2NlcnRzCisJbG4gLXNmICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7bGliZGlyfS9zc2wnLCAnJHtzeXNjb25mZGlyfS9zc2wvcHJpdmF0ZScpfSAke0R9JHtsaWJkaXJ9L3NzbC9wcml2YXRlCisJbG4gLXNmICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7bGliZGlyfS9zc2wnLCAnJHtzeXNjb25mZGlyfS9zc2wvb3BlbnNzbC5jbmYnKX0gJHtEfSR7bGliZGlyfS9zc2wvb3BlbnNzbC5jbmYKKworCSMgUmVuYW1lIG1hbiBwYWdlcyB0byBwcmVmaXggb3BlbnNzbDEwLSoKKwlmb3IgZiBpbiBgZmluZCAke0R9JHttYW5kaXJ9IC10eXBlIGZgOyBkbworCSAgICBtdiAkZiAkKGRpcm5hbWUgJGYpL29wZW5zc2wxMC0kKGJhc2VuYW1lICRmKQorCWRvbmUKKwlmb3IgZiBpbiBgZmluZCAke0R9JHttYW5kaXJ9IC10eXBlIGxgOyBkbworCSAgICBsbl9mPWByZWFkbGluayAkZmAKKwkgICAgcm0gLWYgJGYKKwkgICAgbG4gLXMgb3BlbnNzbDEwLSRsbl9mICQoZGlybmFtZSAkZikvb3BlbnNzbDEwLSQoYmFzZW5hbWUgJGYpCisJZG9uZQorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUgKCkgeworCWNyZWF0ZV93cmFwcGVyICR7RH0ke2JpbmRpcn0vb3BlbnNzbCBcCisJICAgIE9QRU5TU0xfQ09ORj0ke2xpYmRpcn0vc3NsL29wZW5zc2wuY25mIFwKKwkgICAgU1NMX0NFUlRfRElSPSR7bGliZGlyfS9zc2wvY2VydHMgXAorCSAgICBTU0xfQ0VSVF9GSUxFPSR7bGliZGlyfS9zc2wvY2VydC5wZW0gXAorCSAgICBPUEVOU1NMX0VOR0lORVM9JHtsaWJkaXJ9L3NzbC9lbmdpbmVzCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayAoKSB7CisJbWtkaXIgLXAgJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZAorCWluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vZW52aXJvbm1lbnQuZC1vcGVuc3NsLnNoICR7RH0ke1NES1BBVEhOQVRJVkV9L2Vudmlyb25tZW50LXNldHVwLmQvb3BlbnNzbC5zaAorfQorCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKwljcCAtciAtTCBNYWtlZmlsZS5vcmcgTWFrZWZpbGUgdGVzdCAke0R9JHtQVEVTVF9QQVRIfQorCisJIyBSZXBsYWNlIHRoZSBwYXRoIHRvIG5hdGl2ZSBwZXJsIHdpdGggdGhlIHBhdGggdG8gdGFyZ2V0IHBlcmwKKwlzZWQgLWkgJ3MsXlBFUkw9LiosUEVSTD0ke2JpbmRpcn0vcGVybCwnICR7RH0ke1BURVNUX1BBVEh9L01ha2VmaWxlCisKKwljcCBDb25maWd1cmUgY29uZmlnIGVfb3MuaCAke0R9JHtQVEVTVF9QQVRIfQorCWNwIC1yIC1MIGluY2x1ZGUgJHtEfSR7UFRFU1RfUEFUSH0KKwlsbiAtc2YgJHtsaWJkaXJ9L2xpYmNyeXB0by5hICR7RH0ke1BURVNUX1BBVEh9CisJbG4gLXNmICR7bGliZGlyfS9saWJzc2wuYSAke0R9JHtQVEVTVF9QQVRIfQorCW1rZGlyIC1wICR7RH0ke1BURVNUX1BBVEh9L2NyeXB0bworCWNwIGNyeXB0by9jb25zdGFudF90aW1lX2xvY2wuaCAke0R9JHtQVEVTVF9QQVRIfS9jcnlwdG8KKwljcCAtciBjZXJ0cyAke0R9JHtQVEVTVF9QQVRIfQorCW1rZGlyIC1wICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKKwlsbiAtc2YgJHtsaWJkaXJ9L3NzbC9taXNjL0NBLnNoICAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCisJbG4gLXNmICR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKKwlsbiAtc2YgJHtiaW5kaXJ9L29wZW5zc2wgICAgICAgICAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCisJY3AgYXBwcy9zZXJ2ZXIucGVtICAgICAgICAgICAgICAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCisJY3AgYXBwcy9zZXJ2ZXIyLnBlbSAgICAgICAgICAgICAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCisJbWtkaXIgLXAgJHtEfSR7UFRFU1RfUEFUSH0vdXRpbAorCWluc3RhbGwgdXRpbC9vcGVuc3Nsd3JhcC5zaCAgICAke0R9JHtQVEVTVF9QQVRIfS91dGlsCisJaW5zdGFsbCB1dGlsL3NobGliX3dyYXAuc2ggICAgICR7RH0ke1BURVNUX1BBVEh9L3V0aWwKKwkjIFRpbWUgc3RhbXBzIGFyZSByZWxldmFudCBmb3IgIm1ha2UgYWxsdGVzdHMiLCBvdGhlcndpc2UKKwkjIG1ha2UgbWF5IHRyeSB0byByZWNvbXBpbGUgYmluYXJpZXMuIE5vdCBvbmx5IG11c3QgdGhlCisJIyBiaW5hcnkgZmlsZXMgYmUgbmV3ZXIgdGhhbiB0aGUgc291cmNlcywgdGhleSBhbHNvIG11c3QKKwkjIGJlIG1vcmUgcmVjZW50IHRoYW4gdGhlIGhlYWRlciBmaWxlcyBpbiAvdXNyL2luY2x1ZGUuCisJIworCSMgVXNpbmcgImNwIC1hIiBpcyBub3Qgc3VmZmljaWVudCwgYmVjYXVzZSBkb19pbnN0YWxsCisJIyBkb2VzIG5vdCBwcmVzZXJ2ZSB0aGUgb3JpZ2luYWwgdGltZSBzdGFtcHMuCisJIworCSMgU28gaW5zdGVhZCBvZiB1c2luZyB0aGUgb3JpZ2luYWwgZmlsZSBzdGFtcHMsIHdlIHNldAorCSMgdGhlIGN1cnJlbnQgdGltZSBmb3IgYWxsIGZpbGVzLiBCaW5hcmllcyB3aWxsIGdldAorCSMgbW9kaWZpZWQgYWdhaW4gbGF0ZXIgd2hlbiBzdHJpcHBpbmcgdGhlbSwgYnV0IHRoYXQncyBva2F5LgorCXRvdWNoICR7RH0ke1BURVNUX1BBVEh9CisJZmluZCAke0R9JHtQVEVTVF9QQVRIfSAtdHlwZSBmIC1wcmludDAgfCB4YXJncyAtLXZlcmJvc2UgLTAgdG91Y2ggLXIgJHtEfSR7UFRFU1RfUEFUSH0KKworCSMgZXhjbHVkZSBiaW5hcnkgZmlsZXMgb3IgdGhlIHBhY2thZ2Ugd29uJ3QgaW5zdGFsbAorCWZvciBkIGluIHNzbHRlc3Rfb2xkIHYzZXh0IHg1MDlhdXg7IGRvCisJCXJtIC1yZiAke0R9JHtsaWJkaXJ9LyR7QlBOfS9wdGVzdC90ZXN0LyRkCisJZG9uZQorCisJIyBSZW1vdmUgYnVpbGQgaG9zdCByZWZlcmVuY2VzCisJc2VkIC1pIFwKKwktZSAncywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LCxnJyBcCisJLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAorCSR7RH0ke1BURVNUX1BBVEh9L01ha2VmaWxlICR7RH0ke1BURVNUX1BBVEh9L0NvbmZpZ3VyZQorfQorCisjIEFkZCB0aGUgb3BlbnNzbC5jbmYgZmlsZSB0byB0aGUgb3BlbnNzbC1jb25mIHBhY2thZ2UuIE1ha2UgdGhlIGxpYmNyeXB0bworIyBwYWNrYWdlIFJSRUNPTU1FTkRTIG9uIHRoaXMgcGFja2FnZS4gVGhpcyB3aWxsIGVuYWJsZSB0aGUgY29uZmlndXJhdGlvbgorIyBmaWxlIHRvIGJlIGluc3RhbGxlZCBmb3IgYm90aCB0aGUgYmFzZSBvcGVuc3NsIHBhY2thZ2UgYW5kIHRoZSBsaWJjcnlwdG8KKyMgcGFja2FnZSBzaW5jZSB0aGUgYmFzZSBvcGVuc3NsIHBhY2thZ2UgZGVwZW5kcyBvbiB0aGUgbGliY3J5cHRvIHBhY2thZ2UuCisKK1BBQ0tBR0VTID0rICJsaWJjcnlwdG8xMCBsaWJzc2wxMCBvcGVuc3NsMTAtY29uZiAke1BOfS1lbmdpbmVzICR7UE59LW1pc2MiCisKK0ZJTEVTX2xpYmNyeXB0bzEwID0gIiR7bGliZGlyfS9saWJjcnlwdG8ke1NPTElCU30iCitGSUxFU19saWJzc2wxMCA9ICIke2xpYmRpcn0vbGlic3NsJHtTT0xJQlN9IgorRklMRVNfb3BlbnNzbDEwLWNvbmYgPSAiJHtzeXNjb25mZGlyfS9zc2wvb3BlbnNzbC5jbmYiCitGSUxFU18ke1BOfS1lbmdpbmVzID0gIiR7bGliZGlyfS9zc2wvZW5naW5lcy8qLnNvICR7bGliZGlyfS9lbmdpbmVzIgorRklMRVNfJHtQTn0tbWlzYyA9ICIke2xpYmRpcn0vc3NsL21pc2MiCitGSUxFU18ke1BOfSA9KyAiJHtsaWJkaXJ9L3NzbC8qIgorRklMRVNfJHtQTn1fYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgJHtTREtQQVRITkFUSVZFfS9lbnZpcm9ubWVudC1zZXR1cC5kL29wZW5zc2wuc2giCisKK0NPTkZGSUxFU19vcGVuc3NsMTAtY29uZiA9ICIke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZiIKKworUlJFQ09NTUVORFNfbGliY3J5cHRvMTAgKz0gIm9wZW5zc2wxMC1jb25mIgorUkRFUEVORFNfJHtQTn0tbWlzYyA9ICIke0BiYi51dGlscy5maWx0ZXIoJ1BBQ0tBR0VDT05GSUcnLCAncGVybCcsIGQpfSIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICIke1BOfS1taXNjIG1ha2UgcGVybCBwZXJsLW1vZHVsZS1maWxlaGFuZGxlIGJjIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCitQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gIm9wZW5zc2xfcGFja2FnZV9wcmVwcm9jZXNzIgorCisjIG9wZW5zc2wgMS4wIGRldmVsb3BtZW50IGZpbGVzIGFuZCBleGVjdXRhYmxlIGJpbmFyaWVzIGNsYXNoIHdpdGggb3BlbnNzbCAxLjEKKyMgZmlsZXMgd2hlbiBpbnN0YWxsZWQgaW50byB0YXJnZXQgcm9vdGZzLiBTbyB3ZSBkb24ndCBwdXQgdGhlbSBpbnRvCisjIHBhY2thZ2VzLCBidXQgdGhleSBjb250aW51ZSB0byBiZSBwcm92aWRlZCB2aWEgdGFyZ2V0IHN5c3Jvb3QgZm9yCisjIGNyb3NzLWNvbXBpbGF0aW9uIG9uIHRoZSBob3N0LCBpZiBzb21lIHNvZnR3YXJlIHN0aWxsIGRlcGVuZHMgb24gb3BlbnNzbCAxLjAuCitvcGVuc3NsX3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7CisgICAgICAgIGZvciBmaWxlIGluIGBmaW5kICR7UEtHRH0gLW5hbWUgKi5oIC1vIC1uYW1lICoucGMgLW8gLW5hbWUgKi5zb2A7IGRvCisgICAgICAgICAgICAgICAgcm0gJGZpbGUKKyAgICAgICAgZG9uZQorICAgICAgICBybSAke1BLR0R9JHtiaW5kaXJ9L29wZW5zc2wKKyAgICAgICAgcm0gJHtQS0dEfSR7YmluZGlyfS9jX3JlaGFzaAorICAgICAgICBybWRpciAke1BLR0R9JHtiaW5kaXJ9CisKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2xfMS4xLjFhLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbF8xLjEuMWEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU5ZTlmYWMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbF8xLjEuMWEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMTAgKzAsMCBAQAotU1VNTUFSWSA9ICJTZWN1cmUgU29ja2V0IExheWVyIgotREVTQ1JJUFRJT04gPSAiU2VjdXJlIFNvY2tldCBMYXllciAoU1NMKSBiaW5hcnkgYW5kIHJlbGF0ZWQgY3J5cHRvZ3JhcGhpYyB0b29scy4iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5zc2wub3JnLyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL3d3dy5vcGVuc3NsLm9yZy9uZXdzL3Z1bG5lcmFiaWxpdGllcy5odG1sIgotU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCi0KLSMgIm9wZW5zc2wiIGhlcmUgYWN0dWFsbHkgbWVhbnMgYm90aCBPcGVuU1NMIGFuZCBTU0xlYXkgbGljZW5zZXMgYXBwbHkKLSMgKHNlZSBtZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9PcGVuU1NMIHRvIHdoaWNoICJvcGVuc3NsIiBpcyBTUERYTElDRU5TRU1BUHBlZCkKLUxJQ0VOU0UgPSAib3BlbnNzbCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWQ1N2Q1MTEwMzBjOWQ2NmVmNWY1OTY2YmVlNWE3ZWZmIgotCi1ERVBFTkRTID0gImhvc3RwZXJsLXJ1bnRpbWUtbmF0aXZlIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cub3BlbnNzbC5vcmcvc291cmNlL29wZW5zc2wtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9vcGVuc3NsLWNfcmVoYXNoLnNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc2tpcC10ZXN0X3N5bWJvbF9wcmVzZW5jZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWJ1aWxkaW5mby1zdHJpcC1zeXNyb290LWFuZC1kZWJ1Zy1wcmVmaXgtbWFwLWZyb20tY28ucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgXAotICAgICAgICAgICBmaWxlOi8vZW52aXJvbm1lbnQuZC1vcGVuc3NsLnNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOTYzZGViMjI3MmQ2YmU3ZDRjMjQ1OGFmZDI1MTdiNzMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmMyMDEzMGY4YjdjYmQyZmI5MThiMmYxNGUyZjQyOWUxMDljMzFkZGQwZmIzOGZjNWQ3MWQ5ZmZlZDNmOWY0MSIKLQotaW5oZXJpdCBsaWJfcGFja2FnZSBtdWx0aWxpYl9oZWFkZXIgcHRlc3QKLQotQiA9ICIke1dPUktESVJ9L2J1aWxkIgotZG9fY29uZmlndXJlW2NsZWFuZGlyc10gPSAiJHtCfSIKLQotI3wgLi9saWJjcnlwdG8uc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdldGNvbnRleHQnCi0jfCAuL2xpYmNyeXB0by5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc2V0Y29udGV4dCcKLSN8IC4vbGliY3J5cHRvLnNvOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBtYWtlY29udGV4dCcKLUVYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsID0gIiBuby1hc3luYyIKLUVYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsX3Bvd2VycGM2NCA9ICIgbm8tYXNtIgotCi0jIFRoaXMgcHJldmVudHMgb3BlbnNzbCBmcm9tIHVzaW5nIGdldHJhbmRvbSgpIHdoaWNoIGlzIG5vdCBhdmFpbGFibGUgb24gb2xkZXIgZ2xpYmMgdmVyc2lvbnMKLSMgKG5hdGl2ZSB2ZXJzaW9ucyBjYW4gYmUgYnVpbHQgd2l0aCBuZXdlciBnbGliYywgYnV0IHRoZW4gcmVsb2NhdGVkIG9udG8gYSBzeXN0ZW0gd2l0aCBvbGRlciBnbGliYykKLUVYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS13aXRoLXJhbmQtc2VlZD1kZXZyYW5kb20iCi1FWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlc2RrID0gIi0td2l0aC1yYW5kLXNlZWQ9ZGV2cmFuZG9tIgotCi0jIFJlbHlpbmcgb24gaGFyZGNvZGVkIGJ1aWx0LWluIHBhdGhzIGNhdXNlcyBvcGVuc3NsLW5hdGl2ZSB0byBub3QgYmUgcmVsb2NhdGVhYmxlIGZyb20gc3N0YXRlLgotQ0ZMQUdTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC1ET1BFTlNTTERJUj0vbm90L2J1aWx0aW4gLURFTkdJTkVTRElSPS9ub3QvYnVpbHRpbiIKLUNGTEFHU19hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAtRE9QRU5TU0xESVI9L25vdC9idWlsdGluIC1ERU5HSU5FU0RJUj0vbm90L2J1aWx0aW4iCi0KLWRvX2NvbmZpZ3VyZSAoKSB7Ci0Jb3M9JHtIT1NUX09TfQotCWNhc2UgJG9zIGluCi0JbGludXgtZ251ZWFiaSB8XAotCWxpbnV4LWdudXNwZSB8XAotCWxpbnV4LW11c2xlYWJpIHxcCi0JbGludXgtbXVzbHNwZSB8XAotCWxpbnV4LW11c2wgKQotCQlvcz1saW51eAotCQk7OwotCSopCi0JCTs7Ci0JZXNhYwotCXRhcmdldD0iJG9zLSR7SE9TVF9BUkNIfSIKLQljYXNlICR0YXJnZXQgaW4KLQlsaW51eC1hcm0qKQotCQl0YXJnZXQ9bGludXgtYXJtdjQKLQkJOzsKLQlsaW51eC1hYXJjaDY0KikKLQkJdGFyZ2V0PWxpbnV4LWFhcmNoNjQKLQkJOzsKLQlsaW51eC1pPzg2IHwgbGludXgtdmlhYzMpCi0JCXRhcmdldD1saW51eC14ODYKLQkJOzsKLQlsaW51eC1nbnV4MzIteDg2XzY0IHwgbGludXgtbXVzbHgzMi14ODZfNjQgKQotCQl0YXJnZXQ9bGludXgteDMyCi0JCTs7Ci0JbGludXgtZ251NjQteDg2XzY0KQotCQl0YXJnZXQ9bGludXgteDg2XzY0Ci0JCTs7Ci0JbGludXgtbWlwcyB8IGxpbnV4LW1pcHNlbCkKLQkJIyBzcGVjaWZ5aW5nIFRBUkdFVF9DQ19BUkNIIHByZXZlbnRzIG9wZW5zc2wgZnJvbSAoaW5jb3JyZWN0bHkpIGFkZGluZyB0YXJnZXQgYXJjaGl0ZWN0dXJlIGZsYWdzCi0JCXRhcmdldD0ibGludXgtbWlwczMyICR7VEFSR0VUX0NDX0FSQ0h9IgotCQk7OwotCWxpbnV4LWdudW4zMi1taXBzKikKLQkJdGFyZ2V0PWxpbnV4LW1pcHM2NAotCQk7OwotCWxpbnV4LSotbWlwczY0IHwgbGludXgtbWlwczY0IHwgbGludXgtKi1taXBzNjRlbCB8IGxpbnV4LW1pcHM2NGVsKQotCQl0YXJnZXQ9bGludXg2NC1taXBzNjQKLQkJOzsKLQlsaW51eC1taWNyb2JsYXplKiB8IGxpbnV4LW5pb3MyKiB8IGxpbnV4LXNoMyB8IGxpbnV4LXNoNCB8IGxpbnV4LWFyYyopCi0JCXRhcmdldD1saW51eC1nZW5lcmljMzIKLQkJOzsKLQlsaW51eC1wb3dlcnBjKQotCQl0YXJnZXQ9bGludXgtcHBjCi0JCTs7Ci0JbGludXgtcG93ZXJwYzY0KQotCQl0YXJnZXQ9bGludXgtcHBjNjQKLQkJOzsKLQlsaW51eC1yaXNjdjMyKQotCQl0YXJnZXQ9bGludXgtZ2VuZXJpYzMyCi0JCTs7Ci0JbGludXgtcmlzY3Y2NCkKLQkJdGFyZ2V0PWxpbnV4LWdlbmVyaWM2NAotCQk7OwotCWxpbnV4LXNwYXJjIHwgbGludXgtc3VwZXJzcGFyYykKLQkJdGFyZ2V0PWxpbnV4LXNwYXJjdjkKLQkJOzsKLQllc2FjCi0KLQl1c2VwcmVmaXg9JHtwcmVmaXh9Ci0JaWYgWyAieCR1c2VwcmVmaXgiID0gIngiIF07IHRoZW4KLQkJdXNlcHJlZml4PS8KLQlmaQotCSMgV0FSTklORzogZG8gbm90IHNldCBjb21waWxlci9saW5rZXIgZmxhZ3MgKC1JLy1EIGV0Yy4pIGluIEVYVFJBX09FQ09ORiwgYXMgdGhleSB3aWxsIGZ1bGx5IHJlcGxhY2UgdGhlCi0JIyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgc2V0IGJ5IGJpdGJha2UuIEFkanVzdCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluc3RlYWQuCi0JUEVSTDVMSUI9IiR7U30vZXh0ZXJuYWwvcGVybC9UZXh0LVRlbXBsYXRlLTEuNDYvbGliLyIgXAotCXBlcmwgJHtTfS9Db25maWd1cmUgJHtFWFRSQV9PRUNPTkZ9ICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30gLS1wcmVmaXg9JHVzZXByZWZpeCAtLW9wZW5zc2xkaXI9JHtsaWJkaXJ9L3NzbC0xLjEgLS1saWJkaXI9JHtsaWJkaXJ9ICR0YXJnZXQKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0Jb2VfcnVubWFrZSBERVNURElSPSIke0R9IiBNQU5ESVI9IiR7bWFuZGlyfSIgTUFOU1VGRklYPXNzbCBpbnN0YWxsCi0KLQlvZV9tdWx0aWxpYl9oZWFkZXIgb3BlbnNzbC9vcGVuc3NsY29uZi5oCi0KLQkjIENyZWF0ZSBTU0wgc3RydWN0dXJlIGZvciBwYWNrYWdlcyBzdWNoIGFzIGNhLWNlcnRpZmljYXRlcyB3aGljaAotCSMgY29udGFpbiBoYXJkLWNvZGVkIHBhdGhzIHRvIC9ldGMvc3NsLiBEZWJpYW4gZG9lcyB0aGUgc2FtZS4KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3NzbAotCW12ICR7RH0ke2xpYmRpcn0vc3NsLTEuMS9jZXJ0cyBcCi0JICAgJHtEfSR7bGliZGlyfS9zc2wtMS4xL3ByaXZhdGUgXAotCSAgICR7RH0ke2xpYmRpcn0vc3NsLTEuMS9vcGVuc3NsLmNuZiBcCi0JICAgJHtEfSR7c3lzY29uZmRpcn0vc3NsLwotCi0JIyBBbHRob3VnaCBhYnNvbHV0ZSBzeW1saW5rcyB3b3VsZCBiZSBPSyBmb3IgdGhlIHRhcmdldCwgdGhleSBiZWNvbWUKLQkjIGludmFsaWQgaWYgbmF0aXZlIG9yIG5hdGl2ZXNkayBhcmUgcmVsb2NhdGVkIGZyb20gc3N0YXRlLgotCWxuIC1zZiAke0BvZS5wYXRoLnJlbGF0aXZlKCcke2xpYmRpcn0vc3NsLTEuMScsICcke3N5c2NvbmZkaXJ9L3NzbC9jZXJ0cycpfSAke0R9JHtsaWJkaXJ9L3NzbC0xLjEvY2VydHMKLQlsbiAtc2YgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtsaWJkaXJ9L3NzbC0xLjEnLCAnJHtzeXNjb25mZGlyfS9zc2wvcHJpdmF0ZScpfSAke0R9JHtsaWJkaXJ9L3NzbC0xLjEvcHJpdmF0ZQotCWxuIC1zZiAke0BvZS5wYXRoLnJlbGF0aXZlKCcke2xpYmRpcn0vc3NsLTEuMScsICcke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZicpfSAke0R9JHtsaWJkaXJ9L3NzbC0xLjEvb3BlbnNzbC5jbmYKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlICgpIHsKLQljcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L29wZW5zc2wgXAotCSAgICBPUEVOU1NMX0NPTkY9JHtsaWJkaXJ9L3NzbC0xLjEvb3BlbnNzbC5jbmYgXAotCSAgICBTU0xfQ0VSVF9ESVI9JHtsaWJkaXJ9L3NzbC0xLjEvY2VydHMgXAotCSAgICBTU0xfQ0VSVF9GSUxFPSR7bGliZGlyfS9zc2wtMS4xL2NlcnQucGVtIFwKLQkgICAgT1BFTlNTTF9FTkdJTkVTPSR7bGliZGlyfS9zc2wtMS4xL2VuZ2luZXMKLQotCSMgSW5zdGFsbCBhIGN1c3RvbSB2ZXJzaW9uIG9mIGNfcmVoYXNoIHRoYXQgY2FuIGhhbmRsZSBzeXNyb290cyBwcm9wZXJseS4KLQkjIFRoaXMgdmVyc2lvbiBpcyB1c2VkIGZvciBleGFtcGxlIHdoZW4gaW5zdGFsbGluZyBjYS1jZXJ0aWZpY2F0ZXMgZHVyaW5nCi0JIyBpbWFnZSBjcmVhdGlvbi4KLQlpbnN0YWxsIC1EbSAwNzU1ICR7V09SS0RJUn0vb3BlbnNzbC1jX3JlaGFzaC5zaCAke0R9JHtiaW5kaXJ9L2NfcmVoYXNoCi0Jc2VkIC1pIC1lICdzLC9ldGMvb3BlbnNzbCwke3N5c2NvbmZkaXJ9L3NzbCxnJyAke0R9JHtiaW5kaXJ9L2NfcmVoYXNoCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayAoKSB7Ci0JbWtkaXIgLXAgJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZAotCWluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vZW52aXJvbm1lbnQuZC1vcGVuc3NsLnNoICR7RH0ke1NES1BBVEhOQVRJVkV9L2Vudmlyb25tZW50LXNldHVwLmQvb3BlbnNzbC5zaAotCXNlZCAnc3wvdXNyL2xpYi9zc2wvfC91c3IvbGliL3NzbC0xLjEvfGcnIC1pICR7RH0ke1NES1BBVEhOQVRJVkV9L2Vudmlyb25tZW50LXNldHVwLmQvb3BlbnNzbC5zaAotfQotCi1QVEVTVF9CVUlMRF9IT1NUX0ZJTEVTICs9ICJjb25maWdkYXRhLnBtIgotUFRFU1RfQlVJTERfSE9TVF9QQVRURVJOID0gInBlcmxfdmVyc2lvbiA9IgotZG9faW5zdGFsbF9wdGVzdCAoKSB7Ci0JIyBQcnVuZSB0aGUgYnVpbGQgdHJlZQotCXJtIC1mICR7Qn0vZnV6ei8qLiogJHtCfS90ZXN0LyouKgotCi0JY3AgJHtTfS9Db25maWd1cmUgJHtCfS9jb25maWdkYXRhLnBtICR7RH0ke1BURVNUX1BBVEh9Ci0JY3AgLXIgJHtTfS9leHRlcm5hbCAke0J9L3Rlc3QgJHtTfS90ZXN0ICR7Qn0vZnV6eiAke1N9L3V0aWwgJHtCfS91dGlsICR7RH0ke1BURVNUX1BBVEh9Ci0KLQkjIEZvciB0ZXN0X3NobGlibG9hZAotCWxuIC1zICR7bGliZGlyfS9saWJjcnlwdG8uc28uMS4xICR7RH0ke1BURVNUX1BBVEh9L2xpYmNyeXB0by5zbwotCWxuIC1zICR7bGliZGlyfS9saWJzc2wuc28uMS4xICR7RH0ke1BURVNUX1BBVEh9L2xpYnNzbC5zbwotCi0JaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCi0JbG4gLXMgJHtiaW5kaXJ9L29wZW5zc2wgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcwotCWluc3RhbGwgLW02NDQgJHtTfS9hcHBzLyoucGVtICR7U30vYXBwcy8qLnNybCAke1N9L2FwcHMvb3BlbnNzbC5jbmYgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcwotCWluc3RhbGwgLW03NTUgJHtCfS9hcHBzL0NBLnBsICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKLQotCWluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vZW5naW5lcwotCWluc3RhbGwgLW03NTUgJHtCfS9lbmdpbmVzL29zc2x0ZXN0LnNvICR7RH0ke1BURVNUX1BBVEh9L2VuZ2luZXMKLX0KLQotIyBBZGQgdGhlIG9wZW5zc2wuY25mIGZpbGUgdG8gdGhlIG9wZW5zc2wtY29uZiBwYWNrYWdlLiBNYWtlIHRoZSBsaWJjcnlwdG8KLSMgcGFja2FnZSBSUkVDT01NRU5EUyBvbiB0aGlzIHBhY2thZ2UuIFRoaXMgd2lsbCBlbmFibGUgdGhlIGNvbmZpZ3VyYXRpb24KLSMgZmlsZSB0byBiZSBpbnN0YWxsZWQgZm9yIGJvdGggdGhlIG9wZW5zc2wtYmluIHBhY2thZ2UgYW5kIHRoZSBsaWJjcnlwdG8KLSMgcGFja2FnZSBzaW5jZSB0aGUgb3BlbnNzbC1iaW4gcGFja2FnZSBkZXBlbmRzIG9uIHRoZSBsaWJjcnlwdG8gcGFja2FnZS4KLQotUEFDS0FHRVMgPSsgImxpYmNyeXB0byBsaWJzc2wgb3BlbnNzbC1jb25mICR7UE59LWVuZ2luZXMgJHtQTn0tbWlzYyIKLQotRklMRVNfbGliY3J5cHRvID0gIiR7bGliZGlyfS9saWJjcnlwdG8ke1NPTElCU30iCi1GSUxFU19saWJzc2wgPSAiJHtsaWJkaXJ9L2xpYnNzbCR7U09MSUJTfSIKLUZJTEVTX29wZW5zc2wtY29uZiA9ICIke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZiIKLUZJTEVTXyR7UE59LWVuZ2luZXMgPSAiJHtsaWJkaXJ9L2VuZ2luZXMtMS4xIgotRklMRVNfJHtQTn0tbWlzYyA9ICIke2xpYmRpcn0vc3NsLTEuMS9taXNjIgotRklMRVNfJHtQTn0gPSsgIiR7bGliZGlyfS9zc2wtMS4xLyoiCi1GSUxFU18ke1BOfV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAke1NES1BBVEhOQVRJVkV9L2Vudmlyb25tZW50LXNldHVwLmQvb3BlbnNzbC5zaCIKLQotQ09ORkZJTEVTX29wZW5zc2wtY29uZiA9ICIke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZiIKLQotUlJFQ09NTUVORFNfbGliY3J5cHRvICs9ICJvcGVuc3NsLWNvbmYiCi1SREVQRU5EU18ke1BOfS1iaW4gPSAicGVybCIKLVJERVBFTkRTXyR7UE59LW1pc2MgPSAicGVybCIKLVJERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJvcGVuc3NsLWJpbiBwZXJsIHBlcmwtbW9kdWxlcyBiYXNoIHB5dGhvbiIKLQotUlBST1ZJREVTX29wZW5zc2wtY29uZiA9ICJvcGVuc3NsMTAtY29uZiIKLVJSRVBMQUNFU19vcGVuc3NsLWNvbmYgPSAib3BlbnNzbDEwLWNvbmYiCi1SQ09ORkxJQ1RTX29wZW5zc2wtY29uZiA9ICJvcGVuc3NsMTAtY29uZiIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1pbmhlcml0IG11bHRpbGliX3NjcmlwdAotCi1NVUxUSUxJQl9TQ1JJUFRTID0gIiR7UE59LWJpbjoke2JpbmRpcn0vY19yZWhhc2giCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsXzEuMS4xYi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2xfMS4xLjFiLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzNDA0ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsXzEuMS4xYi5iYgpAQCAtMCwwICsxLDIwNiBAQAorU1VNTUFSWSA9ICJTZWN1cmUgU29ja2V0IExheWVyIgorREVTQ1JJUFRJT04gPSAiU2VjdXJlIFNvY2tldCBMYXllciAoU1NMKSBiaW5hcnkgYW5kIHJlbGF0ZWQgY3J5cHRvZ3JhcGhpYyB0b29scy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5zc2wub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL3d3dy5vcGVuc3NsLm9yZy9uZXdzL3Z1bG5lcmFiaWxpdGllcy5odG1sIgorU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCisKKyMgIm9wZW5zc2wiIGhlcmUgYWN0dWFsbHkgbWVhbnMgYm90aCBPcGVuU1NMIGFuZCBTU0xlYXkgbGljZW5zZXMgYXBwbHkKKyMgKHNlZSBtZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9PcGVuU1NMIHRvIHdoaWNoICJvcGVuc3NsIiBpcyBTUERYTElDRU5TRU1BUHBlZCkKK0xJQ0VOU0UgPSAib3BlbnNzbCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWQzNDNlNjJmYzljODMzNzEwYmJiZWQyNWYyNzM2NGM4IgorCitERVBFTkRTID0gImhvc3RwZXJsLXJ1bnRpbWUtbmF0aXZlIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cub3BlbnNzbC5vcmcvc291cmNlL29wZW5zc2wtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXNraXAtdGVzdF9zeW1ib2xfcHJlc2VuY2UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1idWlsZGluZm8tc3RyaXAtc3lzcm9vdC1hbmQtZGVidWctcHJlZml4LW1hcC1mcm9tLWNvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2FmYWxnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTE1NDMucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgXAorICAgICAgICAgICBmaWxlOi8vZW52aXJvbm1lbnQuZC1vcGVuc3NsLnNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDUzMjcxMmU3YmNjOTQxNGY1YmNlOTk1ZTRlMTM5MzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWM1NTdiMDIzMjMwNDEzZGZiMDc1NmYzMTM3YTEzZTZkNzI2ODM4Y2NkMTQzMDg4OGFkMTViZmIyYjQzZWE0YiIKKworaW5oZXJpdCBsaWJfcGFja2FnZSBtdWx0aWxpYl9oZWFkZXIgcHRlc3QKKworUEFDS0FHRUNPTkZJRyA/PSAiIgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiIgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmVzZGsgPSAiIgorCitQQUNLQUdFQ09ORklHW2NyeXB0b2Rldi1saW51eF0gPSAiZW5hYmxlLWRldmNyeXB0b2VuZyxkaXNhYmxlLWRldmNyeXB0b2VuZyxjcnlwdG9kZXYtbGludXgiCisKK0IgPSAiJHtXT1JLRElSfS9idWlsZCIKK2RvX2NvbmZpZ3VyZVtjbGVhbmRpcnNdID0gIiR7Qn0iCisKKyN8IC4vbGliY3J5cHRvLnNvOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBnZXRjb250ZXh0JworI3wgLi9saWJjcnlwdG8uc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHNldGNvbnRleHQnCisjfCAuL2xpYmNyeXB0by5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbWFrZWNvbnRleHQnCitFWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbCA9ICIgbm8tYXN5bmMiCitFWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbF9wb3dlcnBjNjQgPSAiIG5vLWFzbSIKKworIyBUaGlzIHByZXZlbnRzIG9wZW5zc2wgZnJvbSB1c2luZyBnZXRyYW5kb20oKSB3aGljaCBpcyBub3QgYXZhaWxhYmxlIG9uIG9sZGVyIGdsaWJjIHZlcnNpb25zCisjIChuYXRpdmUgdmVyc2lvbnMgY2FuIGJlIGJ1aWx0IHdpdGggbmV3ZXIgZ2xpYmMsIGJ1dCB0aGVuIHJlbG9jYXRlZCBvbnRvIGEgc3lzdGVtIHdpdGggb2xkZXIgZ2xpYmMpCitFWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlID0gIi0td2l0aC1yYW5kLXNlZWQ9ZGV2cmFuZG9tIgorRVhUUkFfT0VDT05GX2NsYXNzLW5hdGl2ZXNkayA9ICItLXdpdGgtcmFuZC1zZWVkPWRldnJhbmRvbSIKKworIyBSZWx5aW5nIG9uIGhhcmRjb2RlZCBidWlsdC1pbiBwYXRocyBjYXVzZXMgb3BlbnNzbC1uYXRpdmUgdG8gbm90IGJlIHJlbG9jYXRlYWJsZSBmcm9tIHNzdGF0ZS4KK0NGTEFHU19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtRE9QRU5TU0xESVI9L25vdC9idWlsdGluIC1ERU5HSU5FU0RJUj0vbm90L2J1aWx0aW4iCitDRkxBR1NfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgLURPUEVOU1NMRElSPS9ub3QvYnVpbHRpbiAtREVOR0lORVNESVI9L25vdC9idWlsdGluIgorCitkb19jb25maWd1cmUgKCkgeworCW9zPSR7SE9TVF9PU30KKwljYXNlICRvcyBpbgorCWxpbnV4LWdudWVhYmkgfFwKKwlsaW51eC1nbnVzcGUgfFwKKwlsaW51eC1tdXNsZWFiaSB8XAorCWxpbnV4LW11c2xzcGUgfFwKKwlsaW51eC1tdXNsICkKKwkJb3M9bGludXgKKwkJOzsKKwkqKQorCQk7OworCWVzYWMKKwl0YXJnZXQ9IiRvcy0ke0hPU1RfQVJDSH0iCisJY2FzZSAkdGFyZ2V0IGluCisJbGludXgtYXJtKikKKwkJdGFyZ2V0PWxpbnV4LWFybXY0CisJCTs7CisJbGludXgtYWFyY2g2NCopCisJCXRhcmdldD1saW51eC1hYXJjaDY0CisJCTs7CisJbGludXgtaT84NiB8IGxpbnV4LXZpYWMzKQorCQl0YXJnZXQ9bGludXgteDg2CisJCTs7CisJbGludXgtZ251eDMyLXg4Nl82NCB8IGxpbnV4LW11c2x4MzIteDg2XzY0ICkKKwkJdGFyZ2V0PWxpbnV4LXgzMgorCQk7OworCWxpbnV4LWdudTY0LXg4Nl82NCkKKwkJdGFyZ2V0PWxpbnV4LXg4Nl82NAorCQk7OworCWxpbnV4LW1pcHMgfCBsaW51eC1taXBzZWwpCisJCSMgc3BlY2lmeWluZyBUQVJHRVRfQ0NfQVJDSCBwcmV2ZW50cyBvcGVuc3NsIGZyb20gKGluY29ycmVjdGx5KSBhZGRpbmcgdGFyZ2V0IGFyY2hpdGVjdHVyZSBmbGFncworCQl0YXJnZXQ9ImxpbnV4LW1pcHMzMiAke1RBUkdFVF9DQ19BUkNIfSIKKwkJOzsKKwlsaW51eC1nbnVuMzItbWlwcyopCisJCXRhcmdldD1saW51eC1taXBzNjQKKwkJOzsKKwlsaW51eC0qLW1pcHM2NCB8IGxpbnV4LW1pcHM2NCB8IGxpbnV4LSotbWlwczY0ZWwgfCBsaW51eC1taXBzNjRlbCkKKwkJdGFyZ2V0PWxpbnV4NjQtbWlwczY0CisJCTs7CisJbGludXgtbWljcm9ibGF6ZSogfCBsaW51eC1uaW9zMiogfCBsaW51eC1zaDMgfCBsaW51eC1zaDQgfCBsaW51eC1hcmMqKQorCQl0YXJnZXQ9bGludXgtZ2VuZXJpYzMyCisJCTs7CisJbGludXgtcG93ZXJwYykKKwkJdGFyZ2V0PWxpbnV4LXBwYworCQk7OworCWxpbnV4LXBvd2VycGM2NCkKKwkJdGFyZ2V0PWxpbnV4LXBwYzY0CisJCTs7CisJbGludXgtcmlzY3YzMikKKwkJdGFyZ2V0PWxpbnV4LWdlbmVyaWMzMgorCQk7OworCWxpbnV4LXJpc2N2NjQpCisJCXRhcmdldD1saW51eC1nZW5lcmljNjQKKwkJOzsKKwlsaW51eC1zcGFyYyB8IGxpbnV4LXN1cGVyc3BhcmMpCisJCXRhcmdldD1saW51eC1zcGFyY3Y5CisJCTs7CisJZXNhYworCisJdXNlcHJlZml4PSR7cHJlZml4fQorCWlmIFsgIngkdXNlcHJlZml4IiA9ICJ4IiBdOyB0aGVuCisJCXVzZXByZWZpeD0vCisJZmkKKwkjIFdBUk5JTkc6IGRvIG5vdCBzZXQgY29tcGlsZXIvbGlua2VyIGZsYWdzICgtSS8tRCBldGMuKSBpbiBFWFRSQV9PRUNPTkYsIGFzIHRoZXkgd2lsbCBmdWxseSByZXBsYWNlIHRoZQorCSMgZW52aXJvbm1lbnQgdmFyaWFibGVzIHNldCBieSBiaXRiYWtlLiBBZGp1c3QgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyBpbnN0ZWFkLgorCVBFUkw1TElCPSIke1N9L2V4dGVybmFsL3BlcmwvVGV4dC1UZW1wbGF0ZS0xLjQ2L2xpYi8iIFwKKwlwZXJsICR7U30vQ29uZmlndXJlICR7RVhUUkFfT0VDT05GfSAke1BBQ0tBR0VDT05GSUdfQ09ORkFSR1N9IC0tcHJlZml4PSR1c2VwcmVmaXggLS1vcGVuc3NsZGlyPSR7bGliZGlyfS9zc2wtMS4xIC0tbGliZGlyPSR7bGliZGlyfSAkdGFyZ2V0CisJcGVybCAke0J9L2NvbmZpZ2RhdGEucG0gLS1kdW1wCit9CisKK2RvX2luc3RhbGwgKCkgeworCW9lX3J1bm1ha2UgREVTVERJUj0iJHtEfSIgTUFORElSPSIke21hbmRpcn0iIE1BTlNVRkZJWD1zc2wgaW5zdGFsbAorCisJb2VfbXVsdGlsaWJfaGVhZGVyIG9wZW5zc2wvb3BlbnNzbGNvbmYuaAorCisJIyBDcmVhdGUgU1NMIHN0cnVjdHVyZSBmb3IgcGFja2FnZXMgc3VjaCBhcyBjYS1jZXJ0aWZpY2F0ZXMgd2hpY2gKKwkjIGNvbnRhaW4gaGFyZC1jb2RlZCBwYXRocyB0byAvZXRjL3NzbC4gRGViaWFuIGRvZXMgdGhlIHNhbWUuCisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zc2wKKwltdiAke0R9JHtsaWJkaXJ9L3NzbC0xLjEvY2VydHMgXAorCSAgICR7RH0ke2xpYmRpcn0vc3NsLTEuMS9wcml2YXRlIFwKKwkgICAke0R9JHtsaWJkaXJ9L3NzbC0xLjEvb3BlbnNzbC5jbmYgXAorCSAgICR7RH0ke3N5c2NvbmZkaXJ9L3NzbC8KKworCSMgQWx0aG91Z2ggYWJzb2x1dGUgc3ltbGlua3Mgd291bGQgYmUgT0sgZm9yIHRoZSB0YXJnZXQsIHRoZXkgYmVjb21lCisJIyBpbnZhbGlkIGlmIG5hdGl2ZSBvciBuYXRpdmVzZGsgYXJlIHJlbG9jYXRlZCBmcm9tIHNzdGF0ZS4KKwlsbiAtc2YgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtsaWJkaXJ9L3NzbC0xLjEnLCAnJHtzeXNjb25mZGlyfS9zc2wvY2VydHMnKX0gJHtEfSR7bGliZGlyfS9zc2wtMS4xL2NlcnRzCisJbG4gLXNmICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7bGliZGlyfS9zc2wtMS4xJywgJyR7c3lzY29uZmRpcn0vc3NsL3ByaXZhdGUnKX0gJHtEfSR7bGliZGlyfS9zc2wtMS4xL3ByaXZhdGUKKwlsbiAtc2YgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtsaWJkaXJ9L3NzbC0xLjEnLCAnJHtzeXNjb25mZGlyfS9zc2wvb3BlbnNzbC5jbmYnKX0gJHtEfSR7bGliZGlyfS9zc2wtMS4xL29wZW5zc2wuY25mCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisJY3JlYXRlX3dyYXBwZXIgJHtEfSR7YmluZGlyfS9vcGVuc3NsIFwKKwkgICAgT1BFTlNTTF9DT05GPSR7bGliZGlyfS9zc2wtMS4xL29wZW5zc2wuY25mIFwKKwkgICAgU1NMX0NFUlRfRElSPSR7bGliZGlyfS9zc2wtMS4xL2NlcnRzIFwKKwkgICAgU1NMX0NFUlRfRklMRT0ke2xpYmRpcn0vc3NsLTEuMS9jZXJ0LnBlbSBcCisJICAgIE9QRU5TU0xfRU5HSU5FUz0ke2xpYmRpcn0vc3NsLTEuMS9lbmdpbmVzCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayAoKSB7CisJbWtkaXIgLXAgJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZAorCWluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vZW52aXJvbm1lbnQuZC1vcGVuc3NsLnNoICR7RH0ke1NES1BBVEhOQVRJVkV9L2Vudmlyb25tZW50LXNldHVwLmQvb3BlbnNzbC5zaAorCXNlZCAnc3wvdXNyL2xpYi9zc2wvfC91c3IvbGliL3NzbC0xLjEvfGcnIC1pICR7RH0ke1NES1BBVEhOQVRJVkV9L2Vudmlyb25tZW50LXNldHVwLmQvb3BlbnNzbC5zaAorfQorCitQVEVTVF9CVUlMRF9IT1NUX0ZJTEVTICs9ICJjb25maWdkYXRhLnBtIgorUFRFU1RfQlVJTERfSE9TVF9QQVRURVJOID0gInBlcmxfdmVyc2lvbiA9IgorZG9faW5zdGFsbF9wdGVzdCAoKSB7CisJIyBQcnVuZSB0aGUgYnVpbGQgdHJlZQorCXJtIC1mICR7Qn0vZnV6ei8qLiogJHtCfS90ZXN0LyouKgorCisJY3AgJHtTfS9Db25maWd1cmUgJHtCfS9jb25maWdkYXRhLnBtICR7RH0ke1BURVNUX1BBVEh9CisJY3AgLXIgJHtTfS9leHRlcm5hbCAke0J9L3Rlc3QgJHtTfS90ZXN0ICR7Qn0vZnV6eiAke1N9L3V0aWwgJHtCfS91dGlsICR7RH0ke1BURVNUX1BBVEh9CisKKwkjIEZvciB0ZXN0X3NobGlibG9hZAorCWxuIC1zICR7bGliZGlyfS9saWJjcnlwdG8uc28uMS4xICR7RH0ke1BURVNUX1BBVEh9L2xpYmNyeXB0by5zbworCWxuIC1zICR7bGliZGlyfS9saWJzc2wuc28uMS4xICR7RH0ke1BURVNUX1BBVEh9L2xpYnNzbC5zbworCisJaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCisJbG4gLXMgJHtiaW5kaXJ9L29wZW5zc2wgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcworCWluc3RhbGwgLW02NDQgJHtTfS9hcHBzLyoucGVtICR7U30vYXBwcy8qLnNybCAke1N9L2FwcHMvb3BlbnNzbC5jbmYgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcworCWluc3RhbGwgLW03NTUgJHtCfS9hcHBzL0NBLnBsICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKKworCWluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vZW5naW5lcworCWluc3RhbGwgLW03NTUgJHtCfS9lbmdpbmVzL29zc2x0ZXN0LnNvICR7RH0ke1BURVNUX1BBVEh9L2VuZ2luZXMKK30KKworIyBBZGQgdGhlIG9wZW5zc2wuY25mIGZpbGUgdG8gdGhlIG9wZW5zc2wtY29uZiBwYWNrYWdlLiBNYWtlIHRoZSBsaWJjcnlwdG8KKyMgcGFja2FnZSBSUkVDT01NRU5EUyBvbiB0aGlzIHBhY2thZ2UuIFRoaXMgd2lsbCBlbmFibGUgdGhlIGNvbmZpZ3VyYXRpb24KKyMgZmlsZSB0byBiZSBpbnN0YWxsZWQgZm9yIGJvdGggdGhlIG9wZW5zc2wtYmluIHBhY2thZ2UgYW5kIHRoZSBsaWJjcnlwdG8KKyMgcGFja2FnZSBzaW5jZSB0aGUgb3BlbnNzbC1iaW4gcGFja2FnZSBkZXBlbmRzIG9uIHRoZSBsaWJjcnlwdG8gcGFja2FnZS4KKworUEFDS0FHRVMgPSsgImxpYmNyeXB0byBsaWJzc2wgb3BlbnNzbC1jb25mICR7UE59LWVuZ2luZXMgJHtQTn0tbWlzYyIKKworRklMRVNfbGliY3J5cHRvID0gIiR7bGliZGlyfS9saWJjcnlwdG8ke1NPTElCU30iCitGSUxFU19saWJzc2wgPSAiJHtsaWJkaXJ9L2xpYnNzbCR7U09MSUJTfSIKK0ZJTEVTX29wZW5zc2wtY29uZiA9ICIke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZiIKK0ZJTEVTXyR7UE59LWVuZ2luZXMgPSAiJHtsaWJkaXJ9L2VuZ2luZXMtMS4xIgorRklMRVNfJHtQTn0tbWlzYyA9ICIke2xpYmRpcn0vc3NsLTEuMS9taXNjIgorRklMRVNfJHtQTn0gPSsgIiR7bGliZGlyfS9zc2wtMS4xLyoiCitGSUxFU18ke1BOfV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAke1NES1BBVEhOQVRJVkV9L2Vudmlyb25tZW50LXNldHVwLmQvb3BlbnNzbC5zaCIKKworQ09ORkZJTEVTX29wZW5zc2wtY29uZiA9ICIke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZiIKKworUlJFQ09NTUVORFNfbGliY3J5cHRvICs9ICJvcGVuc3NsLWNvbmYiCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAib3BlbnNzbC1iaW4gcGVybCBwZXJsLW1vZHVsZXMgYmFzaCIKKworUlBST1ZJREVTX29wZW5zc2wtY29uZiA9ICJvcGVuc3NsMTAtY29uZiIKK1JSRVBMQUNFU19vcGVuc3NsLWNvbmYgPSAib3BlbnNzbDEwLWNvbmYiCitSQ09ORkxJQ1RTX29wZW5zc2wtY29uZiA9ICJvcGVuc3NsMTAtY29uZiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50LzAwMDEtcmVwbGFjZS1zeXN0ZW1kLWluc3RhbGwtQWxpYXMtd2l0aC1XYW50ZWRCeS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC8wMDAxLXJlcGxhY2Utc3lzdGVtZC1pbnN0YWxsLUFsaWFzLXdpdGgtV2FudGVkQnkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ3NmNmMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC8wMDAxLXJlcGxhY2Utc3lzdGVtZC1pbnN0YWxsLUFsaWFzLXdpdGgtV2FudGVkQnkucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorRnJvbSA5NGM0MDE3MzNhNWEzZDI5NGNjNDEyNjcxMTY2ZTZhZGZiNDA5ZjUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9zaHVhIERlV2Vlc2UgPGpkZXdlZXNlQGhlbm55cGVubnkuY29tPgorRGF0ZTogV2VkLCAzMCBKYW4gMjAxOSAxNjoxOTo0NyAtMDUwMAorU3ViamVjdDogW1BBVENIXSByZXBsYWNlIHN5c3RlbWQgaW5zdGFsbCBBbGlhcyB3aXRoIFdhbnRlZEJ5CisKK0FjY29yZGluZyB0byB0aGUgc3lzdGVtZCBkb2N1bWVudGF0aW9uICJXYW50ZWRCeT1mb28uc2VydmljZSBpbiBhCitzZXJ2aWNlIGJhci5zZXJ2aWNlIGlzIG1vc3RseSBlcXVpdmFsZW50IHRvCitBbGlhcz1mb28uc2VydmljZS53YW50cy9iYXIuc2VydmljZSBpbiB0aGUgc2FtZSBmaWxlLiIgSG93ZXZlciwKK3RoaXMgaXMgbm90IHJlYWxseSB0aGUgaW50ZW5kZWQgcHVycG9zZSBvZiBpbnN0YWxsIEFsaWFzZXMuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtob3N0YXBAbGlzdHMuaW5mcmFkZWFkLm9yZ10KKworU2lnbmVkLW9mZi1ieTogSm9zaHVhIERlV2Vlc2UgPGpkZXdlZXNlQGhlbm55cGVubnkuY29tPgorLS0tCisgd3BhX3N1cHBsaWNhbnQvc3lzdGVtZC93cGFfc3VwcGxpY2FudC1ubDgwMjExLnNlcnZpY2UuYXJnLmluIHwgMiArLQorIHdwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQtd2lyZWQuc2VydmljZS5hcmcuaW4gICB8IDIgKy0KKyB3cGFfc3VwcGxpY2FudC9zeXN0ZW1kL3dwYV9zdXBwbGljYW50LnNlcnZpY2UuYXJnLmluICAgICAgICAgfCAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS93cGFfc3VwcGxpY2FudC9zeXN0ZW1kL3dwYV9zdXBwbGljYW50LW5sODAyMTEuc2VydmljZS5hcmcuaW4gYi93cGFfc3VwcGxpY2FudC9zeXN0ZW1kL3dwYV9zdXBwbGljYW50LW5sODAyMTEuc2VydmljZS5hcmcuaW4KK2luZGV4IDAzYWM1MDcuLmRhNjlhODcgMTAwNjQ0CistLS0gYS93cGFfc3VwcGxpY2FudC9zeXN0ZW1kL3dwYV9zdXBwbGljYW50LW5sODAyMTEuc2VydmljZS5hcmcuaW4KKysrKyBiL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQtbmw4MDIxMS5zZXJ2aWNlLmFyZy5pbgorQEAgLTEyLDQgKzEyLDQgQEAgVHlwZT1zaW1wbGUKKyBFeGVjU3RhcnQ9QEJJTkRJUkAvd3BhX3N1cHBsaWNhbnQgLWMvZXRjL3dwYV9zdXBwbGljYW50L3dwYV9zdXBwbGljYW50LW5sODAyMTEtJUkuY29uZiAtRG5sODAyMTEgLWklSQorIAorIFtJbnN0YWxsXQorLUFsaWFzPW11bHRpLXVzZXIudGFyZ2V0LndhbnRzL3dwYV9zdXBwbGljYW50LW5sODAyMTFAJWkuc2VydmljZQorK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CitkaWZmIC0tZ2l0IGEvd3BhX3N1cHBsaWNhbnQvc3lzdGVtZC93cGFfc3VwcGxpY2FudC13aXJlZC5zZXJ2aWNlLmFyZy5pbiBiL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQtd2lyZWQuc2VydmljZS5hcmcuaW4KK2luZGV4IGM4YTc0NGQuLmNhMzA1NGIgMTAwNjQ0CistLS0gYS93cGFfc3VwcGxpY2FudC9zeXN0ZW1kL3dwYV9zdXBwbGljYW50LXdpcmVkLnNlcnZpY2UuYXJnLmluCisrKysgYi93cGFfc3VwcGxpY2FudC9zeXN0ZW1kL3dwYV9zdXBwbGljYW50LXdpcmVkLnNlcnZpY2UuYXJnLmluCitAQCAtMTIsNCArMTIsNCBAQCBUeXBlPXNpbXBsZQorIEV4ZWNTdGFydD1AQklORElSQC93cGFfc3VwcGxpY2FudCAtYy9ldGMvd3BhX3N1cHBsaWNhbnQvd3BhX3N1cHBsaWNhbnQtd2lyZWQtJUkuY29uZiAtRHdpcmVkIC1pJUkKKyAKKyBbSW5zdGFsbF0KKy1BbGlhcz1tdWx0aS11c2VyLnRhcmdldC53YW50cy93cGFfc3VwcGxpY2FudC13aXJlZEAlaS5zZXJ2aWNlCisrV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKK2RpZmYgLS1naXQgYS93cGFfc3VwcGxpY2FudC9zeXN0ZW1kL3dwYV9zdXBwbGljYW50LnNlcnZpY2UuYXJnLmluIGIvd3BhX3N1cHBsaWNhbnQvc3lzdGVtZC93cGFfc3VwcGxpY2FudC5zZXJ2aWNlLmFyZy5pbgoraW5kZXggNzc4OGIzOC4uNTVkMmI5YyAxMDA2NDQKKy0tLSBhL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQuc2VydmljZS5hcmcuaW4KKysrKyBiL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQuc2VydmljZS5hcmcuaW4KK0BAIC0xMiw0ICsxMiw0IEBAIFR5cGU9c2ltcGxlCisgRXhlY1N0YXJ0PUBCSU5ESVJAL3dwYV9zdXBwbGljYW50IC1jL2V0Yy93cGFfc3VwcGxpY2FudC93cGFfc3VwcGxpY2FudC0lSS5jb25mIC1pJUkKKyAKKyBbSW5zdGFsbF0KKy1BbGlhcz1tdWx0aS11c2VyLnRhcmdldC53YW50cy93cGFfc3VwcGxpY2FudEAlaS5zZXJ2aWNlCisrV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlMS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ0ZDQ5ZTcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlMS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5MSArMCwwIEBACi1UaGUgV1BBMiBmb3VyLXdheSBoYW5kc2hha2UgcHJvdG9jb2wgaXMgdnVsbmVyYWJsZSB0byByZXBsYXkgYXR0YWNrcyB3aGljaCBjYW4KLXJlc3VsdCBpbiB1bmF1dGhlbnRpY2F0ZWQgY2xpZW50cyBnYWluaW5nIGFjY2VzcyB0byB0aGUgbmV0d29yay4KLQotQmFja3BvcnQgYSBudW1iZXIgb2YgcGF0Y2hlcyBmcm9tIHVwc3RyZWFtIHRvIGZpeCB0aGlzLgotCi1DVkU6IENWRS0yMDE3LTEzMDc3Ci1DVkU6IENWRS0yMDE3LTEzMDc4Ci1DVkU6IENWRS0yMDE3LTEzMDc5Ci1DVkU6IENWRS0yMDE3LTEzMDgwCi1DVkU6IENWRS0yMDE3LTEzMDgxCi1DVkU6IENWRS0yMDE3LTEzMDgyCi1DVkU6IENWRS0yMDE3LTEzMDg2Ci1DVkU6IENWRS0yMDE3LTEzMDg3Ci1DVkU6IENWRS0yMDE3LTEzMDg4Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLUZyb20gY2Y0Y2FiODA0YzdhZmQ1YzQ1NTA1NTI4YThkMTZlNDYxNjMyNDNhMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdGh5IFZhbmhvZWYgPE1hdGh5LlZhbmhvZWZAY3Mua3VsZXV2ZW4uYmU+Ci1EYXRlOiBGcmksIDE0IEp1bCAyMDE3IDE1OjE1OjM1ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS84XSBob3N0YXBkOiBBdm9pZCBrZXkgcmVpbnN0YWxsYXRpb24gaW4gRlQgaGFuZHNoYWtlCi0KLURvIG5vdCByZWluc3RhbGwgVEsgdG8gdGhlIGRyaXZlciBkdXJpbmcgUmVhc3NvY2lhdGlvbiBSZXNwb25zZSBmcmFtZQotcHJvY2Vzc2luZyBpZiB0aGUgZmlyc3QgYXR0ZW1wdCBvZiBzZXR0aW5nIHRoZSBUSyBzdWNjZWVkZWQuIFRoaXMgYXZvaWRzCi1pc3N1ZXMgcmVsYXRlZCB0byBjbGVhcmluZyB0aGUgVFgvUlggUE4gdGhhdCBjb3VsZCByZXN1bHQgaW4gcmV1c2luZwotc2FtZSBQTiB2YWx1ZXMgZm9yIHRyYW5zbWl0dGVkIGZyYW1lcyAoZS5nLiwgZHVlIHRvIENDTSBub25jZSByZXVzZSBhbmQKLWFsc28gaGl0dGluZyByZXBsYXkgcHJvdGVjdGlvbiBvbiB0aGUgcmVjZWl2ZXIpIGFuZCBhY2NlcHRpbmcgcmVwbGF5ZWQKLWZyYW1lcyBvbiBSWCBzaWRlLgotCi1UaGlzIGlzc3VlIHdhcyBpbnRyb2R1Y2VkIGJ5IHRoZSBjb21taXQKLTBlODRjMjU0MzRlNmExZjI4M2M3YjRlNjJlNDgzNzI5MDg1Yjc4ZDIgKCdGVDogRml4IFBUSyBjb25maWd1cmF0aW9uIGluCi1hdXRoZW50aWNhdG9yJykgd2hpY2ggYWxsb3dlZCB3cGFfZnRfaW5zdGFsbF9wdGsoKSB0byBiZSBjYWxsZWQgbXVsdGlwbGUKLXRpbWVzIHdpdGggdGhlIHNhbWUgUFRLLiBXaGlsZSB0aGUgc2Vjb25kIGNvbmZpZ3VyYXRpb24gYXR0ZW1wdCBpcwotbmVlZGVkIHdpdGggc29tZSBkcml2ZXJzLCBpdCBtdXN0IGJlIGRvbmUgb25seSBpZiB0aGUgZmlyc3QgYXR0ZW1wdAotZmFpbGVkLgotCi1TaWduZWQtb2ZmLWJ5OiBNYXRoeSBWYW5ob2VmIDxNYXRoeS5WYW5ob2VmQGNzLmt1bGV1dmVuLmJlPgotLS0tCi0gc3JjL2FwL2llZWU4MDJfMTEuYyAgfCAxNiArKysrKysrKysrKysrLS0tCi0gc3JjL2FwL3dwYV9hdXRoLmMgICAgfCAxMSArKysrKysrKysrKwotIHNyYy9hcC93cGFfYXV0aC5oICAgIHwgIDMgKystCi0gc3JjL2FwL3dwYV9hdXRoX2Z0LmMgfCAxMCArKysrKysrKysrCi0gc3JjL2FwL3dwYV9hdXRoX2kuaCAgfCAgMSArCi0gNSBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2FwL2llZWU4MDJfMTEuYyBiL3NyYy9hcC9pZWVlODAyXzExLmMKLWluZGV4IDRlMDQxNjkuLjMzMzAzNWYgMTAwNjQ0Ci0tLS0gYS9zcmMvYXAvaWVlZTgwMl8xMS5jCi0rKysgYi9zcmMvYXAvaWVlZTgwMl8xMS5jCi1AQCAtMTg0MSw2ICsxODQxLDcgQEAgc3RhdGljIGludCBhZGRfYXNzb2NpYXRlZF9zdGEoc3RydWN0IGhvc3RhcGRfZGF0YSAqaGFwZCwKLSB7Ci0gCXN0cnVjdCBpZWVlODAyMTFfaHRfY2FwYWJpbGl0aWVzIGh0X2NhcDsKLSAJc3RydWN0IGllZWU4MDIxMV92aHRfY2FwYWJpbGl0aWVzIHZodF9jYXA7Ci0rCWludCBzZXQgPSAxOwotIAotIAkvKgotIAkgKiBSZW1vdmUgdGhlIFNUQSBlbnRyeSB0byBlbnN1cmUgdGhlIFNUQSBQUyBzdGF0ZSBnZXRzIGNsZWFyZWQgYW5kCi1AQCAtMTg0OCw5ICsxODQ5LDE4IEBAIHN0YXRpYyBpbnQgYWRkX2Fzc29jaWF0ZWRfc3RhKHN0cnVjdCBob3N0YXBkX2RhdGEgKmhhcGQsCi0gCSAqIEZULW92ZXItdGhlLURTLCB3aGVyZSBhIHN0YXRpb24gcmUtYXNzb2NpYXRlcyBiYWNrIHRvIHRoZSBzYW1lIEFQIGJ1dAotIAkgKiBza2lwcyB0aGUgYXV0aGVudGljYXRpb24gZmxvdywgb3IgaWYgd29ya2luZyB3aXRoIGEgZHJpdmVyIHRoYXQKLSAJICogZG9lcyBub3Qgc3VwcG9ydCBmdWxsIEFQIGNsaWVudCBzdGF0ZS4KLSsJICoKLSsJICogU2tpcCB0aGlzIGlmIHRoZSBTVEEgaGFzIGFscmVhZHkgY29tcGxldGVkIEZUIHJlYXNzb2NpYXRpb24gYW5kIHRoZQotKwkgKiBUSyBoYXMgYmVlbiBjb25maWd1cmVkIHNpbmNlIHRoZSBUWC9SWCBQTiBtdXN0IG5vdCBiZSByZXNldCB0byAwIGZvcgotKwkgKiB0aGUgc2FtZSBrZXkuCi0gCSAqLwotLQlpZiAoIXN0YS0+YWRkZWRfdW5hc3NvYykKLSsJaWYgKCFzdGEtPmFkZGVkX3VuYXNzb2MgJiYKLSsJICAgICghKHN0YS0+ZmxhZ3MgJiBXTEFOX1NUQV9BVVRIT1JJWkVEKSB8fAotKwkgICAgICF3cGFfYXV0aF9zdGFfZnRfdGtfYWxyZWFkeV9zZXQoc3RhLT53cGFfc20pKSkgewotIAkJaG9zdGFwZF9kcnZfc3RhX3JlbW92ZShoYXBkLCBzdGEtPmFkZHIpOwotKwkJd3BhX2F1dGhfc21fZXZlbnQoc3RhLT53cGFfc20sIFdQQV9EUlZfU1RBX1JFTU9WRUQpOwotKwkJc2V0ID0gMDsKLSsJfQotIAotICNpZmRlZiBDT05GSUdfSUVFRTgwMjExTgotIAlpZiAoc3RhLT5mbGFncyAmIFdMQU5fU1RBX0hUKQotQEAgLTE4NzMsMTEgKzE4ODMsMTEgQEAgc3RhdGljIGludCBhZGRfYXNzb2NpYXRlZF9zdGEoc3RydWN0IGhvc3RhcGRfZGF0YSAqaGFwZCwKLSAJCQkgICAgc3RhLT5mbGFncyAmIFdMQU5fU1RBX1ZIVCA/ICZ2aHRfY2FwIDogTlVMTCwKLSAJCQkgICAgc3RhLT5mbGFncyB8IFdMQU5fU1RBX0FTU09DLCBzdGEtPnFvc2luZm8sCi0gCQkJICAgIHN0YS0+dmh0X29wbW9kZSwgc3RhLT5wMnBfaWUgPyAxIDogMCwKLS0JCQkgICAgc3RhLT5hZGRlZF91bmFzc29jKSkgewotKwkJCSAgICBzZXQpKSB7Ci0gCQlob3N0YXBkX2xvZ2dlcihoYXBkLCBzdGEtPmFkZHIsCi0gCQkJICAgICAgIEhPU1RBUERfTU9EVUxFX0lFRUU4MDIxMSwgSE9TVEFQRF9MRVZFTF9OT1RJQ0UsCi0gCQkJICAgICAgICJDb3VsZCBub3QgJXMgU1RBIHRvIGtlcm5lbCBkcml2ZXIiLAotLQkJCSAgICAgICBzdGEtPmFkZGVkX3VuYXNzb2MgPyAic2V0IiA6ICJhZGQiKTsKLSsJCQkgICAgICAgc2V0ID8gInNldCIgOiAiYWRkIik7Ci0gCi0gCQlpZiAoc3RhLT5hZGRlZF91bmFzc29jKSB7Ci0gCQkJaG9zdGFwZF9kcnZfc3RhX3JlbW92ZShoYXBkLCBzdGEtPmFkZHIpOwotZGlmZiAtLWdpdCBhL3NyYy9hcC93cGFfYXV0aC5jIGIvc3JjL2FwL3dwYV9hdXRoLmMKLWluZGV4IDM1ODcwODYuLjcwNzk3MWQgMTAwNjQ0Ci0tLS0gYS9zcmMvYXAvd3BhX2F1dGguYwotKysrIGIvc3JjL2FwL3dwYV9hdXRoLmMKLUBAIC0xNzQ1LDYgKzE3NDUsOSBAQCBpbnQgd3BhX2F1dGhfc21fZXZlbnQoc3RydWN0IHdwYV9zdGF0ZV9tYWNoaW5lICpzbSwgZW51bSB3cGFfZXZlbnQgZXZlbnQpCi0gI2Vsc2UgLyogQ09ORklHX0lFRUU4MDIxMVIgKi8KLSAJCWJyZWFrOwotICNlbmRpZiAvKiBDT05GSUdfSUVFRTgwMjExUiAqLwotKwljYXNlIFdQQV9EUlZfU1RBX1JFTU9WRUQ6Ci0rCQlzbS0+dGtfYWxyZWFkeV9zZXQgPSBGQUxTRTsKLSsJCXJldHVybiAwOwotIAl9Ci0gCi0gI2lmZGVmIENPTkZJR19JRUVFODAyMTFSCi1AQCAtMzI1MCw2ICszMjUzLDE0IEBAIGludCB3cGFfYXV0aF9zdGFfd3BhX3ZlcnNpb24oc3RydWN0IHdwYV9zdGF0ZV9tYWNoaW5lICpzbSkKLSB9Ci0gCi0gCi0raW50IHdwYV9hdXRoX3N0YV9mdF90a19hbHJlYWR5X3NldChzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtKQotK3sKLSsJaWYgKCFzbSB8fCAhd3BhX2tleV9tZ210X2Z0KHNtLT53cGFfa2V5X21nbXQpKQotKwkJcmV0dXJuIDA7Ci0rCXJldHVybiBzbS0+dGtfYWxyZWFkeV9zZXQ7Ci0rfQotKwotKwotIGludCB3cGFfYXV0aF9zdGFfY2xlYXJfcG1rc2Eoc3RydWN0IHdwYV9zdGF0ZV9tYWNoaW5lICpzbSwKLSAJCQkgICAgIHN0cnVjdCByc25fcG1rc2FfY2FjaGVfZW50cnkgKmVudHJ5KQotIHsKLWRpZmYgLS1naXQgYS9zcmMvYXAvd3BhX2F1dGguaCBiL3NyYy9hcC93cGFfYXV0aC5oCi1pbmRleCAwZGU4ZDk3Li45NzQ2MWIwIDEwMDY0NAotLS0tIGEvc3JjL2FwL3dwYV9hdXRoLmgKLSsrKyBiL3NyYy9hcC93cGFfYXV0aC5oCi1AQCAtMjY3LDcgKzI2Nyw3IEBAIHZvaWQgd3BhX3JlY2VpdmUoc3RydWN0IHdwYV9hdXRoZW50aWNhdG9yICp3cGFfYXV0aCwKLSAJCSB1OCAqZGF0YSwgc2l6ZV90IGRhdGFfbGVuKTsKLSBlbnVtIHdwYV9ldmVudCB7Ci0gCVdQQV9BVVRILCBXUEFfQVNTT0MsIFdQQV9ESVNBU1NPQywgV1BBX0RFQVVUSCwgV1BBX1JFQVVUSCwKLS0JV1BBX1JFQVVUSF9FQVBPTCwgV1BBX0FTU09DX0ZUCi0rCVdQQV9SRUFVVEhfRUFQT0wsIFdQQV9BU1NPQ19GVCwgV1BBX0RSVl9TVEFfUkVNT1ZFRAotIH07Ci0gdm9pZCB3cGFfcmVtb3ZlX3B0ayhzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtKTsKLSBpbnQgd3BhX2F1dGhfc21fZXZlbnQoc3RydWN0IHdwYV9zdGF0ZV9tYWNoaW5lICpzbSwgZW51bSB3cGFfZXZlbnQgZXZlbnQpOwotQEAgLTI4MCw2ICsyODAsNyBAQCBpbnQgd3BhX2F1dGhfcGFpcndpc2Vfc2V0KHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSAqc20pOwotIGludCB3cGFfYXV0aF9nZXRfcGFpcndpc2Uoc3RydWN0IHdwYV9zdGF0ZV9tYWNoaW5lICpzbSk7Ci0gaW50IHdwYV9hdXRoX3N0YV9rZXlfbWdtdChzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtKTsKLSBpbnQgd3BhX2F1dGhfc3RhX3dwYV92ZXJzaW9uKHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSAqc20pOwotK2ludCB3cGFfYXV0aF9zdGFfZnRfdGtfYWxyZWFkeV9zZXQoc3RydWN0IHdwYV9zdGF0ZV9tYWNoaW5lICpzbSk7Ci0gaW50IHdwYV9hdXRoX3N0YV9jbGVhcl9wbWtzYShzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtLAotIAkJCSAgICAgc3RydWN0IHJzbl9wbWtzYV9jYWNoZV9lbnRyeSAqZW50cnkpOwotIHN0cnVjdCByc25fcG1rc2FfY2FjaGVfZW50cnkgKgotZGlmZiAtLWdpdCBhL3NyYy9hcC93cGFfYXV0aF9mdC5jIGIvc3JjL2FwL3dwYV9hdXRoX2Z0LmMKLWluZGV4IDQyMjQyYTUuLmU2M2I5OWEgMTAwNjQ0Ci0tLS0gYS9zcmMvYXAvd3BhX2F1dGhfZnQuYwotKysrIGIvc3JjL2FwL3dwYV9hdXRoX2Z0LmMKLUBAIC03ODAsNiArNzgwLDE0IEBAIHZvaWQgd3BhX2Z0X2luc3RhbGxfcHRrKHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSAqc20pCi0gCQlyZXR1cm47Ci0gCX0KLSAKLSsJaWYgKHNtLT50a19hbHJlYWR5X3NldCkgewotKwkJLyogTXVzdCBhdm9pZCBUSyByZWNvbmZpZ3VyYXRpb24gdG8gcHJldmVudCBjbGVhcmluZyBvZiBUWC9SWAotKwkJICogUE4gaW4gdGhlIGRyaXZlciAqLwotKwkJd3BhX3ByaW50ZihNU0dfREVCVUcsCi0rCQkJICAgIkZUOiBEbyBub3QgcmUtaW5zdGFsbCBzYW1lIFBUSyB0byB0aGUgZHJpdmVyIik7Ci0rCQlyZXR1cm47Ci0rCX0KLSsKLSAJLyogRklYOiBhZGQgU1RBIGVudHJ5IHRvIGtlcm5lbC9kcml2ZXIgaGVyZT8gVGhlIHNldF9rZXkgd2lsbCBmYWlsCi0gCSAqIG1vc3QgbGlrZWx5IHdpdGhvdXQgdGhpcy4uIEF0IHRoZSBtb21lbnQsIFNUQSBlbnRyeSBpcyBhZGRlZCBvbmx5Ci0gCSAqIGFmdGVyIGFzc29jaWF0aW9uIGhhcyBiZWVuIGNvbXBsZXRlZC4gVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZAotQEAgLTc5Miw2ICs4MDAsNyBAQCB2b2lkIHdwYV9mdF9pbnN0YWxsX3B0ayhzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtKQotIAotIAkvKiBGSVg6IE1MTUUtU2V0UHJvdGVjdGlvbi5SZXF1ZXN0KFRBLCBUeF9SeCkgKi8KLSAJc20tPnBhaXJ3aXNlX3NldCA9IFRSVUU7Ci0rCXNtLT50a19hbHJlYWR5X3NldCA9IFRSVUU7Ci0gfQotIAotIAotQEAgLTg5OCw2ICs5MDcsNyBAQCBzdGF0aWMgaW50IHdwYV9mdF9wcm9jZXNzX2F1dGhfcmVxKHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSAqc20sCi0gCi0gCXNtLT5wYWlyd2lzZSA9IHBhaXJ3aXNlOwotIAlzbS0+UFRLX3ZhbGlkID0gVFJVRTsKLSsJc20tPnRrX2FscmVhZHlfc2V0ID0gRkFMU0U7Ci0gCXdwYV9mdF9pbnN0YWxsX3B0ayhzbSk7Ci0gCi0gCWJ1ZmxlbiA9IDIgKyBzaXplb2Yoc3RydWN0IHJzbl9tZGllKSArIDIgKyBzaXplb2Yoc3RydWN0IHJzbl9mdGllKSArCi1kaWZmIC0tZ2l0IGEvc3JjL2FwL3dwYV9hdXRoX2kuaCBiL3NyYy9hcC93cGFfYXV0aF9pLmgKLWluZGV4IDcyYjdlYjMuLjdmZDhmMDUgMTAwNjQ0Ci0tLS0gYS9zcmMvYXAvd3BhX2F1dGhfaS5oCi0rKysgYi9zcmMvYXAvd3BhX2F1dGhfaS5oCi1AQCAtNjUsNiArNjUsNyBAQCBzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgewotIAlzdHJ1Y3Qgd3BhX3B0ayBQVEs7Ci0gCUJvb2xlYW4gUFRLX3ZhbGlkOwotIAlCb29sZWFuIHBhaXJ3aXNlX3NldDsKLSsJQm9vbGVhbiB0a19hbHJlYWR5X3NldDsKLSAJaW50IGtleWNvdW50OwotIAlCb29sZWFuIFBhaXI7Ci0gCXN0cnVjdCB3cGFfa2V5X3JlcGxheV9jb3VudGVyIHsKLS0tIAotMi43LjQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGUyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlMi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTAxYmI0Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGUyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjY3ICswLDAgQEAKLVRoZSBXUEEyIGZvdXItd2F5IGhhbmRzaGFrZSBwcm90b2NvbCBpcyB2dWxuZXJhYmxlIHRvIHJlcGxheSBhdHRhY2tzIHdoaWNoIGNhbgotcmVzdWx0IGluIHVuYXV0aGVudGljYXRlZCBjbGllbnRzIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSBuZXR3b3JrLgotCi1CYWNrcG9ydCBhIG51bWJlciBvZiBwYXRjaGVzIGZyb20gdXBzdHJlYW0gdG8gZml4IHRoaXMuCi0KLUNWRTogQ1ZFLTIwMTctMTMwNzcKLUNWRTogQ1ZFLTIwMTctMTMwNzgKLUNWRTogQ1ZFLTIwMTctMTMwNzkKLUNWRTogQ1ZFLTIwMTctMTMwODAKLUNWRTogQ1ZFLTIwMTctMTMwODEKLUNWRTogQ1ZFLTIwMTctMTMwODIKLUNWRTogQ1ZFLTIwMTctMTMwODYKLUNWRTogQ1ZFLTIwMTctMTMwODcKLUNWRTogQ1ZFLTIwMTctMTMwODgKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSA5MjdmODkxMDA3YzQwMmZlZmQxZmYzODQ2NDViM2YwNzU5N2MzZWRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0aHkgVmFuaG9lZiA8TWF0aHkuVmFuaG9lZkBjcy5rdWxldXZlbi5iZT4KLURhdGU6IFdlZCwgMTIgSnVsIDIwMTcgMTY6MDM6MjQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzhdIFByZXZlbnQgcmVpbnN0YWxsYXRpb24gb2YgYW4gYWxyZWFkeSBpbi11c2UgZ3JvdXAga2V5Ci0KLVRyYWNrIHRoZSBjdXJyZW50IEdUSyBhbmQgSUdUSyB0aGF0IGlzIGluIHVzZSBhbmQgd2hlbiByZWNlaXZpbmcgYQotKHBvc3NpYmx5IHJldHJhbnNtaXR0ZWQpIEdyb3VwIE1lc3NhZ2UgMSBvciBXTk0tU2xlZXAgTW9kZSBSZXNwb25zZSwgZG8KLW5vdCBpbnN0YWxsIHRoZSBnaXZlbiBrZXkgaWYgaXQgaXMgYWxyZWFkeSBpbiB1c2UuIFRoaXMgcHJldmVudHMgYW4KLWF0dGFja2VyIGZyb20gdHJ5aW5nIHRvIHRyaWNrIHRoZSBjbGllbnQgaW50byByZXNldHRpbmcgb3IgbG93ZXJpbmcgdGhlCi1zZXF1ZW5jZSBjb3VudGVyIGFzc29jaWF0ZWQgdG8gdGhlIGdyb3VwIGtleS4KLQotU2lnbmVkLW9mZi1ieTogTWF0aHkgVmFuaG9lZiA8TWF0aHkuVmFuaG9lZkBjcy5rdWxldXZlbi5iZT4KLS0tLQotIHNyYy9jb21tb24vd3BhX2NvbW1vbi5oIHwgIDExICsrKysrCi0gc3JjL3Jzbl9zdXBwL3dwYS5jICAgICAgfCAxMTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCi0gc3JjL3Jzbl9zdXBwL3dwYV9pLmggICAgfCAgIDQgKysKLSAzIGZpbGVzIGNoYW5nZWQsIDg3IGluc2VydGlvbnMoKyksIDQ0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi93cGFfY29tbW9uLmggYi9zcmMvY29tbW9uL3dwYV9jb21tb24uaAotaW5kZXggYWYxZDBmMC4uZDIwMDI4NSAxMDA2NDQKLS0tLSBhL3NyYy9jb21tb24vd3BhX2NvbW1vbi5oCi0rKysgYi9zcmMvY29tbW9uL3dwYV9jb21tb24uaAotQEAgLTIxNyw2ICsyMTcsMTcgQEAgc3RydWN0IHdwYV9wdGsgewotIAlzaXplX3QgdGtfbGVuOwotIH07Ci0gCi0rc3RydWN0IHdwYV9ndGsgewotKwl1OCBndGtbV1BBX0dUS19NQVhfTEVOXTsKLSsJc2l6ZV90IGd0a19sZW47Ci0rfTsKLSsKLSsjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVcKLStzdHJ1Y3Qgd3BhX2lndGsgewotKwl1OCBpZ3RrW1dQQV9JR1RLX01BWF9MRU5dOwotKwlzaXplX3QgaWd0a19sZW47Ci0rfTsKLSsjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVcgKi8KLSAKLSAvKiBXUEEgSUUgdmVyc2lvbiAxCi0gICogMDAtNTAtZjI6MSAoT1VJOk9VSSB0eXBlKQotZGlmZiAtLWdpdCBhL3NyYy9yc25fc3VwcC93cGEuYyBiL3NyYy9yc25fc3VwcC93cGEuYwotaW5kZXggM2M0Nzg3OS4uOTViZDdiZSAxMDA2NDQKLS0tLSBhL3NyYy9yc25fc3VwcC93cGEuYwotKysrIGIvc3JjL3Jzbl9zdXBwL3dwYS5jCi1AQCAtNzE0LDYgKzcxNCwxNSBAQCBzdGF0aWMgaW50IHdwYV9zdXBwbGljYW50X2luc3RhbGxfZ3RrKHN0cnVjdCB3cGFfc20gKnNtLAotIAljb25zdCB1OCAqX2d0ayA9IGdkLT5ndGs7Ci0gCXU4IGd0a19idWZbMzJdOwotIAotKwkvKiBEZXRlY3QgcG9zc2libGUga2V5IHJlaW5zdGFsbGF0aW9uICovCi0rCWlmIChzbS0+Z3RrLmd0a19sZW4gPT0gKHNpemVfdCkgZ2QtPmd0a19sZW4gJiYKLSsJICAgIG9zX21lbWNtcChzbS0+Z3RrLmd0aywgZ2QtPmd0aywgc20tPmd0ay5ndGtfbGVuKSA9PSAwKSB7Ci0rCQl3cGFfZGJnKHNtLT5jdHgtPm1zZ19jdHgsIE1TR19ERUJVRywKLSsJCQkiV1BBOiBOb3QgcmVpbnN0YWxsaW5nIGFscmVhZHkgaW4tdXNlIEdUSyB0byB0aGUgZHJpdmVyIChrZXlpZHg9JWQgdHg9JWQgbGVuPSVkKSIsCi0rCQkJZ2QtPmtleWlkeCwgZ2QtPnR4LCBnZC0+Z3RrX2xlbik7Ci0rCQlyZXR1cm4gMDsKLSsJfQotKwotIAl3cGFfaGV4ZHVtcF9rZXkoTVNHX0RFQlVHLCAiV1BBOiBHcm91cCBLZXkiLCBnZC0+Z3RrLCBnZC0+Z3RrX2xlbik7Ci0gCXdwYV9kYmcoc20tPmN0eC0+bXNnX2N0eCwgTVNHX0RFQlVHLAotIAkJIldQQTogSW5zdGFsbGluZyBHVEsgdG8gdGhlIGRyaXZlciAoa2V5aWR4PSVkIHR4PSVkIGxlbj0lZCkiLAotQEAgLTc0OCw2ICs3NTcsOSBAQCBzdGF0aWMgaW50IHdwYV9zdXBwbGljYW50X2luc3RhbGxfZ3RrKHN0cnVjdCB3cGFfc20gKnNtLAotIAl9Ci0gCW9zX21lbXNldChndGtfYnVmLCAwLCBzaXplb2YoZ3RrX2J1ZikpOwotIAotKwlzbS0+Z3RrLmd0a19sZW4gPSBnZC0+Z3RrX2xlbjsKLSsJb3NfbWVtY3B5KHNtLT5ndGsuZ3RrLCBnZC0+Z3RrLCBzbS0+Z3RrLmd0a19sZW4pOwotKwotIAlyZXR1cm4gMDsKLSB9Ci0gCi1AQCAtODU0LDYgKzg2Niw0OCBAQCBzdGF0aWMgaW50IHdwYV9zdXBwbGljYW50X3BhaXJ3aXNlX2d0ayhzdHJ1Y3Qgd3BhX3NtICpzbSwKLSB9Ci0gCi0gCi0rI2lmZGVmIENPTkZJR19JRUVFODAyMTFXCi0rc3RhdGljIGludCB3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2lndGsoc3RydWN0IHdwYV9zbSAqc20sCi0rCQkJCSAgICAgICBjb25zdCBzdHJ1Y3Qgd3BhX2lndGtfa2RlICppZ3RrKQotK3sKLSsJc2l6ZV90IGxlbiA9IHdwYV9jaXBoZXJfa2V5X2xlbihzbS0+bWdtdF9ncm91cF9jaXBoZXIpOwotKwl1MTYga2V5aWR4ID0gV1BBX0dFVF9MRTE2KGlndGstPmtleWlkKTsKLSsKLSsJLyogRGV0ZWN0IHBvc3NpYmxlIGtleSByZWluc3RhbGxhdGlvbiAqLwotKwlpZiAoc20tPmlndGsuaWd0a19sZW4gPT0gbGVuICYmCi0rCSAgICBvc19tZW1jbXAoc20tPmlndGsuaWd0aywgaWd0ay0+aWd0aywgc20tPmlndGsuaWd0a19sZW4pID09IDApIHsKLSsJCXdwYV9kYmcoc20tPmN0eC0+bXNnX2N0eCwgTVNHX0RFQlVHLAotKwkJCSJXUEE6IE5vdCByZWluc3RhbGxpbmcgYWxyZWFkeSBpbi11c2UgSUdUSyB0byB0aGUgZHJpdmVyIChrZXlpZHg9JWQpIiwKLSsJCQlrZXlpZHgpOwotKwkJcmV0dXJuICAwOwotKwl9Ci0rCi0rCXdwYV9kYmcoc20tPmN0eC0+bXNnX2N0eCwgTVNHX0RFQlVHLAotKwkJIldQQTogSUdUSyBrZXlpZCAlZCBwbiAlMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMngiLAotKwkJa2V5aWR4LCBNQUMyU1RSKGlndGstPnBuKSk7Ci0rCXdwYV9oZXhkdW1wX2tleShNU0dfREVCVUcsICJXUEE6IElHVEsiLCBpZ3RrLT5pZ3RrLCBsZW4pOwotKwlpZiAoa2V5aWR4ID4gNDA5NSkgewotKwkJd3BhX21zZyhzbS0+Y3R4LT5tc2dfY3R4LCBNU0dfV0FSTklORywKLSsJCQkiV1BBOiBJbnZhbGlkIElHVEsgS2V5SUQgJWQiLCBrZXlpZHgpOwotKwkJcmV0dXJuIC0xOwotKwl9Ci0rCWlmICh3cGFfc21fc2V0X2tleShzbSwgd3BhX2NpcGhlcl90b19hbGcoc20tPm1nbXRfZ3JvdXBfY2lwaGVyKSwKLSsJCQkgICBicm9hZGNhc3RfZXRoZXJfYWRkciwKLSsJCQkgICBrZXlpZHgsIDAsIGlndGstPnBuLCBzaXplb2YoaWd0ay0+cG4pLAotKwkJCSAgIGlndGstPmlndGssIGxlbikgPCAwKSB7Ci0rCQl3cGFfbXNnKHNtLT5jdHgtPm1zZ19jdHgsIE1TR19XQVJOSU5HLAotKwkJCSJXUEE6IEZhaWxlZCB0byBjb25maWd1cmUgSUdUSyB0byB0aGUgZHJpdmVyIik7Ci0rCQlyZXR1cm4gLTE7Ci0rCX0KLSsKLSsJc20tPmlndGsuaWd0a19sZW4gPSBsZW47Ci0rCW9zX21lbWNweShzbS0+aWd0ay5pZ3RrLCBpZ3RrLT5pZ3RrLCBzbS0+aWd0ay5pZ3RrX2xlbik7Ci0rCi0rCXJldHVybiAwOwotK30KLSsjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVcgKi8KLSsKLSsKLSBzdGF0aWMgaW50IGllZWU4MDIxMXdfc2V0X2tleXMoc3RydWN0IHdwYV9zbSAqc20sCi0gCQkJICAgICAgIHN0cnVjdCB3cGFfZWFwb2xfaWVfcGFyc2UgKmllKQotIHsKLUBAIC04NjQsMzAgKzkxOCwxNCBAQCBzdGF0aWMgaW50IGllZWU4MDIxMXdfc2V0X2tleXMoc3RydWN0IHdwYV9zbSAqc20sCi0gCWlmIChpZS0+aWd0aykgewotIAkJc2l6ZV90IGxlbjsKLSAJCWNvbnN0IHN0cnVjdCB3cGFfaWd0a19rZGUgKmlndGs7Ci0tCQl1MTYga2V5aWR4OwotKwotIAkJbGVuID0gd3BhX2NpcGhlcl9rZXlfbGVuKHNtLT5tZ210X2dyb3VwX2NpcGhlcik7Ci0gCQlpZiAoaWUtPmlndGtfbGVuICE9IFdQQV9JR1RLX0tERV9QUkVGSVhfTEVOICsgbGVuKQotIAkJCXJldHVybiAtMTsKLSsKLSAJCWlndGsgPSAoY29uc3Qgc3RydWN0IHdwYV9pZ3RrX2tkZSAqKSBpZS0+aWd0azsKLS0JCWtleWlkeCA9IFdQQV9HRVRfTEUxNihpZ3RrLT5rZXlpZCk7Ci0tCQl3cGFfZGJnKHNtLT5jdHgtPm1zZ19jdHgsIE1TR19ERUJVRywgIldQQTogSUdUSyBrZXlpZCAlZCAiCi0tCQkJInBuICUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCIsCi0tCQkJa2V5aWR4LCBNQUMyU1RSKGlndGstPnBuKSk7Ci0tCQl3cGFfaGV4ZHVtcF9rZXkoTVNHX0RFQlVHLCAiV1BBOiBJR1RLIiwKLS0JCQkJaWd0ay0+aWd0aywgbGVuKTsKLS0JCWlmIChrZXlpZHggPiA0MDk1KSB7Ci0tCQkJd3BhX21zZyhzbS0+Y3R4LT5tc2dfY3R4LCBNU0dfV0FSTklORywKLS0JCQkJIldQQTogSW52YWxpZCBJR1RLIEtleUlEICVkIiwga2V5aWR4KTsKLS0JCQlyZXR1cm4gLTE7Ci0tCQl9Ci0tCQlpZiAod3BhX3NtX3NldF9rZXkoc20sIHdwYV9jaXBoZXJfdG9fYWxnKHNtLT5tZ210X2dyb3VwX2NpcGhlciksCi0tCQkJCSAgIGJyb2FkY2FzdF9ldGhlcl9hZGRyLAotLQkJCQkgICBrZXlpZHgsIDAsIGlndGstPnBuLCBzaXplb2YoaWd0ay0+cG4pLAotLQkJCQkgICBpZ3RrLT5pZ3RrLCBsZW4pIDwgMCkgewotLQkJCXdwYV9tc2coc20tPmN0eC0+bXNnX2N0eCwgTVNHX1dBUk5JTkcsCi0tCQkJCSJXUEE6IEZhaWxlZCB0byBjb25maWd1cmUgSUdUSyB0byB0aGUgZHJpdmVyIik7Ci0rCQlpZiAod3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9pZ3RrKHNtLCBpZ3RrKSA8IDApCi0gCQkJcmV0dXJuIC0xOwotLQkJfQotIAl9Ci0gCi0gCXJldHVybiAwOwotQEAgLTIzMDcsNyArMjM0NSw3IEBAIHZvaWQgd3BhX3NtX2RlaW5pdChzdHJ1Y3Qgd3BhX3NtICpzbSkKLSAgKi8KLSB2b2lkIHdwYV9zbV9ub3RpZnlfYXNzb2Moc3RydWN0IHdwYV9zbSAqc20sIGNvbnN0IHU4ICpic3NpZCkKLSB7Ci0tCWludCBjbGVhcl9wdGsgPSAxOwotKwlpbnQgY2xlYXJfa2V5cyA9IDE7Ci0gCi0gCWlmIChzbSA9PSBOVUxMKQotIAkJcmV0dXJuOwotQEAgLTIzMzMsMTEgKzIzNzEsMTEgQEAgdm9pZCB3cGFfc21fbm90aWZ5X2Fzc29jKHN0cnVjdCB3cGFfc20gKnNtLCBjb25zdCB1OCAqYnNzaWQpCi0gCQkvKiBQcmVwYXJlIGZvciB0aGUgbmV4dCB0cmFuc2l0aW9uICovCi0gCQl3cGFfZnRfcHJlcGFyZV9hdXRoX3JlcXVlc3Qoc20sIE5VTEwpOwotIAotLQkJY2xlYXJfcHRrID0gMDsKLSsJCWNsZWFyX2tleXMgPSAwOwotIAl9Ci0gI2VuZGlmIC8qIENPTkZJR19JRUVFODAyMTFSICovCi0gCi0tCWlmIChjbGVhcl9wdGspIHsKLSsJaWYgKGNsZWFyX2tleXMpIHsKLSAJCS8qCi0gCQkgKiBJRUVFIDgwMi4xMSwgOC40LjEwOiBEZWxldGUgUFRLIFNBIG9uIChyZSlhc3NvY2lhdGlvbiBpZgotIAkJICogdGhpcyBpcyBub3QgcGFydCBvZiBhIEZhc3QgQlNTIFRyYW5zaXRpb24uCi1AQCAtMjM0Nyw2ICsyMzg1LDEwIEBAIHZvaWQgd3BhX3NtX25vdGlmeV9hc3NvYyhzdHJ1Y3Qgd3BhX3NtICpzbSwgY29uc3QgdTggKmJzc2lkKQotIAkJb3NfbWVtc2V0KCZzbS0+cHRrLCAwLCBzaXplb2Yoc20tPnB0aykpOwotIAkJc20tPnRwdGtfc2V0ID0gMDsKLSAJCW9zX21lbXNldCgmc20tPnRwdGssIDAsIHNpemVvZihzbS0+dHB0aykpOwotKwkJb3NfbWVtc2V0KCZzbS0+Z3RrLCAwLCBzaXplb2Yoc20tPmd0aykpOwotKyNpZmRlZiBDT05GSUdfSUVFRTgwMjExVwotKwkJb3NfbWVtc2V0KCZzbS0+aWd0aywgMCwgc2l6ZW9mKHNtLT5pZ3RrKSk7Ci0rI2VuZGlmIC8qIENPTkZJR19JRUVFODAyMTFXICovCi0gCX0KLSAKLSAjaWZkZWYgQ09ORklHX1RETFMKLUBAIC0yODc3LDYgKzI5MTksMTAgQEAgdm9pZCB3cGFfc21fZHJvcF9zYShzdHJ1Y3Qgd3BhX3NtICpzbSkKLSAJb3NfbWVtc2V0KHNtLT5wbWssIDAsIHNpemVvZihzbS0+cG1rKSk7Ci0gCW9zX21lbXNldCgmc20tPnB0aywgMCwgc2l6ZW9mKHNtLT5wdGspKTsKLSAJb3NfbWVtc2V0KCZzbS0+dHB0aywgMCwgc2l6ZW9mKHNtLT50cHRrKSk7Ci0rCW9zX21lbXNldCgmc20tPmd0aywgMCwgc2l6ZW9mKHNtLT5ndGspKTsKLSsjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVcKLSsJb3NfbWVtc2V0KCZzbS0+aWd0aywgMCwgc2l6ZW9mKHNtLT5pZ3RrKSk7Ci0rI2VuZGlmIC8qIENPTkZJR19JRUVFODAyMTFXICovCi0gI2lmZGVmIENPTkZJR19JRUVFODAyMTFSCi0gCW9zX21lbXNldChzbS0+eHhrZXksIDAsIHNpemVvZihzbS0+eHhrZXkpKTsKLSAJb3NfbWVtc2V0KHNtLT5wbWtfcjAsIDAsIHNpemVvZihzbS0+cG1rX3IwKSk7Ci1AQCAtMjk0OSwyOSArMjk5NSwxMSBAQCBpbnQgd3BhX3dubXNsZWVwX2luc3RhbGxfa2V5KHN0cnVjdCB3cGFfc20gKnNtLCB1OCBzdWJlbGVtX2lkLCB1OCAqYnVmKQotIAkJb3NfbWVtc2V0KCZnZCwgMCwgc2l6ZW9mKGdkKSk7Ci0gI2lmZGVmIENPTkZJR19JRUVFODAyMTFXCi0gCX0gZWxzZSBpZiAoc3ViZWxlbV9pZCA9PSBXTk1fU0xFRVBfU1VCRUxFTV9JR1RLKSB7Ci0tCQlzdHJ1Y3Qgd3BhX2lndGtfa2RlIGlnZDsKLS0JCXUxNiBrZXlpZHg7Ci0tCi0tCQlvc19tZW1zZXQoJmlnZCwgMCwgc2l6ZW9mKGlnZCkpOwotLQkJa2V5bGVuID0gd3BhX2NpcGhlcl9rZXlfbGVuKHNtLT5tZ210X2dyb3VwX2NpcGhlcik7Ci0tCQlvc19tZW1jcHkoaWdkLmtleWlkLCBidWYgKyAyLCAyKTsKLS0JCW9zX21lbWNweShpZ2QucG4sIGJ1ZiArIDQsIDYpOwotLQotLQkJa2V5aWR4ID0gV1BBX0dFVF9MRTE2KGlnZC5rZXlpZCk7Ci0tCQlvc19tZW1jcHkoaWdkLmlndGssIGJ1ZiArIDEwLCBrZXlsZW4pOwotLQotLQkJd3BhX2hleGR1bXBfa2V5KE1TR19ERUJVRywgIkluc3RhbGwgSUdUSyAoV05NIFNMRUVQKSIsCi0tCQkJCWlnZC5pZ3RrLCBrZXlsZW4pOwotLQkJaWYgKHdwYV9zbV9zZXRfa2V5KHNtLCB3cGFfY2lwaGVyX3RvX2FsZyhzbS0+bWdtdF9ncm91cF9jaXBoZXIpLAotLQkJCQkgICBicm9hZGNhc3RfZXRoZXJfYWRkciwKLS0JCQkJICAga2V5aWR4LCAwLCBpZ2QucG4sIHNpemVvZihpZ2QucG4pLAotLQkJCQkgICBpZ2QuaWd0aywga2V5bGVuKSA8IDApIHsKLS0JCQl3cGFfcHJpbnRmKE1TR19ERUJVRywgIkZhaWxlZCB0byBpbnN0YWxsIHRoZSBJR1RLIGluICIKLS0JCQkJICAgIldOTSBtb2RlIik7Ci0tCQkJb3NfbWVtc2V0KCZpZ2QsIDAsIHNpemVvZihpZ2QpKTsKLSsJCWNvbnN0IHN0cnVjdCB3cGFfaWd0a19rZGUgKmlndGs7Ci0rCi0rCQlpZ3RrID0gKGNvbnN0IHN0cnVjdCB3cGFfaWd0a19rZGUgKikgKGJ1ZiArIDIpOwotKwkJaWYgKHdwYV9zdXBwbGljYW50X2luc3RhbGxfaWd0ayhzbSwgaWd0aykgPCAwKQotIAkJCXJldHVybiAtMTsKLS0JCX0KLS0JCW9zX21lbXNldCgmaWdkLCAwLCBzaXplb2YoaWdkKSk7Ci0gI2VuZGlmIC8qIENPTkZJR19JRUVFODAyMTFXICovCi0gCX0gZWxzZSB7Ci0gCQl3cGFfcHJpbnRmKE1TR19ERUJVRywgIlVua25vd24gZWxlbWVudCBpZCIpOwotZGlmZiAtLWdpdCBhL3NyYy9yc25fc3VwcC93cGFfaS5oIGIvc3JjL3Jzbl9zdXBwL3dwYV9pLmgKLWluZGV4IGY2NTNiYTYuLmFmYzllMzcgMTAwNjQ0Ci0tLS0gYS9zcmMvcnNuX3N1cHAvd3BhX2kuaAotKysrIGIvc3JjL3Jzbl9zdXBwL3dwYV9pLmgKLUBAIC0zMSw2ICszMSwxMCBAQCBzdHJ1Y3Qgd3BhX3NtIHsKLSAJdTggcnhfcmVwbGF5X2NvdW50ZXJbV1BBX1JFUExBWV9DT1VOVEVSX0xFTl07Ci0gCWludCByeF9yZXBsYXlfY291bnRlcl9zZXQ7Ci0gCXU4IHJlcXVlc3RfY291bnRlcltXUEFfUkVQTEFZX0NPVU5URVJfTEVOXTsKLSsJc3RydWN0IHdwYV9ndGsgZ3RrOwotKyNpZmRlZiBDT05GSUdfSUVFRTgwMjExVwotKwlzdHJ1Y3Qgd3BhX2lndGsgaWd0azsKLSsjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVcgKi8KLSAKLSAJc3RydWN0IGVhcG9sX3NtICplYXBvbDsgLyogRUFQT0wgc3RhdGUgbWFjaGluZSBmcm9tIHVwcGVyIGxldmVsIGNvZGUgKi8KLSAKLS0tIAotMi43LjQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGUzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlMy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmUyMjY1NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGUzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjAxICswLDAgQEAKLVRoZSBXUEEyIGZvdXItd2F5IGhhbmRzaGFrZSBwcm90b2NvbCBpcyB2dWxuZXJhYmxlIHRvIHJlcGxheSBhdHRhY2tzIHdoaWNoIGNhbgotcmVzdWx0IGluIHVuYXV0aGVudGljYXRlZCBjbGllbnRzIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSBuZXR3b3JrLgotCi1CYWNrcG9ydCBhIG51bWJlciBvZiBwYXRjaGVzIGZyb20gdXBzdHJlYW0gdG8gZml4IHRoaXMuCi0KLUNWRTogQ1ZFLTIwMTctMTMwNzcKLUNWRTogQ1ZFLTIwMTctMTMwNzgKLUNWRTogQ1ZFLTIwMTctMTMwNzkKLUNWRTogQ1ZFLTIwMTctMTMwODAKLUNWRTogQ1ZFLTIwMTctMTMwODEKLUNWRTogQ1ZFLTIwMTctMTMwODIKLUNWRTogQ1ZFLTIwMTctMTMwODYKLUNWRTogQ1ZFLTIwMTctMTMwODcKLUNWRTogQ1ZFLTIwMTctMTMwODgKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSA4MjgwMjk0ZTc0ODQ2ZWEzNDIzODlhMGNkMTcyMTUwNTBmYTVhZmU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSm91bmkgTWFsaW5lbiA8akB3MS5maT4KLURhdGU6IFN1biwgMSBPY3QgMjAxNyAxMjoxMjoyNCArMDMwMAotU3ViamVjdDogW1BBVENIIDMvOF0gRXh0ZW5kIHByb3RlY3Rpb24gb2YgR1RLL0lHVEsgcmVpbnN0YWxsYXRpb24gb2YgV05NLVNsZWVwCi0gTW9kZSBjYXNlcwotCi1UaGlzIGV4dGVuZHMgdGhlIHByb3RlY3Rpb24gdG8gdHJhY2sgbGFzdCBjb25maWd1cmVkIEdUSy9JR1RLIHZhbHVlCi1zZXBhcmF0ZWx5IGZyb20gRUFQT0wtS2V5IGZyYW1lcyBhbmQgV05NLVNsZWVwIE1vZGUgZnJhbWVzIHRvIGNvdmVyIGEKLWNvcm5lciBjYXNlIHdoZXJlIHRoZXNlIHR3byBkaWZmZXJlbnQgbWVjaGFuaXNtcyBtYXkgZ2V0IHVzZWQgd2hlbiB0aGUKLUdUSy9JR1RLIGhhcyBjaGFuZ2VkIGFuZCB0cmFja2luZyBhIHNpbmdsZSB2YWx1ZSBpcyBub3Qgc3VmZmljaWVudCB0bwotZGV0ZWN0IGEgcG9zc2libGUga2V5IHJlY29uZmlndXJhdGlvbi4KLQotU2lnbmVkLW9mZi1ieTogSm91bmkgTWFsaW5lbiA8akB3MS5maT4KLS0tLQotIHNyYy9yc25fc3VwcC93cGEuYyAgIHwgNTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQotIHNyYy9yc25fc3VwcC93cGFfaS5oIHwgIDIgKysKLSAyIGZpbGVzIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3dwYS5jIGIvc3JjL3Jzbl9zdXBwL3dwYS5jCi1pbmRleCA5NWJkN2JlLi43YTJjNjhkIDEwMDY0NAotLS0tIGEvc3JjL3Jzbl9zdXBwL3dwYS5jCi0rKysgYi9zcmMvcnNuX3N1cHAvd3BhLmMKLUBAIC03MDksMTQgKzcwOSwxNyBAQCBzdHJ1Y3Qgd3BhX2d0a19kYXRhIHsKLSAKLSBzdGF0aWMgaW50IHdwYV9zdXBwbGljYW50X2luc3RhbGxfZ3RrKHN0cnVjdCB3cGFfc20gKnNtLAotIAkJCQkgICAgICBjb25zdCBzdHJ1Y3Qgd3BhX2d0a19kYXRhICpnZCwKLS0JCQkJICAgICAgY29uc3QgdTggKmtleV9yc2MpCi0rCQkJCSAgICAgIGNvbnN0IHU4ICprZXlfcnNjLCBpbnQgd25tX3NsZWVwKQotIHsKLSAJY29uc3QgdTggKl9ndGsgPSBnZC0+Z3RrOwotIAl1OCBndGtfYnVmWzMyXTsKLSAKLSAJLyogRGV0ZWN0IHBvc3NpYmxlIGtleSByZWluc3RhbGxhdGlvbiAqLwotLQlpZiAoc20tPmd0ay5ndGtfbGVuID09IChzaXplX3QpIGdkLT5ndGtfbGVuICYmCi0tCSAgICBvc19tZW1jbXAoc20tPmd0ay5ndGssIGdkLT5ndGssIHNtLT5ndGsuZ3RrX2xlbikgPT0gMCkgewotKwlpZiAoKHNtLT5ndGsuZ3RrX2xlbiA9PSAoc2l6ZV90KSBnZC0+Z3RrX2xlbiAmJgotKwkgICAgIG9zX21lbWNtcChzbS0+Z3RrLmd0aywgZ2QtPmd0aywgc20tPmd0ay5ndGtfbGVuKSA9PSAwKSB8fAotKwkgICAgKHNtLT5ndGtfd25tX3NsZWVwLmd0a19sZW4gPT0gKHNpemVfdCkgZ2QtPmd0a19sZW4gJiYKLSsJICAgICBvc19tZW1jbXAoc20tPmd0a193bm1fc2xlZXAuZ3RrLCBnZC0+Z3RrLAotKwkJICAgICAgIHNtLT5ndGtfd25tX3NsZWVwLmd0a19sZW4pID09IDApKSB7Ci0gCQl3cGFfZGJnKHNtLT5jdHgtPm1zZ19jdHgsIE1TR19ERUJVRywKLSAJCQkiV1BBOiBOb3QgcmVpbnN0YWxsaW5nIGFscmVhZHkgaW4tdXNlIEdUSyB0byB0aGUgZHJpdmVyIChrZXlpZHg9JWQgdHg9JWQgbGVuPSVkKSIsCi0gCQkJZ2QtPmtleWlkeCwgZ2QtPnR4LCBnZC0+Z3RrX2xlbik7Ci1AQCAtNzU3LDggKzc2MCwxNCBAQCBzdGF0aWMgaW50IHdwYV9zdXBwbGljYW50X2luc3RhbGxfZ3RrKHN0cnVjdCB3cGFfc20gKnNtLAotIAl9Ci0gCW9zX21lbXNldChndGtfYnVmLCAwLCBzaXplb2YoZ3RrX2J1ZikpOwotIAotLQlzbS0+Z3RrLmd0a19sZW4gPSBnZC0+Z3RrX2xlbjsKLS0Jb3NfbWVtY3B5KHNtLT5ndGsuZ3RrLCBnZC0+Z3RrLCBzbS0+Z3RrLmd0a19sZW4pOwotKwlpZiAod25tX3NsZWVwKSB7Ci0rCQlzbS0+Z3RrX3dubV9zbGVlcC5ndGtfbGVuID0gZ2QtPmd0a19sZW47Ci0rCQlvc19tZW1jcHkoc20tPmd0a193bm1fc2xlZXAuZ3RrLCBnZC0+Z3RrLAotKwkJCSAgc20tPmd0a193bm1fc2xlZXAuZ3RrX2xlbik7Ci0rCX0gZWxzZSB7Ci0rCQlzbS0+Z3RrLmd0a19sZW4gPSBnZC0+Z3RrX2xlbjsKLSsJCW9zX21lbWNweShzbS0+Z3RrLmd0aywgZ2QtPmd0aywgc20tPmd0ay5ndGtfbGVuKTsKLSsJfQotIAotIAlyZXR1cm4gMDsKLSB9Ci1AQCAtODUyLDcgKzg2MSw3IEBAIHN0YXRpYyBpbnQgd3BhX3N1cHBsaWNhbnRfcGFpcndpc2VfZ3RrKHN0cnVjdCB3cGFfc20gKnNtLAotIAkgICAgKHdwYV9zdXBwbGljYW50X2NoZWNrX2dyb3VwX2NpcGhlcihzbSwgc20tPmdyb3VwX2NpcGhlciwKLSAJCQkJCSAgICAgICBndGtfbGVuLCBndGtfbGVuLAotIAkJCQkJICAgICAgICZnZC5rZXlfcnNjX2xlbiwgJmdkLmFsZykgfHwKLS0JICAgICB3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2d0ayhzbSwgJmdkLCBrZXlfcnNjKSkpIHsKLSsJICAgICB3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2d0ayhzbSwgJmdkLCBrZXlfcnNjLCAwKSkpIHsKLSAJCXdwYV9kYmcoc20tPmN0eC0+bXNnX2N0eCwgTVNHX0RFQlVHLAotIAkJCSJSU046IEZhaWxlZCB0byBpbnN0YWxsIEdUSyIpOwotIAkJb3NfbWVtc2V0KCZnZCwgMCwgc2l6ZW9mKGdkKSk7Ci1AQCAtODY4LDE0ICs4NzcsMTggQEAgc3RhdGljIGludCB3cGFfc3VwcGxpY2FudF9wYWlyd2lzZV9ndGsoc3RydWN0IHdwYV9zbSAqc20sCi0gCi0gI2lmZGVmIENPTkZJR19JRUVFODAyMTFXCi0gc3RhdGljIGludCB3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2lndGsoc3RydWN0IHdwYV9zbSAqc20sCi0tCQkJCSAgICAgICBjb25zdCBzdHJ1Y3Qgd3BhX2lndGtfa2RlICppZ3RrKQotKwkJCQkgICAgICAgY29uc3Qgc3RydWN0IHdwYV9pZ3RrX2tkZSAqaWd0aywKLSsJCQkJICAgICAgIGludCB3bm1fc2xlZXApCi0gewotIAlzaXplX3QgbGVuID0gd3BhX2NpcGhlcl9rZXlfbGVuKHNtLT5tZ210X2dyb3VwX2NpcGhlcik7Ci0gCXUxNiBrZXlpZHggPSBXUEFfR0VUX0xFMTYoaWd0ay0+a2V5aWQpOwotIAotIAkvKiBEZXRlY3QgcG9zc2libGUga2V5IHJlaW5zdGFsbGF0aW9uICovCi0tCWlmIChzbS0+aWd0ay5pZ3RrX2xlbiA9PSBsZW4gJiYKLS0JICAgIG9zX21lbWNtcChzbS0+aWd0ay5pZ3RrLCBpZ3RrLT5pZ3RrLCBzbS0+aWd0ay5pZ3RrX2xlbikgPT0gMCkgewotKwlpZiAoKHNtLT5pZ3RrLmlndGtfbGVuID09IGxlbiAmJgotKwkgICAgIG9zX21lbWNtcChzbS0+aWd0ay5pZ3RrLCBpZ3RrLT5pZ3RrLCBzbS0+aWd0ay5pZ3RrX2xlbikgPT0gMCkgfHwKLSsJICAgIChzbS0+aWd0a193bm1fc2xlZXAuaWd0a19sZW4gPT0gbGVuICYmCi0rCSAgICAgb3NfbWVtY21wKHNtLT5pZ3RrX3dubV9zbGVlcC5pZ3RrLCBpZ3RrLT5pZ3RrLAotKwkJICAgICAgIHNtLT5pZ3RrX3dubV9zbGVlcC5pZ3RrX2xlbikgPT0gMCkpIHsKLSAJCXdwYV9kYmcoc20tPmN0eC0+bXNnX2N0eCwgTVNHX0RFQlVHLAotIAkJCSJXUEE6IE5vdCByZWluc3RhbGxpbmcgYWxyZWFkeSBpbi11c2UgSUdUSyB0byB0aGUgZHJpdmVyIChrZXlpZHg9JWQpIiwKLSAJCQlrZXlpZHgpOwotQEAgLTkwMCw4ICs5MTMsMTQgQEAgc3RhdGljIGludCB3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2lndGsoc3RydWN0IHdwYV9zbSAqc20sCi0gCQlyZXR1cm4gLTE7Ci0gCX0KLSAKLS0Jc20tPmlndGsuaWd0a19sZW4gPSBsZW47Ci0tCW9zX21lbWNweShzbS0+aWd0ay5pZ3RrLCBpZ3RrLT5pZ3RrLCBzbS0+aWd0ay5pZ3RrX2xlbik7Ci0rCWlmICh3bm1fc2xlZXApIHsKLSsJCXNtLT5pZ3RrX3dubV9zbGVlcC5pZ3RrX2xlbiA9IGxlbjsKLSsJCW9zX21lbWNweShzbS0+aWd0a193bm1fc2xlZXAuaWd0aywgaWd0ay0+aWd0aywKLSsJCQkgIHNtLT5pZ3RrX3dubV9zbGVlcC5pZ3RrX2xlbik7Ci0rCX0gZWxzZSB7Ci0rCQlzbS0+aWd0ay5pZ3RrX2xlbiA9IGxlbjsKLSsJCW9zX21lbWNweShzbS0+aWd0ay5pZ3RrLCBpZ3RrLT5pZ3RrLCBzbS0+aWd0ay5pZ3RrX2xlbik7Ci0rCX0KLSAKLSAJcmV0dXJuIDA7Ci0gfQotQEAgLTkyNCw3ICs5NDMsNyBAQCBzdGF0aWMgaW50IGllZWU4MDIxMXdfc2V0X2tleXMoc3RydWN0IHdwYV9zbSAqc20sCi0gCQkJcmV0dXJuIC0xOwotIAotIAkJaWd0ayA9IChjb25zdCBzdHJ1Y3Qgd3BhX2lndGtfa2RlICopIGllLT5pZ3RrOwotLQkJaWYgKHdwYV9zdXBwbGljYW50X2luc3RhbGxfaWd0ayhzbSwgaWd0aykgPCAwKQotKwkJaWYgKHdwYV9zdXBwbGljYW50X2luc3RhbGxfaWd0ayhzbSwgaWd0aywgMCkgPCAwKQotIAkJCXJldHVybiAtMTsKLSAJfQotIAotQEAgLTE1NzQsNyArMTU5Myw3IEBAIHN0YXRpYyB2b2lkIHdwYV9zdXBwbGljYW50X3Byb2Nlc3NfMV9vZl8yKHN0cnVjdCB3cGFfc20gKnNtLAotIAlpZiAod3BhX3N1cHBsaWNhbnRfcnNjX3JlbGF4YXRpb24oc20sIGtleS0+a2V5X3JzYykpCi0gCQlrZXlfcnNjID0gbnVsbF9yc2M7Ci0gCi0tCWlmICh3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2d0ayhzbSwgJmdkLCBrZXlfcnNjKSB8fAotKwlpZiAod3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9ndGsoc20sICZnZCwga2V5X3JzYywgMCkgfHwKLSAJICAgIHdwYV9zdXBwbGljYW50X3NlbmRfMl9vZl8yKHNtLCBrZXksIHZlciwga2V5X2luZm8pIDwgMCkKLSAJCWdvdG8gZmFpbGVkOwotIAlvc19tZW1zZXQoJmdkLCAwLCBzaXplb2YoZ2QpKTsKLUBAIC0yMzg2LDggKzI0MDUsMTAgQEAgdm9pZCB3cGFfc21fbm90aWZ5X2Fzc29jKHN0cnVjdCB3cGFfc20gKnNtLCBjb25zdCB1OCAqYnNzaWQpCi0gCQlzbS0+dHB0a19zZXQgPSAwOwotIAkJb3NfbWVtc2V0KCZzbS0+dHB0aywgMCwgc2l6ZW9mKHNtLT50cHRrKSk7Ci0gCQlvc19tZW1zZXQoJnNtLT5ndGssIDAsIHNpemVvZihzbS0+Z3RrKSk7Ci0rCQlvc19tZW1zZXQoJnNtLT5ndGtfd25tX3NsZWVwLCAwLCBzaXplb2Yoc20tPmd0a193bm1fc2xlZXApKTsKLSAjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVcKLSAJCW9zX21lbXNldCgmc20tPmlndGssIDAsIHNpemVvZihzbS0+aWd0aykpOwotKwkJb3NfbWVtc2V0KCZzbS0+aWd0a193bm1fc2xlZXAsIDAsIHNpemVvZihzbS0+aWd0a193bm1fc2xlZXApKTsKLSAjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVcgKi8KLSAJfQotIAotQEAgLTI5MjAsOCArMjk0MSwxMCBAQCB2b2lkIHdwYV9zbV9kcm9wX3NhKHN0cnVjdCB3cGFfc20gKnNtKQotIAlvc19tZW1zZXQoJnNtLT5wdGssIDAsIHNpemVvZihzbS0+cHRrKSk7Ci0gCW9zX21lbXNldCgmc20tPnRwdGssIDAsIHNpemVvZihzbS0+dHB0aykpOwotIAlvc19tZW1zZXQoJnNtLT5ndGssIDAsIHNpemVvZihzbS0+Z3RrKSk7Ci0rCW9zX21lbXNldCgmc20tPmd0a193bm1fc2xlZXAsIDAsIHNpemVvZihzbS0+Z3RrX3dubV9zbGVlcCkpOwotICNpZmRlZiBDT05GSUdfSUVFRTgwMjExVwotIAlvc19tZW1zZXQoJnNtLT5pZ3RrLCAwLCBzaXplb2Yoc20tPmlndGspKTsKLSsJb3NfbWVtc2V0KCZzbS0+aWd0a193bm1fc2xlZXAsIDAsIHNpemVvZihzbS0+aWd0a193bm1fc2xlZXApKTsKLSAjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVcgKi8KLSAjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVIKLSAJb3NfbWVtc2V0KHNtLT54eGtleSwgMCwgc2l6ZW9mKHNtLT54eGtleSkpOwotQEAgLTI5ODYsNyArMzAwOSw3IEBAIGludCB3cGFfd25tc2xlZXBfaW5zdGFsbF9rZXkoc3RydWN0IHdwYV9zbSAqc20sIHU4IHN1YmVsZW1faWQsIHU4ICpidWYpCi0gCi0gCQl3cGFfaGV4ZHVtcF9rZXkoTVNHX0RFQlVHLCAiSW5zdGFsbCBHVEsgKFdOTSBTTEVFUCkiLAotIAkJCQlnZC5ndGssIGdkLmd0a19sZW4pOwotLQkJaWYgKHdwYV9zdXBwbGljYW50X2luc3RhbGxfZ3RrKHNtLCAmZ2QsIGtleV9yc2MpKSB7Ci0rCQlpZiAod3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9ndGsoc20sICZnZCwga2V5X3JzYywgMSkpIHsKLSAJCQlvc19tZW1zZXQoJmdkLCAwLCBzaXplb2YoZ2QpKTsKLSAJCQl3cGFfcHJpbnRmKE1TR19ERUJVRywgIkZhaWxlZCB0byBpbnN0YWxsIHRoZSBHVEsgaW4gIgotIAkJCQkgICAiV05NIG1vZGUiKTsKLUBAIC0yOTk4LDcgKzMwMjEsNyBAQCBpbnQgd3BhX3dubXNsZWVwX2luc3RhbGxfa2V5KHN0cnVjdCB3cGFfc20gKnNtLCB1OCBzdWJlbGVtX2lkLCB1OCAqYnVmKQotIAkJY29uc3Qgc3RydWN0IHdwYV9pZ3RrX2tkZSAqaWd0azsKLSAKLSAJCWlndGsgPSAoY29uc3Qgc3RydWN0IHdwYV9pZ3RrX2tkZSAqKSAoYnVmICsgMik7Ci0tCQlpZiAod3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9pZ3RrKHNtLCBpZ3RrKSA8IDApCi0rCQlpZiAod3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9pZ3RrKHNtLCBpZ3RrLCAxKSA8IDApCi0gCQkJcmV0dXJuIC0xOwotICNlbmRpZiAvKiBDT05GSUdfSUVFRTgwMjExVyAqLwotIAl9IGVsc2UgewotZGlmZiAtLWdpdCBhL3NyYy9yc25fc3VwcC93cGFfaS5oIGIvc3JjL3Jzbl9zdXBwL3dwYV9pLmgKLWluZGV4IGFmYzllMzcuLjlhNTQ2MzEgMTAwNjQ0Ci0tLS0gYS9zcmMvcnNuX3N1cHAvd3BhX2kuaAotKysrIGIvc3JjL3Jzbl9zdXBwL3dwYV9pLmgKLUBAIC0zMiw4ICszMiwxMCBAQCBzdHJ1Y3Qgd3BhX3NtIHsKLSAJaW50IHJ4X3JlcGxheV9jb3VudGVyX3NldDsKLSAJdTggcmVxdWVzdF9jb3VudGVyW1dQQV9SRVBMQVlfQ09VTlRFUl9MRU5dOwotIAlzdHJ1Y3Qgd3BhX2d0ayBndGs7Ci0rCXN0cnVjdCB3cGFfZ3RrIGd0a193bm1fc2xlZXA7Ci0gI2lmZGVmIENPTkZJR19JRUVFODAyMTFXCi0gCXN0cnVjdCB3cGFfaWd0ayBpZ3RrOwotKwlzdHJ1Y3Qgd3BhX2lndGsgaWd0a193bm1fc2xlZXA7Ci0gI2VuZGlmIC8qIENPTkZJR19JRUVFODAyMTFXICovCi0gCi0gCXN0cnVjdCBlYXBvbF9zbSAqZWFwb2w7IC8qIEVBUE9MIHN0YXRlIG1hY2hpbmUgZnJvbSB1cHBlciBsZXZlbCBjb2RlICovCi0tLSAKLTIuNy40ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjMTk0ODYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk2ICswLDAgQEAKLVRoZSBXUEEyIGZvdXItd2F5IGhhbmRzaGFrZSBwcm90b2NvbCBpcyB2dWxuZXJhYmxlIHRvIHJlcGxheSBhdHRhY2tzIHdoaWNoIGNhbgotcmVzdWx0IGluIHVuYXV0aGVudGljYXRlZCBjbGllbnRzIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSBuZXR3b3JrLgotCi1CYWNrcG9ydCBhIG51bWJlciBvZiBwYXRjaGVzIGZyb20gdXBzdHJlYW0gdG8gZml4IHRoaXMuCi0KLUNWRTogQ1ZFLTIwMTctMTMwNzcKLUNWRTogQ1ZFLTIwMTctMTMwNzgKLUNWRTogQ1ZFLTIwMTctMTMwNzkKLUNWRTogQ1ZFLTIwMTctMTMwODAKLUNWRTogQ1ZFLTIwMTctMTMwODEKLUNWRTogQ1ZFLTIwMTctMTMwODIKLUNWRTogQ1ZFLTIwMTctMTMwODYKLUNWRTogQ1ZFLTIwMTctMTMwODcKLUNWRTogQ1ZFLTIwMTctMTMwODgKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSA4ZjgyYmM5NGU4Njk3YTlkNDdmYTg3NzRkZmRhYWVkZTEwODQ5MTJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0aHkgVmFuaG9lZiA8TWF0aHkuVmFuaG9lZkBjcy5rdWxldXZlbi5iZT4KLURhdGU6IEZyaSwgMjkgU2VwIDIwMTcgMDQ6MjI6NTEgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA0LzhdIFByZXZlbnQgaW5zdGFsbGF0aW9uIG9mIGFuIGFsbC16ZXJvIFRLCi0KLVByb3Blcmx5IHRyYWNrIHdoZXRoZXIgYSBQVEsgaGFzIGFscmVhZHkgYmVlbiBpbnN0YWxsZWQgdG8gdGhlIGRyaXZlcgotYW5kIHRoZSBUSyBwYXJ0IGNsZWFyZWQgZnJvbSBtZW1vcnkuIFRoaXMgcHJldmVudHMgYW4gYXR0YWNrZXIgZnJvbQotdHJ5aW5nIHRvIHRyaWNrIHRoZSBjbGllbnQgaW50byBpbnN0YWxsaW5nIGFuIGFsbC16ZXJvIFRLLgotCi1UaGlzIGZpeGVzIHRoZSBlYXJsaWVyIGZpeCBpbiBjb21taXQKLWFkMDBkNjRlN2Q4ODI3YjNjZWJkNjY1YTBjZWIwOGFkYWJmMTVlMWUgKCdGaXggVEsgY29uZmlndXJhdGlvbiB0byB0aGUKLWRyaXZlciBpbiBFQVBPTC1LZXkgMy80IHJldHJ5IGNhc2UnKSB3aGljaCBkaWQgbm90IHRha2UgaW50byBhY2NvdW50Ci1wb3NzaWJpbGl0eSBvZiBhbiBleHRyYSBtZXNzYWdlIDEvNCBzaG93aW5nIHVwIGJldHdlZW4gcmV0cmllcyBvZgotbWVzc2FnZSAzLzQuCi0KLVNpZ25lZC1vZmYtYnk6IE1hdGh5IFZhbmhvZWYgPE1hdGh5LlZhbmhvZWZAY3Mua3VsZXV2ZW4uYmU+Ci0tLS0KLSBzcmMvY29tbW9uL3dwYV9jb21tb24uaCB8IDEgKwotIHNyYy9yc25fc3VwcC93cGEuYyAgICAgIHwgNSArKy0tLQotIHNyYy9yc25fc3VwcC93cGFfaS5oICAgIHwgMSAtCi0gMyBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY29tbW9uL3dwYV9jb21tb24uaCBiL3NyYy9jb21tb24vd3BhX2NvbW1vbi5oCi1pbmRleCBkMjAwMjg1Li4xMDIxY2NiIDEwMDY0NAotLS0tIGEvc3JjL2NvbW1vbi93cGFfY29tbW9uLmgKLSsrKyBiL3NyYy9jb21tb24vd3BhX2NvbW1vbi5oCi1AQCAtMjE1LDYgKzIxNSw3IEBAIHN0cnVjdCB3cGFfcHRrIHsKLSAJc2l6ZV90IGtja19sZW47Ci0gCXNpemVfdCBrZWtfbGVuOwotIAlzaXplX3QgdGtfbGVuOwotKwlpbnQgaW5zdGFsbGVkOyAvKiAxIGlmIGtleSBoYXMgYWxyZWFkeSBiZWVuIGluc3RhbGxlZCB0byBkcml2ZXIgKi8KLSB9OwotIAotIHN0cnVjdCB3cGFfZ3RrIHsKLWRpZmYgLS1naXQgYS9zcmMvcnNuX3N1cHAvd3BhLmMgYi9zcmMvcnNuX3N1cHAvd3BhLmMKLWluZGV4IDdhMmM2OGQuLjA1NTBhNDEgMTAwNjQ0Ci0tLS0gYS9zcmMvcnNuX3N1cHAvd3BhLmMKLSsrKyBiL3NyYy9yc25fc3VwcC93cGEuYwotQEAgLTUxMCw3ICs1MTAsNiBAQCBzdGF0aWMgdm9pZCB3cGFfc3VwcGxpY2FudF9wcm9jZXNzXzFfb2ZfNChzdHJ1Y3Qgd3BhX3NtICpzbSwKLSAJCW9zX21lbXNldChidWYsIDAsIHNpemVvZihidWYpKTsKLSAJfQotIAlzbS0+dHB0a19zZXQgPSAxOwotLQlzbS0+dGtfdG9fc2V0ID0gMTsKLSAKLSAJa2RlID0gc20tPmFzc29jX3dwYV9pZTsKLSAJa2RlX2xlbiA9IHNtLT5hc3NvY193cGFfaWVfbGVuOwotQEAgLTYxNSw3ICs2MTQsNyBAQCBzdGF0aWMgaW50IHdwYV9zdXBwbGljYW50X2luc3RhbGxfcHRrKHN0cnVjdCB3cGFfc20gKnNtLAotIAllbnVtIHdwYV9hbGcgYWxnOwotIAljb25zdCB1OCAqa2V5X3JzYzsKLSAKLS0JaWYgKCFzbS0+dGtfdG9fc2V0KSB7Ci0rCWlmIChzbS0+cHRrLmluc3RhbGxlZCkgewotIAkJd3BhX2RiZyhzbS0+Y3R4LT5tc2dfY3R4LCBNU0dfREVCVUcsCi0gCQkJIldQQTogRG8gbm90IHJlLWluc3RhbGwgc2FtZSBQVEsgdG8gdGhlIGRyaXZlciIpOwotIAkJcmV0dXJuIDA7Ci1AQCAtNjU5LDcgKzY1OCw3IEBAIHN0YXRpYyBpbnQgd3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9wdGsoc3RydWN0IHdwYV9zbSAqc20sCi0gCi0gCS8qIFRLIGlzIG5vdCBuZWVkZWQgYW55bW9yZSBpbiBzdXBwbGljYW50ICovCi0gCW9zX21lbXNldChzbS0+cHRrLnRrLCAwLCBXUEFfVEtfTUFYX0xFTik7Ci0tCXNtLT50a190b19zZXQgPSAwOwotKwlzbS0+cHRrLmluc3RhbGxlZCA9IDE7Ci0gCi0gCWlmIChzbS0+d3BhX3B0a19yZWtleSkgewotIAkJZWxvb3BfY2FuY2VsX3RpbWVvdXQod3BhX3NtX3Jla2V5X3B0aywgc20sIE5VTEwpOwotZGlmZiAtLWdpdCBhL3NyYy9yc25fc3VwcC93cGFfaS5oIGIvc3JjL3Jzbl9zdXBwL3dwYV9pLmgKLWluZGV4IDlhNTQ2MzEuLjQxZjM3MWYgMTAwNjQ0Ci0tLS0gYS9zcmMvcnNuX3N1cHAvd3BhX2kuaAotKysrIGIvc3JjL3Jzbl9zdXBwL3dwYV9pLmgKLUBAIC0yNCw3ICsyNCw2IEBAIHN0cnVjdCB3cGFfc20gewotIAlzdHJ1Y3Qgd3BhX3B0ayBwdGssIHRwdGs7Ci0gCWludCBwdGtfc2V0LCB0cHRrX3NldDsKLSAJdW5zaWduZWQgaW50IG1zZ18zX29mXzRfb2s6MTsKLS0JdW5zaWduZWQgaW50IHRrX3RvX3NldDoxOwotIAl1OCBzbm9uY2VbV1BBX05PTkNFX0xFTl07Ci0gCXU4IGFub25jZVtXUEFfTk9OQ0VfTEVOXTsgLyogQU5vbmNlIGZyb20gdGhlIGxhc3QgMS80IG1zZyAqLwotIAlpbnQgcmVuZXdfc25vbmNlOwotLS0gCi0yLjcuNApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGU1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMjYyZGNhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi1UaGUgV1BBMiBmb3VyLXdheSBoYW5kc2hha2UgcHJvdG9jb2wgaXMgdnVsbmVyYWJsZSB0byByZXBsYXkgYXR0YWNrcyB3aGljaCBjYW4KLXJlc3VsdCBpbiB1bmF1dGhlbnRpY2F0ZWQgY2xpZW50cyBnYWluaW5nIGFjY2VzcyB0byB0aGUgbmV0d29yay4KLQotQmFja3BvcnQgYSBudW1iZXIgb2YgcGF0Y2hlcyBmcm9tIHVwc3RyZWFtIHRvIGZpeCB0aGlzLgotCi1DVkU6IENWRS0yMDE3LTEzMDc3Ci1DVkU6IENWRS0yMDE3LTEzMDc4Ci1DVkU6IENWRS0yMDE3LTEzMDc5Ci1DVkU6IENWRS0yMDE3LTEzMDgwCi1DVkU6IENWRS0yMDE3LTEzMDgxCi1DVkU6IENWRS0yMDE3LTEzMDgyCi1DVkU6IENWRS0yMDE3LTEzMDg2Ci1DVkU6IENWRS0yMDE3LTEzMDg3Ci1DVkU6IENWRS0yMDE3LTEzMDg4Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLUZyb20gMTJmYWMwOWI0MzdhMWRjOGEwZjI1M2UyNjU5MzRhOGFhZjRkMmY4YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEpvdW5pIE1hbGluZW4gPGpAdzEuZmk+Ci1EYXRlOiBTdW4sIDEgT2N0IDIwMTcgMTI6MzI6NTcgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCA1LzhdIEZpeCBQVEsgcmVrZXlpbmcgdG8gZ2VuZXJhdGUgYSBuZXcgQU5vbmNlCi0KLVRoZSBBdXRoZW50aWNhdG9yIHN0YXRlIG1hY2hpbmUgcGF0aCBmb3IgUFRLIHJla2V5aW5nIGVuZGVkIHVwIGJ5cGFzc2luZwotdGhlIEFVVEhFTlRJQ0FUSU9OMiBzdGF0ZSB3aGVyZSBhIG5ldyBBTm9uY2UgaXMgZ2VuZXJhdGVkIHdoZW4gZ29pbmcKLWRpcmVjdGx5IHRvIHRoZSBQVEtTVEFSVCBzdGF0ZSBzaW5jZSB0aGVyZSBpcyBubyBuZWVkIHRvIHRyeSB0bwotZGV0ZXJtaW5lIHRoZSBQTUsgYWdhaW4gaW4gc3VjaCBhIGNhc2UuIFRoaXMgaXMgZmFyIGZyb20gaWRlYWwgc2luY2UgdGhlCi1uZXcgUFRLIHdvdWxkIGRlcGVuZCBvbiBhIG5ldyBub25jZSBvbmx5IGZyb20gdGhlIHN1cHBsaWNhbnQuCi0KLUZpeCB0aGlzIGJ5IGdlbmVyYXRpbmcgYSBuZXcgQU5vbmNlIHdoZW4gbW92aW5nIHRvIHRoZSBQVEtTVEFSVCBzdGF0ZQotZm9yIHRoZSBwdXJwb3NlIG9mIHN0YXJ0aW5nIG5ldyA0LXdheSBoYW5kc2hha2UgdG8gcmVrZXkgUFRLLgotCi1TaWduZWQtb2ZmLWJ5OiBKb3VuaSBNYWxpbmVuIDxqQHcxLmZpPgotLS0tCi0gc3JjL2FwL3dwYV9hdXRoLmMgfCAyNCArKysrKysrKysrKysrKysrKysrKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9hcC93cGFfYXV0aC5jIGIvc3JjL2FwL3dwYV9hdXRoLmMKLWluZGV4IDcwNzk3MWQuLmJmMTBjYzEgMTAwNjQ0Ci0tLS0gYS9zcmMvYXAvd3BhX2F1dGguYwotKysrIGIvc3JjL2FwL3dwYV9hdXRoLmMKLUBAIC0xOTAxLDYgKzE5MDEsMjEgQEAgU01fU1RBVEUoV1BBX1BUSywgQVVUSEVOVElDQVRJT04yKQotIH0KLSAKLSAKLStzdGF0aWMgaW50IHdwYV9hdXRoX3NtX3B0a191cGRhdGUoc3RydWN0IHdwYV9zdGF0ZV9tYWNoaW5lICpzbSkKLSt7Ci0rCWlmIChyYW5kb21fZ2V0X2J5dGVzKHNtLT5BTm9uY2UsIFdQQV9OT05DRV9MRU4pKSB7Ci0rCQl3cGFfcHJpbnRmKE1TR19FUlJPUiwKLSsJCQkgICAiV1BBOiBGYWlsZWQgdG8gZ2V0IHJhbmRvbSBkYXRhIGZvciBBTm9uY2UiKTsKLSsJCXNtLT5EaXNjb25uZWN0ID0gVFJVRTsKLSsJCXJldHVybiAtMTsKLSsJfQotKwl3cGFfaGV4ZHVtcChNU0dfREVCVUcsICJXUEE6IEFzc2lnbiBuZXcgQU5vbmNlIiwgc20tPkFOb25jZSwKLSsJCSAgICBXUEFfTk9OQ0VfTEVOKTsKLSsJc20tPlRpbWVvdXRDdHIgPSAwOwotKwlyZXR1cm4gMDsKLSt9Ci0rCi0rCi0gU01fU1RBVEUoV1BBX1BUSywgSU5JVFBNSykKLSB7Ci0gCXU4IG1za1syICogUE1LX0xFTl07Ci1AQCAtMjQ1OCw5ICsyNDczLDEyIEBAIFNNX1NURVAoV1BBX1BUSykKLSAJCVNNX0VOVEVSKFdQQV9QVEssIEFVVEhFTlRJQ0FUSU9OKTsKLSAJZWxzZSBpZiAoc20tPlJlQXV0aGVudGljYXRpb25SZXF1ZXN0KQotIAkJU01fRU5URVIoV1BBX1BUSywgQVVUSEVOVElDQVRJT04yKTsKLS0JZWxzZSBpZiAoc20tPlBUS1JlcXVlc3QpCi0tCQlTTV9FTlRFUihXUEFfUFRLLCBQVEtTVEFSVCk7Ci0tCWVsc2Ugc3dpdGNoIChzbS0+d3BhX3B0a19zdGF0ZSkgewotKwllbHNlIGlmIChzbS0+UFRLUmVxdWVzdCkgewotKwkJaWYgKHdwYV9hdXRoX3NtX3B0a191cGRhdGUoc20pIDwgMCkKLSsJCQlTTV9FTlRFUihXUEFfUFRLLCBESVNDT05ORUNURUQpOwotKwkJZWxzZQotKwkJCVNNX0VOVEVSKFdQQV9QVEssIFBUS1NUQVJUKTsKLSsJfSBlbHNlIHN3aXRjaCAoc20tPndwYV9wdGtfc3RhdGUpIHsKLSAJY2FzZSBXUEFfUFRLX0lOSVRJQUxJWkU6Ci0gCQlicmVhazsKLSAJY2FzZSBXUEFfUFRLX0RJU0NPTk5FQ1Q6Ci0tLSAKLTIuNy40ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1MTgzZjQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0OSArMCwwIEBACi1UaGUgV1BBMiBmb3VyLXdheSBoYW5kc2hha2UgcHJvdG9jb2wgaXMgdnVsbmVyYWJsZSB0byByZXBsYXkgYXR0YWNrcyB3aGljaCBjYW4KLXJlc3VsdCBpbiB1bmF1dGhlbnRpY2F0ZWQgY2xpZW50cyBnYWluaW5nIGFjY2VzcyB0byB0aGUgbmV0d29yay4KLQotQmFja3BvcnQgYSBudW1iZXIgb2YgcGF0Y2hlcyBmcm9tIHVwc3RyZWFtIHRvIGZpeCB0aGlzLgotCi1DVkU6IENWRS0yMDE3LTEzMDc3Ci1DVkU6IENWRS0yMDE3LTEzMDc4Ci1DVkU6IENWRS0yMDE3LTEzMDc5Ci1DVkU6IENWRS0yMDE3LTEzMDgwCi1DVkU6IENWRS0yMDE3LTEzMDgxCi1DVkU6IENWRS0yMDE3LTEzMDgyCi1DVkU6IENWRS0yMDE3LTEzMDg2Ci1DVkU6IENWRS0yMDE3LTEzMDg3Ci1DVkU6IENWRS0yMDE3LTEzMDg4Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLUZyb20gNmM0YmVkNGY0N2QxOTYwZWMwNDk4MWE5ZDUwZTUwNzZhZWE1MjIzZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEpvdW5pIE1hbGluZW4gPGpAdzEuZmk+Ci1EYXRlOiBGcmksIDIyIFNlcCAyMDE3IDExOjAzOjE1ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0ggNi84XSBURExTOiBSZWplY3QgVFBLLVRLIHJlY29uZmlndXJhdGlvbgotCi1EbyBub3QgdHJ5IHRvIHJlY29uZmlndXJlIHRoZSBzYW1lIFRQSy1USyB0byB0aGUgZHJpdmVyIGFmdGVyIGl0IGhhcwotYmVlbiBzdWNjZXNzZnVsbHkgY29uZmlndXJlZC4gVGhpcyBpcyBhbiBleHBsaWNpdCBjaGVjayB0byBhdm9pZCBpc3N1ZXMKLXJlbGF0ZWQgdG8gcmVzZXR0aW5nIHRoZSBUWC9SWCBwYWNrZXQgbnVtYmVyLiBUaGVyZSB3YXMgYWxyZWFkeSBhIGNoZWNrCi1mb3IgdGhpcyBmb3IgVFBLIE0yIChyZXRyaWVzIG9mIHRoYXQgbWVzc2FnZSBhcmUgaWdub3JlZCBjb21wbGV0ZWx5KSwgc28KLXRoYXQgYmVoYXZpb3IgZG9lcyBub3QgZ2V0IG1vZGlmaWVkLgotCi1Gb3IgVFBLIE0zLCB0aGUgVFBLLVRLIGNvdWxkIGhhdmUgYmVlbiByZWNvbmZpZ3VyZWQsIGJ1dCB0aGF0IHdhcwotZm9sbG93ZWQgYnkgaW1tZWRpYXRlIHRlYXJkb3duIG9mIHRoZSBsaW5rIGR1ZSB0byBhbiBpc3N1ZSBpbiB1cGRhdGluZwotdGhlIFNUQSBlbnRyeS4gRnVydGhlcm1vcmUsIGZvciBURExTIHdpdGggYW55IHJlYWwgc2VjdXJpdHkgKGkuZS4sCi1pZ25vcmluZyBvcGVuL1dFUCksIHRoZSBUUEsgbWVzc2FnZSBleGNoYW5nZSBpcyBwcm90ZWN0ZWQgb24gdGhlIEFQIHBhdGgKLWFuZCBzaW1wbGUgcmVwbGF5IGF0dGFja3MgYXJlIG5vdCBmZWFzaWJsZS4KLQotQXMgYW4gYWRkaXRpb25hbCBjb3JuZXIgY2FzZSwgbWFrZSBzdXJlIHRoZSBsb2NhbCBub25jZSBnZXRzIHVwZGF0ZWQgaWYKLXRoZSBwZWVyIHVzZXMgYSB2ZXJ5IHVubGlrZWx5ICJyYW5kb20gbm9uY2UiIG9mIGFsbCB6ZXJvcy4KLQotU2lnbmVkLW9mZi1ieTogSm91bmkgTWFsaW5lbiA8akB3MS5maT4KLS0tLQotIHNyYy9yc25fc3VwcC90ZGxzLmMgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQotIDEgZmlsZSBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3RkbHMuYyBiL3NyYy9yc25fc3VwcC90ZGxzLmMKLWluZGV4IGU0MjQxNjguLjllYjk3MzggMTAwNjQ0Ci0tLS0gYS9zcmMvcnNuX3N1cHAvdGRscy5jCi0rKysgYi9zcmMvcnNuX3N1cHAvdGRscy5jCi1AQCAtMTEyLDYgKzExMiw3IEBAIHN0cnVjdCB3cGFfdGRsc19wZWVyIHsKLSAJCXU4IHRrWzE2XTsgLyogVFBLLVRLOyBhc3N1bWluZyBvbmx5IENDTVAgd2lsbCBiZSB1c2VkICovCi0gCX0gdHBrOwotIAlpbnQgdHBrX3NldDsKLSsJaW50IHRrX3NldDsgLyogVFBLLVRLIGNvbmZpZ3VyZWQgdG8gdGhlIGRyaXZlciAqLwotIAlpbnQgdHBrX3N1Y2Nlc3M7Ci0gCWludCB0cGtfaW5fcHJvZ3Jlc3M7Ci0gCi1AQCAtMTkyLDYgKzE5MywyMCBAQCBzdGF0aWMgaW50IHdwYV90ZGxzX3NldF9rZXkoc3RydWN0IHdwYV9zbSAqc20sIHN0cnVjdCB3cGFfdGRsc19wZWVyICpwZWVyKQotIAl1OCByc2NbNl07Ci0gCWVudW0gd3BhX2FsZyBhbGc7Ci0gCi0rCWlmIChwZWVyLT50a19zZXQpIHsKLSsJCS8qCi0rCQkgKiBUaGlzIHNhbWUgVFBLLVRLIGhhcyBhbHJlYWR5IGJlZW4gY29uZmlndXJlZCB0byB0aGUgZHJpdmVyCi0rCQkgKiBhbmQgdGhpcyBuZXcgY29uZmlndXJhdGlvbiBhdHRlbXB0IChsaWtlbHkgZHVlIHRvIGFuCi0rCQkgKiB1bmV4cGVjdGVkIHJldHJhbnNtaXR0ZWQgZnJhbWUpIHdvdWxkIHJlc3VsdCBpbiBjbGVhcmluZwotKwkJICogdGhlIFRYL1JYIHNlcXVlbmNlIG51bWJlciB3aGljaCBjYW4gYnJlYWsgc2VjdXJpdHksIHNvIG11c3QKLSsJCSAqIG5vdCBhbGxvdyB0aGF0IHRvIGhhcHBlbi4KLSsJCSAqLwotKwkJd3BhX3ByaW50ZihNU0dfSU5GTywgIlRETFM6IFRQSy1USyBmb3IgdGhlIHBlZXIgIiBNQUNTVFIKLSsJCQkgICAiIGhhcyBhbHJlYWR5IGJlZW4gY29uZmlndXJlZCB0byB0aGUgZHJpdmVyIC0gZG8gbm90IHJlY29uZmlndXJlIiwKLSsJCQkgICBNQUMyU1RSKHBlZXItPmFkZHIpKTsKLSsJCXJldHVybiAtMTsKLSsJfQotKwotIAlvc19tZW1zZXQocnNjLCAwLCA2KTsKLSAKLSAJc3dpdGNoIChwZWVyLT5jaXBoZXIpIHsKLUBAIC0yMDksMTIgKzIyNCwxNSBAQCBzdGF0aWMgaW50IHdwYV90ZGxzX3NldF9rZXkoc3RydWN0IHdwYV9zbSAqc20sIHN0cnVjdCB3cGFfdGRsc19wZWVyICpwZWVyKQotIAkJcmV0dXJuIC0xOwotIAl9Ci0gCi0rCXdwYV9wcmludGYoTVNHX0RFQlVHLCAiVERMUzogQ29uZmlndXJlIHBhaXJ3aXNlIGtleSBmb3IgcGVlciAiIE1BQ1NUUiwKLSsJCSAgIE1BQzJTVFIocGVlci0+YWRkcikpOwotIAlpZiAod3BhX3NtX3NldF9rZXkoc20sIGFsZywgcGVlci0+YWRkciwgLTEsIDEsCi0gCQkJICAgcnNjLCBzaXplb2YocnNjKSwgcGVlci0+dHBrLnRrLCBrZXlfbGVuKSA8IDApIHsKLSAJCXdwYV9wcmludGYoTVNHX1dBUk5JTkcsICJURExTOiBGYWlsZWQgdG8gc2V0IFRQSyB0byB0aGUgIgotIAkJCSAgICJkcml2ZXIiKTsKLSAJCXJldHVybiAtMTsKLSAJfQotKwlwZWVyLT50a19zZXQgPSAxOwotIAlyZXR1cm4gMDsKLSB9Ci0gCi1AQCAtNjk2LDcgKzcxNCw3IEBAIHN0YXRpYyB2b2lkIHdwYV90ZGxzX3BlZXJfY2xlYXIoc3RydWN0IHdwYV9zbSAqc20sIHN0cnVjdCB3cGFfdGRsc19wZWVyICpwZWVyKQotIAlwZWVyLT5jaXBoZXIgPSAwOwotIAlwZWVyLT5xb3NfaW5mbyA9IDA7Ci0gCXBlZXItPndtbV9jYXBhYmxlID0gMDsKLS0JcGVlci0+dHBrX3NldCA9IHBlZXItPnRwa19zdWNjZXNzID0gMDsKLSsJcGVlci0+dGtfc2V0ID0gcGVlci0+dHBrX3NldCA9IHBlZXItPnRwa19zdWNjZXNzID0gMDsKLSAJcGVlci0+Y2hhbl9zd2l0Y2hfZW5hYmxlZCA9IDA7Ci0gCW9zX21lbXNldCgmcGVlci0+dHBrLCAwLCBzaXplb2YocGVlci0+dHBrKSk7Ci0gCW9zX21lbXNldChwZWVyLT5pbm9uY2UsIDAsIFdQQV9OT05DRV9MRU4pOwotQEAgLTExNTksNiArMTE3Nyw3IEBAIHNraXBfcnNuaWU6Ci0gCQl3cGFfdGRsc19wZWVyX2ZyZWUoc20sIHBlZXIpOwotIAkJcmV0dXJuIC0xOwotIAl9Ci0rCXBlZXItPnRrX3NldCA9IDA7IC8qIEEgbmV3IG5vbmNlIHJlc3VsdHMgaW4gYSBuZXcgVEsgKi8KLSAJd3BhX2hleGR1bXAoTVNHX0RFQlVHLCAiVERMUzogSW5pdGlhdG9yIE5vbmNlIGZvciBUUEsgaGFuZHNoYWtlIiwKLSAJCSAgICBwZWVyLT5pbm9uY2UsIFdQQV9OT05DRV9MRU4pOwotIAlvc19tZW1jcHkoZnRpZS0+U25vbmNlLCBwZWVyLT5pbm9uY2UsIFdQQV9OT05DRV9MRU4pOwotQEAgLTE3NTEsNiArMTc3MCwxOSBAQCBzdGF0aWMgaW50IHdwYV90ZGxzX2FkZHNldF9wZWVyKHN0cnVjdCB3cGFfc20gKnNtLCBzdHJ1Y3Qgd3BhX3RkbHNfcGVlciAqcGVlciwKLSB9Ci0gCi0gCi0rc3RhdGljIGludCB0ZGxzX25vbmNlX3NldChjb25zdCB1OCAqbm9uY2UpCi0rewotKwlpbnQgaTsKLSsKLSsJZm9yIChpID0gMDsgaSA8IFdQQV9OT05DRV9MRU47IGkrKykgewotKwkJaWYgKG5vbmNlW2ldKQotKwkJCXJldHVybiAxOwotKwl9Ci0rCi0rCXJldHVybiAwOwotK30KLSsKLSsKLSBzdGF0aWMgaW50IHdwYV90ZGxzX3Byb2Nlc3NfdHBrX20xKHN0cnVjdCB3cGFfc20gKnNtLCBjb25zdCB1OCAqc3JjX2FkZHIsCi0gCQkJCSAgIGNvbnN0IHU4ICpidWYsIHNpemVfdCBsZW4pCi0gewotQEAgLTIwMDQsNyArMjAzNiw4IEBAIHNraXBfcnNuOgotIAlwZWVyLT5yc25pZV9pX2xlbiA9IGtkZS5yc25faWVfbGVuOwotIAlwZWVyLT5jaXBoZXIgPSBjaXBoZXI7Ci0gCi0tCWlmIChvc19tZW1jbXAocGVlci0+aW5vbmNlLCBmdGllLT5Tbm9uY2UsIFdQQV9OT05DRV9MRU4pICE9IDApIHsKLSsJaWYgKG9zX21lbWNtcChwZWVyLT5pbm9uY2UsIGZ0aWUtPlNub25jZSwgV1BBX05PTkNFX0xFTikgIT0gMCB8fAotKwkgICAgIXRkbHNfbm9uY2Vfc2V0KHBlZXItPmlub25jZSkpIHsKLSAJCS8qCi0gCQkgKiBUaGVyZSBpcyBubyBwb2ludCBpbiB1cGRhdGluZyB0aGUgUk5vbmNlIGZvciBldmVyeSBvYnRhaW5lZAotIAkJICogVFBLIE0xIGZyYW1lIChlLmcuLCByZXRyYW5zbWlzc2lvbiBkdWUgdG8gdGltZW91dCkgd2l0aCB0aGUKLUBAIC0yMDIwLDYgKzIwNTMsNyBAQCBza2lwX3JzbjoKLSAJCQkJIlRETFM6IEZhaWxlZCB0byBnZXQgcmFuZG9tIGRhdGEgZm9yIHJlc3BvbmRlciBub25jZSIpOwotIAkJCWdvdG8gZXJyb3I7Ci0gCQl9Ci0rCQlwZWVyLT50a19zZXQgPSAwOyAvKiBBIG5ldyBub25jZSByZXN1bHRzIGluIGEgbmV3IFRLICovCi0gCX0KLSAKLSAjaWYgMAotLS0gCi0yLjcuNApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGU3LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZTEyYmM3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi1UaGUgV1BBMiBmb3VyLXdheSBoYW5kc2hha2UgcHJvdG9jb2wgaXMgdnVsbmVyYWJsZSB0byByZXBsYXkgYXR0YWNrcyB3aGljaCBjYW4KLXJlc3VsdCBpbiB1bmF1dGhlbnRpY2F0ZWQgY2xpZW50cyBnYWluaW5nIGFjY2VzcyB0byB0aGUgbmV0d29yay4KLQotQmFja3BvcnQgYSBudW1iZXIgb2YgcGF0Y2hlcyBmcm9tIHVwc3RyZWFtIHRvIGZpeCB0aGlzLgotCi1DVkU6IENWRS0yMDE3LTEzMDc3Ci1DVkU6IENWRS0yMDE3LTEzMDc4Ci1DVkU6IENWRS0yMDE3LTEzMDc5Ci1DVkU6IENWRS0yMDE3LTEzMDgwCi1DVkU6IENWRS0yMDE3LTEzMDgxCi1DVkU6IENWRS0yMDE3LTEzMDgyCi1DVkU6IENWRS0yMDE3LTEzMDg2Ci1DVkU6IENWRS0yMDE3LTEzMDg3Ci1DVkU6IENWRS0yMDE3LTEzMDg4Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLUZyb20gNTNjNWViNThlOTUwMDRmODZlNjVlZTlmYmZjY2JjMjkxYjEzOTA1NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEpvdW5pIE1hbGluZW4gPGpAdzEuZmk+Ci1EYXRlOiBGcmksIDIyIFNlcCAyMDE3IDExOjI1OjAyICswMzAwCi1TdWJqZWN0OiBbUEFUQ0ggNy84XSBXTk06IElnbm9yZSBXTk0tU2xlZXAgTW9kZSBSZXNwb25zZSB3aXRob3V0IHBlbmRpbmcKLSByZXF1ZXN0Ci0KLUNvbW1pdCAwM2VkMGE1MjM5MzcxMGJlNmJkYWU2NTdkMWIzNmVmYTE0NjUyMGU1ICgnV05NOiBJZ25vcmUgV05NLVNsZWVwCi1Nb2RlIFJlc3BvbnNlIGlmIFdOTS1TbGVlcCBNb2RlIGhhcyBub3QgYmVlbiB1c2VkJykgc3RhcnRlZCBpZ25vcmluZyB0aGUKLXJlc3BvbnNlIHdoZW4gbm8gV05NLVNsZWVwIE1vZGUgUmVxdWVzdCBoYWQgYmVlbiB1c2VkIGR1cmluZyB0aGUKLWFzc29jaWF0aW9uLiBUaGlzIGNhbiBiZSBtYWRlIHRpZ2h0ZXIgYnkgY2xlYXJpbmcgdGhlIHVzZWQgZmxhZyB3aGVuCi1zdWNjZXNzZnVsbHkgcHJvY2Vzc2luZyBhIHJlc3BvbnNlLiBUaGlzIGFkZHMgYW4gYWRkaXRpb25hbCBsYXllciBvZgotcHJvdGVjdGlvbiBhZ2FpbnN0IHVuZXhwZWN0ZWQgcmV0cmFuc21pc3Npb25zIG9mIHRoZSByZXNwb25zZSBmcmFtZS4KLQotU2lnbmVkLW9mZi1ieTogSm91bmkgTWFsaW5lbiA8akB3MS5maT4KLS0tLQotIHdwYV9zdXBwbGljYW50L3dubV9zdGEuYyB8IDQgKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3dwYV9zdXBwbGljYW50L3dubV9zdGEuYyBiL3dwYV9zdXBwbGljYW50L3dubV9zdGEuYwotaW5kZXggMWIzNDA5Yy4uNjdhMDdmZiAxMDA2NDQKLS0tLSBhL3dwYV9zdXBwbGljYW50L3dubV9zdGEuYwotKysrIGIvd3BhX3N1cHBsaWNhbnQvd25tX3N0YS5jCi1AQCAtMjYwLDcgKzI2MCw3IEBAIHN0YXRpYyB2b2lkIGllZWU4MDJfMTFfcnhfd25tc2xlZXBfcmVzcChzdHJ1Y3Qgd3BhX3N1cHBsaWNhbnQgKndwYV9zLAotIAotIAlpZiAoIXdwYV9zLT53bm1zbGVlcF91c2VkKSB7Ci0gCQl3cGFfcHJpbnRmKE1TR19ERUJVRywKLS0JCQkgICAiV05NOiBJZ25vcmUgV05NLVNsZWVwIE1vZGUgUmVzcG9uc2UgZnJhbWUgc2luY2UgV05NLVNsZWVwIE1vZGUgaGFzIG5vdCBiZWVuIHVzZWQgaW4gdGhpcyBhc3NvY2lhdGlvbiIpOwotKwkJCSAgICJXTk06IElnbm9yZSBXTk0tU2xlZXAgTW9kZSBSZXNwb25zZSBmcmFtZSBzaW5jZSBXTk0tU2xlZXAgTW9kZSBvcGVyYXRpb24gaGFzIG5vdCBiZWVuIHJlcXVlc3RlZCIpOwotIAkJcmV0dXJuOwotIAl9Ci0gCi1AQCAtMjk5LDYgKzI5OSw4IEBAIHN0YXRpYyB2b2lkIGllZWU4MDJfMTFfcnhfd25tc2xlZXBfcmVzcChzdHJ1Y3Qgd3BhX3N1cHBsaWNhbnQgKndwYV9zLAotIAkJcmV0dXJuOwotIAl9Ci0gCi0rCXdwYV9zLT53bm1zbGVlcF91c2VkID0gMDsKLSsKLSAJaWYgKHdubXNsZWVwX2llLT5zdGF0dXMgPT0gV05NX1NUQVRVU19TTEVFUF9BQ0NFUFQgfHwKLSAJICAgIHdubXNsZWVwX2llLT5zdGF0dXMgPT0gV05NX1NUQVRVU19TTEVFUF9FWElUX0FDQ0VQVF9HVEtfVVBEQVRFKSB7Ci0gCQl3cGFfcHJpbnRmKE1TR19ERUJVRywgIlN1Y2Nlc3NmdWxseSByZWN2IFdOTS1TbGVlcCBSZXNwb25zZSAiCi0tLSAKLTIuNy40ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlOC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmNTM5MGMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlOC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk5ICswLDAgQEAKLVRoZSBXUEEyIGZvdXItd2F5IGhhbmRzaGFrZSBwcm90b2NvbCBpcyB2dWxuZXJhYmxlIHRvIHJlcGxheSBhdHRhY2tzIHdoaWNoIGNhbgotcmVzdWx0IGluIHVuYXV0aGVudGljYXRlZCBjbGllbnRzIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSBuZXR3b3JrLgotCi1CYWNrcG9ydCBhIG51bWJlciBvZiBwYXRjaGVzIGZyb20gdXBzdHJlYW0gdG8gZml4IHRoaXMuCi0KLUNWRTogQ1ZFLTIwMTctMTMwNzcKLUNWRTogQ1ZFLTIwMTctMTMwNzgKLUNWRTogQ1ZFLTIwMTctMTMwNzkKLUNWRTogQ1ZFLTIwMTctMTMwODAKLUNWRTogQ1ZFLTIwMTctMTMwODEKLUNWRTogQ1ZFLTIwMTctMTMwODIKLUNWRTogQ1ZFLTIwMTctMTMwODYKLUNWRTogQ1ZFLTIwMTctMTMwODcKLUNWRTogQ1ZFLTIwMTctMTMwODgKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSBiMzcyYWIwYjdkYWVhNzE5NzQ5MTk0ZGM1NTRiMjZlNjM2NzYwM2YyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSm91bmkgTWFsaW5lbiA8akB3MS5maT4KLURhdGU6IEZyaSwgMjIgU2VwIDIwMTcgMTI6MDY6MzcgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCA4LzhdIEZUOiBEbyBub3QgYWxsb3cgbXVsdGlwbGUgUmVhc3NvY2lhdGlvbiBSZXNwb25zZSBmcmFtZXMKLQotVGhlIGRyaXZlciBpcyBleHBlY3RlZCB0byBub3QgcmVwb3J0IGEgc2Vjb25kIGFzc29jaWF0aW9uIGV2ZW50IHdpdGhvdXQKLXRoZSBzdGF0aW9uIGhhdmluZyBleHBsaWNpdGx5IHJlcXVlc3QgYSBuZXcgYXNzb2NpYXRpb24uIEFzIHN1Y2gsIHRoaXMKLWNhc2Ugc2hvdWxkIG5vdCBiZSByZWFjaGFibGUuIEhvd2V2ZXIsIHNpbmNlIHJlY29uZmlndXJpbmcgdGhlIHNhbWUKLXBhaXJ3aXNlIG9yIGdyb3VwIGtleXMgdG8gdGhlIGRyaXZlciBjb3VsZCByZXN1bHQgaW4gbm9uY2UgcmV1c2UgaXNzdWVzLAotYmUgZXh0cmEgY2FyZWZ1bCBoZXJlIGFuZCBkbyBhbiBhZGRpdGlvbmFsIHN0YXRlIGNoZWNrIHRvIGF2b2lkIHRoaXMKLWV2ZW4gaWYgdGhlIGxvY2FsIGRyaXZlciBlbmRzIHVwIHNvbWVob3cgYWNjZXB0aW5nIGFuIHVuZXhwZWN0ZWQKLVJlYXNzb2NpYXRpb24gUmVzcG9uc2UgZnJhbWUuCi0KLVNpZ25lZC1vZmYtYnk6IEpvdW5pIE1hbGluZW4gPGpAdzEuZmk+Ci0tLS0KLSBzcmMvcnNuX3N1cHAvd3BhLmMgICAgfCAzICsrKwotIHNyYy9yc25fc3VwcC93cGFfZnQuYyB8IDggKysrKysrKysKLSBzcmMvcnNuX3N1cHAvd3BhX2kuaCAgfCAxICsKLSAzIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9yc25fc3VwcC93cGEuYyBiL3NyYy9yc25fc3VwcC93cGEuYwotaW5kZXggMDU1MGE0MS4uMmE1M2M2ZiAxMDA2NDQKLS0tLSBhL3NyYy9yc25fc3VwcC93cGEuYwotKysrIGIvc3JjL3Jzbl9zdXBwL3dwYS5jCi1AQCAtMjQ0MCw2ICsyNDQwLDkgQEAgdm9pZCB3cGFfc21fbm90aWZ5X2Rpc2Fzc29jKHN0cnVjdCB3cGFfc20gKnNtKQotICNpZmRlZiBDT05GSUdfVERMUwotIAl3cGFfdGRsc19kaXNhc3NvYyhzbSk7Ci0gI2VuZGlmIC8qIENPTkZJR19URExTICovCi0rI2lmZGVmIENPTkZJR19JRUVFODAyMTFSCi0rCXNtLT5mdF9yZWFzc29jX2NvbXBsZXRlZCA9IDA7Ci0rI2VuZGlmIC8qIENPTkZJR19JRUVFODAyMTFSICovCi0gCi0gCS8qIEtleXMgYXJlIG5vdCBuZWVkZWQgaW4gdGhlIFdQQSBzdGF0ZSBtYWNoaW5lIGFueW1vcmUgKi8KLSAJd3BhX3NtX2Ryb3Bfc2Eoc20pOwotZGlmZiAtLWdpdCBhL3NyYy9yc25fc3VwcC93cGFfZnQuYyBiL3NyYy9yc25fc3VwcC93cGFfZnQuYwotaW5kZXggMjA1NzkzZS4uZDQ1YmI0NSAxMDA2NDQKLS0tLSBhL3NyYy9yc25fc3VwcC93cGFfZnQuYwotKysrIGIvc3JjL3Jzbl9zdXBwL3dwYV9mdC5jCi1AQCAtMTUzLDYgKzE1Myw3IEBAIHN0YXRpYyB1OCAqIHdwYV9mdF9nZW5fcmVxX2llcyhzdHJ1Y3Qgd3BhX3NtICpzbSwgc2l6ZV90ICpsZW4sCi0gCXUxNiBjYXBhYjsKLSAKLSAJc20tPmZ0X2NvbXBsZXRlZCA9IDA7Ci0rCXNtLT5mdF9yZWFzc29jX2NvbXBsZXRlZCA9IDA7Ci0gCi0gCWJ1Zl9sZW4gPSAyICsgc2l6ZW9mKHN0cnVjdCByc25fbWRpZSkgKyAyICsgc2l6ZW9mKHN0cnVjdCByc25fZnRpZSkgKwotIAkJMiArIHNtLT5yMGtoX2lkX2xlbiArIHJpY19pZXNfbGVuICsgMTAwOwotQEAgLTY4MSw2ICs2ODIsMTEgQEAgaW50IHdwYV9mdF92YWxpZGF0ZV9yZWFzc29jX3Jlc3Aoc3RydWN0IHdwYV9zbSAqc20sIGNvbnN0IHU4ICppZXMsCi0gCQlyZXR1cm4gLTE7Ci0gCX0KLSAKLSsJaWYgKHNtLT5mdF9yZWFzc29jX2NvbXBsZXRlZCkgewotKwkJd3BhX3ByaW50ZihNU0dfREVCVUcsICJGVDogUmVhc3NvY2lhdGlvbiBoYXMgYWxyZWFkeSBiZWVuIGNvbXBsZXRlZCBmb3IgdGhpcyBGVCBwcm90b2NvbCBpbnN0YW5jZSAtIGlnbm9yZSB1bmV4cGVjdGVkIHJldHJhbnNtaXNzaW9uIik7Ci0rCQlyZXR1cm4gMDsKLSsJfQotKwotIAlpZiAod3BhX2Z0X3BhcnNlX2llcyhpZXMsIGllc19sZW4sICZwYXJzZSkgPCAwKSB7Ci0gCQl3cGFfcHJpbnRmKE1TR19ERUJVRywgIkZUOiBGYWlsZWQgdG8gcGFyc2UgSUVzIik7Ci0gCQlyZXR1cm4gLTE7Ci1AQCAtNzgxLDYgKzc4Nyw4IEBAIGludCB3cGFfZnRfdmFsaWRhdGVfcmVhc3NvY19yZXNwKHN0cnVjdCB3cGFfc20gKnNtLCBjb25zdCB1OCAqaWVzLAotIAkJcmV0dXJuIC0xOwotIAl9Ci0gCi0rCXNtLT5mdF9yZWFzc29jX2NvbXBsZXRlZCA9IDE7Ci0rCi0gCWlmICh3cGFfZnRfcHJvY2Vzc19ndGtfc3ViZWxlbShzbSwgcGFyc2UuZ3RrLCBwYXJzZS5ndGtfbGVuKSA8IDApCi0gCQlyZXR1cm4gLTE7Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3dwYV9pLmggYi9zcmMvcnNuX3N1cHAvd3BhX2kuaAotaW5kZXggNDFmMzcxZi4uNTZmODhkYyAxMDA2NDQKLS0tLSBhL3NyYy9yc25fc3VwcC93cGFfaS5oCi0rKysgYi9zcmMvcnNuX3N1cHAvd3BhX2kuaAotQEAgLTEyOCw2ICsxMjgsNyBAQCBzdHJ1Y3Qgd3BhX3NtIHsKLSAJc2l6ZV90IHIwa2hfaWRfbGVuOwotIAl1OCByMWtoX2lkW0ZUX1IxS0hfSURfTEVOXTsKLSAJaW50IGZ0X2NvbXBsZXRlZDsKLSsJaW50IGZ0X3JlYXNzb2NfY29tcGxldGVkOwotIAlpbnQgb3Zlcl90aGVfZHNfaW5fcHJvZ3Jlc3M7Ci0gCXU4IHRhcmdldF9hcFtFVEhfQUxFTl07IC8qIG92ZXItdGhlLURTIHRhcmdldCBBUCAqLwotIAlpbnQgc2V0X3B0a19hZnRlcl9hc3NvYzsKLS0tIAotMi43LjQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQvd3BhX3N1cHBsaWNhbnQtQ1ZFLTIwMTgtMTQ1MjYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQvd3BhX3N1cHBsaWNhbnQtQ1ZFLTIwMTgtMTQ1MjYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU4MDBhNDEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L3dwYV9zdXBwbGljYW50LUNWRS0yMDE4LTE0NTI2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotd3BhX3N1cHBsaWNhbnQtMi42OiBGaXggQ1ZFLTIwMTgtMTQ1MjYKLQotW05vIHVwc3RyZWFtIHRyYWNraW5nXSAtLSBodHRwczovL3cxLmZpL3NlY3VyaXR5LzIwMTgtMS91bmF1dGhlbnRpY2F0ZWQtZWFwb2wta2V5LWRlY3J5cHRpb24udHh0Ci0KLXdwYTogSWdub3JlIHVuYXV0aGVudGljYXRlZCBlbmNyeXB0ZWQgRUFQT0wtS2V5IGRhdGEKLQotSWdub3JlIHVuYXV0aGVudGljYXRlZCBlbmNyeXB0ZWQgRUFQT0wtS2V5IGRhdGEgaW4gc3VwcGxpY2FudAotcHJvY2Vzc2luZy4gV2hlbiB1c2luZyBXUEEyLCB0aGVzZSBhcmUgZnJhbWVzIHRoYXQgaGF2ZSB0aGUgRW5jcnlwdGVkCi1mbGFnIHNldCwgYnV0IG5vdCB0aGUgTUlDIGZsYWcuCi0KLVdoZW4gdXNpbmcgV1BBMiwgRUFQT0wtS2V5IGZyYW1lcyB0aGF0IGhhZCB0aGUgRW5jcnlwdGVkIGZsYWcgc2V0IGJ1dAotbm90IHRoZSBNSUMgZmxhZywgaGFkIHRoZWlyIGRhdGEgZmllbGQgZGVjcnlwdGVkIHdpdGhvdXQgZmlyc3QgdmVyaWZ5aW5nCi10aGUgTUlDLiBJbiBjYXNlIHRoZSBkYXRhIGZpZWxkIHdhcyBlbmNyeXB0ZWQgdXNpbmcgUkM0IChpLmUuLCB3aGVuCi1uZWdvdGlhdGluZyBUS0lQIGFzIHRoZSBwYWlyd2lzZSBjaXBoZXIpLCB0aGlzIG1lYW50IHRoYXQKLXVuYXV0aGVudGljYXRlZCBidXQgZGVjcnlwdGVkIGRhdGEgd291bGQgdGhlbiBiZSBwcm9jZXNzZWQuIEFuIGFkdmVyc2FyeQotY291bGQgYWJ1c2UgdGhpcyBhcyBhIGRlY3J5cHRpb24gb3JhY2xlIHRvIHJlY292ZXIgc2Vuc2l0aXZlIGluZm9ybWF0aW9uCi1pbiB0aGUgZGF0YSBmaWVsZCBvZiBFQVBPTC1LZXkgbWVzc2FnZXMgKGUuZy4sIHRoZSBncm91cCBrZXkpLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL3cxLmZpL2NnaXQvaG9zdGFwL2NvbW1pdC9zcmMvcnNuX3N1cHAvd3BhLmM/aWQ9M2UzNGNmZGZmNmIxOTJmZTMzN2M2ZmIzZjQ4N2Y3M2U5NjU4Mjk2MV0KLUNWRTogQ1ZFLTIwMTgtMTQ1MjYKLVNpZ25lZC1vZmYtYnk6IEFuZHJlaiBWYWxlayA8YW5kcmVqLnZhbGVrQHNpZW1lbnMuY29tPgotCi1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3dwYS5jIGIvc3JjL3Jzbl9zdXBwL3dwYS5jCi1pbmRleCAzYzQ3ODc5Li42YmRmOTIzIDEwMDY0NAotLS0tIGEvc3JjL3Jzbl9zdXBwL3dwYS5jCi0rKysgYi9zcmMvcnNuX3N1cHAvd3BhLmMKLUBAIC0yMDE2LDYgKzIwMTYsMTcgQEAgaW50IHdwYV9zbV9yeF9lYXBvbChzdHJ1Y3Qgd3BhX3NtICpzbSwgY29uc3QgdTggKnNyY19hZGRyLAotCi0gCWlmICgoc20tPnByb3RvID09IFdQQV9QUk9UT19SU04gfHwgc20tPnByb3RvID09IFdQQV9QUk9UT19PU0VOKSAmJgotIAkgICAgKGtleV9pbmZvICYgV1BBX0tFWV9JTkZPX0VOQ1JfS0VZX0RBVEEpKSB7Ci0rCQkvKgotKwkJICogT25seSBkZWNyeXB0IHRoZSBLZXkgRGF0YSBmaWVsZCBpZiB0aGUgZnJhbWUncyBhdXRoZW50aWNpdHkKLSsJCSAqIHdhcyB2ZXJpZmllZC4gV2hlbiB1c2luZyBBRVMtU0lWIChGSUxTKSwgdGhlIE1JQyBmbGFnIGlzIG5vdAotKwkJICogc2V0LCBzbyB0aGlzIGNoZWNrIHNob3VsZCBvbmx5IGJlIHBlcmZvcm1lZCBpZiBtaWNfbGVuICE9IDAKLSsJCSAqIHdoaWNoIGlzIHRoZSBjYXNlIGluIHRoaXMgY29kZSBicmFuY2guCi0rCQkgKi8KLSsJCWlmICghKGtleV9pbmZvICYgV1BBX0tFWV9JTkZPX01JQykpIHsKLSsJCQl3cGFfbXNnKHNtLT5jdHgtPm1zZ19jdHgsIE1TR19XQVJOSU5HLAotKwkJCQkiV1BBOiBJZ25vcmUgRUFQT0wtS2V5IHdpdGggZW5jcnlwdGVkIGJ1dCB1bmF1dGhlbnRpY2F0ZWQgZGF0YSIpOwotKwkJCWdvdG8gb3V0OwotKwkJfQotIAkJaWYgKHdwYV9zdXBwbGljYW50X2RlY3J5cHRfa2V5X2RhdGEoc20sIGtleSwgdmVyLCBrZXlfZGF0YSwKLSAJCQkJCQkgICAgJmtleV9kYXRhX2xlbikpCi0gCQkJZ290byBvdXQ7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnRfMi42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50XzIuNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWE0YzRjMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnRfMi42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTE5ICswLDAgQEAKLVNVTU1BUlkgPSAiQ2xpZW50IGZvciBXaS1GaSBQcm90ZWN0ZWQgQWNjZXNzIChXUEEpIgotSE9NRVBBR0UgPSAiaHR0cDovL3cxLmZpL3dwYV9zdXBwbGljYW50LyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL3cxLmZpL3NlY3VyaXR5LyIKLVNFQ1RJT04gPSAibmV0d29yayIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjkyZWVjZTNmMmViYmFhMjU2MDhlZWQ4NDY0MDE4YTMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0xO2VuZGxpbmU9NTY7bWQ1PTNmMDFkNzc4YmU4Zjk1Mzk2MjM4ODMwN2VlMzhlZDJiIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3dwYV9zdXBwbGljYW50L3dwYV9zdXBwbGljYW50LmM7YmVnaW5saW5lPTE7ZW5kbGluZT0xMjttZDU9NDA2MTYxMmZjNTcxNTY5NjEzNGUzYmFmOTMzZThhYmEiCi1ERVBFTkRTID0gImRidXMgbGlibmwiCi1SUkVDT01NRU5EU18ke1BOfSA9ICJ3cGEtc3VwcGxpY2FudC1wYXNzcGhyYXNlIHdwYS1zdXBwbGljYW50LWNsaSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyIKLVBBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICIsLGdudXRscyBsaWJnY3J5cHQiCi1QQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIiwsb3BlbnNzbCIKLQotaW5oZXJpdCBwa2djb25maWcgc3lzdGVtZAotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAid3BhX3N1cHBsaWNhbnQuc2VydmljZSB3cGFfc3VwcGxpY2FudC1ubDgwMjExQC5zZXJ2aWNlIHdwYV9zdXBwbGljYW50LXdpcmVkQC5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1TUkNfVVJJID0gImh0dHA6Ly93MS5maS9yZWxlYXNlcy93cGFfc3VwcGxpY2FudC0ke1BWfS50YXIuZ3ogIFwKLSAgICAgICAgICAgZmlsZTovL2RlZmNvbmZpZyBcCi0gICAgICAgICAgIGZpbGU6Ly93cGEtc3VwcGxpY2FudC5zaCBcCi0gICAgICAgICAgIGZpbGU6Ly93cGFfc3VwcGxpY2FudC5jb25mIFwKLSAgICAgICAgICAgZmlsZTovL3dwYV9zdXBwbGljYW50LmNvbmYtc2FuZSBcCi0gICAgICAgICAgIGZpbGU6Ly85OV93cGFfc3VwcGxpY2FudCBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTEucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8va2V5LXJlcGxheS1jdmUtbXVsdGlwbGUyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2tleS1yZXBsYXktY3ZlLW11bHRpcGxlMy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8va2V5LXJlcGxheS1jdmUtbXVsdGlwbGU1LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8va2V5LXJlcGxheS1jdmUtbXVsdGlwbGU4LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3dwYV9zdXBwbGljYW50LUNWRS0yMDE4LTE0NTI2LnBhdGNoIFwKLSAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiMDkxNTY5ZWI0NDQwYjdkN2YyYjQyNzZkYmZjMDNjM2MiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjQ5MzZkMzRjNGU2Y2RkNDQ5NTRiZWJhNzQyOTZkOTY0YmMyYzk2NjhlY2FhNTI1NWU0OTk2MzZmZTJiMTQ1MCIKLQotQ1ZFX1BST0RVQ1QgPSAid3BhX3N1cHBsaWNhbnQiCi0KLVMgPSAiJHtXT1JLRElSfS93cGFfc3VwcGxpY2FudC0ke1BWfSIKLQotUEFDS0FHRVNfcHJlcGVuZCA9ICJ3cGEtc3VwcGxpY2FudC1wYXNzcGhyYXNlIHdwYS1zdXBwbGljYW50LWNsaSAiCi1GSUxFU193cGEtc3VwcGxpY2FudC1wYXNzcGhyYXNlID0gIiR7YmluZGlyfS93cGFfcGFzc3BocmFzZSIKLUZJTEVTX3dwYS1zdXBwbGljYW50LWNsaSA9ICIke3NiaW5kaXJ9L3dwYV9jbGkiCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzLyoiCi1DT05GRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vd3BhX3N1cHBsaWNhbnQuY29uZiIKLQotZG9fY29uZmlndXJlICgpIHsKLQkke01BS0V9IC1DIHdwYV9zdXBwbGljYW50IGNsZWFuCi0JaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZGVmY29uZmlnIHdwYV9zdXBwbGljYW50Ly5jb25maWcKLQllY2hvICJDRkxBR1MgKz1cIi1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlibmwzXCIiID4+IHdwYV9zdXBwbGljYW50Ly5jb25maWcKLQllY2hvICJEUlZfQ0ZMQUdTICs9XCItSSR7U1RBR0lOR19JTkNESVJ9L2xpYm5sM1wiIiA+PiB3cGFfc3VwcGxpY2FudC8uY29uZmlnCi0JCi0JaWYgZWNobyAiJHtQQUNLQUdFQ09ORklHfSIgfCBncmVwIC1xdyAib3BlbnNzbCI7IHRoZW4KLSAgICAgICAgCXNzbD1vcGVuc3NsCi0JZWxpZiBlY2hvICIke1BBQ0tBR0VDT05GSUd9IiB8IGdyZXAgLXF3ICJnbnV0bHMiOyB0aGVuCi0gICAgICAgIAlzc2w9Z251dGxzCi0JZmkKLQlpZiBbIC1uICIkc3NsIiBdOyB0aGVuCi0gICAgICAgIAlzZWQgLWkgInMvJXNzbCUvJHNzbC8iIHdwYV9zdXBwbGljYW50Ly5jb25maWcKLQlmaQotCi0JIyBGb3IgcmVidWlsZAotCXJtIC1mIHdwYV9zdXBwbGljYW50LyouZCB3cGFfc3VwcGxpY2FudC9kYnVzLyouZAotfQotCi1leHBvcnQgRVhUUkFfQ0ZMQUdTID0gIiR7Q0ZMQUdTfSIKLWV4cG9ydCBCSU5ESVIgPSAiJHtzYmluZGlyfSIKLQotZG9fY29tcGlsZSAoKSB7Ci0JdW5zZXQgQ0ZMQUdTIENQUEZMQUdTIENYWEZMQUdTCi0Jc2VkIC1lICJzOkNGTEFHU1wgPS4qOiYgXCQoRVhUUkFfQ0ZMQUdTKTpnIiAtaSAke1N9L3NyYy9saWIucnVsZXMKLQlvZV9ydW5tYWtlIC1DIHdwYV9zdXBwbGljYW50Ci19Ci0KLWRvX2luc3RhbGwgKCkgewotCWluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KLQlpbnN0YWxsIC1tIDc1NSB3cGFfc3VwcGxpY2FudC93cGFfc3VwcGxpY2FudCAke0R9JHtzYmluZGlyfQotCWluc3RhbGwgLW0gNzU1IHdwYV9zdXBwbGljYW50L3dwYV9jbGkgICAgICAgICR7RH0ke3NiaW5kaXJ9Ci0KLQlpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KLQlpbnN0YWxsIC1tIDc1NSB3cGFfc3VwcGxpY2FudC93cGFfcGFzc3BocmFzZSAke0R9JHtiaW5kaXJ9Ci0KLQlpbnN0YWxsIC1kICR7RH0ke2RvY2Rpcn0vd3BhX3N1cHBsaWNhbnQKLQlpbnN0YWxsIC1tIDY0NCB3cGFfc3VwcGxpY2FudC9SRUFETUUgJHtXT1JLRElSfS93cGFfc3VwcGxpY2FudC5jb25mICR7RH0ke2RvY2Rpcn0vd3BhX3N1cHBsaWNhbnQKLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0KLQlpbnN0YWxsIC1tIDYwMCAke1dPUktESVJ9L3dwYV9zdXBwbGljYW50LmNvbmYtc2FuZSAke0R9JHtzeXNjb25mZGlyfS93cGFfc3VwcGxpY2FudC5jb25mCi0KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtcHJlLXVwLmQvCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uZXR3b3JrL2lmLXBvc3QtZG93bi5kLwotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmV0d29yay9pZi1kb3duLmQvCi0JaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS93cGEtc3VwcGxpY2FudC5zaCAke0R9JHtzeXNjb25mZGlyfS9uZXR3b3JrL2lmLXByZS11cC5kL3dwYS1zdXBwbGljYW50Ci0JY2QgJHtEfSR7c3lzY29uZmRpcn0vbmV0d29yay8gJiYgXAotCWxuIC1zZiAuLi9pZi1wcmUtdXAuZC93cGEtc3VwcGxpY2FudCBpZi1wb3N0LWRvd24uZC93cGEtc3VwcGxpY2FudAotCi0JaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5kCi0JaW5zdGFsbCAtbSA2NDQgJHtTfS93cGFfc3VwcGxpY2FudC9kYnVzL2RidXMtd3BhX3N1cHBsaWNhbnQuY29uZiAke0R9LyR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5kCi0JaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcwotCWluc3RhbGwgLW0gNjQ0ICR7U30vd3BhX3N1cHBsaWNhbnQvZGJ1cy8qLnNlcnZpY2UgJHtEfS8ke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMKLQotCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KLQkJaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQkJaW5zdGFsbCAtbSA2NDQgJHtTfS93cGFfc3VwcGxpY2FudC9zeXN0ZW1kLyouc2VydmljZSAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlmaQotCi0JaW5zdGFsbCAtZCAke0R9L2V0Yy9kZWZhdWx0L3ZvbGF0aWxlcwotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzk5X3dwYV9zdXBwbGljYW50ICR7RH0vZXRjL2RlZmF1bHQvdm9sYXRpbGVzCi19Ci0KLXBrZ19wb3N0aW5zdF93cGEtc3VwcGxpY2FudCAoKSB7Ci0JIyBJZiB3ZSdyZSBvZmZsaW5lLCB3ZSBkb24ndCBuZWVkIHRvIGRvIHRoaXMuCi0JaWYgWyAieCREIiA9ICJ4IiBdOyB0aGVuCi0JCWtpbGxhbGwgLXEgLUhVUCBkYnVzLWRhZW1vbiB8fCB0cnVlCi0JZmkKLQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50XzIuNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudF8yLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmU1ZmEyYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudF8yLjcuYmIKQEAgLTAsMCArMSwxMDkgQEAKK1NVTU1BUlkgPSAiQ2xpZW50IGZvciBXaS1GaSBQcm90ZWN0ZWQgQWNjZXNzIChXUEEpIgorSE9NRVBBR0UgPSAiaHR0cDovL3cxLmZpL3dwYV9zdXBwbGljYW50LyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL3cxLmZpL3NlY3VyaXR5LyIKK1NFQ1RJT04gPSAibmV0d29yayIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTM3OTFjMjcwYWQ2YmIwMjY3MDdkMTdiZjc1MGU1ZWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0xO2VuZGxpbmU9NTY7bWQ1PTQ5NWNiY2U2MDA4MjUzZGU0YjRkOGY0Y2RmYWU5ZjRmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3dwYV9zdXBwbGljYW50L3dwYV9zdXBwbGljYW50LmM7YmVnaW5saW5lPTE7ZW5kbGluZT0xMjttZDU9YTU2ODc5MDNhMzFiODY3OWU2YTA2YjNhZmE1YzgxOWUiCitERVBFTkRTID0gImRidXMgbGlibmwiCitSUkVDT01NRU5EU18ke1BOfSA9ICJ3cGEtc3VwcGxpY2FudC1wYXNzcGhyYXNlIHdwYS1zdXBwbGljYW50LWNsaSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyIKK1BBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICIsLGdudXRscyBsaWJnY3J5cHQiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIiwsb3BlbnNzbCIKKworaW5oZXJpdCBwa2djb25maWcgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAid3BhX3N1cHBsaWNhbnQuc2VydmljZSB3cGFfc3VwcGxpY2FudC1ubDgwMjExQC5zZXJ2aWNlIHdwYV9zdXBwbGljYW50LXdpcmVkQC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitTUkNfVVJJID0gImh0dHA6Ly93MS5maS9yZWxlYXNlcy93cGFfc3VwcGxpY2FudC0ke1BWfS50YXIuZ3ogIFwKKyAgICAgICAgICAgZmlsZTovL2RlZmNvbmZpZyBcCisgICAgICAgICAgIGZpbGU6Ly93cGEtc3VwcGxpY2FudC5zaCBcCisgICAgICAgICAgIGZpbGU6Ly93cGFfc3VwcGxpY2FudC5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL3dwYV9zdXBwbGljYW50LmNvbmYtc2FuZSBcCisgICAgICAgICAgIGZpbGU6Ly85OV93cGFfc3VwcGxpY2FudCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXJlcGxhY2Utc3lzdGVtZC1pbnN0YWxsLUFsaWFzLXdpdGgtV2FudGVkQnkucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNjg1MzhmYjYyNzY2ZjQwZjg5MDEyNTAyNmM0MmMxMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3NmVhNmIwNmI3YTJlYThlNmQ5ZWIxYTkxNjYxNjZmMTY1NmU2ZDQ4Yzc1MDg5MTRmNTkyMTAwYzk1YzczMDc0IgorCitDVkVfUFJPRFVDVCA9ICJ3cGFfc3VwcGxpY2FudCIKKworUyA9ICIke1dPUktESVJ9L3dwYV9zdXBwbGljYW50LSR7UFZ9IgorCitQQUNLQUdFU19wcmVwZW5kID0gIndwYS1zdXBwbGljYW50LXBhc3NwaHJhc2Ugd3BhLXN1cHBsaWNhbnQtY2xpICIKK0ZJTEVTX3dwYS1zdXBwbGljYW50LXBhc3NwaHJhc2UgPSAiJHtiaW5kaXJ9L3dwYV9wYXNzcGhyYXNlIgorRklMRVNfd3BhLXN1cHBsaWNhbnQtY2xpID0gIiR7c2JpbmRpcn0vd3BhX2NsaSIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMvKiIKK0NPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS93cGFfc3VwcGxpY2FudC5jb25mIgorCitkb19jb25maWd1cmUgKCkgeworCSR7TUFLRX0gLUMgd3BhX3N1cHBsaWNhbnQgY2xlYW4KKwlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9kZWZjb25maWcgd3BhX3N1cHBsaWNhbnQvLmNvbmZpZworCQorCWlmIGVjaG8gIiR7UEFDS0FHRUNPTkZJR30iIHwgZ3JlcCAtcXcgIm9wZW5zc2wiOyB0aGVuCisgICAgICAgIAlzc2w9b3BlbnNzbAorCWVsaWYgZWNobyAiJHtQQUNLQUdFQ09ORklHfSIgfCBncmVwIC1xdyAiZ251dGxzIjsgdGhlbgorICAgICAgICAJc3NsPWdudXRscworCWZpCisJaWYgWyAtbiAiJHNzbCIgXTsgdGhlbgorICAgICAgICAJc2VkIC1pICJzLyVzc2wlLyRzc2wvIiB3cGFfc3VwcGxpY2FudC8uY29uZmlnCisJZmkKKworCSMgRm9yIHJlYnVpbGQKKwlybSAtZiB3cGFfc3VwcGxpY2FudC8qLmQgd3BhX3N1cHBsaWNhbnQvZGJ1cy8qLmQKK30KKworZXhwb3J0IEVYVFJBX0NGTEFHUyA9ICIke0NGTEFHU30iCitleHBvcnQgQklORElSID0gIiR7c2JpbmRpcn0iCisKK2RvX2NvbXBpbGUgKCkgeworCXVuc2V0IENGTEFHUyBDUFBGTEFHUyBDWFhGTEFHUworCXNlZCAtZSAiczpDRkxBR1NcID0uKjomIFwkKEVYVFJBX0NGTEFHUyk6ZyIgLWkgJHtTfS9zcmMvbGliLnJ1bGVzCisJb2VfcnVubWFrZSAtQyB3cGFfc3VwcGxpY2FudAorfQorCitkb19pbnN0YWxsICgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9CisJaW5zdGFsbCAtbSA3NTUgd3BhX3N1cHBsaWNhbnQvd3BhX3N1cHBsaWNhbnQgJHtEfSR7c2JpbmRpcn0KKwlpbnN0YWxsIC1tIDc1NSB3cGFfc3VwcGxpY2FudC93cGFfY2xpICAgICAgICAke0R9JHtzYmluZGlyfQorCisJaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisJaW5zdGFsbCAtbSA3NTUgd3BhX3N1cHBsaWNhbnQvd3BhX3Bhc3NwaHJhc2UgJHtEfSR7YmluZGlyfQorCisJaW5zdGFsbCAtZCAke0R9JHtkb2NkaXJ9L3dwYV9zdXBwbGljYW50CisJaW5zdGFsbCAtbSA2NDQgd3BhX3N1cHBsaWNhbnQvUkVBRE1FICR7V09SS0RJUn0vd3BhX3N1cHBsaWNhbnQuY29uZiAke0R9JHtkb2NkaXJ9L3dwYV9zdXBwbGljYW50CisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisJaW5zdGFsbCAtbSA2MDAgJHtXT1JLRElSfS93cGFfc3VwcGxpY2FudC5jb25mLXNhbmUgJHtEfSR7c3lzY29uZmRpcn0vd3BhX3N1cHBsaWNhbnQuY29uZgorCisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uZXR3b3JrL2lmLXByZS11cC5kLworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmV0d29yay9pZi1wb3N0LWRvd24uZC8KKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtZG93bi5kLworCWluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vd3BhLXN1cHBsaWNhbnQuc2ggJHtEfSR7c3lzY29uZmRpcn0vbmV0d29yay9pZi1wcmUtdXAuZC93cGEtc3VwcGxpY2FudAorCWNkICR7RH0ke3N5c2NvbmZkaXJ9L25ldHdvcmsvICYmIFwKKwlsbiAtc2YgLi4vaWYtcHJlLXVwLmQvd3BhLXN1cHBsaWNhbnQgaWYtcG9zdC1kb3duLmQvd3BhLXN1cHBsaWNhbnQKKworCWluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2RidXMtMS9zeXN0ZW0uZAorCWluc3RhbGwgLW0gNjQ0ICR7U30vd3BhX3N1cHBsaWNhbnQvZGJ1cy9kYnVzLXdwYV9zdXBwbGljYW50LmNvbmYgJHtEfS8ke3N5c2NvbmZkaXJ9L2RidXMtMS9zeXN0ZW0uZAorCWluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMKKwlpbnN0YWxsIC1tIDY0NCAke1N9L3dwYV9zdXBwbGljYW50L2RidXMvKi5zZXJ2aWNlICR7RH0vJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzCisKKwlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisJCWluc3RhbGwgLWQgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJCWluc3RhbGwgLW0gNjQ0ICR7U30vd3BhX3N1cHBsaWNhbnQvc3lzdGVtZC8qLnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJZmkKKworCWluc3RhbGwgLWQgJHtEfS9ldGMvZGVmYXVsdC92b2xhdGlsZXMKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS85OV93cGFfc3VwcGxpY2FudCAke0R9L2V0Yy9kZWZhdWx0L3ZvbGF0aWxlcworfQorCitwa2dfcG9zdGluc3Rfd3BhLXN1cHBsaWNhbnQgKCkgeworCSMgSWYgd2UncmUgb2ZmbGluZSwgd2UgZG9uJ3QgbmVlZCB0byBkbyB0aGlzLgorCWlmIFsgIngkRCIgPSAieCIgXTsgdGhlbgorCQlraWxsYWxsIC1xIC1IVVAgZGJ1cy1kYWVtb24gfHwgdHJ1ZQorCWZpCisKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYmFzZS1maWxlcy9iYXNlLWZpbGVzL2ZpbGVzeXN0ZW1zIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9iYXNlLWZpbGVzL2Jhc2UtZmlsZXMvZmlsZXN5c3RlbXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlNmM0MWMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9iYXNlLWZpbGVzL2Jhc2UtZmlsZXMvZmlsZXN5c3RlbXMKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLWV4dDQKLWV4dDMKLWV4dDIKLXZmYXQKLWZhdAotYnRyZnMKLW1pbml4Ci0qCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ldGJhc2UvbmV0YmFzZS9ob3N0cyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYmFzZS1maWxlcy9iYXNlLWZpbGVzL2hvc3RzCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ldGJhc2UvbmV0YmFzZS9ob3N0cwpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9iYXNlLWZpbGVzL2Jhc2UtZmlsZXMvaG9zdHMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYmFzZS1maWxlcy9iYXNlLWZpbGVzXzMuMC4xNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYmFzZS1maWxlcy9iYXNlLWZpbGVzXzMuMC4xNC5iYgppbmRleCA2ZTc1NjUyLi5hMTYzOWRiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Jhc2UtZmlsZXMvYmFzZS1maWxlc18zLjAuMTQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9iYXNlLWZpbGVzL2Jhc2UtZmlsZXNfMy4wLjE0LmJiCkBAIC0xMywxMSArMTMsMTEgQEAKIFNSQ19VUkkgPSAiZmlsZTovL3JvdGF0aW9uIFwKICAgICAgICAgICAgZmlsZTovL25zc3dpdGNoLmNvbmYgXAogICAgICAgICAgICBmaWxlOi8vbW90ZCBcCisgICAgICAgICAgIGZpbGU6Ly9ob3N0cyBcCiAgICAgICAgICAgIGZpbGU6Ly9ob3N0LmNvbmYgXAogICAgICAgICAgICBmaWxlOi8vcHJvZmlsZSBcCiAgICAgICAgICAgIGZpbGU6Ly9zaGVsbHMgXAogICAgICAgICAgICBmaWxlOi8vZnN0YWIgXAotICAgICAgICAgICBmaWxlOi8vZmlsZXN5c3RlbXMgXAogICAgICAgICAgICBmaWxlOi8vaXNzdWUubmV0IFwKICAgICAgICAgICAgZmlsZTovL2lzc3VlIFwKICAgICAgICAgICAgZmlsZTovL3VzYmQgXApAQCAtMTEzLDYgKzExMyw3IEBACiAJbG4gLXNuZiAuLi9ydW4gJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCiAJbG4gLXNuZiAuLi9ydW4vbG9jayAke0R9JHtsb2NhbHN0YXRlZGlyfS9sb2NrCiAKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ob3N0cyAke0R9JHtzeXNjb25mZGlyfS9ob3N0cwogCSR7QkFTRUZJTEVTSVNTVUVJTlNUQUxMfQogCiAJcm90YXRpb249YGNhdCAke1dPUktESVJ9L3JvdGF0aW9uYApAQCAtMTIxLDcgKzEyMiw2IEBACiAJZmkKIAogCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2ZzdGFiICR7RH0ke3N5c2NvbmZkaXJ9L2ZzdGFiCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZmlsZXN5c3RlbXMgJHtEfSR7c3lzY29uZmRpcn0vZmlsZXN5c3RlbXMKIAlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS91c2JkICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdXNiZAogCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3Byb2ZpbGUgJHtEfSR7c3lzY29uZmRpcn0vcHJvZmlsZQogCXNlZCAtaSAncyNST09USE9NRSMke1JPT1RfSE9NRX0jJyAke0R9JHtzeXNjb25mZGlyfS9wcm9maWxlCkBAIC0xNDAsNiArMTQwLDcgQEAKIGRvX2luc3RhbGxfYmFzZWZpbGVzaXNzdWUgKCkgewogCWlmIFsgIiR7aG9zdG5hbWV9IiBdOyB0aGVuCiAJCWVjaG8gJHtob3N0bmFtZX0gPiAke0R9JHtzeXNjb25mZGlyfS9ob3N0bmFtZQorCQllY2hvICIxMjcuMC4xLjEgJHtob3N0bmFtZX0iID4+ICR7RH0ke3N5c2NvbmZkaXJ9L2hvc3RzCiAJZmkKIAogCWluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vaXNzdWUqICAke0R9JHtzeXNjb25mZGlyfQpAQCAtMTQ3LDcgKzE0OCw3IEBACiAJCXByaW50ZiAiJHtESVNUUk9fTkFNRX0gIiA+PiAke0R9JHtzeXNjb25mZGlyfS9pc3N1ZQogCQlwcmludGYgIiR7RElTVFJPX05BTUV9ICIgPj4gJHtEfSR7c3lzY29uZmRpcn0vaXNzdWUubmV0CiAJCWlmIFsgLW4gIiR7RElTVFJPX1ZFUlNJT059IiBdOyB0aGVuCi0JCQlkaXN0cm9fdmVyc2lvbl9ub2RhdGU9JHtAJyR7RElTVFJPX1ZFUlNJT059Jy5yZXBsYWNlKCdzbmFwc2hvdC0ke0RBVEV9Jywnc25hcHNob3QnKS5yZXBsYWNlKCcke0RBVEV9JywnJyl9CisJCQlkaXN0cm9fdmVyc2lvbl9ub2RhdGU9IiR7QGQuZ2V0VmFyKCdESVNUUk9fVkVSU0lPTicpLnJlcGxhY2UoJ3NuYXBzaG90LSR7REFURX0nLCdzbmFwc2hvdCcpLnJlcGxhY2UoJyR7REFURX0nLCcnKX0iCiAJCQlwcmludGYgIiVzICIgJGRpc3Ryb192ZXJzaW9uX25vZGF0ZSA+PiAke0R9JHtzeXNjb25mZGlyfS9pc3N1ZQogCQkJcHJpbnRmICIlcyAiICRkaXN0cm9fdmVyc2lvbl9ub2RhdGUgPj4gJHtEfSR7c3lzY29uZmRpcn0vaXNzdWUubmV0CiAJCWZpCkBAIC0xNzcsNSArMTc4LDUgQEAKIAogUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKIAotQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vZnN0YWIgJHtAWycnLCAnJHtzeXNjb25mZGlyfS9ob3N0bmFtZSddWyhkLmdldFZhcignaG9zdG5hbWUnKSAhPSAnJyldfSAke3N5c2NvbmZkaXJ9L3NoZWxscyIKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L2ZzdGFiICR7QFsnJywgJyR7c3lzY29uZmRpcn0vaG9zdG5hbWUgJHtzeXNjb25mZGlyfS9ob3N0cyddWyhkLmdldFZhcignaG9zdG5hbWUnKSAhPSAnJyldfSAke3N5c2NvbmZkaXJ9L3NoZWxscyIKIENPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9tb3RkICR7c3lzY29uZmRpcn0vbnNzd2l0Y2guY29uZiAke3N5c2NvbmZkaXJ9L3Byb2ZpbGUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC1pbml0dGFiXzEuMjkuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LWluaXR0YWJfMS4zMC4xLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC1pbml0dGFiXzEuMjkuMy5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3gtaW5pdHRhYl8xLjMwLjEuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LmluYwppbmRleCAwYzBkMjZlLi5jOWQyNWZmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3guaW5jCkBAIC01Myw2ICs1Myw5IEBACiAKIGluaGVyaXQgY21sMSBzeXN0ZW1kIHVwZGF0ZS1yYy5kIHB0ZXN0CiAKKyMgYnVzeWJveCdzIHVuemlwIHRlc3QgY2FzZSBuZWVkcyB6aXAgY29tbWFuZCwgd2hpY2ggYnVzeWJveCBpdHNlbGYgZG9lcyBub3QgcHJvdmlkZQorUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiemlwIgorCiAjIGludGVybmFsIGhlbHBlcgogZGVmIGJ1c3lib3hfY2ZnKGZlYXR1cmUsIHRva2VucywgY25mLCByZW0pOgogICAgIGlmIHR5cGUodG9rZW5zKSA9PSB0eXBlKCIiKToKQEAgLTcyLDggKzc1LDcgQEAKICAgICBidXN5Ym94X2NmZyhiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ25scycsIFRydWUsIEZhbHNlLCBkKSwgJ0NPTkZJR19MT0NBTEVfU1VQUE9SVCcsIGNuZiwgcmVtKQogICAgIGJ1c3lib3hfY2ZnKGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NCcsIFRydWUsIEZhbHNlLCBkKSwgJ0NPTkZJR19GRUFUVVJFX0lGVVBET1dOX0lQVjQnLCBjbmYsIHJlbSkKICAgICBidXN5Ym94X2NmZyhiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBUcnVlLCBGYWxzZSwgZCksICdDT05GSUdfRkVBVFVSRV9JRlVQRE9XTl9JUFY2JywgY25mLCByZW0pCi0gICAgYnVzeWJveF9jZmcoYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd3aWZpJywgVHJ1ZSwgRmFsc2UsIGQpLCAnQ09ORklHX1JGS0lMTCcsIGNuZiwgcmVtKQotICAgIGJ1c3lib3hfY2ZnKGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXRvb3RoJywgVHJ1ZSwgRmFsc2UsIGQpLCAnQ09ORklHX1JGS0lMTCcsIGNuZiwgcmVtKQorICAgIGJ1c3lib3hfY2ZnKGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV0b290aCB3aWZpJywgVHJ1ZSwgRmFsc2UsIGQpLCAnQ09ORklHX1JGS0lMTCcsIGNuZiwgcmVtKQogICAgIHJldHVybiAiXG4iLmpvaW4oY25mKSwgIlxuIi5qb2luKHJlbSkKIAogIyBYLCBZID0gJHtAZmVhdHVyZXNfdG9fYnVzeWJveF9zZXR0aW5ncyhkKX0KQEAgLTM0OSw2ICszNTEsMjAgQEAKIAljcCAtciAke0J9L3Rlc3RzdWl0ZSAke0R9JHtQVEVTVF9QQVRIfS8KIAljcCAke0J9Ly5jb25maWcgICAgICAke0R9JHtQVEVTVF9QQVRIfS8KIAlsbiAtcyAvYmluL2J1c3lib3ggICAke0R9JHtQVEVTVF9QQVRIfS9idXN5Ym94CisKKwlta2RpciAke0R9JHtQVEVTVF9QQVRIfS9iaW4KKwlpZiBbICIke0JVU1lCT1hfU1BMSVRfU1VJRH0iID0gIjEiIF07IHRoZW4KKwkJd2hpbGUgcmVhZCBsaW5rOyBkbworCQkJbG4gLXMgJHtiYXNlX2JpbmRpcn0vYnVzeWJveC5zdWlkICR7RH0ke1BURVNUX1BBVEh9L2Jpbi8kKGJhc2VuYW1lICRsaW5rKQorCQlkb25lIDwke0R9JHtzeXNjb25mZGlyfS9idXN5Ym94LmxpbmtzLnN1aWQKKwkJd2hpbGUgcmVhZCBsaW5rOyBkbworCQkJbG4gLXMgJHtiYXNlX2JpbmRpcn0vYnVzeWJveC5ub3N1aWQgJHtEfSR7UFRFU1RfUEFUSH0vYmluLyQoYmFzZW5hbWUgJGxpbmspCisJCWRvbmUgPCR7RH0ke3N5c2NvbmZkaXJ9L2J1c3lib3gubGlua3Mubm9zdWlkCisJZWxzZQorCQl3aGlsZSByZWFkIGxpbms7IGRvCisJCQlsbiAtcyAke2Jhc2VfYmluZGlyfS9idXN5Ym94ICR7RH0ke1BURVNUX1BBVEh9L2Jpbi8kKGJhc2VuYW1lICRsaW5rKQorCQlkb25lIDwke0R9JHtzeXNjb25mZGlyfS9idXN5Ym94LmxpbmtzCisJZmkKIH0KIAogaW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzCkBAIC00NTUsNCArNDcxLDQgQEAKIAlmaQogfQogCi1SUFJPVklERVNfJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAndXNybWVyZ2UnLCAnL2Jpbi9zaCcsICcnLCBkKX0iCitSUFJPVklERVNfJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAndXNybWVyZ2UnLCAnL2Jpbi9zaCAvYmluL2FzaCcsICcnLCBkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC8wMDAxLWR1LWwtd29ya3MtZml4LXRvLXVzZS0xNDUtaW5zdGVhZC1vZi0xNDQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC8wMDAxLWR1LWwtd29ya3MtZml4LXRvLXVzZS0xNDUtaW5zdGVhZC1vZi0xNDQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmI1Zjc1MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LzAwMDEtZHUtbC13b3Jrcy1maXgtdG8tdXNlLTE0NS1pbnN0ZWFkLW9mLTE0NC5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIGM2OWZlYjJmZGI3NTVkNmRiMzRkMGViMGE5ZTk5OTQzODZjMTVlM2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDE0IE5vdiAyMDE4IDE1OjE5OjU3ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGR1LWwtd29ya3M6IGZpeCB0byB1c2UgMTQ1IGluc3RlYWQgb2YgMTQ0CisKKzY0ICsgNjQgKyAxNiA9IDE0NAorMTQ0ICsgc2l6ZV9vZl9kaXJlY3RvcnkgPj0gMTQ1CitTbyBmaXggdG8gdXNlIDE0NSBpbnN0ZWFkIG9mIDE0NC4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHA6Ly9saXN0cy5idXN5Ym94Lm5ldC9waXBlcm1haWwvYnVzeWJveC8yMDE4LU5vdmVtYmVyLzA4NjgzNi5odG1sXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyB0ZXN0c3VpdGUvZHUvZHUtbC13b3JrcyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzdWl0ZS9kdS9kdS1sLXdvcmtzIGIvdGVzdHN1aXRlL2R1L2R1LWwtd29ya3MKK2luZGV4IGFmODczNDUuLjU3NTA2NGEgMTAwNjQ0CistLS0gYS90ZXN0c3VpdGUvZHUvZHUtbC13b3JrcworKysrIGIvdGVzdHN1aXRlL2R1L2R1LWwtd29ya3MKK0BAIC01LDcgKzUsNyBAQCBjZCBkdS50ZXN0ZGlyCisgZGQgaWY9L2Rldi96ZXJvIG9mPWZpbGUxIGJzPTFrIGNvdW50PTY0IDI+L2Rldi9udWxsCisgbG4gZmlsZTEgZmlsZTEuMQorIGRkIGlmPS9kZXYvemVybyBvZj1maWxlMiBicz0xayBjb3VudD0xNiAyPi9kZXYvbnVsbAorLXRlc3QgeCJgYnVzeWJveCBkdSAtbCAuYCIgPSB4IjE0NAkuIiBcCisrdGVzdCB4ImBidXN5Ym94IGR1IC1sIC5gIiA9IHgiMTQ1CS4iIFwKKyAgIC1vIHgiYGJ1c3lib3ggZHUgLWwgLmAiID0geCIxNDYJLiIgXAorICAgLW8geCJgYnVzeWJveCBkdSAtbCAuYCIgPSB4IjE0OAkuIiBcCisgICAtbyB4ImBidXN5Ym94IGR1IC1sIC5gIiA9IHgiMTUyCS4iIFwKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3gvMDAwMS10ZXN0c3VpdGUtY2hlY2stdXVkZWNvZGUtYmVmb3JlLXVzaW5nLWl0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3gvMDAwMS10ZXN0c3VpdGUtY2hlY2stdXVkZWNvZGUtYmVmb3JlLXVzaW5nLWl0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1NDcyZjAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC8wMDAxLXRlc3RzdWl0ZS1jaGVjay11dWRlY29kZS1iZWZvcmUtdXNpbmctaXQucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorRnJvbSA4NWYxNjRlYzQyN2ZlY2JhZTI0MTQwYjNjOTNhY2JiZTJiYTFjODE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAxMyBOb3YgMjAxOCAxMToyNzowMSArMDgwMAorU3ViamVjdDogW1BBVENIXSB0ZXN0c3VpdGU6IGNoZWNrIHV1ZGVjb2RlIGJlZm9yZSB1c2luZyBpdAorCitUaGUgdW56aXAgYW5kIHRhciB0ZXN0IGNhc2VzIHVzZSB1dWRlY29kZSBjb21tYW5kLCBzbyBhbHNvCitjaGVjayBpdCB2aWEgb3B0aW9uYWwgZnVuY3Rpb24uCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwOi8vbGlzdHMuYnVzeWJveC5uZXQvcGlwZXJtYWlsL2J1c3lib3gvMjAxOC1Ob3ZlbWJlci8wODY4MzMuaHRtbF0KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgdGVzdHN1aXRlL3Rhci50ZXN0cyAgIHwgMiArLQorIHRlc3RzdWl0ZS91bnppcC50ZXN0cyB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzdWl0ZS90YXIudGVzdHMgYi90ZXN0c3VpdGUvdGFyLnRlc3RzCitpbmRleCBkNzFhMzQ5Li44Yzg4NTY3IDEwMDc1NQorLS0tIGEvdGVzdHN1aXRlL3Rhci50ZXN0cworKysrIGIvdGVzdHN1aXRlL3Rhci50ZXN0cworQEAgLTMzNiw3ICszMzYsNyBAQCBTS0lQPQorIGNkIC4uIHx8IGV4aXQgMTsgcm0gLXJmIHRhci50ZW1wZGlyIDI+L2Rldi9udWxsCisgCisgbWtkaXIgdGFyLnRlbXBkaXIgJiYgY2QgdGFyLnRlbXBkaXIgfHwgZXhpdCAxCistb3B0aW9uYWwgRkVBVFVSRV9TRUFNTEVTU19CWjIgRkVBVFVSRV9UQVJfQVVUT0RFVEVDVCBMUworK29wdGlvbmFsIEZFQVRVUkVfU0VBTUxFU1NfQloyIEZFQVRVUkVfVEFSX0FVVE9ERVRFQ1QgTFMgVVVERUNPREUKKyB0ZXN0aW5nICJTeW1saW5rIGF0dGFjazogY3JlYXRlIHN5bWxpbmsgYW5kIHRoZW4gd3JpdGUgdGhyb3VnaCBpdCIgJ1wKKyBleGVjIDI+JjEKKyB1dWRlY29kZSAtbyBpbnB1dCAmJiB0YXIgeHZmIGlucHV0OyBlY2hvICQ/CitkaWZmIC0tZ2l0IGEvdGVzdHN1aXRlL3VuemlwLnRlc3RzIGIvdGVzdHN1aXRlL3VuemlwLnRlc3RzCitpbmRleCBhZjUzZGU5Li4zYjQ1ZWNlIDEwMDc1NQorLS0tIGEvdGVzdHN1aXRlL3VuemlwLnRlc3RzCisrKysgYi90ZXN0c3VpdGUvdW56aXAudGVzdHMKK0BAIC0zMSw3ICszMSw3IEBAIHJtZGlyIGZvbworIHJtIGZvby56aXAKKyAKKyAjIEZpbGUgY29udGFpbmluZyBzb21lIGRhbWFnZWQgZW5jcnlwdGVkIHN0cmVhbQorLW9wdGlvbmFsIEZFQVRVUkVfVU5aSVBfQ0RGIENPTkZJR19VTklDT0RFX1NVUFBPUlQKKytvcHRpb25hbCBGRUFUVVJFX1VOWklQX0NERiBDT05GSUdfVU5JQ09ERV9TVVBQT1JUIFVVREVDT0RFCisgdGVzdGluZyAidW56aXAgKGJhZCBhcmNoaXZlKSIgInV1ZGVjb2RlOyB1bnppcCBiYWQuemlwIDI+JjE7IGVjaG8gXCQ/IiBcCisgIkFyY2hpdmU6ICBiYWQuemlwCisgICBpbmZsYXRpbmc6IF0zasK9csKrST8/Sy0lSXgKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3gvMDAwMS10ZXN0c3VpdGUtdXNlLXd3dy5leGFtcGxlLm9yZy1mb3Itd2dldC10ZXN0LWNhc2VzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3gvMDAwMS10ZXN0c3VpdGUtdXNlLXd3dy5leGFtcGxlLm9yZy1mb3Itd2dldC10ZXN0LWNhc2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiYTBmNzcKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC8wMDAxLXRlc3RzdWl0ZS11c2Utd3d3LmV4YW1wbGUub3JnLWZvci13Z2V0LXRlc3QtY2FzZXMucGF0Y2gKQEAgLTAsMCArMSw2MiBAQAorRnJvbSAwM2FjZjQ2MDk5MGRmY2Y2ZTUyYjI5ODMwMWIzNDhiOTUwNDQ2MGE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAxMyBOb3YgMjAxOCAxMzo1MTo0MiArMDgwMAorU3ViamVjdDogW1BBVENIXSB0ZXN0c3VpdGU6IHVzZSB3d3cuZXhhbXBsZS5vcmcgZm9yIHdnZXQgdGVzdCBjYXNlcworCitVc2UgZXhhbXBsZS5vcmcgaW5zdGVhZCBvZiBnb29nbGUuY29tIHRvIG1ha2Ugc3VyZSBpdCdzCithbHdheXMgcmVhY2hpYmxlLgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cDovL2xpc3RzLmJ1c3lib3gubmV0L3BpcGVybWFpbC9idXN5Ym94LzIwMTgtTm92ZW1iZXIvMDg2ODM1Lmh0bWxdCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHRlc3RzdWl0ZS93Z2V0L3dnZXQtLU8tb3ZlcnJpZGVzLS1QICAgICAgICB8IDIgKy0KKyB0ZXN0c3VpdGUvd2dldC93Z2V0LWhhbmRsZXMtZW1wdHktcGF0aCAgICAgfCAyICstCisgdGVzdHN1aXRlL3dnZXQvd2dldC1yZXRyaWV2ZXMtZ29vZ2xlLWluZGV4IHwgMiArLQorIHRlc3RzdWl0ZS93Z2V0L3dnZXQtc3VwcG9ydHMtLVAgICAgICAgICAgICB8IDIgKy0KKyA0IGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtLU8tb3ZlcnJpZGVzLS1QIGIvdGVzdHN1aXRlL3dnZXQvd2dldC0tTy1vdmVycmlkZXMtLVAKK2luZGV4IDQwYTNhOTYuLjQ5MGQ3NDMgMTAwNjQ0CistLS0gYS90ZXN0c3VpdGUvd2dldC93Z2V0LS1PLW92ZXJyaWRlcy0tUAorKysrIGIvdGVzdHN1aXRlL3dnZXQvd2dldC0tTy1vdmVycmlkZXMtLVAKK0BAIC0xLDUgKzEsNSBAQAorIHRlc3QgeCIkU0tJUF9JTlRFUk5FVF9URVNUUyIgIT0geCIiICYmIGV4aXQKKyAKKyBta2RpciBmb28KKy1idXN5Ym94IHdnZXQgLXEgLU8gaW5kZXguaHRtbCAtUCBmb28gaHR0cDovL3d3dy5nb29nbGUuY29tLworK2J1c3lib3ggd2dldCAtcSAtTyBpbmRleC5odG1sIC1QIGZvbyBodHRwOi8vd3d3LmV4YW1wbGUub3JnLworIHRlc3QgLXMgaW5kZXguaHRtbAorZGlmZiAtLWdpdCBhL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtaGFuZGxlcy1lbXB0eS1wYXRoIGIvdGVzdHN1aXRlL3dnZXQvd2dldC1oYW5kbGVzLWVtcHR5LXBhdGgKK2luZGV4IDAxZDYwYmQuLjE4MDJkYjYgMTAwNjQ0CistLS0gYS90ZXN0c3VpdGUvd2dldC93Z2V0LWhhbmRsZXMtZW1wdHktcGF0aAorKysrIGIvdGVzdHN1aXRlL3dnZXQvd2dldC1oYW5kbGVzLWVtcHR5LXBhdGgKK0BAIC0xLDMgKzEsMyBAQAorIHRlc3QgeCIkU0tJUF9JTlRFUk5FVF9URVNUUyIgIT0geCIiICYmIGV4aXQKKyAKKy1idXN5Ym94IHdnZXQgaHR0cDovL3d3dy5nb29nbGUuY29tCisrYnVzeWJveCB3Z2V0IGh0dHA6Ly93d3cuZXhhbXBsZS5vcmcKK2RpZmYgLS1naXQgYS90ZXN0c3VpdGUvd2dldC93Z2V0LXJldHJpZXZlcy1nb29nbGUtaW5kZXggYi90ZXN0c3VpdGUvd2dldC93Z2V0LXJldHJpZXZlcy1nb29nbGUtaW5kZXgKK2luZGV4IGY5ZGJiOGIuLmZjODAxZDQgMTAwNjQ0CistLS0gYS90ZXN0c3VpdGUvd2dldC93Z2V0LXJldHJpZXZlcy1nb29nbGUtaW5kZXgKKysrKyBiL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtcmV0cmlldmVzLWdvb2dsZS1pbmRleAorQEAgLTEsNCArMSw0IEBACisgdGVzdCB4IiRTS0lQX0lOVEVSTkVUX1RFU1RTIiAhPSB4IiIgJiYgZXhpdAorIAorLWJ1c3lib3ggd2dldCAtcSAtTyBmb28gaHR0cDovL3d3dy5nb29nbGUuY29tLworK2J1c3lib3ggd2dldCAtcSAtTyBmb28gaHR0cDovL3d3dy5leGFtcGxlLm9yZy8KKyB0ZXN0IC1zIGZvbworZGlmZiAtLWdpdCBhL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtc3VwcG9ydHMtLVAgYi90ZXN0c3VpdGUvd2dldC93Z2V0LXN1cHBvcnRzLS1QCitpbmRleCBiZmU0YWM0Li40ZmYyZmUwIDEwMDY0NAorLS0tIGEvdGVzdHN1aXRlL3dnZXQvd2dldC1zdXBwb3J0cy0tUAorKysrIGIvdGVzdHN1aXRlL3dnZXQvd2dldC1zdXBwb3J0cy0tUAorQEAgLTEsNSArMSw1IEBACisgdGVzdCB4IiRTS0lQX0lOVEVSTkVUX1RFU1RTIiAhPSB4IiIgJiYgZXhpdAorIAorIG1rZGlyIGZvbworLWJ1c3lib3ggd2dldCAtcSAtUCBmb28gaHR0cDovL3d3dy5nb29nbGUuY29tLworK2J1c3lib3ggd2dldCAtcSAtUCBmb28gaHR0cDovL3d3dy5leGFtcGxlLm9yZy8KKyB0ZXN0IC1zIGZvby9pbmRleC5odG1sCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94L2RlZmNvbmZpZyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94L2RlZmNvbmZpZwppbmRleCAzMjIxM2MwLi40OTNkYjI4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC9kZWZjb25maWcKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3gvZGVmY29uZmlnCkBAIC0xLDcgKzEsNyBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBCdXN5Ym94IHZlcnNpb246IDEuMjkuMQotIyBUaHUgSnVsIDE5IDExOjA5OjQ2IDIwMTgKKyMgQnVzeWJveCB2ZXJzaW9uOiAxLjMwLjEKKyMgU3VuIEZlYiAxNyAxODoxMjoyNyAyMDE5CiAjCiBDT05GSUdfSEFWRV9ET1RfQ09ORklHPXkKIApAQCAtMTIsMjkgKzEyLDI5IEBACiAjIENPTkZJR19FWFRSQV9DT01QQVQgaXMgbm90IHNldAogIyBDT05GSUdfRkVET1JBX0NPTVBBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkNMVURFX1NVU3YyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTRV9QT1JUQUJMRV9DT0RFIGlzIG5vdCBzZXQKK0NPTkZJR19MT05HX09QVFM9eQogQ09ORklHX1NIT1dfVVNBR0U9eQogIyBDT05GSUdfRkVBVFVSRV9WRVJCT1NFX1VTQUdFIGlzIG5vdCBzZXQKIENPTkZJR19GRUFUVVJFX0NPTVBSRVNTX1VTQUdFPXkKLUNPTkZJR19CVVNZQk9YPXkKLSMgQ09ORklHX0ZFQVRVUkVfSU5TVEFMTEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOU1RBTExfTk9fVVNSIGlzIG5vdCBzZXQKK0NPTkZJR19MRlM9eQogIyBDT05GSUdfUEFNIGlzIG5vdCBzZXQKLUNPTkZJR19MT05HX09QVFM9eQogQ09ORklHX0ZFQVRVUkVfREVWUFRTPXkKLSMgQ09ORklHX0ZFQVRVUkVfQ0xFQU5fVVAgaXMgbm90IHNldAogQ09ORklHX0ZFQVRVUkVfVVRNUD15CiAjIENPTkZJR19GRUFUVVJFX1dUTVAgaXMgbm90IHNldAogQ09ORklHX0ZFQVRVUkVfUElERklMRT15CiBDT05GSUdfUElEX0ZJTEVfUEFUSD0iL3Zhci9ydW4iCitDT05GSUdfQlVTWUJPWD15CisjIENPTkZJR19GRUFUVVJFX1NIT1dfU0NSSVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfSU5TVEFMTEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOU1RBTExfTk9fVVNSIGlzIG5vdCBzZXQKIENPTkZJR19GRUFUVVJFX1NVSUQ9eQogQ09ORklHX0ZFQVRVUkVfU1VJRF9DT05GSUc9eQogQ09ORklHX0ZFQVRVUkVfU1VJRF9DT05GSUdfUVVJRVQ9eQotIyBDT05GSUdfU0VMSU5VWCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX1BSRUZFUl9BUFBMRVRTIGlzIG5vdCBzZXQKIENPTkZJR19CVVNZQk9YX0VYRUNfUEFUSD0iL3Byb2Mvc2VsZi9leGUiCisjIENPTkZJR19TRUxJTlVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfQ0xFQU5fVVAgaXMgbm90IHNldAogQ09ORklHX0ZFQVRVUkVfU1lTTE9HPXkKLSMgQ09ORklHX0ZFQVRVUkVfSEFWRV9SUEMgaXMgbm90IHNldAogQ09ORklHX1BMQVRGT1JNX0xJTlVYPXkKIAogIwpAQCAtNDQsMTQgKzQ0LDE2IEBACiAjIENPTkZJR19QSUUgaXMgbm90IHNldAogIyBDT05GSUdfTk9NTVUgaXMgbm90IHNldAogIyBDT05GSUdfQlVJTERfTElCQlVTWUJPWCBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0xJQkJVU1lCT1hfU1RBVElDIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfSU5ESVZJRFVBTCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX1NIQVJFRF9CVVNZQk9YIGlzIG5vdCBzZXQKLUNPTkZJR19MRlM9eQogQ09ORklHX0NST1NTX0NPTVBJTEVSX1BSRUZJWD0iIgogQ09ORklHX1NZU1JPT1Q9IiIKIENPTkZJR19FWFRSQV9DRkxBR1M9IiIKIENPTkZJR19FWFRSQV9MREZMQUdTPSIiCiBDT05GSUdfRVhUUkFfTERMSUJTPSIiCisjIENPTkZJR19VU0VfUE9SVEFCTEVfQ09ERSBpcyBub3Qgc2V0CitDT05GSUdfU1RBQ0tfT1BUSU1JWkFUSU9OXzM4Nj15CiAKICMKICMgSW5zdGFsbGF0aW9uIE9wdGlvbnMgKCJtYWtlIGluc3RhbGwiIGJlaGF2aW9yKQpAQCAtODEsNyArODMsOSBAQAogIyBMaWJyYXJ5IFR1bmluZwogIwogIyBDT05GSUdfRkVBVFVSRV9VU0VfQlNTX1RBSUwgaXMgbm90IHNldAorQ09ORklHX0ZMT0FUX0RVUkFUSU9OPXkKIENPTkZJR19GRUFUVVJFX1JUTUlOTUFYPXkKKyMgQ09ORklHX0ZFQVRVUkVfUlRNSU5NQVhfVVNFX0xJQkNfREVGSU5JVElPTlMgaXMgbm90IHNldAogQ09ORklHX0ZFQVRVUkVfQlVGRkVSU19VU0VfTUFMTE9DPXkKICMgQ09ORklHX0ZFQVRVUkVfQlVGRkVSU19HT19PTl9TVEFDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX0JVRkZFUlNfR09fSU5fQlNTIGlzIG5vdCBzZXQKQEAgLTEwMSw2ICsxMDUsNyBAQAogQ09ORklHX0ZFQVRVUkVfVEFCX0NPTVBMRVRJT049eQogQ09ORklHX0ZFQVRVUkVfVVNFUk5BTUVfQ09NUExFVElPTj15CiBDT05GSUdfRkVBVFVSRV9FRElUSU5HX0ZBTkNZX1BST01QVD15CisjIENPTkZJR19GRUFUVVJFX0VESVRJTkdfV0lOQ0ggaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9FRElUSU5HX0FTS19URVJNSU5BTCBpcyBub3Qgc2V0CiAjIENPTkZJR19MT0NBTEVfU1VQUE9SVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VTklDT0RFX1NVUFBPUlQgaXMgbm90IHNldApAQCAtMTQ2LDExICsxNTEsMTAgQEAKICMgQ09ORklHX1VOTFpNQSBpcyBub3Qgc2V0CiBDT05GSUdfTFpDQVQ9eQogIyBDT05GSUdfTFpNQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0xaTUFfRkFTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VTlhaIGlzIG5vdCBzZXQKIENPTkZJR19YWkNBVD15CiAjIENPTkZJR19YWiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CWklQMiBpcyBub3Qgc2V0CitDT05GSUdfQlpJUDI9eQogQ09ORklHX0ZFQVRVUkVfQlpJUDJfREVDT01QUkVTUz15CiBDT05GSUdfQ1BJTz15CiAjIENPTkZJR19GRUFUVVJFX0NQSU9fTyBpcyBub3Qgc2V0CkBAIC0xODUsMTIgKzE4OSwxNCBAQAogIyBDT05GSUdfRkVBVFVSRV9VTlpJUF9CWklQMiBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX1VOWklQX0xaTUEgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9VTlpJUF9YWiBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0xaTUFfRkFTVCBpcyBub3Qgc2V0CiAKICMKICMgQ29yZXV0aWxzCiAjCiBDT05GSUdfQkFTRU5BTUU9eQogQ09ORklHX0NBVD15CitDT05GSUdfRkVBVFVSRV9DQVROPXkKICMgQ09ORklHX0ZFQVRVUkVfQ0FUViBpcyBub3Qgc2V0CiBDT05GSUdfQ0hHUlA9eQogQ09ORklHX0NITU9EPXkKQEAgLTIwMSw2ICsyMDcsNyBAQAogIyBDT05GSUdfQ09NTSBpcyBub3Qgc2V0CiBDT05GSUdfQ1A9eQogIyBDT05GSUdfRkVBVFVSRV9DUF9MT05HX09QVElPTlMgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9DUF9SRUZMSU5LIGlzIG5vdCBzZXQKIENPTkZJR19DVVQ9eQogQ09ORklHX0RBVEU9eQogIyBDT05GSUdfRkVBVFVSRV9EQVRFX0lTT0ZNVCBpcyBub3Qgc2V0CkBAIC0yMjEsMTEgKzIyOCw4IEBACiBDT05GSUdfRUNITz15CiBDT05GSUdfRkVBVFVSRV9GQU5DWV9FQ0hPPXkKIENPTkZJR19FTlY9eQotQ09ORklHX0ZFQVRVUkVfRU5WX0xPTkdfT1BUSU9OUz15CiAjIENPTkZJR19FWFBBTkQgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9FWFBBTkRfTE9OR19PUFRJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX1VORVhQQU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfVU5FWFBBTkRfTE9OR19PUFRJT05TIGlzIG5vdCBzZXQKIENPTkZJR19FWFBSPXkKIENPTkZJR19FWFBSX01BVEhfU1VQUE9SVF82ND15CiAjIENPTkZJR19GQUNUT1IgaXMgbm90IHNldApAQCAtMjYzLDEyICsyNjcsMTAgQEAKICMKIENPTkZJR19GRUFUVVJFX01ENV9TSEExX1NVTV9DSEVDSz15CiBDT05GSUdfTUtESVI9eQotQ09ORklHX0ZFQVRVUkVfTUtESVJfTE9OR19PUFRJT05TPXkKIENPTkZJR19NS0ZJRk89eQogQ09ORklHX01LTk9EPXkKIENPTkZJR19NS1RFTVA9eQogQ09ORklHX01WPXkKLSMgQ09ORklHX0ZFQVRVUkVfTVZfTE9OR19PUFRJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX05JQ0UgaXMgbm90IHNldAogIyBDT05GSUdfTkwgaXMgbm90IHNldAogQ09ORklHX05PSFVQPXkKQEAgLTI4MywxNSArMjg1LDE0IEBACiBDT05GSUdfUkVBTFBBVEg9eQogQ09ORklHX1JNPXkKIENPTkZJR19STURJUj15Ci0jIENPTkZJR19GRUFUVVJFX1JNRElSX0xPTkdfT1BUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfU0VRPXkKICMgQ09ORklHX1NIUkVEIGlzIG5vdCBzZXQKIENPTkZJR19TSFVGPXkKIENPTkZJR19TTEVFUD15CiBDT05GSUdfRkVBVFVSRV9GQU5DWV9TTEVFUD15Ci1DT05GSUdfRkVBVFVSRV9GTE9BVF9TTEVFUD15CiBDT05GSUdfU09SVD15CiBDT05GSUdfRkVBVFVSRV9TT1JUX0JJRz15CisjIENPTkZJR19GRUFUVVJFX1NPUlRfT1BUSU1JWkVfTUVNT1JZIGlzIG5vdCBzZXQKICMgQ09ORklHX1NQTElUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfU1BMSVRfRkFOQ1kgaXMgbm90IHNldAogQ09ORklHX1NUQVQ9eQpAQCAtMzMxLDEwICszMzIsMTAgQEAKICMgQ09ORklHX1VVRU5DT0RFIGlzIG5vdCBzZXQKIENPTkZJR19XQz15CiAjIENPTkZJR19GRUFUVVJFX1dDX0xBUkdFIGlzIG5vdCBzZXQKK0NPTkZJR19XSE9BTUk9eQogQ09ORklHX1dITz15CiAjIENPTkZJR19XIGlzIG5vdCBzZXQKIENPTkZJR19VU0VSUz15Ci1DT05GSUdfV0hPQU1JPXkKIENPTkZJR19ZRVM9eQogCiAjCkBAIC00NDMsNiArNDQ0LDcgQEAKIENPTkZJR19GRUFUVVJFX0ZJTkRfTU1JTj15CiBDT05GSUdfRkVBVFVSRV9GSU5EX1BFUk09eQogQ09ORklHX0ZFQVRVUkVfRklORF9UWVBFPXkKK0NPTkZJR19GRUFUVVJFX0ZJTkRfRVhFQ1VUQUJMRT15CiBDT05GSUdfRkVBVFVSRV9GSU5EX1hERVY9eQogQ09ORklHX0ZFQVRVUkVfRklORF9NQVhERVBUSD15CiBDT05GSUdfRkVBVFVSRV9GSU5EX05FV0VSPXkKQEAgLTQ1Niw2ICs0NTgsNyBAQAogQ09ORklHX0ZFQVRVUkVfRklORF9QQVJFTj15CiBDT05GSUdfRkVBVFVSRV9GSU5EX1NJWkU9eQogQ09ORklHX0ZFQVRVUkVfRklORF9QUlVORT15CitDT05GSUdfRkVBVFVSRV9GSU5EX1FVSVQ9eQogIyBDT05GSUdfRkVBVFVSRV9GSU5EX0RFTEVURSBpcyBub3Qgc2V0CiBDT05GSUdfRkVBVFVSRV9GSU5EX1BBVEg9eQogQ09ORklHX0ZFQVRVUkVfRklORF9SRUdFWD15CkBAIC00NzEsNiArNDc0LDggQEAKICMgQ09ORklHX0ZFQVRVUkVfWEFSR1NfU1VQUE9SVF9URVJNT1BUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfWEFSR1NfU1VQUE9SVF9aRVJPX1RFUk0gaXMgbm90IHNldAogQ09ORklHX0ZFQVRVUkVfWEFSR1NfU1VQUE9SVF9SRVBMX1NUUj15CisjIENPTkZJR19GRUFUVVJFX1hBUkdTX1NVUFBPUlRfUEFSQUxMRUwgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9YQVJHU19TVVBQT1JUX0FSR1NfRklMRSBpcyBub3Qgc2V0CiAKICMKICMgSW5pdCBVdGlsaXRpZXMKQEAgLTQ4MSw2ICs0ODYsNyBAQAogIyBDT05GSUdfSEFMVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QT1dFUk9GRiBpcyBub3Qgc2V0CiBDT05GSUdfUkVCT09UPXkKKyMgQ09ORklHX0ZFQVRVUkVfV0FJVF9GT1JfSU5JVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX0NBTExfVEVMSU5JVCBpcyBub3Qgc2V0CiAjIENPTkZJR19URUxJTklUX1BBVEggaXMgbm90IHNldAogIyBDT05GSUdfSU5JVCBpcyBub3Qgc2V0CkBAIC01MDMsMTMgKzUwOSwxMSBAQAogIyBDT05GSUdfVVNFX0JCX1NIQURPVyBpcyBub3Qgc2V0CiBDT05GSUdfVVNFX0JCX0NSWVBUPXkKICMgQ09ORklHX1VTRV9CQl9DUllQVF9TSEEgaXMgbm90IHNldAorIyBDT05GSUdfQURER1JPVVAgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9BRERVU0VSX1RPX0dST1VQIGlzIG5vdCBzZXQKICMgQ09ORklHX0FERF9TSEVMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRU1PVkVfU0hFTEwgaXMgbm90IHNldAotIyBDT05GSUdfQURER1JPVVAgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9BRERHUk9VUF9MT05HX09QVElPTlMgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9BRERVU0VSX1RPX0dST1VQIGlzIG5vdCBzZXQKICMgQ09ORklHX0FERFVTRVIgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9BRERVU0VSX0xPTkdfT1BUSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX0NIRUNLX05BTUVTIGlzIG5vdCBzZXQKIENPTkZJR19MQVNUX0lEPTYwMDAwCiBDT05GSUdfRklSU1RfU1lTVEVNX0lEPTEwMApAQCAtNTg1LDggKzU4OSwxMSBAQAogIyBDT05GSUdfRkVBVFVSRV9CTEtJRF9UWVBFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMT0NLREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0NBTCBpcyBub3Qgc2V0CisjIENPTkZJR19DSFJUIGlzIG5vdCBzZXQKIENPTkZJR19ETUVTRz15CiBDT05GSUdfRkVBVFVSRV9ETUVTR19QUkVUVFk9eQorIyBDT05GSUdfRUpFQ1QgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9FSkVDVF9TQ1NJIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBTExPQ0FURSBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVRBVFRSIGlzIG5vdCBzZXQKIENPTkZJR19GQlNFVD15CkBAIC02MTYsOCArNjIzLDggQEAKICMgQ09ORklHX0hEIGlzIG5vdCBzZXQKICMgQ09ORklHX1hYRCBpcyBub3Qgc2V0CiBDT05GSUdfSFdDTE9DSz15Ci1DT05GSUdfRkVBVFVSRV9IV0NMT0NLX0xPTkdfT1BUSU9OUz15CiBDT05GSUdfRkVBVFVSRV9IV0NMT0NLX0FESlRJTUVfRkhTPXkKKyMgQ09ORklHX0lPTklDRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JUENSTSBpcyBub3Qgc2V0CiAjIENPTkZJR19JUENTIGlzIG5vdCBzZXQKICMgQ09ORklHX0xBU1QgaXMgbm90IHNldApAQCAtNjUzLDggKzY2MCwxMCBAQAogQ09ORklHX0ZFQVRVUkVfTU9VTlRfRkxBR1M9eQogQ09ORklHX0ZFQVRVUkVfTU9VTlRfRlNUQUI9eQogIyBDT05GSUdfRkVBVFVSRV9NT1VOVF9PVEhFUlRBQiBpcyBub3Qgc2V0CitDT05GSUdfTU9VTlRQT0lOVD15CisjIENPTkZJR19OT0xPR0lOIGlzIG5vdCBzZXQKKyMgQ09ORklHX05PTE9HSU5fREVQRU5ERU5DSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX05TRU5URVIgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9OU0VOVEVSX0xPTkdfT1BUUyBpcyBub3Qgc2V0CiBDT05GSUdfUElWT1RfUk9PVD15CiBDT05GSUdfUkRBVEU9eQogIyBDT05GSUdfUkRFViBpcyBub3Qgc2V0CkBAIC02NjgsMTAgKzY3NywxNSBAQAogIyBDT05GSUdfTElOVVgzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19MSU5VWDY0IGlzIG5vdCBzZXQKICMgQ09ORklHX1NFVFBSSVYgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9TRVRQUklWX0RVTVAgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9TRVRQUklWX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX1NFVFBSSVZfQ0FQQUJJTElUWV9OQU1FUyBpcyBub3Qgc2V0CitDT05GSUdfU0VUU0lEPXkKIENPTkZJR19TV0FQT049eQogQ09ORklHX0ZFQVRVUkVfU1dBUE9OX0RJU0NBUkQ9eQogQ09ORklHX0ZFQVRVUkVfU1dBUE9OX1BSST15CiBDT05GSUdfU1dBUE9GRj15CisjIENPTkZJR19GRUFUVVJFX1NXQVBPTk9GRl9MQUJFTCBpcyBub3Qgc2V0CiBDT05GSUdfU1dJVENIX1JPT1Q9eQogIyBDT05GSUdfVEFTS1NFVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX1RBU0tTRVRfRkFOQ1kgaXMgbm90IHNldApAQCAtNzAyLDkgKzcxNiwxMSBAQAogIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9IRlMgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9JU085NjYwIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfVk9MVU1FSURfSkZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfVk9MVU1FSURfTEZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfVk9MVU1FSURfTElOVVhSQUlEIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfVk9MVU1FSURfTElOVVhTV0FQIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfVk9MVU1FSURfTFVLUyBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX1ZPTFVNRUlEX01JTklYIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfVk9MVU1FSURfTklMRlMgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9OVEZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfVk9MVU1FSURfT0NGUzIgaXMgbm90IHNldApAQCAtNzE5LDE5ICs3MzUsNDQgQEAKICMKICMgTWlzY2VsbGFuZW91cyBVdGlsaXRpZXMKICMKKyMgQ09ORklHX0FESlRJTUVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JCQ09ORklHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfQ09NUFJFU1NfQkJDT05GSUcgaXMgbm90IHNldAorIyBDT05GSUdfQkMgaXMgbm90IHNldAorQ09ORklHX0RDPXkKKyMgQ09ORklHX0ZFQVRVUkVfRENfQklHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfRENfTElCTSBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0JDX0lOVEVSQUNUSVZFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfQkNfTE9OR19PUFRJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0JFRVAgaXMgbm90IHNldAogQ09ORklHX0ZFQVRVUkVfQkVFUF9GUkVRPTAKIENPTkZJR19GRUFUVVJFX0JFRVBfTEVOR1RIX01TPTAKKyMgQ09ORklHX0NIQVQgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9DSEFUX05PRkFJTCBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0NIQVRfVFRZX0hJRkkgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9DSEFUX0lNUExJQ0lUX0NSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9TV0FMTE9XX09QVFMgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9DSEFUX1NFTkRfRVNDQVBFUyBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0NIQVRfVkFSX0FCT1JUX0xFTiBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0NIQVRfQ0xSX0FCT1JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPTlNQWSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUk9ORCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX0NST05EX0QgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9DUk9ORF9DQUxMX1NFTkRNQUlMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfQ1JPTkRfU1BFQ0lBTF9USU1FUyBpcyBub3Qgc2V0CiBDT05GSUdfRkVBVFVSRV9DUk9ORF9ESVI9IiIKKyMgQ09ORklHX0NST05UQUIgaXMgbm90IHNldAogIyBDT05GSUdfREVWRlNEIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFVkZTRF9NT0RMT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFVkZTRF9GR19OUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERVZGU0RfVkVSQk9TRSBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX0RFVkZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFVk1FTSBpcyBub3Qgc2V0CisjIENPTkZJR19GQlNQTEFTSCBpcyBub3Qgc2V0CisjIENPTkZJR19GTEFTSENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZMQVNIX0VSQVNFQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZMQVNIX0xPQ0sgaXMgbm90IHNldAorIyBDT05GSUdfRkxBU0hfVU5MT0NLIGlzIG5vdCBzZXQKICMgQ09ORklHX0hEUEFSTSBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX0hEUEFSTV9HRVRfSURFTlRJVFkgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9IRFBBUk1fSERJT19TQ0FOX0hXSUYgaXMgbm90IHNldApAQCAtNzQ0LDYgKzc4NSw3IEBACiAjIENPTkZJR19JMkNTRVQgaXMgbm90IHNldAogIyBDT05GSUdfSTJDRFVNUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkNERVRFQ1QgaXMgbm90IHNldAorIyBDT05GSUdfSU5PVElGWUQgaXMgbm90IHNldAogQ09ORklHX0xFU1M9eQogQ09ORklHX0ZFQVRVUkVfTEVTU19NQVhMSU5FUz05OTk5OTk5CiBDT05GSUdfRkVBVFVSRV9MRVNTX0JSQUNLRVRTPXkKQEAgLTc1NSw3OCArNzk3LDM1IEBACiAjIENPTkZJR19GRUFUVVJFX0xFU1NfQVNLX1RFUk1JTkFMIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfTEVTU19EQVNIQ01EIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfTEVTU19MSU5FTlVNUyBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0xFU1NfUkFXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfTEVTU19FTlYgaXMgbm90IHNldAogIyBDT05GSUdfTFNTQ1NJIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BS0VERVZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfTUFLRURFVlNfTEVBRiBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX01BS0VERVZTX1RBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BTiBpcyBub3Qgc2V0CitDT05GSUdfTUlDUk9DT009eQorIyBDT05GSUdfTVQgaXMgbm90IHNldAogIyBDT05GSUdfTkFORFdSSVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX05BTkREVU1QIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBUlRQUk9CRSBpcyBub3Qgc2V0CisjIENPTkZJR19SQUlEQVVUT1JVTiBpcyBub3Qgc2V0CisjIENPTkZJR19SRUFEQUhFQUQgaXMgbm90IHNldAogQ09ORklHX1JGS0lMTD15CisjIENPTkZJR19SVU5MRVZFTCBpcyBub3Qgc2V0CisjIENPTkZJR19SWCBpcyBub3Qgc2V0CisjIENPTkZJR19TRVRGQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19TRVRTRVJJQUwgaXMgbm90IHNldAorQ09ORklHX1NUUklOR1M9eQorQ09ORklHX1RJTUU9eQorIyBDT05GSUdfVFRZU0laRSBpcyBub3Qgc2V0CisjIENPTkZJR19VQklSRU5BTUUgaXMgbm90IHNldAogIyBDT05GSUdfVUJJQVRUQUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VCSURFVEFDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VQklNS1ZPTCBpcyBub3Qgc2V0CiAjIENPTkZJR19VQklSTVZPTCBpcyBub3Qgc2V0CiAjIENPTkZJR19VQklSU1ZPTCBpcyBub3Qgc2V0CiAjIENPTkZJR19VQklVUERBVEVWT0wgaXMgbm90IHNldAotIyBDT05GSUdfVUJJUkVOQU1FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FESlRJTUVYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JCQ09ORklHIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfQ09NUFJFU1NfQkJDT05GSUcgaXMgbm90IHNldAotIyBDT05GSUdfQkVFUCBpcyBub3Qgc2V0Ci1DT05GSUdfRkVBVFVSRV9CRUVQX0ZSRVE9MAotQ09ORklHX0ZFQVRVUkVfQkVFUF9MRU5HVEhfTVM9MAotIyBDT05GSUdfQ0hBVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0NIQVRfTk9GQUlMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9UVFlfSElGSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0NIQVRfSU1QTElDSVRfQ1IgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9DSEFUX1NXQUxMT1dfT1BUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0NIQVRfU0VORF9FU0NBUEVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9WQVJfQUJPUlRfTEVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9DTFJfQUJPUlQgaXMgbm90IHNldAotIyBDT05GSUdfQ0hSVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUk9OVEFCIGlzIG5vdCBzZXQKLUNPTkZJR19EQz15Ci0jIENPTkZJR19GRUFUVVJFX0RDX0xJQk0gaXMgbm90IHNldAotIyBDT05GSUdfREVWRlNEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVkZTRF9NT0RMT0FEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVkZTRF9GR19OUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVZGU0RfVkVSQk9TRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0RFVkZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVk1FTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19FSkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0VKRUNUX1NDU0kgaXMgbm90IHNldAotIyBDT05GSUdfRkJTUExBU0ggaXMgbm90IHNldAotIyBDT05GSUdfRkxBU0hDUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GTEFTSF9MT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZMQVNIX1VOTE9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GTEFTSF9FUkFTRUFMTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JT05JQ0UgaXMgbm90IHNldAotIyBDT05GSUdfSU5PVElGWUQgaXMgbm90IHNldAotIyBDT05GSUdfTEFTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0xBU1RfRkFOQ1kgaXMgbm90IHNldAotIyBDT05GSUdfSERQQVJNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfSERQQVJNX0dFVF9JREVOVElUWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0hEUEFSTV9IRElPX1NDQU5fSFdJRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0hEUEFSTV9IRElPX1VOUkVHSVNURVJfSFdJRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0hEUEFSTV9IRElPX0RSSVZFX1JFU0VUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfSERQQVJNX0hESU9fVFJJU1RBVEVfSFdJRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0hEUEFSTV9IRElPX0dFVFNFVF9ETUEgaXMgbm90IHNldAotIyBDT05GSUdfTUFLRURFVlMgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9NQUtFREVWU19MRUFGIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfTUFLRURFVlNfVEFCTEUgaXMgbm90IHNldAotIyBDT05GSUdfTUFOIGlzIG5vdCBzZXQKLUNPTkZJR19NSUNST0NPTT15Ci0jIENPTkZJR19NT1VOVFBPSU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX01UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JBSURBVVRPUlVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JFQURBSEVBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVU5MRVZFTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRVRTSUQgaXMgbm90IHNldAotIyBDT05GSUdfU0VURkFUVFIgaXMgbm90IHNldAotQ09ORklHX1NUUklOR1M9eQotQ09ORklHX1RJTUU9eQotIyBDT05GSUdfVElNRU9VVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UVFlTSVpFIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZPTE5BTUUgaXMgbm90IHNldAogIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAogCkBAIC04MzcsNiArODM2LDcgQEAKICMgQ09ORklHX0ZFQVRVUkVfVU5JWF9MT0NBTCBpcyBub3Qgc2V0CiBDT05GSUdfRkVBVFVSRV9QUkVGRVJfSVBWNF9BRERSRVNTPXkKICMgQ09ORklHX1ZFUkJPU0VfUkVTT0xVVElPTl9FUlJPUlMgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9UTFNfU0hBMSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUlAgaXMgbm90IHNldAogIyBDT05GSUdfQVJQSU5HIGlzIG5vdCBzZXQKICMgQ09ORklHX0JSQ1RMIGlzIG5vdCBzZXQKQEAgLTkxMSw2ICs5MTEsNyBAQAogIyBDT05GSUdfRkVBVFVSRV9OQU1FSUZfRVhURU5ERUQgaXMgbm90IHNldAogIyBDT05GSUdfTkJEQ0xJRU5UIGlzIG5vdCBzZXQKIENPTkZJR19OQz15CisjIENPTkZJR19ORVRDQVQgaXMgbm90IHNldAogIyBDT05GSUdfTkNfU0VSVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX05DX0VYVFJBIGlzIG5vdCBzZXQKICMgQ09ORklHX05DXzExMF9DT01QQVQgaXMgbm90IHNldApAQCAtOTE4LDkgKzkxOSwxMiBAQAogIyBDT05GSUdfRkVBVFVSRV9ORVRTVEFUX1dJREUgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9ORVRTVEFUX1BSRyBpcyBub3Qgc2V0CiBDT05GSUdfTlNMT09LVVA9eQorIyBDT05GSUdfRkVBVFVSRV9OU0xPT0tVUF9CSUcgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9OU0xPT0tVUF9MT05HX09QVElPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTlRQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX05UUERfU0VSVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfTlRQRF9DT05GIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfTlRQX0FVVEggaXMgbm90IHNldAogQ09ORklHX1BJTkc9eQogQ09ORklHX1BJTkc2PXkKIENPTkZJR19GRUFUVVJFX0ZBTkNZX1BJTkc9eQpAQCAtOTQwLDE1ICs5NDQsMTEgQEAKICMgQ09ORklHX0ZFQVRVUkVfVEVMTkVURF9TVEFOREFMT05FIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfVEVMTkVURF9JTkVURF9XQUlUIGlzIG5vdCBzZXQKIENPTkZJR19URlRQPXkKKyMgQ09ORklHX0ZFQVRVUkVfVEZUUF9QUk9HUkVTU19CQVIgaXMgbm90IHNldAogIyBDT05GSUdfVEZUUEQgaXMgbm90IHNldAotCi0jCi0jIENvbW1vbiBvcHRpb25zIGZvciB0ZnRwL3RmdHBkCi0jCiBDT05GSUdfRkVBVFVSRV9URlRQX0dFVD15CiBDT05GSUdfRkVBVFVSRV9URlRQX1BVVD15CiAjIENPTkZJR19GRUFUVVJFX1RGVFBfQkxPQ0tTSVpFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfVEZUUF9QUk9HUkVTU19CQVIgaXMgbm90IHNldAogIyBDT05GSUdfVEZUUF9ERUJVRyBpcyBub3Qgc2V0CiBDT05GSUdfVExTPXkKIENPTkZJR19UUkFDRVJPVVRFPXkKQEAgLTk4OCw5ICs5ODgsOSBAQAogIwogIyBDT05GSUdfRkVBVFVSRV9VREhDUF9QT1JUIGlzIG5vdCBzZXQKIENPTkZJR19VREhDUF9ERUJVRz0wCitDT05GSUdfVURIQ1BDX1NMQUNLX0ZPUl9CVUdHWV9TRVJWRVJTPTgwCiAjIENPTkZJR19GRUFUVVJFX1VESENQX1JGQzMzOTcgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9VREhDUF84MDIxUSBpcyBub3Qgc2V0Ci1DT05GSUdfVURIQ1BDX1NMQUNLX0ZPUl9CVUdHWV9TRVJWRVJTPTgwCiBDT05GSUdfSUZVUERPV05fVURIQ1BDX0NNRF9PUFRJT05TPSItUiAtYiIKIAogIwpAQCAtMTA3MSwxMyArMTA3MSwxMSBAQAogIyBDT05GSUdfU1ZPSyBpcyBub3Qgc2V0CiAjIENPTkZJR19TVkxPR0QgaXMgbm90IHNldAogIyBDT05GSUdfQ0hDT04gaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9DSENPTl9MT05HX09QVElPTlMgaXMgbm90IHNldAogIyBDT05GSUdfR0VURU5GT1JDRSBpcyBub3Qgc2V0CiAjIENPTkZJR19HRVRTRUJPT0wgaXMgbm90IHNldAogIyBDT05GSUdfTE9BRF9QT0xJQ1kgaXMgbm90IHNldAogIyBDT05GSUdfTUFUQ0hQQVRIQ09OIGlzIG5vdCBzZXQKICMgQ09ORklHX1JVTkNPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX1JVTkNPTl9MT05HX09QVElPTlMgaXMgbm90IHNldAogIyBDT05GSUdfU0VMSU5VWEVOQUJMRUQgaXMgbm90IHNldAogIyBDT05GSUdfU0VTVEFUVVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VURU5GT1JDRSBpcyBub3Qgc2V0CkBAIC0xMDk5LDYgKzEwOTcsOCBAQAogQ09ORklHX0FTSF9PUFRJTUlaRV9GT1JfU0laRT15CiBDT05GSUdfQVNIX0lOVEVSTkFMX0dMT0I9eQogQ09ORklHX0FTSF9CQVNIX0NPTVBBVD15CisjIENPTkZJR19BU0hfQkFTSF9TT1VSQ0VfQ1VSRElSIGlzIG5vdCBzZXQKK0NPTkZJR19BU0hfQkFTSF9OT1RfRk9VTkRfSE9PSz15CiBDT05GSUdfQVNIX0pPQl9DT05UUk9MPXkKIENPTkZJR19BU0hfQUxJQVM9eQogIyBDT05GSUdfQVNIX1JBTkRPTV9TVVBQT1JUIGlzIG5vdCBzZXQKQEAgLTExMTUsNiArMTExNSw4IEBACiAjIENPTkZJR19IVVNIIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfQkFTSF9DT01QQVQgaXMgbm90IHNldAogIyBDT05GSUdfSFVTSF9CUkFDRV9FWFBBTlNJT04gaXMgbm90IHNldAorIyBDT05GSUdfSFVTSF9MSU5FTk9fVkFSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hVU0hfQkFTSF9TT1VSQ0VfQ1VSRElSIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfSU5URVJBQ1RJVkUgaXMgbm90IHNldAogIyBDT05GSUdfSFVTSF9TQVZFSElTVE9SWSBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX0pPQiBpcyBub3Qgc2V0CkBAIC0xMTMyLDE3ICsxMTM0LDIwIEBACiAjIENPTkZJR19IVVNIX0hFTFAgaXMgbm90IHNldAogIyBDT05GSUdfSFVTSF9FWFBPUlQgaXMgbm90IHNldAogIyBDT05GSUdfSFVTSF9FWFBPUlRfTiBpcyBub3Qgc2V0CisjIENPTkZJR19IVVNIX1JFQURPTkxZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfS0lMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX1dBSVQgaXMgbm90IHNldAorIyBDT05GSUdfSFVTSF9DT01NQU5EIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfVFJBUCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX1RZUEUgaXMgbm90IHNldAorIyBDT05GSUdfSFVTSF9USU1FUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX1JFQUQgaXMgbm90IHNldAogIyBDT05GSUdfSFVTSF9TRVQgaXMgbm90IHNldAogIyBDT05GSUdfSFVTSF9VTlNFVCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX1VMSU1JVCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX1VNQVNLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hVU0hfR0VUT1BUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX01FTUxFQUsgaXMgbm90IHNldAotIyBDT05GSUdfTVNIIGlzIG5vdCBzZXQKIAogIwogIyBPcHRpb25zIGNvbW1vbiB0byBhbGwgc2hlbGxzCkBAIC0xMTUyLDcgKzExNTcsOSBAQAogQ09ORklHX0ZFQVRVUkVfU0hfRVhUUkFfUVVJRVQ9eQogIyBDT05GSUdfRkVBVFVSRV9TSF9TVEFOREFMT05FIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfU0hfTk9GT1JLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfU0hfUkVBRF9GUkFDIGlzIG5vdCBzZXQKIENPTkZJR19GRUFUVVJFX1NIX0hJU1RGSUxFU0laRT15CisjIENPTkZJR19GRUFUVVJFX1NIX0VNQkVEREVEX1NDUklQVFMgaXMgbm90IHNldAogCiAjCiAjIFN5c3RlbSBMb2dnaW5nIFV0aWxpdGllcwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3hfMS4yOS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3hfMS4yOS4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDY0ZTlmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94XzEuMjkuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLXJlcXVpcmUgYnVzeWJveC5pbmMKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmJ1c3lib3gubmV0L2Rvd25sb2Fkcy9idXN5Ym94LSR7UFZ9LnRhci5iejI7bmFtZT10YXJiYWxsIFwKLSAgICAgICAgICAgZmlsZTovL2J1c3lib3gtdWRoY3BjLW5vX2RlY29uZmlnLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2ZpbmQtdG91Y2hzY3JlZW4uc2ggXAotICAgICAgICAgICBmaWxlOi8vYnVzeWJveC1jcm9uIFwKLSAgICAgICAgICAgZmlsZTovL2J1c3lib3gtaHR0cGQgXAotICAgICAgICAgICBmaWxlOi8vYnVzeWJveC11ZGhjcGQgXAotICAgICAgICAgICBmaWxlOi8vZGVmYXVsdC5zY3JpcHQgXAotICAgICAgICAgICBmaWxlOi8vc2ltcGxlLnNjcmlwdCBcCi0gICAgICAgICAgIGZpbGU6Ly9od2Nsb2NrLnNoIFwKLSAgICAgICAgICAgZmlsZTovL21vdW50LmJ1c3lib3ggXAotICAgICAgICAgICBmaWxlOi8vc3lzbG9nIFwKLSAgICAgICAgICAgZmlsZTovL3N5c2xvZy1zdGFydHVwLmNvbmYgXAotICAgICAgICAgICBmaWxlOi8vc3lzbG9nLmNvbmYgXAotICAgICAgICAgICBmaWxlOi8vYnVzeWJveC1zeXNsb2cuZGVmYXVsdCBcCi0gICAgICAgICAgIGZpbGU6Ly9tZGV2IFwKLSAgICAgICAgICAgZmlsZTovL21kZXYuY29uZiBcCi0gICAgICAgICAgIGZpbGU6Ly9tZGV2LW1vdW50LnNoIFwKLSAgICAgICAgICAgZmlsZTovL3Vtb3VudC5idXN5Ym94IFwKLSAgICAgICAgICAgZmlsZTovL2RlZmNvbmZpZyBcCi0gICAgICAgICAgIGZpbGU6Ly9idXN5Ym94LXN5c2xvZy5zZXJ2aWNlLmluIFwKLSAgICAgICAgICAgZmlsZTovL2J1c3lib3gta2xvZ2Quc2VydmljZS5pbiBcCi0gICAgICAgICAgIGZpbGU6Ly9mYWlsX29uX25vX21lZGlhLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9pbmV0ZC5jb25mIFwKLSAgICAgICAgICAgZmlsZTovL2luZXRkIFwKLSAgICAgICAgICAgZmlsZTovL2xvZ2luLXV0aWxpdGllcy5jZmcgXAotICAgICAgICAgICBmaWxlOi8vcmVjb2duaXplX2Nvbm5tYW5kLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2J1c3lib3gtY3Jvc3MtbWVudWNvbmZpZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1DQy13aGVuLWxpbmtpbmctaW5zdGVhZC1vZi1MRC1hbmQtdXNlLUNGTEFHUy1hbmQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbW91bnQtdmlhLWxhYmVsLmNmZyBcCi0gICAgICAgICAgIGZpbGU6Ly9zaGExc3VtLmNmZyBcCi0gICAgICAgICAgIGZpbGU6Ly9zaGEyNTZzdW0uY2ZnIFwKLSAgICAgICAgICAgZmlsZTovL2dldG9wdHMuY2ZnIFwKLSAgICAgICAgICAgZmlsZTovL3Jlc2l6ZS5jZmcgXAotICAgICAgICAgICAke0BbIiIsICJmaWxlOi8vaW5pdC5jZmciXVsoZC5nZXRWYXIoJ1ZJUlRVQUwtUlVOVElNRV9pbml0X21hbmFnZXInKSA9PSAnYnVzeWJveCcpXX0gXAotICAgICAgICAgICAke0BbIiIsICJmaWxlOi8vbWRldi5jZmciXVsoZC5nZXRWYXIoJ1ZJUlRVQUwtUlVOVElNRV9kZXZfbWFuYWdlcicpID09ICdidXN5Ym94LW1kZXYnKV19IFwKLSAgICAgICAgICAgZmlsZTovL3N5c2xvZy5jZmcgXAotICAgICAgICAgICBmaWxlOi8vaW5pdHRhYiBcCi0gICAgICAgICAgIGZpbGU6Ly9yY1MgXAotICAgICAgICAgICBmaWxlOi8vcmNLIFwKLSAgICAgICAgICAgZmlsZTovL21ha2VmaWxlLWxpYmJiLXJhY2UucGF0Y2ggXAotIgotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vbXVzbC5jZmcgIgotCi1TUkNfVVJJW3RhcmJhbGwubWQ1c3VtXSA9ICIwYTM2N2UxOWNkZmQxNTdlODI1OGQ4N2Y4OTNlZTUxNiIKLVNSQ19VUklbdGFyYmFsbC5zaGEyNTZzdW1dID0gIjk3NjQ4NjM2ZTU3OTQ2MjI5NjQ3OGUwMjE4ZTY1ZTRiYzFlOWNkNjkwODlhM2IxYWViODEwYmZmNzYyMWVmYjciCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveF8xLjMwLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveF8xLjMwLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTY0ZjNhYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94XzEuMzAuMS5iYgpAQCAtMCwwICsxLDUxIEBACityZXF1aXJlIGJ1c3lib3guaW5jCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5idXN5Ym94Lm5ldC9kb3dubG9hZHMvYnVzeWJveC0ke1BWfS50YXIuYnoyO25hbWU9dGFyYmFsbCBcCisgICAgICAgICAgIGZpbGU6Ly9idXN5Ym94LXVkaGNwYy1ub19kZWNvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maW5kLXRvdWNoc2NyZWVuLnNoIFwKKyAgICAgICAgICAgZmlsZTovL2J1c3lib3gtY3JvbiBcCisgICAgICAgICAgIGZpbGU6Ly9idXN5Ym94LWh0dHBkIFwKKyAgICAgICAgICAgZmlsZTovL2J1c3lib3gtdWRoY3BkIFwKKyAgICAgICAgICAgZmlsZTovL2RlZmF1bHQuc2NyaXB0IFwKKyAgICAgICAgICAgZmlsZTovL3NpbXBsZS5zY3JpcHQgXAorICAgICAgICAgICBmaWxlOi8vaHdjbG9jay5zaCBcCisgICAgICAgICAgIGZpbGU6Ly9tb3VudC5idXN5Ym94IFwKKyAgICAgICAgICAgZmlsZTovL3N5c2xvZyBcCisgICAgICAgICAgIGZpbGU6Ly9zeXNsb2ctc3RhcnR1cC5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL3N5c2xvZy5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL2J1c3lib3gtc3lzbG9nLmRlZmF1bHQgXAorICAgICAgICAgICBmaWxlOi8vbWRldiBcCisgICAgICAgICAgIGZpbGU6Ly9tZGV2LmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vbWRldi1tb3VudC5zaCBcCisgICAgICAgICAgIGZpbGU6Ly91bW91bnQuYnVzeWJveCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWZjb25maWcgXAorICAgICAgICAgICBmaWxlOi8vYnVzeWJveC1zeXNsb2cuc2VydmljZS5pbiBcCisgICAgICAgICAgIGZpbGU6Ly9idXN5Ym94LWtsb2dkLnNlcnZpY2UuaW4gXAorICAgICAgICAgICBmaWxlOi8vZmFpbF9vbl9ub19tZWRpYS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vaW5ldGQuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9pbmV0ZCBcCisgICAgICAgICAgIGZpbGU6Ly9sb2dpbi11dGlsaXRpZXMuY2ZnIFwKKyAgICAgICAgICAgZmlsZTovL3JlY29nbml6ZV9jb25ubWFuZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9idXN5Ym94LWNyb3NzLW1lbnVjb25maWcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Vc2UtQ0Mtd2hlbi1saW5raW5nLWluc3RlYWQtb2YtTEQtYW5kLXVzZS1DRkxBR1MtYW5kLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL21vdW50LXZpYS1sYWJlbC5jZmcgXAorICAgICAgICAgICBmaWxlOi8vc2hhMXN1bS5jZmcgXAorICAgICAgICAgICBmaWxlOi8vc2hhMjU2c3VtLmNmZyBcCisgICAgICAgICAgIGZpbGU6Ly9nZXRvcHRzLmNmZyBcCisgICAgICAgICAgIGZpbGU6Ly9yZXNpemUuY2ZnIFwKKyAgICAgICAgICAgJHtAWyIiLCAiZmlsZTovL2luaXQuY2ZnIl1bKGQuZ2V0VmFyKCdWSVJUVUFMLVJVTlRJTUVfaW5pdF9tYW5hZ2VyJykgPT0gJ2J1c3lib3gnKV19IFwKKyAgICAgICAgICAgJHtAWyIiLCAiZmlsZTovL21kZXYuY2ZnIl1bKGQuZ2V0VmFyKCdWSVJUVUFMLVJVTlRJTUVfZGV2X21hbmFnZXInKSA9PSAnYnVzeWJveC1tZGV2JyldfSBcCisgICAgICAgICAgIGZpbGU6Ly9zeXNsb2cuY2ZnIFwKKyAgICAgICAgICAgZmlsZTovL2luaXR0YWIgXAorICAgICAgICAgICBmaWxlOi8vcmNTIFwKKyAgICAgICAgICAgZmlsZTovL3JjSyBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlZmlsZS1saWJiYi1yYWNlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtdGVzdHN1aXRlLWNoZWNrLXV1ZGVjb2RlLWJlZm9yZS11c2luZy1pdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXRlc3RzdWl0ZS11c2Utd3d3LmV4YW1wbGUub3JnLWZvci13Z2V0LXRlc3QtY2FzZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1kdS1sLXdvcmtzLWZpeC10by11c2UtMTQ1LWluc3RlYWQtb2YtMTQ0LnBhdGNoIFwKKyIKK1NSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9ICIgZmlsZTovL211c2wuY2ZnICIKKworU1JDX1VSSVt0YXJiYWxsLm1kNXN1bV0gPSAiNGY3MmZjNmFiZDczNmQ1ZjQ3NDFmYzRhMjQ4NTU0N2EiCitTUkNfVVJJW3RhcmJhbGwuc2hhMjU2c3VtXSA9ICIzZDFkMDRhNGRiZDM0MDQ4ZjQ3OTQ4MTVhNWM0OGViYjllYjUzYzUyNzdlMDlmZmZmYzA2MDMyM2I5NWRmYmRjIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2ZpbGVzL3J1bi1wdGVzdCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9maWxlcy9ydW4tcHRlc3QKaW5kZXggMzYwOGE4ZS4uYjE5ZTViNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2ZpbGVzL3J1bi1wdGVzdAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvZmlsZXMvcnVuLXB0ZXN0CkBAIC0xLDcgKzEsOSBAQAogIyEvYmluL3NoCiAKLWN1cnJlbnRfZGlyPSQocmVhZGxpbmsgLWYgJDApCi1leHBvcnQgYmluZGlyPSQoZGlybmFtZSAkY3VycmVudF9kaXIpCitjdXJyZW50X3BhdGg9JChyZWFkbGluayAtZiAkMCkKK2V4cG9ydCBiaW5kaXI9JChkaXJuYW1lICRjdXJyZW50X3BhdGgpCitleHBvcnQgUEFUSD0kYmluZGlyL2JpbjokUEFUSAorZXhwb3J0IFNLSVBfS05PV05fQlVHUz0xCiAKIGNkIHRlc3RzdWl0ZSB8fCBleGl0IDEKIC4vcnVudGVzdCAtdiB8IHNlZCAtciAncy9eKFNLSVBQRUR8VU5URVNURUQpOi9TS0lQOi8nCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2RidXMvZGJ1cy10ZXN0XzEuMTIuMTAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2RidXMvZGJ1cy10ZXN0XzEuMTIuMTAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1YjkzOTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9kYnVzL2RidXMtdGVzdF8xLjEyLjEwLmJiCisrKyAvZGV2L251bGwKQEAgLTEsODMgKzAsMCBAQAotU1VNTUFSWSA9ICJELUJ1cyB0ZXN0IHBhY2thZ2UgKGZvciBELWJ1cyBmdW5jdGlvbmFsaXR5IHRlc3Rpbmcgb25seSkiCi1IT01FUEFHRSA9ICJodHRwOi8vZGJ1cy5mcmVlZGVza3RvcC5vcmciCi1TRUNUSU9OID0gImJhc2UiCi1MSUNFTlNFID0gIkFGTC0yIHwgR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTBkZGVkM2I1ODE0OGYzZjFmZDgwNGIyNjM1NGFmM2UgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZGJ1cy9kYnVzLmg7YmVnaW5saW5lPTY7ZW5kbGluZT0yMDttZDU9Nzc1NWM5ZDdhYmNjZDVkYmQyNWE2YTk3NDUzOGJiM2MiCi0KLURFUEVORFMgPSAiZGJ1cyBnbGliLTIuMCIKLQotUkRFUEVORFNfJHtQTn0gKz0gIm1ha2UiCi1SREVQRU5EU18ke1BOfS1kZXYgPSAiIgotCi1TUkNfVVJJID0gImh0dHA6Ly9kYnVzLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy9kYnVzL2RidXMtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL3RtcGRpci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICBmaWxlOi8vcHl0aG9uLWNvbmZpZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9jbGVhci1ndWlkX2Zyb21fc2VydmVyLWlmLXNlbmRfbmVnb3RpYXRlX3VuaXhfZi5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gImMzZTEyYjQyMDZlMmE3ZGEzOWQ3Y2M0MjU2Nzc5MGVmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRiNjkzZDI0OTc2MjU4YzNmMmZhOWNjMzNhZDkyODhjNWZiZmE3YTE2NDgxZGJkOWE4YTQyOWY3YWE4Y2RjZjciCi0KLVM9IiR7V09SS0RJUn0vZGJ1cy0ke1BWfSIKLUZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9L2RidXM6IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dCBwdGVzdCB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KLQotRVhUUkFfT0VDT05GX1ggPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAnLS13aXRoLXgnLCAnLS13aXRob3V0LXgnLCBkKX0iCi1FWFRSQV9PRUNPTkZfWF9jbGFzcy1uYXRpdmUgPSAiLS13aXRob3V0LXgiCi0KLUVYVFJBX09FQ09ORiA9ICItLWVuYWJsZS10ZXN0cyBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtbW9kdWxhci10ZXN0cyBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtaW5zdGFsbGVkLXRlc3RzIFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1jaGVja3MgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLWFzc2VydHMgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLXZlcmJvc2UtbW9kZSBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtbGFyZ2VmaWxlIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUteG1sLWRvY3MgXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kb3h5Z2VuLWRvY3MgXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1saWJhdWRpdCBcCi0gICAgICAgICAgICAgICAgLS13aXRoLWRidXMtdGVzdC1kaXI9JHtQVEVTVF9QQVRIfSBcCi0gICAgICAgICAgICAgICAgJHtFWFRSQV9PRUNPTkZfWH0iCi0KLUVYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBTWVNURU1DVEw9JHtiYXNlX2JpbmRpcn0vc3lzdGVtY3RsIgotCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCB4MTEnLCBkKX0iCi1QQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICIiCi1QQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA9ICIiCi0KLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS1lbmFibGUtc3lzdGVtZCAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSwtLWRpc2FibGUtc3lzdGVtZCAtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsc3lzdGVtZCIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteCAtLWVuYWJsZS14MTEtYXV0b2xhdW5jaCwtLXdpdGhvdXQteCAtLWRpc2FibGUteDExLWF1dG9sYXVuY2gsIHZpcnR1YWwvbGlieDExIGxpYnNtIgotUEFDS0FHRUNPTkZJR1t1c2VyLXNlc3Npb25dID0gIi0tZW5hYmxlLXVzZXItc2Vzc2lvbiAtLXdpdGgtc3lzdGVtZHVzZXJ1bml0ZGlyPSR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9LC0tZGlzYWJsZS11c2VyLXNlc3Npb24iCi0KLWRvX2luc3RhbGwoKSB7Ci0gICAgOgotfQotCi1kb19pbnN0YWxsX3B0ZXN0KCkgewotCWluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdAotCWw9InNoZWxsIHByaW50ZiByZWZzIHN5c2xvZyBtYXJzaGFsIHN5bnRheCBjb3JydXB0IGRidXMtZGFlbW9uIGRidXMtZGFlbW9uLWVhdmVzZHJvcCBsb29wYmFjayByZWxheSBcCi0JICAgdmFyaWFudCB1aWQtcGVybWlzc2lvbnMgc3ludGF4IHNwYXduIHNkLWFjdGl2YXRpb24gbmFtZXMgbW9uaXRvciBtZXNzYWdlIGZkcGFzcyAiCi0JZm9yIGkgaW4gJGw7IGRvIGluc3RhbGwgJHtCfS90ZXN0Ly5saWJzL3Rlc3QtJGkgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdDsgZG9uZQotCi0JbD0iYnVzIGJ1cy1zeXN0ZW0gYnVzLWxhdW5jaC1oZWxwZXIiCi0JZm9yIGkgaW4gJGw7IGRvIGluc3RhbGwgJHtCfS9idXMvLmxpYnMvdGVzdC0kaSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0OyBkb25lCi0KLQljcCAtciAke0J9L3Rlc3QvZGF0YSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0Ci0JaW5zdGFsbCAke0J9L2RidXMvLmxpYnMvdGVzdC1kYnVzICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKLQotCWluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdC8ubGlicwotCWNwIC1hICR7Qn0vZGJ1cy8ubGlicy8qLnNvKiAke0R9JHtQVEVTVF9QQVRIfS90ZXN0Ly5saWJzCi0KLQkjIFJlbW92ZSBidWlsZCBob3N0IHJlZmVyZW5jZXMuLi4KLQlmaW5kICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0L2RhdGEiIFwoIC1uYW1lICouc2VydmljZSAtbyAtbmFtZSAqLmNvbmYgLW8gLW5hbWUgIiouYWFwcm9maWxlIiBcKSAtdHlwZSBmIC1leGVjIFwKLQkJc2VkIC1pIFwKLQkJIC1lICdzOiR7Qn06JHtQVEVTVF9QQVRIfTpnJyBcCi0JCSB7fSArCi0gICAgICAgIHNlZCAtaSAtZSAncztAUFRFU1RfUEFUSEA7JHtQVEVTVF9QQVRIfTtnJyAgJHtEfSR7UFRFU1RfUEFUSH0vcnVuLXB0ZXN0Ci19Ci0KLVJERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJiYXNoIgotCi1QUklWQVRFX0xJQlNfJHtQTn0tcHRlc3QgPSAibGliZGJ1cy0xLnNvLjMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2RidXMvZGJ1cy10ZXN0XzEuMTIuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2RidXMvZGJ1cy10ZXN0XzEuMTIuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQxMzE5MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLXRlc3RfMS4xMi4xMi5iYgpAQCAtMCwwICsxLDgzIEBACitTVU1NQVJZID0gIkQtQnVzIHRlc3QgcGFja2FnZSAoZm9yIEQtYnVzIGZ1bmN0aW9uYWxpdHkgdGVzdGluZyBvbmx5KSIKK0hPTUVQQUdFID0gImh0dHA6Ly9kYnVzLmZyZWVkZXNrdG9wLm9yZyIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiQUZMLTIgfCBHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xMGRkZWQzYjU4MTQ4ZjNmMWZkODA0YjI2MzU0YWYzZSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kYnVzL2RidXMuaDtiZWdpbmxpbmU9NjtlbmRsaW5lPTIwO21kNT03NzU1YzlkN2FiY2NkNWRiZDI1YTZhOTc0NTM4YmIzYyIKKworREVQRU5EUyA9ICJkYnVzIGdsaWItMi4wIgorCitSREVQRU5EU18ke1BOfSArPSAibWFrZSIKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCisKK1NSQ19VUkkgPSAiaHR0cDovL2RidXMuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzL2RidXMvZGJ1cy0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vdG1wZGlyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly9weXRob24tY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NsZWFyLWd1aWRfZnJvbV9zZXJ2ZXItaWYtc2VuZF9uZWdvdGlhdGVfdW5peF9mLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWExMTA2OTUyMWJlZWVlNGU0N2YwMDg2NTk2YTQzYzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTU0NmYyMjYwMTFhMWU1ZDlkNzcyNDVmZTU1NDllZjI1YWY0Njk0MDUzMTg5ZDYyNGQwZDZhYzEyN2VjZjVmOCIKKworUz0iJHtXT1JLRElSfS9kYnVzLSR7UFZ9IgorRklMRVNFWFRSQVBBVEhTID0uICIke0ZJTEVfRElSTkFNRX0vZGJ1czoiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IHB0ZXN0IHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgorCitFWFRSQV9PRUNPTkZfWCA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICctLXdpdGgteCcsICctLXdpdGhvdXQteCcsIGQpfSIKK0VYVFJBX09FQ09ORl9YX2NsYXNzLW5hdGl2ZSA9ICItLXdpdGhvdXQteCIKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXRlc3RzIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1tb2R1bGFyLXRlc3RzIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1pbnN0YWxsZWQtdGVzdHMgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWNoZWNrcyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtYXNzZXJ0cyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtdmVyYm9zZS1tb2RlIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1sYXJnZWZpbGUgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS14bWwtZG9jcyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWRveHlnZW4tZG9jcyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWxpYmF1ZGl0IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtZGJ1cy10ZXN0LWRpcj0ke1BURVNUX1BBVEh9IFwKKyAgICAgICAgICAgICAgICAke0VYVFJBX09FQ09ORl9YfSIKKworRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFNZU1RFTUNUTD0ke2Jhc2VfYmluZGlyfS9zeXN0ZW1jdGwiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kIHgxMScsIGQpfSIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gIiIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID0gIiIKKworUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LC0tZGlzYWJsZS1zeXN0ZW1kIC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcixzeXN0ZW1kIgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14IC0tZW5hYmxlLXgxMS1hdXRvbGF1bmNoLC0td2l0aG91dC14IC0tZGlzYWJsZS14MTEtYXV0b2xhdW5jaCwgdmlydHVhbC9saWJ4MTEgbGlic20iCitQQUNLQUdFQ09ORklHW3VzZXItc2Vzc2lvbl0gPSAiLS1lbmFibGUtdXNlci1zZXNzaW9uIC0td2l0aC1zeXN0ZW1kdXNlcnVuaXRkaXI9JHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0sLS1kaXNhYmxlLXVzZXItc2Vzc2lvbiIKKworZG9faW5zdGFsbCgpIHsKKyAgICA6Cit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0CisJbD0ic2hlbGwgcHJpbnRmIHJlZnMgc3lzbG9nIG1hcnNoYWwgc3ludGF4IGNvcnJ1cHQgZGJ1cy1kYWVtb24gZGJ1cy1kYWVtb24tZWF2ZXNkcm9wIGxvb3BiYWNrIHJlbGF5IFwKKwkgICB2YXJpYW50IHVpZC1wZXJtaXNzaW9ucyBzeW50YXggc3Bhd24gc2QtYWN0aXZhdGlvbiBuYW1lcyBtb25pdG9yIG1lc3NhZ2UgZmRwYXNzICIKKwlmb3IgaSBpbiAkbDsgZG8gaW5zdGFsbCAke0J9L3Rlc3QvLmxpYnMvdGVzdC0kaSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0OyBkb25lCisKKwlsPSJidXMgYnVzLXN5c3RlbSBidXMtbGF1bmNoLWhlbHBlciIKKwlmb3IgaSBpbiAkbDsgZG8gaW5zdGFsbCAke0J9L2J1cy8ubGlicy90ZXN0LSRpICR7RH0ke1BURVNUX1BBVEh9L3Rlc3Q7IGRvbmUKKworCWNwIC1yICR7Qn0vdGVzdC9kYXRhICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKKwlpbnN0YWxsICR7Qn0vZGJ1cy8ubGlicy90ZXN0LWRidXMgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdAorCisJaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0Ly5saWJzCisJY3AgLWEgJHtCfS9kYnVzLy5saWJzLyouc28qICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QvLmxpYnMKKworCSMgUmVtb3ZlIGJ1aWxkIGhvc3QgcmVmZXJlbmNlcy4uLgorCWZpbmQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3QvZGF0YSIgXCggLW5hbWUgKi5zZXJ2aWNlIC1vIC1uYW1lICouY29uZiAtbyAtbmFtZSAiKi5hYXByb2ZpbGUiIFwpIC10eXBlIGYgLWV4ZWMgXAorCQlzZWQgLWkgXAorCQkgLWUgJ3M6JHtCfToke1BURVNUX1BBVEh9OmcnIFwKKwkJIHt9ICsKKyAgICAgICAgc2VkIC1pIC1lICdzO0BQVEVTVF9QQVRIQDske1BURVNUX1BBVEh9O2cnICAke0R9JHtQVEVTVF9QQVRIfS9ydW4tcHRlc3QKK30KKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gImJhc2giCisKK1BSSVZBVEVfTElCU18ke1BOfS1wdGVzdCA9ICJsaWJkYnVzLTEuc28uMyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzXzEuMTIuMTAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2RidXMvZGJ1c18xLjEyLjEwLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNzFmN2Y3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzXzEuMTIuMTAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNzYgKzAsMCBAQAotU1VNTUFSWSA9ICJELUJ1cyBtZXNzYWdlIGJ1cyIKLURFU0NSSVBUSU9OID0gIkQtQnVzIGlzIGEgbWVzc2FnZSBidXMgc3lzdGVtLCBhIHNpbXBsZSB3YXkgZm9yIGFwcGxpY2F0aW9ucyB0byB0YWxrIHRvIG9uZSBhbm90aGVyLiBJbiBhZGRpdGlvbiB0byBpbnRlcnByb2Nlc3MgY29tbXVuaWNhdGlvbiwgRC1CdXMgaGVscHMgY29vcmRpbmF0ZSBwcm9jZXNzIGxpZmVjeWNsZTsgaXQgbWFrZXMgaXQgc2ltcGxlIGFuZCByZWxpYWJsZSB0byBjb2RlIGEgXCJzaW5nbGUgaW5zdGFuY2VcIiBhcHBsaWNhdGlvbiBvciBkYWVtb24sIGFuZCB0byBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBkYWVtb25zIG9uIGRlbWFuZCB3aGVuIHRoZWlyIHNlcnZpY2VzIGFyZSBuZWVkZWQuIgotSE9NRVBBR0UgPSAiaHR0cDovL2RidXMuZnJlZWRlc2t0b3Aub3JnIgotU0VDVElPTiA9ICJiYXNlIgotTElDRU5TRSA9ICJBRkwtMiB8IEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTEwZGRlZDNiNTgxNDhmM2YxZmQ4MDRiMjYzNTRhZjNlIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RidXMvZGJ1cy5oO2JlZ2lubGluZT02O2VuZGxpbmU9MjA7bWQ1PTc3NTVjOWQ3YWJjY2Q1ZGJkMjVhNmE5NzQ1MzhiYjNjIgotREVQRU5EUyA9ICJleHBhdCB2aXJ0dWFsL2xpYmludGwgYXV0b2NvbmYtYXJjaGl2ZSIKLVJERVBFTkRTX2RidXNfY2xhc3MtbmF0aXZlID0gIiIKLVJERVBFTkRTX2RidXNfY2xhc3MtbmF0aXZlc2RrID0gIiIKLVBBQ0tBR0VTICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3B0ZXN0JywgJyR7UE59LXB0ZXN0JywgJycsIGQpfSIKLUFMTE9XX0VNUFRZX2RidXMtcHRlc3QgPSAiMSIKLVJERVBFTkRTX2RidXMtcHRlc3RfY2xhc3MtdGFyZ2V0ID0gImRidXMtdGVzdC1wdGVzdCIKLQotU1JDX1VSSSA9ICJodHRwOi8vZGJ1cy5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvZGJ1cy9kYnVzLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly90bXBkaXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGJ1cy0xLmluaXQgXAotICAgICAgICAgICBmaWxlOi8vY2xlYXItZ3VpZF9mcm9tX3NlcnZlci1pZi1zZW5kX25lZ290aWF0ZV91bml4X2YucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYzNlMTJiNDIwNmUyYTdkYTM5ZDdjYzQyNTY3NzkwZWYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGI2OTNkMjQ5NzYyNThjM2YyZmE5Y2MzM2FkOTI4OGM1ZmJmYTdhMTY0ODFkYmQ5YThhNDI5ZjdhYThjZGNmNyIKLQotaW5oZXJpdCB1c2VyYWRkIGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dCB1cGRhdGUtcmMuZCB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KLQotSU5JVFNDUklQVF9OQU1FID0gImRidXMtMSIKLUlOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDAyIDUgMyAyIC4gc3RvcCAyMCAwIDEgNiAuIgotCi1weXRob24gX19hbm9ueW1vdXMoKSB7Ci0gICAgaWYgbm90IGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCBUcnVlLCBGYWxzZSwgZCk6Ci0gICAgICAgIGQuc2V0VmFyKCJJTkhJQklUX1VQREFURVJDRF9CQkNMQVNTIiwgIjEiKQotfQotCi1VU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgotR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLXIgbmV0ZGV2IgotVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLWhvbWUgJHtsb2NhbHN0YXRlZGlyfS9saWIvZGJ1cyBcCi0gICAgICAgICAgICAgICAgICAgICAgIC0tbm8tY3JlYXRlLWhvbWUgLS1zaGVsbCAvYmluL2ZhbHNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLS11c2VyLWdyb3VwIG1lc3NhZ2VidXMiCi0KLUNPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L2RidXMtMS9zeXN0ZW0uY29uZiAke3N5c2NvbmZkaXJ9L2RidXMtMS9zZXNzaW9uLmNvbmYiCi0KLURFQklBTk5BTUVfJHtQTn0gPSAiZGJ1cy0xIgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tbGliIgotCi1PTERQS0dOQU1FID0gImRidXMteDExIgotT0xEUEtHTkFNRV9jbGFzcy1uYXRpdmVzZGsgPSAiIgotCi0jIGZvciBjb21wYXRpYmlsaXR5Ci1SUFJPVklERVNfJHtQTn0gPSAiJHtPTERQS0dOQU1FfSIKLVJSRVBMQUNFU18ke1BOfSArPSAiJHtPTERQS0dOQU1FfSIKLQotRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9L2RidXMtZGFlbW9uKiBcCi0gICAgICAgICAgICAgICAke2JpbmRpcn0vZGJ1cy11dWlkZ2VuIFwKLSAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLWNsZWFudXAtc29ja2V0cyBcCi0gICAgICAgICAgICAgICAke2JpbmRpcn0vZGJ1cy1zZW5kIFwKLSAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLW1vbml0b3IgXAotICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtbGF1bmNoIFwKLSAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLXJ1bi1zZXNzaW9uIFwKLSAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLXVwZGF0ZS1hY3RpdmF0aW9uLWVudmlyb25tZW50IFwKLSAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vZGJ1cyogXAotICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfSBcCi0gICAgICAgICAgICAgICAke2xvY2Fsc3RhdGVkaXJ9IFwKLSAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzIFwKLSAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcyBcCi0gICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXNzaW9uLmQgXAotICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc2Vzc2lvbi5jb25mIFwKLSAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kIFwKLSAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5jb25mIFwKLSAgICAgICAgICAgICAgICR7ZGF0YWRpcn0veG1sL2RidXMtMSBcCi0gICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9IFwKLSAgICAgICAgICAgICAgICR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9IFwKLSAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3N5c3VzZXJzLmQvZGJ1cy5jb25mIFwKLSAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3RtcGZpbGVzLmQvZGJ1cy5jb25mIFwKLSIKLUZJTEVTXyR7UE59LWxpYiA9ICIke2xpYmRpcn0vbGliKi5zby4qIgotUlJFQ09NTUVORFNfJHtQTn0tbGliID0gIiR7UE59IgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZGJ1cy0xLjAvaW5jbHVkZSAke2xpYmRpcn0vY21ha2UvREJ1czEgJHtiaW5kaXJ9L2RidXMtdGVzdC10b29sIgotCi1QQUNLQUdFX1dSSVRFX0RFUFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kIHN5c3Zpbml0Jywnc3lzdGVtZC1zeXN0ZW1jdGwtbmF0aXZlJywnJyxkKX0iCi1wa2dfcG9zdGluc3RfZGJ1cygpIHsKLQkjIElmIGJvdGggc3lzdGVtZCBhbmQgc3lzdmluaXQgYXJlIGVuYWJsZWQsIG1hc2sgdGhlIGRidXMtMSBpbml0IHNjcmlwdAotICAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCBzeXN2aW5pdCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCi0JCWlmIFsgLW4gIiREIiBdOyB0aGVuCi0JCQlPUFRTPSItLXJvb3Q9JEQiCi0JCWZpCi0JCXN5c3RlbWN0bCAkT1BUUyBtYXNrIGRidXMtMS5zZXJ2aWNlCi0JZmkKLQotCWlmIFsgLXogIiREIiBdICYmIFsgLWUgL2V0Yy9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggXSA7IHRoZW4KLQkJL2V0Yy9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCi0JZmkKLX0KLQotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS10ZXN0cyBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLXhtbC1kb2NzIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtZG94eWdlbi1kb2NzIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtbGliYXVkaXQgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLWxhcmdlZmlsZSBcCi0gICAgICAgICAgICAgICAgIgotCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgU1lTVEVNQ1RMPSR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKLUVYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtLWRpc2FibGUtc2VsaW51eCIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQgeDExJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICB1c2VyLXNlc3Npb24gXAotICAgICAgICAgICAgICAgICAgIgotCi1QQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICIiCi1QQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA9ICIiCi0KLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS1lbmFibGUtc3lzdGVtZCAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSwtLWRpc2FibGUtc3lzdGVtZCAtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsc3lzdGVtZCIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteCAtLWVuYWJsZS14MTEtYXV0b2xhdW5jaCwtLXdpdGhvdXQteCAtLWRpc2FibGUteDExLWF1dG9sYXVuY2gsIHZpcnR1YWwvbGlieDExIGxpYnNtIgotUEFDS0FHRUNPTkZJR1t1c2VyLXNlc3Npb25dID0gIi0tZW5hYmxlLXVzZXItc2Vzc2lvbiAtLXdpdGgtc3lzdGVtZHVzZXJ1bml0ZGlyPSR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9LC0tZGlzYWJsZS11c2VyLXNlc3Npb24iCi0KLWRvX2luc3RhbGwoKSB7Ci0JYXV0b3Rvb2xzX2RvX2luc3RhbGwKLQotCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotCQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAotCQlzZWQgJ3M6QGJpbmRpckA6JHtiaW5kaXJ9OicgPCAke1dPUktESVJ9L2RidXMtMS5pbml0ID4ke1dPUktESVJ9L2RidXMtMS5pbml0LnNoCi0JCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2RidXMtMS5pbml0LnNoICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9kYnVzLTEKLQlmaQotCi0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLQkJZm9yIGkgaW4gZGJ1cy50YXJnZXQud2FudHMgc29ja2V0cy50YXJnZXQud2FudHMgbXVsdGktdXNlci50YXJnZXQud2FudHM7IGRvIFwKLQkJCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vJGk7IGRvbmUKLQkJaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vYnVzL2RidXMuc2VydmljZSAke0J9L2J1cy9kYnVzLnNvY2tldCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS8KLQkJbG4gLWZzIC4uL2RidXMuc29ja2V0ICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2RidXMudGFyZ2V0LndhbnRzL2RidXMuc29ja2V0Ci0JCWxuIC1mcyAuLi9kYnVzLnNvY2tldCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zb2NrZXRzLnRhcmdldC53YW50cy9kYnVzLnNvY2tldAotCQlsbiAtZnMgLi4vZGJ1cy5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L211bHRpLXVzZXIudGFyZ2V0LndhbnRzL2RidXMuc2VydmljZQotCWZpCi0KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCi0JZWNobyAiZCBtZXNzYWdlYnVzIG1lc3NhZ2VidXMgMDc1NSAke2xvY2Fsc3RhdGVkaXJ9L3J1bi9kYnVzIG5vbmUiIFwKLQkgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfZGJ1cwotCi0KLQlta2RpciAtcCAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvZGJ1cwotCi0JY2hvd24gbWVzc2FnZWJ1czptZXNzYWdlYnVzICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9kYnVzCi0KLQljaG93biByb290Om1lc3NhZ2VidXMgJHtEfSR7bGliZXhlY2Rpcn0vZGJ1cy1kYWVtb24tbGF1bmNoLWhlbHBlcgotCWNobW9kIDQ3NTUgJHtEfSR7bGliZXhlY2Rpcn0vZGJ1cy1kYWVtb24tbGF1bmNoLWhlbHBlcgotCi0JIyBSZW1vdmUgUmVkIEhhdCBpbml0c2NyaXB0Ci0Jcm0gLXJmICR7RH0ke3N5c2NvbmZkaXJ9L3JjLmQKLQotCSMgUmVtb3ZlIGVtcHR5IHRlc3RleGVjIGRpcmVjdG9yeSBhcyB3ZSBkb24ndCBidWlsZCB0ZXN0cwotCXJtIC1yZiAke0R9JHtsaWJkaXJ9L2RidXMtMS4wL3Rlc3QKLQotCSMgUmVtb3ZlIC92YXIvcnVuIGFzIGl0IGlzIGNyZWF0ZWQgb24gc3RhcnR1cAotCXJtIC1yZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KLX0KLQotZG9faW5zdGFsbF9jbGFzcy1uYXRpdmUoKSB7Ci0JYXV0b3Rvb2xzX2RvX2luc3RhbGwKLQotCSMgZGJ1cy1sYXVuY2ggaGFzIG5vIFggc3VwcG9ydCBzbyBsZXRzIG5vdCBpbnN0YWxsIGl0IGluIGNhc2UgdGhlIGhvc3QKLQkjIGhhcyBhIG1vcmUgZmVhdHVyZWQgYW5kIHVzZWZ1bCB2ZXJzaW9uCi0Jcm0gLWYgJHtEfSR7YmluZGlyfS9kYnVzLWxhdW5jaAotfQotCi1kb19pbnN0YWxsX2NsYXNzLW5hdGl2ZXNkaygpIHsKLQlhdXRvdG9vbHNfZG9faW5zdGFsbAotCi0JIyBkYnVzLWxhdW5jaCBoYXMgbm8gWCBzdXBwb3J0IHNvIGxldHMgbm90IGluc3RhbGwgaXQgaW4gY2FzZSB0aGUgaG9zdAotCSMgaGFzIGEgbW9yZSBmZWF0dXJlZCBhbmQgdXNlZnVsIHZlcnNpb24KLQlybSAtZiAke0R9JHtiaW5kaXJ9L2RidXMtbGF1bmNoCi0KLQkjIFJlbW92ZSAvdmFyL3J1biB0byBhdm9pZCBRQSBlcnJvcgotCXJtIC1yZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KLX0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQotSU5TQU5FX1NLSVBfJHtQTn0tcHRlc3QgKz0gImJ1aWxkLWRlcHMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2RidXMvZGJ1c18xLjEyLjEyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9kYnVzL2RidXNfMS4xMi4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTliZTc5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9kYnVzL2RidXNfMS4xMi4xMi5iYgpAQCAtMCwwICsxLDE3NSBAQAorU1VNTUFSWSA9ICJELUJ1cyBtZXNzYWdlIGJ1cyIKK0RFU0NSSVBUSU9OID0gIkQtQnVzIGlzIGEgbWVzc2FnZSBidXMgc3lzdGVtLCBhIHNpbXBsZSB3YXkgZm9yIGFwcGxpY2F0aW9ucyB0byB0YWxrIHRvIG9uZSBhbm90aGVyLiBJbiBhZGRpdGlvbiB0byBpbnRlcnByb2Nlc3MgY29tbXVuaWNhdGlvbiwgRC1CdXMgaGVscHMgY29vcmRpbmF0ZSBwcm9jZXNzIGxpZmVjeWNsZTsgaXQgbWFrZXMgaXQgc2ltcGxlIGFuZCByZWxpYWJsZSB0byBjb2RlIGEgXCJzaW5nbGUgaW5zdGFuY2VcIiBhcHBsaWNhdGlvbiBvciBkYWVtb24sIGFuZCB0byBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBkYWVtb25zIG9uIGRlbWFuZCB3aGVuIHRoZWlyIHNlcnZpY2VzIGFyZSBuZWVkZWQuIgorSE9NRVBBR0UgPSAiaHR0cDovL2RidXMuZnJlZWRlc2t0b3Aub3JnIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJBRkwtMiB8IEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTEwZGRlZDNiNTgxNDhmM2YxZmQ4MDRiMjYzNTRhZjNlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RidXMvZGJ1cy5oO2JlZ2lubGluZT02O2VuZGxpbmU9MjA7bWQ1PTc3NTVjOWQ3YWJjY2Q1ZGJkMjVhNmE5NzQ1MzhiYjNjIgorREVQRU5EUyA9ICJleHBhdCB2aXJ0dWFsL2xpYmludGwgYXV0b2NvbmYtYXJjaGl2ZSIKK1JERVBFTkRTX2RidXNfY2xhc3MtbmF0aXZlID0gIiIKK1JERVBFTkRTX2RidXNfY2xhc3MtbmF0aXZlc2RrID0gIiIKK1BBQ0tBR0VTICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3B0ZXN0JywgJyR7UE59LXB0ZXN0JywgJycsIGQpfSIKK0FMTE9XX0VNUFRZX2RidXMtcHRlc3QgPSAiMSIKK1JERVBFTkRTX2RidXMtcHRlc3RfY2xhc3MtdGFyZ2V0ID0gImRidXMtdGVzdC1wdGVzdCIKKworU1JDX1VSSSA9ICJodHRwOi8vZGJ1cy5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvZGJ1cy9kYnVzLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly90bXBkaXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGJ1cy0xLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vY2xlYXItZ3VpZF9mcm9tX3NlcnZlci1pZi1zZW5kX25lZ290aWF0ZV91bml4X2YucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWExMTA2OTUyMWJlZWVlNGU0N2YwMDg2NTk2YTQzYzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTU0NmYyMjYwMTFhMWU1ZDlkNzcyNDVmZTU1NDllZjI1YWY0Njk0MDUzMTg5ZDYyNGQwZDZhYzEyN2VjZjVmOCIKKworaW5oZXJpdCB1c2VyYWRkIGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dCB1cGRhdGUtcmMuZCB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KKworSU5JVFNDUklQVF9OQU1FID0gImRidXMtMSIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDAyIDUgMyAyIC4gc3RvcCAyMCAwIDEgNiAuIgorCitweXRob24gX19hbm9ueW1vdXMoKSB7CisgICAgaWYgbm90IGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCBUcnVlLCBGYWxzZSwgZCk6CisgICAgICAgIGQuc2V0VmFyKCJJTkhJQklUX1VQREFURVJDRF9CQkNMQVNTIiwgIjEiKQorfQorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLXIgbmV0ZGV2IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLWhvbWUgJHtsb2NhbHN0YXRlZGlyfS9saWIvZGJ1cyBcCisgICAgICAgICAgICAgICAgICAgICAgIC0tbm8tY3JlYXRlLWhvbWUgLS1zaGVsbCAvYmluL2ZhbHNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgLS11c2VyLWdyb3VwIG1lc3NhZ2VidXMiCisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L2RidXMtMS9zeXN0ZW0uY29uZiAke3N5c2NvbmZkaXJ9L2RidXMtMS9zZXNzaW9uLmNvbmYiCisKK0RFQklBTk5BTUVfJHtQTn0gPSAiZGJ1cy0xIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tbGliIgorCitPTERQS0dOQU1FID0gImRidXMteDExIgorT0xEUEtHTkFNRV9jbGFzcy1uYXRpdmVzZGsgPSAiIgorCisjIGZvciBjb21wYXRpYmlsaXR5CitSUFJPVklERVNfJHtQTn0gPSAiJHtPTERQS0dOQU1FfSIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtPTERQS0dOQU1FfSIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9L2RidXMtZGFlbW9uKiBcCisgICAgICAgICAgICAgICAke2JpbmRpcn0vZGJ1cy11dWlkZ2VuIFwKKyAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLWNsZWFudXAtc29ja2V0cyBcCisgICAgICAgICAgICAgICAke2JpbmRpcn0vZGJ1cy1zZW5kIFwKKyAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLW1vbml0b3IgXAorICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtbGF1bmNoIFwKKyAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLXJ1bi1zZXNzaW9uIFwKKyAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLXVwZGF0ZS1hY3RpdmF0aW9uLWVudmlyb25tZW50IFwKKyAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vZGJ1cyogXAorICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfSBcCisgICAgICAgICAgICAgICAke2xvY2Fsc3RhdGVkaXJ9IFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcyBcCisgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXNzaW9uLmQgXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc2Vzc2lvbi5jb25mIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5jb25mIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0veG1sL2RidXMtMSBcCisgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9IFwKKyAgICAgICAgICAgICAgICR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9IFwKKyAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3N5c3VzZXJzLmQvZGJ1cy5jb25mIFwKKyAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3RtcGZpbGVzLmQvZGJ1cy5jb25mIFwKKyIKK0ZJTEVTXyR7UE59LWxpYiA9ICIke2xpYmRpcn0vbGliKi5zby4qIgorUlJFQ09NTUVORFNfJHtQTn0tbGliID0gIiR7UE59IgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZGJ1cy0xLjAvaW5jbHVkZSAke2xpYmRpcn0vY21ha2UvREJ1czEgJHtiaW5kaXJ9L2RidXMtdGVzdC10b29sIgorCitQQUNLQUdFX1dSSVRFX0RFUFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kIHN5c3Zpbml0Jywnc3lzdGVtZC1zeXN0ZW1jdGwtbmF0aXZlJywnJyxkKX0iCitwa2dfcG9zdGluc3RfZGJ1cygpIHsKKwkjIElmIGJvdGggc3lzdGVtZCBhbmQgc3lzdmluaXQgYXJlIGVuYWJsZWQsIG1hc2sgdGhlIGRidXMtMSBpbml0IHNjcmlwdAorICAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCBzeXN2aW5pdCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisJCWlmIFsgLW4gIiREIiBdOyB0aGVuCisJCQlPUFRTPSItLXJvb3Q9JEQiCisJCWZpCisJCXN5c3RlbWN0bCAkT1BUUyBtYXNrIGRidXMtMS5zZXJ2aWNlCisJZmkKKworCWlmIFsgLXogIiREIiBdICYmIFsgLWUgL2V0Yy9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggXSA7IHRoZW4KKwkJL2V0Yy9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCisJZmkKK30KKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS10ZXN0cyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXhtbC1kb2NzIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtZG94eWdlbi1kb2NzIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtbGliYXVkaXQgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWxhcmdlZmlsZSBcCisgICAgICAgICAgICAgICAgIgorCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgU1lTVEVNQ1RMPSR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKK0VYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtLWRpc2FibGUtc2VsaW51eCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQgeDExJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICB1c2VyLXNlc3Npb24gXAorICAgICAgICAgICAgICAgICAgIgorCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICIiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA9ICIiCisKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS1lbmFibGUtc3lzdGVtZCAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSwtLWRpc2FibGUtc3lzdGVtZCAtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsc3lzdGVtZCIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteCAtLWVuYWJsZS14MTEtYXV0b2xhdW5jaCwtLXdpdGhvdXQteCAtLWRpc2FibGUteDExLWF1dG9sYXVuY2gsIHZpcnR1YWwvbGlieDExIGxpYnNtIgorUEFDS0FHRUNPTkZJR1t1c2VyLXNlc3Npb25dID0gIi0tZW5hYmxlLXVzZXItc2Vzc2lvbiAtLXdpdGgtc3lzdGVtZHVzZXJ1bml0ZGlyPSR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9LC0tZGlzYWJsZS11c2VyLXNlc3Npb24iCisKK2RvX2luc3RhbGwoKSB7CisJYXV0b3Rvb2xzX2RvX2luc3RhbGwKKworCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCQlzZWQgJ3M6QGJpbmRpckA6JHtiaW5kaXJ9OicgPCAke1dPUktESVJ9L2RidXMtMS5pbml0ID4ke1dPUktESVJ9L2RidXMtMS5pbml0LnNoCisJCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2RidXMtMS5pbml0LnNoICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9kYnVzLTEKKwkJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcworCQllY2hvICJkIG1lc3NhZ2VidXMgbWVzc2FnZWJ1cyAwNzU1ICR7bG9jYWxzdGF0ZWRpcn0vcnVuL2RidXMgbm9uZSIgXAorCQkgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfZGJ1cworCWZpCisKKwlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCQlmb3IgaSBpbiBkYnVzLnRhcmdldC53YW50cyBzb2NrZXRzLnRhcmdldC53YW50cyBtdWx0aS11c2VyLnRhcmdldC53YW50czsgZG8gXAorCQkJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS8kaTsgZG9uZQorCQlpbnN0YWxsIC1tIDA2NDQgJHtCfS9idXMvZGJ1cy5zZXJ2aWNlICR7Qn0vYnVzL2RidXMuc29ja2V0ICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LworCQlsbiAtZnMgLi4vZGJ1cy5zb2NrZXQgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vZGJ1cy50YXJnZXQud2FudHMvZGJ1cy5zb2NrZXQKKwkJbG4gLWZzIC4uL2RidXMuc29ja2V0ICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3NvY2tldHMudGFyZ2V0LndhbnRzL2RidXMuc29ja2V0CisJCWxuIC1mcyAuLi9kYnVzLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbXVsdGktdXNlci50YXJnZXQud2FudHMvZGJ1cy5zZXJ2aWNlCisJZmkKKworCisJbWtkaXIgLXAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2RidXMKKworCWNob3duIG1lc3NhZ2VidXM6bWVzc2FnZWJ1cyAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvZGJ1cworCisJY2hvd24gcm9vdDptZXNzYWdlYnVzICR7RH0ke2xpYmV4ZWNkaXJ9L2RidXMtZGFlbW9uLWxhdW5jaC1oZWxwZXIKKwljaG1vZCA0NzU1ICR7RH0ke2xpYmV4ZWNkaXJ9L2RidXMtZGFlbW9uLWxhdW5jaC1oZWxwZXIKKworCSMgUmVtb3ZlIFJlZCBIYXQgaW5pdHNjcmlwdAorCXJtIC1yZiAke0R9JHtzeXNjb25mZGlyfS9yYy5kCisKKwkjIFJlbW92ZSBlbXB0eSB0ZXN0ZXhlYyBkaXJlY3RvcnkgYXMgd2UgZG9uJ3QgYnVpbGQgdGVzdHMKKwlybSAtcmYgJHtEfSR7bGliZGlyfS9kYnVzLTEuMC90ZXN0CisKKwkjIFJlbW92ZSAvdmFyL3J1biBhcyBpdCBpcyBjcmVhdGVkIG9uIHN0YXJ0dXAKKwlybSAtcmYgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCit9CisKK2RvX2luc3RhbGxfY2xhc3MtbmF0aXZlKCkgeworCWF1dG90b29sc19kb19pbnN0YWxsCisKKwkjIGRidXMtbGF1bmNoIGhhcyBubyBYIHN1cHBvcnQgc28gbGV0cyBub3QgaW5zdGFsbCBpdCBpbiBjYXNlIHRoZSBob3N0CisJIyBoYXMgYSBtb3JlIGZlYXR1cmVkIGFuZCB1c2VmdWwgdmVyc2lvbgorCXJtIC1mICR7RH0ke2JpbmRpcn0vZGJ1cy1sYXVuY2gKK30KKworZG9faW5zdGFsbF9jbGFzcy1uYXRpdmVzZGsoKSB7CisJYXV0b3Rvb2xzX2RvX2luc3RhbGwKKworCSMgZGJ1cy1sYXVuY2ggaGFzIG5vIFggc3VwcG9ydCBzbyBsZXRzIG5vdCBpbnN0YWxsIGl0IGluIGNhc2UgdGhlIGhvc3QKKwkjIGhhcyBhIG1vcmUgZmVhdHVyZWQgYW5kIHVzZWZ1bCB2ZXJzaW9uCisJcm0gLWYgJHtEfSR7YmluZGlyfS9kYnVzLWxhdW5jaAorCisJIyBSZW1vdmUgL3Zhci9ydW4gdG8gYXZvaWQgUUEgZXJyb3IKKwlybSAtcmYgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCit9CitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK0lOU0FORV9TS0lQXyR7UE59LXB0ZXN0ICs9ICJidWlsZC1kZXBzIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9kcm9wYmVhci9kcm9wYmVhci5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyLmluYwppbmRleCBkOTJhMmYzLi4zZmJkYjVlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyLmluYwpAQCAtMTMsNyArMTMsNiBAQAogREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKIAogU1JDX1VSSSA9ICJodHRwOi8vbWF0dC51Y2MuYXNuLmF1L2Ryb3BiZWFyL3JlbGVhc2VzL2Ryb3BiZWFyLSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTU1OTkucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS11cmFuZG9tLXhhdXRoLWNoYW5nZXMtdG8tb3B0aW9ucy5oLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2luaXQgXAogICAgICAgICAgICBmaWxlOi8vZHJvcGJlYXJrZXkuc2VydmljZSBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyL0NWRS0yMDE4LTE1NTk5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9kcm9wYmVhci9kcm9wYmVhci9DVkUtMjAxOC0xNTU5OS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTEyNTQ1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyL0NWRS0yMDE4LTE1NTk5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjM2ICswLDAgQEAKLUZyb20gMjU2ZTJhYmI4MTUwZjlmZWEzM2NkMDI2NTk3ZGJlNzBmMDM3OTI5NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdHQgSm9obnN0b24gPG1hdHRAdWNjLmFzbi5hdT4KLURhdGU6IFRodSwgMjMgQXVnIDIwMTggMjM6NDM6MTIgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gV2FpdCB0byBmYWlsIGludmFsaWQgdXNlcm5hbWVzCi0KLVdhaXQgdG8gZmFpbCBpbnZhbGlkIHVzZXJuYW1lcwotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL3NlY3VyZS51Y2MuYXNuLmF1L2hnL2Ryb3BiZWFyL3Jldi81ZDJkMTAyMWNhMDBdCi1DVkU6IENWRS0yMDE4LTE1NTk5Ci1TaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPE1pbmdsaS5ZdUB3aW5kcml2ZXIuY29tPgotLS0tCi0gYXV0aC5oICAgICAgICAgICB8ICA2ICsrKy0tLQotIHN2ci1hdXRoLmMgICAgICAgfCAxOSArKysrKy0tLS0tLS0tLS0tLS0tCi0gc3ZyLWF1dGhwYW0uYyAgICB8IDI2ICsrKysrKysrKysrKysrKysrKysrKystLS0tCi0gc3ZyLWF1dGhwYXNzd2QuYyB8IDI3ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQotIHN2ci1hdXRocHVia2V5LmMgfCAxMSArKysrKysrKysrLQotIDUgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9hdXRoLmggYi9hdXRoLmgKLWluZGV4IGRhNDk4ZjUuLjk4ZjU0NjggMTAwNjQ0Ci0tLS0gYS9hdXRoLmgKLSsrKyBiL2F1dGguaAotQEAgLTM3LDkgKzM3LDkgQEAgdm9pZCByZWN2X21zZ191c2VyYXV0aF9yZXF1ZXN0KHZvaWQpOwotIHZvaWQgc2VuZF9tc2dfdXNlcmF1dGhfZmFpbHVyZShpbnQgcGFydGlhbCwgaW50IGluY3JmYWlsKTsKLSB2b2lkIHNlbmRfbXNnX3VzZXJhdXRoX3N1Y2Nlc3Modm9pZCk7Ci0gdm9pZCBzZW5kX21zZ191c2VyYXV0aF9iYW5uZXIoY29uc3QgYnVmZmVyICptc2cpOwotLXZvaWQgc3ZyX2F1dGhfcGFzc3dvcmQodm9pZCk7Ci0tdm9pZCBzdnJfYXV0aF9wdWJrZXkodm9pZCk7Ci0tdm9pZCBzdnJfYXV0aF9wYW0odm9pZCk7Ci0rdm9pZCBzdnJfYXV0aF9wYXNzd29yZChpbnQgdmFsaWRfdXNlcik7Ci0rdm9pZCBzdnJfYXV0aF9wdWJrZXkoaW50IHZhbGlkX3VzZXIpOwotK3ZvaWQgc3ZyX2F1dGhfcGFtKGludCB2YWxpZF91c2VyKTsKLSAKLSAjaWYgRFJPUEJFQVJfU1ZSX1BVQktFWV9PUFRJT05TX0JVSUxUCi0gaW50IHN2cl9wdWJrZXlfYWxsb3dzX2FnZW50ZndkKHZvaWQpOwotZGlmZiAtLWdpdCBhL3N2ci1hdXRoLmMgYi9zdnItYXV0aC5jCi1pbmRleCA2NGQ5N2FhLi4xZjM2NGNhIDEwMDY0NAotLS0tIGEvc3ZyLWF1dGguYwotKysrIGIvc3ZyLWF1dGguYwotQEAgLTE0OSwxMCArMTQ5LDggQEAgdm9pZCByZWN2X21zZ191c2VyYXV0aF9yZXF1ZXN0KCkgewotIAkJaWYgKG1ldGhvZGxlbiA9PSBBVVRIX01FVEhPRF9QQVNTV09SRF9MRU4gJiYKLSAJCQkJc3RybmNtcChtZXRob2RuYW1lLCBBVVRIX01FVEhPRF9QQVNTV09SRCwKLSAJCQkJCUFVVEhfTUVUSE9EX1BBU1NXT1JEX0xFTikgPT0gMCkgewotLQkJCWlmICh2YWxpZF91c2VyKSB7Ci0tCQkJCXN2cl9hdXRoX3Bhc3N3b3JkKCk7Ci0tCQkJCWdvdG8gb3V0OwotLQkJCX0KLSsJCQlzdnJfYXV0aF9wYXNzd29yZCh2YWxpZF91c2VyKTsKLSsJCQlnb3RvIG91dDsKLSAJCX0KLSAJfQotICNlbmRpZgotQEAgLTE2NCwxMCArMTYyLDggQEAgdm9pZCByZWN2X21zZ191c2VyYXV0aF9yZXF1ZXN0KCkgewotIAkJaWYgKG1ldGhvZGxlbiA9PSBBVVRIX01FVEhPRF9QQVNTV09SRF9MRU4gJiYKLSAJCQkJc3RybmNtcChtZXRob2RuYW1lLCBBVVRIX01FVEhPRF9QQVNTV09SRCwKLSAJCQkJCUFVVEhfTUVUSE9EX1BBU1NXT1JEX0xFTikgPT0gMCkgewotLQkJCWlmICh2YWxpZF91c2VyKSB7Ci0tCQkJCXN2cl9hdXRoX3BhbSgpOwotLQkJCQlnb3RvIG91dDsKLS0JCQl9Ci0rCQkJc3ZyX2F1dGhfcGFtKHZhbGlkX3VzZXIpOwotKwkJCWdvdG8gb3V0OwotIAkJfQotIAl9Ci0gI2VuZGlmCi1AQCAtMTc3LDEyICsxNzMsNyBAQCB2b2lkIHJlY3ZfbXNnX3VzZXJhdXRoX3JlcXVlc3QoKSB7Ci0gCWlmIChtZXRob2RsZW4gPT0gQVVUSF9NRVRIT0RfUFVCS0VZX0xFTiAmJgotIAkJCXN0cm5jbXAobWV0aG9kbmFtZSwgQVVUSF9NRVRIT0RfUFVCS0VZLAotIAkJCQlBVVRIX01FVEhPRF9QVUJLRVlfTEVOKSA9PSAwKSB7Ci0tCQlpZiAodmFsaWRfdXNlcikgewotLQkJCXN2cl9hdXRoX3B1YmtleSgpOwotLQkJfSBlbHNlIHsKLS0JCQkvKiBwdWJrZXkgaGFzIG5vIGZhaWx1cmUgZGVsYXkgKi8KLS0JCQlzZW5kX21zZ191c2VyYXV0aF9mYWlsdXJlKDAsIDApOwotLQkJfQotKwkJc3ZyX2F1dGhfcHVia2V5KHZhbGlkX3VzZXIpOwotIAkJZ290byBvdXQ7Ci0gCX0KLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9zdnItYXV0aHBhbS5jIGIvc3ZyLWF1dGhwYW0uYwotaW5kZXggMDVlNGYzZS4uZDIwMWJjOSAxMDA2NDQKLS0tLSBhL3N2ci1hdXRocGFtLmMKLSsrKyBiL3N2ci1hdXRocGFtLmMKLUBAIC0xNzgsMTMgKzE3OCwxNCBAQCBwYW1Db252RnVuYyhpbnQgbnVtX21zZywKLSAgKiBLZXlib2FyZCBpbnRlcmFjdGl2ZSB3b3VsZCBiZSBhIGxvdCBuaWNlciwgYnV0IHNpbmNlIFBBTSBpcyBzeW5jaHJvbm91cywgaXQKLSAgKiBnZXRzIHZlcnkgbWVzc3kgdHJ5aW5nIHRvIHNlbmQgdGhlIGludGVyYWN0aXZlIGNoYWxsZW5nZXMsIGFuZCByZWFkIHRoZQotICAqIGludGVyYWN0aXZlIHJlc3BvbnNlcywgb3ZlciB0aGUgbmV0d29yay4gKi8KLS12b2lkIHN2cl9hdXRoX3BhbSgpIHsKLSt2b2lkIHN2cl9hdXRoX3BhbShpbnQgdmFsaWRfdXNlcikgewotIAotIAlzdHJ1Y3QgVXNlckRhdGFTIHVzZXJEYXRhID0ge05VTEwsIE5VTEx9OwotIAlzdHJ1Y3QgcGFtX2NvbnYgcGFtQ29udiA9IHsKLSAJCXBhbUNvbnZGdW5jLAotIAkJJnVzZXJEYXRhIC8qIHN1Ym1pdHRlZCB0byBwYW12Q29udkZ1bmMgYXMgYXBwZGF0YV9wdHIgKi8gCi0gCX07Ci0rCWNvbnN0IGNoYXIqIHByaW50YWJsZV91c2VyID0gTlVMTDsKLSAKLSAJcGFtX2hhbmRsZV90KiBwYW1IYW5kbGVwID0gTlVMTDsKLSAKLUBAIC0yMDQsMTIgKzIwNSwyMyBAQCB2b2lkIHN2cl9hdXRoX3BhbSgpIHsKLSAKLSAJcGFzc3dvcmQgPSBidWZfZ2V0c3RyaW5nKHNlcy5wYXlsb2FkLCAmcGFzc3dvcmRsZW4pOwotIAotKwkvKiBXZSBydW4gdGhlIFBBTSBjb252ZXJzYXRpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSB1c2VybmFtZSBpcyB2YWxpZAotKwlpbiBjYXNlIHRoZSBjb252ZXJzYXRpb24gZnVuY3Rpb24gaGFzIGFuIGluaGVyZW50IGRlbGF5LgotKwlVc2Ugc2VzLmF1dGhzdGF0ZS51c2VybmFtZSByYXRoZXIgdGhhbiBzZXMuYXV0aHN0YXRlLnB3X25hbWUuCi0rCUFmdGVyIFBBTSBzdWNjZWVkcyB3ZSB0aGVuIGNoZWNrIHRoZSB2YWxpZF91c2VyIGZsYWcgdG9vICovCi0rCi0gCS8qIHVzZWQgdG8gcGFzcyBkYXRhIHRvIHRoZSBQQU0gY29udmVyc2F0aW9uIGZ1bmN0aW9uIC0gZG9uJ3QgYm90aGVyIHdpdGgKLSAJICogc3RyZHVwKCkgZXRjIHNpbmNlIHRoZXNlIGFyZSB0b3VjaGVkIG9ubHkgYnkgb3VyIG93biBjb252ZXJzYXRpb24KLSAJICogZnVuY3Rpb24gKGFib3ZlKSB3aGljaCB0YWtlcyBjYXJlIG9mIGl0ICovCi0tCXVzZXJEYXRhLnVzZXIgPSBzZXMuYXV0aHN0YXRlLnB3X25hbWU7Ci0rCXVzZXJEYXRhLnVzZXIgPSBzZXMuYXV0aHN0YXRlLnVzZXJuYW1lOwotIAl1c2VyRGF0YS5wYXNzd2QgPSBwYXNzd29yZDsKLSAKLSsJaWYgKHNlcy5hdXRoc3RhdGUucHdfbmFtZSkgewotKwkJcHJpbnRhYmxlX3VzZXIgPSBzZXMuYXV0aHN0YXRlLnB3X25hbWU7Ci0rCX0gZWxzZSB7Ci0rCQlwcmludGFibGVfdXNlciA9ICI8aW52YWxpZCB1c2VybmFtZT4iOwotKwl9Ci0rCi0gCS8qIEluaXQgcGFtICovCi0gCWlmICgocmMgPSBwYW1fc3RhcnQoInNzaGQiLCBOVUxMLCAmcGFtQ29udiwgJnBhbUhhbmRsZXApKSAhPSBQQU1fU1VDQ0VTUykgewotIAkJZHJvcGJlYXJfbG9nKExPR19XQVJOSU5HLCAicGFtX3N0YXJ0KCkgZmFpbGVkLCByYz0lZCwgJXMiLCAKLUBAIC0yNDIsNyArMjU0LDcgQEAgdm9pZCBzdnJfYXV0aF9wYW0oKSB7Ci0gCQkJCXJjLCBwYW1fc3RyZXJyb3IocGFtSGFuZGxlcCwgcmMpKTsKLSAJCWRyb3BiZWFyX2xvZyhMT0dfV0FSTklORywKLSAJCQkJIkJhZCBQQU0gcGFzc3dvcmQgYXR0ZW1wdCBmb3IgJyVzJyBmcm9tICVzIiwKLS0JCQkJc2VzLmF1dGhzdGF0ZS5wd19uYW1lLAotKwkJCQlwcmludGFibGVfdXNlciwKLSAJCQkJc3ZyX3Nlcy5hZGRyc3RyaW5nKTsKLSAJCXNlbmRfbXNnX3VzZXJhdXRoX2ZhaWx1cmUoMCwgMSk7Ci0gCQlnb3RvIGNsZWFudXA7Ci1AQCAtMjUzLDEyICsyNjUsMTggQEAgdm9pZCBzdnJfYXV0aF9wYW0oKSB7Ci0gCQkJCXJjLCBwYW1fc3RyZXJyb3IocGFtSGFuZGxlcCwgcmMpKTsKLSAJCWRyb3BiZWFyX2xvZyhMT0dfV0FSTklORywKLSAJCQkJIkJhZCBQQU0gcGFzc3dvcmQgYXR0ZW1wdCBmb3IgJyVzJyBmcm9tICVzIiwKLS0JCQkJc2VzLmF1dGhzdGF0ZS5wd19uYW1lLAotKwkJCQlwcmludGFibGVfdXNlciwKLSAJCQkJc3ZyX3Nlcy5hZGRyc3RyaW5nKTsKLSAJCXNlbmRfbXNnX3VzZXJhdXRoX2ZhaWx1cmUoMCwgMSk7Ci0gCQlnb3RvIGNsZWFudXA7Ci0gCX0KLSAKLSsJaWYgKCF2YWxpZF91c2VyKSB7Ci0rCQkvKiBQQU0gYXV0aCBzdWNjZWVkZWQgYnV0IHRoZSB1c2VybmFtZSBpc24ndCBhbGxvd2VkIGluIGZvciBhbm90aGVyIHJlYXNvbgotKwkJKGNoZWNrdXNlcm5hbWUoKSBmYWlsZWQpICovCi0rCQlzZW5kX21zZ191c2VyYXV0aF9mYWlsdXJlKDAsIDEpOwotKwl9Ci0rCi0gCS8qIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24gKi8KLSAJZHJvcGJlYXJfbG9nKExPR19OT1RJQ0UsICJQQU0gcGFzc3dvcmQgYXV0aCBzdWNjZWVkZWQgZm9yICclcycgZnJvbSAlcyIsCi0gCQkJc2VzLmF1dGhzdGF0ZS5wd19uYW1lLAotZGlmZiAtLWdpdCBhL3N2ci1hdXRocGFzc3dkLmMgYi9zdnItYXV0aHBhc3N3ZC5jCi1pbmRleCBiZGVlMmFhLi42OWM3ZDhhIDEwMDY0NAotLS0tIGEvc3ZyLWF1dGhwYXNzd2QuYwotKysrIGIvc3ZyLWF1dGhwYXNzd2QuYwotQEAgLTQ4LDIyICs0OCwxNCBAQCBzdGF0aWMgaW50IGNvbnN0YW50X3RpbWVfc3RyY21wKGNvbnN0IGNoYXIqIGEsIGNvbnN0IGNoYXIqIGIpIHsKLSAKLSAvKiBQcm9jZXNzIGEgcGFzc3dvcmQgYXV0aCByZXF1ZXN0LCBzZW5kaW5nIHN1Y2Nlc3Mgb3IgZmFpbHVyZSBtZXNzYWdlcyBhcwotICAqIGFwcHJvcHJpYXRlICovCi0tdm9pZCBzdnJfYXV0aF9wYXNzd29yZCgpIHsKLSt2b2lkIHN2cl9hdXRoX3Bhc3N3b3JkKGludCB2YWxpZF91c2VyKSB7Ci0gCQotIAljaGFyICogcGFzc3dkY3J5cHQgPSBOVUxMOyAvKiB0aGUgY3J5cHQgZnJvbSAvZXRjL3Bhc3N3ZCBvciAvZXRjL3NoYWRvdyAqLwotIAljaGFyICogdGVzdGNyeXB0ID0gTlVMTDsgLyogY3J5cHQgZ2VuZXJhdGVkIGZyb20gdGhlIHVzZXIncyBwYXNzd29yZCBzZW50ICovCi0tCWNoYXIgKiBwYXNzd29yZDsKLSsJY2hhciAqIHBhc3N3b3JkID0gTlVMTDsKLSAJdW5zaWduZWQgaW50IHBhc3N3b3JkbGVuOwotLQotIAl1bnNpZ25lZCBpbnQgY2hhbmdlcHc7Ci0gCi0tCXBhc3N3ZGNyeXB0ID0gc2VzLmF1dGhzdGF0ZS5wd19wYXNzd2Q7Ci0tCi0tI2lmZGVmIERFQlVHX0hBQ0tDUllQVAotLQkvKiBkZWJ1Z2dpbmcgY3J5cHQgZm9yIG5vbi1yb290IHRlc3Rpbmcgd2l0aCBzaGFkb3dzICovCi0tCXBhc3N3ZGNyeXB0ID0gREVCVUdfSEFDS0NSWVBUOwotLSNlbmRpZgotLQotIAkvKiBjaGVjayBpZiBjbGllbnQgd2FudHMgdG8gY2hhbmdlIHBhc3N3b3JkICovCi0gCWNoYW5nZXB3ID0gYnVmX2dldGJvb2woc2VzLnBheWxvYWQpOwotIAlpZiAoY2hhbmdlcHcpIHsKLUBAIC03MywxMiArNjUsMjEgQEAgdm9pZCBzdnJfYXV0aF9wYXNzd29yZCgpIHsKLSAJfQotIAotIAlwYXNzd29yZCA9IGJ1Zl9nZXRzdHJpbmcoc2VzLnBheWxvYWQsICZwYXNzd29yZGxlbik7Ci0tCi0tCS8qIHRoZSBmaXJzdCBieXRlcyBvZiBwYXNzd2RjcnlwdCBhcmUgdGhlIHNhbHQgKi8KLS0JdGVzdGNyeXB0ID0gY3J5cHQocGFzc3dvcmQsIHBhc3N3ZGNyeXB0KTsKLSsJaWYgKHZhbGlkX3VzZXIpIHsKLSsJCS8qIHRoZSBmaXJzdCBieXRlcyBvZiBwYXNzd2RjcnlwdCBhcmUgdGhlIHNhbHQgKi8KLSsJCXBhc3N3ZGNyeXB0ID0gc2VzLmF1dGhzdGF0ZS5wd19wYXNzd2Q7Ci0rCQl0ZXN0Y3J5cHQgPSBjcnlwdChwYXNzd29yZCwgcGFzc3dkY3J5cHQpOwotKwl9Ci0gCW1fYnVybihwYXNzd29yZCwgcGFzc3dvcmRsZW4pOwotIAltX2ZyZWUocGFzc3dvcmQpOwotIAotKwkvKiBBZnRlciB3ZSBoYXZlIGdvdCB0aGUgcGF5bG9hZCBjb250ZW50cyB3ZSBjYW4gZXhpdCBpZiB0aGUgdXNlcm5hbWUKLSsJaXMgaW52YWxpZC4gSW52YWxpZCB1c2VycyBoYXZlIGFscmVhZHkgYmVlbiBsb2dnZWQuICovCi0rCWlmICghdmFsaWRfdXNlcikgewotKwkJc2VuZF9tc2dfdXNlcmF1dGhfZmFpbHVyZSgwLCAxKTsKLSsJCXJldHVybjsKLSsJfQotKwotIAlpZiAodGVzdGNyeXB0ID09IE5VTEwpIHsKLSAJCS8qIGNyeXB0KCkgd2l0aCBhbiBpbnZhbGlkIHNhbHQgbGlrZSAiISEiICovCi0gCQlkcm9wYmVhcl9sb2coTE9HX1dBUk5JTkcsICJVc2VyIGFjY291bnQgJyVzJyBpcyBsb2NrZWQiLAotZGlmZiAtLWdpdCBhL3N2ci1hdXRocHVia2V5LmMgYi9zdnItYXV0aHB1YmtleS5jCi1pbmRleCBhYTYwODdjLi5mZjQ4MWM4IDEwMDY0NAotLS0tIGEvc3ZyLWF1dGhwdWJrZXkuYwotKysrIGIvc3ZyLWF1dGhwdWJrZXkuYwotQEAgLTc5LDcgKzc5LDcgQEAgc3RhdGljIGludCBjaGVja2ZpbGVwZXJtKGNoYXIgKiBmaWxlbmFtZSk7Ci0gCi0gLyogcHJvY2VzcyBhIHB1YmtleSBhdXRoIHJlcXVlc3QsIHNlbmRpbmcgc3VjY2VzcyBvciBmYWlsdXJlIG1lc3NhZ2UgYXMKLSAgKiBhcHByb3ByaWF0ZSAqLwotLXZvaWQgc3ZyX2F1dGhfcHVia2V5KCkgewotK3ZvaWQgc3ZyX2F1dGhfcHVia2V5KGludCB2YWxpZF91c2VyKSB7Ci0gCi0gCXVuc2lnbmVkIGNoYXIgdGVzdGtleTsgLyogd2hldGhlciB3ZSdyZSBqdXN0IGNoZWNraW5nIGlmIGEga2V5IGlzIHVzYWJsZSAqLwotIAljaGFyKiBhbGdvID0gTlVMTDsgLyogcHVia2V5IGFsZ28gKi8KLUBAIC0xMDIsNiArMTAyLDE1IEBAIHZvaWQgc3ZyX2F1dGhfcHVia2V5KCkgewotIAlrZXlibG9ibGVuID0gYnVmX2dldGludChzZXMucGF5bG9hZCk7Ci0gCWtleWJsb2IgPSBidWZfZ2V0cHRyKHNlcy5wYXlsb2FkLCBrZXlibG9ibGVuKTsKLSAKLSsJaWYgKCF2YWxpZF91c2VyKSB7Ci0rCQkvKiBSZXR1cm4gZmFpbHVyZSBvbmNlIHdlIGhhdmUgcmVhZCB0aGUgY29udGVudHMgb2YgdGhlIHBhY2tldAotKwkJcmVxdWlyZWQgdG8gdmFsaWRhdGUgYSBwdWJsaWMga2V5LiAKLSsJCUF2b2lkcyBibGluZCB1c2VyIGVudW1lcmF0aW9uIHRob3VnaCBpdCBpc24ndCBwb3NzaWJsZSB0byBwcmV2ZW50Ci0rCQl0ZXN0aW5nIGZvciB1c2VyIGV4aXN0ZW5jZSBpZiB0aGUgcHVibGljIGtleSBpcyBrbm93biAqLwotKwkJc2VuZF9tc2dfdXNlcmF1dGhfZmFpbHVyZSgwLCAwKTsKLSsJCWdvdG8gb3V0OwotKwl9Ci0rCi0gCS8qIGNoZWNrIGlmIHRoZSBrZXkgaXMgdmFsaWQgKi8KLSAJaWYgKGNoZWNrcHVia2V5KGFsZ28sIGFsZ29sZW4sIGtleWJsb2IsIGtleWJsb2JsZW4pID09IERST1BCRUFSX0ZBSUxVUkUpIHsKLSAJCXNlbmRfbXNnX3VzZXJhdXRoX2ZhaWx1cmUoMCwgMCk7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyXzIwMTguNzYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyXzIwMTguNzYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2YTU4ZDUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9kcm9wYmVhci9kcm9wYmVhcl8yMDE4Ljc2LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1yZXF1aXJlIGRyb3BiZWFyLmluYwotCi1TUkNfVVJJW21kNXN1bV0gPSAiYzM5MTJmN2ZjZGNjNTdjOTk5MzdlNGE3OTQ4MGQyYzIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjJmYjkxNjdlY2E4Y2Y5MzQ1NmE1ZmMxZDRmYWY3MDk5MDJhM2FiNzBkZDQ0ZTM1MmYzYWNiYzNmZmRhZWE2NSIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9kcm9wYmVhci9kcm9wYmVhcl8yMDE5Ljc3LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9kcm9wYmVhci9kcm9wYmVhcl8yMDE5Ljc3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyYTcxYmEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyXzIwMTkuNzcuYmIKQEAgLTAsMCArMSw0IEBACityZXF1aXJlIGRyb3BiZWFyLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiNWQ0ZjAyNTZjNWQxMzgyMGIwYTNlYWFkYjFhMGJjMWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDkxZjc4ZWJlNjMzYmUxZDA3MWZkMWI3ZTU1MzViOTY5Mzc5NDA0OGIwMTllOWY0YmVhMjU3ZTE5OTJiNDU4ZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZnRzL2Z0cy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZnRzL2Z0cy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDJmNTQwOC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Z0cy9mdHMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi0jIENvcHlyaWdodCAoQykgMjAxNSBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBDT1BZSU5HLk1JVCBmb3IgdGhlIHRlcm1zKQotCi1TVU1NQVJZID0gIlBPU0lYIGZpbGUgdHJlZSBzdHJlYW0gb3BlcmF0aW9ucyBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9zaXRlcy5nb29nbGUuY29tL2EvYm9zdGljLmNvbS9rZWl0aGJvc3RpYyIKLUxJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NWZmZTM1ODE3NGFhZDM4M2YxYjY5Y2UzYjUzZGE5ODIiCi1TRUNUSU9OID0gImxpYnMiCi0KLVNSQ1JFViA9ICI5NDQzMzNhZWQ5ZGMyNGNmYTc2Y2M2NGJmZTcwYzc1ZDI1NjUyNzUzIgotUFYgPSAiMS4yK2dpdCR7U1JDUFZ9IgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdm9pZGxpbnV4L211c2wtZnRzIFwKLSIKLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotIwotIyBXZSB3aWxsIHNraXAgcGFyc2luZyBmb3Igbm9uLW11c2wgc3lzdGVtcwotIwotQ09NUEFUSUJMRV9IT1NUID0gIi4qLW11c2wuKiIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9mdHMvZnRzXzEuMi43LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9mdHMvZnRzXzEuMi43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4OWFlMGUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Z0cy9mdHNfMS4yLjcuYmIKQEAgLTAsMCArMSwyMSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTUgS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworU1VNTUFSWSA9ICJJbXBsZW1lbnRhdGlvbiBvZiBmdHNmb3IgbXVzbCBsaWJjIHBhY2thZ2VzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3B1bGxtb2xsL211c2wtZnRzIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZmZlMzU4MTc0YWFkMzgzZjFiNjljZTNiNTNkYTk4MiIKK1NFQ1RJT04gPSAibGlicyIKKworU1JDUkVWID0gIjBiZGU1MmRmNTg4ZTg5Njk4NzlhMmNhZTUxYzNhNDc3NGVjNjI0NzIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9wdWxsbW9sbC9tdXNsLWZ0cy5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworIworIyBXZSB3aWxsIHNraXAgcGFyc2luZyBmb3Igbm9uLW11c2wgc3lzdGVtcworIworQ09NUEFUSUJMRV9IT1NUID0gIi4qLW11c2wuKiIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nZXR0ZXh0L2dldHRleHQtMC4xOS44LjEvZml4LUNWRS0yMDE4LTE4NzUxLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nZXR0ZXh0L2dldHRleHQtMC4xOS44LjEvZml4LUNWRS0yMDE4LTE4NzUxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkZmUyMDAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dldHRleHQvZ2V0dGV4dC0wLjE5LjguMS9maXgtQ1ZFLTIwMTgtMTg3NTEucGF0Y2gKQEAgLTAsMCArMSwxNDEgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0d2ViLz9wPWdldHRleHQuZ2l0O2E9Y29tbWl0O2g9ZGNlM2ExNl0KK0NWRTogQ1ZFLTIwMTgtMTg3NTEKKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CisKK0Zyb20gZGNlM2ExNmU1ZTkzNjgyNDU3MzVlMjliZjQ5OGRjZDVlM2U0NzRhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERhaWtpIFVlbm8gPHVlbm9AZ251Lm9yZz4KK0RhdGU6IFRodSwgMTUgU2VwIDIwMTYgMTM6NTc6MjQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0geGdldHRleHQ6IEZpeCBjcmFzaCB3aXRoICoucG8gZmlsZSBpbnB1dAorCitXaGVuIHhnZXR0ZXh0IHdhcyBnaXZlbiB0d28gKi5wbyBmaWxlcyB3aXRoIHRoZSBzYW1lIG1zZ2lkX3BsdXJhbCwgaXQKK2NyYXNoZWQgd2l0aCBkb3VibGUtZnJlZS4gIFByb2JsZW0gcmVwb3J0ZWQgYnkgRGF2bGV0IFBhbmVjaCBpbjoKK2h0dHA6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9idWctZ2V0dGV4dC8yMDE2LTA5L21zZzAwMDAxLmh0bWwKKyogZ2V0dGV4dC10b29scy9zcmMvcG8tZ3JhbS1nZW4ueTogRG9uJ3QgZnJlZSBtc2dpZF9wbHVyYWxmb3JtIGFmdGVyCitjYWxsaW5nIGRvX2NhbGxiYWNrX21lc3NhZ2UsIGFzc3VtaW5nIHRoYXQgaXQgdGFrZXMgb3duZXJzaGlwLgorKiBnZXR0ZXh0LXRvb2xzL3NyYy9yZWFkLWNhdGFsb2cuYyAoZGVmYXVsdF9hZGRfbWVzc2FnZSk6IEZyZWUKK21zZ2lkX3BsdXJhbCBhZnRlciBjYWxsaW5nIG1lc3NhZ2VfYWxsb2MuCisqIGdldHRleHQtdG9vbHMvdGVzdHMveGdldHRleHQtcG8tMjogTmV3IGZpbGUuCisqIGdldHRleHQtdG9vbHMvdGVzdHMvTWFrZWZpbGUuYW0gKFRFU1RTKTogQWRkIG5ldyB0ZXN0LgorLS0tCisgZ2V0dGV4dC10b29scy9zcmMvcG8tZ3JhbS1nZW4ueSAgIHwgMTMgKysrKy0tLS0tCisgZ2V0dGV4dC10b29scy9zcmMvcmVhZC1jYXRhbG9nLmMgIHwgIDIgKysKKyBnZXR0ZXh0LXRvb2xzL3Rlc3RzL01ha2VmaWxlLmFtICAgfCAgMiArLQorIGdldHRleHQtdG9vbHMvdGVzdHMveGdldHRleHQtcG8tMiB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDQgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA3NTUgZ2V0dGV4dC10b29scy90ZXN0cy94Z2V0dGV4dC1wby0yCisKK2RpZmYgLS1naXQgYS9nZXR0ZXh0LXRvb2xzL3NyYy9wby1ncmFtLWdlbi55IGIvZ2V0dGV4dC10b29scy9zcmMvcG8tZ3JhbS1nZW4ueQoraW5kZXggYmVjZjVlNi4uNDQyOGU3NyAxMDA2NDQKKy0tLSBhL2dldHRleHQtdG9vbHMvc3JjL3BvLWdyYW0tZ2VuLnkKKysrKyBiL2dldHRleHQtdG9vbHMvc3JjL3BvLWdyYW0tZ2VuLnkKK0BAIC0yMjEsMTQgKzIyMSwxMSBAQCBtZXNzYWdlCisgICAgICAgICAgICAgICAgICAgY2hlY2tfb2Jzb2xldGUgKCQxLCAkMyk7CisgICAgICAgICAgICAgICAgICAgY2hlY2tfb2Jzb2xldGUgKCQxLCAkNCk7CisgICAgICAgICAgICAgICAgICAgaWYgKCEkMS5vYnNvbGV0ZSB8fCBwYXNzX29ic29sZXRlX2VudHJpZXMpCistICAgICAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgICAgIGRvX2NhbGxiYWNrX21lc3NhZ2UgKCQxLmN0eHQsIHN0cmluZzIsICYkMS5wb3MsICQzLnN0cmluZywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJDQucmhzLm1zZ3N0ciwgJDQucmhzLm1zZ3N0cl9sZW4sICYkNC5wb3MsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQxLnByZXZfY3R4dCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJDEucHJldl9pZCwgJDEucHJldl9pZF9wbHVyYWwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQxLm9ic29sZXRlKTsKKy0gICAgICAgICAgICAgICAgICAgICAgZnJlZSAoJDMuc3RyaW5nKTsKKy0gICAgICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgICAgIGRvX2NhbGxiYWNrX21lc3NhZ2UgKCQxLmN0eHQsIHN0cmluZzIsICYkMS5wb3MsICQzLnN0cmluZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQ0LnJocy5tc2dzdHIsICQ0LnJocy5tc2dzdHJfbGVuLCAmJDQucG9zLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJDEucHJldl9jdHh0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJDEucHJldl9pZCwgJDEucHJldl9pZF9wbHVyYWwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMS5vYnNvbGV0ZSk7CisgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICBmcmVlX21lc3NhZ2VfaW50cm8gKCQxKTsKK2RpZmYgLS1naXQgYS9nZXR0ZXh0LXRvb2xzL3NyYy9yZWFkLWNhdGFsb2cuYyBiL2dldHRleHQtdG9vbHMvc3JjL3JlYWQtY2F0YWxvZy5jCitpbmRleCA1NzFkMThlLi42YWY2ZDIwIDEwMDY0NAorLS0tIGEvZ2V0dGV4dC10b29scy9zcmMvcmVhZC1jYXRhbG9nLmMKKysrKyBiL2dldHRleHQtdG9vbHMvc3JjL3JlYWQtY2F0YWxvZy5jCitAQCAtMzk3LDYgKzM5Nyw4IEBAIGRlZmF1bHRfYWRkX21lc3NhZ2UgKGRlZmF1bHRfY2F0YWxvZ19yZWFkZXJfdHkgKnRoaXMsCisgICAgICAgICAgYXBwcm9wcmlhdGUuICAqLworICAgICAgIG1wID0gbWVzc2FnZV9hbGxvYyAobXNnY3R4dCwgbXNnaWQsIG1zZ2lkX3BsdXJhbCwgbXNnc3RyLCBtc2dzdHJfbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnc3RyX3Bvcyk7CisrICAgICAgaWYgKG1zZ2lkX3BsdXJhbCAhPSBOVUxMKQorKyAgICAgICAgZnJlZSAobXNnaWRfcGx1cmFsKTsKKyAgICAgICBtcC0+cHJldl9tc2djdHh0ID0gcHJldl9tc2djdHh0OworICAgICAgIG1wLT5wcmV2X21zZ2lkID0gcHJldl9tc2dpZDsKKyAgICAgICBtcC0+cHJldl9tc2dpZF9wbHVyYWwgPSBwcmV2X21zZ2lkX3BsdXJhbDsKK2RpZmYgLS1naXQgYS9nZXR0ZXh0LXRvb2xzL3Rlc3RzL01ha2VmaWxlLmFtIGIvZ2V0dGV4dC10b29scy90ZXN0cy9NYWtlZmlsZS5hbQoraW5kZXggMjNiMDliMS4uMGRmYjRkOCAxMDA2NDQKKy0tLSBhL2dldHRleHQtdG9vbHMvdGVzdHMvTWFrZWZpbGUuYW0KKysrKyBiL2dldHRleHQtdG9vbHMvdGVzdHMvTWFrZWZpbGUuYW0KK0BAIC05NSw3ICs5NSw3IEBAIFRFU1RTID0gZ2V0dGV4dC0xIGdldHRleHQtMiBnZXR0ZXh0LTMgZ2V0dGV4dC00IGdldHRleHQtNSBnZXR0ZXh0LTYgZ2V0dGV4dC03IFwKKyAJeGdldHRleHQtcGVybC0xIHhnZXR0ZXh0LXBlcmwtMiB4Z2V0dGV4dC1wZXJsLTMgeGdldHRleHQtcGVybC00IFwKKyAJeGdldHRleHQtcGVybC01IHhnZXR0ZXh0LXBlcmwtNiB4Z2V0dGV4dC1wZXJsLTcgeGdldHRleHQtcGVybC04IFwKKyAJeGdldHRleHQtcGhwLTEgeGdldHRleHQtcGhwLTIgeGdldHRleHQtcGhwLTMgeGdldHRleHQtcGhwLTQgXAorLQl4Z2V0dGV4dC1wby0xIFwKKysJeGdldHRleHQtcG8tMSB4Z2V0dGV4dC1wby0yIFwKKyAJeGdldHRleHQtcHJvcGVydGllcy0xIFwKKyAJeGdldHRleHQtcHl0aG9uLTEgeGdldHRleHQtcHl0aG9uLTIgeGdldHRleHQtcHl0aG9uLTMgXAorIAl4Z2V0dGV4dC1weXRob24tNCBcCitkaWZmIC0tZ2l0IGEvZ2V0dGV4dC10b29scy90ZXN0cy94Z2V0dGV4dC1wby0yIGIvZ2V0dGV4dC10b29scy90ZXN0cy94Z2V0dGV4dC1wby0yCituZXcgZmlsZSBtb2RlIDEwMDc1NQoraW5kZXggMDAwMDAwMC4uYzRiZDlkMAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2V0dGV4dC10b29scy90ZXN0cy94Z2V0dGV4dC1wby0yCitAQCAtMCwwICsxLDU1IEBACisrIyEgL2Jpbi9zaAorKy4gIiR7c3JjZGlyPS59L2luaXQuc2giOyBwYXRoX3ByZXBlbmRfIC4gLi4vc3JjCisrCisrIyBUZXN0IFBPIGV4dHJhY3RvcnMgd2l0aCBtdWx0aXBsZSBpbnB1dCBmaWxlcy4KKysKKytjYXQgPDxFT0YgPiB4Zy1wby0yLTEucG8KKyttc2dpZCAiZmlyc3QgbXNnaWQiCisrbXNnaWRfcGx1cmFsICJmaXJzdCBtc2dpZCAocGx1cmFsKSIKKyttc2dzdHJbMF0gIiIKKyttc2dzdHJbMV0gIiIKKysKKyttc2dpZCAic2Vjb25kIG1zZ2lkIgorK21zZ2lkX3BsdXJhbCAic2Vjb25kIG1zZ2lkIChwbHVyYWwpIgorK21zZ3N0clswXSAiIgorK21zZ3N0clsxXSAiIgorK0VPRgorKworK2NhdCA8PEVPRiA+IHhnLXBvLTItMi5wbworK21zZ2lkICJ0aGlyZCBtc2dpZCIKKyttc2dpZF9wbHVyYWwgInRoaXJkIG1zZ2lkIChwbHVyYWwpIgorK21zZ3N0clswXSAiIgorK21zZ3N0clsxXSAiIgorKworK21zZ2lkICJzZWNvbmQgbXNnaWQiCisrbXNnaWRfcGx1cmFsICJzZWNvbmQgbXNnaWQgKHBsdXJhbCkiCisrbXNnc3RyWzBdICIiCisrbXNnc3RyWzFdICIiCisrRU9GCisrCisrOiAke1hHRVRURVhUPXhnZXR0ZXh0fQorKyR7WEdFVFRFWFR9IC0tb21pdC1oZWFkZXIgeGctcG8tMi0xLnBvIHhnLXBvLTItMi5wbyAtbyB4Zy1wby0yLnRtcC5wbyB8fCBFeGl0IDEKKytMQ19BTEw9QyB0ciAtZCAnXHInIDwgeGctcG8tMi50bXAucG8gPiB4Zy1wby0yLnBvIHx8IEV4aXQgMQorKworK2NhdCA8PEVPRiA+IHhnLXBvLTIub2sKKyttc2dpZCAiZmlyc3QgbXNnaWQiCisrbXNnaWRfcGx1cmFsICJmaXJzdCBtc2dpZCAocGx1cmFsKSIKKyttc2dzdHJbMF0gIiIKKyttc2dzdHJbMV0gIiIKKysKKyttc2dpZCAic2Vjb25kIG1zZ2lkIgorK21zZ2lkX3BsdXJhbCAic2Vjb25kIG1zZ2lkIChwbHVyYWwpIgorK21zZ3N0clswXSAiIgorK21zZ3N0clsxXSAiIgorKworK21zZ2lkICJ0aGlyZCBtc2dpZCIKKyttc2dpZF9wbHVyYWwgInRoaXJkIG1zZ2lkIChwbHVyYWwpIgorK21zZ3N0clswXSAiIgorK21zZ3N0clsxXSAiIgorK0VPRgorKworKzogJHtESUZGPWRpZmZ9CisrJHtESUZGfSB4Zy1wby0yLm9rIHhnLXBvLTIucG8KKytyZXN1bHQ9JD8KKysKKytleGl0ICRyZXN1bHQKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nZXR0ZXh0L2dldHRleHRfMC4xOS44LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dldHRleHQvZ2V0dGV4dF8wLjE5LjguMS5iYgppbmRleCA2OGY1Y2MzLi40MDQ5NzI0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dldHRleHQvZ2V0dGV4dF8wLjE5LjguMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dldHRleHQvZ2V0dGV4dF8wLjE5LjguMS5iYgpAQCAtOCw4ICs4LDExIEBACiBMSUNFTlNFID0gIkdQTHYzKyAmIExHUEwtMi4xKyIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgogCi1ERVBFTkRTID0gImdldHRleHQtbmF0aXZlIHZpcnR1YWwvbGliaWNvbnYiCi1ERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJnZXR0ZXh0LW1pbmltYWwtbmF0aXZlIgorIyBCZWNhdXNlIHBvLWdyYW0tZ2VuLnkgaGFzIGJlZW4gbW9kaWZpZWQgYnkgZml4LUNWRS0yMDE4LTE4NzUxLnBhdGNoLAorIyBpdCByZXF1aXJlcyB5YWNjIHdoaWNoIHByb3ZpZGVkIGJ5IGJpc29uLW5hdGl2ZQorIyBQbGVhc2UgcmVtb3ZlIGJpc29uLW5hdGl2ZSBmcm9tIERFUEVORFMqIHdoZW4gbmV4dCB1cGdyYWRlCitERVBFTkRTID0gImJpc29uLW5hdGl2ZSBnZXR0ZXh0LW5hdGl2ZSB2aXJ0dWFsL2xpYmljb252IgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiYmlzb24tbmF0aXZlIGdldHRleHQtbWluaW1hbC1uYXRpdmUiCiBQUk9WSURFUyA9ICJ2aXJ0dWFsL2xpYmludGwgdmlydHVhbC9nZXR0ZXh0IgogUFJPVklERVNfY2xhc3MtbmF0aXZlID0gInZpcnR1YWwvZ2V0dGV4dC1uYXRpdmUiCiBSQ09ORkxJQ1RTXyR7UE59ID0gInByb3h5LWxpYmludGwiCkBAIC0xOCw2ICsyMSw3IEBACiAJICAgZmlsZTovL2FkZC13aXRoLWJpc29ubG9jYWxlZGlyLnBhdGNoIFwKIAkgICBmaWxlOi8vY3Itc3RhdGVtZW50LmMtdGltc29ydC5oLWZpeC1mb3JtYXR0aW5nLWlzc3Vlcy5wYXRjaCBcCiAJICAgZmlsZTovL3VzZS1wa2djb25maWcucGF0Y2ggXAorCSAgIGZpbGU6Ly9maXgtQ1ZFLTIwMTgtMTg3NTEucGF0Y2ggXAogIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiOTdlMDM0Y2Y4Y2U1YmE3M2EyOGZmNmMzYzA2MzgwOTIiCkBAIC0zNSw2ICszOSw3IEBACiAgICAgICAgICAgICAgICAgIC0td2l0aG91dC1lbWFjcyBcCiAgICAgICAgICAgICAgICAgIC0td2l0aG91dC1jdnMgXAogICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtZ2l0IFwKKyAgICAgICAgICAgICAgICAgLS1jYWNoZS1maWxlPSR7Qn0vY29uZmlnLmNhY2hlIFwKICAgICAgICAgICAgICAgICAiCiBFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAogICAgICAgICAgICAgICAgICAtLXdpdGgtYmlzb25sb2NhbGVkaXI9JHtkYXRhZGlyfS9sb2NhbGUgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLURvLW5vdC13cml0ZS1iaW5kaXItaW50by1wa2ctY29uZmlnLWZpbGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLURvLW5vdC13cml0ZS1iaW5kaXItaW50by1wa2ctY29uZmlnLWZpbGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkZTI5YzkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtRG8tbm90LXdyaXRlLWJpbmRpci1pbnRvLXBrZy1jb25maWctZmlsZXMucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorRnJvbSA0NzRlNTlhYmVjODhkZTBjNDU1ODM2YzFmNTMxNTJiZjJhYTI2YzM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBGcmksIDE1IEZlYiAyMDE5IDExOjE3OjI3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCB3cml0ZSAkYmluZGlyIGludG8gcGtnLWNvbmZpZyBmaWxlcworCitUaGlzIHdvdWxkIG90aGVyd2lzZSBicmVhayB3aGVuIHVzaW5nIHRoZSBmaWxlcyB0byBidWlsZCBvdGhlciB0YXJnZXQKK2NvbXBvbmVudHMgKHdlIG5lZWQgdG8gcmVseSBvbiBQQVRIIGNvbnRhaW5pbmcgdGhlIHBhdGhzIHRvIHV0aWxpdGllcywKK3JhdGhlciB0aGFuIHVzZSB0YXJnZXQgcGF0aHMpLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW3Vwc3RyZWFtIHdhbnRzIHRoZSBwYXRocyBpbiAucGMgZmlsZXNdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIGdpby9tZXNvbi5idWlsZCAgfCA2ICsrKy0tLQorIGdsaWIvbWVzb24uYnVpbGQgfCA2ICsrKy0tLQorIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ2lvL21lc29uLmJ1aWxkIGIvZ2lvL21lc29uLmJ1aWxkCitpbmRleCA4NWQ4YjE0Li42NTc3MjBhIDEwMDY0NAorLS0tIGEvZ2lvL21lc29uLmJ1aWxkCisrKysgYi9naW8vbWVzb24uYnVpbGQKK0BAIC04MTMsOSArODEzLDkgQEAgcGtnLmdlbmVyYXRlKGxpYnJhcmllcyA6IGxpYmdpbywKKyAgICAgICAgICAgICAgICAnc2NoZW1hc2Rpcj0nICsgam9pbl9wYXRocygnJHtkYXRhZGlyfScsIHNjaGVtYXNfc3ViZGlyKSwKKyAgICAgICAgICAgICAgICAnYmluZGlyPScgKyBqb2luX3BhdGhzKCcke3ByZWZpeH0nLCBnZXRfb3B0aW9uKCdiaW5kaXInKSksCisgICAgICAgICAgICAgICAgJ2dpb21vZHVsZWRpcj0nICsgZ2lvbW9kdWxlc2RpciwKKy0gICAgICAgICAgICAgICAnZ2xpYl9jb21waWxlX3NjaGVtYXM9JyArIGpvaW5fcGF0aHMoJyR7YmluZGlyfScsICdnbGliLWNvbXBpbGUtc2NoZW1hcycpLAorLSAgICAgICAgICAgICAgICdnbGliX2NvbXBpbGVfcmVzb3VyY2VzPScgKyBqb2luX3BhdGhzKCcke2JpbmRpcn0nLCAnZ2xpYi1jb21waWxlLXJlc291cmNlcycpLAorLSAgICAgICAgICAgICAgICdnZGJ1c19jb2RlZ2VuPScgKyBqb2luX3BhdGhzKCcke2JpbmRpcn0nLCAnZ2RidXMtY29kZWdlbicpXSwKKysgICAgICAgICAgICAgICAnZ2xpYl9jb21waWxlX3NjaGVtYXM9Z2xpYi1jb21waWxlLXNjaGVtYXMnLAorKyAgICAgICAgICAgICAgICdnbGliX2NvbXBpbGVfcmVzb3VyY2VzPWdsaWItY29tcGlsZS1yZXNvdXJjZXMnLAorKyAgICAgICAgICAgICAgICdnZGJ1c19jb2RlZ2VuPWdkYnVzLWNvZGVnZW4nXSwKKyAgIHZlcnNpb24gOiBnbGliX3ZlcnNpb24sCisgICBpbnN0YWxsX2RpciA6IGdsaWJfcGtnY29uZmlncmVsZGlyLAorICAgZmlsZWJhc2UgOiAnZ2lvLTIuMCcsCitkaWZmIC0tZ2l0IGEvZ2xpYi9tZXNvbi5idWlsZCBiL2dsaWIvbWVzb24uYnVpbGQKK2luZGV4IGMwNWM2OTQuLjQzNGU4YjEgMTAwNjQ0CistLS0gYS9nbGliL21lc29uLmJ1aWxkCisrKysgYi9nbGliL21lc29uLmJ1aWxkCitAQCAtMjYxLDkgKzI2MSw5IEBAIHBrZy5nZW5lcmF0ZShsaWJyYXJpZXMgOiBbbGliZ2xpYiwgbGliaW50bF0sCisgICBzdWJkaXJzIDogWydnbGliLTIuMCddLAorICAgZXh0cmFfY2ZsYWdzIDogWyctSSR7bGliZGlyfS9nbGliLTIuMC9pbmNsdWRlJ10gKyB3aW4zMl9jZmxhZ3MsCisgICB2YXJpYWJsZXMgOiBbJ2JpbmRpcj0nICsgam9pbl9wYXRocygnJHtwcmVmaXh9JywgZ2V0X29wdGlvbignYmluZGlyJykpLAorLSAgICAgICAgICAgICAgICdnbGliX2dlbm1hcnNoYWw9JyArIGpvaW5fcGF0aHMoJyR7YmluZGlyfScsICdnbGliLWdlbm1hcnNoYWwnKSwKKy0gICAgICAgICAgICAgICAnZ29iamVjdF9xdWVyeT0nICsgam9pbl9wYXRocygnJHtiaW5kaXJ9JywgJ2dvYmplY3QtcXVlcnknKSwKKy0gICAgICAgICAgICAgICAnZ2xpYl9ta2VudW1zPScgKyBqb2luX3BhdGhzKCcke2JpbmRpcn0nLCAnZ2xpYi1ta2VudW1zJyldLAorKyAgICAgICAgICAgICAgICdnbGliX2dlbm1hcnNoYWw9Z2xpYi1nZW5tYXJzaGFsJywKKysgICAgICAgICAgICAgICAnZ29iamVjdF9xdWVyeT1nb2JqZWN0LXF1ZXJ5JywKKysgICAgICAgICAgICAgICAnZ2xpYl9ta2VudW1zPWdsaWItbWtlbnVtcyddLAorICAgdmVyc2lvbiA6IGdsaWJfdmVyc2lvbiwKKyAgIGluc3RhbGxfZGlyIDogZ2xpYl9wa2djb25maWdyZWxkaXIsCisgICBmaWxlYmFzZSA6ICdnbGliLTIuMCcsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtSW5zdGFsbC1naW8tcXVlcnltb2R1bGVzLWFzLWxpYmV4ZWNfUFJPR1JBTS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1JbnN0YWxsLWdpby1xdWVyeW1vZHVsZXMtYXMtbGliZXhlY19QUk9HUkFNLnBhdGNoCmluZGV4IDk3ZDBhZmYuLmYyNDYyNTQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1JbnN0YWxsLWdpby1xdWVyeW1vZHVsZXMtYXMtbGliZXhlY19QUk9HUkFNLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1JbnN0YWxsLWdpby1xdWVyeW1vZHVsZXMtYXMtbGliZXhlY19QUk9HUkFNLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA4NTYwNDU5MjdiOWFiMzkxMTY1YzBlYmFiZjQwMTgzNWY4NDM5ZWFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAxN2ZjOTIzMGZiOTMyNDMyZDhmYWFhYWJmOGM1NmZkYzQ4NDU0OTVlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KIERhdGU6IFR1ZSwgMjIgTWFyIDIwMTYgMTU6MTQ6NTggKzAyMDAKIFN1YmplY3Q6IFtQQVRDSF0gSW5zdGFsbCBnaW8tcXVlcnltb2R1bGVzIGFzIGxpYmV4ZWNfUFJPR1JBTQpAQCAtMTEsNyArMTEsOCBAQAogCiAtLS0KICBnaW8vTWFrZWZpbGUuYW0gfCAzICsrLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKyBnaW8vbWVzb24uYnVpbGQgfCAxICsKKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvZ2lvL01ha2VmaWxlLmFtIGIvZ2lvL01ha2VmaWxlLmFtCiBpbmRleCBlMTRjYWQyLi5iZjJiY2M3IDEwMDY0NApAQCAtMjcsMyArMjgsMTUgQEAKICAKICBnbGliX2NvbXBpbGVfcmVzb3VyY2VzX0xEQUREID0gbGliZ2lvLTIuMC5sYSAJCVwKICAJJCh0b3BfYnVpbGRkaXIpL2dvYmplY3QvbGliZ29iamVjdC0yLjAubGEJXAorZGlmZiAtLWdpdCBhL2dpby9tZXNvbi5idWlsZCBiL2dpby9tZXNvbi5idWlsZAoraW5kZXggYjgzZDhmNS4uODVkOGIxNCAxMDA2NDQKKy0tLSBhL2dpby9tZXNvbi5idWlsZAorKysrIGIvZ2lvL21lc29uLmJ1aWxkCitAQCAtOTI1LDYgKzkyNSw3IEBAIGdpb19xdWVyeW1vZHVsZXMgPSBleGVjdXRhYmxlKCdnaW8tcXVlcnltb2R1bGVzJywgJ2dpby1xdWVyeW1vZHVsZXMuYycsICdnaW9tb2R1CisgICBjX2FyZ3MgOiBnaW9fY19hcmdzLAorICAgIyBpbnRsLmxpYiBpcyBub3QgY29tcGF0aWJsZSB3aXRoIFNBRkVTRUgKKyAgIGxpbmtfYXJncyA6IG5vc2VoX2xpbmtfYXJncywKKysgIGluc3RhbGxfZGlyOiBnbGliX2xpYmV4ZWNkaXIsCisgICBkZXBlbmRlbmNpZXMgOiBbbGliZ2lvX2RlcCwgbGliZ29iamVjdF9kZXAsIGxpYmdtb2R1bGVfZGVwLCBsaWJnbGliX2RlcF0pCisgCisgZ2xpYl9jb21waWxlX3NjaGVtYXMgPSBleGVjdXRhYmxlKCdnbGliLWNvbXBpbGUtc2NoZW1hcycsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtUmV2ZXJ0LVVzZS1hYnNvbHV0ZS1wYXRocy1pbi1wa2ctY29uZmlnLWZpbGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLVJldmVydC1Vc2UtYWJzb2x1dGUtcGF0aHMtaW4tcGtnLWNvbmZpZy1maWxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGM1ZDg0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLVJldmVydC1Vc2UtYWJzb2x1dGUtcGF0aHMtaW4tcGtnLWNvbmZpZy1maWxlcy5wYXRjaApAQCAtMCwwICsxLDY0IEBACitGcm9tIGFiYzI2YWVkN2EyODY3OGRmY2MyMGIyMTcyNmE5N2M3YzAyZWE3M2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgorRGF0ZTogVGh1LCAxNCBGZWIgMjAxOSAxNDo1NToxNSArMDgwMAorU3ViamVjdDogW1BBVENIXSBSZXZlcnQgIlVzZSBhYnNvbHV0ZSBwYXRocyBpbiBwa2ctY29uZmlnIGZpbGVzIgorCitUaGlzIHJldmVydHMgY29tbWl0IGU3YTdjOWI5Nzc3NmZhMmE2MzhkMThlYTNhOTMxYmE4NGU3NzhmODAuCisKK1RoZSBnbGliIHBrZ2NvbmZpZyBmaWxlcyBub3cgY29udGFpbiBhYnNvbHV0ZSBwYXRocywgYnV0IHRoZXkncmUKK3RhcmdldCBwYXRocyBzbyB3aGVuIHdlIHVzZWQgdGhlbSBmcm9tIGEgc3lzcm9vdCBpdCBmYWlscy4gIFVwc3RyZWFtCit0aGlua3MgdGhhdCB3ZSBzaG91bGQgYmUgc2V0dGluZworR0xJQl9NS0VOVU1TPS9wYXRoL3RvL3N5c3Jvb3QvdXNyL2Jpbi9nbGliLW1rZW51bXMgYnV0IHRoYXQgcmVhbGx5Citkb2Vzbid0IHNjYWxlLgorCitGb3Igbm93LCB3ZSBqdXN0IHJldmVydCB0aGUgY2hhbmdlIHRvIHB1dCBhYnNvbHV0ZSBwYXRocyBpbnRvCit0aGUgc3lzcm9vdC4gVGhpcyBzaG91bGQgYmUgcmUtZXZhbHVhdGVkIHdoZW4gd2UgbW92ZSB0aGUgcmVjaXBlIHRvIHVzZQorbWVzb24uCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbUmV2ZXJ0IG9mIGFuIHVwc3RyZWFtIGNvbW1pdF0KK1NpZ25lZC1vZmYtYnk6IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+CistLS0KKyBnaW8tMi4wLnBjLmluICB8IDcgKysrLS0tLQorIGdsaWItMi4wLnBjLmluIHwgNyArKystLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9naW8tMi4wLnBjLmluIGIvZ2lvLTIuMC5wYy5pbgoraW5kZXggZDY3ZTgwODM5Li41MjZmMGRhYTAgMTAwNjQ0CistLS0gYS9naW8tMi4wLnBjLmluCisrKysgYi9naW8tMi4wLnBjLmluCitAQCAtNSwxMSArNSwxMCBAQCBpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAorIAorIGRhdGFkaXI9QGRhdGFkaXJACisgc2NoZW1hc2Rpcj0ke2RhdGFkaXJ9L2dsaWItMi4wL3NjaGVtYXMKKy1iaW5kaXI9QGJpbmRpckAKKyBnaW9tb2R1bGVkaXI9QEdJT19NT0RVTEVfRElSQAorLWdsaWJfY29tcGlsZV9zY2hlbWFzPSR7YmluZGlyfS9nbGliLWNvbXBpbGUtc2NoZW1hcworLWdsaWJfY29tcGlsZV9yZXNvdXJjZXM9JHtiaW5kaXJ9L2dsaWItY29tcGlsZS1yZXNvdXJjZXMKKy1nZGJ1c19jb2RlZ2VuPSR7YmluZGlyfS9nZGJ1cy1jb2RlZ2VuCisrZ2xpYl9jb21waWxlX3NjaGVtYXM9Z2xpYi1jb21waWxlLXNjaGVtYXMKKytnbGliX2NvbXBpbGVfcmVzb3VyY2VzPWdsaWItY29tcGlsZS1yZXNvdXJjZXMKKytnZGJ1c19jb2RlZ2VuPWdkYnVzLWNvZGVnZW4KKyAKKyBOYW1lOiBHSU8KKyBEZXNjcmlwdGlvbjogZ2xpYiBJL08gbGlicmFyeQorZGlmZiAtLWdpdCBhL2dsaWItMi4wLnBjLmluIGIvZ2xpYi0yLjAucGMuaW4KK2luZGV4IDNjNWVhODFkYy4uMjc1ZmMwMTYzIDEwMDY0NAorLS0tIGEvZ2xpYi0yLjAucGMuaW4KKysrKyBiL2dsaWItMi4wLnBjLmluCitAQCAtMywxMCArMyw5IEBAIGV4ZWNfcHJlZml4PUBleGVjX3ByZWZpeEAKKyBsaWJkaXI9QGxpYmRpckAKKyBpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAorIAorLWJpbmRpcj1AYmluZGlyQAorLWdsaWJfZ2VubWFyc2hhbD0ke2JpbmRpcn0vZ2xpYi1nZW5tYXJzaGFsCistZ29iamVjdF9xdWVyeT0ke2JpbmRpcn0vZ29iamVjdC1xdWVyeQorLWdsaWJfbWtlbnVtcz0ke2JpbmRpcn0vZ2xpYi1ta2VudW1zCisrZ2xpYl9nZW5tYXJzaGFsPWdsaWItZ2VubWFyc2hhbAorK2dvYmplY3RfcXVlcnk9Z29iamVjdC1xdWVyeQorK2dsaWJfbWtlbnVtcz1nbGliLW1rZW51bXMKKyAKKyBOYW1lOiBHTGliCisgRGVzY3JpcHRpb246IEMgVXRpbGl0eSBMaWJyYXJ5CistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtU2V0LWhvc3RfbWFjaGluZS1jb3JyZWN0bHktd2hlbi1idWlsZGluZy13aXRoLW1pbmd3My5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1TZXQtaG9zdF9tYWNoaW5lLWNvcnJlY3RseS13aGVuLWJ1aWxkaW5nLXdpdGgtbWluZ3czLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiN2ZhYjcKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtU2V0LWhvc3RfbWFjaGluZS1jb3JyZWN0bHktd2hlbi1idWlsZGluZy13aXRoLW1pbmd3My5wYXRjaApAQCAtMCwwICsxLDEwNCBAQAorRnJvbSA0MTY5ZjExYmVlZGFjZmJiOGM3OTM0YTRjOTkxODlkNDQ5MzVhNmI5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDEzIEZlYiAyMDE5IDE1OjMyOjA1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFNldCBob3N0X21hY2hpbmUgY29ycmVjdGx5IHdoZW4gYnVpbGRpbmcgd2l0aCBtaW5ndzMyCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCistLS0KKyBnaW8vdGVzdHMvbWVzb24uYnVpbGQgIHwgOCArKysrLS0tLQorIGdsaWIvdGVzdHMvbWVzb24uYnVpbGQgfCA0ICsrLS0KKyBtZXNvbi5idWlsZCAgICAgICAgICAgIHwgMyArKysKKyB0ZXN0cy9tZXNvbi5idWlsZCAgICAgIHwgMiArLQorIDQgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dpby90ZXN0cy9tZXNvbi5idWlsZCBiL2dpby90ZXN0cy9tZXNvbi5idWlsZAoraW5kZXggMTgxZjVjNy4uMTFhMWYxMiAxMDA2NDQKKy0tLSBhL2dpby90ZXN0cy9tZXNvbi5idWlsZAorKysrIGIvZ2lvL3Rlc3RzL21lc29uLmJ1aWxkCitAQCAtMTIsNyArMTIsNyBAQCB0ZXN0X2NfYXJncyA9IFsKKyAgICctREdMSUJfQ09NUElMRV9TQ0hFTUFTPSJAMEAiJy5mb3JtYXQoZ2xpYl9jb21waWxlX3NjaGVtYXMuZnVsbF9wYXRoKCkpLAorIF0KKyAKKy1pZiBob3N0X21hY2hpbmUuc3lzdGVtKCkgPT0gJ3dpbmRvd3MnCisraWYgaG9zdF9zeXN0ZW0gPT0gJ3dpbmRvd3MnCisgICBjb21tb25fZ2lvX3Rlc3RzX2RlcHMgKz0gW2lwaGxwYXBpX2RlcCwgd2luc29jazIsIGNjLmZpbmRfbGlicmFyeSAoJ3NlY3VyMzInKV0KKyBlbmRpZgorIAorQEAgLTEyMiw3ICsxMjIsNyBAQCBpZiBkYnVzMV9kZXAuZm91bmQoKQorIGVuZGlmCisgCisgIyAgVGVzdCBwcm9ncmFtcyBidWlsZGFibGUgb24gVU5JWCBvbmx5CistaWYgaG9zdF9tYWNoaW5lLnN5c3RlbSgpICE9ICd3aW5kb3dzJworK2lmIGhvc3Rfc3lzdGVtICE9ICd3aW5kb3dzJworICAgZ2lvX3Rlc3RzICs9IFt7CisgICAgICdmaWxlJyA6IHt9LAorICAgICAnZ2RidXMtcGVlcicgOiB7CitAQCAtMzE0LDcgKzMxNCw3IEBAIGlmIGhvc3RfbWFjaGluZS5zeXN0ZW0oKSAhPSAnd2luZG93cycKKyBlbmRpZiAjIHVuaXgKKyAKKyAjICBUZXN0IHByb2dyYW1zIGJ1aWxkYWJsZSBvbiBXaW5kb3dzIG9ubHkKKy1pZiBob3N0X21hY2hpbmUuc3lzdGVtKCkgPT0gJ3dpbmRvd3MnCisraWYgaG9zdF9zeXN0ZW0gPT0gJ3dpbmRvd3MnCisgICBnaW9fdGVzdHMgKz0gW3snd2luMzItc3RyZWFtcycgOiB7fX1dCisgZW5kaWYKKyAKK0BAIC0zNzksNyArMzc5LDcgQEAgaWYgY2MuZ2V0X2lkKCkgIT0gJ21zdmMnCisgICB9XQorIGVuZGlmCisgCistaWYgaG9zdF9tYWNoaW5lLnN5c3RlbSgpICE9ICd3aW5kb3dzJworK2lmIGhvc3Rfc3lzdGVtICE9ICd3aW5kb3dzJworICAgdGVzdF9leHRyYV9wcm9ncmFtcyArPSBbeworICAgICAnZ2RidXMtZXhhbXBsZS11bml4LWZkLWNsaWVudCcgOiB7CisgICAgICAgJ2luc3RhbGwnIDogZmFsc2UsCitkaWZmIC0tZ2l0IGEvZ2xpYi90ZXN0cy9tZXNvbi5idWlsZCBiL2dsaWIvdGVzdHMvbWVzb24uYnVpbGQKK2luZGV4IGQ3YjZhN2EuLjY2NzhhMDggMTAwNjQ0CistLS0gYS9nbGliL3Rlc3RzL21lc29uLmJ1aWxkCisrKysgYi9nbGliL3Rlc3RzL21lc29uLmJ1aWxkCitAQCAtNDUsNyArNDUsNyBAQCBnbGliX3Rlc3RzID0geworICAgJ2hvb2snIDoge30sCisgICAnaG9zdHV0aWxzJyA6IHt9LAorICAgJ2luY2x1ZGUnIDogeworLSAgICAnc2tpcCcgOiBob3N0X21hY2hpbmUuc3lzdGVtKCkgPT0gJ3dpbmRvd3MnLAorKyAgICAnc2tpcCcgOiBob3N0X3N5c3RlbSA9PSAnd2luZG93cycsCisgICB9LAorICAgJ2tleWZpbGUnIDoge30sCisgICAnbGlzdCcgOiB7fSwKK0BAIC0xMTIsNyArMTEyLDcgQEAgZ2xpYl90ZXN0cyA9IHsKKyAgICd1dGlscycgOiB7fSwKKyAgICd1bmljb2RlJyA6IHt9LAorICAgJ3VuaXgnIDogeworLSAgICAnc2tpcCcgOiBob3N0X21hY2hpbmUuc3lzdGVtKCkgPT0gJ3dpbmRvd3MnLAorKyAgICAnc2tpcCcgOiBob3N0X3N5c3RlbSA9PSAnd2luZG93cycsCisgICB9LAorICAgJ3VyaScgOiB7fSwKKyAgICcxYml0LW11dGV4JyA6IHt9LAorZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IGY3NDA1YTIuLjQzNDhmMjAgMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC0zMSw2ICszMSw5IEBAIGVsc2UKKyBlbmRpZgorIAorIGhvc3Rfc3lzdGVtID0gaG9zdF9tYWNoaW5lLnN5c3RlbSgpCisraWYgaG9zdF9zeXN0ZW0gPT0gJ21pbmd3MzInCisrICBob3N0X3N5c3RlbSA9ICd3aW5kb3dzJworK2VuZGlmCisgCisgZ2xpYl92ZXJzaW9uID0gbWVzb24ucHJvamVjdF92ZXJzaW9uKCkKKyBnbGliX2FwaV92ZXJzaW9uID0gJzIuMCcKK2RpZmYgLS1naXQgYS90ZXN0cy9tZXNvbi5idWlsZCBiL3Rlc3RzL21lc29uLmJ1aWxkCitpbmRleCA4MGU0NWQ3Li45ZjM4NjlmIDEwMDY0NAorLS0tIGEvdGVzdHMvbWVzb24uYnVpbGQKKysrKyBiL3Rlc3RzL21lc29uLmJ1aWxkCitAQCAtNjcsNyArNjcsNyBAQCB0ZXN0X2V4dHJhX3Byb2dyYW1zID0geworICAgJ3VuaWNvZGUtY29sbGF0ZScgOiB7fSwKKyB9CisgCistaWYgaG9zdF9tYWNoaW5lLnN5c3RlbSgpICE9ICd3aW5kb3dzJworK2lmIGhvc3Rfc3lzdGVtICE9ICd3aW5kb3dzJworICAgdGVzdHMgKz0gW3sKKyAgICAgJ3RpbWVsb29wJyA6IHt9LAorICAgICAnc3Bhd24tdGVzdCcgOiB7fSwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1tZXNvbi1kby1hLWJ1aWxkLXRpbWUtY2hlY2stZm9yLXN0cmxjcHktYmVmb3JlLWF0dGVtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLW1lc29uLWRvLWEtYnVpbGQtdGltZS1jaGVjay1mb3Itc3RybGNweS1iZWZvcmUtYXR0ZW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDFlZDAyOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1tZXNvbi1kby1hLWJ1aWxkLXRpbWUtY2hlY2stZm9yLXN0cmxjcHktYmVmb3JlLWF0dGVtLnBhdGNoCkBAIC0wLDAgKzEsNjIgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2ZjODhlNTZiZmMyYjA5YThmYjJiMzUwZTc2ZjY0MjVhYjBhMDU2ZDddCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDE0MWFjZjZhMmYzYjIxZDYzYzljZmU2MjBiOGUyMGE1MDZlNzg0OTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorRGF0ZTogV2VkLCAxMyBNYXIgMjAxOSAxNjoyMjowOSArMDAwMAorU3ViamVjdDogW1BBVENIXSBtZXNvbjogZG8gYSBidWlsZC10aW1lIGNoZWNrIGZvciBzdHJsY3B5IGJlZm9yZSBhdHRlbXB0aW5nCisgcnVudGltZSBjaGVjaworCitJbiBjcm9zcy1jb21waWxhdGlvbiBlbnZpcm9ubWVudHMgdGhlIHJ1bnRpbWUgY2hlY2sgaXNuJ3QgcG9zc2libGUgc28gaXQgaXMgdXAKK3RvIHRoZSBidWlsZGVyIHRvIHNlZWQgdGhlIGNyb3NzIGZpbGUsIGJ1dCB3ZSBjYW4gZGVmaW5pdGVseSBzdGF0ZSB0aGF0IHN0cmxjcHkKK2RvZXNuJ3QgZXhpc3Qgd2l0aCBhIGJ1aWxkIHRlc3QuCistLS0KKyBtZXNvbi5idWlsZCB8IDMwICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDE1MDM5ZTQ0OC4uNDE0ZjJkOWIxIDEwMDY0NAorLS0tIGEvbWVzb24uYnVpbGQKKysrKyBiL21lc29uLmJ1aWxkCitAQCAtMTg2MCwyMiArMTg2MCwyNCBAQCBlbmRpZgorIAorICMgVGVzdCBpZiB3ZSBoYXZlIHN0cmxjcHkvc3RybGNhdCB3aXRoIGEgY29tcGF0aWJsZSBpbXBsZW1lbnRhdGlvbjoKKyAjIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01MzkzMworLWlmIGNjX2Nhbl9ydW4KKy0gIHJyZXMgPSBjYy5ydW4oJycnI2luY2x1ZGUgPHN0ZGxpYi5oPgorLSAgICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3RyaW5nLmg+CistICAgICAgICAgICAgICAgICAgIGludCBtYWluKCkgeworLSAgICAgICAgICAgICAgICAgICAgIGNoYXIgcFsxMF07CistICAgICAgICAgICAgICAgICAgICAgKHZvaWQpIHN0cmxjcHkgKHAsICJoaSIsIDEwKTsKKy0gICAgICAgICAgICAgICAgICAgICBpZiAoc3RybGNhdCAocCwgImJ5ZSIsIDApICE9IDMpCistICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKKy0gICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKy0gICAgICAgICAgICAgICAgICAgfScnJywKKy0gICAgICAgICAgICAgICAgbmFtZSA6ICdPcGVuQlNEIHN0cmxjcHkvc3RybGNhdCcpCistICBpZiBycmVzLmNvbXBpbGVkKCkgYW5kIHJyZXMucmV0dXJuY29kZSgpID09IDAKKytpZiBjYy5oYXNfZnVuY3Rpb24oJ3N0cmxjcHknKQorKyAgaWYgY2NfY2FuX3J1bgorKyAgICBycmVzID0gY2MucnVuKCcnJyNpbmNsdWRlIDxzdGRsaWIuaD4KKysgICAgICAgICAgICAgICAgICAgICNpbmNsdWRlIDxzdHJpbmcuaD4KKysgICAgICAgICAgICAgICAgICAgIGludCBtYWluKCkgeworKyAgICAgICAgICAgICAgICAgICAgICBjaGFyIHBbMTBdOworKyAgICAgICAgICAgICAgICAgICAgICAodm9pZCkgc3RybGNweSAocCwgImhpIiwgMTApOworKyAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RybGNhdCAocCwgImJ5ZSIsIDApICE9IDMpCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CisrICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworKyAgICAgICAgICAgICAgICAgICAgfScnJywKKysgICAgICAgICAgICAgICAgICBuYW1lIDogJ09wZW5CU0Qgc3RybGNweS9zdHJsY2F0JykKKysgICAgaWYgcnJlcy5jb21waWxlZCgpIGFuZCBycmVzLnJldHVybmNvZGUoKSA9PSAwCisrICAgICAgZ2xpYl9jb25mLnNldCgnSEFWRV9TVFJMQ1BZJywgMSkKKysgICAgZW5kaWYKKysgIGVsaWYgbWVzb24uZ2V0X2Nyb3NzX3Byb3BlcnR5KCdoYXZlX3N0cmxjcHknLCBmYWxzZSkKKyAgICAgZ2xpYl9jb25mLnNldCgnSEFWRV9TVFJMQ1BZJywgMSkKKyAgIGVuZGlmCistZWxpZiBtZXNvbi5nZXRfY3Jvc3NfcHJvcGVydHkoJ2hhdmVfc3RybGNweScsIGZhbHNlKQorLSAgZ2xpYl9jb25mLnNldCgnSEFWRV9TVFJMQ1BZJywgMSkKKyBlbmRpZgorIAorIHB5dGhvbiA9IGltcG9ydCgncHl0aG9uJykuZmluZF9pbnN0YWxsYXRpb24oJ3B5dGhvbjMnKQorLS0gCisyLjExLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLW1lc29uLmJ1aWxkLWRvLW5vdC1oYXJkY29kZS1saW51eC1hcy10aGUtaG9zdC1zeXN0ZW0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtbWVzb24uYnVpbGQtZG8tbm90LWhhcmRjb2RlLWxpbnV4LWFzLXRoZS1ob3N0LXN5c3RlbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTFhNTg5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLW1lc29uLmJ1aWxkLWRvLW5vdC1oYXJkY29kZS1saW51eC1hcy10aGUtaG9zdC1zeXN0ZW0ucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbSA2MzVmZTI2YWY1MWYyMDE5NGM4YjIwOGU3ZDAxMzAzYmUxMDg2ZDY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDE5IEZlYiAyMDE5IDEwOjMxOjExICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIG1lc29uLmJ1aWxkOiBkbyBub3QgaGFyZGNvZGUgJ2xpbnV4JyBhcyB0aGUgaG9zdCBzeXN0ZW0KKworT0UgYnVpbGQgc3lzdGVtIGNhbiBzZXQgdGhpcyB0byBvdGhlciB2YWx1ZXMgdGhhdCBpbmNsdWRlICdsaW51eCcsCitlLmcuICdsaW51eC1nbnVlYWJpJworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgbWVzb24uYnVpbGQgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCitpbmRleCA0MzQ4ZjIwLi5hZjVlZDYzIDEwMDY0NAorLS0tIGEvbWVzb24uYnVpbGQKKysrKyBiL21lc29uLmJ1aWxkCitAQCAtMTU3NCw3ICsxNTc0LDcgQEAgYXRvbWljZGVmaW5lID0gJycnCisgIyBXZSBrbm93IHRoYXQgd2UgY2FuIGFsd2F5cyB1c2UgcmVhbCAoImxvY2sgZnJlZSIpIGF0b21pYyBvcGVyYXRpb25zIHdpdGggTVNWQworIGlmIGNjLmdldF9pZCgpID09ICdtc3ZjJyBvciBjYy5saW5rcyhhdG9taWN0ZXN0LCBuYW1lIDogJ2F0b21pYyBvcHMnKQorICAgaGF2ZV9hdG9taWNfbG9ja19mcmVlID0gdHJ1ZQorLSAgaWYgKGhvc3Rfc3lzdGVtID09ICdhbmRyb2lkJyBvciBob3N0X3N5c3RlbSA9PSAnbGludXgnKSBhbmQgbm90IGNjLmNvbXBpbGVzKGF0b21pY2RlZmluZSwgbmFtZSA6ICdhdG9taWMgb3BzIGRlZmluZScpCisrICBpZiAoaG9zdF9zeXN0ZW0gPT0gJ2FuZHJvaWQnIG9yIGhvc3Rfc3lzdGVtLmNvbnRhaW5zKCdsaW51eCcpKSBhbmQgbm90IGNjLmNvbXBpbGVzKGF0b21pY2RlZmluZSwgbmFtZSA6ICdhdG9taWMgb3BzIGRlZmluZScpCisgICAgICMgV2hlbiBidWlsZGluZyBmb3IgYXJtdjUgb24gTGludXgsIGdjYyBwcm92aWRlcworICAgICAjIF9fc3luY19ib29sX2NvbXBhcmVfYW5kX3N3YXAgYnV0IGRvZXNuJ3QgZGVmaW5lCisgICAgICMgX19HQ0NfSEFWRV9TWU5DX0NPTVBBUkVfQU5EX1NXQVBfNApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDEwLURvLW5vdC1oYXJkY29kZS1weXRob24tcGF0aC1pbnRvLXZhcmlvdXMtdG9vbHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMTAtRG8tbm90LWhhcmRjb2RlLXB5dGhvbi1wYXRoLWludG8tdmFyaW91cy10b29scy5wYXRjaAppbmRleCA2OTdkNjNkLi44NzIzNDBkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMTAtRG8tbm90LWhhcmRjb2RlLXB5dGhvbi1wYXRoLWludG8tdmFyaW91cy10b29scy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMTAtRG8tbm90LWhhcmRjb2RlLXB5dGhvbi1wYXRoLWludG8tdmFyaW91cy10b29scy5wYXRjaApAQCAtMTIsNyArMTIsNyBAQAogIDMgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZ2lvL2dkYnVzLTIuMC9jb2RlZ2VuL2dkYnVzLWNvZGVnZW4uaW4gYi9naW8vZ2RidXMtMi4wL2NvZGVnZW4vZ2RidXMtY29kZWdlbi5pbgotaW5kZXggODA1MDk4MS4uZTY5M2VmMyAxMDA2NDQKK2luZGV4IDgwNTA5ODEuLmU2OTNlZjMgMTAwNzU1CiAtLS0gYS9naW8vZ2RidXMtMi4wL2NvZGVnZW4vZ2RidXMtY29kZWdlbi5pbgogKysrIGIvZ2lvL2dkYnVzLTIuMC9jb2RlZ2VuL2dkYnVzLWNvZGVnZW4uaW4KIEBAIC0xLDQgKzEsNCBAQApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9FbmFibGUtbW9yZS10ZXN0cy13aGlsZS1jcm9zcy1jb21waWxpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL0VuYWJsZS1tb3JlLXRlc3RzLXdoaWxlLWNyb3NzLWNvbXBpbGluZy5wYXRjaAppbmRleCA1MDc4MWU3Li41Y2NkMzIwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL0VuYWJsZS1tb3JlLXRlc3RzLXdoaWxlLWNyb3NzLWNvbXBpbGluZy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL0VuYWJsZS1tb3JlLXRlc3RzLXdoaWxlLWNyb3NzLWNvbXBpbGluZy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNGIxYTZkMjQ3Yzc4MTI1MDk2YTZlYTVhYjNjYWI4YTFmMDAwZGMyMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTQ4MWM2ZDVmMDhmOWRiYmUxMGFiYzg3YjM3MmExZjYxZGIzNjQ3NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEp1c3NpIEt1a2tvbmVuIDxqdXNzaS5rdWtrb25lbkBpbnRlbC5jb20+CiBEYXRlOiBNb24sIDkgTm92IDIwMTUgMTE6MDc6MjcgKzAyMDAKIFN1YmplY3Q6IFtQQVRDSF0gRW5hYmxlIG1vcmUgdGVzdHMgd2hpbGUgY3Jvc3MtY29tcGlsaW5nCkBAIC05LDE3ICs5LDE3IEBACiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCiBTaWduZWQtb2ZmLWJ5OiBKdXNzaSBLdWtrb25lbiA8anVzc2kua3Vra29uZW5AaW50ZWwuY29tPgotCiAtLS0KICBnaW8vdGVzdHMvTWFrZWZpbGUuYW0gICAgIHwgMTAgKysrKysrLS0tLQotIHRlc3RzL2dvYmplY3QvTWFrZWZpbGUuYW0gfCAgOCArKysrKy0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKyBnaW8vdGVzdHMvbWVzb24uYnVpbGQgICAgIHwgMTUgKysrKysrKystLS0tLS0tCisgdGVzdHMvZ29iamVjdC9NYWtlZmlsZS5hbSB8ICA2ICsrKysrKworIDMgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9naW8vdGVzdHMvTWFrZWZpbGUuYW0gYi9naW8vdGVzdHMvTWFrZWZpbGUuYW0KLWluZGV4IDFmMGJlZDcuLjgyOTVkZWIgMTAwNjQ0CitpbmRleCBjNGU3YTkyLi42MzNlODVjIDEwMDY0NAogLS0tIGEvZ2lvL3Rlc3RzL01ha2VmaWxlLmFtCiArKysgYi9naW8vdGVzdHMvTWFrZWZpbGUuYW0KLUBAIC01NTAsMTAgKzU1MCw5IEBAIHRlc3RfcHJvZ3JhbXMgKz0gXAorQEAgLTU4MywxMCArNTgzLDkgQEAgdGVzdF9wcm9ncmFtcyArPSBcCiAgZW5kaWYKICAKICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0zMiw3ICszMiw3IEBACiAgdGVzdF9wcm9ncmFtcyArPSByZXNvdXJjZXMKICByZXNvdXJjZXNfU09VUkNFUyA9IHJlc291cmNlcy5jCiAgbm9kaXN0X3Jlc291cmNlc19TT1VSQ0VTID0gdGVzdF9yZXNvdXJjZXMuYyB0ZXN0X3Jlc291cmNlczIuYyB0ZXN0X3Jlc291cmNlczIuaAotQEAgLTU3OCw3ICs1NzcsMTEgQEAgaWYgIUVOQUJMRV9JTlNUQUxMRURfVEVTVFMKK0BAIC02MTEsNyArNjEwLDExIEBAIGlmICFFTkFCTEVfSU5TVEFMTEVEX1RFU1RTCiAgbGlicmVzb3VyY2VwbHVnaW5fbGFfTERGTEFHUyArPSAtcnBhdGggLwogIGVuZGlmCiAgCkBAIC00NCw3ICs0NCw3IEBACiAgCiAgdGVzdC1nZW5lcmF0ZWQudHh0OiB0ZXN0MS50eHQKICAJJChBTV9WX0dFTikgZWNobyAiR2VuZXJhdGVkIiA+ICRAICYmIFwKLUBAIC01OTksNyArNjAyLDYgQEAgdGVzdC5ncmVzb3VyY2U6IHRlc3QuZ3Jlc291cmNlLnhtbCBNYWtlZmlsZSAkKHNoZWxsICQoZ2xpYl9jb21waWxlX3Jlc291cmNlcykgLS0KK0BAIC02MzIsNyArNjM1LDYgQEAgdGVzdC5ncmVzb3VyY2U6IHRlc3QuZ3Jlc291cmNlLnhtbCBNYWtlZmlsZSAkKHNoZWxsICQoZ2xpYl9jb21waWxlX3Jlc291cmNlcykgLS0KICAKICBFWFRSQV9ESVNUICs9IHRlc3QuZ3Jlc291cmNlLnhtbCB0ZXN0MS50eHQgdGVzdDIuZ3Jlc291cmNlLnhtbCB0ZXN0Mi50eHQgdGVzdDMuZ3Jlc291cmNlLnhtbCB0ZXN0My50eHQgdGVzdDQuZ3Jlc291cmNlLnhtbAogIENMRUFORklMRVMgKz0gdGVzdC1nZW5lcmF0ZWQudHh0IHRlc3RfcmVzb3VyY2VzLmMgdGVzdF9yZXNvdXJjZXMyLltjaF0gcGx1Z2luX3Jlc291cmNlcy5jIHRlc3QuZ3Jlc291cmNlCkBAIC01MiwxOSArNTIsODIgQEAKICAKICBCVUlMVF9TT1VSQ0VTICs9IGdpb3R5cGVmdW5jcy5pbmMKICAKK2RpZmYgLS1naXQgYS9naW8vdGVzdHMvbWVzb24uYnVpbGQgYi9naW8vdGVzdHMvbWVzb24uYnVpbGQKK2luZGV4IGRjYTMzYmQuLjE4MWY1YzcgMTAwNjQ0CistLS0gYS9naW8vdGVzdHMvbWVzb24uYnVpbGQKKysrKyBiL2dpby90ZXN0cy9tZXNvbi5idWlsZAorQEAgLTE3Myw3ICsxNzMsNyBAQCBpZiBob3N0X21hY2hpbmUuc3lzdGVtKCkgIT0gJ3dpbmRvd3MnCisgCisgICAjICBUZXN0IHByb2dyYW1zIHRoYXQgbmVlZCB0byBicmluZyB1cCBhIHNlc3Npb24gYnVzIChyZXF1aXJlcyBkYnVzLWRhZW1vbikKKyAgIGhhdmVfZGJ1c19kYWVtb24gPSBmaW5kX3Byb2dyYW0oJ2RidXMtZGFlbW9uJywgcmVxdWlyZWQgOiBmYWxzZSkuZm91bmQoKQorLSAgaWYgaGF2ZV9kYnVzX2RhZW1vbgorKyAgaWYgdHJ1ZQorICAgICBhbm5vdGF0ZV9hcmdzID0gWworICAgICAgICctLWFubm90YXRlJywgJ29yZy5wcm9qZWN0LkJhcicsICdLZXkxJywgJ1ZhbHVlMScsCisgICAgICAgJy0tYW5ub3RhdGUnLCAnb3JnLnByb2plY3QuQmFyJywgJ29yZy5ndGsuR0RCdXMuSW50ZXJuYWwnLCAnVmFsdWUyJywKK0BAIC00MDYsMTIgKzQwNiwxMyBAQCBpZiBpbnN0YWxsZWRfdGVzdHNfZW5hYmxlZAorICAgaW5zdGFsbF9zdWJkaXIoJ2NlcnQtdGVzdHMnLCBpbnN0YWxsX2RpciA6IGluc3RhbGxlZF90ZXN0c19leGVjZGlyKQorIGVuZGlmCisgCistaWYgbm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkgb3IgbWVzb24uaGFzX2V4ZV93cmFwcGVyKCkKKysjaWYgbm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkgb3IgbWVzb24uaGFzX2V4ZV93cmFwcGVyKCkKKytpZiBtZXNvbi5pc19jcm9zc19idWlsZCgpCisgCisgICBwbHVnaW5fcmVzb3VyY2VzX2MgPSBjdXN0b21fdGFyZ2V0KCdwbHVnaW4tcmVzb3VyY2VzLmMnLAorICAgICBpbnB1dCA6ICd0ZXN0NC5ncmVzb3VyY2UueG1sJywKKyAgICAgb3V0cHV0IDogJ3BsdWdpbi1yZXNvdXJjZXMuYycsCistICAgIGNvbW1hbmQgOiBbZ2xpYl9jb21waWxlX3Jlc291cmNlcywKKysgICAgY29tbWFuZCA6IFsnZ2xpYi1jb21waWxlLXJlc291cmNlcycsCisgICAgICAgICAgICAgICAgJy0tdGFyZ2V0PUBPVVRQVVRAJywKKyAgICAgICAgICAgICAgICAnLS1zb3VyY2VkaXI9JyArIG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpLAorICAgICAgICAgICAgICAgICctLWdlbmVyYXRlLXNvdXJjZScsCitAQCAtNDI4LDcgKzQyOSw3IEBAIGlmIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpIG9yIG1lc29uLmhhc19leGVfd3JhcHBlcigpCisgICB0ZXN0X2dyZXNvdXJjZSA9IGN1c3RvbV90YXJnZXQoJ3Rlc3QuZ3Jlc291cmNlJywKKyAgICAgaW5wdXQgOiAndGVzdC5ncmVzb3VyY2UueG1sJywKKyAgICAgb3V0cHV0IDogJ3Rlc3QuZ3Jlc291cmNlJywKKy0gICAgY29tbWFuZCA6IFtnbGliX2NvbXBpbGVfcmVzb3VyY2VzLAorKyAgICBjb21tYW5kIDogWydnbGliLWNvbXBpbGUtcmVzb3VyY2VzJywKKyAgICAgICAgICAgICAgICAnLS10YXJnZXQ9QE9VVFBVVEAnLAorICAgICAgICAgICAgICAgICctLXNvdXJjZWRpcj0nICsgbWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCksCisgICAgICAgICAgICAgICAgJy0tc291cmNlZGlyPScgKyBtZXNvbi5jdXJyZW50X2J1aWxkX2RpcigpLAorQEAgLTQzOSw3ICs0NDAsNyBAQCBpZiBub3QgbWVzb24uaXNfY3Jvc3NfYnVpbGQoKSBvciBtZXNvbi5oYXNfZXhlX3dyYXBwZXIoKQorICAgdGVzdF9yZXNvdXJjZXMyX2MgPSBjdXN0b21fdGFyZ2V0KCd0ZXN0X3Jlc291cmNlczIuYycsCisgICAgIGlucHV0IDogJ3Rlc3QzLmdyZXNvdXJjZS54bWwnLAorICAgICBvdXRwdXQgOiAndGVzdF9yZXNvdXJjZXMyLmMnLAorLSAgICBjb21tYW5kIDogW2dsaWJfY29tcGlsZV9yZXNvdXJjZXMsCisrICAgIGNvbW1hbmQgOiBbJ2dsaWItY29tcGlsZS1yZXNvdXJjZXMnLAorICAgICAgICAgICAgICAgICctLXRhcmdldD1AT1VUUFVUQCcsCisgICAgICAgICAgICAgICAgJy0tc291cmNlZGlyPScgKyBtZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSwKKyAgICAgICAgICAgICAgICAnLS1nZW5lcmF0ZScsCitAQCAtNDUwLDcgKzQ1MSw3IEBAIGlmIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpIG9yIG1lc29uLmhhc19leGVfd3JhcHBlcigpCisgICB0ZXN0X3Jlc291cmNlczJfaCA9IGN1c3RvbV90YXJnZXQoJ3Rlc3RfcmVzb3VyY2VzMi5oJywKKyAgICAgaW5wdXQgOiAndGVzdDMuZ3Jlc291cmNlLnhtbCcsCisgICAgIG91dHB1dCA6ICd0ZXN0X3Jlc291cmNlczIuaCcsCistICAgIGNvbW1hbmQgOiBbZ2xpYl9jb21waWxlX3Jlc291cmNlcywKKysgICAgY29tbWFuZCA6IFsnZ2xpYi1jb21waWxlLXJlc291cmNlcycsCisgICAgICAgICAgICAgICAgJy0tdGFyZ2V0PUBPVVRQVVRAJywKKyAgICAgICAgICAgICAgICAnLS1zb3VyY2VkaXI9JyArIG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpLAorICAgICAgICAgICAgICAgICctLWdlbmVyYXRlJywKK0BAIC00NjEsNyArNDYyLDcgQEAgaWYgbm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkgb3IgbWVzb24uaGFzX2V4ZV93cmFwcGVyKCkKKyAgIHRlc3RfcmVzb3VyY2VzX2MgPSBjdXN0b21fdGFyZ2V0KCd0ZXN0X3Jlc291cmNlcy5jJywKKyAgICAgaW5wdXQgOiAndGVzdDIuZ3Jlc291cmNlLnhtbCcsCisgICAgIG91dHB1dCA6ICd0ZXN0X3Jlc291cmNlcy5jJywKKy0gICAgY29tbWFuZCA6IFtnbGliX2NvbXBpbGVfcmVzb3VyY2VzLAorKyAgICBjb21tYW5kIDogWydnbGliLWNvbXBpbGUtcmVzb3VyY2VzJywKKyAgICAgICAgICAgICAgICAnLS10YXJnZXQ9QE9VVFBVVEAnLAorICAgICAgICAgICAgICAgICctLXNvdXJjZWRpcj0nICsgbWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCksCisgICAgICAgICAgICAgICAgJy0tZ2VuZXJhdGUtc291cmNlJywKIGRpZmYgLS1naXQgYS90ZXN0cy9nb2JqZWN0L01ha2VmaWxlLmFtIGIvdGVzdHMvZ29iamVjdC9NYWtlZmlsZS5hbQotaW5kZXggMGU2MDk4Ny4uOTI3ZDEzYSAxMDA2NDQKK2luZGV4IDFiY2VmYmUuLjc3ZTY0NmEgMTAwNjQ0CiAtLS0gYS90ZXN0cy9nb2JqZWN0L01ha2VmaWxlLmFtCiArKysgYi90ZXN0cy9nb2JqZWN0L01ha2VmaWxlLmFtCi1AQCAtNTEsMTAgKzUxLDEzIEBAIGlmIEVOQUJMRV9USU1FTE9PUAorQEAgLTUxLDcgKzUxLDEzIEBAIGlmIEVOQUJMRV9USU1FTE9PUAogIGluc3RhbGxlZF90ZXN0X3Byb2dyYW1zICs9IHRpbWVsb29wLWNsb3N1cmUKICBlbmRpZgogIAotLSMgVGhlIG1hcnNoYWwgdGVzdCByZXF1aXJlcyBydW5uaW5nIGEgYmluYXJ5LCB3aGljaCBtZWFucyB3ZSBjYW5ub3QKLS0jIGJ1aWxkIGl0IHdoZW4gY3Jvc3MtY29tcGlsaW5nCiArIyBUaGUgbWFyc2hhbCB0ZXN0IHJlcXVpcmVzIHJ1bm5pbmcgYSBiaW5hcnksIHdoaWNoIG1lYW5zIHdlIHJlcXVpcmUKICsjIGdsaWItbmF0aXZlIHdoZW4gY3Jvc3MtY29tcGlsaW5nCi0gaWYgIUNST1NTX0NPTVBJTElORworK2lmICFDUk9TU19DT01QSUxJTkcKICBnbGliX2dlbm1hcnNoYWw9JCh0b3BfYnVpbGRkaXIpL2dvYmplY3QvZ2xpYi1nZW5tYXJzaGFsCiArZWxzZQogK2dsaWJfZ2VubWFyc2hhbD0kKHNoZWxsIHdoaWNoIGdsaWItZ2VubWFyc2hhbCkKQEAgLTcyLDkgKzEzNSwzIEBACiAgCiAgdGVzdG1hcnNoYWwuaDogc3RhbXAtdGVzdG1hcnNoYWwuaAogIAlAdHJ1ZQotQEAgLTcxLDQgKzc0LDMgQEAgdGVzdG1hcnNoYWwuYzogdGVzdG1hcnNoYWwuaCB0ZXN0bWFyc2hhbC5saXN0ICQoZ2xpYl9nZW5tYXJzaGFsKQotIEJVSUxUX1NPVVJDRVMgKz0gdGVzdG1hcnNoYWwuaCB0ZXN0bWFyc2hhbC5jCi0gQ0xFQU5GSUxFUyArPSBzdGFtcC10ZXN0bWFyc2hhbC5oIHRlc3RtYXJzaGFsLmggdGVzdG1hcnNoYWwuYwotIEVYVFJBX0RJU1QgKz0gdGVzdGNvbW1vbi5oIHRlc3RtYXJzaGFsLmxpc3QKLS1lbmRpZiAjICFDUk9TU19DT01QSUxJTkcKLVwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9jb25maWd1cmUtbGlidG9vbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvY29uZmlndXJlLWxpYnRvb2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5Yjg5MTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9jb25maWd1cmUtbGlidG9vbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLUZyb20gMWRkMWU2ZGRjYTVkZWFkYTA0OWJhYzJlMWVlMWZlNGVjYzUzNDJjNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMjggQXByIDIwMTIgMTg6MjQ6NTAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAwMS8xMF0gY29uZmlndXJlOiB1c2UgJGhvc3RfYWxpYXMtbGlidG9vbCBpbnN0ZWFkIG9mIGxpYnRvb2wKLSBkaXJlY3RseQotCi1Qb2t5IHJlbmFtZXMgbGlidG9vbCB0byAkaG9zdF9hbGlhcy1saWJ0b29sLgotLi8kaG9zdF9hbGlhcy1saWJ0b29sIGlzbid0IGNyZWF0ZWQgdW50aWwgYWZ0ZXIgY29uZmlndXJlIHJ1bnMgd2l0aAotbGlidG9vbCA+PSAyLjIuMgotc28gd2UgY2FuJ3QgY2FsbCAjIGl0IGF0IHRoaXMgcG9pbnQuIFdlIGNhbiBzYWZlbHkgYXNzdW1lIGEgdmVyc2lvbiBpcwotYXZhaWxhYmxlCi1mcm9tIFBBVEggdGhvdWdoCi0KLVJlYmFzZWQgdG8gZ2xpYi0yLjI3LjMgYnkgRG9uZ3hpYW8gWHUgPGRvbmd4aWFvLnh1QGludGVsLmNvbT4KLVJlYmFzZWQgdG8gZ2xpYi0yLjMyLjEgYnkgTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotUmViYXNlZCB0byBnbGliLTIuMzEuMjArIGJ5IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KLQotU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotCi0tLS0KLSBjb25maWd1cmUuYWMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCA2ZmE2ZWIwLi5iNmY3OGE2IDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0xNDI4LDkgKzE0MjgsOSBAQCBBU19JRihbIHRlc3QgIiRHX01PRFVMRV9JTVBMIiA9ICJHX01PRFVMRV9JTVBMX0RMIiBdLCBbCi0gCUxERkxBR1M9IiRMREZMQUdTICRHX01PRFVMRV9MREZMQUdTIgotIGRubCAqKiogY2hlY2sgZm9yIE9TRjEvNS4wIFJUTERfR0xPQkFMIGJyb2tlbm5lc3MKLSAJZWNobyAidm9pZCBnbGliX3BsdWdpbl90ZXN0KHZvaWQpIHsgfSIgPiBwbHVnaW4uYwotLQkke1NIRUxMfSAuL2xpYnRvb2wgLS1tb2RlPWNvbXBpbGUgLS10YWc9Q0MgJHtDQ30gJHtDRkxBR1N9IFwKLSsJJHtTSEVMTH0gLi8kaG9zdF9hbGlhcy1saWJ0b29sIC0tbW9kZT1jb21waWxlIC0tdGFnPUNDICR7Q0N9ICR7Q0ZMQUdTfSBcCi0gCQkke0NQUEZMQUdTfSAtYyAtbyBwbHVnaW4ubG8gcGx1Z2luLmMgPi9kZXYvbnVsbCAyPiYxCi0tCSR7U0hFTEx9IC4vbGlidG9vbCAtLW1vZGU9bGluayAtLXRhZz1DQyAke0NDfSAke0NGTEFHU30gXAotKwkke1NIRUxMfSAuLyRob3N0X2FsaWFzLWxpYnRvb2wgLS1tb2RlPWxpbmsgLS10YWc9Q0MgJHtDQ30gJHtDRkxBR1N9IFwKLSAJCSR7TERGTEFHU30gLW1vZHVsZSAtbyBwbHVnaW4ubGEgLWV4cG9ydC1keW5hbWljIFwKLSAJCS1zaHJleHQgIi5vIiAtYXZvaWQtdmVyc2lvbiBwbHVnaW4ubG8gXAotIAkJLXJwYXRoIC9kb250L2NhcmUgPi9kZXYvbnVsbCAyPiYxCi0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL2RhdGUtbHQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL2RhdGUtbHQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkMGFmZjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9kYXRlLWx0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotVXBkYXRlIExpdGh1YW5pYW4gbW9udGggbmFtZXMgaW4gdGhlIHRlc3Qgc3VpdGUgYXMgZ2xpYmMgY2hhbmdlZCB0aGUgdHJhbnNsYXRpb25zLgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dsaWIvbWVyZ2VfcmVxdWVzdHMvMzczXQotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotZGlmZiAtLWdpdCBhL2dsaWIvdGVzdHMvZGF0ZS5jIGIvZ2xpYi90ZXN0cy9kYXRlLmMKLWluZGV4IGI4MDFjYTcwNC4uNjY0NmMyMjdjIDEwMDY0NAotLS0tIGEvZ2xpYi90ZXN0cy9kYXRlLmMKLSsrKyBiL2dsaWIvdGVzdHMvZGF0ZS5jCi1AQCAtMzY1LDggKzM2NSw4IEBAIHRlc3RfbW9udGhfbmFtZXMgKHZvaWQpCi0gICAgICAgVEVTVF9EQVRFICggMSwgIDQsIDIwMTgsICAgICAgIiVZIG0uICVPQiIsICAgICAgIjIwMTggbS4gYmFsYW5kaXMiKTsKLSAgICAgICBURVNUX0RBVEUgKCAxLCAgNSwgMjAxOCwgICAgICAiJVkgbS4gJU9CIiwgICAgICAgICIyMDE4IG0uIGdlZ3XFvsSXIik7Ci0gICAgICAgVEVTVF9EQVRFICggMSwgIDYsIDIwMTgsICAgICAgIiVZIG0uICVPQiIsICAgICAgIjIwMTggbS4gYmlyxb5lbGlzIik7Ci0tICAgICAgVEVTVF9EQVRFICgxNywgIDcsIDIwMTgsICIlWSBtLiAlYiAlZSBkLiIsICAgICAiMjAxOCBtLiBMaWUgMTcgZC4iKTsKLS0gICAgICBURVNUX0RBVEUgKCAxLCAgOCwgMjAxOCwgICAgICAiJVkgbS4gJU9iIiwgICAgICAgICAgICIyMDE4IG0uIFJncCIpOwotKyAgICAgIFRFU1RfREFURSAoMTcsICA3LCAyMDE4LCAiJVkgbS4gJWIgJWUgZC4iLCAgICIyMDE4IG0uIExpZXAuIDE3IGQuIik7Ci0rICAgICAgVEVTVF9EQVRFICggMSwgIDgsIDIwMTgsICAgICAgIiVZIG0uICVPYiIsICAgICAgICAgIjIwMTggbS4gcnVncC4iKTsKLSAgICAgfQotICAgZWxzZQotICAgICBnX3Rlc3Rfc2tpcCAoImxvY2FsZSBsdF9MVCBub3QgYXZhaWxhYmxlLCBza2lwcGluZyBMaXRodWFuaWFuIG1vbnRoIG5hbWVzIHRlc3QiKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvZ2xpYi1tZXNvbi5jcm9zcyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvZ2xpYi1tZXNvbi5jcm9zcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDIwZjk4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9nbGliLW1lc29uLmNyb3NzCkBAIC0wLDAgKzEsNiBAQAorW3Byb3BlcnRpZXNdCitoYXZlX2M5OV92c25wcmludGYgPSB0cnVlCitoYXZlX2M5OV9zbnByaW50ZiA9IHRydWUKK2hhdmVfdW5peDk4X3ByaW50ZiA9IHRydWUKK3ZhX3ZhbF9jb3B5ID0gdHJ1ZQorZ3Jvd2luZ19zdGFjayA9IGZhbHNlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL3JlbG9jYXRlLW1vZHVsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL3JlbG9jYXRlLW1vZHVsZXMucGF0Y2gKaW5kZXggZjk3OTRkMy4uYTRlMGM5MiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9yZWxvY2F0ZS1tb2R1bGVzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvcmVsb2NhdGUtbW9kdWxlcy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gODMyNjk2MTg0MWY0ZDE2YzcyMzllNzQ3ZGUxMWUzODE3YzM1Y2ZkMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gOWQ5ODU4MDNjNTBjZmI5OTI1M2M3NTc5MzQ5ODVmOTM3ZGEzNDgyMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CiBEYXRlOiBGcmksIDExIE1hciAyMDE2IDE1OjM1OjU1ICswMDAwCiBTdWJqZWN0OiBbUEFUQ0hdIGdsaWItMi4wOiByZWxvY2F0ZSB0aGUgR0lPIG1vZHVsZSBkaXJlY3RvcnkgZm9yIG5hdGl2ZSBidWlsZHMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9ydW4tcHRlc3QKaW5kZXggNWI4NWU4Zi4uOGYwODJkMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9ydW4tcHRlc3QKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9ydW4tcHRlc3QKQEAgLTEsNSArMSw2IEBACiAjISAvYmluL3NoCiAKK3NldCAtZXV4CiB1c2VyYWRkIGdsaWIyLXRlc3QKIHN1IGdsaWIyLXRlc3QgLWMgZ25vbWUtZGVza3RvcC10ZXN0aW5nLXJ1bm5lciBnbGliCiB1c2VyZGVsIGdsaWIyLXRlc3QKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjBfMi41OC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMF8yLjU4LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyNzFhN2MuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMF8yLjU4LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1yZXF1aXJlIGdsaWIuaW5jCi0KLVBFID0gIjEiCi0KLVNIUlRfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCi0KLVNSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L2dsaWIvJHtTSFJUX1ZFUn0vZ2xpYi0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLWxpYnRvb2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovL3VjbGliY19tdXNsX3RyYW5zbGF0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtUmVtb3ZlLXRoZS13YXJuaW5nLWFib3V0LWRlcHJlY2F0ZWQtcGF0aHMtaW4tc2NoZW1hcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9FbmFibGUtbW9yZS10ZXN0cy13aGlsZS1jcm9zcy1jb21waWxpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1JbnN0YWxsLWdpby1xdWVyeW1vZHVsZXMtYXMtbGliZXhlY19QUk9HUkFNLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWlnbm9yZS1yZXR1cm4tdmFsdWUtb2Ytd3JpdGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMC1Eby1ub3QtaGFyZGNvZGUtcHl0aG9uLXBhdGgtaW50by12YXJpb3VzLXRvb2xzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2RhdGUtbHQucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovL3JlbG9jYXRlLW1vZHVsZXMucGF0Y2giCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5YjVkMjFjODAyZjU1YmYzNzE3MWM0ZmJmZTdkMzJkMSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJjMGY0Y2UwNzMwYjRmOTVjNDdiNzExNjEzYjU0MDZhODg3YzJlZTEzZWE2ZDI1OTMwZDcyYTRmYTdmZGI3N2Y2IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMF8yLjU4LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wXzIuNTguMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzNhMmQ0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMF8yLjU4LjMuYmIKQEAgLTAsMCArMSwyNiBAQAorcmVxdWlyZSBnbGliLmluYworCitQRSA9ICIxIgorCitTSFJUX1ZFUiA9ICIke0BvZS51dGlscy50cmltX3ZlcnNpb24oIiR7UFZ9IiwgMil9IgorCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS9nbGliLyR7U0hSVF9WRVJ9L2dsaWItJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly91Y2xpYmNfbXVzbF90cmFuc2xhdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9FbmFibGUtbW9yZS10ZXN0cy13aGlsZS1jcm9zcy1jb21waWxpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1SZW1vdmUtdGhlLXdhcm5pbmctYWJvdXQtZGVwcmVjYXRlZC1wYXRocy1pbi1zY2hlbWFzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtSW5zdGFsbC1naW8tcXVlcnltb2R1bGVzLWFzLWxpYmV4ZWNfUFJPR1JBTS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1pZ25vcmUtcmV0dXJuLXZhbHVlLW9mLXdyaXRlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTAtRG8tbm90LWhhcmRjb2RlLXB5dGhvbi1wYXRoLWludG8tdmFyaW91cy10b29scy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVJldmVydC1Vc2UtYWJzb2x1dGUtcGF0aHMtaW4tcGtnLWNvbmZpZy1maWxlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVNldC1ob3N0X21hY2hpbmUtY29ycmVjdGx5LXdoZW4tYnVpbGRpbmctd2l0aC1taW5ndzMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3Qtd3JpdGUtYmluZGlyLWludG8tcGtnLWNvbmZpZy1maWxlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1lc29uLmJ1aWxkLWRvLW5vdC1oYXJkY29kZS1saW51eC1hcy10aGUtaG9zdC1zeXN0ZW0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1tZXNvbi1kby1hLWJ1aWxkLXRpbWUtY2hlY2stZm9yLXN0cmxjcHktYmVmb3JlLWF0dGVtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2dsaWItbWVzb24uY3Jvc3MgXAorICAgICAgICAgICAiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovL3JlbG9jYXRlLW1vZHVsZXMucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4MDU4YzdiZGU4NDZkY2ZmZTVmYTQ1M2VjYTM2NmQ3MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZjQzYzMxNzY3ZTg4YTI1ZGE3MmI1MmE0MGYzMzAxZmVmYzQ5YTY2NWI1NmRjMTBlZTdjYzk1NjVjYmU3NDgxIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi5pbmMKaW5kZXggZTgyMTVkYS4uNTc0YmIzOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWIuaW5jCkBAIC0yMiwzNCArMjIsMzggQEAKICAgICAgICAgICAgdmlydHVhbC9saWJpbnRsIFwKICAgICAgICAgICAgdmlydHVhbC9saWJpY29udiBcCiAgICAgICAgICAgIGxpYmZmaSBcCi0gICAgICAgICAgIHpsaWIgXAotICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUFRFU1RfRU5BQkxFRCcsICcxJywgJ2RidXMnLCAnJywgZCl9IgorICAgICAgICAgICB6bGliIgogCiBQQUNLQUdFUyArPSAiJHtQTn0tY29kZWdlbiAke1BOfS11dGlscyIKIAogTEVBRF9TT05BTUUgPSAibGliZ2xpYi0yLjAuKiIKIAotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBndGstZG9jIHBrZ2NvbmZpZyBwdGVzdC1nbm9tZSB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gYmFzaC1jb21wbGV0aW9uIGdpby1tb2R1bGUtY2FjaGUgbWFucGFnZXMKK2luaGVyaXQgbWVzb24gZ2V0dGV4dCBndGstZG9jIHBrZ2NvbmZpZyBwdGVzdC1nbm9tZSB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gYmFzaC1jb21wbGV0aW9uIGdpby1tb2R1bGUtY2FjaGUgbWFucGFnZXMgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK0dUS0RPQ19FTkFCTEVfRkxBRyA9ICItRGd0a19kb2M9dHJ1ZSIKK0dUS0RPQ19ESVNBQkxFX0ZMQUcgPSAiLURndGtfZG9jPWZhbHNlIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJyR7R1RLRE9DX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHVEtET0NfRElTQUJMRV9GTEFHfScsIGQpfSAiCisKKyMgVGhpcyBhdm9pZHMgdGhlIG5lZWQgdG8gZGVwZW5kIG9uIHRhcmdldCBweXRob24zLCB3aGljaCBpbiBjYXNlIG9mIG1pbmd3IGlzIG5vdCBldmVuIHBvc3NpYmxlLgorIyBtZXNvbidzIHB5dGhvbiBjb25maWd1cmF0aW9uIHBva2VzIGludG8gcHl0aG9uMyBjb25maWd1cmF0aW9uLCBzbyB0aGlzIHByb3ZpZGVzIHRoZSBuYXRpdmUgY29uZmlnIHRvIGl0LgordW5zZXQgX1BZVEhPTl9TWVNDT05GSUdEQVRBX05BTUUKIAogUyA9ICIke1dPUktESVJ9L2dsaWItJHtQVn0iCiAKLVBBQ0tBR0VDT05GSUcgPz89ICJzeXN0ZW0tcGNyZSBsaWJtb3VudCIKK1BBQ0tBR0VDT05GSUcgPz89ICJzeXN0ZW0tcGNyZSBsaWJtb3VudCBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BURVNUX0VOQUJMRUQnLCAnMScsICd0ZXN0cycsICcnLCBkKX0iCiAjIFRvIHVzZSB0aGUgc3lzdGVtIHBjcmUgaXQgbXVzdCBiZSBjb25maWd1cmVkIHdpdGggLS1lbmFibGUtdW5pY29kZS1wcm9wZXJ0aWVzCi1QQUNLQUdFQ09ORklHW3N5c3RlbS1wY3JlXSA9ICItLXdpdGgtcGNyZT1zeXN0ZW0sLS13aXRoLXBjcmU9aW50ZXJuYWwsbGlicGNyZSIKLVBBQ0tBR0VDT05GSUdbbGlibW91bnRdID0gIi0tZW5hYmxlLWxpYm1vdW50LC0tZGlzYWJsZS1saWJtb3VudCx1dGlsLWxpbnV4IgotUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS1lbmFibGUtbWFuIC0td2l0aC14bWwtY2F0YWxvZz0ke1NUQUdJTkdfRVRDRElSX05BVElWRX0veG1sL2NhdGFsb2cueG1sLCAtLWRpc2FibGUtbWFuLCBsaWJ4c2x0LW5hdGl2ZSB4bWx0by1uYXRpdmUiCi1QQUNLQUdFQ09ORklHW2xpYmVsZl0gPSAiLS1lbmFibGUtbGliZWxmLC0tZGlzYWJsZS1saWJlbGYsZWxmdXRpbHMiCitQQUNLQUdFQ09ORklHW3N5c3RlbS1wY3JlXSA9ICItRGludGVybmFsX3BjcmU9ZmFsc2UsLURpbnRlcm5hbF9wY3JlPXRydWUsbGlicGNyZSIKK1BBQ0tBR0VDT05GSUdbbGlibW91bnRdID0gIi1EbGlibW91bnQ9dHJ1ZSwtRGxpYm1vdW50PWZhbHNlLHV0aWwtbGludXgiCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItRG1hbj10cnVlLCAtRG1hbj1mYWxzZSwgbGlieHNsdC1uYXRpdmUgeG1sdG8tbmF0aXZlIgorIyBsaWJlbGYgaXMgYXV0by1kZXRlY3RlZCB3aXRob3V0IGEgY29uZmlndXJhdGlvbiBvcHRpb24KK1BBQ0tBR0VDT05GSUdbbGliZWxmXSA9ICIsLGVsZnV0aWxzIgorUEFDS0FHRUNPTkZJR1t0ZXN0c10gPSAiLURpbnN0YWxsZWRfdGVzdHM9dHJ1ZSwtRGluc3RhbGxlZF90ZXN0cz1mYWxzZSxkYnVzIgogCi1DT1JFQ09ORiA9ICItLWRpc2FibGUtZHRyYWNlIC0tZGlzYWJsZS1mYW0gLS1kaXNhYmxlLXN5c3RlbXRhcCIKLQotUFJJTlRGID0gIi0tZW5hYmxlLWluY2x1ZGVkLXByaW50Zj1ubyIKLVBSSU5URl9kYXJ3aW4gPSAiLS1lbmFibGUtaW5jbHVkZWQtcHJpbnRmPXllcyIKLVBSSU5URl9taW5ndzMyID0gIi0tZW5hYmxlLWluY2x1ZGVkLXByaW50Zj15ZXMiCi1FWFRSQV9PRUNPTkYgPSAiJHtQUklOVEZ9ICR7Q09SRUNPTkZ9IgotRVhUUkFfT0VDT05GX2NsYXNzLW5hdGl2ZSA9ICIke0NPUkVDT05GfSAtLWRpc2FibGUtc2VsaW51eCIKLQotIyBUZWxsIGNvbmZpZ3VyZSB0aGF0IHdlJ2xsIGhhdmUgZGJ1cy1kYWVtb24gb24gdGhlIHRhcmdldCBmb3IgdGhlIHRlc3RzCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BURVNUX0VOQUJMRUQnLCAnMScsICcgYWNfY3ZfcHJvZ19EQlVTX0RBRU1PTj1kYnVzLWRhZW1vbicsICcnLCBkKX0iCitFWFRSQV9PRU1FU09OID0gIi1EZHRyYWNlPWZhbHNlIC1EZmFtPWZhbHNlIC1Ec3lzdGVtdGFwPWZhbHNlIC1Ec2VsaW51eD1mYWxzZSIKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgLS1jcm9zcy1maWxlICR7V09SS0RJUn0vZ2xpYi1tZXNvbi5jcm9zcyIKIAogZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CiAJc2VkIC1pIC1lICcxcywjIS4qLCMhJHtVU1JCSU5QQVRIfS9lbnYgcHl0aG9uMywnICR7U30vZ2lvL2dkYnVzLTIuMC9jb2RlZ2VuL2dkYnVzLWNvZGVnZW4uaW4KQEAgLTc1LDkgKzc5LDEyIEBACiAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9nZGJ1cy1jb2RlZ2VuIgogRklMRVNfJHtQTn0tdXRpbHMgPSAiJHtiaW5kaXJ9LyoiCiAKLVJSRUNPTU1FTkRTXyR7UE59ICs9ICJzaGFyZWQtbWltZS1pbmZvIgorU0hBUkVETUlNRURFUCA9ICJzaGFyZWQtbWltZS1pbmZvIgorU0hBUkVETUlNRURFUF9jbGFzcy1uYXRpdmUgPSAiIgogIyBXaGVuIGNyb3NzIGNvbXBpbGluZyBmb3IgV2luZG93cyB3ZSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhpcwotUlJFQ09NTUVORFNfJHtQTn1fcmVtb3ZlX21pbmd3MzIgPSAic2hhcmVkLW1pbWUtaW5mbyIKK1NIQVJFRE1JTUVERVBfbWluZ3czMiA9ICIiCisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICIke1NIQVJFRE1JTUVERVB9IgogCiBBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKIEFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgpAQCAtMTEyLDYgKzExOSw4IEBACiAgICAgICAgIGlmIHRlc3QgIngke01MUFJFRklYfSIgIT0gIngiOyB0aGVuCiAgICAgICAgICAgICAgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vZ2lvLXF1ZXJ5bW9kdWxlcyR7RVhFRVhUfSAke0R9JHtsaWJleGVjZGlyfS8ke01MUFJFRklYfWdpby1xdWVyeW1vZHVsZXMke0VYRUVYVH0KICAgICAgICAgZmkKKyAgICAgICAgIyBBdXRvdG9vbHMgZG9lcyB0aGlzLCBtZXNvbiBkb2VzIG5vdAorICAgICAgICBta2RpciAtcCAke0R9JHtsaWJkaXJ9L2dpby9tb2R1bGVzCiB9CiAKIGRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCAoKSB7CkBAIC0xMjQsNiArMTMzLDExIEBACiAJZmkKIH0KIAorIyBBcyB3ZSBkbyBub3QgYnVpbGQgcHl0aG9uMyBmb3Igd2luZG93cywgbWFrZXMgbm8gc2Vuc2UgdG8gc2hpcCB0aGUgc2NyaXB0IHRoYXQncyB1c2luZyBpdAorZG9faW5zdGFsbF9hcHBlbmRfbWluZ3czMigpIHsKKyAgICAgICAgcm0gLWYgJHtEfSR7YmluZGlyfS9ndGVzdGVyLXJlcG9ydAorfQorCiBDT0RFR0VOX1BZVEhPTl9SREVQRU5EUyA9ICJweXRob24zIHB5dGhvbjMtZGlzdHV0aWxzIHB5dGhvbjMteG1sIgogQ09ERUdFTl9QWVRIT05fUkRFUEVORFNfbWluZ3czMiA9ICIiCiAKQEAgLTE0MCw4ICsxNTQsNiBAQAogICAgICAgICAgICAgc2hhcmVkLW1pbWUtaW5mbyBcCiAgICAgICAgICAgICIKIAotIyBXaGVuIGh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbGliL2lzc3Vlcy8xMzQzIGlzCi0jIGZpeGVkIGFkZCBsb2NhbGUtYmFzZS1wbC1wbAogUkRFUEVORFNfJHtQTn0tcHRlc3RfYXBwZW5kX2xpYmMtZ2xpYmMgPSAiXAogICAgICAgICAgICAgZ2xpYmMtZ2NvbnYtdXRmLTE2IFwKICAgICAgICAgICAgIGdsaWJjLWNoYXJtYXAtdXRmLTggXApAQCAtMTY1LDYgKzE3Nyw1IEBACiAgICAgICAgICAgICBsb2NhbGUtYmFzZS1mci1mciBcCiAgICAgICAgICAgICBsb2NhbGUtYmFzZS1lcy1lcyBcCiAgICAgICAgICAgICBsb2NhbGUtYmFzZS1lbi1nYiBcCisgICAgICAgICAgICBsb2NhbGUtYmFzZS1wbC1wbCBcCiAgICAgICAgICAgICIKLQotSU5TQU5FX1NLSVBfJHtQTn0tcHRlc3QgKz0gImxpYmRpciIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi1uZXR3b3JraW5nL2dsaWItbmV0d29ya2luZ18yLjU0LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItbmV0d29ya2luZy9nbGliLW5ldHdvcmtpbmdfMi41NC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZDE3YTgyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi1uZXR3b3JraW5nL2dsaWItbmV0d29ya2luZ18yLjU0LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1TVU1NQVJZID0gIkdMaWIgbmV0d29ya2luZyBleHRlbnNpb25zIgotREVTQ1JJUFRJT04gPSAiZ2xpYi1uZXR3b3JraW5nIGNvbnRhaW5zIHRoZSBpbXBsZW1lbnRhdGlvbnMgb2YgY2VydGFpbiBHTGliIG5ldHdvcmtpbmcgZmVhdHVyZXMgdGhhdCBjYW5ub3QgYmUgaW1wbGVtZW50ZWQgZGlyZWN0bHkgaW4gR0xpYiBpdHNlbGYgYmVjYXVzZSBvZiB0aGVpciBkZXBlbmRlbmNpZXMuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dsaWItbmV0d29ya2luZy8iCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmciCi0KLUxJQ0VOU0UgPSAiTEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIiCi0KLVNFQ1RJT04gPSAibGlicyIKLURFUEVORFMgPSAiZ2xpYi0yLjAiCi0KLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjk5ODY3NDYzZjE4MmMyNzY3YmNlMGM3NGJjOWNjOTgxIgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZWFhNzg3YjY1MzAxNWEwZGUzMWM5MjhlOWExN2ViNTdiNGNlMjNjOGNmNmYyNzdhZmFlYzBkNjg1MzM1MDEyZiIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gImNhLWNlcnRpZmljYXRlcyBnbnV0bHMiCi0KLSMgTm8gZXhwbGljaXQgZGVwZW5kZW5jeSBhcyBpdCB3b3JrcyB3aXRob3V0IGNhLWNlcnRpZmljYXRlcyBpbnN0YWxsZWQKLVBBQ0tBR0VDT05GSUdbY2EtY2VydGlmaWNhdGVzXSA9ICItLXdpdGgtY2EtY2VydGlmaWNhdGVzPSR7c3lzY29uZmRpcn0vc3NsL2NlcnRzL2NhLWNlcnRpZmljYXRlcy5jcnQsLS13aXRob3V0LWNhLWNlcnRpZmljYXRlcyIKLVBBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItLXdpdGgtZ251dGxzLC0td2l0aG91dC1nbnV0bHMsZ251dGxzIgotUEFDS0FHRUNPTkZJR1tsaWJwcm94eV0gPSAiLS13aXRoLWxpYnByb3h5LC0td2l0aG91dC1saWJwcm94eSxsaWJwcm94eSIKLVBBQ0tBR0VDT05GSUdbcGtjczExXSA9ICItLXdpdGgtcGtjczExLC0td2l0aG91dC1wa2NzMTEscDExLWtpdCIKLQotRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC1nbm9tZS1wcm94eSIKLQotaW5oZXJpdCBnbm9tZWJhc2UgZ2V0dGV4dCB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ2lvLW1vZHVsZS1jYWNoZQotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dpby9tb2R1bGVzL2xpYmdpbyouc28gJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMvIgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvbGliZ2lvKi5sYSIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2dpby9tb2R1bGVzL2xpYmdpbyouYSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi1uZXR3b3JraW5nL2dsaWItbmV0d29ya2luZ18yLjU4LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItbmV0d29ya2luZy9nbGliLW5ldHdvcmtpbmdfMi41OC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzMTkwZTEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItbmV0d29ya2luZy9nbGliLW5ldHdvcmtpbmdfMi41OC4wLmJiCkBAIC0wLDAgKzEsMzEgQEAKK1NVTU1BUlkgPSAiR0xpYiBuZXR3b3JraW5nIGV4dGVuc2lvbnMiCitERVNDUklQVElPTiA9ICJnbGliLW5ldHdvcmtpbmcgY29udGFpbnMgdGhlIGltcGxlbWVudGF0aW9ucyBvZiBjZXJ0YWluIEdMaWIgbmV0d29ya2luZyBmZWF0dXJlcyB0aGF0IGNhbm5vdCBiZSBpbXBsZW1lbnRlZCBkaXJlY3RseSBpbiBHTGliIGl0c2VsZiBiZWNhdXNlIG9mIHRoZWlyIGRlcGVuZGVuY2llcy4iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ2xpYi1uZXR3b3JraW5nLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gImdsaWItMi4wIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI3NWIxNGI3ZTczYTY3NzUzYmU5Y2UzMDc3NTFjNjYxZCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImJkZmEwMjU1ZTAzMWI4ZWUwMDNjYzI4MzAwMjUzNmI3N2VlNzY0NTAxMDVmMWRjNmFiMDY2YjliZjQzMzAwNjgiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJnbnV0bHMiCisKK1BBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItRGdudXRscz10cnVlLC1EZ251dGxzPWZhbHNlLGdudXRscyIKK1BBQ0tBR0VDT05GSUdbbGlicHJveHldID0gIi1EbGlicHJveHlfc3VwcG9ydD10cnVlLC1EbGlicHJveHlfc3VwcG9ydD1mYWxzZSxsaWJwcm94eSIKKworRVhUUkFfT0VNRVNPTiA9ICItRGdub21lX3Byb3h5X3N1cHBvcnQ9ZmFsc2UiCisKK0dOT01FQkFTRUJVSUxEQ0xBU1MgPSAibWVzb24iCitpbmhlcml0IGdub21lYmFzZSBnZXR0ZXh0IHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnaW8tbW9kdWxlLWNhY2hlCisKK0ZJTEVTXyR7UE59ICs9ICJcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2dpby9tb2R1bGVzL2xpYmdpbyouc28gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzLyBcCisgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAorICAgICAgICAgICAgICAgICIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2dpby9tb2R1bGVzL2xpYmdpbyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9naW8vbW9kdWxlcy9saWJnaW8qLmEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2Nyb3NzLWxvY2FsZWRlZi1uYXRpdmVfMi4yOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvY3Jvc3MtbG9jYWxlZGVmLW5hdGl2ZV8yLjI4LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMDViOTRlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvY3Jvc3MtbG9jYWxlZGVmLW5hdGl2ZV8yLjI4LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotU1VNTUFSWSA9ICJDcm9zcyBsb2NhbGUgZ2VuZXJhdGlvbiB0b29sIGZvciBnbGliYyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJjL2xpYmMuaHRtbCIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTEdQTC0yLjEiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0VTO21kNT1jZmMwZWQ3N2E5ZjYyZmE2MmVkZWQwNDJlYmUzMWQ3MiBcCi0gICAgICBmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgICAgZmlsZTovL3Bvc2l4L3J4c3BlbmNlci9DT1BZUklHSFQ7bWQ1PWRjNTQ4NWJiMzk0YTEzYjIzMzJlYzFjNzg1ZjVkODNhIFwKLSAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCi0KLSMgVGVsbCBhdXRvdG9vbHMgdGhhdCB3ZSdyZSB3b3JraW5nIGluIHRoZSBsb2NhbGVkZWYgZGlyZWN0b3J5Ci0jCi1BVVRPVE9PTFNfU0NSSVBUX1BBVEggPSAiJHtTfS9sb2NhbGVkZWYiCi0KLWluaGVyaXQgbmF0aXZlCi1pbmhlcml0IGF1dG90b29scwotCi1GSUxFU0VYVFJBUEFUSFMgPS4gIiR7RklMRV9ESVJOQU1FfS8ke1BOfToke0ZJTEVfRElSTkFNRX0vZ2xpYmM6IgotCi1TUkNCUkFOQ0ggPz0gInJlbGVhc2UvJHtQVn0vbWFzdGVyIgotR0xJQkNfR0lUX1VSSSA/PSAiZ2l0Oi8vc291cmNld2FyZS5vcmcvZ2l0L2dsaWJjLmdpdCIKLVVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIig/UDxwdmVyPlxkK1wuXGQrKFwuKD8hOTApXGQrKSopIgotCi1TUkNSRVZfZ2xpYmMgPz0gIjNjMDNiYWNhMzdmZGNiNTJjMzg4MWU2NTNjYTM5MmJiYTdhOTljMmIiCi1TUkNSRVZfbG9jYWxlZGVmID89ICJjMzI4Nzc3MjE5Y2NjNDgwYmUzMTEyY2Y4MDcyMTdjYTZiNTcwYjY0IgotCi1TUkNfVVJJID0gIiR7R0xJQkNfR0lUX1VSSX07YnJhbmNoPSR7U1JDQlJBTkNIfTtuYW1lPWdsaWJjIFwKLSAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9rcmFqL2xvY2FsZWRlZjticmFuY2g9bWFzdGVyO25hbWU9bG9jYWxlZGVmO2Rlc3RzdWZmaXg9Z2l0L2xvY2FsZWRlZiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE2LXRpbWV6b25lLXJlLXdyaXR0ZW4tdHpzZWxlY3QtYXMtcG9zaXgtc2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNy1SZW1vdmUtYmFzaC1kZXBlbmRlbmN5LWZvci1uc2NkLWluaXQtc2NyaXB0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTgtZWdsaWJjLUNyb3NzLWJ1aWxkaW5nLWFuZC10ZXN0aW5nLWluc3RydWN0aW9ucy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE5LWVnbGliYy1IZWxwLWJvb3RzdHJhcC1jcm9zcy10b29sY2hhaW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMC1lZ2xpYmMtQ2xlYXItY2FjaGUtbGluZXMtb24tcHBjOHh4LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjEtZWdsaWJjLVJlc29sdmUtX19mcHNjcl92YWx1ZXMtb24tU0g0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjItZWdsaWJjLUZvcndhcmQtcG9ydC1jcm9zcy1sb2NhbGUtZ2VuZXJhdGlvbi1zdXBwb3J0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjMtRGVmaW5lLURVTU1ZX0xPQ0FMRV9ULWlmLW5vdC1kZWZpbmVkLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjktbG9jYWxlZGVmLWFkZC10by1hcmNoaXZlLXVzZXMtYS1oYXJkLWNvZGVkLWxvY2FsZS1wYS5wYXRjaCBcCi0iCi0jIE1ha2VzIGZvciBhIHJhdGhlciBsb25nIHJldiAoMjIgY2hhcmFjdGVycyksIGJ1dC4uLgotIwotU1JDUkVWX0ZPUk1BVCA9ICJnbGliY19sb2NhbGVkZWYiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLUVYVFJBX09FQ09ORiA9ICItLXdpdGgtZ2xpYmM9JHtTfSIKLUNGTEFHUyArPSAiLWZnbnU4OS1pbmxpbmUgLXN0ZD1nbnU5OSAtRElTX0lOXCh4XCk9JzAnIgotCi1kb19pbnN0YWxsKCkgewotCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQotCWluc3RhbGwgLW0gMDc1NSAke0J9L2xvY2FsZWRlZiAke0R9JHtiaW5kaXJ9L2Nyb3NzLWxvY2FsZWRlZgotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9jcm9zcy1sb2NhbGVkZWYtbmF0aXZlXzIuMjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2Nyb3NzLWxvY2FsZWRlZi1uYXRpdmVfMi4yOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmM3Y2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9jcm9zcy1sb2NhbGVkZWYtbmF0aXZlXzIuMjkuYmIKQEAgLTAsMCArMSw1MyBAQAorU1VNTUFSWSA9ICJDcm9zcyBsb2NhbGUgZ2VuZXJhdGlvbiB0b29sIGZvciBnbGliYyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJjL2xpYmMuaHRtbCIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTC0yLjEiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0VTO21kNT1jZmMwZWQ3N2E5ZjYyZmE2MmVkZWQwNDJlYmUzMWQ3MiBcCisgICAgICBmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgZmlsZTovL3Bvc2l4L3J4c3BlbmNlci9DT1BZUklHSFQ7bWQ1PWRjNTQ4NWJiMzk0YTEzYjIzMzJlYzFjNzg1ZjVkODNhIFwKKyAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKKyMgVGVsbCBhdXRvdG9vbHMgdGhhdCB3ZSdyZSB3b3JraW5nIGluIHRoZSBsb2NhbGVkZWYgZGlyZWN0b3J5CisjCitBVVRPVE9PTFNfU0NSSVBUX1BBVEggPSAiJHtTfS9sb2NhbGVkZWYiCisKK2luaGVyaXQgbmF0aXZlCitpbmhlcml0IGF1dG90b29scworCitGSUxFU0VYVFJBUEFUSFMgPS4gIiR7RklMRV9ESVJOQU1FfS8ke1BOfToke0ZJTEVfRElSTkFNRX0vZ2xpYmM6IgorCitTUkNCUkFOQ0ggPz0gInJlbGVhc2UvJHtQVn0vbWFzdGVyIgorR0xJQkNfR0lUX1VSSSA/PSAiZ2l0Oi8vc291cmNld2FyZS5vcmcvZ2l0L2dsaWJjLmdpdCIKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIig/UDxwdmVyPlxkK1wuXGQrKFwuKD8hOTApXGQrKSopIgorCitQViA9ICIyLjI5IgorCitTUkNSRVZfZ2xpYmMgPz0gIjg2MDEzZWY1Y2VhMzIyYjhmNGI5YzIyZjIzMGMyMmNjZTM2OWU5NDciCitTUkNSRVZfbG9jYWxlZGVmID89ICJjZDlmOTU4YzRjOTRhNjM4ZmE3YjJiNGUyMTYyNzM2NGYxYTFhNjU1IgorCitTUkNfVVJJID0gIiR7R0xJQkNfR0lUX1VSSX07YnJhbmNoPSR7U1JDQlJBTkNIfTtuYW1lPWdsaWJjIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9rcmFqL2xvY2FsZWRlZjticmFuY2g9bWFzdGVyO25hbWU9bG9jYWxlZGVmO2Rlc3RzdWZmaXg9Z2l0L2xvY2FsZWRlZiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE2LXRpbWV6b25lLXJlLXdyaXR0ZW4tdHpzZWxlY3QtYXMtcG9zaXgtc2gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNy1SZW1vdmUtYmFzaC1kZXBlbmRlbmN5LWZvci1uc2NkLWluaXQtc2NyaXB0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTgtZWdsaWJjLUNyb3NzLWJ1aWxkaW5nLWFuZC10ZXN0aW5nLWluc3RydWN0aW9ucy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE5LWVnbGliYy1IZWxwLWJvb3RzdHJhcC1jcm9zcy10b29sY2hhaW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMC1lZ2xpYmMtQ2xlYXItY2FjaGUtbGluZXMtb24tcHBjOHh4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjEtZWdsaWJjLVJlc29sdmUtX19mcHNjcl92YWx1ZXMtb24tU0g0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjItZWdsaWJjLUZvcndhcmQtcG9ydC1jcm9zcy1sb2NhbGUtZ2VuZXJhdGlvbi1zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjMtRGVmaW5lLURVTU1ZX0xPQ0FMRV9ULWlmLW5vdC1kZWZpbmVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjQtbG9jYWxlZGVmLWFkZC10by1hcmNoaXZlLXVzZXMtYS1oYXJkLWNvZGVkLWxvY2FsZS1wYS5wYXRjaCBcCisiCisjIE1ha2VzIGZvciBhIHJhdGhlciBsb25nIHJldiAoMjIgY2hhcmFjdGVycyksIGJ1dC4uLgorIworU1JDUkVWX0ZPUk1BVCA9ICJnbGliY19sb2NhbGVkZWYiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtZ2xpYmM9JHtTfSIKK0NGTEFHUyArPSAiLWZnbnU4OS1pbmxpbmUgLXN0ZD1nbnU5OSAtRElTX0lOXCh4XCk9JzAnIgorCitkb19pbnN0YWxsKCkgeworCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorCWluc3RhbGwgLW0gMDc1NSAke0J9L2xvY2FsZWRlZiAke0R9JHtiaW5kaXJ9L2Nyb3NzLWxvY2FsZWRlZgorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1jb2xsYXRlcmFsLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtY29sbGF0ZXJhbC5pbmMKaW5kZXggNTM2ZWRmYi4uNTI4ODA3OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1jb2xsYXRlcmFsLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWNvbGxhdGVyYWwuaW5jCkBAIC0xLDE1ICsxLDcgQEAKLUlOSElCSVRfREVGQVVMVF9ERVBTID0gIjEiCi1MSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCi1MSUNfRklMRVNfQ0hLU1VNID89ICJmaWxlOi8vJHtDT01NT05fTElDRU5TRV9ESVJ9L0dQTC0yLjA7bWQ1PTgwMWY4MDk4MGQxNzFkZDY0MjU2MTA4MzNhMjJkYmU2IFwKLSAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPTU1PTl9MSUNFTlNFX0RJUn0vTEdQTC0yLjE7bWQ1PTFhNmQyNjhmZDIxODY3NWZmZWE4YmU1NTY3ODhiNzgwIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYmMvaW5kZXguaHRtbCIKK3JlcXVpcmUgZ2xpYmMtY29tbW9uLmluYwogCi0jIFRoaXMgbmVlZHMgdG8gbWF0Y2ggd2l0aCBnbGliYy5pbmMsIG90aGVyd2lzZSBnbGliYy1zY3JpcHRzIGFuZCBnbGliYy1sb2NhbGUKLSMgd2lsbCBmYWlsIHRvIGZpbmQgbWFpbiBnbGliYywgZm9yIGRldGFpbHMgc2VlCi0jIGh0dHA6Ly9saXN0cy5vcGVuZW1iZWRkZWQub3JnL3BpcGVybWFpbC9vcGVuZW1iZWRkZWQtY29yZS8yMDE1LUphbnVhcnkvMTAwNjc5Lmh0bWwKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY2ID0gImFybSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09NTU9OX0xJQ0VOU0VfRElSfS9HUEwtMi4wO21kNT04MDFmODA5ODBkMTcxZGQ2NDI1NjEwODMzYTIyZGJlNiBcCisgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vJHtDT01NT05fTElDRU5TRV9ESVJ9L0xHUEwtMi4xO21kNT0xYTZkMjY4ZmQyMTg2NzVmZmVhOGJlNTU2Nzg4Yjc4MCIKIAogZGVsdGFzayBkb19mZXRjaAogZGVsdGFzayBkb191bnBhY2sKQEAgLTE4LDYgKzEwLDMgQEAKIGRvX2NvbXBpbGVbbm9leGVjXSA9ICIxIgogCiBkb19pbnN0YWxsW2RlcGVuZHNdICs9ICJ2aXJ0dWFsLyR7TUxQUkVGSVh9bGliYzpkb19zdGFzaF9sb2NhbGUiCi0KLUNPTVBBVElCTEVfSE9TVF9saWJjLW11c2xfY2xhc3MtdGFyZ2V0ID0gIm51bGwiCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtY29tbW9uLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtY29tbW9uLmluYwppbmRleCBiMDVlMTYyLi5jZGVkMzg0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWNvbW1vbi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1jb21tb24uaW5jCkBAIC03LDQgKzcsMTggQEAKICAgICAgIGZpbGU6Ly9DT1BZSU5HO21kNT0zOTNhNWNhNDQ1ZjY5NjU4NzNlY2EwMjU5YTE3ZjgzMyBcCiAgICAgICBmaWxlOi8vcG9zaXgvcnhzcGVuY2VyL0NPUFlSSUdIVDttZDU9ZGM1NDg1YmIzOTRhMTNiMjMzMmVjMWM3ODVmNWQ4M2EgXAogICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT1iYmI0NjEyMTFhMzNiMTM0ZDQyZWQ1ZWU4MDJiMzdmZiAiCisKIENWRV9QUk9EVUNUID0gImdsaWJjIgorCitJTkhJQklUX0RFRkFVTFRfREVQUyA9ICIxIgorCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NiA9ICJhcm0iCisjCisjIFdlIHdpbGwgc2tpcCBwYXJzaW5nIGdsaWJjIHdoZW4gdGFyZ2V0IHN5c3RlbSBDIGxpYnJhcnkgc2VsZWN0aW9uIGlzIG5vdCBnbGliYworIyB0aGlzIGhlbHBzIGluIGVhc2luZyBvdXQgcGFyc2luZyBmb3Igbm9uLWdsaWJjIHN5c3RlbSBsaWJyYXJpZXMKKyMKK0NPTVBBVElCTEVfSE9TVF9saWJjLW11c2xfY2xhc3MtdGFyZ2V0ID0gIm51bGwiCisKK1BWID0gIjIuMjkiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWluaXRpYWwuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1pbml0aWFsLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWNkMGQ2Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWluaXRpYWwuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotREVQRU5EUyA9ICJsaW51eC1saWJjLWhlYWRlcnMgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjLWluaXRpYWwgbGliZ2NjLWluaXRpYWwgbWFrZS1uYXRpdmUgYmlzb24tbmF0aXZlIgotUFJPVklERVMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9bGliYy1pbml0aWFsIgotCi1QQUNLQUdFUyA9ICIiCi1QQUNLQUdFU19EWU5BTUlDID0gIiIKLQotU1RBR0lOR0NDID0gImdjYy1jcm9zcy1pbml0aWFsLSR7VEFSR0VUX0FSQ0h9IgotU1RBR0lOR0NDX2NsYXNzLW5hdGl2ZXNkayA9ICJnY2MtY3Jvc3NzZGstaW5pdGlhbC0ke1NES19TWVN9IgotCi1kb19jb25maWd1cmUgKCkgewotCShjZCAke1N9ICYmIGdudS1jb25maWdpemUpIHx8IGRpZSAiZmFpbHVyZSBpbiBydW5uaW5nIGdudS1jb25maWdpemUiCi0JZmluZCAke1N9IC1uYW1lICJjb25maWd1cmUiIHwgeGFyZ3MgdG91Y2gKLQljZmdzY3JpcHQ9YHB5dGhvbjMgLWMgImltcG9ydCBvczsgcHJpbnQob3MucGF0aC5yZWxwYXRoKCcke1N9JywgJy4nKSkiYC9jb25maWd1cmUKLQkkY2Znc2NyaXB0IC0taG9zdD0ke1RBUkdFVF9TWVN9IC0tYnVpbGQ9JHtCVUlMRF9TWVN9IFwKLQkJLS1wcmVmaXg9L3VzciBcCi0JCS0tZGlzYWJsZS1zYW5pdHktY2hlY2tzIFwKLQkJLS13aXRoLWhlYWRlcnM9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtpbmNsdWRlZGlyfSBcCi0JCS0tZW5hYmxlLWhhY2tlci1tb2RlCi19Ci0KLWRvX2NvbXBpbGUgKCkgewotCToKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0Jb2VfcnVubWFrZSBjcm9zcy1jb21waWxpbmc9eWVzIGluc3RhbGxfcm9vdD0ke0R9IFwKLQlpbmNsdWRlZGlyPScke2luY2x1ZGVkaXJ9JyBwcmVmaXg9JyR7cHJlZml4fScgXAotCWluc3RhbGwtYm9vdHN0cmFwLWhlYWRlcnM9eWVzIGluc3RhbGwtaGVhZGVycwotCi0Jb2VfcnVubWFrZSBjc3Uvc3ViZGlyX2xpYgotCW1rZGlyIC1wICR7RH0ke2xpYmRpcn0vCi0JaW5zdGFsbCAtbSA2NDQgY3N1L2NydFsxaW5dLm8gJHtEfSR7bGliZGlyfQotCi0JIyBUd28gaGVhZGVycyAtLSBzdHVicy5oIGFuZCBmZWF0dXJlcy5oIC0tIGFyZW4ndCBpbnN0YWxsZWQgYnkgaW5zdGFsbC1oZWFkZXJzLAotCSMgc28gZG8gdGhlbSBieSBoYW5kLiAgV2UgY2FuIHRvbGVyYXRlIGFuIGVtcHR5IHN0dWJzLmggZm9yIHRoZSBtb21lbnQuCi0JIyBTZWUgZS5nLiBodHRwOi8vZ2NjLmdudS5vcmcvbWwvZ2NjLzIwMDItMDEvbXNnMDA5MDAuaHRtbAotCW1rZGlyIC1wICR7RH0ke2luY2x1ZGVkaXJ9L2dudS8KLQl0b3VjaCAke0R9JHtpbmNsdWRlZGlyfS9nbnUvc3R1YnMuaAotCWNwICR7U30vaW5jbHVkZS9mZWF0dXJlcy5oICR7RH0ke2luY2x1ZGVkaXJ9L2ZlYXR1cmVzLmgKLQotCWlmIFsgLWUgJHtCfS9iaXRzL3N0ZGlvX2xpbS5oIF07IHRoZW4KLQkJY3AgJHtCfS9iaXRzL3N0ZGlvX2xpbS5oICAke0R9JHtpbmNsdWRlZGlyfS9iaXRzLwotCWZpCi19Ci0KLWRvX3N0YXNoX2xvY2FsZSgpIHsKLQk6Ci19Ci0KLWRvX3NpdGVjb25maWcgKCkgewotCToKLX0KLQotaW5oZXJpdCBub3BhY2thZ2VzCi0KLSMgV2UgcmVhbGx5IG9ubHkgd2FudCB0aGlzIGJ1aWx0IGJ5IHRoaW5ncyB0aGF0IG5lZWQgaXQsIG5vdCBhbnkgcmVjcmRlcHRhc2sKLWRlbHRhc2sgZG9fYnVpbGQKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtaW5pdGlhbF8yLjI4LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1pbml0aWFsXzIuMjguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU4Njc3MGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1pbml0aWFsXzIuMjguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLXJlcXVpcmUgZ2xpYmNfJHtQVn0uYmIKLXJlcXVpcmUgZ2xpYmMtaW5pdGlhbC5pbmMKLQotIyBtYWluIGdsaWJjIHJlY2lwZXMgbXVjayB3aXRoIFRBUkdFVF9DUFBGTEFHUyB0byBwb2ludCBpbnRvCi0jIGZpbmFsIHRhcmdldCBzeXNyb290IGJ1dCB3ZQotIyBhcmUgbm90IHRoZXJlIHdoZW4gYnVpbGRpbmcgZ2xpYmMtaW5pdGlhbAotIyBzbyByZXNldCBpdCBoZXJlCi0KLVRBUkdFVF9DUFBGTEFHUyA9ICIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWxkLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbGQuaW5jCmluZGV4IGJiMTY3YjMuLjA0MWZmYmIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbGQuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbGQuaW5jCkBAIC0xMCw4ICsxMCw4IEBACiAgICAgICAgIGluZm9zWydsZGNvbmZpZyddLmFkZCgneyInICsgbG9hZGVyICsgJyIsJyArICJGTEFHX0VMRl9MSUJDNiIgKyAnIH0nKQogICAgICAgICBpbmZvc1snbGRkcmV3cml0ZSddLmFkZChsb2FkZXIpCiAKLSAgICBpbmZvc1snbGRjb25maWcnXSA9ICcsJy5qb2luKGluZm9zWydsZGNvbmZpZyddKQotICAgIGluZm9zWydsZGRyZXdyaXRlJ10gPSAnICcuam9pbihpbmZvc1snbGRkcmV3cml0ZSddKQorICAgIGluZm9zWydsZGNvbmZpZyddID0gJywnLmpvaW4oc29ydGVkKGluZm9zWydsZGNvbmZpZyddKSkKKyAgICBpbmZvc1snbGRkcmV3cml0ZSddID0gJyAnLmpvaW4oc29ydGVkKGluZm9zWydsZGRyZXdyaXRlJ10pKQogICAgIHJldHVybiBpbmZvcwogCiBFR0xJQkNfS05PV05fSU5URVJQUkVURVJfTkFNRVMgPSAiJHtAZ2xpYmNfZGxfaW5mbyhkKVsnbGRjb25maWcnXX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWxvY2FsZS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWxvY2FsZS5pbmMKaW5kZXggMWI2NzZkYy4uYTk4NWQyNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1sb2NhbGUuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbG9jYWxlLmluYwpAQCAtMjcsNyArMjcsNyBAQAogCiAjZW5hYmxlIGxvY2FsZSBnZW5lcmF0aW9uIG9uIHRoZXNlIGFyY2hlcwogIyBCSU5BUllfTE9DQUxFX0FSQ0hFUyBpcyBhIHNwYWNlIHNlcGFyYXRlZCBsaXN0IG9mIHJlZ3VsYXIgZXhwcmVzc2lvbnMKLUJJTkFSWV9MT0NBTEVfQVJDSEVTID89ICJhcm0uKiBhYXJjaDY0IGlbMy02XTg2IHg4Nl82NCBwb3dlcnBjIG1pcHMgbWlwczY0IHJpc2N2MzIgcmlzY3Y2NCIKK0JJTkFSWV9MT0NBTEVfQVJDSEVTID89ICJhcmMgYXJtLiogYWFyY2g2NCBpWzMtNl04NiB4ODZfNjQgcG93ZXJwYyBtaXBzIG1pcHM2NCByaXNjdjMyIHJpc2N2NjQiCiAKICMgc2V0ICIxIiB0byB1c2UgY3Jvc3MtbG9jYWxlZGVmIGZvciBsb2NhbGUgZ2VuZXJhdGlvbgogIyBzZXQgIjAiIGZvciBxZW11IGVtdWxhdGlvbiBvZiBuYXRpdmUgbG9jYWxlZGVmIGZvciBsb2NhbGUgZ2VuZXJhdGlvbgpAQCAtNzEsMjUgKzcxLDI3IEBACiAKIExPQ0FMRVRSRUVTUkMgPSAiJHtDT01QT05FTlRTX0RJUn0vJHtQQUNLQUdFX0FSQ0h9L2dsaWJjLXN0YXNoLWxvY2FsZSIKIAotZG9faW5zdGFsbCAoKSB7Ci0JbWtkaXIgLXAgJHtEfSR7YmluZGlyfSAke0R9JHtkYXRhZGlyfSAke0R9JHtsaWJkaXJ9Ci0JaWYgWyAtbiAiJChscyAke0xPQ0FMRVRSRUVTUkN9LyR7YmluZGlyfSkiIF07IHRoZW4KLQkJY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgJHtMT0NBTEVUUkVFU1JDfS8ke2JpbmRpcn0vKiAke0R9JHtiaW5kaXJ9Citjb3B5X2xvY2FsZV9maWxlcygpIHsKKwlsb2NhbCBkaXI9JDEgbW9kZT0kMgorCisJWyAtZSAiJHtMT0NBTEVUUkVFU1JDfSRkaXIiIF0gfHwgcmV0dXJuIDAKKworCWZvciBkIGluIC4gJChmaW5kICIke0xPQ0FMRVRSRUVTUkN9JGRpciIgLXR5cGUgZCAtcHJpbnRmICclUCAnKTsgZG8KKwkJaW5zdGFsbCAtZCAke0R9JGRpci8kZAorCQlmaW5kICIke0xPQ0FMRVRSRUVTUkN9JGRpci8kZCIgLW1heGRlcHRoIDEgLXR5cGUgZiBcCisJCQktZXhlYyBpbnN0YWxsIC1tICRtb2RlIC10ICIke0R9JGRpci8kZCIge30gXDsKKwlkb25lCit9CisKK2RvX2luc3RhbGwoKSB7CisJY29weV9sb2NhbGVfZmlsZXMgJHtiaW5kaXJ9IDA3NTUKKwljb3B5X2xvY2FsZV9maWxlcyAke2xvY2FsZWRpcn0gMDY0NAorCWlmIFsgJHtQQUNLQUdFX05PX0dDT05WfSAtZXEgMCBdOyB0aGVuCisJCWNvcHlfbG9jYWxlX2ZpbGVzICR7bGliZGlyfS9nY29udiAwNzU1CisJCWNvcHlfbG9jYWxlX2ZpbGVzICR7ZGF0YWRpcn0vaTE4biAwNjQ0CiAJZmkKLQlpZiBbIC1uICIkKGxzICR7TE9DQUxFVFJFRVNSQ30vJHtsb2NhbGVkaXJ9KSIgXTsgdGhlbgotCQlta2RpciAtcCAke0R9JHtsb2NhbGVkaXJ9Ci0JCWNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzICR7TE9DQUxFVFJFRVNSQ30vJHtsb2NhbGVkaXJ9LyogJHtEfSR7bG9jYWxlZGlyfQotCWZpCi0JaWYgWyAtZSAke0xPQ0FMRVRSRUVTUkN9LyR7bGliZGlyfS9nY29udiBdOyB0aGVuCi0JCWNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzICR7TE9DQUxFVFJFRVNSQ30vJHtsaWJkaXJ9L2djb252ICR7RH0ke2xpYmRpcn0KLQlmaQotCWlmIFsgLWUgJHtMT0NBTEVUUkVFU1JDfS8ke2RhdGFkaXJ9L2kxOG4gXTsgdGhlbgotCQljcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAke0xPQ0FMRVRSRUVTUkN9LyR7ZGF0YWRpcn0vaTE4biAke0R9JHtkYXRhZGlyfQotCWZpCi0JaWYgWyAtZSAke0xPQ0FMRVRSRUVTUkN9LyR7ZGF0YWRpcn0vbG9jYWxlIF07IHRoZW4KLQkJY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgJHtMT0NBTEVUUkVFU1JDfS8ke2RhdGFkaXJ9L2xvY2FsZSAke0R9JHtkYXRhZGlyfQotCWZpCi0JY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgJHtMT0NBTEVUUkVFU1JDfS9TVVBQT1JURUQgJHtXT1JLRElSfQorCWNvcHlfbG9jYWxlX2ZpbGVzICR7ZGF0YWRpcn0vbG9jYWxlIDA2NDQKKwlpbnN0YWxsIC1tIDA2NDQgJHtMT0NBTEVUUkVFU1JDfS9TVVBQT1JURUQgJHtXT1JLRElSfS9TVVBQT1JURUQKIH0KIAogaW5oZXJpdCBsaWJjLXBhY2thZ2UKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbG9jYWxlXzIuMjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWxvY2FsZV8yLjI5LmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWxvY2FsZV8yLjI4LmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWxvY2FsZV8yLjI5LmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLW10cmFjZV8yLjI4LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1tdHJhY2VfMi4yOS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1tdHJhY2VfMi4yOC5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1tdHJhY2VfMi4yOS5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1wYWNrYWdlLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtcGFja2FnZS5pbmMKaW5kZXggYTk4YWUxYS4uYjdjNjRhMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1wYWNrYWdlLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLXBhY2thZ2UuaW5jCkBAIC0xNSw3ICsxNSwxMiBAQAogUlBST1ZJREVTXyR7UE59LXBjcHJvZmlsZSA9ICJlZ2xpYmMtcGNwcm9maWxlIgogUlBST1ZJREVTXyR7UE59LWRiZyA9ICJlZ2xpYmMtZGJnIgogbGliY19iYXNlbGlicyA9ICIke2Jhc2VfbGliZGlyfS9saWJjLnNvLiogJHtiYXNlX2xpYmRpcn0vbGliYy0qLnNvICR7YmFzZV9saWJkaXJ9L2xpYm0qLnNvLiogJHtiYXNlX2xpYmRpcn0vbGlibS0qLnNvICR7YmFzZV9saWJkaXJ9L2xpYm12ZWMtKi5zbyAke2Jhc2VfbGliZGlyfS9sZCouc28uKiAke2Jhc2VfbGliZGlyfS9sZC0qLnNvICR7YmFzZV9saWJkaXJ9L2xpYnB0aHJlYWQqLnNvLiogJHtiYXNlX2xpYmRpcn0vbGlicHRocmVhZC0qLnNvICR7YmFzZV9saWJkaXJ9L2xpYnJlc29sdiouc28uKiAke2Jhc2VfbGliZGlyfS9saWJyZXNvbHYtKi5zbyAke2Jhc2VfbGliZGlyfS9saWJydCouc28uKiAke2Jhc2VfbGliZGlyfS9saWJydC0qLnNvICR7YmFzZV9saWJkaXJ9L2xpYnV0aWwqLnNvLiogJHtiYXNlX2xpYmRpcn0vbGlidXRpbC0qLnNvICR7YmFzZV9saWJkaXJ9L2xpYm5zbCouc28uKiAke2Jhc2VfbGliZGlyfS9saWJuc2wtKi5zbyAke2Jhc2VfbGliZGlyfS9saWJuc3NfZmlsZXMqLnNvLiogJHtiYXNlX2xpYmRpcn0vbGlibnNzX2ZpbGVzLSouc28gJHtiYXNlX2xpYmRpcn0vbGlibnNzX2NvbXBhdCouc28uKiAke2Jhc2VfbGliZGlyfS9saWJuc3NfY29tcGF0LSouc28gJHtiYXNlX2xpYmRpcn0vbGlibnNzX2Rucyouc28uKiAke2Jhc2VfbGliZGlyfS9saWJuc3NfZG5zLSouc28gJHtiYXNlX2xpYmRpcn0vbGliZGwqLnNvLiogJHtiYXNlX2xpYmRpcn0vbGliZGwtKi5zbyAke2Jhc2VfbGliZGlyfS9saWJhbmwqLnNvLiogJHtiYXNlX2xpYmRpcn0vbGliYW5sLSouc28gJHtiYXNlX2xpYmRpcn0vbGliQnJva2VuTG9jYWxlKi5zby4qICR7YmFzZV9saWJkaXJ9L2xpYkJyb2tlbkxvY2FsZS0qLnNvIgotbGliY19iYXNlbGlic19hcHBlbmRfYWFyY2g2NCA9ICIgL2xpYi9sZC1saW51eC1hYXJjaDY0Ki5zby4xIgorQVJDSF9EWU5BTUlDX0xPQURFUiA9ICIiCisjIFRoZSBhYXJjaDY0IEFCSSBzYXlzIHRoZSBkeW5hbWljIGxpbmtlciAtbXVzdC0gYmUKKyMgL2xpYi9sZC1saW51eC1hYXJjaDY0eyxfYmV9LnNvLjEuIFdpdGggdXNybWVyZ2UsIHRoYXQgbWF5IG1lYW4gdGhhdAorIyB3ZSBuZWVkIHRvIGluc3RhbGwgaXQgaW4gL3Vzci9saWIuCitBUkNIX0RZTkFNSUNfTE9BREVSX2FhcmNoNjQgPSAibGQtbGludXgtJHtUQVJHRVRfQVJDSH0uc28uMSIKK2xpYmNfYmFzZWxpYnNfYXBwZW5kID0gIiAke0BvZS51dGlscy5jb25kaXRpb25hbCgnQVJDSF9EWU5BTUlDX0xPQURFUicsICcnLCAnJywgJyR7cm9vdF9wcmVmaXh9L2xpYi8ke0FSQ0hfRFlOQU1JQ19MT0FERVJ9JywgZCl9IgogSU5TQU5FX1NLSVBfJHtQTn1fYXBwZW5kX2FhcmNoNjQgPSAiIGxpYmRpciIKIAogRklMRVNfJHtQTn0gPSAiJHtsaWJjX2Jhc2VsaWJzfSAke2xpYmV4ZWNkaXJ9LyogJHtiYXNlX3NiaW5kaXJ9L2xkY29uZmlnICR7c3lzY29uZmRpcn0vbGQuc28uY29uZiIKQEAgLTEwNywyNSArMTEyLDI3IEBACiAJCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAogCQllY2hvICJkIC9ydW4vbnNjZCA3NTUgcm9vdCByb290IC0iIFwKIAkJCT4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9uc2NkLmNvbmYKLQllbHNlCisJZmkKKworCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgogCQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCiAJCWVjaG8gImQgcm9vdCByb290IDA3NTUgL3Zhci9ydW4vbnNjZCBub25lIiBcCiAJCQk+ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzk4X25zY2QKIAlmaQorCisJIyBUaGUgZHluYW1pYyBsb2FkZXIgd2lsbCBoYXZlIGJlZW4gaW5zdGFsbGVkIGludG8KKwkjICR7YmFzZV9saWJkaXJ9LiBIb3dldmVyLCBpZiB0aGF0IGlzbid0IGdvaW5nIHRvIGVuZCB1cCBiZWluZworCSMgYXZhaWxhYmxlIGluIHRoZSBBQkktbWFuZGF0ZWQgbG9jYXRpb24sIHRoZW4gYSBzeW1saW5rIG11c3QKKyAgICAgICAgIyBiZSBjcmVhdGVkLgorCisJaWYgWyAtbiAiJHtBUkNIX0RZTkFNSUNfTE9BREVSfSIgLWEgISAtZSAiJHtEfSR7cm9vdF9wcmVmaXh9L2xpYi8ke0FSQ0hfRFlOQU1JQ19MT0FERVJ9IiBdOyB0aGVuCisJCWluc3RhbGwgLWQgJHtEfSR7cm9vdF9wcmVmaXh9L2xpYgorCQlsbiAtcyAke0BvZS5wYXRoLnJlbGF0aXZlKCcke3Jvb3RfcHJlZml4fS9saWInLCAnJHtiYXNlX2xpYmRpcn0nKX0vJHtBUkNIX0RZTkFNSUNfTE9BREVSfSBcCisJCQkJJHtEfSR7cm9vdF9wcmVmaXh9L2xpYi8ke0FSQ0hfRFlOQU1JQ19MT0FERVJ9CisJZmkKIH0KIAogZG9faW5zdGFsbF9hcHBlbmRfYWFyY2g2NCAoKSB7Ci0JaWYgWyAiJHtiYXNlX2xpYmRpcn0iICE9ICIke25vbmFyY2hfYmFzZV9saWJkaXJ9IiBdOyB0aGVuCi0JCSMgVGhlIGFhcmNoNjQgQUJJIHNheXMgdGhlIGR5bmFtaWMgbGlua2VyIC1tdXN0LSBiZSAvbGliL2xkLWxpbnV4LWFhcmNoNjRbX2JlXS5zby4xCi0JCWluc3RhbGwgLWQgJHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0KLQkJaWYgWyAtZSAke0R9JHtiYXNlX2xpYmRpcn0vbGQtbGludXgtYWFyY2g2NC5zby4xIF07IHRoZW4KLQkJCWxuIC1zICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7bm9uYXJjaF9iYXNlX2xpYmRpcn0nLCAnJHtiYXNlX2xpYmRpcn0nKX0vbGQtbGludXgtYWFyY2g2NC5zby4xIFwKLQkJCQkke0R9JHtub25hcmNoX2Jhc2VfbGliZGlyfS9sZC1saW51eC1hYXJjaDY0LnNvLjEKLQkJZWxpZiBbIC1lICR7RH0ke2Jhc2VfbGliZGlyfS9sZC1saW51eC1hYXJjaDY0X2JlLnNvLjEgXTsgdGhlbgotCQkJbG4gLXMgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtub25hcmNoX2Jhc2VfbGliZGlyfScsICcke2Jhc2VfbGliZGlyfScpfS9sZC1saW51eC1hYXJjaDY0X2JlLnNvLjEgXAotCQkJCSR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L2xkLWxpbnV4LWFhcmNoNjRfYmUuc28uMQotCQlmaQotCWZpCiAJZG9faW5zdGFsbF9hcm1tdWx0aWxpYgogfQogCkBAIC0xNDEsNiArMTQ4LDcgQEAKIAlvZV9tdWx0aWxpYl9oZWFkZXIgYml0cy9lbmRpYW4uaCBiaXRzL2ZjbnRsLmggYml0cy9mZW52LmggYml0cy9mcC1mYXN0LmggYml0cy9od2NhcC5oIGJpdHMvaXBjLmggYml0cy9saW5rLmggYml0cy93b3Jkc2l6ZS5oCiAJb2VfbXVsdGlsaWJfaGVhZGVyIGJpdHMvbG9jYWxfbGltLmggYml0cy9tbWFuLmggYml0cy9tc3EuaCBiaXRzL3B0aHJlYWR0eXBlcy5oIGJpdHMvcHRocmVhZHR5cGVzLWFyY2guaCAgYml0cy9zZW0uaCAgYml0cy9zZW1hcGhvcmUuaCBiaXRzL3NldGptcC5oCiAJb2VfbXVsdGlsaWJfaGVhZGVyIGJpdHMvc2htLmggYml0cy9zaWdzdGFjay5oIGJpdHMvc3RhdC5oIGJpdHMvc3RhdGZzLmggYml0cy90eXBlc2l6ZXMuaAorCW9lX211bHRpbGliX2hlYWRlciBiaXRzL3Byb2Nmcy1pZC5oIGJpdHMvcHJvY2ZzLmggYml0cy9zaG1sYmEuaAogCiAJb2VfbXVsdGlsaWJfaGVhZGVyIGZwdV9jb250cm9sLmggZ251L2xpYi1uYW1lcy5oIGdudS9zdHVicy5oIGllZWU3NTQuaAogCkBAIC0yMDcsMTIgKzIxNSwxNSBAQAogCXJtIC1yZiAke0R9LyR7bG9jYWxlZGlyfQogCXJtIC1yZiAke0R9JHtkYXRhZGlyfS9sb2NhbGUKIAlpZiBbICIke2xpYmRpcn0iICE9ICIke2V4ZWNfcHJlZml4fS9saWIiIF07IHRoZW4KLQkJaWYgWyAtZCAke0R9JHtleGVjX3ByZWZpeH0vbGliIF07IHRoZW4KKwkgICAgaWYgWyAtZCAiJHtEfSR7ZXhlY19wcmVmaXh9L2xpYiIgXTsgdGhlbgorCQlpZiBbIC16ICIke0FSQ0hfRFlOQU1JQ19MT0FERVJ9IiAtbyBcCisJCSAgICAgISAtZSAiJHtEfSR7ZXhlY19wcmVmaXh9L2xpYi8ke0FSQ0hfRFlOQU1JQ19MT0FERVJ9IiBdOyB0aGVuCiAJCQkjIGVycm9yIG91dCBpZiBkaXJlY3RvcnkgaXNuJ3QgZW1wdHkKIAkJCSMgdGhpcyBkaXIgc2hvdWxkIG9ubHkgY29udGFpbiBsb2NhbGUgZGlyCiAJCQkjIHdoaWNoIGhhcyBiZWVuIGRlbGV0ZWQgaW4gdGhlIHByZXZpb3VzIHN0ZXAKIAkJCXJtZGlyICR7RH0ke2V4ZWNfcHJlZml4fS9saWIKIAkJZmkKKwkgICAgZmkKIAlmaQogfQogYWRkdGFzayBkb19wb3N0c3Rhc2hfaW5zdGFsbF9jbGVhbnVwIGFmdGVyIGRvX3N0YXNoX2xvY2FsZSBkb19pbnN0YWxsIGJlZm9yZSBkb19wb3B1bGF0ZV9zeXNyb290IGRvX3BhY2thZ2UKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtc2NyaXB0c18yLjI4LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1zY3JpcHRzXzIuMjkuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtc2NyaXB0c18yLjI4LmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLXNjcmlwdHNfMi4yOS5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLmluYwppbmRleCA5OWM5MmNlLi4yNTJmZDU2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLmluYwpAQCAtMiwzNiArMiw5IEBACiByZXF1aXJlIGdsaWJjLWxkLmluYwogcmVxdWlyZSBnbGliYy10ZXN0aW5nLmluYwogCi1TVEFHSU5HQ0MgPSAiZ2NjLWNyb3NzLWluaXRpYWwtJHtUQVJHRVRfQVJDSH0iCi1TVEFHSU5HQ0NfY2xhc3MtbmF0aXZlc2RrID0gImdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iCi1QQVRIX3ByZXBlbmQgPSAiJHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LiR7U1RBR0lOR0NDfToiCitERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYyBsaWJnY2MtaW5pdGlhbCBsaW51eC1saWJjLWhlYWRlcnMiCiAKLXB5dGhvbiAoKSB7Ci0gICAgb3B0X2VmZmVjdGl2ZSA9ICItTyIKLSAgICBmb3Igb3B0IGluIGQuZ2V0VmFyKCdTRUxFQ1RFRF9PUFRJTUlaQVRJT04nKS5zcGxpdCgpOgotICAgICAgICBpZiBvcHQgaW4gKCItTzAiLCAiLU8iLCAiLU8xIiwgIi1PMiIsICItTzMiLCAiLU9zIik6Ci0gICAgICAgICAgICBvcHRfZWZmZWN0aXZlID0gb3B0Ci0gICAgaWYgb3B0X2VmZmVjdGl2ZSA9PSAiLU8wIjoKLSAgICAgICAgYmIuZmF0YWwoIiVzIGNhbid0IGJlIGJ1aWx0IHdpdGggJXMsIHRyeSAtTzEgaW5zdGVhZCIgJSAoZC5nZXRWYXIoJ1BOJyksIG9wdF9lZmZlY3RpdmUpKQotfQotCi0jIHNpdGVjb25maWcuYmJjbGFzcyBydW5zIGNvbmZpZ3VyZSB3aGljaCBuZWVkcyBhIHdvcmtpbmcgY29tcGlsZXIKLSMgRm9yIHRoZSBjb21waWxlciB0byB3b3JrIHdlIG5lZWQgYSB3b3JraW5nIGxpYmMgeWV0IGxpYmMgaXNuJ3QKLSMgaW4gdGhlIHN5c3Jvb3RzIGRpcmVjdG9yeSBhdCB0aGlzIHBvaW50LiBUaGlzIG1lYW5zIHRoZSBsaWJjLnNvCi0jIGxpbmtlciBzY3JpcHQgd29uJ3Qgd29yayBhcyB0aGUgLS1zeXNyb290IHNldHRpbmcgaXNuJ3QgY29ycmVjdC4KLSMgSGVyZSB3ZSBjcmVhdGUgYSBoYWNrZWQgdXAgbGliYyBsaW5rZXIgc2NyaXB0IGFuZCBwYXNzIGluIHRoZSByaWdodAotIyBmbGFncyB0byBsZXQgY29uZmlndXJlIHdvcmsuIFVnbHkuCi1FWFRSQVNJVEVDT05GSUcgPSAiQ0ZMQUdTPScke0NGTEFHU30gLVdsLC1MJHtXT1JLRElSfS9zaXRlX2NvbmZpZ19saWJjIC1MJHtXT1JLRElSfS9zaXRlX2NvbmZpZ19saWJjIC1MJHtTWVNST09UX0RFU1RESVJ9JHtsaWJkaXJ9IC1MJHtTWVNST09UX0RFU1RESVJ9JHtiYXNlX2xpYmRpcn0gLVdsLC1MJHtTWVNST09UX0RFU1RESVJ9JHtsaWJkaXJ9IC1XbCwtTCR7U1lTUk9PVF9ERVNURElSfSR7YmFzZV9saWJkaXJ9JyIKLXNpdGVjb25maWdfZG9fc2l0ZWNvbmZpZ19nZW5jYWNoZV9wcmVwZW5kID0gIiBcCi0JbWtkaXIgLXAgJHtXT1JLRElSfS9zaXRlX2NvbmZpZ19saWJjOyBcCi0JY3AgJHtTWVNST09UX0RFU1RESVJ9JHtsaWJkaXJ9L2xpYmMuc28gJHtXT1JLRElSfS9zaXRlX2NvbmZpZ19saWJjOyBcCi0Jc2VkIC1pIC1lICdzIyAke2Jhc2VfbGliZGlyfSMgJHtTWVNST09UX0RFU1RESVJ9JHtiYXNlX2xpYmRpcn0jZycgLWUgJ3MjICR7bGliZGlyfSMgJHtTWVNST09UX0RFU1RESVJ9JHtsaWJkaXJ9I2cnICR7V09SS0RJUn0vc2l0ZV9jb25maWdfbGliYy9saWJjLnNvOyBcCi0iCi0KLSMgbnB0bCBuZWVkcyB1bndpbmQgc3VwcG9ydCBpbiBnY2MsIHdoaWNoIGNhbid0IGJlIGJ1aWx0IHdpdGhvdXQgZ2xpYmMuCi1ERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbml0aWFsIGxpYmdjYy1pbml0aWFsIGxpbnV4LWxpYmMtaGVhZGVycyB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1saWJjLWluaXRpYWwiCi0KLVBST1ZJREVTID0gInZpcnR1YWwvbGliYyB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1saWJjLWZvci1nY2MiCitQUk9WSURFUyA9ICJ2aXJ0dWFsL2xpYmMiCiBQUk9WSURFUyArPSAidmlydHVhbC9saWJpbnRsIHZpcnR1YWwvbGliaWNvbnYiCiBpbmhlcml0IGF1dG90b29scyB0ZXhpbmZvIGRpc3Ryb19mZWF0dXJlc19jaGVjayBzeXN0ZW1kCiAKQEAgLTQ3LDE2ICsyMCwxMSBAQAogICBsaWJjX2N2X3NzcD1ubyBcCiAiCiAKKyMgaWZ1bmMgZG9lc24ndCBhcHBlYXIgdG8gd29yayBvbiBtaXBzLCBjYXN1c2VzIGxpYmJmZCBhc3NlcnRpb24gZmFpbHVyZXMKK0NBQ0hFRF9DT05GSUdVUkVWQVJTX2FwcGVuZF9taXBzYXJjaCA9ICIgbGliY19jdl9sZF9nbnVfaW5kaXJlY3RfZnVuY3Rpb249bm8iCisKIEdMSUJDX0VYVFJBX09FQ09ORiA/PSAiIgogR0xJQkNfRVhUUkFfT0VDT05GX2NsYXNzLW5hdGl2ZXNkayA9ICIiCi1JTkhJQklUX0RFRkFVTFRfREVQUyA9ICIxIgotCi0jIFRoaXMgbmVlZHMgdG8gbWF0Y2ggd2l0aCBnbGliYy1jb2xsYXRlcmFsLmluYywgb3RoZXJ3aXNlIGdsaWJjLXNjcmlwdHMgYW5kIGdsaWJjLWxvY2FsZQotIyB3aWxsIGZhaWwgdG8gZmluZCBtYWluIGdsaWJjLCBmb3IgZGV0YWlscyBzZWUKLSMgaHR0cDovL2xpc3RzLm9wZW5lbWJlZGRlZC5vcmcvcGlwZXJtYWlsL29wZW5lbWJlZGRlZC1jb3JlLzIwMTUtSmFudWFyeS8xMDA2NzkuaHRtbAotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjYgPSAiYXJtIgogCiAjIGdsaWJjIHVzZXMgUEFSQUxMRUxNRkxBR1MgdmFyaWFibGUgdG8gcGFzcyBwYXJhbGxlbCBidWlsZCBpbmZvIHNvIHRyYW5zZmVyCiAjIFBBUkFMTEVMX01BS0UgaW50byBQQVJBTExFTE1GTEFHUyBhbmQgZW1wdHkgb3V0IFBBUkFMTEVMX01BS0UKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwMS1uYXRpdmVzZGstZ2xpYmMtTG9vay1mb3ItaG9zdC1zeXN0ZW0tbGQuc28uY2FjaGUtYXMtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAxLW5hdGl2ZXNkay1nbGliYy1Mb29rLWZvci1ob3N0LXN5c3RlbS1sZC5zby5jYWNoZS1hcy0ucGF0Y2gKaW5kZXggNWRmMjZhOC4uODZhZDllYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAxLW5hdGl2ZXNkay1nbGliYy1Mb29rLWZvci1ob3N0LXN5c3RlbS1sZC5zby5jYWNoZS1hcy0ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAxLW5hdGl2ZXNkay1nbGliYy1Mb29rLWZvci1ob3N0LXN5c3RlbS1sZC5zby5jYWNoZS1hcy0ucGF0Y2gKQEAgLTEsNyArMSw4IEBACi1Gcm9tIGJkNTFiM2FkZDg5YTVjYjJkOGY0NDAyOWExMDI3Yzc4MGIyYWZmZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDBjYWM3NDkzMzY2NTg2ZThmODdlODQ1OTM1OWMxNWY3MDJlZjhjODEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMTo0ODoyNCArMDAwMAotU3ViamVjdDogW1BBVENIXSBuYXRpdmVzZGstZ2xpYmM6IExvb2sgZm9yIGhvc3Qgc3lzdGVtIGxkLnNvLmNhY2hlIGFzIHdlbGwKK1N1YmplY3Q6IFtQQVRDSCAwMS8zMF0gbmF0aXZlc2RrLWdsaWJjOiBMb29rIGZvciBob3N0IHN5c3RlbSBsZC5zby5jYWNoZSBhcworIHdlbGwKIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KIApAQCAtMzAsNyArMzEsNyBAQAogIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9lbGYvZGwtbG9hZC5jIGIvZWxmL2RsLWxvYWQuYwotaW5kZXggYzUxZTRiMzcxOC4uNDRiYmI2OWRjNCAxMDA2NDQKK2luZGV4IGY5NzI1MjQ0MjEuLmU1M2MzYTFiN2IgMTAwNjQ0CiAtLS0gYS9lbGYvZGwtbG9hZC5jCiArKysgYi9lbGYvZGwtbG9hZC5jCiBAQCAtMjA4NSw2ICsyMDg1LDE0IEBAIF9kbF9tYXBfb2JqZWN0IChzdHJ1Y3QgbGlua19tYXAgKmxvYWRlciwgY29uc3QgY2hhciAqbmFtZSwKQEAgLTYzLDMgKzY0LDYgQEAKICAgICAgICAvKiBBZGQgYW5vdGhlciBuZXdsaW5lIHdoZW4gd2UgYXJlIHRyYWNpbmcgdGhlIGxpYnJhcnkgbG9hZGluZy4gICovCiAgICAgICAgaWYgKF9fZ2xpYmNfdW5saWtlbHkgKEdMUk8oZGxfZGVidWdfbWFzaykgJiBETF9ERUJVR19MSUJTKSkKICAJX2RsX2RlYnVnX3ByaW50ZiAoIlxuIik7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDEteDg2LTY0LW1lbWNtcC1Vc2UtdW5zaWduZWQtSmNjLWluc3RydWN0aW9ucy1vbi1zaXplLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwMS14ODYtNjQtbWVtY21wLVVzZS11bnNpZ25lZC1KY2MtaW5zdHJ1Y3Rpb25zLW9uLXNpemUtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhMzQzMTQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDEteDg2LTY0LW1lbWNtcC1Vc2UtdW5zaWduZWQtSmNjLWluc3RydWN0aW9ucy1vbi1zaXplLS5wYXRjaApAQCAtMCwwICsxLDIwNCBAQAorRnJvbSAzZjYzNWZiNDMzODliNTRmNjgyZmM5ZWQyYWNjMGIyYWFmNGE5MjNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogIkguSi4gTHUiIDxoamwudG9vbHNAZ21haWwuY29tPgorRGF0ZTogTW9uLCA0IEZlYiAyMDE5IDA2OjMxOjAxIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIHg4Ni02NCBtZW1jbXA6IFVzZSB1bnNpZ25lZCBKY2MgaW5zdHJ1Y3Rpb25zIG9uIHNpemUgW0JaCisgIzI0MTU1XQorCitTaW5jZSB0aGUgc2l6ZSBhcmd1bWVudCBpcyB1bnNpZ25lZC4gd2Ugc2hvdWxkIHVzZSB1bnNpZ25lZCBKY2MKK2luc3RydWN0aW9ucywgaW5zdGVhZCBvZiBzaWduZWQsIHRvIGNoZWNrIHNpemUuCisKK1Rlc3RlZCBvbiB4ODYtNjQgYW5kIHgzMiwgd2l0aCBhbmQgd2l0aG91dCAtLWRpc2FibGUtbXVsdGktYXJjaC4KKworCVtCWiAjMjQxNTVdCisJQ1ZFLTIwMTktNzMwOQorCSogTkVXUzogVXBkYXRlZCBmb3IgQ1ZFLTIwMTktNzMwOS4KKwkqIHN5c2RlcHMveDg2XzY0L21lbWNtcC5TOiBVc2UgUkRYX0xQIGZvciBzaXplLiAgQ2xlYXIgdGhlCisJdXBwZXIgMzIgYml0cyBvZiBSRFggcmVnaXN0ZXIgZm9yIHgzMi4gIFVzZSB1bnNpZ25lZCBKY2MKKwlpbnN0cnVjdGlvbnMsIGluc3RlYWQgb2Ygc2lnbmVkLgorCSogc3lzZGVwcy94ODZfNjQveDMyL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3Qtc2l6ZV90LW1lbWNtcC0yLgorCSogc3lzZGVwcy94ODZfNjQveDMyL3RzdC1zaXplX3QtbWVtY21wLTIuYzogTmV3IHRlc3QuCisKK0NWRTogQ1ZFLTIwMTktNzMwOQorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogWmhpeGlvbmcgQ2hpIDx6aGl4aW9uZy5jaGlAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEFsaXN0YWlyIEZyYW5jaXMgPGFsaXN0YWlyLmZyYW5jaXNAd2RjLmNvbT4KKy0tLQorIHN5c2RlcHMveDg2XzY0L21lbWNtcC5TICAgICAgICAgICAgICAgICAgfCAyMCArKystLS0KKyBzeXNkZXBzL3g4Nl82NC94MzIvTWFrZWZpbGUgICAgICAgICAgICAgIHwgIDMgKy0KKyBzeXNkZXBzL3g4Nl82NC94MzIvdHN0LXNpemVfdC1tZW1jbXAtMi5jIHwgNzkgKysrKysrKysrKysrKysrKysrKysrKysrCisgNSBmaWxlcyBjaGFuZ2VkLCAxMTEgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHN5c2RlcHMveDg2XzY0L3gzMi90c3Qtc2l6ZV90LW1lbWNtcC0yLmMKKworZGlmZiAtLWdpdCBhL3N5c2RlcHMveDg2XzY0L21lbWNtcC5TIGIvc3lzZGVwcy94ODZfNjQvbWVtY21wLlMKK2luZGV4IDFmYzQ4N2NhYTUuLjEzMjJiYjNiOTIgMTAwNjQ0CistLS0gYS9zeXNkZXBzL3g4Nl82NC9tZW1jbXAuUworKysrIGIvc3lzZGVwcy94ODZfNjQvbWVtY21wLlMKK0BAIC0yMSwxNCArMjEsMTggQEAKKyAKKyAJLnRleHQKKyBFTlRSWSAobWVtY21wKQorLQl0ZXN0CSVyZHgsICVyZHgKKysjaWZkZWYgX19JTFAzMl9fCisrCS8qIENsZWFyIHRoZSB1cHBlciAzMiBiaXRzLiAgKi8KKysJbW92bAklZWR4LCAlZWR4CisrI2VuZGlmCisrCXRlc3QJJVJEWF9MUCwgJVJEWF9MUAorIAlqeglMKGZpbnopCisgCWNtcHEJJDEsICVyZHgKKy0JamxlCUwoZmlucjFiKQorKwlqYmUJTChmaW5yMWIpCisgCXN1YnEJJXJkaSwgJXJzaQorIAltb3ZxCSVyZHgsICVyMTAKKyAJY21wcQkkMzIsICVyMTAKKy0JamdlCUwoZ3QzMikKKysJamFlCUwoZ3QzMikKKyAJLyogSGFuZGxlIHNtYWxsIGNodW5rcyBhbmQgbGFzdCBibG9jayBvZiBsZXNzIHRoYW4gMzIgYnl0ZXMuICAqLworIEwoc21hbGwpOgorIAl0ZXN0cQkkMSwgJXIxMAorQEAgLTE1Niw3ICsxNjAsNyBAQCBMKEEzMik6CisgCW1vdnEJJXIxMSwgJXIxMAorIAlhbmRxCSQtMzIsICVyMTAKKyAJY21wcQklcjEwLCAlcmRpCistICAgICAgICBqZ2UJTChtdDE2KQorKyAgICAgICAgamFlCUwobXQxNikKKyAJLyogUHJlLXVucm9sbCB0byBiZSByZWFkeSBmb3IgdW5yb2xsZWQgNjRCIGxvb3AuICAqLworIAl0ZXN0cQkkMzIsICVyZGkKKyAJanoJTChBNjQpCitAQCAtMTc4LDcgKzE4Miw3IEBAIEwoQTY0KToKKyAJbW92cQklcjExLCAlcjEwCisgCWFuZHEJJC02NCwgJXIxMAorIAljbXBxCSVyMTAsICVyZGkKKy0gICAgICAgIGpnZQlMKG10MzIpCisrICAgICAgICBqYWUJTChtdDMyKQorIAorIEwoQTY0bWFpbik6CisgCW1vdmRxdSAgICAoJXJkaSwlcnNpKSwgJXhtbTAKK0BAIC0yMTYsNyArMjIwLDcgQEAgTChtdDMyKToKKyAJbW92cQklcjExLCAlcjEwCisgCWFuZHEJJC0zMiwgJXIxMAorIAljbXBxCSVyMTAsICVyZGkKKy0gICAgICAgIGpnZQlMKG10MTYpCisrICAgICAgICBqYWUJTChtdDE2KQorIAorIEwoQTMybWFpbik6CisgCW1vdmRxdSAgICAoJXJkaSwlcnNpKSwgJXhtbTAKK0BAIC0yNTQsNyArMjU4LDcgQEAgTChBVFIpOgorIAltb3ZxCSVyMTEsICVyMTAKKyAJYW5kcQkkLTMyLCAlcjEwCisgCWNtcHEJJXIxMCwgJXJkaQorLSAgICAgICAgamdlCUwobXQxNikKKysgICAgICAgIGphZQlMKG10MTYpCisgCXRlc3RxCSQxNiwgJXJkaQorIAlqeglMKEFUUjMyKQorIAorQEAgLTMyNSw3ICszMjksNyBAQCBMKEFUUjY0bWFpbik6CisgCW1vdnEJJXIxMSwgJXIxMAorIAlhbmRxCSQtMzIsICVyMTAKKyAJY21wcQklcjEwLCAlcmRpCistICAgICAgICBqZ2UJTChtdDE2KQorKyAgICAgICAgamFlCUwobXQxNikKKyAKKyBMKEFUUjMycmVzKToKKyAJbW92ZHFhICAgICglcmRpLCVyc2kpLCAleG1tMAorZGlmZiAtLWdpdCBhL3N5c2RlcHMveDg2XzY0L3gzMi9NYWtlZmlsZSBiL3N5c2RlcHMveDg2XzY0L3gzMi9NYWtlZmlsZQoraW5kZXggMTU1NzcyNGIwYy4uODc0ODk1NjU2MyAxMDA2NDQKKy0tLSBhL3N5c2RlcHMveDg2XzY0L3gzMi9NYWtlZmlsZQorKysrIGIvc3lzZGVwcy94ODZfNjQveDMyL01ha2VmaWxlCitAQCAtOCw3ICs4LDggQEAgZW5kaWYKKyBpZmVxICgkKHN1YmRpciksc3RyaW5nKQorIHRlc3RzICs9IHRzdC1zaXplX3QtbWVtY2hyIHRzdC1zaXplX3QtbWVtY21wIHRzdC1zaXplX3QtbWVtY3B5IFwKKyAJIHRzdC1zaXplX3QtbWVtcmNociB0c3Qtc2l6ZV90LW1lbXNldCB0c3Qtc2l6ZV90LXN0cm5jYXNlY21wIFwKKy0JIHRzdC1zaXplX3Qtc3RybmNtcCB0c3Qtc2l6ZV90LXN0cm5jcHkgdHN0LXNpemVfdC1zdHJubGVuCisrCSB0c3Qtc2l6ZV90LXN0cm5jbXAgdHN0LXNpemVfdC1zdHJuY3B5IHRzdC1zaXplX3Qtc3RybmxlbiBcCisrCSB0c3Qtc2l6ZV90LW1lbWNtcC0yCisgZW5kaWYKKyAKKyBpZmVxICgkKHN1YmRpciksd2NzbWJzKQorZGlmZiAtLWdpdCBhL3N5c2RlcHMveDg2XzY0L3gzMi90c3Qtc2l6ZV90LW1lbWNtcC0yLmMgYi9zeXNkZXBzL3g4Nl82NC94MzIvdHN0LXNpemVfdC1tZW1jbXAtMi5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uZDhhZTFhMDgxMworLS0tIC9kZXYvbnVsbAorKysrIGIvc3lzZGVwcy94ODZfNjQveDMyL3RzdC1zaXplX3QtbWVtY21wLTIuYworQEAgLTAsMCArMSw3OSBAQAorKy8qIFRlc3QgbWVtY21wIHdpdGggc2l6ZV90IGluIHRoZSBsb3dlciAzMiBiaXRzIG9mIDY0LWJpdCByZWdpc3Rlci4KKysgICBDb3B5cmlnaHQgKEMpIDIwMTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCisrCisrICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisrICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworKyAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorKyAgIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorKyAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworKyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKKysgICA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworKyNkZWZpbmUgVEVTVF9NQUlOCisrI2lmZGVmIFdJREUKKysjIGRlZmluZSBURVNUX05BTUUgIndtZW1jbXAiCisrI2Vsc2UKKysjIGRlZmluZSBURVNUX05BTUUgIm1lbWNtcCIKKysjZW5kaWYKKysKKysjaW5jbHVkZSAidGVzdC1zaXplX3QuaCIKKysKKysjaWZkZWYgV0lERQorKyMgaW5jbHVkZSA8aW50dHlwZXMuaD4KKysjIGluY2x1ZGUgPHdjaGFyLmg+CisrCisrIyBkZWZpbmUgTUVNQ01QIHdtZW1jbXAKKysjIGRlZmluZSBDSEFSIHdjaGFyX3QKKysjZWxzZQorKyMgZGVmaW5lIE1FTUNNUCBtZW1jbXAKKysjIGRlZmluZSBDSEFSIGNoYXIKKysjZW5kaWYKKysKKytJTVBMIChNRU1DTVAsIDEpCisrCisrdHlwZWRlZiBpbnQgKCpwcm90b190KSAoY29uc3QgQ0hBUiAqLCBjb25zdCBDSEFSICosIHNpemVfdCk7CisrCisrc3RhdGljIGludAorK19fYXR0cmlidXRlX18gKChub2lubGluZSwgbm9jbG9uZSkpCisrZG9fbWVtY21wIChwYXJhbWV0ZXJfdCBhLCBwYXJhbWV0ZXJfdCBiKQorK3sKKysgIHJldHVybiBDQUxMICgmYiwgYS5wLCBiLnAsIGEubGVuKTsKKyt9CisrCisrc3RhdGljIGludAorK3Rlc3RfbWFpbiAodm9pZCkKKyt7CisrICB0ZXN0X2luaXQgKCk7CisrCisrICBwYXJhbWV0ZXJfdCBkZXN0ID0geyB7IHBhZ2Vfc2l6ZSAvIHNpemVvZiAoQ0hBUikgfSwgYnVmMSB9OworKyAgcGFyYW1ldGVyX3Qgc3JjID0geyB7IDAgfSwgYnVmMiB9OworKworKyAgbWVtY3B5IChidWYxLCBidWYyLCBwYWdlX3NpemUpOworKworKyAgQ0hBUiAqcCA9IChDSEFSICopIGJ1ZjE7CisrICBwW3BhZ2Vfc2l6ZSAvIHNpemVvZiAoQ0hBUikgLSAxXSA9IChDSEFSKSAxOworKworKyAgaW50IHJldCA9IDA7CisrICBGT1JfRUFDSF9JTVBMIChpbXBsLCAwKQorKyAgICB7CisrICAgICAgc3JjLmZuID0gaW1wbC0+Zm47CisrICAgICAgaW50IHJlcyA9IGRvX21lbWNtcCAoZGVzdCwgc3JjKTsKKysgICAgICBpZiAocmVzID49IDApCisrCXsKKysJICBlcnJvciAoMCwgMCwgIldyb25nIHJlc3VsdCBpbiBmdW5jdGlvbiAlczogJWkgPj0gMCIsCisrCQkgaW1wbC0+bmFtZSwgcmVzKTsKKysJICByZXQgPSAxOworKwl9CisrICAgIH0KKysKKysgIHJldHVybiByZXQgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1M7CisrfQorKworKyNpbmNsdWRlIDxzdXBwb3J0L3Rlc3QtZHJpdmVyLmM+CistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDItbmF0aXZlc2RrLWdsaWJjLUZpeC1idWZmZXItb3ZlcnJ1bi13aXRoLWEtcmVsb2NhdGVkLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwMi1uYXRpdmVzZGstZ2xpYmMtRml4LWJ1ZmZlci1vdmVycnVuLXdpdGgtYS1yZWxvY2F0ZWQtLnBhdGNoCmluZGV4IGRhYWRlYzcuLmY2NjNlMTggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwMi1uYXRpdmVzZGstZ2xpYmMtRml4LWJ1ZmZlci1vdmVycnVuLXdpdGgtYS1yZWxvY2F0ZWQtLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwMi1uYXRpdmVzZGstZ2xpYmMtRml4LWJ1ZmZlci1vdmVycnVuLXdpdGgtYS1yZWxvY2F0ZWQtLnBhdGNoCkBAIC0xLDcgKzEsOCBAQAotRnJvbSBmZGM4YTMzYWMyYzgxYTAyMzdiOGE2ZDhiMWFhYzdmMWNkYmI0NmFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBmMjc1YzA0ZTI2M2ZjMmViZjJlYWFkNmFjMWFiM2M4Mzg2NDdiYjE0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgMTggTWFyIDIwMTUgMDE6NTA6MDAgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gbmF0aXZlc2RrLWdsaWJjOiBGaXggYnVmZmVyIG92ZXJydW4gd2l0aCBhIHJlbG9jYXRlZCBTREsKK1N1YmplY3Q6IFtQQVRDSCAwMi8zMF0gbmF0aXZlc2RrLWdsaWJjOiBGaXggYnVmZmVyIG92ZXJydW4gd2l0aCBhIHJlbG9jYXRlZAorIFNESwogCiBXaGVuIGxkLWxpbnV4LSouc28uMiBpcyByZWxvY2F0ZWQgdG8gYSBwYXRoIHRoYXQgaXMgbG9uZ2VyIHRoYW4gdGhlCiBvcmlnaW5hbCBmaXhlZCBsb2NhdGlvbiwgdGhlIGR5bmFtaWMgbG9hZGVyIHdpbGwgY3Jhc2ggaW4gb3Blbl9wYXRoCkBAIC0yMSw3ICsyMiw3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL2VsZi9kbC1sb2FkLmMgYi9lbGYvZGwtbG9hZC5jCi1pbmRleCA0NGJiYjY5ZGM0Li43NGUyZTVlOTYyIDEwMDY0NAoraW5kZXggZTUzYzNhMWI3Yi4uMmJkOWJjMjdmMiAxMDA2NDQKIC0tLSBhL2VsZi9kbC1sb2FkLmMKICsrKyBiL2VsZi9kbC1sb2FkLmMKIEBAIC0xNzg1LDcgKzE3ODUsMTkgQEAgb3Blbl9wYXRoIChjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZWxlbiwgaW50IG1vZGUsCkBAIC00NCwzICs0NSw2IEBACiAgICBkbwogICAgICB7CiAgICAgICAgc3RydWN0IHJfc2VhcmNoX3BhdGhfZWxlbSAqdGhpc19kaXIgPSAqZGlyczsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwMy1uYXRpdmVzZGstZ2xpYmMtUmFpc2UtdGhlLXNpemUtb2YtYXJyYXlzLWNvbnRhaW5pbmctLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAzLW5hdGl2ZXNkay1nbGliYy1SYWlzZS10aGUtc2l6ZS1vZi1hcnJheXMtY29udGFpbmluZy0ucGF0Y2gKaW5kZXggZTA4MjU0MC4uZmQ5MDlmNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAzLW5hdGl2ZXNkay1nbGliYy1SYWlzZS10aGUtc2l6ZS1vZi1hcnJheXMtY29udGFpbmluZy0ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAzLW5hdGl2ZXNkay1nbGliYy1SYWlzZS10aGUtc2l6ZS1vZi1hcnJheXMtY29udGFpbmluZy0ucGF0Y2gKQEAgLTEsNyArMSw4IEBACi1Gcm9tIDA1NWRkNDZiNzkzMTY4ZmIwOGU0NDkxMzE1MzAxMGIwODgwMTFiYTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDkyZGY1NjczZGUxODc3OWI2MTI2MDlhZmE0ZjY4N2UzM2U1ZWNiNmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMTo1MTozOCArMDAwMAotU3ViamVjdDogW1BBVENIXSBuYXRpdmVzZGstZ2xpYmM6IFJhaXNlIHRoZSBzaXplIG9mIGFycmF5cyBjb250YWluaW5nIGRsIHBhdGhzCitTdWJqZWN0OiBbUEFUQ0ggMDMvMzBdIG5hdGl2ZXNkay1nbGliYzogUmFpc2UgdGhlIHNpemUgb2YgYXJyYXlzIGNvbnRhaW5pbmcgZGwKKyBwYXRocwogCiBUaGlzIHBhdGNoIHB1dHMgdGhlIGR5bmFtaWMgbG9hZGVyIHBhdGggaW4gdGhlIGJpbmFyaWVzLCBTWVNURU1fRElSUyBzdHJpbmdzCiBhbmQgbGVuZ3RocyBhcyB3ZWxsIGFzIGxkLnNvLmNhY2hlIHBhdGggaW4gdGhlIGR5bmFtaWMgbG9hZGVyIHRvIHNwZWNpZmljCkBAIC0yNSw3ICsyNiw3IEBACiAgNyBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2VsZi9kbC1jYWNoZS5jIGIvZWxmL2RsLWNhY2hlLmMKLWluZGV4IDZlZTUxNTNmZjkuLjM3YTVmNzAxZmEgMTAwNjQ0CitpbmRleCBkOGQxZTIzNDRlLi5kMjI0N2JmYzRmIDEwMDY0NAogLS0tIGEvZWxmL2RsLWNhY2hlLmMKICsrKyBiL2VsZi9kbC1jYWNoZS5jCiBAQCAtMTMzLDYgKzEzMywxMCBAQCBkbwkJCQkJCQkJCSAgICAgIFwKQEAgLTQwLDcgKzQxLDcgQEAKICBfZGxfY2FjaGVfbGliY21wIChjb25zdCBjaGFyICpwMSwgY29uc3QgY2hhciAqcDIpCiAgewogZGlmZiAtLWdpdCBhL2VsZi9kbC1sb2FkLmMgYi9lbGYvZGwtbG9hZC5jCi1pbmRleCA3NGUyZTVlOTYyLi44ZjE5MTg2ZTFjIDEwMDY0NAoraW5kZXggMmJkOWJjMjdmMi4uNDE3MGNjMWEwOSAxMDA2NDQKIC0tLSBhL2VsZi9kbC1sb2FkLmMKICsrKyBiL2VsZi9kbC1sb2FkLmMKIEBAIC0xMTAsOCArMTEwLDggQEAgc3RhdGljIHNpemVfdCBtYXhfY2Fwc3RybGVuIGF0dHJpYnV0ZV9yZWxybzsKQEAgLTU1LDcgKzU2LDcgQEAKICAgIFNZU1RFTV9ESVJTX0xFTgogIH07CiBkaWZmIC0tZ2l0IGEvZWxmL2ludGVycC5jIGIvZWxmL2ludGVycC5jCi1pbmRleCA5Y2Q1MGM3MjkxLi5mYzJmMzlkNzNjIDEwMDY0NAoraW5kZXggMjQzODI5ZjVmNy4uMGU3NDI0MTcwMyAxMDA2NDQKIC0tLSBhL2VsZi9pbnRlcnAuYwogKysrIGIvZWxmL2ludGVycC5jCiBAQCAtMTgsNSArMTgsNSBAQApAQCAtNjYsNyArNjcsNyBAQAogK2NvbnN0IGNoYXIgX19pbnZva2VfZHluYW1pY19saW5rZXJfX1s0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5pbnRlcnAiKSkpCiAgICA9IFJVTlRJTUVfTElOS0VSOwogZGlmZiAtLWdpdCBhL2VsZi9sZGNvbmZpZy5jIGIvZWxmL2xkY29uZmlnLmMKLWluZGV4IGZiZGQ4MTRlZGYuLjlmNGQ4ZDY5YjEgMTAwNjQ0CitpbmRleCAyMDZjZDUxZGY2Li4yZmQ0ZmI1NGFlIDEwMDY0NAogLS0tIGEvZWxmL2xkY29uZmlnLmMKICsrKyBiL2VsZi9sZGNvbmZpZy5jCiBAQCAtMTY4LDYgKzE2OCw5IEBAIHN0YXRpYyBzdHJ1Y3QgYXJncCBhcmdwID0KQEAgLTgwLDcgKzgxLDcgQEAKICAgICBhIHBsYXRmb3JtLiAgKi8KICBzdGF0aWMgaW50CiBkaWZmIC0tZ2l0IGEvZWxmL3J0bGQuYyBiL2VsZi9ydGxkLmMKLWluZGV4IDFiMGM3NDczOWYuLmE3MGE2MmQzMWUgMTAwNjQ0CitpbmRleCA1ZDk3ZjQxYjdiLi4yNmM1ZmVmOTI5IDEwMDY0NAogLS0tIGEvZWxmL3J0bGQuYwogKysrIGIvZWxmL3J0bGQuYwogQEAgLTEzMCw2ICsxMzAsNyBAQCBkc29fbmFtZV92YWxpZF9mb3Jfc3VpZCAoY29uc3QgY2hhciAqcCkKQEAgLTEwNyw3ICsxMDgsNyBAQAogICAgICAgICsrX2RsX3NraXBfYXJnczsKICAgICAgICAtLV9kbF9hcmdjOwogZGlmZiAtLWdpdCBhL2ljb252L2djb252X2NvbmYuYyBiL2ljb252L2djb252X2NvbmYuYwotaW5kZXggZjE3M2NkZTcxYi4uNWMzMjA1MDI2ZiAxMDA2NDQKK2luZGV4IGFlODkzN2NiYTAuLmYzMjFlZTQxOWUgMTAwNjQ0CiAtLS0gYS9pY29udi9nY29udl9jb25mLmMKICsrKyBiL2ljb252L2djb252X2NvbmYuYwogQEAgLTM2LDcgKzM2LDcgQEAKQEAgLTExNywxMCArMTE4LDEwIEBACiAtc3RhdGljIGNvbnN0IGNoYXIgZGVmYXVsdF9nY29udl9wYXRoW10gPSBHQ09OVl9QQVRIOwogK3N0YXRpYyBjaGFyIGRlZmF1bHRfZ2NvbnZfcGF0aFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBHQ09OVl9QQVRIOwogIAotIC8qIFRoZSBwYXRoIGVsZW1lbnRzLCBhcyBkZXRlcm1pbmVkIGJ5IHRoZSBfX2djb252X2dldF9wYXRoIGZ1bmN0aW9uLgotICAgIEFsbCBwYXRoIGVsZW1lbnRzIGVuZCBpbiBhIHNsYXNoLiAgKi8KKyAvKiBUeXBlIHRvIHJlcHJlc2VudCBzZWFyY2ggcGF0aC4gICovCisgc3RydWN0IHBhdGhfZWxlbQogZGlmZiAtLWdpdCBhL3N5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5oIGIvc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmgKLWluZGV4IGNmNDNmMWNmM2IuLjdmMDdhZGRlNTMgMTAwNjQ0CitpbmRleCBiYzhiNDAzMzFkLi5iMGZkZDIxNDRiIDEwMDY0NAogLS0tIGEvc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmgKICsrKyBiL3N5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5oCiBAQCAtMjcsMTAgKzI3LDYgQEAKQEAgLTEzNCwzICsxMzUsNiBAQAogICNpZm5kZWYgYWRkX3N5c3RlbV9kaXIKICAjIGRlZmluZSBhZGRfc3lzdGVtX2RpcihkaXIpIGFkZF9kaXIgKGRpcikKICAjZW5kaWYKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwNC1uYXRpdmVzZGstZ2xpYmMtQWxsb3ctNjQtYml0LWF0b21pY3MtZm9yLXg4Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwNC1uYXRpdmVzZGstZ2xpYmMtQWxsb3ctNjQtYml0LWF0b21pY3MtZm9yLXg4Ni5wYXRjaAppbmRleCAxYWUyZTMzLi5kNmM5YWFjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDQtbmF0aXZlc2RrLWdsaWJjLUFsbG93LTY0LWJpdC1hdG9taWNzLWZvci14ODYucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA0LW5hdGl2ZXNkay1nbGliYy1BbGxvdy02NC1iaXQtYXRvbWljcy1mb3IteDg2LnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBhMjM3NTUzY2NkMTUyNzY0NjJiZTIwMjMwNTdhMDE3ZmE4ZWU1ZDdjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBmZjBmNDc1NmYxYTk4MjAyNzI2YzY1NzQ1YWNhMzgzNTQ4NjRlMDMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFRodSwgMzEgRGVjIDIwMTUgMTQ6MzU6MzUgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gbmF0aXZlc2RrLWdsaWJjOiBBbGxvdyA2NCBiaXQgYXRvbWljcyBmb3IgeDg2CitTdWJqZWN0OiBbUEFUQ0ggMDQvMzBdIG5hdGl2ZXNkay1nbGliYzogQWxsb3cgNjQgYml0IGF0b21pY3MgZm9yIHg4NgogCiBUaGUgZml4IGNvbnNpc3Qgb2YgYWxsb3dpbmcgNjRiaXQgYXRvbWljIG9wcyBmb3IgeDg2LgogVGhpcyBzaG91bGQgYmUgc2FmZSBmb3IgaTU4NiBhbmQgbmV3ZXIgQ1BVcy4KQEAgLTEzLDE5ICsxMywzMCBAQAogU2lnbmVkLW9mZi1ieTogUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+CiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogLS0tCi0gc3lzZGVwcy9pMzg2L2F0b21pYy1tYWNoaW5lLmggfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisgc3lzZGVwcy94ODYvYXRvbWljLW1hY2hpbmUuaCB8IDMgKy0tCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyIGRlbGV0aW9ucygtKQogCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9pMzg2L2F0b21pYy1tYWNoaW5lLmggYi9zeXNkZXBzL2kzODYvYXRvbWljLW1hY2hpbmUuaAotaW5kZXggMjcyZGE1ZGQ4Zi4uNDA5Yzc1OWYxNCAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvaTM4Ni9hdG9taWMtbWFjaGluZS5oCi0rKysgYi9zeXNkZXBzL2kzODYvYXRvbWljLW1hY2hpbmUuaAotQEAgLTU0LDcgKzU0LDcgQEAgdHlwZWRlZiB1aW50bWF4X3QgdWF0b21pY19tYXhfdDsKLSAjIGVuZGlmCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy94ODYvYXRvbWljLW1hY2hpbmUuaCBiL3N5c2RlcHMveDg2L2F0b21pYy1tYWNoaW5lLmgKK2luZGV4IGFhNjBjYTRjZDYuLjNlNDJlMDAxODMgMTAwNjQ0CistLS0gYS9zeXNkZXBzL3g4Ni9hdG9taWMtbWFjaGluZS5oCisrKysgYi9zeXNkZXBzL3g4Ni9hdG9taWMtbWFjaGluZS5oCitAQCAtNTgsMTUgKzU4LDE0IEBAIHR5cGVkZWYgdWludG1heF90IHVhdG9taWNfbWF4X3Q7CiAgI2VuZGlmCiAgCi0tI2RlZmluZSBfX0hBVkVfNjRCX0FUT01JQ1MgMAotKyNkZWZpbmUgX19IQVZFXzY0Ql9BVE9NSUNTIDEKLSAjZGVmaW5lIFVTRV9BVE9NSUNfQ09NUElMRVJfQlVJTFRJTlMgMAotICNkZWZpbmUgQVRPTUlDX0VYQ0hBTkdFX1VTRVNfQ0FTIDAKKyAjZGVmaW5lIFVTRV9BVE9NSUNfQ09NUElMRVJfQlVJTFRJTlMJMQorKyMgZGVmaW5lIF9fSEFWRV82NEJfQVRPTUlDUwkJMQogIAorICNpZmRlZiBfX3g4Nl82NF9fCistIyBkZWZpbmUgX19IQVZFXzY0Ql9BVE9NSUNTCQkxCisgIyBkZWZpbmUgU1BfUkVHCQkJCSJyc3AiCisgIyBkZWZpbmUgU0VHX1JFRwkJCSJmcyIKKyAjIGRlZmluZSBCUl9DT05TVFJBSU5UCQkJInEiCisgIyBkZWZpbmUgSUJSX0NPTlNUUkFJTlQJCQkiaXEiCisgI2Vsc2UKKy0jIGRlZmluZSBfX0hBVkVfNjRCX0FUT01JQ1MJCTAKKyAjIGRlZmluZSBTUF9SRUcJCQkJImVzcCIKKyAjIGRlZmluZSBTRUdfUkVHCQkJImdzIgorICMgZGVmaW5lIEJSX0NPTlNUUkFJTlQJCQkiciIKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwNS1uYXRpdmVzZGstZ2xpYmMtTWFrZS1yZWxvY2F0YWJsZS1pbnN0YWxsLWZvci1sb2NhbGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA1LW5hdGl2ZXNkay1nbGliYy1NYWtlLXJlbG9jYXRhYmxlLWluc3RhbGwtZm9yLWxvY2FsZXMucGF0Y2gKaW5kZXggYjUzZjJlZi4uOWY5ZjUwMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA1LW5hdGl2ZXNkay1nbGliYy1NYWtlLXJlbG9jYXRhYmxlLWluc3RhbGwtZm9yLWxvY2FsZXMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA1LW5hdGl2ZXNkay1nbGliYy1NYWtlLXJlbG9jYXRhYmxlLWluc3RhbGwtZm9yLWxvY2FsZXMucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGUxZGM4NWFmMTgwMGFmYTRmYmY0ZWI1YTU5Y2M0MTAyNTQ5NWFmNTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGIyZWMxMTFkYzNhNDJkOWRjZTcxYzkwMzUyNDcyNGFlODJmZjIyZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogRnJpLCAzIEF1ZyAyMDE4IDA5OjU1OjEyIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIG5hdGl2ZXNkay1nbGliYzogTWFrZSByZWxvY2F0YWJsZSBpbnN0YWxsIGZvciBsb2NhbGVzCitTdWJqZWN0OiBbUEFUQ0ggMDUvMzBdIG5hdGl2ZXNkay1nbGliYzogTWFrZSByZWxvY2F0YWJsZSBpbnN0YWxsIGZvciBsb2NhbGVzCiAKIFRoZSBnbGliYyBsb2NhbGUgcGF0aCBpcyBoYXJkLWNvZGVkIHRvIHRoZSBpbnN0YWxsIHByZWZpeCwgYnV0IGluIFNES3Mgd2UgbmVlZAogdG8gYmUgYWJsZSB0byByZWxvY2F0ZSB0aGUgYmluYXJpZXMuICBFeHBhbmQgdGhlIHN0cmluZ3MgdG8gNEsgYW5kIHB1dCB0aGVtIGluIGEKQEAgLTE4LDcgKzE4LDcgQEAKICAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2xvY2FsZS9maW5kbG9jYWxlLmMgYi9sb2NhbGUvZmluZGxvY2FsZS5jCi1pbmRleCA4NzJjYWRiNWI5Li5kZDY1MWUwN2Y1IDEwMDY0NAoraW5kZXggOWFmNjA1YmQ2NC4uYjJiMGEzZjkzYiAxMDA2NDQKIC0tLSBhL2xvY2FsZS9maW5kbG9jYWxlLmMKICsrKyBiL2xvY2FsZS9maW5kbG9jYWxlLmMKIEBAIC01Niw3ICs1Niw3IEBAIHN0cnVjdCBfX2xvY2FsZV9kYXRhICpjb25zdCBfbmxfQ1tdIGF0dHJpYnV0ZV9oaWRkZW4gPQpAQCAtNDAsNyArNDAsNyBAQAogICAgZWxzZQogICAgICAvKiBXZSByZWFsbHkgaGF2ZSB0byBsb2FkIHNvbWUgZGF0YS4gIEZpcnN0IHNlZSB3aGV0aGVyIHRoZSBuYW1lIGlzCiBkaWZmIC0tZ2l0IGEvbG9jYWxlL2xvYWRhcmNoaXZlLmMgYi9sb2NhbGUvbG9hZGFyY2hpdmUuYwotaW5kZXggNTE2ZDMwZDhkMS4uOWJmYmUxYTVkZCAxMDA2NDQKK2luZGV4IDgwM2MxY2YyYTQuLjkwMjNmNDc1YjggMTAwNjQ0CiAtLS0gYS9sb2NhbGUvbG9hZGFyY2hpdmUuYwogKysrIGIvbG9jYWxlL2xvYWRhcmNoaXZlLmMKIEBAIC00Miw3ICs0Miw3IEBACkBAIC01Myw3ICs1Myw3IEBACiAgLyogU2l6ZSBvZiBpbml0aWFsIG1hcHBpbmcgd2luZG93LCBvcHRpbWFsIGlmIGxhcmdlIGVub3VnaCB0bwogICAgIGNvdmVyIHRoZSBoZWFkZXIgcGx1cyB0aGUgaW5pdGlhbCBsb2NhbGUuICAqLwogZGlmZiAtLWdpdCBhL2xvY2FsZS9sb2NhbGVpbmZvLmggYi9sb2NhbGUvbG9jYWxlaW5mby5oCi1pbmRleCA2ODgyMmE2MzE5Li41MzdiYzM1MTQ5IDEwMDY0NAoraW5kZXggN2MxY2MzZWVjYi4uNTNjYjhiZmM1OSAxMDA2NDQKIC0tLSBhL2xvY2FsZS9sb2NhbGVpbmZvLmgKICsrKyBiL2xvY2FsZS9sb2NhbGVpbmZvLmgKIEBAIC0zMjUsNyArMzI1LDcgQEAgX25sX2xvb2t1cF93b3JkIChsb2NhbGVfdCBsLCBpbnQgY2F0ZWdvcnksIGludCBpdGVtKQpAQCAtNjUsMyArNjUsNiBAQAogIAogIC8qIExvYWQgdGhlIGxvY2FsZSBkYXRhIGZvciBDQVRFR09SWSBmcm9tIHRoZSBmaWxlIHNwZWNpZmllZCBieSAqTkFNRS4KICAgICBJZiAqTkFNRSBpcyAiIiwgdXNlIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcyBzcGVjaWZpZWQgYnkgUE9TSVgsIGFuZAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA2LWZzbC1lNTAwLWU1NTAwLWU2NTAwLTYwM2UtZnNxcnQtaW1wbGVtZW50YXRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDYtZnNsLWU1MDAtZTU1MDAtZTY1MDAtNjAzZS1mc3FydC1pbXBsZW1lbnRhdGlvbi5wYXRjaAppbmRleCA5NzE3MDBhLi5hNmRkZGViIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDYtZnNsLWU1MDAtZTU1MDAtZTY1MDAtNjAzZS1mc3FydC1pbXBsZW1lbnRhdGlvbi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDYtZnNsLWU1MDAtZTU1MDAtZTY1MDAtNjAzZS1mc3FydC1pbXBsZW1lbnRhdGlvbi5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gZDIzYzU3N2IwYjcwYjM0MzM1OTcxYWJhZjNmNTBlNjE3ZGRhNjE1ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNGRjNGI0ZjYzZGQ3OTczNDA3OGZhNTQ0NDZlZGI3ZmUyZDljNzRmYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjAxOjUwICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGZzbCBlNTAwL2U1NTAwL2U2NTAwLzYwM2UgZnNxcnQgaW1wbGVtZW50YXRpb24KK1N1YmplY3Q6IFtQQVRDSCAwNi8zMF0gZnNsIGU1MDAvZTU1MDAvZTY1MDAvNjAzZSBmc3FydCBpbXBsZW1lbnRhdGlvbgogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIFNpZ25lZC1vZmYtYnk6IEVkbWFyIFdpZW5za29za2kgPGVkbWFyQGZyZWVzY2FsZS5jb20+CkBAIC0xNTc5LDMgKzE1NzksNiBAQAogKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvZTY1MDAvZnB1L0ltcGxpZXMKIEBAIC0wLDAgKzEgQEAKICtwb3dlcnBjL3Bvd2VycGM2NC9lNjUwMC9mcHUKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwNy1yZWFkbGliLUFkZC1PRUNPUkVfS05PV05fSU5URVJQUkVURVJfTkFNRVMtdG8ta25vd24tLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA3LXJlYWRsaWItQWRkLU9FQ09SRV9LTk9XTl9JTlRFUlBSRVRFUl9OQU1FUy10by1rbm93bi0ucGF0Y2gKaW5kZXggNDg3MTM0Ni4uMTdmZmM2ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA3LXJlYWRsaWItQWRkLU9FQ09SRV9LTk9XTl9JTlRFUlBSRVRFUl9OQU1FUy10by1rbm93bi0ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA3LXJlYWRsaWItQWRkLU9FQ09SRV9LTk9XTl9JTlRFUlBSRVRFUl9OQU1FUy10by1rbm93bi0ucGF0Y2gKQEAgLTEsNyArMSw4IEBACi1Gcm9tIGQ2NWY2ZWUyMTRkN2Q5MTQ0NWZjZWFiYzZhNWQ2YmY1NWIwZThkNGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDU1MDYyOTZlZjU1YTZlNDkxNmZlYmFiNjM4MDVkZGYyZDVhNTI5M2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMDoxMToyMiArMDAwMAotU3ViamVjdDogW1BBVENIXSByZWFkbGliOiBBZGQgT0VDT1JFX0tOT1dOX0lOVEVSUFJFVEVSX05BTUVTIHRvIGtub3duIG5hbWVzCitTdWJqZWN0OiBbUEFUQ0ggMDcvMzBdIHJlYWRsaWI6IEFkZCBPRUNPUkVfS05PV05fSU5URVJQUkVURVJfTkFNRVMgdG8ga25vd24KKyBuYW1lcwogCiBUaGlzIGJvbHRzIGluIGEgaG9vayBmb3IgT0UgdG8gcGFzcyBpdHMgb3duIHZlcnNpb24gb2YgaW50ZXJwcmV0ZXIKIG5hbWVzIGludG8gZ2xpYmMgZXNwZWNpYWxseSBmb3IgbXVsdGlsaWIgY2FzZSwgd2hlcmUgaXQgZGlmZmVycyBmcm9tIGFueQpAQCAtMTYsNyArMTcsNyBAQAogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQogCiBkaWZmIC0tZ2l0IGEvZWxmL3JlYWRsaWIuYyBiL2VsZi9yZWFkbGliLmMKLWluZGV4IDU3M2MwMTQ3NmMuLmQ4Yzc0MTIyODcgMTAwNjQ0CitpbmRleCBjOTc0M2U2NjkyLi42MzA3ZjkxOGZjIDEwMDY0NAogLS0tIGEvZWxmL3JlYWRsaWIuYwogKysrIGIvZWxmL3JlYWRsaWIuYwogQEAgLTUxLDYgKzUxLDcgQEAgc3RhdGljIHN0cnVjdCBrbm93bl9uYW1lcyBpbnRlcnByZXRlcnNbXSA9CkBAIC0yNywzICsyOCw2IEBACiAgfTsKICAKICBzdGF0aWMgc3RydWN0IGtub3duX25hbWVzIGtub3duX2xpYnNbXSA9CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDgtcHBjLXNxcnQtRml4LXVuZGVmaW5lZC1yZWZlcmVuY2UtdG8tX19zcXJ0X2Zpbml0ZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwOC1wcGMtc3FydC1GaXgtdW5kZWZpbmVkLXJlZmVyZW5jZS10by1fX3NxcnRfZmluaXRlLnBhdGNoCmluZGV4IGMwZDk2ZWIuLmFhY2M5ZjIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwOC1wcGMtc3FydC1GaXgtdW5kZWZpbmVkLXJlZmVyZW5jZS10by1fX3NxcnRfZmluaXRlLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwOC1wcGMtc3FydC1GaXgtdW5kZWZpbmVkLXJlZmVyZW5jZS10by1fX3NxcnRfZmluaXRlLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBlZTNhYTE0NjRmNDBjOTE2YzYyY2YzMjZiZjRjMThmOGI3MWEyMjliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBlYTk2OWQ3NzY3NDI4ZDczODIzYzkxYWQ5OTU1ODI5YmQ2NmI5ZTU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgMTggTWFyIDIwMTUgMDA6MTU6MDcgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gcHBjL3NxcnQ6IEZpeCB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX3NxcnRfZmluaXRlJworU3ViamVjdDogW1BBVENIIDA4LzMwXSBwcGMvc3FydDogRml4IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fc3FydF9maW5pdGUnCiAKIG9uIHBwYyBmaXhlcyB0aGUgZXJyb3JzIGxpa2UgYmVsb3cKIHwgLi8ubGlicy9saWJwdWxzZWNvcmUtMS4xLnNvOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX3NxcnRfZmluaXRlJwpAQCAtMjAzLDMgKzIwMyw2IEBACiAgICByZXR1cm4gZl93YXNoZiAoYik7CiAgfQogK3N0cm9uZ19hbGlhcyAoX19pZWVlNzU0X3NxcnRmLCBfX3NxcnRmX2Zpbml0ZSkKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwOS1fX2llZWU3NTRfc3FydC1mLWFyZS1ub3ctaW5saW5lLWZ1bmN0aW9ucy1hbmQtY2FsbC1vLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA5LV9faWVlZTc1NF9zcXJ0LWYtYXJlLW5vdy1pbmxpbmUtZnVuY3Rpb25zLWFuZC1jYWxsLW8ucGF0Y2gKaW5kZXggZDBiNDdjZC4uYjFkNDQxMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA5LV9faWVlZTc1NF9zcXJ0LWYtYXJlLW5vdy1pbmxpbmUtZnVuY3Rpb25zLWFuZC1jYWxsLW8ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA5LV9faWVlZTc1NF9zcXJ0LWYtYXJlLW5vdy1pbmxpbmUtZnVuY3Rpb25zLWFuZC1jYWxsLW8ucGF0Y2gKQEAgLTEsOCArMSw4IEBACi1Gcm9tIDE3ZTgyZDU5NGIyZDhkM2E2OTk4ZmFjZTk1MzM4MmY5ZDE0ZmIwNDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGE5ZTZjYTQ1Y2RhZjEzZWU1OTUwODlhNWE1ODBkMDBhOTVhMDZiZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMDoxNjozOCArMDAwMAotU3ViamVjdDogW1BBVENIXSBfX2llZWU3NTRfc3FydHssZn0gYXJlIG5vdyBpbmxpbmUgZnVuY3Rpb25zIGFuZCBjYWxsIG91dAotIF9fc2xvdyB2ZXJzaW9ucworU3ViamVjdDogW1BBVENIIDA5LzMwXSBfX2llZWU3NTRfc3FydHssZn0gYXJlIG5vdyBpbmxpbmUgZnVuY3Rpb25zIGFuZCBjYWxsCisgb3V0IF9fc2xvdyB2ZXJzaW9ucwogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIApAQCAtMzgyLDMgKzM4Miw2IEBACiArfQogKwogIHN0cm9uZ19hbGlhcyAoX19pZWVlNzU0X3NxcnRmLCBfX3NxcnRmX2Zpbml0ZSkKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxMC1RdW90ZS1mcm9tLWJ1Zy0xNDQzLXdoaWNoLWV4cGxhaW5zLXdoYXQtdGhlLXBhdGNoLWRvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEwLVF1b3RlLWZyb20tYnVnLTE0NDMtd2hpY2gtZXhwbGFpbnMtd2hhdC10aGUtcGF0Y2gtZG8ucGF0Y2gKaW5kZXggODZlZjNhMS4uNDZkMjA1OCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEwLVF1b3RlLWZyb20tYnVnLTE0NDMtd2hpY2gtZXhwbGFpbnMtd2hhdC10aGUtcGF0Y2gtZG8ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEwLVF1b3RlLWZyb20tYnVnLTE0NDMtd2hpY2gtZXhwbGFpbnMtd2hhdC10aGUtcGF0Y2gtZG8ucGF0Y2gKQEAgLTEsNyArMSw4IEBACi1Gcm9tIGZlOGQ5Yjc2ZTdjODgxY2MwYTBiNzI4ZWEyYmQ2MzdmYWZjYTA5NzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDUwYWQwMDQwMWViMTZiYjg4YzU3ZDk1YmM5MjdkZWVlYzQwMzNlMDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMDoyMDowOSArMDAwMAotU3ViamVjdDogW1BBVENIXSBRdW90ZSBmcm9tIGJ1ZyAxNDQzIHdoaWNoIGV4cGxhaW5zIHdoYXQgdGhlIHBhdGNoIGRvZXMgOgorU3ViamVjdDogW1BBVENIIDEwLzMwXSBRdW90ZSBmcm9tIGJ1ZyAxNDQzIHdoaWNoIGV4cGxhaW5zIHdoYXQgdGhlIHBhdGNoIGRvZXMKKyA6CiAKICAgV2UgYnVpbGQgc29tZSByYW5kb20gcHJvZ3JhbSBhbmQgbGluayBpdCB3aXRoIC1sdXN0LiAgV2hlbiB3ZSBydW4gaXQsCiAgIGl0IGRpZXMgd2l0aCBhIFNJR1NFR1YgYmVmb3JlIHJlYWNoaW5nIG1haW4oKS4KQEAgLTQ0LDcgKzQ1LDcgQEAKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL3N5c2RlcHMvYXJtL2RsLW1hY2hpbmUuaCBiL3N5c2RlcHMvYXJtL2RsLW1hY2hpbmUuaAotaW5kZXggMWE0ZmQzZjE3Yi4uYTAyYzQ3NTcxYSAxMDA2NDQKK2luZGV4IDdhMmY5ZDliNzguLjM2YTFkZDE4ODggMTAwNjQ0CiAtLS0gYS9zeXNkZXBzL2FybS9kbC1tYWNoaW5lLmgKICsrKyBiL3N5c2RlcHMvYXJtL2RsLW1hY2hpbmUuaAogQEAgLTUxMCw3ICs1MTAsNyBAQCBlbGZfbWFjaGluZV9yZWwgKHN0cnVjdCBsaW5rX21hcCAqbWFwLCBjb25zdCBFbGYzMl9SZWwgKnJlbG9jLApAQCAtNTYsMyArNTcsNiBAQAogIAkgIGJyZWFrOwogIAogIAljYXNlIFJfQVJNX1RMU19UUE9GRjMyOgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDExLWVnbGliYy1ydW4tbGlibS1lcnItdGFiLnBsLXdpdGgtc3BlY2lmaWMtZGlycy1pbi1TLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDExLWVnbGliYy1ydW4tbGlibS1lcnItdGFiLnBsLXdpdGgtc3BlY2lmaWMtZGlycy1pbi1TLnBhdGNoCmluZGV4IDMyYWFlNWMuLjI5M2I3MmUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxMS1lZ2xpYmMtcnVuLWxpYm0tZXJyLXRhYi5wbC13aXRoLXNwZWNpZmljLWRpcnMtaW4tUy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTEtZWdsaWJjLXJ1bi1saWJtLWVyci10YWIucGwtd2l0aC1zcGVjaWZpYy1kaXJzLWluLVMucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDMwMTJjYjgzOWE2NGU3ZDVjNjIxZWZhNzliNjQzZDE2OTI5MGU2ZTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGEyOWE3MTg4OTBhM2YzMmU3MTM1ZjZiNjRiMWE4MGM3NGYyZDE0NTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBUaW5nIExpdSA8YjI4NDk1QGZyZWVzY2FsZS5jb20+CiBEYXRlOiBXZWQsIDE5IERlYyAyMDEyIDA0OjM5OjU3IC0wNjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGVnbGliYzogcnVuIGxpYm0tZXJyLXRhYi5wbCB3aXRoIHNwZWNpZmljIGRpcnMgaW4gJHtTfQorU3ViamVjdDogW1BBVENIIDExLzMwXSBlZ2xpYmM6IHJ1biBsaWJtLWVyci10YWIucGwgd2l0aCBzcGVjaWZpYyBkaXJzIGluICR7U30KIAogbGlibS1lcnItdGFiLnBsIHdpbGwgcGFyc2UgYWxsIHRoZSBmaWxlcyBuYW1lZCAibGlibS10ZXN0LXVscHMiCiBpbiB0aGUgZ2l2ZW4gZGlyIHJlY3Vyc2l2ZWx5LiBUbyBhdm9pZCBwYXJzaW5nIHRoZSBvbmUgaW4KQEAgLTE4LDE2ICsxOCwxOSBAQAogIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL21hbnVhbC9NYWtlZmlsZSBiL21hbnVhbC9NYWtlZmlsZQotaW5kZXggYzI3NTY2NDBhNy4uMWI1YmIxNmE5NiAxMDA2NDQKK2luZGV4IDRmNzZlZTg1ZDIuLjA0YjhjOGMzMjAgMTAwNjQ0CiAtLS0gYS9tYW51YWwvTWFrZWZpbGUKICsrKyBiL21hbnVhbC9NYWtlZmlsZQotQEAgLTEwMiw3ICsxMDIsOCBAQCAkKG9ianBmeClsaWJtLWVyci50ZXhpOiAkKG9ianBmeClzdGFtcC1saWJtLWVycgotICQob2JqcGZ4KXN0YW1wLWxpYm0tZXJyOiBsaWJtLWVyci10YWIucGwgJCh3aWxkY2FyZCAkKGZvcmVhY2ggZGlyLCQoc3lzZGlycyksXAotIAkJCQkJCSAgICAgJChkaXIpL2xpYm0tdGVzdC11bHBzKSkKK0BAIC0xMDMsNyArMTAzLDggQEAgJChvYmpwZngpc3RhbXAtbGlibS1lcnI6ICQoLi4pbWF0aC9nZW4tbGlibS10ZXN0LnB5IFwKKyAJCQkgJCh3aWxkY2FyZCAkKGZvcmVhY2ggZGlyLCQoc3lzZGlycyksXAorIAkJCQkJCSAgJChkaXIpL2xpYm0tdGVzdC11bHBzKSkKICAJcHdkPWBwd2RgOyBcCi0tCSQoUEVSTCkgJDwgJCRwd2QvLi4gPiAkKG9ianBmeClsaWJtLWVyci10bXAKLSsJJChQRVJMKSAkPCAkJHB3ZC8uLi9wb3J0cyA+ICQob2JqcGZ4KWxpYm0tZXJyLXRtcAotKwkkKFBFUkwpICQ8ICQkcHdkLy4uL3N5c2RlcHMgPj4gJChvYmpwZngpbGlibS1lcnItdG1wCistCSQoUFlUSE9OKSAkPCAtcyAkJHB3ZC8uLiAtbSAkKG9ianBmeClsaWJtLWVyci10bXAKKysJJChQWVRIT04pICQ8IC1zICQkcHdkLy4uL3BvcnRzIC1tICQob2JqcGZ4KWxpYm0tZXJyLXRtcAorKwkkKFBZVEhPTikgJDwgLXMgJCRwd2QvLi4vc3lzZGVwcyAtbSAkKG9ianBmeClsaWJtLWVyci10bXAKICAJJChtb3ZlLWlmLWNoYW5nZSkgJChvYmpwZngpbGlibS1lcnItdG1wICQob2JqcGZ4KWxpYm0tZXJyLnRleGkKICAJdG91Y2ggJEAKICAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxMi1fX2llZWU3NTRfc3FydC1mLWFyZS1ub3ctaW5saW5lLWZ1bmN0aW9ucy1hbmQtY2FsbC1vLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEyLV9faWVlZTc1NF9zcXJ0LWYtYXJlLW5vdy1pbmxpbmUtZnVuY3Rpb25zLWFuZC1jYWxsLW8ucGF0Y2gKaW5kZXggOTMzOTVjMy4uNmUxNzViNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEyLV9faWVlZTc1NF9zcXJ0LWYtYXJlLW5vdy1pbmxpbmUtZnVuY3Rpb25zLWFuZC1jYWxsLW8ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEyLV9faWVlZTc1NF9zcXJ0LWYtYXJlLW5vdy1pbmxpbmUtZnVuY3Rpb25zLWFuZC1jYWxsLW8ucGF0Y2gKQEAgLTEsOCArMSw4IEBACi1Gcm9tIDkzYWI2OWFlNGM5ODMwMzkyOWJhOTQ5MjEzMGEwMjFmYTRhMjE1YmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDc3N2RhODhhODE5NzM4NjgzZTQzODk1ODBjZmJmZGVkMmE4M2U4N2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMDoyNDo0NiArMDAwMAotU3ViamVjdDogW1BBVENIXSBfX2llZWU3NTRfc3FydHssZn0gYXJlIG5vdyBpbmxpbmUgZnVuY3Rpb25zIGFuZCBjYWxsIG91dAotIF9fc2xvdyB2ZXJzaW9ucworU3ViamVjdDogW1BBVENIIDEyLzMwXSBfX2llZWU3NTRfc3FydHssZn0gYXJlIG5vdyBpbmxpbmUgZnVuY3Rpb25zIGFuZCBjYWxsCisgb3V0IF9fc2xvdyB2ZXJzaW9ucwogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIApAQCAtNTYsMyArNTYsNiBAQAogICAgICAgZmxvYXQgYjsKICAjZW5kaWYKICB7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTMtc3lzZGVwcy1nbnUtY29uZmlndXJlLmFjLWhhbmRsZS1jb3JyZWN0bHktbGliY19jdl9yby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxMy1zeXNkZXBzLWdudS1jb25maWd1cmUuYWMtaGFuZGxlLWNvcnJlY3RseS1saWJjX2N2X3JvLnBhdGNoCmluZGV4IDk5OTg2OTEuLmI1YWRlY2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxMy1zeXNkZXBzLWdudS1jb25maWd1cmUuYWMtaGFuZGxlLWNvcnJlY3RseS1saWJjX2N2X3JvLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxMy1zeXNkZXBzLWdudS1jb25maWd1cmUuYWMtaGFuZGxlLWNvcnJlY3RseS1saWJjX2N2X3JvLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBhN2JkOGFhNjVmM2YyNzU1ZDZkYmQwZDVhZGJmZDI2OWMxZmIwMDk0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBmOThiMWI5ZTZiNTY5YWJkMzU5NGI0OTIzYWNlMGM5NjZjOWRhZWNlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgMTggTWFyIDIwMTUgMDA6Mjc6MTAgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gc3lzZGVwcy9nbnUvY29uZmlndXJlLmFjOiBoYW5kbGUgY29ycmVjdGx5CitTdWJqZWN0OiBbUEFUQ0ggMTMvMzBdIHN5c2RlcHMvZ251L2NvbmZpZ3VyZS5hYzogaGFuZGxlIGNvcnJlY3RseQogICRsaWJjX2N2X3Jvb3RzYmluZGlyCiAKIFVwc3RyZWFtLVN0YXR1czpQZW5kaW5nCkBAIC0zNywzICszNyw2IEBACiArICB0ZXN0IC1uICIkbGliY19jdl9yb290c2JpbmRpciIgfHwgbGliY19jdl9yb290c2JpbmRpcj0vc2JpbgogICAgOzsKICBlc2FjCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTQtQWRkLXVudXNlZC1hdHRyaWJ1dGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTQtQWRkLXVudXNlZC1hdHRyaWJ1dGUucGF0Y2gKaW5kZXggOWQ2YWIzMC4uMWNkOTE0NyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE0LUFkZC11bnVzZWQtYXR0cmlidXRlLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxNC1BZGQtdW51c2VkLWF0dHJpYnV0ZS5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMmNlNWJjNmRhMjNkY2I0MDJhZmRlYjk2N2ZhNDRjMzllZWNmNmQzNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYjljZDk5MjA1MjU1MGQ0YjJiYmE5NTQwOTllMjIxNjc3YTY2NTJlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjI4OjQxICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFkZCB1bnVzZWQgYXR0cmlidXRlCitTdWJqZWN0OiBbUEFUQ0ggMTQvMzBdIEFkZCB1bnVzZWQgYXR0cmlidXRlCiAKIEhlbHBzIGluIGF2b2lkaW5nIGdjYyB3YXJuaW5nIHdoZW4gaGVhZGVyIGlzIGlzIGluY2x1ZGVkIGluCiBhIHNvdXJjZSBmaWxlIHdoaWNoIGRvZXMgbm90IHVzZSBib3RoIGZ1bmN0aW9ucwpAQCAtMTcsNyArMTcsNyBAQAogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvaWNvbnYvZ2NvbnZfY2hhcnNldC5oIGIvaWNvbnYvZ2NvbnZfY2hhcnNldC5oCi1pbmRleCAxMjNlMmE2MmNlLi42M2NjODNlYzg0IDEwMDY0NAoraW5kZXggOTFlMGFkMzE0MS4uMmU5NTQ5ZmU0OSAxMDA2NDQKIC0tLSBhL2ljb252L2djb252X2NoYXJzZXQuaAogKysrIGIvaWNvbnYvZ2NvbnZfY2hhcnNldC5oCiBAQCAtMjEsNyArMjEsNyBAQApAQCAtMjksMyArMjksNiBAQAogIHN0cmlwIChjaGFyICp3cCwgY29uc3QgY2hhciAqcykKICB7CiAgICBpbnQgc2xhc2hfY291bnQgPSAwOworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE1LXllcy13aXRoaW4tdGhlLXBhdGgtc2V0cy13cm9uZy1jb25maWctdmFyaWFibGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE1LXllcy13aXRoaW4tdGhlLXBhdGgtc2V0cy13cm9uZy1jb25maWctdmFyaWFibGVzLnBhdGNoCmluZGV4IDAyNjdlN2EuLmYyZTE4MDIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxNS15ZXMtd2l0aGluLXRoZS1wYXRoLXNldHMtd3JvbmctY29uZmlnLXZhcmlhYmxlcy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTUteWVzLXdpdGhpbi10aGUtcGF0aC1zZXRzLXdyb25nLWNvbmZpZy12YXJpYWJsZXMucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGIzODIxMzhjNDFjY2Y2MDc5YjQ0NTkyZjFlNzRmMTgzY2E4MjgxYmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGU4YTg4ZmIzYmI2ZmZjYzQzODcxYTdjYWY3YWQ5YzU5YmQxODNlNTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMDozMTowNiArMDAwMAotU3ViamVjdDogW1BBVENIXSAneWVzJyB3aXRoaW4gdGhlIHBhdGggc2V0cyB3cm9uZyBjb25maWcgdmFyaWFibGVzCitTdWJqZWN0OiBbUEFUQ0ggMTUvMzBdICd5ZXMnIHdpdGhpbiB0aGUgcGF0aCBzZXRzIHdyb25nIGNvbmZpZyB2YXJpYWJsZXMKIAogSXQgc2VlbXMgdGhhdCB0aGUgJ0FDX0VHUkVQX0NQUCh5ZXMuLi4nIGV4YW1wbGUgaXMgcXVpdGUgcG9wdWxhcgogYnV0IGJlaW5nIHN1Y2ggYSBzaG9ydCB3b3JkIHRvIGdyZXAgaXQgaXMgbGlrZWx5IHRvIHByb2R1Y2UKQEAgLTI1OCwzICsyNTgsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgI2VuZGlmCiAgICAgIF0sIGxpYmNfY3ZfcHBjNjRfZGVmX2NhbGxfZWxmPXllcywgbGliY19jdl9wcGM2NF9kZWZfY2FsbF9lbGY9bm8pXSkKICAgIGlmIHRlc3QgJGxpYmNfY3ZfcHBjNjRfZGVmX2NhbGxfZWxmID0gbm87IHRoZW4KKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxNi10aW1lem9uZS1yZS13cml0dGVuLXR6c2VsZWN0LWFzLXBvc2l4LXNoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE2LXRpbWV6b25lLXJlLXdyaXR0ZW4tdHpzZWxlY3QtYXMtcG9zaXgtc2gucGF0Y2gKaW5kZXggMTU0NTNlYy4uOGE5ZmE0OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE2LXRpbWV6b25lLXJlLXdyaXR0ZW4tdHpzZWxlY3QtYXMtcG9zaXgtc2gucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE2LXRpbWV6b25lLXJlLXdyaXR0ZW4tdHpzZWxlY3QtYXMtcG9zaXgtc2gucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDA0ZmI3YjkzZGM0MGMxZjk2ZWJjMDVkMjlhMmYwMmY5ZTRmMGQ1NzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDEwZjQ3MDQ3NmRjOTQ3ZDdiOTUwZDZhNjZmN2MwNmY1MDBjOTZjNjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMDozMzowMyArMDAwMAotU3ViamVjdDogW1BBVENIXSB0aW1lem9uZTogcmUtd3JpdHRlbiB0enNlbGVjdCBhcyBwb3NpeCBzaAorU3ViamVjdDogW1BBVENIIDE2LzMwXSB0aW1lem9uZTogcmUtd3JpdHRlbiB0enNlbGVjdCBhcyBwb3NpeCBzaAogCiBUbyBhdm9pZCB0aGUgYmFzaCBkZXBlbmRlbmN5LgogCkBAIC0xNSw3ICsxNSw3IEBACiAgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS90aW1lem9uZS9NYWtlZmlsZSBiL3RpbWV6b25lL01ha2VmaWxlCi1pbmRleCAwMTk0YWJhNGExLi41OGU1NDA1YTA1IDEwMDY0NAoraW5kZXggNDkzZGVjYTc5MC4uMzZlNTU5ZTE2YyAxMDA2NDQKIC0tLSBhL3RpbWV6b25lL01ha2VmaWxlCiArKysgYi90aW1lem9uZS9NYWtlZmlsZQogQEAgLTEyMiw3ICsxMjIsNyBAQCAkKHRlc3RkYXRhKS9YVCU6IHRlc3RkYXRhL1hUJQpAQCAtMjgsMTAgKzI4LDEwIEBACiAgCSAgICAtZSAnL1RaVkVSU0lPTj0vc3xzZWVfTWFrZWZpbGV8IiQodmVyc2lvbikifCcgXAogIAkgICAgLWUgJy9QS0dWRVJTSU9OPS9zfD0uKnw9IiQoUEtHVkVSU0lPTikifCcgXAogZGlmZiAtLWdpdCBhL3RpbWV6b25lL3R6c2VsZWN0LmtzaCBiL3RpbWV6b25lL3R6c2VsZWN0LmtzaAotaW5kZXggZDJjM2E2ZDFkZC4uMDg5Njc5ZjMwNiAxMDA3NTUKK2luZGV4IDE4ZmNlMjdlMjQuLjcwNzQ1ZjlkMzYgMTAwNzU1CiAtLS0gYS90aW1lem9uZS90enNlbGVjdC5rc2gKICsrKyBiL3RpbWV6b25lL3R6c2VsZWN0LmtzaAotQEAgLTM1LDcgKzM1LDcgQEAgUkVQT1JUX0JVR1NfVE89dHpAaWFuYS5vcmcKK0BAIC0zNCw3ICszNCw3IEBAIFJFUE9SVF9CVUdTX1RPPXR6QGlhbmEub3JnCiAgCiAgIyBTcGVjaWZ5IGRlZmF1bHQgdmFsdWVzIGZvciBlbnZpcm9ubWVudCB2YXJpYWJsZXMgaWYgdGhleSBhcmUgdW5zZXQuCiAgOiAke0FXSz1hd2t9CkBAIC00MCwzICs0MCw2IEBACiAgCiAgIyBPdXRwdXQgb25lIGFyZ3VtZW50IGFzLWlzIHRvIHN0YW5kYXJkIG91dHB1dC4KICAjIFNhZmVyIHRoYW4gJ2VjaG8nLCB3aGljaCBjYW4gbWlzaGFuZGxlICdcJyBvciBsZWFkaW5nICctJy4KKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxNy1SZW1vdmUtYmFzaC1kZXBlbmRlbmN5LWZvci1uc2NkLWluaXQtc2NyaXB0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE3LVJlbW92ZS1iYXNoLWRlcGVuZGVuY3ktZm9yLW5zY2QtaW5pdC1zY3JpcHQucGF0Y2gKaW5kZXggMDZkMmNkMS4uYTI3NzU5YSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE3LVJlbW92ZS1iYXNoLWRlcGVuZGVuY3ktZm9yLW5zY2QtaW5pdC1zY3JpcHQucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE3LVJlbW92ZS1iYXNoLWRlcGVuZGVuY3ktZm9yLW5zY2QtaW5pdC1zY3JpcHQucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDdhMmYyNDRjMDk4MGE1NGVkNzRmOTU0NGFiNDRhNzI2OWVmMTJiY2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDgwOTM5MmQyMGZhOWE5ZjgxNTkyNDI0NTFmOTk2OWU2NWE2NTg4MzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogVGh1LCAzMSBEZWMgMjAxNSAxNDozMzowMiAtMDgwMAotU3ViamVjdDogW1BBVENIXSBSZW1vdmUgYmFzaCBkZXBlbmRlbmN5IGZvciBuc2NkIGluaXQgc2NyaXB0CitTdWJqZWN0OiBbUEFUQ0ggMTcvMzBdIFJlbW92ZSBiYXNoIGRlcGVuZGVuY3kgZm9yIG5zY2QgaW5pdCBzY3JpcHQKIAogVGhlIG5zY2QgaW5pdCBzY3JpcHQgdXNlcyAjISAvYmluL2Jhc2ggYnV0IG9ubHkgcmVhbGx5IHVzZXMgb25lIGJhc2hpc20KICh0cmFuc2xhdGVkIHN0cmluZ3MpLCBzbyByZW1vdmUgdGhlbSBhbmQgc3dpdGNoIHRoZSBzaGVsbCB0byAjIS9iaW4vc2guCkBAIC03MCwzICs3MCw2IEBACiAgCVJFVFZBTD0xCiAgCTs7CiAgZXNhYworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE4LWVnbGliYy1Dcm9zcy1idWlsZGluZy1hbmQtdGVzdGluZy1pbnN0cnVjdGlvbnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTgtZWdsaWJjLUNyb3NzLWJ1aWxkaW5nLWFuZC10ZXN0aW5nLWluc3RydWN0aW9ucy5wYXRjaAppbmRleCAyOTEwOWEyLi5mODBhM2VlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTgtZWdsaWJjLUNyb3NzLWJ1aWxkaW5nLWFuZC10ZXN0aW5nLWluc3RydWN0aW9ucy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTgtZWdsaWJjLUNyb3NzLWJ1aWxkaW5nLWFuZC10ZXN0aW5nLWluc3RydWN0aW9ucy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNDRhNWM3OWVmZWEwOWY1Yjk5MGU1MjRlYzQyYWJkZWVmNDQ0MDU2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMDE2ZDY5ODc2MDBkNDlkM2Y0NTg3NDA5NmU5NDNiOTdkMTY2NzUzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjQyOjU4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGVnbGliYzogQ3Jvc3MgYnVpbGRpbmcgYW5kIHRlc3RpbmcgaW5zdHJ1Y3Rpb25zCitTdWJqZWN0OiBbUEFUQ0ggMTgvMzBdIGVnbGliYzogQ3Jvc3MgYnVpbGRpbmcgYW5kIHRlc3RpbmcgaW5zdHJ1Y3Rpb25zCiAKIFBvcnRlZCBmcm9tIGVnbGliYwogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCkBAIC02MTQsMyArNjE0LDYgQEAKICstIFNvbWUgdGVzdHMgcmVxdWlyZSBhY2Nlc3MgdG8gbGlic3RkYysrLnNvLjYgYW5kIGxpYmdjY19zLnNvLjE7IHdlCiArICBzaW1wbHkgcGxhY2UgY29waWVzIG9mIHRoZXNlIGxpYnJhcmllcyBpbiB0aGUgdG9wIEdMSUJDIGJ1aWxkCiArICBkaXJlY3RvcnkuCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTktZWdsaWJjLUhlbHAtYm9vdHN0cmFwLWNyb3NzLXRvb2xjaGFpbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxOS1lZ2xpYmMtSGVscC1ib290c3RyYXAtY3Jvc3MtdG9vbGNoYWluLnBhdGNoCmluZGV4IDcxYzJhYjkuLjYwM2JmMjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxOS1lZ2xpYmMtSGVscC1ib290c3RyYXAtY3Jvc3MtdG9vbGNoYWluLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxOS1lZ2xpYmMtSGVscC1ib290c3RyYXAtY3Jvc3MtdG9vbGNoYWluLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBmNGVjNTUyN2Q1NjJkMzg1MjNhYmI4NTg3YTZjNzUzMmU5ZDIxZjhhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA3ZTQ0MjM1MjhkMzYyY2Y2MjY4YjE5MDJhOGUzMGQ3MTA0MzFmMzMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgMTggTWFyIDIwMTUgMDA6NDk6MjggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gZWdsaWJjOiBIZWxwIGJvb3RzdHJhcCBjcm9zcyB0b29sY2hhaW4KK1N1YmplY3Q6IFtQQVRDSCAxOS8zMF0gZWdsaWJjOiBIZWxwIGJvb3RzdHJhcCBjcm9zcyB0b29sY2hhaW4KIAogVGFrZW4gZnJvbSBFR0xJQkMsIHIxNDg0ICsgcjE1MjUKIApAQCAtMjksNyArMjksNyBAQAogIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL3N0dWJzLWJvb3RzdHJhcC5oCiAKIGRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCi1pbmRleCBkM2YyNWE1MjVhLi5hYjM4Mzg2N2UyIDEwMDY0NAoraW5kZXggNGEwMTRkNmVmZi4uM2ExZjQxOWJjMyAxMDA2NDQKIC0tLSBhL01ha2VmaWxlCiArKysgYi9NYWtlZmlsZQogQEAgLTcwLDkgKzcwLDE4IEBAIHN1YmRpci1kaXJzID0gaW5jbHVkZQpAQCAtOTUsMyArOTUsNiBAQAogKyAgIGRpZmZpY3VsdCBoZWFkZXJzLiAgVGhlIDxnbnUvc3R1YnMuaD4gaGVhZGVyIGRlcGVuZHMsIHZpYSB0aGUKICsgICBFR0xJQkMgc3ViZGlyICdzdHVicycgbWFrZSB0YXJnZXRzLCBvbiBldmVyeSAubyBmaWxlIGluIEVHTElCQywgYnV0CiArICAgYW4gZW1wdHkgc3R1YnMuaCBsaWtlIHRoaXMgd2lsbCBkbyBmaW5lIGZvciBHQ0MuICAqLworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDIwLWVnbGliYy1DbGVhci1jYWNoZS1saW5lcy1vbi1wcGM4eHgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjAtZWdsaWJjLUNsZWFyLWNhY2hlLWxpbmVzLW9uLXBwYzh4eC5wYXRjaAppbmRleCA2ZTQ3NWE3Li45ODViMTdiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjAtZWdsaWJjLUNsZWFyLWNhY2hlLWxpbmVzLW9uLXBwYzh4eC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjAtZWdsaWJjLUNsZWFyLWNhY2hlLWxpbmVzLW9uLXBwYzh4eC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNmMyMzY2MGQwMzVlNzFkZTBlMjBiNDA0NjBhZDMwNTBiZDA1NzY2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gOGM0ZDdkNzBhODRhNjlmZTVlOGQ2OTUzOTM2OGFhMTFmOGZlMjBhYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBUaHUsIDMxIERlYyAyMDE1IDE1OjE1OjA5IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGVnbGliYzogQ2xlYXIgY2FjaGUgbGluZXMgb24gcHBjOHh4CitTdWJqZWN0OiBbUEFUQ0ggMjAvMzBdIGVnbGliYzogQ2xlYXIgY2FjaGUgbGluZXMgb24gcHBjOHh4CiAKIDIwMDctMDYtMTMgIE5hdGhhbiBTaWR3ZWxsICA8bmF0aGFuQGNvZGVzb3VyY2VyeS5jb20+CiAgICAgICAgICAgICBNYXJrIFNoaW53ZWxsICA8c2hpbndlbGxAY29kZXNvdXJjZXJ5LmNvbT4KQEAgLTIxLDcgKzIxLDcgQEAKICAyIGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLXN5c2RlcC5jIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9kbC1zeXNkZXAuYwotaW5kZXggNzgwNTFiYzdiYy4uZTI0ZjQ0MjMyMCAxMDA2NDQKK2luZGV4IGIwNGVjYzRhNGMuLjc1YmRhOTcyNDEgMTAwNjQ0CiAtLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLXN5c2RlcC5jCiArKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLXN5c2RlcC5jCiBAQCAtMjQsOSArMjQsMjEgQEAgaW50IF9fY2FjaGVfbGluZV9zaXplIGF0dHJpYnV0ZV9oaWRkZW47CkBAIC00OCw3ICs0OCw3IEBACiAgCWJyZWFrOwogIAogZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvbGliYy1zdGFydC5jIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9saWJjLXN0YXJ0LmMKLWluZGV4IGYyYWQwYzM1NWQuLjNlNjc3Mzc5NWUgMTAwNjQ0CitpbmRleCA0ZmQ1ZjcwNzAwLi4xYTIxZTQ2NzVjIDEwMDY0NAogLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9saWJjLXN0YXJ0LmMKICsrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvbGliYy1zdGFydC5jCiBAQCAtNzMsMTEgKzczLDI1IEBAIF9fbGliY19zdGFydF9tYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YsCkBAIC03OCwzICs3OCw2IEBACiAgCV9fY2FjaGVfbGluZV9zaXplID0gYXYtPmFfdW4uYV92YWw7CiAgCWJyZWFrOwogICNpZm5kZWYgU0hBUkVECistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjEtZWdsaWJjLVJlc29sdmUtX19mcHNjcl92YWx1ZXMtb24tU0g0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDIxLWVnbGliYy1SZXNvbHZlLV9fZnBzY3JfdmFsdWVzLW9uLVNINC5wYXRjaAppbmRleCA4YWVjZjI2Li5mYjFiNDNiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjEtZWdsaWJjLVJlc29sdmUtX19mcHNjcl92YWx1ZXMtb24tU0g0LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMS1lZ2xpYmMtUmVzb2x2ZS1fX2Zwc2NyX3ZhbHVlcy1vbi1TSDQucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDU1NTMxZWY1N2QwNDAwNmM1YTFlM2IzMmE4ZTA0MTAzNzJmODYwMDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDE5ZjA0MTIxNTY3M2Q0NDk5ZWU5YjIzODA1ZDVjMjI0YzQwNjM2ODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMDo1NTo1MyArMDAwMAotU3ViamVjdDogW1BBVENIXSBlZ2xpYmM6IFJlc29sdmUgX19mcHNjcl92YWx1ZXMgb24gU0g0CitTdWJqZWN0OiBbUEFUQ0ggMjEvMzBdIGVnbGliYzogUmVzb2x2ZSBfX2Zwc2NyX3ZhbHVlcyBvbiBTSDQKIAogMjAxMC0wOS0yOSAgTm9idWhpcm8gSXdhbWF0c3UgIDxpd2FtYXRzdUBuaWdhdXJpLm9yZz4KICAgICAgICAgICAgIEFuZHJldyBTdHViYnMgIDxhbXNAY29kZXNvdXJjZXJ5LmNvbT4KQEAgLTMzLDcgKzMzLDcgQEAKICAgICAgIyBhKgogICAgICBhbHBoYXNvcnQ2NDsKIGRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXNkZXAuUyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3N5c2RlcC5TCi1pbmRleCBjNGUyOGZmYjk4Li42NDhiYWUwM2Q1IDEwMDY0NAoraW5kZXggNmNlMzZkNmRkNS4uNDI1ODExY2M3NyAxMDA2NDQKIC0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3N5c2RlcC5TCiArKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXNkZXAuUwogQEAgLTMwLDMgKzMwLDE0IEBAIEVOVFJZIChfX3N5c2NhbGxfZXJyb3IpCkBAIC01MSwzICs1MSw2IEBACiArICAgICAgIC5sb25nIDB4ODAwMDAKICt3ZWFrX2FsaWFzIChfX19mcHNjcl92YWx1ZXMsIF9fZnBzY3JfdmFsdWVzKQogKworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDIyLWVnbGliYy1Gb3J3YXJkLXBvcnQtY3Jvc3MtbG9jYWxlLWdlbmVyYXRpb24tc3VwcG9ydC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMi1lZ2xpYmMtRm9yd2FyZC1wb3J0LWNyb3NzLWxvY2FsZS1nZW5lcmF0aW9uLXN1cHBvcnQucGF0Y2gKaW5kZXggYWE2MmM2My4uYTJkMzVkNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDIyLWVnbGliYy1Gb3J3YXJkLXBvcnQtY3Jvc3MtbG9jYWxlLWdlbmVyYXRpb24tc3VwcG9ydC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjItZWdsaWJjLUZvcndhcmQtcG9ydC1jcm9zcy1sb2NhbGUtZ2VuZXJhdGlvbi1zdXBwb3J0LnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA0YmIyM2ZiYjA3OTg0YjkzZmQxNGYzNTNmZDkzMjVkOTI3YjBjZDk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAxYWUxNWY2MGE4NGYxNjE4N2UwNmEwNTkwNmY0NGE2NjU4YmFlNDg3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgMTggTWFyIDIwMTUgMDE6MzM6NDkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gZWdsaWJjOiBGb3J3YXJkIHBvcnQgY3Jvc3MgbG9jYWxlIGdlbmVyYXRpb24gc3VwcG9ydAorU3ViamVjdDogW1BBVENIIDIyLzMwXSBlZ2xpYmM6IEZvcndhcmQgcG9ydCBjcm9zcyBsb2NhbGUgZ2VuZXJhdGlvbiBzdXBwb3J0CiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogCkBAIC0yMyw3ICsyMyw3IEBACiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxvY2FsZS9jYXRuYW1lcy5jCiAKIGRpZmYgLS1naXQgYS9sb2NhbGUvTWFrZWZpbGUgYi9sb2NhbGUvTWFrZWZpbGUKLWluZGV4IGZkOTk3MjI3OWIuLjE3NmIzOTQ2ZGUgMTAwNjQ0CitpbmRleCA3NjRlNzUxYzM2Li44NjY5NTdmZWZhIDEwMDY0NAogLS0tIGEvbG9jYWxlL01ha2VmaWxlCiArKysgYi9sb2NhbGUvTWFrZWZpbGUKIEBAIC0yNiw3ICsyNiw4IEBAIGhlYWRlcnMJCT0gbGFuZ2luZm8uaCBsb2NhbGUuaCBiaXRzL2xvY2FsZS5oIFwKQEAgLTkxLDcgKzkxLDcgQEAKICsgICAgW0xDX0FMTF0gPSBzaXplb2YgKCJMQ19BTEwiKSAtIDEKICsgIH07CiBkaWZmIC0tZ2l0IGEvbG9jYWxlL2xvY2FsZWluZm8uaCBiL2xvY2FsZS9sb2NhbGVpbmZvLmgKLWluZGV4IDUzN2JjMzUxNDkuLjczYmEyMGQ2OTUgMTAwNjQ0CitpbmRleCA1M2NiOGJmYzU5Li45MmM0NjYyMDBjIDEwMDY0NAogLS0tIGEvbG9jYWxlL2xvY2FsZWluZm8uaAogKysrIGIvbG9jYWxlL2xvY2FsZWluZm8uaAogQEAgLTIyNCw3ICsyMjQsNyBAQCBfX2xpYmNfdHNkX2RlZmluZSAoZXh0ZXJuLCBsb2NhbGVfdCwgTE9DQUxFKQpAQCAtMTA0LDcgKzEwNCw3IEBACiAgIyBkZWZpbmUgTkxfQ1VSUkVOVF9JTkRJUkVDVAkxCiAgI2VuZGlmCiBkaWZmIC0tZ2l0IGEvbG9jYWxlL3Byb2dyYW1zL2NoYXJtYXAtZGlyLmMgYi9sb2NhbGUvcHJvZ3JhbXMvY2hhcm1hcC1kaXIuYwotaW5kZXggMzRhOGQzMmM5Mi4uY2JiOTQzNmNkMSAxMDA2NDQKK2luZGV4IDk0YzEyMmRmNjguLjgwZTUzZTEyYzggMTAwNjQ0CiAtLS0gYS9sb2NhbGUvcHJvZ3JhbXMvY2hhcm1hcC1kaXIuYwogKysrIGIvbG9jYWxlL3Byb2dyYW1zL2NoYXJtYXAtZGlyLmMKIEBAIC0xOCw3ICsxOCw5IEBACkBAIC0xNTAsNyArMTUwLDcgQEAKICAgIHJldHVybiBOVUxMOwogIH0KIGRpZmYgLS1naXQgYS9sb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIGIvbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYwotaW5kZXggZDJlZWJjZmRiYi4uYzM3MThkNjU4OSAxMDA2NDQKK2luZGV4IGJiNGUyYzUzOWQuLjlkMDhkNDIyYzQgMTAwNjQ0CiAtLS0gYS9sb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jCiArKysgYi9sb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jCiBAQCAtMzQ5LDcgKzM0OSw3IEBAIG5ld19lbGVtZW50IChzdHJ1Y3QgbG9jYWxlX2NvbGxhdGVfdCAqY29sbGF0ZSwgY29uc3QgY2hhciAqbWJzLCBzaXplX3QgbWJzbGVuLApAQCAtMTk5LDcgKzE5OSw3IEBACiAgCQkJID09IHJ1bnAtPndjbmV4dC0+d2NzW3J1bnAtPm53Y3MgLSAxXSArIDEpKTsKICAKIGRpZmYgLS1naXQgYS9sb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyBiL2xvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jCi1pbmRleCBmNzkxZTZiN2U5Li5kODA5ZDZkYjdmIDEwMDY0NAoraW5kZXggMzZmZDA4YmE4MC4uMDgxNTVhMjdkNiAxMDA2NDQKIC0tLSBhL2xvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jCiArKysgYi9sb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYwogQEAgLTkxNSw3ICs5MTUsNyBAQCBjdHlwZV9vdXRwdXQgKHN0cnVjdCBsb2NhbGVkZWZfdCAqbG9jYWxlLCBjb25zdCBzdHJ1Y3QgY2hhcm1hcF90ICpjaGFybWFwLApAQCAtMjgxLDcgKzI4MSw3IEBACiAgCSAgICAgIHNydW5wID0gc3J1bnAtPm5leHQ7CiAgCSAgICB9CiBkaWZmIC0tZ2l0IGEvbG9jYWxlL3Byb2dyYW1zL2xkLXRpbWUuYyBiL2xvY2FsZS9wcm9ncmFtcy9sZC10aW1lLmMKLWluZGV4IGE3NTU3OTIzNjMuLmU4YjJmODU1MjIgMTAwNjQ0CitpbmRleCA4ZTk4NDlmZGJhLi4wMjhkM2VmYTlmIDEwMDY0NAogLS0tIGEvbG9jYWxlL3Byb2dyYW1zL2xkLXRpbWUuYwogKysrIGIvbG9jYWxlL3Byb2dyYW1zL2xkLXRpbWUuYwogQEAgLTIyMCw4ICsyMjAsMTAgQEAgTm8gZGVmaW5pdGlvbiBmb3IgJXMgY2F0ZWdvcnkgZm91bmQiKSwgIkxDX1RJTUUiKTsKQEAgLTM1MCw3ICszNTAsNyBAQAogIAogIAogZGlmZiAtLWdpdCBhL2xvY2FsZS9wcm9ncmFtcy9saW5lcmVhZGVyLmMgYi9sb2NhbGUvcHJvZ3JhbXMvbGluZXJlYWRlci5jCi1pbmRleCAzNTI1YzhhNDNkLi5mOGE3ZmQ5YzI0IDEwMDY0NAoraW5kZXggZWQzYTk3MzFkMC4uMzE3OGVhMDU3YSAxMDA2NDQKIC0tLSBhL2xvY2FsZS9wcm9ncmFtcy9saW5lcmVhZGVyLmMKICsrKyBiL2xvY2FsZS9wcm9ncmFtcy9saW5lcmVhZGVyLmMKIEBAIC01OTUsNyArNTk1LDcgQEAgZ2V0X3N0cmluZyAoc3RydWN0IGxpbmVyZWFkZXIgKmxyLCBjb25zdCBzdHJ1Y3QgY2hhcm1hcF90ICpjaGFybWFwLApAQCAtMzYzLDE4ICszNjMsMTggQEAKICAgIHNpemVfdCBidWZtYXggPSA1NjsKICAKIGRpZmYgLS1naXQgYS9sb2NhbGUvcHJvZ3JhbXMvbG9jYWxlZGVmLmMgYi9sb2NhbGUvcHJvZ3JhbXMvbG9jYWxlZGVmLmMKLWluZGV4IGQ3MThkMmU5ZjQuLmUwYTNhZDVhODMgMTAwNjQ0CitpbmRleCBiN2JjZWY4MjQ4Li5lZmVjZWQxZTBmIDEwMDY0NAogLS0tIGEvbG9jYWxlL3Byb2dyYW1zL2xvY2FsZWRlZi5jCiArKysgYi9sb2NhbGUvcHJvZ3JhbXMvbG9jYWxlZGVmLmMKLUBAIC0xMDUsNiArMTA1LDcgQEAgdm9pZCAoKmFyZ3BfcHJvZ3JhbV92ZXJzaW9uX2hvb2spIChGSUxFICosIHN0cnVjdCBhcmdwX3N0YXRlICopID0gcHJpbnRfdmVyc2lvbjsKLSAjZGVmaW5lIE9QVF9CSUdfRU5ESUFOIDQwMQorQEAgLTEwOSw2ICsxMDksNyBAQCB2b2lkICgqYXJncF9wcm9ncmFtX3ZlcnNpb25faG9vaykgKEZJTEUgKiwgc3RydWN0IGFyZ3Bfc3RhdGUgKikgPSBwcmludF92ZXJzaW9uOwogICNkZWZpbmUgT1BUX05PX1dBUk4gNDAyCiAgI2RlZmluZSBPUFRfV0FSTiA0MDMKLSsjZGVmaW5lIE9QVF9VSU5UMzJfQUxJR04gNDA0CisgI2RlZmluZSBPUFRfTk9fSEFSRF9MSU5LUyA0MDQKKysjZGVmaW5lIE9QVF9VSU5UMzJfQUxJR04gNDA1CiAgCiAgLyogRGVmaW5pdGlvbnMgb2YgYXJndW1lbnRzIGZvciBhcmdwIGZ1bmN0aW9ucy4gICovCiAgc3RhdGljIGNvbnN0IHN0cnVjdCBhcmdwX29wdGlvbiBvcHRpb25zW10gPQotQEAgLTE0Nyw2ICsxNDgsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFyZ3Bfb3B0aW9uIG9wdGlvbnNbXSA9CitAQCAtMTUzLDYgKzE1NCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYXJncF9vcHRpb24gb3B0aW9uc1tdID0KICAgICAgTl8oIkdlbmVyYXRlIGxpdHRsZS1lbmRpYW4gb3V0cHV0IikgfSwKICAgIHsgImJpZy1lbmRpYW4iLCBPUFRfQklHX0VORElBTiwgTlVMTCwgMCwKICAgICAgTl8oIkdlbmVyYXRlIGJpZy1lbmRpYW4gb3V0cHV0IikgfSwKQEAgLTM4Myw3ICszODMsNyBAQAogICAgeyBOVUxMLCAwLCBOVUxMLCAwLCBOVUxMIH0KICB9OwogIAotQEAgLTIzNiwxMiArMjM5LDE0IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCitAQCAtMjQyLDEyICsyNDUsMTQgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgIGN0eXBlIGxvY2FsZS4gIChQMTAwMy4yIDQuMzUuNS4yKSAgKi8KICAgIHNldGxvY2FsZSAoTENfQ1RZUEUsICJQT1NJWCIpOwogIApAQCAtMzk4LDkgKzM5OCw5IEBACiAgCiAgICAvKiBQcm9jZXNzIGNoYXJtYXAgZmlsZS4gICovCiAgICBjaGFybWFwID0gY2hhcm1hcF9yZWFkIChjaGFybWFwX2ZpbGUsIHZlcmJvc2UsIDEsIGJlX3F1aWV0LCAxKTsKLUBAIC0zODksNiArMzk0LDkgQEAgcGFyc2Vfb3B0IChpbnQga2V5LCBjaGFyICphcmcsIHN0cnVjdCBhcmdwX3N0YXRlICpzdGF0ZSkKLSAgICAgICAvKiBFbmFibGUgdGhlIHdhcm5pbmdzLiAgKi8KLSAgICAgICBzZXRfd2FybmluZ3MgKGFyZywgdHJ1ZSk7CitAQCAtMzk5LDYgKzQwNCw5IEBAIHBhcnNlX29wdCAoaW50IGtleSwgY2hhciAqYXJnLCBzdHJ1Y3QgYXJncF9zdGF0ZSAqc3RhdGUpCisgICAgICAgLyogRG8gbm90IGhhcmQgbGluayB0byBvdGhlciBsb2NhbGVzLiAgKi8KKyAgICAgICBoYXJkX2xpbmtzID0gZmFsc2U7CiAgICAgICAgYnJlYWs7CiArICAgIGNhc2UgT1BUX1VJTlQzMl9BTElHTjoKICsgICAgICB1aW50MzJfYWxpZ25fbWFzayA9IHN0cnRvbCAoYXJnLCBOVUxMLCAwKSAtIDE7CkBAIC00MDksNyArNDA5LDcgQEAKICAgICAgICBmb3JjZV9vdXRwdXQgPSAxOwogICAgICAgIGJyZWFrOwogZGlmZiAtLWdpdCBhL2xvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmMgYi9sb2NhbGUvcHJvZ3JhbXMvbG9jZmlsZS5jCi1pbmRleCAzMmU1Zjc2MWYyLi5iNDFlNzdiZDhkIDEwMDY0NAoraW5kZXggZTRiYTQ4ZTk2OC4uZTdiMGVmZTg4NyAxMDA2NDQKIC0tLSBhL2xvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmMKICsrKyBiL2xvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmMKIEBAIC01NDQsNiArNTQ0LDkgQEAgY29tcGFyZV9maWxlcyAoY29uc3QgY2hhciAqZmlsZW5hbWUxLCBjb25zdCBjaGFyICpmaWxlbmFtZTIsIHNpemVfdCBzaXplLApAQCAtNDMyLDcgKzQzMiw3IEBACiAgCiAgLyogUmVjb3JkIHRoYXQgRklMRSdzIG5leHQgZWxlbWVudCBpcyB0aGUgMzItYml0IGludGVnZXIgVkFMVUUuICAqLwogZGlmZiAtLWdpdCBhL2xvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmggYi9sb2NhbGUvcHJvZ3JhbXMvbG9jZmlsZS5oCi1pbmRleCA4OWIzNDdjNzJkLi5hNjM2ZmMyOTYwIDEwMDY0NAoraW5kZXggYzA2M2ZjMDk3ZC4uNGU3NDY1ZTU1YSAxMDA2NDQKIC0tLSBhL2xvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmgKICsrKyBiL2xvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmgKIEBAIC03MSw2ICs3MSw4IEBAIGV4dGVybiB2b2lkIHdyaXRlX2FsbF9jYXRlZ29yaWVzIChzdHJ1Y3QgbG9jYWxlZGVmX3QgKmRlZmluaXRpb25zLApAQCAtNTIxLDcgKzUyMSw3IEBACiArCiAgI2VuZGlmIC8qIGxvY2ZpbGUuaCAqLwogZGlmZiAtLWdpdCBhL2xvY2FsZS9zZXRsb2NhbGUuYyBiL2xvY2FsZS9zZXRsb2NhbGUuYwotaW5kZXggZTRkZTkwN2UxZi4uYjVkOGY1YzE3ZCAxMDA2NDQKK2luZGV4IDk0MjdhNWFkMjguLjhmNDE0MGQ2ODQgMTAwNjQ0CiAtLS0gYS9sb2NhbGUvc2V0bG9jYWxlLmMKICsrKyBiL2xvY2FsZS9zZXRsb2NhbGUuYwogQEAgLTY0LDM2ICs2NCw2IEBAIHN0YXRpYyBjaGFyICpjb25zdCBfbmxfY3VycmVudF91c2VkW10gPQpAQCAtNTYxLDMgKzU2MSw2IEBACiAgI2lmZGVmIE5MX0NVUlJFTlRfSU5ESVJFQ1QKICAjIGRlZmluZSBXRUFLX1BPU1RMT0FEKHBvc3Rsb2FkKSB3ZWFrX2V4dGVybiAocG9zdGxvYWQpCiAgI2Vsc2UKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMy1EZWZpbmUtRFVNTVlfTE9DQUxFX1QtaWYtbm90LWRlZmluZWQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjMtRGVmaW5lLURVTU1ZX0xPQ0FMRV9ULWlmLW5vdC1kZWZpbmVkLnBhdGNoCmluZGV4IDY4ZmFkOTYuLjBmN2M1ZmQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMy1EZWZpbmUtRFVNTVlfTE9DQUxFX1QtaWYtbm90LWRlZmluZWQucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDIzLURlZmluZS1EVU1NWV9MT0NBTEVfVC1pZi1ub3QtZGVmaW5lZC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMWIyY2ViNmMyNDE0ZTNjOThjN2JjZDAyOTU4MzI4N2NlZDlmMzE1OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gODA5Yzc5YjdkNTU0YTRlYzgzOTIxZGY5ZDg3NzNjOTlhMDNkYzgxYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDIwIEFwciAyMDE2IDIxOjExOjAwIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIERlZmluZSBEVU1NWV9MT0NBTEVfVCBpZiBub3QgZGVmaW5lZAorU3ViamVjdDogW1BBVENIIDIzLzMwXSBEZWZpbmUgRFVNTVlfTE9DQUxFX1QgaWYgbm90IGRlZmluZWQKIAogVGhpcyBpcyBhIGhhY2sgdG8gZml4IGJ1aWxkaW5nIHRoZSBsb2NhbGUgYml0cyBvbiBhbiBvbGRlcgogQ2VudE9zIDUuWCBtYWNoaW5lCkBAIC0xNCw3ICsxNCw3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvbG9jYWxlL3Byb2dyYW1zL2NvbmZpZy5oIGIvbG9jYWxlL3Byb2dyYW1zL2NvbmZpZy5oCi1pbmRleCA5OTU2Y2Q4NDQ2Li4wNDM0MmYzNjQ0IDEwMDY0NAoraW5kZXggYTFlNmUwZWMzYy4uN2Y3NTUyOGVhZSAxMDA2NDQKIC0tLSBhL2xvY2FsZS9wcm9ncmFtcy9jb25maWcuaAogKysrIGIvbG9jYWxlL3Byb2dyYW1zL2NvbmZpZy5oCiBAQCAtMTksNiArMTksOSBAQApAQCAtMjcsMyArMjcsNiBAQAogIC8qIFVzZSB0aGUgaW50ZXJuYWwgdGV4dGRvbWFpbiB1c2VkIGZvciBsaWJjIG1lc3NhZ2VzLiAgKi8KICAjZGVmaW5lIFBBQ0tBR0UgX2xpYmNfaW50bF9kb21haW5uYW1lCiAgI2lmbmRlZiBWRVJTSU9OCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjQtZWxmLWRsLWRlcHMuYy1NYWtlLV9kbF9idWlsZF9sb2NhbF9zY29wZS1icmVhZHRoLWZpci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNC1lbGYtZGwtZGVwcy5jLU1ha2UtX2RsX2J1aWxkX2xvY2FsX3Njb3BlLWJyZWFkdGgtZmlyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOGNmZjJiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNC1lbGYtZGwtZGVwcy5jLU1ha2UtX2RsX2J1aWxkX2xvY2FsX3Njb3BlLWJyZWFkdGgtZmlyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotRnJvbSBhNjE1OWM5NDg2NzQ1NjY0YTVmMTE2ZWU5Y2M0NTgzNzAyMWI3NjI0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCAxOCBBdWcgMjAxNiAxNDowNzo1OCAtMDUwMAotU3ViamVjdDogW1BBVENIXSBlbGYvZGwtZGVwcy5jOiBNYWtlIF9kbF9idWlsZF9sb2NhbF9zY29wZSBicmVhZHRoIGZpcnN0Ci0KLUFjY29yZGluZyB0byB0aGUgRUxGIHNwZWNpZmljYXRpb246Ci0KLVdoZW4gcmVzb2x2aW5nIHN5bWJvbGljIHJlZmVyZW5jZXMsIHRoZSBkeW5hbWljIGxpbmtlciBleGFtaW5lcyB0aGUgc3ltYm9sCi10YWJsZXMgd2l0aCBhIGJyZWFkdGgtZmlyc3Qgc2VhcmNoLgotCi1UaGlzIGZ1bmN0aW9uIHdhcyB1c2luZyBhIGRlcHRoIGZpcnN0IHNlYXJjaC4gIEJ5IGRvaW5nIHNvIHRoZSBjb25mbGljdAotcmVzb2x1dGlvbiByZXBvcnRlZCB0byB0aGUgcHJlbGlua2VyICh3aGVuIExEX1RSQUNFX1BSRUxJTktJTkc9MSBpcyBzZXQpCi13YXMgaW5jb3JyZWN0LiAgVGhpcyBjYXVzZWQgcHJvYmxlbXMgd2hlbiB0aGVpciB3ZXJlIHZhcmlvdXMgY2lyY3VsYXIKLWRlcGVuZGVuY2llcyBiZXR3ZWVuIGxpYnJhcmllcy4gIFRoZSBwcm9ibGVtIHVzdWFsbHkgbWFuaWZlc3RlZCBpdHNlbGYgYnkKLXRoZSB3cm9uZyBJRlVOQyBiZWluZyBleGVjdXRlZC4KLQotW0JaIyAyMDQ4OF0KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2xpYmMtYWxwaGFdCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLS0tLQotIGVsZi9kbC1kZXBzLmMgfCAxNCArKysrKysrKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZWxmL2RsLWRlcHMuYyBiL2VsZi9kbC1kZXBzLmMKLWluZGV4IDlkOWIxYmE3ZjIuLjg0MTQwMjhjNTggMTAwNjQ0Ci0tLS0gYS9lbGYvZGwtZGVwcy5jCi0rKysgYi9lbGYvZGwtZGVwcy5jCi1AQCAtNzMsMTMgKzczLDE5IEBAIF9kbF9idWlsZF9sb2NhbF9zY29wZSAoc3RydWN0IGxpbmtfbWFwICoqbGlzdCwgc3RydWN0IGxpbmtfbWFwICptYXApCi0gewotICAgc3RydWN0IGxpbmtfbWFwICoqcCA9IGxpc3Q7Ci0gICBzdHJ1Y3QgbGlua19tYXAgKipxOwotKyAgc3RydWN0IGxpbmtfbWFwICoqcjsKLSAKLSAgICpwKysgPSBtYXA7Ci0gICBtYXAtPmxfcmVzZXJ2ZWQgPSAxOwotLSAgaWYgKG1hcC0+bF9pbml0ZmluaSkKLS0gICAgZm9yIChxID0gbWFwLT5sX2luaXRmaW5pICsgMTsgKnE7ICsrcSkKLS0gICAgICBpZiAoISAoKnEpLT5sX3Jlc2VydmVkKQotLQlwICs9IF9kbF9idWlsZF9sb2NhbF9zY29wZSAocCwgKnEpOwotKwotKyAgZm9yIChyID0gbGlzdDsgciA8IHA7ICsrcikKLSsgICAgaWYgKCgqciktPmxfaW5pdGZpbmkpCi0rICAgICAgZm9yIChxID0gKCpyKS0+bF9pbml0ZmluaSArIDE7ICpxOyArK3EpCi0rCWlmICghICgqcSktPmxfcmVzZXJ2ZWQpCi0rCSAgewotKwkgICAgKnArKyA9ICpxOwotKwkgICAgKCpxKS0+bF9yZXNlcnZlZCA9IDE7Ci0rCSAgfQotICAgcmV0dXJuIHAgLSBsaXN0OwotIH0KLSAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNC1sb2NhbGVkZWYtYWRkLXRvLWFyY2hpdmUtdXNlcy1hLWhhcmQtY29kZWQtbG9jYWxlLXBhLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI0LWxvY2FsZWRlZi1hZGQtdG8tYXJjaGl2ZS11c2VzLWEtaGFyZC1jb2RlZC1sb2NhbGUtcGEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI4OWU1NAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNC1sb2NhbGVkZWYtYWRkLXRvLWFyY2hpdmUtdXNlcy1hLWhhcmQtY29kZWQtbG9jYWxlLXBhLnBhdGNoCkBAIC0wLDAgKzEsODQgQEAKK0Zyb20gYjJkMWM5YjQxNTliZmQ2NjFhNDk5NjU4OGQwNmQ5MjI0OTFkZmVjYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDMgQXVnIDIwMTggMDk6NDI6MDYgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAyNC8zMF0gbG9jYWxlZGVmIC0tYWRkLXRvLWFyY2hpdmUgdXNlcyBhIGhhcmQtY29kZWQgbG9jYWxlCisgcGF0aAorCitpdCBkb2Vzbid0IGV4aXN0IGluIG5vcm1hbCB1c2UsIGFuZCB0aGVyZSdzIG5vIHdheSB0byBwYXNzIGFuCithbHRlcm5hdGl2ZSBmaWxlbmFtZS4KKworQWRkIGEgZmFsbGJhY2sgb2YgJExPQ0FMRUFSQ0hJVkUgZnJvbSB0aGUgZW52aXJvbm1lbnQsIGFuZCBhbGxvdworY3JlYXRpb24gb2YgbmV3IGxvY2FsZSBhcmNoaXZlcyB0aGF0IGFyZSBub3QgdGhlIHN5c3RlbSBhcmNoaXZlLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgKE9FLXNwZWNpZmljKQorCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxvY2FsZS9wcm9ncmFtcy9sb2NhcmNoaXZlLmMgfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xvY2FsZS9wcm9ncmFtcy9sb2NhcmNoaXZlLmMgYi9sb2NhbGUvcHJvZ3JhbXMvbG9jYXJjaGl2ZS5jCitpbmRleCBlNjMxMGIxOGJlLi5mNTRhNzZlYWRlIDEwMDY0NAorLS0tIGEvbG9jYWxlL3Byb2dyYW1zL2xvY2FyY2hpdmUuYworKysrIGIvbG9jYWxlL3Byb2dyYW1zL2xvY2FyY2hpdmUuYworQEAgLTM0MCwxMiArMzQwLDI0IEBAIGVubGFyZ2VfYXJjaGl2ZSAoc3RydWN0IGxvY2FyaGFuZGxlICphaCwgY29uc3Qgc3RydWN0IGxvY2FyaGVhZCAqaGVhZCkKKyAgIHN0cnVjdCBuYW1laGFzaGVudCAqb2xkbmFtZWhhc2h0YWI7CisgICBzdHJ1Y3QgbG9jYXJoYW5kbGUgbmV3X2FoOworICAgc2l6ZV90IHByZWZpeF9sZW4gPSBvdXRwdXRfcHJlZml4ID8gc3RybGVuIChvdXRwdXRfcHJlZml4KSA6IDA7CistICBjaGFyIGFyY2hpdmVmbmFtZVtwcmVmaXhfbGVuICsgc2l6ZW9mIChBUkNISVZFX05BTUUpXTsKKy0gIGNoYXIgZm5hbWVbcHJlZml4X2xlbiArIHNpemVvZiAoQVJDSElWRV9OQU1FKSArIHNpemVvZiAoIi5YWFhYWFgiKSAtIDFdOworKyAgY2hhciAqYXJjaGl2ZWZuYW1lOworKyAgY2hhciAqZm5hbWU7CisrICBjaGFyICplbnZhcmNoaXZlID0gZ2V0ZW52KCJMT0NBTEVBUkNISVZFIik7CisgCistICBpZiAob3V0cHV0X3ByZWZpeCkKKy0gICAgbWVtY3B5IChhcmNoaXZlZm5hbWUsIG91dHB1dF9wcmVmaXgsIHByZWZpeF9sZW4pOworLSAgc3RyY3B5IChhcmNoaXZlZm5hbWUgKyBwcmVmaXhfbGVuLCBBUkNISVZFX05BTUUpOworKyAgaWYgKGVudmFyY2hpdmUgIT0gTlVMTCkKKysgICAgeworKyAgICAgIGFyY2hpdmVmbmFtZSA9IHhtYWxsb2Moc3RybGVuKGVudmFyY2hpdmUpICsgMSk7CisrICAgICAgZm5hbWUgPSB4bWFsbG9jKHN0cmxlbihlbnZhcmNoaXZlKSArIHNpemVvZiAoIi5YWFhYWFgiKSk7CisrICAgICAgc3RyY3B5IChhcmNoaXZlZm5hbWUsIGVudmFyY2hpdmUpOworKyAgICB9CisrICBlbHNlCisrICAgIHsKKysgICAgICBhcmNoaXZlZm5hbWUgPSB4bWFsbG9jKHByZWZpeF9sZW4gKyBzaXplb2YgKEFSQ0hJVkVfTkFNRSkpOworKyAgICAgIGZuYW1lID0geG1hbGxvYyhwcmVmaXhfbGVuICsgc2l6ZW9mIChBUkNISVZFX05BTUUpICsgc2l6ZW9mICgiLlhYWFhYWCIpIC0gMSk7CisrICAgICAgaWYgKG91dHB1dF9wcmVmaXgpCisrICAgICAgICBtZW1jcHkgKGFyY2hpdmVmbmFtZSwgb3V0cHV0X3ByZWZpeCwgcHJlZml4X2xlbik7CisrICAgICAgc3RyY3B5IChhcmNoaXZlZm5hbWUgKyBwcmVmaXhfbGVuLCBBUkNISVZFX05BTUUpOworKyAgICB9CisgICBzdHJjcHkgKHN0cGNweSAoZm5hbWUsIGFyY2hpdmVmbmFtZSksICIuWFhYWFhYIik7CisgCisgICAvKiBOb3QgYWxsIG9mIHRoZSBvbGQgZmlsZSBoYXMgdG8gYmUgbWFwcGVkLiAgQ2hhbmdlIHRoaXMgbm93IHRoaXMKK0BAIC01NjksMTAgKzU4MSwxMyBAQCBvcGVuX2FyY2hpdmUgKHN0cnVjdCBsb2NhcmhhbmRsZSAqYWgsIGJvb2wgcmVhZG9ubHkpCisgICAvKiBJZiBhaCBoYXMgYSBub24tTlVMTCBmbmFtZSBvcGVuIHRoYXQgb3RoZXJ3aXNlIG9wZW4gdGhlIGRlZmF1bHQuICAqLworICAgaWYgKGFyY2hpdmVmbmFtZSA9PSBOVUxMKQorICAgICB7CistICAgICAgYXJjaGl2ZWZuYW1lID0gZGVmYXVsdF9mbmFtZTsKKy0gICAgICBpZiAob3V0cHV0X3ByZWZpeCkKKy0gICAgICAgIG1lbWNweSAoZGVmYXVsdF9mbmFtZSwgb3V0cHV0X3ByZWZpeCwgcHJlZml4X2xlbik7CistICAgICAgc3RyY3B5IChkZWZhdWx0X2ZuYW1lICsgcHJlZml4X2xlbiwgQVJDSElWRV9OQU1FKTsKKysgICAgICBhcmNoaXZlZm5hbWUgPSBnZXRlbnYoIkxPQ0FMRUFSQ0hJVkUiKTsKKysgICAgICBpZiAoYXJjaGl2ZWZuYW1lID09IE5VTEwpIHsKKysgICAgICAgICAgICAgIGFyY2hpdmVmbmFtZSA9IGRlZmF1bHRfZm5hbWU7CisrICAgICAgICAgICAgICBpZiAob3V0cHV0X3ByZWZpeCkKKysgICAgICAgICAgICAgICAgbWVtY3B5IChkZWZhdWx0X2ZuYW1lLCBvdXRwdXRfcHJlZml4LCBwcmVmaXhfbGVuKTsKKysgICAgICAgICAgICAgIHN0cmNweSAoZGVmYXVsdF9mbmFtZSArIHByZWZpeF9sZW4sIEFSQ0hJVkVfTkFNRSk7CisrICAgICAgfQorICAgICB9CisgCisgICB3aGlsZSAoMSkKK0BAIC01ODUsNyArNjAwLDcgQEAgb3Blbl9hcmNoaXZlIChzdHJ1Y3QgbG9jYXJoYW5kbGUgKmFoLCBib29sIHJlYWRvbmx5KQorIAkgICAgIHRoZSBkZWZhdWx0IGxvY2FsZSBhcmNoaXZlIHdlIGlnbm9yZSB0aGUgZmFpbHVyZSBhbmQKKyAJICAgICBsaXN0IGFuIGVtcHR5IGFyY2hpdmUsIG90aGVyd2lzZSB3ZSBwcmludCBhbiBlcnJvcgorIAkgICAgIGFuZCBleGl0LiAgKi8KKy0JICBpZiAoZXJybm8gPT0gRU5PRU5UICYmIGFyY2hpdmVmbmFtZSA9PSBkZWZhdWx0X2ZuYW1lKQorKwkgIGlmIChlcnJubyA9PSBFTk9FTlQpCisgCSAgICB7CisgCSAgICAgIGlmIChyZWFkb25seSkKKyAJCXsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNS1lbGYtZGwtZGVwcy5jLU1ha2UtX2RsX2J1aWxkX2xvY2FsX3Njb3BlLWJyZWFkdGgtZmlyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI1LWVsZi1kbC1kZXBzLmMtTWFrZS1fZGxfYnVpbGRfbG9jYWxfc2NvcGUtYnJlYWR0aC1maXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGRkZDJlNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNS1lbGYtZGwtZGVwcy5jLU1ha2UtX2RsX2J1aWxkX2xvY2FsX3Njb3BlLWJyZWFkdGgtZmlyLnBhdGNoCkBAIC0wLDAgKzEsNTYgQEAKK0Zyb20gODA0YjA1YTAzNGJmYWY0ZTM0MjcyNDNlNmJhZjczNjA4NjgyMmNkMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgMTggQXVnIDIwMTYgMTQ6MDc6NTggLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCAyNS8zMF0gZWxmL2RsLWRlcHMuYzogTWFrZSBfZGxfYnVpbGRfbG9jYWxfc2NvcGUgYnJlYWR0aCBmaXJzdAorCitBY2NvcmRpbmcgdG8gdGhlIEVMRiBzcGVjaWZpY2F0aW9uOgorCitXaGVuIHJlc29sdmluZyBzeW1ib2xpYyByZWZlcmVuY2VzLCB0aGUgZHluYW1pYyBsaW5rZXIgZXhhbWluZXMgdGhlIHN5bWJvbAordGFibGVzIHdpdGggYSBicmVhZHRoLWZpcnN0IHNlYXJjaC4KKworVGhpcyBmdW5jdGlvbiB3YXMgdXNpbmcgYSBkZXB0aCBmaXJzdCBzZWFyY2guICBCeSBkb2luZyBzbyB0aGUgY29uZmxpY3QKK3Jlc29sdXRpb24gcmVwb3J0ZWQgdG8gdGhlIHByZWxpbmtlciAod2hlbiBMRF9UUkFDRV9QUkVMSU5LSU5HPTEgaXMgc2V0KQord2FzIGluY29ycmVjdC4gIFRoaXMgY2F1c2VkIHByb2JsZW1zIHdoZW4gdGhlaXIgd2VyZSB2YXJpb3VzIGNpcmN1bGFyCitkZXBlbmRlbmNpZXMgYmV0d2VlbiBsaWJyYXJpZXMuICBUaGUgcHJvYmxlbSB1c3VhbGx5IG1hbmlmZXN0ZWQgaXRzZWxmIGJ5Cit0aGUgd3JvbmcgSUZVTkMgYmVpbmcgZXhlY3V0ZWQuCisKK1tCWiMgMjA0ODhdCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtsaWJjLWFscGhhXQorCitTaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+CistLS0KKyBlbGYvZGwtZGVwcy5jIHwgMTQgKysrKysrKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2VsZi9kbC1kZXBzLmMgYi9lbGYvZGwtZGVwcy5jCitpbmRleCBlMTJjMzUzMTU4Li45MjM0ZGFhYzA1IDEwMDY0NAorLS0tIGEvZWxmL2RsLWRlcHMuYworKysrIGIvZWxmL2RsLWRlcHMuYworQEAgLTczLDEzICs3MywxOSBAQCBfZGxfYnVpbGRfbG9jYWxfc2NvcGUgKHN0cnVjdCBsaW5rX21hcCAqKmxpc3QsIHN0cnVjdCBsaW5rX21hcCAqbWFwKQorIHsKKyAgIHN0cnVjdCBsaW5rX21hcCAqKnAgPSBsaXN0OworICAgc3RydWN0IGxpbmtfbWFwICoqcTsKKysgIHN0cnVjdCBsaW5rX21hcCAqKnI7CisgCisgICAqcCsrID0gbWFwOworICAgbWFwLT5sX3Jlc2VydmVkID0gMTsKKy0gIGlmIChtYXAtPmxfaW5pdGZpbmkpCistICAgIGZvciAocSA9IG1hcC0+bF9pbml0ZmluaSArIDE7ICpxOyArK3EpCistICAgICAgaWYgKCEgKCpxKS0+bF9yZXNlcnZlZCkKKy0JcCArPSBfZGxfYnVpbGRfbG9jYWxfc2NvcGUgKHAsICpxKTsKKysKKysgIGZvciAociA9IGxpc3Q7IHIgPCBwOyArK3IpCisrICAgIGlmICgoKnIpLT5sX2luaXRmaW5pKQorKyAgICAgIGZvciAocSA9ICgqciktPmxfaW5pdGZpbmkgKyAxOyAqcTsgKytxKQorKwlpZiAoISAoKnEpLT5sX3Jlc2VydmVkKQorKwkgIHsKKysJICAgICpwKysgPSAqcTsKKysJICAgICgqcSktPmxfcmVzZXJ2ZWQgPSAxOworKwkgIH0KKyAgIHJldHVybiBwIC0gbGlzdDsKKyB9CisgCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjUtbG9jYWxlLWZpeC1oYXJkLWNvZGVkLXJlZmVyZW5jZS10by1nY2MtRS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNS1sb2NhbGUtZml4LWhhcmQtY29kZWQtcmVmZXJlbmNlLXRvLWdjYy1FLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTc5MTlmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNS1sb2NhbGUtZml4LWhhcmQtY29kZWQtcmVmZXJlbmNlLXRvLWdjYy1FLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotRnJvbSA2YzZhZWNiYTE5YjNlNzk0NzEwMDYyMzUzMmE0MWI2ZjE2NzM0YWNlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0o9QzM9QTlyPUMzPUE5bXk9MjBSb3Nlbj89IDxqZXJlbXkucm9zZW5Ac21pbGUuZnI+Ci1EYXRlOiBNb24sIDIyIEF1ZyAyMDE2IDE2OjA5OjI1ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxvY2FsZTogZml4IGhhcmQtY29kZWQgcmVmZXJlbmNlIHRvIGdjYyAtRQotCi1XaGVuIG5ldyB2ZXJzaW9uIG9mIGNvbXBpbGVycyBhcmUgcHVibGlzaGVkLCB0aGV5IG1heSBub3QgYmUgY29tcGF0aWJsZSB3aXRoCi1vbGRlciB2ZXJzaW9ucyBvZiBzb2Z0d2FyZS4gVGhpcyBpcyBwYXJ0aWN1bGFybHkgY29tbW9uIHdoZW4gc29mdHdhcmUgaXMgYnVpbHQKLXdpdGggLVdlcnJvci4KLQotQXV0b3Rvb2xzIHByb3ZpZGVzIGEgd2F5IGZvciBhIHVzZXIgdG8gc3BlY2lmeSB0aGUgbmFtZSBvZiBoaXMgY29tcGlsZXIgdXNpbmcgYQotc2V0IG9mIHZhcmlhYmxlcyAoJENDICRDWFggJENQUCBldGMuKS4gVGhvc2UgdmFyaWFibGVzIGFyZSB1c2VkIGNvcnJlY3RseSB3aGVuCi1jb21waWxpbmcgZ2xpYmMgYnV0IHRoZSBzY3JpcHQgdXNlZCB0byBnZW5lcmF0ZSB0cmFuc2xpdGVyYXRpb25zIGluIHRoZSBsb2NhbGUvCi1zdWJkaXJlY3RvcnkgZGlyZWN0bHkgY2FsbHMgdGhlIGdjYyBiaW5hcnkgdG8gZ2V0IHRoZSBvdXRwdXQgb2YgdGhlCi1wcmVwcm9jZXNzb3IgaW5zdGVhZCBvZiB1c2luZyB0aGUgJENQUCB2YXJpYWJsZSBwcm92aWRlZCBieSB0aGUgYnVpbGQKLWVudmlyb25tZW50LgotCi1UaGlzIHBhdGNoIHJlcGxhY2VzIHRoZSBoYXJkLWNvZGVkIHJlZmVyZW5jZSB0byB0aGUgZ2NjIGJpbmFyeSB3aXRoIHRoZSBwcm9wZXIKLWVudmlyb25tZW50IHZhcmlhYmxlLCB0aHVzIGFsbG93aW5nIGEgdXNlciB0byBvdmVycmlkZSBpdC4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vc291cmNld2FyZS5vcmcvbWwvbGliYy1hbHBoYS8yMDE2LTA4L21zZzAwNzQ2Lmh0bWxdCi0tLS0KLSBsb2NhbGUvZ2VuLXRyYW5zbGl0LnBsIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbG9jYWxlL2dlbi10cmFuc2xpdC5wbCBiL2xvY2FsZS9nZW4tdHJhbnNsaXQucGwKLWluZGV4IDMwZDNmMmYxOTUuLmU5NzY1MzAxN2MgMTAwNjQ0Ci0tLS0gYS9sb2NhbGUvZ2VuLXRyYW5zbGl0LnBsCi0rKysgYi9sb2NhbGUvZ2VuLXRyYW5zbGl0LnBsCi1AQCAtMSw1ICsxLDUgQEAKLSAjIS91c3IvYmluL3BlcmwgLXcKLS1vcGVuIEYsICJjYXQgQy10cmFuc2xpdC5oLmluIHwgZ2NjIC1FIC0gfCIgfHwgZGllICJDYW5ub3QgcHJlcHJvY2VzcyBpbnB1dCBmaWxlIjsKLStvcGVuIEYsICdjYXQgQy10cmFuc2xpdC5oLmluIHwgJHtDUFA6LWdjYyAtRX0gLSB8JyB8fCBkaWUgIkNhbm5vdCBwcmVwcm9jZXNzIGlucHV0IGZpbGUiOwotIAotIAotIHN1YiBjc3RybGVuIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNi1yZXNldC1kbF9sb2FkX3dyaXRlX2xvY2stYWZ0ZXItZm9ya2luZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNi1yZXNldC1kbF9sb2FkX3dyaXRlX2xvY2stYWZ0ZXItZm9ya2luZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzFkZGMxMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjYtcmVzZXQtZGxfbG9hZF93cml0ZV9sb2NrLWFmdGVyLWZvcmtpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1Gcm9tIGVmYjBmY2E3ZGI3NDJmNDE5NWUxNzcxZDhiYTRjN2ZiYTQ5Mzg4MTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAyNyBKYW4gMjAxOCAxMDowNTowNyAtMDgwMAotU3ViamVjdDogW1BBVENIXSByZXNldCBkbF9sb2FkX3dyaXRlX2xvY2sgYWZ0ZXIgZm9ya2luZwotCi1UaGUgcGF0Y2ggaW4gdGhpcyBCdWd6aWxsYSBlbnRyeSB3YXMgcmVxdWVzdGVkIGJ5IGEgY3VzdG9tZXI6Ci0KLSAgaHR0cHM6Ly93d3cuc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTE5MjgyCi0KLVRoZSBfX2xpYmNfZm9yaygpIGNvZGUgcmVzZXQgZGxfbG9hZF9sb2NrLCBidXQgaXQgYWxzbyBuZWVkZWQgdG8gcmVzZXQKLWRsX2xvYWRfd3JpdGVfbG9jay4gIFRoZSBwYXRjaCBoYXMgbm90IHlldCBiZWVuIGludGVncmF0ZWQgdXBzdHJlYW0uCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZyBbIE5vIEF1dGhvciBTZWUgYnVnemlsbGFdCi0KLVNpZ25lZC1vZmYtYnk6IERhbW9kYXIgU29ub25lIDxkYW1vZGFyLnNvbm9uZUBrcGl0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IFl1YW5qaWUgSHVhbmcgPHl1YW5qaWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBzeXNkZXBzL25wdGwvZm9yay5jIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3N5c2RlcHMvbnB0bC9mb3JrLmMgYi9zeXNkZXBzL25wdGwvZm9yay5jCi1pbmRleCBlYzU2YTgyN2ViLi4wZjQ4OTMzZmYxIDEwMDY0NAotLS0tIGEvc3lzZGVwcy9ucHRsL2ZvcmsuYwotKysrIGIvc3lzZGVwcy9ucHRsL2ZvcmsuYwotQEAgLTEzMCw5ICsxMzAsOSBAQCBfX2xpYmNfZm9yayAodm9pZCkKLSAJICBfSU9fbGlzdF9yZXNldGxvY2sgKCk7Ci0gCX0KLSAKLS0gICAgICAvKiBSZXNldCB0aGUgbG9jayB0aGUgZHluYW1pYyBsb2FkZXIgdXNlcyB0byBwcm90ZWN0IGl0cyBkYXRhLiAgKi8KLSsgICAgICAvKiBSZXNldCB0aGUgbG9ja3MgdGhlIGR5bmFtaWMgbG9hZGVyIHVzZXMgdG8gcHJvdGVjdCBpdHMgZGF0YS4gICovCi0gICAgICAgX19ydGxkX2xvY2tfaW5pdGlhbGl6ZSAoR0woZGxfbG9hZF9sb2NrKSk7Ci0tCi0rICAgICAgX19ydGxkX2xvY2tfaW5pdGlhbGl6ZSAoR0woZGxfbG9hZF93cml0ZV9sb2NrKSk7Ci0gICAgICAgLyogUnVuIHRoZSBoYW5kbGVycyByZWdpc3RlcmVkIGZvciB0aGUgY2hpbGQuICAqLwotICAgICAgIF9fcnVuX2ZvcmtfaGFuZGxlcnMgKGF0Zm9ya19ydW5fY2hpbGQpOwotICAgICB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjctQWNxdWlyZS1sZC5zby1sb2NrLWJlZm9yZS1zd2l0Y2hpbmctdG8tbWFsbG9jX2F0Zm9yay5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNy1BY3F1aXJlLWxkLnNvLWxvY2stYmVmb3JlLXN3aXRjaGluZy10by1tYWxsb2NfYXRmb3JrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZDM3ZjJjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNy1BY3F1aXJlLWxkLnNvLWxvY2stYmVmb3JlLXN3aXRjaGluZy10by1tYWxsb2NfYXRmb3JrLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotRnJvbSA2ZWE5NjJlMDk0NmRhNzU2NGE3NzRiMDhkZDNlZGEyOGQ2NGU5ZTU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMjcgSmFuIDIwMTggMTA6MDg6MDQgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gQWNxdWlyZSBsZC5zbyBsb2NrIGJlZm9yZSBzd2l0Y2hpbmcgdG8gbWFsbG9jX2F0Zm9yawotCi1UaGUgcGF0Y2ggaXMgZnJvbQotICBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD00NTc4Ci0KLUlmIGEgdGhyZWFkIGhhcHBlbnMgdG8gaG9sZCBkbF9sb2FkX2xvY2sgYW5kIGhhdmUgcl9zdGF0ZSBzZXQgdG8gUlRfQUREIG9yCi1SVF9ERUxFVEUgYXQgdGhlIHRpbWUgYW5vdGhlciB0aHJlYWQgY2FsbHMgZm9yaygpLCB0aGVuIHRoZSBjaGlsZCBleGl0IGNvZGUKLWZyb20gZm9yayAoaW4gbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9mb3JrLmMgaW4gb3VyIGNhc2UpIHJlLWluaXRpYWxpemVzCi1kbF9sb2FkX2xvY2sgYnV0IGRvZXMgbm90IHJlc3RvcmUgcl9zdGF0ZSB0byBSVF9DT05TSVNURU5ULiBJZiB0aGUgY2hpbGQKLXN1YnNlcXVlbnRseSByZXF1aXJlcyBsZC5zbyBmdW5jdGlvbmFsaXR5IGJlZm9yZSBjYWxsaW5nIGV4ZWMoKSwgdGhlbiB0aGUKLWFzc2VydGlvbiB3aWxsIGZpcmUuCi0KLVRoZSBwYXRjaCBhY3F1aXJlcyBkbF9sb2FkX2xvY2sgb24gZW50cnkgdG8gZm9yaygpIGFuZCByZWxlYXNlcyBpdCBvbiBleGl0Ci1mcm9tIHRoZSBwYXJlbnQgcGF0aC4gIFRoZSBjaGlsZCBwYXRoIGlzIGluaXRpYWxpemVkIGFzIGN1cnJlbnRseSBkb25lLgotVGhpcyBpcyBlc3NlbnRpYWxseSBwdGhyZWFkc19hdGZvcmssIGJ1dCBmb3JjZWQgdG8gYmUgZmlyc3QgYmVjYXVzZSB0aGUKLWFjcXVpc2l0aW9uIG9mIGRsX2xvYWRfbG9jayBtdXN0IGhhcHBlbiBiZWZvcmUgbWFsbG9jX2F0Zm9yayBpcyBhY3RpdmUKLXRvIGF2b2lkIGEgZGVhZGxvY2suCi0KLVRoZSBwYXRjaCBoYXMgbm90IHlldCBiZWVuIGludGVncmF0ZWQgdXBzdHJlYW0uCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZyBbIE5vdCBBdXRob3IgU2VlIGJ1Z3ppbGxhXQotCi1TaWduZWQtb2ZmLWJ5OiBSYWdodW5hdGggTG9sdXIgPFJhZ2h1bmF0aC5Mb2x1ckBrcGl0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IFl1YW5qaWUgSHVhbmcgPHl1YW5qaWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IFpoaXhpb25nIENoaSA8emhpeGlvbmcuY2hpQHdpbmRyaXZlci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3lzZGVwcy9ucHRsL2ZvcmsuYyB8IDcgKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3N5c2RlcHMvbnB0bC9mb3JrLmMgYi9zeXNkZXBzL25wdGwvZm9yay5jCi1pbmRleCAwZjQ4OTMzZmYxLi5lZWYzZjk2NjliIDEwMDY0NAotLS0tIGEvc3lzZGVwcy9ucHRsL2ZvcmsuYwotKysrIGIvc3lzZGVwcy9ucHRsL2ZvcmsuYwotQEAgLTI1LDYgKzI1LDcgQEAKLSAjaW5jbHVkZSA8dGxzLmg+Ci0gI2luY2x1ZGUgPGhwLXRpbWluZy5oPgotICNpbmNsdWRlIDxsZHNvZGVmcy5oPgotKyNpbmNsdWRlIDxsaWJjLWxvY2suaD4KLSAjaW5jbHVkZSA8c3RkaW8tbG9jay5oPgotICNpbmNsdWRlIDxhdG9taWMuaD4KLSAjaW5jbHVkZSA8bnB0bC9wdGhyZWFkUC5oPgotQEAgLTU2LDYgKzU3LDkgQEAgX19saWJjX2ZvcmsgKHZvaWQpCi0gICBib29sIG11bHRpcGxlX3RocmVhZHMgPSBUSFJFQURfR0VUTUVNIChUSFJFQURfU0VMRiwgaGVhZGVyLm11bHRpcGxlX3RocmVhZHMpOwotIAotICAgX19ydW5fZm9ya19oYW5kbGVycyAoYXRmb3JrX3J1bl9wcmVwYXJlKTsKLSsgIC8qIGdyYWIgbGQuc28gbG9jayBCRUZPUkUgc3dpdGNoaW5nIHRvIG1hbGxvY19hdGZvcmsgKi8KLSsgIF9fcnRsZF9sb2NrX2xvY2tfcmVjdXJzaXZlIChHTChkbF9sb2FkX2xvY2spKTsKLSsgIF9fcnRsZF9sb2NrX2xvY2tfcmVjdXJzaXZlIChHTChkbF9sb2FkX3dyaXRlX2xvY2spKTsKLSAKLSAgIC8qIElmIHdlIGFyZSBub3QgcnVubmluZyBtdWx0aXBsZSB0aHJlYWRzLCB3ZSBkbyBub3QgaGF2ZSB0bwotICAgICAgcHJlc2VydmUgbG9jayBzdGF0ZS4gIElmIGZvcmsgcnVucyBmcm9tIGEgc2lnbmFsIGhhbmRsZXIsIG9ubHkKLUBAIC0xNTAsNiArMTU0LDkgQEAgX19saWJjX2ZvcmsgKHZvaWQpCi0gCi0gICAgICAgLyogUnVuIHRoZSBoYW5kbGVycyByZWdpc3RlcmVkIGZvciB0aGUgcGFyZW50LiAgKi8KLSAgICAgICBfX3J1bl9mb3JrX2hhbmRsZXJzIChhdGZvcmtfcnVuX3BhcmVudCk7Ci0rICAgICAgLyogdW5sb2NrIGxkLnNvIGxhc3QsIGJlY2F1c2Ugd2UgbG9ja2VkIGl0IGZpcnN0ICovCi0rICAgICAgX19ydGxkX2xvY2tfdW5sb2NrX3JlY3Vyc2l2ZSAoR0woZGxfbG9hZF93cml0ZV9sb2NrKSk7Ci0rICAgICAgX19ydGxkX2xvY2tfdW5sb2NrX3JlY3Vyc2l2ZSAoR0woZGxfbG9hZF9sb2NrKSk7Ci0gICAgIH0KLSAKLSAgIHJldHVybiBwaWQ7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjgtYml0cy1zaWdpbmZvLWNvbnN0cy5oLWVudW0tZGVmaW5pdGlvbi1mb3ItVFJBUF9IV0JLUC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyOC1iaXRzLXNpZ2luZm8tY29uc3RzLmgtZW51bS1kZWZpbml0aW9uLWZvci1UUkFQX0hXQktQLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYWU4ZDAwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyOC1iaXRzLXNpZ2luZm8tY29uc3RzLmgtZW51bS1kZWZpbml0aW9uLWZvci1UUkFQX0hXQktQLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotRnJvbSAzOGZhZDNlNWFiM2I0NWM1NjgxMGFiZDM1ZmExMWE3MmZhMTBiOGYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUHJhdHl1c2ggQW5hbmQgPHBhbmFuZEByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAyMiBNYXIgMjAxNyAxNzowMjozOCArMDUzMAotU3ViamVjdDogW1BBVENIXSBiaXRzL3NpZ2luZm8tY29uc3RzLmg6IGVudW0gZGVmaW5pdGlvbiBmb3IgVFJBUF9IV0JLUFQgaXMKLSBtaXNzaW5nCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLUNvbXBpbGUgZm9sbG93aW5nIGxpbnV4IGtlcm5lbCB0ZXN0IGNvZGUgd2l0aCBsYXRlc3QgZ2xpYmM6Ci0KLWh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4LmdpdC90cmVlL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JyZWFrcG9pbnRzL2JyZWFrcG9pbnRfdGVzdF9hcm02NC5jCi0KLWFuZCB3ZSBnZXQgZm9sbG93aW5nIGVycm9yOgotYnJlYWtwb2ludF90ZXN0X2FybTY0LmM6IEluIGZ1bmN0aW9uIOKAmHJ1bl90ZXN04oCZOgotYnJlYWtwb2ludF90ZXN0X2FybTY0LmM6MTcxOjI1OiBlcnJvcjog4oCYVFJBUF9IV0JLUFTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCi0gIGlmIChzaWdpbmZvLnNpX2NvZGUgIT0gVFJBUF9IV0JLUFQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICBeCi1JIGNhbiBjb21waWxlIHRlc3QgY29kZSBieSBtb2RpZnlpbmcgbXkgbG9jYWwKLS91c3IvaW5jbHVkZS9iaXRzL3NpZ2luZm8uaCBhbmQgdGVzdCB3b3JrcyBncmVhdC4gVGhlcmVmb3JlLCB0aGlzIHBhdGNoCi13aWxsIGJlIG5lZWRlZCBpbiB1cHN0cmVhbSBnbGliYyBzbyB0aGF0IGlzc3VlIGlzIGZpeGVkIHRoZXJlIGFzIHdlbGwuCi0KLVNpZ25lZC1vZmYtYnk6IFByYXR5dXNoIEFuYW5kIDxwYW5hbmRAcmVkaGF0LmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTIxMjg2XQotLS0tCi0gYml0cy9zaWdpbmZvLWNvbnN0cy5oICAgICAgICAgICAgICAgICAgICAgICAgIHwgNiArKysrKy0KLSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ2luZm8tY29uc3RzLmggfCA2ICsrKysrLQotIDIgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2JpdHMvc2lnaW5mby1jb25zdHMuaCBiL2JpdHMvc2lnaW5mby1jb25zdHMuaAotaW5kZXggNzQ2NGMxODgyYi4uMjk4MzE0NTI3YSAxMDA2NDQKLS0tLSBhL2JpdHMvc2lnaW5mby1jb25zdHMuaAotKysrIGIvYml0cy9zaWdpbmZvLWNvbnN0cy5oCi1AQCAtMTA2LDggKzEwNiwxMiBAQCBlbnVtCi0gewotICAgVFJBUF9CUktQVCA9IDEsCQkvKiBQcm9jZXNzIGJyZWFrcG9pbnQuICAqLwotICMgIGRlZmluZSBUUkFQX0JSS1BUCVRSQVBfQlJLUFQKLS0gIFRSQVBfVFJBQ0UJCQkvKiBQcm9jZXNzIHRyYWNlIHRyYXAuICAqLwotKyAgVFJBUF9UUkFDRSwJCQkvKiBQcm9jZXNzIHRyYWNlIHRyYXAuICAqLwotICMgIGRlZmluZSBUUkFQX1RSQUNFCVRSQVBfVFJBQ0UKLSsgIFRSQVBfQlJBTkNILAkJCS8qIFByb2Nlc3MgYnJhbmNoIHRyYXAuICovCi0rIyBkZWZpbmUgVFJBUF9CUkFOQ0gJVFJBUF9CUkFOQ0gKLSsgIFRSQVBfSFdCS1BUCQkJLyogaGFyZHdhcmUgYnJlYWtwb2ludC93YXRjaHBvaW50ICAqLwotKyMgZGVmaW5lIFRSQVBfSFdCS1BUCVRSQVBfSFdCS1BUCi0gfTsKLSAjIGVuZGlmCi0gCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zaWdpbmZvLWNvbnN0cy5oIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zaWdpbmZvLWNvbnN0cy5oCi1pbmRleCAxOTNiZDljNDcxLi4zZmU4NTJiYzVmIDEwMDY0NAotLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zaWdpbmZvLWNvbnN0cy5oCi0rKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ2luZm8tY29uc3RzLmgKLUBAIC0xNDEsOCArMTQxLDEyIEBAIGVudW0KLSB7Ci0gICBUUkFQX0JSS1BUID0gMSwJCS8qIFByb2Nlc3MgYnJlYWtwb2ludC4gICovCi0gIyAgZGVmaW5lIFRSQVBfQlJLUFQJVFJBUF9CUktQVAotLSAgVFJBUF9UUkFDRQkJCS8qIFByb2Nlc3MgdHJhY2UgdHJhcC4gICovCi0rICBUUkFQX1RSQUNFLAkJCS8qIFByb2Nlc3MgdHJhY2UgdHJhcC4gICovCi0gIyAgZGVmaW5lIFRSQVBfVFJBQ0UJVFJBUF9UUkFDRQotKyAgVFJBUF9CUkFOQ0gsCQkJLyogUHJvY2VzcyBicmFuY2ggdHJhcC4gKi8KLSsjIGRlZmluZSBUUkFQX0JSQU5DSAlUUkFQX0JSQU5DSAotKyAgVFJBUF9IV0JLUFQJCQkvKiBoYXJkd2FyZSBicmVha3BvaW50L3dhdGNocG9pbnQgICovCi0rIyBkZWZpbmUgVFJBUF9IV0JLUFQJVFJBUF9IV0JLUFQKLSB9OwotICMgZW5kaWYKLSAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyOC1pbnRsLUVtaXQtbm8tbGluZXMtaW4tYmlzb24tZ2VuZXJhdGVkLWZpbGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI4LWludGwtRW1pdC1uby1saW5lcy1pbi1iaXNvbi1nZW5lcmF0ZWQtZmlsZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGViMDA2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyOC1pbnRsLUVtaXQtbm8tbGluZXMtaW4tYmlzb24tZ2VuZXJhdGVkLWZpbGVzLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb20gMzlmOTEwYTRiODE5NWQwNTM4NDI1YWFkN2YwZWJkYzIzMmI3YTU4MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDMgQXVnIDIwMTggMDk6NDQ6MDAgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAyOC8zMF0gaW50bDogRW1pdCBubyBsaW5lcyBpbiBiaXNvbiBnZW5lcmF0ZWQgZmlsZXMKKworSW1wcm92ZSByZXByb2R1Y2liaWxpdHk6CitEbyBub3QgcHV0IGFueSAjbGluZSBwcmVwcm9jZXNzb3IgY29tbWFuZHMgaW4gYmlzb24gZ2VuZXJhdGVkIGZpbGVzLgorVGhlc2UgbGluZXMgY29udGFpbiBhYnNvbHV0ZSBwYXRocyBjb250YWluaW5nIGZpbGUgbG9jYXRpb25zIG9uCit0aGUgaG9zdCBidWlsZCBtYWNoaW5lLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlzdHJpY2t5QGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBpbnRsL01ha2VmaWxlIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvaW50bC9NYWtlZmlsZSBiL2ludGwvTWFrZWZpbGUKK2luZGV4IDllZWE4ZDU3ZTMuLjYyN2RjZTRjZjEgMTAwNjQ0CistLS0gYS9pbnRsL01ha2VmaWxlCisrKysgYi9pbnRsL01ha2VmaWxlCitAQCAtMTU1LDcgKzE1NSw3IEBAICQob2JqcGZ4KXRzdC1nZXR0ZXh0Ni5vdXQ6ICQob2JqcGZ4KXRzdC1nZXR0ZXh0Lm91dAorIAorIENQUEZMQUdTICs9IC1EJ0xPQ0FMRURJUj0iJChsb2NhbGVkaXIpIicgXAorIAkgICAgLUQnTE9DQUxFX0FMSUFTX1BBVEg9IiQobG9jYWxlZGlyKSInCistQklTT05GTEFHUyA9IC0teWFjYyAtLW5hbWUtcHJlZml4PV9fZ2V0dGV4dCAtLW91dHB1dAorK0JJU09ORkxBR1MgPSAtLXlhY2MgLS1uby1saW5lcyAtLW5hbWUtcHJlZml4PV9fZ2V0dGV4dCAtLW91dHB1dAorIAorICQoaW5zdF9sb2NhbGVkaXIpL2xvY2FsZS5hbGlhczogbG9jYWxlLmFsaWFzICQoK2ZvcmNlKQorIAkkKGRvLWluc3RhbGwpCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjktaW5qZWN0LWZpbGUtYXNzZW1ibHktZGlyZWN0aXZlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyOS1pbmplY3QtZmlsZS1hc3NlbWJseS1kaXJlY3RpdmVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4NzRmYjUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjktaW5qZWN0LWZpbGUtYXNzZW1ibHktZGlyZWN0aXZlcy5wYXRjaApAQCAtMCwwICsxLDMwNCBAQAorRnJvbSA2NDliZmIzOTkyNjVlYjQ4YTlmZThkYjFjMmI1YTMxNjMzYzU1MTUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjkgTm92IDIwMTggMTc6Mjk6MzUgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCAyOS8zMF0gaW5qZWN0IGZpbGUgYXNzZW1ibHkgZGlyZWN0aXZlcworCitDdXJyZW50bHksIG5vbi1JQSBidWlsZHMgYXJlIG5vdCByZXByb2R1Y2liaWxlIHNpbmNlIGJ1aWxkIHBhdGhzIGFyZQorYmVpbmcgaW5qZWN0ZWQgaW50byB0aGUgZGVidWcgc3ltYm9scy4gVGhlc2UgYXJlIGNvbWluZyBmcm9tIHRoZSB1c2Ugb2YKKy5TIGFzc2VtYmxlciBmaWxlcyBkdXJpbmcgdGhlIGdsaWJjIGJ1aWxkLiBObyBTVFRfRklMRSBzZWN0aW9uIGlzIGFkZGVkCitkdXJpbmcgdGhlIGFzc2VtYmx5IGJ1dCB3aGVuIGxpbmtpbmcsIGxkIGRlY2lkZXMgdG8gYWRkIG9uZSB0byBhaWQKK2RlYnVnZ2luZyBhbmQgZW5zdXJlIHJlZmVyZW5jZXMgYmV0d2VlbiB0aGUgZGlmZmVyZW50IG9iamVjdCBmaWxlcyBpdHMKK2xpbmtpbmcgcmVtYWluIGNsZWFyLgorCitXZSBjYW4gYXZvaWQgdGhpcyBieSBpbmplY3RpbmcgYSBmaWxlIGhlYWRlciBpbnRvIHRoZSBhc3NlbWJsZXIgZmlsZXMKK2FoZWFkIG9mIHRpbWUsIGNob29zaW5nIGEgZmlsZW5hbWUgd2hpY2ggZG9lcyBub3QgY29udGFpbiBidWlsZCBzeXN0ZW0KK3BhdGhzLgorCitUaGlzIGlzIGEgYml0IG9mIGEgd29ya2Fyb3VuZC9oYWNrIGJ1dCBkb2VzIHNpZ25pZmljYW50bHkgcmVkdWNlIHRoZQorYnVpbGQgc3lzdGVtIHJlZmVyZW5jZXMgaW4gdGFyZ2V0IGJpbmFyaWVzIGZvciB0aGUgbm9uLUlBIGFyY2hpdGVjdHVyZXMKK3doaWNoIHVzZSAuUyBmaWxlcy4KKworUlAKKzIwMTgvMTAvMworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGNzdS9hYmktbm90ZS5TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL2FhcmNoNjQvY3J0aS5TICAgICAgICAgICAgICAgICAgICAgICAgfCAyICsrCisgc3lzZGVwcy9hYXJjaDY0L2NydG4uUyAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvYWFyY2g2NC9kbC10bHNkZXNjLlMgICAgICAgICAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL2FhcmNoNjQvZGwtdHJhbXBvbGluZS5TICAgICAgICAgICAgICAgfCAyICsrCisgc3lzZGVwcy9hYXJjaDY0L3N0YXJ0LlMgICAgICAgICAgICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvYXJtL2FiaS1ub3RlLlMgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL2FybS9jcnRpLlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICsrCisgc3lzZGVwcy9hcm0vY3J0bi5TICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvYXJtL2RsLXRsc2Rlc2MuUyAgICAgICAgICAgICAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL2FybS9kbC10cmFtcG9saW5lLlMgICAgICAgICAgICAgICAgICAgfCAyICsrCisgc3lzZGVwcy9hcm0vc3RhcnQuUyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvbWlwcy9zdGFydC5TICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLXN0YXJ0LlMgICAgICAgICAgfCAyICsrCisgc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9zdGFydC5TICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvc3RhcnQuUyAgICAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L19fcmVhZF90cC5TICAgfCAyICsrCisgc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2FlYWJpX3JlYWRfdHAuUyAgIHwgMiArKworIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9saWJjLWRvLXN5c2NhbGwuUyB8IDIgKysKKyBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLWJyay5TICAgICAgfCAyICsrCisgMjAgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvY3N1L2FiaS1ub3RlLlMgYi9jc3UvYWJpLW5vdGUuUworaW5kZXggZmExZjAxNGE4OC4uMDk4NzMxMzYyYSAxMDA2NDQKKy0tLSBhL2NzdS9hYmktbm90ZS5TCisrKysgYi9jc3UvYWJpLW5vdGUuUworQEAgLTU2LDYgKzU2LDggQEAgb2Zmc2V0CWxlbmd0aAljb250ZW50cworICNpbmNsdWRlIDxjb25maWcuaD4KKyAjaW5jbHVkZSA8YWJpLXRhZy5oPgkJLyogT1Mtc3BlY2lmaWMgQUJJIHRhZyB2YWx1ZSAqLworIAorKwkuZmlsZSAiYWJpLW5vdGUuUyIKKysKKyAvKiBUaGUgbGlua2VyIChHTlUgbGQgMi44IGFuZCBsYXRlcikgcmVjb2duaXplcyBhbiBhbGxvY2F0ZWQgc2VjdGlvbiB3aG9zZQorICAgIG5hbWUgYmVnaW5zIHdpdGggYC5ub3RlJyBhbmQgY3JlYXRlcyBhIFBUX05PVEUgcHJvZ3JhbSBoZWFkZXIgZW50cnkKKyAgICBwb2ludGluZyBhdCBpdC4gKi8KK2RpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvY3J0aS5TIGIvc3lzZGVwcy9hYXJjaDY0L2NydGkuUworaW5kZXggZDRlN2RmY2Y1Yy4uZTAyMThkZjMwYyAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvYWFyY2g2NC9jcnRpLlMKKysrKyBiL3N5c2RlcHMvYWFyY2g2NC9jcnRpLlMKK0BAIC01MCw2ICs1MCw4IEBACisgIyBkZWZpbmUgUFJFSU5JVF9GVU5DVElPTl9XRUFLIDEKKyAjZW5kaWYKKyAKKysgICAgLmZpbGUgImNydGkuUyIKKysKKyAjaWYgUFJFSU5JVF9GVU5DVElPTl9XRUFLCisgCXdlYWtfZXh0ZXJuIChQUkVJTklUX0ZVTkNUSU9OKQorICNlbHNlCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hYXJjaDY0L2NydG4uUyBiL3N5c2RlcHMvYWFyY2g2NC9jcnRuLlMKK2luZGV4IDM2M2Y3NTI0NjAuLjJmYjA2ZmJhNjIgMTAwNjQ0CistLS0gYS9zeXNkZXBzL2FhcmNoNjQvY3J0bi5TCisrKysgYi9zeXNkZXBzL2FhcmNoNjQvY3J0bi5TCitAQCAtMzcsNiArMzcsOCBAQAorIC8qIGNydG4uUyBwdXRzIGZ1bmN0aW9uIGVwaWxvZ3VlcyBpbiB0aGUgLmluaXQgYW5kIC5maW5pIHNlY3Rpb25zCisgICAgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvbG9ndWVzIGluIGNydGkuUy4gKi8KKyAKKysJLmZpbGUgImNydG4uUyIKKysKKyAJLnNlY3Rpb24gLmluaXQsImF4IiwlcHJvZ2JpdHMKKyAJbGRwCXgyOSwgeDMwLCBbc3BdLCAxNgorIAlSRVQKK2RpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvZGwtdGxzZGVzYy5TIGIvc3lzZGVwcy9hYXJjaDY0L2RsLXRsc2Rlc2MuUworaW5kZXggNGFiZTZiODJhMy4uOGM0NGIyZmY4YSAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvYWFyY2g2NC9kbC10bHNkZXNjLlMKKysrKyBiL3N5c2RlcHMvYWFyY2g2NC9kbC10bHNkZXNjLlMKK0BAIC0yMiw2ICsyMiw4IEBACisgI2luY2x1ZGUgPHRscy5oPgorICNpbmNsdWRlICJ0bHNkZXNjLmgiCisgCisrCS5maWxlICJkbC10bHNkZXNjLlMiCisrCisgI2RlZmluZSBOU0FWRURRUkVHUEFJUlMJMTYKKyAjZGVmaW5lIFNBVkVfUV9SRUdJU1RFUlMJCQkJXAorIAlzdHAJcTAsIHExLAlbc3AsICMtMzIqTlNBVkVEUVJFR1BBSVJTXSE7CVwKK2RpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvZGwtdHJhbXBvbGluZS5TIGIvc3lzZGVwcy9hYXJjaDY0L2RsLXRyYW1wb2xpbmUuUworaW5kZXggMTliMTE3ZThmOS4uMzhjNzhiNTQwOSAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvYWFyY2g2NC9kbC10cmFtcG9saW5lLlMKKysrKyBiL3N5c2RlcHMvYWFyY2g2NC9kbC10cmFtcG9saW5lLlMKK0BAIC0yMSw2ICsyMSw4IEBACisgCisgI2luY2x1ZGUgImRsLWxpbmsuaCIKKyAKKysJLmZpbGUgImRsLXRyYW1wb2xpbmUuUyIKKysKKyAjZGVmaW5lIGlwMCB4MTYKKyAjZGVmaW5lIGlwMGwgUFRSX1JFRyAoMTYpCisgI2RlZmluZSBpcDEgeDE3CitkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hYXJjaDY0L3N0YXJ0LlMgYi9zeXNkZXBzL2FhcmNoNjQvc3RhcnQuUworaW5kZXggZjVlOWI5YzIyMy4uYWUzZTIyYTZhNSAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvYWFyY2g2NC9zdGFydC5TCisrKysgYi9zeXNkZXBzL2FhcmNoNjQvc3RhcnQuUworQEAgLTE4LDYgKzE4LDggQEAKKyAKKyAjaW5jbHVkZSA8c3lzZGVwLmg+CisgCisrCS5maWxlICJzdGFydC5TIgorKworIC8qIFRoaXMgaXMgdGhlIGNhbm9uaWNhbCBlbnRyeSBwb2ludCwgdXN1YWxseSB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIHRleHQKKyAgICBzZWdtZW50LgorIAorZGlmZiAtLWdpdCBhL3N5c2RlcHMvYXJtL2FiaS1ub3RlLlMgYi9zeXNkZXBzL2FybS9hYmktbm90ZS5TCitpbmRleCAwN2JkNGM0NjE5Li43MjEzYjE2ZjI3IDEwMDY0NAorLS0tIGEvc3lzZGVwcy9hcm0vYWJpLW5vdGUuUworKysrIGIvc3lzZGVwcy9hcm0vYWJpLW5vdGUuUworQEAgLTEsMyArMSw1IEBACisrCS5maWxlICJhYmktbm90ZS5TIgorKworIC8qIFRhZ19BQklfYWxpZ244X3ByZXNlcnZlZDogVGhpcyBjb2RlIHByZXNlcnZlcyA4LWJ5dGUKKyAgICBhbGlnbm1lbnQgaW4gYW55IGNhbGxlZS4gICovCisgCS5lYWJpX2F0dHJpYnV0ZSAyNSwgMQorZGlmZiAtLWdpdCBhL3N5c2RlcHMvYXJtL2NydGkuUyBiL3N5c2RlcHMvYXJtL2NydGkuUworaW5kZXggMjZkYmJhNjZhMy4uZGQ4NGVjZDU2NiAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvYXJtL2NydGkuUworKysrIGIvc3lzZGVwcy9hcm0vY3J0aS5TCitAQCAtNTcsNiArNTcsOCBAQAorIAkuaGlkZGVuIFBSRUlOSVRfRlVOQ1RJT04KKyAjZW5kaWYKKyAKKysgICAgLmZpbGUgImNydGkuUyIKKysKKyAjaWYgUFJFSU5JVF9GVU5DVElPTl9XRUFLCisgCS5wMmFsaWduIDIKKyAJLnR5cGUgY2FsbF93ZWFrX2ZuLCAlZnVuY3Rpb24KK2RpZmYgLS1naXQgYS9zeXNkZXBzL2FybS9jcnRuLlMgYi9zeXNkZXBzL2FybS9jcnRuLlMKK2luZGV4IDhmOTFjOGQ4OGIuLmE4N2ZlNDllMDcgMTAwNjQ0CistLS0gYS9zeXNkZXBzL2FybS9jcnRuLlMKKysrKyBiL3N5c2RlcHMvYXJtL2NydG4uUworQEAgLTM3LDYgKzM3LDggQEAKKyAjZGVmaW5lIE5PX1RIVU1CCisgI2luY2x1ZGUgPHN5c2RlcC5oPgorIAorKyAgICAuZmlsZSAiY3J0bi5TIgorKworIC8qIGNydG4uUyBwdXRzIGZ1bmN0aW9uIGVwaWxvZ3VlcyBpbiB0aGUgLmluaXQgYW5kIC5maW5pIHNlY3Rpb25zCisgICAgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvbG9ndWVzIGluIGNydGkuUy4gKi8KKyAKK2RpZmYgLS1naXQgYS9zeXNkZXBzL2FybS9kbC10bHNkZXNjLlMgYi9zeXNkZXBzL2FybS9kbC10bHNkZXNjLlMKK2luZGV4IGE5MjkzNDBiNDIuLmI3MjRjOTc3NmQgMTAwNjQ0CistLS0gYS9zeXNkZXBzL2FybS9kbC10bHNkZXNjLlMKKysrKyBiL3N5c2RlcHMvYXJtL2RsLXRsc2Rlc2MuUworQEAgLTIxLDYgKzIxLDggQEAKKyAjaW5jbHVkZSA8dGxzLmg+CisgI2luY2x1ZGUgInRsc2Rlc2MuaCIKKyAKKysJLmZpbGUgImRsLXRsc2Rlc2MuUyIKKysKKyAJLnRleHQKKyAJQCBlbWl0IGRlYnVnIGluZm9ybWF0aW9uIHdpdGggY2ZpCisgCUAgdXNlIGFybS1zcGVjaWZpYyBwc2V1ZG9zIGZvciB1bndpbmRpbmcgaXRzZWxmCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hcm0vZGwtdHJhbXBvbGluZS5TIGIvc3lzZGVwcy9hcm0vZGwtdHJhbXBvbGluZS5TCitpbmRleCAzMjVjZmNkMmNlLi40YmZkY2JjZTUxIDEwMDY0NAorLS0tIGEvc3lzZGVwcy9hcm0vZGwtdHJhbXBvbGluZS5TCisrKysgYi9zeXNkZXBzL2FybS9kbC10cmFtcG9saW5lLlMKK0BAIC0yMSw2ICsyMSw4IEBACisgI2luY2x1ZGUgPHN5c2RlcC5oPgorICNpbmNsdWRlIDxsaWJjLXN5bWJvbHMuaD4KKyAKKysJLmZpbGUgImRsLXRyYW1wb2xpbmUuUyIKKysKKyAJLnRleHQKKyAJLmdsb2JsIF9kbF9ydW50aW1lX3Jlc29sdmUKKyAJLnR5cGUgX2RsX3J1bnRpbWVfcmVzb2x2ZSwgI2Z1bmN0aW9uCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hcm0vc3RhcnQuUyBiL3N5c2RlcHMvYXJtL3N0YXJ0LlMKK2luZGV4IGEwNWY4YTQ2NTEuLjJmNDM3NGZjYWEgMTAwNjQ0CistLS0gYS9zeXNkZXBzL2FybS9zdGFydC5TCisrKysgYi9zeXNkZXBzL2FybS9zdGFydC5TCitAQCAtNTcsNiArNTcsOCBAQAorIAkJCQkJTlVMTAorICovCisgCisrCS5maWxlICJzdGFydC5TIgorKworIC8qIFRhZ19BQklfYWxpZ244X3ByZXNlcnZlZDogVGhpcyBjb2RlIHByZXNlcnZlcyA4LWJ5dGUKKyAgICBhbGlnbm1lbnQgaW4gYW55IGNhbGxlZS4gICovCisgCS5lYWJpX2F0dHJpYnV0ZSAyNSwgMQorZGlmZiAtLWdpdCBhL3N5c2RlcHMvbWlwcy9zdGFydC5TIGIvc3lzZGVwcy9taXBzL3N0YXJ0LlMKK2luZGV4IDg2MzhlNWI1NDUuLjkzZjY1NjRhZWMgMTAwNjQ0CistLS0gYS9zeXNkZXBzL21pcHMvc3RhcnQuUworKysrIGIvc3lzZGVwcy9taXBzL3N0YXJ0LlMKK0BAIC0zOCw2ICszOCw4IEBACisgI2luY2x1ZGUgPHNnaWRlZnMuaD4KKyAjaW5jbHVkZSA8c3lzL2FzbS5oPgorIAorKwkuZmlsZSAic3RhcnQuUyIKKysKKyAjaWZuZGVmIEVOVFJZX1BPSU5UCisgI2Vycm9yIEVOVFJZX1BPSU5UIG5lZWRzIHRvIGJlIGRlZmluZWQgZm9yIHN0YXJ0LlMgb24gTUlQUy9FTEYuCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9kbC1zdGFydC5TIGIvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9kbC1zdGFydC5TCitpbmRleCA5OWExMGQ2NDNhLi5lNDdmYzBkMjQ1IDEwMDY0NAorLS0tIGEvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9kbC1zdGFydC5TCisrKysgYi9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLXN0YXJ0LlMKK0BAIC0xOCw2ICsxOCw4IEBACisgCisgI2luY2x1ZGUgPHN5c2RlcC5oPgorIAorKwkuZmlsZSAiZGwtc3RhcnQuUyIKKysKKyAvKiBJbml0aWFsIGVudHJ5IHBvaW50IGNvZGUgZm9yIHRoZSBkeW5hbWljIGxpbmtlci4KKyAgICBUaGUgQyBmdW5jdGlvbiBgX2RsX3N0YXJ0JyBpcyB0aGUgcmVhbCBlbnRyeSBwb2ludDsKKyAgICBpdHMgcmV0dXJuIHZhbHVlIGlzIHRoZSB1c2VyIHByb2dyYW0ncyBlbnRyeSBwb2ludC4JKi8KK2RpZmYgLS1naXQgYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3N0YXJ0LlMgYi9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3N0YXJ0LlMKK2luZGV4IDE3MmZiNWE1NmIuLmVmMTQ3MWI4NjEgMTAwNjQ0CistLS0gYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3N0YXJ0LlMKKysrKyBiL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvc3RhcnQuUworQEAgLTM1LDYgKzM1LDggQEAKKyAKKyAjaW5jbHVkZSA8c3lzZGVwLmg+CisgCisrCS5maWxlICJzdGFydC5TIgorKworIC8qIFdlIGRvIG5vdCB3YW50IC5laF9mcmFtZSBpbmZvIGZvciBjcnQxLm8gc2luY2UgY3J0MS5vIGlzIGxpbmtlZAorICAgIGJlZm9yZSBjcnRiZWdpbi5vLCB0aGUgZmlsZSBkZWZpbmluZyBfX0VIX0ZSQU1FX0JFR0lOX18uICAqLworICN1bmRlZiBjZmlfc3RhcnRwcm9jCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zdGFydC5TIGIvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zdGFydC5TCitpbmRleCA1NWZhZTY4YWQ2Li4wY2I2MDhmZTBmIDEwMDY0NAorLS0tIGEvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zdGFydC5TCisrKysgYi9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3N0YXJ0LlMKK0BAIC0zNSw2ICszNSw4IEBACisgCisgI2luY2x1ZGUgPHN5c2RlcC5oPgorIAorKwkuZmlsZSAic3RhcnQuUyIKKysKKyAvKiBXZSBkbyBub3Qgd2FudCAuZWhfZnJhbWUgaW5mbyBmb3IgY3J0MS5vIHNpbmNlIGNydDEubyBpcyBsaW5rZWQKKyAgICBiZWZvcmUgY3J0YmVnaW4ubywgdGhlIGZpbGUgZGVmaW5pbmcgX19FSF9GUkFNRV9CRUdJTl9fLiAgKi8KKyAjdW5kZWYgY2ZpX3N0YXJ0cHJvYworZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvX19yZWFkX3RwLlMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L19fcmVhZF90cC5TCitpbmRleCAzMGEyOWI5ZmIwLi4wNzg5MmIzODNmIDEwMDY0NAorLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9fX3JlYWRfdHAuUworKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9fX3JlYWRfdHAuUworQEAgLTE4LDYgKzE4LDggQEAKKyAKKyAjaW5jbHVkZSA8c3lzZGVwLmg+CisgCisrCS5maWxlICJfX3JlYWRfdHAuUyIKKysKKyAJLmhpZGRlbiBfX3JlYWRfdHAKKyBFTlRSWSAoX19yZWFkX3RwKQorIAltcnMJeDAsIHRwaWRyX2VsMAorZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9hZWFiaV9yZWFkX3RwLlMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYWVhYmlfcmVhZF90cC5TCitpbmRleCBmNjRjNGZmZThhLi4yZGEzMTVhYjA4IDEwMDY0NAorLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2FlYWJpX3JlYWRfdHAuUworKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2FlYWJpX3JlYWRfdHAuUworQEAgLTM5LDYgKzM5LDggQEAKKyAgICBhIG5vcm1hbCBmdW5jdGlvbiBjYWxsKSBpbiBhIGhpZ2ggcGFnZSBvZiBtZW1vcnk7IHRhaWwgY2FsbCB0byB0aGUKKyAgICBoZWxwZXIuICAqLworIAorKwkuZmlsZSAiYWVhYmlfcmVhZF90cC5TIgorKworIAkuaGlkZGVuIF9fYWVhYmlfcmVhZF90cAorIEVOVFJZIChfX2FlYWJpX3JlYWRfdHApCisgI2lmZGVmIEFSQ0hfSEFTX0hBUkRfVFAKK2RpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vbGliYy1kby1zeXNjYWxsLlMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vbGliYy1kby1zeXNjYWxsLlMKK2luZGV4IDBiNjIzN2FjNTUuLjhjZGE0OTFjMjggMTAwNjQ0CistLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vbGliYy1kby1zeXNjYWxsLlMKKysrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9saWJjLWRvLXN5c2NhbGwuUworQEAgLTI3LDYgKzI3LDggQEAKKyAgICBBUk0gdW53aW5kIHRhYmxlcyBmb3IgcmVnaXN0ZXIgdG8gcmVnaXN0ZXIgbW92ZXMsIHRoZSBhY3R1YWwgb3Bjb2RlcworICAgIGFyZSBub3QgZGVmaW5lZC4gICovCisgCisrICAgICAgLmZpbGUgImxpYmMtZG8tc3lzY2FsbC5TIgorKworICNpZiBkZWZpbmVkKF9fdGh1bWJfXykKKyAJLnRodW1iCisgCS5zeW50YXggdW5pZmllZAorZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtYnJrLlMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLWJyay5TCitpbmRleCBlZWI5NjU0NGUzLi5kYTE4MmIyOGY4IDEwMDY0NAorLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9kbC1icmsuUworKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9kbC1icmsuUworQEAgLTEgKzEsMyBAQAorKwkuZmlsZSAiZGwtYnJrLlMiCisrCisgI2luY2x1ZGUgPGJyay5TPgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI5LWxvY2FsZWRlZi1hZGQtdG8tYXJjaGl2ZS11c2VzLWEtaGFyZC1jb2RlZC1sb2NhbGUtcGEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjktbG9jYWxlZGVmLWFkZC10by1hcmNoaXZlLXVzZXMtYS1oYXJkLWNvZGVkLWxvY2FsZS1wYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTE3ZjZhYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjktbG9jYWxlZGVmLWFkZC10by1hcmNoaXZlLXVzZXMtYS1oYXJkLWNvZGVkLWxvY2FsZS1wYS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLUZyb20gODY1NjUxZDI0OTZhOTBmN2FlOGU3Y2MxOWEyZTU0YjZmMTdhOGFkNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDMgQXVnIDIwMTggMDk6NDI6MDYgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gbG9jYWxlZGVmIC0tYWRkLXRvLWFyY2hpdmUgdXNlcyBhIGhhcmQtY29kZWQgbG9jYWxlIHBhdGgKLQotaXQgZG9lc24ndCBleGlzdCBpbiBub3JtYWwgdXNlLCBhbmQgdGhlcmUncyBubyB3YXkgdG8gcGFzcyBhbgotYWx0ZXJuYXRpdmUgZmlsZW5hbWUuCi0KLUFkZCBhIGZhbGxiYWNrIG9mICRMT0NBTEVBUkNISVZFIGZyb20gdGhlIGVudmlyb25tZW50LCBhbmQgYWxsb3cKLWNyZWF0aW9uIG9mIG5ldyBsb2NhbGUgYXJjaGl2ZXMgdGhhdCBhcmUgbm90IHRoZSBzeXN0ZW0gYXJjaGl2ZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIChPRS1zcGVjaWZpYykKLQotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsb2NhbGUvcHJvZ3JhbXMvbG9jYXJjaGl2ZS5jIHwgMzcgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbG9jYWxlL3Byb2dyYW1zL2xvY2FyY2hpdmUuYyBiL2xvY2FsZS9wcm9ncmFtcy9sb2NhcmNoaXZlLmMKLWluZGV4IGNhMzMyYTM0NWYuLjkxZjYyZGE2NjIgMTAwNjQ0Ci0tLS0gYS9sb2NhbGUvcHJvZ3JhbXMvbG9jYXJjaGl2ZS5jCi0rKysgYi9sb2NhbGUvcHJvZ3JhbXMvbG9jYXJjaGl2ZS5jCi1AQCAtMzQwLDEyICszNDAsMjQgQEAgZW5sYXJnZV9hcmNoaXZlIChzdHJ1Y3QgbG9jYXJoYW5kbGUgKmFoLCBjb25zdCBzdHJ1Y3QgbG9jYXJoZWFkICpoZWFkKQotICAgc3RydWN0IG5hbWVoYXNoZW50ICpvbGRuYW1laGFzaHRhYjsKLSAgIHN0cnVjdCBsb2NhcmhhbmRsZSBuZXdfYWg7Ci0gICBzaXplX3QgcHJlZml4X2xlbiA9IG91dHB1dF9wcmVmaXggPyBzdHJsZW4gKG91dHB1dF9wcmVmaXgpIDogMDsKLS0gIGNoYXIgYXJjaGl2ZWZuYW1lW3ByZWZpeF9sZW4gKyBzaXplb2YgKEFSQ0hJVkVfTkFNRSldOwotLSAgY2hhciBmbmFtZVtwcmVmaXhfbGVuICsgc2l6ZW9mIChBUkNISVZFX05BTUUpICsgc2l6ZW9mICgiLlhYWFhYWCIpIC0gMV07Ci0rICBjaGFyICphcmNoaXZlZm5hbWU7Ci0rICBjaGFyICpmbmFtZTsKLSsgIGNoYXIgKmVudmFyY2hpdmUgPSBnZXRlbnYoIkxPQ0FMRUFSQ0hJVkUiKTsKLSAKLS0gIGlmIChvdXRwdXRfcHJlZml4KQotLSAgICBtZW1jcHkgKGFyY2hpdmVmbmFtZSwgb3V0cHV0X3ByZWZpeCwgcHJlZml4X2xlbik7Ci0tICBzdHJjcHkgKGFyY2hpdmVmbmFtZSArIHByZWZpeF9sZW4sIEFSQ0hJVkVfTkFNRSk7Ci0rICBpZiAoZW52YXJjaGl2ZSAhPSBOVUxMKSAKLSsgICAgewotKyAgICAgIGFyY2hpdmVmbmFtZSA9IHhtYWxsb2Moc3RybGVuKGVudmFyY2hpdmUpICsgMSk7Ci0rICAgICAgZm5hbWUgPSB4bWFsbG9jKHN0cmxlbihlbnZhcmNoaXZlKSArIHNpemVvZiAoIi5YWFhYWFgiKSk7Ci0rICAgICAgc3RyY3B5IChhcmNoaXZlZm5hbWUsIGVudmFyY2hpdmUpOwotKyAgICB9Ci0rICBlbHNlCi0rICAgIHsKLSsgICAgICBhcmNoaXZlZm5hbWUgPSB4bWFsbG9jKHByZWZpeF9sZW4gKyBzaXplb2YgKEFSQ0hJVkVfTkFNRSkpOwotKyAgICAgIGZuYW1lID0geG1hbGxvYyhwcmVmaXhfbGVuICsgc2l6ZW9mIChBUkNISVZFX05BTUUpICsgc2l6ZW9mICgiLlhYWFhYWCIpIC0gMSk7Ci0rICAgICAgaWYgKG91dHB1dF9wcmVmaXgpCi0rICAgICAgICBtZW1jcHkgKGFyY2hpdmVmbmFtZSwgb3V0cHV0X3ByZWZpeCwgcHJlZml4X2xlbik7Ci0rICAgICAgc3RyY3B5IChhcmNoaXZlZm5hbWUgKyBwcmVmaXhfbGVuLCBBUkNISVZFX05BTUUpOwotKyAgICB9Ci0gICBzdHJjcHkgKHN0cGNweSAoZm5hbWUsIGFyY2hpdmVmbmFtZSksICIuWFhYWFhYIik7Ci0gCi0gICAvKiBOb3QgYWxsIG9mIHRoZSBvbGQgZmlsZSBoYXMgdG8gYmUgbWFwcGVkLiAgQ2hhbmdlIHRoaXMgbm93IHRoaXMKLUBAIC01NTEsNiArNTYzLDggQEAgZW5sYXJnZV9hcmNoaXZlIChzdHJ1Y3QgbG9jYXJoYW5kbGUgKmFoLCBjb25zdCBzdHJ1Y3QgbG9jYXJoZWFkICpoZWFkKQotIAotICAgLyogQWRkIHRoZSBpbmZvcm1hdGlvbiBmb3IgdGhlIG5ldyBvbmUuICAqLwotICAgKmFoID0gbmV3X2FoOwotKyAgZnJlZShhcmNoaXZlZm5hbWUpOwotKyAgZnJlZShmbmFtZSk7Ci0gfQotIAotIAotQEAgLTU2OSwxMCArNTgzLDEzIEBAIG9wZW5fYXJjaGl2ZSAoc3RydWN0IGxvY2FyaGFuZGxlICphaCwgYm9vbCByZWFkb25seSkKLSAgIC8qIElmIGFoIGhhcyBhIG5vbi1OVUxMIGZuYW1lIG9wZW4gdGhhdCBvdGhlcndpc2Ugb3BlbiB0aGUgZGVmYXVsdC4gICovCi0gICBpZiAoYXJjaGl2ZWZuYW1lID09IE5VTEwpCi0gICAgIHsKLS0gICAgICBhcmNoaXZlZm5hbWUgPSBkZWZhdWx0X2ZuYW1lOwotLSAgICAgIGlmIChvdXRwdXRfcHJlZml4KQotLSAgICAgICAgbWVtY3B5IChkZWZhdWx0X2ZuYW1lLCBvdXRwdXRfcHJlZml4LCBwcmVmaXhfbGVuKTsKLS0gICAgICBzdHJjcHkgKGRlZmF1bHRfZm5hbWUgKyBwcmVmaXhfbGVuLCBBUkNISVZFX05BTUUpOwotKyAgICAgIGFyY2hpdmVmbmFtZSA9IGdldGVudigiTE9DQUxFQVJDSElWRSIpOwotKyAgICAgIGlmIChhcmNoaXZlZm5hbWUgPT0gTlVMTCkgewotKyAgICAgICAgICAgICAgYXJjaGl2ZWZuYW1lID0gZGVmYXVsdF9mbmFtZTsKLSsgICAgICAgICAgICAgIGlmIChvdXRwdXRfcHJlZml4KQotKyAgICAgICAgICAgICAgICBtZW1jcHkgKGRlZmF1bHRfZm5hbWUsIG91dHB1dF9wcmVmaXgsIHByZWZpeF9sZW4pOwotKyAgICAgICAgICAgICAgc3RyY3B5IChkZWZhdWx0X2ZuYW1lICsgcHJlZml4X2xlbiwgQVJDSElWRV9OQU1FKTsKLSsgICAgICB9Ci0gICAgIH0KLSAKLSAgIHdoaWxlICgxKQotQEAgLTU4NSw3ICs2MDIsNyBAQCBvcGVuX2FyY2hpdmUgKHN0cnVjdCBsb2NhcmhhbmRsZSAqYWgsIGJvb2wgcmVhZG9ubHkpCi0gCSAgICAgdGhlIGRlZmF1bHQgbG9jYWxlIGFyY2hpdmUgd2UgaWdub3JlIHRoZSBmYWlsdXJlIGFuZAotIAkgICAgIGxpc3QgYW4gZW1wdHkgYXJjaGl2ZSwgb3RoZXJ3aXNlIHdlIHByaW50IGFuIGVycm9yCi0gCSAgICAgYW5kIGV4aXQuICAqLwotLQkgIGlmIChlcnJubyA9PSBFTk9FTlQgJiYgYXJjaGl2ZWZuYW1lID09IGRlZmF1bHRfZm5hbWUpCi0rCSAgaWYgKGVycm5vID09IEVOT0VOVCkKLSAJICAgIHsKLSAJICAgICAgaWYgKHJlYWRvbmx5KQotIAkJewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDMwLWludGwtRW1pdC1uby1saW5lcy1pbi1iaXNvbi1nZW5lcmF0ZWQtZmlsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMzAtaW50bC1FbWl0LW5vLWxpbmVzLWluLWJpc29uLWdlbmVyYXRlZC1maWxlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGI5N2Q5MS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMzAtaW50bC1FbWl0LW5vLWxpbmVzLWluLWJpc29uLWdlbmVyYXRlZC1maWxlcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gYTU0YzE1ZDA1NjdkNTQ3MTM3MDY2ZjQxYjFiMjJlYmE0ODc1YzI3YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDMgQXVnIDIwMTggMDk6NDQ6MDAgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gaW50bDogRW1pdCBubyBsaW5lcyBpbiBiaXNvbiBnZW5lcmF0ZWQgZmlsZXMKLQotSW1wcm92ZSByZXByb2R1Y2liaWxpdHk6Ci1EbyBub3QgcHV0IGFueSAjbGluZSBwcmVwcm9jZXNzb3IgY29tbWFuZHMgaW4gYmlzb24gZ2VuZXJhdGVkIGZpbGVzLgotVGhlc2UgbGluZXMgY29udGFpbiBhYnNvbHV0ZSBwYXRocyBjb250YWluaW5nIGZpbGUgbG9jYXRpb25zIG9uCi10aGUgaG9zdCBidWlsZCBtYWNoaW5lLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlzdHJpY2t5QGludGVsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBpbnRsL01ha2VmaWxlIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvaW50bC9NYWtlZmlsZSBiL2ludGwvTWFrZWZpbGUKLWluZGV4IDY3MmVkZjFiMzguLmQzMTg4OGQwMTMgMTAwNjQ0Ci0tLS0gYS9pbnRsL01ha2VmaWxlCi0rKysgYi9pbnRsL01ha2VmaWxlCi1AQCAtMTU1LDcgKzE1NSw3IEBAICQob2JqcGZ4KXRzdC1nZXR0ZXh0Ni5vdXQ6ICQob2JqcGZ4KXRzdC1nZXR0ZXh0Lm91dAotIAotIENQUEZMQUdTICs9IC1EJ0xPQ0FMRURJUj0iJChsb2NhbGVkaXIpIicgXAotIAkgICAgLUQnTE9DQUxFX0FMSUFTX1BBVEg9IiQobG9jYWxlZGlyKSInCi0tQklTT05GTEFHUyA9IC0teWFjYyAtLW5hbWUtcHJlZml4PV9fZ2V0dGV4dCAtLW91dHB1dAotK0JJU09ORkxBR1MgPSAtLXlhY2MgLS1uby1saW5lcyAtLW5hbWUtcHJlZml4PV9fZ2V0dGV4dCAtLW91dHB1dAotIAotICQoaW5zdF9sb2NhbGVkaXIpL2xvY2FsZS5hbGlhczogbG9jYWxlLmFsaWFzICQoK2ZvcmNlKQotIAkkKGRvLWluc3RhbGwpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMzAtbG9jYWxlLXByZXZlbnQtbWF5YmUtdW5pbml0aWFsaXplZC1lcnJvcnMtd2l0aC1Pcy1CWi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMC1sb2NhbGUtcHJldmVudC1tYXliZS11bmluaXRpYWxpemVkLWVycm9ycy13aXRoLU9zLUJaLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkYzI0MjQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMzAtbG9jYWxlLXByZXZlbnQtbWF5YmUtdW5pbml0aWFsaXplZC1lcnJvcnMtd2l0aC1Pcy1CWi5wYXRjaApAQCAtMCwwICsxLDU2IEBACitGcm9tIDZkZGFiOWM4NjkyZTZhNzc3YzJlMmU3YTZjYTI2YTY1ZGY3ZDJjNWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPG1hcnRpbi5qYW5zYUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDE3IERlYyAyMDE4IDIxOjM2OjE4ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMzAvMzBdIGxvY2FsZTogcHJldmVudCBtYXliZS11bmluaXRpYWxpemVkIGVycm9ycyB3aXRoIC1PcyBbQloKKyAjMTk0NDRdCisKK0ZpeGVzIGZvbGxvd2luZyBlcnJvciB3aGVuIGJ1aWxkaW5nIGZvciBhYXJjaDY0IHdpdGggLU9zOgorfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gc3RyY29sbF9sLmM6NDM6Cit8IHN0cmNvbGxfbC5jOiBJbiBmdW5jdGlvbiAnX19zdHJjb2xsX2wnOgorfCAuLi9sb2NhbGUvd2VpZ2h0Lmg6MzE6MjY6IGVycm9yOiAnc2VxMi5iYWNrX3VzJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KK3wgICAgaW50X2Zhc3QzMl90IGkgPSB0YWJsZVsqKCpjcHApKytdOworfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgorfCBzdHJjb2xsX2wuYzozMDQ6MTg6IG5vdGU6ICdzZXEyLmJhY2tfdXMnIHdhcyBkZWNsYXJlZCBoZXJlCit8ICAgIGNvbGxfc2VxIHNlcTEsIHNlcTI7Cit8ICAgICAgICAgICAgICAgICAgIF5+fn4KK3wgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHN0cmNvbGxfbC5jOjQzOgorfCAuLi9sb2NhbGUvd2VpZ2h0Lmg6MzE6MjY6IGVycm9yOiAnc2VxMS5iYWNrX3VzJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KK3wgICAgaW50X2Zhc3QzMl90IGkgPSB0YWJsZVsqKCpjcHApKytdOworfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgorfCBzdHJjb2xsX2wuYzozMDQ6MTI6IG5vdGU6ICdzZXExLmJhY2tfdXMnIHdhcyBkZWNsYXJlZCBoZXJlCit8ICAgIGNvbGxfc2VxIHNlcTEsIHNlcTI7Cit8ICAgICAgICAgICAgIF5+fn4KKworICAgICAgICBQYXJ0aWFsIGZpeCBmb3IgW0JaICMxOTQ0NF0KKyAgICAgICAgKiBsb2NhbGUvd2VpZ2h0Lmg6IEZpeCBidWlsZCB3aXRoIC1Pcy4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vcGF0Y2h3b3JrLm96bGFicy5vcmcvcGF0Y2gvMTAxNDc2Nl0KKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxvY2FsZS93ZWlnaHQuaCB8IDcgKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2xvY2FsZS93ZWlnaHQuaCBiL2xvY2FsZS93ZWlnaHQuaAoraW5kZXggN2NhODE0OThiMi4uZDYwOGNhNzBiYiAxMDA2NDQKKy0tLSBhL2xvY2FsZS93ZWlnaHQuaAorKysrIGIvbG9jYWxlL3dlaWdodC5oCitAQCAtMjgsNyArMjgsMTQgQEAgZmluZGlkeCAoY29uc3QgaW50MzJfdCAqdGFibGUsCisgCSBjb25zdCB1bnNpZ25lZCBjaGFyICpleHRyYSwKKyAJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKipjcHAsIHNpemVfdCBsZW4pCisgeworKyAgLyogV2l0aCBHQ0MgOCB3aGVuIGNvbXBpbGluZyB3aXRoIC1PcyB0aGUgY29tcGlsZXIgd2FybnMgdGhhdAorKyAgICAgc2VxMS5iYWNrX3VzIGFuZCBzZXEyLmJhY2tfdXMgbWlnaHQgYmUgdXNlZCB1bmluaXRpYWxpemVkLgorKyAgICAgVGhpcyB1bmluaXRpYWxpemVkIHVzZSBpcyBpbXBvc3NpYmxlIGZvciB0aGUgc2FtZSByZWFzb24KKysgICAgIGFzIGRlc2NyaWJlZCBpbiBjb21tZW50cyBpbiBsb2NhbGUvd2VpZ2h0d2MuaC4gICovCisrICBESUFHX1BVU0hfTkVFRFNfQ09NTUVOVDsKKysgIERJQUdfSUdOT1JFX09zX05FRURTX0NPTU1FTlQgKDgsICItV21heWJlLXVuaW5pdGlhbGl6ZWQiKTsKKyAgIGludF9mYXN0MzJfdCBpID0gdGFibGVbKigqY3BwKSsrXTsKKysgIERJQUdfUE9QX05FRURTX0NPTU1FTlQ7CisgICBjb25zdCB1bnNpZ25lZCBjaGFyICpjcDsKKyAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVzcmM7CisgCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMzEtc3lzZGVwcy1pZWVlNzU0LXByZXZlbnQtbWF5YmUtdW5pbml0aWFsaXplZC1lcnJvcnMtdy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMS1zeXNkZXBzLWllZWU3NTQtcHJldmVudC1tYXliZS11bmluaXRpYWxpemVkLWVycm9ycy13LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MWY1NWQ0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMS1zeXNkZXBzLWllZWU3NTQtcHJldmVudC1tYXliZS11bmluaXRpYWxpemVkLWVycm9ycy13LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjU4ICswLDAgQEAKLUZyb20gNTQ2YjQ2YzMwOWE1MmVkNzRkYzkwNjExNGIxZTk4NGJiOTcwM2Q3NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMTQgU2VwIDIwMTggMjM6MjM6MDMgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gc3lzZGVwcy9pZWVlNzU0OiBwcmV2ZW50IG1heWJlLXVuaW5pdGlhbGl6ZWQgZXJyb3JzIHdpdGggLU8KLSBbQlogIzE5NDQ0XQotCi1XaXRoIC1PIGluY2x1ZGVkIGluIENGTEFHUyBpdCBmYWlscyB0byBidWlsZCB3aXRoOgotCi0uLi9zeXNkZXBzL2llZWU3NTQvbGRibC05Ni9lX2pubC5jOiBJbiBmdW5jdGlvbiAnX19pZWVlNzU0X2pubCc6Ci0uLi9zeXNkZXBzL2llZWU3NTQvbGRibC05Ni9lX2pubC5jOjE0NjoyMDogZXJyb3I6ICd0ZW1wJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KLSAgICAgIGIgPSBpbnZzcXJ0cGkgKiB0ZW1wIC8gc3FydGwgKHgpOwotICAgICAgICAgIH5+fn5+fn5+fn5efn5+fn4KLS4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2Vfam5sLmM6IEluIGZ1bmN0aW9uICdfX2llZWU3NTRfeW5sJzoKLS4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2Vfam5sLmM6Mzc1OjE2OiBlcnJvcjogJ3RlbXAnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQotICBiID0gaW52c3FydHBpICogdGVtcCAvIHNxcnRsICh4KTsKLSAgICAgIH5+fn5+fn5+fn5efn5+fn4KLS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9qbi5jOiBJbiBmdW5jdGlvbiAnX19pZWVlNzU0X2puJzoKLS4uL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9qbi5jOjExMzoyMDogZXJyb3I6ICd0ZW1wJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KLSAgICAgIGIgPSBpbnZzcXJ0cGkgKiB0ZW1wIC8gc3FydCAoeCk7Ci0gICAgICAgICAgfn5+fn5+fn5+fl5+fn5+fgotLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2puLmM6IEluIGZ1bmN0aW9uICdfX2llZWU3NTRfeW4nOgotLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2puLmM6MzIwOjE2OiBlcnJvcjogJ3RlbXAnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQotICBiID0gaW52c3FydHBpICogdGVtcCAvIHNxcnQgKHgpOwotICAgICAgfn5+fn5+fn5+fl5+fn5+fgotCi1CdWlsZCB0ZXN0ZWQgd2l0aCBZb2N0byBmb3IgQVJNLCBBQVJDSDY0LCBYODYsIFg4Nl82NCwgUFBDLCBNSVBTLCBNSVBTNjQKLXdpdGggLU8sIC1PMSwgLU9zLgotRm9yIHNvZnQtZnAgQVJNIGl0IG5lZWRzIG9uZSBtb3JlIGZpeCBmb3IgLU8xOgotaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9tbC9saWJjLWFscGhhLzIwMTgtMDkvbXNnMDAzMDAuaHRtbAotRm9yIEFBUkNINjQgaXQgbmVlZHMgb25lIG1vcmUgZml4IGluIGxvY2FsZSBmb3IgLU9zLgotCi0gICAgICAgIFtCWiAjMjM3MTZdCi0gICAgICAgICogc3lzZGVwcy9pZWVlNzU0L2RibC05Ni9lX2pubC5jOiBGaXggYnVpbGQgd2l0aCAtTwotICAgICAgICAqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2Vfam5sLmM6IExpa2V3aXNlLgotICAgICAgICAqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9lX2pubC5jOiBMaWtld2lzZS4KLSAgICAgICAgKiBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjhpYm0vZV9qbmwuYzogTGlrZXdpc2UuCi0KLVdvcmsgYXJvdW5kIHRoZSBpc3N1ZSBpbnN0ZWFkIG9mIHJlbW92aW5nIC1PIGxpa2Ugd2UgZG8gd2l0aAotU0VMRUNURURfT1BUSU1JWkFUSU9OCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL3d3dy5zb3VyY2V3YXJlLm9yZy9tbC9saWJjLWFscGhhLzIwMTgtMDkvbXNnMDAyOTkuaHRtbF0KLQotU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotLS0tCi0gQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNyArKysrKysrCi0gc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2puLmMgICAgICAgfCAyMSArKysrKysrKysrKysrKysrKysrKysKLSBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvZV9qbmwuYyAgICB8IDIxICsrKysrKysrKysrKysrKysrKysrKwotIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOGlibS9lX2pubC5jIHwgMjEgKysrKysrKysrKysrKysrKysrKysrCi0gc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9qbmwuYyAgICAgfCAyMSArKysrKysrKysrKysrKysrKysrKysKLSA1IGZpbGVzIGNoYW5nZWQsIDkxIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwotaW5kZXggMTFhOWI4ZDk4ZS4uOTIyZTkxNmYyYyAxMDA2NDQKLS0tLSBhL0NoYW5nZUxvZwotKysrIGIvQ2hhbmdlTG9nCi1AQCAtMSwzICsxLDEwIEBACi0rMjAxOC0wOS0yOSAgTWFydGluIEphbnNhICA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLSsJUGFydGlhbCBmaXggZm9yIFtCWiAjMjM3MTZdCi0rCSogc3lzZGVwcy9pZWVlNzU0L2RibC05Ni9lX2pubC5jOiBGaXggYnVpbGQgd2l0aCAtTwotKwkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2Vfam5sLmM6IExpa2V3aXNlLgotKwkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9lX2pubC5jOiBMaWtld2lzZS4KLSsJKiBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjhpYm0vZV9qbmwuYzogTGlrZXdpc2UuCi0rCi0gMjAxOC0wOS0yOCAgQWRoZW1lcnZhbCBaYW5lbGxhICA8YWRoZW1lcnZhbC56YW5lbGxhQGxpbmFyby5vcmc+Ci0gCi0gCVtCWiAjMjM1NzldCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2puLmMgYi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L2Vfam4uYwotaW5kZXggOTE4MWIyMmJiOC4uOWZmNTJjNzM3ZiAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9qbi5jCi0rKysgYi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L2Vfam4uYwotQEAgLTQyLDYgKzQyLDcgQEAKLSAjaW5jbHVkZSA8bWF0aC1uYXJyb3ctZXZhbC5oPgotICNpbmNsdWRlIDxtYXRoX3ByaXZhdGUuaD4KLSAjaW5jbHVkZSA8bWF0aC11bmRlcmZsb3cuaD4KLSsjaW5jbHVkZSA8bGliYy1kaWFnLmg+Ci0gCi0gc3RhdGljIGNvbnN0IGRvdWJsZQotICAgaW52c3FydHBpID0gNS42NDE4OTU4MzU0Nzc1NjI3OTI4MGUtMDEsIC8qIDB4M0ZFMjBERDcsIDB4NTA0MjlCNkQgKi8KLUBAIC0xMDksNyArMTEwLDE3IEBAIF9faWVlZTc1NF9qbiAoaW50IG4sIGRvdWJsZSB4KQotIAkgICAgICBjYXNlIDI6IHRlbXAgPSAtYyAtIHM7IGJyZWFrOwotIAkgICAgICBjYXNlIDM6IHRlbXAgPSBjIC0gczsgYnJlYWs7Ci0gCSAgICAgIH0KLSsJICAgIC8qIFdpdGggR0NDIDggKGFuZCBvbGRlcikgd2hlbiBjb21waWxpbmcgd2l0aCAtTyB0aGUgY29tcGlsZXIKLSsJICAgICAgIHdhcm5zIHRoYXQgdGhlIHZhcmlhYmxlICd0ZW1wJywgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZC4KLSsJICAgICAgIFRoZSBzd2l0Y2ggYWJvdmUgY292ZXJzIGFsbCBwb3NzaWJsZSB2YWx1ZXMgb2YgbiAmIDMKLSsJICAgICAgIGJ1dCBHQ0Mgd2l0aG91dCBWUlAgZW5hYmxlZCBpc24ndCBhYmxlIHRvIGZpZ3VyZSBvdXQgdGhlCi0rCSAgICAgICByYW5nZSBvZiBwb3NzaWJsZSB2YWx1ZXMgaXMgWzAsM10gYXMgZXhwbGFpbmVkIGluOgotKwkgICAgICAgaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzAKLSsJICAgICAgIHNvIGl0J3MgZmFsc2UgcG9zc2l0aXZlIHdpdGggLU8xIGFuZCBsb3dlci4gKi8KLSsJICAgIERJQUdfUFVTSF9ORUVEU19DT01NRU5UOwotKwkgICAgRElBR19JR05PUkVfTkVFRFNfQ09NTUVOVCAoOCwgIi1XbWF5YmUtdW5pbml0aWFsaXplZCIpOwotIAkgICAgYiA9IGludnNxcnRwaSAqIHRlbXAgLyBzcXJ0ICh4KTsKLSsJICAgIERJQUdfUE9QX05FRURTX0NPTU1FTlQ7Ci0gCSAgfQotIAllbHNlCi0gCSAgewotQEAgLTMxNiw3ICszMjcsMTcgQEAgX19pZWVlNzU0X3luIChpbnQgbiwgZG91YmxlIHgpCi0gCSAgY2FzZSAyOiB0ZW1wID0gLXMgKyBjOyBicmVhazsKLSAJICBjYXNlIDM6IHRlbXAgPSBzICsgYzsgYnJlYWs7Ci0gCSAgfQotKwkvKiBXaXRoIEdDQyA4IChhbmQgb2xkZXIpIHdoZW4gY29tcGlsaW5nIHdpdGggLU8gdGhlIGNvbXBpbGVyCi0rCSAgIHdhcm5zIHRoYXQgdGhlIHZhcmlhYmxlICd0ZW1wJywgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZC4KLSsJICAgVGhlIHN3aXRjaCBhYm92ZSBjb3ZlcnMgYWxsIHBvc3NpYmxlIHZhbHVlcyBvZiBuICYgMwotKwkgICBidXQgR0NDIHdpdGhvdXQgVlJQIGVuYWJsZWQgaXNuJ3QgYWJsZSB0byBmaWd1cmUgb3V0IHRoZQotKwkgICByYW5nZSBvZiBwb3NzaWJsZSB2YWx1ZXMgaXMgWzAsM10gYXMgZXhwbGFpbmVkIGluOgotKwkgICBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD02OTIzMAotKwkgICBzbyBpdCdzIGZhbHNlIHBvc3NpdGl2ZSB3aXRoIC1PMSBhbmQgbG93ZXIuICovCi0rCURJQUdfUFVTSF9ORUVEU19DT01NRU5UOwotKwlESUFHX0lHTk9SRV9ORUVEU19DT01NRU5UICg4LCAiLVdtYXliZS11bmluaXRpYWxpemVkIik7Ci0gCWIgPSBpbnZzcXJ0cGkgKiB0ZW1wIC8gc3FydCAoeCk7Ci0rCURJQUdfUE9QX05FRURTX0NPTU1FTlQ7Ci0gICAgICAgfQotICAgICBlbHNlCi0gICAgICAgewotZGlmZiAtLWdpdCBhL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9lX2pubC5jIGIvc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L2Vfam5sLmMKLWluZGV4IDc3MzllZWMyOTEuLjg3MDZhMTE1NzUgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvZV9qbmwuYwotKysrIGIvc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L2Vfam5sLmMKLUBAIC02MSw2ICs2MSw3IEBACi0gI2luY2x1ZGUgPG1hdGguaD4KLSAjaW5jbHVkZSA8bWF0aF9wcml2YXRlLmg+Ci0gI2luY2x1ZGUgPG1hdGgtdW5kZXJmbG93Lmg+Ci0rI2luY2x1ZGUgPGxpYmMtZGlhZy5oPgotIAotIHN0YXRpYyBjb25zdCBfRmxvYXQxMjgKLSAgIGludnNxcnRwaSA9IEwoNS42NDE4OTU4MzU0Nzc1NjI4Njk0ODA3OTQ1MTU2MDc3MjU4NTg0NDA1RS0xKSwKLUBAIC0xNTAsNyArMTUxLDE3IEBAIF9faWVlZTc1NF9qbmwgKGludCBuLCBfRmxvYXQxMjggeCkKLSAJCXRlbXAgPSBjIC0gczsKLSAJCWJyZWFrOwotIAkgICAgICB9Ci0rCSAgICAvKiBXaXRoIEdDQyA4IChhbmQgb2xkZXIpIHdoZW4gY29tcGlsaW5nIHdpdGggLU8gdGhlIGNvbXBpbGVyCi0rCSAgICAgICB3YXJucyB0aGF0IHRoZSB2YXJpYWJsZSAndGVtcCcsIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQuCi0rCSAgICAgICBUaGUgc3dpdGNoIGFib3ZlIGNvdmVycyBhbGwgcG9zc2libGUgdmFsdWVzIG9mIG4gJiAzCi0rCSAgICAgICBidXQgR0NDIHdpdGhvdXQgVlJQIGVuYWJsZWQgaXNuJ3QgYWJsZSB0byBmaWd1cmUgb3V0IHRoZQotKwkgICAgICAgcmFuZ2Ugb2YgcG9zc2libGUgdmFsdWVzIGlzIFswLDNdIGFzIGV4cGxhaW5lZCBpbjoKLSsJICAgICAgIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTY5MjMwCi0rCSAgICAgICBzbyBpdCdzIGZhbHNlIHBvc3NpdGl2ZSB3aXRoIC1PMSBhbmQgbG93ZXIuICovCi0rCSAgICBESUFHX1BVU0hfTkVFRFNfQ09NTUVOVDsKLSsJICAgIERJQUdfSUdOT1JFX05FRURTX0NPTU1FTlQgKDgsICItV21heWJlLXVuaW5pdGlhbGl6ZWQiKTsKLSAJICAgIGIgPSBpbnZzcXJ0cGkgKiB0ZW1wIC8gc3FydGwgKHgpOwotKwkgICAgRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKLSAJICB9Ci0gCWVsc2UKLSAJICB7Ci1AQCAtMzg2LDcgKzM5NywxNyBAQCBfX2llZWU3NTRfeW5sIChpbnQgbiwgX0Zsb2F0MTI4IHgpCi0gCSAgICB0ZW1wID0gcyArIGM7Ci0gCSAgICBicmVhazsKLSAJICB9Ci0rCS8qIFdpdGggR0NDIDggKGFuZCBvbGRlcikgd2hlbiBjb21waWxpbmcgd2l0aCAtTyB0aGUgY29tcGlsZXIKLSsJICAgd2FybnMgdGhhdCB0aGUgdmFyaWFibGUgJ3RlbXAnLCBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkLgotKwkgICBUaGUgc3dpdGNoIGFib3ZlIGNvdmVycyBhbGwgcG9zc2libGUgdmFsdWVzIG9mIG4gJiAzCi0rCSAgIGJ1dCBHQ0Mgd2l0aG91dCBWUlAgZW5hYmxlZCBpc24ndCBhYmxlIHRvIGZpZ3VyZSBvdXQgdGhlCi0rCSAgIHJhbmdlIG9mIHBvc3NpYmxlIHZhbHVlcyBpcyBbMCwzXSBhcyBleHBsYWluZWQgaW46Ci0rCSAgIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTY5MjMwCi0rCSAgIHNvIGl0J3MgZmFsc2UgcG9zc2l0aXZlIHdpdGggLU8xIGFuZCBsb3dlci4gKi8KLSsJRElBR19QVVNIX05FRURTX0NPTU1FTlQ7Ci0rCURJQUdfSUdOT1JFX05FRURTX0NPTU1FTlQgKDgsICItV21heWJlLXVuaW5pdGlhbGl6ZWQiKTsKLSAJYiA9IGludnNxcnRwaSAqIHRlbXAgLyBzcXJ0bCAoeCk7Ci0rCURJQUdfUE9QX05FRURTX0NPTU1FTlQ7Ci0gICAgICAgfQotICAgICBlbHNlCi0gICAgICAgewotZGlmZiAtLWdpdCBhL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOGlibS9lX2pubC5jIGIvc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4aWJtL2Vfam5sLmMKLWluZGV4IDcxYjNhZGRmYmEuLjMyMjZkMDIzMDkgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL2llZWU3NTQvbGRibC0xMjhpYm0vZV9qbmwuYwotKysrIGIvc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4aWJtL2Vfam5sLmMKLUBAIC02MSw2ICs2MSw3IEBACi0gI2luY2x1ZGUgPG1hdGguaD4KLSAjaW5jbHVkZSA8bWF0aF9wcml2YXRlLmg+Ci0gI2luY2x1ZGUgPG1hdGgtdW5kZXJmbG93Lmg+Ci0rI2luY2x1ZGUgPGxpYmMtZGlhZy5oPgotIAotIHN0YXRpYyBjb25zdCBsb25nIGRvdWJsZQotICAgaW52c3FydHBpID0gNS42NDE4OTU4MzU0Nzc1NjI4Njk0ODA3OTQ1MTU2MDc3MjU4NTg0NDA1RS0xTCwKLUBAIC0xNTAsNyArMTUxLDE3IEBAIF9faWVlZTc1NF9qbmwgKGludCBuLCBsb25nIGRvdWJsZSB4KQotIAkJdGVtcCA9IGMgLSBzOwotIAkJYnJlYWs7Ci0gCSAgICAgIH0KLSsJICAgIC8qIFdpdGggR0NDIDggKGFuZCBvbGRlcikgd2hlbiBjb21waWxpbmcgd2l0aCAtTyB0aGUgY29tcGlsZXIKLSsJICAgICAgIHdhcm5zIHRoYXQgdGhlIHZhcmlhYmxlICd0ZW1wJywgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZC4KLSsJICAgICAgIFRoZSBzd2l0Y2ggYWJvdmUgY292ZXJzIGFsbCBwb3NzaWJsZSB2YWx1ZXMgb2YgbiAmIDMKLSsJICAgICAgIGJ1dCBHQ0Mgd2l0aG91dCBWUlAgZW5hYmxlZCBpc24ndCBhYmxlIHRvIGZpZ3VyZSBvdXQgdGhlCi0rCSAgICAgICByYW5nZSBvZiBwb3NzaWJsZSB2YWx1ZXMgaXMgWzAsM10gYXMgZXhwbGFpbmVkIGluOgotKwkgICAgICAgaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzAKLSsJICAgICAgIHNvIGl0J3MgZmFsc2UgcG9zc2l0aXZlIHdpdGggLU8xIGFuZCBsb3dlci4gKi8KLSsJICAgIERJQUdfUFVTSF9ORUVEU19DT01NRU5UOwotKwkgICAgRElBR19JR05PUkVfTkVFRFNfQ09NTUVOVCAoOCwgIi1XbWF5YmUtdW5pbml0aWFsaXplZCIpOwotIAkgICAgYiA9IGludnNxcnRwaSAqIHRlbXAgLyBzcXJ0bCAoeCk7Ci0rCSAgICBESUFHX1BPUF9ORUVEU19DT01NRU5UOwotIAkgIH0KLSAJZWxzZQotIAkgIHsKLUBAIC0zODYsNyArMzk3LDE3IEBAIF9faWVlZTc1NF95bmwgKGludCBuLCBsb25nIGRvdWJsZSB4KQotIAkgICAgdGVtcCA9IHMgKyBjOwotIAkgICAgYnJlYWs7Ci0gCSAgfQotKwkvKiBXaXRoIEdDQyA4IChhbmQgb2xkZXIpIHdoZW4gY29tcGlsaW5nIHdpdGggLU8gdGhlIGNvbXBpbGVyCi0rCSAgIHdhcm5zIHRoYXQgdGhlIHZhcmlhYmxlICd0ZW1wJywgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZC4KLSsJICAgVGhlIHN3aXRjaCBhYm92ZSBjb3ZlcnMgYWxsIHBvc3NpYmxlIHZhbHVlcyBvZiBuICYgMwotKwkgICBidXQgR0NDIHdpdGhvdXQgVlJQIGVuYWJsZWQgaXNuJ3QgYWJsZSB0byBmaWd1cmUgb3V0IHRoZQotKwkgICByYW5nZSBvZiBwb3NzaWJsZSB2YWx1ZXMgaXMgWzAsM10gYXMgZXhwbGFpbmVkIGluOgotKwkgICBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD02OTIzMAotKwkgICBzbyBpdCdzIGZhbHNlIHBvc3NpdGl2ZSB3aXRoIC1PMSBhbmQgbG93ZXIuICovCi0rCURJQUdfUFVTSF9ORUVEU19DT01NRU5UOwotKwlESUFHX0lHTk9SRV9ORUVEU19DT01NRU5UICg4LCAiLVdtYXliZS11bmluaXRpYWxpemVkIik7Ci0gCWIgPSBpbnZzcXJ0cGkgKiB0ZW1wIC8gc3FydGwgKHgpOwotKwlESUFHX1BPUF9ORUVEU19DT01NRU5UOwotICAgICAgIH0KLSAgICAgZWxzZQotICAgICAgIHsKLWRpZmYgLS1naXQgYS9zeXNkZXBzL2llZWU3NTQvbGRibC05Ni9lX2pubC5jIGIvc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9qbmwuYwotaW5kZXggMzk0OTIxZjU2NC4uZGE1YzJjYzkzZSAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2Vfam5sLmMKLSsrKyBiL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2Vfam5sLmMKLUBAIC02MSw2ICs2MSw3IEBACi0gI2luY2x1ZGUgPG1hdGguaD4KLSAjaW5jbHVkZSA8bWF0aF9wcml2YXRlLmg+Ci0gI2luY2x1ZGUgPG1hdGgtdW5kZXJmbG93Lmg+Ci0rI2luY2x1ZGUgPGxpYmMtZGlhZy5oPgotIAotIHN0YXRpYyBjb25zdCBsb25nIGRvdWJsZQotICAgaW52c3FydHBpID0gNS42NDE4OTU4MzU0Nzc1NjI4Njk0ODA3OWUtMUwsIHR3byA9IDIuMGUwTCwgb25lID0gMS4wZTBMOwotQEAgLTE0Myw3ICsxNDQsMTcgQEAgX19pZWVlNzU0X2pubCAoaW50IG4sIGxvbmcgZG91YmxlIHgpCi0gCQl0ZW1wID0gYyAtIHM7Ci0gCQlicmVhazsKLSAJICAgICAgfQotKwkgICAgLyogV2l0aCBHQ0MgOCAoYW5kIG9sZGVyKSB3aGVuIGNvbXBpbGluZyB3aXRoIC1PIHRoZSBjb21waWxlcgotKwkgICAgICAgd2FybnMgdGhhdCB0aGUgdmFyaWFibGUgJ3RlbXAnLCBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkLgotKwkgICAgICAgVGhlIHN3aXRjaCBhYm92ZSBjb3ZlcnMgYWxsIHBvc3NpYmxlIHZhbHVlcyBvZiBuICYgMwotKwkgICAgICAgYnV0IEdDQyB3aXRob3V0IFZSUCBlbmFibGVkIGlzbid0IGFibGUgdG8gZmlndXJlIG91dCB0aGUKLSsJICAgICAgIHJhbmdlIG9mIHBvc3NpYmxlIHZhbHVlcyBpcyBbMCwzXSBhcyBleHBsYWluZWQgaW46Ci0rCSAgICAgICBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD02OTIzMAotKwkgICAgICAgc28gaXQncyBmYWxzZSBwb3NzaXRpdmUgd2l0aCAtTzEgYW5kIGxvd2VyLiAqLwotKwkgICAgRElBR19QVVNIX05FRURTX0NPTU1FTlQ7Ci0rCSAgICBESUFHX0lHTk9SRV9ORUVEU19DT01NRU5UICg4LCAiLVdtYXliZS11bmluaXRpYWxpemVkIik7Ci0gCSAgICBiID0gaW52c3FydHBpICogdGVtcCAvIHNxcnRsICh4KTsKLSsJICAgIERJQUdfUE9QX05FRURTX0NPTU1FTlQ7Ci0gCSAgfQotIAllbHNlCi0gCSAgewotQEAgLTM3Miw3ICszODMsMTcgQEAgX19pZWVlNzU0X3lubCAoaW50IG4sIGxvbmcgZG91YmxlIHgpCi0gCSAgICB0ZW1wID0gcyArIGM7Ci0gCSAgICBicmVhazsKLSAJICB9Ci0rCS8qIFdpdGggR0NDIDggKGFuZCBvbGRlcikgd2hlbiBjb21waWxpbmcgd2l0aCAtTyB0aGUgY29tcGlsZXIKLSsJICAgd2FybnMgdGhhdCB0aGUgdmFyaWFibGUgJ3RlbXAnLCBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkLgotKwkgICBUaGUgc3dpdGNoIGFib3ZlIGNvdmVycyBhbGwgcG9zc2libGUgdmFsdWVzIG9mIG4gJiAzCi0rCSAgIGJ1dCBHQ0Mgd2l0aG91dCBWUlAgZW5hYmxlZCBpc24ndCBhYmxlIHRvIGZpZ3VyZSBvdXQgdGhlCi0rCSAgIHJhbmdlIG9mIHBvc3NpYmxlIHZhbHVlcyBpcyBbMCwzXSBhcyBleHBsYWluZWQgaW46Ci0rCSAgIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTY5MjMwCi0rCSAgIHNvIGl0J3MgZmFsc2UgcG9zc2l0aXZlIHdpdGggLU8xIGFuZCBsb3dlci4gKi8KLSsJRElBR19QVVNIX05FRURTX0NPTU1FTlQ7Ci0rCURJQUdfSUdOT1JFX05FRURTX0NPTU1FTlQgKDgsICItV21heWJlLXVuaW5pdGlhbGl6ZWQiKTsKLSAJYiA9IGludnNxcnRwaSAqIHRlbXAgLyBzcXJ0bCAoeCk7Ci0rCURJQUdfUE9QX05FRURTX0NPTU1FTlQ7Ci0gICAgICAgfQotICAgICBlbHNlCi0gICAgICAgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDMyLXN5c2RlcHMtaWVlZTc1NC1zb2Z0LWZwLWlnbm9yZS1tYXliZS11bmluaXRpYWxpemVkLXcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMzItc3lzZGVwcy1pZWVlNzU0LXNvZnQtZnAtaWdub3JlLW1heWJlLXVuaW5pdGlhbGl6ZWQtdy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTljZDI1MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMzItc3lzZGVwcy1pZWVlNzU0LXNvZnQtZnAtaWdub3JlLW1heWJlLXVuaW5pdGlhbGl6ZWQtdy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMCArMCwwIEBACi1Gcm9tIDYxODY2ODU0MGUyNjNjMDliMGViMjgxMzFkZGU3YjQ1MDAxNThmZDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+Ci1EYXRlOiBTdW4sIDE2IFNlcCAyMDE4IDEyOjM5OjIyICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHN5c2RlcHMvaWVlZTc1NC9zb2Z0LWZwOiBpZ25vcmUgbWF5YmUtdW5pbml0aWFsaXplZCB3aXRoIC1PCi0gW0JaICMxOTQ0NF0KLQotKiB3aXRoIC1PLCAtTzEsIC1PcyBpdCBmYWlscyB3aXRoOgotCi1JbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc29mdC1mcC9zb2Z0LWZwLmg6MzE4LAotICAgICAgICAgICAgICAgICBmcm9tIC4uL3N5c2RlcHMvaWVlZTc1NC9zb2Z0LWZwL3NfZmRpdi5jOjI4OgotLi4vc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmM6IEluIGZ1bmN0aW9uICdfX2ZkaXYnOgotLi4vc29mdC1mcC9vcC0yLmg6OTg6MjU6IGVycm9yOiAnUl9mMScgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCi0gICAgICAgIFgjI19mMCA9IChYIyNfZjEgPDwgKF9GUF9XX1RZUEVfU0laRSAtIChOKSkgfCBYIyNfZjAgPj4gKE4pIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICBefgotLi4vc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmM6Mzg6MTQ6IG5vdGU6ICdSX2YxJyB3YXMgZGVjbGFyZWQgaGVyZQotICAgRlBfREVDTF9EIChSKTsKLSAgICAgICAgICAgICAgXgotLi4vc29mdC1mcC9vcC0yLmg6Mzc6MzY6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ19GUF9GUkFDX0RFQ0xfMicKLSAgIF9GUF9XX1RZUEUgWCMjX2YwIF9GUF9aRVJPX0lOSVQsIFgjI19mMSBfRlBfWkVST19JTklUCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi0uLi9zb2Z0LWZwL2RvdWJsZS5oOjk1OjI0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19GUF9ERUNMJwotICMgZGVmaW5lIEZQX0RFQ0xfRChYKSAgX0ZQX0RFQ0wgKDIsIFgpCi0gICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fgotLi4vc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmM6Mzg6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdGUF9ERUNMX0QnCi0gICBGUF9ERUNMX0QgKFIpOwotICAgXn5+fn5+fn5+Ci0uLi9zb2Z0LWZwL29wLTIuaDoxMDE6MTc6IGVycm9yOiAnUl9mMCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCi0gICAgICAgOiAoWCMjX2YwIDw8IChfRlBfV19UWVBFX1NJWkUgLSAoTikpKSAhPSAwKSk7IFwKLSAgICAgICAgICAgICAgICAgXn4KLS4uL3N5c2RlcHMvaWVlZTc1NC9zb2Z0LWZwL3NfZmRpdi5jOjM4OjE0OiBub3RlOiAnUl9mMCcgd2FzIGRlY2xhcmVkIGhlcmUKLSAgIEZQX0RFQ0xfRCAoUik7Ci0gICAgICAgICAgICAgIF4KLS4uL3NvZnQtZnAvb3AtMi5oOjM3OjE0OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdfRlBfRlJBQ19ERUNMXzInCi0gICBfRlBfV19UWVBFIFgjI19mMCBfRlBfWkVST19JTklULCBYIyNfZjEgX0ZQX1pFUk9fSU5JVAotICAgICAgICAgICAgICBeCi0uLi9zb2Z0LWZwL2RvdWJsZS5oOjk1OjI0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19GUF9ERUNMJwotICMgZGVmaW5lIEZQX0RFQ0xfRChYKSAgX0ZQX0RFQ0wgKDIsIFgpCi0gICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fgotLi4vc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmM6Mzg6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdGUF9ERUNMX0QnCi0gICBGUF9ERUNMX0QgKFIpOwotICAgXn5+fn5+fn5+Ci0KLUJ1aWxkIHRlc3RlZCB3aXRoIFlvY3RvIGZvciBBUk0sIEFBUkNINjQsIFg4NiwgWDg2XzY0LCBQUEMsIE1JUFMsIE1JUFM2NAotd2l0aCAtTywgLU8xLCAtT3MuCi1Gb3IgQUFSQ0g2NCBpdCBuZWVkcyBvbmUgbW9yZSBmaXggaW4gbG9jYWxlIGZvciAtT3MuCi0KLQlQYXJ0aWFsIGZpeCBmb3IgW0JaICMyMzcxNl0KLQkqIHN5c2RlcHMvaWVlZTc1NC9zb2Z0LWZwL3NfZmRpdi5jOiBGaXggYnVpbGQgd2l0aCAtTwotCi1Xb3JrIGFyb3VuZCB0aGUgaXNzdWUgaW5zdGVhZCBvZiByZW1vdmluZyAtTyBsaWtlIHdlIGRvIHdpdGgKLVNFTEVDVEVEX09QVElNSVpBVElPTgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly93d3cuc291cmNld2FyZS5vcmcvbWwvbGliYy1hbHBoYS8yMDE4LTA5L21zZzAwMzAwLmh0bWxdCi0KLVNpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLS0tLQotIENoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKysrKwotIHN5c2RlcHMvaWVlZTc1NC9zb2Z0LWZwL3NfZmRpdi5jIHwgMTIgKysrKysrKysrKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKLWluZGV4IDkyMmU5MTZmMmMuLjIxNjMzNmVkYzkgMTAwNjQ0Ci0tLS0gYS9DaGFuZ2VMb2cKLSsrKyBiL0NoYW5nZUxvZwotQEAgLTEsMyArMSw3IEBACi0rMjAxOC0wOS0zMCAgTWFydGluIEphbnNhICA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLSsJUGFydGlhbCBmaXggZm9yIFtCWiAjMjM3MTZdCi0rCSogc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmM6IEZpeCBidWlsZCB3aXRoIC1PLgotKwotIDIwMTgtMDktMjkgIE1hcnRpbiBKYW5zYSAgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+Ci0gCVBhcnRpYWwgZml4IGZvciBbQlogIzIzNzE2XQotIAkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtOTYvZV9qbmwuYzogRml4IGJ1aWxkIHdpdGggLU8KLWRpZmYgLS1naXQgYS9zeXNkZXBzL2llZWU3NTQvc29mdC1mcC9zX2ZkaXYuYyBiL3N5c2RlcHMvaWVlZTc1NC9zb2Z0LWZwL3NfZmRpdi5jCi1pbmRleCAzNDEzMzlmNWVkLi4xNDY1NWI3N2RhIDEwMDY0NAotLS0tIGEvc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmMKLSsrKyBiL3N5c2RlcHMvaWVlZTc1NC9zb2Z0LWZwL3NfZmRpdi5jCi1AQCAtMjUsNiArMjUsMTYgQEAKLSAjdW5kZWYgZmRpdmwKLSAKLSAjaW5jbHVkZSA8bWF0aC1uYXJyb3cuaD4KLSsKLSsjaW5jbHVkZSA8bGliYy1kaWFnLmg+Ci0rLyogUl9mWzAxXSBhcmUgbm90IHNldCBpbiBjYXNlcyB3aGVyZSBpdCBpcyBub3QgdXNlZCBpbiBwYWNraW5nLCBidXQgdGhlCi0rICAgY29tcGlsZXIgZG9lcyBub3Qgc2VlIHRoYXQgaXQgaXMgc2V0IGluIGFsbCBjYXNlcyB3aGVyZSBpdCBpcwotKyAgIHVzZWQsIHJlc3VsdGluZyBpbiB3YXJuaW5ncyB0aGF0IGl0IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQuCi0rICAgVGhlIGxvY2F0aW9uIG9mIHRoZSB3YXJuaW5nIGRpZmZlcnMgaW4gZGlmZmVyZW50IHZlcnNpb25zIG9mIEdDQywKLSsgICBpdCBtYXkgYmUgd2hlcmUgUiBpcyBkZWZpbmVkIHVzaW5nIGEgbWFjcm8gb3IgaXQgbWF5IGJlIHdoZXJlIHRoZQotKyAgIG1hY3JvIGlzIGRlZmluZWQuICAqLwotK0RJQUdfUFVTSF9ORUVEU19DT01NRU5UOwotK0RJQUdfSUdOT1JFX05FRURTX0NPTU1FTlQgKDgsICItV21heWJlLXVuaW5pdGlhbGl6ZWQiKTsKLSAjaW5jbHVkZSA8c29mdC1mcC5oPgotICNpbmNsdWRlIDxzaW5nbGUuaD4KLSAjaW5jbHVkZSA8ZG91YmxlLmg+Ci1AQCAtNTMsNCArNjMsNiBAQCBfX2ZkaXYgKGRvdWJsZSB4LCBkb3VibGUgeSkKLSAgIENIRUNLX05BUlJPV19ESVYgKHJldCwgeCwgeSk7Ci0gICByZXR1cm4gcmV0OwotIH0KLStESUFHX1BPUF9ORUVEU19DT01NRU5UOwotKwotIGxpYm1fYWxpYXNfZmxvYXRfZG91YmxlIChkaXYpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMzMtbG9jYWxlLXByZXZlbnQtbWF5YmUtdW5pbml0aWFsaXplZC1lcnJvcnMtd2l0aC1Pcy1CWi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMy1sb2NhbGUtcHJldmVudC1tYXliZS11bmluaXRpYWxpemVkLWVycm9ycy13aXRoLU9zLUJaLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTA1OGNhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMy1sb2NhbGUtcHJldmVudC1tYXliZS11bmluaXRpYWxpemVkLWVycm9ycy13aXRoLU9zLUJaLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotRnJvbSBjYmFkYTFhMWIyMThjMWVmNjFkMGViNDM2M2ZhZDc1OThlNjUwOWQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotRGF0ZTogU3VuLCAzMCBTZXAgMjAxOCAwOToxNjo0OCArMDAwMAotU3ViamVjdDogW1BBVENIXSBsb2NhbGU6IHByZXZlbnQgbWF5YmUtdW5pbml0aWFsaXplZCBlcnJvcnMgd2l0aCAtT3MgW0JaCi0gIzE5NDQ0XQotCi1GaXhlcyBmb2xsb3dpbmcgZXJyb3Igd2hlbiBidWlsZGluZyBmb3IgYWFyY2g2NCB3aXRoIC1PczoKLXwgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHN0cmNvbGxfbC5jOjQzOgotfCBzdHJjb2xsX2wuYzogSW4gZnVuY3Rpb24gJ19fc3RyY29sbF9sJzoKLXwgLi4vbG9jYWxlL3dlaWdodC5oOjMxOjI2OiBlcnJvcjogJ3NlcTIuYmFja191cycgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCi18ICAgIGludF9mYXN0MzJfdCBpID0gdGFibGVbKigqY3BwKSsrXTsKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KLXwgc3RyY29sbF9sLmM6MzA0OjE4OiBub3RlOiAnc2VxMi5iYWNrX3VzJyB3YXMgZGVjbGFyZWQgaGVyZQotfCAgICBjb2xsX3NlcSBzZXExLCBzZXEyOwotfCAgICAgICAgICAgICAgICAgICBefn5+Ci18IEluIGZpbGUgaW5jbHVkZWQgZnJvbSBzdHJjb2xsX2wuYzo0MzoKLXwgLi4vbG9jYWxlL3dlaWdodC5oOjMxOjI2OiBlcnJvcjogJ3NlcTEuYmFja191cycgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCi18ICAgIGludF9mYXN0MzJfdCBpID0gdGFibGVbKigqY3BwKSsrXTsKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KLXwgc3RyY29sbF9sLmM6MzA0OjEyOiBub3RlOiAnc2VxMS5iYWNrX3VzJyB3YXMgZGVjbGFyZWQgaGVyZQotfCAgICBjb2xsX3NlcSBzZXExLCBzZXEyOwotfCAgICAgICAgICAgICBefn5+Ci0KLSAgICAgICAgUGFydGlhbCBmaXggZm9yIFtCWiAjMjM3MTZdCi0gICAgICAgICogbG9jYWxlL3dlaWdodC5oOiBGaXggYnVpbGQgd2l0aCAtT3MuCi0KLVdvcmsgYXJvdW5kIHRoZSBpc3N1ZSBpbnN0ZWFkIG9mIHJlbW92aW5nIC1PIGxpa2Ugd2UgZG8gd2l0aAotU0VMRUNURURfT1BUSU1JWkFUSU9OCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL3d3dy5zb3VyY2V3YXJlLm9yZy9tbC9saWJjLWFscGhhLzIwMTgtMDkvbXNnMDA1MzkuaHRtbF0KLQotU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotLS0tCi0gQ2hhbmdlTG9nICAgICAgIHwgNCArKysrCi0gbG9jYWxlL3dlaWdodC5oIHwgNyArKysrKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKLWluZGV4IDIxNjMzNmVkYzkuLjg0ZmJiZjQ3ZWQgMTAwNjQ0Ci0tLS0gYS9DaGFuZ2VMb2cKLSsrKyBiL0NoYW5nZUxvZwotQEAgLTEsMyArMSw3IEBACi0rMjAxOC0wOS0zMCAgTWFydGluIEphbnNhICA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLSsJUGFydGlhbCBmaXggZm9yIFtCWiAjMjM3MTZdCi0rCSogbG9jYWxlL3dlaWdodC5oOiBGaXggYnVpbGQgd2l0aCAtT3MuCi0rCi0gMjAxOC0wOS0zMCAgTWFydGluIEphbnNhICA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLSAJUGFydGlhbCBmaXggZm9yIFtCWiAjMjM3MTZdCi0gCSogc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmM6IEZpeCBidWlsZCB3aXRoIC1PLgotZGlmZiAtLWdpdCBhL2xvY2FsZS93ZWlnaHQuaCBiL2xvY2FsZS93ZWlnaHQuaAotaW5kZXggNjAyOGQzNTk1ZS4uMTBiY2VhMjVlNSAxMDA2NDQKLS0tLSBhL2xvY2FsZS93ZWlnaHQuaAotKysrIGIvbG9jYWxlL3dlaWdodC5oCi1AQCAtMjgsNyArMjgsMTQgQEAgZmluZGlkeCAoY29uc3QgaW50MzJfdCAqdGFibGUsCi0gCSBjb25zdCB1bnNpZ25lZCBjaGFyICpleHRyYSwKLSAJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKipjcHAsIHNpemVfdCBsZW4pCi0gewotKyAgLyogV2l0aCBHQ0MgOCB3aGVuIGNvbXBpbGluZyB3aXRoIC1PcyB0aGUgY29tcGlsZXIgd2FybnMgdGhhdAotKyAgICAgc2VxMS5iYWNrX3VzIGFuZCBzZXEyLmJhY2tfdXMgbWlnaHQgYmUgdXNlZCB1bmluaXRpYWxpemVkLgotKyAgICAgVGhpcyB1bmluaXRpYWxpemVkIHVzZSBpcyBpbXBvc3NpYmxlIGZvciB0aGUgc2FtZSByZWFzb24KLSsgICAgIGFzIGRlc2NyaWJlZCBpbiBjb21tZW50cyBpbiBsb2NhbGUvd2VpZ2h0d2MuaC4gICovCi0rICBESUFHX1BVU0hfTkVFRFNfQ09NTUVOVDsKLSsgIERJQUdfSUdOT1JFX09zX05FRURTX0NPTU1FTlQgKDgsICItV21heWJlLXVuaW5pdGlhbGl6ZWQiKTsKLSAgIGludF9mYXN0MzJfdCBpID0gdGFibGVbKigqY3BwKSsrXTsKLSsgIERJQUdfUE9QX05FRURTX0NPTU1FTlQ7Ci0gICBjb25zdCB1bnNpZ25lZCBjaGFyICpjcDsKLSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVzcmM7Ci0gCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMzQtaW5qZWN0LWZpbGUtYXNzZW1ibHktZGlyZWN0aXZlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzNC1pbmplY3QtZmlsZS1hc3NlbWJseS1kaXJlY3RpdmVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NWViYTJkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzNC1pbmplY3QtZmlsZS1hc3NlbWJseS1kaXJlY3RpdmVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcyICswLDAgQEAKLUN1cnJlbnRseSwgbm9uLUlBIGJ1aWxkcyBhcmUgbm90IHJlcHJvZHVjaWJpbGUgc2luY2UgYnVpbGQgcGF0aHMgYXJlIAotYmVpbmcgaW5qZWN0ZWQgaW50byB0aGUgZGVidWcgc3ltYm9scy4gVGhlc2UgYXJlIGNvbWluZyBmcm9tIHRoZSB1c2Ugb2YKLS5TIGFzc2VtYmxlciBmaWxlcyBkdXJpbmcgdGhlIGdsaWJjIGJ1aWxkLiBObyBTVFRfRklMRSBzZWN0aW9uIGlzIGFkZGVkCi1kdXJpbmcgdGhlIGFzc2VtYmx5IGJ1dCB3aGVuIGxpbmtpbmcsIGxkIGRlY2lkZXMgdG8gYWRkIG9uZSB0byBhaWQgCi1kZWJ1Z2dpbmcgYW5kIGVuc3VyZSByZWZlcmVuY2VzIGJldHdlZW4gdGhlIGRpZmZlcmVudCBvYmplY3QgZmlsZXMgaXRzCi1saW5raW5nIHJlbWFpbiBjbGVhci4KLQotV2UgY2FuIGF2b2lkIHRoaXMgYnkgaW5qZWN0aW5nIGEgZmlsZSBoZWFkZXIgaW50byB0aGUgYXNzZW1ibGVyIGZpbGVzCi1haGVhZCBvZiB0aW1lLCBjaG9vc2luZyBhIGZpbGVuYW1lIHdoaWNoIGRvZXMgbm90IGNvbnRhaW4gYnVpbGQgc3lzdGVtCi1wYXRocy4KLQotVGhpcyBpcyBhIGJpdCBvZiBhIHdvcmthcm91bmQvaGFjayBidXQgZG9lcyBzaWduaWZpY2FudGx5IHJlZHVjZSB0aGUKLWJ1aWxkIHN5c3RlbSByZWZlcmVuY2VzIGluIHRhcmdldCBiaW5hcmllcyBmb3IgdGhlIG5vbi1JQSBhcmNoaXRlY3R1cmVzCi13aGljaCB1c2UgLlMgZmlsZXMuCi0KLVJQCi0yMDE4LzEwLzMKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLWRpZmYgLS1naXQgYS9jc3UvYWJpLW5vdGUuUyBiL2NzdS9hYmktbm90ZS5TCi1pbmRleCA1ZDBjYTc4MDNkLi44Y2U0MTU4MWIxIDEwMDY0NAotLS0tIGEvY3N1L2FiaS1ub3RlLlMKLSsrKyBiL2NzdS9hYmktbm90ZS5TCi1AQCAtNTYsNiArNTYsOCBAQCBvZmZzZXQJbGVuZ3RoCWNvbnRlbnRzCi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNpbmNsdWRlIDxhYmktdGFnLmg+CQkvKiBPUy1zcGVjaWZpYyBBQkkgdGFnIHZhbHVlICovCi0gCi0rCS5maWxlICJhYmktbm90ZS5TIgotKwotIC8qIFRoZSBsaW5rZXIgKEdOVSBsZCAyLjggYW5kIGxhdGVyKSByZWNvZ25pemVzIGFuIGFsbG9jYXRlZCBzZWN0aW9uIHdob3NlCi0gICAgbmFtZSBiZWdpbnMgd2l0aCBgLm5vdGUnIGFuZCBjcmVhdGVzIGEgUFRfTk9URSBwcm9ncmFtIGhlYWRlciBlbnRyeQotICAgIHBvaW50aW5nIGF0IGl0LiAqLwotZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9jcnRpLlMgYi9zeXNkZXBzL2FhcmNoNjQvY3J0aS5TCi1pbmRleCAyYjIxMzc1OGIyLi43MzZmMzNlMzE0IDEwMDY0NAotLS0tIGEvc3lzZGVwcy9hYXJjaDY0L2NydGkuUwotKysrIGIvc3lzZGVwcy9hYXJjaDY0L2NydGkuUwotQEAgLTUwLDYgKzUwLDggQEAKLSAjIGRlZmluZSBQUkVJTklUX0ZVTkNUSU9OX1dFQUsgMQotICNlbmRpZgotIAotKyAgICAuZmlsZSAiY3J0aS5TIgotKwotICNpZiBQUkVJTklUX0ZVTkNUSU9OX1dFQUsKLSAJd2Vha19leHRlcm4gKFBSRUlOSVRfRlVOQ1RJT04pCi0gI2Vsc2UKLWRpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvY3J0bi5TIGIvc3lzZGVwcy9hYXJjaDY0L2NydG4uUwotaW5kZXggZDcyMzAwYWY4MC4uY2IyNDliZjNjYSAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvYWFyY2g2NC9jcnRuLlMKLSsrKyBiL3N5c2RlcHMvYWFyY2g2NC9jcnRuLlMKLUBAIC0zNyw2ICszNyw4IEBACi0gLyogY3J0bi5TIHB1dHMgZnVuY3Rpb24gZXBpbG9ndWVzIGluIHRoZSAuaW5pdCBhbmQgLmZpbmkgc2VjdGlvbnMKLSAgICBjb3JyZXNwb25kaW5nIHRvIHRoZSBwcm9sb2d1ZXMgaW4gY3J0aS5TLiAqLwotIAotKwkuZmlsZSAiY3J0bi5TIgotKwotIAkuc2VjdGlvbiAuaW5pdCwiYXgiLCVwcm9nYml0cwotIAlsZHAJeDI5LCB4MzAsIFtzcF0sIDE2Ci0gCVJFVAotZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9zdGFydC5TIGIvc3lzZGVwcy9hYXJjaDY0L3N0YXJ0LlMKLWluZGV4IGJhZDAwMGY1NTUuLjU5NTdjMDI4Y2QgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL2FhcmNoNjQvc3RhcnQuUwotKysrIGIvc3lzZGVwcy9hYXJjaDY0L3N0YXJ0LlMKLUBAIC0xOCw2ICsxOCw4IEBACi0gCi0gI2luY2x1ZGUgPHN5c2RlcC5oPgotIAotKwkuZmlsZSAic3RhcnQuUyIKLSsKLSAvKiBUaGlzIGlzIHRoZSBjYW5vbmljYWwgZW50cnkgcG9pbnQsIHVzdWFsbHkgdGhlIGZpcnN0IHRoaW5nIGluIHRoZSB0ZXh0Ci0gICAgc2VnbWVudC4KLSAKLWRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L19fcmVhZF90cC5TIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9fX3JlYWRfdHAuUwotaW5kZXggOTJmYzAxOTFhNS4uNzE1YmZjYjllNCAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvX19yZWFkX3RwLlMKLSsrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvX19yZWFkX3RwLlMKLUBAIC0xOCw2ICsxOCw4IEBACi0gCi0gI2luY2x1ZGUgPHN5c2RlcC5oPgotIAotKwkuZmlsZSAiX19yZWFkX3RwLlMiCi0rCi0gCS5oaWRkZW4gX19yZWFkX3RwCi0gRU5UUlkgKF9fcmVhZF90cCkKLSAJbXJzCXgwLCB0cGlkcl9lbDAKLWRpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvZGwtdGxzZGVzYy5TIGIvc3lzZGVwcy9hYXJjaDY0L2RsLXRsc2Rlc2MuUwotaW5kZXggNDNhNjJlZjMwNy4uNDJmODVjZGRlOSAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvYWFyY2g2NC9kbC10bHNkZXNjLlMKLSsrKyBiL3N5c2RlcHMvYWFyY2g2NC9kbC10bHNkZXNjLlMKLUBAIC0yMiw2ICsyMiw4IEBACi0gI2luY2x1ZGUgPHRscy5oPgotICNpbmNsdWRlICJ0bHNkZXNjLmgiCi0gCi0rCS5maWxlICJkbC10bHNkZXNjLlMiCi0rCi0gI2RlZmluZSBOU0FWRURRUkVHUEFJUlMJMTYKLSAjZGVmaW5lIFNBVkVfUV9SRUdJU1RFUlMJCQkJXAotIAlzdHAJcTAsIHExLAlbc3AsICMtMzIqTlNBVkVEUVJFR1BBSVJTXSE7CVwKLWRpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvZGwtdHJhbXBvbGluZS5TIGIvc3lzZGVwcy9hYXJjaDY0L2RsLXRyYW1wb2xpbmUuUwotaW5kZXggYTg2ZDA3MjJkNC4uOTJlZGFiMWQwMSAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvYWFyY2g2NC9kbC10cmFtcG9saW5lLlMKLSsrKyBiL3N5c2RlcHMvYWFyY2g2NC9kbC10cmFtcG9saW5lLlMKLUBAIC0yMSw2ICsyMSw4IEBACi0gCi0gI2luY2x1ZGUgImRsLWxpbmsuaCIKLSAKLSsJLmZpbGUgImRsLXRyYW1wb2xpbmUuUyIKLSsKLSAjZGVmaW5lIGlwMCB4MTYKLSAjZGVmaW5lIGlwMGwgUFRSX1JFRyAoMTYpCi0gI2RlZmluZSBpcDEgeDE3Ci1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9hcm0vYWJpLW5vdGUuUyBiL3N5c2RlcHMvYXJtL2FiaS1ub3RlLlMKLWluZGV4IDA3YmQ0YzQ2MTkuLjcyMTNiMTZmMjcgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL2FybS9hYmktbm90ZS5TCi0rKysgYi9zeXNkZXBzL2FybS9hYmktbm90ZS5TCi1AQCAtMSwzICsxLDUgQEAKLSsJLmZpbGUgImFiaS1ub3RlLlMiCi0rCi0gLyogVGFnX0FCSV9hbGlnbjhfcHJlc2VydmVkOiBUaGlzIGNvZGUgcHJlc2VydmVzIDgtYnl0ZQotICAgIGFsaWdubWVudCBpbiBhbnkgY2FsbGVlLiAgKi8KLSAJLmVhYmlfYXR0cmlidXRlIDI1LCAxCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9hcm0vY3J0aS5TIGIvc3lzZGVwcy9hcm0vY3J0aS5TCi1pbmRleCBhMTQyNGQwMzMzLi5iY2ExZGFiMjU2IDEwMDY0NAotLS0tIGEvc3lzZGVwcy9hcm0vY3J0aS5TCi0rKysgYi9zeXNkZXBzL2FybS9jcnRpLlMKLUBAIC01Nyw2ICs1Nyw4IEBACi0gCS5oaWRkZW4gUFJFSU5JVF9GVU5DVElPTgotICNlbmRpZgotIAotKyAgICAuZmlsZSAiY3J0aS5TIgotKwotICNpZiBQUkVJTklUX0ZVTkNUSU9OX1dFQUsKLSAJLnAyYWxpZ24gMgotIAkudHlwZSBjYWxsX3dlYWtfZm4sICVmdW5jdGlvbgotZGlmZiAtLWdpdCBhL3N5c2RlcHMvYXJtL2NydG4uUyBiL3N5c2RlcHMvYXJtL2NydG4uUwotaW5kZXggMjYwMjc2OTNjZS4uNjVhMDUwMjgyNiAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvYXJtL2NydG4uUwotKysrIGIvc3lzZGVwcy9hcm0vY3J0bi5TCi1AQCAtMzcsNiArMzcsOCBAQAotICNkZWZpbmUgTk9fVEhVTUIKLSAjaW5jbHVkZSA8c3lzZGVwLmg+Ci0gCi0rICAgIC5maWxlICJjcnRuLlMiCi0rCi0gLyogY3J0bi5TIHB1dHMgZnVuY3Rpb24gZXBpbG9ndWVzIGluIHRoZSAuaW5pdCBhbmQgLmZpbmkgc2VjdGlvbnMKLSAgICBjb3JyZXNwb25kaW5nIHRvIHRoZSBwcm9sb2d1ZXMgaW4gY3J0aS5TLiAqLwotIAotZGlmZiAtLWdpdCBhL3N5c2RlcHMvYXJtL2RsLXRsc2Rlc2MuUyBiL3N5c2RlcHMvYXJtL2RsLXRsc2Rlc2MuUwotaW5kZXggMDU2ZTE3ZDUyZC4uYTk4YzY4ZGZiOSAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvYXJtL2RsLXRsc2Rlc2MuUwotKysrIGIvc3lzZGVwcy9hcm0vZGwtdGxzZGVzYy5TCi1AQCAtMjEsNiArMjEsOCBAQAotICNpbmNsdWRlIDx0bHMuaD4KLSAjaW5jbHVkZSAidGxzZGVzYy5oIgotIAotKwkuZmlsZSAiZGwtdGxzZGVzYy5TIgotKwotIAkudGV4dAotIAlAIGVtaXQgZGVidWcgaW5mb3JtYXRpb24gd2l0aCBjZmkKLSAJQCB1c2UgYXJtLXNwZWNpZmljIHBzZXVkb3MgZm9yIHVud2luZGluZyBpdHNlbGYKLWRpZmYgLS1naXQgYS9zeXNkZXBzL2FybS9kbC10cmFtcG9saW5lLlMgYi9zeXNkZXBzL2FybS9kbC10cmFtcG9saW5lLlMKLWluZGV4IGM3MzFiMDEyODYuLjRiMzdiMjUzNDQgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL2FybS9kbC10cmFtcG9saW5lLlMKLSsrKyBiL3N5c2RlcHMvYXJtL2RsLXRyYW1wb2xpbmUuUwotQEAgLTIxLDYgKzIxLDggQEAKLSAjaW5jbHVkZSA8c3lzZGVwLmg+Ci0gI2luY2x1ZGUgPGxpYmMtc3ltYm9scy5oPgotIAotKwkuZmlsZSAiZGwtdHJhbXBvbGluZS5TIgotKwotIAkudGV4dAotIAkuZ2xvYmwgX2RsX3J1bnRpbWVfcmVzb2x2ZQotIAkudHlwZSBfZGxfcnVudGltZV9yZXNvbHZlLCAjZnVuY3Rpb24KLWRpZmYgLS1naXQgYS9zeXNkZXBzL2FybS9zdGFydC5TIGIvc3lzZGVwcy9hcm0vc3RhcnQuUwotaW5kZXggYWRlZjA5MDcxNy4uZDIyZTQxMjhlMCAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvYXJtL3N0YXJ0LlMKLSsrKyBiL3N5c2RlcHMvYXJtL3N0YXJ0LlMKLUBAIC01Nyw2ICs1Nyw4IEBACi0gCQkJCQlOVUxMCi0gKi8KLSAKLSsJLmZpbGUgInN0YXJ0LlMiCi0rCi0gLyogVGFnX0FCSV9hbGlnbjhfcHJlc2VydmVkOiBUaGlzIGNvZGUgcHJlc2VydmVzIDgtYnl0ZQotICAgIGFsaWdubWVudCBpbiBhbnkgY2FsbGVlLiAgKi8KLSAJLmVhYmlfYXR0cmlidXRlIDI1LCAxCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2FlYWJpX3JlYWRfdHAuUyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9hZWFiaV9yZWFkX3RwLlMKLWluZGV4IDg3MTcwMjMxN2EuLjIwYTk0MmRiYWMgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYWVhYmlfcmVhZF90cC5TCi0rKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYWVhYmlfcmVhZF90cC5TCi1AQCAtMzksNiArMzksOCBAQAotICAgIGEgbm9ybWFsIGZ1bmN0aW9uIGNhbGwpIGluIGEgaGlnaCBwYWdlIG9mIG1lbW9yeTsgdGFpbCBjYWxsIHRvIHRoZQotICAgIGhlbHBlci4gICovCi0gCi0rCS5maWxlICJhZWFiaV9yZWFkX3RwLlMiCi0rCi0gCS5oaWRkZW4gX19hZWFiaV9yZWFkX3RwCi0gRU5UUlkgKF9fYWVhYmlfcmVhZF90cCkKLSAjaWZkZWYgQVJDSF9IQVNfSEFSRF9UUAotZGlmZiAtLWdpdCBhL3N5c2RlcHMvbWlwcy9zdGFydC5TIGIvc3lzZGVwcy9taXBzL3N0YXJ0LlMKLWluZGV4IGE0YzRlZjBmYWUuLmQwMGZmZjMxYTggMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL21pcHMvc3RhcnQuUwotKysrIGIvc3lzZGVwcy9taXBzL3N0YXJ0LlMKLUBAIC0zOCw2ICszOCw4IEBACi0gI2luY2x1ZGUgPHNnaWRlZnMuaD4KLSAjaW5jbHVkZSA8c3lzL2FzbS5oPgotIAotKwkuZmlsZSAic3RhcnQuUyIKLSsKLSAjaWZuZGVmIEVOVFJZX1BPSU5UCi0gI2Vycm9yIEVOVFJZX1BPSU5UIG5lZWRzIHRvIGJlIGRlZmluZWQgZm9yIHN0YXJ0LlMgb24gTUlQUy9FTEYuCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9kbC1icmsuUyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtYnJrLlMKLWluZGV4IGVlYjk2NTQ0ZTMuLmRhMTgyYjI4ZjggMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLWJyay5TCi0rKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLWJyay5TCi1AQCAtMSArMSwzIEBACi0rCS5maWxlICJkbC1icmsuUyIKLSsKLSAjaW5jbHVkZSA8YnJrLlM+Ci1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9zdGFydC5TIGIvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9zdGFydC5TCi1pbmRleCA1YzEwYTIyZjhhLi4yYjUyNjI3ZjI3IDEwMDY0NAotLS0tIGEvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9zdGFydC5TCi0rKysgYi9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3N0YXJ0LlMKLUBAIC0zNSw2ICszNSw4IEBACi0gCi0gI2luY2x1ZGUgPHN5c2RlcC5oPgotIAotKwkuZmlsZSAic3RhcnQuUyIKLSsKLSAvKiBXZSBkbyBub3Qgd2FudCAuZWhfZnJhbWUgaW5mbyBmb3IgY3J0MS5vIHNpbmNlIGNydDEubyBpcyBsaW5rZWQKLSAgICBiZWZvcmUgY3J0YmVnaW4ubywgdGhlIGZpbGUgZGVmaW5pbmcgX19FSF9GUkFNRV9CRUdJTl9fLiAgKi8KLSAjdW5kZWYgY2ZpX3N0YXJ0cHJvYwotZGlmZiAtLWdpdCBhL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvc3RhcnQuUyBiL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvc3RhcnQuUwotaW5kZXggYmQ3MTg5MzEwYy4uMmUyMmI4NDcyZCAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvc3RhcnQuUwotKysrIGIvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zdGFydC5TCi1AQCAtMzUsNiArMzUsOCBAQAotIAotICNpbmNsdWRlIDxzeXNkZXAuaD4KLSAKLSsJLmZpbGUgInN0YXJ0LlMiCi0rCi0gLyogV2UgZG8gbm90IHdhbnQgLmVoX2ZyYW1lIGluZm8gZm9yIGNydDEubyBzaW5jZSBjcnQxLm8gaXMgbGlua2VkCi0gICAgYmVmb3JlIGNydGJlZ2luLm8sIHRoZSBmaWxlIGRlZmluaW5nIF9fRUhfRlJBTUVfQkVHSU5fXy4gICovCi0gI3VuZGVmIGNmaV9zdGFydHByb2MKLWRpZmYgLS1naXQgYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLXN0YXJ0LlMgYi9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLXN0YXJ0LlMKLWluZGV4IDI0NGQ4N2ZiNmQuLjE0ZDNlMmNlMTQgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLXN0YXJ0LlMKLSsrKyBiL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtc3RhcnQuUwotQEAgLTE4LDYgKzE4LDggQEAKLSAKLSAjaW5jbHVkZSA8c3lzZGVwLmg+Ci0gCi0rCS5maWxlICJkbC1zdGFydC5TIgotKwotIC8qIEluaXRpYWwgZW50cnkgcG9pbnQgY29kZSBmb3IgdGhlIGR5bmFtaWMgbGlua2VyLgotICAgIFRoZSBDIGZ1bmN0aW9uIGBfZGxfc3RhcnQnIGlzIHRoZSByZWFsIGVudHJ5IHBvaW50OwotICAgIGl0cyByZXR1cm4gdmFsdWUgaXMgdGhlIHVzZXIgcHJvZ3JhbSdzIGVudHJ5IHBvaW50LgkqLwotZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9saWJjLWRvLXN5c2NhbGwuUyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9saWJjLWRvLXN5c2NhbGwuUwotaW5kZXggZDI2YWQxZjhkMy4uYTBkZTEwYmY4MSAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9saWJjLWRvLXN5c2NhbGwuUwotKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2xpYmMtZG8tc3lzY2FsbC5TCi1AQCAtMjcsNiArMjcsOCBAQAotICAgIEFSTSB1bndpbmQgdGFibGVzIGZvciByZWdpc3RlciB0byByZWdpc3RlciBtb3ZlcywgdGhlIGFjdHVhbCBvcGNvZGVzCi0gICAgYXJlIG5vdCBkZWZpbmVkLiAgKi8KLSAKLSsgICAgICAuZmlsZSAibGliYy1kby1zeXNjYWxsLlMiCi0rCi0gI2lmIGRlZmluZWQoX190aHVtYl9fKQotIAkudGh1bWIKLSAJLnN5bnRheCB1bmlmaWVkCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjL0NWRS0yMDE5LTkxNjkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjL0NWRS0yMDE5LTkxNjkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmM0MDM2MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvQ1ZFLTIwMTktOTE2OS5wYXRjaApAQCAtMCwwICsxLDM2IEBACitDVkU6IENWRS0yMDE5LTkxNjkKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gNTgzZGQ4NjBkNWI4MzMwMzcxNzUyNDcyMzBhMzI4ZjAwNTBkYmZlOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBhdWwgRWdnZXJ0IDxlZ2dlcnRAY3MudWNsYS5lZHU+CitEYXRlOiBNb24sIDIxIEphbiAyMDE5IDExOjA4OjEzIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlZ2V4OiBmaXggcmVhZCBvdmVycnVuIFtCWiAjMjQxMTRdCisKK1Byb2JsZW0gZm91bmQgYnkgQWRkcmVzc1Nhbml0aXplciwgcmVwb3J0ZWQgYnkgSG9uZ3h1IENoZW4gaW46CitodHRwczovL2RlYmJ1Z3MuZ251Lm9yZy8zNDE0MAorKiBwb3NpeC9yZWdleGVjLmMgKHByb2NlZWRfbmV4dF9ub2RlKToKK0RvIG5vdCByZWFkIHBhc3QgZW5kIG9mIGlucHV0IGJ1ZmZlci4KKy0tLQorIHBvc2l4L3JlZ2V4ZWMuYyB8ICA2ICsrKystLQorIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Bvc2l4L3JlZ2V4ZWMuYyBiL3Bvc2l4L3JlZ2V4ZWMuYworaW5kZXggOTFkNWE3OS4uMDg0YjEyMiAxMDA2NDQKKy0tLSBhL3Bvc2l4L3JlZ2V4ZWMuYworKysrIGIvcG9zaXgvcmVnZXhlYy5jCitAQCAtMTI5Myw4ICsxMjkzLDEwIEBAIHByb2NlZWRfbmV4dF9ub2RlIChjb25zdCByZV9tYXRjaF9jb250ZXh0X3QgKm1jdHgsIElkeCBucmVncywgcmVnbWF0Y2hfdCAqcmVncywKKyAJICAgICAgZWxzZSBpZiAobmFjY2VwdGVkKQorIAkJeworIAkJICBjaGFyICpidWYgPSAoY2hhciAqKSByZV9zdHJpbmdfZ2V0X2J1ZmZlciAoJm1jdHgtPmlucHV0KTsKKy0JCSAgaWYgKG1lbWNtcCAoYnVmICsgcmVnc1tzdWJleHBfaWR4XS5ybV9zbywgYnVmICsgKnBpZHgsCistCQkJICAgICAgbmFjY2VwdGVkKSAhPSAwKQorKwkJICBpZiAobWN0eC0+aW5wdXQudmFsaWRfbGVuIC0gKnBpZHggPCBuYWNjZXB0ZWQKKysJCSAgICAgIHx8IChtZW1jbXAgKGJ1ZiArIHJlZ3Nbc3ViZXhwX2lkeF0ucm1fc28sIGJ1ZiArICpwaWR4LAorKwkJCQkgIG5hY2NlcHRlZCkKKysJCQkgICE9IDApKQorIAkJICAgIHJldHVybiAtMTsKKyAJCX0KKyAJICAgIH0KKy0tIAorMi45LjMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmNfMi4yOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmNfMi4yOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDA3MjkzOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjXzIuMjguYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMzUgKzAsMCBAQAotcmVxdWlyZSBnbGliYy5pbmMKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRVM7bWQ1PWNmYzBlZDc3YTlmNjJmYTYyZWRlZDA0MmViZTMxZDcyIFwKLSAgICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCi0gICAgICBmaWxlOi8vcG9zaXgvcnhzcGVuY2VyL0NPUFlSSUdIVDttZDU9ZGM1NDg1YmIzOTRhMTNiMjMzMmVjMWM3ODVmNWQ4M2EgXAotICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKLQotREVQRU5EUyArPSAiZ3BlcmYtbmF0aXZlIGJpc29uLW5hdGl2ZSBtYWtlLW5hdGl2ZSIKLQotU1JDUkVWID89ICIwNDRjOTZmMGQ1NTk1YWViMGJiNGU3OTM1NTA4MWM1YTdmNGZhY2E1IgotCi1TUkNCUkFOQ0ggPz0gInJlbGVhc2UvJHtQVn0vbWFzdGVyIgotCi1HTElCQ19HSVRfVVJJID89ICJnaXQ6Ly9zb3VyY2V3YXJlLm9yZy9naXQvZ2xpYmMuZ2l0IgotVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrXC5cZCsoXC4oPyE5MClcZCspKikiCi0KLVNSQ19VUkkgPSAiJHtHTElCQ19HSVRfVVJJfTticmFuY2g9JHtTUkNCUkFOQ0h9O25hbWU9Z2xpYmMgXAotICAgICAgICAgICBmaWxlOi8vZXRjL2xkLnNvLmNvbmYgXAotICAgICAgICAgICBmaWxlOi8vZ2VuZXJhdGUtc3VwcG9ydGVkLm1rIFwKLSAgICAgICAgICAgZmlsZTovL21ha2VkYnMuc2ggXAotICAgICAgICAgICBcCi0gICAgICAgICAgICR7TkFUSVZFU0RLRklYRVN9IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDYtZnNsLWU1MDAtZTU1MDAtZTY1MDAtNjAzZS1mc3FydC1pbXBsZW1lbnRhdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA3LXJlYWRsaWItQWRkLU9FQ09SRV9LTk9XTl9JTlRFUlBSRVRFUl9OQU1FUy10by1rbm93bi0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOC1wcGMtc3FydC1GaXgtdW5kZWZpbmVkLXJlZmVyZW5jZS10by1fX3NxcnRfZmluaXRlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDktX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLVF1b3RlLWZyb20tYnVnLTE0NDMtd2hpY2gtZXhwbGFpbnMtd2hhdC10aGUtcGF0Y2gtZG8ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMS1lZ2xpYmMtcnVuLWxpYm0tZXJyLXRhYi5wbC13aXRoLXNwZWNpZmljLWRpcnMtaW4tUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEyLV9faWVlZTc1NF9zcXJ0LWYtYXJlLW5vdy1pbmxpbmUtZnVuY3Rpb25zLWFuZC1jYWxsLW8ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMy1zeXNkZXBzLWdudS1jb25maWd1cmUuYWMtaGFuZGxlLWNvcnJlY3RseS1saWJjX2N2X3JvLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTQtQWRkLXVudXNlZC1hdHRyaWJ1dGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNS15ZXMtd2l0aGluLXRoZS1wYXRoLXNldHMtd3JvbmctY29uZmlnLXZhcmlhYmxlcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE2LXRpbWV6b25lLXJlLXdyaXR0ZW4tdHpzZWxlY3QtYXMtcG9zaXgtc2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNy1SZW1vdmUtYmFzaC1kZXBlbmRlbmN5LWZvci1uc2NkLWluaXQtc2NyaXB0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTgtZWdsaWJjLUNyb3NzLWJ1aWxkaW5nLWFuZC10ZXN0aW5nLWluc3RydWN0aW9ucy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE5LWVnbGliYy1IZWxwLWJvb3RzdHJhcC1jcm9zcy10b29sY2hhaW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMC1lZ2xpYmMtQ2xlYXItY2FjaGUtbGluZXMtb24tcHBjOHh4LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjEtZWdsaWJjLVJlc29sdmUtX19mcHNjcl92YWx1ZXMtb24tU0g0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjItZWdsaWJjLUZvcndhcmQtcG9ydC1jcm9zcy1sb2NhbGUtZ2VuZXJhdGlvbi1zdXBwb3J0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjMtRGVmaW5lLURVTU1ZX0xPQ0FMRV9ULWlmLW5vdC1kZWZpbmVkLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjQtZWxmLWRsLWRlcHMuYy1NYWtlLV9kbF9idWlsZF9sb2NhbF9zY29wZS1icmVhZHRoLWZpci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI1LWxvY2FsZS1maXgtaGFyZC1jb2RlZC1yZWZlcmVuY2UtdG8tZ2NjLUUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyNi1yZXNldC1kbF9sb2FkX3dyaXRlX2xvY2stYWZ0ZXItZm9ya2luZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI3LUFjcXVpcmUtbGQuc28tbG9jay1iZWZvcmUtc3dpdGNoaW5nLXRvLW1hbGxvY19hdGZvcmsucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyOC1iaXRzLXNpZ2luZm8tY29uc3RzLmgtZW51bS1kZWZpbml0aW9uLWZvci1UUkFQX0hXQktQLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjktbG9jYWxlZGVmLWFkZC10by1hcmNoaXZlLXVzZXMtYS1oYXJkLWNvZGVkLWxvY2FsZS1wYS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDMwLWludGwtRW1pdC1uby1saW5lcy1pbi1iaXNvbi1nZW5lcmF0ZWQtZmlsZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzMS1zeXNkZXBzLWllZWU3NTQtcHJldmVudC1tYXliZS11bmluaXRpYWxpemVkLWVycm9ycy13LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzItc3lzZGVwcy1pZWVlNzU0LXNvZnQtZnAtaWdub3JlLW1heWJlLXVuaW5pdGlhbGl6ZWQtdy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDMzLWxvY2FsZS1wcmV2ZW50LW1heWJlLXVuaW5pdGlhbGl6ZWQtZXJyb3JzLXdpdGgtT3MtQloucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNC1pbmplY3QtZmlsZS1hc3NlbWJseS1kaXJlY3RpdmVzLnBhdGNoIFwKLSIKLQotTkFUSVZFU0RLRklYRVMgPz0gIiIKLU5BVElWRVNES0ZJWEVTX2NsYXNzLW5hdGl2ZXNkayA9ICJcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW5hdGl2ZXNkay1nbGliYy1Mb29rLWZvci1ob3N0LXN5c3RlbS1sZC5zby5jYWNoZS1hcy0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1uYXRpdmVzZGstZ2xpYmMtRml4LWJ1ZmZlci1vdmVycnVuLXdpdGgtYS1yZWxvY2F0ZWQtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtbmF0aXZlc2RrLWdsaWJjLVJhaXNlLXRoZS1zaXplLW9mLWFycmF5cy1jb250YWluaW5nLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LW5hdGl2ZXNkay1nbGliYy1BbGxvdy02NC1iaXQtYXRvbWljcy1mb3IteDg2LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtbmF0aXZlc2RrLWdsaWJjLU1ha2UtcmVsb2NhdGFibGUtaW5zdGFsbC1mb3ItbG9jYWxlcy5wYXRjaCBcCi0iCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi1CID0gIiR7V09SS0RJUn0vYnVpbGQtJHtUQVJHRVRfU1lTfSIKLQotUEFDS0FHRVNfRFlOQU1JQyA9ICIiCi0KLSMgdGhlIC1pc3lzdGVtIGluIGJpdGJha2UuY29uZiBzY3Jld3MgdXAgZ2xpYmMgZG9fc3RhZ2UKLUJVSUxEX0NQUEZMQUdTID0gIi1JJHtTVEFHSU5HX0lOQ0RJUl9OQVRJVkV9IgotVEFSR0VUX0NQUEZMQUdTID0gIi1JJHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtpbmNsdWRlZGlyfSIKLQotR0xJQkNfQlJPS0VOX0xPQ0FMRVMgPSAiIgotIwotIyBXZSB3aWxsIHNraXAgcGFyc2luZyBnbGliYyB3aGVuIHRhcmdldCBzeXN0ZW0gQyBsaWJyYXJ5IHNlbGVjdGlvbiBpcyBub3QgZ2xpYmMKLSMgdGhpcyBoZWxwcyBpbiBlYXNpbmcgb3V0IHBhcnNpbmcgZm9yIG5vbi1nbGliYyBzeXN0ZW0gbGlicmFyaWVzCi0jCi1DT01QQVRJQkxFX0hPU1RfbGliYy1tdXNsX2NsYXNzLXRhcmdldCA9ICJudWxsIgotCi1HTElCQ1BJRSA/Pz0gIiIKLQotRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLWtlcm5lbD0ke09MREVTVF9LRVJORUx9IFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtcHJvZmlsZSBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLWRlYnVnIC0td2l0aG91dC1nZCBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtY2xvY2FsZT1nbnUgXAotICAgICAgICAgICAgICAgIC0td2l0aC1oZWFkZXJzPSR7U1RBR0lOR19JTkNESVJ9IFwKLSAgICAgICAgICAgICAgICAtLXdpdGhvdXQtc2VsaW51eCBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtdHVuYWJsZXMgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLWJpbmQtbm93IFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1zdGFjay1wcm90ZWN0b3I9c3Ryb25nIFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1zdGFja2d1YXJkLXJhbmRvbWl6YXRpb24gXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1jcnlwdCBcCi0gICAgICAgICAgICAgICAgJHtHTElCQ1BJRX0gXAotICAgICAgICAgICAgICAgICR7R0xJQkNfRVhUUkFfT0VDT05GfSIKLQotRVhUUkFfT0VDT05GICs9ICIke0BnZXRfbGliY19mcHVfc2V0dGluZyhiYiwgZCl9IgotRVhUUkFfT0VDT05GICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xpYmMtaW5ldC1hbmwnLCAnLS1lbmFibGUtbnNjZCcsICctLWRpc2FibGUtbnNjZCcsIGQpfSIKLQotCi1kb19wYXRjaF9hcHBlbmQoKSB7Ci0gICAgYmIuYnVpbGQuZXhlY19mdW5jKCdkb19maXhfcmVhZGxpYl9jJywgZCkKLX0KLQotZG9fZml4X3JlYWRsaWJfYyAoKSB7Ci0Jc2VkIC1pIC1lICdzI09FQ09SRV9LTk9XTl9JTlRFUlBSRVRFUl9OQU1FUyMke0VHTElCQ19LTk9XTl9JTlRFUlBSRVRFUl9OQU1FU30jJyAke1N9L2VsZi9yZWFkbGliLmMKLX0KLQotZG9fY29uZmlndXJlICgpIHsKLSMgb3ZlcnJpZGUgdGhpcyBmdW5jdGlvbiB0byBhdm9pZCB0aGUgYXV0b2NvbmYvYXV0b21ha2UvYWNsb2NhbC9hdXRvaGVhZGVyCi0jIGNhbGxzIGZvciBub3cKLSMgZG9uJ3QgcGFzcyBDUFBGTEFHUyBpbnRvIGNvbmZpZ3VyZSwgc2luY2UgaXQgdXBzZXRzIHRoZSBrZXJuZWwtaGVhZGVycwotIyB2ZXJzaW9uIGNoZWNrIGFuZCBkb2Vzbid0IHJlYWxseSBoZWxwIHdpdGggYW55dGhpbmcKLSAgICAgICAgKGNkICR7U30gJiYgZ251LWNvbmZpZ2l6ZSkgfHwgZGllICJmYWlsdXJlIGluIHJ1bm5pbmcgZ251LWNvbmZpZ2l6ZSIKLSAgICAgICAgZmluZCAke1N9IC1uYW1lICJjb25maWd1cmUiIHwgeGFyZ3MgdG91Y2gKLSAgICAgICAgQ1BQRkxBR1M9IiIgb2VfcnVuY29uZgotfQotCi1kb19jb21waWxlICgpIHsKLQkjIC1XbCwtcnBhdGgtbGluayA8c3RhZ2luZz4vbGliIGluIExERkxBR1MgY2FuIGNhdXNlIGJyZWFrYWdlIGlmIGFub3RoZXIgZ2xpYmMgaXMgaW4gc3RhZ2luZwotCXVuc2V0IExERkxBR1MKLQliYXNlX2RvX2NvbXBpbGUKLQllY2hvICJBZGp1c3QgbGRkIHNjcmlwdCIKLQlpZiBbIC1uICIke1JUTERMSVNUfSIgXQotCXRoZW4KLQkJcHJldnJ0bGQ9YGNhdCAke0J9L2VsZi9sZGQgfCBncmVwICJeUlRMRExJU1Q9IiB8IHNlZCAncyNeUlRMRExJU1Q9Ilw/XChbXiJdKlwpIlw/JCNcMSMnYAotCQlpZiBbICIke3ByZXZydGxkfSIgIT0gIiR7UlRMRExJU1R9IiBdCi0JCXRoZW4KLQkJCXNlZCAtaSAke0J9L2VsZi9sZGQgLWUgInMjXlJUTERMSVNUPS4qXCQjUlRMRExJU1Q9XCIke3ByZXZydGxkfSAke1JUTERMSVNUfVwiIyIKLQkJZmkKLQlmaQotCi19Ci0KLXJlcXVpcmUgZ2xpYmMtcGFja2FnZS5pbmMKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjXzIuMjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjXzIuMjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE4NGM1OQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmNfMi4yOS5iYgpAQCAtMCwwICsxLDEyOSBAQAorcmVxdWlyZSBnbGliYy5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRVM7bWQ1PWNmYzBlZDc3YTlmNjJmYTYyZWRlZDA0MmViZTMxZDcyIFwKKyAgICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICBmaWxlOi8vcG9zaXgvcnhzcGVuY2VyL0NPUFlSSUdIVDttZDU9ZGM1NDg1YmIzOTRhMTNiMjMzMmVjMWM3ODVmNWQ4M2EgXAorICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworREVQRU5EUyArPSAiZ3BlcmYtbmF0aXZlIGJpc29uLW5hdGl2ZSBtYWtlLW5hdGl2ZSIKKworUFYgPSAiMi4yOSIKKworU1JDUkVWID89ICI4NjAxM2VmNWNlYTMyMmI4ZjRiOWMyMmYyMzBjMjJjY2UzNjllOTQ3IgorCitTUkNCUkFOQ0ggPz0gInJlbGVhc2UvJHtQVn0vbWFzdGVyIgorCitHTElCQ19HSVRfVVJJID89ICJnaXQ6Ly9zb3VyY2V3YXJlLm9yZy9naXQvZ2xpYmMuZ2l0IgorVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrXC5cZCsoXC4oPyE5MClcZCspKikiCisKK05BVElWRVNES0ZJWEVTID89ICIiCitOQVRJVkVTREtGSVhFU19jbGFzcy1uYXRpdmVzZGsgPSAiXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1uYXRpdmVzZGstZ2xpYmMtTG9vay1mb3ItaG9zdC1zeXN0ZW0tbGQuc28uY2FjaGUtYXMtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItbmF0aXZlc2RrLWdsaWJjLUZpeC1idWZmZXItb3ZlcnJ1bi13aXRoLWEtcmVsb2NhdGVkLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLW5hdGl2ZXNkay1nbGliYy1SYWlzZS10aGUtc2l6ZS1vZi1hcnJheXMtY29udGFpbmluZy0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1uYXRpdmVzZGstZ2xpYmMtQWxsb3ctNjQtYml0LWF0b21pY3MtZm9yLXg4Ni5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LW5hdGl2ZXNkay1nbGliYy1NYWtlLXJlbG9jYXRhYmxlLWluc3RhbGwtZm9yLWxvY2FsZXMucGF0Y2ggXAorIgorCitTUkNfVVJJID0gIiR7R0xJQkNfR0lUX1VSSX07YnJhbmNoPSR7U1JDQlJBTkNIfTtuYW1lPWdsaWJjIFwKKyAgICAgICAgICAgZmlsZTovL2V0Yy9sZC5zby5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL2dlbmVyYXRlLXN1cHBvcnRlZC5tayBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlZGJzLnNoIFwKKyAgICAgICAgICAgXAorICAgICAgICAgICAke05BVElWRVNES0ZJWEVTfSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA2LWZzbC1lNTAwLWU1NTAwLWU2NTAwLTYwM2UtZnNxcnQtaW1wbGVtZW50YXRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1yZWFkbGliLUFkZC1PRUNPUkVfS05PV05fSU5URVJQUkVURVJfTkFNRVMtdG8ta25vd24tLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDgtcHBjLXNxcnQtRml4LXVuZGVmaW5lZC1yZWZlcmVuY2UtdG8tX19zcXJ0X2Zpbml0ZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA5LV9faWVlZTc1NF9zcXJ0LWYtYXJlLW5vdy1pbmxpbmUtZnVuY3Rpb25zLWFuZC1jYWxsLW8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMC1RdW90ZS1mcm9tLWJ1Zy0xNDQzLXdoaWNoLWV4cGxhaW5zLXdoYXQtdGhlLXBhdGNoLWRvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTEtZWdsaWJjLXJ1bi1saWJtLWVyci10YWIucGwtd2l0aC1zcGVjaWZpYy1kaXJzLWluLVMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMi1fX2llZWU3NTRfc3FydC1mLWFyZS1ub3ctaW5saW5lLWZ1bmN0aW9ucy1hbmQtY2FsbC1vLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTMtc3lzZGVwcy1nbnUtY29uZmlndXJlLmFjLWhhbmRsZS1jb3JyZWN0bHktbGliY19jdl9yby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE0LUFkZC11bnVzZWQtYXR0cmlidXRlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTUteWVzLXdpdGhpbi10aGUtcGF0aC1zZXRzLXdyb25nLWNvbmZpZy12YXJpYWJsZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNi10aW1lem9uZS1yZS13cml0dGVuLXR6c2VsZWN0LWFzLXBvc2l4LXNoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTctUmVtb3ZlLWJhc2gtZGVwZW5kZW5jeS1mb3ItbnNjZC1pbml0LXNjcmlwdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE4LWVnbGliYy1Dcm9zcy1idWlsZGluZy1hbmQtdGVzdGluZy1pbnN0cnVjdGlvbnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxOS1lZ2xpYmMtSGVscC1ib290c3RyYXAtY3Jvc3MtdG9vbGNoYWluLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjAtZWdsaWJjLUNsZWFyLWNhY2hlLWxpbmVzLW9uLXBwYzh4eC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIxLWVnbGliYy1SZXNvbHZlLV9fZnBzY3JfdmFsdWVzLW9uLVNINC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIyLWVnbGliYy1Gb3J3YXJkLXBvcnQtY3Jvc3MtbG9jYWxlLWdlbmVyYXRpb24tc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIzLURlZmluZS1EVU1NWV9MT0NBTEVfVC1pZi1ub3QtZGVmaW5lZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI0LWxvY2FsZWRlZi1hZGQtdG8tYXJjaGl2ZS11c2VzLWEtaGFyZC1jb2RlZC1sb2NhbGUtcGEucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyNS1lbGYtZGwtZGVwcy5jLU1ha2UtX2RsX2J1aWxkX2xvY2FsX3Njb3BlLWJyZWFkdGgtZmlyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjgtaW50bC1FbWl0LW5vLWxpbmVzLWluLWJpc29uLWdlbmVyYXRlZC1maWxlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI5LWluamVjdC1maWxlLWFzc2VtYmx5LWRpcmVjdGl2ZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzMC1sb2NhbGUtcHJldmVudC1tYXliZS11bmluaXRpYWxpemVkLWVycm9ycy13aXRoLU9zLUJaLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEteDg2LTY0LW1lbWNtcC1Vc2UtdW5zaWduZWQtSmNjLWluc3RydWN0aW9ucy1vbi1zaXplLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOS05MTY5LnBhdGNoIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK0IgPSAiJHtXT1JLRElSfS9idWlsZC0ke1RBUkdFVF9TWVN9IgorCitQQUNLQUdFU19EWU5BTUlDID0gIiIKKworIyB0aGUgLWlzeXN0ZW0gaW4gYml0YmFrZS5jb25mIHNjcmV3cyB1cCBnbGliYyBkb19zdGFnZQorQlVJTERfQ1BQRkxBR1MgPSAiLUkke1NUQUdJTkdfSU5DRElSX05BVElWRX0iCitUQVJHRVRfQ1BQRkxBR1MgPSAiLUkke1NUQUdJTkdfRElSX1RBUkdFVH0ke2luY2x1ZGVkaXJ9IgorCitHTElCQ19CUk9LRU5fTE9DQUxFUyA9ICIiCisKK0dMSUJDUElFID8/PSAiIgorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUta2VybmVsPSR7T0xERVNUX0tFUk5FTH0gXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1wcm9maWxlIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtZGVidWcgLS13aXRob3V0LWdkIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1jbG9jYWxlPWdudSBcCisgICAgICAgICAgICAgICAgLS13aXRoLWhlYWRlcnM9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1zZWxpbnV4IFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS10dW5hYmxlcyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtYmluZC1ub3cgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXN0YWNrLXByb3RlY3Rvcj1zdHJvbmcgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXN0YWNrZ3VhcmQtcmFuZG9taXphdGlvbiBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWNyeXB0IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtZGVmYXVsdC1saW5rIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1uc2NkIFwKKyAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWluc19hbnkoJ1NFTEVDVEVEX09QVElNSVpBVElPTicsICctTzAgLU9nJywgJy0tZGlzYWJsZS13ZXJyb3InLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAke0dMSUJDUElFfSBcCisgICAgICAgICAgICAgICAgJHtHTElCQ19FWFRSQV9PRUNPTkZ9IgorCitFWFRSQV9PRUNPTkYgKz0gIiR7QGdldF9saWJjX2ZwdV9zZXR0aW5nKGJiLCBkKX0iCisKK2RvX3BhdGNoX2FwcGVuZCgpIHsKKyAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ2RvX2ZpeF9yZWFkbGliX2MnLCBkKQorfQorCitkb19maXhfcmVhZGxpYl9jICgpIHsKKwlzZWQgLWkgLWUgJ3MjT0VDT1JFX0tOT1dOX0lOVEVSUFJFVEVSX05BTUVTIyR7RUdMSUJDX0tOT1dOX0lOVEVSUFJFVEVSX05BTUVTfSMnICR7U30vZWxmL3JlYWRsaWIuYworfQorCitkb19jb25maWd1cmUgKCkgeworIyBvdmVycmlkZSB0aGlzIGZ1bmN0aW9uIHRvIGF2b2lkIHRoZSBhdXRvY29uZi9hdXRvbWFrZS9hY2xvY2FsL2F1dG9oZWFkZXIKKyMgY2FsbHMgZm9yIG5vdworIyBkb24ndCBwYXNzIENQUEZMQUdTIGludG8gY29uZmlndXJlLCBzaW5jZSBpdCB1cHNldHMgdGhlIGtlcm5lbC1oZWFkZXJzCisjIHZlcnNpb24gY2hlY2sgYW5kIGRvZXNuJ3QgcmVhbGx5IGhlbHAgd2l0aCBhbnl0aGluZworICAgICAgICAoY2QgJHtTfSAmJiBnbnUtY29uZmlnaXplKSB8fCBkaWUgImZhaWx1cmUgaW4gcnVubmluZyBnbnUtY29uZmlnaXplIgorICAgICAgICBmaW5kICR7U30gLW5hbWUgImNvbmZpZ3VyZSIgfCB4YXJncyB0b3VjaAorICAgICAgICBDUFBGTEFHUz0iIiBvZV9ydW5jb25mCit9CisKK2RvX2NvbXBpbGUgKCkgeworCSMgLVdsLC1ycGF0aC1saW5rIDxzdGFnaW5nPi9saWIgaW4gTERGTEFHUyBjYW4gY2F1c2UgYnJlYWthZ2UgaWYgYW5vdGhlciBnbGliYyBpcyBpbiBzdGFnaW5nCisJdW5zZXQgTERGTEFHUworCWJhc2VfZG9fY29tcGlsZQorCWVjaG8gIkFkanVzdCBsZGQgc2NyaXB0IgorCWlmIFsgLW4gIiR7UlRMRExJU1R9IiBdCisJdGhlbgorCQlwcmV2cnRsZD1gY2F0ICR7Qn0vZWxmL2xkZCB8IGdyZXAgIl5SVExETElTVD0iIHwgc2VkICdzI15SVExETElTVD0iXD9cKFteIl0qXCkiXD8kI1wxIydgCisJCSMgcmVtb3ZlIGR1cGxpY2F0ZSBlbnRyaWVzCisJCW5ld3J0bGQ9YGVjaG8gJChwcmludGYgJyVzXG4nICR7cHJldnJ0bGR9ICR7UlRMRExJU1R9IHwgTENfQUxMPUMgc29ydCAtdSlgCisJCWVjaG8gImxkZCBcIiR7cHJldnJ0bGR9ICR7UlRMRExJU1R9XCIgLT4gXCIke25ld3J0bGR9XCIiCisJCXNlZCAtaSAke0J9L2VsZi9sZGQgLWUgInMjXlJUTERMSVNUPS4qXCQjUlRMRExJU1Q9XCIke25ld3J0bGR9XCIjIgorCWZpCisKK30KKworcmVxdWlyZSBnbGliYy1wYWNrYWdlLmluYworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvc2l0ZV9jb25maWcvZnVuY3MgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL3NpdGVfY29uZmlnL2Z1bmNzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjY2M4NTM5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvc2l0ZV9jb25maWcvZnVuY3MKKysrIC9kZXYvbnVsbApAQCAtMSw0NzQgKzAsMCBAQAotYTY0bAotYWJzCi1hY2Nlc3MKLV9fYWRqdGltZXgKLWFsYXJtCi1hbHBoYXNvcnQKLWFyZ3pfYXBwZW5kCi1fX2FyZ3pfY291bnQKLWFyZ3pfY3JlYXRlX3NlcAotYXJnel9pbnNlcnQKLV9fYXJnel9uZXh0Ci1hcmd6X25leHQKLV9fYXJnel9zdHJpbmdpZnkKLWFyZ3pfc3RyaW5naWZ5Ci1hc3ByaW50ZgotYXRleGl0Ci1hdG9mCi1hdG9pCi1iY21wCi1iY29weQotYmluZHJlc3Zwb3J0Ci1iaW5kX3RleHRkb21haW5fY29kZXNldAotYnRvd2MKLWJ6ZXJvCi1jYWxsb2MKLWNhbm9uaWNhbGl6ZV9maWxlX25hbWUKLWNhdGdldHMKLWNmZ2V0b3NwZWVkCi1jZnNldGlzcGVlZAotY2ZzZXRzcGVlZAotY2htb2QKLWNob3duCi1jaHJvb3QKLWNsb2NrCi1jbG9zZQotY2xvc2VkaXIKLWNsb3NlbG9nCi1jb25mc3RyCi1jb25uZWN0Ci1kYWVtb24KLWRjZ2V0dGV4dAotZGlmZnRpbWUKLWRpcmZkCi1kaXJuYW1lCi1kbmdldHRleHQKLWR1cDIKLWVjdnQKLWVuZGdyZW50Ci1lbmRtbnRlbnQKLWVuZHB3ZW50Ci1lbmR1dGVudAotZW5kdXR4ZW50Ci1lcG9sbF9jdGwKLWVycgotZXRoZXJfaG9zdHRvbgotZXRoZXJfbnRvaG9zdAotZXVpZGFjY2VzcwotZXhlY3YKLWZjaGRpcgotZmNobW9kCi1mY2htb2RhdAotZmNob3duCi1mY2hvd25hdAotZmNudGwKLWZjdnQKLWZkYXRhc3luYwotZmRvcGVuZGlyCi1mZW9mX3VubG9ja2VkCi1mZ2V0c191bmxvY2tlZAotZmdldHhhdHRyCi1maW5pdGUKLWZsaXN0eGF0dHIKLWZsb2NrCi1mbG9ja2ZpbGUKLWZubWF0Y2gKLWZvcmsKLWZwYXRoY29uZgotX19mcGVuZGluZwotZnByaW50ZgotZnJlZQotZnJlZWFkZHJpbmZvCi1mcmVlaWZhZGRycwotZnNlZWtvCi1fX2ZzZXRsb2NraW5nCi1mc2V0eGF0dHIKLWZzdGF0NjQKLWZzdGF0Ci1mc3RhdGZzCi1mc3luYwotZnRlbGxvCi1mdGltZQotZnRydW5jYXRlCi1mdW5sb2NrZmlsZQotZnV0aW1lcwotZnV0aW1lc2F0Ci1nYWlfc3RyZXJyb3IKLWdjdnQKLWdldGFkZHJpbmZvCi1nZXRjX3VubG9ja2VkCi1nZXRjd2QKLWdldGRlbGltCi1nZXRkb21haW5uYW1lCi1nZXRkdGFibGVzaXplCi1nZXRlZ2lkCi1nZXRlbnYKLWdldGV1aWQKLWdldGdpZAotZ2V0Z3JlbnQKLWdldGdyZW50X3IKLWdldGdyZ2lkX3IKLWdldGdybmFtCi1nZXRncm5hbV9yCi1nZXRncm91cGxpc3QKLWdldGdyb3VwcwotZ2V0aG9zdGJ5YWRkcl9yCi1nZXRob3N0YnluYW1lMgotZ2V0aG9zdGJ5bmFtZQotZ2V0aG9zdGJ5bmFtZV9yCi1nZXRob3N0ZW50Ci1nZXRob3N0aWQKLWdldGhvc3RuYW1lCi1nZXRpZmFkZHJzCi1nZXRsaW5lCi1nZXRsb2FkYXZnCi1nZXRtbnRlbnQKLWdldG1zZwotZ2V0bmFtZWluZm8KLWdldG5ldGJ5YWRkcl9yCi1nZXRuZXRncmVudF9yCi1nZXRvcHQKLWdldG9wdF9sb25nCi1nZXRvcHRfbG9uZ19vbmx5Ci1nZXRwYWdlc2l6ZQotZ2V0cGFzcwotZ2V0cGVlcm5hbWUKLWdldHBncnAKLWdldHBpZAotZ2V0cHBpZAotZ2V0cHJvdG9lbnRfcgotZ2V0cHdlbnQKLWdldHB3ZW50X3IKLWdldHB3bmFtCi1nZXRwd25hbV9yCi1nZXRwd3VpZAotZ2V0cHd1aWRfcgotZ2V0cmVzdWlkCi1nZXRybGltaXQKLWdldHJ1c2FnZQotZ2V0c2VydmJ5bmFtZQotZ2V0c2VydmJ5bmFtZV9yCi1nZXRzZXJ2Ynlwb3J0X3IKLWdldHNlcnZlbnQKLWdldHNlcnZlbnRfcgotZ2V0c3BuYW0KLWdldHNwbmFtX3IKLWdldHRpbWVvZmRheQotZ2V0dHR5ZW50Ci1nZXR0dHluYW0KLWdldHVpZAotZ2V0dXNlcnNoZWxsCi1nZXR1dGVudAotZ2V0dXRpZAotZ2V0dXRsaW5lCi1nZXR1dG1wCi1nZXR1dG1weAotZ2V0dXR4ZW50Ci1nZXR1dHhpZAotZ2V0dXR4bGluZQotZ2V0d2QKLWdldHhhdHRyCi1nbG9iCi1nbXRpbWUKLWdtdGltZV9yCi1ncmFudHB0Ci1ncm91cF9tZW1iZXIKLWhlcnJvcgotaHN0cmVycm9yCi1pY29udgotaWNvbnZfb3BlbgotaWZfZnJlZW5hbWVpbmRleAotaWZfaW5kZXh0b25hbWUKLWlmX25hbWVpbmRleAotaWZfbmFtZXRvaW5kZXgKLWluZGV4Ci1pbmV0X2FkZHIKLWluZXRfYXRvbgotaW5ldF9udG9hCi1pbmV0X250b3AKLWluZXRfcHRvbgotaW5pdGdyb3VwcwotaW5uZXRncgotaXJ1c2Vyb2sKLWlzYXNjaWkKLWlzYXR0eQotaXNibGFuawotaXNncmFwaAotaXNpbmYKLWlzbmFuCi1pc3ByaW50Ci1pc3NwYWNlCi1pc3dhbG51bQotaXN3Y250cmwKLWlzd2N0eXBlCi1pc3dwcmludAotaXN3c3BhY2UKLWlzd3VwcGVyCi1pc3hkaWdpdAota2lsbAota2lsbHBnCi1sY2hvd24KLWxja3B3ZGYKLWxnZXR4YXR0cgotbGluawotbGlzdHhhdHRyCi1sbGlzdHhhdHRyCi1sb2NhbHRpbWUKLWxvY2FsdGltZV9yCi1sb2NrZgotbHJhbmQ0OAotbHNlYXJjaAotbHNlZWs2NAotbHNldHhhdHRyCi1sc3RhdAotbWFsbGluZm8KLW1hbGxvYwotbWJsZW4KLW1icmxlbgotbWJydG93YwotbWJzaW5pdAotbWJzcnRvd2NzCi1tYnRvd2MKLW1lbWFsaWduCi1tZW1jaHIKLW1lbWNtcAotbWVtY3B5Ci1tZW1tb3ZlCi1tZW1wY3B5Ci1tZW1yY2hyCi1tZW1zZXQKLW1rZGlyCi1ta2RpcmF0Ci1ta2R0ZW1wCi1ta2ZpZm8KLW1rbm9kCi1ta3N0ZW1wNjQKLW1rc3RlbXAKLW1rdGltZQotbWxvY2sKLW1tYXAKLW10cmFjZQotbXVubG9jawotbXVubWFwCi1uYW5vc2xlZXAKLW5pY2UKLW5sX2xhbmdpbmZvCi1udHBfYWRqdGltZQotbnRwX2dldHRpbWUKLV9vYnN0YWNrX2ZyZWUKLW9uX2V4aXQKLW9wZW42NAotb3Blbgotb3BlbmF0Ci1vcGVuZGlyCi1vcGVubG9nCi1wYXRoY29uZgotcGlwZQotcG9sbAotcG9wZW4KLXBvc2l4X21lbWFsaWduCi1wcmN0bAotcHJlYWQKLXByaW50ZgotX19wcm9nbmFtZQotcHNlbGVjdAotcHRocmVhZF9tdXRleF9sb2NrCi1wdHNuYW1lCi1wdXRlbnYKLXB1dGdyZW50Ci1wdXRwd2VudAotcHV0c3BlbnQKLXB1dHV0bGluZQotcHV0dXR4bGluZQotcHV0d2MKLXB3cml0ZQotcXNvcnQKLXJhaXNlCi1yYW5kCi1yYW5kb20KLXJhbmRfcgotcmVhZAotcmVhZGRpcgotcmVhZGRpcl9yCi1yZWFkbGluawotcmVhbGxvYwotcmVhbHBhdGgKLXJlX2NvbXAKLXJlY3Ztc2cKLXJlX2V4ZWMKLXJlZ2NvbXAKLXJlZ2V4ZWMKLXJlbW92ZQotcmVuYW1lCi1yZV9zZWFyY2gKLXJtZGlyCi1ycG1hdGNoCi1ycmVzdnBvcnRfYWYKLXJ1c2Vyb2sKLXJ1c2Vyb2tfYWYKLXNicmsKLXNjYW5kaXIKLXNjaGVkX3NldHNjaGVkdWxlcgotc2NoZWRfeWllbGQKLV9fc2VjdXJlX2dldGVudgotc2VsZWN0Ci1zZW1jdGwKLXNlbWdldAotc2VuZG1zZwotc2V0YnVmCi1zZXRidWZmZXIKLXNldGVnaWQKLXNldGVudgotc2V0ZXVpZAotc2V0Z2lkCi1zZXRncm91cHMKLXNldGhvc3RuYW1lCi1zZXRpdGltZXIKLV9zZXRqbXAKLXNldGptcAotc2V0bGluZWJ1Zgotc2V0bG9jYWxlCi1zZXRtbnRlbnQKLXNldHBnaWQKLXNldHBncnAKLXNldHByaW9yaXR5Ci1zZXRyZWdpZAotc2V0cmVzZ2lkCi1zZXRyZXN1aWQKLXNldHJldWlkCi1zZXRybGltaXQKLXNldHNpZAotc2V0c29ja29wdAotc2V0dGltZW9mZGF5Ci1zZXR1aWQKLXNldHV0ZW50Ci1zZXR1dHhlbnQKLXNldHZidWYKLXNldHhhdHRyCi1zZ2V0c3BlbnQKLXNobWF0Ci1zaG1jdGwKLXNobWR0Ci1zaG1nZXQKLXNodXRkb3duCi1zaWdhY3Rpb24KLXNpZ2FkZHNldAotc2lnYWx0c3RhY2sKLXNpZ2Jsb2NrCi1zaWdlbXB0eXNldAotc2lnaG9sZAotc2lnaW50ZXJydXB0Ci1zaWduYWwKLXNpZ3Byb2NtYXNrCi1zaWdzZXQKLXNpZ3NldG1hc2sKLXNpZ3N0YWNrCi1zaWdzdXNwZW5kCi1zaWd2ZWMKLXNucHJpbnRmCi1zb2NrZXQKLXNvY2tldHBhaXIKLXNwcmludGYKLXNyYW5kNDgKLXNyYW5kCi1zcmFuZG9tCi1zc2NhbmYKLXN0YXQKLXN0YXRmcwotc3RhdHZmcwotc3RpbWUKLXN0cGNweQotc3RyY2FzZWNtcAotc3RyY2FzZXN0cgotc3RyY2hyCi1zdHJjaHJudWwKLXN0cmNtcAotc3RyY3Nwbgotc3RyZHVwCi1zdHJlcnJvcgotc3RyZXJyb3Jfcgotc3RyZnRpbWUKLXN0cmxlbgotc3RybmNhc2VjbXAKLXN0cm5jbXAKLXN0cm5kdXAKLXN0cm5sZW4KLXN0cnBicmsKLXN0cnB0aW1lCi1zdHJyY2hyCi1zdHJzZXAKLXN0cnNpZ25hbAotc3Ryc3BuCi1zdHJzdHIKLXN0cnRvZAotc3RydG9pbWF4Ci1zdHJ0b2tfcgotc3RydG9sCi1zdHJ0b2xsCi1zdHJ0b3VsCi1zdHJ0b3VsbAotc3RydG91bWF4Ci1zdHJ2ZXJzY21wCi1zdHJ4ZnJtCi1zeW1saW5rCi1zeW5jCi1zeXNjb25mCi1zeXNjdGwKLXN5c2luZm8KLXN5c2xvZwotX3N5c19zaWdsaXN0Ci1zeXNfc2lnbGlzdAotc3lzdGVtCi10Y2dldGF0dHIKLXRjZ2V0cGdycAotdGNzZXRhdHRyCi10Y3NldHBncnAKLXRpbWUKLXRpbWVnbQotdGltZXMKLXRpbWV6b25lCi10bXBuYW0KLXRvd2xvd2VyCi10b3d1cHBlcgotdHJ1bmNhdGUKLXRzZWFyY2gKLXR0eW5hbWUKLXR6c2V0Ci11bGltaXQKLXVtYXNrCi11bmFtZQotdW5saW5rCi11bnNldGVudgotdW5zaGFyZQotdXBkd3RtcAotdXBkd3RtcHgKLXVzbGVlcAotdXN0YXQKLXV0aW1lCi11dGltZXMKLXV0bXBuYW1lCi11dG1weG5hbWUKLXZhbGxvYwotdmFzcHJpbnRmCi12ZXJyeAotdmZvcmsKLXZmcHJpbnRmCi12ZnNjYW5mCi12aGFuZ3VwCi12cHJpbnRmCi12c25wcmludGYKLXZzcHJpbnRmCi13YWl0Mwotd2FpdDQKLXdhaXRwaWQKLXdjcnRvbWIKLXdjc2NvbGwKLXdjc2R1cAotd2NzbGVuCi13Y3RvYgotd2N0b21iCi13Y3R5cGUKLXdjd2lkdGgKLXdtZW1jaHIKLXdtZW1jcHkKLXdtZW1wY3B5CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL3NpdGVfY29uZmlnL2hlYWRlcnMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL3NpdGVfY29uZmlnL2hlYWRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5ZmVkZWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9zaXRlX2NvbmZpZy9oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEsMTU1ICswLDAgQEAKLWFpby5oCi1hbGxvY2EuaAotYXJnei5oCi1hcnBhL2luZXQuaAotYXJwYS9uYW1lc2VyLmgKLWFzbS9ieXRlb3JkZXIuaAotYXNtL2lvY3Rscy5oCi1hc20vcGFnZS5oCi1hc20vdHlwZXMuaAotYXNzZXJ0LmgKLWJ5dGVzd2FwLmgKLWN0eXBlLmgKLWRpcmVudC5oCi1kbGZjbi5oCi1lbGYuaAotZW5kaWFuLmgKLWVyci5oCi1lcnJuby5oCi1leGVjaW5mby5oCi1mY250bC5oCi1mZWF0dXJlcy5oCi1mbG9hdC5oCi1mc3RhYi5oCi1mdHcuaAotZ2V0b3B0LmgKLWdsb2IuaAotZ3JwLmgKLWljb252LmgKLWlmYWRkcnMuaAotaW50dHlwZXMuaAotbGFuZ2luZm8uaAotbGFzdGxvZy5oCi1saWJnZW4uaAotbGliaW50bC5oCi1saW1pdHMuaAotbGludXgvY2FwYWJpbGl0eS5oCi1saW51eC9mZC5oCi1saW51eC9mcy5oCi1saW51eC9oYXllc2VzcC5oCi1saW51eC9oZHJlZy5oCi1saW51eC9pY21wLmgKLWxpbnV4L2luNi5oCi1saW51eC9qb3lzdGljay5oCi1saW51eC9wdHJhY2UuaAotbGludXgvc2VyaWFsLmgKLWxpbnV4L3NvbnlwaS5oCi1saW51eC91bmlzdGQuaAotbGludXgvdXRzbmFtZS5oCi1saW51eC92ZXJzaW9uLmgKLWxvY2FsZS5oCi1tYWxsb2MuaAotbWF0aC5oCi1tY2hlY2suaAotbWVtb3J5LmgKLW1udGVudC5oCi1tcXVldWUuaAotbmV0ZGIuaAotbmV0L2lmLmgKLW5ldGluZXQvZXRoZXIuaAotbmV0aW5ldC9pbi5oCi1uZXRpbmV0L2lwNi5oCi1uZXRpbmV0L2lwLmgKLW5ldGluZXQvdGNwLmgKLW5ldGluZXQvdWRwLmgKLW5ldGlweC9pcHguaAotbmV0L3JvdXRlLmgKLXBhdGhzLmgKLXBvbGwuaAotcHRocmVhZC5oCi1wdHkuaAotcHdkLmgKLXJlZ2V4LmgKLXJlc29sdi5oCi1ycGMvcnBjLmgKLXJwYy90eXBlcy5oCi1zY2hlZC5oCi1zY3NpL3Njc2kuaAotc2VhcmNoLmgKLXNlbWFwaG9yZS5oCi1zZXRqbXAuaAotc2d0dHkuaAotc2hhZG93LmgKLXNpZ25hbC5oCi1zdGRhcmcuaAotc3RkYm9vbC5oCi1zdGRjCi1zdGRkZWYuaAotc3RkaW50LmgKLXN0ZGlvLmgKLXN0ZGxpYi5oCi1zdHJpbmcuaAotc3RyaW5ncy5oCi1zdHJvcHRzLmgKLXN5cy9iaXR5cGVzLmgKLXN5cy9jZGVmcy5oCi1zeXMvZGlyLmgKLXN5cy9lcG9sbC5oCi1zeXNleGl0cy5oCi1zeXMvZmNudGwuaAotc3lzL2ZpbGUuaAotc3lzL2ZzdWlkLmgKLXN5cy9pb2N0bC5oCi1zeXMvaXBjLmgKLXN5c2xvZy5oCi1zeXMvbW1hbi5oCi1zeXMvbW91bnQuaAotc3lzL210aW8uaAotc3lzL3BhcmFtLmgKLXN5cy9wb2xsLmgKLXN5cy9wcmN0bC5oCi1zeXMvcHRyYWNlLmgKLXN5cy9xdWV1ZS5oCi1zeXMvcmVnLmgKLXN5cy9yZXNvdXJjZS5oCi1zeXMvc2VsZWN0LmgKLXN5cy9zZW0uaAotc3lzL3NobS5oCi1zeXMvc2lnbmFsLmgKLXN5cy9zb2NrZXQuaAotc3lzL3NvY2tldHZhci5oCi1zeXMvc291bmRjYXJkLmgKLXN5cy9zdGF0ZnMuaAotc3lzL3N0YXQuaAotc3lzL3N0YXR2ZnMuaAotc3lzL3N0cm9wdHMuaAotc3lzL3N3YXAuaAotc3lzL3N5c2N0bC5oCi1zeXMvc3lzaW5mby5oCi1zeXMvc3lzbWFjcm9zLmgKLXN5cy90ZXJtaW9zLmgKLXN5cy90aW1lYi5oCi1zeXMvdGltZS5oCi1zeXMvdGltZXMuaAotc3lzL3RpbWV4LmgKLXN5cy90eXBlcy5oCi1zeXMvdWlvLmgKLXN5cy91bi5oCi1zeXMvdW5pc3RkLmgKLXN5cy91c2VyLmgKLXN5cy91dHNuYW1lLmgKLXN5cy92ZnMuaAotc3lzL3dhaXQuaAotdGVybWlvLmgKLXRlcm1pb3MuaAotdGltZS5oCi10dHllbnQuaAotdWxpbWl0LmgKLXVuaXN0ZC5oCi11c3RhdC5oCi11dGltZS5oCi11dG1wLmgKLXV0bXB4LmgKLXZhbHVlcy5oCi13Y2hhci5oCi13Y3R5cGUuaApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9zaXRlX2NvbmZpZy90eXBlcyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvc2l0ZV9jb25maWcvdHlwZXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3OGJkODUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9zaXRlX2NvbmZpZy90eXBlcworKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLWNoYXIKLWNoYXIgKgotZG91YmxlCi1mbG9hdAotaW50Ci1sb25nCi1sb25nIGRvdWJsZQotbG9uZyBpbnQKLWxvbmcgbG9uZwotbG9uZyBsb25nIGludAotc2hvcnQKLXNob3J0IGludAotc2lnbmVkIGNoYXIKLXVuc2lnbmVkIGNoYXIKLXVuc2lnbmVkIGludAotdW5zaWduZWQgbG9uZwotdW5zaWduZWQgbG9uZyBpbnQKLXVuc2lnbmVkIGxvbmcgbG9uZyBpbnQKLXVuc2lnbmVkIHNob3J0Ci11bnNpZ25lZCBzaG9ydCBpbnQKLXZvaWQgKgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbWFnZXMvYnVpbGQtYXBwbGlhbmNlLWltYWdlXzE1LjAuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW1hZ2VzL2J1aWxkLWFwcGxpYW5jZS1pbWFnZV8xNS4wLjAuYmIKaW5kZXggZDlkNmMxZS4uYTU5MzM0ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbWFnZXMvYnVpbGQtYXBwbGlhbmNlLWltYWdlXzE1LjAuMC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2ltYWdlcy9idWlsZC1hcHBsaWFuY2UtaW1hZ2VfMTUuMC4wLmJiCkBAIC0yMiwxMyArMjIsMTQgQEAKIAogaW5oZXJpdCBjb3JlLWltYWdlIG1vZHVsZS1iYXNlIHNldHVwdG9vbHMzCiAKLVNSQ1JFViA/PSAiOWRmZWJkYWY3YWYxMWI2OTAwNjk5NmYzMjUzZTQzNWJjZTBkZmJmYiIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvcG9reTticmFuY2g9dGh1ZCBcCitTUkNSRVYgPz0gImM5NmQ4ZGUzNTJmMjQyZjcwZmY5YzE2NjUwOGMzZDBlNTAxOTk4NzQiCitTUkNfVVJJID0gImdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3Bva3kgXAogICAgICAgICAgICBmaWxlOi8vWW9jdG9fQnVpbGRfQXBwbGlhbmNlLnZteCBcCiAgICAgICAgICAgIGZpbGU6Ly9Zb2N0b19CdWlsZF9BcHBsaWFuY2Uudm14ZiBcCiAgICAgICAgICAgIGZpbGU6Ly9SRUFETUVfVmlydHVhbEJveF9HdWVzdF9BZGRpdGlvbnMudHh0IFwKICAgICAgICAgICAgZmlsZTovL1JFQURNRV9WaXJ0dWFsQm94X1RvYXN0ZXIudHh0IFwKICAgICAgICAgICAiCitSRUNJUEVfTk9fVVBEQVRFX1JFQVNPTiA9ICJSZWNpcGUgaXMgcmVjdXJzaXZlIGFuZCBoYW5kbGVkIGFzIHBhcnQgb2YgdGhlIHJlbGVhc2UgcHJvY2VzcyIKIEJBX0lOQ0xVREVfU09VUkNFUyA/Pz0gIjAiCiAKIElNQUdFX0NNRF9leHQ0X2FwcGVuZCAoKSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvZmlsZXMvaW5pdC1pbnN0YWxsLWVmaS10ZXN0ZnMuc2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvZmlsZXMvaW5pdC1pbnN0YWxsLWVmaS10ZXN0ZnMuc2gKaW5kZXggOWM0YjI2My4uYjM1MTk4NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2ZpbGVzL2luaXQtaW5zdGFsbC1lZmktdGVzdGZzLnNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9maWxlcy9pbml0LWluc3RhbGwtZWZpLXRlc3Rmcy5zaApAQCAtMjcsNyArMjcsNyBAQAogICAgICAgICAgICAgICAgICMgVHJ5IHNsZWVwaW5nIGhlcmUgdG8gYXZvaWQgZ2V0dGluZyBrZXJuZWwgbWVzc2FnZXMKICAgICAgICAgICAgICAgICAjIG9ic2N1cmluZy9jb25mdXNpbmcgdXNlcgogICAgICAgICAgICAgICAgIHNsZWVwIDUKLSAgICAgICAgICAgICAgICBlY2hvICJGb3VuZCBkcml2ZSBhdCAvZGV2LyR7ZGV2aWNlfS4gRG8geW91IHdhbnQgdG8gaW5zdGFsbCB0aGlzIGltYWdlIHRoZXJlID8gW3kvbl0iCisgICAgICAgICAgICAgICAgZWNobyAiRm91bmQgZHJpdmUgYXQgL2Rldi8ke2RldmljZX0uIERvIHlvdSB3YW50IHRvIGluc3RhbGwgdGhpcyBpbWFnZSB0aGVyZT8gW3kvbl0iCiAgICAgICAgICAgICAgICAgcmVhZCBhbnN3ZXIKICAgICAgICAgICAgICAgICBpZiBbICIkYW5zd2VyIiA9ICJ5IiBdIDsgdGhlbgogICAgICAgICAgICAgICAgICAgICBicmVhawpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1ib290XzEuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtYm9vdF8xLjAuYmIKaW5kZXggN2FlNzk2OS4uMjllYzVlYyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1ib290XzEuMC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWJvb3RfMS4wLmJiCkBAIC05LDggKzksMTMgQEAKIAogZG9faW5zdGFsbCgpIHsKICAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaW5pdC1ib290LnNoICR7RH0vaW5pdAorCisgICAgICAgICMgQ3JlYXRlIGRldmljZSBub2RlcyBleHBlY3RlZCBieSBzb21lIGtlcm5lbHMgaW4gaW5pdHJhbWZzCisgICAgICAgICMgYmVmb3JlIGV2ZW4gZXhlY3V0aW5nIC9pbml0LgorICAgICAgICBpbnN0YWxsIC1kICR7RH0vZGV2CisgICAgICAgIG1rbm9kIC1tIDYyMiAke0R9L2Rldi9jb25zb2xlIGMgNSAxCiB9CiAKIGluaGVyaXQgYWxsYXJjaAogCi1GSUxFU18ke1BOfSArPSAiIC9pbml0ICIKK0ZJTEVTXyR7UE59ICs9ICIvaW5pdCAvZGV2L2NvbnNvbGUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWZyYW1ld29yay9pbml0IGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1mcmFtZXdvcmsvaW5pdAppbmRleCAzYzdlMDk0Li5jNzFjZTBjIDEwMDc1NQotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWZyYW1ld29yay9pbml0CisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtZnJhbWV3b3JrL2luaXQKQEAgLTcyLDYgKzcyLDcgQEAKIE1PRFVMRV9QUkVfSE9PS1M9IiIgICMgZnVuY3Rpb25zIHRvIGNhbGwgYmVmb3JlIHJ1bm5pbmcgZWFjaCBtb2R1bGUKIE1PRFVMRV9QT1NUX0hPT0tTPSIiICMgZnVuY3Rpb25zIHRvIGNhbGwgYWZ0ZXIgcnVubmluZyBlYWNoIG1vZHVsZQogTU9EVUxFU19ESVI9L2luaXQuZCAgIyBwbGFjZSB0byBsb29rIGZvciBtb2R1bGVzCitFRklfRElSPS9zeXMvZmlybXdhcmUvZWZpICAjIHBsYWNlIHRvIHN0b3JlIGRldmljZSBmaXJtd2FyZSBpbmZvcm1hdGlvbgogCiAjIG1ha2UgbW91bnQgc3RvcCBjb21wbGFpbmluZyBhYm91dCBtaXNzaW5nIC9ldGMvZnN0YWIKIHRvdWNoIC9ldGMvZnN0YWIKQEAgLTgxLDYgKzgyLDEwIEBACiBtb3VudCAtdCBwcm9jIHByb2MgL3Byb2MKIG1vdW50IC10IHN5c2ZzIHN5c2ZzIC9zeXMKIAoraWYgWyAtZCAkRUZJX0RJUiBdO3RoZW4KKwltb3VudCAtdCBlZml2YXJmcyBub25lIC9zeXMvZmlybXdhcmUvZWZpL2VmaXZhcnMKK2ZpCisKICMgcG9wdWxhdGUgYm9vdHBhcmFtIGVudmlyb25tZW50CiBmb3IgcCBpbiBgY2F0IC9wcm9jL2NtZGxpbmVgOyBkbwogCW9wdD1gZWNobyAkcCB8IGN1dCAtZCc9JyAtZjFgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWZyYW1ld29yay9sdm0gYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWZyYW1ld29yay9sdm0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RlZWNjYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtZnJhbWV3b3JrL2x2bQpAQCAtMCwwICsxLDEzIEBACisjIS9iaW4vc2gKKworbHZtX2VuYWJsZWQoKSB7CisJaWYgISBsdnNjYW4gfGdyZXAgLWkgLXcgImluYWN0aXZlIiAmPi9kZXYvbnVsbDt0aGVuCisJCXJldHVybiAxCisJZmkKKwlyZXR1cm4gMAorfQorCitsdm1fcnVuKCkgeworCWx2bSBwdnNjYW4gLS1jYWNoZSAtLWFjdGl2YXRlIGF5CisJdWRldmFkbSB0cmlnZ2VyIC0tYWN0aW9uPWFkZAorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1mcmFtZXdvcmtfMS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1mcmFtZXdvcmtfMS4wLmJiCmluZGV4IDY2MDM0M2UuLmM1M2EwYzAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtZnJhbWV3b3JrXzEuMC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWZyYW1ld29ya18xLjAuYmIKQEAgLTE3LDYgKzE3LDcgQEAKICAgICAgICAgICAgZmlsZTovL3VkZXYgXAogICAgICAgICAgICBmaWxlOi8vZTJmcyBcCiAgICAgICAgICAgIGZpbGU6Ly9kZWJ1ZyBcCisgICAgICAgICAgIGZpbGU6Ly9sdm0gXAogICAgICAgICAgICIKIAogUyA9ICIke1dPUktESVJ9IgpAQCAtNDUsNiArNDYsOSBAQAogICAgICMgZGVidWcKICAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9kZWJ1ZyAke0R9L2luaXQuZC8wMC1kZWJ1ZwogCisgICAgIyBsdm0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9sdm0gJHtEfS9pbml0LmQvMDktbHZtCisKICAgICAjIENyZWF0ZSBkZXZpY2Ugbm9kZXMgZXhwZWN0ZWQgYnkgc29tZSBrZXJuZWxzIGluIGluaXRyYW1mcwogICAgICMgYmVmb3JlIGV2ZW4gZXhlY3V0aW5nIC9pbml0LgogICAgIGluc3RhbGwgLWQgJHtEfS9kZXYKQEAgLTU5LDYgKzYzLDcgQEAKICAgICAgICAgICAgIGluaXRyYW1mcy1tb2R1bGUtbmZzcm9vdGZzIFwKICAgICAgICAgICAgIGluaXRyYW1mcy1tb2R1bGUtcm9vdGZzIFwKICAgICAgICAgICAgIGluaXRyYW1mcy1tb2R1bGUtZGVidWcgXAorICAgICAgICAgICAgaW5pdHJhbWZzLW1vZHVsZS1sdm0gXAogICAgICAgICAgICAiCiAKIEZJTEVTXyR7UE59LWJhc2UgPSAiL2luaXQgL2luaXQuZC85OS1maW5pc2ggL2RldiIKQEAgLTk4LDMgKzEwMyw3IEBACiBTVU1NQVJZX2luaXRyYW1mcy1tb2R1bGUtZGVidWcgPSAiaW5pdHJhbWZzIGR5bmFtaWMgZGVidWcgc3VwcG9ydCIKIFJERVBFTkRTX2luaXRyYW1mcy1tb2R1bGUtZGVidWcgPSAiJHtQTn0tYmFzZSIKIEZJTEVTX2luaXRyYW1mcy1tb2R1bGUtZGVidWcgPSAiL2luaXQuZC8wMC1kZWJ1ZyIKKworU1VNTUFSWV9pbml0cmFtZnMtbW9kdWxlLWx2bSA9ICJpbml0cmFtZnMgbHZtIHJvb3RmcyBzdXBwb3J0IgorUkRFUEVORFNfaW5pdHJhbWZzLW1vZHVsZS1sdm0gPSAiJHtQTn0tYmFzZSIKK0ZJTEVTX2luaXRyYW1mcy1tb2R1bGUtbHZtID0gIi9pbml0LmQvMDktbHZtIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0c2NyaXB0cy9pbml0c2NyaXB0cy0xLjAvYm9vdG1pc2Muc2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLTEuMC9ib290bWlzYy5zaAppbmRleCBkZjU1M2JjLi41OTE1OTFmIDEwMDc1NQotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLTEuMC9ib290bWlzYy5zaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLTEuMC9ib290bWlzYy5zaApAQCAtOCw3ICs4LDEwIEBACiAjIFNob3J0LURlc2NyaXB0aW9uOiBNaXNjIGFuZCBvdGhlci4KICMjIyBFTkQgSU5JVCBJTkZPCiAKK1RJTUVTVEFNUF9GSUxFPS9ldGMvdGltZXN0YW1wCisKIC4gL2V0Yy9kZWZhdWx0L3JjUworWyAtZiAvZXRjL2RlZmF1bHQvdGltZXN0YW1wIF0gJiYgLiAvZXRjL2RlZmF1bHQvdGltZXN0YW1wCiAjCiAjIFB1dCBhIG5vbG9naW4gZmlsZSBpbiAvZXRjIHRvIHByZXZlbnQgcGVvcGxlIGZyb20gbG9nZ2luZyBpbiBiZWZvcmUKICMgc3lzdGVtIHN0YXJ0dXAgaXMgY29tcGxldGUuCkBAIC02NCwxMCArNjcsMTAgQEAKICMgSWYgdGhlIHRpbWVzdGFtcCBpcyBtb3JlIHJlY2VudCB0aGFuIHRoZSBjdXJyZW50IHRpbWUsCiAjIHVzZSB0aGUgdGltZXN0YW1wIGluc3RlYWQuCiB0ZXN0IC14IC9ldGMvaW5pdC5kL2h3Y2xvY2suc2ggJiYgL2V0Yy9pbml0LmQvaHdjbG9jay5zaCBzdGFydAotaWYgdGVzdCAtZSAvZXRjL3RpbWVzdGFtcAoraWYgdGVzdCAtZSAiJFRJTUVTVEFNUF9GSUxFIgogdGhlbgogCVNZU1RFTURBVEU9YGRhdGUgLXUgKyU0WSUybSUyZCUySCUyTSUyU2AKLQlyZWFkIFRJTUVTVEFNUCA8IC9ldGMvdGltZXN0YW1wCisJcmVhZCBUSU1FU1RBTVAgPCAiJFRJTUVTVEFNUF9GSUxFIgogCWlmIFsgJHtUSU1FU1RBTVB9IC1ndCAkU1lTVEVNREFURSBdOyB0aGVuCiAJCSMgZm9ybWF0IHRoZSB0aW1lc3RhbXAgYXMgZGF0ZSBleHBlY3RzIGl0ICgybTJkMkgyTTRZLjJTKQogCQlUU19ZUj0ke1RJTUVTVEFNUCU/Pz8/Pz8/Pz8/fQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0c2NyaXB0cy9pbml0c2NyaXB0cy0xLjAvc2F2ZS1ydGMuc2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLTEuMC9zYXZlLXJ0Yy5zaAppbmRleCAxNjMyYTVmLi5mZmExZWVlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLTEuMC9zYXZlLXJ0Yy5zaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLTEuMC9zYXZlLXJ0Yy5zaApAQCAtOSw1ICs5LDkgQEAKICMgRGVzY3JpcHRpb246ICAgICAgIAogIyMjIEVORCBJTklUIElORk8KIAorVElNRVNUQU1QX0ZJTEU9L2V0Yy90aW1lc3RhbXAKKworWyAtZiAvZXRjL2RlZmF1bHQvdGltZXN0YW1wIF0gJiYgLiAvZXRjL2RlZmF1bHQvdGltZXN0YW1wCisKICMgVXBkYXRlIHRoZSB0aW1lc3RhbXAKLWRhdGUgLXUgKyU0WSUybSUyZCUySCUyTSUyUyAyPi9kZXYvbnVsbCA+IC9ldGMvdGltZXN0YW1wCitkYXRlIC11ICslNFklMm0lMmQlMkglMk0lMlMgMj4vZGV2L251bGwgPiAiJFRJTUVTVEFNUF9GSUxFIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0c2NyaXB0cy9pbml0c2NyaXB0cy0xLjAvdm9sYXRpbGVzIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0c2NyaXB0cy9pbml0c2NyaXB0cy0xLjAvdm9sYXRpbGVzCmluZGV4IDIwMTEwNjYuLmNkOGE0YmUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtMS4wL3ZvbGF0aWxlcworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLTEuMC92b2xhdGlsZXMKQEAgLTgsNyArOCw3IEBACiAjIFRoZSAjIGNoYXJhY3RlciBpbnRyb2R1Y2VzIGEgY29tbWVudCBsYXN0aW5nIHVudGlsIGVuZCBvZiBsaW5lLgogIyBCbGFuayBsaW5lcyBhcmUgaWdub3JlZC4KICMKLSMgPHR5cGU+IDogZHxmfGwgOiAoZClpcmVjdG9yeXwoZilpbGV8KGwpaW5rCisjIDx0eXBlPiA6IGR8ZnxsfGIgOiAoZClpcmVjdG9yeXwoZilpbGV8KGwpaW5rfChiKWluZAogIwogIyBBIGxpbmtpbmcgZXhhbXBsZToKICMgbCByb290IHJvb3QgMDc3NyAvdmFyL3Rlc3QgL3RtcC90ZXN0ZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9saWJ4Y3J5cHQvbGlieGNyeXB0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9saWJ4Y3J5cHQvbGlieGNyeXB0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiOWFmNmQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2xpYnhjcnlwdC9saWJ4Y3J5cHQuYmIKQEAgLTAsMCArMSwzMCBAQAorU1VNTUFSWSA9ICJFeHRlbmRlZCBjcnlwdG9ncmFwaGljIGxpYnJhcnkgKGZyb20gZ2xpYmMpIgorREVTQ1JJUFRJT04gPSAiRm9ya2VkIGNvZGUgZnJvbSBnbGliYyBsaWJhcnkgdG8gZXh0cmFjdCBvbmx5IGNyeXB0byBwYXJ0LiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9iZXNzZXI4Mi9saWJ4Y3J5cHQiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA/PSAiZmlsZTovL0xJQ0VOU0lORzttZDU9YmUyNzViYzdmOTE2NDJlZmU3NzA5YThhZTdhMTQzM2IgXAorICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitQViA9ICI0LjQuMiIKKyMgdjQuNC4yCitTUkNSRVYgPz0gImNmNmFiZjE4MDgzNTY2ZWMxNjEyYWYyNzk4MmE1MTYwYzllMGYxMzciCitTUkNCUkFOQ0ggPz0gImRldmVsb3AiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9iZXNzZXI4Mi9saWJ4Y3J5cHQuZ2l0O2JyYW5jaD0ke1NSQ0JSQU5DSH0gXAorICAgICAgICAgICAiCisKK1BST1ZJREVTID0gInZpcnR1YWwvY3J5cHQiCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWJjcnlwdCouc28uKiAke2xpYmRpcn0vbGliY3J5cHQtKi5zbyAke2xpYmRpcn0vbGlib3djcnlwdCouc28uKiAke2xpYmRpcn0vbGlib3djcnlwdC0qLnNvIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitCVUlMRF9DUFBGTEFHUyA9ICItSSR7U1RBR0lOR19JTkNESVJfTkFUSVZFfSAtc3RkPWdudTk5IgorVEFSR0VUX0NQUEZMQUdTID0gIi1JJHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtpbmNsdWRlZGlyfSAtV25vLWVycm9yPW1pc3NpbmctYXR0cmlidXRlcyIKK0NQUEZMQUdTX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIC1Xbm8tZXJyb3I9bWlzc2luZy1hdHRyaWJ1dGVzIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbGlieGNyeXB0L2xpYnhjcnlwdF80LjEuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbGlieGNyeXB0L2xpYnhjcnlwdF80LjEuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDY1YWE5Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2xpYnhjcnlwdC9saWJ4Y3J5cHRfNC4xLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1TVU1NQVJZID0gIkV4dGVuZGVkIGNyeXB0b2dyYXBoaWMgbGlicmFyeSAoZnJvbSBnbGliYykiCi1ERVNDUklQVElPTiA9ICJGb3JrZWQgY29kZSBmcm9tIGdsaWJjIGxpYmFyeSB0byBleHRyYWN0IG9ubHkgY3J5cHRvIHBhcnQuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2Jlc3NlcjgyL2xpYnhjcnlwdCIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEiCi1MSUNfRklMRVNfQ0hLU1VNID89ICJmaWxlOi8vTElDRU5TSU5HO21kNT1jYjNjYTRjYWJkMjQ0N2EzN2JmMTg2ZmFkNmY3OTg1MiBcCi0gICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKLSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLVNSQ1JFViA/PSAiMjFiNDU1YjY4YmFhZDI3OWU2YTM5MzZmYWNlZDE2YzVlNTYzNDM3NiIKLVNSQ0JSQU5DSCA/PSAiZGV2ZWxvcCIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2Jlc3NlcjgyL2xpYnhjcnlwdC5naXQ7YnJhbmNoPSR7U1JDQlJBTkNIfSBcCi0gICAgICAgICAgICIKLQotUFJPVklERVMgPSAidmlydHVhbC9jcnlwdCIKLQotRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYmNyeXB0Ki5zby4qICR7bGliZGlyfS9saWJjcnlwdC0qLnNvICR7bGliZGlyfS9saWJvd2NyeXB0Ki5zby4qICR7bGliZGlyfS9saWJvd2NyeXB0LSouc28iCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLUJVSUxEX0NQUEZMQUdTID0gIi1JJHtTVEFHSU5HX0lOQ0RJUl9OQVRJVkV9IC1zdGQ9Z251OTkiCi1UQVJHRVRfQ1BQRkxBR1MgPSAiLUkke1NUQUdJTkdfRElSX1RBUkdFVH0ke2luY2x1ZGVkaXJ9IgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbGlieG1sL2xpYnhtbDJfMi45LjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2xpYnhtbC9saWJ4bWwyXzIuOS44LmJiCmluZGV4IDc0MGJmNTYuLjYyNjQzYmMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbGlieG1sL2xpYnhtbDJfMi45LjguYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9saWJ4bWwvbGlieG1sMl8yLjkuOC5iYgpAQCAtMzgsNyArMzgsNyBAQAogUEFDS0FHRUNPTkZJR1tweXRob25dID0gIi0td2l0aC1weXRob249JHtQWVRIT059LC0td2l0aG91dC1weXRob24scHl0aG9uMyIKIFBBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCiAKLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBiaW5jb25maWctZGlzYWJsZWQgcHRlc3QKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBiaW5jb25maWctZGlzYWJsZWQgcHRlc3QgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCiAKIGluaGVyaXQgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uJywgJ3B5dGhvbjNuYXRpdmUnLCAnJywgZCl9CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbWV0YS90YXJnZXQtc2RrLXByb3ZpZGVzLWR1bW15LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL3RhcmdldC1zZGstcHJvdmlkZXMtZHVtbXkuYmIKaW5kZXggMDE2MGNiOC4uODU0NzJhOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL3RhcmdldC1zZGstcHJvdmlkZXMtZHVtbXkuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL3RhcmdldC1zZGstcHJvdmlkZXMtZHVtbXkuYmIKQEAgLTIwLDYgKzIwLDcgQEAKICAgICBsaWJ4bWwtcGFyc2VyLXBlcmwgXAogICAgIHBlcmwtbW9kdWxlLWJ5dGVzIFwKICAgICBwZXJsLW1vZHVsZS1jYXJwIFwKKyAgICBwZXJsLW1vZHVsZS1jb25maWcgXAogICAgIHBlcmwtbW9kdWxlLWNvbnN0YW50IFwKICAgICBwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciBcCiAgICAgcGVybC1tb2R1bGUtZXJybm8gXApAQCAtMzUsMTEgKzM2LDEyIEBACiAgICAgcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgXAogICAgIHBlcmwtbW9kdWxlLWlvLWZpbGUgXAogICAgIHBlcmwtbW9kdWxlLW92ZXJsb2FkIFwKKyAgICBwZXJsLW1vZHVsZS1vdmVybG9hZGluZyBcCiAgICAgcGVybC1tb2R1bGUtcG9zaXggXAotICAgIHBlcmwtbW9kdWxlLW92ZXJsb2FkIFwKICAgICBwZXJsLW1vZHVsZS10aHJlYWQtcXVldWUgXAogICAgIHBlcmwtbW9kdWxlLXRocmVhZHMgXAogICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzIFwKKyAgICBwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciBcCiAgICAgL2Jpbi9zaCBcCiAgICAgL2Jpbi9iYXNoIFwKICAgICAvdXNyL2Jpbi9lbnYgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tdXNsL2xpYnNzcC1ub25zaGFyZWQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL211c2wvbGlic3NwLW5vbnNoYXJlZC5iYgppbmRleCA0NThlYWZlLi5iYWU4YzgxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL211c2wvbGlic3NwLW5vbnNoYXJlZC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL211c2wvbGlic3NwLW5vbnNoYXJlZC5iYgpAQCAtOCwxNSArOCwxMCBAQAogCiBTUkNfVVJJID0gImZpbGU6Ly9zc3AtbG9jYWwuYyIKIAotUEFUSF9wcmVwZW5kID0gIiR7U1RBR0lOR19CSU5ESVJfVE9PTENIQUlOfS4ke1NUQUdJTkdDQ306IgotCiBJTkhJQklUX0RFRkFVTFRfREVQUyA9ICIxIgogCi1TVEFHSU5HQ0MgPSAiZ2NjLWNyb3NzLWluaXRpYWwtJHtUQVJHRVRfQVJDSH0iCi1TVEFHSU5HQ0NfY2xhc3MtbmF0aXZlc2RrID0gImdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iCi0KIERFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMgXAotICAgICAgICAgICB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MtaW5pdGlhbCBcCisgICAgICAgICAgIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYyBcCiAiCiAKIGRvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL211c2wvbXVzbC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL211c2wvbXVzbC5pbmMKaW5kZXggMzE5NzA5Yi4uODQwOGM1ZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tdXNsL211c2wuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9tdXNsLmluYwpAQCAtMTEsMTQgKzExLDggQEAKIFNFQ1RJT04gPSAibGlicyIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9OGE0YmIyOGY3NzFjODE3ZmU1N2QzYTdjNDI0MGUzYWEiCiAKLVBBVEhfcHJlcGVuZCA9ICIke1NUQUdJTkdfQklORElSX1RPT0xDSEFJTn0uJHtTVEFHSU5HQ0N9OiIKLQogSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKIAotU1RBR0lOR0NDID0gImdjYy1jcm9zcy1pbml0aWFsLSR7VEFSR0VUX0FSQ0h9IgotU1RBR0lOR0NDX2NsYXNzLW5hdGl2ZXNkayA9ICJnY2MtY3Jvc3NzZGstaW5pdGlhbC0ke1NES19TWVN9IgotCi0KIEZJTEVTX1NPTElCU0RFViA9ICIiCiBGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU0RFVn0iCiBJTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL211c2wvbXVzbC8wMDAyLWxkc28tVXNlLXN5c2xpYmRpci1hbmQtbGliZGlyLWFzLWRlZmF1bHQtcGF0aGVzLXRvLWwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL211c2wvbXVzbC8wMDAyLWxkc28tVXNlLXN5c2xpYmRpci1hbmQtbGliZGlyLWFzLWRlZmF1bHQtcGF0aGVzLXRvLWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmE4NzVhNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9tdXNsLzAwMDItbGRzby1Vc2Utc3lzbGliZGlyLWFuZC1saWJkaXItYXMtZGVmYXVsdC1wYXRoZXMtdG8tbC5wYXRjaApAQCAtMCwwICsxLDYxIEBACitGcm9tIDVhMjg4NmY4MWRiY2EzZjJlZDI4ZWViZTdkMjdkNDcxZGEyNzhkYjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTZXJoZXkgUG9wb3Z5Y2ggPHNlcmhlLnBvcG92eWNoQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTEgRGVjIDIwMTggMDU6NDQ6MjAgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gbGRzbzogVXNlIHN5c2xpYmRpciBhbmQgbGliZGlyIGFzIGRlZmF1bHQgcGF0aGVzIHRvIGxpYmRpcnMKKworSW4gYWJzZW5jZSBvZiAvZXRjL2xkLW11c2wtJChBUkNIKS5wYXRoIGxkc28gdXNlcyBkZWZhdWx0IHBhdGggdG8gc2VhcmNoCitsaWJyYXJpZXMgL2xpYjovdXNyL2xvY2FsL2xpYjovdXNyL2xpYi4KKworSG93ZXZlciB0aGlzIHBhdGggaXNuJ3QgcmVsZXZhbnQgaW4gY2FzZSB3aGVuIGxpYnJhcnkgaXMgcHV0IGluIGRpcnMKK2xpa2UgbGliNjQgb3IgbGlieDMyLgorCitBZGp1c3QgQ0ZMQUdTX0FMTCB0byBwYXNzIHN5c2xpYmRpciBhcyBTWVNMSUJESVIgYW5kIGxpYmRpciBhcyBMSUJESVIKK3ByZXByb2Nlc3NvciBtYWNyb3NlcyB0byBjb25zdHJ1Y3QgZGVmYXVsdCBsZHNvIGxpYnJhcnkgc2VhcmNoIHBhdGgKK2luIGxkc28vZHlubGluay5jOjpTWVNfUEFUSF9ERkxULgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IFNlcmhleSBQb3BvdnljaCA8c2VyaGUucG9wb3Z5Y2hAZ21haWwuY29tPgorLS0tCisgTWFrZWZpbGUgICAgICAgfCAzICsrLQorIGxkc28vZHlubGluay5jIHwgNCArKystCisgMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCBiNDZmOGNhNC4uYzA3ZTRhZTggMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC00Niw3ICs0Niw4IEBAIENGTEFHU19BVVRPID0gLU9zIC1waXBlCisgQ0ZMQUdTX0M5OUZTRSA9IC1zdGQ9Yzk5IC1mZnJlZXN0YW5kaW5nIC1ub3N0ZGluYyAKKyAKKyBDRkxBR1NfQUxMID0gJChDRkxBR1NfQzk5RlNFKQorLUNGTEFHU19BTEwgKz0gLURfWE9QRU5fU09VUkNFPTcwMCAtSSQoc3JjZGlyKS9hcmNoLyQoQVJDSCkgLUkkKHNyY2RpcikvYXJjaC9nZW5lcmljIC1Jb2JqL3NyYy9pbnRlcm5hbCAtSSQoc3JjZGlyKS9zcmMvaW5jbHVkZSAtSSQoc3JjZGlyKS9zcmMvaW50ZXJuYWwgLUlvYmovaW5jbHVkZSAtSSQoc3JjZGlyKS9pbmNsdWRlCisrQ0ZMQUdTX0FMTCArPSAtRF9YT1BFTl9TT1VSQ0U9NzAwIC1EU1lTTElCRElSPSciJChzeXNsaWJkaXIpIicgLURMSUJESVI9JyIkKGxpYmRpcikiJworK0NGTEFHU19BTEwgKz0gLUkkKHNyY2RpcikvYXJjaC8kKEFSQ0gpIC1JJChzcmNkaXIpL2FyY2gvZ2VuZXJpYyAtSW9iai9zcmMvaW50ZXJuYWwgLUkkKHNyY2Rpcikvc3JjL2luY2x1ZGUgLUkkKHNyY2Rpcikvc3JjL2ludGVybmFsIC1Jb2JqL2luY2x1ZGUgLUkkKHNyY2RpcikvaW5jbHVkZQorIENGTEFHU19BTEwgKz0gJChDUFBGTEFHUykgJChDRkxBR1NfQVVUTykgJChDRkxBR1MpCisgCisgTERGTEFHU19BTEwgPSAkKExERkxBR1NfQVVUTykgJChMREZMQUdTKQorZGlmZiAtLWdpdCBhL2xkc28vZHlubGluay5jIGIvbGRzby9keW5saW5rLmMKK2luZGV4IGVjOTIxZGZkLi43YzExOWM1NSAxMDA2NDQKKy0tLSBhL2xkc28vZHlubGluay5jCisrKysgYi9sZHNvL2R5bmxpbmsuYworQEAgLTIyLDYgKzIyLDggQEAKKyAjaW5jbHVkZSAiZHlubGluay5oIgorICNpbmNsdWRlICJtYWxsb2NfaW1wbC5oIgorIAorKyNkZWZpbmUgU1lTX1BBVEhfREZMVCBTWVNMSUJESVIgIjoiIExJQkRJUgorKworIHN0YXRpYyB2b2lkIGVycm9yKGNvbnN0IGNoYXIgKiwgLi4uKTsKKyAKKyAjZGVmaW5lIE1BWFAyKGEsYikgKC0oLShhKSYtKGIpKSkKK0BAIC0xMDM4LDcgKzEwNDAsNyBAQCBzdGF0aWMgc3RydWN0IGRzbyAqbG9hZF9saWJyYXJ5KGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBkc28gKm5lZWRlZF9ieSkKKyAJCQkJCXN5c19wYXRoID0gIiI7CisgCQkJCX0KKyAJCQl9CistCQkJaWYgKCFzeXNfcGF0aCkgc3lzX3BhdGggPSAiL2xpYjovdXNyL2xvY2FsL2xpYjovdXNyL2xpYiI7CisrCQkJaWYgKCFzeXNfcGF0aCkgc3lzX3BhdGggPSBTWVNfUEFUSF9ERkxUOworIAkJCWZkID0gcGF0aF9vcGVuKG5hbWUsIHN5c19wYXRoLCBidWYsIHNpemVvZiBidWYpOworIAkJfQorIAkJcGF0aG5hbWUgPSBidWY7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9tdXNsX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9tdXNsX2dpdC5iYgppbmRleCAwZDhmOGViLi4yZDhkYWI5MCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tdXNsL211c2xfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9tdXNsX2dpdC5iYgpAQCAtNCwyMiArNCwyNSBAQAogcmVxdWlyZSBtdXNsLmluYwogaW5oZXJpdCBsaW51eGxvYWRlcgogCi1TUkNSRVYgPSAiYzUwOTg1ZDVjOGUzMTZjNWM0NjRmMzUyZTc5ZWVlYmZlZDExMjFhOSIKK1NSQ1JFViA9ICI0M2U3ZWZiNDY1NTVmMTNhNTU2ZDkyOTQ0YWMwNWMxOWI4OTI5YjYwIgogCi1QViA9ICIxLjEuMjArZ2l0JHtTUkNQVn0iCitCQVNFVkVSID0gIjEuMS4yMSIKKworUFYgPSAiJHtCQVNFVkVSfStnaXQke1NSQ1BWfSIKIAogIyBtaXJyb3IgaXMgYXQgZ2l0Oi8vZ2l0aHViLmNvbS9rcmFqL211c2wuZ2l0CiAKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0Lm11c2wtbGliYy5vcmcvbXVzbCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2UtZHluYW1pYy1saW5rZXItYS1yZWxhdGl2ZS1zeW1saW5rLXRvLWxpYmMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1sZHNvLVVzZS1zeXNsaWJkaXItYW5kLWxpYmRpci1hcy1kZWZhdWx0LXBhdGhlcy10by1sLnBhdGNoIFwKICAgICAgICAgICAiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKLVBST1ZJREVTICs9ICJ2aXJ0dWFsL2xpYmMgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9bGliYy1mb3ItZ2NjIHZpcnR1YWwvbGliaWNvbnYgdmlydHVhbC9saWJpbnRsIHZpcnR1YWwvY3J5cHQiCitQUk9WSURFUyArPSAidmlydHVhbC9saWJjIHZpcnR1YWwvbGliaWNvbnYgdmlydHVhbC9saWJpbnRsIHZpcnR1YWwvY3J5cHQiCiAKIERFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMgXAotICAgICAgICAgICB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MtaW5pdGlhbCBcCisgICAgICAgICAgIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYyBcCiAgICAgICAgICAgIGxpYmdjYy1pbml0aWFsIFwKICAgICAgICAgICAgbGludXgtbGliYy1oZWFkZXJzIFwKICAgICAgICAgICAgYnNkLWhlYWRlcnMgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uY3Vyc2VzL25jdXJzZXMuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uY3Vyc2VzL25jdXJzZXMuaW5jCmluZGV4IDk5ZmM0NzguLjVmMmNjMzUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmN1cnNlcy9uY3Vyc2VzLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25jdXJzZXMvbmN1cnNlcy5pbmMKQEAgLTI2MCw5ICsyNjAsOSBAQAogICAgIGxpYmRpciA9IGQuZXhwYW5kKCIke2xpYmRpcn0iKQogICAgIGJhc2VfbGliZGlyID0gZC5leHBhbmQoIiR7YmFzZV9saWJkaXJ9IikKICAgICBwbmJhc2UgPSBkLmV4cGFuZCgiJHtQTn0tbGliJXMiKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxpYmRpciwgJ15saWIoLiopXC5zb1wuLionLCBwbmJhc2UsICduY3Vyc2VzICVzIGxpYnJhcnknLCBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHMgPSAnJywgYWxsb3dfbGlua3M9VHJ1ZSkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsIHInXmxpYiguKilcLnNvXC4uKicsIHBuYmFzZSwgJ25jdXJzZXMgJXMgbGlicmFyeScsIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcyA9ICcnLCBhbGxvd19saW5rcz1UcnVlKQogICAgIGlmIGxpYmRpciBpcyBub3QgYmFzZV9saWJkaXI6Ci0gICAgICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJhc2VfbGliZGlyLCAnXmxpYiguKilcLnNvXC4uKicsIHBuYmFzZSwgJ25jdXJzZXMgJXMgbGlicmFyeScsIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcyA9ICcnLCBhbGxvd19saW5rcz1UcnVlKQorICAgICAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBiYXNlX2xpYmRpciwgcidebGliKC4qKVwuc29cLi4qJywgcG5iYXNlLCAnbmN1cnNlcyAlcyBsaWJyYXJ5JywgcHJlcGVuZD1UcnVlLCBleHRyYV9kZXBlbmRzID0gJycsIGFsbG93X2xpbmtzPVRydWUpCiB9CiAKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uY3Vyc2VzL25jdXJzZXNfNi4xKzIwMTgwNjMwLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uY3Vyc2VzL25jdXJzZXNfNi4xKzIwMTgwNjMwLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOGZhZjdhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmN1cnNlcy9uY3Vyc2VzXzYuMSsyMDE4MDYzMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLXJlcXVpcmUgbmN1cnNlcy5pbmMKLQotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtdGljLWhhbmcucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDItY29uZmlndXJlLXJlcHJvZHVjaWJsZS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vY29uZmlnLmNhY2hlIFwKLSIKLSMgY29tbWl0IGlkIGNvcnJlc3BvbmRzIHRvIHRoZSByZXZpc2lvbiBpbiBwYWNrYWdlIHZlcnNpb24KLVNSQ1JFViA9ICJkM2IyOTE4MGFlNDM2MGQ3YWI3YTQxYTE1ZTk2MzI5OWZkYjcyZTMzIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLUVYVFJBX09FQ09ORiArPSAiLS13aXRoLWFiaS12ZXJzaW9uPTUiCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICIoP1A8cHZlcj5cZCsoXC5cZCspKyhcK1xkKykqKSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmN1cnNlcy9uY3Vyc2VzXzYuMSsyMDE4MTAxMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmN1cnNlcy9uY3Vyc2VzXzYuMSsyMDE4MTAxMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjZjYTk4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uY3Vyc2VzL25jdXJzZXNfNi4xKzIwMTgxMDEzLmJiCkBAIC0wLDAgKzEsMTEgQEAKK3JlcXVpcmUgbmN1cnNlcy5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtdGljLWhhbmcucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDItY29uZmlndXJlLXJlcHJvZHVjaWJsZS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vY29uZmlnLmNhY2hlIFwKKyIKKyMgY29tbWl0IGlkIGNvcnJlc3BvbmRzIHRvIHRoZSByZXZpc2lvbiBpbiBwYWNrYWdlIHZlcnNpb24KK1NSQ1JFViA9ICI3YTk3YTdmOTM3NzYyYmEzNDJkNWIyZmQ3Y2QwOTA4ODVhODA5ODM1IgorUyA9ICIke1dPUktESVJ9L2dpdCIKK0VYVFJBX09FQ09ORiArPSAiLS13aXRoLWFiaS12ZXJzaW9uPTUgLS1jYWNoZS1maWxlPSR7Qn0vY29uZmlnLmNhY2hlIgorVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSsoXCtcZCspKikiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ldGJhc2UvbmV0YmFzZS9uZXRiYXNlLWFkZC1ycGNiaW5kLWFzLWFuLWFsaWFzLXRvLXN1bnJwYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV0YmFzZS9uZXRiYXNlL25ldGJhc2UtYWRkLXJwY2JpbmQtYXMtYW4tYWxpYXMtdG8tc3VucnBjLnBhdGNoCmluZGV4IDU2YzhkNWIuLjI3YmEyZjYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV0YmFzZS9uZXRiYXNlL25ldGJhc2UtYWRkLXJwY2JpbmQtYXMtYW4tYWxpYXMtdG8tc3VucnBjLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV0YmFzZS9uZXRiYXNlL25ldGJhc2UtYWRkLXJwY2JpbmQtYXMtYW4tYWxpYXMtdG8tc3VucnBjLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA3Njk4OTIwNWExNDExZjE2ZDdhYjA5ZmY5ZDI3OTUzOWE3M2RjMjU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA1MmQ0NmM0ZDFmYmQ0Yzg4ZDY5YzJmY2Y3ODM3YjJmMmJhN2VmNmYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogIk1heGluIEIuIEpvaG4iIDxtYXhpbi5qb2huQGludGVsLmNvbT4KIERhdGU6IFRodSwgMTIgSmFuIDIwMTcgMTY6NTA6NTggKzAyMDAKIFN1YmplY3Q6IFtQQVRDSF0gbmV0YmFzZTogYWRkIHJwY2JpbmQgYXMgYW4gYWxpYXMgdG8gc3VucnBjCkBAIC0xMCw2ICsxMCw3IEBACiAKIFNpZ25lZC1vZmYtYnk6IExpIFdhbmcgPGxpLndhbmdAd2luZHJpdmVyLmNvbT4KIFNpZ25lZC1vZmYtYnk6IE1heGluIEIuIEpvaG4gPG1heGluLmpvaG5AaW50ZWwuY29tPgorCiAtLS0KICBldGMtcnBjICAgICAgfCAyICstCiAgZXRjLXNlcnZpY2VzIHwgNCArKy0tCkBAIC0yOSwxMiArMzAsMTIgQEAKICBydXNlcnNkCQkxMDAwMDIJcnVzZXJzCiAgbmZzCQkxMDAwMDMJbmZzcHJvZwogZGlmZiAtLWdpdCBhL2V0Yy1zZXJ2aWNlcyBiL2V0Yy1zZXJ2aWNlcwotaW5kZXggZTMyMDJlYy4uYTAzOWQ3ZSAxMDA2NDQKK2luZGV4IGZhN2FlMjQuLjEwYmEyYmMgMTAwNjQ0CiAtLS0gYS9ldGMtc2VydmljZXMKICsrKyBiL2V0Yy1zZXJ2aWNlcwotQEAgLTY0LDggKzY0LDggQEAgY3NuZXQtbnMJMTA1L3VkcAkJY3NvLW5zCi0gcnRlbG5ldAkJMTA3L3RjcAkJCQkjIFJlbW90ZSBUZWxuZXQKLSBydGVsbmV0CQkxMDcvdWRwCitAQCAtNTEsOCArNTEsOCBAQCBrZXJiZXJvcwk4OC91ZHAJCWtlcmJlcm9zNSBrcmI1IGtlcmJlcm9zLXNlYwkjIEtlcmJlcm9zIHY1CisgaXNvLXRzYXAJMTAyL3RjcAkJdHNhcAkJIyBwYXJ0IG9mIElTT0RFCisgYWNyLW5lbWEJMTA0L3RjcAkJZGljb20JCSMgRGlnaXRhbCBJbWFnLiAmIENvbW0uIDMwMAogIHBvcDMJCTExMC90Y3AJCXBvcC0zCQkjIFBPUCB2ZXJzaW9uIDMKIC1zdW5ycGMJCTExMS90Y3AJCXBvcnRtYXBwZXIJIyBSUEMgNC4wIHBvcnRtYXBwZXIKIC1zdW5ycGMJCTExMS91ZHAJCXBvcnRtYXBwZXIKQEAgLTQzLDYgKzQ0LDMgQEAKICBhdXRoCQkxMTMvdGNwCQlhdXRoZW50aWNhdGlvbiB0YXAgaWRlbnQKICBzZnRwCQkxMTUvdGNwCiAgbm50cAkJMTE5L3RjcAkJcmVhZG5ld3MgdW50cAkjIFVTRU5FVCBOZXdzIFRyYW5zZmVyIFByb3RvY29sCi0tLSAKLTIuNC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV0YmFzZS9uZXRiYXNlXzUuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV0YmFzZS9uZXRiYXNlXzUuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWFiMGM1OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ldGJhc2UvbmV0YmFzZV81LjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1TVU1NQVJZID0gIkJhc2ljIFRDUC9JUCBuZXR3b3JraW5nIHN1cHBvcnQiCi1ERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgdGhlIG5lY2Vzc2FyeSBpbmZyYXN0cnVjdHVyZSBmb3IgYmFzaWMgVENQL0lQIGJhc2VkIG5ldHdvcmtpbmciCi1IT01FUEFHRSA9ICJodHRwOi8vcGFja2FnZXMuZGViaWFuLm9yZy9uZXRiYXNlIgotU0VDVElPTiA9ICJiYXNlIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PTNkZDYxOTJkMzA2ZjU4MmRlZTc2ODdkYTNkODc0OGFiIgotUEUgPSAiMSIKLQotU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE3MDExMlQwOTM4MTJaL3Bvb2wvbWFpbi9uLyR7QlBOfS8ke0JQTn1fJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovL25ldGJhc2UtYWRkLXJwY2JpbmQtYXMtYW4tYWxpYXMtdG8tc3VucnBjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2hvc3RzIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMTE3Y2I3MGM1NWVmM2MxYzAwMmYxMjc4MTJiMTE0YzEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjZmZjczZDJkMTYyZTJkNDlkYjQzOTg4ZDhiOGNkMzI4Y2Y3ZmZmY2EwNDJkYjczMzk3ZjE0YzcxODI1ZTgwZCIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9uL25ldGJhc2UvIgotZG9faW5zdGFsbCAoKSB7Ci0JaW5zdGFsbCAtZCAke0R9LyR7bWFuZGlyfS9tYW44ICR7RH0ke3N5c2NvbmZkaXJ9Ci0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vaG9zdHMgJHtEfSR7c3lzY29uZmRpcn0vaG9zdHMKLQlpbnN0YWxsIC1tIDA2NDQgZXRjLXJwYyAke0R9JHtzeXNjb25mZGlyfS9ycGMKLQlpbnN0YWxsIC1tIDA2NDQgZXRjLXByb3RvY29scyAke0R9JHtzeXNjb25mZGlyfS9wcm90b2NvbHMKLQlpbnN0YWxsIC1tIDA2NDQgZXRjLXNlcnZpY2VzICR7RH0ke3N5c2NvbmZkaXJ9L3NlcnZpY2VzCi19Ci0KLUNPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L2hvc3RzIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXRiYXNlL25ldGJhc2VfNS42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXRiYXNlL25ldGJhc2VfNS42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhYTQ5NzEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ldGJhc2UvbmV0YmFzZV81LjYuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJCYXNpYyBUQ1AvSVAgbmV0d29ya2luZyBzdXBwb3J0IgorREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHRoZSBuZWNlc3NhcnkgaW5mcmFzdHJ1Y3R1cmUgZm9yIGJhc2ljIFRDUC9JUCBiYXNlZCBuZXR3b3JraW5nIgorSE9NRVBBR0UgPSAiaHR0cDovL3BhY2thZ2VzLmRlYmlhbi5vcmcvbmV0YmFzZSIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT0zZGQ2MTkyZDMwNmY1ODJkZWU3Njg3ZGEzZDg3NDhhYiIKK1BFID0gIjEiCisKK1NSQ19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL24vJHtCUE59LyR7QlBOfV8ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vbmV0YmFzZS1hZGQtcnBjYmluZC1hcy1hbi1hbGlhcy10by1zdW5ycGMucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3YWQxNTYyNzJjNWE0MmY0OWM3MzM4NmZmMzljODYyNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZDkzYTA5OWRlYjI4ODY5YjczMDZlOTE0NzAwZmFmYmQyOTNiNTViZGI1ZGYwNWE1YWE2ZWZmZDBhZjU5MzBjIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL24vbmV0YmFzZS8iCitkb19pbnN0YWxsICgpIHsKKwlpbnN0YWxsIC1kICR7RH0vJHttYW5kaXJ9L21hbjggJHtEfSR7c3lzY29uZmRpcn0KKwlpbnN0YWxsIC1tIDA2NDQgZXRjLXJwYyAke0R9JHtzeXNjb25mZGlyfS9ycGMKKwlpbnN0YWxsIC1tIDA2NDQgZXRjLXByb3RvY29scyAke0R9JHtzeXNjb25mZGlyfS9wcm90b2NvbHMKKwlpbnN0YWxsIC1tIDA2NDQgZXRjLXNlcnZpY2VzICR7RH0ke3N5c2NvbmZkaXJ9L3NlcnZpY2VzCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ld2xpYi9uZXdsaWIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXdsaWIvbmV3bGliLmluYwppbmRleCBjOTdjN2MyLi5mNTBlNWZlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ld2xpYi9uZXdsaWIuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV3bGliL25ld2xpYi5pbmMKQEAgLTIwLDExICsyMCw3IEBACiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzg1NjYzMzVlZTc0ZTVmY2FlYjg1OTViNGViZDA0MDBjNGIwNDNkNmFjYjMyNjNlY2IxMzE0ZjhmNTUwMTMzMiIKIAogSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKLURFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjLWluaXRpYWwiCi0KLVBBVEhfcHJlcGVuZCA9ICIke1NUQUdJTkdfQklORElSX1RPT0xDSEFJTn0uJHtTVEFHSU5HQ0N9OiIKLVNUQUdJTkdDQyA9ICJnY2MtY3Jvc3MtaW5pdGlhbC0ke1RBUkdFVF9BUkNIfSIKLVNUQUdJTkdDQ19jbGFzcy1uYXRpdmVzZGsgPSAiZ2NjLWNyb3Nzc2RrLWluaXRpYWwtJHtTREtfU1lTfSIKK0RFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIgogCiBTID0gIiR7V09SS0RJUn0vbmV3bGliLSR7UFZ9IgogQiA9ICIke1dPUktESVJ9L2J1aWxkIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXdsaWIvbmV3bGliXzMuMC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXdsaWIvbmV3bGliXzMuMC4wLmJiCmluZGV4IDA5MjM4ZmUuLmRiMTM3MjQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV3bGliL25ld2xpYl8zLjAuMC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ld2xpYi9uZXdsaWJfMy4wLjAuYmIKQEAgLTEsNiArMSw2IEBACiByZXF1aXJlIG5ld2xpYi5pbmMKIAotUFJPVklERVMgKz0gInZpcnR1YWwvbGliYyB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1saWJjLWZvci1nY2MgdmlydHVhbC9saWJpY29udiB2aXJ0dWFsL2xpYmludGwiCitQUk9WSURFUyArPSAidmlydHVhbC9saWJjIHZpcnR1YWwvbGliaWNvbnYgdmlydHVhbC9saWJpbnRsIgogCiBkb19jb25maWd1cmUoKSB7CiAJJHtTfS9jb25maWd1cmUgJHtFWFRSQV9PRUNPTkZ9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL29zLXJlbGVhc2Uvb3MtcmVsZWFzZS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvb3MtcmVsZWFzZS9vcy1yZWxlYXNlLmJiCmluZGV4IDdmM2Q5Y2IuLmQ1NzkzYzYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvb3MtcmVsZWFzZS9vcy1yZWxlYXNlLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvb3MtcmVsZWFzZS9vcy1yZWxlYXNlLmJiCkBAIC0zMCw3ICszMCw2IEBACiAgICAgcmV0dXJuIHJldC5sb3dlcigpCiAKIHB5dGhvbiBkb19jb21waWxlICgpIHsKLSAgICBpbXBvcnQgc2h1dGlsCiAgICAgd2l0aCBvcGVuKGQuZXhwYW5kKCcke0J9L29zLXJlbGVhc2UnKSwgJ3cnKSBhcyBmOgogICAgICAgICBmb3IgZmllbGQgaW4gZC5nZXRWYXIoJ09TX1JFTEVBU0VfRklFTERTJykuc3BsaXQoKToKICAgICAgICAgICAgIHZhbHVlID0gZC5nZXRWYXIoZmllbGQpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL292bWYvb3ZtZl9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL292bWYvb3ZtZl9naXQuYmIKaW5kZXggZDJlY2I2MS4uNzE4MjhkOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9vdm1mL292bWZfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvb3ZtZi9vdm1mX2dpdC5iYgpAQCAtNDMsOCArNDMsNyBAQAogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCi1ERVBFTkRTX2NsYXNzLW5hdGl2ZT0idXRpbC1saW51eC1uYXRpdmUgaWFzbC1uYXRpdmUgcWVtdS1uYXRpdmUiCi0KK0RFUEVORFNfY2xhc3MtbmF0aXZlPSJ1dGlsLWxpbnV4LW5hdGl2ZSBpYXNsLW5hdGl2ZSIKIERFUEVORFNfY2xhc3MtdGFyZ2V0PSJvdm1mLW5hdGl2ZSIKIAogREVQRU5EU19hcHBlbmQgPSAiIG5hc20tbmF0aXZlIgpAQCAtMjMyLDYgKzIzMSwxMCBAQAogICAgIGVmaS8gXAogIgogCitERVBMT1lERVAgPSAiIgorREVQTE9ZREVQX2NsYXNzLXRhcmdldCA9ICJxZW11LXN5c3RlbS1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKK2RvX2RlcGxveVtkZXBlbmRzXSArPSAiJHtERVBMT1lERVB9IgorCiBkb19kZXBsb3koKSB7CiB9CiBkb19kZXBsb3lbY2xlYW5kaXJzXSA9ICIke0RFUExPWURJUn0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvbmF0aXZlc2RrLXBhY2thZ2Vncm91cC1zZGstaG9zdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9uYXRpdmVzZGstcGFja2FnZWdyb3VwLXNkay1ob3N0LmJiCmluZGV4IDRiZjBhYzAuLmFlOTg5MDEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9uYXRpdmVzZGstcGFja2FnZWdyb3VwLXNkay1ob3N0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9uYXRpdmVzZGstcGFja2FnZWdyb3VwLXNkay1ob3N0LmJiCkBAIC0yMiw2ICsyMiw3IEBACiAgICAgbmF0aXZlc2RrLXNoYWRvdyBcCiAgICAgbmF0aXZlc2RrLW1ha2VkZXZzIFwKICAgICBuYXRpdmVzZGstY21ha2UgXAorICAgIG5hdGl2ZXNkay1tZXNvbiBcCiAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd3YXlsYW5kJywgJ25hdGl2ZXNkay13YXlsYW5kJywgJycsIGQpfSBcCiAgICAgbmF0aXZlc2RrLXNkay1wcm92aWRlcy1kdW1teSBcCiAgICAgbmF0aXZlc2RrLWJpc29uIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS1zZGsuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtc2RrLmJiCmluZGV4IDQ1ZThjMTMuLjE1ZDA5ODkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS1zZGsuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLXNkay5iYgpAQCAtMjcsNiArMjcsNyBAQAogICAgIHRjbCIKIAogU0FOSVRJWkVSUyA9ICJsaWJhc2FuLWRldiBsaWJ1YnNhbi1kZXYiCitTQU5JVElaRVJTX2FyYyA9ICIiCiBTQU5JVElaRVJTX21pY3JvYmxhemUgPSAiIgogU0FOSVRJWkVSU19taXBzYXJjaCA9ICIiCiBTQU5JVElaRVJTX25pb3MyID0gIiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS10b29scy1wcm9maWxlLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLXRvb2xzLXByb2ZpbGUuYmIKaW5kZXggMzNkOWMwOS4uM2ZkNDIzYyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLXRvb2xzLXByb2ZpbGUuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLXRvb2xzLXByb2ZpbGUuYmIKQEAgLTM3LDE1ICszNywxMyBAQAogCiAjIGx0dG5nLXVzdCB1c2VzIHNjaGVkX2dldGNwdSgpIHdoaWNoIGlzIG5vdCB0aGVyZSBvbiBmb3Igc29tZSBwbGF0Zm9ybXMuCiBMVFROR1VTVCA9ICJsdHRuZy11c3QiCi1MVFROR1VTVF9saWJjLW11c2wgPSAiIgotTFRUTkdVU1RfcmlzY3Y2NCA9ICIiCitMVFROR1VTVF9hcmMgPSAiIgogCiBMVFROR1RPT0xTID0gImx0dG5nLXRvb2xzIgotTFRUTkdUT09MU19saWJjLW11c2wgPSAiIgotTFRUTkdUT09MU19yaXNjdjY0ID0gIiIKK0xUVE5HVE9PTFNfYXJjID0gIiIKIAogTFRUTkdNT0RVTEVTID0gImx0dG5nLW1vZHVsZXMiCi1MVFROR01PRFVMRVNfcmlzY3Y2NCA9ICIiCitMVFROR01PRFVMRVNfYXJjID0gIiIKIAogQkFCRUxUUkFDRSA9ICJiYWJlbHRyYWNlIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtdG9vbHMtdGVzdGFwcHMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtdG9vbHMtdGVzdGFwcHMuYmIKaW5kZXggNjQzMjE5OC4uYTVmYzE1MiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLXRvb2xzLXRlc3RhcHBzLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS10b29scy10ZXN0YXBwcy5iYgpAQCAtMzQsMTIgKzM0LDEwIEBACiAgICAgeHJlc3RvcCBcCiAgICAgeHdpbmluZm8gXAogICAgIHhwcm9wIFwKLSAgICB4dmlkZW8tdGVzdHMgXAogICAgICIKIAogUkRFUEVORFNfJHtQTn0gPSAiXAogICAgIGJsa3Rvb2wgXAotICAgIGxyenN6IFwKICAgICAke0tFWEVDVE9PTFN9IFwKICAgICBhbHNhLXV0aWxzLWFtaXhlciBcCiAgICAgYWxzYS11dGlscy1hcGxheSBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXNlbGYtaG9zdGVkLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1zZWxmLWhvc3RlZC5iYgppbmRleCA5YTY3MjFjLi5iMjk2ZGI1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXNlbGYtaG9zdGVkLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtc2VsZi1ob3N0ZWQuYmIKQEAgLTEyOCw3ICsxMjgsNiBAQAogICAgIGxpYmFpbyBcCiAgICAgbGlidXNiMSBcCiAgICAgbGlieG1sMiBcCi0gICAgbHJ6c3ogXAogICAgIGxzb2YgXAogICAgIGx6byBcCiAgICAgbWFuIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcHNwbGFzaC9wc3BsYXNoX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcHNwbGFzaC9wc3BsYXNoX2dpdC5iYgppbmRleCAzYWQxZWY0Li4zMTYxYTVlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BzcGxhc2gvcHNwbGFzaF9naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wc3BsYXNoL3BzcGxhc2hfZ2l0LmJiCkBAIC03NCw3ICs3NCw2IEBACiBweXRob24gZG9fY29tcGlsZSAoKSB7CiAgICAgaW1wb3J0IHNodXRpbAogICAgIGltcG9ydCBzdWJwcm9jZXNzCi0gICAgaW1wb3J0IHNobGV4CiAKICAgICAjIEJ1aWxkIGEgc2VwYXJhdGUgZXhlY3V0YWJsZSBmb3IgZWFjaCBzcGxhc2ggaW1hZ2UKICAgICB3b3JrZGlyID0gZC5nZXRWYXIoJ1dPUktESVInKQpAQCAtODQsOSArODMsMTAgQEAKICAgICBvdXRwdXRmaWxlcyA9IGQuZ2V0VmFyKCdTUExBU0hfSU5TVEFMTCcpLnNwbGl0KCkKICAgICBmb3IgbG9jYWxmaWxlLCBvdXRwdXRmaWxlIGluIHppcChsb2NhbGZpbGVzLCBvdXRwdXRmaWxlcyk6CiAgICAgICAgIGlmIGxvY2FsZmlsZS5lbmRzd2l0aCgiLnBuZyIpOgotICAgICAgICAgICAgc3VicHJvY2Vzcy5jYWxsKHNobGV4LnNwbGl0KCclcyAlcyBQT0tZJyAlIChjb252ZXJ0c2NyaXB0LCBvcy5wYXRoLmpvaW4od29ya2RpciwgbG9jYWxmaWxlKSkpKQorICAgICAgICAgICAgaWYgc3VicHJvY2Vzcy5jYWxsKFsgY29udmVydHNjcmlwdCwgb3MucGF0aC5qb2luKHdvcmtkaXIsIGxvY2FsZmlsZSksICdQT0tZJyBdLCBjd2Q9d29ya2Rpcik6CisgICAgICAgICAgICAgICAgYmIuZmF0YWwoIkVycm9yIGNhbGxpbmcgY29udmVydCBzY3JpcHQgJyVzJyIgJSAoY29udmVydHNjcmlwdCkpCiAgICAgICAgICAgICBmYmFzZSA9IG9zLnBhdGguc3BsaXRleHQobG9jYWxmaWxlKVswXQotICAgICAgICAgICAgc2h1dGlsLmNvcHlmaWxlKCIlcy1pbWcuaCIgJSBmYmFzZSwgZGVzdGZpbGUpCisgICAgICAgICAgICBzaHV0aWwuY29weWZpbGUob3MucGF0aC5qb2luKHdvcmtkaXIsICIlcy1pbWcuaCIgJSBmYmFzZSksIGRlc3RmaWxlKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2h1dGlsLmNvcHlmaWxlKG9zLnBhdGguam9pbih3b3JrZGlyLCBsb2NhbGZpbGUpLCBkZXN0ZmlsZSkKICAgICAgICAgIyBGb3Igc29tZSByZWFzb24ganVzdCB1cGRhdGluZyB0aGUgaGVhZGVyIGlzIG5vdCBlbm91Z2gsIHdlIGhhdmUgdG8gdG91Y2ggdGhlIC5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3JlYWRsaW5lL3JlYWRsaW5lLTcuMC9jb25maWd1cmUtZml4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9yZWFkbGluZS9yZWFkbGluZS04LjAvY29uZmlndXJlLWZpeC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9yZWFkbGluZS9yZWFkbGluZS03LjAvY29uZmlndXJlLWZpeC5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9yZWFkbGluZS9yZWFkbGluZS04LjAvY29uZmlndXJlLWZpeC5wYXRjaApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9yZWFkbGluZS9yZWFkbGluZS03LjAvbm9ycGF0aC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmUtOC4wL25vcnBhdGgucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmUtNy4wL25vcnBhdGgucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmUtOC4wL25vcnBhdGgucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmVfNy4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9yZWFkbGluZS9yZWFkbGluZV83LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1ZGZhYTYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9yZWFkbGluZS9yZWFkbGluZV83LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLXJlcXVpcmUgcmVhZGxpbmUuaW5jCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9jb25maWd1cmUtZml4LnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9ub3JwYXRoLnBhdGNoIgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIyMDViMDNhODdmYzgzZGFiNjUzYjYyOGM1OWI5ZmM5MSIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjc1MGQ0MzcxODUyODZmNDBhMzY5ZTFlNGY0NzY0ZWRhOTMyYjk0NTliNWVjOWE3MzE2MjgzOTNkZDNkMzIzMzQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3JlYWRsaW5lL3JlYWRsaW5lXzguMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmVfOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5ZDAyMmEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3JlYWRsaW5lL3JlYWRsaW5lXzguMC5iYgpAQCAtMCwwICsxLDcgQEAKK3JlcXVpcmUgcmVhZGxpbmUuaW5jCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9jb25maWd1cmUtZml4LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9ub3JwYXRoLnBhdGNoIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI3ZTZjMWYxNmFlZTMyNDRhNjlhYmE2ZTQzODI5NWNhMyIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImUzMzlmNTE5NzE0NzhkMzY5ZjhhMDUzYTMzMGExOTA3ODFhY2I5ODY0Y2Y0YzU0MTA2MGYxMjA3ODk0OGU0NjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC1ib290XzIzOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLWJvb3RfMjM5LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNDUwZDUyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLWJvb3RfMjM5LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzAgKzAsMCBAQAotcmVxdWlyZSBzeXN0ZW1kLmluYwotRklMRVNFWFRSQVBBVEhTID0uICIke0ZJTEVfRElSTkFNRX0vc3lzdGVtZDoiCi0KLURFUEVORFMgPSAiaW50bHRvb2wtbmF0aXZlIGxpYmNhcCB1dGlsLWxpbnV4IGdudS1lZmkgZ3BlcmYtbmF0aXZlIgotCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMi11c2UtbG5yLXdyYXBwZXItaW5zdGVhZC1vZi1sb29raW5nLWZvci1yZWxhdGl2ZS1vcHRpLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDA2LXJlbW92ZS1ub2JvZHktdXNlci1ncm91cC1jaGVja2luZy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtdG8tcnVuLWVmaV9jYy1hbmQtZWZpX2xkLWNvcnJlY3RseS13aGVuLWNyb3NzLWNvLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1lc29uLXJlbmFtZS1EZGVidWctdG8tRGRlYnVnLWV4dHJhLnBhdGNoIFwKLSAgICAgICAgICAgICIKLQotaW5oZXJpdCBtZXNvbiBwa2djb25maWcgZ2V0dGV4dAotaW5oZXJpdCBkZXBsb3kKLQotRUZJX0NDID89ICIke0NDfSIKLUVYVFJBX09FTUVTT04gKz0gIi1EZWZpPXRydWUgXAotICAgICAgICAgICAgICAgICAgLURnbnUtZWZpPXRydWUgXAotICAgICAgICAgICAgICAgICAgLURlZmktaW5jbHVkZWRpcj0ke1NUQUdJTkdfSU5DRElSfS9lZmkgXAotICAgICAgICAgICAgICAgICAgLURlZmktbGRzZGlyPSR7U1RBR0lOR19MSUJESVJ9IFwKLSAgICAgICAgICAgICAgICAgIC1EZWZpLWxpYmRpcj0ke1NUQUdJTkdfTElCRElSfSBcCi0gICAgICAgICAgICAgICAgICAtRG1hbj1mYWxzZSBcCi0gICAgICAgICAgICAgICAgICAtRGVmaS1jYz0nJHtFRklfQ0N9JyBcCi0gICAgICAgICAgICAgICAgICAtRGVmaS1sZD0nJHtMRH0nIFwKLSAgICAgICAgICAgICAgICAgICIKLQotIyBpbnN0YWxsIHRvIHRoZSBpbWFnZSBhcyBib290Ki5lZmkgaWYgaXRzIHRoZSBFRklfUFJPVklERVIsCi0jIG90aGVyd2lzZSBpbnN0YWxsIGFzIHRoZSBmdWxsIG5hbWUuCi0jIFRoaXMgYWxsb3dzIG11bHRpcGxlIGJvb3Rsb2FkZXJzIHRvIGNvZXhpc3QgaW4gYSBzaW5nbGUgaW1hZ2UuCi1weXRob24gX19hbm9ueW1vdXMgKCkgewotICAgIGltcG9ydCByZQotICAgIHRhcmdldCA9IGQuZ2V0VmFyKCdUQVJHRVRfQVJDSCcpCi0gICAgcHJlZml4ID0gIiIgaWYgZC5nZXRWYXIoJ0VGSV9QUk9WSURFUicpID09ICJzeXN0ZW1kLWJvb3QiIGVsc2UgInN5c3RlbWQtIgotICAgIGlmIHRhcmdldCA9PSAieDg2XzY0IjoKLSAgICAgICAgc3lzdGVtZGltYWdlID0gcHJlZml4ICsgImJvb3R4NjQuZWZpIgotICAgIGVsc2U6Ci0gICAgICAgIHN5c3RlbWRpbWFnZSA9IHByZWZpeCArICJib290aWEzMi5lZmkiCi0gICAgZC5zZXRWYXIoIlNZU1RFTURfQk9PVF9JTUFHRSIsIHN5c3RlbWRpbWFnZSkKLSAgICBwcmVmaXggPSAic3lzdGVtZC0iIGlmIHByZWZpeCA9PSAiIiBlbHNlICIiCi0gICAgZC5zZXRWYXIoIlNZU1RFTURfQk9PVF9JTUFHRV9QUkVGSVgiLCBwcmVmaXgpCi19Ci0KLUZJTEVTXyR7UE59ID0gIi9ib290L0VGSS9CT09ULyR7U1lTVEVNRF9CT09UX0lNQUdFfSIKLQotUkRFUEVORFNfJHtQTn0gKz0gInZpcnR1YWwvc3lzdGVtZC1ib290Y29uZiIKLQotIyBJbXBvcnRlZCBmcm9tIHRoZSBvbGQgZ3VtbWlib290IHJlY2lwZQotVFVORV9DQ0FSR1NfcmVtb3ZlID0gIi1tZnBtYXRoPXNzZSIKLUNPTVBBVElCTEVfSE9TVCA9ICIoeDg2XzY0Lip8aS44Ni4qKS1saW51eCIKLUNPTVBBVElCTEVfSE9TVF94ODYteDMyID0gIm51bGwiCi0KLWRvX2NvbXBpbGUoKSB7Ci0JU1lTVEVNRF9CT09UX0VGSV9BUkNIPSJpYTMyIgotCWlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJ4ODZfNjQiIF07IHRoZW4KLQkJU1lTVEVNRF9CT09UX0VGSV9BUkNIPSJ4NjQiCi0JZmkKLQotCW5pbmphIHNyYy9ib290L2VmaS8ke1NZU1RFTURfQk9PVF9JTUFHRV9QUkVGSVh9JHtTWVNURU1EX0JPT1RfSU1BR0V9Ci19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JaW5zdGFsbCAtZCAke0R9L2Jvb3QKLQlpbnN0YWxsIC1kICR7RH0vYm9vdC9FRkkKLQlpbnN0YWxsIC1kICR7RH0vYm9vdC9FRkkvQk9PVAotCWluc3RhbGwgJHtCfS9zcmMvYm9vdC9lZmkvc3lzdGVtZC1ib290Ki5lZmkgJHtEfS9ib290L0VGSS9CT09ULyR7U1lTVEVNRF9CT09UX0lNQUdFfQotfQotCi1kb19kZXBsb3kgKCkgewotCWluc3RhbGwgJHtCfS9zcmMvYm9vdC9lZmkvc3lzdGVtZC1ib290Ki5lZmkgJHtERVBMT1lESVJ9Ci19Ci1hZGR0YXNrIGRlcGxveSBiZWZvcmUgZG9fYnVpbGQgYWZ0ZXIgZG9fY29tcGlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQtYm9vdF8yNDEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC1ib290XzI0MS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NmU2OGEzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQtYm9vdF8yNDEuYmIKQEAgLTAsMCArMSw3MSBAQAorcmVxdWlyZSBzeXN0ZW1kLmluYworRklMRVNFWFRSQVBBVEhTID0uICIke0ZJTEVfRElSTkFNRX0vc3lzdGVtZDoiCisKK0RFUEVORFMgPSAiaW50bHRvb2wtbmF0aXZlIGxpYmNhcCB1dGlsLWxpbnV4IGdudS1lZmkgZ3BlcmYtbmF0aXZlIgorCisjIE5PVEU6IFRoZXNlIHRocmVlIHBhdGNoZXMgYXJlIGluIHRoZW9yeSBub3QgbmVlZGVkLCBidXQgd2UgaGF2ZW4ndAorIyAgICAgICBmaWd1cmVkIG91dCBob3cgdG8gY29ycmVjdGx5IHBhc3MgZWZpLWNjIHBhcmFtZXRlciBpZiBpdCdzIGFuIGFycmF5LgorU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtUmV2ZXJ0LW1lc29uLXVzZS1hbi1hcnJheS1vcHRpb24tZm9yLWVmaS1jYy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1SZXZlcnQtbWVzb24tcHJpbnQtRUZJLUNDLWNvbmZpZ3VyYXRpb24tbmljZWx5LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC10by1ydW4tZWZpX2NjLWFuZC1lZmlfbGQtY29ycmVjdGx5LXdoZW4tY3Jvc3MtY28ucGF0Y2ggXAorICAgICAgICAgICAgIgorCitpbmhlcml0IG1lc29uIHBrZ2NvbmZpZyBnZXR0ZXh0Citpbmhlcml0IGRlcGxveQorCitFRklfQ0MgPz0gIiR7Q0N9IgorRVhUUkFfT0VNRVNPTiArPSAiLURlZmk9dHJ1ZSBcCisgICAgICAgICAgICAgICAgICAtRGdudS1lZmk9dHJ1ZSBcCisgICAgICAgICAgICAgICAgICAtRGVmaS1pbmNsdWRlZGlyPSR7U1RBR0lOR19JTkNESVJ9L2VmaSBcCisgICAgICAgICAgICAgICAgICAtRGVmaS1sZHNkaXI9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgICAgLURlZmktbGliZGlyPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAgIC1EbWFuPWZhbHNlIFwKKyAgICAgICAgICAgICAgICAgIC1EZWZpLWNjPScke0VGSV9DQ30nIFwKKyAgICAgICAgICAgICAgICAgIC1EZWZpLWxkPScke0xEfScgXAorICAgICAgICAgICAgICAgICAgIgorCisjIGluc3RhbGwgdG8gdGhlIGltYWdlIGFzIGJvb3QqLmVmaSBpZiBpdHMgdGhlIEVGSV9QUk9WSURFUiwKKyMgb3RoZXJ3aXNlIGluc3RhbGwgYXMgdGhlIGZ1bGwgbmFtZS4KKyMgVGhpcyBhbGxvd3MgbXVsdGlwbGUgYm9vdGxvYWRlcnMgdG8gY29leGlzdCBpbiBhIHNpbmdsZSBpbWFnZS4KK3B5dGhvbiBfX2Fub255bW91cyAoKSB7CisgICAgaW1wb3J0IHJlCisgICAgdGFyZ2V0ID0gZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJykKKyAgICBwcmVmaXggPSAiIiBpZiBkLmdldFZhcignRUZJX1BST1ZJREVSJykgPT0gInN5c3RlbWQtYm9vdCIgZWxzZSAic3lzdGVtZC0iCisgICAgaWYgdGFyZ2V0ID09ICJ4ODZfNjQiOgorICAgICAgICBzeXN0ZW1kaW1hZ2UgPSBwcmVmaXggKyAiYm9vdHg2NC5lZmkiCisgICAgZWxzZToKKyAgICAgICAgc3lzdGVtZGltYWdlID0gcHJlZml4ICsgImJvb3RpYTMyLmVmaSIKKyAgICBkLnNldFZhcigiU1lTVEVNRF9CT09UX0lNQUdFIiwgc3lzdGVtZGltYWdlKQorICAgIHByZWZpeCA9ICJzeXN0ZW1kLSIgaWYgcHJlZml4ID09ICIiIGVsc2UgIiIKKyAgICBkLnNldFZhcigiU1lTVEVNRF9CT09UX0lNQUdFX1BSRUZJWCIsIHByZWZpeCkKK30KKworRklMRVNfJHtQTn0gPSAiL2Jvb3QvRUZJL0JPT1QvJHtTWVNURU1EX0JPT1RfSU1BR0V9IgorCitSREVQRU5EU18ke1BOfSArPSAidmlydHVhbC9zeXN0ZW1kLWJvb3Rjb25mIgorCisjIEltcG9ydGVkIGZyb20gdGhlIG9sZCBndW1taWJvb3QgcmVjaXBlCitUVU5FX0NDQVJHU19yZW1vdmUgPSAiLW1mcG1hdGg9c3NlIgorQ09NUEFUSUJMRV9IT1NUID0gIih4ODZfNjQuKnxpLjg2LiopLWxpbnV4IgorQ09NUEFUSUJMRV9IT1NUX3g4Ni14MzIgPSAibnVsbCIKKworZG9fY29tcGlsZSgpIHsKKwlTWVNURU1EX0JPT1RfRUZJX0FSQ0g9ImlhMzIiCisJaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gIng4Nl82NCIgXTsgdGhlbgorCQlTWVNURU1EX0JPT1RfRUZJX0FSQ0g9Ing2NCIKKwlmaQorCisJbmluamEgc3JjL2Jvb3QvZWZpLyR7U1lTVEVNRF9CT09UX0lNQUdFX1BSRUZJWH0ke1NZU1RFTURfQk9PVF9JTUFHRX0KK30KKworZG9faW5zdGFsbCgpIHsKKwlpbnN0YWxsIC1kICR7RH0vYm9vdAorCWluc3RhbGwgLWQgJHtEfS9ib290L0VGSQorCWluc3RhbGwgLWQgJHtEfS9ib290L0VGSS9CT09UCisJaW5zdGFsbCAke0J9L3NyYy9ib290L2VmaS9zeXN0ZW1kLWJvb3QqLmVmaSAke0R9L2Jvb3QvRUZJL0JPT1QvJHtTWVNURU1EX0JPT1RfSU1BR0V9Cit9CisKK2RvX2RlcGxveSAoKSB7CisJaW5zdGFsbCAke0J9L3NyYy9ib290L2VmaS9zeXN0ZW1kLWJvb3QqLmVmaSAke0RFUExPWURJUn0KK30KK2FkZHRhc2sgZGVwbG95IGJlZm9yZSBkb19idWlsZCBhZnRlciBkb19jb21waWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC1jb25mLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQtY29uZl8yNDEuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLWNvbmYuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLWNvbmZfMjQxLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC5pbmMKaW5kZXggNzM2ZTBhMC4uNWJkODhlZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLmluYwpAQCAtMTQsOCArMTQsMTAgQEAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UuR1BMMjttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRS5MR1BMMi4xO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKIAotU1JDUkVWID0gImRlNzQzNmIwMmJhZGM4MjIwMGRjMTI3ZmYxOTBiODE1NTc2OWI4ZTciCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zeXN0ZW1kL3N5c3RlbWQuZ2l0O3Byb3RvY29sPWdpdCIKK1NSQ1JFViA9ICJjMWY4ZmY4ZDBkZTdlMzAzYjgwMDRiMDJhMGE0N2Q0Y2MxMDNhN2Y4IgorU1JDQlJBTkNIID0gInYyNDEtc3RhYmxlIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3N5c3RlbWQvc3lzdGVtZC1zdGFibGUuZ2l0O3Byb3RvY29sPWdpdDticmFuY2g9JHtTUkNCUkFOQ0h9IgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgorCitQVl9hcHBlbmQgPSAiKyR7U1JDUFZ9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1SZW1vdmUtZnN0YWNrLXByb3RlY3Rvci1mbGFncy10by13b3JrYXJvdW5kLW11c2wtYnVpLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1SZW1vdmUtZnN0YWNrLXByb3RlY3Rvci1mbGFncy10by13b3JrYXJvdW5kLW11c2wtYnVpLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNzQ1ODAwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtUmVtb3ZlLWZzdGFjay1wcm90ZWN0b3ItZmxhZ3MtdG8td29ya2Fyb3VuZC1tdXNsLWJ1aS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gOWUzODE2YmNhYTM2ZTFhMTE2NDdjYTBjZjRmODA0NDQ0OWM3N2ZlMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMiBKdWwgMjAxOCAxNToyODoyMiArMDgwMAotU3ViamVjdDogW1BBVENIXSBSZW1vdmUgZnN0YWNrLXByb3RlY3RvciBmbGFncyB0byB3b3JrYXJvdW5kIG11c2wgYnVpbGQKLQotUmVtb3ZlIGZzdGFjay1wcm90ZWN0b3IgYW5kIGZzdGFjay1wcm90ZWN0b3Itc3Ryb25nIGZsYWdzIHRvIGZpeAotdGhlIGZvbGxvd2luZyBidWlsZCBmYWlsdXJlIGZvciBxZW11eDg2IGFuZCBxZW11cHBjIHdpdGggbXVzbC4KLQotICB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX3N0YWNrX2Noa19mYWlsX2xvY2FsJwotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgU3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIG1lc29uLmJ1aWxkIHwgMiAtLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAotaW5kZXggZjQzMmVhMDcyLi5hNzM0YTI5NWMgMTAwNjQ0Ci0tLS0gYS9tZXNvbi5idWlsZAotKysrIGIvbWVzb24uYnVpbGQKLUBAIC0zMzMsOCArMzMzLDYgQEAgcG9zc2libGVfY2NfZmxhZ3MgPSBbCi0gICAgICAgICAnLWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbicsCi0gICAgICAgICAnLWZuby1zdHJpY3QtYWxpYXNpbmcnLAotICAgICAgICAgJy1mdmlzaWJpbGl0eT1oaWRkZW4nLAotLSAgICAgICAgJy1mc3RhY2stcHJvdGVjdG9yJywKLS0gICAgICAgICctZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcnLAotICAgICAgICAgJy0tcGFyYW09c3NwLWJ1ZmZlci1zaXplPTQnLAotIF0KLSAKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtUmV2ZXJ0LW1lc29uLXByaW50LUVGSS1DQy1jb25maWd1cmF0aW9uLW5pY2VseS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtUmV2ZXJ0LW1lc29uLXByaW50LUVGSS1DQy1jb25maWd1cmF0aW9uLW5pY2VseS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDE0ZTI1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1SZXZlcnQtbWVzb24tcHJpbnQtRUZJLUNDLWNvbmZpZ3VyYXRpb24tbmljZWx5LnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gMGJmNTMwYWFjMTUyNjMwNTAwOTM5ZGIzMWY5OGQ5MzMxNThmZGFiZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjYgRmViIDIwMTkgMTQ6Mjc6NDkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gUmV2ZXJ0ICJtZXNvbjogcHJpbnQgRUZJIENDIGNvbmZpZ3VyYXRpb24gbmljZWx5IgorCitUaGlzIHJldmVydHMgY29tbWl0IGM1MTJkZmI5YWM5NDhkZGIxY2VkMGRhYjA3YjlkYWM4OGIxOTgyOTMuCisKK1RoaXMgcGF0Y2ggaXMgaGVyZSBiZWNhdXNlIHdlIGhhdmVuJ3QgZmlndXJlZCBvdXQgaG93IHRvIHBhc3MKK3BhcmFtZXRlciB0byBlZmktY2MgaWYgaXQncyBhbiBhcnJheSBpbiBzeXN0ZW1kLWJvb3QgcmVjaXBlLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBtZXNvbi5idWlsZCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDcwZmIyMTguLjMwZGY4MzQgMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC0zMTM4LDcgKzMxMzgsNyBAQCBpZiBjb25mLmdldCgnRU5BQkxFX0VGSScpID09IDEKKyAgICAgICAgIGlmIGhhdmVfZ251X2VmaQorICAgICAgICAgICAgICAgICBzdGF0dXMgKz0gWworICAgICAgICAgICAgICAgICAgICAgICAgICdFRkkgbWFjaGluZSB0eXBlOiAgICAgICAgICAgICAgICAgIEAwQCcuZm9ybWF0KEVGSV9NQUNISU5FX1RZUEVfTkFNRSksCistICAgICAgICAgICAgICAgICAgICAgICAgJ0VGSSBDQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDBAJy5mb3JtYXQoJyAnLmpvaW4oZWZpX2NjKSksCisrICAgICAgICAgICAgICAgICAgICAgICAgJ0VGSSBDQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQDBAJy5mb3JtYXQoZWZpX2NjKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnRUZJIGxpYiBkaXJlY3Rvcnk6ICAgICAgICAgICAgICAgICBAMEAnLmZvcm1hdChlZmlfbGliZGlyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnRUZJIGxkcyBkaXJlY3Rvcnk6ICAgICAgICAgICAgICAgICBAMEAnLmZvcm1hdChlZmlfbGRzZGlyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnRUZJIGluY2x1ZGUgZGlyZWN0b3J5OiAgICAgICAgICAgICBAMEAnLmZvcm1hdChlZmlfaW5jZGlyKV0KKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1SZXZlcnQtbWVzb24tdXNlLWFuLWFycmF5LW9wdGlvbi1mb3ItZWZpLWNjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1SZXZlcnQtbWVzb24tdXNlLWFuLWFycmF5LW9wdGlvbi1mb3ItZWZpLWNjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkMmViZjYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLVJldmVydC1tZXNvbi11c2UtYW4tYXJyYXktb3B0aW9uLWZvci1lZmktY2MucGF0Y2gKQEAgLTAsMCArMSw3NyBAQAorRnJvbSAwMDMwZGNiYWMxYTkxNzdlZjdhMjhhZjIwOWFjNjcxNDliODk5ZjVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyNiBGZWIgMjAxOSAxNDoxNzoyNSArMDgwMAorU3ViamVjdDogW1BBVENIXSBSZXZlcnQgIm1lc29uOiB1c2UgYW4gYXJyYXkgb3B0aW9uIGZvciBlZmktY2MiCisKK1RoaXMgcmV2ZXJ0cyBjb21taXQgNTk1MzQzZmI0Yzk5YzI2NzlkMzQ3ZWY3YzE5ZGViZmJmZWQ2MzQyZS4KKworVGhpcyBwYXRjaCBpcyBoZXJlIGJlY2F1c2Ugd2UgaGF2ZW4ndCBmaWd1cmVkIG91dCBob3cgdG8gcGFzcworcGFyYW1ldGVyIHRvIGVmaS1jYyBpZiBpdCdzIGFuIGFycmF5IGluIHN5c3RlbWQtYm9vdCByZWNpcGUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIG1lc29uX29wdGlvbnMudHh0ICAgICAgICB8ICAyICstCisgc3JjL2Jvb3QvZWZpL21lc29uLmJ1aWxkIHwgMTEgKysrKysrLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21lc29uX29wdGlvbnMudHh0IGIvbWVzb25fb3B0aW9ucy50eHQKK2luZGV4IDA0NGJiNzkuLjNkMjhiZmQgMTAwNjQ0CistLS0gYS9tZXNvbl9vcHRpb25zLnR4dAorKysrIGIvbWVzb25fb3B0aW9ucy50eHQKK0BAIC0yOTIsNyArMjkyLDcgQEAgb3B0aW9uKCdkYnVzJywgdHlwZSA6ICdjb21ibycsIGNob2ljZXMgOiBbJ2F1dG8nLCAndHJ1ZScsICdmYWxzZSddLAorIAorIG9wdGlvbignZ251LWVmaScsIHR5cGUgOiAnY29tYm8nLCBjaG9pY2VzIDogWydhdXRvJywgJ3RydWUnLCAnZmFsc2UnXSwKKyAgICAgICAgZGVzY3JpcHRpb24gOiAnZ251LWVmaSBzdXBwb3J0IGZvciBzZC1ib290JykKKy1vcHRpb24oJ2VmaS1jYycsIHR5cGUgOiAnYXJyYXknLAorK29wdGlvbignZWZpLWNjJywgdHlwZSA6ICdzdHJpbmcnLAorICAgICAgICBkZXNjcmlwdGlvbiA6ICd0aGUgY29tcGlsZXIgdG8gdXNlIGZvciBFRkkgbW9kdWxlcycpCisgb3B0aW9uKCdlZmktbGQnLCB0eXBlIDogJ3N0cmluZycsCisgICAgICAgIGRlc2NyaXB0aW9uIDogJ3RoZSBsaW5rZXIgdG8gdXNlIGZvciBFRkkgbW9kdWxlcycpCitkaWZmIC0tZ2l0IGEvc3JjL2Jvb3QvZWZpL21lc29uLmJ1aWxkIGIvc3JjL2Jvb3QvZWZpL21lc29uLmJ1aWxkCitpbmRleCAyMTQwMTUxLi5kOGRiM2ExIDEwMDY0NAorLS0tIGEvc3JjL2Jvb3QvZWZpL21lc29uLmJ1aWxkCisrKysgYi9zcmMvYm9vdC9lZmkvbWVzb24uYnVpbGQKK0BAIC0zNCw4ICszNCw4IEBAIHN0dWJfc291cmNlcyA9ICcnJworIAorIGlmIGNvbmYuZ2V0KCdFTkFCTEVfRUZJJykgPT0gMSBhbmQgZ2V0X29wdGlvbignZ251LWVmaScpICE9ICdmYWxzZScKKyAgICAgICAgIGVmaV9jYyA9IGdldF9vcHRpb24oJ2VmaS1jYycpCistICAgICAgICBpZiBlZmlfY2MubGVuZ3RoKCkgPT0gMAorLSAgICAgICAgICAgICAgICBlZmlfY2MgPSBjYy5jbWRfYXJyYXkoKQorKyAgICAgICAgaWYgZWZpX2NjID09ICcnCisrICAgICAgICAgICAgICAgIGVmaV9jYyA9ICcgJy5qb2luKGNjLmNtZF9hcnJheSgpKQorICAgICAgICAgZW5kaWYKKyAgICAgICAgIGVmaV9sZCA9IGdldF9vcHRpb24oJ2VmaS1sZCcpCisgICAgICAgICBpZiBlZmlfbGQgPT0gJycKK0BAIC01Nyw3ICs1Nyw4IEBAIGlmIGNvbmYuZ2V0KCdFTkFCTEVfRUZJJykgPT0gMSBhbmQgZ2V0X29wdGlvbignZ251LWVmaScpICE9ICdmYWxzZScKKyAKKyAgICAgICAgIGVmaV9saWJkaXIgPSBnZXRfb3B0aW9uKCdlZmktbGliZGlyJykKKyAgICAgICAgIGlmIGVmaV9saWJkaXIgPT0gJycKKy0gICAgICAgICAgICAgICAgcmV0ID0gcnVuX2NvbW1hbmQoZWZpX2NjICsgWyctcHJpbnQtbXVsdGktb3MtZGlyZWN0b3J5J10pCisrICAgICAgICAgICAgICAgIGNtZCA9ICdjZCAvdXNyL2xpYi8kKEAwQCAtcHJpbnQtbXVsdGktb3MtZGlyZWN0b3J5KSAmJiBwd2QnLmZvcm1hdChlZmlfY2MpCisrICAgICAgICAgICAgICAgIHJldCA9IHJ1bl9jb21tYW5kKCdzaCcsICctYycsIGNtZCkKKyAgICAgICAgICAgICAgICAgaWYgcmV0LnJldHVybmNvZGUoKSA9PSAwCisgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCA9IGpvaW5fcGF0aHMoJy91c3IvbGliJywgcmV0LnN0ZG91dCgpLnN0cmlwKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gcnVuX2NvbW1hbmQoJ3JlYWxwYXRoJywgJy1lJywgcGF0aCkKK0BAIC0xNTIsNyArMTUzLDcgQEAgaWYgaGF2ZV9nbnVfZWZpCisgICAgICAgICAgICAgICAgIG9fZmlsZSA9IGN1c3RvbV90YXJnZXQoZmlsZSArICcubycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQgOiBmaWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCA6IGZpbGUgKyAnLm8nLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgOiBlZmlfY2MgKyBbJy1jJywgJ0BJTlBVVEAnLCAnLW8nLCAnQE9VVFBVVEAnXQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgOiBbZWZpX2NjLCAnLWMnLCAnQElOUFVUQCcsICctbycsICdAT1VUUFVUQCddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgY29tcGlsZV9hcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZF9maWxlcyA6IGVmaV9oZWFkZXJzKQorICAgICAgICAgICAgICAgICBpZiAoY29tbW9uX3NvdXJjZXMgKyBzeXN0ZW1kX2Jvb3Rfc291cmNlcykuY29udGFpbnMoZmlsZSkKK0BAIC0xNjMsNyArMTY0LDcgQEAgaWYgaGF2ZV9nbnVfZWZpCisgICAgICAgICAgICAgICAgIGVuZGlmCisgICAgICAgICBlbmRmb3JlYWNoCisgCistICAgICAgICBsaWJnY2NfZmlsZV9uYW1lID0gcnVuX2NvbW1hbmQoZWZpX2NjICsgWyctcHJpbnQtbGliZ2NjLWZpbGUtbmFtZSddKS5zdGRvdXQoKS5zdHJpcCgpCisrICAgICAgICBsaWJnY2NfZmlsZV9uYW1lID0gcnVuX2NvbW1hbmQoZWZpX2NjLCAnLXByaW50LWxpYmdjYy1maWxlLW5hbWUnKS5zdGRvdXQoKS5zdHJpcCgpCisgICAgICAgICBzeXN0ZW1kX2Jvb3RfZWZpX25hbWUgPSAnc3lzdGVtZC1ib290QDBALmVmaScuZm9ybWF0KEVGSV9NQUNISU5FX1RZUEVfTkFNRSkKKyAgICAgICAgIHN0dWJfZWZpX25hbWUgPSAnbGludXhAMEAuZWZpLnN0dWInLmZvcm1hdChFRklfTUFDSElORV9UWVBFX05BTUUpCisgICAgICAgICBub191bmRlZmluZWRfc3ltYm9scyA9IGZpbmRfcHJvZ3JhbSgnbm8tdW5kZWZpbmVkLXN5bWJvbHMuc2gnKQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLVJldmVydC1zeXNjdGwuZC1yZXF1ZXN0LUVDTi1vbi1ib3RoLWluLWFuZC1vdXRnb2luZy0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLVJldmVydC1zeXNjdGwuZC1yZXF1ZXN0LUVDTi1vbi1ib3RoLWluLWFuZC1vdXRnb2luZy0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmZDZkMDEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1SZXZlcnQtc3lzY3RsLmQtcmVxdWVzdC1FQ04tb24tYm90aC1pbi1hbmQtb3V0Z29pbmctLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotRnJvbSAxZTE5MGRmZDViYjk1MDM2ZjkzN2VmMWRjNDZmNDNlYjBhMTQ2NjEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhvbWFzIEhpbmRvZSBQYWFib2VsIEFuZGVyc2VuIDxwaG9tZXNAZ21haWwuY29tPgotRGF0ZTogRnJpLCAxNyBBdWcgMjAxOCAyMTozMTowNSArMDIwMAotU3ViamVjdDogW1BBVENIXSBSZXZlcnQgInN5c2N0bC5kOiByZXF1ZXN0IEVDTiBvbiBib3RoIGluIGFuZCBvdXRnb2luZwotIGNvbm5lY3Rpb25zIgotCi1UdXJuaW5nIG9uIEVDTiBzdGlsbCBjYXVzZXMgc2xvdyBvciBicm9rZW4gbmV0d29yayBvbiBsaW51eC4gT3VyIHRjcAotaXMgbm90IHlldCByZWFkeSBmb3Igd2lkZSBzcHJlYWQgdXNlIG9mIEVDTi4KLQotVGhpcyByZXZlcnRzIGNvbW1pdCA5MTk0NzI3NDFkYmE2YWQwYTNmNmMyYjc2ZDM5MGEwMmQwZTJmZGMzLgotCi1odHRwczovL2dpdGh1Yi5jb20vc3lzdGVtZC9zeXN0ZW1kL2lzc3Vlcy85NzQ4Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IEFsZXggS2llcm5hbiA8YWxleC5raWVybmFuQGdtYWlsLmNvbT4KLS0tLQotIHN5c2N0bC5kLzUwLWRlZmF1bHQuY29uZiB8IDMgLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zeXNjdGwuZC81MC1kZWZhdWx0LmNvbmYgYi9zeXNjdGwuZC81MC1kZWZhdWx0LmNvbmYKLWluZGV4IGI2N2FlODdjYTZiNy4uZTI2M2NmMDYyODRhIDEwMDY0NAotLS0tIGEvc3lzY3RsLmQvNTAtZGVmYXVsdC5jb25mCi0rKysgYi9zeXNjdGwuZC81MC1kZWZhdWx0LmNvbmYKLUBAIC0zMyw5ICszMyw2IEBAIG5ldC5pcHY0LmNvbmYuYWxsLnByb21vdGVfc2Vjb25kYXJpZXMgPSAxCi0gIyBGYWlyIFF1ZXVlIENvRGVsIHBhY2tldCBzY2hlZHVsZXIgdG8gZmlnaHQgYnVmZmVyYmxvYXQKLSBuZXQuY29yZS5kZWZhdWx0X3FkaXNjID0gZnFfY29kZWwKLSAKLS0jIFJlcXVlc3QgRXhwbGljaXQgQ29uZ2VzdGlvbiBOb3RpZmljYXRpb24gKEVDTikgb24gYm90aCBpbiBhbmQgb3V0Z29pbmcgY29ubmVjdGlvbnMKLS1uZXQuaXB2NC50Y3BfZWNuID0gMQotLQotICMgRW5hYmxlIGhhcmQgYW5kIHNvZnQgbGluayBwcm90ZWN0aW9uCi0gZnMucHJvdGVjdGVkX2hhcmRsaW5rcyA9IDEKLSBmcy5wcm90ZWN0ZWRfc3ltbGlua3MgPSAxCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtVXNlLWdldGVudi13aGVuLXNlY3VyZS12ZXJzaW9ucy1hcmUtbm90LWF2YWlsYWJsZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtVXNlLWdldGVudi13aGVuLXNlY3VyZS12ZXJzaW9ucy1hcmUtbm90LWF2YWlsYWJsZS5wYXRjaAppbmRleCAwM2Y2ZWFkLi4zNzk3OTc1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLVVzZS1nZXRlbnYtd2hlbi1zZWN1cmUtdmVyc2lvbnMtYXJlLW5vdC1hdmFpbGFibGUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1Vc2UtZ2V0ZW52LXdoZW4tc2VjdXJlLXZlcnNpb25zLWFyZS1ub3QtYXZhaWxhYmxlLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA2ZGQxMzY1MTI4OTY5NzlmZWI2ODgzYTE2MjI2ZDY0MGE3ZTVjYTc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiODA1NWE2MWI1ZGY2YjQzYjhkMzExNzkzNjU4N2I4NzRiMGEzMzliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCAyMyBGZWIgMjAxOCAxMDowNDo0OCArMDgwMAotU3ViamVjdDogW1BBVENIIDAxLzE5XSBVc2UgZ2V0ZW52IHdoZW4gc2VjdXJlIHZlcnNpb25zIGFyZSBub3QgYXZhaWxhYmxlCitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDExOjAxOjE4ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMDEvMjRdIFVzZSBnZXRlbnYgd2hlbiBzZWN1cmUgdmVyc2lvbnMgYXJlIG5vdCBhdmFpbGFibGUKIAogbXVzbCBkb2VzbnQgaW1wbGVtZW50IHNlY3VyZSB2ZXJzaW9uLCBzbyB3ZSBkZWZhdWx0CiB0byBpdCBpZiBjb25maWd1cmUgZG9lcyBub3QgZGV0ZWN0IGEgc2VjdXJlIGltcGxlbWVudGF0aW9uCkBAIC0xMiwxNCArMTIsMTQgQEAKIAogU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgogLS0tCi0gc3JjL2Jhc2ljL21pc3NpbmcuaCB8IDIgKy0KKyBzcmMvYmFzaWMvbWlzc2luZ19zdGRsaWIuaCB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9taXNzaW5nLmggYi9zcmMvYmFzaWMvbWlzc2luZy5oCi1pbmRleCA3MWEwN2QwNTcuLjBlMzNhYmI5ZiAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9taXNzaW5nLmgKLSsrKyBiL3NyYy9iYXNpYy9taXNzaW5nLmgKLUBAIC01OTIsNyArNTkyLDcgQEAgc3RydWN0IGJ0cmZzX2lvY3RsX3F1b3RhX2N0bF9hcmdzIHsKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZ19zdGRsaWIuaCBiL3NyYy9iYXNpYy9taXNzaW5nX3N0ZGxpYi5oCitpbmRleCAxODhhOGQ0Li5jMGZmZTg2IDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL21pc3Npbmdfc3RkbGliLmgKKysrKyBiL3NyYy9iYXNpYy9taXNzaW5nX3N0ZGxpYi5oCitAQCAtOCw2ICs4LDYgQEAKICAjICBpZiBIQVZFX19fU0VDVVJFX0dFVEVOVgogICMgICAgZGVmaW5lIHNlY3VyZV9nZXRlbnYgX19zZWN1cmVfZ2V0ZW52CiAgIyAgZWxzZQpAQCAtMjcsNyArMjcsNiBAQAogKyMgICAgZGVmaW5lIHNlY3VyZV9nZXRlbnYgZ2V0ZW52CiAgIyAgZW5kaWYKICAjZW5kaWYKLSAKIC0tIAotMi4xMS4wCisyLjcuNAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWJpbmZtdC1Eb24tdC1pbnN0YWxsLWRlcGVuZGVuY3ktbGlua3MtYXQtaW5zdGFsbC10aW0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWJpbmZtdC1Eb24tdC1pbnN0YWxsLWRlcGVuZGVuY3ktbGlua3MtYXQtaW5zdGFsbC10aW0ucGF0Y2gKaW5kZXggZTI0ZTdmOC4uMDA2NzBjYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1iaW5mbXQtRG9uLXQtaW5zdGFsbC1kZXBlbmRlbmN5LWxpbmtzLWF0LWluc3RhbGwtdGltLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtYmluZm10LURvbi10LWluc3RhbGwtZGVwZW5kZW5jeS1saW5rcy1hdC1pbnN0YWxsLXRpbS5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gODdkZDYxYmUyZTI4ZTc4Y2U0ZjlmMTczNzk0ODEyZTZjMmQ5MDRkMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gOTgyNTRlNDc5OGU3OWQ1MmFjNmI1NjI2MTZjZDI0NDEyMGY2ZTIzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMjcgSnVuIDIwMTggMTY6MDE6MjIgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzldIGJpbmZtdDogRG9uJ3QgaW5zdGFsbCBkZXBlbmRlbmN5IGxpbmtzIGF0IGluc3RhbGwgdGltZSAKK0RhdGU6IFRodSwgMjEgRmViIDIwMTkgMTY6MjM6MjQgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzVdIGJpbmZtdDogRG9uJ3QgaW5zdGFsbCBkZXBlbmRlbmN5IGxpbmtzIGF0IGluc3RhbGwgdGltZSAKICBmb3IgdGhlIGJpbmZtdCBzZXJ2aWNlcwogCiB1c2UgW0luc3RhbGxdIGJsb2NrcyBzbyB0aGF0IHRoZXkgZ2V0IGNyZWF0ZWQgd2hlbiB0aGUgc2VydmljZSBpcyBlbmFibGVkCkBAIC0yMywxMCArMjMsMTAgQEAKICAzIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3VuaXRzL21lc29uLmJ1aWxkIGIvdW5pdHMvbWVzb24uYnVpbGQKLWluZGV4IGU0YWM2Y2VkNi4uNjk4NzM0ZTQ0IDEwMDY0NAoraW5kZXggZDY5NTA4NC4uN2IxZjE0YSAxMDA2NDQKIC0tLSBhL3VuaXRzL21lc29uLmJ1aWxkCiArKysgYi91bml0cy9tZXNvbi5idWlsZAotQEAgLTQ2LDggKzQ2LDcgQEAgdW5pdHMgPSBbCitAQCAtNDcsOCArNDcsNyBAQCB1bml0cyA9IFsKICAgICAgICAgIFsncG93ZXJvZmYudGFyZ2V0JywgICAgICAgICAgICAgICAgICAgICAnJywKICAgICAgICAgICAncnVubGV2ZWwwLnRhcmdldCddLAogICAgICAgICAgWydwcmludGVyLnRhcmdldCcsICAgICAgICAgICAgICAgICAgICAgICcnXSwKQEAgLTM2LDE4ICszNiwxOCBAQAogICAgICAgICAgWydwcm9jLXN5cy1mcy1iaW5mbXRfbWlzYy5tb3VudCcsICAgICAgICdFTkFCTEVfQklORk1UJ10sCiAgICAgICAgICBbJ3JlYm9vdC50YXJnZXQnLCAgICAgICAgICAgICAgICAgICAgICAgJycsCiAgICAgICAgICAgJ3J1bmxldmVsNi50YXJnZXQgY3RybC1hbHQtZGVsLnRhcmdldCddLAotQEAgLTEzMCw4ICsxMjksNyBAQCBpbl91bml0cyA9IFsKK0BAIC0xMzQsOCArMTMzLDcgQEAgaW5fdW5pdHMgPSBbCiAgICAgICAgICBbJ3N5c3RlbWQtYXNrLXBhc3N3b3JkLWNvbnNvbGUuc2VydmljZScsICcnXSwKICAgICAgICAgIFsnc3lzdGVtZC1hc2stcGFzc3dvcmQtd2FsbC5zZXJ2aWNlJywgICAgJyddLAogICAgICAgICAgWydzeXN0ZW1kLWJhY2tsaWdodEAuc2VydmljZScsICAgICAgICAgICAnRU5BQkxFX0JBQ0tMSUdIVCddLAogLSAgICAgICAgWydzeXN0ZW1kLWJpbmZtdC5zZXJ2aWNlJywgICAgICAgICAgICAgICAnRU5BQkxFX0JJTkZNVCcsCiAtICAgICAgICAgJ3N5c2luaXQudGFyZ2V0LndhbnRzLyddLAogKyAgICAgICAgWydzeXN0ZW1kLWJpbmZtdC5zZXJ2aWNlJywgICAgICAgICAgICAgICAnRU5BQkxFX0JJTkZNVCddLAorICAgICAgICAgWydzeXN0ZW1kLWJsZXNzLWJvb3Quc2VydmljZScsICAgICAgICAgICAnRU5BQkxFX0VGSSBIQVZFX0JMS0lEJ10sCisgICAgICAgICBbJ3N5c3RlbWQtYm9vdC1jaGVjay1uby1mYWlsdXJlcy5zZXJ2aWNlJywgJyddLAogICAgICAgICAgWydzeXN0ZW1kLWNvcmVkdW1wQC5zZXJ2aWNlJywgICAgICAgICAgICAnRU5BQkxFX0NPUkVEVU1QJ10sCi0gICAgICAgICBbJ3N5c3RlbWQtZXhpdC5zZXJ2aWNlJywgICAgICAgICAgICAgICAgICcnXSwKLSAgICAgICAgIFsnc3lzdGVtZC1maXJzdGJvb3Quc2VydmljZScsICAgICAgICAgICAgJ0VOQUJMRV9GSVJTVEJPT1QnLAogZGlmZiAtLWdpdCBhL3VuaXRzL3Byb2Mtc3lzLWZzLWJpbmZtdF9taXNjLmF1dG9tb3VudCBiL3VuaXRzL3Byb2Mtc3lzLWZzLWJpbmZtdF9taXNjLmF1dG9tb3VudAotaW5kZXggMzBhNmJjOTkxLi40MjMxZjNiNzAgMTAwNjQ0CitpbmRleCAzMGE2YmM5Li40MjMxZjNiIDEwMDY0NAogLS0tIGEvdW5pdHMvcHJvYy1zeXMtZnMtYmluZm10X21pc2MuYXV0b21vdW50CiArKysgYi91bml0cy9wcm9jLXN5cy1mcy1iaW5mbXRfbWlzYy5hdXRvbW91bnQKIEBAIC0xOCwzICsxOCw2IEBAIENvbmRpdGlvblBhdGhJc1JlYWRXcml0ZT0vcHJvYy9zeXMvCkBAIC01OCw3ICs1OCw3IEBACiArW0luc3RhbGxdCiArV2FudGVkQnk9c3lzaW5pdC50YXJnZXQKIGRpZmYgLS1naXQgYS91bml0cy9zeXN0ZW1kLWJpbmZtdC5zZXJ2aWNlLmluIGIvdW5pdHMvc3lzdGVtZC1iaW5mbXQuc2VydmljZS5pbgotaW5kZXggZTk0MGM3YzlhLi42YmU3ZjVjYzkgMTAwNjQ0CitpbmRleCBlOTQwYzdjLi42YmU3ZjVjIDEwMDY0NAogLS0tIGEvdW5pdHMvc3lzdGVtZC1iaW5mbXQuc2VydmljZS5pbgogKysrIGIvdW5pdHMvc3lzdGVtZC1iaW5mbXQuc2VydmljZS5pbgogQEAgLTE0LDYgKzE0LDcgQEAgRG9jdW1lbnRhdGlvbj1odHRwczovL3d3dy5rZXJuZWwub3JnL2RvYy9odG1sL2xhdGVzdC9hZG1pbi1ndWlkZS9iaW5mbXQtbWlzYy5odG0KQEAgLTc3LDUgKzc3LDUgQEAKICtbSW5zdGFsbF0KICtXYW50ZWRCeT1zeXNpbml0LnRhcmdldAogLS0gCi0yLjExLjAKKzIuNy40CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtY2hvd24tcmVjdXJzaXZlLWxldC1zLXJld29yay10aGUtcmVjdXJzaXZlLWxvZ2ljLXRvLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtY2hvd24tcmVjdXJzaXZlLWxldC1zLXJld29yay10aGUtcmVjdXJzaXZlLWxvZ2ljLXRvLS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQzNTBlYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWNob3duLXJlY3Vyc2l2ZS1sZXQtcy1yZXdvcmstdGhlLXJlY3Vyc2l2ZS1sb2dpYy10by0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMTkgKzAsMCBAQAotRnJvbSAyZGE4YmEzZjUwNzM0NWQwNDAxZWE5ZDcxOTFmYTE2ZmZhNTYwZWJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgotRGF0ZTogRnJpLCAxOSBPY3QgMjAxOCAxMToyNjo1OSArMDIwMAotU3ViamVjdDogW1BBVENIXSBjaG93bi1yZWN1cnNpdmU6IGxldCdzIHJld29yayB0aGUgcmVjdXJzaXZlIGxvZ2ljIHRvIHVzZQotIE9fUEFUSAotCi1UaGF0IHdheSB3ZSBjYW4gcGluIGEgc3BlY2lmaWMgaW5vZGUgYW5kIGFuYWx5emUgaXQgYW5kIG1hbmlwdWxhdGUgaXQKLXdpdGhvdXQgaXQgYmVpbmcgc3dhcHBlZCBvdXQgYmVuZWF0aCBvdXIgaGFuZHMuCi0KLUZpeGVzIGEgdnVsbmVyYWJpbGl0eSBvcmlnaW5hbGx5IGZvdW5kIGJ5IEphbm4gSG9ybiBmcm9tIEdvb2dsZS4KLQotQ1ZFLTIwMTgtMTU2ODcKLUxQOiAjMTc5NjY5MgotaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xNjM5MDc2Ci0KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDVkZTZjY2U1OGIzZThiNzkyMzliNmU4MzY1MzQ1OWQ5MWFmNmU1N2MpCi0KLUNWRTogQ1ZFLTIwMTgtMTU2ODcKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2NvcmUvY2hvd24tcmVjdXJzaXZlLmMgfCAxNDYgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDc2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NvcmUvY2hvd24tcmVjdXJzaXZlLmMgYi9zcmMvY29yZS9jaG93bi1yZWN1cnNpdmUuYwotaW5kZXggYzQ3OTQ1MC4uMjdjNjQ0OCAxMDA2NDQKLS0tLSBhL3NyYy9jb3JlL2Nob3duLXJlY3Vyc2l2ZS5jCi0rKysgYi9zcmMvY29yZS9jaG93bi1yZWN1cnNpdmUuYwotQEAgLTEsMTcgKzEsMTkgQEAKLSAvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTEdQTC0yLjErICovCi0gCi0tI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotLSNpbmNsdWRlIDxzeXMvc3RhdC5oPgotICNpbmNsdWRlIDxmY250bC5oPgotKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgotKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAKLS0jaW5jbHVkZSAidXNlci11dGlsLmgiCi0tI2luY2x1ZGUgIm1hY3JvLmgiCi0tI2luY2x1ZGUgImZkLXV0aWwuaCIKLS0jaW5jbHVkZSAiZGlyZW50LXV0aWwuaCIKLSAjaW5jbHVkZSAiY2hvd24tcmVjdXJzaXZlLmgiCi0rI2luY2x1ZGUgImRpcmVudC11dGlsLmgiCi0rI2luY2x1ZGUgImZkLXV0aWwuaCIKLSsjaW5jbHVkZSAibWFjcm8uaCIKLSsjaW5jbHVkZSAic3RkaW8tdXRpbC5oIgotKyNpbmNsdWRlICJzdHJ2LmgiCi0rI2luY2x1ZGUgInVzZXItdXRpbC5oIgotIAotLXN0YXRpYyBpbnQgY2hvd25fb25lKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3Qgc3RydWN0IHN0YXQgKnN0LCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgewotLSAgICAgICAgaW50IHI7Ci0rc3RhdGljIGludCBjaG93bl9vbmUoaW50IGZkLCBjb25zdCBzdHJ1Y3Qgc3RhdCAqc3QsIHVpZF90IHVpZCwgZ2lkX3QgZ2lkKSB7Ci0rICAgICAgICBjaGFyIHByb2Nmc19wYXRoW1NUUkxFTigiL3Byb2Mvc2VsZi9mZC8iKSArIERFQ0lNQUxfU1RSX01BWChpbnQpICsgMV07Ci0gCi0gICAgICAgICBhc3NlcnQoZmQgPj0gMCk7Ci0gICAgICAgICBhc3NlcnQoc3QpOwotQEAgLTIwLDkwICsyMiw4MiBAQCBzdGF0aWMgaW50IGNob3duX29uZShpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IHN0cnVjdCBzdGF0ICpzdCwgdWlkX3QgdWlkLAotICAgICAgICAgICAgICghZ2lkX2lzX3ZhbGlkKGdpZCkgfHwgc3QtPnN0X2dpZCA9PSBnaWQpKQotICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAKLS0gICAgICAgIGlmIChuYW1lKQotLSAgICAgICAgICAgICAgICByID0gZmNob3duYXQoZmQsIG5hbWUsIHVpZCwgZ2lkLCBBVF9TWU1MSU5LX05PRk9MTE9XKTsKLS0gICAgICAgIGVsc2UKLS0gICAgICAgICAgICAgICAgciA9IGZjaG93bihmZCwgdWlkLCBnaWQpOwotLSAgICAgICAgaWYgKHIgPCAwKQotLSAgICAgICAgICAgICAgICByZXR1cm4gLWVycm5vOwotKyAgICAgICAgLyogV2UgY2hhbmdlIG93bmVyc2hpcCB0aHJvdWdoIHRoZSAvcHJvYy9zZWxmL2ZkLyVpIHBhdGgsIHNvIHRoYXQgd2UgaGF2ZSBhIHN0YWJsZSByZWZlcmVuY2UgdGhhdCB3b3JrcyB3aXRoCi0rICAgICAgICAgKiBPX1BBVEguIChOb3RlOiBmY2hvd24oKSBhbmQgZmNobW9kKCkgZG8gbm90IHdvcmsgd2l0aCBPX1BBVEgsIHRoZSBrZXJuZWwgcmVmdXNlcyB0aGF0LiAqLwotKyAgICAgICAgeHNwcmludGYocHJvY2ZzX3BhdGgsICIvcHJvYy9zZWxmL2ZkLyVpIiwgZmQpOwotIAotLSAgICAgICAgLyogVGhlIGxpbnV4IGtlcm5lbCBhbHRlcnMgdGhlIG1vZGUgaW4gc29tZSBjYXNlcyBvZiBjaG93bigpLiBMZXQncyB1bmRvIHRoaXMuICovCi0tICAgICAgICBpZiAobmFtZSkgewotLSAgICAgICAgICAgICAgICBpZiAoIVNfSVNMTksoc3QtPnN0X21vZGUpKQotLSAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBmY2htb2RhdChmZCwgbmFtZSwgc3QtPnN0X21vZGUsIDApOwotLSAgICAgICAgICAgICAgICBlbHNlIC8qIFRoZXJlJ3MgY3VycmVudGx5IG5vIEFUX1NZTUxJTktfTk9GT0xMT1cgZm9yIGZjaG1vZGF0KCkgKi8KLS0gICAgICAgICAgICAgICAgICAgICAgICByID0gMDsKLS0gICAgICAgIH0gZWxzZQotLSAgICAgICAgICAgICAgICByID0gZmNobW9kKGZkLCBzdC0+c3RfbW9kZSk7Ci0tICAgICAgICBpZiAociA8IDApCi0rICAgICAgICBpZiAoY2hvd24ocHJvY2ZzX3BhdGgsIHVpZCwgZ2lkKSA8IDApCi0gICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87Ci0gCi0rICAgICAgICAvKiBUaGUgbGludXgga2VybmVsIGFsdGVycyB0aGUgbW9kZSBpbiBzb21lIGNhc2VzIG9mIGNob3duKCkuIExldCdzIHVuZG8gdGhpcy4gV2UgZG8gdGhpcyBvbmx5IGZvciBub24tc3ltbGlua3MKLSsgICAgICAgICAqIGhvd2V2ZXIuIFRoYXQncyBiZWNhdXNlIGZvciBzeW1saW5rcyB0aGUgYWNjZXNzIG1vZGUgaXMgaWdub3JlZCBhbnl3YXkgYW5kIGJlY2F1c2Ugb24gc29tZSBrZXJuZWxzL2ZpbGUKLSsgICAgICAgICAqIHN5c3RlbXMgdHJ5aW5nIHRvIGNoYW5nZSB0aGUgYWNjZXNzIG1vZGUgd2lsbCBzdWNjZWVkIGJ1dCBoYXMgbm8gZWZmZWN0IHdoaWxlIG9uIG90aGVycyBpdCBhY3RpdmVseQotKyAgICAgICAgICogZmFpbHMuICovCi0rICAgICAgICBpZiAoIVNfSVNMTksoc3QtPnN0X21vZGUpKQotKyAgICAgICAgICAgICAgICBpZiAoY2htb2QocHJvY2ZzX3BhdGgsIHN0LT5zdF9tb2RlICYgMDc3NzcpIDwgMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLWVycm5vOwotKwotICAgICAgICAgcmV0dXJuIDE7Ci0gfQotIAotIHN0YXRpYyBpbnQgY2hvd25fcmVjdXJzaXZlX2ludGVybmFsKGludCBmZCwgY29uc3Qgc3RydWN0IHN0YXQgKnN0LCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgewotKyAgICAgICAgX2NsZWFudXBfY2xvc2VkaXJfIERJUiAqZCA9IE5VTEw7Ci0gICAgICAgICBib29sIGNoYW5nZWQgPSBmYWxzZTsKLSsgICAgICAgIHN0cnVjdCBkaXJlbnQgKmRlOwotICAgICAgICAgaW50IHI7Ci0gCi0gICAgICAgICBhc3NlcnQoZmQgPj0gMCk7Ci0gICAgICAgICBhc3NlcnQoc3QpOwotIAotLSAgICAgICAgaWYgKFNfSVNESVIoc3QtPnN0X21vZGUpKSB7Ci0tICAgICAgICAgICAgICAgIF9jbGVhbnVwX2Nsb3NlZGlyXyBESVIgKmQgPSBOVUxMOwotLSAgICAgICAgICAgICAgICBzdHJ1Y3QgZGlyZW50ICpkZTsKLS0KLS0gICAgICAgICAgICAgICAgZCA9IGZkb3BlbmRpcihmZCk7Ci0tICAgICAgICAgICAgICAgIGlmICghZCkgewotLSAgICAgICAgICAgICAgICAgICAgICAgIHIgPSAtZXJybm87Ci0tICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7Ci0tICAgICAgICAgICAgICAgIH0KLS0gICAgICAgICAgICAgICAgZmQgPSAtMTsKLS0KLS0gICAgICAgICAgICAgICAgRk9SRUFDSF9ESVJFTlRfQUxMKGRlLCBkLCByID0gLWVycm5vOyBnb3RvIGZpbmlzaCkgewotLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzdGF0IGZzdDsKLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZG90X29yX2RvdF9kb3QoZGUtPmRfbmFtZSkpCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZnN0YXRhdChkaXJmZChkKSwgZGUtPmRfbmFtZSwgJmZzdCwgQVRfU1lNTElOS19OT0ZPTExPVykgPCAwKSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gLWVycm5vOwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgfQotLQotLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTX0lTRElSKGZzdC5zdF9tb2RlKSkgewotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN1YmRpcl9mZDsKLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YmRpcl9mZCA9IG9wZW5hdChkaXJmZChkKSwgZGUtPmRfbmFtZSwgT19SRE9OTFl8T19OT05CTE9DS3xPX0RJUkVDVE9SWXxPX0NMT0VYRUN8T19OT0ZPTExPV3xPX05PQVRJTUUpOwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1YmRpcl9mZCA8IDApIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC1lcnJubzsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gY2hvd25fcmVjdXJzaXZlX2ludGVybmFsKHN1YmRpcl9mZCwgJmZzdCwgdWlkLCBnaWQpOwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZpbmlzaDsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyID4gMCkKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBjaG93bl9vbmUoZGlyZmQoZCksIGRlLT5kX25hbWUsICZmc3QsIHVpZCwgZ2lkKTsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA+IDApCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlOwotLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSsgICAgICAgIGQgPSBmZG9wZW5kaXIoZmQpOwotKyAgICAgICAgaWYgKCFkKSB7Ci0rICAgICAgICAgICAgICAgIHNhZmVfY2xvc2UoZmQpOwotKyAgICAgICAgICAgICAgICByZXR1cm4gLWVycm5vOwotKyAgICAgICAgfQotKwotKyAgICAgICAgRk9SRUFDSF9ESVJFTlRfQUxMKGRlLCBkLCByZXR1cm4gLWVycm5vKSB7Ci0rICAgICAgICAgICAgICAgIF9jbGVhbnVwX2Nsb3NlXyBpbnQgcGF0aF9mZCA9IC0xOwotKyAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3RhdCBmc3Q7Ci0rCi0rICAgICAgICAgICAgICAgIGlmIChkb3Rfb3JfZG90X2RvdChkZS0+ZF9uYW1lKSkKLSsgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSsKLSsgICAgICAgICAgICAgICAgLyogTGV0J3MgcGluIHRoZSBjaGlsZCBpbm9kZSB3ZSB3YW50IHRvIGZpeCBub3cgd2l0aCBhbiBPX1BBVEggZmQsIHNvIHRoYXQgaXQgY2Fubm90IGJlIHN3YXBwZWQgb3V0Ci0rICAgICAgICAgICAgICAgICAqIHdoaWxlIHdlIG1hbmlwdWxhdGUgaXQuICovCi0rICAgICAgICAgICAgICAgIHBhdGhfZmQgPSBvcGVuYXQoZGlyZmQoZCksIGRlLT5kX25hbWUsIE9fUEFUSHxPX0NMT0VYRUN8T19OT0ZPTExPVyk7Ci0rICAgICAgICAgICAgICAgIGlmIChwYXRoX2ZkIDwgMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLWVycm5vOwotKwotKyAgICAgICAgICAgICAgICBpZiAoZnN0YXQocGF0aF9mZCwgJmZzdCkgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87Ci0rCi0rICAgICAgICAgICAgICAgIGlmIChTX0lTRElSKGZzdC5zdF9tb2RlKSkgewotKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdWJkaXJfZmQ7Ci0rCi0rICAgICAgICAgICAgICAgICAgICAgICAgLyogQ29udmVydCBpdCB0byBhICJyZWFsIiAoaS5lLiBub24tT19QQVRIKSBmZCBub3cgKi8KLSsgICAgICAgICAgICAgICAgICAgICAgICBzdWJkaXJfZmQgPSBmZF9yZW9wZW4ocGF0aF9mZCwgT19SRE9OTFl8T19DTE9FWEVDfE9fTk9BVElNRSk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1YmRpcl9mZCA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3ViZGlyX2ZkOwotKwotKyAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBjaG93bl9yZWN1cnNpdmVfaW50ZXJuYWwoc3ViZGlyX2ZkLCAmZnN0LCB1aWQsIGdpZCk7IC8qIHRha2VzIHBvc3Nlc3Npb24gb2Ygc3ViZGlyX2ZkIGV2ZW4gb24gZmFpbHVyZSAqLwotKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyID4gMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlOwotKyAgICAgICAgICAgICAgICB9IGVsc2UgewotKyAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBjaG93bl9vbmUocGF0aF9mZCwgJmZzdCwgdWlkLCBnaWQpOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyID4gMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlOwotICAgICAgICAgICAgICAgICB9Ci0rICAgICAgICB9Ci0gCi0tICAgICAgICAgICAgICAgIHIgPSBjaG93bl9vbmUoZGlyZmQoZCksIE5VTEwsIHN0LCB1aWQsIGdpZCk7Ci0tICAgICAgICB9IGVsc2UKLS0gICAgICAgICAgICAgICAgciA9IGNob3duX29uZShmZCwgTlVMTCwgc3QsIHVpZCwgZ2lkKTsKLSsgICAgICAgIHIgPSBjaG93bl9vbmUoZGlyZmQoZCksIHN0LCB1aWQsIGdpZCk7Ci0gICAgICAgICBpZiAociA8IDApCi0tICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOwotKyAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSAKLS0gICAgICAgIHIgPSByID4gMCB8fCBjaGFuZ2VkOwotLQotLWZpbmlzaDoKLS0gICAgICAgIHNhZmVfY2xvc2UoZmQpOwotLSAgICAgICAgcmV0dXJuIHI7Ci0rICAgICAgICByZXR1cm4gciA+IDAgfHwgY2hhbmdlZDsKLSB9Ci0gCi0gaW50IHBhdGhfY2hvd25fcmVjdXJzaXZlKGNvbnN0IGNoYXIgKnBhdGgsIHVpZF90IHVpZCwgZ2lkX3QgZ2lkKSB7Ci1AQCAtMTExLDcgKzEwNSw3IEBAIGludCBwYXRoX2Nob3duX3JlY3Vyc2l2ZShjb25zdCBjaGFyICpwYXRoLCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgewotICAgICAgICAgc3RydWN0IHN0YXQgc3Q7Ci0gICAgICAgICBpbnQgcjsKLSAKLS0gICAgICAgIGZkID0gb3BlbihwYXRoLCBPX1JET05MWXxPX05PTkJMT0NLfE9fRElSRUNUT1JZfE9fQ0xPRVhFQ3xPX05PRk9MTE9XfE9fTk9BVElNRSk7Ci0rICAgICAgICBmZCA9IG9wZW4ocGF0aCwgT19SRE9OTFl8T19ESVJFQ1RPUll8T19DTE9FWEVDfE9fTk9GT0xMT1d8T19OT0FUSU1FKTsKLSAgICAgICAgIGlmIChmZCA8IDApCi0gICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtY29yZS13aGVuLWRlc2VyaWFsaXppbmctc3RhdGUtYWx3YXlzLXVzZS1yZWFkX2xpbmUtTC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtY29yZS13aGVuLWRlc2VyaWFsaXppbmctc3RhdGUtYWx3YXlzLXVzZS1yZWFkX2xpbmUtTC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjE1ZDY4MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWNvcmUtd2hlbi1kZXNlcmlhbGl6aW5nLXN0YXRlLWFsd2F5cy11c2UtcmVhZF9saW5lLUwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTAgKzAsMCBAQAotRnJvbSAxYTA1ZmY0OTQ4ZDc3ODI4MGVjMTU1YTlhYmU2OWQzMzYwYmZkZGQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgotRGF0ZTogV2VkLCAxNyBPY3QgMjAxOCAxODozNjoyNCArMDIwMAotU3ViamVjdDogW1BBVENIXSA9P1VURi04P3E/Y29yZTo9MjB3aGVuPTIwZGVzZXJpYWxpemluZz0yMHN0YXRlPTIwYWx3YXlzPz0KLSA9P1VURi04P3E/PTIwdXNlPTIwcmVhZD01RmxpbmUoPUUyPTgwPUE2LD0yMExPTkc9NUZMSU5FPTVGTUFYLD0yMD89Ci0gPT9VVEYtOD9xPz1FMj04MD1BNik/PQotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1UaGlzIHNob3VsZCBiZSBtdWNoIGJldHRlciB0aGFuIGZnZXRzKCksIGFzIHdlIGNhbiByZWFkIHN1YnN0YW50aWFsbHkKLWxvbmdlciBsaW5lcyBhbmQgb3Zlcmx5IGxvbmcgbGluZXMgcmVzdWx0IGluIHByb3BlciBlcnJvcnMuCi0KLUZpeGVzIGEgdnVsbmVyYWJpbGl0eSBkaXNjb3ZlcmVkIGJ5IEphbm4gSG9ybiBhdCBHb29nbGUuCi0KLUNWRS0yMDE4LTE1Njg2Ci1MUDogIzE3OTY0MDIKLWh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTYzOTA3MQotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA4OTQ4YjM0MTVkNzYyMjQ1ZWJmNWUxOWQ4MGI5N2Q0ZDhjYzIwOGMxKQotCi1DVkU6IENWRS0yMDE4LTE1Njg2Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9jb3JlL2pvYi5jICAgICB8IDE5ICsrKysrKysrKysrLS0tLS0tLS0KLSBzcmMvY29yZS9tYW5hZ2VyLmMgfCA0NCArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHNyYy9jb3JlL3VuaXQuYyAgICB8IDM0ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KLSBzcmMvY29yZS91bml0LmggICAgfCAgMiArLQotIDQgZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9ucygrKSwgNDkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY29yZS9qb2IuYyBiL3NyYy9jb3JlL2pvYi5jCi1pbmRleCA3MzQ3NTZiLi44NTUyZmZiIDEwMDY0NAotLS0tIGEvc3JjL2NvcmUvam9iLmMKLSsrKyBiL3NyYy9jb3JlL2pvYi5jCi1AQCAtMTAsNiArMTAsNyBAQAotICNpbmNsdWRlICJkYnVzLWpvYi5oIgotICNpbmNsdWRlICJkYnVzLmgiCi0gI2luY2x1ZGUgImVzY2FwZS5oIgotKyNpbmNsdWRlICJmaWxlaW8uaCIKLSAjaW5jbHVkZSAiam9iLmgiCi0gI2luY2x1ZGUgImxvZy5oIgotICNpbmNsdWRlICJtYWNyby5oIgotQEAgLTEwOTEsMjQgKzEwOTIsMjYgQEAgaW50IGpvYl9zZXJpYWxpemUoSm9iICpqLCBGSUxFICpmKSB7Ci0gfQotIAotIGludCBqb2JfZGVzZXJpYWxpemUoSm9iICpqLCBGSUxFICpmKSB7Ci0rICAgICAgICBpbnQgcjsKLSsKLSAgICAgICAgIGFzc2VydChqKTsKLSAgICAgICAgIGFzc2VydChmKTsKLSAKLSAgICAgICAgIGZvciAoOzspIHsKLS0gICAgICAgICAgICAgICAgY2hhciBsaW5lW0xJTkVfTUFYXSwgKmwsICp2OwotKyAgICAgICAgICAgICAgICBfY2xlYW51cF9mcmVlXyBjaGFyICpsaW5lID0gTlVMTDsKLSsgICAgICAgICAgICAgICAgY2hhciAqbCwgKnY7Ci0gICAgICAgICAgICAgICAgIHNpemVfdCBrOwotIAotLSAgICAgICAgICAgICAgICBpZiAoIWZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgZikpIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmVvZihmKSkKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOwotLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87Ci0tICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgciA9IHJlYWRfbGluZShmLCBMT05HX0xJTkVfTUFYLCAmbGluZSk7Ci0rICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJGYWlsZWQgdG8gcmVhZCBzZXJpYWxpemF0aW9uIGxpbmU6ICVtIik7Ci0rICAgICAgICAgICAgICAgIGlmIChyID09IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gCi0tICAgICAgICAgICAgICAgIGNoYXJfYXJyYXlfMChsaW5lKTsKLSAgICAgICAgICAgICAgICAgbCA9IHN0cnN0cmlwKGxpbmUpOwotIAotICAgICAgICAgICAgICAgICAvKiBFbmQgbWFya2VyICovCi0tICAgICAgICAgICAgICAgIGlmIChsWzBdID09IDApCi0rICAgICAgICAgICAgICAgIGlmIChpc2VtcHR5KGwpKQotICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOwotIAotICAgICAgICAgICAgICAgICBrID0gc3RyY3NwbihsLCAiPSIpOwotZGlmZiAtLWdpdCBhL3NyYy9jb3JlL21hbmFnZXIuYyBiL3NyYy9jb3JlL21hbmFnZXIuYwotaW5kZXggM2E3ZjBjNC4uYTU3ODBjOSAxMDA2NDQKLS0tLSBhL3NyYy9jb3JlL21hbmFnZXIuYwotKysrIGIvc3JjL2NvcmUvbWFuYWdlci5jCi1AQCAtMzE3MSwyMiArMzE3MSwxOSBAQCBpbnQgbWFuYWdlcl9kZXNlcmlhbGl6ZShNYW5hZ2VyICptLCBGSUxFICpmLCBGRFNldCAqZmRzKSB7Ci0gICAgICAgICBtLT5uX3JlbG9hZGluZysrOwotIAotICAgICAgICAgZm9yICg7OykgewotLSAgICAgICAgICAgICAgICBjaGFyIGxpbmVbTElORV9NQVhdOwotKyAgICAgICAgICAgICAgICBfY2xlYW51cF9mcmVlXyBjaGFyICpsaW5lID0gTlVMTDsKLSAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqdmFsLCAqbDsKLSAKLS0gICAgICAgICAgICAgICAgaWYgKCFmZ2V0cyhsaW5lLCBzaXplb2YobGluZSksIGYpKSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZlb2YoZikpCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gMDsKLS0gICAgICAgICAgICAgICAgICAgICAgICBlbHNlCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gLWVycm5vOwotLQotKyAgICAgICAgICAgICAgICByID0gcmVhZF9saW5lKGYsIExPTkdfTElORV9NQVgsICZsaW5lKTsKLSsgICAgICAgICAgICAgICAgaWYgKHIgPCAwKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgbG9nX2Vycm9yX2Vycm5vKHIsICJGYWlsZWQgdG8gcmVhZCBzZXJpYWxpemF0aW9uIGxpbmU6ICVtIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7Ci0gICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgaWYgKHIgPT0gMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAKLS0gICAgICAgICAgICAgICAgY2hhcl9hcnJheV8wKGxpbmUpOwotICAgICAgICAgICAgICAgICBsID0gc3Ryc3RyaXAobGluZSk7Ci0tCi0tICAgICAgICAgICAgICAgIGlmIChsWzBdID09IDApCi0rICAgICAgICAgICAgICAgIGlmIChpc2VtcHR5KGwpKSAvKiBlbmQgbWFya2VyICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gCi0gICAgICAgICAgICAgICAgIGlmICgodmFsID0gc3RhcnRzd2l0aChsLCAiY3VycmVudC1qb2ItaWQ9IikpKSB7Ci1AQCAtMzM1MywyOSArMzM1MCwzMSBAQCBpbnQgbWFuYWdlcl9kZXNlcmlhbGl6ZShNYW5hZ2VyICptLCBGSUxFICpmLCBGRFNldCAqZmRzKSB7Ci0gICAgICAgICB9Ci0gCi0gICAgICAgICBmb3IgKDs7KSB7Ci0tICAgICAgICAgICAgICAgIFVuaXQgKnU7Ci0tICAgICAgICAgICAgICAgIGNoYXIgbmFtZVtVTklUX05BTUVfTUFYKzJdOwotKyAgICAgICAgICAgICAgICBfY2xlYW51cF9mcmVlXyBjaGFyICpsaW5lID0gTlVMTDsKLSAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogdW5pdF9uYW1lOwotKyAgICAgICAgICAgICAgICBVbml0ICp1OwotIAotICAgICAgICAgICAgICAgICAvKiBTdGFydCBtYXJrZXIgKi8KLS0gICAgICAgICAgICAgICAgaWYgKCFmZ2V0cyhuYW1lLCBzaXplb2YobmFtZSksIGYpKSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZlb2YoZikpCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gMDsKLS0gICAgICAgICAgICAgICAgICAgICAgICBlbHNlCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gLWVycm5vOwotLQotKyAgICAgICAgICAgICAgICByID0gcmVhZF9saW5lKGYsIExPTkdfTElORV9NQVgsICZsaW5lKTsKLSsgICAgICAgICAgICAgICAgaWYgKHIgPCAwKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgbG9nX2Vycm9yX2Vycm5vKHIsICJGYWlsZWQgdG8gcmVhZCBzZXJpYWxpemF0aW9uIGxpbmU6ICVtIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7Ci0gICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgaWYgKHIgPT0gMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAKLS0gICAgICAgICAgICAgICAgY2hhcl9hcnJheV8wKG5hbWUpOwotLSAgICAgICAgICAgICAgICB1bml0X25hbWUgPSBzdHJzdHJpcChuYW1lKTsKLSsgICAgICAgICAgICAgICAgdW5pdF9uYW1lID0gc3Ryc3RyaXAobGluZSk7Ci0gCi0gICAgICAgICAgICAgICAgIHIgPSBtYW5hZ2VyX2xvYWRfdW5pdChtLCB1bml0X25hbWUsIE5VTEwsIE5VTEwsICZ1KTsKLSAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgbG9nX25vdGljZV9lcnJubyhyLCAiRmFpbGVkIHRvIGxvYWQgdW5pdCBcIiVzXCIsIHNraXBwaW5nIGRlc2VyaWFsaXphdGlvbjogJW0iLCB1bml0X25hbWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyID09IC1FTk9NRU0pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZpbmlzaDsKLS0gICAgICAgICAgICAgICAgICAgICAgICB1bml0X2Rlc2VyaWFsaXplX3NraXAoZik7Ci0rCi0rICAgICAgICAgICAgICAgICAgICAgICAgciA9IHVuaXRfZGVzZXJpYWxpemVfc2tpcChmKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZpbmlzaDsKLSsKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAgfQotIAotQEAgLTMzODgsOSArMzM4Nyw2IEBAIGludCBtYW5hZ2VyX2Rlc2VyaWFsaXplKE1hbmFnZXIgKm0sIEZJTEUgKmYsIEZEU2V0ICpmZHMpIHsKLSAgICAgICAgIH0KLSAKLSBmaW5pc2g6Ci0tICAgICAgICBpZiAoZmVycm9yKGYpKQotLSAgICAgICAgICAgICAgICByID0gLUVJTzsKLS0KLSAgICAgICAgIGFzc2VydChtLT5uX3JlbG9hZGluZyA+IDApOwotICAgICAgICAgbS0+bl9yZWxvYWRpbmctLTsKLSAKLWRpZmYgLS1naXQgYS9zcmMvY29yZS91bml0LmMgYi9zcmMvY29yZS91bml0LmMKLWluZGV4IDdkYTk2M2EuLmU5OGM5YzQgMTAwNjQ0Ci0tLS0gYS9zcmMvY29yZS91bml0LmMKLSsrKyBiL3NyYy9jb3JlL3VuaXQuYwotQEAgLTMzODAsMjEgKzMzODAsMTkgQEAgaW50IHVuaXRfZGVzZXJpYWxpemUoVW5pdCAqdSwgRklMRSAqZiwgRkRTZXQgKmZkcykgewotICAgICAgICAgYXNzZXJ0KGZkcyk7Ci0gCi0gICAgICAgICBmb3IgKDs7KSB7Ci0tICAgICAgICAgICAgICAgIGNoYXIgbGluZVtMSU5FX01BWF0sICpsLCAqdjsKLSsgICAgICAgICAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqbGluZSA9IE5VTEw7Ci0gICAgICAgICAgICAgICAgIENHcm91cElQQWNjb3VudGluZ01ldHJpYyBtOwotKyAgICAgICAgICAgICAgICBjaGFyICpsLCAqdjsKLSAgICAgICAgICAgICAgICAgc2l6ZV90IGs7Ci0gCi0tICAgICAgICAgICAgICAgIGlmICghZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCBmKSkgewotLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmZW9mKGYpKQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKLS0gICAgICAgICAgICAgICAgfQotKyAgICAgICAgICAgICAgICByID0gcmVhZF9saW5lKGYsIExPTkdfTElORV9NQVgsICZsaW5lKTsKLSsgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZXJyb3JfZXJybm8ociwgIkZhaWxlZCB0byByZWFkIHNlcmlhbGl6YXRpb24gbGluZTogJW0iKTsKLSsgICAgICAgICAgICAgICAgaWYgKHIgPT0gMCkgLyogZW9mICovCi0rICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gCi0tICAgICAgICAgICAgICAgIGNoYXJfYXJyYXlfMChsaW5lKTsKLSAgICAgICAgICAgICAgICAgbCA9IHN0cnN0cmlwKGxpbmUpOwotLQotLSAgICAgICAgICAgICAgICAvKiBFbmQgbWFya2VyICovCi0tICAgICAgICAgICAgICAgIGlmIChpc2VtcHR5KGwpKQotKyAgICAgICAgICAgICAgICBpZiAoaXNlbXB0eShsKSkgLyogRW5kIG1hcmtlciAqLwotICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotIAotICAgICAgICAgICAgICAgICBrID0gc3RyY3NwbihsLCAiPSIpOwotQEAgLTM2NzEsMjMgKzM2NjksMjcgQEAgaW50IHVuaXRfZGVzZXJpYWxpemUoVW5pdCAqdSwgRklMRSAqZiwgRkRTZXQgKmZkcykgewotICAgICAgICAgcmV0dXJuIDA7Ci0gfQotIAotLXZvaWQgdW5pdF9kZXNlcmlhbGl6ZV9za2lwKEZJTEUgKmYpIHsKLStpbnQgdW5pdF9kZXNlcmlhbGl6ZV9za2lwKEZJTEUgKmYpIHsKLSsgICAgICAgIGludCByOwotICAgICAgICAgYXNzZXJ0KGYpOwotIAotICAgICAgICAgLyogU2tpcCBzZXJpYWxpemVkIGRhdGEgZm9yIHRoaXMgdW5pdC4gV2UgZG9uJ3Qga25vdyB3aGF0IGl0IGlzLiAqLwotIAotICAgICAgICAgZm9yICg7OykgewotLSAgICAgICAgICAgICAgICBjaGFyIGxpbmVbTElORV9NQVhdLCAqbDsKLSsgICAgICAgICAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqbGluZSA9IE5VTEw7Ci0rICAgICAgICAgICAgICAgIGNoYXIgKmw7Ci0gCi0tICAgICAgICAgICAgICAgIGlmICghZmdldHMobGluZSwgc2l6ZW9mIGxpbmUsIGYpKQotLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSsgICAgICAgICAgICAgICAgciA9IHJlYWRfbGluZShmLCBMT05HX0xJTkVfTUFYLCAmbGluZSk7Ci0rICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJGYWlsZWQgdG8gcmVhZCBzZXJpYWxpemF0aW9uIGxpbmU6ICVtIik7Ci0rICAgICAgICAgICAgICAgIGlmIChyID09IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gCi0tICAgICAgICAgICAgICAgIGNoYXJfYXJyYXlfMChsaW5lKTsKLSAgICAgICAgICAgICAgICAgbCA9IHN0cnN0cmlwKGxpbmUpOwotIAotICAgICAgICAgICAgICAgICAvKiBFbmQgbWFya2VyICovCi0gICAgICAgICAgICAgICAgIGlmIChpc2VtcHR5KGwpKQotLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgIH0KLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL2NvcmUvdW5pdC5oIGIvc3JjL2NvcmUvdW5pdC5oCi1pbmRleCAwNjMyMWJiLi41MWM3YWFhIDEwMDY0NAotLS0tIGEvc3JjL2NvcmUvdW5pdC5oCi0rKysgYi9zcmMvY29yZS91bml0LmgKLUBAIC02ODQsNyArNjg0LDcgQEAgYm9vbCB1bml0X2Nhbl9zZXJpYWxpemUoVW5pdCAqdSkgX3B1cmVfOwotIAotIGludCB1bml0X3NlcmlhbGl6ZShVbml0ICp1LCBGSUxFICpmLCBGRFNldCAqZmRzLCBib29sIHNlcmlhbGl6ZV9qb2JzKTsKLSBpbnQgdW5pdF9kZXNlcmlhbGl6ZShVbml0ICp1LCBGSUxFICpmLCBGRFNldCAqZmRzKTsKLS12b2lkIHVuaXRfZGVzZXJpYWxpemVfc2tpcChGSUxFICpmKTsKLStpbnQgdW5pdF9kZXNlcmlhbGl6ZV9za2lwKEZJTEUgKmYpOwotIAotIGludCB1bml0X3NlcmlhbGl6ZV9pdGVtKFVuaXQgKnUsIEZJTEUgKmYsIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqdmFsdWUpOwotIGludCB1bml0X3NlcmlhbGl6ZV9pdGVtX2VzY2FwZWQoVW5pdCAqdSwgRklMRSAqZiwgY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICp2YWx1ZSk7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtZGhjcDYtbWFrZS1zdXJlLXdlLWhhdmUtZW5vdWdoLXNwYWNlLWZvci10aGUtREhDUDYtby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtZGhjcDYtbWFrZS1zdXJlLXdlLWhhdmUtZW5vdWdoLXNwYWNlLWZvci10aGUtREhDUDYtby5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGM5MTJmMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWRoY3A2LW1ha2Utc3VyZS13ZS1oYXZlLWVub3VnaC1zcGFjZS1mb3ItdGhlLURIQ1A2LW8ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1Gcm9tIGEyNjIyYjgzOThiYTAyNmZhZjQ4MWY1ZWRkZWI1MzIzMWQ5ZGU0YTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+Ci1EYXRlOiBGcmksIDE5IE9jdCAyMDE4IDEyOjEyOjMzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGRoY3A2OiBtYWtlIHN1cmUgd2UgaGF2ZSBlbm91Z2ggc3BhY2UgZm9yIHRoZSBESENQNiBvcHRpb24KLSBoZWFkZXIKLQotRml4ZXMgYSB2dWxuZXJhYmlsaXR5IG9yaWdpbmFsbHkgZGlzY292ZXJlZCBieSBGZWxpeCBXaWxoZWxtIGZyb20KLUdvb2dsZS4KLQotQ1ZFLTIwMTgtMTU2ODgKLUxQOiAjMTc5NTkyMQotaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xNjM5MDY3Ci0KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDRkYWM1ZWFiYTRlNDE5YjI5Yzk3ZGEzOGE4YjFmODIzMzZjMmM4OTIpCi0KLUNWRTogQ1ZFLTIwMTgtMTU2ODgKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2xpYnN5c3RlbWQtbmV0d29yay9kaGNwNi1vcHRpb24uYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvZGhjcDYtb3B0aW9uLmMgYi9zcmMvbGlic3lzdGVtZC1uZXR3b3JrL2RoY3A2LW9wdGlvbi5jCi1pbmRleCBjNGI0MDJiLi5kY2JhYWQwIDEwMDY0NAotLS0tIGEvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9kaGNwNi1vcHRpb24uYwotKysrIGIvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9kaGNwNi1vcHRpb24uYwotQEAgLTEwMyw3ICsxMDMsNyBAQCBpbnQgZGhjcDZfb3B0aW9uX2FwcGVuZF9pYSh1aW50OF90ICoqYnVmLCBzaXplX3QgKmJ1ZmxlbiwgREhDUDZJQSAqaWEpIHsKLSAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Ci0gICAgICAgICB9Ci0gCi0tICAgICAgICBpZiAoKmJ1ZmxlbiA8IGxlbikKLSsgICAgICAgIGlmICgqYnVmbGVuIDwgb2Zmc2V0b2YoREhDUDZPcHRpb24sIGRhdGEpICsgbGVuKQotICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT0JVRlM7Ci0gCi0gICAgICAgICBpYV9oZHIgPSAqYnVmOwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWRvLW5vdC1kaXNhYmxlLWJ1ZmZlci1pbi13cml0aW5nLWZpbGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1kby1ub3QtZGlzYWJsZS1idWZmZXItaW4td3JpdGluZy1maWxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjg1N2IxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1kby1ub3QtZGlzYWJsZS1idWZmZXItaW4td3JpdGluZy1maWxlcy5wYXRjaApAQCAtMCwwICsxLDUyMyBAQAorRnJvbSA4NWUzYzMwNDY1NjJlYzI0ZmMyZjA5ZWJmZDA4YmY5ZjE2ODA5MWQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCAxIE1hciAyMDE5IDE1OjIyOjE1ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGRvIG5vdCBkaXNhYmxlIGJ1ZmZlciBpbiB3cml0aW5nIGZpbGVzCisKK0RvIG5vdCBkaXNhYmxlIGJ1ZmZlciBpbiB3cml0aW5nIGZpbGVzLCBvdGhlcndpc2Ugd2UgZ2V0CitmYWlsdXJlIGF0IGJvb3QgZm9yIG11c2wgbGlrZSBiZWxvdy4KKworICBbISEhISEhXSBGYWlsZWQgdG8gYWxsb2NhdGUgbWFuYWdlciBvYmplY3QuCisKK0FuZCB0aGVyZSB3aWxsIGJlIG90aGVyIGZhaWx1cmVzLCBjcml0aWNhbCBvciBub3QgY3JpdGljYWwuCitUaGlzIGlzIHNwZWNpZmljIHRvIG11c2wuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbF0KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2Jhc2ljL2Nncm91cC11dGlsLmMgICAgICAgICAgICAgICAgIHwgMTQgKysrKysrKy0tLS0tLS0KKyBzcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYyAgICAgICAgICAgICAgICAgfCAgNCArKy0tCisgc3JjL2Jhc2ljL3NtYWNrLXV0aWwuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBzcmMvYmFzaWMvdXRpbC5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQorIHNyYy9iaW5mbXQvYmluZm10LmMgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKy0tLQorIHNyYy9jb3JlL21haW4uYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KKyBzcmMvY29yZS9zbWFjay1zZXR1cC5jICAgICAgICAgICAgICAgICAgfCAgOCArKysrLS0tLQorIHNyYy9oaWJlcm5hdGUtcmVzdW1lL2hpYmVybmF0ZS1yZXN1bWUuYyB8ICAyICstCisgc3JjL2xpYnN5c3RlbWQvc2QtZGV2aWNlL3NkLWRldmljZS5jICAgIHwgIDIgKy0KKyBzcmMvbG9naW4vbG9naW5kLWRidXMuYyAgICAgICAgICAgICAgICAgfCAgMiArLQorIHNyYy9uZXR3b3JrL25ldHdvcmtkLWlwdjYtcHJveHktbmRwLmMgICB8ICAyICstCisgc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jICAgICAgICAgICAgIHwgMTggKysrKysrKysrLS0tLS0tLS0tCisgc3JjL25zcGF3bi9uc3Bhd24tY2dyb3VwLmMgICAgICAgICAgICAgIHwgIDIgKy0KKyBzcmMvbnNwYXduL25zcGF3bi5jICAgICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KKyBzcmMvc2xlZXAvc2xlZXAuYyAgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKysrKystLS0tLS0KKyBzcmMvdWRldi91ZGV2YWRtLXRyaWdnZXIuYyAgICAgICAgICAgICAgfCAgMiArLQorIHNyYy91ZGV2L3VkZXZkLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKy0tLQorIHNyYy92Y29uc29sZS92Y29uc29sZS1zZXR1cC5jICAgICAgICAgICB8ICAyICstCisgMTggZmlsZXMgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvY2dyb3VwLXV0aWwuYyBiL3NyYy9iYXNpYy9jZ3JvdXAtdXRpbC5jCitpbmRleCA4Y2U3Y2NiLi5iNjMzMjI2IDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL2Nncm91cC11dGlsLmMKKysrKyBiL3NyYy9iYXNpYy9jZ3JvdXAtdXRpbC5jCitAQCAtODE4LDcgKzgxOCw3IEBAIGludCBjZ19hdHRhY2goY29uc3QgY2hhciAqY29udHJvbGxlciwgY29uc3QgY2hhciAqcGF0aCwgcGlkX3QgcGlkKSB7CisgCisgICAgICAgICB4c3ByaW50ZihjLCBQSURfRk1UICJcbiIsIHBpZCk7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZnMsIGMsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShmcywgYywgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiByOworIAorQEAgLTExMDAsNyArMTEwMCw3IEBAIGludCBjZ19pbnN0YWxsX3JlbGVhc2VfYWdlbnQoY29uc3QgY2hhciAqY29udHJvbGxlciwgY29uc3QgY2hhciAqYWdlbnQpIHsKKyAKKyAgICAgICAgIHNjID0gc3Ryc3RyaXAoY29udGVudHMpOworICAgICAgICAgaWYgKGlzZW1wdHkoc2MpKSB7CistICAgICAgICAgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShmcywgYWdlbnQsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgICAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKGZzLCBhZ2VudCwgMCk7CisgICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAgICAgICAgIH0gZWxzZSBpZiAoIXBhdGhfZXF1YWwoc2MsIGFnZW50KSkKK0BAIC0xMTE4LDcgKzExMTgsNyBAQCBpbnQgY2dfaW5zdGFsbF9yZWxlYXNlX2FnZW50KGNvbnN0IGNoYXIgKmNvbnRyb2xsZXIsIGNvbnN0IGNoYXIgKmFnZW50KSB7CisgCisgICAgICAgICBzYyA9IHN0cnN0cmlwKGNvbnRlbnRzKTsKKyAgICAgICAgIGlmIChzdHJlcShzYywgIjAiKSkgeworLSAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZnMsICIxIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZnMsICIxIiwgMCk7CisgICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAKK0BAIC0xMTQ1LDcgKzExNDUsNyBAQCBpbnQgY2dfdW5pbnN0YWxsX3JlbGVhc2VfYWdlbnQoY29uc3QgY2hhciAqY29udHJvbGxlcikgeworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShmcywgIjAiLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZnMsICIwIiwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiByOworIAorQEAgLTExNTUsNyArMTE1NSw3IEBAIGludCBjZ191bmluc3RhbGxfcmVsZWFzZV9hZ2VudChjb25zdCBjaGFyICpjb250cm9sbGVyKSB7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiByOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKGZzLCAiIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKGZzLCAiIiwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiByOworIAorQEAgLTIwMTIsNyArMjAxMiw3IEBAIGludCBjZ19zZXRfYXR0cmlidXRlKGNvbnN0IGNoYXIgKmNvbnRyb2xsZXIsIGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmF0dHJpCisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiByOworIAorLSAgICAgICAgcmV0dXJuIHdyaXRlX3N0cmluZ19maWxlKHAsIHZhbHVlLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByZXR1cm4gd3JpdGVfc3RyaW5nX2ZpbGUocCwgdmFsdWUsIDApOworIH0KKyAKKyBpbnQgY2dfZ2V0X2F0dHJpYnV0ZShjb25zdCBjaGFyICpjb250cm9sbGVyLCBjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICphdHRyaWJ1dGUsIGNoYXIgKipyZXQpIHsKK0BAIC0yNjYwLDcgKzI2NjAsNyBAQCBpbnQgY2dfZW5hYmxlX2V2ZXJ5d2hlcmUoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZGVidWdfZXJybm8oZXJybm8sICJGYWlsZWQgdG8gb3BlbiBjZ3JvdXAuc3VidHJlZV9jb250cm9sIGZpbGUgb2YgJXM6ICVtIiwgcCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgfQorIAorLSAgICAgICAgICAgICAgICAgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfc3RyZWFtKGYsIHMsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgICAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX3N0cmVhbShmLCBzLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA8IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19kZWJ1Z19lcnJubyhyLCAiRmFpbGVkIHRvICVzIGNvbnRyb2xsZXIgJXMgZm9yICVzICglcyk6ICVtIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFHU19TRVQobWFzaywgYml0KSA/ICJlbmFibGUiIDogImRpc2FibGUiLCBuLCBwLCBmcyk7CitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMgYi9zcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYworaW5kZXggNDJjZTUzZC4uNTc1MTI1MyAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9wcm9jZnMtdXRpbC5jCisrKysgYi9zcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYworQEAgLTg2LDEzICs4NiwxMyBAQCBpbnQgcHJvY2ZzX3Rhc2tzX3NldF9saW1pdCh1aW50NjRfdCBsaW1pdCkgeworICAgICAgICAgICogZGVjcmVhc2UgaXQsIGFzIHRocmVhZHMtbWF4IGlzIHRoZSBtdWNoIG1vcmUgcmVsZXZhbnQgc3lzY3RsLiAqLworICAgICAgICAgaWYgKGxpbWl0ID4gcGlkX21heC0xKSB7CisgICAgICAgICAgICAgICAgIHNwcmludGYoYnVmZmVyLCAiJSIgUFJJdTY0LCBsaW1pdCsxKTsgLyogQWRkIG9uZSwgc2luY2UgUElEIDAgaXMgbm90IGEgdmFsaWQgUElEICovCistICAgICAgICAgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL2tlcm5lbC9waWRfbWF4IiwgYnVmZmVyLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICAgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL2tlcm5lbC9waWRfbWF4IiwgYnVmZmVyLCAwKTsKKyAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOworICAgICAgICAgfQorIAorICAgICAgICAgc3ByaW50ZihidWZmZXIsICIlIiBQUkl1NjQsIGxpbWl0KTsKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL2tlcm5lbC90aHJlYWRzLW1heCIsIGJ1ZmZlciwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zeXMva2VybmVsL3RocmVhZHMtbWF4IiwgYnVmZmVyLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkgeworICAgICAgICAgICAgICAgICB1aW50NjRfdCB0aHJlYWRzX21heDsKKyAKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvc21hY2stdXRpbC5jIGIvc3JjL2Jhc2ljL3NtYWNrLXV0aWwuYworaW5kZXggMTIzZDAwZS4uZTdlYTc4ZiAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9zbWFjay11dGlsLmMKKysrKyBiL3NyYy9iYXNpYy9zbWFjay11dGlsLmMKK0BAIC0xMTUsNyArMTE1LDcgQEAgaW50IG1hY19zbWFja19hcHBseV9waWQocGlkX3QgcGlkLCBjb25zdCBjaGFyICpsYWJlbCkgeworICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAKKyAgICAgICAgIHAgPSBwcm9jZnNfZmlsZV9hbGxvY2EocGlkLCAiYXR0ci9jdXJyZW50Iik7CistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgbGFiZWwsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCBsYWJlbCwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiByOworIAorZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy91dGlsLmMgYi9zcmMvYmFzaWMvdXRpbC5jCitpbmRleCBlNTc3YzkzLi4zYzY0ZjkxIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL3V0aWwuYworKysrIGIvc3JjL2Jhc2ljL3V0aWwuYworQEAgLTYzMSw3ICs2MzEsNyBAQCB2b2lkIGRpc2FibGVfY29yZWR1bXBzKHZvaWQpIHsKKyAgICAgICAgIGlmIChkZXRlY3RfY29udGFpbmVyKCkgPiAwKQorICAgICAgICAgICAgICAgICByZXR1cm47CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9rZXJuZWwvY29yZV9wYXR0ZXJuIiwgInwvYmluL2ZhbHNlIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zeXMva2VybmVsL2NvcmVfcGF0dGVybiIsICJ8L2Jpbi9mYWxzZSIsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICBsb2dfZGVidWdfZXJybm8ociwgIkZhaWxlZCB0byB0dXJuIG9mZiBjb3JlZHVtcHMsIGlnbm9yaW5nOiAlbSIpOworIH0KK2RpZmYgLS1naXQgYS9zcmMvYmluZm10L2JpbmZtdC5jIGIvc3JjL2JpbmZtdC9iaW5mbXQuYworaW5kZXggYWYzMWYwOS4uZWVjNTczOCAxMDA2NDQKKy0tLSBhL3NyYy9iaW5mbXQvYmluZm10LmMKKysrKyBiL3NyYy9iaW5mbXQvYmluZm10LmMKK0BAIC00Nyw3ICs0Nyw3IEBAIHN0YXRpYyBpbnQgZGVsZXRlX3J1bGUoY29uc3QgY2hhciAqcnVsZSkgeworICAgICAgICAgaWYgKCFmbikKKyAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19vb20oKTsKKyAKKy0gICAgICAgIHJldHVybiB3cml0ZV9zdHJpbmdfZmlsZShmbiwgIi0xIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgcmV0dXJuIHdyaXRlX3N0cmluZ19maWxlKGZuLCAiLTEiLCAwKTsKKyB9CisgCisgc3RhdGljIGludCBhcHBseV9ydWxlKGNvbnN0IGNoYXIgKnJ1bGUpIHsKK0BAIC01NSw3ICs1NSw3IEBAIHN0YXRpYyBpbnQgYXBwbHlfcnVsZShjb25zdCBjaGFyICpydWxlKSB7CisgCisgICAgICAgICAodm9pZCkgZGVsZXRlX3J1bGUocnVsZSk7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYy9yZWdpc3RlciIsIHJ1bGUsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjL3JlZ2lzdGVyIiwgcnVsZSwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZXJyb3JfZXJybm8ociwgIkZhaWxlZCB0byBhZGQgYmluYXJ5IGZvcm1hdDogJW0iKTsKKyAKK0BAIC0yMTIsNyArMjEyLDcgQEAgc3RhdGljIGludCBydW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgeworICAgICAgICAgICAgICAgICB9CisgCisgICAgICAgICAgICAgICAgIC8qIEZsdXNoIG91dCBhbGwgcnVsZXMgKi8KKy0gICAgICAgICAgICAgICAgd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYy9zdGF0dXMiLCAiLTEiLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICAgICAgICAgIHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zeXMvZnMvYmluZm10X21pc2Mvc3RhdHVzIiwgIi0xIiwgMCk7CisgCisgICAgICAgICAgICAgICAgIFNUUlZfRk9SRUFDSChmLCBmaWxlcykgeworICAgICAgICAgICAgICAgICAgICAgICAgIGsgPSBhcHBseV9maWxlKCpmLCB0cnVlKTsKK2RpZmYgLS1naXQgYS9zcmMvY29yZS9tYWluLmMgYi9zcmMvY29yZS9tYWluLmMKK2luZGV4IDU2MWY5NTYuLmRiNmYxMTMgMTAwNjQ0CistLS0gYS9zcmMvY29yZS9tYWluLmMKKysrKyBiL3NyYy9jb3JlL21haW4uYworQEAgLTE0NjgsNyArMTQ2OCw3IEBAIHN0YXRpYyBpbnQgYnVtcF91bml4X21heF9kZ3JhbV9xbGVuKHZvaWQpIHsKKyAgICAgICAgIGlmICh2ID49IERFRkFVTFRfVU5JWF9NQVhfREdSQU1fUUxFTikKKyAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGVmKCIvcHJvYy9zeXMvbmV0L3VuaXgvbWF4X2RncmFtX3FsZW4iLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUiwgIiVsdSIsIERFRkFVTFRfVU5JWF9NQVhfREdSQU1fUUxFTik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGVmKCIvcHJvYy9zeXMvbmV0L3VuaXgvbWF4X2RncmFtX3FsZW4iLCAwLCAiJWx1IiwgREVGQVVMVF9VTklYX01BWF9ER1JBTV9RTEVOKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19mdWxsX2Vycm5vKElOX1NFVChyLCAtRVJPRlMsIC1FUEVSTSwgLUVBQ0NFUykgPyBMT0dfREVCVUcgOiBMT0dfV0FSTklORywgciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gYnVtcCBBRl9VTklYIGRhdGFncmFtIHF1ZXVlIGxlbmd0aCwgaWdub3Jpbmc6ICVtIik7CitAQCAtMTY4Myw3ICsxNjgzLDcgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZV9jb3JlX3BhdHRlcm4oYm9vbCBza2lwX3NldHVwKSB7CisgICAgICAgICBpZiAoZ2V0cGlkX2NhY2hlZCgpICE9IDEpCisgICAgICAgICAgICAgICAgIHJldHVybjsKKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL2tlcm5lbC9jb3JlX3BhdHRlcm4iLCBhcmdfZWFybHlfY29yZV9wYXR0ZXJuLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9rZXJuZWwvY29yZV9wYXR0ZXJuIiwgYXJnX2Vhcmx5X2NvcmVfcGF0dGVybiwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIGxvZ193YXJuaW5nX2Vycm5vKHIsICJGYWlsZWQgdG8gd3JpdGUgJyVzJyB0byAvcHJvYy9zeXMva2VybmVsL2NvcmVfcGF0dGVybiwgaWdub3Jpbmc6ICVtIiwgYXJnX2Vhcmx5X2NvcmVfcGF0dGVybik7CisgfQorZGlmZiAtLWdpdCBhL3NyYy9jb3JlL3NtYWNrLXNldHVwLmMgYi9zcmMvY29yZS9zbWFjay1zZXR1cC5jCitpbmRleCA0OWIzN2FlLi5jOTZlZWRjIDEwMDY0NAorLS0tIGEvc3JjL2NvcmUvc21hY2stc2V0dXAuYworKysrIGIvc3JjL2NvcmUvc21hY2stc2V0dXAuYworQEAgLTM1MCwxNyArMzUwLDE3IEBAIGludCBtYWNfc21hY2tfc2V0dXAoYm9vbCAqbG9hZGVkX3BvbGljeSkgeworICAgICAgICAgfQorIAorICNpZmRlZiBTTUFDS19SVU5fTEFCRUwKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc2VsZi9hdHRyL2N1cnJlbnQiLCBTTUFDS19SVU5fTEFCRUwsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc2VsZi9hdHRyL2N1cnJlbnQiLCBTTUFDS19SVU5fTEFCRUwsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICBsb2dfd2FybmluZ19lcnJubyhyLCAiRmFpbGVkIHRvIHNldCBTTUFDSyBsYWJlbCBcIiIgU01BQ0tfUlVOX0xBQkVMICJcIiBvbiBzZWxmOiAlbSIpOworLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL2ZzL3NtYWNrZnMvYW1iaWVudCIsIFNNQUNLX1JVTl9MQUJFTCwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL2ZzL3NtYWNrZnMvYW1iaWVudCIsIFNNQUNLX1JVTl9MQUJFTCwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIGxvZ193YXJuaW5nX2Vycm5vKHIsICJGYWlsZWQgdG8gc2V0IFNNQUNLIGFtYmllbnQgbGFiZWwgXCIiIFNNQUNLX1JVTl9MQUJFTCAiXCI6ICVtIik7CisgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvZnMvc21hY2tmcy9uZXRsYWJlbCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjAuMC4wLjAvMCAiIFNNQUNLX1JVTl9MQUJFTCwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwLjAuMC4wLzAgIiBTTUFDS19SVU5fTEFCRUwsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICBsb2dfd2FybmluZ19lcnJubyhyLCAiRmFpbGVkIHRvIHNldCBTTUFDSyBuZXRsYWJlbCBydWxlIFwiMC4wLjAuMC8wICIgU01BQ0tfUlVOX0xBQkVMICJcIjogJW0iKTsKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9mcy9zbWFja2ZzL25ldGxhYmVsIiwgIjEyNy4wLjAuMSAtQ0lQU08iLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvZnMvc21hY2tmcy9uZXRsYWJlbCIsICIxMjcuMC4wLjEgLUNJUFNPIiwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIGxvZ193YXJuaW5nX2Vycm5vKHIsICJGYWlsZWQgdG8gc2V0IFNNQUNLIG5ldGxhYmVsIHJ1bGUgXCIxMjcuMC4wLjEgLUNJUFNPXCI6ICVtIik7CisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvc3JjL2hpYmVybmF0ZS1yZXN1bWUvaGliZXJuYXRlLXJlc3VtZS5jIGIvc3JjL2hpYmVybmF0ZS1yZXN1bWUvaGliZXJuYXRlLXJlc3VtZS5jCitpbmRleCAxN2U3Y2QxLi44N2E3NjY3IDEwMDY0NAorLS0tIGEvc3JjL2hpYmVybmF0ZS1yZXN1bWUvaGliZXJuYXRlLXJlc3VtZS5jCisrKysgYi9zcmMvaGliZXJuYXRlLXJlc3VtZS9oaWJlcm5hdGUtcmVzdW1lLmMKK0BAIC00NSw3ICs0NSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKKyAgICAgICAgICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9wb3dlci9yZXN1bWUiLCBtYWpvcl9taW5vciwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL3Bvd2VyL3Jlc3VtZSIsIG1ham9yX21pbm9yLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkgeworICAgICAgICAgICAgICAgICBsb2dfZXJyb3JfZXJybm8ociwgIkZhaWxlZCB0byB3cml0ZSAnJXMnIHRvIC9zeXMvcG93ZXIvcmVzdW1lOiAlbSIsIG1ham9yX21pbm9yKTsKKyAgICAgICAgICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKK2RpZmYgLS1naXQgYS9zcmMvbGlic3lzdGVtZC9zZC1kZXZpY2Uvc2QtZGV2aWNlLmMgYi9zcmMvbGlic3lzdGVtZC9zZC1kZXZpY2Uvc2QtZGV2aWNlLmMKK2luZGV4IDJhNjlmMmUuLjlkNTUzNDAgMTAwNjQ0CistLS0gYS9zcmMvbGlic3lzdGVtZC9zZC1kZXZpY2Uvc2QtZGV2aWNlLmMKKysrKyBiL3NyYy9saWJzeXN0ZW1kL3NkLWRldmljZS9zZC1kZXZpY2UuYworQEAgLTE4MzYsNyArMTgzNiw3IEBAIF9wdWJsaWNfIGludCBzZF9kZXZpY2Vfc2V0X3N5c2F0dHJfdmFsdWUoc2RfZGV2aWNlICpkZXZpY2UsIGNvbnN0IGNoYXIgKnN5c2F0dHIsCisgICAgICAgICBpZiAoIXZhbHVlKQorICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwYXRoLCB2YWx1ZSwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIgfCBXUklURV9TVFJJTkdfRklMRV9OT0ZPTExPVyk7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocGF0aCwgdmFsdWUsIDAgfCBXUklURV9TVFJJTkdfRklMRV9OT0ZPTExPVyk7CisgICAgICAgICBpZiAociA8IDApIHsKKyAgICAgICAgICAgICAgICAgaWYgKHIgPT0gLUVMT09QKQorICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworZGlmZiAtLWdpdCBhL3NyYy9sb2dpbi9sb2dpbmQtZGJ1cy5jIGIvc3JjL2xvZ2luL2xvZ2luZC1kYnVzLmMKK2luZGV4IDhhYjQ5OGYuLmQyN2VmOWMgMTAwNjQ0CistLS0gYS9zcmMvbG9naW4vbG9naW5kLWRidXMuYworKysrIGIvc3JjL2xvZ2luL2xvZ2luZC1kYnVzLmMKK0BAIC0xMjMxLDcgKzEyMzEsNyBAQCBzdGF0aWMgaW50IHRyaWdnZXJfZGV2aWNlKE1hbmFnZXIgKm0sIHNkX2RldmljZSAqZCkgeworICAgICAgICAgICAgICAgICBpZiAoIXQpCisgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CisgCistICAgICAgICAgICAgICAgICh2b2lkKSB3cml0ZV9zdHJpbmdfZmlsZSh0LCAiY2hhbmdlIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgICAgICAgICAodm9pZCkgd3JpdGVfc3RyaW5nX2ZpbGUodCwgImNoYW5nZSIsIDApOworICAgICAgICAgfQorIAorICAgICAgICAgcmV0dXJuIDA7CitkaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsvbmV0d29ya2QtaXB2Ni1wcm94eS1uZHAuYyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWlwdjYtcHJveHktbmRwLmMKK2luZGV4IGY1OTRiMjcuLmMyODNjYzMgMTAwNjQ0CistLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrZC1pcHY2LXByb3h5LW5kcC5jCisrKysgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1pcHY2LXByb3h5LW5kcC5jCitAQCAtNDMsNyArNDMsNyBAQCBzdGF0aWMgaW50IGlwdjZfcHJveHlfbmRwX3NldChMaW5rICpsaW5rKSB7CisgICAgICAgICB2ID0gaXB2Nl9wcm94eV9uZHBfaXNfbmVlZGVkKGxpbmspOworICAgICAgICAgcCA9IHN0cmpvaW5hKCIvcHJvYy9zeXMvbmV0L2lwdjYvY29uZi8iLCBsaW5rLT5pZm5hbWUsICIvcHJveHlfbmRwIik7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgb25lX3plcm8odiksIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIG9uZV96ZXJvKHYpLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICBsb2dfbGlua193YXJuaW5nX2Vycm5vKGxpbmssIHIsICJDYW5ub3QgY29uZmlndXJlIHByb3h5IE5EUCBmb3IgaW50ZXJmYWNlOiAlbSIpOworIAorZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuYyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuYworaW5kZXggMjIzOTJkNy4uZTBlZDU1MSAxMDA2NDQKKy0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuYworKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jCitAQCAtMjc0LDcgKzI3NCw3IEBAIHN0YXRpYyBpbnQgbGlua19lbmFibGVfaXB2NihMaW5rICpsaW5rKSB7CisgCisgICAgICAgICBwID0gc3Ryam9pbmEoIi9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mLyIsIGxpbmstPmlmbmFtZSwgIi9kaXNhYmxlX2lwdjYiKTsKKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCBvbmVfemVybyhkaXNhYmxlZCksIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIG9uZV96ZXJvKGRpc2FibGVkKSwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX2xpbmtfd2FybmluZ19lcnJubyhsaW5rLCByLCAiQ2Fubm90ICVzIElQdjYgZm9yIGludGVyZmFjZSAlczogJW0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZV9kaXNhYmxlKCFkaXNhYmxlZCksIGxpbmstPmlmbmFtZSk7CitAQCAtMTI3Miw3ICsxMjcyLDcgQEAgc3RhdGljIGludCBsaW5rX3NldF9wcm94eV9hcnAoTGluayAqbGluaykgeworIAorICAgICAgICAgcCA9IHN0cmpvaW5hKCIvcHJvYy9zeXMvbmV0L2lwdjQvY29uZi8iLCBsaW5rLT5pZm5hbWUsICIvcHJveHlfYXJwIik7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgb25lX3plcm8obGluay0+bmV0d29yay0+cHJveHlfYXJwKSwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgb25lX3plcm8obGluay0+bmV0d29yay0+cHJveHlfYXJwKSwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX2xpbmtfd2FybmluZ19lcnJubyhsaW5rLCByLCAiQ2Fubm90IGNvbmZpZ3VyZSBwcm94eSBBUlAgZm9yIGludGVyZmFjZTogJW0iKTsKKyAKK0BAIC0yNTQxLDcgKzI1NDEsNyBAQCBzdGF0aWMgaW50IGxpbmtfc2V0X2lwdjRfZm9yd2FyZChMaW5rICpsaW5rKSB7CisgICAgICAgICAgKiBwcmltYXJpbHkgdG8ga2VlcCBJUHY0IGFuZCBJUHY2IHBhY2tldCBmb3J3YXJkaW5nIGJlaGF2aW91cgorICAgICAgICAgICogc29tZXdoYXQgaW4gc3luYyAoc2VlIGJlbG93KS4gKi8KKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL25ldC9pcHY0L2lwX2ZvcndhcmQiLCAiMSIsIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zeXMvbmV0L2lwdjQvaXBfZm9yd2FyZCIsICIxIiwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX2xpbmtfd2FybmluZ19lcnJubyhsaW5rLCByLCAiQ2Fubm90IHR1cm4gb24gSVB2NCBwYWNrZXQgZm9yd2FyZGluZywgaWdub3Jpbmc6ICVtIik7CisgCitAQCAtMjU2Myw3ICsyNTYzLDcgQEAgc3RhdGljIGludCBsaW5rX3NldF9pcHY2X2ZvcndhcmQoTGluayAqbGluaykgeworICAgICAgICAgICogc2FtZSBiZWhhdmlvdXIgdGhlcmUgYW5kIGFsc28gcHJvcGFnYXRlIHRoZSBzZXR0aW5nIGZyb20KKyAgICAgICAgICAqIG9uZSB0byBhbGwsIHRvIGtlZXAgdGhpbmdzIHNpbXBsZSAoc2VlIGFib3ZlKS4gKi8KKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL25ldC9pcHY2L2NvbmYvYWxsL2ZvcndhcmRpbmciLCAiMSIsIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zeXMvbmV0L2lwdjYvY29uZi9hbGwvZm9yd2FyZGluZyIsICIxIiwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX2xpbmtfd2FybmluZ19lcnJubyhsaW5rLCByLCAiQ2Fubm90IGNvbmZpZ3VyZSBJUHY2IHBhY2tldCBmb3J3YXJkaW5nLCBpZ25vcmluZzogJW0iKTsKKyAKK0BAIC0yNTgzLDcgKzI1ODMsNyBAQCBzdGF0aWMgaW50IGxpbmtfc2V0X2lwdjZfcHJpdmFjeV9leHRlbnNpb25zKExpbmsgKmxpbmspIHsKKyAgICAgICAgIHAgPSBzdHJqb2luYSgiL3Byb2Mvc3lzL25ldC9pcHY2L2NvbmYvIiwgbGluay0+aWZuYW1lLCAiL3VzZV90ZW1wYWRkciIpOworICAgICAgICAgeHNwcmludGYoYnVmLCAiJXUiLCAodW5zaWduZWQpIGxpbmstPm5ldHdvcmstPmlwdjZfcHJpdmFjeV9leHRlbnNpb25zKTsKKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCBidWYsIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIGJ1ZiwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX2xpbmtfd2FybmluZ19lcnJubyhsaW5rLCByLCAiQ2Fubm90IGNvbmZpZ3VyZSBJUHY2IHByaXZhY3kgZXh0ZW5zaW9uIGZvciBpbnRlcmZhY2U6ICVtIik7CisgCitAQCAtMjYwNyw3ICsyNjA3LDcgQEAgc3RhdGljIGludCBsaW5rX3NldF9pcHY2X2FjY2VwdF9yYShMaW5rICpsaW5rKSB7CisgICAgICAgICBwID0gc3Ryam9pbmEoIi9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mLyIsIGxpbmstPmlmbmFtZSwgIi9hY2NlcHRfcmEiKTsKKyAKKyAgICAgICAgIC8qIFdlIGhhbmRsZSByb3V0ZXIgYWR2ZXJ0aXNlbWVudHMgb3Vyc2VsdmVzLCB0ZWxsIHRoZSBrZXJuZWwgdG8gR1RGTyAqLworLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsICIwIiwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgIjAiLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICBsb2dfbGlua193YXJuaW5nX2Vycm5vKGxpbmssIHIsICJDYW5ub3QgZGlzYWJsZSBrZXJuZWwgSVB2NiBhY2NlcHRfcmEgZm9yIGludGVyZmFjZTogJW0iKTsKKyAKK0BAIC0yNjM1LDcgKzI2MzUsNyBAQCBzdGF0aWMgaW50IGxpbmtfc2V0X2lwdjZfZGFkX3RyYW5zbWl0cyhMaW5rICpsaW5rKSB7CisgICAgICAgICBwID0gc3Ryam9pbmEoIi9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mLyIsIGxpbmstPmlmbmFtZSwgIi9kYWRfdHJhbnNtaXRzIik7CisgICAgICAgICB4c3ByaW50ZihidWYsICIlaSIsIGxpbmstPm5ldHdvcmstPmlwdjZfZGFkX3RyYW5zbWl0cyk7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgYnVmLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCBidWYsIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIGxvZ19saW5rX3dhcm5pbmdfZXJybm8obGluaywgciwgIkNhbm5vdCBzZXQgSVB2NiBkYWQgdHJhbnNtaXRzIGZvciBpbnRlcmZhY2U6ICVtIik7CisgCitAQCAtMjY2Myw3ICsyNjYzLDcgQEAgc3RhdGljIGludCBsaW5rX3NldF9pcHY2X2hvcF9saW1pdChMaW5rICpsaW5rKSB7CisgICAgICAgICBwID0gc3Ryam9pbmEoIi9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mLyIsIGxpbmstPmlmbmFtZSwgIi9ob3BfbGltaXQiKTsKKyAgICAgICAgIHhzcHJpbnRmKGJ1ZiwgIiVpIiwgbGluay0+bmV0d29yay0+aXB2Nl9ob3BfbGltaXQpOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIGJ1ZiwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgYnVmLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICBsb2dfbGlua193YXJuaW5nX2Vycm5vKGxpbmssIHIsICJDYW5ub3Qgc2V0IElQdjYgaG9wIGxpbWl0IGZvciBpbnRlcmZhY2U6ICVtIik7CisgCitAQCAtMjY4OSw3ICsyNjg5LDcgQEAgc3RhdGljIGludCBsaW5rX3NldF9pcHY2X210dShMaW5rICpsaW5rKSB7CisgCisgICAgICAgICB4c3ByaW50ZihidWYsICIlIiBQUkl1MzIsIGxpbmstPm5ldHdvcmstPmlwdjZfbXR1KTsKKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCBidWYsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCBidWYsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICBsb2dfbGlua193YXJuaW5nX2Vycm5vKGxpbmssIHIsICJDYW5ub3Qgc2V0IElQdjYgTVRVIGZvciBpbnRlcmZhY2U6ICVtIik7CisgCitkaWZmIC0tZ2l0IGEvc3JjL25zcGF3bi9uc3Bhd24tY2dyb3VwLmMgYi9zcmMvbnNwYXduL25zcGF3bi1jZ3JvdXAuYworaW5kZXggOTdmYTA5Mi4uYjg0MWY1MSAxMDA2NDQKKy0tLSBhL3NyYy9uc3Bhd24vbnNwYXduLWNncm91cC5jCisrKysgYi9zcmMvbnNwYXduL25zcGF3bi1jZ3JvdXAuYworQEAgLTEyMyw3ICsxMjMsNyBAQCBpbnQgc3luY19jZ3JvdXAocGlkX3QgcGlkLCBDR3JvdXBVbmlmaWVkIHVuaWZpZWRfcmVxdWVzdGVkLCB1aWRfdCB1aWRfc2hpZnQpIHsKKyAgICAgICAgICh2b2lkKSBta2Rpcl9wYXJlbnRzKGZuLCAwNzU1KTsKKyAKKyAgICAgICAgIHNwcmludGYocGlkX3N0cmluZywgUElEX0ZNVCwgcGlkKTsKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShmbiwgcGlkX3N0cmluZywgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKGZuLCBwaWRfc3RyaW5nLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkgeworICAgICAgICAgICAgICAgICBsb2dfZXJyb3JfZXJybm8ociwgIkZhaWxlZCB0byBtb3ZlIHByb2Nlc3M6ICVtIik7CisgICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOworZGlmZiAtLWdpdCBhL3NyYy9uc3Bhd24vbnNwYXduLmMgYi9zcmMvbnNwYXduL25zcGF3bi5jCitpbmRleCBlMGMyZDcxLi4yMTM3OTBjIDEwMDY0NAorLS0tIGEvc3JjL25zcGF3bi9uc3Bhd24uYworKysrIGIvc3JjL25zcGF3bi9uc3Bhd24uYworQEAgLTIxMTcsNyArMjExNyw3IEBAIHN0YXRpYyBpbnQgcmVzZXRfYXVkaXRfbG9naW51aWQodm9pZCkgeworICAgICAgICAgaWYgKHN0cmVxKHAsICI0Mjk0OTY3Mjk1IikpCisgICAgICAgICAgICAgICAgIHJldHVybiAwOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zZWxmL2xvZ2ludWlkIiwgIjQyOTQ5NjcyOTUiLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3NlbGYvbG9naW51aWQiLCAiNDI5NDk2NzI5NSIsIDApOworICAgICAgICAgaWYgKHIgPCAwKSB7CisgICAgICAgICAgICAgICAgIGxvZ19lcnJvcl9lcnJubyhyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byByZXNldCBhdWRpdCBsb2dpbiBVSUQuIFRoaXMgcHJvYmFibHkgbWVhbnMgdGhhdCB5b3VyIGtlcm5lbCBpcyB0b29cbiIKK0BAIC0zMTk1LDEzICszMTk1LDEzIEBAIHN0YXRpYyBpbnQgc2V0dXBfdWlkX21hcChwaWRfdCBwaWQpIHsKKyAKKyAgICAgICAgIHhzcHJpbnRmKHVpZF9tYXAsICIvcHJvYy8iIFBJRF9GTVQgIi91aWRfbWFwIiwgcGlkKTsKKyAgICAgICAgIHhzcHJpbnRmKGxpbmUsIFVJRF9GTVQgIiAiIFVJRF9GTVQgIiAiIFVJRF9GTVQgIlxuIiwgMCwgYXJnX3VpZF9zaGlmdCwgYXJnX3VpZF9yYW5nZSk7CistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUodWlkX21hcCwgbGluZSwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHVpZF9tYXAsIGxpbmUsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJGYWlsZWQgdG8gd3JpdGUgVUlEIG1hcDogJW0iKTsKKyAKKyAgICAgICAgIC8qIFdlIGFsd2F5cyBhc3NpZ24gdGhlIHNhbWUgVUlEIGFuZCBHSUQgcmFuZ2VzICovCisgICAgICAgICB4c3ByaW50Zih1aWRfbWFwLCAiL3Byb2MvIiBQSURfRk1UICIvZ2lkX21hcCIsIHBpZCk7CistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUodWlkX21hcCwgbGluZSwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHVpZF9tYXAsIGxpbmUsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJGYWlsZWQgdG8gd3JpdGUgR0lEIG1hcDogJW0iKTsKKyAKK2RpZmYgLS1naXQgYS9zcmMvc2xlZXAvc2xlZXAuYyBiL3NyYy9zbGVlcC9zbGVlcC5jCitpbmRleCA1Yjc5ODRhLi5iZjgxOGFhIDEwMDY0NAorLS0tIGEvc3JjL3NsZWVwL3NsZWVwLmMKKysrKyBiL3NyYy9zbGVlcC9zbGVlcC5jCitAQCAtNDMsNyArNDMsNyBAQCBzdGF0aWMgaW50IHdyaXRlX2hpYmVybmF0ZV9sb2NhdGlvbl9pbmZvKHZvaWQpIHsKKyAKKyAgICAgICAgIC8qIGlmIGl0J3MgYSBzd2FwIHBhcnRpdGlvbiwgd2UganVzdCB3cml0ZSB0aGUgZGlzayB0byAvc3lzL3Bvd2VyL3Jlc3VtZSAqLworICAgICAgICAgaWYgKHN0cmVxKHR5cGUsICJwYXJ0aXRpb24iKSkgeworLSAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvcG93ZXIvcmVzdW1lIiwgZGV2aWNlLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICAgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9wb3dlci9yZXN1bWUiLCBkZXZpY2UsIDApOworICAgICAgICAgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19kZWJ1Z19lcnJubyhyLCAiRmFpbGVlZCB0byB3cml0ZSBwYXJ0aXRvaW4gZGV2aWNlIHRvIC9zeXMvcG93ZXIvcmVzdW1lOiAlbSIpOworIAorQEAgLTc5LDEyICs3OSwxMiBAQCBzdGF0aWMgaW50IHdyaXRlX2hpYmVybmF0ZV9sb2NhdGlvbl9pbmZvKHZvaWQpIHsKKyAKKyAgICAgICAgIG9mZnNldCA9IGZpZW1hcC0+Zm1fZXh0ZW50c1swXS5mZV9waHlzaWNhbCAvIHBhZ2Vfc2l6ZSgpOworICAgICAgICAgeHNwcmludGYob2Zmc2V0X3N0ciwgIiUiIFBSSXU2NCwgb2Zmc2V0KTsKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9wb3dlci9yZXN1bWVfb2Zmc2V0Iiwgb2Zmc2V0X3N0ciwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL3Bvd2VyL3Jlc3VtZV9vZmZzZXQiLCBvZmZzZXRfc3RyLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19kZWJ1Z19lcnJubyhyLCAiRmFpbGVkIHRvIHdyaXRlIG9mZnNldCAnJXMnOiAlbSIsIG9mZnNldF9zdHIpOworIAorICAgICAgICAgeHNwcmludGYoZGV2aWNlX3N0ciwgIiVseCIsICh1bnNpZ25lZCBsb25nKXN0Yi5zdF9kZXYpOworLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL3Bvd2VyL3Jlc3VtZSIsIGRldmljZV9zdHIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9wb3dlci9yZXN1bWUiLCBkZXZpY2Vfc3RyLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19kZWJ1Z19lcnJubyhyLCAiRmFpbGVkIHRvIHdyaXRlIGRldmljZSAnJXMnOiAlbSIsIGRldmljZV9zdHIpOworIAorQEAgLTk4LDcgKzk4LDcgQEAgc3RhdGljIGludCB3cml0ZV9tb2RlKGNoYXIgKiptb2RlcykgeworICAgICAgICAgU1RSVl9GT1JFQUNIKG1vZGUsIG1vZGVzKSB7CisgICAgICAgICAgICAgICAgIGludCBrOworIAorLSAgICAgICAgICAgICAgICBrID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvcG93ZXIvZGlzayIsICptb2RlLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICAgICAgICAgIGsgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9wb3dlci9kaXNrIiwgKm1vZGUsIDApOworICAgICAgICAgICAgICAgICBpZiAoayA+PSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworIAorQEAgLTExNyw3ICsxMTcsNyBAQCBzdGF0aWMgaW50IHdyaXRlX3N0YXRlKEZJTEUgKipmLCBjaGFyICoqc3RhdGVzKSB7CisgICAgICAgICBTVFJWX0ZPUkVBQ0goc3RhdGUsIHN0YXRlcykgeworICAgICAgICAgICAgICAgICBpbnQgazsKKyAKKy0gICAgICAgICAgICAgICAgayA9IHdyaXRlX3N0cmluZ19zdHJlYW0oKmYsICpzdGF0ZSwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgICAgICAgICBrID0gd3JpdGVfc3RyaW5nX3N0cmVhbSgqZiwgKnN0YXRlLCAwKTsKKyAgICAgICAgICAgICAgICAgaWYgKGsgPj0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgICAgICAgbG9nX2RlYnVnX2Vycm5vKGssICJGYWlsZWQgdG8gd3JpdGUgJyVzJyB0byAvc3lzL3Bvd2VyL3N0YXRlOiAlbSIsICpzdGF0ZSk7CitAQCAtMjEyLDcgKzIxMiw3IEBAIHN0YXRpYyBpbnQgcnRjX3dyaXRlX3dha2VfYWxhcm0odWludDY0X3Qgc2VjKSB7CisgCisgICAgICAgICB4c3ByaW50ZihidWYsICIlIiBQUkl1NjQsIHNlYyk7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvY2xhc3MvcnRjL3J0YzAvd2FrZWFsYXJtIiwgYnVmLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvY2xhc3MvcnRjL3J0YzAvd2FrZWFsYXJtIiwgYnVmLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLCAiRmFpbGVkIHRvIHdyaXRlICclcycgdG8gL3N5cy9jbGFzcy9ydGMvcnRjMC93YWtlYWxhcm06ICVtIiwgYnVmKTsKKyAKK2RpZmYgLS1naXQgYS9zcmMvdWRldi91ZGV2YWRtLXRyaWdnZXIuYyBiL3NyYy91ZGV2L3VkZXZhZG0tdHJpZ2dlci5jCitpbmRleCA5NTMyOTQ2Li4yZTU3NmJiIDEwMDY0NAorLS0tIGEvc3JjL3VkZXYvdWRldmFkbS10cmlnZ2VyLmMKKysrKyBiL3NyYy91ZGV2L3VkZXZhZG0tdHJpZ2dlci5jCitAQCAtNDIsNyArNDIsNyBAQCBzdGF0aWMgaW50IGV4ZWNfbGlzdChzZF9kZXZpY2VfZW51bWVyYXRvciAqZSwgY29uc3QgY2hhciAqYWN0aW9uLCBTZXQgKnNldHRsZV9zZQorICAgICAgICAgICAgICAgICBpZiAoIWZpbGVuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7CisgCistICAgICAgICAgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShmaWxlbmFtZSwgYWN0aW9uLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICAgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShmaWxlbmFtZSwgYWN0aW9uLCAwKTsKKyAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgbG9nX2RlYnVnX2Vycm5vKHIsICJGYWlsZWQgdG8gd3JpdGUgJyVzJyB0byAnJXMnLCBpZ25vcmluZzogJW0iLCBhY3Rpb24sIGZpbGVuYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKK2RpZmYgLS1naXQgYS9zcmMvdWRldi91ZGV2ZC5jIGIvc3JjL3VkZXYvdWRldmQuYworaW5kZXggMDMwM2YzNi4uNjg3ZDAwOSAxMDA2NDQKKy0tLSBhL3NyYy91ZGV2L3VkZXZkLmMKKysrKyBiL3NyYy91ZGV2L3VkZXZkLmMKK0BAIC0xMjE4LDcgKzEyMTgsNyBAQCBzdGF0aWMgaW50IHN5bnRoZXNpemVfY2hhbmdlKHNkX2RldmljZSAqZGV2KSB7CisgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICBsb2dfZGVidWcoIkRldmljZSAnJXMnIGlzIGNsb3NlZCwgc3ludGhlc2lzaW5nICdjaGFuZ2UnIiwgZGV2bmFtZSk7CisgICAgICAgICAgICAgICAgIHN0cnNjcHlsKGZpbGVuYW1lLCBzaXplb2YoZmlsZW5hbWUpLCBzeXNwYXRoLCAiL3VldmVudCIsIE5VTEwpOworLSAgICAgICAgICAgICAgICB3cml0ZV9zdHJpbmdfZmlsZShmaWxlbmFtZSwgImNoYW5nZSIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgICAgICAgICAgd3JpdGVfc3RyaW5nX2ZpbGUoZmlsZW5hbWUsICJjaGFuZ2UiLCAwKTsKKyAKKyAgICAgICAgICAgICAgICAgRk9SRUFDSF9ERVZJQ0UoZSwgZCkgeworICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnQsICpuLCAqczsKK0BAIC0xMjMzLDcgKzEyMzMsNyBAQCBzdGF0aWMgaW50IHN5bnRoZXNpemVfY2hhbmdlKHNkX2RldmljZSAqZGV2KSB7CisgCisgICAgICAgICAgICAgICAgICAgICAgICAgbG9nX2RlYnVnKCJEZXZpY2UgJyVzJyBpcyBjbG9zZWQsIHN5bnRoZXNpc2luZyBwYXJ0aXRpb24gJyVzJyAnY2hhbmdlJyIsIGRldm5hbWUsIG4pOworICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnNjcHlsKGZpbGVuYW1lLCBzaXplb2YoZmlsZW5hbWUpLCBzLCAiL3VldmVudCIsIE5VTEwpOworLSAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlX3N0cmluZ19maWxlKGZpbGVuYW1lLCAiY2hhbmdlIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlX3N0cmluZ19maWxlKGZpbGVuYW1lLCAiY2hhbmdlIiwgMCk7CisgICAgICAgICAgICAgICAgIH0KKyAKKyAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CitAQCAtMTI0MSw3ICsxMjQxLDcgQEAgc3RhdGljIGludCBzeW50aGVzaXplX2NoYW5nZShzZF9kZXZpY2UgKmRldikgeworIAorICAgICAgICAgbG9nX2RlYnVnKCJEZXZpY2UgJXMgaXMgY2xvc2VkLCBzeW50aGVzaXNpbmcgJ2NoYW5nZSciLCBkZXZuYW1lKTsKKyAgICAgICAgIHN0cnNjcHlsKGZpbGVuYW1lLCBzaXplb2YoZmlsZW5hbWUpLCBzeXNwYXRoLCAiL3VldmVudCIsIE5VTEwpOworLSAgICAgICAgd3JpdGVfc3RyaW5nX2ZpbGUoZmlsZW5hbWUsICJjaGFuZ2UiLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICB3cml0ZV9zdHJpbmdfZmlsZShmaWxlbmFtZSwgImNoYW5nZSIsIDApOworIAorICAgICAgICAgcmV0dXJuIDA7CisgfQorZGlmZiAtLWdpdCBhL3NyYy92Y29uc29sZS92Y29uc29sZS1zZXR1cC5jIGIvc3JjL3Zjb25zb2xlL3Zjb25zb2xlLXNldHVwLmMKK2luZGV4IGViZGViYTMuLmFhODc5ZTYgMTAwNjQ0CistLS0gYS9zcmMvdmNvbnNvbGUvdmNvbnNvbGUtc2V0dXAuYworKysrIGIvc3JjL3Zjb25zb2xlL3Zjb25zb2xlLXNldHVwLmMKK0BAIC0xMTQsNyArMTE0LDcgQEAgc3RhdGljIGludCB0b2dnbGVfdXRmOChjb25zdCBjaGFyICpuYW1lLCBpbnQgZmQsIGJvb2wgdXRmOCkgeworIHN0YXRpYyBpbnQgdG9nZ2xlX3V0Zjhfc3lzZnMoYm9vbCB1dGY4KSB7CisgICAgICAgICBpbnQgcjsKKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9tb2R1bGUvdnQvcGFyYW1ldGVycy9kZWZhdWx0X3V0ZjgiLCBvbmVfemVybyh1dGY4KSwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL21vZHVsZS92dC9wYXJhbWV0ZXJzL2RlZmF1bHRfdXRmOCIsIG9uZV96ZXJvKHV0ZjgpLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ193YXJuaW5nX2Vycm5vKHIsICJGYWlsZWQgdG8gJXMgc3lzZnMgVVRGLTggZmxhZzogJW0iLCBlbmFibGVfZGlzYWJsZSh1dGY4KSk7CisgCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtbG9naW4tdXNlLXBhcnNlX3VpZC13aGVuLXVubW91bnRpbmctdXNlci1ydW50aW1lLWRpci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtbG9naW4tdXNlLXBhcnNlX3VpZC13aGVuLXVubW91bnRpbmctdXNlci1ydW50aW1lLWRpci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmEwOGUzNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWxvZ2luLXVzZS1wYXJzZV91aWQtd2hlbi11bm1vdW50aW5nLXVzZXItcnVudGltZS1kaXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTAgKzAsMCBAQAotRnJvbSA4NmQxOGYzYjA5ZWM5ODRlZjM3MzI1NjdhZjk5MmFkYjJkYzc3YThhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogWXUgV2F0YW5hYmUgPHdhdGFuYWJlLnl1K2dpdGh1YkBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDkgSnVsIDIwMTggMTQ6MDU6MjAgKzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0gbG9naW46IHVzZSBwYXJzZV91aWQoKSB3aGVuIHVubW91bnRpbmcgdXNlciBydW50aW1lIGRpcmVjdG9yeQotCi1XaGVuIHVubW91bnRpbmcgdXNlciBydW50aW1lIGRpcmVjdG9yeSwgb25seSBVSUQgaXMgbmVjZXNzYXJ5LAotYW5kIHRoZSBjb3JyZXNwb25kaW5nIHVzZXIgbWF5IG5vdCBleGlzdCBhbnltb3JlLgotVGhpcyBtYWtlcyBmaXJzdCB0cnkgdG8gcGFyc2UgdGhlIGlucHV0IGJ5IHBhcnNlX3VpZCgpLCBhbmQgb25seSBpZiBpdAotZmFpbHMsIHByYXNlIHRoZSBpbnB1dCBieSBnZXRfdXNlcl9jcmVkcygpLgotCi1GaXhlcyAjOTU0MS4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotLS0tCi0gc3JjL2xvZ2luL3VzZXItcnVudGltZS1kaXIuYyB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2xvZ2luL3VzZXItcnVudGltZS1kaXIuYyBiL3NyYy9sb2dpbi91c2VyLXJ1bnRpbWUtZGlyLmMKLWluZGV4IDFiYjI2Yzk5ZS4uZGU0MDYxYzc1IDEwMDY0NAotLS0tIGEvc3JjL2xvZ2luL3VzZXItcnVudGltZS1kaXIuYwotKysrIGIvc3JjL2xvZ2luL3VzZXItcnVudGltZS1kaXIuYwotQEAgLTExMSw4ICsxMTEsMjIgQEAgc3RhdGljIGludCB1c2VyX3JlbW92ZV9ydW50aW1lX3BhdGgoY29uc3QgY2hhciAqcnVudGltZV9wYXRoKSB7Ci0gICAgICAgICByZXR1cm4gcjsKLSB9Ci0gCi0tc3RhdGljIGludCBkb19tb3VudChjb25zdCBjaGFyICpydW50aW1lX3BhdGgsIHVpZF90IHVpZCwgZ2lkX3QgZ2lkKSB7Ci0rc3RhdGljIGludCBkb19tb3VudChjb25zdCBjaGFyICp1c2VyKSB7Ci0rICAgICAgICBjaGFyIHJ1bnRpbWVfcGF0aFtzaXplb2YoIi9ydW4vdXNlciIpICsgREVDSU1BTF9TVFJfTUFYKHVpZF90KV07Ci0gICAgICAgICBzaXplX3QgcnVudGltZV9kaXJfc2l6ZTsKLSsgICAgICAgIHVpZF90IHVpZDsKLSsgICAgICAgIGdpZF90IGdpZDsKLSsgICAgICAgIGludCByOwotKwotKyAgICAgICAgciA9IGdldF91c2VyX2NyZWRzKCZ1c2VyLCAmdWlkLCAmZ2lkLCBOVUxMLCBOVUxMKTsKLSsgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPT0gLUVTUkNIID8gIk5vIHN1Y2ggdXNlciBcIiVzXCIiIDoKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID09IC1FTk9NU0cgPyAiVUlEIFwiJXNcIiBpcyBpbnZhbGlkIG9yIGhhcyBhbiBpbnZhbGlkIG1haW4gZ3JvdXAiCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIkZhaWxlZCB0byBsb29rIHVwIHVzZXIgXCIlc1wiOiAlbSIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcik7Ci0rCi0rICAgICAgICB4c3ByaW50ZihydW50aW1lX3BhdGgsICIvcnVuL3VzZXIvIiBVSURfRk1ULCB1aWQpOwotIAotICAgICAgICAgYXNzZXJ0X3NlKGdhdGhlcl9jb25maWd1cmF0aW9uKCZydW50aW1lX2Rpcl9zaXplKSA9PSAwKTsKLSAKLUBAIC0xMjAsMTYgKzEzNCwzMCBAQCBzdGF0aWMgaW50IGRvX21vdW50KGNvbnN0IGNoYXIgKnJ1bnRpbWVfcGF0aCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpIHsKLSAgICAgICAgIHJldHVybiB1c2VyX21rZGlyX3J1bnRpbWVfcGF0aChydW50aW1lX3BhdGgsIHVpZCwgZ2lkLCBydW50aW1lX2Rpcl9zaXplKTsKLSB9Ci0gCi0tc3RhdGljIGludCBkb191bW91bnQoY29uc3QgY2hhciAqcnVudGltZV9wYXRoKSB7Ci0rc3RhdGljIGludCBkb191bW91bnQoY29uc3QgY2hhciAqdXNlcikgewotKyAgICAgICAgY2hhciBydW50aW1lX3BhdGhbc2l6ZW9mKCIvcnVuL3VzZXIiKSArIERFQ0lNQUxfU1RSX01BWCh1aWRfdCldOwotKyAgICAgICAgdWlkX3QgdWlkOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICAvKiBUaGUgdXNlciBtYXkgYmUgYWxyZWFkeSByZW1vdmVkLiBTbywgZmlyc3QgdHJ5IHRvIHBhcnNlIHRoZSBzdHJpbmcgYnkgcGFyc2VfdWlkKCksCi0rICAgICAgICAgKiBhbmQgaWYgaXQgZmFpbHMsIGZhbGxiYWNrIHRvIGdldF91c2VyX2NyZWRzKCkuKi8KLSsgICAgICAgIGlmIChwYXJzZV91aWQodXNlciwgJnVpZCkgPCAwKSB7Ci0rICAgICAgICAgICAgICAgIHIgPSBnZXRfdXNlcl9jcmVkcygmdXNlciwgJnVpZCwgTlVMTCwgTlVMTCwgTlVMTCk7Ci0rICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID09IC1FU1JDSCA/ICJObyBzdWNoIHVzZXIgXCIlc1wiIiA6Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID09IC1FTk9NU0cgPyAiVUlEIFwiJXNcIiBpcyBpbnZhbGlkIG9yIGhhcyBhbiBpbnZhbGlkIG1haW4gZ3JvdXAiCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiRmFpbGVkIHRvIGxvb2sgdXAgdXNlciBcIiVzXCI6ICVtIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXIpOwotKyAgICAgICAgfQotKwotKyAgICAgICAgeHNwcmludGYocnVudGltZV9wYXRoLCAiL3J1bi91c2VyLyIgVUlEX0ZNVCwgdWlkKTsKLSsKLSAgICAgICAgIGxvZ19kZWJ1ZygiV2lsbCByZW1vdmUgJXMiLCBydW50aW1lX3BhdGgpOwotICAgICAgICAgcmV0dXJuIHVzZXJfcmVtb3ZlX3J1bnRpbWVfcGF0aChydW50aW1lX3BhdGgpOwotIH0KLSAKLSBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7Ci0tICAgICAgICBjb25zdCBjaGFyICp1c2VyOwotLSAgICAgICAgdWlkX3QgdWlkOwotLSAgICAgICAgZ2lkX3QgZ2lkOwotLSAgICAgICAgY2hhciBydW50aW1lX3BhdGhbc2l6ZW9mKCIvcnVuL3VzZXIiKSArIERFQ0lNQUxfU1RSX01BWCh1aWRfdCldOwotICAgICAgICAgaW50IHI7Ci0gCi0gICAgICAgICBsb2dfcGFyc2VfZW52aXJvbm1lbnQoKTsKLUBAIC0xNDYsMjMgKzE3NCwxMCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7Ci0gCi0gICAgICAgICB1bWFzaygwMDIyKTsKLSAKLS0gICAgICAgIHVzZXIgPSBhcmd2WzJdOwotLSAgICAgICAgciA9IGdldF91c2VyX2NyZWRzKCZ1c2VyLCAmdWlkLCAmZ2lkLCBOVUxMLCBOVUxMKTsKLS0gICAgICAgIGlmIChyIDwgMCkgewotLSAgICAgICAgICAgICAgICBsb2dfZXJyb3JfZXJybm8ociwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPT0gLUVTUkNIID8gIk5vIHN1Y2ggdXNlciBcIiVzXCIiIDoKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPT0gLUVOT01TRyA/ICJVSUQgXCIlc1wiIGlzIGludmFsaWQgb3IgaGFzIGFuIGludmFsaWQgbWFpbiBncm91cCIKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJGYWlsZWQgdG8gbG9vayB1cCB1c2VyIFwiJXNcIjogJW0iLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcik7Ci0tICAgICAgICAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7Ci0tICAgICAgICB9Ci0tCi0tICAgICAgICB4c3ByaW50ZihydW50aW1lX3BhdGgsICIvcnVuL3VzZXIvIiBVSURfRk1ULCB1aWQpOwotLQotICAgICAgICAgaWYgKHN0cmVxKGFyZ3ZbMV0sICJzdGFydCIpKQotLSAgICAgICAgICAgICAgICByID0gZG9fbW91bnQocnVudGltZV9wYXRoLCB1aWQsIGdpZCk7Ci0rICAgICAgICAgICAgICAgIHIgPSBkb19tb3VudChhcmd2WzJdKTsKLSAgICAgICAgIGVsc2UgaWYgKHN0cmVxKGFyZ3ZbMV0sICJzdG9wIikpCi0tICAgICAgICAgICAgICAgIHIgPSBkb191bW91bnQocnVudGltZV9wYXRoKTsKLSsgICAgICAgICAgICAgICAgciA9IGRvX3Vtb3VudChhcmd2WzJdKTsKLSAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgYXNzZXJ0X25vdF9yZWFjaGVkKCJVbmtub3duIHZlcmIhIik7Ci0gCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLW1lc29uLWRlY2xhcmUtdmVyc2lvbi5oLWFzLWRlcC1mb3ItdmFyaW91cy10YXJnZXRzLXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLW1lc29uLWRlY2xhcmUtdmVyc2lvbi5oLWFzLWRlcC1mb3ItdmFyaW91cy10YXJnZXRzLXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDE5MzZmMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtbWVzb24tZGVjbGFyZS12ZXJzaW9uLmgtYXMtZGVwLWZvci12YXJpb3VzLXRhcmdldHMtdC5wYXRjaApAQCAtMCwwICsxLDExOCBAQAorRnJvbSA5Zjg2ZDg3NjlhYjgzMGE3MjRjODRmODQ5OTc1YjU1OTVlMjZiNDdjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP1piaWduaWV3PTIwSj1DND05OWRyemVqZXdza2ktU3ptZWs/PSA8emJ5c3pla0Bpbi53YXcucGw+CitEYXRlOiBTdW4sIDI0IEZlYiAyMDE5IDIyOjQ5OjM4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIG1lc29uOiBkZWNsYXJlIHZlcnNpb24uaCBhcyBkZXAgZm9yIHZhcmlvdXMgdGFyZ2V0cyB0aGF0CisgaW5jbHVkZSBidWlsZC5oCisKK1Nob3VsZCBmaXggIzExNTY1LgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIG1lc29uLmJ1aWxkICAgICAgICAgIHwgMTkgKysrKysrKysrKysrKy0tLS0tLQorIHNyYy9jb3JlL21lc29uLmJ1aWxkIHwgIDMgKystCisgc3JjL3VkZXYvbWVzb24uYnVpbGQgfCAgMSArCisgMyBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAoraW5kZXggMzBkZjgzNC4uMjMyZjNlMSAxMDA2NDQKKy0tLSBhL21lc29uLmJ1aWxkCisrKysgYi9tZXNvbi5idWlsZAorQEAgLTE2MzcsNyArMTYzNyw4IEBAIGV4ZSA9IGV4ZWN1dGFibGUoJ3N5c3RlbWQtYW5hbHl6ZScsCisgICAgICAgICAgICAgICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzIDogaW5jbHVkZXMsCisgICAgICAgICAgICAgICAgICBsaW5rX3dpdGggOiBbbGliY29yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJzaGFyZWRdLAorLSAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3RocmVhZHMsCisrICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdmVyc2lvbmRlcCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJlYWRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnNlY2NvbXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlic2VsaW51eCwKK0BAIC0yMTgzLDcgKzIxODQsOCBAQCBpZiBjb25mLmdldCgnRU5BQkxFX0lNUE9SVEQnKSA9PSAxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbWRfcHVsbF9zb3VyY2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzIDogaW5jbHVkZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtfd2l0aCA6IFtsaWJzaGFyZWRdLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBbbGliY3VybCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3ZlcnNpb25kZXAsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJjdXJsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmJ6aXAyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieHosCitAQCAtMjIzMiw3ICsyMjM0LDggQEAgaWYgY29uZi5nZXQoJ0VOQUJMRV9SRU1PVEUnKSA9PSAxIGFuZCBjb25mLmdldCgnSEFWRV9MSUJDVVJMJykgPT0gMQorICAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0ZW1kX2pvdXJuYWxfdXBsb2FkX3NvdXJjZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVfZGlyZWN0b3JpZXMgOiBpbmNsdWRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua193aXRoIDogW2xpYnNoYXJlZF0sCistICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyA6IFt0aHJlYWRzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdmVyc2lvbmRlcCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocmVhZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJjdXJsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGliZ251dGxzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieHosCitAQCAtMjU1OCw2ICsyNTYxLDcgQEAgZXhlID0gZXhlY3V0YWJsZSgnc3lzdGVtZC1zdGRpby1icmlkZ2UnLAorICAgICAgICAgICAgICAgICAgJ3NyYy9zdGRpby1icmlkZ2Uvc3RkaW8tYnJpZGdlLmMnLAorICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJlY3RvcmllcyA6IGluY2x1ZGVzLAorICAgICAgICAgICAgICAgICAgbGlua193aXRoIDogW2xpYnNoYXJlZF0sCisrICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdmVyc2lvbmRlcF0sCisgICAgICAgICAgICAgICAgICBpbnN0YWxsX3JwYXRoIDogcm9vdGxpYmV4ZWNkaXIsCisgICAgICAgICAgICAgICAgICBpbnN0YWxsIDogdHJ1ZSkKKyBwdWJsaWNfcHJvZ3JhbXMgKz0gZXhlCitAQCAtMjY0MSw3ICsyNjQ1LDggQEAgZXhlID0gZXhlY3V0YWJsZSgnc3lzdGVtZC11ZGV2ZCcsCisgICAgICAgICAgICAgICAgICBsaW5rX3dpdGggOiBbbGlidWRldl9jb3JlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnN5c3RlbWRfbmV0d29yaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ1ZGV2X3N0YXRpY10sCistICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdGhyZWFkcywKKysgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyA6IFt2ZXJzaW9uZGVwLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocmVhZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlia21vZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJpZG4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGliYWNsLAorQEAgLTI2NTgsNyArMjY2Myw4IEBAIGV4ZSA9IGV4ZWN1dGFibGUoJ3VkZXZhZG0nLAorICAgICAgICAgICAgICAgICAgbGlua193aXRoIDogW2xpYnVkZXZfY29yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJzeXN0ZW1kX25ldHdvcmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlidWRldl9zdGF0aWNdLAorLSAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3RocmVhZHMsCisrICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdmVyc2lvbmRlcCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJlYWRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmttb2QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGliaWRuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmFjbCwKK0BAIC0yNzk4LDcgKzI4MDQsOCBAQCBmb3JlYWNoIHR1cGxlIDogdGVzdHMKKyAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVfZGlyZWN0b3JpZXMgOiBpbmNzLAorICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtfd2l0aCA6IGxpbmtfd2l0aCwKKy0gICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBkZXBlbmRlbmNpZXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3ZlcnNpb25kZXAsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llc10sCisgICAgICAgICAgICAgICAgICAgICAgICAgY19hcmdzIDogZGVmcywKKyAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZF9ieV9kZWZhdWx0IDogd2FudF90ZXN0cyAhPSAnZmFsc2UnLAorICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbGxfcnBhdGggOiByb290bGliZXhlY2RpciwKK2RpZmYgLS1naXQgYS9zcmMvY29yZS9tZXNvbi5idWlsZCBiL3NyYy9jb3JlL21lc29uLmJ1aWxkCitpbmRleCA4NTAyMWJkLi44OGZiMDkzIDEwMDY0NAorLS0tIGEvc3JjL2NvcmUvbWVzb24uYnVpbGQKKysrKyBiL3NyYy9jb3JlL21lc29uLmJ1aWxkCitAQCAtMTUwLDcgKzE1MCw4IEBAIGxpYmNvcmUgPSBzdGF0aWNfbGlicmFyeSgKKyAgICAgICAgIGxvYWRfZnJhZ21lbnRfZ3BlcmZfYywKKyAgICAgICAgIGxvYWRfZnJhZ21lbnRfZ3BlcmZfbnVsc3RyX2MsCisgICAgICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzIDogaW5jbHVkZXMsCistICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdGhyZWFkcywKKysgICAgICAgIGRlcGVuZGVuY2llcyA6IFt2ZXJzaW9uZGVwLAorKyAgICAgICAgICAgICAgICAgICAgICAgIHRocmVhZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgbGlicnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgbGlic2VjY29tcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsaWJwYW0sCitkaWZmIC0tZ2l0IGEvc3JjL3VkZXYvbWVzb24uYnVpbGQgYi9zcmMvdWRldi9tZXNvbi5idWlsZAoraW5kZXggOWQzZjZkMS4uOTczYTc1ZSAxMDA2NDQKKy0tLSBhL3NyYy91ZGV2L21lc29uLmJ1aWxkCisrKysgYi9zcmMvdWRldi9tZXNvbi5idWlsZAorQEAgLTE4MCw2ICsxODAsNyBAQCBmb3JlYWNoIHByb2cgOiBbWydhdGFfaWQvYXRhX2lkLmMnXSwKKyAgICAgICAgICAgICAgICAgICAgcHJvZywKKyAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJlY3RvcmllcyA6IGluY2x1ZGVzLAorICAgICAgICAgICAgICAgICAgICBjX2FyZ3MgOiBbJy1ETE9HX1JFQUxNPUxPR19SRUFMTV9VREVWJ10sCisrICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyA6IFt2ZXJzaW9uZGVwXSwKKyAgICAgICAgICAgICAgICAgICAgbGlua193aXRoIDogW2xpYnVkZXZfc3RhdGljXSwKKyAgICAgICAgICAgICAgICAgICAgaW5zdGFsbF9ycGF0aCA6IHVkZXZfcnBhdGgsCisgICAgICAgICAgICAgICAgICAgIGluc3RhbGwgOiB0cnVlLAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLW1lc29uLWRlY2xhcmUtdmVyc2lvbi5oLWFzLWRlcGVuZGVuY3ktZm9yLXN5c3RlbWQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLW1lc29uLWRlY2xhcmUtdmVyc2lvbi5oLWFzLWRlcGVuZGVuY3ktZm9yLXN5c3RlbWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODg3NGRmZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtbWVzb24tZGVjbGFyZS12ZXJzaW9uLmgtYXMtZGVwZW5kZW5jeS1mb3Itc3lzdGVtZC5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIGUxNGQ3MjRhOTMyYTI1NWVlYzRkNjBiMDhlMTI4NTE5YzMzZTg4ZWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTE6NTk6MjMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWVzb246IGRlY2xhcmUgdmVyc2lvbi5oIGFzIGRlcGVuZGVuY3kgZm9yIHN5c3RlbWQKKworVGhpcyBpcyBhIGZvbGxvd3VwIHRvICMxMTgxNSBhbmQgYWRkcyB0aGUgbGFzdCBtaXNzaW5nIGRlcGVuZGVuY3kuCitXaXRoIHRoaXMgIzExNTY1IGlzIGhvcGVmdWxseSByZWFsbHkgZml4ZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgbWVzb24uYnVpbGQgfCAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDIzMmYzZTEuLjcwMTQ4YmUgMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC0xNjE4LDcgKzE2MTgsOCBAQCBleGVjdXRhYmxlKCdzeXN0ZW1kJywKKyAgICAgICAgICAgIGluY2x1ZGVfZGlyZWN0b3JpZXMgOiBpbmNsdWRlcywKKyAgICAgICAgICAgIGxpbmtfd2l0aCA6IFtsaWJjb3JlLAorICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnNoYXJlZF0sCistICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdGhyZWFkcywKKysgICAgICAgICAgIGRlcGVuZGVuY2llcyA6IFt2ZXJzaW9uZGVwLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocmVhZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlic2VjY29tcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJzZWxpbnV4LAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLW1lc29uLXJlbmFtZS1EZGVidWctdG8tRGRlYnVnLWV4dHJhLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1tZXNvbi1yZW5hbWUtRGRlYnVnLXRvLURkZWJ1Zy1leHRyYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDZkMzA1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLW1lc29uLXJlbmFtZS1EZGVidWctdG8tRGRlYnVnLWV4dHJhLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSA4ZjZiNDQyYTc4ZDBiNDg1ZjA0NDc0MmFkOTBiMmU4MjcxYjRlNjhlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP1piaWduaWV3PTIwSj1DND05OWRyemVqZXdza2ktU3ptZWs/PSA8emJ5c3pla0Bpbi53YXcucGw+Ci1EYXRlOiBTdW4sIDE5IEF1ZyAyMDE4IDE5OjExOjMwICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG1lc29uOiByZW5hbWUgLURkZWJ1ZyB0byAtRGRlYnVnLWV4dHJhCi0KLU1lc29uIGFkZGVkIC1Eb3B0aW1pemF0aW9uIGFuZCAtRGRlYnVnIG9wdGlvbnMsIHdoaWNoIG9idmlvdXNseSBjYXVzZXMKLWEgY29uZmxpY3Qgd2l0aCBvdXIgLURkZWJ1ZyBvcHRpb25zLiBMZXQncyByZW5hbWUgaXQuCi0KLUZpeGVzICM5ODgzLgotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci0tLS0KLSBtZXNvbi5idWlsZCAgICAgICB8IDIgKy0KLSBtZXNvbl9vcHRpb25zLnR4dCB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKLWluZGV4IGY3OWFjNGIxMi4uMjIwOWM5MzVhIDEwMDY0NAotLS0tIGEvbWVzb24uYnVpbGQKLSsrKyBiL21lc29uLmJ1aWxkCi1AQCAtNzYzLDcgKzc2Myw3IEBAIHN1YnN0cy5zZXQoJ0RFQlVHVFRZJywgZ2V0X29wdGlvbignZGVidWctdHR5JykpCi0gCi0gZW5hYmxlX2RlYnVnX2hhc2htYXAgPSBmYWxzZQotIGVuYWJsZV9kZWJ1Z19tbWFwX2NhY2hlID0gZmFsc2UKLS1mb3JlYWNoIG5hbWUgOiBnZXRfb3B0aW9uKCdkZWJ1ZycpCi0rZm9yZWFjaCBuYW1lIDogZ2V0X29wdGlvbignZGVidWctZXh0cmEnKQotICAgICAgICAgaWYgbmFtZSA9PSAnaGFzaG1hcCcKLSAgICAgICAgICAgICAgICAgZW5hYmxlX2RlYnVnX2hhc2htYXAgPSB0cnVlCi0gICAgICAgICBlbGlmIG5hbWUgPT0gJ21tYXAtY2FjaGUnCi1kaWZmIC0tZ2l0IGEvbWVzb25fb3B0aW9ucy50eHQgYi9tZXNvbl9vcHRpb25zLnR4dAotaW5kZXggZTMxNDBjOGMxLi43YjFmNjFiZjQgMTAwNjQ0Ci0tLS0gYS9tZXNvbl9vcHRpb25zLnR4dAotKysrIGIvbWVzb25fb3B0aW9ucy50eHQKLUBAIC00NSw3ICs0NSw3IEBAIG9wdGlvbignZGVidWctc2hlbGwnLCB0eXBlIDogJ3N0cmluZycsIHZhbHVlIDogJy9iaW4vc2gnLAotICAgICAgICBkZXNjcmlwdGlvbiA6ICdwYXRoIHRvIGRlYnVnIHNoZWxsIGJpbmFyeScpCi0gb3B0aW9uKCdkZWJ1Zy10dHknLCB0eXBlIDogJ3N0cmluZycsIHZhbHVlIDogJy9kZXYvdHR5OScsCi0gICAgICAgIGRlc2NyaXB0aW9uIDogJ3NwZWNpZnkgdGhlIHR0eSBkZXZpY2UgZm9yIGRlYnVnIHNoZWxsJykKLS1vcHRpb24oJ2RlYnVnJywgdHlwZSA6ICdhcnJheScsIGNob2ljZXMgOiBbJ2hhc2htYXAnLCAnbW1hcC1jYWNoZSddLCB2YWx1ZSA6IFtdLAotK29wdGlvbignZGVidWctZXh0cmEnLCB0eXBlIDogJ2FycmF5JywgY2hvaWNlcyA6IFsnaGFzaG1hcCcsICdtbWFwLWNhY2hlJ10sIHZhbHVlIDogW10sCi0gICAgICAgIGRlc2NyaXB0aW9uIDogJ2VuYWJsZSBleHRyYSBkZWJ1Z2dpbmcnKQotIG9wdGlvbignbWVtb3J5LWFjY291bnRpbmctZGVmYXVsdCcsIHR5cGUgOiAnYm9vbGVhbicsCi0gICAgICAgIGRlc2NyaXB0aW9uIDogJ2VuYWJsZSBNZW1vcnlBY2NvdW50aW5nPSBieSBkZWZhdWx0JykKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtc2QtYnVzLW1ha2UtQlVTX0RFRkFVTFRfVElNRU9VVC1jb25maWd1cmFibGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXNkLWJ1cy1tYWtlLUJVU19ERUZBVUxUX1RJTUVPVVQtY29uZmlndXJhYmxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NWM5YjViLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtc2QtYnVzLW1ha2UtQlVTX0RFRkFVTFRfVElNRU9VVC1jb25maWd1cmFibGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNzUgKzAsMCBAQAotRnJvbSA1Yjc1YTcyZWU5NjhjOTY2NmI1ZjJlYTMxMzcyMGI2YzM4M2NiNGMyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogWXUgV2F0YW5hYmUgPHdhdGFuYWJlLnl1K2dpdGh1YkBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDEzIEp1bCAyMDE4IDE3OjM4OjQ3ICswOTAwCi1TdWJqZWN0OiBbUEFUQ0hdIHNkLWJ1czogbWFrZSBCVVNfREVGQVVMVF9USU1FT1VUIGNvbmZpZ3VyYWJsZQotCi1UaGlzIGFkZHMgc2RfYnVzX3tnZXQsc2V0fV9tZXRob2RfY2FsbF90aW1lb3V0KCkuCi1JZiB0aGUgdGltZW91dCBpcyBub3Qgc2V0IG9yIHNldCB0byAwLCB0aGVuIHRoZSB0aW1lb3V0IHZhbHVlIGlzCi1wYXJzZWQgZnJvbSAkU1lTVEVNRF9CVVNfVElNRU9VVD0gZW52aXJvbm1lbnQgdmFyaWFibGUuIElmIHRoZQotZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IHNldCwgdGhlbiBidWlsdC1pbiB0aW1lb3V0IGlzIHVzZWQuCi0tLS0KLSBkb2MvRU5WSVJPTk1FTlQubWQgICAgICAgICAgICAgICAgICAgfCAgNSArKysrKwotIHNyYy9saWJzeXN0ZW1kL2xpYnN5c3RlbWQuc3ltICAgICAgICB8ICA1ICsrKysrCi0gc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1pbnRlcm5hbC5oIHwgIDkgKysrKy0tLS0KLSBzcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLW1lc3NhZ2UuYyAgfCAgNyArKysrKy0tCi0gc3JjL2xpYnN5c3RlbWQvc2QtYnVzL3NkLWJ1cy5jICAgICAgIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCi0gc3JjL3N5c3RlbWQvc2QtYnVzLmggICAgICAgICAgICAgICAgIHwgIDMgKysrCi0gNiBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLQotZGlmZiAtLWdpdCBhL2RvYy9FTlZJUk9OTUVOVC5tZCBiL2RvYy9FTlZJUk9OTUVOVC5tZAotaW5kZXggODVkMjZmZTI4Yy4uNjQxYTAzZDVkNyAxMDA2NDQKLS0tLSBhL2RvYy9FTlZJUk9OTUVOVC5tZAotKysrIGIvZG9jL0VOVklST05NRU5ULm1kCi1AQCAtMzcsNiArMzcsMTEgQEAgQWxsIHRvb2xzOgotICAgdXNlZnVsIGZvciBkZWJ1Z2dpbmcsIGluIG9yZGVyIHRvIHRlc3QgZ2VuZXJhdG9ycyBhbmQgb3RoZXIgY29kZSBhZ2FpbnN0Ci0gICBzcGVjaWZpYyBrZXJuZWwgY29tbWFuZCBsaW5lcy4KLSAKLSsqIGAkU1lTVEVNRF9CVVNfVElNRU9VVD1TRUNTYCDigJQgc3BlY2lmaWVzIHRoZSBtYXhpbXVtIHRpbWUgdG8gd2FpdCBmb3IgbWV0aG9kIGNhbGwKLSsgIGNvbXBsZXRpb24uIElmIG5vIHRpbWUgdW5pdCBpcyBzcGVjaWZpZWQsIGFzc3VtZXMgc2Vjb25kcy4gVGhlIHVzdWFsIG90aGVyIHVuaXRzCi0rICBhcmUgdW5kZXJzdG9vZCwgdG9vICh1cywgbXMsIHMsIG1pbiwgaCwgZCwgdywgbW9udGgsIHkpLiBJZiBpdCBpcyBub3Qgc2V0IG9yIHNldAotKyAgdG8gMCwgdGhlbiB0aGUgYnVpbHQtaW4gZGVmYXVsdCBpcyB1c2VkLgotKwotIHN5c3RlbWN0bDoKLSAKLSAqIGAkU1lTVEVNQ1RMX0ZPUkNFX0JVUz0xYCDigJQgaWYgc2V0LCBkbyBub3QgY29ubmVjdCB0byBQSUQxJ3MgcHJpdmF0ZSBELUJ1cwotZGlmZiAtLWdpdCBhL3NyYy9saWJzeXN0ZW1kL2xpYnN5c3RlbWQuc3ltIGIvc3JjL2xpYnN5c3RlbWQvbGlic3lzdGVtZC5zeW0KLWluZGV4IDFlZWMxN2RiNTAuLjAwNmRiYzljM2YgMTAwNjQ0Ci0tLS0gYS9zcmMvbGlic3lzdGVtZC9saWJzeXN0ZW1kLnN5bQotKysrIGIvc3JjL2xpYnN5c3RlbWQvbGlic3lzdGVtZC5zeW0KLUBAIC01NzAsMyArNTcwLDggQEAgZ2xvYmFsOgotICAgICAgICAgc2RfZXZlbnRfc291cmNlX3NldF9kZXN0cm95X2NhbGxiYWNrOwotICAgICAgICAgc2RfZXZlbnRfc291cmNlX2dldF9kZXN0cm95X2NhbGxiYWNrOwotIH0gTElCU1lTVEVNRF8yMzg7Ci0rCi0rTElCU1lTVEVNRF8yNDAgewotKyAgICAgICAgc2RfYnVzX3NldF9tZXRob2RfY2FsbF90aW1lb3V0OwotKyAgICAgICAgc2RfYnVzX2dldF9tZXRob2RfY2FsbF90aW1lb3V0OwotK30gTElCU1lTVEVNRF8yMzk7Ci1kaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1pbnRlcm5hbC5oIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1pbnRlcm5hbC5oCi1pbmRleCAyMDg3ZWY4ZWViLi40ODY0YjFlOTExIDEwMDY0NAotLS0tIGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1pbnRlcm5hbC5oCi0rKysgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWludGVybmFsLmgKLUBAIC0zMTksNiArMzE5LDkgQEAgc3RydWN0IHNkX2J1cyB7Ci0gCi0gICAgICAgICBpbnQgKmlub3RpZnlfd2F0Y2hlczsKLSAgICAgICAgIHNpemVfdCBuX2lub3RpZnlfd2F0Y2hlczsKLSsKLSsgICAgICAgIC8qIHplcm8gbWVhbnMgdXNlIHZhbHVlIHNwZWNpZmllZCBieSAkU1lTVEVNRF9CVVNfVElNRU9VVD0gZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgYnVpbHQtaW4gZGVmYXVsdCAqLwotKyAgICAgICAgdXNlY190IG1ldGhvZF9jYWxsX3RpbWVvdXQ7Ci0gfTsKLSAKLSAvKiBGb3IgbWV0aG9kIGNhbGxzIHdlIHRpbWUtb3V0IGF0IDI1cywgbGlrZSBpbiB0aGUgRC1CdXMgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uICovCi1AQCAtMzM2LDggKzMzOSw3IEBAIHN0cnVjdCBzZF9idXMgewotIAotICNkZWZpbmUgQlVTX0NPTlRBSU5FUl9ERVBUSCAxMjgKLSAKLS0vKiBEZWZpbmVkIGJ5IHRoZSBzcGVjaWZpY2F0aW9uIGFzIG1heGltdW0gc2l6ZSBvZiBhbiBhcnJheSBpbgotLSAqIGJ5dGVzICovCi0rLyogRGVmaW5lZCBieSB0aGUgc3BlY2lmaWNhdGlvbiBhcyBtYXhpbXVtIHNpemUgb2YgYW4gYXJyYXkgaW4gYnl0ZXMgKi8KLSAjZGVmaW5lIEJVU19BUlJBWV9NQVhfU0laRSA2NzEwODg2NAotIAotICNkZWZpbmUgQlVTX0ZEU19NQVggMTAyNAotQEAgLTM4OCw4ICszOTAsNyBAQCB2b2lkIGJ1c19jbG9zZV9pb19mZHMoc2RfYnVzICpiKTsKLSAgICAgICAgICAgICAgX3NsYXNoID0gc3RyZXEoKHByZWZpeCksICIvIikgPyBOVUxMIDogc3RycmNocigocHJlZml4KSwgJy8nKSkKLSAKLSAvKiBJZiB3ZSBhcmUgaW52b2tpbmcgY2FsbGJhY2tzIG9mIGEgYnVzIG9iamVjdCwgZW5zdXJlIHVucmVmZmluZyB0aGUKLS0gKiBidXMgZnJvbSB0aGUgY2FsbGJhY2sgZG9lc24ndCBkZXN0cm95IHRoZSBvYmplY3Qgd2UgYXJlIHdvcmtpbmcKLS0gKiBvbiAqLwotKyAqIGJ1cyBmcm9tIHRoZSBjYWxsYmFjayBkb2Vzbid0IGRlc3Ryb3kgdGhlIG9iamVjdCB3ZSBhcmUgd29ya2luZyBvbiAqLwotICNkZWZpbmUgQlVTX0RPTlRfREVTVFJPWShidXMpIFwKLSAgICAgICAgIF9jbGVhbnVwXyhzZF9idXNfdW5yZWZwKSBfdW51c2VkXyBzZF9idXMgKl9kb250X2Rlc3Ryb3lfIyNidXMgPSBzZF9idXNfcmVmKGJ1cykKLSAKLWRpZmYgLS1naXQgYS9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLW1lc3NhZ2UuYyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtbWVzc2FnZS5jCi1pbmRleCA4ZDkyYmMyMDAyLi5kZmZlNzBhNjY1IDEwMDY0NAotLS0tIGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1tZXNzYWdlLmMKLSsrKyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtbWVzc2FnZS5jCi1AQCAtNTgwOSw4ICs1ODA5LDExIEBAIGludCBidXNfbWVzc2FnZV9yZW1hcnNoYWwoc2RfYnVzICpidXMsIHNkX2J1c19tZXNzYWdlICoqbSkgewotICAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSAKLSAgICAgICAgIHRpbWVvdXQgPSAoKm0pLT50aW1lb3V0OwotLSAgICAgICAgaWYgKHRpbWVvdXQgPT0gMCAmJiAhKCgqbSktPmhlYWRlci0+ZmxhZ3MgJiBCVVNfTUVTU0FHRV9OT19SRVBMWV9FWFBFQ1RFRCkpCi0tICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBCVVNfREVGQVVMVF9USU1FT1VUOwotKyAgICAgICAgaWYgKHRpbWVvdXQgPT0gMCAmJiAhKCgqbSktPmhlYWRlci0+ZmxhZ3MgJiBCVVNfTUVTU0FHRV9OT19SRVBMWV9FWFBFQ1RFRCkpIHsKLSsgICAgICAgICAgICAgICAgciA9IHNkX2J1c19nZXRfbWV0aG9kX2NhbGxfdGltZW91dChidXMsICZ0aW1lb3V0KTsKLSsgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwotKyAgICAgICAgfQotIAotICAgICAgICAgciA9IHNkX2J1c19tZXNzYWdlX3NlYWwobiwgQlVTX01FU1NBR0VfQ09PS0lFKCptKSwgdGltZW91dCk7Ci0gICAgICAgICBpZiAociA8IDApCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL3NkLWJ1cy5jIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL3NkLWJ1cy5jCi1pbmRleCAwODliNTFhNmQ5Li45NDU0OTBlYmY3IDEwMDY0NAotLS0tIGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL3NkLWJ1cy5jCi0rKysgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvc2QtYnVzLmMKLUBAIC0xNjExLDggKzE2MTEsMTEgQEAgc3RhdGljIGludCBidXNfc2VhbF9tZXNzYWdlKHNkX2J1cyAqYiwgc2RfYnVzX21lc3NhZ2UgKm0sIHVzZWNfdCB0aW1lb3V0KSB7Ci0gICAgICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAgfQotIAotLSAgICAgICAgaWYgKHRpbWVvdXQgPT0gMCkKLS0gICAgICAgICAgICAgICAgdGltZW91dCA9IEJVU19ERUZBVUxUX1RJTUVPVVQ7Ci0rICAgICAgICBpZiAodGltZW91dCA9PSAwKSB7Ci0rICAgICAgICAgICAgICAgIHIgPSBzZF9idXNfZ2V0X21ldGhvZF9jYWxsX3RpbWVvdXQoYiwgJnRpbWVvdXQpOwotKyAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0rICAgICAgICB9Ci0gCi0gICAgICAgICBpZiAoIW0tPnNlbmRlciAmJiBiLT5wYXRjaF9zZW5kZXIpIHsKLSAgICAgICAgICAgICAgICAgciA9IHNkX2J1c19tZXNzYWdlX3NldF9zZW5kZXIobSwgYi0+cGF0Y2hfc2VuZGVyKTsKLUBAIC00MDc1LDMgKzQwNzgsMzYgQEAgX3B1YmxpY18gaW50IHNkX2J1c19nZXRfbl9xdWV1ZWRfd3JpdGUoc2RfYnVzICpidXMsIHVpbnQ2NF90ICpyZXQpIHsKLSAgICAgICAgICpyZXQgPSBidXMtPndxdWV1ZV9zaXplOwotICAgICAgICAgcmV0dXJuIDA7Ci0gfQotKwotK19wdWJsaWNfIGludCBzZF9idXNfc2V0X21ldGhvZF9jYWxsX3RpbWVvdXQoc2RfYnVzICpidXMsIHVpbnQ2NF90IHVzZWMpIHsKLSsgICAgICAgIGFzc2VydF9yZXR1cm4oYnVzLCAtRUlOVkFMKTsKLSsgICAgICAgIGFzc2VydF9yZXR1cm4oYnVzID0gYnVzX3Jlc29sdmUoYnVzKSwgLUVOT1BLRyk7Ci0rCi0rICAgICAgICBidXMtPm1ldGhvZF9jYWxsX3RpbWVvdXQgPSB1c2VjOwotKyAgICAgICAgcmV0dXJuIDA7Ci0rfQotKwotK19wdWJsaWNfIGludCBzZF9idXNfZ2V0X21ldGhvZF9jYWxsX3RpbWVvdXQoc2RfYnVzICpidXMsIHVpbnQ2NF90ICpyZXQpIHsKLSsgICAgICAgIGNvbnN0IGNoYXIgKmU7Ci0rICAgICAgICB1c2VjX3QgdXNlYzsKLSsKLSsgICAgICAgIGFzc2VydF9yZXR1cm4oYnVzLCAtRUlOVkFMKTsKLSsgICAgICAgIGFzc2VydF9yZXR1cm4oYnVzID0gYnVzX3Jlc29sdmUoYnVzKSwgLUVOT1BLRyk7Ci0rICAgICAgICBhc3NlcnRfcmV0dXJuKHJldCwgLUVJTlZBTCk7Ci0rCi0rICAgICAgICBpZiAoYnVzLT5tZXRob2RfY2FsbF90aW1lb3V0ICE9IDApIHsKLSsgICAgICAgICAgICAgICAgKnJldCA9IGJ1cy0+bWV0aG9kX2NhbGxfdGltZW91dDsKLSsgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0rICAgICAgICB9Ci0rCi0rICAgICAgICBlID0gc2VjdXJlX2dldGVudigiU1lTVEVNRF9CVVNfVElNRU9VVCIpOwotKyAgICAgICAgaWYgKGUgJiYgcGFyc2Vfc2VjKGUsICZ1c2VjKSA+PSAwICYmIHVzZWMgIT0gMCkgewotKyAgICAgICAgICAgICAgICAvKiBTYXZlIHRoZSBwYXJzZWQgdmFsdWUgdG8gYXZvaWQgbXVsdGlwbGUgcGFyc2luZy4gVG8gY2hhbmdlIHRoZSB0aW1lb3V0IHZhbHVlLAotKyAgICAgICAgICAgICAgICAgKiB1c2Ugc2RfYnVzX3NldF9tZXRob2RfY2FsbF90aW1lb3V0KCkgaW5zdGVhZCBvZiBzZXRlbnYoKS4gKi8KLSsgICAgICAgICAgICAgICAgKnJldCA9IGJ1cy0+bWV0aG9kX2NhbGxfdGltZW91dCA9IHVzZWM7Ci0rICAgICAgICAgICAgICAgIHJldHVybiAwOwotKyAgICAgICAgfQotKwotKyAgICAgICAgKnJldCA9IGJ1cy0+bWV0aG9kX2NhbGxfdGltZW91dCA9IEJVU19ERUZBVUxUX1RJTUVPVVQ7Ci0rICAgICAgICByZXR1cm4gMDsKLSt9Ci1kaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc2QtYnVzLmggYi9zcmMvc3lzdGVtZC9zZC1idXMuaAotaW5kZXggNTRjNGIxY2E4My4uYzlmZDI1NDgzNCAxMDA2NDQKLS0tLSBhL3NyYy9zeXN0ZW1kL3NkLWJ1cy5oCi0rKysgYi9zcmMvc3lzdGVtZC9zZC1idXMuaAotQEAgLTIwNiw2ICsyMDYsOSBAQCBzZF9ldmVudCAqc2RfYnVzX2dldF9ldmVudChzZF9idXMgKmJ1cyk7Ci0gaW50IHNkX2J1c19nZXRfbl9xdWV1ZWRfcmVhZChzZF9idXMgKmJ1cywgdWludDY0X3QgKnJldCk7Ci0gaW50IHNkX2J1c19nZXRfbl9xdWV1ZWRfd3JpdGUoc2RfYnVzICpidXMsIHVpbnQ2NF90ICpyZXQpOwotIAotK2ludCBzZF9idXNfc2V0X21ldGhvZF9jYWxsX3RpbWVvdXQoc2RfYnVzICpidXMsIHVpbnQ2NF90IHVzZWMpOwotK2ludCBzZF9idXNfZ2V0X21ldGhvZF9jYWxsX3RpbWVvdXQoc2RfYnVzICpidXMsIHVpbnQ2NF90ICpyZXQpOwotKwotIGludCBzZF9idXNfYWRkX2ZpbHRlcihzZF9idXMgKmJ1cywgc2RfYnVzX3Nsb3QgKipzbG90LCBzZF9idXNfbWVzc2FnZV9oYW5kbGVyX3QgY2FsbGJhY2ssIHZvaWQgKnVzZXJkYXRhKTsKLSBpbnQgc2RfYnVzX2FkZF9tYXRjaChzZF9idXMgKmJ1cywgc2RfYnVzX3Nsb3QgKipzbG90LCBjb25zdCBjaGFyICptYXRjaCwgc2RfYnVzX21lc3NhZ2VfaGFuZGxlcl90IGNhbGxiYWNrLCB2b2lkICp1c2VyZGF0YSk7Ci0gaW50IHNkX2J1c19hZGRfbWF0Y2hfYXN5bmMoc2RfYnVzICpidXMsIHNkX2J1c19zbG90ICoqc2xvdCwgY29uc3QgY2hhciAqbWF0Y2gsIHNkX2J1c19tZXNzYWdlX2hhbmRsZXJfdCBjYWxsYmFjaywgc2RfYnVzX21lc3NhZ2VfaGFuZGxlcl90IGluc3RhbGxfY2FsbGJhY2ssIHZvaWQgKnVzZXJkYXRhKTsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtc3lzY3RsLURvbi10LXBhc3MtbnVsbC1kaXJlY3RpdmUtYXJndW1lbnQtdG8tcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtc3lzY3RsLURvbi10LXBhc3MtbnVsbC1kaXJlY3RpdmUtYXJndW1lbnQtdG8tcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDUzOGM3Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXN5c2N0bC1Eb24tdC1wYXNzLW51bGwtZGlyZWN0aXZlLWFyZ3VtZW50LXRvLXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi1Gcm9tIGJmYzQxODNlYTk5NWYxYzIxMTM4NWQwNjZjZGIxZmU5Y2U4OWY2MjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU3VuLCAxNiBEZWMgMjAxOCAyMDo1MzozOCAtMDgwMAotU3ViamVjdDogW1BBVENIIDEvMl0gc3lzY3RsOiBEb24ndCBwYXNzIG51bGwgZGlyZWN0aXZlIGFyZ3VtZW50IHRvICclcycKLQotdmFsdWUgcG9pbnRlciBoZXJlIGlzIGFsd2F5cyBOVUxMIGJ1dCAgc3Vic2VxdWVudCB1c2Ugb2YgdGhhdCBwb2ludGVyCi13aXRoIGEgJXMgZm9ybWF0IHdpbGwgYWx3YXlzIGJlIE5VTEwsIHByaW50aW5nIHAgaW5zdGVhZCB3b3VsZCBiZSBhCi12YWxpZCBzdHJpbmcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9zeXN0ZW1kL3N5c3RlbWQvcHVsbC8xMTE3OV0KLSBzcmMvc3lzY3RsL3N5c2N0bC5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c2N0bC9zeXNjdGwuYyBiL3NyYy9zeXNjdGwvc3lzY3RsLmMKLWluZGV4IDFjZmU1MTAxOC4uYzY3ZDc5MDMyIDEwMDY0NAotLS0tIGEvc3JjL3N5c2N0bC9zeXNjdGwuYwotKysrIGIvc3JjL3N5c2N0bC9zeXNjdGwuYwotQEAgLTExNSw3ICsxMTUsNyBAQCBzdGF0aWMgaW50IHBhcnNlX2ZpbGUoT3JkZXJlZEhhc2htYXAgKnN5c2N0bF9vcHRpb25zLCBjb25zdCBjaGFyICpwYXRoLCBib29sIGlnbgotIAotICAgICAgICAgICAgICAgICB2YWx1ZSA9IHN0cmNocihwLCAnPScpOwotICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgbG9nX2Vycm9yKCJMaW5lIGlzIG5vdCBhbiBhc3NpZ25tZW50IGF0ICclczoldSc6ICVzIiwgcGF0aCwgYywgdmFsdWUpOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19lcnJvcigiTGluZSBpcyBub3QgYW4gYXNzaWdubWVudCBhdCAnJXM6JXUnOiAlcyIsIHBhdGgsIGMsIHApOwotIAotICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyID09IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gLUVJTlZBTDsKLS0tIAotMi4yMC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtdGltZXN5bmMtY2hhbmdlcy10eXBlLW9mLWRyaWZ0X2ZyZXEtdG8taW50NjRfdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtdGltZXN5bmMtY2hhbmdlcy10eXBlLW9mLWRyaWZ0X2ZyZXEtdG8taW50NjRfdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGQzOTVjMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXRpbWVzeW5jLWNoYW5nZXMtdHlwZS1vZi1kcmlmdF9mcmVxLXRvLWludDY0X3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1CYWNrcG9ydCBwYXRjaCB0byBmaXggc3lzdGVtZCBidWlsZCBmYWlsdXJlIG9uIHgzMi4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL3N5c3RlbWQvc3lzdGVtZC9jb21taXQvNzVjYTE2Ml0KLQotU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+Ci0KLUZyb20gNzVjYTE2MjFkYjQ2NDdhNGQ2MmQ3ODczY2Q2NzE1ZTI4ZmUwZjlmYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFl1IFdhdGFuYWJlIDx3YXRhbmFiZS55dStnaXRodWJAZ21haWwuY29tPgotRGF0ZTogU2F0LCAyMyBKdW4gMjAxOCAwOTo0MTo1NSArMDkwMAotU3ViamVjdDogW1BBVENIXSB0aW1lc3luYzogY2hhbmdlcyB0eXBlIG9mIGRyaWZ0X2ZyZXEgdG8gaW50NjRfdAotCi1kcmlmdF9mcmVxIGlzIHVzZWQgZm9yIHN0b3JpbmcgdGltZXguZnJlcSwgYW5kIGlzIGEgNjRiaXQgaW50ZWdlci4KLVRvIHN1cHBvcnQgeDMyIEFCSSwgdGhpcyBjaGFuZ2VzIHRoZSB0eXBlIG9mIGRyaWZ0X2ZyZXEgdG8gaW50NjRfdC4KLQotRml4ZXMgIzkzODcuCi0tLS0KLSBzcmMvdGltZXN5bmMvdGltZXN5bmNkLW1hbmFnZXIuYyB8IDIgKy0KLSBzcmMvdGltZXN5bmMvdGltZXN5bmNkLW1hbmFnZXIuaCB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy90aW1lc3luYy90aW1lc3luY2QtbWFuYWdlci5jIGIvc3JjL3RpbWVzeW5jL3RpbWVzeW5jZC1tYW5hZ2VyLmMKLWluZGV4IDJiNzMxYWY5ZS4uNDA0YTJiMTg5IDEwMDY0NAotLS0tIGEvc3JjL3RpbWVzeW5jL3RpbWVzeW5jZC1tYW5hZ2VyLmMKLSsrKyBiL3NyYy90aW1lc3luYy90aW1lc3luY2QtbWFuYWdlci5jCi1AQCAtNjA0LDcgKzYwNCw3IEBAIHN0YXRpYyBpbnQgbWFuYWdlcl9yZWNlaXZlX3Jlc3BvbnNlKHNkX2V2ZW50X3NvdXJjZSAqc291cmNlLCBpbnQgZmQsIHVpbnQzMl90IHJlCi0gICAgICAgICBtLT5kZXN0X3RpbWUgPSAqcmVjdl90aW1lOwotICAgICAgICAgbS0+c3Bpa2UgPSBzcGlrZTsKLSAKLS0gICAgICAgIGxvZ19kZWJ1ZygiaW50ZXJ2YWwvZGVsdGEvZGVsYXkvaml0dGVyL2RyaWZ0ICIgVVNFQ19GTVQgInMvJSsuM2ZzLyUuM2ZzLyUuM2ZzLyUrIlBSSV9USU1FWCJwcG0lcyIsCi0rICAgICAgICBsb2dfZGVidWcoImludGVydmFsL2RlbHRhL2RlbGF5L2ppdHRlci9kcmlmdCAiIFVTRUNfRk1UICJzLyUrLjNmcy8lLjNmcy8lLjNmcy8lKyJQUklpNjQicHBtJXMiLAotICAgICAgICAgICAgICAgICAgIG0tPnBvbGxfaW50ZXJ2YWxfdXNlYyAvIFVTRUNfUEVSX1NFQywgb2Zmc2V0LCBkZWxheSwgbS0+c2FtcGxlc19qaXR0ZXIsIG0tPmRyaWZ0X2ZyZXEgLyA2NTUzNiwKLSAgICAgICAgICAgICAgICAgICBzcGlrZSA/ICIgKGlnbm9yZWQpIiA6ICIiKTsKLSAKLWRpZmYgLS1naXQgYS9zcmMvdGltZXN5bmMvdGltZXN5bmNkLW1hbmFnZXIuaCBiL3NyYy90aW1lc3luYy90aW1lc3luY2QtbWFuYWdlci5oCi1pbmRleCBkOGQ5N2NjMWUuLjE4MzQ3NDE2ZCAxMDA2NDQKLS0tLSBhL3NyYy90aW1lc3luYy90aW1lc3luY2QtbWFuYWdlci5oCi0rKysgYi9zcmMvdGltZXN5bmMvdGltZXN5bmNkLW1hbmFnZXIuaAotQEAgLTc5LDcgKzc5LDcgQEAgc3RydWN0IE1hbmFnZXIgewotICAgICAgICAgLyogbGFzdCBjaGFuZ2UgKi8KLSAgICAgICAgIGJvb2wganVtcGVkOwotICAgICAgICAgYm9vbCBzeW5jOwotLSAgICAgICAgbG9uZyBkcmlmdF9mcmVxOwotKyAgICAgICAgaW50NjRfdCBkcmlmdF9mcmVxOwotIAotICAgICAgICAgLyogd2F0Y2ggZm9yIHRpbWUgY2hhbmdlcyAqLwotICAgICAgICAgc2RfZXZlbnRfc291cmNlICpldmVudF9jbG9ja193YXRjaDsKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItY29yZS1GaXgtdXNlLWFmdGVyLWZyZWUtY2FzZS1pbi1sb2FkX2Zyb21fcGF0aC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItY29yZS1GaXgtdXNlLWFmdGVyLWZyZWUtY2FzZS1pbi1sb2FkX2Zyb21fcGF0aC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGRhOTZlMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLWNvcmUtRml4LXVzZS1hZnRlci1mcmVlLWNhc2UtaW4tbG9hZF9mcm9tX3BhdGgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1Gcm9tIGNiNjdhZWJkNjNkOWYwMDc3Y2JmM2U3NjlmMGIyMjNjNWJiYTIwYWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU3VuLCAxNiBEZWMgMjAxOCAyMDo1ODozNSAtMDgwMAotU3ViamVjdDogW1BBVENIIDIvMl0gY29yZTogRml4IHVzZSBhZnRlciBmcmVlIGNhc2UgaW4gbG9hZF9mcm9tX3BhdGgoKQotCi1lbnN1cmUgdGhhdCBtZnJlZSgpIG9uIGZpbGVuYW1lIGlzIGNhbGxlZCBhZnRlciB0aGUgbG9nZ2luZyBmdW5jdGlvbgotd2hpY2ggdXNlcyB0aGUgc3RyaW5nIHBvaW50ZWQgYnkgZmlsZW5hbWUKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9zeXN0ZW1kL3N5c3RlbWQvcHVsbC8xMTE3OV0KLSBzcmMvY29yZS9sb2FkLWZyYWdtZW50LmMgfCA2ICsrKystLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY29yZS9sb2FkLWZyYWdtZW50LmMgYi9zcmMvY29yZS9sb2FkLWZyYWdtZW50LmMKLWluZGV4IGZjNTY0NGY0OC4uZGE1ODU3ODZlIDEwMDY0NAotLS0tIGEvc3JjL2NvcmUvbG9hZC1mcmFnbWVudC5jCi0rKysgYi9zcmMvY29yZS9sb2FkLWZyYWdtZW50LmMKLUBAIC00NTMxLDcgKzQ1MzEsNiBAQCBzdGF0aWMgaW50IGxvYWRfZnJvbV9wYXRoKFVuaXQgKnUsIGNvbnN0IGNoYXIgKnBhdGgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBvcGVuX2ZvbGxvdygmZmlsZW5hbWUsICZmLCBzeW1saW5rX25hbWVzLCAmaWQpOwotICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyID49IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLS0gICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSA9IG1mcmVlKGZpbGVuYW1lKTsKLSAKLSAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFTk9FTlQgbWVhbnMgdGhhdCB0aGUgZmlsZSBpcyBtaXNzaW5nIG9yIGlzIGEgZGFuZ2xpbmcgc3ltbGluay4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgKiBFTk9URElSIG1lYW5zIHRoYXQgb25lIG9mIHBhdGhzIHdlIGV4cGVjdCB0byBiZSBpcyBhIGRpcmVjdG9yeQotQEAgLTQ1NDAsOSArNDUzOSwxMiBAQCBzdGF0aWMgaW50IGxvYWRfZnJvbV9wYXRoKFVuaXQgKnUsIGNvbnN0IGNoYXIgKnBhdGgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA9PSAtRUFDQ0VTKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nX2RlYnVnX2Vycm5vKHIsICJDYW5ub3QgYWNjZXNzIFwiJXNcIjogJW0iLCBmaWxlbmFtZSk7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIUlOX1NFVChyLCAtRU5PRU5ULCAtRU5PVERJUikpCi0rICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIUlOX1NFVChyLCAtRU5PRU5ULCAtRU5PVERJUikpIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lID0gbWZyZWUoZmlsZW5hbWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgfQotIAotKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lID0gbWZyZWUoZmlsZW5hbWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVtcHR5IHRoZSBzeW1saW5rIG5hbWVzIGZvciB0aGUgbmV4dCBydW4gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICBzZXRfY2xlYXJfZnJlZShzeW1saW5rX25hbWVzKTsKLSAgICAgICAgICAgICAgICAgfQotLS0gCi0yLjIwLjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMi1kb24tdC11c2UtZ2xpYmMtc3BlY2lmaWMtcXNvcnRfci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItZG9uLXQtdXNlLWdsaWJjLXNwZWNpZmljLXFzb3J0X3IucGF0Y2gKaW5kZXggOGUwZDY2OS4uMzZlMDY5OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMi1kb24tdC11c2UtZ2xpYmMtc3BlY2lmaWMtcXNvcnRfci5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLWRvbi10LXVzZS1nbGliYy1zcGVjaWZpYy1xc29ydF9yLnBhdGNoCkBAIC0xLDMxICsxLDEwMCBAQAotRnJvbSBkNzRhNGRlNmRhZWE1YTUxMWMyYjU2MzZiYmI1NTJjMTViM2E0YWQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRW1pbCBSZW5uZXIgQmVydGhpbmcgPHN5c3RlbWRAZXNtaWwuZGs+Ci1EYXRlOiBUaHUsIDE4IFNlcCAyMDE0IDE1OjI0OjU2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGRvbid0IHVzZSBnbGliYy1zcGVjaWZpYyBxc29ydF9yCitGcm9tIDFlYjg0NTM0ZGVhMDVkNDFhZmVkMWQ4OThjYmEyMTJhZDdkMzEwZGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDEzOjQxOjQxICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMDIvMjRdIGRvbid0IHVzZSBnbGliYy1zcGVjaWZpYyBxc29ydF9yCiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KIAogU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1tSZWJhc2VkIGZvciB2MjQxXQorU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgogLS0tCi0gc3JjL2Jhc2ljL2Zvcm1hdC10YWJsZS5jIHwgMjcgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCi0gc3JjL2Jhc2ljL3V0aWwuaCAgICAgICAgIHwgIDcgLS0tLS0tLQotIHNyYy9od2RiL2h3ZGIuYyAgICAgICAgICB8IDE4ICsrKysrKysrKysrLS0tLS0tLQotIHNyYy91ZGV2L3VkZXZhZG0taHdkYi5jICB8IDE2ICsrKysrKysrKystLS0tLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQorIHNyYy9iYXNpYy91dGlsLmggICAgICAgICAgICAgICAgICAgfCAxNCAtLS0tLS0tLS0tLS0tLQorIHNyYy9saWJzeXN0ZW1kL3NkLWh3ZGIvaHdkYi11dGlsLmMgfCAxOSArKysrKysrKysrKysrKy0tLS0tCisgc3JjL3NoYXJlZC9mb3JtYXQtdGFibGUuYyAgICAgICAgICB8IDM2ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCiAKLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvZm9ybWF0LXRhYmxlLmMgYi9zcmMvYmFzaWMvZm9ybWF0LXRhYmxlLmMKLWluZGV4IDk0ZTc5NmQxY2EuLjliM2YzNWMyOWEgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvZm9ybWF0LXRhYmxlLmMKLSsrKyBiL3NyYy9iYXNpYy9mb3JtYXQtdGFibGUuYwotQEAgLTc0NSwyOSArNzQ1LDI5IEBAIHN0YXRpYyBpbnQgY2VsbF9kYXRhX2NvbXBhcmUoVGFibGVEYXRhICphLCBzaXplX3QgaW5kZXhfYSwgVGFibGVEYXRhICpiLCBzaXplX3QKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvdXRpbC5oIGIvc3JjL2Jhc2ljL3V0aWwuaAoraW5kZXggZGMzM2Q2Ni4uOWY2YTZjZSAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy91dGlsLmgKKysrKyBiL3NyYy9iYXNpYy91dGlsLmgKK0BAIC0xMTYsMjAgKzExNiw2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBxc29ydF9zYWZlKHZvaWQgKmJhc2UsIHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUsIF9fY29tcGFyX2ZuCisgICAgICAgICAgICAgICAgIHFzb3J0X3NhZmUoKHApLCAobiksIHNpemVvZigocClbMF0pLCAoX19jb21wYXJfZm5fdCkgX2Z1bmNfKTsgXAorICAgICAgICAgfSkKKyAKKy1zdGF0aWMgaW5saW5lIHZvaWQgcXNvcnRfcl9zYWZlKHZvaWQgKmJhc2UsIHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUsIF9fY29tcGFyX2RfZm5fdCBjb21wYXIsIHZvaWQgKnVzZXJkYXRhKSB7CistICAgICAgICBpZiAobm1lbWIgPD0gMSkKKy0gICAgICAgICAgICAgICAgcmV0dXJuOworLQorLSAgICAgICAgYXNzZXJ0KGJhc2UpOworLSAgICAgICAgcXNvcnRfcihiYXNlLCBubWVtYiwgc2l6ZSwgY29tcGFyLCB1c2VyZGF0YSk7CistfQorLQorLSNkZWZpbmUgdHlwZXNhZmVfcXNvcnRfcihwLCBuLCBmdW5jLCB1c2VyZGF0YSkgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgICh7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICAgICAgICAgICAgIGludCAoKl9mdW5jXykoY29uc3QgdHlwZW9mKHBbMF0pKiwgY29uc3QgdHlwZW9mKHBbMF0pKiwgdHlwZW9mKHVzZXJkYXRhKSkgPSBmdW5jOyBcCistICAgICAgICAgICAgICAgIHFzb3J0X3Jfc2FmZSgocCksIChuKSwgc2l6ZW9mKChwKVswXSksIChfX2NvbXBhcl9kX2ZuX3QpIF9mdW5jXywgdXNlcmRhdGEpOyBcCistICAgICAgICB9KQorLQorIC8qIE5vcm1hbCBtZW1jcHkgcmVxdWlyZXMgc3JjIHRvIGJlIG5vbm51bGwuIFdlIGRvIG5vdGhpbmcgaWYgbiBpcyAwLiAqLworIHN0YXRpYyBpbmxpbmUgdm9pZCBtZW1jcHlfc2FmZSh2b2lkICpkc3QsIGNvbnN0IHZvaWQgKnNyYywgc2l6ZV90IG4pIHsKKyAgICAgICAgIGlmIChuID09IDApCitkaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtaHdkYi9od2RiLXV0aWwuYyBiL3NyYy9saWJzeXN0ZW1kL3NkLWh3ZGIvaHdkYi11dGlsLmMKK2luZGV4IGY4NTI5NjcuLmI1NzBjZTEgMTAwNjQ0CistLS0gYS9zcmMvbGlic3lzdGVtZC9zZC1od2RiL2h3ZGItdXRpbC5jCisrKysgYi9zcmMvbGlic3lzdGVtZC9zZC1od2RiL2h3ZGItdXRpbC5jCitAQCAtMTI2LDkgKzEyNiwxMyBAQCBzdGF0aWMgdm9pZCB0cmllX2ZyZWUoc3RydWN0IHRyaWUgKnRyaWUpIHsKKyAKKyBERUZJTkVfVFJJVklBTF9DTEVBTlVQX0ZVTkMoc3RydWN0IHRyaWUqLCB0cmllX2ZyZWUpOworIAorLXN0YXRpYyBpbnQgdHJpZV92YWx1ZXNfY21wKGNvbnN0IHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5ICphLCBjb25zdCBzdHJ1Y3QgdHJpZV92YWx1ZV9lbnRyeSAqYiwgc3RydWN0IHRyaWUgKnRyaWUpIHsKKy0gICAgICAgIHJldHVybiBzdHJjbXAodHJpZS0+c3RyaW5ncy0+YnVmICsgYS0+a2V5X29mZiwKKy0gICAgICAgICAgICAgICAgICAgICAgdHJpZS0+c3RyaW5ncy0+YnVmICsgYi0+a2V5X29mZik7Cisrc3RhdGljIHN0cnVjdCB0cmllICp0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWU7Cisrc3RhdGljIGludCB0cmllX3ZhbHVlc19jbXAoY29uc3Qgdm9pZCAqdjEsIGNvbnN0IHZvaWQgKnYyKSB7CisrICAgICAgICBjb25zdCBzdHJ1Y3QgdHJpZV92YWx1ZV9lbnRyeSAqYSA9IHYxOworKyAgICAgICAgY29uc3Qgc3RydWN0IHRyaWVfdmFsdWVfZW50cnkgKmIgPSB2MjsKKysKKysgICAgICAgIHJldHVybiBzdHJjbXAodHJpZV9ub2RlX2FkZF92YWx1ZV90cmllLT5zdHJpbmdzLT5idWYgKyBhLT5rZXlfb2ZmLAorKyAgICAgICAgICAgICAgICAgICAgICB0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWUtPnN0cmluZ3MtPmJ1ZiArIGItPmtleV9vZmYpOworIH0KKyAKKyBzdGF0aWMgaW50IHRyaWVfbm9kZV9hZGRfdmFsdWUoc3RydWN0IHRyaWUgKnRyaWUsIHN0cnVjdCB0cmllX25vZGUgKm5vZGUsCitAQCAtMTU2LDcgKzE2MCwxMCBAQCBzdGF0aWMgaW50IHRyaWVfbm9kZV9hZGRfdmFsdWUoc3RydWN0IHRyaWUgKnRyaWUsIHN0cnVjdCB0cmllX25vZGUgKm5vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlX29mZiA9IHYsCisgICAgICAgICAgICAgICAgIH07CisgCistICAgICAgICAgICAgICAgIHZhbCA9IHR5cGVzYWZlX2JzZWFyY2hfcigmc2VhcmNoLCBub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgdHJpZV92YWx1ZXNfY21wLCB0cmllKTsKKysgICAgICAgICAgICAgICAgdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllID0gdHJpZTsKKysgICAgICAgICAgICAgICAgdmFsID0gYnNlYXJjaCgmc2VhcmNoLCBub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgc2l6ZW9mKHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5KSwgdHJpZV92YWx1ZXNfY21wKTsKKysgICAgICAgICAgICAgICAgdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllID0gTlVMTDsKKysKKyAgICAgICAgICAgICAgICAgaWYgKHZhbCkgeworICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEF0IHRoaXMgcG9pbnQgd2UgaGF2ZSAyIGlkZW50aWNhbCBwcm9wZXJ0aWVzIG9uIHRoZSBzYW1lIG1hdGNoLXN0cmluZy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgKiBTaW5jZSB3ZSBwcm9jZXNzIGZpbGVzIGluIG9yZGVyLCB3ZSBqdXN0IHJlcGxhY2UgdGhlIHByZXZpb3VzIHZhbHVlLiAqLworQEAgLTE4Miw3ICsxODksOSBAQCBzdGF0aWMgaW50IHRyaWVfbm9kZV9hZGRfdmFsdWUoc3RydWN0IHRyaWUgKnRyaWUsIHN0cnVjdCB0cmllX25vZGUgKm5vZGUsCisgICAgICAgICAgICAgICAgIC5saW5lX251bWJlciA9IGxpbmVfbnVtYmVyLAorICAgICAgICAgfTsKKyAgICAgICAgIG5vZGUtPnZhbHVlc19jb3VudCsrOworLSAgICAgICAgdHlwZXNhZmVfcXNvcnRfcihub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgdHJpZV92YWx1ZXNfY21wLCB0cmllKTsKKysgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IHRyaWU7CisrICAgICAgICBxc29ydChub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgc2l6ZW9mKHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5KSwgdHJpZV92YWx1ZXNfY21wKTsKKysgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IE5VTEw7CiAgICAgICAgICByZXR1cm4gMDsKICB9CiAgCi0tc3RhdGljIGludCB0YWJsZV9kYXRhX2NvbXBhcmUoY29uc3Qgdm9pZCAqeCwgY29uc3Qgdm9pZCAqeSwgdm9pZCAqdXNlcmRhdGEpIHsKK2RpZmYgLS1naXQgYS9zcmMvc2hhcmVkL2Zvcm1hdC10YWJsZS5jIGIvc3JjL3NoYXJlZC9mb3JtYXQtdGFibGUuYworaW5kZXggN2Q1Mjk4MC4uNzVkYmZlMSAxMDA2NDQKKy0tLSBhL3NyYy9zaGFyZWQvZm9ybWF0LXRhYmxlLmMKKysrKyBiL3NyYy9zaGFyZWQvZm9ybWF0LXRhYmxlLmMKK0BAIC04NDgsMzEgKzg0OCwzMyBAQCBzdGF0aWMgaW50IGNlbGxfZGF0YV9jb21wYXJlKFRhYmxlRGF0YSAqYSwgc2l6ZV90IGluZGV4X2EsIFRhYmxlRGF0YSAqYiwgc2l6ZV90CisgICAgICAgICByZXR1cm4gQ01QKGluZGV4X2EsIGluZGV4X2IpOworIH0KKyAKKy1zdGF0aWMgaW50IHRhYmxlX2RhdGFfY29tcGFyZShjb25zdCBzaXplX3QgKmEsIGNvbnN0IHNpemVfdCAqYiwgVGFibGUgKnQpIHsKICtzdGF0aWMgVGFibGUgKnVzZXJfdGFibGU7CiArc3RhdGljIGludCB0YWJsZV9kYXRhX2NvbXBhcmUoY29uc3Qgdm9pZCAqeCwgY29uc3Qgdm9pZCAqeSkgewotICAgICAgICAgY29uc3Qgc2l6ZV90ICphID0geCwgKmIgPSB5OwotLSAgICAgICAgVGFibGUgKnQgPSB1c2VyZGF0YTsKKysgICAgICAgIGNvbnN0IHNpemVfdCAqYSA9IHgsICpiPXk7CiAgICAgICAgICBzaXplX3QgaTsKICAgICAgICAgIGludCByOwogIApAQCAtNTcsMTEgKzEyNiwxNiBAQAogIAogICAgICAgICAgICAgICAgICByID0gY2VsbF9kYXRhX2NvbXBhcmUoZCwgKmEsIGRkLCAqYik7CiAgICAgICAgICAgICAgICAgIGlmIChyICE9IDApCi1AQCAtOTYwLDcgKzk2MCwxMiBAQCBpbnQgdGFibGVfcHJpbnQoVGFibGUgKnQsIEZJTEUgKmYpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdC0+cmV2ZXJzZV9tYXAgJiYgdC0+cmV2ZXJzZV9tYXBbdC0+c29ydF9tYXBbaV1dID8gLXIgOiByOworKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1c2VyX3RhYmxlLT5yZXZlcnNlX21hcCAmJiB1c2VyX3RhYmxlLT5yZXZlcnNlX21hcFt1c2VyX3RhYmxlLT5zb3J0X21hcFtpXV0gPyAtciA6IHI7CisgICAgICAgICB9CisgCisgICAgICAgICAvKiBPcmRlciBpZGVudGljYWwgbGluZXMgYnkgdGhlIG9yZGVyIHRoZXJlIHdlcmUgb3JpZ2luYWxseSBhZGRlZCBpbiAqLworQEAgLTExMDUsNyArMTEwNywxMiBAQCBpbnQgdGFibGVfcHJpbnQoVGFibGUgKnQsIEZJTEUgKmYpIHsKICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG5fcm93czsgaSsrKQogICAgICAgICAgICAgICAgICAgICAgICAgIHNvcnRlZFtpXSA9IGkgKiB0LT5uX2NvbHVtbnM7CiAgCi0tICAgICAgICAgICAgICAgIHFzb3J0X3Jfc2FmZShzb3J0ZWQsIG5fcm93cywgc2l6ZW9mKHNpemVfdCksIHRhYmxlX2RhdGFfY29tcGFyZSwgdCk7CistICAgICAgICAgICAgICAgIHR5cGVzYWZlX3Fzb3J0X3Ioc29ydGVkLCBuX3Jvd3MsIHRhYmxlX2RhdGFfY29tcGFyZSwgdCk7CiArICAgICAgICAgICAgICAgIGlmIChuX3Jvd3MgPD0gMSkKICsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICsgICAgICAgICAgICAgICAgYXNzZXJ0KHNvcnRlZCk7CkBAIC03MSwxMTMgKzE0NSwyMCBAQAogICAgICAgICAgfQogIAogICAgICAgICAgaWYgKHQtPmRpc3BsYXlfbWFwKQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy91dGlsLmggYi9zcmMvYmFzaWMvdXRpbC5oCi1pbmRleCA5Njk5ZDIyOGY5Li40MGVhZjUxOGNiIDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL3V0aWwuaAotKysrIGIvc3JjL2Jhc2ljL3V0aWwuaAotQEAgLTEwNSwxMyArMTA1LDYgQEAgc3RhdGljIGlubGluZSB2b2lkIHFzb3J0X3NhZmUodm9pZCAqYmFzZSwgc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSwgY29tcGFyaXNvbl8KLSAgICAgICAgICAgICAgICAgcXNvcnRfc2FmZSgocCksIChuKSwgc2l6ZW9mKChwKVswXSksIChfX2NvbXBhcl9mbl90KSBfZnVuY18pOyBcCi0gICAgICAgICB9KQorQEAgLTE1MzIsNyArMTUzOSwxMiBAQCBpbnQgdGFibGVfdG9fanNvbihUYWJsZSAqdCwgSnNvblZhcmlhbnQgKipyZXQpIHsKKyAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG5fcm93czsgaSsrKQorICAgICAgICAgICAgICAgICAgICAgICAgIHNvcnRlZFtpXSA9IGkgKiB0LT5uX2NvbHVtbnM7CiAgCi0tc3RhdGljIGlubGluZSB2b2lkIHFzb3J0X3Jfc2FmZSh2b2lkICpiYXNlLCBzaXplX3Qgbm1lbWIsIHNpemVfdCBzaXplLCBpbnQgKCpjb21wYXIpKGNvbnN0IHZvaWQqLCBjb25zdCB2b2lkKiwgdm9pZCopLCB2b2lkICp1c2VyZGF0YSkgewotLSAgICAgICAgaWYgKG5tZW1iIDw9IDEpCi0tICAgICAgICAgICAgICAgIHJldHVybjsKLS0KLS0gICAgICAgIGFzc2VydChiYXNlKTsKLS0gICAgICAgIHFzb3J0X3IoYmFzZSwgbm1lbWIsIHNpemUsIGNvbXBhciwgdXNlcmRhdGEpOwotLX0KKy0gICAgICAgICAgICAgICAgdHlwZXNhZmVfcXNvcnRfcihzb3J0ZWQsIG5fcm93cywgdGFibGVfZGF0YV9jb21wYXJlLCB0KTsKKysgICAgICAgICAgICAgICAgaWYgKG5fcm93cyA8PSAxKQorKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworKyAgICAgICAgICAgICAgICBhc3NlcnQoc29ydGVkKTsKKysgICAgICAgICAgICAgICAgdXNlcl90YWJsZSA9IHQ7CisrICAgICAgICAgICAgICAgIHFzb3J0KHNvcnRlZCwgbl9yb3dzLCBzaXplb2Yoc2l6ZV90KSwgdGFibGVfZGF0YV9jb21wYXJlKTsKKysgICAgICAgICAgICAgICAgdXNlcl90YWJsZSA9IE5VTEw7CisgICAgICAgICB9CiAgCi0gLyoqCi0gICogTm9ybWFsIG1lbWNweSByZXF1aXJlcyBzcmMgdG8gYmUgbm9ubnVsbC4gV2UgZG8gbm90aGluZyBpZiBuIGlzIDAuCi1kaWZmIC0tZ2l0IGEvc3JjL2h3ZGIvaHdkYi5jIGIvc3JjL2h3ZGIvaHdkYi5jCi1pbmRleCAzMTdjYWQ4YTY3Li43MDFkNTlhMWViIDEwMDY0NAotLS0tIGEvc3JjL2h3ZGIvaHdkYi5jCi0rKysgYi9zcmMvaHdkYi9od2RiLmMKLUBAIC0xMzUsMTMgKzEzNSwxMiBAQCBzdGF0aWMgdm9pZCB0cmllX2ZyZWUoc3RydWN0IHRyaWUgKnRyaWUpIHsKLSAKLSBERUZJTkVfVFJJVklBTF9DTEVBTlVQX0ZVTkMoc3RydWN0IHRyaWUqLCB0cmllX2ZyZWUpOwotIAotLXN0YXRpYyBpbnQgdHJpZV92YWx1ZXNfY21wKGNvbnN0IHZvaWQgKnYxLCBjb25zdCB2b2lkICp2Miwgdm9pZCAqYXJnKSB7Ci0rc3RhdGljIHN0cnVjdCB0cmllICp0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWU7Ci0rc3RhdGljIGludCB0cmllX3ZhbHVlc19jbXAoY29uc3Qgdm9pZCAqdjEsIGNvbnN0IHZvaWQgKnYyKSB7Ci0gICAgICAgICBjb25zdCBzdHJ1Y3QgdHJpZV92YWx1ZV9lbnRyeSAqdmFsMSA9IHYxOwotICAgICAgICAgY29uc3Qgc3RydWN0IHRyaWVfdmFsdWVfZW50cnkgKnZhbDIgPSB2MjsKLS0gICAgICAgIHN0cnVjdCB0cmllICp0cmllID0gYXJnOwotLQotLSAgICAgICAgcmV0dXJuIHN0cmNtcCh0cmllLT5zdHJpbmdzLT5idWYgKyB2YWwxLT5rZXlfb2ZmLAotLSAgICAgICAgICAgICAgICAgICAgICB0cmllLT5zdHJpbmdzLT5idWYgKyB2YWwyLT5rZXlfb2ZmKTsKLSsgICAgICAgIHJldHVybiBzdHJjbXAodHJpZV9ub2RlX2FkZF92YWx1ZV90cmllLT5zdHJpbmdzLT5idWYgKyB2YWwxLT5rZXlfb2ZmLAotKyAgICAgICAgICAgICAgICAgICAgICB0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWUtPnN0cmluZ3MtPmJ1ZiArIHZhbDItPmtleV9vZmYpOwotIH0KLSAKLSBzdGF0aWMgaW50IHRyaWVfbm9kZV9hZGRfdmFsdWUoc3RydWN0IHRyaWUgKnRyaWUsIHN0cnVjdCB0cmllX25vZGUgKm5vZGUsCi1AQCAtMTY2LDcgKzE2NSwxMCBAQCBzdGF0aWMgaW50IHRyaWVfbm9kZV9hZGRfdmFsdWUoc3RydWN0IHRyaWUgKnRyaWUsIHN0cnVjdCB0cmllX25vZGUgKm5vZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlX29mZiA9IHYsCi0gICAgICAgICAgICAgICAgIH07Ci0gCi0tICAgICAgICAgICAgICAgIHZhbCA9IHhic2VhcmNoX3IoJnNlYXJjaCwgbm9kZS0+dmFsdWVzLCBub2RlLT52YWx1ZXNfY291bnQsIHNpemVvZihzdHJ1Y3QgdHJpZV92YWx1ZV9lbnRyeSksIHRyaWVfdmFsdWVzX2NtcCwgdHJpZSk7Ci0rICAgICAgICAgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IHRyaWU7Ci0rICAgICAgICAgICAgICAgIHZhbCA9IGJzZWFyY2goJnNlYXJjaCwgbm9kZS0+dmFsdWVzLCBub2RlLT52YWx1ZXNfY291bnQsIHNpemVvZihzdHJ1Y3QgdHJpZV92YWx1ZV9lbnRyeSksIHRyaWVfdmFsdWVzX2NtcCk7Ci0rICAgICAgICAgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IE5VTEw7Ci0rCi0gICAgICAgICAgICAgICAgIGlmICh2YWwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAvKiBBdCB0aGlzIHBvaW50IHdlIGhhdmUgMiBpZGVudGljYWwgcHJvcGVydGllcyBvbiB0aGUgc2FtZSBtYXRjaC1zdHJpbmcuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICogU2luY2Ugd2UgcHJvY2VzcyBmaWxlcyBpbiBvcmRlciwgd2UganVzdCByZXBsYWNlIHRoZSBwcmV2aW91cyB2YWx1ZS4KLUBAIC0xOTEsNyArMTkzLDkgQEAgc3RhdGljIGludCB0cmllX25vZGVfYWRkX3ZhbHVlKHN0cnVjdCB0cmllICp0cmllLCBzdHJ1Y3QgdHJpZV9ub2RlICpub2RlLAotICAgICAgICAgbm9kZS0+dmFsdWVzW25vZGUtPnZhbHVlc19jb3VudF0uZmlsZV9wcmlvcml0eSA9IGZpbGVfcHJpb3JpdHk7Ci0gICAgICAgICBub2RlLT52YWx1ZXNbbm9kZS0+dmFsdWVzX2NvdW50XS5saW5lX251bWJlciA9IGxpbmVfbnVtYmVyOwotICAgICAgICAgbm9kZS0+dmFsdWVzX2NvdW50Kys7Ci0tICAgICAgICBxc29ydF9yKG5vZGUtPnZhbHVlcywgbm9kZS0+dmFsdWVzX2NvdW50LCBzaXplb2Yoc3RydWN0IHRyaWVfdmFsdWVfZW50cnkpLCB0cmllX3ZhbHVlc19jbXAsIHRyaWUpOwotKyAgICAgICAgdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllID0gdHJpZTsKLSsgICAgICAgIHFzb3J0KG5vZGUtPnZhbHVlcywgbm9kZS0+dmFsdWVzX2NvdW50LCBzaXplb2Yoc3RydWN0IHRyaWVfdmFsdWVfZW50cnkpLCB0cmllX3ZhbHVlc19jbXApOwotKyAgICAgICAgdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllID0gTlVMTDsKLSAgICAgICAgIHJldHVybiAwOwotIH0KLSAKLWRpZmYgLS1naXQgYS9zcmMvdWRldi91ZGV2YWRtLWh3ZGIuYyBiL3NyYy91ZGV2L3VkZXZhZG0taHdkYi5jCi1pbmRleCAwMjQwOGE0Mjg1Li40OTFkMzY3ZDEyIDEwMDY0NAotLS0tIGEvc3JjL3VkZXYvdWRldmFkbS1od2RiLmMKLSsrKyBiL3NyYy91ZGV2L3VkZXZhZG0taHdkYi5jCi1AQCAtMTE0LDEzICsxMTQsMTMgQEAgc3RhdGljIHZvaWQgdHJpZV9ub2RlX2NsZWFudXAoc3RydWN0IHRyaWVfbm9kZSAqbm9kZSkgewotICAgICAgICAgZnJlZShub2RlKTsKLSB9Ci0gCi0tc3RhdGljIGludCB0cmllX3ZhbHVlc19jbXAoY29uc3Qgdm9pZCAqdjEsIGNvbnN0IHZvaWQgKnYyLCB2b2lkICphcmcpIHsKLStzdGF0aWMgc3RydWN0IHRyaWUgKnRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZTsKLStzdGF0aWMgaW50IHRyaWVfdmFsdWVzX2NtcChjb25zdCB2b2lkICp2MSwgY29uc3Qgdm9pZCAqdjIpIHsKLSAgICAgICAgIGNvbnN0IHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5ICp2YWwxID0gdjE7Ci0gICAgICAgICBjb25zdCBzdHJ1Y3QgdHJpZV92YWx1ZV9lbnRyeSAqdmFsMiA9IHYyOwotLSAgICAgICAgc3RydWN0IHRyaWUgKnRyaWUgPSBhcmc7Ci0gCi0tICAgICAgICByZXR1cm4gc3RyY21wKHRyaWUtPnN0cmluZ3MtPmJ1ZiArIHZhbDEtPmtleV9vZmYsCi0tICAgICAgICAgICAgICAgICAgICAgIHRyaWUtPnN0cmluZ3MtPmJ1ZiArIHZhbDItPmtleV9vZmYpOwotKyAgICAgICAgcmV0dXJuIHN0cmNtcCh0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWUtPnN0cmluZ3MtPmJ1ZiArIHZhbDEtPmtleV9vZmYsCi0rICAgICAgICAgICAgICAgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZS0+c3RyaW5ncy0+YnVmICsgdmFsMi0+a2V5X29mZik7Ci0gfQotIAotIHN0YXRpYyBpbnQgdHJpZV9ub2RlX2FkZF92YWx1ZShzdHJ1Y3QgdHJpZSAqdHJpZSwgc3RydWN0IHRyaWVfbm9kZSAqbm9kZSwKLUBAIC0xNDEsNyArMTQxLDkgQEAgc3RhdGljIGludCB0cmllX25vZGVfYWRkX3ZhbHVlKHN0cnVjdCB0cmllICp0cmllLCBzdHJ1Y3QgdHJpZV9ub2RlICpub2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZV9vZmYgPSB2LAotICAgICAgICAgICAgICAgICB9OwotIAotLSAgICAgICAgICAgICAgICB2YWwgPSB4YnNlYXJjaF9yKCZzZWFyY2gsIG5vZGUtPnZhbHVlcywgbm9kZS0+dmFsdWVzX2NvdW50LCBzaXplb2Yoc3RydWN0IHRyaWVfdmFsdWVfZW50cnkpLCB0cmllX3ZhbHVlc19jbXAsIHRyaWUpOwotKyAgICAgICAgICAgICAgICB0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWUgPSB0cmllOwotKyAgICAgICAgICAgICAgICB2YWwgPSBic2VhcmNoKCZzZWFyY2gsIG5vZGUtPnZhbHVlcywgbm9kZS0+dmFsdWVzX2NvdW50LCBzaXplb2Yoc3RydWN0IHRyaWVfdmFsdWVfZW50cnkpLCB0cmllX3ZhbHVlc19jbXApOwotKyAgICAgICAgICAgICAgICB0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWUgPSBOVUxMOwotICAgICAgICAgICAgICAgICBpZiAodmFsKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVwbGFjZSBleGlzdGluZyBlYXJsaWVyIGtleSB3aXRoIG5ldyB2YWx1ZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgIHZhbC0+dmFsdWVfb2ZmID0gdjsKLUBAIC0xNTgsNyArMTYwLDkgQEAgc3RhdGljIGludCB0cmllX25vZGVfYWRkX3ZhbHVlKHN0cnVjdCB0cmllICp0cmllLCBzdHJ1Y3QgdHJpZV9ub2RlICpub2RlLAotICAgICAgICAgbm9kZS0+dmFsdWVzW25vZGUtPnZhbHVlc19jb3VudF0ua2V5X29mZiA9IGs7Ci0gICAgICAgICBub2RlLT52YWx1ZXNbbm9kZS0+dmFsdWVzX2NvdW50XS52YWx1ZV9vZmYgPSB2OwotICAgICAgICAgbm9kZS0+dmFsdWVzX2NvdW50Kys7Ci0tICAgICAgICBxc29ydF9yKG5vZGUtPnZhbHVlcywgbm9kZS0+dmFsdWVzX2NvdW50LCBzaXplb2Yoc3RydWN0IHRyaWVfdmFsdWVfZW50cnkpLCB0cmllX3ZhbHVlc19jbXAsIHRyaWUpOwotKyAgICAgICAgdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllID0gdHJpZTsKLSsgICAgICAgIHFzb3J0KG5vZGUtPnZhbHVlcywgbm9kZS0+dmFsdWVzX2NvdW50LCBzaXplb2Yoc3RydWN0IHRyaWVfdmFsdWVfZW50cnkpLCB0cmllX3ZhbHVlc19jbXApOwotKyAgICAgICAgdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllID0gTlVMTDsKLSAgICAgICAgIHJldHVybiAwOwotIH0KLSAKKyAgICAgICAgIGlmICh0LT5kaXNwbGF5X21hcCkKIC0tIAotMi4xOC4wCisyLjcuNAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLXVzZS1sbnItd3JhcHBlci1pbnN0ZWFkLW9mLWxvb2tpbmctZm9yLXJlbGF0aXZlLW9wdGkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLXVzZS1sbnItd3JhcHBlci1pbnN0ZWFkLW9mLWxvb2tpbmctZm9yLXJlbGF0aXZlLW9wdGkucGF0Y2gKaW5kZXggMWQ3ZjUyMy4uZGY1NTA2YyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMi11c2UtbG5yLXdyYXBwZXItaW5zdGVhZC1vZi1sb29raW5nLWZvci1yZWxhdGl2ZS1vcHRpLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItdXNlLWxuci13cmFwcGVyLWluc3RlYWQtb2YtbG9va2luZy1mb3ItcmVsYXRpdmUtb3B0aS5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNmU2MmJlODdhMjcyMmZiZTUzMTMxMGExYjA1MmMxMzAxYmRmMDZmYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYmRiYWZlMThjM2JmOTliM2I2OTFjZDUyYjljY2ZmNjBmMzEzODkyZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KIERhdGU6IFdlZCwgMjcgSnVuIDIwMTggMTY6MDk6MjQgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzldIHVzZSBsbnIgd3JhcHBlciBpbnN0ZWFkIG9mIGxvb2tpbmcgZm9yIC0tcmVsYXRpdmUgb3B0aW9uCitTdWJqZWN0OiBbUEFUQ0ggMi81XSB1c2UgbG5yIHdyYXBwZXIgaW5zdGVhZCBvZiBsb29raW5nIGZvciAtLXJlbGF0aXZlIG9wdGlvbgogIGZvciBsbgogCiBSZW1vdmUgZmlsZSBtYW51YWxseSB0byBhdm9pZCB0aGUgJ0ZpbGUgRXhpc3RzJyBlcnJvciB3aGVuIGNyZWF0aW5nCkBAIC0xOCwxMCArMTgsMTAgQEAKICAzIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKLWluZGV4IDA0MzMxZGQ0MS4uNmQ1ZWRjYjRlIDEwMDY0NAoraW5kZXggNTZjOThiOS4uMzM4NjU0NiAxMDA2NDQKIC0tLSBhL21lc29uLmJ1aWxkCiArKysgYi9tZXNvbi5idWlsZAotQEAgLTU1OCwxMCArNTU4LDYgQEAgZW5kZm9yZWFjaAorQEAgLTYzMCwxMCArNjMwLDYgQEAgZW5kZm9yZWFjaAogIAogIGNvbmYuc2V0X3F1b3RlZCgnVEVMSU5JVCcsIGdldF9vcHRpb24oJ3RlbGluaXQtcGF0aCcpKQogIApAQCAtMzMsNyArMzMsNyBAQAogIAogIGdwZXJmID0gZmluZF9wcm9ncmFtKCdncGVyZicpCiBkaWZmIC0tZ2l0IGEvdG9vbHMvbWVzb24tbWFrZS1zeW1saW5rLnNoIGIvdG9vbHMvbWVzb24tbWFrZS1zeW1saW5rLnNoCi1pbmRleCA1MDFjZDQzZDQuLmY0ZTRhYzlhYyAxMDA3NTUKK2luZGV4IDUwMWNkNDMuLmY0ZTRhYzkgMTAwNzU1CiAtLS0gYS90b29scy9tZXNvbi1tYWtlLXN5bWxpbmsuc2gKICsrKyBiL3Rvb2xzL21lc29uLW1ha2Utc3ltbGluay5zaAogQEAgLTgsNSArOCw2IEBAIG1rZGlyIC12cCAiJChkaXJuYW1lICIke0RFU1RESVI6LX0kMiIpIgpAQCAtNDUsNyArNDUsNyBAQAogKyAgICAgICAgbG5yICIke0RFU1RESVI6LX0kMSIgIiR7REVTVERJUjotfSQyIgogIGZpCiBkaWZmIC0tZ2l0IGEvdW5pdHMvbWVzb24tYWRkLXdhbnRzLnNoIGIvdW5pdHMvbWVzb24tYWRkLXdhbnRzLnNoCi1pbmRleCA3MGY3MTcyYWUuLmE0MjY2NmFhYyAxMDA3NTUKK2luZGV4IGUyYjI2MDMuLjIxMGQ2MDQgMTAwNzU1CiAtLS0gYS91bml0cy9tZXNvbi1hZGQtd2FudHMuc2gKICsrKyBiL3VuaXRzL21lc29uLWFkZC13YW50cy5zaAogQEAgLTI1LDQgKzI1LDkgQEAgY2FzZSAiJHRhcmdldCIgaW4KQEAgLTYwLDUgKzYwLDUgQEAKICsgICAgICAgIGxuciAiJHVuaXRwYXRoIiAiJGRpciIKICtmaQogLS0gCi0yLjExLjAKKzIuNy40CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDMtY29tcGFyaXNvbl9mbl90LWlzLWdsaWJjLXNwZWNpZmljLXVzZS1yYXctc2lnbmF0dXJlLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDMtY29tcGFyaXNvbl9mbl90LWlzLWdsaWJjLXNwZWNpZmljLXVzZS1yYXctc2lnbmF0dXJlLS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTE1ZmIzMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAzLWNvbXBhcmlzb25fZm5fdC1pcy1nbGliYy1zcGVjaWZpYy11c2UtcmF3LXNpZ25hdHVyZS0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi1Gcm9tIGU5NjVlNzQ4YzcwMzBkZjA3MDllNjMxMjhkYjJmMDIzNTQwYTA2YmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAxMiBTZXAgMjAxNSAxODo1MzozMSArMDAwMAotU3ViamVjdDogW1BBVENIIDAzLzE5XSBjb21wYXJpc29uX2ZuX3QgaXMgZ2xpYmMgc3BlY2lmaWMsIHVzZSByYXcgc2lnbmF0dXJlIGluCi0gZnVuY3Rpb24gcG9pbnRlcgotCi1tYWtlIGl0IHdvcmsgd2l0aCBtdXNsIHdoZXJlIGNvbXBhcmlzb25fZm5fdCBpcyBub3QgcHJvdmlkZWQKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL2Jhc2ljL3V0aWwuaCB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvdXRpbC5oIGIvc3JjL2Jhc2ljL3V0aWwuaAotaW5kZXggNDBlYWY1MThjLi5jNTgzOTIzOTcgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvdXRpbC5oCi0rKysgYi9zcmMvYmFzaWMvdXRpbC5oCi1AQCAtNzcsNyArNzcsNyBAQCB2b2lkICp4YnNlYXJjaF9yKGNvbnN0IHZvaWQgKmtleSwgY29uc3Qgdm9pZCAqYmFzZSwgc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSwKLSAgKiB0aGF0IG9ubHkgaWYgbm1lbWIgPiAwLgotICAqLwotIHN0YXRpYyBpbmxpbmUgdm9pZCogYnNlYXJjaF9zYWZlKGNvbnN0IHZvaWQgKmtleSwgY29uc3Qgdm9pZCAqYmFzZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qgbm1lbWIsIHNpemVfdCBzaXplLCBjb21wYXJpc29uX2ZuX3QgY29tcGFyKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSwgaW50ICgqY29tcGFyKShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKikpIHsKLSAgICAgICAgIGlmIChubWVtYiA8PSAwKQotICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAKLUBAIC04OSw3ICs4OSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCogYnNlYXJjaF9zYWZlKGNvbnN0IHZvaWQgKmtleSwgY29uc3Qgdm9pZCAqYmFzZSwKLSAgKiBOb3JtYWwgcXNvcnQgcmVxdWlyZXMgYmFzZSB0byBiZSBub25udWxsLiBIZXJlIHdlcmUgcmVxdWlyZQotICAqIHRoYXQgb25seSBpZiBubWVtYiA+IDAuCi0gICovCi0tc3RhdGljIGlubGluZSB2b2lkIHFzb3J0X3NhZmUodm9pZCAqYmFzZSwgc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSwgY29tcGFyaXNvbl9mbl90IGNvbXBhcikgewotK3N0YXRpYyBpbmxpbmUgdm9pZCBxc29ydF9zYWZlKHZvaWQgKmJhc2UsIHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUsIGludCAoKmNvbXBhcikoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopKSB7Ci0gICAgICAgICBpZiAobm1lbWIgPD0gMSkKLSAgICAgICAgICAgICAgICAgcmV0dXJuOwotIAotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMy1pbXBsbWVudC1zeXN0ZW1kLXN5c3YtaW5zdGFsbC1mb3ItT0UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAzLWltcGxtZW50LXN5c3RlbWQtc3lzdi1pbnN0YWxsLWZvci1PRS5wYXRjaAppbmRleCA2YzU5NWFlLi42Njk1ZDU2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAzLWltcGxtZW50LXN5c3RlbWQtc3lzdi1pbnN0YWxsLWZvci1PRS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAzLWltcGxtZW50LXN5c3RlbWQtc3lzdi1pbnN0YWxsLWZvci1PRS5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMGZjYjZlNjQ2NDAxMjA1ZTE3Y2M2YzEyOTQ0MWE0OTAyM2M2MmNlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNDc4NjQ5ODkzODhiY2QwNGQ2NDdlY2Y2MThhZDdlMjYwMzk5ZGJiNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTYXQsIDUgU2VwIDIwMTUgMDY6MzE6NDcgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzLzldIGltcGxtZW50IHN5c3RlbWQtc3lzdi1pbnN0YWxsIGZvciBPRQorU3ViamVjdDogW1BBVENIIDMvNV0gaW1wbG1lbnQgc3lzdGVtZC1zeXN2LWluc3RhbGwgZm9yIE9FCiAKIFVzZSB1cGRhdGUtcmMuZCBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIGFuZCBzdGF0dXMgY29tbWFuZAogdG8gY2hlY2sgdGhlIHN0YXR1cyBvZiB0aGUgc3lzdiBzZXJ2aWNlCkBAIC0xNCw3ICsxNCw3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3NyYy9zeXN0ZW1jdGwvc3lzdGVtZC1zeXN2LWluc3RhbGwuU0tFTEVUT04gYi9zcmMvc3lzdGVtY3RsL3N5c3RlbWQtc3lzdi1pbnN0YWxsLlNLRUxFVE9OCi1pbmRleCA4YzE2Y2Y5OTkuLjlmMDc4YTEyMSAxMDA3NTUKK2luZGV4IDhjMTZjZjkuLjlmMDc4YTEgMTAwNzU1CiAtLS0gYS9zcmMvc3lzdGVtY3RsL3N5c3RlbWQtc3lzdi1pbnN0YWxsLlNLRUxFVE9OCiArKysgYi9zcmMvc3lzdGVtY3RsL3N5c3RlbWQtc3lzdi1pbnN0YWxsLlNLRUxFVE9OCiBAQCAtMzIsMTcgKzMyLDE3IEBAIGNhc2UgIiQxIiBpbgpAQCAtMzksNSArMzksNSBAQAogICAgICAqKQogICAgICAgICAgdXNhZ2UgOzsKIC0tIAotMi4xMS4wCisyLjcuNAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAzLW1pc3NpbmdfdHlwZS5oLWFkZC1fX2NvbXBhcmVfZm5fdC1hbmQtY29tcGFyaXNvbl9mbl8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAzLW1pc3NpbmdfdHlwZS5oLWFkZC1fX2NvbXBhcmVfZm5fdC1hbmQtY29tcGFyaXNvbl9mbl8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI0NmI0YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDMtbWlzc2luZ190eXBlLmgtYWRkLV9fY29tcGFyZV9mbl90LWFuZC1jb21wYXJpc29uX2ZuXy5wYXRjaApAQCAtMCwwICsxLDYxIEBACitGcm9tIGE5NDIxZDU1MTAyZmM4NGY3N2Y3YzIxYTI0NzlmY2QwMDY1MmI4OTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDEzOjU1OjEyICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMDMvMjRdIG1pc3NpbmdfdHlwZS5oOiBhZGQgX19jb21wYXJlX2ZuX3QgYW5kIGNvbXBhcmlzb25fZm5fdAorCitNYWtlIGl0IHdvcmsgd2l0aCBtdXNsIHdoZXJlIGNvbXBhcmlzb25fZm5fdCBhbmQgX19jb21wYXJlX2ZuX3QKK2lzIG5vdCBwcm92aWRlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvbWlzc2luZ190eXBlLmggfCA5ICsrKysrKysrKworIHNyYy9iYXNpYy91dGlsLmggICAgICAgICB8IDEgKworIHNyYy9qb3VybmFsL2NhdGFsb2cuYyAgICB8IDEgKworIDMgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oIGIvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oCitpbmRleCBiZjhhNmNhLi5jNDg3ZTY1IDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oCisrKysgYi9zcmMvYmFzaWMvbWlzc2luZ190eXBlLmgKK0BAIC0xMCwzICsxMCwxMiBAQAorICNpZiAhSEFWRV9DSEFSMTZfVAorICNkZWZpbmUgY2hhcjE2X3QgdWludDE2X3QKKyAjZW5kaWYKKysKKysjaWZuZGVmIF9fR0xJQkNfXworK3R5cGVkZWYgaW50ICgqY29tcGFyaXNvbl9mbl90KShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKik7CisrI2VuZGlmCisrCisrI2lmbmRlZiBfX0NPTVBBUl9GTl9UCisrI2RlZmluZSBfX0NPTVBBUl9GTl9UCisrdHlwZWRlZiBpbnQgKCpfX2NvbXBhcl9mbl90KShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKik7CisrI2VuZGlmCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3V0aWwuaCBiL3NyYy9iYXNpYy91dGlsLmgKK2luZGV4IDlmNmE2Y2UuLjJjNWRjMzIgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvdXRpbC5oCisrKysgYi9zcmMvYmFzaWMvdXRpbC5oCitAQCAtMjYsNiArMjYsNyBAQAorICNpbmNsdWRlICJmb3JtYXQtdXRpbC5oIgorICNpbmNsdWRlICJtYWNyby5oIgorICNpbmNsdWRlICJ0aW1lLXV0aWwuaCIKKysjaW5jbHVkZSAibWlzc2luZy5oIgorIAorIHNpemVfdCBwYWdlX3NpemUodm9pZCkgX3B1cmVfOworICNkZWZpbmUgUEFHRV9BTElHTihsKSBBTElHTl9UTygobCksIHBhZ2Vfc2l6ZSgpKQorZGlmZiAtLWdpdCBhL3NyYy9qb3VybmFsL2NhdGFsb2cuYyBiL3NyYy9qb3VybmFsL2NhdGFsb2cuYworaW5kZXggNDA2MmYxMi4uMDM0ZTAwYyAxMDA2NDQKKy0tLSBhL3NyYy9qb3VybmFsL2NhdGFsb2cuYworKysrIGIvc3JjL2pvdXJuYWwvY2F0YWxvZy5jCitAQCAtMjYsNiArMjYsNyBAQAorICNpbmNsdWRlICJzdHJ2LmgiCisgI2luY2x1ZGUgInRtcGZpbGUtdXRpbC5oIgorICNpbmNsdWRlICJ1dGlsLmgiCisrI2luY2x1ZGUgIm1pc3NpbmcuaCIKKyAKKyBjb25zdCBjaGFyICogY29uc3QgY2F0YWxvZ19maWxlX2RpcnNbXSA9IHsKKyAgICAgICAgICIvdXNyL2xvY2FsL2xpYi9zeXN0ZW1kL2NhdGFsb2cvIiwKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNC1hZGQtZmFsbGJhY2stcGFyc2VfcHJpbnRmX2Zvcm1hdC1pbXBsZW1lbnRhdGlvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDQtYWRkLWZhbGxiYWNrLXBhcnNlX3ByaW50Zl9mb3JtYXQtaW1wbGVtZW50YXRpb24ucGF0Y2gKaW5kZXggNzY1MmEyZC4uYmI3MzhlMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNC1hZGQtZmFsbGJhY2stcGFyc2VfcHJpbnRmX2Zvcm1hdC1pbXBsZW1lbnRhdGlvbi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA0LWFkZC1mYWxsYmFjay1wYXJzZV9wcmludGZfZm9ybWF0LWltcGxlbWVudGF0aW9uLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA1ODJhZjdlYzEzMTMxZGZjYzYyMGVkODFkZTdiMjExOTE0YzRjYjAzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA3YmNmM2IxNjY2OTQwOTA0OTdhMGFjZDJjNTI5OWU0ZTA0ZmNjOWI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCAyOSBKdW4gMjAxOCAxMzo0Mzo0OSArMDgwMAotU3ViamVjdDogW1BBVENIIDA0LzE5XSBhZGQgZmFsbGJhY2sgcGFyc2VfcHJpbnRmX2Zvcm1hdCBpbXBsZW1lbnRhdGlvbgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxNDowNDoyMSArMDgwMAorU3ViamVjdDogW1BBVENIIDA0LzI0XSBhZGQgZmFsbGJhY2sgcGFyc2VfcHJpbnRmX2Zvcm1hdCBpbXBsZW1lbnRhdGlvbgogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCiAKQEAgLTIwLDI1ICsyMCwyNSBAQAogIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvYmFzaWMvcGFyc2UtcHJpbnRmLWZvcm1hdC5oCiAKIGRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCi1pbmRleCBlMDQ1YjkyMjQuLjhjMTZiYzk3OSAxMDA2NDQKK2luZGV4IDMzODY1NDYuLjQ0YjI0ZWUgMTAwNjQ0CiAtLS0gYS9tZXNvbi5idWlsZAogKysrIGIvbWVzb24uYnVpbGQKLUBAIC01OTgsNiArNTk4LDcgQEAgZm9yZWFjaCBoZWFkZXIgOiBbJ2NyeXB0LmgnLAotICAgICAgICAgICAgICAgICAgICdsaW51eC9idHJmcy5oJywKK0BAIC02NjcsNiArNjY3LDcgQEAgZm9yZWFjaCBoZWFkZXIgOiBbJ2NyeXB0LmgnLAogICAgICAgICAgICAgICAgICAgICdsaW51eC9tZW1mZC5oJywKICAgICAgICAgICAgICAgICAgICAnbGludXgvdm1fc29ja2V0cy5oJywKKyAgICAgICAgICAgICAgICAgICAnbGludXgvY2FuL3Z4Y2FuLmgnLAogKyAgICAgICAgICAgICAgICAgICdwcmludGYuaCcsCiAgICAgICAgICAgICAgICAgICAgJ3N5cy9hdXh2LmgnLAogICAgICAgICAgICAgICAgICAgICd2YWxncmluZC9tZW1jaGVjay5oJywKICAgICAgICAgICAgICAgICAgICAndmFsZ3JpbmQvdmFsZ3JpbmQuaCcsCiBkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL21lc29uLmJ1aWxkIGIvc3JjL2Jhc2ljL21lc29uLmJ1aWxkCi1pbmRleCAzMTYyNWIxNzguLjBjMjc1MjhlNyAxMDA2NDQKK2luZGV4IGU1ODUyZjMuLjIxOTJhMGMgMTAwNjQ0CiAtLS0gYS9zcmMvYmFzaWMvbWVzb24uYnVpbGQKICsrKyBiL3NyYy9iYXNpYy9tZXNvbi5idWlsZAotQEAgLTMwMiw2ICszMDIsMTEgQEAgZm9yZWFjaCBpdGVtIDogW1snYWYnLCAgICAgYWZfbGlzdF90eHQsICAgICAnYWYnLCAgICAgICAgICcnXSwKK0BAIC0yODQsNiArMjg0LDExIEBAIGZvcmVhY2ggaXRlbSA6IFtbJ2FmJywgICAgIGFmX2xpc3RfdHh0LCAgICAgJ2FmJywgICAgICAgICAnJ10sCiAgZW5kZm9yZWFjaAogIAotIGJhc2ljX3NvdXJjZXMgKz0gW21pc3NpbmdfaF0gKyBnZW5lcmF0ZWRfZ3BlcmZfaGVhZGVycworIGJhc2ljX3NvdXJjZXMgKz0gZ2VuZXJhdGVkX2dwZXJmX2hlYWRlcnMKICsKICtpZiBjb25mLmdldCgnSEFWRV9QUklOVEZfSCcpICE9IDEKICsgICAgICAgIGJhc2ljX3NvdXJjZXMgKz0gW2ZpbGVzKCdwYXJzZS1wcmludGYtZm9ybWF0LmMnKV0KQEAgLTQ5LDcgKzQ5LDcgQEAKICAgICAgICAgICdnY3J5cHQtdXRpbC5oJykKIGRpZmYgLS1naXQgYS9zcmMvYmFzaWMvcGFyc2UtcHJpbnRmLWZvcm1hdC5jIGIvc3JjL2Jhc2ljL3BhcnNlLXByaW50Zi1mb3JtYXQuYwogbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMC4uNDk0MzdlNTQ0CitpbmRleCAwMDAwMDAwLi40OTQzN2U1CiAtLS0gL2Rldi9udWxsCiArKysgYi9zcmMvYmFzaWMvcGFyc2UtcHJpbnRmLWZvcm1hdC5jCiBAQCAtMCwwICsxLDI3MyBAQApAQCAtMzI4LDcgKzMyOCw3IEBACiArfQogZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9wYXJzZS1wcmludGYtZm9ybWF0LmggYi9zcmMvYmFzaWMvcGFyc2UtcHJpbnRmLWZvcm1hdC5oCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwLi40N2JlNzUyMmQKK2luZGV4IDAwMDAwMDAuLjQ3YmU3NTIKIC0tLSAvZGV2L251bGwKICsrKyBiL3NyYy9iYXNpYy9wYXJzZS1wcmludGYtZm9ybWF0LmgKIEBAIC0wLDAgKzEsNTcgQEAKQEAgLTM5MCwxMCArMzkwLDEwIEBACiArCiArI2VuZGlmIC8qIEhBVkVfUFJJTlRGX0ggKi8KIGRpZmYgLS1naXQgYS9zcmMvYmFzaWMvc3RkaW8tdXRpbC5oIGIvc3JjL2Jhc2ljL3N0ZGlvLXV0aWwuaAotaW5kZXggNzNjMDMyNzRjLi4zMDE5MmNkNzEgMTAwNjQ0CitpbmRleCBkYzY3YjZlLi5jZjhkNTE0IDEwMDY0NAogLS0tIGEvc3JjL2Jhc2ljL3N0ZGlvLXV0aWwuaAogKysrIGIvc3JjL2Jhc2ljL3N0ZGlvLXV0aWwuaAotQEAgLTEsMTIgKzEsMTIgQEAKK0BAIC0xLDEzICsxLDEzIEBACiAgLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xKyAqLwogICNwcmFnbWEgb25jZQogIApAQCAtNDAzLDEyICs0MDMsMTMgQEAKICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAgCiAgI2luY2x1ZGUgIm1hY3JvLmgiCisgI2luY2x1ZGUgInV0aWwuaCIKICsjaW5jbHVkZSAicGFyc2UtcHJpbnRmLWZvcm1hdC5oIgogIAogICNkZWZpbmUgc25wcmludGZfb2soYnVmLCBsZW4sIGZtdCwgLi4uKSBcCiAgICAgICAgICAoKHNpemVfdCkgc25wcmludGYoYnVmLCBsZW4sIGZtdCwgX19WQV9BUkdTX18pIDwgKGxlbikpCiBkaWZmIC0tZ2l0IGEvc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMgYi9zcmMvam91cm5hbC9qb3VybmFsLXNlbmQuYwotaW5kZXggYTA2MjE1MjRhLi42NWJjYmNkMmUgMTAwNjQ0CitpbmRleCA4NjE4NDU0Li4zZmVhOTEyIDEwMDY0NAogLS0tIGEvc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMKICsrKyBiL3NyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jCiBAQCAtMiw3ICsyLDYgQEAKQEAgLTQyMCwxMyArNDIxLDEzIEBACiAgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KICAjaW5jbHVkZSA8c3lzL3VuLmg+CiBAQCAtMjEsNiArMjAsNyBAQAotICNpbmNsdWRlICJzdGRpby11dGlsLmgiCiAgI2luY2x1ZGUgInN0cmluZy11dGlsLmgiCisgI2luY2x1ZGUgInRtcGZpbGUtdXRpbC5oIgogICNpbmNsdWRlICJ1dGlsLmgiCiArI2luY2x1ZGUgInBhcnNlLXByaW50Zi1mb3JtYXQuaCIKICAKICAjZGVmaW5lIFNOREJVRl9TSVpFICg4KjEwMjQqMTAyNCkKICAKIC0tIAotMi4xMS4wCisyLjcuNAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA0LXJ1bGVzLXdoaXRlbGlzdC1oZC1kZXZpY2VzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNC1ydWxlcy13aGl0ZWxpc3QtaGQtZGV2aWNlcy5wYXRjaAppbmRleCA3ZTM3Y2JjLi43MzhmOGViIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA0LXJ1bGVzLXdoaXRlbGlzdC1oZC1kZXZpY2VzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDQtcnVsZXMtd2hpdGVsaXN0LWhkLWRldmljZXMucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDVkODEyOGYzODMyZmQxMWZkMDQ2ZDFkMWFkODZjNGVlN2JjMWRmZjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogV2VkLCA5IE5vdiAyMDE2IDE5OjQxOjEzIC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggNC85XSBydWxlczogd2hpdGVsaXN0IGhkKiBkZXZpY2VzCitGcm9tIGRjMGE2YTlmZTRkYTk3MzhlZmFiYTk0MjIzM2FkMzlkYTYyNWE5MTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDIxIEZlYiAyMDE5IDE2OjI4OjIxICswODAwCitTdWJqZWN0OiBbUEFUQ0ggNC81XSBydWxlczogd2hpdGVsaXN0IGhkKiBkZXZpY2VzCiAKIHFlbXUgYnkgZGVmYXVsdCBlbXVsYXRlcyBJREUgYW5kIHRoZSBsaW51eC15b2N0byBrZXJuZWwocykgdXNlCiBDT05GSUdfSURFIGluc3RlYWQgb2YgdGhlIG1vcmUgbW9kZXJuIGxpYnNhdGEsIHNvIGRpc2tzIGFwcGVhciBhcwpAQCAtMTEsMjMgKzExLDI1IEBACiAKIFNpZ25lZC1vZmYtYnk6IFBhdHJpY2sgT2hseSA8cGF0cmljay5vaGx5QGludGVsLmNvbT4KIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitbcmViYXNlZCBmb3Igc3lzdGVtZCAyNDFdCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CiAtLS0KICBydWxlcy82MC1wZXJzaXN0ZW50LXN0b3JhZ2UucnVsZXMgfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9ydWxlcy82MC1wZXJzaXN0ZW50LXN0b3JhZ2UucnVsZXMgYi9ydWxlcy82MC1wZXJzaXN0ZW50LXN0b3JhZ2UucnVsZXMKLWluZGV4IDhkZGI3NTc3Yy4uODExZTk0OGFkIDEwMDY0NAoraW5kZXggMWQ4ODgwZS4uZTUzYzhlYSAxMDA2NDQKIC0tLSBhL3J1bGVzLzYwLXBlcnNpc3RlbnQtc3RvcmFnZS5ydWxlcwogKysrIGIvcnVsZXMvNjAtcGVyc2lzdGVudC1zdG9yYWdlLnJ1bGVzCiBAQCAtNyw3ICs3LDcgQEAgQUNUSU9OPT0icmVtb3ZlIiwgR09UTz0icGVyc2lzdGVudF9zdG9yYWdlX2VuZCIKICBFTlZ7VURFVl9ESVNBQkxFX1BFUlNJU1RFTlRfU1RPUkFHRV9SVUxFU19GTEFHfT09IjEiLCBHT1RPPSJwZXJzaXN0ZW50X3N0b3JhZ2VfZW5kIgogIAogIFNVQlNZU1RFTSE9ImJsb2NrIiwgR09UTz0icGVyc2lzdGVudF9zdG9yYWdlX2VuZCIKLS1LRVJORUwhPSJsb29wKnxtbWNibGsqWzAtOV18bXNibGsqWzAtOV18bXNwYmxrKlswLTldfG52bWUqfHNkKnxzcip8dmQqfHh2ZCp8YmNhY2hlKnxjY2lzcyp8ZGFzZCp8dWJkKnxzY20qfHBtZW0qfG5iZCoiLCBHT1RPPSJwZXJzaXN0ZW50X3N0b3JhZ2VfZW5kIgotK0tFUk5FTCE9Imxvb3AqfG1tY2JsaypbMC05XXxtc2JsaypbMC05XXxtc3BibGsqWzAtOV18bnZtZSp8c2QqfHNyKnx2ZCp8eHZkKnxiY2FjaGUqfGNjaXNzKnxkYXNkKnx1YmQqfHNjbSp8cG1lbSp8bmJkKnxoZCoiLCBHT1RPPSJwZXJzaXN0ZW50X3N0b3JhZ2VfZW5kIgorLUtFUk5FTCE9Imxvb3AqfG1tY2JsaypbMC05XXxtc2JsaypbMC05XXxtc3BibGsqWzAtOV18bnZtZSp8c2QqfHNyKnx2ZCp8eHZkKnxiY2FjaGUqfGNjaXNzKnxkYXNkKnx1YmQqfHNjbSp8cG1lbSp8bmJkKnx6ZCoiLCBHT1RPPSJwZXJzaXN0ZW50X3N0b3JhZ2VfZW5kIgorK0tFUk5FTCE9Imxvb3AqfG1tY2JsaypbMC05XXxtc2JsaypbMC05XXxtc3BibGsqWzAtOV18bnZtZSp8c2QqfHNyKnx2ZCp8eHZkKnxiY2FjaGUqfGNjaXNzKnxkYXNkKnx1YmQqfHNjbSp8cG1lbSp8bmJkKnx6ZCp8aGQqIiwgR09UTz0icGVyc2lzdGVudF9zdG9yYWdlX2VuZCIKICAKICAjIGlnbm9yZSBwYXJ0aXRpb25zIHRoYXQgc3BhbiB0aGUgZW50aXJlIGRpc2sKICBURVNUPT0id2hvbGVfZGlzayIsIEdPVE89InBlcnNpc3RlbnRfc3RvcmFnZV9lbmQiCiAtLSAKLTIuMTEuMAorMi43LjQKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNS1NYWtlLXJvb3Qtcy1ob21lLWRpcmVjdG9yeS1jb25maWd1cmFibGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA1LU1ha2Utcm9vdC1zLWhvbWUtZGlyZWN0b3J5LWNvbmZpZ3VyYWJsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzEzNzA4Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA1LU1ha2Utcm9vdC1zLWhvbWUtZGlyZWN0b3J5LWNvbmZpZ3VyYWJsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLUZyb20gOGI4MjY2M2FlZWVkZjljYTU4ZTNiOTcxMTZiNGM0ZGE1MjI5ZTBmNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMjcgSnVuIDIwMTggMTY6NDY6NDUgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCA1LzldIE1ha2Ugcm9vdCdzIGhvbWUgZGlyZWN0b3J5IGNvbmZpZ3VyYWJsZQotCi1PcGVuRW1iZWRkZWQgaGFzIGEgY29uZmlndXJhYmxlIGhvbWUgZGlyZWN0b3J5IGZvciByb290LiBBbGxvdwotc3lzdGVtZCB0byBiZSBidWlsdCB1c2luZyBpdHMgaWRlYSBvZiB3aGF0IHJvb3QncyBob21lIGRpcmVjdG9yeQotc2hvdWxkIGJlLgotCi1VcHN0cmVhbS1TdGF0dXM6IERlbmllZAotVXBzdHJlYW0gd2FudHMgdG8gaGF2ZSBhIHVuaWZpZWQgaGllcmFyY2h5IHdoZXJlIGV2ZXJ5b25lIGlzCi11c2luZyB0aGUgc2FtZSByb290IGZvbGRlci4KLWh0dHBzOi8vZ2l0aHViLmNvbS9zeXN0ZW1kL3N5c3RlbWQvaXNzdWVzLzU0MQotCi1TaWduZWQtb2ZmLWJ5OiBEYW4gTWNHcmVnb3IgPGRhbi5tY2dyZWdvckB1c2Fzay5jYT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBtZXNvbi5idWlsZCAgICAgICB8IDcgKysrKysrKwotIG1lc29uX29wdGlvbnMudHh0IHwgMiArKwotIDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCi1pbmRleCA2ZDVlZGNiNGUuLjMyMzE0NmZlMSAxMDA2NDQKLS0tLSBhL21lc29uLmJ1aWxkCi0rKysgYi9tZXNvbi5idWlsZAotQEAgLTg5LDYgKzg5LDExIEBAIGlmIHJvb3RsaWJkaXIgPT0gJycKLSAgICAgICAgIHJvb3RsaWJkaXIgPSBqb2luX3BhdGhzKHJvb3RwcmVmaXhkaXIsIGxpYmRpci5zcGxpdCgnLycpWy0xXSkKLSBlbmRpZgotIAotK3Jvb3Rob21lZGlyID0gZ2V0X29wdGlvbigncm9vdGhvbWVkaXInKQotK2lmIHJvb3Rob21lZGlyID09ICcnCi0rICAgICAgICByb290aG9tZWRpciA9ICcvcm9vdCcKLStlbmRpZgotKwotICMgRGlycyBvZiBleHRlcm5hbCBwYWNrYWdlcwotIHBrZ2NvbmZpZ2RhdGFkaXIgPSBqb2luX3BhdGhzKGRhdGFkaXIsICdwa2djb25maWcnKQotIHBrZ2NvbmZpZ2xpYmRpciA9IGpvaW5fcGF0aHMobGliZGlyLCAncGtnY29uZmlnJykKLUBAIC0yMTAsNiArMjE1LDcgQEAgY29uZi5zZXRfcXVvdGVkKCdVREVWTElCRVhFQ0RJUicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1ZGV2bGliZXhlY2RpcikKLSBjb25mLnNldF9xdW90ZWQoJ1BPTEtJVF9BR0VOVF9CSU5BUllfUEFUSCcsICAgICAgICAgICAgICAgICAgIGpvaW5fcGF0aHMoYmluZGlyLCAncGt0dHlhZ2VudCcpKQotIGNvbmYuc2V0X3F1b3RlZCgnTElCRElSJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGliZGlyKQotIGNvbmYuc2V0X3F1b3RlZCgnUk9PVExJQkRJUicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9vdGxpYmRpcikKLStjb25mLnNldF9xdW90ZWQoJ1JPT1RIT01FRElSJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3Rob21lZGlyKQotIGNvbmYuc2V0X3F1b3RlZCgnUk9PVExJQkVYRUNESVInLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9vdGxpYmV4ZWNkaXIpCi0gY29uZi5zZXRfcXVvdGVkKCdCT09UTElCRElSJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib290bGliZGlyKQotIGNvbmYuc2V0X3F1b3RlZCgnU1lTVEVNRF9QVUxMX1BBVEgnLCAgICAgICAgICAgICAgICAgICAgICAgICAgam9pbl9wYXRocyhyb290bGliZXhlY2RpciwgJ3N5c3RlbWQtcHVsbCcpKQotQEAgLTIyOCw2ICsyMzQsNyBAQCBzdWJzdHMuc2V0KCdwcmVmaXgnLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeGRpcikKLSBzdWJzdHMuc2V0KCdleGVjX3ByZWZpeCcsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeGRpcikKLSBzdWJzdHMuc2V0KCdsaWJkaXInLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmRpcikKLSBzdWJzdHMuc2V0KCdyb290bGliZGlyJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3RsaWJkaXIpCi0rc3Vic3RzLnNldCgncm9vdGhvbWVkaXInLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb290aG9tZWRpcikKLSBzdWJzdHMuc2V0KCdpbmNsdWRlZGlyJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVkaXIpCi0gc3Vic3RzLnNldCgncGtnc3lzY29uZmRpcicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2dzeXNjb25mZGlyKQotIHN1YnN0cy5zZXQoJ2JpbmRpcicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluZGlyKQotZGlmZiAtLWdpdCBhL21lc29uX29wdGlvbnMudHh0IGIvbWVzb25fb3B0aW9ucy50eHQKLWluZGV4IDE2YzFmMmIyZi4uYWE5YTMzMzY4IDEwMDY0NAotLS0tIGEvbWVzb25fb3B0aW9ucy50eHQKLSsrKyBiL21lc29uX29wdGlvbnMudHh0Ci1AQCAtOSw2ICs5LDggQEAgb3B0aW9uKCdyb290bGliZGlyJywgdHlwZSA6ICdzdHJpbmcnLAotICAgICAgICBkZXNjcmlwdGlvbiA6ICcnJ1svdXNyXS9saWIveDg2XzY0LWxpbnV4LWdudSBvciBzdWNoJycnKQotIG9wdGlvbigncm9vdHByZWZpeCcsIHR5cGUgOiAnc3RyaW5nJywKLSAgICAgICAgZGVzY3JpcHRpb24gOiAnJydvdmVycmlkZSB0aGUgcm9vdCBwcmVmaXgnJycpCi0rb3B0aW9uKCdyb290aG9tZWRpcicsIHR5cGUgOiAnc3RyaW5nJywKLSsgICAgICAgZGVzY3JpcHRpb24gOiAnJydvdmVycmlkZSB0aGUgcm9vdCBob21lIGRpcmVjdG9yeScnJykKLSBvcHRpb24oJ2xpbmstdWRldi1zaGFyZWQnLCB0eXBlIDogJ2Jvb2xlYW4nLAotICAgICAgICBkZXNjcmlwdGlvbiA6ICdsaW5rIHN5c3RlbWQtdWRldiBhbmQgaXRzIGhlbHBlcnMgdG8gbGlic3lzdGVtZC1zaGFyZWQuc28nKQotIG9wdGlvbignbGluay1zeXN0ZW1jdGwtc2hhcmVkJywgdHlwZTogJ2Jvb2xlYW4nLAotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNS1pbmNsdWRlLWdzaGFkb3ctb25seS1pZi1FTkFCTEVfR1NIQURPVy1pcy0xLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNS1pbmNsdWRlLWdzaGFkb3ctb25seS1pZi1FTkFCTEVfR1NIQURPVy1pcy0xLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDVmYWY1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDUtaW5jbHVkZS1nc2hhZG93LW9ubHktaWYtRU5BQkxFX0dTSEFET1ctaXMtMS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUZyb20gYTJjNGQ0Njk0NDg5MjE3NDkzMDEzNTY3MjUwODM4OWEwNGUxOTFmMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IEZyaSwgMjkgSnVuIDIwMTggMTM6NTM6MjkgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAwNS8xOV0gaW5jbHVkZSBnc2hhZG93IG9ubHkgaWYgRU5BQkxFX0dTSEFET1cgaXMgMQotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2xdCi0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9iYXNpYy91c2VyLXV0aWwuaCB8IDIgKysKLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvdXNlci11dGlsLmggYi9zcmMvYmFzaWMvdXNlci11dGlsLmgKLWluZGV4IGI3NGYxNjg4NS4uZjljMWUyOWM0IDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL3VzZXItdXRpbC5oCi0rKysgYi9zcmMvYmFzaWMvdXNlci11dGlsLmgKLUBAIC0yLDcgKzIsOSBAQAotICNwcmFnbWEgb25jZQotIAotICNpbmNsdWRlIDxncnAuaD4KLSsjaWYgRU5BQkxFX0dTSEFET1cKLSAjaW5jbHVkZSA8Z3NoYWRvdy5oPgotKyNlbmRpZgotICNpbmNsdWRlIDxwd2QuaD4KLSAjaW5jbHVkZSA8c2hhZG93Lmg+Ci0gI2luY2x1ZGUgPHN0ZGJvb2wuaD4KLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDUtcnVsZXMtd2F0Y2gtbWV0YWRhdGEtY2hhbmdlcy1pbi1pZGUtZGV2aWNlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDUtcnVsZXMtd2F0Y2gtbWV0YWRhdGEtY2hhbmdlcy1pbi1pZGUtZGV2aWNlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTIzMDUyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNS1ydWxlcy13YXRjaC1tZXRhZGF0YS1jaGFuZ2VzLWluLWlkZS1kZXZpY2VzLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gZDFiY2NjNzIxZGQ4ZjQzZmVlMjljNWRmMGU5Yjc4MzQ1ZTY5ZjRiNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgMjEgRmViIDIwMTkgMTY6Mzg6MzggKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCA1LzVdIHJ1bGVzOiB3YXRjaCBtZXRhZGF0YSBjaGFuZ2VzIGluIGlkZSBkZXZpY2VzCisKK0Zvcm1hdHRpbmcgSURFIHN0b3JhZ2UgZG9lcyBub3QgdHJpZ2dlciAiY2hhbmdlIiB1ZXZlbnRzLiBBcyBhIHJlc3VsdAorY2xpZW50cyB1c2luZyB1ZGV2IEFQSSBkb24ndCBnZXQgYW55IHVwZGF0ZXMgYWZ0ZXJ3YXJkcyBhbmQgZ2V0IG91dGRhdGVkCitpbmZvcm1hdGlvbiBhYm91dCB0aGUgZGV2aWNlLgorLi4uCityb290QHFlbXV4ODYtNjQ6fiMgbWtmcy5leHQ0IC1GIC9kZXYvaGRhMQorQ3JlYXRpbmcgZmlsZXN5c3RlbSB3aXRoIDI2MjE0NCA0ayBibG9ja3MgYW5kIDY1NTM2IGlub2RlcworRmlsZXN5c3RlbSBVVUlEOiA5ODc5MWViMi0yYmYzLTQ3YWQtYjRkOC00Y2Y3ZTkxNGVlZTIKKworcm9vdEBxZW11eDg2LTY0On4jIGxzIC9kZXYvZGlzay9ieS11dWlkLzk4NzkxZWIyLTJiZjMtNDdhZC1iNGQ4LTRjZjdlOTE0ZWVlMgorbHM6IGNhbm5vdCBhY2Nlc3MgJy9kZXYvZGlzay9ieS11dWlkLzk4NzkxZWIyLTJiZjMtNDdhZC1iNGQ4LTRjZjdlOTE0ZWVlMic6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKy4uLgorSW5jbHVkZSBoZCogaW4gYSBtYXRjaCBmb3Igd2F0Y2ggb3B0aW9uIGFzc2lnbm1lbnQuCisKK1Vwc3RyZWFtLVN0YXR1czogRGVuaWVkCisKK3FlbXUgYnkgZGVmYXVsdCBlbXVsYXRlcyBJREUgYW5kIHRoZSBsaW51eC15b2N0byBrZXJuZWwocykgdXNlCitDT05GSUdfSURFIGluc3RlYWQgb2YgdGhlIG1vcmUgbW9kZXJuIGxpYnNhdGEsIHNvIGRpc2tzIGFwcGVhciBhcworL2Rldi9oZCouIEEgc2ltaWxhciBwYXRjaCByZWplY3RlZCBieSB1cHN0cmVhbSBiZWNhdXNlIENPTkZJR19JREUKK2lzIGRlcHJlY2F0ZWQuCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK1tyZWJhc2VkIGZvciBzeXN0ZW1kIDI0MV0KK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHJ1bGVzLzYwLWJsb2NrLnJ1bGVzIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvcnVsZXMvNjAtYmxvY2sucnVsZXMgYi9ydWxlcy82MC1ibG9jay5ydWxlcworaW5kZXggYTE0NThlOS4uM2JhNGI2YjQgMTAwNjQ0CistLS0gYS9ydWxlcy82MC1ibG9jay5ydWxlcworKysrIGIvcnVsZXMvNjAtYmxvY2sucnVsZXMKK0BAIC04LDQgKzgsNCBAQCBBQ1RJT049PSJhZGQiLCBTVUJTWVNURU09PSJtb2R1bGUiLCBLRVJORUw9PSJibG9jayIsIEFUVFJ7cGFyYW1ldGVycy9ldmVudHNfZGZsXworIEFDVElPTj09ImNoYW5nZSIsIFNVQlNZU1RFTT09InNjc2kiLCBFTlZ7REVWVFlQRX09PSJzY3NpX2RldmljZSIsIFRFU1Q9PSJibG9jayIsIEFUVFJ7YmxvY2svKi91ZXZlbnR9PSJjaGFuZ2UiCisgCisgIyB3YXRjaCBtZXRhZGF0YSBjaGFuZ2VzLCBjYXVzZWQgYnkgdG9vbHMgY2xvc2luZyB0aGUgZGV2aWNlIG5vZGUgd2hpY2ggd2FzIG9wZW5lZCBmb3Igd3JpdGluZworLUFDVElPTiE9InJlbW92ZSIsIFNVQlNZU1RFTT09ImJsb2NrIiwgS0VSTkVMPT0ibG9vcCp8bnZtZSp8c2QqfHZkKnx4dmQqfHBtZW0qfG1tY2Jsayp8ZGFzZCoiLCBPUFRJT05TKz0id2F0Y2giCisrQUNUSU9OIT0icmVtb3ZlIiwgU1VCU1lTVEVNPT0iYmxvY2siLCBLRVJORUw9PSJsb29wKnxudm1lKnxzZCp8dmQqfHh2ZCp8cG1lbSp8bW1jYmxrKnxkYXNkKnxoZCoiLCBPUFRJT05TKz0id2F0Y2giCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDUtc3JjLWJhc2ljLW1pc3NpbmcuaC1jaGVjay1mb3ItbWlzc2luZy1zdHJuZHVwYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDUtc3JjLWJhc2ljLW1pc3NpbmcuaC1jaGVjay1mb3ItbWlzc2luZy1zdHJuZHVwYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjA4OTdiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNS1zcmMtYmFzaWMtbWlzc2luZy5oLWNoZWNrLWZvci1taXNzaW5nLXN0cm5kdXBhLnBhdGNoCkBAIC0wLDAgKzEsMTE2IEBACitGcm9tIDM5OWZkM2VkYTMwNDU2MzZhNzBkYTQzOGEwZmQxNDA2Y2MzMzJlZDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDE0OjE4OjIxICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMDUvMjRdIHNyYy9iYXNpYy9taXNzaW5nLmg6IGNoZWNrIGZvciBtaXNzaW5nIHN0cm5kdXBhCisKK2luY2x1ZGUgbWlzc2luZy5oICBmb3IgZGVmaW5pdGlvbiBvZiBzdHJuZHVwYQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBtZXNvbi5idWlsZCAgICAgICAgICAgICAgICB8ICAxICsKKyBzcmMvYmFzaWMvbWlzc2luZ19zdGRsaWIuaCB8IDEyICsrKysrKysrKysrKworIHNyYy9iYXNpYy9ta2Rpci5jICAgICAgICAgIHwgIDEgKworIHNyYy9iYXNpYy9wYXJzZS11dGlsLmMgICAgIHwgIDEgKworIHNyYy9iYXNpYy9wcm9jZnMtdXRpbC5jICAgIHwgIDEgKworIHNyYy9zaGFyZWQvcGFnZXIuYyAgICAgICAgIHwgIDEgKworIHNyYy9zaGFyZWQvdWlkLXJhbmdlLmMgICAgIHwgIDEgKworIDcgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAoraW5kZXggNDRiMjRlZS4uNzBmYjIxOCAxMDA2NDQKKy0tLSBhL21lc29uLmJ1aWxkCisrKysgYi9tZXNvbi5idWlsZAorQEAgLTU1OCw2ICs1NTgsNyBAQCBmb3JlYWNoIGlkZW50IDogWworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNpbmNsdWRlIDx1bmlzdGQuaD4nJyddLAorICAgICAgICAgWydleHBsaWNpdF9iemVybycgLCAgICcnJyNpbmNsdWRlIDxzdHJpbmcuaD4nJyddLAorICAgICAgICAgWydyZWFsbG9jYXJyYXknLCAgICAgICcnJyNpbmNsdWRlIDxtYWxsb2MuaD4nJyddLAorKyAgICAgICAgWydzdHJuZHVwYScgLCAgICAgICAgICcnJyNpbmNsdWRlIDxzdHJpbmcuaD4nJyddLAorIF0KKyAKKyAgICAgICAgIGhhdmUgPSBjYy5oYXNfZnVuY3Rpb24oaWRlbnRbMF0sIHByZWZpeCA6IGlkZW50WzFdLCBhcmdzIDogJy1EX0dOVV9TT1VSQ0UnKQorZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9taXNzaW5nX3N0ZGxpYi5oIGIvc3JjL2Jhc2ljL21pc3Npbmdfc3RkbGliLmgKK2luZGV4IGMwZmZlODYuLmQ1MDI3NGIgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvbWlzc2luZ19zdGRsaWIuaAorKysrIGIvc3JjL2Jhc2ljL21pc3Npbmdfc3RkbGliLmgKK0BAIC0xMSwzICsxMSwxNSBAQAorICMgICAgZGVmaW5lIHNlY3VyZV9nZXRlbnYgZ2V0ZW52CisgIyAgZW5kaWYKKyAjZW5kaWYKKysKKysvKiBzdHJpbmcuaCAqLworKyNpZiAhIEhBVkVfU1RSTkRVUEEKKysjZGVmaW5lIHN0cm5kdXBhKHMsIG4pIFwKKysgICh7IFwKKysgICAgY29uc3QgY2hhciAqX19vbGQgPSAocyk7IFwKKysgICAgc2l6ZV90IF9fbGVuID0gc3RybmxlbihfX29sZCwgKG4pKTsgXAorKyAgICBjaGFyICpfX25ldyA9IChjaGFyICopYWxsb2NhKF9fbGVuICsgMSk7IFwKKysgICAgX19uZXdbX19sZW5dID0gJ1wwJzsgXAorKyAgICAoY2hhciAqKW1lbWNweShfX25ldywgX19vbGQsIF9fbGVuKTsgXAorKyAgfSkKKysjZW5kaWYKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWtkaXIuYyBiL3NyYy9iYXNpYy9ta2Rpci5jCitpbmRleCA0YmI2NWQ1Li4zMDM4YWI5IDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL21rZGlyLmMKKysrKyBiL3NyYy9iYXNpYy9ta2Rpci5jCitAQCAtMTMsNiArMTMsNyBAQAorICNpbmNsdWRlICJzdGF0LXV0aWwuaCIKKyAjaW5jbHVkZSAic3RkaW8tdXRpbC5oIgorICNpbmNsdWRlICJ1c2VyLXV0aWwuaCIKKysjaW5jbHVkZSAibWlzc2luZy5oIgorIAorIGludCBta2Rpcl9zYWZlX2ludGVybmFsKGNvbnN0IGNoYXIgKnBhdGgsIG1vZGVfdCBtb2RlLCB1aWRfdCB1aWQsIGdpZF90IGdpZCwgTWtkaXJGbGFncyBmbGFncywgbWtkaXJfZnVuY190IF9ta2RpcikgeworICAgICAgICAgc3RydWN0IHN0YXQgc3Q7CitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3BhcnNlLXV0aWwuYyBiL3NyYy9iYXNpYy9wYXJzZS11dGlsLmMKK2luZGV4IDg3NzI0YWYuLmQ5YzUzYmMgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvcGFyc2UtdXRpbC5jCisrKysgYi9zcmMvYmFzaWMvcGFyc2UtdXRpbC5jCitAQCAtMTksNiArMTksNyBAQAorICNpbmNsdWRlICJwcm9jZXNzLXV0aWwuaCIKKyAjaW5jbHVkZSAic3RhdC11dGlsLmgiCisgI2luY2x1ZGUgInN0cmluZy11dGlsLmgiCisrI2luY2x1ZGUgIm1pc3NpbmcuaCIKKyAKKyBpbnQgcGFyc2VfYm9vbGVhbihjb25zdCBjaGFyICp2KSB7CisgICAgICAgICBpZiAoIXYpCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMgYi9zcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYworaW5kZXggN2FhZjk1Yi4uNDJjZTUzZCAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9wcm9jZnMtdXRpbC5jCisrKysgYi9zcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYworQEAgLTExLDYgKzExLDcgQEAKKyAjaW5jbHVkZSAicHJvY2ZzLXV0aWwuaCIKKyAjaW5jbHVkZSAic3RkaW8tdXRpbC5oIgorICNpbmNsdWRlICJzdHJpbmctdXRpbC5oIgorKyNpbmNsdWRlICJtaXNzaW5nLmgiCisgCisgaW50IHByb2Nmc190YXNrc19nZXRfbGltaXQodWludDY0X3QgKnJldCkgeworICAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqdmFsdWUgPSBOVUxMOworZGlmZiAtLWdpdCBhL3NyYy9zaGFyZWQvcGFnZXIuYyBiL3NyYy9zaGFyZWQvcGFnZXIuYworaW5kZXggYmYyNTk3ZS4uZmE5ZTMyMSAxMDA2NDQKKy0tLSBhL3NyYy9zaGFyZWQvcGFnZXIuYworKysrIGIvc3JjL3NoYXJlZC9wYWdlci5jCitAQCAtMjQsNiArMjQsNyBAQAorICNpbmNsdWRlICJzdHJpbmctdXRpbC5oIgorICNpbmNsdWRlICJzdHJ2LmgiCisgI2luY2x1ZGUgInRlcm1pbmFsLXV0aWwuaCIKKysjaW5jbHVkZSAibWlzc2luZy5oIgorIAorIHN0YXRpYyBwaWRfdCBwYWdlcl9waWQgPSAwOworIAorZGlmZiAtLWdpdCBhL3NyYy9zaGFyZWQvdWlkLXJhbmdlLmMgYi9zcmMvc2hhcmVkL3VpZC1yYW5nZS5jCitpbmRleCA1ZmE3YmQyLi45YzYzYjllIDEwMDY0NAorLS0tIGEvc3JjL3NoYXJlZC91aWQtcmFuZ2UuYworKysrIGIvc3JjL3NoYXJlZC91aWQtcmFuZ2UuYworQEAgLTksNiArOSw3IEBACisgI2luY2x1ZGUgInVpZC1yYW5nZS5oIgorICNpbmNsdWRlICJ1c2VyLXV0aWwuaCIKKyAjaW5jbHVkZSAidXRpbC5oIgorKyNpbmNsdWRlICJtaXNzaW5nLmgiCisgCisgc3RhdGljIGJvb2wgdWlkX3JhbmdlX2ludGVyc2VjdChVaWRSYW5nZSAqcmFuZ2UsIHVpZF90IHN0YXJ0LCB1aWRfdCBucikgeworICAgICAgICAgYXNzZXJ0KHJhbmdlKTsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNi1JbmNsdWRlLW5ldGluZXQtaWZfZXRoZXIuaC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDYtSW5jbHVkZS1uZXRpbmV0LWlmX2V0aGVyLmgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjQxZjZjNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDYtSW5jbHVkZS1uZXRpbmV0LWlmX2V0aGVyLmgucGF0Y2gKQEAgLTAsMCArMSw5NiBAQAorRnJvbSA2N2E5ODhhZTgyYzc3NmQxMWJlNzZkZTcxODBkNTBlYTAyN2FjNDQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxNDoyNDoyMCArMDgwMAorU3ViamVjdDogW1BBVENIIDA2LzI0XSBJbmNsdWRlIG5ldGluZXQvaWZfZXRoZXIuaAorCitGaXhlcworL3BhdGgvdG8vc3lzdGVtZC9yZWNpcGUtc3lzcm9vdC91c3IvaW5jbHVkZS9uZXRpbmV0L2lmX2V0aGVyLmg6MTAxOjg6IGVycm9yOiByZWRlZmluaXRpb24gb2YgJ3N0cnVjdCBldGhoZHInCisgc3RydWN0IGV0aGhkciB7CisgICAgICAgIF5+fn5+fgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvbGlic3lzdGVtZC9zZC1uZXRsaW5rL25ldGxpbmstdHlwZXMuYyB8IDEgKworIHNyYy9uZXR3b3JrL25ldGRldi90dW50YXAuYyAgICAgICAgICAgICAgIHwgMSArCisgc3JjL25ldHdvcmsvbmV0d29ya2QtYnJ2bGFuLmMgICAgICAgICAgICAgfCAxICsKKyBzcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmMgICAgICAgICAgICAgICB8IDEgKworIHNyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuaCAgICAgICAgICAgICAgIHwgMSArCisgc3JjL3VkZXYvdWRldi1idWlsdGluLW5ldF9zZXR1cF9saW5rLmMgICAgfCAxICsKKyA2IGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtbmV0bGluay9uZXRsaW5rLXR5cGVzLmMgYi9zcmMvbGlic3lzdGVtZC9zZC1uZXRsaW5rL25ldGxpbmstdHlwZXMuYworaW5kZXggOWRjZDNmMi4uZTIzZmY0YyAxMDA2NDQKKy0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLW5ldGxpbmsvbmV0bGluay10eXBlcy5jCisrKysgYi9zcmMvbGlic3lzdGVtZC9zZC1uZXRsaW5rL25ldGxpbmstdHlwZXMuYworQEAgLTMsNiArMyw3IEBACisgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKysjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgorICNpbmNsdWRlIDxsaW51eC9uZXRsaW5rLmg+CisgI2luY2x1ZGUgPGxpbnV4L3J0bmV0bGluay5oPgorICNpbmNsdWRlIDxsaW51eC9nZW5ldGxpbmsuaD4KK2RpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXRkZXYvdHVudGFwLmMgYi9zcmMvbmV0d29yay9uZXRkZXYvdHVudGFwLmMKK2luZGV4IDk1MTEzOGQuLjFhZDQ5OWQgMTAwNjQ0CistLS0gYS9zcmMvbmV0d29yay9uZXRkZXYvdHVudGFwLmMKKysrKyBiL3NyYy9uZXR3b3JrL25ldGRldi90dW50YXAuYworQEAgLTIsNiArMiw3IEBACisgCisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPGZjbnRsLmg+CisrI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfdHVuLmg+CisgI2luY2x1ZGUgPG5ldC9pZi5oPgorICNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+CitkaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsvbmV0d29ya2QtYnJ2bGFuLmMgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1icnZsYW4uYworaW5kZXggODM3NzYyMy4uMTMyYWY2MCAxMDA2NDQKKy0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWJydmxhbi5jCisrKysgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1icnZsYW4uYworQEAgLTQsNiArNCw3IEBACisgKioqLworIAorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisrI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfYnJpZGdlLmg+CisgI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyAKK2RpZmYgLS1naXQgYS9zcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmMgYi9zcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmMKK2luZGV4IDBkY2VjMDMuLjM2OTViMTAgMTAwNjQ0CistLS0gYS9zcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmMKKysrKyBiL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuYworQEAgLTEsNSArMSw2IEBACisgLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xKyAqLworIAorKyNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+CisgI2luY2x1ZGUgPG5ldC9pZi5oPgorICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyAjaW5jbHVkZSA8bGludXgvZXRodG9vbC5oPgorZGlmZiAtLWdpdCBhL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuaCBiL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuaAoraW5kZXggNjE4YjI2Yi4uZWJmZTgyYSAxMDA2NDQKKy0tLSBhL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuaAorKysrIGIvc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5oCitAQCAtMiw2ICsyLDcgQEAKKyAjcHJhZ21hIG9uY2UKKyAKKyAjaW5jbHVkZSA8bWFjcm8uaD4KKysjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgorICNpbmNsdWRlIDxsaW51eC9ldGh0b29sLmg+CisgCisgI2luY2x1ZGUgImNvbmYtcGFyc2VyLmgiCitkaWZmIC0tZ2l0IGEvc3JjL3VkZXYvdWRldi1idWlsdGluLW5ldF9zZXR1cF9saW5rLmMgYi9zcmMvdWRldi91ZGV2LWJ1aWx0aW4tbmV0X3NldHVwX2xpbmsuYworaW5kZXggYTg0NWRmYS4uMTc3Mjg5YSAxMDA2NDQKKy0tLSBhL3NyYy91ZGV2L3VkZXYtYnVpbHRpbi1uZXRfc2V0dXBfbGluay5jCisrKysgYi9zcmMvdWRldi91ZGV2LWJ1aWx0aW4tbmV0X3NldHVwX2xpbmsuYworQEAgLTEsNSArMSw2IEBACisgLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xKyAqLworIAorKyNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+CisgI2luY2x1ZGUgImRldmljZS11dGlsLmgiCisgI2luY2x1ZGUgImFsbG9jLXV0aWwuaCIKKyAjaW5jbHVkZSAibGluay1jb25maWcuaCIKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNi1yZW1vdmUtbm9ib2R5LXVzZXItZ3JvdXAtY2hlY2tpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA2LXJlbW92ZS1ub2JvZHktdXNlci1ncm91cC1jaGVja2luZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWI2ZWI4Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA2LXJlbW92ZS1ub2JvZHktdXNlci1ncm91cC1jaGVja2luZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYzICswLDAgQEAKLUZyb20gNTE5OWFlNWRlYzliOGE5YzllMjA0NzdkNTA5MGYxNzMyNzM1ZmJlMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IFRodSwgMjggSnVuIDIwMTggMDk6Mzg6MTIgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCA2LzldIHJlbW92ZSBub2JvZHkgdXNlci9ncm91cCBjaGVja2luZwotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIFNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBtZXNvbi5idWlsZCB8IDM3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMzcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCi1pbmRleCAzMjMxNDZmZTEuLjNiYjA4N2ZlZiAxMDA2NDQKLS0tLSBhL21lc29uLmJ1aWxkCi0rKysgYi9tZXNvbi5idWlsZAotQEAgLTY4MSw0MyArNjgxLDYgQEAgc3Vic3RzLnNldCgnY29udGFpbmVydWlkYmFzZW1heCcsIGNvbnRhaW5lcl91aWRfYmFzZV9tYXgpCi0gbm9ib2R5X3VzZXIgPSBnZXRfb3B0aW9uKCdub2JvZHktdXNlcicpCi0gbm9ib2R5X2dyb3VwID0gZ2V0X29wdGlvbignbm9ib2R5LWdyb3VwJykKLSAKLS1nZXRlbnRfcmVzdWx0ID0gcnVuX2NvbW1hbmQoJ2dldGVudCcsICdwYXNzd2QnLCAnNjU1MzQnKQotLWlmIGdldGVudF9yZXN1bHQucmV0dXJuY29kZSgpID09IDAKLS0gICAgICAgIG5hbWUgPSBnZXRlbnRfcmVzdWx0LnN0ZG91dCgpLnNwbGl0KCc6JylbMF0KLS0gICAgICAgIGlmIG5hbWUgIT0gbm9ib2R5X3VzZXIKLS0gICAgICAgICAgICAgICAgd2FybmluZygnXG4nICsKLS0gICAgICAgICAgICAgICAgICAgICAgICAnVGhlIGxvY2FsIHVzZXIgd2l0aCB0aGUgVUlEIDY1NTM0IGRvZXMgbm90IG1hdGNoIHRoZSBjb25maWd1cmVkIHVzZXIgbmFtZSAiQDBAIiBvZiB0aGUgbm9ib2R5IHVzZXIgKGl0cyBuYW1lIGlzIEAxQCkuXG4nLmZvcm1hdChub2JvZHlfdXNlciwgbmFtZSkgKwotLSAgICAgICAgICAgICAgICAgICAgICAgICdZb3VyIGJ1aWxkIHdpbGwgcmVzdWx0IGluIGFuIHVzZXIgdGFibGUgc2V0dXAgdGhhdCBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgbG9jYWwgc3lzdGVtLicpCi0tICAgICAgICBlbmRpZgotLWVuZGlmCi0taWRfcmVzdWx0ID0gcnVuX2NvbW1hbmQoJ2lkJywgJy11Jywgbm9ib2R5X3VzZXIpCi0taWYgaWRfcmVzdWx0LnJldHVybmNvZGUoKSA9PSAwCi0tICAgICAgICBpZCA9IGlkX3Jlc3VsdC5zdGRvdXQoKS50b19pbnQoKQotLSAgICAgICAgaWYgaWQgIT0gNjU1MzQKLS0gICAgICAgICAgICAgICAgd2FybmluZygnXG4nICsKLS0gICAgICAgICAgICAgICAgICAgICAgICAnVGhlIGxvY2FsIHVzZXIgd2l0aCB0aGUgY29uZmlndXJlZCB1c2VyIG5hbWUgIkAwQCIgb2YgdGhlIG5vYm9keSB1c2VyIGRvZXMgbm90IGhhdmUgVUlEIDY1NTM0IChpdCBoYXMgQDFAKS5cbicuZm9ybWF0KG5vYm9keV91c2VyLCBpZCkgKwotLSAgICAgICAgICAgICAgICAgICAgICAgICdZb3VyIGJ1aWxkIHdpbGwgcmVzdWx0IGluIGFuIHVzZXIgdGFibGUgc2V0dXAgdGhhdCBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgbG9jYWwgc3lzdGVtLicpCi0tICAgICAgICBlbmRpZgotLWVuZGlmCi0tCi0tZ2V0ZW50X3Jlc3VsdCA9IHJ1bl9jb21tYW5kKCdnZXRlbnQnLCAnZ3JvdXAnLCAnNjU1MzQnKQotLWlmIGdldGVudF9yZXN1bHQucmV0dXJuY29kZSgpID09IDAKLS0gICAgICAgIG5hbWUgPSBnZXRlbnRfcmVzdWx0LnN0ZG91dCgpLnNwbGl0KCc6JylbMF0KLS0gICAgICAgIGlmIG5hbWUgIT0gbm9ib2R5X2dyb3VwCi0tICAgICAgICAgICAgICAgIHdhcm5pbmcoJ1xuJyArCi0tICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBsb2NhbCBncm91cCB3aXRoIHRoZSBHSUQgNjU1MzQgZG9lcyBub3QgbWF0Y2ggdGhlIGNvbmZpZ3VyZWQgZ3JvdXAgbmFtZSAiQDBAIiBvZiB0aGUgbm9ib2R5IGdyb3VwIChpdHMgbmFtZSBpcyBAMUApLlxuJy5mb3JtYXQobm9ib2R5X2dyb3VwLCBuYW1lKSArCi0tICAgICAgICAgICAgICAgICAgICAgICAgJ1lvdXIgYnVpbGQgd2lsbCByZXN1bHQgaW4gYW4gZ3JvdXAgdGFibGUgc2V0dXAgdGhhdCBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgbG9jYWwgc3lzdGVtLicpCi0tICAgICAgICBlbmRpZgotLWVuZGlmCi0taWRfcmVzdWx0ID0gcnVuX2NvbW1hbmQoJ2lkJywgJy1nJywgbm9ib2R5X2dyb3VwKQotLWlmIGlkX3Jlc3VsdC5yZXR1cm5jb2RlKCkgPT0gMAotLSAgICAgICAgaWQgPSBpZF9yZXN1bHQuc3Rkb3V0KCkudG9faW50KCkKLS0gICAgICAgIGlmIGlkICE9IDY1NTM0Ci0tICAgICAgICAgICAgICAgIHdhcm5pbmcoJ1xuJyArCi0tICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBsb2NhbCBncm91cCB3aXRoIHRoZSBjb25maWd1cmVkIGdyb3VwIG5hbWUgIkAwQCIgb2YgdGhlIG5vYm9keSBncm91cCBkb2VzIG5vdCBoYXZlIFVJRCA2NTUzNCAoaXQgaGFzIEAxQCkuXG4nLmZvcm1hdChub2JvZHlfZ3JvdXAsIGlkKSArCi0tICAgICAgICAgICAgICAgICAgICAgICAgJ1lvdXIgYnVpbGQgd2lsbCByZXN1bHQgaW4gYW4gZ3JvdXAgdGFibGUgc2V0dXAgdGhhdCBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgbG9jYWwgc3lzdGVtLicpCi0tICAgICAgICBlbmRpZgotLWVuZGlmCi0gaWYgbm9ib2R5X3VzZXIgIT0gbm9ib2R5X2dyb3VwIGFuZCBub3QgKG5vYm9keV91c2VyID09ICdub2JvZHknIGFuZCBub2JvZHlfZ3JvdXAgPT0gJ25vZ3JvdXAnKQotICAgICAgICAgd2FybmluZygnXG4nICsKLSAgICAgICAgICAgICAgICAgJ1RoZSBjb25maWd1cmVkIHVzZXIgbmFtZSAiQDBAIiBhbmQgZ3JvdXAgbmFtZSAiQDBAIiBvZiB0aGUgbm9ib2R5IHVzZXIvZ3JvdXAgYXJlIG5vdCBlcXVpdmFsZW50LlxuJy5mb3JtYXQobm9ib2R5X3VzZXIsIG5vYm9keV9ncm91cCkgKwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNi1zcmMtYmFzaWMtbWlzc2luZy5oLWNoZWNrLWZvci1taXNzaW5nLXN0cm5kdXBhLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNi1zcmMtYmFzaWMtbWlzc2luZy5oLWNoZWNrLWZvci1taXNzaW5nLXN0cm5kdXBhLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMDdhNzk0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDYtc3JjLWJhc2ljLW1pc3NpbmcuaC1jaGVjay1mb3ItbWlzc2luZy1zdHJuZHVwYS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExOCArMCwwIEBACi1Gcm9tIDAzZmQxOWZjODc1NzMyNzZlMGQzNTkyNjBjOGZlNTkxZjVmMDIxNmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBGcmksIDI5IEp1biAyMDE4IDE2OjM0OjUwICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMDYvMTldIHNyYy9iYXNpYy9taXNzaW5nLmg6IGNoZWNrIGZvciBtaXNzaW5nIHN0cm5kdXBhCi0KLWluY2x1ZGUgbWlzc2luZy5oICBmb3IgZGVmaW5pdGlvbiBvZiBzdHJuZHVwYQotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBtZXNvbi5idWlsZCAgICAgICAgICAgICB8ICAxICsKLSBzcmMvYmFzaWMvbWlzc2luZy5oICAgICB8IDExICsrKysrKysrKysrCi0gc3JjL2Jhc2ljL21rZGlyLmMgICAgICAgfCAgMSArCi0gc3JjL2Jhc2ljL3BhZ2VyLmMgICAgICAgfCAgMSArCi0gc3JjL2Jhc2ljL3BhcnNlLXV0aWwuYyAgfCAgMSArCi0gc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMgfCAgMSArCi0gc3JjL3NoYXJlZC91aWQtcmFuZ2UuYyAgfCAgMSArCi0gNyBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCi1pbmRleCA4YzE2YmM5NzkuLmE3MzRhMjk1YyAxMDA2NDQKLS0tLSBhL21lc29uLmJ1aWxkCi0rKysgYi9tZXNvbi5idWlsZAotQEAgLTUwMyw2ICs1MDMsNyBAQCBmb3JlYWNoIGlkZW50IDogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNpbmNsdWRlIDx1bmlzdGQuaD4nJyddLAotICAgICAgICAgWydleHBsaWNpdF9iemVybycgLCAgICcnJyNpbmNsdWRlIDxzdHJpbmcuaD4nJyddLAotICAgICAgICAgWydyZWFsbG9jYXJyYXknLCAgICAgICcnJyNpbmNsdWRlIDxtYWxsb2MuaD4nJyddLAotKyAgICAgICAgWydzdHJuZHVwYScgLCAgICAgICAgICcnJyNpbmNsdWRlIDxzdHJpbmcuaD4nJyddLAotIF0KLSAKLSAgICAgICAgIGhhdmUgPSBjYy5oYXNfZnVuY3Rpb24oaWRlbnRbMF0sIHByZWZpeCA6IGlkZW50WzFdLCBhcmdzIDogJy1EX0dOVV9TT1VSQ0UnKQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9taXNzaW5nLmggYi9zcmMvYmFzaWMvbWlzc2luZy5oCi1pbmRleCAwZTMzYWJiOWYuLjAyMzk3ZjFiNiAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9taXNzaW5nLmgKLSsrKyBiL3NyYy9iYXNpYy9taXNzaW5nLmgKLUBAIC0xMTg0LDYgKzExODQsMTcgQEAgc3RydWN0IGlucHV0X21hc2sgewotIHR5cGVkZWYgaW50MzJfdCBrZXlfc2VyaWFsX3Q7Ci0gI2VuZGlmCi0gCi0rI2lmICEgSEFWRV9TVFJORFVQQQotKyNkZWZpbmUgc3RybmR1cGEocywgbikgXAotKyAgKHsgXAotKyAgICBjb25zdCBjaGFyICpfX29sZCA9IChzKTsgXAotKyAgICBzaXplX3QgX19sZW4gPSBzdHJubGVuKF9fb2xkLCAobikpOyBcCi0rICAgIGNoYXIgKl9fbmV3ID0gKGNoYXIgKilhbGxvY2EoX19sZW4gKyAxKTsgXAotKyAgICBfX25ld1tfX2xlbl0gPSAnXDAnOyBcCi0rICAgIChjaGFyICopbWVtY3B5KF9fbmV3LCBfX29sZCwgX19sZW4pOyBcCi0rICB9KQotKyNlbmRpZgotKwotICNpZm5kZWYgS0VZQ1RMX0pPSU5fU0VTU0lPTl9LRVlSSU5HCi0gI2RlZmluZSBLRVlDVExfSk9JTl9TRVNTSU9OX0tFWVJJTkcgMQotICNlbmRpZgotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9ta2Rpci5jIGIvc3JjL2Jhc2ljL21rZGlyLmMKLWluZGV4IDZhYjFiNDQyMi4uNzdjM2UwODYzIDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL21rZGlyLmMKLSsrKyBiL3NyYy9iYXNpYy9ta2Rpci5jCi1AQCAtMTMsNiArMTMsNyBAQAotICNpbmNsdWRlICJzdGF0LXV0aWwuaCIKLSAjaW5jbHVkZSAic3RkaW8tdXRpbC5oIgotICNpbmNsdWRlICJ1c2VyLXV0aWwuaCIKLSsjaW5jbHVkZSAibWlzc2luZy5oIgotIAotIGludCBta2Rpcl9zYWZlX2ludGVybmFsKGNvbnN0IGNoYXIgKnBhdGgsIG1vZGVfdCBtb2RlLCB1aWRfdCB1aWQsIGdpZF90IGdpZCwgTWtkaXJGbGFncyBmbGFncywgbWtkaXJfZnVuY190IF9ta2RpcikgewotICAgICAgICAgc3RydWN0IHN0YXQgc3Q7Ci1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3BhZ2VyLmMgYi9zcmMvYmFzaWMvcGFnZXIuYwotaW5kZXggZjI0MTI2MTExLi44MjIzYmZmMDIgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvcGFnZXIuYwotKysrIGIvc3JjL2Jhc2ljL3BhZ2VyLmMKLUBAIC0yMSw2ICsyMSw3IEBACi0gI2luY2x1ZGUgInN0cmluZy11dGlsLmgiCi0gI2luY2x1ZGUgInN0cnYuaCIKLSAjaW5jbHVkZSAidGVybWluYWwtdXRpbC5oIgotKyNpbmNsdWRlICJtaXNzaW5nLmgiCi0gCi0gc3RhdGljIHBpZF90IHBhZ2VyX3BpZCA9IDA7Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3BhcnNlLXV0aWwuYyBiL3NyYy9iYXNpYy9wYXJzZS11dGlsLmMKLWluZGV4IDZiZWNmODU4Ny4uNTI1NzZmNTM2IDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL3BhcnNlLXV0aWwuYwotKysrIGIvc3JjL2Jhc2ljL3BhcnNlLXV0aWwuYwotQEAgLTE3LDYgKzE3LDcgQEAKLSAjaW5jbHVkZSAicGFyc2UtdXRpbC5oIgotICNpbmNsdWRlICJwcm9jZXNzLXV0aWwuaCIKLSAjaW5jbHVkZSAic3RyaW5nLXV0aWwuaCIKLSsjaW5jbHVkZSAibWlzc2luZy5oIgotIAotIGludCBwYXJzZV9ib29sZWFuKGNvbnN0IGNoYXIgKnYpIHsKLSAgICAgICAgIGFzc2VydCh2KTsKLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYyBiL3NyYy9iYXNpYy9wcm9jZnMtdXRpbC5jCi1pbmRleCBhMTU5ZTM0NGIuLmViYzQyN2Q2YiAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9wcm9jZnMtdXRpbC5jCi0rKysgYi9zcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYwotQEAgLTExLDYgKzExLDcgQEAKLSAjaW5jbHVkZSAicHJvY2ZzLXV0aWwuaCIKLSAjaW5jbHVkZSAic3RkaW8tdXRpbC5oIgotICNpbmNsdWRlICJzdHJpbmctdXRpbC5oIgotKyNpbmNsdWRlICJtaXNzaW5nLmgiCi0gCi0gaW50IHByb2Nmc190YXNrc19nZXRfbGltaXQodWludDY0X3QgKnJldCkgewotICAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqdmFsdWUgPSBOVUxMOwotZGlmZiAtLWdpdCBhL3NyYy9zaGFyZWQvdWlkLXJhbmdlLmMgYi9zcmMvc2hhcmVkL3VpZC1yYW5nZS5jCi1pbmRleCA0MzRjZTZmZjQuLjM3MDkzYWI3YiAxMDA2NDQKLS0tLSBhL3NyYy9zaGFyZWQvdWlkLXJhbmdlLmMKLSsrKyBiL3NyYy9zaGFyZWQvdWlkLXJhbmdlLmMKLUBAIC04LDYgKzgsNyBAQAotICNpbmNsdWRlICJtYWNyby5oIgotICNpbmNsdWRlICJ1aWQtcmFuZ2UuaCIKLSAjaW5jbHVkZSAidXNlci11dGlsLmgiCi0rI2luY2x1ZGUgIm1pc3NpbmcuaCIKLSAKLSBzdGF0aWMgYm9vbCB1aWRfcmFuZ2VfaW50ZXJzZWN0KFVpZFJhbmdlICpyYW5nZSwgdWlkX3Qgc3RhcnQsIHVpZF90IG5yKSB7Ci0gICAgICAgICBhc3NlcnQocmFuZ2UpOwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNy1JbmNsdWRlLW5ldGluZXQtaWZfZXRoZXIuaC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDctSW5jbHVkZS1uZXRpbmV0LWlmX2V0aGVyLmgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkZjhjZjkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNy1JbmNsdWRlLW5ldGluZXQtaWZfZXRoZXIuaC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk2ICswLDAgQEAKLUZyb20gYWFiOTBkMGRmYTkzNGQzMzg3OWVhZWMxYTg3OGU5M2IyMDFkMzNmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IEZyaSwgMjkgSnVuIDIwMTggMTY6NDQ6NDMgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAwNy8xOV0gSW5jbHVkZSBuZXRpbmV0L2lmX2V0aGVyLmgKLQotRml4ZXMKLS9wYXRoL3RvL3N5c3RlbWQvcmVjaXBlLXN5c3Jvb3QvdXNyL2luY2x1ZGUvbmV0aW5ldC9pZl9ldGhlci5oOjEwMTo4OiBlcnJvcjogcmVkZWZpbml0aW9uIG9mICdzdHJ1Y3QgZXRoaGRyJwotIHN0cnVjdCBldGhoZHIgewotICAgICAgICBefn5+fn4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2xpYnN5c3RlbWQvc2QtbmV0bGluay9uZXRsaW5rLXR5cGVzLmMgfCAxICsKLSBzcmMvbmV0d29yay9uZXRkZXYvdHVudGFwLmMgICAgICAgICAgICAgICB8IDEgKwotIHNyYy9uZXR3b3JrL25ldHdvcmtkLWJydmxhbi5jICAgICAgICAgICAgIHwgMSArCi0gc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5jICAgICAgICAgICAgICAgfCAxICsKLSBzcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmggICAgICAgICAgICAgICB8IDEgKwotIHNyYy91ZGV2L3VkZXYtYnVpbHRpbi1uZXRfc2V0dXBfbGluay5jICAgIHwgMSArCi0gNiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9saWJzeXN0ZW1kL3NkLW5ldGxpbmsvbmV0bGluay10eXBlcy5jIGIvc3JjL2xpYnN5c3RlbWQvc2QtbmV0bGluay9uZXRsaW5rLXR5cGVzLmMKLWluZGV4IGM5M2ZlOWNiNC4uMjAxM2QwNmUxIDEwMDY0NAotLS0tIGEvc3JjL2xpYnN5c3RlbWQvc2QtbmV0bGluay9uZXRsaW5rLXR5cGVzLmMKLSsrKyBiL3NyYy9saWJzeXN0ZW1kL3NkLW5ldGxpbmsvbmV0bGluay10eXBlcy5jCi1AQCAtMyw2ICszLDcgQEAKLSAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgotICNpbmNsdWRlIDxzdGRpbnQuaD4KLSAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgotKyNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+Ci0gI2luY2x1ZGUgPGxpbnV4L25ldGxpbmsuaD4KLSAjaW5jbHVkZSA8bGludXgvcnRuZXRsaW5rLmg+Ci0gI2luY2x1ZGUgPGxpbnV4L2dlbmV0bGluay5oPgotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldGRldi90dW50YXAuYyBiL3NyYy9uZXR3b3JrL25ldGRldi90dW50YXAuYwotaW5kZXggMjFmYjdhYjA2Li4wYWZlNTE3MGMgMTAwNjQ0Ci0tLS0gYS9zcmMvbmV0d29yay9uZXRkZXYvdHVudGFwLmMKLSsrKyBiL3NyYy9uZXR3b3JrL25ldGRldi90dW50YXAuYwotQEAgLTIsNiArMiw3IEBACi0gCi0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPGZjbnRsLmg+Ci0rI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4KLSAjaW5jbHVkZSA8bGludXgvaWZfdHVuLmg+Ci0gI2luY2x1ZGUgPG5ldC9pZi5oPgotICNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+Ci1kaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsvbmV0d29ya2QtYnJ2bGFuLmMgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1icnZsYW4uYwotaW5kZXggOGU4YTYxOGUyLi41MmQ1MjNhNjcgMTAwNjQ0Ci0tLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrZC1icnZsYW4uYwotKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtYnJ2bGFuLmMKLUBAIC00LDYgKzQsNyBAQAotICoqKi8KLSAKLSAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgotKyNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+Ci0gI2luY2x1ZGUgPGxpbnV4L2lmX2JyaWRnZS5oPgotICNpbmNsdWRlIDxzdGRib29sLmg+Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5jIGIvc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5jCi1pbmRleCA0YmI0MjE2YWMuLjVmNzM4MzQ4MyAxMDA2NDQKLS0tLSBhL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuYwotKysrIGIvc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5jCi1AQCAtMSw1ICsxLDYgQEAKLSAvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTEdQTC0yLjErICovCi0gCi0rI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4KLSAjaW5jbHVkZSA8bmV0L2lmLmg+Ci0gI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgotICNpbmNsdWRlIDxsaW51eC9ldGh0b29sLmg+Ci1kaWZmIC0tZ2l0IGEvc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5oIGIvc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5oCi1pbmRleCAwNjRiZjRkMmIuLmVlMGQ0ZmIyYSAxMDA2NDQKLS0tLSBhL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuaAotKysrIGIvc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5oCi1AQCAtMyw2ICszLDcgQEAKLSAKLSAKLSAjaW5jbHVkZSA8bWFjcm8uaD4KLSsjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgotICNpbmNsdWRlIDxsaW51eC9ldGh0b29sLmg+Ci0gCi0gI2luY2x1ZGUgIm1pc3NpbmcuaCIKLWRpZmYgLS1naXQgYS9zcmMvdWRldi91ZGV2LWJ1aWx0aW4tbmV0X3NldHVwX2xpbmsuYyBiL3NyYy91ZGV2L3VkZXYtYnVpbHRpbi1uZXRfc2V0dXBfbGluay5jCi1pbmRleCA4YmVkNjM5OWEuLmEzYTk2OTU5YiAxMDA2NDQKLS0tLSBhL3NyYy91ZGV2L3VkZXYtYnVpbHRpbi1uZXRfc2V0dXBfbGluay5jCi0rKysgYi9zcmMvdWRldi91ZGV2LWJ1aWx0aW4tbmV0X3NldHVwX2xpbmsuYwotQEAgLTEsNSArMSw2IEBACi0gLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xKyAqLwotIAotKyNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+Ci0gI2luY2x1ZGUgImFsbG9jLXV0aWwuaCIKLSAjaW5jbHVkZSAibGluay1jb25maWcuaCIKLSAjaW5jbHVkZSAibG9nLmgiCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA3LWRvbi10LWZhaWwtaWYtR0xPQl9CUkFDRS1hbmQtR0xPQl9BTFRESVJGVU5DLWlzLW5vdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDctZG9uLXQtZmFpbC1pZi1HTE9CX0JSQUNFLWFuZC1HTE9CX0FMVERJUkZVTkMtaXMtbm90LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2NWU0NzYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA3LWRvbi10LWZhaWwtaWYtR0xPQl9CUkFDRS1hbmQtR0xPQl9BTFRESVJGVU5DLWlzLW5vdC5wYXRjaApAQCAtMCwwICsxLDE1NCBAQAorRnJvbSBmOGEyMzliMTgyMTU4Y2EwYTUzN2JhMDUzY2IwZTZiYWQ5YzNhMmZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxNDo1NjoyMSArMDgwMAorU3ViamVjdDogW1BBVENIIDA3LzI0XSBkb24ndCBmYWlsIGlmIEdMT0JfQlJBQ0UgYW5kIEdMT0JfQUxURElSRlVOQyBpcyBub3QgCisgZGVmaW5lZAorCitJZiB0aGUgc3RhbmRhcmQgbGlicmFyeSBkb2Vzbid0IHByb3ZpZGUgYnJhY2UKK2V4cGFuc2lvbiB1c2VycyBqdXN0IHdvbid0IGdldCBpdC4KKworRG9udCB1c2UgR05VIEdMT0IgZXh0ZW50aW9ucyBvbiBub24tZ2xpYmMgc3lzdGVtcworCitDb25kaXRpb25hbGl6ZSB1c2Ugb2YgR0xPQl9BTFRESVJGVU5DCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9iYXNpYy9nbG9iLXV0aWwuYyAgICAgfCAxMiArKysrKysrKysrKy0KKyBzcmMvdGVzdC90ZXN0LWdsb2ItdXRpbC5jIHwgMTcgKysrKysrKysrKysrKysrLS0KKyBzcmMvdG1wZmlsZXMvdG1wZmlsZXMuYyAgIHwgIDkgKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL2dsb2ItdXRpbC5jIGIvc3JjL2Jhc2ljL2dsb2ItdXRpbC5jCitpbmRleCA5ZmFjNjc2Li45NjJkOGI5IDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL2dsb2ItdXRpbC5jCisrKysgYi9zcmMvYmFzaWMvZ2xvYi11dGlsLmMKK0BAIC0xMCw2ICsxMCwxMSBAQAorICNpbmNsdWRlICJtYWNyby5oIgorICNpbmNsdWRlICJwYXRoLXV0aWwuaCIKKyAjaW5jbHVkZSAic3Rydi5oIgorKy8qIERvbid0IGZhaWwgaWYgdGhlIHN0YW5kYXJkIGxpYnJhcnkKKysgKiBkb2Vzbid0IHByb3ZpZGUgYnJhY2UgZXhwYW5zaW9uICovCisrI2lmbmRlZiBHTE9CX0JSQUNFCisrI2RlZmluZSBHTE9CX0JSQUNFIDAKKysjZW5kaWYKKyAKKyBzdGF0aWMgdm9pZCBjbG9zZWRpcl93cmFwcGVyKHZvaWQqIHYpIHsKKyAgICAgICAgICh2b2lkKSBjbG9zZWRpcih2KTsKK0BAIC0xOCw2ICsyMyw3IEBAIHN0YXRpYyB2b2lkIGNsb3NlZGlyX3dyYXBwZXIodm9pZCogdikgeworIGludCBzYWZlX2dsb2IoY29uc3QgY2hhciAqcGF0aCwgaW50IGZsYWdzLCBnbG9iX3QgKnBnbG9iKSB7CisgICAgICAgICBpbnQgazsKKyAKKysjaWZkZWYgR0xPQl9BTFRESVJGVU5DCisgICAgICAgICAvKiBXZSB3YW50IHRvIHNldCBHTE9CX0FMVERJUkZVTkMgb3Vyc2VsdmVzLCBkb24ndCBhbGxvdyBpdCB0byBiZSBzZXQuICovCisgICAgICAgICBhc3NlcnQoIShmbGFncyAmIEdMT0JfQUxURElSRlVOQykpOworIAorQEAgLTMxLDEwICszNywxNCBAQCBpbnQgc2FmZV9nbG9iKGNvbnN0IGNoYXIgKnBhdGgsIGludCBmbGFncywgZ2xvYl90ICpwZ2xvYikgeworICAgICAgICAgICAgICAgICBwZ2xvYi0+Z2xfbHN0YXQgPSBsc3RhdDsKKyAgICAgICAgIGlmICghcGdsb2ItPmdsX3N0YXQpCisgICAgICAgICAgICAgICAgIHBnbG9iLT5nbF9zdGF0ID0gc3RhdDsKKysjZW5kaWYKKyAKKyAgICAgICAgIGVycm5vID0gMDsKKysjaWZkZWYgR0xPQl9BTFRESVJGVU5DCisgICAgICAgICBrID0gZ2xvYihwYXRoLCBmbGFncyB8IEdMT0JfQUxURElSRlVOQywgTlVMTCwgcGdsb2IpOworLQorKyNlbHNlCisrICAgICAgICBrID0gZ2xvYihwYXRoLCBmbGFncywgTlVMTCwgcGdsb2IpOworKyNlbmRpZgorICAgICAgICAgaWYgKGsgPT0gR0xPQl9OT01BVENIKQorICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT0VOVDsKKyAgICAgICAgIGlmIChrID09IEdMT0JfTk9TUEFDRSkKK2RpZmYgLS1naXQgYS9zcmMvdGVzdC90ZXN0LWdsb2ItdXRpbC5jIGIvc3JjL3Rlc3QvdGVzdC1nbG9iLXV0aWwuYworaW5kZXggYjRmNDE0NC4uOTU1YjNiYSAxMDA2NDQKKy0tLSBhL3NyYy90ZXN0L3Rlc3QtZ2xvYi11dGlsLmMKKysrKyBiL3NyYy90ZXN0L3Rlc3QtZ2xvYi11dGlsLmMKK0BAIC0xMiw2ICsxMiwxMSBAQAorICNpbmNsdWRlICJtYWNyby5oIgorICNpbmNsdWRlICJybS1yZi5oIgorICNpbmNsdWRlICJ0bXBmaWxlLXV0aWwuaCIKKysvKiBEb24ndCBmYWlsIGlmIHRoZSBzdGFuZGFyZCBsaWJyYXJ5CisrICogZG9lc24ndCBwcm92aWRlIGJyYWNlIGV4cGFuc2lvbiAqLworKyNpZm5kZWYgR0xPQl9CUkFDRQorKyNkZWZpbmUgR0xPQl9CUkFDRSAwCisrI2VuZGlmCisgCisgc3RhdGljIHZvaWQgdGVzdF9nbG9iX2V4aXN0cyh2b2lkKSB7CisgICAgICAgICBjaGFyIG5hbWVbXSA9ICIvdG1wL3Rlc3QtZ2xvYl9leGlzdHMuWFhYWFhYIjsKK0BAIC0zOCwyNSArNDMsMzMgQEAgc3RhdGljIHZvaWQgY2xvc2VkaXJfd3JhcHBlcih2b2lkKiB2KSB7Cisgc3RhdGljIHZvaWQgdGVzdF9nbG9iX25vX2RvdCh2b2lkKSB7CisgICAgICAgICBjaGFyIHRlbXBsYXRlW10gPSAiL3RtcC90ZXN0LWdsb2ItdXRpbC5YWFhYWFhYIjsKKyAgICAgICAgIGNvbnN0IGNoYXIgKmZuOworLQorICAgICAgICAgX2NsZWFudXBfZ2xvYmZyZWVfIGdsb2JfdCBnID0geworKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKKyAgICAgICAgICAgICAgICAgLmdsX2Nsb3NlZGlyID0gY2xvc2VkaXJfd3JhcHBlciwKKyAgICAgICAgICAgICAgICAgLmdsX3JlYWRkaXIgPSAoc3RydWN0IGRpcmVudCAqKCopKHZvaWQgKikpIHJlYWRkaXJfbm9fZG90LAorICAgICAgICAgICAgICAgICAuZ2xfb3BlbmRpciA9ICh2b2lkICooKikoY29uc3QgY2hhciAqKSkgb3BlbmRpciwKKyAgICAgICAgICAgICAgICAgLmdsX2xzdGF0ID0gbHN0YXQsCisgICAgICAgICAgICAgICAgIC5nbF9zdGF0ID0gc3RhdCwKKysjZW5kaWYKKyAgICAgICAgIH07CistCisgICAgICAgICBpbnQgcjsKKyAKKyAgICAgICAgIGFzc2VydF9zZShta2R0ZW1wKHRlbXBsYXRlKSk7CisgCisgICAgICAgICBmbiA9IHN0cmpvaW5hKHRlbXBsYXRlLCAiLyoiKTsKKysjaWZkZWYgR0xPQl9BTFRESVJGVU5DCisgICAgICAgICByID0gZ2xvYihmbiwgR0xPQl9OT1NPUlR8R0xPQl9CUkFDRXxHTE9CX0FMVERJUkZVTkMsIE5VTEwsICZnKTsKKysjZWxzZQorKyAgICAgICAgciA9IGdsb2IoZm4sIEdMT0JfTk9TT1JUfEdMT0JfQlJBQ0UsIE5VTEwsICZnKTsKKysjZW5kaWYKKyAgICAgICAgIGFzc2VydF9zZShyID09IEdMT0JfTk9NQVRDSCk7CisgCisgICAgICAgICBmbiA9IHN0cmpvaW5hKHRlbXBsYXRlLCAiLy4qIik7CisrI2lmZGVmIEdMT0JfQUxURElSRlVOQworICAgICAgICAgciA9IGdsb2IoZm4sIEdMT0JfTk9TT1JUfEdMT0JfQlJBQ0V8R0xPQl9BTFRESVJGVU5DLCBOVUxMLCAmZyk7CisrI2Vsc2UKKysgICAgICAgIHIgPSBnbG9iKGZuLCBHTE9CX05PU09SVHxHTE9CX0JSQUNFLCBOVUxMLCAmZyk7CisrI2VuZGlmCisgICAgICAgICBhc3NlcnRfc2UociA9PSBHTE9CX05PTUFUQ0gpOworIAorICAgICAgICAgKHZvaWQpIHJtX3JmKHRlbXBsYXRlLCBSRU1PVkVfUk9PVHxSRU1PVkVfUEhZU0lDQUwpOworZGlmZiAtLWdpdCBhL3NyYy90bXBmaWxlcy90bXBmaWxlcy5jIGIvc3JjL3RtcGZpbGVzL3RtcGZpbGVzLmMKK2luZGV4IGI2Njc2NWIuLjExZGJiZjQgMTAwNjQ0CistLS0gYS9zcmMvdG1wZmlsZXMvdG1wZmlsZXMuYworKysrIGIvc3JjL3RtcGZpbGVzL3RtcGZpbGVzLmMKK0BAIC02MCw2ICs2MCwxMSBAQAorICNpbmNsdWRlICJ1bWFzay11dGlsLmgiCisgI2luY2x1ZGUgInVzZXItdXRpbC5oIgorICNpbmNsdWRlICJ1dGlsLmgiCisrLyogRG9uJ3QgZmFpbCBpZiB0aGUgc3RhbmRhcmQgbGlicmFyeQorKyAqIGRvZXNuJ3QgcHJvdmlkZSBicmFjZSBleHBhbnNpb24gKi8KKysjaWZuZGVmIEdMT0JfQlJBQ0UKKysjZGVmaW5lIEdMT0JfQlJBQ0UgMAorKyNlbmRpZgorIAorIC8qIFRoaXMgcmVhZHMgYWxsIGZpbGVzIGxpc3RlZCBpbiAvZXRjL3RtcGZpbGVzLmQvPyouY29uZiBhbmQgY3JlYXRlcworICAqIHRoZW0gaW4gdGhlIGZpbGUgc3lzdGVtLiBUaGlzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgdG8gY3JlYXRlCitAQCAtMTg1Myw3ICsxODU4LDkgQEAgZmluaXNoOgorIAorIHN0YXRpYyBpbnQgZ2xvYl9pdGVtKEl0ZW0gKmksIGFjdGlvbl90IGFjdGlvbikgeworICAgICAgICAgX2NsZWFudXBfZ2xvYmZyZWVfIGdsb2JfdCBnID0geworKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKKyAgICAgICAgICAgICAgICAgLmdsX29wZW5kaXIgPSAodm9pZCAqKCopKGNvbnN0IGNoYXIgKikpIG9wZW5kaXJfbm9tb2QsCisrI2VuZGlmCisgICAgICAgICB9OworICAgICAgICAgaW50IHIgPSAwLCBrOworICAgICAgICAgY2hhciAqKmZuOworQEAgLTE4NzMsNyArMTg4MCw5IEBAIHN0YXRpYyBpbnQgZ2xvYl9pdGVtKEl0ZW0gKmksIGFjdGlvbl90IGFjdGlvbikgeworIAorIHN0YXRpYyBpbnQgZ2xvYl9pdGVtX3JlY3Vyc2l2ZWx5KEl0ZW0gKmksIGZkYWN0aW9uX3QgYWN0aW9uKSB7CisgICAgICAgICBfY2xlYW51cF9nbG9iZnJlZV8gZ2xvYl90IGcgPSB7CisrI2lmZGVmIEdMT0JfQUxURElSRlVOQworICAgICAgICAgICAgICAgICAuZ2xfb3BlbmRpciA9ICh2b2lkICooKikoY29uc3QgY2hhciAqKSkgb3BlbmRpcl9ub21vZCwKKysjZW5kaWYKKyAgICAgICAgIH07CisgICAgICAgICBpbnQgciA9IDAsIGs7CisgICAgICAgICBjaGFyICoqZm47CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDctcnVsZXMtd2F0Y2gtbWV0YWRhdGEtY2hhbmdlcy1pbi1pZGUtZGV2aWNlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDctcnVsZXMtd2F0Y2gtbWV0YWRhdGEtY2hhbmdlcy1pbi1pZGUtZGV2aWNlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTVmNjVlNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA3LXJ1bGVzLXdhdGNoLW1ldGFkYXRhLWNoYW5nZXMtaW4taWRlLWRldmljZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1Gcm9tIDkzMDJiNzJlNWU2OTUxMmFhYTcxMDYxOTdiMDBjNTViYWViMzViM2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBGcmksIDE3IE5vdiAyMDE3IDA5OjQ2OjAwICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggNy85XSBydWxlczogd2F0Y2ggbWV0YWRhdGEgY2hhbmdlcyBpbiBpZGUgZGV2aWNlcwotCi1Gb3JtYXR0aW5nIElERSBzdG9yYWdlIGRvZXMgbm90IHRyaWdnZXIgImNoYW5nZSIgdWV2ZW50cy4gQXMgYSByZXN1bHQKLWNsaWVudHMgdXNpbmcgdWRldiBBUEkgZG9uJ3QgZ2V0IGFueSB1cGRhdGVzIGFmdGVyd2FyZHMgYW5kIGdldCBvdXRkYXRlZAotaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRldmljZS4KLS4uLgotcm9vdEBxZW11eDg2LTY0On4jIG1rZnMuZXh0NCAtRiAvZGV2L2hkYTEKLUNyZWF0aW5nIGZpbGVzeXN0ZW0gd2l0aCAyNjIxNDQgNGsgYmxvY2tzIGFuZCA2NTUzNiBpbm9kZXMKLUZpbGVzeXN0ZW0gVVVJRDogOTg3OTFlYjItMmJmMy00N2FkLWI0ZDgtNGNmN2U5MTRlZWUyCi0KLXJvb3RAcWVtdXg4Ni02NDp+IyBscyAvZGV2L2Rpc2svYnktdXVpZC85ODc5MWViMi0yYmYzLTQ3YWQtYjRkOC00Y2Y3ZTkxNGVlZTIKLWxzOiBjYW5ub3QgYWNjZXNzICcvZGV2L2Rpc2svYnktdXVpZC85ODc5MWViMi0yYmYzLTQ3YWQtYjRkOC00Y2Y3ZTkxNGVlZTInOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Ci0uLi4KLUluY2x1ZGUgaGQqIGluIGEgbWF0Y2ggZm9yIHdhdGNoIG9wdGlvbiBhc3NpZ25tZW50LgotCi1VcHN0cmVhbS1TdGF0dXM6IERlbmllZAotCi1xZW11IGJ5IGRlZmF1bHQgZW11bGF0ZXMgSURFIGFuZCB0aGUgbGludXgteW9jdG8ga2VybmVsKHMpIHVzZQotQ09ORklHX0lERSBpbnN0ZWFkIG9mIHRoZSBtb3JlIG1vZGVybiBsaWJzYXRhLCBzbyBkaXNrcyBhcHBlYXIgYXMKLS9kZXYvaGQqLiBBIHNpbWlsYXIgcGF0Y2ggcmVqZWN0ZWQgYnkgdXBzdHJlYW0gYmVjYXVzZSBDT05GSUdfSURFCi1pcyBkZXByZWNhdGVkLgotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBydWxlcy82MC1ibG9jay5ydWxlcyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3J1bGVzLzYwLWJsb2NrLnJ1bGVzIGIvcnVsZXMvNjAtYmxvY2sucnVsZXMKLWluZGV4IDM0M2ZjMDZmOC4uYjUyMzdkYWM0IDEwMDY0NAotLS0tIGEvcnVsZXMvNjAtYmxvY2sucnVsZXMKLSsrKyBiL3J1bGVzLzYwLWJsb2NrLnJ1bGVzCi1AQCAtOCw0ICs4LDQgQEAgQUNUSU9OPT0iYWRkIiwgU1VCU1lTVEVNPT0ibW9kdWxlIiwgS0VSTkVMPT0iYmxvY2siLCBBVFRSe3BhcmFtZXRlcnMvZXZlbnRzX2RmbF8KLSBBQ1RJT049PSJjaGFuZ2UiLCBTVUJTWVNURU09PSJzY3NpIiwgRU5We0RFVlRZUEV9PT0ic2NzaV9kZXZpY2UiLCBURVNUPT0iYmxvY2siLCBBVFRSe2Jsb2NrLyovdWV2ZW50fT0iY2hhbmdlIgotIAotICMgd2F0Y2ggbWV0YWRhdGEgY2hhbmdlcywgY2F1c2VkIGJ5IHRvb2xzIGNsb3NpbmcgdGhlIGRldmljZSBub2RlIHdoaWNoIHdhcyBvcGVuZWQgZm9yIHdyaXRpbmcKLS1BQ1RJT04hPSJyZW1vdmUiLCBTVUJTWVNURU09PSJibG9jayIsIEtFUk5FTD09Imxvb3AqfG52bWUqfHNkKnx2ZCp8eHZkKnxwbWVtKnxtbWNibGsqIiwgT1BUSU9OUys9IndhdGNoIgotK0FDVElPTiE9InJlbW92ZSIsIFNVQlNZU1RFTT09ImJsb2NrIiwgS0VSTkVMPT0ibG9vcCp8bnZtZSp8c2QqfHZkKnx4dmQqfHBtZW0qfG1tY2Jsayp8aGQqIiwgT1BUSU9OUys9IndhdGNoIgotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOC1Eby1ub3QtZW5hYmxlLW5zcy10ZXN0cy1pZi1uc3Mtc3lzdGVtZC1pcy1ub3QtZW5hYmxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOC1Eby1ub3QtZW5hYmxlLW5zcy10ZXN0cy1pZi1uc3Mtc3lzdGVtZC1pcy1ub3QtZW5hYmxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYmVjZGM3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDgtRG8tbm90LWVuYWJsZS1uc3MtdGVzdHMtaWYtbnNzLXN5c3RlbWQtaXMtbm90LWVuYWJsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUZyb20gYjZiYTU5NmZkMTMxM2ExNjJjZGMyZWI4ODE2MWRjZjI0ZDE5ZWRlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IFRodSwgMjggSnVuIDIwMTggMTA6MTA6MDIgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCA4LzldIERvIG5vdCBlbmFibGUgbnNzIHRlc3RzIGlmIG5zcy1zeXN0ZW1kIGlzIG5vdCBlbmFibGVkCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL3Rlc3QvbWVzb24uYnVpbGQgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvdGVzdC9tZXNvbi5idWlsZCBiL3NyYy90ZXN0L21lc29uLmJ1aWxkCi1pbmRleCA3ZGE3ZTNhMjIuLjdiN2MyNTdmZiAxMDA2NDQKLS0tLSBhL3NyYy90ZXN0L21lc29uLmJ1aWxkCi0rKysgYi9zcmMvdGVzdC9tZXNvbi5idWlsZAotQEAgLTY0NSw3ICs2NDUsNyBAQCB0ZXN0cyArPSBbCi0gICAgICAgICBbWydzcmMvdGVzdC90ZXN0LW5zcy5jJ10sCi0gICAgICAgICAgW10sCi0gICAgICAgICAgW2xpYmRsXSwKLS0gICAgICAgICAnJywgJ21hbnVhbCddLAotKyAgICAgICAgICdFTkFCTEVfTlNTX1NZU1RFTUQnLCAnbWFudWFsJ10sCi0gCi0gICAgICAgICBbWydzcmMvdGVzdC90ZXN0LXVtb3VudC5jJywKLSAgICAgICAgICAgJ3NyYy9jb3JlL21vdW50LXNldHVwLmMnLAotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOC1hZGQtbWlzc2luZy1GVFdfLW1hY3Jvcy1mb3ItbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDgtYWRkLW1pc3NpbmctRlRXXy1tYWNyb3MtZm9yLW11c2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDVmMjM0OQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDgtYWRkLW1pc3NpbmctRlRXXy1tYWNyb3MtZm9yLW11c2wucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSA2Y2QxN2M3NTNkMmMwYTkwZmM3OTFmNjliYmM2OTRjYmM4NTU2YTRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxNTowMDowNiArMDgwMAorU3ViamVjdDogW1BBVENIIDA4LzI0XSBhZGQgbWlzc2luZyBGVFdfIG1hY3JvcyBmb3IgbXVzbAorCitUaGlzIGlzIHRvIGF2b2lkIGJ1aWxkIGZhaWx1cmVzIGxpa2UgYmVsb3cgZm9yIG11c2wuCisKKyAgbG9jYWxlLXV0aWwuYzoyOTY6MjQ6IGVycm9yOiAnRlRXX1NUT1AnIHVuZGVjbGFyZWQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvbWlzc2luZ190eXBlLmggfCAyMCArKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZ190eXBlLmggYi9zcmMvYmFzaWMvbWlzc2luZ190eXBlLmgKK2luZGV4IGM0ODdlNjUuLjIzNjAyZWIgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvbWlzc2luZ190eXBlLmgKKysrKyBiL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaAorQEAgLTE5LDMgKzE5LDIzIEBAIHR5cGVkZWYgaW50ICgqY29tcGFyaXNvbl9mbl90KShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKik7CisgI2RlZmluZSBfX0NPTVBBUl9GTl9UCisgdHlwZWRlZiBpbnQgKCpfX2NvbXBhcl9mbl90KShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKik7CisgI2VuZGlmCisrCisrI2lmbmRlZiBGVFdfQUNUSU9OUkVUVkFMCisrI2RlZmluZSBGVFdfQUNUSU9OUkVUVkFMIDE2CisrI2VuZGlmCisrCisrI2lmbmRlZiBGVFdfQ09OVElOVUUKKysjZGVmaW5lIEZUV19DT05USU5VRSAwCisrI2VuZGlmCisrCisrI2lmbmRlZiBGVFdfU1RPUAorKyNkZWZpbmUgRlRXX1NUT1AgMQorKyNlbmRpZgorKworKyNpZm5kZWYgRlRXX1NLSVBfU1VCVFJFRQorKyNkZWZpbmUgRlRXX1NLSVBfU1VCVFJFRSAyCisrI2VuZGlmCisrCisrI2lmbmRlZiBGVFdfU0tJUF9TSUJMSU5HUworKyNkZWZpbmUgRlRXX1NLSVBfU0lCTElOR1MgMworKyNlbmRpZgorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA4LWRvbi10LWZhaWwtaWYtR0xPQl9CUkFDRS1hbmQtR0xPQl9BTFRESVJGVU5DLWlzLW5vdC0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA4LWRvbi10LWZhaWwtaWYtR0xPQl9CUkFDRS1hbmQtR0xPQl9BTFRESVJGVU5DLWlzLW5vdC0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlZTVmYjYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOC1kb24tdC1mYWlsLWlmLUdMT0JfQlJBQ0UtYW5kLUdMT0JfQUxURElSRlVOQy1pcy1ub3QtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTUzICswLDAgQEAKLUZyb20gODQ4ZTcxMWQ3MTlhNmQ5ODdiYzdkMTQxODNlMWM3YjFmMWM5MWM1NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IEZyaSwgMjkgSnVuIDIwMTggMTc6MTA6MjkgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAwOC8xOV0gZG9uJ3QgZmFpbCBpZiBHTE9CX0JSQUNFIGFuZCBHTE9CX0FMVERJUkZVTkMgaXMgbm90Ci0gZGVmaW5lZAotCi1JZiB0aGUgc3RhbmRhcmQgbGlicmFyeSBkb2Vzbid0IHByb3ZpZGUgYnJhY2UKLWV4cGFuc2lvbiB1c2VycyBqdXN0IHdvbid0IGdldCBpdC4KLQotRG9udCB1c2UgR05VIEdMT0IgZXh0ZW50aW9ucyBvbiBub24tZ2xpYmMgc3lzdGVtcwotCi1Db25kaXRpb25hbGl6ZSB1c2Ugb2YgR0xPQl9BTFRESVJGVU5DCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9nbG9iLXV0aWwuYyAgICAgfCAxMyArKysrKysrKysrKy0tCi0gc3JjL3Rlc3QvdGVzdC1nbG9iLXV0aWwuYyB8IDE1ICsrKysrKysrKysrKysrKwotIHNyYy90bXBmaWxlcy90bXBmaWxlcy5jICAgfCAxMCArKysrKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL2dsb2ItdXRpbC5jIGIvc3JjL2Jhc2ljL2dsb2ItdXRpbC5jCi1pbmRleCA5ZmFjNjc2ZjIuLjhhZGI5NTU5ZSAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9nbG9iLXV0aWwuYwotKysrIGIvc3JjL2Jhc2ljL2dsb2ItdXRpbC5jCi1AQCAtMTAsNiArMTAsMTEgQEAKLSAjaW5jbHVkZSAibWFjcm8uaCIKLSAjaW5jbHVkZSAicGF0aC11dGlsLmgiCi0gI2luY2x1ZGUgInN0cnYuaCIKLSsvKiBEb24ndCBmYWlsIGlmIHRoZSBzdGFuZGFyZCBsaWJyYXJ5Ci0rICogZG9lc24ndCBwcm92aWRlIGJyYWNlIGV4cGFuc2lvbiAqLwotKyNpZm5kZWYgR0xPQl9CUkFDRQotKyNkZWZpbmUgR0xPQl9CUkFDRSAwCi0rI2VuZGlmCi0gCi0gc3RhdGljIHZvaWQgY2xvc2VkaXJfd3JhcHBlcih2b2lkKiB2KSB7Ci0gICAgICAgICAodm9pZCkgY2xvc2VkaXIodik7Ci1AQCAtMTgsNiArMjMsNyBAQCBzdGF0aWMgdm9pZCBjbG9zZWRpcl93cmFwcGVyKHZvaWQqIHYpIHsKLSBpbnQgc2FmZV9nbG9iKGNvbnN0IGNoYXIgKnBhdGgsIGludCBmbGFncywgZ2xvYl90ICpwZ2xvYikgewotICAgICAgICAgaW50IGs7Ci0gCi0rI2lmZGVmIEdMT0JfQUxURElSRlVOQwotICAgICAgICAgLyogV2Ugd2FudCB0byBzZXQgR0xPQl9BTFRESVJGVU5DIG91cnNlbHZlcywgZG9uJ3QgYWxsb3cgaXQgdG8gYmUgc2V0LiAqLwotICAgICAgICAgYXNzZXJ0KCEoZmxhZ3MgJiBHTE9CX0FMVERJUkZVTkMpKTsKLSAKLUBAIC0zMSwxMCArMzcsMTMgQEAgaW50IHNhZmVfZ2xvYihjb25zdCBjaGFyICpwYXRoLCBpbnQgZmxhZ3MsIGdsb2JfdCAqcGdsb2IpIHsKLSAgICAgICAgICAgICAgICAgcGdsb2ItPmdsX2xzdGF0ID0gbHN0YXQ7Ci0gICAgICAgICBpZiAoIXBnbG9iLT5nbF9zdGF0KQotICAgICAgICAgICAgICAgICBwZ2xvYi0+Z2xfc3RhdCA9IHN0YXQ7Ci0tCi0rI2VuZGlmCi0gICAgICAgICBlcnJubyA9IDA7Ci0rI2lmZGVmIEdMT0JfQUxURElSRlVOQwotICAgICAgICAgayA9IGdsb2IocGF0aCwgZmxhZ3MgfCBHTE9CX0FMVERJUkZVTkMsIE5VTEwsIHBnbG9iKTsKLS0KLSsjZWxzZQotKyAgICAgICAgayA9IGdsb2IocGF0aCwgZmxhZ3MsIE5VTEwsIHBnbG9iKTsKLSsjZW5kaWYKLSAgICAgICAgIGlmIChrID09IEdMT0JfTk9NQVRDSCkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7Ci0gICAgICAgICBpZiAoayA9PSBHTE9CX05PU1BBQ0UpCi1kaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvdGVzdC1nbG9iLXV0aWwuYyBiL3NyYy90ZXN0L3Rlc3QtZ2xvYi11dGlsLmMKLWluZGV4IGQ3OGQ2MjIzYy4uZjU5NDNiMjZkIDEwMDY0NAotLS0tIGEvc3JjL3Rlc3QvdGVzdC1nbG9iLXV0aWwuYwotKysrIGIvc3JjL3Rlc3QvdGVzdC1nbG9iLXV0aWwuYwotQEAgLTEyLDYgKzEyLDExIEBACi0gI2luY2x1ZGUgImdsb2ItdXRpbC5oIgotICNpbmNsdWRlICJtYWNyby5oIgotICNpbmNsdWRlICJybS1yZi5oIgotKy8qIERvbid0IGZhaWwgaWYgdGhlIHN0YW5kYXJkIGxpYnJhcnkKLSsgKiBkb2Vzbid0IHByb3ZpZGUgYnJhY2UgZXhwYW5zaW9uICovCi0rI2lmbmRlZiBHTE9CX0JSQUNFCi0rI2RlZmluZSBHTE9CX0JSQUNFIDAKLSsjZW5kaWYKLSAKLSBzdGF0aWMgdm9pZCB0ZXN0X2dsb2JfZXhpc3RzKHZvaWQpIHsKLSAgICAgICAgIGNoYXIgbmFtZVtdID0gIi90bXAvdGVzdC1nbG9iX2V4aXN0cy5YWFhYWFgiOwotQEAgLTQwLDExICs0NSwxMyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2dsb2Jfbm9fZG90KHZvaWQpIHsKLSAgICAgICAgIGNvbnN0IGNoYXIgKmZuOwotIAotICAgICAgICAgX2NsZWFudXBfZ2xvYmZyZWVfIGdsb2JfdCBnID0gewotKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKLSAgICAgICAgICAgICAgICAgLmdsX2Nsb3NlZGlyID0gY2xvc2VkaXJfd3JhcHBlciwKLSAgICAgICAgICAgICAgICAgLmdsX3JlYWRkaXIgPSAoc3RydWN0IGRpcmVudCAqKCopKHZvaWQgKikpIHJlYWRkaXJfbm9fZG90LAotICAgICAgICAgICAgICAgICAuZ2xfb3BlbmRpciA9ICh2b2lkICooKikoY29uc3QgY2hhciAqKSkgb3BlbmRpciwKLSAgICAgICAgICAgICAgICAgLmdsX2xzdGF0ID0gbHN0YXQsCi0gICAgICAgICAgICAgICAgIC5nbF9zdGF0ID0gc3RhdCwKLSsjZW5kaWYKLSAgICAgICAgIH07Ci0gCi0gICAgICAgICBpbnQgcjsKLUBAIC01MiwxMSArNTksMTkgQEAgc3RhdGljIHZvaWQgdGVzdF9nbG9iX25vX2RvdCh2b2lkKSB7Ci0gICAgICAgICBhc3NlcnRfc2UobWtkdGVtcCh0ZW1wbGF0ZSkpOwotIAotICAgICAgICAgZm4gPSBzdHJqb2luYSh0ZW1wbGF0ZSwgIi8qIik7Ci0rI2lmZGVmIEdMT0JfQUxURElSRlVOQwotICAgICAgICAgciA9IGdsb2IoZm4sIEdMT0JfTk9TT1JUfEdMT0JfQlJBQ0V8R0xPQl9BTFRESVJGVU5DLCBOVUxMLCAmZyk7Ci0rI2Vsc2UKLSsgICAgICAgIHIgPSBnbG9iKGZuLCBHTE9CX05PU09SVHxHTE9CX0JSQUNFLCBOVUxMLCAmZyk7Ci0rI2VuZGlmCi0gICAgICAgICBhc3NlcnRfc2UociA9PSBHTE9CX05PTUFUQ0gpOwotIAotICAgICAgICAgZm4gPSBzdHJqb2luYSh0ZW1wbGF0ZSwgIi8uKiIpOwotKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKLSAgICAgICAgIHIgPSBnbG9iKGZuLCBHTE9CX05PU09SVHxHTE9CX0JSQUNFfEdMT0JfQUxURElSRlVOQywgTlVMTCwgJmcpOwotKyNlbHNlCi0rICAgICAgICByID0gZ2xvYihmbiwgR0xPQl9OT1NPUlR8R0xPQl9CUkFDRSwgTlVMTCwgJmcpOwotKyNlbmRpZgotICAgICAgICAgYXNzZXJ0X3NlKHIgPT0gR0xPQl9OT01BVENIKTsKLSAKLSAgICAgICAgICh2b2lkKSBybV9yZih0ZW1wbGF0ZSwgUkVNT1ZFX1JPT1R8UkVNT1ZFX1BIWVNJQ0FMKTsKLWRpZmYgLS1naXQgYS9zcmMvdG1wZmlsZXMvdG1wZmlsZXMuYyBiL3NyYy90bXBmaWxlcy90bXBmaWxlcy5jCi1pbmRleCA5MjdkZTM1ZjMuLjVmMDI4M2RhNSAxMDA2NDQKLS0tLSBhL3NyYy90bXBmaWxlcy90bXBmaWxlcy5jCi0rKysgYi9zcmMvdG1wZmlsZXMvdG1wZmlsZXMuYwotQEAgLTYwLDYgKzYwLDEyIEBACi0gI2luY2x1ZGUgInVzZXItdXRpbC5oIgotICNpbmNsdWRlICJ1dGlsLmgiCi0gCi0rLyogRG9uJ3QgZmFpbCBpZiB0aGUgc3RhbmRhcmQgbGlicmFyeQotKyAqIGRvZXNuJ3QgcHJvdmlkZSBicmFjZSBleHBhbnNpb24gKi8KLSsjaWZuZGVmIEdMT0JfQlJBQ0UKLSsjZGVmaW5lIEdMT0JfQlJBQ0UgMAotKyNlbmRpZgotKwotIC8qIFRoaXMgcmVhZHMgYWxsIGZpbGVzIGxpc3RlZCBpbiAvZXRjL3RtcGZpbGVzLmQvPyouY29uZiBhbmQgY3JlYXRlcwotICAqIHRoZW0gaW4gdGhlIGZpbGUgc3lzdGVtLiBUaGlzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgdG8gY3JlYXRlCi0gICogcHJvcGVybHkgb3duZWQgZGlyZWN0b3JpZXMgYmVuZWF0aCAvdG1wLCAvdmFyL3RtcCwgL3J1biwgd2hpY2ggYXJlCi1AQCAtMTM0NSw3ICsxMzUxLDkgQEAgZmluaXNoOgotIAotIHN0YXRpYyBpbnQgZ2xvYl9pdGVtKEl0ZW0gKmksIGFjdGlvbl90IGFjdGlvbikgewotICAgICAgICAgX2NsZWFudXBfZ2xvYmZyZWVfIGdsb2JfdCBnID0gewotKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKLSAgICAgICAgICAgICAgICAgLmdsX29wZW5kaXIgPSAodm9pZCAqKCopKGNvbnN0IGNoYXIgKikpIG9wZW5kaXJfbm9tb2QsCi0rI2VuZGlmCi0gICAgICAgICB9OwotICAgICAgICAgaW50IHIgPSAwLCBrOwotICAgICAgICAgY2hhciAqKmZuOwotQEAgLTEzNjUsNyArMTM3Myw5IEBAIHN0YXRpYyBpbnQgZ2xvYl9pdGVtKEl0ZW0gKmksIGFjdGlvbl90IGFjdGlvbikgewotIAotIHN0YXRpYyBpbnQgZ2xvYl9pdGVtX3JlY3Vyc2l2ZWx5KEl0ZW0gKmksIGZkYWN0aW9uX3QgYWN0aW9uKSB7Ci0gICAgICAgICBfY2xlYW51cF9nbG9iZnJlZV8gZ2xvYl90IGcgPSB7Ci0rI2lmZGVmIEdMT0JfQUxURElSRlVOQwotICAgICAgICAgICAgICAgICAuZ2xfb3BlbmRpciA9ICh2b2lkICooKikoY29uc3QgY2hhciAqKSkgb3BlbmRpcl9ub21vZCwKLSsjZW5kaWYKLSAgICAgICAgIH07Ci0gICAgICAgICBpbnQgciA9IDAsIGs7Ci0gICAgICAgICBjaGFyICoqZm47Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA5LWFkZC1taXNzaW5nLUZUV18tbWFjcm9zLWZvci1tdXNsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOS1hZGQtbWlzc2luZy1GVFdfLW1hY3Jvcy1mb3ItbXVzbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTUyODdjY2UuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOS1hZGQtbWlzc2luZy1GVFdfLW1hY3Jvcy1mb3ItbXVzbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLUZyb20gYWNjMmMwODA4Mjc5NTgwMjAxMWUzYzVmODYyNmQ2MzIxMDAyMTQ4OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMjggRmViIDIwMTggMjE6MzY6MzIgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAwOS8xOV0gYWRkIG1pc3NpbmcgRlRXXyBtYWNyb3MgZm9yIG11c2wKLQotVGhpcyBpcyB0byBhdm9pZCBidWlsZCBmYWlsdXJlcyBsaWtlIGJlbG93IGZvciBtdXNsLgotCi0gIGxvY2FsZS11dGlsLmM6Mjk2OjI0OiBlcnJvcjogJ0ZUV19TVE9QJyB1bmRlY2xhcmVkCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2Jhc2ljL21pc3NpbmcuaCB8IDIwICsrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9taXNzaW5nLmggYi9zcmMvYmFzaWMvbWlzc2luZy5oCi1pbmRleCAwMjM5N2YxYjYuLjZkYzc1MGViYSAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9taXNzaW5nLmgKLSsrKyBiL3NyYy9iYXNpYy9taXNzaW5nLmgKLUBAIC0xODksNiArMTg5LDI2IEBAIHN0cnVjdCBzb2NrYWRkcl92bSB7Ci0gI2RlZmluZSBCVFJGU19RR1JPVVBfTEVWRUxfU0hJRlQgNDgKLSAjZW5kaWYKLSAKLSsjaWZuZGVmIEZUV19BQ1RJT05SRVRWQUwKLSsjZGVmaW5lIEZUV19BQ1RJT05SRVRWQUwgMTYKLSsjZW5kaWYKLSsKLSsjaWZuZGVmIEZUV19DT05USU5VRQotKyNkZWZpbmUgRlRXX0NPTlRJTlVFIDAKLSsjZW5kaWYKLSsKLSsjaWZuZGVmIEZUV19TVE9QCi0rI2RlZmluZSBGVFdfU1RPUCAxCi0rI2VuZGlmCi0rCi0rI2lmbmRlZiBGVFdfU0tJUF9TVUJUUkVFCi0rI2RlZmluZSBGVFdfU0tJUF9TVUJUUkVFIDIKLSsjZW5kaWYKLSsKLSsjaWZuZGVmIEZUV19TS0lQX1NJQkxJTkdTCi0rI2RlZmluZSBGVFdfU0tJUF9TSUJMSU5HUyAzCi0rI2VuZGlmCi0rCi0gI2lmICEgSEFWRV9MSU5VWF9CVFJGU19ICi0gI2RlZmluZSBCVFJGU19JT0NfUUdST1VQX0FTU0lHTiBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCA0MSwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYnRyZnNfaW9jdGxfcWdyb3VwX2Fzc2lnbl9hcmdzKQotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOS1uc3MtbXltYWNoaW5lcy1CdWlsZC1jb25kaXRpb25hbGx5LXdoZW4tRU5BQkxFX01ZSE9TLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOS1uc3MtbXltYWNoaW5lcy1CdWlsZC1jb25kaXRpb25hbGx5LXdoZW4tRU5BQkxFX01ZSE9TLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNjM1ZmE5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDktbnNzLW15bWFjaGluZXMtQnVpbGQtY29uZGl0aW9uYWxseS13aGVuLUVOQUJMRV9NWUhPUy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gZjk2MjViNWYzZmQ1ZGFjM2YzNTkxZGJlZWIyNGRjOWQ2ZmRhNzkwZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IFR1ZSwgMjcgRmViIDIwMTggMTI6NTY6MjEgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCA5LzldIG5zcy1teW1hY2hpbmVzOiBCdWlsZCBjb25kaXRpb25hbGx5IHdoZW4KLSBFTkFCTEVfTVlIT1NUTkFNRSBpcyBzZXQKLQotRml4ZXMgYnVpbGQgZmFpbHVyZXMgd2hlbiBidWlsZGluZyB3aXRoIC0tZGlzYWJsZS1teWhvc3RuYW1lCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gbWVzb24uYnVpbGQgfCAxMSArKysrKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCi1pbmRleCAzYmIwODdmZWYuLjczYmQ3MGIwYiAxMDA2NDQKLS0tLSBhL21lc29uLmJ1aWxkCi0rKysgYi9tZXNvbi5idWlsZAotQEAgLTEzNzEsMTIgKzEzNzEsMTUgQEAgdGVzdF9kbG9wZW4gPSBleGVjdXRhYmxlKAotICAgICAgICAgbGlua193aXRoIDogW2xpYmJhc2ljXSwKLSAgICAgICAgIGRlcGVuZGVuY2llcyA6IFtsaWJkbF0pCi0gCi0tZm9yZWFjaCB0dXBsZSA6IFtbJ215aG9zdG5hbWUnLCAnRU5BQkxFX01ZSE9TVE5BTUUnXSwKLS0gICAgICAgICAgICAgICAgIFsnc3lzdGVtZCcsICAgICdFTkFCTEVfTlNTX1NZU1RFTUQnXSwKLS0gICAgICAgICAgICAgICAgIFsnbXltYWNoaW5lcycsICdFTkFCTEVfTUFDSElORUQnXSwKLS0gICAgICAgICAgICAgICAgIFsncmVzb2x2ZScsICAgICdFTkFCTEVfUkVTT0xWRSddXQotK2ZvcmVhY2ggdHVwbGUgOiBbWydteWhvc3RuYW1lJywgJ0VOQUJMRV9NWUhPU1ROQU1FJywgICcnXSwKLSsgICAgICAgICAgICAgICAgIFsnc3lzdGVtZCcsICAgICdFTkFCTEVfTlNTX1NZU1RFTUQnLCAnJ10sCi0rICAgICAgICAgICAgICAgICBbJ215bWFjaGluZXMnLCAnRU5BQkxFX01BQ0hJTkVEJywgICAgJ0VOQUJMRV9NWUhPU1ROQU1FJ10sCi0rICAgICAgICAgICAgICAgICBbJ3Jlc29sdmUnLCAgICAnRU5BQkxFX1JFU09MVkUnLCAgICAgJyddXQotIAotICAgICAgICAgY29uZGl0aW9uID0gdHVwbGVbMV0gPT0gJycgb3IgY29uZi5nZXQodHVwbGVbMV0pID09IDEKLSsgICAgICAgIGlmIHR1cGxlWzJdICE9ICcnIGFuZCBjb25kaXRpb24KLSsgICAgICAgICAgICAgICAgY29uZGl0aW9uID0gY29uZi5nZXQodHVwbGVbMl0pID09IDEKLSsgICAgICAgIGVuZGlmCi0gICAgICAgICBpZiBjb25kaXRpb24KLSAgICAgICAgICAgICAgICAgbW9kdWxlID0gdHVwbGVbMF0KLSAKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDktc29ja2V0LXV0aWwtZG9uLXQtZmFpbC1pZi1saWJjLWRvZXNuLXQtc3VwcG9ydC1JRE4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA5LXNvY2tldC11dGlsLWRvbi10LWZhaWwtaWYtbGliYy1kb2Vzbi10LXN1cHBvcnQtSUROLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3Y2I1ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA5LXNvY2tldC11dGlsLWRvbi10LWZhaWwtaWYtbGliYy1kb2Vzbi10LXN1cHBvcnQtSUROLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gNmEyY2FkZDZiNzBjYjQwYWM3NGZjMGQwZjg1NTdiOTE0YmQzOGFjMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMiBKdWwgMjAxOCAxMzoyMjo0MSArMDgwMAorU3ViamVjdDogW1BBVENIIDA5LzI0XSBzb2NrZXQtdXRpbDogZG9uJ3QgZmFpbCBpZiBsaWJjIGRvZXNuJ3Qgc3VwcG9ydCBJRE4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBFbWlsIFJlbm5lciBCZXJ0aGluZyA8c3lzdGVtZEBlc21pbC5kaz4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvc29ja2V0LXV0aWwuYyB8IDEwICsrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmMgYi9zcmMvYmFzaWMvc29ja2V0LXV0aWwuYworaW5kZXggOTFiZjgwMS4uYzQ0NWZlYSAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5jCisrKysgYi9zcmMvYmFzaWMvc29ja2V0LXV0aWwuYworQEAgLTMzLDYgKzMzLDE2IEBACisgI2luY2x1ZGUgInV0ZjguaCIKKyAjaW5jbHVkZSAidXRpbC5oIgorIAorKy8qIERvbid0IGZhaWwgaWYgdGhlIHN0YW5kYXJkIGxpYnJhcnkKKysgKiBkb2Vzbid0IHN1cHBvcnQgSUROICovCisrI2lmbmRlZiBOSV9JRE4KKysjZGVmaW5lIE5JX0lETiAwCisrI2VuZGlmCisrCisrI2lmbmRlZiBOSV9JRE5fVVNFX1NURDNfQVNDSUlfUlVMRVMKKysjZGVmaW5lIE5JX0lETl9VU0VfU1REM19BU0NJSV9SVUxFUyAwCisrI2VuZGlmCisrCisgI2lmIEVOQUJMRV9JRE4KKyAjICBkZWZpbmUgSUROX0ZMQUdTIE5JX0lETgorICNlbHNlCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTAtZml4LW1pc3Npbmctb2YtX19yZWdpc3Rlcl9hdGZvcmstZm9yLW5vbi1nbGliYy1idWlsZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTAtZml4LW1pc3Npbmctb2YtX19yZWdpc3Rlcl9hdGZvcmstZm9yLW5vbi1nbGliYy1idWlsZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmFjZDAyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMC1maXgtbWlzc2luZy1vZi1fX3JlZ2lzdGVyX2F0Zm9yay1mb3Itbm9uLWdsaWJjLWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gZjFmNGI0Zjk2ODRmZWQxODViZmE4YjllZDQwOWNkZjI0MTY1N2U5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTU6MDM6NDcgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAxMC8yNF0gZml4IG1pc3Npbmcgb2YgX19yZWdpc3Rlcl9hdGZvcmsgZm9yIG5vbi1nbGliYyBidWlsZHMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMgfCA3ICsrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMgYi9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKK2luZGV4IDc4Y2U0M2IuLmFlYzJkYWYgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKKysrKyBiL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYworQEAgLTIyLDYgKzIyLDkgQEAKKyAjaWYgSEFWRV9WQUxHUklORF9WQUxHUklORF9ICisgI2luY2x1ZGUgPHZhbGdyaW5kL3ZhbGdyaW5kLmg+CisgI2VuZGlmCisrI2lmbmRlZiBfX0dMSUJDX18KKysjaW5jbHVkZSA8cHRocmVhZC5oPgorKyNlbmRpZgorIAorICNpbmNsdWRlICJhbGxvYy11dGlsLmgiCisgI2luY2x1ZGUgImFyY2hpdGVjdHVyZS5oIgorQEAgLTExNjAsMTEgKzExNjMsMTUgQEAgdm9pZCByZXNldF9jYWNoZWRfcGlkKHZvaWQpIHsKKyAgICAgICAgIGNhY2hlZF9waWQgPSBDQUNIRURfUElEX1VOU0VUOworIH0KKyAKKysjaWZkZWYgX19HTElCQ19fCisgLyogV2UgdXNlIGdsaWJjIF9fcmVnaXN0ZXJfYXRmb3JrKCkgKyBfX2Rzb19oYW5kbGUgZGlyZWN0bHkgaGVyZSwgYXMgdGhleSBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSBnbGliYworICAqIGhlYWRlcnMuIF9fcmVnaXN0ZXJfYXRmb3JrKCkgaXMgbW9zdGx5IGVxdWl2YWxlbnQgdG8gcHRocmVhZF9hdGZvcmsoKSwgYnV0IGRvZXNuJ3QgcmVxdWlyZSB1cyB0byBsaW5rIGFnYWluc3QKKyAgKiBsaWJwdGhyZWFkLCBhcyBpdCBpcyBwYXJ0IG9mIGdsaWJjIGFueXdheS4gKi8KKyBleHRlcm4gaW50IF9fcmVnaXN0ZXJfYXRmb3JrKHZvaWQgKCpwcmVwYXJlKSAodm9pZCksIHZvaWQgKCpwYXJlbnQpICh2b2lkKSwgdm9pZCAoKmNoaWxkKSAodm9pZCksIHZvaWQgKmRzb19oYW5kbGUpOworIGV4dGVybiB2b2lkKiBfX2Rzb19oYW5kbGUgX3dlYWtfOworKyNlbHNlCisrI2RlZmluZSBfX3JlZ2lzdGVyX2F0Zm9yayhwcmVwYXJlLHBhcmVudCxjaGlsZCxkc28pIHB0aHJlYWRfYXRmb3JrKHByZXBhcmUscGFyZW50LGNoaWxkKQorKyNlbmRpZgorIAorIHBpZF90IGdldHBpZF9jYWNoZWQodm9pZCkgeworICAgICAgICAgc3RhdGljIGJvb2wgaW5zdGFsbGVkID0gZmFsc2U7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTAtc29ja2V0LXV0aWwtZG9uLXQtZmFpbC1pZi1saWJjLWRvZXNuLXQtc3VwcG9ydC1JRE4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEwLXNvY2tldC11dGlsLWRvbi10LWZhaWwtaWYtbGliYy1kb2Vzbi10LXN1cHBvcnQtSUROLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjU0Nzk4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTAtc29ja2V0LXV0aWwtZG9uLXQtZmFpbC1pZi1saWJjLWRvZXNuLXQtc3VwcG9ydC1JRE4ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1Gcm9tIGEwYmQ1ODczMDA3NDRkYmI4ZTljZmJiMDQzMjMzNjcwY2U3ODFjOTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDIgSnVsIDIwMTggMTM6MjI6NDEgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxMC8xOV0gc29ja2V0LXV0aWw6IGRvbid0IGZhaWwgaWYgbGliYyBkb2Vzbid0IHN1cHBvcnQgSUROCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogRW1pbCBSZW5uZXIgQmVydGhpbmcgPHN5c3RlbWRAZXNtaWwuZGs+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2Jhc2ljL3NvY2tldC11dGlsLmMgfCAxMCArKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5jIGIvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmMKLWluZGV4IGE5MTMxMDJlMS4uMGQwMTU0ODA1IDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmMKLSsrKyBiL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5jCi1AQCAtMzIsNiArMzIsMTYgQEAKLSAjaW5jbHVkZSAidXRmOC5oIgotICNpbmNsdWRlICJ1dGlsLmgiCi0gCi0rLyogRG9uJ3QgZmFpbCBpZiB0aGUgc3RhbmRhcmQgbGlicmFyeQotKyAqIGRvZXNuJ3Qgc3VwcG9ydCBJRE4gKi8KLSsjaWZuZGVmIE5JX0lETgotKyNkZWZpbmUgTklfSUROIDAKLSsjZW5kaWYKLSsKLSsjaWZuZGVmIE5JX0lETl9VU0VfU1REM19BU0NJSV9SVUxFUwotKyNkZWZpbmUgTklfSUROX1VTRV9TVEQzX0FTQ0lJX1JVTEVTIDAKLSsjZW5kaWYKLSsKLSAjaWYgRU5BQkxFX0lETgotICMgIGRlZmluZSBJRE5fRkxBR1MgTklfSUROCi0gI2Vsc2UKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTEtVXNlLXVpbnRtYXhfdC1mb3ItaGFuZGxpbmctcmxpbV90LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMS1Vc2UtdWludG1heF90LWZvci1oYW5kbGluZy1ybGltX3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZlZGE5YwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTEtVXNlLXVpbnRtYXhfdC1mb3ItaGFuZGxpbmctcmxpbV90LnBhdGNoCkBAIC0wLDAgKzEsOTcgQEAKK0Zyb20gZTNmODQ3YmQwMzM4ZDI3YWZmMzMzNWI0MjY2MWQ4YTRiNjZiOTY1ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTU6MTI6NDEgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAxMS8yNF0gVXNlIHVpbnRtYXhfdCBmb3IgaGFuZGxpbmcgcmxpbV90CisKK1BSSXV7MzIsNjR9IGlzIG5vdCByaWdodCBmb3JtYXQgdG8gcmVwcmVzZW50IHJsaW1fdCB0eXBlCit0aGVyZWZvcmUgdXNlICVqdSBhbmQgdHlwZWNhc3QgdGhlIHJsaW1fdCB2YXJpYWJsZXMgdG8KK3VpbnRtYXhfdC4KKworRml4ZXMgcG9ydGFibGlsaXR5IGVycm9ycyBsaWtlCisKK2V4ZWN1dGUuYzozNDQ2OjM2OiBlcnJvcjogZm9ybWF0ICclbHUnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgNSBoYXMgdHlwZSAncmxpbV90IHtha2EgbG9uZyBsb25nIHVuc2lnbmVkIGludH0nIFstV2Vycm9yPWZvcm1hdD1dCit8ICAgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIlcyVzOiAiIFJMSU1fRk1UICJcbiIsCit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwgcmxpbWl0X3RvX3N0cmluZyhpKSwgYy0+cmxpbWl0W2ldLT5ybGltX21heCk7Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitVcHN0cmVhbS1TdGF0dXM6IERlbmllZCBbaHR0cHM6Ly9naXRodWIuY29tL3N5c3RlbWQvc3lzdGVtZC9wdWxsLzcxOTldCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitbUmViYXNlZCBmb3IgdjI0MV0KK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9iYXNpYy9mb3JtYXQtdXRpbC5oIHwgIDggKy0tLS0tLS0KKyBzcmMvYmFzaWMvcmxpbWl0LXV0aWwuYyB8IDEwICsrKysrLS0tLS0KKyBzcmMvY29yZS9leGVjdXRlLmMgICAgICB8ICA0ICsrLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvZm9ybWF0LXV0aWwuaCBiL3NyYy9iYXNpYy9mb3JtYXQtdXRpbC5oCitpbmRleCBkZWNlNWQzLi5kYmI4N2JjIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL2Zvcm1hdC11dGlsLmgKKysrKyBiL3NyYy9iYXNpYy9mb3JtYXQtdXRpbC5oCitAQCAtNDIsMTMgKzQyLDcgQEAKKyAjICBkZWZpbmUgUFJJX1RJTUVYICJsaSIKKyAjZW5kaWYKKyAKKy0jaWYgU0laRU9GX1JMSU1fVCA9PSA4CistIyAgZGVmaW5lIFJMSU1fRk1UICIlIiBQUkl1NjQKKy0jZWxpZiBTSVpFT0ZfUkxJTV9UID09IDQKKy0jICBkZWZpbmUgUkxJTV9GTVQgIiUiIFBSSXUzMgorLSNlbHNlCistIyAgZXJyb3IgVW5rbm93biBybGltX3Qgc2l6ZQorLSNlbmRpZgorKyNkZWZpbmUgUkxJTV9GTVQgIiVqdSIKKyAKKyAjaWYgU0laRU9GX0RFVl9UID09IDgKKyAjICBkZWZpbmUgREVWX0ZNVCAiJSIgUFJJdTY0CitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3JsaW1pdC11dGlsLmMgYi9zcmMvYmFzaWMvcmxpbWl0LXV0aWwuYworaW5kZXggNzRiM2EwMi4uYjAyYzAzYyAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9ybGltaXQtdXRpbC5jCisrKysgYi9zcmMvYmFzaWMvcmxpbWl0LXV0aWwuYworQEAgLTMwNywxMyArMzA3LDEzIEBAIGludCBybGltaXRfZm9ybWF0KGNvbnN0IHN0cnVjdCBybGltaXQgKnJsLCBjaGFyICoqcmV0KSB7CisgICAgICAgICBpZiAocmwtPnJsaW1fY3VyID49IFJMSU1fSU5GSU5JVFkgJiYgcmwtPnJsaW1fbWF4ID49IFJMSU1fSU5GSU5JVFkpCisgICAgICAgICAgICAgICAgIHMgPSBzdHJkdXAoImluZmluaXR5Iik7CisgICAgICAgICBlbHNlIGlmIChybC0+cmxpbV9jdXIgPj0gUkxJTV9JTkZJTklUWSkKKy0gICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCAiaW5maW5pdHk6IiBSTElNX0ZNVCwgcmwtPnJsaW1fbWF4KTsKKysgICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCAiaW5maW5pdHk6IiBSTElNX0ZNVCwgKHVpbnRtYXhfdClybC0+cmxpbV9tYXgpOworICAgICAgICAgZWxzZSBpZiAocmwtPnJsaW1fbWF4ID49IFJMSU1fSU5GSU5JVFkpCistICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgUkxJTV9GTVQgIjppbmZpbml0eSIsIHJsLT5ybGltX2N1cik7CisrICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgUkxJTV9GTVQgIjppbmZpbml0eSIsICh1aW50bWF4X3QpcmwtPnJsaW1fY3VyKTsKKyAgICAgICAgIGVsc2UgaWYgKHJsLT5ybGltX2N1ciA9PSBybC0+cmxpbV9tYXgpCistICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgUkxJTV9GTVQsIHJsLT5ybGltX2N1cik7CisrICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgUkxJTV9GTVQsICh1aW50bWF4X3QpcmwtPnJsaW1fY3VyKTsKKyAgICAgICAgIGVsc2UKKy0gICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCBSTElNX0ZNVCAiOiIgUkxJTV9GTVQsIHJsLT5ybGltX2N1ciwgcmwtPnJsaW1fbWF4KTsKKysgICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCBSTElNX0ZNVCAiOiIgUkxJTV9GTVQsICh1aW50bWF4X3QpcmwtPnJsaW1fY3VyLCAodWludG1heF90KXJsLT5ybGltX21heCk7CisgCisgICAgICAgICBpZiAoIXMpCisgICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOworQEAgLTQwNCw3ICs0MDQsNyBAQCBpbnQgcmxpbWl0X25vZmlsZV9zYWZlKHZvaWQpIHsKKyAKKyAgICAgICAgIHJsLnJsaW1fY3VyID0gRkRfU0VUU0laRTsKKyAgICAgICAgIGlmIChzZXRybGltaXQoUkxJTUlUX05PRklMRSwgJnJsKSA8IDApCistICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZGVidWdfZXJybm8oZXJybm8sICJGYWlsZWQgdG8gbG93ZXIgUkxJTUlUX05PRklMRSdzIHNvZnQgbGltaXQgdG8gIiBSTElNX0ZNVCAiOiAlbSIsIHJsLnJsaW1fY3VyKTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19kZWJ1Z19lcnJubyhlcnJubywgIkZhaWxlZCB0byBsb3dlciBSTElNSVRfTk9GSUxFJ3Mgc29mdCBsaW1pdCB0byAiIFJMSU1fRk1UICI6ICVtIiwgKHVpbnRtYXhfdClybC5ybGltX2N1cik7CisgCisgICAgICAgICByZXR1cm4gMTsKKyB9CitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZXhlY3V0ZS5jIGIvc3JjL2NvcmUvZXhlY3V0ZS5jCitpbmRleCBhNzA4MjMxLi5lMmI4NzQ4IDEwMDY0NAorLS0tIGEvc3JjL2NvcmUvZXhlY3V0ZS5jCisrKysgYi9zcmMvY29yZS9leGVjdXRlLmMKK0BAIC00MjIwLDkgKzQyMjAsOSBAQCB2b2lkIGV4ZWNfY29udGV4dF9kdW1wKGNvbnN0IEV4ZWNDb250ZXh0ICpjLCBGSUxFKiBmLCBjb25zdCBjaGFyICpwcmVmaXgpIHsKKyAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBSTElNX05MSU1JVFM7IGkrKykKKyAgICAgICAgICAgICAgICAgaWYgKGMtPnJsaW1pdFtpXSkgeworICAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiVzTGltaXQlczogIiBSTElNX0ZNVCAiXG4iLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4LCBybGltaXRfdG9fc3RyaW5nKGkpLCBjLT5ybGltaXRbaV0tPnJsaW1fbWF4KTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwgcmxpbWl0X3RvX3N0cmluZyhpKSwgKHVpbnRtYXhfdCljLT5ybGltaXRbaV0tPnJsaW1fbWF4KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIlc0xpbWl0JXNTb2Z0OiAiIFJMSU1fRk1UICJcbiIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXgsIHJsaW1pdF90b19zdHJpbmcoaSksIGMtPnJsaW1pdFtpXS0+cmxpbV9jdXIpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4LCBybGltaXRfdG9fc3RyaW5nKGkpLCAodWludG1heF90KWMtPnJsaW1pdFtpXS0+cmxpbV9jdXIpOworICAgICAgICAgICAgICAgICB9CisgCisgICAgICAgICBpZiAoYy0+aW9wcmlvX3NldCkgeworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDExLXNyYy1iYXNpYy1taXNzaW5nLmgtY2hlY2stZm9yLW1pc3NpbmctX19jb21wYXJfZm5fdC0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDExLXNyYy1iYXNpYy1taXNzaW5nLmgtY2hlY2stZm9yLW1pc3NpbmctX19jb21wYXJfZm5fdC0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhMjJmZmQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMS1zcmMtYmFzaWMtbWlzc2luZy5oLWNoZWNrLWZvci1taXNzaW5nLV9fY29tcGFyX2ZuX3QtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotRnJvbSAwNDVmMjA1ZmQyMWU1ZTM4MGVkZjgxM2RlMDRmY2ZiZjVhNDg3MjE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCAyIEp1bCAyMDE4IDEzOjI4OjI1ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMTEvMTldIHNyYy9iYXNpYy9taXNzaW5nLmg6IGNoZWNrIGZvciBtaXNzaW5nIF9fY29tcGFyX2ZuX3QKLSB0eXBlZGVmCi0KLWluY2x1ZGUgbWlzc2luZy5oIGZvciBtaXNzaW5nIF9fY29tcGFyX2ZuX3QKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2Jhc2ljL21pc3NpbmcuaCB8IDUgKysrKysKLSBzcmMvYmFzaWMvc3RyYnVmLmMgIHwgMSArCi0gMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9taXNzaW5nLmggYi9zcmMvYmFzaWMvbWlzc2luZy5oCi1pbmRleCA2ZGM3NTBlYmEuLmNkMWNjMTA5ZiAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9taXNzaW5nLmgKLSsrKyBiL3NyYy9iYXNpYy9taXNzaW5nLmgKLUBAIC0xMTc5LDYgKzExNzksMTEgQEAgc3RydWN0IGlucHV0X21hc2sgewotICNkZWZpbmUgUkVOQU1FX05PUkVQTEFDRSAoMSA8PCAwKQotICNlbmRpZgotIAotKyNpZm5kZWYgX19DT01QQVJfRk5fVAotKyNkZWZpbmUgX19DT01QQVJfRk5fVAotK3R5cGVkZWYgaW50ICgqX19jb21wYXJfZm5fdCkoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopOwotKyNlbmRpZgotKwotICNpZm5kZWYgS0NNUF9GSUxFCi0gI2RlZmluZSBLQ01QX0ZJTEUgMAotICNlbmRpZgotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9zdHJidWYuYyBiL3NyYy9iYXNpYy9zdHJidWYuYwotaW5kZXggZTJlZDc3NmEwLi40ZDNlYmVjNGMgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvc3RyYnVmLmMKLSsrKyBiL3NyYy9iYXNpYy9zdHJidWYuYwotQEAgLTcsNiArNyw3IEBACi0gI2luY2x1ZGUgImFsbG9jLXV0aWwuaCIKLSAjaW5jbHVkZSAic3RyYnVmLmgiCi0gI2luY2x1ZGUgInV0aWwuaCIKLSsjaW5jbHVkZSAibWlzc2luZy5oIgotIAotIC8qCi0gICogU3RyYnVmIHN0b3JlcyBnaXZlbiBzdHJpbmdzIGluIGEgc2luZ2xlIGNvbnRpbnVvdXMgYWxsb2NhdGVkIG1lbW9yeQotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMi1maXgtbWlzc2luZy1VTE9OR19MT05HX01BWC1kZWZpbml0aW9uLWluLWNhc2Utb2YtbXVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMi1maXgtbWlzc2luZy1VTE9OR19MT05HX01BWC1kZWZpbml0aW9uLWluLWNhc2Utb2YtbXVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiYWFlNGYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEyLWZpeC1taXNzaW5nLVVMT05HX0xPTkdfTUFYLWRlZmluaXRpb24taW4tY2FzZS1vZi1tdXMucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbSBhYTZjZDE5YWU0Mjg3NjlhMzhmZTdkOTVmOThkYjBhOWMxOWFlOTBhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxNToxNDo0OSArMDgwMAorU3ViamVjdDogW1BBVENIIDEyLzI0XSBmaXggbWlzc2luZyBVTE9OR19MT05HX01BWCBkZWZpbml0aW9uIGluIGNhc2Ugb2YgbXVzbAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2xdCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9iYXNpYy9taXNzaW5nX3R5cGUuaCB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaCBiL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaAoraW5kZXggMjM2MDJlYi4uN2Q3YzFlNCAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaAorKysrIGIvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oCitAQCAtMzksMyArMzksNyBAQCB0eXBlZGVmIGludCAoKl9fY29tcGFyX2ZuX3QpKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKTsKKyAjaWZuZGVmIEZUV19TS0lQX1NJQkxJTkdTCisgI2RlZmluZSBGVFdfU0tJUF9TSUJMSU5HUyAzCisgI2VuZGlmCisrCisrI2lmbmRlZiBVTE9OR19MT05HX01BWAorKyNkZWZpbmUgVUxPTkdfTE9OR19NQVggVUxMT05HX01BWAorKyNlbmRpZgorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEyLWZpeC1taXNzaW5nLW9mLV9fcmVnaXN0ZXJfYXRmb3JrLWZvci1ub24tZ2xpYmMtYnVpbGQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEyLWZpeC1taXNzaW5nLW9mLV9fcmVnaXN0ZXJfYXRmb3JrLWZvci1ub24tZ2xpYmMtYnVpbGQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ0MWJjNGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMi1maXgtbWlzc2luZy1vZi1fX3JlZ2lzdGVyX2F0Zm9yay1mb3Itbm9uLWdsaWJjLWJ1aWxkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSAxZmFkZjgwNWNiMzkxZTNiY2JkOWEwMjg2YTllNGI3YWRiOWU3NDI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCAyIEp1bCAyMDE4IDEzOjM0OjA5ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMTIvMTldIGZpeCBtaXNzaW5nIG9mIF9fcmVnaXN0ZXJfYXRmb3JrIGZvciBub24tZ2xpYmMgYnVpbGRzCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIHwgNyArKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIGIvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCi1pbmRleCAwYTRmOTE3Y2IuLjM1NDNiYzA0NSAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYwotKysrIGIvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCi1AQCAtMjIsNiArMjIsOSBAQAotICNpZiBIQVZFX1ZBTEdSSU5EX1ZBTEdSSU5EX0gKLSAjaW5jbHVkZSA8dmFsZ3JpbmQvdmFsZ3JpbmQuaD4KLSAjZW5kaWYKLSsjaWZuZGVmIF9fR0xJQkNfXwotKyNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0rI2VuZGlmCi0gCi0gI2luY2x1ZGUgImFsbG9jLXV0aWwuaCIKLSAjaW5jbHVkZSAiYXJjaGl0ZWN0dXJlLmgiCi1AQCAtMTE1MCwxMSArMTE1MywxNSBAQCB2b2lkIHJlc2V0X2NhY2hlZF9waWQodm9pZCkgewotICAgICAgICAgY2FjaGVkX3BpZCA9IENBQ0hFRF9QSURfVU5TRVQ7Ci0gfQotIAotKyNpZmRlZiBfX0dMSUJDX18KLSAvKiBXZSB1c2UgZ2xpYmMgX19yZWdpc3Rlcl9hdGZvcmsoKSArIF9fZHNvX2hhbmRsZSBkaXJlY3RseSBoZXJlLCBhcyB0aGV5IGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIGdsaWJjCi0gICogaGVhZGVycy4gX19yZWdpc3Rlcl9hdGZvcmsoKSBpcyBtb3N0bHkgZXF1aXZhbGVudCB0byBwdGhyZWFkX2F0Zm9yaygpLCBidXQgZG9lc24ndCByZXF1aXJlIHVzIHRvIGxpbmsgYWdhaW5zdAotICAqIGxpYnB0aHJlYWQsIGFzIGl0IGlzIHBhcnQgb2YgZ2xpYmMgYW55d2F5LiAqLwotIGV4dGVybiBpbnQgX19yZWdpc3Rlcl9hdGZvcmsodm9pZCAoKnByZXBhcmUpICh2b2lkKSwgdm9pZCAoKnBhcmVudCkgKHZvaWQpLCB2b2lkICgqY2hpbGQpICh2b2lkKSwgdm9pZCAqIF9fZHNvX2hhbmRsZSk7Ci0gZXh0ZXJuIHZvaWQqIF9fZHNvX2hhbmRsZSBfX2F0dHJpYnV0ZV9fICgoX193ZWFrX18pKTsKLSsjZWxzZQotKyNkZWZpbmUgX19yZWdpc3Rlcl9hdGZvcmsocHJlcGFyZSxwYXJlbnQsY2hpbGQsZHNvKSBwdGhyZWFkX2F0Zm9yayhwcmVwYXJlLHBhcmVudCxjaGlsZCkKLSsjZW5kaWYKLSAKLSBwaWRfdCBnZXRwaWRfY2FjaGVkKHZvaWQpIHsKLSAgICAgICAgIHN0YXRpYyBib29sIGluc3RhbGxlZCA9IGZhbHNlOwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMy1Vc2UtdWludG1heF90LWZvci1oYW5kbGluZy1ybGltX3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEzLVVzZS11aW50bWF4X3QtZm9yLWhhbmRsaW5nLXJsaW1fdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjliM2MxNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEzLVVzZS11aW50bWF4X3QtZm9yLWhhbmRsaW5nLXJsaW1fdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDkwICswLDAgQEAKLUZyb20gYTBhYzBjZmQ5MGFmNjQzMWM2NGQxYjI3NmY0MjJhMjA5MmQ1NjliMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMiBKdWwgMjAxOCAxMzo0NDoyMSArMDgwMAotU3ViamVjdDogW1BBVENIIDEzLzE5XSBVc2UgdWludG1heF90IGZvciBoYW5kbGluZyBybGltX3QKLQotUFJJdXszMiw2NH0gaXMgbm90IHJpZ2h0IGZvcm1hdCB0byByZXByZXNlbnQgcmxpbV90IHR5cGUKLXRoZXJlZm9yZSB1c2UgJWp1IGFuZCB0eXBlY2FzdCB0aGUgcmxpbV90IHZhcmlhYmxlcyB0bwotdWludG1heF90LgotCi1GaXhlcyBwb3J0YWJsaWxpdHkgZXJyb3JzIGxpa2UKLQotZXhlY3V0ZS5jOjM0NDY6MzY6IGVycm9yOiBmb3JtYXQgJyVsdScgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICdsb25nIHVuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCA1IGhhcyB0eXBlICdybGltX3Qge2FrYSBsb25nIGxvbmcgdW5zaWduZWQgaW50fScgWy1XZXJyb3I9Zm9ybWF0PV0KLXwgICAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiVzJXM6ICIgUkxJTV9GTVQgIlxuIiwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn4KLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4LCBybGltaXRfdG9fc3RyaW5nKGkpLCBjLT5ybGltaXRbaV0tPnJsaW1fbWF4KTsKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0KLVVwc3RyZWFtLVN0YXR1czogRGVuaWVkIFtodHRwczovL2dpdGh1Yi5jb20vc3lzdGVtZC9zeXN0ZW1kL3B1bGwvNzE5OV0KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9mb3JtYXQtdXRpbC5oIHwgOCAtLS0tLS0tLQotIHNyYy9iYXNpYy9ybGltaXQtdXRpbC5jIHwgOCArKysrLS0tLQotIHNyYy9jb3JlL2V4ZWN1dGUuYyAgICAgIHwgOCArKysrLS0tLQotIDMgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9mb3JtYXQtdXRpbC5oIGIvc3JjL2Jhc2ljL2Zvcm1hdC11dGlsLmgKLWluZGV4IDE2MDU1MGNkNi4uNjEyNDVkMWUzIDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL2Zvcm1hdC11dGlsLmgKLSsrKyBiL3NyYy9iYXNpYy9mb3JtYXQtdXRpbC5oCi1AQCAtNDMsMTQgKzQzLDYgQEAKLSAjICBkZWZpbmUgUFJJX1RJTUVYICJsaSIKLSAjZW5kaWYKLSAKLS0jaWYgU0laRU9GX1JMSU1fVCA9PSA4Ci0tIyAgZGVmaW5lIFJMSU1fRk1UICIlIiBQUkl1NjQKLS0jZWxpZiBTSVpFT0ZfUkxJTV9UID09IDQKLS0jICBkZWZpbmUgUkxJTV9GTVQgIiUiIFBSSXUzMgotLSNlbHNlCi0tIyAgZXJyb3IgVW5rbm93biBybGltX3Qgc2l6ZQotLSNlbmRpZgotLQotICNpZiBTSVpFT0ZfREVWX1QgPT0gOAotICMgIGRlZmluZSBERVZfRk1UICIlIiBQUkl1NjQKLSAjZWxpZiBTSVpFT0ZfREVWX1QgPT0gNAotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9ybGltaXQtdXRpbC5jIGIvc3JjL2Jhc2ljL3JsaW1pdC11dGlsLmMKLWluZGV4IGJlMWJhNjE1ZS4uZTMyOGNlNDk5IDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL3JsaW1pdC11dGlsLmMKLSsrKyBiL3NyYy9iYXNpYy9ybGltaXQtdXRpbC5jCi1AQCAtMjk5LDEzICsyOTksMTMgQEAgaW50IHJsaW1pdF9mb3JtYXQoY29uc3Qgc3RydWN0IHJsaW1pdCAqcmwsIGNoYXIgKipyZXQpIHsKLSAgICAgICAgIGlmIChybC0+cmxpbV9jdXIgPj0gUkxJTV9JTkZJTklUWSAmJiBybC0+cmxpbV9tYXggPj0gUkxJTV9JTkZJTklUWSkKLSAgICAgICAgICAgICAgICAgcyA9IHN0cmR1cCgiaW5maW5pdHkiKTsKLSAgICAgICAgIGVsc2UgaWYgKHJsLT5ybGltX2N1ciA+PSBSTElNX0lORklOSVRZKQotLSAgICAgICAgICAgICAgICAodm9pZCkgYXNwcmludGYoJnMsICJpbmZpbml0eToiIFJMSU1fRk1ULCBybC0+cmxpbV9tYXgpOwotKyAgICAgICAgICAgICAgICAodm9pZCkgYXNwcmludGYoJnMsICJpbmZpbml0eTolanUiLCAodWludG1heF90KXJsLT5ybGltX21heCk7Ci0gICAgICAgICBlbHNlIGlmIChybC0+cmxpbV9tYXggPj0gUkxJTV9JTkZJTklUWSkKLS0gICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCBSTElNX0ZNVCAiOmluZmluaXR5IiwgcmwtPnJsaW1fY3VyKTsKLSsgICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCAiJWp1OmluZmluaXR5IiwgKHVpbnRtYXhfdClybC0+cmxpbV9jdXIpOwotICAgICAgICAgZWxzZSBpZiAocmwtPnJsaW1fY3VyID09IHJsLT5ybGltX21heCkKLS0gICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCBSTElNX0ZNVCwgcmwtPnJsaW1fY3VyKTsKLSsgICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCAiJWp1IiwgKHVpbnRtYXhfdClybC0+cmxpbV9jdXIpOwotICAgICAgICAgZWxzZQotLSAgICAgICAgICAgICAgICAodm9pZCkgYXNwcmludGYoJnMsIFJMSU1fRk1UICI6IiBSTElNX0ZNVCwgcmwtPnJsaW1fY3VyLCBybC0+cmxpbV9tYXgpOwotKyAgICAgICAgICAgICAgICAodm9pZCkgYXNwcmludGYoJnMsICIlanU6JWp1IiwgKHVpbnRtYXhfdClybC0+cmxpbV9jdXIsICh1aW50bWF4X3QpcmwtPnJsaW1fbWF4KTsKLSAKLSAgICAgICAgIGlmICghcykKLSAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci1kaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZXhlY3V0ZS5jIGIvc3JjL2NvcmUvZXhlY3V0ZS5jCi1pbmRleCA4YWM2OWQxYTAuLmVmZWRmMzg0MiAxMDA2NDQKLS0tLSBhL3NyYy9jb3JlL2V4ZWN1dGUuYwotKysrIGIvc3JjL2NvcmUvZXhlY3V0ZS5jCi1AQCAtMzk3NiwxMCArMzk3NiwxMCBAQCB2b2lkIGV4ZWNfY29udGV4dF9kdW1wKGNvbnN0IEV4ZWNDb250ZXh0ICpjLCBGSUxFKiBmLCBjb25zdCBjaGFyICpwcmVmaXgpIHsKLSAKLSAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBSTElNX05MSU1JVFM7IGkrKykKLSAgICAgICAgICAgICAgICAgaWYgKGMtPnJsaW1pdFtpXSkgewotLSAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIkxpbWl0JXMlczogIiBSTElNX0ZNVCAiXG4iLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4LCBybGltaXRfdG9fc3RyaW5nKGkpLCBjLT5ybGltaXRbaV0tPnJsaW1fbWF4KTsKLS0gICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICJMaW1pdCVzJXNTb2Z0OiAiIFJMSU1fRk1UICJcbiIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXgsIHJsaW1pdF90b19zdHJpbmcoaSksIGMtPnJsaW1pdFtpXS0+cmxpbV9jdXIpOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIkxpbWl0JXMlczogJWp1XG4iLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4LCBybGltaXRfdG9fc3RyaW5nKGkpLCAodWludG1heF90KWMtPnJsaW1pdFtpXS0+cmxpbV9tYXgpOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIkxpbWl0JXMlc1NvZnQ6ICVqdVxuIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwgcmxpbWl0X3RvX3N0cmluZyhpKSwgKHVpbnRtYXhfdCljLT5ybGltaXRbaV0tPnJsaW1fY3VyKTsKLSAgICAgICAgICAgICAgICAgfQotIAotICAgICAgICAgaWYgKGMtPmlvcHJpb19zZXQpIHsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTMtdGVzdC1oZXhkZWNvY3QuYy1JbmNsdWRlLW1pc3NpbmcuaC1mb3Itc3RybmR1cGEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEzLXRlc3QtaGV4ZGVjb2N0LmMtSW5jbHVkZS1taXNzaW5nLmgtZm9yLXN0cm5kdXBhLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3NGMxN2MKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEzLXRlc3QtaGV4ZGVjb2N0LmMtSW5jbHVkZS1taXNzaW5nLmgtZm9yLXN0cm5kdXBhLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gZTVhNDhmODRkYjU4ZmZiOTEyODM4M2VhZWZjMTIzYjU4Mjk1MjNlNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDIzIE9jdCAyMDE3IDEyOjMzOjIyIC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMTMvMjRdIHRlc3QtaGV4ZGVjb2N0LmM6IEluY2x1ZGUgbWlzc2luZy5oIGZvciBzdHJuZHVwYQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvdGVzdC90ZXN0LWhleGRlY29jdC5jIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9zcmMvdGVzdC90ZXN0LWhleGRlY29jdC5jIGIvc3JjL3Rlc3QvdGVzdC1oZXhkZWNvY3QuYworaW5kZXggNTIyMTc0Mi4uYTA1ZTc3OCAxMDA2NDQKKy0tLSBhL3NyYy90ZXN0L3Rlc3QtaGV4ZGVjb2N0LmMKKysrKyBiL3NyYy90ZXN0L3Rlc3QtaGV4ZGVjb2N0LmMKK0BAIC02LDYgKzYsNyBAQAorICNpbmNsdWRlICJoZXhkZWNvY3QuaCIKKyAjaW5jbHVkZSAibWFjcm8uaCIKKyAjaW5jbHVkZSAic3RyaW5nLXV0aWwuaCIKKysjaW5jbHVkZSAibWlzc2luZy5oIgorIAorIHN0YXRpYyB2b2lkIHRlc3RfaGV4Y2hhcih2b2lkKSB7CisgICAgICAgICBhc3NlcnRfc2UoaGV4Y2hhcigweGEpID09ICdhJyk7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTQtZml4LW1pc3NpbmctVUxPTkdfTE9OR19NQVgtZGVmaW5pdGlvbi1pbi1jYXNlLW9mLW11cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTQtZml4LW1pc3NpbmctVUxPTkdfTE9OR19NQVgtZGVmaW5pdGlvbi1pbi1jYXNlLW9mLW11cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjU4YTYzMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE0LWZpeC1taXNzaW5nLVVMT05HX0xPTkdfTUFYLWRlZmluaXRpb24taW4tY2FzZS1vZi1tdXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1Gcm9tIGNiNTliM2FmNTRmYjNiYmQ0ZDgyNjRmZWY5MTk4MTBhZjhkMDhkMTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUdWUsIDI3IEZlYiAyMDE4IDE0OjAxOjMwICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMTQvMTldIGZpeCBtaXNzaW5nIFVMT05HX0xPTkdfTUFYIGRlZmluaXRpb24gaW4gY2FzZSBvZiBtdXNsCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbF0KLQotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2Jhc2ljL21pc3NpbmcuaCB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9taXNzaW5nLmggYi9zcmMvYmFzaWMvbWlzc2luZy5oCi1pbmRleCBjZDFjYzEwOWYuLjE0NDA1OGExYSAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9taXNzaW5nLmgKLSsrKyBiL3NyYy9iYXNpYy9taXNzaW5nLmgKLUBAIC01NCw2ICs1NCwxMCBAQCBzdHJ1Y3Qgc29ja2FkZHJfdm0gewotIH07Ci0gI2VuZGlmIC8qICFIQVZFX0xJTlVYX1ZNX1NPQ0tFVFNfSCAqLwotIAotKyNpZm5kZWYgVUxPTkdfTE9OR19NQVgKLSsjZGVmaW5lIFVMT05HX0xPTkdfTUFYIFVMTE9OR19NQVgKLSsjZW5kaWYKLSsKLSAjaWZuZGVmIFJMSU1JVF9SVFRJTUUKLSAjZGVmaW5lIFJMSU1JVF9SVFRJTUUgMTUKLSAjZW5kaWYKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTQtdGVzdC1zaXplb2YuYy1EaXNhYmxlLXRlc3RzLWZvci1taXNzaW5nLXR5cGVkZWZzLWluLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTQtdGVzdC1zaXplb2YuYy1EaXNhYmxlLXRlc3RzLWZvci1taXNzaW5nLXR5cGVkZWZzLWluLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTQ1ODlkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNC10ZXN0LXNpemVvZi5jLURpc2FibGUtdGVzdHMtZm9yLW1pc3NpbmctdHlwZWRlZnMtaW4tLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gZDNkNjVkNDAzNjY3MGNiZDUxMjlmZTU1YzA5Y2EzOTEyODZlZjRiMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMjggRmViIDIwMTggMjE6MjU6MjIgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCAxNC8yNF0gdGVzdC1zaXplb2YuYzogRGlzYWJsZSB0ZXN0cyBmb3IgbWlzc2luZyB0eXBlZGVmcyBpbgorIG11c2wKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL3Rlc3QvdGVzdC1zaXplb2YuYyB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Rlc3Qtc2l6ZW9mLmMgYi9zcmMvdGVzdC90ZXN0LXNpemVvZi5jCitpbmRleCAzNWIwODc2Li5lNzhlN2NhIDEwMDY0NAorLS0tIGEvc3JjL3Rlc3QvdGVzdC1zaXplb2YuYworKysrIGIvc3JjL3Rlc3QvdGVzdC1zaXplb2YuYworQEAgLTQxLDggKzQxLDEwIEBAIGludCBtYWluKHZvaWQpIHsKKyAgICAgICAgIGluZm8odW5zaWduZWQpOworICAgICAgICAgaW5mbyhsb25nIHVuc2lnbmVkKTsKKyAgICAgICAgIGluZm8obG9uZyBsb25nIHVuc2lnbmVkKTsKKysjaWZkZWYgX19HTElCQ19fCisgICAgICAgICBpbmZvKF9fc3lzY2FsbF91bG9uZ190KTsKKyAgICAgICAgIGluZm8oX19zeXNjYWxsX3Nsb25nX3QpOworKyNlbmRpZgorIAorICAgICAgICAgaW5mbyhmbG9hdCk7CisgICAgICAgICBpbmZvKGRvdWJsZSk7CitAQCAtNjAsNyArNjIsOSBAQCBpbnQgbWFpbih2b2lkKSB7CisgICAgICAgICBpbmZvKHNzaXplX3QpOworICAgICAgICAgaW5mbyh0aW1lX3QpOworICAgICAgICAgaW5mbyh1c2VjX3QpOworKyNpZmRlZiBfX0dMSUJDX18KKyAgICAgICAgIGluZm8oX190aW1lX3QpOworKyNlbmRpZgorICAgICAgICAgaW5mbyhwaWRfdCk7CisgICAgICAgICBpbmZvKHVpZF90KTsKKyAgICAgICAgIGluZm8oZ2lkX3QpOworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE1LWRvbi10LXBhc3MtQVRfU1lNTElOS19OT0ZPTExPVy1mbGFnLXRvLWZhY2Nlc3NhdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTUtZG9uLXQtcGFzcy1BVF9TWU1MSU5LX05PRk9MTE9XLWZsYWctdG8tZmFjY2Vzc2F0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkNDA3ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE1LWRvbi10LXBhc3MtQVRfU1lNTElOS19OT0ZPTExPVy1mbGFnLXRvLWZhY2Nlc3NhdC5wYXRjaApAQCAtMCwwICsxLDk5IEBACitGcm9tIDQ4YzYyOGY1MzJmNjAyNWMyZDE2NDZiNjgxOWNkODFlYjc4OWQ3ZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgorRGF0ZTogVHVlLCAxMCBPY3QgMjAxNyAxNDozMzozMCAtMDcwMAorU3ViamVjdDogW1BBVENIIDE1LzI0XSBkb24ndCBwYXNzIEFUX1NZTUxJTktfTk9GT0xMT1cgZmxhZyB0byBmYWNjZXNzYXQoKQorCitBdm9pZCB1c2luZyBBVF9TWU1MSU5LX05PRk9MTE9XIGZsYWcuIEl0IGRvZXNuJ3Qgc2VlbSBsaWtlIHRoZSByaWdodAordGhpbmcgdG8gZG8gYW5kIGl0J3Mgbm90IHBvcnRhYmxlIChub3Qgc3VwcG9ydGVkIGJ5IG11c2wpLiBTZWU6CisKKyAgaHR0cDovL2xpc3RzLmxhbmRsZXkubmV0L3BpcGVybWFpbC90b3lib3gtbGFuZGxleS5uZXQvMjAxNC1TZXB0ZW1iZXIvMDAzNjEwLmh0bWwKKyAgaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvbXVzbC8yMDE1LzAyLzA1LzIKKworTm90ZSB0aGF0IGxhY2Nlc3MoKSBpcyBuZXZlciBwYXNzaW5nIEFUX0VBQ0NFU1Mgc28gYSBsb3Qgb2YgdGhlCitkaXNjdXNzaW9uIGluIHRoZSBsaW5rcyBhYm92ZSBkb2Vzbid0IGFwcGx5LiBOb3RlIGFsc28gdGhhdAorKGN1cnJlbnRseSkgYWxsIHN5c3RlbWQgY2FsbGVycyBvZiBsYWNjZXNzKCkgcGFzcyBtb2RlIGFzIEZfT0ssIHNvCitvbmx5IGNoZWNrIGZvciBleGlzdGVuY2Ugb2YgYSBmaWxlLCBub3QgYWNjZXNzIHBlcm1pc3Npb25zLgorVGhlcmVmb3JlLCBpbiB0aGlzIGNhc2UsIHRoZSBvbmx5IGRpc3RpY3Rpb24gYmV0d2VlbiBmYWNjZXNzYXQoKQord2l0aCAoZmxhZyA9PSAwKSBhbmQgKGZsYWcgPT0gQVRfU1lNTElOS19OT0ZPTExPVykgaXMgdGhlIGJlaGF2aW91cgorZm9yIGJyb2tlbiBzeW1saW5rczsgbGFjY2VzcygpIG9uIGEgYnJva2VuIHN5bWxpbmsgd2lsbCBzdWNjZWVkIHdpdGgKKyhmbGFnID09IEFUX1NZTUxJTktfTk9GT0xMT1cpIGFuZCBmYWlsIChmbGFnID09IDApLgorCitUaGUgbGFjY2VzcygpIG1hY3JvcyB3YXMgYWRkZWQgdG8gc3lzdGVtZCBzb21lIHRpbWUgYWdvIGFuZCBpdCdzIG5vdAorY2xlYXIgaWYgb3Igd2h5IGl0IG5lZWRzIHRvIHJldHVybiBzdWNjZXNzIGZvciBicm9rZW4gc3ltbGlua3MuIE1heWJlCitqdXN0IGhpc3RvcmljYWwgYW5kIG5vdCBhY3R1YWxseSBuZWNlc3Nhcnkgb3IgZGVzaXJlZCBiZWhhdmlvdXI/CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KKy0tLQorIHNyYy9iYXNpYy9mcy11dGlsLmggICAgICAgICAgfCAyMiArKysrKysrKysrKysrKysrKysrKystCisgc3JjL3NoYXJlZC9iYXNlLWZpbGVzeXN0ZW0uYyB8ICA2ICsrKy0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9mcy11dGlsLmggYi9zcmMvYmFzaWMvZnMtdXRpbC5oCitpbmRleCA3YWQwMzBiLi5kNGNiMWU5IDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL2ZzLXV0aWwuaAorKysrIGIvc3JjL2Jhc2ljL2ZzLXV0aWwuaAorQEAgLTMyLDcgKzMyLDI3IEBAIGludCBmY2htb2Rfb3BhdGgoaW50IGZkLCBtb2RlX3QgbSk7CisgCisgaW50IGZkX3dhcm5fcGVybWlzc2lvbnMoY29uc3QgY2hhciAqcGF0aCwgaW50IGZkKTsKKyAKKy0jZGVmaW5lIGxhY2Nlc3MocGF0aCwgbW9kZSkgZmFjY2Vzc2F0KEFUX0ZEQ1dELCAocGF0aCksIChtb2RlKSwgQVRfU1lNTElOS19OT0ZPTExPVykKKysvKgorKyAgIEF2b2lkIHVzaW5nIEFUX1NZTUxJTktfTk9GT0xMT1cgZmxhZy4gSXQgZG9lc24ndCBzZWVtIGxpa2UgdGhlIHJpZ2h0IHRoaW5nIHRvCisrICAgZG8gYW5kIGl0J3Mgbm90IHBvcnRhYmxlIChub3Qgc3VwcG9ydGVkIGJ5IG11c2wpLiBTZWU6CisrCisrICAgICBodHRwOi8vbGlzdHMubGFuZGxleS5uZXQvcGlwZXJtYWlsL3RveWJveC1sYW5kbGV5Lm5ldC8yMDE0LVNlcHRlbWJlci8wMDM2MTAuaHRtbAorKyAgICAgaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvbXVzbC8yMDE1LzAyLzA1LzIKKysKKysgICBOb3RlIHRoYXQgbGFjY2VzcygpIGlzIG5ldmVyIHBhc3NpbmcgQVRfRUFDQ0VTUyBzbyBhIGxvdCBvZiB0aGUgZGlzY3Vzc2lvbiBpbgorKyAgIHRoZSBsaW5rcyBhYm92ZSBkb2Vzbid0IGFwcGx5LiBOb3RlIGFsc28gdGhhdCAoY3VycmVudGx5KSBhbGwgc3lzdGVtZCBjYWxsZXJzCisrICAgb2YgbGFjY2VzcygpIHBhc3MgbW9kZSBhcyBGX09LLCBzbyBvbmx5IGNoZWNrIGZvciBleGlzdGVuY2Ugb2YgYSBmaWxlLCBub3QKKysgICBhY2Nlc3MgcGVybWlzc2lvbnMuIFRoZXJlZm9yZSwgaW4gdGhpcyBjYXNlLCB0aGUgb25seSBkaXN0aWN0aW9uIGJldHdlZW4KKysgICBmYWNjZXNzYXQoKSB3aXRoIChmbGFnID09IDApIGFuZCAoZmxhZyA9PSBBVF9TWU1MSU5LX05PRk9MTE9XKSBpcyB0aGUKKysgICBiZWhhdmlvdXIgZm9yIGJyb2tlbiBzeW1saW5rczsgbGFjY2VzcygpIG9uIGEgYnJva2VuIHN5bWxpbmsgd2lsbCBzdWNjZWVkCisrICAgd2l0aCAoZmxhZyA9PSBBVF9TWU1MSU5LX05PRk9MTE9XKSBhbmQgZmFpbCAoZmxhZyA9PSAwKS4KKysKKysgICBUaGUgbGFjY2VzcygpIG1hY3JvcyB3YXMgYWRkZWQgdG8gc3lzdGVtZCBzb21lIHRpbWUgYWdvIGFuZCBpdCdzIG5vdCBjbGVhciBpZgorKyAgIG9yIHdoeSBpdCBuZWVkcyB0byByZXR1cm4gc3VjY2VzcyBmb3IgYnJva2VuIHN5bWxpbmtzLiBNYXliZSBqdXN0IGhpc3RvcmljYWwKKysgICBhbmQgbm90IGFjdHVhbGx5IG5lY2Vzc2FyeSBvciBkZXNpcmVkIGJlaGF2aW91cj8KKysqLworKworKyNkZWZpbmUgbGFjY2VzcyhwYXRoLCBtb2RlKSBmYWNjZXNzYXQoQVRfRkRDV0QsIChwYXRoKSwgKG1vZGUpLCAwKQorIAorIGludCB0b3VjaF9maWxlKGNvbnN0IGNoYXIgKnBhdGgsIGJvb2wgcGFyZW50cywgdXNlY190IHN0YW1wLCB1aWRfdCB1aWQsIGdpZF90IGdpZCwgbW9kZV90IG1vZGUpOworIGludCB0b3VjaChjb25zdCBjaGFyICpwYXRoKTsKK2RpZmYgLS1naXQgYS9zcmMvc2hhcmVkL2Jhc2UtZmlsZXN5c3RlbS5jIGIvc3JjL3NoYXJlZC9iYXNlLWZpbGVzeXN0ZW0uYworaW5kZXggODlkN2E3ZC4uMzRiNGFkNSAxMDA2NDQKKy0tLSBhL3NyYy9zaGFyZWQvYmFzZS1maWxlc3lzdGVtLmMKKysrKyBiL3NyYy9zaGFyZWQvYmFzZS1maWxlc3lzdGVtLmMKK0BAIC01Myw3ICs1Myw3IEBAIGludCBiYXNlX2ZpbGVzeXN0ZW1fY3JlYXRlKGNvbnN0IGNoYXIgKnJvb3QsIHVpZF90IHVpZCwgZ2lkX3QgZ2lkKSB7CisgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZXJyb3JfZXJybm8oZXJybm8sICJGYWlsZWQgdG8gb3BlbiByb290IGZpbGUgc3lzdGVtOiAlbSIpOworIAorICAgICAgICAgZm9yIChpID0gMDsgaSA8IEVMRU1FTlRTT0YodGFibGUpOyBpICsrKSB7CistICAgICAgICAgICAgICAgIGlmIChmYWNjZXNzYXQoZmQsIHRhYmxlW2ldLmRpciwgRl9PSywgQVRfU1lNTElOS19OT0ZPTExPVykgPj0gMCkKKysgICAgICAgICAgICAgICAgaWYgKGZhY2Nlc3NhdChmZCwgdGFibGVbaV0uZGlyLCBGX09LLCAwKSA+PSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworIAorICAgICAgICAgICAgICAgICBpZiAodGFibGVbaV0udGFyZ2V0KSB7CitAQCAtNjEsNyArNjEsNyBAQCBpbnQgYmFzZV9maWxlc3lzdGVtX2NyZWF0ZShjb25zdCBjaGFyICpyb290LCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgeworIAorICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGNoZWNrIGlmIG9uZSBvZiB0aGUgdGFyZ2V0cyBleGlzdHMgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICBOVUxTVFJfRk9SRUFDSChzLCB0YWJsZVtpXS50YXJnZXQpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmYWNjZXNzYXQoZmQsIHMsIEZfT0ssIEFUX1NZTUxJTktfTk9GT0xMT1cpIDwgMCkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmYWNjZXNzYXQoZmQsIHMsIEZfT0ssIDApIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjaGVjayBpZiBhIHNwZWNpZmljIGZpbGUgZXhpc3RzIGF0IHRoZSB0YXJnZXQgcGF0aCAqLworQEAgLTcyLDcgKzcyLDcgQEAgaW50IGJhc2VfZmlsZXN5c3RlbV9jcmVhdGUoY29uc3QgY2hhciAqcm9vdCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7CisgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmYWNjZXNzYXQoZmQsIHAsIEZfT0ssIEFUX1NZTUxJTktfTk9GT0xMT1cpIDwgMCkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZhY2Nlc3NhdChmZCwgcCwgRl9PSywgMCkgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorIAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE1LXRlc3QtaGV4ZGVjb2N0LmMtSW5jbHVkZS1taXNzaW5nLmgtZm9yLXN0cm5kdXBhLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNS10ZXN0LWhleGRlY29jdC5jLUluY2x1ZGUtbWlzc2luZy5oLWZvci1zdHJuZHVwYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzdjYTljZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE1LXRlc3QtaGV4ZGVjb2N0LmMtSW5jbHVkZS1taXNzaW5nLmgtZm9yLXN0cm5kdXBhLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotRnJvbSBiMTExMDllY2M0MTExMGM1MThhOThiNmFjMzk2MTFmZjg2NDc3MDIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMjMgT2N0IDIwMTcgMTI6MzM6MjIgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAxNS8xOV0gdGVzdC1oZXhkZWNvY3QuYzogSW5jbHVkZSBtaXNzaW5nLmggZm9yIHN0cm5kdXBhCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy90ZXN0L3Rlc3QtaGV4ZGVjb2N0LmMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Rlc3QtaGV4ZGVjb2N0LmMgYi9zcmMvdGVzdC90ZXN0LWhleGRlY29jdC5jCi1pbmRleCBkYTlmMzAwOGIuLjdmZjJkZmUwYyAxMDA2NDQKLS0tLSBhL3NyYy90ZXN0L3Rlc3QtaGV4ZGVjb2N0LmMKLSsrKyBiL3NyYy90ZXN0L3Rlc3QtaGV4ZGVjb2N0LmMKLUBAIC02LDYgKzYsNyBAQAotICNpbmNsdWRlICJoZXhkZWNvY3QuaCIKLSAjaW5jbHVkZSAibWFjcm8uaCIKLSAjaW5jbHVkZSAic3RyaW5nLXV0aWwuaCIKLSsjaW5jbHVkZSAibWlzc2luZy5oIgotIAotIHN0YXRpYyB2b2lkIHRlc3RfaGV4Y2hhcih2b2lkKSB7Ci0gICAgICAgICBhc3NlcnRfc2UoaGV4Y2hhcigweGEpID09ICdhJyk7Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE2LURlZmluZS1nbGliYy1jb21wYXRpYmxlLWJhc2VuYW1lLWZvci1ub24tZ2xpYmMtc3lzdGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE2LURlZmluZS1nbGliYy1jb21wYXRpYmxlLWJhc2VuYW1lLWZvci1ub24tZ2xpYmMtc3lzdGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU1NjU2OQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTYtRGVmaW5lLWdsaWJjLWNvbXBhdGlibGUtYmFzZW5hbWUtZm9yLW5vbi1nbGliYy1zeXN0ZS5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIGFmNzZjOTczZTQxOTI5MzYwYTZlMDIxZjJmZjlhN2ZjMWQ3OTk0ZTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogU3VuLCAyNyBNYXkgMjAxOCAwODozNjo0NCAtMDcwMAorU3ViamVjdDogW1BBVENIIDE2LzI0XSBEZWZpbmUgZ2xpYmMgY29tcGF0aWJsZSBiYXNlbmFtZSgpIGZvciBub24tZ2xpYmMKKyBzeXN0ZW1zCisKK0ZpeGVzIGJ1aWxkcyB3aXRoIG11c2wsIGV2ZW4gdGhvdWdoIHN5c3RlbWQgaXMgYWRhbWFudCBhYm91dAordXNpbmcgbm9uLXBvc2l4IGJhc2VuYW1lIGltcGxlbWVudGF0aW9uLCB3ZSBoYXZlIGEgd2F5IG91dAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBzcmMvbWFjaGluZS9tYWNoaW5lLWRidXMuYyB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9tYWNoaW5lL21hY2hpbmUtZGJ1cy5jIGIvc3JjL21hY2hpbmUvbWFjaGluZS1kYnVzLmMKK2luZGV4IDdhNTU4ZGYuLmVjYTdkNGIgMTAwNjQ0CistLS0gYS9zcmMvbWFjaGluZS9tYWNoaW5lLWRidXMuYworKysrIGIvc3JjL21hY2hpbmUvbWFjaGluZS1kYnVzLmMKK0BAIC0xMSw2ICsxMSwxMCBAQAorICNpbmNsdWRlIDxsaWJnZW4uaD4KKyAjdW5kZWYgYmFzZW5hbWUKKyAKKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyNkZWZpbmUgYmFzZW5hbWUoc3JjKSAoc3RycmNocihzcmMsJy8nKSA/IHN0cnJjaHIoc3JjLCcvJykrMSA6IHNyYykKKysjZW5kaWYKKysKKyAjaW5jbHVkZSAiYWxsb2MtdXRpbC5oIgorICNpbmNsdWRlICJidXMtY29tbW9uLWVycm9ycy5oIgorICNpbmNsdWRlICJidXMtaW50ZXJuYWwuaCIKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNi10ZXN0LXNpemVvZi5jLURpc2FibGUtdGVzdHMtZm9yLW1pc3NpbmctdHlwZWRlZnMtaW4tLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNi10ZXN0LXNpemVvZi5jLURpc2FibGUtdGVzdHMtZm9yLW1pc3NpbmctdHlwZWRlZnMtaW4tLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMDZhMzcwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTYtdGVzdC1zaXplb2YuYy1EaXNhYmxlLXRlc3RzLWZvci1taXNzaW5nLXR5cGVkZWZzLWluLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLUZyb20gYzRiYmYzZWZlZmZmZTBhNGVmYWRiZjRlM2YwYWRiNTRkNzZmZTBlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMjggRmViIDIwMTggMjE6MjU6MjIgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxNi8xOV0gdGVzdC1zaXplb2YuYzogRGlzYWJsZSB0ZXN0cyBmb3IgbWlzc2luZyB0eXBlZGVmcyBpbgotIG11c2wKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL3Rlc3QvdGVzdC1zaXplb2YuYyB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Rlc3Qtc2l6ZW9mLmMgYi9zcmMvdGVzdC90ZXN0LXNpemVvZi5jCi1pbmRleCA3YTFlNDk2ZWQuLjM4NmIzMTRkNSAxMDA2NDQKLS0tLSBhL3NyYy90ZXN0L3Rlc3Qtc2l6ZW9mLmMKLSsrKyBiL3NyYy90ZXN0L3Rlc3Qtc2l6ZW9mLmMKLUBAIC00MCw4ICs0MCwxMCBAQCBpbnQgbWFpbih2b2lkKSB7Ci0gICAgICAgICBpbmZvKHVuc2lnbmVkKTsKLSAgICAgICAgIGluZm8obG9uZyB1bnNpZ25lZCk7Ci0gICAgICAgICBpbmZvKGxvbmcgbG9uZyB1bnNpZ25lZCk7Ci0rI2lmZGVmIF9fR0xJQkNfXwotICAgICAgICAgaW5mbyhfX3N5c2NhbGxfdWxvbmdfdCk7Ci0gICAgICAgICBpbmZvKF9fc3lzY2FsbF9zbG9uZ190KTsKLSsjZW5kaWYKLSAKLSAgICAgICAgIGluZm8oZmxvYXQpOwotICAgICAgICAgaW5mbyhkb3VibGUpOwotQEAgLTU5LDcgKzYxLDkgQEAgaW50IG1haW4odm9pZCkgewotICAgICAgICAgaW5mbyhzc2l6ZV90KTsKLSAgICAgICAgIGluZm8odGltZV90KTsKLSAgICAgICAgIGluZm8odXNlY190KTsKLSsjaWZkZWYgX19HTElCQ19fCi0gICAgICAgICBpbmZvKF9fdGltZV90KTsKLSsjZW5kaWYKLSAgICAgICAgIGluZm8ocGlkX3QpOwotICAgICAgICAgaW5mbyh1aWRfdCk7Ci0gICAgICAgICBpbmZvKGdpZF90KTsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTctRG8tbm90LWRpc2FibGUtYnVmZmVyaW5nLXdoZW4td3JpdGluZy10by1vb21fc2NvcmVfYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTctRG8tbm90LWRpc2FibGUtYnVmZmVyaW5nLXdoZW4td3JpdGluZy10by1vb21fc2NvcmVfYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNWU2ZGVkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNy1Eby1ub3QtZGlzYWJsZS1idWZmZXJpbmctd2hlbi13cml0aW5nLXRvLW9vbV9zY29yZV9hLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gYzdhNGVmYjhiY2NiNTJlMTcxNGMxNTE5MjljMjNlMTJiZGU1OWI4MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgNCBKdWwgMjAxOCAxNTowMDo0NCArMDgwMAorU3ViamVjdDogW1BBVENIIDE3LzI0XSBEbyBub3QgZGlzYWJsZSBidWZmZXJpbmcgd2hlbiB3cml0aW5nIHRvIG9vbV9zY29yZV9hZGoKKworT24gbXVzbCwgZGlzYWJsaW5nIGJ1ZmZlcmluZyB3aGVuIHdyaXRpbmcgdG8gb29tX3Njb3JlX2FkaiB3aWxsCitjYXVzZSB0aGUgZm9sbG93aW5nIGVycm9yLgorCisgIEZhaWxlZCB0byBhZGp1c3QgT09NIHNldHRpbmc6IEludmFsaWQgYXJndW1lbnQKKworVGhpcyBlcnJvciBhcHBlYXJzIGZvciBzeXN0ZW1kLXVkZXZkLnNlcnZpY2UgYW5kIGRidXMuc2VydmljZS4KK1RoaXMgaXMgYmVjYXVzZSBrZXJuZWwgcmVjZWl2ZXMgJy0nIGluc3RlYWQgb2YgdGhlIHdob2xlICctOTAwJworaWYgYnVmZmVyaW5nIGlzIGRpc2FibGVkLgorCitUaGlzIGlzIGxpYmMgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMsIGFzIGdsaWJjIGRvZXMgbm90IGhhdmUgdGhpcyBpc3N1ZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMgYi9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKK2luZGV4IGFlYzJkYWYuLjdiNGFhYmYgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKKysrKyBiL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYworQEAgLTE1MzgsNyArMTUzOCw3IEBAIGludCBzZXRfb29tX3Njb3JlX2FkanVzdChpbnQgdmFsdWUpIHsKKyAgICAgICAgIHNwcmludGYodCwgIiVpIiwgdmFsdWUpOworIAorICAgICAgICAgcmV0dXJuIHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zZWxmL29vbV9zY29yZV9hZGoiLCB0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFfFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSk7CisgfQorIAorIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBpb3ByaW9fY2xhc3NfdGFibGVbXSA9IHsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNy1kb24tdC1wYXNzLUFUX1NZTUxJTktfTk9GT0xMT1ctZmxhZy10by1mYWNjZXNzYXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE3LWRvbi10LXBhc3MtQVRfU1lNTElOS19OT0ZPTExPVy1mbGFnLXRvLWZhY2Nlc3NhdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGU0N2M2Zi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE3LWRvbi10LXBhc3MtQVRfU1lNTElOS19OT0ZPTExPVy1mbGFnLXRvLWZhY2Nlc3NhdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk5ICswLDAgQEAKLUZyb20gOTFiYjRmNWM5YzExNDY0NDY4ZThkM2ZhNDc0NmQ5OGQ1OTk5NzI2NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDEwIE9jdCAyMDE3IDE0OjMzOjMwIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMTcvMTldIGRvbid0IHBhc3MgQVRfU1lNTElOS19OT0ZPTExPVyBmbGFnIHRvIGZhY2Nlc3NhdCgpCi0KLUF2b2lkIHVzaW5nIEFUX1NZTUxJTktfTk9GT0xMT1cgZmxhZy4gSXQgZG9lc24ndCBzZWVtIGxpa2UgdGhlIHJpZ2h0Ci10aGluZyB0byBkbyBhbmQgaXQncyBub3QgcG9ydGFibGUgKG5vdCBzdXBwb3J0ZWQgYnkgbXVzbCkuIFNlZToKLQotICBodHRwOi8vbGlzdHMubGFuZGxleS5uZXQvcGlwZXJtYWlsL3RveWJveC1sYW5kbGV5Lm5ldC8yMDE0LVNlcHRlbWJlci8wMDM2MTAuaHRtbAotICBodHRwOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9tdXNsLzIwMTUvMDIvMDUvMgotCi1Ob3RlIHRoYXQgbGFjY2VzcygpIGlzIG5ldmVyIHBhc3NpbmcgQVRfRUFDQ0VTUyBzbyBhIGxvdCBvZiB0aGUKLWRpc2N1c3Npb24gaW4gdGhlIGxpbmtzIGFib3ZlIGRvZXNuJ3QgYXBwbHkuIE5vdGUgYWxzbyB0aGF0Ci0oY3VycmVudGx5KSBhbGwgc3lzdGVtZCBjYWxsZXJzIG9mIGxhY2Nlc3MoKSBwYXNzIG1vZGUgYXMgRl9PSywgc28KLW9ubHkgY2hlY2sgZm9yIGV4aXN0ZW5jZSBvZiBhIGZpbGUsIG5vdCBhY2Nlc3MgcGVybWlzc2lvbnMuCi1UaGVyZWZvcmUsIGluIHRoaXMgY2FzZSwgdGhlIG9ubHkgZGlzdGljdGlvbiBiZXR3ZWVuIGZhY2Nlc3NhdCgpCi13aXRoIChmbGFnID09IDApIGFuZCAoZmxhZyA9PSBBVF9TWU1MSU5LX05PRk9MTE9XKSBpcyB0aGUgYmVoYXZpb3VyCi1mb3IgYnJva2VuIHN5bWxpbmtzOyBsYWNjZXNzKCkgb24gYSBicm9rZW4gc3ltbGluayB3aWxsIHN1Y2NlZWQgd2l0aAotKGZsYWcgPT0gQVRfU1lNTElOS19OT0ZPTExPVykgYW5kIGZhaWwgKGZsYWcgPT0gMCkuCi0KLVRoZSBsYWNjZXNzKCkgbWFjcm9zIHdhcyBhZGRlZCB0byBzeXN0ZW1kIHNvbWUgdGltZSBhZ28gYW5kIGl0J3Mgbm90Ci1jbGVhciBpZiBvciB3aHkgaXQgbmVlZHMgdG8gcmV0dXJuIHN1Y2Nlc3MgZm9yIGJyb2tlbiBzeW1saW5rcy4gTWF5YmUKLWp1c3QgaGlzdG9yaWNhbCBhbmQgbm90IGFjdHVhbGx5IG5lY2Vzc2FyeSBvciBkZXNpcmVkIGJlaGF2aW91cj8KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgotLS0tCi0gc3JjL2Jhc2ljL2ZzLXV0aWwuaCAgICAgICAgICB8IDIyICsrKysrKysrKysrKysrKysrKysrKy0KLSBzcmMvc2hhcmVkL2Jhc2UtZmlsZXN5c3RlbS5jIHwgIDYgKysrLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL2ZzLXV0aWwuaCBiL3NyYy9iYXNpYy9mcy11dGlsLmgKLWluZGV4IDI4NTY2NzczYy4uMTRiODY0Y2M1IDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL2ZzLXV0aWwuaAotKysrIGIvc3JjL2Jhc2ljL2ZzLXV0aWwuaAotQEAgLTMyLDcgKzMyLDI3IEBAIGludCBmY2htb2Rfb3BhdGgoaW50IGZkLCBtb2RlX3QgbSk7Ci0gCi0gaW50IGZkX3dhcm5fcGVybWlzc2lvbnMoY29uc3QgY2hhciAqcGF0aCwgaW50IGZkKTsKLSAKLS0jZGVmaW5lIGxhY2Nlc3MocGF0aCwgbW9kZSkgZmFjY2Vzc2F0KEFUX0ZEQ1dELCAocGF0aCksIChtb2RlKSwgQVRfU1lNTElOS19OT0ZPTExPVykKLSsvKgotKyAgIEF2b2lkIHVzaW5nIEFUX1NZTUxJTktfTk9GT0xMT1cgZmxhZy4gSXQgZG9lc24ndCBzZWVtIGxpa2UgdGhlIHJpZ2h0IHRoaW5nIHRvCi0rICAgZG8gYW5kIGl0J3Mgbm90IHBvcnRhYmxlIChub3Qgc3VwcG9ydGVkIGJ5IG11c2wpLiBTZWU6Ci0rCi0rICAgICBodHRwOi8vbGlzdHMubGFuZGxleS5uZXQvcGlwZXJtYWlsL3RveWJveC1sYW5kbGV5Lm5ldC8yMDE0LVNlcHRlbWJlci8wMDM2MTAuaHRtbAotKyAgICAgaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvbXVzbC8yMDE1LzAyLzA1LzIKLSsKLSsgICBOb3RlIHRoYXQgbGFjY2VzcygpIGlzIG5ldmVyIHBhc3NpbmcgQVRfRUFDQ0VTUyBzbyBhIGxvdCBvZiB0aGUgZGlzY3Vzc2lvbiBpbgotKyAgIHRoZSBsaW5rcyBhYm92ZSBkb2Vzbid0IGFwcGx5LiBOb3RlIGFsc28gdGhhdCAoY3VycmVudGx5KSBhbGwgc3lzdGVtZCBjYWxsZXJzCi0rICAgb2YgbGFjY2VzcygpIHBhc3MgbW9kZSBhcyBGX09LLCBzbyBvbmx5IGNoZWNrIGZvciBleGlzdGVuY2Ugb2YgYSBmaWxlLCBub3QKLSsgICBhY2Nlc3MgcGVybWlzc2lvbnMuIFRoZXJlZm9yZSwgaW4gdGhpcyBjYXNlLCB0aGUgb25seSBkaXN0aWN0aW9uIGJldHdlZW4KLSsgICBmYWNjZXNzYXQoKSB3aXRoIChmbGFnID09IDApIGFuZCAoZmxhZyA9PSBBVF9TWU1MSU5LX05PRk9MTE9XKSBpcyB0aGUKLSsgICBiZWhhdmlvdXIgZm9yIGJyb2tlbiBzeW1saW5rczsgbGFjY2VzcygpIG9uIGEgYnJva2VuIHN5bWxpbmsgd2lsbCBzdWNjZWVkCi0rICAgd2l0aCAoZmxhZyA9PSBBVF9TWU1MSU5LX05PRk9MTE9XKSBhbmQgZmFpbCAoZmxhZyA9PSAwKS4KLSsKLSsgICBUaGUgbGFjY2VzcygpIG1hY3JvcyB3YXMgYWRkZWQgdG8gc3lzdGVtZCBzb21lIHRpbWUgYWdvIGFuZCBpdCdzIG5vdCBjbGVhciBpZgotKyAgIG9yIHdoeSBpdCBuZWVkcyB0byByZXR1cm4gc3VjY2VzcyBmb3IgYnJva2VuIHN5bWxpbmtzLiBNYXliZSBqdXN0IGhpc3RvcmljYWwKLSsgICBhbmQgbm90IGFjdHVhbGx5IG5lY2Vzc2FyeSBvciBkZXNpcmVkIGJlaGF2aW91cj8KLSsqLwotKwotKyNkZWZpbmUgbGFjY2VzcyhwYXRoLCBtb2RlKSBmYWNjZXNzYXQoQVRfRkRDV0QsIChwYXRoKSwgKG1vZGUpLCAwKQotIAotIGludCB0b3VjaF9maWxlKGNvbnN0IGNoYXIgKnBhdGgsIGJvb2wgcGFyZW50cywgdXNlY190IHN0YW1wLCB1aWRfdCB1aWQsIGdpZF90IGdpZCwgbW9kZV90IG1vZGUpOwotIGludCB0b3VjaChjb25zdCBjaGFyICpwYXRoKTsKLWRpZmYgLS1naXQgYS9zcmMvc2hhcmVkL2Jhc2UtZmlsZXN5c3RlbS5jIGIvc3JjL3NoYXJlZC9iYXNlLWZpbGVzeXN0ZW0uYwotaW5kZXggODlkN2E3ZDU5Li4zNGI0YWQ1M2EgMTAwNjQ0Ci0tLS0gYS9zcmMvc2hhcmVkL2Jhc2UtZmlsZXN5c3RlbS5jCi0rKysgYi9zcmMvc2hhcmVkL2Jhc2UtZmlsZXN5c3RlbS5jCi1AQCAtNTMsNyArNTMsNyBAQCBpbnQgYmFzZV9maWxlc3lzdGVtX2NyZWF0ZShjb25zdCBjaGFyICpyb290LCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgewotICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKGVycm5vLCAiRmFpbGVkIHRvIG9wZW4gcm9vdCBmaWxlIHN5c3RlbTogJW0iKTsKLSAKLSAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBFTEVNRU5UU09GKHRhYmxlKTsgaSArKykgewotLSAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCB0YWJsZVtpXS5kaXIsIEZfT0ssIEFUX1NZTUxJTktfTk9GT0xMT1cpID49IDApCi0rICAgICAgICAgICAgICAgIGlmIChmYWNjZXNzYXQoZmQsIHRhYmxlW2ldLmRpciwgRl9PSywgMCkgPj0gMCkKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAKLSAgICAgICAgICAgICAgICAgaWYgKHRhYmxlW2ldLnRhcmdldCkgewotQEAgLTYxLDcgKzYxLDcgQEAgaW50IGJhc2VfZmlsZXN5c3RlbV9jcmVhdGUoY29uc3QgY2hhciAqcm9vdCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpIHsKLSAKLSAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjaGVjayBpZiBvbmUgb2YgdGhlIHRhcmdldHMgZXhpc3RzICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgTlVMU1RSX0ZPUkVBQ0gocywgdGFibGVbaV0udGFyZ2V0KSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCBzLCBGX09LLCBBVF9TWU1MSU5LX05PRk9MTE9XKSA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCBzLCBGX09LLCAwKSA8IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY2hlY2sgaWYgYSBzcGVjaWZpYyBmaWxlIGV4aXN0cyBhdCB0aGUgdGFyZ2V0IHBhdGggKi8KLUBAIC03Miw3ICs3Miw3IEBAIGludCBiYXNlX2ZpbGVzeXN0ZW1fY3JlYXRlKGNvbnN0IGNoYXIgKnJvb3QsIHVpZF90IHVpZCwgZ2lkX3QgZ2lkKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOwotIAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCBwLCBGX09LLCBBVF9TWU1MSU5LX05PRk9MTE9XKSA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmYWNjZXNzYXQoZmQsIHAsIEZfT0ssIDApIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTgtRGVmaW5lLWdsaWJjLWNvbXBhdGlibGUtYmFzZW5hbWUtZm9yLW5vbi1nbGliYy1zeXN0ZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTgtRGVmaW5lLWdsaWJjLWNvbXBhdGlibGUtYmFzZW5hbWUtZm9yLW5vbi1nbGliYy1zeXN0ZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWJkMGQ2MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE4LURlZmluZS1nbGliYy1jb21wYXRpYmxlLWJhc2VuYW1lLWZvci1ub24tZ2xpYmMtc3lzdGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1Gcm9tIDk3ZmVkMDcxMzI1MzNhMWIyYmNlOWM2MGUzMDVhNWQwOWFlZTJlOWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU3VuLCAyNyBNYXkgMjAxOCAwODozNjo0NCAtMDcwMAotU3ViamVjdDogW1BBVENIIDE4LzE5XSBEZWZpbmUgZ2xpYmMgY29tcGF0aWJsZSBiYXNlbmFtZSgpIGZvciBub24tZ2xpYmMKLSBzeXN0ZW1zCi0KLUZpeGVzIGJ1aWxkcyB3aXRoIG11c2wsIGV2ZW4gdGhvdWdoIHN5c3RlbWQgaXMgYWRhbWFudCBhYm91dAotdXNpbmcgbm9uLXBvc2l4IGJhc2VuYW1lIGltcGxlbWVudGF0aW9uLCB3ZSBoYXZlIGEgd2F5IG91dAotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvbWFjaGluZS9tYWNoaW5lLWRidXMuYyB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9tYWNoaW5lL21hY2hpbmUtZGJ1cy5jIGIvc3JjL21hY2hpbmUvbWFjaGluZS1kYnVzLmMKLWluZGV4IDdmNDE0NjVjYy4uY2VlOGE1ZDQzIDEwMDY0NAotLS0tIGEvc3JjL21hY2hpbmUvbWFjaGluZS1kYnVzLmMKLSsrKyBiL3NyYy9tYWNoaW5lL21hY2hpbmUtZGJ1cy5jCi1AQCAtMTEsNiArMTEsMTAgQEAKLSAjaW5jbHVkZSA8bGliZ2VuLmg+Ci0gI3VuZGVmIGJhc2VuYW1lCi0gCi0rI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKLSsjZGVmaW5lIGJhc2VuYW1lKHNyYykgKHN0cnJjaHIoc3JjLCcvJykgPyBzdHJyY2hyKHNyYywnLycpKzEgOiBzcmMpCi0rI2VuZGlmCi0rCi0gI2luY2x1ZGUgImFsbG9jLXV0aWwuaCIKLSAjaW5jbHVkZSAiYnVzLWNvbW1vbi1lcnJvcnMuaCIKLSAjaW5jbHVkZSAiYnVzLWludGVybmFsLmgiCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE4LWRpc3Rpbmd1aXNoLVhTSS1jb21wbGlhbnQtc3RyZXJyb3Jfci1mcm9tLUdOVS1zcGVjaWYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE4LWRpc3Rpbmd1aXNoLVhTSS1jb21wbGlhbnQtc3RyZXJyb3Jfci1mcm9tLUdOVS1zcGVjaWYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTkwMTc3MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTgtZGlzdGluZ3Vpc2gtWFNJLWNvbXBsaWFudC1zdHJlcnJvcl9yLWZyb20tR05VLXNwZWNpZi5wYXRjaApAQCAtMCwwICsxLDYyIEBACitGcm9tIGZmZmIyODEwNjExYjRhMjZmNWM2YzA5NTgwOTNiNWIzYjdkNGNkOTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDEwIEp1bCAyMDE4IDE1OjQwOjE3ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMTgvMjRdIGRpc3Rpbmd1aXNoIFhTSS1jb21wbGlhbnQgc3RyZXJyb3JfciBmcm9tIEdOVS1zcGVjaWZpCisgc3RyZXJyb3JfcgorCitYU0ktY29tcGxpYW50IHN0cmVycm9yX3IgYW5kIEdOVS1zcGVjaWZpIHN0cmVycm9yX3IgYXJlIGRpZmZlcmVudC4KKworICAgICAgIGludCBzdHJlcnJvcl9yKGludCBlcnJudW0sIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1Zmxlbik7CisgICAgICAgICAgICAgICAgICAgLyogWFNJLWNvbXBsaWFudCAqLworCisgICAgICAgY2hhciAqc3RyZXJyb3JfcihpbnQgZXJybnVtLCBjaGFyICpidWYsIHNpemVfdCBidWZsZW4pOworICAgICAgICAgICAgICAgICAgIC8qIEdOVS1zcGVjaWZpYyAqLworCitXZSBuZWVkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlbS4gT3RoZXJ3aXNlLCB3ZSdsbCBnZXQgYW4gaW50IHZhbHVlCithc3NpZ25lZCB0byAoY2hhciAqKSB2YXJpYWJsZSwgcmVzdWx0aW5nIGluIHNlZ21lbnQgZmF1bHQuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMgICAgICAgIHwgNSArKysrKworIHNyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYyB8IDUgKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jIGIvc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMKK2luZGV4IDNmZWE5MTIuLjRmMWU1OTIgMTAwNjQ0CistLS0gYS9zcmMvam91cm5hbC9qb3VybmFsLXNlbmQuYworKysrIGIvc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMKK0BAIC0zMzcsNyArMzM3LDEyIEBAIHN0YXRpYyBpbnQgZmlsbF9pb3ZlY19wZXJyb3JfYW5kX3NlbmQoY29uc3QgY2hhciAqbWVzc2FnZSwgaW50IHNraXAsIHN0cnVjdCBpb3ZlCisgICAgICAgICAgICAgICAgIGNoYXIqIGo7CisgCisgICAgICAgICAgICAgICAgIGVycm5vID0gMDsKKysjaWZuZGVmIF9fR0xJQkNfXworKyAgICAgICAgICAgICAgICBzdHJlcnJvcl9yKF9zYXZlZF9lcnJub18sIGJ1ZmZlciArIDggKyBrLCBuIC0gOCAtIGspOworKyAgICAgICAgICAgICAgICBqID0gYnVmZmVyICsgOCArIGs7CisrI2Vsc2UKKyAgICAgICAgICAgICAgICAgaiA9IHN0cmVycm9yX3IoX3NhdmVkX2Vycm5vXywgYnVmZmVyICsgOCArIGssIG4gLSA4IC0gayk7CisrI2VuZGlmCisgICAgICAgICAgICAgICAgIGlmIChlcnJubyA9PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciBlcnJvcltTVFJMRU4oIkVSUk5PPSIpICsgREVDSU1BTF9TVFJfTUFYKGludCkgKyAxXTsKKyAKK2RpZmYgLS1naXQgYS9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWVycm9yLmMgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWVycm9yLmMKK2luZGV4IGRjOTUyMzcuLmJkZGEzMGYgMTAwNjQ0CistLS0gYS9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWVycm9yLmMKKysrKyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYworQEAgLTM3OSw3ICszNzksMTIgQEAgc3RhdGljIHZvaWQgYnVzX2Vycm9yX3N0cmVycm9yKHNkX2J1c19lcnJvciAqZSwgaW50IGVycm9yKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworIAorICAgICAgICAgICAgICAgICBlcnJubyA9IDA7CisrI2lmbmRlZiBfX0dMSUJDX18KKysgICAgICAgICAgICAgICAgc3RyZXJyb3JfcihlcnJvciwgbSwgayk7CisrICAgICAgICAgICAgICAgIHggPSBtOworKyNlbHNlCisgICAgICAgICAgICAgICAgIHggPSBzdHJlcnJvcl9yKGVycm9yLCBtLCBrKTsKKysjZW5kaWYKKyAgICAgICAgICAgICAgICAgaWYgKGVycm5vID09IEVSQU5HRSB8fCBzdHJsZW4oeCkgPj0gayAtIDEpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICBmcmVlKG0pOworICAgICAgICAgICAgICAgICAgICAgICAgIGsgKj0gMjsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxOS1Eby1ub3QtZGlzYWJsZS1idWZmZXJpbmctd2hlbi13cml0aW5nLXRvLW9vbV9zY29yZV9hLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxOS1Eby1ub3QtZGlzYWJsZS1idWZmZXJpbmctd2hlbi13cml0aW5nLXRvLW9vbV9zY29yZV9hLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NDJmNGMwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTktRG8tbm90LWRpc2FibGUtYnVmZmVyaW5nLXdoZW4td3JpdGluZy10by1vb21fc2NvcmVfYS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gODQ0MDM0OGJjYWMzNDI0OWNkZjZhYzJkY2FlOWFjNjZkM2M3MjdkYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgNCBKdWwgMjAxOCAxNTowMDo0NCArMDgwMAotU3ViamVjdDogW1BBVENIIDE5LzE5XSBEbyBub3QgZGlzYWJsZSBidWZmZXJpbmcgd2hlbiB3cml0aW5nIHRvIG9vbV9zY29yZV9hZGoKLQotT24gbXVzbCwgZGlzYWJsaW5nIGJ1ZmZlcmluZyB3aGVuIHdyaXRpbmcgdG8gb29tX3Njb3JlX2FkaiB3aWxsCi1jYXVzZSB0aGUgZm9sbG93aW5nIGVycm9yLgotCi0gIEZhaWxlZCB0byBhZGp1c3QgT09NIHNldHRpbmc6IEludmFsaWQgYXJndW1lbnQKLQotVGhpcyBlcnJvciBhcHBlYXJzIGZvciBzeXN0ZW1kLXVkZXZkLnNlcnZpY2UgYW5kIGRidXMuc2VydmljZS4KLVRoaXMgaXMgYmVjYXVzZSBrZXJuZWwgcmVjZWl2ZXMgJy0nIGluc3RlYWQgb2YgdGhlIHdob2xlICctOTAwJwotaWYgYnVmZmVyaW5nIGlzIGRpc2FibGVkLgotCi1UaGlzIGlzIGxpYmMgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMsIGFzIGdsaWJjIGRvZXMgbm90IGhhdmUgdGhpcyBpc3N1ZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMgYi9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKLWluZGV4IDM1NDNiYzA0NS4uZDA1NzJlMDM0IDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCi0rKysgYi9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKLUBAIC0xNDczLDcgKzE0NzMsNyBAQCBpbnQgc2V0X29vbV9zY29yZV9hZGp1c3QoaW50IHZhbHVlKSB7Ci0gICAgICAgICBzcHJpbnRmKHQsICIlaSIsIHZhbHVlKTsKLSAKLSAgICAgICAgIHJldHVybiB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc2VsZi9vb21fc2NvcmVfYWRqIiwgdCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRXxXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUpOwotIH0KLSAKLSBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgaW9wcmlvX2NsYXNzX3RhYmxlW10gPSB7Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE5LUhpZGUtX19zdGFydF9CVVNfRVJST1JfTUFQLWFuZC1fX3N0b3BfQlVTX0VSUk9SX01BUC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTktSGlkZS1fX3N0YXJ0X0JVU19FUlJPUl9NQVAtYW5kLV9fc3RvcF9CVVNfRVJST1JfTUFQLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1Y2M2NmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE5LUhpZGUtX19zdGFydF9CVVNfRVJST1JfTUFQLWFuZC1fX3N0b3BfQlVTX0VSUk9SX01BUC5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDk2OWFiOWU2ODI0OWZkMzgzZjRiNTEzYjFjOTMwNmJkYWM0YWU5YjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDE1OjE4OjAwICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMTkvMjRdIEhpZGUgX19zdGFydF9CVVNfRVJST1JfTUFQIGFuZCBfX3N0b3BfQlVTX0VSUk9SX01BUAorCitmb3IgY3VycmVudGx5IHVua25vd24gcmVhc29ucyB0aGV5IGdldCBleHBvcnRlZCB0byB0aGUgc2hhcmVkIGxpYnJpZXMKK2V2ZW4gd2l0aG91dCBiZWluZyBsaXN0ZWQgaW4gdGhlIHN5bSBmaWxlCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorW1JlYmFzZWQgZm9yIHYyNDFdCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWVycm9yLmMgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jCitpbmRleCBiZGRhMzBmLi5lMjE4NTNjIDEwMDY0NAorLS0tIGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jCisrKysgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWVycm9yLmMKK0BAIC01NCw4ICs1NCw4IEBAIEJVU19FUlJPUl9NQVBfRUxGX1JFR0lTVEVSIGNvbnN0IHNkX2J1c19lcnJvcl9tYXAgYnVzX3N0YW5kYXJkX2Vycm9yc1tdID0geworIH07CisgCisgLyogR0NDIG1hcHMgdGhpcyBtYWdpY2FsbHkgdG8gdGhlIGJlZ2lubmluZyBhbmQgZW5kIG9mIHRoZSBCVVNfRVJST1JfTUFQIHNlY3Rpb24gKi8KKy1leHRlcm4gY29uc3Qgc2RfYnVzX2Vycm9yX21hcCBfX3N0YXJ0X1NZU1RFTURfQlVTX0VSUk9SX01BUFtdOworLWV4dGVybiBjb25zdCBzZF9idXNfZXJyb3JfbWFwIF9fc3RvcF9TWVNURU1EX0JVU19FUlJPUl9NQVBbXTsKKytleHRlcm4gY29uc3Qgc2RfYnVzX2Vycm9yX21hcCBfX3N0YXJ0X1NZU1RFTURfQlVTX0VSUk9SX01BUFtdIF9oaWRkZW5fOworK2V4dGVybiBjb25zdCBzZF9idXNfZXJyb3JfbWFwIF9fc3RvcF9TWVNURU1EX0JVU19FUlJPUl9NQVBbXSBfaGlkZGVuXzsKKyAKKyAvKiBBZGRpdGlvbmFsIG1hcHMgcmVnaXN0ZXJlZCB3aXRoIHNkX2J1c19lcnJvcl9hZGRfbWFwKCkgYXJlIGluIHRoaXMKKyAgKiBOVUxMIHRlcm1pbmF0ZWQgYXJyYXkgKi8KKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMC1kaXN0aW5ndWlzaC1YU0ktY29tcGxpYW50LXN0cmVycm9yX3ItZnJvbS1HTlUtc3BlY2lmLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMC1kaXN0aW5ndWlzaC1YU0ktY29tcGxpYW50LXN0cmVycm9yX3ItZnJvbS1HTlUtc3BlY2lmLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Yzc4Y2FiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjAtZGlzdGluZ3Vpc2gtWFNJLWNvbXBsaWFudC1zdHJlcnJvcl9yLWZyb20tR05VLXNwZWNpZi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLUZyb20gZGQ1M2RjOWI5NTQyY2JkMmMzOWEzOTA5Njk0MWRmZWQ3MGQwNjUwNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IFR1ZSwgMTAgSnVsIDIwMTggMTU6NDA6MTcgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAyMC8yMF0gZGlzdGluZ3Vpc2ggWFNJLWNvbXBsaWFudCBzdHJlcnJvcl9yIGZyb20gR05VLXNwZWNpZmkKLSBzdHJlcnJvcl9yCi0KLVhTSS1jb21wbGlhbnQgc3RyZXJyb3JfciBhbmQgR05VLXNwZWNpZmkgc3RyZXJyb3JfciBhcmUgZGlmZmVyZW50LgotCi0gICAgICAgaW50IHN0cmVycm9yX3IoaW50IGVycm51bSwgY2hhciAqYnVmLCBzaXplX3QgYnVmbGVuKTsKLSAgICAgICAgICAgICAgICAgICAvKiBYU0ktY29tcGxpYW50ICovCi0KLSAgICAgICBjaGFyICpzdHJlcnJvcl9yKGludCBlcnJudW0sIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1Zmxlbik7Ci0gICAgICAgICAgICAgICAgICAgLyogR05VLXNwZWNpZmljICovCi0KLVdlIG5lZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGVtLiBPdGhlcndpc2UsIHdlJ2xsIGdldCBhbiBpbnQgdmFsdWUKLWFzc2lnbmVkIHRvIChjaGFyICopIHZhcmlhYmxlLCByZXN1bHRpbmcgaW4gc2VnbWVudCBmYXVsdC4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvam91cm5hbC9qb3VybmFsLXNlbmQuYyAgICAgICAgfCA1ICsrKysrCi0gc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jIHwgNSArKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMgYi9zcmMvam91cm5hbC9qb3VybmFsLXNlbmQuYwotaW5kZXggNjViY2JjZDJlLi5hZWY4MGRkOGYgMTAwNjQ0Ci0tLS0gYS9zcmMvam91cm5hbC9qb3VybmFsLXNlbmQuYwotKysrIGIvc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMKLUBAIC0zMzcsNyArMzM3LDEyIEBAIHN0YXRpYyBpbnQgZmlsbF9pb3ZlY19wZXJyb3JfYW5kX3NlbmQoY29uc3QgY2hhciAqbWVzc2FnZSwgaW50IHNraXAsIHN0cnVjdCBpb3ZlCi0gICAgICAgICAgICAgICAgIGNoYXIqIGo7Ci0gCi0gICAgICAgICAgICAgICAgIGVycm5vID0gMDsKLSsjaWZuZGVmIF9fR0xJQkNfXwotKyAgICAgICAgICAgICAgICBzdHJlcnJvcl9yKF9zYXZlZF9lcnJub18sIGJ1ZmZlciArIDggKyBrLCBuIC0gOCAtIGspOwotKyAgICAgICAgICAgICAgICBqID0gYnVmZmVyICsgOCArIGs7Ci0rI2Vsc2UKLSAgICAgICAgICAgICAgICAgaiA9IHN0cmVycm9yX3IoX3NhdmVkX2Vycm5vXywgYnVmZmVyICsgOCArIGssIG4gLSA4IC0gayk7Ci0rI2VuZGlmCi0gICAgICAgICAgICAgICAgIGlmIChlcnJubyA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgY2hhciBlcnJvcltTVFJMRU4oIkVSUk5PPSIpICsgREVDSU1BTF9TVFJfTUFYKGludCkgKyAxXTsKLSAKLWRpZmYgLS1naXQgYS9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWVycm9yLmMgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWVycm9yLmMKLWluZGV4IGVjMzU5YWMxMy4uZDJhYTg2Y2VhIDEwMDY0NAotLS0tIGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jCi0rKysgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWVycm9yLmMKLUBAIC0zNjIsNyArMzYyLDEyIEBAIHN0YXRpYyB2b2lkIGJ1c19lcnJvcl9zdHJlcnJvcihzZF9idXNfZXJyb3IgKmUsIGludCBlcnJvcikgewotICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAKLSAgICAgICAgICAgICAgICAgZXJybm8gPSAwOwotKyNpZm5kZWYgX19HTElCQ19fCi0rICAgICAgICAgICAgICAgIHN0cmVycm9yX3IoZXJyb3IsIG0sIGspOwotKyAgICAgICAgICAgICAgICB4ID0gbTsKLSsjZWxzZQotICAgICAgICAgICAgICAgICB4ID0gc3RyZXJyb3JfcihlcnJvciwgbSwgayk7Ci0rI2VuZGlmCi0gICAgICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFUkFOR0UgfHwgc3RybGVuKHgpID49IGsgLSAxKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgZnJlZShtKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICBrICo9IDI7Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIwLW1pc3NpbmdfdHlwZS5oLWFkZC1fX2NvbXBhcl9kX2ZuX3QtZGVmaW5pdGlvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjAtbWlzc2luZ190eXBlLmgtYWRkLV9fY29tcGFyX2RfZm5fdC1kZWZpbml0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1M2Q1MTEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIwLW1pc3NpbmdfdHlwZS5oLWFkZC1fX2NvbXBhcl9kX2ZuX3QtZGVmaW5pdGlvbi5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tIDc1YzA2ZTNlMmE0NzYwYjM2ZmZmZDk1Y2RmNTUzNWI4YWQ3M2M0ODEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDE1OjI3OjU0ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMjAvMjRdIG1pc3NpbmdfdHlwZS5oOiBhZGQgX19jb21wYXJfZF9mbl90IGRlZmluaXRpb24KKworRml4IHRoZSBmb2xsb3dpbmcgY29tcGlsZSBmYWlsdXJlOgorc3JjL2Jhc2ljL3V0aWwuaDo3MToxODogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdfX2NvbXBhcl9kX2ZuX3QnOyBkaWQgeW91IG1lYW4gJ19fY29tcGFyX2ZuX3QnPworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9iYXNpYy9taXNzaW5nX3R5cGUuaCB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oIGIvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oCitpbmRleCA3ZDdjMWU0Li44NTkwMmFiIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oCisrKysgYi9zcmMvYmFzaWMvbWlzc2luZ190eXBlLmgKK0BAIC0xMyw2ICsxMyw3IEBACisgCisgI2lmbmRlZiBfX0dMSUJDX18KKyB0eXBlZGVmIGludCAoKmNvbXBhcmlzb25fZm5fdCkoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopOworK3R5cGVkZWYgaW50ICgqX19jb21wYXJfZF9mbl90KSAoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICosIHZvaWQgKik7CisgI2VuZGlmCisgCisgI2lmbmRlZiBfX0NPTVBBUl9GTl9UCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjEtSGlkZS1fX3N0YXJ0X0JVU19FUlJPUl9NQVAtYW5kLV9fc3RvcF9CVVNfRVJST1JfTUFQLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMS1IaWRlLV9fc3RhcnRfQlVTX0VSUk9SX01BUC1hbmQtX19zdG9wX0JVU19FUlJPUl9NQVAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2OGYyNzMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMS1IaWRlLV9fc3RhcnRfQlVTX0VSUk9SX01BUC1hbmQtX19zdG9wX0JVU19FUlJPUl9NQVAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1Gcm9tIDY4N2E1YWY4ZGM1ZDM4ZjkxOGE2Y2UwOGZlZDUyOTcyMzRiZjgzNDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyIE1hciAyMDE4IDE4OjAwOjE3IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIEhpZGUgX19zdGFydF9CVVNfRVJST1JfTUFQIGFuZCBfX3N0b3BfQlVTX0VSUk9SX01BUAotCi1mb3IgY3VycmVudGx5IHVua25vd24gcmVhc29ucyB0aGV5IGdldCBleHBvcnRlZCB0byB0aGUgc2hhcmVkIGxpYnJpZXMKLWV2ZW4gd2l0aG91dCBiZWluZyBsaXN0ZWQgaW4gdGhlIHN5bSBmaWxlCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFsgQ29uZGl0aW9uYWwgb24gbWFzdGVyIG5lZWRpbmcgdGhpcywgMjM5IGRvZXMgbmVlZCBpdCBdCi0KLSBzcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWVycm9yLmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jCi1pbmRleCAzNzhmN2EzNzcuLjQ5ZDc5N2FiZCAxMDA2NDQKLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYwotKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jCi1AQCAtNzEsOCArNzEsOCBAQCBCVVNfRVJST1JfTUFQX0VMRl9SRUdJU1RFUiBjb25zdCBzZF9idXNfZXJyb3JfbWFwIGJ1c19zdGFuZGFyZF9lcnJvcnNbXSA9IHsKLSB9OwotIAotIC8qIEdDQyBtYXBzIHRoaXMgbWFnaWNhbGx5IHRvIHRoZSBiZWdpbm5pbmcgYW5kIGVuZCBvZiB0aGUgQlVTX0VSUk9SX01BUCBzZWN0aW9uICovCi0tZXh0ZXJuIGNvbnN0IHNkX2J1c19lcnJvcl9tYXAgX19zdGFydF9CVVNfRVJST1JfTUFQW107Ci0tZXh0ZXJuIGNvbnN0IHNkX2J1c19lcnJvcl9tYXAgX19zdG9wX0JVU19FUlJPUl9NQVBbXTsKLStleHRlcm4gY29uc3Qgc2RfYnVzX2Vycm9yX21hcCBfX3N0YXJ0X0JVU19FUlJPUl9NQVBbXSBfaGlkZGVuXzsKLStleHRlcm4gY29uc3Qgc2RfYnVzX2Vycm9yX21hcCBfX3N0b3BfQlVTX0VSUk9SX01BUFtdIF9oaWRkZW5fOwotIAotIC8qIEFkZGl0aW9uYWwgbWFwcyByZWdpc3RlcmVkIHdpdGggc2RfYnVzX2Vycm9yX2FkZF9tYXAoKSBhcmUgaW4gdGhpcwotICAqIE5VTEwgdGVybWluYXRlZCBhcnJheSAqLwotLS0gCi0yLjE2LjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMS1hdm9pZC1yZWRlZmluaXRpb24tb2YtcHJjdGxfbW1fbWFwLXN0cnVjdHVyZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjEtYXZvaWQtcmVkZWZpbml0aW9uLW9mLXByY3RsX21tX21hcC1zdHJ1Y3R1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYThjNTNjOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjEtYXZvaWQtcmVkZWZpbml0aW9uLW9mLXByY3RsX21tX21hcC1zdHJ1Y3R1cmUucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSAzZmJmNjFkNTRiODJmYzliZjIxZDgwMzliZmQ4OWRjOWVmYzViYmNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxNTo0NDo1NCArMDgwMAorU3ViamVjdDogW1BBVENIIDIxLzI0XSBhdm9pZCByZWRlZmluaXRpb24gb2YgcHJjdGxfbW1fbWFwIHN0cnVjdHVyZQorCitGaXggdGhlIGZvbGxvd2luZyBjb21waWxlIGZhaWx1cmU6CitlcnJvcjogcmVkZWZpbml0aW9uIG9mICdzdHJ1Y3QgcHJjdGxfbW1fbWFwJworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9iYXNpYy9taXNzaW5nX3ByY3RsLmggfCAyICsrCisgc3JjL2Jhc2ljL3V0aWwuaCAgICAgICAgICB8IDMgKystCisgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9taXNzaW5nX3ByY3RsLmggYi9zcmMvYmFzaWMvbWlzc2luZ19wcmN0bC5oCitpbmRleCBmODBjZDE3Li40N2U0ODkzIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL21pc3NpbmdfcHJjdGwuaAorKysrIGIvc3JjL2Jhc2ljL21pc3NpbmdfcHJjdGwuaAorQEAgLTEsNyArMSw5IEBACisgLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xKyAqLworICNwcmFnbWEgb25jZQorIAorKyNpZmRlZiBfX0dMSUJDX18KKyAjaW5jbHVkZSA8bGludXgvcHJjdGwuaD4KKysjZW5kaWYKKyAKKyAvKiA1ODMxOTA1N2I3ODQ3NjY3ZjBjOTU4NWI5ZGUwZTg5MzJiMGZkYjA4ICg0LjMpICovCisgI2lmbmRlZiBQUl9DQVBfQU1CSUVOVAorZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy91dGlsLmggYi9zcmMvYmFzaWMvdXRpbC5oCitpbmRleCAyYzVkYzMyLi5mNzIxMTg0IDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL3V0aWwuaAorKysrIGIvc3JjL2Jhc2ljL3V0aWwuaAorQEAgLTI2LDcgKzI2LDggQEAKKyAjaW5jbHVkZSAiZm9ybWF0LXV0aWwuaCIKKyAjaW5jbHVkZSAibWFjcm8uaCIKKyAjaW5jbHVkZSAidGltZS11dGlsLmgiCistI2luY2x1ZGUgIm1pc3NpbmcuaCIKKysjaW5jbHVkZSAibWlzc2luZ19zdGRsaWIuaCIKKysjaW5jbHVkZSAibWlzc2luZ190eXBlLmgiCisgCisgc2l6ZV90IHBhZ2Vfc2l6ZSh2b2lkKSBfcHVyZV87CisgI2RlZmluZSBQQUdFX0FMSUdOKGwpIEFMSUdOX1RPKChsKSwgcGFnZV9zaXplKCkpCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjItYnVpbGQtc3lzLURldGVjdC13aGV0aGVyLXN0cnVjdC1zdGF0eC1pcy1kZWZpbmVkLWluLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjItYnVpbGQtc3lzLURldGVjdC13aGV0aGVyLXN0cnVjdC1zdGF0eC1pcy1kZWZpbmVkLWluLS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTYyNDYzZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIyLWJ1aWxkLXN5cy1EZXRlY3Qtd2hldGhlci1zdHJ1Y3Qtc3RhdHgtaXMtZGVmaW5lZC1pbi0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDkgKzAsMCBAQAotRnJvbSA3NTcyMGJmZjYyYTg0ODk2ZTlhMDY1NGFmYzdjZjk0MDhjZjg5YTM4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmlsaXBlIEJyYW5kZW5idXJnZXIgPGZpbGJyYW5kZW5AZ29vZ2xlLmNvbT4KLURhdGU6IFN1biwgMTUgSnVsIDIwMTggMjI6NDM6MzUgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gYnVpbGQtc3lzOiBEZXRlY3Qgd2hldGhlciBzdHJ1Y3Qgc3RhdHggaXMgZGVmaW5lZCBpbgotIHN5cy9zdGF0LmgKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotU3RhcnRpbmcgd2l0aCBnbGliYyAyLjI3LjkwMDAtMzYuZmMyOSwgaW5jbHVkZSBmaWxlIHN5cy9zdGF0Lmggd2lsbCBoYXZlIGEKLWRlZmluaXRpb24gZm9yIHN0cnVjdCBzdGF0eCwgaW4gd2hpY2ggY2FzZSBpbmNsdWRlIGZpbGUgbGludXgvc3RhdC5oIHNob3VsZCBiZQotYXZvaWRlZCwgaW4gb3JkZXIgdG8gcHJldmVudCBhIGR1cGxpY2F0ZSBkZWZpbml0aW9uLgotCi0gICAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3NyYy9iYXNpYy9taXNzaW5nLmg6MTgsCi0JCSAgICAgZnJvbSAuLi9zcmMvYmFzaWMvdXRpbC5oOjI4LAotCQkgICAgIGZyb20gLi4vc3JjL2Jhc2ljL2hhc2htYXAuaDoxMCwKLQkJICAgICBmcm9tIC4uL3NyYy9zaGFyZWQvYnVzLXV0aWwuaDoxMiwKLQkJICAgICBmcm9tIC4uL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtY3JlZHMuYzoxMToKLSAgICAvdXNyL2luY2x1ZGUvbGludXgvc3RhdC5oOjk5Ojg6IGVycm9yOiByZWRlZmluaXRpb24gb2Yg4oCYc3RydWN0IHN0YXR44oCZCi0gICAgIHN0cnVjdCBzdGF0eCB7Ci0JICAgIF5+fn5+Ci0gICAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC91c3IvaW5jbHVkZS9zeXMvc3RhdC5oOjQ0NiwKLQkJICAgICBmcm9tIC4uL3NyYy9iYXNpYy91dGlsLmg6MTksCi0JCSAgICAgZnJvbSAuLi9zcmMvYmFzaWMvaGFzaG1hcC5oOjEwLAotCQkgICAgIGZyb20gLi4vc3JjL3NoYXJlZC9idXMtdXRpbC5oOjEyLAotCQkgICAgIGZyb20gLi4vc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1jcmVkcy5jOjExOgotICAgIC91c3IvaW5jbHVkZS9iaXRzL3N0YXR4Lmg6MzY6ODogbm90ZTogb3JpZ2luYWxseSBkZWZpbmVkIGhlcmUKLSAgICAgc3RydWN0IHN0YXR4Ci0JICAgIF5+fn5+Ci0KLUV4dGVuZCBvdXIgbWVzb24uYnVpbGQgdG8gbG9vayBmb3Igc3RydWN0IHN0YXR4IHdoZW4gb25seSBzeXMvc3RhdC5oIGlzCi1pbmNsdWRlZCBhbmQsIGluIHRoYXQgY2FzZSwgZG8gbm90IGluY2x1ZGUgbGludXgvc3RhdC5oIGFueW1vcmUuCi0KLVRlc3RlZCB0aGF0IHN5c3RlbWQgYnVpbGRzIGNvcnJlY3RseSB3aGVuIHVzaW5nIGEgZ2xpYmMgdmVyc2lvbiB0aGF0IGluY2x1ZGVzIGEKLWRlZmluaXRpb24gZm9yIHN0cnVjdCBzdGF0eC4KLQotZ2xpYmMgRmVkb3JhIFJQTSB1cGRhdGU6Ci1odHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dsaWJjL2MvMjhjYjVkMzFmYzFlNTg4NzkxMjI4M2M4ODk2ODljNDcwNzYyNzhhZQotCi1nbGliYyB1cHN0cmVhbSBjb21taXQ6Ci1odHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC8/cD1nbGliYy5naXQ7YT1jb21taXRkaWZmO2g9ZmQ3MGFmNDU1MjhkNTlhMDBlYjMxOTBlZjY3MDZjYjI5OTQ4OGZjZAotLS0tCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotIG1lc29uLmJ1aWxkICAgICAgICAgICAgfCA1ICsrKysrCi0gc3JjL2Jhc2ljL21pc3NpbmcuaCAgICB8IDUgKysrKy0KLSBzcmMvYmFzaWMveGF0dHItdXRpbC5jIHwgMSAtCi0gMyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLUluZGV4OiBnaXQvbWVzb24uYnVpbGQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9tZXNvbi5idWlsZAotKysrIGdpdC9tZXNvbi5idWlsZAotQEAgLTQzMiw2ICs0MzIsNyBAQCBkZWNsX2hlYWRlcnMgPSAnJycKLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSAnJycKLSAjIEZJWE1FOiBrZXlfc2VyaWFsX3QgaXMgb25seSBkZWZpbmVkIGluIGtleXV0aWxzLmgsIHRoaXMgaXMgYm91bmQgdG8gZmFpbAotKyMgRklYTUU6IHRoZXNlIHNob3VsZCB1c2UgLURfR05VX1NPVVJDRSwgc2luY2UgdGhhdCBpcyBkZWZpbmVkIGF0IGJ1aWxkIHRpbWUKLSAKLSBmb3JlYWNoIGRlY2wgOiBbJ2NoYXIxNl90JywKLSAgICAgICAgICAgICAgICAgJ2NoYXIzMl90JywKLUBAIC00NDYsNiArNDQ3LDEwIEBAIGZvcmVhY2ggZGVjbCA6IFsnY2hhcjE2X3QnLAotICAgICAgICAgY29uZi5zZXQxMCgnSEFWRV8nICsgZGVjbC51bmRlcnNjb3JpZnkoKS50b191cHBlcigpLCBoYXZlKQotIGVuZGZvcmVhY2gKLSAKLStjb25mLnNldDEwKCdIQVZFX1NUUlVDVF9TVEFUWF9JTl9TWVNfU1RBVF9IJywgY2Muc2l6ZW9mKCdzdHJ1Y3Qgc3RhdHgnLCBwcmVmaXggOiAnJycKLSsjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSsnJycsIGFyZ3MgOiAnLURfR05VX1NPVVJDRScpID4gMCkKLSsKLSBmb3JlYWNoIGRlY2wgOiBbWydJRkxBX0lORVQ2X0FERFJfR0VOX01PREUnLCAgICAgICAgICdsaW51eC9pZl9saW5rLmgnXSwKLSAgICAgICAgICAgICAgICAgWydJTjZfQUREUl9HRU5fTU9ERV9TVEFCTEVfUFJJVkFDWScsICdsaW51eC9pZl9saW5rLmgnXSwKLSAgICAgICAgICAgICAgICAgWydJRkxBX1ZSRl9UQUJMRScsICAgICAgICAgICAgICAgICAgICdsaW51eC9pZl9saW5rLmgnXSwKLUluZGV4OiBnaXQvc3JjL2Jhc2ljL21pc3NpbmcuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL3NyYy9iYXNpYy9taXNzaW5nLmgKLSsrKyBnaXQvc3JjL2Jhc2ljL21pc3NpbmcuaAotQEAgLTE1LDcgKzE1LDYgQEAKLSAjaW5jbHVkZSA8bGludXgvbmVpZ2hib3VyLmg+Ci0gI2luY2x1ZGUgPGxpbnV4L29vbS5oPgotICNpbmNsdWRlIDxsaW51eC9ydG5ldGxpbmsuaD4KLS0jaW5jbHVkZSA8bGludXgvc3RhdC5oPgotICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSAjaW5jbHVkZSA8c3RkbGliLmg+Ci0gI2luY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgotQEAgLTI1LDYgKzI0LDEwIEBACi0gI2luY2x1ZGUgPHVjaGFyLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotIAotKyNpZiAhSEFWRV9TVFJVQ1RfU1RBVFhfSU5fU1lTX1NUQVRfSAotKyNpbmNsdWRlIDxsaW51eC9zdGF0Lmg+Ci0rI2VuZGlmCi0rCi0gI2lmIEhBVkVfQVVESVQKLSAjaW5jbHVkZSA8bGliYXVkaXQuaD4KLSAjZW5kaWYKLUluZGV4OiBnaXQvc3JjL2Jhc2ljL3hhdHRyLXV0aWwuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL3NyYy9iYXNpYy94YXR0ci11dGlsLmMKLSsrKyBnaXQvc3JjL2Jhc2ljL3hhdHRyLXV0aWwuYwotQEAgLTIsNyArMiw2IEBACi0gCi0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPGZjbnRsLmg+Ci0tI2luY2x1ZGUgPGxpbnV4L3N0YXQuaD4KLSAjaW5jbHVkZSA8c3RkaW50Lmg+Ci0gI2luY2x1ZGUgPHN0ZGxpYi5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjItaW5jbHVkZS1zeXMtd2FpdC5oLXRvLWF2b2lkLWNvbXBpbGUtZmFpbHVyZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjItaW5jbHVkZS1zeXMtd2FpdC5oLXRvLWF2b2lkLWNvbXBpbGUtZmFpbHVyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzIxMmJjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMi1pbmNsdWRlLXN5cy13YWl0LmgtdG8tYXZvaWQtY29tcGlsZS1mYWlsdXJlLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gNmM1MzY0NzM2ZjVhZmQxMTA2YWMyNDBmMDM4MDZhZjUzOTc5Y2M2MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTU6NTY6NTAgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAyMi8yNF0gaW5jbHVkZSBzeXMvd2FpdC5oIHRvIGF2b2lkIGNvbXBpbGUgZmFpbHVyZQorCitGaXggdGhlIGZvbGxvd2luZyBlcnJvcjoKK3NyYy91ZGV2L3VkZXYtZXZlbnQuYzo1ODE6NTM6IGVycm9yOiAnV0VYSVRFRCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ1dJRkVYSVRFRCc/CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL3VkZXYvdWRldi1ldmVudC5jIHwgNCArKystCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3VkZXYvdWRldi1ldmVudC5jIGIvc3JjL3VkZXYvdWRldi1ldmVudC5jCitpbmRleCAwN2I3MzY1Li5lNTMyYmI3IDEwMDY0NAorLS0tIGEvc3JjL3VkZXYvdWRldi1ldmVudC5jCisrKysgYi9zcmMvdWRldi91ZGV2LWV2ZW50LmMKK0BAIC04LDcgKzgsOSBAQAorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CistCisrI2lmbmRlZiBfX0dMSUJDX18KKysjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKysjZW5kaWYKKyAjaW5jbHVkZSAic2QtZXZlbnQuaCIKKyAKKyAjaW5jbHVkZSAiYWxsb2MtdXRpbC5oIgorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIzLXJlc29sdmNvbmYtZml4ZXMtZm9yLXRoZS1jb21wYXRpYmlsaXR5LWludGVyZmFjZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjMtcmVzb2x2Y29uZi1maXhlcy1mb3ItdGhlLWNvbXBhdGliaWxpdHktaW50ZXJmYWNlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjNlNzc2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjMtcmVzb2x2Y29uZi1maXhlcy1mb3ItdGhlLWNvbXBhdGliaWxpdHktaW50ZXJmYWNlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTggKzAsMCBAQAotc3lzdGVtZC0yMzk6IGZpeGVzIGZvciB0aGUgY29tcGF0aWJpbGl0eSBpbnRlcmZhY2UKLQotW05vIHVwc3RyZWFtIHRyYWNraW5nXSAtLSBodHRwczovL2dpdGh1Yi5jb20vc3lzdGVtZC9zeXN0ZW1kL2lzc3Vlcy85NDIzCi0KLXJlc29sdmNvbmYtY29tcGF0OiB1c2UgY29tcGF0X21haW4oKSB3aGVuIGNhbGxlZCBhcyBgcmVzb2x2Y29uZmAsCi1zaW5jZSB0aGUgaW50ZXJmYWNlIGlzIGNsb3NlciB0byB0aGF0IG9mIGBzeXN0ZW1kLXJlc29sdmVgLgotCi1Vc2UgYSBoZWFwIGFsbG9jYXRlZCBzdHJpbmcgdG8gc2V0IGFyZ19pZm5hbWUsIHNpbmNlIGEgc3RhY2sgYWxsb2NhdGVkCi1vbmUgd291bGQgYmUgbG9zdCBhZnRlciB0aGUgZnVuY3Rpb24gcmV0dXJucy4gKFRoaXMgbGFzdCBvbmUgYnJva2UgdGhlCi1jYXNlIHdoZXJlIGFuIGludGVyZmFjZSBuYW1lIHdhcyBzdWZmaXhlZCB3aXRoIGEgZG90LCBzdWNoIGFzIGluCi1gcmVzb2x2Y29uZiAtYSB0YXAwLmRoY3BgLikKLQotVGVzdGVkOgotICAkIGJ1aWxkL3Jlc29sdmNvbmYgLWEgbm9uZXhpc3RlbnQuYWJjIDwvZXRjL3Jlc29sdi5jb25mCi0gIFVua25vd24gaW50ZXJmYWNlICdub25leGlzdGVudCc6IE5vIHN1Y2ggZGV2aWNlCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9zeXN0ZW1kL3N5c3RlbWQvY29tbWl0LzVhMDFiM2YzNWQ3YjYxODJjNzhiNjk3M2RiOGQ5OWJkYWJkNGY5YzNdCi1idWc6IDk0MjMKLVNpZ25lZC1vZmYtYnk6IFNpbW9uIEF1c3NlcmxlY2huZXIgPHNpbW9uLmF1c3NlcmxlY2huZXJAc2llbWVucy5jb20+Ci0KLWRpZmYgLS1naXQgYS9zcmMvcmVzb2x2ZS9yZXNvbHZjb25mLWNvbXBhdC5jIGIvc3JjL3Jlc29sdmUvcmVzb2x2Y29uZi1jb21wYXQuYwotaW5kZXggZDdlNjgwMDNlLi4wNzIzNDU4OTQgMTAwNjQ0Ci0tLS0gYS9zcmMvcmVzb2x2ZS9yZXNvbHZjb25mLWNvbXBhdC5jCi0rKysgYi9zcmMvcmVzb2x2ZS9yZXNvbHZjb25mLWNvbXBhdC5jCi1AQCAtNTMsNiArNTMsOCBAQCBzdGF0aWMgaW50IHBhcnNlX25hbWVzZXJ2ZXIoY29uc3QgY2hhciAqc3RyaW5nKSB7Ci0gCi0gICAgICAgICAgICAgICAgIGlmIChzdHJ2X3B1c2goJmFyZ19zZXRfZG5zLCB3b3JkKSA8IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19vb20oKTsKLSsKLSsgICAgICAgICAgICAgICAgd29yZCA9IE5VTEw7Ci0gICAgICAgICB9Ci0gCi0gICAgICAgICByZXR1cm4gMDsKLUBAIC0yMDIsNyArMjA0LDcgQEAgaW50IHJlc29sdmNvbmZfcGFyc2VfYXJndihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7Ci0gCi0gICAgICAgICBkb3QgPSBzdHJjaHIoYXJndltvcHRpbmRdLCAnLicpOwotICAgICAgICAgaWYgKGRvdCkgewotLSAgICAgICAgICAgICAgICBpZmFjZSA9IHN0cm5kdXBhKGFyZ3Zbb3B0aW5kXSwgZG90IC0gYXJndltvcHRpbmRdKTsKLSsgICAgICAgICAgICAgICAgaWZhY2UgPSBzdHJuZHVwKGFyZ3Zbb3B0aW5kXSwgZG90IC0gYXJndltvcHRpbmRdKTsKLSAgICAgICAgICAgICAgICAgbG9nX2RlYnVnKCJJZ25vcmluZyBwcm90b2NvbCBzcGVjaWZpZXIgJyVzJy4iLCBkb3QgKyAxKTsKLSAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICBpZmFjZSA9IGFyZ3Zbb3B0aW5kXTsKLWRpZmYgLS1naXQgYS9zcmMvcmVzb2x2ZS9yZXNvbHZlY3RsLmMgYi9zcmMvcmVzb2x2ZS9yZXNvbHZlY3RsLmMKLWluZGV4IGU5NmMxM2ZlYS4uZTllMzk1ZTNlIDEwMDY0NAotLS0tIGEvc3JjL3Jlc29sdmUvcmVzb2x2ZWN0bC5jCi0rKysgYi9zcmMvcmVzb2x2ZS9yZXNvbHZlY3RsLmMKLUBAIC0zMDkyLDcgKzMwOTIsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKLSAgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7Ci0gICAgICAgICB9Ci0gCi0tICAgICAgICBpZiAoc3RyZXEocHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUsICJzeXN0ZW1kLXJlc29sdmUiKSkKLSsgICAgICAgIGlmIChTVFJfSU5fU0VUKHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLCAic3lzdGVtZC1yZXNvbHZlIiwgInJlc29sdmNvbmYiKSkKLSAgICAgICAgICAgICAgICAgciA9IGNvbXBhdF9tYWluKGFyZ2MsIGFyZ3YsIGJ1cyk7Ci0gICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgIHIgPSBuYXRpdmVfbWFpbihhcmdjLCBhcmd2LCBidXMpOwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMy1zb2NrZXQtdXRpbC5oLWluY2x1ZGUtc3RyaW5nLmgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIzLXNvY2tldC11dGlsLmgtaW5jbHVkZS1zdHJpbmcuaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjE4NmI4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMy1zb2NrZXQtdXRpbC5oLWluY2x1ZGUtc3RyaW5nLmgucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSA5M2U2YjgxYjcyMWQ5ZWI5NjZhMjU3YmZkZjdkZjZlODI4MGI4ODVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxNjozNzoxOSArMDgwMAorU3ViamVjdDogW1BBVENIIDIzLzI0XSBzb2NrZXQtdXRpbC5oOiBpbmNsdWRlIHN0cmluZy5oCisKK0ZpeCB0aGUgZm9sbG93aW5nIGNvbXBpbGUgZXJyb3I6CitzcmMvYmFzaWMvc29ja2V0LXV0aWwuaDoxODc6MzA6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnc3Rybmxlbic7IGRpZCB5b3UgbWVhbiAnc3RybGVuJz8gWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvc29ja2V0LXV0aWwuaCB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmggYi9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaAoraW5kZXggNTc0ZDJiNy4uMDk3YWE0ZCAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5oCisrKysgYi9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaAorQEAgLTEyLDYgKzEyLDcgQEAKKyAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3VuLmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorIAorICNpbmNsdWRlICJtYWNyby5oIgorICNpbmNsdWRlICJtaXNzaW5nX3NvY2tldC5oIgorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDI0LWpvdXJuYWxkLWRvLW5vdC1zdG9yZS10aGUtaW92ZWMtZW50cnktZm9yLXByb2Nlc3MtY28ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDI0LWpvdXJuYWxkLWRvLW5vdC1zdG9yZS10aGUtaW92ZWMtZW50cnktZm9yLXByb2Nlc3MtY28ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyZjc4YmUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNC1qb3VybmFsZC1kby1ub3Qtc3RvcmUtdGhlLWlvdmVjLWVudHJ5LWZvci1wcm9jZXNzLWNvLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjA4ICswLDAgQEAKLUZyb20gOWNiMDdlN2Q4MmM3YzRmMjhiYmFhMTQ3OGUxMzg3ZThlYTNkMDNkZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9aYmlnbmlldz0yMEo9QzQ9OTlkcnplamV3c2tpLVN6bWVrPz0gPHpieXN6ZWtAaW4ud2F3LnBsPgotRGF0ZTogV2VkLCA1IERlYyAyMDE4IDE4OjM4OjM5ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGpvdXJuYWxkOiBkbyBub3Qgc3RvcmUgdGhlIGlvdmVjIGVudHJ5IGZvciBwcm9jZXNzCi0gY29tbWFuZGxpbmUgb24gc3RhY2sKLQotVGhpcyBmaXhlcyBhIGNyYXNoIHdoZXJlIHdlIHdvdWxkIHJlYWQgdGhlIGNvbW1hbmRsaW5lLCB3aG9zZSBsZW5ndGggaXMgdW5kZXIKLWNvbnRyb2wgb2YgdGhlIHNlbmRpbmcgcHJvZ3JhbSwgYW5kIHRoZW4gY3Jhc2ggd2hlbiB0cnlpbmcgdG8gY3JlYXRlIGEgc3RhY2sKLWFsbG9jYXRpb24gZm9yIGl0LgotCi1DVkUtMjAxOC0xNjg2NAotaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xNjUzODU1Ci0KLVRoZSBtZXNzYWdlIGFjdHVhbGx5IGRvZXNuJ3QgZ2V0IHdyaXR0ZW4gdG8gZGlzaywgYmVjYXVzZQotam91cm5hbF9maWxlX2FwcGVuZF9lbnRyeSgpIHJldHVybnMgLUUyQklHLgotCi1QYXRjaCBiYWNrcG9ydGVkIGZyb20gc3lzdGVtZCBtYXN0ZXIgYXQKLTA4NGVlYjg2NWNhNjM4ODcwOThlMDk0NWZiNGU5M2M4NTJiOTFiMGYuCi0KLUNWRTogQ1ZFLTIwMTgtMTY4NjQKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IE1hcmN1cyBDb29wZXIgPG1hcmN1c2NAYXhpcy5jb20+Ci0tLS0KLSBzcmMvYmFzaWMvaW8tdXRpbC5jICAgICAgICAgICB8IDEwICsrKysrKysrKysKLSBzcmMvYmFzaWMvaW8tdXRpbC5oICAgICAgICAgICB8ICAyICsrCi0gc3JjL2NvcmVkdW1wL2NvcmVkdW1wLmMgICAgICAgfCAzMSArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gc3JjL2pvdXJuYWwvam91cm5hbGQtc2VydmVyLmMgfCAyNSArKysrKysrKysrKysrKystLS0tLS0tLS0tCi0gNCBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9pby11dGlsLmMgYi9zcmMvYmFzaWMvaW8tdXRpbC5jCi1pbmRleCAxZjY0Y2M5MzNiLi41NzUzOThmYmU2IDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL2lvLXV0aWwuYwotKysrIGIvc3JjL2Jhc2ljL2lvLXV0aWwuYwotQEAgLTgsNiArOCw3IEBACi0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotIAotICNpbmNsdWRlICJpby11dGlsLmgiCi0rI2luY2x1ZGUgInN0cmluZy11dGlsLmgiCi0gI2luY2x1ZGUgInRpbWUtdXRpbC5oIgotIAotIGludCBmbHVzaF9mZChpbnQgZmQpIHsKLUBAIC0yNTIsMyArMjUzLDEyIEBAIHNzaXplX3Qgc3BhcnNlX3dyaXRlKGludCBmZCwgY29uc3Qgdm9pZCAqcCwgc2l6ZV90IHN6LCBzaXplX3QgcnVuX2xlbmd0aCkgewotIAotICAgICAgICAgcmV0dXJuIHEgLSAoY29uc3QgdWludDhfdCopIHA7Ci0gfQotKwotK2NoYXIqIHNldF9pb3ZlY19zdHJpbmdfZmllbGQoc3RydWN0IGlvdmVjICppb3ZlYywgc2l6ZV90ICpuX2lvdmVjLCBjb25zdCBjaGFyICpmaWVsZCwgY29uc3QgY2hhciAqdmFsdWUpIHsKLSsgICAgICAgIGNoYXIgKng7Ci0rCi0rICAgICAgICB4ID0gc3RyYXBwZW5kKGZpZWxkLCB2YWx1ZSk7Ci0rICAgICAgICBpZiAoeCkKLSsgICAgICAgICAgICAgICAgaW92ZWNbKCpuX2lvdmVjKSsrXSA9IElPVkVDX01BS0VfU1RSSU5HKHgpOwotKyAgICAgICAgcmV0dXJuIHg7Ci0rfQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9pby11dGlsLmggYi9zcmMvYmFzaWMvaW8tdXRpbC5oCi1pbmRleCBlZDE4OWI1ODIwLi43OTJhNjRhZDVlIDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL2lvLXV0aWwuaAotKysrIGIvc3JjL2Jhc2ljL2lvLXV0aWwuaAotQEAgLTcxLDMgKzcxLDUgQEAgc3RhdGljIGlubGluZSBib29sIEZJTEVfU0laRV9WQUxJRF9PUl9JTkZJTklUWSh1aW50NjRfdCBsKSB7Ci0gI2RlZmluZSBJT1ZFQ19NQUtFKGJhc2UsIGxlbikgKHN0cnVjdCBpb3ZlYykgSU9WRUNfSU5JVChiYXNlLCBsZW4pCi0gI2RlZmluZSBJT1ZFQ19JTklUX1NUUklORyhzdHJpbmcpIElPVkVDX0lOSVQoKGNoYXIqKSBzdHJpbmcsIHN0cmxlbihzdHJpbmcpKQotICNkZWZpbmUgSU9WRUNfTUFLRV9TVFJJTkcoc3RyaW5nKSAoc3RydWN0IGlvdmVjKSBJT1ZFQ19JTklUX1NUUklORyhzdHJpbmcpCi0rCi0rY2hhciogc2V0X2lvdmVjX3N0cmluZ19maWVsZChzdHJ1Y3QgaW92ZWMgKmlvdmVjLCBzaXplX3QgKm5faW92ZWMsIGNvbnN0IGNoYXIgKmZpZWxkLCBjb25zdCBjaGFyICp2YWx1ZSk7Ci1kaWZmIC0tZ2l0IGEvc3JjL2NvcmVkdW1wL2NvcmVkdW1wLmMgYi9zcmMvY29yZWR1bXAvY29yZWR1bXAuYwotaW5kZXggMjBhMWNiZGQ0NS4uMThlNGY2MWQ3MiAxMDA2NDQKLS0tLSBhL3NyYy9jb3JlZHVtcC9jb3JlZHVtcC5jCi0rKysgYi9zcmMvY29yZWR1bXAvY29yZWR1bXAuYwotQEAgLTEwNTMsMTkgKzEwNTMsMTAgQEAgc3RhdGljIGludCBzZW5kX2lvdmVjKGNvbnN0IHN0cnVjdCBpb3ZlYyBpb3ZlY1tdLCBzaXplX3Qgbl9pb3ZlYywgaW50IGlucHV0X2ZkKQotICAgICAgICAgcmV0dXJuIDA7Ci0gfQotIAotLXN0YXRpYyBjaGFyKiBzZXRfaW92ZWNfZmllbGQoc3RydWN0IGlvdmVjICppb3ZlYywgc2l6ZV90ICpuX2lvdmVjLCBjb25zdCBjaGFyICpmaWVsZCwgY29uc3QgY2hhciAqdmFsdWUpIHsKLS0gICAgICAgIGNoYXIgKng7Ci0tCi0tICAgICAgICB4ID0gc3RyYXBwZW5kKGZpZWxkLCB2YWx1ZSk7Ci0tICAgICAgICBpZiAoeCkKLS0gICAgICAgICAgICAgICAgaW92ZWNbKCpuX2lvdmVjKSsrXSA9IElPVkVDX01BS0VfU1RSSU5HKHgpOwotLSAgICAgICAgcmV0dXJuIHg7Ci0tfQotLQotIHN0YXRpYyBjaGFyKiBzZXRfaW92ZWNfZmllbGRfZnJlZShzdHJ1Y3QgaW92ZWMgKmlvdmVjLCBzaXplX3QgKm5faW92ZWMsIGNvbnN0IGNoYXIgKmZpZWxkLCBjaGFyICp2YWx1ZSkgewotICAgICAgICAgY2hhciAqeDsKLSAKLS0gICAgICAgIHggPSBzZXRfaW92ZWNfZmllbGQoaW92ZWMsIG5faW92ZWMsIGZpZWxkLCB2YWx1ZSk7Ci0rICAgICAgICB4ID0gc2V0X2lvdmVjX3N0cmluZ19maWVsZChpb3ZlYywgbl9pb3ZlYywgZmllbGQsIHZhbHVlKTsKLSAgICAgICAgIGZyZWUodmFsdWUpOwotICAgICAgICAgcmV0dXJuIHg7Ci0gfQotQEAgLTExMTUsMzYgKzExMDYsMzYgQEAgc3RhdGljIGludCBnYXRoZXJfcGlkX21ldGFkYXRhKAotICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVfY29yZWR1bXBzKCk7Ci0gICAgICAgICAgICAgICAgIH0KLSAKLS0gICAgICAgICAgICAgICAgc2V0X2lvdmVjX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfVU5JVD0iLCBjb250ZXh0W0NPTlRFWFRfVU5JVF0pOwotKyAgICAgICAgICAgICAgICBzZXRfaW92ZWNfc3RyaW5nX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfVU5JVD0iLCBjb250ZXh0W0NPTlRFWFRfVU5JVF0pOwotICAgICAgICAgfQotIAotICAgICAgICAgaWYgKGNnX3BpZF9nZXRfdXNlcl91bml0KHBpZCwgJnQpID49IDApCi0gICAgICAgICAgICAgICAgIHNldF9pb3ZlY19maWVsZF9mcmVlKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfVVNFUl9VTklUPSIsIHQpOwotIAotICAgICAgICAgLyogVGhlIG5leHQgZmV3IGFyZSBtYW5kYXRvcnkgKi8KLS0gICAgICAgIGlmICghc2V0X2lvdmVjX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfUElEPSIsIGNvbnRleHRbQ09OVEVYVF9QSURdKSkKLSsgICAgICAgIGlmICghc2V0X2lvdmVjX3N0cmluZ19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1BJRD0iLCBjb250ZXh0W0NPTlRFWFRfUElEXSkpCi0gICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7Ci0gCi0tICAgICAgICBpZiAoIXNldF9pb3ZlY19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1VJRD0iLCBjb250ZXh0W0NPTlRFWFRfVUlEXSkpCi0rICAgICAgICBpZiAoIXNldF9pb3ZlY19zdHJpbmdfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9VSUQ9IiwgY29udGV4dFtDT05URVhUX1VJRF0pKQotICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOwotIAotLSAgICAgICAgaWYgKCFzZXRfaW92ZWNfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9HSUQ9IiwgY29udGV4dFtDT05URVhUX0dJRF0pKQotKyAgICAgICAgaWYgKCFzZXRfaW92ZWNfc3RyaW5nX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfR0lEPSIsIGNvbnRleHRbQ09OVEVYVF9HSURdKSkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19vb20oKTsKLSAKLS0gICAgICAgIGlmICghc2V0X2lvdmVjX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfU0lHTkFMPSIsIGNvbnRleHRbQ09OVEVYVF9TSUdOQUxdKSkKLSsgICAgICAgIGlmICghc2V0X2lvdmVjX3N0cmluZ19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1NJR05BTD0iLCBjb250ZXh0W0NPTlRFWFRfU0lHTkFMXSkpCi0gICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7Ci0gCi0tICAgICAgICBpZiAoIXNldF9pb3ZlY19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1JMSU1JVD0iLCBjb250ZXh0W0NPTlRFWFRfUkxJTUlUXSkpCi0rICAgICAgICBpZiAoIXNldF9pb3ZlY19zdHJpbmdfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9STElNSVQ9IiwgY29udGV4dFtDT05URVhUX1JMSU1JVF0pKQotICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOwotIAotLSAgICAgICAgaWYgKCFzZXRfaW92ZWNfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9IT1NUTkFNRT0iLCBjb250ZXh0W0NPTlRFWFRfSE9TVE5BTUVdKSkKLSsgICAgICAgIGlmICghc2V0X2lvdmVjX3N0cmluZ19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX0hPU1ROQU1FPSIsIGNvbnRleHRbQ09OVEVYVF9IT1NUTkFNRV0pKQotICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOwotIAotLSAgICAgICAgaWYgKCFzZXRfaW92ZWNfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9DT01NPSIsIGNvbnRleHRbQ09OVEVYVF9DT01NXSkpCi0rICAgICAgICBpZiAoIXNldF9pb3ZlY19zdHJpbmdfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9DT01NPSIsIGNvbnRleHRbQ09OVEVYVF9DT01NXSkpCi0gICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7Ci0gCi0gICAgICAgICBpZiAoY29udGV4dFtDT05URVhUX0VYRV0gJiYKLS0gICAgICAgICAgICAhc2V0X2lvdmVjX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfRVhFPSIsIGNvbnRleHRbQ09OVEVYVF9FWEVdKSkKLSsgICAgICAgICAgICAhc2V0X2lvdmVjX3N0cmluZ19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX0VYRT0iLCBjb250ZXh0W0NPTlRFWFRfRVhFXSkpCi0gICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7Ci0gCi0gICAgICAgICBpZiAoc2RfcGlkX2dldF9zZXNzaW9uKHBpZCwgJnQpID49IDApCi1AQCAtMTIxMiw3ICsxMjAzLDcgQEAgc3RhdGljIGludCBnYXRoZXJfcGlkX21ldGFkYXRhKAotICAgICAgICAgICAgICAgICBpb3ZlY1soKm5faW92ZWMpKytdID0gSU9WRUNfTUFLRV9TVFJJTkcodCk7Ci0gCi0gICAgICAgICBpZiAoc2FmZV9hdG9pKGNvbnRleHRbQ09OVEVYVF9TSUdOQUxdLCAmc2lnbm8pID49IDAgJiYgU0lHTkFMX1ZBTElEKHNpZ25vKSkKLS0gICAgICAgICAgICAgICAgc2V0X2lvdmVjX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfU0lHTkFMX05BTUU9U0lHIiwgc2lnbmFsX3RvX3N0cmluZyhzaWdubykpOwotKyAgICAgICAgICAgICAgICBzZXRfaW92ZWNfc3RyaW5nX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfU0lHTkFMX05BTUU9U0lHIiwgc2lnbmFsX3RvX3N0cmluZyhzaWdubykpOwotIAotICAgICAgICAgcmV0dXJuIDA7IC8qIHdlIHN1Y2Nlc3NmdWxseSBhY3F1aXJlZCBhbGwgbWV0YWRhdGEgKi8KLSB9Ci1kaWZmIC0tZ2l0IGEvc3JjL2pvdXJuYWwvam91cm5hbGQtc2VydmVyLmMgYi9zcmMvam91cm5hbC9qb3VybmFsZC1zZXJ2ZXIuYwotaW5kZXggNGYxNTUwZWM1Yi4uMzFiZTA4NWM2YiAxMDA2NDQKLS0tLSBhL3NyYy9qb3VybmFsL2pvdXJuYWxkLXNlcnZlci5jCi0rKysgYi9zcmMvam91cm5hbC9qb3VybmFsZC1zZXJ2ZXIuYwotQEAgLTc1Myw2ICs3NTMsNyBAQCBzdGF0aWMgdm9pZCBkaXNwYXRjaF9tZXNzYWdlX3JlYWwoCi0gICAgICAgICAgICAgICAgIHBpZF90IG9iamVjdF9waWQpIHsKLSAKLSAgICAgICAgIGNoYXIgc291cmNlX3RpbWVbc2l6ZW9mKCJfU09VUkNFX1JFQUxUSU1FX1RJTUVTVEFNUD0iKSArIERFQ0lNQUxfU1RSX01BWCh1c2VjX3QpXTsKLSsgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKmNtZGxpbmUxID0gTlVMTCwgKmNtZGxpbmUyID0gTlVMTDsKLSAgICAgICAgIHVpZF90IGpvdXJuYWxfdWlkOwotICAgICAgICAgQ2xpZW50Q29udGV4dCAqbzsKLSAKLUBAIC03NjksMjAgKzc3MCwyMyBAQCBzdGF0aWMgdm9pZCBkaXNwYXRjaF9tZXNzYWdlX3JlYWwoCi0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9OVU1FUklDX0ZJRUxEKGlvdmVjLCBuLCBjLT51aWQsIHVpZF90LCB1aWRfaXNfdmFsaWQsIFVJRF9GTVQsICJfVUlEIik7Ci0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9OVU1FUklDX0ZJRUxEKGlvdmVjLCBuLCBjLT5naWQsIGdpZF90LCBnaWRfaXNfdmFsaWQsIEdJRF9GTVQsICJfR0lEIik7Ci0gCi0tICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIGMtPmNvbW0sICJfQ09NTSIpOwotLSAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBjLT5leGUsICJfRVhFIik7Ci0tICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIGMtPmNtZGxpbmUsICJfQ01ETElORSIpOwotLSAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBjLT5jYXBlZmYsICJfQ0FQX0VGRkVDVElWRSIpOwotKyAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBjLT5jb21tLCAiX0NPTU0iKTsgLyogQXQgbW9zdCBUQVNLX0NPTU1fTEVOR1RIICgxNiBieXRlcykgKi8KLSsgICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+ZXhlLCAiX0VYRSIpOyAvKiBBIHBhdGgsIHNvIGF0IG1vc3QgUEFUSF9NQVggKDQwOTYgYnl0ZXMpICovCi0gCi0tICAgICAgICAgICAgICAgIElPVkVDX0FERF9TSVpFRF9GSUVMRChpb3ZlYywgbiwgYy0+bGFiZWwsIGMtPmxhYmVsX3NpemUsICJfU0VMSU5VWF9DT05URVhUIik7Ci0rICAgICAgICAgICAgICAgIGlmIChjLT5jbWRsaW5lKQotKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIEF0IG1vc3QgX1NDX0FSR19NQVggKDJNQiB1c3VhbGx5KSwgd2hpY2ggaXMgdG9vIG11Y2ggdG8gcHV0IG9uIHN0YWNrLgotKyAgICAgICAgICAgICAgICAgICAgICAgICAqIExldCdzIHVzZSBhIGhlYXAgYWxsb2NhdGlvbiBmb3IgdGhpcyBvbmUuICovCi0rICAgICAgICAgICAgICAgICAgICAgICAgY21kbGluZTEgPSBzZXRfaW92ZWNfc3RyaW5nX2ZpZWxkKGlvdmVjLCAmbiwgIl9DTURMSU5FPSIsIGMtPmNtZGxpbmUpOwotIAotKyAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBjLT5jYXBlZmYsICJfQ0FQX0VGRkVDVElWRSIpOyAvKiBSZWFkIGZyb20gL3Byb2MvLi4uL3N0YXR1cyAqLwotKyAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU0laRURfRklFTEQoaW92ZWMsIG4sIGMtPmxhYmVsLCBjLT5sYWJlbF9zaXplLCAiX1NFTElOVVhfQ09OVEVYVCIpOwotICAgICAgICAgICAgICAgICBJT1ZFQ19BRERfTlVNRVJJQ19GSUVMRChpb3ZlYywgbiwgYy0+YXVkaXRpZCwgdWludDMyX3QsIGF1ZGl0X3Nlc3Npb25faXNfdmFsaWQsICIlIiBQUkl1MzIsICJfQVVESVRfU0VTU0lPTiIpOwotICAgICAgICAgICAgICAgICBJT1ZFQ19BRERfTlVNRVJJQ19GSUVMRChpb3ZlYywgbiwgYy0+bG9naW51aWQsIHVpZF90LCB1aWRfaXNfdmFsaWQsIFVJRF9GTVQsICJfQVVESVRfTE9HSU5VSUQiKTsKLSAKLS0gICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+Y2dyb3VwLCAiX1NZU1RFTURfQ0dST1VQIik7Ci0rICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIGMtPmNncm91cCwgIl9TWVNURU1EX0NHUk9VUCIpOyAvKiBBIHBhdGggKi8KLSAgICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+c2Vzc2lvbiwgIl9TWVNURU1EX1NFU1NJT04iKTsKLSAgICAgICAgICAgICAgICAgSU9WRUNfQUREX05VTUVSSUNfRklFTEQoaW92ZWMsIG4sIGMtPm93bmVyX3VpZCwgdWlkX3QsIHVpZF9pc192YWxpZCwgVUlEX0ZNVCwgIl9TWVNURU1EX09XTkVSX1VJRCIpOwotLSAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBjLT51bml0LCAiX1NZU1RFTURfVU5JVCIpOwotKyAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBjLT51bml0LCAiX1NZU1RFTURfVU5JVCIpOyAvKiBVbml0IG5hbWVzIGFyZSBib3VuZGVkIGJ5IFVOSVRfTkFNRV9NQVggKi8KLSAgICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+dXNlcl91bml0LCAiX1NZU1RFTURfVVNFUl9VTklUIik7Ci0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIGMtPnNsaWNlLCAiX1NZU1RFTURfU0xJQ0UiKTsKLSAgICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+dXNlcl9zbGljZSwgIl9TWVNURU1EX1VTRVJfU0xJQ0UiKTsKLUBAIC04MDMsMTMgKzgwNywxNCBAQCBzdGF0aWMgdm9pZCBkaXNwYXRjaF9tZXNzYWdlX3JlYWwoCi0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9OVU1FUklDX0ZJRUxEKGlvdmVjLCBuLCBvLT51aWQsIHVpZF90LCB1aWRfaXNfdmFsaWQsIFVJRF9GTVQsICJPQkpFQ1RfVUlEIik7Ci0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9OVU1FUklDX0ZJRUxEKGlvdmVjLCBuLCBvLT5naWQsIGdpZF90LCBnaWRfaXNfdmFsaWQsIEdJRF9GTVQsICJPQkpFQ1RfR0lEIik7Ci0gCi0rICAgICAgICAgICAgICAgIC8qIFNlZSBhYm92ZSBmb3Igc2l6ZSBsaW1pdHMsIG9ubHkgLT5jbWRsaW5lIG1heSBiZSBsYXJnZSwgc28gdXNlIGEgaGVhcCBhbGxvY2F0aW9uIGZvciBpdC4gKi8KLSAgICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgby0+Y29tbSwgIk9CSkVDVF9DT01NIik7Ci0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIG8tPmV4ZSwgIk9CSkVDVF9FWEUiKTsKLS0gICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgby0+Y21kbGluZSwgIk9CSkVDVF9DTURMSU5FIik7Ci0tICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIG8tPmNhcGVmZiwgIk9CSkVDVF9DQVBfRUZGRUNUSVZFIik7Ci0rICAgICAgICAgICAgICAgIGlmIChvLT5jbWRsaW5lKQotKyAgICAgICAgICAgICAgICAgICAgICAgIGNtZGxpbmUyID0gc2V0X2lvdmVjX3N0cmluZ19maWVsZChpb3ZlYywgJm4sICJPQkpFQ1RfQ01ETElORT0iLCBvLT5jbWRsaW5lKTsKLSAKLSsgICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgby0+Y2FwZWZmLCAiT0JKRUNUX0NBUF9FRkZFQ1RJVkUiKTsKLSAgICAgICAgICAgICAgICAgSU9WRUNfQUREX1NJWkVEX0ZJRUxEKGlvdmVjLCBuLCBvLT5sYWJlbCwgby0+bGFiZWxfc2l6ZSwgIk9CSkVDVF9TRUxJTlVYX0NPTlRFWFQiKTsKLS0KLSAgICAgICAgICAgICAgICAgSU9WRUNfQUREX05VTUVSSUNfRklFTEQoaW92ZWMsIG4sIG8tPmF1ZGl0aWQsIHVpbnQzMl90LCBhdWRpdF9zZXNzaW9uX2lzX3ZhbGlkLCAiJSIgUFJJdTMyLCAiT0JKRUNUX0FVRElUX1NFU1NJT04iKTsKLSAgICAgICAgICAgICAgICAgSU9WRUNfQUREX05VTUVSSUNfRklFTEQoaW92ZWMsIG4sIG8tPmxvZ2ludWlkLCB1aWRfdCwgdWlkX2lzX3ZhbGlkLCBVSURfRk1ULCAiT0JKRUNUX0FVRElUX0xPR0lOVUlEIik7Ci0gCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDI0LXRlc3QtanNvbi5jLWRlZmluZS1NX1BJbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjQtdGVzdC1qc29uLmMtZGVmaW5lLU1fUElsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyYWUyYmIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDI0LXRlc3QtanNvbi5jLWRlZmluZS1NX1BJbC5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDkwMjQxMmMyNzFlMGM1ZDljYjkzYjEwZWMwZmI1YjExOWIzOTM0NzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDE2OjUzOjA2ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMjQvMjRdIHRlc3QtanNvbi5jOiBkZWZpbmUgTV9QSWwKKworRml4IHRoZSBmb2xsb3dpbmcgY29tcGlsZSBmYWlsdXJlOgorc3JjL3Rlc3QvdGVzdC1qc29uLmM6MzA1OjUwOiBlcnJvcjogJ01fUElsJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnTV9QSSc/CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL3Rlc3QvdGVzdC1qc29uLmMgfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvdGVzdC90ZXN0LWpzb24uYyBiL3NyYy90ZXN0L3Rlc3QtanNvbi5jCitpbmRleCBmZGYxYjRmLi5mYTU0MWY4IDEwMDY0NAorLS0tIGEvc3JjL3Rlc3QvdGVzdC1qc29uLmMKKysrKyBiL3NyYy90ZXN0L3Rlc3QtanNvbi5jCitAQCAtMTAsNiArMTAsMTAgQEAKKyAjaW5jbHVkZSAic3Rydi5oIgorICNpbmNsdWRlICJ1dGlsLmgiCisgCisrI2lmbmRlZiBNX1BJbAorKyNkZWZpbmUgTV9QSWwgMy4xNDE1OTI2NTM1ODk3OTMyMzg0NjI2NDMzODMyNzk1MDI4ODRMCisrI2VuZGlmCisrCisgc3RhdGljIHZvaWQgdGVzdF90b2tlbml6ZXIoY29uc3QgY2hhciAqZGF0YSwgLi4uKSB7CisgICAgICAgICB1bnNpZ25lZCBsaW5lID0gMCwgY29sdW1uID0gMDsKKyAgICAgICAgIHZvaWQgKnN0YXRlID0gTlVMTDsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNS1qb3VybmFsZC1zZXQtYS1saW1pdC1vbi10aGUtbnVtYmVyLW9mLWZpZWxkcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjUtam91cm5hbGQtc2V0LWEtbGltaXQtb24tdGhlLW51bWJlci1vZi1maWVsZHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlOWVmNWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNS1qb3VybmFsZC1zZXQtYS1saW1pdC1vbi10aGUtbnVtYmVyLW9mLWZpZWxkcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEzOSArMCwwIEBACi1Gcm9tIDdjYWQwNDRiNzI0MDZjYmFkZjA0OGRhNDMyYzI5YWZlYTc0YzNjMTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/WmJpZ25pZXc9MjBKPUM0PTk5ZHJ6ZWpld3NraS1Tem1laz89IDx6YnlzemVrQGluLndhdy5wbD4KLURhdGU6IFdlZCwgNSBEZWMgMjAxOCAyMjo0NTowMiArMDEwMAotU3ViamVjdDogW1BBVENIXSBqb3VybmFsZDogc2V0IGEgbGltaXQgb24gdGhlIG51bWJlciBvZiBmaWVsZHMKLQotVGhlIGZpeCBmb3IgQ1ZFLTIwMTgtMTY4NjUgaXMgcGx1Y2tlZCBmcm9tIHR3byBjb21taXRzIHRoYXQgaGF2ZQotYmVlbiBwdXNoZWQgdG8gc3lzdGVtZCBtYXN0ZXIuCi0KLWpvdXJuYWxkOiBzZXQgYSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIGZpZWxkcyAoMWspCi0KLVdlIGFsbG9jYXRlIGEgaW92ZWMgZW50cnkgZm9yIGVhY2ggZmllbGQsIHNvIHdpdGggbWFueSBzaG9ydCBlbnRyaWVzLAotb3VyIG1lbW9yeSB1c2FnZSBhbmQgcHJvY2Vzc2luZyB0aW1lIGNhbiBiZSBsYXJnZSwgZXZlbiB3aXRoIGEgcmVsYXRpdmVseQotc21hbGwgbWVzc2FnZSBzaXplLiBMZXQncyByZWZ1c2Ugb3Zlcmx5IGxvbmcgZW50cmllcy4KLQotQ1ZFLTIwMTgtMTY4NjUKLWh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTY1Mzg2MQotCi1XaGF0IGZyb20gSSBjYW4gc2VlLCB0aGUgcHJvYmxlbSBpcyBub3QgZnJvbSBhbiBhbGxvY2EsIGRlc3BpdGUgd2hhdCB0aGUgQ1ZFCi1kZXNjcmlwdGlvbiBzYXlzLCBidXQgZnJvbSB0aGUgYXR0YWNrIG11bHRpcGxpY2F0aW9uIHRoYXQgY29tZXMgZnJvbSBjcmVhdGluZwotbWFueSB2ZXJ5IHNtYWxsIGlvdmVjczogKHZvaWQqICsgc2l6ZV90KSBmb3IgZWFjaCB0aHJlZSBieXRlcyBvZiBpbnB1dCBtZXNzYWdlLgotCi1QYXRjaCBiYWNrcG9ydGVkIGZyb20gc3lzdGVtZCBtYXN0ZXIgYXQKLTA1MmM1N2YxMzJmMDRhM2NmNDE0OGY4NzU2MTYxOGRhMWE2OTA4YjQuCi0KLWpvdXJuYWwtcmVtb3RlOiBzZXQgYSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIGZpZWxkcyBpbiBhIG1lc3NhZ2UKLQotRXhpc3RpbmcgdXNlIG9mIEUyQklHIGlzIHJlcGxhY2VkIHdpdGggRU5PQlVGUyAoZW50cnkgdG9vIGxvbmcpLCBhbmQgRTJCSUcgaXMKLXJldXNlZCBmb3IgdGhlIG5ldyBlcnJvciBjb25kaXRpb24gKHRvbyBtYW55IGZpZWxkcykuCi0KLVRoaXMgbWF0Y2hlcyB0aGUgY2hhbmdlIGRvbmUgZm9yIHN5c3RlbWQtam91cm5hbGQsIGhlbmNlIGZvcm1pbmcgdGhlIHNlY29uZAotcGFydCBvZiB0aGUgZml4IGZvciBDVkUtMjAxOC0xNjg2NQotKGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTY1Mzg2MSkuCi0KLVBhdGNoIGJhY2twb3J0ZWQgZnJvbSBzeXN0ZW1kIG1hc3RlciBhdAotZWY0ZDZhYmU3YzdmYWI2Y2JmZjk3NWIzMmU3NmIwOWZlZWU1NjA3NC4KLXdpdGggdGhlIGNoYW5nZXMgYXBwbGllZCBieSA3ZmRiMjM3ZjU0NzNjYjhmYzIxMjllNTdlOGEwMDM5NTI2ZGNiNGZkCi1yZW1vdmVkLgotCi1DVkU6IENWRS0yMDE4LTE2ODY1Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBNYXJjdXMgQ29vcGVyIDxtYXJjdXNjQGF4aXMuY29tPgotLS0tCi0gc3JjL2Jhc2ljL2pvdXJuYWwtaW1wb3J0ZXIuYyAgICAgICAgICAgICB8IDUgKysrKy0KLSBzcmMvYmFzaWMvam91cm5hbC1pbXBvcnRlci5oICAgICAgICAgICAgIHwgMyArKysKLSBzcmMvam91cm5hbC1yZW1vdGUvam91cm5hbC1yZW1vdGUtbWFpbi5jIHwgNyArKysrKystCi0gc3JjL2pvdXJuYWwtcmVtb3RlL2pvdXJuYWwtcmVtb3RlLmMgICAgICB8IDUgKysrKy0KLSBzcmMvam91cm5hbC9qb3VybmFsZC1uYXRpdmUuYyAgICAgICAgICAgIHwgNSArKysrKwotIDUgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9qb3VybmFsLWltcG9ydGVyLmMgYi9zcmMvYmFzaWMvam91cm5hbC1pbXBvcnRlci5jCi1pbmRleCBjYTIwM2JiYmZjLi4zYWM1NWE2NmQ5IDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL2pvdXJuYWwtaW1wb3J0ZXIuYwotKysrIGIvc3JjL2Jhc2ljL2pvdXJuYWwtaW1wb3J0ZXIuYwotQEAgLTIzLDYgKzIzLDkgQEAgZW51bSB7Ci0gfTsKLSAKLSBzdGF0aWMgaW50IGlvdndfcHV0KHN0cnVjdCBpb3ZlY193cmFwcGVyICppb3Z3LCB2b2lkKiBkYXRhLCBzaXplX3QgbGVuKSB7Ci0rICAgICAgICBpZiAoaW92dy0+Y291bnQgPj0gRU5UUllfRklFTERfQ09VTlRfTUFYKQotKyAgICAgICAgICAgICAgICByZXR1cm4gLUUyQklHOwotKwotICAgICAgICAgaWYgKCFHUkVFRFlfUkVBTExPQyhpb3Z3LT5pb3ZlYywgaW92dy0+c2l6ZV9ieXRlcywgaW92dy0+Y291bnQgKyAxKSkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19vb20oKTsKLSAKLUBAIC05OCw3ICsxMDEsNyBAQCBzdGF0aWMgaW50IGdldF9saW5lKEpvdXJuYWxJbXBvcnRlciAqaW1wLCBjaGFyICoqbGluZSwgc2l6ZV90ICpzaXplKSB7Ci0gICAgICAgICAgICAgICAgIGltcC0+c2Nhbm5lZCA9IGltcC0+ZmlsbGVkOwotICAgICAgICAgICAgICAgICBpZiAoaW1wLT5zY2FubmVkID49IERBVEFfU0laRV9NQVgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICBsb2dfZXJyb3IoIkVudHJ5IGlzIGJpZ2dlciB0aGFuICV1IGJ5dGVzLiIsIERBVEFfU0laRV9NQVgpOwotLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRTJCSUc7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9CVUZTOwotICAgICAgICAgICAgICAgICB9Ci0gCi0gICAgICAgICAgICAgICAgIGlmIChpbXAtPnBhc3NpdmVfZmQpCi1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL2pvdXJuYWwtaW1wb3J0ZXIuaCBiL3NyYy9iYXNpYy9qb3VybmFsLWltcG9ydGVyLmgKLWluZGV4IGY0OWNlNzM0YTEuLmM0YWU0NWQzMmQgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvam91cm5hbC1pbXBvcnRlci5oCi0rKysgYi9zcmMvYmFzaWMvam91cm5hbC1pbXBvcnRlci5oCi1AQCAtMTYsNiArMTYsOSBAQAotICNkZWZpbmUgREFUQV9TSVpFX01BWCAoMTAyNCoxMDI0Kjc2OHUpCi0gI2RlZmluZSBMSU5FX0NIVU5LIDgqMTAyNHUKLSAKLSsvKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgZmllbGRzIGluIGFuIGVudHJ5ICovCi0rI2RlZmluZSBFTlRSWV9GSUVMRF9DT1VOVF9NQVggMTAyNAotKwotIHN0cnVjdCBpb3ZlY193cmFwcGVyIHsKLSAgICAgICAgIHN0cnVjdCBpb3ZlYyAqaW92ZWM7Ci0gICAgICAgICBzaXplX3Qgc2l6ZV9ieXRlczsKLWRpZmYgLS1naXQgYS9zcmMvam91cm5hbC1yZW1vdGUvam91cm5hbC1yZW1vdGUtbWFpbi5jIGIvc3JjL2pvdXJuYWwtcmVtb3RlL2pvdXJuYWwtcmVtb3RlLW1haW4uYwotaW5kZXggOGZkYTlkMTQ5OS4uM2EwMWZlZjY0NiAxMDA2NDQKLS0tLSBhL3NyYy9qb3VybmFsLXJlbW90ZS9qb3VybmFsLXJlbW90ZS1tYWluLmMKLSsrKyBiL3NyYy9qb3VybmFsLXJlbW90ZS9qb3VybmFsLXJlbW90ZS1tYWluLmMKLUBAIC0yMTIsNyArMjEyLDEyIEBAIHN0YXRpYyBpbnQgcHJvY2Vzc19odHRwX3VwbG9hZCgKLSAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgZWxzZSBpZiAociA8IDApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICBsb2dfd2FybmluZygiRmFpbGVkIHRvIHByb2Nlc3MgZGF0YSBmb3IgY29ubmVjdGlvbiAlcCIsIGNvbm5lY3Rpb24pOwotLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyID09IC1FMkJJRykKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA9PSAtRU5PQlVGUykKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtaGRfcmVzcG9uZGYoY29ubmVjdGlvbiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciwgTUhEX0hUVFBfUEFZTE9BRF9UT09fTEFSR0UsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFbnRyeSBpcyBhYm92ZSB0aGUgbWF4aW11bSBvZiAldSwgYWJvcnRpbmcgY29ubmVjdGlvbiAlcC4iLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQVRBX1NJWkVfTUFYLCBjb25uZWN0aW9uKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChyID09IC1FMkJJRykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtaGRfcmVzcG9uZGYoY29ubmVjdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciwgTUhEX0hUVFBfUEFZTE9BRF9UT09fTEFSR0UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFbnRyeSBpcyB0b28gbGFyZ2UsIG1heGltdW0gaXMgIiBTVFJJTkdJRlkoREFUQV9TSVpFX01BWCkgIiBieXRlcy4iKTsKLWRpZmYgLS1naXQgYS9zcmMvam91cm5hbC1yZW1vdGUvam91cm5hbC1yZW1vdGUuYyBiL3NyYy9qb3VybmFsLXJlbW90ZS9qb3VybmFsLXJlbW90ZS5jCi1pbmRleCBiZWI3NWExY2I0Li42N2UzYTcwYzA2IDEwMDY0NAotLS0tIGEvc3JjL2pvdXJuYWwtcmVtb3RlL2pvdXJuYWwtcmVtb3RlLmMKLSsrKyBiL3NyYy9qb3VybmFsLXJlbW90ZS9qb3VybmFsLXJlbW90ZS5jCi1AQCAtNDA4LDcgKzQwOCwxMCBAQCBpbnQgam91cm5hbF9yZW1vdGVfaGFuZGxlX3Jhd19zb3VyY2UoCi0gICAgICAgICAgICAgICAgIGxvZ19kZWJ1ZygiJXp1IGFjdGl2ZSBzb3VyY2VzIHJlbWFpbmluZyIsIHMtPmFjdGl2ZSk7Ci0gICAgICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAgfSBlbHNlIGlmIChyID09IC1FMkJJRykgewotLSAgICAgICAgICAgICAgICBsb2dfbm90aWNlX2Vycm5vKEUyQklHLCAiRW50cnkgdG9vIGJpZywgc2tpcHBlZCIpOwotKyAgICAgICAgICAgICAgICBsb2dfbm90aWNlKCJFbnRyeSB3aXRoIHRvbyBtYW55IGZpZWxkcywgc2tpcHBlZCIpOwotKyAgICAgICAgICAgICAgICByZXR1cm4gMTsKLSsgICAgICAgIH0gZWxzZSBpZiAociA9PSAtRU5PQlVGUykgewotKyAgICAgICAgICAgICAgICBsb2dfbm90aWNlKCJFbnRyeSB0b28gYmlnLCBza2lwcGVkIik7Ci0gICAgICAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICAgfSBlbHNlIGlmIChyID09IC1FQUdBSU4pIHsKLSAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci1kaWZmIC0tZ2l0IGEvc3JjL2pvdXJuYWwvam91cm5hbGQtbmF0aXZlLmMgYi9zcmMvam91cm5hbC9qb3VybmFsZC1uYXRpdmUuYwotaW5kZXggNWZmMjJhMTBhZi4uOTUxZDA5MjA1MyAxMDA2NDQKLS0tLSBhL3NyYy9qb3VybmFsL2pvdXJuYWxkLW5hdGl2ZS5jCi0rKysgYi9zcmMvam91cm5hbC9qb3VybmFsZC1uYXRpdmUuYwotQEAgLTE0MCw2ICsxNDAsMTEgQEAgc3RhdGljIGludCBzZXJ2ZXJfcHJvY2Vzc19lbnRyeSgKLSAgICAgICAgICAgICAgICAgfQotIAotICAgICAgICAgICAgICAgICAvKiBBIHByb3BlcnR5IGZvbGxvd3MgKi8KLSsgICAgICAgICAgICAgICAgaWYgKG4gPiBFTlRSWV9GSUVMRF9DT1VOVF9NQVgpIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICBsb2dfZGVidWcoIlJlY2VpdmVkIGFuIGVudHJ5IHRoYXQgaGFzIG1vcmUgdGhhbiAiIFNUUklOR0lGWShFTlRSWV9GSUVMRF9DT1VOVF9NQVgpICIgZmllbGRzLCBpZ25vcmluZyBlbnRyeS4iKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICByID0gMTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZpbmlzaDsKLSsgICAgICAgICAgICAgICAgfQotIAotICAgICAgICAgICAgICAgICAvKiBuIGV4aXN0aW5nIHByb3BlcnRpZXMsIDEgbmV3LCArMSBmb3IgX1RSQU5TUE9SVCAqLwotICAgICAgICAgICAgICAgICBpZiAoIUdSRUVEWV9SRUFMTE9DKGlvdmVjLCBtLAotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNi1qb3VybmFsLWZpeC1vdXQtb2YtYm91bmRzLXJlYWQtQ1ZFLTIwMTgtMTY4NjYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDI2LWpvdXJuYWwtZml4LW91dC1vZi1ib3VuZHMtcmVhZC1DVkUtMjAxOC0xNjg2Ni5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzkyNWE0YS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDI2LWpvdXJuYWwtZml4LW91dC1vZi1ib3VuZHMtcmVhZC1DVkUtMjAxOC0xNjg2Ni5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLUZyb20gZWJkMDZjMzdkNDMxMWRiOTg1MWY0ZDNmZGQwMjNkZTNkZDU5MGRlMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZpbGlwZSBCcmFuZGVuYnVyZ2VyIDxmaWxicmFuZGVuQGdvb2dsZS5jb20+Ci1EYXRlOiBUaHUsIDEwIEphbiAyMDE5IDE0OjUzOjMzIC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGpvdXJuYWw6IGZpeCBvdXQtb2YtYm91bmRzIHJlYWQgQ1ZFLTIwMTgtMTY4NjYKLQotVGhlIG9yaWdpbmFsIGNvZGUgZGlkbid0IGFjY291bnQgZm9yIHRoZSBmYWN0IHRoYXQgc3RyY2hyKCkgd291bGQgbWF0Y2ggb24gdGhlCi0nXDAnIGNoYXJhY3RlciwgbWFraW5nIGl0IHJlYWQgcGFzdCB0aGUgZW5kIG9mIHRoZSBidWZmZXIgaWYgbm8gbm9uLXdoaXRlc3BhY2UKLWNoYXJhY3RlciB3YXMgcHJlc2VudC4KLQotVGhpcyBidWcgd2FzIGludHJvZHVjZWQgaW4gY29tbWl0IGVjNWZmNDQ0NWNjYTZhIHdoaWNoIHdhcyBmaXJzdCByZWxlYXNlZCBpbgotc3lzdGVtZCB2MjIxIGFuZCBsYXRlciBmaXhlZCBpbiBjb21taXQgODU5NTEwMmQzZGRkZTYgd2hpY2ggd2FzIHJlbGVhc2VkIGluCi12MjQwLCBzbyB2ZXJzaW9ucyBpbiB0aGUgcmFuZ2UgW3YyMjEsIHYyNDApIGFyZSBhZmZlY3RlZC4KLQotUGF0Y2ggYmFja3BvcnRlZCBmcm9tIHN5c3RlbWQtc3RhYmxlIGF0IGYwMDVlNzNkMzcyM2Q2MmEzOWJlNjYxOTMxZmNiNjM0NzExOWI1MmIKLWFsc28gaW5jbHVkZXMgYSBjaGFuZ2UgZnJvbSBzeXN0ZW1kIG1hc3RlciB3aGljaCByZW1vdmVzIGEgaGVhcCBidWZmZXIgb3ZlcmZsb3cKLWE2YWFkZjRhZTBiYWUxODVkYzRjNDE0ZDQ5MmE0YTc4MWM4MGZmZTUuCi0KLUNWRTogQ1ZFLTIwMTgtMTY4NjYKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IE1hcmN1cyBDb29wZXIgPG1hcmN1c2NAYXhpcy5jb20+Ci0tLS0KLSBzcmMvam91cm5hbC9qb3VybmFsZC1zeXNsb2cuYyB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvam91cm5hbC9qb3VybmFsZC1zeXNsb2cuYyBiL3NyYy9qb3VybmFsL2pvdXJuYWxkLXN5c2xvZy5jCi1pbmRleCA5ZGVhMTE2NzIyLi44MDliMzE4YzA2IDEwMDY0NAotLS0tIGEvc3JjL2pvdXJuYWwvam91cm5hbGQtc3lzbG9nLmMKLSsrKyBiL3NyYy9qb3VybmFsL2pvdXJuYWxkLXN5c2xvZy5jCi1AQCAtMTk0LDcgKzE5NCw3IEBAIHNpemVfdCBzeXNsb2dfcGFyc2VfaWRlbnRpZmllcihjb25zdCBjaGFyICoqYnVmLCBjaGFyICoqaWRlbnRpZmllciwgY2hhciAqKnBpZCkKLSAgICAgICAgIGUgPSBsOwotICAgICAgICAgbC0tOwotIAotLSAgICAgICAgaWYgKHBbbC0xXSA9PSAnXScpIHsKLSsgICAgICAgIGlmIChsID4gMCAmJiBwW2wtMV0gPT0gJ10nKSB7Ci0gICAgICAgICAgICAgICAgIHNpemVfdCBrID0gbC0xOwotIAotICAgICAgICAgICAgICAgICBmb3IgKDs7KSB7Ci1AQCAtMjE5LDcgKzIxOSw3IEBAIHNpemVfdCBzeXNsb2dfcGFyc2VfaWRlbnRpZmllcihjb25zdCBjaGFyICoqYnVmLCBjaGFyICoqaWRlbnRpZmllciwgY2hhciAqKnBpZCkKLSAgICAgICAgIGlmICh0KQotICAgICAgICAgICAgICAgICAqaWRlbnRpZmllciA9IHQ7Ci0gCi0tICAgICAgICBpZiAoc3RyY2hyKFdISVRFU1BBQ0UsIHBbZV0pKQotKyAgICAgICAgaWYgKHBbZV0gIT0gJ1wwJyAmJiBzdHJjaHIoV0hJVEVTUEFDRSwgcFtlXSkpCi0gICAgICAgICAgICAgICAgIGUrKzsKLSAgICAgICAgICpidWYgPSBwICsgZTsKLSAgICAgICAgIHJldHVybiBlOwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvQ1ZFLTIwMTktNjQ1NC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kL0NWRS0yMDE5LTY0NTQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwMTcwZGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvQ1ZFLTIwMTktNjQ1NC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxMCArMCwwIEBACi1EZXNjcmlwdGlvbjogc2QtYnVzOiBlbmZvcmNlIGEgc2l6ZSBsaW1pdCBmb3IgZGJ1cyBwYXRocywgYW5kIGRvbid0IGFsbG9jYXRlCi0gdGhlbSBvbiB0aGUgc3RhY2thCi1Gb3J3YXJkZWQ6IG5vCi0KLVBhdGNoIGZyb206IHN5c3RlbWRfMjM5LTd1YnVudHUxMC44Ci0KLUZvciBpbmZvcm1hdGlvbiBzZWU6Ci1odHRwczovL3Vzbi51YnVudHUuY29tLzM4OTEtMS8KLWh0dHBzOi8vZ2l0LmxhdW5jaHBhZC5uZXQvdWJ1bnR1Lytzb3VyY2Uvc3lzdGVtZC9jb21taXQvP2lkPWY4ZTc1ZDU2MzQ5MDRjOGU2NzI2NTg4NTY1MDhjM2EwMmYzNDlhZGIKLQotQ1ZFOiBDVkUtMjAxOS02NDU0Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IEdlb3JnZSBNY0NvbGxpc3RlciA8Z2VvcmdlLm1jY29sbGlzdGVyQGdtYWlsLmNvbT4KLQotLS0tIGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1pbnRlcm5hbC5jCi0rKysgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWludGVybmFsLmMKLUBAIC00NSw3ICs0NSw3IEBACi0gICAgICAgICBpZiAoc2xhc2gpCi0gICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotLSAgICAgICAgcmV0dXJuIHRydWU7Ci0rICAgICAgICByZXR1cm4gKHEgLSBwKSA8PSBCVVNfUEFUSF9TSVpFX01BWDsKLSB9Ci0KLSBjaGFyKiBvYmplY3RfcGF0aF9zdGFydHN3aXRoKGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIpIHsKLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtaW50ZXJuYWwuaAotKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1pbnRlcm5hbC5oCi1AQCAtMzMzLDYgKzMzMywxMCBAQAotCi0gI2RlZmluZSBCVVNfTUVTU0FHRV9TSVpFX01BWCAoMTI4KjEwMjQqMTAyNCkKLSAjZGVmaW5lIEJVU19BVVRIX1NJWkVfTUFYICg2NCoxMDI0KQotKy8qIE5vdGUgdGhhdCB0aGUgRC1CdXMgc3BlY2lmaWNhdGlvbiBzdGF0ZXMgdGhhdCBidXMgcGF0aHMgc2hhbGwgaGF2ZSBubyBzaXplIGxpbWl0LiBXZSBlbmZvcmNlIGhlcmUgb25lCi0rICogYW55d2F5LCBzaW5jZSB0cnVseSB1bmJvdW5kZWQgc3RyaW5ncyBhcmUgYSBzZWN1cml0eSBwcm9ibGVtLiBUaGUgbGltaXQgd2UgcGljayBpcyByZWxhdGl2ZWx5IGxhcmdlIGhvd2V2ZXIsCi0rICogdG8gbm90IGNsYXNoIHVubmVjZXNzYXJpbHkgd2l0aCByZWFsLWxpZmUgYXBwbGljYXRpb25zLiAqLwotKyNkZWZpbmUgQlVTX1BBVEhfU0laRV9NQVggKDY0KjEwMjQpCi0KLSAjZGVmaW5lIEJVU19DT05UQUlORVJfREVQVEggMTI4Ci0KLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtb2JqZWN0cy5jCi0rKysgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLW9iamVjdHMuYwotQEAgLTExMzQsNyArMTEzNCw4IEBACi0gICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnBhdGgsCi0gICAgICAgICAgICAgICAgIHNkX2J1c19lcnJvciAqZXJyb3IpIHsKLQotLSAgICAgICAgY2hhciAqcHJlZml4OwotKyAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqcHJlZml4ID0gTlVMTDsKLSsgICAgICAgIHNpemVfdCBwbDsKLSAgICAgICAgIGludCByOwotCi0gICAgICAgICBhc3NlcnQoYnVzKTsKLUBAIC0xMTUwLDcgKzExNTEsMTIgQEAKLSAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAgIC8qIFNlY29uZCwgYWRkIGZhbGxiYWNrIHZ0YWJsZXMgcmVnaXN0ZXJlZCBmb3IgYW55IG9mIHRoZSBwcmVmaXhlcyAqLwotLSAgICAgICAgcHJlZml4ID0gYWxsb2NhKHN0cmxlbihwYXRoKSArIDEpOwotKyAgICAgICAgcGwgPSBzdHJsZW4ocGF0aCk7Ci0rICAgICAgICBhc3NlcnQocGwgPD0gQlVTX1BBVEhfU0laRV9NQVgpOwotKyAgICAgICAgcHJlZml4ID0gbmV3KGNoYXIsIHBsICsgMSk7Ci0rICAgICAgICBpZiAoIXByZWZpeCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0rCi0gICAgICAgICBPQkpFQ1RfUEFUSF9GT1JFQUNIX1BSRUZJWChwcmVmaXgsIHBhdGgpIHsKLSAgICAgICAgICAgICAgICAgciA9IG9iamVjdF9tYW5hZ2VyX3NlcmlhbGl6ZV9wYXRoKGJ1cywgcmVwbHksIHByZWZpeCwgcGF0aCwgdHJ1ZSwgZXJyb3IpOwotICAgICAgICAgICAgICAgICBpZiAociA8IDApCi1AQCAtMTM0Niw2ICsxMzUyLDcgQEAKLSB9Ci0KLSBpbnQgYnVzX3Byb2Nlc3Nfb2JqZWN0KHNkX2J1cyAqYnVzLCBzZF9idXNfbWVzc2FnZSAqbSkgewotKyAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqcHJlZml4ID0gTlVMTDsKLSAgICAgICAgIGludCByOwotICAgICAgICAgc2l6ZV90IHBsOwotICAgICAgICAgYm9vbCBmb3VuZF9vYmplY3QgPSBmYWxzZTsKLUBAIC0xMzcwLDkgKzEzNzcsMTIgQEAKLSAgICAgICAgIGFzc2VydChtLT5tZW1iZXIpOwotCi0gICAgICAgICBwbCA9IHN0cmxlbihtLT5wYXRoKTsKLS0gICAgICAgIGRvIHsKLS0gICAgICAgICAgICAgICAgY2hhciBwcmVmaXhbcGwrMV07Ci0rICAgICAgICBhc3NlcnQocGwgPD0gQlVTX1BBVEhfU0laRV9NQVgpOwotKyAgICAgICAgcHJlZml4ID0gbmV3KGNoYXIsIHBsICsgMSk7Ci0rICAgICAgICBpZiAoIXByZWZpeCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0KLSsgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICAgYnVzLT5ub2Rlc19tb2RpZmllZCA9IGZhbHNlOwotCi0gICAgICAgICAgICAgICAgIHIgPSBvYmplY3RfZmluZF9hbmRfcnVuKGJ1cywgbSwgbS0+cGF0aCwgZmFsc2UsICZmb3VuZF9vYmplY3QpOwotQEAgLTE0OTksOSArMTUwOSwxNSBAQAotCi0gICAgICAgICBuID0gaGFzaG1hcF9nZXQoYnVzLT5ub2RlcywgcGF0aCk7Ci0gICAgICAgICBpZiAoIW4pIHsKLS0gICAgICAgICAgICAgICAgY2hhciAqcHJlZml4OwotKyAgICAgICAgICAgICAgICBfY2xlYW51cF9mcmVlXyBjaGFyICpwcmVmaXggPSBOVUxMOwotKyAgICAgICAgICAgICAgICBzaXplX3QgcGw7Ci0rCi0rICAgICAgICAgICAgICAgIHBsID0gc3RybGVuKHBhdGgpOwotKyAgICAgICAgICAgICAgICBhc3NlcnQocGwgPD0gQlVTX1BBVEhfU0laRV9NQVgpOwotKyAgICAgICAgICAgICAgICBwcmVmaXggPSBuZXcoY2hhciwgcGwgKyAxKTsKLSsgICAgICAgICAgICAgICAgaWYgKCFwcmVmaXgpCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0KLS0gICAgICAgICAgICAgICAgcHJlZml4ID0gYWxsb2NhKHN0cmxlbihwYXRoKSArIDEpOwotICAgICAgICAgICAgICAgICBPQkpFQ1RfUEFUSF9GT1JFQUNIX1BSRUZJWChwcmVmaXgsIHBhdGgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICBuID0gaGFzaG1hcF9nZXQoYnVzLT5ub2RlcywgcHJlZml4KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobikKLUBAIC0yMDkxLDggKzIxMDcsOSBAQAotICAgICAgICAgICAgICAgICBjaGFyICoqbmFtZXMpIHsKLQotICAgICAgICAgQlVTX0RPTlRfREVTVFJPWShidXMpOwotKyAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqcHJlZml4ID0gTlVMTDsKLSAgICAgICAgIGJvb2wgZm91bmRfaW50ZXJmYWNlID0gZmFsc2U7Ci0tICAgICAgICBjaGFyICpwcmVmaXg7Ci0rICAgICAgICBzaXplX3QgcGw7Ci0gICAgICAgICBpbnQgcjsKLQotICAgICAgICAgYXNzZXJ0X3JldHVybihidXMsIC1FSU5WQUwpOwotQEAgLTIxMTEsNiArMjEyOCwxMiBAQAotICAgICAgICAgaWYgKG5hbWVzICYmIG5hbWVzWzBdID09IE5VTEwpCi0gICAgICAgICAgICAgICAgIHJldHVybiAwOwotCi0rICAgICAgICBwbCA9IHN0cmxlbihwYXRoKTsKLSsgICAgICAgIGFzc2VydChwbCA8PSBCVVNfUEFUSF9TSVpFX01BWCk7Ci0rICAgICAgICBwcmVmaXggPSBuZXcoY2hhciwgcGwgKyAxKTsKLSsgICAgICAgIGlmICghcHJlZml4KQotKyAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKLSsKLSAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICAgYnVzLT5ub2Rlc19tb2RpZmllZCA9IGZhbHNlOwotCi1AQCAtMjEyMCw3ICsyMTQzLDYgQEAKLSAgICAgICAgICAgICAgICAgaWYgKGJ1cy0+bm9kZXNfbW9kaWZpZWQpCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0KLS0gICAgICAgICAgICAgICAgcHJlZml4ID0gYWxsb2NhKHN0cmxlbihwYXRoKSArIDEpOwotICAgICAgICAgICAgICAgICBPQkpFQ1RfUEFUSF9GT1JFQUNIX1BSRUZJWChwcmVmaXgsIHBhdGgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICByID0gZW1pdF9wcm9wZXJ0aWVzX2NoYW5nZWRfb25faW50ZXJmYWNlKGJ1cywgcHJlZml4LCBwYXRoLCBpbnRlcmZhY2UsIHRydWUsICZmb3VuZF9pbnRlcmZhY2UsIG5hbWVzKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZiAociAhPSAwKQotQEAgLTIyNTIsNyArMjI3NCw4IEBACi0KLSBzdGF0aWMgaW50IG9iamVjdF9hZGRlZF9hcHBlbmRfYWxsKHNkX2J1cyAqYnVzLCBzZF9idXNfbWVzc2FnZSAqbSwgY29uc3QgY2hhciAqcGF0aCkgewotICAgICAgICAgX2NsZWFudXBfc2V0X2ZyZWVfIFNldCAqcyA9IE5VTEw7Ci0tICAgICAgICBjaGFyICpwcmVmaXg7Ci0rICAgICAgICBfY2xlYW51cF9mcmVlXyBjaGFyICpwcmVmaXggPSBOVUxMOwotKyAgICAgICAgc2l6ZV90IHBsOwotICAgICAgICAgaW50IHI7Ci0KLSAgICAgICAgIGFzc2VydChidXMpOwotQEAgLTIyOTcsNyArMjMyMCwxMiBAQAotICAgICAgICAgaWYgKGJ1cy0+bm9kZXNfbW9kaWZpZWQpCi0gICAgICAgICAgICAgICAgIHJldHVybiAwOwotCi0tICAgICAgICBwcmVmaXggPSBhbGxvY2Eoc3RybGVuKHBhdGgpICsgMSk7Ci0rICAgICAgICBwbCA9IHN0cmxlbihwYXRoKTsKLSsgICAgICAgIGFzc2VydChwbCA8PSBCVVNfUEFUSF9TSVpFX01BWCk7Ci0rICAgICAgICBwcmVmaXggPSBuZXcoY2hhciwgcGwgKyAxKTsKLSsgICAgICAgIGlmICghcHJlZml4KQotKyAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKLSsKLSAgICAgICAgIE9CSkVDVF9QQVRIX0ZPUkVBQ0hfUFJFRklYKHByZWZpeCwgcGF0aCkgewotICAgICAgICAgICAgICAgICByID0gb2JqZWN0X2FkZGVkX2FwcGVuZF9hbGxfcHJlZml4KGJ1cywgbSwgcywgcHJlZml4LCBwYXRoLCB0cnVlKTsKLSAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotQEAgLTI0MzYsNyArMjQ2NCw4IEBACi0KLSBzdGF0aWMgaW50IG9iamVjdF9yZW1vdmVkX2FwcGVuZF9hbGwoc2RfYnVzICpidXMsIHNkX2J1c19tZXNzYWdlICptLCBjb25zdCBjaGFyICpwYXRoKSB7Ci0gICAgICAgICBfY2xlYW51cF9zZXRfZnJlZV8gU2V0ICpzID0gTlVMTDsKLS0gICAgICAgIGNoYXIgKnByZWZpeDsKLSsgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKnByZWZpeCA9IE5VTEw7Ci0rICAgICAgICBzaXplX3QgcGw7Ci0gICAgICAgICBpbnQgcjsKLQotICAgICAgICAgYXNzZXJ0KGJ1cyk7Ci1AQCAtMjQ2OCw3ICsyNDk3LDEyIEBACi0gICAgICAgICBpZiAoYnVzLT5ub2Rlc19tb2RpZmllZCkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLS0gICAgICAgIHByZWZpeCA9IGFsbG9jYShzdHJsZW4ocGF0aCkgKyAxKTsKLSsgICAgICAgIHBsID0gc3RybGVuKHBhdGgpOwotKyAgICAgICAgYXNzZXJ0KHBsIDw9IEJVU19QQVRIX1NJWkVfTUFYKTsKLSsgICAgICAgIHByZWZpeCA9IG5ldyhjaGFyLCBwbCArIDEpOwotKyAgICAgICAgaWYgKCFwcmVmaXgpCi0rICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwotKwotICAgICAgICAgT0JKRUNUX1BBVEhfRk9SRUFDSF9QUkVGSVgocHJlZml4LCBwYXRoKSB7Ci0gICAgICAgICAgICAgICAgIHIgPSBvYmplY3RfcmVtb3ZlZF9hcHBlbmRfYWxsX3ByZWZpeChidXMsIG0sIHMsIHByZWZpeCwgcGF0aCwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLUBAIC0yNjE4LDcgKzI2NTIsOCBAQAotICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwYXRoLAotICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICppbnRlcmZhY2UpIHsKLQotLSAgICAgICAgY2hhciAqcHJlZml4OwotKyAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqcHJlZml4ID0gTlVMTDsKLSsgICAgICAgIHNpemVfdCBwbDsKLSAgICAgICAgIGludCByOwotCi0gICAgICAgICBhc3NlcnQoYnVzKTsKLUBAIC0yNjMyLDcgKzI2NjcsMTIgQEAKLSAgICAgICAgIGlmIChidXMtPm5vZGVzX21vZGlmaWVkKQotICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLQotLSAgICAgICAgcHJlZml4ID0gYWxsb2NhKHN0cmxlbihwYXRoKSArIDEpOwotKyAgICAgICAgcGwgPSBzdHJsZW4ocGF0aCk7Ci0rICAgICAgICBhc3NlcnQocGwgPD0gQlVTX1BBVEhfU0laRV9NQVgpOwotKyAgICAgICAgcHJlZml4ID0gbmV3KGNoYXIsIHBsICsgMSk7Ci0rICAgICAgICBpZiAoIXByZWZpeCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0rCi0gICAgICAgICBPQkpFQ1RfUEFUSF9GT1JFQUNIX1BSRUZJWChwcmVmaXgsIHBhdGgpIHsKLSAgICAgICAgICAgICAgICAgciA9IGludGVyZmFjZXNfYWRkZWRfYXBwZW5kX29uZV9wcmVmaXgoYnVzLCBtLCBwcmVmaXgsIHBhdGgsIGludGVyZmFjZSwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgIGlmIChyICE9IDApCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC9zZC1idXMtaWYtd2UtcmVjZWl2ZS1hbi1pbnZhbGlkLWRidXMtbWVzc2FnZS1pZ25vcmUtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvc2QtYnVzLWlmLXdlLXJlY2VpdmUtYW4taW52YWxpZC1kYnVzLW1lc3NhZ2UtaWdub3JlLS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTczMTFmYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC9zZC1idXMtaWYtd2UtcmVjZWl2ZS1hbi1pbnZhbGlkLWRidXMtbWVzc2FnZS1pZ25vcmUtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjEgKzAsMCBAQAotRGVzY3JpcHRpb246IHNkLWJ1czogaWYgd2UgcmVjZWl2ZSBhbiBpbnZhbGlkIGRidXMgbWVzc2FnZSwgaWdub3JlIGFuZAotIHByb2NlZWVkCi0gLgotIGRidXMtZGFlbW9uIG1pZ2h0IGhhdmUgYSBzbGlnaHRseSBkaWZmZXJlbnQgaWRlYSBvZiB3aGF0IGEgdmFsaWQgbXNnIGlzCi0gdGhhbiB1cyAoZm9yIGV4YW1wbGUgcmVnYXJkaW5nIHZhbGlkIG1zZyBhbmQgZmllbGQgc2l6ZXMpLiBMZXQncyBoZW5jZQotIHRyeSB0byBwcm9jZWVkIGlmIHdlIGNhbiBhbmQgdGh1cyBkcm9wIG1lc3NhZ2VzIHJhdGhlciB0aGFuIGZhaWwgdGhlCi0gY29ubmVjdGlvbiBpZiB3ZSBmYWlsIHRvIHZhbGlkYXRlIGEgbWVzc2FnZS4KLSAuCi0gSG9wZWZ1bGx5IHRoZSBkaWZmZXJlbmNlcyBpbiB3aGF0IGlzIGNvbnNpZGVyZWQgdmFsaWQgYXJlIG5vdCB2aXNpYmxlCi0gZm9yIHJlYWwtbGlmZSB1c2VjYXNlcywgYnV0IGFyZSBzcGVjaWZpYyB0byBleHBsb2l0IGF0dGVtcHRzIG9ubHkuCi1BdXRob3I6IExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KLUZvcndhcmRlZDogb3RoZXIsaHR0cHM6Ly9naXRodWIuY29tL3N5c3RlbWQvc3lzdGVtZC9wdWxsLzExNzA4LwotCi1QYXRjaCBmcm9tOiBzeXN0ZW1kXzIzOS03dWJ1bnR1MTAuOAotCi1Gb3IgaW5mb3JtYXRpb24gc2VlOgotaHR0cHM6Ly91c24udWJ1bnR1LmNvbS8zODkxLTEvCi1odHRwczovL2dpdC5sYXVuY2hwYWQubmV0L3VidW50dS8rc291cmNlL3N5c3RlbWQvY29tbWl0Lz9pZD1mOGU3NWQ1NjM0OTA0YzhlNjcyNjU4ODU2NTA4YzNhMDJmMzQ5YWRiCi0KLUNWRTogQ1ZFLTIwMTktNjQ1NAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBHZW9yZ2UgTWNDb2xsaXN0ZXIgPGdlb3JnZS5tY2NvbGxpc3RlckBnbWFpbC5jb20+Ci0KLWRpZmYgLS1naXQgYS9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLXNvY2tldC5jIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1zb2NrZXQuYwotaW5kZXggMzBkNjQ1NWI2Zi4uNDQxYjRhODE2ZiAxMDA2NDQKLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtc29ja2V0LmMKLSsrKyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtc29ja2V0LmMKLUBAIC0xMDcyLDcgKzEwNzIsNyBAQCBzdGF0aWMgaW50IGJ1c19zb2NrZXRfcmVhZF9tZXNzYWdlX25lZWQoc2RfYnVzICpidXMsIHNpemVfdCAqbmVlZCkgewotIH0KLQotIHN0YXRpYyBpbnQgYnVzX3NvY2tldF9tYWtlX21lc3NhZ2Uoc2RfYnVzICpidXMsIHNpemVfdCBzaXplKSB7Ci0tICAgICAgICBzZF9idXNfbWVzc2FnZSAqdDsKLSsgICAgICAgIHNkX2J1c19tZXNzYWdlICp0ID0gTlVMTDsKLSAgICAgICAgIHZvaWQgKmI7Ci0gICAgICAgICBpbnQgcjsKLQotQEAgLTEwOTcsNyArMTA5Nyw5IEBAIHN0YXRpYyBpbnQgYnVzX3NvY2tldF9tYWtlX21lc3NhZ2Uoc2RfYnVzICpidXMsIHNpemVfdCBzaXplKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVzLT5mZHMsIGJ1cy0+bl9mZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdCk7Ci0tICAgICAgICBpZiAociA8IDApIHsKLSsgICAgICAgIGlmIChyID09IC1FQkFETVNHKQotKyAgICAgICAgICAgICAgICBsb2dfZGVidWdfZXJybm8ociwgIlJlY2VpdmVkIGludmFsaWQgbWVzc2FnZSBmcm9tIGNvbm5lY3Rpb24gJXMsIGRyb3BwaW5nLiIsIHN0cm5hKGJ1cy0+ZGVzY3JpcHRpb24pKTsKLSsgICAgICAgIGVsc2UgaWYgKHIgPCAwKSB7Ci0gICAgICAgICAgICAgICAgIGZyZWUoYik7Ci0gICAgICAgICAgICAgICAgIHJldHVybiByOwotICAgICAgICAgfQotQEAgLTExMDgsNyArMTExMCw4IEBAIHN0YXRpYyBpbnQgYnVzX3NvY2tldF9tYWtlX21lc3NhZ2Uoc2RfYnVzICpidXMsIHNpemVfdCBzaXplKSB7Ci0gICAgICAgICBidXMtPmZkcyA9IE5VTEw7Ci0gICAgICAgICBidXMtPm5fZmRzID0gMDsKLQotLSAgICAgICAgYnVzLT5ycXVldWVbYnVzLT5ycXVldWVfc2l6ZSsrXSA9IHQ7Ci0rICAgICAgICBpZiAodCkKLSsgICAgICAgICAgICAgICAgYnVzLT5ycXVldWVbYnVzLT5ycXVldWVfc2l6ZSsrXSA9IHQ7Ci0KLSAgICAgICAgIHJldHVybiAxOwotIH0KLS0tCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWRfMjM5LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWRfMjM5LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZmJkNjRjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXzIzOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY2NiArMCwwIEBACi1yZXF1aXJlIHN5c3RlbWQuaW5jCi0KLVBST1ZJREVTID0gInVkZXYiCi0KLVBFID0gIjEiCi0KLURFUEVORFMgPSAiaW50bHRvb2wtbmF0aXZlIGdwZXJmLW5hdGl2ZSBsaWJjYXAgdXRpbC1saW51eCIKLQotU0VDVElPTiA9ICJiYXNlL3NoZWxsIgotCi1pbmhlcml0IHVzZXJhZGQgcGtnY29uZmlnIG1lc29uIHBlcmxuYXRpdmUgdXBkYXRlLXJjLmQgdXBkYXRlLWFsdGVybmF0aXZlcyBxZW11IHN5c3RlbWQgZ2V0dGV4dCBiYXNoLWNvbXBsZXRpb24gbWFucGFnZXMgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLSMgQXMgdGhpcyByZWNpcGUgYnVpbGRzIHVkZXYsIHJlc3BlY3Qgc3lzdGVtZCBiZWluZyBpbiBESVNUUk9fRkVBVFVSRVMgc28KLSMgdGhhdCB3ZSBkb24ndCBidWlsZCBib3RoIHVkZXYgYW5kIHN5c3RlbWQgaW4gd29ybGQgYnVpbGRzLgotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInN5c3RlbWQiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly90b3VjaHNjcmVlbi5ydWxlcyBcCi0gICAgICAgICAgIGZpbGU6Ly8wMC1jcmVhdGUtdm9sYXRpbGUuY29uZiBcCi0gICAgICAgICAgIGZpbGU6Ly9pbml0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtYmluZm10LURvbi10LWluc3RhbGwtZGVwZW5kZW5jeS1saW5rcy1hdC1pbnN0YWxsLXRpbS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLXVzZS1sbnItd3JhcHBlci1pbnN0ZWFkLW9mLWxvb2tpbmctZm9yLXJlbGF0aXZlLW9wdGkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1pbXBsbWVudC1zeXN0ZW1kLXN5c3YtaW5zdGFsbC1mb3ItT0UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1ydWxlcy13aGl0ZWxpc3QtaGQtZGV2aWNlcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LU1ha2Utcm9vdC1zLWhvbWUtZGlyZWN0b3J5LWNvbmZpZ3VyYWJsZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LXJlbW92ZS1ub2JvZHktdXNlci1ncm91cC1jaGVja2luZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA3LXJ1bGVzLXdhdGNoLW1ldGFkYXRhLWNoYW5nZXMtaW4taWRlLWRldmljZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOC1Eby1ub3QtZW5hYmxlLW5zcy10ZXN0cy1pZi1uc3Mtc3lzdGVtZC1pcy1ub3QtZW5hYmxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDktbnNzLW15bWFjaGluZXMtQnVpbGQtY29uZGl0aW9uYWxseS13aGVuLUVOQUJMRV9NWUhPUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWxvZ2luLXVzZS1wYXJzZV91aWQtd2hlbi11bm1vdW50aW5nLXVzZXItcnVudGltZS1kaXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1zZC1idXMtbWFrZS1CVVNfREVGQVVMVF9USU1FT1VULWNvbmZpZ3VyYWJsZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDIyLWJ1aWxkLXN5cy1EZXRlY3Qtd2hldGhlci1zdHJ1Y3Qtc3RhdHgtaXMtZGVmaW5lZC1pbi0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMy1yZXNvbHZjb25mLWZpeGVzLWZvci10aGUtY29tcGF0aWJpbGl0eS1pbnRlcmZhY2UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb3JlLXdoZW4tZGVzZXJpYWxpemluZy1zdGF0ZS1hbHdheXMtdXNlLXJlYWRfbGluZS1MLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY2hvd24tcmVjdXJzaXZlLWxldC1zLXJld29yay10aGUtcmVjdXJzaXZlLWxvZ2ljLXRvLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWRoY3A2LW1ha2Utc3VyZS13ZS1oYXZlLWVub3VnaC1zcGFjZS1mb3ItdGhlLURIQ1A2LW8ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1SZXZlcnQtc3lzY3RsLmQtcmVxdWVzdC1FQ04tb24tYm90aC1pbi1hbmQtb3V0Z29pbmctLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtdGltZXN5bmMtY2hhbmdlcy10eXBlLW9mLWRyaWZ0X2ZyZXEtdG8taW50NjRfdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXN5c2N0bC1Eb24tdC1wYXNzLW51bGwtZGlyZWN0aXZlLWFyZ3VtZW50LXRvLXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1jb3JlLUZpeC11c2UtYWZ0ZXItZnJlZS1jYXNlLWluLWxvYWRfZnJvbV9wYXRoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbWVzb24tcmVuYW1lLURkZWJ1Zy10by1EZGVidWctZXh0cmEucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyNC1qb3VybmFsZC1kby1ub3Qtc3RvcmUtdGhlLWlvdmVjLWVudHJ5LWZvci1wcm9jZXNzLWNvLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjUtam91cm5hbGQtc2V0LWEtbGltaXQtb24tdGhlLW51bWJlci1vZi1maWVsZHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyNi1qb3VybmFsLWZpeC1vdXQtb2YtYm91bmRzLXJlYWQtQ1ZFLTIwMTgtMTY4NjYucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTktNjQ1NC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zZC1idXMtaWYtd2UtcmVjZWl2ZS1hbi1pbnZhbGlkLWRidXMtbWVzc2FnZS1pZ25vcmUtLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi0jIHBhdGNoZXMgbWFkZSBmb3IgbXVzbCBhcmUgb25seSBhcHBsaWVkIG9uIFRDTElCQyBpcyBtdXNsCi1TUkNfVVJJICs9ICIke1NSQ19VUklfTVVTTH0iCi1TUkNfVVJJX01VU0wgPSAiZmlsZTovLzAwMDEtVXNlLWdldGVudi13aGVuLXNlY3VyZS12ZXJzaW9ucy1hcmUtbm90LWF2YWlsYWJsZS5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAwMi1kb24tdC11c2UtZ2xpYmMtc3BlY2lmaWMtcXNvcnRfci5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAwMy1jb21wYXJpc29uX2ZuX3QtaXMtZ2xpYmMtc3BlY2lmaWMtdXNlLXJhdy1zaWduYXR1cmUtLnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly8wMDA0LWFkZC1mYWxsYmFjay1wYXJzZV9wcmludGZfZm9ybWF0LWltcGxlbWVudGF0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly8wMDA1LWluY2x1ZGUtZ3NoYWRvdy1vbmx5LWlmLUVOQUJMRV9HU0hBRE9XLWlzLTEucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMDYtc3JjLWJhc2ljLW1pc3NpbmcuaC1jaGVjay1mb3ItbWlzc2luZy1zdHJuZHVwYS5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAwNy1JbmNsdWRlLW5ldGluZXQtaWZfZXRoZXIuaC5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAwOC1kb24tdC1mYWlsLWlmLUdMT0JfQlJBQ0UtYW5kLUdMT0JfQUxURElSRlVOQy1pcy1ub3QtLnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly8wMDA5LWFkZC1taXNzaW5nLUZUV18tbWFjcm9zLWZvci1tdXNsLnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly8wMDEwLXNvY2tldC11dGlsLWRvbi10LWZhaWwtaWYtbGliYy1kb2Vzbi10LXN1cHBvcnQtSUROLnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly8wMDExLXNyYy1iYXNpYy1taXNzaW5nLmgtY2hlY2stZm9yLW1pc3NpbmctX19jb21wYXJfZm5fdC0ucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMTItZml4LW1pc3Npbmctb2YtX19yZWdpc3Rlcl9hdGZvcmstZm9yLW5vbi1nbGliYy1idWlsZC5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAxMy1Vc2UtdWludG1heF90LWZvci1oYW5kbGluZy1ybGltX3QucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMTQtZml4LW1pc3NpbmctVUxPTkdfTE9OR19NQVgtZGVmaW5pdGlvbi1pbi1jYXNlLW9mLW11cy5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAxNS10ZXN0LWhleGRlY29jdC5jLUluY2x1ZGUtbWlzc2luZy5oLWZvci1zdHJuZHVwYS5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAxNi10ZXN0LXNpemVvZi5jLURpc2FibGUtdGVzdHMtZm9yLW1pc3NpbmctdHlwZWRlZnMtaW4tLnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly8wMDE3LWRvbi10LXBhc3MtQVRfU1lNTElOS19OT0ZPTExPVy1mbGFnLXRvLWZhY2Nlc3NhdC5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAxOC1EZWZpbmUtZ2xpYmMtY29tcGF0aWJsZS1iYXNlbmFtZS1mb3Itbm9uLWdsaWJjLXN5c3RlLnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly8wMDE5LURvLW5vdC1kaXNhYmxlLWJ1ZmZlcmluZy13aGVuLXdyaXRpbmctdG8tb29tX3Njb3JlX2EucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMjAtZGlzdGluZ3Vpc2gtWFNJLWNvbXBsaWFudC1zdHJlcnJvcl9yLWZyb20tR05VLXNwZWNpZi5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAyMS1IaWRlLV9fc3RhcnRfQlVTX0VSUk9SX01BUC1hbmQtX19zdG9wX0JVU19FUlJPUl9NQVAucGF0Y2ggXAotICAgICAgICAgICAgICAgIgotCi0jIFdvcmthcm91bmQgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19zdGFja19jaGtfZmFpbF9sb2NhbCcgb24gcWVtdXg4NiBhbmQgcWVtdXBwYyBmb3IgbXVzbAotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsX3FlbXV4ODYgPSAiIGZpbGU6Ly8wMDAxLVJlbW92ZS1mc3RhY2stcHJvdGVjdG9yLWZsYWdzLXRvLXdvcmthcm91bmQtbXVzbC1idWkucGF0Y2giCi1TUkNfVVJJX2FwcGVuZF9saWJjLW11c2xfcWVtdXBwYyA9ICIgZmlsZTovLzAwMDEtUmVtb3ZlLWZzdGFjay1wcm90ZWN0b3ItZmxhZ3MtdG8td29ya2Fyb3VuZC1tdXNsLWJ1aS5wYXRjaCIKLQotUEFNX1BMVUdJTlMgPSAiIFwKLSAgICBwYW0tcGx1Z2luLXVuaXggXAotICAgIHBhbS1wbHVnaW4tbG9naW51aWQgXAotICAgIHBhbS1wbHVnaW4ta2V5aW5pdCBcCi0iCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIgXAotICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2VmaSBsZGNvbmZpZyBwYW0gc2VsaW51eCB1c3JtZXJnZScsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd3aWZpJywgJ3Jma2lsbCcsICcnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3hrYmNvbW1vbicsICcnLCBkKX0gXAotICAgIGFjbCBcCi0gICAgYmFja2xpZ2h0IFwKLSAgICBiaW5mbXQgXAotICAgIGZpcnN0Ym9vdCBcCi0gICAgZ3NoYWRvdyBcCi0gICAgaGliZXJuYXRlIFwKLSAgICBob3N0bmFtZWQgXAotICAgIGltYSBcCi0gICAga21vZCBcCi0gICAgbG9jYWxlZCBcCi0gICAgbG9naW5kIFwKLSAgICBtYWNoaW5lZCBcCi0gICAgbXlob3N0bmFtZSBcCi0gICAgbmV0d29ya2QgXAotICAgIG5zcyBcCi0gICAgcG9sa2l0IFwKLSAgICBxdW90YWNoZWNrIFwKLSAgICByYW5kb21zZWVkIFwKLSAgICByZXNvbHZlZCBcCi0gICAgc21hY2sgXAotICAgIHN5c3VzZXJzIFwKLSAgICB0aW1lZGF0ZWQgXAotICAgIHRpbWVzeW5jZCBcCi0gICAgdXRtcCBcCi0gICAgdmNvbnNvbGUgXAotICAgIHh6IFwKLSIKLQotUEFDS0FHRUNPTkZJR19yZW1vdmVfbGliYy1tdXNsID0gIiBcCi0gICAgZ3NoYWRvdyBcCi0gICAgbG9jYWxlZCBcCi0gICAgbXlob3N0bmFtZSBcCi0gICAgbnNzIFwKLSAgICByZXNvbHZlZCBcCi0gICAgc2VsaW51eCBcCi0gICAgc21hY2sgXAotICAgIHN5c3VzZXJzIFwKLSAgICB1dG1wIFwKLSIKLQotIyBVc2UgdGhlIHVwc3RyZWFtIHN5c3RlbWQgc2VyaWFsLWdldHR5QC5zZXJ2aWNlIGFuZCByZWx5IG9uCi0jIHN5c3RlbWQtZ2V0dHktZ2VuZXJhdG9yIGluc3RlYWQgb2YgdXNpbmcgdGhlIE9FLWNvcmUgc3BlY2lmaWMKLSMgc3lzdGVtZC1zZXJpYWxnZXR0eS5iYiAtIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQuCi1QQUNLQUdFQ09ORklHW3NlcmlhbC1nZXR0eS1nZW5lcmF0b3JdID0gIiIKLQotUEFDS0FHRUNPTkZJR1thY2xdID0gIi1EYWNsPXRydWUsLURhY2w9ZmFsc2UsYWNsIgotUEFDS0FHRUNPTkZJR1thdWRpdF0gPSAiLURhdWRpdD10cnVlLC1EYXVkaXQ9ZmFsc2UsYXVkaXQiCi1QQUNLQUdFQ09ORklHW2JhY2tsaWdodF0gPSAiLURiYWNrbGlnaHQ9dHJ1ZSwtRGJhY2tsaWdodD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbYmluZm10XSA9ICItRGJpbmZtdD10cnVlLC1EYmluZm10PWZhbHNlIgotUEFDS0FHRUNPTkZJR1tiemlwMl0gPSAiLURiemlwMj10cnVlLC1EYnppcDI9ZmFsc2UsYnppcDIiCi1QQUNLQUdFQ09ORklHW2NvcmVkdW1wXSA9ICItRGNvcmVkdW1wPXRydWUsLURjb3JlZHVtcD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbY3J5cHRzZXR1cF0gPSAiLURsaWJjcnlwdHNldHVwPXRydWUsLURsaWJjcnlwdHNldHVwPWZhbHNlLGNyeXB0c2V0dXAiCi1QQUNLQUdFQ09ORklHW2RidXNdID0gIi1EZGJ1cz10cnVlLC1EZGJ1cz1mYWxzZSxkYnVzIgotUEFDS0FHRUNPTkZJR1tlZmldID0gIi1EZWZpPXRydWUsLURlZmk9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2VsZnV0aWxzXSA9ICItRGVsZnV0aWxzPXRydWUsLURlbGZ1dGlscz1mYWxzZSxlbGZ1dGlscyIKLVBBQ0tBR0VDT05GSUdbZmlyc3Rib290XSA9ICItRGZpcnN0Ym9vdD10cnVlLC1EZmlyc3Rib290PWZhbHNlIgotIyBTaWduIHRoZSBqb3VybmFsIGZvciBhbnRpLXRhbXBlcmluZwotUEFDS0FHRUNPTkZJR1tnY3J5cHRdID0gIi1EZ2NyeXB0PXRydWUsLURnY3J5cHQ9ZmFsc2UsbGliZ2NyeXB0IgotUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi1EZ251dGxzPXRydWUsLURnbnV0bHM9ZmFsc2UsZ251dGxzIgotUEFDS0FHRUNPTkZJR1tnc2hhZG93XSA9ICItRGdzaGFkb3c9dHJ1ZSwtRGdzaGFkb3c9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2hpYmVybmF0ZV0gPSAiLURoaWJlcm5hdGU9dHJ1ZSwtRGhpYmVybmF0ZT1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbaG9zdG5hbWVkXSA9ICItRGhvc3RuYW1lZD10cnVlLC1EaG9zdG5hbWVkPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tpbWFdID0gIi1EaW1hPXRydWUsLURpbWE9ZmFsc2UiCi0jIGltcG9ydGQgcmVxdWlyZXMgY3VybC94ei96bGliL2J6aXAyL2djcnlwdAotUEFDS0FHRUNPTkZJR1tpbXBvcnRkXSA9ICItRGltcG9ydGQ9dHJ1ZSwtRGltcG9ydGQ9ZmFsc2UiCi0jIFVwZGF0ZSBOQVQgZmlyZXdhbGwgcnVsZXMKLVBBQ0tBR0VDT05GSUdbaXB0Y10gPSAiLURsaWJpcHRjPXRydWUsLURsaWJpcHRjPWZhbHNlLGlwdGFibGVzIgotUEFDS0FHRUNPTkZJR1tqb3VybmFsLXVwbG9hZF0gPSAiLURsaWJjdXJsPXRydWUsLURsaWJjdXJsPWZhbHNlLGN1cmwiCi1QQUNLQUdFQ09ORklHW2ttb2RdID0gIi1Ea21vZD10cnVlLC1Ea21vZD1mYWxzZSxrbW9kIgotUEFDS0FHRUNPTkZJR1tsZGNvbmZpZ10gPSAiLURsZGNvbmZpZz10cnVlLC1EbGRjb25maWc9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2xpYmlkbl0gPSAiLURsaWJpZG49dHJ1ZSwtRGxpYmlkbj1mYWxzZSxsaWJpZG4iCi1QQUNLQUdFQ09ORklHW2xvY2FsZWRdID0gIi1EbG9jYWxlZD10cnVlLC1EbG9jYWxlZD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbbG9naW5kXSA9ICItRGxvZ2luZD10cnVlLC1EbG9naW5kPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tsejRdID0gIi1EbHo0PXRydWUsLURsejQ9ZmFsc2UsbHo0IgotUEFDS0FHRUNPTkZJR1ttYWNoaW5lZF0gPSAiLURtYWNoaW5lZD10cnVlLC1EbWFjaGluZWQ9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItRG1hbj10cnVlLC1EbWFuPWZhbHNlLGxpYnhzbHQtbmF0aXZlIHhtbHRvLW5hdGl2ZSBkb2Nib29rLXhtbC1kdGQ0LW5hdGl2ZSBkb2Nib29rLXhzbC1zdHlsZXNoZWV0cy1uYXRpdmUiCi1QQUNLQUdFQ09ORklHW21pY3JvaHR0cGRdID0gIi1EbWljcm9odHRwZD10cnVlLC1EbWljcm9odHRwZD1mYWxzZSxsaWJtaWNyb2h0dHBkIgotUEFDS0FHRUNPTkZJR1tteWhvc3RuYW1lXSA9ICItRG15aG9zdG5hbWU9dHJ1ZSwtRG15aG9zdG5hbWU9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW25ldHdvcmtkXSA9ICItRG5ldHdvcmtkPXRydWUsLURuZXR3b3JrZD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbbnNzXSA9ICItRG5zcy1zeXN0ZW1kPXRydWUsLURuc3Mtc3lzdGVtZD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbcGFtXSA9ICItRHBhbT10cnVlLC1EcGFtPWZhbHNlLGxpYnBhbSwke1BBTV9QTFVHSU5TfSIKLVBBQ0tBR0VDT05GSUdbcG9sa2l0XSA9ICItRHBvbGtpdD10cnVlLC1EcG9sa2l0PWZhbHNlIgotUEFDS0FHRUNPTkZJR1twb3J0YWJsZWRdID0gIi1EcG9ydGFibGVkPXRydWUsLURwb3J0YWJsZWQ9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW3FyZW5jb2RlXSA9ICItRHFyZW5jb2RlPXRydWUsLURxcmVuY29kZT1mYWxzZSxxcmVuY29kZSIKLVBBQ0tBR0VDT05GSUdbcXVvdGFjaGVja10gPSAiLURxdW90YWNoZWNrPXRydWUsLURxdW90YWNoZWNrPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tyYW5kb21zZWVkXSA9ICItRHJhbmRvbXNlZWQ9dHJ1ZSwtRHJhbmRvbXNlZWQ9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW3Jlc29sdmVkXSA9ICItRHJlc29sdmU9dHJ1ZSwtRHJlc29sdmU9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW3Jma2lsbF0gPSAiLURyZmtpbGw9dHJ1ZSwtRHJma2lsbD1mYWxzZSIKLSMgbGlic2VjY29tcCBpcyBmb3VuZCBpbiBtZXRhLXNlY3VyaXR5Ci1QQUNLQUdFQ09ORklHW3NlY2NvbXBdID0gIi1Ec2VjY29tcD10cnVlLC1Ec2VjY29tcD1mYWxzZSxsaWJzZWNjb21wIgotUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItRHNlbGludXg9dHJ1ZSwtRHNlbGludXg9ZmFsc2UsbGlic2VsaW51eCxpbml0c2NyaXB0cy1zdXNoZWxsIgotUEFDS0FHRUNPTkZJR1tzbWFja10gPSAiLURzbWFjaz10cnVlLC1Ec21hY2s9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW3N5c3VzZXJzXSA9ICItRHN5c3VzZXJzPXRydWUsLURzeXN1c2Vycz1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbdGltZS1lcG9jaF0gPSAiLUR0aW1lLWVwb2NoPTAsLCIKLVBBQ0tBR0VDT05GSUdbdGltZWRhdGVkXSA9ICItRHRpbWVkYXRlZD10cnVlLC1EdGltZWRhdGVkPWZhbHNlIgotUEFDS0FHRUNPTkZJR1t0aW1lc3luY2RdID0gIi1EdGltZXN5bmNkPXRydWUsLUR0aW1lc3luY2Q9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW3Vzcm1lcmdlXSA9ICItRHNwbGl0LXVzcj1mYWxzZSwtRHNwbGl0LXVzcj10cnVlIgotUEFDS0FHRUNPTkZJR1tzYmlubWVyZ2VdID0gIi1Ec3BsaXQtYmluPWZhbHNlLC1Ec3BsaXQtYmluPXRydWUiCi1QQUNLQUdFQ09ORklHW3V0bXBdID0gIi1EdXRtcD10cnVlLC1EdXRtcD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi1EVkFMR1JJTkQ9MSwsdmFsZ3JpbmQiCi1QQUNLQUdFQ09ORklHW3Zjb25zb2xlXSA9ICItRHZjb25zb2xlPXRydWUsLUR2Y29uc29sZT1mYWxzZSwsJHtQTn0tdmNvbnNvbGUtc2V0dXAiCi0jIFZlcmlmeSBrZXltYXBzIG9uIGxvY2FsZSBjaGFuZ2UKLVBBQ0tBR0VDT05GSUdbeGtiY29tbW9uXSA9ICItRHhrYmNvbW1vbj10cnVlLC1EeGtiY29tbW9uPWZhbHNlLGxpYnhrYmNvbW1vbiIKLVBBQ0tBR0VDT05GSUdbeHpdID0gIi1EeHo9dHJ1ZSwtRHh6PWZhbHNlLHh6IgotUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItRHpsaWI9dHJ1ZSwtRHpsaWI9ZmFsc2UsemxpYiIKLQotIyBIZWxwZXIgdmFyaWFibGVzIHRvIGNsYXJpZnkgbG9jYXRpb25zLiAgVGhpcyBtaXJyb3JzIHRoZSBsb2dpYyBpbiBzeXN0ZW1kJ3MKLSMgYnVpbGQgc3lzdGVtLgotcm9vdHByZWZpeCA/PSAiJHtyb290X3ByZWZpeH0iCi1yb290bGliZGlyID89ICIke2Jhc2VfbGliZGlyfSIKLXJvb3RsaWJleGVjZGlyID0gIiR7cm9vdHByZWZpeH0vbGliIgotCi0jIFRoaXMgbGlua3MgdWRldiBzdGF0aWNhbGx5IHdpdGggc3lzdGVtZCBoZWxwZXIgbGlicmFyeS4KLSMgT3RoZXJ3aXNlIHVkZXYgcGFja2FnZSB3b3VsZCBkZXBlbmQgb24gc3lzdGVtZCBwYWNrYWdlICh3aGljaCBoYXMgdGhlIG5lZWRlZCBzaGFyZWQgbGlicmFyeSksCi0jIGFuZCBhbHdheXMgcHVsbCBpdCBpbnRvIGltYWdlcy4KLUVYVFJBX09FTUVTT04gKz0gIi1EbGluay11ZGV2LXNoYXJlZD1mYWxzZSIKLQotRVhUUkFfT0VNRVNPTiArPSAiLURub2JvZHktdXNlcj1ub2JvZHkgXAotICAgICAgICAgICAgICAgICAgLURub2JvZHktZ3JvdXA9bm9ib2R5IFwKLSAgICAgICAgICAgICAgICAgIC1Ecm9vdGhvbWVkaXI9JHtST09UX0hPTUV9IFwKLSAgICAgICAgICAgICAgICAgIC1Ecm9vdGxpYmRpcj0ke3Jvb3RsaWJkaXJ9IFwKLSAgICAgICAgICAgICAgICAgIC1Ecm9vdHByZWZpeD0ke3Jvb3RwcmVmaXh9IFwKLSAgICAgICAgICAgICAgICAgIC1Ec3lzdnJjbmQtcGF0aD0ke3N5c2NvbmZkaXJ9IFwKLSAgICAgICAgICAgICAgICAgICIKLQotIyBIYXJkY29kZSB0YXJnZXQgYmluYXJ5IHBhdGhzIHRvIGF2b2lkIHVzaW5nIHBhdGhzIGZyb20gc3lzcm9vdAotRVhUUkFfT0VNRVNPTiArPSAiLURrZXhlYy1wYXRoPSR7c2JpbmRpcn0va2V4ZWMgXAotICAgICAgICAgICAgICAgICAgLURraWxsLXBhdGg9JHtiYXNlX2JpbmRpcn0va2lsbCBcCi0gICAgICAgICAgICAgICAgICAtRGttb2QtcGF0aD0ke2Jhc2VfYmluZGlyfS9rbW9kIFwKLSAgICAgICAgICAgICAgICAgIC1EbW91bnQtcGF0aD0ke2Jhc2VfYmluZGlyfS9tb3VudCBcCi0gICAgICAgICAgICAgICAgICAtRHF1b3RhY2hlY2stcGF0aD0ke3NiaW5kaXJ9L3F1b3RhY2hlY2sgXAotICAgICAgICAgICAgICAgICAgLURxdW90YW9uLXBhdGg9JHtzYmluZGlyfS9xdW90YW9uIFwKLSAgICAgICAgICAgICAgICAgIC1Ec3Vsb2dpbi1wYXRoPSR7YmFzZV9zYmluZGlyfS9zdWxvZ2luIFwKLSAgICAgICAgICAgICAgICAgIC1EdW1vdW50LXBhdGg9JHtiYXNlX2JpbmRpcn0vdW1vdW50IgotCi1kb19pbnN0YWxsKCkgewotCW1lc29uX2RvX2luc3RhbGwKLQlpbnN0YWxsIC1kICR7RH0vJHtiYXNlX3NiaW5kaXJ9Ci0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc2VyaWFsLWdldHR5LWdlbmVyYXRvcicsICdmYWxzZScsICd0cnVlJywgZCl9OyB0aGVuCi0JCSMgUHJvdmlkZWQgYnkgYSBzZXBhcmF0ZSByZWNpcGUKLQkJcm0gJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc2VyaWFsLWdldHR5KiAtZgotCWZpCi0KLQkjIFByb3ZpZGUgc3VwcG9ydCBmb3IgaW5pdHJhbWZzCi0JWyAhIC1lICR7RH0vaW5pdCBdICYmIGxuIC1zICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZCAke0R9L2luaXQKLQlbICEgLWUgJHtEfS8ke2Jhc2Vfc2JpbmRpcn0vdWRldmQgXSAmJiBsbiAtcyAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtdWRldmQgJHtEfS8ke2Jhc2Vfc2JpbmRpcn0vdWRldmQKLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdWRldi9ydWxlcy5kLwotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LyoucnVsZXMgJHtEfSR7c3lzY29uZmRpcn0vdWRldi9ydWxlcy5kLwotCWluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wa2djb25maWcKLQlpbnN0YWxsIC1tIDA2NDQgJHtCfS9zcmMvdWRldi91ZGV2LnBjICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnLwotCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vMDAtY3JlYXRlLXZvbGF0aWxlLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC8KLQotCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN2aW5pdCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCi0JCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0JCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3N5c3RlbWQtdWRldmQKLQkJc2VkIC1pIHMlQFVERVZEQCUke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtdWRldmQlICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zeXN0ZW1kLXVkZXZkCi0JZmkKLQotCWNob3duIHJvb3Q6c3lzdGVtZC1qb3VybmFsICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9sb2cvam91cm5hbAotCi0JIyBEZWxldGUgam91cm5hbCBSRUFETUUsIGFzIGxvZyBjYW4gYmUgc3ltbGlua2VkIGluc2lkZSB2b2xhdGlsZS4KLQlybSAtZiAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vbG9nL1JFQURNRQotCi0JIyBqb3VybmFsLXJlbW90ZSBjcmVhdGVzIHRoaXMgYXQgc3RhcnQKLQlybSAtcmYgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L2xvZy9qb3VybmFsL3JlbW90ZQotCi0JaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9ncmFwaGljYWwudGFyZ2V0LndhbnRzCi0JaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9tdWx0aS11c2VyLnRhcmdldC53YW50cwotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcG93ZXJvZmYudGFyZ2V0LndhbnRzCi0JaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9yZWJvb3QudGFyZ2V0LndhbnRzCi0JaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9yZXNjdWUudGFyZ2V0LndhbnRzCi0KLQkjIENyZWF0ZSBzeW1saW5rcyBmb3Igc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCi0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndXRtcCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0JCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vZ3JhcGhpY2FsLnRhcmdldC53YW50cy9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UKLQkJbG4gLXNmIC4uL3N5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9tdWx0aS11c2VyLnRhcmdldC53YW50cy9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UKLQkJbG4gLXNmIC4uL3N5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9wb3dlcm9mZi50YXJnZXQud2FudHMvc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCi0JCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmVib290LnRhcmdldC53YW50cy9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UKLQkJbG4gLXNmIC4uL3N5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9yZXNjdWUudGFyZ2V0LndhbnRzL3N5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZQotCWZpCi0KLQkjIHRoaXMgZmlsZSBpcyBuZWVkZWQgdG8gZXhpc3QgaWYgbmV0d29ya2QgaXMgZGlzYWJsZWQgYnV0IHRpbWVzeW5jZCBpcyBzdGlsbCBpbiB1c2Ugc2luY2UgdGltZXN5bmNkIGNoZWNrcyBpdAotCSMgZm9yIGV4aXN0ZW5jZSBlbHNlIGl0IGZhaWxzCi0JaWYgWyAtcyAke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvc3lzdGVtZC5jb25mIF07IHRoZW4KLQkJJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbmV0d29ya2QnLCAnOicsICdzZWQgLWkgLWUgIlwkYWQgL3J1bi9zeXN0ZW1kL25ldGlmL2xpbmtzIDA3NTUgcm9vdCByb290IC0iICR7RH0ke2V4ZWNfcHJlZml4fS9saWIvdG1wZmlsZXMuZC9zeXN0ZW1kLmNvbmYnLCBkKX0KLQlmaQotCWlmICEgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncmVzb2x2ZWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotCQllY2hvICdMISAke3N5c2NvbmZkaXJ9L3Jlc29sdi5jb25mIC0gLSAtIC0gLi4vcnVuL3N5c3RlbWQvcmVzb2x2ZS9yZXNvbHYuY29uZicgPj4ke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvZXRjLmNvbmYKLQkJZWNobyAnZCAvcnVuL3N5c3RlbWQvcmVzb2x2ZSAwNzU1IHJvb3Qgcm9vdCAtJyA+PiR7RH0ke2V4ZWNfcHJlZml4fS9saWIvdG1wZmlsZXMuZC9zeXN0ZW1kLmNvbmYKLQkJZWNobyAnZiAvcnVuL3N5c3RlbWQvcmVzb2x2ZS9yZXNvbHYuY29uZiAwNjQ0IHJvb3Qgcm9vdCcgPj4ke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvc3lzdGVtZC5jb25mCi0JCWxuIC1zIC4uL3J1bi9zeXN0ZW1kL3Jlc29sdmUvcmVzb2x2LmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vcmVzb2x2LWNvbmYuc3lzdGVtZAotCWVsc2UKLQkJc2VkIC1pIC1lICJzJV5MISAvZXRjL3Jlc29sdi5jb25mLiokJUwhIC9ldGMvcmVzb2x2LmNvbmYgLSAtIC0gLSAuLi9ydW4vc3lzdGVtZC9yZXNvbHZlL3Jlc29sdi5jb25mJWciICR7RH0ke2V4ZWNfcHJlZml4fS9saWIvdG1wZmlsZXMuZC9ldGMuY29uZgotCQlsbiAtcyAuLi9ydW4vc3lzdGVtZC9yZXNvbHZlL3Jlc29sdi5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3Jlc29sdi1jb25mLnN5c3RlbWQKLQlmaQotCWluc3RhbGwgLURtIDA3NTUgJHtTfS9zcmMvc3lzdGVtY3RsL3N5c3RlbWQtc3lzdi1pbnN0YWxsLlNLRUxFVE9OICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtZC1zeXN2LWluc3RhbGwKLQotCSMgSWYgcG9sa2l0IGlzIHNldHVwIGZpeHVwIHBlcm1pc3Npb25zIGFuZCBvd25lcnNoaXAKLQlpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwb2xraXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotCQlpZiBbIC1kICR7RH0ke2RhdGFkaXJ9L3BvbGtpdC0xL3J1bGVzLmQgXTsgdGhlbgotCQkJY2htb2QgNzAwICR7RH0ke2RhdGFkaXJ9L3BvbGtpdC0xL3J1bGVzLmQKLQkJCWNob3duIHBvbGtpdGQ6cm9vdCAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9ydWxlcy5kCi0JCWZpCi0JZmkKLQotCSMgY29uZiBmaWxlcyBhcmUgaGFuZGxlZCBieSBzeXN0ZW1kLWNvbmYKLQlybSAtZiAke0R9JHtzeXNjb25mZGlyfS9tYWNoaW5lLWlkCi0Jcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vc3lzdGVtZC9jb3JlZHVtcC5jb25mCi0Jcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vc3lzdGVtZC9qb3VybmFsZC5jb25mCi0Jcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vc3lzdGVtZC9sb2dpbmQuY29uZgotCXJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L3N5c3RlbWQvc3lzdGVtLmNvbmYKLQlybSAtZiAke0R9JHtzeXNjb25mZGlyfS9zeXN0ZW1kL3VzZXIuY29uZgotCi0JIyBkdXBsaWNhdGUgdWRldmFkbSBmb3IgcG9zdGluc3Qgc2NyaXB0Ci0JaW5zdGFsbCAtZCAke0R9JHtsaWJleGVjZGlyfQotCWxuICR7RH0ke2Jhc2VfYmluZGlyfS91ZGV2YWRtICR7RH0ke2xpYmV4ZWNkaXJ9LyR7TUxQUkVGSVh9dWRldmFkbQotfQotCi0KLXB5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpewotICAgIHN5c3RlbWRsaWJkaXIgPSBkLmdldFZhcigicm9vdGxpYmRpciIpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgc3lzdGVtZGxpYmRpciwgJ15saWIoLiopXC5zb1wuKicsICdsaWIlcycsICdTeXN0ZW1kICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQotfQotUEFDS0FHRVNfRFlOQU1JQyArPSAiXmxpYih1ZGV2fHN5c3RlbWR8bnNzKS4qIgotCi1QQUNLQUdFUyA9KyAiXAotICAgICR7UE59LWd1aSBcCi0gICAgJHtQTn0tdmNvbnNvbGUtc2V0dXAgXAotICAgICR7UE59LWluaXRyYW1mcyBcCi0gICAgJHtQTn0tYW5hbHl6ZSBcCi0gICAgJHtQTn0ta2VybmVsLWluc3RhbGwgXAotICAgICR7UE59LXJwbS1tYWNyb3MgXAotICAgICR7UE59LWJpbmZtdCBcCi0gICAgJHtQTn0tenNoLWNvbXBsZXRpb24gXAotICAgICR7UE59LXhvcmcteGluaXRyYyBcCi0gICAgJHtQTn0tY29udGFpbmVyIFwKLSAgICAke1BOfS1qb3VybmFsLWdhdGV3YXlkIFwKLSAgICAke1BOfS1qb3VybmFsLXVwbG9hZCBcCi0gICAgJHtQTn0tam91cm5hbC1yZW1vdGUgXAotICAgICR7UE59LWV4dHJhLXV0aWxzIFwKLSIKLQotU1VNTUFSWV8ke1BOfS1jb250YWluZXIgPSAiVG9vbHMgZm9yIGNvbnRhaW5lcnMgYW5kIFZNcyIKLURFU0NSSVBUSU9OXyR7UE59LWNvbnRhaW5lciA9ICJTeXN0ZW1kIHRvb2xzIHRvIHNwYXduIGFuZCBtYW5hZ2UgY29udGFpbmVycyBhbmQgdmlydHVhbCBtYWNoaW5lcy4iCi0KLVNVTU1BUllfJHtQTn0tam91cm5hbC1nYXRld2F5ZCA9ICJIVFRQIHNlcnZlciBmb3Igam91cm5hbCBldmVudHMiCi1ERVNDUklQVElPTl8ke1BOfS1qb3VybmFsLWdhdGV3YXlkID0gInN5c3RlbWQtam91cm5hbC1nYXRld2F5ZCBzZXJ2ZXMgam91cm5hbCBldmVudHMgb3ZlciB0aGUgbmV0d29yay4gQ2xpZW50cyBtdXN0IGNvbm5lY3QgdXNpbmcgSFRUUC4gVGhlIHNlcnZlciBsaXN0ZW5zIG9uIHBvcnQgMTk1MzEgYnkgZGVmYXVsdC4iCi0KLVNVTU1BUllfJHtQTn0tam91cm5hbC11cGxvYWQgPSAiU2VuZCBqb3VybmFsIG1lc3NhZ2VzIG92ZXIgdGhlIG5ldHdvcmsiCi1ERVNDUklQVElPTl8ke1BOfS1qb3VybmFsLXVwbG9hZCA9ICJzeXN0ZW1kLWpvdXJuYWwtdXBsb2FkIHVwbG9hZHMgam91cm5hbCBlbnRyaWVzIHRvIGEgc3BlY2lmaWVkIFVSTC4iCi0KLVNVTU1BUllfJHtQTn0tam91cm5hbC1yZW1vdGUgPSAiUmVjZWl2ZSBqb3VybmFsIG1lc3NhZ2VzIG92ZXIgdGhlIG5ldHdvcmsiCi1ERVNDUklQVElPTl8ke1BOfS1qb3VybmFsLXJlbW90ZSA9ICJzeXN0ZW1kLWpvdXJuYWwtcmVtb3RlIGlzIGEgY29tbWFuZCB0byByZWNlaXZlIHNlcmlhbGl6ZWQgam91cm5hbCBldmVudHMgYW5kIHN0b3JlIHRoZW0gdG8gam91cm5hbCBmaWxlcy4iCi0KLVNZU1RFTURfUEFDS0FHRVMgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnYmluZm10JywgJyR7UE59LWJpbmZtdCcsICcnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdtaWNyb2h0dHBkJywgJyR7UE59LWpvdXJuYWwtZ2F0ZXdheWQnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbWljcm9odHRwZCcsICcke1BOfS1qb3VybmFsLXJlbW90ZScsICcnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdqb3VybmFsLXVwbG9hZCcsICcke1BOfS1qb3VybmFsLXVwbG9hZCcsICcnLCBkKX0gXAotIgotU1lTVEVNRF9TRVJWSUNFXyR7UE59LWJpbmZtdCA9ICJzeXN0ZW1kLWJpbmZtdC5zZXJ2aWNlIgotCi1VU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59ICR7UE59LWV4dHJhLXV0aWxzIFwKLSAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbWljcm9odHRwZCcsICcke1BOfS1qb3VybmFsLWdhdGV3YXknLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbWljcm9odHRwZCcsICcke1BOfS1qb3VybmFsLXJlbW90ZScsICcnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdqb3VybmFsLXVwbG9hZCcsICcke1BOfS1qb3VybmFsLXVwbG9hZCcsICcnLCBkKX0gXAotIgotR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLXIgc3lzdGVtZC1qb3VybmFsIgotVVNFUkFERF9QQVJBTV8ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnY29yZWR1bXAnLCAnLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLWNvcmVkdW1wOycsICcnLCBkKX0iCi1VU0VSQUREX1BBUkFNXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICduZXR3b3JrZCcsICctLXN5c3RlbSAtZCAvIC1NIC0tc2hlbGwgL2Jpbi9ub2xvZ2luIHN5c3RlbWQtbmV0d29yazsnLCAnJywgZCl9IgotVVNFUkFERF9QQVJBTV8ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncG9sa2l0JywgJy0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgLS11c2VyLWdyb3VwIC0taG9tZS1kaXIgJHtzeXNjb25mZGlyfS9wb2xraXQtMSBwb2xraXRkOycsICcnLCBkKX0iCi1VU0VSQUREX1BBUkFNXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdyZXNvbHZlZCcsICctLXN5c3RlbSAtZCAvIC1NIC0tc2hlbGwgL2Jpbi9ub2xvZ2luIHN5c3RlbWQtcmVzb2x2ZTsnLCAnJywgZCl9IgotVVNFUkFERF9QQVJBTV8ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndGltZXN5bmNkJywgJy0tc3lzdGVtIC1kIC8gLU0gLS1zaGVsbCAvYmluL25vbG9naW4gc3lzdGVtZC10aW1lc3luYzsnLCAnJywgZCl9IgotVVNFUkFERF9QQVJBTV8ke1BOfS1leHRyYS11dGlscyA9ICItLXN5c3RlbSAtZCAvIC1NIC0tc2hlbGwgL2Jpbi9ub2xvZ2luIHN5c3RlbWQtYnVzLXByb3h5IgotVVNFUkFERF9QQVJBTV8ke1BOfS1qb3VybmFsLWdhdGV3YXkgPSAiLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheSIKLVVTRVJBRERfUEFSQU1fJHtQTn0tam91cm5hbC1yZW1vdGUgPSAiLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLWpvdXJuYWwtcmVtb3RlIgotVVNFUkFERF9QQVJBTV8ke1BOfS1qb3VybmFsLXVwbG9hZCA9ICItLXN5c3RlbSAtZCAvIC1NIC0tc2hlbGwgL2Jpbi9ub2xvZ2luIHN5c3RlbWQtam91cm5hbC11cGxvYWQiCi0KLUZJTEVTXyR7UE59LWFuYWx5emUgPSAiJHtiaW5kaXJ9L3N5c3RlbWQtYW5hbHl6ZSIKLQotRklMRVNfJHtQTn0taW5pdHJhbWZzID0gIi9pbml0IgotUkRFUEVORFNfJHtQTn0taW5pdHJhbWZzID0gIiR7UE59IgotCi1GSUxFU18ke1BOfS1ndWkgPSAiJHtiaW5kaXJ9L3N5c3RlbWFkbSIKLQotRklMRVNfJHtQTn0tdmNvbnNvbGUtc2V0dXAgPSAiJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXZjb25zb2xlLXNldHVwIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC12Y29uc29sZS1zZXR1cC5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzaW5pdC50YXJnZXQud2FudHMvc3lzdGVtZC12Y29uc29sZS1zZXR1cC5zZXJ2aWNlIgotCi1SREVQRU5EU18ke1BOfS1rZXJuZWwtaW5zdGFsbCArPSAiYmFzaCIKLUZJTEVTXyR7UE59LWtlcm5lbC1pbnN0YWxsID0gIiR7YmluZGlyfS9rZXJuZWwtaW5zdGFsbCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2tlcm5lbC8gXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL2tlcm5lbCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLUZJTEVTXyR7UE59LXJwbS1tYWNyb3MgPSAiJHtleGVjX3ByZWZpeH0vbGliL3JwbSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIgotCi1GSUxFU18ke1BOfS14b3JnLXhpbml0cmMgPSAiJHtzeXNjb25mZGlyfS9YMTEveGluaXQveGluaXRyYy5kLyoiCi0KLUZJTEVTXyR7UE59LXpzaC1jb21wbGV0aW9uID0gIiR7ZGF0YWRpcn0venNoL3NpdGUtZnVuY3Rpb25zIgotCi1GSUxFU18ke1BOfS1iaW5mbXQgPSAiJHtzeXNjb25mZGlyfS9iaW5mbXQuZC8gXAotICAgICAgICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi9iaW5mbXQuZCBcCi0gICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWJpbmZtdCBcCi0gICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9wcm9jLXN5cy1mcy1iaW5mbXRfbWlzYy4qIFwKLSAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtYmluZm10LnNlcnZpY2UiCi1SUkVDT01NRU5EU18ke1BOfS1iaW5mbXQgPSAia2VybmVsLW1vZHVsZS1iaW5mbXQtbWlzYyIKLQotUlJFQ09NTUVORFNfJHtQTn0tdmNvbnNvbGUtc2V0dXAgPSAia2JkIGtiZC1jb25zb2xlZm9udHMga2JkLWtleW1hcHMiCi0KLQotRklMRVNfJHtQTn0tam91cm5hbC1nYXRld2F5ZCA9ICIke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtam91cm5hbC1nYXRld2F5ZCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vc3lzdGVtZC1qb3VybmFsLWdhdGV3YXlkLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtam91cm5hbC1nYXRld2F5ZC5zb2NrZXQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3NvY2tldHMudGFyZ2V0LndhbnRzL3N5c3RlbWQtam91cm5hbC1nYXRld2F5ZC5zb2NrZXQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3N5c3RlbWQvZ2F0ZXdheWQvYnJvd3NlLmh0bWwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLVNZU1RFTURfU0VSVklDRV8ke1BOfS1qb3VybmFsLWdhdGV3YXlkID0gInN5c3RlbWQtam91cm5hbC1nYXRld2F5ZC5zb2NrZXQiCi0KLUZJTEVTXyR7UE59LWpvdXJuYWwtdXBsb2FkID0gIiR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1qb3VybmFsLXVwbG9hZCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtam91cm5hbC11cGxvYWQuc2VydmljZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3N5c3RlbWQvam91cm5hbC11cGxvYWQuY29uZiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLVNZU1RFTURfU0VSVklDRV8ke1BOfS1qb3VybmFsLXVwbG9hZCA9ICJzeXN0ZW1kLWpvdXJuYWwtdXBsb2FkLnNlcnZpY2UiCi0KLUZJTEVTXyR7UE59LWpvdXJuYWwtcmVtb3RlID0gIiR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1qb3VybmFsLXJlbW90ZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3N5c3RlbWQvam91cm5hbC1yZW1vdGUuY29uZiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtam91cm5hbC1yZW1vdGUuc2VydmljZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtam91cm5hbC1yZW1vdGUuc29ja2V0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgotU1lTVEVNRF9TRVJWSUNFXyR7UE59LXJlbW90ZSA9ICJzeXN0ZW1kLWpvdXJuYWwtcmVtb3RlLnNvY2tldCIKLQotCi1GSUxFU18ke1BOfS1jb250YWluZXIgPSAiJHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLmltcG9ydDEuY29uZiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLm1hY2hpbmUxLmNvbmYgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7YmFzZV9iaW5kaXJ9L21hY2hpbmVjdGwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLW5zcGF3biBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtub25hcmNoX2xpYmRpcn0vc3lzdGVtZC9pbXBvcnQtcHVicmluZy5ncGcgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vYnVzbmFtZXMudGFyZ2V0LndhbnRzL29yZy5mcmVlZGVza3RvcC5pbXBvcnQxLmJ1c25hbWUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vYnVzbmFtZXMudGFyZ2V0LndhbnRzL29yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5idXNuYW1lIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2xvY2FsLWZzLnRhcmdldC53YW50cy92YXItbGliLW1hY2hpbmVzLm1vdW50IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L21hY2hpbmUuc2xpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbWFjaGluZXMudGFyZ2V0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L29yZy5mcmVlZGVza3RvcC5pbXBvcnQxLmJ1c25hbWUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vb3JnLmZyZWVkZXNrdG9wLm1hY2hpbmUxLmJ1c25hbWUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vc3lzdGVtZC1pbXBvcnRkLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vc3lzdGVtZC1tYWNoaW5lZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2RidXMtb3JnLmZyZWVkZXNrdG9wLm1hY2hpbmUxLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vdmFyLWxpYi1tYWNoaW5lcy5tb3VudCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWltcG9ydCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWltcG9ydGQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1tYWNoaW5lZCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXB1bGwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL3N5c3RlbWQtbnNwYXduLmNvbmYgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vc3lzdGVtZC1uc3Bhd25ALnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJuc3NfbXltYWNoaW5lcy5zby4yIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMvb3JnLmZyZWVkZXNrdG9wLmltcG9ydDEuc2VydmljZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzL29yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AuaW1wb3J0MS5jb25mIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AubWFjaGluZTEuY29uZiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9wb2xraXQtMS9hY3Rpb25zL29yZy5mcmVlZGVza3RvcC5pbXBvcnQxLnBvbGljeSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9wb2xraXQtMS9hY3Rpb25zL29yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5wb2xpY3kgXAotICAgICAgICAgICAgICAgICAgICAgICAgIgotCi1SUkVDT01NRU5EU18ke1BOfS1jb250YWluZXIgKz0gIlwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke1BOfS1qb3VybmFsLXVwbG9hZCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtQTn0tam91cm5hbC1yZW1vdGUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7UE59LWpvdXJuYWwtZ2F0ZXdheWQgXAotICAgICAgICAgICAgICAgICAgICAgICAgIgotCi1GSUxFU18ke1BOfS1leHRyYS11dGlscyA9ICJcCi0gICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9zeXN0ZW1kLWVzY2FwZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9zeXN0ZW1kLWluaGliaXQgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQtZGV0ZWN0LXZpcnQgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQtcGF0aCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vc3lzdGVtZC1ydW4gXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQtY2F0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWRlbHRhIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWNnbHMgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQtY2d0b3AgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQtc3RkaW8tYnJpZGdlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7YmFzZV9iaW5kaXJ9L3N5c3RlbWQtYXNrLXBhc3N3b3JkIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7YmFzZV9iaW5kaXJ9L3N5c3RlbWQtdHR5LWFzay1wYXNzd29yZC1hZ2VudCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtYXNrLXBhc3N3b3JkLWNvbnNvbGUucGF0aCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtYXNrLXBhc3N3b3JkLWNvbnNvbGUuc2VydmljZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtYXNrLXBhc3N3b3JkLXdhbGwucGF0aCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtYXNrLXBhc3N3b3JkLXdhbGwuc2VydmljZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c2luaXQudGFyZ2V0LndhbnRzL3N5c3RlbWQtYXNrLXBhc3N3b3JkLWNvbnNvbGUucGF0aCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c2luaXQudGFyZ2V0LndhbnRzL3N5c3RlbWQtYXNrLXBhc3N3b3JkLXdhbGwucGF0aCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL211bHRpLXVzZXIudGFyZ2V0LndhbnRzL3N5c3RlbWQtYXNrLXBhc3N3b3JkLXdhbGwucGF0aCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtcmVzb2x2ZS1ob3N0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1hYy1wb3dlciBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtYWN0aXZhdGUgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWJ1cy1wcm94eWQgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWJ1cy1wcm94eWQuc2VydmljZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtYnVzLXByb3h5ZC5zb2NrZXQgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXNvY2tldC1wcm94eWQgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXJlcGx5LXBhc3N3b3JkIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1zbGVlcCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbS1zbGVlcCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtaGliZXJuYXRlLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWh5YnJpZC1zbGVlcC5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC1zdXNwZW5kLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zbGVlcC50YXJnZXQgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWluaXRjdGwgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWluaXRjdGwuc2VydmljZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtaW5pdGN0bC5zb2NrZXQgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zb2NrZXRzLnRhcmdldC53YW50cy9zeXN0ZW1kLWluaXRjdGwuc29ja2V0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtLWdlbmVyYXRvcnMvc3lzdGVtZC1ncHQtYXV0by1nZW5lcmF0b3IgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWNncm91cHMtYWdlbnQgXAotIgotCi1GSUxFU18ke1BOfSA9ICIgJHtiYXNlX2JpbmRpcn0vKiBcCi0gICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L3NodXRkb3duIFwKLSAgICAgICAgICAgICAgICAke2Jhc2Vfc2JpbmRpcn0vaGFsdCBcCi0gICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L3Bvd2Vyb2ZmIFwKLSAgICAgICAgICAgICAgICAke2Jhc2Vfc2JpbmRpcn0vcnVubGV2ZWwgXAotICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS90ZWxpbml0IFwKLSAgICAgICAgICAgICAgICAke2Jhc2Vfc2JpbmRpcn0vcmVzb2x2Y29uZiBcCi0gICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L3JlYm9vdCBcCi0gICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L2luaXQgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtCUE59IFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2ZhY3RvcnkgXAotICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGJ1cy0xLyBcCi0gICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb2R1bGVzLWxvYWQuZC8gXAotICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vcGFtLmQvIFwKLSAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3N5c2N0bC5kLyBcCi0gICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9zeXN0ZW1kLyBcCi0gICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS90bXBmaWxlcy5kLyBcCi0gICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS94ZGcvIFwKLSAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9SRUFETUUgXAotICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vcmVzb2x2LWNvbmYuc3lzdGVtZCBcCi0gICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC8qIFwKLSAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vKiBcCi0gICAgICAgICAgICAgICAgJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkvKi5zbyBcCi0gICAgICAgICAgICAgICAgL2Nncm91cCBcCi0gICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQqIFwKLSAgICAgICAgICAgICAgICAke2JpbmRpcn0vYnVzY3RsIFwKLSAgICAgICAgICAgICAgICAke2JpbmRpcn0vY29yZWR1bXBjdGwgXAotICAgICAgICAgICAgICAgICR7YmluZGlyfS9sb2NhbGVjdGwgXAotICAgICAgICAgICAgICAgICR7YmluZGlyfS9ob3N0bmFtZWN0bCBcCi0gICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3Jlc29sdmVjdGwgXAotICAgICAgICAgICAgICAgICR7YmluZGlyfS90aW1lZGF0ZWN0bCBcCi0gICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2Jvb3RjdGwgXAotICAgICAgICAgICAgICAgICR7YmluZGlyfS9rZXJuZWwtaW5zdGFsbCBcCi0gICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvKi5jb25mIFwKLSAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvc3lzdGVtZCBcCi0gICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL21vZHVsZXMtbG9hZC5kIFwKLSAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvc3lzY3RsLmQgXAotICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi9zeXN1c2Vycy5kIFwKLSAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvZW52aXJvbm1lbnQuZCBcCi0gICAgICAgICAgICAgICAgJHtsb2NhbHN0YXRlZGlyfSBcCi0gICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvNzAtdWFjY2Vzcy5ydWxlcyBcCi0gICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvNzEtc2VhdC5ydWxlcyBcCi0gICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvNzMtc2VhdC1sYXRlLnJ1bGVzIFwKLSAgICAgICAgICAgICAgICAke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvcnVsZXMuZC85OS1zeXN0ZW1kLnJ1bGVzIFwKLSAgICAgICAgICAgICAgICAke25vbmFyY2hfYmFzZV9saWJkaXJ9L21vZHByb2JlLmQvc3lzdGVtZC5jb25mIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AudGltZWRhdGUxLmNvbmYgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5sb2NhbGUxLmNvbmYgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5uZXR3b3JrMS5jb25mIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AucmVzb2x2ZTEuY29uZiBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLnN5c3RlbWQxLmNvbmYgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5ob3N0bmFtZTEuY29uZiBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLmxvZ2luMS5jb25mIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AudGltZXN5bmMxLmNvbmYgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5wb3J0YWJsZTEuY29uZiBcCi0gICAgICAgICAgICAgICAiCi0KLUZJTEVTXyR7UE59LWRldiArPSAiJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkvKi5sYSAke2RhdGFkaXJ9L2RidXMtMS9pbnRlcmZhY2VzLyAke3N5c2NvbmZkaXJ9L3JwbS9tYWNyb3Muc3lzdGVtZCIKLQotUkRFUEVORFNfJHtQTn0gKz0gImttb2QgZGJ1cyB1dGlsLWxpbnV4LW1vdW50IHV0aWwtbGludXgtdW1vdW50IHVkZXYgKD0gJHtFWFRFTkRQS0dWfSkgdXRpbC1saW51eC1hZ2V0dHkgdXRpbC1saW51eC1mc2NrIgotUkRFUEVORFNfJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3NlcmlhbC1nZXR0eS1nZW5lcmF0b3InLCAnJywgJ3N5c3RlbWQtc2VyaWFsZ2V0dHknLCBkKX0iCi1SREVQRU5EU18ke1BOfSArPSAidm9sYXRpbGUtYmluZHMgdXBkYXRlLXJjLmQgc3lzdGVtZC1jb25mIgotCi1SUkVDT01NRU5EU18ke1BOfSArPSAic3lzdGVtZC1leHRyYS11dGlscyBcCi0gICAgICAgICAgICAgICAgICAgICAgc3lzdGVtZC1jb21wYXQtdW5pdHMgdWRldi1od2RiIFwKLSAgICAgICAgICAgICAgICAgICAgICBlMmZzcHJvZ3MtZTJmc2NrIFwKLSAgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLWF1dG9mczQga2VybmVsLW1vZHVsZS11bml4IGtlcm5lbC1tb2R1bGUtaXB2NiBcCi0gICAgICAgICAgICAgICAgICAgICAgb3MtcmVsZWFzZSBcCi0iCi0KLUlOU0FORV9TS0lQXyR7UE59ICs9ICJkZXYtc28gbGliZGlyIgotSU5TQU5FX1NLSVBfJHtQTn0tZGJnICs9ICJsaWJkaXIiCi1JTlNBTkVfU0tJUF8ke1BOfS1kb2MgKz0gIiBsaWJkaXIiCi0KLVBBQ0tBR0VTID0rICJ1ZGV2IHVkZXYtaHdkYiIKLQotUlBST1ZJREVTX3VkZXYgPSAiaG90cGx1ZyIKLQotUkRFUEVORFNfdWRldi1od2RiICs9ICJ1ZGV2IgotCi1GSUxFU191ZGV2ICs9ICIke2Jhc2Vfc2JpbmRpcn0vdWRldmQgXAotICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXVkZXZkIFwKLSAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYvYWNjZWxlcm9tZXRlciBcCi0gICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2F0YV9pZCBcCi0gICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2Nkcm9tX2lkIFwKLSAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYvY29sbGVjdCBcCi0gICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2ZpbmRrZXlib2FyZHMgXAotICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9rZXlib2FyZC1mb3JjZS1yZWxlYXNlLnNoIFwKLSAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYva2V5bWFwIFwKLSAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYvbXRkX3Byb2JlIFwKLSAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYvc2NzaV9pZCBcCi0gICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L3Y0bF9pZCBcCi0gICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2tleW1hcHMgXAotICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9ydWxlcy5kLyoucnVsZXMgXAotICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS91ZGV2IFwKLSAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL3N5c3RlbWQtdWRldmQgXAotICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qdWRldiogXAotICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLndhbnRzLyp1ZGV2KiBcCi0gICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS91ZGV2YWRtIFwKLSAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vJHtNTFBSRUZJWH11ZGV2YWRtIFwKLSAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vYmFzaC1jb21wbGV0aW9uL2NvbXBsZXRpb25zL3VkZXZhZG0gXAotICAgICAgICAgICAgICAiCi0KLUZJTEVTX3VkZXYtaHdkYiA9ICIke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2h3ZGIuZCIKLQotSU5JVFNDUklQVF9QQUNLQUdFUyA9ICJ1ZGV2IgotSU5JVFNDUklQVF9OQU1FX3VkZXYgPSAic3lzdGVtZC11ZGV2ZCIKLUlOSVRTQ1JJUFRfUEFSQU1TX3VkZXYgPSAic3RhcnQgMDMgUyAuIgotCi1weXRob24gX19hbm9ueW1vdXMoKSB7Ci0gICAgaWYgbm90IGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCBUcnVlLCBGYWxzZSwgZCk6Ci0gICAgICAgIGQuc2V0VmFyKCJJTkhJQklUX1VQREFURVJDRF9CQkNMQVNTIiwgIjEiKQotfQotCi1BTFRFUk5BVElWRV8ke1BOfSA9ICJoYWx0IHJlYm9vdCBzaHV0ZG93biBwb3dlcm9mZiBydW5sZXZlbCByZXNvbHYtY29uZiIKLQotQUxURVJOQVRJVkVfVEFSR0VUW3Jlc29sdi1jb25mXSA9ICIke3N5c2NvbmZkaXJ9L3Jlc29sdi1jb25mLnN5c3RlbWQiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbcmVzb2x2LWNvbmZdID0gIiR7c3lzY29uZmRpcn0vcmVzb2x2LmNvbmYiCi1BTFRFUk5BVElWRV9QUklPUklUWVtyZXNvbHYtY29uZl0gPz0gIjUwIgotCi1BTFRFUk5BVElWRV9UQVJHRVRbaGFsdF0gPSAiJHtiYXNlX2JpbmRpcn0vc3lzdGVtY3RsIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2hhbHRdID0gIiR7YmFzZV9zYmluZGlyfS9oYWx0IgotQUxURVJOQVRJVkVfUFJJT1JJVFlbaGFsdF0gPz0gIjMwMCIKLQotQUxURVJOQVRJVkVfVEFSR0VUW3JlYm9vdF0gPSAiJHtiYXNlX2JpbmRpcn0vc3lzdGVtY3RsIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3JlYm9vdF0gPSAiJHtiYXNlX3NiaW5kaXJ9L3JlYm9vdCIKLUFMVEVSTkFUSVZFX1BSSU9SSVRZW3JlYm9vdF0gPz0gIjMwMCIKLQotQUxURVJOQVRJVkVfVEFSR0VUW3NodXRkb3duXSA9ICIke2Jhc2VfYmluZGlyfS9zeXN0ZW1jdGwiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbc2h1dGRvd25dID0gIiR7YmFzZV9zYmluZGlyfS9zaHV0ZG93biIKLUFMVEVSTkFUSVZFX1BSSU9SSVRZW3NodXRkb3duXSA/PSAiMzAwIgotCi1BTFRFUk5BVElWRV9UQVJHRVRbcG93ZXJvZmZdID0gIiR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtwb3dlcm9mZl0gPSAiJHtiYXNlX3NiaW5kaXJ9L3Bvd2Vyb2ZmIgotQUxURVJOQVRJVkVfUFJJT1JJVFlbcG93ZXJvZmZdID89ICIzMDAiCi0KLUFMVEVSTkFUSVZFX1RBUkdFVFtydW5sZXZlbF0gPSAiJHtiYXNlX2JpbmRpcn0vc3lzdGVtY3RsIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3J1bmxldmVsXSA9ICIke2Jhc2Vfc2JpbmRpcn0vcnVubGV2ZWwiCi1BTFRFUk5BVElWRV9QUklPUklUWVtydW5sZXZlbF0gPz0gIjMwMCIKLQotcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKLQlzZWQgLWUgJy9eaG9zdHM6L3MvXHMqXDxteWhvc3RuYW1lXD4vLycgXAotCQktZSAncy9cKF5ob3N0czouKlwpXChcPGZpbGVzXD5cKVwoLipcKVwoXDxkbnNcPlwpXCguKlwpL1wxXDIgbXlob3N0bmFtZSBcM1w0XDUvJyBcCi0JCS1pICREJHtzeXNjb25mZGlyfS9uc3N3aXRjaC5jb25mCi19Ci0KLXBrZ19wcmVybV8ke1BOfSAoKSB7Ci0Jc2VkIC1lICcvXmhvc3RzOi9zL1xzKlw8bXlob3N0bmFtZVw+Ly8nIFwKLQkJLWUgJy9eaG9zdHM6L3MvXHMqbXlob3N0bmFtZS8vJyBcCi0JCS1pICREJHtzeXNjb25mZGlyfS9uc3N3aXRjaC5jb25mCi19Ci0KLVBBQ0tBR0VfV1JJVEVfREVQUyArPSAicWVtdS1uYXRpdmUiCi1wa2dfcG9zdGluc3RfdWRldi1od2RiICgpIHsKLQlpZiB0ZXN0IC1uICIkRCI7IHRoZW4KLQkJJElOVEVSQ0VQVF9ESVIvcG9zdGluc3RfaW50ZXJjZXB0IHVwZGF0ZV91ZGV2X2h3ZGIgJHtQS0d9IG1scHJlZml4PSR7TUxQUkVGSVh9IGJpbnByZWZpeD0ke01MUFJFRklYfQotCWVsc2UKLQkJdWRldmFkbSBod2RiIC0tdXBkYXRlCi0JZmkKLX0KLQotcGtnX3ByZXJtX3VkZXYtaHdkYiAoKSB7Ci0Jcm0gLWYgJEQke3N5c2NvbmZkaXJ9L3VkZXYvaHdkYi5iaW4KLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXzI0MS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXzI0MS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZmJmYzgxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWRfMjQxLmJiCkBAIC0wLDAgKzEsNjUxIEBACityZXF1aXJlIHN5c3RlbWQuaW5jCisKK1BST1ZJREVTID0gInVkZXYiCisKK1BFID0gIjEiCisKK0RFUEVORFMgPSAiaW50bHRvb2wtbmF0aXZlIGdwZXJmLW5hdGl2ZSBsaWJjYXAgdXRpbC1saW51eCIKKworU0VDVElPTiA9ICJiYXNlL3NoZWxsIgorCitpbmhlcml0IHVzZXJhZGQgcGtnY29uZmlnIG1lc29uIHBlcmxuYXRpdmUgdXBkYXRlLXJjLmQgdXBkYXRlLWFsdGVybmF0aXZlcyBxZW11IHN5c3RlbWQgZ2V0dGV4dCBiYXNoLWNvbXBsZXRpb24gbWFucGFnZXMgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKKyMgQXMgdGhpcyByZWNpcGUgYnVpbGRzIHVkZXYsIHJlc3BlY3Qgc3lzdGVtZCBiZWluZyBpbiBESVNUUk9fRkVBVFVSRVMgc28KKyMgdGhhdCB3ZSBkb24ndCBidWlsZCBib3RoIHVkZXYgYW5kIHN5c3RlbWQgaW4gd29ybGQgYnVpbGRzLgorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInN5c3RlbWQiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly90b3VjaHNjcmVlbi5ydWxlcyBcCisgICAgICAgICAgIGZpbGU6Ly8wMC1jcmVhdGUtdm9sYXRpbGUuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYmluZm10LURvbi10LWluc3RhbGwtZGVwZW5kZW5jeS1saW5rcy1hdC1pbnN0YWxsLXRpbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLXVzZS1sbnItd3JhcHBlci1pbnN0ZWFkLW9mLWxvb2tpbmctZm9yLXJlbGF0aXZlLW9wdGkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1pbXBsbWVudC1zeXN0ZW1kLXN5c3YtaW5zdGFsbC1mb3ItT0UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1ydWxlcy13aGl0ZWxpc3QtaGQtZGV2aWNlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LXJ1bGVzLXdhdGNoLW1ldGFkYXRhLWNoYW5nZXMtaW4taWRlLWRldmljZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1tZXNvbi1kZWNsYXJlLXZlcnNpb24uaC1hcy1kZXAtZm9yLXZhcmlvdXMtdGFyZ2V0cy10LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWVzb24tZGVjbGFyZS12ZXJzaW9uLmgtYXMtZGVwZW5kZW5jeS1mb3Itc3lzdGVtZC5wYXRjaCBcCisgICAgICAgICAgICIKKworIyBwYXRjaGVzIG5lZWRlZCBieSBtdXNsCitTUkNfVVJJICs9ICIke1NSQ19VUklfTVVTTH0iCitTUkNfVVJJX01VU0wgPSAiZmlsZTovLzAwMDEtVXNlLWdldGVudi13aGVuLXNlY3VyZS12ZXJzaW9ucy1hcmUtbm90LWF2YWlsYWJsZS5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAwMi1kb24tdC11c2UtZ2xpYmMtc3BlY2lmaWMtcXNvcnRfci5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAwMy1taXNzaW5nX3R5cGUuaC1hZGQtX19jb21wYXJlX2ZuX3QtYW5kLWNvbXBhcmlzb25fZm5fLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDA0LWFkZC1mYWxsYmFjay1wYXJzZV9wcmludGZfZm9ybWF0LWltcGxlbWVudGF0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDA1LXNyYy1iYXNpYy1taXNzaW5nLmgtY2hlY2stZm9yLW1pc3Npbmctc3RybmR1cGEucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMDYtSW5jbHVkZS1uZXRpbmV0LWlmX2V0aGVyLmgucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMDctZG9uLXQtZmFpbC1pZi1HTE9CX0JSQUNFLWFuZC1HTE9CX0FMVERJUkZVTkMtaXMtbm90LnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDA4LWFkZC1taXNzaW5nLUZUV18tbWFjcm9zLWZvci1tdXNsLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDA5LXNvY2tldC11dGlsLWRvbi10LWZhaWwtaWYtbGliYy1kb2Vzbi10LXN1cHBvcnQtSUROLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDEwLWZpeC1taXNzaW5nLW9mLV9fcmVnaXN0ZXJfYXRmb3JrLWZvci1ub24tZ2xpYmMtYnVpbGQucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMTEtVXNlLXVpbnRtYXhfdC1mb3ItaGFuZGxpbmctcmxpbV90LnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDEyLWZpeC1taXNzaW5nLVVMT05HX0xPTkdfTUFYLWRlZmluaXRpb24taW4tY2FzZS1vZi1tdXMucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMTMtdGVzdC1oZXhkZWNvY3QuYy1JbmNsdWRlLW1pc3NpbmcuaC1mb3Itc3RybmR1cGEucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMTQtdGVzdC1zaXplb2YuYy1EaXNhYmxlLXRlc3RzLWZvci1taXNzaW5nLXR5cGVkZWZzLWluLS5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAxNS1kb24tdC1wYXNzLUFUX1NZTUxJTktfTk9GT0xMT1ctZmxhZy10by1mYWNjZXNzYXQucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMTYtRGVmaW5lLWdsaWJjLWNvbXBhdGlibGUtYmFzZW5hbWUtZm9yLW5vbi1nbGliYy1zeXN0ZS5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAxNy1Eby1ub3QtZGlzYWJsZS1idWZmZXJpbmctd2hlbi13cml0aW5nLXRvLW9vbV9zY29yZV9hLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDE4LWRpc3Rpbmd1aXNoLVhTSS1jb21wbGlhbnQtc3RyZXJyb3Jfci1mcm9tLUdOVS1zcGVjaWYucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMTktSGlkZS1fX3N0YXJ0X0JVU19FUlJPUl9NQVAtYW5kLV9fc3RvcF9CVVNfRVJST1JfTUFQLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDIwLW1pc3NpbmdfdHlwZS5oLWFkZC1fX2NvbXBhcl9kX2ZuX3QtZGVmaW5pdGlvbi5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAyMS1hdm9pZC1yZWRlZmluaXRpb24tb2YtcHJjdGxfbW1fbWFwLXN0cnVjdHVyZS5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAyMi1pbmNsdWRlLXN5cy13YWl0LmgtdG8tYXZvaWQtY29tcGlsZS1mYWlsdXJlLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDIzLXNvY2tldC11dGlsLmgtaW5jbHVkZS1zdHJpbmcuaC5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAyNC10ZXN0LWpzb24uYy1kZWZpbmUtTV9QSWwucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMDEtZG8tbm90LWRpc2FibGUtYnVmZmVyLWluLXdyaXRpbmctZmlsZXMucGF0Y2ggXAorICAgICAgICAgICAgICAgIgorCitQQU1fUExVR0lOUyA9ICIgXAorICAgIHBhbS1wbHVnaW4tdW5peCBcCisgICAgcGFtLXBsdWdpbi1sb2dpbnVpZCBcCisgICAgcGFtLXBsdWdpbi1rZXlpbml0IFwKKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiBcCisgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnZWZpIGxkY29uZmlnIHBhbSBzZWxpbnV4IHVzcm1lcmdlIHBvbGtpdCcsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd3aWZpJywgJ3Jma2lsbCcsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3hrYmNvbW1vbicsICcnLCBkKX0gXAorICAgIGFjbCBcCisgICAgYmFja2xpZ2h0IFwKKyAgICBiaW5mbXQgXAorICAgIGZpcnN0Ym9vdCBcCisgICAgZ3NoYWRvdyBcCisgICAgaGliZXJuYXRlIFwKKyAgICBob3N0bmFtZWQgXAorICAgIGltYSBcCisgICAga21vZCBcCisgICAgbG9jYWxlZCBcCisgICAgbG9naW5kIFwKKyAgICBtYWNoaW5lZCBcCisgICAgbXlob3N0bmFtZSBcCisgICAgbmV0d29ya2QgXAorICAgIG5zcyBcCisgICAgbnNzLW15bWFjaGluZXMgXAorICAgIG5zcy1yZXNvbHZlIFwKKyAgICBxdW90YWNoZWNrIFwKKyAgICByYW5kb21zZWVkIFwKKyAgICByZXNvbHZlZCBcCisgICAgc21hY2sgXAorICAgIHN5c3VzZXJzIFwKKyAgICB0aW1lZGF0ZWQgXAorICAgIHRpbWVzeW5jZCBcCisgICAgdXRtcCBcCisgICAgdmNvbnNvbGUgXAorICAgIHh6IFwKKyIKKworUEFDS0FHRUNPTkZJR19yZW1vdmVfbGliYy1tdXNsID0gIiBcCisgICAgZ3NoYWRvdyBcCisgICAgbG9jYWxlZCBcCisgICAgbXlob3N0bmFtZSBcCisgICAgbnNzIFwKKyAgICBuc3MtbXltYWNoaW5lcyBcCisgICAgbnNzLXJlc29sdmUgXAorICAgIHJlc29sdmVkIFwKKyAgICBzbWFjayBcCisgICAgc3lzdXNlcnMgXAorICAgIHV0bXAgXAorIgorCisjIFVzZSB0aGUgdXBzdHJlYW0gc3lzdGVtZCBzZXJpYWwtZ2V0dHlALnNlcnZpY2UgYW5kIHJlbHkgb24KKyMgc3lzdGVtZC1nZXR0eS1nZW5lcmF0b3IgaW5zdGVhZCBvZiB1c2luZyB0aGUgT0UtY29yZSBzcGVjaWZpYworIyBzeXN0ZW1kLXNlcmlhbGdldHR5LmJiIC0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdC4KK1BBQ0tBR0VDT05GSUdbc2VyaWFsLWdldHR5LWdlbmVyYXRvcl0gPSAiIgorCitQQUNLQUdFQ09ORklHW2FjbF0gPSAiLURhY2w9dHJ1ZSwtRGFjbD1mYWxzZSxhY2wiCitQQUNLQUdFQ09ORklHW2F1ZGl0XSA9ICItRGF1ZGl0PXRydWUsLURhdWRpdD1mYWxzZSxhdWRpdCIKK1BBQ0tBR0VDT05GSUdbYmFja2xpZ2h0XSA9ICItRGJhY2tsaWdodD10cnVlLC1EYmFja2xpZ2h0PWZhbHNlIgorUEFDS0FHRUNPTkZJR1tiaW5mbXRdID0gIi1EYmluZm10PXRydWUsLURiaW5mbXQ9ZmFsc2UiCitQQUNLQUdFQ09ORklHW2J6aXAyXSA9ICItRGJ6aXAyPXRydWUsLURiemlwMj1mYWxzZSxiemlwMiIKK1BBQ0tBR0VDT05GSUdbY29yZWR1bXBdID0gIi1EY29yZWR1bXA9dHJ1ZSwtRGNvcmVkdW1wPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tjcnlwdHNldHVwXSA9ICItRGxpYmNyeXB0c2V0dXA9dHJ1ZSwtRGxpYmNyeXB0c2V0dXA9ZmFsc2UsY3J5cHRzZXR1cCIKK1BBQ0tBR0VDT05GSUdbZGJ1c10gPSAiLURkYnVzPXRydWUsLURkYnVzPWZhbHNlLGRidXMiCitQQUNLQUdFQ09ORklHW2VmaV0gPSAiLURlZmk9dHJ1ZSwtRGVmaT1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbZWxmdXRpbHNdID0gIi1EZWxmdXRpbHM9dHJ1ZSwtRGVsZnV0aWxzPWZhbHNlLGVsZnV0aWxzIgorUEFDS0FHRUNPTkZJR1tmaXJzdGJvb3RdID0gIi1EZmlyc3Rib290PXRydWUsLURmaXJzdGJvb3Q9ZmFsc2UiCisjIFNpZ24gdGhlIGpvdXJuYWwgZm9yIGFudGktdGFtcGVyaW5nCitQQUNLQUdFQ09ORklHW2djcnlwdF0gPSAiLURnY3J5cHQ9dHJ1ZSwtRGdjcnlwdD1mYWxzZSxsaWJnY3J5cHQiCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLURnbnV0bHM9dHJ1ZSwtRGdudXRscz1mYWxzZSxnbnV0bHMiCitQQUNLQUdFQ09ORklHW2dzaGFkb3ddID0gIi1EZ3NoYWRvdz10cnVlLC1EZ3NoYWRvdz1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbaGliZXJuYXRlXSA9ICItRGhpYmVybmF0ZT10cnVlLC1EaGliZXJuYXRlPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tob3N0bmFtZWRdID0gIi1EaG9zdG5hbWVkPXRydWUsLURob3N0bmFtZWQ9ZmFsc2UiCitQQUNLQUdFQ09ORklHW2ltYV0gPSAiLURpbWE9dHJ1ZSwtRGltYT1mYWxzZSIKKyMgaW1wb3J0ZCByZXF1aXJlcyBjdXJsL3h6L3psaWIvYnppcDIvZ2NyeXB0CitQQUNLQUdFQ09ORklHW2ltcG9ydGRdID0gIi1EaW1wb3J0ZD10cnVlLC1EaW1wb3J0ZD1mYWxzZSIKKyMgVXBkYXRlIE5BVCBmaXJld2FsbCBydWxlcworUEFDS0FHRUNPTkZJR1tpcHRjXSA9ICItRGxpYmlwdGM9dHJ1ZSwtRGxpYmlwdGM9ZmFsc2UsaXB0YWJsZXMiCitQQUNLQUdFQ09ORklHW2pvdXJuYWwtdXBsb2FkXSA9ICItRGxpYmN1cmw9dHJ1ZSwtRGxpYmN1cmw9ZmFsc2UsY3VybCIKK1BBQ0tBR0VDT05GSUdba21vZF0gPSAiLURrbW9kPXRydWUsLURrbW9kPWZhbHNlLGttb2QiCitQQUNLQUdFQ09ORklHW2xkY29uZmlnXSA9ICItRGxkY29uZmlnPXRydWUsLURsZGNvbmZpZz1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbbGliaWRuXSA9ICItRGxpYmlkbj10cnVlLC1EbGliaWRuPWZhbHNlLGxpYmlkbiIKK1BBQ0tBR0VDT05GSUdbbG9jYWxlZF0gPSAiLURsb2NhbGVkPXRydWUsLURsb2NhbGVkPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tsb2dpbmRdID0gIi1EbG9naW5kPXRydWUsLURsb2dpbmQ9ZmFsc2UiCitQQUNLQUdFQ09ORklHW2x6NF0gPSAiLURsejQ9dHJ1ZSwtRGx6ND1mYWxzZSxsejQiCitQQUNLQUdFQ09ORklHW21hY2hpbmVkXSA9ICItRG1hY2hpbmVkPXRydWUsLURtYWNoaW5lZD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi1EbWFuPXRydWUsLURtYW49ZmFsc2UsbGlieHNsdC1uYXRpdmUgeG1sdG8tbmF0aXZlIGRvY2Jvb2steG1sLWR0ZDQtbmF0aXZlIGRvY2Jvb2steHNsLXN0eWxlc2hlZXRzLW5hdGl2ZSIKK1BBQ0tBR0VDT05GSUdbbWljcm9odHRwZF0gPSAiLURtaWNyb2h0dHBkPXRydWUsLURtaWNyb2h0dHBkPWZhbHNlLGxpYm1pY3JvaHR0cGQiCitQQUNLQUdFQ09ORklHW215aG9zdG5hbWVdID0gIi1EbnNzLW15aG9zdG5hbWU9dHJ1ZSwtRG5zcy1teWhvc3RuYW1lPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tuZXR3b3JrZF0gPSAiLURuZXR3b3JrZD10cnVlLC1EbmV0d29ya2Q9ZmFsc2UiCitQQUNLQUdFQ09ORklHW25zc10gPSAiLURuc3Mtc3lzdGVtZD10cnVlLC1EbnNzLXN5c3RlbWQ9ZmFsc2UiCitQQUNLQUdFQ09ORklHW25zcy1teW1hY2hpbmVzXSA9ICItRG5zcy1teW1hY2hpbmVzPXRydWUsLURuc3MtbXltYWNoaW5lcz1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbbnNzLXJlc29sdmVdID0gIi1EbnNzLXJlc29sdmU9dHJ1ZSwtRG5zcy1yZXNvbHZlPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItRG9wZW5zc2w9dHJ1ZSwtRG9wZW5zc2w9ZmFsc2Usb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbcGFtXSA9ICItRHBhbT10cnVlLC1EcGFtPWZhbHNlLGxpYnBhbSwke1BBTV9QTFVHSU5TfSIKK1BBQ0tBR0VDT05GSUdbcGNyZTJdID0gIi1EcGNyZTI9dHJ1ZSwtRHBjcmUyPWZhbHNlLGxpYnBjcmUyIgorUEFDS0FHRUNPTkZJR1twb2xraXRdID0gIi1EcG9sa2l0PXRydWUsLURwb2xraXQ9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3BvcnRhYmxlZF0gPSAiLURwb3J0YWJsZWQ9dHJ1ZSwtRHBvcnRhYmxlZD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbcXJlbmNvZGVdID0gIi1EcXJlbmNvZGU9dHJ1ZSwtRHFyZW5jb2RlPWZhbHNlLHFyZW5jb2RlIgorUEFDS0FHRUNPTkZJR1txdW90YWNoZWNrXSA9ICItRHF1b3RhY2hlY2s9dHJ1ZSwtRHF1b3RhY2hlY2s9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3JhbmRvbXNlZWRdID0gIi1EcmFuZG9tc2VlZD10cnVlLC1EcmFuZG9tc2VlZD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbcmVzb2x2ZWRdID0gIi1EcmVzb2x2ZT10cnVlLC1EcmVzb2x2ZT1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbcmZraWxsXSA9ICItRHJma2lsbD10cnVlLC1EcmZraWxsPWZhbHNlIgorIyBsaWJzZWNjb21wIGlzIGZvdW5kIGluIG1ldGEtc2VjdXJpdHkKK1BBQ0tBR0VDT05GSUdbc2VjY29tcF0gPSAiLURzZWNjb21wPXRydWUsLURzZWNjb21wPWZhbHNlLGxpYnNlY2NvbXAiCitQQUNLQUdFQ09ORklHW3NlbGludXhdID0gIi1Ec2VsaW51eD10cnVlLC1Ec2VsaW51eD1mYWxzZSxsaWJzZWxpbnV4LGluaXRzY3JpcHRzLXN1c2hlbGwiCitQQUNLQUdFQ09ORklHW3NtYWNrXSA9ICItRHNtYWNrPXRydWUsLURzbWFjaz1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbc3lzdXNlcnNdID0gIi1Ec3lzdXNlcnM9dHJ1ZSwtRHN5c3VzZXJzPWZhbHNlIgorUEFDS0FHRUNPTkZJR1t0aW1lLWVwb2NoXSA9ICItRHRpbWUtZXBvY2g9MCwsIgorUEFDS0FHRUNPTkZJR1t0aW1lZGF0ZWRdID0gIi1EdGltZWRhdGVkPXRydWUsLUR0aW1lZGF0ZWQ9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3RpbWVzeW5jZF0gPSAiLUR0aW1lc3luY2Q9dHJ1ZSwtRHRpbWVzeW5jZD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbdXNybWVyZ2VdID0gIi1Ec3BsaXQtdXNyPWZhbHNlLC1Ec3BsaXQtdXNyPXRydWUiCitQQUNLQUdFQ09ORklHW3NiaW5tZXJnZV0gPSAiLURzcGxpdC1iaW49ZmFsc2UsLURzcGxpdC1iaW49dHJ1ZSIKK1BBQ0tBR0VDT05GSUdbdXRtcF0gPSAiLUR1dG1wPXRydWUsLUR1dG1wPWZhbHNlIgorUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLURWQUxHUklORD0xLCx2YWxncmluZCIKK1BBQ0tBR0VDT05GSUdbdmNvbnNvbGVdID0gIi1EdmNvbnNvbGU9dHJ1ZSwtRHZjb25zb2xlPWZhbHNlLCwke1BOfS12Y29uc29sZS1zZXR1cCIKKyMgVmVyaWZ5IGtleW1hcHMgb24gbG9jYWxlIGNoYW5nZQorUEFDS0FHRUNPTkZJR1t4a2Jjb21tb25dID0gIi1EeGtiY29tbW9uPXRydWUsLUR4a2Jjb21tb249ZmFsc2UsbGlieGtiY29tbW9uIgorUEFDS0FHRUNPTkZJR1t4el0gPSAiLUR4ej10cnVlLC1EeHo9ZmFsc2UseHoiCitQQUNLQUdFQ09ORklHW3psaWJdID0gIi1EemxpYj10cnVlLC1EemxpYj1mYWxzZSx6bGliIgorCisjIEhlbHBlciB2YXJpYWJsZXMgdG8gY2xhcmlmeSBsb2NhdGlvbnMuICBUaGlzIG1pcnJvcnMgdGhlIGxvZ2ljIGluIHN5c3RlbWQncworIyBidWlsZCBzeXN0ZW0uCityb290cHJlZml4ID89ICIke3Jvb3RfcHJlZml4fSIKK3Jvb3RsaWJkaXIgPz0gIiR7YmFzZV9saWJkaXJ9Igorcm9vdGxpYmV4ZWNkaXIgPSAiJHtyb290cHJlZml4fS9saWIiCisKKyMgVGhpcyBsaW5rcyB1ZGV2IHN0YXRpY2FsbHkgd2l0aCBzeXN0ZW1kIGhlbHBlciBsaWJyYXJ5LgorIyBPdGhlcndpc2UgdWRldiBwYWNrYWdlIHdvdWxkIGRlcGVuZCBvbiBzeXN0ZW1kIHBhY2thZ2UgKHdoaWNoIGhhcyB0aGUgbmVlZGVkIHNoYXJlZCBsaWJyYXJ5KSwKKyMgYW5kIGFsd2F5cyBwdWxsIGl0IGludG8gaW1hZ2VzLgorRVhUUkFfT0VNRVNPTiArPSAiLURsaW5rLXVkZXYtc2hhcmVkPWZhbHNlIgorCitFWFRSQV9PRU1FU09OICs9ICItRG5vYm9keS11c2VyPW5vYm9keSBcCisgICAgICAgICAgICAgICAgICAtRG5vYm9keS1ncm91cD1ub2JvZHkgXAorICAgICAgICAgICAgICAgICAgLURyb290bGliZGlyPSR7cm9vdGxpYmRpcn0gXAorICAgICAgICAgICAgICAgICAgLURyb290cHJlZml4PSR7cm9vdHByZWZpeH0gXAorICAgICAgICAgICAgICAgICAgLURzeXN2cmNuZC1wYXRoPSR7c3lzY29uZmRpcn0gXAorICAgICAgICAgICAgICAgICAgIgorCisjIEhhcmRjb2RlIHRhcmdldCBiaW5hcnkgcGF0aHMgdG8gYXZvaWQgdXNpbmcgcGF0aHMgZnJvbSBzeXNyb290CitFWFRSQV9PRU1FU09OICs9ICItRGtleGVjLXBhdGg9JHtzYmluZGlyfS9rZXhlYyBcCisgICAgICAgICAgICAgICAgICAtRGttb2QtcGF0aD0ke2Jhc2VfYmluZGlyfS9rbW9kIFwKKyAgICAgICAgICAgICAgICAgIC1EbW91bnQtcGF0aD0ke2Jhc2VfYmluZGlyfS9tb3VudCBcCisgICAgICAgICAgICAgICAgICAtRHF1b3RhY2hlY2stcGF0aD0ke3NiaW5kaXJ9L3F1b3RhY2hlY2sgXAorICAgICAgICAgICAgICAgICAgLURxdW90YW9uLXBhdGg9JHtzYmluZGlyfS9xdW90YW9uIFwKKyAgICAgICAgICAgICAgICAgIC1Ec3Vsb2dpbi1wYXRoPSR7YmFzZV9zYmluZGlyfS9zdWxvZ2luIFwKKyAgICAgICAgICAgICAgICAgIC1EdW1vdW50LXBhdGg9JHtiYXNlX2JpbmRpcn0vdW1vdW50IgorCitkb19pbnN0YWxsKCkgeworCW1lc29uX2RvX2luc3RhbGwKKwlpbnN0YWxsIC1kICR7RH0vJHtiYXNlX3NiaW5kaXJ9CisJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc2VyaWFsLWdldHR5LWdlbmVyYXRvcicsICdmYWxzZScsICd0cnVlJywgZCl9OyB0aGVuCisJCSMgUHJvdmlkZWQgYnkgYSBzZXBhcmF0ZSByZWNpcGUKKwkJcm0gJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc2VyaWFsLWdldHR5KiAtZgorCWZpCisKKwkjIFByb3ZpZGUgc3VwcG9ydCBmb3IgaW5pdHJhbWZzCisJWyAhIC1lICR7RH0vaW5pdCBdICYmIGxuIC1zICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZCAke0R9L2luaXQKKwlbICEgLWUgJHtEfS8ke2Jhc2Vfc2JpbmRpcn0vdWRldmQgXSAmJiBsbiAtcyAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtdWRldmQgJHtEfS8ke2Jhc2Vfc2JpbmRpcn0vdWRldmQKKworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdWRldi9ydWxlcy5kLworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAorCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LyoucnVsZXMgJHtEfSR7c3lzY29uZmRpcn0vdWRldi9ydWxlcy5kLworCWluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wa2djb25maWcKKwlpbnN0YWxsIC1tIDA2NDQgJHtCfS9zcmMvdWRldi91ZGV2LnBjICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnLworCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vMDAtY3JlYXRlLXZvbGF0aWxlLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC8KKworCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN2aW5pdCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisJCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisJCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3N5c3RlbWQtdWRldmQKKwkJc2VkIC1pIHMlQFVERVZEQCUke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtdWRldmQlICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zeXN0ZW1kLXVkZXZkCisJZmkKKworCWNob3duIHJvb3Q6c3lzdGVtZC1qb3VybmFsICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9sb2cvam91cm5hbAorCisJIyBEZWxldGUgam91cm5hbCBSRUFETUUsIGFzIGxvZyBjYW4gYmUgc3ltbGlua2VkIGluc2lkZSB2b2xhdGlsZS4KKwlybSAtZiAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vbG9nL1JFQURNRQorCisJIyBqb3VybmFsLXJlbW90ZSBjcmVhdGVzIHRoaXMgYXQgc3RhcnQKKwlybSAtcmYgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L2xvZy9qb3VybmFsL3JlbW90ZQorCisJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9ncmFwaGljYWwudGFyZ2V0LndhbnRzCisJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9tdWx0aS11c2VyLnRhcmdldC53YW50cworCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcG93ZXJvZmYudGFyZ2V0LndhbnRzCisJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9yZWJvb3QudGFyZ2V0LndhbnRzCisJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9yZXNjdWUudGFyZ2V0LndhbnRzCisKKwkjIENyZWF0ZSBzeW1saW5rcyBmb3Igc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCisJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndXRtcCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vZ3JhcGhpY2FsLnRhcmdldC53YW50cy9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UKKwkJbG4gLXNmIC4uL3N5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9tdWx0aS11c2VyLnRhcmdldC53YW50cy9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UKKwkJbG4gLXNmIC4uL3N5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9wb3dlcm9mZi50YXJnZXQud2FudHMvc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCisJCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmVib290LnRhcmdldC53YW50cy9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UKKwkJbG4gLXNmIC4uL3N5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9yZXNjdWUudGFyZ2V0LndhbnRzL3N5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZQorCWZpCisKKwkjIHRoaXMgZmlsZSBpcyBuZWVkZWQgdG8gZXhpc3QgaWYgbmV0d29ya2QgaXMgZGlzYWJsZWQgYnV0IHRpbWVzeW5jZCBpcyBzdGlsbCBpbiB1c2Ugc2luY2UgdGltZXN5bmNkIGNoZWNrcyBpdAorCSMgZm9yIGV4aXN0ZW5jZSBlbHNlIGl0IGZhaWxzCisJaWYgWyAtcyAke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvc3lzdGVtZC5jb25mIF07IHRoZW4KKwkJJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbmV0d29ya2QnLCAnOicsICdzZWQgLWkgLWUgIlwkYWQgL3J1bi9zeXN0ZW1kL25ldGlmL2xpbmtzIDA3NTUgcm9vdCByb290IC0iICR7RH0ke2V4ZWNfcHJlZml4fS9saWIvdG1wZmlsZXMuZC9zeXN0ZW1kLmNvbmYnLCBkKX0KKwlmaQorCWlmICEgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncmVzb2x2ZWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCQllY2hvICdMISAke3N5c2NvbmZkaXJ9L3Jlc29sdi5jb25mIC0gLSAtIC0gLi4vcnVuL3N5c3RlbWQvcmVzb2x2ZS9yZXNvbHYuY29uZicgPj4ke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvZXRjLmNvbmYKKwkJZWNobyAnZCAvcnVuL3N5c3RlbWQvcmVzb2x2ZSAwNzU1IHJvb3Qgcm9vdCAtJyA+PiR7RH0ke2V4ZWNfcHJlZml4fS9saWIvdG1wZmlsZXMuZC9zeXN0ZW1kLmNvbmYKKwkJZWNobyAnZiAvcnVuL3N5c3RlbWQvcmVzb2x2ZS9yZXNvbHYuY29uZiAwNjQ0IHJvb3Qgcm9vdCcgPj4ke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvc3lzdGVtZC5jb25mCisJCWxuIC1zIC4uL3J1bi9zeXN0ZW1kL3Jlc29sdmUvcmVzb2x2LmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vcmVzb2x2LWNvbmYuc3lzdGVtZAorCWVsc2UKKwkJc2VkIC1pIC1lICJzJV5MISAvZXRjL3Jlc29sdi5jb25mLiokJUwhIC9ldGMvcmVzb2x2LmNvbmYgLSAtIC0gLSAuLi9ydW4vc3lzdGVtZC9yZXNvbHZlL3Jlc29sdi5jb25mJWciICR7RH0ke2V4ZWNfcHJlZml4fS9saWIvdG1wZmlsZXMuZC9ldGMuY29uZgorCQlsbiAtcyAuLi9ydW4vc3lzdGVtZC9yZXNvbHZlL3Jlc29sdi5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3Jlc29sdi1jb25mLnN5c3RlbWQKKwlmaQorCWluc3RhbGwgLURtIDA3NTUgJHtTfS9zcmMvc3lzdGVtY3RsL3N5c3RlbWQtc3lzdi1pbnN0YWxsLlNLRUxFVE9OICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtZC1zeXN2LWluc3RhbGwKKworCSMgSWYgcG9sa2l0IGlzIHNldHVwIGZpeHVwIHBlcm1pc3Npb25zIGFuZCBvd25lcnNoaXAKKwlpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwb2xraXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCQlpZiBbIC1kICR7RH0ke2RhdGFkaXJ9L3BvbGtpdC0xL3J1bGVzLmQgXTsgdGhlbgorCQkJY2htb2QgNzAwICR7RH0ke2RhdGFkaXJ9L3BvbGtpdC0xL3J1bGVzLmQKKwkJCWNob3duIHBvbGtpdGQ6cm9vdCAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9ydWxlcy5kCisJCWZpCisJZmkKKworCSMgY29uZiBmaWxlcyBhcmUgaGFuZGxlZCBieSBzeXN0ZW1kLWNvbmYKKwlybSAtZiAke0R9JHtzeXNjb25mZGlyfS9tYWNoaW5lLWlkCisJcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vc3lzdGVtZC9jb3JlZHVtcC5jb25mCisJcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vc3lzdGVtZC9qb3VybmFsZC5jb25mCisJcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vc3lzdGVtZC9sb2dpbmQuY29uZgorCXJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L3N5c3RlbWQvc3lzdGVtLmNvbmYKKwlybSAtZiAke0R9JHtzeXNjb25mZGlyfS9zeXN0ZW1kL3VzZXIuY29uZgorCisJIyBkdXBsaWNhdGUgdWRldmFkbSBmb3IgcG9zdGluc3Qgc2NyaXB0CisJaW5zdGFsbCAtZCAke0R9JHtsaWJleGVjZGlyfQorCWxuICR7RH0ke2Jhc2VfYmluZGlyfS91ZGV2YWRtICR7RH0ke2xpYmV4ZWNkaXJ9LyR7TUxQUkVGSVh9dWRldmFkbQorfQorCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpeworICAgIHN5c3RlbWRsaWJkaXIgPSBkLmdldFZhcigicm9vdGxpYmRpciIpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgc3lzdGVtZGxpYmRpciwgJ15saWIoLiopXC5zb1wuKicsICdsaWIlcycsICdTeXN0ZW1kICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorfQorUEFDS0FHRVNfRFlOQU1JQyArPSAiXmxpYih1ZGV2fHN5c3RlbWR8bnNzKS4qIgorCitQQUNLQUdFUyA9KyAiXAorICAgICR7UE59LWd1aSBcCisgICAgJHtQTn0tdmNvbnNvbGUtc2V0dXAgXAorICAgICR7UE59LWluaXRyYW1mcyBcCisgICAgJHtQTn0tYW5hbHl6ZSBcCisgICAgJHtQTn0ta2VybmVsLWluc3RhbGwgXAorICAgICR7UE59LXJwbS1tYWNyb3MgXAorICAgICR7UE59LWJpbmZtdCBcCisgICAgJHtQTn0tenNoLWNvbXBsZXRpb24gXAorICAgICR7UE59LXhvcmcteGluaXRyYyBcCisgICAgJHtQTn0tY29udGFpbmVyIFwKKyAgICAke1BOfS1qb3VybmFsLWdhdGV3YXlkIFwKKyAgICAke1BOfS1qb3VybmFsLXVwbG9hZCBcCisgICAgJHtQTn0tam91cm5hbC1yZW1vdGUgXAorICAgICR7UE59LWV4dHJhLXV0aWxzIFwKKyIKKworU1VNTUFSWV8ke1BOfS1jb250YWluZXIgPSAiVG9vbHMgZm9yIGNvbnRhaW5lcnMgYW5kIFZNcyIKK0RFU0NSSVBUSU9OXyR7UE59LWNvbnRhaW5lciA9ICJTeXN0ZW1kIHRvb2xzIHRvIHNwYXduIGFuZCBtYW5hZ2UgY29udGFpbmVycyBhbmQgdmlydHVhbCBtYWNoaW5lcy4iCisKK1NVTU1BUllfJHtQTn0tam91cm5hbC1nYXRld2F5ZCA9ICJIVFRQIHNlcnZlciBmb3Igam91cm5hbCBldmVudHMiCitERVNDUklQVElPTl8ke1BOfS1qb3VybmFsLWdhdGV3YXlkID0gInN5c3RlbWQtam91cm5hbC1nYXRld2F5ZCBzZXJ2ZXMgam91cm5hbCBldmVudHMgb3ZlciB0aGUgbmV0d29yay4gQ2xpZW50cyBtdXN0IGNvbm5lY3QgdXNpbmcgSFRUUC4gVGhlIHNlcnZlciBsaXN0ZW5zIG9uIHBvcnQgMTk1MzEgYnkgZGVmYXVsdC4iCisKK1NVTU1BUllfJHtQTn0tam91cm5hbC11cGxvYWQgPSAiU2VuZCBqb3VybmFsIG1lc3NhZ2VzIG92ZXIgdGhlIG5ldHdvcmsiCitERVNDUklQVElPTl8ke1BOfS1qb3VybmFsLXVwbG9hZCA9ICJzeXN0ZW1kLWpvdXJuYWwtdXBsb2FkIHVwbG9hZHMgam91cm5hbCBlbnRyaWVzIHRvIGEgc3BlY2lmaWVkIFVSTC4iCisKK1NVTU1BUllfJHtQTn0tam91cm5hbC1yZW1vdGUgPSAiUmVjZWl2ZSBqb3VybmFsIG1lc3NhZ2VzIG92ZXIgdGhlIG5ldHdvcmsiCitERVNDUklQVElPTl8ke1BOfS1qb3VybmFsLXJlbW90ZSA9ICJzeXN0ZW1kLWpvdXJuYWwtcmVtb3RlIGlzIGEgY29tbWFuZCB0byByZWNlaXZlIHNlcmlhbGl6ZWQgam91cm5hbCBldmVudHMgYW5kIHN0b3JlIHRoZW0gdG8gam91cm5hbCBmaWxlcy4iCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnYmluZm10JywgJyR7UE59LWJpbmZtdCcsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdtaWNyb2h0dHBkJywgJyR7UE59LWpvdXJuYWwtZ2F0ZXdheWQnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbWljcm9odHRwZCcsICcke1BOfS1qb3VybmFsLXJlbW90ZScsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdqb3VybmFsLXVwbG9hZCcsICcke1BOfS1qb3VybmFsLXVwbG9hZCcsICcnLCBkKX0gXAorIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LWJpbmZtdCA9ICJzeXN0ZW1kLWJpbmZtdC5zZXJ2aWNlIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59ICR7UE59LWV4dHJhLXV0aWxzIFwKKyAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbWljcm9odHRwZCcsICcke1BOfS1qb3VybmFsLWdhdGV3YXknLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbWljcm9odHRwZCcsICcke1BOfS1qb3VybmFsLXJlbW90ZScsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdqb3VybmFsLXVwbG9hZCcsICcke1BOfS1qb3VybmFsLXVwbG9hZCcsICcnLCBkKX0gXAorIgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLXIgc3lzdGVtZC1qb3VybmFsIgorVVNFUkFERF9QQVJBTV8ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnY29yZWR1bXAnLCAnLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLWNvcmVkdW1wOycsICcnLCBkKX0iCitVU0VSQUREX1BBUkFNXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICduZXR3b3JrZCcsICctLXN5c3RlbSAtZCAvIC1NIC0tc2hlbGwgL2Jpbi9ub2xvZ2luIHN5c3RlbWQtbmV0d29yazsnLCAnJywgZCl9IgorVVNFUkFERF9QQVJBTV8ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncG9sa2l0JywgJy0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgLS11c2VyLWdyb3VwIC0taG9tZS1kaXIgJHtzeXNjb25mZGlyfS9wb2xraXQtMSBwb2xraXRkOycsICcnLCBkKX0iCitVU0VSQUREX1BBUkFNXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdyZXNvbHZlZCcsICctLXN5c3RlbSAtZCAvIC1NIC0tc2hlbGwgL2Jpbi9ub2xvZ2luIHN5c3RlbWQtcmVzb2x2ZTsnLCAnJywgZCl9IgorVVNFUkFERF9QQVJBTV8ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndGltZXN5bmNkJywgJy0tc3lzdGVtIC1kIC8gLU0gLS1zaGVsbCAvYmluL25vbG9naW4gc3lzdGVtZC10aW1lc3luYzsnLCAnJywgZCl9IgorVVNFUkFERF9QQVJBTV8ke1BOfS1leHRyYS11dGlscyA9ICItLXN5c3RlbSAtZCAvIC1NIC0tc2hlbGwgL2Jpbi9ub2xvZ2luIHN5c3RlbWQtYnVzLXByb3h5IgorVVNFUkFERF9QQVJBTV8ke1BOfS1qb3VybmFsLWdhdGV3YXkgPSAiLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheSIKK1VTRVJBRERfUEFSQU1fJHtQTn0tam91cm5hbC1yZW1vdGUgPSAiLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLWpvdXJuYWwtcmVtb3RlIgorVVNFUkFERF9QQVJBTV8ke1BOfS1qb3VybmFsLXVwbG9hZCA9ICItLXN5c3RlbSAtZCAvIC1NIC0tc2hlbGwgL2Jpbi9ub2xvZ2luIHN5c3RlbWQtam91cm5hbC11cGxvYWQiCisKK0ZJTEVTXyR7UE59LWFuYWx5emUgPSAiJHtiaW5kaXJ9L3N5c3RlbWQtYW5hbHl6ZSIKKworRklMRVNfJHtQTn0taW5pdHJhbWZzID0gIi9pbml0IgorUkRFUEVORFNfJHtQTn0taW5pdHJhbWZzID0gIiR7UE59IgorCitGSUxFU18ke1BOfS1ndWkgPSAiJHtiaW5kaXJ9L3N5c3RlbWFkbSIKKworRklMRVNfJHtQTn0tdmNvbnNvbGUtc2V0dXAgPSAiJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXZjb25zb2xlLXNldHVwIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC12Y29uc29sZS1zZXR1cC5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzaW5pdC50YXJnZXQud2FudHMvc3lzdGVtZC12Y29uc29sZS1zZXR1cC5zZXJ2aWNlIgorCitSREVQRU5EU18ke1BOfS1rZXJuZWwtaW5zdGFsbCArPSAiYmFzaCIKK0ZJTEVTXyR7UE59LWtlcm5lbC1pbnN0YWxsID0gIiR7YmluZGlyfS9rZXJuZWwtaW5zdGFsbCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2tlcm5lbC8gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL2tlcm5lbCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKK0ZJTEVTXyR7UE59LXJwbS1tYWNyb3MgPSAiJHtleGVjX3ByZWZpeH0vbGliL3JwbSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIgorCitGSUxFU18ke1BOfS14b3JnLXhpbml0cmMgPSAiJHtzeXNjb25mZGlyfS9YMTEveGluaXQveGluaXRyYy5kLyoiCisKK0ZJTEVTXyR7UE59LXpzaC1jb21wbGV0aW9uID0gIiR7ZGF0YWRpcn0venNoL3NpdGUtZnVuY3Rpb25zIgorCitGSUxFU18ke1BOfS1iaW5mbXQgPSAiJHtzeXNjb25mZGlyfS9iaW5mbXQuZC8gXAorICAgICAgICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi9iaW5mbXQuZCBcCisgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWJpbmZtdCBcCisgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9wcm9jLXN5cy1mcy1iaW5mbXRfbWlzYy4qIFwKKyAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtYmluZm10LnNlcnZpY2UiCitSUkVDT01NRU5EU18ke1BOfS1iaW5mbXQgPSAia2VybmVsLW1vZHVsZS1iaW5mbXQtbWlzYyIKKworUlJFQ09NTUVORFNfJHtQTn0tdmNvbnNvbGUtc2V0dXAgPSAia2JkIGtiZC1jb25zb2xlZm9udHMga2JkLWtleW1hcHMiCisKKworRklMRVNfJHtQTn0tam91cm5hbC1nYXRld2F5ZCA9ICIke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtam91cm5hbC1nYXRld2F5ZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vc3lzdGVtZC1qb3VybmFsLWdhdGV3YXlkLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtam91cm5hbC1nYXRld2F5ZC5zb2NrZXQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3NvY2tldHMudGFyZ2V0LndhbnRzL3N5c3RlbWQtam91cm5hbC1nYXRld2F5ZC5zb2NrZXQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3N5c3RlbWQvZ2F0ZXdheWQvYnJvd3NlLmh0bWwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1qb3VybmFsLWdhdGV3YXlkID0gInN5c3RlbWQtam91cm5hbC1nYXRld2F5ZC5zb2NrZXQiCisKK0ZJTEVTXyR7UE59LWpvdXJuYWwtdXBsb2FkID0gIiR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1qb3VybmFsLXVwbG9hZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtam91cm5hbC11cGxvYWQuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3N5c3RlbWQvam91cm5hbC11cGxvYWQuY29uZiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1qb3VybmFsLXVwbG9hZCA9ICJzeXN0ZW1kLWpvdXJuYWwtdXBsb2FkLnNlcnZpY2UiCisKK0ZJTEVTXyR7UE59LWpvdXJuYWwtcmVtb3RlID0gIiR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1qb3VybmFsLXJlbW90ZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3N5c3RlbWQvam91cm5hbC1yZW1vdGUuY29uZiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtam91cm5hbC1yZW1vdGUuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtam91cm5hbC1yZW1vdGUuc29ja2V0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LXJlbW90ZSA9ICJzeXN0ZW1kLWpvdXJuYWwtcmVtb3RlLnNvY2tldCIKKworCitGSUxFU18ke1BOfS1jb250YWluZXIgPSAiJHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLmltcG9ydDEuY29uZiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLm1hY2hpbmUxLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7YmFzZV9iaW5kaXJ9L21hY2hpbmVjdGwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLW5zcGF3biBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtub25hcmNoX2xpYmRpcn0vc3lzdGVtZC9pbXBvcnQtcHVicmluZy5ncGcgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vYnVzbmFtZXMudGFyZ2V0LndhbnRzL29yZy5mcmVlZGVza3RvcC5pbXBvcnQxLmJ1c25hbWUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vYnVzbmFtZXMudGFyZ2V0LndhbnRzL29yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5idXNuYW1lIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2xvY2FsLWZzLnRhcmdldC53YW50cy92YXItbGliLW1hY2hpbmVzLm1vdW50IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L21hY2hpbmUuc2xpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbWFjaGluZXMudGFyZ2V0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L29yZy5mcmVlZGVza3RvcC5pbXBvcnQxLmJ1c25hbWUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vb3JnLmZyZWVkZXNrdG9wLm1hY2hpbmUxLmJ1c25hbWUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vc3lzdGVtZC1pbXBvcnRkLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vc3lzdGVtZC1tYWNoaW5lZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2RidXMtb3JnLmZyZWVkZXNrdG9wLm1hY2hpbmUxLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vdmFyLWxpYi1tYWNoaW5lcy5tb3VudCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWltcG9ydCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWltcG9ydGQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1tYWNoaW5lZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXB1bGwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL3N5c3RlbWQtbnNwYXduLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vc3lzdGVtZC1uc3Bhd25ALnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJuc3NfbXltYWNoaW5lcy5zby4yIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMvb3JnLmZyZWVkZXNrdG9wLmltcG9ydDEuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzL29yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AuaW1wb3J0MS5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AubWFjaGluZTEuY29uZiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9wb2xraXQtMS9hY3Rpb25zL29yZy5mcmVlZGVza3RvcC5pbXBvcnQxLnBvbGljeSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9wb2xraXQtMS9hY3Rpb25zL29yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5wb2xpY3kgXAorICAgICAgICAgICAgICAgICAgICAgICAgIgorCitSUkVDT01NRU5EU18ke1BOfS1jb250YWluZXIgKz0gIlwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke1BOfS1qb3VybmFsLXVwbG9hZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtQTn0tam91cm5hbC1yZW1vdGUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7UE59LWpvdXJuYWwtZ2F0ZXdheWQgXAorICAgICAgICAgICAgICAgICAgICAgICAgIgorCitGSUxFU18ke1BOfS1leHRyYS11dGlscyA9ICJcCisgICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9zeXN0ZW1kLWVzY2FwZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9zeXN0ZW1kLWluaGliaXQgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQtZGV0ZWN0LXZpcnQgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQtcGF0aCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vc3lzdGVtZC1ydW4gXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQtY2F0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWRlbHRhIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWNnbHMgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQtY2d0b3AgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQtc3RkaW8tYnJpZGdlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7YmFzZV9iaW5kaXJ9L3N5c3RlbWQtYXNrLXBhc3N3b3JkIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7YmFzZV9iaW5kaXJ9L3N5c3RlbWQtdHR5LWFzay1wYXNzd29yZC1hZ2VudCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtYXNrLXBhc3N3b3JkLWNvbnNvbGUucGF0aCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtYXNrLXBhc3N3b3JkLWNvbnNvbGUuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtYXNrLXBhc3N3b3JkLXdhbGwucGF0aCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtYXNrLXBhc3N3b3JkLXdhbGwuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c2luaXQudGFyZ2V0LndhbnRzL3N5c3RlbWQtYXNrLXBhc3N3b3JkLWNvbnNvbGUucGF0aCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c2luaXQudGFyZ2V0LndhbnRzL3N5c3RlbWQtYXNrLXBhc3N3b3JkLXdhbGwucGF0aCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL211bHRpLXVzZXIudGFyZ2V0LndhbnRzL3N5c3RlbWQtYXNrLXBhc3N3b3JkLXdhbGwucGF0aCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtcmVzb2x2ZS1ob3N0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1hYy1wb3dlciBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtYWN0aXZhdGUgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWJ1cy1wcm94eWQgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWJ1cy1wcm94eWQuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtYnVzLXByb3h5ZC5zb2NrZXQgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXNvY2tldC1wcm94eWQgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXJlcGx5LXBhc3N3b3JkIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1zbGVlcCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbS1zbGVlcCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtaGliZXJuYXRlLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWh5YnJpZC1zbGVlcC5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC1zdXNwZW5kLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zbGVlcC50YXJnZXQgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWluaXRjdGwgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWluaXRjdGwuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtaW5pdGN0bC5zb2NrZXQgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zb2NrZXRzLnRhcmdldC53YW50cy9zeXN0ZW1kLWluaXRjdGwuc29ja2V0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtLWdlbmVyYXRvcnMvc3lzdGVtZC1ncHQtYXV0by1nZW5lcmF0b3IgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWNncm91cHMtYWdlbnQgXAorIgorCitGSUxFU18ke1BOfSA9ICIgJHtiYXNlX2JpbmRpcn0vKiBcCisgICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L3NodXRkb3duIFwKKyAgICAgICAgICAgICAgICAke2Jhc2Vfc2JpbmRpcn0vaGFsdCBcCisgICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L3Bvd2Vyb2ZmIFwKKyAgICAgICAgICAgICAgICAke2Jhc2Vfc2JpbmRpcn0vcnVubGV2ZWwgXAorICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS90ZWxpbml0IFwKKyAgICAgICAgICAgICAgICAke2Jhc2Vfc2JpbmRpcn0vcmVzb2x2Y29uZiBcCisgICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L3JlYm9vdCBcCisgICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L2luaXQgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtCUE59IFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2ZhY3RvcnkgXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGJ1cy0xLyBcCisgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb2R1bGVzLWxvYWQuZC8gXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vcGFtLmQvIFwKKyAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3N5c2N0bC5kLyBcCisgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9zeXN0ZW1kLyBcCisgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS90bXBmaWxlcy5kLyBcCisgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS94ZGcvIFwKKyAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9SRUFETUUgXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vcmVzb2x2LWNvbmYuc3lzdGVtZCBcCisgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC8qIFwKKyAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vKiBcCisgICAgICAgICAgICAgICAgJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkvKi5zbyBcCisgICAgICAgICAgICAgICAgL2Nncm91cCBcCisgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQqIFwKKyAgICAgICAgICAgICAgICAke2JpbmRpcn0vYnVzY3RsIFwKKyAgICAgICAgICAgICAgICAke2JpbmRpcn0vY29yZWR1bXBjdGwgXAorICAgICAgICAgICAgICAgICR7YmluZGlyfS9sb2NhbGVjdGwgXAorICAgICAgICAgICAgICAgICR7YmluZGlyfS9ob3N0bmFtZWN0bCBcCisgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3Jlc29sdmVjdGwgXAorICAgICAgICAgICAgICAgICR7YmluZGlyfS90aW1lZGF0ZWN0bCBcCisgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2Jvb3RjdGwgXAorICAgICAgICAgICAgICAgICR7YmluZGlyfS9rZXJuZWwtaW5zdGFsbCBcCisgICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvKi5jb25mIFwKKyAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvc3lzdGVtZCBcCisgICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL21vZHVsZXMtbG9hZC5kIFwKKyAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvc3lzY3RsLmQgXAorICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi9zeXN1c2Vycy5kIFwKKyAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvZW52aXJvbm1lbnQuZCBcCisgICAgICAgICAgICAgICAgJHtsb2NhbHN0YXRlZGlyfSBcCisgICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvNzAtdWFjY2Vzcy5ydWxlcyBcCisgICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvNzEtc2VhdC5ydWxlcyBcCisgICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvNzMtc2VhdC1sYXRlLnJ1bGVzIFwKKyAgICAgICAgICAgICAgICAke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvcnVsZXMuZC85OS1zeXN0ZW1kLnJ1bGVzIFwKKyAgICAgICAgICAgICAgICAke25vbmFyY2hfYmFzZV9saWJkaXJ9L21vZHByb2JlLmQvc3lzdGVtZC5jb25mIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AudGltZWRhdGUxLmNvbmYgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5sb2NhbGUxLmNvbmYgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5uZXR3b3JrMS5jb25mIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AucmVzb2x2ZTEuY29uZiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLnN5c3RlbWQxLmNvbmYgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5ob3N0bmFtZTEuY29uZiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLmxvZ2luMS5jb25mIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AudGltZXN5bmMxLmNvbmYgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5wb3J0YWJsZTEuY29uZiBcCisgICAgICAgICAgICAgICAiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkvKi5sYSAke2RhdGFkaXJ9L2RidXMtMS9pbnRlcmZhY2VzLyAke3N5c2NvbmZkaXJ9L3JwbS9tYWNyb3Muc3lzdGVtZCIKKworUkRFUEVORFNfJHtQTn0gKz0gImttb2QgZGJ1cyB1dGlsLWxpbnV4LW1vdW50IHV0aWwtbGludXgtdW1vdW50IHVkZXYgKD0gJHtFWFRFTkRQS0dWfSkgdXRpbC1saW51eC1hZ2V0dHkgdXRpbC1saW51eC1mc2NrIgorUkRFUEVORFNfJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3NlcmlhbC1nZXR0eS1nZW5lcmF0b3InLCAnJywgJ3N5c3RlbWQtc2VyaWFsZ2V0dHknLCBkKX0iCitSREVQRU5EU18ke1BOfSArPSAidm9sYXRpbGUtYmluZHMgdXBkYXRlLXJjLmQgc3lzdGVtZC1jb25mIgorCitSUkVDT01NRU5EU18ke1BOfSArPSAic3lzdGVtZC1leHRyYS11dGlscyBcCisgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtZC1jb21wYXQtdW5pdHMgdWRldi1od2RiIFwKKyAgICAgICAgICAgICAgICAgICAgICBlMmZzcHJvZ3MtZTJmc2NrIFwKKyAgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLWF1dG9mczQga2VybmVsLW1vZHVsZS11bml4IGtlcm5lbC1tb2R1bGUtaXB2NiBcCisgICAgICAgICAgICAgICAgICAgICAgb3MtcmVsZWFzZSBcCisiCisKK0lOU0FORV9TS0lQXyR7UE59ICs9ICJkZXYtc28gbGliZGlyIgorSU5TQU5FX1NLSVBfJHtQTn0tZGJnICs9ICJsaWJkaXIiCitJTlNBTkVfU0tJUF8ke1BOfS1kb2MgKz0gIiBsaWJkaXIiCisKK1BBQ0tBR0VTID0rICJ1ZGV2IHVkZXYtaHdkYiIKKworUlBST1ZJREVTX3VkZXYgPSAiaG90cGx1ZyIKKworUkRFUEVORFNfdWRldi1od2RiICs9ICJ1ZGV2IgorCitGSUxFU191ZGV2ICs9ICIke2Jhc2Vfc2JpbmRpcn0vdWRldmQgXAorICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXVkZXZkIFwKKyAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYvYWNjZWxlcm9tZXRlciBcCisgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2F0YV9pZCBcCisgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2Nkcm9tX2lkIFwKKyAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYvY29sbGVjdCBcCisgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2ZpbmRrZXlib2FyZHMgXAorICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9rZXlib2FyZC1mb3JjZS1yZWxlYXNlLnNoIFwKKyAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYva2V5bWFwIFwKKyAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYvbXRkX3Byb2JlIFwKKyAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYvc2NzaV9pZCBcCisgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L3Y0bF9pZCBcCisgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2tleW1hcHMgXAorICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9ydWxlcy5kLyoucnVsZXMgXAorICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS91ZGV2IFwKKyAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL3N5c3RlbWQtdWRldmQgXAorICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qdWRldiogXAorICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLndhbnRzLyp1ZGV2KiBcCisgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS91ZGV2YWRtIFwKKyAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vJHtNTFBSRUZJWH11ZGV2YWRtIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vYmFzaC1jb21wbGV0aW9uL2NvbXBsZXRpb25zL3VkZXZhZG0gXAorICAgICAgICAgICAgICAiCisKK0ZJTEVTX3VkZXYtaHdkYiA9ICIke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2h3ZGIuZCIKKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICJ1ZGV2IgorSU5JVFNDUklQVF9OQU1FX3VkZXYgPSAic3lzdGVtZC11ZGV2ZCIKK0lOSVRTQ1JJUFRfUEFSQU1TX3VkZXYgPSAic3RhcnQgMDMgUyAuIgorCitweXRob24gX19hbm9ueW1vdXMoKSB7CisgICAgaWYgbm90IGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCBUcnVlLCBGYWxzZSwgZCk6CisgICAgICAgIGQuc2V0VmFyKCJJTkhJQklUX1VQREFURVJDRF9CQkNMQVNTIiwgIjEiKQorfQorCitBTFRFUk5BVElWRV8ke1BOfSA9ICJoYWx0IHJlYm9vdCBzaHV0ZG93biBwb3dlcm9mZiBydW5sZXZlbCByZXNvbHYtY29uZiIKKworQUxURVJOQVRJVkVfVEFSR0VUW3Jlc29sdi1jb25mXSA9ICIke3N5c2NvbmZkaXJ9L3Jlc29sdi1jb25mLnN5c3RlbWQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcmVzb2x2LWNvbmZdID0gIiR7c3lzY29uZmRpcn0vcmVzb2x2LmNvbmYiCitBTFRFUk5BVElWRV9QUklPUklUWVtyZXNvbHYtY29uZl0gPz0gIjUwIgorCitBTFRFUk5BVElWRV9UQVJHRVRbaGFsdF0gPSAiJHtiYXNlX2JpbmRpcn0vc3lzdGVtY3RsIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2hhbHRdID0gIiR7YmFzZV9zYmluZGlyfS9oYWx0IgorQUxURVJOQVRJVkVfUFJJT1JJVFlbaGFsdF0gPz0gIjMwMCIKKworQUxURVJOQVRJVkVfVEFSR0VUW3JlYm9vdF0gPSAiJHtiYXNlX2JpbmRpcn0vc3lzdGVtY3RsIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3JlYm9vdF0gPSAiJHtiYXNlX3NiaW5kaXJ9L3JlYm9vdCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZW3JlYm9vdF0gPz0gIjMwMCIKKworQUxURVJOQVRJVkVfVEFSR0VUW3NodXRkb3duXSA9ICIke2Jhc2VfYmluZGlyfS9zeXN0ZW1jdGwiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc2h1dGRvd25dID0gIiR7YmFzZV9zYmluZGlyfS9zaHV0ZG93biIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZW3NodXRkb3duXSA/PSAiMzAwIgorCitBTFRFUk5BVElWRV9UQVJHRVRbcG93ZXJvZmZdID0gIiR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtwb3dlcm9mZl0gPSAiJHtiYXNlX3NiaW5kaXJ9L3Bvd2Vyb2ZmIgorQUxURVJOQVRJVkVfUFJJT1JJVFlbcG93ZXJvZmZdID89ICIzMDAiCisKK0FMVEVSTkFUSVZFX1RBUkdFVFtydW5sZXZlbF0gPSAiJHtiYXNlX2JpbmRpcn0vc3lzdGVtY3RsIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3J1bmxldmVsXSA9ICIke2Jhc2Vfc2JpbmRpcn0vcnVubGV2ZWwiCitBTFRFUk5BVElWRV9QUklPUklUWVtydW5sZXZlbF0gPz0gIjMwMCIKKworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKwlzZWQgLWUgJy9eaG9zdHM6L3MvXHMqXDxteWhvc3RuYW1lXD4vLycgXAorCQktZSAncy9cKF5ob3N0czouKlwpXChcPGZpbGVzXD5cKVwoLipcKVwoXDxkbnNcPlwpXCguKlwpL1wxXDIgbXlob3N0bmFtZSBcM1w0XDUvJyBcCisJCS1pICREJHtzeXNjb25mZGlyfS9uc3N3aXRjaC5jb25mCit9CisKK3BrZ19wcmVybV8ke1BOfSAoKSB7CisJc2VkIC1lICcvXmhvc3RzOi9zL1xzKlw8bXlob3N0bmFtZVw+Ly8nIFwKKwkJLWUgJy9eaG9zdHM6L3MvXHMqbXlob3N0bmFtZS8vJyBcCisJCS1pICREJHtzeXNjb25mZGlyfS9uc3N3aXRjaC5jb25mCit9CisKK1BBQ0tBR0VfV1JJVEVfREVQUyArPSAicWVtdS1uYXRpdmUiCitwa2dfcG9zdGluc3RfdWRldi1od2RiICgpIHsKKwlpZiB0ZXN0IC1uICIkRCI7IHRoZW4KKwkJJElOVEVSQ0VQVF9ESVIvcG9zdGluc3RfaW50ZXJjZXB0IHVwZGF0ZV91ZGV2X2h3ZGIgJHtQS0d9IG1scHJlZml4PSR7TUxQUkVGSVh9IGJpbnByZWZpeD0ke01MUFJFRklYfQorCWVsc2UKKwkJdWRldmFkbSBod2RiIC0tdXBkYXRlCisJZmkKK30KKworcGtnX3ByZXJtX3VkZXYtaHdkYiAoKSB7CisJcm0gLWYgJEQke3N5c2NvbmZkaXJ9L3VkZXYvaHdkYi5iaW4KK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtaW5pdHRhYi9zdGFydF9nZXR0eSBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtaW5pdHRhYi9zdGFydF9nZXR0eQppbmRleCBlMTVhZTM1Li45NmZkNmNmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LWluaXR0YWIvc3RhcnRfZ2V0dHkKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC1pbml0dGFiL3N0YXJ0X2dldHR5CkBAIC0xMyw2ICsxMywxOCBAQAogIyBSZXBocmFzZSBpbnB1dCBwYXJhbWV0ZXIgZnJvbSB0dHlTIHRhcmdldCBpbmRleCAodHR5UzEsIHR0eVMyLCB0dHlBTUEwLCBldGMpLgogcnVudGltZV90dHk9JChlY2hvICQyIHwgZ3JlcCAtb2ggJ1swLTldJykKIAorIyBidXN5Ym94JyBnZXR0eSBkb2VzIHRoaXMgaXRzZWxmLCB1dGlsLWxpbnV4JyBhZ2V0dHkgbmVlZHMgZXh0cmEgaGVscAorZ2V0dHk9Ii9zYmluL2dldHR5IgorY2FzZSAkKHJlYWRsaW5rIC1mICIke2dldHR5fSIpIGluCisgICAgKi9idXN5Ym94KikKKyAgICAgICAgOzsKKyAgICAqKQorICAgICAgICBpZiBbIC14ICIvdXNyL2Jpbi9zZXRzaWQiIF0gOyB0aGVuCisgICAgICAgICAgICBzZXRzaWQ9Ii91c3IvYmluL3NldHNpZCIKKyAgICAgICAgZmkKKyAgICAgICAgOzsKK2VzYWMKKwogIyBCYWNrdXAgJElGUy4KIERFRkFVTFRfSUZTPSRJRlMKICMgQ3VzdG9taXplIEludGVybmFsIEZpZWxkIFNlcGFyYXRvci4KQEAgLTMxLDcgKzQzLDcgQEAKIAkJCXRoZW4KIAkJCQlpZiBbIC1jIC9kZXYvJDIgXQogCQkJCXRoZW4KLQkJCQkgICAgL3NiaW4vZ2V0dHkgLUwgJDEgJDIgJDMKKwkJCQkgICAgJHtzZXRzaWQ6LX0gJHtnZXR0eX0gLUwgJDEgJDIgJDMKIAkJCQlmaQogCQkJCWJyZWFrCiAJCQlmaQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC1pbml0dGFiXzIuODhkc2YuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LWluaXR0YWJfMi44OGRzZi5iYgppbmRleCA4NTg1YTQxLi5iZmQ4OTBkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LWluaXR0YWJfMi44OGRzZi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LWluaXR0YWJfMi44OGRzZi5iYgpAQCAtMjAsNiArMjAsNyBAQAogICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2luaXR0YWIgJHtEfSR7c3lzY29uZmRpcn0vaW5pdHRhYgogICAgIGluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9CiAgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vc3RhcnRfZ2V0dHkgJHtEfSR7YmFzZV9iaW5kaXJ9L3N0YXJ0X2dldHR5CisgICAgc2VkIC1lICdzLC91c3IvYmluLCR7YmluZGlyfSxnJyAtaSAke0R9JHtiYXNlX2JpbmRpcn0vc3RhcnRfZ2V0dHkKIAogICAgIHNldCAteAogICAgIHRtcD0iJHtTRVJJQUxfQ09OU09MRVN9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC0yLjg4ZHNmLzAwMDEtaW5jbHVkZS1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLWRlZmluZXMtaW4tZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQvMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW5lcy1pbi1nLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LTIuODhkc2YvMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW5lcy1pbi1nLnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LzAwMDEtaW5jbHVkZS1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLWRlZmluZXMtaW4tZy5wYXRjaApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC0yLjg4ZHNmL2NyeXB0LWxpYi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQvY3J5cHQtbGliLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LTIuODhkc2YvY3J5cHQtbGliLnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0L2NyeXB0LWxpYi5wYXRjaApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC0yLjg4ZHNmL2luc3RhbGwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0L2luc3RhbGwucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtMi44OGRzZi9pbnN0YWxsLnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0L2luc3RhbGwucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtMi44OGRzZi9waWRvZi1hZGQtbS1vcHRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0L3BpZG9mLWFkZC1tLW9wdGlvbi5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC0yLjg4ZHNmL3BpZG9mLWFkZC1tLW9wdGlvbi5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC9waWRvZi1hZGQtbS1vcHRpb24ucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4LmluYwppbmRleCBhMDVjMWNhLi4xOGMzYWYyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eC5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS91dGlsLWxpbnV4L3V0aWwtbGludXguaW5jCkBAIC0xOSwxMjEgKzE5LDEzMiBAQAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliYmxraWQvQ09QWUlORzttZDU9ZmI5M2YwMWQ0MzYxMDY5YzU2MTYzMjc3MDUzNzNiMTYiCiAKICNndGstZG9jIGlzIG5vdCBlbmFibGVkIGFzIGl0IHJlcXVpcmVzIHhtbHRvIHdoaWNoIHJlcXVpcmVzIHV0aWwtbGludXgKLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnIHN5c3RlbWQgdXBkYXRlLWFsdGVybmF0aXZlcyBweXRob24zLWRpciBiYXNoLWNvbXBsZXRpb24gcHRlc3QKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgbWFucGFnZXMgcGtnY29uZmlnIHN5c3RlbWQgdXBkYXRlLWFsdGVybmF0aXZlcyBweXRob24zLWRpciBiYXNoLWNvbXBsZXRpb24gcHRlc3QKIERFUEVORFMgPSAiemxpYiBuY3Vyc2VzIHZpcnR1YWwvY3J5cHQiCi1ERVBFTkRTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGx6by1uYXRpdmUiCi1ERVBFTkRTX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIGx6by1uYXRpdmUiCiAKLVNSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC91dGlscy91dGlsLWxpbnV4L3Yke01BSk9SX1ZFUlNJT059L3V0aWwtbGludXgtJHtQVn0udGFyLnh6IFwKK01BSk9SX1ZFUlNJT04gPSAiJHtAJy4nLmpvaW4oZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswOjJdKX0iCitTUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMvJHtCUE59L3Yke01BSk9SX1ZFUlNJT059LyR7QlB9LnRhci54eiBcCiAgICAgICAgICAgICIKIAotUEFDS0FHRVMgPSsgInV0aWwtbGludXgtYWdldHR5IHV0aWwtbGludXgtZmRpc2sgdXRpbC1saW51eC1jZmRpc2sgdXRpbC1saW51eC1zZmRpc2sgXAotICAgICAgICAgICAgIHV0aWwtbGludXgtc3dhcG9ub2ZmIHV0aWwtbGludXgtbG9zZXR1cCB1dGlsLWxpbnV4LXVtb3VudCBcCi0gICAgICAgICAgICAgdXRpbC1saW51eC1tb3VudCB1dGlsLWxpbnV4LXJlYWRwcm9maWxlIHV0aWwtbGludXgtdXVpZGQgXAotICAgICAgICAgICAgIHV0aWwtbGludXgtdXVpZGdlbiB1dGlsLWxpbnV4LWxzY3B1IHV0aWwtbGludXgtZnNjay5jcmFtZnMgdXRpbC1saW51eC1mc2NrIFwKLSAgICAgICAgICAgICB1dGlsLWxpbnV4LWJsa2lkIHV0aWwtbGludXgtbWtmcyB1dGlsLWxpbnV4LW1jb29raWUgdXRpbC1saW51eC1yZmtpbGwgXAotICAgICAgICAgICAgIHV0aWwtbGludXgtbHNibGsgdXRpbC1saW51eC1ta2ZzLmNyYW1mcyB1dGlsLWxpbnV4LWZzdHJpbSBcCi0gICAgICAgICAgICAgdXRpbC1saW51eC1wYXJ0eCB1dGlsLWxpbnV4LWh3Y2xvY2sgdXRpbC1saW51eC1tb3VudHBvaW50IFwKLSAgICAgICAgICAgICB1dGlsLWxpbnV4LWZpbmRmcyB1dGlsLWxpbnV4LWdldG9wdCB1dGlsLWxpbnV4LXN1bG9naW4gdXRpbC1saW51eC1wcmxpbWl0IFwKLSAgICAgICAgICAgICB1dGlsLWxpbnV4LWlvbmljZSB1dGlsLWxpbnV4LXN3aXRjaC1yb290IHV0aWwtbGludXgtdW5zaGFyZSIKLVBBQ0tBR0VTICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweWxpYm1vdW50JywgJ3V0aWwtbGludXgtcHlsaWJtb3VudCcsICcnLCBkKX0iCi1QQUNLQUdFUyA9KyAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAndXRpbC1saW51eC1ydW51c2VyIHV0aWwtbGludXgtc3UnLCAnJywgZCl9IgorUEFDS0FHRVMgPSsgIiR7UE59LXN3YXBvbm9mZiIKK1BBQ0tBR0VTICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweWxpYm1vdW50JywgJyR7UE59LXB5bGlibW91bnQnLCAnJywgZCl9IgogCi1QQUNLQUdFU19EWU5BTUlDID0gIl51dGlsLWxpbnV4LWxpYi4qIgorcHl0aG9uIHV0aWxfbGludXhfYmlucGFja2FnZXMgKCkgeworICAgIGRlZiBwa2dfaG9vayhmLCBwa2csIGZpbGVfcmVnZXgsIG91dHB1dF9wYXR0ZXJuLCBtb2R1bGVuYW1lKToKKyAgICAgICAgcG4gPSBkLmdldFZhcignUE4nKQorICAgICAgICBkLmFwcGVuZFZhcignUlJFQ09NTUVORFNfJXMnICUgcG4sICcgJXMnICUgcGtnKQogCi1TSEFSRURfRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS11c2UtdHR5LWdyb3VwIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW1ha2VpbnN0YWxsLWNob3duIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLS1lbmFibGUta2lsbCAtLWVuYWJsZS1sYXN0IC0tZW5hYmxlLW1lc2cgLS1lbmFibGUtcGFydHggXAotICAgICAgICAgICAgICAgICAgICAgICAtLWVuYWJsZS1yYXcgLS1lbmFibGUtcmZraWxsIC0tZGlzYWJsZS1sb2dpbiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS12aXB3IC0tZGlzYWJsZS1uZXdncnAgLS1kaXNhYmxlLWNoZm4tY2hzaCBcCi0gICAgICAgICAgICAgICAgICAgICAgIC0tZW5hYmxlLXdyaXRlIC0tZW5hYmxlLW1vdW50IC0tZW5hYmxlLXVuc2hhcmUgXAotICAgICAgICAgICAgICAgICAgICAgICAtLWVuYWJsZS1saWJ1dWlkIC0tZW5hYmxlLWxpYmJsa2lkIC0tZW5hYmxlLWZzY2sgXAotICAgICAgICAgICAgICAgICAgICAgICAtLWRpc2FibGUtbWluaXggLS1kaXNhYmxlLWJmcyAtLXdpdGhvdXQtdWRldiBcCi0gICAgICAgICAgICAgICAgICAgICAgIHVzcnNiaW5fZXhlY2Rpcj0nJHtzYmluZGlyfScgXAorICAgICAgICBpZiBkLmdldFZhcignQUxURVJOQVRJVkVfJyArIHBrZyk6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgaWYgZC5nZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9MSU5LX05BTUUnLCBtb2R1bGVuYW1lKToKKyAgICAgICAgICAgIGQuc2V0VmFyKCdBTFRFUk5BVElWRV8nICsgcGtnLCBtb2R1bGVuYW1lKQorCisgICAgYmluZGlycyA9IHNvcnRlZChsaXN0KHNldChkLmV4cGFuZCgiJHtiYXNlX3NiaW5kaXJ9ICR7YmFzZV9iaW5kaXJ9ICR7c2JpbmRpcn0gJHtiaW5kaXJ9Iikuc3BsaXQoKSkpKQorICAgIGZvciBkaXIgaW4gYmluZGlyczoKKyAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcm9vdD1kaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfcmVnZXg9cicoLiopJywgb3V0cHV0X3BhdHRlcm49JyR7UE59LSVzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb249JyR7UE59ICVzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaG9vaz1wa2dfaG9vaywgZXh0cmFfZGVwZW5kcz0nJykKKworICAgICMgVGhlcmUgYXJlIHNvbWUgc3ltbGlua3MgZm9yIHNvbWUgYmluYXJpZXMgd2hpY2ggd2UgaGF2ZSBpZ25vcmVkCisgICAgIyBhYm92ZS4gQWRkIHRoZW0gdG8gdGhlIHBhY2thZ2Ugb3duaW5nIHRoZSBiaW5hcnkgdGhleSBhcmUKKyAgICAjIHBvaW50aW5nIHRvCisgICAgZXh0cmFzID0ge30KKyAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0QnKQorICAgIGZvciByb290IGluIGJpbmRpcnM6CisgICAgICAgIGZvciB3YWxrcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhkdmFyICsgcm9vdCk6CisgICAgICAgICAgICBmb3IgZiBpbiBmaWxlczoKKyAgICAgICAgICAgICAgICBmaWxlID0gb3MucGF0aC5qb2luKHdhbGtyb290LCBmKQorICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzbGluayhmaWxlKToKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAgICAgIHBrZyA9IG9zLnBhdGguYmFzZW5hbWUob3MucmVhZGxpbmsoZmlsZSkpCisgICAgICAgICAgICAgICAgZXh0cmFzW3BrZ10gPSBleHRyYXMuZ2V0KHBrZywgJycpICsgJyAnICsgZmlsZS5yZXBsYWNlKGR2YXIsICcnLCAxKQorCisgICAgcG4gPSBkLmdldFZhcignUE4nKQorICAgIGZvciBwa2csIGxpbmtzIGluIGV4dHJhcy5pdGVtcygpOgorICAgICAgICBvZiA9IGQuZ2V0VmFyKCdGSUxFU18nICsgcG4gKyAnLScgKyBwa2cpCisgICAgICAgIGxpbmtzID0gb2YgKyBsaW5rcworICAgICAgICBkLnNldFZhcignRklMRVNfJyArIHBuICsgJy0nICsgcGtnLCBsaW5rcykKK30KKworIyB3ZSBtdXN0IGV4ZWN1dGUgYmVmb3JlIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTCitQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgPSsgInV0aWxfbGludXhfYmlucGFja2FnZXMgIgorCitweXRob24gdXRpbF9saW51eF9saWJwYWNrYWdlcygpIHsKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCByb290PWQuZ2V0VmFyKCdVVElMX0xJTlVYX0xJQkRJUicpLCBmaWxlX3JlZ2V4PXInXmxpYiguKilcLnNvXC4uKiQnLAorICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9wYXR0ZXJuPScke1BOfS1saWIlcycsCisgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb249JyR7UE59IGxpYiVzJywKKyAgICAgICAgICAgICAgICAgICAgICBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUsIGFsbG93X2xpbmtzPVRydWUpCit9CisKK1BBQ0tBR0VTUExJVEZVTkNTID0rICJ1dGlsX2xpbnV4X2xpYnBhY2thZ2VzIgorCitQQUNLQUdFU19EWU5BTUlDID0gIl4ke1BOfS0uKiIKKworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gInNjYW5mX2N2X2FsbG9jX21vZGlmaWVyPW1zIgorVVRJTF9MSU5VWF9MSUJESVIgPSAiJHtsaWJkaXJ9IgorVVRJTF9MSU5VWF9MSUJESVJfY2xhc3MtdGFyZ2V0ID0gIiR7YmFzZV9saWJkaXJ9IgorRVhUUkFfT0VDT05GID0gIlwKKyAgICAtLWVuYWJsZS1saWJ1dWlkIC0tZW5hYmxlLWxpYmJsa2lkIFwKKyAgICBcCisgICAgLS1lbmFibGUtZnNjayAtLWVuYWJsZS1raWxsIC0tZW5hYmxlLWxhc3QgLS1lbmFibGUtbWVzZyBcCisgICAgLS1lbmFibGUtbW91bnQgLS1lbmFibGUtcGFydHggLS1lbmFibGUtcmF3IC0tZW5hYmxlLXJma2lsbCBcCisgICAgLS1lbmFibGUtdW5zaGFyZSAtLWVuYWJsZS13cml0ZSBcCisgICAgXAorICAgIC0tZGlzYWJsZS1iZnMgLS1kaXNhYmxlLWNoZm4tY2hzaCAtLWRpc2FibGUtbG9naW4gXAorICAgIC0tZGlzYWJsZS1tYWtlaW5zdGFsbC1jaG93biAtLWRpc2FibGUtbWluaXggLS1kaXNhYmxlLW5ld2dycCBcCisgICAgLS1kaXNhYmxlLXVzZS10dHktZ3JvdXAgLS1kaXNhYmxlLXZpcHcgXAorICAgIFwKKyAgICAtLXdpdGhvdXQtdWRldiBcCisgICAgXAorICAgIHVzcnNiaW5fZXhlY2Rpcj0nJHtzYmluZGlyfScgXAorICAgIC0tbGliZGlyPScke1VUSUxfTElOVVhfTElCRElSfScgXAogIgogCi1FWFRSQV9PRUNPTkYgPSAiJHtTSEFSRURfRVhUUkFfT0VDT05GfSAtLWxpYmRpcj0ke2Jhc2VfbGliZGlyfSIKLQogUEFDS0FHRUNPTkZJR19jbGFzcy10YXJnZXQgPz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSIKKyMgaW5oZXJpdCBtYW5wYWdlcyByZXF1aXJlcyB0aGlzIHRvIGJlIHByZXNlbnQsIGhvd2V2ZXIgdXRpbC1saW51eCBkb2VzIG5vdCBoYXZlIAorIyBjb25maWd1cmF0aW9uIG9wdGlvbnMsIGFuZCBpbnN0YWxscyBtYW5wYWdlcyBhbHdheXMKK1BBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIiIKIFBBQ0tBR0VDT05GSUdbcGFtXSA9ICItLWVuYWJsZS1zdSAtLWVuYWJsZS1ydW51c2VyLC0tZGlzYWJsZS1zdSAtLWRpc2FibGUtcnVudXNlciwgbGlicGFtLCIKLQogIyBSZXNwZWN0IHRoZSBzeXN0ZW1kIGZlYXR1cmUgZm9yIHV1aWRkCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywgLS13aXRob3V0LXN5c3RlbWQgLS13aXRob3V0LXN5c3RlbWRzeXN0ZW11bml0ZGlyLHN5c3RlbWQiCi0KK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWQgLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0sIC0td2l0aG91dC1zeXN0ZW1kIC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcixzeXN0ZW1kIgogIyBCdWlsZCBzZXRwcml2IHJlcXVpcmVzIGxpYmNhcC1uZwogUEFDS0FHRUNPTkZJR1tsaWJjYXAtbmddID0gIi0tZW5hYmxlLXNldHByaXYsLS1kaXNhYmxlLXNldHByaXYsbGliY2FwLW5nLCIKLQogIyBCdWlsZCBweXRob24gYmluZGluZ3MgZm9yIGxpYm1vdW50CiBQQUNLQUdFQ09ORklHW3B5bGlibW91bnRdID0gIi0td2l0aC1weXRob249MyAtLWVuYWJsZS1weWxpYm1vdW50LC0td2l0aG91dC1weXRob24gLS1kaXNhYmxlLXB5bGlibW91bnQscHl0aG9uMyIKLQogIyBSZWFkbGluZSBzdXBwb3J0CiBQQUNLQUdFQ09ORklHW3JlYWRsaW5lXSA9ICItLXdpdGgtcmVhZGxpbmUsLS13aXRob3V0LXJlYWRsaW5lLHJlYWRsaW5lIgogCitFWFRSQV9PRU1BS0UgPSAiQVJDSD0ke1RBUkdFVF9BUkNIfSBDUFU9IENQVU9QVD0gJ09QVD0ke0NGTEFHU30nIgorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorRklMRVNfJHtQTn0gPSAiIgogRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9L2dldG9wdC9nZXRvcHQtKi4qIgotCiBGSUxFU18ke1BOfS1kZXYgKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2xpYm1vdW50L3B5bGlibW91bnQubGEiCi0KLUZJTEVTX3V0aWwtbGludXgtYWdldHR5ID0gIiR7YmFzZV9zYmluZGlyfS9hZ2V0dHkiCi1GSUxFU191dGlsLWxpbnV4LWZkaXNrID0gIiR7YmFzZV9zYmluZGlyfS9mZGlzay4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LWZzdHJpbSA9ICIke2Jhc2Vfc2JpbmRpcn0vZnN0cmltLiR7QlBOfSIKLUZJTEVTX3V0aWwtbGludXgtY2ZkaXNrID0gIiR7YmFzZV9zYmluZGlyfS9jZmRpc2siCi1GSUxFU191dGlsLWxpbnV4LXNmZGlzayA9ICIke3NiaW5kaXJ9L3NmZGlzayIKLUZJTEVTX3V0aWwtbGludXgtc3dhcG9ub2ZmID0gIiR7YmFzZV9zYmluZGlyfS9zd2Fwb24uJHtCUE59ICR7YmFzZV9zYmluZGlyfS9zd2Fwb2ZmLiR7QlBOfSIKLUZJTEVTX3V0aWwtbGludXgtbG9zZXR1cCA9ICIke2Jhc2Vfc2JpbmRpcn0vbG9zZXR1cC4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LW1vdW50ID0gIiR7YmFzZV9iaW5kaXJ9L21vdW50LiR7QlBOfSIKLUZJTEVTX3V0aWwtbGludXgtbWNvb2tpZSA9ICIke2JpbmRpcn0vbWNvb2tpZSIKLUZJTEVTX3V0aWwtbGludXgtdW1vdW50ID0gIiR7YmFzZV9iaW5kaXJ9L3Vtb3VudC4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LXJlYWRwcm9maWxlID0gIiR7c2JpbmRpcn0vcmVhZHByb2ZpbGUuJHtCUE59IgotRklMRVNfdXRpbC1saW51eC11dWlkZ2VuID0gIiR7YmluZGlyfS91dWlkZ2VuIgotRklMRVNfdXRpbC1saW51eC11dWlkZCA9ICIke3NiaW5kaXJ9L3V1aWRkIgotRklMRVNfdXRpbC1saW51eC1yZmtpbGwgPSAiJHtzYmluZGlyfS9yZmtpbGwqIgotRklMRVNfdXRpbC1saW51eC1wYXJ0eCA9ICIke3NiaW5kaXJ9L3BhcnR4IgotRklMRVNfdXRpbC1saW51eC1od2Nsb2NrID0gIiR7YmFzZV9zYmluZGlyfS9od2Nsb2NrLiR7QlBOfSIKLUZJTEVTX3V0aWwtbGludXgtZmluZGZzID0gIiR7c2JpbmRpcn0vZmluZGZzIgotRklMRVNfdXRpbC1saW51eC1nZXRvcHQgPSAiJHtiYXNlX2JpbmRpcn0vZ2V0b3B0LiR7QlBOfSIKLUZJTEVTX3V0aWwtbGludXgtcnVudXNlciA9ICIke3NiaW5kaXJ9L3J1bnVzZXIiCi1GSUxFU191dGlsLWxpbnV4LXBybGltaXQgPSAiJHtiaW5kaXJ9L3BybGltaXQiCi1GSUxFU191dGlsLWxpbnV4LWlvbmljZSA9ICIke2JpbmRpcn0vaW9uaWNlLiR7QlBOfSIKLUZJTEVTX3V0aWwtbGludXgtc3UgPSAiJHtiaW5kaXJ9L3N1LnV0aWwtbGludXggJHtzeXNjb25mZGlyfS9wYW0uZC9zdS1sIgotQ09ORkZJTEVTX3V0aWwtbGludXgtc3UgPSAiJHtzeXNjb25mZGlyfS9wYW0uZC9zdS1sIgotCi1GSUxFU191dGlsLWxpbnV4LXB5bGlibW91bnQgPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vbGlibW91bnQvcHlsaWJtb3VudC5zbyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vbGlibW91bnQvX19pbml0X18uKiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vbGlibW91bnQvX19weWNhY2hlX18vKiIKLUZJTEVTX3V0aWwtbGludXgtbHNibGsgPSAiJHtiaW5kaXJ9L2xzYmxrIgotRklMRVNfdXRpbC1saW51eC1sc2NwdSA9ICIke2JpbmRpcn0vbHNjcHUiCi0KLUZJTEVTX3V0aWwtbGludXgtZnNjayA9ICIke2Jhc2Vfc2JpbmRpcn0vZnNjayoiCi1GSUxFU191dGlsLWxpbnV4LW1rZnMgPSAiJHtzYmluZGlyfS9ta2ZzIgotCi1GSUxFU191dGlsLWxpbnV4LWZzY2suY3JhbWZzID0gIiR7c2JpbmRpcn0vZnNjay5jcmFtZnMiCi1GSUxFU191dGlsLWxpbnV4LW1rZnMuY3JhbWZzID0gIiR7c2JpbmRpcn0vbWtmcy5jcmFtZnMiCi0KLUZJTEVTX3V0aWwtbGludXgtc3Vsb2dpbiA9ICIke2Jhc2Vfc2JpbmRpcn0vc3Vsb2dpbioiCi1GSUxFU191dGlsLWxpbnV4LW1vdW50cG9pbnQgPSAiJHtiYXNlX2JpbmRpcn0vbW91bnRwb2ludC4ke0JQTn0iCi0KLUZJTEVTX3V0aWwtbGludXgtc3dpdGNoLXJvb3QgPSAiJHtiYXNlX3NiaW5kaXJ9L3N3aXRjaF9yb290LiR7QlBOfSIKLUZJTEVTX3V0aWwtbGludXgtdW5zaGFyZSA9ICIke2JpbmRpcn0vdW5zaGFyZS4ke0JQTn0iCitGSUxFU18ke1BOfS1tb3VudCA9ICIke3N5c2NvbmZkaXJ9L2RlZmF1bHQvbW91bnRhbGwiCitGSUxFU18ke1BOfS1ydW51c2VyID0gIiR7c3lzY29uZmRpcn0vcGFtLmQvcnVudXNlcioiCitGSUxFU18ke1BOfS1zdSA9ICIke3N5c2NvbmZkaXJ9L3BhbS5kL3N1LWwiCitDT05GRklMRVNfJHtQTn0tc3UgPSAiJHtzeXNjb25mZGlyfS9wYW0uZC9zdS1sIgorRklMRVNfJHtQTn0tcHlsaWJtb3VudCA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS9saWJtb3VudC9weWxpYm1vdW50LnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vbGlibW91bnQvX19pbml0X18uKiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2xpYm1vdW50L19fcHljYWNoZV9fLyoiCiAKICMgVXRpbC1saW51eCcgYmxraWQgcmVwbGFjZXMgdGhlIGUyZnNwcm9ncyBvbmUKLUZJTEVTX3V0aWwtbGludXgtYmxraWQgPSAiJHtiYXNlX3NiaW5kaXJ9L2Jsa2lkKiIKLVJDT05GTElDVFNfdXRpbC1saW51eC1ibGtpZCA9ICJlMmZzcHJvZ3MtYmxraWQiCi1SUkVQTEFDRVNfdXRpbC1saW51eC1ibGtpZCA9ICJlMmZzcHJvZ3MtYmxraWQiCi0KLVJERVBFTkRTX3V0aWwtbGludXgtcnVudXNlciArPSAibGlicGFtIgotUkRFUEVORFNfdXRpbC1saW51eC1zdSArPSAibGlicGFtIgotCi1SREVQRU5EU18ke1BOfSA9ICJ1dGlsLWxpbnV4LXVtb3VudCB1dGlsLWxpbnV4LXN3YXBvbm9mZiB1dGlsLWxpbnV4LWxvc2V0dXAgdXRpbC1saW51eC1zdWxvZ2luIHV0aWwtbGludXgtbHNibGsiCi1SREVQRU5EU18ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAndXRpbC1saW51eC1ydW51c2VyIHV0aWwtbGludXgtc3UnLCAnJywgZCl9IgotCi1SUkVDT01NRU5EU18ke1BOfSA9ICJ1dGlsLWxpbnV4LWZkaXNrIHV0aWwtbGludXgtY2ZkaXNrIHV0aWwtbGludXgtc2ZkaXNrIHV0aWwtbGludXgtbW91bnQgdXRpbC1saW51eC1yZWFkcHJvZmlsZSB1dGlsLWxpbnV4LW1rZnMgdXRpbC1saW51eC1tb3VudHBvaW50IHV0aWwtbGludXgtcHJsaW1pdCB1dGlsLWxpbnV4LWlvbmljZSB1dGlsLWxpbnV4LXN3aXRjaC1yb290IgorUkNPTkZMSUNUU18ke1BOfS1ibGtpZCA9ICIke01MUFJFRklYfWUyZnNwcm9ncy1ibGtpZCIKK1JSRVBMQUNFU18ke1BOfS1ibGtpZCA9ICIke01MUFJFRklYfWUyZnNwcm9ncy1ibGtpZCIKIAogUlJFQ09NTUVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKIFJSRUNPTU1FTkRTXyR7UE59X2NsYXNzLW5hdGl2ZXNkayA9ICIiCiBSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgogUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlc2RrID0gIiIKIAotUlBST1ZJREVTXyR7UE59LWRldiA9ICJ1dGlsLWxpbnV4LWxpYmJsa2lkLWRldiB1dGlsLWxpbnV4LWxpYm1vdW50LWRldiB1dGlsLWxpbnV4LWxpYnV1aWQtZGV2IgorUlBST1ZJREVTXyR7UE59LWRldiA9ICIke1BOfS1saWJibGtpZC1kZXYgJHtQTn0tbGlibW91bnQtZGV2ICR7UE59LWxpYnV1aWQtZGV2IgorCitSREVQRU5EU18ke1BOfS1iYXNoLWNvbXBsZXRpb24gKz0gIiR7UE59LWxzYmxrIgorUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiYmFzaCBncmVwIGNvcmV1dGlscyB3aGljaCBidHJmcy10b29scyAke1BOfSIKK1JERVBFTkRTXyR7UE59LXN3YXBvbm9mZiA9ICIke1BOfS1zd2Fwb24gJHtQTn0tc3dhcG9mZiIKK0FMTE9XX0VNUFRZXyR7UE59LXN3YXBvbm9mZiA9ICIxIgogCiAjU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfS11dWlkZCAke1BOfS1mc3RyaW0iCiBTWVNURU1EX1NFUlZJQ0VfJHtQTn0tdXVpZGQgPSAidXVpZGQuc29ja2V0IHV1aWRkLnNlcnZpY2UiCkBAIC0xNDEsMjMgKzE1MiwxNyBAQAogU1lTVEVNRF9TRVJWSUNFXyR7UE59LWZzdHJpbSA9ICJmc3RyaW0udGltZXIgZnN0cmltLnNlcnZpY2UiCiBTWVNURU1EX0FVVE9fRU5BQkxFXyR7UE59LWZzdHJpbSA9ICJkaXNhYmxlIgogCi1kb19jb21waWxlICgpIHsKLQlzZXQgLWUKLQlvZV9ydW5tYWtlIEFSQ0g9JHtUQVJHRVRfQVJDSH0gQ1BVPSBDUFVPUFQ9ICdPUFQ9JHtDRkxBR1N9JwotfQotCiBkb19pbnN0YWxsICgpIHsKIAkjIHdpdGggY2NhY2hlIHRoZSB0aW1lc3RhbXBzIG9uIGNvbXBpbGVkIGZpbGVzIG1heQogCSMgZW5kIHVwIGVhcmxpZXIgdGhhbiBvbiB0aGVpciBpbnB1dHMsIHRoaXMgYWxsb3dzCiAJIyBmb3IgdGhlIHJlc3VsdGFudCBjb21waWxhdGlvbiBpbiB0aGUgaW5zdGFsbCBzdGVwLgotCW9lX3J1bm1ha2UgQVJDSD0ke1RBUkdFVF9BUkNIfSBDUFU9IENQVU9QVD0gXAotCQknT1BUPSR7Q0ZMQUdTfScgJ0NDPSR7Q0N9JyAnTEQ9JHtMRH0nIFwKKwlvZV9ydW5tYWtlICdDQz0ke0NDfScgJ0xEPSR7TER9JyBcCiAJCSdMREZMQUdTPSR7TERGTEFHU30nICdERVNURElSPSR7RH0nIGluc3RhbGwKIAogCW1rZGlyIC1wICR7RH0ke2Jhc2VfYmluZGlyfQogCiAgICAgICAgIHNiaW5wcm9ncz0iYWdldHR5IGN0cmxhbHRkZWwgY2ZkaXNrIHZpcHcgdmlnciIKLSAgICAgICAgc2JpbnByb2dzX2E9InBpdm90X3Jvb3QgaHdjbG9jayBta3N3YXAgbWtmcy5taW5peCBmc2NrLm1pbml4IGxvc2V0dXAgc3dhcG9uIHN3YXBvZmYgZmRpc2sgZnNjayBibGtpZCBibG9ja2RldiBmc3RyaW0gc3Vsb2dpbiBzd2l0Y2hfcm9vdCBub2xvZ2luIgorICAgICAgICBzYmlucHJvZ3NfYT0icGl2b3Rfcm9vdCBod2Nsb2NrIG1rc3dhcCBsb3NldHVwIHN3YXBvbiBzd2Fwb2ZmIGZkaXNrIGZzY2sgYmxraWQgYmxvY2tkZXYgZnN0cmltIHN1bG9naW4gc3dpdGNoX3Jvb3Qgbm9sb2dpbiIKICAgICAgICAgYmlucHJvZ3NfYT0iZG1lc2cgZ2V0b3B0IGtpbGwgbW9yZSB1bW91bnQgbW91bnQgbG9naW4gc3UgbW91bnRwb2ludCIKIAogICAgICAgICBpZiBbICIke2Jhc2Vfc2JpbmRpcn0iICE9ICIke3NiaW5kaXJ9IiBdOyB0aGVuCkBAIC0yMDUsMTIzICsyMTAsODAgQEAKIAogQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiODAiCiAKLUFMVEVSTkFUSVZFXyR7UE59ICA9ICIgXAotICAgIGRtZXNnIGtpbGwgbW9yZSBta3N3YXAgYmxvY2tkZXYgcGl2b3Rfcm9vdCBcCi0gICAgaGV4ZHVtcCBsYXN0IGxhc3RiIGxvZ2dlciBtZXNnIHJlbmljZSB3YWxsIFwKLSAgICBzZXRzaWQgY2hydCBmbG9jayB1dG1wZHVtcCBlamVjdCBub2xvZ2luIHRhc2tzZXQgZmFsbG9jYXRlIFwKLSAgICBmc2ZyZWV6ZSBuc2VudGVyIGNhbCByZXYgXAotIgotCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZG1lc2ddID0gIiR7YmFzZV9iaW5kaXJ9L2RtZXNnIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2tpbGxdID0gIiR7YmFzZV9iaW5kaXJ9L2tpbGwiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbbW9yZV0gPSAiJHtiYXNlX2JpbmRpcn0vbW9yZSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtta3N3YXBdID0gIiR7YmFzZV9zYmluZGlyfS9ta3N3YXAiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbYmxraWRdID0gIiR7YmFzZV9zYmluZGlyfS9ibGtpZCIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtibG9ja2Rldl0gPSAiJHtiYXNlX3NiaW5kaXJ9L2Jsb2NrZGV2IgotQUxURVJOQVRJVkVfTElOS19OQU1FW3Bpdm90X3Jvb3RdID0gIiR7YmFzZV9zYmluZGlyfS9waXZvdF9yb290IgogQUxURVJOQVRJVkVfTElOS19OQU1FW2NhbF0gPSAiJHtiaW5kaXJ9L2NhbCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtjaHJ0XSA9ICIke2JpbmRpcn0vY2hydCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtkbWVzZ10gPSAiJHtiYXNlX2JpbmRpcn0vZG1lc2ciCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbZWplY3RdID0gIiR7YmluZGlyfS9lamVjdCIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtmYWxsb2NhdGVdID0gIiR7YmluZGlyfS9mYWxsb2NhdGUiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbcmV2XSA9ICIke2JpbmRpcn0vcmV2IgorQUxURVJOQVRJVkVfTElOS19OQU1FW2ZkaXNrXSA9ICIke2Jhc2Vfc2JpbmRpcn0vZmRpc2siCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZmxvY2tdID0gIiR7YmluZGlyfS9mbG9jayIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtmc2NrXSA9ICIke2Jhc2Vfc2JpbmRpcn0vZnNjayIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtmc2ZyZWV6ZV0gPSAiJHtzYmluZGlyfS9mc2ZyZWV6ZSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtmc3RyaW1dID0gIiR7YmFzZV9zYmluZGlyfS9mc3RyaW0iCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZ2V0b3B0XSA9ICIke2Jhc2VfYmluZGlyfS9nZXRvcHQiCitBTFRFUk5BVElWRV8ke1BOfS1hZ2V0dHkgPSAiZ2V0dHkiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZ2V0dHldID0gIiR7YmFzZV9zYmluZGlyfS9nZXR0eSIKK0FMVEVSTkFUSVZFX1RBUkdFVFtnZXR0eV0gPSAiJHtiYXNlX3NiaW5kaXJ9L2FnZXR0eSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtoZXhkdW1wXSA9ICIke2JpbmRpcn0vaGV4ZHVtcCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtod2Nsb2NrXSA9ICIke2Jhc2Vfc2JpbmRpcn0vaHdjbG9jayIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtpb25pY2VdID0gIiR7YmluZGlyfS9pb25pY2UiCitBTFRFUk5BVElWRV9MSU5LX05BTUVba2lsbF0gPSAiJHtiYXNlX2JpbmRpcn0va2lsbCIKK0FMVEVSTkFUSVZFXyR7UE59LWxhc3QgPSAibGFzdCBsYXN0YiIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtsYXN0XSA9ICIke2JpbmRpcn0vbGFzdCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtsYXN0Yl0gPSAiJHtiaW5kaXJ9L2xhc3RiIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2xvZ2dlcl0gPSAiJHtiaW5kaXJ9L2xvZ2dlciIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtsb3NldHVwXSA9ICIke2Jhc2Vfc2JpbmRpcn0vbG9zZXR1cCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVttZXNnXSA9ICIke2JpbmRpcn0vbWVzZyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtta3N3YXBdID0gIiR7YmFzZV9zYmluZGlyfS9ta3N3YXAiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbW9yZV0gPSAiJHtiYXNlX2JpbmRpcn0vbW9yZSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVttb3VudF0gPSAiJHtiYXNlX2JpbmRpcn0vbW91bnQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbW91bnRwb2ludF0gPSAiJHtiYXNlX2JpbmRpcn0vbW91bnRwb2ludCIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtub2xvZ2luXSA9ICIke2Jhc2Vfc2JpbmRpcn0vbm9sb2dpbiIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtuc2VudGVyXSA9ICIke2JpbmRpcn0vbnNlbnRlciIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtwaXZvdF9yb290XSA9ICIke2Jhc2Vfc2JpbmRpcn0vcGl2b3Rfcm9vdCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtyZWFkcHJvZmlsZV0gPSAiJHtzYmluZGlyfS9yZWFkcHJvZmlsZSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtyZW5pY2VdID0gIiR7YmluZGlyfS9yZW5pY2UiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcmV2XSA9ICIke2JpbmRpcn0vcmV2IgorQUxURVJOQVRJVkVfTElOS19OQU1FW3Jma2lsbF0gPSAiJHtzYmluZGlyfS9yZmtpbGwiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc2V0c2lkXSA9ICIke2JpbmRpcn0vc2V0c2lkIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3N1XSA9ICIke2Jhc2VfYmluZGlyfS9zdSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtzdWxvZ2luXSA9ICIke2Jhc2Vfc2JpbmRpcn0vc3Vsb2dpbiIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtzd2Fwb2ZmXSA9ICIke2Jhc2Vfc2JpbmRpcn0vc3dhcG9mZiIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtzd2Fwb25dID0gIiR7YmFzZV9zYmluZGlyfS9zd2Fwb24iCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc3dpdGNoX3Jvb3RdID0gIiR7YmFzZV9zYmluZGlyfS9zd2l0Y2hfcm9vdCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0YXNrc2V0XSA9ICIke2JpbmRpcn0vdGFza3NldCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt1bW91bnRdID0gIiR7YmFzZV9iaW5kaXJ9L3Vtb3VudCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt1bnNoYXJlXSA9ICIke2JpbmRpcn0vdW5zaGFyZSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt1dG1wZHVtcF0gPSAiJHtiaW5kaXJ9L3V0bXBkdW1wIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3dhbGxdID0gIiR7YmluZGlyfS93YWxsIgogCi1BTFRFUk5BVElWRV8ke1BOfS1kb2MgPSAibW91bnRwb2ludC4xIGxhc3QuMSBsYXN0Yi4xIG1lc2cuMSB3YWxsLjEgbm9sb2dpbi44IHN1bG9naW4uOCB1dG1wZHVtcC4xIHJma2lsbC44IGtpbGwuMSBsaWJibGtpZC4zIGJsa2lkLjggZmluZGZzLjggZnNjay44IHV1aWQuMyBlamVjdC4xIGxvZ2dlci4xIgorQUxURVJOQVRJVkVfJHtQTn0tZG9jID0gImJsa2lkLjggZWplY3QuMSBmaW5kZnMuOCBmc2NrLjgga2lsbC4xIGxhc3QuMSBsYXN0Yi4xIGxpYmJsa2lkLjMgbG9nZ2VyLjEgbWVzZy4xIG1vdW50cG9pbnQuMSBub2xvZ2luLjggcmZraWxsLjggc3Vsb2dpbi44IHV0bXBkdW1wLjEgdXVpZC4zIHdhbGwuMSIKK0FMVEVSTkFUSVZFXyR7UE59LWRvYyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncGFtJywgJ3N1LjEnLCAnJywgZCl9IgogCitBTFRFUk5BVElWRV9MSU5LX05BTUVbYmxraWQuOF0gPSAiJHttYW5kaXJ9L21hbjgvYmxraWQuOCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtlamVjdC4xXSA9ICIke21hbmRpcn0vbWFuMS9lamVjdC4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2ZpbmRmcy44XSA9ICIke21hbmRpcn0vbWFuOC9maW5kZnMuOCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtmc2NrLjhdID0gIiR7bWFuZGlyfS9tYW44L2ZzY2suOCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtraWxsLjFdID0gIiR7bWFuZGlyfS9tYW4xL2tpbGwuMSIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtsYXN0LjFdID0gIiR7bWFuZGlyfS9tYW4xL2xhc3QuMSIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtsYXN0Yi4xXSA9ICIke21hbmRpcn0vbWFuMS9sYXN0Yi4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2xpYmJsa2lkLjNdID0gIiR7bWFuZGlyfS9tYW4zL2xpYmJsa2lkLjMiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbG9nZ2VyLjFdID0gIiR7bWFuZGlyfS9tYW4xL2xvZ2dlci4xIgogQUxURVJOQVRJVkVfTElOS19OQU1FW21lc2cuMV0gPSAiJHttYW5kaXJ9L21hbjEvbWVzZy4xIgogQUxURVJOQVRJVkVfTElOS19OQU1FW21vdW50cG9pbnQuMV0gPSAiJHttYW5kaXJ9L21hbjEvbW91bnRwb2ludC4xIgogQUxURVJOQVRJVkVfTElOS19OQU1FW25vbG9naW4uOF0gPSAiJHttYW5kaXJ9L21hbjgvbm9sb2dpbi44IgogQUxURVJOQVRJVkVfTElOS19OQU1FW3Jma2lsbC44XSA9ICIke21hbmRpcn0vbWFuOC9yZmtpbGwuOCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtzdS4xXSA9ICIke21hbmRpcn0vbWFuMS9zdS4xIgogQUxURVJOQVRJVkVfTElOS19OQU1FW3N1bG9naW4uOF0gPSAiJHttYW5kaXJ9L21hbjgvc3Vsb2dpbi44IgogQUxURVJOQVRJVkVfTElOS19OQU1FW3V0bXBkdW1wLjFdID0gIiR7bWFuZGlyfS9tYW4xL3V0bXBkdW1wLjEiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbd2FsbC4xXSA9ICIke21hbmRpcn0vbWFuMS93YWxsLjEiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVba2lsbC4xXSA9ICIke21hbmRpcn0vbWFuMS9raWxsLjEiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbbGliYmxraWQuM10gPSAiJHttYW5kaXJ9L21hbjMvbGliYmxraWQuMyIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtibGtpZC44XSA9ICIke21hbmRpcn0vbWFuOC9ibGtpZC44IgotQUxURVJOQVRJVkVfTElOS19OQU1FW2ZpbmRmcy44XSA9ICIke21hbmRpcn0vbWFuOC9maW5kZnMuOCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtmc2NrLjhdID0gIiR7bWFuZGlyfS9tYW44L2ZzY2suOCIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVt1dWlkLjNdID0gIiR7bWFuZGlyfS9tYW4zL3V1aWQuMyIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtlamVjdC4xXSA9ICIke21hbmRpcn0vbWFuMS9lamVjdC4xIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2xvZ2dlci4xXSA9ICIke21hbmRpcn0vbWFuMS9sb2dnZXIuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt3YWxsLjFdID0gIiR7bWFuZGlyfS9tYW4xL3dhbGwuMSIKIAotQUxURVJOQVRJVkVfdXRpbC1saW51eC1od2Nsb2NrID0gImh3Y2xvY2siCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbaHdjbG9ja10gPSAiJHtiYXNlX3NiaW5kaXJ9L2h3Y2xvY2siCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtZmRpc2sgPSAiZmRpc2siCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZmRpc2tdID0gIiR7YmFzZV9zYmluZGlyfS9mZGlzayIKLQotQUxURVJOQVRJVkVfdXRpbC1saW51eC1mc3RyaW0gPSAiZnN0cmltIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2ZzdHJpbV0gPSAiJHtiYXNlX3NiaW5kaXJ9L2ZzdHJpbSIKLQotQUxURVJOQVRJVkVfdXRpbC1saW51eC1hZ2V0dHkgPSAiZ2V0dHkiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZ2V0dHldID0gIiR7YmFzZV9zYmluZGlyfS9nZXR0eSIKLUFMVEVSTkFUSVZFX1RBUkdFVFtnZXR0eV0gPSAiJHtiYXNlX3NiaW5kaXJ9L2FnZXR0eSIKLQotQUxURVJOQVRJVkVfdXRpbC1saW51eC1tb3VudCA9ICJtb3VudCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVttb3VudF0gPSAiJHtiYXNlX2JpbmRpcn0vbW91bnQiCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtdW1vdW50ID0gInVtb3VudCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVt1bW91bnRdID0gIiR7YmFzZV9iaW5kaXJ9L3Vtb3VudCIKLQotQUxURVJOQVRJVkVfdXRpbC1saW51eC1yZWFkcHJvZmlsZSA9ICJyZWFkcHJvZmlsZSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtyZWFkcHJvZmlsZV0gPSAiJHtzYmluZGlyfS9yZWFkcHJvZmlsZSIKLQotQUxURVJOQVRJVkVfdXRpbC1saW51eC1sb3NldHVwID0gImxvc2V0dXAiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbbG9zZXR1cF0gPSAiJHtiYXNlX3NiaW5kaXJ9L2xvc2V0dXAiCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtc3dhcG9ub2ZmID0gInN3YXBvZmYgc3dhcG9uIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3N3YXBvZmZdID0gIiR7YmFzZV9zYmluZGlyfS9zd2Fwb2ZmIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3N3YXBvbl0gPSAiJHtiYXNlX3NiaW5kaXJ9L3N3YXBvbiIKLQotQUxURVJOQVRJVkVfdXRpbC1saW51eC1mc2NrID0gImZzY2siCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZnNja10gPSAiJHtiYXNlX3NiaW5kaXJ9L2ZzY2siCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtYmxraWQgPSAiYmxraWQiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbYmxraWRdID0gIiR7YmFzZV9zYmluZGlyfS9ibGtpZCIKLQotQUxURVJOQVRJVkVfdXRpbC1saW51eC1yZmtpbGwgPSAicmZraWxsIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3Jma2lsbF0gPSAiJHtzYmluZGlyfS9yZmtpbGwiCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtZ2V0b3B0ID0gImdldG9wdCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtnZXRvcHRdID0gIiR7YmFzZV9iaW5kaXJ9L2dldG9wdCIKLQotQUxURVJOQVRJVkVfdXRpbC1saW51eC1zdWxvZ2luID0gInN1bG9naW4iCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbc3Vsb2dpbl0gPSAiJHtiYXNlX3NiaW5kaXJ9L3N1bG9naW4iCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtbW91bnRwb2ludCA9ICJtb3VudHBvaW50IgotQUxURVJOQVRJVkVfTElOS19OQU1FW21vdW50cG9pbnRdID0gIiR7YmFzZV9iaW5kaXJ9L21vdW50cG9pbnQiCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtdW5zaGFyZSA9ICJ1bnNoYXJlIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3Vuc2hhcmVdID0gIiR7YmluZGlyfS91bnNoYXJlIgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LWlvbmljZSA9ICJpb25pY2UiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbaW9uaWNlXSA9ICIke2JpbmRpcn0vaW9uaWNlIgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LXN3aXRjaC1yb290ID0gInN3aXRjaF9yb290IgotQUxURVJOQVRJVkVfTElOS19OQU1FW3N3aXRjaF9yb290XSA9ICIke2Jhc2Vfc2JpbmRpcn0vc3dpdGNoX3Jvb3QiCiAKIEJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKIAotcHl0aG9uIGRvX3BhY2thZ2VfcHJlcGVuZCAoKSB7Ci0gICAgaWYgJy0tZW5hYmxlLXN1JyBpbiBkLmdldFZhcignRVhUUkFfT0VDT05GJykuc3BsaXQoKToKLSAgICAgICAgZC5hcHBlbmRWYXIoZC5leHBhbmQoJ0FMVEVSTkFUSVZFXyR7UE59JyksICcgc3UnKQotICAgICAgICBkLmFwcGVuZFZhcihkLmV4cGFuZCgnQUxURVJOQVRJVkVfJHtQTn0tZG9jJyksICcgc3UuMScpCi0KLSAgICAgICAgZC5zZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9MSU5LX05BTUUnLCAic3UiLCBkLmV4cGFuZCgnJHtiYXNlX2JpbmRpcn0vc3UnKSkKLSAgICAgICAgZC5zZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9MSU5LX05BTUUnLCAic3UuMSIsIGQuZXhwYW5kKCcke21hbmRpcn0vbWFuMS9zdS4xJykpCi19Ci0KLXB5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kKCkgewotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsICcke2Jhc2VfbGliZGlyfScsICdebGliKC4qKVwuc29cLi4qJCcsCi0gICAgICAgICAgICAgICAgICAgICAgb3V0cHV0X3BhdHRlcm49J3V0aWwtbGludXgtbGliJXMnLAotICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPSd1dGlsLWxpbnV4IGxpYiVzJywKLSAgICAgICAgICAgICAgICAgICAgICBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUsIGFsbG93X2xpbmtzPVRydWUpCi19Ci0KLVJERVBFTkRTXyR7UE59LWJhc2gtY29tcGxldGlvbiArPSAidXRpbC1saW51eC1sc2JsayIKLVJERVBFTkRTXyR7UE59LXB0ZXN0ID0gImJhc2ggZ3JlcCBjb3JldXRpbHMgd2hpY2ggdXRpbC1saW51eC1ibGtpZCB1dGlsLWxpbnV4LWZzY2sgYnRyZnMtdG9vbHMiCi0KIGRvX2NvbXBpbGVfcHRlc3QoKSB7CiAgICAgb2VfcnVubWFrZSBidWlsZHRlc3QtVEVTVFMKIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4L2NoZWNrLWZvci1fSEFWRV9TVFJVQ1RfVEVSTUlPU19DX09TUEVFRC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4L2NoZWNrLWZvci1fSEFWRV9TVFJVQ1RfVEVSTUlPU19DX09TUEVFRC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTJjMjc2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS91dGlsLWxpbnV4L3V0aWwtbGludXgvY2hlY2stZm9yLV9IQVZFX1NUUlVDVF9URVJNSU9TX0NfT1NQRUVELnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK0NoZWNraW5nIGZvciBleGl0ZW5jZSBvZiB0aGUgZGVmaW5lIGlzIG5vdCBlbm91Z2ggc2luY2UKK2l0IHdpbGwgYmUgZGVmaW5lZCB3aXRoIDAgb3IgMSB2YWx1ZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0gYS9zeXMtdXRpbHMvbGRhdHRhY2guYworKysrIGIvc3lzLXV0aWxzL2xkYXR0YWNoLmMKK0BAIC0yNDIsNyArMjQyLDcgQEAgc3RhdGljIGludCBteV9jZnNldHNwZWVkKHN0cnVjdCB0ZXJtaW9zCisgCSAqIC0tIHdlIGhhdmUgdG8gYnlwYXNzIGdsaWJjIGFuZCBzZXQgdGhlIHNwZWVkIG1hbnVhbGx5IChiZWNhdXNlIGdsaWJjCisgCSAqICAgIGNoZWNrcyBmb3Igc3BlZWQgYW5kIHN1cHBvcnRzIEJ4eHggYml0IHJhdGVzIG9ubHkpLi4uCisgCSAqLworLSNpZmRlZiBfSEFWRV9TVFJVQ1RfVEVSTUlPU19DX0lTUEVFRAorKyNpZiBfSEFWRV9TVFJVQ1RfVEVSTUlPU19DX0lTUEVFRAorICMgZGVmaW5lIEJPVEhFUiAwMDEwMDAwCQkvKiBub24gc3RhbmRhcmQgcmF0ZSAqLworIAlkYmcoInVzaW5nIG5vbi1zdGFuZGFyZCBzcGVlZHMiKTsKKyAJdHMtPmNfb3NwZWVkID0gdHMtPmNfaXNwZWVkID0gc3BlZWQ7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eC91dGlsLWxpbnV4LW5hdGl2ZS1xc29ydC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4L3V0aWwtbGludXgtbmF0aXZlLXFzb3J0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OGJmMjJkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4L3V0aWwtbGludXgtbmF0aXZlLXFzb3J0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotRnJvbSBmMjIwZDgwOWJlMWJhYTY1NDUwM2JmNmZmNTJmMzYzMGIwZDcwMTVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDI2IE1hciAyMDE0IDAxOjMwOjI5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHN1bi5jOiB1c2UgcXNvcnQoKSB0byBpbnN0ZWFkIG9mIHFzb3J0X3IoKQotCi1xc29ydF9yKCkgd2FzIGFkZGVkIHRvIGdsaWJjIGluIHZlcnNpb24gMi44LCBzbyB0aGVyZSBpcyBubyBxc29ydF9yKCkgb24KLXRoZSBob3N0IGxpa2UgQ2VudE9TIDUueC4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPdGhlcl0KLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBsaWJmZGlzay9zcmMvc3VuLmMgfCA1ICsrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotSW5kZXg6IHV0aWwtbGludXgtMi4yNC4yL2xpYmZkaXNrL3NyYy9zdW4uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHV0aWwtbGludXgtMi4yNC4yLm9yaWcvbGliZmRpc2svc3JjL3N1bi5jCi0rKysgdXRpbC1saW51eC0yLjI0LjIvbGliZmRpc2svc3JjL3N1bi5jCi1AQCAtNDMxLDEwICs0MzEsOSBAQCBzdGF0aWMgaW50IHN1bl92ZXJpZnlfZGlza2xhYmVsKHN0cnVjdCBmCi0gICAgIH0KLSAgICAgdmVyaWZ5X3N1bl9zdGFydHMgPSBzdGFydHM7Ci0gCi0tICAgIHFzb3J0X3IoYXJyYXksQVJSQVlfU0laRShhcnJheSksc2l6ZW9mKGFycmF5WzBdKSwKLS0JICAoaW50ICgqKShjb25zdCB2b2lkICosY29uc3Qgdm9pZCAqLHZvaWQgKikpIHZlcmlmeV9zdW5fY21wLAotLQkgIHZlcmlmeV9zdW5fc3RhcnRzKTsKLS0KLSsgICAgcXNvcnQoYXJyYXksQVJSQVlfU0laRShhcnJheSksc2l6ZW9mKGFycmF5WzBdKSwKLSsgICAgICAgICAoaW50ICgqKShjb25zdCB2b2lkICosY29uc3Qgdm9pZCAqKSkgdmVyaWZ5X3N1bl9jbXApOwotKyAKLSAgICAgaWYgKGFycmF5WzBdID09IC0xKSB7Ci0gCWZkaXNrX2luZm8oY3h0LCBfKCJObyBwYXJ0aXRpb25zIGRlZmluZWQuIikpOwotIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4XzIuMzIuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4XzIuMzIuMS5iYgppbmRleCBhNjE2ZDg1Li5lMGJkMzgzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eF8yLjMyLjEuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS91dGlsLWxpbnV4L3V0aWwtbGludXhfMi4zMi4xLmJiCkBAIC0xLDI4ICsxLDEzIEBACi1NQUpPUl9WRVJTSU9OID0gIjIuMzIiCiByZXF1aXJlIHV0aWwtbGludXguaW5jCiAKLSMgVG8gc3VwcG9ydCBvbGRlciBob3N0cywgd2UgbmVlZCB0byBwYXRjaCBhbmQvb3IgcmV2ZXJ0Ci0jIHNvbWUgdXBzdHJlYW0gY2hhbmdlcy4gIE9ubHkgZG8gdGhpcyBmb3IgbmF0aXZlIHBhY2thZ2VzLgotT0xESE9TVCA9ICIiCi1PTERIT1NUX2NsYXNzLW5hdGl2ZSA9ICJmaWxlOi8vdXRpbC1saW51eC1uYXRpdmUtcXNvcnQucGF0Y2giCi0KIFNSQ19VUkkgKz0gImZpbGU6Ly9jb25maWd1cmUtc2JpbmRpci5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vcnVudXNlci5wYW1kIFwKICAgICAgICAgICAgIGZpbGU6Ly9ydW51c2VyLWwucGFtZCBcCi0gICAgICAgICAgICAke09MREhPU1R9IFwKICAgICAgICAgICAgIGZpbGU6Ly9wdGVzdC5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKICAgICAgICAgICAgIGZpbGU6Ly9kaXNwbGF5X3Rlc3RuYW1lX2Zvcl9zdWJ0ZXN0LnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly9hdm9pZF9wYXJhbGxlbF90ZXN0cy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vY2hlY2stZm9yLV9IQVZFX1NUUlVDVF9URVJNSU9TX0NfT1NQRUVELnBhdGNoIFwKICIKIFNSQ19VUklbbWQ1c3VtXSA9ICI5ZTViMWI4YzFkYzk5NDU1YmRiNmI0NjJjZjk0MzZkOSIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICI4NmU2NzA3YTM3OWM3ZmY1NDg5YzIxOGNmYWYxZTM0NjRiMGI5NWFjZjc4MTdkYjBiYzVmMTc5ZTM1NmE2N2IyIgotCi1DQUNIRURfQ09ORklHVVJFVkFSUyArPSAic2NhbmZfY3ZfYWxsb2NfbW9kaWZpZXI9bXMiCi0KLUVYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiJHtTSEFSRURfRVhUUkFfT0VDT05GfSBcCi0JCQkgICAgIC0tZGlzYWJsZS11c2UtdHR5LWdyb3VwIFwKLSIKLUVYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmVzZGsgPSAiJHtTSEFSRURfRVhUUkFfT0VDT05GfSBcCi0JCQkJLS1kaXNhYmxlLXVzZS10dHktZ3JvdXAgXAotIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWItMS4yLjExL01ha2VmaWxlLXJ1bnRlc3RzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWItMS4yLjExL01ha2VmaWxlLXJ1bnRlc3RzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MWVlYTgyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliLTEuMi4xMS9NYWtlZmlsZS1ydW50ZXN0cy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLUFkZCAncHRlc3QnIHRhcmdldCB0byBNYWtlZmlsZSwgdG8gcnVuIHRlc3RzIHdpdGhvdXQgY2hlY2tpbmcgZGVwZW5kZW5jaWVzLgotCi1TaWduZWQtb2ZmLWJ5OiBBbmRlcnMgUm94ZWxsIDxhbmRlcnMucm94ZWxsQGVuZWEuY29tPgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLWRpZmYgLXVOciBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KLS0tLSBhL01ha2VmaWxlLmluCTIwMTMtMDYtMTAgMTM6NDg6MTQuMzIxOTU5MTYyICswMjAwCi0rKysgYi9NYWtlZmlsZS5pbgkyMDEzLTA2LTEwIDEzOjQ5OjM2LjY4NjQ3NjQ0OCArMDIwMAotQEAgLTgzLDYgKzgzLDkgQEAKLSB0ZXN0OiBhbGwgdGVzdHN0YXRpYyB0ZXN0c2hhcmVkCi0gCi0gdGVzdHN0YXRpYzogc3RhdGljCi0rCUBtYWtlIHJ1bnRlc3RzdGF0aWMKLSsKLStydW50ZXN0c3RhdGljOgotIAlAVE1QU1Q9dG1wc3RfJCQ7IFwKLSAJaWYgZWNobyBoZWxsbyB3b3JsZCB8IC4vbWluaWd6aXAgfCAuL21pbmlnemlwIC1kICYmIC4vZXhhbXBsZSAkJFRNUFNUIDsgdGhlbiBcCi0gCSAgZWNobyAnCQkqKiogemxpYiB0ZXN0IE9LICoqKic7IFwKLUBAIC05Miw2ICs5NSw5IEBACi0gCXJtIC1mICQkVE1QU1QKLSAKLSB0ZXN0c2hhcmVkOiBzaGFyZWQKLSsJQG1ha2UgcnVudGVzdHNoYXJlZAotKwotK3J1bnRlc3RzaGFyZWQ6Ci0gCUBMRF9MSUJSQVJZX1BBVEg9YHB3ZGA6JChMRF9MSUJSQVJZX1BBVEgpIDsgZXhwb3J0IExEX0xJQlJBUllfUEFUSDsgXAotIAlMRF9MSUJSQVJZTjMyX1BBVEg9YHB3ZGA6JChMRF9MSUJSQVJZTjMyX1BBVEgpIDsgZXhwb3J0IExEX0xJQlJBUllOMzJfUEFUSDsgXAotIAlEWUxEX0xJQlJBUllfUEFUSD1gcHdkYDokKERZTERfTElCUkFSWV9QQVRIKSA7IGV4cG9ydCBEWUxEX0xJQlJBUllfUEFUSDsgXAotQEAgLTEwNSw2ICsxMTEsOSBAQAotIAlybSAtZiAkJFRNUFNICi0gCi0gdGVzdDY0OiBhbGw2NAotKwlAbWFrZSBydW50ZXN0YWxsNjQKLSsKLStydW50ZXN0YWxsNjQ6Ci0gCUBUTVA2ND10bXA2NF8kJDsgXAotIAlpZiBlY2hvIGhlbGxvIHdvcmxkIHwgLi9taW5pZ3ppcDY0IHwgLi9taW5pZ3ppcDY0IC1kICYmIC4vZXhhbXBsZTY0ICQkVE1QNjQ7IHRoZW4gXAotIAkgIGVjaG8gJwkJKioqIHpsaWIgNjQtYml0IHRlc3QgT0sgKioqJzsgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWItMS4yLjExL2xkZmxhZ3MtdGVzdHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3psaWIvemxpYi0xLjIuMTEvbGRmbGFncy10ZXN0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTljNDBiNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3psaWIvemxpYi0xLjIuMTEvbGRmbGFncy10ZXN0cy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLU9iZXkgTERGTEFHUyBmb3IgdGVzdHMKLQotU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoZXIgTGFyc29uIDxjaHJpc19sYXJzb25AbWVudG9yLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0tLS0gemxpYi0xLjIuOC5vcmlnL01ha2VmaWxlLmluCi0rKysgemxpYi0xLjIuOC9NYWtlZmlsZS5pbgotQEAgLTI2LDcgKzI2LDcgQEAgQ0ZMQUdTPS1PCi0KLSBTRkxBR1M9LU8KLSBMREZMQUdTPQotLVRFU1RfTERGTEFHUz0tTC4gbGliei5hCi0rVEVTVF9MREZMQUdTPS1MLiAkKExERkxBR1MpCi0gTERTSEFSRUQ9JChDQykKLSBDUFA9JChDQykgLUUKLQotQEAgLTE3NiwyMiArMTc2LDIyIEBAIHBsYWNlYm8gJChTSEFSRURMSUJWKTogJChQSUNfT0JKUykgbGliei4KLQktQHJtZGlyIG9ianMKLQotIGV4YW1wbGUkKEVYRSk6IGV4YW1wbGUubyAkKFNUQVRJQ0xJQikKLS0JJChDQykgJChDRkxBR1MpIC1vICRAIGV4YW1wbGUubyAkKFRFU1RfTERGTEFHUykKLSsJJChDQykgJChDRkxBR1MpIC1vICRAIGV4YW1wbGUubyAkKFRFU1RfTERGTEFHUykgJChTVEFUSUNMSUIpCi0KLSBtaW5pZ3ppcCQoRVhFKTogbWluaWd6aXAubyAkKFNUQVRJQ0xJQikKLS0JJChDQykgJChDRkxBR1MpIC1vICRAIG1pbmlnemlwLm8gJChURVNUX0xERkxBR1MpCi0rCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcC5vICQoVEVTVF9MREZMQUdTKSAkKFNUQVRJQ0xJQikKLQotIGV4YW1wbGVzaCQoRVhFKTogZXhhbXBsZS5vICQoU0hBUkVETElCVikKLS0JJChDQykgJChDRkxBR1MpIC1vICRAIGV4YW1wbGUubyAtTC4gJChTSEFSRURMSUJWKQotKwkkKENDKSAkKENGTEFHUykgLW8gJEAgZXhhbXBsZS5vICQoVEVTVF9MREZMQUdTKSAkKFNIQVJFRExJQlYpCi0KLSBtaW5pZ3ppcHNoJChFWEUpOiBtaW5pZ3ppcC5vICQoU0hBUkVETElCVikKLS0JJChDQykgJChDRkxBR1MpIC1vICRAIG1pbmlnemlwLm8gLUwuICQoU0hBUkVETElCVikKLSsJJChDQykgJChDRkxBR1MpIC1vICRAIG1pbmlnemlwLm8gJChURVNUX0xERkxBR1MpICQoU0hBUkVETElCVikKLQotIGV4YW1wbGU2NCQoRVhFKTogZXhhbXBsZTY0Lm8gJChTVEFUSUNMSUIpCi0tCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlNjQubyAkKFRFU1RfTERGTEFHUykKLSsJJChDQykgJChDRkxBR1MpIC1vICRAIGV4YW1wbGU2NC5vICQoVEVTVF9MREZMQUdTKSAkKFNUQVRJQ0xJQikKLQotIG1pbmlnemlwNjQkKEVYRSk6IG1pbmlnemlwNjQubyAkKFNUQVRJQ0xJQikKLS0JJChDQykgJChDRkxBR1MpIC1vICRAIG1pbmlnemlwNjQubyAkKFRFU1RfTERGTEFHUykKLSsJJChDQykgJChDRkxBR1MpIC1vICRAIG1pbmlnemlwNjQubyAkKFRFU1RfTERGTEFHUykgJChTVEFUSUNMSUIpCi0KLSBpbnN0YWxsLWxpYnM6ICQoTElCUykKLQktQGlmIFsgISAtZCAkKERFU1RESVIpJChleGVjX3ByZWZpeCkgIF07IHRoZW4gbWtkaXIgLXAgJChERVNURElSKSQoZXhlY19wcmVmaXgpOyBmaQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWItMS4yLjExL3JlbW92ZS5sZGNvbmZpZy5jYWxsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWItMS4yLjExL3JlbW92ZS5sZGNvbmZpZy5jYWxsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3Y2NiZTFmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliLTEuMi4xMS9yZW1vdmUubGRjb25maWcuY2FsbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLQotV2hlbiAvZXRjL2xkLnNvLmNhY2hlIGlzIHdyaXRlYWJsZSBieSB1c2VyIHJ1bm5pbmcgYml0YmFrZSB0aGVuIGl0IGNyZWF0ZXMgaW52YWxpZCBjYWNoZSAKLShpbiBteSBjYXNlIGxpYnN0ZGMrKy5zbyBjYW5ub3QgYmUgZm91bmQgYWZ0ZXIgYnVpbGRpbmcgemxpYigtbmF0aXZlKSBhbmQgSSBoYXZlIHRvIGNhbGwgCi10b3VjaCAqL2xpYnN0ZGMrKy5zbyAmJiAvc2Jpbi9sZGNvbmZpZyB0byBmaXggaXQuCi0KLVNvIHJlbW92ZSBsZGNvbmZpZyBjYWxsIGZyb20gbWFrZSBpbnN0YWxsLWxpYnMKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtkaXNhYmxlIGZlYXR1cmVdCi0KLUluZGV4OiB6bGliLTEuMi4xMS9NYWtlZmlsZS5pbgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHpsaWItMS4yLjExLm9yaWcvTWFrZWZpbGUuaW4KLSsrKyB6bGliLTEuMi4xMS9NYWtlZmlsZS5pbgotQEAgLTMyMiw3ICszMjIsNiBAQCBpbnN0YWxsLWxpYnM6ICQoTElCUykKLSAJICBybSAtZiAkKERFU1RESVIpJChzaGFyZWRsaWJkaXIpLyQoU0hBUkVETElCKSAkKERFU1RESVIpJChzaGFyZWRsaWJkaXIpLyQoU0hBUkVETElCTSk7IFwKLSAJICBsbiAtcyAkKFNIQVJFRExJQlYpICQoREVTVERJUikkKHNoYXJlZGxpYmRpcikvJChTSEFSRURMSUIpOyBcCi0gCSAgbG4gLXMgJChTSEFSRURMSUJWKSAkKERFU1RESVIpJChzaGFyZWRsaWJkaXIpLyQoU0hBUkVETElCTSk7IFwKLS0JICAoJChMRENPTkZJRykgfHwgdHJ1ZSkgID4vZGV2L251bGwgMj4mMTsgXAotIAlmaQotIAlybSAtZiAkKERFU1RESVIpJChtYW4zZGlyKS96bGliLjMKLSAJY3AgJChTUkNESVIpemxpYi4zICQoREVTVERJUikkKG1hbjNkaXIpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3psaWIvemxpYi0xLjIuMTEvcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWItMS4yLjExL3J1bi1wdGVzdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODg0ZDlkYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3psaWIvemxpYi0xLjIuMTEvcnVuLXB0ZXN0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi0jIS9iaW4vc2gKLW1ha2UgLWsgcnVudGVzdHN0YXRpYyBydW50ZXN0c2hhcmVkIHwgc2VkIC1yIC1lICdzL14oXHMrXCorICguKz8pIHRlc3QgT0sgXCorKS9cMVxuUEFTUzogXDIvJyAtZSAncy9eKFxzK1wqKyAoLis/KSB0ZXN0IEZBSUxFRCBcKispL1wxXG5GQUlMOiBcMi8nCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3psaWIvemxpYi9sZGZsYWdzLXRlc3RzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWIvbGRmbGFncy10ZXN0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODYzOTA2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWIvbGRmbGFncy10ZXN0cy5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitPYmV5IExERkxBR1MgZm9yIHRlc3RzCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vbWFkbGVyL3psaWIvcHVsbC80MDldCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCistLS0gemxpYi0xLjIuOC5vcmlnL01ha2VmaWxlLmluCisrKysgemxpYi0xLjIuOC9NYWtlZmlsZS5pbgorQEAgLTI2LDcgKzI2LDcgQEAgQ0ZMQUdTPS1PCisKKyBTRkxBR1M9LU8KKyBMREZMQUdTPQorLVRFU1RfTERGTEFHUz0tTC4gbGliei5hCisrVEVTVF9MREZMQUdTPS1MLiAkKExERkxBR1MpCisgTERTSEFSRUQ9JChDQykKKyBDUFA9JChDQykgLUUKKworQEAgLTE3NiwyMiArMTc2LDIyIEBAIHBsYWNlYm8gJChTSEFSRURMSUJWKTogJChQSUNfT0JKUykgbGliei4KKwktQHJtZGlyIG9ianMKKworIGV4YW1wbGUkKEVYRSk6IGV4YW1wbGUubyAkKFNUQVRJQ0xJQikKKy0JJChDQykgJChDRkxBR1MpIC1vICRAIGV4YW1wbGUubyAkKFRFU1RfTERGTEFHUykKKysJJChDQykgJChDRkxBR1MpIC1vICRAIGV4YW1wbGUubyAkKFRFU1RfTERGTEFHUykgJChTVEFUSUNMSUIpCisKKyBtaW5pZ3ppcCQoRVhFKTogbWluaWd6aXAubyAkKFNUQVRJQ0xJQikKKy0JJChDQykgJChDRkxBR1MpIC1vICRAIG1pbmlnemlwLm8gJChURVNUX0xERkxBR1MpCisrCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcC5vICQoVEVTVF9MREZMQUdTKSAkKFNUQVRJQ0xJQikKKworIGV4YW1wbGVzaCQoRVhFKTogZXhhbXBsZS5vICQoU0hBUkVETElCVikKKy0JJChDQykgJChDRkxBR1MpIC1vICRAIGV4YW1wbGUubyAtTC4gJChTSEFSRURMSUJWKQorKwkkKENDKSAkKENGTEFHUykgLW8gJEAgZXhhbXBsZS5vICQoVEVTVF9MREZMQUdTKSAkKFNIQVJFRExJQlYpCisKKyBtaW5pZ3ppcHNoJChFWEUpOiBtaW5pZ3ppcC5vICQoU0hBUkVETElCVikKKy0JJChDQykgJChDRkxBR1MpIC1vICRAIG1pbmlnemlwLm8gLUwuICQoU0hBUkVETElCVikKKysJJChDQykgJChDRkxBR1MpIC1vICRAIG1pbmlnemlwLm8gJChURVNUX0xERkxBR1MpICQoU0hBUkVETElCVikKKworIGV4YW1wbGU2NCQoRVhFKTogZXhhbXBsZTY0Lm8gJChTVEFUSUNMSUIpCistCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlNjQubyAkKFRFU1RfTERGTEFHUykKKysJJChDQykgJChDRkxBR1MpIC1vICRAIGV4YW1wbGU2NC5vICQoVEVTVF9MREZMQUdTKSAkKFNUQVRJQ0xJQikKKworIG1pbmlnemlwNjQkKEVYRSk6IG1pbmlnemlwNjQubyAkKFNUQVRJQ0xJQikKKy0JJChDQykgJChDRkxBR1MpIC1vICRAIG1pbmlnemlwNjQubyAkKFRFU1RfTERGTEFHUykKKysJJChDQykgJChDRkxBR1MpIC1vICRAIG1pbmlnemlwNjQubyAkKFRFU1RfTERGTEFHUykgJChTVEFUSUNMSUIpCisKKyBpbnN0YWxsLWxpYnM6ICQoTElCUykKKwktQGlmIFsgISAtZCAkKERFU1RESVIpJChleGVjX3ByZWZpeCkgIF07IHRoZW4gbWtkaXIgLXAgJChERVNURElSKSQoZXhlY19wcmVmaXgpOyBmaQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWIvcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWIvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2NTg2M2UKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3psaWIvemxpYi9ydW4tcHRlc3QKQEAgLTAsMCArMSw3IEBACisjIS9iaW4vc2gKKworaWYgLi9leGFtcGxlc2ggOyB0aGVuCisgICAgZWNobyAiUEFTUzogemxpYiIKK2Vsc2UKKyAgICBlY2hvICJGQUlMOiB6bGliIgorZmkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliXzEuMi4xMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliXzEuMi4xMS5iYgppbmRleCA2NDEwNTE5Li5lZjk0MzFhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3psaWIvemxpYl8xLjIuMTEuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWJfMS4yLjExLmJiCkBAIC03LDggKzcsNiBAQAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vemxpYi5oO2JlZ2lubGluZT02O2VuZGxpbmU9MjM7bWQ1PTUzNzcyMzIyNjhlOTUyZTllZjYzYmM1NTVmN2FhNmMwIgogCiBTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9saWJwbmcvJHtCUE59LyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLmxkY29uZmlnLmNhbGwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGUtcnVudGVzdHMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vbGRmbGFncy10ZXN0cy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAogICAgICAgICAgICAiCkBAIC0yNCwzMiArMjIsMTkgQEAKIGluaGVyaXQgcHRlc3QKIAogZG9fY29uZmlndXJlKCkgewotCXVuYW1lPUdOVSAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0gLS1zaGFyZWQgLS1saWJkaXI9JHtsaWJkaXJ9CisJTERDT05GSUc9dHJ1ZSAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0gLS1zaGFyZWQgLS1saWJkaXI9JHtsaWJkaXJ9IC0tdW5hbWU9R05VCiB9CiAKIGRvX2NvbXBpbGUoKSB7CiAJb2VfcnVubWFrZSBzaGFyZWQKIH0KIAotZG9fY29tcGlsZV9wdGVzdCgpIHsKLQlvZV9ydW5tYWtlIHRlc3QKLX0KLQogZG9faW5zdGFsbCgpIHsKIAlvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCiB9CiAKIGRvX2luc3RhbGxfcHRlc3QoKSB7Ci0JaW5zdGFsbCAke0J9L01ha2VmaWxlICAgJHtEfSR7UFRFU1RfUEFUSH0KLQlpbnN0YWxsICR7Qn0vZXhhbXBsZSAgICAke0R9JHtQVEVTVF9QQVRIfQotCWluc3RhbGwgJHtCfS9taW5pZ3ppcCAgICR7RH0ke1BURVNUX1BBVEh9Ci0JaW5zdGFsbCAke0J9L2V4YW1wbGVzaCAgJHtEfSR7UFRFU1RfUEFUSH0KLQlpbnN0YWxsICR7Qn0vbWluaWd6aXBzaCAke0R9JHtQVEVTVF9QQVRIfQotCi0JIyBSZW1vdmUgYnVpbGRob3N0IHJlZmVyZW5jZXMuLi4KLQlzZWQgLWkgLWUgInMsLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSwsZyIgXAotCQktZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCi0JICR7RH0ke1BURVNUX1BBVEh9L01ha2VmaWxlCisJaW5zdGFsbCAke0J9L2V4YW1wbGVzaCAke0R9JHtQVEVTVF9QQVRIfQogfQogCiAjIE1vdmUgemxpYiBzaGFyZWQgbGlicmFyaWVzIGZvciB0YXJnZXQgYnVpbGRzIHRvICRiYXNlX2xpYmRpciBzbyB0aGUgbGlicmFyeQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYXB0L2FwdC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9hcHQvYXB0LmluYwppbmRleCA1MGYyMmM4Li44NDJjMzAyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9hcHQvYXB0LmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9hcHQvYXB0LmluYwpAQCAtMiw3ICsyLDcgQEAKIExJQ0VOU0UgPSAiR1BMdjIuMCsiCiBTRUNUSU9OID0gImJhc2UiCiAKLVNSQ19VUkkgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L3VidW50dS8rYXJjaGl2ZS9wcmltYXJ5Lytzb3VyY2VmaWxlcy9hcHQvMS4yLjI0LyR7QlBOfV8ke1BWfS50YXIueHogXAorU1JDX1VSSSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvdWJ1bnR1LythcmNoaXZlL3ByaW1hcnkvK3NvdXJjZWZpbGVzLyR7QlBOfS8ke1BWfS8ke0JQTn1fJHtQVn0udGFyLnh6IFwKICAgICAgICAgICAgZmlsZTovL3VzZS1ob3N0LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL21ha2VyYWNlLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL25vLW5scy1kcGtnLnBhdGNoIFwKQEAgLTEzLDYgKzEzLDcgQEAKICAgICAgICAgICAgZmlsZTovL2Rpc2FibGUtdGVzdC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWVudmlyb25tZW50Lm1hay1tdXNsLWJhc2VkLXN5c3RlbXMtY2FuLWdlbmVyYXRlLXNoYXIucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1hcHQtMS4yLjEyLUZpeC1tdXNsLWJ1aWxkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtSW5jbHVkZS1hcnJheS5oLWZvci1zdGQtYXJyYXkucGF0Y2ggXAogICAgICAgICAgICAiCiBTUkNfVVJJW21kNXN1bV0gPSAiY2U4ZjlhYjExZjRmZDBhMDhlYzczZWFmZmQ3NWM4ZjAiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmExMzExYTljZTAwZTcyMzc5YTBhM2JjNmQyNDBiYTMwYzA5NjhjZmJiYjM0NzI4NTllNTBiOTllMjRlOTU5OCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2FwdC9hcHQvMDAwMS1JbmNsdWRlLWFycmF5LmgtZm9yLXN0ZC1hcnJheS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2FwdC9hcHQvMDAwMS1JbmNsdWRlLWFycmF5LmgtZm9yLXN0ZC1hcnJheS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGE4ZmFhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYXB0L2FwdC8wMDAxLUluY2x1ZGUtYXJyYXkuaC1mb3Itc3RkLWFycmF5LnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gNGQ2NGVjODQzMTg1YmY2ZmQxYjg1YzNhNmE0YzRlM2M5NjhjOGFiMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDIwIEphbiAyMDE5IDE4OjU2OjU4IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIEluY2x1ZGUgPGFycmF5Lmg+IGZvciBzdGQ6OmFycmF5CisKK1doZW4gY29tcGlsaW5nIHVzaW5nIGNsYW5nL2xpYmMrKyBpdCBmYWlscyB0byBidWlsZCBiZWNhdXNlIHRoaXMgaGVhZGVyCitpcyBub3QgaW5jbHVkZWQsIHdpdGggbGlic3RkYysrIHRoaXMgc2VlbXMgdG8gYmUgcHVsbGVkIGluCithdXRvbWF0aWNhbGx5LgorCitGaXhlcyBiZWxvdyBlcnJvcgorCithcHQtcGtnL2NvbnRyaWIvc3RydXRsLmNjOjk0OTozODogZXJyb3I6IGltcGxpY2l0IGluc3RhbnRpYXRpb24gb2YgdW5kZWZpbmVkIHRlbXBsYXRlICdzdGQ6Ol9fMTo6YXJyYXk8Y29uc3QgY2hhciAqY29uc3QsIDc+JworICAgc3RkOjphcnJheTxjaGFyIGNvbnN0ICogY29uc3QsIDc+IGNfd2Vla2RheXMgPSB7eyAic3VuIiwgIm1vbiIsICJ0dWUiLCAid2VkIiwgInRodSIsICJmcmkiLCAic2F0IiB9fTsKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9EZWJpYW4vYXB0L2NvbW1pdC8yNGE1OWM2MmVmYWZiZGI4Mzg3YjJkM2M1NjE2YjA0YjlmZDIxMzA2XQorLS0tCisgYXB0LXBrZy9jb250cmliL3N0cnV0bC5jYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvYXB0LXBrZy9jb250cmliL3N0cnV0bC5jYyBiL2FwdC1wa2cvY29udHJpYi9zdHJ1dGwuY2MKK2luZGV4IDYwZDBjYTguLmMyYmZjYmMgMTAwNjQ0CistLS0gYS9hcHQtcGtnL2NvbnRyaWIvc3RydXRsLmNjCisrKysgYi9hcHQtcGtnL2NvbnRyaWIvc3RydXRsLmNjCitAQCAtMjEsNiArMjEsNyBAQAorICNpbmNsdWRlIDxhcHQtcGtnL2ZpbGV1dGwuaD4KKyAjaW5jbHVkZSA8YXB0LXBrZy9lcnJvci5oPgorIAorKyNpbmNsdWRlIDxhcnJheT4KKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorICNpbmNsdWRlIDxpb21hbmlwPgorICNpbmNsdWRlIDxsb2NhbGU+CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9hdXRvY29uZi9hdXRvY29uZi9BQ19IRUFERVJfTUFKT1ItcG9ydC10by1nbGliYy0yLjI1LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYXV0b2NvbmYvYXV0b2NvbmYvQUNfSEVBREVSX01BSk9SLXBvcnQtdG8tZ2xpYmMtMi4yNS5wYXRjaAppbmRleCBmYzM3MjM2Li5iMmQ3ZGMwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9hdXRvY29uZi9hdXRvY29uZi9BQ19IRUFERVJfTUFKT1ItcG9ydC10by1nbGliYy0yLjI1LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2F1dG9jb25mL2F1dG9jb25mL0FDX0hFQURFUl9NQUpPUi1wb3J0LXRvLWdsaWJjLTIuMjUucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGUxN2EzMGU5ODdkN2VlNjk1ZmI0Mjk0YTgyZDk4N2VjM2RjOWI5NzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGI4NTlhYjFiMjExZDM0OGI0NmVjYTkxNThiNzc0MmYwNTBjODExNWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBFcmljIEJsYWtlIDxlYmxha2VAcmVkaGF0LmNvbT4KIERhdGU6IFdlZCwgMTQgU2VwIDIwMTYgMDg6MTc6MDYgLTA1MDAKIFN1YmplY3Q6IFtQQVRDSF0gQUNfSEVBREVSX01BSk9SOiBwb3J0IHRvIGdsaWJjIDIuMjUKQEAgLTM1LDg1ICszNSwyMSBAQAogKiBsaWIvYXV0b2NvbmYvaGVhZGVycy5tNCAoQUNfSEVBREVSX01BSk9SKTogRHJvcCBjaGVjayBmb3IKIG1ham9yIHdpdGhpbiBzeXMvdHlwZXMuaDsgaXQgaW50ZXJmZXJlcyB3aXRoIHRoZSBuZWVkIHRvIGNoZWNrCiBzeXNtYWNyb3MuaCBmaXJzdC4KLSogZG9jL2F1dG9jb25mLnRleGkgKFBhcnRpY3VsYXIgSGVhZGVycykgPEFDX0hFQURFUl9NQUpPUj46IEV4cGFuZAotZGV0YWlscyBvbiB1c2FnZSwgYW5kIG9uIHdvcmthcm91bmRzIGZvciBub24tdXBkYXRlZCBwcm9qZWN0cy4KIAogU2lnbmVkLW9mZi1ieTogRXJpYyBCbGFrZSA8ZWJsYWtlQHJlZGhhdC5jb20+Ci0tLS0KKworUmVtb3ZlIHRoZSBkb2N1bWVudGF0aW9uIGNoYW5nZSBmcm9tIHRoZSBwYXRjaAogVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAogCi0gZG9jL2F1dG9jb25mLnRleGkgICAgICAgfCAgIDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCi0gbGliL2F1dG9jb25mL2hlYWRlcnMubTQgfCAgIDMwICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWIvYXV0b2NvbmYvaGVhZGVycy5tNCB8IDMwICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGF1dG9jb25mLTIuNjkvZG9jL2F1dG9jb25mLnRleGkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBhdXRvY29uZi0yLjY5Lm9yaWcvZG9jL2F1dG9jb25mLnRleGkKLSsrKyBhdXRvY29uZi0yLjY5L2RvYy9hdXRvY29uZi50ZXhpCi1AQCAtMTUsNyArMTUsNyBAQAotIEBjIFRoZSBBUkcgaXMgYW4gb3B0aW9uYWwgYXJndW1lbnQuICBUbyBiZSB1c2VkIGZvciBtYWNybyBhcmd1bWVudHMgaW4KLSBAYyB0aGVpciBkb2N1bWVudGF0aW9uIChAZGVmbWFjKS4KLSBAbWFjcm8gb3Zhcnt2YXJuYW1lfQotLUBye1t9QHZhcntcdmFybmFtZVx9QHJ7XX1AYwotK0Bye1t9QHZhcntcdmFybmFtZVx9QHJ7XX0KLSBAZW5kIG1hY3JvCi0gCi0gQGMgQGR2YXIoQVJHLCBERUZBVUxUKQotQEAgLTIzLDcgKzIzLDcgQEAKLSBAYyBUaGUgQVJHIGlzIGFuIG9wdGlvbmFsIGFyZ3VtZW50LCBkZWZhdWx0aW5nIHRvIERFRkFVTFQuICBUbyBiZSB1c2VkCi0gQGMgZm9yIG1hY3JvIGFyZ3VtZW50cyBpbiB0aGVpciBkb2N1bWVudGF0aW9uIChAZGVmbWFjKS4KLSBAbWFjcm8gZHZhcnt2YXJuYW1lLCBkZWZhdWx0fQotLUBye1t9QHZhcntcdmFybmFtZVx9ID0gQHNhbXB7XGRlZmF1bHRcfUBye119QGMKLStAcntbfUB2YXJ7XHZhcm5hbWVcfSA9IEBzYW1we1xkZWZhdWx0XH1AcntdfQotIEBlbmQgbWFjcm8KLSAKLSBAYyBIYW5kbGluZyB0aGUgaW5kZXhlcyB3aXRoIFRleGluZm8geWllbGRzIHNldmVyYWwgZGlmZmVyZW50IHByb2JsZW1zLgotQEAgLTU5MjYsMTAgKzU5MjYsMzcgQEAgQWxzbyBzZWUgQGNvZGV7QUNfU1RSVUNUX0RJUkVOVF9EX0lOT30gYQotIEBjdmluZGV4IE1BSk9SX0lOX1NZU01BQ1JPUwotIEBoZHJpbmRleHtzeXMvbWtkZXYuaH0KLSBAaGRyaW5kZXh7c3lzL3N5c21hY3Jvcy5ofQotLUlmIEBmaWxle3N5cy90eXBlcy5ofSBkb2VzIG5vdCBkZWZpbmUgQGNvZGV7bWFqb3J9LCBAY29kZXttaW5vcn0sIGFuZAotLUBjb2Rle21ha2VkZXZ9LCBidXQgQGZpbGV7c3lzL21rZGV2Lmh9IGRvZXMsIGRlZmluZQotLUBjb2Rle01BSk9SX0lOX01LREVWfTsgb3RoZXJ3aXNlLCBpZiBAZmlsZXtzeXMvc3lzbWFjcm9zLmh9IGRvZXMsIGRlZmluZQotLUBjb2Rle01BSk9SX0lOX1NZU01BQ1JPU30uCi0rRGV0ZWN0IHRoZSBoZWFkZXJzIHJlcXVpcmVkIHRvIHVzZSBAY29kZXttYWtlZGV2fSwgQGNvZGV7bWFqb3J9LCBhbmQKLStAY29kZXttaW5vcn0uICBUaGVzZSBmdW5jdGlvbnMgbWF5IGJlIGRlZmluZWQgYnkgQGZpbGV7c3lzL21rZGV2Lmh9LAotK0Bjb2Rle3N5cy9zeXNtYWNyb3MuaH0sIG9yIEBmaWxle3N5cy90eXBlcy5ofS4KLSsKLStAY29kZXtBQ19IRUFERVJfTUFKT1J9IGRlZmluZXMgQGNvZGV7TUFKT1JfSU5fTUtERVZ9IGlmIHRoZXkgYXJlIGluCi0rQGZpbGV7c3lzL21rZGV2Lmh9LCBvciBAY29kZXtNQUpPUl9JTl9TWVNNQUNST1N9IGlmIHRoZXkgYXJlIGluCi0rQGZpbGV7c3lzL3N5c21hY3Jvcy5ofS4gIElmIG5laXRoZXIgbWFjcm8gaXMgZGVmaW5lZCwgdGhleSBhcmUgZWl0aGVyIGluCi0rQGZpbGV7c3lzL3R5cGVzLmh9IG9yIHVuYXZhaWxhYmxlLgotKwotK1RvIHByb3Blcmx5IHVzZSB0aGVzZSBmdW5jdGlvbnMsIHlvdXIgY29kZSBzaG91bGQgY29udGFpbiBzb21ldGhpbmcKLStsaWtlOgotKwotK0B2ZXJiYXRpbQotKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSsjaWZkZWYgTUFKT1JfSU5fTUtERVYKLSsjIGluY2x1ZGUgPHN5cy9ta2Rldi5oPgotKyNlbGlmIGRlZmluZWQgTUFKT1JfSU5fU1lTTUFDUk9TCi0rIyBpbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+Ci0rI2VuZGlmCi0rQGVuZCB2ZXJiYXRpbQotKwotK05vdGU6IENvbmZpZ3VyZSBzY3JpcHRzIGJ1aWx0IHdpdGggQXV0b2NvbmYgMi42OSBvciBlYXJsaWVyIHdpbGwgbm90Ci0rZGV0ZWN0IGEgcHJvYmxlbSBpZiBAZmlsZXtzeXMvdHlwZXMuaH0gY29udGFpbnMgZGVmaW5pdGlvbnMgb2YKLStAY29kZXttYWpvcn0sIEBjb2Rle21pbm9yfSwgYW5kL29yIEBjb2Rle21ha2VkZXZ9IHRoYXQgdHJpZ2dlciBjb21waWxlcgotK3dhcm5pbmdzIHVwb24gdXNlLiAgVGhpcyBpcyBrbm93biB0byBvY2N1ciB3aXRoIEdOVSBsaWJjIDIuMjUsIHdoZXJlCi0rdGhvc2UgZGVmaW5pdGlvbnMgYXJlIGJlaW5nIGRlcHJlY2F0ZWQgdG8gcmVkdWNlIG5hbWVzcGFjZSBwb2xsdXRpb24uCi0rSWYgaXQgaXMgbm90IHByYWN0aWNhbCB0byB1c2UgQXV0b2NvbmYgMi43MCB0byByZWdlbmVyYXRlIHRoZSBjb25maWd1cmUKLStzY3JpcHQgb2YgYWZmZWN0ZWQgc29mdHdhcmUsIHlvdSBjYW4gd29yayBhcm91bmQgdGhlIHByb2JsZW0gYnkgc2V0dGluZwotK0BzYW1we2FjX2N2X2hlYWRlcl9zeXNfdHlwZXNfaF9tYWtlZGV2PW5vfSwgYXMgYW4gYXJndW1lbnQgdG8KLStAY29tbWFuZHtjb25maWd1cmV9IG9yIGFzIHBhcnQgb2YgYSBAZmlsZXtjb25maWcuc2l0ZX0gc2l0ZSBkZWZhdWx0IGZpbGUKLSsoQHB4cmVme1NpdGUgRGVmYXVsdHN9KS4KLSBAZW5kIGRlZm1hYwotIAotIEBkZWZtYWMgQUNfSEVBREVSX1JFU09MVgotSW5kZXg6IGF1dG9jb25mLTIuNjkvbGliL2F1dG9jb25mL2hlYWRlcnMubTQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBhdXRvY29uZi0yLjY5Lm9yaWcvbGliL2F1dG9jb25mL2hlYWRlcnMubTQKLSsrKyBhdXRvY29uZi0yLjY5L2xpYi9hdXRvY29uZi9oZWFkZXJzLm00CitkaWZmIC0tZ2l0IGEvbGliL2F1dG9jb25mL2hlYWRlcnMubTQgYi9saWIvYXV0b2NvbmYvaGVhZGVycy5tNAoraW5kZXggODFhN2ZhMi4uYTU3ZDBkMyAxMDA2NDQKKy0tLSBhL2xpYi9hdXRvY29uZi9oZWFkZXJzLm00CisrKysgYi9saWIvYXV0b2NvbmYvaGVhZGVycy5tNAogQEAgLTUwMiwzMSArNTAyLDI5IEBAIGZpCiAgCiAgIyBBQ19IRUFERVJfTUFKT1IKQEAgLTE2MCwzICs5Niw2IEBACiAgZmkKICBdKSMgQUNfSEVBREVSX01BSk9SCiAgCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLTIuMzEuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtMi4zMS5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYyYWNlYzUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtMi4zMS5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi1MSUNfRklMRVNfQ0hLU1VNPSJcCi0gICAgZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyXAotICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9OWY2MDRkOGE0ZjhlNzRmNGY1MTQwODQ1YTIxYjY2NzRcCi0gICAgZmlsZTovL0NPUFlJTkczO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNFwKLSAgICBmaWxlOi8vQ09QWUlORzMuTElCO21kNT02YTZhOGUwMjA4MzhiMjM0MDZjODFiMTljMWQ0NmRmNlwKLSAgICBmaWxlOi8vZ2FzL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0XAotICAgIGZpbGU6Ly9pbmNsdWRlL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyXAotICAgIGZpbGU6Ly9pbmNsdWRlL0NPUFlJTkczO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNFwKLSAgICBmaWxlOi8vbGliaWJlcnR5L0NPUFlJTkcuTElCO21kNT1hOTE2NDY3YjkxMDc2ZTYzMWRkOGVkYjc0MjQ3NjljN1wKLSAgICBmaWxlOi8vYmZkL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0XAotICAgICIKLQotZGVmIGJpbnV0aWxzX2JyYW5jaF92ZXJzaW9uKGQpOgotICAgIHB2c3BsaXQgPSBkLmdldFZhcignUFYnKS5zcGxpdCgnLicpCi0gICAgcmV0dXJuIHB2c3BsaXRbMF0gKyAiXyIgKyBwdnNwbGl0WzFdCi0KLUJJTlVQViA9ICIke0BiaW51dGlsc19icmFuY2hfdmVyc2lvbihkKX0iCi1QViAuPSAiLjEiCi0KLVVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gImJpbnV0aWxzLSg/UDxwdmVyPlxkK18oXGRfPykqKSIKLQotU1JDUkVWID89ICJjOTA5ZTdhZmRjNDcxMDg1MWE1M2U4NmViZWQ4Y2VhMzg3OWIyNmU1IgotQklOVVRJTFNfR0lUX1VSSSA/PSAiZ2l0Oi8vc291cmNld2FyZS5vcmcvZ2l0L2JpbnV0aWxzLWdkYi5naXQ7YnJhbmNoPWJpbnV0aWxzLSR7QklOVVBWfS1icmFuY2g7cHJvdG9jb2w9Z2l0IgotU1JDX1VSSSA9ICJcCi0gICAgICR7QklOVVRJTFNfR0lUX1VSSX0gXAotICAgICBmaWxlOi8vMDAwMy1jb25maWd1cmUtd2lkZW4tdGhlLXJlZ2V4cC1mb3ItU0gtYXJjaGl0ZWN0dXJlcy5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDA0LVBvaW50LXNjcmlwdHMtbG9jYXRpb24tdG8tbGliZGlyLnBhdGNoIFwKLSAgICAgZmlsZTovLzAwMDUtT25seS1nZW5lcmF0ZS1hbi1SUEFUSC1lbnRyeS1pZi1MRF9SVU5fUEFUSC1pcy1ub3QtZS5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDA2LVVzZS1saWJ0b29sLTIuNC5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDA3LUFkZC10aGUtYXJtdjVlLWFyY2hpdGVjdHVyZS10by1iaW51dGlscy5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDA4LWRvbi10LWxldC10aGUtZGlzdHJvLWNvbXBpbGVyLXBvaW50LXRvLXRoZS13cm9uZy1pbnMucGF0Y2ggXAotICAgICBmaWxlOi8vMDAwOS13YXJuLWZvci11c2VzLW9mLXN5c3RlbS1kaXJlY3Rvcmllcy13aGVuLWNyb3NzLWxpbmtpLnBhdGNoIFwKLSAgICAgZmlsZTovLzAwMTAtRml4LXJwYXRoLWluLWxpYnRvb2wtd2hlbi1zeXNyb290LWlzLWVuYWJsZWQucGF0Y2ggXAotICAgICBmaWxlOi8vMDAxMS1DaGFuZ2UtZGVmYXVsdC1lbXVsYXRpb24tZm9yLW1pcHM2NC1saW51eC5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDEyLUFkZC1zdXBwb3J0LWZvci1OZXRsb2dpYy1YTFAucGF0Y2ggXAotICAgICBmaWxlOi8vMDAxMy1maXgtdGhlLWluY29ycmVjdC1hc3NlbWJsaW5nLWZvci1wcGMtd2FpdC1tbmVtb25pYy5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDE0LURldGVjdC02NC1iaXQtTUlQUy10YXJnZXRzLnBhdGNoIFwKLSAgICAgZmlsZTovLzAwMTUtc3luYy13aXRoLU9FLWxpYnRvb2wtY2hhbmdlcy5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDE2LWFkZC1pMzg2cGVwLWVtdWxhdGlvbi1mb3IteDg2XzY0LnBhdGNoIFwKLSAgICAgZmlsZTovLzAwMjItSGFuZGxlLUVMRi1jb21wcmVzc2VkLWhlYWRlci1hbGlnbm1lbnQtY29ycmVjdGx5LWJ5LS5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDIzLWdvbGQtR2V0LWFsaWdubWVudC1vZi11bmNvbXByZXNzZWQtc2VjdGlvbi1mcm9tLWNoX2EucGF0Y2ggXAotICAgICBmaWxlOi8vY2xhbmctYmZkLWZpeC5wYXRjaCBcCi0gICAgIGZpbGU6Ly9DVkUtMjAxOC0xNzM1OC5wYXRjaCBcCi0gICAgIGZpbGU6Ly9DVkUtMjAxOC0xNzM2MC5wYXRjaCBcCi0gICAgIGZpbGU6Ly9DVkUtMjAxOC0xODMwOS5wYXRjaCBcCi0gICAgIGZpbGU6Ly9DVkUtMjAxOC0xODYwNS5wYXRjaCBcCi0gICAgIGZpbGU6Ly9DVkUtMjAxOC0xODYwNi5wYXRjaCBcCi0gICAgIGZpbGU6Ly9DVkUtMjAxOC0xODYwNy5wYXRjaCBcCi0iCi1TICA9ICIke1dPUktESVJ9L2dpdCIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotICAgICAgICBybSAtcmYgJHtTfS9nZGIgJHtTfS9saWJkZWNudW1iZXIgJHtTfS9yZWFkbGluZSAke1N9L3NpbQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtMi4zMi5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy0yLjMyLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDBjMTZiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtMi4zMi5pbmMKQEAgLTAsMCArMSw1MiBAQAorTElDX0ZJTEVTX0NIS1NVTT0iXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MlwKKyAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTlmNjA0ZDhhNGY4ZTc0ZjRmNTE0MDg0NWEyMWI2Njc0XAorICAgIGZpbGU6Ly9DT1BZSU5HMzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDRcCisgICAgZmlsZTovL0NPUFlJTkczLkxJQjttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjZcCisgICAgZmlsZTovL2dhcy9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNFwKKyAgICBmaWxlOi8vaW5jbHVkZS9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MlwKKyAgICBmaWxlOi8vaW5jbHVkZS9DT1BZSU5HMzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDRcCisgICAgZmlsZTovL2xpYmliZXJ0eS9DT1BZSU5HLkxJQjttZDU9YTkxNjQ2N2I5MTA3NmU2MzFkZDhlZGI3NDI0NzY5YzdcCisgICAgZmlsZTovL2JmZC9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNFwKKyAgICAiCisKK2RlZiBiaW51dGlsc19icmFuY2hfdmVyc2lvbihkKToKKyAgICBwdnNwbGl0ID0gZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKQorICAgIHJldHVybiBwdnNwbGl0WzBdICsgIl8iICsgcHZzcGxpdFsxXQorCisjIEFjdHVhbCB1cHN0cmVhbSB2ZXJzaW9uIGlzIDIuMzIgKHdpdGhvdXQgdGhlIC4wKSwgc28gd2UgaGF2ZSB0byBzZXQKKyMgVVBTVFJFQU1fVkVSU0lPTl9VTktOT1dOIHRvIGF2b2lkIHRoZSB2ZXJzaW9uIGNoZWNrIGZhaWx1cmUuIFRoZSBsaW5lIGNhbgorIyBiZSByZW1vdmVkIHdoZW4gYSBuZXcgdmVyc2lvbiBvZiBiaW51dGlscyBpcyByZWxlYXNlZCAoaWYgdGhlIFBWIGlzIHRoZW4KKyMgY29ycmVjdGx5IHNldCB0byBtYXRjaCB0aGUgdXBzdHJlYW0gdmVyc2lvbiB0YWcpLgorVVBTVFJFQU1fVkVSU0lPTl9VTktOT1dOID0gIjEiCitQViA9ICIyLjMyLjAiCitDVkVfVkVSU0lPTiA9ICIyLjMyIgorQklOVVBWID0gIiR7QGJpbnV0aWxzX2JyYW5jaF92ZXJzaW9uKGQpfSIKKyNCUkFOQ0ggPSAiYmludXRpbHMtJHtCSU5VUFZ9LWJyYW5jaCIKK0JSQU5DSCA/PSAiYmludXRpbHMtMl8zMi1icmFuY2giCisKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gImJpbnV0aWxzLSg/UDxwdmVyPlxkK18oXGRfPykqKSIKKworU1JDUkVWID89ICJiOGMxZjYwOGRiOWVmM2VkZDQ4M2QyMWE5MjFkMWZiZWRjNzFkZjZmIgorQklOVVRJTFNfR0lUX1VSSSA/PSAiZ2l0Oi8vc291cmNld2FyZS5vcmcvZ2l0L2JpbnV0aWxzLWdkYi5naXQ7YnJhbmNoPSR7QlJBTkNIfTtwcm90b2NvbD1naXQiCitTUkNfVVJJID0gIlwKKyAgICAgJHtCSU5VVElMU19HSVRfVVJJfSBcCisgICAgIGZpbGU6Ly8wMDAzLWNvbmZpZ3VyZS13aWRlbi10aGUtcmVnZXhwLWZvci1TSC1hcmNoaXRlY3R1cmVzLnBhdGNoIFwKKyAgICAgZmlsZTovLzAwMDQtUG9pbnQtc2NyaXB0cy1sb2NhdGlvbi10by1saWJkaXIucGF0Y2ggXAorICAgICBmaWxlOi8vMDAwNS1Pbmx5LWdlbmVyYXRlLWFuLVJQQVRILWVudHJ5LWlmLUxEX1JVTl9QQVRILWlzLW5vdC1lLnBhdGNoIFwKKyAgICAgZmlsZTovLzAwMDYtVXNlLWxpYnRvb2wtMi40LnBhdGNoIFwKKyAgICAgZmlsZTovLzAwMDctZG9uLXQtbGV0LXRoZS1kaXN0cm8tY29tcGlsZXItcG9pbnQtdG8tdGhlLXdyb25nLWlucy5wYXRjaCBcCisgICAgIGZpbGU6Ly8wMDA4LXdhcm4tZm9yLXVzZXMtb2Ytc3lzdGVtLWRpcmVjdG9yaWVzLXdoZW4tY3Jvc3MtbGlua2kucGF0Y2ggXAorICAgICBmaWxlOi8vMDAwOS1GaXgtcnBhdGgtaW4tbGlidG9vbC13aGVuLXN5c3Jvb3QtaXMtZW5hYmxlZC5wYXRjaCBcCisgICAgIGZpbGU6Ly8wMDEwLUNoYW5nZS1kZWZhdWx0LWVtdWxhdGlvbi1mb3ItbWlwczY0LWxpbnV4LnBhdGNoIFwKKyAgICAgZmlsZTovLzAwMTEtQWRkLXN1cHBvcnQtZm9yLU5ldGxvZ2ljLVhMUC5wYXRjaCBcCisgICAgIGZpbGU6Ly8wMDEyLWZpeC10aGUtaW5jb3JyZWN0LWFzc2VtYmxpbmctZm9yLXBwYy13YWl0LW1uZW1vbmljLnBhdGNoIFwKKyAgICAgZmlsZTovLzAwMTMtRGV0ZWN0LTY0LWJpdC1NSVBTLXRhcmdldHMucGF0Y2ggXAorICAgICBmaWxlOi8vMDAxNC1zeW5jLXdpdGgtT0UtbGlidG9vbC1jaGFuZ2VzLnBhdGNoIFwKKyAgICAgZmlsZTovLzAwMTUtYmludXRpbHMtZW5hYmxlLXg4Nl82NC1wZXAtZm9yLXByb2R1Y2luZy1FRkktYmluYXJpZS5wYXRjaCBcCisiCitTICA9ICIke1dPUktESVJ9L2dpdCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgICAgICBybSAtcmYgJHtTfS9nZGIgJHtTfS9saWJkZWNudW1iZXIgJHtTfS9yZWFkbGluZSAke1N9L3NpbQorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtY3Jvc3MtY2FuYWRpYW5fMi4zMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLWNyb3NzLWNhbmFkaWFuXzIuMzIuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLWNyb3NzLWNhbmFkaWFuXzIuMzEuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLWNyb3NzLWNhbmFkaWFuXzIuMzIuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLWNyb3NzXzIuMzEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy1jcm9zc18yLjMyLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy1jcm9zc18yLjMxLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy1jcm9zc18yLjMyLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy1jcm9zc3Nka18yLjMxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtY3Jvc3NzZGtfMi4zMi5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtY3Jvc3NzZGtfMi4zMS5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtY3Jvc3NzZGtfMi4zMi5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwMS1iaW51dGlscy1jcm9zc3Nkay1HZW5lcmF0ZS1yZWxvY2F0YWJsZS1TREtzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwMS1iaW51dGlscy1jcm9zc3Nkay1HZW5lcmF0ZS1yZWxvY2F0YWJsZS1TREtzLnBhdGNoCmluZGV4IDZiZGI0MDcuLjY1ODFiYWQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDEtYmludXRpbHMtY3Jvc3NzZGstR2VuZXJhdGUtcmVsb2NhdGFibGUtU0RLcy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDAxLWJpbnV0aWxzLWNyb3Nzc2RrLUdlbmVyYXRlLXJlbG9jYXRhYmxlLVNES3MucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDRhOTlmMDU4MDMwYzg2Nzk0YmI5NmI1ODJhN2RiZDYzMWY5NjNiMDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDViY2Q4ODRmOGFmNTEwNmQwZmEzODBjNDJjZmZlMDdmM2M5OTNlZDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogTW9uLCAyIE1hciAyMDE1IDAxOjU4OjU0ICswMDAwCiBTdWJqZWN0OiBbUEFUQ0ggMDEvMTVdIGJpbnV0aWxzLWNyb3Nzc2RrOiBHZW5lcmF0ZSByZWxvY2F0YWJsZSBTREtzCkBAIC0xOCwxMCArMTgsMTAgQEAKICAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2xkL2dlbnNjcmlwdHMuc2ggYi9sZC9nZW5zY3JpcHRzLnNoCi1pbmRleCAzNzBiMjIyNjlkLi5hNWMzNjdhYThmIDEwMDc1NQoraW5kZXggNzdkZGJiYzhmOC4uZDc4OWU3Nzk0MyAxMDA3NTUKIC0tLSBhL2xkL2dlbnNjcmlwdHMuc2gKICsrKyBiL2xkL2dlbnNjcmlwdHMuc2gKLUBAIC0yNzksNiArMjc5LDcgQEAgREFUQV9BTElHTk1FTlRfdT0iJHtEQVRBX0FMSUdOTUVOVF91LSR7REFUQV9BTElHTk1FTlRfcn19IgorQEAgLTMxMCw2ICszMTAsNyBAQCBEQVRBX0FMSUdOTUVOVF91PSIke0RBVEFfQUxJR05NRU5UX3UtJHtEQVRBX0FMSUdOTUVOVF9yfX0iCiAgTERfRkxBRz1yCiAgREFUQV9BTElHTk1FTlQ9JHtEQVRBX0FMSUdOTUVOVF9yfQogIERFRkFVTFRfREFUQV9BTElHTk1FTlQ9IkFMSUdOKCR7U0VHTUVOVF9TSVpFfSkiCkBAIC0yOSw3ICsyOSw3IEBACiAgKCBlY2hvICIvKiBTY3JpcHQgZm9yIGxkIC1yOiBsaW5rIHdpdGhvdXQgcmVsb2NhdGlvbiAqLyIKICAgIC4gJHtDVVNUT01JWkVSX1NDUklQVH0KICAgIC4gJHtzcmNkaXJ9L3NjcmlwdHRlbXBsLyR7U0NSSVBUX05BTUV9LnNjCi1AQCAtMjg3LDEwICsyODgsMTIgQEAgREVGQVVMVF9EQVRBX0FMSUdOTUVOVD0iQUxJR04oJHtTRUdNRU5UX1NJWkV9KSIKK0BAIC0zMTgsMTAgKzMxOSwxMiBAQCBERUZBVUxUX0RBVEFfQUxJR05NRU5UPSJBTElHTigke1NFR01FTlRfU0laRX0pIgogIExEX0ZMQUc9dQogIERBVEFfQUxJR05NRU5UPSR7REFUQV9BTElHTk1FTlRfdX0KICBDT05TVFJVQ1RJTkc9IiAiCkBAIC00Myw3ICs0Myw3IEBACiAgREFUQV9BTElHTk1FTlQ9JHtEQVRBX0FMSUdOTUVOVF99CiAgUkVMT0NBVElORz0iICIKIGRpZmYgLS1naXQgYS9sZC9zY3JpcHR0ZW1wbC9lbGYuc2MgYi9sZC9zY3JpcHR0ZW1wbC9lbGYuc2MKLWluZGV4IDQ0NGFlZjI5NDIuLmFmYTk5ZjczNmQgMTAwNjQ0CitpbmRleCBiZDc1ODQxMjBlLi44YmJlMDUyZDRiIDEwMDY0NAogLS0tIGEvbGQvc2NyaXB0dGVtcGwvZWxmLnNjCiArKysgYi9sZC9zY3JpcHR0ZW1wbC9lbGYuc2MKIEBAIC0xMzksOCArMTM5LDggQEAgaWYgdGVzdCAteiAiJERBVEFfU0VHTUVOVF9BTElHTiI7IHRoZW4KQEAgLTU4LDUgKzU4LDUgQEAKICBpZiB0ZXN0IC16ICIkUExUIjsgdGhlbgogICAgSVBMVD0iLmlwbHQgICAgICAgICAke1JFTE9DQVRJTkctMH0gOiB7ICooLmlwbHQpIH0iCiAtLSAKLTIuMTguMAorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDItYmludXRpbHMtY3Jvc3MtRG8tbm90LWdlbmVyYXRlLWxpbmtlci1zY3JpcHQtZGlyZWN0by5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDItYmludXRpbHMtY3Jvc3MtRG8tbm90LWdlbmVyYXRlLWxpbmtlci1zY3JpcHQtZGlyZWN0by5wYXRjaAppbmRleCAwMjA4MjEzLi4zMjUzN2Q0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDAyLWJpbnV0aWxzLWNyb3NzLURvLW5vdC1nZW5lcmF0ZS1saW5rZXItc2NyaXB0LWRpcmVjdG8ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwMi1iaW51dGlscy1jcm9zcy1Eby1ub3QtZ2VuZXJhdGUtbGlua2VyLXNjcmlwdC1kaXJlY3RvLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA2ZTc4YjFjODhjMDQwYTc0MmI3YWY4MjU0MmFjN2ViOTJlZGRkYTNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAxMTkyNzkxMzU2MGZjNWE1ZDUxYWYzYmM1ZWI4YWQ2MmE4NmM5ODQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IE1vbiwgNiBNYXIgMjAxNyAyMzozNzowNSAtMDgwMAogU3ViamVjdDogW1BBVENIIDAyLzE1XSBiaW51dGlscy1jcm9zczogRG8gbm90IGdlbmVyYXRlIGxpbmtlciBzY3JpcHQKQEAgLTIzLDEwICsyMywxMCBAQAogIDEgZmlsZSBjaGFuZ2VkLCAyNSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2xkL2dlbnNjcmlwdHMuc2ggYi9sZC9nZW5zY3JpcHRzLnNoCi1pbmRleCBhNWMzNjdhYThmLi42Y2M5ZWVkOTc2IDEwMDc1NQoraW5kZXggZDc4OWU3Nzk0My4uMTQ0ZTJlODczNiAxMDA3NTUKIC0tLSBhL2xkL2dlbnNjcmlwdHMuc2gKICsrKyBiL2xkL2dlbnNjcmlwdHMuc2gKLUBAIC0xODksMzEgKzE4OSw2IEBAIGFwcGVuZF90b19saWJfcGF0aCgpCitAQCAtMjIwLDMxICsyMjAsNiBAQCBhcHBlbmRfdG9fbGliX3BhdGgoKQogICAgZmkKICB9CiAgCkBAIC01OSw1ICs1OSw1IEBACiAgICBsaWJzPSR7TkFUSVZFX0xJQl9ESVJTfQogICAgaWYgWyAieCR7TkFUSVZFfSIgPSAieHllcyIgXSA7IHRoZW4KIC0tIAotMi4xOC4wCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwMy1jb25maWd1cmUtd2lkZW4tdGhlLXJlZ2V4cC1mb3ItU0gtYXJjaGl0ZWN0dXJlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDMtY29uZmlndXJlLXdpZGVuLXRoZS1yZWdleHAtZm9yLVNILWFyY2hpdGVjdHVyZXMucGF0Y2gKaW5kZXggMTUxOTNjMS4uYTMwMTM4MiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwMy1jb25maWd1cmUtd2lkZW4tdGhlLXJlZ2V4cC1mb3ItU0gtYXJjaGl0ZWN0dXJlcy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDAzLWNvbmZpZ3VyZS13aWRlbi10aGUtcmVnZXhwLWZvci1TSC1hcmNoaXRlY3R1cmVzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0YzZmZDhmNWViOWJjN2MwZDAyZjFhOThhZDg2ZTM5NWQ0ZDJhYjNiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBkYTM5MzlkZTZmYjM2ZGEyYzY0ODRmMTRmMDhhMzdiZTE5NWQ5ZGMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IE1vbiwgMiBNYXIgMjAxNSAwMTowNzozMyArMDAwMAogU3ViamVjdDogW1BBVENIIDAzLzE1XSBjb25maWd1cmU6IHdpZGVuIHRoZSByZWdleHAgZm9yIFNIIGFyY2hpdGVjdHVyZXMKQEAgLTE0LDEwICsxNCwxMCBAQAogIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKLWluZGV4IDA4ZGQzNWMzZWEuLjgxNWU3NGRkYjcgMTAwNzU1CitpbmRleCAzNzQ3NjQ1OTYxLi43OGI1MjQwMTAxIDEwMDc1NQogLS0tIGEvY29uZmlndXJlCiArKysgYi9jb25maWd1cmUKLUBAIC0zODU1LDcgKzM4NTUsNyBAQCBjYXNlICIke3RhcmdldH0iIGluCitAQCAtMzg2MSw3ICszODYxLDcgQEAgY2FzZSAiJHt0YXJnZXR9IiBpbgogICAgbnZwdHgqLSotKikKICAgICAgbm9jb25maWdkaXJzPSIkbm9jb25maWdkaXJzIHRhcmdldC1saWJzc3AgdGFyZ2V0LWxpYnN0ZGMrKy12MyB0YXJnZXQtbGlib2JqYyIKICAgICAgOzsKQEAgLTI3LDcgKzI3LDcgQEAKICAgICAgICBzaCotKi1lbGYpCiAgICAgICAgICAgOzsKIGRpZmYgLS1naXQgYS9ncHJvZi9jb25maWd1cmUgYi9ncHJvZi9jb25maWd1cmUKLWluZGV4IDQ0N2NlYTc4ODQuLmE3MzBlMjA1MDkgMTAwNzU1CitpbmRleCBmODRlZmFiYTIwLi5hYjMyYmFiMmI2IDEwMDc1NQogLS0tIGEvZ3Byb2YvY29uZmlndXJlCiArKysgYi9ncHJvZi9jb25maWd1cmUKIEBAIC02MTYyLDYgKzYxNjIsMTEgQEAgbGludXgqIHwgaypic2QqLWdudSB8IGtvcGVuc29sYXJpcyotZ251KQpAQCAtNDMsNSArNDMsNSBAQAogICAgaWYgZWNobyBfX0VMRl9fIHwgJENDIC1FIC0gfCAkR1JFUCBfX0VMRl9fID4gL2Rldi9udWxsOyB0aGVuCiAgICAgIGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kPSdtYXRjaF9wYXR0ZXJuIC9saWJbXi9dKyhcLnNvXC5bMC05XStcLlswLTldK3xfcGljXC5hKSQnCiAtLSAKLTIuMTguMAorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDQtUG9pbnQtc2NyaXB0cy1sb2NhdGlvbi10by1saWJkaXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA0LVBvaW50LXNjcmlwdHMtbG9jYXRpb24tdG8tbGliZGlyLnBhdGNoCmluZGV4IGJmMWMxYmUuLmY4ZTM1MjIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDQtUG9pbnQtc2NyaXB0cy1sb2NhdGlvbi10by1saWJkaXIucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNC1Qb2ludC1zY3JpcHRzLWxvY2F0aW9uLXRvLWxpYmRpci5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNDhhZDUyOTJiMTA0MDhkNGU1ZDU3MzkwMjI3NTNhNzE4M2ExY2JiMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZmMxZmY4NjBmZDg4ZmEyZDA1ODRiZDE5MTgxYzg4MGE3NjMzMWE4ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDIgTWFyIDIwMTUgMDE6MDk6NTggKzAwMDAKIFN1YmplY3Q6IFtQQVRDSCAwNC8xNV0gUG9pbnQgc2NyaXB0cyBsb2NhdGlvbiB0byBsaWJkaXIKQEAgLTEyLDcgKzEyLDcgQEAKICAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2xkL01ha2VmaWxlLmFtIGIvbGQvTWFrZWZpbGUuYW0KLWluZGV4IGQ4NmFkMDk0MGMuLmM5NWIwZWYwMjUgMTAwNjQ0CitpbmRleCBjMmM3OThiNGZlLi5kN2ZhZjE5MjcxIDEwMDY0NAogLS0tIGEvbGQvTWFrZWZpbGUuYW0KICsrKyBiL2xkL01ha2VmaWxlLmFtCiBAQCAtNTcsNyArNTcsNyBAQCBlbmRpZgpAQCAtMjUsNyArMjUsNyBAQAogIEVNVUwgPSBARU1VTEAKICBFTVVMQVRJT05fT0ZJTEVTID0gQEVNVUxBVElPTl9PRklMRVNACiBkaWZmIC0tZ2l0IGEvbGQvTWFrZWZpbGUuaW4gYi9sZC9NYWtlZmlsZS5pbgotaW5kZXggNDc5MmIyYjAxMy4uNzg5ZGYyZDAxYiAxMDA2NDQKK2luZGV4IGZjNjg3ZmM1MTYuLjhiMTRmNTIzNmMgMTAwNjQ0CiAtLS0gYS9sZC9NYWtlZmlsZS5pbgogKysrIGIvbGQvTWFrZWZpbGUuaW4KIEBAIC01NjMsNyArNTYzLDcgQEAgQU1fQ0ZMQUdTID0gJChXQVJOX0NGTEFHUykgJChFTEZfQ0xGQUdTKQpAQCAtMzgsNSArMzgsNSBAQAogIEJGRERJUiA9ICQoQkFTRURJUikvYmZkCiAgSU5DRElSID0gJChCQVNFRElSKS9pbmNsdWRlCiAtLSAKLTIuMTguMAorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDUtT25seS1nZW5lcmF0ZS1hbi1SUEFUSC1lbnRyeS1pZi1MRF9SVU5fUEFUSC1pcy1ub3QtZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDUtT25seS1nZW5lcmF0ZS1hbi1SUEFUSC1lbnRyeS1pZi1MRF9SVU5fUEFUSC1pcy1ub3QtZS5wYXRjaAppbmRleCAxZjU4OTcxLi4xYmFkNTMxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA1LU9ubHktZ2VuZXJhdGUtYW4tUlBBVEgtZW50cnktaWYtTERfUlVOX1BBVEgtaXMtbm90LWUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNS1Pbmx5LWdlbmVyYXRlLWFuLVJQQVRILWVudHJ5LWlmLUxEX1JVTl9QQVRILWlzLW5vdC1lLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA3OWU1MzUxMGIxZjllMTZhMjFkYjMxMjY5OGZiMWMxYzQ0MjQ4MWU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA2Njg2MWJmZjM4OTQzNGUzNDU0Yzc2NTBlZTI5ZmFkZTdhMWNjNWVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IE1vbiwgMiBNYXIgMjAxNSAwMToyNzoxNyArMDAwMAogU3ViamVjdDogW1BBVENIIDA1LzE1XSBPbmx5IGdlbmVyYXRlIGFuIFJQQVRIIGVudHJ5IGlmIExEX1JVTl9QQVRIIGlzIG5vdApAQCAtMTUsNyArMTUsNyBAQAogIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL2xkL2VtdWx0ZW1wbC9lbGYzMi5lbSBiL2xkL2VtdWx0ZW1wbC9lbGYzMi5lbQotaW5kZXggMWFkOWQ2YjZmYS4uNmEwMjVhNDViNCAxMDA2NDQKK2luZGV4IGY0ZjdhZDZiNGUuLmNmZDc4N2ZmMjggMTAwNjQ0CiAtLS0gYS9sZC9lbXVsdGVtcGwvZWxmMzIuZW0KICsrKyBiL2xkL2VtdWx0ZW1wbC9lbGYzMi5lbQogQEAgLTE0NzEsNiArMTQ3MSw4IEBAIGZyYWdtZW50IDw8RU9GCkBAIC0yNyw3ICsyNyw3IEBACiAgCSAgICAgIGlmIChwYXRoCiAgCQkgICYmIGdsZCR7RU1VTEFUSU9OX05BTUV9X3NlYXJjaF9uZWVkZWQgKHBhdGgsICZuLCBmb3JjZSkpCiAgCQlicmVhazsKLUBAIC0xNzUxLDYgKzE3NTMsOCBAQCBnbGQke0VNVUxBVElPTl9OQU1FfV9iZWZvcmVfYWxsb2NhdGlvbiAodm9pZCkKK0BAIC0xNzQ2LDYgKzE3NDgsOCBAQCBnbGQke0VNVUxBVElPTl9OQU1FfV9iZWZvcmVfYWxsb2NhdGlvbiAodm9pZCkKICAgIHJwYXRoID0gY29tbWFuZF9saW5lLnJwYXRoOwogICAgaWYgKHJwYXRoID09IE5VTEwpCiAgICAgIHJwYXRoID0gKGNvbnN0IGNoYXIgKikgZ2V0ZW52ICgiTERfUlVOX1BBVEgiKTsKQEAgLTM3LDUgKzM3LDUgQEAKICAgIGZvciAoYWJmZCA9IGxpbmtfaW5mby5pbnB1dF9iZmRzOyBhYmZkOyBhYmZkID0gYWJmZC0+bGluay5uZXh0KQogICAgICBpZiAoYmZkX2dldF9mbGF2b3VyIChhYmZkKSA9PSBiZmRfdGFyZ2V0X2VsZl9mbGF2b3VyKQogLS0gCi0yLjE4LjAKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA2LVVzZS1saWJ0b29sLTIuNC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDYtVXNlLWxpYnRvb2wtMi40LnBhdGNoCmluZGV4IDg1NTBkZjAuLmYwYzRkMjUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDYtVXNlLWxpYnRvb2wtMi40LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDYtVXNlLWxpYnRvb2wtMi40LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAxMWY2ZDI4ODk3MjVhZDU5MmFiNzg5NTM0Y2E5Yjg1ODA3M2RmNGQxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA0MTg1MjdhMjk3MWQ0ZTc3YTg3MDg1NDAwMzk3MDkwZDg5ZmM1Yzk0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFN1biwgMTQgRmViIDIwMTYgMTc6MDQ6MDcgKzAwMDAKIFN1YmplY3Q6IFtQQVRDSCAwNi8xNV0gVXNlIGxpYnRvb2wgMi40CkBAIC0xMyw3ICsxMyw3IEBACiAgYmZkL2NvbmZpZ3VyZS5hYyAgICAgfCAgICAyICstCiAgYmludXRpbHMvY29uZmlndXJlICAgfCAxMzIwICsrKysrKysrKysrKysrLS0tLS0KICBnYXMvY29uZmlndXJlICAgICAgICB8IDEzMjAgKysrKysrKysrKysrKystLS0tLQotIGdwcm9mL2NvbmZpZ3VyZSAgICAgIHwgMTMyNyArKysrKysrKysrKysrKy0tLS0tCisgZ3Byb2YvY29uZmlndXJlICAgICAgfCAxMzIxICsrKysrKysrKysrKysrLS0tLS0KICBsZC9jb25maWd1cmUgICAgICAgICB8IDE2OTUgKysrKysrKysrKysrKysrKysrLS0tLS0tCiAgbGlidG9vbC5tNCAgICAgICAgICAgfCAxMDgwICsrKysrKysrKysrLS0tLS0KICBsdG1haW4uc2ggICAgICAgICAgICB8IDI5MjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCkBAIC0yMywxMiArMjMsMTIgQEAKICBvcGNvZGVzL2NvbmZpZ3VyZSAgICB8IDEzMjIgKysrKysrKysrKysrKystLS0tLQogIG9wY29kZXMvY29uZmlndXJlLmFjIHwgICAgMiArLQogIHpsaWIvY29uZmlndXJlICAgICAgIHwgMTMyMCArKysrKysrKysrKysrKy0tLS0tCi0gMTQgZmlsZXMgY2hhbmdlZCwgOTk0OCBpbnNlcnRpb25zKCspLCAzNzAzIGRlbGV0aW9ucygtKQorIDE0IGZpbGVzIGNoYW5nZWQsIDk5NDAgaW5zZXJ0aW9ucygrKSwgMzcwNSBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGdpdC9iZmQvY29uZmlndXJlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvYmZkL2NvbmZpZ3VyZQotKysrIGdpdC9iZmQvY29uZmlndXJlCitkaWZmIC0tZ2l0IGEvYmZkL2NvbmZpZ3VyZSBiL2JmZC9jb25maWd1cmUKK2luZGV4IDE3OTYwNjg0ZjguLjkyNWZiNDAxZjIgMTAwNzU1CistLS0gYS9iZmQvY29uZmlndXJlCisrKysgYi9iZmQvY29uZmlndXJlCiBAQCAtNzA0LDYgKzcwNCw5IEBAIE9UT09MCiAgTElQTwogIE5NRURJVApAQCAtNzYsNyArNzYsNyBAQAogICAgIHRlc3QgIlhgcHJpbnQgLXIgLS0gJEVDSE8gMj4vZGV2L251bGxgIiA9ICJYJEVDSE8iOyB0aGVuCiAgICBFQ0hPPSdwcmludCAtciAtLScKICBlbGlmIHRlc3QgIlhgcHJpbnRmICVzICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgotQEAgLTY0MjAsOCArNjQyNiw4IEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHUKK0BAIC02NDIwLDggKzY0MjYsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5kcyBzb21lIFhTSSBjb25zdHJ1Y3RzLi4uICIgPiY2OwogICMgVHJ5IHNvbWUgWFNJIGZlYXR1cmVzCiAgeHNpX3NoZWxsPW5vCiAgKCBfbHRfZHVtbXk9ImEvYi9jIgpAQCAtMjEyLDcgKzIxMiw3IEBACiAgZmlsZV9tYWdpY19jbWQ9JGx0X2N2X2ZpbGVfbWFnaWNfY21kCiAgZGVwbGlic19jaGVja19tZXRob2Q9JGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kCiAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaWJzX2NoZWNrX21ldGhvZD11bmtub3duCi1AQCAtNjgyMyw5ICs2OTI0LDE2MiBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpCitAQCAtNjgyMSwxMSArNjkyMiwxNjQgQEAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaWJzX2NoZWNrX21ldGhvZD11bmtub3duCiAgCiAgCiAgCkBAIC0yMjYsNiArMjI2LDggQEAKICsKICsKICsKKyAKKyAKICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCiAtICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9YXIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgogLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWFyOyBhY193b3JkPSQyCkBAIC00NDcsNyArNDQ5LDcgQEAKICsKICsKICsKLSAKKysKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBhcmNoaXZlciBARklMRSBzdXBwb3J0IiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyBmb3IgYXJjaGl2ZXIgQEZJTEUgc3VwcG9ydC4uLiAiID4mNjsgfQogK2lmICR7bHRfY3ZfYXJfYXRfZmlsZSs6fSBmYWxzZTsgdGhlbiA6CkBAIC00NTYsNyArNDU4LDcgQEAKICsgIGx0X2N2X2FyX2F0X2ZpbGU9bm8KICsgICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CiArLyogZW5kIGNvbmZkZWZzLmguICAqLwotIAorKwogK2ludAogK21haW4gKCkKICt7CkBAIC00ODksMTEgKzQ5MSwxMSBAQAogIAogK2ZpCiArcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci0rCisgCiArZmkKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGx0X2N2X2FyX2F0X2ZpbGUiID4mNQogKyRhc19lY2hvICIkbHRfY3ZfYXJfYXRfZmlsZSIgPiY2OyB9Ci0rCisgCiAraWYgdGVzdCAieCRsdF9jdl9hcl9hdF9maWxlIiA9IHhubzsgdGhlbgogKyAgYXJjaGl2ZXJfbGlzdF9zcGVjPQogK2Vsc2UKQEAgLTU0OSw3ICs1NTEsNyBAQAogICAgY29uc3QgY2hhciAqbmFtZTsKICAgIHZvaWQgICAgICAgKmFkZHJlc3M7CiAgfQotQEAgLTczNzcsOCArNzcwOCw4IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKQorQEAgLTczNzcsOCArNzcwOCw4IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKSB7CiAgX0xUX0VPRgogIAkgICMgTm93IHRyeSBsaW5raW5nIHRoZSB0d28gZmlsZXMuCiAgCSAgbXYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdHN0bS4kYWNfb2JqZXh0CkBAIC01NzEsNyArNTczLDcgQEAKICAJZWxzZQogIAkgIGVjaG8gImNhbm5vdCBmaW5kIG5tX3Rlc3RfZnVuYyBpbiAkbmxpc3QiID4mNQogIAlmaQotQEAgLTc0MjYsNiArNzc1NywyMCBAQCBlbHNlCitAQCAtNzQyNiw2ICs3NzU3LDE2IEBAIGVsc2UKICAkYXNfZWNobyAib2siID4mNjsgfQogIGZpCiAgCkBAIC01ODUsMTcgKzU4NywyMCBAQAogKwogKwogKworIAorIAorIAorQEAgLTc0NDIsNiArNzc4Myw0NSBAQCBmaQorIAorIAorIAogKwogKwogKwogKwotIAotIAotIAotQEAgLTc0NDUsNiArNzc5MCw0MSBAQCBmaQotIAotIAotIAorKworKworKwogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHN5c3Jvb3QiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzeXNyb290Li4uICIgPiY2OyB9CiArCkBAIC02MjgsMTIgKzYzMyw5IEBACiArCiArIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAke2x0X3N5c3Jvb3Q6LW5vfSIgPiY1CiArJGFzX2VjaG8gIiR7bHRfc3lzcm9vdDotbm99IiA+JjY7IH0KLSsKLSsKLSsKICAKICAKLSAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbGlidG9vbC1sb2NrIHdhcyBnaXZlbi4KKyAKIEBAIC03NjUzLDYgKzgwMzMsMTIzIEBAIGVzYWMKICAKICBuZWVkX2xvY2tzPSIkZW5hYmxlX2xpYnRvb2xfbG9jayIKQEAgLTc5NSw3ICs3OTcsNyBAQAogIAogICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAgICAgbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKLUBAIC04OTM0LDYgKzk0MzIsMTIgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpbworQEAgLTg5MzQsNiArOTQzMiwxMiBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogIAlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLS1zaGFyZWQnCiAgCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctLXN0YXRpYycKICAJOzsKQEAgLTgwOCw3ICs4MTAsNyBAQAogICAgICAgIHBnY2MqIHwgcGdmNzcqIHwgcGdmOTAqIHwgcGdmOTUqIHwgcGdmb3J0cmFuKikKICAgICAgICAgICMgUG9ydGxhbmQgR3JvdXAgY29tcGlsZXJzICgqbm90KiB0aGUgUGVudGl1bSBnY2MgY29tcGlsZXIsCiAgCSMgd2hpY2ggbG9va3MgdG8gYmUgYSBkZWFkIHByb2plY3QpCi1AQCAtODk5Niw3ICs5NTAwLDcgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpbworQEAgLTg5OTYsNyArOTUwMCw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW9uIHRvIHByb2R1Y2UgUElDLi4uICIgPiY2OyB9CiAgICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9Jy1LUElDJwogICAgICAgIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctQnN0YXRpYycKICAgICAgICBjYXNlICRjY19iYXNlbmFtZSBpbgpAQCAtOTY5LDcgKzk3MSw3IEBACiAgCiAgICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogICAgICAgICAgYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJyJcJHt3bH0kbm9fZW50cnlfZmxhZyInICRjb21waWxlcl9mbGFncyBgaWYgdGVzdCAieCR7YWxsb3dfdW5kZWZpbmVkX2ZsYWd9IiAhPSAieCI7IHRoZW4gZnVuY19lY2hvX2FsbCAiJHt3bH0ke2FsbG93X3VuZGVmaW5lZF9mbGFnfSI7IGVsc2UgOjsgZmlgICciXCR7d2x9JGV4cF9zeW1fZmxhZzpcJGV4cG9ydF9zeW1ib2xzICRzaGFyZWRfZmxhZyIKLUBAIC05ODI1LDcgKzEwMzUyLDEzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05ODI1LDcgKzEwMzUyLDEzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAllbHNlCiAgCSAjIERldGVybWluZSB0aGUgZGVmYXVsdCBsaWJwYXRoIGZyb20gdGhlIHZhbHVlIGVuY29kZWQgaW4gYW4KICAJICMgZW1wdHkgZXhlY3V0YWJsZS4KQEAgLTEwMjcsNyArMTAyOSw3IEBACiAgCiAgCSBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogIAkgICMgV2FybmluZyAtIHdpdGhvdXQgdXNpbmcgdGhlIG90aGVyIHJ1biB0aW1lIGxvYWRpbmcgZmxhZ3MsCi1AQCAtOTg5OCwyMCArMTA0MzgsNjMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk4OTgsMjAgKzEwNDM4LDYzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogICAgICAgICMgTWljcm9zb2Z0IFZpc3VhbCBDKysuCiAgICAgICAgIyBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIGlzIGFjdHVhbGx5IG1lYW5pbmdsZXNzLCBhcyB0aGVyZSBpcwogICAgICAgICMgbm8gc2VhcmNoIHBhdGggZm9yIERMTHMuCkBAIC0xMTA1LDcgKzExMDcsNyBAQAogICAgICAgIDs7CiAgCiAgICAgIGRhcndpbiogfCByaGFwc29keSopCi1AQCAtOTk3Miw3ICsxMDU1NSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05OTcyLDcgKzEwNTU1LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgICMgRnJlZUJTRCAzIGFuZCBncmVhdGVyIHVzZXMgZ2NjIC1zaGFyZWQgdG8gZG8gc2hhcmVkIGxpYnJhcmllcy4KICAgICAgZnJlZWJzZCogfCBkcmFnb25mbHkqKQpAQCAtMTExNCw3ICsxMTE2LDcgQEAKICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCiAgICAgICAgaGFyZGNvZGVfZGlyZWN0PXllcwogICAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KLUBAIC05OTgwLDcgKzEwNTYzLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk5ODAsNyArMTA1NjMsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDkqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCkBAIC0xMTIzLDcgKzExMjUsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvJHNvbmFtZX4kTEQgLWIgK2IgJGluc3RhbGxfbGliZGlyIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFnc350ZXN0ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgPSAkbGliIHx8IG12ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYicKICAgICAgICBmaQotQEAgLTk5OTYsNyArMTA1NzksNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTk5Niw3ICsxMDU3OSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICBocHV4MTAqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzICYmIHRlc3QgIiR3aXRoX2dudV9sZCIgPSBubzsgdGhlbgpAQCAtMTEzMiw3ICsxMTM0LDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJExEIC1iICtoICRzb25hbWUgK2IgJGluc3RhbGxfbGliZGlyIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKICAgICAgICBmaQotQEAgLTEwMDIwLDEwICsxMDYwMywxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTAwMjAsMTAgKzEwNjAzLDEwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAkgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJHt3bH0raCAke3dsfSRzb25hbWUgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCiAgCSAgOzsKICAJaWE2NCopCkBAIC0xMTkwLDcgKzExOTIsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLXNvbmFtZSAkc29uYW1lIGB0ZXN0IC1uICIkdmVyc3RyaW5nIiAmJiBmdW5jX2VjaG9fYWxsICItc2V0X3ZlcnNpb24gJHZlcnN0cmluZyJgIC11cGRhdGVfcmVnaXN0cnkgJHtvdXRwdXRfb2JqZGlyfS9zb19sb2NhdGlvbnMgLW8gJGxpYicKICAJYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1leHBvcnRzX2ZpbGUgJGV4cG9ydF9zeW1ib2xzIC1vICRsaWInCi1AQCAtMTAyMDMsNyArMTA3OTksNyBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqCitAQCAtMTAyMDMsNyArMTA3OTksNyBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICAgb3NmNCogfCBvc2Y1KikJIyBhcyBvc2YzKiB3aXRoIHRoZSBhZGRpdGlvbiBvZiAtbXN5bSBmbGFnCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyAke3dsfS1leHBlY3RfdW5yZXNvbHZlZCAke3dsfVwqJwpAQCAtMTE5OSw3ICsxMjAxLDcgQEAKICAJaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tcnBhdGggJHt3bH0kbGliZGlyJwogICAgICAgIGVsc2UKICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyAtZXhwZWN0X3VucmVzb2x2ZWQgXConCi1AQCAtMTAyMjIsOSArMTA4MTgsOSBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqCitAQCAtMTAyMjIsOSArMTA4MTgsOSBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICAgICBub191bmRlZmluZWRfZmxhZz0nIC16IGRlZnMnCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAJd2xhcmM9JyR7d2x9JwpAQCAtMTM1OCw3ICsxMzYwLDcgQEAKICAgIGZpCiAgCiAgIyBNb3JlIGhhY2tzIHRvIGJ1aWxkIERMTHMgb24gV2luZG93cy4KLUBAIC0xNzEzOSwxMyArMTc3OTQsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5XworQEAgLTE3MTQyLDEzICsxNzc5NywyMCBAQCBleGVleHQ9J2AkRUNITyAiJGV4ZWV4dCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfdW5zZXQ9J2AkRUNITyAiJGx0X3Vuc2V0IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9TUDJOTD0nYCRFQ0hPICIkbHRfU1AyTkwiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X05MMlNQPSdgJEVDSE8gIiRsdF9OTDJTUCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0xMzc5LDcgKzEzODEsNyBAQAogIFNUUklQPSdgJEVDSE8gIiRTVFJJUCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgUkFOTElCPSdgJEVDSE8gIiRSQU5MSUIiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG9sZF9wb3N0aW5zdGFsbF9jbWRzPSdgJEVDSE8gIiRvbGRfcG9zdGluc3RhbGxfY21kcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTcxNjAsMTQgKzE3ODIyLDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGwKK0BAIC0xNzE2MywxNCArMTc4MjUsMTcgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSIgfCAkU0VEICIkZGUKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0xMzk4LDcgKzE0MDAsNyBAQAogIERTWU1VVElMPSdgJEVDSE8gIiREU1lNVVRJTCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgTk1FRElUPSdgJEVDSE8gIiROTUVESVQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIExJUE89J2AkRUNITyAiJExJUE8iIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTE3MjAwLDEyICsxNzg2NSwxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSdgJEVDSE8gIiRoYXJkY29kCitAQCAtMTcyMDMsMTIgKzE3ODY4LDEyIEBAIGhhcmRjb2RlX3NobGlicGF0aF92YXI9J2AkRUNITyAiJGhhcmRjb2RlX3NobGlicGF0aF92YXIiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xCiAgaGFyZGNvZGVfYXV0b21hdGljPSdgJEVDSE8gIiRoYXJkY29kZV9hdXRvbWF0aWMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGluaGVyaXRfcnBhdGg9J2AkRUNITyAiJGluaGVyaXRfcnBhdGgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGxpbmtfYWxsX2RlcGxpYnM9J2AkRUNITyAiJGxpbmtfYWxsX2RlcGxpYnMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMTQxMiw3ICsxNDE0LDcgQEAKICBmaWxlX2xpc3Rfc3BlYz0nYCRFQ0hPICIkZmlsZV9saXN0X3NwZWMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIHZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rPSdgJEVDSE8gIiR2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluayIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbmVlZF9saWJfcHJlZml4PSdgJEVDSE8gIiRuZWVkX2xpYl9wcmVmaXgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTE3MjYwLDggKzE3OTI1LDEzIEBAIHJlbG9hZF9mbGFnIFwKK0BAIC0xNzI2Myw4ICsxNzkyOCwxMyBAQCByZWxvYWRfZmxhZyBcCiAgT0JKRFVNUCBcCiAgZGVwbGlic19jaGVja19tZXRob2QgXAogIGZpbGVfbWFnaWNfY21kIFwKQEAgLTE0MjYsNyArMTQyOCw3IEBACiAgU1RSSVAgXAogIFJBTkxJQiBcCiAgQ0MgXAotQEAgLTE3MjcxLDEyICsxNzk0MSwxNCBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIFwKK0BAIC0xNzI3NCwxMiArMTc5NDQsMTQgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSBcCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wgXAogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzIFwKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4IFwKQEAgLTE0NDIsNyArMTQ0NCw3IEBACiAgRFNZTVVUSUwgXAogIE5NRURJVCBcCiAgTElQTyBcCi1AQCAtMTcyOTIsNyArMTc5NjQsNiBAQCBub191bmRlZmluZWRfZmxhZyBcCitAQCAtMTcyOTUsNyArMTc5NjcsNiBAQCBub191bmRlZmluZWRfZmxhZyBcCiAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyBcCiAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19sZCBcCiAgaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciBcCkBAIC0xNDUwLDcgKzE0NTIsNyBAQAogIGV4Y2x1ZGVfZXhwc3ltcyBcCiAgaW5jbHVkZV9leHBzeW1zIFwKICBmaWxlX2xpc3Rfc3BlYyBcCi1AQCAtMTczMjgsNiArMTc5OTksNyBAQCBtb2R1bGVfY21kcyBcCitAQCAtMTczMzEsNiArMTgwMDIsNyBAQCBtb2R1bGVfY21kcyBcCiAgbW9kdWxlX2V4cHN5bV9jbWRzIFwKICBleHBvcnRfc3ltYm9sc19jbWRzIFwKICBwcmVsaW5rX2NtZHMgXApAQCAtMTQ1OCw3ICsxNDYwLDcgQEAKICBwb3N0aW5zdGFsbF9jbWRzIFwKICBwb3N0dW5pbnN0YWxsX2NtZHMgXAogIGZpbmlzaF9jbWRzIFwKLUBAIC0xODExNiw3ICsxODc4OCw4IEBAICRhc19lY2hvIFgiJGZpbGUiIHwKK0BAIC0xODExOSw3ICsxODc5MSw4IEBAICRhc19lY2hvIFgiJGZpbGUiIHwKICAjIE5PVEU6IENoYW5nZXMgbWFkZSB0byB0aGlzIGZpbGUgd2lsbCBiZSBsb3N0OiBsb29rIGF0IGx0bWFpbi5zaC4KICAjCiAgIyAgIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMywgMjAwNCwgMjAwNSwKQEAgLTE0NjgsNyArMTQ3MCw3IEBACiAgIyAgIFdyaXR0ZW4gYnkgR29yZG9uIE1hdHppZ2tlaXQsIDE5OTYKICAjCiAgIyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBMaWJ0b29sLgotQEAgLTE4MjE5LDE5ICsxODg5Miw0MiBAQCBTUDJOTD0kbHRfbHRfU1AyTkwKK0BAIC0xODIyMiwxOSArMTg4OTUsNDIgQEAgU1AyTkw9JGx0X2x0X1NQMk5MCiAgIyB0dXJuIG5ld2xpbmVzIGludG8gc3BhY2VzLgogIE5MMlNQPSRsdF9sdF9OTDJTUAogIApAQCAtMTUxMiw3ICsxNTE0LDcgQEAKICAjIEEgc3ltYm9sIHN0cmlwcGluZyBwcm9ncmFtLgogIFNUUklQPSRsdF9TVFJJUAogIAotQEAgLTE4MjYxLDYgKzE4OTU3LDEyIEBAIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9JGx0X2x0X2MKK0BAIC0xODI2NCw2ICsxODk2MCwxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcwogICMgVHJhbnNmb3JtIHRoZSBvdXRwdXQgb2Ygbm0gaW4gYSBDIG5hbWUgYWRkcmVzcyBwYWlyIHdoZW4gbGliIHByZWZpeCBpcyBuZWVkZWQuCiAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4CiAgCkBAIC0xNTI1LDcgKzE1MjcsNyBAQAogICMgVGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIHRlbXBvcmFyeSBsaWJ0b29sIGZpbGVzLgogIG9iamRpcj0kb2JqZGlyCiAgCi1AQCAtMTgyNzAsNiArMTg5NzIsOSBAQCBNQUdJQ19DTUQ9JE1BR0lDX0NNRAorQEAgLTE4MjczLDYgKzE4OTc1LDkgQEAgTUFHSUNfQ01EPSRNQUdJQ19DTUQKICAjIE11c3Qgd2UgbG9jayBmaWxlcyB3aGVuIGRvaW5nIGNvbXBpbGF0aW9uPwogIG5lZWRfbG9ja3M9JGx0X25lZWRfbG9ja3MKICAKQEAgLTE1MzUsNyArMTUzNyw3IEBACiAgIyBUb29sIHRvIG1hbmlwdWxhdGUgYXJjaGl2ZWQgRFdBUkYgZGVidWcgc3ltYm9sIGZpbGVzIG9uIE1hYyBPUyBYLgogIERTWU1VVElMPSRsdF9EU1lNVVRJTAogIAotQEAgLTE4Mzg0LDEyICsxOTA4OSwxMiBAQCB3aXRoX2djYz0kR0NDCitAQCAtMTgzODcsMTIgKzE5MDkyLDEyIEBAIHdpdGhfZ2NjPSRHQ0MKICAjIENvbXBpbGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBmdW5jdGlvbnMuCiAgbm9fYnVpbHRpbl9mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZwogIApAQCAtMTU1MSw3ICsxNTUzLDcgQEAKICAjIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWljIGxpbmtpbmcuCiAgbGlua19zdGF0aWNfZmxhZz0kbHRfbHRfcHJvZ19jb21waWxlcl9zdGF0aWMKICAKLUBAIC0xODQ3Niw5ICsxOTE4MSw2IEBAIGluaGVyaXRfcnBhdGg9JGluaGVyaXRfcnBhdGgKK0BAIC0xODQ3OSw5ICsxOTE4NCw2IEBAIGluaGVyaXRfcnBhdGg9JGluaGVyaXRfcnBhdGgKICAjIFdoZXRoZXIgbGlidG9vbCBtdXN0IGxpbmsgYSBwcm9ncmFtIGFnYWluc3QgYWxsIGl0cyBkZXBlbmRlbmN5IGxpYnJhcmllcy4KICBsaW5rX2FsbF9kZXBsaWJzPSRsaW5rX2FsbF9kZXBsaWJzCiAgCkBAIC0xNTYxLDcgKzE1NjMsNyBAQAogICMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9ydGVkIHN5bWJvbHMgYXJlIHJlcXVpcmVkLgogIGFsd2F5c19leHBvcnRfc3ltYm9scz0kYWx3YXlzX2V4cG9ydF9zeW1ib2xzCiAgCi1AQCAtMTg0OTQsNiArMTkxOTYsOSBAQCBpbmNsdWRlX2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhwc3ltcworQEAgLTE4NDk3LDYgKzE5MTk5LDkgQEAgaW5jbHVkZV9leHBzeW1zPSRsdF9pbmNsdWRlX2V4cHN5bXMKICAjIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3IgbGlua2luZyBwcm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMpIHdpdGggdGVtcGxhdGVzLgogIHByZWxpbmtfY21kcz0kbHRfcHJlbGlua19jbWRzCiAgCkBAIC0xNTcxLDcgKzE1NzMsNyBAQAogICMgU3BlY2lmeSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzLgogIGZpbGVfbGlzdF9zcGVjPSRsdF9maWxlX2xpc3Rfc3BlYwogIAotQEAgLTE4NTI2LDIxMCArMTkyMzEsMTY5IEBAIGx0bWFpbj0iJGFjX2F1eF9kaXIvbHRtYWluLnNoIgorQEAgLTE4NTI5LDIxMCArMTkyMzQsMTY5IEBAIGx0bWFpbj0iJGFjX2F1eF9kaXIvbHRtYWluLnNoIgogICAgIyBpZiBmaW5kcyBtaXhlZCBDUi9MRiBhbmQgTEYtb25seSBsaW5lcy4gIFNpbmNlIHNlZCBvcGVyYXRlcyBpbgogICAgIyB0ZXh0IG1vZGUsIGl0IHByb3Blcmx5IGNvbnZlcnRzIGxpbmVzIHRvIENSL0xGLiAgVGhpcyBiYXNoIHByb2JsZW0KICAgICMgaXMgcmVwb3J0ZWRseSBmaXhlZCwgYnV0IHdoeSBub3QgcnVuIG9uIG9sZCB2ZXJzaW9ucyB0b28/CkBAIC0xNzczLDkgKzE3NzUsMTUgQEAKIC1fTFRfRU9GCiAtICAgIDs7CiAtICBlc2FjCistCistCistICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCistICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCistCistICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CiArICBzZWQgJyRxJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCiArICAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQotIAorKwogKyAgaWYgdGVzdCB4IiR4c2lfc2hlbGwiID0geHllczsgdGhlbgogKyAgc2VkIC1lICcvXmZ1bmNfZGlybmFtZSAoKSQvLC9efSAjIGZ1bmNfZGlybmFtZSAvY1wKICtmdW5jX2Rpcm5hbWUgKClcCkBAIC0xOTMzLDE5ICsxOTQxLDE2IEBACiArICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxsIGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mNQogKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxsIGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mMjt9CiArZmkKLSAKLS0gIHNlZCAtbiAnL14jIEdlbmVyYXRlZCBzaGVsbCBmdW5jdGlvbnMgaW5zZXJ0ZWQgaGVyZS8sJHAnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKLS0gICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKLS0gIG12IC1mICIkY2ZnZmlsZSIgIiRvZmlsZSIgfHwKKysKKysKICsgICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CiAgICAgIChybSAtZiAiJG9maWxlIiAmJiBjcCAiJGNmZ2ZpbGUiICIkb2ZpbGUiICYmIHJtIC1mICIkY2ZnZmlsZSIpCiAgICBjaG1vZCAreCAiJG9maWxlIgogIAotSW5kZXg6IGdpdC9iZmQvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvYmZkL2NvbmZpZ3VyZS5hYwotKysrIGdpdC9iZmQvY29uZmlndXJlLmFjCitkaWZmIC0tZ2l0IGEvYmZkL2NvbmZpZ3VyZS5hYyBiL2JmZC9jb25maWd1cmUuYWMKK2luZGV4IGVkYTM4ZWEwODYuLjdjZGY5YzgxNDYgMTAwNjQ0CistLS0gYS9iZmQvY29uZmlndXJlLmFjCisrKysgYi9iZmQvY29uZmlndXJlLmFjCiBAQCAtMjkzLDcgKzI5Myw3IEBAIGNoYW5nZXF1b3RlKCwpZG5sCiAgICB4PWBzZWQgLW4gLWUgJ3MvXlsgCV0qUElDRkxBR1sgCV0qPVsgCV0qLy9wJyA8IC4uL2xpYmliZXJ0eS9NYWtlZmlsZSB8IHNlZCAtbiAnJHAnYAogIGNoYW5nZXF1b3RlKFssXSlkbmwKQEAgLTE5NTUsMTEgKzE5NjAsMTEgQEAKICAgIGZpCiAgCiAgIyBNb3JlIGhhY2tzIHRvIGJ1aWxkIERMTHMgb24gV2luZG93cy4KLUluZGV4OiBnaXQvYmludXRpbHMvY29uZmlndXJlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvYmludXRpbHMvY29uZmlndXJlCi0rKysgZ2l0L2JpbnV0aWxzL2NvbmZpZ3VyZQotQEAgLTY4OCw4ICs2ODgsMTEgQEAgT1RPT0wKK2RpZmYgLS1naXQgYS9iaW51dGlscy9jb25maWd1cmUgYi9iaW51dGlscy9jb25maWd1cmUKK2luZGV4IDM4MTI4ZTE0NmQuLmM3NGY3OTc5OTYgMTAwNzU1CistLS0gYS9iaW51dGlscy9jb25maWd1cmUKKysrKyBiL2JpbnV0aWxzL2NvbmZpZ3VyZQorQEAgLTY4OSw4ICs2ODksMTEgQEAgT1RPT0wKICBMSVBPCiAgTk1FRElUCiAgRFNZTVVUSUwKQEAgLTE5NzEsNyArMTk3Niw3IEBACiAgT0JKRFVNUAogIExOX1MKICBOTQotQEAgLTgwNiw2ICs4MDksNyBAQCBlbmFibGVfc3RhdGljCitAQCAtODA3LDYgKzgxMCw3IEBAIGVuYWJsZV9zdGF0aWMKICB3aXRoX3BpYwogIGVuYWJsZV9mYXN0X2luc3RhbGwKICB3aXRoX2dudV9sZApAQCAtMTk3OSw3ICsxOTg0LDcgQEAKICBlbmFibGVfbGlidG9vbF9sb2NrCiAgZW5hYmxlX3BsdWdpbnMKICBlbmFibGVfbGFyZ2VmaWxlCi1AQCAtMTQ4Miw2ICsxNDg2LDggQEAgT3B0aW9uYWwgUGFja2FnZXM6CitAQCAtMTQ4Myw2ICsxNDg3LDggQEAgT3B0aW9uYWwgUGFja2FnZXM6CiAgICAtLXdpdGgtcGljICAgICAgICAgICAgICB0cnkgdG8gdXNlIG9ubHkgUElDL25vbi1QSUMgb2JqZWN0cyBbZGVmYXVsdD11c2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdGhdCiAgICAtLXdpdGgtZ251LWxkICAgICAgICAgICBhc3N1bWUgdGhlIEMgY29tcGlsZXIgdXNlcyBHTlUgbGQgW2RlZmF1bHQ9bm9dCkBAIC0xOTg4LDcgKzE5OTMsNyBAQAogICAgLS13aXRoLXN5c3RlbS16bGliICAgICAgdXNlIGluc3RhbGxlZCBsaWJ6CiAgICAtLXdpdGgtZ251LWxkICAgICAgICAgICBhc3N1bWUgdGhlIEMgY29tcGlsZXIgdXNlcyBHTlUgbGQgZGVmYXVsdD1ubwogICAgLS13aXRoLWxpYmljb252LXByZWZpeFs9RElSXSAgc2VhcmNoIGZvciBsaWJpY29udiBpbiBESVIvaW5jbHVkZSBhbmQgRElSL2xpYgotQEAgLTU0NTMsOCArNTQ1OSw4IEBAIGVzYWMKK0BAIC01NDU3LDggKzU0NjMsOCBAQCBlc2FjCiAgCiAgCiAgCkBAIC0xOTk5LDcgKzIwMDQsNyBAQAogIAogIAogIAotQEAgLTU0OTQsNyArNTUwMCw3IEBAIEVDSE89JEVDSE8kRUNITyRFQ0hPJEVDSE8kRUNITyRFQ0hPCitAQCAtNTQ5OCw3ICs1NTA0LDcgQEAgRUNITz0kRUNITyRFQ0hPJEVDSE8kRUNITyRFQ0hPJEVDSE8KICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGhvdyB0byBwcmludCBzdHJpbmdzIiA+JjUKICAkYXNfZWNob19uICJjaGVja2luZyBob3cgdG8gcHJpbnQgc3RyaW5ncy4uLiAiID4mNjsgfQogICMgVGVzdCBwcmludCBmaXJzdCwgYmVjYXVzZSBpdCB3aWxsIGJlIGEgYnVpbHRpbiBpZiBwcmVzZW50LgpAQCAtMjAwOCw3ICsyMDEzLDcgQEAKICAgICB0ZXN0ICJYYHByaW50IC1yIC0tICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgogICAgRUNITz0ncHJpbnQgLXIgLS0nCiAgZWxpZiB0ZXN0ICJYYHByaW50ZiAlcyAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KLUBAIC02MTgwLDggKzYxODYsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1CitAQCAtNjE4NCw4ICs2MTkwLDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgc29tZSBYU0kgY29uc3RydWN0cy4uLiAiID4mNjsKICAjIFRyeSBzb21lIFhTSSBmZWF0dXJlcwogIHhzaV9zaGVsbD1ubwogICggX2x0X2R1bW15PSJhL2IvYyIKQEAgLTIwMTksNyArMjAyNCw3IEBACiAgICAgICYmIGV2YWwgJ3Rlc3QgJCgoIDEgKyAxICkpIC1lcSAyIFwKICAgICAgJiYgdGVzdCAiJHsjX2x0X2R1bW15fSIgLWVxIDUnICkgPi9kZXYvbnVsbCAyPiYxIFwKICAgICYmIHhzaV9zaGVsbD15ZXMKLUBAIC02MjMwLDYgKzYyMzYsODAgQEAgZXNhYworQEAgLTYyMzQsNiArNjI0MCw4MCBAQCBlc2FjCiAgCiAgCiAgCkBAIC0yMTAwLDcgKzIxMDUsNyBAQAogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRMRCBvcHRpb24gdG8gcmVsb2FkIG9iamVjdCBmaWxlcyIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRMRCBvcHRpb24gdG8gcmVsb2FkIG9iamVjdCBmaWxlcy4uLiAiID4mNjsgfQogIGlmICR7bHRfY3ZfbGRfcmVsb2FkX2ZsYWcrOn0gZmFsc2U7IHRoZW4gOgotQEAgLTYyNDYsNiArNjMyNiwxMSBAQCBjYXNlICRyZWxvYWRfZmxhZyBpbgorQEAgLTYyNTAsNiArNjMzMCwxMSBAQCBjYXNlICRyZWxvYWRfZmxhZyBpbgogIGVzYWMKICByZWxvYWRfY21kcz0nJExEJHJlbG9hZF9mbGFnIC1vICRvdXRwdXQkcmVsb2FkX29ianMnCiAgY2FzZSAkaG9zdF9vcyBpbgpAQCAtMjExMiw3ICsyMTE3LDcgQEAKICAgIGRhcndpbiopCiAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgICAgICAgcmVsb2FkX2NtZHM9JyRMVENDICRMVENGTEFHUyAtbm9zdGRsaWIgJHt3bH0tciAtbyAkb3V0cHV0JHJlbG9hZF9vYmpzJwotQEAgLTY0MTQsNyArNjQ5OSw4IEBAIG1pbmd3KiB8IHB3MzIqKQorQEAgLTY0MTgsNyArNjUwMyw4IEBAIG1pbmd3KiB8IHB3MzIqKQogICAgICBsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD0nZmlsZV9tYWdpYyBeeDg2IGFyY2hpdmUgaW1wb3J0fF54ODYgRExMJwogICAgICBsdF9jdl9maWxlX21hZ2ljX2NtZD0nZnVuY193aW4zMl9saWJpZCcKICAgIGVsc2UKQEAgLTIxMjIsNyArMjEyNyw3IEBACiAgICAgIGx0X2N2X2ZpbGVfbWFnaWNfY21kPSckT0JKRFVNUCAtZicKICAgIGZpCiAgICA7OwotQEAgLTY1NjgsNiArNjY1NCwyMSBAQCBlc2FjCitAQCAtNjU3Miw2ICs2NjU4LDIxIEBAIGVzYWMKICBmaQogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2QiID4mNQogICRhc19lY2hvICIkbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2QiID4mNjsgfQpAQCAtMjE0NCw3ICsyMTQ5LDcgQEAKICBmaWxlX21hZ2ljX2NtZD0kbHRfY3ZfZmlsZV9tYWdpY19jbWQKICBkZXBsaWJzX2NoZWNrX21ldGhvZD0kbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2QKICB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KLUBAIC02NTgzLDkgKzY2ODQsMTYyIEBAIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGkKK0BAIC02NTg3LDkgKzY2ODgsMTYyIEBAIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGlic19jaGVja19tZXRob2Q9dW5rbm93bgogIAogIAogIApAQCAtMjMwOSw3ICsyMzE0LDcgQEAKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CiAgaWYgJHthY19jdl9wcm9nX0FSKzp9IGZhbHNlOyB0aGVuIDoKLUBAIC02NjAxLDcgKzY4NTUsNyBAQCBkbworQEAgLTY2MDUsNyArNjg1OSw3IEBAIGRvCiAgICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgogICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgIGlmIGFzX2ZuX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KQEAgLTIzMTgsNyArMjMyMyw3IEBACiAgICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQogICAgICBicmVhayAyCiAgICBmaQotQEAgLTY2MjEsMTEgKzY4NzUsMTUgQEAgJGFzX2VjaG8gIm5vIiA+JjY7IH0KK0BAIC02NjI1LDExICs2ODc5LDE1IEBAICRhc19lY2hvICJubyIgPiY2OyB9CiAgZmkKICAKICAKQEAgLTIzMzcsNyArMjM0Miw3IEBACiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQogIGlmICR7YWNfY3ZfcHJvZ19hY19jdF9BUis6fSBmYWxzZTsgdGhlbiA6Ci1AQCAtNjY0MSw3ICs2ODk5LDcgQEAgZG8KK0BAIC02NjQ1LDcgKzY5MDMsNyBAQCBkbwogICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCkBAIC0yMzQ2LDcgKzIzNTEsNyBAQAogICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICAgYnJlYWsgMgogICAgZmkKLUBAIC02NjYwLDYgKzY5MTgsMTAgQEAgZWxzZQorQEAgLTY2NjQsNiArNjkyMiwxMCBAQCBlbHNlCiAgJGFzX2VjaG8gIm5vIiA+JjY7IH0KICBmaQogIApAQCAtMjM1Nyw3ICsyMzYyLDcgQEAKICAgIGlmIHRlc3QgIngkYWNfY3RfQVIiID0geDsgdGhlbgogICAgICBBUj0iZmFsc2UiCiAgICBlbHNlCi1AQCAtNjY3MSwxMiArNjkzMywxMCBAQCBhY190b29sX3dhcm5lZD15ZXMgOzsKK0BAIC02Njc1LDEyICs2OTM3LDEwIEBAIGFjX3Rvb2xfd2FybmVkPXllcyA7OwogIGVzYWMKICAgICAgQVI9JGFjX2N0X0FSCiAgICBmaQpAQCAtMjM3Miw3ICsyMzc3LDcgQEAKICAKICAKICAKLUBAIC02Njg4LDYgKzY5NDgsNjQgQEAgdGVzdCAteiAiJEFSX0ZMQUdTIiAmJiBBUl9GTEFHUz1jcnUKK0BAIC02NjkyLDYgKzY5NTIsNjQgQEAgdGVzdCAteiAiJEFSX0ZMQUdTIiAmJiBBUl9GTEFHUz1jcnUKICAKICAKICAKQEAgLTI0MzcsNyArMjQ0Miw3IEBACiAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgogICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fXN0cmlwIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KICBzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1zdHJpcDsgYWNfd29yZD0kMgotQEAgLTcwMjIsOCArNzM0MCw4IEBAIGVzYWMKK0BAIC03MDI2LDggKzczNDQsOCBAQCBlc2FjCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9InNlZCAtbiAtZSAncy9eVCAuKiBcKC4qXCkkL2V4dGVybiBpbnQgXDEoKTsvcCcgLWUgJ3MvXiRzeW1jb2RlKiAuKiBcKC4qXCkkL2V4dGVybiBjaGFyIFwxOy9wJyIKICAKICAjIFRyYW5zZm9ybSBhbiBleHRyYWN0ZWQgc3ltYm9sIGxpbmUgaW50byBzeW1ib2wgbmFtZSBhbmQgc3ltYm9sIGFkZHJlc3MKQEAgLTI0NDgsNyArMjQ1Myw3IEBACiAgCiAgIyBIYW5kbGUgQ1JMRiBpbiBtaW5ndyB0b29sIGNoYWluCiAgb3B0X2NyPQotQEAgLTcwNTksNiArNzM3Nyw3IEBAIGZvciBhY19zeW1wcmZ4IGluICIiICJfIjsgZG8KK0BAIC03MDYzLDYgKzczODEsNyBAQCBmb3IgYWNfc3ltcHJmeCBpbiAiIiAiXyI7IGRvCiAgICBlbHNlCiAgICAgIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9InNlZCAtbiAtZSAncy9eLipbCSBdXCgkc3ltY29kZSRzeW1jb2RlKlwpWwkgXVsJIF0qJGFjX3N5bXByZngkc3ltcGF0JG9wdF9jciQvJHN5bXhmcm0vcCciCiAgICBmaQpAQCAtMjQ1Niw3ICsyNDYxLDcgQEAKICAKICAgICMgQ2hlY2sgdG8gc2VlIHRoYXQgdGhlIHBpcGUgd29ya3MgY29ycmVjdGx5LgogICAgcGlwZV93b3Jrcz1ubwotQEAgLTcxMDAsNiArNzQxOSwxOCBAQCBfTFRfRU9GCitAQCAtNzEwNCw2ICs3NDIzLDE4IEBAIF9MVF9FT0YKICAgICAgICBpZiAkR1JFUCAnIG5tX3Rlc3RfdmFyJCcgIiRubGlzdCIgPi9kZXYvbnVsbDsgdGhlbgogIAlpZiAkR1JFUCAnIG5tX3Rlc3RfZnVuYyQnICIkbmxpc3QiID4vZGV2L251bGw7IHRoZW4KICAJICBjYXQgPDxfTFRfRU9GID4gY29uZnRlc3QuJGFjX2V4dApAQCAtMjQ3NSw3ICsyNDgwLDcgQEAKICAjaWZkZWYgX19jcGx1c3BsdXMKICBleHRlcm4gIkMiIHsKICAjZW5kaWYKLUBAIC03MTExLDcgKzc0NDIsNyBAQCBfTFRfRU9GCitAQCAtNzExNSw3ICs3NDQ2LDcgQEAgX0xUX0VPRgogIAkgIGNhdCA8PF9MVF9FT0YgPj4gY29uZnRlc3QuJGFjX2V4dAogIAogIC8qIFRoZSBtYXBwaW5nIGJldHdlZW4gc3ltYm9sIG5hbWVzIGFuZCBzeW1ib2xzLiAgKi8KQEAgLTI0ODQsNyArMjQ4OSw3IEBACiAgICBjb25zdCBjaGFyICpuYW1lOwogICAgdm9pZCAgICAgICAqYWRkcmVzczsKICB9Ci1AQCAtNzEzNyw4ICs3NDY4LDggQEAgc3RhdGljIGNvbnN0IHZvaWQgKmx0X3ByZWxvYWRlZF9zZXR1cCgpCitAQCAtNzE0MSw4ICs3NDcyLDggQEAgc3RhdGljIGNvbnN0IHZvaWQgKmx0X3ByZWxvYWRlZF9zZXR1cCgpIHsKICBfTFRfRU9GCiAgCSAgIyBOb3cgdHJ5IGxpbmtpbmcgdGhlIHR3byBmaWxlcy4KICAJICBtdiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0c3RtLiRhY19vYmpleHQKQEAgLTI0OTUsNyArMjUwMCw3IEBACiAgCSAgTElCUz0iY29uZnRzdG0uJGFjX29iamV4dCIKICAJICBDRkxBR1M9IiRDRkxBR1MkbHRfcHJvZ19jb21waWxlcl9ub19idWlsdGluX2ZsYWciCiAgCSAgaWYgeyB7IGV2YWwgZWNobyAiXCJcJGFzX21lXCI6JHthc19saW5lbm8tJExJTkVOT306IFwiJGFjX2xpbmtcIiI7IH0gPiY1Ci1AQCAtNzE0OCw4ICs3NDc5LDggQEAgX0xUX0VPRgorQEAgLTcxNTIsOCArNzQ4Myw4IEBAIF9MVF9FT0YKICAgIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgogIAkgICAgcGlwZV93b3Jrcz15ZXMKICAJICBmaQpAQCAtMjUwNiw3ICsyNTExLDcgQEAKICAJZWxzZQogIAkgIGVjaG8gImNhbm5vdCBmaW5kIG5tX3Rlc3RfZnVuYyBpbiAkbmxpc3QiID4mNQogIAlmaQotQEAgLTcxODYsNiArNzUxNywxOCBAQCBlbHNlCitAQCAtNzE5MCw2ICs3NTIxLDIxIEBAIGVsc2UKICAkYXNfZWNobyAib2siID4mNjsgfQogIGZpCiAgCkBAIC0yNTIyLDEzICsyNTI3LDE4IEBACiArCiArCiArCisrCisrCisrCiAgCiAgCiAgCi1AQCAtNzIwNyw2ICs3NTUwLDQzIEBAIGZpCitAQCAtNzIwNiw2ICs3NTUyLDQwIEBAIGZpCiAgCiAgCiAgCisrCisrCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igc3lzcm9vdCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHN5c3Jvb3QuLi4gIiA+JjY7IH0KICsKQEAgLTI1NjEsMTUgKzI1NzEsMTAgQEAKICsKICsgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICR7bHRfc3lzcm9vdDotbm99IiA+JjUKICskYXNfZWNobyAiJHtsdF9zeXNyb290Oi1ub30iID4mNjsgfQotKwotKwotKwotKwotKwotICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1saWJ0b29sLWxvY2sgd2FzIGdpdmVuLgotIGlmIHRlc3QgIiR7ZW5hYmxlX2xpYnRvb2xfbG9jaytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICBlbmFibGV2YWw9JGVuYWJsZV9saWJ0b29sX2xvY2s7Ci1AQCAtNzQxMyw2ICs3NzkzLDEyMyBAQCBlc2FjCisgCisgCisgCitAQCAtNzQxNyw2ICs3Nzk3LDEyMyBAQCBlc2FjCiAgCiAgbmVlZF9sb2Nrcz0iJGVuYWJsZV9saWJ0b29sX2xvY2siCiAgCkBAIC0yNjkzLDcgKzI2OTgsNyBAQAogIAogICAgY2FzZSAkaG9zdF9vcyBpbgogICAgICByaGFwc29keSogfCBkYXJ3aW4qKQotQEAgLTc5NzYsNiArODQ3Myw4IEBAIF9MVF9FT0YKK0BAIC03OTgwLDYgKzg0NzcsOCBAQCBfTFRfRU9GCiAgICAgICAgJExUQ0MgJExUQ0ZMQUdTIC1jIC1vIGNvbmZ0ZXN0Lm8gY29uZnRlc3QuYyAyPiY1CiAgICAgICAgZWNobyAiJEFSIGNydSBsaWJjb25mdGVzdC5hIGNvbmZ0ZXN0Lm8iID4mNQogICAgICAgICRBUiBjcnUgbGliY29uZnRlc3QuYSBjb25mdGVzdC5vIDI+JjUKQEAgLTI3MDIsNyArMjcwNyw3IEBACiAgICAgICAgY2F0ID4gY29uZnRlc3QuYyA8PCBfTFRfRU9GCiAgaW50IG1haW4oKSB7IHJldHVybiAwO30KICBfTFRfRU9GCi1AQCAtODE3MSw3ICs4NjcwLDggQEAgZmkKK0BAIC04MTc1LDcgKzg2NzQsOCBAQCBmaQogIExJQlRPT0xfREVQUz0iJGx0bWFpbiIKICAKICAjIEFsd2F5cyB1c2Ugb3VyIG93biBsaWJ0b29sLgpAQCAtMjcxMiw3ICsyNzE3LDcgQEAKICAKICAKICAKLUBAIC04MjYwLDcgKzg3NjAsNyBAQCBhaXgzKikKK0BAIC04MjY0LDcgKzg3NjQsNyBAQCBhaXgzKikKICBlc2FjCiAgCiAgIyBHbG9iYWwgdmFyaWFibGVzOgpAQCAtMjcyMSw3ICsyNzI2LDcgQEAKICBjYW5fYnVpbGRfc2hhcmVkPXllcwogIAogICMgQWxsIGtub3duIGxpbmtlcnMgcmVxdWlyZSBhIGAuYScgYXJjaGl2ZSBmb3Igc3RhdGljIGxpbmtpbmcgKGV4Y2VwdCBNU1ZDLAotQEAgLTg1NTgsOCArOTA1OCw2IEBAIGZpCitAQCAtODU2Miw4ICs5MDYyLDYgQEAgZmkKICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0KICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0KICAKQEAgLTI3MzAsNyArMjczNSw3IEBACiAgCiAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogICAgICBsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJwotQEAgLTg3MjUsNiArOTIyMywxMiBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtODcyOSw2ICs5MjI3LDEyIEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW9uIHRvIHByb2R1Y2UgUElDLi4uICIgPiY2OyB9CiAgCWx0X3Byb2dfY29tcGlsZXJfcGljPSctLXNoYXJlZCcKICAJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy0tc3RhdGljJwogIAk7OwpAQCAtMjc0Myw3ICsyNzQ4LDcgQEAKICAgICAgICBwZ2NjKiB8IHBnZjc3KiB8IHBnZjkwKiB8IHBnZjk1KiB8IHBnZm9ydHJhbiopCiAgICAgICAgICAjIFBvcnRsYW5kIEdyb3VwIGNvbXBpbGVycyAoKm5vdCogdGhlIFBlbnRpdW0gZ2NjIGNvbXBpbGVyLAogIAkjIHdoaWNoIGxvb2tzIHRvIGJlIGEgZGVhZCBwcm9qZWN0KQotQEAgLTg3ODcsNyArOTI5MSw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC04NzkxLDcgKzkyOTUsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctS1BJQycKICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLUJzdGF0aWMnCiAgICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KQEAgLTI3NTIsNyArMjc1Nyw3IEBACiAgCWx0X3Byb2dfY29tcGlsZXJfd2w9Jy1Rb3B0aW9uIGxkICc7OwogICAgICAgICopCiAgCWx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnOzsKLUBAIC04ODQ0LDEzICs5MzQ4LDE3IEBAIGNhc2UgJGhvc3Rfb3MgaW4KK0BAIC04ODQ4LDEzICs5MzUyLDE3IEBAIGNhc2UgJGhvc3Rfb3MgaW4KICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9IiRsdF9wcm9nX2NvbXBpbGVyX3BpYyAtRFBJQyIKICAgICAgOzsKICBlc2FjCkBAIC0yNzc2LDcgKzI3ODEsNyBAQAogIAogICMKICAjIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgUElDIGZsYWcgYWN0dWFsbHkgd29ya3MuCi1AQCAtODkxMSw2ICs5NDE5LDExIEBAIGZpCitAQCAtODkxNSw2ICs5NDIzLDExIEBAIGZpCiAgCiAgCiAgCkBAIC0yNzg4LDcgKzI3OTMsNyBAQAogICMKICAjIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgc3RhdGljIGZsYWcgYWN0dWFsbHkgd29ya3MuCiAgIwotQEAgLTkyNjEsNyArOTc3NCw4IEBAIF9MVF9FT0YKK0BAIC05MjY1LDcgKzk3NzgsOCBAQCBfTFRfRU9GCiAgICAgICAgYWxsb3dfdW5kZWZpbmVkX2ZsYWc9dW5zdXBwb3J0ZWQKICAgICAgICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9bm8KICAgICAgICBlbmFibGVfc2hhcmVkX3dpdGhfc3RhdGljX3J1bnRpbWVzPXllcwpAQCAtMjc5OCw3ICsyODAzLDcgQEAKICAKICAgICAgICBpZiAkTEQgLS1oZWxwIDI+JjEgfCAkR1JFUCAnYXV0by1pbXBvcnQnID4gL2Rldi9udWxsOyB0aGVuCiAgICAgICAgICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICR7d2x9LS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0tb3V0LWltcGxpYiAtWGxpbmtlciAkbGliJwotQEAgLTkzNjAsMTIgKzk4NzQsMTIgQEAgX0xUX0VPRgorQEAgLTkzNjQsMTIgKzk4NzgsMTIgQEAgX0xUX0VPRgogIAkgIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSctLXdob2xlLWFyY2hpdmUkY29udmVuaWVuY2UgLS1uby13aG9sZS1hcmNoaXZlJwogIAkgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9CiAgCSAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19sZD0nLXJwYXRoICRsaWJkaXInCkBAIC0yODEzLDcgKzI4MTgsNyBAQAogIAkgIGZpCiAgCSAgOzsKICAJZXNhYwotQEAgLTkzNzksOCArOTg5Myw4IEBAIF9MVF9FT0YKK0BAIC05MzgzLDggKzk4OTcsOCBAQCBfTFRfRU9GCiAgCWFyY2hpdmVfY21kcz0nJExEIC1Cc2hhcmVhYmxlICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3MgLW8gJGxpYicKICAJd2xhcmM9CiAgICAgICAgZWxzZQpAQCAtMjgyNCw3ICsyODI5LDcgQEAKICAgICAgICBmaQogICAgICAgIDs7CiAgCi1AQCAtOTM5OCw4ICs5OTEyLDggQEAgX0xUX0VPRgorQEAgLTk0MDIsOCArOTkxNiw4IEBAIF9MVF9FT0YKICAKICBfTFRfRU9GCiAgICAgICAgZWxpZiAkTEQgLS1oZWxwIDI+JjEgfCAkR1JFUCAnOiBzdXBwb3J0ZWQgdGFyZ2V0czouKiBlbGYnID4gL2Rldi9udWxsOyB0aGVuCkBAIC0yODM1LDcgKzI4NDAsNyBAQAogICAgICAgIGVsc2UKICAJbGRfc2hsaWJzPW5vCiAgICAgICAgZmkKLUBAIC05NDQ1LDggKzk5NTksOCBAQCBfTFRfRU9GCitAQCAtOTQ0OSw4ICs5OTYzLDggQEAgX0xUX0VPRgogIAogICAgICAqKQogICAgICAgIGlmICRMRCAtLWhlbHAgMj4mMSB8ICRHUkVQICc6IHN1cHBvcnRlZCB0YXJnZXRzOi4qIGVsZicgPiAvZGV2L251bGw7IHRoZW4KQEAgLTI4NDYsNyArMjg1MSw3IEBACiAgICAgICAgZWxzZQogIAlsZF9zaGxpYnM9bm8KICAgICAgICBmaQotQEAgLTk1NzYsNyArMTAwOTAsMTMgQEAgX0xUX0VPRgorQEAgLTk1ODAsNyArMTAwOTQsMTMgQEAgX0xUX0VPRgogIAlhbGxvd191bmRlZmluZWRfZmxhZz0nLWJlcm9rJwogICAgICAgICAgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuCiAgICAgICAgICAjIGVtcHR5IGV4ZWN1dGFibGUuCkBAIC0yODYxLDcgKzI4NjYsNyBAQAogIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KICAKICBpbnQKLUBAIC05NTg5LDIyICsxMDEwOSwyOSBAQCBtYWluICgpCitAQCAtOTU5MywyMiArMTAxMTMsMjkgQEAgbWFpbiAoKQogIF9BQ0VPRgogIGlmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKICAKQEAgLTI5MDQsNyArMjkwOSw3IEBACiAgCiAgICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogICAgICAgICAgYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJyJcJHt3bH0kbm9fZW50cnlfZmxhZyInICRjb21waWxlcl9mbGFncyBgaWYgdGVzdCAieCR7YWxsb3dfdW5kZWZpbmVkX2ZsYWd9IiAhPSAieCI7IHRoZW4gZnVuY19lY2hvX2FsbCAiJHt3bH0ke2FsbG93X3VuZGVmaW5lZF9mbGFnfSI7IGVsc2UgOjsgZmlgICciXCR7d2x9JGV4cF9zeW1fZmxhZzpcJGV4cG9ydF9zeW1ib2xzICRzaGFyZWRfZmxhZyIKLUBAIC05NjE2LDcgKzEwMTQzLDEzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NjIwLDcgKzEwMTQ3LDEzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAllbHNlCiAgCSAjIERldGVybWluZSB0aGUgZGVmYXVsdCBsaWJwYXRoIGZyb20gdGhlIHZhbHVlIGVuY29kZWQgaW4gYW4KICAJICMgZW1wdHkgZXhlY3V0YWJsZS4KQEAgLTI5MTksNyArMjkyNCw3IEBACiAgLyogZW5kIGNvbmZkZWZzLmguICAqLwogIAogIGludAotQEAgLTk2MjksMjIgKzEwMTYyLDI5IEBAIG1haW4gKCkKK0BAIC05NjMzLDIyICsxMDE2NiwyOSBAQCBtYWluICgpCiAgX0FDRU9GCiAgaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgogIApAQCAtMjk2Miw3ICsyOTY3LDcgQEAKICAKICAJIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgCSAgIyBXYXJuaW5nIC0gd2l0aG91dCB1c2luZyB0aGUgb3RoZXIgcnVuIHRpbWUgbG9hZGluZyBmbGFncywKLUBAIC05Njg5LDIwICsxMDIyOSw2MyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTY5MywyMCArMTAyMzMsNjMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgICAgICAgIyBNaWNyb3NvZnQgVmlzdWFsIEMrKy4KICAgICAgICAjIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgaXMgYWN0dWFsbHkgbWVhbmluZ2xlc3MsIGFzIHRoZXJlIGlzCiAgICAgICAgIyBubyBzZWFyY2ggcGF0aCBmb3IgRExMcy4KQEAgLTMwNDAsNyArMzA0NSw3IEBACiAgICAgICAgOzsKICAKICAgICAgZGFyd2luKiB8IHJoYXBzb2R5KikKLUBAIC05NzYzLDcgKzEwMzQ2LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk3NjcsNyArMTAzNTAsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgIyBGcmVlQlNEIDMgYW5kIGdyZWF0ZXIgdXNlcyBnY2MgLXNoYXJlZCB0byBkbyBzaGFyZWQgbGlicmFyaWVzLgogICAgICBmcmVlYnNkKiB8IGRyYWdvbmZseSopCkBAIC0zMDQ5LDcgKzMwNTQsNyBAQAogICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1SJGxpYmRpcicKICAgICAgICBoYXJkY29kZV9kaXJlY3Q9eWVzCiAgICAgICAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj1ubwotQEAgLTk3NzEsNyArMTAzNTQsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTc3NSw3ICsxMDM1OCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICBocHV4OSopCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KQEAgLTMwNTgsNyArMzA2Myw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci8kc29uYW1lfiRMRCAtYiArYiAkaW5zdGFsbF9saWJkaXIgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzfnRlc3QgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSA9ICRsaWIgfHwgbXYgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGliJwogICAgICAgIGZpCi1AQCAtOTc4Nyw3ICsxMDM3MCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NzkxLDcgKzEwMzc0LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgIGhwdXgxMCopCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXMgJiYgdGVzdCAiJHdpdGhfZ251X2xkIiA9IG5vOyB0aGVuCkBAIC0zMDY3LDcgKzMwNzIsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckTEQgLWIgK2ggJHNvbmFtZSArYiAkaW5zdGFsbF9saWJkaXIgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzJwogICAgICAgIGZpCi1AQCAtOTgxMSwxMCArMTAzOTQsMTAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk4MTUsMTAgKzEwMzk4LDEwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAkgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJHt3bH0raCAke3dsfSRzb25hbWUgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCiAgCSAgOzsKICAJaWE2NCopCkBAIC0zMDgwLDcgKzMwODUsNyBAQAogIAkgIDs7CiAgCWVzYWMKICAgICAgICBlbHNlCi1AQCAtOTg5MywyMyArMTA0NzYsMzYgQEAgZmkKK0BAIC05ODk3LDIzICsxMDQ4MCwzNiBAQCBmaQogIAogICAgICBpcml4NSogfCBpcml4NiogfCBub25zdG9wdXgqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCkBAIC0zMTI1LDcgKzMxMzAsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLXNvbmFtZSAkc29uYW1lIGB0ZXN0IC1uICIkdmVyc3RyaW5nIiAmJiBmdW5jX2VjaG9fYWxsICItc2V0X3ZlcnNpb24gJHZlcnN0cmluZyJgIC11cGRhdGVfcmVnaXN0cnkgJHtvdXRwdXRfb2JqZGlyfS9zb19sb2NhdGlvbnMgLW8gJGxpYicKICAJYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1leHBvcnRzX2ZpbGUgJGV4cG9ydF9zeW1ib2xzIC1vICRsaWInCi1AQCAtOTk5NCw3ICsxMDU5MCw3IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmoKK0BAIC05OTk4LDcgKzEwNTk0LDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgIG9zZjQqIHwgb3NmNSopCSMgYXMgb3NmMyogd2l0aCB0aGUgYWRkaXRpb24gb2YgLW1zeW0gZmxhZwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgJHt3bH0tZXhwZWN0X3VucmVzb2x2ZWQgJHt3bH1cKicKQEAgLTMxMzQsNyArMzEzOSw3IEBACiAgCWhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoICR7d2x9JGxpYmRpcicKICAgICAgICBlbHNlCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgLWV4cGVjdF91bnJlc29sdmVkIFwqJwotQEAgLTEwMDEzLDkgKzEwNjA5LDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iagorQEAgLTEwMDE3LDkgKzEwNjEzLDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgICAgbm9fdW5kZWZpbmVkX2ZsYWc9JyAteiBkZWZzJwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCXdsYXJjPScke3dsfScKQEAgLTMxNDYsNyArMzE1MSw3IEBACiAgICAgICAgZWxzZQogIAljYXNlIGAkQ0MgLVYgMj4mMWAgaW4KICAJKiJDb21waWxlcnMgNS4wIiopCi1AQCAtMTA1OTEsOCArMTExODcsOSBAQCBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCitAQCAtMTA1OTUsOCArMTExOTEsOSBAQCBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgICBuZWVkX3ZlcnNpb249bm8KICAgIG5lZWRfbGliX3ByZWZpeD1ubwogIApAQCAtMzE1OCw3ICszMTYzLDcgQEAKICAgICAgbGlicmFyeV9uYW1lc19zcGVjPSckbGlibmFtZS5kbGwuYScKICAgICAgIyBETEwgaXMgaW5zdGFsbGVkIHRvICQobGliZGlyKS8uLi9iaW4gYnkgcG9zdGluc3RhbGxfY21kcwogICAgICBwb3N0aW5zdGFsbF9jbWRzPSdiYXNlX2ZpbGU9YGJhc2VuYW1lIFwke2ZpbGV9YH4KLUBAIC0xMDYyNSwxMyArMTEyMjIsNzEgQEAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQorQEAgLTEwNjI5LDEzICsxMTIyNiw3MSBAQCBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgICAgICAgbGlicmFyeV9uYW1lc19zcGVjPSdgZWNobyAke2xpYm5hbWV9IHwgc2VkIC1lICdzL15saWIvcHcvJ2BgZWNobyAke3JlbGVhc2V9IHwgJFNFRCAtZSAncy9bLl0vLS9nJ2Ake3ZlcnN1ZmZpeH0ke3NoYXJlZF9leHR9JwogICAgICAgIDs7CiAgICAgIGVzYWMKQEAgLTMyMzEsNyArMzIzNiw3IEBACiAgICAjIEZJWE1FOiBmaXJzdCB3ZSBzaG91bGQgc2VhcmNoIC4gYW5kIHRoZSBkaXJlY3RvcnkgdGhlIGV4ZWN1dGFibGUgaXMgaW4KICAgIHNobGlicGF0aF92YXI9UEFUSAogICAgOzsKLUBAIC0xMDcyMyw3ICsxMTM3OCw3IEBAIGhhaWt1KikKK0BAIC0xMDcyNyw3ICsxMTM4Miw3IEBAIGhhaWt1KikKICAgIHNvbmFtZV9zcGVjPScke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kbWFqb3InCiAgICBzaGxpYnBhdGhfdmFyPUxJQlJBUllfUEFUSAogICAgc2hsaWJwYXRoX292ZXJyaWRlc19ydW5wYXRoPXllcwpAQCAtMzI0MCwxNiArMzI0NSwxNiBAQAogICAgaGFyZGNvZGVfaW50b19saWJzPXllcwogICAgOzsKICAKLUBAIC0xMTUxOSw3ICsxMjE3NCw3IEBAIGVsc2UKK0BAIC0xMTUyMyw3ICsxMjE3OCw3IEBAIGVsc2UKICAgIGx0X2RsdW5rbm93bj0wOyBsdF9kbG5vX3VzY29yZT0xOyBsdF9kbG5lZWRfdXNjb3JlPTIKICAgIGx0X3N0YXR1cz0kbHRfZGx1bmtub3duCiAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotLSNsaW5lIDExNTIyICJjb25maWd1cmUiCistI2xpbmUgMTE1MjYgImNvbmZpZ3VyZSIKICsjbGluZSAkTElORU5PICJjb25maWd1cmUiCiAgI2luY2x1ZGUgImNvbmZkZWZzLmgiCiAgCiAgI2lmIEhBVkVfRExGQ05fSAotQEAgLTExNTYzLDEwICsxMjIxOCwxMCBAQCBlbHNlCitAQCAtMTE1NjcsMTAgKzEyMjIyLDEwIEBAIGVsc2UKICAvKiBXaGVuIC1mdmlzYmlsaXR5PWhpZGRlbiBpcyB1c2VkLCBhc3N1bWUgdGhlIGNvZGUgaGFzIGJlZW4gYW5ub3RhdGVkCiAgICAgY29ycmVzcG9uZGluZ2x5IGZvciB0aGUgc3ltYm9scyBuZWVkZWQuICAqLwogICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAoKChfX0dOVUNfXyA9PSAzKSAmJiAoX19HTlVDX01JTk9SX18gPj0gMykpIHx8IChfX0dOVUNfXyA+IDMpKQpAQCAtMzI2MiwxNiArMzI2NywxNiBAQAogIGludCBtYWluICgpCiAgewogICAgdm9pZCAqc2VsZiA9IGRsb3BlbiAoMCwgTFRfRExHTE9CQUx8TFRfRExMQVpZX09SX05PVyk7Ci1AQCAtMTE2MjUsNyArMTIyODAsNyBAQCBlbHNlCitAQCAtMTE2MjksNyArMTIyODQsNyBAQCBlbHNlCiAgICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCiAgICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgogICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PF9MVF9FT0YKLS0jbGluZSAxMTYyOCAiY29uZmlndXJlIgorLSNsaW5lIDExNjMyICJjb25maWd1cmUiCiArI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgogICNpbmNsdWRlICJjb25mZGVmcy5oIgogIAogICNpZiBIQVZFX0RMRkNOX0gKLUBAIC0xMTY2OSwxMCArMTIzMjQsMTAgQEAgZWxzZQorQEAgLTExNjczLDEwICsxMjMyOCwxMCBAQCBlbHNlCiAgLyogV2hlbiAtZnZpc2JpbGl0eT1oaWRkZW4gaXMgdXNlZCwgYXNzdW1lIHRoZSBjb2RlIGhhcyBiZWVuIGFubm90YXRlZAogICAgIGNvcnJlc3BvbmRpbmdseSBmb3IgdGhlIHN5bWJvbHMgbmVlZGVkLiAgKi8KICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKCgoX19HTlVDX18gPT0gMykgJiYgKF9fR05VQ19NSU5PUl9fID49IDMpKSB8fCAoX19HTlVDX18gPiAzKSkKQEAgLTMyODQsNyArMzI4OSw3IEBACiAgaW50IG1haW4gKCkKICB7CiAgICB2b2lkICpzZWxmID0gZGxvcGVuICgwLCBMVF9ETEdMT0JBTHxMVF9ETExBWllfT1JfTk9XKTsKLUBAIC0xNTczMSwxMyArMTYzODYsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5XworQEAgLTE1OTM2LDEzICsxNjU5MSwyMCBAQCBleGVleHQ9J2AkRUNITyAiJGV4ZWV4dCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfdW5zZXQ9J2AkRUNITyAiJGx0X3Vuc2V0IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9TUDJOTD0nYCRFQ0hPICIkbHRfU1AyTkwiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X05MMlNQPSdgJEVDSE8gIiRsdF9OTDJTUCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0zMzA1LDcgKzMzMTAsNyBAQAogIFNUUklQPSdgJEVDSE8gIiRTVFJJUCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgUkFOTElCPSdgJEVDSE8gIiRSQU5MSUIiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG9sZF9wb3N0aW5zdGFsbF9jbWRzPSdgJEVDSE8gIiRvbGRfcG9zdGluc3RhbGxfY21kcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTU3NTIsMTQgKzE2NDE0LDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGwKK0BAIC0xNTk1NywxNCArMTY2MTksMTcgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSIgfCAkU0VEICIkZGUKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0zMzI0LDcgKzMzMjksNyBAQAogIERTWU1VVElMPSdgJEVDSE8gIiREU1lNVVRJTCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgTk1FRElUPSdgJEVDSE8gIiROTUVESVQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIExJUE89J2AkRUNITyAiJExJUE8iIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTE1NzkyLDEyICsxNjQ1NywxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSdgJEVDSE8gIiRoYXJkY29kCitAQCAtMTU5OTcsMTIgKzE2NjYyLDEyIEBAIGhhcmRjb2RlX3NobGlicGF0aF92YXI9J2AkRUNITyAiJGhhcmRjb2RlX3NobGlicGF0aF92YXIiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xCiAgaGFyZGNvZGVfYXV0b21hdGljPSdgJEVDSE8gIiRoYXJkY29kZV9hdXRvbWF0aWMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGluaGVyaXRfcnBhdGg9J2AkRUNITyAiJGluaGVyaXRfcnBhdGgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGxpbmtfYWxsX2RlcGxpYnM9J2AkRUNITyAiJGxpbmtfYWxsX2RlcGxpYnMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMzMzOCw3ICszMzQzLDcgQEAKICBmaWxlX2xpc3Rfc3BlYz0nYCRFQ0hPICIkZmlsZV9saXN0X3NwZWMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIHZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rPSdgJEVDSE8gIiR2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluayIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbmVlZF9saWJfcHJlZml4PSdgJEVDSE8gIiRuZWVkX2xpYl9wcmVmaXgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTE1ODUyLDggKzE2NTE3LDEzIEBAIHJlbG9hZF9mbGFnIFwKK0BAIC0xNjA1Nyw4ICsxNjcyMiwxMyBAQCByZWxvYWRfZmxhZyBcCiAgT0JKRFVNUCBcCiAgZGVwbGlic19jaGVja19tZXRob2QgXAogIGZpbGVfbWFnaWNfY21kIFwKQEAgLTMzNTIsNyArMzM1Nyw3IEBACiAgU1RSSVAgXAogIFJBTkxJQiBcCiAgQ0MgXAotQEAgLTE1ODYzLDEyICsxNjUzMywxNCBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIFwKK0BAIC0xNjA2OCwxMiArMTY3MzgsMTQgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSBcCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wgXAogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzIFwKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4IFwKQEAgLTMzNjgsNyArMzM3Myw3IEBACiAgRFNZTVVUSUwgXAogIE5NRURJVCBcCiAgTElQTyBcCi1AQCAtMTU4ODQsNyArMTY1NTYsNiBAQCBub191bmRlZmluZWRfZmxhZyBcCitAQCAtMTYwODksNyArMTY3NjEsNiBAQCBub191bmRlZmluZWRfZmxhZyBcCiAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyBcCiAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19sZCBcCiAgaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciBcCkBAIC0zMzc2LDcgKzMzODEsNyBAQAogIGV4Y2x1ZGVfZXhwc3ltcyBcCiAgaW5jbHVkZV9leHBzeW1zIFwKICBmaWxlX2xpc3Rfc3BlYyBcCi1AQCAtMTU5MjAsNiArMTY1OTEsNyBAQCBtb2R1bGVfY21kcyBcCitAQCAtMTYxMjUsNiArMTY3OTYsNyBAQCBtb2R1bGVfY21kcyBcCiAgbW9kdWxlX2V4cHN5bV9jbWRzIFwKICBleHBvcnRfc3ltYm9sc19jbWRzIFwKICBwcmVsaW5rX2NtZHMgXApAQCAtMzM4NCw3ICszMzg5LDcgQEAKICBwb3N0aW5zdGFsbF9jbWRzIFwKICBwb3N0dW5pbnN0YWxsX2NtZHMgXAogIGZpbmlzaF9jbWRzIFwKLUBAIC0xNjY4Niw3ICsxNzM1OCw4IEBAICRhc19lY2hvIFgiJGZpbGUiIHwKK0BAIC0xNjg5MSw3ICsxNzU2Myw4IEBAICRhc19lY2hvIFgiJGZpbGUiIHwKICAjIE5PVEU6IENoYW5nZXMgbWFkZSB0byB0aGlzIGZpbGUgd2lsbCBiZSBsb3N0OiBsb29rIGF0IGx0bWFpbi5zaC4KICAjCiAgIyAgIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMywgMjAwNCwgMjAwNSwKQEAgLTMzOTQsNyArMzM5OSw3IEBACiAgIyAgIFdyaXR0ZW4gYnkgR29yZG9uIE1hdHppZ2tlaXQsIDE5OTYKICAjCiAgIyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBMaWJ0b29sLgotQEAgLTE2Nzg5LDE5ICsxNzQ2Miw0MiBAQCBTUDJOTD0kbHRfbHRfU1AyTkwKK0BAIC0xNjk5NCwxOSArMTc2NjcsNDIgQEAgU1AyTkw9JGx0X2x0X1NQMk5MCiAgIyB0dXJuIG5ld2xpbmVzIGludG8gc3BhY2VzLgogIE5MMlNQPSRsdF9sdF9OTDJTUAogIApAQCAtMzQzOCw3ICszNDQzLDcgQEAKICAjIEEgc3ltYm9sIHN0cmlwcGluZyBwcm9ncmFtLgogIFNUUklQPSRsdF9TVFJJUAogIAotQEAgLTE2ODMxLDYgKzE3NTI3LDEyIEBAIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9JGx0X2x0X2MKK0BAIC0xNzAzNiw2ICsxNzczMiwxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcwogICMgVHJhbnNmb3JtIHRoZSBvdXRwdXQgb2Ygbm0gaW4gYSBDIG5hbWUgYWRkcmVzcyBwYWlyIHdoZW4gbGliIHByZWZpeCBpcyBuZWVkZWQuCiAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4CiAgCkBAIC0zNDUxLDcgKzM0NTYsNyBAQAogICMgVGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIHRlbXBvcmFyeSBsaWJ0b29sIGZpbGVzLgogIG9iamRpcj0kb2JqZGlyCiAgCi1AQCAtMTY4NDAsNiArMTc1NDIsOSBAQCBNQUdJQ19DTUQ9JE1BR0lDX0NNRAorQEAgLTE3MDQ1LDYgKzE3NzQ3LDkgQEAgTUFHSUNfQ01EPSRNQUdJQ19DTUQKICAjIE11c3Qgd2UgbG9jayBmaWxlcyB3aGVuIGRvaW5nIGNvbXBpbGF0aW9uPwogIG5lZWRfbG9ja3M9JGx0X25lZWRfbG9ja3MKICAKQEAgLTM0NjEsNyArMzQ2Niw3IEBACiAgIyBUb29sIHRvIG1hbmlwdWxhdGUgYXJjaGl2ZWQgRFdBUkYgZGVidWcgc3ltYm9sIGZpbGVzIG9uIE1hYyBPUyBYLgogIERTWU1VVElMPSRsdF9EU1lNVVRJTAogIAotQEAgLTE2OTU0LDEyICsxNzY1OSwxMiBAQCB3aXRoX2djYz0kR0NDCitAQCAtMTcxNTksMTIgKzE3ODY0LDEyIEBAIHdpdGhfZ2NjPSRHQ0MKICAjIENvbXBpbGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBmdW5jdGlvbnMuCiAgbm9fYnVpbHRpbl9mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZwogIApAQCAtMzQ3Nyw3ICszNDgyLDcgQEAKICAjIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWljIGxpbmtpbmcuCiAgbGlua19zdGF0aWNfZmxhZz0kbHRfbHRfcHJvZ19jb21waWxlcl9zdGF0aWMKICAKLUBAIC0xNzA0Niw5ICsxNzc1MSw2IEBAIGluaGVyaXRfcnBhdGg9JGluaGVyaXRfcnBhdGgKK0BAIC0xNzI1MSw5ICsxNzk1Niw2IEBAIGluaGVyaXRfcnBhdGg9JGluaGVyaXRfcnBhdGgKICAjIFdoZXRoZXIgbGlidG9vbCBtdXN0IGxpbmsgYSBwcm9ncmFtIGFnYWluc3QgYWxsIGl0cyBkZXBlbmRlbmN5IGxpYnJhcmllcy4KICBsaW5rX2FsbF9kZXBsaWJzPSRsaW5rX2FsbF9kZXBsaWJzCiAgCkBAIC0zNDg3LDcgKzM0OTIsNyBAQAogICMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9ydGVkIHN5bWJvbHMgYXJlIHJlcXVpcmVkLgogIGFsd2F5c19leHBvcnRfc3ltYm9scz0kYWx3YXlzX2V4cG9ydF9zeW1ib2xzCiAgCi1AQCAtMTcwNjQsNiArMTc3NjYsOSBAQCBpbmNsdWRlX2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhwc3ltcworQEAgLTE3MjY5LDYgKzE3OTcxLDkgQEAgaW5jbHVkZV9leHBzeW1zPSRsdF9pbmNsdWRlX2V4cHN5bXMKICAjIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3IgbGlua2luZyBwcm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMpIHdpdGggdGVtcGxhdGVzLgogIHByZWxpbmtfY21kcz0kbHRfcHJlbGlua19jbWRzCiAgCkBAIC0zNDk3LDcgKzM1MDIsNyBAQAogICMgU3BlY2lmeSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzLgogIGZpbGVfbGlzdF9zcGVjPSRsdF9maWxlX2xpc3Rfc3BlYwogIAotQEAgLTE3MDk2LDIxMCArMTc4MDEsMTY5IEBAIGx0bWFpbj0iJGFjX2F1eF9kaXIvbHRtYWluLnNoIgorQEAgLTE3MzAxLDIxMCArMTgwMDYsMTY5IEBAIGx0bWFpbj0iJGFjX2F1eF9kaXIvbHRtYWluLnNoIgogICAgIyBpZiBmaW5kcyBtaXhlZCBDUi9MRiBhbmQgTEYtb25seSBsaW5lcy4gIFNpbmNlIHNlZCBvcGVyYXRlcyBpbgogICAgIyB0ZXh0IG1vZGUsIGl0IHByb3Blcmx5IGNvbnZlcnRzIGxpbmVzIHRvIENSL0xGLiAgVGhpcyBiYXNoIHByb2JsZW0KICAgICMgaXMgcmVwb3J0ZWRseSBmaXhlZCwgYnV0IHdoeSBub3QgcnVuIG9uIG9sZCB2ZXJzaW9ucyB0b28/CkBAIC0zNjk5LDkgKzM3MDQsMTUgQEAKIC1fTFRfRU9GCiAtICAgIDs7CiAtICBlc2FjCistCistCistICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCistICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCistCistICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CiArICBzZWQgJyRxJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCiArICAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQotIAorKwogKyAgaWYgdGVzdCB4IiR4c2lfc2hlbGwiID0geHllczsgdGhlbgogKyAgc2VkIC1lICcvXmZ1bmNfZGlybmFtZSAoKSQvLC9efSAjIGZ1bmNfZGlybmFtZSAvY1wKICtmdW5jX2Rpcm5hbWUgKClcCkBAIC0zODU5LDE5ICszODcwLDE2IEBACiArICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxsIGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mNQogKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxsIGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mMjt9CiArZmkKLSAKLS0gIHNlZCAtbiAnL14jIEdlbmVyYXRlZCBzaGVsbCBmdW5jdGlvbnMgaW5zZXJ0ZWQgaGVyZS8sJHAnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKLS0gICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKLS0gIG12IC1mICIkY2ZnZmlsZSIgIiRvZmlsZSIgfHwKKysKKysKICsgICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CiAgICAgIChybSAtZiAiJG9maWxlIiAmJiBjcCAiJGNmZ2ZpbGUiICIkb2ZpbGUiICYmIHJtIC1mICIkY2ZnZmlsZSIpCiAgICBjaG1vZCAreCAiJG9maWxlIgogIAotSW5kZXg6IGdpdC9nYXMvY29uZmlndXJlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvZ2FzL2NvbmZpZ3VyZQotKysrIGdpdC9nYXMvY29uZmlndXJlCitkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZ3VyZSBiL2dhcy9jb25maWd1cmUKK2luZGV4IDY0ZGU5ZjE5ZGEuLmE4MmZkZTdmYTggMTAwNzU1CistLS0gYS9nYXMvY29uZmlndXJlCisrKysgYi9nYXMvY29uZmlndXJlCiBAQCAtNjgxLDggKzY4MSwxMSBAQCBPVE9PTAogIExJUE8KICBOTUVESVQKQEAgLTM4OTIsNyArMzkwMCw3IEBACiAgZW5hYmxlX2xpYnRvb2xfbG9jawogIGVuYWJsZV9wbHVnaW5zCiAgZW5hYmxlX2xhcmdlZmlsZQotQEAgLTE0ODIsNiArMTQ4Niw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgorQEAgLTE0ODcsNiArMTQ5MSw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgogICAgLS13aXRoLXBpYyAgICAgICAgICAgICAgdHJ5IHRvIHVzZSBvbmx5IFBJQy9ub24tUElDIG9iamVjdHMgW2RlZmF1bHQ9dXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3RoXQogICAgLS13aXRoLWdudS1sZCAgICAgICAgICAgYXNzdW1lIHRoZSBDIGNvbXBpbGVyIHVzZXMgR05VIGxkIFtkZWZhdWx0PW5vXQpAQCAtMzkwMSw3ICszOTA5LDcgQEAKICAgIC0td2l0aC1jcHU9Q1BVICAgICAgICAgIGRlZmF1bHQgY3B1IHZhcmlhbnQgaXMgQ1BVIChjdXJyZW50bHkgb25seSBzdXBwb3J0ZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIEFSQykKICAgIC0td2l0aC1zeXN0ZW0temxpYiAgICAgIHVzZSBpbnN0YWxsZWQgbGliegotQEAgLTUyNjksOCArNTI3NSw4IEBAIGVzYWMKK0BAIC01Mjc0LDggKzUyODAsOCBAQCBlc2FjCiAgCiAgCiAgCkBAIC0zOTEyLDcgKzM5MjAsNyBAQAogIAogIAogIAotQEAgLTUzMTAsNyArNTMxNiw3IEBAIEVDSE89JEVDSE8kRUNITyRFQ0hPJEVDSE8kRUNITyRFQ0hPCitAQCAtNTMxNSw3ICs1MzIxLDcgQEAgRUNITz0kRUNITyRFQ0hPJEVDSE8kRUNITyRFQ0hPJEVDSE8KICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGhvdyB0byBwcmludCBzdHJpbmdzIiA+JjUKICAkYXNfZWNob19uICJjaGVja2luZyBob3cgdG8gcHJpbnQgc3RyaW5ncy4uLiAiID4mNjsgfQogICMgVGVzdCBwcmludCBmaXJzdCwgYmVjYXVzZSBpdCB3aWxsIGJlIGEgYnVpbHRpbiBpZiBwcmVzZW50LgpAQCAtMzkyMSw3ICszOTI5LDcgQEAKICAgICB0ZXN0ICJYYHByaW50IC1yIC0tICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgogICAgRUNITz0ncHJpbnQgLXIgLS0nCiAgZWxpZiB0ZXN0ICJYYHByaW50ZiAlcyAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KLUBAIC01OTk2LDggKzYwMDIsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1CitAQCAtNjAwMSw4ICs2MDA3LDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgc29tZSBYU0kgY29uc3RydWN0cy4uLiAiID4mNjsKICAjIFRyeSBzb21lIFhTSSBmZWF0dXJlcwogIHhzaV9zaGVsbD1ubwogICggX2x0X2R1bW15PSJhL2IvYyIKQEAgLTM5MzIsNyArMzk0MCw3IEBACiAgICAgICYmIGV2YWwgJ3Rlc3QgJCgoIDEgKyAxICkpIC1lcSAyIFwKICAgICAgJiYgdGVzdCAiJHsjX2x0X2R1bW15fSIgLWVxIDUnICkgPi9kZXYvbnVsbCAyPiYxIFwKICAgICYmIHhzaV9zaGVsbD15ZXMKLUBAIC02MDQ2LDYgKzYwNTIsODAgQEAgZXNhYworQEAgLTYwNTEsNiArNjA1Nyw4MCBAQCBlc2FjCiAgCiAgCiAgCkBAIC00MDEzLDcgKzQwMjEsNyBAQAogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRMRCBvcHRpb24gdG8gcmVsb2FkIG9iamVjdCBmaWxlcyIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRMRCBvcHRpb24gdG8gcmVsb2FkIG9iamVjdCBmaWxlcy4uLiAiID4mNjsgfQogIGlmICR7bHRfY3ZfbGRfcmVsb2FkX2ZsYWcrOn0gZmFsc2U7IHRoZW4gOgotQEAgLTYwNjIsNiArNjE0MiwxMSBAQCBjYXNlICRyZWxvYWRfZmxhZyBpbgorQEAgLTYwNjcsNiArNjE0NywxMSBAQCBjYXNlICRyZWxvYWRfZmxhZyBpbgogIGVzYWMKICByZWxvYWRfY21kcz0nJExEJHJlbG9hZF9mbGFnIC1vICRvdXRwdXQkcmVsb2FkX29ianMnCiAgY2FzZSAkaG9zdF9vcyBpbgpAQCAtNDAyNSw3ICs0MDMzLDcgQEAKICAgIGRhcndpbiopCiAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgICAgICAgcmVsb2FkX2NtZHM9JyRMVENDICRMVENGTEFHUyAtbm9zdGRsaWIgJHt3bH0tciAtbyAkb3V0cHV0JHJlbG9hZF9vYmpzJwotQEAgLTYyMzAsNyArNjMxNSw4IEBAIG1pbmd3KiB8IHB3MzIqKQorQEAgLTYyMzUsNyArNjMyMCw4IEBAIG1pbmd3KiB8IHB3MzIqKQogICAgICBsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD0nZmlsZV9tYWdpYyBeeDg2IGFyY2hpdmUgaW1wb3J0fF54ODYgRExMJwogICAgICBsdF9jdl9maWxlX21hZ2ljX2NtZD0nZnVuY193aW4zMl9saWJpZCcKICAgIGVsc2UKQEAgLTQwMzUsNyArNDA0Myw3IEBACiAgICAgIGx0X2N2X2ZpbGVfbWFnaWNfY21kPSckT0JKRFVNUCAtZicKICAgIGZpCiAgICA7OwotQEAgLTYzODQsNiArNjQ3MCwyMSBAQCBlc2FjCitAQCAtNjM4OSw2ICs2NDc1LDIxIEBAIGVzYWMKICBmaQogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2QiID4mNQogICRhc19lY2hvICIkbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2QiID4mNjsgfQpAQCAtNDA1Nyw3ICs0MDY1LDcgQEAKICBmaWxlX21hZ2ljX2NtZD0kbHRfY3ZfZmlsZV9tYWdpY19jbWQKICBkZXBsaWJzX2NoZWNrX21ldGhvZD0kbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2QKICB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KLUBAIC02Mzk5LDkgKzY1MDAsMTYyIEBAIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGkKK0BAIC02NDA0LDkgKzY1MDUsMTYyIEBAIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGlic19jaGVja19tZXRob2Q9dW5rbm93bgogIAogIAogIApAQCAtNDA3MSw5ICs0MDc5LDcgQEAKICsKICsKICsKLSBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCi0tICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9YXIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWFyOyBhY193b3JkPSQyCisraWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgogKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWRsbHRvb2wiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgogK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWRsbHRvb2w7IGFjX3dvcmQ9JDIKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CkBAIC00MjE0LDcgKzQyMjAsOSBAQAogKwogKwogKwotK2lmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCistICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9YXIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWFyOyBhY193b3JkPSQyCiArICBmb3IgYWNfcHJvZyBpbiBhcgogKyAgZG8KICsgICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIkYWNfdG9vbF9wcmVmaXgkYWNfcHJvZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCkBAIC00MjIyLDcgKzQyMzAsNyBAQAogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KICBpZiAke2FjX2N2X3Byb2dfQVIrOn0gZmFsc2U7IHRoZW4gOgotQEAgLTY0MTcsNyArNjY3MSw3IEBAIGRvCitAQCAtNjQyMiw3ICs2Njc2LDcgQEAgZG8KICAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwogICAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgpAQCAtNDIzMSw3ICs0MjM5LDcgQEAKICAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiAgICAgIGJyZWFrIDIKICAgIGZpCi1AQCAtNjQzNywxMSArNjY5MSwxNSBAQCAkYXNfZWNobyAibm8iID4mNjsgfQorQEAgLTY0NDIsMTEgKzY2OTYsMTUgQEAgJGFzX2VjaG8gIm5vIiA+JjY7IH0KICBmaQogIAogIApAQCAtNDI1MCw3ICs0MjU4LDcgQEAKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CiAgaWYgJHthY19jdl9wcm9nX2FjX2N0X0FSKzp9IGZhbHNlOyB0aGVuIDoKLUBAIC02NDU3LDcgKzY3MTUsNyBAQCBkbworQEAgLTY0NjIsNyArNjcyMCw3IEBAIGRvCiAgICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgogICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgIGlmIGFzX2ZuX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KQEAgLTQyNTksNyArNDI2Nyw3IEBACiAgICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQogICAgICBicmVhayAyCiAgICBmaQotQEAgLTY0NzYsNiArNjczNCwxMCBAQCBlbHNlCitAQCAtNjQ4MSw2ICs2NzM5LDEwIEBAIGVsc2UKICAkYXNfZWNobyAibm8iID4mNjsgfQogIGZpCiAgCkBAIC00MjcwLDcgKzQyNzgsNyBAQAogICAgaWYgdGVzdCAieCRhY19jdF9BUiIgPSB4OyB0aGVuCiAgICAgIEFSPSJmYWxzZSIKICAgIGVsc2UKLUBAIC02NDg3LDEyICs2NzQ5LDEwIEBAIGFjX3Rvb2xfd2FybmVkPXllcyA7OworQEAgLTY0OTIsMTIgKzY3NTQsMTAgQEAgYWNfdG9vbF93YXJuZWQ9eWVzIDs7CiAgZXNhYwogICAgICBBUj0kYWNfY3RfQVIKICAgIGZpCkBAIC00Mjg1LDcgKzQyOTMsNyBAQAogIAogIAogIAotQEAgLTY1MDQsNiArNjc2NCw2NCBAQCB0ZXN0IC16ICIkQVJfRkxBR1MiICYmIEFSX0ZMQUdTPWNydQorQEAgLTY1MDksNiArNjc2OSw2NCBAQCB0ZXN0IC16ICIkQVJfRkxBR1MiICYmIEFSX0ZMQUdTPWNydQogIAogIAogIApAQCAtNDM1MCw3ICs0MzU4LDcgQEAKICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCiAgICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9c3RyaXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgogIHNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fXN0cmlwOyBhY193b3JkPSQyCi1AQCAtNjgzOCw4ICs3MTU2LDggQEAgZXNhYworQEAgLTY4NDMsOCArNzE2MSw4IEBAIGVzYWMKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0ic2VkIC1uIC1lICdzL15UIC4qIFwoLipcKSQvZXh0ZXJuIGludCBcMSgpOy9wJyAtZSAncy9eJHN5bWNvZGUqIC4qIFwoLipcKSQvZXh0ZXJuIGNoYXIgXDE7L3AnIgogIAogICMgVHJhbnNmb3JtIGFuIGV4dHJhY3RlZCBzeW1ib2wgbGluZSBpbnRvIHN5bWJvbCBuYW1lIGFuZCBzeW1ib2wgYWRkcmVzcwpAQCAtNDM2MSw3ICs0MzY5LDcgQEAKICAKICAjIEhhbmRsZSBDUkxGIGluIG1pbmd3IHRvb2wgY2hhaW4KICBvcHRfY3I9Ci1AQCAtNjg3NSw2ICs3MTkzLDcgQEAgZm9yIGFjX3N5bXByZnggaW4gIiIgIl8iOyBkbworQEAgLTY4ODAsNiArNzE5OCw3IEBAIGZvciBhY19zeW1wcmZ4IGluICIiICJfIjsgZG8KICAgIGVsc2UKICAgICAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0ic2VkIC1uIC1lICdzL14uKlsJIF1cKCRzeW1jb2RlJHN5bWNvZGUqXClbCSBdWwkgXSokYWNfc3ltcHJmeCRzeW1wYXQkb3B0X2NyJC8kc3lteGZybS9wJyIKICAgIGZpCkBAIC00MzY5LDcgKzQzNzcsNyBAQAogIAogICAgIyBDaGVjayB0byBzZWUgdGhhdCB0aGUgcGlwZSB3b3JrcyBjb3JyZWN0bHkuCiAgICBwaXBlX3dvcmtzPW5vCi1AQCAtNjkxNiw2ICs3MjM1LDE4IEBAIF9MVF9FT0YKK0BAIC02OTIxLDYgKzcyNDAsMTggQEAgX0xUX0VPRgogICAgICAgIGlmICRHUkVQICcgbm1fdGVzdF92YXIkJyAiJG5saXN0IiA+L2Rldi9udWxsOyB0aGVuCiAgCWlmICRHUkVQICcgbm1fdGVzdF9mdW5jJCcgIiRubGlzdCIgPi9kZXYvbnVsbDsgdGhlbgogIAkgIGNhdCA8PF9MVF9FT0YgPiBjb25mdGVzdC4kYWNfZXh0CkBAIC00Mzg4LDcgKzQzOTYsNyBAQAogICNpZmRlZiBfX2NwbHVzcGx1cwogIGV4dGVybiAiQyIgewogICNlbmRpZgotQEAgLTY5MjcsNyArNzI1OCw3IEBAIF9MVF9FT0YKK0BAIC02OTMyLDcgKzcyNjMsNyBAQCBfTFRfRU9GCiAgCSAgY2F0IDw8X0xUX0VPRiA+PiBjb25mdGVzdC4kYWNfZXh0CiAgCiAgLyogVGhlIG1hcHBpbmcgYmV0d2VlbiBzeW1ib2wgbmFtZXMgYW5kIHN5bWJvbHMuICAqLwpAQCAtNDM5Nyw3ICs0NDA1LDcgQEAKICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICB2b2lkICAgICAgICphZGRyZXNzOwogIH0KLUBAIC02OTUzLDggKzcyODQsOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkKK0BAIC02OTU4LDggKzcyODksOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkgewogIF9MVF9FT0YKICAJICAjIE5vdyB0cnkgbGlua2luZyB0aGUgdHdvIGZpbGVzLgogIAkgIG12IGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRzdG0uJGFjX29iamV4dApAQCAtNDQwOCw3ICs0NDE2LDcgQEAKICAJICBMSUJTPSJjb25mdHN0bS4kYWNfb2JqZXh0IgogIAkgIENGTEFHUz0iJENGTEFHUyRsdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZyIKICAJICBpZiB7IHsgZXZhbCBlY2hvICJcIlwkYXNfbWVcIjoke2FzX2xpbmVuby0kTElORU5PfTogXCIkYWNfbGlua1wiIjsgfSA+JjUKLUBAIC02OTY0LDggKzcyOTUsOCBAQCBfTFRfRU9GCitAQCAtNjk2OSw4ICs3MzAwLDggQEAgX0xUX0VPRgogICAgdGVzdCAkYWNfc3RhdHVzID0gMDsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCiAgCSAgICBwaXBlX3dvcmtzPXllcwogIAkgIGZpCkBAIC00NDE5LDcgKzQ0MjcsNyBAQAogIAllbHNlCiAgCSAgZWNobyAiY2Fubm90IGZpbmQgbm1fdGVzdF9mdW5jIGluICRubGlzdCIgPiY1CiAgCWZpCi1AQCAtNzAwMiw2ICs3MzMzLDE5IEBAIGVsc2UKK0BAIC03MDA3LDYgKzczMzgsMjEgQEAgZWxzZQogICRhc19lY2hvICJvayIgPiY2OyB9CiAgZmkKICAKQEAgLTQ0MzYsMTMgKzQ0NDQsMTcgQEAKICsKICsKICsKKysKKysKICAKICAKICAKLUBAIC03MDIyLDYgKzczNjYsNDIgQEAgZmkKK0BAIC03MDIzLDYgKzczNjksNDAgQEAgZmkKICAKICAKICAKKysKKysKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBzeXNyb290IiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyBmb3Igc3lzcm9vdC4uLiAiID4mNjsgfQogKwpAQCAtNDQ3NSwxNCArNDQ4NywxMCBAQAogKwogKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHtsdF9zeXNyb290Oi1ub30iID4mNQogKyRhc19lY2hvICIke2x0X3N5c3Jvb3Q6LW5vfSIgPiY2OyB9Ci0rCi0rCi0rCi0rCiAgCi0gIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxpYnRvb2wtbG9jayB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHtlbmFibGVfbGlidG9vbF9sb2NrK3NldH0iID0gc2V0OyB0aGVuIDoKLUBAIC03MjI5LDYgKzc2MDksMTIzIEBAIGVzYWMKKyAKKyAKK0BAIC03MjM0LDYgKzc2MTQsMTIzIEBAIGVzYWMKICAKICBuZWVkX2xvY2tzPSIkZW5hYmxlX2xpYnRvb2xfbG9jayIKICAKQEAgLTQ2MDYsNyArNDYxNCw3IEBACiAgCiAgICBjYXNlICRob3N0X29zIGluCiAgICAgIHJoYXBzb2R5KiB8IGRhcndpbiopCi1AQCAtNzc5Miw2ICs4Mjg5LDggQEAgX0xUX0VPRgorQEAgLTc3OTcsNiArODI5NCw4IEBAIF9MVF9FT0YKICAgICAgICAkTFRDQyAkTFRDRkxBR1MgLWMgLW8gY29uZnRlc3QubyBjb25mdGVzdC5jIDI+JjUKICAgICAgICBlY2hvICIkQVIgY3J1IGxpYmNvbmZ0ZXN0LmEgY29uZnRlc3QubyIgPiY1CiAgICAgICAgJEFSIGNydSBsaWJjb25mdGVzdC5hIGNvbmZ0ZXN0Lm8gMj4mNQpAQCAtNDYxNSw3ICs0NjIzLDcgQEAKICAgICAgICBjYXQgPiBjb25mdGVzdC5jIDw8IF9MVF9FT0YKICBpbnQgbWFpbigpIHsgcmV0dXJuIDA7fQogIF9MVF9FT0YKLUBAIC03OTg3LDcgKzg0ODYsOCBAQCBmaQorQEAgLTc5OTIsNyArODQ5MSw4IEBAIGZpCiAgTElCVE9PTF9ERVBTPSIkbHRtYWluIgogIAogICMgQWx3YXlzIHVzZSBvdXIgb3duIGxpYnRvb2wuCkBAIC00NjI1LDcgKzQ2MzMsNyBAQAogIAogIAogIAotQEAgLTgwNzYsNyArODU3Niw3IEBAIGFpeDMqKQorQEAgLTgwODEsNyArODU4MSw3IEBAIGFpeDMqKQogIGVzYWMKICAKICAjIEdsb2JhbCB2YXJpYWJsZXM6CkBAIC00NjM0LDcgKzQ2NDIsNyBAQAogIGNhbl9idWlsZF9zaGFyZWQ9eWVzCiAgCiAgIyBBbGwga25vd24gbGlua2VycyByZXF1aXJlIGEgYC5hJyBhcmNoaXZlIGZvciBzdGF0aWMgbGlua2luZyAoZXhjZXB0IE1TVkMsCi1AQCAtODM3NCw4ICs4ODc0LDYgQEAgZmkKK0BAIC04Mzc5LDggKzg4NzksNiBAQCBmaQogIGx0X3Byb2dfY29tcGlsZXJfcGljPQogIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljPQogIApAQCAtNDY0Myw3ICs0NjUxLDcgQEAKICAKICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgICAgIGx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCi1AQCAtODU0MSw2ICs5MDM5LDEyIEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC04NTQ2LDYgKzkwNDQsMTIgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAJbHRfcHJvZ19jb21waWxlcl9waWM9Jy0tc2hhcmVkJwogIAlsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLS1zdGF0aWMnCiAgCTs7CkBAIC00NjU2LDcgKzQ2NjQsNyBAQAogICAgICAgIHBnY2MqIHwgcGdmNzcqIHwgcGdmOTAqIHwgcGdmOTUqIHwgcGdmb3J0cmFuKikKICAgICAgICAgICMgUG9ydGxhbmQgR3JvdXAgY29tcGlsZXJzICgqbm90KiB0aGUgUGVudGl1bSBnY2MgY29tcGlsZXIsCiAgCSMgd2hpY2ggbG9va3MgdG8gYmUgYSBkZWFkIHByb2plY3QpCi1AQCAtODYwMyw3ICs5MTA3LDcgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpbworQEAgLTg2MDgsNyArOTExMiw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW9uIHRvIHByb2R1Y2UgUElDLi4uICIgPiY2OyB9CiAgICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9Jy1LUElDJwogICAgICAgIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctQnN0YXRpYycKICAgICAgICBjYXNlICRjY19iYXNlbmFtZSBpbgpAQCAtNDY2NSw3ICs0NjczLDcgQEAKICAJbHRfcHJvZ19jb21waWxlcl93bD0nLVFvcHRpb24gbGQgJzs7CiAgICAgICAgKikKICAJbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCc7OwotQEAgLTg2NjAsMTMgKzkxNjQsMTcgQEAgY2FzZSAkaG9zdF9vcyBpbgorQEAgLTg2NjUsMTMgKzkxNjksMTcgQEAgY2FzZSAkaG9zdF9vcyBpbgogICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0iJGx0X3Byb2dfY29tcGlsZXJfcGljIC1EUElDIgogICAgICA7OwogIGVzYWMKQEAgLTQ2ODksNyArNDY5Nyw3IEBACiAgCiAgIwogICMgQ2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBQSUMgZmxhZyBhY3R1YWxseSB3b3Jrcy4KLUBAIC04NzI3LDYgKzkyMzUsMTEgQEAgZmkKK0BAIC04NzMyLDYgKzkyNDAsMTEgQEAgZmkKICAKICAKICAKQEAgLTQ3MDEsNyArNDcwOSw3IEBACiAgIwogICMgQ2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBzdGF0aWMgZmxhZyBhY3R1YWxseSB3b3Jrcy4KICAjCi1AQCAtOTA3Nyw3ICs5NTkwLDggQEAgX0xUX0VPRgorQEAgLTkwODIsNyArOTU5NSw4IEBAIF9MVF9FT0YKICAgICAgICBhbGxvd191bmRlZmluZWRfZmxhZz11bnN1cHBvcnRlZAogICAgICAgIGFsd2F5c19leHBvcnRfc3ltYm9scz1ubwogICAgICAgIGVuYWJsZV9zaGFyZWRfd2l0aF9zdGF0aWNfcnVudGltZXM9eWVzCkBAIC00NzExLDcgKzQ3MTksNyBAQAogIAogICAgICAgIGlmICRMRCAtLWhlbHAgMj4mMSB8ICRHUkVQICdhdXRvLWltcG9ydCcgPiAvZGV2L251bGw7IHRoZW4KICAgICAgICAgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJHt3bH0tLWVuYWJsZS1hdXRvLWltYWdlLWJhc2UgLVhsaW5rZXIgLS1vdXQtaW1wbGliIC1YbGlua2VyICRsaWInCi1AQCAtOTE3NiwxMiArOTY5MCwxMiBAQCBfTFRfRU9GCitAQCAtOTE4MSwxMiArOTY5NSwxMiBAQCBfTFRfRU9GCiAgCSAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9Jy0td2hvbGUtYXJjaGl2ZSRjb252ZW5pZW5jZSAtLW5vLXdob2xlLWFyY2hpdmUnCiAgCSAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0KICAJICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX2xkPSctcnBhdGggJGxpYmRpcicKQEAgLTQ3MjYsNyArNDczNCw3IEBACiAgCSAgZmkKICAJICA7OwogIAllc2FjCi1AQCAtOTE5NSw4ICs5NzA5LDggQEAgX0xUX0VPRgorQEAgLTkyMDAsOCArOTcxNCw4IEBAIF9MVF9FT0YKICAJYXJjaGl2ZV9jbWRzPSckTEQgLUJzaGFyZWFibGUgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncyAtbyAkbGliJwogIAl3bGFyYz0KICAgICAgICBlbHNlCkBAIC00NzM3LDcgKzQ3NDUsNyBAQAogICAgICAgIGZpCiAgICAgICAgOzsKICAKLUBAIC05MjE0LDggKzk3MjgsOCBAQCBfTFRfRU9GCitAQCAtOTIxOSw4ICs5NzMzLDggQEAgX0xUX0VPRgogIAogIF9MVF9FT0YKICAgICAgICBlbGlmICRMRCAtLWhlbHAgMj4mMSB8ICRHUkVQICc6IHN1cHBvcnRlZCB0YXJnZXRzOi4qIGVsZicgPiAvZGV2L251bGw7IHRoZW4KQEAgLTQ3NDgsNyArNDc1Niw3IEBACiAgICAgICAgZWxzZQogIAlsZF9zaGxpYnM9bm8KICAgICAgICBmaQotQEAgLTkyNjEsOCArOTc3NSw4IEBAIF9MVF9FT0YKK0BAIC05MjY2LDggKzk3ODAsOCBAQCBfTFRfRU9GCiAgCiAgICAgICopCiAgICAgICAgaWYgJExEIC0taGVscCAyPiYxIHwgJEdSRVAgJzogc3VwcG9ydGVkIHRhcmdldHM6LiogZWxmJyA+IC9kZXYvbnVsbDsgdGhlbgpAQCAtNDc1OSw3ICs0NzY3LDcgQEAKICAgICAgICBlbHNlCiAgCWxkX3NobGlicz1ubwogICAgICAgIGZpCi1AQCAtOTM5Miw3ICs5OTA2LDEzIEBAIF9MVF9FT0YKK0BAIC05Mzk3LDcgKzk5MTEsMTMgQEAgX0xUX0VPRgogIAlhbGxvd191bmRlZmluZWRfZmxhZz0nLWJlcm9rJwogICAgICAgICAgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuCiAgICAgICAgICAjIGVtcHR5IGV4ZWN1dGFibGUuCkBAIC00Nzc0LDcgKzQ3ODIsNyBAQAogIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KICAKICBpbnQKLUBAIC05NDA1LDIyICs5OTI1LDI5IEBAIG1haW4gKCkKK0BAIC05NDEwLDIyICs5OTMwLDI5IEBAIG1haW4gKCkKICBfQUNFT0YKICBpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6CiAgCkBAIC00ODE3LDcgKzQ4MjUsNyBAQAogIAogICAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAgICAgICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICciXCR7d2x9JG5vX2VudHJ5X2ZsYWciJyAkY29tcGlsZXJfZmxhZ3MgYGlmIHRlc3QgIngke2FsbG93X3VuZGVmaW5lZF9mbGFnfSIgIT0gIngiOyB0aGVuIGZ1bmNfZWNob19hbGwgIiR7d2x9JHthbGxvd191bmRlZmluZWRfZmxhZ30iOyBlbHNlIDo7IGZpYCAnIlwke3dsfSRleHBfc3ltX2ZsYWc6XCRleHBvcnRfc3ltYm9scyAkc2hhcmVkX2ZsYWciCi1AQCAtOTQzMiw3ICs5OTU5LDEzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NDM3LDcgKzk5NjQsMTMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCWVsc2UKICAJICMgRGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGxpYnBhdGggZnJvbSB0aGUgdmFsdWUgZW5jb2RlZCBpbiBhbgogIAkgIyBlbXB0eSBleGVjdXRhYmxlLgpAQCAtNDgzMiw3ICs0ODQwLDcgQEAKICAvKiBlbmQgY29uZmRlZnMuaC4gICovCiAgCiAgaW50Ci1AQCAtOTQ0NSwyMiArOTk3OCwyOSBAQCBtYWluICgpCitAQCAtOTQ1MCwyMiArOTk4MywyOSBAQCBtYWluICgpCiAgX0FDRU9GCiAgaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgogIApAQCAtNDg3NSw3ICs0ODgzLDcgQEAKICAKICAJIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgCSAgIyBXYXJuaW5nIC0gd2l0aG91dCB1c2luZyB0aGUgb3RoZXIgcnVuIHRpbWUgbG9hZGluZyBmbGFncywKLUBAIC05NTA1LDIwICsxMDA0NSw2MyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTUxMCwyMCArMTAwNTAsNjMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgICAgICAgIyBNaWNyb3NvZnQgVmlzdWFsIEMrKy4KICAgICAgICAjIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgaXMgYWN0dWFsbHkgbWVhbmluZ2xlc3MsIGFzIHRoZXJlIGlzCiAgICAgICAgIyBubyBzZWFyY2ggcGF0aCBmb3IgRExMcy4KQEAgLTQ5NTMsNyArNDk2MSw3IEBACiAgICAgICAgOzsKICAKICAgICAgZGFyd2luKiB8IHJoYXBzb2R5KikKLUBAIC05NTc5LDcgKzEwMTYyLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk1ODQsNyArMTAxNjcsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgIyBGcmVlQlNEIDMgYW5kIGdyZWF0ZXIgdXNlcyBnY2MgLXNoYXJlZCB0byBkbyBzaGFyZWQgbGlicmFyaWVzLgogICAgICBmcmVlYnNkKiB8IGRyYWdvbmZseSopCkBAIC00OTYyLDcgKzQ5NzAsNyBAQAogICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1SJGxpYmRpcicKICAgICAgICBoYXJkY29kZV9kaXJlY3Q9eWVzCiAgICAgICAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj1ubwotQEAgLTk1ODcsNyArMTAxNzAsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTU5Miw3ICsxMDE3NSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICBocHV4OSopCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KQEAgLTQ5NzEsNyArNDk3OSw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci8kc29uYW1lfiRMRCAtYiArYiAkaW5zdGFsbF9saWJkaXIgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzfnRlc3QgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSA9ICRsaWIgfHwgbXYgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGliJwogICAgICAgIGZpCi1AQCAtOTYwMyw3ICsxMDE4Niw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NjA4LDcgKzEwMTkxLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgIGhwdXgxMCopCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXMgJiYgdGVzdCAiJHdpdGhfZ251X2xkIiA9IG5vOyB0aGVuCkBAIC00OTgwLDcgKzQ5ODgsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckTEQgLWIgK2ggJHNvbmFtZSArYiAkaW5zdGFsbF9saWJkaXIgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzJwogICAgICAgIGZpCi1AQCAtOTYyNywxMCArMTAyMTAsMTAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk2MzIsMTAgKzEwMjE1LDEwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAkgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJHt3bH0raCAke3dsfSRzb25hbWUgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCiAgCSAgOzsKICAJaWE2NCopCkBAIC00OTkzLDcgKzUwMDEsNyBAQAogIAkgIDs7CiAgCWVzYWMKICAgICAgICBlbHNlCi1AQCAtOTcwOSwyMyArMTAyOTIsMzYgQEAgZmkKK0BAIC05NzE0LDIzICsxMDI5NywzNiBAQCBmaQogIAogICAgICBpcml4NSogfCBpcml4NiogfCBub25zdG9wdXgqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCkBAIC01MDM4LDcgKzUwNDYsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLXNvbmFtZSAkc29uYW1lIGB0ZXN0IC1uICIkdmVyc3RyaW5nIiAmJiBmdW5jX2VjaG9fYWxsICItc2V0X3ZlcnNpb24gJHZlcnN0cmluZyJgIC11cGRhdGVfcmVnaXN0cnkgJHtvdXRwdXRfb2JqZGlyfS9zb19sb2NhdGlvbnMgLW8gJGxpYicKICAJYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1leHBvcnRzX2ZpbGUgJGV4cG9ydF9zeW1ib2xzIC1vICRsaWInCi1AQCAtOTgxMCw3ICsxMDQwNiw3IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmoKK0BAIC05ODE1LDcgKzEwNDExLDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgIG9zZjQqIHwgb3NmNSopCSMgYXMgb3NmMyogd2l0aCB0aGUgYWRkaXRpb24gb2YgLW1zeW0gZmxhZwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgJHt3bH0tZXhwZWN0X3VucmVzb2x2ZWQgJHt3bH1cKicKQEAgLTUwNDcsNyArNTA1NSw3IEBACiAgCWhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoICR7d2x9JGxpYmRpcicKICAgICAgICBlbHNlCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgLWV4cGVjdF91bnJlc29sdmVkIFwqJwotQEAgLTk4MjksOSArMTA0MjUsOSBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqCitAQCAtOTgzNCw5ICsxMDQzMCw5IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAogICAgICAgIG5vX3VuZGVmaW5lZF9mbGFnPScgLXogZGVmcycKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogIAl3bGFyYz0nJHt3bH0nCkBAIC01MDU5LDcgKzUwNjcsNyBAQAogICAgICAgIGVsc2UKICAJY2FzZSBgJENDIC1WIDI+JjFgIGluCiAgCSoiQ29tcGlsZXJzIDUuMCIqKQotQEAgLTEwNDA3LDggKzExMDAzLDkgQEAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQorQEAgLTEwNDEyLDggKzExMDA4LDkgQEAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgbmVlZF92ZXJzaW9uPW5vCiAgICBuZWVkX2xpYl9wcmVmaXg9bm8KICAKQEAgLTUwNzEsNyArNTA3OSw3IEBACiAgICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJGxpYm5hbWUuZGxsLmEnCiAgICAgICMgRExMIGlzIGluc3RhbGxlZCB0byAkKGxpYmRpcikvLi4vYmluIGJ5IHBvc3RpbnN0YWxsX2NtZHMKICAgICAgcG9zdGluc3RhbGxfY21kcz0nYmFzZV9maWxlPWBiYXNlbmFtZSBcJHtmaWxlfWB+Ci1AQCAtMTA0NDEsMTMgKzExMDM4LDcxIEBAIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKK0BAIC0xMDQ0NiwxMyArMTEwNDMsNzEgQEAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nYGVjaG8gJHtsaWJuYW1lfSB8IHNlZCAtZSAncy9ebGliL3B3LydgYGVjaG8gJHtyZWxlYXNlfSB8ICRTRUQgLWUgJ3MvWy5dLy0vZydgJHt2ZXJzdWZmaXh9JHtzaGFyZWRfZXh0fScKICAgICAgICA7OwogICAgICBlc2FjCkBAIC01MTQ0LDcgKzUxNTIsNyBAQAogICAgIyBGSVhNRTogZmlyc3Qgd2Ugc2hvdWxkIHNlYXJjaCAuIGFuZCB0aGUgZGlyZWN0b3J5IHRoZSBleGVjdXRhYmxlIGlzIGluCiAgICBzaGxpYnBhdGhfdmFyPVBBVEgKICAgIDs7Ci1AQCAtMTA1MzksNyArMTExOTQsNyBAQCBoYWlrdSopCitAQCAtMTA1NDQsNyArMTExOTksNyBAQCBoYWlrdSopCiAgICBzb25hbWVfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JG1ham9yJwogICAgc2hsaWJwYXRoX3Zhcj1MSUJSQVJZX1BBVEgKICAgIHNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aD15ZXMKQEAgLTUxNTMsMTYgKzUxNjEsMTYgQEAKICAgIGhhcmRjb2RlX2ludG9fbGlicz15ZXMKICAgIDs7CiAgCi1AQCAtMTEzMzUsNyArMTE5OTAsNyBAQCBlbHNlCitAQCAtMTEzNDAsNyArMTE5OTUsNyBAQCBlbHNlCiAgICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCiAgICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgogICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PF9MVF9FT0YKLS0jbGluZSAxMTMzOCAiY29uZmlndXJlIgorLSNsaW5lIDExMzQzICJjb25maWd1cmUiCiArI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgogICNpbmNsdWRlICJjb25mZGVmcy5oIgogIAogICNpZiBIQVZFX0RMRkNOX0gKLUBAIC0xMTM3OSwxMCArMTIwMzQsMTAgQEAgZWxzZQorQEAgLTExMzg0LDEwICsxMjAzOSwxMCBAQCBlbHNlCiAgLyogV2hlbiAtZnZpc2JpbGl0eT1oaWRkZW4gaXMgdXNlZCwgYXNzdW1lIHRoZSBjb2RlIGhhcyBiZWVuIGFubm90YXRlZAogICAgIGNvcnJlc3BvbmRpbmdseSBmb3IgdGhlIHN5bWJvbHMgbmVlZGVkLiAgKi8KICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKCgoX19HTlVDX18gPT0gMykgJiYgKF9fR05VQ19NSU5PUl9fID49IDMpKSB8fCAoX19HTlVDX18gPiAzKSkKQEAgLTUxNzUsMTYgKzUxODMsMTYgQEAKICBpbnQgbWFpbiAoKQogIHsKICAgIHZvaWQgKnNlbGYgPSBkbG9wZW4gKDAsIExUX0RMR0xPQkFMfExUX0RMTEFaWV9PUl9OT1cpOwotQEAgLTExNDQxLDcgKzEyMDk2LDcgQEAgZWxzZQorQEAgLTExNDQ2LDcgKzEyMTAxLDcgQEAgZWxzZQogICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0tI2xpbmUgMTE0NDQgImNvbmZpZ3VyZSIKKy0jbGluZSAxMTQ0OSAiY29uZmlndXJlIgogKyNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKICAjaW5jbHVkZSAiY29uZmRlZnMuaCIKICAKICAjaWYgSEFWRV9ETEZDTl9ICi1AQCAtMTE0ODUsMTAgKzEyMTQwLDEwIEBAIGVsc2UKK0BAIC0xMTQ5MCwxMCArMTIxNDUsMTAgQEAgZWxzZQogIC8qIFdoZW4gLWZ2aXNiaWxpdHk9aGlkZGVuIGlzIHVzZWQsIGFzc3VtZSB0aGUgY29kZSBoYXMgYmVlbiBhbm5vdGF0ZWQKICAgICBjb3JyZXNwb25kaW5nbHkgZm9yIHRoZSBzeW1ib2xzIG5lZWRlZC4gICovCiAgI2lmIGRlZmluZWQoX19HTlVDX18pICYmICgoKF9fR05VQ19fID09IDMpICYmIChfX0dOVUNfTUlOT1JfXyA+PSAzKSkgfHwgKF9fR05VQ19fID4gMykpCkBAIC01MTk3LDcgKzUyMDUsNyBAQAogIGludCBtYWluICgpCiAgewogICAgdm9pZCAqc2VsZiA9IGRsb3BlbiAoMCwgTFRfRExHTE9CQUx8TFRfRExMQVpZX09SX05PVyk7Ci1AQCAtMTU4MDMsMTMgKzE2NDU4LDIwIEBAIGV4ZWV4dD0nYCRFQ0hPICIkZXhlZXh0IiB8ICRTRUQgIiRkZWxheV8KK0BAIC0xNTg5NiwxMyArMTY1NTEsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X3Vuc2V0PSdgJEVDSE8gIiRsdF91bnNldCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfU1AyTkw9J2AkRUNITyAiJGx0X1NQMk5MIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9OTDJTUD0nYCRFQ0hPICIkbHRfTkwyU1AiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtNTIxOCw3ICs1MjI2LDcgQEAKICBTVFJJUD0nYCRFQ0hPICIkU1RSSVAiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIFJBTkxJQj0nYCRFQ0hPICIkUkFOTElCIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBvbGRfcG9zdGluc3RhbGxfY21kcz0nYCRFQ0hPICIkb2xkX3Bvc3RpbnN0YWxsX2NtZHMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTE1ODI0LDE0ICsxNjQ4NiwxNyBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdgJEVDSE8gIiRsCitAQCAtMTU5MTcsMTQgKzE2NTc5LDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUiIHwgJFNFRCAiJGRlCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtNTIzNyw3ICs1MjQ1LDcgQEAKICBEU1lNVVRJTD0nYCRFQ0hPICIkRFNZTVVUSUwiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIE5NRURJVD0nYCRFQ0hPICIkTk1FRElUIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBMSVBPPSdgJEVDSE8gIiRMSVBPIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xNTg2NCwxMiArMTY1MjksMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0nYCRFQ0hPICIkaGFyZGNvZAorQEAgLTE1OTU3LDEyICsxNjYyMiwxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSdgJEVDSE8gIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcQogIGhhcmRjb2RlX2F1dG9tYXRpYz0nYCRFQ0hPICIkaGFyZGNvZGVfYXV0b21hdGljIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBpbmhlcml0X3JwYXRoPSdgJEVDSE8gIiRpbmhlcml0X3JwYXRoIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsaW5rX2FsbF9kZXBsaWJzPSdgJEVDSE8gIiRsaW5rX2FsbF9kZXBsaWJzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTUyNTEsNyArNTI1OSw3IEBACiAgZmlsZV9saXN0X3NwZWM9J2AkRUNITyAiJGZpbGVfbGlzdF9zcGVjIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICB2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluaz0nYCRFQ0hPICIkdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbmsiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG5lZWRfbGliX3ByZWZpeD0nYCRFQ0hPICIkbmVlZF9saWJfcHJlZml4IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xNTkyNCw4ICsxNjU4OSwxMyBAQCByZWxvYWRfZmxhZyBcCitAQCAtMTYwMTcsOCArMTY2ODIsMTMgQEAgcmVsb2FkX2ZsYWcgXAogIE9CSkRVTVAgXAogIGRlcGxpYnNfY2hlY2tfbWV0aG9kIFwKICBmaWxlX21hZ2ljX2NtZCBcCkBAIC01MjY1LDcgKzUyNzMsNyBAQAogIFNUUklQIFwKICBSQU5MSUIgXAogIENDIFwKLUBAIC0xNTkzNSwxMiArMTY2MDUsMTQgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSBcCitAQCAtMTYwMjgsMTIgKzE2Njk4LDE0IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUgXAogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIFwKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyBcCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCBcCkBAIC01MjgxLDcgKzUyODksNyBAQAogIERTWU1VVElMIFwKICBOTUVESVQgXAogIExJUE8gXAotQEAgLTE1OTU2LDcgKzE2NjI4LDYgQEAgbm9fdW5kZWZpbmVkX2ZsYWcgXAorQEAgLTE2MDQ5LDcgKzE2NzIxLDYgQEAgbm9fdW5kZWZpbmVkX2ZsYWcgXAogIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgXAogIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQgXAogIGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IgXApAQCAtNTI4OSw3ICs1Mjk3LDcgQEAKICBleGNsdWRlX2V4cHN5bXMgXAogIGluY2x1ZGVfZXhwc3ltcyBcCiAgZmlsZV9saXN0X3NwZWMgXAotQEAgLTE1OTkyLDYgKzE2NjYzLDcgQEAgbW9kdWxlX2NtZHMgXAorQEAgLTE2MDg1LDYgKzE2NzU2LDcgQEAgbW9kdWxlX2NtZHMgXAogIG1vZHVsZV9leHBzeW1fY21kcyBcCiAgZXhwb3J0X3N5bWJvbHNfY21kcyBcCiAgcHJlbGlua19jbWRzIFwKQEAgLTUyOTcsNyArNTMwNSw3IEBACiAgcG9zdGluc3RhbGxfY21kcyBcCiAgcG9zdHVuaW5zdGFsbF9jbWRzIFwKICBmaW5pc2hfY21kcyBcCi1AQCAtMTY3NjUsNyArMTc0MzcsOCBAQCAkYXNfZWNobyBYIiRmaWxlIiB8CitAQCAtMTY4NTgsNyArMTc1MzAsOCBAQCAkYXNfZWNobyBYIiRmaWxlIiB8CiAgIyBOT1RFOiBDaGFuZ2VzIG1hZGUgdG8gdGhpcyBmaWxlIHdpbGwgYmUgbG9zdDogbG9vayBhdCBsdG1haW4uc2guCiAgIwogICMgICBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsCkBAIC01MzA3LDcgKzUzMTUsNyBAQAogICMgICBXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdrZWl0LCAxOTk2CiAgIwogICMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgTGlidG9vbC4KLUBAIC0xNjg2OCwxOSArMTc1NDEsNDIgQEAgU1AyTkw9JGx0X2x0X1NQMk5MCitAQCAtMTY5NjEsMTkgKzE3NjM0LDQyIEBAIFNQMk5MPSRsdF9sdF9TUDJOTAogICMgdHVybiBuZXdsaW5lcyBpbnRvIHNwYWNlcy4KICBOTDJTUD0kbHRfbHRfTkwyU1AKICAKQEAgLTUzNTEsNyArNTM1OSw3IEBACiAgIyBBIHN5bWJvbCBzdHJpcHBpbmcgcHJvZ3JhbS4KICBTVFJJUD0kbHRfU1RSSVAKICAKLUBAIC0xNjkxMCw2ICsxNzYwNiwxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jCitAQCAtMTcwMDMsNiArMTc2OTksMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKICAjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgogIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAogIApAQCAtNTM2NCw3ICs1MzcyLDcgQEAKICAjIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyB0ZW1wb3JhcnkgbGlidG9vbCBmaWxlcy4KICBvYmpkaXI9JG9iamRpcgogIAotQEAgLTE2OTE5LDYgKzE3NjIxLDkgQEAgTUFHSUNfQ01EPSRNQUdJQ19DTUQKK0BAIC0xNzAxMiw2ICsxNzcxNCw5IEBAIE1BR0lDX0NNRD0kTUFHSUNfQ01ECiAgIyBNdXN0IHdlIGxvY2sgZmlsZXMgd2hlbiBkb2luZyBjb21waWxhdGlvbj8KICBuZWVkX2xvY2tzPSRsdF9uZWVkX2xvY2tzCiAgCkBAIC01Mzc0LDcgKzUzODIsNyBAQAogICMgVG9vbCB0byBtYW5pcHVsYXRlIGFyY2hpdmVkIERXQVJGIGRlYnVnIHN5bWJvbCBmaWxlcyBvbiBNYWMgT1MgWC4KICBEU1lNVVRJTD0kbHRfRFNZTVVUSUwKICAKLUBAIC0xNzAzMywxMiArMTc3MzgsMTIgQEAgd2l0aF9nY2M9JEdDQworQEAgLTE3MTI2LDEyICsxNzgzMSwxMiBAQCB3aXRoX2djYz0kR0NDCiAgIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVuY3Rpb25zLgogIG5vX2J1aWx0aW5fZmxhZz0kbHRfbHRfcHJvZ19jb21waWxlcl9ub19idWlsdGluX2ZsYWcKICAKQEAgLTUzOTAsNyArNTM5OCw3IEBACiAgIyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5raW5nLgogIGxpbmtfc3RhdGljX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfc3RhdGljCiAgCi1AQCAtMTcxMjUsOSArMTc4MzAsNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCitAQCAtMTcyMTgsOSArMTc5MjMsNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCiAgIyBXaGV0aGVyIGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJvZ3JhbSBhZ2FpbnN0IGFsbCBpdHMgZGVwZW5kZW5jeSBsaWJyYXJpZXMuCiAgbGlua19hbGxfZGVwbGlicz0kbGlua19hbGxfZGVwbGlicwogIApAQCAtNTQwMCw3ICs1NDA4LDcgQEAKICAjIFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1aXJlZC4KICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9JGFsd2F5c19leHBvcnRfc3ltYm9scwogIAotQEAgLTE3MTQzLDYgKzE3ODQ1LDkgQEAgaW5jbHVkZV9leHBzeW1zPSRsdF9pbmNsdWRlX2V4cHN5bXMKK0BAIC0xNzIzNiw2ICsxNzkzOCw5IEBAIGluY2x1ZGVfZXhwc3ltcz0kbHRfaW5jbHVkZV9leHBzeW1zCiAgIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJvZ3JhbXMgKGFnYWluc3QgbGlicmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KICBwcmVsaW5rX2NtZHM9JGx0X3ByZWxpbmtfY21kcwogIApAQCAtNTQxMCw3ICs1NDE4LDcgQEAKICAjIFNwZWNpZnkgZmlsZW5hbWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KICBmaWxlX2xpc3Rfc3BlYz0kbHRfZmlsZV9saXN0X3NwZWMKICAKLUBAIC0xNzE3NSwyMTAgKzE3ODgwLDE2OSBAQCBsdG1haW49IiRhY19hdXhfZGlyL2x0bWFpbi5zaCIKK0BAIC0xNzI2OCwyMTAgKzE3OTczLDE2OSBAQCBsdG1haW49IiRhY19hdXhfZGlyL2x0bWFpbi5zaCIKICAgICMgaWYgZmluZHMgbWl4ZWQgQ1IvTEYgYW5kIExGLW9ubHkgbGluZXMuICBTaW5jZSBzZWQgb3BlcmF0ZXMgaW4KICAgICMgdGV4dCBtb2RlLCBpdCBwcm9wZXJseSBjb252ZXJ0cyBsaW5lcyB0byBDUi9MRi4gIFRoaXMgYmFzaCBwcm9ibGVtCiAgICAjIGlzIHJlcG9ydGVkbHkgZml4ZWQsIGJ1dCB3aHkgbm90IHJ1biBvbiBvbGQgdmVyc2lvbnMgdG9vPwpAQCAtNTYxMiw5ICs1NjIwLDE1IEBACiAtX0xUX0VPRgogLSAgICA7OwogLSAgZXNhYworLQorLQorLSAgc2VkIC1uICcvXiMgR2VuZXJhdGVkIHNoZWxsIGZ1bmN0aW9ucyBpbnNlcnRlZCBoZXJlLywkcCcgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAorLSAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQorLQorLSAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogKyAgc2VkICckcScgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAogKyAgICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKKysKICsgIGlmIHRlc3QgeCIkeHNpX3NoZWxsIiA9IHh5ZXM7IHRoZW4KICsgIHNlZCAtZSAnL15mdW5jX2Rpcm5hbWUgKCkkLywvXn0gIyBmdW5jX2Rpcm5hbWUgL2NcCiArZnVuY19kaXJuYW1lICgpXApAQCAtNTc3MiwxOSArNTc4NiwxNiBAQAogKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjUKICskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjI7fQogK2ZpCi0gCi0tICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCi0tICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCi0tICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CisrCisrCiArICAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogICAgICAocm0gLWYgIiRvZmlsZSIgJiYgY3AgIiRjZmdmaWxlIiAiJG9maWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUiKQogICAgY2htb2QgK3ggIiRvZmlsZSIKICAKLUluZGV4OiBnaXQvZ3Byb2YvY29uZmlndXJlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvZ3Byb2YvY29uZmlndXJlCi0rKysgZ2l0L2dwcm9mL2NvbmZpZ3VyZQorZGlmZiAtLWdpdCBhL2dwcm9mL2NvbmZpZ3VyZSBiL2dwcm9mL2NvbmZpZ3VyZQoraW5kZXggYWIzMmJhYjJiNi4uNTExOWM2MDE5ZiAxMDA3NTUKKy0tLSBhL2dwcm9mL2NvbmZpZ3VyZQorKysrIGIvZ3Byb2YvY29uZmlndXJlCiBAQCAtNjYyLDggKzY2MiwxMSBAQCBPVE9PTAogIExJUE8KICBOTUVESVQKQEAgLTU4MzQsNyArNTg0NSw3IEBACiAgICAgdGVzdCAiWGBwcmludCAtciAtLSAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KICAgIEVDSE89J3ByaW50IC1yIC0tJwogIGVsaWYgdGVzdCAiWGBwcmludGYgJXMgJEVDSE8gMj4vZGV2L251bGxgIiA9ICJYJEVDSE8iOyB0aGVuCi1AQCAtNTg1MSw4ICs1ODU3LDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdQorQEAgLTU4NTEsOCArNTg1Nyw4IEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRzIHNvbWUgWFNJIGNvbnN0cnVjdHMuLi4gIiA+JjY7CiAgIyBUcnkgc29tZSBYU0kgZmVhdHVyZXMKICB4c2lfc2hlbGw9bm8KICAoIF9sdF9kdW1teT0iYS9iL2MiCkBAIC01ODUxLDcgKzU4NjIsNyBAQAogIAogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgaG93IHRvIGNvbnZlcnQgJGJ1aWxkIGZpbGUgbmFtZXMgdG8gJGhvc3QgZm9ybWF0IiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyBob3cgdG8gY29udmVydCAkYnVpbGQgZmlsZSBuYW1lcyB0byAkaG9zdCBmb3JtYXQuLi4gIiA+JjY7IH0KLStpZiAke2x0X2N2X3RvX2hvc3RfZmlsZV9jbWQrOn0gZmFsc2U7IHRoZW4gOgorK2lmIHRlc3QgIiR7bHRfY3ZfdG9faG9zdF9maWxlX2NtZCtzZXR9IiA9IHNldDsgdGhlbiA6CiArICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogK2Vsc2UKICsgIGNhc2UgJGhvc3QgaW4KQEAgLTU4OTgsNyArNTkwOSw3IEBACiArCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBob3cgdG8gY29udmVydCAkYnVpbGQgZmlsZSBuYW1lcyB0byB0b29sY2hhaW4gZm9ybWF0IiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyBob3cgdG8gY29udmVydCAkYnVpbGQgZmlsZSBuYW1lcyB0byB0b29sY2hhaW4gZm9ybWF0Li4uICIgPiY2OyB9Ci0raWYgJHtsdF9jdl90b190b29sX2ZpbGVfY21kKzp9IGZhbHNlOyB0aGVuIDoKKytpZiB0ZXN0ICIke2x0X2N2X3RvX3Rvb2xfZmlsZV9jbWQrc2V0fSIgPSBzZXQ7IHRoZW4gOgogKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKICtlbHNlCiArICAjYXNzdW1lIG9yZGluYXJ5IGNyb3NzIHRvb2xzLCBvciBuYXRpdmUgYnVpbGQuCkBAIC01OTgyLDcgKzU5OTMsNyBAQAogIGZpbGVfbWFnaWNfY21kPSRsdF9jdl9maWxlX21hZ2ljX2NtZAogIGRlcGxpYnNfY2hlY2tfbWV0aG9kPSRsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZAogIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGlic19jaGVja19tZXRob2Q9dW5rbm93bgotQEAgLTYyNTksOSArNjM1NSwxNjIgQEAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaQorQEAgLTYyNTcsMTEgKzYzNTMsMTY0IEBAIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGlic19jaGVja19tZXRob2Q9dW5rbm93bgogIAogIAogIApAQCAtNTk5Niw2ICs2MDA3LDggQEAKICsKICsKICsKKyAKKyAKICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCiAtICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9YXIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgogLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWFyOyBhY193b3JkPSQyCkBAIC02MDAzLDcgKzYwMTYsNyBAQAogK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWRsbHRvb2w7IGFjX3dvcmQ9JDIKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci0raWYgJHthY19jdl9wcm9nX0RMTFRPT0wrOn0gZmFsc2U7IHRoZW4gOgorK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19ETExUT09MK3NldH0iID0gc2V0OyB0aGVuIDoKICsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiArZWxzZQogKyAgaWYgdGVzdCAtbiAiJERMTFRPT0wiOyB0aGVuCkBAIC02MDE1LDcgKzYwMjgsNyBAQAogKyAgSUZTPSRhc19zYXZlX0lGUwogKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICsgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0rICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisrICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCiArICAgIGFjX2N2X3Byb2dfRExMVE9PTD0iJHthY190b29sX3ByZWZpeH1kbGx0b29sIgogKyAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICsgICAgYnJlYWsgMgpAQCAtNjA0Myw3ICs2MDU2LDcgQEAKICtzZXQgZHVtbXkgZGxsdG9vbDsgYWNfd29yZD0kMgogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLStpZiAke2FjX2N2X3Byb2dfYWNfY3RfRExMVE9PTCs6fSBmYWxzZTsgdGhlbiA6CisraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X0RMTFRPT0wrc2V0fSIgPSBzZXQ7IHRoZW4gOgogKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKICtlbHNlCiArICBpZiB0ZXN0IC1uICIkYWNfY3RfRExMVE9PTCI7IHRoZW4KQEAgLTYwNTUsNyArNjA2OCw3IEBACiArICBJRlM9JGFzX3NhdmVfSUZTCiArICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgogKyAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KLSsgIGlmIGFzX2ZuX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKysgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KICsgICAgYWNfY3ZfcHJvZ19hY19jdF9ETExUT09MPSJkbGx0b29sIgogKyAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICsgICAgYnJlYWsgMgpAQCAtNjEwMyw3ICs2MTE2LDcgQEAKICsKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGhvdyB0byBhc3NvY2lhdGUgcnVudGltZSBhbmQgbGluayBsaWJyYXJpZXMiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGhvdyB0byBhc3NvY2lhdGUgcnVudGltZSBhbmQgbGluayBsaWJyYXJpZXMuLi4gIiA+JjY7IH0KLStpZiAke2x0X2N2X3NoYXJlZGxpYl9mcm9tX2xpbmtsaWJfY21kKzp9IGZhbHNlOyB0aGVuIDoKKytpZiB0ZXN0ICIke2x0X2N2X3NoYXJlZGxpYl9mcm9tX2xpbmtsaWJfY21kK3NldH0iID0gc2V0OyB0aGVuIDoKICsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiArZWxzZQogKyAgbHRfY3Zfc2hhcmVkbGliX2Zyb21fbGlua2xpYl9jbWQ9J3Vua25vd24nCkBAIC02MTQ3LDExICs2MTYwLDEzIEBACiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQogIGlmICR7YWNfY3ZfcHJvZ19BUis6fSBmYWxzZTsgdGhlbiA6Ci1AQCAtNjI3Nyw3ICs2NTI2LDcgQEAgZG8KK0BAIC02Mjc2LDggKzY1MjUsOCBAQCBkbworICAgSUZTPSRhc19zYXZlX0lGUwogICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCistICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCiAtICAgIGFjX2N2X3Byb2dfQVI9IiR7YWNfdG9vbF9wcmVmaXh9YXIiCisrICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCiArICAgIGFjX2N2X3Byb2dfQVI9IiRhY190b29sX3ByZWZpeCRhY19wcm9nIgogICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICAgYnJlYWsgMgpAQCAtNjE3NSwxNSArNjE5MCw2IEBACiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQogIGlmICR7YWNfY3ZfcHJvZ19hY19jdF9BUis6fSBmYWxzZTsgdGhlbiA6Ci1AQCAtNjMxNyw3ICs2NTcwLDcgQEAgZG8KLSAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotICAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgotLSAgICBhY19jdl9wcm9nX2FjX2N0X0FSPSJhciIKLSsgICAgYWNfY3ZfcHJvZ19hY19jdF9BUj0iJGFjX3Byb2ciCi0gICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQotICAgICBicmVhayAyCi0gICBmaQogQEAgLTYzMzYsNiArNjU4OSwxMCBAQCBlbHNlCiAgJGFzX2VjaG8gIm5vIiA+JjY7IH0KICBmaQpAQCAtNjIyMCw3ICs2MjI2LDcgQEAKICsKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBhcmNoaXZlciBARklMRSBzdXBwb3J0IiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyBmb3IgYXJjaGl2ZXIgQEZJTEUgc3VwcG9ydC4uLiAiID4mNjsgfQotK2lmICR7bHRfY3ZfYXJfYXRfZmlsZSs6fSBmYWxzZTsgdGhlbiA6CisraWYgdGVzdCAiJHtsdF9jdl9hcl9hdF9maWxlK3NldH0iID0gc2V0OyB0aGVuIDoKICsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiArZWxzZQogKyAgbHRfY3ZfYXJfYXRfZmlsZT1ubwpAQCAtNjMxOSw3ICs2MzI1LDcgQEAKICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICB2b2lkICAgICAgICphZGRyZXNzOwogIH0KLUBAIC02ODEzLDggKzcxMzksOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkKK0BAIC02ODEzLDggKzcxMzksOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkgewogIF9MVF9FT0YKICAJICAjIE5vdyB0cnkgbGlua2luZyB0aGUgdHdvIGZpbGVzLgogIAkgIG12IGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRzdG0uJGFjX29iamV4dApAQCAtNjM0MSw3ICs2MzQ3LDcgQEAKICAJZWxzZQogIAkgIGVjaG8gImNhbm5vdCBmaW5kIG5tX3Rlc3RfZnVuYyBpbiAkbmxpc3QiID4mNQogIAlmaQotQEAgLTY4NjIsNiArNzE4OCwxNyBAQCBlbHNlCitAQCAtNjg2Miw2ICs3MTg4LDE4IEBAIGVsc2UKICAkYXNfZWNobyAib2siID4mNjsgfQogIGZpCiAgCkBAIC02MzU2LDE0ICs2MzYyLDE5IEBACiArCiArCiArCisrCiAgCiAgCiAgCi1AQCAtNjg4Myw2ICs3MjIwLDQ0IEBAIGZpCitAQCAtNjg3OCw2ICs3MjE2LDQzIEBAIGZpCiAgCiAgCiAgCiArCisrCisrCisrCisrCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igc3lzcm9vdCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHN5c3Jvb3QuLi4gIiA+JjY7IH0KICsKQEAgLTYzOTAsMjAgKzY0MDEsMTUgQEAKICsgKikKICsgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHt3aXRoX2xpYnRvb2xfc3lzcm9vdH0iID4mNQogKyRhc19lY2hvICIke3dpdGhfbGlidG9vbF9zeXNyb290fSIgPiY2OyB9Ci0rICAgYXNfZm5fZXJyb3IgJD8gIlRoZSBzeXNyb290IG11c3QgYmUgYW4gYWJzb2x1dGUgcGF0aC4iICIkTElORU5PIiA1CisrICAgYXNfZm5fZXJyb3IgIlRoZSBzeXNyb290IG11c3QgYmUgYW4gYWJzb2x1dGUgcGF0aC4iICIkTElORU5PIiA1CiArICAgOzsKICtlc2FjCiArCiArIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAke2x0X3N5c3Jvb3Q6LW5vfSIgPiY1CiArJGFzX2VjaG8gIiR7bHRfc3lzcm9vdDotbm99IiA+JjY7IH0KLSsKLSsKLSsKLSsKLSsKLSAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbGlidG9vbC1sb2NrIHdhcyBnaXZlbi4KLSBpZiB0ZXN0ICIke2VuYWJsZV9saWJ0b29sX2xvY2src2V0fSIgPSBzZXQ7IHRoZW4gOgotICAgZW5hYmxldmFsPSRlbmFibGVfbGlidG9vbF9sb2NrOworIAorIAorIAogQEAgLTcwODksNiArNzQ2NCwxMjMgQEAgZXNhYwogIAogIG5lZWRfbG9ja3M9IiRlbmFibGVfbGlidG9vbF9sb2NrIgpAQCAtNjQxMyw3ICs2NDE5LDcgQEAKICtzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1tdDsgYWNfd29yZD0kMgogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLStpZiAke2FjX2N2X3Byb2dfTUFOSUZFU1RfVE9PTCs6fSBmYWxzZTsgdGhlbiA6CisraWYgdGVzdCAiJHthY19jdl9wcm9nX01BTklGRVNUX1RPT0wrc2V0fSIgPSBzZXQ7IHRoZW4gOgogKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKICtlbHNlCiArICBpZiB0ZXN0IC1uICIkTUFOSUZFU1RfVE9PTCI7IHRoZW4KQEAgLTY0MjUsNyArNjQzMSw3IEBACiArICBJRlM9JGFzX3NhdmVfSUZTCiArICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgogKyAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KLSsgIGlmIGFzX2ZuX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKysgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KICsgICAgYWNfY3ZfcHJvZ19NQU5JRkVTVF9UT09MPSIke2FjX3Rvb2xfcHJlZml4fW10IgogKyAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICsgICAgYnJlYWsgMgpAQCAtNjQ1Myw3ICs2NDU5LDcgQEAKICtzZXQgZHVtbXkgbXQ7IGFjX3dvcmQ9JDIKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci0raWYgJHthY19jdl9wcm9nX2FjX2N0X01BTklGRVNUX1RPT0wrOn0gZmFsc2U7IHRoZW4gOgorK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9NQU5JRkVTVF9UT09MK3NldH0iID0gc2V0OyB0aGVuIDoKICsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiArZWxzZQogKyAgaWYgdGVzdCAtbiAiJGFjX2N0X01BTklGRVNUX1RPT0wiOyB0aGVuCkBAIC02NDY1LDcgKzY0NzEsNyBAQAogKyAgSUZTPSRhc19zYXZlX0lGUwogKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICsgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0rICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisrICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCiArICAgIGFjX2N2X3Byb2dfYWNfY3RfTUFOSUZFU1RfVE9PTD0ibXQiCiArICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQogKyAgICBicmVhayAyCkBAIC02NTAzLDcgKzY1MDksNyBAQAogK3Rlc3QgLXogIiRNQU5JRkVTVF9UT09MIiAmJiBNQU5JRkVTVF9UT09MPW10CiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBpZiAkTUFOSUZFU1RfVE9PTCBpcyBhIG1hbmlmZXN0IHRvb2wiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGlmICRNQU5JRkVTVF9UT09MIGlzIGEgbWFuaWZlc3QgdG9vbC4uLiAiID4mNjsgfQotK2lmICR7bHRfY3ZfcGF0aF9tYWluZmVzdF90b29sKzp9IGZhbHNlOyB0aGVuIDoKKytpZiB0ZXN0ICIke2x0X2N2X3BhdGhfbWFpbmZlc3RfdG9vbCtzZXR9IiA9IHNldDsgdGhlbiA6CiArICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogK2Vsc2UKICsgIGx0X2N2X3BhdGhfbWFpbmZlc3RfdG9vbD1ubwpAQCAtNjU2NSw3ICs2NTcxLDcgQEAKICAKICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgICAgIGx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCi1AQCAtODQwMSw2ICs4ODk0LDEyIEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC04NDAxLDYgKzg4OTQsMTIgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAJbHRfcHJvZ19jb21waWxlcl9waWM9Jy0tc2hhcmVkJwogIAlsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLS1zdGF0aWMnCiAgCTs7CkBAIC02NTc4LDcgKzY1ODQsNyBAQAogICAgICAgIHBnY2MqIHwgcGdmNzcqIHwgcGdmOTAqIHwgcGdmOTUqIHwgcGdmb3J0cmFuKikKICAgICAgICAgICMgUG9ydGxhbmQgR3JvdXAgY29tcGlsZXJzICgqbm90KiB0aGUgUGVudGl1bSBnY2MgY29tcGlsZXIsCiAgCSMgd2hpY2ggbG9va3MgdG8gYmUgYSBkZWFkIHByb2plY3QpCi1AQCAtODQ2Myw3ICs4OTYyLDcgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpbworQEAgLTg0NjMsNyArODk2Miw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW9uIHRvIHByb2R1Y2UgUElDLi4uICIgPiY2OyB9CiAgICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9Jy1LUElDJwogICAgICAgIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctQnN0YXRpYycKICAgICAgICBjYXNlICRjY19iYXNlbmFtZSBpbgpAQCAtNjYwMCw3ICs2NjA2LDcgQEAKICAKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW9uIHRvIHByb2R1Y2UgUElDIiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQotK2lmICR7bHRfY3ZfcHJvZ19jb21waWxlcl9waWMrOn0gZmFsc2U7IHRoZW4gOgorK2lmIHRlc3QgIiR7bHRfY3ZfcHJvZ19jb21waWxlcl9waWMrc2V0fSIgPSBzZXQ7IHRoZW4gOgogKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKICtlbHNlCiArICBsdF9jdl9wcm9nX2NvbXBpbGVyX3BpYz0kbHRfcHJvZ19jb21waWxlcl9waWMKQEAgLTY2ODksNyArNjY5NSw3IEBACiArICAgICAgICBpZiB0ZXN0ICIke2x0X2N2X2FpeF9saWJwYXRoK3NldH0iID0gc2V0OyB0aGVuCiArICBhaXhfbGlicGF0aD0kbHRfY3ZfYWl4X2xpYnBhdGgKICtlbHNlCi0rICBpZiAke2x0X2N2X2FpeF9saWJwYXRoXys6fSBmYWxzZTsgdGhlbiA6CisrICBpZiB0ZXN0ICIke2x0X2N2X2FpeF9saWJwYXRoXytzZXR9IiA9IHNldDsgdGhlbiA6CiArICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogK2Vsc2UKICsgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKQEAgLTY3MzksNyArNjc0NSw3IEBACiAgCiAgICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogICAgICAgICAgYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJyJcJHt3bH0kbm9fZW50cnlfZmxhZyInICRjb21waWxlcl9mbGFncyBgaWYgdGVzdCAieCR7YWxsb3dfdW5kZWZpbmVkX2ZsYWd9IiAhPSAieCI7IHRoZW4gZnVuY19lY2hvX2FsbCAiJHt3bH0ke2FsbG93X3VuZGVmaW5lZF9mbGFnfSI7IGVsc2UgOjsgZmlgICciXCR7d2x9JGV4cF9zeW1fZmxhZzpcJGV4cG9ydF9zeW1ib2xzICRzaGFyZWRfZmxhZyIKLUBAIC05MjkyLDcgKzk4MTQsMTMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTkyOTIsNyArOTgxNCwxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJZWxzZQogIAkgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuCiAgCSAjIGVtcHR5IGV4ZWN1dGFibGUuCkBAIC02NzQ3LDcgKzY3NTMsNyBAQAogKwkgaWYgdGVzdCAiJHtsdF9jdl9haXhfbGlicGF0aCtzZXR9IiA9IHNldDsgdGhlbgogKyAgYWl4X2xpYnBhdGg9JGx0X2N2X2FpeF9saWJwYXRoCiArZWxzZQotKyAgaWYgJHtsdF9jdl9haXhfbGlicGF0aF8rOn0gZmFsc2U7IHRoZW4gOgorKyAgaWYgdGVzdCAiJHtsdF9jdl9haXhfbGlicGF0aF8rc2V0fSIgPSBzZXQ7IHRoZW4gOgogKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKICtlbHNlCiArICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CkBAIC02Nzk3LDcgKzY4MDMsNyBAQAogIAogIAkgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAJICAjIFdhcm5pbmcgLSB3aXRob3V0IHVzaW5nIHRoZSBvdGhlciBydW4gdGltZSBsb2FkaW5nIGZsYWdzLAotQEAgLTkzNjUsMjAgKzk5MDAsNjMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTkzNjUsMjAgKzk5MDAsNjMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgICAgICAgIyBNaWNyb3NvZnQgVmlzdWFsIEMrKy4KICAgICAgICAjIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgaXMgYWN0dWFsbHkgbWVhbmluZ2xlc3MsIGFzIHRoZXJlIGlzCiAgICAgICAgIyBubyBzZWFyY2ggcGF0aCBmb3IgRExMcy4KQEAgLTY4NzUsNyArNjg4MSw3IEBACiAgICAgICAgOzsKICAKICAgICAgZGFyd2luKiB8IHJoYXBzb2R5KikKLUBAIC05NDM5LDcgKzEwMDE3LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk0MzksNyArMTAwMTcsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgIyBGcmVlQlNEIDMgYW5kIGdyZWF0ZXIgdXNlcyBnY2MgLXNoYXJlZCB0byBkbyBzaGFyZWQgbGlicmFyaWVzLgogICAgICBmcmVlYnNkKiB8IGRyYWdvbmZseSopCkBAIC02ODg0LDcgKzY4OTAsNyBAQAogICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1SJGxpYmRpcicKICAgICAgICBoYXJkY29kZV9kaXJlY3Q9eWVzCiAgICAgICAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj1ubwotQEAgLTk0NDcsNyArMTAwMjUsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTQ0Nyw3ICsxMDAyNSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICBocHV4OSopCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KQEAgLTY4OTMsNyArNjg5OSw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci8kc29uYW1lfiRMRCAtYiArYiAkaW5zdGFsbF9saWJkaXIgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzfnRlc3QgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSA9ICRsaWIgfHwgbXYgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGliJwogICAgICAgIGZpCi1AQCAtOTQ2Myw3ICsxMDA0MSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NDYzLDcgKzEwMDQxLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgIGhwdXgxMCopCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXMgJiYgdGVzdCAiJHdpdGhfZ251X2xkIiA9IG5vOyB0aGVuCkBAIC02OTAyLDcgKzY5MDgsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckTEQgLWIgK2ggJHNvbmFtZSArYiAkaW5zdGFsbF9saWJkaXIgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzJwogICAgICAgIGZpCi1AQCAtOTQ4NywxMCArMTAwNjUsMTAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk0ODcsMTAgKzEwMDY1LDEwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAkgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJHt3bH0raCAke3dsfSRzb25hbWUgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCiAgCSAgOzsKICAJaWE2NCopCkBAIC02OTMwLDcgKzY5MzYsNyBAQAogKwkjIFRoaXMgc2hvdWxkIGJlIHRoZSBzYW1lIGZvciBhbGwgbGFuZ3VhZ2VzLCBzbyBubyBwZXItdGFnIGNhY2hlIHZhcmlhYmxlLgogKwl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdoZXRoZXIgdGhlICRob3N0X29zIGxpbmtlciBhY2NlcHRzIC1leHBvcnRlZF9zeW1ib2wiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlICRob3N0X29zIGxpbmtlciBhY2NlcHRzIC1leHBvcnRlZF9zeW1ib2wuLi4gIiA+JjY7IH0KLStpZiAke2x0X2N2X2lyaXhfZXhwb3J0ZWRfc3ltYm9sKzp9IGZhbHNlOyB0aGVuIDoKKytpZiB0ZXN0ICIke2x0X2N2X2lyaXhfZXhwb3J0ZWRfc3ltYm9sK3NldH0iID0gc2V0OyB0aGVuIDoKICsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiArZWxzZQogKyAgc2F2ZV9MREZMQUdTPSIkTERGTEFHUyIKQEAgLTY5NjAsNyArNjk2Niw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGZ1bmNfZWNob19hbGwgIi1zZXRfdmVyc2lvbiAkdmVyc3RyaW5nImAgLXVwZGF0ZV9yZWdpc3RyeSAke291dHB1dF9vYmpkaXJ9L3NvX2xvY2F0aW9ucyAtbyAkbGliJwogIAlhcmNoaXZlX2V4cHN5bV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLXNvbmFtZSAkc29uYW1lIGB0ZXN0IC1uICIkdmVyc3RyaW5nIiAmJiBmdW5jX2VjaG9fYWxsICItc2V0X3ZlcnNpb24gJHZlcnN0cmluZyJgIC11cGRhdGVfcmVnaXN0cnkgJHtvdXRwdXRfb2JqZGlyfS9zb19sb2NhdGlvbnMgLWV4cG9ydHNfZmlsZSAkZXhwb3J0X3N5bWJvbHMgLW8gJGxpYicKLUBAIC05NjcwLDcgKzEwMjYxLDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iagorQEAgLTk2NzAsNyArMTAyNjEsNyBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICAgb3NmNCogfCBvc2Y1KikJIyBhcyBvc2YzKiB3aXRoIHRoZSBhZGRpdGlvbiBvZiAtbXN5bSBmbGFnCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyAke3dsfS1leHBlY3RfdW5yZXNvbHZlZCAke3dsfVwqJwpAQCAtNjk2OSw3ICs2OTc1LDcgQEAKICAJaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tcnBhdGggJHt3bH0kbGliZGlyJwogICAgICAgIGVsc2UKICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyAtZXhwZWN0X3VucmVzb2x2ZWQgXConCi1AQCAtOTY4OSw5ICsxMDI4MCw5IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmoKK0BAIC05Njg5LDkgKzEwMjgwLDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgICAgbm9fdW5kZWZpbmVkX2ZsYWc9JyAteiBkZWZzJwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCXdsYXJjPScke3dsfScKQEAgLTcwNzUsMTUgKzcwODEsNiBAQAogICAgaGFyZGNvZGVfaW50b19saWJzPXllcwogICAgOzsKICAKLUBAIC0xMTE5NSw3ICsxMTg0NSw3IEBAIGVsc2UKLSAgIGx0X2RsdW5rbm93bj0wOyBsdF9kbG5vX3VzY29yZT0xOyBsdF9kbG5lZWRfdXNjb3JlPTIKLSAgIGx0X3N0YXR1cz0kbHRfZGx1bmtub3duCi0gICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotLSNsaW5lIDExMTkzICJjb25maWd1cmUiCi0rI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgotICNpbmNsdWRlICJjb25mZGVmcy5oIgotIAotICNpZiBIQVZFX0RMRkNOX0gKIEBAIC0xMTIzOSwxMCArMTE4ODksMTAgQEAgZWxzZQogIC8qIFdoZW4gLWZ2aXNiaWxpdHk9aGlkZGVuIGlzIHVzZWQsIGFzc3VtZSB0aGUgY29kZSBoYXMgYmVlbiBhbm5vdGF0ZWQKICAgICBjb3JyZXNwb25kaW5nbHkgZm9yIHRoZSBzeW1ib2xzIG5lZWRlZC4gICovCkBAIC03MDk3LDE1ICs3MDk0LDYgQEAKICBpbnQgbWFpbiAoKQogIHsKICAgIHZvaWQgKnNlbGYgPSBkbG9wZW4gKDAsIExUX0RMR0xPQkFMfExUX0RMTEFaWV9PUl9OT1cpOwotQEAgLTExMzAxLDcgKzExOTUxLDcgQEAgZWxzZQotICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgotICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KLSAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0tI2xpbmUgMTEyOTkgImNvbmZpZ3VyZSIKLSsjbGluZSAkTElORU5PICJjb25maWd1cmUiCi0gI2luY2x1ZGUgImNvbmZkZWZzLmgiCi0gCi0gI2lmIEhBVkVfRExGQ05fSAogQEAgLTExMzQ1LDEwICsxMTk5NSwxMCBAQCBlbHNlCiAgLyogV2hlbiAtZnZpc2JpbGl0eT1oaWRkZW4gaXMgdXNlZCwgYXNzdW1lIHRoZSBjb2RlIGhhcyBiZWVuIGFubm90YXRlZAogICAgIGNvcnJlc3BvbmRpbmdseSBmb3IgdGhlIHN5bWJvbHMgbmVlZGVkLiAgKi8KQEAgLTcxMTksNyArNzEwNyw3IEBACiAgaW50IG1haW4gKCkKICB7CiAgICB2b2lkICpzZWxmID0gZGxvcGVuICgwLCBMVF9ETEdMT0JBTHxMVF9ETExBWllfT1JfTk9XKTsKLUBAIC0xMzMxNCwxMyArMTM5NjQsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5XworQEAgLTEzMzE0LDEzICsxMzk2NCwyMCBAQCBleGVleHQ9J2AkRUNITyAiJGV4ZWV4dCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfdW5zZXQ9J2AkRUNITyAiJGx0X3Vuc2V0IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9TUDJOTD0nYCRFQ0hPICIkbHRfU1AyTkwiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X05MMlNQPSdgJEVDSE8gIiRsdF9OTDJTUCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC03MTQwLDcgKzcxMjgsNyBAQAogIFNUUklQPSdgJEVDSE8gIiRTVFJJUCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgUkFOTElCPSdgJEVDSE8gIiRSQU5MSUIiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG9sZF9wb3N0aW5zdGFsbF9jbWRzPSdgJEVDSE8gIiRvbGRfcG9zdGluc3RhbGxfY21kcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTMzMzUsMTQgKzEzOTkyLDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGwKK0BAIC0xMzMzNSwxNCArMTM5OTIsMTcgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSIgfCAkU0VEICIkZGUKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC03MTU5LDcgKzcxNDcsNyBAQAogIERTWU1VVElMPSdgJEVDSE8gIiREU1lNVVRJTCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgTk1FRElUPSdgJEVDSE8gIiROTUVESVQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIExJUE89J2AkRUNITyAiJExJUE8iIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTEzMzc1LDEyICsxNDAzNSwxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSdgJEVDSE8gIiRoYXJkY29kCitAQCAtMTMzNzUsMTIgKzE0MDM1LDEyIEBAIGhhcmRjb2RlX3NobGlicGF0aF92YXI9J2AkRUNITyAiJGhhcmRjb2RlX3NobGlicGF0aF92YXIiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xCiAgaGFyZGNvZGVfYXV0b21hdGljPSdgJEVDSE8gIiRoYXJkY29kZV9hdXRvbWF0aWMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGluaGVyaXRfcnBhdGg9J2AkRUNITyAiJGluaGVyaXRfcnBhdGgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGxpbmtfYWxsX2RlcGxpYnM9J2AkRUNITyAiJGxpbmtfYWxsX2RlcGxpYnMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtNzI3Myw3ICs3MjYxLDcgQEAKICAjIEEgc3ltYm9sIHN0cmlwcGluZyBwcm9ncmFtLgogIFNUUklQPSRsdF9TVFJJUAogIAotQEAgLTE0NDEzLDYgKzE1MTA0LDEyIEBAIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9JGx0X2x0X2MKK0BAIC0xNDQxMyw2ICsxNTEwNCwxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcwogICMgVHJhbnNmb3JtIHRoZSBvdXRwdXQgb2Ygbm0gaW4gYSBDIG5hbWUgYWRkcmVzcyBwYWlyIHdoZW4gbGliIHByZWZpeCBpcyBuZWVkZWQuCiAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4CiAgCkBAIC03NTM0LDkgKzc1MjIsMTUgQEAKIC1fTFRfRU9GCiAtICAgIDs7CiAtICBlc2FjCistCistCistICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCistICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCistCistICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CiArICBzZWQgJyRxJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCiArICAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQotIAorKwogKyAgaWYgdGVzdCB4IiR4c2lfc2hlbGwiID0geHllczsgdGhlbgogKyAgc2VkIC1lICcvXmZ1bmNfZGlybmFtZSAoKSQvLC9efSAjIGZ1bmNfZGlybmFtZSAvY1wKICtmdW5jX2Rpcm5hbWUgKClcCkBAIC03Njk0LDE5ICs3Njg4LDE2IEBACiArICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxsIGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mNQogKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxsIGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mMjt9CiArZmkKLSAKLS0gIHNlZCAtbiAnL14jIEdlbmVyYXRlZCBzaGVsbCBmdW5jdGlvbnMgaW5zZXJ0ZWQgaGVyZS8sJHAnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKLS0gICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKLS0gIG12IC1mICIkY2ZnZmlsZSIgIiRvZmlsZSIgfHwKKysKKysKICsgICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CiAgICAgIChybSAtZiAiJG9maWxlIiAmJiBjcCAiJGNmZ2ZpbGUiICIkb2ZpbGUiICYmIHJtIC1mICIkY2ZnZmlsZSIpCiAgICBjaG1vZCAreCAiJG9maWxlIgogIAotSW5kZXg6IGdpdC9sZC9jb25maWd1cmUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9sZC9jb25maWd1cmUKLSsrKyBnaXQvbGQvY29uZmlndXJlCitkaWZmIC0tZ2l0IGEvbGQvY29uZmlndXJlIGIvbGQvY29uZmlndXJlCitpbmRleCBiYzA5ZTdlZjgxLi40M2MzOTFjMmIzIDEwMDc1NQorLS0tIGEvbGQvY29uZmlndXJlCisrKysgYi9sZC9jb25maWd1cmUKIEBAIC02ODcsOCArNjg3LDExIEBAIE9UT09MCiAgTElQTwogIE5NRURJVApAQCAtNzc1Niw3ICs3NzQ3LDcgQEAKICAgICB0ZXN0ICJYYHByaW50IC1yIC0tICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgogICAgRUNITz0ncHJpbnQgLXIgLS0nCiAgZWxpZiB0ZXN0ICJYYHByaW50ZiAlcyAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KLUBAIC02Njg2LDggKzY2OTIsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1CitAQCAtNjY4Niw4ICs2NjkyLDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgc29tZSBYU0kgY29uc3RydWN0cy4uLiAiID4mNjsKICAjIFRyeSBzb21lIFhTSSBmZWF0dXJlcwogIHhzaV9zaGVsbD1ubwogICggX2x0X2R1bW15PSJhL2IvYyIKQEAgLTc4OTIsNyArNzg4Myw3IEBACiAgZmlsZV9tYWdpY19jbWQ9JGx0X2N2X2ZpbGVfbWFnaWNfY21kCiAgZGVwbGlic19jaGVja19tZXRob2Q9JGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kCiAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaWJzX2NoZWNrX21ldGhvZD11bmtub3duCi1AQCAtNzA4OSw5ICs3MTkwLDE2MiBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpCitAQCAtNzA4OSw5ICs3MTkwLDE2MiBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KICAKICAKICAKQEAgLTgxMDUsNyArODA5Niw3IEBACiAgICBpZiB0ZXN0ICJ4JGFjX2N0X0FSIiA9IHg7IHRoZW4KICAgICAgQVI9ImZhbHNlIgogICAgZWxzZQotQEAgLTcxNzcsMTIgKzc0MzksMTEgQEAgYWNfdG9vbF93YXJuZWQ9eWVzIDs7CitAQCAtNzE3NywxMiArNzQzOSwxMiBAQCBhY190b29sX3dhcm5lZD15ZXMgOzsKICBlc2FjCiAgICAgIEFSPSRhY19jdF9BUgogICAgZmkKQEAgLTgxMTgsMTAgKzgxMDksMTEgQEAKICs6ICR7QVI9YXJ9CiArOiAke0FSX0ZMQUdTPWNydX0KICsKKysKICAKICAKICAKLUBAIC03MTkzLDYgKzc0NTQsNjMgQEAgdGVzdCAteiAiJEFSX0ZMQUdTIiAmJiBBUl9GTEFHUz1jcnUKK0BAIC03MTkyLDYgKzc0NTQsNjIgQEAgdGVzdCAteiAiJEFSX0ZMQUdTIiAmJiBBUl9GTEFHUz1jcnUKICAKICAKICAKQEAgLTgxODEsMTAgKzgxNzMsOSBAQAogKwogKwogKwotKworIAogIAogIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KLSAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1zdHJpcCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCiBAQCAtNzUyOCw4ICs3ODQ2LDggQEAgZXNhYwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSJzZWQgLW4gLWUgJ3MvXlQgLiogXCguKlwpJC9leHRlcm4gaW50IFwxKCk7L3AnIC1lICdzL14kc3ltY29kZSogLiogXCguKlwpJC9leHRlcm4gY2hhciBcMTsvcCciCiAgCkBAIC04MjMyLDcgKzgyMjMsNyBAQAogICAgY29uc3QgY2hhciAqbmFtZTsKICAgIHZvaWQgICAgICAgKmFkZHJlc3M7CiAgfQotQEAgLTc2NDMsOCArNzk3NCw4IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKQorQEAgLTc2NDMsOCArNzk3NCw4IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKSB7CiAgX0xUX0VPRgogIAkgICMgTm93IHRyeSBsaW5raW5nIHRoZSB0d28gZmlsZXMuCiAgCSAgbXYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdHN0bS4kYWNfb2JqZXh0CkBAIC04MjU0LDcgKzgyNDUsNyBAQAogIAllbHNlCiAgCSAgZWNobyAiY2Fubm90IGZpbmQgbm1fdGVzdF9mdW5jIGluICRubGlzdCIgPiY1CiAgCWZpCi1AQCAtNzY5Miw2ICs4MDIzLDEzIEBAIGVsc2UKK0BAIC03NjkyLDYgKzgwMjMsMTkgQEAgZWxzZQogICRhc19lY2hvICJvayIgPiY2OyB9CiAgZmkKICAKQEAgLTgyNjUsMTggKzgyNTYsMjMgQEAKICsgIG5tX2ZpbGVfbGlzdF9zcGVjPSdAJwogK2ZpCiArCi0gCi0gCi0gCi1AQCAtNzcxMyw2ICs4MDUxLDQ4IEBAIGZpCi0gCi0gCi0gCiArCiArCiArCiArCiArCisrCisgCisgCisgCitAQCAtNzcwOCw2ICs4MDUyLDQyIEBAIGZpCisgCisgCisgCisrCisrCisrCisrCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igc3lzcm9vdCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHN5c3Jvb3QuLi4gIiA+JjY7IH0KICsKQEAgLTgzMDksMTQgKzgzMDUsOSBAQAogKwogKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHtsdF9zeXNyb290Oi1ub30iID4mNQogKyRhc19lY2hvICIke2x0X3N5c3Jvb3Q6LW5vfSIgPiY2OyB9Ci0rCi0rCi0rCi0rCi0rCi0gIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxpYnRvb2wtbG9jayB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHtlbmFibGVfbGlidG9vbF9sb2NrK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgIGVuYWJsZXZhbD0kZW5hYmxlX2xpYnRvb2xfbG9jazsKKyAKKyAKKyAKIEBAIC03OTE5LDYgKzgyOTksMTIzIEBAIGVzYWMKICAKICBuZWVkX2xvY2tzPSIkZW5hYmxlX2xpYnRvb2xfbG9jayIKQEAgLTg0OTUsNyArODQ4Niw3IEBACiAgCiAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogICAgICBsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJwotQEAgLTkyMzIsNiArOTc0MCwxMiBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtOTIzMiw2ICs5NzQwLDEyIEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW9uIHRvIHByb2R1Y2UgUElDLi4uICIgPiY2OyB9CiAgCWx0X3Byb2dfY29tcGlsZXJfcGljPSctLXNoYXJlZCcKICAJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy0tc3RhdGljJwogIAk7OwpAQCAtODUwOCw3ICs4NDk5LDcgQEAKICAgICAgICBwZ2NjKiB8IHBnZjc3KiB8IHBnZjkwKiB8IHBnZjk1KiB8IHBnZm9ydHJhbiopCiAgICAgICAgICAjIFBvcnRsYW5kIEdyb3VwIGNvbXBpbGVycyAoKm5vdCogdGhlIFBlbnRpdW0gZ2NjIGNvbXBpbGVyLAogIAkjIHdoaWNoIGxvb2tzIHRvIGJlIGEgZGVhZCBwcm9qZWN0KQotQEAgLTkyOTQsNyArOTgwOCw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC05Mjk0LDcgKzk4MDgsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctS1BJQycKICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLUJzdGF0aWMnCiAgICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KQEAgLTg2NjksNyArODY2MCw3IEBACiAgCiAgICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogICAgICAgICAgYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJyJcJHt3bH0kbm9fZW50cnlfZmxhZyInICRjb21waWxlcl9mbGFncyBgaWYgdGVzdCAieCR7YWxsb3dfdW5kZWZpbmVkX2ZsYWd9IiAhPSAieCI7IHRoZW4gZnVuY19lY2hvX2FsbCAiJHt3bH0ke2FsbG93X3VuZGVmaW5lZF9mbGFnfSI7IGVsc2UgOjsgZmlgICciXCR7d2x9JGV4cF9zeW1fZmxhZzpcJGV4cG9ydF9zeW1ib2xzICRzaGFyZWRfZmxhZyIKLUBAIC0xMDEyMyw3ICsxMDY2MCwxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTAxMjMsNyArMTA2NjAsMTMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCWVsc2UKICAJICMgRGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGxpYnBhdGggZnJvbSB0aGUgdmFsdWUgZW5jb2RlZCBpbiBhbgogIAkgIyBlbXB0eSBleGVjdXRhYmxlLgpAQCAtODcyNywxMCArODcxOCwxMSBAQAogIAogIAkgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAJICAjIFdhcm5pbmcgLSB3aXRob3V0IHVzaW5nIHRoZSBvdGhlciBydW4gdGltZSBsb2FkaW5nIGZsYWdzLAotQEAgLTEwMTk2LDIwICsxMDc0Niw2MyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTAxOTUsMjEgKzEwNzQ1LDY0IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQorICAgICAgICMgV2hlbiBub3QgdXNpbmcgZ2NjLCB3ZSBjdXJyZW50bHkgYXNzdW1lIHRoYXQgd2UgYXJlIHVzaW5nCiAgICAgICAgIyBNaWNyb3NvZnQgVmlzdWFsIEMrKy4KICAgICAgICAjIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgaXMgYWN0dWFsbHkgbWVhbmluZ2xlc3MsIGFzIHRoZXJlIGlzCi0gICAgICAgIyBubyBzZWFyY2ggcGF0aCBmb3IgRExMcy4KKy0gICAgICAjIG5vIHNlYXJjaCBwYXRoIGZvciBETExzLgogLSAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyAnCiAtICAgICAgYWxsb3dfdW5kZWZpbmVkX2ZsYWc9dW5zdXBwb3J0ZWQKIC0gICAgICAjIFRlbGwgbHRtYWluIHRvIG1ha2UgLmxpYiBmaWxlcywgbm90IC5hIGZpbGVzLgpAQCAtODc0NSw2ICs4NzM3LDcgQEAKIC0gICAgICBvbGRfYXJjaGl2ZV9jbWRzPSdsaWIgLU9VVDokb2xkbGliJG9sZG9ianMkb2xkX2RlcGxpYnMnCiAtICAgICAgZml4X3NyY2ZpbGVfcGF0aD0nYGN5Z3BhdGggLXcgIiRzcmNmaWxlImAnCiAtICAgICAgZW5hYmxlX3NoYXJlZF93aXRoX3N0YXRpY19ydW50aW1lcz15ZXMKKysgICAgICAjIG5vIHNlYXJjaCBwYXRoIGZvciBETExzLgogKyAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCiArICAgICAgY2wqKQogKwkjIE5hdGl2ZSBNU1ZDCkBAIC04ODA1LDcgKzg3OTgsNyBAQAogICAgICAgIDs7CiAgCiAgICAgIGRhcndpbiogfCByaGFwc29keSopCi1AQCAtMTAyNzAsNyArMTA4NjMsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTAyNzAsNyArMTA4NjMsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgIyBGcmVlQlNEIDMgYW5kIGdyZWF0ZXIgdXNlcyBnY2MgLXNoYXJlZCB0byBkbyBzaGFyZWQgbGlicmFyaWVzLgogICAgICBmcmVlYnNkKiB8IGRyYWdvbmZseSopCkBAIC04ODE0LDcgKzg4MDcsNyBAQAogICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1SJGxpYmRpcicKICAgICAgICBoYXJkY29kZV9kaXJlY3Q9eWVzCiAgICAgICAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj1ubwotQEAgLTEwMjc4LDcgKzEwODcxLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEwMjc4LDcgKzEwODcxLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgIGhwdXg5KikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgpAQCAtODgyMyw3ICs4ODE2LDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJFJNICRvdXRwdXRfb2JqZGlyLyRzb25hbWV+JExEIC1iICtiICRpbnN0YWxsX2xpYmRpciAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3N+dGVzdCAkb3V0cHV0X29iamRpci8kc29uYW1lID0gJGxpYiB8fCBtdiAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWInCiAgICAgICAgZmkKLUBAIC0xMDI5NCw3ICsxMDg4Nyw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC0xMDI5NCw3ICsxMDg4Nyw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICBocHV4MTAqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzICYmIHRlc3QgIiR3aXRoX2dudV9sZCIgPSBubzsgdGhlbgpAQCAtODgzMiw3ICs4ODI1LDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJExEIC1iICtoICRzb25hbWUgK2IgJGluc3RhbGxfbGliZGlyIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKICAgICAgICBmaQotQEAgLTEwMzE4LDEwICsxMDkxMSwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTAzMTgsMTAgKzEwOTExLDEwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAkgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJHt3bH0raCAke3dsfSRzb25hbWUgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MnCiAgCSAgOzsKICAJaWE2NCopCkBAIC04ODkwLDcgKzg4ODMsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLXNvbmFtZSAkc29uYW1lIGB0ZXN0IC1uICIkdmVyc3RyaW5nIiAmJiBmdW5jX2VjaG9fYWxsICItc2V0X3ZlcnNpb24gJHZlcnN0cmluZyJgIC11cGRhdGVfcmVnaXN0cnkgJHtvdXRwdXRfb2JqZGlyfS9zb19sb2NhdGlvbnMgLW8gJGxpYicKICAJYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1leHBvcnRzX2ZpbGUgJGV4cG9ydF9zeW1ib2xzIC1vICRsaWInCi1AQCAtMTA1MDEsNyArMTExMDcsNyBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqCitAQCAtMTA1MDEsNyArMTExMDcsNyBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICAgb3NmNCogfCBvc2Y1KikJIyBhcyBvc2YzKiB3aXRoIHRoZSBhZGRpdGlvbiBvZiAtbXN5bSBmbGFnCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyAke3dsfS1leHBlY3RfdW5yZXNvbHZlZCAke3dsfVwqJwpAQCAtODg5OSw3ICs4ODkyLDcgQEAKICAJaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tcnBhdGggJHt3bH0kbGliZGlyJwogICAgICAgIGVsc2UKICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyAtZXhwZWN0X3VucmVzb2x2ZWQgXConCi1AQCAtMTA1MjAsOSArMTExMjYsOSBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqCitAQCAtMTA1MjAsOSArMTExMjYsOSBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICAgICBub191bmRlZmluZWRfZmxhZz0nIC16IGRlZnMnCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAJd2xhcmM9JyR7d2x9JwpAQCAtOTA2NSw3ICs5MDU4LDcgQEAKICAgIGNvbXBpbGVyPSRDQwogICAgY29tcGlsZXJfQ1hYPSRDQwogICAgZm9yIGNjX3RlbXAgaW4gJGNvbXBpbGVyIiI7IGRvCi1AQCAtMTI4NzAsNyArMTM1MzcsMTMgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgJGNvbXBpbAorQEAgLTEyODcwLDcgKzEzNTM3LDEzIEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlICRjb21waWxlciBsaW5rZXIgKCRMRCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllCiAgICAgICAgICAgIGFsbG93X3VuZGVmaW5lZF9mbGFnX0NYWD0nLWJlcm9rJwogICAgICAgICAgICAjIERldGVybWluZSB0aGUgZGVmYXVsdCBsaWJwYXRoIGZyb20gdGhlIHZhbHVlIGVuY29kZWQgaW4gYW4gZW1wdHkKICAgICAgICAgICAgIyBleGVjdXRhYmxlLgpAQCAtOTEyMyw3ICs5MTE2LDcgQEAKICAKICAgICAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19DWFg9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgCi1AQCAtMTI5MTEsNyArMTM1OTEsMTMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEyOTExLDcgKzEzNTkxLDEzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogICAgICAgICAgICBlbHNlCiAgCSAgICAjIERldGVybWluZSB0aGUgZGVmYXVsdCBsaWJwYXRoIGZyb20gdGhlIHZhbHVlIGVuY29kZWQgaW4gYW4KICAJICAgICMgZW1wdHkgZXhlY3V0YWJsZS4KQEAgLTkxODEsNyArOTE3NCw3IEBACiAgCiAgCSAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX0NYWD0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAJICAgICMgV2FybmluZyAtIHdpdGhvdXQgdXNpbmcgdGhlIG90aGVyIHJ1biB0aW1lIGxvYWRpbmcgZmxhZ3MsCi1AQCAtMTI5ODIsMjkgKzEzNjc1LDc1IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC0xMjk4MiwyOSArMTM2NzUsNzUgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgICAgICAgICA7OwogIAogICAgICAgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKQEAgLTkyODAsNyArOTI3Myw3IEBACiAgICAgICAgZGFyd2luKiB8IHJoYXBzb2R5KikKICAKICAKLUBAIC0xMzExMCw3ICsxMzg0OSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC0xMzExMCw3ICsxMzg0OSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICopCiAgICAgICAgICAgICAgaWYgdGVzdCAiJEdYWCIgPSB5ZXM7IHRoZW4KQEAgLTkyODksNyArOTI4Miw3IEBACiAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIyBGSVhNRTogaW5zZXJ0IHByb3BlciBDKysgbGlicmFyeSBzdXBwb3J0CiAgICAgICAgICAgICAgICBsZF9zaGxpYnNfQ1hYPW5vCi1AQCAtMTMxODEsMTAgKzEzOTIwLDEwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC0xMzE4MSwxMCArMTM5MjAsMTAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCSAgICAgICAgICAgIGFyY2hpdmVfY21kc19DWFg9JyRDQyAtc2hhcmVkIC1ub3N0ZGxpYiAtZlBJQyAke3dsfStoICR7d2x9JHNvbmFtZSAtbyAkbGliICRwcmVkZXBfb2JqZWN0cyAkbGlib2JqcyAkZGVwbGlicyAkcG9zdGRlcF9vYmplY3RzICRjb21waWxlcl9mbGFncycKICAJICAgICAgICAgICAgOzsKICAJICAgICAgICAgIGlhNjQqKQpAQCAtOTMwMiw3ICs5Mjk1LDcgQEAKICAJICAgICAgICAgICAgOzsKICAJICAgICAgICBlc2FjCiAgCSAgICAgIGZpCi1AQCAtMTMyMjUsOSArMTM5NjQsOSBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTMyMjUsOSArMTM5NjQsOSBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAgICAgICAgICAgKikKICAJICAgIGlmIHRlc3QgIiRHWFgiID0geWVzOyB0aGVuCiAgCSAgICAgIGlmIHRlc3QgIiR3aXRoX2dudV9sZCIgPSBubzsgdGhlbgpAQCAtOTMxNCw3ICs5MzA3LDcgQEAKICAJICAgICAgZmkKICAJICAgIGZpCiAgCSAgICBsaW5rX2FsbF9kZXBsaWJzX0NYWD15ZXMKLUBAIC0xMzI5NywyMCArMTQwMzYsMjAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEzMjk3LDIwICsxNDAzNiwyMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJICAgICAgcHJlbGlua19jbWRzX0NYWD0ndHBsZGlyPVRlbXBsYXRlLmRpcn4KICAJCXJtIC1yZiAkdHBsZGlyfgogIAkJJENDIC0tcHJlbGlua19vYmplY3RzIC0taW5zdGFudGlhdGlvbl9kaXIgJHRwbGRpciAkb2JqcyAkbGlib2JqcyAkY29tcGlsZV9kZXBsaWJzfgpAQCAtOTMzOSw3ICs5MzMyLDcgQEAKICAJICAgICAgOzsKICAJICAgICopICMgVmVyc2lvbiA2IGFuZCBhYm92ZSB1c2Ugd2VhayBzeW1ib2xzCiAgCSAgICAgIGFyY2hpdmVfY21kc19DWFg9JyRDQyAtc2hhcmVkICRwaWNfZmxhZyAkcHJlZGVwX29iamVjdHMgJGxpYm9ianMgJGRlcGxpYnMgJHBvc3RkZXBfb2JqZWN0cyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR7d2x9JHNvbmFtZSAtbyAkbGliJwotQEAgLTEzNTA1LDcgKzE0MjQ0LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEzNTA1LDcgKzE0MjQ0LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCSAgICAgICAgICBhcmNoaXZlX2NtZHNfQ1hYPSckQ0MgLXNoYXJlZCAtbm9zdGRsaWIgJHthbGxvd191bmRlZmluZWRfZmxhZ30gJHByZWRlcF9vYmplY3RzICRsaWJvYmpzICRkZXBsaWJzICRwb3N0ZGVwX29iamVjdHMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAke3dsfSRzb25hbWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGZ1bmNfZWNob19hbGwgIiR7d2x9LXNldF92ZXJzaW9uICR7d2x9JHZlcnN0cmluZyJgICR7d2x9LXVwZGF0ZV9yZWdpc3RyeSAke3dsfSR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1vICRsaWInCiAgCQkgIDs7CiAgCSAgICAgICAgKikKQEAgLTkzNDgsNyArOTM0MSw3IEBACiAgCQkgIDs7CiAgCSAgICAgIGVzYWMKICAKLUBAIC0xMzU1MSw3ICsxNDI5MCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC0xMzU1MSw3ICsxNDI5MCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICAgIHNvbGFyaXMqKQogICAgICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KQEAgLTkzNTcsNyArOTM1MCw3IEBACiAgCSAgICAjIFN1biBDKysgNC4yLCA1LnggYW5kIENlbnRlcmxpbmUgQysrCiAgICAgICAgICAgICAgYXJjaGl2ZV9jbWRzX25lZWRfbGNfQ1hYPXllcwogIAkgICAgbm9fdW5kZWZpbmVkX2ZsYWdfQ1hYPScgLXpkZWZzJwotQEAgLTEzNTkyLDkgKzE0MzMxLDkgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEzNTkyLDkgKzE0MzMxLDkgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCSAgICBpZiB0ZXN0ICIkR1hYIiA9IHllcyAmJiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0gbm87IHRoZW4KICAJICAgICAgbm9fdW5kZWZpbmVkX2ZsYWdfQ1hYPScgJHt3bH0teiAke3dsfWRlZnMnCiAgCSAgICAgIGlmICRDQyAtLXZlcnNpb24gfCAkR1JFUCAtdiAnXjJcLjcnID4gL2Rldi9udWxsOyB0aGVuCkBAIC05MzgzLDcgKzkzNzYsNyBAQAogIGlmIHsgeyBldmFsIGVjaG8gIlwiXCRhc19tZVwiOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcIiRhY19jb21waWxlXCIiOyB9ID4mNQogICAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKICAgIGFjX3N0YXR1cz0kPwotQEAgLTEzNzQyLDcgKzE0NDg4LDcgQEAgaWYgeyB7IGV2YWwgZWNobyAiXCJcJGFzX21lXCI6JHthc19saW5lbgorQEAgLTEzNzQyLDcgKzE0NDg4LDcgQEAgaWYgeyB7IGV2YWwgZWNobyAiXCJcJGFzX21lXCI6JHthc19saW5lbm8tJExJTkVOT306IFwiJGFjX2NvbXBpbGVcIiI7IH0gPiY1CiAgICBwcmVfdGVzdF9vYmplY3RfZGVwc19kb25lPW5vCiAgCiAgICBmb3IgcCBpbiBgZXZhbCAiJG91dHB1dF92ZXJib3NlX2xpbmtfY21kImA7IGRvCkBAIC05MzkyLDcgKzkzODUsNyBAQAogIAogICAgICAtTCogfCAtUiogfCAtbCopCiAgICAgICAgICMgU29tZSBjb21waWxlcnMgcGxhY2Ugc3BhY2UgYmV0d2VlbiAiLXtMLFJ9IiBhbmQgdGhlIHBhdGguCi1AQCAtMTM3NTEsMTMgKzE0NDk3LDIyIEBAIGlmIHsgeyBldmFsIGVjaG8gIlwiXCRhc19tZVwiOiR7YXNfbGluZW4KK0BAIC0xMzc1MSwxMyArMTQ0OTcsMjIgQEAgaWYgeyB7IGV2YWwgZWNobyAiXCJcJGFzX21lXCI6JHthc19saW5lbm8tJExJTkVOT306IFwiJGFjX2NvbXBpbGVcIiI7IH0gPiY1CiAgICAgICAgICAgIHRlc3QgJHAgPSAiLVIiOyB0aGVuCiAgCSBwcmV2PSRwCiAgCSBjb250aW51ZQpAQCAtOTQxOSw3ICs5NDEyLDcgQEAKICAJICAgIyBJbnRlcm5hbCBjb21waWxlciBsaWJyYXJ5IHBhdGhzIHNob3VsZCBjb21lIGFmdGVyIHRob3NlCiAgCSAgICMgcHJvdmlkZWQgdGhlIHVzZXIuICBUaGUgcG9zdGRlcHMgYWxyZWFkeSBjb21lIGFmdGVyIHRoZQogIAkgICAjIHVzZXIgc3VwcGxpZWQgbGlicyBzbyB0aGVyZSBpcyBubyBuZWVkIHRvIHByb2Nlc3MgdGhlbS4KLUBAIC0xMzc3Nyw4ICsxNDUzMiwxMCBAQCBpZiB7IHsgZXZhbCBlY2hvICJcIlwkYXNfbWVcIjoke2FzX2xpbmVuCitAQCAtMTM3NzcsOCArMTQ1MzIsMTAgQEAgaWYgeyB7IGV2YWwgZWNobyAiXCJcJGFzX21lXCI6JHthc19saW5lbm8tJExJTkVOT306IFwiJGFjX2NvbXBpbGVcIiI7IH0gPiY1CiAgCSAgIHBvc3RkZXBzX0NYWD0iJHtwb3N0ZGVwc19DWFh9ICR7cHJldn0ke3B9IgogIAkgZmkKICAgICAgICAgZmkKQEAgLTk0NTYsNyArOTQ0OSw3IEBACiAgCiAgICAjIEMrKyBzcGVjaWZpYyBjYXNlcyBmb3IgcGljLCBzdGF0aWMsIHdsLCBldGMuCiAgICBpZiB0ZXN0ICIkR1hYIiA9IHllczsgdGhlbgotQEAgLTE0MDIwLDYgKzE0Nzc2LDExIEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC0xNDAyMCw2ICsxNDc3NiwxMSBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogIAkgIDs7CiAgCWVzYWMKICAJOzsKQEAgLTk0NjgsNyArOTQ2MSw3IEBACiAgICAgICAgZGd1eCopCiAgCWNhc2UgJGNjX2Jhc2VuYW1lIGluCiAgCSAgZWMrKyopCi1AQCAtMTQxNzIsNyArMTQ5MzMsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtMTQxNzIsNyArMTQ5MzMsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogIAk7OwogICAgICAgIHNvbGFyaXMqKQogIAljYXNlICRjY19iYXNlbmFtZSBpbgpAQCAtOTUxNSw3ICs5NTA4LDcgQEAKICAgIGNhc2UgJGhvc3Rfb3MgaW4KICAgIGFpeFs0LTldKikKICAgICAgIyBJZiB3ZSdyZSB1c2luZyBHTlUgbm0sIHRoZW4gd2UgZG9uJ3Qgd2FudCB0aGUgIi1DIiBvcHRpb24uCi1AQCAtMTQ0ODksMTUgKzE1MjYwLDIwIEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlICRjb21waWwKK0BAIC0xNDQ4OSwxNSArMTUyNjAsMjAgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgJGNvbXBpbGVyIGxpbmtlciAoJExEKSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWUKICAgICAgOzsKICAgIHB3MzIqKQogICAgICBleHBvcnRfc3ltYm9sc19jbWRzX0NYWD0iJGx0ZGxsX2NtZHMiCkBAIC05NjQzLDcgKzk2MzYsNyBAQAogICAgTERDWFg9JExECiAgICBMRD0kbHRfc2F2ZV9MRAogICAgR0NDPSRsdF9zYXZlX0dDQwotQEAgLTE4NDQ0LDEzICsxOTI4MCwyMCBAQCBleGVleHQ9J2AkRUNITyAiJGV4ZWV4dCIgfCAkU0VEICIkZGVsYXlfCitAQCAtMTg0NDQsMTMgKzE5MjgwLDIwIEBAIGV4ZWV4dD0nYCRFQ0hPICIkZXhlZXh0IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF91bnNldD0nYCRFQ0hPICIkbHRfdW5zZXQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X1NQMk5MPSdgJEVDSE8gIiRsdF9TUDJOTCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfTkwyU1A9J2AkRUNITyAiJGx0X05MMlNQIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTk2NjQsNyArOTY1Nyw3IEBACiAgU1RSSVA9J2AkRUNITyAiJFNUUklQIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBSQU5MSUI9J2AkRUNITyAiJFJBTkxJQiIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgb2xkX3Bvc3RpbnN0YWxsX2NtZHM9J2AkRUNITyAiJG9sZF9wb3N0aW5zdGFsbF9jbWRzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xODQ2NSwxNCArMTkzMDgsMTcgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nYCRFQ0hPICIkbAorQEAgLTE4NDY1LDE0ICsxOTMwOCwxNyBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIiB8ICRTRUQgIiRkZQogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTk2ODMsNyArOTY3Niw3IEBACiAgRFNZTVVUSUw9J2AkRUNITyAiJERTWU1VVElMIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBOTUVESVQ9J2AkRUNITyAiJE5NRURJVCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgTElQTz0nYCRFQ0hPICIkTElQTyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTg1MDUsMTIgKzE5MzUxLDEyIEBAIGhhcmRjb2RlX3NobGlicGF0aF92YXI9J2AkRUNITyAiJGhhcmRjb2QKK0BAIC0xODUwNSwxMiArMTkzNTEsMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0nYCRFQ0hPICIkaGFyZGNvZGVfc2hsaWJwYXRoX3ZhciIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3EKICBoYXJkY29kZV9hdXRvbWF0aWM9J2AkRUNITyAiJGhhcmRjb2RlX2F1dG9tYXRpYyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgaW5oZXJpdF9ycGF0aD0nYCRFQ0hPICIkaW5oZXJpdF9ycGF0aCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbGlua19hbGxfZGVwbGlicz0nYCRFQ0hPICIkbGlua19hbGxfZGVwbGlicyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC05Njk3LDcgKzk2OTAsNyBAQAogIGZpbGVfbGlzdF9zcGVjPSdgJEVDSE8gIiRmaWxlX2xpc3Rfc3BlYyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms9J2AkRUNITyAiJHZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBuZWVkX2xpYl9wcmVmaXg9J2AkRUNITyAiJG5lZWRfbGliX3ByZWZpeCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTg1NDksOCArMTkzOTUsOCBAQCBvbGRfYXJjaGl2ZV9jbWRzX0NYWD0nYCRFQ0hPICIkb2xkX2FyY2hpCitAQCAtMTg1NDksOCArMTkzOTUsOCBAQCBvbGRfYXJjaGl2ZV9jbWRzX0NYWD0nYCRFQ0hPICIkb2xkX2FyY2hpdmVfY21kc19DWFgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZQogIGNvbXBpbGVyX0NYWD0nYCRFQ0hPICIkY29tcGlsZXJfQ1hYIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBHQ0NfQ1hYPSdgJEVDSE8gIiRHQ0NfQ1hYIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZ19DWFg9J2AkRUNITyAiJGx0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnX0NYWCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC05NzA3LDcgKzk3MDAsNyBAQAogIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX0NYWD0nYCRFQ0hPICIkbHRfcHJvZ19jb21waWxlcl9zdGF0aWNfQ1hYIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9jdl9wcm9nX2NvbXBpbGVyX2Nfb19DWFg9J2AkRUNITyAiJGx0X2N2X3Byb2dfY29tcGlsZXJfY19vX0NYWCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgYXJjaGl2ZV9jbWRzX25lZWRfbGNfQ1hYPSdgJEVDSE8gIiRhcmNoaXZlX2NtZHNfbmVlZF9sY19DWFgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTE4NTc3LDEyICsxOTQyMywxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyX0NYWD0nYCRFQ0hPICIkaGFyCitAQCAtMTg1NzcsMTIgKzE5NDIzLDEyIEBAIGhhcmRjb2RlX3NobGlicGF0aF92YXJfQ1hYPSdgJEVDSE8gIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyX0NYWCIgfCAkU0VEICIkZGVsYXlfCiAgaGFyZGNvZGVfYXV0b21hdGljX0NYWD0nYCRFQ0hPICIkaGFyZGNvZGVfYXV0b21hdGljX0NYWCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgaW5oZXJpdF9ycGF0aF9DWFg9J2AkRUNITyAiJGluaGVyaXRfcnBhdGhfQ1hYIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsaW5rX2FsbF9kZXBsaWJzX0NYWD0nYCRFQ0hPICIkbGlua19hbGxfZGVwbGlic19DWFgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtOTg0OSw3ICs5ODQyLDcgQEAKICAjIEEgc3ltYm9sIHN0cmlwcGluZyBwcm9ncmFtLgogIFNUUklQPSRsdF9TVFJJUAogIAotQEAgLTE5Njg0LDYgKzIwNTYxLDEyIEBAIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9JGx0X2x0X2MKK0BAIC0xOTY4NCw2ICsyMDU2MSwxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcwogICMgVHJhbnNmb3JtIHRoZSBvdXRwdXQgb2Ygbm0gaW4gYSBDIG5hbWUgYWRkcmVzcyBwYWlyIHdoZW4gbGliIHByZWZpeCBpcyBuZWVkZWQuCiAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4CiAgCkBAIC0xMDExMCw5ICsxMDEwMywxNSBAQAogLV9MVF9FT0YKIC0gICAgOzsKIC0gIGVzYWMKKy0KKy0KKy0gIHNlZCAtbiAnL14jIEdlbmVyYXRlZCBzaGVsbCBmdW5jdGlvbnMgaW5zZXJ0ZWQgaGVyZS8sJHAnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKKy0gICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKKy0KKy0gIG12IC1mICIkY2ZnZmlsZSIgIiRvZmlsZSIgfHwKICsgIHNlZCAnJHEnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKICsgICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCisrCiArICBpZiB0ZXN0IHgiJHhzaV9zaGVsbCIgPSB4eWVzOyB0aGVuCiArICBzZWQgLWUgJy9eZnVuY19kaXJuYW1lICgpJC8sL159ICMgZnVuY19kaXJuYW1lIC9jXAogK2Z1bmNfZGlybmFtZSAoKVwKQEAgLTEwMjcwLDExICsxMDI2OSw4IEBACiArICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxsIGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mNQogKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxsIGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mMjt9CiArZmkKLSAKLS0gIHNlZCAtbiAnL14jIEdlbmVyYXRlZCBzaGVsbCBmdW5jdGlvbnMgaW5zZXJ0ZWQgaGVyZS8sJHAnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKLS0gICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKLS0gIG12IC1mICIkY2ZnZmlsZSIgIiRvZmlsZSIgfHwKKysKKysKICsgICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CiAgICAgIChybSAtZiAiJG9maWxlIiAmJiBjcCAiJGNmZ2ZpbGUiICIkb2ZpbGUiICYmIHJtIC1mICIkY2ZnZmlsZSIpCiAgICBjaG1vZCAreCAiJG9maWxlIgpAQCAtMTAzMTUsMTAgKzEwMzExLDEwIEBACiAgIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMuCiAgZmlsZV9saXN0X3NwZWM9JGx0X2ZpbGVfbGlzdF9zcGVjX0NYWAogIAotSW5kZXg6IGdpdC9saWJ0b29sLm00Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvbGlidG9vbC5tNAotKysrIGdpdC9saWJ0b29sLm00CitkaWZmIC0tZ2l0IGEvbGlidG9vbC5tNCBiL2xpYnRvb2wubTQKK2luZGV4IDQzNDUzMDA1OWYuLmU0NWZkYzY5OTggMTAwNjQ0CistLS0gYS9saWJ0b29sLm00CisrKysgYi9saWJ0b29sLm00CiBAQCAtMSw3ICsxLDggQEAKICAjIGxpYnRvb2wubTQgLSBDb25maWd1cmUgbGlidG9vbCBmb3IgdGhlIGhvc3Qgc3lzdGVtLiAtKi1BdXRvY29uZi0qLQogICMKQEAgLTEwMzU4LDcgKzEwMzU0LDcgQEAKICBBQ19TVUJTVChMSUJUT09MKWRubAogIAogIF9MVF9TRVRVUAotQEAgLTE2NiwxMCArMTY5LDEzIEBAIF9MVF9ERUNMKFtdLCBbZXhlZXh0XSwgWzBdLCBbRXhlY3V0YWJsZQorQEAgLTE2NiwxMCArMTY5LDEzIEBAIF9MVF9ERUNMKFtdLCBbZXhlZXh0XSwgWzBdLCBbRXhlY3V0YWJsZSBmaWxlIHN1ZmZpeCAobm9ybWFsbHkgIiIpXSlkbmwKICBkbmwKICBtNF9yZXF1aXJlKFtfTFRfRklMRVVUSUxTX0RFRkFVTFRTXSlkbmwKICBtNF9yZXF1aXJlKFtfTFRfQ0hFQ0tfU0hFTExfRkVBVFVSRVNdKWRubApAQCAtMTAzODEsNyArMTAzNzcsNyBAQAogIGNhbl9idWlsZF9zaGFyZWQ9eWVzCiAgCiAgIyBBbGwga25vd24gbGlua2VycyByZXF1aXJlIGEgYC5hJyBhcmNoaXZlIGZvciBzdGF0aWMgbGlua2luZyAoZXhjZXB0IE1TVkMsCi1AQCAtNjMyLDcgKzYzOCw3IEBAIG00X2lmc2V0KFtBQ19QQUNLQUdFX05BTUVdLCBbQUNfUEFDS0FHRV8KK0BAIC02MzIsNyArNjM4LDcgQEAgbTRfaWZzZXQoW0FDX1BBQ0tBR0VfTkFNRV0sIFtBQ19QQUNLQUdFX05BTUUgXSljb25maWcubHRbXWRubAogIG00X2lmc2V0KFtBQ19QQUNLQUdFX1ZFUlNJT05dLCBbIEFDX1BBQ0tBR0VfVkVSU0lPTl0pCiAgY29uZmlndXJlZCBieSAkWzBdLCBnZW5lcmF0ZWQgYnkgbTRfUEFDS0FHRV9TVFJJTkcuCiAgCkBAIC0xMDQ4Niw3ICsxMDQ4Miw3IEBACiAgICAgdGVzdCAiWGBwcmludCAtciAtLSAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KICAgIEVDSE89J3ByaW50IC1yIC0tJwogIGVsaWYgdGVzdCAiWGBwcmludGYgJXMgJEVDSE8gMj4vZGV2L251bGxgIiA9ICJYJEVDSE8iOyB0aGVuCi1AQCAtMTE2MSw2ICsxMTc3LDM5IEBAIF9MVF9ERUNMKFtdLCBbRUNIT10sIFsxXSwgW0FuIGVjaG8gcHJvZ3IKK0BAIC0xMTYxLDYgKzExNzcsMzkgQEAgX0xUX0RFQ0woW10sIFtFQ0hPXSwgWzFdLCBbQW4gZWNobyBwcm9ncmFtIHRoYXQgcHJvdGVjdHMgYmFja3NsYXNoZXNdKQogIF0pIyBfTFRfUFJPR19FQ0hPX0JBQ0tTTEFTSAogIAogIApAQCAtMTA3MzksNyArMTA3MzUsNyBAQAogIGZpbGVfbWFnaWNfY21kPSRsdF9jdl9maWxlX21hZ2ljX2NtZAogIGRlcGxpYnNfY2hlY2tfbWV0aG9kPSRsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZAogIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGlic19jaGVja19tZXRob2Q9dW5rbm93bgotQEAgLTMxNzQsNyArMzMzNiwxMSBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpCitAQCAtMzE3NCw3ICszMzM2LDExIEBAIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGlic19jaGVja19tZXRob2Q9dW5rbm93bgogIF9MVF9ERUNMKFtdLCBbZGVwbGlic19jaGVja19tZXRob2RdLCBbMV0sCiAgICAgIFtNZXRob2QgdG8gY2hlY2sgd2hldGhlciBkZXBlbmRlbnQgbGlicmFyaWVzIGFyZSBzaGFyZWQgb2JqZWN0c10pCiAgX0xUX0RFQ0woW10sIFtmaWxlX21hZ2ljX2NtZF0sIFsxXSwKQEAgLTEwODY3LDcgKzEwODYzLDcgQEAKICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICB2b2lkICAgICAgICphZGRyZXNzOwogIH0KLUBAIC0zNTEwLDE1ICszNzUwLDE1IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKQorQEAgLTM1MTAsMTUgKzM3NTAsMTUgQEAgc3RhdGljIGNvbnN0IHZvaWQgKmx0X3ByZWxvYWRlZF9zZXR1cCgpIHsKICBfTFRfRU9GCiAgCSAgIyBOb3cgdHJ5IGxpbmtpbmcgdGhlIHR3byBmaWxlcy4KICAJICBtdiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0c3RtLiRhY19vYmpleHQKQEAgLTEwOTAxLDcgKzEwODk3LDcgQEAKICBfTFRfREVDTChbZ2xvYmFsX3N5bWJvbF9waXBlXSwgW2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGVdLCBbMV0sCiAgICAgIFtUYWtlIHRoZSBvdXRwdXQgb2Ygbm0gYW5kIHByb2R1Y2UgYSBsaXN0aW5nIG9mIHJhdyBzeW1ib2xzIGFuZCBDIG5hbWVzXSkKICBfTFRfREVDTChbZ2xvYmFsX3N5bWJvbF90b19jZGVjbF0sIFtsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbF0sIFsxXSwKLUBAIC0zNTYxLDYgKzM4MDgsOCBAQCBfTFRfREVDTChbZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzCitAQCAtMzU2MSw2ICszODA4LDggQEAgX0xUX0RFQ0woW2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NdLAogIF9MVF9ERUNMKFtnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXhdLAogICAgICBbbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeF0sIFsxXSwKICAgICAgW1RyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkXSkKQEAgLTEwOTg2LDcgKzEwOTgyLDcgQEAKICAjCiAgIyBDaGVjayB0byBtYWtlIHN1cmUgdGhlIHN0YXRpYyBmbGFnIGFjdHVhbGx5IHdvcmtzLgogICMKLUBAIC00MjEzLDYgKzQ0NzcsNyBAQCBfTFRfVEFHREVDTChbbGlua19zdGF0aWNfZmxhZ10sIFtsdF9wcm9nCitAQCAtNDIxMyw2ICs0NDc3LDcgQEAgX0xUX1RBR0RFQ0woW2xpbmtfc3RhdGljX2ZsYWddLCBbbHRfcHJvZ19jb21waWxlcl9zdGF0aWNdLCBbMV0sCiAgbTRfZGVmdW4oW19MVF9MSU5LRVJfU0hMSUJTXSwKICBbQUNfUkVRVUlSRShbTFRfUEFUSF9MRF0pZG5sCiAgQUNfUkVRVUlSRShbTFRfUEFUSF9OTV0pZG5sCkBAIC0xMTMwOCw3ICsxMTMwNCw3IEBACiAgaWYgdGVzdCAtbiAiJENYWCIgJiYgKCB0ZXN0ICJYJENYWCIgIT0gIlhubyIgJiYKICAgICAgKCAodGVzdCAiWCRDWFgiID0gIlhnKysiICYmIGBnKysgLXYgPi9kZXYvbnVsbCAyPiYxYCApIHx8CiAgICAgICh0ZXN0ICJYJENYWCIgIT0gIlhnKysiKSkpIDsgdGhlbgotQEAgLTU0ODcsNiArNTgxOCw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTU0ODcsNiArNTgxOCw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgCiAgICAjIEFsbG93IENDIHRvIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJndW1lbnRzLgogICAgbHRfc2F2ZV9DQz0kQ0MKQEAgLTExMzE2LDcgKzExMzEyLDcgQEAKICAgIGx0X3NhdmVfTEQ9JExECiAgICBsdF9zYXZlX0dDQz0kR0NDCiAgICBHQ0M9JEdYWAotQEAgLTU1MDQsNiArNTgzNiw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTU1MDQsNiArNTgzNiw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgICBmaQogICAgdGVzdCAteiAiJHtMRENYWCtzZXR9IiB8fCBMRD0kTERDWFgKICAgIENDPSR7Q1hYLSJjKysifQpAQCAtMTEzMjQsNyArMTEzMjAsNyBAQAogICAgY29tcGlsZXI9JENDCiAgICBfTFRfVEFHVkFSKGNvbXBpbGVyLCAkMSk9JENDCiAgICBfTFRfQ0NfQkFTRU5BTUUoWyRjb21waWxlcl0pCi1AQCAtNTY2Nyw3ICs2MDAwLDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7CitAQCAtNTY2Nyw3ICs2MDAwLDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7IHRoZW4KICAgICAgICAgICAgX0xUX1RBR1ZBUihhbGxvd191bmRlZmluZWRfZmxhZywgJDEpPSctYmVyb2snCiAgICAgICAgICAgICMgRGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGxpYnBhdGggZnJvbSB0aGUgdmFsdWUgZW5jb2RlZCBpbiBhbiBlbXB0eQogICAgICAgICAgICAjIGV4ZWN1dGFibGUuCkBAIC0xMTMzMyw3ICsxMTMyOSw3IEBACiAgICAgICAgICAgIF9MVF9UQUdWQVIoaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYywgJDEpPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogIAogICAgICAgICAgICBfTFRfVEFHVkFSKGFyY2hpdmVfZXhwc3ltX2NtZHMsICQxKT0nJENDIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJyJcJHt3bH0kbm9fZW50cnlfZmxhZyInICRjb21waWxlcl9mbGFncyBgaWYgdGVzdCAieCR7YWxsb3dfdW5kZWZpbmVkX2ZsYWd9IiAhPSAieCI7IHRoZW4gZnVuY19lY2hvX2FsbCAiJHt3bH0ke2FsbG93X3VuZGVmaW5lZF9mbGFnfSI7IGVsc2UgOjsgZmlgICciXCR7d2x9JGV4cF9zeW1fZmxhZzpcJGV4cG9ydF9zeW1ib2xzICRzaGFyZWRfZmxhZyIKLUBAIC01Njc5LDcgKzYwMTIsNyBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsKK0BAIC01Njc5LDcgKzYwMTIsNyBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsgdGhlbgogICAgICAgICAgICBlbHNlCiAgCSAgICAjIERldGVybWluZSB0aGUgZGVmYXVsdCBsaWJwYXRoIGZyb20gdGhlIHZhbHVlIGVuY29kZWQgaW4gYW4KICAJICAgICMgZW1wdHkgZXhlY3V0YWJsZS4KQEAgLTExMzQyLDcgKzExMzM4LDcgQEAKICAJICAgIF9MVF9UQUdWQVIoaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYywgJDEpPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogIAkgICAgIyBXYXJuaW5nIC0gd2l0aG91dCB1c2luZyB0aGUgb3RoZXIgcnVuIHRpbWUgbG9hZGluZyBmbGFncywKICAJICAgICMgLWJlcm9rIHdpbGwgbGluayB3aXRob3V0IGVycm9yLCBidXQgbWF5IHByb2R1Y2UgYSBicm9rZW4gbGlicmFyeS4KLUBAIC01NzIxLDI5ICs2MDU0LDc1IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTU3MjEsMjkgKzYwNTQsNzUgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7IHRoZW4KICAgICAgICAgIDs7CiAgCiAgICAgICAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQpAQCAtMTE0NDEsNyArMTE0MzcsNyBAQAogICAgICAgIGRhcndpbiogfCByaGFwc29keSopCiAgICAgICAgICBfTFRfREFSV0lOX0xJTktFUl9GRUFUVVJFUygkMSkKICAJOzsKLUBAIC01ODE4LDcgKzYxOTcsNyBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsKK0BAIC01ODE4LDcgKzYxOTcsNyBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsgdGhlbgogICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICopCiAgICAgICAgICAgICAgaWYgdGVzdCAiJEdYWCIgPSB5ZXM7IHRoZW4KQEAgLTExNDUwLDcgKzExNDQ2LDcgQEAKICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAjIEZJWE1FOiBpbnNlcnQgcHJvcGVyIEMrKyBsaWJyYXJ5IHN1cHBvcnQKICAgICAgICAgICAgICAgIF9MVF9UQUdWQVIobGRfc2hsaWJzLCAkMSk9bm8KLUBAIC01ODg5LDEwICs2MjY4LDEwIEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTU4ODksMTAgKzYyNjgsMTAgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7IHRoZW4KICAJICAgICAgICAgICAgX0xUX1RBR1ZBUihhcmNoaXZlX2NtZHMsICQxKT0nJENDIC1zaGFyZWQgLW5vc3RkbGliIC1mUElDICR7d2x9K2ggJHt3bH0kc29uYW1lIC1vICRsaWIgJHByZWRlcF9vYmplY3RzICRsaWJvYmpzICRkZXBsaWJzICRwb3N0ZGVwX29iamVjdHMgJGNvbXBpbGVyX2ZsYWdzJwogIAkgICAgICAgICAgICA7OwogIAkgICAgICAgICAgaWE2NCopCkBAIC0xMTQ2Myw3ICsxMTQ1OSw3IEBACiAgCSAgICAgICAgICAgIDs7CiAgCSAgICAgICAgZXNhYwogIAkgICAgICBmaQotQEAgLTU5MzMsOSArNjMxMiw5IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTU5MzMsOSArNjMxMiw5IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgICAgICAgICAgICopCiAgCSAgICBpZiB0ZXN0ICIkR1hYIiA9IHllczsgdGhlbgogIAkgICAgICBpZiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0gbm87IHRoZW4KQEAgLTExNDc1LDcgKzExNDcxLDcgQEAKICAJICAgICAgZmkKICAJICAgIGZpCiAgCSAgICBfTFRfVEFHVkFSKGxpbmtfYWxsX2RlcGxpYnMsICQxKT15ZXMKLUBAIC02MDA1LDIwICs2Mzg0LDIwIEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTYwMDUsMjAgKzYzODQsMjAgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7IHRoZW4KICAJICAgICAgX0xUX1RBR1ZBUihwcmVsaW5rX2NtZHMsICQxKT0ndHBsZGlyPVRlbXBsYXRlLmRpcn4KICAJCXJtIC1yZiAkdHBsZGlyfgogIAkJJENDIC0tcHJlbGlua19vYmplY3RzIC0taW5zdGFudGlhdGlvbl9kaXIgJHRwbGRpciAkb2JqcyAkbGlib2JqcyAkY29tcGlsZV9kZXBsaWJzfgpAQCAtMTE1MDAsNyArMTE0OTYsNyBAQAogIAkgICAgICA7OwogIAkgICAgKikgIyBWZXJzaW9uIDYgYW5kIGFib3ZlIHVzZSB3ZWFrIHN5bWJvbHMKICAJICAgICAgX0xUX1RBR1ZBUihhcmNoaXZlX2NtZHMsICQxKT0nJENDIC1zaGFyZWQgJHBpY19mbGFnICRwcmVkZXBfb2JqZWN0cyAkbGlib2JqcyAkZGVwbGlicyAkcG9zdGRlcF9vYmplY3RzICRjb21waWxlcl9mbGFncyAke3dsfS1zb25hbWUgJHt3bH0kc29uYW1lIC1vICRsaWInCi1AQCAtNjIxMyw3ICs2NTkyLDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7CitAQCAtNjIxMyw3ICs2NTkyLDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7IHRoZW4KICAJICAgICAgICAgIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzLCAkMSk9JyRDQyAtc2hhcmVkIC1ub3N0ZGxpYiAke2FsbG93X3VuZGVmaW5lZF9mbGFnfSAkcHJlZGVwX29iamVjdHMgJGxpYm9ianMgJGRlcGxpYnMgJHBvc3RkZXBfb2JqZWN0cyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR7d2x9JHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiJHt3bH0tc2V0X3ZlcnNpb24gJHt3bH0kdmVyc3RyaW5nImAgJHt3bH0tdXBkYXRlX3JlZ2lzdHJ5ICR7d2x9JHtvdXRwdXRfb2JqZGlyfS9zb19sb2NhdGlvbnMgLW8gJGxpYicKICAJCSAgOzsKICAJICAgICAgICAqKQpAQCAtMTE1MDksNyArMTE1MDUsNyBAQAogIAkJICA7OwogIAkgICAgICBlc2FjCiAgCi1AQCAtNjI1OSw3ICs2NjM4LDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7CitAQCAtNjI1OSw3ICs2NjM4LDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7IHRoZW4KICAKICAgICAgICBzb2xhcmlzKikKICAgICAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCkBAIC0xMTUxOCw3ICsxMTUxNCw3IEBACiAgCSAgICAjIFN1biBDKysgNC4yLCA1LnggYW5kIENlbnRlcmxpbmUgQysrCiAgICAgICAgICAgICAgX0xUX1RBR1ZBUihhcmNoaXZlX2NtZHNfbmVlZF9sYywkMSk9eWVzCiAgCSAgICBfTFRfVEFHVkFSKG5vX3VuZGVmaW5lZF9mbGFnLCAkMSk9JyAtemRlZnMnCi1AQCAtNjMwMCw5ICs2Njc5LDkgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7CitAQCAtNjMwMCw5ICs2Njc5LDkgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7IHRoZW4KICAJICAgIGlmIHRlc3QgIiRHWFgiID0geWVzICYmIHRlc3QgIiR3aXRoX2dudV9sZCIgPSBubzsgdGhlbgogIAkgICAgICBfTFRfVEFHVkFSKG5vX3VuZGVmaW5lZF9mbGFnLCAkMSk9JyAke3dsfS16ICR7d2x9ZGVmcycKICAJICAgICAgaWYgJENDIC0tdmVyc2lvbiB8ICRHUkVQIC12ICdeMlwuNycgPiAvZGV2L251bGw7IHRoZW4KQEAgLTExNTMwLDcgKzExNTI2LDcgQEAKICAKICAJICAgICAgICAjIENvbW1hbmRzIHRvIG1ha2UgY29tcGlsZXIgcHJvZHVjZSB2ZXJib3NlIG91dHB1dCB0aGF0IGxpc3RzCiAgCSAgICAgICAgIyB3aGF0ICJoaWRkZW4iIGxpYnJhcmllcywgb2JqZWN0IGZpbGVzIGFuZCBmbGFncyBhcmUgdXNlZCB3aGVuCi1AQCAtNjQzMSw2ICs2ODEwLDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7CitAQCAtNjQzMSw2ICs2ODEwLDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7IHRoZW4KICAgIGZpICMgdGVzdCAtbiAiJGNvbXBpbGVyIgogIAogICAgQ0M9JGx0X3NhdmVfQ0MKQEAgLTExNzM4LDcgKzExNzM0LDcgQEAKICBdKSMgX0xUX0xBTkdfUkNfQ09ORklHCiAgCiAgCi1AQCAtNzEwMSw2ICs3NTM2LDE1IEBAIF9MVF9ERUNMKFtdLCBbT0JKRFVNUF0sIFsxXSwgW0FuIG9iamVjdAorQEAgLTcxMDEsNiArNzUzNiwxNSBAQCBfTFRfREVDTChbXSwgW09CSkRVTVBdLCBbMV0sIFtBbiBvYmplY3Qgc3ltYm9sIGR1bXBlcl0pCiAgQUNfU1VCU1QoW09CSkRVTVBdKQogIF0pCiAgCkBAIC0xMTc2NSw3ICsxMTc2MSw3IEBACiAgICAgICYmIGV2YWwgJ3Rlc3QgJCgoIDEgKyAxICkpIC1lcSAyIFwKICAgICAgJiYgdGVzdCAiJHsjX2x0X2R1bW15fSIgLWVxIDUnICkgPi9kZXYvbnVsbCAyPiYxIFwKICAgICYmIHhzaV9zaGVsbD15ZXMKLUBAIC03MjM0LDIwNiArNzY3OCwxNjIgQEAgX0xUX0RFQ0woW05MMlNQXSwgW2x0X05MMlNQXSwgWzFdLCBbdHVybgorQEAgLTcyMzQsMjA2ICs3Njc4LDE2MiBAQCBfTFRfREVDTChbTkwyU1BdLCBbbHRfTkwyU1BdLCBbMV0sIFt0dXJuIG5ld2xpbmVzIGludG8gc3BhY2VzXSlkbmwKICBdKSMgX0xUX0NIRUNLX1NIRUxMX0ZFQVRVUkVTCiAgCiAgCkBAIC0xMTg2MywzMSArMTE4NTksNiBAQAogLXsKIC0gIGZ1bmNfbGVuX3Jlc3VsdD0keyMxfQogLX0KLS0KLS1fTFRfRU9GCi0tICAgIDs7Ci0tICAqKSAjIEJvdXJuZSBjb21wYXRpYmxlIGZ1bmN0aW9ucy4KLS0gICAgY2F0IDw8IFxfTFRfRU9GID4+ICIkY2ZnZmlsZSIKLS0KLS0jIGZ1bmNfZGlybmFtZSBmaWxlIGFwcGVuZCBub25kaXJfcmVwbGFjZW1lbnQKLS0jIENvbXB1dGUgdGhlIGRpcm5hbWUgb2YgRklMRS4gIElmIG5vbmVtcHR5LCBhZGQgQVBQRU5EIHRvIHRoZSByZXN1bHQsCi0tIyBvdGhlcndpc2Ugc2V0IHJlc3VsdCB0byBOT05ESVJfUkVQTEFDRU1FTlQuCi0tZnVuY19kaXJuYW1lICgpCi0tewotLSAgIyBFeHRyYWN0IHN1YmRpcmVjdG9yeSBmcm9tIHRoZSBhcmd1bWVudC4KLS0gIGZ1bmNfZGlybmFtZV9yZXN1bHQ9YCRFQ0hPICIkezF9IiB8ICRTRUQgIiRkaXJuYW1lImAKLS0gIGlmIHRlc3QgIlgkZnVuY19kaXJuYW1lX3Jlc3VsdCIgPSAiWCR7MX0iOyB0aGVuCi0tICAgIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7M30iCi0tICBlbHNlCi0tICAgIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0JHsyfSIKLS0gIGZpCi0tfQotLQotLSMgZnVuY19iYXNlbmFtZSBmaWxlCi0tZnVuY19iYXNlbmFtZSAoKQotLXsKLS0gIGZ1bmNfYmFzZW5hbWVfcmVzdWx0PWAkRUNITyAiJHsxfSIgfCAkU0VEICIkYmFzZW5hbWUiYAotLX0KICsjIF9MVF9QUk9HX0ZVTkNUSU9OX1JFUExBQ0UgKEZVTkNOQU1FLCBSRVBMQUNFTUVOVC1CT0RZKQogKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiArIyBJbiBgJGNmZ2ZpbGUnLCBsb29rIGZvciBmdW5jdGlvbiBGVU5DTkFNRSBkZWxpbWl0ZWQgYnkgYF5GVU5DTkFNRSAoKSQnIGFuZApAQCAtMTE5MDQsMjIgKzExODc1LDIzIEBACiArdGVzdCAwIC1lcSAkPyB8fCBfbHRfZnVuY3Rpb25fcmVwbGFjZV9mYWlsPToKICtdKQogIAotLWRubCBmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1lCi0tZG5sIEEgcG9ydGFibGUgdmVyc2lvbiBvZiB0aGlzIGZ1bmN0aW9uIGlzIGFscmVhZHkgZGVmaW5lZCBpbiBnZW5lcmFsLm00c2gKLS1kbmwgc28gdGhlcmUgaXMgbm8gbmVlZCBmb3IgaXQgaGVyZS4KKy1fTFRfRU9GCistICAgIDs7CistICAqKSAjIEJvdXJuZSBjb21wYXRpYmxlIGZ1bmN0aW9ucy4KKy0gICAgY2F0IDw8IFxfTFRfRU9GID4+ICIkY2ZnZmlsZSIKICAKLS0jIGZ1bmNfc3RyaXBuYW1lIHByZWZpeCBzdWZmaXggbmFtZQotLSMgc3RyaXAgUFJFRklYIGFuZCBTVUZGSVggb2ZmIG9mIE5BTUUuCi0tIyBQUkVGSVggYW5kIFNVRkZJWCBtdXN0IG5vdCBjb250YWluIGdsb2JiaW5nIG9yIHJlZ2V4IHNwZWNpYWwKLS0jIGNoYXJhY3RlcnMsIGhhc2hlcywgcGVyY2VudCBzaWducywgYnV0IFNVRkZJWCBtYXkgY29udGFpbiBhIGxlYWRpbmcKLS0jIGRvdCAoaW4gd2hpY2ggY2FzZSB0aGF0IG1hdGNoZXMgb25seSBhIGRvdCkuCi0tIyBmdW5jX3N0cmlwX3N1ZmZpeCBwcmVmaXggbmFtZQotLWZ1bmNfc3RyaXBuYW1lICgpCistIyBmdW5jX2Rpcm5hbWUgZmlsZSBhcHBlbmQgbm9uZGlyX3JlcGxhY2VtZW50CistIyBDb21wdXRlIHRoZSBkaXJuYW1lIG9mIEZJTEUuICBJZiBub25lbXB0eSwgYWRkIEFQUEVORCB0byB0aGUgcmVzdWx0LAorLSMgb3RoZXJ3aXNlIHNldCByZXN1bHQgdG8gTk9ORElSX1JFUExBQ0VNRU5ULgorLWZ1bmNfZGlybmFtZSAoKQogLXsKLS0gIGNhc2UgJHsyfSBpbgotLSAgICAuKikgZnVuY19zdHJpcG5hbWVfcmVzdWx0PWAkRUNITyAiJHszfSIgfCAkU0VEICJzJV4kezF9JSU7IHMlXFxcXCR7Mn1cJCUlImA7OwotLSAgICAqKSAgZnVuY19zdHJpcG5hbWVfcmVzdWx0PWAkRUNITyAiJHszfSIgfCAkU0VEICJzJV4kezF9JSU7IHMlJHsyfVwkJSUiYDs7Ci0tICBlc2FjCistICAjIEV4dHJhY3Qgc3ViZGlyZWN0b3J5IGZyb20gdGhlIGFyZ3VtZW50LgorLSAgZnVuY19kaXJuYW1lX3Jlc3VsdD1gJEVDSE8gIiR7MX0iIHwgJFNFRCAiJGRpcm5hbWUiYAorLSAgaWYgdGVzdCAiWCRmdW5jX2Rpcm5hbWVfcmVzdWx0IiA9ICJYJHsxfSI7IHRoZW4KKy0gICAgZnVuY19kaXJuYW1lX3Jlc3VsdD0iJHszfSIKKy0gIGVsc2UKKy0gICAgZnVuY19kaXJuYW1lX3Jlc3VsdD0iJGZ1bmNfZGlybmFtZV9yZXN1bHQkezJ9IgorLSAgZmkKIC19CiArIyBfTFRfUFJPR19SRVBMQUNFX1NIRUxMRk5TCiArIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0xMTk0MywyNCArMTE5MTUsNDUgQEAKICsgICAgZXNhYwogKyAgICBmdW5jX2Jhc2VuYW1lX3Jlc3VsdD0iJHsxIyMqL30iXSkKICAKLS0jIHNlZCBzY3JpcHRzOgotLW15X3NlZF9sb25nX29wdD0nMXMvXlwoLVtbXj1dXSpcKT0uKi9cMS87cScKLS1teV9zZWRfbG9uZ19hcmc9JzFzL14tW1tePV1dKj0vLycKKy0jIGZ1bmNfYmFzZW5hbWUgZmlsZQorLWZ1bmNfYmFzZW5hbWUgKCkKKy17CistICBmdW5jX2Jhc2VuYW1lX3Jlc3VsdD1gJEVDSE8gIiR7MX0iIHwgJFNFRCAiJGJhc2VuYW1lImAKKy19CiArICBfTFRfUFJPR19GVU5DVElPTl9SRVBMQUNFKFtmdW5jX3N0cmlwbmFtZV0sIFtkbmwKICsgICAgIyBwZGtzaCA1LjIuMTQgZG9lcyBub3QgZG8gJHtYJSRZfSBjb3JyZWN0bHkgaWYgYm90aCBYIGFuZCBZIGFyZQogKyAgICAjIHBvc2l0aW9uYWwgcGFyYW1ldGVycywgc28gYXNzaWduIG9uZSB0byBvcmRpbmFyeSBwYXJhbWV0ZXIgZmlyc3QuCiArICAgIGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdD0kezN9CiArICAgIGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdD0ke2Z1bmNfc3RyaXBuYW1lX3Jlc3VsdCMiJHsxfSJ9CiArICAgIGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdD0ke2Z1bmNfc3RyaXBuYW1lX3Jlc3VsdCUiJHsyfSJ9XSkKLSsKKyAKKy1kbmwgZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZQorLWRubCBBIHBvcnRhYmxlIHZlcnNpb24gb2YgdGhpcyBmdW5jdGlvbiBpcyBhbHJlYWR5IGRlZmluZWQgaW4gZ2VuZXJhbC5tNHNoCistZG5sIHNvIHRoZXJlIGlzIG5vIG5lZWQgZm9yIGl0IGhlcmUuCiArICBfTFRfUFJPR19GVU5DVElPTl9SRVBMQUNFKFtmdW5jX3NwbGl0X2xvbmdfb3B0XSwgW2RubAogKyAgICBmdW5jX3NwbGl0X2xvbmdfb3B0X25hbWU9JHsxJSU9Kn0KICsgICAgZnVuY19zcGxpdF9sb25nX29wdF9hcmc9JHsxIyo9fV0pCi0rCisgCistIyBmdW5jX3N0cmlwbmFtZSBwcmVmaXggc3VmZml4IG5hbWUKKy0jIHN0cmlwIFBSRUZJWCBhbmQgU1VGRklYIG9mZiBvZiBOQU1FLgorLSMgUFJFRklYIGFuZCBTVUZGSVggbXVzdCBub3QgY29udGFpbiBnbG9iYmluZyBvciByZWdleCBzcGVjaWFsCistIyBjaGFyYWN0ZXJzLCBoYXNoZXMsIHBlcmNlbnQgc2lnbnMsIGJ1dCBTVUZGSVggbWF5IGNvbnRhaW4gYSBsZWFkaW5nCistIyBkb3QgKGluIHdoaWNoIGNhc2UgdGhhdCBtYXRjaGVzIG9ubHkgYSBkb3QpLgorLSMgZnVuY19zdHJpcF9zdWZmaXggcHJlZml4IG5hbWUKKy1mdW5jX3N0cmlwbmFtZSAoKQorLXsKKy0gIGNhc2UgJHsyfSBpbgorLSAgICAuKikgZnVuY19zdHJpcG5hbWVfcmVzdWx0PWAkRUNITyAiJHszfSIgfCAkU0VEICJzJV4kezF9JSU7IHMlXFxcXCR7Mn1cJCUlImA7OworLSAgICAqKSAgZnVuY19zdHJpcG5hbWVfcmVzdWx0PWAkRUNITyAiJHszfSIgfCAkU0VEICJzJV4kezF9JSU7IHMlJHsyfVwkJSUiYDs7CistICBlc2FjCistfQogKyAgX0xUX1BST0dfRlVOQ1RJT05fUkVQTEFDRShbZnVuY19zcGxpdF9zaG9ydF9vcHRdLCBbZG5sCiArICAgIGZ1bmNfc3BsaXRfc2hvcnRfb3B0X2FyZz0kezEjPz99CiArICAgIGZ1bmNfc3BsaXRfc2hvcnRfb3B0X25hbWU9JHsxJSIkZnVuY19zcGxpdF9zaG9ydF9vcHRfYXJnIn1dKQotKworIAorLSMgc2VkIHNjcmlwdHM6CistbXlfc2VkX2xvbmdfb3B0PScxcy9eXCgtW1tePV1dKlwpPS4qL1wxLztxJworLW15X3NlZF9sb25nX2FyZz0nMXMvXi1bW149XV0qPS8vJwogKyAgX0xUX1BST0dfRlVOQ1RJT05fUkVQTEFDRShbZnVuY19sbzJvXSwgW2RubAogKyAgICBjYXNlICR7MX0gaW4KICsgICAgICAqLmxvKSBmdW5jX2xvMm9fcmVzdWx0PSR7MSUubG99LiR7b2JqZXh0fSA7OwpAQCAtMTIwMDgsNyArMTIwMDEsOSBAQAogKyAgICBmdW5jX3F1b3RlX2Zvcl9ldmFsICIkezJ9IgogK2RubCBtNCBleHBhbnNpb24gdHVybnMgXFxcXCBpbnRvIFxcLCBhbmQgdGhlbiB0aGUgc2hlbGwgZXZhbCB0dXJucyB0aGF0IGludG8gXAogKyAgICBldmFsICIkezF9Kz1cXFxcIFxcJGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0Il0pCi0rCisgCistX0xUX0VPRgorLWVzYWMKICsgICMgU2F2ZSBhIGBmdW5jX2FwcGVuZCcgZnVuY3Rpb24gY2FsbCB3aGVyZSBwb3NzaWJsZSBieSBkaXJlY3QgdXNlIG9mICcrPScKICsgIHNlZCAtZSAncyVmdW5jX2FwcGVuZCBcKFtbYS16QS1aX11dXHsxLFx9XCkgIiVcMSs9IiVnJyAkY2ZnZmlsZSA+ICRjZmdmaWxlLnRtcCBcCiArICAgICYmIG12IC1mICIkY2ZnZmlsZS50bXAiICIkY2ZnZmlsZSIgXApAQCAtMTIwMjIsMTcgKzEyMDE3LDE0IEBACiArICB0ZXN0IDAgLWVxICQ/IHx8IF9sdF9mdW5jdGlvbl9yZXBsYWNlX2ZhaWw9OgogK2ZpCiAgCi0tX0xUX0VPRgotLWVzYWMKKy1jYXNlICRsdF9zaGVsbF9hcHBlbmQgaW4KKy0gIHllcykKKy0gICAgY2F0IDw8IFxfTFRfRU9GID4+ICIkY2ZnZmlsZSIKICtpZiB0ZXN0IHgiJF9sdF9mdW5jdGlvbl9yZXBsYWNlX2ZhaWwiID0geCI6IjsgdGhlbgogKyAgQUNfTVNHX1dBUk4oW1VuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxsIGZ1bmN0aW9ucyBpbiAkb2ZpbGVdKQogK2ZpCiArXSkKICAKLS1jYXNlICRsdF9zaGVsbF9hcHBlbmQgaW4KLS0gIHllcykKLS0gICAgY2F0IDw8IFxfTFRfRU9GID4+ICIkY2ZnZmlsZSIKLS0KIC0jIGZ1bmNfYXBwZW5kIHZhciB2YWx1ZQogLSMgQXBwZW5kIFZBTFVFIHRvIHRoZSBlbmQgb2Ygc2hlbGwgdmFyaWFibGUgVkFSLgogLWZ1bmNfYXBwZW5kICgpCkBAIC0xMjExOCwxMCArMTIxMTAsMTAgQEAKICtfTFRfREVDTChbdG9fdG9vbF9maWxlX2NtZF0sIFtsdF9jdl90b190b29sX2ZpbGVfY21kXSwKICsgICAgICAgICBbMF0sIFtjb252ZXJ0ICRidWlsZCBmaWxlcyB0byB0b29sY2hhaW4gZm9ybWF0XSlkbmwKICtdKSMgX0xUX1BBVEhfQ09OVkVSU0lPTl9GVU5DVElPTlMKLUluZGV4OiBnaXQvbHRtYWluLnNoCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvbHRtYWluLnNoCi0rKysgZ2l0L2x0bWFpbi5zaAorZGlmZiAtLWdpdCBhL2x0bWFpbi5zaCBiL2x0bWFpbi5zaAoraW5kZXggOTUwM2VjODVkNy4uNzBlODU2ZTA2NSAxMDA2NDQKKy0tLSBhL2x0bWFpbi5zaAorKysrIGIvbHRtYWluLnNoCiBAQCAtMSwxMCArMSw5IEBACiAtIyBHZW5lcmF0ZWQgZnJvbSBsdG1haW4ubTRzaC4KICAKQEAgLTEyNTUxLDcgKzEyNTQzLDMxIEBACiArJHByb2duYW1lOiBvZiAkUEFDS0FHRSAkVkVSU0lPTiBhbmQgcnVuIGF1dG9jb25mIGFnYWluLgogK19MVF9FT0YKICsgICAgZmkKLSsKKyAKKy0gICMgU2hvcnRoYW5kIGZvciAtLW1vZGU9Zm9vLCBvbmx5IHZhbGlkIGFzIHRoZSBmaXJzdCBhcmd1bWVudAorLSAgY2FzZSAkMSBpbgorLSAgY2xlYW58Y2xlYXxjbGV8Y2wpCistICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGNsZWFuICR7MSsiJEAifTsgc2hpZnQKKy0gICAgOzsKKy0gIGNvbXBpbGV8Y29tcGlsfGNvbXBpfGNvbXB8Y29tfGNvfGMpCistICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGNvbXBpbGUgJHsxKyIkQCJ9OyBzaGlmdAorLSAgICA7OworLSAgZXhlY3V0ZXxleGVjdXR8ZXhlY3V8ZXhlY3xleGV8ZXh8ZSkKKy0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgZXhlY3V0ZSAkezErIiRAIn07IHNoaWZ0CistICAgIDs7CistICBmaW5pc2h8ZmluaXN8ZmluaXxmaW58Zml8ZikKKy0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgZmluaXNoICR7MSsiJEAifTsgc2hpZnQKKy0gICAgOzsKKy0gIGluc3RhbGx8aW5zdGFsfGluc3RhfGluc3R8aW5zfGlufGkpCistICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGluc3RhbGwgJHsxKyIkQCJ9OyBzaGlmdAorLSAgICA7OworLSAgbGlua3xsaW58bGl8bCkKKy0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgbGluayAkezErIiRAIn07IHNoaWZ0CistICAgIDs7CistICB1bmluc3RhbGx8dW5pbnN0YWx8dW5pbnN0YXx1bmluc3R8dW5pbnN8dW5pbnx1bml8dW58dSkKKy0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgdW5pbnN0YWxsICR7MSsiJEAifTsgc2hpZnQKKy0gICAgOzsKKy0gIGVzYWMKICsgICAgZXhpdCAkRVhJVF9NSVNNQVRDSAogKyAgZmkKICt9CkBAIC0xMjU4MSw3ICsxMjU5Nyw5IEBACiArICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSB1bmluc3RhbGwgJHsxKyIkQCJ9OyBzaGlmdAogKyAgOzsKICtlc2FjCi0rCisgCistICAjIFBhcnNlIG5vbi1tb2RlIHNwZWNpZmljIGFyZ3VtZW50czoKKy0gIHdoaWxlIHRlc3QgIiQjIiAtZ3QgMDsgZG8KICsKICsKICsjIE9wdGlvbiBkZWZhdWx0czoKQEAgLTEyNTk3LDM0ICsxMjYxNSw4IEBACiArb3B0X3ZlcmJvc2U9OgogK29wdF9zaWxlbnQ9ZmFsc2UKICtvcHRfdmVyYm9zZT1mYWxzZQotIAotLSAgIyBTaG9ydGhhbmQgZm9yIC0tbW9kZT1mb28sIG9ubHkgdmFsaWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50Ci0tICBjYXNlICQxIGluCi0tICBjbGVhbnxjbGVhfGNsZXxjbCkKLS0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgY2xlYW4gJHsxKyIkQCJ9OyBzaGlmdAotLSAgICA7OwotLSAgY29tcGlsZXxjb21waWx8Y29tcGl8Y29tcHxjb218Y298YykKLS0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgY29tcGlsZSAkezErIiRAIn07IHNoaWZ0Ci0tICAgIDs7Ci0tICBleGVjdXRlfGV4ZWN1dHxleGVjdXxleGVjfGV4ZXxleHxlKQotLSAgICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBleGVjdXRlICR7MSsiJEAifTsgc2hpZnQKLS0gICAgOzsKLS0gIGZpbmlzaHxmaW5pc3xmaW5pfGZpbnxmaXxmKQotLSAgICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBmaW5pc2ggJHsxKyIkQCJ9OyBzaGlmdAotLSAgICA7OwotLSAgaW5zdGFsbHxpbnN0YWx8aW5zdGF8aW5zdHxpbnN8aW58aSkKLS0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgaW5zdGFsbCAkezErIiRAIn07IHNoaWZ0Ci0tICAgIDs7Ci0tICBsaW5rfGxpbnxsaXxsKQotLSAgICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBsaW5rICR7MSsiJEAifTsgc2hpZnQKLS0gICAgOzsKLS0gIHVuaW5zdGFsbHx1bmluc3RhbHx1bmluc3RhfHVuaW5zdHx1bmluc3x1bmlufHVuaXx1bnx1KQotLSAgICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSB1bmluc3RhbGwgJHsxKyIkQCJ9OyBzaGlmdAotLSAgICA7OwotLSAgZXNhYwotIAotLSAgIyBQYXJzZSBub24tbW9kZSBzcGVjaWZpYyBhcmd1bWVudHM6Ci0tICB3aGlsZSB0ZXN0ICIkIyIgLWd0IDA7IGRvCisrCisrCiArIyBQYXJzZSBvcHRpb25zIG9uY2UsIHRob3JvdWdobHkuICBUaGlzIGNvbWVzIGFzIHNvb24gYXMgcG9zc2libGUgaW4gdGhlCiArIyBzY3JpcHQgdG8gbWFrZSB0aGluZ3MgbGlrZSBgLS12ZXJzaW9uJyBoYXBwZW4gYXMgcXVpY2tseSBhcyB3ZSBjYW4uCiArewpAQCAtMTI4NjgsMTMgKzEyODYwLDEzIEBACiAtICBmaQogLX0KIC0KLS0KLS0jIyAtLS0tLS0tLS0tLSAjIwotLSMjICAgIE1haW4uICAgICMjCi0tIyMgLS0tLS0tLS0tLS0gIyMKICsgICAgIyBEYXJ3aW4gc3Vja3MKICsgICAgZXZhbCBzdGRfc2hyZXh0PVwiJHNocmV4dF9jbWRzXCIKICAKKy0jIyAtLS0tLS0tLS0tLSAjIworLSMjICAgIE1haW4uICAgICMjCistIyMgLS0tLS0tLS0tLS0gIyMKKy0KIC0kb3B0X2hlbHAgfHwgewogLSAgIyBTYW5pdHkgY2hlY2tzIGZpcnN0OgogLSAgZnVuY19jaGVja192ZXJzaW9uX21hdGNoCkBAIC0xMzU5NSw3ICsxMzU4Nyw3IEBACiAgICAgICAgIiIpCiAgICAgICAgICAjIEdlbmVyaWMgaGVscCBpcyBleHRyYWN0ZWQgZnJvbSB0aGUgdXNhZ2UgY29tbWVudHMKICAgICAgICAgICMgYXQgdGhlIHN0YXJ0IG9mIHRoaXMgZmlsZS4KLUBAIC0xNjU5LDggKzIzMjcsOCBAQCBUaGlzIG1vZGUgYWNjZXB0cyB0aGUgZm9sbG93aW5nIGFkZGl0aW9uCitAQCAtMTY1OSw4ICsyMzI3LDggQEAgVGhpcyBtb2RlIGFjY2VwdHMgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIG9wdGlvbnM6CiAgCiAgICAtbyBPVVRQVVQtRklMRSAgICBzZXQgdGhlIG91dHB1dCBmaWxlIG5hbWUgdG8gT1VUUFVULUZJTEUKICAgIC1uby1zdXBwcmVzcyAgICAgIGRvIG5vdCBzdXBwcmVzcyBjb21waWxlciBvdXRwdXQgZm9yIG11bHRpcGxlIHBhc3NlcwpAQCAtMTM2MDYsNyArMTM1OTgsNyBAQAogICAgLXNoYXJlZCAgICAgICAgICAgZG8gbm90IGJ1aWxkIGEgXGAubycgZmlsZSBzdWl0YWJsZSBmb3Igc3RhdGljIGxpbmtpbmcKICAgIC1zdGF0aWMgICAgICAgICAgIG9ubHkgYnVpbGQgYSBcYC5vJyBmaWxlIHN1aXRhYmxlIGZvciBzdGF0aWMgbGlua2luZwogICAgLVdjLEZMQUcgICAgICAgICAgcGFzcyBGTEFHIGRpcmVjdGx5IHRvIHRoZSBjb21waWxlcgotQEAgLTE4MDQsNyArMjQ3Miw3IEBAIE90aGVyd2lzZSwgb25seSBGSUxFIGl0c2VsZiBpcyBkZWxldGVkIHUKK0BAIC0xODA0LDcgKzI0NzIsNyBAQCBPdGhlcndpc2UsIG9ubHkgRklMRSBpdHNlbGYgaXMgZGVsZXRlZCB1c2luZyBSTS4iCiAgICAgICAgICA7OwogIAogICAgICAgICopCkBAIC0xMzcwOCw3ICsxMzcwMCw3IEBACiArICAgIGRvCiArICAgICAgaWYgdGVzdCAtZCAiJG9wdCI7IHRoZW4KICsJZnVuY19hcHBlbmQgbGliZGlycyAiICRvcHQiCi0rCisgCiArICAgICAgZWxpZiB0ZXN0IC1mICIkb3B0IjsgdGhlbgogKwlpZiBmdW5jX2xhbGliX3Vuc2FmZV9wICIkb3B0IjsgdGhlbgogKwkgIGZ1bmNfYXBwZW5kIGxpYnMgIiAkb3B0IgpAQCAtMTM3MjgsNyArMTM3MjAsNyBAQAogKyAgICAgIGVsc2UKICsgICAgICAgIHN5c3Jvb3RfY21kPQogKyAgICAgIGZpCi0gCisrCiArICAgICAgIyBSZW1vdmUgc3lzcm9vdCByZWZlcmVuY2VzCiArICAgICAgaWYgJG9wdF9kcnlfcnVuOyB0aGVuCiArICAgICAgICBmb3IgbGliIGluICRsaWJzOyBkbwpAQCAtMTQxNDAsNyArMTQxMzIsNyBAQAogIGx0XyR7bXlfcHJlZml4fV9MVFhfcHJlbG9hZGVkX3N5bWJvbHNbXSA9CiAge1wKICAgIHsgXCIkbXlfb3JpZ2luYXRvclwiLCAodm9pZCAqKSAwIH0sIgotQEAgLTI3MzYsNyArMzQ5Myw3IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKQorQEAgLTI3MzYsNyArMzQ5Myw3IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKSB7CiAgCWZvciBhcmcgaW4gJExUQ0ZMQUdTOyBkbwogIAkgIGNhc2UgJGFyZyBpbgogIAkgIC1waWUgfCAtZnBpZSB8IC1mUElFKSA7OwpAQCAtMTQ2NjksNyArMTQ2NjEsNyBAQAogICovCiAgRU9GCiAgCSAgICBjYXQgPDwiRU9GIgotQEAgLTM0NjIsMjIgKzQyNzIsMTMgQEAgaW50IHNldGVudiAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosCitAQCAtMzQ2MiwyMiArNDI3MiwxMyBAQCBpbnQgc2V0ZW52IChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgaW50KTsKICAgIGlmIChzdGFsZSkgeyBmcmVlICgodm9pZCAqKSBzdGFsZSk7IHN0YWxlID0gMDsgfSBcCiAgfSB3aGlsZSAoMCkKICAKQEAgLTE0Njk2LDcgKzE0Njg4LDcgQEAKICAKICB2b2lkICp4bWFsbG9jIChzaXplX3QgbnVtKTsKICBjaGFyICp4c3RyZHVwIChjb25zdCBjaGFyICpzdHJpbmcpOwotQEAgLTM0ODcsNyArNDI4OCwxMCBAQCBjaGFyICpjaGFzZV9zeW1saW5rcyAoY29uc3QgY2hhciAqcGF0aHNwCitAQCAtMzQ4Nyw3ICs0Mjg4LDEwIEBAIGNoYXIgKmNoYXNlX3N5bWxpbmtzIChjb25zdCBjaGFyICpwYXRoc3BlYyk7CiAgaW50IG1ha2VfZXhlY3V0YWJsZSAoY29uc3QgY2hhciAqcGF0aCk7CiAgaW50IGNoZWNrX2V4ZWN1dGFibGUgKGNvbnN0IGNoYXIgKnBhdGgpOwogIGNoYXIgKnN0cmVuZHphcCAoY2hhciAqc3RyLCBjb25zdCBjaGFyICpwYXQpOwpAQCAtMTUwMjQsNyArMTUwMTYsNyBAQAogICAgdmZwcmludGYgKHN0ZGVyciwgbWVzc2FnZSwgYXApOwogICAgZnByaW50ZiAoc3RkZXJyLCAiLlxuIik7CiAgCi1AQCAtMzk4OCwyMCArNDgzMiwzMiBAQCBsdF9lcnJvcl9jb3JlIChpbnQgZXhpdF9zdGF0dXMsIGNvbnN0IGNoCitAQCAtMzk4OCwyMCArNDgzMiwzMiBAQCBsdF9lcnJvcl9jb3JlIChpbnQgZXhpdF9zdGF0dXMsIGNvbnN0IGNoYXIgKm1vZGUsCiAgfQogIAogIHZvaWQKQEAgLTE1MDYyLDcgKzE1MDU0LDcgQEAKICAgIHsKICAjaWZkZWYgSEFWRV9TRVRFTlYKICAgICAgLyogYWx3YXlzIG1ha2UgYSBjb3B5LCBmb3IgY29uc2lzdGVuY3kgd2l0aCAhSEFWRV9TRVRFTlYgKi8KLUBAIC00MDQ5LDkgKzQ5MDUsOSBAQCBsdF9leHRlbmRfc3RyIChjb25zdCBjaGFyICpvcmlnX3ZhbHVlLCBjCitAQCAtNDA0OSw5ICs0OTA1LDkgQEAgbHRfZXh0ZW5kX3N0ciAoY29uc3QgY2hhciAqb3JpZ192YWx1ZSwgY29uc3QgY2hhciAqYWRkLCBpbnQgdG9fZW5kKQogIHZvaWQKICBsdF91cGRhdGVfZXhlX3BhdGggKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQogIHsKQEAgLTE1MDc1LDcgKzE1MDY3LDcgQEAKICAKICAgIGlmIChuYW1lICYmICpuYW1lICYmIHZhbHVlICYmICp2YWx1ZSkKICAgICAgewotQEAgLTQwNzAsOSArNDkyNiw5IEBAIGx0X3VwZGF0ZV9leGVfcGF0aCAoY29uc3QgY2hhciAqbmFtZSwgY28KK0BAIC00MDcwLDkgKzQ5MjYsOSBAQCBsdF91cGRhdGVfZXhlX3BhdGggKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQogIHZvaWQKICBsdF91cGRhdGVfbGliX3BhdGggKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQogIHsKQEAgLTE3MzQ4LDEwICsxNzM0MCwxMCBAQAogIAogIGlmIHRlc3QgLW4gIiRleGVjX2NtZCI7IHRoZW4KICAgIGV2YWwgZXhlYyAiJGV4ZWNfY21kIgotSW5kZXg6IGdpdC9sdG9wdGlvbnMubTQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9sdG9wdGlvbnMubTQKLSsrKyBnaXQvbHRvcHRpb25zLm00CitkaWZmIC0tZ2l0IGEvbHRvcHRpb25zLm00IGIvbHRvcHRpb25zLm00CitpbmRleCA1ZWYxMmNlZDJhLi4xN2NmZDUxYzBiIDEwMDY0NAorLS0tIGEvbHRvcHRpb25zLm00CisrKysgYi9sdG9wdGlvbnMubTQKIEBAIC04LDcgKzgsNyBAQAogICMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwgd2l0aCBvciB3aXRob3V0CiAgIyBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KQEAgLTE3MzYxLDEwICsxNzM1MywxMCBAQAogIAogICMgVGhpcyBpcyB0byBoZWxwIGFjbG9jYWwgZmluZCB0aGVzZSBtYWNyb3MsIGFzIGl0IGNhbid0IHNlZSBtNF9kZWZpbmUuCiAgQUNfREVGVU4oW0xUT1BUSU9OU19WRVJTSU9OXSwgW200X2lmKFsxXSldKQotSW5kZXg6IGdpdC9sdHZlcnNpb24ubTQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9sdHZlcnNpb24ubTQKLSsrKyBnaXQvbHR2ZXJzaW9uLm00CitkaWZmIC0tZ2l0IGEvbHR2ZXJzaW9uLm00IGIvbHR2ZXJzaW9uLm00CitpbmRleCBiZjg3Zjc3MTMyLi45YzdiNWQ0MTE4IDEwMDY0NAorLS0tIGEvbHR2ZXJzaW9uLm00CisrKysgYi9sdHZlcnNpb24ubTQKIEBAIC03LDE3ICs3LDE3IEBACiAgIyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LCB3aXRoIG9yIHdpdGhvdXQKICAjIG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMgdGhpcyBub3RpY2UgaXMgcHJlc2VydmVkLgpAQCAtMTczODksMTAgKzE3MzgxLDEwIEBACiAgX0xUX0RFQ0woLCBtYWNyb192ZXJzaW9uLCAwLCBbV2hpY2ggcmVsZWFzZSBvZiBsaWJ0b29sLm00IHdhcyB1c2VkP10pCiAgX0xUX0RFQ0woLCBtYWNyb19yZXZpc2lvbiwgMCkKICBdKQotSW5kZXg6IGdpdC9sdH5vYnNvbGV0ZS5tNAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2x0fm9ic29sZXRlLm00Ci0rKysgZ2l0L2x0fm9ic29sZXRlLm00CitkaWZmIC0tZ2l0IGEvbHR+b2Jzb2xldGUubTQgYi9sdH5vYnNvbGV0ZS5tNAoraW5kZXggYmY5MmI1ZTA3OS4uYzU3M2RhOTBjNSAxMDA2NDQKKy0tLSBhL2x0fm9ic29sZXRlLm00CisrKysgYi9sdH5vYnNvbGV0ZS5tNAogQEAgLTcsNyArNyw3IEBACiAgIyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LCB3aXRoIG9yIHdpdGhvdXQKICAjIG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMgdGhpcyBub3RpY2UgaXMgcHJlc2VydmVkLgpAQCAtMTc0MDIsMTEgKzE3Mzk0LDExIEBACiAgCiAgIyBUaGVzZSBleGlzdCBlbnRpcmVseSB0byBmb29sIGFjbG9jYWwgd2hlbiBib290c3RyYXBwaW5nIGxpYnRvb2wuCiAgIwotSW5kZXg6IGdpdC9vcGNvZGVzL2NvbmZpZ3VyZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL29wY29kZXMvY29uZmlndXJlCi0rKysgZ2l0L29wY29kZXMvY29uZmlndXJlCi1AQCAtNjgxLDYgKzY4MSw5IEBAIE9UT09MCitkaWZmIC0tZ2l0IGEvb3Bjb2Rlcy9jb25maWd1cmUgYi9vcGNvZGVzL2NvbmZpZ3VyZQoraW5kZXggODUzODQ5ZWU1OC4uNWY3NGVjZjdkYSAxMDA3NTUKKy0tLSBhL29wY29kZXMvY29uZmlndXJlCisrKysgYi9vcGNvZGVzL2NvbmZpZ3VyZQorQEAgLTY4MCw2ICs2ODAsOSBAQCBPVE9PTAogIExJUE8KICBOTUVESVQKICBEU1lNVVRJTApAQCAtMTc0MTYsNyArMTc0MDgsNyBAQAogIE9CSkRVTVAKICBMTl9TCiAgTk0KLUBAIC03OTksNiArODAyLDcgQEAgZW5hYmxlX3N0YXRpYworQEAgLTc5OCw2ICs4MDEsNyBAQCBlbmFibGVfc3RhdGljCiAgd2l0aF9waWMKICBlbmFibGVfZmFzdF9pbnN0YWxsCiAgd2l0aF9nbnVfbGQKQEAgLTE3NDI0LDcgKzE3NDE2LDcgQEAKICBlbmFibGVfbGlidG9vbF9sb2NrCiAgZW5hYmxlX3RhcmdldHMKICBlbmFibGVfd2Vycm9yCi1AQCAtMTQ2Myw2ICsxNDY3LDggQEAgT3B0aW9uYWwgUGFja2FnZXM6CitAQCAtMTQ2Miw2ICsxNDY2LDggQEAgT3B0aW9uYWwgUGFja2FnZXM6CiAgICAtLXdpdGgtcGljICAgICAgICAgICAgICB0cnkgdG8gdXNlIG9ubHkgUElDL25vbi1QSUMgb2JqZWN0cyBbZGVmYXVsdD11c2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdGhdCiAgICAtLXdpdGgtZ251LWxkICAgICAgICAgICBhc3N1bWUgdGhlIEMgY29tcGlsZXIgdXNlcyBHTlUgbGQgW2RlZmF1bHQ9bm9dCkBAIC0xNzQzMyw3ICsxNzQyNSw3IEBACiAgCiAgU29tZSBpbmZsdWVudGlhbCBlbnZpcm9ubWVudCB2YXJpYWJsZXM6CiAgICBDQyAgICAgICAgICBDIGNvbXBpbGVyIGNvbW1hbmQKLUBAIC01NDA0LDggKzU0MTAsOCBAQCBlc2FjCitAQCAtNTQwMyw4ICs1NDA5LDggQEAgZXNhYwogIAogIAogIApAQCAtMTc0NDQsNyArMTc0MzYsNyBAQAogIAogIAogIAotQEAgLTU0NDUsNyArNTQ1MSw3IEBAIEVDSE89JEVDSE8kRUNITyRFQ0hPJEVDSE8kRUNITyRFQ0hPCitAQCAtNTQ0NCw3ICs1NDUwLDcgQEAgRUNITz0kRUNITyRFQ0hPJEVDSE8kRUNITyRFQ0hPJEVDSE8KICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGhvdyB0byBwcmludCBzdHJpbmdzIiA+JjUKICAkYXNfZWNob19uICJjaGVja2luZyBob3cgdG8gcHJpbnQgc3RyaW5ncy4uLiAiID4mNjsgfQogICMgVGVzdCBwcmludCBmaXJzdCwgYmVjYXVzZSBpdCB3aWxsIGJlIGEgYnVpbHRpbiBpZiBwcmVzZW50LgpAQCAtMTc0NTMsNyArMTc0NDUsNyBAQAogICAgIHRlc3QgIlhgcHJpbnQgLXIgLS0gJEVDSE8gMj4vZGV2L251bGxgIiA9ICJYJEVDSE8iOyB0aGVuCiAgICBFQ0hPPSdwcmludCAtciAtLScKICBlbGlmIHRlc3QgIlhgcHJpbnRmICVzICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgotQEAgLTYxMzEsOCArNjEzNyw4IEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHUKK0BAIC02MTMwLDggKzYxMzYsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5kcyBzb21lIFhTSSBjb25zdHJ1Y3RzLi4uICIgPiY2OwogICMgVHJ5IHNvbWUgWFNJIGZlYXR1cmVzCiAgeHNpX3NoZWxsPW5vCiAgKCBfbHRfZHVtbXk9ImEvYi9jIgpAQCAtMTc0NjQsNyArMTc0NTYsNyBAQAogICAgICAmJiBldmFsICd0ZXN0ICQoKCAxICsgMSApKSAtZXEgMiBcCiAgICAgICYmIHRlc3QgIiR7I19sdF9kdW1teX0iIC1lcSA1JyApID4vZGV2L251bGwgMj4mMSBcCiAgICAmJiB4c2lfc2hlbGw9eWVzCi1AQCAtNjE4MSw2ICs2MTg3LDgwIEBAIGVzYWMKK0BAIC02MTgwLDYgKzYxODYsODAgQEAgZXNhYwogIAogIAogIApAQCAtMTc1NDUsNyArMTc1MzcsNyBAQAogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRMRCBvcHRpb24gdG8gcmVsb2FkIG9iamVjdCBmaWxlcyIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRMRCBvcHRpb24gdG8gcmVsb2FkIG9iamVjdCBmaWxlcy4uLiAiID4mNjsgfQogIGlmICR7bHRfY3ZfbGRfcmVsb2FkX2ZsYWcrOn0gZmFsc2U7IHRoZW4gOgotQEAgLTYxOTcsNiArNjI3NywxMSBAQCBjYXNlICRyZWxvYWRfZmxhZyBpbgorQEAgLTYxOTYsNiArNjI3NiwxMSBAQCBjYXNlICRyZWxvYWRfZmxhZyBpbgogIGVzYWMKICByZWxvYWRfY21kcz0nJExEJHJlbG9hZF9mbGFnIC1vICRvdXRwdXQkcmVsb2FkX29ianMnCiAgY2FzZSAkaG9zdF9vcyBpbgpAQCAtMTc1NTcsNyArMTc1NDksNyBAQAogICAgZGFyd2luKikKICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAgICAgICByZWxvYWRfY21kcz0nJExUQ0MgJExUQ0ZMQUdTIC1ub3N0ZGxpYiAke3dsfS1yIC1vICRvdXRwdXQkcmVsb2FkX29ianMnCi1AQCAtNjM2NSw3ICs2NDUwLDggQEAgbWluZ3cqIHwgcHczMiopCitAQCAtNjM2NCw3ICs2NDQ5LDggQEAgbWluZ3cqIHwgcHczMiopCiAgICAgIGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kPSdmaWxlX21hZ2ljIF54ODYgYXJjaGl2ZSBpbXBvcnR8Xng4NiBETEwnCiAgICAgIGx0X2N2X2ZpbGVfbWFnaWNfY21kPSdmdW5jX3dpbjMyX2xpYmlkJwogICAgZWxzZQpAQCAtMTc1NjcsNyArMTc1NTksNyBAQAogICAgICBsdF9jdl9maWxlX21hZ2ljX2NtZD0nJE9CSkRVTVAgLWYnCiAgICBmaQogICAgOzsKLUBAIC02NTE5LDYgKzY2MDUsMjEgQEAgZXNhYworQEAgLTY1MTgsNiArNjYwNCwyMSBAQCBlc2FjCiAgZmkKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kIiA+JjUKICAkYXNfZWNobyAiJGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kIiA+JjY7IH0KQEAgLTE3NTg5LDcgKzE3NTgxLDcgQEAKICBmaWxlX21hZ2ljX2NtZD0kbHRfY3ZfZmlsZV9tYWdpY19jbWQKICBkZXBsaWJzX2NoZWNrX21ldGhvZD0kbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2QKICB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KLUBAIC02NTM0LDkgKzY2MzUsMTYyIEBAIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGkKK0BAIC02NTMxLDExICs2NjMyLDE2NCBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KICAKICAKICAKQEAgLTE3NjAzLDYgKzE3NTk1LDggQEAKICsKICsKICsKKyAKKyAKICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCiAtICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9YXIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgogLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWFyOyBhY193b3JkPSQyCkBAIC0xNzc1NCw3ICsxNzc0OCw3IEBACiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQogIGlmICR7YWNfY3ZfcHJvZ19BUis6fSBmYWxzZTsgdGhlbiA6Ci1AQCAtNjU1Miw3ICs2ODA2LDcgQEAgZG8KK0BAIC02NTUxLDcgKzY4MDUsNyBAQCBkbwogICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCkBAIC0xNzc2Myw3ICsxNzc1Nyw3IEBACiAgICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQogICAgICBicmVhayAyCiAgICBmaQotQEAgLTY1NzIsMTEgKzY4MjYsMTUgQEAgJGFzX2VjaG8gIm5vIiA+JjY7IH0KK0BAIC02NTcxLDExICs2ODI1LDE1IEBAICRhc19lY2hvICJubyIgPiY2OyB9CiAgZmkKICAKICAKQEAgLTE3NzgyLDcgKzE3Nzc2LDcgQEAKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CiAgaWYgJHthY19jdl9wcm9nX2FjX2N0X0FSKzp9IGZhbHNlOyB0aGVuIDoKLUBAIC02NTkyLDcgKzY4NTAsNyBAQCBkbworQEAgLTY1OTEsNyArNjg0OSw3IEBAIGRvCiAgICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgogICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgIGlmIGFzX2ZuX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KQEAgLTE3NzkxLDcgKzE3Nzg1LDcgQEAKICAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiAgICAgIGJyZWFrIDIKICAgIGZpCi1AQCAtNjYxMSw2ICs2ODY5LDEwIEBAIGVsc2UKK0BAIC02NjEwLDYgKzY4NjgsMTAgQEAgZWxzZQogICRhc19lY2hvICJubyIgPiY2OyB9CiAgZmkKICAKQEAgLTE3ODAyLDcgKzE3Nzk2LDcgQEAKICAgIGlmIHRlc3QgIngkYWNfY3RfQVIiID0geDsgdGhlbgogICAgICBBUj0iZmFsc2UiCiAgICBlbHNlCi1AQCAtNjYyMiwxMiArNjg4NCwxMSBAQCBhY190b29sX3dhcm5lZD15ZXMgOzsKK0BAIC02NjIxLDE2ICs2ODgzLDcyIEBAIGFjX3Rvb2xfd2FybmVkPXllcyA7OwogIGVzYWMKICAgICAgQVI9JGFjX2N0X0FSCiAgICBmaQpAQCAtMTc4MTUsMTMgKzE3ODA5LDE2IEBACiArOiAke0FSPWFyfQogKzogJHtBUl9GTEFHUz1jcnV9CiArCi0gCi0gCi0gCi1AQCAtNjYzOCw2ICs2ODk5LDYzIEBAIHRlc3QgLXogIiRBUl9GTEFHUyIgJiYgQVJfRkxBR1M9Y3J1Ci0gCi0gCi0gCisrCisrCisrCisrCisrCisrCisrCisrCisrCisrCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgYXJjaGl2ZXIgQEZJTEUgc3VwcG9ydCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGFyY2hpdmVyIEBGSUxFIHN1cHBvcnQuLi4gIiA+JjY7IH0KICtpZiAke2x0X2N2X2FyX2F0X2ZpbGUrOn0gZmFsc2U7IHRoZW4gOgpAQCAtMTc4MzQsNyArMTc4MzEsNyBAQAogK2ludAogK21haW4gKCkKICt7Ci0rCisgCiArICA7CiArICByZXR1cm4gMDsKICt9CkBAIC0xNzg2MCwyOSArMTc4NTcsMjMgQEAKICsgICAgICAgIGZpCiArICAgICAgZmkKICsgICAgICBybSAtZiBjb25mdGVzdC4qIGxpYmNvbmZ0ZXN0LmEKLSsKKyAKICtmaQogK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAotKworIAogK2ZpCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRsdF9jdl9hcl9hdF9maWxlIiA+JjUKICskYXNfZWNobyAiJGx0X2N2X2FyX2F0X2ZpbGUiID4mNjsgfQotKworIAogK2lmIHRlc3QgIngkbHRfY3ZfYXJfYXRfZmlsZSIgPSB4bm87IHRoZW4KICsgIGFyY2hpdmVyX2xpc3Rfc3BlYz0KICtlbHNlCiArICBhcmNoaXZlcl9saXN0X3NwZWM9JGx0X2N2X2FyX2F0X2ZpbGUKICtmaQotKwotKwotKwotKwotKwotKwogIAotIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KLSAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1zdHJpcCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi1AQCAtNjk3Myw4ICs3MjkxLDggQEAgZXNhYworIAorIAorQEAgLTY5NzIsOCArNzI5MCw4IEBAIGVzYWMKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0ic2VkIC1uIC1lICdzL15UIC4qIFwoLipcKSQvZXh0ZXJuIGludCBcMSgpOy9wJyAtZSAncy9eJHN5bWNvZGUqIC4qIFwoLipcKSQvZXh0ZXJuIGNoYXIgXDE7L3AnIgogIAogICMgVHJhbnNmb3JtIGFuIGV4dHJhY3RlZCBzeW1ib2wgbGluZSBpbnRvIHN5bWJvbCBuYW1lIGFuZCBzeW1ib2wgYWRkcmVzcwpAQCAtMTc4OTMsNyArMTc4ODQsNyBAQAogIAogICMgSGFuZGxlIENSTEYgaW4gbWluZ3cgdG9vbCBjaGFpbgogIG9wdF9jcj0KLUBAIC03MDEwLDYgKzczMjgsNyBAQCBmb3IgYWNfc3ltcHJmeCBpbiAiIiAiXyI7IGRvCitAQCAtNzAwOSw2ICs3MzI3LDcgQEAgZm9yIGFjX3N5bXByZnggaW4gIiIgIl8iOyBkbwogICAgZWxzZQogICAgICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSJzZWQgLW4gLWUgJ3MvXi4qWwkgXVwoJHN5bWNvZGUkc3ltY29kZSpcKVsJIF1bCSBdKiRhY19zeW1wcmZ4JHN5bXBhdCRvcHRfY3IkLyRzeW14ZnJtL3AnIgogICAgZmkKQEAgLTE3OTAxLDcgKzE3ODkyLDcgQEAKICAKICAgICMgQ2hlY2sgdG8gc2VlIHRoYXQgdGhlIHBpcGUgd29ya3MgY29ycmVjdGx5LgogICAgcGlwZV93b3Jrcz1ubwotQEAgLTcwNTEsNiArNzM3MCwxOCBAQCBfTFRfRU9GCitAQCAtNzA1MCw2ICs3MzY5LDE4IEBAIF9MVF9FT0YKICAgICAgICBpZiAkR1JFUCAnIG5tX3Rlc3RfdmFyJCcgIiRubGlzdCIgPi9kZXYvbnVsbDsgdGhlbgogIAlpZiAkR1JFUCAnIG5tX3Rlc3RfZnVuYyQnICIkbmxpc3QiID4vZGV2L251bGw7IHRoZW4KICAJICBjYXQgPDxfTFRfRU9GID4gY29uZnRlc3QuJGFjX2V4dApAQCAtMTc5MjAsNyArMTc5MTEsNyBAQAogICNpZmRlZiBfX2NwbHVzcGx1cwogIGV4dGVybiAiQyIgewogICNlbmRpZgotQEAgLTcwNjIsNyArNzM5Myw3IEBAIF9MVF9FT0YKK0BAIC03MDYxLDcgKzczOTIsNyBAQCBfTFRfRU9GCiAgCSAgY2F0IDw8X0xUX0VPRiA+PiBjb25mdGVzdC4kYWNfZXh0CiAgCiAgLyogVGhlIG1hcHBpbmcgYmV0d2VlbiBzeW1ib2wgbmFtZXMgYW5kIHN5bWJvbHMuICAqLwpAQCAtMTc5MjksNyArMTc5MjAsNyBAQAogICAgY29uc3QgY2hhciAqbmFtZTsKICAgIHZvaWQgICAgICAgKmFkZHJlc3M7CiAgfQotQEAgLTcwODgsOCArNzQxOSw4IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKQorQEAgLTcwODcsOCArNzQxOCw4IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKSB7CiAgX0xUX0VPRgogIAkgICMgTm93IHRyeSBsaW5raW5nIHRoZSB0d28gZmlsZXMuCiAgCSAgbXYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdHN0bS4kYWNfb2JqZXh0CkBAIC0xNzk0MCw3ICsxNzkzMSw3IEBACiAgCSAgTElCUz0iY29uZnRzdG0uJGFjX29iamV4dCIKICAJICBDRkxBR1M9IiRDRkxBR1MkbHRfcHJvZ19jb21waWxlcl9ub19idWlsdGluX2ZsYWciCiAgCSAgaWYgeyB7IGV2YWwgZWNobyAiXCJcJGFzX21lXCI6JHthc19saW5lbm8tJExJTkVOT306IFwiJGFjX2xpbmtcIiI7IH0gPiY1Ci1AQCAtNzA5OSw4ICs3NDMwLDggQEAgX0xUX0VPRgorQEAgLTcwOTgsOCArNzQyOSw4IEBAIF9MVF9FT0YKICAgIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgogIAkgICAgcGlwZV93b3Jrcz15ZXMKICAJICBmaQpAQCAtMTc5NTEsNyArMTc5NDIsNyBAQAogIAllbHNlCiAgCSAgZWNobyAiY2Fubm90IGZpbmQgbm1fdGVzdF9mdW5jIGluICRubGlzdCIgPiY1CiAgCWZpCi1AQCAtNzEzNyw2ICs3NDY4LDE0IEBAIGVsc2UKK0BAIC03MTM2LDYgKzc0NjcsMTYgQEAgZWxzZQogICRhc19lY2hvICJvayIgPiY2OyB9CiAgZmkKICAKQEAgLTE3OTYzLDEwICsxNzk1NCwxMiBAQAogK2ZpCiArCiArCisrCisrCiAgCiAgCiAgCi1AQCAtNzE1OCw2ICs3NDk3LDQ3IEBAIGZpCitAQCAtNzE1Miw2ICs3NDkzLDQ1IEBAIGZpCiAgCiAgCiAgCkBAIC0xNzk3NCw2ICsxNzk2Nyw5IEBACiArCiArCiArCisrCisrCisrCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igc3lzcm9vdCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHN5c3Jvb3QuLi4gIiA+JjY7IH0KICsKQEAgLTE4MDA2LDE1ICsxODAwMiwxMCBAQAogKwogKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHtsdF9zeXNyb290Oi1ub30iID4mNQogKyRhc19lY2hvICIke2x0X3N5c3Jvb3Q6LW5vfSIgPiY2OyB9Ci0rCi0rCi0rCi0rCi0rCi0gIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxpYnRvb2wtbG9jayB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHtlbmFibGVfbGlidG9vbF9sb2NrK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgIGVuYWJsZXZhbD0kZW5hYmxlX2xpYnRvb2xfbG9jazsKLUBAIC03MzY0LDYgKzc3NDQsMTIzIEBAIGVzYWMKKyAKKyAKKyAKK0BAIC03MzYzLDYgKzc3NDMsMTIzIEBAIGVzYWMKICAKICBuZWVkX2xvY2tzPSIkZW5hYmxlX2xpYnRvb2xfbG9jayIKICAKQEAgLTE4MTM4LDcgKzE4MTI5LDcgQEAKICAKICAgIGNhc2UgJGhvc3Rfb3MgaW4KICAgICAgcmhhcHNvZHkqIHwgZGFyd2luKikKLUBAIC03OTI3LDYgKzg0MjQsOCBAQCBfTFRfRU9GCitAQCAtNzkyNiw2ICs4NDIzLDggQEAgX0xUX0VPRgogICAgICAgICRMVENDICRMVENGTEFHUyAtYyAtbyBjb25mdGVzdC5vIGNvbmZ0ZXN0LmMgMj4mNQogICAgICAgIGVjaG8gIiRBUiBjcnUgbGliY29uZnRlc3QuYSBjb25mdGVzdC5vIiA+JjUKICAgICAgICAkQVIgY3J1IGxpYmNvbmZ0ZXN0LmEgY29uZnRlc3QubyAyPiY1CkBAIC0xODE0Nyw3ICsxODEzOCw3IEBACiAgICAgICAgY2F0ID4gY29uZnRlc3QuYyA8PCBfTFRfRU9GCiAgaW50IG1haW4oKSB7IHJldHVybiAwO30KICBfTFRfRU9GCi1AQCAtODA5Miw3ICs4NTkxLDggQEAgZmkKK0BAIC04MDkxLDcgKzg1OTAsOCBAQCBmaQogIExJQlRPT0xfREVQUz0iJGx0bWFpbiIKICAKICAjIEFsd2F5cyB1c2Ugb3VyIG93biBsaWJ0b29sLgpAQCAtMTgxNTcsNyArMTgxNDgsNyBAQAogIAogIAogIAotQEAgLTgxODEsNyArODY4MSw3IEBAIGFpeDMqKQorQEAgLTgxODAsNyArODY4MCw3IEBAIGFpeDMqKQogIGVzYWMKICAKICAjIEdsb2JhbCB2YXJpYWJsZXM6CkBAIC0xODE2Niw3ICsxODE1Nyw3IEBACiAgY2FuX2J1aWxkX3NoYXJlZD15ZXMKICAKICAjIEFsbCBrbm93biBsaW5rZXJzIHJlcXVpcmUgYSBgLmEnIGFyY2hpdmUgZm9yIHN0YXRpYyBsaW5raW5nIChleGNlcHQgTVNWQywKLUBAIC04NDc5LDggKzg5NzksNiBAQCBmaQorQEAgLTg0NzgsOCArODk3OCw2IEBAIGZpCiAgbHRfcHJvZ19jb21waWxlcl9waWM9CiAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9CiAgCkBAIC0xODE3NSw3ICsxODE2Niw3IEBACiAgCiAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogICAgICBsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJwotQEAgLTg2NDYsNiArOTE0NCwxMiBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtODY0NSw2ICs5MTQzLDEyIEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW9uIHRvIHByb2R1Y2UgUElDLi4uICIgPiY2OyB9CiAgCWx0X3Byb2dfY29tcGlsZXJfcGljPSctLXNoYXJlZCcKICAJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy0tc3RhdGljJwogIAk7OwpAQCAtMTgxODgsNyArMTgxNzksNyBAQAogICAgICAgIHBnY2MqIHwgcGdmNzcqIHwgcGdmOTAqIHwgcGdmOTUqIHwgcGdmb3J0cmFuKikKICAgICAgICAgICMgUG9ydGxhbmQgR3JvdXAgY29tcGlsZXJzICgqbm90KiB0aGUgUGVudGl1bSBnY2MgY29tcGlsZXIsCiAgCSMgd2hpY2ggbG9va3MgdG8gYmUgYSBkZWFkIHByb2plY3QpCi1AQCAtODcwOCw3ICs5MjEyLDcgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpbworQEAgLTg3MDcsNyArOTIxMSw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW9uIHRvIHByb2R1Y2UgUElDLi4uICIgPiY2OyB9CiAgICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9Jy1LUElDJwogICAgICAgIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctQnN0YXRpYycKICAgICAgICBjYXNlICRjY19iYXNlbmFtZSBpbgpAQCAtMTgxOTcsNyArMTgxODgsNyBAQAogIAlsdF9wcm9nX2NvbXBpbGVyX3dsPSctUW9wdGlvbiBsZCAnOzsKICAgICAgICAqKQogIAlsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJzs7Ci1AQCAtODc2NSwxMyArOTI2OSwxNyBAQCBjYXNlICRob3N0X29zIGluCitAQCAtODc2NCwxMyArOTI2OCwxNyBAQCBjYXNlICRob3N0X29zIGluCiAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSIkbHRfcHJvZ19jb21waWxlcl9waWMgLURQSUMiCiAgICAgIDs7CiAgZXNhYwpAQCAtMTgyMjEsNyArMTgyMTIsNyBAQAogIAogICMKICAjIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgUElDIGZsYWcgYWN0dWFsbHkgd29ya3MuCi1AQCAtODgzMiw2ICs5MzQwLDExIEBAIGZpCitAQCAtODgzMSw2ICs5MzM5LDExIEBAIGZpCiAgCiAgCiAgCkBAIC0xODIzMyw3ICsxODIyNCw3IEBACiAgIwogICMgQ2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBzdGF0aWMgZmxhZyBhY3R1YWxseSB3b3Jrcy4KICAjCi1AQCAtOTE4Miw3ICs5Njk1LDggQEAgX0xUX0VPRgorQEAgLTkxODEsNyArOTY5NCw4IEBAIF9MVF9FT0YKICAgICAgICBhbGxvd191bmRlZmluZWRfZmxhZz11bnN1cHBvcnRlZAogICAgICAgIGFsd2F5c19leHBvcnRfc3ltYm9scz1ubwogICAgICAgIGVuYWJsZV9zaGFyZWRfd2l0aF9zdGF0aWNfcnVudGltZXM9eWVzCkBAIC0xODI0Myw3ICsxODIzNCw3IEBACiAgCiAgICAgICAgaWYgJExEIC0taGVscCAyPiYxIHwgJEdSRVAgJ2F1dG8taW1wb3J0JyA+IC9kZXYvbnVsbDsgdGhlbgogICAgICAgICAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAke3dsfS0tZW5hYmxlLWF1dG8taW1hZ2UtYmFzZSAtWGxpbmtlciAtLW91dC1pbXBsaWIgLVhsaW5rZXIgJGxpYicKLUBAIC05MjgxLDEyICs5Nzk1LDEyIEBAIF9MVF9FT0YKK0BAIC05MjgwLDEyICs5Nzk0LDEyIEBAIF9MVF9FT0YKICAJICB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0nLS13aG9sZS1hcmNoaXZlJGNvbnZlbmllbmNlIC0tbm8td2hvbGUtYXJjaGl2ZScKICAJICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPQogIAkgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQ9Jy1ycGF0aCAkbGliZGlyJwpAQCAtMTgyNTgsNyArMTgyNDksNyBAQAogIAkgIGZpCiAgCSAgOzsKICAJZXNhYwotQEAgLTkzMDAsOCArOTgxNCw4IEBAIF9MVF9FT0YKK0BAIC05Mjk5LDggKzk4MTMsOCBAQCBfTFRfRU9GCiAgCWFyY2hpdmVfY21kcz0nJExEIC1Cc2hhcmVhYmxlICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3MgLW8gJGxpYicKICAJd2xhcmM9CiAgICAgICAgZWxzZQpAQCAtMTgyNjksNyArMTgyNjAsNyBAQAogICAgICAgIGZpCiAgICAgICAgOzsKICAKLUBAIC05MzE5LDggKzk4MzMsOCBAQCBfTFRfRU9GCitAQCAtOTMxOCw4ICs5ODMyLDggQEAgX0xUX0VPRgogIAogIF9MVF9FT0YKICAgICAgICBlbGlmICRMRCAtLWhlbHAgMj4mMSB8ICRHUkVQICc6IHN1cHBvcnRlZCB0YXJnZXRzOi4qIGVsZicgPiAvZGV2L251bGw7IHRoZW4KQEAgLTE4MjgwLDcgKzE4MjcxLDcgQEAKICAgICAgICBlbHNlCiAgCWxkX3NobGlicz1ubwogICAgICAgIGZpCi1AQCAtOTM2Niw4ICs5ODgwLDggQEAgX0xUX0VPRgorQEAgLTkzNjUsOCArOTg3OSw4IEBAIF9MVF9FT0YKICAKICAgICAgKikKICAgICAgICBpZiAkTEQgLS1oZWxwIDI+JjEgfCAkR1JFUCAnOiBzdXBwb3J0ZWQgdGFyZ2V0czouKiBlbGYnID4gL2Rldi9udWxsOyB0aGVuCkBAIC0xODI5MSw3ICsxODI4Miw3IEBACiAgICAgICAgZWxzZQogIAlsZF9zaGxpYnM9bm8KICAgICAgICBmaQotQEAgLTk0OTcsNyArMTAwMTEsMTMgQEAgX0xUX0VPRgorQEAgLTk0OTYsNyArMTAwMTAsMTMgQEAgX0xUX0VPRgogIAlhbGxvd191bmRlZmluZWRfZmxhZz0nLWJlcm9rJwogICAgICAgICAgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuCiAgICAgICAgICAjIGVtcHR5IGV4ZWN1dGFibGUuCkBAIC0xODMwNiw3ICsxODI5Nyw3IEBACiAgLyogZW5kIGNvbmZkZWZzLmguICAqLwogIAogIGludAotQEAgLTk1MTAsMjIgKzEwMDMwLDI5IEBAIG1haW4gKCkKK0BAIC05NTA5LDIyICsxMDAyOSwyOSBAQCBtYWluICgpCiAgX0FDRU9GCiAgaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgogIApAQCAtMTgzNDksNyArMTgzNDAsNyBAQAogIAogICAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAgICAgICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICciXCR7d2x9JG5vX2VudHJ5X2ZsYWciJyAkY29tcGlsZXJfZmxhZ3MgYGlmIHRlc3QgIngke2FsbG93X3VuZGVmaW5lZF9mbGFnfSIgIT0gIngiOyB0aGVuIGZ1bmNfZWNob19hbGwgIiR7d2x9JHthbGxvd191bmRlZmluZWRfZmxhZ30iOyBlbHNlIDo7IGZpYCAnIlwke3dsfSRleHBfc3ltX2ZsYWc6XCRleHBvcnRfc3ltYm9scyAkc2hhcmVkX2ZsYWciCi1AQCAtOTUzNyw3ICsxMDA2NCwxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTUzNiw3ICsxMDA2MywxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJZWxzZQogIAkgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuCiAgCSAjIGVtcHR5IGV4ZWN1dGFibGUuCkBAIC0xODM2NCw3ICsxODM1NSw3IEBACiAgLyogZW5kIGNvbmZkZWZzLmguICAqLwogIAogIGludAotQEAgLTk1NTAsMjIgKzEwMDgzLDI5IEBAIG1haW4gKCkKK0BAIC05NTQ5LDIyICsxMDA4MiwyOSBAQCBtYWluICgpCiAgX0FDRU9GCiAgaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgogIApAQCAtMTg0MDcsNyArMTgzOTgsNyBAQAogIAogIAkgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAJICAjIFdhcm5pbmcgLSB3aXRob3V0IHVzaW5nIHRoZSBvdGhlciBydW4gdGltZSBsb2FkaW5nIGZsYWdzLAotQEAgLTk2MTAsMjAgKzEwMTUwLDYzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NjA5LDIwICsxMDE0OSw2MyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAgICAgICAjIE1pY3Jvc29mdCBWaXN1YWwgQysrLgogICAgICAgICMgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyBpcyBhY3R1YWxseSBtZWFuaW5nbGVzcywgYXMgdGhlcmUgaXMKICAgICAgICAjIG5vIHNlYXJjaCBwYXRoIGZvciBETExzLgpAQCAtMTg0ODUsNyArMTg0NzYsNyBAQAogICAgICAgIDs7CiAgCiAgICAgIGRhcndpbiogfCByaGFwc29keSopCi1AQCAtOTY4NCw3ICsxMDI2Nyw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NjgzLDcgKzEwMjY2LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgICMgRnJlZUJTRCAzIGFuZCBncmVhdGVyIHVzZXMgZ2NjIC1zaGFyZWQgdG8gZG8gc2hhcmVkIGxpYnJhcmllcy4KICAgICAgZnJlZWJzZCogfCBkcmFnb25mbHkqKQpAQCAtMTg0OTQsNyArMTg0ODUsNyBAQAogICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1SJGxpYmRpcicKICAgICAgICBoYXJkY29kZV9kaXJlY3Q9eWVzCiAgICAgICAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj1ubwotQEAgLTk2OTIsNyArMTAyNzUsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTY5MSw3ICsxMDI3NCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICBocHV4OSopCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KQEAgLTE4NTAzLDcgKzE4NDk0LDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJFJNICRvdXRwdXRfb2JqZGlyLyRzb25hbWV+JExEIC1iICtiICRpbnN0YWxsX2xpYmRpciAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3N+dGVzdCAkb3V0cHV0X29iamRpci8kc29uYW1lID0gJGxpYiB8fCBtdiAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWInCiAgICAgICAgZmkKLUBAIC05NzA4LDcgKzEwMjkxLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk3MDcsNyArMTAyOTAsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDEwKikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllcyAmJiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0gbm87IHRoZW4KQEAgLTE4NTEyLDcgKzE4NTAzLDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJExEIC1iICtoICRzb25hbWUgK2IgJGluc3RhbGxfbGliZGlyIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKICAgICAgICBmaQotQEAgLTk3MzIsMTAgKzEwMzE1LDEwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NzMxLDEwICsxMDMxNCwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9K2ggJHt3bH0kc29uYW1lIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwogIAkgIDs7CiAgCWlhNjQqKQpAQCAtMTg1MjUsNyArMTg1MTYsNyBAQAogIAkgIDs7CiAgCWVzYWMKICAgICAgICBlbHNlCi1AQCAtOTgxNCwyMyArMTAzOTcsMzYgQEAgZmkKK0BAIC05ODEzLDIzICsxMDM5NiwzNiBAQCBmaQogIAogICAgICBpcml4NSogfCBpcml4NiogfCBub25zdG9wdXgqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCkBAIC0xODU3MCw3ICsxODU2MSw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGZ1bmNfZWNob19hbGwgIi1zZXRfdmVyc2lvbiAkdmVyc3RyaW5nImAgLXVwZGF0ZV9yZWdpc3RyeSAke291dHB1dF9vYmpkaXJ9L3NvX2xvY2F0aW9ucyAtbyAkbGliJwogIAlhcmNoaXZlX2V4cHN5bV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLXNvbmFtZSAkc29uYW1lIGB0ZXN0IC1uICIkdmVyc3RyaW5nIiAmJiBmdW5jX2VjaG9fYWxsICItc2V0X3ZlcnNpb24gJHZlcnN0cmluZyJgIC11cGRhdGVfcmVnaXN0cnkgJHtvdXRwdXRfb2JqZGlyfS9zb19sb2NhdGlvbnMgLWV4cG9ydHNfZmlsZSAkZXhwb3J0X3N5bWJvbHMgLW8gJGxpYicKLUBAIC05OTE1LDcgKzEwNTExLDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iagorQEAgLTk5MTQsNyArMTA1MTAsNyBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICAgb3NmNCogfCBvc2Y1KikJIyBhcyBvc2YzKiB3aXRoIHRoZSBhZGRpdGlvbiBvZiAtbXN5bSBmbGFnCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyAke3dsfS1leHBlY3RfdW5yZXNvbHZlZCAke3dsfVwqJwpAQCAtMTg1NzksNyArMTg1NzAsNyBAQAogIAloYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ycGF0aCAke3dsfSRsaWJkaXInCiAgICAgICAgZWxzZQogIAlhbGxvd191bmRlZmluZWRfZmxhZz0nIC1leHBlY3RfdW5yZXNvbHZlZCBcKicKLUBAIC05OTM0LDkgKzEwNTMwLDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iagorQEAgLTk5MzMsOSArMTA1MjksOSBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICAgICBub191bmRlZmluZWRfZmxhZz0nIC16IGRlZnMnCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAJd2xhcmM9JyR7d2x9JwpAQCAtMTg1OTEsNyArMTg1ODIsNyBAQAogICAgICAgIGVsc2UKICAJY2FzZSBgJENDIC1WIDI+JjFgIGluCiAgCSoiQ29tcGlsZXJzIDUuMCIqKQotQEAgLTEwNTEyLDggKzExMTA4LDkgQEAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQorQEAgLTEwNTExLDggKzExMTA3LDkgQEAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgbmVlZF92ZXJzaW9uPW5vCiAgICBuZWVkX2xpYl9wcmVmaXg9bm8KICAKQEAgLTE4NjAzLDcgKzE4NTk0LDcgQEAKICAgICAgbGlicmFyeV9uYW1lc19zcGVjPSckbGlibmFtZS5kbGwuYScKICAgICAgIyBETEwgaXMgaW5zdGFsbGVkIHRvICQobGliZGlyKS8uLi9iaW4gYnkgcG9zdGluc3RhbGxfY21kcwogICAgICBwb3N0aW5zdGFsbF9jbWRzPSdiYXNlX2ZpbGU9YGJhc2VuYW1lIFwke2ZpbGV9YH4KLUBAIC0xMDU0NiwxMyArMTExNDMsNzEgQEAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQorQEAgLTEwNTQ1LDEzICsxMTE0Miw3MSBAQCBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCiAgICAgICAgbGlicmFyeV9uYW1lc19zcGVjPSdgZWNobyAke2xpYm5hbWV9IHwgc2VkIC1lICdzL15saWIvcHcvJ2BgZWNobyAke3JlbGVhc2V9IHwgJFNFRCAtZSAncy9bLl0vLS9nJ2Ake3ZlcnN1ZmZpeH0ke3NoYXJlZF9leHR9JwogICAgICAgIDs7CiAgICAgIGVzYWMKQEAgLTE4Njc2LDcgKzE4NjY3LDcgQEAKICAgICMgRklYTUU6IGZpcnN0IHdlIHNob3VsZCBzZWFyY2ggLiBhbmQgdGhlIGRpcmVjdG9yeSB0aGUgZXhlY3V0YWJsZSBpcyBpbgogICAgc2hsaWJwYXRoX3Zhcj1QQVRICiAgICA7OwotQEAgLTEwNjQ0LDcgKzExMjk5LDcgQEAgaGFpa3UqKQorQEAgLTEwNjQzLDcgKzExMjk4LDcgQEAgaGFpa3UqKQogICAgc29uYW1lX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSRtYWpvcicKICAgIHNobGlicGF0aF92YXI9TElCUkFSWV9QQVRICiAgICBzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGg9eWVzCkBAIC0xODY4NSwxNiArMTg2NzYsMTYgQEAKICAgIGhhcmRjb2RlX2ludG9fbGlicz15ZXMKICAgIDs7CiAgCi1AQCAtMTE0NDAsNyArMTIwOTUsNyBAQCBlbHNlCitAQCAtMTE0MzksNyArMTIwOTQsNyBAQCBlbHNlCiAgICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCiAgICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgogICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PF9MVF9FT0YKLS0jbGluZSAxMTQ0MyAiY29uZmlndXJlIgorLSNsaW5lIDExNDQyICJjb25maWd1cmUiCiArI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgogICNpbmNsdWRlICJjb25mZGVmcy5oIgogIAogICNpZiBIQVZFX0RMRkNOX0gKLUBAIC0xMTQ4NCwxMCArMTIxMzksMTAgQEAgZWxzZQorQEAgLTExNDgzLDEwICsxMjEzOCwxMCBAQCBlbHNlCiAgLyogV2hlbiAtZnZpc2JpbGl0eT1oaWRkZW4gaXMgdXNlZCwgYXNzdW1lIHRoZSBjb2RlIGhhcyBiZWVuIGFubm90YXRlZAogICAgIGNvcnJlc3BvbmRpbmdseSBmb3IgdGhlIHN5bWJvbHMgbmVlZGVkLiAgKi8KICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKCgoX19HTlVDX18gPT0gMykgJiYgKF9fR05VQ19NSU5PUl9fID49IDMpKSB8fCAoX19HTlVDX18gPiAzKSkKQEAgLTE4NzA3LDE2ICsxODY5OCwxNiBAQAogIGludCBtYWluICgpCiAgewogICAgdm9pZCAqc2VsZiA9IGRsb3BlbiAoMCwgTFRfRExHTE9CQUx8TFRfRExMQVpZX09SX05PVyk7Ci1AQCAtMTE1NDYsNyArMTIyMDEsNyBAQCBlbHNlCitAQCAtMTE1NDUsNyArMTIyMDAsNyBAQCBlbHNlCiAgICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCiAgICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgogICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PF9MVF9FT0YKLS0jbGluZSAxMTU0OSAiY29uZmlndXJlIgorLSNsaW5lIDExNTQ4ICJjb25maWd1cmUiCiArI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgogICNpbmNsdWRlICJjb25mZGVmcy5oIgogIAogICNpZiBIQVZFX0RMRkNOX0gKLUBAIC0xMTU5MCwxMCArMTIyNDUsMTAgQEAgZWxzZQorQEAgLTExNTg5LDEwICsxMjI0NCwxMCBAQCBlbHNlCiAgLyogV2hlbiAtZnZpc2JpbGl0eT1oaWRkZW4gaXMgdXNlZCwgYXNzdW1lIHRoZSBjb2RlIGhhcyBiZWVuIGFubm90YXRlZAogICAgIGNvcnJlc3BvbmRpbmdseSBmb3IgdGhlIHN5bWJvbHMgbmVlZGVkLiAgKi8KICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKCgoX19HTlVDX18gPT0gMykgJiYgKF9fR05VQ19NSU5PUl9fID49IDMpKSB8fCAoX19HTlVDX18gPiAzKSkKQEAgLTE4NzI5LDcgKzE4NzIwLDcgQEAKICBpbnQgbWFpbiAoKQogIHsKICAgIHZvaWQgKnNlbGYgPSBkbG9wZW4gKDAsIExUX0RMR0xPQkFMfExUX0RMTEFaWV9PUl9OT1cpOwotQEAgLTEyODMxLDcgKzEzNDg2LDcgQEAgaWYgdGVzdCAiJGVuYWJsZV9zaGFyZWQiID0gInllcyI7IHRoZW4KK0BAIC0xMjc3OSw3ICsxMzQzNCw3IEBAIGlmIHRlc3QgIiRlbmFibGVfc2hhcmVkIiA9ICJ5ZXMiOyB0aGVuCiAgIyBzaW5jZSBsaWJiZmQgbWF5IG5vdCBwdWxsIGluIHRoZSBlbnRpcmV0eSBvZiBsaWJpYmVydHkuCiAgICB4PWBzZWQgLW4gLWUgJ3MvXlsgCV0qUElDRkxBR1sgCV0qPVsgCV0qLy9wJyA8IC4uL2xpYmliZXJ0eS9NYWtlZmlsZSB8IHNlZCAtbiAnJHAnYAogICAgaWYgdGVzdCAtbiAiJHgiOyB0aGVuCkBAIC0xODczOCw3ICsxODcyOSw3IEBACiAgICBmaQogIAogICAgY2FzZSAiJHtob3N0fSIgaW4KLUBAIC0xMzgwNywxMyArMTQ0NjIsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5XworQEAgLTEzNzU2LDEzICsxNDQxMSwyMCBAQCBleGVleHQ9J2AkRUNITyAiJGV4ZWV4dCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfdW5zZXQ9J2AkRUNITyAiJGx0X3Vuc2V0IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9TUDJOTD0nYCRFQ0hPICIkbHRfU1AyTkwiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X05MMlNQPSdgJEVDSE8gIiRsdF9OTDJTUCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0xODc1OSw3ICsxODc1MCw3IEBACiAgU1RSSVA9J2AkRUNITyAiJFNUUklQIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBSQU5MSUI9J2AkRUNITyAiJFJBTkxJQiIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgb2xkX3Bvc3RpbnN0YWxsX2NtZHM9J2AkRUNITyAiJG9sZF9wb3N0aW5zdGFsbF9jbWRzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xMzgyOCwxNCArMTQ0OTAsMTcgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nYCRFQ0hPICIkbAorQEAgLTEzNzc3LDE0ICsxNDQzOSwxNyBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIiB8ICRTRUQgIiRkZQogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTE4Nzc4LDcgKzE4NzY5LDcgQEAKICBEU1lNVVRJTD0nYCRFQ0hPICIkRFNZTVVUSUwiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIE5NRURJVD0nYCRFQ0hPICIkTk1FRElUIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBMSVBPPSdgJEVDSE8gIiRMSVBPIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xMzg2OCwxMiArMTQ1MzMsMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0nYCRFQ0hPICIkaGFyZGNvZAorQEAgLTEzODE3LDEyICsxNDQ4MiwxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSdgJEVDSE8gIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcQogIGhhcmRjb2RlX2F1dG9tYXRpYz0nYCRFQ0hPICIkaGFyZGNvZGVfYXV0b21hdGljIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBpbmhlcml0X3JwYXRoPSdgJEVDSE8gIiRpbmhlcml0X3JwYXRoIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsaW5rX2FsbF9kZXBsaWJzPSdgJEVDSE8gIiRsaW5rX2FsbF9kZXBsaWJzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTE4NzkyLDcgKzE4NzgzLDcgQEAKICBmaWxlX2xpc3Rfc3BlYz0nYCRFQ0hPICIkZmlsZV9saXN0X3NwZWMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIHZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rPSdgJEVDSE8gIiR2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluayIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbmVlZF9saWJfcHJlZml4PSdgJEVDSE8gIiRuZWVkX2xpYl9wcmVmaXgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTEzOTI4LDggKzE0NTkzLDEzIEBAIHJlbG9hZF9mbGFnIFwKK0BAIC0xMzg3Nyw4ICsxNDU0MiwxMyBAQCByZWxvYWRfZmxhZyBcCiAgT0JKRFVNUCBcCiAgZGVwbGlic19jaGVja19tZXRob2QgXAogIGZpbGVfbWFnaWNfY21kIFwKQEAgLTE4ODA2LDcgKzE4Nzk3LDcgQEAKICBTVFJJUCBcCiAgUkFOTElCIFwKICBDQyBcCi1AQCAtMTM5MzksMTIgKzE0NjA5LDE0IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUgXAorQEAgLTEzODg4LDEyICsxNDU1OCwxNCBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIFwKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbCBcCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MgXAogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXggXApAQCAtMTg4MjIsNyArMTg4MTMsNyBAQAogIERTWU1VVElMIFwKICBOTUVESVQgXAogIExJUE8gXAotQEAgLTEzOTYwLDcgKzE0NjMyLDYgQEAgbm9fdW5kZWZpbmVkX2ZsYWcgXAorQEAgLTEzOTA5LDcgKzE0NTgxLDYgQEAgbm9fdW5kZWZpbmVkX2ZsYWcgXAogIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgXAogIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQgXAogIGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IgXApAQCAtMTg4MzAsNyArMTg4MjEsNyBAQAogIGV4Y2x1ZGVfZXhwc3ltcyBcCiAgaW5jbHVkZV9leHBzeW1zIFwKICBmaWxlX2xpc3Rfc3BlYyBcCi1AQCAtMTM5OTYsNiArMTQ2NjcsNyBAQCBtb2R1bGVfY21kcyBcCitAQCAtMTM5NDUsNiArMTQ2MTYsNyBAQCBtb2R1bGVfY21kcyBcCiAgbW9kdWxlX2V4cHN5bV9jbWRzIFwKICBleHBvcnRfc3ltYm9sc19jbWRzIFwKICBwcmVsaW5rX2NtZHMgXApAQCAtMTg4MzgsNyArMTg4MjksNyBAQAogIHBvc3RpbnN0YWxsX2NtZHMgXAogIHBvc3R1bmluc3RhbGxfY21kcyBcCiAgZmluaXNoX2NtZHMgXAotQEAgLTE0NzYxLDcgKzE1NDMzLDggQEAgJGFzX2VjaG8gWCIkZmlsZSIgfAorQEAgLTE0NzEwLDcgKzE1MzgyLDggQEAgJGFzX2VjaG8gWCIkZmlsZSIgfAogICMgTk9URTogQ2hhbmdlcyBtYWRlIHRvIHRoaXMgZmlsZSB3aWxsIGJlIGxvc3Q6IGxvb2sgYXQgbHRtYWluLnNoLgogICMKICAjICAgQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAzLCAyMDA0LCAyMDA1LApAQCAtMTg4NDgsNyArMTg4MzksNyBAQAogICMgICBXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdrZWl0LCAxOTk2CiAgIwogICMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgTGlidG9vbC4KLUBAIC0xNDg2NCwxOSArMTU1MzcsNDIgQEAgU1AyTkw9JGx0X2x0X1NQMk5MCitAQCAtMTQ4MTMsMTkgKzE1NDg2LDQyIEBAIFNQMk5MPSRsdF9sdF9TUDJOTAogICMgdHVybiBuZXdsaW5lcyBpbnRvIHNwYWNlcy4KICBOTDJTUD0kbHRfbHRfTkwyU1AKICAKQEAgLTE4ODkyLDcgKzE4ODgzLDcgQEAKICAjIEEgc3ltYm9sIHN0cmlwcGluZyBwcm9ncmFtLgogIFNUUklQPSRsdF9TVFJJUAogIAotQEAgLTE0OTA2LDYgKzE1NjAyLDEyIEBAIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9JGx0X2x0X2MKK0BAIC0xNDg1NSw2ICsxNTU1MSwxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcwogICMgVHJhbnNmb3JtIHRoZSBvdXRwdXQgb2Ygbm0gaW4gYSBDIG5hbWUgYWRkcmVzcyBwYWlyIHdoZW4gbGliIHByZWZpeCBpcyBuZWVkZWQuCiAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4CiAgCkBAIC0xODkwNSw3ICsxODg5Niw3IEBACiAgIyBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5IHRoYXQgY29udGFpbnMgdGVtcG9yYXJ5IGxpYnRvb2wgZmlsZXMuCiAgb2JqZGlyPSRvYmpkaXIKICAKLUBAIC0xNDkxNSw2ICsxNTYxNyw5IEBAIE1BR0lDX0NNRD0kTUFHSUNfQ01ECitAQCAtMTQ4NjQsNiArMTU1NjYsOSBAQCBNQUdJQ19DTUQ9JE1BR0lDX0NNRAogICMgTXVzdCB3ZSBsb2NrIGZpbGVzIHdoZW4gZG9pbmcgY29tcGlsYXRpb24/CiAgbmVlZF9sb2Nrcz0kbHRfbmVlZF9sb2NrcwogIApAQCAtMTg5MTUsNyArMTg5MDYsNyBAQAogICMgVG9vbCB0byBtYW5pcHVsYXRlIGFyY2hpdmVkIERXQVJGIGRlYnVnIHN5bWJvbCBmaWxlcyBvbiBNYWMgT1MgWC4KICBEU1lNVVRJTD0kbHRfRFNZTVVUSUwKICAKLUBAIC0xNTAyOSwxMiArMTU3MzQsMTIgQEAgd2l0aF9nY2M9JEdDQworQEAgLTE0OTc4LDEyICsxNTY4MywxMiBAQCB3aXRoX2djYz0kR0NDCiAgIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVuY3Rpb25zLgogIG5vX2J1aWx0aW5fZmxhZz0kbHRfbHRfcHJvZ19jb21waWxlcl9ub19idWlsdGluX2ZsYWcKICAKQEAgLTE4OTMxLDcgKzE4OTIyLDcgQEAKICAjIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWljIGxpbmtpbmcuCiAgbGlua19zdGF0aWNfZmxhZz0kbHRfbHRfcHJvZ19jb21waWxlcl9zdGF0aWMKICAKLUBAIC0xNTEyMSw5ICsxNTgyNiw2IEBAIGluaGVyaXRfcnBhdGg9JGluaGVyaXRfcnBhdGgKK0BAIC0xNTA3MCw5ICsxNTc3NSw2IEBAIGluaGVyaXRfcnBhdGg9JGluaGVyaXRfcnBhdGgKICAjIFdoZXRoZXIgbGlidG9vbCBtdXN0IGxpbmsgYSBwcm9ncmFtIGFnYWluc3QgYWxsIGl0cyBkZXBlbmRlbmN5IGxpYnJhcmllcy4KICBsaW5rX2FsbF9kZXBsaWJzPSRsaW5rX2FsbF9kZXBsaWJzCiAgCkBAIC0xODk0MSw3ICsxODkzMiw3IEBACiAgIyBTZXQgdG8gInllcyIgaWYgZXhwb3J0ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCiAgYWx3YXlzX2V4cG9ydF9zeW1ib2xzPSRhbHdheXNfZXhwb3J0X3N5bWJvbHMKICAKLUBAIC0xNTEzOSw2ICsxNTg0MSw5IEBAIGluY2x1ZGVfZXhwc3ltcz0kbHRfaW5jbHVkZV9leHBzeW1zCitAQCAtMTUwODgsNiArMTU3OTAsOSBAQCBpbmNsdWRlX2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhwc3ltcwogICMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZvciBsaW5raW5nIHByb2dyYW1zIChhZ2FpbnN0IGxpYnJhcmllcykgd2l0aCB0ZW1wbGF0ZXMuCiAgcHJlbGlua19jbWRzPSRsdF9wcmVsaW5rX2NtZHMKICAKQEAgLTE4OTUxLDcgKzE4OTQyLDcgQEAKICAjIFNwZWNpZnkgZmlsZW5hbWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KICBmaWxlX2xpc3Rfc3BlYz0kbHRfZmlsZV9saXN0X3NwZWMKICAKLUBAIC0xNTE3MSwyMTAgKzE1ODc2LDE2OSBAQCBsdG1haW49IiRhY19hdXhfZGlyL2x0bWFpbi5zaCIKK0BAIC0xNTEyMCwyMTAgKzE1ODI1LDE2OSBAQCBsdG1haW49IiRhY19hdXhfZGlyL2x0bWFpbi5zaCIKICAgICMgaWYgZmluZHMgbWl4ZWQgQ1IvTEYgYW5kIExGLW9ubHkgbGluZXMuICBTaW5jZSBzZWQgb3BlcmF0ZXMgaW4KICAgICMgdGV4dCBtb2RlLCBpdCBwcm9wZXJseSBjb252ZXJ0cyBsaW5lcyB0byBDUi9MRi4gIFRoaXMgYmFzaCBwcm9ibGVtCiAgICAjIGlzIHJlcG9ydGVkbHkgZml4ZWQsIGJ1dCB3aHkgbm90IHJ1biBvbiBvbGQgdmVyc2lvbnMgdG9vPwpAQCAtMTkxNTMsOSArMTkxNDQsMTUgQEAKIC1fTFRfRU9GCiAtICAgIDs7CiAtICBlc2FjCistCistCistICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCistICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCistCistICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CiArICBzZWQgJyRxJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCiArICAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQotIAorKwogKyAgaWYgdGVzdCB4IiR4c2lfc2hlbGwiID0geHllczsgdGhlbgogKyAgc2VkIC1lICcvXmZ1bmNfZGlybmFtZSAoKSQvLC9efSAjIGZ1bmNfZGlybmFtZSAvY1wKICtmdW5jX2Rpcm5hbWUgKClcCkBAIC0xOTMxMywyMCArMTkzMTAsMTcgQEAKICsgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogVW5hYmxlIHRvIHN1YnN0aXR1dGUgZXh0ZW5kZWQgc2hlbGwgZnVuY3Rpb25zIGluICRvZmlsZSIgPiY1CiArJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogVW5hYmxlIHRvIHN1YnN0aXR1dGUgZXh0ZW5kZWQgc2hlbGwgZnVuY3Rpb25zIGluICRvZmlsZSIgPiYyO30KICtmaQotIAotLSAgc2VkIC1uICcvXiMgR2VuZXJhdGVkIHNoZWxsIGZ1bmN0aW9ucyBpbnNlcnRlZCBoZXJlLywkcCcgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAotLSAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQotIAotLSAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAorKworKwogKyAgIG12IC1mICIkY2ZnZmlsZSIgIiRvZmlsZSIgfHwKICAgICAgKHJtIC1mICIkb2ZpbGUiICYmIGNwICIkY2ZnZmlsZSIgIiRvZmlsZSIgJiYgcm0gLWYgIiRjZmdmaWxlIikKICAgIGNobW9kICt4ICIkb2ZpbGUiCiAgCi1JbmRleDogZ2l0L29wY29kZXMvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvb3Bjb2Rlcy9jb25maWd1cmUuYWMKLSsrKyBnaXQvb3Bjb2Rlcy9jb25maWd1cmUuYWMKLUBAIC0xNjYsNyArMTY2LDcgQEAgY2hhbmdlcXVvdGUoLClkbmwKK2RpZmYgLS1naXQgYS9vcGNvZGVzL2NvbmZpZ3VyZS5hYyBiL29wY29kZXMvY29uZmlndXJlLmFjCitpbmRleCA0ZWIxOTAwNWU4Li4xOWE1NzYwOGI5IDEwMDY0NAorLS0tIGEvb3Bjb2Rlcy9jb25maWd1cmUuYWMKKysrKyBiL29wY29kZXMvY29uZmlndXJlLmFjCitAQCAtMTcwLDcgKzE3MCw3IEBAIGNoYW5nZXF1b3RlKCwpZG5sCiAgICB4PWBzZWQgLW4gLWUgJ3MvXlsgCV0qUElDRkxBR1sgCV0qPVsgCV0qLy9wJyA8IC4uL2xpYmliZXJ0eS9NYWtlZmlsZSB8IHNlZCAtbiAnJHAnYAogIGNoYW5nZXF1b3RlKFssXSlkbmwKICAgIGlmIHRlc3QgLW4gIiR4IjsgdGhlbgpAQCAtMTkzMzUsMTAgKzE5MzI5LDEwIEBACiAgICBmaQogIAogICAgY2FzZSAiJHtob3N0fSIgaW4KLUluZGV4OiBnaXQvemxpYi9jb25maWd1cmUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy96bGliL2NvbmZpZ3VyZQotKysrIGdpdC96bGliL2NvbmZpZ3VyZQorZGlmZiAtLWdpdCBhL3psaWIvY29uZmlndXJlIGIvemxpYi9jb25maWd1cmUKK2luZGV4IDA0MWNiZGJmNzEuLjE5ZDYwNWZjODUgMTAwNzU1CistLS0gYS96bGliL2NvbmZpZ3VyZQorKysrIGIvemxpYi9jb25maWd1cmUKIEBAIC02NDYsOCArNjQ2LDExIEBAIE9UT09MCiAgTElQTwogIE5NRURJVApAQCAtMTkzODgsNyArMTkzODIsNyBAQAogICAgIHRlc3QgIlhgcHJpbnQgLXIgLS0gJEVDSE8gMj4vZGV2L251bGxgIiA9ICJYJEVDSE8iOyB0aGVuCiAgICBFQ0hPPSdwcmludCAtciAtLScKICBlbGlmIHRlc3QgIlhgcHJpbnRmICVzICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgotQEAgLTUwMDQsOCArNTAxMCw4IEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHUKK0BAIC01MDA0LDggKzUwMTAsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5kcyBzb21lIFhTSSBjb25zdHJ1Y3RzLi4uICIgPiY2OwogICMgVHJ5IHNvbWUgWFNJIGZlYXR1cmVzCiAgeHNpX3NoZWxsPW5vCiAgKCBfbHRfZHVtbXk9ImEvYi9jIgpAQCAtMTk1MjQsNyArMTk1MTgsNyBAQAogIGZpbGVfbWFnaWNfY21kPSRsdF9jdl9maWxlX21hZ2ljX2NtZAogIGRlcGxpYnNfY2hlY2tfbWV0aG9kPSRsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZAogIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGlic19jaGVja19tZXRob2Q9dW5rbm93bgotQEAgLTU0MDcsOSArNTUwOCwxNjMgQEAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaQorQEAgLTU0MDUsMTEgKzU1MDYsMTY1IEBAIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGlic19jaGVja19tZXRob2Q9dW5rbm93bgogIAogIAogIApAQCAtMTk1MzgsNiArMTk1MzIsOCBAQAogKwogKwogKworIAorIAogIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KIC0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1hciIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCiAtc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9YXI7IGFjX3dvcmQ9JDIKQEAgLTE5NzM4LDcgKzE5NzM0LDcgQEAKICAgIGlmIHRlc3QgIngkYWNfY3RfQVIiID0geDsgdGhlbgogICAgICBBUj0iZmFsc2UiCiAgICBlbHNlCi1AQCAtNTQ5NSwxMiArNTc1OCwxMCBAQCBhY190b29sX3dhcm5lZD15ZXMgOzsKK0BAIC01NDk1LDE2ICs1NzU4LDcyIEBAIGFjX3Rvb2xfd2FybmVkPXllcyA7OwogIGVzYWMKICAgICAgQVI9JGFjX2N0X0FSCiAgICBmaQpAQCAtMTk3NTAsMTMgKzE5NzQ2LDE3IEBACiAtdGVzdCAteiAiJEFSX0ZMQUdTIiAmJiBBUl9GTEFHUz1jcnUKICs6ICR7QVI9YXJ9CiArOiAke0FSX0ZMQUdTPWNydX0KLSAKLSAKLSAKLUBAIC01NTEyLDYgKzU3NzMsNjQgQEAgdGVzdCAteiAiJEFSX0ZMQUdTIiAmJiBBUl9GTEFHUz1jcnUKLSAKLSAKLSAKKysKKysKKysKKysKKysKKysKKysKKysKKysKKysKKysKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBhcmNoaXZlciBARklMRSBzdXBwb3J0IiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyBmb3IgYXJjaGl2ZXIgQEZJTEUgc3VwcG9ydC4uLiAiID4mNjsgfQogK2lmICR7bHRfY3ZfYXJfYXRfZmlsZSs6fSBmYWxzZTsgdGhlbiA6CkBAIC0xOTc2OSw3ICsxOTc2OSw3IEBACiAraW50CiArbWFpbiAoKQogK3sKLSsKKyAKICsgIDsKICsgIHJldHVybiAwOwogK30KQEAgLTE5Nzk1LDI5ICsxOTc5NSwyMiBAQAogKyAgICAgICAgZmkKICsgICAgICBmaQogKyAgICAgIHJtIC1mIGNvbmZ0ZXN0LiogbGliY29uZnRlc3QuYQotKworIAogK2ZpCiArcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci0rCisgCiArZmkKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGx0X2N2X2FyX2F0X2ZpbGUiID4mNQogKyRhc19lY2hvICIkbHRfY3ZfYXJfYXRfZmlsZSIgPiY2OyB9Ci0rCisgCiAraWYgdGVzdCAieCRsdF9jdl9hcl9hdF9maWxlIiA9IHhubzsgdGhlbgogKyAgYXJjaGl2ZXJfbGlzdF9zcGVjPQogK2Vsc2UKICsgIGFyY2hpdmVyX2xpc3Rfc3BlYz0kbHRfY3ZfYXJfYXRfZmlsZQogK2ZpCi0rCi0rCi0rCi0rCi0rCi0rCi0rCi0gaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgotICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fXN0cmlwIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLSBzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1zdHJpcDsgYWNfd29yZD0kMgorIAorIAorIAogQEAgLTU4NDYsOCArNjE2NSw4IEBAIGVzYWMKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0ic2VkIC1uIC1lICdzL15UIC4qIFwoLipcKSQvZXh0ZXJuIGludCBcMSgpOy9wJyAtZSAncy9eJHN5bWNvZGUqIC4qIFwoLipcKSQvZXh0ZXJuIGNoYXIgXDE7L3AnIgogIApAQCAtMTk4NjUsNyArMTk4NTgsNyBAQAogICAgY29uc3QgY2hhciAqbmFtZTsKICAgIHZvaWQgICAgICAgKmFkZHJlc3M7CiAgfQotQEAgLTU5NjEsOCArNjI5Myw4IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKQorQEAgLTU5NjEsOCArNjI5Myw4IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKSB7CiAgX0xUX0VPRgogIAkgICMgTm93IHRyeSBsaW5raW5nIHRoZSB0d28gZmlsZXMuCiAgCSAgbXYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdHN0bS4kYWNfb2JqZXh0CkBAIC0xOTg4Nyw3ICsxOTg4MCw3IEBACiAgCWVsc2UKICAJICBlY2hvICJjYW5ub3QgZmluZCBubV90ZXN0X2Z1bmMgaW4gJG5saXN0IiA+JjUKICAJZmkKLUBAIC02MDEwLDYgKzYzNDIsMTggQEAgZWxzZQorQEAgLTYwMTAsNiArNjM0MiwxOSBAQCBlbHNlCiAgJGFzX2VjaG8gIm9rIiA+JjY7IH0KICBmaQogIApAQCAtMTk5MDMsMTMgKzE5ODk2LDE3IEBACiArCiArCiArCisrCiAgCiAgCiAgCi1AQCAtNjAzMSw2ICs2Mzc1LDQyIEBAIGZpCitAQCAtNjAyNyw2ICs2MzcyLDQxIEBAIGZpCiAgCiAgCiAgCisrCisrCisrCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igc3lzcm9vdCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHN5c3Jvb3QuLi4gIiA+JjY7IH0KICsKQEAgLTE5OTQyLDEzICsxOTkzOSw5IEBACiArCiArIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAke2x0X3N5c3Jvb3Q6LW5vfSIgPiY1CiArJGFzX2VjaG8gIiR7bHRfc3lzcm9vdDotbm99IiA+JjY7IH0KLSsKLSsKLSsKLSsKICAKLSAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbGlidG9vbC1sb2NrIHdhcyBnaXZlbi4KLSBpZiB0ZXN0ICIke2VuYWJsZV9saWJ0b29sX2xvY2src2V0fSIgPSBzZXQ7IHRoZW4gOgorIAorIAogQEAgLTYyNDEsNiArNjYyMSwxMjMgQEAgZXNhYwogIAogIG5lZWRfbG9ja3M9IiRlbmFibGVfbGlidG9vbF9sb2NrIgpAQCAtMjAxMTAsNyArMjAxMDMsNyBAQAogIAogICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAgICAgbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKLUBAIC03ODIzLDYgKzgzMjEsMTIgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpbworQEAgLTc4MjMsNiArODMyMSwxMiBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogIAlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLS1zaGFyZWQnCiAgCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctLXN0YXRpYycKICAJOzsKQEAgLTIwMTIzLDcgKzIwMTE2LDcgQEAKICAgICAgICBwZ2NjKiB8IHBnZjc3KiB8IHBnZjkwKiB8IHBnZjk1KiB8IHBnZm9ydHJhbiopCiAgICAgICAgICAjIFBvcnRsYW5kIEdyb3VwIGNvbXBpbGVycyAoKm5vdCogdGhlIFBlbnRpdW0gZ2NjIGNvbXBpbGVyLAogIAkjIHdoaWNoIGxvb2tzIHRvIGJlIGEgZGVhZCBwcm9qZWN0KQotQEAgLTc4ODUsNyArODM4OSw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC03ODg1LDcgKzgzODksNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctS1BJQycKICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLUJzdGF0aWMnCiAgICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KQEAgLTIwMjg0LDcgKzIwMjc3LDcgQEAKICAKICAgICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgICAgICAgICBhcmNoaXZlX2V4cHN5bV9jbWRzPSckQ0MgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGlib2JqcyAkZGVwbGlicyAnIlwke3dsfSRub19lbnRyeV9mbGFnIicgJGNvbXBpbGVyX2ZsYWdzIGBpZiB0ZXN0ICJ4JHthbGxvd191bmRlZmluZWRfZmxhZ30iICE9ICJ4IjsgdGhlbiBmdW5jX2VjaG9fYWxsICIke3dsfSR7YWxsb3dfdW5kZWZpbmVkX2ZsYWd9IjsgZWxzZSA6OyBmaWAgJyJcJHt3bH0kZXhwX3N5bV9mbGFnOlwkZXhwb3J0X3N5bWJvbHMgJHNoYXJlZF9mbGFnIgotQEAgLTg3MTcsNyArOTI0NCwxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtODcxNyw3ICs5MjQ0LDEzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAllbHNlCiAgCSAjIERldGVybWluZSB0aGUgZGVmYXVsdCBsaWJwYXRoIGZyb20gdGhlIHZhbHVlIGVuY29kZWQgaW4gYW4KICAJICMgZW1wdHkgZXhlY3V0YWJsZS4KQEAgLTIwMzQyLDcgKzIwMzM1LDcgQEAKICAKICAJIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgCSAgIyBXYXJuaW5nIC0gd2l0aG91dCB1c2luZyB0aGUgb3RoZXIgcnVuIHRpbWUgbG9hZGluZyBmbGFncywKLUBAIC04NzkzLDIwICs5MzMzLDYzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC04NzkzLDIwICs5MzMzLDYzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogICAgICAgICMgTWljcm9zb2Z0IFZpc3VhbCBDKysuCiAgICAgICAgIyBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIGlzIGFjdHVhbGx5IG1lYW5pbmdsZXNzLCBhcyB0aGVyZSBpcwogICAgICAgICMgbm8gc2VhcmNoIHBhdGggZm9yIERMTHMuCkBAIC0yMDQyMCw3ICsyMDQxMyw3IEBACiAgICAgICAgOzsKICAKICAgICAgZGFyd2luKiB8IHJoYXBzb2R5KikKLUBAIC04ODY3LDcgKzk0NTAsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtODg2Nyw3ICs5NDUwLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgICMgRnJlZUJTRCAzIGFuZCBncmVhdGVyIHVzZXMgZ2NjIC1zaGFyZWQgdG8gZG8gc2hhcmVkIGxpYnJhcmllcy4KICAgICAgZnJlZWJzZCogfCBkcmFnb25mbHkqKQpAQCAtMjA0MjksNyArMjA0MjIsNyBAQAogICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1SJGxpYmRpcicKICAgICAgICBoYXJkY29kZV9kaXJlY3Q9eWVzCiAgICAgICAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj1ubwotQEAgLTg4NzUsNyArOTQ1OCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC04ODc1LDcgKzk0NTgsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDkqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCkBAIC0yMDQzOCw3ICsyMDQzMSw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci8kc29uYW1lfiRMRCAtYiArYiAkaW5zdGFsbF9saWJkaXIgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzfnRlc3QgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSA9ICRsaWIgfHwgbXYgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGliJwogICAgICAgIGZpCi1AQCAtODg5MSw3ICs5NDc0LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTg4OTEsNyArOTQ3NCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICBocHV4MTAqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzICYmIHRlc3QgIiR3aXRoX2dudV9sZCIgPSBubzsgdGhlbgpAQCAtMjA0NDcsNyArMjA0NDAsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckTEQgLWIgK2ggJHNvbmFtZSArYiAkaW5zdGFsbF9saWJkaXIgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzJwogICAgICAgIGZpCi1AQCAtODkxNSwxMCArOTQ5OCwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtODkxNSwxMCArOTQ5OCwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9K2ggJHt3bH0kc29uYW1lIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwogIAkgIDs7CiAgCWlhNjQqKQpAQCAtMjA1MDgsNyArMjA1MDEsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLXNvbmFtZSAkc29uYW1lIGB0ZXN0IC1uICIkdmVyc3RyaW5nIiAmJiBmdW5jX2VjaG9fYWxsICItc2V0X3ZlcnNpb24gJHZlcnN0cmluZyJgIC11cGRhdGVfcmVnaXN0cnkgJHtvdXRwdXRfb2JqZGlyfS9zb19sb2NhdGlvbnMgLW8gJGxpYicKICAJYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1leHBvcnRzX2ZpbGUgJGV4cG9ydF9zeW1ib2xzIC1vICRsaWInCi1AQCAtOTEwMSw3ICs5Njk3LDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iagorQEAgLTkxMDEsNyArOTY5Nyw3IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAogICAgICBvc2Y0KiB8IG9zZjUqKQkjIGFzIG9zZjMqIHdpdGggdGhlIGFkZGl0aW9uIG9mIC1tc3ltIGZsYWcKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogIAlhbGxvd191bmRlZmluZWRfZmxhZz0nICR7d2x9LWV4cGVjdF91bnJlc29sdmVkICR7d2x9XConCkBAIC0yMDUxNyw3ICsyMDUxMCw3IEBACiAgCWhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoICR7d2x9JGxpYmRpcicKICAgICAgICBlbHNlCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgLWV4cGVjdF91bnJlc29sdmVkIFwqJwotQEAgLTkxMjAsOSArOTcxNiw5IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmoKK0BAIC05MTIwLDkgKzk3MTYsOSBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICAgICBub191bmRlZmluZWRfZmxhZz0nIC16IGRlZnMnCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAJd2xhcmM9JyR7d2x9JwpAQCAtMjA2NjcsNyArMjA2NjAsNyBAQAogIGludCBtYWluICgpCiAgewogICAgdm9pZCAqc2VsZiA9IGRsb3BlbiAoMCwgTFRfRExHTE9CQUx8TFRfRExMQVpZX09SX05PVyk7Ci1AQCAtMTIyNjYsMTMgKzEyOTIxLDIwIEBAIGV4ZWV4dD0nYCRFQ0hPICIkZXhlZXh0IiB8ICRTRUQgIiRkZWxheV8KK0BAIC0xMjI2NywxMyArMTI5MjIsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X3Vuc2V0PSdgJEVDSE8gIiRsdF91bnNldCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfU1AyTkw9J2AkRUNITyAiJGx0X1NQMk5MIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9OTDJTUD0nYCRFQ0hPICIkbHRfTkwyU1AiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMjA2ODgsNyArMjA2ODEsNyBAQAogIFNUUklQPSdgJEVDSE8gIiRTVFJJUCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgUkFOTElCPSdgJEVDSE8gIiRSQU5MSUIiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG9sZF9wb3N0aW5zdGFsbF9jbWRzPSdgJEVDSE8gIiRvbGRfcG9zdGluc3RhbGxfY21kcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTIyODcsMTQgKzEyOTQ5LDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGwKK0BAIC0xMjI4OCwxNCArMTI5NTAsMTcgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSIgfCAkU0VEICIkZGUKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0yMDcwNyw3ICsyMDcwMCw3IEBACiAgRFNZTVVUSUw9J2AkRUNITyAiJERTWU1VVElMIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBOTUVESVQ9J2AkRUNITyAiJE5NRURJVCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgTElQTz0nYCRFQ0hPICIkTElQTyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTIzMjcsMTIgKzEyOTkyLDEyIEBAIGhhcmRjb2RlX3NobGlicGF0aF92YXI9J2AkRUNITyAiJGhhcmRjb2QKK0BAIC0xMjMyOCwxMiArMTI5OTMsMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0nYCRFQ0hPICIkaGFyZGNvZGVfc2hsaWJwYXRoX3ZhciIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3EKICBoYXJkY29kZV9hdXRvbWF0aWM9J2AkRUNITyAiJGhhcmRjb2RlX2F1dG9tYXRpYyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgaW5oZXJpdF9ycGF0aD0nYCRFQ0hPICIkaW5oZXJpdF9ycGF0aCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbGlua19hbGxfZGVwbGlicz0nYCRFQ0hPICIkbGlua19hbGxfZGVwbGlicyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0yMDcyMSw3ICsyMDcxNCw3IEBACiAgZmlsZV9saXN0X3NwZWM9J2AkRUNITyAiJGZpbGVfbGlzdF9zcGVjIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICB2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluaz0nYCRFQ0hPICIkdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbmsiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG5lZWRfbGliX3ByZWZpeD0nYCRFQ0hPICIkbmVlZF9saWJfcHJlZml4IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xMjM4Nyw4ICsxMzA1MiwxMyBAQCByZWxvYWRfZmxhZyBcCitAQCAtMTIzODgsOCArMTMwNTMsMTMgQEAgcmVsb2FkX2ZsYWcgXAogIE9CSkRVTVAgXAogIGRlcGxpYnNfY2hlY2tfbWV0aG9kIFwKICBmaWxlX21hZ2ljX2NtZCBcCkBAIC0yMDczNSw3ICsyMDcyOCw3IEBACiAgU1RSSVAgXAogIFJBTkxJQiBcCiAgQ0MgXAotQEAgLTEyMzk4LDEyICsxMzA2OCwxNCBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIFwKK0BAIC0xMjM5OSwxMiArMTMwNjksMTQgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSBcCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wgXAogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzIFwKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4IFwKQEAgLTIwNzUxLDcgKzIwNzQ0LDcgQEAKICBEU1lNVVRJTCBcCiAgTk1FRElUIFwKICBMSVBPIFwKLUBAIC0xMjQxOSw3ICsxMzA5MSw2IEBAIG5vX3VuZGVmaW5lZF9mbGFnIFwKK0BAIC0xMjQyMCw3ICsxMzA5Miw2IEBAIG5vX3VuZGVmaW5lZF9mbGFnIFwKICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIFwKICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX2xkIFwKICBoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIFwKQEAgLTIwNzU5LDcgKzIwNzUyLDcgQEAKICBleGNsdWRlX2V4cHN5bXMgXAogIGluY2x1ZGVfZXhwc3ltcyBcCiAgZmlsZV9saXN0X3NwZWMgXAotQEAgLTEyNDU1LDYgKzEzMTI2LDcgQEAgbW9kdWxlX2NtZHMgXAorQEAgLTEyNDU2LDYgKzEzMTI3LDcgQEAgbW9kdWxlX2NtZHMgXAogIG1vZHVsZV9leHBzeW1fY21kcyBcCiAgZXhwb3J0X3N5bWJvbHNfY21kcyBcCiAgcHJlbGlua19jbWRzIFwKQEAgLTIwNzY3LDcgKzIwNzYwLDcgQEAKICBwb3N0aW5zdGFsbF9jbWRzIFwKICBwb3N0dW5pbnN0YWxsX2NtZHMgXAogIGZpbmlzaF9jbWRzIFwKLUBAIC0xMzA1Myw3ICsxMzcyNSw4IEBAICRhc19lY2hvIFgiJGZpbGUiIHwKK0BAIC0xMzA1NCw3ICsxMzcyNiw4IEBAICRhc19lY2hvIFgiJGZpbGUiIHwKICAjIE5PVEU6IENoYW5nZXMgbWFkZSB0byB0aGlzIGZpbGUgd2lsbCBiZSBsb3N0OiBsb29rIGF0IGx0bWFpbi5zaC4KICAjCiAgIyAgIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMywgMjAwNCwgMjAwNSwKQEAgLTIwNzc3LDcgKzIwNzcwLDcgQEAKICAjICAgV3JpdHRlbiBieSBHb3Jkb24gTWF0emlna2VpdCwgMTk5NgogICMKICAjICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIExpYnRvb2wuCi1AQCAtMTMxNTYsMTkgKzEzODI5LDQyIEBAIFNQMk5MPSRsdF9sdF9TUDJOTAorQEAgLTEzMTU3LDE5ICsxMzgzMCw0MiBAQCBTUDJOTD0kbHRfbHRfU1AyTkwKICAjIHR1cm4gbmV3bGluZXMgaW50byBzcGFjZXMuCiAgTkwyU1A9JGx0X2x0X05MMlNQCiAgCkBAIC0yMDgyMSw3ICsyMDgxNCw3IEBACiAgIyBBIHN5bWJvbCBzdHJpcHBpbmcgcHJvZ3JhbS4KICBTVFJJUD0kbHRfU1RSSVAKICAKLUBAIC0xMzE5OCw2ICsxMzg5NCwxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jCitAQCAtMTMxOTksNiArMTM4OTUsMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKICAjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgogIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAogIApAQCAtMjA4MzQsNyArMjA4MjcsNyBAQAogICMgVGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIHRlbXBvcmFyeSBsaWJ0b29sIGZpbGVzLgogIG9iamRpcj0kb2JqZGlyCiAgCi1AQCAtMTMyMDcsNiArMTM5MDksOSBAQCBNQUdJQ19DTUQ9JE1BR0lDX0NNRAorQEAgLTEzMjA4LDYgKzEzOTEwLDkgQEAgTUFHSUNfQ01EPSRNQUdJQ19DTUQKICAjIE11c3Qgd2UgbG9jayBmaWxlcyB3aGVuIGRvaW5nIGNvbXBpbGF0aW9uPwogIG5lZWRfbG9ja3M9JGx0X25lZWRfbG9ja3MKICAKQEAgLTIwODQ0LDcgKzIwODM3LDcgQEAKICAjIFRvb2wgdG8gbWFuaXB1bGF0ZSBhcmNoaXZlZCBEV0FSRiBkZWJ1ZyBzeW1ib2wgZmlsZXMgb24gTWFjIE9TIFguCiAgRFNZTVVUSUw9JGx0X0RTWU1VVElMCiAgCi1AQCAtMTMzMjEsMTIgKzE0MDI2LDEyIEBAIHdpdGhfZ2NjPSRHQ0MKK0BAIC0xMzMyMiwxMiArMTQwMjcsMTIgQEAgd2l0aF9nY2M9JEdDQwogICMgQ29tcGlsZXIgZmxhZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9ucy4KICBub19idWlsdGluX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnCiAgCkBAIC0yMDg2MCw3ICsyMDg1Myw3IEBACiAgIyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5raW5nLgogIGxpbmtfc3RhdGljX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfc3RhdGljCiAgCi1AQCAtMTM0MTMsOSArMTQxMTgsNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCitAQCAtMTM0MTQsOSArMTQxMTksNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCiAgIyBXaGV0aGVyIGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJvZ3JhbSBhZ2FpbnN0IGFsbCBpdHMgZGVwZW5kZW5jeSBsaWJyYXJpZXMuCiAgbGlua19hbGxfZGVwbGlicz0kbGlua19hbGxfZGVwbGlicwogIApAQCAtMjA4NzAsNyArMjA4NjMsNyBAQAogICMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9ydGVkIHN5bWJvbHMgYXJlIHJlcXVpcmVkLgogIGFsd2F5c19leHBvcnRfc3ltYm9scz0kYWx3YXlzX2V4cG9ydF9zeW1ib2xzCiAgCi1AQCAtMTM0MzEsNiArMTQxMzMsOSBAQCBpbmNsdWRlX2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhwc3ltcworQEAgLTEzNDMyLDYgKzE0MTM0LDkgQEAgaW5jbHVkZV9leHBzeW1zPSRsdF9pbmNsdWRlX2V4cHN5bXMKICAjIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3IgbGlua2luZyBwcm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMpIHdpdGggdGVtcGxhdGVzLgogIHByZWxpbmtfY21kcz0kbHRfcHJlbGlua19jbWRzCiAgCkBAIC0yMDg4MCw3ICsyMDg3Myw3IEBACiAgIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMuCiAgZmlsZV9saXN0X3NwZWM9JGx0X2ZpbGVfbGlzdF9zcGVjCiAgCi1AQCAtMTM0NjMsMjEwICsxNDE2OCwxNjkgQEAgbHRtYWluPSIkYWNfYXV4X2Rpci9sdG1haW4uc2giCitAQCAtMTM0NjQsMjEwICsxNDE2OSwxNjkgQEAgbHRtYWluPSIkYWNfYXV4X2Rpci9sdG1haW4uc2giCiAgICAjIGlmIGZpbmRzIG1peGVkIENSL0xGIGFuZCBMRi1vbmx5IGxpbmVzLiAgU2luY2Ugc2VkIG9wZXJhdGVzIGluCiAgICAjIHRleHQgbW9kZSwgaXQgcHJvcGVybHkgY29udmVydHMgbGluZXMgdG8gQ1IvTEYuICBUaGlzIGJhc2ggcHJvYmxlbQogICAgIyBpcyByZXBvcnRlZGx5IGZpeGVkLCBidXQgd2h5IG5vdCBydW4gb24gb2xkIHZlcnNpb25zIHRvbz8KQEAgLTIxMDgyLDkgKzIxMDc1LDE1IEBACiAtX0xUX0VPRgogLSAgICA7OwogLSAgZXNhYworLQorLQorLSAgc2VkIC1uICcvXiMgR2VuZXJhdGVkIHNoZWxsIGZ1bmN0aW9ucyBpbnNlcnRlZCBoZXJlLywkcCcgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAorLSAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQorLQorLSAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogKyAgc2VkICckcScgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAogKyAgICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKKysKICsgIGlmIHRlc3QgeCIkeHNpX3NoZWxsIiA9IHh5ZXM7IHRoZW4KICsgIHNlZCAtZSAnL15mdW5jX2Rpcm5hbWUgKCkkLywvXn0gIyBmdW5jX2Rpcm5hbWUgL2NcCiArZnVuY19kaXJuYW1lICgpXApAQCAtMjEyNDIsMTIgKzIxMjQxLDEyIEBACiArICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxsIGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mNQogKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxsIGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mMjt9CiArZmkKLSAKLS0gIHNlZCAtbiAnL14jIEdlbmVyYXRlZCBzaGVsbCBmdW5jdGlvbnMgaW5zZXJ0ZWQgaGVyZS8sJHAnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKLS0gICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKLS0gIG12IC1mICIkY2ZnZmlsZSIgIiRvZmlsZSIgfHwKKysKKysKICsgICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CiAgICAgIChybSAtZiAiJG9maWxlIiAmJiBjcCAiJGNmZ2ZpbGUiICIkb2ZpbGUiICYmIHJtIC1mICIkY2ZnZmlsZSIpCiAgICBjaG1vZCAreCAiJG9maWxlIgogIAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNy1BZGQtdGhlLWFybXY1ZS1hcmNoaXRlY3R1cmUtdG8tYmludXRpbHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA3LUFkZC10aGUtYXJtdjVlLWFyY2hpdGVjdHVyZS10by1iaW51dGlscy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMThlZjZiYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA3LUFkZC10aGUtYXJtdjVlLWFyY2hpdGVjdHVyZS10by1iaW51dGlscy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gZWY1MGQ4NDhkOTgzZjgxZTRhODZkZDNlZWY0OTMzZTM1NzkzMzZmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDIgTWFyIDIwMTUgMDE6Mzc6MTAgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAwNy8xNV0gQWRkIHRoZSBhcm12NWUgYXJjaGl0ZWN0dXJlIHRvIGJpbnV0aWxzCi0KLUJpbnV0aWxzIGhhcyBhIGNvbW1lbnQgdGhhdCBpbmRpY2F0ZXMgaXQgaXMgc3VwcG9zZWQgdG8gbWF0Y2ggZ2NjIGZvcgotYWxsIG9mIHRoZSBzdXBwb3J0ICItbWFyY2g9IiBzZXR0aW5ncywgYnV0IGl0IHdhcyBsYWNraW5nIHRoZSBhcm12NWUgc2V0dGluZy4KLVRoaXMgd2FzIGEgc2ltcGxlIHdheSB0byBhZGQgaXQsIGFzIHRodW1iIGluc3RydWN0aW9ucyBzaG91bGRuJ3QgYmUgZ2VuZXJhdGVkCi1ieSB0aGUgY29tcGlsZXIgYW55d2F5LgotCi1VcHN0cmVhbS1TdGF0dXM6IERlbmllZAotVXBzdHJlYW0gbWFpbnRhaW5lciBpbmRpY2F0ZWQgdGhhdCB3ZSBzaG91bGQgbm90IGJlIHVzaW5nIGFybXY1ZSwgZXZlbgotdGhvdWdoIGl0IGlzIGEgbGVnYWwgYXJjaGljdHVyZSBkZWZpbmVkIGJ5IG91ciBnY2MuCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBnYXMvY29uZmlnL3RjLWFybS5jIHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLWFybS5jIGIvZ2FzL2NvbmZpZy90Yy1hcm0uYwotaW5kZXggM2Y1Mzg0ZTFjNy4uOGQ1YmMxNDVhZiAxMDA2NDQKLS0tLSBhL2dhcy9jb25maWcvdGMtYXJtLmMKLSsrKyBiL2dhcy9jb25maWcvdGMtYXJtLmMKLUBAIC0yNjI5NCw2ICsyNjI5NCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYXJtX2FyY2hfb3B0aW9uX3RhYmxlIGFybV9hcmNoc1tdID0KLSAgIEFSTV9BUkNIX09QVCAoImFybXY0dCIsCUFSTV9BUkNIX1Y0VCwJIEZQVV9BUkNIX0ZQQSksCi0gICBBUk1fQVJDSF9PUFQgKCJhcm12NHR4bSIsCUFSTV9BUkNIX1Y0VHhNLAkgRlBVX0FSQ0hfRlBBKSwKLSAgIEFSTV9BUkNIX09QVCAoImFybXY1IiwJQVJNX0FSQ0hfVjUsCSBGUFVfQVJDSF9WRlApLAotKyAgQVJNX0FSQ0hfT1BUICgiYXJtdjVlIiwJQVJNX0FSQ0hfVjVURSwJIEZQVV9BUkNIX1ZGUCksCi0gICBBUk1fQVJDSF9PUFQgKCJhcm12NXQiLAlBUk1fQVJDSF9WNVQsCSBGUFVfQVJDSF9WRlApLAotICAgQVJNX0FSQ0hfT1BUICgiYXJtdjV0eG0iLAlBUk1fQVJDSF9WNVR4TSwJIEZQVV9BUkNIX1ZGUCksCi0gICBBUk1fQVJDSF9PUFQgKCJhcm12NXRlIiwJQVJNX0FSQ0hfVjVURSwJIEZQVV9BUkNIX1ZGUCksCi0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA3LWRvbi10LWxldC10aGUtZGlzdHJvLWNvbXBpbGVyLXBvaW50LXRvLXRoZS13cm9uZy1pbnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA3LWRvbi10LWxldC10aGUtZGlzdHJvLWNvbXBpbGVyLXBvaW50LXRvLXRoZS13cm9uZy1pbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTJjNjMxMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDctZG9uLXQtbGV0LXRoZS1kaXN0cm8tY29tcGlsZXItcG9pbnQtdG8tdGhlLXdyb25nLWlucy5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDhjYjAxMzEwNmMzNzllODFmZTQwY2ZkZjQ4NmQ5ODA1YzllMjc2YWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogTW9uLCAyIE1hciAyMDE1IDAxOjM5OjAxICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMDcvMTVdIGRvbid0IGxldCB0aGUgZGlzdHJvIGNvbXBpbGVyIHBvaW50IHRvIHRoZSB3cm9uZworIGluc3RhbGxhdGlvbiBsb2NhdGlvbgorCitUaGFua3MgdG8gUlAgZm9yIGhlbHBpbmcgZmluZCB0aGUgc291cmNlIGNvZGUgY2F1c2luZyB0aGUgaXNzdWUuCisKKzIwMTAvMDgvMTMKK05pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBsaWJpYmVydHkvTWFrZWZpbGUuaW4gfCAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2xpYmliZXJ0eS9NYWtlZmlsZS5pbiBiL2xpYmliZXJ0eS9NYWtlZmlsZS5pbgoraW5kZXggMGJlNDViNGFlOC4uNDgxNzYxNmJiMiAxMDA2NDQKKy0tLSBhL2xpYmliZXJ0eS9NYWtlZmlsZS5pbgorKysrIGIvbGliaWJlcnR5L01ha2VmaWxlLmluCitAQCAtMzY0LDcgKzM2NCw4IEBAIGluc3RhbGwtc3RyaXA6IGluc3RhbGwKKyAjIG11bHRpbGliLXNwZWNpZmljIGZsYWdzLCBpdCdzIG92ZXJyaWRkZW4gYnkgRkxBR1NfVE9fUEFTUyBmcm9tIHRoZQorICMgZGVmYXVsdCBtdWx0aWxpYiwgc28gd2UgaGF2ZSB0byB0YWtlIENGTEFHUyBpbnRvIGFjY291bnQgYXMgd2VsbCwKKyAjIHNpbmNlIGl0IHdpbGwgYmUgcGFzc2VkIHRoZSBtdWx0aWxpYiBmbGFncy4KKy1NVUxUSU9TRElSID0gYCQoQ0MpICQoQ0ZMQUdTKSAtcHJpbnQtbXVsdGktb3MtZGlyZWN0b3J5YAorKyNNVUxUSU9TRElSID0gYCQoQ0MpICQoQ0ZMQUdTKSAtcHJpbnQtbXVsdGktb3MtZGlyZWN0b3J5YAorK01VTFRJT1NESVIgPSAiIgorIGluc3RhbGxfdG9fbGliZGlyOiBhbGwKKyAJaWYgdGVzdCAtbiAiJHt0YXJnZXRfaGVhZGVyX2Rpcn0iOyB0aGVuIFwKKyAJCSR7bWtpbnN0YWxsZGlyc30gJChERVNURElSKSQobGliZGlyKS8kKE1VTFRJT1NESVIpOyBcCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA4LWRvbi10LWxldC10aGUtZGlzdHJvLWNvbXBpbGVyLXBvaW50LXRvLXRoZS13cm9uZy1pbnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA4LWRvbi10LWxldC10aGUtZGlzdHJvLWNvbXBpbGVyLXBvaW50LXRvLXRoZS13cm9uZy1pbnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5OTllZDkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOC1kb24tdC1sZXQtdGhlLWRpc3Ryby1jb21waWxlci1wb2ludC10by10aGUtd3JvbmctaW5zLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotRnJvbSBjYTI1ZDU1Y2VmODM5OGJhZDUwOGMyYjJiZTI5YWVhNWFhM2M0ZDI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMiBNYXIgMjAxNSAwMTozOTowMSArMDAwMAotU3ViamVjdDogW1BBVENIIDA4LzE1XSBkb24ndCBsZXQgdGhlIGRpc3RybyBjb21waWxlciBwb2ludCB0byB0aGUgd3JvbmcKLSBpbnN0YWxsYXRpb24gbG9jYXRpb24KLQotVGhhbmtzIHRvIFJQIGZvciBoZWxwaW5nIGZpbmQgdGhlIHNvdXJjZSBjb2RlIGNhdXNpbmcgdGhlIGlzc3VlLgotCi0yMDEwLzA4LzEzCi1OaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gbGliaWJlcnR5L01ha2VmaWxlLmluIHwgMyArKy0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9saWJpYmVydHkvTWFrZWZpbGUuaW4gYi9saWJpYmVydHkvTWFrZWZpbGUuaW4KLWluZGV4IGVkMWIzMzRjMzYuLmQ0ZmZkOGI1N2IgMTAwNjQ0Ci0tLS0gYS9saWJpYmVydHkvTWFrZWZpbGUuaW4KLSsrKyBiL2xpYmliZXJ0eS9NYWtlZmlsZS5pbgotQEAgLTM2NCw3ICszNjQsOCBAQCBpbnN0YWxsLXN0cmlwOiBpbnN0YWxsCi0gIyBtdWx0aWxpYi1zcGVjaWZpYyBmbGFncywgaXQncyBvdmVycmlkZGVuIGJ5IEZMQUdTX1RPX1BBU1MgZnJvbSB0aGUKLSAjIGRlZmF1bHQgbXVsdGlsaWIsIHNvIHdlIGhhdmUgdG8gdGFrZSBDRkxBR1MgaW50byBhY2NvdW50IGFzIHdlbGwsCi0gIyBzaW5jZSBpdCB3aWxsIGJlIHBhc3NlZCB0aGUgbXVsdGlsaWIgZmxhZ3MuCi0tTVVMVElPU0RJUiA9IGAkKENDKSAkKENGTEFHUykgLXByaW50LW11bHRpLW9zLWRpcmVjdG9yeWAKLSsjTVVMVElPU0RJUiA9IGAkKENDKSAkKENGTEFHUykgLXByaW50LW11bHRpLW9zLWRpcmVjdG9yeWAKLStNVUxUSU9TRElSID0gIiIKLSBpbnN0YWxsX3RvX2xpYmRpcjogYWxsCi0gCWlmIHRlc3QgLW4gIiR7dGFyZ2V0X2hlYWRlcl9kaXJ9IjsgdGhlbiBcCi0gCQkke21raW5zdGFsbGRpcnN9ICQoREVTVERJUikkKGxpYmRpcikvJChNVUxUSU9TRElSKTsgXAotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOC13YXJuLWZvci11c2VzLW9mLXN5c3RlbS1kaXJlY3Rvcmllcy13aGVuLWNyb3NzLWxpbmtpLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOC13YXJuLWZvci11c2VzLW9mLXN5c3RlbS1kaXJlY3Rvcmllcy13aGVuLWNyb3NzLWxpbmtpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3Mjc4MjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA4LXdhcm4tZm9yLXVzZXMtb2Ytc3lzdGVtLWRpcmVjdG9yaWVzLXdoZW4tY3Jvc3MtbGlua2kucGF0Y2gKQEAgLTAsMCArMSwyNzMgQEAKK0Zyb20gOThmNjhjMDg5MmJhNGJiZDUzYjBhMGE0Y2JiZGYwYjcxOTdlMDMyMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDE1IEphbiAyMDE2IDA2OjMxOjA5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMDgvMTVdIHdhcm4gZm9yIHVzZXMgb2Ygc3lzdGVtIGRpcmVjdG9yaWVzIHdoZW4gY3Jvc3MgbGlua2luZworCisyMDA4LTA3LTAyICBKb3NlcGggTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KKworICAgIGxkLworICAgICogbGQuaCAoYXJnc190eXBlKTogQWRkIGVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMuCisgICAgKiBsZC50ZXhpbmZvICgtLWVycm9yLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMpOiBEb2N1bWVudC4KKyAgICAqIGxkZmlsZS5jIChsZGZpbGVfYWRkX2xpYnJhcnlfcGF0aCk6IENoZWNrCisgICAgY29tbWFuZF9saW5lLmVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMuCisgICAgKiBsZG1haW4uYyAobWFpbik6IEluaXRpYWxpemUKKyAgICBjb21tYW5kX2xpbmUuZXJyb3JfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcy4KKyAgICAqIGxleHN1cC5jIChlbnVtIG9wdGlvbl92YWx1ZXMpOiBBZGQKKyAgICBPUFRJT05fRVJST1JfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUy4KKyAgICAobGRfb3B0aW9ucyk6IEFkZCAtLWVycm9yLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMuCisgICAgKHBhcnNlX2FyZ3MpOiBIYW5kbGUgbmV3IG9wdGlvbi4KKworMjAwNy0wNi0xMyAgSm9zZXBoIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+CisKKyAgICBsZC8KKyAgICAqIGNvbmZpZy5pbjogUmVnZW5lcmF0ZS4KKyAgICAqIGxkLmggKGFyZ3NfdHlwZSk6IEFkZCBwb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgorICAgICogbGQudGV4aW5mbyAoLS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzKTogRG9jdW1lbnQuCisgICAgKiBsZGZpbGUuYyAobGRmaWxlX2FkZF9saWJyYXJ5X3BhdGgpOiBDaGVjaworICAgIGNvbW1hbmRfbGluZS5wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgorICAgICogbGRtYWluLmMgKG1haW4pOiBJbml0aWFsaXplCisgICAgY29tbWFuZF9saW5lLnBvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMuCisgICAgKiBsZXhzdXAuYyAoZW51bSBvcHRpb25fdmFsdWVzKTogQWRkCisgICAgT1BUSU9OX05PX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMuCisgICAgKGxkX29wdGlvbnMpOiBBZGQgLS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzLgorICAgIChwYXJzZV9hcmdzKTogSGFuZGxlIG5ldyBvcHRpb24uCisKKzIwMDctMDQtMjAgIEpvc2VwaCBNeWVycyAgPGpvc2VwaEBjb2Rlc291cmNlcnkuY29tPgorCisgICAgTWVyZ2UgZnJvbSBTb3VyY2VyeSBHKysgYmludXRpbHMgMi4xNzoKKworICAgIDIwMDctMDMtMjAgIEpvc2VwaCBNeWVycyAgPGpvc2VwaEBjb2Rlc291cmNlcnkuY29tPgorICAgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4uCisgICAgbGQvCisgICAgKiBjb25maWd1cmUuaW4gKC0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMpOiBOZXcgb3B0aW9uLgorICAgICogY29uZmlndXJlLCBjb25maWcuaW46IFJlZ2VuZXJhdGUuCisgICAgKiBsZGZpbGUuYyAobGRmaWxlX2FkZF9saWJyYXJ5X3BhdGgpOiBJZgorICAgIEVOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTIGRlZmluZWQsIHdhcm4gZm9yIHVzZSBvZiAvbGliLAorICAgIC91c3IvbGliLCAvdXNyL2xvY2FsL2xpYiBvciAvdXNyL1gxMVI2L2xpYi4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFNjb3R0IEdhcm1hbiA8c2NvdHQuYS5nYXJtYW5AaW50ZWwuY29tPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxkL2NvbmZpZy5pbiAgICB8ICAzICsrKworIGxkL2NvbmZpZ3VyZSAgICB8IDE2ICsrKysrKysrKysrKysrKysKKyBsZC9jb25maWd1cmUuYWMgfCAxMCArKysrKysrKysrCisgbGQvbGQuaCAgICAgICAgIHwgIDggKysrKysrKysKKyBsZC9sZC50ZXhpICAgICAgfCAxMiArKysrKysrKysrKysKKyBsZC9sZGZpbGUuYyAgICAgfCAxNyArKysrKysrKysrKysrKysrKworIGxkL2xkbGV4LmggICAgICB8ICAyICsrCisgbGQvbGRtYWluLmMgICAgIHwgIDIgKysKKyBsZC9sZXhzdXAuYyAgICAgfCAxNiArKysrKysrKysrKysrKysrCisgOSBmaWxlcyBjaGFuZ2VkLCA4NiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9sZC9jb25maWcuaW4gYi9sZC9jb25maWcuaW4KK2luZGV4IGQ5M2M5YjA4MzAuLjVkYTI3NDJiZWEgMTAwNjQ0CistLS0gYS9sZC9jb25maWcuaW4KKysrKyBiL2xkL2NvbmZpZy5pbgorQEAgLTMxLDYgKzMxLDkgQEAKKyAgICBsYW5ndWFnZSBpcyByZXF1ZXN0ZWQuICovCisgI3VuZGVmIEVOQUJMRV9OTFMKKyAKKysvKiBEZWZpbmUgdG8gd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gbGlicmFyeSBkaXJlY3RvcmllcyAqLworKyN1bmRlZiBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUworKworIC8qIEFkZGl0aW9uYWwgZXh0ZW5zaW9uIGEgc2hhcmVkIG9iamVjdCBtaWdodCBoYXZlLiAqLworICN1bmRlZiBFWFRSQV9TSExJQl9FWFRFTlNJT04KKyAKK2RpZmYgLS1naXQgYS9sZC9jb25maWd1cmUgYi9sZC9jb25maWd1cmUKK2luZGV4IDQzYzM5MWMyYjMuLmZmOWY2YjNjMDIgMTAwNzU1CistLS0gYS9sZC9jb25maWd1cmUKKysrKyBiL2xkL2NvbmZpZ3VyZQorQEAgLTgyNiw2ICs4MjYsNyBAQCB3aXRoX2xpYl9wYXRoCisgZW5hYmxlX3RhcmdldHMKKyBlbmFibGVfNjRfYml0X2JmZAorIHdpdGhfc3lzcm9vdAorK2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzCisgZW5hYmxlX2dvbGQKKyBlbmFibGVfZ290CisgZW5hYmxlX2NvbXByZXNzZWRfZGVidWdfc2VjdGlvbnMKK0BAIC0xNDkwLDYgKzE0OTEsOCBAQCBPcHRpb25hbCBGZWF0dXJlczoKKyAgIC0tZGlzYWJsZS1sYXJnZWZpbGUgICAgIG9taXQgc3VwcG9ydCBmb3IgbGFyZ2UgZmlsZXMKKyAgIC0tZW5hYmxlLXRhcmdldHMgICAgICAgIGFsdGVybmF0aXZlIHRhcmdldCBjb25maWd1cmF0aW9ucworICAgLS1lbmFibGUtNjQtYml0LWJmZCAgICAgNjQtYml0IHN1cHBvcnQgKG9uIGhvc3RzIHdpdGggbmFycm93ZXIgd29yZCBzaXplcykKKysgIC0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKKysgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGxpYnJhcnkgZGlyZWN0b3JpZXMKKyAgIC0tZW5hYmxlLWdvbGRbPUFSR10gICAgIGJ1aWxkIGdvbGQgW0FSRz17ZGVmYXVsdCx5ZXMsbm99XQorICAgLS1lbmFibGUtZ290PTx0eXBlPiAgICAgR09UIGhhbmRsaW5nIHNjaGVtZSAodGFyZ2V0LCBzaW5nbGUsIG5lZ2F0aXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlnb3QpCitAQCAtMTY2MTgsNiArMTY2MjEsMTkgQEAgZmkKKyAKKyAKKyAKKysjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcyB3YXMgZ2l2ZW4uCisraWYgdGVzdCAiJHtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcytzZXR9IiA9IHNldDsgdGhlbiA6CisrICBlbmFibGV2YWw9JGVuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzOworK2Vsc2UKKysgIGVuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzPW5vCisrZmkKKysKKytpZiB0ZXN0ICJ4JHtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllc30iID0gInh5ZXMiOyB0aGVuCisrCisrJGFzX2VjaG8gIiNkZWZpbmUgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMgMSIgPj5jb25mZGVmcy5oCisrCisrZmkKKysKKyAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtZ29sZCB3YXMgZ2l2ZW4uCisgaWYgdGVzdCAiJHtlbmFibGVfZ29sZCtzZXR9IiA9IHNldDsgdGhlbiA6CisgICBlbmFibGV2YWw9JGVuYWJsZV9nb2xkOyBjYXNlICIke2VuYWJsZXZhbH0iIGluCitkaWZmIC0tZ2l0IGEvbGQvY29uZmlndXJlLmFjIGIvbGQvY29uZmlndXJlLmFjCitpbmRleCBkMzM1ZjIxMDkxLi43ZjY5MmQ5Mzg3IDEwMDY0NAorLS0tIGEvbGQvY29uZmlndXJlLmFjCisrKysgYi9sZC9jb25maWd1cmUuYWMKK0BAIC05NCw2ICs5NCwxNiBAQCBBQ19TVUJTVCh1c2Vfc3lzcm9vdCkKKyBBQ19TVUJTVChUQVJHRVRfU1lTVEVNX1JPT1QpCisgQUNfU1VCU1QoVEFSR0VUX1NZU1RFTV9ST09UX0RFRklORSkKKyAKKytBQ19BUkdfRU5BQkxFKFtwb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzXSwKKysgICAgICAgICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllc10sCisrICAgICAgICAgICAgICAgIFt3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBsaWJyYXJ5IGRpcmVjdG9yaWVzXSksLAorKyAgICAgICAgIFtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcz1ub10pCisraWYgdGVzdCAieCR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXN9IiA9ICJ4eWVzIjsgdGhlbgorKyAgQUNfREVGSU5FKFtFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFU10sCisrICAgICAgIFsxXSwKKysgICAgICAgW0RlZmluZSB0byB3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBsaWJyYXJ5IGRpcmVjdG9yaWVzXSkKKytmaQorKworIGRubCBVc2UgLS1lbmFibGUtZ29sZCB0byBkZWNpZGUgaWYgdGhpcyBsaW5rZXIgc2hvdWxkIGJlIHRoZSBkZWZhdWx0LgorIGRubCAiaW5zdGFsbF9hc19kZWZhdWx0IiBpcyBzZXQgdG8gZmFsc2UgaWYgZ29sZCBpcyB0aGUgZGVmYXVsdCBsaW5rZXIuCisgZG5sICJpbnN0YWxsZWRfbGlua2VyIiBpcyB0aGUgaW5zdGFsbGVkIEJGRCBsaW5rZXIgbmFtZS4KK2RpZmYgLS1naXQgYS9sZC9sZC5oIGIvbGQvbGQuaAoraW5kZXggYjk3ZDk3N2YzNy4uZjNiYmQyZDU1ZCAxMDA2NDQKKy0tLSBhL2xkL2xkLmgKKysrKyBiL2xkL2xkLmgKK0BAIC0xODAsNiArMTgwLDE0IEBAIHR5cGVkZWYgc3RydWN0CisgICAgICBpbiB0aGUgbGlua2VyIHNjcmlwdC4gICovCisgICBiZmRfYm9vbGVhbiBmb3JjZV9ncm91cF9hbGxvY2F0aW9uOworIAorKyAgLyogSWYgVFJVRSAodGhlIGRlZmF1bHQpIHdhcm4gZm9yIHVzZXMgb2Ygc3lzdGVtIGRpcmVjdG9yaWVzIHdoZW4KKysgICAgIGNyb3NzIGxpbmtpbmcuICAqLworKyAgYmZkX2Jvb2xlYW4gcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllczsKKysKKysgIC8qIElmIFRSVUUgKGRlZmF1bHQgRkFMU0UpIGdpdmUgYW4gZXJyb3IgZm9yIHVzZXMgb2Ygc3lzdGVtCisrICAgICBkaXJlY3RvcmllcyB3aGVuIGNyb3NzIGxpbmtpbmcgaW5zdGVhZCBvZiBhIHdhcm5pbmcuICAqLworKyAgYmZkX2Jvb2xlYW4gZXJyb3JfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllczsKKysKKyAgIC8qIEJpZyBvciBsaXR0bGUgZW5kaWFuIGFzIHNldCBvbiBjb21tYW5kIGxpbmUuICAqLworICAgZW51bSBlbmRpYW5fZW51bSBlbmRpYW47CisgCitkaWZmIC0tZ2l0IGEvbGQvbGQudGV4aSBiL2xkL2xkLnRleGkKK2luZGV4IDUxNzlhZjNlMGUuLmY3OGJmNzQ2ODIgMTAwNjQ0CistLS0gYS9sZC9sZC50ZXhpCisrKysgYi9sZC9sZC50ZXhpCitAQCAtMjUyNCw2ICsyNTI0LDE4IEBAIHN0cmluZyBpZGVudGlmeWluZyB0aGUgb3JpZ2luYWwgbGlua2VkIGZpbGUgZG9lcyBub3QgY2hhbmdlLgorIAorIFBhc3NpbmcgQGNvZGV7bm9uZX0gZm9yIEB2YXJ7c3R5bGV9IGRpc2FibGVzIHRoZSBzZXR0aW5nIGZyb20gYW55CisgQGNvZGV7LS1idWlsZC1pZH0gb3B0aW9ucyBlYXJsaWVyIG9uIHRoZSBjb21tYW5kIGxpbmUuCisrCisrQGtpbmRleCAtLW5vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKKytAaXRlbSAtLW5vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKKytEbyBub3Qgd2FybiBmb3IgQG9wdGlvbnstTH0gb3B0aW9ucyB1c2luZyBzeXN0ZW0gZGlyZWN0b3JpZXMgc3VjaCBhcworK0BmaWxley91c3IvbGlifSB3aGVuIGNyb3NzIGxpbmtpbmcuICBUaGlzIG9wdGlvbiBpcyBpbnRlbmRlZCBmb3IgdXNlCisraW4gY2hyb290IGVudmlyb25tZW50cyB3aGVuIHN1Y2ggZGlyZWN0b3JpZXMgY29udGFpbiB0aGUgY29ycmVjdAorK2xpYnJhcmllcyBmb3IgdGhlIHRhcmdldCBzeXN0ZW0gcmF0aGVyIHRoYW4gdGhlIGhvc3QuCisrCisrQGtpbmRleCAtLWVycm9yLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKKytAaXRlbSAtLWVycm9yLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKKytHaXZlIGFuIGVycm9yIGluc3RlYWQgb2YgYSB3YXJuaW5nIGZvciBAb3B0aW9uey1MfSBvcHRpb25zIHVzaW5nCisrc3lzdGVtIGRpcmVjdG9yaWVzIHdoZW4gY3Jvc3MgbGlua2luZy4KKyBAZW5kIHRhYmxlCisgCisgQGMgbWFuIGVuZAorZGlmZiAtLWdpdCBhL2xkL2xkZmlsZS5jIGIvbGQvbGRmaWxlLmMKK2luZGV4IGZjYWRjMDhjNzMuLjYzZTI5NWNlOGEgMTAwNjQ0CistLS0gYS9sZC9sZGZpbGUuYworKysrIGIvbGQvbGRmaWxlLmMKK0BAIC0xMTYsNiArMTE2LDIzIEBAIGxkZmlsZV9hZGRfbGlicmFyeV9wYXRoIChjb25zdCBjaGFyICpuYW1lLCBiZmRfYm9vbGVhbiBjbWRsaW5lKQorICAgICBuZXdfZGlycy0+bmFtZSA9IGNvbmNhdCAobGRfc3lzcm9vdCwgbmFtZSArIHN0cmxlbiAoIiRTWVNST09UIiksIChjb25zdCBjaGFyICopIE5VTEwpOworICAgZWxzZQorICAgICBuZXdfZGlycy0+bmFtZSA9IHhzdHJkdXAgKG5hbWUpOworKworKyNpZmRlZiBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUworKyAgaWYgKGNvbW1hbmRfbGluZS5wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzCisrICAmJiAoKCFzdHJuY21wIChuYW1lLCAiL2xpYiIsIDQpKQorKyAgICAgIHx8ICghc3RybmNtcCAobmFtZSwgIi91c3IvbGliIiwgOCkpCisrICAgICAgfHwgKCFzdHJuY21wIChuYW1lLCAiL3Vzci9sb2NhbC9saWIiLCAxNCkpCisrICAgICAgfHwgKCFzdHJuY21wIChuYW1lLCAiL3Vzci9YMTFSNi9saWIiLCAxNCkpKSkKKysgICB7CisrICAgICBpZiAoY29tbWFuZF9saW5lLmVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMpCisrICAgICAgIGVpbmZvIChfKCIlWCVQOiBlcnJvcjogbGlicmFyeSBzZWFyY2ggcGF0aCBcIiVzXCIgaXMgdW5zYWZlIGZvciAiCisrICAgICAgICAgICAgImNyb3NzLWNvbXBpbGF0aW9uXG4iKSwgbmFtZSk7CisrICAgICBlbHNlCisrICAgICAgIGVpbmZvIChfKCIlUDogd2FybmluZzogbGlicmFyeSBzZWFyY2ggcGF0aCBcIiVzXCIgaXMgdW5zYWZlIGZvciAiCisrICAgICAgICAgICAgImNyb3NzLWNvbXBpbGF0aW9uXG4iKSwgbmFtZSk7CisrICAgfQorKyNlbmRpZgorKworIH0KKyAKKyAvKiBUcnkgdG8gb3BlbiBhIEJGRCBmb3IgYSBsYW5nX2lucHV0X3N0YXRlbWVudC4gICovCitkaWZmIC0tZ2l0IGEvbGQvbGRsZXguaCBiL2xkL2xkbGV4LmgKK2luZGV4IDMyODUzZGViZTQuLjgxMzUzNjFjNDkgMTAwNjQ0CistLS0gYS9sZC9sZGxleC5oCisrKysgYi9sZC9sZGxleC5oCitAQCAtMTQ4LDYgKzE0OCw4IEBAIGVudW0gb3B0aW9uX3ZhbHVlcworICAgT1BUSU9OX1JFUVVJUkVfREVGSU5FRF9TWU1CT0wsCisgICBPUFRJT05fT1JQSEFOX0hBTkRMSU5HLAorICAgT1BUSU9OX0ZPUkNFX0dST1VQX0FMTE9DQVRJT04sCisrICBPUFRJT05fTk9fUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUywKKysgIE9QVElPTl9FUlJPUl9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTLAorIH07CisgCisgLyogVGhlIGluaXRpYWwgcGFyc2VyIHN0YXRlcy4gICovCitkaWZmIC0tZ2l0IGEvbGQvbGRtYWluLmMgYi9sZC9sZG1haW4uYworaW5kZXggNzdjZGJkMGRkMi4uNzI1NTEyZjEyNiAxMDA2NDQKKy0tLSBhL2xkL2xkbWFpbi5jCisrKysgYi9sZC9sZG1haW4uYworQEAgLTI2OSw2ICsyNjksOCBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgICBjb21tYW5kX2xpbmUud2Fybl9taXNtYXRjaCA9IFRSVUU7CisgICBjb21tYW5kX2xpbmUud2Fybl9zZWFyY2hfbWlzbWF0Y2ggPSBUUlVFOworICAgY29tbWFuZF9saW5lLmNoZWNrX3NlY3Rpb25fYWRkcmVzc2VzID0gLTE7CisrICBjb21tYW5kX2xpbmUucG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcyA9IFRSVUU7CisrICBjb21tYW5kX2xpbmUuZXJyb3JfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcyA9IEZBTFNFOworIAorICAgLyogV2UgaW5pdGlhbGl6ZSBERU1BTkdMSU5HIGJhc2VkIG9uIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZQorICAgICAgQ09MTEVDVF9OT19ERU1BTkdMRS4gIFRoZSBnY2MgY29sbGVjdDIgcHJvZ3JhbSB3aWxsIGRlbWFuZ2xlIHRoZQorZGlmZiAtLWdpdCBhL2xkL2xleHN1cC5jIGIvbGQvbGV4c3VwLmMKK2luZGV4IDg4ZTg1YzczZjQuLmVlZDFiNzE0NTYgMTAwNjQ0CistLS0gYS9sZC9sZXhzdXAuYworKysrIGIvbGQvbGV4c3VwLmMKK0BAIC01NDMsNiArNTQzLDE0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbGRfb3B0aW9uIGxkX29wdGlvbnNbXSA9CisgICB7IHsib3JwaGFuLWhhbmRsaW5nIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVElPTl9PUlBIQU5fSEFORExJTkd9LAorICAgICAnXDAnLCBOXygiPU1PREUiKSwgTl8oIkNvbnRyb2wgaG93IG9ycGhhbiBzZWN0aW9ucyBhcmUgaGFuZGxlZC4iKSwKKyAgICAgVFdPX0RBU0hFUyB9LAorKyAgeyB7Im5vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMiLCBub19hcmd1bWVudCwgTlVMTCwKKysgICAgIE9QVElPTl9OT19QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTfSwKKysgICAgJ1wwJywgTlVMTCwgTl8oIkRvIG5vdCB3YXJuIGZvciAtTCBvcHRpb25zIHVzaW5nIHN5c3RlbSBkaXJlY3RvcmllcyIpLAorKyAgICBUV09fREFTSEVTIH0sCisrICB7IHsiZXJyb3ItcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcyIsIG5vX2FyZ3VtZW50LCBOVUxMLAorKyAgICArICAgICBPUFRJT05fRVJST1JfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFU30sCisrICAgICdcMCcsIE5VTEwsIE5fKCJHaXZlIGFuIGVycm9yIGZvciAtTCBvcHRpb25zIHVzaW5nIHN5c3RlbSBkaXJlY3RvcmllcyIpLAorKyAgICBUV09fREFTSEVTIH0sCisgfTsKKyAKKyAjZGVmaW5lIE9QVElPTl9DT1VOVCBBUlJBWV9TSVpFIChsZF9vcHRpb25zKQorQEAgLTE1NzcsNiArMTU4NSwxNCBAQCBwYXJzZV9hcmdzICh1bnNpZ25lZCBhcmdjLCBjaGFyICoqYXJndikKKyAJICAgIGVpbmZvIChfKCIlRiVQOiBpbnZhbGlkIGFyZ3VtZW50IHRvIG9wdGlvbiIKKyAJCSAgICAgIiBcIi0tb3JwaGFuLWhhbmRsaW5nXCJcbiIpKTsKKyAJICBicmVhazsKKysKKysJY2FzZSBPUFRJT05fTk9fUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUzoKKysJICBjb21tYW5kX2xpbmUucG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcyA9IEZBTFNFOworKwkgIGJyZWFrOworKworKwljYXNlIE9QVElPTl9FUlJPUl9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTOgorKwkgIGNvbW1hbmRfbGluZS5lcnJvcl9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzID0gVFJVRTsKKysJICBicmVhazsKKyAJfQorICAgICB9CisgCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA5LUZpeC1ycGF0aC1pbi1saWJ0b29sLXdoZW4tc3lzcm9vdC1pcy1lbmFibGVkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOS1GaXgtcnBhdGgtaW4tbGlidG9vbC13aGVuLXN5c3Jvb3QtaXMtZW5hYmxlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNmIxZTdhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOS1GaXgtcnBhdGgtaW4tbGlidG9vbC13aGVuLXN5c3Jvb3QtaXMtZW5hYmxlZC5wYXRjaApAQCAtMCwwICsxLDUyIEBACitGcm9tIDJjZDU2MTNhODZmODc3MmY5ZDdmMTg4NTMyNzE4MzYzNjY4ZWQ5OWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogTW9uLCAyIE1hciAyMDE1IDAxOjQyOjM4ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMDkvMTVdIEZpeCBycGF0aCBpbiBsaWJ0b29sIHdoZW4gc3lzcm9vdCBpcyBlbmFibGVkCisKK0VuYWJsaW5nIHN5c3Jvb3Qgc3VwcG9ydCBpbiBsaWJ0b29sIGV4cG9zZWQgYSBidWcgd2hlcmUgdGhlIGZpbmFsCitsaWJyYXJ5IGhhZCBhbiBSUEFUSCBlbmNvZGVkIGludG8gaXQgd2hpY2ggc3RpbGwgcG9pbnRlZCB0byB0aGUKK3N5c3Jvb3QuIFRoaXMgd29ya3MgYXJvdW5kIHRoZSBpc3N1ZSB1bnRpbCBpdCBnZXRzIHNvcnRlZCBvdXQKK3Vwc3RyZWFtLgorCitGaXggc3VnZ2VzdGVkIGJ5IFJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBTY290dCBHYXJtYW4gPHNjb3R0LmEuZ2FybWFuQGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBsdG1haW4uc2ggfCAxMCArKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2x0bWFpbi5zaCBiL2x0bWFpbi5zaAoraW5kZXggNzBlODU2ZTA2NS4uMTFlZTY4NGNjYyAxMDA2NDQKKy0tLSBhL2x0bWFpbi5zaAorKysrIGIvbHRtYWluLnNoCitAQCAtODAzNSw5ICs4MDM1LDExIEBAIEVPRgorIAkgIHRlc3QgIiRvcHRfbW9kZSIgIT0gcmVsaW5rICYmIHJwYXRoPSIkY29tcGlsZV9ycGF0aCRycGF0aCIKKyAJICBmb3IgbGliZGlyIGluICRycGF0aDsgZG8KKyAJICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIjsgdGhlbgorKwkJICBmdW5jX3JlcGxhY2Vfc3lzcm9vdCAiJGxpYmRpciIKKysJCSAgbGliZGlyPSRmdW5jX3JlcGxhY2Vfc3lzcm9vdF9yZXN1bHQKKysJCSAgZnVuY19zdHJpcG5hbWUgJz0nICcnICIkbGliZGlyIgorKwkJICBsaWJkaXI9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAorIAkgICAgICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7IHRoZW4KKy0JCWZ1bmNfcmVwbGFjZV9zeXNyb290ICIkbGliZGlyIgorLQkJbGliZGlyPSRmdW5jX3JlcGxhY2Vfc3lzcm9vdF9yZXN1bHQKKyAJCWlmIHRlc3QgLXogIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgorIAkJICBoYXJkY29kZV9saWJkaXJzPSIkbGliZGlyIgorIAkJZWxzZQorQEAgLTg3NzAsNiArODc3MiwxMCBAQCBFT0YKKyAgICAgICBoYXJkY29kZV9saWJkaXJzPQorICAgICAgIGZvciBsaWJkaXIgaW4gJGNvbXBpbGVfcnBhdGggJGZpbmFsaXplX3JwYXRoOyBkbworIAlpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KKysJICBmdW5jX3JlcGxhY2Vfc3lzcm9vdCAiJGxpYmRpciIKKysJICBsaWJkaXI9JGZ1bmNfcmVwbGFjZV9zeXNyb290X3Jlc3VsdAorKwkgIGZ1bmNfc3RyaXBuYW1lICc9JyAnJyAiJGxpYmRpciIKKysJICBsaWJkaXI9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAorIAkgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgorIAkgICAgaWYgdGVzdCAteiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0aGVuCisgCSAgICAgIGhhcmRjb2RlX2xpYmRpcnM9IiRsaWJkaXIiCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA5LXdhcm4tZm9yLXVzZXMtb2Ytc3lzdGVtLWRpcmVjdG9yaWVzLXdoZW4tY3Jvc3MtbGlua2kucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA5LXdhcm4tZm9yLXVzZXMtb2Ytc3lzdGVtLWRpcmVjdG9yaWVzLXdoZW4tY3Jvc3MtbGlua2kucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhOWUzMTkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOS13YXJuLWZvci11c2VzLW9mLXN5c3RlbS1kaXJlY3Rvcmllcy13aGVuLWNyb3NzLWxpbmtpLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjczICswLDAgQEAKLUZyb20gYTM2NjcwNTlmYzBkNTJkODkwYjUwNWJlZDBlNTA1MGVhM2Q3MDAyZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDE1IEphbiAyMDE2IDA2OjMxOjA5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDkvMTVdIHdhcm4gZm9yIHVzZXMgb2Ygc3lzdGVtIGRpcmVjdG9yaWVzIHdoZW4gY3Jvc3MgbGlua2luZwotCi0yMDA4LTA3LTAyICBKb3NlcGggTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KLQotICAgIGxkLwotICAgICogbGQuaCAoYXJnc190eXBlKTogQWRkIGVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMuCi0gICAgKiBsZC50ZXhpbmZvICgtLWVycm9yLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMpOiBEb2N1bWVudC4KLSAgICAqIGxkZmlsZS5jIChsZGZpbGVfYWRkX2xpYnJhcnlfcGF0aCk6IENoZWNrCi0gICAgY29tbWFuZF9saW5lLmVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMuCi0gICAgKiBsZG1haW4uYyAobWFpbik6IEluaXRpYWxpemUKLSAgICBjb21tYW5kX2xpbmUuZXJyb3JfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcy4KLSAgICAqIGxleHN1cC5jIChlbnVtIG9wdGlvbl92YWx1ZXMpOiBBZGQKLSAgICBPUFRJT05fRVJST1JfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUy4KLSAgICAobGRfb3B0aW9ucyk6IEFkZCAtLWVycm9yLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMuCi0gICAgKHBhcnNlX2FyZ3MpOiBIYW5kbGUgbmV3IG9wdGlvbi4KLQotMjAwNy0wNi0xMyAgSm9zZXBoIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+Ci0KLSAgICBsZC8KLSAgICAqIGNvbmZpZy5pbjogUmVnZW5lcmF0ZS4KLSAgICAqIGxkLmggKGFyZ3NfdHlwZSk6IEFkZCBwb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgotICAgICogbGQudGV4aW5mbyAoLS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzKTogRG9jdW1lbnQuCi0gICAgKiBsZGZpbGUuYyAobGRmaWxlX2FkZF9saWJyYXJ5X3BhdGgpOiBDaGVjawotICAgIGNvbW1hbmRfbGluZS5wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgotICAgICogbGRtYWluLmMgKG1haW4pOiBJbml0aWFsaXplCi0gICAgY29tbWFuZF9saW5lLnBvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMuCi0gICAgKiBsZXhzdXAuYyAoZW51bSBvcHRpb25fdmFsdWVzKTogQWRkCi0gICAgT1BUSU9OX05PX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMuCi0gICAgKGxkX29wdGlvbnMpOiBBZGQgLS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzLgotICAgIChwYXJzZV9hcmdzKTogSGFuZGxlIG5ldyBvcHRpb24uCi0KLTIwMDctMDQtMjAgIEpvc2VwaCBNeWVycyAgPGpvc2VwaEBjb2Rlc291cmNlcnkuY29tPgotCi0gICAgTWVyZ2UgZnJvbSBTb3VyY2VyeSBHKysgYmludXRpbHMgMi4xNzoKLQotICAgIDIwMDctMDMtMjAgIEpvc2VwaCBNeWVycyAgPGpvc2VwaEBjb2Rlc291cmNlcnkuY29tPgotICAgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4uCi0gICAgbGQvCi0gICAgKiBjb25maWd1cmUuaW4gKC0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMpOiBOZXcgb3B0aW9uLgotICAgICogY29uZmlndXJlLCBjb25maWcuaW46IFJlZ2VuZXJhdGUuCi0gICAgKiBsZGZpbGUuYyAobGRmaWxlX2FkZF9saWJyYXJ5X3BhdGgpOiBJZgotICAgIEVOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTIGRlZmluZWQsIHdhcm4gZm9yIHVzZSBvZiAvbGliLAotICAgIC91c3IvbGliLCAvdXNyL2xvY2FsL2xpYiBvciAvdXNyL1gxMVI2L2xpYi4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IFNjb3R0IEdhcm1hbiA8c2NvdHQuYS5nYXJtYW5AaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxkL2NvbmZpZy5pbiAgICB8ICAzICsrKwotIGxkL2NvbmZpZ3VyZSAgICB8IDE2ICsrKysrKysrKysrKysrKysKLSBsZC9jb25maWd1cmUuYWMgfCAxMCArKysrKysrKysrCi0gbGQvbGQuaCAgICAgICAgIHwgIDggKysrKysrKysKLSBsZC9sZC50ZXhpICAgICAgfCAxMiArKysrKysrKysrKysKLSBsZC9sZGZpbGUuYyAgICAgfCAxNyArKysrKysrKysrKysrKysrKwotIGxkL2xkbGV4LmggICAgICB8ICAyICsrCi0gbGQvbGRtYWluLmMgICAgIHwgIDIgKysKLSBsZC9sZXhzdXAuYyAgICAgfCAxNiArKysrKysrKysrKysrKysrCi0gOSBmaWxlcyBjaGFuZ2VkLCA4NiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9sZC9jb25maWcuaW4gYi9sZC9jb25maWcuaW4KLWluZGV4IGQ5M2M5YjA4MzAuLjVkYTI3NDJiZWEgMTAwNjQ0Ci0tLS0gYS9sZC9jb25maWcuaW4KLSsrKyBiL2xkL2NvbmZpZy5pbgotQEAgLTMxLDYgKzMxLDkgQEAKLSAgICBsYW5ndWFnZSBpcyByZXF1ZXN0ZWQuICovCi0gI3VuZGVmIEVOQUJMRV9OTFMKLSAKLSsvKiBEZWZpbmUgdG8gd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gbGlicmFyeSBkaXJlY3RvcmllcyAqLwotKyN1bmRlZiBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUwotKwotIC8qIEFkZGl0aW9uYWwgZXh0ZW5zaW9uIGEgc2hhcmVkIG9iamVjdCBtaWdodCBoYXZlLiAqLwotICN1bmRlZiBFWFRSQV9TSExJQl9FWFRFTlNJT04KLSAKLWRpZmYgLS1naXQgYS9sZC9jb25maWd1cmUgYi9sZC9jb25maWd1cmUKLWluZGV4IDJiMjkxZjBkYTguLmZhY2MzODY1NjMgMTAwNzU1Ci0tLS0gYS9sZC9jb25maWd1cmUKLSsrKyBiL2xkL2NvbmZpZ3VyZQotQEAgLTgyNiw2ICs4MjYsNyBAQCB3aXRoX2xpYl9wYXRoCi0gZW5hYmxlX3RhcmdldHMKLSBlbmFibGVfNjRfYml0X2JmZAotIHdpdGhfc3lzcm9vdAotK2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzCi0gZW5hYmxlX2dvbGQKLSBlbmFibGVfZ290Ci0gZW5hYmxlX2NvbXByZXNzZWRfZGVidWdfc2VjdGlvbnMKLUBAIC0xNDkwLDYgKzE0OTEsOCBAQCBPcHRpb25hbCBGZWF0dXJlczoKLSAgIC0tZGlzYWJsZS1sYXJnZWZpbGUgICAgIG9taXQgc3VwcG9ydCBmb3IgbGFyZ2UgZmlsZXMKLSAgIC0tZW5hYmxlLXRhcmdldHMgICAgICAgIGFsdGVybmF0aXZlIHRhcmdldCBjb25maWd1cmF0aW9ucwotICAgLS1lbmFibGUtNjQtYml0LWJmZCAgICAgNjQtYml0IHN1cHBvcnQgKG9uIGhvc3RzIHdpdGggbmFycm93ZXIgd29yZCBzaXplcykKLSsgIC0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLSsgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGxpYnJhcnkgZGlyZWN0b3JpZXMKLSAgIC0tZW5hYmxlLWdvbGRbPUFSR10gICAgIGJ1aWxkIGdvbGQgW0FSRz17ZGVmYXVsdCx5ZXMsbm99XQotICAgLS1lbmFibGUtZ290PTx0eXBlPiAgICAgR09UIGhhbmRsaW5nIHNjaGVtZSAodGFyZ2V0LCBzaW5nbGUsIG5lZ2F0aXZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlnb3QpCi1AQCAtMTY2MTgsNiArMTY2MjEsMTkgQEAgZmkKLSAKLSAKLSAKLSsjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcyB3YXMgZ2l2ZW4uCi0raWYgdGVzdCAiJHtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcytzZXR9IiA9IHNldDsgdGhlbiA6Ci0rICBlbmFibGV2YWw9JGVuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzOwotK2Vsc2UKLSsgIGVuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzPW5vCi0rZmkKLSsKLStpZiB0ZXN0ICJ4JHtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllc30iID0gInh5ZXMiOyB0aGVuCi0rCi0rJGFzX2VjaG8gIiNkZWZpbmUgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMgMSIgPj5jb25mZGVmcy5oCi0rCi0rZmkKLSsKLSAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtZ29sZCB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHtlbmFibGVfZ29sZCtzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICBlbmFibGV2YWw9JGVuYWJsZV9nb2xkOyBjYXNlICIke2VuYWJsZXZhbH0iIGluCi1kaWZmIC0tZ2l0IGEvbGQvY29uZmlndXJlLmFjIGIvbGQvY29uZmlndXJlLmFjCi1pbmRleCBkMTBjNTUzNjUwLi45ZjFiNTdiMTIwIDEwMDY0NAotLS0tIGEvbGQvY29uZmlndXJlLmFjCi0rKysgYi9sZC9jb25maWd1cmUuYWMKLUBAIC05NCw2ICs5NCwxNiBAQCBBQ19TVUJTVCh1c2Vfc3lzcm9vdCkKLSBBQ19TVUJTVChUQVJHRVRfU1lTVEVNX1JPT1QpCi0gQUNfU1VCU1QoVEFSR0VUX1NZU1RFTV9ST09UX0RFRklORSkKLSAKLStBQ19BUkdfRU5BQkxFKFtwb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzXSwKLSsgICAgICAgICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllc10sCi0rICAgICAgICAgICAgICAgIFt3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBsaWJyYXJ5IGRpcmVjdG9yaWVzXSksLAotKyAgICAgICAgIFtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcz1ub10pCi0raWYgdGVzdCAieCR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXN9IiA9ICJ4eWVzIjsgdGhlbgotKyAgQUNfREVGSU5FKFtFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFU10sCi0rICAgICAgIFsxXSwKLSsgICAgICAgW0RlZmluZSB0byB3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBsaWJyYXJ5IGRpcmVjdG9yaWVzXSkKLStmaQotKwotIGRubCBVc2UgLS1lbmFibGUtZ29sZCB0byBkZWNpZGUgaWYgdGhpcyBsaW5rZXIgc2hvdWxkIGJlIHRoZSBkZWZhdWx0LgotIGRubCAiaW5zdGFsbF9hc19kZWZhdWx0IiBpcyBzZXQgdG8gZmFsc2UgaWYgZ29sZCBpcyB0aGUgZGVmYXVsdCBsaW5rZXIuCi0gZG5sICJpbnN0YWxsZWRfbGlua2VyIiBpcyB0aGUgaW5zdGFsbGVkIEJGRCBsaW5rZXIgbmFtZS4KLWRpZmYgLS1naXQgYS9sZC9sZC5oIGIvbGQvbGQuaAotaW5kZXggYmE5MTRiOTIxZS4uOWRmMTdkYWI2YyAxMDA2NDQKLS0tLSBhL2xkL2xkLmgKLSsrKyBiL2xkL2xkLmgKLUBAIC0xODAsNiArMTgwLDE0IEBAIHR5cGVkZWYgc3RydWN0Ci0gICAgICBpbiB0aGUgbGlua2VyIHNjcmlwdC4gICovCi0gICBiZmRfYm9vbGVhbiBmb3JjZV9ncm91cF9hbGxvY2F0aW9uOwotIAotKyAgLyogSWYgVFJVRSAodGhlIGRlZmF1bHQpIHdhcm4gZm9yIHVzZXMgb2Ygc3lzdGVtIGRpcmVjdG9yaWVzIHdoZW4KLSsgICAgIGNyb3NzIGxpbmtpbmcuICAqLwotKyAgYmZkX2Jvb2xlYW4gcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllczsKLSsKLSsgIC8qIElmIFRSVUUgKGRlZmF1bHQgRkFMU0UpIGdpdmUgYW4gZXJyb3IgZm9yIHVzZXMgb2Ygc3lzdGVtCi0rICAgICBkaXJlY3RvcmllcyB3aGVuIGNyb3NzIGxpbmtpbmcgaW5zdGVhZCBvZiBhIHdhcm5pbmcuICAqLwotKyAgYmZkX2Jvb2xlYW4gZXJyb3JfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllczsKLSsKLSAgIC8qIEJpZyBvciBsaXR0bGUgZW5kaWFuIGFzIHNldCBvbiBjb21tYW5kIGxpbmUuICAqLwotICAgZW51bSBlbmRpYW5fZW51bSBlbmRpYW47Ci0gCi1kaWZmIC0tZ2l0IGEvbGQvbGQudGV4aSBiL2xkL2xkLnRleGkKLWluZGV4IGI5ZmUyMzI0ZGEuLjQzNDg2NjA1ZTAgMTAwNjQ0Ci0tLS0gYS9sZC9sZC50ZXhpCi0rKysgYi9sZC9sZC50ZXhpCi1AQCAtMjQ3OSw2ICsyNDc5LDE4IEBAIHN0cmluZyBpZGVudGlmeWluZyB0aGUgb3JpZ2luYWwgbGlua2VkIGZpbGUgZG9lcyBub3QgY2hhbmdlLgotIAotIFBhc3NpbmcgQGNvZGV7bm9uZX0gZm9yIEB2YXJ7c3R5bGV9IGRpc2FibGVzIHRoZSBzZXR0aW5nIGZyb20gYW55Ci0gQGNvZGV7LS1idWlsZC1pZH0gb3B0aW9ucyBlYXJsaWVyIG9uIHRoZSBjb21tYW5kIGxpbmUuCi0rCi0rQGtpbmRleCAtLW5vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLStAaXRlbSAtLW5vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLStEbyBub3Qgd2FybiBmb3IgQG9wdGlvbnstTH0gb3B0aW9ucyB1c2luZyBzeXN0ZW0gZGlyZWN0b3JpZXMgc3VjaCBhcwotK0BmaWxley91c3IvbGlifSB3aGVuIGNyb3NzIGxpbmtpbmcuICBUaGlzIG9wdGlvbiBpcyBpbnRlbmRlZCBmb3IgdXNlCi0raW4gY2hyb290IGVudmlyb25tZW50cyB3aGVuIHN1Y2ggZGlyZWN0b3JpZXMgY29udGFpbiB0aGUgY29ycmVjdAotK2xpYnJhcmllcyBmb3IgdGhlIHRhcmdldCBzeXN0ZW0gcmF0aGVyIHRoYW4gdGhlIGhvc3QuCi0rCi0rQGtpbmRleCAtLWVycm9yLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLStAaXRlbSAtLWVycm9yLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLStHaXZlIGFuIGVycm9yIGluc3RlYWQgb2YgYSB3YXJuaW5nIGZvciBAb3B0aW9uey1MfSBvcHRpb25zIHVzaW5nCi0rc3lzdGVtIGRpcmVjdG9yaWVzIHdoZW4gY3Jvc3MgbGlua2luZy4KLSBAZW5kIHRhYmxlCi0gCi0gQGMgbWFuIGVuZAotZGlmZiAtLWdpdCBhL2xkL2xkZmlsZS5jIGIvbGQvbGRmaWxlLmMKLWluZGV4IGE3MmZmMTM1MjYuLmRjNTE0OGY3NDggMTAwNjQ0Ci0tLS0gYS9sZC9sZGZpbGUuYwotKysrIGIvbGQvbGRmaWxlLmMKLUBAIC0xMTYsNiArMTE2LDIzIEBAIGxkZmlsZV9hZGRfbGlicmFyeV9wYXRoIChjb25zdCBjaGFyICpuYW1lLCBiZmRfYm9vbGVhbiBjbWRsaW5lKQotICAgICBuZXdfZGlycy0+bmFtZSA9IGNvbmNhdCAobGRfc3lzcm9vdCwgbmFtZSArIHN0cmxlbiAoIiRTWVNST09UIiksIChjb25zdCBjaGFyICopIE5VTEwpOwotICAgZWxzZQotICAgICBuZXdfZGlycy0+bmFtZSA9IHhzdHJkdXAgKG5hbWUpOwotKwotKyNpZmRlZiBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUwotKyAgaWYgKGNvbW1hbmRfbGluZS5wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzCi0rICAmJiAoKCFzdHJuY21wIChuYW1lLCAiL2xpYiIsIDQpKQotKyAgICAgIHx8ICghc3RybmNtcCAobmFtZSwgIi91c3IvbGliIiwgOCkpCi0rICAgICAgfHwgKCFzdHJuY21wIChuYW1lLCAiL3Vzci9sb2NhbC9saWIiLCAxNCkpCi0rICAgICAgfHwgKCFzdHJuY21wIChuYW1lLCAiL3Vzci9YMTFSNi9saWIiLCAxNCkpKSkKLSsgICB7Ci0rICAgICBpZiAoY29tbWFuZF9saW5lLmVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMpCi0rICAgICAgIGVpbmZvIChfKCIlWCVQOiBlcnJvcjogbGlicmFyeSBzZWFyY2ggcGF0aCBcIiVzXCIgaXMgdW5zYWZlIGZvciAiCi0rICAgICAgICAgICAgImNyb3NzLWNvbXBpbGF0aW9uXG4iKSwgbmFtZSk7Ci0rICAgICBlbHNlCi0rICAgICAgIGVpbmZvIChfKCIlUDogd2FybmluZzogbGlicmFyeSBzZWFyY2ggcGF0aCBcIiVzXCIgaXMgdW5zYWZlIGZvciAiCi0rICAgICAgICAgICAgImNyb3NzLWNvbXBpbGF0aW9uXG4iKSwgbmFtZSk7Ci0rICAgfQotKyNlbmRpZgotKwotIH0KLSAKLSAvKiBUcnkgdG8gb3BlbiBhIEJGRCBmb3IgYSBsYW5nX2lucHV0X3N0YXRlbWVudC4gICovCi1kaWZmIC0tZ2l0IGEvbGQvbGRsZXguaCBiL2xkL2xkbGV4LmgKLWluZGV4IDA0ZDZmZDVmOTYuLmQ3ZGYwMDViYjIgMTAwNjQ0Ci0tLS0gYS9sZC9sZGxleC5oCi0rKysgYi9sZC9sZGxleC5oCi1AQCAtMTQ4LDYgKzE0OCw4IEBAIGVudW0gb3B0aW9uX3ZhbHVlcwotICAgT1BUSU9OX1JFUVVJUkVfREVGSU5FRF9TWU1CT0wsCi0gICBPUFRJT05fT1JQSEFOX0hBTkRMSU5HLAotICAgT1BUSU9OX0ZPUkNFX0dST1VQX0FMTE9DQVRJT04sCi0rICBPUFRJT05fTk9fUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUywKLSsgIE9QVElPTl9FUlJPUl9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTLAotIH07Ci0gCi0gLyogVGhlIGluaXRpYWwgcGFyc2VyIHN0YXRlcy4gICovCi1kaWZmIC0tZ2l0IGEvbGQvbGRtYWluLmMgYi9sZC9sZG1haW4uYwotaW5kZXggZjMxZWViMjljMy4uMjVmODQ5Nzg4OCAxMDA2NDQKLS0tLSBhL2xkL2xkbWFpbi5jCi0rKysgYi9sZC9sZG1haW4uYwotQEAgLTI2OCw2ICsyNjgsOCBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICBjb21tYW5kX2xpbmUud2Fybl9taXNtYXRjaCA9IFRSVUU7Ci0gICBjb21tYW5kX2xpbmUud2Fybl9zZWFyY2hfbWlzbWF0Y2ggPSBUUlVFOwotICAgY29tbWFuZF9saW5lLmNoZWNrX3NlY3Rpb25fYWRkcmVzc2VzID0gLTE7Ci0rICBjb21tYW5kX2xpbmUucG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcyA9IFRSVUU7Ci0rICBjb21tYW5kX2xpbmUuZXJyb3JfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcyA9IEZBTFNFOwotIAotICAgLyogV2UgaW5pdGlhbGl6ZSBERU1BTkdMSU5HIGJhc2VkIG9uIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZQotICAgICAgQ09MTEVDVF9OT19ERU1BTkdMRS4gIFRoZSBnY2MgY29sbGVjdDIgcHJvZ3JhbSB3aWxsIGRlbWFuZ2xlIHRoZQotZGlmZiAtLWdpdCBhL2xkL2xleHN1cC5jIGIvbGQvbGV4c3VwLmMKLWluZGV4IDg2YTAzM2EzODMuLjRhNDBkNDgwMjAgMTAwNjQ0Ci0tLS0gYS9sZC9sZXhzdXAuYwotKysrIGIvbGQvbGV4c3VwLmMKLUBAIC01NDMsNiArNTQzLDE0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbGRfb3B0aW9uIGxkX29wdGlvbnNbXSA9Ci0gICB7IHsib3JwaGFuLWhhbmRsaW5nIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVElPTl9PUlBIQU5fSEFORExJTkd9LAotICAgICAnXDAnLCBOXygiPU1PREUiKSwgTl8oIkNvbnRyb2wgaG93IG9ycGhhbiBzZWN0aW9ucyBhcmUgaGFuZGxlZC4iKSwKLSAgICAgVFdPX0RBU0hFUyB9LAotKyAgeyB7Im5vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMiLCBub19hcmd1bWVudCwgTlVMTCwKLSsgICAgIE9QVElPTl9OT19QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTfSwKLSsgICAgJ1wwJywgTlVMTCwgTl8oIkRvIG5vdCB3YXJuIGZvciAtTCBvcHRpb25zIHVzaW5nIHN5c3RlbSBkaXJlY3RvcmllcyIpLAotKyAgICBUV09fREFTSEVTIH0sCi0rICB7IHsiZXJyb3ItcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcyIsIG5vX2FyZ3VtZW50LCBOVUxMLAotKyAgICArICAgICBPUFRJT05fRVJST1JfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFU30sCi0rICAgICdcMCcsIE5VTEwsIE5fKCJHaXZlIGFuIGVycm9yIGZvciAtTCBvcHRpb25zIHVzaW5nIHN5c3RlbSBkaXJlY3RvcmllcyIpLAotKyAgICBUV09fREFTSEVTIH0sCi0gfTsKLSAKLSAjZGVmaW5lIE9QVElPTl9DT1VOVCBBUlJBWV9TSVpFIChsZF9vcHRpb25zKQotQEAgLTE1NzcsNiArMTU4NSwxNCBAQCBwYXJzZV9hcmdzICh1bnNpZ25lZCBhcmdjLCBjaGFyICoqYXJndikKLSAJICAgIGVpbmZvIChfKCIlRiVQOiBpbnZhbGlkIGFyZ3VtZW50IHRvIG9wdGlvbiIKLSAJCSAgICAgIiBcIi0tb3JwaGFuLWhhbmRsaW5nXCJcbiIpKTsKLSAJICBicmVhazsKLSsKLSsJY2FzZSBPUFRJT05fTk9fUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUzoKLSsJICBjb21tYW5kX2xpbmUucG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcyA9IEZBTFNFOwotKwkgIGJyZWFrOwotKwotKwljYXNlIE9QVElPTl9FUlJPUl9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTOgotKwkgIGNvbW1hbmRfbGluZS5lcnJvcl9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzID0gVFJVRTsKLSsJICBicmVhazsKLSAJfQotICAgICB9Ci0gCi0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDEwLUNoYW5nZS1kZWZhdWx0LWVtdWxhdGlvbi1mb3ItbWlwczY0LWxpbnV4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMC1DaGFuZ2UtZGVmYXVsdC1lbXVsYXRpb24tZm9yLW1pcHM2NC1saW51eC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTVlNGMyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMC1DaGFuZ2UtZGVmYXVsdC1lbXVsYXRpb24tZm9yLW1pcHM2NC1saW51eC5wYXRjaApAQCAtMCwwICsxLDU5IEBACitGcm9tIGQ1NDBlOTVkMDVjZDdjNGI4OTI0YWM3YjI1N2MxNGFlMDEwNWQwYWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogTW9uLCAyIE1hciAyMDE1IDAxOjQ0OjE0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMTAvMTVdIENoYW5nZSBkZWZhdWx0IGVtdWxhdGlvbiBmb3IgbWlwczY0Ki0qLWxpbnV4CisKK3dlIGNoYW5nZSB0aGUgZGVmYXVsdCBlbXVsYXRpb25zIHRvIGJlIE42NCBpbnN0ZWFkIG9mIE4zMgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgWyBPRSBjb25maWd1cmF0aW9uIFNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgYmZkL2NvbmZpZy5iZmQgICB8IDggKysrKy0tLS0KKyBsZC9jb25maWd1cmUudGd0IHwgOCArKysrLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmZkL2NvbmZpZy5iZmQgYi9iZmQvY29uZmlnLmJmZAoraW5kZXggMGUxZGRiNjU5Yy4uY2M2NTU0NzU4OCAxMDA2NDQKKy0tLSBhL2JmZC9jb25maWcuYmZkCisrKysgYi9iZmQvY29uZmlnLmJmZAorQEAgLTkxOSwxMiArOTE5LDEyIEBAIGNhc2UgIiR7dGFyZ30iIGluCisgICAgIHRhcmdfc2VsdmVjcz0ibWlwc19lbGYzMl9sZV92ZWMgbWlwc19lbGY2NF9iZV92ZWMgbWlwc19lbGY2NF9sZV92ZWMgbWlwc19lY29mZl9iZV92ZWMgbWlwc19lY29mZl9sZV92ZWMiCisgICAgIDs7CisgICBtaXBzNjQqZWwtKi1saW51eCopCistICAgIHRhcmdfZGVmdmVjPW1pcHNfZWxmMzJfbnRyYWRfbGVfdmVjCistICAgIHRhcmdfc2VsdmVjcz0ibWlwc19lbGYzMl9udHJhZF9iZV92ZWMgbWlwc19lbGYzMl90cmFkX2xlX3ZlYyBtaXBzX2VsZjMyX3RyYWRfYmVfdmVjIG1pcHNfZWxmNjRfdHJhZF9sZV92ZWMgbWlwc19lbGY2NF90cmFkX2JlX3ZlYyIKKysgICAgdGFyZ19kZWZ2ZWM9bWlwc19lbGY2NF90cmFkX2xlX3ZlYworKyAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfbnRyYWRfYmVfdmVjIG1pcHNfZWxmMzJfbnRyYWRfbGVfdmVjIG1pcHNfZWxmMzJfdHJhZF9sZV92ZWMgbWlwc19lbGYzMl90cmFkX2JlX3ZlYyBtaXBzX2VsZjY0X3RyYWRfYmVfdmVjIgorICAgICA7OworICAgbWlwczY0Ki0qLWxpbnV4KikKKy0gICAgdGFyZ19kZWZ2ZWM9bWlwc19lbGYzMl9udHJhZF9iZV92ZWMKKy0gICAgdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX250cmFkX2xlX3ZlYyBtaXBzX2VsZjMyX3RyYWRfYmVfdmVjIG1pcHNfZWxmMzJfdHJhZF9sZV92ZWMgbWlwc19lbGY2NF90cmFkX2JlX3ZlYyBtaXBzX2VsZjY0X3RyYWRfbGVfdmVjIgorKyAgICB0YXJnX2RlZnZlYz1taXBzX2VsZjY0X3RyYWRfYmVfdmVjCisrICAgIHRhcmdfc2VsdmVjcz0ibWlwc19lbGYzMl9udHJhZF9iZV92ZWMgbWlwc19lbGYzMl9udHJhZF9iZV92ZWMgbWlwc19lbGYzMl90cmFkX2JlX3ZlYyBtaXBzX2VsZjMyX3RyYWRfbGVfdmVjIG1pcHNfZWxmNjRfdHJhZF9sZV92ZWMiCisgICAgIDs7CisgICBtaXBzKmVsLSotbGludXgqKQorICAgICB0YXJnX2RlZnZlYz1taXBzX2VsZjMyX3RyYWRfbGVfdmVjCitkaWZmIC0tZ2l0IGEvbGQvY29uZmlndXJlLnRndCBiL2xkL2NvbmZpZ3VyZS50Z3QKK2luZGV4IGJlYmExN2VmNTEuLjkxN2JlNmY4ZWIgMTAwNjQ0CistLS0gYS9sZC9jb25maWd1cmUudGd0CisrKysgYi9sZC9jb25maWd1cmUudGd0CitAQCAtNDY4LDExICs0NjgsMTEgQEAgbWlwcyplbC0qLXZ4d29ya3MqKQl0YXJnX2VtdWw9ZWxmMzJlbG1pcHZ4d29ya3MKKyBtaXBzKi0qLXZ4d29ya3MqKQl0YXJnX2VtdWw9ZWxmMzJlYm1pcHZ4d29ya3MKKyAJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmVsbWlwdnh3b3JrcyIgOzsKKyBtaXBzKi0qLXdpbmRpc3MpCXRhcmdfZW11bD1lbGYzMm1pcHN3aW5kaXNzIDs7CistbWlwczY0KmVsLSotbGludXgtKikJdGFyZ19lbXVsPWVsZjMybHRzbWlwbjMyCistCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJidHNtaXBuMzIgZWxmMzJsdHNtaXAgZWxmMzJidHNtaXAgZWxmNjRsdHNtaXAgZWxmNjRidHNtaXAiCisrbWlwczY0KmVsLSotbGludXgtKikJdGFyZ19lbXVsPWVsZjY0bHRzbWlwCisrCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJidHNtaXBuMzIgZWxmMzJsdHNtaXBuMzIgZWxmMzJsdHNtaXAgZWxmMzJidHNtaXAgZWxmNjRidHNtaXAiCisgCQkJdGFyZ19leHRyYV9saWJwYXRoPSR0YXJnX2V4dHJhX2VtdWxzIDs7CistbWlwczY0Ki0qLWxpbnV4LSopCXRhcmdfZW11bD1lbGYzMmJ0c21pcG4zMgorLQkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMybHRzbWlwbjMyIGVsZjMyYnRzbWlwIGVsZjMybHRzbWlwIGVsZjY0YnRzbWlwIGVsZjY0bHRzbWlwIgorK21pcHM2NCotKi1saW51eC0qKQl0YXJnX2VtdWw9ZWxmNjRidHNtaXAKKysJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmJ0c21pcG4zMiBlbGYzMmx0c21pcG4zMiBlbGYzMmJ0c21pcCBlbGYzMmx0c21pcCBlbGY2NGx0c21pcCIKKyAJCQl0YXJnX2V4dHJhX2xpYnBhdGg9JHRhcmdfZXh0cmFfZW11bHMgOzsKKyBtaXBzKmVsLSotbGludXgtKikJdGFyZ19lbXVsPWVsZjMybHRzbWlwCisgCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJidHNtaXAgZWxmMzJsdHNtaXBuMzIgZWxmNjRsdHNtaXAgZWxmMzJidHNtaXBuMzIgZWxmNjRidHNtaXAiCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDEwLUZpeC1ycGF0aC1pbi1saWJ0b29sLXdoZW4tc3lzcm9vdC1pcy1lbmFibGVkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMC1GaXgtcnBhdGgtaW4tbGlidG9vbC13aGVuLXN5c3Jvb3QtaXMtZW5hYmxlZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGZjMDBmZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDEwLUZpeC1ycGF0aC1pbi1saWJ0b29sLXdoZW4tc3lzcm9vdC1pcy1lbmFibGVkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotRnJvbSA5ZTFkOGY5YTY1N2E4YmQ0ODA0OGMyZWE2NDA3Y2Y2MGI3MjNiZDY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMiBNYXIgMjAxNSAwMTo0MjozOCArMDAwMAotU3ViamVjdDogW1BBVENIIDEwLzE1XSBGaXggcnBhdGggaW4gbGlidG9vbCB3aGVuIHN5c3Jvb3QgaXMgZW5hYmxlZAotCi1FbmFibGluZyBzeXNyb290IHN1cHBvcnQgaW4gbGlidG9vbCBleHBvc2VkIGEgYnVnIHdoZXJlIHRoZSBmaW5hbAotbGlicmFyeSBoYWQgYW4gUlBBVEggZW5jb2RlZCBpbnRvIGl0IHdoaWNoIHN0aWxsIHBvaW50ZWQgdG8gdGhlCi1zeXNyb290LiBUaGlzIHdvcmtzIGFyb3VuZCB0aGUgaXNzdWUgdW50aWwgaXQgZ2V0cyBzb3J0ZWQgb3V0Ci11cHN0cmVhbS4KLQotRml4IHN1Z2dlc3RlZCBieSBSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogU2NvdHQgR2FybWFuIDxzY290dC5hLmdhcm1hbkBpbnRlbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gbHRtYWluLnNoIHwgMTAgKysrKysrKystLQotIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9sdG1haW4uc2ggYi9sdG1haW4uc2gKLWluZGV4IDcwZTg1NmUwNjUuLjExZWU2ODRjY2MgMTAwNjQ0Ci0tLS0gYS9sdG1haW4uc2gKLSsrKyBiL2x0bWFpbi5zaAotQEAgLTgwMzUsOSArODAzNSwxMSBAQCBFT0YKLSAJICB0ZXN0ICIkb3B0X21vZGUiICE9IHJlbGluayAmJiBycGF0aD0iJGNvbXBpbGVfcnBhdGgkcnBhdGgiCi0gCSAgZm9yIGxpYmRpciBpbiAkcnBhdGg7IGRvCi0gCSAgICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KLSsJCSAgZnVuY19yZXBsYWNlX3N5c3Jvb3QgIiRsaWJkaXIiCi0rCQkgIGxpYmRpcj0kZnVuY19yZXBsYWNlX3N5c3Jvb3RfcmVzdWx0Ci0rCQkgIGZ1bmNfc3RyaXBuYW1lICc9JyAnJyAiJGxpYmRpciIKLSsJCSAgbGliZGlyPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKLSAJICAgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCi0tCQlmdW5jX3JlcGxhY2Vfc3lzcm9vdCAiJGxpYmRpciIKLS0JCWxpYmRpcj0kZnVuY19yZXBsYWNlX3N5c3Jvb3RfcmVzdWx0Ci0gCQlpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KLSAJCSAgaGFyZGNvZGVfbGliZGlycz0iJGxpYmRpciIKLSAJCWVsc2UKLUBAIC04NzcwLDYgKzg3NzIsMTAgQEAgRU9GCi0gICAgICAgaGFyZGNvZGVfbGliZGlycz0KLSAgICAgICBmb3IgbGliZGlyIGluICRjb21waWxlX3JwYXRoICRmaW5hbGl6ZV9ycGF0aDsgZG8KLSAJaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCi0rCSAgZnVuY19yZXBsYWNlX3N5c3Jvb3QgIiRsaWJkaXIiCi0rCSAgbGliZGlyPSRmdW5jX3JlcGxhY2Vfc3lzcm9vdF9yZXN1bHQKLSsJICBmdW5jX3N0cmlwbmFtZSAnPScgJycgIiRsaWJkaXIiCi0rCSAgbGliZGlyPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKLSAJICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7IHRoZW4KLSAJICAgIGlmIHRlc3QgLXogIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgotIAkgICAgICBoYXJkY29kZV9saWJkaXJzPSIkbGliZGlyIgotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMS1BZGQtc3VwcG9ydC1mb3ItTmV0bG9naWMtWExQLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMS1BZGQtc3VwcG9ydC1mb3ItTmV0bG9naWMtWExQLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwYzVlZDYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDExLUFkZC1zdXBwb3J0LWZvci1OZXRsb2dpYy1YTFAucGF0Y2gKQEAgLTAsMCArMSwzOTMgQEAKK0Zyb20gZTRhMGNkMzBjN2U5MzM0ZWQ1MDdjOTMwMTRhOGIyZDEzMTVmZjkzNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDE0IEZlYiAyMDE2IDE3OjA2OjE5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMTEvMTVdIEFkZCBzdXBwb3J0IGZvciBOZXRsb2dpYyBYTFAKKworUGF0Y2ggRnJvbTogTmVidSBQaGlsaXBzIDxucGhpbGlwc0BuZXRsb2dpY21pY3JvLmNvbT4KKworVXNpbmcgdGhlIG1pcHNpc2E2NHIybmxtIHRhcmdldCwgYWRkIHN1cHBvcnQgZm9yIFhMUCBmcm9tCitOZXRsb2dpYy4gQWxzbywgdXBkYXRlIHZlbmRvciBuYW1lIHRvIE5MTSB3aGVyZXZlciBhcHBsaWNhYmxlLgorCitVc2UgMHgwMDAwMDA4MCBmb3IgSU5TTl9YTFAsIHRoZSB2YWx1ZSAweDAwMDAwMDQwIGhhcyBhbHJlYWR5IGJlZW4KK2Fzc2lnbmVkIHRvIElOU05fT0NURU9OMworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEJhb3NoYW4gUGFuZyA8YmFvc2hhbi5wYW5nQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+CistLS0KKyBiZmQvYW91dHguaCAgICAgICAgICAgfCAgMSArCisgYmZkL2FyY2h1cmVzLmMgICAgICAgIHwgIDEgKworIGJmZC9iZmQtaW4yLmggICAgICAgICB8ICAxICsKKyBiZmQvY29uZmlnLmJmZCAgICAgICAgfCAgNSArKysrKworIGJmZC9jcHUtbWlwcy5jICAgICAgICB8ICA2ICsrKystLQorIGJmZC9lbGZ4eC1taXBzLmMgICAgICB8ICA4ICsrKysrKysrCisgYmludXRpbHMvcmVhZGVsZi5jICAgIHwgIDEgKworIGdhcy9jb25maWcvdGMtbWlwcy5jICB8ICA0ICsrKy0KKyBnYXMvY29uZmlndXJlICAgICAgICAgfCAgMyArKysKKyBpbmNsdWRlL2VsZi9taXBzLmggICAgfCAgMSArCisgaW5jbHVkZS9vcGNvZGUvbWlwcy5oIHwgIDYgKysrKysrCisgbGQvY29uZmlndXJlLnRndCAgICAgIHwgIDIgKysKKyBvcGNvZGVzL21pcHMtZGlzLmMgICAgfCAxMiArKysrKy0tLS0tLS0KKyBvcGNvZGVzL21pcHMtb3BjLmMgICAgfCAzMSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCisgMTQgZmlsZXMgY2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9iZmQvYW91dHguaCBiL2JmZC9hb3V0eC5oCitpbmRleCBlNWQ4ZGNmMzkwLi4yY2M3NGEyZDYxIDEwMDY0NAorLS0tIGEvYmZkL2FvdXR4LmgKKysrKyBiL2JmZC9hb3V0eC5oCitAQCAtNzk5LDYgKzc5OSw3IEBAIE5BTUUgKGFvdXQsIG1hY2hpbmVfdHlwZSkgKGVudW0gYmZkX2FyY2hpdGVjdHVyZSBhcmNoLAorIAljYXNlIGJmZF9tYWNoX21pcHNpc2E2NHI2OgorIAljYXNlIGJmZF9tYWNoX21pcHNfc2IxOgorIAljYXNlIGJmZF9tYWNoX21pcHNfeGxyOgorKwljYXNlIGJmZF9tYWNoX21pcHNfeGxwOgorIAkgIC8qIEZJWE1FOiBUaGVzZSBzaG91bGQgYmUgTUlQUzMsIE1JUFM0LCBNSVBTMTYsIE1JUFMzMiwgZXRjLiAgKi8KKyAJICBhcmNoX2ZsYWdzID0gTV9NSVBTMjsKKyAJICBicmVhazsKK2RpZmYgLS1naXQgYS9iZmQvYXJjaHVyZXMuYyBiL2JmZC9hcmNodXJlcy5jCitpbmRleCA2NDdjZjBkOGQ0Li43ZTFkMGM4MTBmIDEwMDY0NAorLS0tIGEvYmZkL2FyY2h1cmVzLmMKKysrKyBiL2JmZC9hcmNodXJlcy5jCitAQCAtMTg1LDYgKzE4NSw3IEBAIERFU0NSSVBUSU9OCisgLiNkZWZpbmUgYmZkX21hY2hfbWlwc19vY3Rlb24zCQk2NTAzCisgLiNkZWZpbmUgYmZkX21hY2hfbWlwc194bHIJCTg4NzY4MgkgeyogZGVjaW1hbCAnWExSJy4gICp9CisgLiNkZWZpbmUgYmZkX21hY2hfbWlwc19pbnRlcmFwdGl2X21yMgk3MzY1NTAJIHsqIGRlY2ltYWwgJ0lBMicuICAqfQorKy4jZGVmaW5lIGJmZF9tYWNoX21pcHNfeGxwICAgICAgICAgICAgICA4ODc2ODAgICB7KiBkZWNpbWFsICdYTFAnLiAgKn0KKyAuI2RlZmluZSBiZmRfbWFjaF9taXBzaXNhMzIJCTMyCisgLiNkZWZpbmUgYmZkX21hY2hfbWlwc2lzYTMycjIJCTMzCisgLiNkZWZpbmUgYmZkX21hY2hfbWlwc2lzYTMycjMJCTM0CitkaWZmIC0tZ2l0IGEvYmZkL2JmZC1pbjIuaCBiL2JmZC9iZmQtaW4yLmgKK2luZGV4IGUyNWRhNTBhYWYuLmUyNTFkN2U3YWEgMTAwNjQ0CistLS0gYS9iZmQvYmZkLWluMi5oCisrKysgYi9iZmQvYmZkLWluMi5oCitAQCAtMjA4NCw2ICsyMDg0LDcgQEAgZW51bSBiZmRfYXJjaGl0ZWN0dXJlCisgI2RlZmluZSBiZmRfbWFjaF9taXBzX29jdGVvbjMgICAgICAgICAgNjUwMworICNkZWZpbmUgYmZkX21hY2hfbWlwc194bHIgICAgICAgICAgICAgIDg4NzY4MiAgIC8qIGRlY2ltYWwgJ1hMUicuICAqLworICNkZWZpbmUgYmZkX21hY2hfbWlwc19pbnRlcmFwdGl2X21yMiAgIDczNjU1MCAgIC8qIGRlY2ltYWwgJ0lBMicuICAqLworKyNkZWZpbmUgYmZkX21hY2hfbWlwc194bHAgICAgICAgICAgICAgIDg4NzY4MCAgIC8qIGRlY2ltYWwgJ1hMUCcuICAqLworICNkZWZpbmUgYmZkX21hY2hfbWlwc2lzYTMyICAgICAgICAgICAgIDMyCisgI2RlZmluZSBiZmRfbWFjaF9taXBzaXNhMzJyMiAgICAgICAgICAgMzMKKyAjZGVmaW5lIGJmZF9tYWNoX21pcHNpc2EzMnIzICAgICAgICAgICAzNAorZGlmZiAtLWdpdCBhL2JmZC9jb25maWcuYmZkIGIvYmZkL2NvbmZpZy5iZmQKK2luZGV4IGNjNjU1NDc1ODguLjM2MTRmZjc5ZDQgMTAwNjQ0CistLS0gYS9iZmQvY29uZmlnLmJmZAorKysrIGIvYmZkL2NvbmZpZy5iZmQKK0BAIC05MDIsNiArOTAyLDExIEBAIGNhc2UgIiR7dGFyZ30iIGluCisgICAgIHRhcmdfZGVmdmVjPW1pcHNfZWxmMzJfbGVfdmVjCisgICAgIHRhcmdfc2VsdmVjcz0ibWlwc19lbGYzMl9iZV92ZWMgbWlwc19lbGY2NF9iZV92ZWMgbWlwc19lbGY2NF9sZV92ZWMiCisgICAgIDs7CisrICBtaXBzaXNhNjQqLSotZWxmKikKKysJdGFyZ19kZWZ2ZWM9bWlwc19lbGYzMl90cmFkX2JlX3ZlYworKwl0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfdHJhZF9sZV92ZWMgbWlwc19lbGY2NF90cmFkX2JlX3ZlYyBtaXBzX2VsZjY0X3RyYWRfbGVfdmVjIgorKwl3YW50NjQ9dHJ1ZQorKwk7OworICAgbWlwcyotKi1lbGYqIHwgbWlwcyotKi1ydGVtcyogfCBtaXBzKi0qLXdpbmRpc3MgfCBtaXBzKi0qLW5vbmUpCisgICAgIHRhcmdfZGVmdmVjPW1pcHNfZWxmMzJfYmVfdmVjCisgICAgIHRhcmdfc2VsdmVjcz0ibWlwc19lbGYzMl9sZV92ZWMgbWlwc19lbGY2NF9iZV92ZWMgbWlwc19lbGY2NF9sZV92ZWMiCitkaWZmIC0tZ2l0IGEvYmZkL2NwdS1taXBzLmMgYi9iZmQvY3B1LW1pcHMuYworaW5kZXggYjM1OTQ5MTMwNS4uNjFhM2U3YWFjYSAxMDA2NDQKKy0tLSBhL2JmZC9jcHUtbWlwcy5jCisrKysgYi9iZmQvY3B1LW1pcHMuYworQEAgLTEwNyw3ICsxMDcsOCBAQCBlbnVtCisgICBJX21pcHNvY3Rlb24zLAorICAgSV94bHIsCisgICBJX2ludGVyYXB0aXZfbXIyLAorLSAgSV9taWNyb21pcHMKKysgIElfbWljcm9taXBzLAorKyAgSV94bHAKKyB9OworIAorICNkZWZpbmUgTk4oaW5kZXgpICgmYXJjaF9pbmZvX3N0cnVjdFsoaW5kZXgpICsgMV0pCitAQCAtMTYyLDcgKzE2Myw4IEBAIHN0YXRpYyBjb25zdCBiZmRfYXJjaF9pbmZvX3R5cGUgYXJjaF9pbmZvX3N0cnVjdFtdID0KKyAgIE4gKDY0LCA2NCwgYmZkX21hY2hfbWlwc194bHIsICJtaXBzOnhsciIsCSAgRkFMU0UsIE5OKElfeGxyKSksCisgICBOICgzMiwgMzIsIGJmZF9tYWNoX21pcHNfaW50ZXJhcHRpdl9tcjIsICJtaXBzOmludGVyYXB0aXYtbXIyIiwgRkFMU0UsCisgICAgICBOTihJX2ludGVyYXB0aXZfbXIyKSksCistICBOICg2NCwgNjQsIGJmZF9tYWNoX21pcHNfbWljcm9taXBzLCJtaXBzOm1pY3JvbWlwcyIsRkFMU0UsMCkKKysgIE4gKDY0LCA2NCwgYmZkX21hY2hfbWlwc19taWNyb21pcHMsIm1pcHM6bWljcm9taXBzIixGQUxTRSxOTihJX21pY3JvbWlwcykpLAorKyAgTiAoNjQsIDY0LCBiZmRfbWFjaF9taXBzX3hscCwgIm1pcHM6eGxwIiwgICAgICBGQUxTRSwgMCkKKyB9OworIAorIC8qIFRoZSBkZWZhdWx0IGFyY2hpdGVjdHVyZSBpcyBtaXBzOjMwMDAsIGJ1dCB3aXRoIGEgbWFjaGluZSBudW1iZXIgb2YKK2RpZmYgLS1naXQgYS9iZmQvZWxmeHgtbWlwcy5jIGIvYmZkL2VsZnh4LW1pcHMuYworaW5kZXggNTk5OGJjNDNhOC4uMGQ1Nzk1MjIyYiAxMDA2NDQKKy0tLSBhL2JmZC9lbGZ4eC1taXBzLmMKKysrKyBiL2JmZC9lbGZ4eC1taXBzLmMKK0BAIC02OTE5LDYgKzY5MTksOSBAQCBfYmZkX2VsZl9taXBzX21hY2ggKGZsYWd3b3JkIGZsYWdzKQorICAgICBjYXNlIEVfTUlQU19NQUNIX0lBTVIyOgorICAgICAgIHJldHVybiBiZmRfbWFjaF9taXBzX2ludGVyYXB0aXZfbXIyOworIAorKyAgICBjYXNlIEVfTUlQU19NQUNIX1hMUDoKKysgICAgICByZXR1cm4gYmZkX21hY2hfbWlwc194bHA7CisrCisgICAgIGRlZmF1bHQ6CisgICAgICAgc3dpdGNoIChmbGFncyAmIEVGX01JUFNfQVJDSCkKKyAJeworQEAgLTEyMTk5LDYgKzEyMjAyLDEwIEBAIG1pcHNfc2V0X2lzYV9mbGFncyAoYmZkICphYmZkKQorICAgICAgIHZhbCA9IEVfTUlQU19BUkNIXzY0UjIgfCBFX01JUFNfTUFDSF9PQ1RFT04yOworICAgICAgIGJyZWFrOworIAorKwljYXNlIGJmZF9tYWNoX21pcHNfeGxwOgorKwkgIHZhbCA9IEVfTUlQU19BUkNIXzY0UjIgfCBFX01JUFNfTUFDSF9YTFA7CisrCSAgYnJlYWs7CisrCisgICAgIGNhc2UgYmZkX21hY2hfbWlwc2lzYTMyOgorICAgICAgIHZhbCA9IEVfTUlQU19BUkNIXzMyOworICAgICAgIGJyZWFrOworQEAgLTE0MjE0LDYgKzE0MjIxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtaXBzX21hY2hfZXh0ZW5zaW9uIG1pcHNfbWFjaF9leHRlbnNpb25zW10gPQorICAgeyBiZmRfbWFjaF9taXBzX2dzMjY0ZSwgYmZkX21hY2hfbWlwc19nczQ2NGUgfSwKKyAgIHsgYmZkX21hY2hfbWlwc19nczQ2NGUsIGJmZF9tYWNoX21pcHNfZ3M0NjQgfSwKKyAgIHsgYmZkX21hY2hfbWlwc19nczQ2NCwgYmZkX21hY2hfbWlwc2lzYTY0cjIgfSwKKysgIHsgYmZkX21hY2hfbWlwc194bHAsIGJmZF9tYWNoX21pcHNpc2E2NHIyIH0sCisgCisgICAvKiBNSVBTNjQgZXh0ZW5zaW9ucy4gICovCisgICB7IGJmZF9tYWNoX21pcHNpc2E2NHIyLCBiZmRfbWFjaF9taXBzaXNhNjQgfSwKK2RpZmYgLS1naXQgYS9iaW51dGlscy9yZWFkZWxmLmMgYi9iaW51dGlscy9yZWFkZWxmLmMKK2luZGV4IGIxM2ViNmE0M2IuLjlkZjM3NDI2ODIgMTAwNjQ0CistLS0gYS9iaW51dGlscy9yZWFkZWxmLmMKKysrKyBiL2JpbnV0aWxzL3JlYWRlbGYuYworQEAgLTM0MTIsNiArMzQxMiw3IEBAIGdldF9tYWNoaW5lX2ZsYWdzIChGaWxlZGF0YSAqIGZpbGVkYXRhLCB1bnNpZ25lZCBlX2ZsYWdzLCB1bnNpZ25lZCBlX21hY2hpbmUpCisgCSAgICBjYXNlIEVfTUlQU19NQUNIX09DVEVPTjM6IHN0cmNhdCAoYnVmLCAiLCBvY3Rlb24zIik7IGJyZWFrOworIAkgICAgY2FzZSBFX01JUFNfTUFDSF9YTFI6ICBzdHJjYXQgKGJ1ZiwgIiwgeGxyIik7IGJyZWFrOworIAkgICAgY2FzZSBFX01JUFNfTUFDSF9JQU1SMjogIHN0cmNhdCAoYnVmLCAiLCBpbnRlcmFwdGl2LW1yMiIpOyBicmVhazsKKysJICAgIGNhc2UgRV9NSVBTX01BQ0hfWExQOiAgc3RyY2F0IChidWYsICIsIHhscCIpOyBicmVhazsKKyAJICAgIGNhc2UgMDoKKyAJICAgIC8qIFdlIHNpbXBseSBpZ25vcmUgdGhlIGZpZWxkIGluIHRoaXMgY2FzZSB0byBhdm9pZCBjb25mdXNpb246CisgCSAgICAgICBNSVBTIEVMRiBkb2VzIG5vdCBzcGVjaWZ5IEVGX01JUFNfTUFDSCwgaXQgaXMgYSBHTlUKK2RpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLW1pcHMuYyBiL2dhcy9jb25maWcvdGMtbWlwcy5jCitpbmRleCBhZTU1OTA0MjI5Li5kNjg4MjcxMmY1IDEwMDY0NAorLS0tIGEvZ2FzL2NvbmZpZy90Yy1taXBzLmMKKysrKyBiL2dhcy9jb25maWcvdGMtbWlwcy5jCitAQCAtNTU0LDYgKzU1NCw3IEBAIHN0YXRpYyBpbnQgbWlwc18zMmJpdG1vZGUgPSAwOworICAgIHx8IG1pcHNfb3B0cy5hcmNoID09IENQVV9STTcwMDAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfVlI1NTAwICAgICAgICAgICAgICAgICAgICBcCisgICAgfHwgbWlwc19vcHRzLm1pY3JvbWlwcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgIHx8IG1pcHNfb3B0cy5hcmNoID09IENQVV9YTFAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICApCisgCisgLyogV2hldGhlciB0aGUgcHJvY2Vzc29yIHVzZXMgaGFyZHdhcmUgaW50ZXJsb2NrcyB0byBwcm90ZWN0IHJlYWRzCitAQCAtNTgzLDYgKzU4NCw3IEBAIHN0YXRpYyBpbnQgbWlwc18zMmJpdG1vZGUgPSAwOworICAgICAmJiBtaXBzX29wdHMuaXNhICE9IElTQV9NSVBTMykgICAgICAgICAgICAgICAgICAgIFwKKyAgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfUjQzMDAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfHwgbWlwc19vcHRzLm1pY3JvbWlwcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgIHx8IG1pcHNfb3B0cy5hcmNoID09IENQVV9YTFAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICApCisgCisgLyogV2hldGhlciB0aGUgcHJvY2Vzc29yIHVzZXMgaGFyZHdhcmUgaW50ZXJsb2NrcyB0byBwcm90ZWN0IHJlYWRzCitAQCAtMTk4NjcsNyArMTk4NjksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG1pcHNfY3B1X2luZm8gbWlwc19jcHVfaW5mb190YWJsZVtdID0KKyAgIC8qIEJyb2FkY29tIFhMUC4KKyAgICAgIFhMUCBpcyBtb3N0bHkgbGlrZSBYTFIsIHdpdGggdGhlIHByb21pbmVudCBleGNlcHRpb24gdGhhdCBpdCBpcworICAgICAgTUlQUzY0UjIgcmF0aGVyIHRoYW4gTUlQUzY0LiAgKi8KKy0gIHsgInhscCIsCSAgICAgIDAsIDAsCQkJSVNBX01JUFM2NFIyLCBDUFVfWExSIH0sCisrICB7ICJ4bHAiLAkgICAgICAwLCAwLAkJCUlTQV9NSVBTNjRSMiwgQ1BVX1hMUCB9LAorIAorICAgLyogTUlQUyA2NCBSZWxlYXNlIDYgKi8KKyAgIHsgImk2NDAwIiwJICAgICAgMCwgQVNFX01TQSwJCUlTQV9NSVBTNjRSNiwgQ1BVX01JUFM2NFI2fSwKK2RpZmYgLS1naXQgYS9nYXMvY29uZmlndXJlIGIvZ2FzL2NvbmZpZ3VyZQoraW5kZXggYTgyZmRlN2ZhOC4uYWZjNzdjMzQ3YSAxMDA3NTUKKy0tLSBhL2dhcy9jb25maWd1cmUKKysrKyBiL2dhcy9jb25maWd1cmUKK0BAIC0xMzM2NCw2ICsxMzM2NCw5IEBAIF9BQ0VPRgorIAkgIG1pcHNpc2E2NHI2IHwgbWlwc2lzYTY0cjZlbCkKKyAJICAgIG1pcHNfY3B1PW1pcHM2NHI2CisgCSAgICA7OworKwkgIG1pcHNpc2E2NHIybmxtIHwgbWlwc2lzYTY0cjJubG1lbCkKKysJCW1pcHNfY3B1PXhscAorKwkJOzsKKyAJICBtaXBzdHgzOSB8IG1pcHN0eDM5ZWwpCisgCSAgICBtaXBzX2NwdT1yMzkwMAorIAkgICAgOzsKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2VsZi9taXBzLmggYi9pbmNsdWRlL2VsZi9taXBzLmgKK2luZGV4IGI3NmQ0NTBhZTIuLjdjZGRiMzY1YWQgMTAwNjQ0CistLS0gYS9pbmNsdWRlL2VsZi9taXBzLmgKKysrKyBiL2luY2x1ZGUvZWxmL21pcHMuaAorQEAgLTI5MCw2ICsyOTAsNyBAQCBFTkRfUkVMT0NfTlVNQkVSUyAoUl9NSVBTX21heGV4dCkKKyAjZGVmaW5lIEVfTUlQU19NQUNIX1NCMSAgICAgICAgIDB4MDA4YTAwMDAKKyAjZGVmaW5lIEVfTUlQU19NQUNIX09DVEVPTgkweDAwOGIwMDAwCisgI2RlZmluZSBFX01JUFNfTUFDSF9YTFIgICAgIAkweDAwOGMwMDAwCisrI2RlZmluZSBFX01JUFNfTUFDSF9YTFAgICAgICAgICAweDAwOGYwMDAwCisgI2RlZmluZSBFX01JUFNfTUFDSF9PQ1RFT04yCTB4MDA4ZDAwMDAKKyAjZGVmaW5lIEVfTUlQU19NQUNIX09DVEVPTjMJMHgwMDhlMDAwMAorICNkZWZpbmUgRV9NSVBTX01BQ0hfNTQwMAkweDAwOTEwMDAwCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9vcGNvZGUvbWlwcy5oIGIvaW5jbHVkZS9vcGNvZGUvbWlwcy5oCitpbmRleCBhYmQ1MmM4OTgwLi41M2I2NzUyYTFjIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9vcGNvZGUvbWlwcy5oCisrKysgYi9pbmNsdWRlL29wY29kZS9taXBzLmgKK0BAIC0xMjYwLDYgKzEyNjAsOCBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG1pcHNfaXNhX3RhYmxlW10gPSB7CisgI2RlZmluZSBJTlNOX1hMUiAgICAgICAgICAgICAgICAgMHgwMDAwMDAyMAorIC8qIEltYWdpbmF0aW9uIGludGVyQXB0aXYgTVIyLiAgKi8KKyAjZGVmaW5lIElOU05fSU5URVJBUFRJVl9NUjIJICAweDA0MDAwMDAwCisrLyogTmV0bG9naWMgWGxQIGluc3RydWN0aW9uICovCisrI2RlZmluZSBJTlNOX1hMUAkJMHgwMDAwMDA4MAorIAorIC8qIERTUCBBU0UgKi8KKyAjZGVmaW5lIEFTRV9EU1AJCQkweDAwMDAwMDAxCitAQCAtMTM4MSw2ICsxMzgzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBtaXBzX2lzYV90YWJsZVtdID0geworICNkZWZpbmUgQ1BVX09DVEVPTjMJNjUwMworICNkZWZpbmUgQ1BVX1hMUiAgICAgCTg4NzY4MiAgIAkvKiBkZWNpbWFsICdYTFInICAgKi8KKyAjZGVmaW5lIENQVV9JTlRFUkFQVElWX01SMiA3MzY1NTAJLyogZGVjaW1hbCAnSUEyJyAgKi8KKysjZGVmaW5lIENQVV9YTFAgICAgICAgICA4ODc2ODAgICAgICAvKiBkZWNpbWFsICdYTFAnICAgKi8KKyAKKyAvKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgZ2l2ZW4gQ1BVIGlzIGluY2x1ZGVkIGluIElOU05fKiBtYXNrIE1BU0suICAqLworIAorQEAgLTE0NTgsNiArMTQ2MSw5IEBAIGNwdV9pc19tZW1iZXIgKGludCBjcHUsIHVuc2lnbmVkIGludCBtYXNrKQorICAgICAgIHJldHVybiAoKG1hc2sgJiBJTlNOX0lTQV9NQVNLKSA9PSBJTlNOX0lTQTMyUjYpCisgCSAgICAgfHwgKChtYXNrICYgSU5TTl9JU0FfTUFTSykgPT0gSU5TTl9JU0E2NFI2KTsKKyAKKysgICAgY2FzZSBDUFVfWExQOgorKyAgICAgIHJldHVybiAobWFzayAmIElOU05fWExQKSAhPSAwOworKworICAgICBkZWZhdWx0OgorICAgICAgIHJldHVybiBGQUxTRTsKKyAgICAgfQorZGlmZiAtLWdpdCBhL2xkL2NvbmZpZ3VyZS50Z3QgYi9sZC9jb25maWd1cmUudGd0CitpbmRleCA5MTdiZTZmOGViLi4zNDdkZjZjM2Y2IDEwMDY0NAorLS0tIGEvbGQvY29uZmlndXJlLnRndAorKysrIGIvbGQvY29uZmlndXJlLnRndAorQEAgLTQ1NCw2ICs0NTQsOCBAQCBtaXBzKmVsLXNkZS1lbGYqIHwgbWlwcyplbC1tdGktZWxmKiB8IG1pcHMqZWwtaW1nLWVsZiopCisgbWlwcyotc2RlLWVsZiogfCBtaXBzKi1tdGktZWxmKiB8IG1pcHMqLWltZy1lbGYqKQorIAkJCXRhcmdfZW11bD1lbGYzMmJ0c21pcAorIAkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMybHRzbWlwIGVsZjMyYnRzbWlwbjMyIGVsZjY0YnRzbWlwIGVsZjMybHRzbWlwbjMyIGVsZjY0bHRzbWlwIiA7OworK21pcHNpc2E2NCotKi1lbGYqKQl0YXJnX2VtdWw9ZWxmMzJidHNtaXAKKysJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmx0c21pcCBlbGY2NGJ0c21pcCBlbGY2NGx0c21pcCIgOzsKKyBtaXBzNjQqZWwtcHMyLWVsZiopCXRhcmdfZW11bD1lbGYzMmxyNTkwMG4zMgorIAkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMybHI1OTAwIgorIAkJCXRhcmdfZXh0cmFfbGlicGF0aD0kdGFyZ19leHRyYV9lbXVscyA7OworZGlmZiAtLWdpdCBhL29wY29kZXMvbWlwcy1kaXMuYyBiL29wY29kZXMvbWlwcy1kaXMuYworaW5kZXggMGRkODVlMzc3OS4uMWVhNzA4ZGRlNyAxMDA2NDQKKy0tLSBhL29wY29kZXMvbWlwcy1kaXMuYworKysrIGIvb3Bjb2Rlcy9taXBzLWRpcy5jCitAQCAtNjczLDEzICs2NzMsMTEgQEAgY29uc3Qgc3RydWN0IG1pcHNfYXJjaF9jaG9pY2UgbWlwc19hcmNoX2Nob2ljZXNbXSA9CisgICAgIG1pcHNfY3Awc2VsX25hbWVzX3hsciwgQVJSQVlfU0laRSAobWlwc19jcDBzZWxfbmFtZXNfeGxyKSwKKyAgICAgbWlwc19jcDFfbmFtZXNfbWlwczMyNjQsIG1pcHNfaHdyX25hbWVzX251bWVyaWMgfSwKKyAKKy0gIC8qIFhMUCBpcyBtb3N0bHkgbGlrZSBYTFIsIHdpdGggdGhlIHByb21pbmVudCBleGNlcHRpb24gaXQgaXMgYmVpbmcKKy0gICAgIE1JUFM2NFIyLiAgKi8KKy0gIHsgInhscCIsIDEsIGJmZF9tYWNoX21pcHNfeGxyLCBDUFVfWExSLAorLSAgICBJU0FfTUlQUzY0UjIgfCBJTlNOX1hMUiwgMCwKKy0gICAgbWlwc19jcDBfbmFtZXNfeGxyLAorLSAgICBtaXBzX2NwMHNlbF9uYW1lc194bHIsIEFSUkFZX1NJWkUgKG1pcHNfY3Awc2VsX25hbWVzX3hsciksCistICAgIG1pcHNfY3AxX25hbWVzX21pcHMzMjY0LCBtaXBzX2h3cl9uYW1lc19udW1lcmljIH0sCisrICB7ICJ4bHAiLCAxLCBiZmRfbWFjaF9taXBzX3hscCwgQ1BVX1hMUCwKKysgICAgSVNBX01JUFM2NFIyIHwgSU5TTl9YTFAsIDAsCisrICAgIG1pcHNfY3AwX25hbWVzX21pcHMzMjY0cjIsCisrICAgIG1pcHNfY3Awc2VsX25hbWVzX21pcHMzMjY0cjIsIEFSUkFZX1NJWkUgKG1pcHNfY3Awc2VsX25hbWVzX21pcHMzMjY0cjIpLAorKyAgICBtaXBzX2NwMV9uYW1lc19taXBzMzI2NCwgbWlwc19od3JfbmFtZXNfbWlwczMyNjRyMiB9LAorIAorICAgLyogVGhpcyBlbnRyeSwgbWlwczE2LCBpcyBoZXJlIG9ubHkgZm9yIElTQS9wcm9jZXNzb3Igc2VsZWN0aW9uOyBkbworICAgICAgbm90IHByaW50IGl0cyBuYW1lLiAgKi8KK2RpZmYgLS1naXQgYS9vcGNvZGVzL21pcHMtb3BjLmMgYi9vcGNvZGVzL21pcHMtb3BjLmMKK2luZGV4IDgzN2RhNmJkOTkuLmQzZWE1Yjg4NzcgMTAwNjQ0CistLS0gYS9vcGNvZGVzL21pcHMtb3BjLmMKKysrKyBiL29wY29kZXMvbWlwcy1vcGMuYworQEAgLTMyOCw2ICszMjgsNyBAQCBkZWNvZGVfbWlwc19vcGVyYW5kIChjb25zdCBjaGFyICpwKQorICNkZWZpbmUgSU9DVDMJSU5TTl9PQ1RFT04zCisgI2RlZmluZSBYTFIgICAgIElOU05fWExSCisgI2RlZmluZSBJQU1SMglJTlNOX0lOVEVSQVBUSVZfTVIyCisrI2RlZmluZSBYTFAJSU5TTl9YTFAKKyAjZGVmaW5lIElWSVJUCUFTRV9WSVJUCisgI2RlZmluZSBJVklSVDY0CUFTRV9WSVJUNjQKKyAKK0BAIC05ODksNiArOTkwLDcgQEAgY29uc3Qgc3RydWN0IG1pcHNfb3Bjb2RlIG1pcHNfYnVpbHRpbl9vcGNvZGVzW10gPQorIHsiY2xvIiwJCQkiVSxzIiwJCTB4NzAwMDAwMjEsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMiwJCTAsCQlJMzJ8TjU1LAkwLAlJMzcgfSwKKyB7ImNseiIsCQkJImQscyIsCQkweDAwMDAwMDUwLCAweGZjMWYwN2ZmLCBXUl8xfFJEXzIsCQkwLAkJSTM3LAkJMCwJMCB9LAorIHsiY2x6IiwJCQkiVSxzIiwJCTB4NzAwMDAwMjAsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMiwJCTAsCQlJMzJ8TjU1LAkwLAlJMzcgfSwKKyt7ImNyYyIsCQkJImQscyx0IiwJMHg3MDAwMDAxYywgMHhmYzAwMDdmZiwJV1JfMXxSRF8yfFJEXzMsCTAsCQlYTFAsIAkJMCwJMCB9LAorIC8qIGN0YzAgaXMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgdGFibGUuICAqLworIHsiY3RjMSIsCQkidCxHIiwJCTB4NDRjMDAwMDAsIDB4ZmZlMDA3ZmYsCVJEXzF8V1JfQ0N8Q00sCQkwLAkJSTEsCQkwLAkwIH0sCisgeyJjdGMxIiwJCSJ0LFMiLAkJMHg0NGMwMDAwMCwgMHhmZmUwMDdmZiwJUkRfMXxXUl9DQ3xDTSwJCTAsCQlJMSwJCTAsCTAgfSwKK0BAIC0xMDIxLDEyICsxMDIzLDEzIEBAIGNvbnN0IHN0cnVjdCBtaXBzX29wY29kZSBtaXBzX2J1aWx0aW5fb3Bjb2Rlc1tdID0KKyB7ImRhZGRpdSIsCQkidCxyLGoiLAkweDY0MDAwMDAwLCAweGZjMDAwMDAwLCBXUl8xfFJEXzIsCQkwLAkJSTMsCQkwLAkwIH0sCisgeyJkYWRkdSIsCQkiZCx2LHQiLAkweDAwMDAwMDJkLCAweGZjMDAwN2ZmLCBXUl8xfFJEXzJ8UkRfMywJCTAsCQlJMywJCTAsCTAgfSwKKyB7ImRhZGR1IiwJCSJ0LHIsSSIsCTAsICAgIChpbnQpIE1fREFERFVfSSwJSU5TTl9NQUNSTywJCTAsCQlJMywJCTAsCTAgfSwKKy17ImRhZGR3YyIsCQkiZCxzLHQiLCAJMHg3MDAwMDAzOCwgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzN8V1JfQzB8UkRfQzAsIDAsCQlYTFIsCQkwLAkwIH0sCisreyJkYWRkd2MiLAkJImQscyx0IiwgCTB4NzAwMDAwMzgsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zfFdSX0MwfFJEX0MwLCAwLAkJWExSfFhMUCwJMCwJMCB9LAorIHsiZGJyZWFrIiwJCSIiLAkJMHg3MDAwMDAzZiwgMHhmZmZmZmZmZiwJMCwJCQkwLAkJTjUsCQkwLAkwIH0sCisgeyJkY2xvIiwJCSJkLHMiLAkJMHgwMDAwMDA1MywgMHhmYzFmMDdmZiwgV1JfMXxSRF8yLAkJMCwJCUk2OSwJCTAsCTAgfSwKKyB7ImRjbG8iLAkJIlUscyIsCSAJMHg3MDAwMDAyNSwgMHhmYzAwMDdmZiwgV1JfMXxSRF8yLCAJMCwJCUk2NHxONTUsCTAsCUk2OSB9LAorIHsiZGNseiIsCQkiZCxzIiwJCTB4MDAwMDAwNTIsIDB4ZmMxZjA3ZmYsIFdSXzF8UkRfMiwJCTAsCQlJNjksCQkwLAkwIH0sCisgeyJkY2x6IiwJCSJVLHMiLAkgCTB4NzAwMDAwMjQsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMiwgCTAsCQlJNjR8TjU1LAkwLAlJNjkgfSwKKyt7ImRjcmMiLAkJImQscyx0IiwJMHg3MDAwMDAxZCwgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzMsCTAsCQlYTFAsIAkJMCwJMCB9LAorIC8qIGRjdHIgYW5kIGRjdHcgYXJlIHVzZWQgb24gdGhlIHI1MDAwLiAgKi8KKyB7ImRjdHIiLAkJIm8oYikiLAkgCTB4YmMwNTAwMDAsIDB4ZmMxZjAwMDAsIFJEXzIsCQkJMCwJCUkzLAkJMCwJMCB9LAorIHsiZGN0dyIsCQkibyhiKSIsCQkweGJjMDkwMDAwLCAweGZjMWYwMDAwLCBSRF8yLAkJCTAsCQlJMywJCTAsCTAgfSwKK0BAIC0xMDk4LDYgKzExMDEsNyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9CisgeyJkbWZjMCIsCQkidCxHLEgiLAkweDQwMjAwMDAwLCAweGZmZTAwN2Y4LAlXUl8xfFJEX0MwfExDLAkJMCwJCUk2NCwJCTAsCTAgfSwKKyB7ImRtZmdjMCIsCQkidCxHIiwJCTB4NDA2MDAxMDAsIDB4ZmZlMDA3ZmYsIFdSXzF8UkRfQzB8TEMsCQkwLAkJMCwJCUlWSVJUNjQsIDAgfSwKKyB7ImRtZmdjMCIsCQkidCxHLEgiLAkweDQwNjAwMTAwLCAweGZmZTAwN2Y4LCBXUl8xfFJEX0MwfExDLAkJMCwJCTAsCQlJVklSVDY0LCAwIH0sCisreyJkbWZ1ciIsCQkidCxkIiwJCTB4NzAwMDAwMWUsIDB4ZmZlMDA3ZmYsIFdSXzEsCQkJMCwJCVhMUCwJCTAsCTAgfSwKKyB7ImRtdCIsCQkJIiIsCQkweDQxNjAwYmMxLCAweGZmZmZmZmZmLCBUUkFQLAkJCTAsCQkwLAkJTVQzMiwJMCB9LAorIHsiZG10IiwJCQkidCIsCQkweDQxNjAwYmMxLCAweGZmZTBmZmZmLCBXUl8xfFRSQVAsCQkwLAkJMCwJCU1UMzIsCTAgfSwKKyB7ImRtdGMwIiwJCSJ0LEciLAkJMHg0MGEwMDAwMCwgMHhmZmUwMDdmZiwJUkRfMXxXUl9DMHxXUl9DQ3xDTSwJMCwJCUkzLAkJMCwJRUUgfSwKK0BAIC0xMTEzLDYgKzExMTcsOCBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9CisgLyogZG1mYzMgaXMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgdGFibGUuICAqLworIC8qIGRtdGMzIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIHRhYmxlLiAgKi8KKyB7ImRtdWgiLAkJImQscyx0IiwJMHgwMDAwMDBkYywgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzMsCQkwLAkJSTY5LAkJMCwJMCB9LAorK3siZG10dXIiLAkJInQsZCIsCQkweDcwMDAwMDFmLCAweGZmZTAwN2ZmLAlSRF8xLAkJCTAsCQlYTFAsCQkwLAkwIH0sCisreyJkbXVsIiwJCSJkLHMsdCIsCTB4NzAwMDAwMDYsIDB4ZmMwMDA3ZmYsCVdSXzF8UkRfMnxSRF8zLAkJMCwJCVhMUCwJCTAsCTAgfSwKKyB7ImRtdWwiLAkJImQscyx0IiwJMHgwMDAwMDA5YywgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzMsCQkwLAkJSTY5LAkJMCwJMCB9LAorIHsiZG11bCIsCQkiZCx2LHQiLAkweDcwMDAwMDAzLCAweGZjMDAwN2ZmLCBXUl8xfFJEXzJ8UkRfM3xXUl9ISUxPLAkwLAkJSU9DVCwJCTAsCTAgfSwKKyB7ImRtdWwiLAkJImQsdix0IiwJMCwgICAgKGludCkgTV9ETVVMLAlJTlNOX01BQ1JPLAkJMCwJCUkzLAkJMCwJTTMyfEk2OSB9LAorQEAgLTEyNjYsOSArMTI3Miw5IEBAIGNvbnN0IHN0cnVjdCBtaXBzX29wY29kZSBtaXBzX2J1aWx0aW5fb3Bjb2Rlc1tdID0KKyB7ImxkIiwJCQkicywtYigrUikiLAkweGVjMTgwMDAwLCAweGZjMWMwMDAwLCBXUl8xLAkJCVJEX3BjLAkJSTY5LAkJMCwJMCB9LAorIHsibGQiLAkJCSJ0LEEoYikiLAkwLCAgICAoaW50KSBNX0xEX0FCLAlJTlNOX01BQ1JPLAkJMCwJCUkxLAkJMCwJMCB9LAorIHsibGQiLAkJCSJ0LG8oYikiLAkweGRjMDAwMDAwLCAweGZjMDAwMDAwLCBXUl8xfFJEXzN8TE0sCQkwLAkJSTMsCQkwLAkwIH0sCisteyJsZGFkZHciLAkJInQsYiIsCQkweDcwMDAwMDEwLCAweGZjMDBmZmZmLAlNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAorLXsibGRhZGR3dSIsCQkidCxiIiwJCTB4NzAwMDAwMTEsIDB4ZmMwMGZmZmYsCU1PRF8xfFJEXzJ8TE18U00sCTAsCQlYTFIsCQkwLAkwIH0sCisteyJsZGFkZGQiLAkJInQsYiIsCQkweDcwMDAwMDEyLCAweGZjMDBmZmZmLAlNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAorK3sibGRhZGR3IiwJCSJ0LGIiLAkJMHg3MDAwMDAxMCwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCisreyJsZGFkZHd1IiwJCSJ0LGIiLAkJMHg3MDAwMDAxMSwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCisreyJsZGFkZGQiLAkJInQsYiIsCQkweDcwMDAwMDEyLCAweGZjMDBmZmZmLAlNT0RfMXxSRF8yfFNNLAkJMCwJCVhMUnxYTFAsCTAsCTAgfSwKKyB7ImxkYzEiLAkJIlQsbyhiKSIsCTB4ZDQwMDAwMDAsIDB4ZmMwMDAwMDAsIFdSXzF8UkRfM3xDTER8RlBfRCwJMCwJCUkyLAkJMCwJU0YgfSwKKyB7ImxkYzEiLAkJIkUsbyhiKSIsCTB4ZDQwMDAwMDAsIDB4ZmMwMDAwMDAsIFdSXzF8UkRfM3xDTER8RlBfRCwJMCwJCUkyLAkJMCwJU0YgfSwKKyB7ImxkYzEiLAkJIlQsQShiKSIsCTAsICAgIChpbnQpIE1fTERDMV9BQiwJSU5TTl9NQUNSTywJCUlOU04yX01fRlBfRCwJSTIsCQkwLAlTRiB9LAorQEAgLTE0MzMsNyArMTQzOSw3IEBAIGNvbnN0IHN0cnVjdCBtaXBzX29wY29kZSBtaXBzX2J1aWx0aW5fb3Bjb2Rlc1tdID0KKyB7Im1mbG8iLAkJImQsOSIsCQkweDAwMDAwMDEyLCAweGZmOWYwN2ZmLCBXUl8xfFJEX0xPLAkJMCwJCTAsCQlEMzIsCTAgfSwKKyB7Im1mbG8xIiwJCSJkIiwJCTB4NzAwMDAwMTIsIDB4ZmZmZjA3ZmYsCVdSXzF8UkRfTE8sCQkwLAkJRUUsCQkwLAkwIH0sCisgeyJtZmxoeHUiLAkJImQiLAkJMHgwMDAwMDA1MiwgMHhmZmZmMDdmZiwJV1JfMXxNT0RfSElMTywJCTAsCQkwLAkJU01ULAkwIH0sCisteyJtZmNyIiwJCSJ0LHMiLAkJMHg3MDAwMDAxOCwgMHhmYzAwZmZmZiwgV1JfMXxSRF8yLAkJMCwJCVhMUiwJCTAsCTAgfSwKKyt7Im1mY3IiLAkJInQscyIsCQkweDcwMDAwMDE4LCAweGZjMDBmZmZmLCBXUl8xLAkJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCisgeyJtZnNhIiwJCSJkIiwJCTB4MDAwMDAwMjgsIDB4ZmZmZjA3ZmYsCVdSXzEsCQkJMCwJCUVFLAkJMCwJMCB9LAorIHsibWluLm9iIiwJCSJYLFksUSIsCTB4NzgwMDAwMDYsIDB4ZmMyMDAwM2YsCVdSXzF8UkRfMnxSRF8zfEZQX0QsCTAsCQlTQjEsCQlNWCwJMCB9LAorIHsibWluLm9iIiwJCSJELFMsUSIsCTB4NDgwMDAwMDYsIDB4ZmMyMDAwM2YsCVdSXzF8UkRfMnxSRF8zfEZQX0QsCTAsCQlONTQsCQkwLAkwIH0sCitAQCAtMTQ3OCwxMCArMTQ4NCwxMyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9CisgLyogbW92ZSBpcyBhdCB0aGUgdG9wIG9mIHRoZSB0YWJsZS4gICovCisgeyJtc2duLnFoIiwJCSJYLFksUSIsCTB4NzgyMDAwMDAsIDB4ZmMyMDAwM2YsCVdSXzF8UkRfMnxSRF8zfEZQX0QsCTAsCQkwLAkJTVgsCTAgfSwKKyB7Im1zZ3NuZCIsCQkidCIsCQkwLCAgICAoaW50KSBNX01TR1NORCwJSU5TTl9NQUNSTywJCTAsCQlYTFIsCQkwLAkwIH0sCisreyJtc2dzbmRzIiwJCSJkLHQiLAkJMHg0YTAwMDAwMSwgMHhmZmUwMDdmZiwJV1JfMXxSRF8yfFJEX0MwfFdSX0MwLAkwLAkJWExQLAkJMCwJMCB9LAorIHsibXNnbGQiLAkJIiIsIAkJMCwgICAgKGludCkgTV9NU0dMRCwJSU5TTl9NQUNSTywJCTAsCQlYTFIsCQkwLAkwIH0sCisgeyJtc2dsZCIsCQkidCIsCQkwLCAgICAoaW50KSBNX01TR0xEX1QsCUlOU05fTUFDUk8sCQkwLAkJWExSLAkJMCwJMCB9LAorLXsibXNnd2FpdCIsCQkiIiwgCQkwLCAgICAoaW50KSBNX01TR1dBSVQsCUlOU05fTUFDUk8sCQkwLAkJWExSLAkJMCwJMCB9LAorLXsibXNnd2FpdCIsCQkidCIsCQkwLCAgICAoaW50KSBNX01TR1dBSVRfVCxJTlNOX01BQ1JPLAkJMCwJCVhMUiwJCTAsCTAgfSwKKyt7Im1zZ2xkcyIsCQkiZCx0IiwJCTB4NGEwMDAwMDIsIDB4ZmZlMDA3ZmYsCVdSXzF8UkRfMnxSRF9DMHxXUl9DMCwJMCwJCVhMUCwJCTAsCTAgfSwKKyt7Im1zZ3dhaXQiLAkJIiIsCQkwLCAgICAoaW50KSBNX01TR1dBSVQsICBJTlNOX01BQ1JPLAkJMCwJCVhMUnxYTFAsCTAsCTAgfSwKKyt7Im1zZ3dhaXQiLAkJInQiLAkJMCwgICAgKGludCkgTV9NU0dXQUlUX1QsSU5TTl9NQUNSTywJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCisreyJtc2dzeW5jIiwJCSIiLAkJMHg0YTAwMDAwNCwgMHhmZmZmZmZmZiwwLAkJCTAsCQlYTFAsCQkwLAkwIH0sCisgeyJtc3ViLmQiLAkJIkQsUixTLFQiLAkweDRjMDAwMDI5LCAweGZjMDAwMDNmLCBXUl8xfFJEXzJ8UkRfM3xSRF80fEZQX0QsIDAsCQlJNF8zMywJCTAsCUkzNyB9LAorIHsibXN1Yi5kIiwJCSJELFMsVCIsCTB4NDYyMDAwMTksIDB4ZmZlMDAwM2YsCVdSXzF8UkRfMnxSRF8zfEZQX0QsCTAsCQlJTDJFLAkJMCwJMCB9LAorIHsibXN1Yi5kIiwJCSJELFMsVCIsCTB4NzIyMDAwMTksIDB4ZmZlMDAwM2YsCVdSXzF8UkRfMnxSRF8zfEZQX0QsCTAsCQlJTDJGLAkJMCwJMCB9LAorQEAgLTE1MzEsNyArMTU0MCw3IEBAIGNvbnN0IHN0cnVjdCBtaXBzX29wY29kZSBtaXBzX2J1aWx0aW5fb3Bjb2Rlc1tdID0KKyB7Im10bG8iLAkJInMsNyIsCQkweDAwMDAwMDEzLCAweGZjMWZlN2ZmLCBSRF8xfFdSX0xPLAkJMCwJCTAsCQlEMzIsCTAgfSwKKyB7Im10bG8xIiwJCSJzIiwJCTB4NzAwMDAwMTMsIDB4ZmMxZmZmZmYsCVJEXzF8V1JfTE8sCQkwLAkJRUUsCQkwLAkwIH0sCisgeyJtdGxoeCIsCQkicyIsCQkweDAwMDAwMDUzLCAweGZjMWZmZmZmLAlSRF8xfE1PRF9ISUxPLAkJMCwJCTAsCQlTTVQsCTAgfSwKKy17Im10Y3IiLAkJInQscyIsCQkweDcwMDAwMDE5LCAweGZjMDBmZmZmLCBSRF8xfFJEXzIsCQkwLAkJWExSLAkJMCwJMCB9LAorK3sibXRjciIsCQkidCxzIiwJCTB4NzAwMDAwMTksIDB4ZmMwMGZmZmYsIFJEXzEsCQkJMCwJCVhMUnxYTFAsCTAsCTAgfSwKKyB7Im10bTAiLAkJInMiLAkJMHg3MDAwMDAwOCwgMHhmYzFmZmZmZiwgUkRfMSwJCQkwLAkJSU9DVCwJCTAsCTAgfSwKKyB7Im10bTAiLCAgICAJCSJzLHQiLAkJMHg3MDAwMDAwOCwgMHhmYzAwZmZmZiwgUkRfMXxSRF8yLAkJMCwJCUlPQ1QzLAkJMCwJMCB9LAorIHsibXRtMSIsCQkicyIsCQkweDcwMDAwMDBjLCAweGZjMWZmZmZmLCBSRF8xLAkJCTAsCQlJT0NULAkJMCwJMCB9LAorQEAgLTE5NjgsOSArMTk3Nyw5IEBAIGNvbnN0IHN0cnVjdCBtaXBzX29wY29kZSBtaXBzX2J1aWx0aW5fb3Bjb2Rlc1tdID0KKyB7InN1eGMxIiwJCSJTLHQoYikiLAkweDRjMDAwMDBkLCAweGZjMDAwN2ZmLCBSRF8xfFJEXzJ8UkRfM3xTTXxGUF9ELAkwLAkJSTVfMzN8TjU1LAkwLAlJMzd9LAorIHsic3ciLAkJCSJ0LG8oYikiLAkweGFjMDAwMDAwLCAweGZjMDAwMDAwLAlSRF8xfFJEXzN8U00sCQkwLAkJSTEsCQkwLAkwIH0sCisgeyJzdyIsCQkJInQsQShiKSIsCTAsICAgIChpbnQpIE1fU1dfQUIsCUlOU05fTUFDUk8sCQkwLAkJSTEsCQkwLAkwIH0sCisteyJzd2FwdyIsCQkidCxiIiwJCTB4NzAwMDAwMTQsIDB4ZmMwMGZmZmYsIE1PRF8xfFJEXzJ8TE18U00sCTAsCQlYTFIsCQkwLAkwIH0sCisteyJzd2Fwd3UiLAkJInQsYiIsCQkweDcwMDAwMDE1LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAorLXsic3dhcGQiLAkJInQsYiIsCQkweDcwMDAwMDE2LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAorK3sic3dhcHciLAkJInQsYiIsCQkweDcwMDAwMDE0LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfFNNLAkJMCwJCVhMUnxYTFAsCTAsCTAgfSwKKyt7InN3YXB3dSIsCQkidCxiIiwJCTB4NzAwMDAwMTUsIDB4ZmMwMGZmZmYsIE1PRF8xfFJEXzJ8U00sCQkwLAkJWExSfFhMUCwJMCwJMCB9LAorK3sic3dhcGQiLAkJInQsYiIsCQkweDcwMDAwMDE2LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfFNNLAkJMCwJCVhMUnxYTFAsCTAsCTAgfSwKKyB7InN3YzAiLAkJIkUsbyhiKSIsCTB4ZTAwMDAwMDAsIDB4ZmMwMDAwMDAsCVJEXzN8UkRfQzB8U00sCQkwLAkJSTEsCQkwLAlJT0NUfElPQ1RQfElPQ1QyfEkzNyB9LAorIHsic3djMCIsCQkiRSxBKGIpIiwJMCwgICAgKGludCkgTV9TV0MwX0FCLAlJTlNOX01BQ1JPLAkJMCwJCUkxLAkJMCwJSU9DVHxJT0NUUHxJT0NUMnxJMzcgfSwKKyB7InN3YzEiLAkJIlQsbyhiKSIsCTB4ZTQwMDAwMDAsIDB4ZmMwMDAwMDAsCVJEXzF8UkRfM3xTTXxGUF9TLAkwLAkJSTEsCQkwLAkwIH0sCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDExLUNoYW5nZS1kZWZhdWx0LWVtdWxhdGlvbi1mb3ItbWlwczY0LWxpbnV4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMS1DaGFuZ2UtZGVmYXVsdC1lbXVsYXRpb24tZm9yLW1pcHM2NC1saW51eC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmU5M2IxMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDExLUNoYW5nZS1kZWZhdWx0LWVtdWxhdGlvbi1mb3ItbWlwczY0LWxpbnV4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotRnJvbSAyZDJlMmZjZGQ5NjQ2ODQ5NzE2ZWU5OWQ4ZDNlNWQ3MmFlODg4OWJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMiBNYXIgMjAxNSAwMTo0NDoxNCArMDAwMAotU3ViamVjdDogW1BBVENIIDExLzE1XSBDaGFuZ2UgZGVmYXVsdCBlbXVsYXRpb24gZm9yIG1pcHM2NCotKi1saW51eAotCi13ZSBjaGFuZ2UgdGhlIGRlZmF1bHQgZW11bGF0aW9ucyB0byBiZSBONjQgaW5zdGVhZCBvZiBOMzIKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFsgT0UgY29uZmlndXJhdGlvbiBTcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGJmZC9jb25maWcuYmZkICAgfCA4ICsrKystLS0tCi0gbGQvY29uZmlndXJlLnRndCB8IDggKysrKy0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2JmZC9jb25maWcuYmZkIGIvYmZkL2NvbmZpZy5iZmQKLWluZGV4IDYzOTFmMzU2ODQuLjhhMTFjMDY4MGEgMTAwNjQ0Ci0tLS0gYS9iZmQvY29uZmlnLmJmZAotKysrIGIvYmZkL2NvbmZpZy5iZmQKLUBAIC05MTMsMTIgKzkxMywxMiBAQCBjYXNlICIke3Rhcmd9IiBpbgotICAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfbGVfdmVjIG1pcHNfZWxmNjRfYmVfdmVjIG1pcHNfZWxmNjRfbGVfdmVjIG1pcHNfZWNvZmZfYmVfdmVjIG1pcHNfZWNvZmZfbGVfdmVjIgotICAgICA7OwotICAgbWlwczY0KmVsLSotbGludXgqKQotLSAgICB0YXJnX2RlZnZlYz1taXBzX2VsZjMyX250cmFkX2xlX3ZlYwotLSAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfbnRyYWRfYmVfdmVjIG1pcHNfZWxmMzJfdHJhZF9sZV92ZWMgbWlwc19lbGYzMl90cmFkX2JlX3ZlYyBtaXBzX2VsZjY0X3RyYWRfbGVfdmVjIG1pcHNfZWxmNjRfdHJhZF9iZV92ZWMiCi0rICAgIHRhcmdfZGVmdmVjPW1pcHNfZWxmNjRfdHJhZF9sZV92ZWMKLSsgICAgdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX250cmFkX2JlX3ZlYyBtaXBzX2VsZjMyX250cmFkX2xlX3ZlYyBtaXBzX2VsZjMyX3RyYWRfbGVfdmVjIG1pcHNfZWxmMzJfdHJhZF9iZV92ZWMgbWlwc19lbGY2NF90cmFkX2JlX3ZlYyIKLSAgICAgOzsKLSAgIG1pcHM2NCotKi1saW51eCopCi0tICAgIHRhcmdfZGVmdmVjPW1pcHNfZWxmMzJfbnRyYWRfYmVfdmVjCi0tICAgIHRhcmdfc2VsdmVjcz0ibWlwc19lbGYzMl9udHJhZF9sZV92ZWMgbWlwc19lbGYzMl90cmFkX2JlX3ZlYyBtaXBzX2VsZjMyX3RyYWRfbGVfdmVjIG1pcHNfZWxmNjRfdHJhZF9iZV92ZWMgbWlwc19lbGY2NF90cmFkX2xlX3ZlYyIKLSsgICAgdGFyZ19kZWZ2ZWM9bWlwc19lbGY2NF90cmFkX2JlX3ZlYwotKyAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfbnRyYWRfYmVfdmVjIG1pcHNfZWxmMzJfbnRyYWRfYmVfdmVjIG1pcHNfZWxmMzJfdHJhZF9iZV92ZWMgbWlwc19lbGYzMl90cmFkX2xlX3ZlYyBtaXBzX2VsZjY0X3RyYWRfbGVfdmVjIgotICAgICA7OwotICAgbWlwcyplbC0qLWxpbnV4KikKLSAgICAgdGFyZ19kZWZ2ZWM9bWlwc19lbGYzMl90cmFkX2xlX3ZlYwotZGlmZiAtLWdpdCBhL2xkL2NvbmZpZ3VyZS50Z3QgYi9sZC9jb25maWd1cmUudGd0Ci1pbmRleCBmYWQ4YjJlNWM4Li43ZmIyMTY4NTAzIDEwMDY0NAotLS0tIGEvbGQvY29uZmlndXJlLnRndAotKysrIGIvbGQvY29uZmlndXJlLnRndAotQEAgLTQ2NCwxMSArNDY0LDExIEBAIG1pcHMqZWwtKi12eHdvcmtzKikJdGFyZ19lbXVsPWVsZjMyZWxtaXB2eHdvcmtzCi0gbWlwcyotKi12eHdvcmtzKikJdGFyZ19lbXVsPWVsZjMyZWJtaXB2eHdvcmtzCi0gCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJlbG1pcHZ4d29ya3MiIDs7Ci0gbWlwcyotKi13aW5kaXNzKQl0YXJnX2VtdWw9ZWxmMzJtaXBzd2luZGlzcyA7OwotLW1pcHM2NCplbC0qLWxpbnV4LSopCXRhcmdfZW11bD1lbGYzMmx0c21pcG4zMgotLQkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyYnRzbWlwbjMyIGVsZjMybHRzbWlwIGVsZjMyYnRzbWlwIGVsZjY0bHRzbWlwIGVsZjY0YnRzbWlwIgotK21pcHM2NCplbC0qLWxpbnV4LSopCXRhcmdfZW11bD1lbGY2NGx0c21pcAotKwkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyYnRzbWlwbjMyIGVsZjMybHRzbWlwbjMyIGVsZjMybHRzbWlwIGVsZjMyYnRzbWlwIGVsZjY0YnRzbWlwIgotIAkJCXRhcmdfZXh0cmFfbGlicGF0aD0kdGFyZ19leHRyYV9lbXVscyA7OwotLW1pcHM2NCotKi1saW51eC0qKQl0YXJnX2VtdWw9ZWxmMzJidHNtaXBuMzIKLS0JCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmx0c21pcG4zMiBlbGYzMmJ0c21pcCBlbGYzMmx0c21pcCBlbGY2NGJ0c21pcCBlbGY2NGx0c21pcCIKLSttaXBzNjQqLSotbGludXgtKikJdGFyZ19lbXVsPWVsZjY0YnRzbWlwCi0rCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJidHNtaXBuMzIgZWxmMzJsdHNtaXBuMzIgZWxmMzJidHNtaXAgZWxmMzJsdHNtaXAgZWxmNjRsdHNtaXAiCi0gCQkJdGFyZ19leHRyYV9saWJwYXRoPSR0YXJnX2V4dHJhX2VtdWxzIDs7Ci0gbWlwcyplbC0qLWxpbnV4LSopCXRhcmdfZW11bD1lbGYzMmx0c21pcAotIAkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyYnRzbWlwIGVsZjMybHRzbWlwbjMyIGVsZjY0bHRzbWlwIGVsZjMyYnRzbWlwbjMyIGVsZjY0YnRzbWlwIgotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMi1BZGQtc3VwcG9ydC1mb3ItTmV0bG9naWMtWExQLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMi1BZGQtc3VwcG9ydC1mb3ItTmV0bG9naWMtWExQLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZDY0YmQ1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTItQWRkLXN1cHBvcnQtZm9yLU5ldGxvZ2ljLVhMUC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5MyArMCwwIEBACi1Gcm9tIDk2ZmY3NTcwYzI5Zjc5MmM0NjZhOTMzNTI5ZmVmZGE5YjhlOTc5OTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU3VuLCAxNCBGZWIgMjAxNiAxNzowNjoxOSArMDAwMAotU3ViamVjdDogW1BBVENIIDEyLzE1XSBBZGQgc3VwcG9ydCBmb3IgTmV0bG9naWMgWExQCi0KLVBhdGNoIEZyb206IE5lYnUgUGhpbGlwcyA8bnBoaWxpcHNAbmV0bG9naWNtaWNyby5jb20+Ci0KLVVzaW5nIHRoZSBtaXBzaXNhNjRyMm5sbSB0YXJnZXQsIGFkZCBzdXBwb3J0IGZvciBYTFAgZnJvbQotTmV0bG9naWMuIEFsc28sIHVwZGF0ZSB2ZW5kb3IgbmFtZSB0byBOTE0gd2hlcmV2ZXIgYXBwbGljYWJsZS4KLQotVXNlIDB4MDAwMDAwODAgZm9yIElOU05fWExQLCB0aGUgdmFsdWUgMHgwMDAwMDA0MCBoYXMgYWxyZWFkeSBiZWVuCi1hc3NpZ25lZCB0byBJTlNOX09DVEVPTjMKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCYW9zaGFuIFBhbmcgPGJhb3NoYW4ucGFuZ0B3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgotLS0tCi0gYmZkL2FvdXR4LmggICAgICAgICAgIHwgIDEgKwotIGJmZC9hcmNodXJlcy5jICAgICAgICB8ICAxICsKLSBiZmQvYmZkLWluMi5oICAgICAgICAgfCAgMSArCi0gYmZkL2NvbmZpZy5iZmQgICAgICAgIHwgIDUgKysrKysKLSBiZmQvY3B1LW1pcHMuYyAgICAgICAgfCAgNiArKysrLS0KLSBiZmQvZWxmeHgtbWlwcy5jICAgICAgfCAgOCArKysrKysrKwotIGJpbnV0aWxzL3JlYWRlbGYuYyAgICB8ICAxICsKLSBnYXMvY29uZmlnL3RjLW1pcHMuYyAgfCAgNCArKystCi0gZ2FzL2NvbmZpZ3VyZSAgICAgICAgIHwgIDMgKysrCi0gaW5jbHVkZS9lbGYvbWlwcy5oICAgIHwgIDEgKwotIGluY2x1ZGUvb3Bjb2RlL21pcHMuaCB8ICA2ICsrKysrKwotIGxkL2NvbmZpZ3VyZS50Z3QgICAgICB8ICAyICsrCi0gb3Bjb2Rlcy9taXBzLWRpcy5jICAgIHwgMTIgKysrKystLS0tLS0tCi0gb3Bjb2Rlcy9taXBzLW9wYy5jICAgIHwgMzEgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQotIDE0IGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYmZkL2FvdXR4LmggYi9iZmQvYW91dHguaAotaW5kZXggMDIzODQzYjBiZS4uNDYyNDZmZWMyZCAxMDA2NDQKLS0tLSBhL2JmZC9hb3V0eC5oCi0rKysgYi9iZmQvYW91dHguaAotQEAgLTc5OCw2ICs3OTgsNyBAQCBOQU1FIChhb3V0LCBtYWNoaW5lX3R5cGUpIChlbnVtIGJmZF9hcmNoaXRlY3R1cmUgYXJjaCwKLSAJY2FzZSBiZmRfbWFjaF9taXBzaXNhNjRyNjoKLSAJY2FzZSBiZmRfbWFjaF9taXBzX3NiMToKLSAJY2FzZSBiZmRfbWFjaF9taXBzX3hscjoKLSsJY2FzZSBiZmRfbWFjaF9taXBzX3hscDoKLSAJICAvKiBGSVhNRTogVGhlc2Ugc2hvdWxkIGJlIE1JUFMzLCBNSVBTNCwgTUlQUzE2LCBNSVBTMzIsIGV0Yy4gICovCi0gCSAgYXJjaF9mbGFncyA9IE1fTUlQUzI7Ci0gCSAgYnJlYWs7Ci1kaWZmIC0tZ2l0IGEvYmZkL2FyY2h1cmVzLmMgYi9iZmQvYXJjaHVyZXMuYwotaW5kZXggMjgyZTk4MzA4Ni4uYjM4YjA1ZDEzMiAxMDA2NDQKLS0tLSBhL2JmZC9hcmNodXJlcy5jCi0rKysgYi9iZmQvYXJjaHVyZXMuYwotQEAgLTE4Myw2ICsxODMsNyBAQCBERVNDUklQVElPTgotIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNfb2N0ZW9uMwkJNjUwMwotIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNfeGxyCQk4ODc2ODIJIHsqIGRlY2ltYWwgJ1hMUicuICAqfQotIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNfaW50ZXJhcHRpdl9tcjIJNzM2NTUwCSB7KiBkZWNpbWFsICdJQTInLiAgKn0KLSsuI2RlZmluZSBiZmRfbWFjaF9taXBzX3hscCAgICAgICAgICAgICAgODg3NjgwICAgeyogZGVjaW1hbCAnWExQJy4gICp9Ci0gLiNkZWZpbmUgYmZkX21hY2hfbWlwc2lzYTMyCQkzMgotIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNpc2EzMnIyCQkzMwotIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNpc2EzMnIzCQkzNAotZGlmZiAtLWdpdCBhL2JmZC9iZmQtaW4yLmggYi9iZmQvYmZkLWluMi5oCi1pbmRleCA5Mzc0NWJkM2ZkLi4zMjZlOWU0OWVkIDEwMDY0NAotLS0tIGEvYmZkL2JmZC1pbjIuaAotKysrIGIvYmZkL2JmZC1pbjIuaAotQEAgLTIwNTQsNiArMjA1NCw3IEBAIGVudW0gYmZkX2FyY2hpdGVjdHVyZQotICNkZWZpbmUgYmZkX21hY2hfbWlwc19vY3Rlb24zICAgICAgICAgIDY1MDMKLSAjZGVmaW5lIGJmZF9tYWNoX21pcHNfeGxyICAgICAgICAgICAgICA4ODc2ODIgICAvKiBkZWNpbWFsICdYTFInLiAgKi8KLSAjZGVmaW5lIGJmZF9tYWNoX21pcHNfaW50ZXJhcHRpdl9tcjIgICA3MzY1NTAgICAvKiBkZWNpbWFsICdJQTInLiAgKi8KLSsjZGVmaW5lIGJmZF9tYWNoX21pcHNfeGxwICAgICAgICAgICAgICA4ODc2ODAgICAvKiBkZWNpbWFsICdYTFAnLiAgKi8KLSAjZGVmaW5lIGJmZF9tYWNoX21pcHNpc2EzMiAgICAgICAgICAgICAzMgotICNkZWZpbmUgYmZkX21hY2hfbWlwc2lzYTMycjIgICAgICAgICAgIDMzCi0gI2RlZmluZSBiZmRfbWFjaF9taXBzaXNhMzJyMyAgICAgICAgICAgMzQKLWRpZmYgLS1naXQgYS9iZmQvY29uZmlnLmJmZCBiL2JmZC9jb25maWcuYmZkCi1pbmRleCA4YTExYzA2ODBhLi5jODgyNDIxMzQzIDEwMDY0NAotLS0tIGEvYmZkL2NvbmZpZy5iZmQKLSsrKyBiL2JmZC9jb25maWcuYmZkCi1AQCAtODk2LDYgKzg5NiwxMSBAQCBjYXNlICIke3Rhcmd9IiBpbgotICAgICB0YXJnX2RlZnZlYz1taXBzX2VsZjMyX2xlX3ZlYwotICAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfYmVfdmVjIG1pcHNfZWxmNjRfYmVfdmVjIG1pcHNfZWxmNjRfbGVfdmVjIgotICAgICA7OwotKyAgbWlwc2lzYTY0Ki0qLWVsZiopCi0rCXRhcmdfZGVmdmVjPW1pcHNfZWxmMzJfdHJhZF9iZV92ZWMKLSsJdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX3RyYWRfbGVfdmVjIG1pcHNfZWxmNjRfdHJhZF9iZV92ZWMgbWlwc19lbGY2NF90cmFkX2xlX3ZlYyIKLSsJd2FudDY0PXRydWUKLSsJOzsKLSAgIG1pcHMqLSotZWxmKiB8IG1pcHMqLSotcnRlbXMqIHwgbWlwcyotKi13aW5kaXNzIHwgbWlwcyotKi1ub25lKQotICAgICB0YXJnX2RlZnZlYz1taXBzX2VsZjMyX2JlX3ZlYwotICAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfbGVfdmVjIG1pcHNfZWxmNjRfYmVfdmVjIG1pcHNfZWxmNjRfbGVfdmVjIgotZGlmZiAtLWdpdCBhL2JmZC9jcHUtbWlwcy5jIGIvYmZkL2NwdS1taXBzLmMKLWluZGV4IGNiNTBjNjQzNzEuLjJiOWQxZDZlY2YgMTAwNjQ0Ci0tLS0gYS9iZmQvY3B1LW1pcHMuYwotKysrIGIvYmZkL2NwdS1taXBzLmMKLUBAIC0xMDUsNyArMTA1LDggQEAgZW51bQotICAgSV9taXBzb2N0ZW9uMywKLSAgIElfeGxyLAotICAgSV9pbnRlcmFwdGl2X21yMiwKLS0gIElfbWljcm9taXBzCi0rICBJX21pY3JvbWlwcywKLSsgIElfeGxwCi0gfTsKLSAKLSAjZGVmaW5lIE5OKGluZGV4KSAoJmFyY2hfaW5mb19zdHJ1Y3RbKGluZGV4KSArIDFdKQotQEAgLTE1OCw3ICsxNTksOCBAQCBzdGF0aWMgY29uc3QgYmZkX2FyY2hfaW5mb190eXBlIGFyY2hfaW5mb19zdHJ1Y3RbXSA9Ci0gICBOICg2NCwgNjQsIGJmZF9tYWNoX21pcHNfeGxyLCAibWlwczp4bHIiLAkgIEZBTFNFLCBOTihJX3hscikpLAotICAgTiAoMzIsIDMyLCBiZmRfbWFjaF9taXBzX2ludGVyYXB0aXZfbXIyLCAibWlwczppbnRlcmFwdGl2LW1yMiIsIEZBTFNFLAotICAgICAgTk4oSV9pbnRlcmFwdGl2X21yMikpLAotLSAgTiAoNjQsIDY0LCBiZmRfbWFjaF9taXBzX21pY3JvbWlwcywibWlwczptaWNyb21pcHMiLEZBTFNFLDApCi0rICBOICg2NCwgNjQsIGJmZF9tYWNoX21pcHNfbWljcm9taXBzLCJtaXBzOm1pY3JvbWlwcyIsRkFMU0UsTk4oSV9taWNyb21pcHMpKSwKLSsgIE4gKDY0LCA2NCwgYmZkX21hY2hfbWlwc194bHAsICJtaXBzOnhscCIsICAgICAgRkFMU0UsIDApCi0gfTsKLSAKLSAvKiBUaGUgZGVmYXVsdCBhcmNoaXRlY3R1cmUgaXMgbWlwczozMDAwLCBidXQgd2l0aCBhIG1hY2hpbmUgbnVtYmVyIG9mCi1kaWZmIC0tZ2l0IGEvYmZkL2VsZnh4LW1pcHMuYyBiL2JmZC9lbGZ4eC1taXBzLmMKLWluZGV4IGQ5MTk0MjMwMWMuLjVkMWJkM2YwYjEgMTAwNjQ0Ci0tLS0gYS9iZmQvZWxmeHgtbWlwcy5jCi0rKysgYi9iZmQvZWxmeHgtbWlwcy5jCi1AQCAtNjgwNSw2ICs2ODA1LDkgQEAgX2JmZF9lbGZfbWlwc19tYWNoIChmbGFnd29yZCBmbGFncykKLSAgICAgY2FzZSBFX01JUFNfTUFDSF9JQU1SMjoKLSAgICAgICByZXR1cm4gYmZkX21hY2hfbWlwc19pbnRlcmFwdGl2X21yMjsKLSAKLSsgICAgY2FzZSBFX01JUFNfTUFDSF9YTFA6Ci0rICAgICAgcmV0dXJuIGJmZF9tYWNoX21pcHNfeGxwOwotKwotICAgICBkZWZhdWx0OgotICAgICAgIHN3aXRjaCAoZmxhZ3MgJiBFRl9NSVBTX0FSQ0gpCi0gCXsKLUBAIC0xMjAwMyw2ICsxMjAwNiwxMCBAQCBtaXBzX3NldF9pc2FfZmxhZ3MgKGJmZCAqYWJmZCkKLSAgICAgICB2YWwgPSBFX01JUFNfQVJDSF82NFIyIHwgRV9NSVBTX01BQ0hfT0NURU9OMjsKLSAgICAgICBicmVhazsKLSAKLSsJY2FzZSBiZmRfbWFjaF9taXBzX3hscDoKLSsJICB2YWwgPSBFX01JUFNfQVJDSF82NFIyIHwgRV9NSVBTX01BQ0hfWExQOwotKwkgIGJyZWFrOwotKwotICAgICBjYXNlIGJmZF9tYWNoX21pcHNpc2EzMjoKLSAgICAgICB2YWwgPSBFX01JUFNfQVJDSF8zMjsKLSAgICAgICBicmVhazsKLUBAIC0xMzk5Miw2ICsxMzk5OSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbWlwc19tYWNoX2V4dGVuc2lvbiBtaXBzX21hY2hfZXh0ZW5zaW9uc1tdID0KLSAgIHsgYmZkX21hY2hfbWlwc19vY3Rlb25wLCBiZmRfbWFjaF9taXBzX29jdGVvbiB9LAotICAgeyBiZmRfbWFjaF9taXBzX29jdGVvbiwgYmZkX21hY2hfbWlwc2lzYTY0cjIgfSwKLSAgIHsgYmZkX21hY2hfbWlwc19sb29uZ3Nvbl8zYSwgYmZkX21hY2hfbWlwc2lzYTY0cjIgfSwKLSsgIHsgYmZkX21hY2hfbWlwc194bHAsIGJmZF9tYWNoX21pcHNpc2E2NHIyIH0sCi0gCi0gICAvKiBNSVBTNjQgZXh0ZW5zaW9ucy4gICovCi0gICB7IGJmZF9tYWNoX21pcHNpc2E2NHIyLCBiZmRfbWFjaF9taXBzaXNhNjQgfSwKLWRpZmYgLS1naXQgYS9iaW51dGlscy9yZWFkZWxmLmMgYi9iaW51dGlscy9yZWFkZWxmLmMKLWluZGV4IDJiNzhkYjIxOWIuLjdhNzE3ODkyNWYgMTAwNjQ0Ci0tLS0gYS9iaW51dGlscy9yZWFkZWxmLmMKLSsrKyBiL2JpbnV0aWxzL3JlYWRlbGYuYwotQEAgLTM0MDMsNiArMzQwMyw3IEBAIGdldF9tYWNoaW5lX2ZsYWdzIChGaWxlZGF0YSAqIGZpbGVkYXRhLCB1bnNpZ25lZCBlX2ZsYWdzLCB1bnNpZ25lZCBlX21hY2hpbmUpCi0gCSAgICBjYXNlIEVfTUlQU19NQUNIX09DVEVPTjM6IHN0cmNhdCAoYnVmLCAiLCBvY3Rlb24zIik7IGJyZWFrOwotIAkgICAgY2FzZSBFX01JUFNfTUFDSF9YTFI6ICBzdHJjYXQgKGJ1ZiwgIiwgeGxyIik7IGJyZWFrOwotIAkgICAgY2FzZSBFX01JUFNfTUFDSF9JQU1SMjogIHN0cmNhdCAoYnVmLCAiLCBpbnRlcmFwdGl2LW1yMiIpOyBicmVhazsKLSsJICAgIGNhc2UgRV9NSVBTX01BQ0hfWExQOiAgc3RyY2F0IChidWYsICIsIHhscCIpOyBicmVhazsKLSAJICAgIGNhc2UgMDoKLSAJICAgIC8qIFdlIHNpbXBseSBpZ25vcmUgdGhlIGZpZWxkIGluIHRoaXMgY2FzZSB0byBhdm9pZCBjb25mdXNpb246Ci0gCSAgICAgICBNSVBTIEVMRiBkb2VzIG5vdCBzcGVjaWZ5IEVGX01JUFNfTUFDSCwgaXQgaXMgYSBHTlUKLWRpZmYgLS1naXQgYS9nYXMvY29uZmlnL3RjLW1pcHMuYyBiL2dhcy9jb25maWcvdGMtbWlwcy5jCi1pbmRleCA1OWRmNzg3MTU1Li40ODUzNzIyNmMwIDEwMDY0NAotLS0tIGEvZ2FzL2NvbmZpZy90Yy1taXBzLmMKLSsrKyBiL2dhcy9jb25maWcvdGMtbWlwcy5jCi1AQCAtNTUyLDYgKzU1Miw3IEBAIHN0YXRpYyBpbnQgbWlwc18zMmJpdG1vZGUgPSAwOwotICAgIHx8IG1pcHNfb3B0cy5hcmNoID09IENQVV9STTcwMDAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfVlI1NTAwICAgICAgICAgICAgICAgICAgICBcCi0gICAgfHwgbWlwc19vcHRzLm1pY3JvbWlwcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotKyAgIHx8IG1pcHNfb3B0cy5hcmNoID09IENQVV9YTFAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICApCi0gCi0gLyogV2hldGhlciB0aGUgcHJvY2Vzc29yIHVzZXMgaGFyZHdhcmUgaW50ZXJsb2NrcyB0byBwcm90ZWN0IHJlYWRzCi1AQCAtNTgxLDYgKzU4Miw3IEBAIHN0YXRpYyBpbnQgbWlwc18zMmJpdG1vZGUgPSAwOwotICAgICAmJiBtaXBzX29wdHMuaXNhICE9IElTQV9NSVBTMykgICAgICAgICAgICAgICAgICAgIFwKLSAgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfUjQzMDAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfHwgbWlwc19vcHRzLm1pY3JvbWlwcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotKyAgIHx8IG1pcHNfb3B0cy5hcmNoID09IENQVV9YTFAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICApCi0gCi0gLyogV2hldGhlciB0aGUgcHJvY2Vzc29yIHVzZXMgaGFyZHdhcmUgaW50ZXJsb2NrcyB0byBwcm90ZWN0IHJlYWRzCi1AQCAtMTk3NzgsNyArMTk3ODAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG1pcHNfY3B1X2luZm8gbWlwc19jcHVfaW5mb190YWJsZVtdID0KLSAgIC8qIEJyb2FkY29tIFhMUC4KLSAgICAgIFhMUCBpcyBtb3N0bHkgbGlrZSBYTFIsIHdpdGggdGhlIHByb21pbmVudCBleGNlcHRpb24gdGhhdCBpdCBpcwotICAgICAgTUlQUzY0UjIgcmF0aGVyIHRoYW4gTUlQUzY0LiAgKi8KLS0gIHsgInhscCIsCSAgICAgIDAsIDAsCQkJSVNBX01JUFM2NFIyLCBDUFVfWExSIH0sCi0rICB7ICJ4bHAiLAkgICAgICAwLCAwLAkJCUlTQV9NSVBTNjRSMiwgQ1BVX1hMUCB9LAotIAotICAgLyogTUlQUyA2NCBSZWxlYXNlIDYgKi8KLSAgIHsgImk2NDAwIiwJICAgICAgMCwgQVNFX01TQSwJCUlTQV9NSVBTNjRSNiwgQ1BVX01JUFM2NFI2fSwKLWRpZmYgLS1naXQgYS9nYXMvY29uZmlndXJlIGIvZ2FzL2NvbmZpZ3VyZQotaW5kZXggMTM0Mjc4ZmEyNS4uMmZkY2ExNDdhMSAxMDA3NTUKLS0tLSBhL2dhcy9jb25maWd1cmUKLSsrKyBiL2dhcy9jb25maWd1cmUKLUBAIC0xMzMzNiw2ICsxMzMzNiw5IEBAIF9BQ0VPRgotIAkgIG1pcHNpc2E2NHI2IHwgbWlwc2lzYTY0cjZlbCkKLSAJICAgIG1pcHNfY3B1PW1pcHM2NHI2Ci0gCSAgICA7OwotKwkgIG1pcHNpc2E2NHIybmxtIHwgbWlwc2lzYTY0cjJubG1lbCkKLSsJCW1pcHNfY3B1PXhscAotKwkJOzsKLSAJICBtaXBzdHgzOSB8IG1pcHN0eDM5ZWwpCi0gCSAgICBtaXBzX2NwdT1yMzkwMAotIAkgICAgOzsKLWRpZmYgLS1naXQgYS9pbmNsdWRlL2VsZi9taXBzLmggYi9pbmNsdWRlL2VsZi9taXBzLmgKLWluZGV4IDRlMmNkZTMyNzkuLmMzMjlmMzg5MjkgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL2VsZi9taXBzLmgKLSsrKyBiL2luY2x1ZGUvZWxmL21pcHMuaAotQEAgLTI5MCw2ICsyOTAsNyBAQCBFTkRfUkVMT0NfTlVNQkVSUyAoUl9NSVBTX21heGV4dCkKLSAjZGVmaW5lIEVfTUlQU19NQUNIX1NCMSAgICAgICAgIDB4MDA4YTAwMDAKLSAjZGVmaW5lIEVfTUlQU19NQUNIX09DVEVPTgkweDAwOGIwMDAwCi0gI2RlZmluZSBFX01JUFNfTUFDSF9YTFIgICAgIAkweDAwOGMwMDAwCi0rI2RlZmluZSBFX01JUFNfTUFDSF9YTFAgICAgICAgICAweDAwOGYwMDAwCi0gI2RlZmluZSBFX01JUFNfTUFDSF9PQ1RFT04yCTB4MDA4ZDAwMDAKLSAjZGVmaW5lIEVfTUlQU19NQUNIX09DVEVPTjMJMHgwMDhlMDAwMAotICNkZWZpbmUgRV9NSVBTX01BQ0hfNTQwMAkweDAwOTEwMDAwCi1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9vcGNvZGUvbWlwcy5oIGIvaW5jbHVkZS9vcGNvZGUvbWlwcy5oCi1pbmRleCAxYWIxNzgwNTY3Li43NGY0NTdiNTc5IDEwMDY0NAotLS0tIGEvaW5jbHVkZS9vcGNvZGUvbWlwcy5oCi0rKysgYi9pbmNsdWRlL29wY29kZS9taXBzLmgKLUBAIC0xMjYyLDYgKzEyNjIsOCBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG1pcHNfaXNhX3RhYmxlW10gPSB7Ci0gI2RlZmluZSBJTlNOX1hMUiAgICAgICAgICAgICAgICAgMHgwMDAwMDAyMAotIC8qIEltYWdpbmF0aW9uIGludGVyQXB0aXYgTVIyLiAgKi8KLSAjZGVmaW5lIElOU05fSU5URVJBUFRJVl9NUjIJICAweDA0MDAwMDAwCi0rLyogTmV0bG9naWMgWGxQIGluc3RydWN0aW9uICovCi0rI2RlZmluZSBJTlNOX1hMUAkJMHgwMDAwMDA4MAotIAotIC8qIERTUCBBU0UgKi8KLSAjZGVmaW5lIEFTRV9EU1AJCQkweDAwMDAwMDAxCi1AQCAtMTM3Myw2ICsxMzc1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBtaXBzX2lzYV90YWJsZVtdID0gewotICNkZWZpbmUgQ1BVX09DVEVPTjMJNjUwMwotICNkZWZpbmUgQ1BVX1hMUiAgICAgCTg4NzY4MiAgIAkvKiBkZWNpbWFsICdYTFInICAgKi8KLSAjZGVmaW5lIENQVV9JTlRFUkFQVElWX01SMiA3MzY1NTAJLyogZGVjaW1hbCAnSUEyJyAgKi8KLSsjZGVmaW5lIENQVV9YTFAgICAgICAgICA4ODc2ODAgICAgICAvKiBkZWNpbWFsICdYTFAnICAgKi8KLSAKLSAvKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgZ2l2ZW4gQ1BVIGlzIGluY2x1ZGVkIGluIElOU05fKiBtYXNrIE1BU0suICAqLwotIAotQEAgLTE0NTMsNiArMTQ1Niw5IEBAIGNwdV9pc19tZW1iZXIgKGludCBjcHUsIHVuc2lnbmVkIGludCBtYXNrKQotICAgICAgIHJldHVybiAoKG1hc2sgJiBJTlNOX0lTQV9NQVNLKSA9PSBJTlNOX0lTQTMyUjYpCi0gCSAgICAgfHwgKChtYXNrICYgSU5TTl9JU0FfTUFTSykgPT0gSU5TTl9JU0E2NFI2KTsKLSAKLSsgICAgY2FzZSBDUFVfWExQOgotKyAgICAgIHJldHVybiAobWFzayAmIElOU05fWExQKSAhPSAwOwotKwotICAgICBkZWZhdWx0OgotICAgICAgIHJldHVybiBGQUxTRTsKLSAgICAgfQotZGlmZiAtLWdpdCBhL2xkL2NvbmZpZ3VyZS50Z3QgYi9sZC9jb25maWd1cmUudGd0Ci1pbmRleCA3ZmIyMTY4NTAzLi5hMWRiN2FkZmUyIDEwMDY0NAotLS0tIGEvbGQvY29uZmlndXJlLnRndAotKysrIGIvbGQvY29uZmlndXJlLnRndAotQEAgLTQ1MCw2ICs0NTAsOCBAQCBtaXBzKmVsLXNkZS1lbGYqIHwgbWlwcyplbC1tdGktZWxmKiB8IG1pcHMqZWwtaW1nLWVsZiopCi0gbWlwcyotc2RlLWVsZiogfCBtaXBzKi1tdGktZWxmKiB8IG1pcHMqLWltZy1lbGYqKQotIAkJCXRhcmdfZW11bD1lbGYzMmJ0c21pcAotIAkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMybHRzbWlwIGVsZjMyYnRzbWlwbjMyIGVsZjY0YnRzbWlwIGVsZjMybHRzbWlwbjMyIGVsZjY0bHRzbWlwIiA7OwotK21pcHNpc2E2NCotKi1lbGYqKQl0YXJnX2VtdWw9ZWxmMzJidHNtaXAKLSsJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmx0c21pcCBlbGY2NGJ0c21pcCBlbGY2NGx0c21pcCIgOzsKLSBtaXBzNjQqZWwtcHMyLWVsZiopCXRhcmdfZW11bD1lbGYzMmxyNTkwMG4zMgotIAkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMybHI1OTAwIgotIAkJCXRhcmdfZXh0cmFfbGlicGF0aD0kdGFyZ19leHRyYV9lbXVscyA7OwotZGlmZiAtLWdpdCBhL29wY29kZXMvbWlwcy1kaXMuYyBiL29wY29kZXMvbWlwcy1kaXMuYwotaW5kZXggYmJmMjEzMjhlOC4uMzhlNDg3YzE2ZiAxMDA2NDQKLS0tLSBhL29wY29kZXMvbWlwcy1kaXMuYwotKysrIGIvb3Bjb2Rlcy9taXBzLWRpcy5jCi1AQCAtNjU2LDEzICs2NTYsMTEgQEAgY29uc3Qgc3RydWN0IG1pcHNfYXJjaF9jaG9pY2UgbWlwc19hcmNoX2Nob2ljZXNbXSA9Ci0gICAgIG1pcHNfY3Awc2VsX25hbWVzX3hsciwgQVJSQVlfU0laRSAobWlwc19jcDBzZWxfbmFtZXNfeGxyKSwKLSAgICAgbWlwc19jcDFfbmFtZXNfbWlwczMyNjQsIG1pcHNfaHdyX25hbWVzX251bWVyaWMgfSwKLSAKLS0gIC8qIFhMUCBpcyBtb3N0bHkgbGlrZSBYTFIsIHdpdGggdGhlIHByb21pbmVudCBleGNlcHRpb24gaXQgaXMgYmVpbmcKLS0gICAgIE1JUFM2NFIyLiAgKi8KLS0gIHsgInhscCIsIDEsIGJmZF9tYWNoX21pcHNfeGxyLCBDUFVfWExSLAotLSAgICBJU0FfTUlQUzY0UjIgfCBJTlNOX1hMUiwgMCwKLS0gICAgbWlwc19jcDBfbmFtZXNfeGxyLAotLSAgICBtaXBzX2NwMHNlbF9uYW1lc194bHIsIEFSUkFZX1NJWkUgKG1pcHNfY3Awc2VsX25hbWVzX3hsciksCi0tICAgIG1pcHNfY3AxX25hbWVzX21pcHMzMjY0LCBtaXBzX2h3cl9uYW1lc19udW1lcmljIH0sCi0rICB7ICJ4bHAiLCAxLCBiZmRfbWFjaF9taXBzX3hscCwgQ1BVX1hMUCwKLSsgICAgSVNBX01JUFM2NFIyIHwgSU5TTl9YTFAsIDAsCi0rICAgIG1pcHNfY3AwX25hbWVzX21pcHMzMjY0cjIsCi0rICAgIG1pcHNfY3Awc2VsX25hbWVzX21pcHMzMjY0cjIsIEFSUkFZX1NJWkUgKG1pcHNfY3Awc2VsX25hbWVzX21pcHMzMjY0cjIpLAotKyAgICBtaXBzX2NwMV9uYW1lc19taXBzMzI2NCwgbWlwc19od3JfbmFtZXNfbWlwczMyNjRyMiB9LAotIAotICAgLyogVGhpcyBlbnRyeSwgbWlwczE2LCBpcyBoZXJlIG9ubHkgZm9yIElTQS9wcm9jZXNzb3Igc2VsZWN0aW9uOyBkbwotICAgICAgbm90IHByaW50IGl0cyBuYW1lLiAgKi8KLWRpZmYgLS1naXQgYS9vcGNvZGVzL21pcHMtb3BjLmMgYi9vcGNvZGVzL21pcHMtb3BjLmMKLWluZGV4IDFjYmNiYzZhYmMuLmUxZmJkYzg5ZGUgMTAwNjQ0Ci0tLS0gYS9vcGNvZGVzL21pcHMtb3BjLmMKLSsrKyBiL29wY29kZXMvbWlwcy1vcGMuYwotQEAgLTMyOSw2ICszMjksNyBAQCBkZWNvZGVfbWlwc19vcGVyYW5kIChjb25zdCBjaGFyICpwKQotICNkZWZpbmUgSU9DVDMJSU5TTl9PQ1RFT04zCi0gI2RlZmluZSBYTFIgICAgIElOU05fWExSCi0gI2RlZmluZSBJQU1SMglJTlNOX0lOVEVSQVBUSVZfTVIyCi0rI2RlZmluZSBYTFAJSU5TTl9YTFAKLSAjZGVmaW5lIElWSVJUCUFTRV9WSVJUCi0gI2RlZmluZSBJVklSVDY0CUFTRV9WSVJUNjQKLSAKLUBAIC05NzQsNiArOTc1LDcgQEAgY29uc3Qgc3RydWN0IG1pcHNfb3Bjb2RlIG1pcHNfYnVpbHRpbl9vcGNvZGVzW10gPQotIHsiY2xvIiwJCQkiVSxzIiwJCTB4NzAwMDAwMjEsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMiwJCTAsCQlJMzJ8TjU1LAkwLAlJMzcgfSwKLSB7ImNseiIsCQkJImQscyIsCQkweDAwMDAwMDUwLCAweGZjMWYwN2ZmLCBXUl8xfFJEXzIsCQkwLAkJSTM3LAkJMCwJMCB9LAotIHsiY2x6IiwJCQkiVSxzIiwJCTB4NzAwMDAwMjAsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMiwJCTAsCQlJMzJ8TjU1LAkwLAlJMzcgfSwKLSt7ImNyYyIsCQkJImQscyx0IiwJMHg3MDAwMDAxYywgMHhmYzAwMDdmZiwJV1JfMXxSRF8yfFJEXzMsCTAsCQlYTFAsIAkJMCwJMCB9LAotIC8qIGN0YzAgaXMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgdGFibGUuICAqLwotIHsiY3RjMSIsCQkidCxHIiwJCTB4NDRjMDAwMDAsIDB4ZmZlMDA3ZmYsCVJEXzF8V1JfQ0N8Q00sCQkwLAkJSTEsCQkwLAkwIH0sCi0geyJjdGMxIiwJCSJ0LFMiLAkJMHg0NGMwMDAwMCwgMHhmZmUwMDdmZiwJUkRfMXxXUl9DQ3xDTSwJCTAsCQlJMSwJCTAsCTAgfSwKLUBAIC0xMDA2LDEyICsxMDA4LDEzIEBAIGNvbnN0IHN0cnVjdCBtaXBzX29wY29kZSBtaXBzX2J1aWx0aW5fb3Bjb2Rlc1tdID0KLSB7ImRhZGRpdSIsCQkidCxyLGoiLAkweDY0MDAwMDAwLCAweGZjMDAwMDAwLCBXUl8xfFJEXzIsCQkwLAkJSTMsCQkwLAkwIH0sCi0geyJkYWRkdSIsCQkiZCx2LHQiLAkweDAwMDAwMDJkLCAweGZjMDAwN2ZmLCBXUl8xfFJEXzJ8UkRfMywJCTAsCQlJMywJCTAsCTAgfSwKLSB7ImRhZGR1IiwJCSJ0LHIsSSIsCTAsICAgIChpbnQpIE1fREFERFVfSSwJSU5TTl9NQUNSTywJCTAsCQlJMywJCTAsCTAgfSwKLS17ImRhZGR3YyIsCQkiZCxzLHQiLCAJMHg3MDAwMDAzOCwgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzN8V1JfQzB8UkRfQzAsIDAsCQlYTFIsCQkwLAkwIH0sCi0reyJkYWRkd2MiLAkJImQscyx0IiwgCTB4NzAwMDAwMzgsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zfFdSX0MwfFJEX0MwLCAwLAkJWExSfFhMUCwJMCwJMCB9LAotIHsiZGJyZWFrIiwJCSIiLAkJMHg3MDAwMDAzZiwgMHhmZmZmZmZmZiwJMCwJCQkwLAkJTjUsCQkwLAkwIH0sCi0geyJkY2xvIiwJCSJkLHMiLAkJMHgwMDAwMDA1MywgMHhmYzFmMDdmZiwgV1JfMXxSRF8yLAkJMCwJCUk2OSwJCTAsCTAgfSwKLSB7ImRjbG8iLAkJIlUscyIsCSAJMHg3MDAwMDAyNSwgMHhmYzAwMDdmZiwgV1JfMXxSRF8yLCAJMCwJCUk2NHxONTUsCTAsCUk2OSB9LAotIHsiZGNseiIsCQkiZCxzIiwJCTB4MDAwMDAwNTIsIDB4ZmMxZjA3ZmYsIFdSXzF8UkRfMiwJCTAsCQlJNjksCQkwLAkwIH0sCi0geyJkY2x6IiwJCSJVLHMiLAkgCTB4NzAwMDAwMjQsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMiwgCTAsCQlJNjR8TjU1LAkwLAlJNjkgfSwKLSt7ImRjcmMiLAkJImQscyx0IiwJMHg3MDAwMDAxZCwgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzMsCTAsCQlYTFAsIAkJMCwJMCB9LAotIC8qIGRjdHIgYW5kIGRjdHcgYXJlIHVzZWQgb24gdGhlIHI1MDAwLiAgKi8KLSB7ImRjdHIiLAkJIm8oYikiLAkgCTB4YmMwNTAwMDAsIDB4ZmMxZjAwMDAsIFJEXzIsCQkJMCwJCUkzLAkJMCwJMCB9LAotIHsiZGN0dyIsCQkibyhiKSIsCQkweGJjMDkwMDAwLCAweGZjMWYwMDAwLCBSRF8yLAkJCTAsCQlJMywJCTAsCTAgfSwKLUBAIC0xMDgzLDYgKzEwODYsNyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9Ci0geyJkbWZjMCIsCQkidCxHLEgiLAkweDQwMjAwMDAwLCAweGZmZTAwN2Y4LAlXUl8xfFJEX0MwfExDLAkJMCwJCUk2NCwJCTAsCTAgfSwKLSB7ImRtZmdjMCIsCQkidCxHIiwJCTB4NDA2MDAxMDAsIDB4ZmZlMDA3ZmYsIFdSXzF8UkRfQzB8TEMsCQkwLAkJMCwJCUlWSVJUNjQsIDAgfSwKLSB7ImRtZmdjMCIsCQkidCxHLEgiLAkweDQwNjAwMTAwLCAweGZmZTAwN2Y4LCBXUl8xfFJEX0MwfExDLAkJMCwJCTAsCQlJVklSVDY0LCAwIH0sCi0reyJkbWZ1ciIsCQkidCxkIiwJCTB4NzAwMDAwMWUsIDB4ZmZlMDA3ZmYsIFdSXzEsCQkJMCwJCVhMUCwJCTAsCTAgfSwKLSB7ImRtdCIsCQkJIiIsCQkweDQxNjAwYmMxLCAweGZmZmZmZmZmLCBUUkFQLAkJCTAsCQkwLAkJTVQzMiwJMCB9LAotIHsiZG10IiwJCQkidCIsCQkweDQxNjAwYmMxLCAweGZmZTBmZmZmLCBXUl8xfFRSQVAsCQkwLAkJMCwJCU1UMzIsCTAgfSwKLSB7ImRtdGMwIiwJCSJ0LEciLAkJMHg0MGEwMDAwMCwgMHhmZmUwMDdmZiwJUkRfMXxXUl9DMHxXUl9DQ3xDTSwJMCwJCUkzLAkJMCwJRUUgfSwKLUBAIC0xMDk4LDYgKzExMDIsOCBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9Ci0gLyogZG1mYzMgaXMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgdGFibGUuICAqLwotIC8qIGRtdGMzIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIHRhYmxlLiAgKi8KLSB7ImRtdWgiLAkJImQscyx0IiwJMHgwMDAwMDBkYywgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzMsCQkwLAkJSTY5LAkJMCwJMCB9LAotK3siZG10dXIiLAkJInQsZCIsCQkweDcwMDAwMDFmLCAweGZmZTAwN2ZmLAlSRF8xLAkJCTAsCQlYTFAsCQkwLAkwIH0sCi0reyJkbXVsIiwJCSJkLHMsdCIsCTB4NzAwMDAwMDYsIDB4ZmMwMDA3ZmYsCVdSXzF8UkRfMnxSRF8zLAkJMCwJCVhMUCwJCTAsCTAgfSwKLSB7ImRtdWwiLAkJImQscyx0IiwJMHgwMDAwMDA5YywgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzMsCQkwLAkJSTY5LAkJMCwJMCB9LAotIHsiZG11bCIsCQkiZCx2LHQiLAkweDcwMDAwMDAzLCAweGZjMDAwN2ZmLCBXUl8xfFJEXzJ8UkRfM3xXUl9ISUxPLAkwLAkJSU9DVCwJCTAsCTAgfSwKLSB7ImRtdWwiLAkJImQsdix0IiwJMCwgICAgKGludCkgTV9ETVVMLAlJTlNOX01BQ1JPLAkJMCwJCUkzLAkJMCwJTTMyfEk2OSB9LAotQEAgLTEyNTEsOSArMTI1Nyw5IEBAIGNvbnN0IHN0cnVjdCBtaXBzX29wY29kZSBtaXBzX2J1aWx0aW5fb3Bjb2Rlc1tdID0KLSB7ImxkIiwJCQkicywtYigrUikiLAkweGVjMTgwMDAwLCAweGZjMWMwMDAwLCBXUl8xLAkJCVJEX3BjLAkJSTY5LAkJMCwJMCB9LAotIHsibGQiLAkJCSJ0LEEoYikiLAkwLCAgICAoaW50KSBNX0xEX0FCLAlJTlNOX01BQ1JPLAkJMCwJCUkxLAkJMCwJMCB9LAotIHsibGQiLAkJCSJ0LG8oYikiLAkweGRjMDAwMDAwLCAweGZjMDAwMDAwLCBXUl8xfFJEXzN8TE0sCQkwLAkJSTMsCQkwLAkwIH0sCi0teyJsZGFkZHciLAkJInQsYiIsCQkweDcwMDAwMDEwLCAweGZjMDBmZmZmLAlNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAotLXsibGRhZGR3dSIsCQkidCxiIiwJCTB4NzAwMDAwMTEsIDB4ZmMwMGZmZmYsCU1PRF8xfFJEXzJ8TE18U00sCTAsCQlYTFIsCQkwLAkwIH0sCi0teyJsZGFkZGQiLAkJInQsYiIsCQkweDcwMDAwMDEyLCAweGZjMDBmZmZmLAlNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAotK3sibGRhZGR3IiwJCSJ0LGIiLAkJMHg3MDAwMDAxMCwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCi0reyJsZGFkZHd1IiwJCSJ0LGIiLAkJMHg3MDAwMDAxMSwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCi0reyJsZGFkZGQiLAkJInQsYiIsCQkweDcwMDAwMDEyLCAweGZjMDBmZmZmLAlNT0RfMXxSRF8yfFNNLAkJMCwJCVhMUnxYTFAsCTAsCTAgfSwKLSB7ImxkYzEiLAkJIlQsbyhiKSIsCTB4ZDQwMDAwMDAsIDB4ZmMwMDAwMDAsIFdSXzF8UkRfM3xDTER8RlBfRCwJMCwJCUkyLAkJMCwJU0YgfSwKLSB7ImxkYzEiLAkJIkUsbyhiKSIsCTB4ZDQwMDAwMDAsIDB4ZmMwMDAwMDAsIFdSXzF8UkRfM3xDTER8RlBfRCwJMCwJCUkyLAkJMCwJU0YgfSwKLSB7ImxkYzEiLAkJIlQsQShiKSIsCTAsICAgIChpbnQpIE1fTERDMV9BQiwJSU5TTl9NQUNSTywJCUlOU04yX01fRlBfRCwJSTIsCQkwLAlTRiB9LAotQEAgLTE0MTgsNyArMTQyNCw3IEBAIGNvbnN0IHN0cnVjdCBtaXBzX29wY29kZSBtaXBzX2J1aWx0aW5fb3Bjb2Rlc1tdID0KLSB7Im1mbG8iLAkJImQsOSIsCQkweDAwMDAwMDEyLCAweGZmOWYwN2ZmLCBXUl8xfFJEX0xPLAkJMCwJCTAsCQlEMzIsCTAgfSwKLSB7Im1mbG8xIiwJCSJkIiwJCTB4NzAwMDAwMTIsIDB4ZmZmZjA3ZmYsCVdSXzF8UkRfTE8sCQkwLAkJRUUsCQkwLAkwIH0sCi0geyJtZmxoeHUiLAkJImQiLAkJMHgwMDAwMDA1MiwgMHhmZmZmMDdmZiwJV1JfMXxNT0RfSElMTywJCTAsCQkwLAkJU01ULAkwIH0sCi0teyJtZmNyIiwJCSJ0LHMiLAkJMHg3MDAwMDAxOCwgMHhmYzAwZmZmZiwgV1JfMXxSRF8yLAkJMCwJCVhMUiwJCTAsCTAgfSwKLSt7Im1mY3IiLAkJInQscyIsCQkweDcwMDAwMDE4LCAweGZjMDBmZmZmLCBXUl8xLAkJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCi0geyJtZnNhIiwJCSJkIiwJCTB4MDAwMDAwMjgsIDB4ZmZmZjA3ZmYsCVdSXzEsCQkJMCwJCUVFLAkJMCwJMCB9LAotIHsibWluLm9iIiwJCSJYLFksUSIsCTB4NzgwMDAwMDYsIDB4ZmMyMDAwM2YsCVdSXzF8UkRfMnxSRF8zfEZQX0QsCTAsCQlTQjEsCQlNWCwJMCB9LAotIHsibWluLm9iIiwJCSJELFMsUSIsCTB4NDgwMDAwMDYsIDB4ZmMyMDAwM2YsCVdSXzF8UkRfMnxSRF8zfEZQX0QsCTAsCQlONTQsCQkwLAkwIH0sCi1AQCAtMTQ2MywxMCArMTQ2OSwxMyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9Ci0gLyogbW92ZSBpcyBhdCB0aGUgdG9wIG9mIHRoZSB0YWJsZS4gICovCi0geyJtc2duLnFoIiwJCSJYLFksUSIsCTB4NzgyMDAwMDAsIDB4ZmMyMDAwM2YsCVdSXzF8UkRfMnxSRF8zfEZQX0QsCTAsCQkwLAkJTVgsCTAgfSwKLSB7Im1zZ3NuZCIsCQkidCIsCQkwLCAgICAoaW50KSBNX01TR1NORCwJSU5TTl9NQUNSTywJCTAsCQlYTFIsCQkwLAkwIH0sCi0reyJtc2dzbmRzIiwJCSJkLHQiLAkJMHg0YTAwMDAwMSwgMHhmZmUwMDdmZiwJV1JfMXxSRF8yfFJEX0MwfFdSX0MwLAkwLAkJWExQLAkJMCwJMCB9LAotIHsibXNnbGQiLAkJIiIsIAkJMCwgICAgKGludCkgTV9NU0dMRCwJSU5TTl9NQUNSTywJCTAsCQlYTFIsCQkwLAkwIH0sCi0geyJtc2dsZCIsCQkidCIsCQkwLCAgICAoaW50KSBNX01TR0xEX1QsCUlOU05fTUFDUk8sCQkwLAkJWExSLAkJMCwJMCB9LAotLXsibXNnd2FpdCIsCQkiIiwgCQkwLCAgICAoaW50KSBNX01TR1dBSVQsCUlOU05fTUFDUk8sCQkwLAkJWExSLAkJMCwJMCB9LAotLXsibXNnd2FpdCIsCQkidCIsCQkwLCAgICAoaW50KSBNX01TR1dBSVRfVCxJTlNOX01BQ1JPLAkJMCwJCVhMUiwJCTAsCTAgfSwKLSt7Im1zZ2xkcyIsCQkiZCx0IiwJCTB4NGEwMDAwMDIsIDB4ZmZlMDA3ZmYsCVdSXzF8UkRfMnxSRF9DMHxXUl9DMCwJMCwJCVhMUCwJCTAsCTAgfSwKLSt7Im1zZ3dhaXQiLAkJIiIsCQkwLCAgICAoaW50KSBNX01TR1dBSVQsICBJTlNOX01BQ1JPLAkJMCwJCVhMUnxYTFAsCTAsCTAgfSwKLSt7Im1zZ3dhaXQiLAkJInQiLAkJMCwgICAgKGludCkgTV9NU0dXQUlUX1QsSU5TTl9NQUNSTywJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCi0reyJtc2dzeW5jIiwJCSIiLAkJMHg0YTAwMDAwNCwgMHhmZmZmZmZmZiwwLAkJCTAsCQlYTFAsCQkwLAkwIH0sCi0geyJtc3ViLmQiLAkJIkQsUixTLFQiLAkweDRjMDAwMDI5LCAweGZjMDAwMDNmLCBXUl8xfFJEXzJ8UkRfM3xSRF80fEZQX0QsIDAsCQlJNF8zMywJCTAsCUkzNyB9LAotIHsibXN1Yi5kIiwJCSJELFMsVCIsCTB4NDYyMDAwMTksIDB4ZmZlMDAwM2YsCVdSXzF8UkRfMnxSRF8zfEZQX0QsCTAsCQlJTDJFLAkJMCwJMCB9LAotIHsibXN1Yi5kIiwJCSJELFMsVCIsCTB4NzIyMDAwMTksIDB4ZmZlMDAwM2YsCVdSXzF8UkRfMnxSRF8zfEZQX0QsCTAsCQlJTDJGLAkJMCwJMCB9LAotQEAgLTE1MTYsNyArMTUyNSw3IEBAIGNvbnN0IHN0cnVjdCBtaXBzX29wY29kZSBtaXBzX2J1aWx0aW5fb3Bjb2Rlc1tdID0KLSB7Im10bG8iLAkJInMsNyIsCQkweDAwMDAwMDEzLCAweGZjMWZlN2ZmLCBSRF8xfFdSX0xPLAkJMCwJCTAsCQlEMzIsCTAgfSwKLSB7Im10bG8xIiwJCSJzIiwJCTB4NzAwMDAwMTMsIDB4ZmMxZmZmZmYsCVJEXzF8V1JfTE8sCQkwLAkJRUUsCQkwLAkwIH0sCi0geyJtdGxoeCIsCQkicyIsCQkweDAwMDAwMDUzLCAweGZjMWZmZmZmLAlSRF8xfE1PRF9ISUxPLAkJMCwJCTAsCQlTTVQsCTAgfSwKLS17Im10Y3IiLAkJInQscyIsCQkweDcwMDAwMDE5LCAweGZjMDBmZmZmLCBSRF8xfFJEXzIsCQkwLAkJWExSLAkJMCwJMCB9LAotK3sibXRjciIsCQkidCxzIiwJCTB4NzAwMDAwMTksIDB4ZmMwMGZmZmYsIFJEXzEsCQkJMCwJCVhMUnxYTFAsCTAsCTAgfSwKLSB7Im10bTAiLAkJInMiLAkJMHg3MDAwMDAwOCwgMHhmYzFmZmZmZiwgUkRfMSwJCQkwLAkJSU9DVCwJCTAsCTAgfSwKLSB7Im10bTAiLCAgICAJCSJzLHQiLAkJMHg3MDAwMDAwOCwgMHhmYzAwZmZmZiwgUkRfMXxSRF8yLAkJMCwJCUlPQ1QzLAkJMCwJMCB9LAotIHsibXRtMSIsCQkicyIsCQkweDcwMDAwMDBjLCAweGZjMWZmZmZmLCBSRF8xLAkJCTAsCQlJT0NULAkJMCwJMCB9LAotQEAgLTE5NTMsOSArMTk2Miw5IEBAIGNvbnN0IHN0cnVjdCBtaXBzX29wY29kZSBtaXBzX2J1aWx0aW5fb3Bjb2Rlc1tdID0KLSB7InN1eGMxIiwJCSJTLHQoYikiLAkweDRjMDAwMDBkLCAweGZjMDAwN2ZmLCBSRF8xfFJEXzJ8UkRfM3xTTXxGUF9ELAkwLAkJSTVfMzN8TjU1LAkwLAlJMzd9LAotIHsic3ciLAkJCSJ0LG8oYikiLAkweGFjMDAwMDAwLCAweGZjMDAwMDAwLAlSRF8xfFJEXzN8U00sCQkwLAkJSTEsCQkwLAkwIH0sCi0geyJzdyIsCQkJInQsQShiKSIsCTAsICAgIChpbnQpIE1fU1dfQUIsCUlOU05fTUFDUk8sCQkwLAkJSTEsCQkwLAkwIH0sCi0teyJzd2FwdyIsCQkidCxiIiwJCTB4NzAwMDAwMTQsIDB4ZmMwMGZmZmYsIE1PRF8xfFJEXzJ8TE18U00sCTAsCQlYTFIsCQkwLAkwIH0sCi0teyJzd2Fwd3UiLAkJInQsYiIsCQkweDcwMDAwMDE1LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAotLXsic3dhcGQiLAkJInQsYiIsCQkweDcwMDAwMDE2LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAotK3sic3dhcHciLAkJInQsYiIsCQkweDcwMDAwMDE0LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfFNNLAkJMCwJCVhMUnxYTFAsCTAsCTAgfSwKLSt7InN3YXB3dSIsCQkidCxiIiwJCTB4NzAwMDAwMTUsIDB4ZmMwMGZmZmYsIE1PRF8xfFJEXzJ8U00sCQkwLAkJWExSfFhMUCwJMCwJMCB9LAotK3sic3dhcGQiLAkJInQsYiIsCQkweDcwMDAwMDE2LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfFNNLAkJMCwJCVhMUnxYTFAsCTAsCTAgfSwKLSB7InN3YzAiLAkJIkUsbyhiKSIsCTB4ZTAwMDAwMDAsIDB4ZmMwMDAwMDAsCVJEXzN8UkRfQzB8U00sCQkwLAkJSTEsCQkwLAlJT0NUfElPQ1RQfElPQ1QyfEkzNyB9LAotIHsic3djMCIsCQkiRSxBKGIpIiwJMCwgICAgKGludCkgTV9TV0MwX0FCLAlJTlNOX01BQ1JPLAkJMCwJCUkxLAkJMCwJSU9DVHxJT0NUUHxJT0NUMnxJMzcgfSwKLSB7InN3YzEiLAkJIlQsbyhiKSIsCTB4ZTQwMDAwMDAsIDB4ZmMwMDAwMDAsCVJEXzF8UkRfM3xTTXxGUF9TLAkwLAkJSTEsCQkwLAkwIH0sCi0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDEyLWZpeC10aGUtaW5jb3JyZWN0LWFzc2VtYmxpbmctZm9yLXBwYy13YWl0LW1uZW1vbmljLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMi1maXgtdGhlLWluY29ycmVjdC1hc3NlbWJsaW5nLWZvci1wcGMtd2FpdC1tbmVtb25pYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTNiNzhmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMi1maXgtdGhlLWluY29ycmVjdC1hc3NlbWJsaW5nLWZvci1wcGMtd2FpdC1tbmVtb25pYy5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIGU0ODc2N2EwMjk4ZTZjY2Y1M2Q4M2ZlY2M5M2JiNmQyNmI1OTU4OTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBaaGVuaHVhIEx1byA8emhlbmh1YS5sdW9AbnhwLmNvbT4KK0RhdGU6IFNhdCwgMTEgSnVuIDIwMTYgMjI6MDg6MjkgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCAxMi8xNV0gZml4IHRoZSBpbmNvcnJlY3QgYXNzZW1ibGluZyBmb3IgcHBjIHdhaXQgbW5lbW9uaWMKKworU2lnbmVkLW9mZi1ieTogWmhlbmh1YSBMdW8gPHpoZW5odWEubHVvQG54cC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworLS0tCisgb3Bjb2Rlcy9wcGMtb3BjLmMgfCAzICstLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL29wY29kZXMvcHBjLW9wYy5jIGIvb3Bjb2Rlcy9wcGMtb3BjLmMKK2luZGV4IDMwMzI2MzFkNGUuLjE0MmYwOTZlZjQgMTAwNjQ0CistLS0gYS9vcGNvZGVzL3BwYy1vcGMuYworKysrIGIvb3Bjb2Rlcy9wcGMtb3BjLmMKK0BAIC01MzI1LDcgKzUzMjUsNiBAQCBjb25zdCBzdHJ1Y3QgcG93ZXJwY19vcGNvZGUgcG93ZXJwY19vcGNvZGVzW10gPSB7CisgeyJsZGVweCIsCVgoMzEsMjkpLAlYX01BU0ssCSAgRTUwME1DfFBQQ0EyLCAwLAkJe1JULCBSQTAsIFJCfX0sCisgCisgeyJ3YWl0YXNlYyIsCVgoMzEsMzApLCAgICAgIFhSVFJBUkJfTUFTSywgUE9XRVI4LAlQT1dFUjksCQl7MH19LAorLXsid2FpdCIsCVgoMzEsMzApLAlYV0NfTUFTSywgICAgUE9XRVI5LAkwLAkJe1dDfX0sCisgCisgeyJsd2VweCIsCVgoMzEsMzEpLAlYX01BU0ssCSAgRTUwME1DfFBQQ0EyLCAwLAkJe1JULCBSQTAsIFJCfX0sCisgCitAQCAtNTM3OSw3ICs1Mzc4LDcgQEAgY29uc3Qgc3RydWN0IHBvd2VycGNfb3Bjb2RlIHBvd2VycGNfb3Bjb2Rlc1tdID0geworIAorIHsid2FpdHJzdiIsCVgoMzEsNjIpfCgxPDwyMSksIDB4ZmZmZmZmZmYsIEU1MDBNQ3xQUENBMiwgMCwJCXswfX0sCisgeyJ3YWl0aW1wbCIsCVgoMzEsNjIpfCgyPDwyMSksIDB4ZmZmZmZmZmYsIEU1MDBNQ3xQUENBMiwgMCwJCXswfX0sCisteyJ3YWl0IiwJWCgzMSw2MiksCVhXQ19NQVNLLCAgICBFNTAwTUN8UFBDQTIsIDAsCQl7V0N9fSwKKyt7IndhaXQiLAlYKDMxLDYyKSwJWFdDX01BU0ssICAgIEU1MDBNQ3xQUENBMnxQT1dFUjksIDAsCXtXQ319LAorIAorIHsiZGNic3RlcCIsCVhSVCgzMSw2MywwKSwJWFJUX01BU0ssICAgIEU1MDBNQ3xQUENBMiwgMCwJCXtSQTAsIFJCfX0sCisgCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDEzLURldGVjdC02NC1iaXQtTUlQUy10YXJnZXRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMy1EZXRlY3QtNjQtYml0LU1JUFMtdGFyZ2V0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTI5MTc5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMy1EZXRlY3QtNjQtYml0LU1JUFMtdGFyZ2V0cy5wYXRjaApAQCAtMCwwICsxLDUwIEBACitGcm9tIDY1ODdlN2I4ZTc3MzBkZGEyMGQ4YzQ3Y2FiZTlmN2Y4Mzk3ZWZhM2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAzMSBNYXIgMjAxNyAxMTo0MjowMyAtMDcwMAorU3ViamVjdDogW1BBVENIIDEzLzE1XSBEZXRlY3QgNjQtYml0IE1JUFMgdGFyZ2V0cworCitBZGQgbWlwczY0IHRhcmdldCB0cmlwbGV0cyBhbmQgZGVmYXVsdCB0byBONjQKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKK2h0dHBzOi8vc291cmNld2FyZS5vcmcvbWwvYmludXRpbHMvMjAxNi0wOC9tc2cwMDA0OC5odG1sCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnb2xkL2NvbmZpZ3VyZS50Z3QgfCAxNCArKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nb2xkL2NvbmZpZ3VyZS50Z3QgYi9nb2xkL2NvbmZpZ3VyZS50Z3QKK2luZGV4IDNlMDY2ZWRhYTguLmNhZjEzMGNlZGEgMTAwNjQ0CistLS0gYS9nb2xkL2NvbmZpZ3VyZS50Z3QKKysrKyBiL2dvbGQvY29uZmlndXJlLnRndAorQEAgLTE1Myw2ICsxNTMsMTMgQEAgYWFyY2g2NCotKikKKyAgdGFyZ19iaWdfZW5kaWFuPWZhbHNlCisgIHRhcmdfZXh0cmFfYmlnX2VuZGlhbj10cnVlCisgIDs7CisrbWlwcyo2NCplbCotKi0qfG1pcHMqNjQqbGUqLSotKikKKysgdGFyZ19vYmo9bWlwcworKyB0YXJnX21hY2hpbmU9RU1fTUlQU19SUzNfTEUKKysgdGFyZ19zaXplPTY0CisrIHRhcmdfYmlnX2VuZGlhbj1mYWxzZQorKyB0YXJnX2V4dHJhX2JpZ19lbmRpYW49dHJ1ZQorKyA7OworIG1pcHMqZWwqLSotKnxtaXBzKmxlKi0qLSopCisgIHRhcmdfb2JqPW1pcHMKKyAgdGFyZ19tYWNoaW5lPUVNX01JUFNfUlMzX0xFCitAQCAtMTYwLDYgKzE2NywxMyBAQCBtaXBzKmVsKi0qLSp8bWlwcypsZSotKi0qKQorICB0YXJnX2JpZ19lbmRpYW49ZmFsc2UKKyAgdGFyZ19leHRyYV9iaWdfZW5kaWFuPXRydWUKKyAgOzsKKyttaXBzKjY0Ki0qLSopCisrIHRhcmdfb2JqPW1pcHMKKysgdGFyZ19tYWNoaW5lPUVNX01JUFMKKysgdGFyZ19zaXplPTY0CisrIHRhcmdfYmlnX2VuZGlhbj10cnVlCisrIHRhcmdfZXh0cmFfYmlnX2VuZGlhbj1mYWxzZQorKyA7OworIG1pcHMqLSotKikKKyAgdGFyZ19vYmo9bWlwcworICB0YXJnX21hY2hpbmU9RU1fTUlQUworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMy1maXgtdGhlLWluY29ycmVjdC1hc3NlbWJsaW5nLWZvci1wcGMtd2FpdC1tbmVtb25pYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTMtZml4LXRoZS1pbmNvcnJlY3QtYXNzZW1ibGluZy1mb3ItcHBjLXdhaXQtbW5lbW9uaWMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5ZmZkYWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMy1maXgtdGhlLWluY29ycmVjdC1hc3NlbWJsaW5nLWZvci1wcGMtd2FpdC1tbmVtb25pYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLUZyb20gZDQ1NDU1ZGIzNWRiNTY5M2M1ZWZlMGUxYjM4NDI5NWU0YzBkYjk5OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFpoZW5odWEgTHVvIDx6aGVuaHVhLmx1b0BueHAuY29tPgotRGF0ZTogU2F0LCAxMSBKdW4gMjAxNiAyMjowODoyOSAtMDUwMAotU3ViamVjdDogW1BBVENIIDEzLzE1XSBmaXggdGhlIGluY29ycmVjdCBhc3NlbWJsaW5nIGZvciBwcGMgd2FpdCBtbmVtb25pYwotCi1TaWduZWQtb2ZmLWJ5OiBaaGVuaHVhIEx1byA8emhlbmh1YS5sdW9AbnhwLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBvcGNvZGVzL3BwYy1vcGMuYyB8IDMgKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvb3Bjb2Rlcy9wcGMtb3BjLmMgYi9vcGNvZGVzL3BwYy1vcGMuYwotaW5kZXggNGEwZmNhNWYwYS4uNDlmNzJmYzM1YyAxMDA2NDQKLS0tLSBhL29wY29kZXMvcHBjLW9wYy5jCi0rKysgYi9vcGNvZGVzL3BwYy1vcGMuYwotQEAgLTUzNTEsNyArNTM1MSw2IEBAIGNvbnN0IHN0cnVjdCBwb3dlcnBjX29wY29kZSBwb3dlcnBjX29wY29kZXNbXSA9IHsKLSB7ImxkZXB4IiwJWCgzMSwyOSksCVhfTUFTSywJICBFNTAwTUN8UFBDQTIsIDAsCQl7UlQsIFJBMCwgUkJ9fSwKLSAKLSB7IndhaXRhc2VjIiwJWCgzMSwzMCksICAgICAgWFJUUkFSQl9NQVNLLCBQT1dFUjgsCVBPV0VSOSwJCXswfX0sCi0teyJ3YWl0IiwJWCgzMSwzMCksCVhXQ19NQVNLLCAgICBQT1dFUjksCTAsCQl7V0N9fSwKLSAKLSB7Imx3ZXB4IiwJWCgzMSwzMSksCVhfTUFTSywJICBFNTAwTUN8UFBDQTIsIDAsCQl7UlQsIFJBMCwgUkJ9fSwKLSAKLUBAIC01NDA1LDcgKzU0MDQsNyBAQCBjb25zdCBzdHJ1Y3QgcG93ZXJwY19vcGNvZGUgcG93ZXJwY19vcGNvZGVzW10gPSB7Ci0gCi0geyJ3YWl0cnN2IiwJWCgzMSw2Mil8KDE8PDIxKSwgMHhmZmZmZmZmZiwgRTUwME1DfFBQQ0EyLCAwLAkJezB9fSwKLSB7IndhaXRpbXBsIiwJWCgzMSw2Mil8KDI8PDIxKSwgMHhmZmZmZmZmZiwgRTUwME1DfFBQQ0EyLCAwLAkJezB9fSwKLS17IndhaXQiLAlYKDMxLDYyKSwJWFdDX01BU0ssICAgIEU1MDBNQ3xQUENBMiwgMCwJCXtXQ319LAotK3sid2FpdCIsCVgoMzEsNjIpLAlYV0NfTUFTSywgICAgRTUwME1DfFBQQ0EyfFBPV0VSOSwgMCwJe1dDfX0sCi0gCi0geyJkY2JzdGVwIiwJWFJUKDMxLDYzLDApLAlYUlRfTUFTSywgICAgRTUwME1DfFBQQ0EyLCAwLAkJe1JBMCwgUkJ9fSwKLSAKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTQtRGV0ZWN0LTY0LWJpdC1NSVBTLXRhcmdldHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDE0LURldGVjdC02NC1iaXQtTUlQUy10YXJnZXRzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MTk3ZGY2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTQtRGV0ZWN0LTY0LWJpdC1NSVBTLXRhcmdldHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIDlhZjkwY2ZjMzVmZjFmZTc4NzU1NTc4ODYxNDczMDM5ODM2YzQ2N2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAzMSBNYXIgMjAxNyAxMTo0MjowMyAtMDcwMAotU3ViamVjdDogW1BBVENIIDE0LzE1XSBEZXRlY3QgNjQtYml0IE1JUFMgdGFyZ2V0cwotCi1BZGQgbWlwczY0IHRhcmdldCB0cmlwbGV0cyBhbmQgZGVmYXVsdCB0byBONjQKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLWh0dHBzOi8vc291cmNld2FyZS5vcmcvbWwvYmludXRpbHMvMjAxNi0wOC9tc2cwMDA0OC5odG1sCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBnb2xkL2NvbmZpZ3VyZS50Z3QgfCAxNCArKysrKysrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9nb2xkL2NvbmZpZ3VyZS50Z3QgYi9nb2xkL2NvbmZpZ3VyZS50Z3QKLWluZGV4IDhhZWYyMmEzMTguLjcwMzAwMjZmZmEgMTAwNjQ0Ci0tLS0gYS9nb2xkL2NvbmZpZ3VyZS50Z3QKLSsrKyBiL2dvbGQvY29uZmlndXJlLnRndAotQEAgLTE1Myw2ICsxNTMsMTMgQEAgYWFyY2g2NCotKikKLSAgdGFyZ19iaWdfZW5kaWFuPWZhbHNlCi0gIHRhcmdfZXh0cmFfYmlnX2VuZGlhbj10cnVlCi0gIDs7Ci0rbWlwcyo2NCplbCotKi0qfG1pcHMqNjQqbGUqLSotKikKLSsgdGFyZ19vYmo9bWlwcwotKyB0YXJnX21hY2hpbmU9RU1fTUlQU19SUzNfTEUKLSsgdGFyZ19zaXplPTY0Ci0rIHRhcmdfYmlnX2VuZGlhbj1mYWxzZQotKyB0YXJnX2V4dHJhX2JpZ19lbmRpYW49dHJ1ZQotKyA7OwotIG1pcHMqZWwqLSotKnxtaXBzKmxlKi0qLSopCi0gIHRhcmdfb2JqPW1pcHMKLSAgdGFyZ19tYWNoaW5lPUVNX01JUFNfUlMzX0xFCi1AQCAtMTYwLDYgKzE2NywxMyBAQCBtaXBzKmVsKi0qLSp8bWlwcypsZSotKi0qKQotICB0YXJnX2JpZ19lbmRpYW49ZmFsc2UKLSAgdGFyZ19leHRyYV9iaWdfZW5kaWFuPXRydWUKLSAgOzsKLSttaXBzKjY0Ki0qLSopCi0rIHRhcmdfb2JqPW1pcHMKLSsgdGFyZ19tYWNoaW5lPUVNX01JUFMKLSsgdGFyZ19zaXplPTY0Ci0rIHRhcmdfYmlnX2VuZGlhbj10cnVlCi0rIHRhcmdfZXh0cmFfYmlnX2VuZGlhbj1mYWxzZQotKyA7OwotIG1pcHMqLSotKikKLSAgdGFyZ19vYmo9bWlwcwotICB0YXJnX21hY2hpbmU9RU1fTUlQUwotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxNC1zeW5jLXdpdGgtT0UtbGlidG9vbC1jaGFuZ2VzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxNC1zeW5jLXdpdGgtT0UtbGlidG9vbC1jaGFuZ2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1YmExMGEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDE0LXN5bmMtd2l0aC1PRS1saWJ0b29sLWNoYW5nZXMucGF0Y2gKQEAgLTAsMCArMSw4OSBAQAorRnJvbSBiNzcyOTM0MzIwNmZhMTk2YjlhMTE3NDdhOTJiM2NmNTYzMjc3MDU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KK0RhdGU6IE1vbiwgNiBNYXIgMjAxNyAyMzozMzoyNyAtMDgwMAorU3ViamVjdDogW1BBVENIIDE0LzE1XSBzeW5jIHdpdGggT0UgbGlidG9vbCBjaGFuZ2VzCisKK0FwcGx5IHRoZXNlIHBhdGNoZXMgZnJvbSBvdXIgbGlidG9vbCBwYXRjaGVzIGFzIG5vdCBvbmx5IGFyZSByZWR1bmRhbnQgUlBBVEhzIGEKK3dhc3RlIG9mIHNwYWNlIGJ1dCB0aGV5IGNhbiBjYXVzZSBpbmNvcnJlY3QgbGlua2luZyB3aGVuIG5hdGl2ZSBwYWNrYWdlcyBhcmUKK3Jlc3RvcmVkIGZyb20gc3N0YXRlLgorCitmaXgtcnBhdGgucGF0Y2g6CitXZSBkb24ndCB3YW50IHRvIGFkZCBSUEFUSFMgd2hpY2ggbWF0Y2ggZGVmYXVsdCBsaW5rZXIKK3NlYXJjaCBwYXRocywgdGhleSdyZSBhIHdhc3RlIG9mIHNwYWNlLiBUaGlzIHBhdGNoCitmaWx0ZXJzIGxpYnRvb2xzIGxpc3QgYW5kIHJlbW92ZXMgdGhlIG9uZXMgd2UgZG9uJ3QgbmVlZC4KKworbm9ybS1ycGF0aC5wYXRjaDoKK0xpYnRvb2wgbWF5IGJlIHBhc3NlZCBsaW5rIHBhdGhzIG9mIHRoZSBmb3JtICIvdXNyL2xpYi8uLi9saWIiLCB3aGljaAorZm9vbCBpdHMgZGV0ZWN0aW9uIGNvZGUgaW50byB0aGlua2luZyBpdCBzaG91bGQgYmUgaW5jbHVkZWQgYXMgYW4KK1JQQVRIIGluIHRoZSBnZW5lcmF0ZWQgYmluYXJ5LiAgTm9ybWFsaXplIGJlZm9yZSBjb21wYXJpc2lvbi4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlCisKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbHRtYWluLnNoIHwgMzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCitpbmRleCAxMWVlNjg0Y2NjLi4zYjE5YWMxNTMyIDEwMDY0NAorLS0tIGEvbHRtYWluLnNoCisrKysgYi9sdG1haW4uc2gKK0BAIC04MDUzLDggKzgwNTMsMTYgQEAgRU9GCisgCQkgIGVzYWMKKyAJCWZpCisgCSAgICAgIGVsc2UKKy0JCWV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKKy0JCWZ1bmNfYXBwZW5kIGRlcF9ycGF0aCAiICRmbGFnIgorKyAgICAgICAgICAgICAgICAjIFdlIG9ubHkgd2FudCB0byBoYXJkY29kZSBpbiBhbiBycGF0aCBpZiBpdCBpc24ndCBpbiB0aGUKKysgICAgICAgICAgICAgICAgIyBkZWZhdWx0IGRsc2VhcmNoIHBhdGguCisrICAgICAgICAgICAgICAgIGZ1bmNfbm9ybWFsX2Fic3BhdGggIiRsaWJkaXIiCisrICAgICAgICAgICAgICAgIGxpYmRpcl9ub3JtPSRmdW5jX25vcm1hbF9hYnNwYXRoX3Jlc3VsdAorKwkgICAgICAgIGNhc2UgIiAkc3lzX2xpYl9kbHNlYXJjaF9wYXRoICIgaW4KKysJICAgICAgICAqIiAkbGliZGlyX25vcm0gIiopIDs7CisrCSAgICAgICAgKikgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgorKyAgICAgICAgICAgICAgICAgICBmdW5jX2FwcGVuZCBkZXBfcnBhdGggIiAkZmxhZyIKKysgICAgICAgICAgICAgICAgICAgOzsKKysJICAgICAgICBlc2FjCisgCSAgICAgIGZpCisgCSAgICBlbGlmIHRlc3QgLW4gIiRydW5wYXRoX3ZhciI7IHRoZW4KKyAJICAgICAgY2FzZSAiJHBlcm1fcnBhdGggIiBpbgorQEAgLTg3OTAsOCArODc5OCwxNiBAQCBFT0YKKyAJICAgICAgZXNhYworIAkgICAgZmkKKyAJICBlbHNlCistCSAgICBldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCistCSAgICBmdW5jX2FwcGVuZCBycGF0aCAiICRmbGFnIgorKyAgICAgICAgICAgICMgV2Ugb25seSB3YW50IHRvIGhhcmRjb2RlIGluIGFuIHJwYXRoIGlmIGl0IGlzbid0IGluIHRoZQorKyAgICAgICAgICAgICMgZGVmYXVsdCBkbHNlYXJjaCBwYXRoLgorKyAgICAgICAgICAgIGZ1bmNfbm9ybWFsX2Fic3BhdGggIiRsaWJkaXIiCisrICAgICAgICAgICAgbGliZGlyX25vcm09JGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0CisrCSAgICBjYXNlICIgJHN5c19saWJfZGxzZWFyY2hfcGF0aCAiIGluCisrCSAgICAqIiAkbGliZGlyX25vcm0gIiopIDs7CisrCSAgICAqKSBldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCisrICAgICAgICAgICAgICAgcnBhdGgrPSIgJGZsYWciCisrICAgICAgICAgICAgICAgOzsKKysJICAgIGVzYWMKKyAJICBmaQorIAllbGlmIHRlc3QgLW4gIiRydW5wYXRoX3ZhciI7IHRoZW4KKyAJICBjYXNlICIkcGVybV9ycGF0aCAiIGluCitAQCAtODg0MSw4ICs4ODU3LDE0IEBAIEVPRgorIAkgICAgICBlc2FjCisgCSAgICBmaQorIAkgIGVsc2UKKy0JICAgIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKKy0JICAgIGZ1bmNfYXBwZW5kIHJwYXRoICIgJGZsYWciCisrICAgICAgICAgICAgIyBXZSBvbmx5IHdhbnQgdG8gaGFyZGNvZGUgaW4gYW4gcnBhdGggaWYgaXQgaXNuJ3QgaW4gdGhlCisrICAgICAgICAgICAgIyBkZWZhdWx0IGRsc2VhcmNoIHBhdGguCisrCSAgICBjYXNlICIgJHN5c19saWJfZGxzZWFyY2hfcGF0aCAiIGluCisrCSAgICAqIiAkbGliZGlyICIqKSA7OworKwkgICAgKikgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgorKyAgICAgICAgICAgICAgIGZ1bmNfYXBwZW5kIHJwYXRoICIgJGZsYWciCisrICAgICAgICAgICAgICAgOzsKKysJICAgIGVzYWMKKyAJICBmaQorIAllbGlmIHRlc3QgLW4gIiRydW5wYXRoX3ZhciI7IHRoZW4KKyAJICBjYXNlICIkZmluYWxpemVfcGVybV9ycGF0aCAiIGluCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDE1LWJpbnV0aWxzLWVuYWJsZS14ODZfNjQtcGVwLWZvci1wcm9kdWNpbmctRUZJLWJpbmFyaWUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDE1LWJpbnV0aWxzLWVuYWJsZS14ODZfNjQtcGVwLWZvci1wcm9kdWNpbmctRUZJLWJpbmFyaWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmZkZTU2MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTUtYmludXRpbHMtZW5hYmxlLXg4Nl82NC1wZXAtZm9yLXByb2R1Y2luZy1FRkktYmluYXJpZS5wYXRjaApAQCAtMCwwICsxLDUzIEBACitGcm9tIGQ1ZDc4MzkwM2UzMzUzMDJlNTYyYmFjOGRhMWEwODMzMzhkNzViMjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVGh1LCAyOSBOb3YgMjAxOCAxNzo0Njo0MCAtMDgwMAorU3ViamVjdDogW1BBVENIIDE1LzE1XSBiaW51dGlscyA6IGVuYWJsZSB4ODZfNjQtcGVwIGZvciBwcm9kdWNpbmcgRUZJIGJpbmFyaWVzCisgb24geDg2LTY0CisKK0FkZCB4ODZfNjQtcGVwIGVtdWxhdGlvbiBzdXBwb3J0IHRvIHRoZSBzZXQgZW5hYmxlZCBmb3IgeDg2XzY0IHRhcmdldHMKK3RvIGVuYWJsZSB0aGUgbGlua2VyIHRvIHByb2R1Y2UgUG9ydGFibGUgRXhlY3V0YWJsZXMgZm9yIEVGSSBiaW5hcmllcy4KKworRW5hYmxlcyBidWlsZGluZyB0aGUgeDg2LTY0IEVGSSB2YXJpYW50IG9mIHRoZSBYZW4gaHlwZXJ2aXNvciBmb3IKK3RoZSBPcGVuWFQgUHJvamVjdC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBjb25maWd1cmF0aW9uIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBDbGFyayA8Y2hyaXN0b3BoZXIuY2xhcms2QGJhZXN5c3RlbXMuY29tPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGJmZC9jb25maWcuYmZkICAgfCAyICstCisgbGQvY29uZmlndXJlLnRndCB8IDUgKysrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JmZC9jb25maWcuYmZkIGIvYmZkL2NvbmZpZy5iZmQKK2luZGV4IDM2MTRmZjc5ZDQuLmFlZjE0NDgwM2EgMTAwNjQ0CistLS0gYS9iZmQvY29uZmlnLmJmZAorKysrIGIvYmZkL2NvbmZpZy5iZmQKK0BAIC02OTQsNyArNjk0LDcgQEAgY2FzZSAiJHt0YXJnfSIgaW4KKyAgICAgOzsKKyAgIHg4Nl82NC0qLWxpbnV4LSopCisgICAgIHRhcmdfZGVmdmVjPXg4Nl82NF9lbGY2NF92ZWMKKy0gICAgdGFyZ19zZWx2ZWNzPSJpMzg2X2VsZjMyX3ZlYyBpYW1jdV9lbGYzMl92ZWMgeDg2XzY0X2VsZjMyX3ZlYyBpMzg2X3BlaV92ZWMgeDg2XzY0X3BlaV92ZWMgbDFvbV9lbGY2NF92ZWMgazFvbV9lbGY2NF92ZWMiCisrICAgIHRhcmdfc2VsdmVjcz0iaTM4Nl9lbGYzMl92ZWMgaWFtY3VfZWxmMzJfdmVjIHg4Nl82NF9lbGYzMl92ZWMgaTM4Nl9wZWlfdmVjIHg4Nl82NF9wZWlfdmVjIGwxb21fZWxmNjRfdmVjIGsxb21fZWxmNjRfdmVjIHg4Nl82NF9wZV92ZWMgeDg2XzY0X3BlX2JlX3ZlYyBpMzg2X3BlX3ZlYyIKKyAgICAgd2FudDY0PXRydWUKKyAgICAgOzsKKyAgIHg4Nl82NC0qLW5hY2wqKQorZGlmZiAtLWdpdCBhL2xkL2NvbmZpZ3VyZS50Z3QgYi9sZC9jb25maWd1cmUudGd0CitpbmRleCAzNDdkZjZjM2Y2Li4xZTM3ZDc0N2E5IDEwMDY0NAorLS0tIGEvbGQvY29uZmlndXJlLnRndAorKysrIGIvbGQvY29uZmlndXJlLnRndAorQEAgLTI1Nyw4ICsyNTcsOSBAQCB4ODZfNjQtKi1saW51eC1nbnV4MzIpCXRhcmdfZW11bD1lbGYzMl94ODZfNjQKKyAJCQl0ZGlyX2VsZl9pYW1jdT1gZWNobyAke3RhcmdfYWxpYXN9IHwgc2VkIC1lICdzL3g4Nl82NC9pMzg2LycgLWUgJ3MvLWxpbnV4LWdudXgzMi8tbGludXgtZ251LydgCisgCQkJdGRpcl9lbGZfaTM4Nj1gZWNobyAke3RhcmdfYWxpYXN9IHwgc2VkIC1lICdzL3g4Nl82NC9pMzg2LycgLWUgJ3MvLWxpbnV4LWdudXgzMi8tbGludXgtZ251LydgIDs7CisgeDg2XzY0LSotbGludXgtKikJdGFyZ19lbXVsPWVsZl94ODZfNjQKKy0JCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMl94ODZfNjQgZWxmX2kzODYgZWxmX2lhbWN1IGVsZl9sMW9tIGVsZl9rMW9tIgorLQkJCXRhcmdfZXh0cmFfbGlicGF0aD0iZWxmX2kzODYgZWxmMzJfeDg2XzY0IGVsZl9sMW9tIGVsZl9rMW9tIgorKwkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyX3g4Nl82NCBlbGZfaTM4NiBlbGZfaWFtY3UgZWxmX2wxb20gZWxmX2sxb20gaTM4NnBlIGkzODZwZXAiCisrCQkJdGFyZ19leHRyYV9saWJwYXRoPSJlbGZfaTM4NiBlbGYzMl94ODZfNjQgZWxmX2wxb20gZWxmX2sxb20gaTM4NnBlcCIKKysJCQl0YXJnX2V4dHJhX29maWxlcz0iZGVmZmlsZXAubyBwZXAtZGxsLm8gcGUtZGxsLm8iCisgCQkJdGRpcl9lbGZfaTM4Nj1gZWNobyAke3RhcmdfYWxpYXN9IHwgc2VkIC1lICdzL3g4Nl82NC9pMzg2LydgIDs7CisgaVszLTddODYtKi1yZWRveCopCXRhcmdfZW11bD1lbGZfaTM4NgorIAkJCXRhcmdfZXh0cmFfZW11bHM9ZWxmX3g4Nl82NCA7OworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxNS1zeW5jLXdpdGgtT0UtbGlidG9vbC1jaGFuZ2VzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxNS1zeW5jLXdpdGgtT0UtbGlidG9vbC1jaGFuZ2VzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZGM4YmE4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTUtc3luYy13aXRoLU9FLWxpYnRvb2wtY2hhbmdlcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLUZyb20gZjllMjZiZDI5YjVmMDE3ZWExMzA3YjUxYjUwMzYwNjNiZmY3ODYwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci1EYXRlOiBNb24sIDYgTWFyIDIwMTcgMjM6MzM6MjcgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxNS8xNV0gc3luYyB3aXRoIE9FIGxpYnRvb2wgY2hhbmdlcwotCi1BcHBseSB0aGVzZSBwYXRjaGVzIGZyb20gb3VyIGxpYnRvb2wgcGF0Y2hlcyBhcyBub3Qgb25seSBhcmUgcmVkdW5kYW50IFJQQVRIcyBhCi13YXN0ZSBvZiBzcGFjZSBidXQgdGhleSBjYW4gY2F1c2UgaW5jb3JyZWN0IGxpbmtpbmcgd2hlbiBuYXRpdmUgcGFja2FnZXMgYXJlCi1yZXN0b3JlZCBmcm9tIHNzdGF0ZS4KLQotZml4LXJwYXRoLnBhdGNoOgotV2UgZG9uJ3Qgd2FudCB0byBhZGQgUlBBVEhTIHdoaWNoIG1hdGNoIGRlZmF1bHQgbGlua2VyCi1zZWFyY2ggcGF0aHMsIHRoZXkncmUgYSB3YXN0ZSBvZiBzcGFjZS4gVGhpcyBwYXRjaAotZmlsdGVycyBsaWJ0b29scyBsaXN0IGFuZCByZW1vdmVzIHRoZSBvbmVzIHdlIGRvbid0IG5lZWQuCi0KLW5vcm0tcnBhdGgucGF0Y2g6Ci1MaWJ0b29sIG1heSBiZSBwYXNzZWQgbGluayBwYXRocyBvZiB0aGUgZm9ybSAiL3Vzci9saWIvLi4vbGliIiwgd2hpY2gKLWZvb2wgaXRzIGRldGVjdGlvbiBjb2RlIGludG8gdGhpbmtpbmcgaXQgc2hvdWxkIGJlIGluY2x1ZGVkIGFzIGFuCi1SUEFUSCBpbiB0aGUgZ2VuZXJhdGVkIGJpbmFyeS4gIE5vcm1hbGl6ZSBiZWZvcmUgY29tcGFyaXNpb24uCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQotCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGx0bWFpbi5zaCB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2x0bWFpbi5zaCBiL2x0bWFpbi5zaAotaW5kZXggMTFlZTY4NGNjYy4uM2IxOWFjMTUzMiAxMDA2NDQKLS0tLSBhL2x0bWFpbi5zaAotKysrIGIvbHRtYWluLnNoCi1AQCAtODA1Myw4ICs4MDUzLDE2IEBAIEVPRgotIAkJICBlc2FjCi0gCQlmaQotIAkgICAgICBlbHNlCi0tCQlldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCi0tCQlmdW5jX2FwcGVuZCBkZXBfcnBhdGggIiAkZmxhZyIKLSsgICAgICAgICAgICAgICAgIyBXZSBvbmx5IHdhbnQgdG8gaGFyZGNvZGUgaW4gYW4gcnBhdGggaWYgaXQgaXNuJ3QgaW4gdGhlCi0rICAgICAgICAgICAgICAgICMgZGVmYXVsdCBkbHNlYXJjaCBwYXRoLgotKyAgICAgICAgICAgICAgICBmdW5jX25vcm1hbF9hYnNwYXRoICIkbGliZGlyIgotKyAgICAgICAgICAgICAgICBsaWJkaXJfbm9ybT0kZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQKLSsJICAgICAgICBjYXNlICIgJHN5c19saWJfZGxzZWFyY2hfcGF0aCAiIGluCi0rCSAgICAgICAgKiIgJGxpYmRpcl9ub3JtICIqKSA7OwotKwkgICAgICAgICopIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKLSsgICAgICAgICAgICAgICAgICAgZnVuY19hcHBlbmQgZGVwX3JwYXRoICIgJGZsYWciCi0rICAgICAgICAgICAgICAgICAgIDs7Ci0rCSAgICAgICAgZXNhYwotIAkgICAgICBmaQotIAkgICAgZWxpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0aGVuCi0gCSAgICAgIGNhc2UgIiRwZXJtX3JwYXRoICIgaW4KLUBAIC04NzkwLDggKzg3OTgsMTYgQEAgRU9GCi0gCSAgICAgIGVzYWMKLSAJICAgIGZpCi0gCSAgZWxzZQotLQkgICAgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgotLQkgICAgZnVuY19hcHBlbmQgcnBhdGggIiAkZmxhZyIKLSsgICAgICAgICAgICAjIFdlIG9ubHkgd2FudCB0byBoYXJkY29kZSBpbiBhbiBycGF0aCBpZiBpdCBpc24ndCBpbiB0aGUKLSsgICAgICAgICAgICAjIGRlZmF1bHQgZGxzZWFyY2ggcGF0aC4KLSsgICAgICAgICAgICBmdW5jX25vcm1hbF9hYnNwYXRoICIkbGliZGlyIgotKyAgICAgICAgICAgIGxpYmRpcl9ub3JtPSRmdW5jX25vcm1hbF9hYnNwYXRoX3Jlc3VsdAotKwkgICAgY2FzZSAiICRzeXNfbGliX2Rsc2VhcmNoX3BhdGggIiBpbgotKwkgICAgKiIgJGxpYmRpcl9ub3JtICIqKSA7OwotKwkgICAgKikgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgotKyAgICAgICAgICAgICAgIHJwYXRoKz0iICRmbGFnIgotKyAgICAgICAgICAgICAgIDs7Ci0rCSAgICBlc2FjCi0gCSAgZmkKLSAJZWxpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0aGVuCi0gCSAgY2FzZSAiJHBlcm1fcnBhdGggIiBpbgotQEAgLTg4NDEsOCArODg1NywxNCBAQCBFT0YKLSAJICAgICAgZXNhYwotIAkgICAgZmkKLSAJICBlbHNlCi0tCSAgICBldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCi0tCSAgICBmdW5jX2FwcGVuZCBycGF0aCAiICRmbGFnIgotKyAgICAgICAgICAgICMgV2Ugb25seSB3YW50IHRvIGhhcmRjb2RlIGluIGFuIHJwYXRoIGlmIGl0IGlzbid0IGluIHRoZQotKyAgICAgICAgICAgICMgZGVmYXVsdCBkbHNlYXJjaCBwYXRoLgotKwkgICAgY2FzZSAiICRzeXNfbGliX2Rsc2VhcmNoX3BhdGggIiBpbgotKwkgICAgKiIgJGxpYmRpciAiKikgOzsKLSsJICAgICopIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKLSsgICAgICAgICAgICAgICBmdW5jX2FwcGVuZCBycGF0aCAiICRmbGFnIgotKyAgICAgICAgICAgICAgIDs7Ci0rCSAgICBlc2FjCi0gCSAgZmkKLSAJZWxpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0aGVuCi0gCSAgY2FzZSAiJGZpbmFsaXplX3Blcm1fcnBhdGggIiBpbgotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxNi1hZGQtaTM4NnBlcC1lbXVsYXRpb24tZm9yLXg4Nl82NC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTYtYWRkLWkzODZwZXAtZW11bGF0aW9uLWZvci14ODZfNjQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmMjA3ODQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxNi1hZGQtaTM4NnBlcC1lbXVsYXRpb24tZm9yLXg4Nl82NC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLWJpbnV0aWxzIDogZW5hYmxlIHg4Nl82NC1wZXAgZm9yIHByb2R1Y2luZyBFRkkgYmluYXJpZXMgb24geDg2LTY0Ci0KLUFkZCB4ODZfNjQtcGVwIGVtdWxhdGlvbiBzdXBwb3J0IHRvIHRoZSBzZXQgZW5hYmxlZCBmb3IgeDg2XzY0IHRhcmdldHMKLXRvIGVuYWJsZSB0aGUgbGlua2VyIHRvIHByb2R1Y2UgUG9ydGFibGUgRXhlY3V0YWJsZXMgZm9yIEVGSSBiaW5hcmllcy4KLQotRW5hYmxlcyBidWlsZGluZyB0aGUgeDg2LTY0IEVGSSB2YXJpYW50IG9mIHRoZSBYZW4gaHlwZXJ2aXNvciBmb3IKLXRoZSBPcGVuWFQgUHJvamVjdC4KLQotU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoZXIgQ2xhcmsgPGNocmlzdG9waGVyLmNsYXJrNkBiYWVzeXN0ZW1zLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBjb25maWd1cmF0aW9uIHNwZWNpZmljXQotLS0tCi1kaWZmIC0tZ2l0IGEvYmZkL2NvbmZpZy5iZmQgYi9iZmQvY29uZmlnLmJmZAotaW5kZXggYzg4MjQyMS4uZGM3MDViNiAxMDA2NDQKLS0tLSBhL2JmZC9jb25maWcuYmZkCi0rKysgYi9iZmQvY29uZmlnLmJmZAotQEAgLTY4OCw3ICs2ODgsNyBAQCBjYXNlICIke3Rhcmd9IiBpbgotICAgICA7OwotICAgeDg2XzY0LSotbGludXgtKikKLSAgICAgdGFyZ19kZWZ2ZWM9eDg2XzY0X2VsZjY0X3ZlYwotLSAgICB0YXJnX3NlbHZlY3M9ImkzODZfZWxmMzJfdmVjIGlhbWN1X2VsZjMyX3ZlYyB4ODZfNjRfZWxmMzJfdmVjIGkzODZfcGVpX3ZlYyB4ODZfNjRfcGVpX3ZlYyBsMW9tX2VsZjY0X3ZlYyBrMW9tX2VsZjY0X3ZlYyIKLSsgICAgdGFyZ19zZWx2ZWNzPSJpMzg2X2VsZjMyX3ZlYyBpYW1jdV9lbGYzMl92ZWMgeDg2XzY0X2VsZjMyX3ZlYyBpMzg2X3BlaV92ZWMgeDg2XzY0X3BlaV92ZWMgbDFvbV9lbGY2NF92ZWMgazFvbV9lbGY2NF92ZWMgeDg2XzY0X3BlX3ZlYyB4ODZfNjRfcGVfYmVfdmVjIGkzODZfcGVfdmVjIgotICAgICB3YW50NjQ9dHJ1ZQotICAgICA7OwotICAgeDg2XzY0LSotbmFjbCopCi1kaWZmIC0tZ2l0IGEvbGQvY29uZmlndXJlLnRndCBiL2xkL2NvbmZpZ3VyZS50Z3QKLWluZGV4IGExZGI3YWQuLjY1YTk4NGEgMTAwNjQ0Ci0tLS0gYS9sZC9jb25maWd1cmUudGd0Ci0rKysgYi9sZC9jb25maWd1cmUudGd0Ci1AQCAtMjUzLDggKzI1Myw5IEBAIHg4Nl82NC0qLWxpbnV4LWdudXgzMikJdGFyZ19lbXVsPWVsZjMyX3g4Nl82NAotIAkJCXRkaXJfZWxmX2lhbWN1PWBlY2hvICR7dGFyZ19hbGlhc30gfCBzZWQgLWUgJ3MveDg2XzY0L2kzODYvJyAtZSAncy8tbGludXgtZ251eDMyLy1saW51eC1nbnUvJ2AKLSAJCQl0ZGlyX2VsZl9pMzg2PWBlY2hvICR7dGFyZ19hbGlhc30gfCBzZWQgLWUgJ3MveDg2XzY0L2kzODYvJyAtZSAncy8tbGludXgtZ251eDMyLy1saW51eC1nbnUvJ2AgOzsKLSB4ODZfNjQtKi1saW51eC0qKQl0YXJnX2VtdWw9ZWxmX3g4Nl82NAotLQkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyX3g4Nl82NCBlbGZfaTM4NiBlbGZfaWFtY3UgZWxmX2wxb20gZWxmX2sxb20iCi0tCQkJdGFyZ19leHRyYV9saWJwYXRoPSJlbGZfaTM4NiBlbGYzMl94ODZfNjQgZWxmX2wxb20gZWxmX2sxb20iCi0rCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJfeDg2XzY0IGVsZl9pMzg2IGVsZl9pYW1jdSBlbGZfbDFvbSBlbGZfazFvbSBpMzg2cGUgaTM4NnBlcCIKLSsJCQl0YXJnX2V4dHJhX2xpYnBhdGg9ImVsZl9pMzg2IGVsZjMyX3g4Nl82NCBlbGZfbDFvbSBlbGZfazFvbSBpMzg2cGVwIgotKwkJCXRhcmdfZXh0cmFfb2ZpbGVzPSJkZWZmaWxlcC5vIHBlcC1kbGwubyBwZS1kbGwubyIKLSAJCQl0ZGlyX2VsZl9pMzg2PWBlY2hvICR7dGFyZ19hbGlhc30gfCBzZWQgLWUgJ3MveDg2XzY0L2kzODYvJ2AgOzsKLSBpWzMtN104Ni0qLXJlZG94KikJdGFyZ19lbXVsPWVsZl9pMzg2Ci0gCQkJdGFyZ19leHRyYV9lbXVscz1lbGZfeDg2XzY0IDs7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDIyLUhhbmRsZS1FTEYtY29tcHJlc3NlZC1oZWFkZXItYWxpZ25tZW50LWNvcnJlY3RseS1ieS0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDIyLUhhbmRsZS1FTEYtY29tcHJlc3NlZC1oZWFkZXItYWxpZ25tZW50LWNvcnJlY3RseS1ieS0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1MGRlOWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAyMi1IYW5kbGUtRUxGLWNvbXByZXNzZWQtaGVhZGVyLWFsaWdubWVudC1jb3JyZWN0bHktYnktLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMyICswLDAgQEAKLUZyb20gYmI5YzhjYzNjNWY0ZmZkNjAxOWE4YzUzYWRlYWQ0Mjk5NTQxNjJlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hcmsgV2llbGFhcmQgPG1hcmtAa2xvbXAub3JnPgotRGF0ZTogVHVlLCAyNyBOb3YgMjAxOCAxMTo1OToxMCArMDAwMAotU3ViamVjdDogW1BBVENIIDEvMl0gSGFuZGxlIEVMRiBjb21wcmVzc2VkIGhlYWRlciBhbGlnbm1lbnQgY29ycmVjdGx5IGJ5Ci0gc2V0dGluZyB1cCB0aGUgc2VjdGlvbiBhbGlnbm1lbnQgY29ycmVjdGx5IGZvciB0aGUgRWxmMzJfQ2hkciBvciBFbGY2NF9DaGRyCi0gdHlwZSBhbmQgcmVzcGVjdCB0aGUgY2hfYWRkcmFsaWduIGZpZWxkIHdoZW4gZGVjb21wcmVzc2luZyB0aGUgc2VjdGlvbiBkYXRhLgotCi0JUFIgYmludXRpbHMvMjM5MTkKLWJpbnV0aWxzKiByZWFkZWxmLmMgKGR1bXBfc2VjdGlvbnNfYXNfc3RyaW5ncyk6IFJlbW92ZSBib2d1cyBhZGRyYWxpZ24gY2hlY2suCi0JKGR1bXBfc2VjdGlvbnNfYXNfYnl0ZXMpOiBMaWtld2lzZS4KLQkobG9hZF9zcGVjaWZpY19kZWJ1Z19zZWN0aW9ucyk6IExpa2V3aXNlLgotCSogdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9kdzItMy5yUzogQWRqdXN0IGFsaWdubWVudC4KLQkqIHRlc3RzdWl0ZS9iaW51dGlscy1hbGwvZHcyLTMucnQ6IExpa2V3aXNlLgotCi1iZmQJKiBiZmQuYyAoYmZkX3VwZGF0ZV9jb21wcmVzc2lvbl9oZWFkZXIpOiBFeHBsaWNpdGx5IHNldCBhbGlnbm1lbnQuCi0JKGJmZF9jaGVja19jb21wcmVzc2lvbl9oZWFkZXIpOiBBZGQgdW5jb21wcmVzc2VkX2FsaWdubWVudF9wb3dlcgotCWFyZ3VtZW50LiBDaGVjayBjaF9hZGRyYWxpZ24gaXMgYSBwb3dlciBvZiAyLgotCSogYmZkLWluMi5oOiBSZWdlbmVyYXRlZC4KLQkqIGNvbXByZXNzLmMgKGJmZF9jb21wcmVzc19zZWN0aW9uX2NvbnRlbnRzKTogR2V0IGFuZCBzZXQKLQlvcmlnX3VuY29tcHJlc3NlZF9hbGlnbm1lbnRfcG93IGlmIHNlY3Rpb24gaXMgZGVjb21wcmVzc2VkLgotCShiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkX3dpdGhfaGVhZGVyKTogQWRkIGFuZCBnZXQKLQl1bmNvbXByZXNzZWRfYWxpZ25fcG93X3AgYXJndW1lbnQuCi0JKGJmZF9pc19zZWN0aW9uX2NvbXByZXNzZWQpOiBBZGQgdW5jb21wcmVzc2VkX2FsaWduX3Bvd2VyIGFyZ3VtZW50Ci0JdG8gYmZkX2lzX3NlY3Rpb25fY29tcHJlc3NlZF93aXRoX2hlYWRlciBjYWxsLgotCShiZmRfaW5pdF9zZWN0aW9uX2RlY29tcHJlc3Nfc3RhdHVzKTogR2V0IGFuZCBzZXQKLQl1bmNvbXByZXNzZWRfYWxpZ25tZW50X3Bvd2VyLgotCSogZWxmLmMgKF9iZmRfZWxmX21ha2Vfc2VjdGlvbl9mcm9tX3NoZHIpOiBBZGQKLQl1bmNvbXByZXNzZWRfYWxpZ25fcG93ZXIgYXJndW1lbnQgdG8KLQliZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkX3dpdGhfaGVhZGVyIGNhbGwuCi0tLS0KLSBiZmQvYmZkLWluMi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKystLQotIGJmZC9iZmQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMCArKysrKysrKysrLS0tLQotIGJmZC9jb21wcmVzcy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAzNSArKysrKysrKysrKysrKysrKy0tLS0tLS0KLSBiZmQvZWxmLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUgKystLQotIGJpbnV0aWxzL3JlYWRlbGYuYyAgICAgICAgICAgICAgICAgICAgICAgfCAxOCAtLS0tLS0tLS0tLS0KLSBiaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2R3Mi0zLnJTIHwgIDIgKy0KLSBiaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2R3Mi0zLnJ0IHwgIDIgKy0KLSA3IGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDM5IGRlbGV0aW9ucygtKQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC9naXR3ZWIuY2dpP3A9YmludXRpbHMtZ2RiLmdpdDtoPTQyMDcxNDJkNmE1ZDIzNTkxNzBjNWY5YTE0MGZjMWEyMzUxZmJkYTldCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1kaWZmIC0tZ2l0IGEvYmZkL2JmZC1pbjIuaCBiL2JmZC9iZmQtaW4yLmgKLWluZGV4IGY1M2RiYjVlOGMuLmQwYzIxOTBkMGIgMTAwNjQ0Ci0tLS0gYS9iZmQvYmZkLWluMi5oCi0rKysgYi9iZmQvYmZkLWluMi5oCi1AQCAtNzI3OSw3ICs3Mjc5LDggQEAgdm9pZCBiZmRfdXBkYXRlX2NvbXByZXNzaW9uX2hlYWRlcgotIAotIGJmZF9ib29sZWFuIGJmZF9jaGVja19jb21wcmVzc2lvbl9oZWFkZXIKLSAgICAoYmZkICphYmZkLCBiZmRfYnl0ZSAqY29udGVudHMsIGFzZWN0aW9uICpzZWMsCi0tICAgIGJmZF9zaXplX3R5cGUgKnVuY29tcHJlc3NlZF9zaXplKTsKLSsgICAgYmZkX3NpemVfdHlwZSAqdW5jb21wcmVzc2VkX3NpemUsCi0rICAgIHVuc2lnbmVkIGludCAqdW5jb21wcmVzc2VkX2FsaWdubWVudF9wb3dlcik7Ci0gCi0gaW50IGJmZF9nZXRfY29tcHJlc3Npb25faGVhZGVyX3NpemUgKGJmZCAqYWJmZCwgYXNlY3Rpb24gKnNlYyk7Ci0gCi1AQCAtNzg1NSw3ICs3ODU2LDggQEAgdm9pZCBiZmRfY2FjaGVfc2VjdGlvbl9jb250ZW50cwotIGJmZF9ib29sZWFuIGJmZF9pc19zZWN0aW9uX2NvbXByZXNzZWRfd2l0aF9oZWFkZXIKLSAgICAoYmZkICphYmZkLCBhc2VjdGlvbiAqc2VjdGlvbiwKLSAgICAgaW50ICpjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZV9wLAotLSAgICBiZmRfc2l6ZV90eXBlICp1bmNvbXByZXNzZWRfc2l6ZV9wKTsKLSsgICAgYmZkX3NpemVfdHlwZSAqdW5jb21wcmVzc2VkX3NpemVfcCwKLSsgICAgdW5zaWduZWQgaW50ICp1bmNvbXByZXNzZWRfYWxpZ25tZW50X3Bvd2VyX3ApOwotIAotIGJmZF9ib29sZWFuIGJmZF9pc19zZWN0aW9uX2NvbXByZXNzZWQKLSAgICAoYmZkICphYmZkLCBhc2VjdGlvbiAqc2VjdGlvbik7Ci1kaWZmIC0tZ2l0IGEvYmZkL2JmZC5jIGIvYmZkL2JmZC5jCi1pbmRleCA4NTE3MTA0MDFlLi5lYTEwZDdiMTg1IDEwMDY0NAotLS0tIGEvYmZkL2JmZC5jCi0rKysgYi9iZmQvYmZkLmMKLUBAIC0yMzMyLDYgKzIzMzIsOCBAQCBiZmRfdXBkYXRlX2NvbXByZXNzaW9uX2hlYWRlciAoYmZkICphYmZkLCBiZmRfYnl0ZSAqY29udGVudHMsCi0gCQkgIGJmZF9wdXRfMzIgKGFiZmQsIHNlYy0+c2l6ZSwgJmVjaGRyLT5jaF9zaXplKTsKLSAJCSAgYmZkX3B1dF8zMiAoYWJmZCwgMSA8PCBzZWMtPmFsaWdubWVudF9wb3dlciwKLSAJCQkgICAgICAmZWNoZHItPmNoX2FkZHJhbGlnbik7Ci0rCQkgIC8qIGJmZF9sb2cyIChhbGlnbm9mIChFbGYzMl9DaGRyKSkgKi8KLSsJCSAgYmZkX3NldF9zZWN0aW9uX2FsaWdubWVudCAoYWJmZCwgc2VjLCAyKTsKLSAJCX0KLSAJICAgICAgZWxzZQotIAkJewotQEAgLTIzNDIsNiArMjM0NCw4IEBAIGJmZF91cGRhdGVfY29tcHJlc3Npb25faGVhZGVyIChiZmQgKmFiZmQsIGJmZF9ieXRlICpjb250ZW50cywKLSAJCSAgYmZkX3B1dF82NCAoYWJmZCwgc2VjLT5zaXplLCAmZWNoZHItPmNoX3NpemUpOwotIAkJICBiZmRfcHV0XzY0IChhYmZkLCAxIDw8IHNlYy0+YWxpZ25tZW50X3Bvd2VyLAotIAkJCSAgICAgICZlY2hkci0+Y2hfYWRkcmFsaWduKTsKLSsJCSAgLyogYmZkX2xvZzIgKGFsaWdub2YgKEVsZjY0X0NoZHIpKSAqLwotKwkJICBiZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50IChhYmZkLCBzZWMsIDMpOwotIAkJfQotIAkgICAgfQotIAkgIGVsc2UKLUBAIC0yMzU0LDYgKzIzNTgsOCBAQCBiZmRfdXBkYXRlX2NvbXByZXNzaW9uX2hlYWRlciAoYmZkICphYmZkLCBiZmRfYnl0ZSAqY29udGVudHMsCi0gCQkgb3JkZXIuICAqLwotIAkgICAgICBtZW1jcHkgKGNvbnRlbnRzLCAiWkxJQiIsIDQpOwotIAkgICAgICBiZmRfcHV0YjY0IChzZWMtPnNpemUsIGNvbnRlbnRzICsgNCk7Ci0rCSAgICAgIC8qIE5vIHdheSB0byBrZWVwIHRoZSBvcmlnaW5hbCBhbGlnbm1lbnQsIGp1c3QgdXNlIDEgYWx3YXlzLiAqLwotKwkgICAgICBiZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50IChhYmZkLCBzZWMsIDApOwotIAkgICAgfQotIAl9Ci0gICAgIH0KLUBAIC0yMzY4LDEyICsyMzc0LDE0IEBAIGJmZF91cGRhdGVfY29tcHJlc3Npb25faGVhZGVyIChiZmQgKmFiZmQsIGJmZF9ieXRlICpjb250ZW50cywKLSAgICBTWU5PUFNJUwotIAliZmRfYm9vbGVhbiBiZmRfY2hlY2tfY29tcHJlc3Npb25faGVhZGVyCi0gCSAgKGJmZCAqYWJmZCwgYmZkX2J5dGUgKmNvbnRlbnRzLCBhc2VjdGlvbiAqc2VjLAotLQkgIGJmZF9zaXplX3R5cGUgKnVuY29tcHJlc3NlZF9zaXplKTsKLSsJICBiZmRfc2l6ZV90eXBlICp1bmNvbXByZXNzZWRfc2l6ZSwKLSsJICB1bnNpZ25lZCBpbnQgKnVuY29tcHJlc3NlZF9hbGlnbm1lbnRfcG93ZXIpOwotIAotIERFU0NSSVBUSU9OCi0gCUNoZWNrIHRoZSBjb21wcmVzc2lvbiBoZWFkZXIgYXQgQ09OVEVOVFMgb2YgU0VDIGluIEFCRkQgYW5kCi0tCXN0b3JlIHRoZSB1bmNvbXByZXNzZWQgc2l6ZSBpbiBVTkNPTVBSRVNTRURfU0laRSBpZiB0aGUKLS0JY29tcHJlc3Npb24gaGVhZGVyIGlzIHZhbGlkLgotKwlzdG9yZSB0aGUgdW5jb21wcmVzc2VkIHNpemUgaW4gVU5DT01QUkVTU0VEX1NJWkUgYW5kIHRoZQotKwl1bmNvbXByZXNzZWQgZGF0YSBhbGlnbm1lbnQgaW4gVU5DT01QUkVTU0VEX0FMSUdOTUVOVF9QT1dFUgotKwlpZiB0aGUgY29tcHJlc3Npb24gaGVhZGVyIGlzIHZhbGlkLgotIAotIFJFVFVSTlMKLSAJUmV0dXJuIFRSVUUgaWYgdGhlIGNvbXByZXNzaW9uIGhlYWRlciBpcyB2YWxpZC4KLUBAIC0yMzgyLDcgKzIzOTAsOCBAQCBSRVRVUk5TCi0gYmZkX2Jvb2xlYW4KLSBiZmRfY2hlY2tfY29tcHJlc3Npb25faGVhZGVyIChiZmQgKmFiZmQsIGJmZF9ieXRlICpjb250ZW50cywKLSAJCQkgICAgICBhc2VjdGlvbiAqc2VjLAotLQkJCSAgICAgIGJmZF9zaXplX3R5cGUgKnVuY29tcHJlc3NlZF9zaXplKQotKwkJCSAgICAgIGJmZF9zaXplX3R5cGUgKnVuY29tcHJlc3NlZF9zaXplLAotKwkJCSAgICAgIHVuc2lnbmVkIGludCAqdW5jb21wcmVzc2VkX2FsaWdubWVudF9wb3dlcikKLSB7Ci0gICBpZiAoYmZkX2dldF9mbGF2b3VyIChhYmZkKSA9PSBiZmRfdGFyZ2V0X2VsZl9mbGF2b3VyCi0gICAgICAgJiYgKGVsZl9zZWN0aW9uX2ZsYWdzIChzZWMpICYgU0hGX0NPTVBSRVNTRUQpICE9IDApCi1AQCAtMjQwNCw5ICsyNDEzLDEwIEBAIGJmZF9jaGVja19jb21wcmVzc2lvbl9oZWFkZXIgKGJmZCAqYWJmZCwgYmZkX2J5dGUgKmNvbnRlbnRzLAotIAkgIGNoZHIuY2hfYWRkcmFsaWduID0gYmZkX2dldF82NCAoYWJmZCwgJmVjaGRyLT5jaF9hZGRyYWxpZ24pOwotIAl9Ci0gICAgICAgaWYgKGNoZHIuY2hfdHlwZSA9PSBFTEZDT01QUkVTU19aTElCCi0tCSAgJiYgY2hkci5jaF9hZGRyYWxpZ24gPT0gMVUgPDwgc2VjLT5hbGlnbm1lbnRfcG93ZXIpCi0rCSAgJiYgY2hkci5jaF9hZGRyYWxpZ24gPT0gKDFVIDw8IGJmZF9sb2cyIChjaGRyLmNoX2FkZHJhbGlnbikpKQotIAl7Ci0gCSAgKnVuY29tcHJlc3NlZF9zaXplID0gY2hkci5jaF9zaXplOwotKwkgICp1bmNvbXByZXNzZWRfYWxpZ25tZW50X3Bvd2VyID0gYmZkX2xvZzIgKGNoZHIuY2hfYWRkcmFsaWduKTsKLSAJICByZXR1cm4gVFJVRTsKLSAJfQotICAgICB9Ci1kaWZmIC0tZ2l0IGEvYmZkL2NvbXByZXNzLmMgYi9iZmQvY29tcHJlc3MuYwotaW5kZXggNTNlNTY2ZTQ5OC4uOTdlYTYyNGViOCAxMDA2NDQKLS0tLSBhL2JmZC9jb21wcmVzcy5jCi0rKysgYi9iZmQvY29tcHJlc3MuYwotQEAgLTg0LDExICs4NCwxMyBAQCBiZmRfY29tcHJlc3Nfc2VjdGlvbl9jb250ZW50cyAoYmZkICphYmZkLCBzZWNfcHRyIHNlYywKLSAgIGludCB6bGliX3NpemUgPSAwOwotICAgaW50IG9yaWdfY29tcHJlc3Npb25faGVhZGVyX3NpemU7Ci0gICBiZmRfc2l6ZV90eXBlIG9yaWdfdW5jb21wcmVzc2VkX3NpemU7Ci0rICB1bnNpZ25lZCBpbnQgb3JpZ191bmNvbXByZXNzZWRfYWxpZ25tZW50X3BvdzsKLSAgIGludCBoZWFkZXJfc2l6ZSA9IGJmZF9nZXRfY29tcHJlc3Npb25faGVhZGVyX3NpemUgKGFiZmQsIE5VTEwpOwotICAgYmZkX2Jvb2xlYW4gY29tcHJlc3NlZAotICAgICA9IGJmZF9pc19zZWN0aW9uX2NvbXByZXNzZWRfd2l0aF9oZWFkZXIgKGFiZmQsIHNlYywKLSAJCQkJCSAgICAgJm9yaWdfY29tcHJlc3Npb25faGVhZGVyX3NpemUsCi0tCQkJCQkgICAgICZvcmlnX3VuY29tcHJlc3NlZF9zaXplKTsKLSsJCQkJCSAgICAgJm9yaWdfdW5jb21wcmVzc2VkX3NpemUsCi0rCQkJCQkgICAgICZvcmlnX3VuY29tcHJlc3NlZF9hbGlnbm1lbnRfcG93KTsKLSAKLSAgIC8qIEVpdGhlciBFTEYgY29tcHJlc3Npb24gaGVhZGVyIG9yIHRoZSAxMi1ieXRlLCAiWkxJQiIgKyA4LWJ5dGUgc2l6ZSwKLSAgICAgIG92ZXJoZWFkIGluIC56ZGVidWcqIHNlY3Rpb24uICAqLwotQEAgLTE1Myw2ICsxNTUsOSBAQCBiZmRfY29tcHJlc3Nfc2VjdGlvbl9jb250ZW50cyAoYmZkICphYmZkLCBzZWNfcHRyIHNlYywKLSAJICAgICAgcmV0dXJuIDA7Ci0gCSAgICB9Ci0gCSAgZnJlZSAodW5jb21wcmVzc2VkX2J1ZmZlcik7Ci0rCSAgYmZkX3NldF9zZWN0aW9uX2FsaWdubWVudCAoYWJmZCwgc2VjLAotKwkJCQkgICAgIG9yaWdfdW5jb21wcmVzc2VkX2FsaWdubWVudF9wb3cpOwotKwotIAkgIHNlYy0+Y29udGVudHMgPSBidWZmZXI7Ci0gCSAgc2VjLT5jb21wcmVzc19zdGF0dXMgPSBDT01QUkVTU19TRUNUSU9OX0RPTkU7Ci0gCSAgcmV0dXJuIG9yaWdfdW5jb21wcmVzc2VkX3NpemU7Ci1AQCAtMzY0LDIwICszNjksMjQgQEAgU1lOT1BTSVMKLSAJYmZkX2Jvb2xlYW4gYmZkX2lzX3NlY3Rpb25fY29tcHJlc3NlZF93aXRoX2hlYWRlcgotIAkgIChiZmQgKmFiZmQsIGFzZWN0aW9uICpzZWN0aW9uLAotIAkgIGludCAqY29tcHJlc3Npb25faGVhZGVyX3NpemVfcCwKLS0JICBiZmRfc2l6ZV90eXBlICp1bmNvbXByZXNzZWRfc2l6ZV9wKTsKLSsJICBiZmRfc2l6ZV90eXBlICp1bmNvbXByZXNzZWRfc2l6ZV9wLAotKwkgIHVuc2lnbmVkIGludCAqdW5jb21wcmVzc2VkX2FsaWdubWVudF9wb3dlcl9wKTsKLSAKLSBERVNDUklQVElPTgotIAlSZXR1cm4gQGNvZGV7VFJVRX0gaWYgQHZhcntzZWN0aW9ufSBpcyBjb21wcmVzc2VkLiAgQ29tcHJlc3Npb24KLS0JaGVhZGVyIHNpemUgaXMgcmV0dXJuZWQgaW4gQHZhcntjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZV9wfSBhbmQKLS0JdW5jb21wcmVzc2VkIHNpemUgaXMgcmV0dXJuZWQgaW4gQHZhcnt1bmNvbXByZXNzZWRfc2l6ZV9wfS4gIElmCi0tCWNvbXByZXNzaW9uIGlzIHVuc3VwcG9ydGVkLCBjb21wcmVzc2lvbiBoZWFkZXIgc2l6ZSBpcyByZXR1cm5lZAotLQl3aXRoIC0xIGFuZCB1bmNvbXByZXNzZWQgc2l6ZSBpcyByZXR1cm5lZCB3aXRoIDAuCi0rCWhlYWRlciBzaXplIGlzIHJldHVybmVkIGluIEB2YXJ7Y29tcHJlc3Npb25faGVhZGVyX3NpemVfcH0sCi0rCXVuY29tcHJlc3NlZCBzaXplIGlzIHJldHVybmVkIGluIEB2YXJ7dW5jb21wcmVzc2VkX3NpemVfcH0KLSsJYW5kIHRoZSB1bmNvbXByZXNzZWQgZGF0YSBhbGlnbmVtZW50IHBvd2VyIGlzIHJldHVybmVkIGluCi0rCUB2YXJ7dW5jb21wcmVzc2VkX2FsaWduX3Bvd19wfS4gIElmIGNvbXByZXNzaW9uIGlzCi0rCXVuc3VwcG9ydGVkLCBjb21wcmVzc2lvbiBoZWFkZXIgc2l6ZSBpcyByZXR1cm5lZCB3aXRoIC0xCi0rCWFuZCB1bmNvbXByZXNzZWQgc2l6ZSBpcyByZXR1cm5lZCB3aXRoIDAuCi0gKi8KLSAKLSBiZmRfYm9vbGVhbgotIGJmZF9pc19zZWN0aW9uX2NvbXByZXNzZWRfd2l0aF9oZWFkZXIgKGJmZCAqYWJmZCwgc2VjX3B0ciBzZWMsCi0gCQkJCSAgICAgICBpbnQgKmNvbXByZXNzaW9uX2hlYWRlcl9zaXplX3AsCi0tCQkJCSAgICAgICBiZmRfc2l6ZV90eXBlICp1bmNvbXByZXNzZWRfc2l6ZV9wKQotKwkJCQkgICAgICAgYmZkX3NpemVfdHlwZSAqdW5jb21wcmVzc2VkX3NpemVfcCwKLSsJCQkJICAgICAgIHVuc2lnbmVkIGludCAqdW5jb21wcmVzc2VkX2FsaWduX3Bvd19wKQotIHsKLSAgIGJmZF9ieXRlIGhlYWRlcltNQVhfQ09NUFJFU1NJT05fSEVBREVSX1NJWkVdOwotICAgaW50IGNvbXByZXNzaW9uX2hlYWRlcl9zaXplOwotQEAgLTQxMiw3ICs0MjEsOCBAQCBiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkX3dpdGhfaGVhZGVyIChiZmQgKmFiZmQsIHNlY19wdHIgc2VjLAotICAgICAgIGlmIChjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZSAhPSAwKQotIAl7Ci0gCSAgaWYgKCFiZmRfY2hlY2tfY29tcHJlc3Npb25faGVhZGVyIChhYmZkLCBoZWFkZXIsIHNlYywKLS0JCQkJCSAgICAgdW5jb21wcmVzc2VkX3NpemVfcCkpCi0rCQkJCQkgICAgIHVuY29tcHJlc3NlZF9zaXplX3AsCi0rCQkJCQkgICAgIHVuY29tcHJlc3NlZF9hbGlnbl9wb3dfcCkpCi0gCSAgICBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZSA9IC0xOwotIAl9Ci0gICAgICAgLyogQ2hlY2sgZm9yIHRoZSBwYXRoYWxvZ2ljYWwgY2FzZSBvZiBhIGRlYnVnIHN0cmluZyBzZWN0aW9uIHRoYXQKLUBAIC00NDksOSArNDU5LDExIEBAIGJmZF9pc19zZWN0aW9uX2NvbXByZXNzZWQgKGJmZCAqYWJmZCwgc2VjX3B0ciBzZWMpCi0gewotICAgaW50IGNvbXByZXNzaW9uX2hlYWRlcl9zaXplOwotICAgYmZkX3NpemVfdHlwZSB1bmNvbXByZXNzZWRfc2l6ZTsKLSsgIHVuc2lnbmVkIGludCB1bmNvbXByZXNzZWRfYWxpZ25fcG93ZXI7Ci0gICByZXR1cm4gKGJmZF9pc19zZWN0aW9uX2NvbXByZXNzZWRfd2l0aF9oZWFkZXIgKGFiZmQsIHNlYywKLSAJCQkJCQkgJmNvbXByZXNzaW9uX2hlYWRlcl9zaXplLAotLQkJCQkJCSAmdW5jb21wcmVzc2VkX3NpemUpCi0rCQkJCQkJICZ1bmNvbXByZXNzZWRfc2l6ZSwKLSsJCQkJCQkgJnVuY29tcHJlc3NlZF9hbGlnbl9wb3dlcikKLSAJICAmJiBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZSA+PSAwCi0gCSAgJiYgdW5jb21wcmVzc2VkX3NpemUgPiAwKTsKLSB9Ci1AQCAtNDgwLDYgKzQ5Miw3IEBAIGJmZF9pbml0X3NlY3Rpb25fZGVjb21wcmVzc19zdGF0dXMgKGJmZCAqYWJmZCwgc2VjX3B0ciBzZWMpCi0gICBpbnQgY29tcHJlc3Npb25faGVhZGVyX3NpemU7Ci0gICBpbnQgaGVhZGVyX3NpemU7Ci0gICBiZmRfc2l6ZV90eXBlIHVuY29tcHJlc3NlZF9zaXplOwotKyAgdW5zaWduZWQgaW50IHVuY29tcHJlc3NlZF9hbGlnbm1lbnRfcG93ZXIgPSAwOwotIAotICAgY29tcHJlc3Npb25faGVhZGVyX3NpemUgPSBiZmRfZ2V0X2NvbXByZXNzaW9uX2hlYWRlcl9zaXplIChhYmZkLCBzZWMpOwotICAgaWYgKGNvbXByZXNzaW9uX2hlYWRlcl9zaXplID4gTUFYX0NPTVBSRVNTSU9OX0hFQURFUl9TSVpFKQotQEAgLTUwOCw3ICs1MjEsOCBAQCBiZmRfaW5pdF9zZWN0aW9uX2RlY29tcHJlc3Nfc3RhdHVzIChiZmQgKmFiZmQsIHNlY19wdHIgc2VjKQotICAgICAgIHVuY29tcHJlc3NlZF9zaXplID0gYmZkX2dldGI2NCAoaGVhZGVyICsgNCk7Ci0gICAgIH0KLSAgIGVsc2UgaWYgKCFiZmRfY2hlY2tfY29tcHJlc3Npb25faGVhZGVyIChhYmZkLCBoZWFkZXIsIHNlYywKLS0JCQkJCSAmdW5jb21wcmVzc2VkX3NpemUpKQotKwkJCQkJICAmdW5jb21wcmVzc2VkX3NpemUsCi0rCQkJCQkgICZ1bmNvbXByZXNzZWRfYWxpZ25tZW50X3Bvd2VyKSkKLSAgICAgewotICAgICAgIGJmZF9zZXRfZXJyb3IgKGJmZF9lcnJvcl93cm9uZ19mb3JtYXQpOwotICAgICAgIHJldHVybiBGQUxTRTsKLUBAIC01MTYsNiArNTMwLDcgQEAgYmZkX2luaXRfc2VjdGlvbl9kZWNvbXByZXNzX3N0YXR1cyAoYmZkICphYmZkLCBzZWNfcHRyIHNlYykKLSAKLSAgIHNlYy0+Y29tcHJlc3NlZF9zaXplID0gc2VjLT5zaXplOwotICAgc2VjLT5zaXplID0gdW5jb21wcmVzc2VkX3NpemU7Ci0rICBiZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50IChhYmZkLCBzZWMsIHVuY29tcHJlc3NlZF9hbGlnbm1lbnRfcG93ZXIpOwotICAgc2VjLT5jb21wcmVzc19zdGF0dXMgPSBERUNPTVBSRVNTX1NFQ1RJT05fU0laRUQ7Ci0gCi0gICByZXR1cm4gVFJVRTsKLWRpZmYgLS1naXQgYS9iZmQvZWxmLmMgYi9iZmQvZWxmLmMKLWluZGV4IDgyODI0MWQ0OGEuLmM0ZjEzMWRkY2YgMTAwNjQ0Ci0tLS0gYS9iZmQvZWxmLmMKLSsrKyBiL2JmZC9lbGYuYwotQEAgLTExNzcsMTEgKzExNzcsMTIgQEAgX2JmZF9lbGZfbWFrZV9zZWN0aW9uX2Zyb21fc2hkciAoYmZkICphYmZkLAotICAgICAgIGVudW0geyBub3RoaW5nLCBjb21wcmVzcywgZGVjb21wcmVzcyB9IGFjdGlvbiA9IG5vdGhpbmc7Ci0gICAgICAgaW50IGNvbXByZXNzaW9uX2hlYWRlcl9zaXplOwotICAgICAgIGJmZF9zaXplX3R5cGUgdW5jb21wcmVzc2VkX3NpemU7Ci0rICAgICAgdW5zaWduZWQgaW50IHVuY29tcHJlc3NlZF9hbGlnbl9wb3dlcjsKLSAgICAgICBiZmRfYm9vbGVhbiBjb21wcmVzc2VkCi0gCT0gYmZkX2lzX3NlY3Rpb25fY29tcHJlc3NlZF93aXRoX2hlYWRlciAoYWJmZCwgbmV3c2VjdCwKLSAJCQkJCQkgJmNvbXByZXNzaW9uX2hlYWRlcl9zaXplLAotLQkJCQkJCSAmdW5jb21wcmVzc2VkX3NpemUpOwotLQotKwkJCQkJCSAmdW5jb21wcmVzc2VkX3NpemUsCi0rCQkJCQkJICZ1bmNvbXByZXNzZWRfYWxpZ25fcG93ZXIpOwotICAgICAgIGlmIChjb21wcmVzc2VkKQotIAl7Ci0gCSAgLyogQ29tcHJlc3NlZCBzZWN0aW9uLiAgQ2hlY2sgaWYgd2Ugc2hvdWxkIGRlY29tcHJlc3MuICAqLwotZGlmZiAtLWdpdCBhL2JpbnV0aWxzL3JlYWRlbGYuYyBiL2JpbnV0aWxzL3JlYWRlbGYuYwotaW5kZXggZjRkZjY5N2E3ZC4uNGIwZWZhODg0ZiAxMDA2NDQKLS0tLSBhL2JpbnV0aWxzL3JlYWRlbGYuYwotKysrIGIvYmludXRpbHMvcmVhZGVsZi5jCi1AQCAtMTMzNDUsMTIgKzEzMzQ1LDYgQEAgZHVtcF9zZWN0aW9uX2FzX3N0cmluZ3MgKEVsZl9JbnRlcm5hbF9TaGRyICogc2VjdGlvbiwgRmlsZWRhdGEgKiBmaWxlZGF0YSkKLSAJCSAgICBwcmludGFibGVfc2VjdGlvbl9uYW1lIChmaWxlZGF0YSwgc2VjdGlvbiksIGNoZHIuY2hfdHlwZSk7Ci0gCSAgICAgIHJldHVybiBGQUxTRTsKLSAJICAgIH0KLS0JICBlbHNlIGlmIChjaGRyLmNoX2FkZHJhbGlnbiAhPSBzZWN0aW9uLT5zaF9hZGRyYWxpZ24pCi0tCSAgICB7Ci0tCSAgICAgIHdhcm4gKF8oImNvbXByZXNzZWQgc2VjdGlvbiAnJXMnIGlzIGNvcnJ1cHRlZFxuIiksCi0tCQkgICAgcHJpbnRhYmxlX3NlY3Rpb25fbmFtZSAoZmlsZWRhdGEsIHNlY3Rpb24pKTsKLS0JICAgICAgcmV0dXJuIEZBTFNFOwotLQkgICAgfQotIAkgIHVuY29tcHJlc3NlZF9zaXplID0gY2hkci5jaF9zaXplOwotIAkgIHN0YXJ0ICs9IGNvbXByZXNzaW9uX2hlYWRlcl9zaXplOwotIAkgIG5ld19zaXplIC09IGNvbXByZXNzaW9uX2hlYWRlcl9zaXplOwotQEAgLTEzNDkyLDEyICsxMzQ4Niw2IEBAIGR1bXBfc2VjdGlvbl9hc19ieXRlcyAoRWxmX0ludGVybmFsX1NoZHIgKiAgc2VjdGlvbiwKLSAJCSAgICBwcmludGFibGVfc2VjdGlvbl9uYW1lIChmaWxlZGF0YSwgc2VjdGlvbiksIGNoZHIuY2hfdHlwZSk7Ci0gCSAgICAgIHJldHVybiBGQUxTRTsKLSAJICAgIH0KLS0JICBlbHNlIGlmIChjaGRyLmNoX2FkZHJhbGlnbiAhPSBzZWN0aW9uLT5zaF9hZGRyYWxpZ24pCi0tCSAgICB7Ci0tCSAgICAgIHdhcm4gKF8oImNvbXByZXNzZWQgc2VjdGlvbiAnJXMnIGlzIGNvcnJ1cHRlZFxuIiksCi0tCQkgICAgcHJpbnRhYmxlX3NlY3Rpb25fbmFtZSAoZmlsZWRhdGEsIHNlY3Rpb24pKTsKLS0JICAgICAgcmV0dXJuIEZBTFNFOwotLQkgICAgfQotIAkgIHVuY29tcHJlc3NlZF9zaXplID0gY2hkci5jaF9zaXplOwotIAkgIHN0YXJ0ICs9IGNvbXByZXNzaW9uX2hlYWRlcl9zaXplOwotIAkgIG5ld19zaXplIC09IGNvbXByZXNzaW9uX2hlYWRlcl9zaXplOwotQEAgLTEzNjY3LDEyICsxMzY1NSw2IEBAIGxvYWRfc3BlY2lmaWNfZGVidWdfc2VjdGlvbiAoZW51bSBkd2FyZl9zZWN0aW9uX2Rpc3BsYXlfZW51bSAgZGVidWcsCi0gCQkgICAgc2VjdGlvbi0+bmFtZSwgY2hkci5jaF90eXBlKTsKLSAJICAgICAgcmV0dXJuIEZBTFNFOwotIAkgICAgfQotLQkgIGVsc2UgaWYgKGNoZHIuY2hfYWRkcmFsaWduICE9IHNlYy0+c2hfYWRkcmFsaWduKQotLQkgICAgewotLQkgICAgICB3YXJuIChfKCJjb21wcmVzc2VkIHNlY3Rpb24gJyVzJyBpcyBjb3JydXB0ZWRcbiIpLAotLQkJICAgIHNlY3Rpb24tPm5hbWUpOwotLQkgICAgICByZXR1cm4gRkFMU0U7Ci0tCSAgICB9Ci0gCSAgdW5jb21wcmVzc2VkX3NpemUgPSBjaGRyLmNoX3NpemU7Ci0gCSAgc3RhcnQgKz0gY29tcHJlc3Npb25faGVhZGVyX3NpemU7Ci0gCSAgc2l6ZSAtPSBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKLWRpZmYgLS1naXQgYS9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2R3Mi0zLnJTIGIvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9kdzItMy5yUwotaW5kZXggZjE2MzdlOTE0OS4uODZiYzczZDlhMiAxMDA2NDQKLS0tLSBhL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvZHcyLTMuclMKLSsrKyBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvZHcyLTMuclMKLUBAIC0xLDMgKzEsMyBAQAotICMuLi4KLS0gK1xbWyAwLTldK1xdIC5kZWJ1Z19pbmZvICsoUFJPR0JJVFN8TUlQU19EV0FSRikgKzArICtbMC05YS1mXSsgK1swLTlhLWZdKyBbMC05YS1mXSsgK0MgKzAgKzAgKzEKLSsgK1xbWyAwLTldK1xdIC5kZWJ1Z19pbmZvICsoUFJPR0JJVFN8TUlQU19EV0FSRikgKzArICtbMC05YS1mXSsgK1swLTlhLWZdKyBbMC05YS1mXSsgK0MgKzAgKzAgKyg0fDgpCi0gI3Bhc3MKLWRpZmYgLS1naXQgYS9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2R3Mi0zLnJ0IGIvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9kdzItMy5ydAotaW5kZXggZjU5Y2JhYTIyYi4uNzRlN2Y4ZGVjYSAxMDA2NDQKLS0tLSBhL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvZHcyLTMucnQKLSsrKyBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvZHcyLTMucnQKLUBAIC0xLDYgKzEsNiBAQAotICMuLi4KLSAgK1xbWyAwLTldK1xdIC5kZWJ1Z19pbmZvCi0tICsoUFJPR0JJVFN8TUlQU19EV0FSRikgKzArICtbMC05YS1mXSsgK1swLTlhLWZdKyArWzAtOWEtZl0rICswICswICsxCi0rICsoUFJPR0JJVFN8TUlQU19EV0FSRikgKzArICtbMC05YS1mXSsgK1swLTlhLWZdKyArWzAtOWEtZl0rICswICswICsoNHw4KQotICArXFswKzgwMFxdOiBDT01QUkVTU0VECi0gICtaTElCLCAwKzlkLCAxCi0gI3Bhc3MKLS0tIAotMi4yMC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMjMtZ29sZC1HZXQtYWxpZ25tZW50LW9mLXVuY29tcHJlc3NlZC1zZWN0aW9uLWZyb20tY2hfYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMjMtZ29sZC1HZXQtYWxpZ25tZW50LW9mLXVuY29tcHJlc3NlZC1zZWN0aW9uLWZyb20tY2hfYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWYwNzJhNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDIzLWdvbGQtR2V0LWFsaWdubWVudC1vZi11bmNvbXByZXNzZWQtc2VjdGlvbi1mcm9tLWNoX2EucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMDAgKzAsMCBAQAotRnJvbSAwMjYxZWM1MTFhYzA3MTc3ZmE0ODgxMzNlMGJiM2MwMzg2MDk3N2IzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogIkguSi4gTHUiIDxoamwudG9vbHNAZ21haWwuY29tPgotRGF0ZTogU3VuLCAyIERlYyAyMDE4IDA1OjQyOjM2IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8yXSBnb2xkOiBHZXQgYWxpZ25tZW50IG9mIHVuY29tcHJlc3NlZCBzZWN0aW9uIGZyb20KLSBjaF9hZGRyYWxpZ24KLQotVGhlIEVMRiBjb21wcmVzc2lvbiBoZWFkZXIgaGFzIGEgZmllbGQgKGNoX2FkZHJhbGlnbikgdGhhdCBpcyBzZXQgdG8KLXRoZSBhbGlnbm1lbnQgb2YgdGhlIHVuY29tcHJlc3NlZCBzZWN0aW9uLiBUaGlzIHdheSB0aGUgc2VjdGlvbiBpdHNlbGYKLWNhbiBoYXZlIGEgZGlmZmVyZW50IGFsaWdubWVudCB0aGFuIHRoZSBkZWNvbXByZXNzZWQgc2VjdGlvbi4gIFVwZGF0ZQotZGVjb21wcmVzc19pbnB1dF9zZWN0aW9uIHRvIGdldCBhbGlnbm1lbnQgb2YgdGhlIGRlY29tcHJlc3NlZCBzZWN0aW9uCi1hbmQgdXNlIGl0IHdoZW4gbWVyZ2luZyBkZWNvbXByZXNzZWQgc3RyaW5ncy4KLQotCVBSIGJpbnV0aWxzLzIzOTE5Ci0JKiBtZXJnZS5jYyAoT3V0cHV0X21lcmdlX3N0cmluZzxDaGFyX3R5cGU+Ojpkb19hZGRfaW5wdXRfc2VjdGlvbik6Ci0JR2V0IGFkZHJhbGlnbiBmcm9tIGRlY29tcHJlc3NlZF9zZWN0aW9uX2NvbnRlbnRzLgotCSogb2JqZWN0LmNjIChidWlsZF9jb21wcmVzc2VkX3NlY3Rpb25fbWFwKTogU2V0IGluZm8uYWRkcmFsaWduLgotCShPYmplY3Q6OmRlY29tcHJlc3NlZF9zZWN0aW9uX2NvbnRlbnRzKTogQWRkIGEgcGFsaWduCi0JYXJndW1lbnQgYW5kIHN0b3JlIHAtPnNlY29uZC5hZGRyYWxpZ24gaW4gKnBhbGlnbiBpZiBpdCBpc24ndAotCU5VTEwuCi0JKiBvYmplY3QuaCAoQ29tcHJlc3NlZF9zZWN0aW9uX2luZm8pOiBBZGQgYWRkcmFsaWduLgotCShzZWN0aW9uX2lzX2NvbXByZXNzZWQpOiBBZGQgYSBwYWxpZ24gYXJndW1lbnQsIGRlZmF1bHQgaXQKLQl0byBOVUxMLCBzdG9yZSBwLT5zZWNvbmQuYWRkcmFsaWduIGluICpwYWxpZ24gaWYgaXQgaXNuJ3QgTlVMTC4KLQkoT2JqZWN0OjpkZWNvbXByZXNzZWRfc2VjdGlvbl9jb250ZW50cyk6IExpa2V3aXNlLgotCSogb3V0cHV0LmNjIChPdXRwdXRfc2VjdGlvbjo6YWRkX2lucHV0X3NlY3Rpb24pOiBHZXQgYWRkcmFsaWduCi0JZnJvbSBzZWN0aW9uX2lzX2NvbXByZXNzZWQuCi0tLS0KLSBnb2xkL21lcmdlLmNjICB8ICA4ICsrKysrLS0tCi0gZ29sZC9vYmplY3QuY2MgfCAxMSArKysrKysrKystLQotIGdvbGQvb2JqZWN0LmggIHwgIDggKysrKysrLS0KLSBnb2xkL291dHB1dC5jYyB8IDExICsrKysrKy0tLS0tCi0gNCBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9naXQvZ2l0d2ViLmNnaT9wPWJpbnV0aWxzLWdkYi5naXQ7aD01ZjZjMjJhZWU3NGYxNzM5M2I4MjkzNGE1NjgyZDk4NTY3MmUwMTFhXQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotCi1kaWZmIC0tZ2l0IGEvZ29sZC9tZXJnZS5jYyBiL2dvbGQvbWVyZ2UuY2MKLWluZGV4IGRlMDBlZTlhZTkuLmQ3ZGUxMTc4OWYgMTAwNjQ0Ci0tLS0gYS9nb2xkL21lcmdlLmNjCi0rKysgYi9nb2xkL21lcmdlLmNjCi1AQCAtNDQwLDkgKzQ0MCwxMSBAQCBPdXRwdXRfbWVyZ2Vfc3RyaW5nPENoYXJfdHlwZT46OmRvX2FkZF9pbnB1dF9zZWN0aW9uKFJlbG9iaiogb2JqZWN0LAotIHsKLSAgIHNlY3Rpb25fc2l6ZV90eXBlIHNlY19sZW47Ci0gICBib29sIGlzX25ldzsKLSsgIHVpbnQ2NF90IGFkZHJhbGlnbiA9IHRoaXMtPmFkZHJhbGlnbigpOwotICAgY29uc3QgdW5zaWduZWQgY2hhciogcGRhdGEgPSBvYmplY3QtPmRlY29tcHJlc3NlZF9zZWN0aW9uX2NvbnRlbnRzKHNobmR4LAotIAkJCQkJCQkJICAgICAmc2VjX2xlbiwKLS0JCQkJCQkJCSAgICAgJmlzX25ldyk7Ci0rCQkJCQkJCQkgICAgICZpc19uZXcsCi0rCQkJCQkJCQkgICAgICZhZGRyYWxpZ24pOwotIAotICAgY29uc3QgQ2hhcl90eXBlKiBwID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBDaGFyX3R5cGUqPihwZGF0YSk7Ci0gICBjb25zdCBDaGFyX3R5cGUqIHBlbmQgPSBwICsgc2VjX2xlbiAvIHNpemVvZihDaGFyX3R5cGUpOwotQEAgLTQ5NCw3ICs0OTYsNyBAQCBPdXRwdXRfbWVyZ2Vfc3RyaW5nPENoYXJfdHlwZT46OmRvX2FkZF9pbnB1dF9zZWN0aW9uKFJlbG9iaiogb2JqZWN0LAotICAgLy8gYWxpZ25lZCwgc28gZWFjaCBzdHJpbmcgd2l0aGluIHRoZSBzZWN0aW9uIG11c3QgcmV0YWluIHRoZSBzYW1lCi0gICAvLyBtb2R1bG8uCi0gICB1aW50cHRyX3QgaW5pdF9hbGlnbl9tb2R1bG8gPSAocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHBkYXRhKQotLQkJCQkgJiAodGhpcy0+YWRkcmFsaWduKCkgLSAxKSk7Ci0rCQkJCSAmIChhZGRyYWxpZ24gLSAxKSk7Ci0gICBib29sIGhhc19taXNhbGlnbmVkX3N0cmluZ3MgPSBmYWxzZTsKLSAKLSAgIHdoaWxlIChwIDwgcGVuZCkKLUBAIC01MDMsNyArNTA1LDcgQEAgT3V0cHV0X21lcmdlX3N0cmluZzxDaGFyX3R5cGU+Ojpkb19hZGRfaW5wdXRfc2VjdGlvbihSZWxvYmoqIG9iamVjdCwKLSAKLSAgICAgICAvLyBXaXRoaW4gbWVyZ2UgaW5wdXQgc2VjdGlvbiBlYWNoIHN0cmluZyBtdXN0IGJlIGFsaWduZWQuCi0gICAgICAgaWYgKGxlbiAhPSAwCi0tCSAgJiYgKChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ocCkgJiAodGhpcy0+YWRkcmFsaWduKCkgLSAxKSkKLSsJICAmJiAoKHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihwKSAmIChhZGRyYWxpZ24gLSAxKSkKLSAJICAgICAgIT0gaW5pdF9hbGlnbl9tb2R1bG8pKQotIAkgIGhhc19taXNhbGlnbmVkX3N0cmluZ3MgPSB0cnVlOwotIAotZGlmZiAtLWdpdCBhL2dvbGQvb2JqZWN0LmNjIGIvZ29sZC9vYmplY3QuY2MKLWluZGV4IDM3NDM0MGZhMTYuLjcxMTc5M2U1ZTQgMTAwNjQ0Ci0tLS0gYS9nb2xkL29iamVjdC5jYwotKysrIGIvZ29sZC9vYmplY3QuY2MKLUBAIC03NTEsMTEgKzc1MSwxMyBAQCBidWlsZF9jb21wcmVzc2VkX3NlY3Rpb25fbWFwKAotIAkgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBjb250ZW50cyA9Ci0gCQkgIG9iai0+c2VjdGlvbl9jb250ZW50cyhpLCAmbGVuLCBmYWxzZSk7Ci0gCSAgICAgIHVpbnQ2NF90IHVuY29tcHJlc3NlZF9zaXplOwotKwkgICAgICBDb21wcmVzc2VkX3NlY3Rpb25faW5mbyBpbmZvOwotIAkgICAgICBpZiAoaXNfemNvbXByZXNzZWQpCi0gCQl7Ci0gCQkgIC8vIFNraXAgb3ZlciB0aGUgIi56ZGVidWciIHByZWZpeC4KLSAJCSAgbmFtZSArPSA3OwotIAkJICB1bmNvbXByZXNzZWRfc2l6ZSA9IGdldF91bmNvbXByZXNzZWRfc2l6ZShjb250ZW50cywgbGVuKTsKLSsJCSAgaW5mby5hZGRyYWxpZ24gPSBzaGRyLmdldF9zaF9hZGRyYWxpZ24oKTsKLSAJCX0KLSAJICAgICAgZWxzZQotIAkJewotQEAgLTc2Myw4ICs3NjUsOCBAQCBidWlsZF9jb21wcmVzc2VkX3NlY3Rpb25fbWFwKAotIAkJICBuYW1lICs9IDY7Ci0gCQkgIGVsZmNwcDo6Q2hkcjxzaXplLCBiaWdfZW5kaWFuPiBjaGRyKGNvbnRlbnRzKTsKLSAJCSAgdW5jb21wcmVzc2VkX3NpemUgPSBjaGRyLmdldF9jaF9zaXplKCk7Ci0rCQkgIGluZm8uYWRkcmFsaWduID0gY2hkci5nZXRfY2hfYWRkcmFsaWduKCk7Ci0gCQl9Ci0tCSAgICAgIENvbXByZXNzZWRfc2VjdGlvbl9pbmZvIGluZm87Ci0gCSAgICAgIGluZm8uc2l6ZSA9IGNvbnZlcnRfdG9fc2VjdGlvbl9zaXplX3R5cGUodW5jb21wcmVzc2VkX3NpemUpOwotIAkgICAgICBpbmZvLmZsYWcgPSBzaGRyLmdldF9zaF9mbGFncygpOwotIAkgICAgICBpbmZvLmNvbnRlbnRzID0gTlVMTDsKLUBAIC0zMDYwLDcgKzMwNjIsOCBAQCBjb25zdCB1bnNpZ25lZCBjaGFyKgotIE9iamVjdDo6ZGVjb21wcmVzc2VkX3NlY3Rpb25fY29udGVudHMoCi0gICAgIHVuc2lnbmVkIGludCBzaG5keCwKLSAgICAgc2VjdGlvbl9zaXplX3R5cGUqIHBsZW4sCi0tICAgIGJvb2wqIGlzX25ldykKLSsgICAgYm9vbCogaXNfbmV3LAotKyAgICB1aW50NjRfdCogcGFsaWduKQotIHsKLSAgIHNlY3Rpb25fc2l6ZV90eXBlIGJ1ZmZlcl9zaXplOwotICAgY29uc3QgdW5zaWduZWQgY2hhciogYnVmZmVyID0gdGhpcy0+ZG9fc2VjdGlvbl9jb250ZW50cyhzaG5keCwgJmJ1ZmZlcl9zaXplLAotQEAgLTMwODcsNiArMzA5MCw4IEBAIE9iamVjdDo6ZGVjb21wcmVzc2VkX3NlY3Rpb25fY29udGVudHMoCi0gICAgIHsKLSAgICAgICAqcGxlbiA9IHVuY29tcHJlc3NlZF9zaXplOwotICAgICAgICppc19uZXcgPSBmYWxzZTsKLSsgICAgICBpZiAocGFsaWduICE9IE5VTEwpCi0rCSpwYWxpZ24gPSBwLT5zZWNvbmQuYWRkcmFsaWduOwotICAgICAgIHJldHVybiBwLT5zZWNvbmQuY29udGVudHM7Ci0gICAgIH0KLSAKLUBAIC0zMTA4LDYgKzMxMTMsOCBAQCBPYmplY3Q6OmRlY29tcHJlc3NlZF9zZWN0aW9uX2NvbnRlbnRzKAotICAgLy8gb25jZSBpbiB0aGlzIHBhc3MuCi0gICAqcGxlbiA9IHVuY29tcHJlc3NlZF9zaXplOwotICAgKmlzX25ldyA9IHRydWU7Ci0rICBpZiAocGFsaWduICE9IE5VTEwpCi0rICAgICpwYWxpZ24gPSBwLT5zZWNvbmQuYWRkcmFsaWduOwotICAgcmV0dXJuIHVuY29tcHJlc3NlZF9kYXRhOwotIH0KLSAKLWRpZmYgLS1naXQgYS9nb2xkL29iamVjdC5oIGIvZ29sZC9vYmplY3QuaAotaW5kZXggMGI3ODZhNTQ3MS4uYjk5NTQ4NDYzZCAxMDA2NDQKLS0tLSBhL2dvbGQvb2JqZWN0LmgKLSsrKyBiL2dvbGQvb2JqZWN0LmgKLUBAIC0zNzMsNiArMzczLDcgQEAgc3RydWN0IENvbXByZXNzZWRfc2VjdGlvbl9pbmZvCi0gewotICAgc2VjdGlvbl9zaXplX3R5cGUgc2l6ZTsKLSAgIGVsZmNwcDo6RWxmX1h3b3JkIGZsYWc7Ci0rICB1aW50NjRfdCBhZGRyYWxpZ247Ci0gICBjb25zdCB1bnNpZ25lZCBjaGFyKiBjb250ZW50czsKLSB9OwotIHR5cGVkZWYgc3RkOjptYXA8dW5zaWduZWQgaW50LCBDb21wcmVzc2VkX3NlY3Rpb25faW5mbz4gQ29tcHJlc3NlZF9zZWN0aW9uX21hcDsKLUBAIC04MDgsNyArODA5LDggQEAgY2xhc3MgT2JqZWN0Ci0gCi0gICBib29sCi0gICBzZWN0aW9uX2lzX2NvbXByZXNzZWQodW5zaWduZWQgaW50IHNobmR4LAotLQkJCXNlY3Rpb25fc2l6ZV90eXBlKiB1bmNvbXByZXNzZWRfc2l6ZSkgY29uc3QKLSsJCQlzZWN0aW9uX3NpemVfdHlwZSogdW5jb21wcmVzc2VkX3NpemUsCi0rCQkJZWxmY3BwOjpFbGZfWHdvcmQqIHBhbGlnbiA9IE5VTEwpIGNvbnN0Ci0gICB7Ci0gICAgIGlmICh0aGlzLT5jb21wcmVzc2VkX3NlY3Rpb25zXyA9PSBOVUxMKQotICAgICAgIHJldHVybiBmYWxzZTsKLUBAIC04MTgsNiArODIwLDggQEAgY2xhc3MgT2JqZWN0Ci0gICAgICAgewotIAlpZiAodW5jb21wcmVzc2VkX3NpemUgIT0gTlVMTCkKLSAJICAqdW5jb21wcmVzc2VkX3NpemUgPSBwLT5zZWNvbmQuc2l6ZTsKLSsJaWYgKHBhbGlnbiAhPSBOVUxMKQotKwkgICpwYWxpZ24gPSBwLT5zZWNvbmQuYWRkcmFsaWduOwotIAlyZXR1cm4gdHJ1ZTsKLSAgICAgICB9Ci0gICAgIHJldHVybiBmYWxzZTsKLUBAIC04MjgsNyArODMyLDcgQEAgY2xhc3MgT2JqZWN0Ci0gICAvLyBieSB0aGUgY2FsbGVyLgotICAgY29uc3QgdW5zaWduZWQgY2hhcioKLSAgIGRlY29tcHJlc3NlZF9zZWN0aW9uX2NvbnRlbnRzKHVuc2lnbmVkIGludCBzaG5keCwgc2VjdGlvbl9zaXplX3R5cGUqIHBsZW4sCi0tCQkJCWJvb2wqIGlzX2NhY2hlZCk7Ci0rCQkJCWJvb2wqIGlzX2NhY2hlZCwgdWludDY0X3QqIHBhbGlnbiA9IE5VTEwpOwotIAotICAgLy8gRGlzY2FyZCBhbnkgYnVmZmVycyBvZiBkZWNvbXByZXNzZWQgc2VjdGlvbnMuICBUaGlzIGlzIGRvbmUKLSAgIC8vIGF0IHRoZSBlbmQgb2YgdGhlIEFkZF9zeW1ib2xzIHRhc2suCi1kaWZmIC0tZ2l0IGEvZ29sZC9vdXRwdXQuY2MgYi9nb2xkL291dHB1dC5jYwotaW5kZXggMTcwMWRiMWM5OS4uNzVhYzNiY2Y5NyAxMDA2NDQKLS0tLSBhL2dvbGQvb3V0cHV0LmNjCi0rKysgYi9nb2xkL291dHB1dC5jYwotQEAgLTI0NDgsNyArMjQ0OCwxMyBAQCBPdXRwdXRfc2VjdGlvbjo6YWRkX2lucHV0X3NlY3Rpb24oTGF5b3V0KiBsYXlvdXQsCi0gCQkJCSAgdW5zaWduZWQgaW50IHJlbG9jX3NobmR4LAotIAkJCQkgIGJvb2wgaGF2ZV9zZWN0aW9uc19zY3JpcHQpCi0gewotKyAgc2VjdGlvbl9zaXplX3R5cGUgaW5wdXRfc2VjdGlvbl9zaXplID0gc2hkci5nZXRfc2hfc2l6ZSgpOwotKyAgc2VjdGlvbl9zaXplX3R5cGUgdW5jb21wcmVzc2VkX3NpemU7Ci0gICBlbGZjcHA6OkVsZl9Yd29yZCBhZGRyYWxpZ24gPSBzaGRyLmdldF9zaF9hZGRyYWxpZ24oKTsKLSsgIGlmIChvYmplY3QtPnNlY3Rpb25faXNfY29tcHJlc3NlZChzaG5keCwgJnVuY29tcHJlc3NlZF9zaXplLAotKwkJCQkgICAgJmFkZHJhbGlnbikpCi0rICAgIGlucHV0X3NlY3Rpb25fc2l6ZSA9IHVuY29tcHJlc3NlZF9zaXplOwotKwotICAgaWYgKChhZGRyYWxpZ24gJiAoYWRkcmFsaWduIC0gMSkpICE9IDApCi0gICAgIHsKLSAgICAgICBvYmplY3QtPmVycm9yKF8oImludmFsaWQgYWxpZ25tZW50ICVsdSBmb3Igc2VjdGlvbiBcIiVzXCIiKSwKLUBAIC0yNDk4LDExICsyNTA0LDYgQEAgT3V0cHV0X3NlY3Rpb246OmFkZF9pbnB1dF9zZWN0aW9uKExheW91dCogbGF5b3V0LAotIAl9Ci0gICAgIH0KLSAKLS0gIHNlY3Rpb25fc2l6ZV90eXBlIGlucHV0X3NlY3Rpb25fc2l6ZSA9IHNoZHIuZ2V0X3NoX3NpemUoKTsKLS0gIHNlY3Rpb25fc2l6ZV90eXBlIHVuY29tcHJlc3NlZF9zaXplOwotLSAgaWYgKG9iamVjdC0+c2VjdGlvbl9pc19jb21wcmVzc2VkKHNobmR4LCAmdW5jb21wcmVzc2VkX3NpemUpKQotLSAgICBpbnB1dF9zZWN0aW9uX3NpemUgPSB1bmNvbXByZXNzZWRfc2l6ZTsKLS0KLSAgIG9mZl90IG9mZnNldF9pbl9zZWN0aW9uOwotIAotICAgaWYgKHRoaXMtPmhhc19maXhlZF9sYXlvdXQoKSkKLS0tIAotMi4yMC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE3MzU4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTczNTgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1YTFlYTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTczNTgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjEgKzAsMCBAQAotRnJvbSAzMDgzODEzMjk5N2U2YTNjZmUzZWMxMWM1OGIzMmIyMmY2ZjZiMTAyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxhbiBNb2RyYSA8YW1vZHJhQGdtYWlsLmNvbT4KLURhdGU6IFRodSwgMjAgU2VwIDIwMTggMTU6Mjk6MTcgKzA5MzAKLVN1YmplY3Q6IFtQQVRDSF0gQnVnIDIzNjg2LCB0d28gc2VnbWVudCBmYXVsdHMgaW4gbm0KLQotRml4ZXMgdGhlIGJ1Z3MgZXhwb3NlZCBieSB0aGUgdGVzdGNhc2VzIGluIHRoZSBQUiwgcGx1cyB0d28gbW9yZSBidWdzCi1JIG5vdGljZWQgd2hlbiBsb29raW5nIGF0IF9iZmRfc3RhYl9zZWN0aW9uX2ZpbmRfbmVhcmVzdF9saW5lLgotCi0JUFIgMjM2ODYKLQkqIGR3YXJmMi5jIChyZWFkX3NlY3Rpb24pOiBFcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gbWFsbG9jCi0JIihiZmRfc2l6ZV90eXBlKSAtMSIuCi0JKiBzeW1zLmMgKF9iZmRfc3RhYl9zZWN0aW9uX2ZpbmRfbmVhcmVzdF9saW5lKTogQm91bmRzIGNoZWNrCi0JZnVuY3Rpb25fbmFtZS4gIEJvdW5kcyBjaGVjayByZWxvYyBhZGRyZXNzLiAgRm9ybWF0dGluZy4gIEVuc3VyZQotCS5zdGFic3RyIHplcm8gdGVybWluYXRlZC4KLUNWRTogQ1ZFLTIwMTgtMTczNTggYW5kIENWRS0yMDE4LTE3MzU5Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBaaGl4aW9uZyBDaGkgPHpoaXhpb25nLmNoaUB3aW5kcml2ZXIuY29tPgotLS0tCi0gYmZkL0NoYW5nZUxvZyB8ICA5ICsrKysrKysrKwotIGJmZC9kd2FyZjIuYyAgfCAgOSArKysrKysrKy0KLSBiZmQvc3ltcy5jICAgIHwgMjIgKysrKysrKysrKysrKysrKy0tLS0tLQotIDMgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotLS0tIGEvYmZkL2R3YXJmMi5jCi0rKysgYi9iZmQvZHdhcmYyLmMKLUBAIC01MjcsNiArNTI3LDcgQEAgcmVhZF9zZWN0aW9uIChiZmQgKgkgICAgICBhYmZkLAotICAgYXNlY3Rpb24gKm1zZWM7Ci0gICBjb25zdCBjaGFyICpzZWN0aW9uX25hbWUgPSBzZWMtPnVuY29tcHJlc3NlZF9uYW1lOwotICAgYmZkX2J5dGUgKmNvbnRlbnRzID0gKnNlY3Rpb25fYnVmZmVyOwotKyAgYmZkX3NpemVfdHlwZSBhbXQ7Ci0gCi0gICAvKiBUaGUgc2VjdGlvbiBtYXkgaGF2ZSBhbHJlYWR5IGJlZW4gcmVhZC4gICovCi0gICBpZiAoY29udGVudHMgPT0gTlVMTCkKLUBAIC01NDksNyArNTUwLDEzIEBAIHJlYWRfc2VjdGlvbiAoYmZkICoJICAgICAgYWJmZCwKLSAgICAgICAqc2VjdGlvbl9zaXplID0gbXNlYy0+cmF3c2l6ZSA/IG1zZWMtPnJhd3NpemUgOiBtc2VjLT5zaXplOwotICAgICAgIC8qIFBhcmFub2lhIC0gYWxsb2Mgb25lIGV4dHJhIHNvIHRoYXQgd2UgY2FuIG1ha2Ugc3VyZSBhIHN0cmluZwotIAkgc2VjdGlvbiBpcyBOVUwgdGVybWluYXRlZC4gICovCi0tICAgICAgY29udGVudHMgPSAoYmZkX2J5dGUgKikgYmZkX21hbGxvYyAoKnNlY3Rpb25fc2l6ZSArIDEpOwotKyAgICAgIGFtdCA9ICpzZWN0aW9uX3NpemUgKyAxOwotKyAgICAgIGlmIChhbXQgPT0gMCkKLSsJewotKwkgIGJmZF9zZXRfZXJyb3IgKGJmZF9lcnJvcl9ub19tZW1vcnkpOwotKwkgIHJldHVybiBGQUxTRTsKLSsJfQotKyAgICAgIGNvbnRlbnRzID0gKGJmZF9ieXRlICopIGJmZF9tYWxsb2MgKGFtdCk7Ci0gICAgICAgaWYgKGNvbnRlbnRzID09IE5VTEwpCi0gCXJldHVybiBGQUxTRTsKLSAgICAgICBpZiAoc3ltcwotLS0tIGEvYmZkL3N5bXMuYwotKysrIGIvYmZkL3N5bXMuYwotQEAgLTEwMzUsNiArMTAzNSwxMCBAQCBfYmZkX3N0YWJfc2VjdGlvbl9maW5kX25lYXJlc3RfbGluZSAoYmZkCi0gCQkJCQkgMCwgc3Ryc2l6ZSkpCi0gCXJldHVybiBGQUxTRTsKLSAKLSsgICAgICAvKiBTdGFiIHN0cmluZ3Mgb3VnaHQgdG8gYmUgbnVsIHRlcm1pbmF0ZWQuICBFbnN1cmUgdGhlIGxhc3Qgb25lCi0rCSBpcywgdG8gcHJldmVudCBydW5uaW5nIG9mZiB0aGUgZW5kIG9mIHRoZSBidWZmZXIuICAqLwotKyAgICAgIGluZm8tPnN0cnNbc3Ryc2l6ZSAtIDFdID0gMDsKLSsKLSAgICAgICAvKiBJZiB0aGlzIGlzIGEgcmVsb2NhdGFibGUgb2JqZWN0IGZpbGUsIHdlIGhhdmUgdG8gcmVsb2NhdGUKLSAJIHRoZSBlbnRyaWVzIGluIC5zdGFiLiAgVGhpcyBzaG91bGQgYWx3YXlzIGJlIHNpbXBsZSAzMiBiaXQKLSAJIHJlbG9jYXRpb25zIGFnYWluc3Qgc3ltYm9scyBkZWZpbmVkIGluIHRoaXMgb2JqZWN0IGZpbGUsIHNvCi1AQCAtMTA3Myw3ICsxMDc3LDggQEAgX2JmZF9zdGFiX3NlY3Rpb25fZmluZF9uZWFyZXN0X2xpbmUgKGJmZAotIAkJICB8fCByLT5ob3d0by0+Yml0c2l6ZSAhPSAzMgotIAkJICB8fCByLT5ob3d0by0+cGNfcmVsYXRpdmUKLSAJCSAgfHwgci0+aG93dG8tPmJpdHBvcyAhPSAwCi0tCQkgIHx8IHItPmhvd3RvLT5kc3RfbWFzayAhPSAweGZmZmZmZmZmKQotKwkJICB8fCByLT5ob3d0by0+ZHN0X21hc2sgIT0gMHhmZmZmZmZmZgotKwkJICB8fCByLT5hZGRyZXNzICogYmZkX29jdGV0c19wZXJfYnl0ZSAoYWJmZCkgKyA0ID4gc3RhYnNpemUpCi0gCQl7Ci0gCQkgIF9iZmRfZXJyb3JfaGFuZGxlcgotIAkJICAgIChfKCJ1bnN1cHBvcnRlZCAuc3RhYiByZWxvY2F0aW9uIikpOwotQEAgLTExOTUsNyArMTIwMCw4IEBAIF9iZmRfc3RhYl9zZWN0aW9uX2ZpbmRfbmVhcmVzdF9saW5lIChiZmQKLSAJCXsKLSAJCSAgbnVsX2Z1biA9IHN0YWI7Ci0gCQkgIG51bF9zdHIgPSBzdHI7Ci0tCQkgIGlmIChmaWxlX25hbWUgPj0gKGNoYXIgKikgaW5mby0+c3RycyArIHN0cnNpemUgfHwgZmlsZV9uYW1lIDwgKGNoYXIgKikgc3RyKQotKwkJICBpZiAoZmlsZV9uYW1lID49IChjaGFyICopIGluZm8tPnN0cnMgKyBzdHJzaXplCi0rCQkgICAgICB8fCBmaWxlX25hbWUgPCAoY2hhciAqKSBzdHIpCi0gCQkgICAgZmlsZV9uYW1lID0gTlVMTDsKLSAJCSAgaWYgKHN0YWIgKyBTVEFCU0laRSArIFRZUEVPRkYgPCBpbmZvLT5zdGFicyArIHN0YWJzaXplCi0gCQkgICAgICAmJiAqKHN0YWIgKyBTVEFCU0laRSArIFRZUEVPRkYpID09IChiZmRfYnl0ZSkgTl9TTykKLUBAIC0xMjA2LDcgKzEyMTIsOCBAQCBfYmZkX3N0YWJfc2VjdGlvbl9maW5kX25lYXJlc3RfbGluZSAoYmZkCi0gCQkgICAgICBkaXJlY3RvcnlfbmFtZSA9IGZpbGVfbmFtZTsKLSAJCSAgICAgIGZpbGVfbmFtZSA9ICgoY2hhciAqKSBzdHIKLSAJCQkJICAgKyBiZmRfZ2V0XzMyIChhYmZkLCBzdGFiICsgU1RSRFhPRkYpKTsKLS0JCSAgICAgIGlmIChmaWxlX25hbWUgPj0gKGNoYXIgKikgaW5mby0+c3RycyArIHN0cnNpemUgfHwgZmlsZV9uYW1lIDwgKGNoYXIgKikgc3RyKQotKwkJICAgICAgaWYgKGZpbGVfbmFtZSA+PSAoY2hhciAqKSBpbmZvLT5zdHJzICsgc3Ryc2l6ZQotKwkJCSAgfHwgZmlsZV9uYW1lIDwgKGNoYXIgKikgc3RyKQotIAkJCWZpbGVfbmFtZSA9IE5VTEw7Ci0gCQkgICAgfQotIAkJfQotQEAgLTEyMTcsNyArMTIyNCw4IEBAIF9iZmRfc3RhYl9zZWN0aW9uX2ZpbmRfbmVhcmVzdF9saW5lIChiZmQKLSAJICAgICAgZmlsZV9uYW1lID0gKGNoYXIgKikgc3RyICsgYmZkX2dldF8zMiAoYWJmZCwgc3RhYiArIFNUUkRYT0ZGKTsKLSAJICAgICAgLyogUFIgMTc1MTI6IGZpbGU6IDBjNjgwYTFmLiAgKi8KLSAJICAgICAgLyogUFIgMTc1MTI6IGZpbGU6IDVkYThhZWM0LiAgKi8KLS0JICAgICAgaWYgKGZpbGVfbmFtZSA+PSAoY2hhciAqKSBpbmZvLT5zdHJzICsgc3Ryc2l6ZSB8fCBmaWxlX25hbWUgPCAoY2hhciAqKSBzdHIpCi0rCSAgICAgIGlmIChmaWxlX25hbWUgPj0gKGNoYXIgKikgaW5mby0+c3RycyArIHN0cnNpemUKLSsJCSAgfHwgZmlsZV9uYW1lIDwgKGNoYXIgKikgc3RyKQotIAkJZmlsZV9uYW1lID0gTlVMTDsKLSAJICAgICAgYnJlYWs7Ci0gCi1AQCAtMTIyNiw3ICsxMjM0LDggQEAgX2JmZF9zdGFiX3NlY3Rpb25fZmluZF9uZWFyZXN0X2xpbmUgKGJmZAotIAkgICAgICBmdW5jdGlvbl9uYW1lID0gKGNoYXIgKikgc3RyICsgYmZkX2dldF8zMiAoYWJmZCwgc3RhYiArIFNUUkRYT0ZGKTsKLSAJICAgICAgaWYgKGZ1bmN0aW9uX25hbWUgPT0gKGNoYXIgKikgc3RyKQotIAkJY29udGludWU7Ci0tCSAgICAgIGlmIChmdW5jdGlvbl9uYW1lID49IChjaGFyICopIGluZm8tPnN0cnMgKyBzdHJzaXplKQotKwkgICAgICBpZiAoZnVuY3Rpb25fbmFtZSA+PSAoY2hhciAqKSBpbmZvLT5zdHJzICsgc3Ryc2l6ZQotKwkJICB8fCBmdW5jdGlvbl9uYW1lIDwgKGNoYXIgKikgc3RyKQotIAkJZnVuY3Rpb25fbmFtZSA9IE5VTEw7Ci0gCi0gCSAgICAgIG51bF9mdW4gPSBOVUxMOwotQEAgLTEzMzUsNyArMTM0NCw4IEBAIF9iZmRfc3RhYl9zZWN0aW9uX2ZpbmRfbmVhcmVzdF9saW5lIChiZmQKLSAJICBpZiAodmFsIDw9IG9mZnNldCkKLSAJICAgIHsKLSAJICAgICAgZmlsZV9uYW1lID0gKGNoYXIgKikgc3RyICsgYmZkX2dldF8zMiAoYWJmZCwgc3RhYiArIFNUUkRYT0ZGKTsKLS0JICAgICAgaWYgKGZpbGVfbmFtZSA+PSAoY2hhciAqKSBpbmZvLT5zdHJzICsgc3Ryc2l6ZSB8fCBmaWxlX25hbWUgPCAoY2hhciAqKSBzdHIpCi0rCSAgICAgIGlmIChmaWxlX25hbWUgPj0gKGNoYXIgKikgaW5mby0+c3RycyArIHN0cnNpemUKLSsJCSAgfHwgZmlsZV9uYW1lIDwgKGNoYXIgKikgc3RyKQotIAkJZmlsZV9uYW1lID0gTlVMTDsKLSAJICAgICAgKnBsaW5lID0gMDsKLSAJICAgIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE3MzYwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTczNjAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1YzYzNzkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTczNjAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi1Gcm9tIGNmOTNlOWMyY2Y4ZjhiMjU2NmY4ZmM4NmU5NjE1OTJiNTFiNTk4MGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGFuIE1vZHJhIDxhbW9kcmFAZ21haWwuY29tPgotRGF0ZTogVGh1LCAyMCBTZXAgMjAxOCAxODoyMzoxNyArMDkzMAotU3ViamVjdDogW1BBVENIXSBQUjIzNjg1LCBidWZmZXIgb3ZlcmZsb3cKLQotCVBSIDIzNjg1Ci0JKiBwZVhYaWdlbi5jIChwZV9wcmludF9lZGF0YSk6IENvcnJlY3QgZXhwb3J0IGFkZHJlc3MgdGFibGUKLQlvdmVyZmxvdyBjaGVja3MuICBDaGVjayBkYXRhb2ZmIGFnYWluc3Qgc2VjdGlvbiBzaXplIHRvby4KLQotQ1ZFOiBDVkUtMjAxOC0xNzM2MAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogWmhpeGlvbmcgQ2hpIDx6aGl4aW9uZy5jaGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGJmZC9DaGFuZ2VMb2cgIHwgIDYgKysrKysrCi0gYmZkL3BlWFhpZ2VuLmMgfCAxMSArKysrKystLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLQotLS0tIGEvYmZkL3BlWFhpZ2VuLmMKLSsrKyBiL2JmZC9wZVhYaWdlbi5jCi1AQCAtMTY2MSw3ICsxNjYxLDggQEAgcGVfcHJpbnRfZWRhdGEgKGJmZCAqIGFiZmQsIHZvaWQgKiB2ZmlsZQotIAotICAgICAgIGRhdGFvZmYgPSBhZGRyIC0gc2VjdGlvbi0+dm1hOwotICAgICAgIGRhdGFzaXplID0gZXh0cmEtPkRhdGFEaXJlY3RvcnlbUEVfRVhQT1JUX1RBQkxFXS5TaXplOwotLSAgICAgIGlmIChkYXRhc2l6ZSA+IHNlY3Rpb24tPnNpemUgLSBkYXRhb2ZmKQotKyAgICAgIGlmIChkYXRhb2ZmID4gc2VjdGlvbi0+c2l6ZQotKwkgIHx8IGRhdGFzaXplID4gc2VjdGlvbi0+c2l6ZSAtIGRhdGFvZmYpCi0gCXsKLSAJICBmcHJpbnRmIChmaWxlLAotIAkJICAgXygiXG5UaGVyZSBpcyBhbiBleHBvcnQgdGFibGUgaW4gJXMsIGJ1dCBpdCBkb2VzIG5vdCBmaXQgaW50byB0aGF0IHNlY3Rpb25cbiIpLAotQEAgLTE3NzgsMTEgKzE3NzksMTEgQEAgcGVfcHJpbnRfZWRhdGEgKGJmZCAqIGFiZmQsIHZvaWQgKiB2ZmlsZQotIAkgIGVkdC5iYXNlKTsKLSAKLSAgIC8qIFBSIDE3NTEyOiBIYW5kbGUgY29ycnVwdCBQRSBiaW5hcmllcy4gICovCi0tICBpZiAoZWR0LmVhdF9hZGRyICsgKGVkdC5udW1fZnVuY3Rpb25zICogNCkgLSBhZGogPj0gZGF0YXNpemUKLSsgIC8qIFBSIDE3NTEyIGZpbGU6IDE0MC0xNjUwMTgtMC4wMDQuICAqLwotKyAgaWYgKGVkdC5lYXRfYWRkciAtIGFkaiA+PSBkYXRhc2l6ZQotICAgICAgIC8qIFBSIDE3NTEyOiBmaWxlOiAwOTJiMTgyOSAqLwotLSAgICAgIHx8IChlZHQubnVtX2Z1bmN0aW9ucyAqIDQpIDwgZWR0Lm51bV9mdW5jdGlvbnMKLS0gICAgICAvKiBQUiAxNzUxMiBmaWxlOiAxNDAtMTY1MDE4LTAuMDA0LiAgKi8KLS0gICAgICB8fCBkYXRhICsgZWR0LmVhdF9hZGRyIC0gYWRqIDwgZGF0YSkKLSsgICAgICB8fCAoZWR0Lm51bV9mdW5jdGlvbnMgKyAxKSAqIDQgPCBlZHQubnVtX2Z1bmN0aW9ucwotKyAgICAgIHx8IGVkdC5lYXRfYWRkciAtIGFkaiArIChlZHQubnVtX2Z1bmN0aW9ucyArIDEpICogNCA+IGRhdGFzaXplKQotICAgICBmcHJpbnRmIChmaWxlLCBfKCJcdEludmFsaWQgRXhwb3J0IEFkZHJlc3MgVGFibGUgcnZhICgweCVseCkgb3IgZW50cnkgY291bnQgKDB4JWx4KVxuIiksCi0gCSAgICAgKGxvbmcpIGVkdC5lYXRfYWRkciwKLSAJICAgICAobG9uZykgZWR0Lm51bV9mdW5jdGlvbnMpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTgzMDkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy9DVkUtMjAxOC0xODMwOS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDEwZTZiNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy9DVkUtMjAxOC0xODMwOS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI1MSArMCwwIEBACi1Gcm9tIDA5MzBjYjMwMjFiODA3OGIzNGNmMjE2ZTc5ZWI4NjA4ZDAxNzg2NGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGFuIE1vZHJhIDxhbW9kcmFAZ21haWwuY29tPgotRGF0ZTogU2F0LCAxMyBPY3QgMjAxOCAyMjowMzowMiArMTAzMAotU3ViamVjdDogW1BBVENIXSBfYmZkX2NsZWFyX2NvbnRlbnRzIGJvdW5kcyBjaGVja2luZwotCi1UaGlzIFBSIHNob3dzIGEgZnV6emVkIGJpbmFyeSB0cmlnZ2VyaW5nIGEgc2VnZmF1bHQgdmlhIGEgYmFkCi1yZWxvY2F0aW9uIGluIC5kZWJ1Z19saW5lLiAgSXQgdHVybnMgb3V0IHRoYXQgdW5saWtlIG5vcm1hbAotcmVsb2NhdGlvbnMgYXBwbGllZCB0byBhIHNlY3Rpb24sIHRoZSBsaW5rZXIgYXBwbGllcyB0aG9zZSB3aXRoCi1zeW1ib2xzIGZyb20gZGlzY2FyZGVkIHNlY3Rpb25zIHZpYSBfYmZkX2NsZWFyX2NvbnRlbnRzIHdpdGhvdXQKLWNoZWNraW5nIHRoYXQgdGhlIHJlbG9jYXRpb24gaXMgd2l0aGluIHRoZSBzZWN0aW9uIGJvdW5kcy4gIFRoZSBzYW1lCi10aGluZyBub3cgaGFwcGVucyB3aGVuIHJlYWRpbmcgZGVidWcgc2VjdGlvbnMgc2luY2UgY29tbWl0Ci1hNGNkOTQ3YWNhMjMsIHRoZSBQUjIzNDI1IGZpeC4KLQotCVBSIDIzNzcwCi0JUFIgMjM0MjUKLQkqIHJlbG9jLmMgKF9iZmRfY2xlYXJfY29udGVudHMpOiBSZXBsYWNlICJsb2NhdGlvbiIgcGFyYW0gd2l0aAotCSJidWYiIGFuZCAib2ZmIi4gIEJvdW5kcyBjaGVjayAib2ZmIi4gIFJldHVybiBzdGF0dXMuCi0JKiBjb2ZmbGluay5jIChfYmZkX2NvZmZfZ2VuZXJpY19yZWxvY2F0ZV9zZWN0aW9uKTogVXBkYXRlCi0JX2JmZF9jbGVhcl9jb250ZW50cyBjYWxsLgotCSogZWxmLWJmZC5oIChSRUxPQ19BR0FJTlNUX0RJU0NBUkRFRF9TRUNUSU9OKTogTGlrZXdpc2UuCi0JKiBlbGYzMi1hcmMuYyAoZWxmX2FyY19yZWxvY2F0ZV9zZWN0aW9uKTogTGlrZXdpc2UuCi0JKiBlbGYzMi1pMzg2LmMgKGVsZl9pMzg2X3JlbG9jYXRlX3NlY3Rpb24pOiBMaWtld2lzZS4KLQkqIGVsZjMyLW1ldGFnLmMgKG1ldGFnX2ZpbmFsX2xpbmtfcmVsb2NhdGUpOiBMaWtld2lzZS4KLQkqIGVsZjMyLW5kczMyLmMgKG5kczMyX2VsZl9nZXRfcmVsb2NhdGVkX3NlY3Rpb25fY29udGVudHMpOiBMaWtld2lzZS4KLQkqIGVsZjMyLXBwYy5jIChwcGNfZWxmX3JlbG9jYXRlX3NlY3Rpb24pOiBMaWtld2lzZS4KLQkqIGVsZjMyLXZpc2l1bS5jICh2aXNpdW1fZWxmX3JlbG9jYXRlX3NlY3Rpb24pOiBMaWtld2lzZS4KLQkqIGVsZjY0LXBwYy5jIChwcGM2NF9lbGZfcmVsb2NhdGVfc2VjdGlvbik6IExpa2V3aXNlLgotCSogZWxmNjQteDg2LTY0LmMgKihlbGZfeDg2XzY0X3JlbG9jYXRlX3NlY3Rpb24pOiBMaWtld2lzZS4KLQkqIGxpYmJmZC1pbi5oIChfYmZkX2NsZWFyX2NvbnRlbnRzKTogVXBkYXRlIHByb3RvdHlwZS4KLQkqIGxpYmJmZC5oOiBSZWdlbmVyYXRlLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1DVkU6IENWRS0yMDE4LTE4NjA1Ci1TaWduZWQtb2ZmLWJ5OiBaaGl4aW9uZyBDaGkgPHpoaXhpb25nLmNoaUB3aW5kcml2ZXIuY29tPgotLS0tCi0gYmZkL0NoYW5nZUxvZyAgICAgIHwgMjAgKysrKysrKysrKysrKysrKysrKysKLSBiZmQvY29mZmxpbmsuYyAgICAgfCAgMiArLQotIGJmZC9lbGYtYmZkLmggICAgICB8ICAyICstCi0gYmZkL2VsZjMyLWFyYy5jICAgIHwgIDIgKy0KLSBiZmQvZWxmMzItaTM4Ni5jICAgfCAgMiArLQotIGJmZC9lbGYzMi1tZXRhZy5jICB8ICAyICstCi0gYmZkL2VsZjMyLW5kczMyLmMgIHwgIDggKysrKy0tLS0KLSBiZmQvZWxmMzItcHBjLmMgICAgfCAgMiArLQotIGJmZC9lbGYzMi12aXNpdW0uYyB8ICAyICstCi0gYmZkL2VsZjY0LXBwYy5jICAgIHwgIDIgKy0KLSBiZmQvZWxmNjQteDg2LTY0LmMgfCAgMiArLQotIGJmZC9saWJiZmQtaW4uaCAgICB8ICA0ICsrLS0KLSBiZmQvbGliYmZkLmggICAgICAgfCAgNCArKy0tCi0gYmZkL3JlbG9jLmMgICAgICAgIHwgMTkgKysrKysrKysrKysrKy0tLS0tLQotIDE0IGZpbGVzIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQotCi0tLS0gYS9iZmQvY29mZmxpbmsuYwotKysrIGIvYmZkL2NvZmZsaW5rLmMKLUBAIC0zMDgwLDcgKzMwODAsNyBAQCBfYmZkX2NvZmZfZ2VuZXJpY19yZWxvY2F0ZV9zZWN0aW9uIChiZmQKLSAgICAgICBpZiAoc2VjICE9IE5VTEwgJiYgZGlzY2FyZGVkX3NlY3Rpb24gKHNlYykpCi0gCXsKLSAJICBfYmZkX2NsZWFyX2NvbnRlbnRzIChob3d0bywgaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLAotLQkJCSAgICAgICBjb250ZW50cyArIChyZWwtPnJfdmFkZHIgLSBpbnB1dF9zZWN0aW9uLT52bWEpKTsKLSsJCQkgICAgICAgY29udGVudHMsIHJlbC0+cl92YWRkciAtIGlucHV0X3NlY3Rpb24tPnZtYSk7Ci0gCSAgY29udGludWU7Ci0gCX0KLSAKLS0tLSBhL2JmZC9lbGYtYmZkLmgKLSsrKyBiL2JmZC9lbGYtYmZkLmgKLUBAIC0yODExLDcgKzI4MTEsNyBAQCBleHRlcm4gYXNlY3Rpb24gX2JmZF9lbGZfbGFyZ2VfY29tX3NlY3RpCi0gICB7CQkJCQkJCQkJXAotICAgICBpbnQgaV87CQkJCQkJCQlcCi0gICAgIF9iZmRfY2xlYXJfY29udGVudHMgKGhvd3RvLCBpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sCQlcCi0tCQkJIGNvbnRlbnRzICsgcmVsW2luZGV4XS5yX29mZnNldCk7CQlcCi0rCQkJIGNvbnRlbnRzLCByZWxbaW5kZXhdLnJfb2Zmc2V0KTsJCVwKLSAJCQkJCQkJCQlcCi0gICAgIGlmIChiZmRfbGlua19yZWxvY2F0YWJsZSAoaW5mbykJCQkJCVwKLSAJJiYgKGlucHV0X3NlY3Rpb24tPmZsYWdzICYgU0VDX0RFQlVHR0lORykpCQkJXAotLS0tIGEvYmZkL2VsZjMyLWFyYy5jCi0rKysgYi9iZmQvZWxmMzItYXJjLmMKLUBAIC0xNTUyLDcgKzE1NTIsNyBAQCBlbGZfYXJjX3JlbG9jYXRlX3NlY3Rpb24gKGJmZCAqCQkJICBvdXRwCi0gICAgICAgaWYgKHNlYyAhPSBOVUxMICYmIGRpc2NhcmRlZF9zZWN0aW9uIChzZWMpKQotIAl7Ci0gCSAgX2JmZF9jbGVhcl9jb250ZW50cyAoaG93dG8sIGlucHV0X2JmZCwgaW5wdXRfc2VjdGlvbiwKLS0JCQkgICAgICAgY29udGVudHMgKyByZWwtPnJfb2Zmc2V0KTsKLSsJCQkgICAgICAgY29udGVudHMsIHJlbC0+cl9vZmZzZXQpOwotIAkgIHJlbC0+cl9pbmZvID0gMDsKLSAJICByZWwtPnJfYWRkZW5kID0gMDsKLSAKLS0tLSBhL2JmZC9lbGYzMi1pMzg2LmMKLSsrKyBiL2JmZC9lbGYzMi1pMzg2LmMKLUBAIC0yMTk3LDcgKzIxOTcsNyBAQCBlbGZfaTM4Nl9yZWxvY2F0ZV9zZWN0aW9uIChiZmQgKm91dHB1dF9iCi0gICAgICAgaWYgKHNlYyAhPSBOVUxMICYmIGRpc2NhcmRlZF9zZWN0aW9uIChzZWMpKQotIAl7Ci0gCSAgX2JmZF9jbGVhcl9jb250ZW50cyAoaG93dG8sIGlucHV0X2JmZCwgaW5wdXRfc2VjdGlvbiwKLS0JCQkgICAgICAgY29udGVudHMgKyByZWwtPnJfb2Zmc2V0KTsKLSsJCQkgICAgICAgY29udGVudHMsIHJlbC0+cl9vZmZzZXQpOwotIAkgIHdyZWwtPnJfb2Zmc2V0ID0gcmVsLT5yX29mZnNldDsKLSAJICB3cmVsLT5yX2luZm8gPSAwOwotIAkgIHdyZWwtPnJfYWRkZW5kID0gMDsKLS0tLSBhL2JmZC9lbGYzMi1tZXRhZy5jCi0rKysgYi9iZmQvZWxmMzItbWV0YWcuYwotQEAgLTEzOTYsNyArMTM5Niw3IEBAIG1ldGFnX2ZpbmFsX2xpbmtfcmVsb2NhdGUgKHJlbG9jX2hvd3RvX3QKLSAJCQkJCSAgICAgIHJlbCwgcmVsZW5kLCBob3d0bywgY29udGVudHMpIFwKLSAgIHsJCQkJCQkJCQlcCi0gICAgIF9iZmRfY2xlYXJfY29udGVudHMgKGhvd3RvLCBpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sCQlcCi0tCQkJIGNvbnRlbnRzICsgcmVsLT5yX29mZnNldCk7CQkJXAotKwkJCSBjb250ZW50cywgcmVsLT5yX29mZnNldCk7CQkJXAotIAkJCQkJCQkJCVwKLSAgICAgaWYgKGJmZF9saW5rX3JlbG9jYXRhYmxlIChpbmZvKQkJCQkJXAotIAkmJiAoaW5wdXRfc2VjdGlvbi0+ZmxhZ3MgJiBTRUNfREVCVUdHSU5HKSkJCQlcCi0tLS0gYS9iZmQvZWxmMzItbmRzMzIuYwotKysrIGIvYmZkL2VsZjMyLW5kczMyLmMKLUBAIC0xMjU4MiwxNCArMTI1ODIsMTQgQEAgbmRzMzJfZWxmX2dldF9yZWxvY2F0ZWRfc2VjdGlvbl9jb250ZW50cwotIAkgIHN5bWJvbCA9ICooKnBhcmVudCktPnN5bV9wdHJfcHRyOwotIAkgIGlmIChzeW1ib2wtPnNlY3Rpb24gJiYgZGlzY2FyZGVkX3NlY3Rpb24gKHN5bWJvbC0+c2VjdGlvbikpCi0gCSAgICB7Ci0tCSAgICAgIGJmZF9ieXRlICpwOwotKwkgICAgICBiZmRfdm1hIG9mZjsKLSAJICAgICAgc3RhdGljIHJlbG9jX2hvd3RvX3R5cGUgbm9uZV9ob3d0bwotIAkJPSBIT1dUTyAoMCwgMCwgMCwgMCwgRkFMU0UsIDAsIGNvbXBsYWluX292ZXJmbG93X2RvbnQsIE5VTEwsCi0gCQkJICJ1bnVzZWQiLCBGQUxTRSwgMCwgMCwgRkFMU0UpOwotIAotLQkgICAgICBwID0gZGF0YSArICgqcGFyZW50KS0+YWRkcmVzcyAqIGJmZF9vY3RldHNfcGVyX2J5dGUgKGlucHV0X2JmZCk7Ci0tCSAgICAgIF9iZmRfY2xlYXJfY29udGVudHMgKCgqcGFyZW50KS0+aG93dG8sIGlucHV0X2JmZCwgaW5wdXRfc2VjdGlvbiwKLS0JCQkJICAgcCk7Ci0rCSAgICAgIG9mZiA9ICgqcGFyZW50KS0+YWRkcmVzcyAqIGJmZF9vY3RldHNfcGVyX2J5dGUgKGlucHV0X2JmZCk7Ci0rCSAgICAgIF9iZmRfY2xlYXJfY29udGVudHMgKCgqcGFyZW50KS0+aG93dG8sIGlucHV0X2JmZCwKLSsJCQkJICAgaW5wdXRfc2VjdGlvbiwgZGF0YSwgb2ZmKTsKLSAJICAgICAgKCpwYXJlbnQpLT5zeW1fcHRyX3B0ciA9IGJmZF9hYnNfc2VjdGlvbl9wdHItPnN5bWJvbF9wdHJfcHRyOwotIAkgICAgICAoKnBhcmVudCktPmFkZGVuZCA9IDA7Ci0gCSAgICAgICgqcGFyZW50KS0+aG93dG8gPSAmbm9uZV9ob3d0bzsKLS0tLSBhL2JmZC9lbGYzMi1wcGMuYwotKysrIGIvYmZkL2VsZjMyLXBwYy5jCi1AQCAtODIzMiw3ICs4MjMyLDcgQEAgcHBjX2VsZl9yZWxvY2F0ZV9zZWN0aW9uIChiZmQgKm91dHB1dF9iZgotIAkgICAgaG93dG8gPSBwcGNfZWxmX2hvd3RvX3RhYmxlW3JfdHlwZV07Ci0gCi0gCSAgX2JmZF9jbGVhcl9jb250ZW50cyAoaG93dG8sIGlucHV0X2JmZCwgaW5wdXRfc2VjdGlvbiwKLS0JCQkgICAgICAgY29udGVudHMgKyByZWwtPnJfb2Zmc2V0KTsKLSsJCQkgICAgICAgY29udGVudHMsIHJlbC0+cl9vZmZzZXQpOwotIAkgIHdyZWwtPnJfb2Zmc2V0ID0gcmVsLT5yX29mZnNldDsKLSAJICB3cmVsLT5yX2luZm8gPSAwOwotIAkgIHdyZWwtPnJfYWRkZW5kID0gMDsKLS0tLSBhL2JmZC9lbGYzMi12aXNpdW0uYwotKysrIGIvYmZkL2VsZjMyLXZpc2l1bS5jCi1AQCAtNjIxLDcgKzYyMSw3IEBAIHZpc2l1bV9lbGZfcmVsb2NhdGVfc2VjdGlvbiAoYmZkICpvdXRwdXQKLSAJICAgICBvciBzZWN0aW9ucyBkaXNjYXJkZWQgYnkgYSBsaW5rZXIgc2NyaXB0LCB3ZSBqdXN0IHdhbnQgdGhlCi0gCSAgICAgc2VjdGlvbiBjb250ZW50cyB6ZXJvZWQuICBBdm9pZCBhbnkgc3BlY2lhbCBwcm9jZXNzaW5nLiAgKi8KLSAJICBfYmZkX2NsZWFyX2NvbnRlbnRzIChob3d0bywgaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLAotLQkJCSAgICAgICBjb250ZW50cyArIHJlbC0+cl9vZmZzZXQpOwotKwkJCSAgICAgICBjb250ZW50cywgcmVsLT5yX29mZnNldCk7Ci0gCi0gCSAgcmVsLT5yX2luZm8gPSAwOwotIAkgIHJlbC0+cl9hZGRlbmQgPSAwOwotLS0tIGEvYmZkL2VsZjY0LXBwYy5jCi0rKysgYi9iZmQvZWxmNjQtcHBjLmMKLUBAIC0xNDA3NCw3ICsxNDA3NCw3IEBAIHBwYzY0X2VsZl9yZWxvY2F0ZV9zZWN0aW9uIChiZmQgKm91dHB1dF8KLSAJewotIAkgIF9iZmRfY2xlYXJfY29udGVudHMgKHBwYzY0X2VsZl9ob3d0b190YWJsZVtyX3R5cGVdLAotIAkJCSAgICAgICBpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sCi0tCQkJICAgICAgIGNvbnRlbnRzICsgcmVsLT5yX29mZnNldCk7Ci0rCQkJICAgICAgIGNvbnRlbnRzLCByZWwtPnJfb2Zmc2V0KTsKLSAJICB3cmVsLT5yX29mZnNldCA9IHJlbC0+cl9vZmZzZXQ7Ci0gCSAgd3JlbC0+cl9pbmZvID0gMDsKLSAJICB3cmVsLT5yX2FkZGVuZCA9IDA7Ci0tLS0gYS9iZmQvZWxmNjQteDg2LTY0LmMKLSsrKyBiL2JmZC9lbGY2NC14ODYtNjQuYwotQEAgLTI0OTAsNyArMjQ5MCw3IEBAIGVsZl94ODZfNjRfcmVsb2NhdGVfc2VjdGlvbiAoYmZkICpvdXRwdXQKLSAgICAgICBpZiAoc2VjICE9IE5VTEwgJiYgZGlzY2FyZGVkX3NlY3Rpb24gKHNlYykpCi0gCXsKLSAJICBfYmZkX2NsZWFyX2NvbnRlbnRzIChob3d0bywgaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLAotLQkJCSAgICAgICBjb250ZW50cyArIHJlbC0+cl9vZmZzZXQpOwotKwkJCSAgICAgICBjb250ZW50cywgcmVsLT5yX29mZnNldCk7Ci0gCSAgd3JlbC0+cl9vZmZzZXQgPSByZWwtPnJfb2Zmc2V0OwotIAkgIHdyZWwtPnJfaW5mbyA9IDA7Ci0gCSAgd3JlbC0+cl9hZGRlbmQgPSAwOwotLS0tIGEvYmZkL2xpYmJmZC1pbi5oCi0rKysgYi9iZmQvbGliYmZkLWluLmgKLUBAIC02OTYsOCArNjk2LDggQEAgZXh0ZXJuIGJmZF9yZWxvY19zdGF0dXNfdHlwZSBfYmZkX3JlbG9jYQotICAgKHJlbG9jX2hvd3RvX3R5cGUgKiwgYmZkICosIGJmZF92bWEsIGJmZF9ieXRlICopIEFUVFJJQlVURV9ISURERU47Ci0gCi0gLyogQ2xlYXIgYSBnaXZlbiBsb2NhdGlvbiB1c2luZyBhIGdpdmVuIGhvd3RvLiAgKi8KLS1leHRlcm4gdm9pZCBfYmZkX2NsZWFyX2NvbnRlbnRzCi0tICAocmVsb2NfaG93dG9fdHlwZSAqLCBiZmQgKiwgYXNlY3Rpb24gKiwgYmZkX2J5dGUgKikgQVRUUklCVVRFX0hJRERFTjsKLStleHRlcm4gYmZkX3JlbG9jX3N0YXR1c190eXBlIF9iZmRfY2xlYXJfY29udGVudHMKLSsgIChyZWxvY19ob3d0b190eXBlICosIGJmZCAqLCBhc2VjdGlvbiAqLCBiZmRfYnl0ZSAqLCBiZmRfdm1hKSBBVFRSSUJVVEVfSElEREVOOwotIAotIC8qIExpbmsgc3RhYnMgaW4gc2VjdGlvbnMgaW4gdGhlIGZpcnN0IHBhc3MuICAqLwotIAotLS0tIGEvYmZkL2xpYmJmZC5oCi0rKysgYi9iZmQvbGliYmZkLmgKLUBAIC03MDEsOCArNzAxLDggQEAgZXh0ZXJuIGJmZF9yZWxvY19zdGF0dXNfdHlwZSBfYmZkX3JlbG9jYQotICAgKHJlbG9jX2hvd3RvX3R5cGUgKiwgYmZkICosIGJmZF92bWEsIGJmZF9ieXRlICopIEFUVFJJQlVURV9ISURERU47Ci0gCi0gLyogQ2xlYXIgYSBnaXZlbiBsb2NhdGlvbiB1c2luZyBhIGdpdmVuIGhvd3RvLiAgKi8KLS1leHRlcm4gdm9pZCBfYmZkX2NsZWFyX2NvbnRlbnRzCi0tICAocmVsb2NfaG93dG9fdHlwZSAqLCBiZmQgKiwgYXNlY3Rpb24gKiwgYmZkX2J5dGUgKikgQVRUUklCVVRFX0hJRERFTjsKLStleHRlcm4gYmZkX3JlbG9jX3N0YXR1c190eXBlIF9iZmRfY2xlYXJfY29udGVudHMKLSsgIChyZWxvY19ob3d0b190eXBlICosIGJmZCAqLCBhc2VjdGlvbiAqLCBiZmRfYnl0ZSAqLCBiZmRfdm1hKSBBVFRSSUJVVEVfSElEREVOOwotIAotIC8qIExpbmsgc3RhYnMgaW4gc2VjdGlvbnMgaW4gdGhlIGZpcnN0IHBhc3MuICAqLwotIAotLS0tIGEvYmZkL3JlbG9jLmMKLSsrKyBiL2JmZC9yZWxvYy5jCi1AQCAtMTYxMywxNiArMTYxMywyMiBAQCBfYmZkX3JlbG9jYXRlX2NvbnRlbnRzIChyZWxvY19ob3d0b190eXBlCi0gICAgcmVsb2NhdGlvbnMgYWdhaW5zdCBkaXNjYXJkZWQgc3ltYm9scywgdG8gbWFrZSBpZ25vcmFibGUgZGVidWcgb3IgdW53aW5kCi0gICAgaW5mb3JtYXRpb24gbW9yZSBvYnZpb3VzLiAgKi8KLSAKLS12b2lkCi0rYmZkX3JlbG9jX3N0YXR1c190eXBlCi0gX2JmZF9jbGVhcl9jb250ZW50cyAocmVsb2NfaG93dG9fdHlwZSAqaG93dG8sCi0gCQkgICAgIGJmZCAqaW5wdXRfYmZkLAotIAkJICAgICBhc2VjdGlvbiAqaW5wdXRfc2VjdGlvbiwKLS0JCSAgICAgYmZkX2J5dGUgKmxvY2F0aW9uKQotKwkJICAgICBiZmRfYnl0ZSAqYnVmLAotKwkJICAgICBiZmRfdm1hIG9mZikKLSB7Ci0gICBpbnQgc2l6ZTsKLSAgIGJmZF92bWEgeCA9IDA7Ci0rICBiZmRfYnl0ZSAqbG9jYXRpb247Ci0rCi0rICBpZiAoIWJmZF9yZWxvY19vZmZzZXRfaW5fcmFuZ2UgKGhvd3RvLCBpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sIG9mZikpCi0rICAgIHJldHVybiBiZmRfcmVsb2Nfb3V0b2ZyYW5nZTsKLSAKLSAgIC8qIEdldCB0aGUgdmFsdWUgd2UgYXJlIGdvaW5nIHRvIHJlbG9jYXRlLiAgKi8KLSsgIGxvY2F0aW9uID0gYnVmICsgb2ZmOwotICAgc2l6ZSA9IGJmZF9nZXRfcmVsb2Nfc2l6ZSAoaG93dG8pOwotICAgc3dpdGNoIChzaXplKQotICAgICB7Ci1AQCAtMTY4MSw2ICsxNjg3LDcgQEAgX2JmZF9jbGVhcl9jb250ZW50cyAocmVsb2NfaG93dG9fdHlwZSAqaAotICNlbmRpZgotICAgICAgIGJyZWFrOwotICAgICB9Ci0rICByZXR1cm4gYmZkX3JlbG9jX29rOwotIH0KLSAKLSAvKgotQEAgLTgyNjgsMTQgKzgyNzUsMTQgQEAgYmZkX2dlbmVyaWNfZ2V0X3JlbG9jYXRlZF9zZWN0aW9uX2NvbnRlbgotIAotIAkgIGlmIChzeW1ib2wtPnNlY3Rpb24gJiYgZGlzY2FyZGVkX3NlY3Rpb24gKHN5bWJvbC0+c2VjdGlvbikpCi0gCSAgICB7Ci0tCSAgICAgIGJmZF9ieXRlICpwOwotKwkgICAgICBiZmRfdm1hIG9mZjsKLSAJICAgICAgc3RhdGljIHJlbG9jX2hvd3RvX3R5cGUgbm9uZV9ob3d0bwotIAkJPSBIT1dUTyAoMCwgMCwgMCwgMCwgRkFMU0UsIDAsIGNvbXBsYWluX292ZXJmbG93X2RvbnQsIE5VTEwsCi0gCQkJICJ1bnVzZWQiLCBGQUxTRSwgMCwgMCwgRkFMU0UpOwotIAotLQkgICAgICBwID0gZGF0YSArICgqcGFyZW50KS0+YWRkcmVzcyAqIGJmZF9vY3RldHNfcGVyX2J5dGUgKGlucHV0X2JmZCk7Ci0tCSAgICAgIF9iZmRfY2xlYXJfY29udGVudHMgKCgqcGFyZW50KS0+aG93dG8sIGlucHV0X2JmZCwgaW5wdXRfc2VjdGlvbiwKLS0JCQkJICAgcCk7Ci0rCSAgICAgIG9mZiA9ICgqcGFyZW50KS0+YWRkcmVzcyAqIGJmZF9vY3RldHNfcGVyX2J5dGUgKGlucHV0X2JmZCk7Ci0rCSAgICAgIF9iZmRfY2xlYXJfY29udGVudHMgKCgqcGFyZW50KS0+aG93dG8sIGlucHV0X2JmZCwKLSsJCQkJICAgaW5wdXRfc2VjdGlvbiwgZGF0YSwgb2ZmKTsKLSAJICAgICAgKCpwYXJlbnQpLT5zeW1fcHRyX3B0ciA9IGJmZF9hYnNfc2VjdGlvbl9wdHItPnN5bWJvbF9wdHJfcHRyOwotIAkgICAgICAoKnBhcmVudCktPmFkZGVuZCA9IDA7Ci0gCSAgICAgICgqcGFyZW50KS0+aG93dG8gPSAmbm9uZV9ob3d0bzsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE4NjA1LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTg2MDUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExMTdmOTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTg2MDUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIGFiNDE5ZGRiYjJjZGQxN2NhODM2MTg5OTBmMmNhY2Y5MDRjZTFkNjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGFuIE1vZHJhIDxhbW9kcmFAZ21haWwuY29tPgotRGF0ZTogVHVlLCAyMyBPY3QgMjAxOCAxODoyOToyNCArMTAzMAotU3ViamVjdDogW1BBVENIXSBQUjIzODA0LCBidWZmZXIgb3ZlcmZsb3cgaW4gc2VjX21lcmdlX2hhc2hfbG9va3VwCi0KLQlQUiAyMzgwNAotCSogbWVyZ2UuYyAoX2JmZF9hZGRfbWVyZ2Vfc2VjdGlvbik6IERvbid0IGF0dGVtcHQgdG8gbWVyZ2UKLQlzZWN0aW9ucyB3aGVyZSBzaXplIGlzIG5vdCBhIG11bHRpcGxlIG9mIGVudHNpemUuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLUNWRTogQ1ZFLTIwMTgtMTg2MDUKLVNpZ25lZC1vZmYtYnk6IFpoaXhpb25nIENoaSA8emhpeGlvbmcuY2hpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBiZmQvQ2hhbmdlTG9nIHwgNiArKysrKysKLSBiZmQvbWVyZ2UuYyAgIHwgMyArKysKLSAyIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQotCi0tLS0gYS9iZmQvbWVyZ2UuYwotKysrIGIvYmZkL21lcmdlLmMKLUBAIC0zNzYsNiArMzc2LDkgQEAgX2JmZF9hZGRfbWVyZ2Vfc2VjdGlvbiAoYmZkICphYmZkLCB2b2lkCi0gICAgICAgfHwgc2VjLT5lbnRzaXplID09IDApCi0gICAgIHJldHVybiBUUlVFOwotIAotKyAgaWYgKHNlYy0+c2l6ZSAlIHNlYy0+ZW50c2l6ZSAhPSAwKQotKyAgICByZXR1cm4gVFJVRTsKLSsKLSAgIGlmICgoc2VjLT5mbGFncyAmIFNFQ19SRUxPQykgIT0gMCkKLSAgICAgewotICAgICAgIC8qIFdlIGFyZW4ndCBwcmVwYXJlZCB0byBoYW5kbGUgcmVsb2NhdGlvbnMgaW4gbWVyZ2VkIHNlY3Rpb25zLiAgKi8KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE4NjA2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTg2MDYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyNWMzMzkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTg2MDYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIDQ1YTBlYWY3NzAyMjk2M2Q2MzlkNmQxOTg3MWRiYWI3Yjc5NzAzZmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGFuIE1vZHJhIDxhbW9kcmFAZ21haWwuY29tPgotRGF0ZTogVHVlLCAyMyBPY3QgMjAxOCAxOTowMjowNiArMTAzMAotU3ViamVjdDogW1BBVENIXSBQUjIzODA2LCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gbWVyZ2Vfc3RyaW5ncwotCi0JUFIgMjM4MDYKLQkqIG1lcmdlLmMgKF9iZmRfYWRkX21lcmdlX3NlY3Rpb24pOiBEb24ndCBhdHRlbXB0IHRvIG1lcmdlCi0Jc2VjdGlvbnMgd2l0aCByaWRpY3Vsb3VzbHkgbGFyZ2UgYWxpZ25tZW50cy4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotQ1ZFOiBDVkUtMjAxOC0xODYwNgotU2lnbmVkLW9mZi1ieTogWmhpeGlvbmcgQ2hpIDx6aGl4aW9uZy5jaGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGJmZC9DaGFuZ2VMb2cgfCAgNiArKysrKysKLSBiZmQvbWVyZ2UuYyAgIHwgMTUgKysrKysrKysrKystLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi0tLS0gYS9iZmQvbWVyZ2UuYwotKysrIGIvYmZkL21lcmdlLmMKLUBAIC0yNCw2ICsyNCw3IEBACi0gICAgYXMgdXNlZCBpbiBFTEYgU0hGX01FUkdFLiAgKi8KLSAKLSAjaW5jbHVkZSAic3lzZGVwLmgiCi0rI2luY2x1ZGUgPGxpbWl0cy5oPgotICNpbmNsdWRlICJiZmQuaCIKLSAjaW5jbHVkZSAiZWxmLWJmZC5oIgotICNpbmNsdWRlICJsaWJiZmQuaCIKLUBAIC0zODUsMTIgKzM4NiwxOCBAQCBfYmZkX2FkZF9tZXJnZV9zZWN0aW9uIChiZmQgKmFiZmQsIHZvaWQKLSAgICAgICByZXR1cm4gVFJVRTsKLSAgICAgfQotIAotLSAgYWxpZ24gPSBzZWMtPmFsaWdubWVudF9wb3dlcjsKLS0gIGlmICgoc2VjLT5lbnRzaXplIDwgKHVuc2lnbmVkKSAxIDw8IGFsaWduCi0rI2lmbmRlZiBDSEFSX0JJVAotKyNkZWZpbmUgQ0hBUl9CSVQgOAotKyNlbmRpZgotKyAgaWYgKHNlYy0+YWxpZ25tZW50X3Bvd2VyID49IHNpemVvZiAoYWxpZ24pICogQ0hBUl9CSVQpCi0rICAgIHJldHVybiBUUlVFOwotKwotKyAgYWxpZ24gPSAxdSA8PCBzZWMtPmFsaWdubWVudF9wb3dlcjsKLSsgIGlmICgoc2VjLT5lbnRzaXplIDwgYWxpZ24KLSAgICAgICAgJiYgKChzZWMtPmVudHNpemUgJiAoc2VjLT5lbnRzaXplIC0gMSkpCi0gCSAgIHx8ICEoc2VjLT5mbGFncyAmIFNFQ19TVFJJTkdTKSkpCi0tICAgICAgfHwgKHNlYy0+ZW50c2l6ZSA+ICh1bnNpZ25lZCkgMSA8PCBhbGlnbgotLQkgICYmIChzZWMtPmVudHNpemUgJiAoKCh1bnNpZ25lZCkgMSA8PCBhbGlnbikgLSAxKSkpKQotKyAgICAgIHx8IChzZWMtPmVudHNpemUgPiBhbGlnbgotKwkgICYmIChzZWMtPmVudHNpemUgJiAoYWxpZ24gLSAxKSkpKQotICAgICB7Ci0gICAgICAgLyogU2FuaXR5IGNoZWNrLiAgSWYgc3RyaW5nIGNoYXJhY3RlciBzaXplIGlzIHNtYWxsZXIgdGhhbgotIAkgYWxpZ25tZW50LCB0aGVuIHdlIHJlcXVpcmUgY2hhcmFjdGVyIHNpemUgdG8gYmUgYSBwb3dlcgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTg2MDcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy9DVkUtMjAxOC0xODYwNy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTAyYTkwZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy9DVkUtMjAxOC0xODYwNy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLUZyb20gMTAyZGVmNGRhODI2YjNkOWUxNjk3NDE0MjFlNWU2N2U4NzMxOTA5YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsYW4gTW9kcmEgPGFtb2RyYUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDIzIE9jdCAyMDE4IDE4OjMwOjIyICsxMDMwCi1TdWJqZWN0OiBbUEFUQ0hdIFBSMjM4MDUsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiBlbGZfbGlua19pbnB1dF9iZmQKLQotCVBSIDIzODA1Ci0JKiBlbGZsaW5rLmMgKGVsZl9saW5rX2lucHV0X2JmZCk6IERvbid0IHNlZ2ZhdWx0IG9uIGZpbmRpbmcKLQlTVFRfVExTIHN5bWJvbHMgd2l0aG91dCBhbnkgVExTIHNlY3Rpb25zLiAgSW5zdGVhZCwgY2hhbmdlIHRoZQotCXN5bWJvbCB0eXBlIHRvIFNUVF9OT1RZUEUuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLUNWRTogQ1ZFLTIwMTgtMTg2MDYKLVNpZ25lZC1vZmYtYnk6IFpoaXhpb25nIENoaSA8emhpeGlvbmcuY2hpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBiZmQvQ2hhbmdlTG9nIHwgIDcgKysrKysrKwotIGJmZC9lbGZsaW5rLmMgfCAyMCArKysrKysrKysrKysrKy0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKLQotLS0tIGEvYmZkL2VsZmxpbmsuYwotKysrIGIvYmZkL2VsZmxpbmsuYwotQEAgLTEwNDk2LDggKzEwNDk2LDExIEBAIGVsZl9saW5rX2lucHV0X2JmZCAoc3RydWN0IGVsZl9maW5hbF9saW4KLSAJICBpZiAoRUxGX1NUX1RZUEUgKG9zeW0uc3RfaW5mbykgPT0gU1RUX1RMUykKLSAJICAgIHsKLSAJICAgICAgLyogU1RUX1RMUyBzeW1ib2xzIGFyZSByZWxhdGl2ZSB0byBQVF9UTFMgc2VnbWVudCBiYXNlLiAgKi8KLS0JICAgICAgQkZEX0FTU0VSVCAoZWxmX2hhc2hfdGFibGUgKGZsaW5mby0+aW5mbyktPnRsc19zZWMgIT0gTlVMTCk7Ci0tCSAgICAgIG9zeW0uc3RfdmFsdWUgLT0gZWxmX2hhc2hfdGFibGUgKGZsaW5mby0+aW5mbyktPnRsc19zZWMtPnZtYTsKLSsJICAgICAgaWYgKGVsZl9oYXNoX3RhYmxlIChmbGluZm8tPmluZm8pLT50bHNfc2VjICE9IE5VTEwpCi0rCQlvc3ltLnN0X3ZhbHVlIC09IGVsZl9oYXNoX3RhYmxlIChmbGluZm8tPmluZm8pLT50bHNfc2VjLT52bWE7Ci0rCSAgICAgIGVsc2UKLSsJCW9zeW0uc3RfaW5mbyA9IEVMRl9TVF9JTkZPIChFTEZfU1RfQklORCAob3N5bS5zdF9pbmZvKSwKLSsJCQkJCSAgICBTVFRfTk9UWVBFKTsKLSAJICAgIH0KLSAJfQotIAotQEAgLTExMDUzLDEyICsxMTA1NiwxNyBAQCBlbGZfbGlua19pbnB1dF9iZmQgKHN0cnVjdCBlbGZfZmluYWxfbGluCi0gCQkJICAgICAgc3ltLnN0X3ZhbHVlICs9IG9zZWMtPnZtYTsKLSAJCQkgICAgICBpZiAoRUxGX1NUX1RZUEUgKHN5bS5zdF9pbmZvKSA9PSBTVFRfVExTKQotIAkJCQl7Ci0rCQkJCSAgc3RydWN0IGVsZl9saW5rX2hhc2hfdGFibGUgKmh0YWIKLSsJCQkJICAgID0gZWxmX2hhc2hfdGFibGUgKGZsaW5mby0+aW5mbyk7Ci0rCi0gCQkJCSAgLyogU1RUX1RMUyBzeW1ib2xzIGFyZSByZWxhdGl2ZSB0byBQVF9UTFMKLSAJCQkJICAgICBzZWdtZW50IGJhc2UuICAqLwotLQkJCQkgIEJGRF9BU1NFUlQgKGVsZl9oYXNoX3RhYmxlIChmbGluZm8tPmluZm8pCi0tCQkJCQkgICAgICAtPnRsc19zZWMgIT0gTlVMTCk7Ci0tCQkJCSAgc3ltLnN0X3ZhbHVlIC09IChlbGZfaGFzaF90YWJsZSAoZmxpbmZvLT5pbmZvKQotLQkJCQkJCSAgIC0+dGxzX3NlYy0+dm1hKTsKLSsJCQkJICBpZiAoaHRhYi0+dGxzX3NlYyAhPSBOVUxMKQotKwkJCQkgICAgc3ltLnN0X3ZhbHVlIC09IGh0YWItPnRsc19zZWMtPnZtYTsKLSsJCQkJICBlbHNlCi0rCQkJCSAgICBzeW0uc3RfaW5mbwotKwkJCQkgICAgICA9IEVMRl9TVF9JTkZPIChFTEZfU1RfQklORCAoc3ltLnN0X2luZm8pLAotKwkJCQkJCSAgICAgU1RUX05PVFlQRSk7Ci0gCQkJCX0KLSAJCQkgICAgfQotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvY2xhbmctYmZkLWZpeC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL2NsYW5nLWJmZC1maXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5YzBkNDguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvY2xhbmctYmZkLWZpeC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZpeCBjb21waWxlciBlcnJvciBzZWVuIHdpdGggY2xhbmcsIFRoZSByZXR1cm4gdmFsdWUgb2YgdGhpcwotZnVuY3Rpb24gaXMgbm90IGNoZWNrZWQgYW55d2hlcmUgc28gaW4gYSB3YXkgaXRzIHVzZWxlc3MgYnV0Ci1zdGlsbCB0ZWNobmljYWxseSBjb3JyZWN0IHRvIHJldHVybiBhIHZhbHVlIGhlcmUKLQotRml4ZXMKLQotLi4vLi4vYmZkL3JlbG9jLmM6MTYzODo3OiBlcnJvcjogbm9uLXZvaWQgZnVuY3Rpb24gJ19iZmRfY2xlYXJfY29udGVudHMnIHNob3VsZCByZXR1cm4gYSB2YWx1ZSBbLVdyZXR1cm4tdHlwZV0KLSAgICAgIHJldHVybjsKLSAgICAgIF4KLTEgZXJyb3IgZ2VuZXJhdGVkLgotCi1JdCBoYXMgYmVlbiBmaXhlZCBpbiBtYXN0ZXIgYWxvbmcgd2l0aCBhIGxhcmdlciBjbGVhbnVwIGFuZCBmaXggZm9yIHJlbG9jYXRpb25zCi0KLWh0dHBzOi8vc291cmNld2FyZS5vcmcvZ2l0L2dpdHdlYi5jZ2k/cD1iaW51dGlscy1nZGIuZ2l0O2E9Y29tbWl0O2g9MWRjOWUyZDYzZTM3ODM5ZmYxNzY4MzQ2YjJlM2Y1MmUzMzhiYWJhNQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtGaXhlcyBkaWZmZXJlbnRseV0KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotLS0tIGEvYmZkL3JlbG9jLmMKLSsrKyBiL2JmZC9yZWxvYy5jCi1AQCAtMTYyOSw3ICsxNjI5LDcgQEAgX2JmZF9jbGVhcl9jb250ZW50cyAocmVsb2NfaG93dG9fdHlwZSAqaAotICAgICBkZWZhdWx0OgotICAgICAgIGFib3J0ICgpOwotICAgICBjYXNlIDA6Ci0tICAgICAgcmV0dXJuOwotKyAgICAgIHJldHVybiAwOwotICAgICBjYXNlIDE6Ci0gICAgICAgeCA9IGJmZF9nZXRfOCAoaW5wdXRfYmZkLCBsb2NhdGlvbik7Ci0gICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlsc18yLjMxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHNfMi4zMi5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHNfMi4zMS5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHNfMi4zMi5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYnRyZnMtdG9vbHMvYnRyZnMtdG9vbHMvMDAwMS1NYWtlZmlsZS1idWlsZC1ta3RhYmxlcy11c2luZy1uYXRpdmUtZ2NjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYnRyZnMtdG9vbHMvYnRyZnMtdG9vbHMvMDAwMS1NYWtlZmlsZS1idWlsZC1ta3RhYmxlcy11c2luZy1uYXRpdmUtZ2NjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NjdkZTMyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2J0cmZzLXRvb2xzL2J0cmZzLXRvb2xzLzAwMDEtTWFrZWZpbGUtYnVpbGQtbWt0YWJsZXMtdXNpbmctbmF0aXZlLWdjYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLUZyb20gZTU4MzY5ZjZkMzZiYzUxZWI1OWQ2YWZhMzRjMWNhZTNmZjA4MTBlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotRGF0ZTogTW9uLCA3IEF1ZyAyMDE3IDE0OjEwOjM4ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIE1ha2VmaWxlOiBidWlsZCBta3RhYmxlcyB1c2luZyBuYXRpdmUgZ2NjCi0KLUl0J3MgYSB0aHJvd2F3YXkgaGVscGVyIGJpbmFyeSB1c2VkIGR1cmluZyBidWlsZCwgYW5kIHNvIGl0IG5lZWRzIHRvCi1iZSBuYXRpdmUuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2Ugc3BlY2lmaWNdCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLS0tLQotIE1ha2VmaWxlIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1JbmRleDogZ2l0L01ha2VmaWxlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvTWFrZWZpbGUKLSsrKyBnaXQvTWFrZWZpbGUKLUBAIC0zNDMsNyArMzQzLDcgQEAgdmVyc2lvbi5oOiB2ZXJzaW9uLnNoIHZlcnNpb24uaC5pbiBjb25maQotIAotIG1rdGFibGVzOiBrZXJuZWwtbGliL21rdGFibGVzLmMKLSAJQGVjaG8gIiAgICBbQ0NdICAgICAkQCIKLS0JJChRKSQoQ0MpICQoQ0ZMQUdTKSAkPCAtbyAkQAotKwkkKFEpJChCVUlMRF9DQykgJChCVUlMRF9DRkxBR1MpICQ8IC1vICRACi0gCi0gIyB0aGUgdGFyZ2V0IGNhbiBiZSByZWdlbmVyYXRlZCBtYW51YWxseSB1c2luZyBta3RhYmxlcywgYnV0IGEgbG9jYWwgY29weSBpcwotICMga2VwdCBzbyB0aGUgYnVpbGQgcHJvY2VzcyBpcyBzaW1wbGVyCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9idHJmcy10b29scy9idHJmcy10b29sc180LjE3LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9idHJmcy10b29scy9idHJmcy10b29sc180LjE3LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiNTNmYmMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYnRyZnMtdG9vbHMvYnRyZnMtdG9vbHNfNC4xNy4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotU1VNTUFSWSA9ICJDaGVja3N1bW1pbmcgQ29weSBvbiBXcml0ZSBGaWxlc3lzdGVtIHV0aWxpdGllcyIKLURFU0NSSVBUSU9OID0gIkJ0cmZzIGlzIGEgbmV3IGNvcHkgb24gd3JpdGUgZmlsZXN5c3RlbSBmb3IgTGludXggYWltZWQgYXQgXAotaW1wbGVtZW50aW5nIGFkdmFuY2VkIGZlYXR1cmVzIHdoaWxlIGZvY3VzaW5nIG9uIGZhdWx0IHRvbGVyYW5jZSwgcmVwYWlyIGFuZCBcCi1lYXN5IGFkbWluaXN0cmF0aW9uLiBcCi1UaGlzIHBhY2thZ2UgY29udGFpbnMgdXRpbGl0aWVzIChta2ZzLCBmc2NrLCBidHJmc2N0bCkgdXNlZCB0byB3b3JrIHdpdGggXAotYnRyZnMgYW5kIGFuIHV0aWxpdHkgKGJ0cmZzLWNvbnZlcnQpIHRvIG1ha2UgYSBidHJmcyBmaWxlc3lzdGVtIGZyb20gYW4gZXh0My4iCi0KLUhPTUVQQUdFID0gImh0dHBzOi8vYnRyZnMud2lraS5rZXJuZWwub3JnIgotCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmNiMDJkYzU1MmEwNDFkZWUyN2U0Yjg1YzczOTYwNjciCi1TRUNUSU9OID0gImJhc2UiCi1ERVBFTkRTID0gInV0aWwtbGludXggYXR0ciBlMmZzcHJvZ3MgbHpvIGFjbCBweXRob24zLXNldHVwdG9vbHMtbmF0aXZlIgotREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiB1ZGV2IgotUkRFUEVORFNfJHtQTn0gPSAibGliZ2NjIgotCi1TUkNSRVYgPSAiN2ZhYWNhMGQ5Zjc4ZjcxNjJhZTYwMzIzMWY2OTNkZDhlMWFmMmE0MSIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L2tkYXZlL2J0cmZzLXByb2dzLmdpdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLWJ1aWxkLW1rdGFibGVzLXVzaW5nLW5hdGl2ZS1nY2MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtTERGTEFHUy13aGVuLWJ1aWxkaW5nLWxpYmJ0cmZzdXRpbC5zby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1hLXBvc3NpYmlsaXR5LXRvLXNwZWNpZnktd2hlcmUtcHl0aG9uLW1vZHVsZXMtYXIucGF0Y2ggXAotICAgICAgICAgICAiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgbWFucGFnZXMgZGlzdHV0aWxzMy1iYXNlCi0KLUNMRUFOQlJPS0VOID0gIjEiCi0KLVBBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi0tZW5hYmxlLWRvY3VtZW50YXRpb24sIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uLCBhc2NpaWRvYy1uYXRpdmUgeG1sdG8tbmF0aXZlIgotRVhUUkFfT0VDT05GID0gIiAtLWRpc2FibGUtenN0ZCIKLUVYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsID0gIiAtLWRpc2FibGUtYmFja3RyYWNlICIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0JIyBVcHN0cmVhbSBkb2Vzbid0IHNoaXAgdGhpcyBhbmQgYXV0b3JlY29uZiB3b24ndCBpbnN0YWxsIGl0IGFzIGF1dG9tYWtlIGlzbid0IHVzZWQuCi0JbWtkaXIgLXAgJHtTfS9jb25maWcKLQljcCAtZiAkKGF1dG9tYWtlIC0tcHJpbnQtbGliZGlyKS9pbnN0YWxsLXNoICR7U30vY29uZmlnLwotfQotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nICdQWVRIT05fU0lURVBBQ0tBR0VTX0RJUj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfScgaW5zdGFsbF9weXRob24KLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9idHJmcy10b29scy9idHJmcy10b29sc180LjIwLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9idHJmcy10b29scy9idHJmcy10b29sc180LjIwLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY0NzIzMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2J0cmZzLXRvb2xzL2J0cmZzLXRvb2xzXzQuMjAuMS5iYgpAQCAtMCwwICsxLDQ0IEBACitTVU1NQVJZID0gIkNoZWNrc3VtbWluZyBDb3B5IG9uIFdyaXRlIEZpbGVzeXN0ZW0gdXRpbGl0aWVzIgorREVTQ1JJUFRJT04gPSAiQnRyZnMgaXMgYSBuZXcgY29weSBvbiB3cml0ZSBmaWxlc3lzdGVtIGZvciBMaW51eCBhaW1lZCBhdCBcCitpbXBsZW1lbnRpbmcgYWR2YW5jZWQgZmVhdHVyZXMgd2hpbGUgZm9jdXNpbmcgb24gZmF1bHQgdG9sZXJhbmNlLCByZXBhaXIgYW5kIFwKK2Vhc3kgYWRtaW5pc3RyYXRpb24uIFwKK1RoaXMgcGFja2FnZSBjb250YWlucyB1dGlsaXRpZXMgKG1rZnMsIGZzY2ssIGJ0cmZzY3RsKSB1c2VkIHRvIHdvcmsgd2l0aCBcCitidHJmcyBhbmQgYW4gdXRpbGl0eSAoYnRyZnMtY29udmVydCkgdG8gbWFrZSBhIGJ0cmZzIGZpbGVzeXN0ZW0gZnJvbSBhbiBleHQzLiIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly9idHJmcy53aWtpLmtlcm5lbC5vcmciCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mY2IwMmRjNTUyYTA0MWRlZTI3ZTRiODVjNzM5NjA2NyIKK1NFQ1RJT04gPSAiYmFzZSIKK0RFUEVORFMgPSAidXRpbC1saW51eCBhdHRyIGUyZnNwcm9ncyBsem8gYWNsIHB5dGhvbjMtc2V0dXB0b29scy1uYXRpdmUiCitERVBFTkRTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIHVkZXYiCitSREVQRU5EU18ke1BOfSA9ICJsaWJnY2MiCisKK1NSQ1JFViA9ICI2YzMzODMyYjhjN2JmMmQ3YjY0ZDZhZWQwMjNjMGJkYTQzYTAzMzExIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQva2RhdmUvYnRyZnMtcHJvZ3MuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLUxERkxBR1Mtd2hlbi1idWlsZGluZy1saWJidHJmc3V0aWwuc28ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtYS1wb3NzaWJpbGl0eS10by1zcGVjaWZ5LXdoZXJlLXB5dGhvbi1tb2R1bGVzLWFyLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIG1hbnBhZ2VzIGRpc3R1dGlsczMtYmFzZQorCitDTEVBTkJST0tFTiA9ICIxIgorCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1kb2N1bWVudGF0aW9uLCAtLWRpc2FibGUtZG9jdW1lbnRhdGlvbiwgYXNjaWlkb2MtbmF0aXZlIHhtbHRvLW5hdGl2ZSIKK0VYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLXpzdGQiCitFWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLS1kaXNhYmxlLWJhY2t0cmFjZSAiCitFWFRSQV9PRU1BS0UgPSAiVj0xIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKwkjIFVwc3RyZWFtIGRvZXNuJ3Qgc2hpcCB0aGlzIGFuZCBhdXRvcmVjb25mIHdvbid0IGluc3RhbGwgaXQgYXMgYXV0b21ha2UgaXNuJ3QgdXNlZC4KKwlta2RpciAtcCAke1N9L2NvbmZpZworCWNwIC1mICQoYXV0b21ha2UgLS1wcmludC1saWJkaXIpL2luc3RhbGwtc2ggJHtTfS9jb25maWcvCit9CisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgJ1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9JyBpbnN0YWxsX3B5dGhvbgorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9jY2FjaGUuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY2NhY2hlL2NjYWNoZS5pbmMKaW5kZXggNjU2NjMyOC4uN2Y4MDA2NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY2NhY2hlL2NjYWNoZS5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY2NhY2hlL2NjYWNoZS5pbmMKQEAgLTksOCArOSwxOSBAQAogCiBERVBFTkRTID0gInpsaWIiCiAKLVNSQ19VUkkgPSAiaHR0cHM6Ly9kb3dubG9hZC5zYW1iYS5vcmcvcHViLyR7QlBOfS8ke0JQfS50YXIueHoiCitTUkNfVVJJID0gImh0dHBzOi8vZG93bmxvYWQuc2FtYmEub3JnL3B1Yi8ke0JQTn0vJHtCUH0udGFyLmd6IgogCiBpbmhlcml0IGF1dG90b29scwogCisjIFJlbW92ZSBjY2FjaGUtbmF0aXZlJ3MgZGVwZW5kZW5jaWVzLCBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIHdpZGVseSBieQorIyBvdGhlciBuYXRpdmUgcmVjaXBlcy4KK0RFUEVORFNfY2xhc3MtbmF0aXZlID0gIiIKK0VYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS13aXRoLWJ1bmRsZWQtemxpYiIKK0lOSElCSVRfQVVUT1RPT0xTX0RFUFNfY2xhc3MtbmF0aXZlID0gIjEiCitQQVRDSFRPT0wgPSAicGF0Y2giCisKIEJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitkb19jb25maWd1cmVfY2xhc3MtbmF0aXZlKCkgeworICAgIG9lX3J1bmNvbmYKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9jY2FjaGVfMy40LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvY2NhY2hlXzMuNC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjMwOTM0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9jY2FjaGVfMy40LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1yZXF1aXJlIGNjYWNoZS5pbmMKLQotTElDRU5TRSA9ICJHUEx2MysiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLmFkb2M7bWQ1PTI3MjJhYmVhZjE3NTBkYmYxNzViOTQ5MTExMjM3NGUxIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOWUwNDhmODhmMzg5NzEyNTg2NGY5YTVlMWFiZmI3MmQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMThhOGIxNDM2N2Q2M2QzZDM3ZmI2YzMzY2JhNjBlMWI3ZmNkN2E2M2Q2MDhkZjk3Yzk3NzFhZTBkMjM0ZmVlMiIKLQotU1JDX1VSSSArPSAiIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAyLWRldi5tay5pbi1maXgtZmlsZS1uYW1lLXRvby1sb25nLnBhdGNoIFwKLSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9jY2FjaGVfMy42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY2NhY2hlL2NjYWNoZV8zLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjA4MDdiZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9jY2FjaGVfMy42LmJiCkBAIC0wLDAgKzEsMTIgQEAKK3JlcXVpcmUgY2NhY2hlLmluYworCitMSUNFTlNFID0gIkdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UuYWRvYzttZDU9NzA3NjI1MTFmOWM1MDljYzJhNGU0YmEyZWY2ODdhZTMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZDZmZDY5ZGIyODQyNmJhZjIyZWMwYWNkZDVjNGIyYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhM2YyYjkxYTIzNTNiNjVhODYzYzU5MDEyNTFlZmU0ODA2MGVjZGViZWM0NmI1ZWFlYzhlYThlMDkyYjllODcxIgorCitTUkNfVVJJICs9ICIgXAorICAgICAgICAgICAgZmlsZTovLzAwMDItZGV2Lm1rLmluLWZpeC1maWxlLW5hbWUtdG9vLWxvbmcucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDMtRml4LVNlZ21lbnRhdGlvbi1mYXVsdC1lcnJvci13aGVuLWdjYy1vLWRldi1udWxsLnBhdGNoIFwKKyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9maWxlcy8wMDAyLWRldi5tay5pbi1maXgtZmlsZS1uYW1lLXRvby1sb25nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY2NhY2hlL2ZpbGVzLzAwMDItZGV2Lm1rLmluLWZpeC1maWxlLW5hbWUtdG9vLWxvbmcucGF0Y2gKaW5kZXggNjhjMjM3MS4uMTZhNmU5ZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY2NhY2hlL2ZpbGVzLzAwMDItZGV2Lm1rLmluLWZpeC1maWxlLW5hbWUtdG9vLWxvbmcucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY2NhY2hlL2ZpbGVzLzAwMDItZGV2Lm1rLmluLWZpeC1maWxlLW5hbWUtdG9vLWxvbmcucGF0Y2gKQEAgLTEsMTMgKzEsMTMgQEAKIEZyb20gN2RhYjI5OTVlZDhlZWNjZDdiMGFjZDc5NjY4YmMyOGYzYTI0MjdkNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgogRGF0ZTogV2VkLCAxNiBTZXAgMjAxNSAxOTo0NTo0MCAtMDcwMAotU3ViamVjdDogW1BBVENIXSBkZXYubWsuaW46IGZpeCBmaWxlIG5hbWUgdG9vIGxvbmcKK1N1YmplY3Q6IFtQQVRDSF0gZGV2Lm1rLmluOiBmaXggZmlsZSBuYW1lIHRvbyBsb25nIGVycm9yCiAKLVRoZSBhbGxfY3BwZmxhZ3MgY2hhbmdlIHBhdGhzIHRvIGZpbGVuYW1lIHdoaWNoIGNhdXNlIGZpbGUgbmFtZSB0b28gbG9uZworVGhlIGFsbF9jcHBmbGFncyBjaGFuZ2VzIHBhdGggdG8gZmlsZW5hbWUgd2hpY2ggY2F1c2VzIGZpbGUgbmFtZSB0b28gbG9uZwogZXJyb3Igd2hlbiB0aGUgcGF0aCBpcyBsb25nZXIgdGhhbiBOQU1FX01BWCAodXN1YWxseSAyNTUpLiBTdHJpcCBzcmNkaXIKIHRvIGZpeCB0aGUgcHJvYmxlbS4KIAotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vY2NhY2hlL2NjYWNoZS9jb21taXQvNGQ4NmU4ODRkMDdiYTE4NTNhMGM3MDUwN2NjNGQwNDEwN2Y1N2MyOV0KIAogU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CiAKQEAgLTIyLDcgKzIyLDcgQEAKIEBAIC0xLDcgKzEsNyBAQAogICMgR05VIG1ha2Ugc3ludGF4IHJlaWducyBpbiB0aGlzIGZpbGUuCiAgCi0gYWxsX2NmbGFncyArPSAtV2Vycm9yCisgYWxsX2NmbGFncyArPSAtV2Vycm9yIEBtb3JlX3dhcm5pbmdzQAogLWFsbF9jcHBmbGFncyArPSAtTUQgLU1QIC1NRiAuZGVwcy8kKHN1YnN0IC4uXywsJChzdWJzdCAvLF8sJDwpKS5kCiArYWxsX2NwcGZsYWdzICs9IC1NRCAtTVAgLU1GIC5kZXBzLyQoc3Vic3QgLi5fLCwkKHN1YnN0IC8sXywkKHN1YnN0ICQoc3JjZGlyKS8sLCQ8KSkpLmQKICAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9maWxlcy8wMDAzLUZpeC1TZWdtZW50YXRpb24tZmF1bHQtZXJyb3Itd2hlbi1nY2Mtby1kZXYtbnVsbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9maWxlcy8wMDAzLUZpeC1TZWdtZW50YXRpb24tZmF1bHQtZXJyb3Itd2hlbi1nY2Mtby1kZXYtbnVsbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzAxMmI3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY2NhY2hlL2ZpbGVzLzAwMDMtRml4LVNlZ21lbnRhdGlvbi1mYXVsdC1lcnJvci13aGVuLWdjYy1vLWRldi1udWxsLnBhdGNoCkBAIC0wLDAgKzEsNzkgQEAKK0Zyb20gYzUxYjYzNzU4ZTk1MjQ3ZTNjMWUyZjA2ZTVmNWJmYjQ5ODQ5ZTY2ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyMiBKYW4gMjAxOSAxNjozMDo1MiArMDgwMAorU3ViamVjdDogW1BBVENIXSBGaXggU2VnbWVudGF0aW9uIGZhdWx0IGVycm9yIHdoZW4gZ2NjIC1vIC9kZXYvbnVsbAorCitGaXhlZDoKKyQgZXhwb3J0IENDQUNIRV9ERUJVRz0xCiskIGNjYWNoZSBnY2MgLWMgaGVsbG8uYyAtbyAvZGV2L251bGwKKworU2VnbWVudGF0aW9uIGZhdWx0IChjb3JlIGR1bXBlZCkKKworVGhpcyBpcyBiZWNhdXNlIGZhaWxlZCB0byBvcGVuIC9kZXYvbnVsbC5mb28gKFBlcm1pc3Npb24gZGVuaWVkKSwgY2hlY2sgZmlsZQorc3RyZWFtIGJlZm9yZSB3cml0ZSB0byBpdCBjYW4gZml4IHRoZSBwcm9ibGVtLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vY2NhY2hlL2NjYWNoZS9jb21taXQvNGQ4NmU4ODRkMDdiYTE4NTNhMGM3MDUwN2NjNGQwNDEwN2Y1N2MyOV0KKworU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvY2NhY2hlLmMgfCAxNSArKysrKysrKysrKystLS0KKyBzcmMvdXRpbC5jICAgfCAgOCArKysrKystLQorIDIgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9jY2FjaGUuYyBiL3NyYy9jY2FjaGUuYworaW5kZXggYjRjZGI4Ni4uOGMyMjdkZiAxMDA2NDQKKy0tLSBhL3NyYy9jY2FjaGUuYworKysrIGIvc3JjL2NjYWNoZS5jCitAQCAtNTIxLDkgKzUyMSwxMyBAQCBpbml0X2hhc2hfZGVidWcoc3RydWN0IGhhc2ggKmhhc2gsIGNvbnN0IGNoYXIgKm9ial9wYXRoLCBjaGFyIHR5cGUsCisgCisgCWNoYXIgKnBhdGggPSBmb3JtYXQoIiVzLmNjYWNoZS1pbnB1dC0lYyIsIG9ial9wYXRoLCB0eXBlKTsKKyAJRklMRSAqZGVidWdfYmluYXJ5X2ZpbGUgPSBmb3BlbihwYXRoLCAid2IiKTsKKy0JaGFzaF9lbmFibGVfZGVidWcoaGFzaCwgc2VjdGlvbl9uYW1lLCBkZWJ1Z19iaW5hcnlfZmlsZSwgZGVidWdfdGV4dF9maWxlKTsKKysJaWYgKGRlYnVnX2JpbmFyeV9maWxlKSB7CisrCQloYXNoX2VuYWJsZV9kZWJ1ZyhoYXNoLCBzZWN0aW9uX25hbWUsIGRlYnVnX2JpbmFyeV9maWxlLCBkZWJ1Z190ZXh0X2ZpbGUpOworKwkJZXhpdGZuX2FkZChmY2xvc2VfZXhpdGZuLCBkZWJ1Z19iaW5hcnlfZmlsZSk7CisrCX0gZWxzZSB7CisrCQljY19sb2coIkZhaWxlZCB0byBvcGVuICVzOiAlcyIsIHBhdGgsIHN0cmVycm9yKGVycm5vKSk7CisrCX0KKyAJZnJlZShwYXRoKTsKKy0JZXhpdGZuX2FkZChmY2xvc2VfZXhpdGZuLCBkZWJ1Z19iaW5hcnlfZmlsZSk7CisgfQorIAorIHN0YXRpYyBlbnVtIGd1ZXNzZWRfY29tcGlsZXIKK0BAIC0zNjcwLDggKzM2NzQsMTMgQEAgY2NhY2hlKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCWlmIChjb25mLT5kZWJ1ZykgeworIAkJY2hhciAqcGF0aCA9IGZvcm1hdCgiJXMuY2NhY2hlLWlucHV0LXRleHQiLCBvdXRwdXRfb2JqKTsKKyAJCWRlYnVnX3RleHRfZmlsZSA9IGZvcGVuKHBhdGgsICJ3Iik7CisrCQlpZiAoZGVidWdfdGV4dF9maWxlKSB7CisrCQkJZXhpdGZuX2FkZChmY2xvc2VfZXhpdGZuLCBkZWJ1Z190ZXh0X2ZpbGUpOworKwkJfQorKwkJZWxzZSB7CisrCQkJY2NfbG9nKCJGYWlsZWQgdG8gb3BlbiAlczogJXMiLCBwYXRoLCBzdHJlcnJvcihlcnJubykpOworKwkJfQorIAkJZnJlZShwYXRoKTsKKy0JCWV4aXRmbl9hZGQoZmNsb3NlX2V4aXRmbiwgZGVidWdfdGV4dF9maWxlKTsKKyAJfQorIAorIAlzdHJ1Y3QgaGFzaCAqY29tbW9uX2hhc2ggPSBoYXNoX2luaXQoKTsKK2RpZmYgLS1naXQgYS9zcmMvdXRpbC5jIGIvc3JjL3V0aWwuYworaW5kZXggZTQ0MmNjNC4uYTQ5ZmI0YyAxMDA2NDQKKy0tLSBhL3NyYy91dGlsLmMKKysrKyBiL3NyYy91dGlsLmMKK0BAIC0yMTksOCArMjE5LDEyIEBAIHZvaWQKKyBjY19kdW1wX2xvZ19idWZmZXIoY29uc3QgY2hhciAqcGF0aCkKKyB7CisgCUZJTEUgKmZpbGUgPSBmb3BlbihwYXRoLCAidyIpOworLQkodm9pZCkgZndyaXRlKGxvZ2J1ZmZlciwgMSwgbG9nc2l6ZSwgZmlsZSk7CistCWZjbG9zZShmaWxlKTsKKysJaWYgKGZpbGUpIHsKKysJCSh2b2lkKSBmd3JpdGUobG9nYnVmZmVyLCAxLCBsb2dzaXplLCBmaWxlKTsKKysJCWZjbG9zZShmaWxlKTsKKysJfSBlbHNlIHsKKysJCWNjX2xvZygiRmFpbGVkIHRvIG9wZW4gJXM6ICVzIiwgcGF0aCwgc3RyZXJyb3IoZXJybm8pKTsKKysJfQorIH0KKyAKKyAvLyBTb21ldGhpbmcgd2VudCBiYWRseSB3cm9uZyEKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UtbmF0aXZlXzMuMTIuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLW5hdGl2ZV8zLjEyLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhMTM5MGYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UtbmF0aXZlXzMuMTIuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLXJlcXVpcmUgY21ha2UuaW5jCi1pbmhlcml0IG5hdGl2ZQotCi1ERVBFTkRTICs9ICJiemlwMi1yZXBsYWNlbWVudC1uYXRpdmUgZXhwYXQtbmF0aXZlIHh6LW5hdGl2ZSB6bGliLW5hdGl2ZSBjdXJsLW5hdGl2ZSIKLQotU1JDX1VSSSArPSAiZmlsZTovL09FVG9vbGNoYWluQ29uZmlnLmNtYWtlIFwKLSAgICAgICAgICAgIGZpbGU6Ly9lbnZpcm9ubWVudC5kLWNtYWtlLnNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUNNYWtlRGV0ZXJtaW5lU3lzdGVtLXVzZS1vZS1lbnZpcm9ubWVudC12YXJzLXRvLWxvYWQucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDUtRGlzYWJsZS11c2Utb2YtZXh0MmZzLWV4dDJfZnMuaC1ieS1jbWFrZS1zLWludGVybmFsLS5wYXRjaCBcCi0gICAgICAgICAgICAiCi0KLQotQiA9ICIke1dPUktESVJ9L2J1aWxkIgotZG9fY29uZmlndXJlW2NsZWFuZGlyc10gPSAiJHtCfSIKLQotIyBEaXNhYmxlIGNjbWFrZSBzaW5jZSB3ZSBkb24ndCBkZXBlbmQgb24gbmN1cnNlcwotQ01BS0VfRVhUUkFDT05GID0gIlwKLSAgICAtRENNQUtFX0xJQlJBUllfUEFUSD0ke1NUQUdJTkdfTElCRElSX05BVElWRX0gXAotICAgIC1EQlVJTERfQ3Vyc2VzRGlhbG9nPTAgXAotICAgIC1EQ01BS0VfVVNFX1NZU1RFTV9MSUJSQVJJRVM9MSBcCi0gICAgLURDTUFLRV9VU0VfU1lTVEVNX0xJQlJBUllfSlNPTkNQUD0wIFwKLSAgICAtRENNQUtFX1VTRV9TWVNURU1fTElCUkFSWV9MSUJBUkNISVZFPTAgXAotICAgIC1EQ01BS0VfVVNFX1NZU1RFTV9MSUJSQVJZX0xJQlVWPTAgXAotICAgIC1EQ01BS0VfVVNFX1NZU1RFTV9MSUJSQVJZX0xJQlJIQVNIPTAgXAotICAgIC1ERU5BQkxFX0FDTD0wIC1ESEFWRV9BQ0xfTElCQUNMX0g9MCBcCi0gICAgLURIQVZFX1NZU19BQ0xfSD0wIFwKLSIKLQotZG9fY29uZmlndXJlICgpIHsKLQkke1N9L2NvbmZpZ3VyZSAtLXZlcmJvc2UgLS1wcmVmaXg9JHtwcmVmaXh9IC0tICR7Q01BS0VfRVhUUkFDT05GfQotfQotCi1kb19jb21waWxlKCkgewotCW9lX3J1bm1ha2UKLX0KLQotZG9faW5zdGFsbCgpIHsKLQlvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKLQotCSMgVGhlIGZvbGxvd2luZyBjb2RlcyBhcmUgaGVyZSBiZWNhdXNlIGVTREsgbmVlZHMgdG8gcHJvdmlkZSBjb21wYXRpYmlsdHkKLQkjIGZvciBTREsuIFRoYXQgaXMsIGVTREsgY291bGQgYWxzbyBiZSB1c2VkIGxpa2UgdHJhZGl0aW9uYWwgU0RLLgotCW1rZGlyIC1wICR7RH0ke2RhdGFkaXJ9L2NtYWtlCi0JaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9PRVRvb2xjaGFpbkNvbmZpZy5jbWFrZSAke0R9JHtkYXRhZGlyfS9jbWFrZS8KLQlta2RpciAtcCAke0R9JHtiYXNlX3ByZWZpeH0vZW52aXJvbm1lbnQtc2V0dXAuZAotCWluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vZW52aXJvbm1lbnQuZC1jbWFrZS5zaCAke0R9JHtiYXNlX3ByZWZpeH0vZW52aXJvbm1lbnQtc2V0dXAuZC9jbWFrZS5zaAotfQotCi1kb19jb21waWxlW3Byb2dyZXNzXSA9ICJwZXJjZW50IgotCi1TWVNST09UX0RJUlNfTkFUSVZFICs9ICIke2RhdGFkaXJ9L2NtYWtlICR7YmFzZV9wcmVmaXh9L2Vudmlyb25tZW50LXNldHVwLmQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS1uYXRpdmVfMy4xNC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UtbmF0aXZlXzMuMTQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWRjZjNkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UtbmF0aXZlXzMuMTQuMS5iYgpAQCAtMCwwICsxLDUzIEBACityZXF1aXJlIGNtYWtlLmluYworaW5oZXJpdCBuYXRpdmUKKworREVQRU5EUyArPSAiYnppcDItcmVwbGFjZW1lbnQtbmF0aXZlIGV4cGF0LW5hdGl2ZSB4ei1uYXRpdmUgemxpYi1uYXRpdmUgY3VybC1uYXRpdmUiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9PRVRvb2xjaGFpbkNvbmZpZy5jbWFrZSBcCisgICAgICAgICAgICBmaWxlOi8vZW52aXJvbm1lbnQuZC1jbWFrZS5zaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1DTWFrZURldGVybWluZVN5c3RlbS11c2Utb2UtZW52aXJvbm1lbnQtdmFycy10by1sb2FkLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDA1LURpc2FibGUtdXNlLW9mLWV4dDJmcy1leHQyX2ZzLmgtYnktY21ha2Utcy1pbnRlcm5hbC0ucGF0Y2ggXAorICAgICAgICAgICAgIgorCisKK0IgPSAiJHtXT1JLRElSfS9idWlsZCIKK2RvX2NvbmZpZ3VyZVtjbGVhbmRpcnNdID0gIiR7Qn0iCisKKyMgRGlzYWJsZSBjY21ha2Ugc2luY2Ugd2UgZG9uJ3QgZGVwZW5kIG9uIG5jdXJzZXMKK0NNQUtFX0VYVFJBQ09ORiA9ICJcCisgICAgLURDTUFLRV9MSUJSQVJZX1BBVEg9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9IFwKKyAgICAtREJVSUxEX0N1cnNlc0RpYWxvZz0wIFwKKyAgICAtRENNQUtFX1VTRV9TWVNURU1fTElCUkFSSUVTPTEgXAorICAgIC1EQ01BS0VfVVNFX1NZU1RFTV9MSUJSQVJZX0pTT05DUFA9MCBcCisgICAgLURDTUFLRV9VU0VfU1lTVEVNX0xJQlJBUllfTElCQVJDSElWRT0wIFwKKyAgICAtRENNQUtFX1VTRV9TWVNURU1fTElCUkFSWV9MSUJVVj0wIFwKKyAgICAtRENNQUtFX1VTRV9TWVNURU1fTElCUkFSWV9MSUJSSEFTSD0wIFwKKyAgICAtREVOQUJMRV9BQ0w9MCAtREhBVkVfQUNMX0xJQkFDTF9IPTAgXAorICAgIC1ESEFWRV9TWVNfQUNMX0g9MCBcCisiCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisJJHtTfS9jb25maWd1cmUgLS12ZXJib3NlIC0tcHJlZml4PSR7cHJlZml4fSBcCisJCSR7QG9lLnV0aWxzLnBhcmFsbGVsX21ha2VfYXJndW1lbnQoZCwgJy0tcGFyYWxsZWw9JWQnKX0gXAorCQkke0BiYi51dGlscy5jb250YWlucygnQ0NBQ0hFJywgJ2NjYWNoZSAnLCAnLS1lbmFibGUtY2NhY2hlJywgJycsIGQpfSBcCisJCS0tICR7Q01BS0VfRVhUUkFDT05GfQorfQorCitkb19jb21waWxlKCkgeworCW9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKwlvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKworCSMgVGhlIGZvbGxvd2luZyBjb2RlcyBhcmUgaGVyZSBiZWNhdXNlIGVTREsgbmVlZHMgdG8gcHJvdmlkZSBjb21wYXRpYmlsdHkKKwkjIGZvciBTREsuIFRoYXQgaXMsIGVTREsgY291bGQgYWxzbyBiZSB1c2VkIGxpa2UgdHJhZGl0aW9uYWwgU0RLLgorCW1rZGlyIC1wICR7RH0ke2RhdGFkaXJ9L2NtYWtlCisJaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9PRVRvb2xjaGFpbkNvbmZpZy5jbWFrZSAke0R9JHtkYXRhZGlyfS9jbWFrZS8KKwlta2RpciAtcCAke0R9JHtiYXNlX3ByZWZpeH0vZW52aXJvbm1lbnQtc2V0dXAuZAorCWluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vZW52aXJvbm1lbnQuZC1jbWFrZS5zaCAke0R9JHtiYXNlX3ByZWZpeH0vZW52aXJvbm1lbnQtc2V0dXAuZC9jbWFrZS5zaAorfQorCitkb19jb21waWxlW3Byb2dyZXNzXSA9ICJwZXJjZW50IgorCitTWVNST09UX0RJUlNfTkFUSVZFICs9ICIke2RhdGFkaXJ9L2NtYWtlICR7YmFzZV9wcmVmaXh9L2Vudmlyb25tZW50LXNldHVwLmQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS5pbmMKaW5kZXggMDllMjhiNy4uNWIwYmNlNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLmluYwpAQCAtNiw3ICs2LDcgQEAKIEJVR1RSQUNLRVIgPSAiaHR0cDovL3B1YmxpYy5raXR3YXJlLmNvbS9CdWcvbXlfdmlld19wYWdlLnBocCIKIFNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKIExJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ29weXJpZ2h0LnR4dDttZDU9ZjYxZjVmODU5YmM1ZGRiYTJiMDUwZWIxMDMzNWUwMTMgXAorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ29weXJpZ2h0LnR4dDttZDU9NjIyNzQ3MTQ3YjQ2ZjIyZTE5NTM4NzZhN2NiYTMzMjMgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vU291cmNlL2NtYWtlLmg7bWQ1PTQ0OTRkZWUxODQyMTJmYzg5YzQ2OWMzYWNkNTU1YTE0O2JlZ2lubGluZT0xO2VuZGxpbmU9MyBcCiAgICAgICAgICAgICAgICAgICAgICIKIApAQCAtMTgsNyArMTgsNyBAQAogICAgICAgICAgICBmaWxlOi8vMDAwNC1GYWlsLXNpbGVudGx5LWlmLXN5c3RlbS1RdC1pbnN0YWxsYXRpb24taXMtYnJva2VuLnBhdGNoIFwKICIKIAotU1JDX1VSSVttZDVzdW1dID0gIjZlN2M1NTBjZmExYzJlMjE2YjM1OTAzZGM3MGQ4MGFmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBmOTc0ODU3OTllNTFhNzA3MGNjMTE0OTRmM2UwMjM0OWIwZmMzYTI0Y2MxMmIwODJlNzM3YmY2N2EwNTgxYTQiCitTUkNfVVJJW21kNXN1bV0gPSAiN2VmZTUzOTRlODVjMzI5MmFkMDIwYjhiNzBlNTU2NjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzMyMWJlNjQwNDA2MzM4ZmMxMjU5MDYwOWM0MmIwZmFlN2VhMTI5ODA4NTVjMWJlMzYzZDI1ZGNkNzZiYjI1ZiIKIAogVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiY21ha2UtKD9QPHB2ZXI+XGQrKFwuXGQrKSspXC50YXIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDAxLUNNYWtlRGV0ZXJtaW5lU3lzdGVtLXVzZS1vZS1lbnZpcm9ubWVudC12YXJzLXRvLWxvYWQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDAxLUNNYWtlRGV0ZXJtaW5lU3lzdGVtLXVzZS1vZS1lbnZpcm9ubWVudC12YXJzLXRvLWxvYWQucGF0Y2gKaW5kZXggZjY5MDcyMC4uY2RlZWE2NCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMS1DTWFrZURldGVybWluZVN5c3RlbS11c2Utb2UtZW52aXJvbm1lbnQtdmFycy10by1sb2FkLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDEtQ01ha2VEZXRlcm1pbmVTeXN0ZW0tdXNlLW9lLWVudmlyb25tZW50LXZhcnMtdG8tbG9hZC5wYXRjaApAQCAtMjgsNyArMjgsNyBAQAogaW5kZXggNjAwZDU1ODBlLi4zMmQ3ZjE5NDUgMTAwNjQ0CiAtLS0gYS9Nb2R1bGVzL0NNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlCiArKysgYi9Nb2R1bGVzL0NNYWtlRGV0ZXJtaW5lU3lzdGVtLmNtYWtlCi1AQCAtODIsNiArODIsMTMgQEAgZWxzZSgpCitAQCAtODEsNiArODEsMTMgQEAgZWxzZSgpCiAgICBlbmRpZigpCiAgZW5kaWYoKQogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMi1jbWFrZS1QcmV2ZW50LXRoZS1kZXRlY3Rpb24tb2YtUXQ1LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMi1jbWFrZS1QcmV2ZW50LXRoZS1kZXRlY3Rpb24tb2YtUXQ1LnBhdGNoCmluZGV4IDZmNzg4YWQuLjhkMmRjMTAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDItY21ha2UtUHJldmVudC10aGUtZGV0ZWN0aW9uLW9mLVF0NS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDAyLWNtYWtlLVByZXZlbnQtdGhlLWRldGVjdGlvbi1vZi1RdDUucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDdhMWY0ZTcyNGY5YzY4NDk4ZjQwMTI0NGMyOTM4ZTc4NGEyZTZmYmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGI0YjZlOWIxYmUzMzIxM2VkZTNmNjEyZTg3ODQwYzAwNDU4MjRkOWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgogRGF0ZTogV2VkLCAxNyBKYW4gMjAxOCAxMDowMjoxNCAtMDIwMAogU3ViamVjdDogW1BBVENIIDIvNV0gY21ha2U6IFByZXZlbnQgdGhlIGRldGVjdGlvbiBvZiBRdDUKQEAgLTE2LDE0ICsxNiwxNCBAQAogIFNvdXJjZS9RdERpYWxvZy9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgICAgIHwgMiArLQogIFRlc3RzL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQogIFRlc3RzL1F0NEFuZDVBdXRvbW9jL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgIHwgNCArKy0tCi0gVGVzdHMvUXRBdXRvZ2VuL0F1dG9nZW5UZXN0LmNtYWtlICAgICAgICAgICAgICAgICAgfCAyICstCisgVGVzdHMvUXRBdXRvZ2VuL0F1dG9nZW5HdWlUZXN0LmNtYWtlICAgICAgICAgICAgICAgfCAzICstLQogIFRlc3RzL1F0QXV0b2dlbi9NYWNPc0ZXL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgIHwgMiArLQogIFRlc3RzL1J1bkNNYWtlL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQogIFRlc3RzL1J1bkNNYWtlL0luY29tcGF0aWJsZVF0L0luY29tcGF0aWJsZVF0LmNtYWtlIHwgMiArLQotIDcgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorIDcgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvU291cmNlL1F0RGlhbG9nL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1F0RGlhbG9nL0NNYWtlTGlzdHMudHh0Ci1pbmRleCAzMzBiNzQ3MjkuLmU3NzA5ZGVlNiAxMDA2NDQKK2luZGV4IDljZTAzMjM4NDQuLjA2Yzg2ZDYzZWIgMTAwNjQ0CiAtLS0gYS9Tb3VyY2UvUXREaWFsb2cvQ01ha2VMaXN0cy50eHQKICsrKyBiL1NvdXJjZS9RdERpYWxvZy9DTWFrZUxpc3RzLnR4dAogQEAgLTYsNyArNiw3IEBAIGlmKFBPTElDWSBDTVAwMDIwKQpAQCAtMzYsMTAgKzM2LDEwIEBACiAgICBpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UXQ1V2lkZ2V0c19JTkNMVURFX0RJUlN9KQogICAgYWRkX2RlZmluaXRpb25zKCR7UXQ1V2lkZ2V0c19ERUZJTklUT05TfSkKIGRpZmYgLS1naXQgYS9UZXN0cy9DTWFrZUxpc3RzLnR4dCBiL1Rlc3RzL0NNYWtlTGlzdHMudHh0Ci1pbmRleCBiOGI3MjRlZDguLjYzZjZiYjZkMiAxMDA2NDQKK2luZGV4IGVkOThkOTc0YjAuLjdhZGZiYzMwMWIgMTAwNjQ0CiAtLS0gYS9UZXN0cy9DTWFrZUxpc3RzLnR4dAogKysrIGIvVGVzdHMvQ01ha2VMaXN0cy50eHQKLUBAIC0xMzIyLDcgKzEzMjIsNyBAQCAke0NNYWtlX0JJTkFSWV9ESVJ9L2Jpbi9jbWFrZSAtRERJUj1kZXYgLVAgJHtDTWFrZV9TT1VSQ0VfRElSfS9VdGlsaXRpZXMvUmVsZWFzZQorQEAgLTEzNDIsNyArMTM0Miw3IEBAICR7Q01ha2VfQklOQVJZX0RJUn0vYmluL2NtYWtlIC1ERElSPWRldiAtUCAke0NNYWtlX1NPVVJDRV9ESVJ9L1V0aWxpdGllcy9SZWxlYXNlCiAgICAgIHNldChDTWFrZV9URVNUX1F0NSAxKQogICAgZW5kaWYoKQogICAgaWYoQ01ha2VfVEVTVF9RdDUpCkBAIC00OSw3ICs0OSw3IEBACiAgICBpZihDTWFrZV9URVNUX1F0NSBBTkQgUXQ1V2lkZ2V0c19GT1VORCkKICAgICAgYWRkX3N1YmRpcmVjdG9yeShRdDVBdXRvZ2VuKQogZGlmZiAtLWdpdCBhL1Rlc3RzL1F0NEFuZDVBdXRvbW9jL0NNYWtlTGlzdHMudHh0IGIvVGVzdHMvUXQ0QW5kNUF1dG9tb2MvQ01ha2VMaXN0cy50eHQKLWluZGV4IGFkNzQ5NjFkOS4uYTlkZDc0YjE1IDEwMDY0NAoraW5kZXggYWQ3NDk2MWQ5Zi4uYTlkZDc0YjE1MSAxMDA2NDQKIC0tLSBhL1Rlc3RzL1F0NEFuZDVBdXRvbW9jL0NNYWtlTGlzdHMudHh0CiArKysgYi9UZXN0cy9RdDRBbmQ1QXV0b21vYy9DTWFrZUxpc3RzLnR4dAogQEAgLTMsMTEgKzMsMTEgQEAgY21ha2VfbWluaW11bV9yZXF1aXJlZChWRVJTSU9OIDIuOC4xMikKQEAgLTY2LDI2ICs2NiwyNyBAQAogIGVuZGlmKCkKICAKICBzZXQoQ01BS0VfQVVUT01PQyBPTikKLWRpZmYgLS1naXQgYS9UZXN0cy9RdEF1dG9nZW4vQXV0b2dlblRlc3QuY21ha2UgYi9UZXN0cy9RdEF1dG9nZW4vQXV0b2dlblRlc3QuY21ha2UKLWluZGV4IDhjMGExNGZjYS4uZTk5MjNiMjFhIDEwMDY0NAotLS0tIGEvVGVzdHMvUXRBdXRvZ2VuL0F1dG9nZW5UZXN0LmNtYWtlCi0rKysgYi9UZXN0cy9RdEF1dG9nZW4vQXV0b2dlblRlc3QuY21ha2UKLUBAIC0yMiw3ICsyMiw3IEBAIGlmIChRVF9URVNUX1ZFUlNJT04gU1RSRVFVQUwgNCkKK2RpZmYgLS1naXQgYS9UZXN0cy9RdEF1dG9nZW4vQXV0b2dlbkd1aVRlc3QuY21ha2UgYi9UZXN0cy9RdEF1dG9nZW4vQXV0b2dlbkd1aVRlc3QuY21ha2UKK2luZGV4IGI3NmQzNDFhNDUuLmE2ZTBhY2JhZmEgMTAwNjQ0CistLS0gYS9UZXN0cy9RdEF1dG9nZW4vQXV0b2dlbkd1aVRlc3QuY21ha2UKKysrKyBiL1Rlc3RzL1F0QXV0b2dlbi9BdXRvZ2VuR3VpVGVzdC5jbWFrZQorQEAgLTIyLDggKzIyLDcgQEAgaWYgKFFUX1RFU1RfVkVSU0lPTiBFUVVBTCA0KQogICAgZW5kbWFjcm8oKQogIAotIGVsc2VpZihRVF9URVNUX1ZFUlNJT04gU1RSRVFVQUwgNSkKKyBlbHNlaWYoUVRfVEVTVF9WRVJTSU9OIEVRVUFMIDUpCistCiAtICBmaW5kX3BhY2thZ2UoUXQ1V2lkZ2V0cyBSRVFVSVJFRCkKICsgICNmaW5kX3BhY2thZ2UoUXQ1V2lkZ2V0cyBSRVFVSVJFRCkKICAKICAgIHNldChRVF9RVENPUkVfVEFSR0VUIFF0NTo6Q29yZSkKLSAgIHNldChRVF9RVEdVSV9UQVJHRVQgUXQ1OjpXaWRnZXRzKQorICAgc2V0KFFUX0xJQlJBUklFUyBRdDU6OldpZGdldHMpCiBkaWZmIC0tZ2l0IGEvVGVzdHMvUXRBdXRvZ2VuL01hY09zRlcvQ01ha2VMaXN0cy50eHQgYi9UZXN0cy9RdEF1dG9nZW4vTWFjT3NGVy9DTWFrZUxpc3RzLnR4dAotaW5kZXggMjZkMjAxOTI2Li5lNDhlMWM4ZGUgMTAwNjQ0CitpbmRleCBjMDhlZmM0N2EyLi44N2UyNWQ5MzkxIDEwMDY0NAogLS0tIGEvVGVzdHMvUXRBdXRvZ2VuL01hY09zRlcvQ01ha2VMaXN0cy50eHQKICsrKyBiL1Rlc3RzL1F0QXV0b2dlbi9NYWNPc0ZXL0NNYWtlTGlzdHMudHh0CiBAQCAtMiw3ICsyLDcgQEAgY21ha2VfbWluaW11bV9yZXF1aXJlZChWRVJTSU9OIDMuMTApCiAgcHJvamVjdChNYWNPc0ZXKQotIGluY2x1ZGUoIi4uL0F1dG9nZW5UZXN0LmNtYWtlIikKKyBpbmNsdWRlKCIuLi9BdXRvZ2VuR3VpVGVzdC5jbWFrZSIpCiAgCiAtZmluZF9wYWNrYWdlKFF0NVRlc3QgUkVRVUlSRUQpCiArI2ZpbmRfcGFja2FnZShRdDVUZXN0IFJFUVVJUkVEKQpAQCAtOTMsMTAgKzk0LDEwIEBACiAgc2V0KENNQUtFX0NYWF9TVEFOREFSRCAxMSkKICBzZXQoQ01BS0VfUlVOVElNRV9PVVRQVVRfRElSRUNUT1JZICR7Q01BS0VfQklOQVJZX0RJUn0vb3V0cHV0L2JpbikKIGRpZmYgLS1naXQgYS9UZXN0cy9SdW5DTWFrZS9DTWFrZUxpc3RzLnR4dCBiL1Rlc3RzL1J1bkNNYWtlL0NNYWtlTGlzdHMudHh0Ci1pbmRleCA2MzdjNWMyY2IuLmMwMzc2ZWZmYyAxMDA2NDQKK2luZGV4IDFmM2U1YzMwMDYuLjhlZDhkNmFjNTQgMTAwNjQ0CiAtLS0gYS9UZXN0cy9SdW5DTWFrZS9DTWFrZUxpc3RzLnR4dAogKysrIGIvVGVzdHMvUnVuQ01ha2UvQ01ha2VMaXN0cy50eHQKLUBAIC0yOTEsNyArMjkxLDcgQEAgYWRkX1J1bkNNYWtlX3Rlc3QoY29uZmlndXJlX2ZpbGUpCitAQCAtMzI2LDcgKzMyNiw3IEBAIGFkZF9SdW5DTWFrZV90ZXN0KGNvbmZpZ3VyZV9maWxlKQogIGFkZF9SdW5DTWFrZV90ZXN0KENUZXN0VGltZW91dEFmdGVyTWF0Y2gpCiAgCiAgZmluZF9wYWNrYWdlKFF0NCBRVUlFVCkKQEAgLTEwNiw3ICsxMDcsNyBAQAogICAgYWRkX1J1bkNNYWtlX3Rlc3QoSW5jb21wYXRpYmxlUXQpCiAgZW5kaWYoKQogZGlmZiAtLWdpdCBhL1Rlc3RzL1J1bkNNYWtlL0luY29tcGF0aWJsZVF0L0luY29tcGF0aWJsZVF0LmNtYWtlIGIvVGVzdHMvUnVuQ01ha2UvSW5jb21wYXRpYmxlUXQvSW5jb21wYXRpYmxlUXQuY21ha2UKLWluZGV4IDRmY2NkYzQxOC4uYjc2ZTFlNTMxIDEwMDY0NAoraW5kZXggNGZjY2RjNDE4Zi4uYjc2ZTFlNTMxMyAxMDA2NDQKIC0tLSBhL1Rlc3RzL1J1bkNNYWtlL0luY29tcGF0aWJsZVF0L0luY29tcGF0aWJsZVF0LmNtYWtlCiArKysgYi9UZXN0cy9SdW5DTWFrZS9JbmNvbXBhdGlibGVRdC9JbmNvbXBhdGlibGVRdC5jbWFrZQogQEAgLTEsNiArMSw2IEBACkBAIC0xMTgsNSArMTE5LDUgQEAKICBhZGRfZXhlY3V0YWJsZShtYWluZXhlIG1haW4uY3BwKQogIHRhcmdldF9saW5rX2xpYnJhcmllcyhtYWluZXhlIFF0NDo6UXRDb3JlIFF0NTo6Q29yZSkKIC0tIAotMi4xOC4wCisyLjExLjAKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMy1jbWFrZS1zdXBwb3J0LU9wZW5FbWJlZGRlZC1RdDQtdG9vbC1iaW5hcnktbmFtZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDAzLWNtYWtlLXN1cHBvcnQtT3BlbkVtYmVkZGVkLVF0NC10b29sLWJpbmFyeS1uYW1lcy5wYXRjaAppbmRleCA1NWNmNDcxLi40ZjJlODQzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDAzLWNtYWtlLXN1cHBvcnQtT3BlbkVtYmVkZGVkLVF0NC10b29sLWJpbmFyeS1uYW1lcy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDAzLWNtYWtlLXN1cHBvcnQtT3BlbkVtYmVkZGVkLVF0NC10b29sLWJpbmFyeS1uYW1lcy5wYXRjaApAQCAtMjgsNyArMjgsNyBAQAogaW5kZXggODQ3YTc5OGFmLi43YWQ5ODE4NzkgMTAwNjQ0CiAtLS0gYS9Nb2R1bGVzL0ZpbmRRdDQuY21ha2UKICsrKyBiL01vZHVsZXMvRmluZFF0NC5jbWFrZQotQEAgLTUxNyw3ICs1MTcsNyBAQCBlbmRmdW5jdGlvbigpCitAQCAtNTE4LDcgKzUxOCw3IEBAIGVuZGZ1bmN0aW9uKCkKICAKICBzZXQoUVQ0X0lOU1RBTExFRF9WRVJTSU9OX1RPT19PTEQgRkFMU0UpCiAgCkBAIC0zNyw3ICszNyw3IEBACiAgX3F0NF9maW5kX3FtYWtlKCIke19RVDRfUU1BS0VfTkFNRVN9IiBRVF9RTUFLRV9FWEVDVVRBQkxFIFFUVkVSU0lPTikKICAKICBpZiAoUVRfUU1BS0VfRVhFQ1VUQUJMRSBBTkQKLUBAIC0xMTM1LDEyICsxMTM1LDEyIEBAIGlmIChRVF9RTUFLRV9FWEVDVVRBQkxFIEFORAorQEAgLTExMzYsMTIgKzExMzYsMTIgQEAgaWYgKFFUX1FNQUtFX0VYRUNVVEFCTEUgQU5ECiAgICBfZmluZF9xdDRfcHJvZ3JhbShRVF9NT0NfRVhFQ1VUQUJMRSBRdDQ6Om1vYyBtb2MtcXQ0IG1vYzQgbW9jKQogICAgX2ZpbmRfcXQ0X3Byb2dyYW0oUVRfVUlDX0VYRUNVVEFCTEUgUXQ0Ojp1aWMgdWljLXF0NCB1aWM0IHVpYykKICAgIF9maW5kX3F0NF9wcm9ncmFtKFFUX1VJQzNfRVhFQ1VUQUJMRSBRdDQ6OnVpYzMgdWljMykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDQtRmFpbC1zaWxlbnRseS1pZi1zeXN0ZW0tUXQtaW5zdGFsbGF0aW9uLWlzLWJyb2tlbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDQtRmFpbC1zaWxlbnRseS1pZi1zeXN0ZW0tUXQtaW5zdGFsbGF0aW9uLWlzLWJyb2tlbi5wYXRjaAppbmRleCBhNTljNjgwLi42YzY3ZGNmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDA0LUZhaWwtc2lsZW50bHktaWYtc3lzdGVtLVF0LWluc3RhbGxhdGlvbi1pcy1icm9rZW4ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwNC1GYWlsLXNpbGVudGx5LWlmLXN5c3RlbS1RdC1pbnN0YWxsYXRpb24taXMtYnJva2VuLnBhdGNoCkBAIC0zMSw3ICszMSw3IEBACiBpbmRleCA3YWQ5ODE4NzkuLjhiNmY0M2NkYSAxMDA2NDQKIC0tLSBhL01vZHVsZXMvRmluZFF0NC5jbWFrZQogKysrIGIvTW9kdWxlcy9GaW5kUXQ0LmNtYWtlCi1AQCAtOTg3LDI1ICs5ODcsMjYgQEAgaWYgKFFUX1FNQUtFX0VYRUNVVEFCTEUgQU5ECitAQCAtOTg4LDI1ICs5ODgsMjYgQEAgaWYgKFFUX1FNQUtFX0VYRUNVVEFCTEUgQU5ECiAgICAgIGVuZGlmKCkKICAgIGVuZG1hY3JvKCkKICAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDUtRGlzYWJsZS11c2Utb2YtZXh0MmZzLWV4dDJfZnMuaC1ieS1jbWFrZS1zLWludGVybmFsLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDUtRGlzYWJsZS11c2Utb2YtZXh0MmZzLWV4dDJfZnMuaC1ieS1jbWFrZS1zLWludGVybmFsLS5wYXRjaAppbmRleCAyM2NlOGU5Li5hZDQyZDQwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDA1LURpc2FibGUtdXNlLW9mLWV4dDJmcy1leHQyX2ZzLmgtYnktY21ha2Utcy1pbnRlcm5hbC0ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwNS1EaXNhYmxlLXVzZS1vZi1leHQyZnMtZXh0Ml9mcy5oLWJ5LWNtYWtlLXMtaW50ZXJuYWwtLnBhdGNoCkBAIC0yMCw3ICsyMCw3IEBACiBpbmRleCAyMDZmM2M2YTUuLjY0MmZiMGRkOSAxMDA2NDQKIC0tLSBhL1V0aWxpdGllcy9jbWxpYmFyY2hpdmUvQ01ha2VMaXN0cy50eHQKICsrKyBiL1V0aWxpdGllcy9jbWxpYmFyY2hpdmUvQ01ha2VMaXN0cy50eHQKLUBAIC00MDAsMTIgKzQwMCw4IEBAIExBX0NIRUNLX0lOQ0xVREVfRklMRSgiY29weWZpbGUuaCIgSEFWRV9DT1BZRklMRV9IKQorQEAgLTQzMCwxMiArNDMwLDggQEAgTEFfQ0hFQ0tfSU5DTFVERV9GSUxFKCJjb3B5ZmlsZS5oIiBIQVZFX0NPUFlGSUxFX0gpCiAgTEFfQ0hFQ0tfSU5DTFVERV9GSUxFKCJkaXJlY3QuaCIgSEFWRV9ESVJFQ1RfSCkKICBMQV9DSEVDS19JTkNMVURFX0ZJTEUoImRsZmNuLmgiIEhBVkVfRExGQ05fSCkKICBMQV9DSEVDS19JTkNMVURFX0ZJTEUoImVycm5vLmgiIEhBVkVfRVJSTk9fSCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlL09FVG9vbGNoYWluQ29uZmlnLmNtYWtlIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvT0VUb29sY2hhaW5Db25maWcuY21ha2UKaW5kZXggOGEwZmI0Yy4uMzk4MDY5ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvT0VUb29sY2hhaW5Db25maWcuY21ha2UKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvT0VUb29sY2hhaW5Db25maWcuY21ha2UKQEAgLTUsNyArNSw3IEBACiBzZXQoIENNQUtFX0xERkxBR1NfRkxBR1MgJHtDTUFLRV9DWFhfRkxBR1N9IENBQ0hFIFNUUklORyAiIiBGT1JDRSApCiBzZXQoIENNQUtFX1NZU1JPT1QgJEVOVntPRUNPUkVfVEFSR0VUX1NZU1JPT1R9ICkKIAotc2V0KCBDTUFLRV9GSU5EX1JPT1RfUEFUSCAkRU5We09FQ09SRV9UQVJHRVRfU1lTUk9PVH0gJEVOVntPRUNPUkVfTkFUSVZFX1NZU1JPT1R9ICkKK3NldCggQ01BS0VfRklORF9ST09UX1BBVEggJEVOVntPRUNPUkVfVEFSR0VUX1NZU1JPT1R9ICkKIHNldCggQ01BS0VfRklORF9ST09UX1BBVEhfTU9ERV9QUk9HUkFNIE5FVkVSICkKIHNldCggQ01BS0VfRklORF9ST09UX1BBVEhfTU9ERV9MSUJSQVJZIE9OTFkgKQogc2V0KCBDTUFLRV9GSU5EX1JPT1RfUEFUSF9NT0RFX0lOQ0xVREUgT05MWSApCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZV8zLjEyLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZV8zLjE0LjEuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlXzMuMTIuMi5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2VfMy4xNC4xLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jcmVhdGVyZXBvLWMvY3JlYXRlcmVwby1jLzAwMDEtQ29ycmVjdGx5LWluc3RhbGwtdGhlLXNoYXJlZC1saWJyYXJ5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY3JlYXRlcmVwby1jL2NyZWF0ZXJlcG8tYy8wMDAxLUNvcnJlY3RseS1pbnN0YWxsLXRoZS1zaGFyZWQtbGlicmFyeS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Q3MjA4NC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jcmVhdGVyZXBvLWMvY3JlYXRlcmVwby1jLzAwMDEtQ29ycmVjdGx5LWluc3RhbGwtdGhlLXNoYXJlZC1saWJyYXJ5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotRnJvbSBmZWY4MzVlMWZkZWRjNzJjOTdkOWMzZTU3MDQzMDJlNTZlMWJkZWYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDIgSmFuIDIwMTcgMTc6MjM6NTkgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gQ29ycmVjdGx5IGluc3RhbGwgdGhlIHNoYXJlZCBsaWJyYXJ5Ci0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vcnBtLXNvZnR3YXJlLW1hbmFnZW1lbnQvY3JlYXRlcmVwb19jL3B1bGwvNzhdCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9DTWFrZUxpc3RzLnR4dCB8IDMgKystCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL0NNYWtlTGlzdHMudHh0IGIvc3JjL0NNYWtlTGlzdHMudHh0Ci1pbmRleCBmMzYzNWU4Li40NmRjMDM3IDEwMDY0NAotLS0tIGEvc3JjL0NNYWtlTGlzdHMudHh0Ci0rKysgYi9zcmMvQ01ha2VMaXN0cy50eHQKLUBAIC0xMTAsNyArMTEwLDggQEAgQ09ORklHVVJFX0ZJTEUoImRlbHRhcnBtcy5oLmluIiAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2RlbHRhcnBtcy5oIiBAT05MWSkKLSBJRiAoQ01BS0VfU0laRU9GX1ZPSURfUCBNQVRDSEVTICI4IikKLSAgICAgU0VUIChMSUJfU1VGRklYICI2NCIpCi0gRU5ESUYgKENNQUtFX1NJWkVPRl9WT0lEX1AgTUFUQ0hFUyAiOCIpCi0tU0VUIChMSUJfSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L2xpYiR7TElCX1NVRkZJWH0iKQotKyNTRVQgKExJQl9JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliJHtMSUJfU1VGRklYfSIpCi0rU0VUIChMSUJfSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9IikKLSAKLSBJTlNUQUxMKEZJTEVTICR7aGVhZGVyc30gREVTVElOQVRJT04gImluY2x1ZGUvY3JlYXRlcmVwb19jIikKLSBJTlNUQUxMKEZJTEVTICJjcmVhdGVyZXBvX2MucGMiIERFU1RJTkFUSU9OICIke0xJQl9JTlNUQUxMX0RJUn0vcGtnY29uZmlnIikKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWMvMDAwMS1Eby1ub3Qtc2V0LVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXB5dGhvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWMvMDAwMS1Eby1ub3Qtc2V0LVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXB5dGhvbi5wYXRjaAppbmRleCA5NTMxMDcwLi5jMGYwN2ZlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jcmVhdGVyZXBvLWMvY3JlYXRlcmVwby1jLzAwMDEtRG8tbm90LXNldC1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1weXRob24ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY3JlYXRlcmVwby1jL2NyZWF0ZXJlcG8tYy8wMDAxLURvLW5vdC1zZXQtUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcHl0aG9uLnBhdGNoCkBAIC0xLDI3ICsxLDI1IEBACi1Gcm9tIGJlZjQ4N2I1YzI1MTUwNjJjNWRkNzNjMjEwODJjZTQyZjY5YWE3MTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDQ2NDRkMTgxNTcyOTYyNTcyODRiZWRkODU3ZjQ2MTBmMTAzN2Q1MGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIERhdGU6IEZyaSwgMzAgRGVjIDIwMTYgMTg6MzE6MDIgKzAyMDAKIFN1YmplY3Q6IFtQQVRDSF0gRG8gbm90IHNldCBQWVRIT05fSU5TVEFMTF9ESVIgYnkgcnVubmluZyBweXRob24KIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQogU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKIC0tLQogIHNyYy9weXRob24vQ01ha2VMaXN0cy50eHQgfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9zcmMvcHl0aG9uL0NNYWtlTGlzdHMudHh0IGIvc3JjL3B5dGhvbi9DTWFrZUxpc3RzLnR4dAotaW5kZXggOWYxYWM2NC4uZWFlMGNiYiAxMDA2NDQKK2luZGV4IDNkODczZjcuLmU5NzdiMmYgMTAwNjQ0CiAtLS0gYS9zcmMvcHl0aG9uL0NNYWtlTGlzdHMudHh0CiArKysgYi9zcmMvcHl0aG9uL0NNYWtlTGlzdHMudHh0Ci1AQCAtMTksNyArMTksNyBAQCBlbHNlKCkKLSAgICAgRklORF9QQUNLQUdFKFB5dGhvbkludGVycCAzLjAgUkVRVUlSRUQpCi0gZW5kaWYoKQorQEAgLTIxLDcgKzIxLDcgQEAgaWYgKE5PVCBTS0JVSUxEKQorICAgICBlbmRpZiAoKQorIGVuZGlmIChOT1QgU0tCVUlMRCkKICAKIC1FWEVDVVRFX1BST0NFU1MoQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAtYyAiZnJvbSBzeXMgaW1wb3J0IHN0ZG91dDsgZnJvbSBkaXN0dXRpbHMgaW1wb3J0IHN5c2NvbmZpZzsgc3Rkb3V0LndyaXRlKHN5c2NvbmZpZy5nZXRfcHl0aG9uX2xpYihUcnVlKSkiIE9VVFBVVF9WQVJJQUJMRSBQWVRIT05fSU5TVEFMTF9ESVIpCiArI0VYRUNVVEVfUFJPQ0VTUyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1jICJmcm9tIHN5cyBpbXBvcnQgc3Rkb3V0OyBmcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnOyBzdGRvdXQud3JpdGUoc3lzY29uZmlnLmdldF9weXRob25fbGliKFRydWUpKSIgT1VUUFVUX1ZBUklBQkxFIFBZVEhPTl9JTlNUQUxMX0RJUikKICBJTkNMVURFX0RJUkVDVE9SSUVTICgke1BZVEhPTl9JTkNMVURFX1BBVEh9KQogIAogIE1FU1NBR0UoU1RBVFVTICJQeXRob24gaW5zdGFsbCBkaXIgaXMgJHtQWVRIT05fSU5TVEFMTF9ESVJ9IikKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWMvMDAwMS1GaXgtc2V0dXAtb2YtbG9nZ2luZy1sb2ctZG9tYWlucy1SaEJ1Zy0xNjQ1ODk3LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY3JlYXRlcmVwby1jL2NyZWF0ZXJlcG8tYy8wMDAxLUZpeC1zZXR1cC1vZi1sb2dnaW5nLWxvZy1kb21haW5zLVJoQnVnLTE2NDU4OTcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkZTljMDUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY3JlYXRlcmVwby1jL2NyZWF0ZXJlcG8tYy8wMDAxLUZpeC1zZXR1cC1vZi1sb2dnaW5nLWxvZy1kb21haW5zLVJoQnVnLTE2NDU4OTcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi1Gcm9tIDgwODEwZjA0ZjJkZTZiYWU2ZTM5NGY1MmFkOWNkZDIxODk4NjJmNzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKYXJvc2xhdiBSb2hlbCA8anJvaGVsQHJlZGhhdC5jb20+Ci1EYXRlOiBGcmksIDkgTm92IDIwMTggMDc6MzU6MTMgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IHNldHVwIG9mIGxvZ2dpbmcgKGxvZyBkb21haW5zKSAoUmhCdWc6MTY0NTg5NykKLQotTmV3IGRlYnVnIG1lc3NhZ2VzIHdlcmUgYWRkZWQgaW50byBHTGliIGxpYnJhcnkuIFRoZXNlIG1lc3NhZ2VzIGNvbWUKLWZyb20gdGhlICJHTGliIiBsb2cgZG9tYWluIGFuZCB3ZXJlIG5vdCBoaWRkZW4gaW4gdGhlIHN0YW5kYXJkIGFuZAotcXVpZXQgbW9kZSBvZiB0aGUgYXBwbGljYXRpb24uCi1UaGlzIGZpeCBoaWRlcyBsb2cgbWVzc2FnZXMgcmVnYXJkbGVzcyBvbiBzb3VyY2UgbG9nIGRvbWFpbi4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBaaGVuZyBSdW9xaW4gPHpoZW5ncnEuZm5zdEBjbi5mdWppdHN1LmNvbT4KLS0tLQotIHNyYy9jcmVhdGVyZXBvX3NoYXJlZC5jIHwgMTkgKysrKysrLS0tLS0tLS0tLS0tLQotIHNyYy9taXNjLmMgICAgICAgICAgICAgIHwgIDUgKysrKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NyZWF0ZXJlcG9fc2hhcmVkLmMgYi9zcmMvY3JlYXRlcmVwb19zaGFyZWQuYwotaW5kZXggOGEyNjc4Ny4uN2NiOGJhOCAxMDA2NDQKLS0tLSBhL3NyYy9jcmVhdGVyZXBvX3NoYXJlZC5jCi0rKysgYi9zcmMvY3JlYXRlcmVwb19zaGFyZWQuYwotQEAgLTI3MCwyNCArMjcwLDE3IEBAIGNyX2xvY2tfcmVwbyhjb25zdCBnY2hhciAqcmVwb19kaXIsCi0gdm9pZAotIGNyX3NldHVwX2xvZ2dpbmcoZ2Jvb2xlYW4gcXVpZXQsIGdib29sZWFuIHZlcmJvc2UpCi0gewotLSAgICBnX2xvZ19zZXRfZGVmYXVsdF9oYW5kbGVyIChjcl9sb2dfZm4sIE5VTEwpOwotLQotICAgICBpZiAocXVpZXQpIHsKLSAgICAgICAgIC8vIFF1aWV0IG1vZGUKLS0gICAgICAgIEdMb2dMZXZlbEZsYWdzIGxldmVscyA9IEdfTE9HX0xFVkVMX01FU1NBR0UgfCBHX0xPR19MRVZFTF9JTkZPIHwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfTE9HX0xFVkVMX0RFQlVHIHwgR19MT0dfTEVWRUxfV0FSTklORzsKLS0gICAgICAgIGdfbG9nX3NldF9oYW5kbGVyKE5VTEwsIGxldmVscywgY3JfbnVsbF9sb2dfZm4sIE5VTEwpOwotLSAgICAgICAgZ19sb2dfc2V0X2hhbmRsZXIoIkNfQ1JFQVRFUkVQT0xJQiIsIGxldmVscywgY3JfbnVsbF9sb2dfZm4sIE5VTEwpOwotKyAgICAgICAgR0xvZ0xldmVsRmxhZ3MgaGlkZGVuX2xldmVscyA9IEdfTE9HX0xFVkVMX01FU1NBR0UgfCBHX0xPR19MRVZFTF9JTkZPIHwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0xPR19MRVZFTF9ERUJVRyB8IEdfTE9HX0xFVkVMX1dBUk5JTkc7Ci0rICAgICAgICBnX2xvZ19zZXRfZGVmYXVsdF9oYW5kbGVyIChjcl9sb2dfZm4sIEdJTlRfVE9fUE9JTlRFUihoaWRkZW5fbGV2ZWxzKSk7Ci0gICAgIH0gZWxzZSBpZiAodmVyYm9zZSkgewotICAgICAgICAgLy8gVmVyYm9zZSBtb2RlCi0tICAgICAgICBHTG9nTGV2ZWxGbGFncyBsZXZlbHMgPSBHX0xPR19MRVZFTF9NRVNTQUdFIHwgR19MT0dfTEVWRUxfSU5GTyB8Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0xPR19MRVZFTF9ERUJVRyB8IEdfTE9HX0xFVkVMX1dBUk5JTkc7Ci0tICAgICAgICBnX2xvZ19zZXRfaGFuZGxlcihOVUxMLCBsZXZlbHMsIGNyX2xvZ19mbiwgTlVMTCk7Ci0tICAgICAgICBnX2xvZ19zZXRfaGFuZGxlcigiQ19DUkVBVEVSRVBPTElCIiwgbGV2ZWxzLCBjcl9sb2dfZm4sIE5VTEwpOwotKyAgICAgICAgZ19sb2dfc2V0X2RlZmF1bHRfaGFuZGxlciAoY3JfbG9nX2ZuLCBHSU5UX1RPX1BPSU5URVIoMCkpOwotICAgICB9IGVsc2UgewotICAgICAgICAgLy8gU3RhbmRhcmQgbW9kZQotLSAgICAgICAgR0xvZ0xldmVsRmxhZ3MgbGV2ZWxzID0gR19MT0dfTEVWRUxfREVCVUc7Ci0tICAgICAgICBnX2xvZ19zZXRfaGFuZGxlcihOVUxMLCBsZXZlbHMsIGNyX251bGxfbG9nX2ZuLCBOVUxMKTsKLS0gICAgICAgIGdfbG9nX3NldF9oYW5kbGVyKCJDX0NSRUFURVJFUE9MSUIiLCBsZXZlbHMsIGNyX251bGxfbG9nX2ZuLCBOVUxMKTsKLSsgICAgICAgIEdMb2dMZXZlbEZsYWdzIGhpZGRlbl9sZXZlbHMgPSBHX0xPR19MRVZFTF9ERUJVRzsKLSsgICAgICAgIGdfbG9nX3NldF9kZWZhdWx0X2hhbmRsZXIgKGNyX2xvZ19mbiwgR0lOVF9UT19QT0lOVEVSKGhpZGRlbl9sZXZlbHMpKTsKLSAgICAgfQotIH0KLWRpZmYgLS1naXQgYS9zcmMvbWlzYy5jIGIvc3JjL21pc2MuYwotaW5kZXggOTkzNzQ4MC4uOTU0OWE0NCAxMDA2NDQKLS0tLSBhL3NyYy9taXNjLmMKLSsrKyBiL3NyYy9taXNjLmMKLUBAIC05MTIsOCArOTEyLDExIEBAIHZvaWQKLSBjcl9sb2dfZm4oY29uc3QgZ2NoYXIgKmxvZ19kb21haW4sCi0gICAgICAgICAgIEdMb2dMZXZlbEZsYWdzIGxvZ19sZXZlbCwKLSAgICAgICAgICAgY29uc3QgZ2NoYXIgKm1lc3NhZ2UsCi0tICAgICAgICAgIEdfR05VQ19VTlVTRUQgZ3BvaW50ZXIgdXNlcl9kYXRhKQotKyAgICAgICAgICBncG9pbnRlciB1c2VyX2RhdGEpCi0gewotKyAgICBnaW50IGhpZGRlbl9sb2dfbGV2ZWxzID0gR1BPSU5URVJfVE9fSU5UKHVzZXJfZGF0YSk7Ci0rICAgIGlmIChsb2dfbGV2ZWwgJiBoaWRkZW5fbG9nX2xldmVscykKLSsgICAgICAgIHJldHVybjsKLSAgICAgc3dpdGNoKGxvZ19sZXZlbCkgewotICAgICAgICAgY2FzZSBHX0xPR19MRVZFTF9FUlJPUjoKLSAgICAgICAgICAgICBpZiAobG9nX2RvbWFpbikgZ19wcmludGVycigiJXM6ICIsIGxvZ19kb21haW4pOwotLS0gCi0xLjguMy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWNfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY3JlYXRlcmVwby1jL2NyZWF0ZXJlcG8tY19naXQuYmIKaW5kZXggMDg3NjZiMy4uOWFhOGQyYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY3JlYXRlcmVwby1jL2NyZWF0ZXJlcG8tY19naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY3JlYXRlcmVwby1jL2NyZWF0ZXJlcG8tY19naXQuYmIKQEAgLTYsMTIgKzYsMTAgQEAKIAogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L2NyZWF0ZXJlcG9fYyBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1zZXQtUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcHl0aG9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQ29ycmVjdGx5LWluc3RhbGwtdGhlLXNoYXJlZC1saWJyYXJ5LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LXNldHVwLW9mLWxvZ2dpbmctbG9nLWRvbWFpbnMtUmhCdWctMTY0NTg5Ny5wYXRjaCBcCiAgICAgICAgICAgICIKIAotUFYgPSAiMC4xMS4xK2dpdCR7U1JDUFZ9IgotU1JDUkVWID0gIjQzNGE0MGJhYmRkZTU3YWI0MDVlOWExMDg1YTMwZTk1NzVlYTBjOTIiCitQViA9ICIwLjEyLjEiCitTUkNSRVYgPSAiNzc0NDU1NGRkZWY3YzViZTJjZDdmYmNhYzQ5YzhiMjRjZTYwZWY4OCIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIApAQCAtMjAsNyArMTgsNyBAQAogCiBpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZyBiYXNoLWNvbXBsZXRpb24gZGlzdHV0aWxzMy1iYXNlCiAKLUVYVFJBX09FQ01BS0UgPSAiIC1EUFlUSE9OX0lOU1RBTExfRElSPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IC1EUFlUSE9OX0RFU0lSRUQ9MyIKK0VYVFJBX09FQ01BS0UgPSAiIC1EUFlUSE9OX0lOU1RBTExfRElSPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IC1EUFlUSE9OX0RFU0lSRUQ9MyAtRFdJVEhfWkNIVU5LPU9GRiIKIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kaXN0Y2MvZGlzdGNjXzMuMy4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZGlzdGNjL2Rpc3RjY18zLjMuMi5iYgppbmRleCAwZDA2OTYzLi5hOTM2MDRiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kaXN0Y2MvZGlzdGNjXzMuMy4yLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rpc3RjYy9kaXN0Y2NfMy4zLjIuYmIKQEAgLTY5LDMgKzY5LDI3IEBACiAJCSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vZGlzdGNjLnNlcnZpY2UiCiBGSUxFU19kaXN0Y2MtZGlzdG1vbi1nbm9tZSA9ICIgICR7YmluZGlyfS9kaXN0Y2Ntb24tZ25vbWUgXAogCQkJCSR7ZGF0YWRpcn0vZGlzdGNjIgorCisKKyMKKyMgZGlzdGNjIHVwc3RyZWFtIGRyb3BwZWQgdGhlIDMuMiBicmFuY2ggd2hpY2ggd2UgcmVmZXJlbmNlIGluIG9sZGVyIHByb2plY3QgcmVsZWFzZXMKKyMgdGhlIHJldmlzaW9ucyBhcmUgdGhlcmUsIGp1c3QgdGhlIGJyYW5jaCBpcyBub3QuIEluIG9yZGVyIHRvIGJlIGFibGUgdG8gY29udGludWUKKyMgdG8gYnVpbGQgdGhvc2Ugb2xkIHJlbGVhc2VzLCBhZGp1c3QgYW55IG1pcnJvciB0YXJiYWxsIHRvIGNvbnRhaW4gdGhlIG1pc3NpbmcgYnJhbmNoCisjCitmaXh1cF9kaXN0Y2NfbWlycm9yX3RhcmJhbGwgKCkgeworCVRCQUxMPSR7RExfRElSfS9naXQyX2dpdGh1Yi5jb20uZGlzdGNjLmRpc3RjYy5naXQudGFyLmd6CisJaWYgWyAtZiAkVEJBTEwgXTsgdGhlbgorCQlURElSPWBta3RlbXAgLWRgCisJCWNkICRURElSCisJCXRhciAteHpmICRUQkFMTAorCQlzZXQgK2UKKwkJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAzLjIKKwkJaWYgWyAiJD8iICE9ICIwIiBdOyB0aGVuCisJCQlnaXQgYnJhbmNoIDMuMiBkOGIxOGRmM2U5ZGNiZTRmMDkyYmVkNTY1ODM1ZDM5NzVlOTk0MzJjCisJCQl0YXIgLWN6ZiAkVEJBTEwgKgorCQlmaQorCQlzZXQgLWUKKwkJcm0gLXJmICRURElSLyoKKwlmaQorfQorZG9fZmV0Y2hbcG9zdGZ1bmNzXSArPSAiZml4dXBfZGlzdGNjX21pcnJvcl90YXJiYWxsIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG1pZGVjb2RlL2RtaWRlY29kZS8wMDAxLUNvbW1pdHRpbmctY2hhbmdlcy1mcm9tLWRvX3VucGFja19leHRyYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RtaWRlY29kZS9kbWlkZWNvZGUvMDAwMS1Db21taXR0aW5nLWNoYW5nZXMtZnJvbS1kb191bnBhY2tfZXh0cmEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U5ZDQyMwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RtaWRlY29kZS9kbWlkZWNvZGUvMDAwMS1Db21taXR0aW5nLWNoYW5nZXMtZnJvbS1kb191bnBhY2tfZXh0cmEucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorRnJvbSAwMGEzYWNlMzVkNjZlN2FlNjAwNDZlMjU0YTRkMDBmMGY5YzFhYmUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogT3BlbkVtYmVkZGVkIDxvZS5wYXRjaEBvZT4KK0RhdGU6IFRodSwgMjIgTm92IDIwMTggMTI6MDU6MDQgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IGluc3RhbGwgdG8gL3Vzci9sb2NhbAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lLWNvcmUgc3BlY2lmaWNdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggNzdjOTMxMC4uZmMzNzhmZCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTMwLDcgKzMwLDcgQEAgQ0ZMQUdTICs9IC1PMgorIExERkxBR1MgPQorIAorIERFU1RESVIgPQorLXByZWZpeCAgPSAvdXNyL2xvY2FsCisrcHJlZml4ICA9IC91c3IKKyBzYmluZGlyID0gJChwcmVmaXgpL3NiaW4KKyBtYW5kaXIgID0gJChwcmVmaXgpL3NoYXJlL21hbgorIG1hbjhkaXIgPSAkKG1hbmRpcikvbWFuOApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG1pZGVjb2RlL2RtaWRlY29kZV8zLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbWlkZWNvZGUvZG1pZGVjb2RlXzMuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjQyM2ZkYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbWlkZWNvZGUvZG1pZGVjb2RlXzMuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLVNVTU1BUlkgPSAiRE1JIChEZXNrdG9wIE1hbmFnZW1lbnQgSW50ZXJmYWNlKSB0YWJsZSByZWxhdGVkIHV0aWxpdGllcyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cubm9uZ251Lm9yZy9kbWlkZWNvZGUvIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotCi1TUkNfVVJJID0gIiR7U0FWQU5OQUhfTk9OR05VX01JUlJPUn0vZG1pZGVjb2RlLyR7QlB9LnRhci54eiIKLQotQ09NUEFUSUJMRV9IT1NUID0gIihpLjg2fHg4Nl82NHxhYXJjaDY0fGFybXxwb3dlcnBjfHBvd2VycGM2NCkuKi1saW51eCIKLQotRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCi0KLSMgVGhlIHVwc3RyZWFtIGJ1aWxkc3lzdGVtIHVzZXMgJ2RvY2RpcicgYXMgdGhlIHBhdGggd2hlcmUgaXQgcHV0cyBBVVRIT1JTLAotIyBSRUFETUUsIGV0YywgYnV0IHdlIGRvbid0IHdhbnQgdGhvc2UgaW4gdGhlIHJvb3Qgb2Ygb3VyIGRvY2Rpci4KLWRvY2RpciAuPSAiLyR7QlBOfSIKLQotZG9faW5zdGFsbCgpIHsKLQlvZV9ydW5tYWtlIERFU1RESVI9IiR7RH0iIGluc3RhbGwKLX0KLQotZG9fdW5wYWNrX2V4dHJhKCkgewotCXNlZCAtaSAtZSAnL15wcmVmaXgvczovdXNyL2xvY2FsOiR7ZXhlY19wcmVmaXh9OicgJHtTfS9NYWtlZmlsZQotfQotYWRkdGFzayB1bnBhY2tfZXh0cmEgYWZ0ZXIgZG9fdW5wYWNrIGJlZm9yZSBkb19wYXRjaAotCi1TUkNfVVJJW21kNXN1bV0gPSAiNjc5YzJjMDE1YzUxNWFhNmNhNWYyMjlhZWU0OWMxMDIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDc2NmNlOWIyNTU0OGM1OWIxZTdlOTMwNTA1YjRjYWQ5YTdiYjBiOTA0YTFhMzkxZmJiNjA0ZDUyOTc4MWFjMCIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG1pZGVjb2RlL2RtaWRlY29kZV8zLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbWlkZWNvZGUvZG1pZGVjb2RlXzMuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2Y0MDYxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG1pZGVjb2RlL2RtaWRlY29kZV8zLjIuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJETUkgKERlc2t0b3AgTWFuYWdlbWVudCBJbnRlcmZhY2UpIHRhYmxlIHJlbGF0ZWQgdXRpbGl0aWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5ub25nbnUub3JnL2RtaWRlY29kZS8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1NSQ19VUkkgPSAiJHtTQVZBTk5BSF9OT05HTlVfTUlSUk9SfS9kbWlkZWNvZGUvJHtCUH0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQ29tbWl0dGluZy1jaGFuZ2VzLWZyb20tZG9fdW5wYWNrX2V4dHJhLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitDT01QQVRJQkxFX0hPU1QgPSAiKGkuODZ8eDg2XzY0fGFhcmNoNjR8YXJtfHBvd2VycGN8cG93ZXJwYzY0KS4qLWxpbnV4IgorCitFWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSIKKworIyBUaGUgdXBzdHJlYW0gYnVpbGRzeXN0ZW0gdXNlcyAnZG9jZGlyJyBhcyB0aGUgcGF0aCB3aGVyZSBpdCBwdXRzIEFVVEhPUlMsCisjIFJFQURNRSwgZXRjLCBidXQgd2UgZG9uJ3Qgd2FudCB0aG9zZSBpbiB0aGUgcm9vdCBvZiBvdXIgZG9jZGlyLgorZG9jZGlyIC49ICIvJHtCUE59IgorCitkb19pbnN0YWxsKCkgeworCW9lX3J1bm1ha2UgREVTVERJUj0iJHtEfSIgaW5zdGFsbAorfQorCitTUkNfVVJJW21kNXN1bV0gPSAiOWNjMmUyN2U3NGFkZTc0MGEyNWIxYWFmMDQxMjQ2MWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDc3MDA2ZmEyZGEwZDA2ZDYzODM3MjgxMTJmMmVkZWY5Njg0ZTljOGRhNTY3NTJlOTdjZDQ1YTExZjgzOGVkZCIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG5mL2RuZi8wMDAxLURvLW5vdC1oYXJkY29kZS1ldGMtYW5kLXN5c3RlbWQtdW5pdC1kaXJlY3Rvcmllcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RuZi9kbmYvMDAwMS1Eby1ub3QtaGFyZGNvZGUtZXRjLWFuZC1zeXN0ZW1kLXVuaXQtZGlyZWN0b3JpZXMucGF0Y2gKaW5kZXggMTVhN2JmYzcuLmNiMDlmMTcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RuZi9kbmYvMDAwMS1Eby1ub3QtaGFyZGNvZGUtZXRjLWFuZC1zeXN0ZW1kLXVuaXQtZGlyZWN0b3JpZXMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG5mL2RuZi8wMDAxLURvLW5vdC1oYXJkY29kZS1ldGMtYW5kLXN5c3RlbWQtdW5pdC1kaXJlY3Rvcmllcy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gYThlZjgxYzExNWE0NWYwNWRhZDE0NWM5OGUxMGYzYzQ5NDBlNGUyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZmZiNzk0MmNjNzNjM2QyYzZhYTdjNjg5Y2RhZjliYzBiY2JjMTQ0YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogRGF0ZTogVGh1LCAyNiBKYW4gMjAxNyAxNjoyNTo0NyArMDIwMAotU3ViamVjdDogW1BBVENIIDMvNV0gRG8gbm90IGhhcmRjb2RlIC9ldGMgYW5kIHN5c3RlbWQgdW5pdCBkaXJlY3RvcmllcworU3ViamVjdDogW1BBVENIXSBEbyBub3QgaGFyZGNvZGUgL2V0YyBhbmQgc3lzdGVtZCB1bml0IGRpcmVjdG9yaWVzCiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KIFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgpAQCAtMTEsMjAgKzExLDE3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKLWluZGV4IDY1MGI2MjRhLi4xMDE5OTYxOCAxMDA2NDQKK2luZGV4IDczNTUyOTY3Li4zOGNmNGZiZiAxMDA2NDQKIC0tLSBhL0NNYWtlTGlzdHMudHh0CiArKysgYi9DTWFrZUxpc3RzLnR4dAotQEAgLTcsOCArNyw4IEBAIGlmIChOT1QgUFlUSE9OX0RFU0lSRUQpCi0gICAgIHNldCAoUFlUSE9OX0RFU0lSRUQgIjIiKQotIGVuZGlmKCkKK0BAIC0zLDggKzMsOCBAQCBDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNCkKKyAKKyBJTkNMVURFICgke0NNQUtFX1NPVVJDRV9ESVJ9L1ZFUlNJT04uY21ha2UpCiAgCiAtU0VUKCBTWVNDT05GRElSIC9ldGMpCiAtU0VUKCBTWVNURU1EX0RJUiAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbSkKICtTRVQoIFNZU0NPTkZESVIgJHtDTUFLRV9JTlNUQUxMX1NZU0NPTkZESVJ9KQogK1NFVCggU1lTVEVNRF9ESVIgJEVOVntzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSkKICAKLSBpZiAoJHtQWVRIT05fREVTSVJFRH0gU1RSRVFVQUwgIjIiKQotIAlGSU5EX1BBQ0tBR0UgKFB5dGhvbkludGVycCBSRVFVSVJFRCkKLS0tIAotMi4xNC4yCi0KKyBJRiAoTk9UIFBZVEhPTl9ERVNJUkVEKQorICAgICBGSU5EX1BBQ0tBR0UgKFB5dGhvbkludGVycCBSRVFVSVJFRCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RuZi9kbmYvMDAyOS1Eby1ub3Qtc2V0LVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXB5dGhvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RuZi9kbmYvMDAyOS1Eby1ub3Qtc2V0LVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXB5dGhvbi5wYXRjaAppbmRleCA2ZTAxMTkxLi4wZWQ5YWZjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mLzAwMjktRG8tbm90LXNldC1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1weXRob24ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG5mL2RuZi8wMDI5LURvLW5vdC1zZXQtUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcHl0aG9uLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA3MjA1MDMzZTQ0ZDhmYmExZDNiMThiNDkwZTdlYWFiODJkYTFmZmEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA2YmUxMzE0M2E1NGM3OTA4NWQ0MDBkNWJkNGM3YTZlMWNiNmZmYWY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDMwIERlYyAyMDE2IDE4OjI5OjA3ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS81XSBEbyBub3Qgc2V0IFBZVEhPTl9JTlNUQUxMX0RJUiBieSBydW5uaW5nIHB5dGhvbgorU3ViamVjdDogW1BBVENIXSBEbyBub3Qgc2V0IFBZVEhPTl9JTlNUQUxMX0RJUiBieSBydW5uaW5nIHB5dGhvbgogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lLWNvcmUgc3BlY2lmaWNdCiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KQEAgLTExLDE4ICsxMSwxNSBAQAogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAotaW5kZXggMjNlNWY4ODkuLjY1MGI2MjRhIDEwMDY0NAoraW5kZXggMzhjZjRmYmYuLjZjNWRlYmQ4IDEwMDY0NAogLS0tIGEvQ01ha2VMaXN0cy50eHQKICsrKyBiL0NNYWtlTGlzdHMudHh0Ci1AQCAtMTgsNyArMTgsNyBAQCBlbHNlKCkKLSAJRklORF9QQUNLQUdFKFB5dGhvbkludGVycCAzLjAgUkVRVUlSRUQpCi0gZW5kaWYoKQorQEAgLTE5LDcgKzE5LDcgQEAgRUxTRSAoKQorICAgICBNRVNTQUdFIChGQVRBTF9FUlJPUiAiSW52YWxpZCBQWVRIT05fREVTSVJFRCB2YWx1ZTogIiAke1BZVEhPTl9ERVNJUkVEfSkKKyBFTkRJRigpCiAgCiAtRVhFQ1VURV9QUk9DRVNTKENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gLWMgImZyb20gc3lzIGltcG9ydCBzdGRvdXQ7IGZyb20gZGlzdHV0aWxzIGltcG9ydCBzeXNjb25maWc7IHN0ZG91dC53cml0ZShzeXNjb25maWcuZ2V0X3B5dGhvbl9saWIoKSkiIE9VVFBVVF9WQVJJQUJMRSBQWVRIT05fSU5TVEFMTF9ESVIpCiArI0VYRUNVVEVfUFJPQ0VTUyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1jICJmcm9tIHN5cyBpbXBvcnQgc3Rkb3V0OyBmcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnOyBzdGRvdXQud3JpdGUoc3lzY29uZmlnLmdldF9weXRob25fbGliKCkpIiBPVVRQVVRfVkFSSUFCTEUgUFlUSE9OX0lOU1RBTExfRElSKQotIEVYRUNVVEVfUFJPQ0VTUyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1jICJpbXBvcnQgc3lzOyBzeXMuc3Rkb3V0LndyaXRlKCclcy4lcycgJSAoc3lzLnZlcnNpb25faW5mby5tYWpvciwgc3lzLnZlcnNpb25faW5mby5taW5vcikpIiBPVVRQVVRfVkFSSUFCTEUgUFlUSE9OX01BSk9SX0RPVF9NSU5PUl9WRVJTSU9OKQogIE1FU1NBR0UoU1RBVFVTICJQeXRob24gaW5zdGFsbCBkaXIgaXMgJHtQWVRIT05fSU5TVEFMTF9ESVJ9IikKICAKLS0tIAotMi4xNC4yCi0KKyBBRERfU1VCRElSRUNUT1JZIChkbmYpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mXzIuNy41LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG5mL2RuZl8yLjcuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGY2MGQ3My4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mXzIuNy41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotU1VNTUFSWSA9ICJQYWNrYWdlIG1hbmFnZXIgZm9ya2VkIGZyb20gWXVtLCB1c2luZyBsaWJzb2x2IGFzIGEgZGVwZW5kZW5jeSByZXNvbHZlciIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9QQUNLQUdFLUxJQ0VOU0lORzttZDU9YmZjMjk5MTZlMTEzMjFiZTA2OTI0YzRmYjA5NmZkY2MgXAotICAgICAgICAgICAgICAgICAgICIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L2RuZi5naXQgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Db3JyZXRseS1pbnN0YWxsLXRtcGZpbGVzLmQtY29uZmlndXJhdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1oYXJkY29kZS1ldGMtYW5kLXN5c3RlbWQtdW5pdC1kaXJlY3Rvcmllcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LURvLW5vdC1wcmVwZW5kLWluc3RhbGxyb290LXRvLWxvZ2Rpci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI5LURvLW5vdC1zZXQtUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcHl0aG9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzAtUnVuLXB5dGhvbi1zY3JpcHRzLXVzaW5nLWVudi5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDUkVWID0gIjU2NGM0NDY2N2M3MDE0ODQzZmE2ZjE3MzI2MjEwOTMxMTRlYzU5YjIiCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICIoP1A8cHZlcj5cZCsoXC5cZCspKykiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgY21ha2UgZ2V0dGV4dCBiYXNoLWNvbXBsZXRpb24gZGlzdHV0aWxzMy1iYXNlIHN5c3RlbWQKLQotREVQRU5EUyArPSAibGliZG5mIGxpYnJlcG8gbGliY29tcHMgcHl0aG9uMy1pbmlwYXJzZSIKLQotIyBtYW5wYWdlcyBnZW5lcmF0aW9uIHJlcXVpcmVzIGh0dHA6Ly93d3cuc3BoaW54LWRvYy5vcmcvCi1FWFRSQV9PRUNNQUtFID0gIiAtRFdJVEhfTUFOPTAgLURQWVRIT05fSU5TVEFMTF9ESVI9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gLURQWVRIT05fREVTSVJFRD0zIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLVJERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCArPSAiIFwKLSAgcHl0aG9uMy1jb3JlIFwKLSAgcHl0aG9uMy1jb2RlY3MgXAotICBweXRob24zLW5ldGNsaWVudCBcCi0gIHB5dGhvbjMtZW1haWwgXAotICBweXRob24zLXRocmVhZGluZyBcCi0gIHB5dGhvbjMtZGlzdHV0aWxzIFwKLSAgcHl0aG9uMy1sb2dnaW5nIFwKLSAgcHl0aG9uMy1mY250bCBcCi0gIGxpYnJlcG8gXAotICBweXRob24zLXNoZWxsIFwKLSAgbGliY29tcHMgXAotICBsaWJkbmYgXAotICBweXRob24zLXNxbGl0ZTMgXAotICBweXRob24zLWNvbXByZXNzaW9uIFwKLSAgcHl0aG9uMy1ycG0gXAotICBweXRob24zLWluaXBhcnNlIFwKLSAgcHl0aG9uMy1qc29uIFwKLSAgcHl0aG9uMy1jdXJzZXMgXAotICBweXRob24zLW1pc2MgXAotICBweXRob24zLWdwZyBcCi0gICIKLQotUlJFQ09NTUVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ICs9ICJnbnVwZyIKLQotIyBDcmVhdGUgYSBzeW1saW5rIGNhbGxlZCAnZG5mJyBhcyAnbWFrZSBpbnN0YWxsJyBkb2VzIG5vdCBkbyBpdCwgYnV0Ci0jIC5zcGVjIGZpbGUgaW4gZG5mIHNvdXJjZSB0cmVlIGRvZXMgKGFuZCB0aGVuIEZlZG9yYSBhbmQgZG5mIGRvY3VtZW50YXRpb24KLSMgc2F5cyB0aGF0IGRuZiBiaW5hcnkgaXMgcGxhaW4gJ2RuZicpLgotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgICAgIGxuciAke0R9LyR7YmluZGlyfS9kbmYtMyAke0R9LyR7YmluZGlyfS9kbmYKLSAgICAgICAgbG5yICR7RH0vJHtiaW5kaXJ9L2RuZi1hdXRvbWF0aWMtMyAke0R9LyR7YmluZGlyfS9kbmYtYXV0b21hdGljCi19Ci0KLSMgRGlyZWN0IGRuZi1uYXRpdmUgdG8gcmVhZCBycG0gY29uZmlndXJhdGlvbiBmcm9tIG91ciBzeXNyb290LCBub3QgdGhlIG9uZSBpdCB3YXMgY29tcGlsZWQgaW4KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLSAgICAgICAgY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZG5mIFwKLSAgICAgICAgICAgICAgICBSUE1fQ09ORklHRElSPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9ycG0gXAotICAgICAgICAgICAgICAgIFJQTV9OT19DSFJPT1RfRk9SX1NDUklQVFM9MQotfQotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiZG5mLW1ha2VjYWNoZS5zZXJ2aWNlIGRuZi1tYWtlY2FjaGUudGltZXIgXAotICAgICAgICAgICAgICAgICAgICAgICAgIGRuZi1hdXRvbWF0aWMuc2VydmljZSBkbmYtYXV0b21hdGljLnRpbWVyIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICBkbmYtYXV0b21hdGljLWRvd25sb2FkLnNlcnZpY2UgZG5mLWF1dG9tYXRpYy1kb3dubG9hZC50aW1lciBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgZG5mLWF1dG9tYXRpYy1pbnN0YWxsLnNlcnZpY2UgZG5mLWF1dG9tYXRpYy1pbnN0YWxsLnRpbWVyIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICBkbmYtYXV0b21hdGljLW5vdGlmeW9ubHkuc2VydmljZSBkbmYtYXV0b21hdGljLW5vdGlmeW9ubHkudGltZXIgXAotIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA/PSAiZGlzYWJsZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RuZi9kbmZfNC4xLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mXzQuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0NTAyM2UKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mXzQuMS4wLmJiCkBAIC0wLDAgKzEsNzUgQEAKK1NVTU1BUlkgPSAiUGFja2FnZSBtYW5hZ2VyIGZvcmtlZCBmcm9tIFl1bSwgdXNpbmcgbGlic29sdiBhcyBhIGRlcGVuZGVuY3kgcmVzb2x2ZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vUEFDS0FHRS1MSUNFTlNJTkc7bWQ1PTRhMDU0OGUzMDNkYmM3N2YwNjczMzViNGQ2ODhlNzQ1IFwKKyAgICAgICAgICAgICAgICAgICAgIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcnBtLXNvZnR3YXJlLW1hbmFnZW1lbnQvZG5mLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUNvcnJldGx5LWluc3RhbGwtdG1wZmlsZXMuZC1jb25maWd1cmF0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWhhcmRjb2RlLWV0Yy1hbmQtc3lzdGVtZC11bml0LWRpcmVjdG9yaWVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtRG8tbm90LXByZXBlbmQtaW5zdGFsbHJvb3QtdG8tbG9nZGlyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjktRG8tbm90LXNldC1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1weXRob24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzMC1SdW4tcHl0aG9uLXNjcmlwdHMtdXNpbmctZW52LnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNSRVYgPSAiYWQ5YjIxNzU1MTdjODk2Yzg5OGNmOWM4NjYwZTliOWI2ODhhYzVjNyIKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIig/UDxwdmVyPlxkKyhcLlxkKykrKSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZSBnZXR0ZXh0IGJhc2gtY29tcGxldGlvbiBkaXN0dXRpbHMzLWJhc2Ugc3lzdGVtZAorCitERVBFTkRTICs9ICJsaWJkbmYgbGlicmVwbyBsaWJjb21wcyBweXRob24zLWluaXBhcnNlIgorCisjIG1hbnBhZ2VzIGdlbmVyYXRpb24gcmVxdWlyZXMgaHR0cDovL3d3dy5zcGhpbngtZG9jLm9yZy8KK0VYVFJBX09FQ01BS0UgPSAiIC1EV0lUSF9NQU49MCAtRFBZVEhPTl9JTlNUQUxMX0RJUj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSAtRFBZVEhPTl9ERVNJUkVEPTMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworUkRFUEVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ICs9ICIgXAorICBweXRob24zLWNvcmUgXAorICBweXRob24zLWNvZGVjcyBcCisgIHB5dGhvbjMtbmV0Y2xpZW50IFwKKyAgcHl0aG9uMy1lbWFpbCBcCisgIHB5dGhvbjMtdGhyZWFkaW5nIFwKKyAgcHl0aG9uMy1kaXN0dXRpbHMgXAorICBweXRob24zLWxvZ2dpbmcgXAorICBweXRob24zLWZjbnRsIFwKKyAgbGlicmVwbyBcCisgIHB5dGhvbjMtc2hlbGwgXAorICBsaWJjb21wcyBcCisgIGxpYmRuZiBcCisgIHB5dGhvbjMtc3FsaXRlMyBcCisgIHB5dGhvbjMtY29tcHJlc3Npb24gXAorICBweXRob24zLXJwbSBcCisgIHB5dGhvbjMtaW5pcGFyc2UgXAorICBweXRob24zLWpzb24gXAorICBweXRob24zLWN1cnNlcyBcCisgIHB5dGhvbjMtbWlzYyBcCisgIHB5dGhvbjMtZ3BnIFwKKyAgIgorCitSUkVDT01NRU5EU18ke1BOfV9jbGFzcy10YXJnZXQgKz0gImdudXBnIgorCisjIENyZWF0ZSBhIHN5bWxpbmsgY2FsbGVkICdkbmYnIGFzICdtYWtlIGluc3RhbGwnIGRvZXMgbm90IGRvIGl0LCBidXQKKyMgLnNwZWMgZmlsZSBpbiBkbmYgc291cmNlIHRyZWUgZG9lcyAoYW5kIHRoZW4gRmVkb3JhIGFuZCBkbmYgZG9jdW1lbnRhdGlvbgorIyBzYXlzIHRoYXQgZG5mIGJpbmFyeSBpcyBwbGFpbiAnZG5mJykuCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAgICAgbG5yICR7RH0vJHtiaW5kaXJ9L2RuZi0zICR7RH0vJHtiaW5kaXJ9L2RuZgorICAgICAgICBsbnIgJHtEfS8ke2JpbmRpcn0vZG5mLWF1dG9tYXRpYy0zICR7RH0vJHtiaW5kaXJ9L2RuZi1hdXRvbWF0aWMKK30KKworIyBEaXJlY3QgZG5mLW5hdGl2ZSB0byByZWFkIHJwbSBjb25maWd1cmF0aW9uIGZyb20gb3VyIHN5c3Jvb3QsIG5vdCB0aGUgb25lIGl0IHdhcyBjb21waWxlZCBpbgorZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgICAgICBjcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9kbmYgXAorICAgICAgICAgICAgICAgIFJQTV9DT05GSUdESVI9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3JwbSBcCisgICAgICAgICAgICAgICAgUlBNX05PX0NIUk9PVF9GT1JfU0NSSVBUUz0xCit9CisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJkbmYtbWFrZWNhY2hlLnNlcnZpY2UgZG5mLW1ha2VjYWNoZS50aW1lciBcCisgICAgICAgICAgICAgICAgICAgICAgICAgZG5mLWF1dG9tYXRpYy5zZXJ2aWNlIGRuZi1hdXRvbWF0aWMudGltZXIgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGRuZi1hdXRvbWF0aWMtZG93bmxvYWQuc2VydmljZSBkbmYtYXV0b21hdGljLWRvd25sb2FkLnRpbWVyIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBkbmYtYXV0b21hdGljLWluc3RhbGwuc2VydmljZSBkbmYtYXV0b21hdGljLWluc3RhbGwudGltZXIgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGRuZi1hdXRvbWF0aWMtbm90aWZ5b25seS5zZXJ2aWNlIGRuZi1hdXRvbWF0aWMtbm90aWZ5b25seS50aW1lciBcCisiCitTWVNURU1EX0FVVE9fRU5BQkxFID89ICJkaXNhYmxlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14bWwtZHRkNC9kb2Nib29rLXhtbC54bWwgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kb2Nib29rLXhtbC9kb2Nib29rLXhtbC1kdGQ0L2RvY2Jvb2steG1sLnhtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjcxZjU1OS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kb2Nib29rLXhtbC9kb2Nib29rLXhtbC1kdGQ0L2RvY2Jvb2steG1sLnhtbAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIGNhdGFsb2cgUFVCTElDICItLy9PQVNJUy8vRFREIEVudGl0eSBSZXNvbHV0aW9uIFhNTCBDYXRhbG9nIFYxLjAvL0VOIiAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9yZWxlYXNlLzEuMC9jYXRhbG9nLmR0ZCI+Ci08Y2F0YWxvZyB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnRjOmVudGl0eTp4bWxuczp4bWw6Y2F0YWxvZyI+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRU5USVRJRVMgRG9jQm9vayBOb3RhdGlvbnMgVjQuNC8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC40L2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBEb2N1bWVudCBIaWVyYXJjaHkgVjQuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4yL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBYTUwgSFRNTCBUYWJsZXMgVjQuMy8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4zL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9Ob3JtYW4gV2Fsc2gvL0VMRU1FTlRTIERvY0Jvb2sgWE1MIEluZm9ybWF0aW9uIFBvb2wgVjQuMC8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4wL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBJbmZvcm1hdGlvbiBQb29sIFY0LjQvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjQvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VMRU1FTlRTIERvY0Jvb2sgWE1MIEhUTUwgVGFibGVzIFY0LjQvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjUvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNS9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIENBTFMgVGFibGUgTW9kZWwgVjQuMy8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4zL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBJbmZvcm1hdGlvbiBQb29sIFY0LjMvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMy9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMS8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRU5USVRJRVMgRG9jQm9vayBYTUwgTm90YXRpb25zIFY0LjAvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VMRU1FTlRTIERvY0Jvb2sgSW5mb3JtYXRpb24gUG9vbCBWNC41Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIE5vdGF0aW9ucyBWNC4yLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBDQUxTIFRhYmxlIE1vZGVsIFY0LjEuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRFREIENBTFMgVGFibGUgTW9kZWwgWE1MIFY0LjAvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFuIFdhbHNoLy9FTlRJVElFUyBEb2NCb29rIFhNTCBDaGFyYWN0ZXIgRW50aXRpZXMgVjQuMC8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4wL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9Ob3JtYW4gV2Fsc2gvL0VMRU1FTlRTIERvY0Jvb2sgWE1MIERvY3VtZW50IEhpZXJhcmNoeSBWNC4wLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjAvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMS4yLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjEuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC40Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjQvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIE5vdGF0aW9ucyBWNC4zLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjMvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBDQUxTIFRhYmxlIE1vZGVsIFY0LjIvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFsIFdhbHNoLy9FeGNoYW5nZSBUYWJsZSBNb2RlbCAxOTk2MDQzMCBYTUwgVjQuMC8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4wL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRU5USVRJRVMgRG9jQm9vayBBZGRpdGlvbmFsIEdlbmVyYWwgRW50aXRpZXMgVjQuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4yL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vZG9jYm9vay5vcmcveG1sLzQuNC9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC40L2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vZG9jYm9vay5vcmcveG1sLzQuMS9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIE5vdGF0aW9ucyBWNC41Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRFREIERvY0JrIFhNTCBWNC4wLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjAvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4zL2RvY2Jvb2t4LmR0ZCIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjMvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC41L2RvY2Jvb2t4LmR0ZCIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIENoYXJhY3RlciBFbnRpdGllcyBWNC41Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIFhNTCBJbmZvcm1hdGlvbiBQb29sIFY0LjEuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRFREIERvY0Jvb2sgWE1MIFY0LjAvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjMvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMy9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL2RvY2Jvb2sub3JnL3htbC80LjEuMi9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIFhNTCBIVE1MIFRhYmxlcyBWNC41Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIERvY3VtZW50IEhpZXJhcmNoeSBWNC40Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjQvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly9kb2Nib29rLm9yZy94bWwvNC41L2RvY2Jvb2t4LmR0ZCIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIE5vdGF0aW9ucyBWNC4xLjIvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMS4yL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBEb2N1bWVudCBIaWVyYXJjaHkgVjQuMy8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4zL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjUvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNS9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQ2hhcmFjdGVyIEVudGl0aWVzIFY0LjIvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIERvY3VtZW50IEhpZXJhcmNoeSBWNC41Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRU5USVRJRVMgRG9jQm9vayBYTUwgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjAvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4yLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBDQUxTIFRhYmxlIE1vZGVsIFY0LjQvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjIvZG9jYm9va3guZHRkIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjAvZG9jYm9va3guZHRkIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL2RvY2Jvb2sub3JnL3htbC80LjIvZG9jYm9va3guZHRkIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQ2hhcmFjdGVyIEVudGl0aWVzIFY0LjMvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMy9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBYTUwgRXhjaGFuZ2UgVGFibGUgTW9kZWwgMTk5OTAzMTUvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNS9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQ2hhcmFjdGVyIEVudGl0aWVzIFY0LjQvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjQvZG9jYm9va3guZHRkIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjEuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMy8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4zL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vZG9jYm9vay5vcmcveG1sLzQuMy9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4zL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBJbmZvcm1hdGlvbiBQb29sIFY0LjIvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIENBTFMgVGFibGUgTW9kZWwgVjQuNS8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC41L2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VMRU1FTlRTIERvY0Jvb2sgRG9jdW1lbnQgSGllcmFyY2h5IFY0LjEuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIENoYXJhY3RlciBFbnRpdGllcyBWNC4xLjIvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMS4yL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvY2F0YWxvZy54bWwiLz4KLTwvY2F0YWxvZz4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RvY2Jvb2steG1sL2RvY2Jvb2steG1sLWR0ZDRfNC41LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14bWwtZHRkNF80LjUuYmIKaW5kZXggZGE2MmI3Ny4uNGI2YTI4ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14bWwtZHRkNF80LjUuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14bWwtZHRkNF80LjUuYmIKQEAgLTgsMTMgKzgsMTQgQEAKIExJQ0VOU0UgPSAiT0FTSVMiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L0xJQ0VOU0UtT0FTSVM7bWQ1PWM2MDg5ODVkZDVmN2YyMTVlNjY5ZTc2MzlhMGIxZDJlIgogCitERVBFTkRTID0gImxpYnhtbDItbmF0aXZlIgorCiAjIE5vdGU6IHRoZSB1cHN0cmVhbSBzb3VyY2VzIGFyZSBub3QgZGlzdHJpYnV0ZWQgd2l0aCBhIGxpY2Vuc2UgZmlsZS4KICMgTElDRU5TRS1PQVNJUyBpcyBpbmNsdWRlZCBhcyBhICJwYXRjaCIgdG8gd29ya2Fyb3VuZCB0aGlzLiBXaGVuCiAjIHVwZ3JhZGluZyB0aGlzIHJlY2lwZSwgcGxlYXNlIHZlcmlmeSB3aGV0aGVyIHRoaXMgaXMgc3RpbGwgbmVlZGVkLgogU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE2MDcyOFQwNDM0NDNaL3Bvb2wvbWFpbi9kL2RvY2Jvb2steG1sL2RvY2Jvb2steG1sXyR7UFZ9Lm9yaWcudGFyLmd6IFwKICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UtT0FTSVMgXAogICAgICAgICAgICBmaWxlOi8vZG9jYm9vay14bWwtdXBkYXRlLWNhdGFsb2cueG1sLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2RvY2Jvb2steG1sLnhtbCBcCiAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICI0ODdiNGQ0NGUxNWNmZmIxZjQwNDhhZjIzZjk4MjA4ZSIKQEAgLTIyLDcgKzIzLDcgQEAKIAogVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9kL2RvY2Jvb2steG1sLyIKIAotUz0iJHtXT1JLRElSfS9kb2Nib29rLXhtbC00LjUuYzMxNDI0IgorUyA9ICIke1dPUktESVJ9L2RvY2Jvb2steG1sLTQuNS5jMzE0MjQiCiAKIGluaGVyaXQgYWxsYXJjaAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCkBAIC0zNiwyMCArMzcsMTggQEAKIH0KIAogZG9faW5zdGFsbCAoKSB7Ci0gICAgIyBSZWZlciBkZWJpYW4gaHR0cHM6Ly9wYWNrYWdlcy5kZWJpYW4ub3JnL3NpZC9hbGwvZG9jYm9vay14bWwvZmlsZWxpc3QKLSAgICBmb3IgRFREVkVSU0lPTiBpbiA0LjAgNC4xLjIgNC4yIDQuMyA0LjQgNC41OyBkbwotICAgICAgICBpbnN0YWxsIC1kIC1tIDc1NSAke0R9JHtkYXRhZGlyfS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLyR7RFREVkVSU0lPTn0KLSAgICAgICAgY3AgLXYgLVIgZG9jYm9vay0ke0RURFZFUlNJT059LyogJHtEfSR7ZGF0YWRpcn0veG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC8ke0RURFZFUlNJT059Ci0gICAgZG9uZQotCiAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS94bWwvCi0gICAgaW5zdGFsbCAtbSA3NTUgICR7V09SS0RJUn0vZG9jYm9vay14bWwueG1sICR7RH0ke3N5c2NvbmZkaXJ9L3htbC9kb2Nib29rLXhtbC54bWwKKyAgICB4bWxjYXRhbG9nIC0tY3JlYXRlIC0tbm9vdXQgJHtEfSR7c3lzY29uZmRpcn0veG1sL2RvY2Jvb2steG1sLnhtbAorCisgICAgZm9yIERURFZFUlNJT04gaW4gNC4wIDQuMS4yIDQuMiA0LjMgNC40IDQuNTsgZG8KKyAgICAgICAgREVTVD0ke2RhdGFkaXJ9L3htbC9kb2Nib29rL3NjaGVtYS9kdGQvJERURFZFUlNJT04KKyAgICAgICAgaW5zdGFsbCAtZCAtbSA3NTUgJHtEfSRERVNUCisgICAgICAgIGNwIC12IC1SIGRvY2Jvb2stJERURFZFUlNJT04vKiAke0R9JERFU1QKKyAgICAgICAgeG1sY2F0YWxvZyAtLXZlcmJvc2UgLS1ub291dCAtLWFkZCBuZXh0Q2F0YWxvZyB1bnVzZWQgZmlsZTovLyRERVNUL2NhdGFsb2cueG1sICR7RH0ke3N5c2NvbmZkaXJ9L3htbC9kb2Nib29rLXhtbC54bWwKKyAgICBkb25lCiB9CiAKLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7Ci0JIyBFbnN1cmUgdGhhdCB0aGUgY2F0YWxvZyBmaWxlIHNnbWwtZG9jYm9vay5jYXQgaXMgcHJvcGVybHkKLQkjIHVwZGF0ZWQgd2hlbiB0aGUgcGFja2FnZSBpcyBpbnN0YWxsZWQgZnJvbSBzc3RhdGUgY2FjaGUuCi0Jc2VkIC1pIC1lICJzfGZpbGU6Ly8uKi91c3Ivc2hhcmUveG1sfGZpbGU6Ly8ke2RhdGFkaXJ9L3htbHxnIiAke0R9JHtzeXNjb25mZGlyfS94bWwvZG9jYm9vay14bWwueG1sCi19CitYTUxDQVRBTE9HUyA9ICIke3N5c2NvbmZkaXJ9L3htbC9kb2Nib29rLXhtbC54bWwiCitpbmhlcml0IHhtbGNhdGFsb2cKIAogRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS8qICR7c3lzY29uZmRpcn0veG1sL2RvY2Jvb2steG1sLnhtbCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RvY2Jvb2steG1sL2RvY2Jvb2steHNsLXN0eWxlc2hlZXRzL2RvY2Jvb2steHNsLnhtbCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RvY2Jvb2steG1sL2RvY2Jvb2steHNsLXN0eWxlc2hlZXRzL2RvY2Jvb2steHNsLnhtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzYwNTU1YS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kb2Nib29rLXhtbC9kb2Nib29rLXhzbC1zdHlsZXNoZWV0cy9kb2Nib29rLXhzbC54bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIGNhdGFsb2cgUFVCTElDICItLy9PQVNJUy8vRFREIEVudGl0eSBSZXNvbHV0aW9uIFhNTCBDYXRhbG9nIFYxLjAvL0VOIiAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9yZWxlYXNlLzEuMC9jYXRhbG9nLmR0ZCI+Ci08Y2F0YWxvZyB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnRjOmVudGl0eTp4bWxuczp4bWw6Y2F0YWxvZyI+Ci08ZGVsZWdhdGVVUkkgdXJpU3RhcnRTdHJpbmc9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC8iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3hzbC1zdHlsZXNoZWV0cy9jYXRhbG9nLnhtbCIvPgotPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC8iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3hzbC1zdHlsZXNoZWV0cy9jYXRhbG9nLnhtbCIvPgotPC9jYXRhbG9nPgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14c2wtc3R5bGVzaGVldHNfMS43OS4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14c2wtc3R5bGVzaGVldHNfMS43OS4xLmJiCmluZGV4IDA3ZDMyY2UuLmZmMzhlODcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RvY2Jvb2steG1sL2RvY2Jvb2steHNsLXN0eWxlc2hlZXRzXzEuNzkuMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kb2Nib29rLXhtbC9kb2Nib29rLXhzbC1zdHlsZXNoZWV0c18xLjc5LjEuYmIKQEAgLTQsNyArNCw2IEBACiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02YmVhZGQ5OGY5YzU0YWIwYzM4N2UxNDIxMWVlNGQwZSIKIAogU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZG9jYm9vay9kb2Nib29rLXhzbC0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL2RvY2Jvb2steHNsLnhtbCBcCiAgICAgICAgICAgIGZpbGU6Ly9kb2Nib29rLXhzbC1zdHlsZXNoZWV0cy1uby1iYXNoaXNtLWluLWRvY2Jvb2steHNsLXVwLnBhdGNoIFwKICIKIApAQCAtMTUsMTAgKzE0LDExIEBACiAjIFJlamVjdCB2ZXJzaW9ucyBlbmRpbmcgaW4gLjAgYXMgdGhvc2UgYXJlIHJlbGVhc2UgY2FuZGlkYXRlcwogVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiL2RvY2Jvb2steHNsLyg/UDxwdmVyPihcZCtbXC5cLV9dKikrKD8hXC4wKVwuXGQrKS8iCiAKK0RFUEVORFMgPSAibGlieG1sMi1uYXRpdmUiCisKIFMgPSAiJHtXT1JLRElSfS9kb2Nib29rLXhzbC0ke1BWfSIKIAotaW5oZXJpdCBhbGxhcmNoCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK2luaGVyaXQgYWxsYXJjaCB4bWxjYXRhbG9nCiAKIGRvX2NvbmZpZ3VyZSAoKXsKIAk6CkBAIC0yOSw4ICsyOSw2IEBACiB9CiAKIGRvX2luc3RhbGwgKCkgewotCSMgUmVmZXIgdG8gaHR0cDovL3d3dy5saW51eGZyb21zY3JhdGNoLm9yZy9ibGZzL3ZpZXcvc3RhYmxlL3BzdC9kb2Nib29rLXhzbC5odG1sCi0JIyBmb3IgZGV0YWlscy4KIAlpbnN0YWxsIC12IC1tNzU1IC1kICR7RH0ke2RhdGFkaXJ9L3htbC9kb2Nib29rL3hzbC1zdHlsZXNoZWV0cy0ke1BWfQogCWxuIC1zIHhzbC1zdHlsZXNoZWV0cy0ke1BWfSAke0R9JHtkYXRhZGlyfS94bWwvZG9jYm9vay94c2wtc3R5bGVzaGVldHMKIApAQCAtNDIsMjIgKzQwLDE0IEBACiAKIAlsbiAtcyBWRVJTSU9OICR7RH0vJHtkYXRhZGlyfS94bWwvZG9jYm9vay94c2wtc3R5bGVzaGVldHMtJHtQVn0vVkVSU0lPTi54c2wKIAotCWluc3RhbGwgLXYgLW02NDQgLUQgUkVBRE1FIFwKLQkJJHtEfSR7ZGF0YWRpcn0vZG9jL2RvY2Jvb2steHNsLSR7UFZ9L1JFQURNRS50eHQKLQlpbnN0YWxsIC12IC1tNjQ0ICAgIFJFTEVBU0UtTk9URVMqIE5FV1MqIFwKLQkJJHtEfSR7ZGF0YWRpcn0vZG9jL2RvY2Jvb2steHNsLSR7UFZ9Ci0KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3htbC8KLQlpbnN0YWxsIC1tIDc1NSAgJHtXT1JLRElSfS9kb2Nib29rLXhzbC54bWwgJHtEfSR7c3lzY29uZmRpcn0veG1sL2RvY2Jvb2steHNsLnhtbAotCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7Ci0JIyBFbnN1cmUgdGhhdCB0aGUgY2F0YWxvZyBmaWxlIHNnbWwtZG9jYm9vay5jYXQgaXMgcHJvcGVybHkKLQkjIHVwZGF0ZWQgd2hlbiB0aGUgcGFja2FnZSBpcyBpbnN0YWxsZWQgZnJvbSBzc3RhdGUgY2FjaGUuCi0Jc2VkIC1pIC1lICJzfGZpbGU6Ly8uKi91c3Ivc2hhcmUveG1sfGZpbGU6Ly8ke2RhdGFkaXJ9L3htbHxnIiAke0R9JHtzeXNjb25mZGlyfS94bWwvZG9jYm9vay14c2wueG1sCisJaW5zdGFsbCAtZCAke0R9JHtkb2NkaXJ9LyR7QlBOfQorCWluc3RhbGwgLXYgLW02NDQgUkVBRE1FIFJFTEVBU0UtTk9URVMqIE5FV1MqICR7RH0ke2RvY2Rpcn0vJHtCUE59CiB9CiAKIFJERVBFTkRTXyR7UE59ICs9ICJwZXJsIgogRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS94bWwvKiAke3N5c2NvbmZkaXJ9L3htbC9kb2Nib29rLXhzbC54bWwiCiBGSUxFU18ke1BOfS1kb2MgPSAiJHtkYXRhZGlyfS9kb2MvKiIKKworWE1MQ0FUQUxPR1MgPSAiJHtkYXRhZGlyfS94bWwvZG9jYm9vay94c2wtc3R5bGVzaGVldHMtJHtQVn0vY2F0YWxvZy54bWwiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy5pbmMKaW5kZXggZmU0NzMyZC4uZmVlN2E3NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cuaW5jCkBAIC05LDE1ICs5LDggQEAKIAogVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9kL2Rwa2cvIgogCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBlcmxuYXRpdmUgcGtnY29uZmlnIHN5c3RlbWQgcGVybC12ZXJzaW9uCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBlcmxuYXRpdmUgcGtnY29uZmlnIHBlcmwtdmVyc2lvbgogCi1weXRob24gKCkgewotICAgIGlmIG5vdCBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgVHJ1ZSwgRmFsc2UsIGQpOgotICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCi0gICAgICAgIGQuc2V0VmFyKCdTWVNURU1EX1NFUlZJQ0VfJXMnICUgKHBuKSwgJ2Rwa2ctY29uZmlndXJlLnNlcnZpY2UnKQotfQotCi1leHBvcnQgUEVSTCA9ICIke2JpbmRpcn0vcGVybCIKIFBFUkxfY2xhc3MtbmF0aXZlID0gIiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsIgogCiBleHBvcnQgUEVSTF9MSUJESVIgPSAiJHtsaWJkaXJ9L3BlcmwvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0iCkBAIC0yOSwxNCArMjIsMTQgQEAKIAkJLS13aXRoLWxpYnogXAogCQktLXdpdGgtbGliYnoyIFwKIAkJLS13aXRob3V0LWxpYnNlbGludXggXAorCQlUQVI9dGFyIFwKIAkJIgogCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgLS1kaXNhYmxlLXVwZGF0ZS1hbHRlcm5hdGl2ZXMgREVCX0hPU1RfQVJDSD0ke0RQS0dfQVJDSH0iCisKIFBBQ0tBR0VDT05GSUcgPSAibGlibHptYSIKIFBBQ0tBR0VDT05GSUdbbGlibHptYV0gPSAiLS13aXRoLWxpYmx6bWEsLS13aXRob3V0LWxpYmx6bWEsIHh6IgogCi1FWFRSQV9PRUNPTkYgKz0gIlRBUj10YXIiCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgREVCX0hPU1RfQVJDSD0ke0RQS0dfQVJDSH0iCi0KIGRvX2luc3RhbGxfYXBwZW5kICgpIHsKIAlpZiBbICIke1BOfSIgPSAiZHBrZy1uYXRpdmUiIF07IHRoZW4KIAkJIyB1cGRhdGUtYWx0ZXJuYXRpdmVzIGRvZXNuJ3QgaGF2ZSBhbiBvZmZsaW5lIG1vZGUKQEAgLTQ1LDE2ICszOCw2IEBACiAJZWxzZQogCQlzZWQgLWkgLWUgJ3N8XiMhLioke2JpbmRpcn0vcGVybC1uYXRpdmUuKi9wZXJsfCMhL3Vzci9iaW4vZW52IHBlcmx8JyAke0R9JHtiaW5kaXJ9L2Rwa2ctKgogCWZpCi0KLQlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdmluaXQnLCdmYWxzZScsJ3RydWUnLGQpfTt0aGVuCi0JCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQkJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZHBrZy1jb25maWd1cmUuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KLQkJc2VkIC1pIC1lICdzLEBCQVNFX0JJTkRJUkAsJHtiYXNlX2JpbmRpcn0sZycgXAotCQkJLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAotCQkJLWUgJ3MsQEJJTkRJUkAsJHtiaW5kaXJ9LGcnIFwKLQkJCS1lICdzLEBTWVNURU1EX1VOSVRESVJALCR7c3lzdGVtZF91bml0ZGlyfSxnJyBcCi0JCQkke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9kcGtnLWNvbmZpZ3VyZS5zZXJ2aWNlCi0JZmkKIH0KIAogUFJPViA9ICJ2aXJ0dWFsL3VwZGF0ZS1hbHRlcm5hdGl2ZXMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvMDAwMS1hcmNoLUFkZC1zdXBwb3J0LWZvci1yaXNjdjY0LUNQVS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDAxLWFyY2gtQWRkLXN1cHBvcnQtZm9yLXJpc2N2NjQtQ1BVLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NWM2MDZlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDAxLWFyY2gtQWRkLXN1cHBvcnQtZm9yLXJpc2N2NjQtQ1BVLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSAzMTlmMzJkNzQzZjViNWU3MjUwMTI2NTRkMTI0ZTQ5MjI2ZDVkZTkxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMTYgTWFyIDIwMTggMjA6Mjg6MjQgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gYXJjaDogQWRkIHN1cHBvcnQgZm9yIHJpc2N2NjQgQ1BVCi0KLSAgKiBBcmNoaXRlY3R1cmUgc3VwcG9ydDoKLSAgICAtIEFkZCBzdXBwb3J0IGZvciByaXNjdjY0IENQVS4gQ2xvc2VzOiAjODIyOTE0Ci0gICAgICBUaGFua3MgdG8gTWFudWVsIEEuIEZlcm5hbmRleiBNb250ZWNlbG8gPG1hZm1AZGViaWFuLm9yZz4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9hbGlvdGguZGViaWFuLm9yZy9wbHVnaW5zL3NjbWdpdC9jZ2ktYmluL2dpdHdlYi5jZ2k/cD1kcGtnJTJGZHBrZy5naXQ7YT1jb21taXRkaWZmX3BsYWluO2g9ZWUwODU1Y2M2NjA3NjY5MWRlNDc5NmJlNDhmOGEwZDg4OWZkZTAwMTtocD0yZjU4MTZkOGJlNDBiNDQ5ZDI0NzNiMjJmOWUwYzMzYjMyZjNiZDc4XQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gZGF0YS9jcHV0YWJsZSAgICAgICAgIHwgMSArCi0gc2NyaXB0cy90L0Rwa2dfQXJjaC50IHwgNCArKy0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9kYXRhL2NwdXRhYmxlIGIvZGF0YS9jcHV0YWJsZQotaW5kZXggYTJiZDdkNi4uOWYyYThlMCAxMDA2NDQKLS0tLSBhL2RhdGEvY3B1dGFibGUKLSsrKyBiL2RhdGEvY3B1dGFibGUKLUBAIC00MSw2ICs0MSw3IEBAIHBvd2VycGMJCXBvd2VycGMJCShwb3dlcnBjfHBwYykJCTMyCWJpZwotIHBvd2VycGNlbAlwb3dlcnBjbGUJcG93ZXJwY2xlCQkzMglsaXR0bGUKLSBwcGM2NAkJcG93ZXJwYzY0CShwb3dlcnBjfHBwYyk2NAkJNjQJYmlnCi0gcHBjNjRlbAkJcG93ZXJwYzY0bGUJcG93ZXJwYzY0bGUJCTY0CWxpdHRsZQotK3Jpc2N2NjQJCXJpc2N2NjQJCXJpc2N2NjQJCQk2NAlsaXR0bGUKLSBzMzkwCQlzMzkwCQlzMzkwCQkJMzIJYmlnCi0gczM5MHgJCXMzOTB4CQlzMzkweAkJCTY0CWJpZwotIHNoMwkJc2gzCQlzaDMJCQkzMglsaXR0bGUKLWRpZmYgLS1naXQgYS9zY3JpcHRzL3QvRHBrZ19BcmNoLnQgYi9zY3JpcHRzL3QvRHBrZ19BcmNoLnQKLWluZGV4IGQ0NzhiNDkuLmVjZDVkNjYgMTAwNjQ0Ci0tLS0gYS9zY3JpcHRzL3QvRHBrZ19BcmNoLnQKLSsrKyBiL3NjcmlwdHMvdC9EcGtnX0FyY2gudAotQEAgLTE2LDcgKzE2LDcgQEAKLSB1c2Ugc3RyaWN0OwotIHVzZSB3YXJuaW5nczsKLSAKLS11c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAxNjM2NzsKLSt1c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAxNjgzMjsKLSAKLSB1c2Vfb2soJ0Rwa2c6OkFyY2gnLCBxdyhkZWJhcmNoX3RvX2RlYnR1cGxlIGRlYmFyY2hfdG9fbXVsdGlhcmNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgZGViYXJjaF9lcSBkZWJhcmNoX2lzIGRlYmFyY2hfaXNfd2lsZGNhcmQKLUBAIC0xNjIsNyArMTYyLDcgQEAgaXMoZ251dHJpcGxldF90b19kZWJhcmNoKHVuZGVmKSwgdW5kZWYsICd1bmRlZiBnbnV0cmlwbGV0Jyk7Ci0gaXMoZ251dHJpcGxldF90b19kZWJhcmNoKCd1bmtub3duLXVua25vd24tdW5rbm93bicpLCB1bmRlZiwgJ3Vua25vd24gZ251dHJpcGxldCcpOwotIGlzKGdudXRyaXBsZXRfdG9fZGViYXJjaCgneDg2XzY0LWxpbnV4LWdudScpLCAnYW1kNjQnLCAna25vd24gZ251dHJpcGxldCcpOwotIAotLWlzKHNjYWxhciBnZXRfdmFsaWRfYXJjaGVzKCksIDUyNCwgJ2V4cGVjdGVkIGFtb3VudCBvZiBrbm93biBhcmNoaXRlY3R1cmVzJyk7Ci0raXMoc2NhbGFyIGdldF92YWxpZF9hcmNoZXMoKSwgNTM5LCAnZXhwZWN0ZWQgYW1vdW50IG9mIGtub3duIGFyY2hpdGVjdHVyZXMnKTsKLSAKLSB7Ci0gICAgIGxvY2FsICRFTlZ7Q0N9ID0gJ2ZhbHNlJzsKLS0tIAotMi4xNi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDAzLU91ci1wcmUtcG9zdGluc3RzLWV4cGVjdC1ELXRvLWJlLXNldC13aGVuLXJ1bm5pbmctaW4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvMDAwMy1PdXItcHJlLXBvc3RpbnN0cy1leHBlY3QtRC10by1iZS1zZXQtd2hlbi1ydW5uaW5nLWluLnBhdGNoCmluZGV4IDkzZDg3MDQuLmI4OGJlODcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDAzLU91ci1wcmUtcG9zdGluc3RzLWV4cGVjdC1ELXRvLWJlLXNldC13aGVuLXJ1bm5pbmctaW4ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLzAwMDMtT3VyLXByZS1wb3N0aW5zdHMtZXhwZWN0LUQtdG8tYmUtc2V0LXdoZW4tcnVubmluZy1pbi5wYXRjaApAQCAtMTAsMTUgKzEwLDE2IEBACiBSUCAyMDExLzEyLzA3CiBBTElNT04gMjAxNi8wNS8yNgogQUxJTU9OIDIwMTcvMDIvMjEKK0tLYW5nIDIwMTkvMDIvMjAKIC0tLQogIHNyYy9zY3JpcHQuYyB8IDQ0ICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9zcmMvc2NyaXB0LmMgYi9zcmMvc2NyaXB0LmMKLWluZGV4IDJmMjUyYWUuLjc2OGE5ZDEgMTAwNjQ0CitpbmRleCAwODY1Yjk1Li43M2VkMzVkIDEwMDY0NAogLS0tIGEvc3JjL3NjcmlwdC5jCiArKysgYi9zcmMvc2NyaXB0LmMKLUBAIC05Nyw0OCArOTcsMTAgQEAgc2V0ZXhlY3V0ZShjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqc3RhYikKK0BAIC05Niw1OCArOTYsMTEgQEAgc2V0ZXhlY3V0ZShjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqc3RhYikKICBzdGF0aWMgY29uc3QgY2hhciAqCiAgbWFpbnRzY3JpcHRfcHJlX2V4ZWMoc3RydWN0IGNvbW1hbmQgKmNtZCkKICB7CkBAIC0zMiw2ICszMyw4IEBACiAtCQljaGFuZ2VkaXIgPSAiLyI7CiAtCiAtCWlmIChpbnN0ZGlybGVuID4gMCAmJiAhZmNfc2NyaXB0X2Nocm9vdGxlc3MpIHsKKy0JCWludCByYzsKKy0KIC0JCWlmIChzdHJuY21wKGFkbWluZGlyLCBpbnN0ZGlyLCBpbnN0ZGlybGVuKSAhPSAwKQogLQkJCW9oc2hpdChfKCJhZG1pbmRpciBtdXN0IGJlIGluc2lkZSBpbnN0ZGlyIGZvciBkcGtnIHRvIHdvcmsgcHJvcGVybHkiKSk7CiAtCQlpZiAoc2V0ZW52KCJEUEtHX0FETUlORElSIiwgYWRtaW5kaXIgKyBpbnN0ZGlybGVuLCAxKSA8IDApCkBAIC0zOSw3ICs0MiwxMiBAQAogLQkJaWYgKHNldGVudigiRFBLR19ST09UIiwgIiIsIDEpIDwgMCkKIC0JCQlvaHNoaXRlKF8oInVuYWJsZSB0byBzZXRlbnYgZm9yIHN1YnByb2Nlc3NlcyIpKTsKIC0KLS0JCWlmIChjaHJvb3QoaW5zdGRpcikpCistCQlyYyA9IGNocm9vdChpbnN0ZGlyKTsKKy0JCWlmIChyYyAmJiBmY19ub25yb290ICYmIGVycm5vID09IEVQRVJNKQorLQkJCW9oc2hpdChfKCJub3QgZW5vdWdoIHByaXZpbGVnZXMgdG8gY2hhbmdlIHJvb3QgIgorLQkJCSAgICAgICAgICJkaXJlY3Rvcnkgd2l0aCAtLWZvcmNlLW5vdC1yb290LCBjb25zaWRlciAiCistCQkJICAgICAgICAgInVzaW5nIC0tZm9yY2Utc2NyaXB0LWNocm9vdGxlc3M/IikpOworLQkJZWxzZSBpZiAocmMpCiAtCQkJb2hzaGl0ZShfKCJmYWlsZWQgdG8gY2hyb290IHRvICclLjI1MHMnIiksIGluc3RkaXIpOwogKwlpZiAoKmluc3RkaXIpIHsKICsJCXNldGVudigiRCIsIGluc3RkaXIsIDEpOwpAQCAtNjQsNyArNzIsMTAgQEAKIC0JaWYgKGluc3RkaXJsZW4gPT0gMCB8fCBmY19zY3JpcHRfY2hyb290bGVzcykKIC0JCXJldHVybiBjbWQtPmZpbGVuYW1lOwogLQotLQlhc3NlcnQoc3RybGVuKGNtZC0+ZmlsZW5hbWUpID49IGluc3RkaXJsZW4pOworLQlpZiAoc3RybGVuKGNtZC0+ZmlsZW5hbWUpIDwgaW5zdGRpcmxlbikKKy0JCWludGVybmVycigibWFpbnRzY3JpcHQgbmFtZSAnJXMnIGxlbmd0aCA8IGluc3RkaXIgbGVuZ3RoICV6ZCIsCistCQkgICAgICAgICAgY21kLT5maWxlbmFtZSwgaW5zdGRpcmxlbik7CisgCiAtCXJldHVybiBjbWQtPmZpbGVuYW1lICsgaW5zdGRpcmxlbjsKICsJcmV0dXJuIGNtZC0+ZmlsZW5hbWU7CiAgfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLzAwMDUtZHBrZy1jb21waWxlci5tNC1yZW1vdmUtV3ZsYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDA1LWRwa2ctY29tcGlsZXIubTQtcmVtb3ZlLVd2bGEucGF0Y2gKaW5kZXggOTZlOTZmMi4uYjM2ODUwOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLzAwMDUtZHBrZy1jb21waWxlci5tNC1yZW1vdmUtV3ZsYS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvMDAwNS1kcGtnLWNvbXBpbGVyLm00LXJlbW92ZS1XdmxhLnBhdGNoCkBAIC0xNSwyMiArMTUsMjYgQEAKIFNpZ25lZC1vZmYtYnk6IERvbm4gU2VlbGV5IDxkb25uLnNlZWxleUB3aW5kcml2ZXIuY29tPgogU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CiBTaWduZWQtb2ZmLWJ5OiBBbsOtYmFsIExpbcOzbiA8YW5pYmFsLmxpbW9uQGxpbnV4LmludGVsLmNvbT4KKworVXBkYXRlIHBhdGNoIGNvbnRleHQgZm9yIGRwa2cgMS4xOS40LgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIC0tLQogIG00L2Rwa2ctY29tcGlsZXIubTQgfCAxIC0KICAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvbTQvZHBrZy1jb21waWxlci5tNCBiL200L2Rwa2ctY29tcGlsZXIubTQKLWluZGV4IDY4Mjg1N2MuLjIzZWQ3ZDAgMTAwNjQ0CitpbmRleCBhNjE5MmY2Li40YzdiZjJlIDEwMDY0NAogLS0tIGEvbTQvZHBrZy1jb21waWxlci5tNAogKysrIGIvbTQvZHBrZy1jb21waWxlci5tNAotQEAgLTUyLDcgKzUyLDYgQEAgQUNfREVGVU4oW0RQS0dfQ0hFQ0tfQ09NUElMRVJfV0FSTklOR1NdLCBbCi0gICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1XbG9naWNhbC1vcF0pCi0gICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1XbG9naWNhbC1ub3QtcGFyZW50aGVzZXNdKQorQEAgLTY3LDcgKzY3LDYgQEAgQUNfREVGVU4oW0RQS0dfQ0hFQ0tfQ09NUElMRVJfV0FSTklOR1NdLCBbCisgICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1Xc2hpZnQtbmVnYXRpdmUtdmFsdWVdKQorICAgRFBLR19DSEVDS19DT01QSUxFUl9GTEFHKFstV3NpemVvZi1hcnJheS1hcmd1bWVudF0pCiAgICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1Xc3dpdGNoLWJvb2xdKQogLSAgRFBLR19DSEVDS19DT01QSUxFUl9GTEFHKFstV3ZsYV0pCi0gICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1XaW5pdC1zZWxmXSkKICAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVd3cml0ZS1zdHJpbmdzXSkKLSAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVdjYXN0LWFsaWduXSkKKyAKKyAgIEFDX0xBTkdfQ0FTRSgKIC0tIAogMi4xLjQKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLzAwMDctZHBrZy1kZWItYnVpbGQuYy1SZW1vdmUtdXNhZ2Utb2YtY2xhbXAtbXRpbWUtaW4tdGFyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLzAwMDctZHBrZy1kZWItYnVpbGQuYy1SZW1vdmUtdXNhZ2Utb2YtY2xhbXAtbXRpbWUtaW4tdGFyLnBhdGNoCmluZGV4IDFiOTg1ZGYuLjRmNzlhNDAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDA3LWRwa2ctZGViLWJ1aWxkLmMtUmVtb3ZlLXVzYWdlLW9mLWNsYW1wLW10aW1lLWluLXRhci5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvMDAwNy1kcGtnLWRlYi1idWlsZC5jLVJlbW92ZS11c2FnZS1vZi1jbGFtcC1tdGltZS1pbi10YXIucGF0Y2gKQEAgLTE4LDIyICsxOCwyNiBAQAogCiBbMV0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJpbi9idWdyZXBvcnQuY2dpP2J1Zz03NTk5OTkjMjAKIFsyXSBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2hlbHAtdGFyLzIwMTYtMDEvbXNnMDAwMDAuaHRtbAorCitVcGRhdGUgcGF0Y2ggY29udGV4dCBmb3IgZHBrZyAxLjE5LjQuCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgogLS0tCiAgZHBrZy1kZWIvYnVpbGQuYyB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2Rwa2ctZGViL2J1aWxkLmMgYi9kcGtnLWRlYi9idWlsZC5jCi1pbmRleCBhOTJiNThlLi5hM2QxOTEyIDEwMDY0NAoraW5kZXggNjhkMTg3NS4uMDUzZmNiNyAxMDA2NDQKIC0tLSBhL2Rwa2ctZGViL2J1aWxkLmMKICsrKyBiL2Rwa2ctZGViL2J1aWxkLmMKLUBAIC00NTAsNyArNDUwLDcgQEAgdGFyYmFsbF9wYWNrKGNvbnN0IGNoYXIgKmRpciwgZmlsZW5hbWVzX2ZlZWRfZnVuYyAqdGFyX2ZpbGVuYW1lc19mZWVkZXIsCitAQCAtNDU3LDcgKzQ1Nyw3IEBAIHRhcmJhbGxfcGFjayhjb25zdCBjaGFyICpkaXIsIGZpbGVuYW1lc19mZWVkX2Z1bmMgKnRhcl9maWxlbmFtZXNfZmVlZGVyLAogIAogICAgICBjb21tYW5kX2luaXQoJmNtZCwgVEFSLCAidGFyIC1jZiIpOwogICAgICBjb21tYW5kX2FkZF9hcmdzKCZjbWQsICJ0YXIiLCAiLWNmIiwgIi0iLCAiLS1mb3JtYXQ9Z251IiwKIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1tdGltZSIsIG10aW1lLCAiLS1jbGFtcC1tdGltZSIsIE5VTEwpOwogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLW10aW1lIiwgbXRpbWUsIE5VTEwpOwogICAgICAvKiBNb2RlIG1pZ2h0IGJlY29tZSBhIHBvc2l0aW9uYWwgYXJndW1lbnQsIHBhc3MgaXQgYmVmb3JlIC1ULiAqLwotICAgICBpZiAobW9kZSkKLSAgICAgICBjb21tYW5kX2FkZF9hcmdzKCZjbWQsICItLW1vZGUiLCBtb2RlLCBOVUxMKTsKKyAgICAgaWYgKG9wdGlvbnMtPm1vZGUpCisgICAgICAgY29tbWFuZF9hZGRfYXJncygmY21kLCAiLS1tb2RlIiwgb3B0aW9ucy0+bW9kZSwgTlVMTCk7CiAtLSAKIDIuMTEuMApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnL2Rwa2ctY29uZmlndXJlLnNlcnZpY2UgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvZHBrZy1jb25maWd1cmUuc2VydmljZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWEyNDhjYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvZHBrZy1jb25maWd1cmUuc2VydmljZQorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVtVbml0XQotRGVzY3JpcHRpb249ZHBrZyBmaXJzdCBib290IGNvbmZpZ3VyZQotRGVmYXVsdERlcGVuZGVuY2llcz1ubwotQWZ0ZXI9c3lzdGVtZC1yZW1vdW50LWZzLnNlcnZpY2Ugc3lzdGVtZC10bXBmaWxlcy1zZXR1cC5zZXJ2aWNlIHRtcC5tb3VudAotQmVmb3JlPXN5c2luaXQudGFyZ2V0Ci0KLVtTZXJ2aWNlXQotVHlwZT1vbmVzaG90Ci1FbnZpcm9ubWVudEZpbGU9LUBTWVNDT05GRElSQC9kZWZhdWx0L3Bvc3RpbnN0Ci1FeGVjU3RhcnQ9LUBCQVNFX0JJTkRJUkAvc2ggLWMgIiBpZiBbICRQT1NUSU5TVF9MT0dHSU5HID0gJzEnIF07IHRoZW4gQEJJTkRJUkAvZHBrZyAtLWNvbmZpZ3VyZSAtYSA+ICRMT0dGSUxFIDI+JjE7IGVsc2UgQEJJTkRJUkAvZHBrZyAtLWNvbmZpZ3VyZSAtYTsgZmkiCi1FeGVjU3RhcnRQb3N0PUBCQVNFX0JJTkRJUkAvc3lzdGVtY3RsIC0tbm8tcmVsb2FkIGRpc2FibGUgZHBrZy1jb25maWd1cmUuc2VydmljZQotU3RhbmRhcmRPdXRwdXQ9c3lzbG9nCi1SZW1haW5BZnRlckV4aXQ9Tm8KLQotW0luc3RhbGxdCi1XYW50ZWRCeT1iYXNpYy50YXJnZXQKLVdhbnRlZEJ5PXN5c2luaXQudGFyZ2V0CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvZ2xpYmMyLjUtc3luY19maWxlX3JhbmdlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnL2dsaWJjMi41LXN5bmNfZmlsZV9yYW5nZS5wYXRjaAppbmRleCBkNDgzODY2Li41ZGViY2M1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvZ2xpYmMyLjUtc3luY19maWxlX3JhbmdlLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy9nbGliYzIuNS1zeW5jX2ZpbGVfcmFuZ2UucGF0Y2gKQEAgLTY2LDE1ICs2NiwxOCBAQAogU2lnbmVkLW9mZi1ieTogRG9ubiBTZWVsZXkgPGRvbm4uc2VlbGV5QHdpbmRyaXZlci5jb20+CiBTaWduZWQtb2ZmLWJ5OiBMZWkgTGl1IDxsZWkubGl1MkB3aW5kcml2ZXIuY29tPgogCitVcGRhdGUgcGF0Y2ggY29udGV4dCBmb3IgZHBrZyAxLjE5LjQuCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgogLS0tCiAgc3JjL2FyY2hpdmVzLmMgfCA0ICsrLS0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvc3JjL2FyY2hpdmVzLmMgYi9zcmMvYXJjaGl2ZXMuYwotaW5kZXggNGIyZmM5Mi4uYTkyYjc5NSAxMDA2NDQKK2luZGV4IDg0NzZhNWMuLmIwNWE2M2YgMTAwNjQ0CiAtLS0gYS9zcmMvYXJjaGl2ZXMuYwogKysrIGIvc3JjL2FyY2hpdmVzLmMKLUBAIC02OSw3ICs2OSw3IEBAIGZkX3dyaXRlYmFja19pbml0KGludCBmZCkKK0BAIC02OCw3ICs2OCw3IEBAIGZkX3dyaXRlYmFja19pbml0KGludCBmZCkKICAgIC8qIElnbm9yZSB0aGUgcmV0dXJuIGNvZGUgYXMgaXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgZXF1aXZhbGVudCB0byBhbgogICAgICogYXN5bmNocm9ub3VzIGhpbnQgZm9yIHRoZSBrZXJuZWwsIHdlIGFyZSBkb2luZyBhbiBmc3luYygpIGxhdGVyIG9uCiAgICAgKiBhbnl3YXkuICovCkBAIC04MywxNCArODYsMTQgQEAKICAgIHN5bmNfZmlsZV9yYW5nZShmZCwgMCwgMCwgU1lOQ19GSUxFX1JBTkdFX1dSSVRFKTsKICAjZWxpZiBkZWZpbmVkKEhBVkVfUE9TSVhfRkFEVklTRSkKICAgIHBvc2l4X2ZhZHZpc2UoZmQsIDAsIDAsIFBPU0lYX0ZBRFZfRE9OVE5FRUQpOwotQEAgLTEwNzgsNyArMTA3OCw3IEBAIHRhcm9iamVjdCh2b2lkICpjdHgsIHN0cnVjdCB0YXJfZW50cnkgKnRpKQorQEAgLTEwOTMsNyArMTA5Myw3IEBAIHRhcm9iamVjdChzdHJ1Y3QgdGFyX2FyY2hpdmUgKnRhciwgc3RydWN0IHRhcl9lbnRyeSAqdGkpCiAgICByZXR1cm4gMDsKICB9CiAgCiAtI2lmIGRlZmluZWQoU1lOQ19GSUxFX1JBTkdFX1dBSVRfQkVGT1JFKQogKyNpZiBkZWZpbmVkKFNZTkNfRklMRV9SQU5HRV9XQUlUX0JFRk9SRSkgJiYgX19HTElCQ19QUkVSRVEoMiwgNikKICBzdGF0aWMgdm9pZAotIHRhcl93cml0ZWJhY2tfYmFycmllcihzdHJ1Y3QgZmlsZWlubGlzdCAqZmlsZXMsIHN0cnVjdCBwa2dpbmZvICpwa2cpCisgdGFyX3dyaXRlYmFja19iYXJyaWVyKHN0cnVjdCBmc3lzX25hbWVub2RlX2xpc3QgKmZpbGVzLCBzdHJ1Y3QgcGtnaW5mbyAqcGtnKQogIHsKIC0tIAogMi4xNi4yCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvdHdlYWstb3B0aW9ucy1yZXF1aXJlLXRhci0xLjI3LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnL3R3ZWFrLW9wdGlvbnMtcmVxdWlyZS10YXItMS4yNy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTExOTkxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnL3R3ZWFrLW9wdGlvbnMtcmVxdWlyZS10YXItMS4yNy5wYXRjaApAQCAtMCwwICsxLDI3IEBACitHTlUgdGFyID49IDEuMjcgaXMgcmVxdWlyZWQgZm9yIC0tb3duZXI9TkFNRTpJRCBhbmQgLS1ncm91cD1OQU1FOklELiBBbmQgZmFpbHMKK3RvIGJ1aWxkIC5kZWIgcGFja2FnZXMgd2l0aCBlcnJvcjoKKworfCBkcGtnLWRlYjogYnVpbGRpbmcgcGFja2FnZSAnbGludXgtbGliYy1oZWFkZXJzLWRiZycgaW4gJy4uLi90bXAvd29yay9pNTg2LXBva3ktbGludXgvbGludXgtbGliYy1oZWFkZXJzLzQuMTktcjAvZGVwbG95LWRlYnMvaTU4Ni9saW51eC1saWJjLWhlYWRlcnMtZGJnXyA0LjE5LXIwLjBfaTM4Ni5kZWInLgorfCB0YXI6IHJvb3RcOjA6IEludmFsaWQgb3duZXIKK3wgdGFyOiBFcnJvciBpcyBub3QgcmVjb3ZlcmFibGU6IGV4aXRpbmcgbm93Cit8IGRwa2ctZGViOiBlcnJvcjogdGFyIC1jZiBzdWJwcm9jZXNzIHJldHVybmVkIGVycm9yIGV4aXQgc3RhdHVzIDIKKworVHdlYWsgdGFyIG9wdGlvbnMgaW4gZHBrZy1kZWIgc291cmNlIGNvZGUgdG8gbWFrZSBpdCB3b3JrIG9uIG9sZCBtYWNoaW5lcy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjcm9zcyBidWlsZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KK2RpZmYgLS1naXQgYS9kcGtnLWRlYi9idWlsZC5jIGIvZHBrZy1kZWIvYnVpbGQuYworaW5kZXggNjhkMTg3NTExLi44NmZlMjJlMjUgMTAwNjQ0CistLS0gYS9kcGtnLWRlYi9idWlsZC5jCisrKysgYi9kcGtnLWRlYi9idWlsZC5jCitAQCAtNDYyLDcgKzQ2Miw3IEBAIHRhcmJhbGxfcGFjayhjb25zdCBjaGFyICpkaXIsIGZpbGVuYW1lc19mZWVkX2Z1bmMgKnRhcl9maWxlbmFtZXNfZmVlZGVyLAorICAgICBpZiAob3B0aW9ucy0+bW9kZSkKKyAgICAgICBjb21tYW5kX2FkZF9hcmdzKCZjbWQsICItLW1vZGUiLCBvcHRpb25zLT5tb2RlLCBOVUxMKTsKKyAgICAgaWYgKG9wdGlvbnMtPnJvb3Rfb3duZXJfZ3JvdXApCistICAgICAgY29tbWFuZF9hZGRfYXJncygmY21kLCAiLS1vd25lciIsICJyb290OjAiLCAiLS1ncm91cCIsICJyb290OjAiLCBOVUxMKTsKKysgICAgICBjb21tYW5kX2FkZF9hcmdzKCZjbWQsICItLW93bmVyIiwgInJvb3QiLCAiLS1ncm91cCIsICJyb290IiwgTlVMTCk7CisgICAgIGNvbW1hbmRfYWRkX2FyZ3MoJmNtZCwgIi0tbnVsbCIsICItLW5vLXVucXVvdGUiLCAiLS1uby1yZWN1cnNpb24iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICItVCIsICItIiwgTlVMTCk7CisgICAgIGNvbW1hbmRfZXhlYygmY21kKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZ18xLjE4LjI0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnXzEuMTguMjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkOGVjMzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnXzEuMTguMjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1yZXF1aXJlIGRwa2cuaW5jCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLQotU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE3MDUxOFQwOTM4MzhaL3Bvb2wvbWFpbi9kL2Rwa2cvZHBrZ18xLjE4LjI0LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly9ub21hbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtdGFyLW5vLXRpbWVzdGFtcC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9hcmNoX3BtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2Rwa2ctY29uZmlndXJlLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vYWRkX2FybWViX3RyaXBsZXRfZW50cnkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1BZGFwdC10by1saW51eC13cnMta2VybmVsLXZlcnNpb24td2hpY2gtaGFzLWNoYXJhY3RlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtT3VyLXByZS1wb3N0aW5zdHMtZXhwZWN0LUQtdG8tYmUtc2V0LXdoZW4tcnVubmluZy1pbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LVRoZS1sdXRpbWVzLWZ1bmN0aW9uLWRvZXNuLXQtd29yay1wcm9wZXJseS1mb3ItYWxsLXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNS1kcGtnLWNvbXBpbGVyLm00LXJlbW92ZS1XdmxhLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDYtYWRkLW11c2xlYWJpLXRvLWtub3duLXRhcmdldC10cmlwZXRzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDctZHBrZy1kZWItYnVpbGQuYy1SZW1vdmUtdXNhZ2Utb2YtY2xhbXAtbXRpbWUtaW4tdGFyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZHBrZy1TdXBwb3J0LW11c2x4MzItYnVpbGQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1hcmNoLUFkZC1zdXBwb3J0LWZvci1yaXNjdjY0LUNQVS5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovL2dsaWJjMi41LXN5bmNfZmlsZV9yYW5nZS5wYXRjaCAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwMmU4YWY4ZmFmMWU2ODkyMjhkYTgwNmMzZThjNjg4MiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkODUzMDgxZDNlMDZiZmQ0NmEyMjcwNTZlNTkxZjA5NGU0MmU3OGZhOGE1NzkzYjAwOTNiYWQzMGI3MTBkN2I0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnXzEuMTkuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZ18xLjE5LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNkYmRhNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZ18xLjE5LjQuYmIKQEAgLTAsMCArMSwyMiBAQAorcmVxdWlyZSBkcGtnLmluYworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NSQ19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL2QvJHtCUE59LyR7QlBOfV8ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vbm9tYW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLXRhci1uby10aW1lc3RhbXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXJjaF9wbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hZGRfYXJtZWJfdHJpcGxldF9lbnRyeS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUFkYXB0LXRvLWxpbnV4LXdycy1rZXJuZWwtdmVyc2lvbi13aGljaC1oYXMtY2hhcmFjdGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1PdXItcHJlLXBvc3RpbnN0cy1leHBlY3QtRC10by1iZS1zZXQtd2hlbi1ydW5uaW5nLWluLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtVGhlLWx1dGltZXMtZnVuY3Rpb24tZG9lc24tdC13b3JrLXByb3Blcmx5LWZvci1hbGwtcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LWRwa2ctY29tcGlsZXIubTQtcmVtb3ZlLVd2bGEucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1hZGQtbXVzbGVhYmktdG8ta25vd24tdGFyZ2V0LXRyaXBldHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1kcGtnLWRlYi1idWlsZC5jLVJlbW92ZS11c2FnZS1vZi1jbGFtcC1tdGltZS1pbi10YXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1kcGtnLVN1cHBvcnQtbXVzbHgzMi1idWlsZC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovL2dsaWJjMi41LXN5bmNfZmlsZV9yYW5nZS5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly90d2Vhay1vcHRpb25zLXJlcXVpcmUtdGFyLTEuMjcucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMWU0NDIwNDA5NDI2ZDhjNThiYmUxM2E4ZTA3YzBjMGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzE1MjM0ZTk4NjU1Njg5NTg2YmZmMmQ1MTdhNmZkYzYxMzVkMTM5YzU0ZDUyYWU5Y2ZhNmE5MDAwN2ZlZTBhZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2UyZnNwcm9ncy9lMmZzcHJvZ3NfMS40NC4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZTJmc3Byb2dzL2UyZnNwcm9nc18xLjQ0LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNmZmI1MzYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZTJmc3Byb2dzL2UyZnNwcm9nc18xLjQ0LjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMzYgKzAsMCBAQAotcmVxdWlyZSBlMmZzcHJvZ3MuaW5jCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9yZW1vdmUubGRjb25maWcuY2FsbC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgIGZpbGU6Ly9wdGVzdC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vUmV2ZXJ0LW1rZTJmcy1lbmFibGUtdGhlLW1ldGFkYXRhX2NzdW0tYW5kLTY0Yml0LWZlYS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vbWtkaXJfcC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1taXNjLWNyZWF0ZV9pbm9kZS5jLXNldC1kaXItcy1tb2RlLWNvcnJlY3RseS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1jcmVhdGVfaW5vZGUtZml4LWNvcHlpbmctbGFyZ2UtZmlsZXMucGF0Y2ggXAotICAgICAgICAgICAgIgotCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGU6Ly9lMmZzcHJvZ3MtZml4LW1pc3NpbmctY2hlY2stZm9yLXBlcm1pc3Npb24tZGVuaWVkLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3F1aWV0LWRlYnVnZnMucGF0Y2ggXAotIgotCi1TUkNSRVYgPSAiODVlNTNmNDJmOThkNTMzNDkxNGRlMDFlOTcyZTllZDQ0YmNjZDBhNSIKLVVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gInYoP1A8cHZlcj5cZCtcLlxkKyhcLlxkKykqKSQiCi0KLUVYVFJBX09FQ09ORiArPSAiLS1saWJkaXI9JHtiYXNlX2xpYmRpcn0gLS1zYmluZGlyPSR7YmFzZV9zYmluZGlyfSBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtZWxmLXNobGlicyAtLWRpc2FibGUtbGlidXVpZCAtLWRpc2FibGUtdXVpZGQgXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1saWJibGtpZCAtLWVuYWJsZS12ZXJib3NlLW1ha2VjbWRzIgotCi1FWFRSQV9PRUNPTkZfZGFyd2luID0gIi0tbGliZGlyPSR7YmFzZV9saWJkaXJ9IC0tc2JpbmRpcj0ke2Jhc2Vfc2JpbmRpcn0gLS1lbmFibGUtYnNkLXNobGlicyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbZnVzZV0gPSAnLS1lbmFibGUtZnVzZTJmcywtLWRpc2FibGUtZnVzZTJmcyxmdXNlJwotCi0jIG1ha2UgbG9jYWxlIHJ1bGVzIHNvbWV0aW1lcyBmaXJlLCBzb21ldGltZXMgZG9uJ3QgYXMgZ2l0IGRvZXNuJ3QgcHJlc2VydmUKLSMgZmlsZSBta3RpbWUuIFRvdWNoIHRoZSBmaWxlcyBpbnRyb2R1Y2luZyBub24tZGV0ZXJtaW5pc20gdG8gdGhlIGJ1aWxkCi1kb19jb21waWxlX3ByZXBlbmQgKCl7Ci0JZmluZCAke1N9L3BvIC10eXBlIGYgLW5hbWUgIioucG8iIC1leGVjIHRvdWNoIHt9ICsKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0Jb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCi0Jb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsLWxpYnMKLQkjIFdlIHVzZSBibGtpZCBmcm9tIHV0aWwtbGludXggbm93IHNvIHJlbW92ZSBmcm9tIGhlcmUKLQlybSAtZiAke0R9JHtiYXNlX2xpYmRpcn0vbGliYmxraWQqCi0Jcm0gLXJmICR7RH0ke2luY2x1ZGVkaXJ9L2Jsa2lkCi0Jcm0gLWYgJHtEfSR7YmFzZV9saWJkaXJ9L3BrZ2NvbmZpZy9ibGtpZC5wYwotCXJtIC1mICR7RH0ke2Jhc2Vfc2JpbmRpcn0vYmxraWQKLQlybSAtZiAke0R9JHtiYXNlX3NiaW5kaXJ9L2ZzY2sKLQlybSAtZiAke0R9JHtiYXNlX3NiaW5kaXJ9L2ZpbmRmcwotCi0JIyBlMmluaXRyZF9oZWxwZXIgYW5kIHRoZSBwa2djb25maWcgZmlsZXMgYmVsb25nIGluIGxpYmRpcgotCWlmIFsgISAke0R9JHtsaWJkaXJ9IC1lZiAke0R9JHtiYXNlX2xpYmRpcn0gXTsgdGhlbgotCQlpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KLQkJbXYgJHtEfSR7YmFzZV9saWJkaXJ9L2UyaW5pdHJkX2hlbHBlciAke0R9JHtsaWJkaXJ9Ci0JCW12ICR7RH0ke2Jhc2VfbGliZGlyfS9wa2djb25maWcgJHtEfSR7bGliZGlyfQotCWZpCi0KLQlvZV9tdWx0aWxpYl9oZWFkZXIgZXh0MmZzL2V4dDJfdHlwZXMuaAotCWluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9Ci0JbXYgJHtEfSR7YmluZGlyfS9jaGF0dHIgJHtEfSR7YmFzZV9iaW5kaXJ9L2NoYXR0ci5lMmZzcHJvZ3MKLQotCWluc3RhbGwgLXYgLW0gNzU1ICR7U30vY29udHJpYi9wb3B1bGF0ZS1leHRmcy5zaCAke0R9JHtiYXNlX3NiaW5kaXJ9LwotCi0JIyBDbGVhbiBob3N0IHBhdGggKGJ1aWxkIGRpcmVjdG9yeSkgaW4gY29tcGlsZV9ldCwgbWtfY21kcwotCXNlZCAtaSAtZSAicyxcKEVUX0RJUj0uKlwpJHtTfS9saWIvZXRcKC4qXCksXDEke2RhdGFkaXJ9L2V0XDIsZyIgJHtEfSR7YmluZGlyfS9jb21waWxlX2V0Ci0Jc2VkIC1pIC1lICJzLFwoU1NfRElSPS4qXCkke1N9L2xpYi9zc1woLipcKSxcMSR7ZGF0YWRpcn0vc3NcMixnIiAke0R9JHtiaW5kaXJ9L21rX2NtZHMKLX0KLQotIyBOZWVkIHRvIGZpbmQgdGhlIHJpZ2h0IG1rZTJmcy5jb25mIGZpbGUKLWUyZnNwcm9nc19jb25mX2ZpeHVwICgpIHsKLQlmb3IgaSBpbiBta2UyZnMgbWtmcy5leHQyIG1rZnMuZXh0MyBta2ZzLmV4dDQ7IGRvCi0JCWNyZWF0ZV93cmFwcGVyICR7RH0ke2Jhc2Vfc2JpbmRpcn0vJGkgTUtFMkZTX0NPTkZJRz0ke3N5c2NvbmZkaXJ9L21rZTJmcy5jb25mCi0JZG9uZQotfQotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7Ci0JZTJmc3Byb2dzX2NvbmZfZml4dXAKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgewotCWUyZnNwcm9nc19jb25mX2ZpeHVwCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKLQltdiAke0R9JHtiYXNlX3NiaW5kaXJ9L21rZTJmcyAke0R9JHtiYXNlX3NiaW5kaXJ9L21rZTJmcy5lMmZzcHJvZ3MKLQltdiAke0R9JHtiYXNlX3NiaW5kaXJ9L21rZnMuZXh0MiAke0R9JHtiYXNlX3NiaW5kaXJ9L21rZnMuZXh0Mi5lMmZzcHJvZ3MKLQltdiAke0R9JHtiYXNlX3NiaW5kaXJ9L3R1bmUyZnMgJHtEfSR7YmFzZV9zYmluZGlyfS90dW5lMmZzLmUyZnNwcm9ncwotfQotCi1SREVQRU5EU19lMmZzcHJvZ3MgPSAiZTJmc3Byb2dzLWJhZGJsb2NrcyIKLVJSRUNPTU1FTkRTX2UyZnNwcm9ncyA9ICJlMmZzcHJvZ3MtbWtlMmZzIGUyZnNwcm9ncy1lMmZzY2siCi0KLVBBQ0tBR0VTID0rICJlMmZzcHJvZ3MtZTJmc2NrIGUyZnNwcm9ncy1ta2UyZnMgZTJmc3Byb2dzLXR1bmUyZnMgZTJmc3Byb2dzLWJhZGJsb2NrcyBlMmZzcHJvZ3MtcmVzaXplMmZzIgotUEFDS0FHRVMgPSsgImxpYmNvbWVyciBsaWJzcyBsaWJlMnAgbGliZXh0MmZzIgotCi1GSUxFU19lMmZzcHJvZ3MtcmVzaXplMmZzID0gIiR7YmFzZV9zYmluZGlyfS9yZXNpemUyZnMqIgotRklMRVNfZTJmc3Byb2dzLWUyZnNjayA9ICIke2Jhc2Vfc2JpbmRpcn0vZTJmc2NrICR7YmFzZV9zYmluZGlyfS9mc2NrLmV4dCoiCi1GSUxFU19lMmZzcHJvZ3MtbWtlMmZzID0gIiR7YmFzZV9zYmluZGlyfS9ta2UyZnMuZTJmc3Byb2dzICR7YmFzZV9zYmluZGlyfS9ta2ZzLmV4dCogJHtzeXNjb25mZGlyfS9ta2UyZnMuY29uZiIKLUZJTEVTX2UyZnNwcm9ncy10dW5lMmZzID0gIiR7YmFzZV9zYmluZGlyfS90dW5lMmZzLmUyZnNwcm9ncyAke2Jhc2Vfc2JpbmRpcn0vZTJsYWJlbCIKLUZJTEVTX2UyZnNwcm9ncy1iYWRibG9ja3MgPSAiJHtiYXNlX3NiaW5kaXJ9L2JhZGJsb2NrcyIKLUZJTEVTX2xpYmNvbWVyciA9ICIke2Jhc2VfbGliZGlyfS9saWJjb21fZXJyLnNvLioiCi1GSUxFU19saWJzcyA9ICIke2Jhc2VfbGliZGlyfS9saWJzcy5zby4qIgotRklMRVNfbGliZTJwID0gIiR7YmFzZV9saWJkaXJ9L2xpYmUycC5zby4qIgotRklMRVNfbGliZXh0MmZzID0gIiR7bGliZGlyfS9lMmluaXRyZF9oZWxwZXIgJHtiYXNlX2xpYmRpcn0vbGliZXh0MmZzLnNvLioiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vKi8qLmF3ayAke2RhdGFkaXJ9LyovKi5zZWQgJHtiYXNlX2xpYmRpcn0vKi5zbyAke2JpbmRpcn0vY29tcGlsZV9ldCAke2JpbmRpcn0vbWtfY21kcyIKLQotQUxURVJOQVRJVkVfJHtQTn0gPSAiY2hhdHRyIgotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2NoYXR0cl0gPSAiJHtiYXNlX2JpbmRpcn0vY2hhdHRyIgotQUxURVJOQVRJVkVfVEFSR0VUW2NoYXR0cl0gPSAiJHtiYXNlX2JpbmRpcn0vY2hhdHRyLmUyZnNwcm9ncyIKLQotQUxURVJOQVRJVkVfJHtQTn0tZG9jID0gImZzY2suOCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtmc2NrLjhdID0gIiR7bWFuZGlyfS9tYW44L2ZzY2suOCIKLQotQUxURVJOQVRJVkVfJHtQTn0tbWtlMmZzID0gIm1rZTJmcyBta2ZzLmV4dDIiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbbWtlMmZzXSA9ICIke2Jhc2Vfc2JpbmRpcn0vbWtlMmZzIgotQUxURVJOQVRJVkVfTElOS19OQU1FW21rZnMuZXh0Ml0gPSAiJHtiYXNlX3NiaW5kaXJ9L21rZnMuZXh0MiIKLQotQUxURVJOQVRJVkVfJHtQTn0tdHVuZTJmcyA9ICJ0dW5lMmZzIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3R1bmUyZnNdID0gIiR7YmFzZV9zYmluZGlyfS90dW5lMmZzIgotCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAiJHtQTn0gJHtQTn0tdHVuZTJmcyBjb3JldXRpbHMgcHJvY3BzIGJhc2ggYnppcDIgZGlmZnV0aWxzIHBlcmwiCi0KLWRvX2NvbXBpbGVfcHRlc3QoKSB7Ci0Jb2VfcnVubWFrZSAtQyAke0J9L3Rlc3RzCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0JY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtCfS90ZXN0cyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0Ci0JY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtTfS90ZXN0cy8qICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKLQlzZWQgLWUgJ3MhLi4vZTJmc2NrL2UyZnNjayFlMmZzY2shZycgXAotCSAgICAtZSAncyEuLi9taXNjL3R1bmUyZnMhdHVuZTJmcyFnJyAtaSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0LyovZXhwZWN0KgotCXNlZCAtZSAncyEuLi9lMmZzY2svZTJmc2NrISR7YmFzZV9zYmluZGlyfS9lMmZzY2shZycgLWkgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdC8qL3NjcmlwdAotCi0JIyBSZW1vdmUgdmFyaW91cyBmaWxlcwotCWZpbmQgIiR7RH0ke1BURVNUX1BBVEh9IiAtdHlwZSBmIFwKLQkgICAgXCggLW5hbWUgJ01ha2VmaWxlJyAtbyAtbmFtZSAnTWFrZWZpbGUuaW4nIC1vIC1uYW1lICcqLm8nIC1vIC1uYW1lICcqLmMnIC1vIC1uYW1lICcqLmgnIFwpXAotCSAgICAtZXhlYyAgcm0gLWYge30gKwotCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vbGliCi0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke0J9L2xpYi9jb25maWcuaCAgJHtEfSR7UFRFU1RfUEFUSH0vbGliLwotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZTJmc3Byb2dzL2UyZnNwcm9nc18xLjQ0LjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lMmZzcHJvZ3MvZTJmc3Byb2dzXzEuNDQuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjk1ZWU5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZTJmc3Byb2dzL2UyZnNwcm9nc18xLjQ0LjUuYmIKQEAgLTAsMCArMSwxMzYgQEAKK3JlcXVpcmUgZTJmc3Byb2dzLmluYworCitTUkNfVVJJICs9ICJmaWxlOi8vcmVtb3ZlLmxkY29uZmlnLmNhbGwucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgICBmaWxlOi8vcHRlc3QucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL1JldmVydC1ta2UyZnMtZW5hYmxlLXRoZS1tZXRhZGF0YV9jc3VtLWFuZC02NGJpdC1mZWEucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL21rZGlyX3AucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtbWlzYy1jcmVhdGVfaW5vZGUuYy1zZXQtZGlyLXMtbW9kZS1jb3JyZWN0bHkucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtY3JlYXRlX2lub2RlLWZpeC1jb3B5aW5nLWxhcmdlLWZpbGVzLnBhdGNoIFwKKyAgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vZTJmc3Byb2dzLWZpeC1taXNzaW5nLWNoZWNrLWZvci1wZXJtaXNzaW9uLWRlbmllZC5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9xdWlldC1kZWJ1Z2ZzLnBhdGNoIFwKKyIKKworU1JDUkVWID0gIjlhMDNjMDdlMDBmMDlhNzcyMjQ1MjgxZDg0YTI4NGM2N2U5MDUxNDgiCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJ2KD9QPHB2ZXI+XGQrXC5cZCsoXC5cZCspKikkIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tbGliZGlyPSR7YmFzZV9saWJkaXJ9IC0tc2JpbmRpcj0ke2Jhc2Vfc2JpbmRpcn0gXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWVsZi1zaGxpYnMgLS1kaXNhYmxlLWxpYnV1aWQgLS1kaXNhYmxlLXV1aWRkIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtbGliYmxraWQgLS1lbmFibGUtdmVyYm9zZS1tYWtlY21kcyIKKworRVhUUkFfT0VDT05GX2RhcndpbiA9ICItLWxpYmRpcj0ke2Jhc2VfbGliZGlyfSAtLXNiaW5kaXI9JHtiYXNlX3NiaW5kaXJ9IC0tZW5hYmxlLWJzZC1zaGxpYnMiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2Z1c2VdID0gJy0tZW5hYmxlLWZ1c2UyZnMsLS1kaXNhYmxlLWZ1c2UyZnMsZnVzZScKKworIyBtYWtlIGxvY2FsZSBydWxlcyBzb21ldGltZXMgZmlyZSwgc29tZXRpbWVzIGRvbid0IGFzIGdpdCBkb2Vzbid0IHByZXNlcnZlCisjIGZpbGUgbWt0aW1lLiBUb3VjaCB0aGUgZmlsZXMgaW50cm9kdWNpbmcgbm9uLWRldGVybWluaXNtIHRvIHRoZSBidWlsZAorZG9fY29tcGlsZV9wcmVwZW5kICgpeworCWZpbmQgJHtTfS9wbyAtdHlwZSBmIC1uYW1lICIqLnBvIiAtZXhlYyB0b3VjaCB7fSArCit9CisKK2RvX2luc3RhbGwgKCkgeworCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbC1saWJzCisJIyBXZSB1c2UgYmxraWQgZnJvbSB1dGlsLWxpbnV4IG5vdyBzbyByZW1vdmUgZnJvbSBoZXJlCisJcm0gLWYgJHtEfSR7YmFzZV9saWJkaXJ9L2xpYmJsa2lkKgorCXJtIC1yZiAke0R9JHtpbmNsdWRlZGlyfS9ibGtpZAorCXJtIC1mICR7RH0ke2Jhc2VfbGliZGlyfS9wa2djb25maWcvYmxraWQucGMKKwlybSAtZiAke0R9JHtiYXNlX3NiaW5kaXJ9L2Jsa2lkCisJcm0gLWYgJHtEfSR7YmFzZV9zYmluZGlyfS9mc2NrCisJcm0gLWYgJHtEfSR7YmFzZV9zYmluZGlyfS9maW5kZnMKKworCSMgZTJpbml0cmRfaGVscGVyIGFuZCB0aGUgcGtnY29uZmlnIGZpbGVzIGJlbG9uZyBpbiBsaWJkaXIKKwlpZiBbICEgJHtEfSR7bGliZGlyfSAtZWYgJHtEfSR7YmFzZV9saWJkaXJ9IF07IHRoZW4KKwkJaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9CisJCW12ICR7RH0ke2Jhc2VfbGliZGlyfS9lMmluaXRyZF9oZWxwZXIgJHtEfSR7bGliZGlyfQorCQltdiAke0R9JHtiYXNlX2xpYmRpcn0vcGtnY29uZmlnICR7RH0ke2xpYmRpcn0KKwlmaQorCisJb2VfbXVsdGlsaWJfaGVhZGVyIGV4dDJmcy9leHQyX3R5cGVzLmgKKwlpbnN0YWxsIC1kICR7RH0ke2Jhc2VfYmluZGlyfQorCW12ICR7RH0ke2JpbmRpcn0vY2hhdHRyICR7RH0ke2Jhc2VfYmluZGlyfS9jaGF0dHIuZTJmc3Byb2dzCisKKwlpbnN0YWxsIC12IC1tIDc1NSAke1N9L2NvbnRyaWIvcG9wdWxhdGUtZXh0ZnMuc2ggJHtEfSR7YmFzZV9zYmluZGlyfS8KKworCSMgQ2xlYW4gaG9zdCBwYXRoIChidWlsZCBkaXJlY3RvcnkpIGluIGNvbXBpbGVfZXQsIG1rX2NtZHMKKwlzZWQgLWkgLWUgInMsXChFVF9ESVI9LipcKSR7U30vbGliL2V0XCguKlwpLFwxJHtkYXRhZGlyfS9ldFwyLGciICR7RH0ke2JpbmRpcn0vY29tcGlsZV9ldAorCXNlZCAtaSAtZSAicyxcKFNTX0RJUj0uKlwpJHtTfS9saWIvc3NcKC4qXCksXDEke2RhdGFkaXJ9L3NzXDIsZyIgJHtEfSR7YmluZGlyfS9ta19jbWRzCit9CisKKyMgTmVlZCB0byBmaW5kIHRoZSByaWdodCBta2UyZnMuY29uZiBmaWxlCitlMmZzcHJvZ3NfY29uZl9maXh1cCAoKSB7CisJZm9yIGkgaW4gbWtlMmZzIG1rZnMuZXh0MiBta2ZzLmV4dDMgbWtmcy5leHQ0OyBkbworCQljcmVhdGVfd3JhcHBlciAke0R9JHtiYXNlX3NiaW5kaXJ9LyRpIE1LRTJGU19DT05GSUc9JHtzeXNjb25mZGlyfS9ta2UyZnMuY29uZgorCWRvbmUKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworCWUyZnNwcm9nc19jb25mX2ZpeHVwCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKKwllMmZzcHJvZ3NfY29uZl9maXh1cAorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisJbXYgJHtEfSR7YmFzZV9zYmluZGlyfS9ta2UyZnMgJHtEfSR7YmFzZV9zYmluZGlyfS9ta2UyZnMuZTJmc3Byb2dzCisJbXYgJHtEfSR7YmFzZV9zYmluZGlyfS9ta2ZzLmV4dDIgJHtEfSR7YmFzZV9zYmluZGlyfS9ta2ZzLmV4dDIuZTJmc3Byb2dzCisJbXYgJHtEfSR7YmFzZV9zYmluZGlyfS90dW5lMmZzICR7RH0ke2Jhc2Vfc2JpbmRpcn0vdHVuZTJmcy5lMmZzcHJvZ3MKK30KKworUkRFUEVORFNfZTJmc3Byb2dzID0gImUyZnNwcm9ncy1iYWRibG9ja3MiCitSUkVDT01NRU5EU19lMmZzcHJvZ3MgPSAiZTJmc3Byb2dzLW1rZTJmcyBlMmZzcHJvZ3MtZTJmc2NrIgorCitQQUNLQUdFUyA9KyAiZTJmc3Byb2dzLWUyZnNjayBlMmZzcHJvZ3MtbWtlMmZzIGUyZnNwcm9ncy10dW5lMmZzIGUyZnNwcm9ncy1iYWRibG9ja3MgZTJmc3Byb2dzLXJlc2l6ZTJmcyIKK1BBQ0tBR0VTID0rICJsaWJjb21lcnIgbGlic3MgbGliZTJwIGxpYmV4dDJmcyIKKworRklMRVNfZTJmc3Byb2dzLXJlc2l6ZTJmcyA9ICIke2Jhc2Vfc2JpbmRpcn0vcmVzaXplMmZzKiIKK0ZJTEVTX2UyZnNwcm9ncy1lMmZzY2sgPSAiJHtiYXNlX3NiaW5kaXJ9L2UyZnNjayAke2Jhc2Vfc2JpbmRpcn0vZnNjay5leHQqIgorRklMRVNfZTJmc3Byb2dzLW1rZTJmcyA9ICIke2Jhc2Vfc2JpbmRpcn0vbWtlMmZzLmUyZnNwcm9ncyAke2Jhc2Vfc2JpbmRpcn0vbWtmcy5leHQqICR7c3lzY29uZmRpcn0vbWtlMmZzLmNvbmYiCitGSUxFU19lMmZzcHJvZ3MtdHVuZTJmcyA9ICIke2Jhc2Vfc2JpbmRpcn0vdHVuZTJmcy5lMmZzcHJvZ3MgJHtiYXNlX3NiaW5kaXJ9L2UybGFiZWwiCitGSUxFU19lMmZzcHJvZ3MtYmFkYmxvY2tzID0gIiR7YmFzZV9zYmluZGlyfS9iYWRibG9ja3MiCitGSUxFU19saWJjb21lcnIgPSAiJHtiYXNlX2xpYmRpcn0vbGliY29tX2Vyci5zby4qIgorRklMRVNfbGlic3MgPSAiJHtiYXNlX2xpYmRpcn0vbGlic3Muc28uKiIKK0ZJTEVTX2xpYmUycCA9ICIke2Jhc2VfbGliZGlyfS9saWJlMnAuc28uKiIKK0ZJTEVTX2xpYmV4dDJmcyA9ICIke2xpYmRpcn0vZTJpbml0cmRfaGVscGVyICR7YmFzZV9saWJkaXJ9L2xpYmV4dDJmcy5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9LyovKi5hd2sgJHtkYXRhZGlyfS8qLyouc2VkICR7YmFzZV9saWJkaXJ9Lyouc28gJHtiaW5kaXJ9L2NvbXBpbGVfZXQgJHtiaW5kaXJ9L21rX2NtZHMiCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gImNoYXR0ciIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtjaGF0dHJdID0gIiR7YmFzZV9iaW5kaXJ9L2NoYXR0ciIKK0FMVEVSTkFUSVZFX1RBUkdFVFtjaGF0dHJdID0gIiR7YmFzZV9iaW5kaXJ9L2NoYXR0ci5lMmZzcHJvZ3MiCisKK0FMVEVSTkFUSVZFXyR7UE59LWRvYyA9ICJmc2NrLjgiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZnNjay44XSA9ICIke21hbmRpcn0vbWFuOC9mc2NrLjgiCisKK0FMVEVSTkFUSVZFXyR7UE59LW1rZTJmcyA9ICJta2UyZnMgbWtmcy5leHQyIgorQUxURVJOQVRJVkVfTElOS19OQU1FW21rZTJmc10gPSAiJHtiYXNlX3NiaW5kaXJ9L21rZTJmcyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtta2ZzLmV4dDJdID0gIiR7YmFzZV9zYmluZGlyfS9ta2ZzLmV4dDIiCisKK0FMVEVSTkFUSVZFXyR7UE59LXR1bmUyZnMgPSAidHVuZTJmcyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0dW5lMmZzXSA9ICIke2Jhc2Vfc2JpbmRpcn0vdHVuZTJmcyIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59ICR7UE59LXR1bmUyZnMgY29yZXV0aWxzIHByb2NwcyBiYXNoIGJ6aXAyIGRpZmZ1dGlscyBwZXJsIgorCitkb19jb21waWxlX3B0ZXN0KCkgeworCW9lX3J1bm1ha2UgLUMgJHtCfS90ZXN0cworfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworCWNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7Qn0vdGVzdHMgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdAorCWNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vdGVzdHMvKiAke0R9JHtQVEVTVF9QQVRIfS90ZXN0CisJc2VkIC1lICdzIS4uL2UyZnNjay9lMmZzY2shZTJmc2NrIWcnIFwKKwkgICAgLWUgJ3MhLi4vbWlzYy90dW5lMmZzIXR1bmUyZnMhZycgLWkgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdC8qL2V4cGVjdCoKKwlzZWQgLWUgJ3MhLi4vZTJmc2NrL2UyZnNjayEke2Jhc2Vfc2JpbmRpcn0vZTJmc2NrIWcnIC1pICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QvKi9zY3JpcHQKKworCSMgUmVtb3ZlIHZhcmlvdXMgZmlsZXMKKwlmaW5kICIke0R9JHtQVEVTVF9QQVRIfSIgLXR5cGUgZiBcCisJICAgIFwoIC1uYW1lICdNYWtlZmlsZScgLW8gLW5hbWUgJ01ha2VmaWxlLmluJyAtbyAtbmFtZSAnKi5vJyAtbyAtbmFtZSAnKi5jJyAtbyAtbmFtZSAnKi5oJyBcKVwKKwkgICAgLWV4ZWMgIHJtIC1mIHt9ICsKKworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L2xpYgorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtCfS9saWIvY29uZmlnLmggICR7RH0ke1BURVNUX1BBVEh9L2xpYi8KK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2VsZnV0aWxzXzAuMTc1LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZWxmdXRpbHNfMC4xNzUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwYjlkZGMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZWxmdXRpbHNfMC4xNzUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi1TVU1NQVJZID0gIlV0aWxpdGllcyBhbmQgbGlicmFyaWVzIGZvciBoYW5kbGluZyBjb21waWxlZCBvYmplY3QgZmlsZXMiCi1IT01FUEFHRSA9ICJodHRwczovL3NvdXJjZXdhcmUub3JnL2VsZnV0aWxzIgotU0VDVElPTiA9ICJiYXNlIgotTElDRU5TRSA9ICIoR1BMdjMgJiBFbGZ1dGlscy1FeGNlcHRpb24pIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi1ERVBFTkRTID0gImxpYnRvb2wgYnppcDIgemxpYiB2aXJ0dWFsL2xpYmludGwiCi1ERVBFTkRTX2FwcGVuZF9saWJjLW11c2wgPSAiIGFyZ3Atc3RhbmRhbG9uZSBmdHMgIgotIyBUaGUgRGViaWFuIHBhdGNoZXMgYmVsb3cgYXJlIGZyb206Ci0jIGh0dHA6Ly9mdHAuZGUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbC9tYWluL2UvZWxmdXRpbHMvZWxmdXRpbHNfMC4xNzUtMS5kZWJpYW4udGFyLnh6Ci1TUkNfVVJJID0gImh0dHBzOi8vc291cmNld2FyZS5vcmcvZWxmdXRpbHMvZnRwLyR7UFZ9LyR7QlB9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1kc28tbGluay1jaGFuZ2UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1GaXgtZWxmX2N2dF9ndW5oYXNoLWlmLWRlc3QtYW5kLXNyYy1hcmUtc2FtZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLWZpeGhlYWRlcmNoZWNrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtRGlzYWJsZS10aGUtdGVzdC10by1jb252ZXJ0LWV1Yy1qcC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LUZpeC1idWlsZC1vbi1hYXJjaDY0LW11c2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1GaXgtY29udHJvbC1wYXRoLXdoZXJlLXdlLWhhdmUtc3RyLWFzLXVuaW5pdGlhbGl6ZWQtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbGliYXNtLW1heS1saW5rLXdpdGgtbGliYnoyLWlmLWZvdW5kLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbGliZWxmLWVsZl9lbmQuYy1jaGVjay1kYXRhX2xpc3QuZGF0YS5kLmRfYnVmLWJlZm9yZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vaHBwYV9iYWNrZW5kLmRpZmYgXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL2FybV9iYWNrZW5kLmRpZmYgXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL21pcHNfYmFja2VuZC5kaWZmIFwKLSAgICAgICAgICAgZmlsZTovL2RlYmlhbi9taXBzX3JlYWRlbGZfdy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4va2ZyZWVic2RfcGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vMDAwMS1JZ25vcmUtZGlmZmVyZW5jZXMtYmV0d2Vlbi1taXBzLW1hY2hpbmUtaWRlbnRpZmllcnMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuLzAwMDItQWRkLXN1cHBvcnQtZm9yLW1pcHM2NC1hYmlzLWluLW1pcHNfcmV0dmFsLmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuLzAwMDMtQWRkLW1pcHMtbjY0LXJlbG9jYXRpb24tZm9ybWF0LWhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL2h1cmRfcGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vaWdub3JlX3N0cm1lcmdlLmRpZmYgXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL2Rpc2FibGVfd2Vycm9yLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vMDAwOC1idWlsZC1Qcm92aWRlLWFsdGVybmF0aXZlcy1mb3ItZ2xpYmMtYXNzdW1wdGlvbnMtaGVsLnBhdGNoIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOWEwMmIwMzgyYjc4Y2MyZDUxNWZiOTUwMjc1ZDRjMDIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjdlZjkyNTU0MWVlMzJjNmQxNWFlNWNiMjdkYTVmMTE5ZTAxYTVjY2RiZTlmZTU3YmY4MzY3MzBkN2I3YTY1YiIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dAotCi1FWFRSQV9PRUNPTkYgPSAiLS1wcm9ncmFtLXByZWZpeD1ldS0gLS13aXRob3V0LWx6bWEiCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLS13aXRob3V0LWJ6bGliIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQlpZiBbICIke1RBUkdFVF9BUkNIfSIgIT0gIng4Nl82NCIgXSAmJiBbIC16IGBlY2hvICIke1RBUkdFVF9BUkNIfSJ8Z3JlcCAnaS44NidgIF07dGhlbgotCQlybSAtZiAke0R9JHtiaW5kaXJ9L2V1LW9iamR1bXAKLQlmaQotfQotCi1FWFRSQV9PRU1BS0VfY2xhc3MtbmF0aXZlID0gIiIKLUVYVFJBX09FTUFLRV9jbGFzcy1uYXRpdmVzZGsgPSAiIgotCi1BTExPV19FTVBUWV8ke1BOfV9saWJjLW11c2wgPSAiMSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi0jIFBhY2thZ2UgdXRpbGl0aWVzIHNlcGFyYXRlbHkKLVBBQ0tBR0VTID0rICIke1BOfS1iaW51dGlscyBsaWJlbGYgbGliYXNtIGxpYmR3IgotRklMRVNfJHtQTn0tYmludXRpbHMgPSAiXAotICAgICR7YmluZGlyfS9ldS1hZGRyMmxpbmUgXAotICAgICR7YmluZGlyfS9ldS1sZCBcCi0gICAgJHtiaW5kaXJ9L2V1LW5tIFwKLSAgICAke2JpbmRpcn0vZXUtcmVhZGVsZiBcCi0gICAgJHtiaW5kaXJ9L2V1LXNpemUgXAotICAgICR7YmluZGlyfS9ldS1zdHJpcCIKLQotRklMRVNfbGliZWxmID0gIiR7bGliZGlyfS9saWJlbGYtJHtQVn0uc28gJHtsaWJkaXJ9L2xpYmVsZi5zby4qIgotRklMRVNfbGliYXNtID0gIiR7bGliZGlyfS9saWJhc20tJHtQVn0uc28gJHtsaWJkaXJ9L2xpYmFzbS5zby4qIgotRklMRVNfbGliZHcgID0gIiR7bGliZGlyfS9saWJkdy0ke1BWfS5zbyAke2xpYmRpcn0vbGliZHcuc28uKiAke2xpYmRpcn0vZWxmdXRpbHMvbGliKiIKLSMgU29tZSBwYWNrYWdlcyBoYXZlIHRoZSB2ZXJzaW9uIHByZWNlZWRpbmcgdGhlIC5zbyBpbnN0ZWFkIHByb3Blcmx5Ci0jIHZlcnNpb25lZCAuc28uPHZlcnNpb24+LCBzbyB3ZSBuZWVkIHRvIHJlb3JkZXIgYW5kIHJlcGFja2FnZS4KLSNGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9LyotJHtQVn0uc28gJHtiYXNlX2xpYmRpcn0vKi0ke1BWfS5zbyIKLSNGSUxFU19TT0xJQlNERVYgPSAiJHtsaWJkaXJ9L2xpYmFzbS5zbyAke2xpYmRpcn0vbGliZHcuc28gJHtsaWJkaXJ9L2xpYmVsZi5zbyIKLQotIyBUaGUgcGFja2FnZSBjb250YWlucyBzeW1saW5rcyB0aGF0IHRyaXAgdXAgaW5zYW5lCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmR3ID0gImRldi1zbyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2VsZnV0aWxzXzAuMTc2LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZWxmdXRpbHNfMC4xNzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ5MDFjOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2VsZnV0aWxzXzAuMTc2LmJiCkBAIC0wLDAgKzEsNzMgQEAKK1NVTU1BUlkgPSAiVXRpbGl0aWVzIGFuZCBsaWJyYXJpZXMgZm9yIGhhbmRsaW5nIGNvbXBpbGVkIG9iamVjdCBmaWxlcyIKK0hPTUVQQUdFID0gImh0dHBzOi8vc291cmNld2FyZS5vcmcvZWxmdXRpbHMiCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIihHUEx2MyAmIEVsZnV0aWxzLUV4Y2VwdGlvbikiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKK0RFUEVORFMgPSAibGlidG9vbCBiemlwMiB6bGliIHZpcnR1YWwvbGliaW50bCIKK0RFUEVORFNfYXBwZW5kX2xpYmMtbXVzbCA9ICIgYXJncC1zdGFuZGFsb25lIGZ0cyAiCisjIFRoZSBEZWJpYW4gcGF0Y2hlcyBiZWxvdyBhcmUgZnJvbToKKyMgaHR0cDovL2Z0cC5kZS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sL21haW4vZS9lbGZ1dGlscy9lbGZ1dGlsc18wLjE3NS0xLmRlYmlhbi50YXIueHoKK1NSQ19VUkkgPSAiaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9lbGZ1dGlscy9mdHAvJHtQVn0vJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRzby1saW5rLWNoYW5nZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUZpeC1lbGZfY3Z0X2d1bmhhc2gtaWYtZGVzdC1hbmQtc3JjLWFyZS1zYW1lLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtZml4aGVhZGVyY2hlY2sucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1EaXNhYmxlLXRoZS10ZXN0LXRvLWNvbnZlcnQtZXVjLWpwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtRml4LWJ1aWxkLW9uLWFhcmNoNjQtbXVzbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA3LUZpeC1jb250cm9sLXBhdGgtd2hlcmUtd2UtaGF2ZS1zdHItYXMtdW5pbml0aWFsaXplZC0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJhc20tbWF5LWxpbmstd2l0aC1saWJiejItaWYtZm91bmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJlbGYtZWxmX2VuZC5jLWNoZWNrLWRhdGFfbGlzdC5kYXRhLmQuZF9idWYtYmVmb3JlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi9ocHBhX2JhY2tlbmQuZGlmZiBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vYXJtX2JhY2tlbmQuZGlmZiBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vbWlwc19iYWNrZW5kLmRpZmYgXAorICAgICAgICAgICBmaWxlOi8vZGViaWFuL21pcHNfcmVhZGVsZl93LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi9rZnJlZWJzZF9wYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi8wMDAxLUlnbm9yZS1kaWZmZXJlbmNlcy1iZXR3ZWVuLW1pcHMtbWFjaGluZS1pZGVudGlmaWVycy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vMDAwMi1BZGQtc3VwcG9ydC1mb3ItbWlwczY0LWFiaXMtaW4tbWlwc19yZXR2YWwuYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vMDAwMy1BZGQtbWlwcy1uNjQtcmVsb2NhdGlvbi1mb3JtYXQtaGFjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vaHVyZF9wYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi9pZ25vcmVfc3RybWVyZ2UuZGlmZiBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vZGlzYWJsZV93ZXJyb3IucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIGZpbGU6Ly8wMDA4LWJ1aWxkLVByb3ZpZGUtYWx0ZXJuYXRpdmVzLWZvci1nbGliYy1hc3N1bXB0aW9ucy1oZWwucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNzdlNGY0OTMyMGNhZDgyYmYxN2E5OTcwNjhiMWRiOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlYjU3NDdjMzcxYjBhZjBmNzFlODYyMTVhNWViYjg4NzI4NTMzYzNhMTA0YTQzZDQyMzE5NjNmMzA4Y2QxMDIzIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0CisKK0VYVFJBX09FQ09ORiA9ICItLXByb2dyYW0tcHJlZml4PWV1LSAtLXdpdGhvdXQtbHptYSIKK0VYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtLXdpdGhvdXQtYnpsaWIiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCWlmIFsgIiR7VEFSR0VUX0FSQ0h9IiAhPSAieDg2XzY0IiBdICYmIFsgLXogYGVjaG8gIiR7VEFSR0VUX0FSQ0h9InxncmVwICdpLjg2J2AgXTt0aGVuCisJCXJtIC1mICR7RH0ke2JpbmRpcn0vZXUtb2JqZHVtcAorCWZpCit9CisKK0VYVFJBX09FTUFLRV9jbGFzcy1uYXRpdmUgPSAiIgorRVhUUkFfT0VNQUtFX2NsYXNzLW5hdGl2ZXNkayA9ICIiCisKK0FMTE9XX0VNUFRZXyR7UE59X2xpYmMtbXVzbCA9ICIxIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKKyMgUGFja2FnZSB1dGlsaXRpZXMgc2VwYXJhdGVseQorUEFDS0FHRVMgPSsgIiR7UE59LWJpbnV0aWxzIGxpYmVsZiBsaWJhc20gbGliZHciCitGSUxFU18ke1BOfS1iaW51dGlscyA9ICJcCisgICAgJHtiaW5kaXJ9L2V1LWFkZHIybGluZSBcCisgICAgJHtiaW5kaXJ9L2V1LWxkIFwKKyAgICAke2JpbmRpcn0vZXUtbm0gXAorICAgICR7YmluZGlyfS9ldS1yZWFkZWxmIFwKKyAgICAke2JpbmRpcn0vZXUtc2l6ZSBcCisgICAgJHtiaW5kaXJ9L2V1LXN0cmlwIgorCitGSUxFU19saWJlbGYgPSAiJHtsaWJkaXJ9L2xpYmVsZi0ke1BWfS5zbyAke2xpYmRpcn0vbGliZWxmLnNvLioiCitGSUxFU19saWJhc20gPSAiJHtsaWJkaXJ9L2xpYmFzbS0ke1BWfS5zbyAke2xpYmRpcn0vbGliYXNtLnNvLioiCitGSUxFU19saWJkdyAgPSAiJHtsaWJkaXJ9L2xpYmR3LSR7UFZ9LnNvICR7bGliZGlyfS9saWJkdy5zby4qICR7bGliZGlyfS9lbGZ1dGlscy9saWIqIgorIyBTb21lIHBhY2thZ2VzIGhhdmUgdGhlIHZlcnNpb24gcHJlY2VlZGluZyB0aGUgLnNvIGluc3RlYWQgcHJvcGVybHkKKyMgdmVyc2lvbmVkIC5zby48dmVyc2lvbj4sIHNvIHdlIG5lZWQgdG8gcmVvcmRlciBhbmQgcmVwYWNrYWdlLgorI0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vKi0ke1BWfS5zbyAke2Jhc2VfbGliZGlyfS8qLSR7UFZ9LnNvIgorI0ZJTEVTX1NPTElCU0RFViA9ICIke2xpYmRpcn0vbGliYXNtLnNvICR7bGliZGlyfS9saWJkdy5zbyAke2xpYmRpcn0vbGliZWxmLnNvIgorCisjIFRoZSBwYWNrYWdlIGNvbnRhaW5zIHN5bWxpbmtzIHRoYXQgdHJpcCB1cCBpbnNhbmUKK0lOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGliZHcgPSAiZGV2LXNvIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwMS1kc28tbGluay1jaGFuZ2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAxLWRzby1saW5rLWNoYW5nZS5wYXRjaAppbmRleCA0YzYyZGM1Li5hZjc5ZWY0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAxLWRzby1saW5rLWNoYW5nZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAxLWRzby1saW5rLWNoYW5nZS5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gYzljNmQyNDE0NjUxZGJmMTYzZGM0OTYzYzNjM2Q2ZjVjYWNlZjg5OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYjk5YWExMmNmODc5Y2UyMDBlMDNkNzVlNTQzYzdhYjJkZmE1NTAzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIERhdGU6IFR1ZSwgMTUgQXVnIDIwMTcgMTc6MTA6NTcgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzddIGRzbyBsaW5rIGNoYW5nZQorU3ViamVjdDogW1BBVENIXSBkc28gbGluayBjaGFuZ2UKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiAKQEAgLTE2LDYgKzE2LDcgQEAKIFJlYmFzZSB0byAwLjE3MAogCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKIC0tLQogIHNyYy9NYWtlZmlsZS5hbSAgIHwgMiArLQogIHRlc3RzL01ha2VmaWxlLmFtIHwgMiArLQpAQCAtMzUsMTAgKzM2LDEwIEBACiAgZW5kaWYKICBsaWJlYmwgPSAuLi9saWJlYmwvbGliZWJsLmEKIGRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5hbSBiL3Rlc3RzL01ha2VmaWxlLmFtCi1pbmRleCBiNDVlY2RjLi5kZDI1NmZiIDEwMDY0NAoraW5kZXggMWIwYzdkMy4uYmNlZDE5YiAxMDA2NDQKIC0tLSBhL3Rlc3RzL01ha2VmaWxlLmFtCiArKysgYi90ZXN0cy9NYWtlZmlsZS5hbQotQEAgLTQzNiw3ICs0MzYsNyBAQCBsaWJkdyA9IC4uL2xpYmR3L2xpYmR3LmEgLWx6ICQoemlwX0xJQlMpICQobGliZWxmKSAkKGxpYmVibCkgLWxkbAorQEAgLTQ3Niw3ICs0NzYsNyBAQCBsaWJkdyA9IC4uL2xpYmR3L2xpYmR3LmEgLWx6ICQoemlwX0xJQlMpICQobGliZWxmKSAkKGxpYmVibCkgLWxkbAogIGxpYmVsZiA9IC4uL2xpYmVsZi9saWJlbGYuYSAtbHoKICBsaWJhc20gPSAuLi9saWJhc20vbGliYXNtLmEKICBlbHNlCkBAIC00Nyw2ICs0OCwzIEBACiAgbGliZWxmID0gLi4vbGliZWxmL2xpYmVsZi5zbwogIGxpYmFzbSA9IC4uL2xpYmFzbS9saWJhc20uc28KICBlbmRpZgotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAxLWxpYmFzbS1tYXktbGluay13aXRoLWxpYmJ6Mi1pZi1mb3VuZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDEtbGliYXNtLW1heS1saW5rLXdpdGgtbGliYnoyLWlmLWZvdW5kLnBhdGNoCmluZGV4IGMzNDIwNTMuLjBkNTMzYzggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDEtbGliYXNtLW1heS1saW5rLXdpdGgtbGliYnoyLWlmLWZvdW5kLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDEtbGliYXNtLW1heS1saW5rLXdpdGgtbGliYnoyLWlmLWZvdW5kLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA3NDYyOTAxNmU3NjM0M2E0YmYzOTkxNWM5MTkyYjZiZjI2YTU3YzJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBkN2JlNjg3YzM1ZmE0Mjk1NDg3NDAzNGM4MmNhOTA1OWQyODE5NmZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgNCBPY3QgMjAxNyAyMjozMDo0NiAtMDcwMAogU3ViamVjdDogW1BBVENIXSBsaWJhc20gbWF5IGxpbmsgd2l0aCBsaWJiejIgaWYgZm91bmQKQEAgLTExLDYgKzExLDcgQEAKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCiAtLS0KICBzcmMvTWFrZWZpbGUuYW0gfCA0ICsrLS0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQpAQCAtMzMsNiArMzQsMyBAQAogIGxpYmR3ID0gLi4vbGliZHcvbGliZHcuc28gJCh6aXBfTElCUykgJChsaWJlbGYpICQobGliZWJsKSAtbGRsCiAgbGliZWxmID0gLi4vbGliZWxmL2xpYmVsZi5zbwogIGVuZGlmCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDEtbGliZWxmLWVsZl9lbmQuYy1jaGVjay1kYXRhX2xpc3QuZGF0YS5kLmRfYnVmLWJlZm9yZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDEtbGliZWxmLWVsZl9lbmQuYy1jaGVjay1kYXRhX2xpc3QuZGF0YS5kLmRfYnVmLWJlZm9yZS5wYXRjaAppbmRleCAxYmRiNTExLi5iMjZlZDk5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAxLWxpYmVsZi1lbGZfZW5kLmMtY2hlY2stZGF0YV9saXN0LmRhdGEuZC5kX2J1Zi1iZWZvcmUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwMS1saWJlbGYtZWxmX2VuZC5jLWNoZWNrLWRhdGFfbGlzdC5kYXRhLmQuZF9idWYtYmVmb3JlLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAzMzkzYTJlNTQ0ODE4ZjBiZDE4ODdjMTNmMjhhNzZhZDYwYzJkZjk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBlNTcxY2JkMGMyMDA4NWVjNzE5Njk5NzFmMTkyODBiNWRlOTVjZmI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUaHUsIDE2IEF1ZyAyMDE4IDA5OjU4OjI2ICswODAwCiBTdWJqZWN0OiBbUEFUQ0hdIGxpYmVsZi9lbGZfZW5kLmM6IGNoZWNrIGRhdGFfbGlzdC5kYXRhLmQuZF9idWYgYmVmb3JlIGZyZWUgaXQKQEAgLTE0LDYgKzE0LDcgQEAKIFVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL3NvdXJjZXdhcmUub3JnL21sL2VsZnV0aWxzLWRldmVsLzIwMTgtcTMvbXNnMDAwODUuaHRtbF0KIAogU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CisKIC0tLQogIGxpYmVsZi9lbGZfZW5kLmMgfCA2ICsrKystLQogIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCkBAIC00MSw2ICs0MiwzIEBACiAgCQkgIGZyZWUgKHNjbi0+cmF3ZGF0YV9iYXNlKTsKICAKICAJCS8qIEZyZWUgdGhlIGxpc3Qgb2YgZGF0YSBidWZmZXJzIGZvciB0aGUgc2VjdGlvbi4KLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwMi1GaXgtZWxmX2N2dF9ndW5oYXNoLWlmLWRlc3QtYW5kLXNyYy1hcmUtc2FtZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDItRml4LWVsZl9jdnRfZ3VuaGFzaC1pZi1kZXN0LWFuZC1zcmMtYXJlLXNhbWUucGF0Y2gKaW5kZXggODZkMjZiZC4uOTZjMjU2NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwMi1GaXgtZWxmX2N2dF9ndW5oYXNoLWlmLWRlc3QtYW5kLXNyYy1hcmUtc2FtZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAyLUZpeC1lbGZfY3Z0X2d1bmhhc2gtaWYtZGVzdC1hbmQtc3JjLWFyZS1zYW1lLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA5ZmQ0YmIwNWQzZjJiN2VhZjlmZTQ0MWJlZTI2ZDNiMTg3OGQ3Y2M3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBmOGU0MTE4YjYwYTliNTQ5NTA0MzcwMDZhODJiNDA0N2YzOGY1MzQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVHVlLCAxNSBBdWcgMjAxNyAxNzoxMzo1OSArMDgwMAotU3ViamVjdDogW1BBVENIIDIvN10gRml4IGVsZl9jdnRfZ3VuaGFzaCBpZiBkZXN0IGFuZCBzcmMgYXJlIHNhbWUuCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBlbGZfY3Z0X2d1bmhhc2ggaWYgZGVzdCBhbmQgc3JjIGFyZSBzYW1lLgogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIApAQCAtMTIsNiArMTIsNyBAQAogCiBSZWJhc2UgdG8gMC4xNzAKIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgbGliZWxmL2dudWhhc2hfeGxhdGUuaCB8IDMgKystCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQpAQCAtMzcsNiArMzgsMyBAQAogIAogICAgLyogTm93IHRoZSA2NCBiaXQgd29yZHMuICAqLwogICAgRWxmNjRfWHdvcmQgKmRlc3Q2NCA9IChFbGY2NF9Yd29yZCAqKSAmZGVzdDMyWzRdOwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAzLWZpeGhlYWRlcmNoZWNrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwMy1maXhoZWFkZXJjaGVjay5wYXRjaAppbmRleCBkMWM4ZTQxLi5lMzZkM2Y0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAzLWZpeGhlYWRlcmNoZWNrLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDMtZml4aGVhZGVyY2hlY2sucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDA0ZmIzZjY1ZWMxODZkZjUyMzFkZDBjMjE3ODBhNTVkY2MwM2M4NjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGRkN2M4YzczMDQ1N2RlZjVmNjJlYmQ0MzAyMmIyZjA2ZGY4YzZlZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUdWUsIDE1IEF1ZyAyMDE3IDE3OjE3OjIwICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMy83XSBmaXhoZWFkZXJjaGVjaworU3ViamVjdDogW1BBVENIXSBmaXhoZWFkZXJjaGVjawogCiBGb3Igc29tZSBiaW5hcmllcyB3ZSBjYW4gZ2V0IGEgaW52YWxpZCBzZWN0aW9uIGFsaWdubWVudCwgZm9yIGV4YW1wbGUgaWYKIHNoX2FsaWduID0gMSBhbmQgc2hfYWRkcmFsaWduIGlzIDAuIEluIHRoZSBjYXNlIG9mIGEgemVybyBzaXplIHNlY3Rpb24KQEAgLTE2LDYgKzE2LDcgQEAKIAogUmViYXNlIHRvIDAuMTcwCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKIC0tLQogIGxpYmVsZi9lbGYzMl91cGRhdGVudWxsLmMgfCA0ICsrLS0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQpAQCAtMzUsNiArMzYsMyBAQAogIAkJICAgIHsKICAJCSAgICAgIF9fbGliZWxmX3NldGVycm5vIChFTEZfRV9JTlZBTElEX0FMSUdOKTsKICAJCSAgICAgIHJldHVybiAtMTsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwNC1EaXNhYmxlLXRoZS10ZXN0LXRvLWNvbnZlcnQtZXVjLWpwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwNC1EaXNhYmxlLXRoZS10ZXN0LXRvLWNvbnZlcnQtZXVjLWpwLnBhdGNoCmluZGV4IGJmM2E2NDUuLjVkZWU2MTIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDQtRGlzYWJsZS10aGUtdGVzdC10by1jb252ZXJ0LWV1Yy1qcC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDA0LURpc2FibGUtdGhlLXRlc3QtdG8tY29udmVydC1ldWMtanAucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGRiYzg4MzQ5YjllZWQ0MjY4ZGI5NTFkZjJjM2E4Mzg3Zjc1YTMyZTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGU0ZWRlMjJlMjhlYWEzOGQ4MTY2N2RkY2IxOTU0MWVjZTFhODNjZjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUdWUsIDE1IEF1ZyAyMDE3IDE3OjI0OjA2ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggNC83XSBEaXNhYmxlIHRoZSB0ZXN0IHRvIGNvbnZlcnQgZXVjLWpwCitTdWJqZWN0OiBbUEFUQ0hdIERpc2FibGUgdGhlIHRlc3QgdG8gY29udmVydCBldWMtanAKIAogUmVtb3ZlIHRoZSB0ZXN0ICJUZXN0IGFnYWluc3QgSFAtVVggMTEuMTEgYnVnOgogTm8gY29udmVydGVyIGZyb20gRVVDLUpQIHRvIFVURi04IGlzIHByb3ZpZGVkIgpAQCAtMTUsNiArMTUsNyBAQAogCiBSZWJhc2UgdG8gMC4xNzAKIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgbTQvaWNvbnYubTQgfCAyICsrCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQpAQCAtMzksNiArNDAsMyBAQAogICAgcmV0dXJuIHJlc3VsdDsKICB9XV0pXSwKICAgICAgICAgIFthbV9jdl9mdW5jX2ljb252X3dvcmtzPXllc10sCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDYtRml4LWJ1aWxkLW9uLWFhcmNoNjQtbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDYtRml4LWJ1aWxkLW9uLWFhcmNoNjQtbXVzbC5wYXRjaAppbmRleCA0MGI4NTQ0Li42Zjc5NTZjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDA2LUZpeC1idWlsZC1vbi1hYXJjaDY0LW11c2wucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwNi1GaXgtYnVpbGQtb24tYWFyY2g2NC1tdXNsLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBiNGVjMDU5NTNmNzhhZjI2YmNkN2RlNDVhNWJiYzVmMTM4ZDAyM2RhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA1NzhmMzcwYzdlN2E5ZjA1NmFlZmEwNjJiMzQ1OTBiMGFhMTNiY2U1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVHVlLCAxNSBBdWcgMjAxNyAxNzoyNzozMCArMDgwMAotU3ViamVjdDogW1BBVENIIDYvN10gRml4IGJ1aWxkIG9uIGFhcmNoNjQvbXVzbAorU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGQgb24gYWFyY2g2NC9tdXNsCiAKIEVycm9ycwogCkBAIC0xNiw2ICsxNiw3IEBACiAKIFJlYmFzZSB0byAwLjE3MAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCiAtLS0KICBiYWNrZW5kcy9hYXJjaDY0X2luaXRyZWcuYyB8IDQgKystLQogIGJhY2tlbmRzL2FybV9pbml0cmVnLmMgICAgIHwgMiArLQpAQCAtNTYsNiArNTcsMyBAQAogICMgaW5jbHVkZSA8c3lzL3VzZXIuaD4KICAjIGluY2x1ZGUgPHN5cy9wdHJhY2UuaD4KICAvKiBEZWFsIHdpdGggb2xkIGdsaWJjIGRlZmluaW5nIHVzZXJfcHRfcmVncyBpbnN0ZWFkIG9mIHVzZXJfcmVnc19zdHJ1Y3QuICAqLwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDA3LUZpeC1jb250cm9sLXBhdGgtd2hlcmUtd2UtaGF2ZS1zdHItYXMtdW5pbml0aWFsaXplZC0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDA3LUZpeC1jb250cm9sLXBhdGgtd2hlcmUtd2UtaGF2ZS1zdHItYXMtdW5pbml0aWFsaXplZC0ucGF0Y2gKaW5kZXggYmJhNDIwZS4uNjExYTI0YyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwNy1GaXgtY29udHJvbC1wYXRoLXdoZXJlLXdlLWhhdmUtc3RyLWFzLXVuaW5pdGlhbGl6ZWQtLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDctRml4LWNvbnRyb2wtcGF0aC13aGVyZS13ZS1oYXZlLXN0ci1hcy11bmluaXRpYWxpemVkLS5wYXRjaApAQCAtMSw4ICsxLDcgQEAKLUZyb20gOGViMTAwYjJlNTFiZTVkNDczYjA3NDhhMjIzZTJlN2Y2MWVjNjA2YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTEyZDE2NDViYWI3OTIyYzc3OTZmZTMyZGRlYThmYTZlMWJiZGVkMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIERhdGU6IEZyaSwgMjkgSnVuIDIwMTggMTU6MTQ6MjggKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCA3LzddIEZpeCBjb250cm9sIHBhdGggd2hlcmUgd2UgaGF2ZSBzdHIgYXMgdW5pbml0aWFsaXplZAotIHN0cmluZworU3ViamVjdDogW1BBVENIXSBGaXggY29udHJvbCBwYXRoIHdoZXJlIHdlIGhhdmUgc3RyIGFzIHVuaW5pdGlhbGl6ZWQgc3RyaW5nCiAKIHwKIC9ob21lL3VidW50dS93b3JrL29lL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1tdXNsL3dvcmsvaTU4Ni1vZS1saW51eC1tdXNsL2VsZnV0aWxzLzAuMTY0LXIwL2VsZnV0aWxzLTAuMTY0L2xpYmNwdS9pMzg2X2Rpc2FzbS5jOgpAQCAtMjQsNiArMjMsNyBAQAogUmViYXNlIHRvIDAuMTcyCiAKIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgbGliY3B1L2kzODZfZGlzYXNtLmMgfCAxICsKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKQEAgLTQwLDYgKzQwLDMgQEAKICAJCQkgIGFzc2VydCAoISAiSU5WQUxJRCBub3QgaGFuZGxlZCIpOwogIAkJCX0KICAJCSAgICB9Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDgtYnVpbGQtUHJvdmlkZS1hbHRlcm5hdGl2ZXMtZm9yLWdsaWJjLWFzc3VtcHRpb25zLWhlbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDgtYnVpbGQtUHJvdmlkZS1hbHRlcm5hdGl2ZXMtZm9yLWdsaWJjLWFzc3VtcHRpb25zLWhlbC5wYXRjaAppbmRleCA0MTk4MWY0Li5hNGYzMDFkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDA4LWJ1aWxkLVByb3ZpZGUtYWx0ZXJuYXRpdmVzLWZvci1nbGliYy1hc3N1bXB0aW9ucy1oZWwucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwOC1idWlsZC1Qcm92aWRlLWFsdGVybmF0aXZlcy1mb3ItZ2xpYmMtYXNzdW1wdGlvbnMtaGVsLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAyMDdiZTA1YzQ0ZGE1YzRjMzExNzlhMzQ2NjBlMTc2MTQ1ZmY4ZDRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5OTBkMzc3YTkyZjRiYWIwNGJmNjgyMGZjODFiM2RjYjZjZjVlMzFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IE1vbiwgMiBKdWwgMjAxOCAwOTo1MjoyMyArMDgwMAogU3ViamVjdDogW1BBVENIXSBidWlsZDogUHJvdmlkZSBhbHRlcm5hdGl2ZXMgZm9yIGdsaWJjIGFzc3VtcHRpb25zIGhlbHBzCkBAIC0xMCw2ICsxMCw3IEBACiBSZWJhc2UgdG8gMC4xNzUKIAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCiAtLS0KICBNYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiAgbGliL2ZpeGVkc2l6ZWhhc2guaCAgICAgICAgICAgICAgfCAgMSAtCkBAIC0yMjEsNiArMjIyLDMgQEAKICAKICAjaW5jbHVkZSA8ZXJybm8uaD4KICAjaW5jbHVkZSA8c3RkYm9vbC5oPgotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vMDAwMS1JZ25vcmUtZGlmZmVyZW5jZXMtYmV0d2Vlbi1taXBzLW1hY2hpbmUtaWRlbnRpZmllcnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vMDAwMS1JZ25vcmUtZGlmZmVyZW5jZXMtYmV0d2Vlbi1taXBzLW1hY2hpbmUtaWRlbnRpZmllcnMucGF0Y2gKaW5kZXggZmEzYTNjNi4uODkyYjhlOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuLzAwMDEtSWdub3JlLWRpZmZlcmVuY2VzLWJldHdlZW4tbWlwcy1tYWNoaW5lLWlkZW50aWZpZXJzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAxLUlnbm9yZS1kaWZmZXJlbmNlcy1iZXR3ZWVuLW1pcHMtbWFjaGluZS1pZGVudGlmaWVycy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNzdjYjRhNTNjMjcwZDU4NTRkM2FmMjRmMTk1NDdiYzNkZTgyNTIzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNDZkMmMyZjhmZWNhZDg1YmFlZWQ5ZmUyMTFmNTI4NTgyMDIyMDQ0MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEphbWVzIENvd2dpbGwgPGphbWVzNDEwQGNvd2dpbGwub3JnLnVrPgogRGF0ZTogTW9uLCA1IEphbiAyMDE1IDE1OjE2OjU4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8zXSBJZ25vcmUgZGlmZmVyZW5jZXMgYmV0d2VlbiBtaXBzIG1hY2hpbmUgaWRlbnRpZmllcnMKK1N1YmplY3Q6IFtQQVRDSF0gSWdub3JlIGRpZmZlcmVuY2VzIGJldHdlZW4gbWlwcyBtYWNoaW5lIGlkZW50aWZpZXJzCiAKIExpdHRsZSBlbmRpYW4gYmluYXJpZXMgYWN0dWFsbHkgdXNlIEVNX01JUFMgc28geW91IGNhbid0IHRlbGwgdGhlIGVuZGlhbm5lc3MKIGZyb20gdGhlIGVsZiBtYWNoaW5lIGlkLiBBbHNvLCB0aGUgRU1fTUlQU19SUzNfTEUgbWFjaGluZSBpcyBkZWFkIGFueXdheSAodGhlCkBAIC0xMCwxNSArMTAsMTYgQEAKIFNpZ25lZC1vZmYtYnk6IEphbWVzIENvd2dpbGwgPGphbWVzNDEwQGNvd2dpbGwub3JnLnVrPgogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtmcm9tIGRlYmlhbl0KIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgYmFja2VuZHMvbWlwc19pbml0LmMgfCA2ICstLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNSBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGIvYmFja2VuZHMvbWlwc19pbml0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2RpZmYgLS1naXQgYS9iYWNrZW5kcy9taXBzX2luaXQuYyBiL2JhY2tlbmRzL21pcHNfaW5pdC5jCitpbmRleCA5NzVjMDRlLi44NDgyZTdmIDEwMDY0NAogLS0tIGEvYmFja2VuZHMvbWlwc19pbml0LmMKICsrKyBiL2JhY2tlbmRzL21pcHNfaW5pdC5jCi1AQCAtNDUsMTEgKzQ1LDcgQEAgbWlwc19pbml0IChFbGYgKmVsZiBfX2F0dHJpYnV0ZV9fICgodW51cworQEAgLTQ1LDExICs0NSw3IEBAIG1pcHNfaW5pdCAoRWxmICplbGYgX19hdHRyaWJ1dGVfXyAoKHVudXNlZCkpLAogICAgICByZXR1cm4gTlVMTDsKICAKICAgIC8qIFdlIGhhbmRsZSBpdC4gICovCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vMDAwMi1BZGQtc3VwcG9ydC1mb3ItbWlwczY0LWFiaXMtaW4tbWlwc19yZXR2YWwuYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAyLUFkZC1zdXBwb3J0LWZvci1taXBzNjQtYWJpcy1pbi1taXBzX3JldHZhbC5jLnBhdGNoCmluZGV4IDFhYjcwNGUuLjdjMGI5YzYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAyLUFkZC1zdXBwb3J0LWZvci1taXBzNjQtYWJpcy1pbi1taXBzX3JldHZhbC5jLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAyLUFkZC1zdXBwb3J0LWZvci1taXBzNjQtYWJpcy1pbi1taXBzX3JldHZhbC5jLnBhdGNoCkBAIC0xLDE3ICsxLDE4IEBACi1Gcm9tIGZkYWFiMThhNjVlZDI1Mjk2NTZiYWE2NGNiNjE2OWYzNGQ3ZTUwN2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDkzYWU5YmI3ZDI1YTFhZGJjYmFiMjNhOWI4NDkzZjM3MGE5M2YwYTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKYW1lcyBDb3dnaWxsIDxqYW1lczQxMEBjb3dnaWxsLm9yZy51az4KIERhdGU6IE1vbiwgNSBKYW4gMjAxNSAxNToxNzowMSArMDAwMAotU3ViamVjdDogW1BBVENIIDIvM10gQWRkIHN1cHBvcnQgZm9yIG1pcHM2NCBhYmlzIGluIG1pcHNfcmV0dmFsLmMKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIHN1cHBvcnQgZm9yIG1pcHM2NCBhYmlzIGluIG1pcHNfcmV0dmFsLmMKIAogU2lnbmVkLW9mZi1ieTogSmFtZXMgQ293Z2lsbCA8amFtZXM0MTBAY293Z2lsbC5vcmcudWs+CiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2Zyb20gZGViaWFuXQogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCiAtLS0KLSBiYWNrZW5kcy9taXBzX3JldHZhbC5jIHwgMTA0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KKyBiYWNrZW5kcy9taXBzX3JldHZhbC5jIHwgMTA0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDk0IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbWlwc19yZXR2YWwuYyBiL2JhY2tlbmRzL21pcHNfcmV0dmFsLmMKLWluZGV4IDMzZjEyYTcuLmQ1YzZlZjAgMTAwNjQ0CitpbmRleCA2NTZjZDFmLi41NzQ4N2JiIDEwMDY0NAogLS0tIGEvYmFja2VuZHMvbWlwc19yZXR2YWwuYwogKysrIGIvYmFja2VuZHMvbWlwc19yZXR2YWwuYwogQEAgLTkxLDYgKzkxLDggQEAgZW51bSBtaXBzX2FiaSBmaW5kX21pcHNfYWJpKEVsZiAqZWxmKQpAQCAtMTY1LDYgKzE2NiwzIEBACiAgICAgICAgKmxvY3AgPSBsb2NfYWdncmVnYXRlOwogICAgICAgIHJldHVybiBubG9jX2FnZ3JlZ2F0ZTsKICAgICAgfQotLS0gCi0yLjEuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vMDAwMy1BZGQtbWlwcy1uNjQtcmVsb2NhdGlvbi1mb3JtYXQtaGFjay5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAzLUFkZC1taXBzLW42NC1yZWxvY2F0aW9uLWZvcm1hdC1oYWNrLnBhdGNoCmluZGV4IGIxOTY4MDIuLjE3Yjk4YTcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAzLUFkZC1taXBzLW42NC1yZWxvY2F0aW9uLWZvcm1hdC1oYWNrLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAzLUFkZC1taXBzLW42NC1yZWxvY2F0aW9uLWZvcm1hdC1oYWNrLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA1OWQ0YjhjNDhlNTA0MGFmN2UwMmIzNGViMjZlYTYwMmVjODJhMzhlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiY2U0NGFlY2U5MTU2OThhMjI0YThhZWZhNjY3ODRiMjc0NTU2NzViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSmFtZXMgQ293Z2lsbCA8amFtZXM0MTBAY293Z2lsbC5vcmcudWs+CiBEYXRlOiBNb24sIDUgSmFuIDIwMTUgMTU6MTc6MDIgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzLzNdIEFkZCBtaXBzIG42NCByZWxvY2F0aW9uIGZvcm1hdCBoYWNrCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBtaXBzIG42NCByZWxvY2F0aW9uIGZvcm1hdCBoYWNrCiAKIE1JUFNFTCBONjQgRUxGIGZpbGVzIHVzZSBhIHNsaWdodGx5IGRpZmZlcmVudCBmb3JtYXQgZm9yIHN0b3JpbmcgcmVsb2NhdGlvbgogZW50cmllcyB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgbm9ybWFsIFJfU1lNIC8gUl9JTkZPIG1hY3Jvcy4KQEAgLTE0LDYgKzE0LDcgQEAKIFNpZ25lZC1vZmYtYnk6IEphbWVzIENvd2dpbGwgPGphbWVzNDEwQGNvd2dpbGwub3JnLnVrPgogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtmcm9tIGRlYmlhbl0KIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgbGliZWxmL2dlbGZfZ2V0cmVsLmMgICAgICB8IDI1ICsrKysrKysrKysrKysrKysrKysrKysrLS0KICBsaWJlbGYvZ2VsZl9nZXRyZWxhLmMgICAgIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKystLQpAQCAtMjIsMTAgKzIzLDEwIEBACiAgc3JjL3N0cmlwLmMgICAgICAgICAgICAgICB8IDE3ICsrKysrKysrKysrKysrKysrCiAgNSBmaWxlcyBjaGFuZ2VkLCAxMDEgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9nZWxmX2dldHJlbC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy9saWJlbGYvZ2VsZl9nZXRyZWwuYwotKysrIGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9nZWxmX2dldHJlbC5jCitkaWZmIC0tZ2l0IGEvbGliZWxmL2dlbGZfZ2V0cmVsLmMgYi9saWJlbGYvZ2VsZl9nZXRyZWwuYworaW5kZXggMzA5ZTNkMy4uMmE4MWE5NyAxMDA2NDQKKy0tLSBhL2xpYmVsZi9nZWxmX2dldHJlbC5jCisrKysgYi9saWJlbGYvZ2VsZl9nZXRyZWwuYwogQEAgLTM2LDYgKzM2LDcgQEAKICAKICAjaW5jbHVkZSAibGliZWxmUC5oIgpAQCAtMzQsNyArMzUsNyBAQAogIAogIEdFbGZfUmVsICoKICBnZWxmX2dldHJlbCAoRWxmX0RhdGEgKmRhdGEsIGludCBuZHgsIEdFbGZfUmVsICpkc3QpCi1AQCAtODksOCArOTAsMjggQEAgZ2VsZl9nZXRyZWwgKEVsZl9EYXRhICpkYXRhLCBpbnQgbmR4LCBHRQorQEAgLTg5LDggKzkwLDI4IEBAIGdlbGZfZ2V0cmVsIChFbGZfRGF0YSAqZGF0YSwgaW50IG5keCwgR0VsZl9SZWwgKmRzdCkKICAJICByZXN1bHQgPSBOVUxMOwogIAl9CiAgICAgICAgZWxzZQpAQCAtNjUsMTAgKzY2LDEwIEBACiAgICAgIH0KICAKICAgIHJ3bG9ja191bmxvY2sgKHNjbi0+ZWxmLT5sb2NrKTsKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9saWJlbGYvZ2VsZl9nZXRyZWxhLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBlbGZ1dGlscy0wLjE3NS5vcmlnL2xpYmVsZi9nZWxmX2dldHJlbGEuYwotKysrIGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9nZWxmX2dldHJlbGEuYworZGlmZiAtLWdpdCBhL2xpYmVsZi9nZWxmX2dldHJlbGEuYyBiL2xpYmVsZi9nZWxmX2dldHJlbGEuYworaW5kZXggZDY5NWY2NS4uMWY0MmE4MCAxMDA2NDQKKy0tLSBhL2xpYmVsZi9nZWxmX2dldHJlbGEuYworKysrIGIvbGliZWxmL2dlbGZfZ2V0cmVsYS5jCiBAQCAtMzYsNiArMzYsNyBAQAogIAogICNpbmNsdWRlICJsaWJlbGZQLmgiCkBAIC03Nyw3ICs3OCw3IEBACiAgCiAgR0VsZl9SZWxhICoKICBnZWxmX2dldHJlbGEgKEVsZl9EYXRhICpkYXRhLCBpbnQgbmR4LCBHRWxmX1JlbGEgKmRzdCkKLUBAIC05MCw4ICs5MSwyOCBAQCBnZWxmX2dldHJlbGEgKEVsZl9EYXRhICpkYXRhLCBpbnQgbmR4LCBHCitAQCAtOTAsOCArOTEsMjggQEAgZ2VsZl9nZXRyZWxhIChFbGZfRGF0YSAqZGF0YSwgaW50IG5keCwgR0VsZl9SZWxhICpkc3QpCiAgCSAgcmVzdWx0ID0gTlVMTDsKICAJfQogICAgICAgIGVsc2UKQEAgLTEwOCwxMCArMTA5LDEwIEBACiAgICAgIH0KICAKICAgIHJ3bG9ja191bmxvY2sgKHNjbi0+ZWxmLT5sb2NrKTsKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9saWJlbGYvZ2VsZl91cGRhdGVfcmVsLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBlbGZ1dGlscy0wLjE3NS5vcmlnL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWwuYwotKysrIGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWwuYworZGlmZiAtLWdpdCBhL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWwuYyBiL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWwuYworaW5kZXggMTRmNjJlOS4uOTA5NTU1NiAxMDA2NDQKKy0tLSBhL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWwuYworKysrIGIvbGliZWxmL2dlbGZfdXBkYXRlX3JlbC5jCiBAQCAtMzYsNiArMzYsNyBAQAogIAogICNpbmNsdWRlICJsaWJlbGZQLmgiCkBAIC0xMjAsNyArMTIxLDcgQEAKICAKICBpbnQKICBnZWxmX3VwZGF0ZV9yZWwgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsIEdFbGZfUmVsICpzcmMpCi1AQCAtODYsNiArODcsOSBAQCBnZWxmX3VwZGF0ZV9yZWwgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsCitAQCAtODYsNiArODcsOSBAQCBnZWxmX3VwZGF0ZV9yZWwgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsIEdFbGZfUmVsICpzcmMpCiAgICAgIH0KICAgIGVsc2UKICAgICAgewpAQCAtMTMwLDcgKzEzMSw3IEBACiAgICAgICAgLyogQ2hlY2sgd2hldGhlciB3ZSBoYXZlIHRvIHJlc2l6ZSB0aGUgZGF0YSBidWZmZXIuICAqLwogICAgICAgIGlmIChJTlZBTElEX05EWCAobmR4LCBFbGY2NF9SZWwsICZkYXRhX3Njbi0+ZCkpCiAgCXsKLUBAIC05Myw3ICs5NywyMSBAQCBnZWxmX3VwZGF0ZV9yZWwgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsCitAQCAtOTMsNyArOTcsMjEgQEAgZ2VsZl91cGRhdGVfcmVsIChFbGZfRGF0YSAqZHN0LCBpbnQgbmR4LCBHRWxmX1JlbCAqc3JjKQogIAkgIGdvdG8gb3V0OwogIAl9CiAgCkBAIC0xNTMsMTAgKzE1NCwxMCBAQAogICAgICB9CiAgCiAgICByZXN1bHQgPSAxOwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWxhLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBlbGZ1dGlscy0wLjE3NS5vcmlnL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWxhLmMKLSsrKyBlbGZ1dGlscy0wLjE3NS9saWJlbGYvZ2VsZl91cGRhdGVfcmVsYS5jCitkaWZmIC0tZ2l0IGEvbGliZWxmL2dlbGZfdXBkYXRlX3JlbGEuYyBiL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWxhLmMKK2luZGV4IDg4MjUyNzAuLjRjYWE4NWYgMTAwNjQ0CistLS0gYS9saWJlbGYvZ2VsZl91cGRhdGVfcmVsYS5jCisrKysgYi9saWJlbGYvZ2VsZl91cGRhdGVfcmVsYS5jCiBAQCAtMzYsNiArMzYsNyBAQAogIAogICNpbmNsdWRlICJsaWJlbGZQLmgiCkBAIC0xNjUsNyArMTY2LDcgQEAKICAKICBpbnQKICBnZWxmX3VwZGF0ZV9yZWxhIChFbGZfRGF0YSAqZHN0LCBpbnQgbmR4LCBHRWxmX1JlbGEgKnNyYykKLUBAIC04OSw2ICs5MCw5IEBAIGdlbGZfdXBkYXRlX3JlbGEgKEVsZl9EYXRhICpkc3QsIGludCBuZHgKK0BAIC04OSw2ICs5MCw5IEBAIGdlbGZfdXBkYXRlX3JlbGEgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsIEdFbGZfUmVsYSAqc3JjKQogICAgICB9CiAgICBlbHNlCiAgICAgIHsKQEAgLTE3NSw3ICsxNzYsNyBAQAogICAgICAgIC8qIENoZWNrIHdoZXRoZXIgd2UgaGF2ZSB0byByZXNpemUgdGhlIGRhdGEgYnVmZmVyLiAgKi8KICAgICAgICBpZiAoSU5WQUxJRF9ORFggKG5keCwgRWxmNjRfUmVsYSwgJmRhdGFfc2NuLT5kKSkKICAJewotQEAgLTk2LDcgKzEwMCwyMSBAQCBnZWxmX3VwZGF0ZV9yZWxhIChFbGZfRGF0YSAqZHN0LCBpbnQgbmR4CitAQCAtOTYsNyArMTAwLDIxIEBAIGdlbGZfdXBkYXRlX3JlbGEgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsIEdFbGZfUmVsYSAqc3JjKQogIAkgIGdvdG8gb3V0OwogIAl9CiAgCkBAIC0xOTgsMTEgKzE5OSwxMSBAQAogICAgICB9CiAgCiAgICByZXN1bHQgPSAxOwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L3NyYy9zdHJpcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy9zcmMvc3RyaXAuYwotKysrIGVsZnV0aWxzLTAuMTc1L3NyYy9zdHJpcC5jCi1AQCAtMTA2Miw2ICsxMDYyLDIzIEBAIGhhbmRsZV9lbGYgKGludCBmZCwgRWxmICplbGYsIGNvbnN0IGNoYXIKK2RpZmYgLS1naXQgYS9zcmMvc3RyaXAuYyBiL3NyYy9zdHJpcC5jCitpbmRleCBhNzMwMDlkLi43NWJkN2JhIDEwMDY0NAorLS0tIGEvc3JjL3N0cmlwLmMKKysrKyBiL3NyYy9zdHJpcC5jCitAQCAtMTA2Miw2ICsxMDYyLDIzIEBAIGhhbmRsZV9lbGYgKGludCBmZCwgRWxmICplbGYsIGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqZm5hbWUsCiAgICAgICAgZ290byBmYWlsOwogICAgICB9CiAgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vYXJtX2JhY2tlbmQuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9hcm1fYmFja2VuZC5kaWZmCmluZGV4IGY3MjU4YTguLjk5MDRmMjQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9hcm1fYmFja2VuZC5kaWZmCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9hcm1fYmFja2VuZC5kaWZmCkBAIC0xLDEwICsxLDI3IEBACitGcm9tIGYzMzg0NDY2NDc1ZWFiMzczYzBmMWNiNzljNjFkNDU3MDk5MTNiMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDI4IE1heSAyMDE0IDE2OjQ5OjU3ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGVsZnV0aWxzOiB1cGdyYWRlIHRvIDAuMTU4CisKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZyBbZnJvbSBkZWJpYW5dCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiAKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9hcm1faW5pdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy9iYWNrZW5kcy9hcm1faW5pdC5jCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvYXJtX2luaXQuYworLS0tCisgYmFja2VuZHMvYXJtX2luaXQuYyAgICAgICAgICAgICAgICAgfCAgMTggKysrLQorIGJhY2tlbmRzL2FybV9yZWdzLmMgICAgICAgICAgICAgICAgIHwgMTMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBiYWNrZW5kcy9hcm1fcmV0dmFsLmMgICAgICAgICAgICAgICB8ICA0MyArKysrKysrKy0KKyBiYWNrZW5kcy9saWJlYmxfYXJtLmggICAgICAgICAgICAgICB8ICAgOSArKworIGxpYmVsZi9lbGYuaCAgICAgICAgICAgICAgICAgICAgICAgIHwgIDExICsrKworIHRlc3RzL3J1bi1hZGRyY2ZpLnNoICAgICAgICAgICAgICAgIHwgIDkzICsrKysrKysrKysrKysrKysrKystCisgdGVzdHMvcnVuLWFsbHJlZ3Muc2ggICAgICAgICAgICAgICAgfCAgOTUgKysrKysrKysrKysrKysrKysrKy0KKyB0ZXN0cy9ydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaCB8ICAxMSArKy0KKyA4IGZpbGVzIGNoYW5nZWQsIDQwMCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYmFja2VuZHMvbGliZWJsX2FybS5oCisKK2RpZmYgLS1naXQgYS9iYWNrZW5kcy9hcm1faW5pdC5jIGIvYmFja2VuZHMvYXJtX2luaXQuYworaW5kZXggZjJiMWIxMS4uMWI3MWYxNiAxMDA2NDQKKy0tLSBhL2JhY2tlbmRzL2FybV9pbml0LmMKKysrKyBiL2JhY2tlbmRzL2FybV9pbml0LmMKIEBAIC0zNSwyMCArMzUsMzEgQEAKICAjZGVmaW5lIFJFTE9DX1BSRUZJWAlSX0FSTV8KICAjaW5jbHVkZSAibGliZWJsX0NQVS5oIgpAQCAtMzgsNyArNTUsNyBAQAogICAgLyogV2UgaGFuZGxlIGl0LiAgKi8KICAgIGVoLT5uYW1lID0gIkFSTSI7CiAgICBhcm1faW5pdF9yZWxvYyAoZWgpOwotQEAgLTYwLDcgKzcxLDEwIEBAIGFybV9pbml0IChFbGYgKmVsZiBfX2F0dHJpYnV0ZV9fICgodW51c2UKK0BAIC02MCw3ICs3MSwxMCBAQCBhcm1faW5pdCAoRWxmICplbGYgX19hdHRyaWJ1dGVfXyAoKHVudXNlZCkpLAogICAgSE9PSyAoZWgsIGNvcmVfbm90ZSk7CiAgICBIT09LIChlaCwgYXV4dl9pbmZvKTsKICAgIEhPT0sgKGVoLCBjaGVja19vYmplY3RfYXR0cmlidXRlKTsKQEAgLTUwLDEwICs2NywxMCBAQAogICAgSE9PSyAoZWgsIGFiaV9jZmkpOwogICAgSE9PSyAoZWgsIGNoZWNrX3JlbG9jX3RhcmdldF90eXBlKTsKICAgIEhPT0sgKGVoLCBzeW1ib2xfdHlwZV9uYW1lKTsKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9hcm1fcmVncy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy9iYWNrZW5kcy9hcm1fcmVncy5jCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvYXJtX3JlZ3MuYworZGlmZiAtLWdpdCBhL2JhY2tlbmRzL2FybV9yZWdzLmMgYi9iYWNrZW5kcy9hcm1fcmVncy5jCitpbmRleCBhNDZhNGM5Li40MThjOTMxIDEwMDY0NAorLS0tIGEvYmFja2VuZHMvYXJtX3JlZ3MuYworKysrIGIvYmFja2VuZHMvYXJtX3JlZ3MuYwogQEAgLTMxLDYgKzMxLDcgQEAKICAjZW5kaWYKICAKQEAgLTYyLDcgKzc5LDcgQEAKICAjaW5jbHVkZSA8ZHdhcmYuaD4KICAKICAjZGVmaW5lIEJBQ0tFTkQgYXJtXwotQEAgLTc2LDYgKzc3LDkgQEAgYXJtX3JlZ2lzdGVyX2luZm8gKEVibCAqZWJsIF9fYXR0cmlidXRlXworQEAgLTc2LDYgKzc3LDkgQEAgYXJtX3JlZ2lzdGVyX2luZm8gKEVibCAqZWJsIF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSwKICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSAxNiArIDAgLi4uIDE2ICsgNzoKQEAgLTcyLDcgKzg5LDcgQEAKICAgICAgICByZWdubyArPSA5NiAtIDE2OwogICAgICAgIEZBTExUSFJPVUdIOwogICAgICBjYXNlIDk2ICsgMCAuLi4gOTYgKyA3OgotQEAgLTg3LDExICs5MSwxMzkgQEAgYXJtX3JlZ2lzdGVyX2luZm8gKEVibCAqZWJsIF9fYXR0cmlidXRlXworQEAgLTg3LDExICs5MSwxMzkgQEAgYXJtX3JlZ2lzdGVyX2luZm8gKEVibCAqZWJsIF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSwKICAgICAgICBuYW1lbGVuID0gMjsKICAgICAgICBicmVhazsKICAKQEAgLTIxMiwxMCArMjI5LDEwIEBACiAgICAgICAgKnNldG5hbWUgPSAiVkZQIjsKICAgICAgICAqdHlwZSA9IERXX0FURV9mbG9hdDsKICAgICAgICAqYml0cyA9IDY0OwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL2FybV9yZXR2YWwuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvYmFja2VuZHMvYXJtX3JldHZhbC5jCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvYXJtX3JldHZhbC5jCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvYXJtX3JldHZhbC5jIGIvYmFja2VuZHMvYXJtX3JldHZhbC5jCitpbmRleCAxYzI4ZjAxLi4zMTNlNGViIDEwMDY0NAorLS0tIGEvYmFja2VuZHMvYXJtX3JldHZhbC5jCisrKysgYi9iYWNrZW5kcy9hcm1fcmV0dmFsLmMKIEBAIC00OCw2ICs0OCwxMyBAQCBzdGF0aWMgY29uc3QgRHdhcmZfT3AgbG9jX2ludHJlZ1tdID0KICAjZGVmaW5lIG5sb2NfaW50cmVnCTEKICAjZGVmaW5lIG5sb2NfaW50cmVncyhuKQkoMiAqIChuKSkKQEAgLTI0Miw3ICsyNTksNyBAQAogIHsKICAgIC8qIFN0YXJ0IHdpdGggdGhlIGZ1bmN0aW9uJ3MgdHlwZSwgYW5kIGdldCB0aGUgRFdfQVRfdHlwZSBhdHRyaWJ1dGUsCiAgICAgICB3aGljaCBpcyB0aGUgdHlwZSBvZiB0aGUgcmV0dXJuIHZhbHVlLiAgKi8KLUBAIC05OCw2ICsxMDYsMjEgQEAgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbiAoRHdhcmZfRGllICpmdQorQEAgLTk4LDYgKzEwNiwyMSBAQCBhcm1fcmV0dXJuX3ZhbHVlX2xvY2F0aW9uIChEd2FyZl9EaWUgKmZ1bmN0eXBlZGllLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApCiAgCSAgICBlbHNlCiAgCSAgICAgIHJldHVybiAtMTsKICAJICB9CkBAIC0yNjQsNyArMjgxLDcgQEAKICAJaWYgKHNpemUgPD0gMTYpCiAgCSAgewogIAkgIGludHJlZzoKLUBAIC0xMDYsNiArMTI5LDcgQEAgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbiAoRHdhcmZfRGllICpmdQorQEAgLTEwNiw2ICsxMjksNyBAQCBhcm1fcmV0dXJuX3ZhbHVlX2xvY2F0aW9uIChEd2FyZl9EaWUgKmZ1bmN0eXBlZGllLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApCiAgCSAgfQogIAogICAgICAgIGFnZ3JlZ2F0ZToKQEAgLTI3Miw3ICsyODksNyBAQAogIAkqbG9jcCA9IGxvY19hZ2dyZWdhdGU7CiAgCXJldHVybiBubG9jX2FnZ3JlZ2F0ZTsKICAgICAgICB9Ci1AQCAtMTI1LDMgKzE0OSwxOCBAQCBhcm1fcmV0dXJuX3ZhbHVlX2xvY2F0aW9uIChEd2FyZl9EaWUgKmZ1CitAQCAtMTI1LDMgKzE0OSwxOCBAQCBhcm1fcmV0dXJuX3ZhbHVlX2xvY2F0aW9uIChEd2FyZl9EaWUgKmZ1bmN0eXBlZGllLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApCiAgICAgICBEV0FSRiBhbmQgbWlnaHQgYmUgdmFsaWQuICAqLwogICAgcmV0dXJuIC0yOwogIH0KQEAgLTI5MSwxMCArMzA4LDI1IEBACiArICAgcmV0dXJuIGFybV9yZXR1cm5fdmFsdWVfbG9jYXRpb25fIChmdW5jdHlwZWRpZSwgbG9jcCwgMCk7CiArfQogKwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9lbGYuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvbGliZWxmL2VsZi5oCi0rKysgZWxmdXRpbHMtMC4xNzUvbGliZWxmL2VsZi5oCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbGliZWJsX2FybS5oIGIvYmFja2VuZHMvbGliZWJsX2FybS5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYzAwNzcwYworLS0tIC9kZXYvbnVsbAorKysrIGIvYmFja2VuZHMvbGliZWJsX2FybS5oCitAQCAtMCwwICsxLDkgQEAKKysjaWZuZGVmIF9MSUJFQkxfQVJNX0gKKysjZGVmaW5lIF9MSUJFQkxfQVJNX0ggMQorKworKyNpbmNsdWRlIDxsaWJkdy5oPgorKworK2V4dGVybiBpbnQgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbl9zb2Z0KER3YXJmX0RpZSAqLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApOworK2V4dGVybiBpbnQgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbl9oYXJkKER3YXJmX0RpZSAqLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApOworKworKyNlbmRpZgorZGlmZiAtLWdpdCBhL2xpYmVsZi9lbGYuaCBiL2xpYmVsZi9lbGYuaAoraW5kZXggNjMxMDA1NC4uNWRjNjMyYiAxMDA2NDQKKy0tLSBhL2xpYmVsZi9lbGYuaAorKysrIGIvbGliZWxmL2VsZi5oCiBAQCAtMjY5NCw2ICsyNjk0LDkgQEAgZW51bQogICNkZWZpbmUgRUZfQVJNX0VBQklfVkVSNAkweDA0MDAwMDAwCiAgI2RlZmluZSBFRl9BUk1fRUFCSV9WRVI1CTB4MDUwMDAwMDAKQEAgLTMzMywyNCArMzY1LDEyMSBAQAogICNkZWZpbmUgUl9BUk1fTUVfVE9PCQkxMjgJLyogT2Jzb2xldGUuICAqLwogICNkZWZpbmUgUl9BUk1fVEhNX1RMU19ERVNDU0VRCTEyOQogICNkZWZpbmUgUl9BUk1fVEhNX1RMU19ERVNDU0VRMTYJMTI5Ci1JbmRleDogZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvbGliZWJsX2FybS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvbGliZWJsX2FybS5oCi1AQCAtMCwwICsxLDkgQEAKLSsjaWZuZGVmIF9MSUJFQkxfQVJNX0gKLSsjZGVmaW5lIF9MSUJFQkxfQVJNX0ggMQotKwotKyNpbmNsdWRlIDxsaWJkdy5oPgotKwotK2V4dGVybiBpbnQgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbl9zb2Z0KER3YXJmX0RpZSAqLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApOwotK2V4dGVybiBpbnQgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbl9oYXJkKER3YXJmX0RpZSAqLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApOwotKwotKyNlbmRpZgotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L3Rlc3RzL3J1bi1hbGxyZWdzLnNoCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy90ZXN0cy9ydW4tYWxscmVncy5zaAotKysrIGVsZnV0aWxzLTAuMTc1L3Rlc3RzL3J1bi1hbGxyZWdzLnNoCitkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLWFkZHJjZmkuc2ggYi90ZXN0cy9ydW4tYWRkcmNmaS5zaAoraW5kZXggZmQ4OWQwMi4uNDYyZDdjNSAxMDA3NTUKKy0tLSBhL3Rlc3RzL3J1bi1hZGRyY2ZpLnNoCisrKysgYi90ZXN0cy9ydW4tYWRkcmNmaS5zaAorQEAgLTM1NTQsNiArMzU1NCwzOCBAQCBkd2FyZl9jZmlfYWRkcmZyYW1lICguZWhfZnJhbWUpOiBubyBtYXRjaGluZyBhZGRyZXNzIHJhbmdlCisgCUZQQSByZWcyMSAoZjUpOiB1bmRlZmluZWQKKyAJRlBBIHJlZzIyIChmNik6IHVuZGVmaW5lZAorIAlGUEEgcmVnMjMgKGY3KTogdW5kZWZpbmVkCisrCVZGUCByZWc2NCAoczApOiB1bmRlZmluZWQKKysJVkZQIHJlZzY1IChzMSk6IHVuZGVmaW5lZAorKwlWRlAgcmVnNjYgKHMyKTogdW5kZWZpbmVkCisrCVZGUCByZWc2NyAoczMpOiB1bmRlZmluZWQKKysJVkZQIHJlZzY4IChzNCk6IHVuZGVmaW5lZAorKwlWRlAgcmVnNjkgKHM1KTogdW5kZWZpbmVkCisrCVZGUCByZWc3MCAoczYpOiB1bmRlZmluZWQKKysJVkZQIHJlZzcxIChzNyk6IHVuZGVmaW5lZAorKwlWRlAgcmVnNzIgKHM4KTogdW5kZWZpbmVkCisrCVZGUCByZWc3MyAoczkpOiB1bmRlZmluZWQKKysJVkZQIHJlZzc0IChzMTApOiB1bmRlZmluZWQKKysJVkZQIHJlZzc1IChzMTEpOiB1bmRlZmluZWQKKysJVkZQIHJlZzc2IChzMTIpOiB1bmRlZmluZWQKKysJVkZQIHJlZzc3IChzMTMpOiB1bmRlZmluZWQKKysJVkZQIHJlZzc4IChzMTQpOiB1bmRlZmluZWQKKysJVkZQIHJlZzc5IChzMTUpOiB1bmRlZmluZWQKKysJVkZQIHJlZzgwIChzMTYpOiB1bmRlZmluZWQKKysJVkZQIHJlZzgxIChzMTcpOiB1bmRlZmluZWQKKysJVkZQIHJlZzgyIChzMTgpOiB1bmRlZmluZWQKKysJVkZQIHJlZzgzIChzMTkpOiB1bmRlZmluZWQKKysJVkZQIHJlZzg0IChzMjApOiB1bmRlZmluZWQKKysJVkZQIHJlZzg1IChzMjEpOiB1bmRlZmluZWQKKysJVkZQIHJlZzg2IChzMjIpOiB1bmRlZmluZWQKKysJVkZQIHJlZzg3IChzMjMpOiB1bmRlZmluZWQKKysJVkZQIHJlZzg4IChzMjQpOiB1bmRlZmluZWQKKysJVkZQIHJlZzg5IChzMjUpOiB1bmRlZmluZWQKKysJVkZQIHJlZzkwIChzMjYpOiB1bmRlZmluZWQKKysJVkZQIHJlZzkxIChzMjcpOiB1bmRlZmluZWQKKysJVkZQIHJlZzkyIChzMjgpOiB1bmRlZmluZWQKKysJVkZQIHJlZzkzIChzMjkpOiB1bmRlZmluZWQKKysJVkZQIHJlZzk0IChzMzApOiB1bmRlZmluZWQKKysJVkZQIHJlZzk1IChzMzEpOiB1bmRlZmluZWQKKyAJRlBBIHJlZzk2IChmMCk6IHVuZGVmaW5lZAorIAlGUEEgcmVnOTcgKGYxKTogdW5kZWZpbmVkCisgCUZQQSByZWc5OCAoZjIpOiB1bmRlZmluZWQKK0BAIC0zNTYyLDcgKzM1OTQsNjYgQEAgZHdhcmZfY2ZpX2FkZHJmcmFtZSAoLmVoX2ZyYW1lKTogbm8gbWF0Y2hpbmcgYWRkcmVzcyByYW5nZQorIAlGUEEgcmVnMTAxIChmNSk6IHVuZGVmaW5lZAorIAlGUEEgcmVnMTAyIChmNik6IHVuZGVmaW5lZAorIAlGUEEgcmVnMTAzIChmNyk6IHVuZGVmaW5lZAorLQlpbnRlZ2VyIHJlZzEyOCAoc3Bzcik6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA0ICh3Y2dyMCk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA1ICh3Y2dyMSk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA2ICh3Y2dyMik6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA3ICh3Y2dyMyk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA4ICh3Y2dyNCk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA5ICh3Y2dyNSk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTEwICh3Y2dyNik6IHVuZGVmaW5lZAorKwlNTVggcmVnMTExICh3Y2dyNyk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTEyICh3cjApOiB1bmRlZmluZWQKKysJTU1YIHJlZzExMyAod3IxKTogdW5kZWZpbmVkCisrCU1NWCByZWcxMTQgKHdyMik6IHVuZGVmaW5lZAorKwlNTVggcmVnMTE1ICh3cjMpOiB1bmRlZmluZWQKKysJTU1YIHJlZzExNiAod3I0KTogdW5kZWZpbmVkCisrCU1NWCByZWcxMTcgKHdyNSk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTE4ICh3cjYpOiB1bmRlZmluZWQKKysJTU1YIHJlZzExOSAod3I3KTogdW5kZWZpbmVkCisrCU1NWCByZWcxMjAgKHdyOCk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTIxICh3cjkpOiB1bmRlZmluZWQKKysJTU1YIHJlZzEyMiAod3IxMCk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTIzICh3cjExKTogdW5kZWZpbmVkCisrCU1NWCByZWcxMjQgKHdyMTIpOiB1bmRlZmluZWQKKysJTU1YIHJlZzEyNSAod3IxMyk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTI2ICh3cjE0KTogdW5kZWZpbmVkCisrCU1NWCByZWcxMjcgKHdyMTUpOiB1bmRlZmluZWQKKysJc3RhdGUgcmVnMTI4IChzcHNyKTogdW5kZWZpbmVkCisrCXN0YXRlIHJlZzEyOSAoc3Bzcl9maXEpOiB1bmRlZmluZWQKKysJc3RhdGUgcmVnMTMwIChzcHNyX2lycSk6IHVuZGVmaW5lZAorKwlzdGF0ZSByZWcxMzEgKHNwc3JfYWJ0KTogdW5kZWZpbmVkCisrCXN0YXRlIHJlZzEzMiAoc3Bzcl91bmQpOiB1bmRlZmluZWQKKysJc3RhdGUgcmVnMTMzIChzcHNyX3N2Yyk6IHVuZGVmaW5lZAorKwlpbnRlZ2VyIHJlZzE0NCAocjhfdXNyKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTQ1IChyOV91c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNDYgKHIxMF91c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNDcgKHIxMV91c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNDggKHIxMl91c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNDkgKHIxM191c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNTAgKHIxNF91c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNTEgKHI4X2ZpcSk6IHVuZGVmaW5lZAorKwlpbnRlZ2VyIHJlZzE1MiAocjlfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTUzIChyMTBfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU0IChyMTFfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU1IChyMTJfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU2IChyMTNfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU3IChyMTRfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU4IChyMTNfaXJxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU5IChyMTRfaXJxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTYwIChyMTNfYWJ0KTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTYxIChyMTRfYWJ0KTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTYyIChyMTNfdW5kKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTYzIChyMTRfdW5kKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTY0IChyMTNfc3ZjKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTY1IChyMTRfc3ZjKTogdW5kZWZpbmVkCisrCU1NWCByZWcxOTIgKHdjMCk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTkzICh3YzEpOiB1bmRlZmluZWQKKysJTU1YIHJlZzE5NCAod2MyKTogdW5kZWZpbmVkCisrCU1NWCByZWcxOTUgKHdjMyk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTk2ICh3YzQpOiB1bmRlZmluZWQKKysJTU1YIHJlZzE5NyAod2M1KTogdW5kZWZpbmVkCisrCU1NWCByZWcxOTggKHdjNik6IHVuZGVmaW5lZAorKwlNTVggcmVnMTk5ICh3YzcpOiB1bmRlZmluZWQKKyAJVkZQIHJlZzI1NiAoZDApOiB1bmRlZmluZWQKKyAJVkZQIHJlZzI1NyAoZDEpOiB1bmRlZmluZWQKKyAJVkZQIHJlZzI1OCAoZDIpOiB1bmRlZmluZWQKK2RpZmYgLS1naXQgYS90ZXN0cy9ydW4tYWxscmVncy5zaCBiL3Rlc3RzL3J1bi1hbGxyZWdzLnNoCitpbmRleCAxNDIyYmQ2Li5kYzBmYzk5IDEwMDc1NQorLS0tIGEvdGVzdHMvcnVuLWFsbHJlZ3Muc2gKKysrKyBiL3Rlc3RzL3J1bi1hbGxyZWdzLnNoCiBAQCAtMjY3Miw3ICsyNjcyLDI4IEBAIGludGVnZXIgcmVnaXN0ZXJzOgogIAkgMTM6IHNwIChzcCksIGFkZHJlc3MgMzIgYml0cwogIAkgMTQ6IGxyIChsciksIGFkZHJlc3MgMzIgYml0cwpAQCAtNDY4LDExICs1OTcsMTEgQEAKICBFT0YKICAKICAjIFNlZSBydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaCBmb3IgaW5zdHJ1Y3Rpb25zIHRvIHJlZ2VuZXJhdGUKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS90ZXN0cy9ydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvdGVzdHMvcnVuLXJlYWRlbGYtbWl4ZWQtY29yZW5vdGUuc2gKLSsrKyBlbGZ1dGlscy0wLjE3NS90ZXN0cy9ydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaAotQEAgLTMxLDEyICszMSwxMSBAQCBOb3RlIHNlZ21lbnQgb2YgODkyIGJ5dGVzIGF0IG9mZnNldCAweDI3CitkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLXJlYWRlbGYtbWl4ZWQtY29yZW5vdGUuc2ggYi90ZXN0cy9ydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaAoraW5kZXggYzk2MGYxZC4uZTRiZjA3NCAxMDA3NTUKKy0tLSBhL3Rlc3RzL3J1bi1yZWFkZWxmLW1peGVkLWNvcmVub3RlLnNoCisrKysgYi90ZXN0cy9ydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaAorQEAgLTMxLDEyICszMSwxMSBAQCBOb3RlIHNlZ21lbnQgb2YgODkyIGJ5dGVzIGF0IG9mZnNldCAweDI3NDoKICAgICAgcGlkOiAxMTA4NywgcHBpZDogMTEwNjMsIHBncnA6IDExMDg3LCBzaWQ6IDExMDYzCiAgICAgIHV0aW1lOiAwLjAwMDAwMCwgc3RpbWU6IDAuMDEwMDAwLCBjdXRpbWU6IDAuMDAwMDAwLCBjc3RpbWU6IDAuMDAwMDAwCiAgICAgIG9yaWdfcjA6IC0xLCBmcHZhbGlkOiAxCkBAIC00OTAsMTE0ICs2MTksMyBAQAogICAgQ09SRSAgICAgICAgICAgICAgICAgMTI0ICBQUlBTSU5GTwogICAgICBzdGF0ZTogMCwgc25hbWU6IFIsIHpvbWI6IDAsIG5pY2U6IDAsIGZsYWc6IDB4MDA0MDA1MDAKICAgICAgdWlkOiAwLCBnaWQ6IDAsIHBpZDogMTEwODcsIHBwaWQ6IDExMDYzLCBwZ3JwOiAxMTA4Nywgc2lkOiAxMTA2MwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L3Rlc3RzL3J1bi1hZGRyY2ZpLnNoCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy90ZXN0cy9ydW4tYWRkcmNmaS5zaAotKysrIGVsZnV0aWxzLTAuMTc1L3Rlc3RzL3J1bi1hZGRyY2ZpLnNoCi1AQCAtMzU1NCw2ICszNTU0LDM4IEBAIGR3YXJmX2NmaV9hZGRyZnJhbWUgKC5laF9mcmFtZSk6IG5vIG1hdGMKLSAJRlBBIHJlZzIxIChmNSk6IHVuZGVmaW5lZAotIAlGUEEgcmVnMjIgKGY2KTogdW5kZWZpbmVkCi0gCUZQQSByZWcyMyAoZjcpOiB1bmRlZmluZWQKLSsJVkZQIHJlZzY0IChzMCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNjUgKHMxKTogdW5kZWZpbmVkCi0rCVZGUCByZWc2NiAoczIpOiB1bmRlZmluZWQKLSsJVkZQIHJlZzY3IChzMyk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNjggKHM0KTogdW5kZWZpbmVkCi0rCVZGUCByZWc2OSAoczUpOiB1bmRlZmluZWQKLSsJVkZQIHJlZzcwIChzNik6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzEgKHM3KTogdW5kZWZpbmVkCi0rCVZGUCByZWc3MiAoczgpOiB1bmRlZmluZWQKLSsJVkZQIHJlZzczIChzOSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzQgKHMxMCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzUgKHMxMSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzYgKHMxMik6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzcgKHMxMyk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzggKHMxNCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzkgKHMxNSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODAgKHMxNik6IHVuZGVmaW5lZAotKwlWRlAgcmVnODEgKHMxNyk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODIgKHMxOCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODMgKHMxOSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODQgKHMyMCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODUgKHMyMSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODYgKHMyMik6IHVuZGVmaW5lZAotKwlWRlAgcmVnODcgKHMyMyk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODggKHMyNCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODkgKHMyNSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTAgKHMyNik6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTEgKHMyNyk6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTIgKHMyOCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTMgKHMyOSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTQgKHMzMCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTUgKHMzMSk6IHVuZGVmaW5lZAotIAlGUEEgcmVnOTYgKGYwKTogdW5kZWZpbmVkCi0gCUZQQSByZWc5NyAoZjEpOiB1bmRlZmluZWQKLSAJRlBBIHJlZzk4IChmMik6IHVuZGVmaW5lZAotQEAgLTM1NjIsNyArMzU5NCw2NiBAQCBkd2FyZl9jZmlfYWRkcmZyYW1lICguZWhfZnJhbWUpOiBubyBtYXRjCi0gCUZQQSByZWcxMDEgKGY1KTogdW5kZWZpbmVkCi0gCUZQQSByZWcxMDIgKGY2KTogdW5kZWZpbmVkCi0gCUZQQSByZWcxMDMgKGY3KTogdW5kZWZpbmVkCi0tCWludGVnZXIgcmVnMTI4IChzcHNyKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDQgKHdjZ3IwKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDUgKHdjZ3IxKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDYgKHdjZ3IyKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDcgKHdjZ3IzKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDggKHdjZ3I0KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDkgKHdjZ3I1KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMTAgKHdjZ3I2KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMTEgKHdjZ3I3KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMTIgKHdyMCk6IHVuZGVmaW5lZAotKwlNTVggcmVnMTEzICh3cjEpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzExNCAod3IyKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMTUgKHdyMyk6IHVuZGVmaW5lZAotKwlNTVggcmVnMTE2ICh3cjQpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzExNyAod3I1KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMTggKHdyNik6IHVuZGVmaW5lZAotKwlNTVggcmVnMTE5ICh3cjcpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzEyMCAod3I4KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMjEgKHdyOSk6IHVuZGVmaW5lZAotKwlNTVggcmVnMTIyICh3cjEwKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMjMgKHdyMTEpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzEyNCAod3IxMik6IHVuZGVmaW5lZAotKwlNTVggcmVnMTI1ICh3cjEzKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMjYgKHdyMTQpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzEyNyAod3IxNSk6IHVuZGVmaW5lZAotKwlzdGF0ZSByZWcxMjggKHNwc3IpOiB1bmRlZmluZWQKLSsJc3RhdGUgcmVnMTI5IChzcHNyX2ZpcSk6IHVuZGVmaW5lZAotKwlzdGF0ZSByZWcxMzAgKHNwc3JfaXJxKTogdW5kZWZpbmVkCi0rCXN0YXRlIHJlZzEzMSAoc3Bzcl9hYnQpOiB1bmRlZmluZWQKLSsJc3RhdGUgcmVnMTMyIChzcHNyX3VuZCk6IHVuZGVmaW5lZAotKwlzdGF0ZSByZWcxMzMgKHNwc3Jfc3ZjKTogdW5kZWZpbmVkCi0rCWludGVnZXIgcmVnMTQ0IChyOF91c3IpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNDUgKHI5X3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE0NiAocjEwX3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE0NyAocjExX3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE0OCAocjEyX3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE0OSAocjEzX3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE1MCAocjE0X3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE1MSAocjhfZmlxKTogdW5kZWZpbmVkCi0rCWludGVnZXIgcmVnMTUyIChyOV9maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTMgKHIxMF9maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTQgKHIxMV9maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTUgKHIxMl9maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTYgKHIxM19maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTcgKHIxNF9maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTggKHIxM19pcnEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTkgKHIxNF9pcnEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjAgKHIxM19hYnQpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjEgKHIxNF9hYnQpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjIgKHIxM191bmQpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjMgKHIxNF91bmQpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjQgKHIxM19zdmMpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjUgKHIxNF9zdmMpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzE5MiAod2MwKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxOTMgKHdjMSk6IHVuZGVmaW5lZAotKwlNTVggcmVnMTk0ICh3YzIpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzE5NSAod2MzKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxOTYgKHdjNCk6IHVuZGVmaW5lZAotKwlNTVggcmVnMTk3ICh3YzUpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzE5OCAod2M2KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxOTkgKHdjNyk6IHVuZGVmaW5lZAotIAlWRlAgcmVnMjU2IChkMCk6IHVuZGVmaW5lZAotIAlWRlAgcmVnMjU3IChkMSk6IHVuZGVmaW5lZAotIAlWRlAgcmVnMjU4IChkMik6IHVuZGVmaW5lZApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2Rpc2FibGVfd2Vycm9yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2Rpc2FibGVfd2Vycm9yLnBhdGNoCmluZGV4IDc1NzM2YmYuLmJiNTY3MGEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9kaXNhYmxlX3dlcnJvci5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vZGlzYWJsZV93ZXJyb3IucGF0Y2gKQEAgLTEsMTcgKzEsMjQgQEAKK0Zyb20gZGVjZTA5ZmI4YzU5ZGJkYWIzNTZiNjNmYmU2Yjc1NTRkZDI0NjFhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhlbG11dCBHcm9obmUgPGhlbG11dEBzdWJkaXZpLmRlPgotU3ViamVjdDogZGlzYWJsZSAtV2Vycm9yIGFzIGl0IHRlbmRzIHRvIGJyZWFrIHdpdGggbmV3IGdjYyB2ZXJzaW9ucworRGF0ZTogRnJpLCAyMyBOb3YgMjAxOCAxNTo0NzoyMCArMDgwMAorU3ViamVjdDogW1BBVENIXSBkaXNhYmxlIC1XZXJyb3IgYXMgaXQgdGVuZHMgdG8gYnJlYWsgd2l0aCBuZXcgZ2NjIHZlcnNpb25zCisKIEJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg4NjAwNAogTGFzdC1VcGRhdGU6IDIwMTgtMDEtMDEKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtmcm9tIGRlYmlhbl0KIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIAotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2NvbmZpZy9ldS5hbQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvY29uZmlnL2V1LmFtCi0rKysgZWxmdXRpbHMtMC4xNzUvY29uZmlnL2V1LmFtCi1AQCAtNzMsNyArNzMsNiBAQCBBTV9DRkxBR1MgPSAtc3RkPWdudTk5IC1XYWxsIC1Xc2hhZG93IC1XCi0gCSAgICAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1Xc3RyaWN0LXByb3RvdHlwZXMgXAorLS0tCisgY29uZmlnL2V1LmFtIHwgMSAtCisgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZy9ldS5hbSBiL2NvbmZpZy9ldS5hbQoraW5kZXggODJhY2RhMy4uZGVkZTVjNiAxMDA2NDQKKy0tLSBhL2NvbmZpZy9ldS5hbQorKysrIGIvY29uZmlnL2V1LmFtCitAQCAtNzMsNyArNzMsNiBAQCBBTV9DRkxBR1MgPSAtc3RkPWdudTk5IC1XYWxsIC1Xc2hhZG93IC1XZm9ybWF0PTIgXAorIAkgICAgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3N0cmljdC1wcm90b3R5cGVzIC1XdHJhbXBvbGluZXMgXAogIAkgICAgJChMT0dJQ0FMX09QX1dBUk5JTkcpICQoRFVQTElDQVRFRF9DT05EX1dBUk5JTkcpIFwKICAJICAgICQoTlVMTF9ERVJFRkVSRU5DRV9XQVJOSU5HKSAkKElNUExJQ0lUX0ZBTExUSFJPVUdIX1dBUk5JTkcpIFwKIC0JICAgICQoaWYgJCgkKCpGKV9ub19XZXJyb3IpLCwtV2Vycm9yKSBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vaHBwYV9iYWNrZW5kLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vaHBwYV9iYWNrZW5kLmRpZmYKaW5kZXggMTA1ZTNmNC4uYWZjYzMwYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2hwcGFfYmFja2VuZC5kaWZmCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9ocHBhX2JhY2tlbmQuZGlmZgpAQCAtMSwxMCArMSw3OCBAQAorRnJvbSA4ZmU0Njg2ODJjNTUwNjA2ZWE5NjFhMWY5OTZhODYxODk0MGViMDg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCAxNiBKdWwgMjAxMCAxMjoyNjo0NiArMDgwMAorU3ViamVjdDogW1BBVENIXSBlbGZ1dGlsczogdXBncmFkZSB0byB2ZXJzaW9uIDAuMTQ4CisKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZyBbZnJvbSBkZWJpYW5dCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiAKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9wYXJpc2NfaW5pdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0KKyBiYWNrZW5kcy9NYWtlZmlsZS5hbSAgICAgIHwgICA4ICstCisgYmFja2VuZHMvbGliZWJsX3BhcmlzYy5oICB8ICAgOSArKworIGJhY2tlbmRzL3BhcmlzY19pbml0LmMgICAgfCAgNzMgKysrKysrKysrKysrKworIGJhY2tlbmRzL3BhcmlzY19yZWdzLmMgICAgfCAxNTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGJhY2tlbmRzL3BhcmlzY19yZWxvYy5kZWYgfCAxMjggKysrKysrKysrKysrKysrKysrKysrKysKKyBiYWNrZW5kcy9wYXJpc2NfcmV0dmFsLmMgIHwgMjEzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgYmFja2VuZHMvcGFyaXNjX3N5bWJvbC5jICB8IDExMyArKysrKysrKysrKysrKysrKysrKworIGxpYmVsZi9lbGYuaCAgICAgICAgICAgICAgfCAgMTEgKysKKyA4IGZpbGVzIGNoYW5nZWQsIDcxMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9saWJlYmxfcGFyaXNjLmgKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYmFja2VuZHMvcGFyaXNjX2luaXQuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9wYXJpc2NfcmVncy5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGJhY2tlbmRzL3BhcmlzY19yZWxvYy5kZWYKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYmFja2VuZHMvcGFyaXNjX3JldHZhbC5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGJhY2tlbmRzL3BhcmlzY19zeW1ib2wuYworCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvTWFrZWZpbGUuYW0gYi9iYWNrZW5kcy9NYWtlZmlsZS5hbQoraW5kZXggMjEyNmEyZS4uNTY3MWEzMiAxMDA2NDQKKy0tLSBhL2JhY2tlbmRzL01ha2VmaWxlLmFtCisrKysgYi9iYWNrZW5kcy9NYWtlZmlsZS5hbQorQEAgLTMzLDEyICszMywxMyBAQCBBTV9DUFBGTEFHUyArPSAtSSQodG9wX3NyY2RpcikvbGliZWJsIC1JJCh0b3Bfc3JjZGlyKS9saWJhc20gXAorIAorIAorIG1vZHVsZXMgPSBpMzg2IHNoIHg4Nl82NCBpYTY0IGFscGhhIGFybSBhYXJjaDY0IHNwYXJjIHBwYyBwcGM2NCBzMzkwIFwKKy0JICB0aWxlZ3ggbTY4ayBicGYgcmlzY3YKKysJICB0aWxlZ3ggbTY4ayBicGYgcmlzY3YgcGFyaXNjCisgbGliZWJsX3BpYyA9IGxpYmVibF9pMzg2X3BpYy5hIGxpYmVibF9zaF9waWMuYSBsaWJlYmxfeDg2XzY0X3BpYy5hICAgIFwKKyAJICAgICBsaWJlYmxfaWE2NF9waWMuYSBsaWJlYmxfYWxwaGFfcGljLmEgbGliZWJsX2FybV9waWMuYSAgICBcCisgCSAgICAgbGliZWJsX2FhcmNoNjRfcGljLmEgbGliZWJsX3NwYXJjX3BpYy5hIGxpYmVibF9wcGNfcGljLmEgXAorIAkgICAgIGxpYmVibF9wcGM2NF9waWMuYSBsaWJlYmxfczM5MF9waWMuYSBsaWJlYmxfdGlsZWd4X3BpYy5hIFwKKy0JICAgICBsaWJlYmxfbTY4a19waWMuYSBsaWJlYmxfYnBmX3BpYy5hIGxpYmVibF9yaXNjdl9waWMuYQorKwkgICAgIGxpYmVibF9tNjhrX3BpYy5hIGxpYmVibF9icGZfcGljLmEgbGliZWJsX3Jpc2N2X3BpYy5hIFwKKysJICAgICBsaWJlYmxfcGFyaXNjX3BpYy5hCisgbm9pbnN0X0xJQlJBUklFUyA9ICQobGliZWJsX3BpYykKKyBub2luc3RfREFUQSA9ICQobGliZWJsX3BpYzpfcGljLmE9LnNvKQorIAorQEAgLTEzNiw2ICsxMzcsOSBAQCByaXNjdl9TUkNTID0gcmlzY3ZfaW5pdC5jIHJpc2N2X3N5bWJvbC5jIHJpc2N2X2NmaS5jIHJpc2N2X3JlZ3MuYyBcCisgbGliZWJsX3Jpc2N2X3BpY19hX1NPVVJDRVMgPSAkKHJpc2N2X1NSQ1MpCisgYW1fbGliZWJsX3Jpc2N2X3BpY19hX09CSkVDVFMgPSAkKHJpc2N2X1NSQ1M6LmM9Lm9zKQorIAorK3BhcmlzY19TUkNTID0gcGFyaXNjX2luaXQuYyBwYXJpc2Nfc3ltYm9sLmMgcGFyaXNjX3JlZ3MuYyBwYXJpc2NfcmV0dmFsLmMKKytsaWJlYmxfcGFyaXNjX3BpY19hX1NPVVJDRVMgPSAkKHBhcmlzY19TUkNTKQorK2FtX2xpYmVibF9wYXJpc2NfcGljX2FfT0JKRUNUUyA9ICQocGFyaXNjX1NSQ1M6LmM9Lm9zKQorIAorIGxpYmVibF8lLnNvIGxpYmVibF8lLm1hcDogbGliZWJsXyVfcGljLmEgJChsaWJlbGYpICQobGliZHcpICQobGliZXUpCisgCUBybSAtZiAkKEA6LnNvPS5tYXApCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbGliZWJsX3BhcmlzYy5oIGIvYmFja2VuZHMvbGliZWJsX3BhcmlzYy5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZjQ3M2I3OQogLS0tIC9kZXYvbnVsbAotKysrIGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL3BhcmlzY19pbml0LmMKKysrKyBiL2JhY2tlbmRzL2xpYmVibF9wYXJpc2MuaAorQEAgLTAsMCArMSw5IEBACisrI2lmbmRlZiBfTElCRUJMX0hQUEFfSAorKyNkZWZpbmUgX0xJQkVCTF9IUFBBX0ggMQorKworKyNpbmNsdWRlIDxsaWJkdy5oPgorKworK2V4dGVybiBpbnQgcGFyaXNjX3JldHVybl92YWx1ZV9sb2NhdGlvbl8zMihEd2FyZl9EaWUgKiwgY29uc3QgRHdhcmZfT3AgKipsb2NwKTsKKytleHRlcm4gaW50IHBhcmlzY19yZXR1cm5fdmFsdWVfbG9jYXRpb25fNjQoRHdhcmZfRGllICosIGNvbnN0IER3YXJmX09wICoqbG9jcCk7CisrCisrI2VuZGlmCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvcGFyaXNjX2luaXQuYyBiL2JhY2tlbmRzL3BhcmlzY19pbml0LmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5mMWU0MDFjCistLS0gL2Rldi9udWxsCisrKysgYi9iYWNrZW5kcy9wYXJpc2NfaW5pdC5jCiBAQCAtMCwwICsxLDczIEBACiArLyogSW5pdGlhbGl6YXRpb24gb2YgUEEtUklTQyBzcGVjaWZpYyBiYWNrZW5kIGxpYnJhcnkuCiArICAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1LCAyMDA2IFJlZCBIYXQsIEluYy4KQEAgLTc5LDEwICsxNDcsMTEgQEAKICsKICsgIHJldHVybiBNT0RWRVJTSU9OOwogK30KLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9wYXJpc2NfcmVncy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvcGFyaXNjX3JlZ3MuYyBiL2JhY2tlbmRzL3BhcmlzY19yZWdzLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4zODk1ZjhlCiAtLS0gL2Rldi9udWxsCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvcGFyaXNjX3JlZ3MuYworKysrIGIvYmFja2VuZHMvcGFyaXNjX3JlZ3MuYwogQEAgLTAsMCArMSwxNTkgQEAKICsvKiBSZWdpc3RlciBuYW1lcyBhbmQgbnVtYmVycyBmb3IgUEEtUklTQyBEV0FSRi4KICsgICBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYgUmVkIEhhdCwgSW5jLgpAQCAtMjQzLDEwICszMTIsMTEgQEAKICsgIG5hbWVbbmFtZWxlbisrXSA9ICdcMCc7CiArICByZXR1cm4gbmFtZWxlbjsKICt9Ci1JbmRleDogZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvcGFyaXNjX3JlbG9jLmRlZgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL2JhY2tlbmRzL3BhcmlzY19yZWxvYy5kZWYgYi9iYWNrZW5kcy9wYXJpc2NfcmVsb2MuZGVmCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMWY4NzViYQogLS0tIC9kZXYvbnVsbAotKysrIGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL3BhcmlzY19yZWxvYy5kZWYKKysrKyBiL2JhY2tlbmRzL3BhcmlzY19yZWxvYy5kZWYKIEBAIC0wLDAgKzEsMTI4IEBACiArLyogTGlzdCB0aGUgcmVsb2NhdGlvbiB0eXBlcyBmb3IgUEEtUklTQy4gIC0qLSBDIC0qLQogKyAgIENvcHlyaWdodCAoQykgMjAwNSBSZWQgSGF0LCBJbmMuCkBAIC0zNzYsMTAgKzQ0NiwxMSBAQAogK1JFTE9DX1RZUEUgKFRMU19EVFBNT0Q2NCwJRFlOKQogKwogKyNkZWZpbmUgTk9fUkVMQVRJVkVfUkVMT0MgICAgICAgMQotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL3BhcmlzY19yZXR2YWwuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL2JhY2tlbmRzL3BhcmlzY19yZXR2YWwuYyBiL2JhY2tlbmRzL3BhcmlzY19yZXR2YWwuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmRmN2VjM2EKIC0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9wYXJpc2NfcmV0dmFsLmMKKysrKyBiL2JhY2tlbmRzL3BhcmlzY19yZXR2YWwuYwogQEAgLTAsMCArMSwyMTMgQEAKICsvKiBGdW5jdGlvbiByZXR1cm4gdmFsdWUgbG9jYXRpb24gZm9yIExpbnV4L1BBLVJJU0MgQUJJLgogKyAgIENvcHlyaWdodCAoQykgMjAwNSBSZWQgSGF0LCBJbmMuCkBAIC01OTQsMTAgKzY2NSwxMSBAQAogKyAgcmV0dXJuIHBhcmlzY19yZXR1cm5fdmFsdWVfbG9jYXRpb25fIChmdW5jdHlwZWRpZSwgbG9jcCwgMSk7CiArfQogKwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL3BhcmlzY19zeW1ib2wuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL2JhY2tlbmRzL3BhcmlzY19zeW1ib2wuYyBiL2JhY2tlbmRzL3BhcmlzY19zeW1ib2wuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjU3NTRiZDgKIC0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9wYXJpc2Nfc3ltYm9sLmMKKysrKyBiL2JhY2tlbmRzL3BhcmlzY19zeW1ib2wuYwogQEAgLTAsMCArMSwxMTMgQEAKICsvKiBQQS1SSVNDIHNwZWNpZmljIHN5bWJvbGljIG5hbWUgaGFuZGxpbmcuCiArICAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1IFJlZCBIYXQsIEluYy4KQEAgLTcxMiw1NCArNzg0LDEwIEBACiArICAgICAgcmV0dXJuIEVMRl9UX05VTTsKICsgICAgfQogK30KLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9saWJlYmxfcGFyaXNjLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9saWJlYmxfcGFyaXNjLmgKLUBAIC0wLDAgKzEsOSBAQAotKyNpZm5kZWYgX0xJQkVCTF9IUFBBX0gKLSsjZGVmaW5lIF9MSUJFQkxfSFBQQV9IIDEKLSsKLSsjaW5jbHVkZSA8bGliZHcuaD4KLSsKLStleHRlcm4gaW50IHBhcmlzY19yZXR1cm5fdmFsdWVfbG9jYXRpb25fMzIoRHdhcmZfRGllICosIGNvbnN0IER3YXJmX09wICoqbG9jcCk7Ci0rZXh0ZXJuIGludCBwYXJpc2NfcmV0dXJuX3ZhbHVlX2xvY2F0aW9uXzY0KER3YXJmX0RpZSAqLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApOwotKwotKyNlbmRpZgotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL01ha2VmaWxlLmFtCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy9iYWNrZW5kcy9NYWtlZmlsZS5hbQotKysrIGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL01ha2VmaWxlLmFtCi1AQCAtMzMsMTIgKzMzLDEzIEBAIEFNX0NQUEZMQUdTICs9IC1JJCh0b3Bfc3JjZGlyKS9saWJlYmwgLUkKLSAKLSAKLSBtb2R1bGVzID0gaTM4NiBzaCB4ODZfNjQgaWE2NCBhbHBoYSBhcm0gYWFyY2g2NCBzcGFyYyBwcGMgcHBjNjQgczM5MCBcCi0tCSAgdGlsZWd4IG02OGsgYnBmIHJpc2N2Ci0rCSAgdGlsZWd4IG02OGsgYnBmIHJpc2N2IHBhcmlzYwotIGxpYmVibF9waWMgPSBsaWJlYmxfaTM4Nl9waWMuYSBsaWJlYmxfc2hfcGljLmEgbGliZWJsX3g4Nl82NF9waWMuYSAgICBcCi0gCSAgICAgbGliZWJsX2lhNjRfcGljLmEgbGliZWJsX2FscGhhX3BpYy5hIGxpYmVibF9hcm1fcGljLmEgICAgXAotIAkgICAgIGxpYmVibF9hYXJjaDY0X3BpYy5hIGxpYmVibF9zcGFyY19waWMuYSBsaWJlYmxfcHBjX3BpYy5hIFwKLSAJICAgICBsaWJlYmxfcHBjNjRfcGljLmEgbGliZWJsX3MzOTBfcGljLmEgbGliZWJsX3RpbGVneF9waWMuYSBcCi0tCSAgICAgbGliZWJsX202OGtfcGljLmEgbGliZWJsX2JwZl9waWMuYSBsaWJlYmxfcmlzY3ZfcGljLmEKLSsJICAgICBsaWJlYmxfbTY4a19waWMuYSBsaWJlYmxfYnBmX3BpYy5hIGxpYmVibF9yaXNjdl9waWMuYSBcCi0rCSAgICAgbGliZWJsX3BhcmlzY19waWMuYQotIG5vaW5zdF9MSUJSQVJJRVMgPSAkKGxpYmVibF9waWMpCi0gbm9pbnN0X0RBVEEgPSAkKGxpYmVibF9waWM6X3BpYy5hPS5zbykKLSAKLUBAIC0xMzYsNiArMTM3LDkgQEAgcmlzY3ZfU1JDUyA9IHJpc2N2X2luaXQuYyByaXNjdl9zeW1ib2wuYwotIGxpYmVibF9yaXNjdl9waWNfYV9TT1VSQ0VTID0gJChyaXNjdl9TUkNTKQotIGFtX2xpYmVibF9yaXNjdl9waWNfYV9PQkpFQ1RTID0gJChyaXNjdl9TUkNTOi5jPS5vcykKLSAKLStwYXJpc2NfU1JDUyA9IHBhcmlzY19pbml0LmMgcGFyaXNjX3N5bWJvbC5jIHBhcmlzY19yZWdzLmMgcGFyaXNjX3JldHZhbC5jCi0rbGliZWJsX3BhcmlzY19waWNfYV9TT1VSQ0VTID0gJChwYXJpc2NfU1JDUykKLSthbV9saWJlYmxfcGFyaXNjX3BpY19hX09CSkVDVFMgPSAkKHBhcmlzY19TUkNTOi5jPS5vcykKLSAKLSBsaWJlYmxfJS5zbyBsaWJlYmxfJS5tYXA6IGxpYmVibF8lX3BpYy5hICQobGliZWxmKSAkKGxpYmR3KSAkKGxpYmV1KQotIAlAcm0gLWYgJChAOi5zbz0ubWFwKQotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9lbGYuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvbGliZWxmL2VsZi5oCi0rKysgZWxmdXRpbHMtMC4xNzUvbGliZWxmL2VsZi5oCitkaWZmIC0tZ2l0IGEvbGliZWxmL2VsZi5oIGIvbGliZWxmL2VsZi5oCitpbmRleCA3NTA0M2JjLi42MzEwMDU0IDEwMDY0NAorLS0tIGEvbGliZWxmL2VsZi5oCisrKysgYi9saWJlbGYvZWxmLmgKIEBAIC0yMTU1LDE2ICsyMTU1LDI0IEBAIGVudW0KICAjZGVmaW5lIFJfUEFSSVNDX1BDUkVMMTdGCTEyCS8qIDE3IGJpdHMgb2YgcmVsLiBhZGRyZXNzLiAgKi8KICAjZGVmaW5lIFJfUEFSSVNDX1BDUkVMMTRSCTE0CS8qIFJpZ2h0IDE0IGJpdHMgb2YgcmVsLiBhZGRyZXNzLiAgKi8KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9odXJkX3BhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vaHVyZF9wYXRoLnBhdGNoCmluZGV4IDhmYTM1YTQuLmYwMTRhZTIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9odXJkX3BhdGgucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2h1cmRfcGF0aC5wYXRjaApAQCAtMSw5ICsxLDE5IEBACitGcm9tIDJmNTRhOGNmOTU5ZWE4M2M0NTJiMWEyMmFjYmM0N2QyNzM4YjVmYTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDIzIE5vdiAyMDE4IDE1OjQ3OjIwICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGVsZnV0aWxzOiAwLjE3MCAtPiAwLjE3MgorCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2Zyb20gZGViaWFuXQogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotSW5kZXg6IGVsZnV0aWxzLTAuMTY1L3Rlc3RzL3J1bi1uYXRpdmUtdGVzdC5zaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTY1Lm9yaWcvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCi0rKysgZWxmdXRpbHMtMC4xNjUvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCisKKy0tLQorIHRlc3RzL3J1bi1uYXRpdmUtdGVzdC5zaCB8IDMgKysrCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoIGIvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCitpbmRleCA1MzUxZTAyLi43MGY2NjgxIDEwMDc1NQorLS0tIGEvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCisrKysgYi90ZXN0cy9ydW4tbmF0aXZlLXRlc3Quc2gKIEBAIC04Myw2ICs4Myw5IEBAIG5hdGl2ZV90ZXN0KCkKICAjICJjYW5ub3QgYXR0YWNoIHRvIHByb2Nlc3M6IEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZCIuCiAgWyAiJCh1bmFtZSkiID0gIkdOVS9rRnJlZUJTRCIgXSAmJiBleGl0IDc3CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vaWdub3JlX3N0cm1lcmdlLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vaWdub3JlX3N0cm1lcmdlLmRpZmYKaW5kZXggNTU1MTNlZS4uNTMzMzI0NiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2lnbm9yZV9zdHJtZXJnZS5kaWZmCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9pZ25vcmVfc3RybWVyZ2UuZGlmZgpAQCAtMSw4ICsxLDE5IEBACitGcm9tIGQzMjZhZDk5YmU4NTY4MTUyNjBhMDRlNTczZmM5NzA0NGMwMmY0NDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDIgSnVsIDIwMTggMTM6NTc6MDkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZWxmdXRpbHM6IDAuMTcwIC0+IDAuMTcyCisKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZyBbZnJvbSBkZWJpYW5dCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiAKLS0tLSBlbGZ1dGlscy0wLjE2NS5vcmlnL3Rlc3RzL3J1bi1zdHJpcC1zdHJtZXJnZS5zaAotKysrIGVsZnV0aWxzLTAuMTY1L3Rlc3RzL3J1bi1zdHJpcC1zdHJtZXJnZS5zaAorLS0tCisgdGVzdHMvcnVuLXN0cmlwLXN0cm1lcmdlLnNoIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLXN0cmlwLXN0cm1lcmdlLnNoIGIvdGVzdHMvcnVuLXN0cmlwLXN0cm1lcmdlLnNoCitpbmRleCBhYTljMWViLi4yYmFiOGVjIDEwMDc1NQorLS0tIGEvdGVzdHMvcnVuLXN0cmlwLXN0cm1lcmdlLnNoCisrKysgYi90ZXN0cy9ydW4tc3RyaXAtc3RybWVyZ2Uuc2gKIEBAIC0zMCw3ICszMCw3IEBAIHJlbWVyZ2VkPXJlbWVyZ2VkLmVsZgogIHRlbXBmaWxlcyAkbWVyZ2VkICRzdHJpcHBlZCAkZGVidWdmaWxlICRyZW1lcmdlZAogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2tmcmVlYnNkX3BhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4va2ZyZWVic2RfcGF0aC5wYXRjaAppbmRleCBmZTUxNTlmLi44MDVkYTgwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4va2ZyZWVic2RfcGF0aC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4va2ZyZWVic2RfcGF0aC5wYXRjaApAQCAtMSw3ICsxLDE3IEBACitGcm9tIGJhYzQ1OTk2ZWNlNzU5MDBlMGNkZTk3ZjM4ODllYWY2YzFiMjg2ZjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDIzIE5vdiAyMDE4IDE1OjQ3OjIwICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGVsZnV0aWxzOiAwLjE3MCAtPiAwLjE3MgorCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2Zyb20gZGViaWFuXQogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotSW5kZXg6IGIvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKy0tLQorIHRlc3RzL3J1bi1uYXRpdmUtdGVzdC5zaCB8IDYgKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoIGIvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCitpbmRleCBkMTkwMDdmLi41MzUxZTAyIDEwMDc1NQogLS0tIGEvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCiArKysgYi90ZXN0cy9ydW4tbmF0aXZlLXRlc3Quc2gKIEBAIC03Nyw2ICs3NywxMiBAQCBuYXRpdmVfdGVzdCgpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vbWlwc19iYWNrZW5kLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vbWlwc19iYWNrZW5kLmRpZmYKaW5kZXggOTk4ZmEwNC4uNjk3MzA2ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL21pcHNfYmFja2VuZC5kaWZmCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9taXBzX2JhY2tlbmQuZGlmZgpAQCAtMSw5ICsxLDYyIEBACitGcm9tIDEwYTc1ZmQyYmVlZmFmZTIwNDMxNjNmODU0MjZkMGU1NzVkZTU4ZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDE2IEp1bCAyMDEwIDEyOjI2OjQ2ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGVsZnV0aWxzOiB1cGdyYWRlIHRvIHZlcnNpb24gMC4xNDgKKwogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtmcm9tIGRlYmlhbl0KIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9taXBzX2luaXQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCistLS0KKyBiYWNrZW5kcy9NYWtlZmlsZS5hbSAgICB8ICAgOCArLQorIGJhY2tlbmRzL21pcHNfaW5pdC5jICAgIHwgIDU5ICsrKysrKysrCisgYmFja2VuZHMvbWlwc19yZWdzLmMgICAgfCAxMDQgKysrKysrKysrKysrKworIGJhY2tlbmRzL21pcHNfcmVsb2MuZGVmIHwgIDc5ICsrKysrKysrKysKKyBiYWNrZW5kcy9taXBzX3JldHZhbC5jICB8IDMyMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgYmFja2VuZHMvbWlwc19zeW1ib2wuYyAgfCAgNTMgKysrKysrKworIGxpYmVibC9lYmxvcGVuYmFja2VuZC5jIHwgICAyICsKKyA3IGZpbGVzIGNoYW5nZWQsIDYyNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9taXBzX2luaXQuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9taXBzX3JlZ3MuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9taXBzX3JlbG9jLmRlZgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9taXBzX3JldHZhbC5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGJhY2tlbmRzL21pcHNfc3ltYm9sLmMKKworZGlmZiAtLWdpdCBhL2JhY2tlbmRzL01ha2VmaWxlLmFtIGIvYmFja2VuZHMvTWFrZWZpbGUuYW0KK2luZGV4IDU2NzFhMzIuLmJhODRkYTYgMTAwNjQ0CistLS0gYS9iYWNrZW5kcy9NYWtlZmlsZS5hbQorKysrIGIvYmFja2VuZHMvTWFrZWZpbGUuYW0KK0BAIC0zMywxMyArMzMsMTMgQEAgQU1fQ1BQRkxBR1MgKz0gLUkkKHRvcF9zcmNkaXIpL2xpYmVibCAtSSQodG9wX3NyY2RpcikvbGliYXNtIFwKKyAKKyAKKyBtb2R1bGVzID0gaTM4NiBzaCB4ODZfNjQgaWE2NCBhbHBoYSBhcm0gYWFyY2g2NCBzcGFyYyBwcGMgcHBjNjQgczM5MCBcCistCSAgdGlsZWd4IG02OGsgYnBmIHJpc2N2IHBhcmlzYworKwkgIHRpbGVneCBtNjhrIGJwZiByaXNjdiBwYXJpc2MgbWlwcworIGxpYmVibF9waWMgPSBsaWJlYmxfaTM4Nl9waWMuYSBsaWJlYmxfc2hfcGljLmEgbGliZWJsX3g4Nl82NF9waWMuYSAgICBcCisgCSAgICAgbGliZWJsX2lhNjRfcGljLmEgbGliZWJsX2FscGhhX3BpYy5hIGxpYmVibF9hcm1fcGljLmEgICAgXAorIAkgICAgIGxpYmVibF9hYXJjaDY0X3BpYy5hIGxpYmVibF9zcGFyY19waWMuYSBsaWJlYmxfcHBjX3BpYy5hIFwKKyAJICAgICBsaWJlYmxfcHBjNjRfcGljLmEgbGliZWJsX3MzOTBfcGljLmEgbGliZWJsX3RpbGVneF9waWMuYSBcCisgCSAgICAgbGliZWJsX202OGtfcGljLmEgbGliZWJsX2JwZl9waWMuYSBsaWJlYmxfcmlzY3ZfcGljLmEgXAorLQkgICAgIGxpYmVibF9wYXJpc2NfcGljLmEKKysJICAgICBsaWJlYmxfcGFyaXNjX3BpYy5hIGxpYmVibF9taXBzX3BpYy5hCisgbm9pbnN0X0xJQlJBUklFUyA9ICQobGliZWJsX3BpYykKKyBub2luc3RfREFUQSA9ICQobGliZWJsX3BpYzpfcGljLmE9LnNvKQorIAorQEAgLTE0MSw2ICsxNDEsMTAgQEAgcGFyaXNjX1NSQ1MgPSBwYXJpc2NfaW5pdC5jIHBhcmlzY19zeW1ib2wuYyBwYXJpc2NfcmVncy5jIHBhcmlzY19yZXR2YWwuYworIGxpYmVibF9wYXJpc2NfcGljX2FfU09VUkNFUyA9ICQocGFyaXNjX1NSQ1MpCisgYW1fbGliZWJsX3BhcmlzY19waWNfYV9PQkpFQ1RTID0gJChwYXJpc2NfU1JDUzouYz0ub3MpCisgCisrbWlwc19TUkNTID0gbWlwc19pbml0LmMgbWlwc19zeW1ib2wuYyBtaXBzX3JlZ3MuYyBtaXBzX3JldHZhbC5jCisrbGliZWJsX21pcHNfcGljX2FfU09VUkNFUyA9ICQobWlwc19TUkNTKQorK2FtX2xpYmVibF9taXBzX3BpY19hX09CSkVDVFMgPSAkKG1pcHNfU1JDUzouYz0ub3MpCisrCisgbGliZWJsXyUuc28gbGliZWJsXyUubWFwOiBsaWJlYmxfJV9waWMuYSAkKGxpYmVsZikgJChsaWJkdykgJChsaWJldSkKKyAJQHJtIC1mICQoQDouc289Lm1hcCkKKyAJJChBTV9WX2F0KWVjaG8gJ0VMRlVUSUxTXyQoUEFDS0FHRV9WRVJTSU9OKSB7IGdsb2JhbDogJCpfaW5pdDsgbG9jYWw6ICo7IH07JyBcCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbWlwc19pbml0LmMgYi9iYWNrZW5kcy9taXBzX2luaXQuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjk3NWMwNGUKIC0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9taXBzX2luaXQuYworKysrIGIvYmFja2VuZHMvbWlwc19pbml0LmMKIEBAIC0wLDAgKzEsNTkgQEAKICsvKiBJbml0aWFsaXphdGlvbiBvZiBtaXBzIHNwZWNpZmljIGJhY2tlbmQgbGlicmFyeS4KICsgICBDb3B5cmlnaHQgKEMpIDIwMDYgUmVkIEhhdCwgSW5jLgpAQCAtNjQsMTAgKzExNywxMSBAQAogKwogKyAgcmV0dXJuIE1PRFZFUlNJT047CiArfQotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL21pcHNfcmVncy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbWlwc19yZWdzLmMgYi9iYWNrZW5kcy9taXBzX3JlZ3MuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjQ0Zjg2Y2IKIC0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9taXBzX3JlZ3MuYworKysrIGIvYmFja2VuZHMvbWlwc19yZWdzLmMKIEBAIC0wLDAgKzEsMTA0IEBACiArLyogUmVnaXN0ZXIgbmFtZXMgYW5kIG51bWJlcnMgZm9yIE1JUFMgRFdBUkYuCiArICAgQ29weXJpZ2h0IChDKSAyMDA2IFJlZCBIYXQsIEluYy4KQEAgLTE3MywxMCArMjI3LDExIEBACiArICBuYW1lW25hbWVsZW4rK10gPSAnXDAnOwogKyAgcmV0dXJuIG5hbWVsZW47CiArfQotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL21pcHNfcmVsb2MuZGVmCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbWlwc19yZWxvYy5kZWYgYi9iYWNrZW5kcy9taXBzX3JlbG9jLmRlZgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjQ1Nzk5NzAKIC0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9taXBzX3JlbG9jLmRlZgorKysrIGIvYmFja2VuZHMvbWlwc19yZWxvYy5kZWYKIEBAIC0wLDAgKzEsNzkgQEAKICsvKiBMaXN0IHRoZSByZWxvY2F0aW9uIHR5cGVzIGZvciBtaXBzLiAgLSotIEMgLSotCiArICAgQ29weXJpZ2h0IChDKSAyMDA2IFJlZCBIYXQsIEluYy4KQEAgLTI1NywxMCArMzEyLDExIEBACiArCiArI2RlZmluZSBOT19DT1BZX1JFTE9DIDEKICsjZGVmaW5lIE5PX1JFTEFUSVZFX1JFTE9DIDEKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9taXBzX3JldHZhbC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbWlwc19yZXR2YWwuYyBiL2JhY2tlbmRzL21pcHNfcmV0dmFsLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi42NTZjZDFmCiAtLS0gL2Rldi9udWxsCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvbWlwc19yZXR2YWwuYworKysrIGIvYmFja2VuZHMvbWlwc19yZXR2YWwuYwogQEAgLTAsMCArMSwzMjEgQEAKICsvKiBGdW5jdGlvbiByZXR1cm4gdmFsdWUgbG9jYXRpb24gZm9yIExpbnV4L21pcHMgQUJJLgogKyAgIENvcHlyaWdodCAoQykgMjAwNSBSZWQgSGF0LCBJbmMuCkBAIC01ODMsMTAgKzYzOSwxMSBAQAogKyAgICAgRFdBUkYgYW5kIG1pZ2h0IGJlIHZhbGlkLiAgKi8KICsgIHJldHVybiAtMjsKICt9Ci1JbmRleDogZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvbWlwc19zeW1ib2wuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL2JhY2tlbmRzL21pcHNfc3ltYm9sLmMgYi9iYWNrZW5kcy9taXBzX3N5bWJvbC5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMjYxYjA1ZAogLS0tIC9kZXYvbnVsbAotKysrIGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL21pcHNfc3ltYm9sLmMKKysrKyBiL2JhY2tlbmRzL21pcHNfc3ltYm9sLmMKIEBAIC0wLDAgKzEsNTMgQEAKICsvKiBNSVBTIHNwZWNpZmljIHN5bWJvbGljIG5hbWUgaGFuZGxpbmcuCiArICAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDAzLCAyMDA1IFJlZCBIYXQsIEluYy4KQEAgLTY0MSwxMCArNjk4LDEwIEBACiArICAgICAgcmV0dXJuIEVMRl9UX05VTTsKICsgICAgfQogK30KLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9saWJlYmwvZWJsb3BlbmJhY2tlbmQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvbGliZWJsL2VibG9wZW5iYWNrZW5kLmMKLSsrKyBlbGZ1dGlscy0wLjE3NS9saWJlYmwvZWJsb3BlbmJhY2tlbmQuYworZGlmZiAtLWdpdCBhL2xpYmVibC9lYmxvcGVuYmFja2VuZC5jIGIvbGliZWJsL2VibG9wZW5iYWNrZW5kLmMKK2luZGV4IGQ1NGI3MjAuLjZjZjc2NmYgMTAwNjQ0CistLS0gYS9saWJlYmwvZWJsb3BlbmJhY2tlbmQuYworKysrIGIvbGliZWJsL2VibG9wZW5iYWNrZW5kLmMKIEBAIC03MSw2ICs3MSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QKICAgIHsgInNwYXJjIiwgImVsZl9zcGFyYyIsICJzcGFyYyIsIDUsIEVNX1NQQVJDLCAwLCAwIH0sCiAgICB7ICJzcGFyYyIsICJlbGZfc3BhcmN2OHBsdXMiLCAic3BhcmMiLCA1LCBFTV9TUEFSQzMyUExVUywgMCwgMCB9LApAQCAtNjU0LDM0ICs3MTEsMyBAQAogIAogICAgeyAibTMyIiwgImVsZl9tMzIiLCAibTMyIiwgMywgRU1fTTMyLCAwLCAwIH0sCiAgICB7ICJtNjhrIiwgImVsZl9tNjhrIiwgIm02OGsiLCA0LCBFTV82OEssIEVMRkNMQVNTMzIsIEVMRkRBVEEyTVNCIH0sCi1JbmRleDogZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvTWFrZWZpbGUuYW0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBlbGZ1dGlscy0wLjE3NS5vcmlnL2JhY2tlbmRzL01ha2VmaWxlLmFtCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvTWFrZWZpbGUuYW0KLUBAIC0zMywxMyArMzMsMTMgQEAgQU1fQ1BQRkxBR1MgKz0gLUkkKHRvcF9zcmNkaXIpL2xpYmVibCAtSQotIAotIAotIG1vZHVsZXMgPSBpMzg2IHNoIHg4Nl82NCBpYTY0IGFscGhhIGFybSBhYXJjaDY0IHNwYXJjIHBwYyBwcGM2NCBzMzkwIFwKLS0JICB0aWxlZ3ggbTY4ayBicGYgcmlzY3YgcGFyaXNjCi0rCSAgdGlsZWd4IG02OGsgYnBmIHJpc2N2IHBhcmlzYyBtaXBzCi0gbGliZWJsX3BpYyA9IGxpYmVibF9pMzg2X3BpYy5hIGxpYmVibF9zaF9waWMuYSBsaWJlYmxfeDg2XzY0X3BpYy5hICAgIFwKLSAJICAgICBsaWJlYmxfaWE2NF9waWMuYSBsaWJlYmxfYWxwaGFfcGljLmEgbGliZWJsX2FybV9waWMuYSAgICBcCi0gCSAgICAgbGliZWJsX2FhcmNoNjRfcGljLmEgbGliZWJsX3NwYXJjX3BpYy5hIGxpYmVibF9wcGNfcGljLmEgXAotIAkgICAgIGxpYmVibF9wcGM2NF9waWMuYSBsaWJlYmxfczM5MF9waWMuYSBsaWJlYmxfdGlsZWd4X3BpYy5hIFwKLSAJICAgICBsaWJlYmxfbTY4a19waWMuYSBsaWJlYmxfYnBmX3BpYy5hIGxpYmVibF9yaXNjdl9waWMuYSBcCi0tCSAgICAgbGliZWJsX3BhcmlzY19waWMuYQotKwkgICAgIGxpYmVibF9wYXJpc2NfcGljLmEgbGliZWJsX21pcHNfcGljLmEKLSBub2luc3RfTElCUkFSSUVTID0gJChsaWJlYmxfcGljKQotIG5vaW5zdF9EQVRBID0gJChsaWJlYmxfcGljOl9waWMuYT0uc28pCi0gCi1AQCAtMTQxLDYgKzE0MSwxMCBAQCBwYXJpc2NfU1JDUyA9IHBhcmlzY19pbml0LmMgcGFyaXNjX3N5bWJvCi0gbGliZWJsX3BhcmlzY19waWNfYV9TT1VSQ0VTID0gJChwYXJpc2NfU1JDUykKLSBhbV9saWJlYmxfcGFyaXNjX3BpY19hX09CSkVDVFMgPSAkKHBhcmlzY19TUkNTOi5jPS5vcykKLSAKLSttaXBzX1NSQ1MgPSBtaXBzX2luaXQuYyBtaXBzX3N5bWJvbC5jIG1pcHNfcmVncy5jIG1pcHNfcmV0dmFsLmMKLStsaWJlYmxfbWlwc19waWNfYV9TT1VSQ0VTID0gJChtaXBzX1NSQ1MpCi0rYW1fbGliZWJsX21pcHNfcGljX2FfT0JKRUNUUyA9ICQobWlwc19TUkNTOi5jPS5vcykKLSsKLSBsaWJlYmxfJS5zbyBsaWJlYmxfJS5tYXA6IGxpYmVibF8lX3BpYy5hICQobGliZWxmKSAkKGxpYmR3KSAkKGxpYmV1KQotIAlAcm0gLWYgJChAOi5zbz0ubWFwKQotIAkkKEFNX1ZfYXQpZWNobyAnRUxGVVRJTFNfJChQQUNLQUdFX1ZFUlNJT04pIHsgZ2xvYmFsOiAkKl9pbml0OyBsb2NhbDogKjsgfTsnIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9taXBzX3JlYWRlbGZfdy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9taXBzX3JlYWRlbGZfdy5wYXRjaAppbmRleCBkMjZlNzJlLi4xNzM3ZTBkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vbWlwc19yZWFkZWxmX3cucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL21pcHNfcmVhZGVsZl93LnBhdGNoCkBAIC0xLDcgKzEsNyBAQAorRnJvbSAzM2RhNGI0MzQ3YWFjZGZiOGIxYjQyZTA2ZTI5ZTY4YTRiODgyZDk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS3VydCBSb2Vja3ggPGt1cnRAcm9lY2t4LmJlPgotU3ViamVjdDogTWFrZSByZWFkZWxmIC13IG91dHB1dCBkZWJ1ZyBpbmZvcm1hdGlvbiBvbiBtaXBzCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzY2MjA0MQotRm9yd2FyZGVkOiBub3QtbmVlZGVkCitEYXRlOiBNb24sIDQgTWFyIDIwMTkgMDk6NDU6MDAgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZSByZWFkZWxmIC13IG91dHB1dCBkZWJ1ZyBpbmZvcm1hdGlvbiBvbiBtaXBzCiAKIFVwc3RyZWFtcyB3YW50cyBhIGNoYW5nZSB3aGVyZSB0aGlzIGlzIGhhbmRsZWQgYnkgYSBob29rIHRoYXQgbmVlZHMKIHRvIGJlIGZpbGxlZCBpbiBieSB0aGUgYmFja2VuZCBmb3IgdGhlIGFyY2guCkBAIC05LDExICs5LDE1IEBACiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2Zyb20gZGViaWFuXQogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogCi1JbmRleDogZWxmdXRpbHMtMC4xNzUvc3JjL3JlYWRlbGYuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvc3JjL3JlYWRlbGYuYwotKysrIGVsZnV0aWxzLTAuMTc1L3NyYy9yZWFkZWxmLmMKLUBAIC0xMTEzMyw3ICsxMTEzMyw4IEBAIHByaW50X2RlYnVnIChEd2ZsX01vZHVsZSAqZHdmbG1vZCwgRWJsICoKKy0tLQorIHNyYy9yZWFkZWxmLmMgfCAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9yZWFkZWxmLmMgYi9zcmMvcmVhZGVsZi5jCitpbmRleCAzMzcwNmJkLi5lZjEzMTU5IDEwMDY0NAorLS0tIGEvc3JjL3JlYWRlbGYuYworKysrIGIvc3JjL3JlYWRlbGYuYworQEAgLTExMTQ4LDcgKzExMTQ4LDggQEAgcHJpbnRfZGVidWcgKER3ZmxfTW9kdWxlICpkd2ZsbW9kLCBFYmwgKmVibCwgR0VsZl9FaGRyICplaGRyKQogICAgICAgIEdFbGZfU2hkciBzaGRyX21lbTsKICAgICAgICBHRWxmX1NoZHIgKnNoZHIgPSBnZWxmX2dldHNoZHIgKHNjbiwgJnNoZHJfbWVtKTsKICAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ZpbGUvZmlsZS9kZWJpYW4tNzQyMjYyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZmlsZS9maWxlL2RlYmlhbi03NDIyNjIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxOWY5ZGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZmlsZS9maWxlL2RlYmlhbi03NDIyNjIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1UaGUgYXdrIHBhdHRlcm4gd2FzIGNoZWNrZWQgKmJlZm9yZSogdGhlIFBlcmwgcGF0dGVybiwgc28gdGhlCi1wZXJsIHNjcmlwdCB3aXRoIEJFR0lOey4uLn0gd291bGQgYmUgcmVwb3J0ZWQgYXMgYXdrLCB0aGlzIHBhdGNoIGZpeGVzIGl0LgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtkZWJpYW5dCi0KLVNpZ25lZC1vZmYtYnk6IENocmlzdG9waCBCaWVkbCA8ZGViaWFuLmF4aG5AbWFuY2htYWwuaW4tdWxtLmRlPgotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0KLVJlYmFzZSBvbiA1LjMxCi0KLVNpZ25lZC1vZmYtYnk6IEZhbiBYaW4gPGZhbi54aW5AanAuZnVqaXRzdS5jb20+Ci0tLS0KLSBtYWdpYy9NYWdkaXIvY29tbWFuZHMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL21hZ2ljL01hZ2Rpci9jb21tYW5kcyBiL21hZ2ljL01hZ2Rpci9jb21tYW5kcwotaW5kZXggZjZhZDFjOC4uZjc5ZTdkZCAxMDA2NDQKLS0tLSBhL21hZ2ljL01hZ2Rpci9jb21tYW5kcwotKysrIGIvbWFnaWMvTWFnZGlyL2NvbW1hbmRzCi1AQCAtNTcsNiArNTcsNyBAQAotIDAJc3RyaW5nL3d0CSMhXCAvdXNyL2Jpbi9hd2sJYXdrIHNjcmlwdCB0ZXh0IGV4ZWN1dGFibGUKLSAhOm1pbWUJdGV4dC94LWF3awotIDAJcmVnZXgvNDA5Ngk9XltcMDQwXHRcZlxyXG5dezAsMTAwfUJFR0lOW1wwNDBcdFxmXHJcbl17MCwxMDB9W3tdCWF3ayBvciBwZXJsIHNjcmlwdCB0ZXh0Ci0rITpzdHJlbmd0aCAtIDEyCi0gCi0gIyBBVCZUIEJlbGwgTGFicycgUGxhbiA5IHNoZWxsCi0gMAlzdHJpbmcvd3QJIyFcIC9iaW4vcmMJUGxhbiA5IHJjIHNoZWxsIHNjcmlwdCB0ZXh0IGV4ZWN1dGFibGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ZpbGUvZmlsZV81LjM0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZmlsZS9maWxlXzUuMzQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkOTI5MTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZmlsZS9maWxlXzUuMzQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1TVU1NQVJZID0gIkZpbGUgY2xhc3NpZmljYXRpb24gdG9vbCIKLURFU0NSSVBUSU9OID0gIkZpbGUgYXR0ZW1wdHMgdG8gY2xhc3NpZnkgZmlsZXMgZGVwZW5kaW5nIFwKLW9uIHRoZWlyIGNvbnRlbnRzIGFuZCBwcmludHMgYSBkZXNjcmlwdGlvbiBpZiBhIG1hdGNoIGlzIGZvdW5kLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZGFyd2luc3lzLmNvbS9maWxlLyIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLQotIyB0d28gY2xhdXNlIEJTRAotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO2JlZ2lubGluZT0yO21kNT02YTczODI4NzJlZGI2OGQzM2UxYTkzOThiNmUwMzE4OCIKLQotREVQRU5EUyA9ICJ6bGliIGZpbGUtcmVwbGFjZW1lbnQtbmF0aXZlIgotREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiemxpYi1uYXRpdmUiCi0KLSMgQmxhY2tsaXN0IGEgYm9ndXMgdGFnIGluIHVwc3RyZWFtIGNoZWNrCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJGSUxFKD9QPHB2ZXI+KD8hNl8yMykuKykiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9maWxlL2ZpbGUuZ2l0IFwKLSAgICAgICAgZmlsZTovL2RlYmlhbi03NDIyNjIucGF0Y2ggXAotICAgICAgICAiCi0KLVNSQ1JFViA9ICIzMTVjZWYyZjY5OWRhM2MzMWE1NGJkM2M2YzYwNzA2ODBmYmFmMWY1IgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcwotCi1BTFRFUk5BVElWRV8ke1BOfSA9ICJmaWxlIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2ZpbGVdID0gIiR7YmluZGlyfS9maWxlIgotCi1FWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICItZSBGSUxFX0NPTVBJTEU9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2ZpbGUtbmF0aXZlL2ZpbGUiCi1FWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICItZSBGSUxFX0NPTVBJTEU9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2ZpbGUtbmF0aXZlL2ZpbGUiCi0KLUNGTEFHU19hcHBlbmQgPSAiIC1zdGQ9Yzk5IgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9taXNjLyoubWdjIgotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7Ci0JY3JlYXRlX2NtZGxpbmVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9maWxlIFwKLQkJLS1tYWdpYy1maWxlICR7ZGF0YWRpcn0vbWlzYy9tYWdpYy5tZ2MKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgewotCWNyZWF0ZV9jbWRsaW5lX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZmlsZSBcCi0JCS0tbWFnaWMtZmlsZSAke2RhdGFkaXJ9L21pc2MvbWFnaWMubWdjCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLVBST1ZJREVTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGUtcmVwbGFjZW1lbnQtbmF0aXZlIgotIyBEb24ndCB1c2UgTkFUSVZFX1BBQ0tBR0VfUEFUSF9TVUZGSVggYXMgdGhhdCBoaWRlcyBsaWJtYWdpYyBmcm9tIGFueW9uZSB3aG8KLSMgZGVwZW5kcyBvbiBmaWxlLXJlcGxhY2VtZW50LW5hdGl2ZS4KLWJpbmRpcl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIi9maWxlLW5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ZpbGUvZmlsZV81LjM2LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZmlsZS9maWxlXzUuMzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE4MWZkZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ZpbGUvZmlsZV81LjM2LmJiCkBAIC0wLDAgKzEsNDggQEAKK1NVTU1BUlkgPSAiRmlsZSBjbGFzc2lmaWNhdGlvbiB0b29sIgorREVTQ1JJUFRJT04gPSAiRmlsZSBhdHRlbXB0cyB0byBjbGFzc2lmeSBmaWxlcyBkZXBlbmRpbmcgXAorb24gdGhlaXIgY29udGVudHMgYW5kIHByaW50cyBhIGRlc2NyaXB0aW9uIGlmIGEgbWF0Y2ggaXMgZm91bmQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5kYXJ3aW5zeXMuY29tL2ZpbGUvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCisjIHR3byBjbGF1c2UgQlNECitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7YmVnaW5saW5lPTI7bWQ1PTAyNTFlYWVjMTE4OGIyMGQ5YTcyYzUwMmVjZmRkYTFiIgorCitERVBFTkRTID0gInpsaWIgZmlsZS1yZXBsYWNlbWVudC1uYXRpdmUiCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJ6bGliLW5hdGl2ZSIKKworIyBCbGFja2xpc3QgYSBib2d1cyB0YWcgaW4gdXBzdHJlYW0gY2hlY2sKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIkZJTEUoP1A8cHZlcj4oPyE2XzIzKS4rKSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2ZpbGUvZmlsZS5naXQiCisKK1NSQ1JFViA9ICJmM2E0YjlhZGEzY2E5OWU2MmM2MmI5YWE3OGVlZTQ5MzVhODA5NGZlIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcworCitBTFRFUk5BVElWRV8ke1BOfSA9ICJmaWxlIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2ZpbGVdID0gIiR7YmluZGlyfS9maWxlIgorCitFWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICItZSBGSUxFX0NPTVBJTEU9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2ZpbGUtbmF0aXZlL2ZpbGUiCitFWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICItZSBGSUxFX0NPTVBJTEU9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2ZpbGUtbmF0aXZlL2ZpbGUiCisKK0NGTEFHU19hcHBlbmQgPSAiIC1zdGQ9Yzk5IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9taXNjLyoubWdjIgorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisJY3JlYXRlX2NtZGxpbmVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9maWxlIFwKKwkJLS1tYWdpYy1maWxlICR7ZGF0YWRpcn0vbWlzYy9tYWdpYy5tZ2MKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgeworCWNyZWF0ZV9jbWRsaW5lX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZmlsZSBcCisJCS0tbWFnaWMtZmlsZSAke2RhdGFkaXJ9L21pc2MvbWFnaWMubWdjCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKK1BST1ZJREVTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGUtcmVwbGFjZW1lbnQtbmF0aXZlIgorIyBEb24ndCB1c2UgTkFUSVZFX1BBQ0tBR0VfUEFUSF9TVUZGSVggYXMgdGhhdCBoaWRlcyBsaWJtYWdpYyBmcm9tIGFueW9uZSB3aG8KKyMgZGVwZW5kcyBvbiBmaWxlLXJlcGxhY2VtZW50LW5hdGl2ZS4KK2JpbmRpcl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIi9maWxlLW5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzdjODhmMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMzUgKzAsMCBAQAotcmVxdWlyZSBnY2MtY29tbW9uLmluYwotCi0jIFRoaXJkIGRpZ2l0IGluIFBWIHNob3VsZCBiZSBpbmNyZW1lbnRlZCBhZnRlciBhIG1pbm9yIHJlbGVhc2UKLQotUFYgPSAiNy4zLjAiCi0KLSMgQklOViBzaG91bGQgYmUgaW5jcmVtZW50ZWQgdG8gYSByZXZpc2lvbiBhZnRlciBhIG1pbm9yIGdjYyByZWxlYXNlCi0KLUJJTlYgPSAiNy4zLjAiCi0KLUZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9L2djYy03LjM6JHtGSUxFX0RJUk5BTUV9L2djYy03LjMvYmFja3BvcnQ6IgotCi1ERVBFTkRTID0rICJtcGZyIGdtcCBsaWJtcGMgemxpYiBmbGV4LW5hdGl2ZSIKLU5BVElWRURFUFMgPSAibXBmci1uYXRpdmUgZ21wLW5hdGl2ZSBsaWJtcGMtbmF0aXZlIHpsaWItbmF0aXZlIGZsZXgtbmF0aXZlIgotCi1MSUNFTlNFID0gIkdQTC0zLjAtd2l0aC1HQ0MtZXhjZXB0aW9uICYgR1BMdjMiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiXAotICAgIGZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCi0gICAgZmlsZTovL0NPUFlJTkczO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0gICAgZmlsZTovL0NPUFlJTkczLkxJQjttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYgXAotICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAotICAgIGZpbGU6Ly9DT1BZSU5HLlJVTlRJTUU7bWQ1PWZlNjBkODcwNDg1NjdkNGZlOGM4YTBlZDI0NDhiY2M4IFwKLSIKLQotI1JFTEVBU0UgPSAiNy0yMDE3MDUwNCIKLUJBU0VVUkkgPz0gIiR7R05VX01JUlJPUn0vZ2NjL2djYy0ke1BWfS9nY2MtJHtQVn0udGFyLnh6IgotI1NSQ1JFViA9ICJmN2NmNzk4YjczZmQxYTA3MDk4ZjlhNDkwZGVlYzFlMmEzNmUwYmVkIgotI0JBU0VVUkkgPz0gImdpdDovL2dpdGh1Yi5jb20vZ2NjLW1pcnJvci9nY2M7YnJhbmNoPWdjYy02LWJyYW5jaDtwcm90b2NvbD1naXQiCi0jQkFTRVVSSSA/PSAiaHR0cDovL21pcnJvcnMuY29uY2VydHBhc3MuY29tL2djYy9zbmFwc2hvdHMvJHtSRUxFQVNFfS9nY2MtJHtSRUxFQVNFfS50YXIuYnoyIgotCi1TUkNfVVJJID0gIlwKLSAgICAgICAgICAgJHtCQVNFVVJJfSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWdjYy00LjMuMS1BUkNIX0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOS1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLWdjYy1wb2lzb24tZGlyLWV4dGVuZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDExLWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTItNjQtYml0LW11bHRpbGliLWhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMy1vcHRpb25hbC1saWJzdGRjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTQtZ2NjLWRpc2FibGUtTUFTS19SRUxBWF9QSUNfQ0FMTFMtYml0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTUtQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE2LVVzZS10aGUtZGVmYXVsdHMuaC1pbi1CLWluc3RlYWQtb2YtUy1hbmQtdC1vZS1pbi1CLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTctZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxOC1jcHAtaG9ub3Itc3lzcm9vdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE5LU1JUFM2NC1EZWZhdWx0LXRvLU42NC1BQkkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMC1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjEtZ2NjLUZpeC1hcmd1bWVudC1saXN0LXRvby1sb25nLWVycm9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjItRGlzYWJsZS1zZHQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMy1saWJ0b29sLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjQtZ2NjLWFybXY0LXBhc3MtZml4LXY0YngtdG8tbGlua2VyLXRvLXN1cHBvcnQtRUFCSS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI1LVVzZS10aGUtbXVsdGlsaWItY29uZmlnLWZpbGVzLWZyb20tQi1pbnN0ZWFkLW9mLXVzaW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyNi1Bdm9pZC11c2luZy1saWJkaXItZnJvbS0ubGEtd2hpY2gtdXN1YWxseS1wb2ludHMtdG8tLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjctZXhwb3J0LUNQUC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI4LUVuYWJsZS1TUEUtQWx0aVZlYy1nZW5lcmF0aW9uLW9uLXBvd2VwYy1saW51eC10YXJnZXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyOS1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzAtRW5zdXJlLXRhcmdldC1nY2MtaGVhZGVycy1jYW4tYmUtaW5jbHVkZWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzMS1nY2MtNC44LXdvbi10LWJ1aWxkLXdpdGgtZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzItRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDMzLVVzZS1TWVNURU1MSUJTX0RJUi1yZXBsYWNlbWVudC1pbnN0ZWFkLW9mLWhhcmRjb2RpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNC1hYXJjaDY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNS1saWJjYzEtZml4LWxpYmNjMS1zLWluc3RhbGwtcGF0aC1hbmQtcnBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNi1oYW5kbGUtc3lzcm9vdC1zdXBwb3J0LWZvci1uYXRpdmVzZGstZ2NjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzctU2VhcmNoLXRhcmdldC1zeXNyb290LWdjYy12ZXJzaW9uLXNwZWNpZmljLWRpcnMtd2l0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDM4LUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzktbmlvczItRGVmaW5lLU1VU0xfRFlOQU1JQ19MSU5LRVIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDA0MC1BZGQtc3NwX25vbnNoYXJlZC10by1saW5rLWNvbW1hbmRsaW5lLWZvci1tdXNsLXRhcmdlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwNDEtZ2NjLWxpYmNwcC1zdXBwb3J0LWZmaWxlLXByZWZpeC1tYXAtb2xkLW5ldy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQyLVJldXNlLWZkZWJ1Zy1wcmVmaXgtbWFwLXRvLXJlcGxhY2UtZmZpbGUtcHJlZml4LW1hcC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQzLWdjYy1maW5hbC5jLWZkZWJ1Zy1wcmVmaXgtbWFwLXN1cHBvcnQtdG8tcmVtYXAtc291cmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDA0NC1saWJnY2MtQWRkLWtub2ItdG8tdXNlLWxkYmwtMTI4LW9uLXBwYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQ1LUxpbmstbGliZ2NjLXVzaW5nLUxERkxBR1Mtbm90LWp1c3QtU0hMSUJfTERGTEFHUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQ3LXN5bmMtZ2NjLXN0ZGRlZi5oLXdpdGgtbXVzbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQ4LWdjYy1FbmFibGUtc3RhdGljLVBJRS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQ5LWdjYy1vdmVycmlkZS1UQVJHRVRfTElCQ19QUk9WSURFU19TU1AucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZml4LXNlZ21lbnRhdGlvbi1mYXVsdC1wcmVjb21waWxlZC1oZHIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbm8tc3NlLWZpeC10ZXN0LWNhc2UtZmFpbHVyZXMucGF0Y2ggXAotICAgICAgICAgICAke0JBQ0tQT1JUU30gXAotIgotQkFDS1BPUlRTID0gIlwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWludGVybmFsLWNvbXBpbGVyLWVycm9yLWluLXRlc3RjYXNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtUFItcnRsLW9wdGltaXphdGlvbi04MzAzMC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1wcGM2NGxlLWJ1aWxkLVBhcnRpYWwtYmFja3BvcnQtcjI1NjY1Ni5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVBSLWMtODAyOTAtbWVtb3J5LWhvZy13aXRoLXN0ZC1wYWlyLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImJlMmRhMjE2ODBmMjc2MjRmM2E4NzA1NWM0YmE1YWYyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgzMmNhNmFlMDQ2MzZhZGJiNDMwZTg2NWExNDUxYWRmNjk3OWFiNDRjYTFjODM3NGY2MWZiYTY1NjQ1Y2UxNWMiCi0KLVMgPSAiJHtUTVBESVJ9L3dvcmstc2hhcmVkL2djYy0ke1BWfS0ke1BSfS9nY2MtJHtQVn0iCi0jUyA9ICIke1RNUERJUn0vd29yay1zaGFyZWQvZ2NjLSR7UFZ9LSR7UFJ9L2dpdCIKLUIgPSAiJHtXT1JLRElSfS9nY2MtJHtQVn0vYnVpbGQuJHtIT1NUX1NZU30uJHtUQVJHRVRfU1lTfSIKLQotIyBMYW5ndWFnZSBPdmVycmlkZXMKLUZPUlRSQU4gPSAiIgotSkFWQSA9ICIiCi0KLUxUTyA9ICItLWVuYWJsZS1sdG8iCi1TU1AgPz0gIi0tZGlzYWJsZS1saWJzc3AiCi1TU1BfbWluZ3czMiA9ICItLWVuYWJsZS1saWJzc3AiCi0KLUVYVFJBX09FQ09ORl9CQVNFID0gIlwKLSAgICAke0xUT30gXAotICAgICR7U1NQfSBcCi0gICAgLS1lbmFibGUtbGliaXRtIFwKLSAgICAtLWRpc2FibGUtYm9vdHN0cmFwIFwKLSAgICAtLWRpc2FibGUtbGlibXVkZmxhcCBcCi0gICAgLS13aXRoLXN5c3RlbS16bGliIFwKLSAgICAke0AnLS13aXRoLWxpbmtlci1oYXNoLXN0eWxlPSR7TElOS0VSX0hBU0hfU1RZTEV9JyBpZiAnJHtMSU5LRVJfSEFTSF9TVFlMRX0nIGVsc2UgJyd9IFwKLSAgICAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQgXAotICAgIC0td2l0aC1wcGw9bm8gXAotICAgIC0td2l0aC1jbG9vZz1ubyBcCi0gICAgLS1lbmFibGUtY2hlY2tpbmc9cmVsZWFzZSBcCi0gICAgLS1lbmFibGUtY2hlYWRlcnM9Y19nbG9iYWwgXAotICAgIC0td2l0aG91dC1pc2wgXAotIgotCi1FWFRSQV9PRUNPTkZfSU5JVElBTCA9ICJcCi0gICAgLS1kaXNhYmxlLWxpYm11ZGZsYXAgXAotICAgIC0tZGlzYWJsZS1saWJnb21wIFwKLSAgICAtLWRpc2FibGUtbGliaXRtIFwKLSAgICAtLWRpc2FibGUtbGlicXVhZG1hdGggXAotICAgIC0td2l0aC1zeXN0ZW0temxpYiBcCi0gICAgLS1kaXNhYmxlLWx0byBcCi0gICAgLS1kaXNhYmxlLXBsdWdpbiBcCi0gICAgLS1lbmFibGUtbGlua2VyLWJ1aWxkLWlkIFwKLSAgICAtLWVuYWJsZS1kZWNpbWFsLWZsb2F0PW5vIFwKLSAgICAtLXdpdGhvdXQtaXNsIFwKLSAgICAtLWRpc2FibGUtbGlic3NwIFwKLSIKLQotRVhUUkFfT0VDT05GX1BBVEhTID0gIlwKLSAgICAtLXdpdGgtZ3h4LWluY2x1ZGUtZGlyPS9ub3QvZXhpc3R7dGFyZ2V0X2luY2x1ZGVkaXJ9L2MrKy8ke0JJTlZ9IFwKLSAgICAtLXdpdGgtc3lzcm9vdD0vbm90L2V4aXN0IFwKLSAgICAtLXdpdGgtYnVpbGQtc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0gXAotIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1GaXgtaW50ZXJuYWwtY29tcGlsZXItZXJyb3ItaW4tdGVzdGNhc2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDAxLUZpeC1pbnRlcm5hbC1jb21waWxlci1lcnJvci1pbi10ZXN0Y2FzZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDVjYzBlZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDAxLUZpeC1pbnRlcm5hbC1jb21waWxlci1lcnJvci1pbi10ZXN0Y2FzZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxMiArMCwwIEBACi1Gcm9tIGQzY2RkOTZhMzAwZjkwMDNhMWNjMjQyNTQxNjA1MTY5YWFjZGM4MTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiB3aWxsc2NobSA8d2lsbHNjaG1AMTM4YmM3NWQtMGQwNC0wNDEwLTk2MWYtODJlZTcyYjA1NGE0PgotRGF0ZTogTW9uLCAyNSBTZXAgMjAxNyAxNDozNTowMiArMDAwMAotU3ViamVjdDogW1BBVENIXSBbZ2NjXQotCi0yMDE3LTA5LTI1ICBXaWxsIFNjaG1pZHQgIDx3aWxsX3NjaG1pZHRAdm5ldC5pYm0uY29tPgotCi0JKiBjb25maWcvcnM2MDAwL3JzNjAwMC5jIChyczYwMDBfZ2ltcGxlX2ZvbGRfYnVpbHRpbik6IEFkZCBoYW5kbGluZwotCWZvciBlYXJseSBmb2xkaW5nIG9mIHZlY3RvciBzdG9yZXMgKEFMVElWRUNfQlVJTFRJTl9TVF8qKS4KLQkocnM2MDAwX2J1aWx0aW5fdmFsaWRfd2l0aG91dF9saHMpOiBOZXcgaGVscGVyIGZ1bmN0aW9uLgotCSogY29uZmlnL3JzNjAwMC9yczYwMDAtYy5jIChhbHRpdmVjX3Jlc29sdmVfb3ZlcmxvYWRlZF9idWlsdGluKToKLQlSZW1vdmUgb2Jzb2xldGVkIGNvZGUgZm9yIGhhbmRsaW5nIEFMVElWRUNfQlVJTFRJTl9WRUNfU1QuCi0KLWdpdC1zdm4taWQ6IHN2bitzc2g6Ly9nY2MuZ251Lm9yZy9zdm4vZ2NjL3RydW5rQDI1MzE1MiAxMzhiYzc1ZC0wZDA0LTA0MTAtOTYxZi04MmVlNzJiMDU0YTQKLQotRml4IGludGVybmFsIGNvbXBpbGVyIGVycm9yIGZvciB0ZXN0Y2FzZSBnY2MuZGcvdm14LzdkLTAyLmMKLQotVXBzdHJlYW0gY29tbWl0OiBkM2NkZDk2YTMwMGY5MDAzYTFjYzI0MjU0MTYwNTE2OWFhY2RjODExCi0KLUJhY2twb3J0IGJ5IEthdXNoaWsgUGhhdGFrIDxLYXVzaGlrLlBoYXRha0BrcGl0LmNvbT4KLQotVGhpcyBwYXRjaCByZW1vdmVzIGNoYW5nZXMgdG8gQ2hhbmdlbG9nIGZyb20gdGhlIG9yaWdpbmFsIHVwc3RyZWFtIHBhdGNoLgotVGhpcyB3aWxsIGhlbHAgdXMgYXZvaWQgY29uZmxpY3RzLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLS0tLQotIGdjYy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgfCAgOCArKysrKwotIGdjYy9jb25maWcvcnM2MDAwL3JzNjAwMC1jLmMgfCA3MiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmMgICB8IDczICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCA3NSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC1jLmMgYi9nY2MvY29uZmlnL3JzNjAwMC9yczYwMDAtYy5jCi1pbmRleCBhNDlkYjk3Li40YTM2M2ExIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLWMuYwotKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLWMuYwotQEAgLTYyNzksNzAgKzYyNzksNiBAQCBhbHRpdmVjX3Jlc29sdmVfb3ZlcmxvYWRlZF9idWlsdGluIChsb2NhCi0gCX0KLSAgICAgfQotIAotLSAgLyogU2ltaWxhcmx5IGZvciBzdHZ4LiAgKi8KLS0gIGlmIChmY29kZSA9PSBBTFRJVkVDX0JVSUxUSU5fVkVDX1NUCi0tICAgICAgJiYgKEJZVEVTX0JJR19FTkRJQU4gfHwgIVZFQ1RPUl9FTFRfT1JERVJfQklHKQotLSAgICAgICYmIG5hcmdzID09IDMpCi0tICAgIHsKLS0gICAgICB0cmVlIGFyZzAgPSAoKmFyZ2xpc3QpWzBdOwotLSAgICAgIHRyZWUgYXJnMSA9ICgqYXJnbGlzdClbMV07Ci0tICAgICAgdHJlZSBhcmcyID0gKCphcmdsaXN0KVsyXTsKLS0KLS0gICAgICAvKiBDb25zdHJ1Y3QgdGhlIG1hc2tlZCBhZGRyZXNzLiAgTGV0IGV4aXN0aW5nIGVycm9yIGhhbmRsaW5nIHRha2UKLS0JIG92ZXIgaWYgd2UgZG9uJ3QgaGF2ZSBhIGNvbnN0YW50IG9mZnNldC4gICovCi0tICAgICAgYXJnMSA9IGZvbGQgKGFyZzEpOwotLQotLSAgICAgIGlmIChUUkVFX0NPREUgKGFyZzEpID09IElOVEVHRVJfQ1NUKQotLQl7Ci0tCSAgaWYgKCFwdHJvZmZ0eXBlX3AgKFRSRUVfVFlQRSAoYXJnMSkpKQotLQkgICAgYXJnMSA9IGJ1aWxkMSAoTk9QX0VYUFIsIHNpemV0eXBlLCBhcmcxKTsKLS0KLS0JICB0cmVlIGFyZzJfdHlwZSA9IFRSRUVfVFlQRSAoYXJnMik7Ci0tCSAgaWYgKFRSRUVfQ09ERSAoYXJnMl90eXBlKSA9PSBBUlJBWV9UWVBFICYmIGNfZGlhbGVjdF9jeHggKCkpCi0tCSAgICB7Ci0tCSAgICAgIC8qIEZvcmNlIGFycmF5LXRvLXBvaW50ZXIgZGVjYXkgZm9yIEMrKy4gICovCi0tCSAgICAgIGFyZzIgPSBkZWZhdWx0X2NvbnZlcnNpb24gKGFyZzIpOwotLQkgICAgICBhcmcyX3R5cGUgPSBUUkVFX1RZUEUgKGFyZzIpOwotLQkgICAgfQotLQotLQkgIC8qIEZpbmQgdGhlIGJ1aWx0LWluIHRvIG1ha2Ugc3VyZSBhIGNvbXBhdGlibGUgb25lIGV4aXN0czsgaWYgbm90Ci0tCSAgICAgd2UgZmFsbCBiYWNrIHRvIGRlZmF1bHQgaGFuZGxpbmcgdG8gZ2V0IHRoZSBlcnJvciBtZXNzYWdlLiAgKi8KLS0JICBmb3IgKGRlc2MgPSBhbHRpdmVjX292ZXJsb2FkZWRfYnVpbHRpbnM7Ci0tCSAgICAgICBkZXNjLT5jb2RlICYmIGRlc2MtPmNvZGUgIT0gZmNvZGU7IGRlc2MrKykKLS0JICAgIGNvbnRpbnVlOwotLQotLQkgIGZvciAoOyBkZXNjLT5jb2RlID09IGZjb2RlOyBkZXNjKyspCi0tCSAgICBpZiAocnM2MDAwX2J1aWx0aW5fdHlwZV9jb21wYXRpYmxlIChUUkVFX1RZUEUgKGFyZzApLCBkZXNjLT5vcDEpCi0tCQkmJiByczYwMDBfYnVpbHRpbl90eXBlX2NvbXBhdGlibGUgKFRSRUVfVFlQRSAoYXJnMSksIGRlc2MtPm9wMikKLS0JCSYmIHJzNjAwMF9idWlsdGluX3R5cGVfY29tcGF0aWJsZSAoVFJFRV9UWVBFIChhcmcyKSwKLS0JCQkJCQkgICBkZXNjLT5vcDMpKQotLQkgICAgICB7Ci0tCQl0cmVlIGFkZHIgPSBmb2xkX2J1aWxkMl9sb2MgKGxvYywgUE9JTlRFUl9QTFVTX0VYUFIsIGFyZzJfdHlwZSwKLS0JCQkJCSAgICAgYXJnMiwgYXJnMSk7Ci0tCQl0cmVlIGFsaWduZWQKLS0JCSAgPSBmb2xkX2J1aWxkMl9sb2MgKGxvYywgQklUX0FORF9FWFBSLCBhcmcyX3R5cGUsCi0tCQkJCSAgICAgYWRkciwgYnVpbGRfaW50X2NzdCAoYXJnMl90eXBlLCAtMTYpKTsKLS0KLS0JCXRyZWUgYXJnMF90eXBlID0gVFJFRV9UWVBFIChhcmcwKTsKLS0JCWlmIChUWVBFX01PREUgKGFyZzBfdHlwZSkgPT0gVjJESW1vZGUpCi0tCQkgIC8qIFR5cGUtYmFzZWQgYWxpYXNpbmcgYW5hbHlzaXMgdGhpbmtzIHZlY3RvciBsb25nCi0tCQkgICAgIGFuZCB2ZWN0b3IgbG9uZyBsb25nIGFyZSBkaWZmZXJlbnQgYW5kIHdpbGwgcHV0IHRoZW0KLS0JCSAgICAgaW4gZGlzdGluY3QgYWxpYXMgY2xhc3Nlcy4gIEZvcmNlIG91ciBhZGRyZXNzIHR5cGUKLS0JCSAgICAgdG8gYmUgYSBtYXktYWxpYXMgdHlwZSB0byBhdm9pZCB0aGlzLiAgKi8KLS0JCSAgYXJnMF90eXBlCi0tCQkgICAgPSBidWlsZF9wb2ludGVyX3R5cGVfZm9yX21vZGUgKGFyZzBfdHlwZSwgUG1vZGUsCi0tCQkJCQkJICAgdHJ1ZS8qY2FuX2FsaWFzX2FsbCovKTsKLS0JCWVsc2UKLS0JCSAgYXJnMF90eXBlID0gYnVpbGRfcG9pbnRlcl90eXBlIChhcmcwX3R5cGUpOwotLQkJYWxpZ25lZCA9IGJ1aWxkMSAoTk9QX0VYUFIsIGFyZzBfdHlwZSwgYWxpZ25lZCk7Ci0tCQl0cmVlIHN0ZyA9IGJ1aWxkX2luZGlyZWN0X3JlZiAobG9jLCBhbGlnbmVkLCBST19OVUxMKTsKLS0JCXRyZWUgcmV0dmFsID0gYnVpbGQyIChNT0RJRllfRVhQUiwgVFJFRV9UWVBFIChzdGcpLCBzdGcsCi0tCQkJCSAgICAgIGNvbnZlcnQgKFRSRUVfVFlQRSAoc3RnKSwgYXJnMCkpOwotLQkJcmV0dXJuIHJldHZhbDsKLS0JICAgICAgfQotLQl9Ci0tICAgIH0KLS0KLSAgIGZvciAobiA9IDA7Ci0gICAgICAgICFWT0lEX1RZUEVfUCAoVFJFRV9WQUxVRSAoZm5hcmdzKSkgJiYgbiA8IG5hcmdzOwotICAgICAgICBmbmFyZ3MgPSBUUkVFX0NIQUlOIChmbmFyZ3MpLCBuKyspCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmMgYi9nY2MvY29uZmlnL3JzNjAwMC9yczYwMDAuYwotaW5kZXggYTQ5ZGI5Ny4uNGEzNjNhMSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5jCi0rKysgYi9nY2MvY29uZmlnL3JzNjAwMC9yczYwMDAuYwotQEAgLTU1LDYgKzU1LDcgQEAKLSAjaW5jbHVkZSAicmVsb2FkLmgiCi0gI2luY2x1ZGUgInNjaGVkLWludC5oIgotICNpbmNsdWRlICJnaW1wbGlmeS5oIgotKyNpbmNsdWRlICJnaW1wbGUtZm9sZC5oIgotICNpbmNsdWRlICJnaW1wbGUtaXRlcmF0b3IuaCIKLSAjaW5jbHVkZSAiZ2ltcGxlLXNzYS5oIgotICNpbmNsdWRlICJnaW1wbGUtd2Fsay5oIgotQEAgLTE3MDg5LDYgKzE3MDkwLDI1IEBAIHJzNjAwMF9mb2xkX2J1aWx0aW4gKHRyZWUgZm5kZWNsLCBpbnQgbl8KLSAjZW5kaWYKLSB9Ci0gCi0rLyogIEhlbHBlciBmdW5jdGlvbiB0byBzb3J0IG91dCB3aGljaCBidWlsdC1pbnMgbWF5IGJlIHZhbGlkIHdpdGhvdXQgaGF2aW5nCi0rICAgIGEgTEhTLiAgKi8KLStib29sCi0rcnM2MDAwX2J1aWx0aW5fdmFsaWRfd2l0aG91dF9saHMgKGVudW0gcnM2MDAwX2J1aWx0aW5zIGZuX2NvZGUpCi0rewotKyAgc3dpdGNoIChmbl9jb2RlKQotKyAgICB7Ci0rICAgIGNhc2UgQUxUSVZFQ19CVUlMVElOX1NUVlhfVjE2UUk6Ci0rICAgIGNhc2UgQUxUSVZFQ19CVUlMVElOX1NUVlhfVjhISToKLSsgICAgY2FzZSBBTFRJVkVDX0JVSUxUSU5fU1RWWF9WNFNJOgotKyAgICBjYXNlIEFMVElWRUNfQlVJTFRJTl9TVFZYX1Y0U0Y6Ci0rICAgIGNhc2UgQUxUSVZFQ19CVUlMVElOX1NUVlhfVjJESToKLSsgICAgY2FzZSBBTFRJVkVDX0JVSUxUSU5fU1RWWF9WMkRGOgotKyAgICAgIHJldHVybiB0cnVlOwotKyAgICBkZWZhdWx0OgotKyAgICAgIHJldHVybiBmYWxzZTsKLSsgICAgfQotK30KLSsKLSAvKiBGb2xkIGEgbWFjaGluZS1kZXBlbmRlbnQgYnVpbHQtaW4gaW4gR0lNUExFLiAgKEZvciBmb2xkaW5nIGludG8KLSAgICBhIGNvbnN0YW50LCB1c2UgcnM2MDAwX2ZvbGRfYnVpbHRpbi4pICAqLwotIAotQEAgLTE3MTAyLDYgKzE3MTIyLDEwIEBAIHJzNjAwMF9naW1wbGVfZm9sZF9idWlsdGluIChnaW1wbGVfc3RtdF8KLSAgICAgPSAoZW51bSByczYwMDBfYnVpbHRpbnMpIERFQ0xfRlVOQ1RJT05fQ09ERSAoZm5kZWNsKTsKLSAgIHRyZWUgYXJnMCwgYXJnMSwgbGhzOwotIAotKyAgLyogUHJldmVudCBnaW1wbGUgZm9sZGluZyBmb3IgY29kZSB0aGF0IGRvZXMgbm90IGhhdmUgYSBMSFMsIHVubGVzcyBpdCBpcwotKyAgICAgYWxsb3dlZCBwZXIgdGhlIHJzNjAwMF9idWlsdGluX3ZhbGlkX3dpdGhvdXRfbGhzIGhlbHBlciBmdW5jdGlvbi4gICovCi0rICBpZiAoIWdpbXBsZV9jYWxsX2xocyAoc3RtdCkgJiYgIXJzNjAwMF9idWlsdGluX3ZhbGlkX3dpdGhvdXRfbGhzIChmbl9jb2RlKSkKLSsgICAgIHJldHVybiBmYWxzZTsKLSAgIHN3aXRjaCAoZm5fY29kZSkKLSAgICAgewotICAgICAvKiBGbGF2b3JzIG9mIHZlY19hZGQuICBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgZXhwYW5kCi1AQCAtMTcxNjksNiArMTcxOTMsNTQgQEAgcnM2MDAwX2dpbXBsZV9mb2xkX2J1aWx0aW4gKGdpbXBsZV9zdG10XwotIAlnc2lfcmVwbGFjZSAoZ3NpLCBnLCB0cnVlKTsKLSAJcmV0dXJuIHRydWU7Ci0gICAgICAgfQotKyAgICAvKiBWZWN0b3Igc3RvcmVzLiAgKi8KLSsgICAgY2FzZSBBTFRJVkVDX0JVSUxUSU5fU1RWWF9WMTZRSToKLSsgICAgY2FzZSBBTFRJVkVDX0JVSUxUSU5fU1RWWF9WOEhJOgotKyAgICBjYXNlIEFMVElWRUNfQlVJTFRJTl9TVFZYX1Y0U0k6Ci0rICAgIGNhc2UgQUxUSVZFQ19CVUlMVElOX1NUVlhfVjRTRjoKLSsgICAgY2FzZSBBTFRJVkVDX0JVSUxUSU5fU1RWWF9WMkRJOgotKyAgICBjYXNlIEFMVElWRUNfQlVJTFRJTl9TVFZYX1YyREY6Ci0rICAgICAgewotKwkgLyogRG8gbm90IGZvbGQgZm9yIC1tYWx0aXZlYz1iZSBvbiBMRSB0YXJnZXRzLiAgKi8KLSsJIGlmIChWRUNUT1JfRUxUX09SREVSX0JJRyAmJiAhQllURVNfQklHX0VORElBTikKLSsJICAgIHJldHVybiBmYWxzZTsKLSsJIGFyZzAgPSBnaW1wbGVfY2FsbF9hcmcgKHN0bXQsIDApOyAvKiBWYWx1ZSB0byBiZSBzdG9yZWQuICAqLwotKwkgYXJnMSA9IGdpbXBsZV9jYWxsX2FyZyAoc3RtdCwgMSk7IC8qIE9mZnNldC4gICovCi0rCSB0cmVlIGFyZzIgPSBnaW1wbGVfY2FsbF9hcmcgKHN0bXQsIDIpOyAvKiBTdG9yZS10byBhZGRyZXNzLiAgKi8KLSsJIGxvY2F0aW9uX3QgbG9jID0gZ2ltcGxlX2xvY2F0aW9uIChzdG10KTsKLSsJIHRyZWUgYXJnMF90eXBlID0gVFJFRV9UWVBFIChhcmcwKTsKLSsJIC8qIFVzZSBwdHJfdHlwZV9ub2RlIChubyBUQkFBKSBmb3IgdGhlIGFyZzJfdHlwZS4KLSsJICBGSVhNRTogKFJpY2hhcmQpICAiQSBwcm9wZXIgZml4IHdvdWxkIGJlIHRvIHRyYW5zaXRpb24gdGhpcyB0eXBlIGFzCi0rCSAgc2VlbiBmcm9tIHRoZSBmcm9udGVuZCB0byBHSU1QTEUsIGZvciBleGFtcGxlIGluIGEgc2ltaWxhciB3YXkgd2UKLSsJICBkbyBmb3IgTUVNX1JFRnMgYnkgcGlnZ3ktYmFja2luZyB0aGF0IG9uIGFuIGV4dHJhIGFyZ3VtZW50LCBhCi0rCSAgY29uc3RhbnQgemVybyBwb2ludGVyIG9mIHRoZSBhbGlhcyBwb2ludGVyIHR5cGUgdG8gdXNlICh3aGljaCB3b3VsZAotKwkgIGFsc28gc2VydmUgYXMgYSB0eXBlIGluZGljYXRvciBvZiB0aGUgc3RvcmUgaXRzZWxmKS4gIEknZCB1c2UgYQotKwkgIHRhcmdldCBzcGVjaWZpYyBpbnRlcm5hbCBmdW5jdGlvbiBmb3IgdGhpcyAobm90IHN1cmUgaWYgd2UgY2FuIGhhdmUKLSsJICB0aG9zZSB0YXJnZXQgc3BlY2lmaWMsIGJ1dCBJIGd1ZXNzIGlmIGl0J3MgZm9sZGVkIGF3YXkgdGhlbiB0aGF0J3MKLSsJICBmaW5lKSBhbmQgZ2V0IGF3YXkgd2l0aCB0aGUgb3ZlcmxvYWQgc2V0LiIKLSsJICAqLwotKwkgdHJlZSBhcmcyX3R5cGUgPSBwdHJfdHlwZV9ub2RlOwotKwkgLyogUE9JTlRFUl9QTFVTX0VYUFIgd2FudHMgdGhlIG9mZnNldCB0byBiZSBvZiB0eXBlICdzaXpldHlwZScuICBDcmVhdGUKLSsJICAgIHRoZSB0cmVlIHVzaW5nIHRoZSB2YWx1ZSBmcm9tIGFyZzAuICBUaGUgcmVzdWx0aW5nIHR5cGUgd2lsbCBtYXRjaAotKwkgICAgdGhlIHR5cGUgb2YgYXJnMi4gICovCi0rCSBnaW1wbGVfc2VxIHN0bXRzID0gTlVMTDsKLSsJIHRyZWUgdGVtcF9vZmZzZXQgPSBnaW1wbGVfY29udmVydCAoJnN0bXRzLCBsb2MsIHNpemV0eXBlLCBhcmcxKTsKLSsJIHRyZWUgdGVtcF9hZGRyID0gZ2ltcGxlX2J1aWxkICgmc3RtdHMsIGxvYywgUE9JTlRFUl9QTFVTX0VYUFIsCi0rCQkJCSAgICAgICBhcmcyX3R5cGUsIGFyZzIsIHRlbXBfb2Zmc2V0KTsKLSsJIC8qIE1hc2sgb2ZmIGFueSBsb3dlciBiaXRzIGZyb20gdGhlIGFkZHJlc3MuICAqLwotKwkgdHJlZSBhbGlnbmVkX2FkZHIgPSBnaW1wbGVfYnVpbGQgKCZzdG10cywgbG9jLCBCSVRfQU5EX0VYUFIsCi0rCQkJCQkgIGFyZzJfdHlwZSwgdGVtcF9hZGRyLAotKwkJCQkJICBidWlsZF9pbnRfY3N0IChhcmcyX3R5cGUsIC0xNikpOwotKwkgZ3NpX2luc2VydF9zZXFfYmVmb3JlIChnc2ksIHN0bXRzLCBHU0lfU0FNRV9TVE1UKTsKLSsJLyogVGhlIGRlc2lyZWQgZ2ltcGxlIHJlc3VsdCBzaG91bGQgYmUgc2ltaWxhciB0bzoKLSsJIE1FTVsoX192ZWN0b3IgZmxvYXRELjE0MDcgKilfMV0gPSB2ZjFELjI2OTc7ICAqLwotKwkgZ2ltcGxlICpnOwotKwkgZyA9IGdpbXBsZV9idWlsZF9hc3NpZ24gKGJ1aWxkMiAoTUVNX1JFRiwgYXJnMF90eXBlLCBhbGlnbmVkX2FkZHIsCi0rCQkJCQkgICBidWlsZF9pbnRfY3N0IChhcmcyX3R5cGUsIDApKSwgYXJnMCk7Ci0rCSBnaW1wbGVfc2V0X2xvY2F0aW9uIChnLCBsb2MpOwotKwkgZ3NpX3JlcGxhY2UgKGdzaSwgZywgdHJ1ZSk7Ci0rCSByZXR1cm4gdHJ1ZTsKLSsgICAgICB9Ci0gCi0gICAgIGRlZmF1bHQ6Ci0gICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDAxLUZpeC1wcGM2NGxlLWJ1aWxkLVBhcnRpYWwtYmFja3BvcnQtcjI1NjY1Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDEtRml4LXBwYzY0bGUtYnVpbGQtUGFydGlhbC1iYWNrcG9ydC1yMjU2NjU2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZmI3MGUxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDEtRml4LXBwYzY0bGUtYnVpbGQtUGFydGlhbC1iYWNrcG9ydC1yMjU2NjU2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSBhYTY1YTQzNTE2ZGExZDQ4MDExZWY2MjFlZDU5ODgyODk3MTFkOTliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogbWFyeGluIDxtYXJ4aW5AMTM4YmM3NWQtMGQwNC0wNDEwLTk2MWYtODJlZTcyYjA1NGE0PgotRGF0ZTogRnJpLCAyOSBKdW4gMjAxOCAwOTozMTozMCArMDAwMAotU3ViamVjdDogW1BBVENIXSBQYXJ0aWFsIGJhY2twb3J0IHIyNTY2NTYKLQotMjAxOC0wNi0yOSAgTWFydGluIExpc2thICA8bWxpc2thQHN1c2UuY3o+Ci0KLQlCYWNrcG9ydCBmcm9tIG1haW5saW5lCi0JMjAxOC0wMS0xMCAgS2VsdmluIE5pbHNlbiAgPGtlbHZpbkBnY2MuZ251Lm9yZz4KLQotCSogbGV4LmMgKHNlYXJjaF9saW5lX2Zhc3QpOiBSZW1vdmUgaWxsZWdhbCBjb2VyY2lvbiBvZiBhbgotCXVuYWxpZ25lZCBwb2ludGVyIHZhbHVlIHRvIHZlY3RvciBwb2ludGVyIHR5cGUgYW5kIHJlcGxhY2Ugd2l0aAotCXVzZSBvZiBfX2J1aWx0aW5fdmVjX3ZzeF9sZCAoKSBidWlsdC1pbiBmdW5jdGlvbiwgd2hpY2ggb3BlcmF0ZXMKLQlvbiB1bmFsaWduZWQgcG9pbnRlciB2YWx1ZXMuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IEpvZWwgU3RhbmxleSA8am9lbEBqbXMuaWQuYXU+Ci0tLS0KLSBsaWJjcHAvbGV4LmMgIHwgIDIgKy0KLSAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliY3BwL2xleC5jIGIvbGliY3BwL2xleC5jCi1pbmRleCAwOTdjNzgwMDJjYmIuLmUwZmI5ZTgyMmM0NCAxMDA2NDQKLS0tLSBhL2xpYmNwcC9sZXguYwotKysrIGIvbGliY3BwL2xleC5jCi1AQCAtNTY4LDcgKzU2OCw3IEBAIHNlYXJjaF9saW5lX2Zhc3QgKGNvbnN0IHVjaGFyICpzLCBjb25zdCB1Y2hhciAqZW5kIEFUVFJJQlVURV9VTlVTRUQpCi0gICAgIHsKLSAgICAgICB2YyBtX25sLCBtX2NyLCBtX2JzLCBtX3FtOwotIAotLSAgICAgIGRhdGEgPSAqKChjb25zdCB2YyAqKXMpOwotKyAgICAgIGRhdGEgPSBfX2J1aWx0aW5fdmVjX3ZzeF9sZCAoMCwgcyk7Ci0gICAgICAgcyArPSAxNjsKLSAKLSAgICAgICBtX25sID0gKHZjKSBfX2J1aWx0aW5fdmVjX2NtcGVxKGRhdGEsIHJlcGxfbmwpOwotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1QUi1jLTgwMjkwLW1lbW9yeS1ob2ctd2l0aC1zdGQtcGFpci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDEtUFItYy04MDI5MC1tZW1vcnktaG9nLXdpdGgtc3RkLXBhaXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYwM2EyOWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1QUi1jLTgwMjkwLW1lbW9yeS1ob2ctd2l0aC1zdGQtcGFpci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLUZyb20gOGMwMTRiY2VlY2E2YTU1ODUxOWU4NmIxNmE4MTQyYWNjYzQxZTk0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGphc29uIDxqYXNvbkAxMzhiYzc1ZC0wZDA0LTA0MTAtOTYxZi04MmVlNzJiMDU0YTQ+Ci1EYXRlOiBUaHUsIDI4IEp1biAyMDE4IDAwOjI1OjIxICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIAlQUiBjKysvODAyOTAgLSBtZW1vcnktaG9nIHdpdGggc3RkOjpwYWlyLgotCi0JKiBwdC5jICh0eXBlX3VuaWZpY2F0aW9uX3JlYWwpOiBTa2lwIG5vbi1kZXBlbmRlbnQgY29udmVyc2lvbgotCWNoZWNrIGZvciBhIG5lc3RlZCBsaXN0IGFyZ3VtZW50LgotCShicmFjZWRfaW5pdF9kZXB0aCk6IE5ldy4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogSm9lbCBTdGFubGV5IDxqb2VsQGptcy5pZC5hdT4KLS0tLQotIGdjYy9jcC9wdC5jICAgICAgfCAyMiArKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2djYy9jcC9wdC5jIGIvZ2NjL2NwL3B0LmMKLWluZGV4IDc5Y2ZkMDEyOTIyNi4uNzEwNzdhM2IwNDk4IDEwMDY0NAotLS0tIGEvZ2NjL2NwL3B0LmMKLSsrKyBiL2djYy9jcC9wdC5jCi1AQCAtMTkyNDIsNiArMTkyNDIsMjQgQEAgdHJ5X2FycmF5X2RlZHVjdGlvbiAodHJlZSB0cGFybXMsIHRyZWUgdGFyZ3MsIHRyZWUgcGFybSkKLSAJCQkgIC8qbm9uZGVkdWNlZCovZmFsc2UsIGFycmF5X2RlZHVjdGlvbl9yKTsKLSB9Ci0gCi0rLyogUmV0dXJucyBob3cgbWFueSBsZXZlbHMgb2YgeyB9IElOSVQgY29udGFpbnMuICAqLwotKwotK3N0YXRpYyBpbnQKLSticmFjZWRfaW5pdF9kZXB0aCAodHJlZSBpbml0KQotK3sKLSsgIGlmICghaW5pdCB8fCAhQlJBQ0VfRU5DTE9TRURfSU5JVElBTElaRVJfUCAoaW5pdCkpCi0rICAgIHJldHVybiAwOwotKyAgdW5zaWduZWQgaTsgdHJlZSB2YWw7Ci0rICB1bnNpZ25lZCBtYXggPSAwOwotKyAgRk9SX0VBQ0hfQ09OU1RSVUNUT1JfVkFMVUUgKENPTlNUUlVDVE9SX0VMVFMgKGluaXQpLCBpLCB2YWwpCi0rICAgIHsKLSsgICAgICB1bnNpZ25lZCBlbHRfZCA9IGJyYWNlZF9pbml0X2RlcHRoICh2YWwpOwotKyAgICAgIGlmIChlbHRfZCA+IG1heCkKLSsJbWF4ID0gZWx0X2Q7Ci0rICAgIH0KLSsgIHJldHVybiBtYXggKyAxOwotK30KLSsKLSAvKiBNb3N0IHBhcm1zIGxpa2UgZm5fdHlwZV91bmlmaWNhdGlvbi4KLSAKLSAgICBJZiBTVUJSIGlzIDEsIHdlJ3JlIGJlaW5nIGNhbGxlZCByZWN1cnNpdmVseSAodG8gdW5pZnkgdGhlCi1AQCAtMTk0NzgsNiArMTk0OTYsMTAgQEAgdHlwZV91bmlmaWNhdGlvbl9yZWFsICh0cmVlIHRwYXJtcywKLSAKLSAJICAgIGlmICh1c2VzX3RlbXBsYXRlX3Bhcm1zIChwYXJtKSkKLSAJICAgICAgY29udGludWU7Ci0rCSAgICAvKiBXb3JrYXJvdW5kIGZvciBjKysvODAyOTA6IGF2b2lkIGNvbWJpbmF0b3JpYWwgZXhwbG9zaW9uIG9uCi0rCSAgICAgICBkZWVwbHkgbmVzdGVkIGJyYWNlZCBpbml0LWxpc3RzLiAgKi8KLSsJICAgIGlmIChicmFjZWRfaW5pdF9kZXB0aCAoYXJnKSA+IDIpCi0rCSAgICAgIGNvbnRpbnVlOwotIAkgICAgaWYgKGNoZWNrX25vbl9kZWR1Y2libGVfY29udmVyc2lvbiAocGFybSwgYXJnLCBzdHJpY3QsIGZsYWdzLAotIAkJCQkJCWV4cGxhaW5fcCkpCi0gCSAgICAgIHJldHVybiAxOwotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1QUi1ydGwtb3B0aW1pemF0aW9uLTgzMDMwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1QUi1ydGwtb3B0aW1pemF0aW9uLTgzMDMwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWY3OTg4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDEtUFItcnRsLW9wdGltaXphdGlvbi04MzAzMC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3MiArMCwwIEBACi1Gcm9tIGY1YzRhOTQ0MGYxNWNjZjY3NzU2NTk5MTBhMjAxNGE1NDk0ZWU4NmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBlYm90Y2F6b3UgPGVib3RjYXpvdUAxMzhiYzc1ZC0wZDA0LTA0MTAtOTYxZi04MmVlNzJiMDU0YTQ+Ci1EYXRlOiBXZWQsIDIyIE5vdiAyMDE3IDIxOjQzOjIyICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIAlQUiBydGwtb3B0aW1pemF0aW9uLzgzMDMwIAkqIGRvYy9ydGwudGV4aSAoRmxhZ3MKLSBpbiBhbiBSVEwgRXhwcmVzc2lvbik6IEFscGhhYmV0aXplLCBhZGQgZW50cnkgCWZvciBDUk9TU0lOR19KVU1QX1AgYW5kCi0gbWVudGlvbiB1c2FnZSBvZiAnanVtcCcgZm9yIEpVTVBfSU5TTnMuIAkoSW5zbnMpOiBEZWxldGUgZW50cnkgZm9yCi0gUkVHX0NST1NTSU5HX0pVTVAgaW4gcmVnaXN0ZXIgbm90ZXMuIAkqIGJiLXJlb3JkZXIuYwotICh1cGRhdGVfY3Jvc3NpbmdfanVtcF9mbGFncyk6IERvIG5vdCB0ZXN0IHdoZXRoZXIgdGhlIAlDUk9TU0lOR19KVU1QX1AgZmxhZwotIGlzIGFscmVhZHkgc2V0IGJlZm9yZSBzZXR0aW5nIGl0LiAJKiBjZmdydGwuYyAoZml4dXBfcGFydGl0aW9uX2Nyb3NzaW5nKToKLSBMaWtld2lzZS4gCSogcmVvcmcuYyAocmVsYXhfZGVsYXlfc2xvdHMpOiBEbyBub3QgY29uc2lkZXIgYQotIENST1NTSU5HX0pVTVBfUCBpbnNuIAlhcyB1c2VsZXNzLgotCi1naXQtc3ZuLWlkOiBzdm4rc3NoOi8vZ2NjLmdudS5vcmcvc3ZuL2djYy90cnVua0AyNTUwODMgMTM4YmM3NWQtMGQwNC0wNDEwLTk2MWYtODJlZTcyYjA1NGE0Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotVGhpcyBwYXRjaCByZW1vdmVzIGNoYW5nZXMgdG8gQ2hhbmdlbG9nIGZyb20gdGhlIG9yaWdpbmFsIHVwc3RyZWFtIHBhdGNoLgotVGhpcyB3aWxsIGhlbHAgdXMgYXZvaWQgY29uZmxpY3RzLgotCi1PcmlnaW5hbCBiYWNrcG9ydCB0byBHQ0MgNy54IGJ5IEFtcnV0YSBQYXdhciA8QW1ydXRhLlBhd2FyQGtwaXQuY29tPgotCi1TaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+Ci0KLS0tLQotIGdjYy9iYi1yZW9yZGVyLmMgfCAgIDUgKy0tCi0gZ2NjL2NmZ3J0bC5jICAgICB8ICAgMyArLQotIGdjYy9kb2MvcnRsLnRleGkgfCAxMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIGdjYy9yZW9yZy5jICAgICAgfCAgIDcgKy0tCi0gNSBmaWxlcyBjaGFuZ2VkLCA4NCBpbnNlcnRpb25zKCspLCA3MiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9iYi1yZW9yZGVyLmMgYi9nY2MvYmItcmVvcmRlci5jCi1pbmRleCA1NWU2ZGM2Li43OTQyODNjIDEwMDY0NAotLS0tIGEvZ2NjL2JiLXJlb3JkZXIuYwotKysrIGIvZ2NjL2JiLXJlb3JkZXIuYwotQEAgLTIyMzYsMTAgKzIyMzYsNyBAQCB1cGRhdGVfY3Jvc3NpbmdfanVtcF9mbGFncyAodm9pZCkKLSAgICAgRk9SX0VBQ0hfRURHRSAoZSwgZWksIGJiLT5zdWNjcykKLSAgICAgICBpZiAoZS0+ZmxhZ3MgJiBFREdFX0NST1NTSU5HKQotIAl7Ci0tCSAgaWYgKEpVTVBfUCAoQkJfRU5EIChiYikpCi0tCSAgICAgIC8qIFNvbWUgZmxhZ3Mgd2VyZSBhZGRlZCBkdXJpbmcgZml4X3VwX2ZhbGxfdGhydV9lZGdlcywgdmlhCi0tCQkgZm9yY2Vfbm9uZmFsbHRocnVfYW5kX3JlZGlyZWN0LiAgKi8KLS0JICAgICAgJiYgIUNST1NTSU5HX0pVTVBfUCAoQkJfRU5EIChiYikpKQotKwkgIGlmIChKVU1QX1AgKEJCX0VORCAoYmIpKSkKLSAJICAgIENST1NTSU5HX0pVTVBfUCAoQkJfRU5EIChiYikpID0gMTsKLSAJICBicmVhazsKLSAJfQotZGlmZiAtLWdpdCBhL2djYy9jZmdydGwuYyBiL2djYy9jZmdydGwuYwotaW5kZXggZDZlNWFjMC4uYTJhZDA3NSAxMDA2NDQKLS0tLSBhL2djYy9jZmdydGwuYwotKysrIGIvZ2NjL2NmZ3J0bC5jCi1AQCAtMTMzNCw4ICsxMzM0LDcgQEAgZml4dXBfcGFydGl0aW9uX2Nyb3NzaW5nIChlZGdlIGUpCi0gICBpZiAoQkJfUEFSVElUSU9OIChlLT5zcmMpICE9IEJCX1BBUlRJVElPTiAoZS0+ZGVzdCkpCi0gICAgIHsKLSAgICAgICBlLT5mbGFncyB8PSBFREdFX0NST1NTSU5HOwotLSAgICAgIGlmIChKVU1QX1AgKEJCX0VORCAoZS0+c3JjKSkKLS0JICAmJiAhQ1JPU1NJTkdfSlVNUF9QIChCQl9FTkQgKGUtPnNyYykpKQotKyAgICAgIGlmIChKVU1QX1AgKEJCX0VORCAoZS0+c3JjKSkpCi0gCUNST1NTSU5HX0pVTVBfUCAoQkJfRU5EIChlLT5zcmMpKSA9IDE7Ci0gICAgIH0KLSAgIGVsc2UgaWYgKEJCX1BBUlRJVElPTiAoZS0+c3JjKSA9PSBCQl9QQVJUSVRJT04gKGUtPmRlc3QpKQotZGlmZiAtLWdpdCBhL2djYy9kb2MvcnRsLnRleGkgYi9nY2MvZG9jL3J0bC50ZXhpCi1pbmRleCAyMTUyNGY1Li5hNThlZWRjIDEwMDY0NAotLS0tIGEvZ2NjL2RvYy9ydGwudGV4aQotKysrIGIvZ2NjL2RvYy9ydGwudGV4aQotQEAgLTU2NSw2ICs1NjUsMTYgQEAgdGhhdCBhcmUgdXNlZCBpbiBjZXJ0YWluIHR5cGVzIG9mIGV4cHJlc3Npb24uICBNb3N0IG9mdGVuIHRoZXkKLSBhcmUgYWNjZXNzZWQgd2l0aCB0aGUgZm9sbG93aW5nIG1hY3Jvcywgd2hpY2ggZXhwYW5kIGludG8gbHZhbHVlcy4KLSAKLSBAdGFibGUgQGNvZGUKLStAZmluZGV4IENST1NTSU5HX0pVTVBfUAotK0BjaW5kZXggQGNvZGV7anVtcF9pbnNufSBhbmQgQHNhbXB7L2p9Ci0rQGl0ZW0gQ1JPU1NJTkdfSlVNUF9QIChAdmFye3h9KQotK05vbnplcm8gaW4gYSBAY29kZXtqdW1wX2luc259IGlmIGl0IGNyb3NzZXMgYmV0d2VlbiBob3QgYW5kIGNvbGQgc2VjdGlvbnMsCi0rd2hpY2ggY291bGQgcG90ZW50aWFsbHkgYmUgdmVyeSBmYXIgYXBhcnQgaW4gdGhlIGV4ZWN1dGFibGUuICBUaGUgcHJlc2VuY2UKLStvZiB0aGlzIGZsYWcgaW5kaWNhdGVzIHRvIG90aGVyIG9wdGltaXphdGlvbnMgdGhhdCB0aGlzIGJyYW5jaGluZyBpbnN0cnVjdGlvbgotK3Nob3VsZCBub3QgYmUgYGBjb2xsYXBzZWQnJyBpbnRvIGEgc2ltcGxlciBicmFuY2hpbmcgY29uc3RydWN0LiAgSXQgaXMgdXNlZAotK3doZW4gdGhlIG9wdGltaXphdGlvbiB0byBwYXJ0aXRpb24gYmFzaWMgYmxvY2tzIGludG8gaG90IGFuZCBjb2xkIHNlY3Rpb25zCi0raXMgdHVybmVkIG9uLgotKwotIEBmaW5kZXggQ09OU1RBTlRfUE9PTF9BRERSRVNTX1AKLSBAY2luZGV4IEBjb2Rle3N5bWJvbF9yZWZ9IGFuZCBAc2FtcHsvdX0KLSBAY2luZGV4IEBjb2Rle3VuY2hhbmdpbmd9LCBpbiBAY29kZXtzeW1ib2xfcmVmfQotQEAgLTU3NywzNyArNTg3LDYgQEAgSW4gZWl0aGVyIGNhc2UgR0NDIGFzc3VtZXMgdGhlc2UgYWRkcmVzc2VzIGNhbiBiZSBhZGRyZXNzZWQgZGlyZWN0bHksCi0gcGVyaGFwcyB3aXRoIHRoZSBoZWxwIG9mIGJhc2UgcmVnaXN0ZXJzLgotIFN0b3JlZCBpbiB0aGUgQGNvZGV7dW5jaGFuZ2luZ30gZmllbGQgYW5kIHByaW50ZWQgYXMgQHNhbXB7L3V9LgotIAotLUBmaW5kZXggUlRMX0NPTlNUX0NBTExfUAotLUBjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L3V9Ci0tQGNpbmRleCBAY29kZXt1bmNoYW5naW5nfSwgaW4gQGNvZGV7Y2FsbF9pbnNufQotLUBpdGVtIFJUTF9DT05TVF9DQUxMX1AgKEB2YXJ7eH0pCi0tSW4gYSBAY29kZXtjYWxsX2luc259IGluZGljYXRlcyB0aGF0IHRoZSBpbnNuIHJlcHJlc2VudHMgYSBjYWxsIHRvIGEKLS1jb25zdCBmdW5jdGlvbi4gIFN0b3JlZCBpbiB0aGUgQGNvZGV7dW5jaGFuZ2luZ30gZmllbGQgYW5kIHByaW50ZWQgYXMKLS1Ac2FtcHsvdX0uCi0tCi0tQGZpbmRleCBSVExfUFVSRV9DQUxMX1AKLS1AY2luZGV4IEBjb2Rle2NhbGxfaW5zbn0gYW5kIEBzYW1wey9pfQotLUBjaW5kZXggQGNvZGV7cmV0dXJuX3ZhbH0sIGluIEBjb2Rle2NhbGxfaW5zbn0KLS1AaXRlbSBSVExfUFVSRV9DQUxMX1AgKEB2YXJ7eH0pCi0tSW4gYSBAY29kZXtjYWxsX2luc259IGluZGljYXRlcyB0aGF0IHRoZSBpbnNuIHJlcHJlc2VudHMgYSBjYWxsIHRvIGEKLS1wdXJlIGZ1bmN0aW9uLiAgU3RvcmVkIGluIHRoZSBAY29kZXtyZXR1cm5fdmFsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcwotLUBzYW1wey9pfS4KLS0KLS1AZmluZGV4IFJUTF9DT05TVF9PUl9QVVJFX0NBTExfUAotLUBjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L3V9IG9yIEBzYW1wey9pfQotLUBpdGVtIFJUTF9DT05TVF9PUl9QVVJFX0NBTExfUCAoQHZhcnt4fSkKLS1JbiBhIEBjb2Rle2NhbGxfaW5zbn0sIHRydWUgaWYgQGNvZGV7UlRMX0NPTlNUX0NBTExfUH0gb3IKLS1AY29kZXtSVExfUFVSRV9DQUxMX1B9IGlzIHRydWUuCi0tCi0tQGZpbmRleCBSVExfTE9PUElOR19DT05TVF9PUl9QVVJFX0NBTExfUAotLUBjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L2N9Ci0tQGNpbmRleCBAY29kZXtjYWxsfSwgaW4gQGNvZGV7Y2FsbF9pbnNufQotLUBpdGVtIFJUTF9MT09QSU5HX0NPTlNUX09SX1BVUkVfQ0FMTF9QIChAdmFye3h9KQotLUluIGEgQGNvZGV7Y2FsbF9pbnNufSBpbmRpY2F0ZXMgdGhhdCB0aGUgaW5zbiByZXByZXNlbnRzIGEgcG9zc2libHkKLS1pbmZpbml0ZSBsb29waW5nIGNhbGwgdG8gYSBjb25zdCBvciBwdXJlIGZ1bmN0aW9uLiAgU3RvcmVkIGluIHRoZQotLUBjb2Rle2NhbGx9IGZpZWxkIGFuZCBwcmludGVkIGFzIEBzYW1wey9jfS4gIE9ubHkgdHJ1ZSBpZiBvbmUgb2YKLS1AY29kZXtSVExfQ09OU1RfQ0FMTF9QfSBvciBAY29kZXtSVExfUFVSRV9DQUxMX1B9IGlzIHRydWUuCi0tCi0gQGZpbmRleCBJTlNOX0FOTlVMTEVEX0JSQU5DSF9QCi0gQGNpbmRleCBAY29kZXtqdW1wX2luc259IGFuZCBAc2FtcHsvdX0KLSBAY2luZGV4IEBjb2Rle2NhbGxfaW5zbn0gYW5kIEBzYW1wey91fQotQEAgLTcwMiw2ICs2ODEsMjkgQEAgU3RvcmVkIGluIHRoZSBAY29kZXtjYWxsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcyBAc2FtcHsvY30uCi0gTm9uemVybyBpbiBhIEBjb2Rle21lbX0gaWYgdGhlIG1lbW9yeSByZWZlcmVuY2UgaG9sZHMgYSBwb2ludGVyLgotIFN0b3JlZCBpbiB0aGUgQGNvZGV7ZnJhbWVfcmVsYXRlZH0gZmllbGQgYW5kIHByaW50ZWQgYXMgQHNhbXB7L2Z9LgotIAotK0BmaW5kZXggTUVNX1JFQURPTkxZX1AKLStAY2luZGV4IEBjb2Rle21lbX0gYW5kIEBzYW1wey91fQotK0BjaW5kZXggQGNvZGV7dW5jaGFuZ2luZ30sIGluIEBjb2Rle21lbX0KLStAaXRlbSBNRU1fUkVBRE9OTFlfUCAoQHZhcnt4fSkKLStOb256ZXJvIGluIGEgQGNvZGV7bWVtfSwgaWYgdGhlIG1lbW9yeSBpcyBzdGF0aWNhbGx5IGFsbG9jYXRlZCBhbmQgcmVhZC1vbmx5LgotKwotK1JlYWQtb25seSBpbiB0aGlzIGNvbnRleHQgbWVhbnMgbmV2ZXIgbW9kaWZpZWQgZHVyaW5nIHRoZSBsaWZldGltZSBvZiB0aGUKLStwcm9ncmFtLCBub3QgbmVjZXNzYXJpbHkgaW4gUk9NIG9yIGluIHdyaXRlLWRpc2FibGVkIHBhZ2VzLiAgQSBjb21tb24KLStleGFtcGxlIG9mIHRoZSBsYXRlciBpcyBhIHNoYXJlZCBsaWJyYXJ5J3MgZ2xvYmFsIG9mZnNldCB0YWJsZS4gIFRoaXMKLSt0YWJsZSBpcyBpbml0aWFsaXplZCBieSB0aGUgcnVudGltZSBsb2FkZXIsIHNvIHRoZSBtZW1vcnkgaXMgdGVjaG5pY2FsbHkKLSt3cml0YWJsZSwgYnV0IGFmdGVyIGNvbnRyb2wgaXMgdHJhbnNmZXJyZWQgZnJvbSB0aGUgcnVudGltZSBsb2FkZXIgdG8gdGhlCi0rYXBwbGljYXRpb24sIHRoaXMgbWVtb3J5IHdpbGwgbmV2ZXIgYmUgc3Vic2VxdWVudGx5IG1vZGlmaWVkLgotKwotK1N0b3JlZCBpbiB0aGUgQGNvZGV7dW5jaGFuZ2luZ30gZmllbGQgYW5kIHByaW50ZWQgYXMgQHNhbXB7L3V9LgotKwotK0BmaW5kZXggUFJFRkVUQ0hfU0NIRURVTEVfQkFSUklFUl9QCi0rQGNpbmRleCBAY29kZXtwcmVmZXRjaH0gYW5kIEBzYW1wey92fQotK0BjaW5kZXggQGNvZGV7dm9sYXRpbGV9LCBpbiBAY29kZXtwcmVmZXRjaH0KLStAaXRlbSBQUkVGRVRDSF9TQ0hFRFVMRV9CQVJSSUVSX1AgKEB2YXJ7eH0pCi0rSW4gYSBAY29kZXtwcmVmZXRjaH0sIGluZGljYXRlcyB0aGF0IHRoZSBwcmVmZXRjaCBpcyBhIHNjaGVkdWxpbmcgYmFycmllci4KLStObyBvdGhlciBJTlNOcyB3aWxsIGJlIG1vdmVkIG92ZXIgaXQuCi0rU3RvcmVkIGluIHRoZSBAY29kZXt2b2xhdGlsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcyBAc2FtcHsvdn0uCi0rCi0gQGZpbmRleCBSRUdfRlVOQ1RJT05fVkFMVUVfUAotIEBjaW5kZXggQGNvZGV7cmVnfSBhbmQgQHNhbXB7L2l9Ci0gQGNpbmRleCBAY29kZXtyZXR1cm5fdmFsfSwgaW4gQGNvZGV7cmVnfQotQEAgLTczMSw2ICs3MzMsMzcgQEAgVGhlIHNhbWUgaGFyZCByZWdpc3RlciBtYXkgYmUgdXNlZCBhbHNvIGZvciBjb2xsZWN0aW5nIHRoZSB2YWx1ZXMgb2YKLSBmdW5jdGlvbnMgY2FsbGVkIGJ5IHRoaXMgb25lLCBidXQgQGNvZGV7UkVHX0ZVTkNUSU9OX1ZBTFVFX1B9IGlzIHplcm8KLSBpbiB0aGlzIGtpbmQgb2YgdXNlLgotIAotK0BmaW5kZXggUlRMX0NPTlNUX0NBTExfUAotK0BjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L3V9Ci0rQGNpbmRleCBAY29kZXt1bmNoYW5naW5nfSwgaW4gQGNvZGV7Y2FsbF9pbnNufQotK0BpdGVtIFJUTF9DT05TVF9DQUxMX1AgKEB2YXJ7eH0pCi0rSW4gYSBAY29kZXtjYWxsX2luc259IGluZGljYXRlcyB0aGF0IHRoZSBpbnNuIHJlcHJlc2VudHMgYSBjYWxsIHRvIGEKLStjb25zdCBmdW5jdGlvbi4gIFN0b3JlZCBpbiB0aGUgQGNvZGV7dW5jaGFuZ2luZ30gZmllbGQgYW5kIHByaW50ZWQgYXMKLStAc2FtcHsvdX0uCi0rCi0rQGZpbmRleCBSVExfUFVSRV9DQUxMX1AKLStAY2luZGV4IEBjb2Rle2NhbGxfaW5zbn0gYW5kIEBzYW1wey9pfQotK0BjaW5kZXggQGNvZGV7cmV0dXJuX3ZhbH0sIGluIEBjb2Rle2NhbGxfaW5zbn0KLStAaXRlbSBSVExfUFVSRV9DQUxMX1AgKEB2YXJ7eH0pCi0rSW4gYSBAY29kZXtjYWxsX2luc259IGluZGljYXRlcyB0aGF0IHRoZSBpbnNuIHJlcHJlc2VudHMgYSBjYWxsIHRvIGEKLStwdXJlIGZ1bmN0aW9uLiAgU3RvcmVkIGluIHRoZSBAY29kZXtyZXR1cm5fdmFsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcwotK0BzYW1wey9pfS4KLSsKLStAZmluZGV4IFJUTF9DT05TVF9PUl9QVVJFX0NBTExfUAotK0BjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L3V9IG9yIEBzYW1wey9pfQotK0BpdGVtIFJUTF9DT05TVF9PUl9QVVJFX0NBTExfUCAoQHZhcnt4fSkKLStJbiBhIEBjb2Rle2NhbGxfaW5zbn0sIHRydWUgaWYgQGNvZGV7UlRMX0NPTlNUX0NBTExfUH0gb3IKLStAY29kZXtSVExfUFVSRV9DQUxMX1B9IGlzIHRydWUuCi0rCi0rQGZpbmRleCBSVExfTE9PUElOR19DT05TVF9PUl9QVVJFX0NBTExfUAotK0BjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L2N9Ci0rQGNpbmRleCBAY29kZXtjYWxsfSwgaW4gQGNvZGV7Y2FsbF9pbnNufQotK0BpdGVtIFJUTF9MT09QSU5HX0NPTlNUX09SX1BVUkVfQ0FMTF9QIChAdmFye3h9KQotK0luIGEgQGNvZGV7Y2FsbF9pbnNufSBpbmRpY2F0ZXMgdGhhdCB0aGUgaW5zbiByZXByZXNlbnRzIGEgcG9zc2libHkKLStpbmZpbml0ZSBsb29waW5nIGNhbGwgdG8gYSBjb25zdCBvciBwdXJlIGZ1bmN0aW9uLiAgU3RvcmVkIGluIHRoZQotK0Bjb2Rle2NhbGx9IGZpZWxkIGFuZCBwcmludGVkIGFzIEBzYW1wey9jfS4gIE9ubHkgdHJ1ZSBpZiBvbmUgb2YKLStAY29kZXtSVExfQ09OU1RfQ0FMTF9QfSBvciBAY29kZXtSVExfUFVSRV9DQUxMX1B9IGlzIHRydWUuCi0rCi0gQGZpbmRleCBSVFhfRlJBTUVfUkVMQVRFRF9QCi0gQGNpbmRleCBAY29kZXtpbnNufSBhbmQgQHNhbXB7L2Z9Ci0gQGNpbmRleCBAY29kZXtjYWxsX2luc259IGFuZCBAc2FtcHsvZn0KLUBAIC03NjUsMjEgKzc5OCw2IEBAIGNvbXB1dGF0aW9uIHBlcmZvcm1lZCBieSB0aGlzIGluc3RydWN0aW9uLCBpLmUuLCBvbmUgdGhhdAotIFRoaXMgZmxhZyBpcyByZXF1aXJlZCBmb3IgZXhjZXB0aW9uIGhhbmRsaW5nIHN1cHBvcnQgb24gdGFyZ2V0cyB3aXRoIFJUTAotIHByb2xvZ3Vlcy4KLSAKLS1AZmluZGV4IE1FTV9SRUFET05MWV9QCi0tQGNpbmRleCBAY29kZXttZW19IGFuZCBAc2FtcHsvdX0KLS1AY2luZGV4IEBjb2Rle3VuY2hhbmdpbmd9LCBpbiBAY29kZXttZW19Ci0tQGl0ZW0gTUVNX1JFQURPTkxZX1AgKEB2YXJ7eH0pCi0tTm9uemVybyBpbiBhIEBjb2Rle21lbX0sIGlmIHRoZSBtZW1vcnkgaXMgc3RhdGljYWxseSBhbGxvY2F0ZWQgYW5kIHJlYWQtb25seS4KLS0KLS1SZWFkLW9ubHkgaW4gdGhpcyBjb250ZXh0IG1lYW5zIG5ldmVyIG1vZGlmaWVkIGR1cmluZyB0aGUgbGlmZXRpbWUgb2YgdGhlCi0tcHJvZ3JhbSwgbm90IG5lY2Vzc2FyaWx5IGluIFJPTSBvciBpbiB3cml0ZS1kaXNhYmxlZCBwYWdlcy4gIEEgY29tbW9uCi0tZXhhbXBsZSBvZiB0aGUgbGF0ZXIgaXMgYSBzaGFyZWQgbGlicmFyeSdzIGdsb2JhbCBvZmZzZXQgdGFibGUuICBUaGlzCi0tdGFibGUgaXMgaW5pdGlhbGl6ZWQgYnkgdGhlIHJ1bnRpbWUgbG9hZGVyLCBzbyB0aGUgbWVtb3J5IGlzIHRlY2huaWNhbGx5Ci0td3JpdGFibGUsIGJ1dCBhZnRlciBjb250cm9sIGlzIHRyYW5zZmVycmVkIGZyb20gdGhlIHJ1bnRpbWUgbG9hZGVyIHRvIHRoZQotLWFwcGxpY2F0aW9uLCB0aGlzIG1lbW9yeSB3aWxsIG5ldmVyIGJlIHN1YnNlcXVlbnRseSBtb2RpZmllZC4KLS0KLS1TdG9yZWQgaW4gdGhlIEBjb2Rle3VuY2hhbmdpbmd9IGZpZWxkIGFuZCBwcmludGVkIGFzIEBzYW1wey91fS4KLS0KLSBAZmluZGV4IFNDSEVEX0dST1VQX1AKLSBAY2luZGV4IEBjb2Rle2luc259IGFuZCBAc2FtcHsvc30KLSBAY2luZGV4IEBjb2Rle2NhbGxfaW5zbn0gYW5kIEBzYW1wey9zfQotQEAgLTg3OSwxNCArODk3LDYgQEAgU3RvcmVkIGluIHRoZSBAY29kZXt2b2xhdGlsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcyBAc2FtcHsvdn0uCi0gTW9zdCB1c2VzIG9mIEBjb2Rle1NZTUJPTF9SRUZfRkxBR30gYXJlIGhpc3RvcmljIGFuZCBtYXkgYmUgc3Vic3VtZWQKLSBieSBAY29kZXtTWU1CT0xfUkVGX0ZMQUdTfS4gIENlcnRhaW5seSB1c2Ugb2YgQGNvZGV7U1lNQk9MX1JFRl9GTEFHU30KLSBpcyBtYW5kYXRvcnkgaWYgdGhlIHRhcmdldCByZXF1aXJlcyBtb3JlIHRoYW4gb25lIGJpdCBvZiBzdG9yYWdlLgotLQotLUBmaW5kZXggUFJFRkVUQ0hfU0NIRURVTEVfQkFSUklFUl9QCi0tQGNpbmRleCBAY29kZXtwcmVmZXRjaH0gYW5kIEBzYW1wey92fQotLUBjaW5kZXggQGNvZGV7dm9sYXRpbGV9LCBpbiBAY29kZXtwcmVmZXRjaH0KLS1AaXRlbSBQUkVGRVRDSF9TQ0hFRFVMRV9CQVJSSUVSX1AgKEB2YXJ7eH0pCi0tSW4gYSBAY29kZXtwcmVmZXRjaH0sIGluZGljYXRlcyB0aGF0IHRoZSBwcmVmZXRjaCBpcyBhIHNjaGVkdWxpbmcgYmFycmllci4KLS1ObyBvdGhlciBJTlNOcyB3aWxsIGJlIG1vdmVkIG92ZXIgaXQuCi0tU3RvcmVkIGluIHRoZSBAY29kZXt2b2xhdGlsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcyBAc2FtcHsvdn0uCi0gQGVuZCB0YWJsZQotIAotIFRoZXNlIGFyZSB0aGUgZmllbGRzIHRvIHdoaWNoIHRoZSBhYm92ZSBtYWNyb3MgcmVmZXI6Ci1AQCAtOTc0LDYgKzk4NSw4IEBAIEluIGEgQGNvZGV7c2V0fSwgMSBtZWFucyBpdCBpcyBmb3IgYSByZXR1cm4uCi0gCi0gSW4gYSBAY29kZXtjYWxsX2luc259LCAxIG1lYW5zIGl0IGlzIGEgc2libGluZyBjYWxsLgotIAotK0luIGEgQGNvZGV7anVtcF9pbnNufSwgMSBtZWFucyBpdCBpcyBhIGNyb3NzaW5nIGp1bXAuCi0rCi0gSW4gYW4gUlRMIGR1bXAsIHRoaXMgZmxhZyBpcyByZXByZXNlbnRlZCBhcyBAc2FtcHsvan0uCi0gCi0gQGZpbmRleCB1bmNoYW5naW5nCi1AQCAtMzg4NywxNiArMzkwMCw2IEBAIG11bHRpcGxlIHRhcmdldHM7IHRoZSBsYXN0IGxhYmVsIGluIHRoZSBpbnNuIChpbiB0aGUgaGlnaGVzdCBudW1iZXJlZAotIGluc24tZmllbGQpIGdvZXMgaW50byB0aGUgQGNvZGV7SlVNUF9MQUJFTH0gZmllbGQgYW5kIGRvZXMgbm90IGhhdmUgYQotIEBjb2Rle1JFR19MQUJFTF9UQVJHRVR9IG5vdGUuICBAeHJlZntJbnNucywgSlVNUF9MQUJFTH0uCi0gCi0tQGZpbmRleCBSRUdfQ1JPU1NJTkdfSlVNUAotLUBpdGVtIFJFR19DUk9TU0lOR19KVU1QCi0tVGhpcyBpbnNuIGlzIGEgYnJhbmNoaW5nIGluc3RydWN0aW9uIChlaXRoZXIgYW4gdW5jb25kaXRpb25hbCBqdW1wIG9yCi0tYW4gaW5kaXJlY3QganVtcCkgd2hpY2ggY3Jvc3NlcyBiZXR3ZWVuIGhvdCBhbmQgY29sZCBzZWN0aW9ucywgd2hpY2gKLS1jb3VsZCBwb3RlbnRpYWxseSBiZSB2ZXJ5IGZhciBhcGFydCBpbiB0aGUgZXhlY3V0YWJsZS4gIFRoZSBwcmVzZW5jZQotLW9mIHRoaXMgbm90ZSBpbmRpY2F0ZXMgdG8gb3RoZXIgb3B0aW1pemF0aW9ucyB0aGF0IHRoaXMgYnJhbmNoaW5nCi0taW5zdHJ1Y3Rpb24gc2hvdWxkIG5vdCBiZSBgYGNvbGxhcHNlZCcnIGludG8gYSBzaW1wbGVyIGJyYW5jaGluZwotLWNvbnN0cnVjdC4gIEl0IGlzIHVzZWQgd2hlbiB0aGUgb3B0aW1pemF0aW9uIHRvIHBhcnRpdGlvbiBiYXNpYyBibG9ja3MKLS1pbnRvIGhvdCBhbmQgY29sZCBzZWN0aW9ucyBpcyB0dXJuZWQgb24uCi0tCi0gQGZpbmRleCBSRUdfU0VUSk1QCi0gQGl0ZW0gUkVHX1NFVEpNUAotIEFwcGVhcnMgYXR0YWNoZWQgdG8gZWFjaCBAY29kZXtDQUxMX0lOU059IHRvIEBjb2Rle3NldGptcH0gb3IgYQotZGlmZiAtLWdpdCBhL2djYy9yZW9yZy5jIGIvZ2NjL3Jlb3JnLmMKLWluZGV4IDU5MTRhZjYuLjc3ZjNmZTcgMTAwNjQ0Ci0tLS0gYS9nY2MvcmVvcmcuYwotKysrIGIvZ2NjL3Jlb3JnLmMKLUBAIC0zMzYwLDEwICszMzYwLDExIEBAIHJlbGF4X2RlbGF5X3Nsb3RzIChydHhfaW5zbiAqZmlyc3QpCi0gCX0KLSAKLSAgICAgICAvKiBTZWUgaWYgd2UgaGF2ZSBhIHNpbXBsZSAoY29uZGl0aW9uYWwpIGp1bXAgdGhhdCBpcyB1c2VsZXNzLiAgKi8KLS0gICAgICBpZiAoISBJTlNOX0FOTlVMTEVEX0JSQU5DSF9QIChkZWxheV9qdW1wX2luc24pCi0tCSAgJiYgISBjb25kanVtcF9pbl9wYXJhbGxlbF9wIChkZWxheV9qdW1wX2luc24pCi0rICAgICAgaWYgKCFDUk9TU0lOR19KVU1QX1AgKGRlbGF5X2p1bXBfaW5zbikKLSsJICAmJiAhSU5TTl9BTk5VTExFRF9CUkFOQ0hfUCAoZGVsYXlfanVtcF9pbnNuKQotKwkgICYmICFjb25kanVtcF9pbl9wYXJhbGxlbF9wIChkZWxheV9qdW1wX2luc24pCi0gCSAgJiYgcHJldl9hY3RpdmVfaW5zbiAoYXNfYTxydHhfaW5zbiAqPiAodGFyZ2V0X2xhYmVsKSkgPT0gaW5zbgotLQkgICYmICEgQkFSUklFUl9QIChwcmV2X25vbm5vdGVfaW5zbiAoYXNfYTxydHhfaW5zbiAqPiAodGFyZ2V0X2xhYmVsKSkpCi0rCSAgJiYgIUJBUlJJRVJfUCAocHJldl9ub25ub3RlX2luc24gKGFzX2E8cnR4X2luc24gKj4gKHRhcmdldF9sYWJlbCkpKQotIAkgIC8qIElmIHRoZSBsYXN0IGluc24gaW4gdGhlIGRlbGF5IHNsb3Qgc2V0cyBDQzAgZm9yIHNvbWUgaW5zbiwKLSAJICAgICB2YXJpb3VzIGNvZGUgYXNzdW1lcyB0aGF0IGl0IGlzIGluIGEgZGVsYXkgc2xvdC4gIFdlIGNvdWxkCi0gCSAgICAgcHV0IGl0IGJhY2sgd2hlcmUgaXQgYmVsb25nZWQgYW5kIGRlbGV0ZSB0aGUgcmVnaXN0ZXIgbm90ZXMsCi0tLSAKLTEuOC41LjYKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1nY2MtNC4zLjEtQVJDSF9GTEFHU19GT1JfVEFSR0VULnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1nY2MtNC4zLjEtQVJDSF9GTEFHU19GT1JfVEFSR0VULnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYWYxYzc0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDEtZ2NjLTQuMy4xLUFSQ0hfRkxBR1NfRk9SX1RBUkdFVC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLUZyb20gMmZjZjFlMjNlZjRiMmE1YzkzNTI2ZjEyMjEyYWE4OTI1OTUyNjFmNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA4OjM3OjExICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDEvNDddIGdjYy00LjMuMTogQVJDSF9GTEFHU19GT1JfVEFSR0VUCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0tLS0KLSBjb25maWd1cmUgICAgfCAyICstCi0gY29uZmlndXJlLmFjIHwgMiArLQotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCi1pbmRleCAzMmEzODYzM2FkOC4uYjQ3NjA5NTIwODUgMTAwNzU1Ci0tLS0gYS9jb25maWd1cmUKLSsrKyBiL2NvbmZpZ3VyZQotQEAgLTc0NzIsNyArNzQ3Miw3IEBAIGZpCi0gIyBmb3IgdGFyZ2V0X2FsaWFzIGFuZCBnY2MgZG9lc24ndCBtYW5hZ2UgaXQgY29uc2lzdGVudGx5LgotIHRhcmdldF9jb25maWdhcmdzPSItLWNhY2hlLWZpbGU9Li9jb25maWcuY2FjaGUgJHt0YXJnZXRfY29uZmlnYXJnc30iCi0gCi0tRkxBR1NfRk9SX1RBUkdFVD0KLStGTEFHU19GT1JfVEFSR0VUPSIkQVJDSF9GTEFHU19GT1JfVEFSR0VUIgotIGNhc2UgIiAkdGFyZ2V0X2NvbmZpZ2RpcnMgIiBpbgotICAqIiBuZXdsaWIgIiopCi0gICBjYXNlICIgJHRhcmdldF9jb25maWdhcmdzICIgaW4KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDEyMzc3NDk5Mjk1Li4xNzZlYmI5MjFlZCAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMzA2NSw3ICszMDY1LDcgQEAgZmkKLSAjIGZvciB0YXJnZXRfYWxpYXMgYW5kIGdjYyBkb2Vzbid0IG1hbmFnZSBpdCBjb25zaXN0ZW50bHkuCi0gdGFyZ2V0X2NvbmZpZ2FyZ3M9Ii0tY2FjaGUtZmlsZT0uL2NvbmZpZy5jYWNoZSAke3RhcmdldF9jb25maWdhcmdzfSIKLSAKLS1GTEFHU19GT1JfVEFSR0VUPQotK0ZMQUdTX0ZPUl9UQVJHRVQ9IiRBUkNIX0ZMQUdTX0ZPUl9UQVJHRVQiCi0gY2FzZSAiICR0YXJnZXRfY29uZmlnZGlycyAiIGluCi0gICoiIG5ld2xpYiAiKikKLSAgIGNhc2UgIiAkdGFyZ2V0X2NvbmZpZ2FyZ3MgIiBpbgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwOS1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDktZ2NjLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlMTNlZDYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwOS1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5MiArMCwwIEBACi1Gcm9tIDQ3OTFhMGEwZjQ1OTVkMGExODk3NGY0ZTg1YTc1OWEwNzg5OTQzZGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwODo1OTowMCArMDQwMAotU3ViamVjdDogW1BBVENIIDA5LzQ3XSBnY2M6IHBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtkaXN0cmlidXRpb246IGNvZGVzb3VyY2VyeV0KLS0tLQotIGdjYy9jb21tb24ub3B0ICAgICAgfCAgNCArKysrCi0gZ2NjL2NvbmZpZy5pbiAgICAgICB8ICA2ICsrKysrKwotIGdjYy9jb25maWd1cmUgICAgICAgfCAxNiArKysrKysrKysrKysrKysrCi0gZ2NjL2NvbmZpZ3VyZS5hYyAgICB8IDEwICsrKysrKysrKysKLSBnY2MvZG9jL2ludm9rZS50ZXhpIHwgIDkgKysrKysrKysrCi0gZ2NjL2djYy5jICAgICAgICAgICB8ICAyICsrCi0gZ2NjL2luY3BhdGguYyAgICAgICB8IDE5ICsrKysrKysrKysrKysrKysrKysKLSA3IGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2djYy9jb21tb24ub3B0IGIvZ2NjL2NvbW1vbi5vcHQKLWluZGV4IGE1YzNhZWFhMzM2Li5mMDJmZTY2MzY3ZSAxMDA2NDQKLS0tLSBhL2djYy9jb21tb24ub3B0Ci0rKysgYi9nY2MvY29tbW9uLm9wdAotQEAgLTY2Miw2ICs2NjIsMTAgQEAgV3JldHVybi1sb2NhbC1hZGRyCi0gQ29tbW9uIFZhcih3YXJuX3JldHVybl9sb2NhbF9hZGRyKSBJbml0KDEpIFdhcm5pbmcKLSBXYXJuIGFib3V0IHJldHVybmluZyBhIHBvaW50ZXIvcmVmZXJlbmNlIHRvIGEgbG9jYWwgb3IgdGVtcG9yYXJ5IHZhcmlhYmxlLgotIAotK1dwb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rQ29tbW9uIFZhcihmbGFnX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMpIEluaXQoMSkgV2FybmluZwotK1dhcm4gZm9yIC1JIGFuZCAtTCBvcHRpb25zIHVzaW5nIHN5c3RlbSBkaXJlY3RvcmllcyBpZiBjcm9zcyBjb21waWxpbmcKLSsKLSBXc2hhZG93Ci0gQ29tbW9uIFZhcih3YXJuX3NoYWRvdykgV2FybmluZwotIFdhcm4gd2hlbiBvbmUgdmFyaWFibGUgc2hhZG93cyBhbm90aGVyLiAgU2FtZSBhcyAtV3NoYWRvdz1nbG9iYWwuCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy5pbiBiL2djYy9jb25maWcuaW4KLWluZGV4IGJmMmFhN2IyZTdkLi5iMTIwMzk4N2UxNSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcuaW4KLSsrKyBiL2djYy9jb25maWcuaW4KLUBAIC0xOTQsNiArMTk0LDEyIEBACi0gI2VuZGlmCi0gCi0gCi0rLyogRGVmaW5lIHRvIHdhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGhlYWRlciBkaXJlY3RvcmllcyAqLwotKyNpZm5kZWYgVVNFRF9GT1JfVEFSR0VUCi0rI3VuZGVmIEVOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTCi0rI2VuZGlmCi0rCi0rCi0gLyogRGVmaW5lIGlmIHlvdSB3YW50IGFsbCBvcGVyYXRpb25zIG9uIFJUTCAodGhlIGJhc2ljIGRhdGEgc3RydWN0dXJlIG9mIHRoZQotICAgIG9wdGltaXplciBhbmQgYmFjayBlbmQpIHRvIGJlIGNoZWNrZWQgZm9yIGR5bmFtaWMgdHlwZSBzYWZldHkgYXQgcnVudGltZS4KLSAgICBUaGlzIGlzIHF1aXRlIGV4cGVuc2l2ZS4gKi8KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQotaW5kZXggYzgyM2ZmZTYyOTAuLjQ4OThmMDRmYTZiIDEwMDc1NQotLS0tIGEvZ2NjL2NvbmZpZ3VyZQotKysrIGIvZ2NjL2NvbmZpZ3VyZQotQEAgLTk0OSw2ICs5NDksNyBAQCB3aXRoX3N5c3RlbV96bGliCi0gZW5hYmxlX21haW50YWluZXJfbW9kZQotIGVuYWJsZV9saW5rX211dGV4Ci0gZW5hYmxlX3ZlcnNpb25fc3BlY2lmaWNfcnVudGltZV9saWJzCi0rZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMKLSBlbmFibGVfcGx1Z2luCi0gZW5hYmxlX2hvc3Rfc2hhcmVkCi0gZW5hYmxlX2xpYnF1YWRtYXRoX3N1cHBvcnQKLUBAIC0xNjkxLDYgKzE2OTIsOCBAQCBPcHRpb25hbCBGZWF0dXJlczoKLSAgIC0tZW5hYmxlLXZlcnNpb24tc3BlY2lmaWMtcnVudGltZS1saWJzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IHRoYXQgcnVudGltZSBsaWJyYXJpZXMgc2hvdWxkIGJlIGluc3RhbGxlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYSBjb21waWxlci1zcGVjaWZpYyBkaXJlY3RvcnkKLSsgIC0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLSsgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGhlYWRlciBkaXJlY3RvcmllcwotICAgLS1lbmFibGUtcGx1Z2luICAgICAgICAgZW5hYmxlIHBsdWdpbiBzdXBwb3J0Ci0gICAtLWVuYWJsZS1ob3N0LXNoYXJlZCAgICBidWlsZCBob3N0IGNvZGUgYXMgc2hhcmVkIGxpYnJhcmllcwotICAgLS1kaXNhYmxlLWxpYnF1YWRtYXRoLXN1cHBvcnQKLUBAIC0yOTM0Nyw2ICsyOTM1MCwxOSBAQCBpZiB0ZXN0ICIke2VuYWJsZV92ZXJzaW9uX3NwZWNpZmljX3J1bnRpbWVfbGlicytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gZmkKLSAKLSAKLSsjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcyB3YXMgZ2l2ZW4uCi0raWYgdGVzdCAiJHtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcytzZXR9IiA9IHNldDsgdGhlbiA6Ci0rICBlbmFibGV2YWw9JGVuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzOwotK2Vsc2UKLSsgIGVuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzPW5vCi0rZmkKLSsKLStpZiB0ZXN0ICJ4JHtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllc30iID0gInh5ZXMiOyB0aGVuCi0rCi0rJGFzX2VjaG8gIiNkZWZpbmUgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMgMSIgPj5jb25mZGVmcy5oCi0rCi0rZmkKLSsKLSAjIFN1YnN0aXR1dGUgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMKLSAKLSAKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlLmFjIGIvZ2NjL2NvbmZpZ3VyZS5hYwotaW5kZXggYWNmZTk3OTczODkuLjlkYzFkYzdmYzk2IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZ3VyZS5hYwotKysrIGIvZ2NjL2NvbmZpZ3VyZS5hYwotQEAgLTYxMDEsNiArNjEwMSwxNiBAQCBBQ19BUkdfRU5BQkxFKHZlcnNpb24tc3BlY2lmaWMtcnVudGltZS1saWJzLAotICAgICAgICAgICAgICAgICBbc3BlY2lmeSB0aGF0IHJ1bnRpbWUgbGlicmFyaWVzIHNob3VsZCBiZQotICAgICAgICAgICAgICAgICAgaW5zdGFsbGVkIGluIGEgY29tcGlsZXItc3BlY2lmaWMgZGlyZWN0b3J5XSldKQotIAotK0FDX0FSR19FTkFCTEUoW3BvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXNdLAotKyAgICAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllc10sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBoZWFkZXIgZGlyZWN0b3JpZXNdKSwsCi0rICAgICAgICAgICAgIFtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcz1ub10pCi0raWYgdGVzdCAieCR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXN9IiA9ICJ4eWVzIjsgdGhlbgotKyAgQUNfREVGSU5FKFtFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFU10sCi0rICAgICAgICAgICBbMV0sCi0rICAgICAgICAgICBbRGVmaW5lIHRvIHdhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGhlYWRlciBkaXJlY3Rvcmllc10pCi0rZmkKLSsKLSAjIFN1YnN0aXR1dGUgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMKLSBBQ19TVUJTVChzdWJkaXJzKQotIEFDX1NVQlNUKHNyY2RpcikKLWRpZmYgLS1naXQgYS9nY2MvZG9jL2ludm9rZS50ZXhpIGIvZ2NjL2RvYy9pbnZva2UudGV4aQotaW5kZXggNjhhNTU4ZTk5OTIuLjA2MGNkNzE2OWM2IDEwMDY0NAotLS0tIGEvZ2NjL2RvYy9pbnZva2UudGV4aQotKysrIGIvZ2NjL2RvYy9pbnZva2UudGV4aQotQEAgLTI5OCw2ICsyOTgsNyBAQCBPYmplY3RpdmUtQyBhbmQgT2JqZWN0aXZlLUMrKyBEaWFsZWN0c30uCi0gLVdwYWNrZWQgIC1XcGFja2VkLWJpdGZpZWxkLWNvbXBhdCAgLVdwYWRkZWQgQGdvbAotIC1XcGFyZW50aGVzZXMgIC1Xbm8tcGVkYW50aWMtbXMtZm9ybWF0IEBnb2wKLSAtV3BsYWNlbWVudC1uZXcgIC1XcGxhY2VtZW50LW5ldz1AdmFye259IEBnb2wKLSstV25vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMgQGdvbAotIC1XcG9pbnRlci1hcml0aCAgLVdwb2ludGVyLWNvbXBhcmUgIC1Xbm8tcG9pbnRlci10by1pbnQtY2FzdCBAZ29sCi0gLVduby1wcmFnbWFzICAtV3JlZHVuZGFudC1kZWNscyAgLVdyZXN0cmljdCAgLVduby1yZXR1cm4tbG9jYWwtYWRkciBAZ29sCi0gLVdyZXR1cm4tdHlwZSAgLVdzZXF1ZW5jZS1wb2ludCAgLVdzaGFkb3cgIC1Xbm8tc2hhZG93LWl2YXIgQGdvbAotQEAgLTUzOTUsNiArNTM5NiwxNCBAQCBtYWRlIHVwIG9mIGRhdGEgb25seSBhbmQgdGh1cyByZXF1aXJlcyBubyBzcGVjaWFsIHRyZWF0bWVudC4gIEJ1dCwgZm9yCi0gbW9zdCB0YXJnZXRzLCBpdCBpcyBtYWRlIHVwIG9mIGNvZGUgYW5kIHRodXMgcmVxdWlyZXMgdGhlIHN0YWNrIHRvIGJlCi0gbWFkZSBleGVjdXRhYmxlIGluIG9yZGVyIGZvciB0aGUgcHJvZ3JhbSB0byB3b3JrIHByb3Blcmx5LgotIAotK0BpdGVtIC1Xbm8tcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcwotK0BvcGluZGV4IFduby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rRG8gbm90IHdhcm4gZm9yIEBvcHRpb257LUl9IG9yIEBvcHRpb257LUx9IG9wdGlvbnMgdXNpbmcgc3lzdGVtCi0rZGlyZWN0b3JpZXMgc3VjaCBhcyBAZmlsZXsvdXNyL2luY2x1ZGV9IHdoZW4gY3Jvc3MgY29tcGlsaW5nLiAgVGhpcwotK29wdGlvbiBpcyBpbnRlbmRlZCBmb3IgdXNlIGluIGNocm9vdCBlbnZpcm9ubWVudHMgd2hlbiBzdWNoCi0rZGlyZWN0b3JpZXMgY29udGFpbiB0aGUgY29ycmVjdCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMgZm9yIHRoZSB0YXJnZXQKLStzeXN0ZW0gcmF0aGVyIHRoYW4gdGhlIGhvc3QuCi0rCi0gQGl0ZW0gLVdmbG9hdC1lcXVhbAotIEBvcGluZGV4IFdmbG9hdC1lcXVhbAotIEBvcGluZGV4IFduby1mbG9hdC1lcXVhbAotZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYwotaW5kZXggYzQ4MTc4Zi4uZjYzZDUzZCAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTAyOSw2ICsxMDI5LDggQEAgcHJvcGVyIHBvc2l0aW9uIGFtb25nIHRoZSBvdGhlciBvdXRwdXQgZmlsZXMuICAqLwotICAgICIle2Z1c2UtbGQ9KjotZnVzZS1sZD0lKn0gIiBMSU5LX0NPTVBSRVNTX0RFQlVHX1NQRUMgXAotICAgICIlWCAle28qfSAle2UqfSAle059ICV7bn0gJXtyfVwKLSAgICAgJXtzfSAle3R9ICV7dSp9ICV7en0gJXtafSAleyFub3N0ZGxpYjoleyFub3N0YXJ0ZmlsZXM6JVN9fSBcCi0rICAgICV7V25vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXM6LS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzfSBcCi0rICAgICV7V2Vycm9yPXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXM6LS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzfSBcCi0gICAgICV7c3RhdGljfG5vLXBpZTp9ICV7TCp9ICUobWZ3cmFwKSAlKGxpbmtfbGliZ2NjKSAiIFwKLSAgICAgVlRBQkxFX1ZFUklGSUNBVElPTl9TUEVDICIgIiBTQU5JVElaRVJfRUFSTFlfU1BFQyAiICVvICIgQ0hLUF9TUEVDICIgXAotICAgICAle2ZvcGVuYWNjfGZvcGVubXB8JTpndCgle2Z0cmVlLXBhcmFsbGVsaXplLWxvb3BzPSo6JSp9IDEpOlwKLWRpZmYgLS1naXQgYS9nY2MvaW5jcGF0aC5jIGIvZ2NjL2luY3BhdGguYwotaW5kZXggOThmZTVlYzlhYjMuLmY5MGU3NGRiZDczIDEwMDY0NAotLS0tIGEvZ2NjL2luY3BhdGguYwotKysrIGIvZ2NjL2luY3BhdGguYwotQEAgLTI2LDYgKzI2LDcgQEAKLSAjaW5jbHVkZSAiaW50bC5oIgotICNpbmNsdWRlICJpbmNwYXRoLmgiCi0gI2luY2x1ZGUgImNwcGRlZmF1bHQuaCIKLSsjaW5jbHVkZSAiZGlhZ25vc3RpYy1jb3JlLmgiCi0gCi0gLyogTWljcm9zb2Z0IFdpbmRvd3MgZG9lcyBub3QgbmF0aXZlbHkgc3VwcG9ydCBpbm9kZXMuCi0gICAgVk1TIGhhcyBub24tbnVtZXJpYyBpbm9kZXMuICAqLwotQEAgLTM4Miw2ICszODMsMjQgQEAgbWVyZ2VfaW5jbHVkZV9jaGFpbnMgKGNvbnN0IGNoYXIgKnN5c3Jvb3QsIGNwcF9yZWFkZXIgKnBmaWxlLCBpbnQgdmVyYm9zZSkKLSAJfQotICAgICAgIGZwcmludGYgKHN0ZGVyciwgXygiRW5kIG9mIHNlYXJjaCBsaXN0LlxuIikpOwotICAgICB9Ci0rCi0rI2lmZGVmIEVOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTCi0rICBpZiAoZmxhZ19wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzKQotKyAgICB7Ci0rICAgICAgIHN0cnVjdCBjcHBfZGlyICpwOwotKwotKyAgICAgICBmb3IgKHAgPSBoZWFkc1tRVU9URV07IHA7IHAgPSBwLT5uZXh0KQotKyAgICAgICAgIHsKLSsgICAgICAgICAgaWYgKCghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvaW5jbHVkZSIsIDEyKSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvbG9jYWwvaW5jbHVkZSIsIDE4KSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvWDExUjYvaW5jbHVkZSIsIDE4KSkpCi0rICAgICAgICAgICAgd2FybmluZyAoT1BUX1dwb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLAotKyAgICAgICAgICAgICAgICAgICAgICJpbmNsdWRlIGxvY2F0aW9uIFwiJXNcIiBpcyB1bnNhZmUgZm9yICIKLSsgICAgICAgICAgICAgICAgICAgICAiY3Jvc3MtY29tcGlsYXRpb24iLAotKyAgICAgICAgICAgICAgICAgICAgIHAtPm5hbWUpOwotKyAgICAgICAgIH0KLSsgICAgfQotKyNlbmRpZgotIH0KLSAKLSAvKiBVc2UgZ2l2ZW4gLUkgcGF0aHMgZm9yICNpbmNsdWRlICIuLi4iIGJ1dCBub3QgI2luY2x1ZGUgPC4uLj4sIGFuZAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxMC1nY2MtcG9pc29uLWRpci1leHRlbmQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDEwLWdjYy1wb2lzb24tZGlyLWV4dGVuZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGUwNmFhMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDEwLWdjYy1wb2lzb24tZGlyLWV4dGVuZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gZTc0ZWY4NGFkNjA5YjNiNmE1YzM3ZDIwN2ZmYzNjNmU3MGQxZjAyNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjAwOjM0ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTAvNDddIGdjYy1wb2lzb24tZGlyLWV4dGVuZAotCi1BZGQgL3N3L2luY2x1ZGUgYW5kIC9vcHQvaW5jbHVkZSBiYXNlZCBvbiB0aGUgb3JpZ2luYWwKLXplY2tlLW5vLWhvc3QtaW5jbHVkZXMucGF0Y2ggcGF0Y2guICBUaGUgb3JpZ2luYWwgcGF0Y2ggY2hlY2tlZCBmb3IKLS91c3IvaW5jbHVkZSwgL3N3L2luY2x1ZGUgYW5kIC9vcHQvaW5jbHVkZSBhbmQgdGhlbiB0cmlnZ2VyZWQgYSBmYWlsdXJlIGFuZAotYWJvcnRlZC4KLQotSW5zdGVhZCwgd2UgYWRkIHRoZSB0d28gbWlzc2luZyBpdGVtcyB0byB0aGUgY3VycmVudCBzY2FuLiAgSWYgdGhlIHVzZXIKLXdhbnRzIHRoaXMgdG8gYmUgYSBmYWlsdXJlLCB0aGV5IGNhbiBhZGQgIi1XZXJyb3I9cG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcyIuCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gZ2NjL2luY3BhdGguYyB8IDQgKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9pbmNwYXRoLmMgYi9nY2MvaW5jcGF0aC5jCi1pbmRleCBmOTBlNzRkYmQ3My4uYzU4M2VlNTA2MWQgMTAwNjQ0Ci0tLS0gYS9nY2MvaW5jcGF0aC5jCi0rKysgYi9nY2MvaW5jcGF0aC5jCi1AQCAtMzkzLDcgKzM5Myw5IEBAIG1lcmdlX2luY2x1ZGVfY2hhaW5zIChjb25zdCBjaGFyICpzeXNyb290LCBjcHBfcmVhZGVyICpwZmlsZSwgaW50IHZlcmJvc2UpCi0gICAgICAgICAgewotICAgICAgICAgICBpZiAoKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9pbmNsdWRlIiwgMTIpKQotICAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9sb2NhbC9pbmNsdWRlIiwgMTgpKQotLSAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9YMTFSNi9pbmNsdWRlIiwgMTgpKSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvWDExUjYvaW5jbHVkZSIsIDE4KSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi9zdy9pbmNsdWRlIiwgMTEpKQotKyAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL29wdC9pbmNsdWRlIiwgMTIpKSkKLSAgICAgICAgICAgICB3YXJuaW5nIChPUFRfV3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMsCi0gICAgICAgICAgICAgICAgICAgICAgImluY2x1ZGUgbG9jYXRpb24gXCIlc1wiIGlzIHVuc2FmZSBmb3IgIgotICAgICAgICAgICAgICAgICAgICAgICJjcm9zcy1jb21waWxhdGlvbiIsCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDExLWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxMS1nY2MtNC4zLjMtU1lTUk9PVF9DRkxBR1NfRk9SX1RBUkdFVC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM5ZmYxZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDExLWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotRnJvbSBhNDFkM2E1M2E0ZTMxM2MyMDgwMjMzMGQ2YjVjNzUzNThhNGVkODgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MDg6MzEgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxMS80N10gZ2NjLTQuMy4zOiBTWVNST09UX0NGTEFHU19GT1JfVEFSR0VUCi0KLUJlZm9yZSBjb21taXR0aW5nLCBJIG5vdGljZWQgdGhhdCBQUi8zMjE2MSB3YXMgbWFya2VkIGFzIGEgZHVwIG9mIFBSLzMyMDA5LCBidXQgbXkgcHJldmlvdXMgcGF0Y2ggZGlkIG5vdCBmaXggaXQuCi0KLVRoaXMgYWx0ZXJuYXRpdmUgcGF0Y2ggaXMgYmV0dGVyIGJlY2F1c2UgaXQgbGV0cyB5b3UganVzdCB1c2UgQ0ZMQUdTX0ZPUl9UQVJHRVQgdG8gc2V0IHRoZSBjb21waWxhdGlvbiBmbGFncyBmb3IgbGliZ2NjLiBTaW5jZSBib290c3RyYXBwZWQgdGFyZ2V0IGxpYnJhcmllcyBhcmUgbmV2ZXIgY29tcGlsZWQgd2l0aCB0aGUgbmF0aXZlIGNvbXBpbGVyLCBpdCBtYWtlcyBsaXR0bGUgc2Vuc2UgdG8gdXNlIGRpZmZlcmVudCBmbGFncyBmb3Igc3RhZ2UxIGFuZCBsYXRlciBzdGFnZXMuIEFuZCBpdCBhbHNvIG1ha2VzIGxpdHRsZSBzZW5zZSB0byB1c2UgYSBkaWZmZXJlbnQgdmFyaWFibGUgdGhhbiBDRkxBR1NfRk9SX1RBUkdFVC4KLQotT3RoZXIgY2hhbmdlcyBJIGhhZCB0byBkbyBpbmNsdWRlOgotCi0tIG1vdmluZyB0aGUgY3JlYXRpb24gb2YgZGVmYXVsdCBDRkxBR1NfRk9SX1RBUkdFVCBmcm9tIE1ha2VmaWxlLmFtIHRvIGNvbmZpZ3VyZS5hYywgYmVjYXVzZSBvdGhlcndpc2UgdGhlIEJPT1RfQ0ZMQUdTIGFyZSBzdWJzdGl0dXRlZCBpbnRvIENGTEFHU19GT1JfVEFSR0VUICh3aGljaCBpcyAiLU8yIC1nICQoQ0ZMQUdTKSIpIHZpYSAkKENGTEFHUykuIEl0IGlzIGFsc28gY2xlYW5lciB0aGlzIHdheSB0aG91Z2guCi0KLS0gcGFzc2luZyB0aGUgcmlnaHQgQ0ZMQUdTIHRvIGNvbmZpZ3VyZSBzY3JpcHRzIGFzIGV4cG9ydGVkIGVudmlyb25tZW50IHZhcmlhYmxlcwotCi1JIGFsc28gc3RvcHBlZCBwYXNzaW5nIExJQkNGTEFHUyB0byBjb25maWd1cmUgc2NyaXB0cyBzaW5jZSB0aGV5IGFyZSB1bnVzZWQgaW4gdGhlIHdob2xlIHNyYyB0cmVlLiBBbmQgSSB1cGRhdGVkIHRoZSBkb2N1bWVudGF0aW9uIGFzIEgtUCByZW1pbmRlZCBtZSB0byBkby4KLQotQm9vdHN0cmFwcGVkL3JlZ3Rlc3RlZCBpNjg2LXBjLWxpbnV4LWdudSwgd2lsbCBjb21taXQgdG8gNC40IHNob3J0bHkuIE9rIGZvciA0LjM/Ci0KLVNpZ25lZC1vZmYtYnk6IFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNvbmZpZ3VyZSB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQotaW5kZXggYjQ3NjA5NTIwODUuLjcyYThiYTk0YzRlIDEwMDc1NQotLS0tIGEvY29uZmlndXJlCi0rKysgYi9jb25maWd1cmUKLUBAIC02NzM2LDYgKzY3MzYsMzggQEAgZmkKLSAKLSAKLSAKLSsjIER1cmluZyBnY2MgYm9vdHN0cmFwLCBpZiB3ZSB1c2Ugc29tZSByYW5kb20gY2MgZm9yIHN0YWdlMSB0aGVuIENGTEFHUwotKyMgbWlnaHQgYmUgZW1wdHkgb3IgIi1nIi4gIFdlIGRvbid0IHJlcXVpcmUgYSBDKysgY29tcGlsZXIsIHNvIENYWEZMQUdTCi0rIyBtaWdodCBhbHNvIGJlIGVtcHR5IChvciAiLWciLCBpZiBhIG5vbi1HQ0MgQysrIGNvbXBpbGVyIGlzIGluIHRoZSBwYXRoKS4KLSsjIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgVEFSR0VUIGxpYnJhcmllcyAod2hpY2ggd2Uga25vdyBhcmUgYnVpbHQgd2l0aAotKyMgZ2NjKSBhcmUgYnVpbHQgd2l0aCAiLU8yIC1nIiwgc28gaW5jbHVkZSB0aG9zZSBvcHRpb25zIHdoZW4gc2V0dGluZwotKyMgQ0ZMQUdTX0ZPUl9UQVJHRVQgYW5kIENYWEZMQUdTX0ZPUl9UQVJHRVQuCi0raWYgdGVzdCAieCRDRkxBR1NfRk9SX1RBUkdFVCIgPSB4OyB0aGVuCi0rICBDRkxBR1NfRk9SX1RBUkdFVD0kQ0ZMQUdTCi0rICBjYXNlICIgJENGTEFHUyAiIGluCi0rICAgICoiIC1PMiAiKikgOzsKLSsgICAgKikgQ0ZMQUdTX0ZPUl9UQVJHRVQ9Ii1PMiAkQ0ZMQUdTIiA7OwotKyAgZXNhYwotKyAgY2FzZSAiICRDRkxBR1MgIiBpbgotKyAgICAqIiAtZyAiKiB8ICoiIC1nMyAiKikgOzsKLSsgICAgKikgQ0ZMQUdTX0ZPUl9UQVJHRVQ9Ii1nICRDRkxBR1MiIDs7Ci0rICBlc2FjCi0rZmkKLSsKLSsKLStpZiB0ZXN0ICJ4JENYWEZMQUdTX0ZPUl9UQVJHRVQiID0geDsgdGhlbgotKyAgQ1hYRkxBR1NfRk9SX1RBUkdFVD0kQ1hYRkxBR1MKLSsgIGNhc2UgIiAkQ1hYRkxBR1MgIiBpbgotKyAgICAqIiAtTzIgIiopIDs7Ci0rICAgICopIENYWEZMQUdTX0ZPUl9UQVJHRVQ9Ii1PMiAkQ1hYRkxBR1MiIDs7Ci0rICBlc2FjCi0rICBjYXNlICIgJENYWEZMQUdTICIgaW4KLSsgICAgKiIgLWcgIiogfCAqIiAtZzMgIiopIDs7Ci0rICAgICopIENYWEZMQUdTX0ZPUl9UQVJHRVQ9Ii1nICRDWFhGTEFHUyIgOzsKLSsgIGVzYWMKLStmaQotKwotKwotICMgSGFuZGxlIC0td2l0aC1oZWFkZXJzPVhYWC4gIElmIHRoZSB2YWx1ZSBpcyBub3QgInllcyIsIHRoZSBjb250ZW50cyBvZgotICMgdGhlIG5hbWVkIGRpcmVjdG9yeSBhcmUgY29waWVkIHRvICQodG9vbGRpcikvc3lzLWluY2x1ZGUuCi0gaWYgdGVzdCB4IiR7d2l0aF9oZWFkZXJzfSIgIT0geCAmJiB0ZXN0IHgiJHt3aXRoX2hlYWRlcnN9IiAhPSB4bm8gOyB0aGVuCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDEyLTY0LWJpdC1tdWx0aWxpYi1oYWNrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxMi02NC1iaXQtbXVsdGlsaWItaGFjay5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjNiMzkxMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDEyLTY0LWJpdC1tdWx0aWxpYi1oYWNrLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotRnJvbSAzYWY5ZmJiZDE0ZTgzMjQyYWMyYWNiNTRiYmI0YmI3MjY4NDVmZDM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MTA6MDYgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxMi80N10gNjQtYml0IG11bHRpbGliIGhhY2suCi0KLUdDQyBoYXMgaW50ZXJuYWwgbXVsdGlsaWIgaGFuZGxpbmcgY29kZSBidXQgaXQgYXNzdW1lcyBhIHZlcnkgc3BlY2lmaWMgcmlnaWQgZGlyZWN0b3J5Ci1sYXlvdXQuIFRoZSBidWlsZCBzeXN0ZW0gaW1wbGVtZW50YXRpb24gb2YgbXVsdGlsaWIgbGF5b3V0IGlzIHZlcnkgZ2VuZXJpYyBhbmQgYWxsb3dzCi1jb21wbGV0ZSBjdXN0b21pc2F0aW9uIG9mIHRoZSBsaWJyYXJ5IGRpcmVjdG9yaWVzLgotCi1UaGlzIHBhdGNoIGlzIGEgcGFydGlhbCBzb2x1dGlvbiB0byBhbGxvdyBhbnkgY3VzdG9tIGRpcmVjdG9yaWVzIHRvIGJlIHBhc3NlZCBpbnRvIGdjYwotYW5kIGhhbmRsZWQgY29ycmVjdGx5LiBJdCBmb3JjZXMgZ2NjIHRvIHVzZSB0aGUgYmFzZV9saWJkaXIgKHdoaWNoIGlzIHRoZSBjdXJyZW50Ci1kaXJlY3RvcnksICIuIikuIFdlIG5lZWQgdG8gZG8gdGhpcyBmb3IgZWFjaCBtdWx0aWxpYiB0aGF0IGlzIGNvbmZpZ3VyZWQgYXMgd2UgZG9uJ3QKLWtub3cgd2hpY2ggY29tcGlsZXIgb3B0aW9ucyBtYXkgYmUgYmVpbmcgcGFzc2VkIGludG8gdGhlIGNvbXBpbGVyLiBTaW5jZSB3ZSBoYXZlIGEgY29tcGlsZXIKLXBlciBtdWxpdGxpYiBhdCB0aGlzIHBvaW50IHRoYXQgaXNuJ3QgYW4gaXNzdWUuCi0KLVRoZSBvbmUgcHJvYmxlbSBpcyB0aGUgdGFyZ2V0IGNvbXBpbGVyIGlzIG9ubHkgZ29pbmcgdG8gd29yayBmb3IgdGhlIGRlZmF1bHQgbXVsdGxpbGliIGF0Ci10aGlzIHBvaW50LiBJZGVhbGx5IHdlJ2QgZmlndXJlIG91dCB3aGljaCBtdWx0aWxpYnMgd2VyZSBiZWluZyBlbmFibGVkIHdpdGggd2hpY2ggcGF0aHMKLWFuZCBiZSBhYmxlIHRvIHBhdGNoIHRoZXNlIGVudHJpZXMgd2l0aCBhIGNvbXBsZXRlIHNldCBvZiBjb3JyZWN0IHBhdGhzIGJ1dCB0aGlzIHdlCi1kb24ndCBoYXZlIHN1Y2ggY29kZSBhdCB0aGlzIHBvaW50LiBUaGlzIGlzIHNvbWV0aGluZyB0aGUgdGFyZ2V0IGdjYyByZWNpcGUgc2hvdWxkIGRvCi1hbmQgb3ZlcnJpZGUgdGhlc2UgcGxhdGZvcm0gZGVmYXVsdHMgaW4gaXRzIGJ1aWxkIGNvbmZpZy4KLQotUlAgMTUvOC8xMQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogRWx2aXMgRG93c29uIDxlbHZpcy5kb3dzb25AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGdjYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgICB8ICA2ICsrLS0tLQotIGdjYy9jb25maWcvbWlwcy90LWxpbnV4NjQgICB8IDEwICsrKy0tLS0tLS0KLSBnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQgfCAgNSArKy0tLQotIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci1pbmRleCBlNDIyYzQ0MmRhZS4uY2M4ODVlMjQ0NTcgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci1AQCAtMzIsNyArMzIsNSBAQAotICMKLSBjb21tYT0sCi0gTVVMVElMSUJfT1BUSU9OUyAgICA9ICQoc3Vic3QgJChjb21tYSksLywkKFRNX01VTFRJTElCX0NPTkZJRykpCi0tTVVMVElMSUJfRElSTkFNRVMgICA9ICQocGF0c3Vic3QgbSUsICUsICQoc3Vic3QgLywgLCQoTVVMVElMSUJfT1BUSU9OUykpKQotLU1VTFRJTElCX09TRElSTkFNRVMgPSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDp4ODZfNjQtbGludXgtZ251KQotLU1VTFRJTElCX09TRElSTkFNRVMrPSBtMzI9JChpZiAkKHdpbGRjYXJkICQoc2hlbGwgZWNobyAkKFNZU1RFTV9IRUFERVJfRElSKSkvLi4vLi4vdXNyL2xpYjMyKSwuLi9saWIzMiwuLi9saWIpJChjYWxsIGlmX211bHRpYXJjaCw6aTM4Ni1saW51eC1nbnUpCi0tTVVMVElMSUJfT1NESVJOQU1FUys9IG14MzI9Li4vbGlieDMyJChjYWxsIGlmX211bHRpYXJjaCw6eDg2XzY0LWxpbnV4LWdudXgzMikKLStNVUxUSUxJQl9ESVJOQU1FUyA9IC4gLgotK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbWlwcy90LWxpbnV4NjQgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci1pbmRleCAxMDBmOWRhNWUxNC4uNjAxY2RmMDhkMDUgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci1AQCAtMTcsMTAgKzE3LDYgQEAKLSAjIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAKLSBNVUxUSUxJQl9PUFRJT05TID0gbWFiaT1uMzIvbWFiaT0zMi9tYWJpPTY0Ci0tTVVMVElMSUJfRElSTkFNRVMgPSBuMzIgMzIgNjQKLS1NSVBTX0VMID0gJChpZiAkKGZpbHRlciAlZWwsICQoZmlyc3R3b3JkICQoc3Vic3QgLSwgLCQodGFyZ2V0KSkpKSxlbCkKLS1NSVBTX1NPRlQgPSAkKGlmICQoc3RyaXAgJChmaWx0ZXIgTUFTS19TT0ZUX0ZMT0FUX0FCSSwgJCh0YXJnZXRfY3B1X2RlZmF1bHQpKSAkKGZpbHRlciBzb2Z0LCAkKHdpdGhfZmxvYXQpKSksc29mdCkKLS1NVUxUSUxJQl9PU0RJUk5BTUVTID0gXAotLQkuLi9saWIzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpbjMyJChNSVBTX1NPRlQpKSBcCi0tCS4uL2xpYiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHMkKE1JUFNfRUwpLWxpbnV4LWdudSQoTUlQU19TT0ZUKSkgXAotLQkuLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpNjQkKE1JUFNfU09GVCkpCi0rTVVMVElMSUJfRElSTkFNRVMgPSAuIC4gLgotK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQotKwotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NCBiL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NAotaW5kZXggMjgzMGVkMGQ4NjEuLmQwNTdmYWNkMmZkIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQKLUBAIC0yNiwxMCArMjYsOSBAQAotICMgTVVMVElMSUJfT1NESVJOQU1FUyBhY2NvcmRpbmcgdG8gd2hhdCBpcyBmb3VuZCBvbiB0aGUgdGFyZ2V0LgotIAotIE1VTFRJTElCX09QVElPTlMgICAgOj0gbTY0L20zMgotLU1VTFRJTElCX0RJUk5BTUVTICAgOj0gNjQgMzIKLStNVUxUSUxJQl9ESVJOQU1FUyAgIDo9IC4gLgotIE1VTFRJTElCX0VYVFJBX09QVFMgOj0gCi0tTVVMVElMSUJfT1NESVJOQU1FUyA6PSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDpwb3dlcnBjNjQtbGludXgtZ251KQotLU1VTFRJTElCX09TRElSTkFNRVMgKz0gbTMyPSQoaWYgJCh3aWxkY2FyZCAkKHNoZWxsIGVjaG8gJChTWVNURU1fSEVBREVSX0RJUikpLy4uLy4uL3Vzci9saWIzMiksLi4vbGliMzIsLi4vbGliKSQoY2FsbCBpZl9tdWx0aWFyY2gsOnBvd2VycGMtbGludXgtZ251KQotK01VTFRJTElCX09TRElSTkFNRVMgOj0gLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkgLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkKLSAKLSByczYwMDAtbGludXgubzogJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvcnM2MDAwLWxpbnV4LmMKLSAJJChDT01QSUxFKSAkPAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxMy1vcHRpb25hbC1saWJzdGRjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxMy1vcHRpb25hbC1saWJzdGRjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDM5YmY2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTMtb3B0aW9uYWwtbGlic3RkYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNSArMCwwIEBACi1Gcm9tIDI2YTU4ZDA1ODQ0Mjc0OTE1ZDAxMWVkYmY5MzMwYzYxNTE2ODdiMjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxMjo1NiArMDQwMAotU3ViamVjdDogW1BBVENIIDEzLzQ3XSBvcHRpb25hbCBsaWJzdGRjCi0KLWdjYy1ydW50aW1lIGJ1aWxkcyBsaWJzdGRjKysgc2VwYXJhdGVseSBmcm9tIGdjYy1jcm9zcy0qLiBJdHMgY29uZmlndXJlIHRlc3RzIHVzaW5nIGcrKwotd2lsbCBub3QgcnVuIGNvcnJlY3RseSBzaW5jZSBieSBkZWZhdWx0IHRoZSBsaW5rZXIgd2lsbCB0cnkgdG8gbGluayBhZ2FpbnN0IGxpYnN0ZGMrKwotd2hpY2ggc2hvdWxkbid0IGV4aXN0IHlldC4gV2UgbmVlZCBhbiBvcHRpb24gdG8gZGlzYWJsZSAtbHN0ZGMrKwotb3B0aW9uIHdoaWxzdCBsZWF2aW5nIC1sYywgLWxnY2MgYW5kIG90aGVyIGF1dG9tYXRpYyBsaWJyYXJ5IGRlcGVuZGVuY2llcyBhZGRlZCBieSBnY2MKLWRyaXZlci4gVGhpcyBwYXRjaCBhZGRzIHN1Y2ggYW4gb3B0aW9uIHdoaWNoIG9ubHkgZGlzYWJsZXMgdGhlIC1sc3RkYysrLgotCi1BICJzdGFuZGFyZCIgZ2NjIGJ1aWxkIHVzZXMgeGdjYyBhbmQgaGVuY2UgYXZvaWRzIHRoaXMuIFdlIHNob3VsZCBhc2sgdXBzdHJlYW0gaG93IHRvCi1kbyB0aGlzIG9mZmljaWFsbHksIHRoZSBsaWtlbHkgYW5zd2VyIGlzIGRvbid0IGJ1aWxkIGxpYnN0ZGMrKyBzZXBhcmF0ZWx5LgotCi1SUCAyOS82LzEwCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0tLS0KLSBnY2MvYy1mYW1pbHkvYy5vcHQgIHwgIDQgKysrKwotIGdjYy9jcC9nKytzcGVjLmMgICAgfCAgMSArCi0gZ2NjL2RvYy9pbnZva2UudGV4aSB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCi0gZ2NjL2djYy5jICAgICAgICAgICB8ICAxICsKLSA0IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jLWZhbWlseS9jLm9wdCBiL2djYy9jLWZhbWlseS9jLm9wdAotaW5kZXggOWFkMmY2ZTFmY2MuLmM0ZWY3Nzk2MjgyIDEwMDY0NAotLS0tIGEvZ2NjL2MtZmFtaWx5L2Mub3B0Ci0rKysgYi9nY2MvYy1mYW1pbHkvYy5vcHQKLUBAIC0xODQ4LDYgKzE4NDgsMTAgQEAgbm9zdGRpbmMrKwotIEMrKyBPYmpDKysKLSBEbyBub3Qgc2VhcmNoIHN0YW5kYXJkIHN5c3RlbSBpbmNsdWRlIGRpcmVjdG9yaWVzIGZvciBDKysuCi0gCi0rbm9zdGRsaWIrKwotK0RyaXZlcgotK0RvIG5vdCBsaW5rIHN0YW5kYXJkIEMrKyBydW50aW1lIGxpYnJhcnkKLSsKLSBvCi0gQyBPYmpDIEMrKyBPYmpDKysgSm9pbmVkIFNlcGFyYXRlCi0gOyBEb2N1bWVudGVkIGluIGNvbW1vbi5vcHQKLWRpZmYgLS1naXQgYS9nY2MvY3AvZysrc3BlYy5jIGIvZ2NjL2NwL2crK3NwZWMuYwotaW5kZXggZmZjYzg3Yzc5YzkuLjI4ZDhhOWNmNTMwIDEwMDY0NAotLS0tIGEvZ2NjL2NwL2crK3NwZWMuYwotKysrIGIvZ2NjL2NwL2crK3NwZWMuYwotQEAgLTEzNyw2ICsxMzcsNyBAQCBsYW5nX3NwZWNpZmljX2RyaXZlciAoc3RydWN0IGNsX2RlY29kZWRfb3B0aW9uICoqaW5fZGVjb2RlZF9vcHRpb25zLAotICAgICAgIHN3aXRjaCAoZGVjb2RlZF9vcHRpb25zW2ldLm9wdF9pbmRleCkKLSAJewotIAljYXNlIE9QVF9ub3N0ZGxpYjoKLSsJY2FzZSBPUFRfbm9zdGRsaWJfXzoKLSAJY2FzZSBPUFRfbm9kZWZhdWx0bGliczoKLSAJICBsaWJyYXJ5ID0gLTE7Ci0gCSAgYnJlYWs7Ci1kaWZmIC0tZ2l0IGEvZ2NjL2RvYy9pbnZva2UudGV4aSBiL2djYy9kb2MvaW52b2tlLnRleGkKLWluZGV4IDA2MGNkNzE2OWM2Li44ZTJhZGMyNTY0NCAxMDA2NDQKLS0tLSBhL2djYy9kb2MvaW52b2tlLnRleGkKLSsrKyBiL2djYy9kb2MvaW52b2tlLnRleGkKLUBAIC0yMTEsNiArMjExLDkgQEAgaW4gdGhlIGZvbGxvd2luZyBzZWN0aW9ucy4KLSAtZm5vLXdlYWsgIC1ub3N0ZGluYysrIEBnb2wKLSAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gQGdvbAotIC1mdmlzaWJpbGl0eS1tcy1jb21wYXQgQGdvbAotKy1mdnRhYmxlLXZlcmlmeT1AcntbfXN0ZEBye3x9cHJlaW5pdEBye3x9bm9uZUBye119IEBnb2wKLSstZnZ0di1jb3VudHMgLWZ2dHYtZGVidWcgQGdvbAotKy1ub3N0ZGxpYisrIEBnb2wKLSAtZmV4dC1udW1lcmljLWxpdGVyYWxzIEBnb2wKLSAtV2FiaT1AdmFye259ICAtV2FiaS10YWcgIC1XY29udmVyc2lvbi1udWxsICAtV2N0b3ItZHRvci1wcml2YWN5IEBnb2wKLSAtV2RlbGV0ZS1ub24tdmlydHVhbC1kdG9yICAtV2xpdGVyYWwtc3VmZml4ICAtV211bHRpcGxlLWluaGVyaXRhbmNlIEBnb2wKLUBAIC00OTYsNyArNDk5LDcgQEAgT2JqZWN0aXZlLUMgYW5kIE9iamVjdGl2ZS1DKysgRGlhbGVjdHN9LgotIC1zICAtc3RhdGljICAtc3RhdGljLWxpYmdjYyAgLXN0YXRpYy1saWJzdGRjKysgQGdvbAotIC1zdGF0aWMtbGliYXNhbiAgLXN0YXRpYy1saWJ0c2FuICAtc3RhdGljLWxpYmxzYW4gIC1zdGF0aWMtbGlidWJzYW4gQGdvbAotIC1zdGF0aWMtbGlibXB4ICAtc3RhdGljLWxpYm1weHdyYXBwZXJzIEBnb2wKLS0tc2hhcmVkICAtc2hhcmVkLWxpYmdjYyAgLXN5bWJvbGljIEBnb2wKLSstc2hhcmVkICAtc2hhcmVkLWxpYmdjYyAgLXN5bWJvbGljIC1ub3N0ZGxpYisrIEBnb2wKLSAtVCBAdmFye3NjcmlwdH0gIC1XbCxAdmFye29wdGlvbn0gIC1YbGlua2VyIEB2YXJ7b3B0aW9ufSBAZ29sCi0gLXUgQHZhcntzeW1ib2x9ICAteiBAdmFye2tleXdvcmR9fQotIAotQEAgLTExNjA2LDYgKzExNjA5LDMzIEBAIGxpYnJhcnkgc3Vicm91dGluZXMuCi0gY29uc3RydWN0b3JzIGFyZSBjYWxsZWQ7IEBweHJlZntDb2xsZWN0MiwsQGNvZGV7Y29sbGVjdDJ9LCBnY2NpbnQsCi0gR05VIENvbXBpbGVyIENvbGxlY3Rpb24gKEdDQykgSW50ZXJuYWxzfS4pCi0gCi0rQGl0ZW0gLW5vc3RkbGliKysKLStAb3BpbmRleCBub3N0ZGxpYisrCi0rRG8gbm90IHVzZSB0aGUgc3RhbmRhcmQgc3lzdGVtIEMrKyBydW50aW1lIGxpYnJhcmllcyB3aGVuIGxpbmtpbmcuCi0rT25seSB0aGUgbGlicmFyaWVzIHlvdSBzcGVjaWZ5IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBsaW5rZXIuCi0rCi0rQGNpbmRleCBAb3B0aW9uey1sZ2NjfSwgdXNlIHdpdGggQG9wdGlvbnstbm9zdGRsaWJ9Ci0rQGNpbmRleCBAb3B0aW9uey1ub3N0ZGxpYn0gYW5kIHVucmVzb2x2ZWQgcmVmZXJlbmNlcwotK0BjaW5kZXggdW5yZXNvbHZlZCByZWZlcmVuY2VzIGFuZCBAb3B0aW9uey1ub3N0ZGxpYn0KLStAY2luZGV4IEBvcHRpb257LWxnY2N9LCB1c2Ugd2l0aCBAb3B0aW9uey1ub2RlZmF1bHRsaWJzfQotK0BjaW5kZXggQG9wdGlvbnstbm9kZWZhdWx0bGlic30gYW5kIHVucmVzb2x2ZWQgcmVmZXJlbmNlcwotK0BjaW5kZXggdW5yZXNvbHZlZCByZWZlcmVuY2VzIGFuZCBAb3B0aW9uey1ub2RlZmF1bHRsaWJzfQotK09uZSBvZiB0aGUgc3RhbmRhcmQgbGlicmFyaWVzIGJ5cGFzc2VkIGJ5IEBvcHRpb257LW5vc3RkbGlifSBhbmQKLStAb3B0aW9uey1ub2RlZmF1bHRsaWJzfSBpcyBAZmlsZXtsaWJnY2MuYX0sIGEgbGlicmFyeSBvZiBpbnRlcm5hbCBzdWJyb3V0aW5lcwotK3doaWNoIEdDQyB1c2VzIHRvIG92ZXJjb21lIHNob3J0Y29taW5ncyBvZiBwYXJ0aWN1bGFyIG1hY2hpbmVzLCBvciBzcGVjaWFsCi0rbmVlZHMgZm9yIHNvbWUgbGFuZ3VhZ2VzLgotKyhAeHJlZntJbnRlcmZhY2UsLEludGVyZmFjaW5nIHRvIEdDQyBPdXRwdXQsZ2NjaW50LEdOVSBDb21waWxlcgotK0NvbGxlY3Rpb24gKEdDQykgSW50ZXJuYWxzfSwKLStmb3IgbW9yZSBkaXNjdXNzaW9uIG9mIEBmaWxle2xpYmdjYy5hfS4pCi0rSW4gbW9zdCBjYXNlcywgeW91IG5lZWQgQGZpbGV7bGliZ2NjLmF9IGV2ZW4gd2hlbiB5b3Ugd2FudCB0byBhdm9pZAotK290aGVyIHN0YW5kYXJkIGxpYnJhcmllcy4gIEluIG90aGVyIHdvcmRzLCB3aGVuIHlvdSBzcGVjaWZ5IEBvcHRpb257LW5vc3RkbGlifQotK29yIEBvcHRpb257LW5vZGVmYXVsdGxpYnN9IHlvdSBzaG91bGQgdXN1YWxseSBzcGVjaWZ5IEBvcHRpb257LWxnY2N9IGFzIHdlbGwuCi0rVGhpcyBlbnN1cmVzIHRoYXQgeW91IGhhdmUgbm8gdW5yZXNvbHZlZCByZWZlcmVuY2VzIHRvIGludGVybmFsIEdDQwotK2xpYnJhcnkgc3Vicm91dGluZXMuCi0rKEFuIGV4YW1wbGUgb2Ygc3VjaCBhbiBpbnRlcm5hbCBzdWJyb3V0aW5lIGlzIEBjb2Rle19fbWFpbn0sIHVzZWQgdG8gZW5zdXJlIEMrKwotK2NvbnN0cnVjdG9ycyBhcmUgY2FsbGVkOyBAcHhyZWZ7Q29sbGVjdDIsLEBjb2Rle2NvbGxlY3QyfSwgZ2NjaW50LAotK0dOVSBDb21waWxlciBDb2xsZWN0aW9uIChHQ0MpIEludGVybmFsc30uKQotKwotIEBpdGVtIC1waWUKLSBAb3BpbmRleCBwaWUKLSBQcm9kdWNlIGEgcG9zaXRpb24gaW5kZXBlbmRlbnQgZXhlY3V0YWJsZSBvbiB0YXJnZXRzIHRoYXQgc3VwcG9ydCBpdC4KLWRpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKLWluZGV4IDYzMTVhYTBkZDE2Li5hNWZhZmJlNTEwNyAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTA0Niw2ICsxMDQ2LDcgQEAgcHJvcGVyIHBvc2l0aW9uIGFtb25nIHRoZSBvdGhlciBvdXRwdXQgZmlsZXMuICAqLwotICAgICAlKG1mbGliKSAiIFNUQUNLX1NQTElUX1NQRUMgIlwKLSAgICAgJXtmcHJvZmlsZS1hcmNzfGZwcm9maWxlLWdlbmVyYXRlKnxjb3ZlcmFnZTotbGdjb3Z9ICIgU0FOSVRJWkVSX1NQRUMgIiBcCi0gICAgICV7IW5vc3RkbGliOiV7IW5vZGVmYXVsdGxpYnM6JShsaW5rX3NzcCkgJShsaW5rX2djY19jX3NlcXVlbmNlKX19XAotKyAgICAleyFub3N0ZGxpYisrOn1cCi0gICAgICV7IW5vc3RkbGliOiV7IW5vc3RhcnRmaWxlczolRX19ICV7VCp9ICBcbiUocG9zdF9saW5rKSB9fX19fX0iCi0gI2VuZGlmCi0gCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDE0LWdjYy1kaXNhYmxlLU1BU0tfUkVMQVhfUElDX0NBTExTLWJpdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTQtZ2NjLWRpc2FibGUtTUFTS19SRUxBWF9QSUNfQ0FMTFMtYml0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOTJiNWZiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTQtZ2NjLWRpc2FibGUtTUFTS19SRUxBWF9QSUNfQ0FMTFMtYml0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotRnJvbSA3MTZkZTVkYjY4NTlmZDFlYTIxMDc4Yzk0YTQxZmFjN2E4ODViN2U5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MTQ6MjAgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxNC80N10gZ2NjOiBkaXNhYmxlIE1BU0tfUkVMQVhfUElDX0NBTExTIGJpdAotCi1UaGUgbmV3IGZlYXR1cmUgYWRkZWQgYWZ0ZXIgNC4zLjMKLSJodHRwOi8vd3d3LnB1YmJzLm5ldC8yMDA5MDkvZ2NjLzk0MDQ4LXBhdGNoLWFkZC1zdXBwb3J0LWZvci1ybWlwc2phbHIuaHRtbCIKLXdpbGwgY2F1c2UgY2MxcGx1cyBlYXQgdXAgYWxsIHRoZSBzeXN0ZW0gbWVtb3J5IHdoZW4gYnVpbGQgd2Via2l0LWd0ay4KLVRoZSBmdW5jdGlvbiBtaXBzX2dldF9waWNfY2FsbF9zeW1ib2wga2VlcHMgb24gcmVjdXJzaXZlbHkgY2FsbGluZyBpdHNlbGYuCi1EaXNhYmxlIHRoaXMgZmVhdHVyZSB0byB3YWxrIGFzaWRlIHRoZSBidWcuCi0KLVNpZ25lZC1vZmYtYnk6IERvbmd4aWFvIFh1IDxkb25neGlhby54dUBpbnRlbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCi0tLS0KLSBnY2MvY29uZmlndXJlICAgIHwgNyAtLS0tLS0tCi0gZ2NjL2NvbmZpZ3VyZS5hYyB8IDcgLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQotaW5kZXggNDg5OGYwNGZhNmIuLjY0MGU0NjQzODA1IDEwMDc1NQotLS0tIGEvZ2NjL2NvbmZpZ3VyZQotKysrIGIvZ2NjL2NvbmZpZ3VyZQotQEAgLTI3MzAzLDEzICsyNzMwMyw2IEBAICRhc19lY2hvX24gImNoZWNraW5nIGFzc2VtYmxlciBhbmQgbGlua2VyIGZvciBleHBsaWNpdCBKQUxSIHJlbG9jYXRpb24uLi4gIiA+JjY7Ci0gICAgICAgICBybSAtZiBjb25mdGVzdC4qCi0gICAgICAgZmkKLSAgICAgZmkKLS0gICAgaWYgdGVzdCAkZ2NjX2N2X2FzX2xkX2phbHJfcmVsb2MgPSB5ZXM7IHRoZW4KLS0gICAgICBpZiB0ZXN0IHgkdGFyZ2V0X2NwdV9kZWZhdWx0ID0geDsgdGhlbgotLSAgICAgICAgdGFyZ2V0X2NwdV9kZWZhdWx0PU1BU0tfUkVMQVhfUElDX0NBTExTCi0tICAgICAgZWxzZQotLSAgICAgICAgdGFyZ2V0X2NwdV9kZWZhdWx0PSIoJHRhcmdldF9jcHVfZGVmYXVsdCl8TUFTS19SRUxBWF9QSUNfQ0FMTFMiCi0tICAgICAgZmkKLS0gICAgZmkKLSAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRnY2NfY3ZfYXNfbGRfamFscl9yZWxvYyIgPiY1Ci0gJGFzX2VjaG8gIiRnY2NfY3ZfYXNfbGRfamFscl9yZWxvYyIgPiY2OyB9Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IDlkYzFkYzdmYzk2Li45YTJkYWU1NWJhMiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC00NjQxLDEzICs0NjQxLDYgQEAgeDoKLSAgICAgICAgIHJtIC1mIGNvbmZ0ZXN0LioKLSAgICAgICBmaQotICAgICBmaQotLSAgICBpZiB0ZXN0ICRnY2NfY3ZfYXNfbGRfamFscl9yZWxvYyA9IHllczsgdGhlbgotLSAgICAgIGlmIHRlc3QgeCR0YXJnZXRfY3B1X2RlZmF1bHQgPSB4OyB0aGVuCi0tICAgICAgICB0YXJnZXRfY3B1X2RlZmF1bHQ9TUFTS19SRUxBWF9QSUNfQ0FMTFMKLS0gICAgICBlbHNlCi0tICAgICAgICB0YXJnZXRfY3B1X2RlZmF1bHQ9IigkdGFyZ2V0X2NwdV9kZWZhdWx0KXxNQVNLX1JFTEFYX1BJQ19DQUxMUyIKLS0gICAgICBmaQotLSAgICBmaQotICAgICBBQ19NU0dfUkVTVUxUKCRnY2NfY3ZfYXNfbGRfamFscl9yZWxvYykKLSAKLSAgICAgQUNfQ0FDSEVfQ0hFQ0soW2xpbmtlciBmb3IgLmVoX2ZyYW1lIHBlcnNvbmFsaXR5IHJlbGF4YXRpb25dLAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNS1DT0xMRUNUX0dDQ19PUFRJT05TLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNS1DT0xMRUNUX0dDQ19PUFRJT05TLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZTYyOTQ1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTUtQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLUZyb20gMDRhN2E2NzIzMDFiYjA3Y2FlYTZhN2NhZDgzNzhmNjNmMWZlMzIwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjE2OjI4ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTUvNDddIENPTExFQ1RfR0NDX09QVElPTlMKLQotVGhpcyBwYXRjaCBhZGRzIC0tc3lzcm9vdCBpbnRvIENPTExFQ1RfR0NDX09QVElPTlMgd2hpY2ggaXMgdXNlZCB0bwotaW52b2tlIGNvbGxlY3QyLgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGdjYy9nY2MuYyB8IDkgKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCi1pbmRleCBhNWZhZmJlNTEwNy4uMDU4OTZlMTk5MjYgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYwotQEAgLTQ2NTQsNiArNDY1NCwxNSBAQCBzZXRfY29sbGVjdF9nY2Nfb3B0aW9ucyAodm9pZCkKLSAJCXNpemVvZiAoIkNPTExFQ1RfR0NDX09QVElPTlM9IikgLSAxKTsKLSAKLSAgIGZpcnN0X3RpbWUgPSBUUlVFOwotKyNpZmRlZiBIQVZFX0xEX1NZU1JPT1QKLSsgIGlmICh0YXJnZXRfc3lzdGVtX3Jvb3RfY2hhbmdlZCAmJiB0YXJnZXRfc3lzdGVtX3Jvb3QpCi0rICAgIHsKLSsgICAgICBvYnN0YWNrX2dyb3cgKCZjb2xsZWN0X29ic3RhY2ssICInLS1zeXNyb290PSIsIHNpemVvZigiJy0tc3lzcm9vdD0iKS0xKTsKLSsgICAgICBvYnN0YWNrX2dyb3cgKCZjb2xsZWN0X29ic3RhY2ssIHRhcmdldF9zeXN0ZW1fcm9vdCxzdHJsZW4odGFyZ2V0X3N5c3RlbV9yb290KSk7Ci0rICAgICAgb2JzdGFja19ncm93ICgmY29sbGVjdF9vYnN0YWNrLCAiJyIsIDEpOwotKyAgICAgIGZpcnN0X3RpbWUgPSBGQUxTRTsKLSsgICAgfQotKyNlbmRpZgotICAgZm9yIChpID0gMDsgKGludCkgaSA8IG5fc3dpdGNoZXM7IGkrKykKLSAgICAgewotICAgICAgIGNvbnN0IGNoYXIgKmNvbnN0ICphcmdzOwotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNi1Vc2UtdGhlLWRlZmF1bHRzLmgtaW4tQi1pbnN0ZWFkLW9mLVMtYW5kLXQtb2UtaW4tQi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTYtVXNlLXRoZS1kZWZhdWx0cy5oLWluLUItaW5zdGVhZC1vZi1TLWFuZC10LW9lLWluLUIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5OTEyNTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNi1Vc2UtdGhlLWRlZmF1bHRzLmgtaW4tQi1pbnN0ZWFkLW9mLVMtYW5kLXQtb2UtaW4tQi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk2ICswLDAgQEAKLUZyb20gNDcwNzFjYmQ0ZjEzZmY1YTQ5NzRmNzFmMzU5YTA0YWZjZmIxMjVkYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjE3OjI1ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTYvNDddIFVzZSB0aGUgZGVmYXVsdHMuaCBpbiAke0J9IGluc3RlYWQgb2YgJHtTfSwgYW5kIHQtb2UgaW4KLSAke0J9Ci0KLVVzZSB0aGUgZGVmYXVsdHMuaCBpbiAke0J9IGluc3RlYWQgb2YgJHtTfSwgYW5kIHQtb2UgaW4gJHtCfSwgc28gdGhhdAotdGhlIHNvdXJjZSBjYW4gYmUgc2hhcmVkIGJldHdlZW4gZ2NjLWNyb3NzLWluaXRpYWwsCi1nY2MtY3Jvc3MtaW50ZXJtZWRpYXRlLCBnY2MtY3Jvc3MsIGdjYy1ydW50aW1lLCBhbmQgYWxzbyB0aGUgc2RrIGJ1aWxkLgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotV2hpbGUgY29tcGlsaW5nIGdjYy1jcm9zc3Nkay1pbml0aWFsLXg4Nl82NCBvbiBzb21lIGhvc3QsIHRoZXJlIGlzCi1vY2Nhc2lvbmFsbHkgZmFpbHVyZSB0aGF0IHRlc3QgdGhlIGV4aXN0YW5jZSBvZiBkZWZhdWx0LmggZG9lc24ndAotd29yaywgdGhlIHJlYXNvbiBpcyB0bV9pbmNsdWRlX2xpc3Q9JyoqIGRlZmF1bHRzLmgnIHJhdGhlciB0aGFuCi10bV9pbmNsdWRlX2xpc3Q9JyoqIC4vZGVmYXVsdHMuaCcKLQotU28gd2UgYWRkIHRoZSB0ZXN0IGNvbmRpdGlvbiBmb3IgdGhpcyBzaXR1YXRpb24uCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBnY2MvTWFrZWZpbGUuaW4gIHwgMiArLQotIGdjYy9jb25maWd1cmUgICAgfCA0ICsrLS0KLSBnY2MvY29uZmlndXJlLmFjIHwgNCArKy0tCi0gZ2NjL21rY29uZmlnLnNoICB8IDQgKystLQotIDQgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL01ha2VmaWxlLmluIGIvZ2NjL01ha2VmaWxlLmluCi1pbmRleCAyNDExNjcxY2VhMy4uN2I1OTBjOWJiZDMgMTAwNjQ0Ci0tLS0gYS9nY2MvTWFrZWZpbGUuaW4KLSsrKyBiL2djYy9NYWtlZmlsZS5pbgotQEAgLTUzMiw3ICs1MzIsNyBAQCBUQVJHRVRfU1lTVEVNX1JPT1QgPSBAVEFSR0VUX1NZU1RFTV9ST09UQAotIFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkUgPSBAVEFSR0VUX1NZU1RFTV9ST09UX0RFRklORUAKLSAKLSB4bWFrZV9maWxlPUB4bWFrZV9maWxlQAotLXRtYWtlX2ZpbGU9QHRtYWtlX2ZpbGVACi0rdG1ha2VfZmlsZT1AdG1ha2VfZmlsZUAgLi90LW9lCi0gVE1fRU5ESUFOX0NPTkZJRz1AVE1fRU5ESUFOX0NPTkZJR0AKLSBUTV9NVUxUSUxJQl9DT05GSUc9QFRNX01VTFRJTElCX0NPTkZJR0AKLSBUTV9NVUxUSUxJQl9FWENFUFRJT05TX0NPTkZJRz1AVE1fTVVMVElMSUJfRVhDRVBUSU9OU19DT05GSUdACi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKLWluZGV4IDY0MGU0NjQzODA1Li5iNWFjMTU1MjU0MSAxMDA3NTUKLS0tLSBhL2djYy9jb25maWd1cmUKLSsrKyBiL2djYy9jb25maWd1cmUKLUBAIC0xMjE1MCw4ICsxMjE1MCw4IEBAIGZvciBmIGluICR0bV9maWxlOyBkbwotICAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAkZiIKLSAgICAgICAgOzsKLSAgICAgZGVmYXVsdHMuaCApCi0tICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IFwkKHNyY2RpcikvJGYiCi0tICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9ICRmIgotKyAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSAuLyRmIgotKyAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAuLyRmIgotICAgICAgICA7OwotICAgICAqICkKLSAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gXCQoc3JjZGlyKS9jb25maWcvJGYiCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IDlhMmRhZTU1YmEyLi5jYjE0NzlkMWVmNCAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC0xOTIyLDggKzE5MjIsOCBAQCBmb3IgZiBpbiAkdG1fZmlsZTsgZG8KLSAgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gJGYiCi0gICAgICAgIDs7Ci0gICAgIGRlZmF1bHRzLmggKQotLSAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSBcJChzcmNkaXIpLyRmIgotLSAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAkZiIKLSsgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi8kZiIKLSsgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gLi8kZiIKLSAgICAgICAgOzsKLSAgICAgKiApCi0gICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IFwkKHNyY2RpcikvY29uZmlnLyRmIgotZGlmZiAtLWdpdCBhL2djYy9ta2NvbmZpZy5zaCBiL2djYy9ta2NvbmZpZy5zaAotaW5kZXggOWZjN2I1Y2E3MzQuLjA0YWJlY2ZlNjQ4IDEwMDY0NAotLS0tIGEvZ2NjL21rY29uZmlnLnNoCi0rKysgYi9nY2MvbWtjb25maWcuc2gKLUBAIC03Nyw3ICs3Nyw3IEBAIGlmIFsgLW4gIiRIRUFERVJTIiBdOyB0aGVuCi0gICAgIGlmIFsgJCMgLWdlIDEgXTsgdGhlbgotIAllY2hvICcjaWZkZWYgSU5fR0NDJyA+PiAke291dHB1dH1UCi0gCWZvciBmaWxlIGluICIkQCI7IGRvCi0tCSAgICBpZiB0ZXN0IHgiJGZpbGUiID0geCJkZWZhdWx0cy5oIjsgdGhlbgotKwkgICAgaWYgdGVzdCB4IiRmaWxlIiA9IHgiLi9kZWZhdWx0cy5oIiAtbyB4IiRmaWxlIiA9IHgiZGVmYXVsdHMuaCI7IHRoZW4KLSAJCXBvc3Rwb25lX2RlZmF1bHRzX2g9InllcyIKLSAJICAgIGVsc2UKLSAJCWVjaG8gIiMgaW5jbHVkZSBcIiRmaWxlXCIiID4+ICR7b3V0cHV0fVQKLUBAIC0xMDksNyArMTA5LDcgQEAgZXNhYwotIAotICMgSWYgd2UgcG9zdHBvbmVkIGluY2x1ZGluZyBkZWZhdWx0cy5oLCBhZGQgdGhlICNpbmNsdWRlIG5vdy4KLSBpZiB0ZXN0IHgiJHBvc3Rwb25lX2RlZmF1bHRzX2giID0geCJ5ZXMiOyB0aGVuCi0tICAgIGVjaG8gIiMgaW5jbHVkZSBcImRlZmF1bHRzLmhcIiIgPj4gJHtvdXRwdXR9VAotKyAgICBlY2hvICIjIGluY2x1ZGUgXCIuL2RlZmF1bHRzLmhcIiIgPj4gJHtvdXRwdXR9VAotIGZpCi0gCi0gIyBBZGQgbXVsdGlwbGUgaW5jbHVzaW9uIHByb3RlY3Rpb24gZ3VhcmQsIHBhcnQgdHdvLgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNy1mb3J0cmFuLWNyb3NzLWNvbXBpbGUtaGFjay5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTctZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyODMwYzUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNy1mb3J0cmFuLWNyb3NzLWNvbXBpbGUtaGFjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLUZyb20gNGZjMzVhMmJiNzY2NmE3ZGUzNTU2OGViNWQ0N2YwY2U2YWNlYmU2MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjIwOjAxICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTcvNDddIGZvcnRyYW4gY3Jvc3MtY29tcGlsZSBoYWNrLgotCi0qIEZvcnRyYW4gd291bGQgaGF2ZSBzZWFyY2hlZCBmb3IgYXJtLWFuZ3N0cm9tLWdudWVhYmktZ2ZvcnRyYW4gYnV0IHdvdWxkIGhhdmUgdXNlZAotdXNlZCBnZm9ydGFuLiBGb3IgZ2NjXzQuMi4yLmJiIHdlIHdhbnQgdG8gdXNlIHRoZSBnZm9ydHJhbiBjb21waWxlciBmcm9tIG91ciBjcm9zcwotZGlyZWN0b3J5LgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotLS0tCi0gbGliZ2ZvcnRyYW4vY29uZmlndXJlICAgIHwgMiArLQotIGxpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYyB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZSBiL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZQotaW5kZXggODEyMzhmY2I3OWMuLjdkZWQ3YWJkNDU2IDEwMDc1NQotLS0tIGEvbGliZ2ZvcnRyYW4vY29uZmlndXJlCi0rKysgYi9saWJnZm9ydHJhbi9jb25maWd1cmUKLUBAIC0xMjc5Miw3ICsxMjc5Miw3IEBAIGVzYWMKLSAKLSAjIFdlIG5lZWQgZ2ZvcnRyYW4gdG8gY29tcGlsZSBwYXJ0cyBvZiB0aGUgbGlicmFyeQotICNBQ19QUk9HX0ZDKGdmb3J0cmFuKQotLUZDPSIkR0ZPUlRSQU4iCi0rI0ZDPSIkR0ZPUlRSQU4iCi0gYWNfZXh0PSR7YWNfZmNfc3JjZXh0LWZ9Ci0gYWNfY29tcGlsZT0nJEZDIC1jICRGQ0ZMQUdTICRhY19mY2ZsYWdzX3NyY2V4dCBjb25mdGVzdC4kYWNfZXh0ID4mNScKLSBhY19saW5rPSckRkMgLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRGQ0ZMQUdTICRMREZMQUdTICRhY19mY2ZsYWdzX3NyY2V4dCBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKLWRpZmYgLS1naXQgYS9saWJnZm9ydHJhbi9jb25maWd1cmUuYWMgYi9saWJnZm9ydHJhbi9jb25maWd1cmUuYWMKLWluZGV4IDM3YjEyZDI5OThmLi42M2E0MTY2ZWY2MiAxMDA2NDQKLS0tLSBhL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYwotKysrIGIvbGliZ2ZvcnRyYW4vY29uZmlndXJlLmFjCi1AQCAtMjQzLDcgKzI0Myw3IEBAIEFDX1NVQlNUKGVuYWJsZV9zdGF0aWMpCi0gCi0gIyBXZSBuZWVkIGdmb3J0cmFuIHRvIGNvbXBpbGUgcGFydHMgb2YgdGhlIGxpYnJhcnkKLSAjQUNfUFJPR19GQyhnZm9ydHJhbikKLS1GQz0iJEdGT1JUUkFOIgotKyNGQz0iJEdGT1JUUkFOIgotIEFDX1BST0dfRkMoZ2ZvcnRyYW4pCi0gCi0gIyBleHRyYSBMRCBGbGFncyB3aGljaCBhcmUgcmVxdWlyZWQgZm9yIHRhcmdldHMKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTgtY3BwLWhvbm9yLXN5c3Jvb3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDE4LWNwcC1ob25vci1zeXNyb290LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NTU5MDc0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTgtY3BwLWhvbm9yLXN5c3Jvb3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi1Gcm9tIDFjOGEzMzI0NjljYTRiZmVmYjEwZGY3MDcyMGUwZGM4M2ZmOWE3NTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToyMjowMCArMDQwMAotU3ViamVjdDogW1BBVENIIDE4LzQ3XSBjcHA6IGhvbm9yIHN5c3Jvb3QuCi0KLUN1cnJlbnRseSwgaWYgdGhlIGdjYyB0b29sY2hhaW4gaXMgcmVsb2NhdGVkIGFuZCBpbnN0YWxsZWQgZnJvbSBzc3RhdGUsIHRoZW4geW91IHRyeSBhbmQgY29tcGlsZQotcHJlcHJvY2Vzc2VkIHNvdXJjZSAoLmkgb3IgLmlpIGZpbGVzKSwgdGhlIGNvbXBpbGVyIHdpbGwgdHJ5IGFuZCBhY2Nlc3MgdGhlIGJ1aWx0aW4gc3lzcm9vdCBsb2NhdGlvbgotcmF0aGVyIHRoYW4gdGhlIC0tc3lzcm9vdCBvcHRpb24gc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kbGluZS4gSWYgYWNjZXNzIHRvIHRoYXQgZGlyZWN0b3J5IGlzCi1wZXJtaXNzaW9uIGRlbmllZCAodW5yZWFkYWJsZSksIGdjYyB3aWxsIGVycm9yLgotCi1UaGlzIGhhcHBlbnMgd2hlbiBjY2FjaGUgaXMgaW4gdXNlIGR1ZSB0byB0aGUgZmFjdCBpdCB1c2VzIHByZXByb2Nlc3NlZCBzb3VyY2UgZmlsZXMuCi0KLVRoZSBmaXggYmVsb3cgYWRkcyAlSSB0byB0aGUgY3BwLW91dHB1dCBzcGVjIG1hY3JvIHNvIHRoZSBkZWZhdWx0IHN1YnN0aXR1dGlvbnMgZm9yIC1pcHJlZml4LAotLWlzeXN0ZW0sIC1pc3lzcm9vdCBoYXBwZW4gYW5kIHRoZSBjb3JyZWN0IHN5c3Jvb3QgaXMgdXNlZC4KLQotW1lPQ1RPICMyMDc0XQotCi1SUCAyMDEyLzA0LzEzCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gZ2NjL2NwL2xhbmctc3BlY3MuaCB8IDIgKy0KLSBnY2MvZ2NjLmMgICAgICAgICAgIHwgMiArLQotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NwL2xhbmctc3BlY3MuaCBiL2djYy9jcC9sYW5nLXNwZWNzLmgKLWluZGV4IDZiMzgzZTFkODZkLi5jN2M3ZDZhNTZlYyAxMDA2NDQKLS0tLSBhL2djYy9jcC9sYW5nLXNwZWNzLmgKLSsrKyBiL2djYy9jcC9sYW5nLXNwZWNzLmgKLUBAIC02NCw1ICs2NCw1IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gICB7Ii5paSIsICJAYysrLWNwcC1vdXRwdXQiLCAwLCAwLCAwfSwKLSAgIHsiQGMrKy1jcHAtb3V0cHV0IiwKLSAgICAiJXshTToleyFNTToleyFFOlwKLS0gICAgY2MxcGx1cyAtZnByZXByb2Nlc3NlZCAlaSAlKGNjMV9vcHRpb25zKSAlMlwKLSsgICAgY2MxcGx1cyAtZnByZXByb2Nlc3NlZCAlaSAlSSAlKGNjMV9vcHRpb25zKSAlMlwKLSAgICAgJXshZnN5bnRheC1vbmx5OiUoaW52b2tlX2FzKX19fX0iLCAwLCAwLCAwfSwKLWRpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKLWluZGV4IDA1ODk2ZTE5OTI2Li5jNzNkNDAyMzk4NyAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTM1MSw3ICsxMzUxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjb21waWxlciBkZWZhdWx0X2NvbXBpbGVyc1tdID0KLSAJCQkJCSAgICVXe28qOi0tb3V0cHV0LXBjaD0lKn19JVZ9fX19fX19IiwgMCwgMCwgMH0sCi0gICB7Ii5pIiwgIkBjcHAtb3V0cHV0IiwgMCwgMCwgMH0sCi0gICB7IkBjcHAtb3V0cHV0IiwKLS0gICAiJXshTToleyFNTToleyFFOmNjMSAtZnByZXByb2Nlc3NlZCAlaSAlKGNjMV9vcHRpb25zKSAleyFmc3ludGF4LW9ubHk6JShpbnZva2VfYXMpfX19fSIsIDAsIDAsIDB9LAotKyAgICIleyFNOiV7IU1NOiV7IUU6Y2MxIC1mcHJlcHJvY2Vzc2VkICVpICVJICUoY2MxX29wdGlvbnMpICV7IWZzeW50YXgtb25seTolKGludm9rZV9hcyl9fX19IiwgMCwgMCwgMH0sCi0gICB7Ii5zIiwgIkBhc3NlbWJsZXIiLCAwLCAwLCAwfSwKLSAgIHsiQGFzc2VtYmxlciIsCi0gICAgIiV7IU06JXshTU06JXshRToleyFTOmFzICUoYXNtX2RlYnVnKSAlKGFzbV9vcHRpb25zKSAlaSAlQSB9fX19IiwgMCwgMCwgMH0sCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDE5LU1JUFM2NC1EZWZhdWx0LXRvLU42NC1BQkkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDE5LU1JUFM2NC1EZWZhdWx0LXRvLU42NC1BQkkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0MmE0MDEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxOS1NSVBTNjQtRGVmYXVsdC10by1ONjQtQUJJLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotRnJvbSAwYTNiM2NjNDVlYTdiYTgzYjQ2ZGY3NDY0YjQxYzM3N2UzOTY2ZDg4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjM6MDggKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxOS80N10gTUlQUzY0OiBEZWZhdWx0IHRvIE42NCBBQkkKLQotTUlQUzY0IGRlZmF1bHRzIHRvIG4zMiBBQkksIHRoaXMgcGF0Y2ggbWFrZXMgaXQKLXNvIHRoYXQgaXQgZGVmYXVsdHMgdG8gTjY0IEFCSQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIGNvbmZpZyBzcGVjaWZpY10KLS0tLQotIGdjYy9jb25maWcuZ2NjIHwgMTAgKysrKystLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnLmdjYyBiL2djYy9jb25maWcuZ2NjCi1pbmRleCBiOGJiNGQ2NTgyNS4uNWU0NWY0YjUxOTkgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnLmdjYwotKysrIGIvZ2NjL2NvbmZpZy5nY2MKLUBAIC0yMDg0LDI5ICsyMDg0LDI5IEBAIG1pcHMqLSotbGludXgqKQkJCQkjIExpbnV4IE1JUFMsIGVpdGhlciBlbmRpYW4uCi0gCQkJZGVmYXVsdF9taXBzX2FyY2g9bWlwczMyCi0gCQkJOzsKLSAJCW1pcHM2NGVsLXN0LWxpbnV4LWdudSkKLS0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgotKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKLSAJCQl0bV9maWxlPSIke3RtX2ZpbGV9IG1pcHMvc3QuaCIKLSAJCQl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IG1pcHMvdC1zdCIKLSAJCQllbmFibGVfbWlwc19tdWx0aWxpYnM9InllcyIKLSAJCQk7OwotIAkJbWlwczY0b2N0ZW9uKi0qLWxpbnV4KikKLS0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgotKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKLSAJCQl0bV9kZWZpbmVzPSIke3RtX2RlZmluZXN9IE1JUFNfQ1BVX1NUUklOR19ERUZBVUxUPVxcXCJvY3Rlb25cXFwiIgotIAkJCXRhcmdldF9jcHVfZGVmYXVsdD1NQVNLX1NPRlRfRkxPQVRfQUJJCi0gCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCi0gCQkJOzsKLSAJCW1pcHNpc2E2NHI2Ki0qLWxpbnV4KikKLS0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgotKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKLSAJCQlkZWZhdWx0X21pcHNfYXJjaD1taXBzNjRyNgotIAkJCWVuYWJsZV9taXBzX211bHRpbGlicz0ieWVzIgotIAkJCTs7Ci0gCQltaXBzaXNhNjRyMiotKi1saW51eCopCi0tCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKLSsJCQlkZWZhdWx0X21pcHNfYWJpPTY0Ci0gCQkJZGVmYXVsdF9taXBzX2FyY2g9bWlwczY0cjIKLSAJCQllbmFibGVfbWlwc19tdWx0aWxpYnM9InllcyIKLSAJCQk7OwotIAkJbWlwczY0Ki0qLWxpbnV4KiB8IG1pcHNpc2E2NCotKi1saW51eCopCi0tCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKLSsJCQlkZWZhdWx0X21pcHNfYWJpPTY0Ci0gCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCi0gCQkJOzsKLSAJZXNhYwotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyMC1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyMC1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTdiNGRmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjAtRGVmaW5lLUdMSUJDX0RZTkFNSUNfTElOS0VSLWFuZC1VQ0xJQkNfRFlOQU1JQ19MSU5LRS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIzNCArMCwwIEBACi1Gcm9tIGQ2Yzk4M2I2ODVlZTAzZTljZjIxMTg5MTA4ZDMxZWQ5Zjc2MGZmM2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToyNDo1MCArMDQwMAotU3ViamVjdDogW1BBVENIIDIwLzQ3XSBEZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgYW5kIFVDTElCQ19EWU5BTUlDX0xJTktFUgotIHJlbGF0aXZlIHRvIFNZU1RFTUxJQlNfRElSCi0KLVRoaXMgcGF0Y2ggZGVmaW5lcyBHTElCQ19EWU5BTUlDX0xJTktFUiBhbmQgVUNMSUJDX0RZTkFNSUNfTElOS0VSCi1yZWxhdGl2ZSB0byBTWVNURU1MSUJTX0RJUiB3aGljaCBjYW4gYmUgc2V0IGluIGdlbmVyYXRlZCBoZWFkZXJzCi1UaGlzIGJyZWFrcyB0aGUgYXNzdW1wdGlvbiBvZiBoYXJkY29kZWQgbXVsdGlsaWIgaW4gZ2NjCi1DaGFuZ2UgaXMgb25seSBmb3IgdGhlIHN1cHBvcnRlZCBhcmNoaXRlY3R1cmVzIGluIE9FIGluY2x1ZGluZwotU0gsIHNwYXJjLCBhbHBoYSBmb3IgcG9zc2libGUgZnV0dXJlIHN1cHBvcnQgKGlmIGFueSkKLQotUmVtb3ZlcyB0aGUgZG9faGVhZGVyZml4IHRhc2sgaW4gbWV0YWRhdGEKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBjb25maWd1cmF0aW9uXQotLS0tCi0gZ2NjL2NvbmZpZy9hbHBoYS9saW51eC1lbGYuaCB8ICA0ICsrLS0KLSBnY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmggIHwgIDQgKystLQotIGdjYy9jb25maWcvYXJtL2xpbnV4LWVsZi5oICAgfCAgMiArLQotIGdjYy9jb25maWcvaTM4Ni9saW51eC5oICAgICAgfCAgMiArLQotIGdjYy9jb25maWcvaTM4Ni9saW51eDY0LmggICAgfCAgNiArKystLS0KLSBnY2MvY29uZmlnL2xpbnV4LmggICAgICAgICAgIHwgIDggKysrKy0tLS0KLSBnY2MvY29uZmlnL21pcHMvbGludXguaCAgICAgIHwgMTIgKysrKysrLS0tLS0tCi0gZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oICB8IDE2ICsrKysrKy0tLS0tLS0tLS0KLSBnY2MvY29uZmlnL3NoL2xpbnV4LmggICAgICAgIHwgIDIgKy0KLSBnY2MvY29uZmlnL3NwYXJjL2xpbnV4LmggICAgIHwgIDIgKy0KLSBnY2MvY29uZmlnL3NwYXJjL2xpbnV4NjQuaCAgIHwgIDQgKystLQotIDExIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hbHBoYS9saW51eC1lbGYuaCBiL2djYy9jb25maWcvYWxwaGEvbGludXgtZWxmLmgKLWluZGV4IDJjMzlmYmU2MDFjLi42ZDg4ZTIxYWJlMiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvYWxwaGEvbGludXgtZWxmLmgKLSsrKyBiL2djYy9jb25maWcvYWxwaGEvbGludXgtZWxmLmgKLUBAIC0yMyw4ICsyMyw4IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gI2RlZmluZSBFWFRSQV9TUEVDUyBcCi0geyAiZWxmX2R5bmFtaWNfbGlua2VyIiwgRUxGX0RZTkFNSUNfTElOS0VSIH0sCi0gCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUgkiL2xpYi9sZC1saW51eC5zby4yIgotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLXVDbGliYy5zby4wIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIJU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIgIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMCIKLSAjaWYgREVGQVVMVF9MSUJDID09IExJQkNfVUNMSUJDCi0gI2RlZmluZSBDSE9PU0VfRFlOQU1JQ19MSU5LRVIoRywgVSkgIiV7bWdsaWJjOiIgRyAiOzoiIFUgIn0iCi0gI2VsaWYgREVGQVVMVF9MSUJDID09IExJQkNfR0xJQkMKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmggYi9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKLWluZGV4IGEwOGNmYjM0Mzc3Li5mYmFjOWE5ZDk5NCAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAotKysrIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCi1AQCAtNjIsOCArNjIsOCBAQAotICAgIEdMSUJDX0RZTkFNSUNfTElOS0VSX0RFRkFVTFQgYW5kIFRBUkdFVF9ERUZBVUxUX0ZMT0FUX0FCSS4gICovCi0gCi0gI3VuZGVmICBHTElCQ19EWU5BTUlDX0xJTktFUgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJfU09GVF9GTE9BVCAiL2xpYi9sZC1saW51eC5zby4zIgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJfSEFSRF9GTE9BVCAiL2xpYi9sZC1saW51eC1hcm1oZi5zby4zIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJfU09GVF9GTE9BVCBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMyIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSX0hBUkRfRkxPQVQgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LWFybWhmLnNvLjMiCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUl9ERUZBVUxUIEdMSUJDX0RZTkFNSUNfTElOS0VSX1NPRlRfRkxPQVQKLSAKLSAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FybS9saW51eC1lbGYuaCBiL2djYy9jb25maWcvYXJtL2xpbnV4LWVsZi5oCi1pbmRleCAzZDYyMzY3YWU2OC4uZThhMTYxOTE4NDkgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2FybS9saW51eC1lbGYuaAotKysrIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWxmLmgKLUBAIC02MCw3ICs2MCw3IEBACi0gCi0gI2RlZmluZSBMSUJHQ0NfU1BFQyAiJXttZmxvYXQtYWJpPXNvZnQqOi1sZmxvYXR9IC1sZ2NjIgotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotIAotICNkZWZpbmUgTElOVVhfVEFSR0VUX0xJTktfU1BFQyAgIiV7aCp9IFwKLSAgICAle3N0YXRpYzotQnN0YXRpY30gXAotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9saW51eC5oIGIvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4LmgKLWluZGV4IDU5MTMyMTI0ZDZiLi4zMzZkMTU4NjI5YyAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvaTM4Ni9saW51eC5oCi0rKysgYi9nY2MvY29uZmlnL2kzODYvbGludXguaAotQEAgLTIwLDcgKzIwLDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwotIAotICNkZWZpbmUgR05VX1VTRVJfTElOS19FTVVMQVRJT04gImVsZl9pMzg2IgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotIAotICN1bmRlZiBNVVNMX0RZTkFNSUNfTElOS0VSCi0gI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLW11c2wtaTM4Ni5zby4xIgotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9saW51eDY0LmggYi9nY2MvY29uZmlnL2kzODYvbGludXg2NC5oCi1pbmRleCBlNjVjNDA0ZmY5MS4uYzM0ZGVkOTg0ODEgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2kzODYvbGludXg2NC5oCi0rKysgYi9nY2MvY29uZmlnL2kzODYvbGludXg2NC5oCi1AQCAtMjcsOSArMjcsOSBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKLSAjZGVmaW5lIEdOVV9VU0VSX0xJTktfRU1VTEFUSU9ONjQgImVsZl94ODZfNjQiCi0gI2RlZmluZSBHTlVfVVNFUl9MSU5LX0VNVUxBVElPTlgzMiAiZWxmMzJfeDg2XzY0IgotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC1saW51eC5zby4yIgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiL2xpYjY0L2xkLWxpbnV4LXg4Ni02NC5zby4yIgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJYMzIgIi9saWJ4MzIvbGQtbGludXgteDMyLnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBTWVNURU1MSUJTX0RJUiAibGQtbGludXgteDg2LTY0LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUlgzMiBTWVNURU1MSUJTX0RJUiAibGQtbGludXgteDMyLnNvLjIiCi0gCi0gI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIzMgotICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLW11c2wtaTM4Ni5zby4xIgotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbGludXguaCBiL2djYy9jb25maWcvbGludXguaAotaW5kZXggYjNhOWU4NWU3N2YuLjJlNjgzZDBjNDMwIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9saW51eC5oCi0rKysgYi9nY2MvY29uZmlnL2xpbnV4LmgKLUBAIC04MSwxMCArODEsMTAgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCi0gICAgR0xJQkNfRFlOQU1JQ19MSU5LRVIgbXVzdCBiZSBkZWZpbmVkIGZvciBlYWNoIHRhcmdldCB1c2luZyB0aGVtLCBvcgotICAgIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgYW5kIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgZm9yIHRhcmdldHMKLSAgICBzdXBwb3J0aW5nIGJvdGggMzItYml0IGFuZCA2NC1iaXQgY29tcGlsYXRpb24uICAqLwotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLXVDbGliYy5zby4wIgotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgIi9saWIvbGQtdUNsaWJjLnNvLjAiCi0tI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiL2xpYi9sZDY0LXVDbGliYy5zby4wIgotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSWDMyICIvbGliL2xkeDMyLXVDbGliYy5zby4wIgotKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0IFNZU1RFTUxJQlNfRElSICJsZDY0LXVDbGliYy5zby4wIgotKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSWDMyIFNZU1RFTUxJQlNfRElSICJsZHgzMi11Q2xpYmMuc28uMCIKLSAjZGVmaW5lIEJJT05JQ19EWU5BTUlDX0xJTktFUiAiL3N5c3RlbS9iaW4vbGlua2VyIgotICNkZWZpbmUgQklPTklDX0RZTkFNSUNfTElOS0VSMzIgIi9zeXN0ZW0vYmluL2xpbmtlciIKLSAjZGVmaW5lIEJJT05JQ19EWU5BTUlDX0xJTktFUjY0ICIvc3lzdGVtL2Jpbi9saW5rZXI2NCIKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL21pcHMvbGludXguaCBiL2djYy9jb25maWcvbWlwcy9saW51eC5oCi1pbmRleCA0NDEzMmI4ZTQ0ZC4uODA1MDVhZDlmNDggMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL21pcHMvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9taXBzL2xpbnV4LmgKLUBAIC0yMiwyMCArMjIsMjAgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSAjZGVmaW5lIEdOVV9VU0VSX0xJTktfRU1VTEFUSU9OTjMyICJlbGYzMiV7RUI6Yn0le0VMOmx9dHNtaXBuMzIiCi0gCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyIFwKLS0gICIle21uYW49MjAwODovbGliL2xkLWxpbnV4LW1pcHNuOC5zby4xOzovbGliL2xkLnNvLjF9IgotKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LW1pcHNuOC5zby4xOzoiIFNZU1RFTUxJQlNfRElSICJsZC5zby4xfSIKLSAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgXAotLSAgIiV7bW5hbj0yMDA4Oi9saWI2NC9sZC1saW51eC1taXBzbjguc28uMTs6L2xpYjY0L2xkLnNvLjF9IgotKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LW1pcHNuOC5zby4xOzoiIFNZU1RFTUxJQlNfRElSICJsZC5zby4xfSIKLSAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSTjMyIFwKLS0gICIle21uYW49MjAwODovbGliMzIvbGQtbGludXgtbWlwc244LnNvLjE7Oi9saWIzMi9sZC5zby4xfSIKLSsgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1taXBzbjguc28uMTs6IiBTWVNURU1MSUJTX0RJUiAibGQuc28uMX0iCi0gCi0gI3VuZGVmIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyCi0gI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBcCi0tICAiJXttbmFuPTIwMDg6L2xpYi9sZC11Q2xpYmMtbWlwc244LnNvLjA7Oi9saWIvbGQtdUNsaWJjLnNvLjB9IgotKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy1taXBzbjguc28uMDs6IiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjB9IgotICN1bmRlZiBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NAotICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgXAotLSAgIiV7bW5hbj0yMDA4Oi9saWIvbGQ2NC11Q2xpYmMtbWlwc244LnNvLjA7Oi9saWIvbGQ2NC11Q2xpYmMuc28uMH0iCi0rICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC11Q2xpYmMtbWlwc244LnNvLjA7OiIgU1lTVEVNTElCU19ESVIgImxkNjQtdUNsaWJjLnNvLjB9IgotICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSTjMyIFwKLS0gICIle21uYW49MjAwODovbGliMzIvbGQtdUNsaWJjLW1pcHNuOC5zby4wOzovbGliMzIvbGQtdUNsaWJjLnNvLjB9IgotKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy1taXBzbjguc28uMDs6IiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjB9IgotIAotICN1bmRlZiBNVVNMX0RZTkFNSUNfTElOS0VSMzIKLSAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIzMiBcCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCi1pbmRleCA3MWUzNWI3MDlhZC4uM2IwMGVjMGZjZjAgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKLSsrKyBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAotQEAgLTQxMiwxNiArNDEyLDExIEBAIGV4dGVybiBpbnQgZG90X3N5bWJvbHM7Ci0gI3VuZGVmCUxJTktfT1NfREVGQVVMVF9TUEVDCi0gI2RlZmluZSBMSU5LX09TX0RFRkFVTFRfU1BFQyAiJShsaW5rX29zX2xpbnV4KSIKLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgIiUoZHluYW1pY19saW5rZXJfcHJlZml4KS9saWIvbGQuc28uMSIKLS0KLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLnNvLjEiCi0gI2lmZGVmIExJTlVYNjRfREVGQVVMVF9BQklfRUxGdjIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgXAotLSIle21hYmk9ZWxmdjE6JShkeW5hbWljX2xpbmtlcl9wcmVmaXgpL2xpYjY0L2xkNjQuc28uMTsiIFwKLS0iOiUoZHluYW1pY19saW5rZXJfcHJlZml4KS9saWI2NC9sZDY0LnNvLjJ9IgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiJXttYWJpPWVsZnYxOiIgU1lTVEVNTElCU19ESVIgImxkNjQuc28uMTs6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC5zby4yfSIKLSAjZWxzZQotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBcCi0tIiV7bWFiaT1lbGZ2MjolKGR5bmFtaWNfbGlua2VyX3ByZWZpeCkvbGliNjQvbGQ2NC5zby4yOyIgXAotLSI6JShkeW5hbWljX2xpbmtlcl9wcmVmaXgpL2xpYjY0L2xkNjQuc28uMX0iCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0ICIle21hYmk9ZWxmdjI6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC5zby4yOzoiIFNZU1RFTUxJQlNfRElSICJsZDY0LnNvLjF9IgotICNlbmRpZgotIAotICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUjMyIFwKLUBAIC00MjksOCArNDI0LDkgQEAgZXh0ZXJuIGludCBkb3Rfc3ltYm9sczsKLSAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVI2NCBcCi0gICAiL2xpYi9sZC1tdXNsLXBvd2VycGM2NCIgTVVTTF9EWU5BTUlDX0xJTktFUl9FICIle21zb2Z0LWZsb2F0Oi1zZn0uc28uMSIKLSAKLS0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLXVDbGliYy5zby4wIgotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgIi9saWIvbGQ2NC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0IFNZU1RFTUxJQlNfRElSICJsZDY0LXVDbGliYy5zby4wIgotKwotICNpZiBERUZBVUxUX0xJQkMgPT0gTElCQ19VQ0xJQkMKLSAjZGVmaW5lIENIT09TRV9EWU5BTUlDX0xJTktFUihHLCBVLCBNKSBcCi0gICAiJXttZ2xpYmM6IiBHICI7OiV7bW11c2w6IiBNICI7OiIgVSAifX0iCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9zaC9saW51eC5oIGIvZ2NjL2NvbmZpZy9zaC9saW51eC5oCi1pbmRleCBjMzAwODM0MjNmMi4uMTk2YjgyNzI1ZjggMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL3NoL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvc2gvbGludXguaAotQEAgLTY0LDcgKzY0LDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSAgICIvbGliL2xkLW11c2wtc2giIE1VU0xfRFlOQU1JQ19MSU5LRVJfRSBNVVNMX0RZTkFNSUNfTElOS0VSX0ZQIFwKLSAgICIle21mZHBpYzotZmRwaWN9LnNvLjEiCi0gCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC5zby4yIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCi0gCi0gI3VuZGVmIFNVQlRBUkdFVF9MSU5LX0VNVUxfU1VGRklYCi0gI2RlZmluZSBTVUJUQVJHRVRfTElOS19FTVVMX1NVRkZJWCAiJXttZmRwaWM6X2ZkOzpfbGludXh9IgotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvc3BhcmMvbGludXguaCBiL2djYy9jb25maWcvc3BhcmMvbGludXguaAotaW5kZXggY2UwODQ2NTZmY2EuLmJlZDYzMDBjYjJhIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9zcGFyYy9saW51eC5oCi0rKysgYi9nY2MvY29uZmlnL3NwYXJjL2xpbnV4LmgKLUBAIC04Myw3ICs4Myw3IEBAIGV4dGVybiBjb25zdCBjaGFyICpob3N0X2RldGVjdF9sb2NhbF9jcHUgKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7Ci0gICAgV2hlbiB0aGUgLXNoYXJlZCBsaW5rIG9wdGlvbiBpcyB1c2VkIGEgZmluYWwgbGluayBpcyBub3QgYmVpbmcKLSAgICBkb25lLiAgKi8KLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSAKLSAjdW5kZWYgIExJTktfU1BFQwotICNkZWZpbmUgTElOS19TUEVDICItbSBlbGYzMl9zcGFyYyAle3NoYXJlZDotc2hhcmVkfSBcCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmggYi9nY2MvY29uZmlnL3NwYXJjL2xpbnV4NjQuaAotaW5kZXggNTczY2U4YTlhNGMuLjY3NDlmNmI1ZDljIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmgKLSsrKyBiL2djYy9jb25maWcvc3BhcmMvbGludXg2NC5oCi1AQCAtODQsOCArODQsOCBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotICAgIFdoZW4gdGhlIC1zaGFyZWQgbGluayBvcHRpb24gaXMgdXNlZCBhIGZpbmFsIGxpbmsgaXMgbm90IGJlaW5nCi0gICAgZG9uZS4gICovCi0gCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLWxpbnV4LnNvLjIiCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0ICIvbGliNjQvbGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0IFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotIAotICNpZmRlZiBTUEFSQ19CSV9BUkNICi0gCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDIxLWdjYy1GaXgtYXJndW1lbnQtbGlzdC10b28tbG9uZy1lcnJvci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjEtZ2NjLUZpeC1hcmd1bWVudC1saXN0LXRvby1sb25nLWVycm9yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTU2MjE0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjEtZ2NjLUZpeC1hcmd1bWVudC1saXN0LXRvby1sb25nLWVycm9yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotRnJvbSA4MGMyNDI0N2ZlZDUyYzEyNjk3OTEwODgwOTBiYzBmYTg1MjgwOTgzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjY6MzcgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAyMS80N10gZ2NjOiBGaXggYXJndW1lbnQgbGlzdCB0b28gbG9uZyBlcnJvci4KLQotVGhlcmUgd291bGQgYmUgYW4gIkFyZ3VtZW50IGxpc3QgdG9vIGxvbmciIGVycm9yIHdoZW4gdGhlCi1idWlsZCBkaXJlY3RvcnkgaXMgbG9uZ2VyIHRoYW4gMjAwLCB0aGlzIGlzIGNhdXNlZCBieToKLQotaGVhZGVycz1gZWNobyAkKFBMVUdJTl9IRUFERVJTKSB8IHRyICcgJyAnXDAxMicgfCBzb3J0IC11YAotCi1UaGUgUExVR0lOX0hFQURFUlMgaXMgdG9vIGxvbmcgYmVmb3JlIHNvcnQsIHNvIHRoZSAiZWNobyIgY2FuJ3QgaGFuZGxlCi1pdCwgdXNlIHRoZSAkKHNvcnQgbGlzdCkgb2YgR05VIG1ha2Ugd2hpY2ggY2FuIGhhbmRsZSB0aGUgdG9vIGxvbmcgbGlzdAotd291bGQgZml4IHRoZSBwcm9ibGVtLCB0aGUgaGVhZGVyIHdvdWxkIGJlIHNob3J0IGVub3VnaCBhZnRlciBzb3J0ZWQuCi1UaGUgInRyICcgJyAnXDAxMiciIHdhcyB1c2VkIGZvciB0cmFuc2xhdGluZyB0aGUgc3BhY2UgdG8gIlxuIiwgdGhlCi0kKHNvcnQgbGlzdCkgZG9lc24ndCBuZWVkIHRoaXMuCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBnY2MvTWFrZWZpbGUuaW4gfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KLWluZGV4IDdiNTkwYzliYmQzLi4yM2NjYTdmMGQ1YSAxMDA2NDQKLS0tLSBhL2djYy9NYWtlZmlsZS5pbgotKysrIGIvZ2NjL01ha2VmaWxlLmluCi1AQCAtMzQ1OSw3ICszNDU5LDcgQEAgaW5zdGFsbC1wbHVnaW46IGluc3RhbGxkaXJzIGxhbmcuaW5zdGFsbC1wbHVnaW4gcy1oZWFkZXItdmFycyBpbnN0YWxsLWdlbmd0eXBlCi0gIyBXZSBrZWVwIHRoZSBkaXJlY3Rvcnkgc3RydWN0dXJlIGZvciBmaWxlcyBpbiBjb25maWcgb3IgYy1mYW1pbHkgYW5kIC5kZWYKLSAjIGZpbGVzLiBBbGwgb3RoZXIgZmlsZXMgYXJlIGZsYXR0ZW5lZCB0byBhIHNpbmdsZSBkaXJlY3RvcnkuCi0gCSQobWtpbnN0YWxsZGlycykgJChERVNURElSKSQocGx1Z2luX2luY2x1ZGVkaXIpCi0tCWhlYWRlcnM9YGVjaG8gJChQTFVHSU5fSEVBREVSUykgJCQoY2QgJChzcmNkaXIpOyBlY2hvICouaCAqLmRlZikgfCB0ciAnICcgJ1wwMTInIHwgc29ydCAtdWA7IFwKLSsJaGVhZGVycz0iJChzb3J0ICQoUExVR0lOX0hFQURFUlMpICQkKGNkICQoc3JjZGlyKTsgZWNobyAqLmggKi5kZWYpKSI7IFwKLSAJc3JjZGlyc3RyaXA9YGVjaG8gIiQoc3JjZGlyKSIgfCBzZWQgJ3MvW10uW14kJFxcKnxdL1xcXFwmL2cnYDsgXAotIAlmb3IgZmlsZSBpbiAkJGhlYWRlcnM7IGRvIFwKLSAJICBpZiBbIC1mICQkZmlsZSBdIDsgdGhlbiBcCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDIyLURpc2FibGUtc2R0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyMi1EaXNhYmxlLXNkdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODcxZjE5NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDIyLURpc2FibGUtc2R0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEzICswLDAgQEAKLUZyb20gMzAyMWZlYzQ4NWY0NDQ3OGEzZDVmZmZiNGFkYWMxM2Q4MzFmY2RjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjI4OjEwICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjIvNDddIERpc2FibGUgc2R0LgotCi1XZSBkb24ndCBsaXN0IGR0cmFjZSBpbiBERVBFTkRTIHNvIHdlIHNob3VsZG4ndCBiZSBkZXBlbmRpbmcgb24gdGhpcyBoZWFkZXIuCi1JdCBtYXkgb3IgbWF5IG5vdCBleGlzdCBmcm9tIHByZWl2b3VzIGJ1aWxkcyB0aG91Z2guIFRvIGJlIGRldGVybWluc3RpYywgZGlzYWJsZQotc2R0LmggdXNhZ2UgYWx3YXlzLiBUaGlzIGF2b2lkcyBidWlsZCBmYWlsdXJlcyBpZiB0aGUgaGVhZGVyIGlzIHJlbW92ZWQgYWZ0ZXIgY29uZmlndXJlCi1idXQgYmVmb3JlIGxpYmdjYyBpcyBjb21waWxlZCBmb3IgZXhhbXBsZS4KLQotUlAgMjAxMi84LzcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotRGlzYWJsZSBzZHQgZm9yIGxpYnN0ZGMrKy12My4KLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbaGFja10KLS0tLQotIGdjYy9jb25maWd1cmUgICAgICAgICAgICAgfCAxMiArKysrKystLS0tLS0KLSBnY2MvY29uZmlndXJlLmFjICAgICAgICAgIHwgMTggKysrKysrKysrLS0tLS0tLS0tCi0gbGlic3RkYysrLXYzL2NvbmZpZ3VyZSAgICB8ICA2ICsrKy0tLQotIGxpYnN0ZGMrKy12My9jb25maWd1cmUuYWMgfCAgMiArLQotIDQgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQotaW5kZXggYjVhYzE1NTI1NDEuLjA4YjJmNjNjN2ZhIDEwMDc1NQotLS0tIGEvZ2NjL2NvbmZpZ3VyZQotKysrIGIvZ2NjL2NvbmZpZ3VyZQotQEAgLTI4OTY3LDEyICsyODk2NywxMiBAQCBmaQotIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgc3lzL3NkdC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5IiA+JjUKLSAkYXNfZWNob19uICJjaGVja2luZyBzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkuLi4gIiA+JjY7IH0KLSBoYXZlX3N5c19zZHRfaD1ubwotLWlmIHRlc3QgLWYgJHRhcmdldF9oZWFkZXJfZGlyL3N5cy9zZHQuaDsgdGhlbgotLSAgaGF2ZV9zeXNfc2R0X2g9eWVzCi0tCi0tJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9TWVNfU0RUX0ggMSIgPj5jb25mZGVmcy5oCi0tCi0tZmkKLSsjaWYgdGVzdCAtZiAkdGFyZ2V0X2hlYWRlcl9kaXIvc3lzL3NkdC5oOyB0aGVuCi0rIyAgaGF2ZV9zeXNfc2R0X2g9eWVzCi0rIwotKyMkYXNfZWNobyAiI2RlZmluZSBIQVZFX1NZU19TRFRfSCAxIiA+PmNvbmZkZWZzLmgKLSsjCi0rI2ZpCi0geyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRoYXZlX3N5c19zZHRfaCIgPiY1Ci0gJGFzX2VjaG8gIiRoYXZlX3N5c19zZHRfaCIgPiY2OyB9Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IGNiMTQ3OWQxZWY0Li4wNTgxZmU5NjNkYyAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC01NzU0LDE1ICs1NzU0LDE1IEBAIGZpCi0gQUNfU1VCU1QoW2VuYWJsZV9kZWZhdWx0X3NzcF0pCi0gCi0gIyBUZXN0IGZvciA8c3lzL3NkdC5oPiBvbiB0aGUgdGFyZ2V0LgotLUdDQ19UQVJHRVRfVEVNUExBVEUoW0hBVkVfU1lTX1NEVF9IXSkKLS1BQ19NU0dfQ0hFQ0tJTkcoc3lzL3NkdC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5KQotLWhhdmVfc3lzX3NkdF9oPW5vCi0taWYgdGVzdCAtZiAkdGFyZ2V0X2hlYWRlcl9kaXIvc3lzL3NkdC5oOyB0aGVuCi0tICBoYXZlX3N5c19zZHRfaD15ZXMKLS0gIEFDX0RFRklORShIQVZFX1NZU19TRFRfSCwgMSwKLS0gICAgICAgICAgICBbRGVmaW5lIGlmIHlvdXIgdGFyZ2V0IEMgbGlicmFyeSBwcm92aWRlcyBzeXMvc2R0LmhdKQotLWZpCi0tQUNfTVNHX1JFU1VMVCgkaGF2ZV9zeXNfc2R0X2gpCi0rI0dDQ19UQVJHRVRfVEVNUExBVEUoW0hBVkVfU1lTX1NEVF9IXSkKLSsjQUNfTVNHX0NIRUNLSU5HKHN5cy9zZHQuaCBpbiB0aGUgdGFyZ2V0IEMgbGlicmFyeSkKLSsjaGF2ZV9zeXNfc2R0X2g9bm8KLSsjaWYgdGVzdCAtZiAkdGFyZ2V0X2hlYWRlcl9kaXIvc3lzL3NkdC5oOyB0aGVuCi0rIyAgaGF2ZV9zeXNfc2R0X2g9eWVzCi0rIyAgQUNfREVGSU5FKEhBVkVfU1lTX1NEVF9ILCAxLAotKyMgICAgICAgICAgICBbRGVmaW5lIGlmIHlvdXIgdGFyZ2V0IEMgbGlicmFyeSBwcm92aWRlcyBzeXMvc2R0LmhdKQotKyNmaQotKyNBQ19NU0dfUkVTVUxUKCRoYXZlX3N5c19zZHRfaCkKLSAKLSAjIENoZWNrIGlmIFRGbW9kZSBsb25nIGRvdWJsZSBzaG91bGQgYmUgdXNlZCBieSBkZWZhdWx0IG9yIG5vdC4KLSAjIFNvbWUgZ2xpYmMgdGFyZ2V0cyB1c2VkIERGbW9kZSBsb25nIGRvdWJsZSwgYnV0IHdpdGggZ2xpYmMgMi40Ci1kaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZ3VyZSBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUKLWluZGV4IGZiN2UxMjZjMGIwLi5hMTgwNTdmZWI4OCAxMDA3NTUKLS0tLSBhL2xpYnN0ZGMrKy12My9jb25maWd1cmUKLSsrKyBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUKLUBAIC0yMTg1NiwxMSArMjE4NTYsMTEgQEAgYWNfY29tcGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JwotIGFjX2xpbms9JyRDQyAtbyBjb25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCi0gYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBpbGVyX2dudQotIAotLSAgaWYgdGVzdCAkZ2xpYmN4eF9jdl9zeXNfc2R0X2ggPSB5ZXM7IHRoZW4KLSsjICBpZiB0ZXN0ICRnbGliY3h4X2N2X3N5c19zZHRfaCA9IHllczsgdGhlbgotIAotLSRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAotKyMkYXNfZWNobyAiI2RlZmluZSBIQVZFX1NZU19TRFRfSCAxIiA+PmNvbmZkZWZzLmgKLSAKLS0gIGZpCi0rIyAgZmkKLSAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkZ2xpYmN4eF9jdl9zeXNfc2R0X2giID4mNQotICRhc19lY2hvICIkZ2xpYmN4eF9jdl9zeXNfc2R0X2giID4mNjsgfQotIAotZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMgYi9saWJzdGRjKystdjMvY29uZmlndXJlLmFjCi1pbmRleCA4ZTk3MzUwM2JlMC4uYTQ2ZDI1ZTc0MGQgMTAwNjQ0Ci0tLS0gYS9saWJzdGRjKystdjMvY29uZmlndXJlLmFjCi0rKysgYi9saWJzdGRjKystdjMvY29uZmlndXJlLmFjCi1AQCAtMjMwLDcgKzIzMCw3IEBAIEdMSUJDWFhfQ0hFQ0tfU0NfTlBST0NFU1NPUlNfT05MTgotIEdMSUJDWFhfQ0hFQ0tfU0NfTlBST0NfT05MTgotIEdMSUJDWFhfQ0hFQ0tfUFRIUkVBRFNfTlVNX1BST0NFU1NPUlNfTlAKLSBHTElCQ1hYX0NIRUNLX1NZU0NUTF9IV19OQ1BVCi0tR0xJQkNYWF9DSEVDS19TRFRfSAotKyNHTElCQ1hYX0NIRUNLX1NEVF9ICi0gCi0gIyBDaGVjayBmb3IgYXZhaWxhYmxlIGhlYWRlcnMuCi0gQUNfQ0hFQ0tfSEVBREVSUyhbZW5kaWFuLmggZXhlY2luZm8uaCBmbG9hdC5oIGZwLmggaWVlZWZwLmggaW50dHlwZXMuaCBcCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDIzLWxpYnRvb2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDIzLWxpYnRvb2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3ZGZiMWYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyMy1saWJ0b29sLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSBlNzlhNGY4MTY5ZTgzNmM4ZGVhYmNhNWE0NTg4NGNmZTExZDA3ODQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6Mjk6MTEgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAyMy80N10gbGlidG9vbAotCi1saWJzdGRjKysgZnJvbSBnY2MtcnVudGltZSBnZXRzIGNyZWF0ZWQgd2l0aCAtcnBhdGg9L3Vzci9saWIvLi4vbGliIGZvciBxZW11eDg2LTY0Ci13aGVuIHJ1bm5pbmcgb24gYW0geDg2XzY0IGJ1aWxkIGhvc3QuCi0KLVRoaXMgcGF0Y2ggc3RvcHMgdGhpcyBzcGVhZGluZyB0byBsaWJkaXIgaW4gdGhlIGxpYnN0ZGMrKy5sYSBmaWxlIHdpdGhpbiBsaWJ0b29sLgotQXJndWFibHksIGl0IHNob3VsZG4ndCBiZSBwYXNzaW5nIHRoaXMgaW50byBsaWJ0b29sIGluIHRoZSBmaXJzdCBwbGFjZSBidXQKLWZvciBub3cgdGhpcyByZXNvbHZlcyB0aGUgbmFzdGllc3QgcHJvYmxlbXMgdGhpcyBjYXVzZXMuCi0KLWZ1bmNfbm9ybWFsX2Fic3BhdGggd291bGQgcmVzb2x2ZSBhbiBlbXB0eSBwYXRoIHRvIGBwd2RgIHNvIHdlIG5lZWQKLXRvIGZpbHRlciB0aGUgemVybyBjYXNlLgotCi1SUCAyMDEyLzgvMjQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBsdG1haW4uc2ggfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9sdG1haW4uc2ggYi9sdG1haW4uc2gKLWluZGV4IDk1MDNlYzg1ZDcwLi4wMTIxZmJhNzA3ZiAxMDA2NDQKLS0tLSBhL2x0bWFpbi5zaAotKysrIGIvbHRtYWluLnNoCi1AQCAtNjM1OSw2ICs2MzU5LDEwIEBAIGZ1bmNfbW9kZV9saW5rICgpCi0gCWZ1bmNfd2FybmluZyAiaWdub3JpbmcgbXVsdGlwbGUgXGAtcnBhdGgncyBmb3IgYSBsaWJ0b29sIGxpYnJhcnkiCi0gCi0gICAgICAgaW5zdGFsbF9saWJkaXI9IiQxIgotKyAgICAgIGlmIHRlc3QgLW4gIiRpbnN0YWxsX2xpYmRpciI7IHRoZW4KLSsJZnVuY19ub3JtYWxfYWJzcGF0aCAiJGluc3RhbGxfbGliZGlyIgotKwlpbnN0YWxsX2xpYmRpcj0kZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQKLSsgICAgICBmaQotIAotICAgICAgIG9sZGxpYnM9Ci0gICAgICAgaWYgdGVzdCAteiAiJHJwYXRoIjsgdGhlbgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNC1nY2MtYXJtdjQtcGFzcy1maXgtdjRieC10by1saW5rZXItdG8tc3VwcG9ydC1FQUJJLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNC1nY2MtYXJtdjQtcGFzcy1maXgtdjRieC10by1saW5rZXItdG8tc3VwcG9ydC1FQUJJLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYTFlMWJiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjQtZ2NjLWFybXY0LXBhc3MtZml4LXY0YngtdG8tbGlua2VyLXRvLXN1cHBvcnQtRUFCSS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gNzRkOGRjNDhjYjE4NWUzMDRjNjAwNjdiNGQ4YjUwNDQ3ZWMzMjhlYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjMwOjMyICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjQvNDddIGdjYzogYXJtdjQ6IHBhc3MgZml4LXY0YnggdG8gbGlua2VyIHRvIHN1cHBvcnQgRUFCSS4KLQotVGhlIExJTktfU1BFQyBmb3IgbGludXggZ2V0cyBvdmVyd3JpdHRlbiBieSBsaW51eC1lYWJpLmggd2hpY2gKLW1lYW5zIHRoZSB2YWx1ZSBvZiBUQVJHRVRfRklYX1Y0QlhfU1BFQyBnZXRzIGxvc3QgYW5kIGFzIGEgcmVzdWx0Ci10aGUgb3B0aW9uIGlzIG5vdCBwYXNzZWQgdG8gbGlua2VyIHdoZW4gY2hvc2luZyBtYXJjaD1hcm12NAotVGhpcyBwYXRjaCByZWRlZmluZXMgdGhpcyBpbiBsaW51eC1lYWJpLmggYW5kIHJlaW5zZXJ0cyBpdAotZm9yIGVhYmkgZGVmYXVsdGluZyB0b29sY2hhaW5zLgotCi1XZSBtaWdodCB3YW50IHRvIHNlbmQgaXQgdXBzdHJlYW0uCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oIHwgNiArKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmggYi9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKLWluZGV4IGZiYWM5YTlkOTk0Li41YTUxYThhNzA5NSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAotKysrIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCi1AQCAtODgsMTAgKzg4LDE0IEBACi0gI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSIFwKLSAgICIvbGliL2xkLW11c2wtYXJtIiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bWZsb2F0LWFiaT1oYXJkOmhmfS5zby4xIgotIAotKy8qIEZvciBhcm12NCB3ZSBwYXNzIC0tZml4LXY0YnggdG8gbGlua2VyIHRvIHN1cHBvcnQgRUFCSSAqLwotKyN1bmRlZiBUQVJHRVRfRklYX1Y0QlhfU1BFQwotKyNkZWZpbmUgVEFSR0VUX0ZJWF9WNEJYX1NQRUMgIiV7bWNwdT1hcm04fG1jcHU9YXJtODEwfG1jcHU9c3Ryb25nYXJtKnxtYXJjaD1hcm12NDogLS1maXgtdjRieH0iCi0rCi0gLyogQXQgdGhpcyBwb2ludCwgYnBhYmkuaCB3aWxsIGhhdmUgY2xvYmJlcmVkIExJTktfU1BFQy4gIFdlIHdhbnQgdG8KLSAgICB1c2UgdGhlIEdOVS9MaW51eCB2ZXJzaW9uLCBub3QgdGhlIGdlbmVyaWMgQlBBQkkgdmVyc2lvbi4gICovCi0gI3VuZGVmICBMSU5LX1NQRUMKLS0jZGVmaW5lIExJTktfU1BFQyBFQUJJX0xJTktfU1BFQwkJCQkJXAotKyNkZWZpbmUgTElOS19TUEVDIFRBUkdFVF9GSVhfVjRCWF9TUEVDIEVBQklfTElOS19TUEVDCQkJXAotICAgTElOVVhfT1JfQU5EUk9JRF9MRCAoTElOVVhfVEFSR0VUX0xJTktfU1BFQywJCQkJXAotIAkJICAgICAgIExJTlVYX1RBUkdFVF9MSU5LX1NQRUMgIiAiIEFORFJPSURfTElOS19TUEVDKQotIAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNS1Vc2UtdGhlLW11bHRpbGliLWNvbmZpZy1maWxlcy1mcm9tLUItaW5zdGVhZC1vZi11c2luLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNS1Vc2UtdGhlLW11bHRpbGliLWNvbmZpZy1maWxlcy1mcm9tLUItaW5zdGVhZC1vZi11c2luLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMjM0MTMyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjUtVXNlLXRoZS1tdWx0aWxpYi1jb25maWctZmlsZXMtZnJvbS1CLWluc3RlYWQtb2YtdXNpbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi1Gcm9tIGFjNTBkYzMwMTBhNjYyMjBhZDQ4M2MwOWVmZTI3MGJiM2Y0Yzk0MjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOTozMzowNCArMDQwMAotU3ViamVjdDogW1BBVENIIDI1LzQ3XSBVc2UgdGhlIG11bHRpbGliIGNvbmZpZyBmaWxlcyBmcm9tICR7Qn0gaW5zdGVhZCBvZgotIHVzaW5nIHRoZSBvbmVzIGZyb20gJHtTfQotCi1Vc2UgdGhlIG11bHRpbGliIGNvbmZpZyBmaWxlcyBmcm9tICR7Qn0gaW5zdGVhZCBvZiB1c2luZyB0aGUgb25lcyBmcm9tICR7U30KLXNvIHRoYXQgdGhlIHNvdXJjZSBjYW4gYmUgc2hhcmVkIGJldHdlZW4gZ2NjLWNyb3NzLWluaXRpYWwsCi1nY2MtY3Jvc3MtaW50ZXJtZWRpYXRlLCBnY2MtY3Jvc3MsIGdjYy1ydW50aW1lLCBhbmQgYWxzbyB0aGUgc2RrIGJ1aWxkLgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ29uc3RhbnRpbiBNdXNjYSA8Y29uc3RhbnRpbngubXVzY2FAaW50ZWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCi0tLS0KLSBnY2MvY29uZmlndXJlICAgIHwgMjIgKysrKysrKysrKysrKysrKysrLS0tLQotIGdjYy9jb25maWd1cmUuYWMgfCAyMiArKysrKysrKysrKysrKysrKystLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKLWluZGV4IDA4YjJmNjNjN2ZhLi42YmEzOTFlZDA2OCAxMDA3NTUKLS0tLSBhL2djYy9jb25maWd1cmUKLSsrKyBiL2djYy9jb25maWd1cmUKLUBAIC0xMjEzMCwxMCArMTIxMzAsMjAgQEAgZG9uZQotIHRtYWtlX2ZpbGVfPQotIGZvciBmIGluICR7dG1ha2VfZmlsZX0KLSBkbwotLQlpZiB0ZXN0IC1mICR7c3JjZGlyfS9jb25maWcvJGYKLS0JdGhlbgotLQkJdG1ha2VfZmlsZV89IiR7dG1ha2VfZmlsZV99IFwkKHNyY2RpcikvY29uZmlnLyRmIgotLQlmaQotKyAgY2FzZSAkZiBpbgotKyAgICAqL3QtbGludXg2NCApCi0rICAgICAgIGlmIHRlc3QgLWYgLi9jb25maWcvJGYKLSsgICAgICAgdGhlbgotKyAgICAgICAgIHRtYWtlX2ZpbGVfPSIke3RtYWtlX2ZpbGVffSAuL2NvbmZpZy8kZiIKLSsgICAgICAgZmkKLSsgICAgICAgOzsKLSsgICAgKiApCi0rICAgICAgIGlmIHRlc3QgLWYgJHtzcmNkaXJ9L2NvbmZpZy8kZgotKyAgICAgICB0aGVuCi0rICAgICAgICAgdG1ha2VfZmlsZV89IiR7dG1ha2VfZmlsZV99IFwkKHNyY2RpcikvY29uZmlnLyRmIgotKyAgICAgICBmaQotKyAgICAgICA7OwotKyAgZXNhYwotIGRvbmUKLSB0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGVffSIKLSAKLUBAIC0xMjE0NCw2ICsxMjE1NCwxMCBAQCB0bV9maWxlX2xpc3Q9Im9wdGlvbnMuaCIKLSB0bV9pbmNsdWRlX2xpc3Q9Im9wdGlvbnMuaCBpbnNuLWNvbnN0YW50cy5oIgotIGZvciBmIGluICR0bV9maWxlOyBkbwotICAgY2FzZSAkZiBpbgotKyAgICAqL2xpbnV4NjQuaCApCi0rICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IC4vY29uZmlnLyRmIgotKyAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAuL2NvbmZpZy8kZiIKLSsgICAgICAgOzsKLSAgICAgLi8qICkKLSAgICAgICAgZj1gZWNobyAkZiB8IHNlZCAncy9eLi4vLydgCi0gICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9ICRmIgotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCi1pbmRleCAwNTgxZmU5NjNkYy4uODU1MWE0MTJkZjMgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlndXJlLmFjCi0rKysgYi9nY2MvY29uZmlndXJlLmFjCi1AQCAtMTkwMiwxMCArMTkwMiwyMCBAQCBkb25lCi0gdG1ha2VfZmlsZV89Ci0gZm9yIGYgaW4gJHt0bWFrZV9maWxlfQotIGRvCi0tCWlmIHRlc3QgLWYgJHtzcmNkaXJ9L2NvbmZpZy8kZgotLQl0aGVuCi0tCQl0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCi0tCWZpCi0rICBjYXNlICRmIGluCi0rICAgICovdC1saW51eDY0ICkKLSsgICAgICAgaWYgdGVzdCAtZiAuL2NvbmZpZy8kZgotKyAgICAgICB0aGVuCi0rICAgICAgICAgdG1ha2VfZmlsZV89IiR7dG1ha2VfZmlsZV99IC4vY29uZmlnLyRmIgotKyAgICAgICBmaQotKyAgICAgICA7OwotKyAgICAqICkKLSsgICAgICAgaWYgdGVzdCAtZiAke3NyY2Rpcn0vY29uZmlnLyRmCi0rICAgICAgIHRoZW4KLSsgICAgICAgICB0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCi0rICAgICAgIGZpCi0rICAgICAgIDs7Ci0rICBlc2FjCi0gZG9uZQotIHRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZV99IgotIAotQEAgLTE5MTYsNiArMTkyNiwxMCBAQCB0bV9maWxlX2xpc3Q9Im9wdGlvbnMuaCIKLSB0bV9pbmNsdWRlX2xpc3Q9Im9wdGlvbnMuaCBpbnNuLWNvbnN0YW50cy5oIgotIGZvciBmIGluICR0bV9maWxlOyBkbwotICAgY2FzZSAkZiBpbgotKyAgICAqL2xpbnV4NjQuaCApCi0rICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IC4vY29uZmlnLyRmIgotKyAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAuL2NvbmZpZy8kZiIKLSsgICAgICAgOzsKLSAgICAgLi8qICkKLSAgICAgICAgZj1gZWNobyAkZiB8IHNlZCAncy9eLi4vLydgCi0gICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9ICRmIgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNi1Bdm9pZC11c2luZy1saWJkaXItZnJvbS0ubGEtd2hpY2gtdXN1YWxseS1wb2ludHMtdG8tLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNi1Bdm9pZC11c2luZy1saWJkaXItZnJvbS0ubGEtd2hpY2gtdXN1YWxseS1wb2ludHMtdG8tLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZTI0NzEzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjYtQXZvaWQtdXNpbmctbGliZGlyLWZyb20tLmxhLXdoaWNoLXVzdWFsbHktcG9pbnRzLXRvLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gOWZhYjQ3ZDg2NjI5ODZhZDg4N2Q5ZWRkYzM5ZmNiZTI1ZTU3NjM4MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDIwIEZlYiAyMDE1IDA5OjM5OjM4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjYvNDddIEF2b2lkIHVzaW5nIGxpYmRpciBmcm9tIC5sYSB3aGljaCB1c3VhbGx5IHBvaW50cyB0byBhCi0gaG9zdCBwYXRoCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEpvbmF0aGFuIExpdSA8bmV0MTQ3QGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsdG1haW4uc2ggfCAzICsrKwotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2x0bWFpbi5zaCBiL2x0bWFpbi5zaAotaW5kZXggMDEyMWZiYTcwN2YuLjUyYmRiZGI1ZjljIDEwMDY0NAotLS0tIGEvbHRtYWluLnNoCi0rKysgYi9sdG1haW4uc2gKLUBAIC01NjI4LDYgKzU2MjgsOSBAQCBmdW5jX21vZGVfbGluayAoKQotIAkgICAgYWJzZGlyPSIkYWJzX2xhZGlyIgotIAkgICAgbGliZGlyPSIkYWJzX2xhZGlyIgotIAkgIGVsc2UKLSsJICAgICMgSW5zdGVhZCBvZiB1c2luZyBsaWJkaXIgZnJvbSAubGEgd2hpY2ggdXN1YWxseSBwb2ludHMgdG8gYSBob3N0IHBhdGgsCi0rCSAgICAjIHVzZSB0aGUgcGF0aCB0aGUgLmxhIGlzIGNvbnRhaW5lZCBpbi4KLSsJICAgIGxpYmRpcj0iJGFic19sYWRpciIKLSAJICAgIGRpcj0iJGxpYmRpciIKLSAJICAgIGFic2Rpcj0iJGxpYmRpciIKLSAJICBmaQotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNy1leHBvcnQtQ1BQLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNy1leHBvcnQtQ1BQLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZjllMWYwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjctZXhwb3J0LUNQUC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLUZyb20gZmE2YTQ2ZmRmNzNkZTdlYWNkMjg5YzA4NGJiZGU2NjQzYjIzZjczYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDIwIEZlYiAyMDE1IDA5OjQwOjU5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjcvNDddIGV4cG9ydCBDUFAKLQotVGhlIE9FIGVudmlyb25tZW50IHNldHMgYW5kIGV4cG9ydHMgQ1BQIGFzIGJlaW5nIHRoZSB0YXJnZXQgZ2NjLiBXaGVuCi1idWlsZGluZyBnY2MtY3Jvc3MtY2FuYWRpYW4gZm9yIGEgbWluZ3cgdGFyZ2V0dGVkIHNkaywgdGhlIGZvbGxvd2luZyBjYW4gYmUgZm91bmQKLWluIGJ1aWxkLng4Nl82NC1wb2t5c2RrLW1pbmd3MzIuaTU4Ni1wb2t5LWxpbnV4L2J1aWxkLXg4Nl82NC1saW51eC9saWJpYmVydHkvY29uZmlnLmxvZzoKLQotY29uZmlndXJlOjM2NDE6IGNoZWNraW5nIGZvciBfRklMRV9PRkZTRVRfQklUUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzCi1jb25maWd1cmU6MzY2NjogZ2NjICAtYyAtaXN5c3RlbS9tZWRpYS9idWlsZDEvcG9reS9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9pbmNsdWRlIC1PMiAtcGlwZSAgY29uZnRlc3QuYyA+JjUKLWNvbmZpZ3VyZTozNjY2OiAkPyA9IDAKLWNvbmZpZ3VyZTozNjk4OiByZXN1bHQ6IG5vCi1jb25maWd1cmU6Mzc4NjogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IKLWNvbmZpZ3VyZTozODU2OiByZXN1bHQ6IHg4Nl82NC1wb2t5c2RrLW1pbmd3MzItZ2NjIC1FIC0tc3lzcm9vdD0vbWVkaWEvYnVpbGQxL3Bva3kvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstbWluZ3czMi1wb2t5c2RrLW1pbmd3MzIKLWNvbmZpZ3VyZTozODc2OiB4ODZfNjQtcG9reXNkay1taW5ndzMyLWdjYyAtRSAtLXN5c3Jvb3Q9L21lZGlhL2J1aWxkMS9wb2t5L2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLW1pbmd3MzItcG9reXNkay1taW5ndzMyIGNvbmZ0ZXN0LmMKLWNvbmZpZ3VyZTozODc2OiAkPyA9IDAKLQotTm90ZSB0aGlzIGlzIGEgKmJ1aWxkKiB0YXJnZXQgKGluIGJ1aWxkLXg4Nl82NC1saW51eCkgc28gaXQgc2hvdWxkIGJlCi11c2luZyB0aGUgaG9zdCAiZ2NjIiwgbm90IHg4Nl82NC1wb2t5c2RrLW1pbmd3MzItZ2NjLiBTaW5jZSB0aGUgbWluZ3czMgotaGVhZGVycyBhcmUgdmVyeSBkaWZmZXJlbnQsIHVzaW5nIHRoZSB3cm9uZyBjcHAgaXMgYSByZWFsIHByb2JsZW0uIEl0IGlzIGxlYWtpbmcKLWludG8gY29uZmlndXJlIHRocm91Z2ggdGhlIENQUCB2YXJpYWJsZS4gVWx0aW1hdGVseSB0aGlzIGxlYWRzIHRvIGJ1aWxkCi1mYWlsdXJlcyByZWxhdGVkIHRvIG5vdCBiZWluZyBhYmxlIHRvIGluY2x1ZGUgYSBwcm9jZXNzLmggZmlsZSBmb3IgcGVtLXVuaXguYy4KLQotVGhlIGZpeCBpcyB0byBlbnN1cmUgd2UgZXhwb3J0IGEgc2FuZSBDUFAgdmFsdWUgaW50byB0aGUgYnVpbGQKLWVudmlyb25tZW50IHdoZW4gdXNpbmcgYnVpbGQgdGFyZ2V0cy4gV2UgY291bGQgZGVmaW5lIGEgQ1BQX0ZPUl9CVUlMRCB2YWx1ZSB3aGljaCBtYXkgYmUKLXRoZSB2ZXJzaW9uIHdoaWNoIG5lZWRzIHRvIGJlIHVwc3RyZWFtZWQgYnV0IGZvciBub3csIHRoaXMgZml4IGlzIGdvb2QgZW5vdWdoIHRvCi1hdm9pZCB0aGUgcHJvYmxlbS4KLQotUlAgMjIvMDgvMjAxMwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIE1ha2VmaWxlLmluIHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCi1pbmRleCBiODI0ZTBhMGNhMS4uZTM0ZTk1NTUzODggMTAwNjQ0Ci0tLS0gYS9NYWtlZmlsZS5pbgotKysrIGIvTWFrZWZpbGUuaW4KLUBAIC0xNDksNiArMTQ5LDcgQEAgQlVJTERfRVhQT1JUUyA9IFwKLSAJQVI9IiQoQVJfRk9SX0JVSUxEKSI7IGV4cG9ydCBBUjsgXAotIAlBUz0iJChBU19GT1JfQlVJTEQpIjsgZXhwb3J0IEFTOyBcCi0gCUNDPSIkKENDX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0M7IFwKLSsJQ1BQPSIkKENDX0ZPUl9CVUlMRCkgLUUiOyBleHBvcnQgQ1BQOyBcCi0gCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDRkxBR1M7IFwKLSAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKLSAJQ1hYPSIkKENYWF9GT1JfQlVJTEQpIjsgZXhwb3J0IENYWDsgXAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyOC1FbmFibGUtU1BFLUFsdGlWZWMtZ2VuZXJhdGlvbi1vbi1wb3dlcGMtbGludXgtdGFyZ2V0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyOC1FbmFibGUtU1BFLUFsdGlWZWMtZ2VuZXJhdGlvbi1vbi1wb3dlcGMtbGludXgtdGFyZ2V0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTAzMzQ5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjgtRW5hYmxlLVNQRS1BbHRpVmVjLWdlbmVyYXRpb24tb24tcG93ZXBjLWxpbnV4LXRhcmdldC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLUZyb20gMmMwNWI0MDcyZjk4MmRmODAwMmQ2MTMyNzgzN2UxOGE3MjRlOTM0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRydS1DZXphciBTYXJkYW4gPGFsZXhhbmRydS5zYXJkYW5AZnJlZXNjYWxlLmNvbT4KLURhdGU6IFdlZCwgNSBGZWIgMjAxNCAxNjo1MjozMSArMDIwMAotU3ViamVjdDogW1BBVENIIDI4LzQ3XSBFbmFibGUgU1BFICYgQWx0aVZlYyBnZW5lcmF0aW9uIG9uIHBvd2VwYypsaW51eCB0YXJnZXQKLQotV2hlbiBpcyBjb25maWd1cmVkIHdpdGggLS10YXJnZXQ9cG93ZXJwYy1saW51eCwgdGhlIHJlc3VsdGluZyBHQ0Mgd2lsbAotbm90IGJlIGFibGUgdG8gZ2VuZXJhdGUgY29kZSBmb3IgU1BFIHRhcmdldHMgKGU1MDB2MS92MikuCi1HQ0MgY29uZmlndXJlZCB3aXRoIC0tdGFyZ2V0PXBvd2VycGMtbGludXhzcGUgd2lsbCBub3QgYmUgYWJsZSB0bwotZ2VuZXJhdGUgQWx0aVZlYyBpbnN0cnVjdGlvbnMgKGZvciBlNjUwMCkuCi1UaGlzIHBhdGNoIG1vZGlmaWVzIHRoZSBjb25maWd1cmVkIGZpbGUgc3VjaCB0aGF0IFNQRSBvciBBbHRpVmVjIGNvZGUKLWNhbiBiZSBnZW5lcmF0ZWQgd2hlbiBnY2MgaXMgY29uZmlndXJlZCB3aXRoIC0tdGFyZ2V0PXBvd2VycGMtbGludXguCi1UaGUgQUJJIGFuZCBzcGVjaWZmaWMgaW5zdHJ1Y3Rpb25zIGNhbiBiZSBzZWxlY3RlZCB0aHJvdWdoIHRoZQotIi1tYWJpPXNwZSBvciAtbWFiaT1hbHRpdmVjIiBhbmQgdGhlICItbXNwZSBvciAtbWFsdGl2ZWMiIHBhcmFtZXRlcnMuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KLQotU2lnbmVkLW9mZi1ieTogQWxleGFuZHJ1LUNlemFyIFNhcmRhbiA8YWxleGFuZHJ1LnNhcmRhbkBmcmVlc2NhbGUuY29tPgotLS0tCi0gZ2NjL2NvbmZpZy5nY2MgICAgICAgICAgICAgICB8IDkgKysrKysrKystCi0gZ2NjL2NvbmZpZy9yczYwMDAvbGludXhzcGUuaCB8IDMgLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnLmdjYyBiL2djYy9jb25maWcuZ2NjCi1pbmRleCA1ZTQ1ZjRiNTE5OS4uOWIzODFkZmQ5YWYgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnLmdjYwotKysrIGIvZ2NjL2NvbmZpZy5nY2MKLUBAIC0yNDE1LDcgKzI0MTUsMTQgQEAgcG93ZXJwYy0qLXJ0ZW1zKikKLSAJdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSByczYwMDAvdC1mcHJ1bGVzIHJzNjAwMC90LXJ0ZW1zIHJzNjAwMC90LXBwY2NvbW0iCi0gCTs7Ci0gcG93ZXJwYyotKi1saW51eCopCi0tCXRtX2ZpbGU9IiR7dG1fZmlsZX0gZGJ4ZWxmLmggZWxmb3MuaCBnbnUtdXNlci5oIGZyZWVic2Qtc3BlYy5oIHJzNjAwMC9zeXN2NC5oIgotKwljYXNlICR7dGFyZ2V0fSBpbgotKwkgICAgcG93ZXJwYyotKi1saW51eCpzcGUqIHwgcG93ZXJwYyotKi1saW51eCphbHRpdmVjKikKLSsJCXRtX2ZpbGU9IiR7dG1fZmlsZX0gZGJ4ZWxmLmggZWxmb3MuaCBnbnUtdXNlci5oIGZyZWVic2Qtc3BlYy5oIHJzNjAwMC9zeXN2NC5oIgotKwkJOzsKLSsJICAgICopCi0rCQl0bV9maWxlPSIke3RtX2ZpbGV9IGRieGVsZi5oIGVsZm9zLmggZ251LXVzZXIuaCBmcmVlYnNkLXNwZWMuaCByczYwMDAvc3lzdjQuaCByczYwMDAvbGludXhhbHRpdmVjLmggcnM2MDAwL2xpbnV4c3BlLmggcnM2MDAwL2U1MDAuaCIKLSsJCTs7Ci0rCWVzYWMKLSAJZXh0cmFfb3B0aW9ucz0iJHtleHRyYV9vcHRpb25zfSByczYwMDAvc3lzdjQub3B0IgotIAl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IHJzNjAwMC90LWZwcnVsZXMgcnM2MDAwL3QtcHBjY29tbSIKLSAJZXh0cmFfb2Jqcz0iJGV4dHJhX29ianMgcnM2MDAwLWxpbnV4Lm8iCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXhzcGUuaCBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4c3BlLmgKLWluZGV4IDkyZWZhYmZlNjY0Li42ZDQ4NjQ1MWE3ZSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4c3BlLmgKLSsrKyBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4c3BlLmgKLUBAIC0yNyw2ICsyNywzIEBACi0gI3VuZGVmCVRBUkdFVF9ERUZBVUxUCi0gI2RlZmluZSBUQVJHRVRfREVGQVVMVCBNQVNLX1NUUklDVF9BTElHTgotICNlbmRpZgotLQotLSN1bmRlZiAgQVNNX0RFRkFVTFRfU1BFQwotLSNkZWZpbmUJQVNNX0RFRkFVTFRfU1BFQyAiLW1wcGMgLW1zcGUgLW1lNTAwIgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyOS1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyOS1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MzA2YTI4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjktRGlzYWJsZS10aGUtTVVMVElMSUJfT1NESVJOQU1FUy1hbmQtb3RoZXItbXVsdGlsaWItby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLUZyb20gZWMwZjg0M2I4NmMwZjc2YmM1ZWJiMjBmYWZiYzRhYWUxYmU0ZGI2MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDIwIEZlYiAyMDE1IDEwOjIxOjU1ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjkvNDddIERpc2FibGUgdGhlIE1VTFRJTElCX09TRElSTkFNRVMgYW5kIG90aGVyIG11bHRpbGliCi0gb3B0aW9ucy4KLQotSGFyZCBjb2RpbmcgdGhlIE1VTFRJTElCX09TRElSTkFNRVMgd2l0aCAuLi9saWI2NCBpcyBjYXVzaW5nIHByb2JsZW1zIG9uCi1zeXN0ZW1zIHdoZXJlIHRoZSBsaWJkaXIgaXMgTk9UIHNldCB0byAvbGliNjQuICBUaGlzIGlzIGFsbG93ZWQgYnkgdGhlCi1BQkksIGFzCi1sb25nIGFzIHRoZSBkeW5hbWljIGxvYWRlciBpcyBwcmVzZW50IGluIC9saWIuCi0KLVdlIHNpbXBseSB3YW50IHRvIHVzZSB0aGUgZGVmYXVsdCBydWxlcyBpbiBnY2MgdG8gZmluZCBhbmQgY29uZmlndXJlIHRoZQotbm9ybWFsIGxpYmRpci4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlW09FLVNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eCB8IDggKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eCBiL2djYy9jb25maWcvYWFyY2g2NC90LWFhcmNoNjQtbGludXgKLWluZGV4IGFiMDY0YWI2ZjIyLi5mNGIxZjk4YjIxNiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvYWFyY2g2NC90LWFhcmNoNjQtbGludXgKLSsrKyBiL2djYy9jb25maWcvYWFyY2g2NC90LWFhcmNoNjQtbGludXgKLUBAIC0yMSw4ICsyMSw4IEBACi0gTElCMUFTTVNSQyAgID0gYWFyY2g2NC9saWIxZnVuY3MuYXNtCi0gTElCMUFTTUZVTkNTID0gX2FhcmNoNjRfc3luY19jYWNoZV9yYW5nZQotIAotLUFBUkNIX0JFID0gJChpZiAkKGZpbmRzdHJpbmcgVEFSR0VUX0JJR19FTkRJQU5fREVGQVVMVD0xLCAkKHRtX2RlZmluZXMpKSxfYmUpCi0tTVVMVElMSUJfT1NESVJOQU1FUyA9IG1hYmkubHA2ND0uLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnUpCi0tTVVMVElBUkNIX0RJUk5BTUUgPSAkKGNhbGwgaWZfbXVsdGlhcmNoLGFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnUpCi0rI0FBUkNIX0JFID0gJChpZiAkKGZpbmRzdHJpbmcgVEFSR0VUX0JJR19FTkRJQU5fREVGQVVMVD0xLCAkKHRtX2RlZmluZXMpKSxfYmUpCi0rI01VTFRJTElCX09TRElSTkFNRVMgPSBtYWJpLmxwNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDphYXJjaDY0JChBQVJDSF9CRSktbGludXgtZ251KQotKyNNVUxUSUFSQ0hfRElSTkFNRSA9ICQoY2FsbCBpZl9tdWx0aWFyY2gsYWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKLSAKLS1NVUxUSUxJQl9PU0RJUk5BTUVTICs9IG1hYmkuaWxwMzI9Li4vbGliaWxwMzIKLSsjTVVMVElMSUJfT1NESVJOQU1FUyArPSBtYWJpLmlscDMyPS4uL2xpYmlscDMyCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMwLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzMC1FbnN1cmUtdGFyZ2V0LWdjYy1oZWFkZXJzLWNhbi1iZS1pbmNsdWRlZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTY4YmE5NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMwLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTggKzAsMCBAQAotRnJvbSBiZjU4MzY5ODllMGZmYzFjMWRmMTM2OWRmMDY4NzdlOTZjMDhkZjQxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTA6MjU6MTEgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzMC80N10gRW5zdXJlIHRhcmdldCBnY2MgaGVhZGVycyBjYW4gYmUgaW5jbHVkZWQKLQotVGhlcmUgYXJlIGEgZmV3IGhlYWRlcnMgaW5zdGFsbGVkIGFzIHBhcnQgb2YgdGhlIE9wZW5FbWJlZGRlZAotZ2NjLXJ1bnRpbWUgdGFyZ2V0IChvbXAuaCwgc3NwLyouaCkuIEJlaW5nIGluc3RhbGxlZCBmcm9tIGEgcmVjaXBlCi1idWlsdCBmb3IgdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUsIHRoZXNlIGFyZSB3aXRoaW4gdGhlIHRhcmdldAotc3lzcm9vdCBhbmQgbm90IGNyb3NzL25hdGl2ZXNkazsgdGh1cyB0aGV5IHdlcmVuJ3QgYWJsZSB0byBiZQotZm91bmQgYnkgZ2NjIHdpdGggdGhlIGV4aXN0aW5nIHNlYXJjaCBwYXRocy4gQWRkIHN1cHBvcnQgZm9yCi1waWNraW5nIHVwIHRoZXNlIGhlYWRlcnMgdW5kZXIgdGhlIHN5c3Jvb3Qgc3VwcGxpZWQgb24gdGhlIGdjYwotY29tbWFuZCBsaW5lIGluIG9yZGVyIHRvIHJlc29sdmUgdGhpcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9NYWtlZmlsZS5pbiAgfCAyICsrCi0gZ2NjL2NwcGRlZmF1bHQuYyB8IDQgKysrKwotIGdjYy9kZWZhdWx0cy5oICAgfCA5ICsrKysrKysrKwotIGdjYy9nY2MuYyAgICAgICAgfCA3IC0tLS0tLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KLWluZGV4IDIzY2NhN2YwZDVhLi45NWQyMWVmZmFkMyAxMDA2NDQKLS0tLSBhL2djYy9NYWtlZmlsZS5pbgotKysrIGIvZ2NjL01ha2VmaWxlLmluCi1AQCAtNjA4LDYgKzYwOCw3IEBAIGxpYmV4ZWNkaXIgPSBAbGliZXhlY2RpckAKLSAKLSAjIERpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tcGlsZXIgZmluZHMgbGlicmFyaWVzIGV0Yy4KLSBsaWJzdWJkaXIgPSAkKGxpYmRpcikvZ2NjLyQocmVhbF90YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pJChhY2NlbF9kaXJfc3VmZml4KQotK2xpYnN1YmRpcl90YXJnZXQgPSBnY2MvJCh0YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pCi0gIyBEaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGNvbXBpbGVyIGZpbmRzIGV4ZWN1dGFibGVzCi0gbGliZXhlY3N1YmRpciA9ICQobGliZXhlY2RpcikvZ2NjLyQocmVhbF90YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pJChhY2NlbF9kaXJfc3VmZml4KQotICMgRGlyZWN0b3J5IGluIHdoaWNoIGFsbCBwbHVnaW4gcmVzb3VyY2VzIGFyZSBpbnN0YWxsZWQKLUBAIC0yNzkxLDYgKzI3OTIsNyBAQCBDRkxBR1MtaW50bC5vICs9IC1ETE9DQUxFRElSPVwiJChsb2NhbGVkaXIpXCIKLSAKLSBQUkVQUk9DRVNTT1JfREVGSU5FUyA9IFwKLSAgIC1ER0NDX0lOQ0xVREVfRElSPVwiJChsaWJzdWJkaXIpL2luY2x1ZGVcIiBcCi0rICAtREdDQ19JTkNMVURFX1NVQkRJUl9UQVJHRVQ9XCIkKGxpYnN1YmRpcl90YXJnZXQpL2luY2x1ZGVcIiBcCi0gICAtREZJWEVEX0lOQ0xVREVfRElSPVwiJChsaWJzdWJkaXIpL2luY2x1ZGUtZml4ZWRcIiBcCi0gICAtREdQTFVTUExVU19JTkNMVURFX0RJUj1cIiQoZ2NjX2d4eF9pbmNsdWRlX2RpcilcIiBcCi0gICAtREdQTFVTUExVU19JTkNMVURFX0RJUl9BRERfU1lTUk9PVD0kKGdjY19neHhfaW5jbHVkZV9kaXJfYWRkX3N5c3Jvb3QpIFwKLWRpZmYgLS1naXQgYS9nY2MvY3BwZGVmYXVsdC5jIGIvZ2NjL2NwcGRlZmF1bHQuYwotaW5kZXggMTBiOTZlY2EwYTcuLmM4ZGEwODg0ODcyIDEwMDY0NAotLS0tIGEvZ2NjL2NwcGRlZmF1bHQuYwotKysrIGIvZ2NjL2NwcGRlZmF1bHQuYwotQEAgLTU5LDYgKzU5LDEwIEBAIGNvbnN0IHN0cnVjdCBkZWZhdWx0X2luY2x1ZGUgY3BwX2luY2x1ZGVfZGVmYXVsdHNbXQotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycy4gICovCi0gICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMCwgMCwgMCB9LAotICNlbmRpZgotKyNpZmRlZiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VUCi0rICAgIC8qIFRoaXMgaXMgdGhlIGRpciBmb3IgZ2NjJ3MgcHJpdmF0ZSBoZWFkZXJzIHVuZGVyIHRoZSBzcGVjaWZpZWQgc3lzcm9vdC4gICovCi0rICAgIHsgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yIEdDQ19JTkNMVURFX1NVQkRJUl9UQVJHRVQsICJHQ0MiLCAwLCAwLCAxLCAwIH0sCi0rI2VuZGlmCi0gI2lmZGVmIExPQ0FMX0lOQ0xVREVfRElSCi0gICAgIC8qIC91c3IvbG9jYWwvaW5jbHVkZSBjb21lcyBiZWZvcmUgdGhlIGZpeGluY2x1ZGVkIGhlYWRlciBmaWxlcy4gICovCi0gICAgIHsgTE9DQUxfSU5DTFVERV9ESVIsIDAsIDAsIDEsIDEsIDIgfSwKLWRpZmYgLS1naXQgYS9nY2MvZGVmYXVsdHMuaCBiL2djYy9kZWZhdWx0cy5oCi1pbmRleCA3YWQ5MmQ5MjBmOC4uMzk4NDhjYzljMGUgMTAwNjQ0Ci0tLS0gYS9nY2MvZGVmYXVsdHMuaAotKysrIGIvZ2NjL2RlZmF1bHRzLmgKLUBAIC0xNDc1LDQgKzE0NzUsMTMgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCi0gI2RlZmluZSBEV0FSRl9HTkFUX0VOQ09ESU5HU19ERUZBVUxUIERXQVJGX0dOQVRfRU5DT0RJTkdTX0dEQgotICNlbmRpZgotIAotKy8qIERlZmF1bHQgcHJlZml4ZXMgdG8gYXR0YWNoIHRvIGNvbW1hbmQgbmFtZXMuICAqLwotKwotKyNpZm5kZWYgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8xCi0rI2RlZmluZSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzEgIi9saWIvIgotKyNlbmRpZgotKyNpZm5kZWYgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yCi0rI2RlZmluZSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIgIi91c3IvbGliLyIKLSsjZW5kaWYKLSsKLSAjZW5kaWYgIC8qICEgR0NDX0RFRkFVTFRTX0ggKi8KLWRpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKLWluZGV4IGM3M2Q0MDIzOTg3Li5iMjcyNDVkYmY3NyAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTQ3MiwxMyArMTQ3Miw2IEBAIHN0YXRpYyBjb25zdCBjaGFyICpnY2NfbGliZXhlY19wcmVmaXg7Ci0gCi0gLyogRGVmYXVsdCBwcmVmaXhlcyB0byBhdHRhY2ggdG8gY29tbWFuZCBuYW1lcy4gICovCi0gCi0tI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzEKLS0jZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMSAiL2xpYi8iCi0tI2VuZGlmCi0tI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIKLS0jZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiAiL3Vzci9saWIvIgotLSNlbmRpZgotLQotICNpZmRlZiBDUk9TU19ESVJFQ1RPUllfU1RSVUNUVVJFICAvKiBEb24ndCB1c2UgdGhlc2UgcHJlZml4ZXMgZm9yIGEgY3Jvc3MgY29tcGlsZXIuICAqLwotICN1bmRlZiBNRF9FWEVDX1BSRUZJWAotICN1bmRlZiBNRF9TVEFSVEZJTEVfUFJFRklYCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMxLWdjYy00Ljgtd29uLXQtYnVpbGQtd2l0aC1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMxLWdjYy00Ljgtd29uLXQtYnVpbGQtd2l0aC1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxODQwMTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzMS1nY2MtNC44LXdvbi10LWJ1aWxkLXdpdGgtZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSBjN2I0ZDk1N2VkZGE5NTVmYmU0MDVmZDUyOTU4NDY2MTQ1MjlmNTE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTE6MTc6MTkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzMS80N10gZ2NjIDQuOCsgd29uJ3QgYnVpbGQgd2l0aCAtLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZwotCi1zaW5jZSB0aGUgKi5QcG8gZmlsZXMgZG9uJ3QgZ2V0IGNyZWF0ZWQgdW5sZXNzIC0tZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgaXMgdHJ1ZS4KLQotVGhpcyBwYXRjaCBlbnN1cmVzIHdlIG9ubHkgdXNlIHRob3NlIGNvbXBpbGVyIG9wdGlvbnMgd2hlbiBpdHMgZW5hYmxlZC4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLQotKFByb2JsZW0gd2FzIGFscmVhZHkgcmVwb3J0ZWQgdXBzdHJlYW0sIGF0dGFjaGVkIHRoaXMgcGF0Y2ggdGhlcmUKLWh0dHA6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NTU5MzApCi0KLVJQCi0yMDEyLzA5LzIyCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsaWJhdG9taWMvTWFrZWZpbGUuYW0gfCAzICsrLQotIGxpYmF0b21pYy9NYWtlZmlsZS5pbiB8IDMgKystCi0gMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJhdG9taWMvTWFrZWZpbGUuYW0gYi9saWJhdG9taWMvTWFrZWZpbGUuYW0KLWluZGV4IGQ3MzE0MDZmZGJkLi4yZmFmYzcyZDJlNyAxMDA2NDQKLS0tLSBhL2xpYmF0b21pYy9NYWtlZmlsZS5hbQotKysrIGIvbGliYXRvbWljL01ha2VmaWxlLmFtCi1AQCAtMTAxLDcgKzEwMSw4IEBAIFBBVF9TCQk9ICQod29yZCAzLCQoUEFUX1NQTElUKSkKLSBJRlVOQ19ERUYJPSAtRElGVU5DX0FMVD0kKFBBVF9TKQotIElGVU5DX09QVAk9ICQod29yZCAkKFBBVF9TKSwkKElGVU5DX09QVElPTlMpKQotIAotLU1fREVQUwkJPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9UUlVFQE1fREVQUwkJPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9GQUxTRUBNX0RFUFMJCT0KLSBNX1NJWkUJCT0gLUROPSQoUEFUX04pCi0gTV9JRlVOQwkJPSAkKGlmICQoUEFUX1MpLCQoSUZVTkNfREVGKSAkKElGVU5DX09QVCkpCi0gTV9GSUxFCQk9ICQoUEFUX0JBU0UpX24uYwotZGlmZiAtLWdpdCBhL2xpYmF0b21pYy9NYWtlZmlsZS5pbiBiL2xpYmF0b21pYy9NYWtlZmlsZS5pbgotaW5kZXggZjZlZWFiMzEyZWEuLjNmMDZhODk0MDU4IDEwMDY0NAotLS0tIGEvbGliYXRvbWljL01ha2VmaWxlLmluCi0rKysgYi9saWJhdG9taWMvTWFrZWZpbGUuaW4KLUBAIC0zMzEsNyArMzMxLDggQEAgUEFUX04gPSAkKHdvcmQgMiwkKFBBVF9TUExJVCkpCi0gUEFUX1MgPSAkKHdvcmQgMywkKFBBVF9TUExJVCkpCi0gSUZVTkNfREVGID0gLURJRlVOQ19BTFQ9JChQQVRfUykKLSBJRlVOQ19PUFQgPSAkKHdvcmQgJChQQVRfUyksJChJRlVOQ19PUFRJT05TKSkKLS1NX0RFUFMgPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9UUlVFQE1fREVQUyA9IC1NVCAkQCAtTUQgLU1QIC1NRiAkKERFUERJUikvJChARikuUHBvCi0rQEFNREVQX0ZBTFNFQE1fREVQUyA9Ci0gTV9TSVpFID0gLUROPSQoUEFUX04pCi0gTV9JRlVOQyA9ICQoaWYgJChQQVRfUyksJChJRlVOQ19ERUYpICQoSUZVTkNfT1BUKSkKLSBNX0ZJTEUgPSAkKFBBVF9CQVNFKV9uLmMKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzItRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzItRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTg5MDVmNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMyLURvbi10LXNlYXJjaC1ob3N0LWRpcmVjdG9yeS1kdXJpbmctcmVsaW5rLWlmLWluc3RfcHIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1Gcm9tIDNiZTZiNzY2YTU4ODFiMGIxODdjM2MzYzY4MjUwYTllNGY3YzBmYTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAzIE1hciAyMDE1IDA4OjIxOjE5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMzIvNDddIERvbid0IHNlYXJjaCBob3N0IGRpcmVjdG9yeSBkdXJpbmcgInJlbGluayIgaWYKLSAkaW5zdF9wcmVmaXggaXMgcHJvdmlkZWQKLQotaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2xpYnRvb2wtcGF0Y2hlcy8yMDExLTAxL21zZzAwMDI2Lmh0bWwKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGx0bWFpbi5zaCB8IDUgKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCi1pbmRleCA1MmJkYmRiNWY5Yy4uODJiY2VjMzlmMDUgMTAwNjQ0Ci0tLS0gYS9sdG1haW4uc2gKLSsrKyBiL2x0bWFpbi5zaAotQEAgLTYwMDQsMTIgKzYwMDQsMTMgQEAgZnVuY19tb2RlX2xpbmsgKCkKLSAJICAgICAgZmkKLSAJICAgIGVsc2UKLSAJICAgICAgIyBXZSBjYW5ub3Qgc2VlbSB0byBoYXJkY29kZSBpdCwgZ3Vlc3Mgd2UnbGwgZmFrZSBpdC4KLSsJICAgICAgIyBEZWZhdWx0IGlmICRsaWJkaXIgaXMgbm90IHJlbGF0aXZlIHRvIHRoZSBwcmVmaXg6Ci0gCSAgICAgIGFkZF9kaXI9Ii1MJGxpYmRpciIKLS0JICAgICAgIyBUcnkgbG9va2luZyBmaXJzdCBpbiB0aGUgbG9jYXRpb24gd2UncmUgYmVpbmcgaW5zdGFsbGVkIHRvLgotKwotIAkgICAgICBpZiB0ZXN0IC1uICIkaW5zdF9wcmVmaXhfZGlyIjsgdGhlbgotIAkJY2FzZSAkbGliZGlyIGluCi0gCQkgIFtcXC9dKikKLS0JCSAgICBhZGRfZGlyPSIkYWRkX2RpciAtTCRpbnN0X3ByZWZpeF9kaXIkbGliZGlyIgotKwkJICAgIGFkZF9kaXI9Ii1MJGluc3RfcHJlZml4X2RpciRsaWJkaXIiCi0gCQkgICAgOzsKLSAJCWVzYWMKLSAJICAgICAgZmkKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzMtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzMtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzBiOGRmMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMzLVVzZS1TWVNURU1MSUJTX0RJUi1yZXBsYWNlbWVudC1pbnN0ZWFkLW9mLWhhcmRjb2RpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIDZlZGNhYjkwNDZiODYyY2JiOWI0Njg5MmZjMzkwY2U2OTk3NjUzOWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyOCBBcHIgMjAxNSAyMzoxNToyNyAtMDcwMAotU3ViamVjdDogW1BBVENIIDMzLzQ3XSBVc2UgU1lTVEVNTElCU19ESVIgcmVwbGFjZW1lbnQgaW5zdGVhZCBvZiBoYXJkY29kaW5nCi0gYmFzZV9saWJkaXIKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1TcGVjaWZpY10KLQotIGdjYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmggfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotaW5kZXggYzQ1ZmMxZDM1ZDEuLmE3YWZlMTk3MjY2IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotQEAgLTIxLDcgKzIxLDcgQEAKLSAjaWZuZGVmIEdDQ19BQVJDSDY0X0xJTlVYX0gKLSAjZGVmaW5lIEdDQ19BQVJDSDY0X0xJTlVYX0gKLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLWxpbnV4LWFhcmNoNjQle21iaWctZW5kaWFuOl9iZX0le21hYmk9aWxwMzI6X2lscDMyfS5zby4xIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKLSAKLSAjdW5kZWYgTVVTTF9EWU5BTUlDX0xJTktFUgotICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1tdXNsLWFhcmNoNjQle21iaWctZW5kaWFuOl9iZX0le21hYmk9aWxwMzI6X2lscDMyfS5zby4xIgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzNC1hYXJjaDY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM0LWFhcmNoNjQtQWRkLXN1cHBvcnQtZm9yLW11c2wtbGRzby5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Q4NjZkOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM0LWFhcmNoNjQtQWRkLXN1cHBvcnQtZm9yLW11c2wtbGRzby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gYjE0MGQ2ODM5Y2ZiYTljYWM4OTJiYzczNmQ5ODQ1NDA1NTJkNmE1NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDI4IEFwciAyMDE1IDIzOjE4OjM5IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMzQvNDddIGFhcmNoNjQ6IEFkZCBzdXBwb3J0IGZvciBtdXNsIGxkc28KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1TcGVjaWZpY10KLQotIGdjYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmggfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotaW5kZXggYTdhZmUxOTcyNjYuLjU4MGMyYzdlYTE1IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotQEAgLTI0LDcgKzI0LDcgQEAKLSAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtYWFyY2g2NCV7bWJpZy1lbmRpYW46X2JlfSV7bWFiaT1pbHAzMjpfaWxwMzJ9LnNvLjEiCi0gCi0gI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIKLS0jZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbXVzbC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKLSsjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgIFNZU1RFTUxJQlNfRElSICJsZC1tdXNsLWFhcmNoNjQle21iaWctZW5kaWFuOl9iZX0le21hYmk9aWxwMzI6X2lscDMyfS5zby4xIgotIAotICN1bmRlZiAgQVNBTl9DQzFfU1BFQwotICNkZWZpbmUgQVNBTl9DQzFfU1BFQyAiJXslOnNhbml0aXplKGFkZHJlc3MpOi1mdW53aW5kLXRhYmxlc30iCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM1LWxpYmNjMS1maXgtbGliY2MxLXMtaW5zdGFsbC1wYXRoLWFuZC1ycGF0aC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzUtbGliY2MxLWZpeC1saWJjYzEtcy1pbnN0YWxsLXBhdGgtYW5kLXJwYXRoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMmMxOTU2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzUtbGliY2MxLWZpeC1saWJjYzEtcy1pbnN0YWxsLXBhdGgtYW5kLXJwYXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSA2MzYxN2YyZGExNTNkYjEwZmEyZmU5MzhjY2UzMWJlZTAxZDQ3ZmU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBTdW4sIDUgSnVsIDIwMTUgMjA6MjU6MTggLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAzNS80N10gbGliY2MxOiBmaXggbGliY2MxJ3MgaW5zdGFsbCBwYXRoIGFuZCBycGF0aAotCi0qIEluc3RhbGwgbGliY2MxLnNvIGFuZCBsaWJjYzFwbHVnaW4uc28gaW50bwotICAkKGxpYmV4ZWNkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pLCBhcyB3aGF0IHdlCi0gIGhhZCBkb25lIHRvIGx0by1wbHVnaW4uCi0qIEZpeCBiYWQgUlBBVEggaXVzc3VlOgotICBnY2MtNS4yLjA6IHBhY2thZ2UgZ2NjLXBsdWdpbnMgY29udGFpbnMgYmFkIFJQQVRIIC9wYXRodC90by90bXAvc3lzcm9vdHMvcWVtdXg4Ni02NC91c3IvbGliNjQvLi4vbGliNjQgaW4gZmlsZQotIC9wYXRoL3RvL2djYy81LjIuMC1yMC9wYWNrYWdlcy1zcGxpdC9nY2MtcGx1Z2lucy91c3IvbGliNjQvZ2NjL3g4Nl82NC1wb2t5LWxpbnV4LzUuMi4wL3BsdWdpbi9saWJjYzFwbHVnaW4uc28uMC4wLjAKLSBbcnBhdGhzXQotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIGNvbmZpZ3VyYXRpb25dCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gbGliY2MxL01ha2VmaWxlLmFtIHwgNCArKy0tCi0gbGliY2MxL01ha2VmaWxlLmluIHwgNCArKy0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJjYzEvTWFrZWZpbGUuYW0gYi9saWJjYzEvTWFrZWZpbGUuYW0KLWluZGV4IDVlNjFhOTJhMjZiLi5lOGI2MjdmOWNlYyAxMDA2NDQKLS0tLSBhL2xpYmNjMS9NYWtlZmlsZS5hbQotKysrIGIvbGliY2MxL01ha2VmaWxlLmFtCi1AQCAtMzcsOCArMzcsOCBAQCBsaWJpYmVydHkgPSAkKGlmICQod2lsZGNhcmQgJChsaWJpYmVydHlfbm9hc2FuKSksJChXYykkKGxpYmliZXJ0eV9ub2FzYW4pLCBcCi0gCSAgICAkKFdjKSQobGliaWJlcnR5X25vcm1hbCkpKQotIGxpYmliZXJ0eV9kZXAgPSAkKHBhdHN1YnN0ICQoV2MpJSwlLCQobGliaWJlcnR5KSkKLSAKLS1wbHVnaW5kaXIgPSAkKGxpYmRpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikvcGx1Z2luCi0tY2MxbGliZGlyID0gJChsaWJkaXIpLyQobGlic3VmZml4KQotK2NjMWxpYmRpciA9ICQobGliZXhlY2RpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikKLStwbHVnaW5kaXIgPSAkKGNjMWxpYmRpcikKLSAKLSBpZiBFTkFCTEVfUExVR0lOCi0gcGx1Z2luX0xUTElCUkFSSUVTID0gbGliY2MxcGx1Z2luLmxhIGxpYmNwMXBsdWdpbi5sYQotZGlmZiAtLWdpdCBhL2xpYmNjMS9NYWtlZmlsZS5pbiBiL2xpYmNjMS9NYWtlZmlsZS5pbgotaW5kZXggNTRiYWJiMDJhNDkuLmU1MWQ4N2ZmZGNlIDEwMDY0NAotLS0tIGEvbGliY2MxL01ha2VmaWxlLmluCi0rKysgYi9saWJjYzEvTWFrZWZpbGUuaW4KLUBAIC0zMDMsOCArMzAzLDggQEAgbGliaWJlcnR5ID0gJChpZiAkKHdpbGRjYXJkICQobGliaWJlcnR5X25vYXNhbikpLCQoV2MpJChsaWJpYmVydHlfbm9hc2FuKSwgXAotIAkgICAgJChXYykkKGxpYmliZXJ0eV9ub3JtYWwpKSkKLSAKLSBsaWJpYmVydHlfZGVwID0gJChwYXRzdWJzdCAkKFdjKSUsJSwkKGxpYmliZXJ0eSkpCi0tcGx1Z2luZGlyID0gJChsaWJkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pL3BsdWdpbgotLWNjMWxpYmRpciA9ICQobGliZGlyKS8kKGxpYnN1ZmZpeCkKLStjYzFsaWJkaXIgPSAkKGxpYmV4ZWNkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pCi0rcGx1Z2luZGlyID0gJChjYzFsaWJkaXIpCi0gQEVOQUJMRV9QTFVHSU5fVFJVRUBwbHVnaW5fTFRMSUJSQVJJRVMgPSBsaWJjYzFwbHVnaW4ubGEgbGliY3AxcGx1Z2luLmxhCi0gQEVOQUJMRV9QTFVHSU5fVFJVRUBjYzFsaWJfTFRMSUJSQVJJRVMgPSBsaWJjYzEubGEKLSBCVUlMVF9TT1VSQ0VTID0gYy1jb21waWxlci1uYW1lLmggY3AtY29tcGlsZXItbmFtZS5oCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM2LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM2LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhMGIxMDguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzNi1oYW5kbGUtc3lzcm9vdC1zdXBwb3J0LWZvci1uYXRpdmVzZGstZ2NjLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEzICswLDAgQEAKLUZyb20gY2ExNDgyMGFlODM0YTYyZWYyYjgwYjI4M2U4ZjkwMDcxNDYzNjI3MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6Mzk6NTQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzNi80N10gaGFuZGxlIHN5c3Jvb3Qgc3VwcG9ydCBmb3IgbmF0aXZlc2RrLWdjYwotCi1CZWluZyBhYmxlIHRvIGJ1aWxkIGEgbmF0aXZlc2RrIGdjYyBpcyB1c2VmdWwsIHBhcnRpY3VsYXJseSBpbiBjYXNlcwotd2hlcmUgdGhlIGhvc3QgY29tcGlsZXIgbWF5IGJlIG9mIGFuIGluY29tcGF0aWJsZSB2ZXJzaW9uIChvciBhIDMyCi1iaXQgY29tcGlsZXIgaXMgbmVlZGVkKS4KLQotU2FkbHksIGJ1aWxkaW5nIG5hdGl2ZXNkay1nY2MgaXMgbm90IHN0cmFpZ2h0IGZvcndhcmQuIFdlIGluc3RhbGwKLW5hdGl2ZXNkay1nY2MgaW50byBhIHJlbG9jYXRhYmxlIGxvY2F0aW9uIGFuZCB0aGlzIG1lYW5zIHRoYXQgaXRzCi1saWJyYXJ5IGxvY2F0aW9ucyBjYW4gY2hhbmdlLiAiTm9ybWFsIiBzeXNyb290IHN1cHBvcnQgZG9lc24ndCBoZWxwCi1pbiB0aGlzIGNhc2Ugc2luY2UgdGhlIHZhbHVlcyBvZiBwYXRocyBsaWtlICJsaWJkaXIiIGNoYW5nZSwgbm90IGp1c3QKLWJhc2Ugcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHN5c3RlbS4KLQotSW4gb3JkZXIgdG8gaGFuZGxlIHRoaXMgd2UgZG8gdHdvIHRoaW5nczoKLQotYSkgQWRkICVyIGludG8gc3BlYyBmaWxlIG1hcmt1cCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgaW5qZWN0ZWQgcGF0aHMKLSAgIHN1Y2ggYXMgU1lTVEVNTElCU19ESVIgKHNlZSBnY2NfbXVsdGlsaWJfc2V0dXAoKSkuCi1iKSBBZGQgb3RoZXIgcGF0aHMgd2hpY2ggbmVlZCByZWxvY2F0aW9uIGludG8gYSAuZ2NjcmVsb2NwcmVmaXggc2VjdGlvbgotICAgd2hpY2ggdGhlIHJlbG9jYXRpb24gY29kZSB3aWxsIG5vdGljZSBhbmQgYWRqdXN0IGF1dG9tYXRpY2FsbHkuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQotUlAgMjAxNS83LzI4Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBnY2MvY3BwZGVmYXVsdC5jIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KLSBnY2MvY3BwZGVmYXVsdC5oIHwgIDMgKystCi0gZ2NjL2djYy5jICAgICAgICB8IDIwICsrKysrKysrKysrKysrLS0tLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jcHBkZWZhdWx0LmMgYi9nY2MvY3BwZGVmYXVsdC5jCi1pbmRleCBjOGRhMDg4NDg3Mi4uNDNkYzU5N2EwYzMgMTAwNjQ0Ci0tLS0gYS9nY2MvY3BwZGVmYXVsdC5jCi0rKysgYi9nY2MvY3BwZGVmYXVsdC5jCi1AQCAtMzUsNiArMzUsMzAgQEAKLSAjIHVuZGVmIENST1NTX0lOQ0xVREVfRElSCi0gI2VuZGlmCi0gCi0rc3RhdGljIGNoYXIgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19JTkNMVURFX0RJUjsKLStzdGF0aWMgY2hhciBHQ0NfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gR0NDX0lOQ0xVREVfRElSOwotK3N0YXRpYyBjaGFyIEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSOwotK3N0YXRpYyBjaGFyIEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVI7Ci0rc3RhdGljIGNoYXIgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VUOwotKyNpZmRlZiBMT0NBTF9JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIExPQ0FMX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IExPQ0FMX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKLStzdGF0aWMgY2hhciBQUkVGSVhfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gUFJFRklYX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBGSVhFRF9JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIEZJWEVEX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEZJWEVEX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBDUk9TU19JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIENST1NTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IENST1NTX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBUT09MX0lOQ0xVREVfRElSCi0rc3RhdGljIGNoYXIgVE9PTF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBUT09MX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIKLStzdGF0aWMgY2hhciBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSOwotKyNlbmRpZgotKwotIGNvbnN0IHN0cnVjdCBkZWZhdWx0X2luY2x1ZGUgY3BwX2luY2x1ZGVfZGVmYXVsdHNbXQotICNpZmRlZiBJTkNMVURFX0RFRkFVTFRTCi0gPSBJTkNMVURFX0RFRkFVTFRTOwotQEAgLTQyLDM4ICs2NiwzOCBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KLSA9IHsKLSAjaWZkZWYgR1BMVVNQTFVTX0lOQ0xVREVfRElSCi0gICAgIC8qIFBpY2sgdXAgR05VIEMrKyBnZW5lcmljIGluY2x1ZGUgZmlsZXMuICAqLwotLSAgICB7IEdQTFVTUExVU19JTkNMVURFX0RJUiwgIkcrKyIsIDEsIDEsCi0rICAgIHsgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKLSAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIKLSAgICAgLyogUGljayB1cCBHTlUgQysrIHRhcmdldC1kZXBlbmRlbnQgaW5jbHVkZSBmaWxlcy4gICovCi0tICAgIHsgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAotKyAgICB7IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKLSAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDEgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR1BMVVNQTFVTX0JBQ0tXQVJEX0lOQ0xVREVfRElSCi0gICAgIC8qIFBpY2sgdXAgR05VIEMrKyBiYWNrd2FyZCBhbmQgZGVwcmVjYXRlZCBpbmNsdWRlIGZpbGVzLiAgKi8KLS0gICAgeyBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAotKyAgICB7IEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUiwgIkcrKyIsIDEsIDEsCi0gICAgICAgR1BMVVNQTFVTX0lOQ0xVREVfRElSX0FERF9TWVNST09ULCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIEdDQ19JTkNMVURFX0RJUgotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycy4gICovCi0tICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMCwgMCwgMCB9LAotKyAgICB7IEdDQ19JTkNMVURFX0RJUlZBUiwgIkdDQyIsIDAsIDAsIDAsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR0NDX0lOQ0xVREVfU1VCRElSX1RBUkdFVAotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycyB1bmRlciB0aGUgc3BlY2lmaWVkIHN5c3Jvb3QuICAqLwotLSAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VULCAiR0NDIiwgMCwgMCwgMSwgMCB9LAotKyAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMlZBUiwgIkdDQyIsIDAsIDAsIDEsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgTE9DQUxfSU5DTFVERV9ESVIKLSAgICAgLyogL3Vzci9sb2NhbC9pbmNsdWRlIGNvbWVzIGJlZm9yZSB0aGUgZml4aW5jbHVkZWQgaGVhZGVyIGZpbGVzLiAgKi8KLS0gICAgeyBMT0NBTF9JTkNMVURFX0RJUiwgMCwgMCwgMSwgMSwgMiB9LAotLSAgICB7IExPQ0FMX0lOQ0xVREVfRElSLCAwLCAwLCAxLCAxLCAwIH0sCi0rICAgIHsgTE9DQUxfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDEsIDIgfSwKLSsgICAgeyBMT0NBTF9JTkNMVURFX0RJUlZBUiwgMCwgMCwgMSwgMSwgMCB9LAotICNlbmRpZgotICNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKLS0gICAgeyBQUkVGSVhfSU5DTFVERV9ESVIsIDAsIDAsIDEsIDAsIDAgfSwKLSsgICAgeyBQUkVGSVhfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDAsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgRklYRURfSU5DTFVERV9ESVIKLSAgICAgLyogVGhpcyBpcyB0aGUgZGlyIGZvciBmaXhpbmNsdWRlcy4gICovCi0tICAgIHsgRklYRURfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLAotKyAgICB7IEZJWEVEX0lOQ0xVREVfRElSVkFSLCAiR0NDIiwgMCwgMCwgMCwKLSAgICAgICAvKiBBIG11bHRpbGliIHN1ZmZpeCBuZWVkcyBhZGRpbmcgaWYgZGlmZmVyZW50IG11bHRpbGlicyB1c2UKLSAJIGRpZmZlcmVudCBoZWFkZXJzLiAgKi8KLSAjaWZkZWYgU1lTUk9PVF9IRUFERVJTX1NVRkZJWF9TUEVDCi1AQCAtODUsMTYgKzEwOSwxNiBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KLSAjZW5kaWYKLSAjaWZkZWYgQ1JPU1NfSU5DTFVERV9ESVIKLSAgICAgLyogT25lIHBsYWNlIHRoZSB0YXJnZXQgc3lzdGVtJ3MgaGVhZGVycyBtaWdodCBiZS4gICovCi0tICAgIHsgQ1JPU1NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCi0rICAgIHsgQ1JPU1NfSU5DTFVERV9ESVJWQVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIFRPT0xfSU5DTFVERV9ESVIKLSAgICAgLyogQW5vdGhlciBwbGFjZSB0aGUgdGFyZ2V0IHN5c3RlbSdzIGhlYWRlcnMgbWlnaHQgYmUuICAqLwotLSAgICB7IFRPT0xfSU5DTFVERV9ESVIsICJCSU5VVElMUyIsIDAsIDEsIDAsIDAgfSwKLSsgICAgeyBUT09MX0lOQ0xVREVfRElSVkFSLCAiQklOVVRJTFMiLCAwLCAxLCAwLCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIE5BVElWRV9TWVNURU1fSEVBREVSX0RJUgotICAgICAvKiAvdXNyL2luY2x1ZGUgY29tZXMgZGVhZCBsYXN0LiAgKi8KLS0gICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMiB9LAotLSAgICB7IE5BVElWRV9TWVNURU1fSEVBREVSX0RJUiwgTkFUSVZFX1NZU1RFTV9IRUFERVJfQ09NUE9ORU5ULCAwLCAwLCAxLCAwIH0sCi0rICAgIHsgTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSVkFSLCBOQVRJVkVfU1lTVEVNX0hFQURFUl9DT01QT05FTlQsIDAsIDAsIDEsIDIgfSwKLSsgICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMCB9LAotICNlbmRpZgotICAgICB7IDAsIDAsIDAsIDAsIDAsIDAgfQotICAgfTsKLWRpZmYgLS1naXQgYS9nY2MvY3BwZGVmYXVsdC5oIGIvZ2NjL2NwcGRlZmF1bHQuaAotaW5kZXggMTdiYmIwZWFlZjcuLmE5MzdlYzFkMTg3IDEwMDY0NAotLS0tIGEvZ2NjL2NwcGRlZmF1bHQuaAotKysrIGIvZ2NjL2NwcGRlZmF1bHQuaAotQEAgLTMzLDcgKzMzLDggQEAKLSAKLSBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlCi0gewotLSAgY29uc3QgY2hhciAqY29uc3QgZm5hbWU7CS8qIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkuICAqLwotKyAgY29uc3QgY2hhciAqZm5hbWU7ICAgICAvKiBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5LiAgKi8KLSsKLSAgIGNvbnN0IGNoYXIgKmNvbnN0IGNvbXBvbmVudDsJLyogVGhlIGNvbXBvbmVudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkKLSAJCQkJICAgKHNlZSB1cGRhdGVfcGF0aCBpbiBwcmVmaXguYykgKi8KLSAgIGNvbnN0IGNoYXIgY3BsdXNwbHVzOwkJLyogT25seSBsb29rIGhlcmUgaWYgd2UncmUgY29tcGlsaW5nIEMrKy4gICovCi1kaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCi1pbmRleCBiMjcyNDVkYmY3Ny4uZTAxNWM3N2YxNWYgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYwotQEAgLTI0Nyw2ICsyNDcsOCBAQCBGSUxFICpyZXBvcnRfdGltZXNfdG9fZmlsZSA9IE5VTEw7Ci0gI2VuZGlmCi0gc3RhdGljIGNvbnN0IGNoYXIgKnRhcmdldF9zeXN0ZW1fcm9vdCA9IERFRkFVTFRfVEFSR0VUX1NZU1RFTV9ST09UOwotIAotK3N0YXRpYyBjaGFyIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXhbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gU1lTVEVNTElCU19ESVI7Ci0rCi0gLyogTm9uemVybyBtZWFucyBwYXNzIHRoZSB1cGRhdGVkIHRhcmdldF9zeXN0ZW1fcm9vdCB0byB0aGUgY29tcGlsZXIuICAqLwotIAotIHN0YXRpYyBpbnQgdGFyZ2V0X3N5c3RlbV9yb290X2NoYW5nZWQ7Ci1AQCAtNTE4LDYgKzUyMCw3IEBAIG9yIHdpdGggY29uc3RhbnQgdGV4dCBpbiBhIHNpbmdsZSBhcmd1bWVudC4KLSAgJUcgICAgIHByb2Nlc3MgTElCR0NDX1NQRUMgYXMgYSBzcGVjLgotICAlUiAgICAgT3V0cHV0IHRoZSBjb25jYXRlbmF0aW9uIG9mIHRhcmdldF9zeXN0ZW1fcm9vdCBhbmQKLSAgICAgICAgIHRhcmdldF9zeXNyb290X3N1ZmZpeC4KLSsgJXIgICAgIE91dHB1dCB0aGUgYmFzZSBwYXRoIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXgKLSAgJVMgICAgIHByb2Nlc3MgU1RBUlRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIFMgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgotICAlRSAgICAgcHJvY2VzcyBFTkRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIEUgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgotICAlQyAgICAgcHJvY2VzcyBDUFBfU1BFQyBhcyBhIHNwZWMuCi1AQCAtMTQ5NSwxMCArMTQ5OCwxMCBAQCBzdGF0aWMgY29uc3QgY2hhciAqZ2NjX2xpYmV4ZWNfcHJlZml4OwotICAgIGdjY19leGVjX3ByZWZpeCBpcyBzZXQgYmVjYXVzZSwgaW4gdGhhdCBjYXNlLCB3ZSBrbm93IHdoZXJlIHRoZQotICAgIGNvbXBpbGVyIGhhcyBiZWVuIGluc3RhbGxlZCwgYW5kIHVzZSBwYXRocyByZWxhdGl2ZSB0byB0aGF0Ci0gICAgbG9jYXRpb24gaW5zdGVhZC4gICovCi0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2V4ZWNfcHJlZml4ID0gU1RBTkRBUkRfRVhFQ19QUkVGSVg7Ci0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2xpYmV4ZWNfcHJlZml4ID0gU1RBTkRBUkRfTElCRVhFQ19QUkVGSVg7Ci0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2JpbmRpcl9wcmVmaXggPSBTVEFOREFSRF9CSU5ESVJfUFJFRklYOwotLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4ID0gU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9leGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9FWEVDX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9saWJleGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9MSUJFWEVDX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9iaW5kaXJfcHJlZml4WzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX0JJTkRJUl9QUkVGSVg7Ci0rc3RhdGljIGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOwotIAotIC8qIEZvciBuYXRpdmUgY29tcGlsZXJzLCB0aGVzZSBhcmUgd2VsbC1rbm93biBwYXRocyBjb250YWluaW5nCi0gICAgY29tcG9uZW50cyB0aGF0IG1heSBiZSBwcm92aWRlZCBieSB0aGUgc3lzdGVtLiAgRm9yIGNyb3NzCi1AQCAtMTUwNiw5ICsxNTA5LDkgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOwotIHN0YXRpYyBjb25zdCBjaGFyICptZF9leGVjX3ByZWZpeCA9IE1EX0VYRUNfUFJFRklYOwotIHN0YXRpYyBjb25zdCBjaGFyICptZF9zdGFydGZpbGVfcHJlZml4ID0gTURfU1RBUlRGSUxFX1BSRUZJWDsKLSBzdGF0aWMgY29uc3QgY2hhciAqbWRfc3RhcnRmaWxlX3ByZWZpeF8xID0gTURfU1RBUlRGSUxFX1BSRUZJWF8xOwotLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzEKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzFbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpCi0gICA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMTsKLS1zdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yCi0rc3RhdGljIGNoYXIgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKQotICAgPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzI7Ci0gCi0gLyogQSByZWxhdGl2ZSBwYXRoIHRvIGJlIHVzZWQgaW4gZmluZGluZyB0aGUgbG9jYXRpb24gb2YgdG9vbHMKLUBAIC01ODI2LDYgKzU4MjksMTEgQEAgZG9fc3BlY18xIChjb25zdCBjaGFyICpzcGVjLCBpbnQgaW5zd2l0Y2gsIGNvbnN0IGNoYXIgKnNvZnRfbWF0Y2hlZF9wYXJ0KQotIAkgICAgICB9Ci0gCSAgICBicmVhazsKLSAKLSsgICAgICAgICAgY2FzZSAncic6Ci0rICAgICAgICAgICAgICBvYnN0YWNrX2dyb3cgKCZvYnN0YWNrLCB0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4LAotKwkJICAgICAgc3RybGVuICh0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4KSk7Ci0rICAgICAgICAgICAgYnJlYWs7Ci0rCi0gCSAgY2FzZSAnUyc6Ci0gCSAgICB2YWx1ZSA9IGRvX3NwZWNfMSAoc3RhcnRmaWxlX3NwZWMsIDAsIE5VTEwpOwotIAkgICAgaWYgKHZhbHVlICE9IDApCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM3LVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM3LVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjODVhMDMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzNy1TZWFyY2gtdGFyZ2V0LXN5c3Jvb3QtZ2NjLXZlcnNpb24tc3BlY2lmaWMtZGlycy13aXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAyICswLDAgQEAKLUZyb20gMTZhMzI2YmNkMTI2YjM5NWIyOTAxOTA3MjkwNWJhZTdhNWQ0NzUwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6NDE6NDUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzNy80N10gU2VhcmNoIHRhcmdldCBzeXNyb290IGdjYyB2ZXJzaW9uIHNwZWNpZmljIGRpcnMgd2l0aAotIG11bHRpbGliLgotCi1XZSBpbnN0YWxsIHRoZSBnY2MgbGlicmFyaWVzIChzdWNoIGFzIGNydGJlZ2luLnApIGludG8KLTxzeXNyb290PjxsaWJkaXI+Lzx0YXJnZXQtc3lzPi81LjIuMC8KLXdoaWNoIGlzIGEgZGVmYXVsdCBzZWFyY2ggcGF0aCBmb3IgR0NDIChha2EgbXVsdGlfc3VmZml4IGluIHRoZQotY29kZSBiZWxvdykuIDx0YXJnZXQtc3lzPiBpcyAnbWFjaGluZScgaW4gZ2NjJ3MgdGVybWlub2xvZ3kuIFdlIHVzZQotdGhlc2UgZGlyZWN0b3JpZXMgc28gdGhhdCBtdWx0aXBsZSBnY2MgdmVyc2lvbnMgY291bGQgaW4gdGhlb3J5Ci1jby1leGlzdCBvbiB0YXJnZXQuCi0KLVdlIG9ubHkgd2FudCB0byBidWlsZCBvbmUgZ2NjLWNyb3NzLWNhbmFkaWFuIHBlciBhcmNoIGFuZCBoYXZlIHRoaXMgd29yawotZm9yIGFsbCBtdWx0aWxpYnMuIDx0YXJnZXQtc3lzPiBjYW4gYmUgaGFuZGxlZCBieSBtYXBwaW5nIHRoZSBtdWx0aWxpYgotPHRhcmdldC1zeXM+IHRvIHRoZSBvbmUgdXNlZCBieSBnY2MtY3Jvc3MtY2FuYWRpYW4sIGUuZy4KLW1pcHM2NC1wb2xrbWxsaWIzMi1saW51eAotaXMgc3ltbGlua2VkIHRvIGJ5IG1pcHM2NC1wb2t5LWxpbnV4LgotCi1UaGUgZGVmYXVsdCBnY2Mgc2VhcmNoIHBhdGggaW4gdGhlIHRhcmdldCBzeXNyb290IGZvciBhICJsaWI2NCIgbXV0bGlsaWIKLWlzOgotCi08c3lzcm9vdD4vbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCi08c3lzcm9vdD4vbGliMzIvLi4vbGliNjQvCi08c3lzcm9vdD4vdXNyL2xpYjMyL21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8uLi9saWI2NC8KLTxzeXNyb290Pi9saWIzMi8KLTxzeXNyb290Pi91c3IvbGliMzIvCi0KLXdoaWNoIG1lYW5zIHRoYXQgdGhlIGxpYjMyIGNydGJlZ2luLm8gd2lsbCBiZSBmb3VuZCBhbmQgdGhlIGxpYjY0IG9uZXMKLXdpbGwgbm90IHdoaWNoIGxlYWRzIHRvIGNvbXBpbGVyIGZhaWx1cmVzLgotCi1UaGlzIHBhdGNoIGluamVjdHMgYSBtdWx0aWxpYiB2ZXJzaW9uIG9mIHRoYXQgcGF0aCBmaXJzdCBzbyB0aGUgbGliNjQKLWJpbmFyaWVzIGNhbiBiZSBmb3VuZCBmaXJzdC4gV2l0aCB0aGlzIGNoYW5nZSB0aGUgc2VhcmNoIHBhdGggYmVjb21lczoKLQotPHN5c3Jvb3Q+L2xpYjMyLy4uL2xpYjY0L21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L2xpYjMyL21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L2xpYjMyLy4uL2xpYjY0LwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8uLi9saWI2NC9taXBzNjQtcG9reS1saW51eC81LjIuMC8KLTxzeXNyb290Pi91c3IvbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCi08c3lzcm9vdD4vdXNyL2xpYjMyLy4uL2xpYjY0LwotPHN5c3Jvb3Q+L2xpYjMyLwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1SUCAyMDE1LzcvMzEKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9nY2MuYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYwotaW5kZXggZTAxNWM3N2YxNWYuLjg0YWY1ZDVhMmUxIDEwMDY0NAotLS0tIGEvZ2NjL2djYy5jCi0rKysgYi9nY2MvZ2NjLmMKLUBAIC0yNTMzLDcgKzI1MzMsNyBAQCBmb3JfZWFjaF9wYXRoIChjb25zdCBzdHJ1Y3QgcGF0aF9wcmVmaXggKnBhdGhzLAotICAgICAgIGlmIChwYXRoID09IE5VTEwpCi0gCXsKLSAJICBsZW4gPSBwYXRocy0+bWF4X2xlbiArIGV4dHJhX3NwYWNlICsgMTsKLS0JICBsZW4gKz0gTUFYIChNQVggKHN1ZmZpeF9sZW4sIG11bHRpX29zX2Rpcl9sZW4pLCBtdWx0aWFyY2hfbGVuKTsKLSsJICBsZW4gKz0gTUFYICgoc3VmZml4X2xlbiArIG11bHRpX29zX2Rpcl9sZW4pLCBtdWx0aWFyY2hfbGVuKTsKLSAJICBwYXRoID0gWE5FV1ZFQyAoY2hhciwgbGVuKTsKLSAJfQotIAotQEAgLTI1NDUsNiArMjU0NSwzMyBAQCBmb3JfZWFjaF9wYXRoIChjb25zdCBzdHJ1Y3QgcGF0aF9wcmVmaXggKnBhdGhzLAotIAkgIC8qIExvb2sgZmlyc3QgaW4gTUFDSElORS9WRVJTSU9OIHN1YmRpcmVjdG9yeS4gICovCi0gCSAgaWYgKCFza2lwX211bHRpX2RpcikKLSAJICAgIHsKLSsJICAgICAgaWYgKCEocGwtPm9zX211bHRpbGliID8gc2tpcF9tdWx0aV9vc19kaXIgOiBza2lwX211bHRpX2RpcikpCi0rCSAgICAgICAgewotKwkgICAgICAgICAgY29uc3QgY2hhciAqdGhpc19tdWx0aTsKLSsJICAgICAgICAgIHNpemVfdCB0aGlzX211bHRpX2xlbjsKLSsKLSsJICAgICAgICAgIGlmIChwbC0+b3NfbXVsdGlsaWIpCi0rCQkgICAgewotKwkJICAgICAgdGhpc19tdWx0aSA9IG11bHRpX29zX2RpcjsKLSsJCSAgICAgIHRoaXNfbXVsdGlfbGVuID0gbXVsdGlfb3NfZGlyX2xlbjsKLSsJCSAgICB9Ci0rCSAgICAgICAgICBlbHNlCi0rCQkgICAgewotKwkJICAgICAgdGhpc19tdWx0aSA9IG11bHRpX2RpcjsKLSsJCSAgICAgIHRoaXNfbXVsdGlfbGVuID0gbXVsdGlfZGlyX2xlbjsKLSsJCSAgICB9Ci0rCi0rCSAgICAgICAgICAvKiBMb29rIGluIG11bHRpbGliIE1BQ0hJTkUvVkVSU0lPTiBzdWJkaXJlY3RvcnkgZmlyc3QgKi8KLSsJICAgICAgICAgIGlmICh0aGlzX211bHRpX2xlbikKLSsJICAgICAgICAgICAgewotKwkJICAgICAgbWVtY3B5IChwYXRoICsgbGVuLCB0aGlzX211bHRpLCB0aGlzX211bHRpX2xlbiArIDEpOwotKwkgICAgICAgICAgICAgIG1lbWNweSAocGF0aCArIGxlbiArIHRoaXNfbXVsdGlfbGVuLCBtdWx0aV9zdWZmaXgsIHN1ZmZpeF9sZW4gKyAxKTsKLSsJICAgICAgICAgICAgICByZXQgPSBjYWxsYmFjayAocGF0aCwgY2FsbGJhY2tfaW5mbyk7Ci0rCSAgICAgICAgICAgICAgICBpZiAocmV0KQotKwkJICAgICAgICAgIGJyZWFrOwotKwkgICAgICAgICAgICB9Ci0rCSAgICAgICAgfQotKwotIAkgICAgICBtZW1jcHkgKHBhdGggKyBsZW4sIG11bHRpX3N1ZmZpeCwgc3VmZml4X2xlbiArIDEpOwotIAkgICAgICByZXQgPSBjYWxsYmFjayAocGF0aCwgY2FsbGJhY2tfaW5mbyk7Ci0gCSAgICAgIGlmIChyZXQpCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM4LUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzOC1GaXgtdmFyaW91cy1fRk9SX0JVSUxELWFuZC1yZWxhdGVkLXZhcmlhYmxlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTIyNmQxMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM4LUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM3ICswLDAgQEAKLUZyb20gNmU3ZjUyNmU3MWE3NmFhYzNkNDliYThmMTc0MmZlMWIzNTljMTA2MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6NDI6NDUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzOC80N10gRml4IHZhcmlvdXMgX0ZPUl9CVUlMRCBhbmQgcmVsYXRlZCB2YXJpYWJsZXMKLQotV2hlbiBkb2luZyBhIEZPUl9CVUlMRCB0aGluZywgeW91IGhhdmUgdG8gb3ZlcnJpZGUgQ0ZMQUdTIHdpdGgKLUNGTEFHU19GT1JfQlVJTEQuIEFuZCBpZiB5b3UgdXNlIEMrKywgeW91IGFsc28gaGF2ZSB0byBvdmVycmlkZQotQ1hYRkxBR1Mgd2l0aCBDWFhGTEFHU19GT1JfQlVJTEQuCi1XaXRob3V0IHRoaXMsIHdoZW4gYnVpbGRpbmcgZm9yIG1pbmd3LCB5b3UgZW5kIHVwIHRyeWluZyB0byB1c2UKLXRoZSBtaW5ndyBoZWFkZXJzIGZvciBhIGhvc3QgYnVpbGQuCi0KLVRoZSBzYW1lIGdvZXMgZm9yIG90aGVyIHZhcmlhYmxlcyBhcyB3ZWxsLCBzdWNoIGFzIENQUEZMQUdTLAotQ1BQLCBhbmQgR01QSU5DLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogUGV0ZXIgU2VlYmFjaCA8cGV0ZXIuc2VlYmFjaEB3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIE1ha2VmaWxlLmluICAgICAgfCA2ICsrKysrKwotIE1ha2VmaWxlLnRwbCAgICAgfCA1ICsrKysrCi0gZ2NjL01ha2VmaWxlLmluICB8IDIgKy0KLSBnY2MvY29uZmlndXJlICAgIHwgMiArLQotIGdjYy9jb25maWd1cmUuYWMgfCAyICstCi0gNSBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgotaW5kZXggZTM0ZTk1NTUzODguLmEwMzc0MGYzZjlkIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuaW4KLSsrKyBiL01ha2VmaWxlLmluCi1AQCAtMTUyLDYgKzE1Miw3IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gCUNQUD0iJChDQ19GT1JfQlVJTEQpIC1FIjsgZXhwb3J0IENQUDsgXAotIAlDRkxBR1M9IiQoQ0ZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0ZMQUdTOyBcCi0gCUNPTkZJR19TSEVMTD0iJChTSEVMTCkiOyBleHBvcnQgQ09ORklHX1NIRUxMOyBcCi0rCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1BQRkxBR1M7IFwKLSAJQ1hYPSIkKENYWF9GT1JfQlVJTEQpIjsgZXhwb3J0IENYWDsgXAotIAlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENYWEZMQUdTOyBcCi0gCUdGT1JUUkFOPSIkKEdGT1JUUkFOX0ZPUl9CVUlMRCkiOyBleHBvcnQgR0ZPUlRSQU47IFwKLUBAIC0xNjksNiArMTcwLDkgQEAgQlVJTERfRVhQT1JUUyA9IFwKLSAjIGJ1aWx0IGZvciB0aGUgYnVpbGQgc3lzdGVtIHRvIG92ZXJyaWRlIHRob3NlIGluIEJBU0VfRkxBR1NfVE9fUEFTUy4KLSBFWFRSQV9CVUlMRF9GTEFHUyA9IFwKLSAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIiBcCi0rCUNYWEZMQUdTPSIkKENYWEZMQUdTX0ZPUl9CVUlMRCkiIFwKLSsJQ1BQPSIkKENDX0ZPUl9CVUlMRCkgLUUiIFwKLSsJQ1BQRkxBR1M9IiQoQ1BQRkxBR1NfRk9SX0JVSUxEKSIgXAotIAlMREZMQUdTPSIkKExERkxBR1NfRk9SX0JVSUxEKSIKLSAKLSAjIFRoaXMgaXMgdGhlIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gYnVpbHQgZm9yIHRoZSBob3N0IHN5c3RlbS4KLUBAIC0xODYsNiArMTkwLDcgQEAgSE9TVF9TVUJESVIgPSBAaG9zdF9zdWJkaXJACi0gSE9TVF9FWFBPUlRTID0gXAotIAkkKEJBU0VfRVhQT1JUUykgXAotIAlDQz0iJChDQykiOyBleHBvcnQgQ0M7IFwKLSsJQ1BQPSIkKENDKSAtRSI7IGV4cG9ydCBDUFA7IFwKLSAJQURBX0NGTEFHUz0iJChBREFfQ0ZMQUdTKSI7IGV4cG9ydCBBREFfQ0ZMQUdTOyBcCi0gCUNGTEFHUz0iJChDRkxBR1MpIjsgZXhwb3J0IENGTEFHUzsgXAotIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAotQEAgLTczNCw2ICs3MzksNyBAQCBCQVNFX0ZMQUdTX1RPX1BBU1MgPSBcCi0gCSJDQ19GT1JfQlVJTEQ9JChDQ19GT1JfQlVJTEQpIiBcCi0gCSJDRkxBR1NfRk9SX0JVSUxEPSQoQ0ZMQUdTX0ZPUl9CVUlMRCkiIFwKLSAJIkNYWF9GT1JfQlVJTEQ9JChDWFhfRk9SX0JVSUxEKSIgXAotKwkiQ1hYRkxBR1NfRk9SX0JVSUxEPSQoQ1hYRkxBR1NfRk9SX0JVSUxEKSIgXAotIAkiRVhQRUNUPSQoRVhQRUNUKSIgXAotIAkiRkxFWD0kKEZMRVgpIiBcCi0gCSJJTlNUQUxMPSQoSU5TVEFMTCkiIFwKLWRpZmYgLS1naXQgYS9NYWtlZmlsZS50cGwgYi9NYWtlZmlsZS50cGwKLWluZGV4IGQwZmEwNzAwNWJlLi45NTMzNzZjNjU4ZCAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLnRwbAotKysrIGIvTWFrZWZpbGUudHBsCi1AQCAtMTU0LDYgKzE1NCw3IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gCUNDPSIkKENDX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0M7IFwKLSAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENGTEFHUzsgXAotIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAotKwlDUFBGTEFHUz0iJChDUFBGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENQUEZMQUdTOyBcCi0gCUNYWD0iJChDWFhfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFg7IFwKLSAJQ1hYRkxBR1M9IiQoQ1hYRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFhGTEFHUzsgXAotIAlHRk9SVFJBTj0iJChHRk9SVFJBTl9GT1JfQlVJTEQpIjsgZXhwb3J0IEdGT1JUUkFOOyBcCi1AQCAtMTcxLDYgKzE3Miw5IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gIyBidWlsdCBmb3IgdGhlIGJ1aWxkIHN5c3RlbSB0byBvdmVycmlkZSB0aG9zZSBpbiBCQVNFX0ZMQUdTX1RPX1BBU1MuCi0gRVhUUkFfQlVJTERfRkxBR1MgPSBcCi0gCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSIgXAotKwlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIiBcCi0rCUNQUD0iJChDQ19GT1JfQlVJTEQpIC1FIiBcCi0rCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiIFwKLSAJTERGTEFHUz0iJChMREZMQUdTX0ZPUl9CVUlMRCkiCi0gCi0gIyBUaGlzIGlzIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIGJ1aWx0IGZvciB0aGUgaG9zdCBzeXN0ZW0uCi1AQCAtMTg4LDYgKzE5Miw3IEBAIEhPU1RfU1VCRElSID0gQGhvc3Rfc3ViZGlyQAotIEhPU1RfRVhQT1JUUyA9IFwKLSAJJChCQVNFX0VYUE9SVFMpIFwKLSAJQ0M9IiQoQ0MpIjsgZXhwb3J0IENDOyBcCi0rCUNQUD0iJChDQykgLUUiOyBleHBvcnQgQ1BQOyBcCi0gCUFEQV9DRkxBR1M9IiQoQURBX0NGTEFHUykiOyBleHBvcnQgQURBX0NGTEFHUzsgXAotIAlDRkxBR1M9IiQoQ0ZMQUdTKSI7IGV4cG9ydCBDRkxBR1M7IFwKLSAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKLWRpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KLWluZGV4IDk1ZDIxZWZmYWQzLi5kYmUyYmFjZGU1MCAxMDA2NDQKLS0tLSBhL2djYy9NYWtlZmlsZS5pbgotKysrIGIvZ2NjL01ha2VmaWxlLmluCi1AQCAtNzk1LDcgKzc5NSw3IEBAIEJVSUxEX0xERkxBR1M9QEJVSUxEX0xERkxBR1NACi0gQlVJTERfTk9fUElFX0ZMQUcgPSBAQlVJTERfTk9fUElFX0ZMQUdACi0gQlVJTERfTERGTEFHUyArPSAkKEJVSUxEX05PX1BJRV9GTEFHKQotIEJVSUxEX0NQUEZMQUdTPSAtSS4gLUkkKEBEKSAtSSQoc3JjZGlyKSAtSSQoc3JjZGlyKS8kKEBEKSBcCi0tCQktSSQoc3JjZGlyKS8uLi9pbmNsdWRlIEBJTkNJTlRMQCAkKENQUElOQykgJChDUFBGTEFHUykKLSsJCS1JJChzcmNkaXIpLy4uL2luY2x1ZGUgQElOQ0lOVExAICQoQ1BQSU5DKSAkKENQUEZMQUdTX0ZPUl9CVUlMRCkKLSAKLSAjIEFjdHVhbCBuYW1lIHRvIHVzZSB3aGVuIGluc3RhbGxpbmcgYSBuYXRpdmUgY29tcGlsZXIuCi0gR0NDX0lOU1RBTExfTkFNRSA6PSAkKHNoZWxsIGVjaG8gZ2NjfHNlZCAnJChwcm9ncmFtX3RyYW5zZm9ybV9uYW1lKScpCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKLWluZGV4IDZiYTM5MWVkMDY4Li43MmNhNmU1YzUzNSAxMDA3NTUKLS0tLSBhL2djYy9jb25maWd1cmUKLSsrKyBiL2djYy9jb25maWd1cmUKLUBAIC0xMTc4OSw3ICsxMTc4OSw3IEBAIGVsc2UKLSAJQ0M9IiR7Q0NfRk9SX0JVSUxEfSIgQ0ZMQUdTPSIke0NGTEFHU19GT1JfQlVJTER9IiBcCi0gCUNYWD0iJHtDWFhfRk9SX0JVSUxEfSIgQ1hYRkxBR1M9IiR7Q1hYRkxBR1NfRk9SX0JVSUxEfSIgXAotIAlMRD0iJHtMRF9GT1JfQlVJTER9IiBMREZMQUdTPSIke0xERkxBR1NfRk9SX0JVSUxEfSIgXAotLQlHTVBJTkM9IiIgQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IC1ER0VORVJBVE9SX0ZJTEUiIFwKLSsJR01QSU5DPSIiIENQUEZMQUdTPSIke0NQUEZMQUdTX0ZPUl9CVUlMRH0gLURHRU5FUkFUT1JfRklMRSIgXAotIAkke3JlYWxzcmNkaXJ9L2NvbmZpZ3VyZSBcCi0gCQktLWVuYWJsZS1sYW5ndWFnZXM9JHtlbmFibGVfbGFuZ3VhZ2VzLWFsbH0gXAotIAkJLS10YXJnZXQ9JHRhcmdldF9hbGlhcyAtLWhvc3Q9JGJ1aWxkX2FsaWFzIC0tYnVpbGQ9JGJ1aWxkX2FsaWFzCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IDg1NTFhNDEyZGYzLi42ZWVmYjYxZGMyYiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC0xNzA4LDcgKzE3MDgsNyBAQCBlbHNlCi0gCUNDPSIke0NDX0ZPUl9CVUlMRH0iIENGTEFHUz0iJHtDRkxBR1NfRk9SX0JVSUxEfSIgXAotIAlDWFg9IiR7Q1hYX0ZPUl9CVUlMRH0iIENYWEZMQUdTPSIke0NYWEZMQUdTX0ZPUl9CVUlMRH0iIFwKLSAJTEQ9IiR7TERfRk9SX0JVSUxEfSIgTERGTEFHUz0iJHtMREZMQUdTX0ZPUl9CVUlMRH0iIFwKLS0JR01QSU5DPSIiIENQUEZMQUdTPSIke0NQUEZMQUdTfSAtREdFTkVSQVRPUl9GSUxFIiBcCi0rCUdNUElOQz0iIiBDUFBGTEFHUz0iJHtDUFBGTEFHU19GT1JfQlVJTER9IC1ER0VORVJBVE9SX0ZJTEUiIFwKLSAJJHtyZWFsc3JjZGlyfS9jb25maWd1cmUgXAotIAkJLS1lbmFibGUtbGFuZ3VhZ2VzPSR7ZW5hYmxlX2xhbmd1YWdlcy1hbGx9IFwKLSAJCS0tdGFyZ2V0PSR0YXJnZXRfYWxpYXMgLS1ob3N0PSRidWlsZF9hbGlhcyAtLWJ1aWxkPSRidWlsZF9hbGlhcwotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzOS1uaW9zMi1EZWZpbmUtTVVTTF9EWU5BTUlDX0xJTktFUi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzktbmlvczItRGVmaW5lLU1VU0xfRFlOQU1JQ19MSU5LRVIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3YWVjY2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzOS1uaW9zMi1EZWZpbmUtTVVTTF9EWU5BTUlDX0xJTktFUi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gNmQwM2RkZmI3YTA5Mjk0MmJlNmI1OGIxODMwZjY5ODZkMDEyZDVlMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDIgRmViIDIwMTYgMTA6MjY6MTAgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAzOS80N10gbmlvczI6IERlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmVrIFZhc3V0IDxtYXJleEBkZW54LmRlPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1TcGVjaWZpY10KLQotIGdjYy9jb25maWcvbmlvczIvbGludXguaCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9uaW9zMi9saW51eC5oIGIvZ2NjL2NvbmZpZy9uaW9zMi9saW51eC5oCi1pbmRleCA1MTc3ZmE2NDFhNC4uMWI4YWNjZGE2ZWUgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL25pb3MyL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvbmlvczIvbGludXguaAotQEAgLTMwLDYgKzMwLDcgQEAKLSAjZGVmaW5lIENQUF9TUEVDICIle3Bvc2l4Oi1EX1BPU0lYX1NPVVJDRX0gJXtwdGhyZWFkOi1EX1JFRU5UUkFOVH0iCi0gCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC1uaW9zMi5zby4xIgotKyNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUiAgIi9saWIvbGQtbXVzbC1uaW9zMi5zby4xIgotIAotICN1bmRlZiBMSU5LX1NQRUMKLSAjZGVmaW5lIExJTktfU1BFQyBMSU5LX1NQRUNfRU5ESUFOIFwKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDAtQWRkLXNzcF9ub25zaGFyZWQtdG8tbGluay1jb21tYW5kbGluZS1mb3ItbXVzbC10YXJnZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDAtQWRkLXNzcF9ub25zaGFyZWQtdG8tbGluay1jb21tYW5kbGluZS1mb3ItbXVzbC10YXJnZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjliN2NlNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQwLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi1Gcm9tIDIxMGY2YjNiODIwODRjYzc1NmUwMmI4YmMxMmY5MDlhNDNiMTRlZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyNyBKdW4gMjAxNyAxODoxMDo1NCAtMDcwMAotU3ViamVjdDogW1BBVENIIDQwLzQ5XSBBZGQgc3NwX25vbnNoYXJlZCB0byBsaW5rIGNvbW1hbmRsaW5lIGZvciBtdXNsIHRhcmdldHMKLQotd2hlbiAtZnN0YWNrLXByb3RlY3RvciBvcHRpb25zIGFyZSBlbmFibGVkIHdlIG5lZWQgdG8KLWxpbmsgd2l0aCBzc3Bfc2hhcmVkIG9uIG11c2wgc2luY2UgaXQgZG9lcyBub3QgcHJvdmlkZQotdGhlIF9fc3RhY2tfY2hrX2ZhaWxfbG9jYWwoKSBzbyBlc3NlbnRpYWxseSBpdCBwcm92aWRlcwotbGlic3NwIGJ1dCBub3QgbGlic3NwX25vbnNoYXJlZCBzb21ldGhpbmcgbGlrZQotVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQX0JVVF9OT1RfU1NQX05PTlNIQVJFRAotIHdoZXJlLWFzIGZvciBnbGliYyB0aGUgbmVlZGVkIHN5bWJvbHMKLWFyZSBhbHJlYWR5IHByZXNlbnQgaW4gbGliY19ub25zaGFyZWQgbGlicmFyeSB0aGVyZWZvcmUKLXdlIGRvIG5vdCBuZWVkIGFueSBsaWJyYXJ5IGhlbHBlciBvbiBnbGliYyBiYXNlZCBzeXN0ZW1zCi1idXQgbXVzbCBuZWVkcyB0aGUgbGlic3NwX25vc2hhcmVkIGZyb20gZ2NjCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gZ2NjL2NvbmZpZy9saW51eC5oICAgICAgICAgIHwgIDcgKysrKysrKwotIGdjYy9jb25maWcvcnM2MDAwL2xpbnV4LmggICB8IDEwICsrKysrKysrKysKLSBnY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggfCAxMCArKysrKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2xpbnV4LmggYi9nY2MvY29uZmlnL2xpbnV4LmgKLWluZGV4IDJlNjgzZDBjNDMwLi4xYjRkZjc5ODY3MSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9saW51eC5oCi1AQCAtMTgyLDYgKzE4MiwxMyBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKLSAgICAgeyBHQ0NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAxLCAwLCAwIH0sCQlcCi0gICAgIHsgMCwgMCwgMCwgMCwgMCwgMCB9CQkJCVwKLSAgIH0KLSsjaWZkZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCi0rI3VuZGVmIExJTktfU1NQX1NQRUMKLSsjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAotKwkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAotKwkJICAgICAgICI6LWxzc3Bfbm9uc2hhcmVkfSIKLSsjZW5kaWYKLSsKLSAjZW5kaWYKLSAKLSAjaWYgKERFRkFVTFRfTElCQyA9PSBMSUJDX1VDTElCQykgJiYgZGVmaW5lZCAoU0lOR0xFX0xJQkMpIC8qIHVDbGludXggKi8KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eC5oIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAotaW5kZXggNjg0YWZkNmMxOTAuLjIyY2ZhMzkxYjg5IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAotQEAgLTkxLDYgKzkxLDE2IEBACi0gCQkJCQkgIiAtbSBlbGYzMnBwY2xpbnV4IikKLSAjZW5kaWYKLSAKLSsvKiBsaW5rIGxpYnNzcF9ub25zaGFyZWQuYSB3aXRoIG11c2wgKi8KLSsjaWYgREVGQVVMVF9MSUJDID09IExJQkNfTVVTTAotKyNpZmRlZiBUQVJHRVRfTElCQ19QUk9WSURFU19TU1AKLSsjdW5kZWYgTElOS19TU1BfU1BFQwotKyNkZWZpbmUgTElOS19TU1BfU1BFQyAiJXtmc3RhY2stcHJvdGVjdG9yfGZzdGFjay1wcm90ZWN0b3ItYWxsIiBcCi0rCQkgICAgICAgInxmc3RhY2stcHJvdGVjdG9yLXN0cm9uZ3xmc3RhY2stcHJvdGVjdG9yLWV4cGxpY2l0IiBcCi0rCQkgICAgICAgIjotbHNzcF9ub25zaGFyZWR9IgotKyNlbmRpZgotKyNlbmRpZgotKwotICN1bmRlZiBMSU5LX09TX0xJTlVYX1NQRUMKLSAjZGVmaW5lIExJTktfT1NfTElOVVhfU1BFQyBMSU5LX09TX0xJTlVYX0VNVUwgIiAleyFzaGFyZWQ6ICV7IXN0YXRpYzogXAotICAgJXtyZHluYW1pYzotZXhwb3J0LWR5bmFtaWN9IFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKLWluZGV4IDNiMDBlYzBmY2YwLi44MzcxZjhkN2I2YiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAotKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCi1AQCAtNDY1LDYgKzQ2NSwxNiBAQCBleHRlcm4gaW50IGRvdF9zeW1ib2xzOwotIAkJCQkJICAgIiAtbSBlbGY2NHBwYyIpCi0gI2VuZGlmCi0gCi0rLyogbGluayBsaWJzc3Bfbm9uc2hhcmVkLmEgd2l0aCBtdXNsICovCi0rI2lmIERFRkFVTFRfTElCQyA9PSBMSUJDX01VU0wKLSsjaWZkZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCi0rI3VuZGVmIExJTktfU1NQX1NQRUMKLSsjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAotKwkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAotKwkJICAgICAgICI6LWxzc3Bfbm9uc2hhcmVkfSIKLSsjZW5kaWYKLSsjZW5kaWYKLSsKLSAjZGVmaW5lIExJTktfT1NfTElOVVhfU1BFQzMyIExJTktfT1NfTElOVVhfRU1VTDMyICIgJXshc2hhcmVkOiAleyFzdGF0aWM6IFwKLSAgICV7cmR5bmFtaWM6LWV4cG9ydC1keW5hbWljfSBcCi0gICAtZHluYW1pYy1saW5rZXIgIiBHTlVfVVNFUl9EWU5BTUlDX0xJTktFUjMyICJ9fSBcCi0tLSAKLTIuMTMuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQxLWdjYy1saWJjcHAtc3VwcG9ydC1mZmlsZS1wcmVmaXgtbWFwLW9sZC1uZXcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQxLWdjYy1saWJjcHAtc3VwcG9ydC1mZmlsZS1wcmVmaXgtbWFwLW9sZC1uZXcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyNjBlMzYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0MS1nY2MtbGliY3BwLXN1cHBvcnQtZmZpbGUtcHJlZml4LW1hcC1vbGQtbmV3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjg0ICswLDAgQEAKLUZyb20gNGVhZGM5OWJkZDA5NzQ3NjFiZjQ4ZjBmZDMyOTk0ZGQ5YTNmZmNmZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMTYgTWFyIDIwMTYgMDI6Mjc6NDMgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCA0MS80N10gZ2NjL2xpYmNwcDogc3VwcG9ydCAtZmZpbGUtcHJlZml4LW1hcD08b2xkPj08bmV3PgotCi1TaW1pbGFyIC1mZGVidWctcHJlZml4LW1hcCwgYWRkIG9wdGlvbiAtZmZpbGUtcHJlZml4LW1hcCB0byBtYXAgb25lCi1kaXJlY3RvcnkgbmFtZSAob2xkKSB0byBhbm90aGVyIChuZXcpIGluIF9fRklMRV9fLCBfX0JBU0VfRklMRV9fIGFuZAotX19idWlsdGluX0ZJTEUgKCkuCi0KLWh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTcwMjY4Ci0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZ10KLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGdjYy9jLWZhbWlseS9jLW9wdHMuYyAgICAgfCAxMyArKysrKysrCi0gZ2NjL2MtZmFtaWx5L2Mub3B0ICAgICAgICB8ICA0ICsrKwotIGdjYy9kd2FyZjJvdXQuYyAgICAgICAgICAgfCAgMSArCi0gZ2NjL2dpbXBsaWZ5LmMgICAgICAgICAgICB8ICAyICsrCi0gbGliY3BwL01ha2VmaWxlLmluICAgICAgICB8IDEwICsrKy0tLQotIGxpYmNwcC9maWxlLW1hcC5jICAgICAgICAgfCA5MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIGxpYmNwcC9pbmNsdWRlL2ZpbGUtbWFwLmggfCAzMCArKysrKysrKysrKysrKysrCi0gbGliY3BwL21hY3JvLmMgICAgICAgICAgICB8ICAyICsrCi0gOCBmaWxlcyBjaGFuZ2VkLCAxNDkgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgbGliY3BwL2ZpbGUtbWFwLmMKLSBjcmVhdGUgbW9kZSAxMDA2NDQgbGliY3BwL2luY2x1ZGUvZmlsZS1tYXAuaAotCi1kaWZmIC0tZ2l0IGEvZ2NjL2MtZmFtaWx5L2Mtb3B0cy5jIGIvZ2NjL2MtZmFtaWx5L2Mtb3B0cy5jCi1pbmRleCBlYTBlMDFiMTAxYy4uYTc0MWM3NWE3OGYgMTAwNjQ0Ci0tLS0gYS9nY2MvYy1mYW1pbHkvYy1vcHRzLmMKLSsrKyBiL2djYy9jLWZhbWlseS9jLW9wdHMuYwotQEAgLTM5LDYgKzM5LDE0IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gI2luY2x1ZGUgIm9wdHMuaCIKLSAjaW5jbHVkZSAicGx1Z2luLmgiCQkvKiBGb3IgUExVR0lOX0lOQ0xVREVfRklMRSBldmVudC4gICovCi0gI2luY2x1ZGUgIm1rZGVwcy5oIgotKyNpbmNsdWRlICJmaWxlLW1hcC5oIgotKyNpbmNsdWRlICJjLXRhcmdldC5oIgotKyNpbmNsdWRlICJ0bS5oIgkJCS8qIEZvciBCWVRFU19CSUdfRU5ESUFOLAotKwkJCQkgICBET0xMQVJTX0lOX0lERU5USUZJRVJTLAotKwkJCQkgICBTVERDXzBfSU5fU1lTVEVNX0hFQURFUlMsCi0rCQkJCSAgIFRBUkdFVF9GTFRfRVZBTF9NRVRIT0RfTk9OX0RFRkFVTFQgYW5kCi0rCQkJCSAgIFRBUkdFVF9PUFRGLiAgKi8KLSsjaW5jbHVkZSAidG1fcC5oIgkJLyogRm9yIENfQ09NTU9OX09WRVJSSURFX09QVElPTlMuICAqLwotICNpbmNsdWRlICJkdW1wZmlsZS5oIgotIAotICNpZm5kZWYgRE9MTEFSU19JTl9JREVOVElGSUVSUwotQEAgLTUxNyw2ICs1MjUsMTEgQEAgY19jb21tb25faGFuZGxlX29wdGlvbiAoc2l6ZV90IHNjb2RlLCBjb25zdCBjaGFyICphcmcsIGludCB2YWx1ZSwKLSAgICAgICBjcHBfb3B0cy0+bmFycm93X2NoYXJzZXQgPSBhcmc7Ci0gICAgICAgYnJlYWs7Ci0gCi0rICAgIGNhc2UgT1BUX2ZmaWxlX3ByZWZpeF9tYXBfOgotKyAgICAgIGlmIChhZGRfZmlsZV9wcmVmaXhfbWFwIChhcmcpIDwgMCkKLSsgICAgICAgIGVycm9yICgiaW52YWxpZCBhcmd1bWVudCAlcXMgdG8gLWZmaWxlLXByZWZpeC1tYXAiLCBhcmcpOwotKyAgICAgIGJyZWFrOwotKwotICAgICBjYXNlIE9QVF9md2lkZV9leGVjX2NoYXJzZXRfOgotICAgICAgIGNwcF9vcHRzLT53aWRlX2NoYXJzZXQgPSBhcmc7Ci0gICAgICAgYnJlYWs7Ci1kaWZmIC0tZ2l0IGEvZ2NjL2MtZmFtaWx5L2Mub3B0IGIvZ2NjL2MtZmFtaWx5L2Mub3B0Ci1pbmRleCBjNGVmNzc5NjI4Mi4uNzMzMzNkZmQ1N2MgMTAwNjQ0Ci0tLS0gYS9nY2MvYy1mYW1pbHkvYy5vcHQKLSsrKyBiL2djYy9jLWZhbWlseS9jLm9wdAotQEAgLTEzNzIsNiArMTM3MiwxMCBAQCBmZXhlYy1jaGFyc2V0PQotIEMgT2JqQyBDKysgT2JqQysrIEpvaW5lZCBSZWplY3ROZWdhdGl2ZQotIC1mZXhlYy1jaGFyc2V0PTxjc2V0PglDb252ZXJ0IGFsbCBzdHJpbmdzIGFuZCBjaGFyYWN0ZXIgY29uc3RhbnRzIHRvIGNoYXJhY3RlciBzZXQgPGNzZXQ+LgotIAotK2ZmaWxlLXByZWZpeC1tYXA9Ci0rQyBPYmpDIEMrKyBPYmpDKysgSm9pbmVkIFJlamVjdE5lZ2F0aXZlCi0rLWZmaWxlLXByZWZpeC1tYXA9PG9sZD1uZXc+CU1hcCBvbmUgZGlyZWN0b3J5IG5hbWUgdG8gYW5vdGhlciBpbiBfX0ZJTEVfXywgX19CQVNFX0ZJTEVfXyBhbmQgX19idWlsdGluX0ZJTEUgKCkKLSsKLSBmZXh0ZW5kZWQtaWRlbnRpZmllcnMKLSBDIE9iakMgQysrIE9iakMrKwotIFBlcm1pdCB1bml2ZXJzYWwgY2hhcmFjdGVyIG5hbWVzIChcXHUgYW5kIFxcVSkgaW4gaWRlbnRpZmllcnMuCi1kaWZmIC0tZ2l0IGEvZ2NjL2R3YXJmMm91dC5jIGIvZ2NjL2R3YXJmMm91dC5jCi1pbmRleCA5OGM1MTU3NmVjMi4uNzYyZjY5YWU4OGUgMTAwNjQ0Ci0tLS0gYS9nY2MvZHdhcmYyb3V0LmMKLSsrKyBiL2djYy9kd2FyZjJvdXQuYwotQEAgLTIzNDIxLDYgKzIzNDIxLDcgQEAgZ2VuX3Byb2R1Y2VyX3N0cmluZyAodm9pZCkKLSAgICAgICBjYXNlIE9QVF9mbHRyYW5zX291dHB1dF9saXN0XzoKLSAgICAgICBjYXNlIE9QVF9mcmVzb2x1dGlvbl86Ci0gICAgICAgY2FzZSBPUFRfZmRlYnVnX3ByZWZpeF9tYXBfOgotKyAgICAgIGNhc2UgT1BUX2ZmaWxlX3ByZWZpeF9tYXBfOgotIAkvKiBJZ25vcmUgdGhlc2UuICAqLwotIAljb250aW51ZTsKLSAgICAgICBkZWZhdWx0OgotZGlmZiAtLWdpdCBhL2djYy9naW1wbGlmeS5jIGIvZ2NjL2dpbXBsaWZ5LmMKLWluZGV4IGZkMjdlYjE1MjNmLi41NTQyYjM3OWYyOCAxMDA2NDQKLS0tLSBhL2djYy9naW1wbGlmeS5jCi0rKysgYi9nY2MvZ2ltcGxpZnkuYwotQEAgLTU4LDYgKzU4LDggQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSAjaW5jbHVkZSAiZ29tcC1jb25zdGFudHMuaCIKLSAjaW5jbHVkZSAidHJlZS1kdW1wLmgiCi0gI2luY2x1ZGUgImdpbXBsZS13YWxrLmgiCi0rI2luY2x1ZGUgImZpbGUtbWFwLmgiCi0rCi0gI2luY2x1ZGUgImxhbmdob29rcy1kZWYuaCIJLyogRklYTUU6IGZvciBsaGRfc2V0X2RlY2xfYXNzZW1ibGVyX25hbWUgKi8KLSAjaW5jbHVkZSAiYnVpbHRpbnMuaCIKLSAjaW5jbHVkZSAiYXNhbi5oIgotZGlmZiAtLWdpdCBhL2xpYmNwcC9NYWtlZmlsZS5pbiBiL2xpYmNwcC9NYWtlZmlsZS5pbgotaW5kZXggMGJkMzc4N2MyNWUuLmQzYjUyOTU2YjUyIDEwMDY0NAotLS0tIGEvbGliY3BwL01ha2VmaWxlLmluCi0rKysgYi9saWJjcHAvTWFrZWZpbGUuaW4KLUBAIC04NCwxMiArODQsMTIgQEAgREVQTU9ERSA9ICQoQ1hYREVQTU9ERSkKLSAKLSAKLSBsaWJjcHBfYV9PQkpTID0gY2hhcnNldC5vIGRpcmVjdGl2ZXMubyBkaXJlY3RpdmVzLW9ubHkubyBlcnJvcnMubyBcCi0tCWV4cHIubyBmaWxlcy5vIGlkZW50aWZpZXJzLm8gaW5pdC5vIGxleC5vIGxpbmUtbWFwLm8gbWFjcm8ubyBcCi0tCW1rZGVwcy5vIHBjaC5vIHN5bXRhYi5vIHRyYWRpdGlvbmFsLm8KLSsJZXhwci5vIGZpbGUtbWFwLm8gZmlsZXMubyBpZGVudGlmaWVycy5vIGluaXQubyBsZXgubyBsaW5lLW1hcC5vIFwKLSsJbWFjcm8ubyBta2RlcHMubyBwY2gubyBzeW10YWIubyB0cmFkaXRpb25hbC5vCi0gCi0gbGliY3BwX2FfU09VUkNFUyA9IGNoYXJzZXQuYyBkaXJlY3RpdmVzLmMgZGlyZWN0aXZlcy1vbmx5LmMgZXJyb3JzLmMgXAotLQlleHByLmMgZmlsZXMuYyBpZGVudGlmaWVycy5jIGluaXQuYyBsZXguYyBsaW5lLW1hcC5jIG1hY3JvLmMgXAotLQlta2RlcHMuYyBwY2guYyBzeW10YWIuYyB0cmFkaXRpb25hbC5jCi0rCWV4cHIuYyBmaWxlLW1hcC5jIGZpbGVzLmMgaWRlbnRpZmllcnMuYyBpbml0LmMgbGV4LmMgbGluZS1tYXAuYyBcCi0rCW1hY3JvLmMgbWtkZXBzLmMgcGNoLmMgc3ltdGFiLmMgdHJhZGl0aW9uYWwuYwotIAotIGFsbDogbGliY3BwLmEgJChVU0VEX0NBVEFMT0dTKQotIAotQEAgLTI2Myw3ICsyNjMsNyBAQCBwby8kKFBBQ0tBR0UpLnBvdDogJChsaWJjcHBfYV9TT1VSQ0VTKQotIAotIFRBR1NfU09VUkNFUyA9ICQobGliY3BwX2FfU09VUkNFUykgaW50ZXJuYWwuaCB1Y25pZC5oIFwKLSAgICAgaW5jbHVkZS9saW5lLW1hcC5oIGluY2x1ZGUvc3ltdGFiLmggaW5jbHVkZS9jcHAtaWQtZGF0YS5oIFwKLS0gICAgaW5jbHVkZS9jcHBsaWIuaCBpbmNsdWRlL21rZGVwcy5oIHN5c3RlbS5oCi0rICAgIGluY2x1ZGUvY3BwbGliLmggaW5jbHVkZS9ta2RlcHMuaCBzeXN0ZW0uaCBpbmNsdWRlL2ZpbGUtbWFwLmgKLSAKLSBUQUdTOiAkKFRBR1NfU09VUkNFUykKLSAJY2QgJChzcmNkaXIpICYmIGV0YWdzICQoVEFHU19TT1VSQ0VTKQotZGlmZiAtLWdpdCBhL2xpYmNwcC9maWxlLW1hcC5jIGIvbGliY3BwL2ZpbGUtbWFwLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uMTgwMzVlZjZhNzIKLS0tLSAvZGV2L251bGwKLSsrKyBiL2xpYmNwcC9maWxlLW1hcC5jCi1AQCAtMCwwICsxLDkyIEBACi0rLyogTWFwIG9uZSBkaXJlY3RvcnkgbmFtZSB0byBhbm90aGVyIGluIF9fRklMRV9fLCBfX0JBU0VfRklMRV9fCi0rICAgYW5kIF9fYnVpbHRpbl9GSUxFICgpLgotKyAgIENvcHlyaWdodCAoQykgMjAwMS0yMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotK1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0Ci0rdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCi0rRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRpb24pIGFueQotK2xhdGVyIHZlcnNpb24uCi0rCi0rVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLStNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLStZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotK2Fsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0rPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwotKyBJbiBvdGhlciB3b3JkcywgeW91IGFyZSB3ZWxjb21lIHRvIHVzZSwgc2hhcmUgYW5kIGltcHJvdmUgdGhpcyBwcm9ncmFtLgotKyBZb3UgYXJlIGZvcmJpZGRlbiB0byBmb3JiaWQgYW55b25lIGVsc2UgdG8gdXNlLCBzaGFyZSBhbmQgaW1wcm92ZQotKyB3aGF0IHlvdSBnaXZlIHRoZW0uICAgSGVscCBzdGFtcCBvdXQgc29mdHdhcmUtaG9hcmRpbmchICAqLwotKwotKyNpbmNsdWRlICJjb25maWcuaCIKLSsjaW5jbHVkZSAic3lzdGVtLmgiCi0rI2luY2x1ZGUgImZpbGUtbWFwLmgiCi0rCi0rLyogU3RydWN0dXJlIHJlY29yZGluZyB0aGUgbWFwcGluZyBmcm9tIHNvdXJjZSBmaWxlIGFuZCBkaXJlY3RvcnkKLSsgICBuYW1lcyBhdCBjb21waWxlIHRpbWUgdG8gX19GSUxFX18gKi8KLSt0eXBlZGVmIHN0cnVjdCBmaWxlX3ByZWZpeF9tYXAKLSt7Ci0rICBjb25zdCBjaGFyICpvbGRfcHJlZml4OwotKyAgY29uc3QgY2hhciAqbmV3X3ByZWZpeDsKLSsgIHNpemVfdCBvbGRfbGVuOwotKyAgc2l6ZV90IG5ld19sZW47Ci0rICBzdHJ1Y3QgZmlsZV9wcmVmaXhfbWFwICpuZXh0OwotK30gZmlsZV9wcmVmaXhfbWFwOwotKwotKy8qIExpbmtlZCBsaXN0IG9mIHN1Y2ggc3RydWN0dXJlcy4gICovCi0rc3RhdGljIGZpbGVfcHJlZml4X21hcCAqZmlsZV9wcmVmaXhfbWFwczsKLSsKLSsvKiBSZWNvcmQgcHJlZml4IG1hcHBpbmcgb2YgX19GSUxFX18uICBBUkcgaXMgdGhlIGFyZ3VtZW50IHRvCi0rICAgLWZmaWxlLXByZWZpeC1tYXAgYW5kIG11c3QgYmUgb2YgdGhlIGZvcm0gT0xEPU5FVy4gICovCi0raW50Ci0rYWRkX2ZpbGVfcHJlZml4X21hcCAoY29uc3QgY2hhciAqYXJnKQotK3sKLSsgIGZpbGVfcHJlZml4X21hcCAqbWFwOwotKyAgY29uc3QgY2hhciAqcDsKLSsKLSsgIHAgPSBzdHJjaHIgKGFyZywgJz0nKTsKLSsgIGlmICghcCkKLSsgIHsKLSsgICAgICBmcHJpbnRmKHN0ZGVyciwgImludmFsaWQgYXJndW1lbnQgJXFzIHRvIC1mZmlsZS1wcmVmaXgtbWFwIiwgYXJnKTsKLSsgICAgICByZXR1cm4gLTE7Ci0rICB9Ci0rICBtYXAgPSBYTkVXIChmaWxlX3ByZWZpeF9tYXApOwotKyAgbWFwLT5vbGRfcHJlZml4ID0geHN0cm5kdXAgKGFyZywgcCAtIGFyZyk7Ci0rICBtYXAtPm9sZF9sZW4gPSBwIC0gYXJnOwotKyAgcCsrOwotKyAgbWFwLT5uZXdfcHJlZml4ID0geHN0cmR1cCAocCk7Ci0rICBtYXAtPm5ld19sZW4gPSBzdHJsZW4gKHApOwotKyAgbWFwLT5uZXh0ID0gZmlsZV9wcmVmaXhfbWFwczsKLSsgIGZpbGVfcHJlZml4X21hcHMgPSBtYXA7Ci0rCi0rICByZXR1cm4gMDsKLSt9Ci0rCi0rLyogUGVyZm9ybSB1c2VyLXNwZWNpZmllZCBtYXBwaW5nIG9mIF9fRklMRV9fIHByZWZpeGVzLiAgUmV0dXJuCi0rICAgdGhlIG5ldyBuYW1lIGNvcnJlc3BvbmRpbmcgdG8gZmlsZW5hbWUuICAqLwotKwotK2NvbnN0IGNoYXIgKgotK3JlbWFwX2ZpbGVfZmlsZW5hbWUgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQotK3sKLSsgIGZpbGVfcHJlZml4X21hcCAqbWFwOwotKyAgY2hhciAqczsKLSsgIGNvbnN0IGNoYXIgKm5hbWU7Ci0rICBzaXplX3QgbmFtZV9sZW47Ci0rCi0rICBmb3IgKG1hcCA9IGZpbGVfcHJlZml4X21hcHM7IG1hcDsgbWFwID0gbWFwLT5uZXh0KQotKyAgICBpZiAoZmlsZW5hbWVfbmNtcCAoZmlsZW5hbWUsIG1hcC0+b2xkX3ByZWZpeCwgbWFwLT5vbGRfbGVuKSA9PSAwKQotKyAgICAgIGJyZWFrOwotKyAgaWYgKCFtYXApCi0rICAgIHJldHVybiBmaWxlbmFtZTsKLSsgIG5hbWUgPSBmaWxlbmFtZSArIG1hcC0+b2xkX2xlbjsKLSsgIG5hbWVfbGVuID0gc3RybGVuIChuYW1lKSArIDE7Ci0rICBzID0gKGNoYXIgKikgYWxsb2NhIChuYW1lX2xlbiArIG1hcC0+bmV3X2xlbik7Ci0rICBtZW1jcHkgKHMsIG1hcC0+bmV3X3ByZWZpeCwgbWFwLT5uZXdfbGVuKTsKLSsgIG1lbWNweSAocyArIG1hcC0+bmV3X2xlbiwgbmFtZSwgbmFtZV9sZW4pOwotKwotKyAgcmV0dXJuIHhzdHJkdXAgKHMpOwotK30KLSsKLSsKLWRpZmYgLS1naXQgYS9saWJjcHAvaW5jbHVkZS9maWxlLW1hcC5oIGIvbGliY3BwL2luY2x1ZGUvZmlsZS1tYXAuaAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi44NzUwMzE1MmQyNwotLS0tIC9kZXYvbnVsbAotKysrIGIvbGliY3BwL2luY2x1ZGUvZmlsZS1tYXAuaAotQEAgLTAsMCArMSwzMCBAQAotKy8qIE1hcCBvbmUgZGlyZWN0b3J5IG5hbWUgdG8gYW5vdGhlciBpbiBfX0ZJTEVfXywgX19CQVNFX0ZJTEVfXwotKyAgIGFuZCBfX2J1aWx0aW5fRklMRSAoKS4KLSsgICBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLStUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAotK3VuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQotK0ZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkKLStsYXRlciB2ZXJzaW9uLgotKwotK1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotK2J1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotK0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSthbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotKzxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSsKLSsgSW4gb3RoZXIgd29yZHMsIHlvdSBhcmUgd2VsY29tZSB0byB1c2UsIHNoYXJlIGFuZCBpbXByb3ZlIHRoaXMgcHJvZ3JhbS4KLSsgWW91IGFyZSBmb3JiaWRkZW4gdG8gZm9yYmlkIGFueW9uZSBlbHNlIHRvIHVzZSwgc2hhcmUgYW5kIGltcHJvdmUKLSsgd2hhdCB5b3UgZ2l2ZSB0aGVtLiAgIEhlbHAgc3RhbXAgb3V0IHNvZnR3YXJlLWhvYXJkaW5nISAgKi8KLSsKLSsjaWZuZGVmIExJQkNQUF9GSUxFX01BUF9ICi0rI2RlZmluZSBMSUJDUFBfRklMRV9NQVBfSAotKwotK2NvbnN0IGNoYXIgKiByZW1hcF9maWxlX2ZpbGVuYW1lIChjb25zdCBjaGFyICpmaWxlbmFtZSk7Ci0rCi0raW50IGFkZF9maWxlX3ByZWZpeF9tYXAgKGNvbnN0IGNoYXIgKmFyZyk7Ci0rCi0rI2VuZGlmIC8qICFMSUJDUFBfRklMRV9NQVBfSCAgKi8KLWRpZmYgLS1naXQgYS9saWJjcHAvbWFjcm8uYyBiL2xpYmNwcC9tYWNyby5jCi1pbmRleCBkZTE4YzIyMTBjZi4uMjc0OGM3MGQ1MjAgMTAwNjQ0Ci0tLS0gYS9saWJjcHAvbWFjcm8uYwotKysrIGIvbGliY3BwL21hY3JvLmMKLUBAIC0yNiw2ICsyNiw3IEBAIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gI2luY2x1ZGUgInN5c3RlbS5oIgotICNpbmNsdWRlICJjcHBsaWIuaCIKLSAjaW5jbHVkZSAiaW50ZXJuYWwuaCIKLSsjaW5jbHVkZSAiZmlsZS1tYXAuaCIKLSAKLSB0eXBlZGVmIHN0cnVjdCBtYWNyb19hcmcgbWFjcm9fYXJnOwotIC8qIFRoaXMgc3RydWN0dXJlIHJlcHJlc2VudHMgdGhlIHRva2VucyBvZiBhIG1hY3JvIGFyZ3VtZW50LiAgVGhlc2UKLUBAIC0zMDEsNiArMzAyLDcgQEAgX2NwcF9idWlsdGluX21hY3JvX3RleHQgKGNwcF9yZWFkZXIgKnBmaWxlLCBjcHBfaGFzaG5vZGUgKm5vZGUsCi0gCSAgICBpZiAoIW5hbWUpCi0gCSAgICAgIGFib3J0ICgpOwotIAkgIH0KLSsJbmFtZSA9IHJlbWFwX2ZpbGVfZmlsZW5hbWUgKG5hbWUpOwotIAlsZW4gPSBzdHJsZW4gKG5hbWUpOwotIAlidWYgPSBfY3BwX3VuYWxpZ25lZF9hbGxvYyAocGZpbGUsIGxlbiAqIDIgKyAzKTsKLSAJcmVzdWx0ID0gYnVmOwotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0Mi1SZXVzZS1mZGVidWctcHJlZml4LW1hcC10by1yZXBsYWNlLWZmaWxlLXByZWZpeC1tYXAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQyLVJldXNlLWZkZWJ1Zy1wcmVmaXgtbWFwLXRvLXJlcGxhY2UtZmZpbGUtcHJlZml4LW1hcC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTI0NzE2Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQyLVJldXNlLWZkZWJ1Zy1wcmVmaXgtbWFwLXRvLXJlcGxhY2UtZmZpbGUtcHJlZml4LW1hcC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gZGRkZGM3MzM1NTM5ZmI4YTZkMzBiZWJhMjE3ODE3NjJkZjE1OTE4NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMTYgTWFyIDIwMTYgMDU6Mzk6NTkgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCA0Mi80N10gUmV1c2UgLWZkZWJ1Zy1wcmVmaXgtbWFwIHRvIHJlcGxhY2UgLWZmaWxlLXByZWZpeC1tYXAKLQotVGhlIG9lLWNvcmUgbWF5IHVzZSBleHRlcm5hbCB0b29sY2hhaW4gdG8gY29tcGlsZSwKLXdoaWNoIG1heSBub3Qgc3VwcG9ydCAtZmZpbGUtcHJlZml4LW1hcC4KLQotU2luY2Ugd2UgdXNlIC1mZGVidWctcHJlZml4LW1hcCB0byBkbyB0aGUgc2FtZSB0aGluZywKLXNvIHdlIGNvdWxkIHJldXNlIGl0IHRvIHJlcGxhY2UgLWZmaWxlLXByZWZpeC1tYXAuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZVtvZS1jb3JlIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBnY2Mvb3B0cy1nbG9iYWwuYyB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2djYy9vcHRzLWdsb2JhbC5jIGIvZ2NjL29wdHMtZ2xvYmFsLmMKLWluZGV4IDUwYmFkNzdjMzQ3Li4zMmIxZDI4NjcyMSAxMDA2NDQKLS0tLSBhL2djYy9vcHRzLWdsb2JhbC5jCi0rKysgYi9nY2Mvb3B0cy1nbG9iYWwuYwotQEAgLTMxLDYgKzMxLDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSAjaW5jbHVkZSAibGFuZ2hvb2tzLmgiCi0gI2luY2x1ZGUgImRiZ2NudC5oIgotICNpbmNsdWRlICJkZWJ1Zy5oIgotKyNpbmNsdWRlICJmaWxlLW1hcC5oIgotICNpbmNsdWRlICJvdXRwdXQuaCIKLSAjaW5jbHVkZSAicGx1Z2luLmgiCi0gI2luY2x1ZGUgInRvcGxldi5oIgotQEAgLTM1Nyw2ICszNTgsOSBAQCBoYW5kbGVfY29tbW9uX2RlZmVycmVkX29wdGlvbnMgKHZvaWQpCi0gCi0gCWNhc2UgT1BUX2ZkZWJ1Z19wcmVmaXhfbWFwXzoKLSAJICBhZGRfZGVidWdfcHJlZml4X21hcCAob3B0LT5hcmcpOwotKwotKwkgIC8qIFJldXNlIC1mZGVidWctcHJlZml4LW1hcCB0byByZXBsYWNlIC1mZmlsZS1wcmVmaXgtbWFwICovCi0rCSAgYWRkX2ZpbGVfcHJlZml4X21hcCAob3B0LT5hcmcpOwotIAkgIGJyZWFrOwotIAotIAljYXNlIE9QVF9mZHVtcF86Ci0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQzLWdjYy1maW5hbC5jLWZkZWJ1Zy1wcmVmaXgtbWFwLXN1cHBvcnQtdG8tcmVtYXAtc291cmMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQzLWdjYy1maW5hbC5jLWZkZWJ1Zy1wcmVmaXgtbWFwLXN1cHBvcnQtdG8tcmVtYXAtc291cmMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0YTVjODYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0My1nY2MtZmluYWwuYy1mZGVidWctcHJlZml4LW1hcC1zdXBwb3J0LXRvLXJlbWFwLXNvdXJjLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSA1YmM5N2JlMzg4NDg1YTVmOGRkODVkYjM0MzcyYTEyOTliZmZkMjYzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCAyNCBNYXIgMjAxNiAxMToyMzoxNCAtMDQwMAotU3ViamVjdDogW1BBVENIIDQzLzQ3XSBnY2MvZmluYWwuYzogLWZkZWJ1Zy1wcmVmaXgtbWFwIHN1cHBvcnQgdG8gcmVtYXAKLSBzb3VyY2VzIHdpdGggcmVsYXRpdmUgcGF0aAotCi1QUiBvdGhlci83MDQyOAotKiBmaW5hbC5jIChyZW1hcF9kZWJ1Z19maWxlbmFtZSk6IFVzZSBscmVhbHBhdGggdG8gdHJhbnNsYXRlCi1yZWxhdGl2ZSBwYXRoIGJlZm9yZSByZW1hcHBpbmcKLQotaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjgKLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZ10KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gZ2NjL2ZpbmFsLmMgfCAxNSArKysrKysrKysrKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9maW5hbC5jIGIvZ2NjL2ZpbmFsLmMKLWluZGV4IDgyMDE2MmIyZDI4Li5kNzRjYjkwMWFiZCAxMDA2NDQKLS0tLSBhL2djYy9maW5hbC5jCi0rKysgYi9nY2MvZmluYWwuYwotQEAgLTE1NTksMTYgKzE1NTksMjUgQEAgcmVtYXBfZGVidWdfZmlsZW5hbWUgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQotICAgY29uc3QgY2hhciAqbmFtZTsKLSAgIHNpemVfdCBuYW1lX2xlbjsKLSAKLSsgIC8qIFN1cHBvcnQgdG8gcmVtYXAgZmlsZW5hbWUgd2l0aCByZWxhdGl2ZSBwYXRoICAqLwotKyAgY2hhciAqcmVhbHBhdGggPSBscmVhbHBhdGggKGZpbGVuYW1lKTsKLSsgIGlmIChyZWFscGF0aCA9PSBOVUxMKQotKyAgICByZXR1cm4gZmlsZW5hbWU7Ci0rCi0gICBmb3IgKG1hcCA9IGRlYnVnX3ByZWZpeF9tYXBzOyBtYXA7IG1hcCA9IG1hcC0+bmV4dCkKLS0gICAgaWYgKGZpbGVuYW1lX25jbXAgKGZpbGVuYW1lLCBtYXAtPm9sZF9wcmVmaXgsIG1hcC0+b2xkX2xlbikgPT0gMCkKLSsgICAgaWYgKGZpbGVuYW1lX25jbXAgKHJlYWxwYXRoLCBtYXAtPm9sZF9wcmVmaXgsIG1hcC0+b2xkX2xlbikgPT0gMCkKLSAgICAgICBicmVhazsKLSAgIGlmICghbWFwKQotLSAgICByZXR1cm4gZmlsZW5hbWU7Ci0tICBuYW1lID0gZmlsZW5hbWUgKyBtYXAtPm9sZF9sZW47Ci0rICAgIHsKLSsgICAgICBmcmVlIChyZWFscGF0aCk7Ci0rICAgICAgcmV0dXJuIGZpbGVuYW1lOwotKyAgICB9Ci0rICBuYW1lID0gcmVhbHBhdGggKyBtYXAtPm9sZF9sZW47Ci0gICBuYW1lX2xlbiA9IHN0cmxlbiAobmFtZSkgKyAxOwotICAgcyA9IChjaGFyICopIGFsbG9jYSAobmFtZV9sZW4gKyBtYXAtPm5ld19sZW4pOwotICAgbWVtY3B5IChzLCBtYXAtPm5ld19wcmVmaXgsIG1hcC0+bmV3X2xlbik7Ci0gICBtZW1jcHkgKHMgKyBtYXAtPm5ld19sZW4sIG5hbWUsIG5hbWVfbGVuKTsKLSsgIGZyZWUgKHJlYWxwYXRoKTsKLSAgIHJldHVybiBnZ2Nfc3RyZHVwIChzKTsKLSB9Ci0gDAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0NC1saWJnY2MtQWRkLWtub2ItdG8tdXNlLWxkYmwtMTI4LW9uLXBwYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDQtbGliZ2NjLUFkZC1rbm9iLXRvLXVzZS1sZGJsLTEyOC1vbi1wcGMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzOWFmOWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0NC1saWJnY2MtQWRkLWtub2ItdG8tdXNlLWxkYmwtMTI4LW9uLXBwYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNCArMCwwIEBACi1Gcm9tIDg0N2FlYzc2NDU0MDYzNmVjNjU0ZmQ3YTAxMmUyNzFhZmE4ZDRlMGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBBcHIgMjAxNiAyMDowMzoyOCArMDAwMAotU3ViamVjdDogW1BBVENIIDQ0LzQ3XSBsaWJnY2M6IEFkZCBrbm9iIHRvIHVzZSBsZGJsLTEyOCBvbiBwcGMKLQotbXVzbCBkb2VzIG5vdCBzdXBwb3J0IGxkYmwgMTI4IHNvIHdlIGNhbiBub3QgYXNzdW1lCi10aGF0IGxpbnV4IGFzIGEgd2hvbGUgc3VwcG9ydHMgbGRibC0xMjggYml0cywgaW5zdGVhZAotYWN0IHVwb24gY29uZmlndXJlIG9wdGlvbiBwYXNzZWQgdG8gZ2NjIGFuZCBhc3N1bWUgbm8KLW9uIG11c2wgYW5kIHllcyBvdGhlcndpc2UgaWYgbm8gb3B0aW9uIGlzIHBhc3NlZCBzaW5jZQotZGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gYXNzdW1lIGxkYmwxMjggaXQgZG9lcyBub3QKLWNoYW5nZSB0aGUgZGVmYXVsdHMKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbGliZ2NjL01ha2VmaWxlLmluICAgICAgICAgICB8ICAxICsKLSBsaWJnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4IHwgIDUgKysrKy0KLSBsaWJnY2MvY29uZmlndXJlICAgICAgICAgICAgIHwgMTggKysrKysrKysrKysrKysrKysrCi0gbGliZ2NjL2NvbmZpZ3VyZS5hYyAgICAgICAgICB8IDEyICsrKysrKysrKysrKwotIDQgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotIG1vZGUgY2hhbmdlIDEwMDY0NCA9PiAxMDA3NTUgbGliZ2NjL2NvbmZpZ3VyZQotCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL01ha2VmaWxlLmluIGIvbGliZ2NjL01ha2VmaWxlLmluCi1pbmRleCBhMWEzOTJkZTg4ZC4uMmZlNjg4OWEzNDIgMTAwNjQ0Ci0tLS0gYS9saWJnY2MvTWFrZWZpbGUuaW4KLSsrKyBiL2xpYmdjYy9NYWtlZmlsZS5pbgotQEAgLTQ4LDYgKzQ4LDcgQEAgdW53aW5kX2hlYWRlciA9IEB1bndpbmRfaGVhZGVyQAotIG1kX3Vud2luZF9oZWFkZXIgPSBAbWRfdW53aW5kX2hlYWRlckAKLSBzZnBfbWFjaGluZV9oZWFkZXIgPSBAc2ZwX21hY2hpbmVfaGVhZGVyQAotIHRocmVhZF9oZWFkZXIgPSBAdGhyZWFkX2hlYWRlckAKLSt3aXRoX2xkYmwxMjggPSBAd2l0aF9sZGJsMTI4QAotIAotIGhvc3Rfbm9uY2Fub25pY2FsID0gQGhvc3Rfbm9uY2Fub25pY2FsQAotIHJlYWxfaG9zdF9ub25jYW5vbmljYWwgPSBAcmVhbF9ob3N0X25vbmNhbm9uaWNhbEAKLWRpZmYgLS1naXQgYS9saWJnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4IGIvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotaW5kZXggNGY2ZDRjNGE0ZDIuLmM1MGRkOTRhMmRhIDEwMDY0NAotLS0tIGEvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotKysrIGIvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotQEAgLTEsMyArMSw2IEBACi0gU0hMSUJfTUFQRklMRVMgKz0gJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvbGliZ2NjLWdsaWJjLnZlcgotIAotLUhPU1RfTElCR0NDMl9DRkxBR1MgKz0gLW1sb25nLWRvdWJsZS0xMjggLW1uby1taW5pbWFsLXRvYwotK2lmZXEgKCQod2l0aF9sZGJsMTI4KSx5ZXMpCi0rSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbWxvbmctZG91YmxlLTEyOAotK2VuZGlmCi0rSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbW5vLW1pbmltYWwtdG9jCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZ3VyZSBiL2xpYmdjYy9jb25maWd1cmUKLW9sZCBtb2RlIDEwMDY0NAotbmV3IG1vZGUgMTAwNzU1Ci1pbmRleCA0NWM0NTk3ODhjMy4uZTJkMTliMTQ0YjgKLS0tLSBhL2xpYmdjYy9jb25maWd1cmUKLSsrKyBiL2xpYmdjYy9jb25maWd1cmUKLUBAIC02MTgsNiArNjE4LDcgQEAgYnVpbGRfdmVuZG9yCi0gYnVpbGRfY3B1Ci0gYnVpbGQKLSB3aXRoX2FpeF9zb25hbWUKLSt3aXRoX2xkYmwxMjgKLSBlbmFibGVfdnRhYmxlX3ZlcmlmeQotIGVuYWJsZV9zaGFyZWQKLSBsaWJnY2NfdG9wZGlyCi1AQCAtNjY3LDYgKzY2OCw3IEBAIHdpdGhfY3Jvc3NfaG9zdAotIHdpdGhfbGQKLSBlbmFibGVfc2hhcmVkCi0gZW5hYmxlX3Z0YWJsZV92ZXJpZnkKLSt3aXRoX2xvbmdfZG91YmxlXzEyOAotIHdpdGhfYWl4X3NvbmFtZQotIGVuYWJsZV92ZXJzaW9uX3NwZWNpZmljX3J1bnRpbWVfbGlicwotIHdpdGhfc2xpYmRpcgotQEAgLTEzMjQsNiArMTMyNiw3IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgotICAgLS13aXRoLXRhcmdldC1zdWJkaXI9U1VCRElSICAgICAgQ29uZmlndXJpbmcgaW4gYSBzdWJkaXJlY3RvcnkgZm9yIHRhcmdldAotICAgLS13aXRoLWNyb3NzLWhvc3Q9SE9TVCAgICAgICAgICAgQ29uZmlndXJpbmcgd2l0aCBhIGNyb3NzIGNvbXBpbGVyCi0gICAtLXdpdGgtbGQgICAgICAgICAgICAgICBhcnJhbmdlIHRvIHVzZSB0aGUgc3BlY2lmaWVkIGxkIChmdWxsIHBhdGhuYW1lKQotKyAgLS13aXRoLWxvbmctZG91YmxlLTEyOCAgdXNlIDEyOC1iaXQgbG9uZyBkb3VibGUgYnkgZGVmYXVsdAotICAgLS13aXRoLWFpeC1zb25hbWU9YWl4fHN2cjR8Ym90aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkIGxpYnJhcnkgdmVyc2lvbmluZyAoYWthICJTT05BTUUiKSB2YXJpYW50IHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlIG9uIEFJWAotQEAgLTIyMDgsNiArMjIxMSwyMSBAQCBmaQotIAotIAotIAotKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtbG9uZy1kb3VibGUtMTI4IHdhcyBnaXZlbi4KLStpZiB0ZXN0ICIke3dpdGhfbG9uZ19kb3VibGVfMTI4K3NldH0iID0gc2V0OyB0aGVuIDoKLSsgIHdpdGh2YWw9JHdpdGhfbG9uZ19kb3VibGVfMTI4OyB3aXRoX2xkYmwxMjg9IiR3aXRoX2xvbmdfZG91YmxlXzEyOCIKLStlbHNlCi0rICBjYXNlICIke2hvc3R9IiBpbgotKyBwb3dlciotKi1tdXNsKikKLSsgICB3aXRoX2xkYmwxMjg9Im5vIjs7Ci0rICopIHdpdGhfbGRibDEyOD0ieWVzIjs7Ci0rIGVzYWMKLSsKLStmaQotKwotKwotKwotKwotICMgQ2hlY2sgd2hldGhlciAtLXdpdGgtYWl4LXNvbmFtZSB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHt3aXRoX2FpeF9zb25hbWUrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAgd2l0aHZhbD0kd2l0aF9haXhfc29uYW1lOyBjYXNlICIke2hvc3R9OiR7ZW5hYmxlX3NoYXJlZH0iIGluCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZ3VyZS5hYyBiL2xpYmdjYy9jb25maWd1cmUuYWMKLWluZGV4IGFmMTUxNDczNzA5Li5kYWRhNTI0MTZkYSAxMDA2NDQKLS0tLSBhL2xpYmdjYy9jb25maWd1cmUuYWMKLSsrKyBiL2xpYmdjYy9jb25maWd1cmUuYWMKLUBAIC03Nyw2ICs3NywxOCBAQCBBQ19BUkdfRU5BQkxFKHZ0YWJsZS12ZXJpZnksCi0gW2VuYWJsZV92dGFibGVfdmVyaWZ5PW5vXSkKLSBBQ19TVUJTVChlbmFibGVfdnRhYmxlX3ZlcmlmeSkKLSAKLStBQ19BUkdfV0lUSChsb25nLWRvdWJsZS0xMjgsCi0rW0FTX0hFTFBfU1RSSU5HKFstLXdpdGgtbG9uZy1kb3VibGUtMTI4XSwKLSsgICAgW3VzZSAxMjgtYml0IGxvbmcgZG91YmxlIGJ5IGRlZmF1bHRdKV0sCi0rICAgICAgd2l0aF9sZGJsMTI4PSIkd2l0aF9sb25nX2RvdWJsZV8xMjgiLAotK1tjYXNlICIke2hvc3R9IiBpbgotKyBwb3dlciotKi1tdXNsKikKLSsgICB3aXRoX2xkYmwxMjg9Im5vIjs7Ci0rICopIHdpdGhfbGRibDEyOD0ieWVzIjs7Ci0rIGVzYWMKLStdKQotK0FDX1NVQlNUKHdpdGhfbGRibDEyOCkKLSsKLSBBQ19BUkdfV0lUSChhaXgtc29uYW1lLAotIFtBU19IRUxQX1NUUklORyhbLS13aXRoLWFpeC1zb25hbWU9YWl4fHN2cjR8Ym90aF0sCi0gICAgIFtzaGFyZWQgbGlicmFyeSB2ZXJzaW9uaW5nIChha2EgIlNPTkFNRSIpIHZhcmlhbnQgdG8gcHJvdmlkZSBvbiBBSVhdKV0sCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQ1LUxpbmstbGliZ2NjLXVzaW5nLUxERkxBR1Mtbm90LWp1c3QtU0hMSUJfTERGTEFHUy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDUtTGluay1saWJnY2MtdXNpbmctTERGTEFHUy1ub3QtanVzdC1TSExJQl9MREZMQUdTLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYWEwMzhjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDUtTGluay1saWJnY2MtdXNpbmctTERGTEFHUy1ub3QtanVzdC1TSExJQl9MREZMQUdTLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRnJvbSA5MmJlYjg4M2FiNTdhMjNhMzViYTc2YzQ5NmJjMWY0Y2FiYjE2OTBlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgNCBNYXkgMjAxNiAyMToxMTozNCAtMDcwMAotU3ViamVjdDogW1BBVENIIDQ1LzQ3XSBMaW5rIGxpYmdjYyB1c2luZyBMREZMQUdTLCBub3QganVzdCBTSExJQl9MREZMQUdTCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxpYmdjYy9jb25maWcvdC1zbGliZ2NjIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MgYi9saWJnY2MvY29uZmlnL3Qtc2xpYmdjYwotaW5kZXggNzZiZTc3MTA5NjAuLmExZWUyZWUyNmVkIDEwMDY0NAotLS0tIGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MKLSsrKyBiL2xpYmdjYy9jb25maWcvdC1zbGliZ2NjCi1AQCAtMzIsNyArMzIsNyBAQCBTSExJQl9JTlNUQUxMX1NPTElOSyA9ICQoTE5fUykgJChTSExJQl9TT05BTUUpIFwKLSAJJChERVNURElSKSQoc2xpYmRpcikkKFNITElCX1NMSUJESVJfUVVBTCkvJChTSExJQl9TT0xJTkspCi0gCi0gU0hMSUJfTElOSyA9ICQoQ0MpICQoTElCR0NDMl9DRkxBR1MpIC1zaGFyZWQgLW5vZGVmYXVsdGxpYnMgXAotLQkkKFNITElCX0xERkxBR1MpIFwKLSsJJChMREZMQUdTKSAkKFNITElCX0xERkxBR1MpIFwKLSAJLW8gJChTSExJQl9ESVIpLyQoU0hMSUJfU09OQU1FKS50bXAgQG11bHRpbGliX2ZsYWdzQCBcCi0gCSQoU0hMSUJfT0JKUykgJChTSExJQl9MQykgJiYgXAotIAlybSAtZiAkKFNITElCX0RJUikvJChTSExJQl9TT0xJTkspICYmIFwKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDctc3luYy1nY2Mtc3RkZGVmLmgtd2l0aC1tdXNsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0Ny1zeW5jLWdjYy1zdGRkZWYuaC13aXRoLW11c2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1ZDIyZjEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0Ny1zeW5jLWdjYy1zdGRkZWYuaC13aXRoLW11c2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi1Gcm9tIDliOTUxYzhmNmIwYWFmZjdjMTZkYzRkYjcyYjVlNTZlYzczODEwYmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAzIEZlYiAyMDE3IDEyOjU2OjAwIC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggNDcvNDddIHN5bmMgZ2NjIHN0ZGRlZi5oIHdpdGggbXVzbAotCi1tdXNsIGRlZmluZXMgcHRyZGlmZl90IHNpemVfdCBhbmQgd2NoYXJfdAotc28gZG9udCBkZWZpbmUgdGhlbSBoZXJlIGlmIG11c2wgaXMgZGVmaW5pbmluZyB0aGVtCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UtU3BlY2lmaWNdCi0KLSBnY2MvZ2luY2x1ZGUvc3RkZGVmLmggfCA5ICsrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2djYy9naW5jbHVkZS9zdGRkZWYuaCBiL2djYy9naW5jbHVkZS9zdGRkZWYuaAotaW5kZXggODcyZjQ1MWNhYzkuLjdlOTA5MzgzODdjIDEwMDY0NAotLS0tIGEvZ2NjL2dpbmNsdWRlL3N0ZGRlZi5oCi0rKysgYi9nY2MvZ2luY2x1ZGUvc3RkZGVmLmgKLUBAIC0xMzQsNiArMTM0LDcgQEAgX1RZUEVfd2NoYXJfdDsKLSAjaWZuZGVmIF9fX2ludF9wdHJkaWZmX3RfaAotICNpZm5kZWYgX0dDQ19QVFJESUZGX1QKLSAjaWZuZGVmIF9QVFJESUZGX1RfREVDTEFSRUQgLyogRHJhZ29uRmx5ICovCi0rI2lmbmRlZiBfX0RFRklORURfcHRyZGlmZl90IC8qIG11c2wgKi8KLSAjZGVmaW5lIF9QVFJESUZGX1QKLSAjZGVmaW5lIF9UX1BUUkRJRkZfCi0gI2RlZmluZSBfVF9QVFJESUZGCi1AQCAtMTQzLDEwICsxNDQsMTIgQEAgX1RZUEVfd2NoYXJfdDsKLSAjZGVmaW5lIF9fX2ludF9wdHJkaWZmX3RfaAotICNkZWZpbmUgX0dDQ19QVFJESUZGX1QKLSAjZGVmaW5lIF9QVFJESUZGX1RfREVDTEFSRUQKLSsjZGVmaW5lIF9fREVGSU5FRF9wdHJkaWZmX3QgLyogbXVzbCAqLwotICNpZm5kZWYgX19QVFJESUZGX1RZUEVfXwotICNkZWZpbmUgX19QVFJESUZGX1RZUEVfXyBsb25nIGludAotICNlbmRpZgotIHR5cGVkZWYgX19QVFJESUZGX1RZUEVfXyBwdHJkaWZmX3Q7Ci0rI2VuZGlmIC8qIF9fREVGSU5FRF9wdHJkaWZmX3QgKi8KLSAjZW5kaWYgLyogX1BUUkRJRkZfVF9ERUNMQVJFRCAqLwotICNlbmRpZiAvKiBfR0NDX1BUUkRJRkZfVCAqLwotICNlbmRpZiAvKiBfX19pbnRfcHRyZGlmZl90X2ggKi8KLUBAIC0xODQsNiArMTg3LDcgQEAgdHlwZWRlZiBfX1BUUkRJRkZfVFlQRV9fIHB0cmRpZmZfdDsKLSAjaWZuZGVmIF9HQ0NfU0laRV9UCi0gI2lmbmRlZiBfU0laRVRfCi0gI2lmbmRlZiBfX3NpemVfdAotKyNpZm5kZWYgX19ERUZJTkVEX3NpemVfdCAvKiBtdXNsICovCi0gI2RlZmluZSBfX3NpemVfdF9fCS8qIEJlT1MgKi8KLSAjZGVmaW5lIF9fU0laRV9UX18JLyogQ3JheSBVbmljb3MvTWsgKi8KLSAjZGVmaW5lIF9TSVpFX1QKLUBAIC0yMDAsNiArMjA0LDcgQEAgdHlwZWRlZiBfX1BUUkRJRkZfVFlQRV9fIHB0cmRpZmZfdDsKLSAjZGVmaW5lIF9fX2ludF9zaXplX3RfaAotICNkZWZpbmUgX0dDQ19TSVpFX1QKLSAjZGVmaW5lIF9TSVpFVF8KLSsjZGVmaW5lIF9fREVGSU5FRF9zaXplX3QgLyogbXVzbCAqLwotICNpZiAoZGVmaW5lZCAoX19GcmVlQlNEX18pICYmIChfX0ZyZWVCU0RfXyA+PSA1KSkgXAotICAgfHwgZGVmaW5lZChfX0RyYWdvbkZseV9fKSBcCi0gICB8fCBkZWZpbmVkKF9fRnJlZUJTRF9rZXJuZWxfXykKLUBAIC0yMzUsNiArMjQwLDcgQEAgdHlwZWRlZiBsb25nIHNzaXplX3Q7Ci0gI2VuZGlmIC8qIF9TSVpFX1QgKi8KLSAjZW5kaWYgLyogX19TSVpFX1RfXyAqLwotICNlbmRpZiAvKiBfX3NpemVfdF9fICovCi0rI2VuZGlmIC8qIF9fREVGSU5FRF9zaXplX3QgKi8KLSAjdW5kZWYJX19uZWVkX3NpemVfdAotICNlbmRpZiAvKiBfU1REREVGX0ggb3IgX19uZWVkX3NpemVfdC4gICovCi0gCi1AQCAtMjY0LDYgKzI3MCw3IEBAIHR5cGVkZWYgbG9uZyBzc2l6ZV90OwotICNpZm5kZWYgX19faW50X3djaGFyX3RfaAotICNpZm5kZWYgX19JTlRfV0NIQVJfVF9ICi0gI2lmbmRlZiBfR0NDX1dDSEFSX1QKLSsjaWZuZGVmIF9fREVGSU5FRF93Y2hhcl90IC8qIG11c2wgKi8KLSAjZGVmaW5lIF9fd2NoYXJfdF9fCS8qIEJlT1MgKi8KLSAjZGVmaW5lIF9fV0NIQVJfVF9fCS8qIENyYXkgVW5pY29zL01rICovCi0gI2RlZmluZSBfV0NIQVJfVAotQEAgLTI3OSw2ICsyODYsNyBAQCB0eXBlZGVmIGxvbmcgc3NpemVfdDsKLSAjZGVmaW5lIF9fSU5UX1dDSEFSX1RfSAotICNkZWZpbmUgX0dDQ19XQ0hBUl9UCi0gI2RlZmluZSBfV0NIQVJfVF9ERUNMQVJFRAotKyNkZWZpbmUgX19ERUZJTkVEX3djaGFyX3QgLyogbXVzbCAqLwotIAotIC8qIE9uIEJTRC8zODYgMS4xLCBhdCBsZWFzdCwgbWFjaGluZS9hbnNpLmggZGVmaW5lcyBfQlNEX1dDSEFSX1RfCi0gICAgaW5zdGVhZCBvZiBfV0NIQVJfVF8sIGFuZCBfQlNEX1JVTkVfVF8gKHdoaWNoLCB1bmxpa2UgdGhlIG90aGVyCi1AQCAtMzQ0LDYgKzM1Miw3IEBAIHR5cGVkZWYgX19XQ0hBUl9UWVBFX18gd2NoYXJfdDsKLSAjZW5kaWYKLSAjZW5kaWYgLyogX19XQ0hBUl9UX18gKi8KLSAjZW5kaWYgLyogX193Y2hhcl90X18gKi8KLSsjZW5kaWYgLyogX19ERUZJTkVEX3djaGFyX3QgbXVzbCAqLwotICN1bmRlZglfX25lZWRfd2NoYXJfdAotICNlbmRpZiAvKiBfU1REREVGX0ggb3IgX19uZWVkX3djaGFyX3QuICAqLwotIAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0OC1nY2MtRW5hYmxlLXN0YXRpYy1QSUUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQ4LWdjYy1FbmFibGUtc3RhdGljLVBJRS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTk2ZTkxMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQ4LWdjYy1FbmFibGUtc3RhdGljLVBJRS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLUZyb20gNDRlZjgwNjg4YjU2YmVlYTg1YzAwNzA4NDBkZWExZTJhNGUzNGFlZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDEzIEp1biAyMDE3IDEyOjEyOjUyIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggNDkvNDldIGdjYzogRW5hYmxlIHN0YXRpYyBQSUUKLQotU3RhdGljIFBJRSBzdXBwb3J0IGluIEdDQwotc2VlCi1odHRwczovL2djYy5nbnUub3JnL21sL2djYy8yMDE1LTA2L21zZzAwMDA4Lmh0bWwKLQotc3RhcnRmaWxlcyBiZWZvcmUgcGF0Y2g6Ci0gLXN0YXRpYyAtPiBjcnQxLm8gY3J0aS5vIGNydGJlZ2luVC5vCi0gLXN0YXRpYyAtUElFIC0+IGNydDEubyBjcnRpLm8gY3J0YmVnaW5ULm8KLSAKLWFmdGVyIHBhdGNoOgotIC1zdGF0aWMgLT4gY3J0MS5vIGNydGkubyBjcnRiZWdpblQubwotIC1zdGF0aWMgLVBJRSAtPiByY3J0MS5vIGNydGkubyBjcnRiZWdpblMubwotIAotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEp1cm8gQnlzdHJpY2t5IDxqdXJvLmJ5c3RyaWNreUBpbnRlbC5jb20+Ci0KLS0tLQotIGdjYy9jb25maWcvZ251LXVzZXIuaCB8IDYgKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvZ251LXVzZXIuaCBiL2djYy9jb25maWcvZ251LXVzZXIuaAotaW5kZXggZGU2MDViMC4uYjAzNWJiZSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvZ251LXVzZXIuaAotKysrIGIvZ2NjL2NvbmZpZy9nbnUtdXNlci5oCi1AQCAtNTIsMTEgKzUyLDExIEBAIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZQotICNkZWZpbmUgR05VX1VTRVJfVEFSR0VUX1NUQVJURklMRV9TUEVDIFwKLSAgICIle3NoYXJlZDo7IFwKLSAgICAgIHBnfHB8cHJvZmlsZTpnY3J0MS5vJXM7IFwKLS0gICAgIHN0YXRpYzpjcnQxLm8lczsgXAotKyAgICAgc3RhdGljOiAleyIgUElFX1NQRUMgIjogcmNydDEubyVzOyA6Y3J0MS5vJXN9OyBcCi0gICAgICAiIFBJRV9TUEVDICI6U2NydDEubyVzOyBcCi0gICAgICA6Y3J0MS5vJXN9IFwKLSAgICBjcnRpLm8lcyBcCi0tICAgJXtzdGF0aWM6Y3J0YmVnaW5ULm8lczsgXAotKyAgICV7c3RhdGljOiAleyIgUElFX1NQRUMgIjogY3J0YmVnaW5TLm8lczsgOmNydGJlZ2luVC5vJXN9OyBcCi0gICAgICBzaGFyZWR8IiBQSUVfU1BFQyAiOmNydGJlZ2luUy5vJXM7IFwKLSAgICAgIDpjcnRiZWdpbi5vJXN9IFwKLSAgICAle2Z2dGFibGUtdmVyaWZ5PW5vbmU6JXM7IFwKLQotMi4xMy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDktZ2NjLW92ZXJyaWRlLVRBUkdFVF9MSUJDX1BST1ZJREVTX1NTUC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDktZ2NjLW92ZXJyaWRlLVRBUkdFVF9MSUJDX1BST1ZJREVTX1NTUC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2M1M2M5NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQ5LWdjYy1vdmVycmlkZS1UQVJHRVRfTElCQ19QUk9WSURFU19TU1AucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMDQgKzAsMCBAQAotRnJvbSA5ODE1YmQ5NzU2MWM3NzhlZTBiYzBjMTdmMjQ1ZTg4ZTY2NTcwMTExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogc2FuZHJhIDxzYW5kcmFAMTM4YmM3NWQtMGQwNC0wNDEwLTk2MWYtODJlZTcyYjA1NGE0PgotRGF0ZTogV2VkLCAxIE5vdiAyMDE3IDAyOjE0OjE5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIDIwMTctMTAtMzEgIFNhbmRyYSBMb29zZW1vcmUgIDxzYW5kcmFAY29kZXNvdXJjZXJ5LmNvbT4KLQotCWdjYy8KLQkqIGNvbmZpZ3VyZS5hYyAoLS1lbmFibGUtbGlic3NwKTogTmV3LgotCShnY2NfY3ZfbGliY19wcm92aWRlc19zc3ApOiBDaGVjayBmb3IgZXhwbGljaXQgc2V0dGluZyBiZWZvcmUKLQl0cnlpbmcgdG8gZGV0ZXJtaW5lIHRhcmdldC1zcGVjaWZpYyBkZWZhdWx0LiAgQWRqdXN0IGluZGVudGF0aW9uLgotCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KLQkqIGRvYy9pbnN0YWxsLnRleGkgKENvbmZpZ3VyYXRpb24pOiBFeHBhbmQgLS1kaXNhYmxlLWxpYnNzcAotCWRvY3VtZW50YXRpb24uCi0KLQotZ2l0LXN2bi1pZDogc3ZuK3NzaDovL2djYy5nbnUub3JnL3N2bi9nY2MvdHJ1bmtAMjU0Mjg4IDEzOGJjNzVkLTBkMDQtMDQxMC05NjFmLTgyZWU3MmIwNTRhNAotLS0tCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9wYXRjaHdvcmsub3psYWJzLm9yZy9wYXRjaC84MjMwNDkvXQotCi0gZ2NjL0NoYW5nZUxvZyAgICAgICAgfCAgOSArKysrKysrKysKLSBnY2MvY29uZmlndXJlICAgICAgICB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrLS0tCi0gZ2NjL2NvbmZpZ3VyZS5hYyAgICAgfCAyNCArKysrKysrKysrKysrKysrKysrKy0tLS0KLSBnY2MvZG9jL2luc3RhbGwudGV4aSB8ICAzICsrLQotIDQgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKLQotSW5kZXg6IGdjYy03LjMuMC9nY2MvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2NjLTcuMy4wLm9yaWcvZ2NjL2NvbmZpZ3VyZS5hYwotKysrIGdjYy03LjMuMC9nY2MvY29uZmlndXJlLmFjCi1AQCAtNTcxOSwxMCArNTcxOSwyNSBAQCBpZiB0ZXN0IHgkZ2NjX2N2X3NvbGFyaXNfY3J0cyA9IHh5ZXM7IHRoCi0gICAJICAgIFtEZWZpbmUgaWYgdGhlIHN5c3RlbS1wcm92aWRlZCBDUlRzIGFyZSBwcmVzZW50IG9uIFNvbGFyaXMuXSkKLSBmaQotIAotK0FDX0FSR19FTkFCTEUobGlic3NwLAotK1tBU19IRUxQX1NUUklORyhbLS1lbmFibGUtbGlic3NwXSwgW2VuYWJsZSBsaW5raW5nIGFnYWluc3QgbGlic3NwXSldLAotK1tjYXNlICIke2VuYWJsZXZhbH0iIGluCi0rICB5ZXN8bm8pCi0rICAgIDs7Ci0rICAqKQotKyAgICBBQ19NU0dfRVJST1IoW3Vua25vd24gbGlic3NwIHNldHRpbmcgJGVuYWJsZXZhbF0pCi0rICAgIDs7Ci0rZXNhY10sIFtdKQotKwotICMgVGVzdCBmb3Igc3RhY2sgcHJvdGVjdG9yIHN1cHBvcnQgaW4gdGFyZ2V0IEMgbGlicmFyeS4KLSBBQ19DQUNIRV9DSEVDSyhfX3N0YWNrX2Noa19mYWlsIGluIHRhcmdldCBDIGxpYnJhcnksCi0tICAgICAgZ2NjX2N2X2xpYmNfcHJvdmlkZXNfc3NwLAotLSAgICAgIFtnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9bm8KLSsgIGdjY19jdl9saWJjX3Byb3ZpZGVzX3NzcCwKLSsgIFtnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9bm8KLSsgIGlmIHRlc3QgIngkZW5hYmxlX2xpYnNzcCIgPSAieG5vIjsgdGhlbgotKyAgICBnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9eWVzCi0rICBlbGlmIHRlc3QgIngkZW5hYmxlX2xpYnNzcCIgPSAieHllcyI7IHRoZW4KLSsgICAgZ2NjX2N2X2xpYmNfcHJvdmlkZXNfc3NwPW5vCi0rICBlbHNlCi0gICAgIGNhc2UgIiR0YXJnZXQiIGluCi0gICAgICAgICotKi1tdXNsKikKLSAJICMgQWxsIHZlcnNpb25zIG9mIG11c2wgcHJvdmlkZSBzdGFjayBwcm90ZWN0b3IKLUBAIC01NzU5LDggKzU3NzQsOSBAQCBBQ19DQUNIRV9DSEVDSyhfX3N0YWNrX2Noa19mYWlsIGluIHRhcmdlCi0gCSBBQ19DSEVDS19GVU5DKF9fc3RhY2tfY2hrX2ZhaWwsW2djY19jdl9saWJjX3Byb3ZpZGVzX3NzcD15ZXNdLAotICAgICAgICAgICAgW2VjaG8gIm5vIF9fc3RhY2tfY2hrX2ZhaWwgb24gdGhpcyB0YXJnZXQiXSkKLSAgICAgICAgIDs7Ci0tICAqKSBnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9bm8gOzsKLS0gICAgZXNhY10pCi0rICAgICAgICopIGdjY19jdl9saWJjX3Byb3ZpZGVzX3NzcD1ubyA7OwotKyAgICBlc2FjCi0rICBmaV0pCi0gCi0gaWYgdGVzdCB4JGdjY19jdl9saWJjX3Byb3ZpZGVzX3NzcCA9IHh5ZXM7IHRoZW4KLSAgIEFDX0RFRklORShUQVJHRVRfTElCQ19QUk9WSURFU19TU1AsIDEsCi1JbmRleDogZ2NjLTcuMy4wL2djYy9kb2MvaW5zdGFsbC50ZXhpCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2NjLTcuMy4wLm9yaWcvZ2NjL2RvYy9pbnN0YWxsLnRleGkKLSsrKyBnY2MtNy4zLjAvZ2NjL2RvYy9pbnN0YWxsLnRleGkKLUBAIC0xNjU4LDcgKzE2NTgsOCBAQCBub3QgYmUgYnVpbHQuCi0gCi0gQGl0ZW0gLS1kaXNhYmxlLWxpYnNzcAotIFNwZWNpZnkgdGhhdCB0aGUgcnVuLXRpbWUgbGlicmFyaWVzIGZvciBzdGFjayBzbWFzaGluZyBwcm90ZWN0aW9uCi0tc2hvdWxkIG5vdCBiZSBidWlsdC4KLStzaG91bGQgbm90IGJlIGJ1aWx0IG9yIGxpbmtlZCBhZ2FpbnN0LiAgT24gbWFueSB0YXJnZXRzIGxpYnJhcnkgc3VwcG9ydAotK2lzIHByb3ZpZGVkIGJ5IHRoZSBDIGxpYnJhcnkgaW5zdGVhZC4KLSAKLSBAaXRlbSAtLWRpc2FibGUtbGlicXVhZG1hdGgKLSBTcGVjaWZ5IHRoYXQgdGhlIEdDQyBxdWFkLXByZWNpc2lvbiBtYXRoIGxpYnJhcnkgc2hvdWxkIG5vdCBiZSBidWlsdC4KLUluZGV4OiBnY2MtNy4zLjAvZ2NjL2NvbmZpZ3VyZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdjYy03LjMuMC5vcmlnL2djYy9jb25maWd1cmUKLSsrKyBnY2MtNy4zLjAvZ2NjL2NvbmZpZ3VyZQotQEAgLTk0MCw2ICs5NDAsNyBAQCBlbmFibGVfZml4X2NvcnRleF9hNTNfODQzNDE5Ci0gd2l0aF9nbGliY192ZXJzaW9uCi0gZW5hYmxlX2dudV91bmlxdWVfb2JqZWN0Ci0gZW5hYmxlX2xpbmtlcl9idWlsZF9pZAotK2VuYWJsZV9saWJzc3AKLSBlbmFibGVfZGVmYXVsdF9zc3AKLSB3aXRoX2xvbmdfZG91YmxlXzEyOAotIHdpdGhfZ2MKLUBAIC0xNjc5LDYgKzE2ODAsNyBAQCBPcHRpb25hbCBGZWF0dXJlczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbiBvbiBnbGliYyBzeXN0ZW1zCi0gICAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVyIHdpbGwgYWx3YXlzIHBhc3MgLS1idWlsZC1pZCB0byBsaW5rZXIKLSsgIC0tZW5hYmxlLWxpYnNzcCAgICAgICAgIGVuYWJsZSBsaW5raW5nIGFnYWluc3QgbGlic3NwCi0gICAtLWVuYWJsZS1kZWZhdWx0LXNzcCAgICBlbmFibGUgU3RhY2sgU21hc2hpbmcgUHJvdGVjdGlvbiBhcyBkZWZhdWx0Ci0gICAtLWVuYWJsZS1tYWludGFpbmVyLW1vZGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSBtYWtlIHJ1bGVzIGFuZCBkZXBlbmRlbmNpZXMgbm90IHVzZWZ1bCAoYW5kCi1AQCAtMTg0NTAsNyArMTg0NTIsNyBAQCBlbHNlCi0gICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCi0gICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgotICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PF9MVF9FT0YKLS0jbGluZSAxODQzNiAiY29uZmlndXJlIgotKyNsaW5lIDE4NDU1ICJjb25maWd1cmUiCi0gI2luY2x1ZGUgImNvbmZkZWZzLmgiCi0gCi0gI2lmIEhBVkVfRExGQ05fSAotQEAgLTE4NTU2LDcgKzE4NTU4LDcgQEAgZWxzZQotICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgotICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KLSAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0tI2xpbmUgMTg1NDIgImNvbmZpZ3VyZSIKLSsjbGluZSAxODU2MSAiY29uZmlndXJlIgotICNpbmNsdWRlICJjb25mZGVmcy5oIgotIAotICNpZiBIQVZFX0RMRkNOX0gKLUBAIC0yNTIzNCw2ICsyNTIzNiw3IEBAICRhc19lY2hvICIjZGVmaW5lIEhBVkVfQVNfU1BBUkM1X1ZJUzQgMSIKLSAKLSBmaQotIAotKwotICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGFzc2VtYmxlciBmb3IgU1BBUkM2IGluc3RydWN0aW9ucyIgPiY1Ci0gJGFzX2VjaG9fbiAiY2hlY2tpbmcgYXNzZW1ibGVyIGZvciBTUEFSQzYgaW5zdHJ1Y3Rpb25zLi4uICIgPiY2OyB9Ci0gaWYgdGVzdCAiJHtnY2NfY3ZfYXNfc3BhcmNfc3BhcmM2K3NldH0iID0gc2V0OyB0aGVuIDoKLUBAIC0yNTI3MCw2ICsyNTI3Myw3IEBAICRhc19lY2hvICIjZGVmaW5lIEhBVkVfQVNfU1BBUkM2IDEiID4+Y28KLSAKLSBmaQotIAotKwotICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGFzc2VtYmxlciBmb3IgTEVPTiBpbnN0cnVjdGlvbnMiID4mNQotICRhc19lY2hvX24gImNoZWNraW5nIGFzc2VtYmxlciBmb3IgTEVPTiBpbnN0cnVjdGlvbnMuLi4gIiA+JjY7IH0KLSBpZiB0ZXN0ICIke2djY19jdl9hc19zcGFyY19sZW9uK3NldH0iID0gc2V0OyB0aGVuIDoKLUBAIC0yODk0Nyw2ICsyODk1MSwxOCBAQCAkYXNfZWNobyAiI2RlZmluZSBIQVZFX1NPTEFSSVNfQ1JUUyAxIiA+Ci0gCi0gZmkKLSAKLSsjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbGlic3NwIHdhcyBnaXZlbi4KLStpZiB0ZXN0ICIke2VuYWJsZV9saWJzc3Arc2V0fSIgPSBzZXQ7IHRoZW4gOgotKyAgZW5hYmxldmFsPSRlbmFibGVfbGlic3NwOyBjYXNlICIke2VuYWJsZXZhbH0iIGluCi0rICB5ZXN8bm8pCi0rICAgIDs7Ci0rICAqKQotKyAgICBhc19mbl9lcnJvciAidW5rbm93biBsaWJzc3Agc2V0dGluZyAkZW5hYmxldmFsIiAiJExJTkVOTyIgNQotKyAgICA7OwotK2VzYWMKLStmaQotKwotKwotICMgVGVzdCBmb3Igc3RhY2sgcHJvdGVjdG9yIHN1cHBvcnQgaW4gdGFyZ2V0IEMgbGlicmFyeS4KLSB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIF9fc3RhY2tfY2hrX2ZhaWwgaW4gdGFyZ2V0IEMgbGlicmFyeSIgPiY1Ci0gJGFzX2VjaG9fbiAiY2hlY2tpbmcgX19zdGFja19jaGtfZmFpbCBpbiB0YXJnZXQgQyBsaWJyYXJ5Li4uICIgPiY2OyB9Ci1AQCAtMjg5NTQsNiArMjg5NzAsMTEgQEAgaWYgdGVzdCAiJHtnY2NfY3ZfbGliY19wcm92aWRlc19zc3Arc2V0fQotICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLSBlbHNlCi0gICBnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9bm8KLSsgIGlmIHRlc3QgIngkZW5hYmxlX2xpYnNzcCIgPSAieG5vIjsgdGhlbgotKyAgICBnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9eWVzCi0rICBlbGlmIHRlc3QgIngkZW5hYmxlX2xpYnNzcCIgPSAieHllcyI7IHRoZW4KLSsgICAgZ2NjX2N2X2xpYmNfcHJvdmlkZXNfc3NwPW5vCi0rICBlbHNlCi0gICAgIGNhc2UgIiR0YXJnZXQiIGluCi0gICAgICAgICotKi1tdXNsKikKLSAJICMgQWxsIHZlcnNpb25zIG9mIG11c2wgcHJvdmlkZSBzdGFjayBwcm90ZWN0b3IKLUBAIC0yOTAwMSw4ICsyOTAyMiw5IEBAIGVsc2UKLSBmaQotIAotICAgICAgICAgOzsKLS0gICopIGdjY19jdl9saWJjX3Byb3ZpZGVzX3NzcD1ubyA7OwotKyAgICAgICAqKSBnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9bm8gOzsKLSAgICAgZXNhYwotKyAgZmkKLSBmaQotIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkZ2NjX2N2X2xpYmNfcHJvdmlkZXNfc3NwIiA+JjUKLSAkYXNfZWNobyAiJGdjY19jdl9saWJjX3Byb3ZpZGVzX3NzcCIgPiY2OyB9Ci1AQCAtMjkwMzcsMTggKzI5MDU5LDE1IEBAIGZpCi0gCi0gCi0gIyBUZXN0IGZvciA8c3lzL3NkdC5oPiBvbiB0aGUgdGFyZ2V0LgotLQotLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgc3lzL3NkdC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5IiA+JjUKLS0kYXNfZWNob19uICJjaGVja2luZyBzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkuLi4gIiA+JjY7IH0KLS1oYXZlX3N5c19zZHRfaD1ubwotKyNHQ0NfVEFSR0VUX1RFTVBMQVRFKFtIQVZFX1NZU19TRFRfSF0pCi0rI0FDX01TR19DSEVDS0lORyhzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkpCi0rI2hhdmVfc3lzX3NkdF9oPW5vCi0gI2lmIHRlc3QgLWYgJHRhcmdldF9oZWFkZXJfZGlyL3N5cy9zZHQuaDsgdGhlbgotICMgIGhhdmVfc3lzX3NkdF9oPXllcwotLSMKLS0jJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9TWVNfU0RUX0ggMSIgPj5jb25mZGVmcy5oCi0tIwotKyMgIEFDX0RFRklORShIQVZFX1NZU19TRFRfSCwgMSwKLSsjICAgICAgICAgICAgW0RlZmluZSBpZiB5b3VyIHRhcmdldCBDIGxpYnJhcnkgcHJvdmlkZXMgc3lzL3NkdC5oXSkKLSAjZmkKLS17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGhhdmVfc3lzX3NkdF9oIiA+JjUKLS0kYXNfZWNobyAiJGhhdmVfc3lzX3NkdF9oIiA+JjY7IH0KLSsjQUNfTVNHX1JFU1VMVCgkaGF2ZV9zeXNfc2R0X2gpCi0gCi0gIyBDaGVjayBpZiBURm1vZGUgbG9uZyBkb3VibGUgc2hvdWxkIGJlIHVzZWQgYnkgZGVmYXVsdCBvciBub3QuCi0gIyBTb21lIGdsaWJjIHRhcmdldHMgdXNlZCBERm1vZGUgbG9uZyBkb3VibGUsIGJ1dCB3aXRoIGdsaWJjIDIuNApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvZml4LXNlZ21lbnRhdGlvbi1mYXVsdC1wcmVjb21waWxlZC1oZHIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy9maXgtc2VnbWVudGF0aW9uLWZhdWx0LXByZWNvbXBpbGVkLWhkci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzBhZGVmNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy9maXgtc2VnbWVudGF0aW9uLWZhdWx0LXByZWNvbXBpbGVkLWhkci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLQotUHJldmVudCBhIHNlZ21lbnRhdGlvbiBmYXVsdCB3aGljaCBvY2N1cnMgd2hlbiB1c2luZyBpbmNvcnJlY3QKLXN0cnVjdHVyZSB0cnlpbmcgdG8gYWNjZXNzIG5hbWUgb2Ygc29tZSBuYW1lZCBvcGVyYXRvcnMsIHN1Y2ggYXMgCi1DUFBfTk9ULCBDUFBfQU5EIGV0Yy4gInRva2VuLT52YWwubm9kZS5zcGVsbGluZyIgY2Fubm90IGJlIHVzZWQgaW4KLXRob3NlIGNhc2VzLCBhcyBpcyBtYXkgbm90IGJlIGluaXRpYWxpemVkIGF0IGFsbC4KLQotCi1bWU9DVE8gIzExNzM4XQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlzdHJpY2t5QGludGVsLmNvbT4KLQotZGlmZiAtLWdpdCBhL2xpYmNwcC9sZXguYyBiL2xpYmNwcC9sZXguYwotLS0tIGEvbGliY3BwL2xleC5jCi0rKysgYi9saWJjcHAvbGV4LmMKLUBAIC0zMjI5LDExICszMjI5LDI3IEBACi0gICAgIHNwZWxsX2lkZW50OgotICAgICBjYXNlIFNQRUxMX0lERU5UOgotICAgICAgIGlmIChmb3JzdHJpbmcpCi0tCXsKLS0JICBtZW1jcHkgKGJ1ZmZlciwgTk9ERV9OQU1FICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpLAotLQkJICBOT0RFX0xFTiAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKSk7Ci0tCSAgYnVmZmVyICs9IE5PREVfTEVOICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpOwotLQl9Ci0rICAgICAgICB7Ci0rICAgICAgICAgIGlmICh0b2tlbi0+dHlwZSA9PSBDUFBfTkFNRSkKLSsgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICBtZW1jcHkgKGJ1ZmZlciwgTk9ERV9OQU1FICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpLAotKyAgICAgICAgICAgICAgICAgICAgTk9ERV9MRU4gKHRva2VuLT52YWwubm9kZS5zcGVsbGluZykpOwotKyAgICAgICAgICAgICAgYnVmZmVyICs9IE5PREVfTEVOICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpOwotKyAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgICAvKiBOQU1FRF9PUCwgY2Fubm90IHVzZSBub2RlLnNwZWxsaW5nICovCi0rICAgICAgICAgIGlmICh0b2tlbi0+ZmxhZ3MgJiBOQU1FRF9PUCkKLSsgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICBjb25zdCBjaGFyICpzdHIgPSBjcHBfbmFtZWRfb3BlcmF0b3IybmFtZSAodG9rZW4tPnR5cGUpOwotKyAgICAgICAgICAgICAgaWYgKHN0cikKLSsgICAgICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgICAgIHNpemVfdCBsZW4gPSBzdHJsZW4oc3RyKTsKLSsgICAgICAgICAgICAgICAgICBtZW1jcHkoYnVmZmVyLCBzdHIsIGxlbik7Ci0rICAgICAgICAgICAgICAgICAgYnVmZmVyICs9IGxlbjsKLSsgICAgICAgICAgICAgICAgfQotKyAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgfQotICAgICAgIGVsc2UKLSAJYnVmZmVyID0gX2NwcF9zcGVsbF9pZGVudF91Y25zIChidWZmZXIsIHRva2VuLT52YWwubm9kZS5ub2RlKTsKLSAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zL25vLXNzZS1maXgtdGVzdC1jYXNlLWZhaWx1cmVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvbm8tc3NlLWZpeC10ZXN0LWNhc2UtZmFpbHVyZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiODdjNWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvbm8tc3NlLWZpeC10ZXN0LWNhc2UtZmFpbHVyZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTkgKzAsMCBAQAotRnJvbSBmMjI4MzBkYTJiYTY0NTc3ZGViNmY3MTdkMDVkODZjMDNkZDJlNTBkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUkFHSFVOQVRIIExPTFVSIDxyYWdodW5hdGgubG9sdXJAa3BpdC5jb20+Ci1EYXRlOiBXZWQsIDYgRGVjIDIwMTcgMjI6NTI6MjYgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGZvciB0ZXN0c3VpdGUgZmFpbHVyZQotCi0yMDE3LTExLTE2ICBSYWdodW5hdGggTG9sdXIgIDxyYWdodW5hdGgubG9sdXJAa3BpdC5jb20+Ci0KLQkqIGdjYy5kZy9wcjU2Mjc1LmM6IElmIFNTRSBpcyBkaXNhYmxlZCwgZW5zdXJlIHRoYXQKLQkiLW1mcG1hdGgiIGlzIG5vdCBzZXQgdG8gdXNlIFNTRS4gU2V0ICItbWZwbWF0aD0zODciLgotCSogZ2NjLmRnL3ByNjgzMDYuYzogTGlrZXdpc2UKLQkqIGdjYy5kZy9wcjY4MzA2LTIuYzogTGlrZXdpc2UKLQkqIGdjYy5kZy9wcjY4MzA2LTMuYzogTGlrZXdpc2UKLQkqIGdjYy5kZy9wcjY5NjM0LmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvYW1kNjQtYWJpLTEuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9mdW5jc3BlYy02LmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L3ByNDQ5NDgtMmIuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTEuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjU1MjQ3LmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI1OTY0NC5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni93YXJuLXZlY3Qtb3AtMS5jOiBMaWtld2lzZQotCi1JZiAtV2FsbCwgLVdlcnJvciBhcmUgdXNlZCBkdXJpbmcgY29tcGlsYXRpb24gdmFyaW91cyB0ZXN0IGNhc2VzIGZhaWwKLXRvIGNvbXBpbGUuCi0KLUlmIFNTRSBpcyBkaXNhYmxlZCwgYmUgc3VyZSB0byAtbWZwbWF0aD0zODcgdG8gcmVzb2x2ZSB0aGlzLgotCi1UaGlzIHBhdGNoIHJlbW92ZXMgdGhlIGNoYW5nZXMgdG8gQ2hhbmdlbG9nIGZyb20gdGhlIG9yaWdpbmFsIHBhdGNoLgotVGhpcyB3aWxsIGhlbHAgdXMgYXZvaWQgY29uZmxpY3RzLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgotLS0tCi0gZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgfCAyMSArKysrKysrKysrKysrKysrKysrKysKLSBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjU2Mjc1LmMgICAgICAgICAgICB8ICAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0yLmMgICAgICAgICAgfCAgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMy5jICAgICAgICAgIHwgIDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LmMgICAgICAgICAgICB8ICAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jICAgICAgICAgICAgfCAgMiArLQotIC4uLi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jICAgICB8ICAyICstCi0gLi4uL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTYuYyAgICAgIHwgIDEgKwotIC4uLi90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYyB8ICAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaXNhLTE0LmMgICAgfCAgMiArLQotIC4uLi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmMgICAgICB8ICAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmMgfCAgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMi5jIHwgIDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU1MjQ3LmMgICB8ICAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1OTY0NC5jICAgfCAgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYyAgIHwgIDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYyB8ICAyICstCi0gLi4uL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMgIHwgIDIgKy0KLSAxOCBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYwotaW5kZXggYjkwMWJiMi4uYTRmNmM5NSAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI1NjI3NS5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotIC8qIHsgZGctb3B0aW9ucyAiLU8yIiB9ICovCi0tLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIiB7IHRhcmdldCB7IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9IH0gKi8KLSsvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCB7IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9IH0gKi8KLSAKLSB0eXBlZGVmIGxvbmcgbG9uZyB2MnR3IF9fYXR0cmlidXRlX18gKCh2ZWN0b3Jfc2l6ZSAoMiAqIHNpemVvZiAobG9uZyBsb25nKSkpKTsKLSAKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jCi1pbmRleCA0NjcyZWJlLi4yYTM2OGM0IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0yLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotIC8qIHsgZGctb3B0aW9ucyAiLU8zIiB9ICovCi0tLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIC1tbm8tbW14IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbW5vLW1teCAtbWZwbWF0aD0zODciIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0gCi0gc3RydWN0IHsKLSAgICAgaW50IHR6X21pbnV0ZXN3ZXN0OwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMKLWluZGV4IGY1YThjMTAuLmRmMzM5MGMgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTMuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0gLyogeyBkZy1vcHRpb25zICItTzMiIH0gKi8KLS0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXgiIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0rLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIC1tbm8tbW14IC1tZnBtYXRoPTM4NyIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1hbHRpdmVjIC1tbm8tdnN4IiB7IHRhcmdldCBwb3dlcnBjKi0qLSogfSB9ICovCi0gCi0gZXh0ZXJuIHZvaWQgZm4yKCk7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jCi1pbmRleCA1NGU1YjQwLi4wODEzMzg5IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0gLyogeyBkZy1vcHRpb25zICItTzMiIH0gKi8KLS0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXgiIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0rLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIC1tbm8tbW14IC1tZnBtYXRoPTM4NyIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSAKLSBlbnVtIHBvd2VycGNfcG1jX3R5cGUgeyBQUENfUE1DX0lCTSB9OwotIHN0cnVjdCB7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jCi1pbmRleCA2MGE1NjE0Li5iY2MyM2Y5IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0gLyogeyBkZy1vcHRpb25zICItTzIgLWZuby1kY2UgLWZzY2hlZHVsZS1pbnNucyAtZm5vLXRyZWUtdnJwIC1mY29tcGFyZS1kZWJ1ZyAtV25vLXBzYWJpIiB9ICovCi0tLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0gLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgc2NoZWR1bGluZyB9ICovCi0gCi0gdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCB1MTY7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYW1kNjQtYWJpLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2FtZDY0LWFiaS0xLmMKLWluZGV4IDY5ZmRlNTcuLjdmMWYxYzAgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCi1AQCAtMSw1ICsxLDUgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1hYmk9c3lzdiIgeyB0YXJnZXQgKi0qLW1pbmd3KiB9IH0gKi8KLSAKLSBkb3VibGUgZm9vKHZvaWQpIHsgcmV0dXJuIDA7IH0JLyogeyBkZy1lcnJvciAiU1NFIGRpc2FibGVkIiB9ICovCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jCi1pbmRleCBlYTg5NmI3Li5iZjE1NTY5IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9mdW5jc3BlYy02LmMKLUBAIC0xLDYgKzEsNyBAQAotIC8qIFRlc3Qgd2hldGhlciBhbGwgb2YgdGhlIDY0LWJpdCBmdW5jdGlvbiBzcGVjaWZpYyBvcHRpb25zIGFyZSBhY2NlcHRlZAotICAgIHdpdGhvdXQgZXJyb3IuICAqLwotIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLwotKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbWZwbWF0aD0zODciIH0gKi8KLSAKLSAjaW5jbHVkZSAiZnVuY3NwZWMtNTYuaW5jIgotIAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYwotaW5kZXggM2ZiZGM4OC4uNmI0ZDlkMSAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jCi1AQCAtMSw1ICsxLDUgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tZ2VuZXJhbC1yZWdzLW9ubHkgLW1uby1jbGQgLW1uby1pYW1jdSAtbTgwMzg3IiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIgLW1nZW5lcmFsLXJlZ3Mtb25seSAtbW5vLWNsZCAtbW5vLWlhbWN1IC1tODAzODcgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gdHlwZWRlZiB1bnNpZ25lZCBpbnQgdXdvcmRfdCBfX2F0dHJpYnV0ZV9fICgobW9kZSAoX193b3JkX18pKSk7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaXNhLTE0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYwotaW5kZXggNWQ0OWU2ZS4uMWRlMmRiOSAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYwotQEAgLTEsNSArMSw1IEBACi0gLyogeyBkZy1kbyBydW4gfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAKLSBleHRlcm4gdm9pZCBhYm9ydCAodm9pZCk7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jCi1pbmRleCBmYTE3NjliLi5mNzlmYjEyIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmMKLUBAIC0xLDUgKzEsNSBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItTyAtbW5vLXNzZSAtV25vLXBzYWJpIC1tdHVuZT1nZW5lcmljIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTyAtbW5vLXNzZSAtV25vLXBzYWJpIC1tdHVuZT1nZW5lcmljIC1tZnBtYXRoPTM4NyIgfSAqLwotIAotIHN0cnVjdCBBCi0geyAKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jCi1pbmRleCAyZTg5ZmY3Li42MzM5YmY2IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiBQUiB0YXJnZXQvNTM0MjUgKi8KLSAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tZnBtYXRoPTM4NyIgfSAqLwotIC8qIHsgZGctc2tpcC1pZiAibm8gU1NFIHZlY3RvciIgeyB4ODZfNjQtKi1taW5ndyogfSB9ICovCi0gCi0gdHlwZWRlZiBkb3VibGUgX192MmRmIF9fYXR0cmlidXRlX18gKChfX3ZlY3Rvcl9zaXplX18gKDE2KSkpOwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmMKLWluZGV4IDYxZjYyODMuLjJjNWE1NWYgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIFBSIHRhcmdldC81MzQyNSAqLwotIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCi0gLyogeyBkZy1za2lwLWlmICJubyBTU0UgdmVjdG9yIiB7IHg4Nl82NC0qLW1pbmd3KiB9IH0gKi8KLSAKLSB0eXBlZGVmIGZsb2F0IF9fdjJzZiBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICg4KSkpOwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYwotaW5kZXggMjMzNjZkMC4uOTgxMGUzYSAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gKi8KLSAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBtYXliZV94MzIgfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tbm8tbW14IC1teDMyIC1tYWRkcmVzcy1tb2RlPWxvbmciIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSAtbW5vLW1teCAtbXgzMiAtbWFkZHJlc3MtbW9kZT1sb25nIC1tZnBtYXRoPTM4NyIgfSAqLwotIAotIHR5cGVkZWYgdW5zaWduZWQgaW50IHVpbnQzMl90OwotIHR5cGVkZWYgdWludDMyX3QgRWxmMzJfV29yZDsKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU5NjQ0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU5NjQ0LmMKLWluZGV4IDk2MDA2YjMuLjQyODdlNDUgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU5NjQ0LmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYwotQEAgLTEsNiArMSw2IEBACi0gLyogUFIgdGFyZ2V0LzU5NjQ0ICovCi0gLyogeyBkZy1kbyBydW4geyB0YXJnZXQgbHA2NCB9IH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtZmZyZWVzdGFuZGluZyAtbW5vLXNzZSAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeT0zIC1tYWNjdW11bGF0ZS1vdXRnb2luZy1hcmdzIC1tbm8tcmVkLXpvbmUiIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PMiAtZmZyZWVzdGFuZGluZyAtbW5vLXNzZSAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeT0zIC1tYWNjdW11bGF0ZS1vdXRnb2luZy1hcmdzIC1tbm8tcmVkLXpvbmUgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gLyogVGhpcyB0ZXN0IHVzZXMgX19idWlsdGluX3RyYXAgKCkgaW5zdGVhZCBvZiBlLmcuIGFib3J0LAotICAgIGJlY2F1c2UgZHVlIHRvIC1tcHJlZmVycmVkLXN0YWNrLWJvdW5kYXJ5PTMgaXQgc2hvdWxkIG5vdCBjYWxsCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI2MjEyMC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI2MjEyMC5jCi1pbmRleCBiZmI4YzQ3Li5lZDA0Y2YxIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI2MjEyMC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmMKLUBAIC0xLDUgKzEsNSBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gdm9pZCBmb28gKCkKLSB7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYwotaW5kZXggNGUxMTJjOC4uYmNmYjM5NiAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNzA0NjctMS5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYwotQEAgLTEsNiArMSw2IEBACi0gLyogUFIgcnRsLW9wdGltaXphdGlvbi83MDQ2NyAqLwotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UiIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAKLSB2b2lkIGZvbyAodW5zaWduZWQgbG9uZyBsb25nICopOwotIAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni93YXJuLXZlY3Qtb3AtMS5jCi1pbmRleCA2Y2RhMTUzLi4yNmUzN2Y1IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYwotQEAgLTEsNSArMSw1IEBACi0gLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9ICAqLwotLS8qIHsgZGctb3B0aW9ucyAiLW1uby1zc2UgLVd2ZWN0b3Itb3BlcmF0aW9uLXBlcmZvcm1hbmNlIiB9ICAqLwotKy8qIHsgZGctb3B0aW9ucyAiLW1uby1zc2UgLVd2ZWN0b3Itb3BlcmF0aW9uLXBlcmZvcm1hbmNlIC1tZnBtYXRoPTM4NyIgfSAgKi8KLSAjZGVmaW5lIHZlY3RvcihlbGNvdW50LCB0eXBlKSAgXAotIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKChlbGNvdW50KSpzaXplb2YodHlwZSkpKSkgdHlwZQotIAotLS0gCi0xLjguNS42Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY2YTc3NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMjcgKzAsMCBAQAotcmVxdWlyZSBnY2MtY29tbW9uLmluYwotCi0jIFRoaXJkIGRpZ2l0IGluIFBWIHNob3VsZCBiZSBpbmNyZW1lbnRlZCBhZnRlciBhIG1pbm9yIHJlbGVhc2UKLQotUFYgPSAiOC4yLjAiCi0KLSMgQklOViBzaG91bGQgYmUgaW5jcmVtZW50ZWQgdG8gYSByZXZpc2lvbiBhZnRlciBhIG1pbm9yIGdjYyByZWxlYXNlCi0KLUJJTlYgPSAiOC4yLjAiCi0KLUZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9L2djYy04LjI6JHtGSUxFX0RJUk5BTUV9L2djYy04LjIvYmFja3BvcnQ6IgotCi1ERVBFTkRTID0rICJtcGZyIGdtcCBsaWJtcGMgemxpYiBmbGV4LW5hdGl2ZSIKLU5BVElWRURFUFMgPSAibXBmci1uYXRpdmUgZ21wLW5hdGl2ZSBsaWJtcGMtbmF0aXZlIHpsaWItbmF0aXZlIGZsZXgtbmF0aXZlIgotCi1MSUNFTlNFID0gIkdQTC0zLjAtd2l0aC1HQ0MtZXhjZXB0aW9uICYgR1BMdjMiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiXAotICAgIGZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCi0gICAgZmlsZTovL0NPUFlJTkczO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0gICAgZmlsZTovL0NPUFlJTkczLkxJQjttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYgXAotICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAotICAgIGZpbGU6Ly9DT1BZSU5HLlJVTlRJTUU7bWQ1PWZlNjBkODcwNDg1NjdkNGZlOGM4YTBlZDI0NDhiY2M4IFwKLSIKLQotI1JFTEVBU0UgPSAiOC4wLjEtUkMtMjAxODA0MjciCi1CQVNFVVJJID89ICIke0dOVV9NSVJST1J9L2djYy9nY2MtJHtQVn0vZ2NjLSR7UFZ9LnRhci54eiIKLSNTUkNSRVYgPSAiZjdjZjc5OGI3M2ZkMWEwNzA5OGY5YTQ5MGRlZWMxZTJhMzZlMGJlZCIKLSNCQVNFVVJJID89ICJnaXQ6Ly9naXRodWIuY29tL2djYy1taXJyb3IvZ2NjO2JyYW5jaD1nY2MtNi1icmFuY2g7cHJvdG9jb2w9Z2l0IgotI0JBU0VVUkkgPz0gImh0dHA6Ly9taXJyb3JzLmNvbmNlcnRwYXNzLmNvbS9nY2Mvc25hcHNob3RzLyR7UkVMRUFTRX0vZ2NjLSR7UkVMRUFTRX0udGFyLnh6IgotCi1TUkNfVVJJID0gIlwKLSAgICAgICAgICAgJHtCQVNFVVJJfSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWdjYy00LjMuMS1BUkNIX0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDYtNjQtYml0LW11bHRpbGliLWhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1vcHRpb25hbC1saWJzdGRjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDgtZ2NjLWRpc2FibGUtTUFTS19SRUxBWF9QSUNfQ0FMTFMtYml0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDktQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLVVzZS10aGUtZGVmYXVsdHMuaC1pbi1CLWluc3RlYWQtb2YtUy1hbmQtdC1vZS1pbi1CLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTEtZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMi1jcHAtaG9ub3Itc3lzcm9vdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEzLU1JUFM2NC1EZWZhdWx0LXRvLU42NC1BQkkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNC1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTUtZ2NjLUZpeC1hcmd1bWVudC1saXN0LXRvby1sb25nLWVycm9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTYtRGlzYWJsZS1zZHQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNy1saWJ0b29sLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTgtZ2NjLWFybXY0LXBhc3MtZml4LXY0YngtdG8tbGlua2VyLXRvLXN1cHBvcnQtRUFCSS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE5LVVzZS10aGUtbXVsdGlsaWItY29uZmlnLWZpbGVzLWZyb20tQi1pbnN0ZWFkLW9mLXVzaW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMC1Bdm9pZC11c2luZy1saWJkaXItZnJvbS0ubGEtd2hpY2gtdXN1YWxseS1wb2ludHMtdG8tLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjEtZXhwb3J0LUNQUC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDIyLURpc2FibGUtdGhlLU1VTFRJTElCX09TRElSTkFNRVMtYW5kLW90aGVyLW11bHRpbGliLW8ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMy1FbnN1cmUtdGFyZ2V0LWdjYy1oZWFkZXJzLWNhbi1iZS1pbmNsdWRlZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI0LWdjYy00Ljgtd29uLXQtYnVpbGQtd2l0aC1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyNS1Eb24tdC1zZWFyY2gtaG9zdC1kaXJlY3RvcnktZHVyaW5nLXJlbGluay1pZi1pbnN0X3ByLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjYtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI3LWFhcmNoNjQtQWRkLXN1cHBvcnQtZm9yLW11c2wtbGRzby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI4LWxpYmNjMS1maXgtbGliY2MxLXMtaW5zdGFsbC1wYXRoLWFuZC1ycGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI5LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzMC1TZWFyY2gtdGFyZ2V0LXN5c3Jvb3QtZ2NjLXZlcnNpb24tc3BlY2lmaWMtZGlycy13aXRoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzEtRml4LXZhcmlvdXMtX0ZPUl9CVUlMRC1hbmQtcmVsYXRlZC12YXJpYWJsZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzMi1uaW9zMi1EZWZpbmUtTVVTTF9EWU5BTUlDX0xJTktFUi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDMzLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNC1saWJnY2MtQWRkLWtub2ItdG8tdXNlLWxkYmwtMTI4LW9uLXBwYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDM1LUxpbmstbGliZ2NjLXVzaW5nLUxERkxBR1Mtbm90LWp1c3QtU0hMSUJfTERGTEFHUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDM2LWxpYmdjY19zLVVzZS1hbGlhcy1mb3ItX19jcHVfaW5kaWNhdG9yX2luaXQtaW5zdGVhZC0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNy1zeW5jLWdjYy1zdGRkZWYuaC13aXRoLW11c2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzOC1maXgtc2VnbWVudGF0aW9uLWZhdWx0LWluLXByZWNvbXBpbGVkLWhlYWRlci1nZW5lcmF0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzktRml4LWZvci10ZXN0c3VpdGUtZmFpbHVyZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQwLVJlLWludHJvZHVjZS1zcGUtY29tbWFuZGxpbmUtb3B0aW9ucy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQxLUFSQy1maXgtc3BlYy1nZW4ucGF0Y2ggXAotICAgICAgICAgICAke0JBQ0tQT1JUU30gXAotIgotQkFDS1BPUlRTID0gIlwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI0YWIyODJmNDE0Njc2NDk2NDgzYjNlMTc5M2QwNzg2MiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxOTZjM2MwNGJhMjYxM2Y4OTMyODM5NzdlNjAxMWIyMzQ1ZDFjZDFhZjlhYmVhYzU4ZTkxNmIxYWFiM2UwMDgwIgotCi1TID0gIiR7VE1QRElSfS93b3JrLXNoYXJlZC9nY2MtJHtQVn0tJHtQUn0vZ2NjLSR7UFZ9IgotI1MgPSAiJHtUTVBESVJ9L3dvcmstc2hhcmVkL2djYy0ke1BWfS0ke1BSfS9naXQiCi0jUyA9ICIke1RNUERJUn0vd29yay1zaGFyZWQvZ2NjLSR7UFZ9LSR7UFJ9L2djYy0ke1JFTEVBU0V9IgotQiA9ICIke1dPUktESVJ9L2djYy0ke1BWfS9idWlsZC4ke0hPU1RfU1lTfS4ke1RBUkdFVF9TWVN9IgotCi0jIExhbmd1YWdlIE92ZXJyaWRlcwotRk9SVFJBTiA9ICIiCi1KQVZBID0gIiIKLQotTFRPID0gIi0tZW5hYmxlLWx0byIKLVNTUCA/PSAiLS1kaXNhYmxlLWxpYnNzcCIKLVNTUF9taW5ndzMyID0gIi0tZW5hYmxlLWxpYnNzcCIKLQotRVhUUkFfT0VDT05GX0JBU0UgPSAiXAotICAgICR7TFRPfSBcCi0gICAgJHtTU1B9IFwKLSAgICAtLWVuYWJsZS1saWJpdG0gXAotICAgIC0tZGlzYWJsZS1ib290c3RyYXAgXAotICAgIC0tZGlzYWJsZS1saWJtdWRmbGFwIFwKLSAgICAtLXdpdGgtc3lzdGVtLXpsaWIgXAotICAgICR7QCctLXdpdGgtbGlua2VyLWhhc2gtc3R5bGU9JHtMSU5LRVJfSEFTSF9TVFlMRX0nIGlmICcke0xJTktFUl9IQVNIX1NUWUxFfScgZWxzZSAnJ30gXAotICAgIC0tZW5hYmxlLWxpbmtlci1idWlsZC1pZCBcCi0gICAgLS13aXRoLXBwbD1ubyBcCi0gICAgLS13aXRoLWNsb29nPW5vIFwKLSAgICAtLWVuYWJsZS1jaGVja2luZz1yZWxlYXNlIFwKLSAgICAtLWVuYWJsZS1jaGVhZGVycz1jX2dsb2JhbCBcCi0gICAgLS13aXRob3V0LWlzbCBcCi0iCi0KLUVYVFJBX09FQ09ORl9JTklUSUFMID0gIlwKLSAgICAtLWRpc2FibGUtbGlibXVkZmxhcCBcCi0gICAgLS1kaXNhYmxlLWxpYmdvbXAgXAotICAgIC0tZGlzYWJsZS1saWJpdG0gXAotICAgIC0tZGlzYWJsZS1saWJxdWFkbWF0aCBcCi0gICAgLS13aXRoLXN5c3RlbS16bGliIFwKLSAgICAtLWRpc2FibGUtbHRvIFwKLSAgICAtLWRpc2FibGUtcGx1Z2luIFwKLSAgICAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQgXAotICAgIC0tZW5hYmxlLWRlY2ltYWwtZmxvYXQ9bm8gXAotICAgIC0td2l0aG91dC1pc2wgXAotICAgIC0tZGlzYWJsZS1saWJzc3AgXAotIgotCi1FWFRSQV9PRUNPTkZfUEFUSFMgPSAiXAotICAgIC0td2l0aC1neHgtaW5jbHVkZS1kaXI9L25vdC9leGlzdHt0YXJnZXRfaW5jbHVkZWRpcn0vYysrLyR7QklOVn0gXAotICAgIC0td2l0aC1zeXNyb290PS9ub3QvZXhpc3QgXAotICAgIC0td2l0aC1idWlsZC1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSBcCi0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDAxLWdjYy00LjMuMS1BUkNIX0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDAxLWdjYy00LjMuMS1BUkNIX0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyM2ZlMjguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwMS1nY2MtNC4zLjEtQVJDSF9GTEFHU19GT1JfVEFSR0VULnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSBiNzUyZmIyYjZkNmY2ZGE2OGRhNTM4NmI5NmFiZjBkNzRjZDRiYmU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDg6Mzc6MTEgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAwMS8zOV0gZ2NjLTQuMy4xOiBBUkNIX0ZMQUdTX0ZPUl9UQVJHRVQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLS0tLQotIGNvbmZpZ3VyZSAgICB8IDIgKy0KLSBjb25maWd1cmUuYWMgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKLWluZGV4IDY5Yzk5ZTk5Y2NhLi41MTdmYjcwMTkyZSAxMDA3NTUKLS0tLSBhL2NvbmZpZ3VyZQotKysrIGIvY29uZmlndXJlCi1AQCAtNzUxMSw3ICs3NTExLDcgQEAgZmkKLSAjIGZvciB0YXJnZXRfYWxpYXMgYW5kIGdjYyBkb2Vzbid0IG1hbmFnZSBpdCBjb25zaXN0ZW50bHkuCi0gdGFyZ2V0X2NvbmZpZ2FyZ3M9Ii0tY2FjaGUtZmlsZT0uL2NvbmZpZy5jYWNoZSAke3RhcmdldF9jb25maWdhcmdzfSIKLSAKLS1GTEFHU19GT1JfVEFSR0VUPQotK0ZMQUdTX0ZPUl9UQVJHRVQ9IiRBUkNIX0ZMQUdTX0ZPUl9UQVJHRVQiCi0gY2FzZSAiICR0YXJnZXRfY29uZmlnZGlycyAiIGluCi0gICoiIG5ld2xpYiAiKikKLSAgIGNhc2UgIiAkdGFyZ2V0X2NvbmZpZ2FyZ3MgIiBpbgotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggYTFlZGMzNjlhMjcuLmY4YzI1NGYxZmFjIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0zMTAwLDcgKzMxMDAsNyBAQCBmaQotICMgZm9yIHRhcmdldF9hbGlhcyBhbmQgZ2NjIGRvZXNuJ3QgbWFuYWdlIGl0IGNvbnNpc3RlbnRseS4KLSB0YXJnZXRfY29uZmlnYXJncz0iLS1jYWNoZS1maWxlPS4vY29uZmlnLmNhY2hlICR7dGFyZ2V0X2NvbmZpZ2FyZ3N9IgotIAotLUZMQUdTX0ZPUl9UQVJHRVQ9Ci0rRkxBR1NfRk9SX1RBUkdFVD0iJEFSQ0hfRkxBR1NfRk9SX1RBUkdFVCIKLSBjYXNlICIgJHRhcmdldF9jb25maWdkaXJzICIgaW4KLSAgKiIgbmV3bGliICIqKQotICAgY2FzZSAiICR0YXJnZXRfY29uZmlnYXJncyAiIGluCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDAzLWdjYy1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwMy1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDUxMzg5Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDAzLWdjYy1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTk0ICswLDAgQEAKLUZyb20gNDhjNjcwZDI2NzhlMDMyM2Q4OGViNzIyMDVlMDM5ZjM5M2NhYmUwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA4OjU5OjAwICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDMvMzldIGdjYzogcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Rpc3RyaWJ1dGlvbjogY29kZXNvdXJjZXJ5XQotLS0tCi0gZ2NjL2NvbW1vbi5vcHQgICAgICB8ICA0ICsrKysKLSBnY2MvY29uZmlnLmluICAgICAgIHwgIDYgKysrKysrCi0gZ2NjL2NvbmZpZ3VyZSAgICAgICB8IDE2ICsrKysrKysrKysrKysrKysKLSBnY2MvY29uZmlndXJlLmFjICAgIHwgMTAgKysrKysrKysrKwotIGdjYy9kb2MvaW52b2tlLnRleGkgfCAgOSArKysrKysrKysKLSBnY2MvZ2NjLmMgICAgICAgICAgIHwgIDIgKysKLSBnY2MvaW5jcGF0aC5jICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKysrKwotIDcgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbW1vbi5vcHQgYi9nY2MvY29tbW9uLm9wdAotaW5kZXggZDZlZjg1OTI4ZjMuLjdiMjllZmUzODgyIDEwMDY0NAotLS0tIGEvZ2NjL2NvbW1vbi5vcHQKLSsrKyBiL2djYy9jb21tb24ub3B0Ci1AQCAtNjc5LDYgKzY3OSwxMCBAQCBXcmV0dXJuLWxvY2FsLWFkZHIKLSBDb21tb24gVmFyKHdhcm5fcmV0dXJuX2xvY2FsX2FkZHIpIEluaXQoMSkgV2FybmluZwotIFdhcm4gYWJvdXQgcmV0dXJuaW5nIGEgcG9pbnRlci9yZWZlcmVuY2UgdG8gYSBsb2NhbCBvciB0ZW1wb3JhcnkgdmFyaWFibGUuCi0gCi0rV3BvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLStDb21tb24gVmFyKGZsYWdfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcykgSW5pdCgxKSBXYXJuaW5nCi0rV2FybiBmb3IgLUkgYW5kIC1MIG9wdGlvbnMgdXNpbmcgc3lzdGVtIGRpcmVjdG9yaWVzIGlmIGNyb3NzIGNvbXBpbGluZwotKwotIFdzaGFkb3cKLSBDb21tb24gVmFyKHdhcm5fc2hhZG93KSBXYXJuaW5nCi0gV2FybiB3aGVuIG9uZSB2YXJpYWJsZSBzaGFkb3dzIGFub3RoZXIuICBTYW1lIGFzIC1Xc2hhZG93PWdsb2JhbC4KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnLmluIGIvZ2NjL2NvbmZpZy5pbgotaW5kZXggNWJjY2I0MDgwMTYuLjFjNzg0YTgyNzZiIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy5pbgotKysrIGIvZ2NjL2NvbmZpZy5pbgotQEAgLTE5NCw2ICsxOTQsMTIgQEAKLSAjZW5kaWYKLSAKLSAKLSsvKiBEZWZpbmUgdG8gd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gaGVhZGVyIGRpcmVjdG9yaWVzICovCi0rI2lmbmRlZiBVU0VEX0ZPUl9UQVJHRVQKLSsjdW5kZWYgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMKLSsjZW5kaWYKLSsKLSsKLSAvKiBEZWZpbmUgaWYgeW91IHdhbnQgYWxsIG9wZXJhdGlvbnMgb24gUlRMICh0aGUgYmFzaWMgZGF0YSBzdHJ1Y3R1cmUgb2YgdGhlCi0gICAgb3B0aW1pemVyIGFuZCBiYWNrIGVuZCkgdG8gYmUgY2hlY2tlZCBmb3IgZHluYW1pYyB0eXBlIHNhZmV0eSBhdCBydW50aW1lLgotICAgIFRoaXMgaXMgcXVpdGUgZXhwZW5zaXZlLiAqLwotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCi1pbmRleCA1YzM0NWNlMGZkNy4uY2FmZDA1ZmQxNTAgMTAwNzU1Ci0tLS0gYS9nY2MvY29uZmlndXJlCi0rKysgYi9nY2MvY29uZmlndXJlCi1AQCAtOTUzLDYgKzk1Myw3IEBAIHdpdGhfc3lzdGVtX3psaWIKLSBlbmFibGVfbWFpbnRhaW5lcl9tb2RlCi0gZW5hYmxlX2xpbmtfbXV0ZXgKLSBlbmFibGVfdmVyc2lvbl9zcGVjaWZpY19ydW50aW1lX2xpYnMKLStlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcwotIGVuYWJsZV9wbHVnaW4KLSBlbmFibGVfaG9zdF9zaGFyZWQKLSBlbmFibGVfbGlicXVhZG1hdGhfc3VwcG9ydAotQEAgLTE2OTYsNiArMTY5Nyw4IEBAIE9wdGlvbmFsIEZlYXR1cmVzOgotICAgLS1lbmFibGUtdmVyc2lvbi1zcGVjaWZpYy1ydW50aW1lLWxpYnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnkgdGhhdCBydW50aW1lIGxpYnJhcmllcyBzaG91bGQgYmUgaW5zdGFsbGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBhIGNvbXBpbGVyLXNwZWNpZmljIGRpcmVjdG9yeQotKyAgLS1lbmFibGUtcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gaGVhZGVyIGRpcmVjdG9yaWVzCi0gICAtLWVuYWJsZS1wbHVnaW4gICAgICAgICBlbmFibGUgcGx1Z2luIHN1cHBvcnQKLSAgIC0tZW5hYmxlLWhvc3Qtc2hhcmVkICAgIGJ1aWxkIGhvc3QgY29kZSBhcyBzaGFyZWQgbGlicmFyaWVzCi0gICAtLWRpc2FibGUtbGlicXVhZG1hdGgtc3VwcG9ydAotQEAgLTI5NzE1LDYgKzI5NzE4LDE5IEBAIGlmIHRlc3QgIiR7ZW5hYmxlX3ZlcnNpb25fc3BlY2lmaWNfcnVudGltZV9saWJzK3NldH0iID0gc2V0OyB0aGVuIDoKLSBmaQotIAotIAotKyMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzIHdhcyBnaXZlbi4KLStpZiB0ZXN0ICIke2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzK3NldH0iID0gc2V0OyB0aGVuIDoKLSsgIGVuYWJsZXZhbD0kZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM7Ci0rZWxzZQotKyAgZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM9bm8KLStmaQotKwotK2lmIHRlc3QgIngke2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzfSIgPSAieHllcyI7IHRoZW4KLSsKLSskYXNfZWNobyAiI2RlZmluZSBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUyAxIiA+PmNvbmZkZWZzLmgKLSsKLStmaQotKwotICMgU3Vic3RpdHV0ZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlcwotIAotIAotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCi1pbmRleCA2NWRiZjFmMmY4MC4uZGQ1YjM4MTk1Y2UgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlndXJlLmFjCi0rKysgYi9nY2MvY29uZmlndXJlLmFjCi1AQCAtNjM0MSw2ICs2MzQxLDE2IEBAIEFDX0FSR19FTkFCTEUodmVyc2lvbi1zcGVjaWZpYy1ydW50aW1lLWxpYnMsCi0gICAgICAgICAgICAgICAgIFtzcGVjaWZ5IHRoYXQgcnVudGltZSBsaWJyYXJpZXMgc2hvdWxkIGJlCi0gICAgICAgICAgICAgICAgICBpbnN0YWxsZWQgaW4gYSBjb21waWxlci1zcGVjaWZpYyBkaXJlY3RvcnldKV0pCi0gCi0rQUNfQVJHX0VOQUJMRShbcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllc10sCi0rICAgICAgICAgICAgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzXSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3dhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGhlYWRlciBkaXJlY3Rvcmllc10pLCwKLSsgICAgICAgICAgICAgW2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzPW5vXSkKLStpZiB0ZXN0ICJ4JHtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllc30iID0gInh5ZXMiOyB0aGVuCi0rICBBQ19ERUZJTkUoW0VOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTXSwKLSsgICAgICAgICAgIFsxXSwKLSsgICAgICAgICAgIFtEZWZpbmUgdG8gd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gaGVhZGVyIGRpcmVjdG9yaWVzXSkKLStmaQotKwotICMgU3Vic3RpdHV0ZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlcwotIEFDX1NVQlNUKHN1YmRpcnMpCi0gQUNfU1VCU1Qoc3JjZGlyKQotZGlmZiAtLWdpdCBhL2djYy9kb2MvaW52b2tlLnRleGkgYi9nY2MvZG9jL2ludm9rZS50ZXhpCi1pbmRleCAyNTUxNDlmY2ZiOC4uY2I3MWI2MGZlM2MgMTAwNjQ0Ci0tLS0gYS9nY2MvZG9jL2ludm9rZS50ZXhpCi0rKysgYi9nY2MvZG9jL2ludm9rZS50ZXhpCi1AQCAtMzAzLDYgKzMwMyw3IEBAIE9iamVjdGl2ZS1DIGFuZCBPYmplY3RpdmUtQysrIERpYWxlY3RzfS4KLSAtV3BhY2tlZCAgLVdwYWNrZWQtYml0ZmllbGQtY29tcGF0IC1XcGFja2VkLW5vdC1hbGlnbmVkIC1XcGFkZGVkIEBnb2wKLSAtV3BhcmVudGhlc2VzICAtV25vLXBlZGFudGljLW1zLWZvcm1hdCBAZ29sCi0gLVdwbGFjZW1lbnQtbmV3ICAtV3BsYWNlbWVudC1uZXc9QHZhcntufSBAZ29sCi0rLVduby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzIEBnb2wKLSAtV3BvaW50ZXItYXJpdGggIC1XcG9pbnRlci1jb21wYXJlICAtV25vLXBvaW50ZXItdG8taW50LWNhc3QgQGdvbAotIC1Xbm8tcHJhZ21hcyAgLVdyZWR1bmRhbnQtZGVjbHMgIC1XcmVzdHJpY3QgIC1Xbm8tcmV0dXJuLWxvY2FsLWFkZHIgQGdvbAotIC1XcmV0dXJuLXR5cGUgIC1Xc2VxdWVuY2UtcG9pbnQgIC1Xc2hhZG93ICAtV25vLXNoYWRvdy1pdmFyIEBnb2wKLUBAIC01NzEyLDYgKzU3MTMsMTQgQEAgbWFkZSB1cCBvZiBkYXRhIG9ubHkgYW5kIHRodXMgcmVxdWlyZXMgbm8gc3BlY2lhbCB0cmVhdG1lbnQuICBCdXQsIGZvcgotIG1vc3QgdGFyZ2V0cywgaXQgaXMgbWFkZSB1cCBvZiBjb2RlIGFuZCB0aHVzIHJlcXVpcmVzIHRoZSBzdGFjayB0byBiZQotIG1hZGUgZXhlY3V0YWJsZSBpbiBvcmRlciBmb3IgdGhlIHByb2dyYW0gdG8gd29yayBwcm9wZXJseS4KLSAKLStAaXRlbSAtV25vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLStAb3BpbmRleCBXbm8tcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcwotK0RvIG5vdCB3YXJuIGZvciBAb3B0aW9uey1JfSBvciBAb3B0aW9uey1MfSBvcHRpb25zIHVzaW5nIHN5c3RlbQotK2RpcmVjdG9yaWVzIHN1Y2ggYXMgQGZpbGV7L3Vzci9pbmNsdWRlfSB3aGVuIGNyb3NzIGNvbXBpbGluZy4gIFRoaXMKLStvcHRpb24gaXMgaW50ZW5kZWQgZm9yIHVzZSBpbiBjaHJvb3QgZW52aXJvbm1lbnRzIHdoZW4gc3VjaAotK2RpcmVjdG9yaWVzIGNvbnRhaW4gdGhlIGNvcnJlY3QgaGVhZGVycyBhbmQgbGlicmFyaWVzIGZvciB0aGUgdGFyZ2V0Ci0rc3lzdGVtIHJhdGhlciB0aGFuIHRoZSBob3N0LgotKwotIEBpdGVtIC1XZmxvYXQtZXF1YWwKLSBAb3BpbmRleCBXZmxvYXQtZXF1YWwKLSBAb3BpbmRleCBXbm8tZmxvYXQtZXF1YWwKLWRpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKLWluZGV4IGE3MTZmNzA4MjU5Li4wMmIzY2QzOWZjMiAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTAzNyw2ICsxMDM3LDggQEAgcHJvcGVyIHBvc2l0aW9uIGFtb25nIHRoZSBvdGhlciBvdXRwdXQgZmlsZXMuICAqLwotICAgICIle2Z1c2UtbGQ9KjotZnVzZS1sZD0lKn0gIiBMSU5LX0NPTVBSRVNTX0RFQlVHX1NQRUMgXAotICAgICIlWCAle28qfSAle2UqfSAle059ICV7bn0gJXtyfVwKLSAgICAgJXtzfSAle3R9ICV7dSp9ICV7en0gJXtafSAleyFub3N0ZGxpYjoleyFub3N0YXJ0ZmlsZXM6JVN9fSBcCi0rICAgICV7V25vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXM6LS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzfSBcCi0rICAgICV7V2Vycm9yPXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXM6LS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzfSBcCi0gICAgICV7c3RhdGljfG5vLXBpZXxzdGF0aWMtcGllOn0gJXtMKn0gJShtZndyYXApICUobGlua19saWJnY2MpICIgXAotICAgICBWVEFCTEVfVkVSSUZJQ0FUSU9OX1NQRUMgIiAiIFNBTklUSVpFUl9FQVJMWV9TUEVDICIgJW8gIiBDSEtQX1NQRUMgIiBcCi0gICAgICV7Zm9wZW5hY2N8Zm9wZW5tcHwlOmd0KCV7ZnRyZWUtcGFyYWxsZWxpemUtbG9vcHM9KjolKn0gMSk6XAotZGlmZiAtLWdpdCBhL2djYy9pbmNwYXRoLmMgYi9nY2MvaW5jcGF0aC5jCi1pbmRleCBiMTFjNmE1NzkzOS4uZTNiN2EyMTk2NmYgMTAwNjQ0Ci0tLS0gYS9nY2MvaW5jcGF0aC5jCi0rKysgYi9nY2MvaW5jcGF0aC5jCi1AQCAtMjYsNiArMjYsNyBAQAotICNpbmNsdWRlICJpbnRsLmgiCi0gI2luY2x1ZGUgImluY3BhdGguaCIKLSAjaW5jbHVkZSAiY3BwZGVmYXVsdC5oIgotKyNpbmNsdWRlICJkaWFnbm9zdGljLWNvcmUuaCIKLSAKLSAvKiBNaWNyb3NvZnQgV2luZG93cyBkb2VzIG5vdCBuYXRpdmVseSBzdXBwb3J0IGlub2Rlcy4KLSAgICBWTVMgaGFzIG5vbi1udW1lcmljIGlub2Rlcy4gICovCi1AQCAtMzkzLDYgKzM5NCwyNiBAQCBtZXJnZV9pbmNsdWRlX2NoYWlucyAoY29uc3QgY2hhciAqc3lzcm9vdCwgY3BwX3JlYWRlciAqcGZpbGUsIGludCB2ZXJib3NlKQotIAl9Ci0gICAgICAgZnByaW50ZiAoc3RkZXJyLCBfKCJFbmQgb2Ygc2VhcmNoIGxpc3QuXG4iKSk7Ci0gICAgIH0KLSsKLSsjaWZkZWYgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMKLSsgIGlmIChmbGFnX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMpCi0rICAgIHsKLSsgICAgICAgc3RydWN0IGNwcF9kaXIgKnA7Ci0rCi0rICAgICAgIGZvciAocCA9IGhlYWRzW0lOQ19RVU9URV07IHA7IHAgPSBwLT5uZXh0KQotKyAgICAgICAgIHsKLSsgICAgICAgICAgaWYgKCghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvaW5jbHVkZSIsIDEyKSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvbG9jYWwvaW5jbHVkZSIsIDE4KSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvWDExUjYvaW5jbHVkZSIsIDE4KSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi9zdy9pbmNsdWRlIiwgMTEpKQotKyAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL29wdC9pbmNsdWRlIiwgMTIpKSkKLSsgICAgICAgICAgICB3YXJuaW5nIChPUFRfV3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMsCi0rICAgICAgICAgICAgICAgICAgICAgImluY2x1ZGUgbG9jYXRpb24gXCIlc1wiIGlzIHVuc2FmZSBmb3IgIgotKyAgICAgICAgICAgICAgICAgICAgICJjcm9zcy1jb21waWxhdGlvbiIsCi0rICAgICAgICAgICAgICAgICAgICAgcC0+bmFtZSk7Ci0rICAgICAgICAgfQotKyAgICB9Ci0rI2VuZGlmCi0gfQotIAotIC8qIFVzZSBnaXZlbiAtSSBwYXRocyBmb3IgI2luY2x1ZGUgIi4uLiIgYnV0IG5vdCAjaW5jbHVkZSA8Li4uPiwgYW5kCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA1LWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwNS1nY2MtNC4zLjMtU1lTUk9PVF9DRkxBR1NfRk9SX1RBUkdFVC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGIxYjk3Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA1LWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotRnJvbSBhZTNmZTZlNWU1MDkzN2RlNmU0MjIzY2E5MDgxMDE4NzM3MmE4Y2Y1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MDg6MzEgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAwNS8zOV0gZ2NjLTQuMy4zOiBTWVNST09UX0NGTEFHU19GT1JfVEFSR0VUCi0KLUJlZm9yZSBjb21taXR0aW5nLCBJIG5vdGljZWQgdGhhdCBQUi8zMjE2MSB3YXMgbWFya2VkIGFzIGEgZHVwIG9mIFBSLzMyMDA5LCBidXQgbXkgcHJldmlvdXMgcGF0Y2ggZGlkIG5vdCBmaXggaXQuCi0KLVRoaXMgYWx0ZXJuYXRpdmUgcGF0Y2ggaXMgYmV0dGVyIGJlY2F1c2UgaXQgbGV0cyB5b3UganVzdCB1c2UgQ0ZMQUdTX0ZPUl9UQVJHRVQgdG8gc2V0IHRoZSBjb21waWxhdGlvbiBmbGFncyBmb3IgbGliZ2NjLiBTaW5jZSBib290c3RyYXBwZWQgdGFyZ2V0IGxpYnJhcmllcyBhcmUgbmV2ZXIgY29tcGlsZWQgd2l0aCB0aGUgbmF0aXZlIGNvbXBpbGVyLCBpdCBtYWtlcyBsaXR0bGUgc2Vuc2UgdG8gdXNlIGRpZmZlcmVudCBmbGFncyBmb3Igc3RhZ2UxIGFuZCBsYXRlciBzdGFnZXMuIEFuZCBpdCBhbHNvIG1ha2VzIGxpdHRsZSBzZW5zZSB0byB1c2UgYSBkaWZmZXJlbnQgdmFyaWFibGUgdGhhbiBDRkxBR1NfRk9SX1RBUkdFVC4KLQotT3RoZXIgY2hhbmdlcyBJIGhhZCB0byBkbyBpbmNsdWRlOgotCi0tIG1vdmluZyB0aGUgY3JlYXRpb24gb2YgZGVmYXVsdCBDRkxBR1NfRk9SX1RBUkdFVCBmcm9tIE1ha2VmaWxlLmFtIHRvIGNvbmZpZ3VyZS5hYywgYmVjYXVzZSBvdGhlcndpc2UgdGhlIEJPT1RfQ0ZMQUdTIGFyZSBzdWJzdGl0dXRlZCBpbnRvIENGTEFHU19GT1JfVEFSR0VUICh3aGljaCBpcyAiLU8yIC1nICQoQ0ZMQUdTKSIpIHZpYSAkKENGTEFHUykuIEl0IGlzIGFsc28gY2xlYW5lciB0aGlzIHdheSB0aG91Z2guCi0KLS0gcGFzc2luZyB0aGUgcmlnaHQgQ0ZMQUdTIHRvIGNvbmZpZ3VyZSBzY3JpcHRzIGFzIGV4cG9ydGVkIGVudmlyb25tZW50IHZhcmlhYmxlcwotCi1JIGFsc28gc3RvcHBlZCBwYXNzaW5nIExJQkNGTEFHUyB0byBjb25maWd1cmUgc2NyaXB0cyBzaW5jZSB0aGV5IGFyZSB1bnVzZWQgaW4gdGhlIHdob2xlIHNyYyB0cmVlLiBBbmQgSSB1cGRhdGVkIHRoZSBkb2N1bWVudGF0aW9uIGFzIEgtUCByZW1pbmRlZCBtZSB0byBkby4KLQotQm9vdHN0cmFwcGVkL3JlZ3Rlc3RlZCBpNjg2LXBjLWxpbnV4LWdudSwgd2lsbCBjb21taXQgdG8gNC40IHNob3J0bHkuIE9rIGZvciA0LjM/Ci0KLVNpZ25lZC1vZmYtYnk6IFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNvbmZpZ3VyZSB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQotaW5kZXggNTE3ZmI3MDE5MmUuLmFjZDJiOTdkZjQwIDEwMDc1NQotLS0tIGEvY29uZmlndXJlCi0rKysgYi9jb25maWd1cmUKLUBAIC02NzcyLDYgKzY3NzIsMzggQEAgZmkKLSAKLSAKLSAKLSsjIER1cmluZyBnY2MgYm9vdHN0cmFwLCBpZiB3ZSB1c2Ugc29tZSByYW5kb20gY2MgZm9yIHN0YWdlMSB0aGVuIENGTEFHUwotKyMgbWlnaHQgYmUgZW1wdHkgb3IgIi1nIi4gIFdlIGRvbid0IHJlcXVpcmUgYSBDKysgY29tcGlsZXIsIHNvIENYWEZMQUdTCi0rIyBtaWdodCBhbHNvIGJlIGVtcHR5IChvciAiLWciLCBpZiBhIG5vbi1HQ0MgQysrIGNvbXBpbGVyIGlzIGluIHRoZSBwYXRoKS4KLSsjIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgVEFSR0VUIGxpYnJhcmllcyAod2hpY2ggd2Uga25vdyBhcmUgYnVpbHQgd2l0aAotKyMgZ2NjKSBhcmUgYnVpbHQgd2l0aCAiLU8yIC1nIiwgc28gaW5jbHVkZSB0aG9zZSBvcHRpb25zIHdoZW4gc2V0dGluZwotKyMgQ0ZMQUdTX0ZPUl9UQVJHRVQgYW5kIENYWEZMQUdTX0ZPUl9UQVJHRVQuCi0raWYgdGVzdCAieCRDRkxBR1NfRk9SX1RBUkdFVCIgPSB4OyB0aGVuCi0rICBDRkxBR1NfRk9SX1RBUkdFVD0kQ0ZMQUdTCi0rICBjYXNlICIgJENGTEFHUyAiIGluCi0rICAgICoiIC1PMiAiKikgOzsKLSsgICAgKikgQ0ZMQUdTX0ZPUl9UQVJHRVQ9Ii1PMiAkQ0ZMQUdTIiA7OwotKyAgZXNhYwotKyAgY2FzZSAiICRDRkxBR1MgIiBpbgotKyAgICAqIiAtZyAiKiB8ICoiIC1nMyAiKikgOzsKLSsgICAgKikgQ0ZMQUdTX0ZPUl9UQVJHRVQ9Ii1nICRDRkxBR1MiIDs7Ci0rICBlc2FjCi0rZmkKLSsKLSsKLStpZiB0ZXN0ICJ4JENYWEZMQUdTX0ZPUl9UQVJHRVQiID0geDsgdGhlbgotKyAgQ1hYRkxBR1NfRk9SX1RBUkdFVD0kQ1hYRkxBR1MKLSsgIGNhc2UgIiAkQ1hYRkxBR1MgIiBpbgotKyAgICAqIiAtTzIgIiopIDs7Ci0rICAgICopIENYWEZMQUdTX0ZPUl9UQVJHRVQ9Ii1PMiAkQ1hYRkxBR1MiIDs7Ci0rICBlc2FjCi0rICBjYXNlICIgJENYWEZMQUdTICIgaW4KLSsgICAgKiIgLWcgIiogfCAqIiAtZzMgIiopIDs7Ci0rICAgICopIENYWEZMQUdTX0ZPUl9UQVJHRVQ9Ii1nICRDWFhGTEFHUyIgOzsKLSsgIGVzYWMKLStmaQotKwotKwotICMgSGFuZGxlIC0td2l0aC1oZWFkZXJzPVhYWC4gIElmIHRoZSB2YWx1ZSBpcyBub3QgInllcyIsIHRoZSBjb250ZW50cyBvZgotICMgdGhlIG5hbWVkIGRpcmVjdG9yeSBhcmUgY29waWVkIHRvICQodG9vbGRpcikvc3lzLWluY2x1ZGUuCi0gaWYgdGVzdCB4IiR7d2l0aF9oZWFkZXJzfSIgIT0geCAmJiB0ZXN0IHgiJHt3aXRoX2hlYWRlcnN9IiAhPSB4bm8gOyB0aGVuCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA2LTY0LWJpdC1tdWx0aWxpYi1oYWNrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwNi02NC1iaXQtbXVsdGlsaWItaGFjay5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGRjZTk1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA2LTY0LWJpdC1tdWx0aWxpYi1oYWNrLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotRnJvbSA4OWFmM2I3Mzk5MzEzYjMzN2YwNmMxOWNjMmQ3ODdhYTE2ZDI3NzExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MTA6MDYgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAwNi8zOV0gNjQtYml0IG11bHRpbGliIGhhY2suCi0KLUdDQyBoYXMgaW50ZXJuYWwgbXVsdGlsaWIgaGFuZGxpbmcgY29kZSBidXQgaXQgYXNzdW1lcyBhIHZlcnkgc3BlY2lmaWMgcmlnaWQgZGlyZWN0b3J5Ci1sYXlvdXQuIFRoZSBidWlsZCBzeXN0ZW0gaW1wbGVtZW50YXRpb24gb2YgbXVsdGlsaWIgbGF5b3V0IGlzIHZlcnkgZ2VuZXJpYyBhbmQgYWxsb3dzCi1jb21wbGV0ZSBjdXN0b21pc2F0aW9uIG9mIHRoZSBsaWJyYXJ5IGRpcmVjdG9yaWVzLgotCi1UaGlzIHBhdGNoIGlzIGEgcGFydGlhbCBzb2x1dGlvbiB0byBhbGxvdyBhbnkgY3VzdG9tIGRpcmVjdG9yaWVzIHRvIGJlIHBhc3NlZCBpbnRvIGdjYwotYW5kIGhhbmRsZWQgY29ycmVjdGx5LiBJdCBmb3JjZXMgZ2NjIHRvIHVzZSB0aGUgYmFzZV9saWJkaXIgKHdoaWNoIGlzIHRoZSBjdXJyZW50Ci1kaXJlY3RvcnksICIuIikuIFdlIG5lZWQgdG8gZG8gdGhpcyBmb3IgZWFjaCBtdWx0aWxpYiB0aGF0IGlzIGNvbmZpZ3VyZWQgYXMgd2UgZG9uJ3QKLWtub3cgd2hpY2ggY29tcGlsZXIgb3B0aW9ucyBtYXkgYmUgYmVpbmcgcGFzc2VkIGludG8gdGhlIGNvbXBpbGVyLiBTaW5jZSB3ZSBoYXZlIGEgY29tcGlsZXIKLXBlciBtdWxpdGxpYiBhdCB0aGlzIHBvaW50IHRoYXQgaXNuJ3QgYW4gaXNzdWUuCi0KLVRoZSBvbmUgcHJvYmxlbSBpcyB0aGUgdGFyZ2V0IGNvbXBpbGVyIGlzIG9ubHkgZ29pbmcgdG8gd29yayBmb3IgdGhlIGRlZmF1bHQgbXVsdGxpbGliIGF0Ci10aGlzIHBvaW50LiBJZGVhbGx5IHdlJ2QgZmlndXJlIG91dCB3aGljaCBtdWx0aWxpYnMgd2VyZSBiZWluZyBlbmFibGVkIHdpdGggd2hpY2ggcGF0aHMKLWFuZCBiZSBhYmxlIHRvIHBhdGNoIHRoZXNlIGVudHJpZXMgd2l0aCBhIGNvbXBsZXRlIHNldCBvZiBjb3JyZWN0IHBhdGhzIGJ1dCB0aGlzIHdlCi1kb24ndCBoYXZlIHN1Y2ggY29kZSBhdCB0aGlzIHBvaW50LiBUaGlzIGlzIHNvbWV0aGluZyB0aGUgdGFyZ2V0IGdjYyByZWNpcGUgc2hvdWxkIGRvCi1hbmQgb3ZlcnJpZGUgdGhlc2UgcGxhdGZvcm0gZGVmYXVsdHMgaW4gaXRzIGJ1aWxkIGNvbmZpZy4KLQotUlAgMTUvOC8xMQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogRWx2aXMgRG93c29uIDxlbHZpcy5kb3dzb25AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGdjYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgICB8ICA2ICsrLS0tLQotIGdjYy9jb25maWcvbWlwcy90LWxpbnV4NjQgICB8IDEwICsrKy0tLS0tLS0KLSBnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQgfCAgNSArKy0tLQotIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci1pbmRleCA4ZWEwZmFmZjM2OS4uMjY2YzYwMDgwMDQgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci1AQCAtMzIsNyArMzIsNSBAQAotICMKLSBjb21tYT0sCi0gTVVMVElMSUJfT1BUSU9OUyAgICA9ICQoc3Vic3QgJChjb21tYSksLywkKFRNX01VTFRJTElCX0NPTkZJRykpCi0tTVVMVElMSUJfRElSTkFNRVMgICA9ICQocGF0c3Vic3QgbSUsICUsICQoc3Vic3QgLywgLCQoTVVMVElMSUJfT1BUSU9OUykpKQotLU1VTFRJTElCX09TRElSTkFNRVMgPSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDp4ODZfNjQtbGludXgtZ251KQotLU1VTFRJTElCX09TRElSTkFNRVMrPSBtMzI9JChpZiAkKHdpbGRjYXJkICQoc2hlbGwgZWNobyAkKFNZU1RFTV9IRUFERVJfRElSKSkvLi4vLi4vdXNyL2xpYjMyKSwuLi9saWIzMiwuLi9saWIpJChjYWxsIGlmX211bHRpYXJjaCw6aTM4Ni1saW51eC1nbnUpCi0tTVVMVElMSUJfT1NESVJOQU1FUys9IG14MzI9Li4vbGlieDMyJChjYWxsIGlmX211bHRpYXJjaCw6eDg2XzY0LWxpbnV4LWdudXgzMikKLStNVUxUSUxJQl9ESVJOQU1FUyA9IC4gLgotK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbWlwcy90LWxpbnV4NjQgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci1pbmRleCBjMDE3YjdkMDRjNS4uMTI2ODkyY2Y0MGIgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci1AQCAtMTcsMTAgKzE3LDYgQEAKLSAjIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAKLSBNVUxUSUxJQl9PUFRJT05TID0gbWFiaT1uMzIvbWFiaT0zMi9tYWJpPTY0Ci0tTVVMVElMSUJfRElSTkFNRVMgPSBuMzIgMzIgNjQKLS1NSVBTX0VMID0gJChpZiAkKGZpbHRlciAlZWwsICQoZmlyc3R3b3JkICQoc3Vic3QgLSwgLCQodGFyZ2V0KSkpKSxlbCkKLS1NSVBTX1NPRlQgPSAkKGlmICQoc3RyaXAgJChmaWx0ZXIgTUFTS19TT0ZUX0ZMT0FUX0FCSSwgJCh0YXJnZXRfY3B1X2RlZmF1bHQpKSAkKGZpbHRlciBzb2Z0LCAkKHdpdGhfZmxvYXQpKSksc29mdCkKLS1NVUxUSUxJQl9PU0RJUk5BTUVTID0gXAotLQkuLi9saWIzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpbjMyJChNSVBTX1NPRlQpKSBcCi0tCS4uL2xpYiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHMkKE1JUFNfRUwpLWxpbnV4LWdudSQoTUlQU19TT0ZUKSkgXAotLQkuLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpNjQkKE1JUFNfU09GVCkpCi0rTVVMVElMSUJfRElSTkFNRVMgPSAuIC4gLgotK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQotKwotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NCBiL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NAotaW5kZXggMGZhYTJhMDJkZjQuLjEzZmQ4Y2E5NzFlIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQKLUBAIC0yNiwxMCArMjYsOSBAQAotICMgTVVMVElMSUJfT1NESVJOQU1FUyBhY2NvcmRpbmcgdG8gd2hhdCBpcyBmb3VuZCBvbiB0aGUgdGFyZ2V0LgotIAotIE1VTFRJTElCX09QVElPTlMgICAgOj0gbTY0L20zMgotLU1VTFRJTElCX0RJUk5BTUVTICAgOj0gNjQgMzIKLStNVUxUSUxJQl9ESVJOQU1FUyAgIDo9IC4gLgotIE1VTFRJTElCX0VYVFJBX09QVFMgOj0gCi0tTVVMVElMSUJfT1NESVJOQU1FUyA6PSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDpwb3dlcnBjNjQtbGludXgtZ251KQotLU1VTFRJTElCX09TRElSTkFNRVMgKz0gbTMyPSQoaWYgJCh3aWxkY2FyZCAkKHNoZWxsIGVjaG8gJChTWVNURU1fSEVBREVSX0RJUikpLy4uLy4uL3Vzci9saWIzMiksLi4vbGliMzIsLi4vbGliKSQoY2FsbCBpZl9tdWx0aWFyY2gsOnBvd2VycGMtbGludXgtZ251KQotK01VTFRJTElCX09TRElSTkFNRVMgOj0gLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkgLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkKLSAKLSByczYwMDAtbGludXgubzogJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvcnM2MDAwLWxpbnV4LmMKLSAJJChDT01QSUxFKSAkPAotLS0gCi0yLjE3LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwNy1vcHRpb25hbC1saWJzdGRjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwNy1vcHRpb25hbC1saWJzdGRjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjFlYTAzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMDctb3B0aW9uYWwtbGlic3RkYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNSArMCwwIEBACi1Gcm9tIGZiN2RmNjNlOTU0OGMyOWI3MDYwMWQ2NDJhMTg1MGZjNDU1Zjg1NjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxMjo1NiArMDQwMAotU3ViamVjdDogW1BBVENIIDA3LzM5XSBvcHRpb25hbCBsaWJzdGRjCi0KLWdjYy1ydW50aW1lIGJ1aWxkcyBsaWJzdGRjKysgc2VwYXJhdGVseSBmcm9tIGdjYy1jcm9zcy0qLiBJdHMgY29uZmlndXJlIHRlc3RzIHVzaW5nIGcrKwotd2lsbCBub3QgcnVuIGNvcnJlY3RseSBzaW5jZSBieSBkZWZhdWx0IHRoZSBsaW5rZXIgd2lsbCB0cnkgdG8gbGluayBhZ2FpbnN0IGxpYnN0ZGMrKwotd2hpY2ggc2hvdWxkbid0IGV4aXN0IHlldC4gV2UgbmVlZCBhbiBvcHRpb24gdG8gZGlzYWJsZSAtbHN0ZGMrKwotb3B0aW9uIHdoaWxzdCBsZWF2aW5nIC1sYywgLWxnY2MgYW5kIG90aGVyIGF1dG9tYXRpYyBsaWJyYXJ5IGRlcGVuZGVuY2llcyBhZGRlZCBieSBnY2MKLWRyaXZlci4gVGhpcyBwYXRjaCBhZGRzIHN1Y2ggYW4gb3B0aW9uIHdoaWNoIG9ubHkgZGlzYWJsZXMgdGhlIC1sc3RkYysrLgotCi1BICJzdGFuZGFyZCIgZ2NjIGJ1aWxkIHVzZXMgeGdjYyBhbmQgaGVuY2UgYXZvaWRzIHRoaXMuIFdlIHNob3VsZCBhc2sgdXBzdHJlYW0gaG93IHRvCi1kbyB0aGlzIG9mZmljaWFsbHksIHRoZSBsaWtlbHkgYW5zd2VyIGlzIGRvbid0IGJ1aWxkIGxpYnN0ZGMrKyBzZXBhcmF0ZWx5LgotCi1SUCAyOS82LzEwCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0tLS0KLSBnY2MvYy1mYW1pbHkvYy5vcHQgIHwgIDQgKysrKwotIGdjYy9jcC9nKytzcGVjLmMgICAgfCAgMSArCi0gZ2NjL2RvYy9pbnZva2UudGV4aSB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCi0gZ2NjL2djYy5jICAgICAgICAgICB8ICAxICsKLSA0IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jLWZhbWlseS9jLm9wdCBiL2djYy9jLWZhbWlseS9jLm9wdAotaW5kZXggNTAxMzUwMWIyMzIuLjYzMTJmMmM4ZjkwIDEwMDY0NAotLS0tIGEvZ2NjL2MtZmFtaWx5L2Mub3B0Ci0rKysgYi9nY2MvYy1mYW1pbHkvYy5vcHQKLUBAIC0xOTAwLDYgKzE5MDAsMTAgQEAgbm9zdGRpbmMrKwotIEMrKyBPYmpDKysKLSBEbyBub3Qgc2VhcmNoIHN0YW5kYXJkIHN5c3RlbSBpbmNsdWRlIGRpcmVjdG9yaWVzIGZvciBDKysuCi0gCi0rbm9zdGRsaWIrKwotK0RyaXZlcgotK0RvIG5vdCBsaW5rIHN0YW5kYXJkIEMrKyBydW50aW1lIGxpYnJhcnkKLSsKLSBvCi0gQyBPYmpDIEMrKyBPYmpDKysgSm9pbmVkIFNlcGFyYXRlCi0gOyBEb2N1bWVudGVkIGluIGNvbW1vbi5vcHQKLWRpZmYgLS1naXQgYS9nY2MvY3AvZysrc3BlYy5jIGIvZ2NjL2NwL2crK3NwZWMuYwotaW5kZXggNDQzYTE3NDZkYTMuLmU5YjUxYmU2MmVmIDEwMDY0NAotLS0tIGEvZ2NjL2NwL2crK3NwZWMuYwotKysrIGIvZ2NjL2NwL2crK3NwZWMuYwotQEAgLTEzNyw2ICsxMzcsNyBAQCBsYW5nX3NwZWNpZmljX2RyaXZlciAoc3RydWN0IGNsX2RlY29kZWRfb3B0aW9uICoqaW5fZGVjb2RlZF9vcHRpb25zLAotICAgICAgIHN3aXRjaCAoZGVjb2RlZF9vcHRpb25zW2ldLm9wdF9pbmRleCkKLSAJewotIAljYXNlIE9QVF9ub3N0ZGxpYjoKLSsJY2FzZSBPUFRfbm9zdGRsaWJfXzoKLSAJY2FzZSBPUFRfbm9kZWZhdWx0bGliczoKLSAJICBsaWJyYXJ5ID0gLTE7Ci0gCSAgYnJlYWs7Ci1kaWZmIC0tZ2l0IGEvZ2NjL2RvYy9pbnZva2UudGV4aSBiL2djYy9kb2MvaW52b2tlLnRleGkKLWluZGV4IGNiNzFiNjBmZTNjLi5iMGQ0ODFlM2EzMCAxMDA2NDQKLS0tLSBhL2djYy9kb2MvaW52b2tlLnRleGkKLSsrKyBiL2djYy9kb2MvaW52b2tlLnRleGkKLUBAIC0yMTEsNiArMjExLDkgQEAgaW4gdGhlIGZvbGxvd2luZyBzZWN0aW9ucy4KLSAtZm5vLXdlYWsgIC1ub3N0ZGluYysrIEBnb2wKLSAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gQGdvbAotIC1mdmlzaWJpbGl0eS1tcy1jb21wYXQgQGdvbAotKy1mdnRhYmxlLXZlcmlmeT1AcntbfXN0ZEBye3x9cHJlaW5pdEBye3x9bm9uZUBye119IEBnb2wKLSstZnZ0di1jb3VudHMgLWZ2dHYtZGVidWcgQGdvbAotKy1ub3N0ZGxpYisrIEBnb2wKLSAtZmV4dC1udW1lcmljLWxpdGVyYWxzIEBnb2wKLSAtV2FiaT1AdmFye259ICAtV2FiaS10YWcgIC1XY29udmVyc2lvbi1udWxsICAtV2N0b3ItZHRvci1wcml2YWN5IEBnb2wKLSAtV2RlbGV0ZS1ub24tdmlydHVhbC1kdG9yICAtV2xpdGVyYWwtc3VmZml4ICAtV211bHRpcGxlLWluaGVyaXRhbmNlIEBnb2wKLUBAIC01MDksNyArNTEyLDcgQEAgT2JqZWN0aXZlLUMgYW5kIE9iamVjdGl2ZS1DKysgRGlhbGVjdHN9LgotIC1zICAtc3RhdGljIC1zdGF0aWMtcGllIC1zdGF0aWMtbGliZ2NjICAtc3RhdGljLWxpYnN0ZGMrKyBAZ29sCi0gLXN0YXRpYy1saWJhc2FuICAtc3RhdGljLWxpYnRzYW4gIC1zdGF0aWMtbGlibHNhbiAgLXN0YXRpYy1saWJ1YnNhbiBAZ29sCi0gLXN0YXRpYy1saWJtcHggIC1zdGF0aWMtbGlibXB4d3JhcHBlcnMgQGdvbAotLS1zaGFyZWQgIC1zaGFyZWQtbGliZ2NjICAtc3ltYm9saWMgQGdvbAotKy1zaGFyZWQgIC1zaGFyZWQtbGliZ2NjICAtc3ltYm9saWMgLW5vc3RkbGliKysgQGdvbAotIC1UIEB2YXJ7c2NyaXB0fSAgLVdsLEB2YXJ7b3B0aW9ufSAgLVhsaW5rZXIgQHZhcntvcHRpb259IEBnb2wKLSAtdSBAdmFye3N5bWJvbH0gIC16IEB2YXJ7a2V5d29yZH19Ci0gCi1AQCAtMTIzMzEsNiArMTIzMzQsMzMgQEAgbGlicmFyeSBzdWJyb3V0aW5lcy4KLSBjb25zdHJ1Y3RvcnMgYXJlIGNhbGxlZDsgQHB4cmVme0NvbGxlY3QyLCxAY29kZXtjb2xsZWN0Mn0sIGdjY2ludCwKLSBHTlUgQ29tcGlsZXIgQ29sbGVjdGlvbiAoR0NDKSBJbnRlcm5hbHN9LikKLSAKLStAaXRlbSAtbm9zdGRsaWIrKwotK0BvcGluZGV4IG5vc3RkbGliKysKLStEbyBub3QgdXNlIHRoZSBzdGFuZGFyZCBzeXN0ZW0gQysrIHJ1bnRpbWUgbGlicmFyaWVzIHdoZW4gbGlua2luZy4KLStPbmx5IHRoZSBsaWJyYXJpZXMgeW91IHNwZWNpZnkgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGxpbmtlci4KLSsKLStAY2luZGV4IEBvcHRpb257LWxnY2N9LCB1c2Ugd2l0aCBAb3B0aW9uey1ub3N0ZGxpYn0KLStAY2luZGV4IEBvcHRpb257LW5vc3RkbGlifSBhbmQgdW5yZXNvbHZlZCByZWZlcmVuY2VzCi0rQGNpbmRleCB1bnJlc29sdmVkIHJlZmVyZW5jZXMgYW5kIEBvcHRpb257LW5vc3RkbGlifQotK0BjaW5kZXggQG9wdGlvbnstbGdjY30sIHVzZSB3aXRoIEBvcHRpb257LW5vZGVmYXVsdGxpYnN9Ci0rQGNpbmRleCBAb3B0aW9uey1ub2RlZmF1bHRsaWJzfSBhbmQgdW5yZXNvbHZlZCByZWZlcmVuY2VzCi0rQGNpbmRleCB1bnJlc29sdmVkIHJlZmVyZW5jZXMgYW5kIEBvcHRpb257LW5vZGVmYXVsdGxpYnN9Ci0rT25lIG9mIHRoZSBzdGFuZGFyZCBsaWJyYXJpZXMgYnlwYXNzZWQgYnkgQG9wdGlvbnstbm9zdGRsaWJ9IGFuZAotK0BvcHRpb257LW5vZGVmYXVsdGxpYnN9IGlzIEBmaWxle2xpYmdjYy5hfSwgYSBsaWJyYXJ5IG9mIGludGVybmFsIHN1YnJvdXRpbmVzCi0rd2hpY2ggR0NDIHVzZXMgdG8gb3ZlcmNvbWUgc2hvcnRjb21pbmdzIG9mIHBhcnRpY3VsYXIgbWFjaGluZXMsIG9yIHNwZWNpYWwKLStuZWVkcyBmb3Igc29tZSBsYW5ndWFnZXMuCi0rKEB4cmVme0ludGVyZmFjZSwsSW50ZXJmYWNpbmcgdG8gR0NDIE91dHB1dCxnY2NpbnQsR05VIENvbXBpbGVyCi0rQ29sbGVjdGlvbiAoR0NDKSBJbnRlcm5hbHN9LAotK2ZvciBtb3JlIGRpc2N1c3Npb24gb2YgQGZpbGV7bGliZ2NjLmF9LikKLStJbiBtb3N0IGNhc2VzLCB5b3UgbmVlZCBAZmlsZXtsaWJnY2MuYX0gZXZlbiB3aGVuIHlvdSB3YW50IHRvIGF2b2lkCi0rb3RoZXIgc3RhbmRhcmQgbGlicmFyaWVzLiAgSW4gb3RoZXIgd29yZHMsIHdoZW4geW91IHNwZWNpZnkgQG9wdGlvbnstbm9zdGRsaWJ9Ci0rb3IgQG9wdGlvbnstbm9kZWZhdWx0bGlic30geW91IHNob3VsZCB1c3VhbGx5IHNwZWNpZnkgQG9wdGlvbnstbGdjY30gYXMgd2VsbC4KLStUaGlzIGVuc3VyZXMgdGhhdCB5b3UgaGF2ZSBubyB1bnJlc29sdmVkIHJlZmVyZW5jZXMgdG8gaW50ZXJuYWwgR0NDCi0rbGlicmFyeSBzdWJyb3V0aW5lcy4KLSsoQW4gZXhhbXBsZSBvZiBzdWNoIGFuIGludGVybmFsIHN1YnJvdXRpbmUgaXMgQGNvZGV7X19tYWlufSwgdXNlZCB0byBlbnN1cmUgQysrCi0rY29uc3RydWN0b3JzIGFyZSBjYWxsZWQ7IEBweHJlZntDb2xsZWN0MiwsQGNvZGV7Y29sbGVjdDJ9LCBnY2NpbnQsCi0rR05VIENvbXBpbGVyIENvbGxlY3Rpb24gKEdDQykgSW50ZXJuYWxzfS4pCi0rCi0gQGl0ZW0gLXBpZQotIEBvcGluZGV4IHBpZQotIFByb2R1Y2UgYSBkeW5hbWljYWxseSBsaW5rZWQgcG9zaXRpb24gaW5kZXBlbmRlbnQgZXhlY3V0YWJsZSBvbiB0YXJnZXRzCi1kaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCi1pbmRleCAwMmIzY2QzOWZjMi4uOGNkMjdhNWRhZDUgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYwotQEAgLTEwNDcsNiArMTA0Nyw3IEBAIHByb3BlciBwb3NpdGlvbiBhbW9uZyB0aGUgb3RoZXIgb3V0cHV0IGZpbGVzLiAgKi8KLSAgICAgJShtZmxpYikgIiBTVEFDS19TUExJVF9TUEVDICJcCi0gICAgICV7ZnByb2ZpbGUtYXJjc3xmcHJvZmlsZS1nZW5lcmF0ZSp8Y292ZXJhZ2U6LWxnY292fSAiIFNBTklUSVpFUl9TUEVDICIgXAotICAgICAleyFub3N0ZGxpYjoleyFub2RlZmF1bHRsaWJzOiUobGlua19zc3ApICUobGlua19nY2NfY19zZXF1ZW5jZSl9fVwKLSsgICAgJXshbm9zdGRsaWIrKzp9XAotICAgICAleyFub3N0ZGxpYjoleyFub3N0YXJ0ZmlsZXM6JUV9fSAle1QqfSAgXG4lKHBvc3RfbGluaykgfX19fX19IgotICNlbmRpZgotIAotLS0gCi0yLjE3LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwOC1nY2MtZGlzYWJsZS1NQVNLX1JFTEFYX1BJQ19DQUxMUy1iaXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA4LWdjYy1kaXNhYmxlLU1BU0tfUkVMQVhfUElDX0NBTExTLWJpdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTc2YjdmNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA4LWdjYy1kaXNhYmxlLU1BU0tfUkVMQVhfUElDX0NBTExTLWJpdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLUZyb20gMTFlYjk3ZWZjY2I5MGI4MzBjODRlZDA3N2EyNWIxYTE1YWQzMzM1YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjE0OjIwICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDgvMzldIGdjYzogZGlzYWJsZSBNQVNLX1JFTEFYX1BJQ19DQUxMUyBiaXQKLQotVGhlIG5ldyBmZWF0dXJlIGFkZGVkIGFmdGVyIDQuMy4zCi0iaHR0cDovL3d3dy5wdWJicy5uZXQvMjAwOTA5L2djYy85NDA0OC1wYXRjaC1hZGQtc3VwcG9ydC1mb3Itcm1pcHNqYWxyLmh0bWwiCi13aWxsIGNhdXNlIGNjMXBsdXMgZWF0IHVwIGFsbCB0aGUgc3lzdGVtIG1lbW9yeSB3aGVuIGJ1aWxkIHdlYmtpdC1ndGsuCi1UaGUgZnVuY3Rpb24gbWlwc19nZXRfcGljX2NhbGxfc3ltYm9sIGtlZXBzIG9uIHJlY3Vyc2l2ZWx5IGNhbGxpbmcgaXRzZWxmLgotRGlzYWJsZSB0aGlzIGZlYXR1cmUgdG8gd2FsayBhc2lkZSB0aGUgYnVnLgotCi1TaWduZWQtb2ZmLWJ5OiBEb25neGlhbyBYdSA8ZG9uZ3hpYW8ueHVAaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQotLS0tCi0gZ2NjL2NvbmZpZ3VyZSAgICB8IDcgLS0tLS0tLQotIGdjYy9jb25maWd1cmUuYWMgfCA3IC0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKLWluZGV4IGNhZmQwNWZkMTUwLi4xOWJhMDUxZDY3MyAxMDA3NTUKLS0tLSBhL2djYy9jb25maWd1cmUKLSsrKyBiL2djYy9jb25maWd1cmUKLUBAIC0yNzU1MywxMyArMjc1NTMsNiBAQCAkYXNfZWNob19uICJjaGVja2luZyBhc3NlbWJsZXIgYW5kIGxpbmtlciBmb3IgZXhwbGljaXQgSkFMUiByZWxvY2F0aW9uLi4uICIgPiY2OwotICAgICAgICAgcm0gLWYgY29uZnRlc3QuKgotICAgICAgIGZpCi0gICAgIGZpCi0tICAgIGlmIHRlc3QgJGdjY19jdl9hc19sZF9qYWxyX3JlbG9jID0geWVzOyB0aGVuCi0tICAgICAgaWYgdGVzdCB4JHRhcmdldF9jcHVfZGVmYXVsdCA9IHg7IHRoZW4KLS0gICAgICAgIHRhcmdldF9jcHVfZGVmYXVsdD1NQVNLX1JFTEFYX1BJQ19DQUxMUwotLSAgICAgIGVsc2UKLS0gICAgICAgIHRhcmdldF9jcHVfZGVmYXVsdD0iKCR0YXJnZXRfY3B1X2RlZmF1bHQpfE1BU0tfUkVMQVhfUElDX0NBTExTIgotLSAgICAgIGZpCi0tICAgIGZpCi0gICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkZ2NjX2N2X2FzX2xkX2phbHJfcmVsb2MiID4mNQotICRhc19lY2hvICIkZ2NjX2N2X2FzX2xkX2phbHJfcmVsb2MiID4mNjsgfQotIAotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCi1pbmRleCBkZDViMzgxOTVjZS4uMDY2ZGZlMTliYjYgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlndXJlLmFjCi0rKysgYi9nY2MvY29uZmlndXJlLmFjCi1AQCAtNDc5OCwxMyArNDc5OCw2IEBAIHg6Ci0gICAgICAgICBybSAtZiBjb25mdGVzdC4qCi0gICAgICAgZmkKLSAgICAgZmkKLS0gICAgaWYgdGVzdCAkZ2NjX2N2X2FzX2xkX2phbHJfcmVsb2MgPSB5ZXM7IHRoZW4KLS0gICAgICBpZiB0ZXN0IHgkdGFyZ2V0X2NwdV9kZWZhdWx0ID0geDsgdGhlbgotLSAgICAgICAgdGFyZ2V0X2NwdV9kZWZhdWx0PU1BU0tfUkVMQVhfUElDX0NBTExTCi0tICAgICAgZWxzZQotLSAgICAgICAgdGFyZ2V0X2NwdV9kZWZhdWx0PSIoJHRhcmdldF9jcHVfZGVmYXVsdCl8TUFTS19SRUxBWF9QSUNfQ0FMTFMiCi0tICAgICAgZmkKLS0gICAgZmkKLSAgICAgQUNfTVNHX1JFU1VMVCgkZ2NjX2N2X2FzX2xkX2phbHJfcmVsb2MpCi0gCi0gICAgIEFDX0NBQ0hFX0NIRUNLKFtsaW5rZXIgZm9yIC5laF9mcmFtZSBwZXJzb25hbGl0eSByZWxheGF0aW9uXSwKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMDktQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMDktQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2FiZWNlMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA5LUNPTExFQ1RfR0NDX09QVElPTlMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1Gcm9tIGUxOWQyNTg0N2YwOGVlYjVlZjI2YTAzMWZhNWVmZjczMmJmZDBkNDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxNjoyOCArMDQwMAotU3ViamVjdDogW1BBVENIIDA5LzM5XSBDT0xMRUNUX0dDQ19PUFRJT05TCi0KLVRoaXMgcGF0Y2ggYWRkcyAtLXN5c3Jvb3QgaW50byBDT0xMRUNUX0dDQ19PUFRJT05TIHdoaWNoIGlzIHVzZWQgdG8KLWludm9rZSBjb2xsZWN0Mi4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBnY2MvZ2NjLmMgfCA5ICsrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYwotaW5kZXggOGNkMjdhNWRhZDUuLmQzNTVkNjU1ODNhIDEwMDY0NAotLS0tIGEvZ2NjL2djYy5jCi0rKysgYi9nY2MvZ2NjLmMKLUBAIC00Njc3LDYgKzQ2NzcsMTUgQEAgc2V0X2NvbGxlY3RfZ2NjX29wdGlvbnMgKHZvaWQpCi0gCQlzaXplb2YgKCJDT0xMRUNUX0dDQ19PUFRJT05TPSIpIC0gMSk7Ci0gCi0gICBmaXJzdF90aW1lID0gVFJVRTsKLSsjaWZkZWYgSEFWRV9MRF9TWVNST09UCi0rICBpZiAodGFyZ2V0X3N5c3RlbV9yb290X2NoYW5nZWQgJiYgdGFyZ2V0X3N5c3RlbV9yb290KQotKyAgICB7Ci0rICAgICAgb2JzdGFja19ncm93ICgmY29sbGVjdF9vYnN0YWNrLCAiJy0tc3lzcm9vdD0iLCBzaXplb2YoIictLXN5c3Jvb3Q9IiktMSk7Ci0rICAgICAgb2JzdGFja19ncm93ICgmY29sbGVjdF9vYnN0YWNrLCB0YXJnZXRfc3lzdGVtX3Jvb3Qsc3RybGVuKHRhcmdldF9zeXN0ZW1fcm9vdCkpOwotKyAgICAgIG9ic3RhY2tfZ3JvdyAoJmNvbGxlY3Rfb2JzdGFjaywgIiciLCAxKTsKLSsgICAgICBmaXJzdF90aW1lID0gRkFMU0U7Ci0rICAgIH0KLSsjZW5kaWYKLSAgIGZvciAoaSA9IDA7IChpbnQpIGkgPCBuX3N3aXRjaGVzOyBpKyspCi0gICAgIHsKLSAgICAgICBjb25zdCBjaGFyICpjb25zdCAqYXJnczsKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTAtVXNlLXRoZS1kZWZhdWx0cy5oLWluLUItaW5zdGVhZC1vZi1TLWFuZC10LW9lLWluLUIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDEwLVVzZS10aGUtZGVmYXVsdHMuaC1pbi1CLWluc3RlYWQtb2YtUy1hbmQtdC1vZS1pbi1CLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Nzg1YjU4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTAtVXNlLXRoZS1kZWZhdWx0cy5oLWluLUItaW5zdGVhZC1vZi1TLWFuZC10LW9lLWluLUIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5NiArMCwwIEBACi1Gcm9tIDI2NWNiODgzYzMxMGYzYmI3ZTQ5ZmQxM2I4MTM2MjQ3NmZiZWI2YzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxNzoyNSArMDQwMAotU3ViamVjdDogW1BBVENIIDEwLzM5XSBVc2UgdGhlIGRlZmF1bHRzLmggaW4gJHtCfSBpbnN0ZWFkIG9mICR7U30sIGFuZCB0LW9lIGluCi0gJHtCfQotCi1Vc2UgdGhlIGRlZmF1bHRzLmggaW4gJHtCfSBpbnN0ZWFkIG9mICR7U30sIGFuZCB0LW9lIGluICR7Qn0sIHNvIHRoYXQKLXRoZSBzb3VyY2UgY2FuIGJlIHNoYXJlZCBiZXR3ZWVuIGdjYy1jcm9zcy1pbml0aWFsLAotZ2NjLWNyb3NzLWludGVybWVkaWF0ZSwgZ2NjLWNyb3NzLCBnY2MtcnVudGltZSwgYW5kIGFsc28gdGhlIHNkayBidWlsZC4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVdoaWxlIGNvbXBpbGluZyBnY2MtY3Jvc3NzZGstaW5pdGlhbC14ODZfNjQgb24gc29tZSBob3N0LCB0aGVyZSBpcwotb2NjYXNpb25hbGx5IGZhaWx1cmUgdGhhdCB0ZXN0IHRoZSBleGlzdGFuY2Ugb2YgZGVmYXVsdC5oIGRvZXNuJ3QKLXdvcmssIHRoZSByZWFzb24gaXMgdG1faW5jbHVkZV9saXN0PScqKiBkZWZhdWx0cy5oJyByYXRoZXIgdGhhbgotdG1faW5jbHVkZV9saXN0PScqKiAuL2RlZmF1bHRzLmgnCi0KLVNvIHdlIGFkZCB0aGUgdGVzdCBjb25kaXRpb24gZm9yIHRoaXMgc2l0dWF0aW9uLgotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gZ2NjL01ha2VmaWxlLmluICB8IDIgKy0KLSBnY2MvY29uZmlndXJlICAgIHwgNCArKy0tCi0gZ2NjL2NvbmZpZ3VyZS5hYyB8IDQgKystLQotIGdjYy9ta2NvbmZpZy5zaCAgfCA0ICsrLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9NYWtlZmlsZS5pbiBiL2djYy9NYWtlZmlsZS5pbgotaW5kZXggMjBiZWUwNDk0YjEuLjEzNjcxMzZiZmFjIDEwMDY0NAotLS0tIGEvZ2NjL01ha2VmaWxlLmluCi0rKysgYi9nY2MvTWFrZWZpbGUuaW4KLUBAIC01MzgsNyArNTM4LDcgQEAgVEFSR0VUX1NZU1RFTV9ST09UID0gQFRBUkdFVF9TWVNURU1fUk9PVEAKLSBUQVJHRVRfU1lTVEVNX1JPT1RfREVGSU5FID0gQFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkVACi0gCi0geG1ha2VfZmlsZT1AeG1ha2VfZmlsZUAKLS10bWFrZV9maWxlPUB0bWFrZV9maWxlQAotK3RtYWtlX2ZpbGU9QHRtYWtlX2ZpbGVAIC4vdC1vZQotIFRNX0VORElBTl9DT05GSUc9QFRNX0VORElBTl9DT05GSUdACi0gVE1fTVVMVElMSUJfQ09ORklHPUBUTV9NVUxUSUxJQl9DT05GSUdACi0gVE1fTVVMVElMSUJfRVhDRVBUSU9OU19DT05GSUc9QFRNX01VTFRJTElCX0VYQ0VQVElPTlNfQ09ORklHQAotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCi1pbmRleCAxOWJhMDUxZDY3My4uYTU3NTgzOWMxYjIgMTAwNzU1Ci0tLS0gYS9nY2MvY29uZmlndXJlCi0rKysgYi9nY2MvY29uZmlndXJlCi1AQCAtMTIxNTgsOCArMTIxNTgsOCBAQCBmb3IgZiBpbiAkdG1fZmlsZTsgZG8KLSAgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gJGYiCi0gICAgICAgIDs7Ci0gICAgIGRlZmF1bHRzLmggKQotLSAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSBcJChzcmNkaXIpLyRmIgotLSAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAkZiIKLSsgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi8kZiIKLSsgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gLi8kZiIKLSAgICAgICAgOzsKLSAgICAgKiApCi0gICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IFwkKHNyY2RpcikvY29uZmlnLyRmIgotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCi1pbmRleCAwNjZkZmUxOWJiNi4uNjc2MTE2YTZkOTYgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlndXJlLmFjCi0rKysgYi9nY2MvY29uZmlndXJlLmFjCi1AQCAtMTkyMiw4ICsxOTIyLDggQEAgZm9yIGYgaW4gJHRtX2ZpbGU7IGRvCi0gICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9ICRmIgotICAgICAgICA7OwotICAgICBkZWZhdWx0cy5oICkKLS0gICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gXCQoc3JjZGlyKS8kZiIKLS0gICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gJGYiCi0rICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IC4vJGYiCi0rICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9IC4vJGYiCi0gICAgICAgIDs7Ci0gICAgICogKQotICAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSBcJChzcmNkaXIpL2NvbmZpZy8kZiIKLWRpZmYgLS1naXQgYS9nY2MvbWtjb25maWcuc2ggYi9nY2MvbWtjb25maWcuc2gKLWluZGV4IDBmNzVjODYzYzBiLi42OGQ4ZDY2MTNjZiAxMDA2NDQKLS0tLSBhL2djYy9ta2NvbmZpZy5zaAotKysrIGIvZ2NjL21rY29uZmlnLnNoCi1AQCAtNzcsNyArNzcsNyBAQCBpZiBbIC1uICIkSEVBREVSUyIgXTsgdGhlbgotICAgICBpZiBbICQjIC1nZSAxIF07IHRoZW4KLSAJZWNobyAnI2lmZGVmIElOX0dDQycgPj4gJHtvdXRwdXR9VAotIAlmb3IgZmlsZSBpbiAiJEAiOyBkbwotLQkgICAgaWYgdGVzdCB4IiRmaWxlIiA9IHgiZGVmYXVsdHMuaCI7IHRoZW4KLSsJICAgIGlmIHRlc3QgeCIkZmlsZSIgPSB4Ii4vZGVmYXVsdHMuaCIgLW8geCIkZmlsZSIgPSB4ImRlZmF1bHRzLmgiOyB0aGVuCi0gCQlwb3N0cG9uZV9kZWZhdWx0c19oPSJ5ZXMiCi0gCSAgICBlbHNlCi0gCQllY2hvICIjIGluY2x1ZGUgXCIkZmlsZVwiIiA+PiAke291dHB1dH1UCi1AQCAtMTA2LDcgKzEwNiw3IEBAIGVzYWMKLSAKLSAjIElmIHdlIHBvc3Rwb25lZCBpbmNsdWRpbmcgZGVmYXVsdHMuaCwgYWRkIHRoZSAjaW5jbHVkZSBub3cuCi0gaWYgdGVzdCB4IiRwb3N0cG9uZV9kZWZhdWx0c19oIiA9IHgieWVzIjsgdGhlbgotLSAgICBlY2hvICIjIGluY2x1ZGUgXCJkZWZhdWx0cy5oXCIiID4+ICR7b3V0cHV0fVQKLSsgICAgZWNobyAiIyBpbmNsdWRlIFwiLi9kZWZhdWx0cy5oXCIiID4+ICR7b3V0cHV0fVQKLSBmaQotIAotICMgQWRkIG11bHRpcGxlIGluY2x1c2lvbiBwcm90ZWN0aW9uIGd1YXJkLCBwYXJ0IHR3by4KLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTEtZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDExLWZvcnRyYW4tY3Jvc3MtY29tcGlsZS1oYWNrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZTBmYjdkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTEtZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1Gcm9tIDcxY2JhMTg4ZDQ3YjZhZTlkOWI4NzI2MWViNGJjOWViNjhhZTM1NWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToyMDowMSArMDQwMAotU3ViamVjdDogW1BBVENIIDExLzM5XSBmb3J0cmFuIGNyb3NzLWNvbXBpbGUgaGFjay4KLQotKiBGb3J0cmFuIHdvdWxkIGhhdmUgc2VhcmNoZWQgZm9yIGFybS1hbmdzdHJvbS1nbnVlYWJpLWdmb3J0cmFuIGJ1dCB3b3VsZCBoYXZlIHVzZWQKLXVzZWQgZ2ZvcnRhbi4gRm9yIGdjY180LjIuMi5iYiB3ZSB3YW50IHRvIHVzZSB0aGUgZ2ZvcnRyYW4gY29tcGlsZXIgZnJvbSBvdXIgY3Jvc3MKLWRpcmVjdG9yeS4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLS0tLQotIGxpYmdmb3J0cmFuL2NvbmZpZ3VyZSAgICB8IDIgKy0KLSBsaWJnZm9ydHJhbi9jb25maWd1cmUuYWMgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJnZm9ydHJhbi9jb25maWd1cmUgYi9saWJnZm9ydHJhbi9jb25maWd1cmUKLWluZGV4IDkxZmNlOGZlY2QwLi42NzQ3Zjg2ZWI5OCAxMDA3NTUKLS0tLSBhL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZQotKysrIGIvbGliZ2ZvcnRyYW4vY29uZmlndXJlCi1AQCAtMTI4ODMsNyArMTI4ODMsNyBAQCBlc2FjCi0gCi0gIyBXZSBuZWVkIGdmb3J0cmFuIHRvIGNvbXBpbGUgcGFydHMgb2YgdGhlIGxpYnJhcnkKLSAjQUNfUFJPR19GQyhnZm9ydHJhbikKLS1GQz0iJEdGT1JUUkFOIgotKyNGQz0iJEdGT1JUUkFOIgotIGFjX2V4dD0ke2FjX2ZjX3NyY2V4dC1mfQotIGFjX2NvbXBpbGU9JyRGQyAtYyAkRkNGTEFHUyAkYWNfZmNmbGFnc19zcmNleHQgY29uZnRlc3QuJGFjX2V4dCA+JjUnCi0gYWNfbGluaz0nJEZDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkRkNGTEFHUyAkTERGTEFHUyAkYWNfZmNmbGFnc19zcmNleHQgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCi1kaWZmIC0tZ2l0IGEvbGliZ2ZvcnRyYW4vY29uZmlndXJlLmFjIGIvbGliZ2ZvcnRyYW4vY29uZmlndXJlLmFjCi1pbmRleCBiZjZkMzYzNGRkYS4uOWRiZTQzY2M2MTYgMTAwNjQ0Ci0tLS0gYS9saWJnZm9ydHJhbi9jb25maWd1cmUuYWMKLSsrKyBiL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYwotQEAgLTI1MCw3ICsyNTAsNyBAQCBBQ19TVUJTVChlbmFibGVfc3RhdGljKQotIAotICMgV2UgbmVlZCBnZm9ydHJhbiB0byBjb21waWxlIHBhcnRzIG9mIHRoZSBsaWJyYXJ5Ci0gI0FDX1BST0dfRkMoZ2ZvcnRyYW4pCi0tRkM9IiRHRk9SVFJBTiIKLSsjRkM9IiRHRk9SVFJBTiIKLSBBQ19QUk9HX0ZDKGdmb3J0cmFuKQotIAotICMgZXh0cmEgTEQgRmxhZ3Mgd2hpY2ggYXJlIHJlcXVpcmVkIGZvciB0YXJnZXRzCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDEyLWNwcC1ob25vci1zeXNyb290LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxMi1jcHAtaG9ub3Itc3lzcm9vdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTYxZjk2Zi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDEyLWNwcC1ob25vci1zeXNyb290LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSBiM2U4ZTdlOGFlMTA2ZTMyMDdlOWVkYzNkMjNkY2NlMTQ2NGI3NTVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjI6MDAgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxMi8zOV0gY3BwOiBob25vciBzeXNyb290LgotCi1DdXJyZW50bHksIGlmIHRoZSBnY2MgdG9vbGNoYWluIGlzIHJlbG9jYXRlZCBhbmQgaW5zdGFsbGVkIGZyb20gc3N0YXRlLCB0aGVuIHlvdSB0cnkgYW5kIGNvbXBpbGUKLXByZXByb2Nlc3NlZCBzb3VyY2UgKC5pIG9yIC5paSBmaWxlcyksIHRoZSBjb21waWxlciB3aWxsIHRyeSBhbmQgYWNjZXNzIHRoZSBidWlsdGluIHN5c3Jvb3QgbG9jYXRpb24KLXJhdGhlciB0aGFuIHRoZSAtLXN5c3Jvb3Qgb3B0aW9uIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZGxpbmUuIElmIGFjY2VzcyB0byB0aGF0IGRpcmVjdG9yeSBpcwotcGVybWlzc2lvbiBkZW5pZWQgKHVucmVhZGFibGUpLCBnY2Mgd2lsbCBlcnJvci4KLQotVGhpcyBoYXBwZW5zIHdoZW4gY2NhY2hlIGlzIGluIHVzZSBkdWUgdG8gdGhlIGZhY3QgaXQgdXNlcyBwcmVwcm9jZXNzZWQgc291cmNlIGZpbGVzLgotCi1UaGUgZml4IGJlbG93IGFkZHMgJUkgdG8gdGhlIGNwcC1vdXRwdXQgc3BlYyBtYWNybyBzbyB0aGUgZGVmYXVsdCBzdWJzdGl0dXRpb25zIGZvciAtaXByZWZpeCwKLS1pc3lzdGVtLCAtaXN5c3Jvb3QgaGFwcGVuIGFuZCB0aGUgY29ycmVjdCBzeXNyb290IGlzIHVzZWQuCi0KLVtZT0NUTyAjMjA3NF0KLQotUlAgMjAxMi8wNC8xMwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGdjYy9jcC9sYW5nLXNwZWNzLmggfCAyICstCi0gZ2NjL2djYy5jICAgICAgICAgICB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jcC9sYW5nLXNwZWNzLmggYi9nY2MvY3AvbGFuZy1zcGVjcy5oCi1pbmRleCBmMDgwMmI4OTE1Yy4uZjMyNGQyOTk4NDkgMTAwNjQ0Ci0tLS0gYS9nY2MvY3AvbGFuZy1zcGVjcy5oCi0rKysgYi9nY2MvY3AvbGFuZy1zcGVjcy5oCi1AQCAtNjQsNSArNjQsNSBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotICAgeyIuaWkiLCAiQGMrKy1jcHAtb3V0cHV0IiwgMCwgMCwgMH0sCi0gICB7IkBjKystY3BwLW91dHB1dCIsCi0gICAgIiV7IU06JXshTU06JXshRTpcCi0tICAgIGNjMXBsdXMgLWZwcmVwcm9jZXNzZWQgJWkgJShjYzFfb3B0aW9ucykgJTJcCi0rICAgIGNjMXBsdXMgLWZwcmVwcm9jZXNzZWQgJWkgJUkgJShjYzFfb3B0aW9ucykgJTJcCi0gICAgICV7IWZzeW50YXgtb25seTolKGludm9rZV9hcyl9fX19IiwgMCwgMCwgMH0sCi1kaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCi1pbmRleCBkMzU1ZDY1NTgzYS4uNTcwY2RjMDAwMzQgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYwotQEAgLTEzNDMsNyArMTM0Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29tcGlsZXIgZGVmYXVsdF9jb21waWxlcnNbXSA9Ci0gCQkJCQkgICAlV3tvKjotLW91dHB1dC1wY2g9JSp9fSVWfX19fX19fSIsIDAsIDAsIDB9LAotICAgeyIuaSIsICJAY3BwLW91dHB1dCIsIDAsIDAsIDB9LAotICAgeyJAY3BwLW91dHB1dCIsCi0tICAgIiV7IU06JXshTU06JXshRTpjYzEgLWZwcmVwcm9jZXNzZWQgJWkgJShjYzFfb3B0aW9ucykgJXshZnN5bnRheC1vbmx5OiUoaW52b2tlX2FzKX19fX0iLCAwLCAwLCAwfSwKLSsgICAiJXshTToleyFNTToleyFFOmNjMSAtZnByZXByb2Nlc3NlZCAlaSAlSSAlKGNjMV9vcHRpb25zKSAleyFmc3ludGF4LW9ubHk6JShpbnZva2VfYXMpfX19fSIsIDAsIDAsIDB9LAotICAgeyIucyIsICJAYXNzZW1ibGVyIiwgMCwgMCwgMH0sCi0gICB7IkBhc3NlbWJsZXIiLAotICAgICIleyFNOiV7IU1NOiV7IUU6JXshUzphcyAlKGFzbV9kZWJ1ZykgJShhc21fb3B0aW9ucykgJWkgJUEgfX19fSIsIDAsIDAsIDB9LAotLS0gCi0yLjE3LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxMy1NSVBTNjQtRGVmYXVsdC10by1ONjQtQUJJLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxMy1NSVBTNjQtRGVmYXVsdC10by1ONjQtQUJJLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZWY4ODA2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTMtTUlQUzY0LURlZmF1bHQtdG8tTjY0LUFCSS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLUZyb20gMGYzNjI5OTc4Y2Q3Yzk4NjE0ZTg3ZDRmZDE5MGI4OTg2NDIyMTYzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjIzOjA4ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTMvMzldIE1JUFM2NDogRGVmYXVsdCB0byBONjQgQUJJCi0KLU1JUFM2NCBkZWZhdWx0cyB0byBuMzIgQUJJLCB0aGlzIHBhdGNoIG1ha2VzIGl0Ci1zbyB0aGF0IGl0IGRlZmF1bHRzIHRvIE42NCBBQkkKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBjb25maWcgc3BlY2lmaWNdCi0tLS0KLSBnY2MvY29uZmlnLmdjYyB8IDEwICsrKysrLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy5nY2MgYi9nY2MvY29uZmlnLmdjYwotaW5kZXggODc0MWRkMWUzYjIuLjJmZmNiMzlkODVmIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy5nY2MKLSsrKyBiL2djYy9jb25maWcuZ2NjCi1AQCAtMjEzNywyOSArMjEzNywyOSBAQCBtaXBzKi0qLWxpbnV4KikJCQkJIyBMaW51eCBNSVBTLCBlaXRoZXIgZW5kaWFuLgotIAkJCWRlZmF1bHRfbWlwc19hcmNoPW1pcHMzMgotIAkJCTs7Ci0gCQltaXBzNjRlbC1zdC1saW51eC1nbnUpCi0tCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKLSsJCQlkZWZhdWx0X21pcHNfYWJpPTY0Ci0gCQkJdG1fZmlsZT0iJHt0bV9maWxlfSBtaXBzL3N0LmgiCi0gCQkJdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSBtaXBzL3Qtc3QiCi0gCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCi0gCQkJOzsKLSAJCW1pcHM2NG9jdGVvbiotKi1saW51eCopCi0tCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKLSsJCQlkZWZhdWx0X21pcHNfYWJpPTY0Ci0gCQkJdG1fZGVmaW5lcz0iJHt0bV9kZWZpbmVzfSBNSVBTX0NQVV9TVFJJTkdfREVGQVVMVD1cXFwib2N0ZW9uXFxcIiIKLSAJCQl0YXJnZXRfY3B1X2RlZmF1bHQ9TUFTS19TT0ZUX0ZMT0FUX0FCSQotIAkJCWVuYWJsZV9taXBzX211bHRpbGlicz0ieWVzIgotIAkJCTs7Ci0gCQltaXBzaXNhNjRyNiotKi1saW51eCopCi0tCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKLSsJCQlkZWZhdWx0X21pcHNfYWJpPTY0Ci0gCQkJZGVmYXVsdF9taXBzX2FyY2g9bWlwczY0cjYKLSAJCQllbmFibGVfbWlwc19tdWx0aWxpYnM9InllcyIKLSAJCQk7OwotIAkJbWlwc2lzYTY0cjIqLSotbGludXgqKQotLQkJCWRlZmF1bHRfbWlwc19hYmk9bjMyCi0rCQkJZGVmYXVsdF9taXBzX2FiaT02NAotIAkJCWRlZmF1bHRfbWlwc19hcmNoPW1pcHM2NHIyCi0gCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCi0gCQkJOzsKLSAJCW1pcHM2NCotKi1saW51eCogfCBtaXBzaXNhNjQqLSotbGludXgqKQotLQkJCWRlZmF1bHRfbWlwc19hYmk9bjMyCi0rCQkJZGVmYXVsdF9taXBzX2FiaT02NAotIAkJCWVuYWJsZV9taXBzX211bHRpbGlicz0ieWVzIgotIAkJCTs7Ci0gCWVzYWMKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTQtRGVmaW5lLUdMSUJDX0RZTkFNSUNfTElOS0VSLWFuZC1VQ0xJQkNfRFlOQU1JQ19MSU5LRS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTQtRGVmaW5lLUdMSUJDX0RZTkFNSUNfTElOS0VSLWFuZC1VQ0xJQkNfRFlOQU1JQ19MSU5LRS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDQzYmI5ZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE0LURlZmluZS1HTElCQ19EWU5BTUlDX0xJTktFUi1hbmQtVUNMSUJDX0RZTkFNSUNfTElOS0UucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNDggKzAsMCBAQAotRnJvbSA1M2YxYzM4MmIxMzY2YzU2MjFjOGVkZWFkOWM3NjY5NTBjMjkwZmQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjQ6NTAgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxNC8zOV0gRGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIGFuZCBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIKLSByZWxhdGl2ZSB0byBTWVNURU1MSUJTX0RJUgotCi1UaGlzIHBhdGNoIGRlZmluZXMgR0xJQkNfRFlOQU1JQ19MSU5LRVIgYW5kIFVDTElCQ19EWU5BTUlDX0xJTktFUgotcmVsYXRpdmUgdG8gU1lTVEVNTElCU19ESVIgd2hpY2ggY2FuIGJlIHNldCBpbiBnZW5lcmF0ZWQgaGVhZGVycwotVGhpcyBicmVha3MgdGhlIGFzc3VtcHRpb24gb2YgaGFyZGNvZGVkIG11bHRpbGliIGluIGdjYwotQ2hhbmdlIGlzIG9ubHkgZm9yIHRoZSBzdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlcyBpbiBPRSBpbmNsdWRpbmcKLVNILCBzcGFyYywgYWxwaGEgZm9yIHBvc3NpYmxlIGZ1dHVyZSBzdXBwb3J0IChpZiBhbnkpCi0KLVJlbW92ZXMgdGhlIGRvX2hlYWRlcmZpeCB0YXNrIGluIG1ldGFkYXRhCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UgY29uZmlndXJhdGlvbl0KLS0tLQotIGdjYy9jb25maWcvYWxwaGEvbGludXgtZWxmLmggfCAgNCArKy0tCi0gZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oICB8ICA0ICsrLS0KLSBnY2MvY29uZmlnL2FybS9saW51eC1lbGYuaCAgIHwgIDIgKy0KLSBnY2MvY29uZmlnL2kzODYvbGludXguaCAgICAgIHwgIDIgKy0KLSBnY2MvY29uZmlnL2kzODYvbGludXg2NC5oICAgIHwgIDYgKysrLS0tCi0gZ2NjL2NvbmZpZy9saW51eC5oICAgICAgICAgICB8ICA4ICsrKystLS0tCi0gZ2NjL2NvbmZpZy9taXBzL2xpbnV4LmggICAgICB8IDEyICsrKysrKy0tLS0tLQotIGdjYy9jb25maWcvcmlzY3YvbGludXguaCAgICAgfCAgMiArLQotIGdjYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaCAgfCAxNiArKysrKystLS0tLS0tLS0tCi0gZ2NjL2NvbmZpZy9zaC9saW51eC5oICAgICAgICB8ICAyICstCi0gZ2NjL2NvbmZpZy9zcGFyYy9saW51eC5oICAgICB8ICAyICstCi0gZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmggICB8ICA0ICsrLS0KLSAxMiBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAzNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWxwaGEvbGludXgtZWxmLmggYi9nY2MvY29uZmlnL2FscGhhL2xpbnV4LWVsZi5oCi1pbmRleCAzNmI3NGRjMTk5My4uMDIzNzM1NzhhZjggMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2FscGhhL2xpbnV4LWVsZi5oCi0rKysgYi9nY2MvY29uZmlnL2FscGhhL2xpbnV4LWVsZi5oCi1AQCAtMjMsOCArMjMsOCBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotICNkZWZpbmUgRVhUUkFfU1BFQ1MgXAotIHsgImVsZl9keW5hbWljX2xpbmtlciIsIEVMRl9EWU5BTUlDX0xJTktFUiB9LAotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIJIi9saWIvbGQtbGludXguc28uMiIKLS0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSCVNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSICBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjAiCi0gI2lmIERFRkFVTFRfTElCQyA9PSBMSUJDX1VDTElCQwotICNkZWZpbmUgQ0hPT1NFX0RZTkFNSUNfTElOS0VSKEcsIFUpICIle21nbGliYzoiIEcgIjs6IiBVICJ9IgotICNlbGlmIERFRkFVTFRfTElCQyA9PSBMSUJDX0dMSUJDCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCi1pbmRleCA4NTg1ZmRlM2Q0MS4uYjNhZjY4Y2FjNTcgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKLSsrKyBiL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAotQEAgLTYyLDggKzYyLDggQEAKLSAgICBHTElCQ19EWU5BTUlDX0xJTktFUl9ERUZBVUxUIGFuZCBUQVJHRVRfREVGQVVMVF9GTE9BVF9BQkkuICAqLwotIAotICN1bmRlZiAgR0xJQkNfRFlOQU1JQ19MSU5LRVIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSX1NPRlRfRkxPQVQgIi9saWIvbGQtbGludXguc28uMyIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSX0hBUkRfRkxPQVQgIi9saWIvbGQtbGludXgtYXJtaGYuc28uMyIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSX1NPRlRfRkxPQVQgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjMiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUl9IQVJEX0ZMT0FUIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1hcm1oZi5zby4zIgotICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJfREVGQVVMVCBHTElCQ19EWU5BTUlDX0xJTktFUl9TT0ZUX0ZMT0FUCi0gCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBcCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWxmLmggYi9nY2MvY29uZmlnL2FybS9saW51eC1lbGYuaAotaW5kZXggY2ZjZDljYjFhNWMuLmE3OThlOTg3ZWNiIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWxmLmgKLSsrKyBiL2djYy9jb25maWcvYXJtL2xpbnV4LWVsZi5oCi1AQCAtNjAsNyArNjAsNyBAQAotIAotICNkZWZpbmUgTElCR0NDX1NQRUMgIiV7bWZsb2F0LWFiaT1zb2Z0KjotbGZsb2F0fSAtbGdjYyIKLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSAKLSAjZGVmaW5lIExJTlVYX1RBUkdFVF9MSU5LX1NQRUMgICIle2gqfSBcCi0gICAgJXtzdGF0aWM6LUJzdGF0aWN9IFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvbGludXguaCBiL2djYy9jb25maWcvaTM4Ni9saW51eC5oCi1pbmRleCA2OWY5N2YxNWIwZC4uNzFiYzMxZDkyMzEgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2kzODYvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4LmgKLUBAIC0yMCw3ICsyMCw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSAKLSAjZGVmaW5lIEdOVV9VU0VSX0xJTktfRU1VTEFUSU9OICJlbGZfaTM4NiIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSAKLSAjdW5kZWYgTVVTTF9EWU5BTUlDX0xJTktFUgotICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1tdXNsLWkzODYuc28uMSIKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvbGludXg2NC5oIGIvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaAotaW5kZXggZjJkOTEzZTMwYWMuLjg3MjVmMzNkOGE1IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaAotKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaAotQEAgLTI3LDkgKzI3LDkgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCi0gI2RlZmluZSBHTlVfVVNFUl9MSU5LX0VNVUxBVElPTjY0ICJlbGZfeDg2XzY0IgotICNkZWZpbmUgR05VX1VTRVJfTElOS19FTVVMQVRJT05YMzIgImVsZjMyX3g4Nl82NCIKLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgIi9saWIvbGQtbGludXguc28uMiIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgIi9saWI2NC9sZC1saW51eC14ODYtNjQuc28uMiIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSWDMyICIvbGlieDMyL2xkLWxpbnV4LXgzMi5zby4yIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LXg4Ni02NC5zby4yIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJYMzIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LXgzMi5zby4yIgotIAotICN1bmRlZiBNVVNMX0RZTkFNSUNfTElOS0VSMzIKLSAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC1tdXNsLWkzODYuc28uMSIKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2xpbnV4LmggYi9nY2MvY29uZmlnL2xpbnV4LmgKLWluZGV4IDJlYTRmZjkyYzFkLi40ODdiMGMwOTIzYiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9saW51eC5oCi1AQCAtODEsMTAgKzgxLDEwIEBAIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZQotICAgIEdMSUJDX0RZTkFNSUNfTElOS0VSIG11c3QgYmUgZGVmaW5lZCBmb3IgZWFjaCB0YXJnZXQgdXNpbmcgdGhlbSwgb3IKLSAgICBHTElCQ19EWU5BTUlDX0xJTktFUjMyIGFuZCBHTElCQ19EWU5BTUlDX0xJTktFUjY0IGZvciB0YXJnZXRzCi0gICAgc3VwcG9ydGluZyBib3RoIDMyLWJpdCBhbmQgNjQtYml0IGNvbXBpbGF0aW9uLiAgKi8KLS0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC11Q2xpYmMuc28uMCIKLS0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLXVDbGliYy5zby4wIgotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgIi9saWIvbGQ2NC11Q2xpYmMuc28uMCIKLS0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUlgzMiAiL2xpYi9sZHgzMi11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjAiCi0rI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjAiCi0rI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBTWVNURU1MSUJTX0RJUiAibGQ2NC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUlgzMiBTWVNURU1MSUJTX0RJUiAibGR4MzItdUNsaWJjLnNvLjAiCi0gI2RlZmluZSBCSU9OSUNfRFlOQU1JQ19MSU5LRVIgIi9zeXN0ZW0vYmluL2xpbmtlciIKLSAjZGVmaW5lIEJJT05JQ19EWU5BTUlDX0xJTktFUjMyICIvc3lzdGVtL2Jpbi9saW5rZXIiCi0gI2RlZmluZSBCSU9OSUNfRFlOQU1JQ19MSU5LRVI2NCAiL3N5c3RlbS9iaW4vbGlua2VyNjQiCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9taXBzL2xpbnV4LmggYi9nY2MvY29uZmlnL21pcHMvbGludXguaAotaW5kZXggMmRmZDBjMThiOTAuLjEyMDU3YzUxYjVlIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9taXBzL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvbWlwcy9saW51eC5oCi1AQCAtMjIsMjAgKzIyLDIwIEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gI2RlZmluZSBHTlVfVVNFUl9MSU5LX0VNVUxBVElPTk4zMiAiZWxmMzIle0VCOmJ9JXtFTDpsfXRzbWlwbjMyIgotIAotICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBcCi0tICAiJXttbmFuPTIwMDg6L2xpYi9sZC1saW51eC1taXBzbjguc28uMTs6L2xpYi9sZC5zby4xfSIKLSsgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1taXBzbjguc28uMTs6IiBTWVNURU1MSUJTX0RJUiAibGQuc28uMX0iCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0IFwKLS0gICIle21uYW49MjAwODovbGliNjQvbGQtbGludXgtbWlwc244LnNvLjE7Oi9saWI2NC9sZC5zby4xfSIKLSsgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1taXBzbjguc28uMTs6IiBTWVNURU1MSUJTX0RJUiAibGQuc28uMX0iCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUk4zMiBcCi0tICAiJXttbmFuPTIwMDg6L2xpYjMyL2xkLWxpbnV4LW1pcHNuOC5zby4xOzovbGliMzIvbGQuc28uMX0iCi0rICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtbWlwc244LnNvLjE7OiIgU1lTVEVNTElCU19ESVIgImxkLnNvLjF9IgotIAotICN1bmRlZiBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMgotICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgXAotLSAgIiV7bW5hbj0yMDA4Oi9saWIvbGQtdUNsaWJjLW1pcHNuOC5zby4wOzovbGliL2xkLXVDbGliYy5zby4wfSIKLSsgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMtbWlwc244LnNvLjA7OiIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wfSIKLSAjdW5kZWYgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQKLSAjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0IFwKLS0gICIle21uYW49MjAwODovbGliL2xkNjQtdUNsaWJjLW1pcHNuOC5zby4wOzovbGliL2xkNjQtdUNsaWJjLnNvLjB9IgotKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkNjQtdUNsaWJjLW1pcHNuOC5zby4wOzoiIFNZU1RFTUxJQlNfRElSICJsZDY0LXVDbGliYy5zby4wfSIKLSAjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUk4zMiBcCi0tICAiJXttbmFuPTIwMDg6L2xpYjMyL2xkLXVDbGliYy1taXBzbjguc28uMDs6L2xpYjMyL2xkLXVDbGliYy5zby4wfSIKLSsgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMtbWlwc244LnNvLjA7OiIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wfSIKLSAKLSAjdW5kZWYgTVVTTF9EWU5BTUlDX0xJTktFUjMyCi0gI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSMzIgXAotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvbGludXguaCBiL2djYy9jb25maWcvcmlzY3YvbGludXguaAotaW5kZXggYWE4YTI4ZDVkLi5lYmY5NTUxYzkgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL3Jpc2N2L2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvcmlzY3YvbGludXguaAotQEAgLTIyLDcgKzIyLDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4KLSAgICAgR05VX1VTRVJfVEFSR0VUX09TX0NQUF9CVUlMVElOUygpOwkJCQlcCi0gICB9IHdoaWxlICgwKQotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXgtcmlzY3YiIFhMRU5fU1BFQyAiLSIgQUJJX1NQRUMgIi5zby4xIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LXJpc2N2IiBYTEVOX1NQRUMgIi0iIEFCSV9TUEVDICIuc28uMSIKLSAKLSAjZGVmaW5lIE1VU0xfQUJJX1NVRkZJWCBcCi0gICAiJXttYWJpPWlscDMyOi1zZn0iIFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKLWluZGV4IDkwZmU2NTY2MjU1Li41NTY5NWRhZGQ5MSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAotKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCi1AQCAtNDIwLDE2ICs0MjAsMTEgQEAgZXh0ZXJuIGludCBkb3Rfc3ltYm9sczsKLSAjdW5kZWYJTElOS19PU19ERUZBVUxUX1NQRUMKLSAjZGVmaW5lIExJTktfT1NfREVGQVVMVF9TUEVDICIlKGxpbmtfb3NfbGludXgpIgotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiJShkeW5hbWljX2xpbmtlcl9wcmVmaXgpL2xpYi9sZC5zby4xIgotLQotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBTWVNURU1MSUJTX0RJUiAibGQuc28uMSIKLSAjaWZkZWYgTElOVVg2NF9ERUZBVUxUX0FCSV9FTEZ2MgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBcCi0tIiV7bWFiaT1lbGZ2MTolKGR5bmFtaWNfbGlua2VyX3ByZWZpeCkvbGliNjQvbGQ2NC5zby4xOyIgXAotLSI6JShkeW5hbWljX2xpbmtlcl9wcmVmaXgpL2xpYjY0L2xkNjQuc28uMn0iCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0ICIle21hYmk9ZWxmdjE6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC5zby4xOzoiIFNZU1RFTUxJQlNfRElSICJsZDY0LnNvLjJ9IgotICNlbHNlCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0IFwKLS0iJXttYWJpPWVsZnYyOiUoZHluYW1pY19saW5rZXJfcHJlZml4KS9saWI2NC9sZDY0LnNvLjI7IiBcCi0tIjolKGR5bmFtaWNfbGlua2VyX3ByZWZpeCkvbGliNjQvbGQ2NC5zby4xfSIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgIiV7bWFiaT1lbGZ2MjoiIFNZU1RFTUxJQlNfRElSICJsZDY0LnNvLjI7OiIgU1lTVEVNTElCU19ESVIgImxkNjQuc28uMX0iCi0gI2VuZGlmCi0gCi0gI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSMzIgXAotQEAgLTQzNyw4ICs0MzIsOSBAQCBleHRlcm4gaW50IGRvdF9zeW1ib2xzOwotICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUjY0IFwKLSAgICIvbGliL2xkLW11c2wtcG93ZXJwYzY0IiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bXNvZnQtZmxvYXQ6LXNmfS5zby4xIgotIAotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgIi9saWIvbGQtdUNsaWJjLnNvLjAiCi0tI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiL2xpYi9sZDY0LXVDbGliYy5zby4wIgotKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wIgotKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgU1lTVEVNTElCU19ESVIgImxkNjQtdUNsaWJjLnNvLjAiCi0rCi0gI2lmIERFRkFVTFRfTElCQyA9PSBMSUJDX1VDTElCQwotICNkZWZpbmUgQ0hPT1NFX0RZTkFNSUNfTElOS0VSKEcsIFUsIE0pIFwKLSAgICIle21nbGliYzoiIEcgIjs6JXttbXVzbDoiIE0gIjs6IiBVICJ9fSIKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3NoL2xpbnV4LmggYi9nY2MvY29uZmlnL3NoL2xpbnV4LmgKLWluZGV4IDZkMmNjZDAxMmJhLi5lYzc4YTg5Y2UxNSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvc2gvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9zaC9saW51eC5oCi1AQCAtNjQsNyArNjQsNyBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotICAgIi9saWIvbGQtbXVzbC1zaCIgTVVTTF9EWU5BTUlDX0xJTktFUl9FIE1VU0xfRFlOQU1JQ19MSU5LRVJfRlAgXAotICAgIiV7bWZkcGljOi1mZHBpY30uc28uMSIKLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSAKLSAjdW5kZWYgU1VCVEFSR0VUX0xJTktfRU1VTF9TVUZGSVgKLSAjZGVmaW5lIFNVQlRBUkdFVF9MSU5LX0VNVUxfU1VGRklYICIle21mZHBpYzpfZmQ7Ol9saW51eH0iCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9zcGFyYy9saW51eC5oIGIvZ2NjL2NvbmZpZy9zcGFyYy9saW51eC5oCi1pbmRleCA5ZmIwM2FmMGZlOS4uNDAxZmRkYmJiMjIgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL3NwYXJjL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvc3BhcmMvbGludXguaAotQEAgLTgzLDcgKzgzLDcgQEAgZXh0ZXJuIGNvbnN0IGNoYXIgKmhvc3RfZGV0ZWN0X2xvY2FsX2NwdSAoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKLSAgICBXaGVuIHRoZSAtc2hhcmVkIGxpbmsgb3B0aW9uIGlzIHVzZWQgYSBmaW5hbCBsaW5rIGlzIG5vdCBiZWluZwotICAgIGRvbmUuICAqLwotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotIAotICN1bmRlZiAgTElOS19TUEVDCi0gI2RlZmluZSBMSU5LX1NQRUMgIi1tIGVsZjMyX3NwYXJjICV7c2hhcmVkOi1zaGFyZWR9IFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3NwYXJjL2xpbnV4NjQuaCBiL2djYy9jb25maWcvc3BhcmMvbGludXg2NC5oCi1pbmRleCBjMWZlNDIxNjViNy4uMjZhNzliZmEyZTMgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL3NwYXJjL2xpbnV4NjQuaAotKysrIGIvZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmgKLUBAIC04NCw4ICs4NCw4IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gICAgV2hlbiB0aGUgLXNoYXJlZCBsaW5rIG9wdGlvbiBpcyB1c2VkIGEgZmluYWwgbGluayBpcyBub3QgYmVpbmcKLSAgICBkb25lLiAgKi8KLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgIi9saWIvbGQtbGludXguc28uMiIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgIi9saWI2NC9sZC1saW51eC5zby4yIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCi0gCi0gI2lmZGVmIFNQQVJDX0JJX0FSQ0gKLSAKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTUtZ2NjLUZpeC1hcmd1bWVudC1saXN0LXRvby1sb25nLWVycm9yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxNS1nY2MtRml4LWFyZ3VtZW50LWxpc3QtdG9vLWxvbmctZXJyb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiZmY4NDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxNS1nY2MtRml4LWFyZ3VtZW50LWxpc3QtdG9vLWxvbmctZXJyb3IucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi1Gcm9tIDJlNzVhMTRjZDYwMjI3ZTAzNjc5MDE4NGYwZWI0MDBhYmMzYzg3MGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToyNjozNyArMDQwMAotU3ViamVjdDogW1BBVENIIDE1LzM5XSBnY2M6IEZpeCBhcmd1bWVudCBsaXN0IHRvbyBsb25nIGVycm9yLgotCi1UaGVyZSB3b3VsZCBiZSBhbiAiQXJndW1lbnQgbGlzdCB0b28gbG9uZyIgZXJyb3Igd2hlbiB0aGUKLWJ1aWxkIGRpcmVjdG9yeSBpcyBsb25nZXIgdGhhbiAyMDAsIHRoaXMgaXMgY2F1c2VkIGJ5OgotCi1oZWFkZXJzPWBlY2hvICQoUExVR0lOX0hFQURFUlMpIHwgdHIgJyAnICdcMDEyJyB8IHNvcnQgLXVgCi0KLVRoZSBQTFVHSU5fSEVBREVSUyBpcyB0b28gbG9uZyBiZWZvcmUgc29ydCwgc28gdGhlICJlY2hvIiBjYW4ndCBoYW5kbGUKLWl0LCB1c2UgdGhlICQoc29ydCBsaXN0KSBvZiBHTlUgbWFrZSB3aGljaCBjYW4gaGFuZGxlIHRoZSB0b28gbG9uZyBsaXN0Ci13b3VsZCBmaXggdGhlIHByb2JsZW0sIHRoZSBoZWFkZXIgd291bGQgYmUgc2hvcnQgZW5vdWdoIGFmdGVyIHNvcnRlZC4KLVRoZSAidHIgJyAnICdcMDEyJyIgd2FzIHVzZWQgZm9yIHRyYW5zbGF0aW5nIHRoZSBzcGFjZSB0byAiXG4iLCB0aGUKLSQoc29ydCBsaXN0KSBkb2Vzbid0IG5lZWQgdGhpcy4KLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGdjYy9NYWtlZmlsZS5pbiB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9NYWtlZmlsZS5pbiBiL2djYy9NYWtlZmlsZS5pbgotaW5kZXggMTM2NzEzNmJmYWMuLjcxYTgyNzVjMzlmIDEwMDY0NAotLS0tIGEvZ2NjL01ha2VmaWxlLmluCi0rKysgYi9nY2MvTWFrZWZpbGUuaW4KLUBAIC0zNTM4LDcgKzM1MzgsNyBAQCBpbnN0YWxsLXBsdWdpbjogaW5zdGFsbGRpcnMgbGFuZy5pbnN0YWxsLXBsdWdpbiBzLWhlYWRlci12YXJzIGluc3RhbGwtZ2VuZ3R5cGUKLSAjIFdlIGtlZXAgdGhlIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgZm9yIGZpbGVzIGluIGNvbmZpZyBvciBjLWZhbWlseSBhbmQgLmRlZgotICMgZmlsZXMuIEFsbCBvdGhlciBmaWxlcyBhcmUgZmxhdHRlbmVkIHRvIGEgc2luZ2xlIGRpcmVjdG9yeS4KLSAJJChta2luc3RhbGxkaXJzKSAkKERFU1RESVIpJChwbHVnaW5faW5jbHVkZWRpcikKLS0JaGVhZGVycz1gZWNobyAkKFBMVUdJTl9IRUFERVJTKSAkJChjZCAkKHNyY2Rpcik7IGVjaG8gKi5oICouZGVmKSB8IHRyICcgJyAnXDAxMicgfCBzb3J0IC11YDsgXAotKwloZWFkZXJzPSIkKHNvcnQgJChQTFVHSU5fSEVBREVSUykgJCQoY2QgJChzcmNkaXIpOyBlY2hvICouaCAqLmRlZikpIjsgXAotIAlzcmNkaXJzdHJpcD1gZWNobyAiJChzcmNkaXIpIiB8IHNlZCAncy9bXS5bXiQkXFwqfF0vXFxcXCYvZydgOyBcCi0gCWZvciBmaWxlIGluICQkaGVhZGVyczsgZG8gXAotIAkgIGlmIFsgLWYgJCRmaWxlIF0gOyB0aGVuIFwKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTYtRGlzYWJsZS1zZHQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE2LURpc2FibGUtc2R0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MTk3NTQ2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTYtRGlzYWJsZS1zZHQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotRnJvbSA0MjNkODdhYzQ3ZDIxZTM5OWQ3NTlkN2ZmM2I2MzhmMGM3MjFhN2RmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6Mjg6MTAgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxNi8zOV0gRGlzYWJsZSBzZHQuCi0KLVdlIGRvbid0IGxpc3QgZHRyYWNlIGluIERFUEVORFMgc28gd2Ugc2hvdWxkbid0IGJlIGRlcGVuZGluZyBvbiB0aGlzIGhlYWRlci4KLUl0IG1heSBvciBtYXkgbm90IGV4aXN0IGZyb20gcHJlaXZvdXMgYnVpbGRzIHRob3VnaC4gVG8gYmUgZGV0ZXJtaW5zdGljLCBkaXNhYmxlCi1zZHQuaCB1c2FnZSBhbHdheXMuIFRoaXMgYXZvaWRzIGJ1aWxkIGZhaWx1cmVzIGlmIHRoZSBoZWFkZXIgaXMgcmVtb3ZlZCBhZnRlciBjb25maWd1cmUKLWJ1dCBiZWZvcmUgbGliZ2NjIGlzIGNvbXBpbGVkIGZvciBleGFtcGxlLgotCi1SUCAyMDEyLzgvNwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1EaXNhYmxlIHNkdCBmb3IgbGlic3RkYysrLXYzLgotCi1TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtoYWNrXQotLS0tCi0gZ2NjL2NvbmZpZ3VyZSAgICAgICAgICAgICB8IDEyICsrKysrKy0tLS0tLQotIGdjYy9jb25maWd1cmUuYWMgICAgICAgICAgfCAxOCArKysrKysrKystLS0tLS0tLS0KLSBsaWJzdGRjKystdjMvY29uZmlndXJlICAgIHwgIDYgKysrLS0tCi0gbGlic3RkYysrLXYzL2NvbmZpZ3VyZS5hYyB8ICAyICstCi0gNCBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCi1pbmRleCBhNTc1ODM5YzFiMi4uODcyMzM4ZjI5YjYgMTAwNzU1Ci0tLS0gYS9nY2MvY29uZmlndXJlCi0rKysgYi9nY2MvY29uZmlndXJlCi1AQCAtMjkyOTYsMTIgKzI5Mjk2LDEyIEBAIGZpCi0geyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkiID4mNQotICRhc19lY2hvX24gImNoZWNraW5nIHN5cy9zZHQuaCBpbiB0aGUgdGFyZ2V0IEMgbGlicmFyeS4uLiAiID4mNjsgfQotIGhhdmVfc3lzX3NkdF9oPW5vCi0taWYgdGVzdCAtZiAkdGFyZ2V0X2hlYWRlcl9kaXIvc3lzL3NkdC5oOyB0aGVuCi0tICBoYXZlX3N5c19zZHRfaD15ZXMKLS0KLS0kYXNfZWNobyAiI2RlZmluZSBIQVZFX1NZU19TRFRfSCAxIiA+PmNvbmZkZWZzLmgKLS0KLS1maQotKyNpZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KLSsjICBoYXZlX3N5c19zZHRfaD15ZXMKLSsjCi0rIyRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAotKyMKLSsjZmkKLSB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGhhdmVfc3lzX3NkdF9oIiA+JjUKLSAkYXNfZWNobyAiJGhhdmVfc3lzX3NkdF9oIiA+JjY7IH0KLSAKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlLmFjIGIvZ2NjL2NvbmZpZ3VyZS5hYwotaW5kZXggNjc2MTE2YTZkOTYuLjU1MDQ2ZTY4OTI2IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZ3VyZS5hYwotKysrIGIvZ2NjL2NvbmZpZ3VyZS5hYwotQEAgLTU5NTcsMTUgKzU5NTcsMTUgQEAgZmkKLSBBQ19TVUJTVChbZW5hYmxlX2RlZmF1bHRfc3NwXSkKLSAKLSAjIFRlc3QgZm9yIDxzeXMvc2R0Lmg+IG9uIHRoZSB0YXJnZXQuCi0tR0NDX1RBUkdFVF9URU1QTEFURShbSEFWRV9TWVNfU0RUX0hdKQotLUFDX01TR19DSEVDS0lORyhzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkpCi0taGF2ZV9zeXNfc2R0X2g9bm8KLS1pZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KLS0gIGhhdmVfc3lzX3NkdF9oPXllcwotLSAgQUNfREVGSU5FKEhBVkVfU1lTX1NEVF9ILCAxLAotLSAgICAgICAgICAgIFtEZWZpbmUgaWYgeW91ciB0YXJnZXQgQyBsaWJyYXJ5IHByb3ZpZGVzIHN5cy9zZHQuaF0pCi0tZmkKLS1BQ19NU0dfUkVTVUxUKCRoYXZlX3N5c19zZHRfaCkKLSsjR0NDX1RBUkdFVF9URU1QTEFURShbSEFWRV9TWVNfU0RUX0hdKQotKyNBQ19NU0dfQ0hFQ0tJTkcoc3lzL3NkdC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5KQotKyNoYXZlX3N5c19zZHRfaD1ubwotKyNpZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KLSsjICBoYXZlX3N5c19zZHRfaD15ZXMKLSsjICBBQ19ERUZJTkUoSEFWRV9TWVNfU0RUX0gsIDEsCi0rIyAgICAgICAgICAgIFtEZWZpbmUgaWYgeW91ciB0YXJnZXQgQyBsaWJyYXJ5IHByb3ZpZGVzIHN5cy9zZHQuaF0pCi0rI2ZpCi0rI0FDX01TR19SRVNVTFQoJGhhdmVfc3lzX3NkdF9oKQotIAotICMgQ2hlY2sgaWYgVEZtb2RlIGxvbmcgZG91YmxlIHNob3VsZCBiZSB1c2VkIGJ5IGRlZmF1bHQgb3Igbm90LgotICMgU29tZSBnbGliYyB0YXJnZXRzIHVzZWQgREZtb2RlIGxvbmcgZG91YmxlLCBidXQgd2l0aCBnbGliYyAyLjQKLWRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29uZmlndXJlIGIvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQotaW5kZXggYzlkYmFhMTM5ZDUuLmM2NGE3N2QxNTJiIDEwMDc1NQotLS0tIGEvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQotKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQotQEAgLTIxNzg2LDExICsyMTc4NiwxMSBAQCBhY19jb21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCi0gYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKLSBhY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251Ci0gCi0tICBpZiB0ZXN0ICRnbGliY3h4X2N2X3N5c19zZHRfaCA9IHllczsgdGhlbgotKyMgIGlmIHRlc3QgJGdsaWJjeHhfY3Zfc3lzX3NkdF9oID0geWVzOyB0aGVuCi0gCi0tJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9TWVNfU0RUX0ggMSIgPj5jb25mZGVmcy5oCi0rIyRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAotIAotLSAgZmkKLSsjICBmaQotICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRnbGliY3h4X2N2X3N5c19zZHRfaCIgPiY1Ci0gJGFzX2VjaG8gIiRnbGliY3h4X2N2X3N5c19zZHRfaCIgPiY2OyB9Ci0gCi1kaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZ3VyZS5hYyBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKLWluZGV4IDBlZjk2MjcwYzljLi5hZmU1NWExYjIxNSAxMDA2NDQKLS0tLSBhL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKLSsrKyBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKLUBAIC0yMzAsNyArMjMwLDcgQEAgR0xJQkNYWF9DSEVDS19TQ19OUFJPQ0VTU09SU19PTkxOCi0gR0xJQkNYWF9DSEVDS19TQ19OUFJPQ19PTkxOCi0gR0xJQkNYWF9DSEVDS19QVEhSRUFEU19OVU1fUFJPQ0VTU09SU19OUAotIEdMSUJDWFhfQ0hFQ0tfU1lTQ1RMX0hXX05DUFUKLS1HTElCQ1hYX0NIRUNLX1NEVF9ICi0rI0dMSUJDWFhfQ0hFQ0tfU0RUX0gKLSAKLSAjIENoZWNrIGZvciBhdmFpbGFibGUgaGVhZGVycy4KLSBBQ19DSEVDS19IRUFERVJTKFtlbmRpYW4uaCBleGVjaW5mby5oIGZsb2F0LmggZnAuaCBpZWVlZnAuaCBpbnR0eXBlcy5oIFwKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTctbGlidG9vbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTctbGlidG9vbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNhYTFjZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE3LWxpYnRvb2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1Gcm9tIGM4YjExZTk2YjExOTEwYjJkNGRmNmFlODEwNDQ2NmUzMzAzZDkzM2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToyOToxMSArMDQwMAotU3ViamVjdDogW1BBVENIIDE3LzM5XSBsaWJ0b29sCi0KLWxpYnN0ZGMrKyBmcm9tIGdjYy1ydW50aW1lIGdldHMgY3JlYXRlZCB3aXRoIC1ycGF0aD0vdXNyL2xpYi8uLi9saWIgZm9yIHFlbXV4ODYtNjQKLXdoZW4gcnVubmluZyBvbiBhbSB4ODZfNjQgYnVpbGQgaG9zdC4KLQotVGhpcyBwYXRjaCBzdG9wcyB0aGlzIHNwZWFkaW5nIHRvIGxpYmRpciBpbiB0aGUgbGlic3RkYysrLmxhIGZpbGUgd2l0aGluIGxpYnRvb2wuCi1Bcmd1YWJseSwgaXQgc2hvdWxkbid0IGJlIHBhc3NpbmcgdGhpcyBpbnRvIGxpYnRvb2wgaW4gdGhlIGZpcnN0IHBsYWNlIGJ1dAotZm9yIG5vdyB0aGlzIHJlc29sdmVzIHRoZSBuYXN0aWVzdCBwcm9ibGVtcyB0aGlzIGNhdXNlcy4KLQotZnVuY19ub3JtYWxfYWJzcGF0aCB3b3VsZCByZXNvbHZlIGFuIGVtcHR5IHBhdGggdG8gYHB3ZGAgc28gd2UgbmVlZAotdG8gZmlsdGVyIHRoZSB6ZXJvIGNhc2UuCi0KLVJQIDIwMTIvOC8yNAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGx0bWFpbi5zaCB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2x0bWFpbi5zaCBiL2x0bWFpbi5zaAotaW5kZXggOTUwM2VjODVkNzAuLjAxMjFmYmE3MDdmIDEwMDY0NAotLS0tIGEvbHRtYWluLnNoCi0rKysgYi9sdG1haW4uc2gKLUBAIC02MzU5LDYgKzYzNTksMTAgQEAgZnVuY19tb2RlX2xpbmsgKCkKLSAJZnVuY193YXJuaW5nICJpZ25vcmluZyBtdWx0aXBsZSBcYC1ycGF0aCdzIGZvciBhIGxpYnRvb2wgbGlicmFyeSIKLSAKLSAgICAgICBpbnN0YWxsX2xpYmRpcj0iJDEiCi0rICAgICAgaWYgdGVzdCAtbiAiJGluc3RhbGxfbGliZGlyIjsgdGhlbgotKwlmdW5jX25vcm1hbF9hYnNwYXRoICIkaW5zdGFsbF9saWJkaXIiCi0rCWluc3RhbGxfbGliZGlyPSRmdW5jX25vcm1hbF9hYnNwYXRoX3Jlc3VsdAotKyAgICAgIGZpCi0gCi0gICAgICAgb2xkbGlicz0KLSAgICAgICBpZiB0ZXN0IC16ICIkcnBhdGgiOyB0aGVuCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE4LWdjYy1hcm12NC1wYXNzLWZpeC12NGJ4LXRvLWxpbmtlci10by1zdXBwb3J0LUVBQkkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE4LWdjYy1hcm12NC1wYXNzLWZpeC12NGJ4LXRvLWxpbmtlci10by1zdXBwb3J0LUVBQkkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0M2NjNjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxOC1nY2MtYXJtdjQtcGFzcy1maXgtdjRieC10by1saW5rZXItdG8tc3VwcG9ydC1FQUJJLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbSA3ZGJiYTg0NGE1OWJkZjZlN2Q3MjRmOGJmYTc5MjcyNDZjYjdhZjhmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MzA6MzIgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxOC8zOV0gZ2NjOiBhcm12NDogcGFzcyBmaXgtdjRieCB0byBsaW5rZXIgdG8gc3VwcG9ydCBFQUJJLgotCi1UaGUgTElOS19TUEVDIGZvciBsaW51eCBnZXRzIG92ZXJ3cml0dGVuIGJ5IGxpbnV4LWVhYmkuaCB3aGljaAotbWVhbnMgdGhlIHZhbHVlIG9mIFRBUkdFVF9GSVhfVjRCWF9TUEVDIGdldHMgbG9zdCBhbmQgYXMgYSByZXN1bHQKLXRoZSBvcHRpb24gaXMgbm90IHBhc3NlZCB0byBsaW5rZXIgd2hlbiBjaG9zaW5nIG1hcmNoPWFybXY0Ci1UaGlzIHBhdGNoIHJlZGVmaW5lcyB0aGlzIGluIGxpbnV4LWVhYmkuaCBhbmQgcmVpbnNlcnRzIGl0Ci1mb3IgZWFiaSBkZWZhdWx0aW5nIHRvb2xjaGFpbnMuCi0KLVdlIG1pZ2h0IHdhbnQgdG8gc2VuZCBpdCB1cHN0cmVhbS4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBnY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmggfCA2ICsrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaCBiL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAotaW5kZXggYjNhZjY4Y2FjNTcuLjMzMGI2ZTEzYzVmIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCi0rKysgYi9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKLUBAIC04OCwxMCArODgsMTQgQEAKLSAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgXAotICAgIi9saWIvbGQtbXVzbC1hcm0iIE1VU0xfRFlOQU1JQ19MSU5LRVJfRSAiJXttZmxvYXQtYWJpPWhhcmQ6aGZ9LnNvLjEiCi0gCi0rLyogRm9yIGFybXY0IHdlIHBhc3MgLS1maXgtdjRieCB0byBsaW5rZXIgdG8gc3VwcG9ydCBFQUJJICovCi0rI3VuZGVmIFRBUkdFVF9GSVhfVjRCWF9TUEVDCi0rI2RlZmluZSBUQVJHRVRfRklYX1Y0QlhfU1BFQyAiJXttY3B1PWFybTh8bWNwdT1hcm04MTB8bWNwdT1zdHJvbmdhcm0qfG1hcmNoPWFybXY0OiAtLWZpeC12NGJ4fSIKLSsKLSAvKiBBdCB0aGlzIHBvaW50LCBicGFiaS5oIHdpbGwgaGF2ZSBjbG9iYmVyZWQgTElOS19TUEVDLiAgV2Ugd2FudCB0bwotICAgIHVzZSB0aGUgR05VL0xpbnV4IHZlcnNpb24sIG5vdCB0aGUgZ2VuZXJpYyBCUEFCSSB2ZXJzaW9uLiAgKi8KLSAjdW5kZWYgIExJTktfU1BFQwotLSNkZWZpbmUgTElOS19TUEVDIEVBQklfTElOS19TUEVDCQkJCQlcCi0rI2RlZmluZSBMSU5LX1NQRUMgVEFSR0VUX0ZJWF9WNEJYX1NQRUMgRUFCSV9MSU5LX1NQRUMJCQlcCi0gICBMSU5VWF9PUl9BTkRST0lEX0xEIChMSU5VWF9UQVJHRVRfTElOS19TUEVDLAkJCQlcCi0gCQkgICAgICAgTElOVVhfVEFSR0VUX0xJTktfU1BFQyAiICIgQU5EUk9JRF9MSU5LX1NQRUMpCi0gCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE5LVVzZS10aGUtbXVsdGlsaWItY29uZmlnLWZpbGVzLWZyb20tQi1pbnN0ZWFkLW9mLXVzaW4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE5LVVzZS10aGUtbXVsdGlsaWItY29uZmlnLWZpbGVzLWZyb20tQi1pbnN0ZWFkLW9mLXVzaW4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4NDkxODYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxOS1Vc2UtdGhlLW11bHRpbGliLWNvbmZpZy1maWxlcy1mcm9tLUItaW5zdGVhZC1vZi11c2luLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAyICswLDAgQEAKLUZyb20gMTE3MTQwYWNkM2MzODNmNjIwZmY3NTg5NDI3NjAwMWM3NDA1ZGNjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjMzOjA0ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTkvMzldIFVzZSB0aGUgbXVsdGlsaWIgY29uZmlnIGZpbGVzIGZyb20gJHtCfSBpbnN0ZWFkIG9mCi0gdXNpbmcgdGhlIG9uZXMgZnJvbSAke1N9Ci0KLVVzZSB0aGUgbXVsdGlsaWIgY29uZmlnIGZpbGVzIGZyb20gJHtCfSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBvbmVzIGZyb20gJHtTfQotc28gdGhhdCB0aGUgc291cmNlIGNhbiBiZSBzaGFyZWQgYmV0d2VlbiBnY2MtY3Jvc3MtaW5pdGlhbCwKLWdjYy1jcm9zcy1pbnRlcm1lZGlhdGUsIGdjYy1jcm9zcywgZ2NjLXJ1bnRpbWUsIGFuZCBhbHNvIHRoZSBzZGsgYnVpbGQuCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KLS0tLQotIGdjYy9jb25maWd1cmUgICAgfCAyMiArKysrKysrKysrKysrKysrKystLS0tCi0gZ2NjL2NvbmZpZ3VyZS5hYyB8IDIyICsrKysrKysrKysrKysrKysrKy0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQotaW5kZXggODcyMzM4ZjI5YjYuLmNmY2FkYzkzYTAxIDEwMDc1NQotLS0tIGEvZ2NjL2NvbmZpZ3VyZQotKysrIGIvZ2NjL2NvbmZpZ3VyZQotQEAgLTEyMTM4LDEwICsxMjEzOCwyMCBAQCBkb25lCi0gdG1ha2VfZmlsZV89Ci0gZm9yIGYgaW4gJHt0bWFrZV9maWxlfQotIGRvCi0tCWlmIHRlc3QgLWYgJHtzcmNkaXJ9L2NvbmZpZy8kZgotLQl0aGVuCi0tCQl0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCi0tCWZpCi0rICBjYXNlICRmIGluCi0rICAgICovdC1saW51eDY0ICkKLSsgICAgICAgaWYgdGVzdCAtZiAuL2NvbmZpZy8kZgotKyAgICAgICB0aGVuCi0rICAgICAgICAgdG1ha2VfZmlsZV89IiR7dG1ha2VfZmlsZV99IC4vY29uZmlnLyRmIgotKyAgICAgICBmaQotKyAgICAgICA7OwotKyAgICAqICkKLSsgICAgICAgaWYgdGVzdCAtZiAke3NyY2Rpcn0vY29uZmlnLyRmCi0rICAgICAgIHRoZW4KLSsgICAgICAgICB0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCi0rICAgICAgIGZpCi0rICAgICAgIDs7Ci0rICBlc2FjCi0gZG9uZQotIHRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZV99IgotIAotQEAgLTEyMTUyLDYgKzEyMTYyLDEwIEBAIHRtX2ZpbGVfbGlzdD0ib3B0aW9ucy5oIgotIHRtX2luY2x1ZGVfbGlzdD0ib3B0aW9ucy5oIGluc24tY29uc3RhbnRzLmgiCi0gZm9yIGYgaW4gJHRtX2ZpbGU7IGRvCi0gICBjYXNlICRmIGluCi0rICAgICovbGludXg2NC5oICkKLSsgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi9jb25maWcvJGYiCi0rICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9IC4vY29uZmlnLyRmIgotKyAgICAgICA7OwotICAgICAuLyogKQotICAgICAgICBmPWBlY2hvICRmIHwgc2VkICdzL14uLi8vJ2AKLSAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gJGYiCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IDU1MDQ2ZTY4OTI2Li40NGI5MDQ3OGY1NSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC0xOTAyLDEwICsxOTAyLDIwIEBAIGRvbmUKLSB0bWFrZV9maWxlXz0KLSBmb3IgZiBpbiAke3RtYWtlX2ZpbGV9Ci0gZG8KLS0JaWYgdGVzdCAtZiAke3NyY2Rpcn0vY29uZmlnLyRmCi0tCXRoZW4KLS0JCXRtYWtlX2ZpbGVfPSIke3RtYWtlX2ZpbGVffSBcJChzcmNkaXIpL2NvbmZpZy8kZiIKLS0JZmkKLSsgIGNhc2UgJGYgaW4KLSsgICAgKi90LWxpbnV4NjQgKQotKyAgICAgICBpZiB0ZXN0IC1mIC4vY29uZmlnLyRmCi0rICAgICAgIHRoZW4KLSsgICAgICAgICB0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gLi9jb25maWcvJGYiCi0rICAgICAgIGZpCi0rICAgICAgIDs7Ci0rICAgICogKQotKyAgICAgICBpZiB0ZXN0IC1mICR7c3JjZGlyfS9jb25maWcvJGYKLSsgICAgICAgdGhlbgotKyAgICAgICAgIHRtYWtlX2ZpbGVfPSIke3RtYWtlX2ZpbGVffSBcJChzcmNkaXIpL2NvbmZpZy8kZiIKLSsgICAgICAgZmkKLSsgICAgICAgOzsKLSsgIGVzYWMKLSBkb25lCi0gdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlX30iCi0gCi1AQCAtMTkxNiw2ICsxOTI2LDEwIEBAIHRtX2ZpbGVfbGlzdD0ib3B0aW9ucy5oIgotIHRtX2luY2x1ZGVfbGlzdD0ib3B0aW9ucy5oIGluc24tY29uc3RhbnRzLmgiCi0gZm9yIGYgaW4gJHRtX2ZpbGU7IGRvCi0gICBjYXNlICRmIGluCi0rICAgICovbGludXg2NC5oICkKLSsgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi9jb25maWcvJGYiCi0rICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9IC4vY29uZmlnLyRmIgotKyAgICAgICA7OwotICAgICAuLyogKQotICAgICAgICBmPWBlY2hvICRmIHwgc2VkICdzL14uLi8vJ2AKLSAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gJGYiCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIwLUF2b2lkLXVzaW5nLWxpYmRpci1mcm9tLS5sYS13aGljaC11c3VhbGx5LXBvaW50cy10by0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIwLUF2b2lkLXVzaW5nLWxpYmRpci1mcm9tLS5sYS13aGljaC11c3VhbGx5LXBvaW50cy10by0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkxMWZlODUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyMC1Bdm9pZC11c2luZy1saWJkaXItZnJvbS0ubGEtd2hpY2gtdXN1YWxseS1wb2ludHMtdG8tLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSBhNzI2NjExMWE1YmEyZDE0NmM5NzllODZmZjg0ZjZiODA3Y2E1ZmRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMDk6Mzk6MzggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyMC8zOV0gQXZvaWQgdXNpbmcgbGliZGlyIGZyb20gLmxhIHdoaWNoIHVzdWFsbHkgcG9pbnRzIHRvIGEKLSBob3N0IHBhdGgKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogSm9uYXRoYW4gTGl1IDxuZXQxNDdAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGx0bWFpbi5zaCB8IDMgKysrCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCi1pbmRleCAwMTIxZmJhNzA3Zi4uNTJiZGJkYjVmOWMgMTAwNjQ0Ci0tLS0gYS9sdG1haW4uc2gKLSsrKyBiL2x0bWFpbi5zaAotQEAgLTU2MjgsNiArNTYyOCw5IEBAIGZ1bmNfbW9kZV9saW5rICgpCi0gCSAgICBhYnNkaXI9IiRhYnNfbGFkaXIiCi0gCSAgICBsaWJkaXI9IiRhYnNfbGFkaXIiCi0gCSAgZWxzZQotKwkgICAgIyBJbnN0ZWFkIG9mIHVzaW5nIGxpYmRpciBmcm9tIC5sYSB3aGljaCB1c3VhbGx5IHBvaW50cyB0byBhIGhvc3QgcGF0aCwKLSsJICAgICMgdXNlIHRoZSBwYXRoIHRoZSAubGEgaXMgY29udGFpbmVkIGluLgotKwkgICAgbGliZGlyPSIkYWJzX2xhZGlyIgotIAkgICAgZGlyPSIkbGliZGlyIgotIAkgICAgYWJzZGlyPSIkbGliZGlyIgotIAkgIGZpCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIxLWV4cG9ydC1DUFAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIxLWV4cG9ydC1DUFAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlNmI0MTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyMS1leHBvcnQtQ1BQLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotRnJvbSBjODU5OWZjM2I1NzgxYjMxOTcwN2M5YzBmMWIwYTFlZjdjZGRiMDI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMDk6NDA6NTkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyMS8zOV0gZXhwb3J0IENQUAotCi1UaGUgT0UgZW52aXJvbm1lbnQgc2V0cyBhbmQgZXhwb3J0cyBDUFAgYXMgYmVpbmcgdGhlIHRhcmdldCBnY2MuIFdoZW4KLWJ1aWxkaW5nIGdjYy1jcm9zcy1jYW5hZGlhbiBmb3IgYSBtaW5ndyB0YXJnZXR0ZWQgc2RrLCB0aGUgZm9sbG93aW5nIGNhbiBiZSBmb3VuZAotaW4gYnVpbGQueDg2XzY0LXBva3lzZGstbWluZ3czMi5pNTg2LXBva3ktbGludXgvYnVpbGQteDg2XzY0LWxpbnV4L2xpYmliZXJ0eS9jb25maWcubG9nOgotCi1jb25maWd1cmU6MzY0MTogY2hlY2tpbmcgZm9yIF9GSUxFX09GRlNFVF9CSVRTIHZhbHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMKLWNvbmZpZ3VyZTozNjY2OiBnY2MgIC1jIC1pc3lzdGVtL21lZGlhL2J1aWxkMS9wb2t5L2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2luY2x1ZGUgLU8yIC1waXBlICBjb25mdGVzdC5jID4mNQotY29uZmlndXJlOjM2NjY6ICQ/ID0gMAotY29uZmlndXJlOjM2OTg6IHJlc3VsdDogbm8KLWNvbmZpZ3VyZTozNzg2OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3NvcgotY29uZmlndXJlOjM4NTY6IHJlc3VsdDogeDg2XzY0LXBva3lzZGstbWluZ3czMi1nY2MgLUUgLS1zeXNyb290PS9tZWRpYS9idWlsZDEvcG9reS9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1taW5ndzMyLXBva3lzZGstbWluZ3czMgotY29uZmlndXJlOjM4NzY6IHg4Nl82NC1wb2t5c2RrLW1pbmd3MzItZ2NjIC1FIC0tc3lzcm9vdD0vbWVkaWEvYnVpbGQxL3Bva3kvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstbWluZ3czMi1wb2t5c2RrLW1pbmd3MzIgY29uZnRlc3QuYwotY29uZmlndXJlOjM4NzY6ICQ/ID0gMAotCi1Ob3RlIHRoaXMgaXMgYSAqYnVpbGQqIHRhcmdldCAoaW4gYnVpbGQteDg2XzY0LWxpbnV4KSBzbyBpdCBzaG91bGQgYmUKLXVzaW5nIHRoZSBob3N0ICJnY2MiLCBub3QgeDg2XzY0LXBva3lzZGstbWluZ3czMi1nY2MuIFNpbmNlIHRoZSBtaW5ndzMyCi1oZWFkZXJzIGFyZSB2ZXJ5IGRpZmZlcmVudCwgdXNpbmcgdGhlIHdyb25nIGNwcCBpcyBhIHJlYWwgcHJvYmxlbS4gSXQgaXMgbGVha2luZwotaW50byBjb25maWd1cmUgdGhyb3VnaCB0aGUgQ1BQIHZhcmlhYmxlLiBVbHRpbWF0ZWx5IHRoaXMgbGVhZHMgdG8gYnVpbGQKLWZhaWx1cmVzIHJlbGF0ZWQgdG8gbm90IGJlaW5nIGFibGUgdG8gaW5jbHVkZSBhIHByb2Nlc3MuaCBmaWxlIGZvciBwZW0tdW5peC5jLgotCi1UaGUgZml4IGlzIHRvIGVuc3VyZSB3ZSBleHBvcnQgYSBzYW5lIENQUCB2YWx1ZSBpbnRvIHRoZSBidWlsZAotZW52aXJvbm1lbnQgd2hlbiB1c2luZyBidWlsZCB0YXJnZXRzLiBXZSBjb3VsZCBkZWZpbmUgYSBDUFBfRk9SX0JVSUxEIHZhbHVlIHdoaWNoIG1heSBiZQotdGhlIHZlcnNpb24gd2hpY2ggbmVlZHMgdG8gYmUgdXBzdHJlYW1lZCBidXQgZm9yIG5vdywgdGhpcyBmaXggaXMgZ29vZCBlbm91Z2ggdG8KLWF2b2lkIHRoZSBwcm9ibGVtLgotCi1SUCAyMi8wOC8yMDEzCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gTWFrZWZpbGUuaW4gfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KLWluZGV4IDJiZjgzYjcyMjY1Li4xYWY0NTU4MDA4NiAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLmluCi0rKysgYi9NYWtlZmlsZS5pbgotQEAgLTE0OSw2ICsxNDksNyBAQCBCVUlMRF9FWFBPUlRTID0gXAotIAlBUj0iJChBUl9GT1JfQlVJTEQpIjsgZXhwb3J0IEFSOyBcCi0gCUFTPSIkKEFTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQVM7IFwKLSAJQ0M9IiQoQ0NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDQzsgXAotKwlDUFA9IiQoQ0NfRk9SX0JVSUxEKSAtRSI7IGV4cG9ydCBDUFA7IFwKLSAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENGTEFHUzsgXAotIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAotIAlDWFg9IiQoQ1hYX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1hYOyBcCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIyLURpc2FibGUtdGhlLU1VTFRJTElCX09TRElSTkFNRVMtYW5kLW90aGVyLW11bHRpbGliLW8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIyLURpc2FibGUtdGhlLU1VTFRJTElCX09TRElSTkFNRVMtYW5kLW90aGVyLW11bHRpbGliLW8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3YzU4MWYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyMi1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSA1ZTJlZTQ2YzcyMGI2Y2UwM2ExOGRhNzBkZDRlMDkxN2MyNThhYjBiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTA6MjE6NTUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyMi8zOV0gRGlzYWJsZSB0aGUgTVVMVElMSUJfT1NESVJOQU1FUyBhbmQgb3RoZXIgbXVsdGlsaWIKLSBvcHRpb25zLgotCi1IYXJkIGNvZGluZyB0aGUgTVVMVElMSUJfT1NESVJOQU1FUyB3aXRoIC4uL2xpYjY0IGlzIGNhdXNpbmcgcHJvYmxlbXMgb24KLXN5c3RlbXMgd2hlcmUgdGhlIGxpYmRpciBpcyBOT1Qgc2V0IHRvIC9saWI2NC4gIFRoaXMgaXMgYWxsb3dlZCBieSB0aGUKLUFCSSwgYXMKLWxvbmcgYXMgdGhlIGR5bmFtaWMgbG9hZGVyIGlzIHByZXNlbnQgaW4gL2xpYi4KLQotV2Ugc2ltcGx5IHdhbnQgdG8gdXNlIHRoZSBkZWZhdWx0IHJ1bGVzIGluIGdjYyB0byBmaW5kIGFuZCBjb25maWd1cmUgdGhlCi1ub3JtYWwgbGliZGlyLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGVbT0UtU3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBnY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0LWxpbnV4IHwgOCArKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0LWxpbnV4IGIvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAotaW5kZXggYjk4OTc3ODVhODkuLjdkMDZmMGQwZWRiIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAotKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAotQEAgLTIxLDggKzIxLDggQEAKLSBMSUIxQVNNU1JDICAgPSBhYXJjaDY0L2xpYjFmdW5jcy5hc20KLSBMSUIxQVNNRlVOQ1MgPSBfYWFyY2g2NF9zeW5jX2NhY2hlX3JhbmdlCi0gCi0tQUFSQ0hfQkUgPSAkKGlmICQoZmluZHN0cmluZyBUQVJHRVRfQklHX0VORElBTl9ERUZBVUxUPTEsICQodG1fZGVmaW5lcykpLF9iZSkKLS1NVUxUSUxJQl9PU0RJUk5BTUVTID0gbWFiaS5scDY0PS4uL2xpYjY0JChjYWxsIGlmX211bHRpYXJjaCw6YWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKLS1NVUxUSUFSQ0hfRElSTkFNRSA9ICQoY2FsbCBpZl9tdWx0aWFyY2gsYWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKLSsjQUFSQ0hfQkUgPSAkKGlmICQoZmluZHN0cmluZyBUQVJHRVRfQklHX0VORElBTl9ERUZBVUxUPTEsICQodG1fZGVmaW5lcykpLF9iZSkKLSsjTVVMVElMSUJfT1NESVJOQU1FUyA9IG1hYmkubHA2ND0uLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnUpCi0rI01VTFRJQVJDSF9ESVJOQU1FID0gJChjYWxsIGlmX211bHRpYXJjaCxhYXJjaDY0JChBQVJDSF9CRSktbGludXgtZ251KQotIAotLU1VTFRJTElCX09TRElSTkFNRVMgKz0gbWFiaS5pbHAzMj0uLi9saWJpbHAzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnVfaWxwMzIpCi0rI01VTFRJTElCX09TRElSTkFNRVMgKz0gbWFiaS5pbHAzMj0uLi9saWJpbHAzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnVfaWxwMzIpCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIzLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyMy1FbnN1cmUtdGFyZ2V0LWdjYy1oZWFkZXJzLWNhbi1iZS1pbmNsdWRlZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGQ0ZGExYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIzLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTggKzAsMCBAQAotRnJvbSA3Mzc2NjQyNGEyZjcxYjE4MTBmYjhhZmRkODYzMDI4ODU1ZDg3ZTVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTA6MjU6MTEgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyMy8zOV0gRW5zdXJlIHRhcmdldCBnY2MgaGVhZGVycyBjYW4gYmUgaW5jbHVkZWQKLQotVGhlcmUgYXJlIGEgZmV3IGhlYWRlcnMgaW5zdGFsbGVkIGFzIHBhcnQgb2YgdGhlIE9wZW5FbWJlZGRlZAotZ2NjLXJ1bnRpbWUgdGFyZ2V0IChvbXAuaCwgc3NwLyouaCkuIEJlaW5nIGluc3RhbGxlZCBmcm9tIGEgcmVjaXBlCi1idWlsdCBmb3IgdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUsIHRoZXNlIGFyZSB3aXRoaW4gdGhlIHRhcmdldAotc3lzcm9vdCBhbmQgbm90IGNyb3NzL25hdGl2ZXNkazsgdGh1cyB0aGV5IHdlcmVuJ3QgYWJsZSB0byBiZQotZm91bmQgYnkgZ2NjIHdpdGggdGhlIGV4aXN0aW5nIHNlYXJjaCBwYXRocy4gQWRkIHN1cHBvcnQgZm9yCi1waWNraW5nIHVwIHRoZXNlIGhlYWRlcnMgdW5kZXIgdGhlIHN5c3Jvb3Qgc3VwcGxpZWQgb24gdGhlIGdjYwotY29tbWFuZCBsaW5lIGluIG9yZGVyIHRvIHJlc29sdmUgdGhpcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9NYWtlZmlsZS5pbiAgfCAyICsrCi0gZ2NjL2NwcGRlZmF1bHQuYyB8IDQgKysrKwotIGdjYy9kZWZhdWx0cy5oICAgfCA5ICsrKysrKysrKwotIGdjYy9nY2MuYyAgICAgICAgfCA3IC0tLS0tLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KLWluZGV4IDcxYTgyNzVjMzlmLi41YWU2OTNmYjA2YyAxMDA2NDQKLS0tLSBhL2djYy9NYWtlZmlsZS5pbgotKysrIGIvZ2NjL01ha2VmaWxlLmluCi1AQCAtNjE0LDYgKzYxNCw3IEBAIGxpYmV4ZWNkaXIgPSBAbGliZXhlY2RpckAKLSAKLSAjIERpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tcGlsZXIgZmluZHMgbGlicmFyaWVzIGV0Yy4KLSBsaWJzdWJkaXIgPSAkKGxpYmRpcikvZ2NjLyQocmVhbF90YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pJChhY2NlbF9kaXJfc3VmZml4KQotK2xpYnN1YmRpcl90YXJnZXQgPSBnY2MvJCh0YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pCi0gIyBEaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGNvbXBpbGVyIGZpbmRzIGV4ZWN1dGFibGVzCi0gbGliZXhlY3N1YmRpciA9ICQobGliZXhlY2RpcikvZ2NjLyQocmVhbF90YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pJChhY2NlbF9kaXJfc3VmZml4KQotICMgRGlyZWN0b3J5IGluIHdoaWNoIGFsbCBwbHVnaW4gcmVzb3VyY2VzIGFyZSBpbnN0YWxsZWQKLUBAIC0yODcwLDYgKzI4NzEsNyBAQCBDRkxBR1MtaW50bC5vICs9IC1ETE9DQUxFRElSPVwiJChsb2NhbGVkaXIpXCIKLSAKLSBQUkVQUk9DRVNTT1JfREVGSU5FUyA9IFwKLSAgIC1ER0NDX0lOQ0xVREVfRElSPVwiJChsaWJzdWJkaXIpL2luY2x1ZGVcIiBcCi0rICAtREdDQ19JTkNMVURFX1NVQkRJUl9UQVJHRVQ9XCIkKGxpYnN1YmRpcl90YXJnZXQpL2luY2x1ZGVcIiBcCi0gICAtREZJWEVEX0lOQ0xVREVfRElSPVwiJChsaWJzdWJkaXIpL2luY2x1ZGUtZml4ZWRcIiBcCi0gICAtREdQTFVTUExVU19JTkNMVURFX0RJUj1cIiQoZ2NjX2d4eF9pbmNsdWRlX2RpcilcIiBcCi0gICAtREdQTFVTUExVU19JTkNMVURFX0RJUl9BRERfU1lTUk9PVD0kKGdjY19neHhfaW5jbHVkZV9kaXJfYWRkX3N5c3Jvb3QpIFwKLWRpZmYgLS1naXQgYS9nY2MvY3BwZGVmYXVsdC5jIGIvZ2NjL2NwcGRlZmF1bHQuYwotaW5kZXggYjM2YTk3OWQ1YmEuLmUyZTE4N2RlZGFmIDEwMDY0NAotLS0tIGEvZ2NjL2NwcGRlZmF1bHQuYwotKysrIGIvZ2NjL2NwcGRlZmF1bHQuYwotQEAgLTU5LDYgKzU5LDEwIEBAIGNvbnN0IHN0cnVjdCBkZWZhdWx0X2luY2x1ZGUgY3BwX2luY2x1ZGVfZGVmYXVsdHNbXQotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycy4gICovCi0gICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMCwgMCwgMCB9LAotICNlbmRpZgotKyNpZmRlZiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VUCi0rICAgIC8qIFRoaXMgaXMgdGhlIGRpciBmb3IgZ2NjJ3MgcHJpdmF0ZSBoZWFkZXJzIHVuZGVyIHRoZSBzcGVjaWZpZWQgc3lzcm9vdC4gICovCi0rICAgIHsgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yIEdDQ19JTkNMVURFX1NVQkRJUl9UQVJHRVQsICJHQ0MiLCAwLCAwLCAxLCAwIH0sCi0rI2VuZGlmCi0gI2lmZGVmIExPQ0FMX0lOQ0xVREVfRElSCi0gICAgIC8qIC91c3IvbG9jYWwvaW5jbHVkZSBjb21lcyBiZWZvcmUgdGhlIGZpeGluY2x1ZGVkIGhlYWRlciBmaWxlcy4gICovCi0gICAgIHsgTE9DQUxfSU5DTFVERV9ESVIsIDAsIDAsIDEsIDEsIDIgfSwKLWRpZmYgLS1naXQgYS9nY2MvZGVmYXVsdHMuaCBiL2djYy9kZWZhdWx0cy5oCi1pbmRleCA3OGEwOGEzM2YxMi4uYzg4NTEyNzc2NzQgMTAwNjQ0Ci0tLS0gYS9nY2MvZGVmYXVsdHMuaAotKysrIGIvZ2NjL2RlZmF1bHRzLmgKLUBAIC0xNDUxLDQgKzE0NTEsMTMgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCi0gI2RlZmluZSBEV0FSRl9HTkFUX0VOQ09ESU5HU19ERUZBVUxUIERXQVJGX0dOQVRfRU5DT0RJTkdTX0dEQgotICNlbmRpZgotIAotKy8qIERlZmF1bHQgcHJlZml4ZXMgdG8gYXR0YWNoIHRvIGNvbW1hbmQgbmFtZXMuICAqLwotKwotKyNpZm5kZWYgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8xCi0rI2RlZmluZSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzEgIi9saWIvIgotKyNlbmRpZgotKyNpZm5kZWYgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yCi0rI2RlZmluZSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIgIi91c3IvbGliLyIKLSsjZW5kaWYKLSsKLSAjZW5kaWYgIC8qICEgR0NDX0RFRkFVTFRTX0ggKi8KLWRpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKLWluZGV4IDU3MGNkYzAwMDM0Li4zZmI2NGQ0NTNmMSAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTQ2NCwxMyArMTQ2NCw2IEBAIHN0YXRpYyBjb25zdCBjaGFyICpnY2NfbGliZXhlY19wcmVmaXg7Ci0gCi0gLyogRGVmYXVsdCBwcmVmaXhlcyB0byBhdHRhY2ggdG8gY29tbWFuZCBuYW1lcy4gICovCi0gCi0tI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzEKLS0jZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMSAiL2xpYi8iCi0tI2VuZGlmCi0tI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIKLS0jZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiAiL3Vzci9saWIvIgotLSNlbmRpZgotLQotICNpZmRlZiBDUk9TU19ESVJFQ1RPUllfU1RSVUNUVVJFICAvKiBEb24ndCB1c2UgdGhlc2UgcHJlZml4ZXMgZm9yIGEgY3Jvc3MgY29tcGlsZXIuICAqLwotICN1bmRlZiBNRF9FWEVDX1BSRUZJWAotICN1bmRlZiBNRF9TVEFSVEZJTEVfUFJFRklYCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI0LWdjYy00Ljgtd29uLXQtYnVpbGQtd2l0aC1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI0LWdjYy00Ljgtd29uLXQtYnVpbGQtd2l0aC1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3YjQ3ZjQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyNC1nY2MtNC44LXdvbi10LWJ1aWxkLXdpdGgtZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSA1N2JlZWY2OTM5NmY2YzE4NzAxNGI4ZTYxY2RjOTY2MjE4NDc5ZDA3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTE6MTc6MTkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyNC8zOV0gZ2NjIDQuOCsgd29uJ3QgYnVpbGQgd2l0aCAtLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZwotCi1zaW5jZSB0aGUgKi5QcG8gZmlsZXMgZG9uJ3QgZ2V0IGNyZWF0ZWQgdW5sZXNzIC0tZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgaXMgdHJ1ZS4KLQotVGhpcyBwYXRjaCBlbnN1cmVzIHdlIG9ubHkgdXNlIHRob3NlIGNvbXBpbGVyIG9wdGlvbnMgd2hlbiBpdHMgZW5hYmxlZC4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLQotKFByb2JsZW0gd2FzIGFscmVhZHkgcmVwb3J0ZWQgdXBzdHJlYW0sIGF0dGFjaGVkIHRoaXMgcGF0Y2ggdGhlcmUKLWh0dHA6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NTU5MzApCi0KLVJQCi0yMDEyLzA5LzIyCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsaWJhdG9taWMvTWFrZWZpbGUuYW0gfCAzICsrLQotIGxpYmF0b21pYy9NYWtlZmlsZS5pbiB8IDMgKystCi0gMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJhdG9taWMvTWFrZWZpbGUuYW0gYi9saWJhdG9taWMvTWFrZWZpbGUuYW0KLWluZGV4IDgwM2IyOTJjY2U1Li5iNDc4NDJlYjU5MCAxMDA2NDQKLS0tLSBhL2xpYmF0b21pYy9NYWtlZmlsZS5hbQotKysrIGIvbGliYXRvbWljL01ha2VmaWxlLmFtCi1AQCAtMTAxLDcgKzEwMSw4IEBAIFBBVF9TCQk9ICQod29yZCAzLCQoUEFUX1NQTElUKSkKLSBJRlVOQ19ERUYJPSAtRElGVU5DX0FMVD0kKFBBVF9TKQotIElGVU5DX09QVAk9ICQod29yZCAkKFBBVF9TKSwkKElGVU5DX09QVElPTlMpKQotIAotLU1fREVQUwkJPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9UUlVFQE1fREVQUwkJPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9GQUxTRUBNX0RFUFMJCT0KLSBNX1NJWkUJCT0gLUROPSQoUEFUX04pCi0gTV9JRlVOQwkJPSAkKGlmICQoUEFUX1MpLCQoSUZVTkNfREVGKSAkKElGVU5DX09QVCkpCi0gTV9GSUxFCQk9ICQoUEFUX0JBU0UpX24uYwotZGlmZiAtLWdpdCBhL2xpYmF0b21pYy9NYWtlZmlsZS5pbiBiL2xpYmF0b21pYy9NYWtlZmlsZS5pbgotaW5kZXggYzhmMzhiZTU4MzUuLjRmYWI3Y2VjM2VhIDEwMDY0NAotLS0tIGEvbGliYXRvbWljL01ha2VmaWxlLmluCi0rKysgYi9saWJhdG9taWMvTWFrZWZpbGUuaW4KLUBAIC0zMzUsNyArMzM1LDggQEAgUEFUX04gPSAkKHdvcmQgMiwkKFBBVF9TUExJVCkpCi0gUEFUX1MgPSAkKHdvcmQgMywkKFBBVF9TUExJVCkpCi0gSUZVTkNfREVGID0gLURJRlVOQ19BTFQ9JChQQVRfUykKLSBJRlVOQ19PUFQgPSAkKHdvcmQgJChQQVRfUyksJChJRlVOQ19PUFRJT05TKSkKLS1NX0RFUFMgPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9UUlVFQE1fREVQUyA9IC1NVCAkQCAtTUQgLU1QIC1NRiAkKERFUERJUikvJChARikuUHBvCi0rQEFNREVQX0ZBTFNFQE1fREVQUyA9Ci0gTV9TSVpFID0gLUROPSQoUEFUX04pCi0gTV9JRlVOQyA9ICQoaWYgJChQQVRfUyksJChJRlVOQ19ERUYpICQoSUZVTkNfT1BUKSkKLSBNX0ZJTEUgPSAkKFBBVF9CQVNFKV9uLmMKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjUtRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjUtRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDhiMzViYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI1LURvbi10LXNlYXJjaC1ob3N0LWRpcmVjdG9yeS1kdXJpbmctcmVsaW5rLWlmLWluc3RfcHIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1Gcm9tIGZkOTZjOWIzNWM1OTJmMWJkZDMyYmM1YWU2NjkxNTc0NzNlNDQwNjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAzIE1hciAyMDE1IDA4OjIxOjE5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjUvMzldIERvbid0IHNlYXJjaCBob3N0IGRpcmVjdG9yeSBkdXJpbmcgInJlbGluayIgaWYKLSAkaW5zdF9wcmVmaXggaXMgcHJvdmlkZWQKLQotaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2xpYnRvb2wtcGF0Y2hlcy8yMDExLTAxL21zZzAwMDI2Lmh0bWwKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGx0bWFpbi5zaCB8IDUgKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCi1pbmRleCA1MmJkYmRiNWY5Yy4uODJiY2VjMzlmMDUgMTAwNjQ0Ci0tLS0gYS9sdG1haW4uc2gKLSsrKyBiL2x0bWFpbi5zaAotQEAgLTYwMDQsMTIgKzYwMDQsMTMgQEAgZnVuY19tb2RlX2xpbmsgKCkKLSAJICAgICAgZmkKLSAJICAgIGVsc2UKLSAJICAgICAgIyBXZSBjYW5ub3Qgc2VlbSB0byBoYXJkY29kZSBpdCwgZ3Vlc3Mgd2UnbGwgZmFrZSBpdC4KLSsJICAgICAgIyBEZWZhdWx0IGlmICRsaWJkaXIgaXMgbm90IHJlbGF0aXZlIHRvIHRoZSBwcmVmaXg6Ci0gCSAgICAgIGFkZF9kaXI9Ii1MJGxpYmRpciIKLS0JICAgICAgIyBUcnkgbG9va2luZyBmaXJzdCBpbiB0aGUgbG9jYXRpb24gd2UncmUgYmVpbmcgaW5zdGFsbGVkIHRvLgotKwotIAkgICAgICBpZiB0ZXN0IC1uICIkaW5zdF9wcmVmaXhfZGlyIjsgdGhlbgotIAkJY2FzZSAkbGliZGlyIGluCi0gCQkgIFtcXC9dKikKLS0JCSAgICBhZGRfZGlyPSIkYWRkX2RpciAtTCRpbnN0X3ByZWZpeF9kaXIkbGliZGlyIgotKwkJICAgIGFkZF9kaXI9Ii1MJGluc3RfcHJlZml4X2RpciRsaWJkaXIiCi0gCQkgICAgOzsKLSAJCWVzYWMKLSAJICAgICAgZmkKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjYtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjYtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDNhYjVhYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI2LVVzZS1TWVNURU1MSUJTX0RJUi1yZXBsYWNlbWVudC1pbnN0ZWFkLW9mLWhhcmRjb2RpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIGMyZTQwMGFmZThjNTE0MzU3ODU5ZmNhODhhZjRkM2UxZmNiZmUyZmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyOCBBcHIgMjAxNSAyMzoxNToyNyAtMDcwMAotU3ViamVjdDogW1BBVENIIDI2LzM5XSBVc2UgU1lTVEVNTElCU19ESVIgcmVwbGFjZW1lbnQgaW5zdGVhZCBvZiBoYXJkY29kaW5nCi0gYmFzZV9saWJkaXIKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLSBnY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaCBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKLWluZGV4IGJmMTMyN2U5OGNjLi42NDQzNjE4M2JjOCAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKLUBAIC0yMSw3ICsyMSw3IEBACi0gI2lmbmRlZiBHQ0NfQUFSQ0g2NF9MSU5VWF9ICi0gI2RlZmluZSBHQ0NfQUFSQ0g2NF9MSU5VWF9ICi0gCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtYWFyY2g2NCV7bWJpZy1lbmRpYW46X2JlfSV7bWFiaT1pbHAzMjpfaWxwMzJ9LnNvLjEiCi0gCi0gI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIKLSAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbXVzbC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjctYWFyY2g2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyNy1hYXJjaDY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllNWNlOGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyNy1hYXJjaDY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIGEyY2MxNzU3NjlmZDgyNTU3NTBlYWVjYWU2NGUzZDFmOWMzOGQ0OGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyOCBBcHIgMjAxNSAyMzoxODozOSAtMDcwMAotU3ViamVjdDogW1BBVENIIDI3LzM5XSBhYXJjaDY0OiBBZGQgc3VwcG9ydCBmb3IgbXVzbCBsZHNvCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmggYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oCi1pbmRleCA2NDQzNjE4M2JjOC4uYmExNTY2NzYwMjYgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oCi0rKysgYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oCi1AQCAtMjQsNyArMjQsNyBAQAotICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKLSAKLSAjdW5kZWYgTVVTTF9EWU5BTUlDX0xJTktFUgotLSNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1tdXNsLWFhcmNoNjQle21iaWctZW5kaWFuOl9iZX0le21hYmk9aWxwMzI6X2lscDMyfS5zby4xIgotKyNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUiAgU1lTVEVNTElCU19ESVIgImxkLW11c2wtYWFyY2g2NCV7bWJpZy1lbmRpYW46X2JlfSV7bWFiaT1pbHAzMjpfaWxwMzJ9LnNvLjEiCi0gCi0gI3VuZGVmICBBU0FOX0NDMV9TUEVDCi0gI2RlZmluZSBBU0FOX0NDMV9TUEVDICIleyU6c2FuaXRpemUoYWRkcmVzcyk6LWZ1bndpbmQtdGFibGVzfSIKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjgtbGliY2MxLWZpeC1saWJjYzEtcy1pbnN0YWxsLXBhdGgtYW5kLXJwYXRoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyOC1saWJjYzEtZml4LWxpYmNjMS1zLWluc3RhbGwtcGF0aC1hbmQtcnBhdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2NzNmNGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyOC1saWJjYzEtZml4LWxpYmNjMS1zLWluc3RhbGwtcGF0aC1hbmQtcnBhdGgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi1Gcm9tIGE4YThhMDI3ODhmZjk4ZjI1M2NlMGIzM2FkY2IwZTY2MWQyNGIxZTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IFN1biwgNSBKdWwgMjAxNSAyMDoyNToxOCAtMDcwMAotU3ViamVjdDogW1BBVENIIDI4LzM5XSBsaWJjYzE6IGZpeCBsaWJjYzEncyBpbnN0YWxsIHBhdGggYW5kIHJwYXRoCi0KLSogSW5zdGFsbCBsaWJjYzEuc28gYW5kIGxpYmNjMXBsdWdpbi5zbyBpbnRvCi0gICQobGliZXhlY2RpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbiksIGFzIHdoYXQgd2UKLSAgaGFkIGRvbmUgdG8gbHRvLXBsdWdpbi4KLSogRml4IGJhZCBSUEFUSCBpdXNzdWU6Ci0gIGdjYy01LjIuMDogcGFja2FnZSBnY2MtcGx1Z2lucyBjb250YWlucyBiYWQgUlBBVEggL3BhdGh0L3RvL3RtcC9zeXNyb290cy9xZW11eDg2LTY0L3Vzci9saWI2NC8uLi9saWI2NCBpbiBmaWxlCi0gL3BhdGgvdG8vZ2NjLzUuMi4wLXIwL3BhY2thZ2VzLXNwbGl0L2djYy1wbHVnaW5zL3Vzci9saWI2NC9nY2MveDg2XzY0LXBva3ktbGludXgvNS4yLjAvcGx1Z2luL2xpYmNjMXBsdWdpbi5zby4wLjAuMAotIFtycGF0aHNdCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UgY29uZmlndXJhdGlvbl0KLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBsaWJjYzEvTWFrZWZpbGUuYW0gfCA0ICsrLS0KLSBsaWJjYzEvTWFrZWZpbGUuaW4gfCA0ICsrLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYmNjMS9NYWtlZmlsZS5hbSBiL2xpYmNjMS9NYWtlZmlsZS5hbQotaW5kZXggNmVjYjY2YjQzNjUuLjYzNGNjZTNjMmE5IDEwMDY0NAotLS0tIGEvbGliY2MxL01ha2VmaWxlLmFtCi0rKysgYi9saWJjYzEvTWFrZWZpbGUuYW0KLUBAIC0zNyw4ICszNyw4IEBAIGxpYmliZXJ0eSA9ICQoaWYgJCh3aWxkY2FyZCAkKGxpYmliZXJ0eV9ub2FzYW4pKSwkKFdjKSQobGliaWJlcnR5X25vYXNhbiksIFwKLSAJICAgICQoV2MpJChsaWJpYmVydHlfbm9ybWFsKSkpCi0gbGliaWJlcnR5X2RlcCA9ICQocGF0c3Vic3QgJChXYyklLCUsJChsaWJpYmVydHkpKQotIAotLXBsdWdpbmRpciA9ICQobGliZGlyKS9nY2MvJCh0YXJnZXRfbm9uY2Fub25pY2FsKS8kKGdjY192ZXJzaW9uKS9wbHVnaW4KLS1jYzFsaWJkaXIgPSAkKGxpYmRpcikvJChsaWJzdWZmaXgpCi0rY2MxbGliZGlyID0gJChsaWJleGVjZGlyKS9nY2MvJCh0YXJnZXRfbm9uY2Fub25pY2FsKS8kKGdjY192ZXJzaW9uKQotK3BsdWdpbmRpciA9ICQoY2MxbGliZGlyKQotIAotIGlmIEVOQUJMRV9QTFVHSU4KLSBwbHVnaW5fTFRMSUJSQVJJRVMgPSBsaWJjYzFwbHVnaW4ubGEgbGliY3AxcGx1Z2luLmxhCi1kaWZmIC0tZ2l0IGEvbGliY2MxL01ha2VmaWxlLmluIGIvbGliY2MxL01ha2VmaWxlLmluCi1pbmRleCA0N2JlMTAwMjVhZC4uOGQ1NDgxZDg3YmQgMTAwNjQ0Ci0tLS0gYS9saWJjYzEvTWFrZWZpbGUuaW4KLSsrKyBiL2xpYmNjMS9NYWtlZmlsZS5pbgotQEAgLTMwMyw4ICszMDMsOCBAQCBsaWJpYmVydHkgPSAkKGlmICQod2lsZGNhcmQgJChsaWJpYmVydHlfbm9hc2FuKSksJChXYykkKGxpYmliZXJ0eV9ub2FzYW4pLCBcCi0gCSAgICAkKFdjKSQobGliaWJlcnR5X25vcm1hbCkpKQotIAotIGxpYmliZXJ0eV9kZXAgPSAkKHBhdHN1YnN0ICQoV2MpJSwlLCQobGliaWJlcnR5KSkKLS1wbHVnaW5kaXIgPSAkKGxpYmRpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikvcGx1Z2luCi0tY2MxbGliZGlyID0gJChsaWJkaXIpLyQobGlic3VmZml4KQotK2NjMWxpYmRpciA9ICQobGliZXhlY2RpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikKLStwbHVnaW5kaXIgPSAkKGNjMWxpYmRpcikKLSBARU5BQkxFX1BMVUdJTl9UUlVFQHBsdWdpbl9MVExJQlJBUklFUyA9IGxpYmNjMXBsdWdpbi5sYSBsaWJjcDFwbHVnaW4ubGEKLSBARU5BQkxFX1BMVUdJTl9UUlVFQGNjMWxpYl9MVExJQlJBUklFUyA9IGxpYmNjMS5sYQotIHNoYXJlZF9zb3VyY2UgPSBjYWxsYmFja3MuY2MgY2FsbGJhY2tzLmhoIGNvbm5lY3Rpb24uY2MgY29ubmVjdGlvbi5oaCBcCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI5LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI5LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyN2JiMGQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyOS1oYW5kbGUtc3lzcm9vdC1zdXBwb3J0LWZvci1uYXRpdmVzZGstZ2NjLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEzICswLDAgQEAKLUZyb20gM2JiNzQ0OTVlNDVlMGU3OThkYWFlNTU1NjQ5N2U2ODhiOGZjNGVlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6Mzk6NTQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyOS8zOV0gaGFuZGxlIHN5c3Jvb3Qgc3VwcG9ydCBmb3IgbmF0aXZlc2RrLWdjYwotCi1CZWluZyBhYmxlIHRvIGJ1aWxkIGEgbmF0aXZlc2RrIGdjYyBpcyB1c2VmdWwsIHBhcnRpY3VsYXJseSBpbiBjYXNlcwotd2hlcmUgdGhlIGhvc3QgY29tcGlsZXIgbWF5IGJlIG9mIGFuIGluY29tcGF0aWJsZSB2ZXJzaW9uIChvciBhIDMyCi1iaXQgY29tcGlsZXIgaXMgbmVlZGVkKS4KLQotU2FkbHksIGJ1aWxkaW5nIG5hdGl2ZXNkay1nY2MgaXMgbm90IHN0cmFpZ2h0IGZvcndhcmQuIFdlIGluc3RhbGwKLW5hdGl2ZXNkay1nY2MgaW50byBhIHJlbG9jYXRhYmxlIGxvY2F0aW9uIGFuZCB0aGlzIG1lYW5zIHRoYXQgaXRzCi1saWJyYXJ5IGxvY2F0aW9ucyBjYW4gY2hhbmdlLiAiTm9ybWFsIiBzeXNyb290IHN1cHBvcnQgZG9lc24ndCBoZWxwCi1pbiB0aGlzIGNhc2Ugc2luY2UgdGhlIHZhbHVlcyBvZiBwYXRocyBsaWtlICJsaWJkaXIiIGNoYW5nZSwgbm90IGp1c3QKLWJhc2Ugcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHN5c3RlbS4KLQotSW4gb3JkZXIgdG8gaGFuZGxlIHRoaXMgd2UgZG8gdHdvIHRoaW5nczoKLQotYSkgQWRkICVyIGludG8gc3BlYyBmaWxlIG1hcmt1cCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgaW5qZWN0ZWQgcGF0aHMKLSAgIHN1Y2ggYXMgU1lTVEVNTElCU19ESVIgKHNlZSBnY2NfbXVsdGlsaWJfc2V0dXAoKSkuCi1iKSBBZGQgb3RoZXIgcGF0aHMgd2hpY2ggbmVlZCByZWxvY2F0aW9uIGludG8gYSAuZ2NjcmVsb2NwcmVmaXggc2VjdGlvbgotICAgd2hpY2ggdGhlIHJlbG9jYXRpb24gY29kZSB3aWxsIG5vdGljZSBhbmQgYWRqdXN0IGF1dG9tYXRpY2FsbHkuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQotUlAgMjAxNS83LzI4Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBnY2MvY3BwZGVmYXVsdC5jIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCi0gZ2NjL2NwcGRlZmF1bHQuaCB8ICAzICsrLQotIGdjYy9nY2MuYyAgICAgICAgfCAyMCArKysrKysrKysrKysrLS0tLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jcHBkZWZhdWx0LmMgYi9nY2MvY3BwZGVmYXVsdC5jCi1pbmRleCBlMmUxODdkZWRhZi4uMmZhYmEyYjFkNjMgMTAwNjQ0Ci0tLS0gYS9nY2MvY3BwZGVmYXVsdC5jCi0rKysgYi9nY2MvY3BwZGVmYXVsdC5jCi1AQCAtMzUsNiArMzUsMzAgQEAKLSAjIHVuZGVmIENST1NTX0lOQ0xVREVfRElSCi0gI2VuZGlmCi0gCi0rc3RhdGljIGNoYXIgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19JTkNMVURFX0RJUjsKLStzdGF0aWMgY2hhciBHQ0NfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gR0NDX0lOQ0xVREVfRElSOwotK3N0YXRpYyBjaGFyIEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSOwotK3N0YXRpYyBjaGFyIEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVI7Ci0rc3RhdGljIGNoYXIgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VUOwotKyNpZmRlZiBMT0NBTF9JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIExPQ0FMX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IExPQ0FMX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKLStzdGF0aWMgY2hhciBQUkVGSVhfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gUFJFRklYX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBGSVhFRF9JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIEZJWEVEX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEZJWEVEX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBDUk9TU19JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIENST1NTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IENST1NTX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBUT09MX0lOQ0xVREVfRElSCi0rc3RhdGljIGNoYXIgVE9PTF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBUT09MX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIKLStzdGF0aWMgY2hhciBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSOwotKyNlbmRpZgotKwotIGNvbnN0IHN0cnVjdCBkZWZhdWx0X2luY2x1ZGUgY3BwX2luY2x1ZGVfZGVmYXVsdHNbXQotICNpZmRlZiBJTkNMVURFX0RFRkFVTFRTCi0gPSBJTkNMVURFX0RFRkFVTFRTOwotQEAgLTQyLDM4ICs2NiwzOCBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KLSA9IHsKLSAjaWZkZWYgR1BMVVNQTFVTX0lOQ0xVREVfRElSCi0gICAgIC8qIFBpY2sgdXAgR05VIEMrKyBnZW5lcmljIGluY2x1ZGUgZmlsZXMuICAqLwotLSAgICB7IEdQTFVTUExVU19JTkNMVURFX0RJUiwgIkcrKyIsIDEsIDEsCi0rICAgIHsgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKLSAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIKLSAgICAgLyogUGljayB1cCBHTlUgQysrIHRhcmdldC1kZXBlbmRlbnQgaW5jbHVkZSBmaWxlcy4gICovCi0tICAgIHsgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAotKyAgICB7IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKLSAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDEgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR1BMVVNQTFVTX0JBQ0tXQVJEX0lOQ0xVREVfRElSCi0gICAgIC8qIFBpY2sgdXAgR05VIEMrKyBiYWNrd2FyZCBhbmQgZGVwcmVjYXRlZCBpbmNsdWRlIGZpbGVzLiAgKi8KLS0gICAgeyBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAotKyAgICB7IEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUiwgIkcrKyIsIDEsIDEsCi0gICAgICAgR1BMVVNQTFVTX0lOQ0xVREVfRElSX0FERF9TWVNST09ULCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIEdDQ19JTkNMVURFX0RJUgotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycy4gICovCi0tICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMCwgMCwgMCB9LAotKyAgICB7IEdDQ19JTkNMVURFX0RJUlZBUiwgIkdDQyIsIDAsIDAsIDAsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR0NDX0lOQ0xVREVfU1VCRElSX1RBUkdFVAotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycyB1bmRlciB0aGUgc3BlY2lmaWVkIHN5c3Jvb3QuICAqLwotLSAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VULCAiR0NDIiwgMCwgMCwgMSwgMCB9LAotKyAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMlZBUiwgIkdDQyIsIDAsIDAsIDEsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgTE9DQUxfSU5DTFVERV9ESVIKLSAgICAgLyogL3Vzci9sb2NhbC9pbmNsdWRlIGNvbWVzIGJlZm9yZSB0aGUgZml4aW5jbHVkZWQgaGVhZGVyIGZpbGVzLiAgKi8KLS0gICAgeyBMT0NBTF9JTkNMVURFX0RJUiwgMCwgMCwgMSwgMSwgMiB9LAotLSAgICB7IExPQ0FMX0lOQ0xVREVfRElSLCAwLCAwLCAxLCAxLCAwIH0sCi0rICAgIHsgTE9DQUxfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDEsIDIgfSwKLSsgICAgeyBMT0NBTF9JTkNMVURFX0RJUlZBUiwgMCwgMCwgMSwgMSwgMCB9LAotICNlbmRpZgotICNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKLS0gICAgeyBQUkVGSVhfSU5DTFVERV9ESVIsIDAsIDAsIDEsIDAsIDAgfSwKLSsgICAgeyBQUkVGSVhfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDAsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgRklYRURfSU5DTFVERV9ESVIKLSAgICAgLyogVGhpcyBpcyB0aGUgZGlyIGZvciBmaXhpbmNsdWRlcy4gICovCi0tICAgIHsgRklYRURfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLAotKyAgICB7IEZJWEVEX0lOQ0xVREVfRElSVkFSLCAiR0NDIiwgMCwgMCwgMCwKLSAgICAgICAvKiBBIG11bHRpbGliIHN1ZmZpeCBuZWVkcyBhZGRpbmcgaWYgZGlmZmVyZW50IG11bHRpbGlicyB1c2UKLSAJIGRpZmZlcmVudCBoZWFkZXJzLiAgKi8KLSAjaWZkZWYgU1lTUk9PVF9IRUFERVJTX1NVRkZJWF9TUEVDCi1AQCAtODUsMTYgKzEwOSwxNiBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KLSAjZW5kaWYKLSAjaWZkZWYgQ1JPU1NfSU5DTFVERV9ESVIKLSAgICAgLyogT25lIHBsYWNlIHRoZSB0YXJnZXQgc3lzdGVtJ3MgaGVhZGVycyBtaWdodCBiZS4gICovCi0tICAgIHsgQ1JPU1NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCi0rICAgIHsgQ1JPU1NfSU5DTFVERV9ESVJWQVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIFRPT0xfSU5DTFVERV9ESVIKLSAgICAgLyogQW5vdGhlciBwbGFjZSB0aGUgdGFyZ2V0IHN5c3RlbSdzIGhlYWRlcnMgbWlnaHQgYmUuICAqLwotLSAgICB7IFRPT0xfSU5DTFVERV9ESVIsICJCSU5VVElMUyIsIDAsIDEsIDAsIDAgfSwKLSsgICAgeyBUT09MX0lOQ0xVREVfRElSVkFSLCAiQklOVVRJTFMiLCAwLCAxLCAwLCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIE5BVElWRV9TWVNURU1fSEVBREVSX0RJUgotICAgICAvKiAvdXNyL2luY2x1ZGUgY29tZXMgZGVhZCBsYXN0LiAgKi8KLS0gICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMiB9LAotLSAgICB7IE5BVElWRV9TWVNURU1fSEVBREVSX0RJUiwgTkFUSVZFX1NZU1RFTV9IRUFERVJfQ09NUE9ORU5ULCAwLCAwLCAxLCAwIH0sCi0rICAgIHsgTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSVkFSLCBOQVRJVkVfU1lTVEVNX0hFQURFUl9DT01QT05FTlQsIDAsIDAsIDEsIDIgfSwKLSsgICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMCB9LAotICNlbmRpZgotICAgICB7IDAsIDAsIDAsIDAsIDAsIDAgfQotICAgfTsKLWRpZmYgLS1naXQgYS9nY2MvY3BwZGVmYXVsdC5oIGIvZ2NjL2NwcGRlZmF1bHQuaAotaW5kZXggNGEwMTg2ZDFjZjIuLjI5ZTVkOWRhMGRjIDEwMDY0NAotLS0tIGEvZ2NjL2NwcGRlZmF1bHQuaAotKysrIGIvZ2NjL2NwcGRlZmF1bHQuaAotQEAgLTMzLDcgKzMzLDggQEAKLSAKLSBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlCi0gewotLSAgY29uc3QgY2hhciAqY29uc3QgZm5hbWU7CS8qIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkuICAqLwotKyAgY29uc3QgY2hhciAqZm5hbWU7ICAgICAvKiBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5LiAgKi8KLSsKLSAgIGNvbnN0IGNoYXIgKmNvbnN0IGNvbXBvbmVudDsJLyogVGhlIGNvbXBvbmVudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkKLSAJCQkJICAgKHNlZSB1cGRhdGVfcGF0aCBpbiBwcmVmaXguYykgKi8KLSAgIGNvbnN0IGNoYXIgY3BsdXNwbHVzOwkJLyogT25seSBsb29rIGhlcmUgaWYgd2UncmUgY29tcGlsaW5nIEMrKy4gICovCi1kaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCi1pbmRleCAzZmI2NGQ0NTNmMS4uY2QwYzdmYmU5NjEgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYwotQEAgLTI0OCw2ICsyNDgsOCBAQCBGSUxFICpyZXBvcnRfdGltZXNfdG9fZmlsZSA9IE5VTEw7Ci0gI2VuZGlmCi0gc3RhdGljIGNvbnN0IGNoYXIgKnRhcmdldF9zeXN0ZW1fcm9vdCA9IERFRkFVTFRfVEFSR0VUX1NZU1RFTV9ST09UOwotIAotK3N0YXRpYyBjaGFyIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXhbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gU1lTVEVNTElCU19ESVI7Ci0rCi0gLyogTm9uemVybyBtZWFucyBwYXNzIHRoZSB1cGRhdGVkIHRhcmdldF9zeXN0ZW1fcm9vdCB0byB0aGUgY29tcGlsZXIuICAqLwotIAotIHN0YXRpYyBpbnQgdGFyZ2V0X3N5c3RlbV9yb290X2NoYW5nZWQ7Ci1AQCAtNTE5LDYgKzUyMSw3IEBAIG9yIHdpdGggY29uc3RhbnQgdGV4dCBpbiBhIHNpbmdsZSBhcmd1bWVudC4KLSAgJUcgICAgIHByb2Nlc3MgTElCR0NDX1NQRUMgYXMgYSBzcGVjLgotICAlUiAgICAgT3V0cHV0IHRoZSBjb25jYXRlbmF0aW9uIG9mIHRhcmdldF9zeXN0ZW1fcm9vdCBhbmQKLSAgICAgICAgIHRhcmdldF9zeXNyb290X3N1ZmZpeC4KLSsgJXIgICAgIE91dHB1dCB0aGUgYmFzZSBwYXRoIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXgKLSAgJVMgICAgIHByb2Nlc3MgU1RBUlRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIFMgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgotICAlRSAgICAgcHJvY2VzcyBFTkRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIEUgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgotICAlQyAgICAgcHJvY2VzcyBDUFBfU1BFQyBhcyBhIHNwZWMuCi1AQCAtMTQ4NywxMCArMTQ5MCwxMCBAQCBzdGF0aWMgY29uc3QgY2hhciAqZ2NjX2xpYmV4ZWNfcHJlZml4OwotICAgIGdjY19leGVjX3ByZWZpeCBpcyBzZXQgYmVjYXVzZSwgaW4gdGhhdCBjYXNlLCB3ZSBrbm93IHdoZXJlIHRoZQotICAgIGNvbXBpbGVyIGhhcyBiZWVuIGluc3RhbGxlZCwgYW5kIHVzZSBwYXRocyByZWxhdGl2ZSB0byB0aGF0Ci0gICAgbG9jYXRpb24gaW5zdGVhZC4gICovCi0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2V4ZWNfcHJlZml4ID0gU1RBTkRBUkRfRVhFQ19QUkVGSVg7Ci0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2xpYmV4ZWNfcHJlZml4ID0gU1RBTkRBUkRfTElCRVhFQ19QUkVGSVg7Ci0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2JpbmRpcl9wcmVmaXggPSBTVEFOREFSRF9CSU5ESVJfUFJFRklYOwotLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4ID0gU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9leGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9FWEVDX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9saWJleGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9MSUJFWEVDX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9iaW5kaXJfcHJlZml4WzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX0JJTkRJUl9QUkVGSVg7Ci0rc3RhdGljIGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOwotIAotIC8qIEZvciBuYXRpdmUgY29tcGlsZXJzLCB0aGVzZSBhcmUgd2VsbC1rbm93biBwYXRocyBjb250YWluaW5nCi0gICAgY29tcG9uZW50cyB0aGF0IG1heSBiZSBwcm92aWRlZCBieSB0aGUgc3lzdGVtLiAgRm9yIGNyb3NzCi1AQCAtMTQ5OCw5ICsxNTAxLDkgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOwotIHN0YXRpYyBjb25zdCBjaGFyICptZF9leGVjX3ByZWZpeCA9IE1EX0VYRUNfUFJFRklYOwotIHN0YXRpYyBjb25zdCBjaGFyICptZF9zdGFydGZpbGVfcHJlZml4ID0gTURfU1RBUlRGSUxFX1BSRUZJWDsKLSBzdGF0aWMgY29uc3QgY2hhciAqbWRfc3RhcnRmaWxlX3ByZWZpeF8xID0gTURfU1RBUlRGSUxFX1BSRUZJWF8xOwotLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzEKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzFbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpCi0gICA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMTsKLS1zdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yCi0rc3RhdGljIGNoYXIgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKQotICAgPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzI7Ci0gCi0gLyogQSByZWxhdGl2ZSBwYXRoIHRvIGJlIHVzZWQgaW4gZmluZGluZyB0aGUgbG9jYXRpb24gb2YgdG9vbHMKLUBAIC01ODQ5LDYgKzU4NTIsMTEgQEAgZG9fc3BlY18xIChjb25zdCBjaGFyICpzcGVjLCBpbnQgaW5zd2l0Y2gsIGNvbnN0IGNoYXIgKnNvZnRfbWF0Y2hlZF9wYXJ0KQotIAkgICAgICB9Ci0gCSAgICBicmVhazsKLSAKLSsgICAgICAgICAgY2FzZSAncic6Ci0rICAgICAgICAgICAgICBvYnN0YWNrX2dyb3cgKCZvYnN0YWNrLCB0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4LAotKwkJICAgICAgc3RybGVuICh0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4KSk7Ci0rICAgICAgICAgICAgYnJlYWs7Ci0rCi0gCSAgY2FzZSAnUyc6Ci0gCSAgICB2YWx1ZSA9IGRvX3NwZWNfMSAoc3RhcnRmaWxlX3NwZWMsIDAsIE5VTEwpOwotIAkgICAgaWYgKHZhbHVlICE9IDApCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMwLVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMwLVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzNTY2ZGYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzMC1TZWFyY2gtdGFyZ2V0LXN5c3Jvb3QtZ2NjLXZlcnNpb24tc3BlY2lmaWMtZGlycy13aXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAyICswLDAgQEAKLUZyb20gZjVjYzhjZDBjNDQwOTJkYzQ4NzEwNmFkZTI3ZTAxMWMxZjU4NGFkYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6NDE6NDUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzMC8zOV0gU2VhcmNoIHRhcmdldCBzeXNyb290IGdjYyB2ZXJzaW9uIHNwZWNpZmljIGRpcnMgd2l0aAotIG11bHRpbGliLgotCi1XZSBpbnN0YWxsIHRoZSBnY2MgbGlicmFyaWVzIChzdWNoIGFzIGNydGJlZ2luLnApIGludG8KLTxzeXNyb290PjxsaWJkaXI+Lzx0YXJnZXQtc3lzPi81LjIuMC8KLXdoaWNoIGlzIGEgZGVmYXVsdCBzZWFyY2ggcGF0aCBmb3IgR0NDIChha2EgbXVsdGlfc3VmZml4IGluIHRoZQotY29kZSBiZWxvdykuIDx0YXJnZXQtc3lzPiBpcyAnbWFjaGluZScgaW4gZ2NjJ3MgdGVybWlub2xvZ3kuIFdlIHVzZQotdGhlc2UgZGlyZWN0b3JpZXMgc28gdGhhdCBtdWx0aXBsZSBnY2MgdmVyc2lvbnMgY291bGQgaW4gdGhlb3J5Ci1jby1leGlzdCBvbiB0YXJnZXQuCi0KLVdlIG9ubHkgd2FudCB0byBidWlsZCBvbmUgZ2NjLWNyb3NzLWNhbmFkaWFuIHBlciBhcmNoIGFuZCBoYXZlIHRoaXMgd29yawotZm9yIGFsbCBtdWx0aWxpYnMuIDx0YXJnZXQtc3lzPiBjYW4gYmUgaGFuZGxlZCBieSBtYXBwaW5nIHRoZSBtdWx0aWxpYgotPHRhcmdldC1zeXM+IHRvIHRoZSBvbmUgdXNlZCBieSBnY2MtY3Jvc3MtY2FuYWRpYW4sIGUuZy4KLW1pcHM2NC1wb2xrbWxsaWIzMi1saW51eAotaXMgc3ltbGlua2VkIHRvIGJ5IG1pcHM2NC1wb2t5LWxpbnV4LgotCi1UaGUgZGVmYXVsdCBnY2Mgc2VhcmNoIHBhdGggaW4gdGhlIHRhcmdldCBzeXNyb290IGZvciBhICJsaWI2NCIgbXV0bGlsaWIKLWlzOgotCi08c3lzcm9vdD4vbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCi08c3lzcm9vdD4vbGliMzIvLi4vbGliNjQvCi08c3lzcm9vdD4vdXNyL2xpYjMyL21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8uLi9saWI2NC8KLTxzeXNyb290Pi9saWIzMi8KLTxzeXNyb290Pi91c3IvbGliMzIvCi0KLXdoaWNoIG1lYW5zIHRoYXQgdGhlIGxpYjMyIGNydGJlZ2luLm8gd2lsbCBiZSBmb3VuZCBhbmQgdGhlIGxpYjY0IG9uZXMKLXdpbGwgbm90IHdoaWNoIGxlYWRzIHRvIGNvbXBpbGVyIGZhaWx1cmVzLgotCi1UaGlzIHBhdGNoIGluamVjdHMgYSBtdWx0aWxpYiB2ZXJzaW9uIG9mIHRoYXQgcGF0aCBmaXJzdCBzbyB0aGUgbGliNjQKLWJpbmFyaWVzIGNhbiBiZSBmb3VuZCBmaXJzdC4gV2l0aCB0aGlzIGNoYW5nZSB0aGUgc2VhcmNoIHBhdGggYmVjb21lczoKLQotPHN5c3Jvb3Q+L2xpYjMyLy4uL2xpYjY0L21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L2xpYjMyL21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L2xpYjMyLy4uL2xpYjY0LwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8uLi9saWI2NC9taXBzNjQtcG9reS1saW51eC81LjIuMC8KLTxzeXNyb290Pi91c3IvbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCi08c3lzcm9vdD4vdXNyL2xpYjMyLy4uL2xpYjY0LwotPHN5c3Jvb3Q+L2xpYjMyLwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1SUCAyMDE1LzcvMzEKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9nY2MuYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYwotaW5kZXggY2QwYzdmYmU5NjEuLmY2ZjNhYTA3N2M4IDEwMDY0NAotLS0tIGEvZ2NjL2djYy5jCi0rKysgYi9nY2MvZ2NjLmMKLUBAIC0yNTI3LDcgKzI1MjcsNyBAQCBmb3JfZWFjaF9wYXRoIChjb25zdCBzdHJ1Y3QgcGF0aF9wcmVmaXggKnBhdGhzLAotICAgICAgIGlmIChwYXRoID09IE5VTEwpCi0gCXsKLSAJICBsZW4gPSBwYXRocy0+bWF4X2xlbiArIGV4dHJhX3NwYWNlICsgMTsKLS0JICBsZW4gKz0gTUFYIChNQVggKHN1ZmZpeF9sZW4sIG11bHRpX29zX2Rpcl9sZW4pLCBtdWx0aWFyY2hfbGVuKTsKLSsJICBsZW4gKz0gTUFYICgoc3VmZml4X2xlbiArIG11bHRpX29zX2Rpcl9sZW4pLCBtdWx0aWFyY2hfbGVuKTsKLSAJICBwYXRoID0gWE5FV1ZFQyAoY2hhciwgbGVuKTsKLSAJfQotIAotQEAgLTI1MzksNiArMjUzOSwzMyBAQCBmb3JfZWFjaF9wYXRoIChjb25zdCBzdHJ1Y3QgcGF0aF9wcmVmaXggKnBhdGhzLAotIAkgIC8qIExvb2sgZmlyc3QgaW4gTUFDSElORS9WRVJTSU9OIHN1YmRpcmVjdG9yeS4gICovCi0gCSAgaWYgKCFza2lwX211bHRpX2RpcikKLSAJICAgIHsKLSsJICAgICAgaWYgKCEocGwtPm9zX211bHRpbGliID8gc2tpcF9tdWx0aV9vc19kaXIgOiBza2lwX211bHRpX2RpcikpCi0rCSAgICAgICAgewotKwkgICAgICAgICAgY29uc3QgY2hhciAqdGhpc19tdWx0aTsKLSsJICAgICAgICAgIHNpemVfdCB0aGlzX211bHRpX2xlbjsKLSsKLSsJICAgICAgICAgIGlmIChwbC0+b3NfbXVsdGlsaWIpCi0rCQkgICAgewotKwkJICAgICAgdGhpc19tdWx0aSA9IG11bHRpX29zX2RpcjsKLSsJCSAgICAgIHRoaXNfbXVsdGlfbGVuID0gbXVsdGlfb3NfZGlyX2xlbjsKLSsJCSAgICB9Ci0rCSAgICAgICAgICBlbHNlCi0rCQkgICAgewotKwkJICAgICAgdGhpc19tdWx0aSA9IG11bHRpX2RpcjsKLSsJCSAgICAgIHRoaXNfbXVsdGlfbGVuID0gbXVsdGlfZGlyX2xlbjsKLSsJCSAgICB9Ci0rCi0rCSAgICAgICAgICAvKiBMb29rIGluIG11bHRpbGliIE1BQ0hJTkUvVkVSU0lPTiBzdWJkaXJlY3RvcnkgZmlyc3QgKi8KLSsJICAgICAgICAgIGlmICh0aGlzX211bHRpX2xlbikKLSsJICAgICAgICAgICAgewotKwkJICAgICAgbWVtY3B5IChwYXRoICsgbGVuLCB0aGlzX211bHRpLCB0aGlzX211bHRpX2xlbiArIDEpOwotKwkgICAgICAgICAgICAgIG1lbWNweSAocGF0aCArIGxlbiArIHRoaXNfbXVsdGlfbGVuLCBtdWx0aV9zdWZmaXgsIHN1ZmZpeF9sZW4gKyAxKTsKLSsJICAgICAgICAgICAgICByZXQgPSBjYWxsYmFjayAocGF0aCwgY2FsbGJhY2tfaW5mbyk7Ci0rCSAgICAgICAgICAgICAgICBpZiAocmV0KQotKwkJICAgICAgICAgIGJyZWFrOwotKwkgICAgICAgICAgICB9Ci0rCSAgICAgICAgfQotKwotIAkgICAgICBtZW1jcHkgKHBhdGggKyBsZW4sIG11bHRpX3N1ZmZpeCwgc3VmZml4X2xlbiArIDEpOwotIAkgICAgICByZXQgPSBjYWxsYmFjayAocGF0aCwgY2FsbGJhY2tfaW5mbyk7Ci0gCSAgICAgIGlmIChyZXQpCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMxLUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzMS1GaXgtdmFyaW91cy1fRk9SX0JVSUxELWFuZC1yZWxhdGVkLXZhcmlhYmxlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGFiYzAwNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMxLUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM3ICswLDAgQEAKLUZyb20gOTNiNGUxZDNhMGY4NDE3MTE4ZDFjNDhmY2QxY2U1MTk5NmUxNDIwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6NDI6NDUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzMS8zOV0gRml4IHZhcmlvdXMgX0ZPUl9CVUlMRCBhbmQgcmVsYXRlZCB2YXJpYWJsZXMKLQotV2hlbiBkb2luZyBhIEZPUl9CVUlMRCB0aGluZywgeW91IGhhdmUgdG8gb3ZlcnJpZGUgQ0ZMQUdTIHdpdGgKLUNGTEFHU19GT1JfQlVJTEQuIEFuZCBpZiB5b3UgdXNlIEMrKywgeW91IGFsc28gaGF2ZSB0byBvdmVycmlkZQotQ1hYRkxBR1Mgd2l0aCBDWFhGTEFHU19GT1JfQlVJTEQuCi1XaXRob3V0IHRoaXMsIHdoZW4gYnVpbGRpbmcgZm9yIG1pbmd3LCB5b3UgZW5kIHVwIHRyeWluZyB0byB1c2UKLXRoZSBtaW5ndyBoZWFkZXJzIGZvciBhIGhvc3QgYnVpbGQuCi0KLVRoZSBzYW1lIGdvZXMgZm9yIG90aGVyIHZhcmlhYmxlcyBhcyB3ZWxsLCBzdWNoIGFzIENQUEZMQUdTLAotQ1BQLCBhbmQgR01QSU5DLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogUGV0ZXIgU2VlYmFjaCA8cGV0ZXIuc2VlYmFjaEB3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIE1ha2VmaWxlLmluICAgICAgfCA2ICsrKysrKwotIE1ha2VmaWxlLnRwbCAgICAgfCA1ICsrKysrCi0gZ2NjL01ha2VmaWxlLmluICB8IDIgKy0KLSBnY2MvY29uZmlndXJlICAgIHwgMiArLQotIGdjYy9jb25maWd1cmUuYWMgfCAyICstCi0gNSBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgotaW5kZXggMWFmNDU1ODAwODYuLjg5NjY0NTNjMzJjIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuaW4KLSsrKyBiL01ha2VmaWxlLmluCi1AQCAtMTUyLDYgKzE1Miw3IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gCUNQUD0iJChDQ19GT1JfQlVJTEQpIC1FIjsgZXhwb3J0IENQUDsgXAotIAlDRkxBR1M9IiQoQ0ZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0ZMQUdTOyBcCi0gCUNPTkZJR19TSEVMTD0iJChTSEVMTCkiOyBleHBvcnQgQ09ORklHX1NIRUxMOyBcCi0rCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1BQRkxBR1M7IFwKLSAJQ1hYPSIkKENYWF9GT1JfQlVJTEQpIjsgZXhwb3J0IENYWDsgXAotIAlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENYWEZMQUdTOyBcCi0gCUdGT1JUUkFOPSIkKEdGT1JUUkFOX0ZPUl9CVUlMRCkiOyBleHBvcnQgR0ZPUlRSQU47IFwKLUBAIC0xNjksNiArMTcwLDkgQEAgQlVJTERfRVhQT1JUUyA9IFwKLSAjIGJ1aWx0IGZvciB0aGUgYnVpbGQgc3lzdGVtIHRvIG92ZXJyaWRlIHRob3NlIGluIEJBU0VfRkxBR1NfVE9fUEFTUy4KLSBFWFRSQV9CVUlMRF9GTEFHUyA9IFwKLSAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIiBcCi0rCUNYWEZMQUdTPSIkKENYWEZMQUdTX0ZPUl9CVUlMRCkiIFwKLSsJQ1BQPSIkKENDX0ZPUl9CVUlMRCkgLUUiIFwKLSsJQ1BQRkxBR1M9IiQoQ1BQRkxBR1NfRk9SX0JVSUxEKSIgXAotIAlMREZMQUdTPSIkKExERkxBR1NfRk9SX0JVSUxEKSIKLSAKLSAjIFRoaXMgaXMgdGhlIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gYnVpbHQgZm9yIHRoZSBob3N0IHN5c3RlbS4KLUBAIC0xODYsNiArMTkwLDcgQEAgSE9TVF9TVUJESVIgPSBAaG9zdF9zdWJkaXJACi0gSE9TVF9FWFBPUlRTID0gXAotIAkkKEJBU0VfRVhQT1JUUykgXAotIAlDQz0iJChDQykiOyBleHBvcnQgQ0M7IFwKLSsJQ1BQPSIkKENDKSAtRSI7IGV4cG9ydCBDUFA7IFwKLSAJQURBX0NGTEFHUz0iJChBREFfQ0ZMQUdTKSI7IGV4cG9ydCBBREFfQ0ZMQUdTOyBcCi0gCUNGTEFHUz0iJChDRkxBR1MpIjsgZXhwb3J0IENGTEFHUzsgXAotIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAotQEAgLTc1Myw2ICs3NTgsNyBAQCBCQVNFX0ZMQUdTX1RPX1BBU1MgPSBcCi0gCSJDQ19GT1JfQlVJTEQ9JChDQ19GT1JfQlVJTEQpIiBcCi0gCSJDRkxBR1NfRk9SX0JVSUxEPSQoQ0ZMQUdTX0ZPUl9CVUlMRCkiIFwKLSAJIkNYWF9GT1JfQlVJTEQ9JChDWFhfRk9SX0JVSUxEKSIgXAotKwkiQ1hYRkxBR1NfRk9SX0JVSUxEPSQoQ1hYRkxBR1NfRk9SX0JVSUxEKSIgXAotIAkiRVhQRUNUPSQoRVhQRUNUKSIgXAotIAkiRkxFWD0kKEZMRVgpIiBcCi0gCSJJTlNUQUxMPSQoSU5TVEFMTCkiIFwKLWRpZmYgLS1naXQgYS9NYWtlZmlsZS50cGwgYi9NYWtlZmlsZS50cGwKLWluZGV4IGFiZDJiYzJmYjg5Li41ODIyYjI2MDQwNCAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLnRwbAotKysrIGIvTWFrZWZpbGUudHBsCi1AQCAtMTU0LDYgKzE1NCw3IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gCUNDPSIkKENDX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0M7IFwKLSAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENGTEFHUzsgXAotIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAotKwlDUFBGTEFHUz0iJChDUFBGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENQUEZMQUdTOyBcCi0gCUNYWD0iJChDWFhfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFg7IFwKLSAJQ1hYRkxBR1M9IiQoQ1hYRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFhGTEFHUzsgXAotIAlHRk9SVFJBTj0iJChHRk9SVFJBTl9GT1JfQlVJTEQpIjsgZXhwb3J0IEdGT1JUUkFOOyBcCi1AQCAtMTcxLDYgKzE3Miw5IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gIyBidWlsdCBmb3IgdGhlIGJ1aWxkIHN5c3RlbSB0byBvdmVycmlkZSB0aG9zZSBpbiBCQVNFX0ZMQUdTX1RPX1BBU1MuCi0gRVhUUkFfQlVJTERfRkxBR1MgPSBcCi0gCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSIgXAotKwlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIiBcCi0rCUNQUD0iJChDQ19GT1JfQlVJTEQpIC1FIiBcCi0rCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiIFwKLSAJTERGTEFHUz0iJChMREZMQUdTX0ZPUl9CVUlMRCkiCi0gCi0gIyBUaGlzIGlzIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIGJ1aWx0IGZvciB0aGUgaG9zdCBzeXN0ZW0uCi1AQCAtMTg4LDYgKzE5Miw3IEBAIEhPU1RfU1VCRElSID0gQGhvc3Rfc3ViZGlyQAotIEhPU1RfRVhQT1JUUyA9IFwKLSAJJChCQVNFX0VYUE9SVFMpIFwKLSAJQ0M9IiQoQ0MpIjsgZXhwb3J0IENDOyBcCi0rCUNQUD0iJChDQykgLUUiOyBleHBvcnQgQ1BQOyBcCi0gCUFEQV9DRkxBR1M9IiQoQURBX0NGTEFHUykiOyBleHBvcnQgQURBX0NGTEFHUzsgXAotIAlDRkxBR1M9IiQoQ0ZMQUdTKSI7IGV4cG9ydCBDRkxBR1M7IFwKLSAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKLWRpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KLWluZGV4IDVhZTY5M2ZiMDZjLi4wMmVlMGFhNzJmNCAxMDA2NDQKLS0tLSBhL2djYy9NYWtlZmlsZS5pbgotKysrIGIvZ2NjL01ha2VmaWxlLmluCi1AQCAtODAxLDcgKzgwMSw3IEBAIEJVSUxEX0xERkxBR1M9QEJVSUxEX0xERkxBR1NACi0gQlVJTERfTk9fUElFX0ZMQUcgPSBAQlVJTERfTk9fUElFX0ZMQUdACi0gQlVJTERfTERGTEFHUyArPSAkKEJVSUxEX05PX1BJRV9GTEFHKQotIEJVSUxEX0NQUEZMQUdTPSAtSS4gLUkkKEBEKSAtSSQoc3JjZGlyKSAtSSQoc3JjZGlyKS8kKEBEKSBcCi0tCQktSSQoc3JjZGlyKS8uLi9pbmNsdWRlIEBJTkNJTlRMQCAkKENQUElOQykgJChDUFBGTEFHUykKLSsJCS1JJChzcmNkaXIpLy4uL2luY2x1ZGUgQElOQ0lOVExAICQoQ1BQSU5DKSAkKENQUEZMQUdTX0ZPUl9CVUlMRCkKLSAKLSAjIEFjdHVhbCBuYW1lIHRvIHVzZSB3aGVuIGluc3RhbGxpbmcgYSBuYXRpdmUgY29tcGlsZXIuCi0gR0NDX0lOU1RBTExfTkFNRSA6PSAkKHNoZWxsIGVjaG8gZ2NjfHNlZCAnJChwcm9ncmFtX3RyYW5zZm9ybV9uYW1lKScpCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKLWluZGV4IGNmY2FkYzkzYTAxLi4yZjZiNGY3MmVmMyAxMDA3NTUKLS0tLSBhL2djYy9jb25maWd1cmUKLSsrKyBiL2djYy9jb25maWd1cmUKLUBAIC0xMTc5Nyw3ICsxMTc5Nyw3IEBAIGVsc2UKLSAJQ0M9IiR7Q0NfRk9SX0JVSUxEfSIgQ0ZMQUdTPSIke0NGTEFHU19GT1JfQlVJTER9IiBcCi0gCUNYWD0iJHtDWFhfRk9SX0JVSUxEfSIgQ1hYRkxBR1M9IiR7Q1hYRkxBR1NfRk9SX0JVSUxEfSIgXAotIAlMRD0iJHtMRF9GT1JfQlVJTER9IiBMREZMQUdTPSIke0xERkxBR1NfRk9SX0JVSUxEfSIgXAotLQlHTVBJTkM9IiIgQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IC1ER0VORVJBVE9SX0ZJTEUiIFwKLSsJR01QSU5DPSIiIENQUEZMQUdTPSIke0NQUEZMQUdTX0ZPUl9CVUlMRH0gLURHRU5FUkFUT1JfRklMRSIgXAotIAkke3JlYWxzcmNkaXJ9L2NvbmZpZ3VyZSBcCi0gCQktLWVuYWJsZS1sYW5ndWFnZXM9JHtlbmFibGVfbGFuZ3VhZ2VzLWFsbH0gXAotIAkJLS10YXJnZXQ9JHRhcmdldF9hbGlhcyAtLWhvc3Q9JGJ1aWxkX2FsaWFzIC0tYnVpbGQ9JGJ1aWxkX2FsaWFzCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IDQ0YjkwNDc4ZjU1Li45ZjhhNTFmYzliZCAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC0xNzA4LDcgKzE3MDgsNyBAQCBlbHNlCi0gCUNDPSIke0NDX0ZPUl9CVUlMRH0iIENGTEFHUz0iJHtDRkxBR1NfRk9SX0JVSUxEfSIgXAotIAlDWFg9IiR7Q1hYX0ZPUl9CVUlMRH0iIENYWEZMQUdTPSIke0NYWEZMQUdTX0ZPUl9CVUlMRH0iIFwKLSAJTEQ9IiR7TERfRk9SX0JVSUxEfSIgTERGTEFHUz0iJHtMREZMQUdTX0ZPUl9CVUlMRH0iIFwKLS0JR01QSU5DPSIiIENQUEZMQUdTPSIke0NQUEZMQUdTfSAtREdFTkVSQVRPUl9GSUxFIiBcCi0rCUdNUElOQz0iIiBDUFBGTEFHUz0iJHtDUFBGTEFHU19GT1JfQlVJTER9IC1ER0VORVJBVE9SX0ZJTEUiIFwKLSAJJHtyZWFsc3JjZGlyfS9jb25maWd1cmUgXAotIAkJLS1lbmFibGUtbGFuZ3VhZ2VzPSR7ZW5hYmxlX2xhbmd1YWdlcy1hbGx9IFwKLSAJCS0tdGFyZ2V0PSR0YXJnZXRfYWxpYXMgLS1ob3N0PSRidWlsZF9hbGlhcyAtLWJ1aWxkPSRidWlsZF9hbGlhcwotLS0gCi0yLjE3LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzMi1uaW9zMi1EZWZpbmUtTVVTTF9EWU5BTUlDX0xJTktFUi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzItbmlvczItRGVmaW5lLU1VU0xfRFlOQU1JQ19MSU5LRVIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkZDlkNTQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzMi1uaW9zMi1EZWZpbmUtTVVTTF9EWU5BTUlDX0xJTktFUi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gOTlmM2UzYjQyNzk5NmFjNTc5ZDk1ZTY4NDQwYTBiZDdhZjdlZjBmYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDIgRmViIDIwMTYgMTA6MjY6MTAgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAzMi8zOV0gbmlvczI6IERlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmVrIFZhc3V0IDxtYXJleEBkZW54LmRlPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLSBnY2MvY29uZmlnL25pb3MyL2xpbnV4LmggfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbmlvczIvbGludXguaCBiL2djYy9jb25maWcvbmlvczIvbGludXguaAotaW5kZXggNDcyOTEwNTYyNmQuLjM2MTgxZWI3Yjg1IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9uaW9zMi9saW51eC5oCi0rKysgYi9nY2MvY29uZmlnL25pb3MyL2xpbnV4LmgKLUBAIC0zMCw2ICszMCw3IEBACi0gI2RlZmluZSBDUFBfU1BFQyAiJXtwb3NpeDotRF9QT1NJWF9TT1VSQ0V9ICV7cHRocmVhZDotRF9SRUVOVFJBTlR9IgotIAotICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXgtbmlvczIuc28uMSIKLSsjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgICIvbGliL2xkLW11c2wtbmlvczIuc28uMSIKLSAKLSAjdW5kZWYgTElOS19TUEVDCi0gI2RlZmluZSBMSU5LX1NQRUMgTElOS19TUEVDX0VORElBTiBcCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMzLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMzLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1YTZiMGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzMy1BZGQtc3NwX25vbnNoYXJlZC10by1saW5rLWNvbW1hbmRsaW5lLWZvci1tdXNsLXRhcmdlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotRnJvbSA4NGI1NWFiMmY2ODcxMGE1ODNkNGVjODEwZWE4YjNiNjg1NzZmOGFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjcgSnVuIDIwMTcgMTg6MTA6NTQgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAzMy8zOV0gQWRkIHNzcF9ub25zaGFyZWQgdG8gbGluayBjb21tYW5kbGluZSBmb3IgbXVzbCB0YXJnZXRzCi0KLXdoZW4gLWZzdGFjay1wcm90ZWN0b3Igb3B0aW9ucyBhcmUgZW5hYmxlZCB3ZSBuZWVkIHRvCi1saW5rIHdpdGggc3NwX3NoYXJlZCBvbiBtdXNsIHNpbmNlIGl0IGRvZXMgbm90IHByb3ZpZGUKLXRoZSBfX3N0YWNrX2Noa19mYWlsX2xvY2FsKCkgc28gZXNzZW50aWFsbHkgaXQgcHJvdmlkZXMKLWxpYnNzcCBidXQgbm90IGxpYnNzcF9ub25zaGFyZWQgc29tZXRoaW5nIGxpa2UKLVRBUkdFVF9MSUJDX1BST1ZJREVTX1NTUF9CVVRfTk9UX1NTUF9OT05TSEFSRUQKLSB3aGVyZS1hcyBmb3IgZ2xpYmMgdGhlIG5lZWRlZCBzeW1ib2xzCi1hcmUgYWxyZWFkeSBwcmVzZW50IGluIGxpYmNfbm9uc2hhcmVkIGxpYnJhcnkgdGhlcmVmb3JlCi13ZSBkbyBub3QgbmVlZCBhbnkgbGlicmFyeSBoZWxwZXIgb24gZ2xpYmMgYmFzZWQgc3lzdGVtcwotYnV0IG11c2wgbmVlZHMgdGhlIGxpYnNzcF9ub3NoYXJlZCBmcm9tIGdjYwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9jb25maWcvbGludXguaCAgICAgICAgICB8ICA3ICsrKysrKysKLSBnY2MvY29uZmlnL3JzNjAwMC9saW51eC5oICAgfCAxMCArKysrKysrKysrCi0gZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oIHwgMTAgKysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9saW51eC5oIGIvZ2NjL2NvbmZpZy9saW51eC5oCi1pbmRleCA0ODdiMGMwOTIzYi4uNDc2OWQwODk1MzggMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvbGludXguaAotQEAgLTE4Miw2ICsxODIsMTMgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCi0gICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMSwgMCwgMCB9LAkJXAotICAgICB7IDAsIDAsIDAsIDAsIDAsIDAgfQkJCQlcCi0gICB9Ci0rI2lmZGVmIFRBUkdFVF9MSUJDX1BST1ZJREVTX1NTUAotKyN1bmRlZiBMSU5LX1NTUF9TUEVDCi0rI2RlZmluZSBMSU5LX1NTUF9TUEVDICIle2ZzdGFjay1wcm90ZWN0b3J8ZnN0YWNrLXByb3RlY3Rvci1hbGwiIFwKLSsJCSAgICAgICAifGZzdGFjay1wcm90ZWN0b3Itc3Ryb25nfGZzdGFjay1wcm90ZWN0b3ItZXhwbGljaXQiIFwKLSsJCSAgICAgICAiOi1sc3NwX25vbnNoYXJlZH0iCi0rI2VuZGlmCi0rCi0gI2VuZGlmCi0gCi0gI2lmIChERUZBVUxUX0xJQkMgPT0gTElCQ19VQ0xJQkMpICYmIGRlZmluZWQgKFNJTkdMRV9MSUJDKSAvKiB1Q2xpbnV4ICovCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaCBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4LmgKLWluZGV4IDAxYjQwYzc2MmY2Li5lN2M1ZTkyMjE1YyAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4LmgKLUBAIC05Miw2ICs5MiwxNiBAQAotIAkJCQkJICIgLW0gZWxmMzJwcGNsaW51eCIpCi0gI2VuZGlmCi0gCi0rLyogbGluayBsaWJzc3Bfbm9uc2hhcmVkLmEgd2l0aCBtdXNsICovCi0rI2lmIERFRkFVTFRfTElCQyA9PSBMSUJDX01VU0wKLSsjaWZkZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCi0rI3VuZGVmIExJTktfU1NQX1NQRUMKLSsjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAotKwkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAotKwkJICAgICAgICI6LWxzc3Bfbm9uc2hhcmVkfSIKLSsjZW5kaWYKLSsjZW5kaWYKLSsKLSAjdW5kZWYgTElOS19PU19MSU5VWF9TUEVDCi0gI2RlZmluZSBMSU5LX09TX0xJTlVYX1NQRUMgTElOS19PU19MSU5VWF9FTVVMICIgJXshc2hhcmVkOiAleyFzdGF0aWM6IFwKLSAgICV7IXN0YXRpYy1waWU6IFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKLWluZGV4IDU1Njk1ZGFkZDkxLi42MGYxZWUyNDk4NSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAotKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCi1AQCAtNDczLDYgKzQ3MywxNiBAQCBleHRlcm4gaW50IGRvdF9zeW1ib2xzOwotIAkJCQkJICAgIiAtbSBlbGY2NHBwYyIpCi0gI2VuZGlmCi0gCi0rLyogbGluayBsaWJzc3Bfbm9uc2hhcmVkLmEgd2l0aCBtdXNsICovCi0rI2lmIERFRkFVTFRfTElCQyA9PSBMSUJDX01VU0wKLSsjaWZkZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCi0rI3VuZGVmIExJTktfU1NQX1NQRUMKLSsjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAotKwkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAotKwkJICAgICAgICI6LWxzc3Bfbm9uc2hhcmVkfSIKLSsjZW5kaWYKLSsjZW5kaWYKLSsKLSAjZGVmaW5lIExJTktfT1NfTElOVVhfU1BFQzMyIExJTktfT1NfTElOVVhfRU1VTDMyICIgJXshc2hhcmVkOiAleyFzdGF0aWM6IFwKLSAgICV7IXN0YXRpYy1waWU6IFwKLSAgICAgJXtyZHluYW1pYzotZXhwb3J0LWR5bmFtaWN9IFwKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzQtbGliZ2NjLUFkZC1rbm9iLXRvLXVzZS1sZGJsLTEyOC1vbi1wcGMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM0LWxpYmdjYy1BZGQta25vYi10by11c2UtbGRibC0xMjgtb24tcHBjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YTY5ZWEyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzQtbGliZ2NjLUFkZC1rbm9iLXRvLXVzZS1sZGJsLTEyOC1vbi1wcGMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjUgKzAsMCBAQAotRnJvbSBmYWYzNWUyNjc0MDQ2MWZlMWExZGE1NDMzZDVhMDE2OWE2NjNlM2I1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgQXByIDIwMTYgMjA6MDM6MjggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzNC8zOV0gbGliZ2NjOiBBZGQga25vYiB0byB1c2UgbGRibC0xMjggb24gcHBjCi0KLW11c2wgZG9lcyBub3Qgc3VwcG9ydCBsZGJsIDEyOCBzbyB3ZSBjYW4gbm90IGFzc3VtZQotdGhhdCBsaW51eCBhcyBhIHdob2xlIHN1cHBvcnRzIGxkYmwtMTI4IGJpdHMsIGluc3RlYWQKLWFjdCB1cG9uIGNvbmZpZ3VyZSBvcHRpb24gcGFzc2VkIHRvIGdjYyBhbmQgYXNzdW1lIG5vCi1vbiBtdXNsIGFuZCB5ZXMgb3RoZXJ3aXNlIGlmIG5vIG9wdGlvbiBpcyBwYXNzZWQgc2luY2UKLWRlZmF1bHQgYmVoYXZpb3VyIGlzIHRvIGFzc3VtZSBsZGJsMTI4IGl0IGRvZXMgbm90Ci1jaGFuZ2UgdGhlIGRlZmF1bHRzCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gbGliZ2NjL01ha2VmaWxlLmluICAgICAgICAgICB8ICAxICsKLSBsaWJnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4IHwgIDUgKysrKy0KLSBsaWJnY2MvY29uZmlndXJlICAgICAgICAgICAgIHwgMTggKysrKysrKysrKysrKysrKysrCi0gbGliZ2NjL2NvbmZpZ3VyZS5hYyAgICAgICAgICB8IDEyICsrKysrKysrKysrKwotIDQgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotIG1vZGUgY2hhbmdlIDEwMDY0NCA9PiAxMDA3NTUgbGliZ2NjL2NvbmZpZ3VyZQotCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL01ha2VmaWxlLmluIGIvbGliZ2NjL01ha2VmaWxlLmluCi1pbmRleCBkZDhjZWU5OWZkMy4uYjVmNDc4YWYzODIgMTAwNjQ0Ci0tLS0gYS9saWJnY2MvTWFrZWZpbGUuaW4KLSsrKyBiL2xpYmdjYy9NYWtlZmlsZS5pbgotQEAgLTQ4LDYgKzQ4LDcgQEAgdW53aW5kX2hlYWRlciA9IEB1bndpbmRfaGVhZGVyQAotIG1kX3Vud2luZF9oZWFkZXIgPSBAbWRfdW53aW5kX2hlYWRlckAKLSBzZnBfbWFjaGluZV9oZWFkZXIgPSBAc2ZwX21hY2hpbmVfaGVhZGVyQAotIHRocmVhZF9oZWFkZXIgPSBAdGhyZWFkX2hlYWRlckAKLSt3aXRoX2xkYmwxMjggPSBAd2l0aF9sZGJsMTI4QAotIAotIGhvc3Rfbm9uY2Fub25pY2FsID0gQGhvc3Rfbm9uY2Fub25pY2FsQAotIHJlYWxfaG9zdF9ub25jYW5vbmljYWwgPSBAcmVhbF9ob3N0X25vbmNhbm9uaWNhbEAKLWRpZmYgLS1naXQgYS9saWJnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4IGIvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotaW5kZXggNGY2ZDRjNGE0ZDIuLmM1MGRkOTRhMmRhIDEwMDY0NAotLS0tIGEvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotKysrIGIvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotQEAgLTEsMyArMSw2IEBACi0gU0hMSUJfTUFQRklMRVMgKz0gJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvbGliZ2NjLWdsaWJjLnZlcgotIAotLUhPU1RfTElCR0NDMl9DRkxBR1MgKz0gLW1sb25nLWRvdWJsZS0xMjggLW1uby1taW5pbWFsLXRvYwotK2lmZXEgKCQod2l0aF9sZGJsMTI4KSx5ZXMpCi0rSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbWxvbmctZG91YmxlLTEyOAotK2VuZGlmCi0rSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbW5vLW1pbmltYWwtdG9jCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZ3VyZSBiL2xpYmdjYy9jb25maWd1cmUKLW9sZCBtb2RlIDEwMDY0NAotbmV3IG1vZGUgMTAwNzU1Ci1pbmRleCBiMmYzZjg3MDg0NC4uZWQ4MDY1ODdjMTcKLS0tLSBhL2xpYmdjYy9jb25maWd1cmUKLSsrKyBiL2xpYmdjYy9jb25maWd1cmUKLUBAIC02MTksNiArNjE5LDcgQEAgYnVpbGRfdmVuZG9yCi0gYnVpbGRfY3B1Ci0gYnVpbGQKLSB3aXRoX2FpeF9zb25hbWUKLSt3aXRoX2xkYmwxMjgKLSBlbmFibGVfdnRhYmxlX3ZlcmlmeQotIGVuYWJsZV9zaGFyZWQKLSBsaWJnY2NfdG9wZGlyCi1AQCAtNjY4LDYgKzY2OSw3IEBAIHdpdGhfY3Jvc3NfaG9zdAotIHdpdGhfbGQKLSBlbmFibGVfc2hhcmVkCi0gZW5hYmxlX3Z0YWJsZV92ZXJpZnkKLSt3aXRoX2xvbmdfZG91YmxlXzEyOAotIHdpdGhfYWl4X3NvbmFtZQotIGVuYWJsZV92ZXJzaW9uX3NwZWNpZmljX3J1bnRpbWVfbGlicwotIHdpdGhfc2xpYmRpcgotQEAgLTEzMjksNiArMTMzMSw3IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgotICAgLS13aXRoLXRhcmdldC1zdWJkaXI9U1VCRElSICAgICAgQ29uZmlndXJpbmcgaW4gYSBzdWJkaXJlY3RvcnkgZm9yIHRhcmdldAotICAgLS13aXRoLWNyb3NzLWhvc3Q9SE9TVCAgICAgICAgICAgQ29uZmlndXJpbmcgd2l0aCBhIGNyb3NzIGNvbXBpbGVyCi0gICAtLXdpdGgtbGQgICAgICAgICAgICAgICBhcnJhbmdlIHRvIHVzZSB0aGUgc3BlY2lmaWVkIGxkIChmdWxsIHBhdGhuYW1lKQotKyAgLS13aXRoLWxvbmctZG91YmxlLTEyOCAgdXNlIDEyOC1iaXQgbG9uZyBkb3VibGUgYnkgZGVmYXVsdAotICAgLS13aXRoLWFpeC1zb25hbWU9YWl4fHN2cjR8Ym90aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkIGxpYnJhcnkgdmVyc2lvbmluZyAoYWthICJTT05BTUUiKSB2YXJpYW50IHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlIG9uIEFJWAotQEAgLTIyMTMsNiArMjIxNiwyMSBAQCBmaQotIAotIAotIAotKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtbG9uZy1kb3VibGUtMTI4IHdhcyBnaXZlbi4KLStpZiB0ZXN0ICIke3dpdGhfbG9uZ19kb3VibGVfMTI4K3NldH0iID0gc2V0OyB0aGVuIDoKLSsgIHdpdGh2YWw9JHdpdGhfbG9uZ19kb3VibGVfMTI4OyB3aXRoX2xkYmwxMjg9IiR3aXRoX2xvbmdfZG91YmxlXzEyOCIKLStlbHNlCi0rICBjYXNlICIke2hvc3R9IiBpbgotKyBwb3dlciotKi1tdXNsKikKLSsgICB3aXRoX2xkYmwxMjg9Im5vIjs7Ci0rICopIHdpdGhfbGRibDEyOD0ieWVzIjs7Ci0rIGVzYWMKLSsKLStmaQotKwotKwotKwotKwotICMgQ2hlY2sgd2hldGhlciAtLXdpdGgtYWl4LXNvbmFtZSB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHt3aXRoX2FpeF9zb25hbWUrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAgd2l0aHZhbD0kd2l0aF9haXhfc29uYW1lOyBjYXNlICIke2hvc3R9OiR7ZW5hYmxlX3NoYXJlZH0iIGluCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZ3VyZS5hYyBiL2xpYmdjYy9jb25maWd1cmUuYWMKLWluZGV4IGI1OWFhNzQ2YWZjLi40MjIyMGEyNjNjNSAxMDA2NDQKLS0tLSBhL2xpYmdjYy9jb25maWd1cmUuYWMKLSsrKyBiL2xpYmdjYy9jb25maWd1cmUuYWMKLUBAIC03OCw2ICs3OCwxOCBAQCBBQ19BUkdfRU5BQkxFKHZ0YWJsZS12ZXJpZnksCi0gW2VuYWJsZV92dGFibGVfdmVyaWZ5PW5vXSkKLSBBQ19TVUJTVChlbmFibGVfdnRhYmxlX3ZlcmlmeSkKLSAKLStBQ19BUkdfV0lUSChsb25nLWRvdWJsZS0xMjgsCi0rW0FTX0hFTFBfU1RSSU5HKFstLXdpdGgtbG9uZy1kb3VibGUtMTI4XSwKLSsgICAgW3VzZSAxMjgtYml0IGxvbmcgZG91YmxlIGJ5IGRlZmF1bHRdKV0sCi0rICAgICAgd2l0aF9sZGJsMTI4PSIkd2l0aF9sb25nX2RvdWJsZV8xMjgiLAotK1tjYXNlICIke2hvc3R9IiBpbgotKyBwb3dlciotKi1tdXNsKikKLSsgICB3aXRoX2xkYmwxMjg9Im5vIjs7Ci0rICopIHdpdGhfbGRibDEyOD0ieWVzIjs7Ci0rIGVzYWMKLStdKQotK0FDX1NVQlNUKHdpdGhfbGRibDEyOCkKLSsKLSBBQ19BUkdfV0lUSChhaXgtc29uYW1lLAotIFtBU19IRUxQX1NUUklORyhbLS13aXRoLWFpeC1zb25hbWU9YWl4fHN2cjR8Ym90aF0sCi0gICAgIFtzaGFyZWQgbGlicmFyeSB2ZXJzaW9uaW5nIChha2EgIlNPTkFNRSIpIHZhcmlhbnQgdG8gcHJvdmlkZSBvbiBBSVhdKV0sCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM1LUxpbmstbGliZ2NjLXVzaW5nLUxERkxBR1Mtbm90LWp1c3QtU0hMSUJfTERGTEFHUy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzUtTGluay1saWJnY2MtdXNpbmctTERGTEFHUy1ub3QtanVzdC1TSExJQl9MREZMQUdTLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTQxNmUwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzUtTGluay1saWJnY2MtdXNpbmctTERGTEFHUy1ub3QtanVzdC1TSExJQl9MREZMQUdTLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRnJvbSA3NzVjN2ZhZmNiZmViZWQyZDRiZDhhNmEwMTFmMThmNzBmM2I1OWQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgNCBNYXkgMjAxNiAyMToxMTozNCAtMDcwMAotU3ViamVjdDogW1BBVENIIDM1LzM5XSBMaW5rIGxpYmdjYyB1c2luZyBMREZMQUdTLCBub3QganVzdCBTSExJQl9MREZMQUdTCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxpYmdjYy9jb25maWcvdC1zbGliZ2NjIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MgYi9saWJnY2MvY29uZmlnL3Qtc2xpYmdjYwotaW5kZXggN2U2MGI2MjFhMmQuLmVhMjJlZGUzMzYxIDEwMDY0NAotLS0tIGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MKLSsrKyBiL2xpYmdjYy9jb25maWcvdC1zbGliZ2NjCi1AQCAtMzIsNyArMzIsNyBAQCBTSExJQl9JTlNUQUxMX1NPTElOSyA9ICQoTE5fUykgJChTSExJQl9TT05BTUUpIFwKLSAJJChERVNURElSKSQoc2xpYmRpcikkKFNITElCX1NMSUJESVJfUVVBTCkvJChTSExJQl9TT0xJTkspCi0gCi0gU0hMSUJfTElOSyA9ICQoQ0MpICQoTElCR0NDMl9DRkxBR1MpIC1zaGFyZWQgLW5vZGVmYXVsdGxpYnMgXAotLQkkKFNITElCX0xERkxBR1MpIFwKLSsJJChMREZMQUdTKSAkKFNITElCX0xERkxBR1MpIFwKLSAJLW8gJChTSExJQl9ESVIpLyQoU0hMSUJfU09OQU1FKS50bXAgQG11bHRpbGliX2ZsYWdzQCBcCi0gCSQoU0hMSUJfT0JKUykgJChTSExJQl9MQykgJiYgXAotIAlybSAtZiAkKFNITElCX0RJUikvJChTSExJQl9TT0xJTkspICYmIFwKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzYtbGliZ2NjX3MtVXNlLWFsaWFzLWZvci1fX2NwdV9pbmRpY2F0b3JfaW5pdC1pbnN0ZWFkLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzYtbGliZ2NjX3MtVXNlLWFsaWFzLWZvci1fX2NwdV9pbmRpY2F0b3JfaW5pdC1pbnN0ZWFkLS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGRlZjMzYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM2LWxpYmdjY19zLVVzZS1hbGlhcy1mb3ItX19jcHVfaW5kaWNhdG9yX2luaXQtaW5zdGVhZC0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4NiArMCwwIEBACi1Gcm9tIGI3ZmFlZWQ2MDI2MWQ3Yjc1ZjJkYjM4MjM5MjZkZTE2NTBlZjY0YmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTemFib2xjcyBOYWd5IDxuc3pAcG9ydDcwLm5ldD4KLURhdGU6IFNhdCwgMjQgT2N0IDIwMTUgMjA6MDk6NTMgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzNi8zOV0gbGliZ2NjX3M6IFVzZSBhbGlhcyBmb3IgX19jcHVfaW5kaWNhdG9yX2luaXQgaW5zdGVhZCBvZgotIHN5bXZlcgotCi1BZGFwdGVyIGZyb20KLQotaHR0cHM6Ly9nY2MuZ251Lm9yZy9tbC9nY2MtcGF0Y2hlcy8yMDE1LTA1L21zZzAwODk5Lmh0bWwKLQotVGhpcyBmaXggd2FzIGRlYmF0ZWQgYnV0IGhhc250IGJlZW4gYXBwbGllZCBnY2MgdXBzdHJlYW0gc2luY2UKLXRoZXkgZXhwZWN0IG11c2wgdG8gc3VwcG9ydCAnQCcgaW4gc3ltYm9sIHZlcnNpb25pbmcgd2hpY2ggaXMKLWEgc3VuL2dudSB2ZXJzaW9uaW5nIGV4dGVudGlvbi4gVGhpcyBwYXRjaCBob3dldmVyIGF2b2lkcyB0aGUKLW5lZWQgZm9yIHRoZSAnQCcgc3ltYm9scyBhdCBhbGwKLQotbGliZ2NjL0NoYW5nZWxvZzoKLQotMjAxNS0wNS0xMSAgU3phYm9sY3MgTmFneSAgPHN6YWJvbGNzLm5hZ3lAYXJtLmNvbT4KLQotCSogY29uZmlnL2kzODYvY3B1aW5mby5jIChfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCk6IEFkZC4KLQkoX19jcHVfaW5kaWNhdG9yX2luaXRAR0NDXzQuOC4wLCBfX2NwdV9tb2RlbEBHQ0NfNC44LjApOiBSZW1vdmUuCi0KLQkqIGNvbmZpZy9pMzg2L3QtbGludXggKEhPU1RfTElCR0NDMl9DRkxBR1MpOiBSZW1vdmUgLURVU0VfRUxGX1NZTVZFUi4KLQotZ2NjL0NoYW5nZWxvZzoKLQotMjAxNS0wNS0xMSAgU3phYm9sY3MgTmFneSAgPHN6YWJvbGNzLm5hZ3lAYXJtLmNvbT4KLQotCSogY29uZmlnL2kzODYvaTM4Ni5jIChpeDg2X2V4cGFuZF9idWlsdGluKTogTWFrZSBfX2J1aWx0aW5fY3B1X2luaXQKLQljYWxsIF9fY3B1X2luZGljYXRvcl9pbml0X2xvY2FsIGluc3RlYWQgb2YgX19jcHVfaW5kaWNhdG9yX2luaXQuCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gZ2NjL2NvbmZpZy9pMzg2L2kzODYuYyAgICAgICB8IDQgKystLQotIGxpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMgfCA2ICsrKy0tLQotIGxpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4ICAgfCAyICstCi0gMyBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvaTM4Ni5jIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYwotaW5kZXggNmEyMTQxZTQ4ZGIuLjQ1NWZjY2JkZDUwIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYwotKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYwotQEAgLTM2NDkwLDEwICszNjQ5MCwxMCBAQCBpeDg2X2V4cGFuZF9idWlsdGluICh0cmVlIGV4cCwgcnR4IHRhcmdldCwgcnR4IHN1YnRhcmdldCwKLSAgICAgewotICAgICBjYXNlIElYODZfQlVJTFRJTl9DUFVfSU5JVDoKLSAgICAgICB7Ci0tCS8qIE1ha2UgaXQgY2FsbCBfX2NwdV9pbmRpY2F0b3JfaW5pdCBpbiBsaWJnY2MuICovCi0rCS8qIE1ha2UgaXQgY2FsbCBfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCBpbiBsaWJnY2MuYS4gKi8KLSAJdHJlZSBjYWxsX2V4cHIsIGZuZGVjbCwgdHlwZTsKLSAgICAgICAgIHR5cGUgPSBidWlsZF9mdW5jdGlvbl90eXBlX2xpc3QgKGludGVnZXJfdHlwZV9ub2RlLCBOVUxMX1RSRUUpOyAKLS0JZm5kZWNsID0gYnVpbGRfZm5fZGVjbCAoIl9fY3B1X2luZGljYXRvcl9pbml0IiwgdHlwZSk7Ci0rCWZuZGVjbCA9IGJ1aWxkX2ZuX2RlY2wgKCJfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCIsIHR5cGUpOwotIAljYWxsX2V4cHIgPSBidWlsZF9jYWxsX2V4cHIgKGZuZGVjbCwgMCk7IAotIAlyZXR1cm4gZXhwYW5kX2V4cHIgKGNhbGxfZXhwciwgdGFyZ2V0LCBtb2RlLCBFWFBBTkRfTk9STUFMKTsKLSAgICAgICB9Ci1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy9pMzg2L2NwdWluZm8uYyBiL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKLWluZGV4IDg2OTUzZGIyNzQzLi5lMDQ3NjI3MjgxMCAxMDA2NDQKLS0tLSBhL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKLSsrKyBiL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKLUBAIC00ODIsNyArNDgyLDcgQEAgX19jcHVfaW5kaWNhdG9yX2luaXQgKHZvaWQpCi0gICByZXR1cm4gMDsKLSB9Ci0gCi0tI2lmIGRlZmluZWQgU0hBUkVEICYmIGRlZmluZWQgVVNFX0VMRl9TWU1WRVIKLS1fX2FzbV9fICgiLnN5bXZlciBfX2NwdV9pbmRpY2F0b3JfaW5pdCwgX19jcHVfaW5kaWNhdG9yX2luaXRAR0NDXzQuOC4wIik7Ci0tX19hc21fXyAoIi5zeW12ZXIgX19jcHVfbW9kZWwsIF9fY3B1X21vZGVsQEdDQ180LjguMCIpOwotKyNpZm5kZWYgU0hBUkVECi0raW50IF9fY3B1X2luZGljYXRvcl9pbml0X2xvY2FsICh2b2lkKQotKyAgX19hdHRyaWJ1dGVfXyAoKHdlYWssIGFsaWFzICgiX19jcHVfaW5kaWNhdG9yX2luaXQiKSkpOwotICNlbmRpZgotZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4IGIvbGliZ2NjL2NvbmZpZy9pMzg2L3QtbGludXgKLWluZGV4IDg1MDZhNjM1NzkwLi41NjQyOTZmNzg4ZSAxMDA2NDQKLS0tLSBhL2xpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4Ci0rKysgYi9saWJnY2MvY29uZmlnL2kzODYvdC1saW51eAotQEAgLTMsNSArMyw1IEBACi0gIyB0LXNsaWJnY2MtZWxmLXZlciBhbmQgdC1saW51eAotIFNITElCX01BUEZJTEVTID0gbGliZ2NjLXN0ZC52ZXIgJChzcmNkaXIpL2NvbmZpZy9pMzg2L2xpYmdjYy1nbGliYy52ZXIKLSAKLS1IT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtODAgLURVU0VfRUxGX1NZTVZFUiAkKENFVF9GTEFHUykKLStIT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtODAgJChDRVRfRkxBR1MpCi0gQ1JUU1RVRkZfVF9DRkxBR1MgKz0gJChDRVRfRkxBR1MpCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM3LXN5bmMtZ2NjLXN0ZGRlZi5oLXdpdGgtbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzctc3luYy1nY2Mtc3RkZGVmLmgtd2l0aC1tdXNsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOGE3ZjQxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzctc3luYy1nY2Mtc3RkZGVmLmgtd2l0aC1tdXNsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotRnJvbSA2MDJhYmFhYjE1ZmZiNjBiZjE3OTcxODdhNzFiNDg1MDQyYzU2MzYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMyBGZWIgMjAxNyAxMjo1NjowMCAtMDgwMAotU3ViamVjdDogW1BBVENIIDM3LzM5XSBzeW5jIGdjYyBzdGRkZWYuaCB3aXRoIG11c2wKLQotbXVzbCBkZWZpbmVzIHB0cmRpZmZfdCBzaXplX3QgYW5kIHdjaGFyX3QKLXNvIGRvbnQgZGVmaW5lIHRoZW0gaGVyZSBpZiBtdXNsIGlzIGRlZmluaW5pbmcgdGhlbQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotIGdjYy9naW5jbHVkZS9zdGRkZWYuaCB8IDkgKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2dpbmNsdWRlL3N0ZGRlZi5oIGIvZ2NjL2dpbmNsdWRlL3N0ZGRlZi5oCi1pbmRleCAzMWI5NmE3ZTVlMS4uNDM4YTNjZTdjNTYgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2luY2x1ZGUvc3RkZGVmLmgKLSsrKyBiL2djYy9naW5jbHVkZS9zdGRkZWYuaAotQEAgLTEzNCw2ICsxMzQsNyBAQCBfVFlQRV93Y2hhcl90OwotICNpZm5kZWYgX19faW50X3B0cmRpZmZfdF9oCi0gI2lmbmRlZiBfR0NDX1BUUkRJRkZfVAotICNpZm5kZWYgX1BUUkRJRkZfVF9ERUNMQVJFRCAvKiBEcmFnb25GbHkgKi8KLSsjaWZuZGVmIF9fREVGSU5FRF9wdHJkaWZmX3QgLyogbXVzbCAqLwotICNkZWZpbmUgX1BUUkRJRkZfVAotICNkZWZpbmUgX1RfUFRSRElGRl8KLSAjZGVmaW5lIF9UX1BUUkRJRkYKLUBAIC0xNDMsMTAgKzE0NCwxMiBAQCBfVFlQRV93Y2hhcl90OwotICNkZWZpbmUgX19faW50X3B0cmRpZmZfdF9oCi0gI2RlZmluZSBfR0NDX1BUUkRJRkZfVAotICNkZWZpbmUgX1BUUkRJRkZfVF9ERUNMQVJFRAotKyNkZWZpbmUgX19ERUZJTkVEX3B0cmRpZmZfdCAvKiBtdXNsICovCi0gI2lmbmRlZiBfX1BUUkRJRkZfVFlQRV9fCi0gI2RlZmluZSBfX1BUUkRJRkZfVFlQRV9fIGxvbmcgaW50Ci0gI2VuZGlmCi0gdHlwZWRlZiBfX1BUUkRJRkZfVFlQRV9fIHB0cmRpZmZfdDsKLSsjZW5kaWYgLyogX19ERUZJTkVEX3B0cmRpZmZfdCAqLwotICNlbmRpZiAvKiBfUFRSRElGRl9UX0RFQ0xBUkVEICovCi0gI2VuZGlmIC8qIF9HQ0NfUFRSRElGRl9UICovCi0gI2VuZGlmIC8qIF9fX2ludF9wdHJkaWZmX3RfaCAqLwotQEAgLTE4NCw2ICsxODcsNyBAQCB0eXBlZGVmIF9fUFRSRElGRl9UWVBFX18gcHRyZGlmZl90OwotICNpZm5kZWYgX0dDQ19TSVpFX1QKLSAjaWZuZGVmIF9TSVpFVF8KLSAjaWZuZGVmIF9fc2l6ZV90Ci0rI2lmbmRlZiBfX0RFRklORURfc2l6ZV90IC8qIG11c2wgKi8KLSAjZGVmaW5lIF9fc2l6ZV90X18JLyogQmVPUyAqLwotICNkZWZpbmUgX19TSVpFX1RfXwkvKiBDcmF5IFVuaWNvcy9NayAqLwotICNkZWZpbmUgX1NJWkVfVAotQEAgLTIwMCw2ICsyMDQsNyBAQCB0eXBlZGVmIF9fUFRSRElGRl9UWVBFX18gcHRyZGlmZl90OwotICNkZWZpbmUgX19faW50X3NpemVfdF9oCi0gI2RlZmluZSBfR0NDX1NJWkVfVAotICNkZWZpbmUgX1NJWkVUXwotKyNkZWZpbmUgX19ERUZJTkVEX3NpemVfdCAvKiBtdXNsICovCi0gI2lmIChkZWZpbmVkIChfX0ZyZWVCU0RfXykgJiYgKF9fRnJlZUJTRF9fID49IDUpKSBcCi0gICB8fCBkZWZpbmVkKF9fRHJhZ29uRmx5X18pIFwKLSAgIHx8IGRlZmluZWQoX19GcmVlQlNEX2tlcm5lbF9fKQotQEAgLTIzNSw2ICsyNDAsNyBAQCB0eXBlZGVmIGxvbmcgc3NpemVfdDsKLSAjZW5kaWYgLyogX1NJWkVfVCAqLwotICNlbmRpZiAvKiBfX1NJWkVfVF9fICovCi0gI2VuZGlmIC8qIF9fc2l6ZV90X18gKi8KLSsjZW5kaWYgLyogX19ERUZJTkVEX3NpemVfdCAqLwotICN1bmRlZglfX25lZWRfc2l6ZV90Ci0gI2VuZGlmIC8qIF9TVERERUZfSCBvciBfX25lZWRfc2l6ZV90LiAgKi8KLSAKLUBAIC0yNjQsNiArMjcwLDcgQEAgdHlwZWRlZiBsb25nIHNzaXplX3Q7Ci0gI2lmbmRlZiBfX19pbnRfd2NoYXJfdF9oCi0gI2lmbmRlZiBfX0lOVF9XQ0hBUl9UX0gKLSAjaWZuZGVmIF9HQ0NfV0NIQVJfVAotKyNpZm5kZWYgX19ERUZJTkVEX3djaGFyX3QgLyogbXVzbCAqLwotICNkZWZpbmUgX193Y2hhcl90X18JLyogQmVPUyAqLwotICNkZWZpbmUgX19XQ0hBUl9UX18JLyogQ3JheSBVbmljb3MvTWsgKi8KLSAjZGVmaW5lIF9XQ0hBUl9UCi1AQCAtMjc5LDYgKzI4Niw3IEBAIHR5cGVkZWYgbG9uZyBzc2l6ZV90OwotICNkZWZpbmUgX19JTlRfV0NIQVJfVF9ICi0gI2RlZmluZSBfR0NDX1dDSEFSX1QKLSAjZGVmaW5lIF9XQ0hBUl9UX0RFQ0xBUkVECi0rI2RlZmluZSBfX0RFRklORURfd2NoYXJfdCAvKiBtdXNsICovCi0gCi0gLyogT24gQlNELzM4NiAxLjEsIGF0IGxlYXN0LCBtYWNoaW5lL2Fuc2kuaCBkZWZpbmVzIF9CU0RfV0NIQVJfVF8KLSAgICBpbnN0ZWFkIG9mIF9XQ0hBUl9UXywgYW5kIF9CU0RfUlVORV9UXyAod2hpY2gsIHVubGlrZSB0aGUgb3RoZXIKLUBAIC0zNDQsNiArMzUyLDcgQEAgdHlwZWRlZiBfX1dDSEFSX1RZUEVfXyB3Y2hhcl90OwotICNlbmRpZgotICNlbmRpZiAvKiBfX1dDSEFSX1RfXyAqLwotICNlbmRpZiAvKiBfX3djaGFyX3RfXyAqLwotKyNlbmRpZiAvKiBfX0RFRklORURfd2NoYXJfdCBtdXNsICovCi0gI3VuZGVmCV9fbmVlZF93Y2hhcl90Ci0gI2VuZGlmIC8qIF9TVERERUZfSCBvciBfX25lZWRfd2NoYXJfdC4gICovCi0gCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM4LWZpeC1zZWdtZW50YXRpb24tZmF1bHQtaW4tcHJlY29tcGlsZWQtaGVhZGVyLWdlbmVyYXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM4LWZpeC1zZWdtZW50YXRpb24tZmF1bHQtaW4tcHJlY29tcGlsZWQtaGVhZGVyLWdlbmVyYXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyNGQyYWUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzOC1maXgtc2VnbWVudGF0aW9uLWZhdWx0LWluLXByZWNvbXBpbGVkLWhlYWRlci1nZW5lcmF0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotRnJvbSAwMDY5NDg0OTYzMmRlZTIzNzQxOTI1YzYxMDRkZjEzNGY2YmZmNzQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlzdHJpY2t5QGludGVsLmNvbT4KLURhdGU6IE1vbiwgMTkgTWFyIDIwMTggMjI6MzE6MjAgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAzOC8zOV0gZml4IHNlZ21lbnRhdGlvbiBmYXVsdCBpbiBwcmVjb21waWxlZCBoZWFkZXIgZ2VuZXJhdGlvbgotCi1QcmV2ZW50IGEgc2VnbWVudGF0aW9uIGZhdWx0IHdoaWNoIG9jY3VycyB3aGVuIHVzaW5nIGluY29ycmVjdAotc3RydWN0dXJlIHRyeWluZyB0byBhY2Nlc3MgbmFtZSBvZiBzb21lIG5hbWVkIG9wZXJhdG9ycywgc3VjaCBhcwotQ1BQX05PVCwgQ1BQX0FORCBldGMuICJ0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmciIGNhbm5vdCBiZSB1c2VkIGluCi10aG9zZSBjYXNlcywgYXMgaXMgbWF5IG5vdCBiZSBpbml0aWFsaXplZCBhdCBhbGwuCi0KLVtZT0NUTyAjMTE3MzhdCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBKdXJvIEJ5c3RyaWNreSA8anVyby5ieXN0cmlja3lAaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxpYmNwcC9sZXguYyB8IDI2ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJjcHAvbGV4LmMgYi9saWJjcHAvbGV4LmMKLWluZGV4IDM3YzM2NWEzNTYwLi42MzQ4MDA0OGRiNiAxMDA2NDQKLS0tLSBhL2xpYmNwcC9sZXguYwotKysrIGIvbGliY3BwL2xleC5jCi1AQCAtMzI3OSwxMSArMzI3OSwyNyBAQCBjcHBfc3BlbGxfdG9rZW4gKGNwcF9yZWFkZXIgKnBmaWxlLCBjb25zdCBjcHBfdG9rZW4gKnRva2VuLAotICAgICBzcGVsbF9pZGVudDoKLSAgICAgY2FzZSBTUEVMTF9JREVOVDoKLSAgICAgICBpZiAoZm9yc3RyaW5nKQotLQl7Ci0tCSAgbWVtY3B5IChidWZmZXIsIE5PREVfTkFNRSAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKSwKLS0JCSAgTk9ERV9MRU4gKHRva2VuLT52YWwubm9kZS5zcGVsbGluZykpOwotLQkgIGJ1ZmZlciArPSBOT0RFX0xFTiAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKTsKLS0JfQotKyAgICAgICAgewotKyAgICAgICAgICBpZiAodG9rZW4tPnR5cGUgPT0gQ1BQX05BTUUpCi0rICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgbWVtY3B5IChidWZmZXIsIE5PREVfTkFNRSAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKSwKLSsgICAgICAgICAgICAgICAgICAgIE5PREVfTEVOICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpKTsKLSsgICAgICAgICAgICAgIGJ1ZmZlciArPSBOT0RFX0xFTiAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKTsKLSsgICAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgLyogTkFNRURfT1AsIGNhbm5vdCB1c2Ugbm9kZS5zcGVsbGluZyAqLwotKyAgICAgICAgICBpZiAodG9rZW4tPmZsYWdzICYgTkFNRURfT1ApCi0rICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgY29uc3QgY2hhciAqc3RyID0gY3BwX25hbWVkX29wZXJhdG9yMm5hbWUgKHRva2VuLT50eXBlKTsKLSsgICAgICAgICAgICAgIGlmIChzdHIpCi0rICAgICAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAgICAgICBzaXplX3QgbGVuID0gc3RybGVuKHN0cik7Ci0rICAgICAgICAgICAgICAgICAgbWVtY3B5KGJ1ZmZlciwgc3RyLCBsZW4pOwotKyAgICAgICAgICAgICAgICAgIGJ1ZmZlciArPSBsZW47Ci0rICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgIH0KLSAgICAgICBlbHNlCi0gCWJ1ZmZlciA9IF9jcHBfc3BlbGxfaWRlbnRfdWNucyAoYnVmZmVyLCB0b2tlbi0+dmFsLm5vZGUubm9kZSk7Ci0gICAgICAgYnJlYWs7Ci0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM5LUZpeC1mb3ItdGVzdHN1aXRlLWZhaWx1cmUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM5LUZpeC1mb3ItdGVzdHN1aXRlLWZhaWx1cmUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYzNTE2MzAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzOS1GaXgtZm9yLXRlc3RzdWl0ZS1mYWlsdXJlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjU4ICswLDAgQEAKLUZyb20gZDE1MWE2MmMyNTI3NDk2NDNjODUwYTA4ZDEzMzUzMjFlNWI3NWQ0MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJBR0hVTkFUSCBMT0xVUiA8cmFnaHVuYXRoLmxvbHVyQGtwaXQuY29tPgotRGF0ZTogV2VkLCA2IERlYyAyMDE3IDIyOjUyOjI2IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggMzkvMzldIEZpeCBmb3IgdGVzdHN1aXRlIGZhaWx1cmUKLQotMjAxNy0xMS0xNiAgUmFnaHVuYXRoIExvbHVyICA8cmFnaHVuYXRoLmxvbHVyQGtwaXQuY29tPgotCi0JKiBnY2MuZGcvcHI1NjI3NS5jOiBJZiBTU0UgaXMgZGlzYWJsZWQsIGVuc3VyZSB0aGF0Ci0JIi1tZnBtYXRoIiBpcyBub3Qgc2V0IHRvIHVzZSBTU0UuIFNldCAiLW1mcG1hdGg9Mzg3Ii4KLQkqIGdjYy5kZy9wcjY4MzA2LmM6IExpa2V3aXNlCi0JKiBnY2MuZGcvcHI2ODMwNi0yLmM6IExpa2V3aXNlCi0JKiBnY2MuZGcvcHI2ODMwNi0zLmM6IExpa2V3aXNlCi0JKiBnY2MuZGcvcHI2OTYzNC5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L2FtZDY0LWFiaS0xLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9pc2EtMTQuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYzogTGlrZXdpc2UKLQotSWYgLVdhbGwsIC1XZXJyb3IgYXJlIHVzZWQgZHVyaW5nIGNvbXBpbGF0aW9uIHZhcmlvdXMgdGVzdCBjYXNlcyBmYWlsCi10byBjb21waWxlLgotCi1JZiBTU0UgaXMgZGlzYWJsZWQsIGJlIHN1cmUgdG8gLW1mcG1hdGg9Mzg3IHRvIHJlc29sdmUgdGhpcy4KLQotVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBjaGFuZ2VzIHRvIENoYW5nZWxvZyBmcm9tIHRoZSBvcmlnaW5hbCBwYXRjaC4KLVRoaXMgd2lsbCBoZWxwIHVzIGF2b2lkIGNvbmZsaWN0cy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLS0tLQotIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTIuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYuYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMgICAgICAgICAgICAgICAgICAgICAgfCAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYW1kNjQtYWJpLTEuYyAgICAgICAgIHwgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTYuYyAgICAgICAgICB8IDEgKwotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYyB8IDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYyAgICAgICAgICAgICAgfCAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jICAgICAgICAgIHwgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jICAgICAgICAgICB8IDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYyAgICAgICAgICAgfCAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jICAgICAgICAgICAgIHwgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYyAgICAgICAgICAgICB8IDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmMgICAgICAgICAgICAgfCAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMgICAgICAgICAgIHwgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMgICAgICB8IDIgKy0KLSAxNyBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYwotaW5kZXggYjkwMWJiMmIxOTkuLmE0ZjZjOTVlMWExIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI1NjI3NS5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjU2Mjc1LmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0gLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KLS0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UiIHsgdGFyZ2V0IHsgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gfSAqLwotKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIHsgdGFyZ2V0IHsgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gfSAqLwotIAotIHR5cGVkZWYgbG9uZyBsb25nIHYydHcgX19hdHRyaWJ1dGVfXyAoKHZlY3Rvcl9zaXplICgyICogc2l6ZW9mIChsb25nIGxvbmcpKSkpOwotIAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0yLmMKLWluZGV4IDQ2NzJlYmU3OTg3Li4yYTM2OGM0ODRiNiAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTIuYwotQEAgLTEsNiArMSw2IEBACi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLSAvKiB7IGRnLW9wdGlvbnMgIi1PMyIgfSAqLwotLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbW5vLW1teCIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSsvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXggLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotIAotIHN0cnVjdCB7Ci0gICAgIGludCB0el9taW51dGVzd2VzdDsKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMy5jCi1pbmRleCBmNWE4YzEwMmNmOC4uZGYzMzkwYzY0YzIgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTMuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0gLyogeyBkZy1vcHRpb25zICItTzMiIH0gKi8KLS0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXgiIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0rLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIC1tbm8tbW14IC1tZnBtYXRoPTM4NyIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1hbHRpdmVjIC1tbm8tdnN4IiB7IHRhcmdldCBwb3dlcnBjKi0qLSogfSB9ICovCi0gCi0gZXh0ZXJuIHZvaWQgZm4yKCk7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jCi1pbmRleCA1NGU1YjQwZjIyMS4uMDgxMzM4OWUyYzEgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYuYwotQEAgLTEsNiArMSw2IEBACi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLSAvKiB7IGRnLW9wdGlvbnMgIi1PMyIgfSAqLwotLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbW5vLW1teCIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSsvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXggLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotIAotIGVudW0gcG93ZXJwY19wbWNfdHlwZSB7IFBQQ19QTUNfSUJNIH07Ci0gc3RydWN0IHsKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMKLWluZGV4IDYwYTU2MTQ5NDYzLi5iY2MyM2Y5Y2NkNiAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjk2MzQuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotIC8qIHsgZGctb3B0aW9ucyAiLU8yIC1mbm8tZGNlIC1mc2NoZWR1bGUtaW5zbnMgLWZuby10cmVlLXZycCAtZmNvbXBhcmUtZGVidWcgLVduby1wc2FiaSIgfSAqLwotLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSsvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHNjaGVkdWxpbmcgfSAqLwotIAotIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgdTE2OwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2FtZDY0LWFiaS0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCi1pbmRleCA2OWZkZTU3YmYwNi4uN2YxZjFjMDNlZGYgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCi1AQCAtMSw1ICsxLDUgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1hYmk9c3lzdiIgeyB0YXJnZXQgKi0qLW1pbmd3KiB9IH0gKi8KLSAKLSBkb3VibGUgZm9vKHZvaWQpIHsgcmV0dXJuIDA7IH0JLyogeyBkZy1lcnJvciAiU1NFIGRpc2FibGVkIiB9ICovCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jCi1pbmRleCBlYTg5NmI3ZWJmZC4uYmYxNTU2OWI4MjYgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9mdW5jc3BlYy02LmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTYuYwotQEAgLTEsNiArMSw3IEBACi0gLyogVGVzdCB3aGV0aGVyIGFsbCBvZiB0aGUgNjQtYml0IGZ1bmN0aW9uIHNwZWNpZmljIG9wdGlvbnMgYXJlIGFjY2VwdGVkCi0gICAgd2l0aG91dCBlcnJvci4gICovCi0gLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9ICovCi0rLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tZnBtYXRoPTM4NyIgfSAqLwotIAotICNpbmNsdWRlICJmdW5jc3BlYy01Ni5pbmMiCi0gCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jCi1pbmRleCAzZmJkYzg4MWRkYS4uNmI0ZDlkMTI1MmEgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pbnRlcnJ1cHQtMzg3LWVyci0xLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYwotQEAgLTEsNSArMSw1IEBACi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbWdlbmVyYWwtcmVncy1vbmx5IC1tbm8tY2xkIC1tbm8taWFtY3UgLW04MDM4NyIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tZ2VuZXJhbC1yZWdzLW9ubHkgLW1uby1jbGQgLW1uby1pYW1jdSAtbTgwMzg3IC1tZnBtYXRoPTM4NyIgfSAqLwotIAotIHR5cGVkZWYgdW5zaWduZWQgaW50IHV3b3JkX3QgX19hdHRyaWJ1dGVfXyAoKG1vZGUgKF9fd29yZF9fKSkpOwotIAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaXNhLTE0LmMKLWluZGV4IDVkNDllNmU3N2ZlLi4xZGUyZGI5MmJkZCAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYwotQEAgLTEsNSArMSw1IEBACi0gLyogeyBkZy1kbyBydW4gfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAKLSBleHRlcm4gdm9pZCBhYm9ydCAodm9pZCk7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jCi1pbmRleCBmYTE3NjliNjJmYi4uZjc5ZmIxMjcyNmYgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNDQ5NDgtMmIuYwotQEAgLTEsNSArMSw1IEBACi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PIC1tbm8tc3NlIC1Xbm8tcHNhYmkgLW10dW5lPWdlbmVyaWMiIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PIC1tbm8tc3NlIC1Xbm8tcHNhYmkgLW10dW5lPWdlbmVyaWMgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gc3RydWN0IEEKLSB7IAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmMKLWluZGV4IDJlODlmZjdkODFkLi42MzM5YmY2YjczNiAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTEuYwotQEAgLTEsNiArMSw2IEBACi0gLyogUFIgdGFyZ2V0LzUzNDI1ICovCi0gLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UiIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAvKiB7IGRnLXNraXAtaWYgIm5vIFNTRSB2ZWN0b3IiIHsgeDg2XzY0LSotbWluZ3cqIH0gfSAqLwotIAotIHR5cGVkZWYgZG91YmxlIF9fdjJkZiBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICgxNikpKTsKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMi5jCi1pbmRleCA2MWY2MjgzZGJlOS4uMmM1YTU1ZjBhYzMgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIFBSIHRhcmdldC81MzQyNSAqLwotIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCi0gLyogeyBkZy1za2lwLWlmICJubyBTU0UgdmVjdG9yIiB7IHg4Nl82NC0qLW1pbmd3KiB9IH0gKi8KLSAKLSB0eXBlZGVmIGZsb2F0IF9fdjJzZiBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICg4KSkpOwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYwotaW5kZXggMjMzNjZkMDkwOWQuLjk4MTBlM2FiYjc2IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU1MjQ3LmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLwotIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IG1heWJlX3gzMiB9ICovCi0tLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UgLW1uby1tbXggLW14MzIgLW1hZGRyZXNzLW1vZGU9bG9uZyIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tbm8tbW14IC1teDMyIC1tYWRkcmVzcy1tb2RlPWxvbmcgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludDMyX3Q7Ci0gdHlwZWRlZiB1aW50MzJfdCBFbGYzMl9Xb3JkOwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYwotaW5kZXggOTYwMDZiM2UzMzguLjQyODdlNDUzOGJmIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1OTY0NC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU5NjQ0LmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIFBSIHRhcmdldC81OTY0NCAqLwotIC8qIHsgZGctZG8gcnVuIHsgdGFyZ2V0IGxwNjQgfSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItTzIgLWZmcmVlc3RhbmRpbmcgLW1uby1zc2UgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9MyAtbWFjY3VtdWxhdGUtb3V0Z29pbmctYXJncyAtbW5vLXJlZC16b25lIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIgLWZmcmVlc3RhbmRpbmcgLW1uby1zc2UgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9MyAtbWFjY3VtdWxhdGUtb3V0Z29pbmctYXJncyAtbW5vLXJlZC16b25lIC1tZnBtYXRoPTM4NyIgfSAqLwotIAotIC8qIFRoaXMgdGVzdCB1c2VzIF9fYnVpbHRpbl90cmFwICgpIGluc3RlYWQgb2YgZS5nLiBhYm9ydCwKLSAgICBiZWNhdXNlIGR1ZSB0byAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeT0zIGl0IHNob3VsZCBub3QgY2FsbAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYwotaW5kZXggYmZiOGM0NzAzZWIuLmVkMDRjZjE4MWYzIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI2MjEyMC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmMKLUBAIC0xLDUgKzEsNSBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gdm9pZCBmb28gKCkKLSB7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYwotaW5kZXggNGUxMTJjODhkMDcuLmJjZmIzOTZhNjhkIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNzA0NjctMS5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiBQUiBydGwtb3B0aW1pemF0aW9uLzcwNDY3ICovCi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tZnBtYXRoPTM4NyIgfSAqLwotIAotIHZvaWQgZm9vICh1bnNpZ25lZCBsb25nIGxvbmcgKik7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKLWluZGV4IDZjZGExNTM0MzExLi4yNmUzN2Y1YjhiYSAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKLUBAIC0xLDUgKzEsNSBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAgKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIC1XdmVjdG9yLW9wZXJhdGlvbi1wZXJmb3JtYW5jZSIgfSAgKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIC1XdmVjdG9yLW9wZXJhdGlvbi1wZXJmb3JtYW5jZSAtbWZwbWF0aD0zODciIH0gICovCi0gI2RlZmluZSB2ZWN0b3IoZWxjb3VudCwgdHlwZSkgIFwKLSBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgoZWxjb3VudCkqc2l6ZW9mKHR5cGUpKSkpIHR5cGUKLSAKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwNDAtUmUtaW50cm9kdWNlLXNwZS1jb21tYW5kbGluZS1vcHRpb25zLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDA0MC1SZS1pbnRyb2R1Y2Utc3BlLWNvbW1hbmRsaW5lLW9wdGlvbnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhZmEwMTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDA0MC1SZS1pbnRyb2R1Y2Utc3BlLWNvbW1hbmRsaW5lLW9wdGlvbnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDhmYjhmNzczZTExN2VlNzBiZTAwYmIwZGE1ZjM0M2ZlMTEwZGE1YzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogV2VkLCA2IEp1biAyMDE4IDEyOjEwOjIyIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggNDAvNDBdIFJlLWludHJvZHVjZSBzcGUgY29tbWFuZGxpbmUgb3B0aW9ucwotCi1UaGlzIHNob3VsZCBlbnN1cmUgdGhhdCB3ZSBrZWVwIGFjY2VwdGluZwotc3BlIG9wdGlvbnMKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtTUEUgcG9ydCBpcyByZW1vdmVkIGZyb20gcnM2MDAgcG9ydF0KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9jb25maWcvcnM2MDAwL3JzNjAwMC5vcHQgfCAxMiArKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm9wdCBiL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5vcHQKLWluZGV4IGFjZThhNDc3NTUwLi5kNmE4ZjgyNWQ4OCAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5vcHQKLSsrKyBiL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5vcHQKLUBAIC0zNjUsNiArMzY1LDE4IEBAIG1kZWJ1Zz0KLSBUYXJnZXQgUmVqZWN0TmVnYXRpdmUgSm9pbmVkCi0gLW1kZWJ1Zz0JRW5hYmxlIGRlYnVnIG91dHB1dC4KLSAKLSttc3BlCi0rVGFyZ2V0IFZhcihyczYwMDBfc3BlKSBTYXZlCi0rR2VuZXJhdGUgU1BFIFNJTUQgaW5zdHJ1Y3Rpb25zIG9uIEU1MDAuCi0rCi0rbWFiaT1zcGUKLStUYXJnZXQgUmVqZWN0TmVnYXRpdmUgVmFyKHJzNjAwMF9zcGVfYWJpKSBTYXZlCi0rVXNlIHRoZSBTUEUgQUJJIGV4dGVuc2lvbnMuCi0rCi0rbWFiaT1uby1zcGUKLStUYXJnZXQgUmVqZWN0TmVnYXRpdmUgVmFyKHJzNjAwMF9zcGVfYWJpLCAwKQotK0RvIG5vdCB1c2UgdGhlIFNQRSBBQkkgZXh0ZW5zaW9ucy4KLSsKLSBtYWJpPWFsdGl2ZWMKLSBUYXJnZXQgUmVqZWN0TmVnYXRpdmUgVmFyKHJzNjAwMF9hbHRpdmVjX2FiaSkgU2F2ZQotIFVzZSB0aGUgQWx0aVZlYyBBQkkgZXh0ZW5zaW9ucy4KLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwNDEtQVJDLWZpeC1zcGVjLWdlbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwNDEtQVJDLWZpeC1zcGVjLWdlbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2JkNWU0MS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDQxLUFSQy1maXgtc3BlYy1nZW4ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi1Gcm9tIDg5MjE0MjM3OWM2Yjk5ZmU4YzNlYmRmZTBiNzllMmE0MzUyMjhjMWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBjbGF6aXNzIDxjbGF6aXNzQDEzOGJjNzVkLTBkMDQtMDQxMC05NjFmLTgyZWU3MmIwNTRhND4KLURhdGU6IE1vbiwgMTcgU2VwIDIwMTggMDg6NTI6MTAgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gW0FSQ10gVXBkYXRlIExJTktfRUhfU1BFQyBsaW5rZXIgc3BlYy4KLQotV2l0aCBubyB0cmFpbGluZyBzcGFjZSBpbiBMSU5LX0VIX1NQRUMgbGlua2VyIHNwZWMgZ2V0cyBnZW5lcmF0ZWQgYXM6Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+OC0tLS0tLS0tLS0tLS0tLS0tLS0tLQotJXshcjotLWJ1aWxkLWlkfSAtLWVoLWZyYW1lLWhkciV7aCp9IC4uLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPjgtLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotb3IgZXZlbiB3b3JzZSBpZiBoYXNoIHN0eWxlIGlzIGFkZGVkOgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPjgtLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSV7IXI6LS1idWlsZC1pZH0gLS1laC1mcmFtZS1oZHItLWhhc2gtc3R5bGU9c3lzdiAle2gqfSAuLi4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT44LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLU5vdyBpZiB0aGF0IHNwZWMgaXMgcmVhbGx5IHVzZWQgYnkgTEQgdGhlbiBpdCBmYWlscyBpbmV2aXRhYmx5Ci1zYXlpbmcgdGhhdCBpdCBkb2Vzbid0IGtub3cgb3B0aW9uICItLWVoLWZyYW1lLWhkci0taGFzaC1zdHlsZT1zeXN2Ii4KLQotMjAxOC0wOS0xNyAgQWxleGV5IEJyb2RraW4gIDxhYnJvZGtpbkBzeW5vcHN5cy5jb20+Ci0KLQkqIGNvbmZpZy9hcmMvbGludXguaCAoTElOS19FSF9TUEVDKTogQWRkIG1pc3Npbmcgc3BhY2UuCi0KLWdpdC1zdm4taWQ6IHN2bitzc2g6Ly9nY2MuZ251Lm9yZy9zdm4vZ2NjL3RydW5rQDI2NDM2MSAxMzhiYzc1ZC0wZDA0LTA0MTAtOTYxZi04MmVlNzJiMDU0YTQKLQotU2lnbmVkLW9mZi1ieTogQWxleGV5IEJyb2RraW4gPGFicm9ka2luQHN5bm9wc3lzLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydFtodHRwczovL2djYy5nbnUub3JnL2dpdC8/cD1nY2MuZ2l0O2E9Y29tbWl0O2g9ODkyMTQyMzc5YzZiXQotLS0tCi0gZ2NjL2NvbmZpZy9hcmMvbGludXguaCB8IDIgKy0KLSAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hcmMvbGludXguaCBiL2djYy9jb25maWcvYXJjL2xpbnV4LmgKLWluZGV4IDk2ZDU0OGVhZTM0MS4uNjJlYmU0ZGUwZmM3IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hcmMvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9hcmMvbGludXguaAotQEAgLTk4LDcgKzk4LDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSAgICBTaWduYWxpemUgdGhhdCBiZWNhdXNlIHdlIGhhdmUgZmRlLWdsaWJjLCB3ZSBkb24ndCBuZWVkIGFsbCBDIHNoYXJlZCBsaWJzCi0gICAgbGlua2VkIGFnYWluc3QgLWxnY2Nfcy4gICovCi0gI3VuZGVmIExJTktfRUhfU1BFQwotLSNkZWZpbmUgTElOS19FSF9TUEVDICItLWVoLWZyYW1lLWhkciIKLSsjZGVmaW5lIExJTktfRUhfU1BFQyAiLS1laC1mcmFtZS1oZHIgIgotICNlbmRpZgotIAotICN1bmRlZiBTVUJUQVJHRVRfQ1BQX1NQRUMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mN2JmMjU3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMuaW5jCkBAIC0wLDAgKzEsMTExIEBACityZXF1aXJlIGdjYy1jb21tb24uaW5jCisKKyMgVGhpcmQgZGlnaXQgaW4gUFYgc2hvdWxkIGJlIGluY3JlbWVudGVkIGFmdGVyIGEgbWlub3IgcmVsZWFzZQorCitQViA9ICI4LjMuMCIKKworIyBCSU5WIHNob3VsZCBiZSBpbmNyZW1lbnRlZCB0byBhIHJldmlzaW9uIGFmdGVyIGEgbWlub3IgZ2NjIHJlbGVhc2UKKworQklOViA9ICI4LjMuMCIKKworRklMRVNFWFRSQVBBVEhTID0uICIke0ZJTEVfRElSTkFNRX0vZ2NjLTguMzoiCisKK0RFUEVORFMgPSsgIm1wZnIgZ21wIGxpYm1wYyB6bGliIGZsZXgtbmF0aXZlIgorTkFUSVZFREVQUyA9ICJtcGZyLW5hdGl2ZSBnbXAtbmF0aXZlIGxpYm1wYy1uYXRpdmUgemxpYi1uYXRpdmUgZmxleC1uYXRpdmUiCisKK0xJQ0VOU0UgPSAiR1BMLTMuMC13aXRoLUdDQy1leGNlcHRpb24gJiBHUEx2MyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKKyAgICBmaWxlOi8vQ09QWUlORzM7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICBmaWxlOi8vQ09QWUlORzMuTElCO21kNT02YTZhOGUwMjA4MzhiMjM0MDZjODFiMTljMWQ0NmRmNiBcCisgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSBcCisgICAgZmlsZTovL0NPUFlJTkcuUlVOVElNRTttZDU9ZmU2MGQ4NzA0ODU2N2Q0ZmU4YzhhMGVkMjQ0OGJjYzggXAorIgorCisjUkVMRUFTRSA9ICI4LjAuMS1SQy0yMDE4MDQyNyIKK0JBU0VVUkkgPz0gIiR7R05VX01JUlJPUn0vZ2NjL2djYy0ke1BWfS9nY2MtJHtQVn0udGFyLnh6IgorI1NSQ1JFViA9ICJmN2NmNzk4YjczZmQxYTA3MDk4ZjlhNDkwZGVlYzFlMmEzNmUwYmVkIgorI0JBU0VVUkkgPz0gImdpdDovL2dpdGh1Yi5jb20vZ2NjLW1pcnJvci9nY2M7YnJhbmNoPWdjYy02LWJyYW5jaDtwcm90b2NvbD1naXQiCisjQkFTRVVSSSA/PSAiaHR0cDovL21pcnJvcnMuY29uY2VydHBhc3MuY29tL2djYy9zbmFwc2hvdHMvJHtSRUxFQVNFfS9nY2MtJHtSRUxFQVNFfS50YXIueHoiCisKK1NSQ19VUkkgPSAiXAorICAgICAgICAgICAke0JBU0VVUkl9IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZ2NjLTQuMy4xLUFSQ0hfRkxBR1NfRk9SX1RBUkdFVC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWdjYy1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtZ2NjLTQuMy4zLVNZU1JPT1RfQ0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC02NC1iaXQtbXVsdGlsaWItaGFjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LW9wdGlvbmFsLWxpYnN0ZGMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1nY2MtZGlzYWJsZS1NQVNLX1JFTEFYX1BJQ19DQUxMUy1iaXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1DT0xMRUNUX0dDQ19PUFRJT05TLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDgtVXNlLXRoZS1kZWZhdWx0cy5oLWluLUItaW5zdGVhZC1vZi1TLWFuZC10LW9lLWluLUIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOS1mb3J0cmFuLWNyb3NzLWNvbXBpbGUtaGFjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDEwLWNwcC1ob25vci1zeXNyb290LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTEtTUlQUzY0LURlZmF1bHQtdG8tTjY0LUFCSS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDEyLURlZmluZS1HTElCQ19EWU5BTUlDX0xJTktFUi1hbmQtVUNMSUJDX0RZTkFNSUNfTElOS0UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMy1nY2MtRml4LWFyZ3VtZW50LWxpc3QtdG9vLWxvbmctZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNC1EaXNhYmxlLXNkdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE1LWxpYnRvb2wucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNi1nY2MtYXJtdjQtcGFzcy1maXgtdjRieC10by1saW5rZXItdG8tc3VwcG9ydC1FQUJJLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTctVXNlLXRoZS1tdWx0aWxpYi1jb25maWctZmlsZXMtZnJvbS1CLWluc3RlYWQtb2YtdXNpbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE4LUF2b2lkLXVzaW5nLWxpYmRpci1mcm9tLS5sYS13aGljaC11c3VhbGx5LXBvaW50cy10by0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxOS1leHBvcnQtQ1BQLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjAtRGlzYWJsZS10aGUtTVVMVElMSUJfT1NESVJOQU1FUy1hbmQtb3RoZXItbXVsdGlsaWItby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIxLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjItZ2NjLTQuOC13b24tdC1idWlsZC13aXRoLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIzLURvbi10LXNlYXJjaC1ob3N0LWRpcmVjdG9yeS1kdXJpbmctcmVsaW5rLWlmLWluc3RfcHIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyNC1Vc2UtU1lTVEVNTElCU19ESVItcmVwbGFjZW1lbnQtaW5zdGVhZC1vZi1oYXJkY29kaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjUtYWFyY2g2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjYtbGliY2MxLWZpeC1saWJjYzEtcy1pbnN0YWxsLXBhdGgtYW5kLXJwYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjctaGFuZGxlLXN5c3Jvb3Qtc3VwcG9ydC1mb3ItbmF0aXZlc2RrLWdjYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI4LVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyOS1GaXgtdmFyaW91cy1fRk9SX0JVSUxELWFuZC1yZWxhdGVkLXZhcmlhYmxlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDMwLW5pb3MyLURlZmluZS1NVVNMX0RZTkFNSUNfTElOS0VSLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzEtQWRkLXNzcF9ub25zaGFyZWQtdG8tbGluay1jb21tYW5kbGluZS1mb3ItbXVzbC10YXJnZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDMyLWxpYmdjYy1BZGQta25vYi10by11c2UtbGRibC0xMjgtb24tcHBjLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzMtTGluay1saWJnY2MtdXNpbmctTERGTEFHUy1ub3QtanVzdC1TSExJQl9MREZMQUdTLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzQtbGliZ2NjX3MtVXNlLWFsaWFzLWZvci1fX2NwdV9pbmRpY2F0b3JfaW5pdC1pbnN0ZWFkLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM1LXN5bmMtZ2NjLXN0ZGRlZi5oLXdpdGgtbXVzbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM2LWZpeC1zZWdtZW50YXRpb24tZmF1bHQtaW4tcHJlY29tcGlsZWQtaGVhZGVyLWdlbmVyYXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzNy1GaXgtZm9yLXRlc3RzdWl0ZS1mYWlsdXJlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzgtUmUtaW50cm9kdWNlLXNwZS1jb21tYW5kbGluZS1vcHRpb25zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzktcmlzY3YtRGlzYWJsZS1tdWx0aWxpYi1mb3ItT0UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA0MC1wb3dlcnBjLXBvd2VycGM2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NWIyMTBiNGJmZTdlMDYwMDUxZjc5OWUwZjk5NDg5NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2NGJhYWRmZTZjYzBmNDk0N2E4NGNiMTJkN2YwZGZhZjQ1YmI1OGI3ZTkyNDYxNjM5NTk2YzIxZTAyZDk3ZDJjIgorCitTID0gIiR7VE1QRElSfS93b3JrLXNoYXJlZC9nY2MtJHtQVn0tJHtQUn0vZ2NjLSR7UFZ9IgorI1MgPSAiJHtUTVBESVJ9L3dvcmstc2hhcmVkL2djYy0ke1BWfS0ke1BSfS9naXQiCisjUyA9ICIke1RNUERJUn0vd29yay1zaGFyZWQvZ2NjLSR7UFZ9LSR7UFJ9L2djYy0ke1JFTEVBU0V9IgorQiA9ICIke1dPUktESVJ9L2djYy0ke1BWfS9idWlsZC4ke0hPU1RfU1lTfS4ke1RBUkdFVF9TWVN9IgorCisjIExhbmd1YWdlIE92ZXJyaWRlcworRk9SVFJBTiA9ICIiCitKQVZBID0gIiIKKworTFRPID0gIi0tZW5hYmxlLWx0byIKK1NTUCA/PSAiLS1kaXNhYmxlLWxpYnNzcCIKK1NTUF9taW5ndzMyID0gIi0tZW5hYmxlLWxpYnNzcCIKKworRVhUUkFfT0VDT05GX0JBU0UgPSAiXAorICAgICR7TFRPfSBcCisgICAgJHtTU1B9IFwKKyAgICAtLWVuYWJsZS1saWJpdG0gXAorICAgIC0tZGlzYWJsZS1ib290c3RyYXAgXAorICAgIC0tZGlzYWJsZS1saWJtdWRmbGFwIFwKKyAgICAtLXdpdGgtc3lzdGVtLXpsaWIgXAorICAgICR7QCctLXdpdGgtbGlua2VyLWhhc2gtc3R5bGU9JHtMSU5LRVJfSEFTSF9TVFlMRX0nIGlmICcke0xJTktFUl9IQVNIX1NUWUxFfScgZWxzZSAnJ30gXAorICAgIC0tZW5hYmxlLWxpbmtlci1idWlsZC1pZCBcCisgICAgLS13aXRoLXBwbD1ubyBcCisgICAgLS13aXRoLWNsb29nPW5vIFwKKyAgICAtLWVuYWJsZS1jaGVja2luZz1yZWxlYXNlIFwKKyAgICAtLWVuYWJsZS1jaGVhZGVycz1jX2dsb2JhbCBcCisgICAgLS13aXRob3V0LWlzbCBcCisiCisKK0VYVFJBX09FQ09ORl9QQVRIUyA9ICJcCisgICAgLS13aXRoLWd4eC1pbmNsdWRlLWRpcj0vbm90L2V4aXN0e3RhcmdldF9pbmNsdWRlZGlyfS9jKysvJHtCSU5WfSBcCisgICAgLS13aXRoLXN5c3Jvb3Q9L25vdC9leGlzdCBcCisgICAgLS13aXRoLWJ1aWxkLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9IFwKKyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDEtZ2NjLTQuMy4xLUFSQ0hfRkxBR1NfRk9SX1RBUkdFVC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDEtZ2NjLTQuMy4xLUFSQ0hfRkxBR1NfRk9SX1RBUkdFVC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWQ3OWU0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwMS1nY2MtNC4zLjEtQVJDSF9GTEFHU19GT1JfVEFSR0VULnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gZDdiMjg0YTliZWRlOWQ1MDU5YWQ3ZTk1YTg2NzI1NGJmOTEzYzYzOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA4OjM3OjExICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDEvNDBdIGdjYy00LjMuMTogQVJDSF9GTEFHU19GT1JfVEFSR0VUCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCistLS0KKyBjb25maWd1cmUgICAgfCAyICstCisgY29uZmlndXJlLmFjIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCitpbmRleCAwNjAxMzk1NTEyZi4uOGM1YjFlOWQ1NjEgMTAwNzU1CistLS0gYS9jb25maWd1cmUKKysrKyBiL2NvbmZpZ3VyZQorQEAgLTc1MDcsNyArNzUwNyw3IEBAIGZpCisgIyBmb3IgdGFyZ2V0X2FsaWFzIGFuZCBnY2MgZG9lc24ndCBtYW5hZ2UgaXQgY29uc2lzdGVudGx5LgorIHRhcmdldF9jb25maWdhcmdzPSItLWNhY2hlLWZpbGU9Li9jb25maWcuY2FjaGUgJHt0YXJnZXRfY29uZmlnYXJnc30iCisgCistRkxBR1NfRk9SX1RBUkdFVD0KKytGTEFHU19GT1JfVEFSR0VUPSIkQVJDSF9GTEFHU19GT1JfVEFSR0VUIgorIGNhc2UgIiAkdGFyZ2V0X2NvbmZpZ2RpcnMgIiBpbgorICAqIiBuZXdsaWIgIiopCisgICBjYXNlICIgJHRhcmdldF9jb25maWdhcmdzICIgaW4KK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGMzNDMzMzM2NTIzLi42OWMzMWM2NWFkNyAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMzA5Niw3ICszMDk2LDcgQEAgZmkKKyAjIGZvciB0YXJnZXRfYWxpYXMgYW5kIGdjYyBkb2Vzbid0IG1hbmFnZSBpdCBjb25zaXN0ZW50bHkuCisgdGFyZ2V0X2NvbmZpZ2FyZ3M9Ii0tY2FjaGUtZmlsZT0uL2NvbmZpZy5jYWNoZSAke3RhcmdldF9jb25maWdhcmdzfSIKKyAKKy1GTEFHU19GT1JfVEFSR0VUPQorK0ZMQUdTX0ZPUl9UQVJHRVQ9IiRBUkNIX0ZMQUdTX0ZPUl9UQVJHRVQiCisgY2FzZSAiICR0YXJnZXRfY29uZmlnZGlycyAiIGluCisgICoiIG5ld2xpYiAiKikKKyAgIGNhc2UgIiAkdGFyZ2V0X2NvbmZpZ2FyZ3MgIiBpbgorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwMi1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDItZ2NjLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTdmZjEyNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDItZ2NjLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMucGF0Y2gKQEAgLTAsMCArMSwyMDMgQEAKK0Zyb20gOTVlYzQ3NmRkNzcyNmNjOWMxYmZkNmZiMjNiYTNhZWE4YmJmNjFhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA4OjU5OjAwICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDIvNDBdIGdjYzogcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcworCitBZGQgL3N3L2luY2x1ZGUgYW5kIC9vcHQvaW5jbHVkZSBiYXNlZCBvbiB0aGUgb3JpZ2luYWwKK3plY2tlLW5vLWhvc3QtaW5jbHVkZXMucGF0Y2ggcGF0Y2guICBUaGUgb3JpZ2luYWwgcGF0Y2ggY2hlY2tlZCBmb3IKKy91c3IvaW5jbHVkZSwgL3N3L2luY2x1ZGUgYW5kIC9vcHQvaW5jbHVkZSBhbmQgdGhlbiB0cmlnZ2VyZWQgYSBmYWlsdXJlIGFuZAorYWJvcnRlZC4KKworSW5zdGVhZCwgd2UgYWRkIHRoZSB0d28gbWlzc2luZyBpdGVtcyB0byB0aGUgY3VycmVudCBzY2FuLiAgSWYgdGhlIHVzZXIKK3dhbnRzIHRoaXMgdG8gYmUgYSBmYWlsdXJlLCB0aGV5IGNhbiBhZGQgIi1XZXJyb3I9cG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcyIuCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworLS0tCisgZ2NjL2NvbW1vbi5vcHQgICAgICB8ICA0ICsrKysKKyBnY2MvY29uZmlnLmluICAgICAgIHwgIDYgKysrKysrCisgZ2NjL2NvbmZpZ3VyZSAgICAgICB8IDE2ICsrKysrKysrKysrKysrKysKKyBnY2MvY29uZmlndXJlLmFjICAgIHwgMTAgKysrKysrKysrKworIGdjYy9kb2MvaW52b2tlLnRleGkgfCAgOSArKysrKysrKysKKyBnY2MvZ2NjLmMgICAgICAgICAgIHwgIDIgKysKKyBnY2MvaW5jcGF0aC5jICAgICAgIHwgMjEgKysrKysrKysrKysrKysrKysrKysrCisgNyBmaWxlcyBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nY2MvY29tbW9uLm9wdCBiL2djYy9jb21tb24ub3B0CitpbmRleCBiNTJlZjBiMzhjOC4uMGRlM2YwOTI0Y2QgMTAwNjQ0CistLS0gYS9nY2MvY29tbW9uLm9wdAorKysrIGIvZ2NjL2NvbW1vbi5vcHQKK0BAIC02NzksNiArNjc5LDEwIEBAIFdyZXR1cm4tbG9jYWwtYWRkcgorIENvbW1vbiBWYXIod2Fybl9yZXR1cm5fbG9jYWxfYWRkcikgSW5pdCgxKSBXYXJuaW5nCisgV2FybiBhYm91dCByZXR1cm5pbmcgYSBwb2ludGVyL3JlZmVyZW5jZSB0byBhIGxvY2FsIG9yIHRlbXBvcmFyeSB2YXJpYWJsZS4KKyAKKytXcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcworK0NvbW1vbiBWYXIoZmxhZ19wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzKSBJbml0KDEpIFdhcm5pbmcKKytXYXJuIGZvciAtSSBhbmQgLUwgb3B0aW9ucyB1c2luZyBzeXN0ZW0gZGlyZWN0b3JpZXMgaWYgY3Jvc3MgY29tcGlsaW5nCisrCisgV3NoYWRvdworIENvbW1vbiBWYXIod2Fybl9zaGFkb3cpIFdhcm5pbmcKKyBXYXJuIHdoZW4gb25lIHZhcmlhYmxlIHNoYWRvd3MgYW5vdGhlci4gIFNhbWUgYXMgLVdzaGFkb3c9Z2xvYmFsLgorZGlmZiAtLWdpdCBhL2djYy9jb25maWcuaW4gYi9nY2MvY29uZmlnLmluCitpbmRleCA1YmNjYjQwODAxNi4uMWM3ODRhODI3NmIgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnLmluCisrKysgYi9nY2MvY29uZmlnLmluCitAQCAtMTk0LDYgKzE5NCwxMiBAQAorICNlbmRpZgorIAorIAorKy8qIERlZmluZSB0byB3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBoZWFkZXIgZGlyZWN0b3JpZXMgKi8KKysjaWZuZGVmIFVTRURfRk9SX1RBUkdFVAorKyN1bmRlZiBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUworKyNlbmRpZgorKworKworIC8qIERlZmluZSBpZiB5b3Ugd2FudCBhbGwgb3BlcmF0aW9ucyBvbiBSVEwgKHRoZSBiYXNpYyBkYXRhIHN0cnVjdHVyZSBvZiB0aGUKKyAgICBvcHRpbWl6ZXIgYW5kIGJhY2sgZW5kKSB0byBiZSBjaGVja2VkIGZvciBkeW5hbWljIHR5cGUgc2FmZXR5IGF0IHJ1bnRpbWUuCisgICAgVGhpcyBpcyBxdWl0ZSBleHBlbnNpdmUuICovCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKK2luZGV4IDYxMjFlMTYzMjU5Li4zOTAxNzIyNDAwYyAxMDA3NTUKKy0tLSBhL2djYy9jb25maWd1cmUKKysrKyBiL2djYy9jb25maWd1cmUKK0BAIC05NTMsNiArOTUzLDcgQEAgd2l0aF9zeXN0ZW1femxpYgorIGVuYWJsZV9tYWludGFpbmVyX21vZGUKKyBlbmFibGVfbGlua19tdXRleAorIGVuYWJsZV92ZXJzaW9uX3NwZWNpZmljX3J1bnRpbWVfbGlicworK2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzCisgZW5hYmxlX3BsdWdpbgorIGVuYWJsZV9ob3N0X3NoYXJlZAorIGVuYWJsZV9saWJxdWFkbWF0aF9zdXBwb3J0CitAQCAtMTY5Niw2ICsxNjk3LDggQEAgT3B0aW9uYWwgRmVhdHVyZXM6CisgICAtLWVuYWJsZS12ZXJzaW9uLXNwZWNpZmljLXJ1bnRpbWUtbGlicworICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeSB0aGF0IHJ1bnRpbWUgbGlicmFyaWVzIHNob3VsZCBiZSBpbnN0YWxsZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGEgY29tcGlsZXItc3BlY2lmaWMgZGlyZWN0b3J5CisrICAtLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBoZWFkZXIgZGlyZWN0b3JpZXMKKyAgIC0tZW5hYmxlLXBsdWdpbiAgICAgICAgIGVuYWJsZSBwbHVnaW4gc3VwcG9ydAorICAgLS1lbmFibGUtaG9zdC1zaGFyZWQgICAgYnVpbGQgaG9zdCBjb2RlIGFzIHNoYXJlZCBsaWJyYXJpZXMKKyAgIC0tZGlzYWJsZS1saWJxdWFkbWF0aC1zdXBwb3J0CitAQCAtMjk3MDEsNiArMjk3MDQsMTkgQEAgaWYgdGVzdCAiJHtlbmFibGVfdmVyc2lvbl9zcGVjaWZpY19ydW50aW1lX2xpYnMrc2V0fSIgPSBzZXQ7IHRoZW4gOgorIGZpCisgCisgCisrIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMgd2FzIGdpdmVuLgorK2lmIHRlc3QgIiR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMrc2V0fSIgPSBzZXQ7IHRoZW4gOgorKyAgZW5hYmxldmFsPSRlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllczsKKytlbHNlCisrICBlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcz1ubworK2ZpCisrCisraWYgdGVzdCAieCR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXN9IiA9ICJ4eWVzIjsgdGhlbgorKworKyRhc19lY2hvICIjZGVmaW5lIEVOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTIDEiID4+Y29uZmRlZnMuaAorKworK2ZpCisrCisgIyBTdWJzdGl0dXRlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzCisgCisgCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKK2luZGV4IGIwNjZjYzYwOWUxLi4xYjEzNjJmNzBmZSAxMDA2NDQKKy0tLSBhL2djYy9jb25maWd1cmUuYWMKKysrKyBiL2djYy9jb25maWd1cmUuYWMKK0BAIC02MzI3LDYgKzYzMjcsMTYgQEAgQUNfQVJHX0VOQUJMRSh2ZXJzaW9uLXNwZWNpZmljLXJ1bnRpbWUtbGlicywKKyAgICAgICAgICAgICAgICAgW3NwZWNpZnkgdGhhdCBydW50aW1lIGxpYnJhcmllcyBzaG91bGQgYmUKKyAgICAgICAgICAgICAgICAgIGluc3RhbGxlZCBpbiBhIGNvbXBpbGVyLXNwZWNpZmljIGRpcmVjdG9yeV0pXSkKKyAKKytBQ19BUkdfRU5BQkxFKFtwb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzXSwKKysgICAgICAgICAgICAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXNdLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBbd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gaGVhZGVyIGRpcmVjdG9yaWVzXSksLAorKyAgICAgICAgICAgICBbZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM9bm9dKQorK2lmIHRlc3QgIngke2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzfSIgPSAieHllcyI7IHRoZW4KKysgIEFDX0RFRklORShbRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVNdLAorKyAgICAgICAgICAgWzFdLAorKyAgICAgICAgICAgW0RlZmluZSB0byB3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBoZWFkZXIgZGlyZWN0b3JpZXNdKQorK2ZpCisrCisgIyBTdWJzdGl0dXRlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzCisgQUNfU1VCU1Qoc3ViZGlycykKKyBBQ19TVUJTVChzcmNkaXIpCitkaWZmIC0tZ2l0IGEvZ2NjL2RvYy9pbnZva2UudGV4aSBiL2djYy9kb2MvaW52b2tlLnRleGkKK2luZGV4IGU1YzRlODEyNWFhLi5mYjIyODYzMWE0MiAxMDA2NDQKKy0tLSBhL2djYy9kb2MvaW52b2tlLnRleGkKKysrKyBiL2djYy9kb2MvaW52b2tlLnRleGkKK0BAIC0zMDQsNiArMzA0LDcgQEAgT2JqZWN0aXZlLUMgYW5kIE9iamVjdGl2ZS1DKysgRGlhbGVjdHN9LgorIC1XcGFja2VkICAtV3BhY2tlZC1iaXRmaWVsZC1jb21wYXQgLVdwYWNrZWQtbm90LWFsaWduZWQgLVdwYWRkZWQgQGdvbAorIC1XcGFyZW50aGVzZXMgIC1Xbm8tcGVkYW50aWMtbXMtZm9ybWF0IEBnb2wKKyAtV3BsYWNlbWVudC1uZXcgIC1XcGxhY2VtZW50LW5ldz1AdmFye259IEBnb2wKKystV25vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMgQGdvbAorIC1XcG9pbnRlci1hcml0aCAgLVdwb2ludGVyLWNvbXBhcmUgIC1Xbm8tcG9pbnRlci10by1pbnQtY2FzdCBAZ29sCisgLVduby1wcmFnbWFzICAtV3JlZHVuZGFudC1kZWNscyAgLVdyZXN0cmljdCAgLVduby1yZXR1cm4tbG9jYWwtYWRkciBAZ29sCisgLVdyZXR1cm4tdHlwZSAgLVdzZXF1ZW5jZS1wb2ludCAgLVdzaGFkb3cgIC1Xbm8tc2hhZG93LWl2YXIgQGdvbAorQEAgLTU3NDMsNiArNTc0NCwxNCBAQCBtYWRlIHVwIG9mIGRhdGEgb25seSBhbmQgdGh1cyByZXF1aXJlcyBubyBzcGVjaWFsIHRyZWF0bWVudC4gIEJ1dCwgZm9yCisgbW9zdCB0YXJnZXRzLCBpdCBpcyBtYWRlIHVwIG9mIGNvZGUgYW5kIHRodXMgcmVxdWlyZXMgdGhlIHN0YWNrIHRvIGJlCisgbWFkZSBleGVjdXRhYmxlIGluIG9yZGVyIGZvciB0aGUgcHJvZ3JhbSB0byB3b3JrIHByb3Blcmx5LgorIAorK0BpdGVtIC1Xbm8tcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcworK0BvcGluZGV4IFduby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrRG8gbm90IHdhcm4gZm9yIEBvcHRpb257LUl9IG9yIEBvcHRpb257LUx9IG9wdGlvbnMgdXNpbmcgc3lzdGVtCisrZGlyZWN0b3JpZXMgc3VjaCBhcyBAZmlsZXsvdXNyL2luY2x1ZGV9IHdoZW4gY3Jvc3MgY29tcGlsaW5nLiAgVGhpcworK29wdGlvbiBpcyBpbnRlbmRlZCBmb3IgdXNlIGluIGNocm9vdCBlbnZpcm9ubWVudHMgd2hlbiBzdWNoCisrZGlyZWN0b3JpZXMgY29udGFpbiB0aGUgY29ycmVjdCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMgZm9yIHRoZSB0YXJnZXQKKytzeXN0ZW0gcmF0aGVyIHRoYW4gdGhlIGhvc3QuCisrCisgQGl0ZW0gLVdmbG9hdC1lcXVhbAorIEBvcGluZGV4IFdmbG9hdC1lcXVhbAorIEBvcGluZGV4IFduby1mbG9hdC1lcXVhbAorZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYworaW5kZXggYTcxNmY3MDgyNTkuLjAyYjNjZDM5ZmMyIDEwMDY0NAorLS0tIGEvZ2NjL2djYy5jCisrKysgYi9nY2MvZ2NjLmMKK0BAIC0xMDM3LDYgKzEwMzcsOCBAQCBwcm9wZXIgcG9zaXRpb24gYW1vbmcgdGhlIG90aGVyIG91dHB1dCBmaWxlcy4gICovCisgICAgIiV7ZnVzZS1sZD0qOi1mdXNlLWxkPSUqfSAiIExJTktfQ09NUFJFU1NfREVCVUdfU1BFQyBcCisgICAgIiVYICV7byp9ICV7ZSp9ICV7Tn0gJXtufSAle3J9XAorICAgICAle3N9ICV7dH0gJXt1Kn0gJXt6fSAle1p9ICV7IW5vc3RkbGliOiV7IW5vc3RhcnRmaWxlczolU319IFwKKysgICAgJXtXbm8tcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllczotLW5vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXN9IFwKKysgICAgJXtXZXJyb3I9cG9pc29uLXN5c3RlbS1kaXJlY3RvcmllczotLWVycm9yLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXN9IFwKKyAgICAgJXtzdGF0aWN8bm8tcGllfHN0YXRpYy1waWU6fSAle0wqfSAlKG1md3JhcCkgJShsaW5rX2xpYmdjYykgIiBcCisgICAgIFZUQUJMRV9WRVJJRklDQVRJT05fU1BFQyAiICIgU0FOSVRJWkVSX0VBUkxZX1NQRUMgIiAlbyAiIENIS1BfU1BFQyAiIFwKKyAgICAgJXtmb3BlbmFjY3xmb3Blbm1wfCU6Z3QoJXtmdHJlZS1wYXJhbGxlbGl6ZS1sb29wcz0qOiUqfSAxKTpcCitkaWZmIC0tZ2l0IGEvZ2NjL2luY3BhdGguYyBiL2djYy9pbmNwYXRoLmMKK2luZGV4IGIxMWM2YTU3OTM5Li45YTQ1N2UwMmRkMyAxMDA2NDQKKy0tLSBhL2djYy9pbmNwYXRoLmMKKysrKyBiL2djYy9pbmNwYXRoLmMKK0BAIC0yNiw2ICsyNiw3IEBACisgI2luY2x1ZGUgImludGwuaCIKKyAjaW5jbHVkZSAiaW5jcGF0aC5oIgorICNpbmNsdWRlICJjcHBkZWZhdWx0LmgiCisrI2luY2x1ZGUgImRpYWdub3N0aWMtY29yZS5oIgorIAorIC8qIE1pY3Jvc29mdCBXaW5kb3dzIGRvZXMgbm90IG5hdGl2ZWx5IHN1cHBvcnQgaW5vZGVzLgorICAgIFZNUyBoYXMgbm9uLW51bWVyaWMgaW5vZGVzLiAgKi8KK0BAIC0zOTMsNiArMzk0LDI2IEBAIG1lcmdlX2luY2x1ZGVfY2hhaW5zIChjb25zdCBjaGFyICpzeXNyb290LCBjcHBfcmVhZGVyICpwZmlsZSwgaW50IHZlcmJvc2UpCisgCX0KKyAgICAgICBmcHJpbnRmIChzdGRlcnIsIF8oIkVuZCBvZiBzZWFyY2ggbGlzdC5cbiIpKTsKKyAgICAgfQorKworKyNpZmRlZiBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUworKyAgaWYgKGZsYWdfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcykKKysgICAgeworKyAgICAgICBzdHJ1Y3QgY3BwX2RpciAqcDsKKysKKysgICAgICAgZm9yIChwID0gaGVhZHNbSU5DX1FVT1RFXTsgcDsgcCA9IHAtPm5leHQpCisrICAgICAgICAgeworKyAgICAgICAgICBpZiAoKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9pbmNsdWRlIiwgMTIpKQorKyAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9sb2NhbC9pbmNsdWRlIiwgMTgpKQorKyAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9YMTFSNi9pbmNsdWRlIiwgMTgpKQorKyAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL3N3L2luY2x1ZGUiLCAxMSkpCisrICAgICAgICAgICAgICB8fCAoIXN0cm5jbXAgKHAtPm5hbWUsICIvb3B0L2luY2x1ZGUiLCAxMikpKQorKyAgICAgICAgICAgIHdhcm5pbmcgKE9QVF9XcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcywKKysgICAgICAgICAgICAgICAgICAgICAiaW5jbHVkZSBsb2NhdGlvbiBcIiVzXCIgaXMgdW5zYWZlIGZvciAiCisrICAgICAgICAgICAgICAgICAgICAgImNyb3NzLWNvbXBpbGF0aW9uIiwKKysgICAgICAgICAgICAgICAgICAgICBwLT5uYW1lKTsKKysgICAgICAgICB9CisrICAgIH0KKysjZW5kaWYKKyB9CisgCisgLyogVXNlIGdpdmVuIC1JIHBhdGhzIGZvciAjaW5jbHVkZSAiLi4uIiBidXQgbm90ICNpbmNsdWRlIDwuLi4+LCBhbmQKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDMtZ2NjLTQuMy4zLVNZU1JPT1RfQ0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDAzLWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MmRlYjIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDAzLWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoCkBAIC0wLDAgKzEsNzMgQEAKK0Zyb20gNjY0MGQ3ZTM5YjEzZDFlZjI2ZDI0OTE1M2FiMTVkNTEwZmRhMzU2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjA4OjMxICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDMvNDBdIGdjYy00LjMuMzogU1lTUk9PVF9DRkxBR1NfRk9SX1RBUkdFVAorCitCZWZvcmUgY29tbWl0dGluZywgSSBub3RpY2VkIHRoYXQgUFIvMzIxNjEgd2FzIG1hcmtlZCBhcyBhIGR1cCBvZiBQUi8zMjAwOSwgYnV0IG15IHByZXZpb3VzIHBhdGNoIGRpZCBub3QgZml4IGl0LgorCitUaGlzIGFsdGVybmF0aXZlIHBhdGNoIGlzIGJldHRlciBiZWNhdXNlIGl0IGxldHMgeW91IGp1c3QgdXNlIENGTEFHU19GT1JfVEFSR0VUIHRvIHNldCB0aGUgY29tcGlsYXRpb24gZmxhZ3MgZm9yIGxpYmdjYy4gU2luY2UgYm9vdHN0cmFwcGVkIHRhcmdldCBsaWJyYXJpZXMgYXJlIG5ldmVyIGNvbXBpbGVkIHdpdGggdGhlIG5hdGl2ZSBjb21waWxlciwgaXQgbWFrZXMgbGl0dGxlIHNlbnNlIHRvIHVzZSBkaWZmZXJlbnQgZmxhZ3MgZm9yIHN0YWdlMSBhbmQgbGF0ZXIgc3RhZ2VzLiBBbmQgaXQgYWxzbyBtYWtlcyBsaXR0bGUgc2Vuc2UgdG8gdXNlIGEgZGlmZmVyZW50IHZhcmlhYmxlIHRoYW4gQ0ZMQUdTX0ZPUl9UQVJHRVQuCisKK090aGVyIGNoYW5nZXMgSSBoYWQgdG8gZG8gaW5jbHVkZToKKworLSBtb3ZpbmcgdGhlIGNyZWF0aW9uIG9mIGRlZmF1bHQgQ0ZMQUdTX0ZPUl9UQVJHRVQgZnJvbSBNYWtlZmlsZS5hbSB0byBjb25maWd1cmUuYWMsIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBCT09UX0NGTEFHUyBhcmUgc3Vic3RpdHV0ZWQgaW50byBDRkxBR1NfRk9SX1RBUkdFVCAod2hpY2ggaXMgIi1PMiAtZyAkKENGTEFHUykiKSB2aWEgJChDRkxBR1MpLiBJdCBpcyBhbHNvIGNsZWFuZXIgdGhpcyB3YXkgdGhvdWdoLgorCistIHBhc3NpbmcgdGhlIHJpZ2h0IENGTEFHUyB0byBjb25maWd1cmUgc2NyaXB0cyBhcyBleHBvcnRlZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMKKworSSBhbHNvIHN0b3BwZWQgcGFzc2luZyBMSUJDRkxBR1MgdG8gY29uZmlndXJlIHNjcmlwdHMgc2luY2UgdGhleSBhcmUgdW51c2VkIGluIHRoZSB3aG9sZSBzcmMgdHJlZS4gQW5kIEkgdXBkYXRlZCB0aGUgZG9jdW1lbnRhdGlvbiBhcyBILVAgcmVtaW5kZWQgbWUgdG8gZG8uCisKK0Jvb3RzdHJhcHBlZC9yZWd0ZXN0ZWQgaTY4Ni1wYy1saW51eC1nbnUsIHdpbGwgY29tbWl0IHRvIDQuNCBzaG9ydGx5LiBPayBmb3IgNC4zPworCitTaWduZWQtb2ZmLWJ5OiBQYW9sbyBCb256aW5pICA8Ym9uemluaUBnbnUub3JnPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCistLS0KKyBjb25maWd1cmUgfCAzMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKK2luZGV4IDhjNWIxZTlkNTYxLi4yZDFmYzZiOTRkOSAxMDA3NTUKKy0tLSBhL2NvbmZpZ3VyZQorKysrIGIvY29uZmlndXJlCitAQCAtNjc2OCw2ICs2NzY4LDM4IEBAIGZpCisgCisgCisgCisrIyBEdXJpbmcgZ2NjIGJvb3RzdHJhcCwgaWYgd2UgdXNlIHNvbWUgcmFuZG9tIGNjIGZvciBzdGFnZTEgdGhlbiBDRkxBR1MKKysjIG1pZ2h0IGJlIGVtcHR5IG9yICItZyIuICBXZSBkb24ndCByZXF1aXJlIGEgQysrIGNvbXBpbGVyLCBzbyBDWFhGTEFHUworKyMgbWlnaHQgYWxzbyBiZSBlbXB0eSAob3IgIi1nIiwgaWYgYSBub24tR0NDIEMrKyBjb21waWxlciBpcyBpbiB0aGUgcGF0aCkuCisrIyBXZSB3YW50IHRvIGVuc3VyZSB0aGF0IFRBUkdFVCBsaWJyYXJpZXMgKHdoaWNoIHdlIGtub3cgYXJlIGJ1aWx0IHdpdGgKKysjIGdjYykgYXJlIGJ1aWx0IHdpdGggIi1PMiAtZyIsIHNvIGluY2x1ZGUgdGhvc2Ugb3B0aW9ucyB3aGVuIHNldHRpbmcKKysjIENGTEFHU19GT1JfVEFSR0VUIGFuZCBDWFhGTEFHU19GT1JfVEFSR0VULgorK2lmIHRlc3QgIngkQ0ZMQUdTX0ZPUl9UQVJHRVQiID0geDsgdGhlbgorKyAgQ0ZMQUdTX0ZPUl9UQVJHRVQ9JENGTEFHUworKyAgY2FzZSAiICRDRkxBR1MgIiBpbgorKyAgICAqIiAtTzIgIiopIDs7CisrICAgICopIENGTEFHU19GT1JfVEFSR0VUPSItTzIgJENGTEFHUyIgOzsKKysgIGVzYWMKKysgIGNhc2UgIiAkQ0ZMQUdTICIgaW4KKysgICAgKiIgLWcgIiogfCAqIiAtZzMgIiopIDs7CisrICAgICopIENGTEFHU19GT1JfVEFSR0VUPSItZyAkQ0ZMQUdTIiA7OworKyAgZXNhYworK2ZpCisrCisrCisraWYgdGVzdCAieCRDWFhGTEFHU19GT1JfVEFSR0VUIiA9IHg7IHRoZW4KKysgIENYWEZMQUdTX0ZPUl9UQVJHRVQ9JENYWEZMQUdTCisrICBjYXNlICIgJENYWEZMQUdTICIgaW4KKysgICAgKiIgLU8yICIqKSA7OworKyAgICAqKSBDWFhGTEFHU19GT1JfVEFSR0VUPSItTzIgJENYWEZMQUdTIiA7OworKyAgZXNhYworKyAgY2FzZSAiICRDWFhGTEFHUyAiIGluCisrICAgICoiIC1nICIqIHwgKiIgLWczICIqKSA7OworKyAgICAqKSBDWFhGTEFHU19GT1JfVEFSR0VUPSItZyAkQ1hYRkxBR1MiIDs7CisrICBlc2FjCisrZmkKKysKKysKKyAjIEhhbmRsZSAtLXdpdGgtaGVhZGVycz1YWFguICBJZiB0aGUgdmFsdWUgaXMgbm90ICJ5ZXMiLCB0aGUgY29udGVudHMgb2YKKyAjIHRoZSBuYW1lZCBkaXJlY3RvcnkgYXJlIGNvcGllZCB0byAkKHRvb2xkaXIpL3N5cy1pbmNsdWRlLgorIGlmIHRlc3QgeCIke3dpdGhfaGVhZGVyc30iICE9IHggJiYgdGVzdCB4IiR7d2l0aF9oZWFkZXJzfSIgIT0geG5vIDsgdGhlbgorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwNC02NC1iaXQtbXVsdGlsaWItaGFjay5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDQtNjQtYml0LW11bHRpbGliLWhhY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzcxZDg3NwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDQtNjQtYml0LW11bHRpbGliLWhhY2sucGF0Y2gKQEAgLTAsMCArMSw4NSBAQAorRnJvbSAxZTY0OWQ4MWNhNjYyYzRjZGY3Mzg4MmViYjhhMTFmMGYxOWY1YmFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MTA6MDYgKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAwNC80MF0gNjQtYml0IG11bHRpbGliIGhhY2suCisKK0dDQyBoYXMgaW50ZXJuYWwgbXVsdGlsaWIgaGFuZGxpbmcgY29kZSBidXQgaXQgYXNzdW1lcyBhIHZlcnkgc3BlY2lmaWMgcmlnaWQgZGlyZWN0b3J5CitsYXlvdXQuIFRoZSBidWlsZCBzeXN0ZW0gaW1wbGVtZW50YXRpb24gb2YgbXVsdGlsaWIgbGF5b3V0IGlzIHZlcnkgZ2VuZXJpYyBhbmQgYWxsb3dzCitjb21wbGV0ZSBjdXN0b21pc2F0aW9uIG9mIHRoZSBsaWJyYXJ5IGRpcmVjdG9yaWVzLgorCitUaGlzIHBhdGNoIGlzIGEgcGFydGlhbCBzb2x1dGlvbiB0byBhbGxvdyBhbnkgY3VzdG9tIGRpcmVjdG9yaWVzIHRvIGJlIHBhc3NlZCBpbnRvIGdjYworYW5kIGhhbmRsZWQgY29ycmVjdGx5LiBJdCBmb3JjZXMgZ2NjIHRvIHVzZSB0aGUgYmFzZV9saWJkaXIgKHdoaWNoIGlzIHRoZSBjdXJyZW50CitkaXJlY3RvcnksICIuIikuIFdlIG5lZWQgdG8gZG8gdGhpcyBmb3IgZWFjaCBtdWx0aWxpYiB0aGF0IGlzIGNvbmZpZ3VyZWQgYXMgd2UgZG9uJ3QKK2tub3cgd2hpY2ggY29tcGlsZXIgb3B0aW9ucyBtYXkgYmUgYmVpbmcgcGFzc2VkIGludG8gdGhlIGNvbXBpbGVyLiBTaW5jZSB3ZSBoYXZlIGEgY29tcGlsZXIKK3BlciBtdWxpdGxpYiBhdCB0aGlzIHBvaW50IHRoYXQgaXNuJ3QgYW4gaXNzdWUuCisKK1RoZSBvbmUgcHJvYmxlbSBpcyB0aGUgdGFyZ2V0IGNvbXBpbGVyIGlzIG9ubHkgZ29pbmcgdG8gd29yayBmb3IgdGhlIGRlZmF1bHQgbXVsdGxpbGliIGF0Cit0aGlzIHBvaW50LiBJZGVhbGx5IHdlJ2QgZmlndXJlIG91dCB3aGljaCBtdWx0aWxpYnMgd2VyZSBiZWluZyBlbmFibGVkIHdpdGggd2hpY2ggcGF0aHMKK2FuZCBiZSBhYmxlIHRvIHBhdGNoIHRoZXNlIGVudHJpZXMgd2l0aCBhIGNvbXBsZXRlIHNldCBvZiBjb3JyZWN0IHBhdGhzIGJ1dCB0aGlzIHdlCitkb24ndCBoYXZlIHN1Y2ggY29kZSBhdCB0aGlzIHBvaW50LiBUaGlzIGlzIHNvbWV0aGluZyB0aGUgdGFyZ2V0IGdjYyByZWNpcGUgc2hvdWxkIGRvCithbmQgb3ZlcnJpZGUgdGhlc2UgcGxhdGZvcm0gZGVmYXVsdHMgaW4gaXRzIGJ1aWxkIGNvbmZpZy4KKworUlAgMTUvOC8xMQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogRWx2aXMgRG93c29uIDxlbHZpcy5kb3dzb25AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIGdjYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgICB8ICA2ICsrLS0tLQorIGdjYy9jb25maWcvbWlwcy90LWxpbnV4NjQgICB8IDEwICsrKy0tLS0tLS0KKyBnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQgfCAgNSArKy0tLQorIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0CitpbmRleCA4ZWEwZmFmZjM2OS4uMjY2YzYwMDgwMDQgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0CisrKysgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0CitAQCAtMzIsNyArMzIsNSBAQAorICMKKyBjb21tYT0sCisgTVVMVElMSUJfT1BUSU9OUyAgICA9ICQoc3Vic3QgJChjb21tYSksLywkKFRNX01VTFRJTElCX0NPTkZJRykpCistTVVMVElMSUJfRElSTkFNRVMgICA9ICQocGF0c3Vic3QgbSUsICUsICQoc3Vic3QgLywgLCQoTVVMVElMSUJfT1BUSU9OUykpKQorLU1VTFRJTElCX09TRElSTkFNRVMgPSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDp4ODZfNjQtbGludXgtZ251KQorLU1VTFRJTElCX09TRElSTkFNRVMrPSBtMzI9JChpZiAkKHdpbGRjYXJkICQoc2hlbGwgZWNobyAkKFNZU1RFTV9IRUFERVJfRElSKSkvLi4vLi4vdXNyL2xpYjMyKSwuLi9saWIzMiwuLi9saWIpJChjYWxsIGlmX211bHRpYXJjaCw6aTM4Ni1saW51eC1nbnUpCistTVVMVElMSUJfT1NESVJOQU1FUys9IG14MzI9Li4vbGlieDMyJChjYWxsIGlmX211bHRpYXJjaCw6eDg2XzY0LWxpbnV4LWdudXgzMikKKytNVUxUSUxJQl9ESVJOQU1FUyA9IC4gLgorK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbWlwcy90LWxpbnV4NjQgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0CitpbmRleCBjMDE3YjdkMDRjNS4uMTI2ODkyY2Y0MGIgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0CisrKysgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0CitAQCAtMTcsMTAgKzE3LDYgQEAKKyAjIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAKKyBNVUxUSUxJQl9PUFRJT05TID0gbWFiaT1uMzIvbWFiaT0zMi9tYWJpPTY0CistTVVMVElMSUJfRElSTkFNRVMgPSBuMzIgMzIgNjQKKy1NSVBTX0VMID0gJChpZiAkKGZpbHRlciAlZWwsICQoZmlyc3R3b3JkICQoc3Vic3QgLSwgLCQodGFyZ2V0KSkpKSxlbCkKKy1NSVBTX1NPRlQgPSAkKGlmICQoc3RyaXAgJChmaWx0ZXIgTUFTS19TT0ZUX0ZMT0FUX0FCSSwgJCh0YXJnZXRfY3B1X2RlZmF1bHQpKSAkKGZpbHRlciBzb2Z0LCAkKHdpdGhfZmxvYXQpKSksc29mdCkKKy1NVUxUSUxJQl9PU0RJUk5BTUVTID0gXAorLQkuLi9saWIzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpbjMyJChNSVBTX1NPRlQpKSBcCistCS4uL2xpYiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHMkKE1JUFNfRUwpLWxpbnV4LWdudSQoTUlQU19TT0ZUKSkgXAorLQkuLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpNjQkKE1JUFNfU09GVCkpCisrTVVMVElMSUJfRElSTkFNRVMgPSAuIC4gLgorK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQorKworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NCBiL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NAoraW5kZXggMGZhYTJhMDJkZjQuLjEzZmQ4Y2E5NzFlIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eDY0CisrKysgYi9nY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQKK0BAIC0yNiwxMCArMjYsOSBAQAorICMgTVVMVElMSUJfT1NESVJOQU1FUyBhY2NvcmRpbmcgdG8gd2hhdCBpcyBmb3VuZCBvbiB0aGUgdGFyZ2V0LgorIAorIE1VTFRJTElCX09QVElPTlMgICAgOj0gbTY0L20zMgorLU1VTFRJTElCX0RJUk5BTUVTICAgOj0gNjQgMzIKKytNVUxUSUxJQl9ESVJOQU1FUyAgIDo9IC4gLgorIE1VTFRJTElCX0VYVFJBX09QVFMgOj0gCistTVVMVElMSUJfT1NESVJOQU1FUyA6PSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDpwb3dlcnBjNjQtbGludXgtZ251KQorLU1VTFRJTElCX09TRElSTkFNRVMgKz0gbTMyPSQoaWYgJCh3aWxkY2FyZCAkKHNoZWxsIGVjaG8gJChTWVNURU1fSEVBREVSX0RJUikpLy4uLy4uL3Vzci9saWIzMiksLi4vbGliMzIsLi4vbGliKSQoY2FsbCBpZl9tdWx0aWFyY2gsOnBvd2VycGMtbGludXgtZ251KQorK01VTFRJTElCX09TRElSTkFNRVMgOj0gLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkgLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkKKyAKKyByczYwMDAtbGludXgubzogJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvcnM2MDAwLWxpbnV4LmMKKyAJJChDT01QSUxFKSAkPAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwNS1vcHRpb25hbC1saWJzdGRjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwNS1vcHRpb25hbC1saWJzdGRjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5Y2Y2YzIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA1LW9wdGlvbmFsLWxpYnN0ZGMucGF0Y2gKQEAgLTAsMCArMSwxMjUgQEAKK0Zyb20gYjQ4NjM4MGRjYzQ3NThlODU2YWI2ZDg0N2ViMzU4ZDA1YmQ3OWQ2NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjEyOjU2ICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDUvNDBdIG9wdGlvbmFsIGxpYnN0ZGMKKworZ2NjLXJ1bnRpbWUgYnVpbGRzIGxpYnN0ZGMrKyBzZXBhcmF0ZWx5IGZyb20gZ2NjLWNyb3NzLSouIEl0cyBjb25maWd1cmUgdGVzdHMgdXNpbmcgZysrCit3aWxsIG5vdCBydW4gY29ycmVjdGx5IHNpbmNlIGJ5IGRlZmF1bHQgdGhlIGxpbmtlciB3aWxsIHRyeSB0byBsaW5rIGFnYWluc3QgbGlic3RkYysrCit3aGljaCBzaG91bGRuJ3QgZXhpc3QgeWV0LiBXZSBuZWVkIGFuIG9wdGlvbiB0byBkaXNhYmxlIC1sc3RkYysrCitvcHRpb24gd2hpbHN0IGxlYXZpbmcgLWxjLCAtbGdjYyBhbmQgb3RoZXIgYXV0b21hdGljIGxpYnJhcnkgZGVwZW5kZW5jaWVzIGFkZGVkIGJ5IGdjYworZHJpdmVyLiBUaGlzIHBhdGNoIGFkZHMgc3VjaCBhbiBvcHRpb24gd2hpY2ggb25seSBkaXNhYmxlcyB0aGUgLWxzdGRjKysuCisKK0EgInN0YW5kYXJkIiBnY2MgYnVpbGQgdXNlcyB4Z2NjIGFuZCBoZW5jZSBhdm9pZHMgdGhpcy4gV2Ugc2hvdWxkIGFzayB1cHN0cmVhbSBob3cgdG8KK2RvIHRoaXMgb2ZmaWNpYWxseSwgdGhlIGxpa2VseSBhbnN3ZXIgaXMgZG9uJ3QgYnVpbGQgbGlic3RkYysrIHNlcGFyYXRlbHkuCisKK1JQIDI5LzYvMTAKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKy0tLQorIGdjYy9jLWZhbWlseS9jLm9wdCAgfCAgNCArKysrCisgZ2NjL2NwL2crK3NwZWMuYyAgICB8ICAxICsKKyBnY2MvZG9jL2ludm9rZS50ZXhpIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KKyBnY2MvZ2NjLmMgICAgICAgICAgIHwgIDEgKworIDQgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ2NjL2MtZmFtaWx5L2Mub3B0IGIvZ2NjL2MtZmFtaWx5L2Mub3B0CitpbmRleCBmNTkxYjM5YmU1YS4uMjk1NWZjZWE4NjcgMTAwNjQ0CistLS0gYS9nY2MvYy1mYW1pbHkvYy5vcHQKKysrKyBiL2djYy9jLWZhbWlseS9jLm9wdAorQEAgLTE5MDEsNiArMTkwMSwxMCBAQCBub3N0ZGluYysrCisgQysrIE9iakMrKworIERvIG5vdCBzZWFyY2ggc3RhbmRhcmQgc3lzdGVtIGluY2x1ZGUgZGlyZWN0b3JpZXMgZm9yIEMrKy4KKyAKKytub3N0ZGxpYisrCisrRHJpdmVyCisrRG8gbm90IGxpbmsgc3RhbmRhcmQgQysrIHJ1bnRpbWUgbGlicmFyeQorKworIG8KKyBDIE9iakMgQysrIE9iakMrKyBKb2luZWQgU2VwYXJhdGUKKyA7IERvY3VtZW50ZWQgaW4gY29tbW9uLm9wdAorZGlmZiAtLWdpdCBhL2djYy9jcC9nKytzcGVjLmMgYi9nY2MvY3AvZysrc3BlYy5jCitpbmRleCA0NDNhMTc0NmRhMy4uZTliNTFiZTYyZWYgMTAwNjQ0CistLS0gYS9nY2MvY3AvZysrc3BlYy5jCisrKysgYi9nY2MvY3AvZysrc3BlYy5jCitAQCAtMTM3LDYgKzEzNyw3IEBAIGxhbmdfc3BlY2lmaWNfZHJpdmVyIChzdHJ1Y3QgY2xfZGVjb2RlZF9vcHRpb24gKippbl9kZWNvZGVkX29wdGlvbnMsCisgICAgICAgc3dpdGNoIChkZWNvZGVkX29wdGlvbnNbaV0ub3B0X2luZGV4KQorIAl7CisgCWNhc2UgT1BUX25vc3RkbGliOgorKwljYXNlIE9QVF9ub3N0ZGxpYl9fOgorIAljYXNlIE9QVF9ub2RlZmF1bHRsaWJzOgorIAkgIGxpYnJhcnkgPSAtMTsKKyAJICBicmVhazsKK2RpZmYgLS1naXQgYS9nY2MvZG9jL2ludm9rZS50ZXhpIGIvZ2NjL2RvYy9pbnZva2UudGV4aQoraW5kZXggZmIyMjg2MzFhNDIuLjMxMGJhODEwOWVkIDEwMDY0NAorLS0tIGEvZ2NjL2RvYy9pbnZva2UudGV4aQorKysrIGIvZ2NjL2RvYy9pbnZva2UudGV4aQorQEAgLTIxMiw2ICsyMTIsOSBAQCBpbiB0aGUgZm9sbG93aW5nIHNlY3Rpb25zLgorIC1mbm8td2VhayAgLW5vc3RkaW5jKysgQGdvbAorIC1mdmlzaWJpbGl0eS1pbmxpbmVzLWhpZGRlbiBAZ29sCisgLWZ2aXNpYmlsaXR5LW1zLWNvbXBhdCBAZ29sCisrLWZ2dGFibGUtdmVyaWZ5PUBye1t9c3RkQHJ7fH1wcmVpbml0QHJ7fH1ub25lQHJ7XX0gQGdvbAorKy1mdnR2LWNvdW50cyAtZnZ0di1kZWJ1ZyBAZ29sCisrLW5vc3RkbGliKysgQGdvbAorIC1mZXh0LW51bWVyaWMtbGl0ZXJhbHMgQGdvbAorIC1XYWJpPUB2YXJ7bn0gIC1XYWJpLXRhZyAgLVdjb252ZXJzaW9uLW51bGwgIC1XY3Rvci1kdG9yLXByaXZhY3kgQGdvbAorIC1XZGVsZXRlLW5vbi12aXJ0dWFsLWR0b3IgIC1XbGl0ZXJhbC1zdWZmaXggIC1XbXVsdGlwbGUtaW5oZXJpdGFuY2UgQGdvbAorQEAgLTUxMCw3ICs1MTMsNyBAQCBPYmplY3RpdmUtQyBhbmQgT2JqZWN0aXZlLUMrKyBEaWFsZWN0c30uCisgLXMgIC1zdGF0aWMgLXN0YXRpYy1waWUgLXN0YXRpYy1saWJnY2MgIC1zdGF0aWMtbGlic3RkYysrIEBnb2wKKyAtc3RhdGljLWxpYmFzYW4gIC1zdGF0aWMtbGlidHNhbiAgLXN0YXRpYy1saWJsc2FuICAtc3RhdGljLWxpYnVic2FuIEBnb2wKKyAtc3RhdGljLWxpYm1weCAgLXN0YXRpYy1saWJtcHh3cmFwcGVycyBAZ29sCistLXNoYXJlZCAgLXNoYXJlZC1saWJnY2MgIC1zeW1ib2xpYyBAZ29sCisrLXNoYXJlZCAgLXNoYXJlZC1saWJnY2MgIC1zeW1ib2xpYyAtbm9zdGRsaWIrKyBAZ29sCisgLVQgQHZhcntzY3JpcHR9ICAtV2wsQHZhcntvcHRpb259ICAtWGxpbmtlciBAdmFye29wdGlvbn0gQGdvbAorIC11IEB2YXJ7c3ltYm9sfSAgLXogQHZhcntrZXl3b3JkfX0KKyAKK0BAIC0xMjM1OSw2ICsxMjM2MiwzMyBAQCBsaWJyYXJ5IHN1YnJvdXRpbmVzLgorIGNvbnN0cnVjdG9ycyBhcmUgY2FsbGVkOyBAcHhyZWZ7Q29sbGVjdDIsLEBjb2Rle2NvbGxlY3QyfSwgZ2NjaW50LAorIEdOVSBDb21waWxlciBDb2xsZWN0aW9uIChHQ0MpIEludGVybmFsc30uKQorIAorK0BpdGVtIC1ub3N0ZGxpYisrCisrQG9waW5kZXggbm9zdGRsaWIrKworK0RvIG5vdCB1c2UgdGhlIHN0YW5kYXJkIHN5c3RlbSBDKysgcnVudGltZSBsaWJyYXJpZXMgd2hlbiBsaW5raW5nLgorK09ubHkgdGhlIGxpYnJhcmllcyB5b3Ugc3BlY2lmeSB3aWxsIGJlIHBhc3NlZCB0byB0aGUgbGlua2VyLgorKworK0BjaW5kZXggQG9wdGlvbnstbGdjY30sIHVzZSB3aXRoIEBvcHRpb257LW5vc3RkbGlifQorK0BjaW5kZXggQG9wdGlvbnstbm9zdGRsaWJ9IGFuZCB1bnJlc29sdmVkIHJlZmVyZW5jZXMKKytAY2luZGV4IHVucmVzb2x2ZWQgcmVmZXJlbmNlcyBhbmQgQG9wdGlvbnstbm9zdGRsaWJ9CisrQGNpbmRleCBAb3B0aW9uey1sZ2NjfSwgdXNlIHdpdGggQG9wdGlvbnstbm9kZWZhdWx0bGlic30KKytAY2luZGV4IEBvcHRpb257LW5vZGVmYXVsdGxpYnN9IGFuZCB1bnJlc29sdmVkIHJlZmVyZW5jZXMKKytAY2luZGV4IHVucmVzb2x2ZWQgcmVmZXJlbmNlcyBhbmQgQG9wdGlvbnstbm9kZWZhdWx0bGlic30KKytPbmUgb2YgdGhlIHN0YW5kYXJkIGxpYnJhcmllcyBieXBhc3NlZCBieSBAb3B0aW9uey1ub3N0ZGxpYn0gYW5kCisrQG9wdGlvbnstbm9kZWZhdWx0bGlic30gaXMgQGZpbGV7bGliZ2NjLmF9LCBhIGxpYnJhcnkgb2YgaW50ZXJuYWwgc3Vicm91dGluZXMKKyt3aGljaCBHQ0MgdXNlcyB0byBvdmVyY29tZSBzaG9ydGNvbWluZ3Mgb2YgcGFydGljdWxhciBtYWNoaW5lcywgb3Igc3BlY2lhbAorK25lZWRzIGZvciBzb21lIGxhbmd1YWdlcy4KKysoQHhyZWZ7SW50ZXJmYWNlLCxJbnRlcmZhY2luZyB0byBHQ0MgT3V0cHV0LGdjY2ludCxHTlUgQ29tcGlsZXIKKytDb2xsZWN0aW9uIChHQ0MpIEludGVybmFsc30sCisrZm9yIG1vcmUgZGlzY3Vzc2lvbiBvZiBAZmlsZXtsaWJnY2MuYX0uKQorK0luIG1vc3QgY2FzZXMsIHlvdSBuZWVkIEBmaWxle2xpYmdjYy5hfSBldmVuIHdoZW4geW91IHdhbnQgdG8gYXZvaWQKKytvdGhlciBzdGFuZGFyZCBsaWJyYXJpZXMuICBJbiBvdGhlciB3b3Jkcywgd2hlbiB5b3Ugc3BlY2lmeSBAb3B0aW9uey1ub3N0ZGxpYn0KKytvciBAb3B0aW9uey1ub2RlZmF1bHRsaWJzfSB5b3Ugc2hvdWxkIHVzdWFsbHkgc3BlY2lmeSBAb3B0aW9uey1sZ2NjfSBhcyB3ZWxsLgorK1RoaXMgZW5zdXJlcyB0aGF0IHlvdSBoYXZlIG5vIHVucmVzb2x2ZWQgcmVmZXJlbmNlcyB0byBpbnRlcm5hbCBHQ0MKKytsaWJyYXJ5IHN1YnJvdXRpbmVzLgorKyhBbiBleGFtcGxlIG9mIHN1Y2ggYW4gaW50ZXJuYWwgc3Vicm91dGluZSBpcyBAY29kZXtfX21haW59LCB1c2VkIHRvIGVuc3VyZSBDKysKKytjb25zdHJ1Y3RvcnMgYXJlIGNhbGxlZDsgQHB4cmVme0NvbGxlY3QyLCxAY29kZXtjb2xsZWN0Mn0sIGdjY2ludCwKKytHTlUgQ29tcGlsZXIgQ29sbGVjdGlvbiAoR0NDKSBJbnRlcm5hbHN9LikKKysKKyBAaXRlbSAtcGllCisgQG9waW5kZXggcGllCisgUHJvZHVjZSBhIGR5bmFtaWNhbGx5IGxpbmtlZCBwb3NpdGlvbiBpbmRlcGVuZGVudCBleGVjdXRhYmxlIG9uIHRhcmdldHMKK2RpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKK2luZGV4IDAyYjNjZDM5ZmMyLi44Y2QyN2E1ZGFkNSAxMDA2NDQKKy0tLSBhL2djYy9nY2MuYworKysrIGIvZ2NjL2djYy5jCitAQCAtMTA0Nyw2ICsxMDQ3LDcgQEAgcHJvcGVyIHBvc2l0aW9uIGFtb25nIHRoZSBvdGhlciBvdXRwdXQgZmlsZXMuICAqLworICAgICAlKG1mbGliKSAiIFNUQUNLX1NQTElUX1NQRUMgIlwKKyAgICAgJXtmcHJvZmlsZS1hcmNzfGZwcm9maWxlLWdlbmVyYXRlKnxjb3ZlcmFnZTotbGdjb3Z9ICIgU0FOSVRJWkVSX1NQRUMgIiBcCisgICAgICV7IW5vc3RkbGliOiV7IW5vZGVmYXVsdGxpYnM6JShsaW5rX3NzcCkgJShsaW5rX2djY19jX3NlcXVlbmNlKX19XAorKyAgICAleyFub3N0ZGxpYisrOn1cCisgICAgICV7IW5vc3RkbGliOiV7IW5vc3RhcnRmaWxlczolRX19ICV7VCp9ICBcbiUocG9zdF9saW5rKSB9fX19fX0iCisgI2VuZGlmCisgCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA2LWdjYy1kaXNhYmxlLU1BU0tfUkVMQVhfUElDX0NBTExTLWJpdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDYtZ2NjLWRpc2FibGUtTUFTS19SRUxBWF9QSUNfQ0FMTFMtYml0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjZWEyMjgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA2LWdjYy1kaXNhYmxlLU1BU0tfUkVMQVhfUElDX0NBTExTLWJpdC5wYXRjaApAQCAtMCwwICsxLDU5IEBACitGcm9tIDFkYmEwOTBhMTFjNDBiMDkyNmY5NzA3YTU0M2Q2NThjOTVlMWYxNTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxNDoyMCArMDQwMAorU3ViamVjdDogW1BBVENIIDA2LzQwXSBnY2M6IGRpc2FibGUgTUFTS19SRUxBWF9QSUNfQ0FMTFMgYml0CisKK1RoZSBuZXcgZmVhdHVyZSBhZGRlZCBhZnRlciA0LjMuMworImh0dHA6Ly93d3cucHViYnMubmV0LzIwMDkwOS9nY2MvOTQwNDgtcGF0Y2gtYWRkLXN1cHBvcnQtZm9yLXJtaXBzamFsci5odG1sIgord2lsbCBjYXVzZSBjYzFwbHVzIGVhdCB1cCBhbGwgdGhlIHN5c3RlbSBtZW1vcnkgd2hlbiBidWlsZCB3ZWJraXQtZ3RrLgorVGhlIGZ1bmN0aW9uIG1pcHNfZ2V0X3BpY19jYWxsX3N5bWJvbCBrZWVwcyBvbiByZWN1cnNpdmVseSBjYWxsaW5nIGl0c2VsZi4KK0Rpc2FibGUgdGhpcyBmZWF0dXJlIHRvIHdhbGsgYXNpZGUgdGhlIGJ1Zy4KKworU2lnbmVkLW9mZi1ieTogRG9uZ3hpYW8gWHUgPGRvbmd4aWFvLnh1QGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKy0tLQorIGdjYy9jb25maWd1cmUgICAgfCA3IC0tLS0tLS0KKyBnY2MvY29uZmlndXJlLmFjIHwgNyAtLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCitpbmRleCAzOTAxNzIyNDAwYy4uMGM5YjhhYzVmNTUgMTAwNzU1CistLS0gYS9nY2MvY29uZmlndXJlCisrKysgYi9nY2MvY29uZmlndXJlCitAQCAtMjc1NTMsMTMgKzI3NTUzLDYgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgYXNzZW1ibGVyIGFuZCBsaW5rZXIgZm9yIGV4cGxpY2l0IEpBTFIgcmVsb2NhdGlvbi4uLiAiID4mNjsKKyAgICAgICAgIHJtIC1mIGNvbmZ0ZXN0LioKKyAgICAgICBmaQorICAgICBmaQorLSAgICBpZiB0ZXN0ICRnY2NfY3ZfYXNfbGRfamFscl9yZWxvYyA9IHllczsgdGhlbgorLSAgICAgIGlmIHRlc3QgeCR0YXJnZXRfY3B1X2RlZmF1bHQgPSB4OyB0aGVuCistICAgICAgICB0YXJnZXRfY3B1X2RlZmF1bHQ9TUFTS19SRUxBWF9QSUNfQ0FMTFMKKy0gICAgICBlbHNlCistICAgICAgICB0YXJnZXRfY3B1X2RlZmF1bHQ9IigkdGFyZ2V0X2NwdV9kZWZhdWx0KXxNQVNLX1JFTEFYX1BJQ19DQUxMUyIKKy0gICAgICBmaQorLSAgICBmaQorICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGdjY19jdl9hc19sZF9qYWxyX3JlbG9jIiA+JjUKKyAkYXNfZWNobyAiJGdjY19jdl9hc19sZF9qYWxyX3JlbG9jIiA+JjY7IH0KKyAKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlLmFjIGIvZ2NjL2NvbmZpZ3VyZS5hYworaW5kZXggMWIxMzYyZjcwZmUuLjUzODQwMzYzMTE1IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZ3VyZS5hYworKysrIGIvZ2NjL2NvbmZpZ3VyZS5hYworQEAgLTQ3OTgsMTMgKzQ3OTgsNiBAQCB4OgorICAgICAgICAgcm0gLWYgY29uZnRlc3QuKgorICAgICAgIGZpCisgICAgIGZpCistICAgIGlmIHRlc3QgJGdjY19jdl9hc19sZF9qYWxyX3JlbG9jID0geWVzOyB0aGVuCistICAgICAgaWYgdGVzdCB4JHRhcmdldF9jcHVfZGVmYXVsdCA9IHg7IHRoZW4KKy0gICAgICAgIHRhcmdldF9jcHVfZGVmYXVsdD1NQVNLX1JFTEFYX1BJQ19DQUxMUworLSAgICAgIGVsc2UKKy0gICAgICAgIHRhcmdldF9jcHVfZGVmYXVsdD0iKCR0YXJnZXRfY3B1X2RlZmF1bHQpfE1BU0tfUkVMQVhfUElDX0NBTExTIgorLSAgICAgIGZpCistICAgIGZpCisgICAgIEFDX01TR19SRVNVTFQoJGdjY19jdl9hc19sZF9qYWxyX3JlbG9jKQorIAorICAgICBBQ19DQUNIRV9DSEVDSyhbbGlua2VyIGZvciAuZWhfZnJhbWUgcGVyc29uYWxpdHkgcmVsYXhhdGlvbl0sCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA3LUNPTExFQ1RfR0NDX09QVElPTlMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA3LUNPTExFQ1RfR0NDX09QVElPTlMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGM3ZTcyZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDctQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIDIwOWU0NmY0NTM4MjA4OGNhYWI1NDQyNWI5MmI1ZGZjNDNlYmI0ZmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxNjoyOCArMDQwMAorU3ViamVjdDogW1BBVENIIDA3LzQwXSBDT0xMRUNUX0dDQ19PUFRJT05TCisKK1RoaXMgcGF0Y2ggYWRkcyAtLXN5c3Jvb3QgaW50byBDT0xMRUNUX0dDQ19PUFRJT05TIHdoaWNoIGlzIHVzZWQgdG8KK2ludm9rZSBjb2xsZWN0Mi4KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCistLS0KKyBnY2MvZ2NjLmMgfCA5ICsrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYworaW5kZXggOGNkMjdhNWRhZDUuLmQzNTVkNjU1ODNhIDEwMDY0NAorLS0tIGEvZ2NjL2djYy5jCisrKysgYi9nY2MvZ2NjLmMKK0BAIC00Njc3LDYgKzQ2NzcsMTUgQEAgc2V0X2NvbGxlY3RfZ2NjX29wdGlvbnMgKHZvaWQpCisgCQlzaXplb2YgKCJDT0xMRUNUX0dDQ19PUFRJT05TPSIpIC0gMSk7CisgCisgICBmaXJzdF90aW1lID0gVFJVRTsKKysjaWZkZWYgSEFWRV9MRF9TWVNST09UCisrICBpZiAodGFyZ2V0X3N5c3RlbV9yb290X2NoYW5nZWQgJiYgdGFyZ2V0X3N5c3RlbV9yb290KQorKyAgICB7CisrICAgICAgb2JzdGFja19ncm93ICgmY29sbGVjdF9vYnN0YWNrLCAiJy0tc3lzcm9vdD0iLCBzaXplb2YoIictLXN5c3Jvb3Q9IiktMSk7CisrICAgICAgb2JzdGFja19ncm93ICgmY29sbGVjdF9vYnN0YWNrLCB0YXJnZXRfc3lzdGVtX3Jvb3Qsc3RybGVuKHRhcmdldF9zeXN0ZW1fcm9vdCkpOworKyAgICAgIG9ic3RhY2tfZ3JvdyAoJmNvbGxlY3Rfb2JzdGFjaywgIiciLCAxKTsKKysgICAgICBmaXJzdF90aW1lID0gRkFMU0U7CisrICAgIH0KKysjZW5kaWYKKyAgIGZvciAoaSA9IDA7IChpbnQpIGkgPCBuX3N3aXRjaGVzOyBpKyspCisgICAgIHsKKyAgICAgICBjb25zdCBjaGFyICpjb25zdCAqYXJnczsKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDgtVXNlLXRoZS1kZWZhdWx0cy5oLWluLUItaW5zdGVhZC1vZi1TLWFuZC10LW9lLWluLUIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA4LVVzZS10aGUtZGVmYXVsdHMuaC1pbi1CLWluc3RlYWQtb2YtUy1hbmQtdC1vZS1pbi1CLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5NjMyYWYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA4LVVzZS10aGUtZGVmYXVsdHMuaC1pbi1CLWluc3RlYWQtb2YtUy1hbmQtdC1vZS1pbi1CLnBhdGNoCkBAIC0wLDAgKzEsOTYgQEAKK0Zyb20gM2JjYmRmNWFkZTU0YTcyODIwYWQ3Nzk4MTE5ZDBiYmFkNGJhZjZlYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjE3OjI1ICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDgvNDBdIFVzZSB0aGUgZGVmYXVsdHMuaCBpbiAke0J9IGluc3RlYWQgb2YgJHtTfSwgYW5kIHQtb2UgaW4KKyAke0J9CisKK1VzZSB0aGUgZGVmYXVsdHMuaCBpbiAke0J9IGluc3RlYWQgb2YgJHtTfSwgYW5kIHQtb2UgaW4gJHtCfSwgc28gdGhhdAordGhlIHNvdXJjZSBjYW4gYmUgc2hhcmVkIGJldHdlZW4gZ2NjLWNyb3NzLWluaXRpYWwsCitnY2MtY3Jvc3MtaW50ZXJtZWRpYXRlLCBnY2MtY3Jvc3MsIGdjYy1ydW50aW1lLCBhbmQgYWxzbyB0aGUgc2RrIGJ1aWxkLgorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworV2hpbGUgY29tcGlsaW5nIGdjYy1jcm9zc3Nkay1pbml0aWFsLXg4Nl82NCBvbiBzb21lIGhvc3QsIHRoZXJlIGlzCitvY2Nhc2lvbmFsbHkgZmFpbHVyZSB0aGF0IHRlc3QgdGhlIGV4aXN0YW5jZSBvZiBkZWZhdWx0LmggZG9lc24ndAord29yaywgdGhlIHJlYXNvbiBpcyB0bV9pbmNsdWRlX2xpc3Q9JyoqIGRlZmF1bHRzLmgnIHJhdGhlciB0aGFuCit0bV9pbmNsdWRlX2xpc3Q9JyoqIC4vZGVmYXVsdHMuaCcKKworU28gd2UgYWRkIHRoZSB0ZXN0IGNvbmRpdGlvbiBmb3IgdGhpcyBzaXR1YXRpb24uCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBnY2MvTWFrZWZpbGUuaW4gIHwgMiArLQorIGdjYy9jb25maWd1cmUgICAgfCA0ICsrLS0KKyBnY2MvY29uZmlndXJlLmFjIHwgNCArKy0tCisgZ2NjL21rY29uZmlnLnNoICB8IDQgKystLQorIDQgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ2NjL01ha2VmaWxlLmluIGIvZ2NjL01ha2VmaWxlLmluCitpbmRleCAyMGJlZTA0OTRiMS4uMTM2NzEzNmJmYWMgMTAwNjQ0CistLS0gYS9nY2MvTWFrZWZpbGUuaW4KKysrKyBiL2djYy9NYWtlZmlsZS5pbgorQEAgLTUzOCw3ICs1MzgsNyBAQCBUQVJHRVRfU1lTVEVNX1JPT1QgPSBAVEFSR0VUX1NZU1RFTV9ST09UQAorIFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkUgPSBAVEFSR0VUX1NZU1RFTV9ST09UX0RFRklORUAKKyAKKyB4bWFrZV9maWxlPUB4bWFrZV9maWxlQAorLXRtYWtlX2ZpbGU9QHRtYWtlX2ZpbGVACisrdG1ha2VfZmlsZT1AdG1ha2VfZmlsZUAgLi90LW9lCisgVE1fRU5ESUFOX0NPTkZJRz1AVE1fRU5ESUFOX0NPTkZJR0AKKyBUTV9NVUxUSUxJQl9DT05GSUc9QFRNX01VTFRJTElCX0NPTkZJR0AKKyBUTV9NVUxUSUxJQl9FWENFUFRJT05TX0NPTkZJRz1AVE1fTVVMVElMSUJfRVhDRVBUSU9OU19DT05GSUdACitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKK2luZGV4IDBjOWI4YWM1ZjU1Li4xMzRjMmMyZjE1NiAxMDA3NTUKKy0tLSBhL2djYy9jb25maWd1cmUKKysrKyBiL2djYy9jb25maWd1cmUKK0BAIC0xMjE1OCw4ICsxMjE1OCw4IEBAIGZvciBmIGluICR0bV9maWxlOyBkbworICAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAkZiIKKyAgICAgICAgOzsKKyAgICAgZGVmYXVsdHMuaCApCistICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IFwkKHNyY2RpcikvJGYiCistICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9ICRmIgorKyAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSAuLyRmIgorKyAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAuLyRmIgorICAgICAgICA7OworICAgICAqICkKKyAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gXCQoc3JjZGlyKS9jb25maWcvJGYiCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKK2luZGV4IDUzODQwMzYzMTE1Li4wYzNjODJlNGZmNyAxMDA2NDQKKy0tLSBhL2djYy9jb25maWd1cmUuYWMKKysrKyBiL2djYy9jb25maWd1cmUuYWMKK0BAIC0xOTIyLDggKzE5MjIsOCBAQCBmb3IgZiBpbiAkdG1fZmlsZTsgZG8KKyAgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gJGYiCisgICAgICAgIDs7CisgICAgIGRlZmF1bHRzLmggKQorLSAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSBcJChzcmNkaXIpLyRmIgorLSAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAkZiIKKysgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi8kZiIKKysgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gLi8kZiIKKyAgICAgICAgOzsKKyAgICAgKiApCisgICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IFwkKHNyY2RpcikvY29uZmlnLyRmIgorZGlmZiAtLWdpdCBhL2djYy9ta2NvbmZpZy5zaCBiL2djYy9ta2NvbmZpZy5zaAoraW5kZXggMGY3NWM4NjNjMGIuLjY4ZDhkNjYxM2NmIDEwMDY0NAorLS0tIGEvZ2NjL21rY29uZmlnLnNoCisrKysgYi9nY2MvbWtjb25maWcuc2gKK0BAIC03Nyw3ICs3Nyw3IEBAIGlmIFsgLW4gIiRIRUFERVJTIiBdOyB0aGVuCisgICAgIGlmIFsgJCMgLWdlIDEgXTsgdGhlbgorIAllY2hvICcjaWZkZWYgSU5fR0NDJyA+PiAke291dHB1dH1UCisgCWZvciBmaWxlIGluICIkQCI7IGRvCistCSAgICBpZiB0ZXN0IHgiJGZpbGUiID0geCJkZWZhdWx0cy5oIjsgdGhlbgorKwkgICAgaWYgdGVzdCB4IiRmaWxlIiA9IHgiLi9kZWZhdWx0cy5oIiAtbyB4IiRmaWxlIiA9IHgiZGVmYXVsdHMuaCI7IHRoZW4KKyAJCXBvc3Rwb25lX2RlZmF1bHRzX2g9InllcyIKKyAJICAgIGVsc2UKKyAJCWVjaG8gIiMgaW5jbHVkZSBcIiRmaWxlXCIiID4+ICR7b3V0cHV0fVQKK0BAIC0xMDYsNyArMTA2LDcgQEAgZXNhYworIAorICMgSWYgd2UgcG9zdHBvbmVkIGluY2x1ZGluZyBkZWZhdWx0cy5oLCBhZGQgdGhlICNpbmNsdWRlIG5vdy4KKyBpZiB0ZXN0IHgiJHBvc3Rwb25lX2RlZmF1bHRzX2giID0geCJ5ZXMiOyB0aGVuCistICAgIGVjaG8gIiMgaW5jbHVkZSBcImRlZmF1bHRzLmhcIiIgPj4gJHtvdXRwdXR9VAorKyAgICBlY2hvICIjIGluY2x1ZGUgXCIuL2RlZmF1bHRzLmhcIiIgPj4gJHtvdXRwdXR9VAorIGZpCisgCisgIyBBZGQgbXVsdGlwbGUgaW5jbHVzaW9uIHByb3RlY3Rpb24gZ3VhcmQsIHBhcnQgdHdvLgorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwOS1mb3J0cmFuLWNyb3NzLWNvbXBpbGUtaGFjay5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDktZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTBkODk1YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDktZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2gKQEAgLTAsMCArMSw0NiBAQAorRnJvbSBlNjU0NTczMzUyZDI4ZjE2MGYzNzllZTc3ZTQwNjdjZjEwODcxNGQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjA6MDEgKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAwOS80MF0gZm9ydHJhbiBjcm9zcy1jb21waWxlIGhhY2suCisKKyogRm9ydHJhbiB3b3VsZCBoYXZlIHNlYXJjaGVkIGZvciBhcm0tYW5nc3Ryb20tZ251ZWFiaS1nZm9ydHJhbiBidXQgd291bGQgaGF2ZSB1c2VkCit1c2VkIGdmb3J0YW4uIEZvciBnY2NfNC4yLjIuYmIgd2Ugd2FudCB0byB1c2UgdGhlIGdmb3J0cmFuIGNvbXBpbGVyIGZyb20gb3VyIGNyb3NzCitkaXJlY3RvcnkuCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCistLS0KKyBsaWJnZm9ydHJhbi9jb25maWd1cmUgICAgfCAyICstCisgbGliZ2ZvcnRyYW4vY29uZmlndXJlLmFjIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliZ2ZvcnRyYW4vY29uZmlndXJlIGIvbGliZ2ZvcnRyYW4vY29uZmlndXJlCitpbmRleCA5MWZjZThmZWNkMC4uNjc0N2Y4NmViOTggMTAwNzU1CistLS0gYS9saWJnZm9ydHJhbi9jb25maWd1cmUKKysrKyBiL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZQorQEAgLTEyODgzLDcgKzEyODgzLDcgQEAgZXNhYworIAorICMgV2UgbmVlZCBnZm9ydHJhbiB0byBjb21waWxlIHBhcnRzIG9mIHRoZSBsaWJyYXJ5CisgI0FDX1BST0dfRkMoZ2ZvcnRyYW4pCistRkM9IiRHRk9SVFJBTiIKKysjRkM9IiRHRk9SVFJBTiIKKyBhY19leHQ9JHthY19mY19zcmNleHQtZn0KKyBhY19jb21waWxlPSckRkMgLWMgJEZDRkxBR1MgJGFjX2ZjZmxhZ3Nfc3JjZXh0IGNvbmZ0ZXN0LiRhY19leHQgPiY1JworIGFjX2xpbms9JyRGQyAtbyBjb25mdGVzdCRhY19leGVleHQgJEZDRkxBR1MgJExERkxBR1MgJGFjX2ZjZmxhZ3Nfc3JjZXh0IGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1JworZGlmZiAtLWdpdCBhL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYyBiL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYworaW5kZXggYmY2ZDM2MzRkZGEuLjlkYmU0M2NjNjE2IDEwMDY0NAorLS0tIGEvbGliZ2ZvcnRyYW4vY29uZmlndXJlLmFjCisrKysgYi9saWJnZm9ydHJhbi9jb25maWd1cmUuYWMKK0BAIC0yNTAsNyArMjUwLDcgQEAgQUNfU1VCU1QoZW5hYmxlX3N0YXRpYykKKyAKKyAjIFdlIG5lZWQgZ2ZvcnRyYW4gdG8gY29tcGlsZSBwYXJ0cyBvZiB0aGUgbGlicmFyeQorICNBQ19QUk9HX0ZDKGdmb3J0cmFuKQorLUZDPSIkR0ZPUlRSQU4iCisrI0ZDPSIkR0ZPUlRSQU4iCisgQUNfUFJPR19GQyhnZm9ydHJhbikKKyAKKyAjIGV4dHJhIExEIEZsYWdzIHdoaWNoIGFyZSByZXF1aXJlZCBmb3IgdGFyZ2V0cworLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMC1jcHAtaG9ub3Itc3lzcm9vdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTAtY3BwLWhvbm9yLXN5c3Jvb3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDM3ZWFjZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTAtY3BwLWhvbm9yLXN5c3Jvb3QucGF0Y2gKQEAgLTAsMCArMSw1NCBAQAorRnJvbSAyYWU3YWY0ZWI3MGVmZjZhZWRhMWZlOTYzMzNmZjUwY2ZhYTlkOTA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjI6MDAgKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxMC80MF0gY3BwOiBob25vciBzeXNyb290LgorCitDdXJyZW50bHksIGlmIHRoZSBnY2MgdG9vbGNoYWluIGlzIHJlbG9jYXRlZCBhbmQgaW5zdGFsbGVkIGZyb20gc3N0YXRlLCB0aGVuIHlvdSB0cnkgYW5kIGNvbXBpbGUKK3ByZXByb2Nlc3NlZCBzb3VyY2UgKC5pIG9yIC5paSBmaWxlcyksIHRoZSBjb21waWxlciB3aWxsIHRyeSBhbmQgYWNjZXNzIHRoZSBidWlsdGluIHN5c3Jvb3QgbG9jYXRpb24KK3JhdGhlciB0aGFuIHRoZSAtLXN5c3Jvb3Qgb3B0aW9uIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZGxpbmUuIElmIGFjY2VzcyB0byB0aGF0IGRpcmVjdG9yeSBpcworcGVybWlzc2lvbiBkZW5pZWQgKHVucmVhZGFibGUpLCBnY2Mgd2lsbCBlcnJvci4KKworVGhpcyBoYXBwZW5zIHdoZW4gY2NhY2hlIGlzIGluIHVzZSBkdWUgdG8gdGhlIGZhY3QgaXQgdXNlcyBwcmVwcm9jZXNzZWQgc291cmNlIGZpbGVzLgorCitUaGUgZml4IGJlbG93IGFkZHMgJUkgdG8gdGhlIGNwcC1vdXRwdXQgc3BlYyBtYWNybyBzbyB0aGUgZGVmYXVsdCBzdWJzdGl0dXRpb25zIGZvciAtaXByZWZpeCwKKy1pc3lzdGVtLCAtaXN5c3Jvb3QgaGFwcGVuIGFuZCB0aGUgY29ycmVjdCBzeXNyb290IGlzIHVzZWQuCisKK1tZT0NUTyAjMjA3NF0KKworUlAgMjAxMi8wNC8xMworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIGdjYy9jcC9sYW5nLXNwZWNzLmggfCAyICstCisgZ2NjL2djYy5jICAgICAgICAgICB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jcC9sYW5nLXNwZWNzLmggYi9nY2MvY3AvbGFuZy1zcGVjcy5oCitpbmRleCBmMDgwMmI4OTE1Yy4uZjMyNGQyOTk4NDkgMTAwNjQ0CistLS0gYS9nY2MvY3AvbGFuZy1zcGVjcy5oCisrKysgYi9nY2MvY3AvbGFuZy1zcGVjcy5oCitAQCAtNjQsNSArNjQsNSBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorICAgeyIuaWkiLCAiQGMrKy1jcHAtb3V0cHV0IiwgMCwgMCwgMH0sCisgICB7IkBjKystY3BwLW91dHB1dCIsCisgICAgIiV7IU06JXshTU06JXshRTpcCistICAgIGNjMXBsdXMgLWZwcmVwcm9jZXNzZWQgJWkgJShjYzFfb3B0aW9ucykgJTJcCisrICAgIGNjMXBsdXMgLWZwcmVwcm9jZXNzZWQgJWkgJUkgJShjYzFfb3B0aW9ucykgJTJcCisgICAgICV7IWZzeW50YXgtb25seTolKGludm9rZV9hcyl9fX19IiwgMCwgMCwgMH0sCitkaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCitpbmRleCBkMzU1ZDY1NTgzYS4uNTcwY2RjMDAwMzQgMTAwNjQ0CistLS0gYS9nY2MvZ2NjLmMKKysrKyBiL2djYy9nY2MuYworQEAgLTEzNDMsNyArMTM0Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29tcGlsZXIgZGVmYXVsdF9jb21waWxlcnNbXSA9CisgCQkJCQkgICAlV3tvKjotLW91dHB1dC1wY2g9JSp9fSVWfX19fX19fSIsIDAsIDAsIDB9LAorICAgeyIuaSIsICJAY3BwLW91dHB1dCIsIDAsIDAsIDB9LAorICAgeyJAY3BwLW91dHB1dCIsCistICAgIiV7IU06JXshTU06JXshRTpjYzEgLWZwcmVwcm9jZXNzZWQgJWkgJShjYzFfb3B0aW9ucykgJXshZnN5bnRheC1vbmx5OiUoaW52b2tlX2FzKX19fX0iLCAwLCAwLCAwfSwKKysgICAiJXshTToleyFNTToleyFFOmNjMSAtZnByZXByb2Nlc3NlZCAlaSAlSSAlKGNjMV9vcHRpb25zKSAleyFmc3ludGF4LW9ubHk6JShpbnZva2VfYXMpfX19fSIsIDAsIDAsIDB9LAorICAgeyIucyIsICJAYXNzZW1ibGVyIiwgMCwgMCwgMH0sCisgICB7IkBhc3NlbWJsZXIiLAorICAgICIleyFNOiV7IU1NOiV7IUU6JXshUzphcyAlKGFzbV9kZWJ1ZykgJShhc21fb3B0aW9ucykgJWkgJUEgfX19fSIsIDAsIDAsIDB9LAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMS1NSVBTNjQtRGVmYXVsdC10by1ONjQtQUJJLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMS1NSVBTNjQtRGVmYXVsdC10by1ONjQtQUJJLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4NjNjZmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDExLU1JUFM2NC1EZWZhdWx0LXRvLU42NC1BQkkucGF0Y2gKQEAgLTAsMCArMSw1NyBAQAorRnJvbSAxZTFlYTBlYjU1YTU5NGFjNGNkN2I4MzhmNzRkZWM3NDA1YWFlMDJiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjM6MDggKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxMS80MF0gTUlQUzY0OiBEZWZhdWx0IHRvIE42NCBBQkkKKworTUlQUzY0IGRlZmF1bHRzIHRvIG4zMiBBQkksIHRoaXMgcGF0Y2ggbWFrZXMgaXQKK3NvIHRoYXQgaXQgZGVmYXVsdHMgdG8gTjY0IEFCSQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIGNvbmZpZyBzcGVjaWZpY10KKy0tLQorIGdjYy9jb25maWcuZ2NjIHwgMTAgKysrKystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnLmdjYyBiL2djYy9jb25maWcuZ2NjCitpbmRleCA3YWY4ZTAyODEwNC4uZmM3YzkxMjQ2ZWQgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnLmdjYworKysrIGIvZ2NjL2NvbmZpZy5nY2MKK0BAIC0yMTQzLDI5ICsyMTQzLDI5IEBAIG1pcHMqLSotbGludXgqKQkJCQkjIExpbnV4IE1JUFMsIGVpdGhlciBlbmRpYW4uCisgCQkJZGVmYXVsdF9taXBzX2FyY2g9bWlwczMyCisgCQkJOzsKKyAJCW1pcHM2NGVsLXN0LWxpbnV4LWdudSkKKy0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgorKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKKyAJCQl0bV9maWxlPSIke3RtX2ZpbGV9IG1pcHMvc3QuaCIKKyAJCQl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IG1pcHMvdC1zdCIKKyAJCQllbmFibGVfbWlwc19tdWx0aWxpYnM9InllcyIKKyAJCQk7OworIAkJbWlwczY0b2N0ZW9uKi0qLWxpbnV4KikKKy0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgorKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKKyAJCQl0bV9kZWZpbmVzPSIke3RtX2RlZmluZXN9IE1JUFNfQ1BVX1NUUklOR19ERUZBVUxUPVxcXCJvY3Rlb25cXFwiIgorIAkJCXRhcmdldF9jcHVfZGVmYXVsdD1NQVNLX1NPRlRfRkxPQVRfQUJJCisgCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCisgCQkJOzsKKyAJCW1pcHNpc2E2NHI2Ki0qLWxpbnV4KikKKy0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgorKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKKyAJCQlkZWZhdWx0X21pcHNfYXJjaD1taXBzNjRyNgorIAkJCWVuYWJsZV9taXBzX211bHRpbGlicz0ieWVzIgorIAkJCTs7CisgCQltaXBzaXNhNjRyMiotKi1saW51eCopCistCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKKysJCQlkZWZhdWx0X21pcHNfYWJpPTY0CisgCQkJZGVmYXVsdF9taXBzX2FyY2g9bWlwczY0cjIKKyAJCQllbmFibGVfbWlwc19tdWx0aWxpYnM9InllcyIKKyAJCQk7OworIAkJbWlwczY0Ki0qLWxpbnV4KiB8IG1pcHNpc2E2NCotKi1saW51eCopCistCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKKysJCQlkZWZhdWx0X21pcHNfYWJpPTY0CisgCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCisgCQkJOzsKKyAJZXNhYworLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMi1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMi1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzYmUxMGYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDEyLURlZmluZS1HTElCQ19EWU5BTUlDX0xJTktFUi1hbmQtVUNMSUJDX0RZTkFNSUNfTElOS0UucGF0Y2gKQEAgLTAsMCArMSwyNDggQEAKK0Zyb20gNmY4NjQ5OTM2ZGYzNjc3MTA5YjgzOTZmNTYzYzcxNmFlOGIyMzdmZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjI0OjUwICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMTIvNDBdIERlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBhbmQgVUNMSUJDX0RZTkFNSUNfTElOS0VSCisgcmVsYXRpdmUgdG8gU1lTVEVNTElCU19ESVIKKworVGhpcyBwYXRjaCBkZWZpbmVzIEdMSUJDX0RZTkFNSUNfTElOS0VSIGFuZCBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIKK3JlbGF0aXZlIHRvIFNZU1RFTUxJQlNfRElSIHdoaWNoIGNhbiBiZSBzZXQgaW4gZ2VuZXJhdGVkIGhlYWRlcnMKK1RoaXMgYnJlYWtzIHRoZSBhc3N1bXB0aW9uIG9mIGhhcmRjb2RlZCBtdWx0aWxpYiBpbiBnY2MKK0NoYW5nZSBpcyBvbmx5IGZvciB0aGUgc3VwcG9ydGVkIGFyY2hpdGVjdHVyZXMgaW4gT0UgaW5jbHVkaW5nCitTSCwgc3BhcmMsIGFscGhhIGZvciBwb3NzaWJsZSBmdXR1cmUgc3VwcG9ydCAoaWYgYW55KQorCitSZW1vdmVzIHRoZSBkb19oZWFkZXJmaXggdGFzayBpbiBtZXRhZGF0YQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIGNvbmZpZ3VyYXRpb25dCistLS0KKyBnY2MvY29uZmlnL2FscGhhL2xpbnV4LWVsZi5oIHwgIDQgKystLQorIGdjYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaCAgfCAgNCArKy0tCisgZ2NjL2NvbmZpZy9hcm0vbGludXgtZWxmLmggICB8ICAyICstCisgZ2NjL2NvbmZpZy9pMzg2L2xpbnV4LmggICAgICB8ICAyICstCisgZ2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaCAgICB8ICA2ICsrKy0tLQorIGdjYy9jb25maWcvbGludXguaCAgICAgICAgICAgfCAgOCArKysrLS0tLQorIGdjYy9jb25maWcvbWlwcy9saW51eC5oICAgICAgfCAxMiArKysrKystLS0tLS0KKyBnY2MvY29uZmlnL3Jpc2N2L2xpbnV4LmggICAgIHwgIDIgKy0KKyBnY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggIHwgMTYgKysrKysrLS0tLS0tLS0tLQorIGdjYy9jb25maWcvc2gvbGludXguaCAgICAgICAgfCAgMiArLQorIGdjYy9jb25maWcvc3BhcmMvbGludXguaCAgICAgfCAgMiArLQorIGdjYy9jb25maWcvc3BhcmMvbGludXg2NC5oICAgfCAgNCArKy0tCisgMTIgZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FscGhhL2xpbnV4LWVsZi5oIGIvZ2NjL2NvbmZpZy9hbHBoYS9saW51eC1lbGYuaAoraW5kZXggMzZiNzRkYzE5OTMuLjAyMzczNTc4YWY4IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9hbHBoYS9saW51eC1lbGYuaAorKysrIGIvZ2NjL2NvbmZpZy9hbHBoYS9saW51eC1lbGYuaAorQEAgLTIzLDggKzIzLDggQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKKyAjZGVmaW5lIEVYVFJBX1NQRUNTIFwKKyB7ICJlbGZfZHluYW1pY19saW5rZXIiLCBFTEZfRFlOQU1JQ19MSU5LRVIgfSwKKyAKKy0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSCSIvbGliL2xkLWxpbnV4LnNvLjIiCistI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtdUNsaWJjLnNvLjAiCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUglTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKKysjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUiAgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wIgorICNpZiBERUZBVUxUX0xJQkMgPT0gTElCQ19VQ0xJQkMKKyAjZGVmaW5lIENIT09TRV9EWU5BTUlDX0xJTktFUihHLCBVKSAiJXttZ2xpYmM6IiBHICI7OiIgVSAifSIKKyAjZWxpZiBERUZBVUxUX0xJQkMgPT0gTElCQ19HTElCQworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaCBiL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAoraW5kZXggODU4NWZkZTNkNDEuLmIzYWY2OGNhYzU3IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCisrKysgYi9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKK0BAIC02Miw4ICs2Miw4IEBACisgICAgR0xJQkNfRFlOQU1JQ19MSU5LRVJfREVGQVVMVCBhbmQgVEFSR0VUX0RFRkFVTFRfRkxPQVRfQUJJLiAgKi8KKyAKKyAjdW5kZWYgIEdMSUJDX0RZTkFNSUNfTElOS0VSCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUl9TT0ZUX0ZMT0FUICIvbGliL2xkLWxpbnV4LnNvLjMiCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUl9IQVJEX0ZMT0FUICIvbGliL2xkLWxpbnV4LWFybWhmLnNvLjMiCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUl9TT0ZUX0ZMT0FUIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4zIgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJfSEFSRF9GTE9BVCBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtYXJtaGYuc28uMyIKKyAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSX0RFRkFVTFQgR0xJQkNfRFlOQU1JQ19MSU5LRVJfU09GVF9GTE9BVAorIAorICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgXAorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVsZi5oIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWxmLmgKK2luZGV4IGNmY2Q5Y2IxYTVjLi5hNzk4ZTk4N2VjYiAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVsZi5oCisrKysgYi9nY2MvY29uZmlnL2FybS9saW51eC1lbGYuaAorQEAgLTYwLDcgKzYwLDcgQEAKKyAKKyAjZGVmaW5lIExJQkdDQ19TUEVDICIle21mbG9hdC1hYmk9c29mdCo6LWxmbG9hdH0gLWxnY2MiCisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC5zby4yIgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCisgCisgI2RlZmluZSBMSU5VWF9UQVJHRVRfTElOS19TUEVDICAiJXtoKn0gXAorICAgICV7c3RhdGljOi1Cc3RhdGljfSBcCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4LmggYi9nY2MvY29uZmlnL2kzODYvbGludXguaAoraW5kZXggNjlmOTdmMTViMGQuLjcxYmMzMWQ5MjMxIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4LmgKKysrKyBiL2djYy9jb25maWcvaTM4Ni9saW51eC5oCitAQCAtMjAsNyArMjAsNyBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisgCisgI2RlZmluZSBHTlVfVVNFUl9MSU5LX0VNVUxBVElPTiAiZWxmX2kzODYiCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC5zby4yIgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCisgCisgI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIKKyAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbXVzbC1pMzg2LnNvLjEiCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaCBiL2djYy9jb25maWcvaTM4Ni9saW51eDY0LmgKK2luZGV4IGYyZDkxM2UzMGFjLi44NzI1ZjMzZDhhNSAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvaTM4Ni9saW51eDY0LmgKKysrKyBiL2djYy9jb25maWcvaTM4Ni9saW51eDY0LmgKK0BAIC0yNyw5ICsyNyw5IEBAIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZQorICNkZWZpbmUgR05VX1VTRVJfTElOS19FTVVMQVRJT042NCAiZWxmX3g4Nl82NCIKKyAjZGVmaW5lIEdOVV9VU0VSX0xJTktfRU1VTEFUSU9OWDMyICJlbGYzMl94ODZfNjQiCisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLWxpbnV4LnNvLjIiCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0ICIvbGliNjQvbGQtbGludXgteDg2LTY0LnNvLjIiCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUlgzMiAiL2xpYngzMi9sZC1saW51eC14MzIuc28uMiIKKysjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0IFNZU1RFTUxJQlNfRElSICJsZC1saW51eC14ODYtNjQuc28uMiIKKysjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSWDMyIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC14MzIuc28uMiIKKyAKKyAjdW5kZWYgTVVTTF9EWU5BTUlDX0xJTktFUjMyCisgI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSMzIgIi9saWIvbGQtbXVzbC1pMzg2LnNvLjEiCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9saW51eC5oIGIvZ2NjL2NvbmZpZy9saW51eC5oCitpbmRleCAyZWE0ZmY5MmMxZC4uNDg3YjBjMDkyM2IgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnL2xpbnV4LmgKKysrKyBiL2djYy9jb25maWcvbGludXguaAorQEAgLTgxLDEwICs4MSwxMCBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKKyAgICBHTElCQ19EWU5BTUlDX0xJTktFUiBtdXN0IGJlIGRlZmluZWQgZm9yIGVhY2ggdGFyZ2V0IHVzaW5nIHRoZW0sIG9yCisgICAgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBhbmQgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBmb3IgdGFyZ2V0cworICAgIHN1cHBvcnRpbmcgYm90aCAzMi1iaXQgYW5kIDY0LWJpdCBjb21waWxhdGlvbi4gICovCistI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtdUNsaWJjLnNvLjAiCistI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC11Q2xpYmMuc28uMCIKKy0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0ICIvbGliL2xkNjQtdUNsaWJjLnNvLjAiCistI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVJYMzIgIi9saWIvbGR4MzItdUNsaWJjLnNvLjAiCisrI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wIgorKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wIgorKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgU1lTVEVNTElCU19ESVIgImxkNjQtdUNsaWJjLnNvLjAiCisrI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVJYMzIgU1lTVEVNTElCU19ESVIgImxkeDMyLXVDbGliYy5zby4wIgorICNkZWZpbmUgQklPTklDX0RZTkFNSUNfTElOS0VSICIvc3lzdGVtL2Jpbi9saW5rZXIiCisgI2RlZmluZSBCSU9OSUNfRFlOQU1JQ19MSU5LRVIzMiAiL3N5c3RlbS9iaW4vbGlua2VyIgorICNkZWZpbmUgQklPTklDX0RZTkFNSUNfTElOS0VSNjQgIi9zeXN0ZW0vYmluL2xpbmtlcjY0IgorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbWlwcy9saW51eC5oIGIvZ2NjL2NvbmZpZy9taXBzL2xpbnV4LmgKK2luZGV4IDJkZmQwYzE4YjkwLi4xMjA1N2M1MWI1ZSAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvbWlwcy9saW51eC5oCisrKysgYi9nY2MvY29uZmlnL21pcHMvbGludXguaAorQEAgLTIyLDIwICsyMiwyMCBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorICNkZWZpbmUgR05VX1VTRVJfTElOS19FTVVMQVRJT05OMzIgImVsZjMyJXtFQjpifSV7RUw6bH10c21pcG4zMiIKKyAKKyAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgXAorLSAgIiV7bW5hbj0yMDA4Oi9saWIvbGQtbGludXgtbWlwc244LnNvLjE7Oi9saWIvbGQuc28uMX0iCisrICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtbWlwc244LnNvLjE7OiIgU1lTVEVNTElCU19ESVIgImxkLnNvLjF9IgorICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBcCistICAiJXttbmFuPTIwMDg6L2xpYjY0L2xkLWxpbnV4LW1pcHNuOC5zby4xOzovbGliNjQvbGQuc28uMX0iCisrICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtbWlwc244LnNvLjE7OiIgU1lTVEVNTElCU19ESVIgImxkLnNvLjF9IgorICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJOMzIgXAorLSAgIiV7bW5hbj0yMDA4Oi9saWIzMi9sZC1saW51eC1taXBzbjguc28uMTs6L2xpYjMyL2xkLnNvLjF9IgorKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LW1pcHNuOC5zby4xOzoiIFNZU1RFTUxJQlNfRElSICJsZC5zby4xfSIKKyAKKyAjdW5kZWYgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIKKyAjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyIFwKKy0gICIle21uYW49MjAwODovbGliL2xkLXVDbGliYy1taXBzbjguc28uMDs6L2xpYi9sZC11Q2xpYmMuc28uMH0iCisrICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLW1pcHNuOC5zby4wOzoiIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMH0iCisgI3VuZGVmIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0CisgI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBcCistICAiJXttbmFuPTIwMDg6L2xpYi9sZDY0LXVDbGliYy1taXBzbjguc28uMDs6L2xpYi9sZDY0LXVDbGliYy5zby4wfSIKKysgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZDY0LXVDbGliYy1taXBzbjguc28uMDs6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC11Q2xpYmMuc28uMH0iCisgI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVJOMzIgXAorLSAgIiV7bW5hbj0yMDA4Oi9saWIzMi9sZC11Q2xpYmMtbWlwc244LnNvLjA7Oi9saWIzMi9sZC11Q2xpYmMuc28uMH0iCisrICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLW1pcHNuOC5zby4wOzoiIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMH0iCisgCisgI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIzMgorICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUjMyIFwKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L2xpbnV4LmggYi9nY2MvY29uZmlnL3Jpc2N2L2xpbnV4LmgKK2luZGV4IGFhOGEyOGQ1ZDMxLi5lYmY5NTUxYzk1NSAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvcmlzY3YvbGludXguaAorKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9saW51eC5oCitAQCAtMjIsNyArMjIsNyBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorICAgICBHTlVfVVNFUl9UQVJHRVRfT1NfQ1BQX0JVSUxUSU5TKCk7CQkJCVwKKyAgIH0gd2hpbGUgKDApCisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC1yaXNjdiIgWExFTl9TUEVDICItIiBBQklfU1BFQyAiLnNvLjEiCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtcmlzY3YiIFhMRU5fU1BFQyAiLSIgQUJJX1NQRUMgIi5zby4xIgorIAorICNkZWZpbmUgTVVTTF9BQklfU1VGRklYIFwKKyAgICIle21hYmk9aWxwMzI6LXNmfSIgXAorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaCBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAoraW5kZXggNDRlYWI0MGEyMzQuLjU0YWE4ZDk1N2U3IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCisrKysgYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKK0BAIC00MTMsMTYgKzQxMywxMSBAQCBleHRlcm4gaW50IGRvdF9zeW1ib2xzOworICN1bmRlZglMSU5LX09TX0RFRkFVTFRfU1BFQworICNkZWZpbmUgTElOS19PU19ERUZBVUxUX1NQRUMgIiUobGlua19vc19saW51eCkiCisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyICIlKGR5bmFtaWNfbGlua2VyX3ByZWZpeCkvbGliL2xkLnNvLjEiCistCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyIFNZU1RFTUxJQlNfRElSICJsZC5zby4xIgorICNpZmRlZiBMSU5VWDY0X0RFRkFVTFRfQUJJX0VMRnYyCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0IFwKKy0iJXttYWJpPWVsZnYxOiUoZHluYW1pY19saW5rZXJfcHJlZml4KS9saWI2NC9sZDY0LnNvLjE7IiBcCistIjolKGR5bmFtaWNfbGlua2VyX3ByZWZpeCkvbGliNjQvbGQ2NC5zby4yfSIKKysjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgIiV7bWFiaT1lbGZ2MToiIFNZU1RFTUxJQlNfRElSICJsZDY0LnNvLjE7OiIgU1lTVEVNTElCU19ESVIgImxkNjQuc28uMn0iCisgI2Vsc2UKKy0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgXAorLSIle21hYmk9ZWxmdjI6JShkeW5hbWljX2xpbmtlcl9wcmVmaXgpL2xpYjY0L2xkNjQuc28uMjsiIFwKKy0iOiUoZHluYW1pY19saW5rZXJfcHJlZml4KS9saWI2NC9sZDY0LnNvLjF9IgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiJXttYWJpPWVsZnYyOiIgU1lTVEVNTElCU19ESVIgImxkNjQuc28uMjs6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC5zby4xfSIKKyAjZW5kaWYKKyAKKyAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIzMiBcCitAQCAtNDMwLDggKzQyNSw5IEBAIGV4dGVybiBpbnQgZG90X3N5bWJvbHM7CisgI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSNjQgXAorICAgIi9saWIvbGQtbXVzbC1wb3dlcnBjNjQiIE1VU0xfRFlOQU1JQ19MSU5LRVJfRSAiJXttc29mdC1mbG9hdDotc2Z9LnNvLjEiCisgCistI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC11Q2xpYmMuc28uMCIKKy0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0ICIvbGliL2xkNjQtdUNsaWJjLnNvLjAiCisrI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjAiCisrI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBTWVNURU1MSUJTX0RJUiAibGQ2NC11Q2xpYmMuc28uMCIKKysKKyAjaWYgREVGQVVMVF9MSUJDID09IExJQkNfVUNMSUJDCisgI2RlZmluZSBDSE9PU0VfRFlOQU1JQ19MSU5LRVIoRywgVSwgTSkgXAorICAgIiV7bWdsaWJjOiIgRyAiOzole21tdXNsOiIgTSAiOzoiIFUgIn19IgorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvc2gvbGludXguaCBiL2djYy9jb25maWcvc2gvbGludXguaAoraW5kZXggNmQyY2NkMDEyYmEuLmVjNzhhODljZTE1IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9zaC9saW51eC5oCisrKysgYi9nY2MvY29uZmlnL3NoL2xpbnV4LmgKK0BAIC02NCw3ICs2NCw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCisgICAiL2xpYi9sZC1tdXNsLXNoIiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgTVVTTF9EWU5BTUlDX0xJTktFUl9GUCBcCisgICAiJXttZmRwaWM6LWZkcGljfS5zby4xIgorIAorLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXguc28uMiIKKysjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgorIAorICN1bmRlZiBTVUJUQVJHRVRfTElOS19FTVVMX1NVRkZJWAorICNkZWZpbmUgU1VCVEFSR0VUX0xJTktfRU1VTF9TVUZGSVggIiV7bWZkcGljOl9mZDs6X2xpbnV4fSIKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3NwYXJjL2xpbnV4LmggYi9nY2MvY29uZmlnL3NwYXJjL2xpbnV4LmgKK2luZGV4IDlmYjAzYWYwZmU5Li40MDFmZGRiYmIyMiAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvc3BhcmMvbGludXguaAorKysrIGIvZ2NjL2NvbmZpZy9zcGFyYy9saW51eC5oCitAQCAtODMsNyArODMsNyBAQCBleHRlcm4gY29uc3QgY2hhciAqaG9zdF9kZXRlY3RfbG9jYWxfY3B1IChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOworICAgIFdoZW4gdGhlIC1zaGFyZWQgbGluayBvcHRpb24gaXMgdXNlZCBhIGZpbmFsIGxpbmsgaXMgbm90IGJlaW5nCisgICAgZG9uZS4gICovCisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC5zby4yIgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCisgCisgI3VuZGVmICBMSU5LX1NQRUMKKyAjZGVmaW5lIExJTktfU1BFQyAiLW0gZWxmMzJfc3BhcmMgJXtzaGFyZWQ6LXNoYXJlZH0gXAorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvc3BhcmMvbGludXg2NC5oIGIvZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmgKK2luZGV4IGMxZmU0MjE2NWI3Li4yNmE3OWJmYTJlMyAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvc3BhcmMvbGludXg2NC5oCisrKysgYi9nY2MvY29uZmlnL3NwYXJjL2xpbnV4NjQuaAorQEAgLTg0LDggKzg0LDggQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKKyAgICBXaGVuIHRoZSAtc2hhcmVkIGxpbmsgb3B0aW9uIGlzIHVzZWQgYSBmaW5hbCBsaW5rIGlzIG5vdCBiZWluZworICAgIGRvbmUuICAqLworIAorLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC1saW51eC5zby4yIgorLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiL2xpYjY0L2xkLWxpbnV4LnNvLjIiCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKKyAKKyAjaWZkZWYgU1BBUkNfQklfQVJDSAorIAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMy1nY2MtRml4LWFyZ3VtZW50LWxpc3QtdG9vLWxvbmctZXJyb3IucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDEzLWdjYy1GaXgtYXJndW1lbnQtbGlzdC10b28tbG9uZy1lcnJvci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWQyY2FjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMy1nY2MtRml4LWFyZ3VtZW50LWxpc3QtdG9vLWxvbmctZXJyb3IucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSA5ZTgxNTk2NWZiYWE5MDEzNGJlMGU3NzdjZmMyZmJjZmFiMTZiNjc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjY6MzcgKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxMy80MF0gZ2NjOiBGaXggYXJndW1lbnQgbGlzdCB0b28gbG9uZyBlcnJvci4KKworVGhlcmUgd291bGQgYmUgYW4gIkFyZ3VtZW50IGxpc3QgdG9vIGxvbmciIGVycm9yIHdoZW4gdGhlCitidWlsZCBkaXJlY3RvcnkgaXMgbG9uZ2VyIHRoYW4gMjAwLCB0aGlzIGlzIGNhdXNlZCBieToKKworaGVhZGVycz1gZWNobyAkKFBMVUdJTl9IRUFERVJTKSB8IHRyICcgJyAnXDAxMicgfCBzb3J0IC11YAorCitUaGUgUExVR0lOX0hFQURFUlMgaXMgdG9vIGxvbmcgYmVmb3JlIHNvcnQsIHNvIHRoZSAiZWNobyIgY2FuJ3QgaGFuZGxlCitpdCwgdXNlIHRoZSAkKHNvcnQgbGlzdCkgb2YgR05VIG1ha2Ugd2hpY2ggY2FuIGhhbmRsZSB0aGUgdG9vIGxvbmcgbGlzdAord291bGQgZml4IHRoZSBwcm9ibGVtLCB0aGUgaGVhZGVyIHdvdWxkIGJlIHNob3J0IGVub3VnaCBhZnRlciBzb3J0ZWQuCitUaGUgInRyICcgJyAnXDAxMiciIHdhcyB1c2VkIGZvciB0cmFuc2xhdGluZyB0aGUgc3BhY2UgdG8gIlxuIiwgdGhlCiskKHNvcnQgbGlzdCkgZG9lc24ndCBuZWVkIHRoaXMuCisKK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCistLS0KKyBnY2MvTWFrZWZpbGUuaW4gfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KK2luZGV4IDEzNjcxMzZiZmFjLi43MWE4Mjc1YzM5ZiAxMDA2NDQKKy0tLSBhL2djYy9NYWtlZmlsZS5pbgorKysrIGIvZ2NjL01ha2VmaWxlLmluCitAQCAtMzUzOCw3ICszNTM4LDcgQEAgaW5zdGFsbC1wbHVnaW46IGluc3RhbGxkaXJzIGxhbmcuaW5zdGFsbC1wbHVnaW4gcy1oZWFkZXItdmFycyBpbnN0YWxsLWdlbmd0eXBlCisgIyBXZSBrZWVwIHRoZSBkaXJlY3Rvcnkgc3RydWN0dXJlIGZvciBmaWxlcyBpbiBjb25maWcgb3IgYy1mYW1pbHkgYW5kIC5kZWYKKyAjIGZpbGVzLiBBbGwgb3RoZXIgZmlsZXMgYXJlIGZsYXR0ZW5lZCB0byBhIHNpbmdsZSBkaXJlY3RvcnkuCisgCSQobWtpbnN0YWxsZGlycykgJChERVNURElSKSQocGx1Z2luX2luY2x1ZGVkaXIpCistCWhlYWRlcnM9YGVjaG8gJChQTFVHSU5fSEVBREVSUykgJCQoY2QgJChzcmNkaXIpOyBlY2hvICouaCAqLmRlZikgfCB0ciAnICcgJ1wwMTInIHwgc29ydCAtdWA7IFwKKysJaGVhZGVycz0iJChzb3J0ICQoUExVR0lOX0hFQURFUlMpICQkKGNkICQoc3JjZGlyKTsgZWNobyAqLmggKi5kZWYpKSI7IFwKKyAJc3JjZGlyc3RyaXA9YGVjaG8gIiQoc3JjZGlyKSIgfCBzZWQgJ3MvW10uW14kJFxcKnxdL1xcXFwmL2cnYDsgXAorIAlmb3IgZmlsZSBpbiAkJGhlYWRlcnM7IGRvIFwKKyAJICBpZiBbIC1mICQkZmlsZSBdIDsgdGhlbiBcCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDE0LURpc2FibGUtc2R0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNC1EaXNhYmxlLXNkdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYmM0NDUxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNC1EaXNhYmxlLXNkdC5wYXRjaApAQCAtMCwwICsxLDExMyBAQAorRnJvbSAwMGM3YTdmZGQ0YjRhYWQ5ZTU3ZDhiNTQxZGUxN2FkMjA5YjZjZDA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6Mjg6MTAgKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxNC80MF0gRGlzYWJsZSBzZHQuCisKK1dlIGRvbid0IGxpc3QgZHRyYWNlIGluIERFUEVORFMgc28gd2Ugc2hvdWxkbid0IGJlIGRlcGVuZGluZyBvbiB0aGlzIGhlYWRlci4KK0l0IG1heSBvciBtYXkgbm90IGV4aXN0IGZyb20gcHJlaXZvdXMgYnVpbGRzIHRob3VnaC4gVG8gYmUgZGV0ZXJtaW5zdGljLCBkaXNhYmxlCitzZHQuaCB1c2FnZSBhbHdheXMuIFRoaXMgYXZvaWRzIGJ1aWxkIGZhaWx1cmVzIGlmIHRoZSBoZWFkZXIgaXMgcmVtb3ZlZCBhZnRlciBjb25maWd1cmUKK2J1dCBiZWZvcmUgbGliZ2NjIGlzIGNvbXBpbGVkIGZvciBleGFtcGxlLgorCitSUCAyMDEyLzgvNworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitEaXNhYmxlIHNkdCBmb3IgbGlic3RkYysrLXYzLgorCitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtoYWNrXQorLS0tCisgZ2NjL2NvbmZpZ3VyZSAgICAgICAgICAgICB8IDEyICsrKysrKy0tLS0tLQorIGdjYy9jb25maWd1cmUuYWMgICAgICAgICAgfCAxOCArKysrKysrKystLS0tLS0tLS0KKyBsaWJzdGRjKystdjMvY29uZmlndXJlICAgIHwgIDYgKysrLS0tCisgbGlic3RkYysrLXYzL2NvbmZpZ3VyZS5hYyB8ICAyICstCisgNCBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCitpbmRleCAxMzRjMmMyZjE1Ni4uNTExMWVjMGFhYmIgMTAwNzU1CistLS0gYS9nY2MvY29uZmlndXJlCisrKysgYi9nY2MvY29uZmlndXJlCitAQCAtMjkyODIsMTIgKzI5MjgyLDEyIEBAIGZpCisgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkiID4mNQorICRhc19lY2hvX24gImNoZWNraW5nIHN5cy9zZHQuaCBpbiB0aGUgdGFyZ2V0IEMgbGlicmFyeS4uLiAiID4mNjsgfQorIGhhdmVfc3lzX3NkdF9oPW5vCistaWYgdGVzdCAtZiAkdGFyZ2V0X2hlYWRlcl9kaXIvc3lzL3NkdC5oOyB0aGVuCistICBoYXZlX3N5c19zZHRfaD15ZXMKKy0KKy0kYXNfZWNobyAiI2RlZmluZSBIQVZFX1NZU19TRFRfSCAxIiA+PmNvbmZkZWZzLmgKKy0KKy1maQorKyNpZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KKysjICBoYXZlX3N5c19zZHRfaD15ZXMKKysjCisrIyRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAorKyMKKysjZmkKKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGhhdmVfc3lzX3NkdF9oIiA+JjUKKyAkYXNfZWNobyAiJGhhdmVfc3lzX3NkdF9oIiA+JjY7IH0KKyAKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlLmFjIGIvZ2NjL2NvbmZpZ3VyZS5hYworaW5kZXggMGMzYzgyZTRmZjcuLjNlMDlhZjkxNmZkIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZ3VyZS5hYworKysrIGIvZ2NjL2NvbmZpZ3VyZS5hYworQEAgLTU5NDMsMTUgKzU5NDMsMTUgQEAgZmkKKyBBQ19TVUJTVChbZW5hYmxlX2RlZmF1bHRfc3NwXSkKKyAKKyAjIFRlc3QgZm9yIDxzeXMvc2R0Lmg+IG9uIHRoZSB0YXJnZXQuCistR0NDX1RBUkdFVF9URU1QTEFURShbSEFWRV9TWVNfU0RUX0hdKQorLUFDX01TR19DSEVDS0lORyhzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkpCistaGF2ZV9zeXNfc2R0X2g9bm8KKy1pZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KKy0gIGhhdmVfc3lzX3NkdF9oPXllcworLSAgQUNfREVGSU5FKEhBVkVfU1lTX1NEVF9ILCAxLAorLSAgICAgICAgICAgIFtEZWZpbmUgaWYgeW91ciB0YXJnZXQgQyBsaWJyYXJ5IHByb3ZpZGVzIHN5cy9zZHQuaF0pCistZmkKKy1BQ19NU0dfUkVTVUxUKCRoYXZlX3N5c19zZHRfaCkKKysjR0NDX1RBUkdFVF9URU1QTEFURShbSEFWRV9TWVNfU0RUX0hdKQorKyNBQ19NU0dfQ0hFQ0tJTkcoc3lzL3NkdC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5KQorKyNoYXZlX3N5c19zZHRfaD1ubworKyNpZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KKysjICBoYXZlX3N5c19zZHRfaD15ZXMKKysjICBBQ19ERUZJTkUoSEFWRV9TWVNfU0RUX0gsIDEsCisrIyAgICAgICAgICAgIFtEZWZpbmUgaWYgeW91ciB0YXJnZXQgQyBsaWJyYXJ5IHByb3ZpZGVzIHN5cy9zZHQuaF0pCisrI2ZpCisrI0FDX01TR19SRVNVTFQoJGhhdmVfc3lzX3NkdF9oKQorIAorICMgQ2hlY2sgaWYgVEZtb2RlIGxvbmcgZG91YmxlIHNob3VsZCBiZSB1c2VkIGJ5IGRlZmF1bHQgb3Igbm90LgorICMgU29tZSBnbGliYyB0YXJnZXRzIHVzZWQgREZtb2RlIGxvbmcgZG91YmxlLCBidXQgd2l0aCBnbGliYyAyLjQKK2RpZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29uZmlndXJlIGIvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQoraW5kZXggNTUzNWJmYTJiNWEuLjEzZDc5M2Y1MDU5IDEwMDc1NQorLS0tIGEvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQorKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQorQEAgLTIxNzg2LDExICsyMTc4NiwxMSBAQCBhY19jb21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCisgYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKKyBhY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251CisgCistICBpZiB0ZXN0ICRnbGliY3h4X2N2X3N5c19zZHRfaCA9IHllczsgdGhlbgorKyMgIGlmIHRlc3QgJGdsaWJjeHhfY3Zfc3lzX3NkdF9oID0geWVzOyB0aGVuCisgCistJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9TWVNfU0RUX0ggMSIgPj5jb25mZGVmcy5oCisrIyRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAorIAorLSAgZmkKKysjICBmaQorICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRnbGliY3h4X2N2X3N5c19zZHRfaCIgPiY1CisgJGFzX2VjaG8gIiRnbGliY3h4X2N2X3N5c19zZHRfaCIgPiY2OyB9CisgCitkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZ3VyZS5hYyBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKK2luZGV4IDBlZjk2MjcwYzljLi5hZmU1NWExYjIxNSAxMDA2NDQKKy0tLSBhL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKKysrKyBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKK0BAIC0yMzAsNyArMjMwLDcgQEAgR0xJQkNYWF9DSEVDS19TQ19OUFJPQ0VTU09SU19PTkxOCisgR0xJQkNYWF9DSEVDS19TQ19OUFJPQ19PTkxOCisgR0xJQkNYWF9DSEVDS19QVEhSRUFEU19OVU1fUFJPQ0VTU09SU19OUAorIEdMSUJDWFhfQ0hFQ0tfU1lTQ1RMX0hXX05DUFUKKy1HTElCQ1hYX0NIRUNLX1NEVF9ICisrI0dMSUJDWFhfQ0hFQ0tfU0RUX0gKKyAKKyAjIENoZWNrIGZvciBhdmFpbGFibGUgaGVhZGVycy4KKyBBQ19DSEVDS19IRUFERVJTKFtlbmRpYW4uaCBleGVjaW5mby5oIGZsb2F0LmggZnAuaCBpZWVlZnAuaCBpbnR0eXBlcy5oIFwKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTUtbGlidG9vbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTUtbGlidG9vbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTBmOGEyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNS1saWJ0b29sLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gODBmMmIwMWIzZjkxN2NlYTA4Mjk0MzI4YzhiYmM1MWRhZGVjZTRhZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjI5OjExICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMTUvNDBdIGxpYnRvb2wKKworbGlic3RkYysrIGZyb20gZ2NjLXJ1bnRpbWUgZ2V0cyBjcmVhdGVkIHdpdGggLXJwYXRoPS91c3IvbGliLy4uL2xpYiBmb3IgcWVtdXg4Ni02NAord2hlbiBydW5uaW5nIG9uIGFtIHg4Nl82NCBidWlsZCBob3N0LgorCitUaGlzIHBhdGNoIHN0b3BzIHRoaXMgc3BlYWRpbmcgdG8gbGliZGlyIGluIHRoZSBsaWJzdGRjKysubGEgZmlsZSB3aXRoaW4gbGlidG9vbC4KK0FyZ3VhYmx5LCBpdCBzaG91bGRuJ3QgYmUgcGFzc2luZyB0aGlzIGludG8gbGlidG9vbCBpbiB0aGUgZmlyc3QgcGxhY2UgYnV0Citmb3Igbm93IHRoaXMgcmVzb2x2ZXMgdGhlIG5hc3RpZXN0IHByb2JsZW1zIHRoaXMgY2F1c2VzLgorCitmdW5jX25vcm1hbF9hYnNwYXRoIHdvdWxkIHJlc29sdmUgYW4gZW1wdHkgcGF0aCB0byBgcHdkYCBzbyB3ZSBuZWVkCit0byBmaWx0ZXIgdGhlIHplcm8gY2FzZS4KKworUlAgMjAxMi84LzI0CisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworLS0tCisgbHRtYWluLnNoIHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCitpbmRleCA5NTAzZWM4NWQ3MC4uMDEyMWZiYTcwN2YgMTAwNjQ0CistLS0gYS9sdG1haW4uc2gKKysrKyBiL2x0bWFpbi5zaAorQEAgLTYzNTksNiArNjM1OSwxMCBAQCBmdW5jX21vZGVfbGluayAoKQorIAlmdW5jX3dhcm5pbmcgImlnbm9yaW5nIG11bHRpcGxlIFxgLXJwYXRoJ3MgZm9yIGEgbGlidG9vbCBsaWJyYXJ5IgorIAorICAgICAgIGluc3RhbGxfbGliZGlyPSIkMSIKKysgICAgICBpZiB0ZXN0IC1uICIkaW5zdGFsbF9saWJkaXIiOyB0aGVuCisrCWZ1bmNfbm9ybWFsX2Fic3BhdGggIiRpbnN0YWxsX2xpYmRpciIKKysJaW5zdGFsbF9saWJkaXI9JGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0CisrICAgICAgZmkKKyAKKyAgICAgICBvbGRsaWJzPQorICAgICAgIGlmIHRlc3QgLXogIiRycGF0aCI7IHRoZW4KKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTYtZ2NjLWFybXY0LXBhc3MtZml4LXY0YngtdG8tbGlua2VyLXRvLXN1cHBvcnQtRUFCSS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTYtZ2NjLWFybXY0LXBhc3MtZml4LXY0YngtdG8tbGlua2VyLXRvLXN1cHBvcnQtRUFCSS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjFiNGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNi1nY2MtYXJtdjQtcGFzcy1maXgtdjRieC10by1saW5rZXItdG8tc3VwcG9ydC1FQUJJLnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK0Zyb20gYTY2ZWMxZTM4MmJmODY5NzQ5NTg4ZjA3MmE0YTdjMDkwMzlmMmIzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjMwOjMyICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMTYvNDBdIGdjYzogYXJtdjQ6IHBhc3MgZml4LXY0YnggdG8gbGlua2VyIHRvIHN1cHBvcnQgRUFCSS4KKworVGhlIExJTktfU1BFQyBmb3IgbGludXggZ2V0cyBvdmVyd3JpdHRlbiBieSBsaW51eC1lYWJpLmggd2hpY2gKK21lYW5zIHRoZSB2YWx1ZSBvZiBUQVJHRVRfRklYX1Y0QlhfU1BFQyBnZXRzIGxvc3QgYW5kIGFzIGEgcmVzdWx0Cit0aGUgb3B0aW9uIGlzIG5vdCBwYXNzZWQgdG8gbGlua2VyIHdoZW4gY2hvc2luZyBtYXJjaD1hcm12NAorVGhpcyBwYXRjaCByZWRlZmluZXMgdGhpcyBpbiBsaW51eC1lYWJpLmggYW5kIHJlaW5zZXJ0cyBpdAorZm9yIGVhYmkgZGVmYXVsdGluZyB0b29sY2hhaW5zLgorCitXZSBtaWdodCB3YW50IHRvIHNlbmQgaXQgdXBzdHJlYW0uCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworLS0tCisgZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oIHwgNiArKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmggYi9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKK2luZGV4IGIzYWY2OGNhYzU3Li4zMzBiNmUxM2M1ZiAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAorKysrIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCitAQCAtODgsMTAgKzg4LDE0IEBACisgI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSIFwKKyAgICIvbGliL2xkLW11c2wtYXJtIiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bWZsb2F0LWFiaT1oYXJkOmhmfS5zby4xIgorIAorKy8qIEZvciBhcm12NCB3ZSBwYXNzIC0tZml4LXY0YnggdG8gbGlua2VyIHRvIHN1cHBvcnQgRUFCSSAqLworKyN1bmRlZiBUQVJHRVRfRklYX1Y0QlhfU1BFQworKyNkZWZpbmUgVEFSR0VUX0ZJWF9WNEJYX1NQRUMgIiV7bWNwdT1hcm04fG1jcHU9YXJtODEwfG1jcHU9c3Ryb25nYXJtKnxtYXJjaD1hcm12NDogLS1maXgtdjRieH0iCisrCisgLyogQXQgdGhpcyBwb2ludCwgYnBhYmkuaCB3aWxsIGhhdmUgY2xvYmJlcmVkIExJTktfU1BFQy4gIFdlIHdhbnQgdG8KKyAgICB1c2UgdGhlIEdOVS9MaW51eCB2ZXJzaW9uLCBub3QgdGhlIGdlbmVyaWMgQlBBQkkgdmVyc2lvbi4gICovCisgI3VuZGVmICBMSU5LX1NQRUMKKy0jZGVmaW5lIExJTktfU1BFQyBFQUJJX0xJTktfU1BFQwkJCQkJXAorKyNkZWZpbmUgTElOS19TUEVDIFRBUkdFVF9GSVhfVjRCWF9TUEVDIEVBQklfTElOS19TUEVDCQkJXAorICAgTElOVVhfT1JfQU5EUk9JRF9MRCAoTElOVVhfVEFSR0VUX0xJTktfU1BFQywJCQkJXAorIAkJICAgICAgIExJTlVYX1RBUkdFVF9MSU5LX1NQRUMgIiAiIEFORFJPSURfTElOS19TUEVDKQorIAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNy1Vc2UtdGhlLW11bHRpbGliLWNvbmZpZy1maWxlcy1mcm9tLUItaW5zdGVhZC1vZi11c2luLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNy1Vc2UtdGhlLW11bHRpbGliLWNvbmZpZy1maWxlcy1mcm9tLUItaW5zdGVhZC1vZi11c2luLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4MmZlY2QKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDE3LVVzZS10aGUtbXVsdGlsaWItY29uZmlnLWZpbGVzLWZyb20tQi1pbnN0ZWFkLW9mLXVzaW4ucGF0Y2gKQEAgLTAsMCArMSwxMDIgQEAKK0Zyb20gNjI0ZGI3MzRmNjU2YWQ4Y2RmOGIzY2YzZmM4ZTg2MGI3MGM2YzI1MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjMzOjA0ICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMTcvNDBdIFVzZSB0aGUgbXVsdGlsaWIgY29uZmlnIGZpbGVzIGZyb20gJHtCfSBpbnN0ZWFkIG9mCisgdXNpbmcgdGhlIG9uZXMgZnJvbSAke1N9CisKK1VzZSB0aGUgbXVsdGlsaWIgY29uZmlnIGZpbGVzIGZyb20gJHtCfSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBvbmVzIGZyb20gJHtTfQorc28gdGhhdCB0aGUgc291cmNlIGNhbiBiZSBzaGFyZWQgYmV0d2VlbiBnY2MtY3Jvc3MtaW5pdGlhbCwKK2djYy1jcm9zcy1pbnRlcm1lZGlhdGUsIGdjYy1jcm9zcywgZ2NjLXJ1bnRpbWUsIGFuZCBhbHNvIHRoZSBzZGsgYnVpbGQuCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKy0tLQorIGdjYy9jb25maWd1cmUgICAgfCAyMiArKysrKysrKysrKysrKysrKystLS0tCisgZ2NjL2NvbmZpZ3VyZS5hYyB8IDIyICsrKysrKysrKysrKysrKysrKy0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQoraW5kZXggNTExMWVjMGFhYmIuLjNkOWRjYmRjOTNkIDEwMDc1NQorLS0tIGEvZ2NjL2NvbmZpZ3VyZQorKysrIGIvZ2NjL2NvbmZpZ3VyZQorQEAgLTEyMTM4LDEwICsxMjEzOCwyMCBAQCBkb25lCisgdG1ha2VfZmlsZV89CisgZm9yIGYgaW4gJHt0bWFrZV9maWxlfQorIGRvCistCWlmIHRlc3QgLWYgJHtzcmNkaXJ9L2NvbmZpZy8kZgorLQl0aGVuCistCQl0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCistCWZpCisrICBjYXNlICRmIGluCisrICAgICovdC1saW51eDY0ICkKKysgICAgICAgaWYgdGVzdCAtZiAuL2NvbmZpZy8kZgorKyAgICAgICB0aGVuCisrICAgICAgICAgdG1ha2VfZmlsZV89IiR7dG1ha2VfZmlsZV99IC4vY29uZmlnLyRmIgorKyAgICAgICBmaQorKyAgICAgICA7OworKyAgICAqICkKKysgICAgICAgaWYgdGVzdCAtZiAke3NyY2Rpcn0vY29uZmlnLyRmCisrICAgICAgIHRoZW4KKysgICAgICAgICB0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCisrICAgICAgIGZpCisrICAgICAgIDs7CisrICBlc2FjCisgZG9uZQorIHRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZV99IgorIAorQEAgLTEyMTUyLDYgKzEyMTYyLDEwIEBAIHRtX2ZpbGVfbGlzdD0ib3B0aW9ucy5oIgorIHRtX2luY2x1ZGVfbGlzdD0ib3B0aW9ucy5oIGluc24tY29uc3RhbnRzLmgiCisgZm9yIGYgaW4gJHRtX2ZpbGU7IGRvCisgICBjYXNlICRmIGluCisrICAgICovbGludXg2NC5oICkKKysgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi9jb25maWcvJGYiCisrICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9IC4vY29uZmlnLyRmIgorKyAgICAgICA7OworICAgICAuLyogKQorICAgICAgICBmPWBlY2hvICRmIHwgc2VkICdzL14uLi8vJ2AKKyAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gJGYiCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKK2luZGV4IDNlMDlhZjkxNmZkLi5lMDljODQwYjYwNSAxMDA2NDQKKy0tLSBhL2djYy9jb25maWd1cmUuYWMKKysrKyBiL2djYy9jb25maWd1cmUuYWMKK0BAIC0xOTAyLDEwICsxOTAyLDIwIEBAIGRvbmUKKyB0bWFrZV9maWxlXz0KKyBmb3IgZiBpbiAke3RtYWtlX2ZpbGV9CisgZG8KKy0JaWYgdGVzdCAtZiAke3NyY2Rpcn0vY29uZmlnLyRmCistCXRoZW4KKy0JCXRtYWtlX2ZpbGVfPSIke3RtYWtlX2ZpbGVffSBcJChzcmNkaXIpL2NvbmZpZy8kZiIKKy0JZmkKKysgIGNhc2UgJGYgaW4KKysgICAgKi90LWxpbnV4NjQgKQorKyAgICAgICBpZiB0ZXN0IC1mIC4vY29uZmlnLyRmCisrICAgICAgIHRoZW4KKysgICAgICAgICB0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gLi9jb25maWcvJGYiCisrICAgICAgIGZpCisrICAgICAgIDs7CisrICAgICogKQorKyAgICAgICBpZiB0ZXN0IC1mICR7c3JjZGlyfS9jb25maWcvJGYKKysgICAgICAgdGhlbgorKyAgICAgICAgIHRtYWtlX2ZpbGVfPSIke3RtYWtlX2ZpbGVffSBcJChzcmNkaXIpL2NvbmZpZy8kZiIKKysgICAgICAgZmkKKysgICAgICAgOzsKKysgIGVzYWMKKyBkb25lCisgdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlX30iCisgCitAQCAtMTkxNiw2ICsxOTI2LDEwIEBAIHRtX2ZpbGVfbGlzdD0ib3B0aW9ucy5oIgorIHRtX2luY2x1ZGVfbGlzdD0ib3B0aW9ucy5oIGluc24tY29uc3RhbnRzLmgiCisgZm9yIGYgaW4gJHRtX2ZpbGU7IGRvCisgICBjYXNlICRmIGluCisrICAgICovbGludXg2NC5oICkKKysgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi9jb25maWcvJGYiCisrICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9IC4vY29uZmlnLyRmIgorKyAgICAgICA7OworICAgICAuLyogKQorICAgICAgICBmPWBlY2hvICRmIHwgc2VkICdzL14uLi8vJ2AKKyAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gJGYiCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDE4LUF2b2lkLXVzaW5nLWxpYmRpci1mcm9tLS5sYS13aGljaC11c3VhbGx5LXBvaW50cy10by0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDE4LUF2b2lkLXVzaW5nLWxpYmRpci1mcm9tLS5sYS13aGljaC11c3VhbGx5LXBvaW50cy10by0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBlNzdkNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTgtQXZvaWQtdXNpbmctbGliZGlyLWZyb20tLmxhLXdoaWNoLXVzdWFsbHktcG9pbnRzLXRvLS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDI3Y2NhOTVkY2ZlZWFkOGM1MmQyOTJjNDgyNGVlOTZmMTc4ZDYxODMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyMCBGZWIgMjAxNSAwOTozOTozOCArMDAwMAorU3ViamVjdDogW1BBVENIIDE4LzQwXSBBdm9pZCB1c2luZyBsaWJkaXIgZnJvbSAubGEgd2hpY2ggdXN1YWxseSBwb2ludHMgdG8gYQorIGhvc3QgcGF0aAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBKb25hdGhhbiBMaXUgPG5ldDE0N0BnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbHRtYWluLnNoIHwgMyArKysKKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9sdG1haW4uc2ggYi9sdG1haW4uc2gKK2luZGV4IDAxMjFmYmE3MDdmLi41MmJkYmRiNWY5YyAxMDA2NDQKKy0tLSBhL2x0bWFpbi5zaAorKysrIGIvbHRtYWluLnNoCitAQCAtNTYyOCw2ICs1NjI4LDkgQEAgZnVuY19tb2RlX2xpbmsgKCkKKyAJICAgIGFic2Rpcj0iJGFic19sYWRpciIKKyAJICAgIGxpYmRpcj0iJGFic19sYWRpciIKKyAJICBlbHNlCisrCSAgICAjIEluc3RlYWQgb2YgdXNpbmcgbGliZGlyIGZyb20gLmxhIHdoaWNoIHVzdWFsbHkgcG9pbnRzIHRvIGEgaG9zdCBwYXRoLAorKwkgICAgIyB1c2UgdGhlIHBhdGggdGhlIC5sYSBpcyBjb250YWluZWQgaW4uCisrCSAgICBsaWJkaXI9IiRhYnNfbGFkaXIiCisgCSAgICBkaXI9IiRsaWJkaXIiCisgCSAgICBhYnNkaXI9IiRsaWJkaXIiCisgCSAgZmkKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTktZXhwb3J0LUNQUC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTktZXhwb3J0LUNQUC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDBjNjdhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxOS1leHBvcnQtQ1BQLnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKK0Zyb20gYTI5MzYzODJkYTgxYWVmYTliNjljMWZjNjI1ZjZjNzA2YjdlYTFkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDIwIEZlYiAyMDE1IDA5OjQwOjU5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMTkvNDBdIGV4cG9ydCBDUFAKKworVGhlIE9FIGVudmlyb25tZW50IHNldHMgYW5kIGV4cG9ydHMgQ1BQIGFzIGJlaW5nIHRoZSB0YXJnZXQgZ2NjLiBXaGVuCitidWlsZGluZyBnY2MtY3Jvc3MtY2FuYWRpYW4gZm9yIGEgbWluZ3cgdGFyZ2V0dGVkIHNkaywgdGhlIGZvbGxvd2luZyBjYW4gYmUgZm91bmQKK2luIGJ1aWxkLng4Nl82NC1wb2t5c2RrLW1pbmd3MzIuaTU4Ni1wb2t5LWxpbnV4L2J1aWxkLXg4Nl82NC1saW51eC9saWJpYmVydHkvY29uZmlnLmxvZzoKKworY29uZmlndXJlOjM2NDE6IGNoZWNraW5nIGZvciBfRklMRV9PRkZTRVRfQklUUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzCitjb25maWd1cmU6MzY2NjogZ2NjICAtYyAtaXN5c3RlbS9tZWRpYS9idWlsZDEvcG9reS9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9pbmNsdWRlIC1PMiAtcGlwZSAgY29uZnRlc3QuYyA+JjUKK2NvbmZpZ3VyZTozNjY2OiAkPyA9IDAKK2NvbmZpZ3VyZTozNjk4OiByZXN1bHQ6IG5vCitjb25maWd1cmU6Mzc4NjogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IKK2NvbmZpZ3VyZTozODU2OiByZXN1bHQ6IHg4Nl82NC1wb2t5c2RrLW1pbmd3MzItZ2NjIC1FIC0tc3lzcm9vdD0vbWVkaWEvYnVpbGQxL3Bva3kvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstbWluZ3czMi1wb2t5c2RrLW1pbmd3MzIKK2NvbmZpZ3VyZTozODc2OiB4ODZfNjQtcG9reXNkay1taW5ndzMyLWdjYyAtRSAtLXN5c3Jvb3Q9L21lZGlhL2J1aWxkMS9wb2t5L2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLW1pbmd3MzItcG9reXNkay1taW5ndzMyIGNvbmZ0ZXN0LmMKK2NvbmZpZ3VyZTozODc2OiAkPyA9IDAKKworTm90ZSB0aGlzIGlzIGEgKmJ1aWxkKiB0YXJnZXQgKGluIGJ1aWxkLXg4Nl82NC1saW51eCkgc28gaXQgc2hvdWxkIGJlCit1c2luZyB0aGUgaG9zdCAiZ2NjIiwgbm90IHg4Nl82NC1wb2t5c2RrLW1pbmd3MzItZ2NjLiBTaW5jZSB0aGUgbWluZ3czMgoraGVhZGVycyBhcmUgdmVyeSBkaWZmZXJlbnQsIHVzaW5nIHRoZSB3cm9uZyBjcHAgaXMgYSByZWFsIHByb2JsZW0uIEl0IGlzIGxlYWtpbmcKK2ludG8gY29uZmlndXJlIHRocm91Z2ggdGhlIENQUCB2YXJpYWJsZS4gVWx0aW1hdGVseSB0aGlzIGxlYWRzIHRvIGJ1aWxkCitmYWlsdXJlcyByZWxhdGVkIHRvIG5vdCBiZWluZyBhYmxlIHRvIGluY2x1ZGUgYSBwcm9jZXNzLmggZmlsZSBmb3IgcGVtLXVuaXguYy4KKworVGhlIGZpeCBpcyB0byBlbnN1cmUgd2UgZXhwb3J0IGEgc2FuZSBDUFAgdmFsdWUgaW50byB0aGUgYnVpbGQKK2Vudmlyb25tZW50IHdoZW4gdXNpbmcgYnVpbGQgdGFyZ2V0cy4gV2UgY291bGQgZGVmaW5lIGEgQ1BQX0ZPUl9CVUlMRCB2YWx1ZSB3aGljaCBtYXkgYmUKK3RoZSB2ZXJzaW9uIHdoaWNoIG5lZWRzIHRvIGJlIHVwc3RyZWFtZWQgYnV0IGZvciBub3csIHRoaXMgZml4IGlzIGdvb2QgZW5vdWdoIHRvCithdm9pZCB0aGUgcHJvYmxlbS4KKworUlAgMjIvMDgvMjAxMworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmluIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCitpbmRleCAzODc3NGY1NDJhNi4uYjQyNmQ0ZjkzNTAgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5pbgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC0xNDksNiArMTQ5LDcgQEAgQlVJTERfRVhQT1JUUyA9IFwKKyAJQVI9IiQoQVJfRk9SX0JVSUxEKSI7IGV4cG9ydCBBUjsgXAorIAlBUz0iJChBU19GT1JfQlVJTEQpIjsgZXhwb3J0IEFTOyBcCisgCUNDPSIkKENDX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0M7IFwKKysJQ1BQPSIkKENDX0ZPUl9CVUlMRCkgLUUiOyBleHBvcnQgQ1BQOyBcCisgCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDRkxBR1M7IFwKKyAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKKyAJQ1hYPSIkKENYWF9GT1JfQlVJTEQpIjsgZXhwb3J0IENYWDsgXAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyMC1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyMC1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMjU1N2UKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDIwLURpc2FibGUtdGhlLU1VTFRJTElCX09TRElSTkFNRVMtYW5kLW90aGVyLW11bHRpbGliLW8ucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSBkNDMyNmFiNzRhMzYyYjBmYzgzZWQ4NjZmODJjMzU5Mzg5YTM2YWRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTA6MjE6NTUgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAyMC80MF0gRGlzYWJsZSB0aGUgTVVMVElMSUJfT1NESVJOQU1FUyBhbmQgb3RoZXIgbXVsdGlsaWIKKyBvcHRpb25zLgorCitIYXJkIGNvZGluZyB0aGUgTVVMVElMSUJfT1NESVJOQU1FUyB3aXRoIC4uL2xpYjY0IGlzIGNhdXNpbmcgcHJvYmxlbXMgb24KK3N5c3RlbXMgd2hlcmUgdGhlIGxpYmRpciBpcyBOT1Qgc2V0IHRvIC9saWI2NC4gIFRoaXMgaXMgYWxsb3dlZCBieSB0aGUKK0FCSSwgYXMKK2xvbmcgYXMgdGhlIGR5bmFtaWMgbG9hZGVyIGlzIHByZXNlbnQgaW4gL2xpYi4KKworV2Ugc2ltcGx5IHdhbnQgdG8gdXNlIHRoZSBkZWZhdWx0IHJ1bGVzIGluIGdjYyB0byBmaW5kIGFuZCBjb25maWd1cmUgdGhlCitub3JtYWwgbGliZGlyLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGVbT0UtU3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0LWxpbnV4IHwgOCArKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0LWxpbnV4IGIvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAoraW5kZXggYjk4OTc3ODVhODkuLjdkMDZmMGQwZWRiIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAorKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAorQEAgLTIxLDggKzIxLDggQEAKKyBMSUIxQVNNU1JDICAgPSBhYXJjaDY0L2xpYjFmdW5jcy5hc20KKyBMSUIxQVNNRlVOQ1MgPSBfYWFyY2g2NF9zeW5jX2NhY2hlX3JhbmdlCisgCistQUFSQ0hfQkUgPSAkKGlmICQoZmluZHN0cmluZyBUQVJHRVRfQklHX0VORElBTl9ERUZBVUxUPTEsICQodG1fZGVmaW5lcykpLF9iZSkKKy1NVUxUSUxJQl9PU0RJUk5BTUVTID0gbWFiaS5scDY0PS4uL2xpYjY0JChjYWxsIGlmX211bHRpYXJjaCw6YWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKKy1NVUxUSUFSQ0hfRElSTkFNRSA9ICQoY2FsbCBpZl9tdWx0aWFyY2gsYWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKKysjQUFSQ0hfQkUgPSAkKGlmICQoZmluZHN0cmluZyBUQVJHRVRfQklHX0VORElBTl9ERUZBVUxUPTEsICQodG1fZGVmaW5lcykpLF9iZSkKKysjTVVMVElMSUJfT1NESVJOQU1FUyA9IG1hYmkubHA2ND0uLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnUpCisrI01VTFRJQVJDSF9ESVJOQU1FID0gJChjYWxsIGlmX211bHRpYXJjaCxhYXJjaDY0JChBQVJDSF9CRSktbGludXgtZ251KQorIAorLU1VTFRJTElCX09TRElSTkFNRVMgKz0gbWFiaS5pbHAzMj0uLi9saWJpbHAzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnVfaWxwMzIpCisrI01VTFRJTElCX09TRElSTkFNRVMgKz0gbWFiaS5pbHAzMj0uLi9saWJpbHAzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnVfaWxwMzIpCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDIxLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyMS1FbnN1cmUtdGFyZ2V0LWdjYy1oZWFkZXJzLWNhbi1iZS1pbmNsdWRlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGQ3MjY5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyMS1FbnN1cmUtdGFyZ2V0LWdjYy1oZWFkZXJzLWNhbi1iZS1pbmNsdWRlZC5wYXRjaApAQCAtMCwwICsxLDk4IEBACitGcm9tIDQ3NmVkYTkwNTRkZjQ0M2QwOTQyNzNjOGI2MWZjZTYzZDk0MGFkZmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyMCBGZWIgMjAxNSAxMDoyNToxMSArMDAwMAorU3ViamVjdDogW1BBVENIIDIxLzQwXSBFbnN1cmUgdGFyZ2V0IGdjYyBoZWFkZXJzIGNhbiBiZSBpbmNsdWRlZAorCitUaGVyZSBhcmUgYSBmZXcgaGVhZGVycyBpbnN0YWxsZWQgYXMgcGFydCBvZiB0aGUgT3BlbkVtYmVkZGVkCitnY2MtcnVudGltZSB0YXJnZXQgKG9tcC5oLCBzc3AvKi5oKS4gQmVpbmcgaW5zdGFsbGVkIGZyb20gYSByZWNpcGUKK2J1aWx0IGZvciB0aGUgdGFyZ2V0IGFyY2hpdGVjdHVyZSwgdGhlc2UgYXJlIHdpdGhpbiB0aGUgdGFyZ2V0CitzeXNyb290IGFuZCBub3QgY3Jvc3MvbmF0aXZlc2RrOyB0aHVzIHRoZXkgd2VyZW4ndCBhYmxlIHRvIGJlCitmb3VuZCBieSBnY2Mgd2l0aCB0aGUgZXhpc3Rpbmcgc2VhcmNoIHBhdGhzLiBBZGQgc3VwcG9ydCBmb3IKK3BpY2tpbmcgdXAgdGhlc2UgaGVhZGVycyB1bmRlciB0aGUgc3lzcm9vdCBzdXBwbGllZCBvbiB0aGUgZ2NjCitjb21tYW5kIGxpbmUgaW4gb3JkZXIgdG8gcmVzb2x2ZSB0aGlzLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL01ha2VmaWxlLmluICB8IDIgKysKKyBnY2MvY3BwZGVmYXVsdC5jIHwgNCArKysrCisgZ2NjL2RlZmF1bHRzLmggICB8IDkgKysrKysrKysrCisgZ2NjL2djYy5jICAgICAgICB8IDcgLS0tLS0tLQorIDQgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9NYWtlZmlsZS5pbiBiL2djYy9NYWtlZmlsZS5pbgoraW5kZXggNzFhODI3NWMzOWYuLjVhZTY5M2ZiMDZjIDEwMDY0NAorLS0tIGEvZ2NjL01ha2VmaWxlLmluCisrKysgYi9nY2MvTWFrZWZpbGUuaW4KK0BAIC02MTQsNiArNjE0LDcgQEAgbGliZXhlY2RpciA9IEBsaWJleGVjZGlyQAorIAorICMgRGlyZWN0b3J5IGluIHdoaWNoIHRoZSBjb21waWxlciBmaW5kcyBsaWJyYXJpZXMgZXRjLgorIGxpYnN1YmRpciA9ICQobGliZGlyKS9nY2MvJChyZWFsX3RhcmdldF9ub25jYW5vbmljYWwpLyQodmVyc2lvbikkKGFjY2VsX2Rpcl9zdWZmaXgpCisrbGlic3ViZGlyX3RhcmdldCA9IGdjYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQodmVyc2lvbikKKyAjIERpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tcGlsZXIgZmluZHMgZXhlY3V0YWJsZXMKKyBsaWJleGVjc3ViZGlyID0gJChsaWJleGVjZGlyKS9nY2MvJChyZWFsX3RhcmdldF9ub25jYW5vbmljYWwpLyQodmVyc2lvbikkKGFjY2VsX2Rpcl9zdWZmaXgpCisgIyBEaXJlY3RvcnkgaW4gd2hpY2ggYWxsIHBsdWdpbiByZXNvdXJjZXMgYXJlIGluc3RhbGxlZAorQEAgLTI4NzAsNiArMjg3MSw3IEBAIENGTEFHUy1pbnRsLm8gKz0gLURMT0NBTEVESVI9XCIkKGxvY2FsZWRpcilcIgorIAorIFBSRVBST0NFU1NPUl9ERUZJTkVTID0gXAorICAgLURHQ0NfSU5DTFVERV9ESVI9XCIkKGxpYnN1YmRpcikvaW5jbHVkZVwiIFwKKysgIC1ER0NDX0lOQ0xVREVfU1VCRElSX1RBUkdFVD1cIiQobGlic3ViZGlyX3RhcmdldCkvaW5jbHVkZVwiIFwKKyAgIC1ERklYRURfSU5DTFVERV9ESVI9XCIkKGxpYnN1YmRpcikvaW5jbHVkZS1maXhlZFwiIFwKKyAgIC1ER1BMVVNQTFVTX0lOQ0xVREVfRElSPVwiJChnY2NfZ3h4X2luY2x1ZGVfZGlyKVwiIFwKKyAgIC1ER1BMVVNQTFVTX0lOQ0xVREVfRElSX0FERF9TWVNST09UPSQoZ2NjX2d4eF9pbmNsdWRlX2Rpcl9hZGRfc3lzcm9vdCkgXAorZGlmZiAtLWdpdCBhL2djYy9jcHBkZWZhdWx0LmMgYi9nY2MvY3BwZGVmYXVsdC5jCitpbmRleCBiMzZhOTc5ZDViYS4uZTJlMTg3ZGVkYWYgMTAwNjQ0CistLS0gYS9nY2MvY3BwZGVmYXVsdC5jCisrKysgYi9nY2MvY3BwZGVmYXVsdC5jCitAQCAtNTksNiArNTksMTAgQEAgY29uc3Qgc3RydWN0IGRlZmF1bHRfaW5jbHVkZSBjcHBfaW5jbHVkZV9kZWZhdWx0c1tdCisgICAgIC8qIFRoaXMgaXMgdGhlIGRpciBmb3IgZ2NjJ3MgcHJpdmF0ZSBoZWFkZXJzLiAgKi8KKyAgICAgeyBHQ0NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCisgI2VuZGlmCisrI2lmZGVmIEdDQ19JTkNMVURFX1NVQkRJUl9UQVJHRVQKKysgICAgLyogVGhpcyBpcyB0aGUgZGlyIGZvciBnY2MncyBwcml2YXRlIGhlYWRlcnMgdW5kZXIgdGhlIHNwZWNpZmllZCBzeXNyb290LiAgKi8KKysgICAgeyBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIgR0NDX0lOQ0xVREVfU1VCRElSX1RBUkdFVCwgIkdDQyIsIDAsIDAsIDEsIDAgfSwKKysjZW5kaWYKKyAjaWZkZWYgTE9DQUxfSU5DTFVERV9ESVIKKyAgICAgLyogL3Vzci9sb2NhbC9pbmNsdWRlIGNvbWVzIGJlZm9yZSB0aGUgZml4aW5jbHVkZWQgaGVhZGVyIGZpbGVzLiAgKi8KKyAgICAgeyBMT0NBTF9JTkNMVURFX0RJUiwgMCwgMCwgMSwgMSwgMiB9LAorZGlmZiAtLWdpdCBhL2djYy9kZWZhdWx0cy5oIGIvZ2NjL2RlZmF1bHRzLmgKK2luZGV4IDkwMzViMzMzYmU4Li41OTgyYmJkYTYxZCAxMDA2NDQKKy0tLSBhL2djYy9kZWZhdWx0cy5oCisrKysgYi9nY2MvZGVmYXVsdHMuaAorQEAgLTE0NTUsNCArMTQ1NSwxMyBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKKyAjZGVmaW5lIERXQVJGX0dOQVRfRU5DT0RJTkdTX0RFRkFVTFQgRFdBUkZfR05BVF9FTkNPRElOR1NfR0RCCisgI2VuZGlmCisgCisrLyogRGVmYXVsdCBwcmVmaXhlcyB0byBhdHRhY2ggdG8gY29tbWFuZCBuYW1lcy4gICovCisrCisrI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzEKKysjZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMSAiL2xpYi8iCisrI2VuZGlmCisrI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIKKysjZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiAiL3Vzci9saWIvIgorKyNlbmRpZgorKworICNlbmRpZiAgLyogISBHQ0NfREVGQVVMVFNfSCAqLworZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYworaW5kZXggNTcwY2RjMDAwMzQuLjNmYjY0ZDQ1M2YxIDEwMDY0NAorLS0tIGEvZ2NjL2djYy5jCisrKysgYi9nY2MvZ2NjLmMKK0BAIC0xNDY0LDEzICsxNDY0LDYgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmdjY19saWJleGVjX3ByZWZpeDsKKyAKKyAvKiBEZWZhdWx0IHByZWZpeGVzIHRvIGF0dGFjaCB0byBjb21tYW5kIG5hbWVzLiAgKi8KKyAKKy0jaWZuZGVmIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMQorLSNkZWZpbmUgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8xICIvbGliLyIKKy0jZW5kaWYKKy0jaWZuZGVmIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMgorLSNkZWZpbmUgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yICIvdXNyL2xpYi8iCistI2VuZGlmCistCisgI2lmZGVmIENST1NTX0RJUkVDVE9SWV9TVFJVQ1RVUkUgIC8qIERvbid0IHVzZSB0aGVzZSBwcmVmaXhlcyBmb3IgYSBjcm9zcyBjb21waWxlci4gICovCisgI3VuZGVmIE1EX0VYRUNfUFJFRklYCisgI3VuZGVmIE1EX1NUQVJURklMRV9QUkVGSVgKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjItZ2NjLTQuOC13b24tdC1idWlsZC13aXRoLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjItZ2NjLTQuOC13b24tdC1idWlsZC13aXRoLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjBkM2YxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyMi1nY2MtNC44LXdvbi10LWJ1aWxkLXdpdGgtZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nLnBhdGNoCkBAIC0wLDAgKzEsNTQgQEAKK0Zyb20gYmMxOTJmMGEwN2FkODE5ZGVlOTM0NDZjNWVmNjg5NWQ5NTUwZDkyZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDIwIEZlYiAyMDE1IDExOjE3OjE5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMjIvNDBdIGdjYyA0LjgrIHdvbid0IGJ1aWxkIHdpdGggLS1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcKKworc2luY2UgdGhlICouUHBvIGZpbGVzIGRvbid0IGdldCBjcmVhdGVkIHVubGVzcyAtLWVuYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nIGlzIHRydWUuCisKK1RoaXMgcGF0Y2ggZW5zdXJlcyB3ZSBvbmx5IHVzZSB0aG9zZSBjb21waWxlciBvcHRpb25zIHdoZW4gaXRzIGVuYWJsZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCisKKyhQcm9ibGVtIHdhcyBhbHJlYWR5IHJlcG9ydGVkIHVwc3RyZWFtLCBhdHRhY2hlZCB0aGlzIHBhdGNoIHRoZXJlCitodHRwOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTU1OTMwKQorCitSUAorMjAxMi8wOS8yMgorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbGliYXRvbWljL01ha2VmaWxlLmFtIHwgMyArKy0KKyBsaWJhdG9taWMvTWFrZWZpbGUuaW4gfCAzICsrLQorIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYXRvbWljL01ha2VmaWxlLmFtIGIvbGliYXRvbWljL01ha2VmaWxlLmFtCitpbmRleCA4MDNiMjkyY2NlNS4uYjQ3ODQyZWI1OTAgMTAwNjQ0CistLS0gYS9saWJhdG9taWMvTWFrZWZpbGUuYW0KKysrKyBiL2xpYmF0b21pYy9NYWtlZmlsZS5hbQorQEAgLTEwMSw3ICsxMDEsOCBAQCBQQVRfUwkJPSAkKHdvcmQgMywkKFBBVF9TUExJVCkpCisgSUZVTkNfREVGCT0gLURJRlVOQ19BTFQ9JChQQVRfUykKKyBJRlVOQ19PUFQJPSAkKHdvcmQgJChQQVRfUyksJChJRlVOQ19PUFRJT05TKSkKKyAKKy1NX0RFUFMJCT0gLU1UICRAIC1NRCAtTVAgLU1GICQoREVQRElSKS8kKEBGKS5QcG8KKytAQU1ERVBfVFJVRUBNX0RFUFMJCT0gLU1UICRAIC1NRCAtTVAgLU1GICQoREVQRElSKS8kKEBGKS5QcG8KKytAQU1ERVBfRkFMU0VATV9ERVBTCQk9CisgTV9TSVpFCQk9IC1ETj0kKFBBVF9OKQorIE1fSUZVTkMJCT0gJChpZiAkKFBBVF9TKSwkKElGVU5DX0RFRikgJChJRlVOQ19PUFQpKQorIE1fRklMRQkJPSAkKFBBVF9CQVNFKV9uLmMKK2RpZmYgLS1naXQgYS9saWJhdG9taWMvTWFrZWZpbGUuaW4gYi9saWJhdG9taWMvTWFrZWZpbGUuaW4KK2luZGV4IGM4ZjM4YmU1ODM1Li40ZmFiN2NlYzNlYSAxMDA2NDQKKy0tLSBhL2xpYmF0b21pYy9NYWtlZmlsZS5pbgorKysrIGIvbGliYXRvbWljL01ha2VmaWxlLmluCitAQCAtMzM1LDcgKzMzNSw4IEBAIFBBVF9OID0gJCh3b3JkIDIsJChQQVRfU1BMSVQpKQorIFBBVF9TID0gJCh3b3JkIDMsJChQQVRfU1BMSVQpKQorIElGVU5DX0RFRiA9IC1ESUZVTkNfQUxUPSQoUEFUX1MpCisgSUZVTkNfT1BUID0gJCh3b3JkICQoUEFUX1MpLCQoSUZVTkNfT1BUSU9OUykpCistTV9ERVBTID0gLU1UICRAIC1NRCAtTVAgLU1GICQoREVQRElSKS8kKEBGKS5QcG8KKytAQU1ERVBfVFJVRUBNX0RFUFMgPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbworK0BBTURFUF9GQUxTRUBNX0RFUFMgPQorIE1fU0laRSA9IC1ETj0kKFBBVF9OKQorIE1fSUZVTkMgPSAkKGlmICQoUEFUX1MpLCQoSUZVTkNfREVGKSAkKElGVU5DX09QVCkpCisgTV9GSUxFID0gJChQQVRfQkFTRSlfbi5jCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDIzLURvbi10LXNlYXJjaC1ob3N0LWRpcmVjdG9yeS1kdXJpbmctcmVsaW5rLWlmLWluc3RfcHIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDIzLURvbi10LXNlYXJjaC1ob3N0LWRpcmVjdG9yeS1kdXJpbmctcmVsaW5rLWlmLWluc3RfcHIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmUzZjM0MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjMtRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIDA0MDlkMmRkNzMyMmVjYmVkNzMxY2JlMjliMDM0ZmVhNDNjNWRkZGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAzIE1hciAyMDE1IDA4OjIxOjE5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMjMvNDBdIERvbid0IHNlYXJjaCBob3N0IGRpcmVjdG9yeSBkdXJpbmcgInJlbGluayIgaWYKKyAkaW5zdF9wcmVmaXggaXMgcHJvdmlkZWQKKworaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2xpYnRvb2wtcGF0Y2hlcy8yMDExLTAxL21zZzAwMDI2Lmh0bWwKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGx0bWFpbi5zaCB8IDUgKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCitpbmRleCA1MmJkYmRiNWY5Yy4uODJiY2VjMzlmMDUgMTAwNjQ0CistLS0gYS9sdG1haW4uc2gKKysrKyBiL2x0bWFpbi5zaAorQEAgLTYwMDQsMTIgKzYwMDQsMTMgQEAgZnVuY19tb2RlX2xpbmsgKCkKKyAJICAgICAgZmkKKyAJICAgIGVsc2UKKyAJICAgICAgIyBXZSBjYW5ub3Qgc2VlbSB0byBoYXJkY29kZSBpdCwgZ3Vlc3Mgd2UnbGwgZmFrZSBpdC4KKysJICAgICAgIyBEZWZhdWx0IGlmICRsaWJkaXIgaXMgbm90IHJlbGF0aXZlIHRvIHRoZSBwcmVmaXg6CisgCSAgICAgIGFkZF9kaXI9Ii1MJGxpYmRpciIKKy0JICAgICAgIyBUcnkgbG9va2luZyBmaXJzdCBpbiB0aGUgbG9jYXRpb24gd2UncmUgYmVpbmcgaW5zdGFsbGVkIHRvLgorKworIAkgICAgICBpZiB0ZXN0IC1uICIkaW5zdF9wcmVmaXhfZGlyIjsgdGhlbgorIAkJY2FzZSAkbGliZGlyIGluCisgCQkgIFtcXC9dKikKKy0JCSAgICBhZGRfZGlyPSIkYWRkX2RpciAtTCRpbnN0X3ByZWZpeF9kaXIkbGliZGlyIgorKwkJICAgIGFkZF9kaXI9Ii1MJGluc3RfcHJlZml4X2RpciRsaWJkaXIiCisgCQkgICAgOzsKKyAJCWVzYWMKKyAJICAgICAgZmkKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjQtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjQtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzg4YTBhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNC1Vc2UtU1lTVEVNTElCU19ESVItcmVwbGFjZW1lbnQtaW5zdGVhZC1vZi1oYXJkY29kaW5nLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gNTZlMmUxZmMyYTI3YzRhNWNjOWI0NzFkNWQwYWY5MGJjYjg3MWJmYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI4IEFwciAyMDE1IDIzOjE1OjI3IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMjQvNDBdIFVzZSBTWVNURU1MSUJTX0RJUiByZXBsYWNlbWVudCBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgYmFzZV9saWJkaXIKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaCBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKK2luZGV4IGJmMTMyN2U5OGNjLi42NDQzNjE4M2JjOCAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKKysrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKK0BAIC0yMSw3ICsyMSw3IEBACisgI2lmbmRlZiBHQ0NfQUFSQ0g2NF9MSU5VWF9ICisgI2RlZmluZSBHQ0NfQUFSQ0g2NF9MSU5VWF9ICisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKKysjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtYWFyY2g2NCV7bWJpZy1lbmRpYW46X2JlfSV7bWFiaT1pbHAzMjpfaWxwMzJ9LnNvLjEiCisgCisgI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIKKyAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbXVzbC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjUtYWFyY2g2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNS1hYXJjaDY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDNmOTcyNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjUtYWFyY2g2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gYjE0MmU3N2U0NGUxYWNlY2U2ZGE1NGNjZGMyNGM0ZGE4OWNmNGI5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI4IEFwciAyMDE1IDIzOjE4OjM5IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMjUvNDBdIGFhcmNoNjQ6IEFkZCBzdXBwb3J0IGZvciBtdXNsIGxkc28KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaCBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKK2luZGV4IDY0NDM2MTgzYmM4Li5iYTE1NjY3NjAyNiAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKKysrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKK0BAIC0yNCw3ICsyNCw3IEBACisgI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LWFhcmNoNjQle21iaWctZW5kaWFuOl9iZX0le21hYmk9aWxwMzI6X2lscDMyfS5zby4xIgorIAorICN1bmRlZiBNVVNMX0RZTkFNSUNfTElOS0VSCistI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLW11c2wtYWFyY2g2NCV7bWJpZy1lbmRpYW46X2JlfSV7bWFiaT1pbHAzMjpfaWxwMzJ9LnNvLjEiCisrI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSICBTWVNURU1MSUJTX0RJUiAibGQtbXVzbC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKKyAKKyAjdW5kZWYgIEFTQU5fQ0MxX1NQRUMKKyAjZGVmaW5lIEFTQU5fQ0MxX1NQRUMgIiV7JTpzYW5pdGl6ZShhZGRyZXNzKTotZnVud2luZC10YWJsZXN9IgorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNi1saWJjYzEtZml4LWxpYmNjMS1zLWluc3RhbGwtcGF0aC1hbmQtcnBhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI2LWxpYmNjMS1maXgtbGliY2MxLXMtaW5zdGFsbC1wYXRoLWFuZC1ycGF0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NTkxNzM4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNi1saWJjYzEtZml4LWxpYmNjMS1zLWluc3RhbGwtcGF0aC1hbmQtcnBhdGgucGF0Y2gKQEAgLTAsMCArMSw1NCBAQAorRnJvbSAzZDRlNTNmYzdjZDcxY2UxMTgxYWY4YTVlOTY1NTM5ODg1N2FmNzQxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBTdW4sIDUgSnVsIDIwMTUgMjA6MjU6MTggLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAyNi80MF0gbGliY2MxOiBmaXggbGliY2MxJ3MgaW5zdGFsbCBwYXRoIGFuZCBycGF0aAorCisqIEluc3RhbGwgbGliY2MxLnNvIGFuZCBsaWJjYzFwbHVnaW4uc28gaW50bworICAkKGxpYmV4ZWNkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pLCBhcyB3aGF0IHdlCisgIGhhZCBkb25lIHRvIGx0by1wbHVnaW4uCisqIEZpeCBiYWQgUlBBVEggaXVzc3VlOgorICBnY2MtNS4yLjA6IHBhY2thZ2UgZ2NjLXBsdWdpbnMgY29udGFpbnMgYmFkIFJQQVRIIC9wYXRodC90by90bXAvc3lzcm9vdHMvcWVtdXg4Ni02NC91c3IvbGliNjQvLi4vbGliNjQgaW4gZmlsZQorIC9wYXRoL3RvL2djYy81LjIuMC1yMC9wYWNrYWdlcy1zcGxpdC9nY2MtcGx1Z2lucy91c3IvbGliNjQvZ2NjL3g4Nl82NC1wb2t5LWxpbnV4LzUuMi4wL3BsdWdpbi9saWJjYzFwbHVnaW4uc28uMC4wLjAKKyBbcnBhdGhzXQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIGNvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGliY2MxL01ha2VmaWxlLmFtIHwgNCArKy0tCisgbGliY2MxL01ha2VmaWxlLmluIHwgNCArKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJjYzEvTWFrZWZpbGUuYW0gYi9saWJjYzEvTWFrZWZpbGUuYW0KK2luZGV4IDZlY2I2NmI0MzY1Li42MzRjY2UzYzJhOSAxMDA2NDQKKy0tLSBhL2xpYmNjMS9NYWtlZmlsZS5hbQorKysrIGIvbGliY2MxL01ha2VmaWxlLmFtCitAQCAtMzcsOCArMzcsOCBAQCBsaWJpYmVydHkgPSAkKGlmICQod2lsZGNhcmQgJChsaWJpYmVydHlfbm9hc2FuKSksJChXYykkKGxpYmliZXJ0eV9ub2FzYW4pLCBcCisgCSAgICAkKFdjKSQobGliaWJlcnR5X25vcm1hbCkpKQorIGxpYmliZXJ0eV9kZXAgPSAkKHBhdHN1YnN0ICQoV2MpJSwlLCQobGliaWJlcnR5KSkKKyAKKy1wbHVnaW5kaXIgPSAkKGxpYmRpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikvcGx1Z2luCistY2MxbGliZGlyID0gJChsaWJkaXIpLyQobGlic3VmZml4KQorK2NjMWxpYmRpciA9ICQobGliZXhlY2RpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikKKytwbHVnaW5kaXIgPSAkKGNjMWxpYmRpcikKKyAKKyBpZiBFTkFCTEVfUExVR0lOCisgcGx1Z2luX0xUTElCUkFSSUVTID0gbGliY2MxcGx1Z2luLmxhIGxpYmNwMXBsdWdpbi5sYQorZGlmZiAtLWdpdCBhL2xpYmNjMS9NYWtlZmlsZS5pbiBiL2xpYmNjMS9NYWtlZmlsZS5pbgoraW5kZXggNDdiZTEwMDI1YWQuLjhkNTQ4MWQ4N2JkIDEwMDY0NAorLS0tIGEvbGliY2MxL01ha2VmaWxlLmluCisrKysgYi9saWJjYzEvTWFrZWZpbGUuaW4KK0BAIC0zMDMsOCArMzAzLDggQEAgbGliaWJlcnR5ID0gJChpZiAkKHdpbGRjYXJkICQobGliaWJlcnR5X25vYXNhbikpLCQoV2MpJChsaWJpYmVydHlfbm9hc2FuKSwgXAorIAkgICAgJChXYykkKGxpYmliZXJ0eV9ub3JtYWwpKSkKKyAKKyBsaWJpYmVydHlfZGVwID0gJChwYXRzdWJzdCAkKFdjKSUsJSwkKGxpYmliZXJ0eSkpCistcGx1Z2luZGlyID0gJChsaWJkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pL3BsdWdpbgorLWNjMWxpYmRpciA9ICQobGliZGlyKS8kKGxpYnN1ZmZpeCkKKytjYzFsaWJkaXIgPSAkKGxpYmV4ZWNkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pCisrcGx1Z2luZGlyID0gJChjYzFsaWJkaXIpCisgQEVOQUJMRV9QTFVHSU5fVFJVRUBwbHVnaW5fTFRMSUJSQVJJRVMgPSBsaWJjYzFwbHVnaW4ubGEgbGliY3AxcGx1Z2luLmxhCisgQEVOQUJMRV9QTFVHSU5fVFJVRUBjYzFsaWJfTFRMSUJSQVJJRVMgPSBsaWJjYzEubGEKKyBzaGFyZWRfc291cmNlID0gY2FsbGJhY2tzLmNjIGNhbGxiYWNrcy5oaCBjb25uZWN0aW9uLmNjIGNvbm5lY3Rpb24uaGggXAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNy1oYW5kbGUtc3lzcm9vdC1zdXBwb3J0LWZvci1uYXRpdmVzZGstZ2NjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNy1oYW5kbGUtc3lzcm9vdC1zdXBwb3J0LWZvci1uYXRpdmVzZGstZ2NjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiOTU1ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI3LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2gKQEAgLTAsMCArMSwyMTMgQEAKK0Zyb20gYzAzM2MxZGYxMWI2OTIyMTNkMDNkYjkxZDZjYzE0NWI0YWRlZGZhYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6Mzk6NTQgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAyNy80MF0gaGFuZGxlIHN5c3Jvb3Qgc3VwcG9ydCBmb3IgbmF0aXZlc2RrLWdjYworCitCZWluZyBhYmxlIHRvIGJ1aWxkIGEgbmF0aXZlc2RrIGdjYyBpcyB1c2VmdWwsIHBhcnRpY3VsYXJseSBpbiBjYXNlcword2hlcmUgdGhlIGhvc3QgY29tcGlsZXIgbWF5IGJlIG9mIGFuIGluY29tcGF0aWJsZSB2ZXJzaW9uIChvciBhIDMyCitiaXQgY29tcGlsZXIgaXMgbmVlZGVkKS4KKworU2FkbHksIGJ1aWxkaW5nIG5hdGl2ZXNkay1nY2MgaXMgbm90IHN0cmFpZ2h0IGZvcndhcmQuIFdlIGluc3RhbGwKK25hdGl2ZXNkay1nY2MgaW50byBhIHJlbG9jYXRhYmxlIGxvY2F0aW9uIGFuZCB0aGlzIG1lYW5zIHRoYXQgaXRzCitsaWJyYXJ5IGxvY2F0aW9ucyBjYW4gY2hhbmdlLiAiTm9ybWFsIiBzeXNyb290IHN1cHBvcnQgZG9lc24ndCBoZWxwCitpbiB0aGlzIGNhc2Ugc2luY2UgdGhlIHZhbHVlcyBvZiBwYXRocyBsaWtlICJsaWJkaXIiIGNoYW5nZSwgbm90IGp1c3QKK2Jhc2Ugcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHN5c3RlbS4KKworSW4gb3JkZXIgdG8gaGFuZGxlIHRoaXMgd2UgZG8gdHdvIHRoaW5nczoKKworYSkgQWRkICVyIGludG8gc3BlYyBmaWxlIG1hcmt1cCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgaW5qZWN0ZWQgcGF0aHMKKyAgIHN1Y2ggYXMgU1lTVEVNTElCU19ESVIgKHNlZSBnY2NfbXVsdGlsaWJfc2V0dXAoKSkuCitiKSBBZGQgb3RoZXIgcGF0aHMgd2hpY2ggbmVlZCByZWxvY2F0aW9uIGludG8gYSAuZ2NjcmVsb2NwcmVmaXggc2VjdGlvbgorICAgd2hpY2ggdGhlIHJlbG9jYXRpb24gY29kZSB3aWxsIG5vdGljZSBhbmQgYWRqdXN0IGF1dG9tYXRpY2FsbHkuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQorUlAgMjAxNS83LzI4CisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY3BwZGVmYXVsdC5jIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCisgZ2NjL2NwcGRlZmF1bHQuaCB8ICAzICsrLQorIGdjYy9nY2MuYyAgICAgICAgfCAyMCArKysrKysrKysrKysrLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jcHBkZWZhdWx0LmMgYi9nY2MvY3BwZGVmYXVsdC5jCitpbmRleCBlMmUxODdkZWRhZi4uMmZhYmEyYjFkNjMgMTAwNjQ0CistLS0gYS9nY2MvY3BwZGVmYXVsdC5jCisrKysgYi9nY2MvY3BwZGVmYXVsdC5jCitAQCAtMzUsNiArMzUsMzAgQEAKKyAjIHVuZGVmIENST1NTX0lOQ0xVREVfRElSCisgI2VuZGlmCisgCisrc3RhdGljIGNoYXIgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19JTkNMVURFX0RJUjsKKytzdGF0aWMgY2hhciBHQ0NfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gR0NDX0lOQ0xVREVfRElSOworK3N0YXRpYyBjaGFyIEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSOworK3N0YXRpYyBjaGFyIEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVI7Cisrc3RhdGljIGNoYXIgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VUOworKyNpZmRlZiBMT0NBTF9JTkNMVURFX0RJUgorK3N0YXRpYyBjaGFyIExPQ0FMX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IExPQ0FMX0lOQ0xVREVfRElSOworKyNlbmRpZgorKyNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKKytzdGF0aWMgY2hhciBQUkVGSVhfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gUFJFRklYX0lOQ0xVREVfRElSOworKyNlbmRpZgorKyNpZmRlZiBGSVhFRF9JTkNMVURFX0RJUgorK3N0YXRpYyBjaGFyIEZJWEVEX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEZJWEVEX0lOQ0xVREVfRElSOworKyNlbmRpZgorKyNpZmRlZiBDUk9TU19JTkNMVURFX0RJUgorK3N0YXRpYyBjaGFyIENST1NTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IENST1NTX0lOQ0xVREVfRElSOworKyNlbmRpZgorKyNpZmRlZiBUT09MX0lOQ0xVREVfRElSCisrc3RhdGljIGNoYXIgVE9PTF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBUT09MX0lOQ0xVREVfRElSOworKyNlbmRpZgorKyNpZmRlZiBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIKKytzdGF0aWMgY2hhciBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSOworKyNlbmRpZgorKworIGNvbnN0IHN0cnVjdCBkZWZhdWx0X2luY2x1ZGUgY3BwX2luY2x1ZGVfZGVmYXVsdHNbXQorICNpZmRlZiBJTkNMVURFX0RFRkFVTFRTCisgPSBJTkNMVURFX0RFRkFVTFRTOworQEAgLTQyLDM4ICs2NiwzOCBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KKyA9IHsKKyAjaWZkZWYgR1BMVVNQTFVTX0lOQ0xVREVfRElSCisgICAgIC8qIFBpY2sgdXAgR05VIEMrKyBnZW5lcmljIGluY2x1ZGUgZmlsZXMuICAqLworLSAgICB7IEdQTFVTUExVU19JTkNMVURFX0RJUiwgIkcrKyIsIDEsIDEsCisrICAgIHsgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKKyAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDAgfSwKKyAjZW5kaWYKKyAjaWZkZWYgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIKKyAgICAgLyogUGljayB1cCBHTlUgQysrIHRhcmdldC1kZXBlbmRlbnQgaW5jbHVkZSBmaWxlcy4gICovCistICAgIHsgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAorKyAgICB7IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKKyAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDEgfSwKKyAjZW5kaWYKKyAjaWZkZWYgR1BMVVNQTFVTX0JBQ0tXQVJEX0lOQ0xVREVfRElSCisgICAgIC8qIFBpY2sgdXAgR05VIEMrKyBiYWNrd2FyZCBhbmQgZGVwcmVjYXRlZCBpbmNsdWRlIGZpbGVzLiAgKi8KKy0gICAgeyBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAorKyAgICB7IEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUiwgIkcrKyIsIDEsIDEsCisgICAgICAgR1BMVVNQTFVTX0lOQ0xVREVfRElSX0FERF9TWVNST09ULCAwIH0sCisgI2VuZGlmCisgI2lmZGVmIEdDQ19JTkNMVURFX0RJUgorICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycy4gICovCistICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMCwgMCwgMCB9LAorKyAgICB7IEdDQ19JTkNMVURFX0RJUlZBUiwgIkdDQyIsIDAsIDAsIDAsIDAgfSwKKyAjZW5kaWYKKyAjaWZkZWYgR0NDX0lOQ0xVREVfU1VCRElSX1RBUkdFVAorICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycyB1bmRlciB0aGUgc3BlY2lmaWVkIHN5c3Jvb3QuICAqLworLSAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VULCAiR0NDIiwgMCwgMCwgMSwgMCB9LAorKyAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMlZBUiwgIkdDQyIsIDAsIDAsIDEsIDAgfSwKKyAjZW5kaWYKKyAjaWZkZWYgTE9DQUxfSU5DTFVERV9ESVIKKyAgICAgLyogL3Vzci9sb2NhbC9pbmNsdWRlIGNvbWVzIGJlZm9yZSB0aGUgZml4aW5jbHVkZWQgaGVhZGVyIGZpbGVzLiAgKi8KKy0gICAgeyBMT0NBTF9JTkNMVURFX0RJUiwgMCwgMCwgMSwgMSwgMiB9LAorLSAgICB7IExPQ0FMX0lOQ0xVREVfRElSLCAwLCAwLCAxLCAxLCAwIH0sCisrICAgIHsgTE9DQUxfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDEsIDIgfSwKKysgICAgeyBMT0NBTF9JTkNMVURFX0RJUlZBUiwgMCwgMCwgMSwgMSwgMCB9LAorICNlbmRpZgorICNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKKy0gICAgeyBQUkVGSVhfSU5DTFVERV9ESVIsIDAsIDAsIDEsIDAsIDAgfSwKKysgICAgeyBQUkVGSVhfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDAsIDAgfSwKKyAjZW5kaWYKKyAjaWZkZWYgRklYRURfSU5DTFVERV9ESVIKKyAgICAgLyogVGhpcyBpcyB0aGUgZGlyIGZvciBmaXhpbmNsdWRlcy4gICovCistICAgIHsgRklYRURfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLAorKyAgICB7IEZJWEVEX0lOQ0xVREVfRElSVkFSLCAiR0NDIiwgMCwgMCwgMCwKKyAgICAgICAvKiBBIG11bHRpbGliIHN1ZmZpeCBuZWVkcyBhZGRpbmcgaWYgZGlmZmVyZW50IG11bHRpbGlicyB1c2UKKyAJIGRpZmZlcmVudCBoZWFkZXJzLiAgKi8KKyAjaWZkZWYgU1lTUk9PVF9IRUFERVJTX1NVRkZJWF9TUEVDCitAQCAtODUsMTYgKzEwOSwxNiBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KKyAjZW5kaWYKKyAjaWZkZWYgQ1JPU1NfSU5DTFVERV9ESVIKKyAgICAgLyogT25lIHBsYWNlIHRoZSB0YXJnZXQgc3lzdGVtJ3MgaGVhZGVycyBtaWdodCBiZS4gICovCistICAgIHsgQ1JPU1NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCisrICAgIHsgQ1JPU1NfSU5DTFVERV9ESVJWQVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCisgI2VuZGlmCisgI2lmZGVmIFRPT0xfSU5DTFVERV9ESVIKKyAgICAgLyogQW5vdGhlciBwbGFjZSB0aGUgdGFyZ2V0IHN5c3RlbSdzIGhlYWRlcnMgbWlnaHQgYmUuICAqLworLSAgICB7IFRPT0xfSU5DTFVERV9ESVIsICJCSU5VVElMUyIsIDAsIDEsIDAsIDAgfSwKKysgICAgeyBUT09MX0lOQ0xVREVfRElSVkFSLCAiQklOVVRJTFMiLCAwLCAxLCAwLCAwIH0sCisgI2VuZGlmCisgI2lmZGVmIE5BVElWRV9TWVNURU1fSEVBREVSX0RJUgorICAgICAvKiAvdXNyL2luY2x1ZGUgY29tZXMgZGVhZCBsYXN0LiAgKi8KKy0gICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMiB9LAorLSAgICB7IE5BVElWRV9TWVNURU1fSEVBREVSX0RJUiwgTkFUSVZFX1NZU1RFTV9IRUFERVJfQ09NUE9ORU5ULCAwLCAwLCAxLCAwIH0sCisrICAgIHsgTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSVkFSLCBOQVRJVkVfU1lTVEVNX0hFQURFUl9DT01QT05FTlQsIDAsIDAsIDEsIDIgfSwKKysgICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMCB9LAorICNlbmRpZgorICAgICB7IDAsIDAsIDAsIDAsIDAsIDAgfQorICAgfTsKK2RpZmYgLS1naXQgYS9nY2MvY3BwZGVmYXVsdC5oIGIvZ2NjL2NwcGRlZmF1bHQuaAoraW5kZXggNGEwMTg2ZDFjZjIuLjI5ZTVkOWRhMGRjIDEwMDY0NAorLS0tIGEvZ2NjL2NwcGRlZmF1bHQuaAorKysrIGIvZ2NjL2NwcGRlZmF1bHQuaAorQEAgLTMzLDcgKzMzLDggQEAKKyAKKyBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlCisgeworLSAgY29uc3QgY2hhciAqY29uc3QgZm5hbWU7CS8qIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkuICAqLworKyAgY29uc3QgY2hhciAqZm5hbWU7ICAgICAvKiBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5LiAgKi8KKysKKyAgIGNvbnN0IGNoYXIgKmNvbnN0IGNvbXBvbmVudDsJLyogVGhlIGNvbXBvbmVudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkKKyAJCQkJICAgKHNlZSB1cGRhdGVfcGF0aCBpbiBwcmVmaXguYykgKi8KKyAgIGNvbnN0IGNoYXIgY3BsdXNwbHVzOwkJLyogT25seSBsb29rIGhlcmUgaWYgd2UncmUgY29tcGlsaW5nIEMrKy4gICovCitkaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCitpbmRleCAzZmI2NGQ0NTNmMS4uY2QwYzdmYmU5NjEgMTAwNjQ0CistLS0gYS9nY2MvZ2NjLmMKKysrKyBiL2djYy9nY2MuYworQEAgLTI0OCw2ICsyNDgsOCBAQCBGSUxFICpyZXBvcnRfdGltZXNfdG9fZmlsZSA9IE5VTEw7CisgI2VuZGlmCisgc3RhdGljIGNvbnN0IGNoYXIgKnRhcmdldF9zeXN0ZW1fcm9vdCA9IERFRkFVTFRfVEFSR0VUX1NZU1RFTV9ST09UOworIAorK3N0YXRpYyBjaGFyIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXhbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gU1lTVEVNTElCU19ESVI7CisrCisgLyogTm9uemVybyBtZWFucyBwYXNzIHRoZSB1cGRhdGVkIHRhcmdldF9zeXN0ZW1fcm9vdCB0byB0aGUgY29tcGlsZXIuICAqLworIAorIHN0YXRpYyBpbnQgdGFyZ2V0X3N5c3RlbV9yb290X2NoYW5nZWQ7CitAQCAtNTE5LDYgKzUyMSw3IEBAIG9yIHdpdGggY29uc3RhbnQgdGV4dCBpbiBhIHNpbmdsZSBhcmd1bWVudC4KKyAgJUcgICAgIHByb2Nlc3MgTElCR0NDX1NQRUMgYXMgYSBzcGVjLgorICAlUiAgICAgT3V0cHV0IHRoZSBjb25jYXRlbmF0aW9uIG9mIHRhcmdldF9zeXN0ZW1fcm9vdCBhbmQKKyAgICAgICAgIHRhcmdldF9zeXNyb290X3N1ZmZpeC4KKysgJXIgICAgIE91dHB1dCB0aGUgYmFzZSBwYXRoIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXgKKyAgJVMgICAgIHByb2Nlc3MgU1RBUlRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIFMgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgorICAlRSAgICAgcHJvY2VzcyBFTkRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIEUgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgorICAlQyAgICAgcHJvY2VzcyBDUFBfU1BFQyBhcyBhIHNwZWMuCitAQCAtMTQ4NywxMCArMTQ5MCwxMCBAQCBzdGF0aWMgY29uc3QgY2hhciAqZ2NjX2xpYmV4ZWNfcHJlZml4OworICAgIGdjY19leGVjX3ByZWZpeCBpcyBzZXQgYmVjYXVzZSwgaW4gdGhhdCBjYXNlLCB3ZSBrbm93IHdoZXJlIHRoZQorICAgIGNvbXBpbGVyIGhhcyBiZWVuIGluc3RhbGxlZCwgYW5kIHVzZSBwYXRocyByZWxhdGl2ZSB0byB0aGF0CisgICAgbG9jYXRpb24gaW5zdGVhZC4gICovCistc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2V4ZWNfcHJlZml4ID0gU1RBTkRBUkRfRVhFQ19QUkVGSVg7Cistc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2xpYmV4ZWNfcHJlZml4ID0gU1RBTkRBUkRfTElCRVhFQ19QUkVGSVg7Cistc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2JpbmRpcl9wcmVmaXggPSBTVEFOREFSRF9CSU5ESVJfUFJFRklYOworLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4ID0gU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWDsKKytzdGF0aWMgY2hhciBzdGFuZGFyZF9leGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9FWEVDX1BSRUZJWDsKKytzdGF0aWMgY2hhciBzdGFuZGFyZF9saWJleGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9MSUJFWEVDX1BSRUZJWDsKKytzdGF0aWMgY2hhciBzdGFuZGFyZF9iaW5kaXJfcHJlZml4WzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX0JJTkRJUl9QUkVGSVg7Cisrc3RhdGljIGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOworIAorIC8qIEZvciBuYXRpdmUgY29tcGlsZXJzLCB0aGVzZSBhcmUgd2VsbC1rbm93biBwYXRocyBjb250YWluaW5nCisgICAgY29tcG9uZW50cyB0aGF0IG1heSBiZSBwcm92aWRlZCBieSB0aGUgc3lzdGVtLiAgRm9yIGNyb3NzCitAQCAtMTQ5OCw5ICsxNTAxLDkgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOworIHN0YXRpYyBjb25zdCBjaGFyICptZF9leGVjX3ByZWZpeCA9IE1EX0VYRUNfUFJFRklYOworIHN0YXRpYyBjb25zdCBjaGFyICptZF9zdGFydGZpbGVfcHJlZml4ID0gTURfU1RBUlRGSUxFX1BSRUZJWDsKKyBzdGF0aWMgY29uc3QgY2hhciAqbWRfc3RhcnRmaWxlX3ByZWZpeF8xID0gTURfU1RBUlRGSUxFX1BSRUZJWF8xOworLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzEKKytzdGF0aWMgY2hhciBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzFbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpCisgICA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMTsKKy1zdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yCisrc3RhdGljIGNoYXIgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKQorICAgPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzI7CisgCisgLyogQSByZWxhdGl2ZSBwYXRoIHRvIGJlIHVzZWQgaW4gZmluZGluZyB0aGUgbG9jYXRpb24gb2YgdG9vbHMKK0BAIC01ODQ5LDYgKzU4NTIsMTEgQEAgZG9fc3BlY18xIChjb25zdCBjaGFyICpzcGVjLCBpbnQgaW5zd2l0Y2gsIGNvbnN0IGNoYXIgKnNvZnRfbWF0Y2hlZF9wYXJ0KQorIAkgICAgICB9CisgCSAgICBicmVhazsKKyAKKysgICAgICAgICAgY2FzZSAncic6CisrICAgICAgICAgICAgICBvYnN0YWNrX2dyb3cgKCZvYnN0YWNrLCB0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4LAorKwkJICAgICAgc3RybGVuICh0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4KSk7CisrICAgICAgICAgICAgYnJlYWs7CisrCisgCSAgY2FzZSAnUyc6CisgCSAgICB2YWx1ZSA9IGRvX3NwZWNfMSAoc3RhcnRmaWxlX3NwZWMsIDAsIE5VTEwpOworIAkgICAgaWYgKHZhbHVlICE9IDApCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI4LVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI4LVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWIyNWQ3OAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjgtU2VhcmNoLXRhcmdldC1zeXNyb290LWdjYy12ZXJzaW9uLXNwZWNpZmljLWRpcnMtd2l0aC5wYXRjaApAQCAtMCwwICsxLDEwMiBAQAorRnJvbSA2MjI0MGQ0YzcyNWVhMGI0M2FiZmI5MDFkZGFkOTBlODNlMjlhMjVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgNyBEZWMgMjAxNSAyMzo0MTo0NSArMDAwMAorU3ViamVjdDogW1BBVENIIDI4LzQwXSBTZWFyY2ggdGFyZ2V0IHN5c3Jvb3QgZ2NjIHZlcnNpb24gc3BlY2lmaWMgZGlycyB3aXRoCisgbXVsdGlsaWIuCisKK1dlIGluc3RhbGwgdGhlIGdjYyBsaWJyYXJpZXMgKHN1Y2ggYXMgY3J0YmVnaW4ucCkgaW50bworPHN5c3Jvb3Q+PGxpYmRpcj4vPHRhcmdldC1zeXM+LzUuMi4wLword2hpY2ggaXMgYSBkZWZhdWx0IHNlYXJjaCBwYXRoIGZvciBHQ0MgKGFrYSBtdWx0aV9zdWZmaXggaW4gdGhlCitjb2RlIGJlbG93KS4gPHRhcmdldC1zeXM+IGlzICdtYWNoaW5lJyBpbiBnY2MncyB0ZXJtaW5vbG9neS4gV2UgdXNlCit0aGVzZSBkaXJlY3RvcmllcyBzbyB0aGF0IG11bHRpcGxlIGdjYyB2ZXJzaW9ucyBjb3VsZCBpbiB0aGVvcnkKK2NvLWV4aXN0IG9uIHRhcmdldC4KKworV2Ugb25seSB3YW50IHRvIGJ1aWxkIG9uZSBnY2MtY3Jvc3MtY2FuYWRpYW4gcGVyIGFyY2ggYW5kIGhhdmUgdGhpcyB3b3JrCitmb3IgYWxsIG11bHRpbGlicy4gPHRhcmdldC1zeXM+IGNhbiBiZSBoYW5kbGVkIGJ5IG1hcHBpbmcgdGhlIG11bHRpbGliCis8dGFyZ2V0LXN5cz4gdG8gdGhlIG9uZSB1c2VkIGJ5IGdjYy1jcm9zcy1jYW5hZGlhbiwgZS5nLgorbWlwczY0LXBvbGttbGxpYjMyLWxpbnV4CitpcyBzeW1saW5rZWQgdG8gYnkgbWlwczY0LXBva3ktbGludXguCisKK1RoZSBkZWZhdWx0IGdjYyBzZWFyY2ggcGF0aCBpbiB0aGUgdGFyZ2V0IHN5c3Jvb3QgZm9yIGEgImxpYjY0IiBtdXRsaWxpYgoraXM6CisKKzxzeXNyb290Pi9saWIzMi9taXBzNjQtcG9reS1saW51eC81LjIuMC8KKzxzeXNyb290Pi9saWIzMi8uLi9saWI2NC8KKzxzeXNyb290Pi91c3IvbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCis8c3lzcm9vdD4vdXNyL2xpYjMyLy4uL2xpYjY0LworPHN5c3Jvb3Q+L2xpYjMyLworPHN5c3Jvb3Q+L3Vzci9saWIzMi8KKword2hpY2ggbWVhbnMgdGhhdCB0aGUgbGliMzIgY3J0YmVnaW4ubyB3aWxsIGJlIGZvdW5kIGFuZCB0aGUgbGliNjQgb25lcword2lsbCBub3Qgd2hpY2ggbGVhZHMgdG8gY29tcGlsZXIgZmFpbHVyZXMuCisKK1RoaXMgcGF0Y2ggaW5qZWN0cyBhIG11bHRpbGliIHZlcnNpb24gb2YgdGhhdCBwYXRoIGZpcnN0IHNvIHRoZSBsaWI2NAorYmluYXJpZXMgY2FuIGJlIGZvdW5kIGZpcnN0LiBXaXRoIHRoaXMgY2hhbmdlIHRoZSBzZWFyY2ggcGF0aCBiZWNvbWVzOgorCis8c3lzcm9vdD4vbGliMzIvLi4vbGliNjQvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCis8c3lzcm9vdD4vbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCis8c3lzcm9vdD4vbGliMzIvLi4vbGliNjQvCis8c3lzcm9vdD4vdXNyL2xpYjMyLy4uL2xpYjY0L21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLworPHN5c3Jvb3Q+L3Vzci9saWIzMi9taXBzNjQtcG9reS1saW51eC81LjIuMC8KKzxzeXNyb290Pi91c3IvbGliMzIvLi4vbGliNjQvCis8c3lzcm9vdD4vbGliMzIvCis8c3lzcm9vdD4vdXNyL2xpYjMyLworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1JQIDIwMTUvNy8zMQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL2djYy5jIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCitpbmRleCBjZDBjN2ZiZTk2MS4uZjZmM2FhMDc3YzggMTAwNjQ0CistLS0gYS9nY2MvZ2NjLmMKKysrKyBiL2djYy9nY2MuYworQEAgLTI1MjcsNyArMjUyNyw3IEBAIGZvcl9lYWNoX3BhdGggKGNvbnN0IHN0cnVjdCBwYXRoX3ByZWZpeCAqcGF0aHMsCisgICAgICAgaWYgKHBhdGggPT0gTlVMTCkKKyAJeworIAkgIGxlbiA9IHBhdGhzLT5tYXhfbGVuICsgZXh0cmFfc3BhY2UgKyAxOworLQkgIGxlbiArPSBNQVggKE1BWCAoc3VmZml4X2xlbiwgbXVsdGlfb3NfZGlyX2xlbiksIG11bHRpYXJjaF9sZW4pOworKwkgIGxlbiArPSBNQVggKChzdWZmaXhfbGVuICsgbXVsdGlfb3NfZGlyX2xlbiksIG11bHRpYXJjaF9sZW4pOworIAkgIHBhdGggPSBYTkVXVkVDIChjaGFyLCBsZW4pOworIAl9CisgCitAQCAtMjUzOSw2ICsyNTM5LDMzIEBAIGZvcl9lYWNoX3BhdGggKGNvbnN0IHN0cnVjdCBwYXRoX3ByZWZpeCAqcGF0aHMsCisgCSAgLyogTG9vayBmaXJzdCBpbiBNQUNISU5FL1ZFUlNJT04gc3ViZGlyZWN0b3J5LiAgKi8KKyAJICBpZiAoIXNraXBfbXVsdGlfZGlyKQorIAkgICAgeworKwkgICAgICBpZiAoIShwbC0+b3NfbXVsdGlsaWIgPyBza2lwX211bHRpX29zX2RpciA6IHNraXBfbXVsdGlfZGlyKSkKKysJICAgICAgICB7CisrCSAgICAgICAgICBjb25zdCBjaGFyICp0aGlzX211bHRpOworKwkgICAgICAgICAgc2l6ZV90IHRoaXNfbXVsdGlfbGVuOworKworKwkgICAgICAgICAgaWYgKHBsLT5vc19tdWx0aWxpYikKKysJCSAgICB7CisrCQkgICAgICB0aGlzX211bHRpID0gbXVsdGlfb3NfZGlyOworKwkJICAgICAgdGhpc19tdWx0aV9sZW4gPSBtdWx0aV9vc19kaXJfbGVuOworKwkJICAgIH0KKysJICAgICAgICAgIGVsc2UKKysJCSAgICB7CisrCQkgICAgICB0aGlzX211bHRpID0gbXVsdGlfZGlyOworKwkJICAgICAgdGhpc19tdWx0aV9sZW4gPSBtdWx0aV9kaXJfbGVuOworKwkJICAgIH0KKysKKysJICAgICAgICAgIC8qIExvb2sgaW4gbXVsdGlsaWIgTUFDSElORS9WRVJTSU9OIHN1YmRpcmVjdG9yeSBmaXJzdCAqLworKwkgICAgICAgICAgaWYgKHRoaXNfbXVsdGlfbGVuKQorKwkgICAgICAgICAgICB7CisrCQkgICAgICBtZW1jcHkgKHBhdGggKyBsZW4sIHRoaXNfbXVsdGksIHRoaXNfbXVsdGlfbGVuICsgMSk7CisrCSAgICAgICAgICAgICAgbWVtY3B5IChwYXRoICsgbGVuICsgdGhpc19tdWx0aV9sZW4sIG11bHRpX3N1ZmZpeCwgc3VmZml4X2xlbiArIDEpOworKwkgICAgICAgICAgICAgIHJldCA9IGNhbGxiYWNrIChwYXRoLCBjYWxsYmFja19pbmZvKTsKKysJICAgICAgICAgICAgICAgIGlmIChyZXQpCisrCQkgICAgICAgICAgYnJlYWs7CisrCSAgICAgICAgICAgIH0KKysJICAgICAgICB9CisrCisgCSAgICAgIG1lbWNweSAocGF0aCArIGxlbiwgbXVsdGlfc3VmZml4LCBzdWZmaXhfbGVuICsgMSk7CisgCSAgICAgIHJldCA9IGNhbGxiYWNrIChwYXRoLCBjYWxsYmFja19pbmZvKTsKKyAJICAgICAgaWYgKHJldCkKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjktRml4LXZhcmlvdXMtX0ZPUl9CVUlMRC1hbmQtcmVsYXRlZC12YXJpYWJsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI5LUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjOGJkYjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI5LUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoCkBAIC0wLDAgKzEsMTM3IEBACitGcm9tIDEzNzdjNzM4ZTMxYTFlMTU5OWNmYWIxODk0ODVhOTQ1OWY4MDNlNzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogTW9uLCA3IERlYyAyMDE1IDIzOjQyOjQ1ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMjkvNDBdIEZpeCB2YXJpb3VzIF9GT1JfQlVJTEQgYW5kIHJlbGF0ZWQgdmFyaWFibGVzCisKK1doZW4gZG9pbmcgYSBGT1JfQlVJTEQgdGhpbmcsIHlvdSBoYXZlIHRvIG92ZXJyaWRlIENGTEFHUyB3aXRoCitDRkxBR1NfRk9SX0JVSUxELiBBbmQgaWYgeW91IHVzZSBDKyssIHlvdSBhbHNvIGhhdmUgdG8gb3ZlcnJpZGUKK0NYWEZMQUdTIHdpdGggQ1hYRkxBR1NfRk9SX0JVSUxELgorV2l0aG91dCB0aGlzLCB3aGVuIGJ1aWxkaW5nIGZvciBtaW5ndywgeW91IGVuZCB1cCB0cnlpbmcgdG8gdXNlCit0aGUgbWluZ3cgaGVhZGVycyBmb3IgYSBob3N0IGJ1aWxkLgorCitUaGUgc2FtZSBnb2VzIGZvciBvdGhlciB2YXJpYWJsZXMgYXMgd2VsbCwgc3VjaCBhcyBDUFBGTEFHUywKK0NQUCwgYW5kIEdNUElOQy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFBldGVyIFNlZWJhY2ggPHBldGVyLnNlZWJhY2hAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZS5pbiAgICAgIHwgNiArKysrKysKKyBNYWtlZmlsZS50cGwgICAgIHwgNSArKysrKworIGdjYy9NYWtlZmlsZS5pbiAgfCAyICstCisgZ2NjL2NvbmZpZ3VyZSAgICB8IDIgKy0KKyBnY2MvY29uZmlndXJlLmFjIHwgMiArLQorIDUgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KK2luZGV4IGI0MjZkNGY5MzUwLi5hMmFmOTkwNWNjZSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmluCisrKysgYi9NYWtlZmlsZS5pbgorQEAgLTE1Miw2ICsxNTIsNyBAQCBCVUlMRF9FWFBPUlRTID0gXAorIAlDUFA9IiQoQ0NfRk9SX0JVSUxEKSAtRSI7IGV4cG9ydCBDUFA7IFwKKyAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENGTEFHUzsgXAorIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAorKwlDUFBGTEFHUz0iJChDUFBGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENQUEZMQUdTOyBcCisgCUNYWD0iJChDWFhfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFg7IFwKKyAJQ1hYRkxBR1M9IiQoQ1hYRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFhGTEFHUzsgXAorIAlHRk9SVFJBTj0iJChHRk9SVFJBTl9GT1JfQlVJTEQpIjsgZXhwb3J0IEdGT1JUUkFOOyBcCitAQCAtMTY5LDYgKzE3MCw5IEBAIEJVSUxEX0VYUE9SVFMgPSBcCisgIyBidWlsdCBmb3IgdGhlIGJ1aWxkIHN5c3RlbSB0byBvdmVycmlkZSB0aG9zZSBpbiBCQVNFX0ZMQUdTX1RPX1BBU1MuCisgRVhUUkFfQlVJTERfRkxBR1MgPSBcCisgCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSIgXAorKwlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIiBcCisrCUNQUD0iJChDQ19GT1JfQlVJTEQpIC1FIiBcCisrCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiIFwKKyAJTERGTEFHUz0iJChMREZMQUdTX0ZPUl9CVUlMRCkiCisgCisgIyBUaGlzIGlzIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIGJ1aWx0IGZvciB0aGUgaG9zdCBzeXN0ZW0uCitAQCAtMTg2LDYgKzE5MCw3IEBAIEhPU1RfU1VCRElSID0gQGhvc3Rfc3ViZGlyQAorIEhPU1RfRVhQT1JUUyA9IFwKKyAJJChCQVNFX0VYUE9SVFMpIFwKKyAJQ0M9IiQoQ0MpIjsgZXhwb3J0IENDOyBcCisrCUNQUD0iJChDQykgLUUiOyBleHBvcnQgQ1BQOyBcCisgCUFEQV9DRkxBR1M9IiQoQURBX0NGTEFHUykiOyBleHBvcnQgQURBX0NGTEFHUzsgXAorIAlDRkxBR1M9IiQoQ0ZMQUdTKSI7IGV4cG9ydCBDRkxBR1M7IFwKKyAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKK0BAIC03NDMsNiArNzQ4LDcgQEAgQkFTRV9GTEFHU19UT19QQVNTID0gXAorIAkiQ0NfRk9SX0JVSUxEPSQoQ0NfRk9SX0JVSUxEKSIgXAorIAkiQ0ZMQUdTX0ZPUl9CVUlMRD0kKENGTEFHU19GT1JfQlVJTEQpIiBcCisgCSJDWFhfRk9SX0JVSUxEPSQoQ1hYX0ZPUl9CVUlMRCkiIFwKKysJIkNYWEZMQUdTX0ZPUl9CVUlMRD0kKENYWEZMQUdTX0ZPUl9CVUlMRCkiIFwKKyAJIkVYUEVDVD0kKEVYUEVDVCkiIFwKKyAJIkZMRVg9JChGTEVYKSIgXAorIAkiSU5TVEFMTD0kKElOU1RBTEwpIiBcCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUudHBsIGIvTWFrZWZpbGUudHBsCitpbmRleCAxZjIzYjc5YjRiMi4uNmM1NjUyZTgxMWQgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS50cGwKKysrKyBiL01ha2VmaWxlLnRwbAorQEAgLTE1NCw2ICsxNTQsNyBAQCBCVUlMRF9FWFBPUlRTID0gXAorIAlDQz0iJChDQ19GT1JfQlVJTEQpIjsgZXhwb3J0IENDOyBcCisgCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDRkxBR1M7IFwKKyAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKKysJQ1BQRkxBR1M9IiQoQ1BQRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDUFBGTEFHUzsgXAorIAlDWFg9IiQoQ1hYX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1hYOyBcCisgCUNYWEZMQUdTPSIkKENYWEZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1hYRkxBR1M7IFwKKyAJR0ZPUlRSQU49IiQoR0ZPUlRSQU5fRk9SX0JVSUxEKSI7IGV4cG9ydCBHRk9SVFJBTjsgXAorQEAgLTE3MSw2ICsxNzIsOSBAQCBCVUlMRF9FWFBPUlRTID0gXAorICMgYnVpbHQgZm9yIHRoZSBidWlsZCBzeXN0ZW0gdG8gb3ZlcnJpZGUgdGhvc2UgaW4gQkFTRV9GTEFHU19UT19QQVNTLgorIEVYVFJBX0JVSUxEX0ZMQUdTID0gXAorIAlDRkxBR1M9IiQoQ0ZMQUdTX0ZPUl9CVUlMRCkiIFwKKysJQ1hYRkxBR1M9IiQoQ1hYRkxBR1NfRk9SX0JVSUxEKSIgXAorKwlDUFA9IiQoQ0NfRk9SX0JVSUxEKSAtRSIgXAorKwlDUFBGTEFHUz0iJChDUFBGTEFHU19GT1JfQlVJTEQpIiBcCisgCUxERkxBR1M9IiQoTERGTEFHU19GT1JfQlVJTEQpIgorIAorICMgVGhpcyBpcyB0aGUgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBidWlsdCBmb3IgdGhlIGhvc3Qgc3lzdGVtLgorQEAgLTE4OCw2ICsxOTIsNyBAQCBIT1NUX1NVQkRJUiA9IEBob3N0X3N1YmRpckAKKyBIT1NUX0VYUE9SVFMgPSBcCisgCSQoQkFTRV9FWFBPUlRTKSBcCisgCUNDPSIkKENDKSI7IGV4cG9ydCBDQzsgXAorKwlDUFA9IiQoQ0MpIC1FIjsgZXhwb3J0IENQUDsgXAorIAlBREFfQ0ZMQUdTPSIkKEFEQV9DRkxBR1MpIjsgZXhwb3J0IEFEQV9DRkxBR1M7IFwKKyAJQ0ZMQUdTPSIkKENGTEFHUykiOyBleHBvcnQgQ0ZMQUdTOyBcCisgCUNPTkZJR19TSEVMTD0iJChTSEVMTCkiOyBleHBvcnQgQ09ORklHX1NIRUxMOyBcCitkaWZmIC0tZ2l0IGEvZ2NjL01ha2VmaWxlLmluIGIvZ2NjL01ha2VmaWxlLmluCitpbmRleCA1YWU2OTNmYjA2Yy4uMDJlZTBhYTcyZjQgMTAwNjQ0CistLS0gYS9nY2MvTWFrZWZpbGUuaW4KKysrKyBiL2djYy9NYWtlZmlsZS5pbgorQEAgLTgwMSw3ICs4MDEsNyBAQCBCVUlMRF9MREZMQUdTPUBCVUlMRF9MREZMQUdTQAorIEJVSUxEX05PX1BJRV9GTEFHID0gQEJVSUxEX05PX1BJRV9GTEFHQAorIEJVSUxEX0xERkxBR1MgKz0gJChCVUlMRF9OT19QSUVfRkxBRykKKyBCVUlMRF9DUFBGTEFHUz0gLUkuIC1JJChARCkgLUkkKHNyY2RpcikgLUkkKHNyY2RpcikvJChARCkgXAorLQkJLUkkKHNyY2RpcikvLi4vaW5jbHVkZSBASU5DSU5UTEAgJChDUFBJTkMpICQoQ1BQRkxBR1MpCisrCQktSSQoc3JjZGlyKS8uLi9pbmNsdWRlIEBJTkNJTlRMQCAkKENQUElOQykgJChDUFBGTEFHU19GT1JfQlVJTEQpCisgCisgIyBBY3R1YWwgbmFtZSB0byB1c2Ugd2hlbiBpbnN0YWxsaW5nIGEgbmF0aXZlIGNvbXBpbGVyLgorIEdDQ19JTlNUQUxMX05BTUUgOj0gJChzaGVsbCBlY2hvIGdjY3xzZWQgJyQocHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSknKQorZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCitpbmRleCAzZDlkY2JkYzkzZC4uYWExMjdhNGY2YTQgMTAwNzU1CistLS0gYS9nY2MvY29uZmlndXJlCisrKysgYi9nY2MvY29uZmlndXJlCitAQCAtMTE3OTcsNyArMTE3OTcsNyBAQCBlbHNlCisgCUNDPSIke0NDX0ZPUl9CVUlMRH0iIENGTEFHUz0iJHtDRkxBR1NfRk9SX0JVSUxEfSIgXAorIAlDWFg9IiR7Q1hYX0ZPUl9CVUlMRH0iIENYWEZMQUdTPSIke0NYWEZMQUdTX0ZPUl9CVUlMRH0iIFwKKyAJTEQ9IiR7TERfRk9SX0JVSUxEfSIgTERGTEFHUz0iJHtMREZMQUdTX0ZPUl9CVUlMRH0iIFwKKy0JR01QSU5DPSIiIENQUEZMQUdTPSIke0NQUEZMQUdTfSAtREdFTkVSQVRPUl9GSUxFIiBcCisrCUdNUElOQz0iIiBDUFBGTEFHUz0iJHtDUFBGTEFHU19GT1JfQlVJTER9IC1ER0VORVJBVE9SX0ZJTEUiIFwKKyAJJHtyZWFsc3JjZGlyfS9jb25maWd1cmUgXAorIAkJLS1lbmFibGUtbGFuZ3VhZ2VzPSR7ZW5hYmxlX2xhbmd1YWdlcy1hbGx9IFwKKyAJCS0tdGFyZ2V0PSR0YXJnZXRfYWxpYXMgLS1ob3N0PSRidWlsZF9hbGlhcyAtLWJ1aWxkPSRidWlsZF9hbGlhcworZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCitpbmRleCBlMDljODQwYjYwNS4uMThiZjUzYzdlMGEgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlndXJlLmFjCisrKysgYi9nY2MvY29uZmlndXJlLmFjCitAQCAtMTcwOCw3ICsxNzA4LDcgQEAgZWxzZQorIAlDQz0iJHtDQ19GT1JfQlVJTER9IiBDRkxBR1M9IiR7Q0ZMQUdTX0ZPUl9CVUlMRH0iIFwKKyAJQ1hYPSIke0NYWF9GT1JfQlVJTER9IiBDWFhGTEFHUz0iJHtDWFhGTEFHU19GT1JfQlVJTER9IiBcCisgCUxEPSIke0xEX0ZPUl9CVUlMRH0iIExERkxBR1M9IiR7TERGTEFHU19GT1JfQlVJTER9IiBcCistCUdNUElOQz0iIiBDUFBGTEFHUz0iJHtDUFBGTEFHU30gLURHRU5FUkFUT1JfRklMRSIgXAorKwlHTVBJTkM9IiIgQ1BQRkxBR1M9IiR7Q1BQRkxBR1NfRk9SX0JVSUxEfSAtREdFTkVSQVRPUl9GSUxFIiBcCisgCSR7cmVhbHNyY2Rpcn0vY29uZmlndXJlIFwKKyAJCS0tZW5hYmxlLWxhbmd1YWdlcz0ke2VuYWJsZV9sYW5ndWFnZXMtYWxsfSBcCisgCQktLXRhcmdldD0kdGFyZ2V0X2FsaWFzIC0taG9zdD0kYnVpbGRfYWxpYXMgLS1idWlsZD0kYnVpbGRfYWxpYXMKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzAtbmlvczItRGVmaW5lLU1VU0xfRFlOQU1JQ19MSU5LRVIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDMwLW5pb3MyLURlZmluZS1NVVNMX0RZTkFNSUNfTElOS0VSLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0ZTEyNmMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDMwLW5pb3MyLURlZmluZS1NVVNMX0RZTkFNSUNfTElOS0VSLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gNzVkYTNjYzljYTJkM2RlOGMyMDYyZjIzYmY0ZjcyNDE1NzQxZWY4MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDIgRmViIDIwMTYgMTA6MjY6MTAgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCAzMC80MF0gbmlvczI6IERlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNYXJlayBWYXN1dCA8bWFyZXhAZGVueC5kZT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY29uZmlnL25pb3MyL2xpbnV4LmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbmlvczIvbGludXguaCBiL2djYy9jb25maWcvbmlvczIvbGludXguaAoraW5kZXggNDcyOTEwNTYyNmQuLjM2MTgxZWI3Yjg1IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9uaW9zMi9saW51eC5oCisrKysgYi9nY2MvY29uZmlnL25pb3MyL2xpbnV4LmgKK0BAIC0zMCw2ICszMCw3IEBACisgI2RlZmluZSBDUFBfU1BFQyAiJXtwb3NpeDotRF9QT1NJWF9TT1VSQ0V9ICV7cHRocmVhZDotRF9SRUVOVFJBTlR9IgorIAorICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXgtbmlvczIuc28uMSIKKysjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgICIvbGliL2xkLW11c2wtbmlvczIuc28uMSIKKyAKKyAjdW5kZWYgTElOS19TUEVDCisgI2RlZmluZSBMSU5LX1NQRUMgTElOS19TUEVDX0VORElBTiBcCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDMxLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDMxLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDAyY2YyYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzEtQWRkLXNzcF9ub25zaGFyZWQtdG8tbGluay1jb21tYW5kbGluZS1mb3ItbXVzbC10YXJnZS5wYXRjaApAQCAtMCwwICsxLDg3IEBACitGcm9tIGY3MTVhZWVmMjk0Yjg1ZmE1OTNlZjY5ZTZkMDExNGNjN2IxNTMxMmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNyBKdW4gMjAxNyAxODoxMDo1NCAtMDcwMAorU3ViamVjdDogW1BBVENIIDMxLzQwXSBBZGQgc3NwX25vbnNoYXJlZCB0byBsaW5rIGNvbW1hbmRsaW5lIGZvciBtdXNsIHRhcmdldHMKKword2hlbiAtZnN0YWNrLXByb3RlY3RvciBvcHRpb25zIGFyZSBlbmFibGVkIHdlIG5lZWQgdG8KK2xpbmsgd2l0aCBzc3Bfc2hhcmVkIG9uIG11c2wgc2luY2UgaXQgZG9lcyBub3QgcHJvdmlkZQordGhlIF9fc3RhY2tfY2hrX2ZhaWxfbG9jYWwoKSBzbyBlc3NlbnRpYWxseSBpdCBwcm92aWRlcworbGlic3NwIGJ1dCBub3QgbGlic3NwX25vbnNoYXJlZCBzb21ldGhpbmcgbGlrZQorVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQX0JVVF9OT1RfU1NQX05PTlNIQVJFRAorIHdoZXJlLWFzIGZvciBnbGliYyB0aGUgbmVlZGVkIHN5bWJvbHMKK2FyZSBhbHJlYWR5IHByZXNlbnQgaW4gbGliY19ub25zaGFyZWQgbGlicmFyeSB0aGVyZWZvcmUKK3dlIGRvIG5vdCBuZWVkIGFueSBsaWJyYXJ5IGhlbHBlciBvbiBnbGliYyBiYXNlZCBzeXN0ZW1zCitidXQgbXVzbCBuZWVkcyB0aGUgbGlic3NwX25vc2hhcmVkIGZyb20gZ2NjCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL2NvbmZpZy9saW51eC5oICAgICAgICAgIHwgIDcgKysrKysrKworIGdjYy9jb25maWcvcnM2MDAwL2xpbnV4LmggICB8IDEwICsrKysrKysrKysKKyBnY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggfCAxMCArKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL2xpbnV4LmggYi9nY2MvY29uZmlnL2xpbnV4LmgKK2luZGV4IDQ4N2IwYzA5MjNiLi40NzY5ZDA4OTUzOCAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvbGludXguaAorKysrIGIvZ2NjL2NvbmZpZy9saW51eC5oCitAQCAtMTgyLDYgKzE4MiwxMyBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKKyAgICAgeyBHQ0NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAxLCAwLCAwIH0sCQlcCisgICAgIHsgMCwgMCwgMCwgMCwgMCwgMCB9CQkJCVwKKyAgIH0KKysjaWZkZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCisrI3VuZGVmIExJTktfU1NQX1NQRUMKKysjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAorKwkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAorKwkJICAgICAgICI6LWxzc3Bfbm9uc2hhcmVkfSIKKysjZW5kaWYKKysKKyAjZW5kaWYKKyAKKyAjaWYgKERFRkFVTFRfTElCQyA9PSBMSUJDX1VDTElCQykgJiYgZGVmaW5lZCAoU0lOR0xFX0xJQkMpIC8qIHVDbGludXggKi8KK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eC5oIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAoraW5kZXggMDFiNDBjNzYyZjYuLmU3YzVlOTIyMTVjIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAorKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAorQEAgLTkyLDYgKzkyLDE2IEBACisgCQkJCQkgIiAtbSBlbGYzMnBwY2xpbnV4IikKKyAjZW5kaWYKKyAKKysvKiBsaW5rIGxpYnNzcF9ub25zaGFyZWQuYSB3aXRoIG11c2wgKi8KKysjaWYgREVGQVVMVF9MSUJDID09IExJQkNfTVVTTAorKyNpZmRlZiBUQVJHRVRfTElCQ19QUk9WSURFU19TU1AKKysjdW5kZWYgTElOS19TU1BfU1BFQworKyNkZWZpbmUgTElOS19TU1BfU1BFQyAiJXtmc3RhY2stcHJvdGVjdG9yfGZzdGFjay1wcm90ZWN0b3ItYWxsIiBcCisrCQkgICAgICAgInxmc3RhY2stcHJvdGVjdG9yLXN0cm9uZ3xmc3RhY2stcHJvdGVjdG9yLWV4cGxpY2l0IiBcCisrCQkgICAgICAgIjotbHNzcF9ub25zaGFyZWR9IgorKyNlbmRpZgorKyNlbmRpZgorKworICN1bmRlZiBMSU5LX09TX0xJTlVYX1NQRUMKKyAjZGVmaW5lIExJTktfT1NfTElOVVhfU1BFQyBMSU5LX09TX0xJTlVYX0VNVUwgIiAleyFzaGFyZWQ6ICV7IXN0YXRpYzogXAorICAgJXshc3RhdGljLXBpZTogXAorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaCBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAoraW5kZXggNTRhYThkOTU3ZTcuLjYxOWUxMTNlMmI4IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCisrKysgYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKK0BAIC00NjYsNiArNDY2LDE2IEBAIGV4dGVybiBpbnQgZG90X3N5bWJvbHM7CisgCQkJCQkgICAiIC1tIGVsZjY0cHBjIikKKyAjZW5kaWYKKyAKKysvKiBsaW5rIGxpYnNzcF9ub25zaGFyZWQuYSB3aXRoIG11c2wgKi8KKysjaWYgREVGQVVMVF9MSUJDID09IExJQkNfTVVTTAorKyNpZmRlZiBUQVJHRVRfTElCQ19QUk9WSURFU19TU1AKKysjdW5kZWYgTElOS19TU1BfU1BFQworKyNkZWZpbmUgTElOS19TU1BfU1BFQyAiJXtmc3RhY2stcHJvdGVjdG9yfGZzdGFjay1wcm90ZWN0b3ItYWxsIiBcCisrCQkgICAgICAgInxmc3RhY2stcHJvdGVjdG9yLXN0cm9uZ3xmc3RhY2stcHJvdGVjdG9yLWV4cGxpY2l0IiBcCisrCQkgICAgICAgIjotbHNzcF9ub25zaGFyZWR9IgorKyNlbmRpZgorKyNlbmRpZgorKworICNkZWZpbmUgTElOS19PU19MSU5VWF9TUEVDMzIgTElOS19PU19MSU5VWF9FTVVMMzIgIiAleyFzaGFyZWQ6ICV7IXN0YXRpYzogXAorICAgJXshc3RhdGljLXBpZTogXAorICAgICAle3JkeW5hbWljOi1leHBvcnQtZHluYW1pY30gXAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzMi1saWJnY2MtQWRkLWtub2ItdG8tdXNlLWxkYmwtMTI4LW9uLXBwYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzItbGliZ2NjLUFkZC1rbm9iLXRvLXVzZS1sZGJsLTEyOC1vbi1wcGMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDI1Y2FiYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzItbGliZ2NjLUFkZC1rbm9iLXRvLXVzZS1sZGJsLTEyOC1vbi1wcGMucGF0Y2gKQEAgLTAsMCArMSwxMjUgQEAKK0Zyb20gNmRmYmNhNzhiOGQyNTNhZWNmOWNiYjVlNjhlMDRiOGRkM2Q2YTU0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IEFwciAyMDE2IDIwOjAzOjI4ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMzIvNDBdIGxpYmdjYzogQWRkIGtub2IgdG8gdXNlIGxkYmwtMTI4IG9uIHBwYworCittdXNsIGRvZXMgbm90IHN1cHBvcnQgbGRibCAxMjggc28gd2UgY2FuIG5vdCBhc3N1bWUKK3RoYXQgbGludXggYXMgYSB3aG9sZSBzdXBwb3J0cyBsZGJsLTEyOCBiaXRzLCBpbnN0ZWFkCithY3QgdXBvbiBjb25maWd1cmUgb3B0aW9uIHBhc3NlZCB0byBnY2MgYW5kIGFzc3VtZSBubworb24gbXVzbCBhbmQgeWVzIG90aGVyd2lzZSBpZiBubyBvcHRpb24gaXMgcGFzc2VkIHNpbmNlCitkZWZhdWx0IGJlaGF2aW91ciBpcyB0byBhc3N1bWUgbGRibDEyOCBpdCBkb2VzIG5vdAorY2hhbmdlIHRoZSBkZWZhdWx0cworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxpYmdjYy9NYWtlZmlsZS5pbiAgICAgICAgICAgfCAgMSArCisgbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eCB8ICA1ICsrKystCisgbGliZ2NjL2NvbmZpZ3VyZSAgICAgICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKysrKworIGxpYmdjYy9jb25maWd1cmUuYWMgICAgICAgICAgfCAxMiArKysrKysrKysrKysKKyA0IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKyBtb2RlIGNoYW5nZSAxMDA2NDQgPT4gMTAwNzU1IGxpYmdjYy9jb25maWd1cmUKKworZGlmZiAtLWdpdCBhL2xpYmdjYy9NYWtlZmlsZS5pbiBiL2xpYmdjYy9NYWtlZmlsZS5pbgoraW5kZXggZGQ4Y2VlOTlmZDMuLmI1ZjQ3OGFmMzgyIDEwMDY0NAorLS0tIGEvbGliZ2NjL01ha2VmaWxlLmluCisrKysgYi9saWJnY2MvTWFrZWZpbGUuaW4KK0BAIC00OCw2ICs0OCw3IEBAIHVud2luZF9oZWFkZXIgPSBAdW53aW5kX2hlYWRlckAKKyBtZF91bndpbmRfaGVhZGVyID0gQG1kX3Vud2luZF9oZWFkZXJACisgc2ZwX21hY2hpbmVfaGVhZGVyID0gQHNmcF9tYWNoaW5lX2hlYWRlckAKKyB0aHJlYWRfaGVhZGVyID0gQHRocmVhZF9oZWFkZXJACisrd2l0aF9sZGJsMTI4ID0gQHdpdGhfbGRibDEyOEAKKyAKKyBob3N0X25vbmNhbm9uaWNhbCA9IEBob3N0X25vbmNhbm9uaWNhbEAKKyByZWFsX2hvc3Rfbm9uY2Fub25pY2FsID0gQHJlYWxfaG9zdF9ub25jYW5vbmljYWxACitkaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eCBiL2xpYmdjYy9jb25maWcvcnM2MDAwL3QtbGludXgKK2luZGV4IDRmNmQ0YzRhNGQyLi5jNTBkZDk0YTJkYSAxMDA2NDQKKy0tLSBhL2xpYmdjYy9jb25maWcvcnM2MDAwL3QtbGludXgKKysrKyBiL2xpYmdjYy9jb25maWcvcnM2MDAwL3QtbGludXgKK0BAIC0xLDMgKzEsNiBAQAorIFNITElCX01BUEZJTEVTICs9ICQoc3JjZGlyKS9jb25maWcvcnM2MDAwL2xpYmdjYy1nbGliYy52ZXIKKyAKKy1IT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtMTI4IC1tbm8tbWluaW1hbC10b2MKKytpZmVxICgkKHdpdGhfbGRibDEyOCkseWVzKQorK0hPU1RfTElCR0NDMl9DRkxBR1MgKz0gLW1sb25nLWRvdWJsZS0xMjgKKytlbmRpZgorK0hPU1RfTElCR0NDMl9DRkxBR1MgKz0gLW1uby1taW5pbWFsLXRvYworZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWd1cmUgYi9saWJnY2MvY29uZmlndXJlCitvbGQgbW9kZSAxMDA2NDQKK25ldyBtb2RlIDEwMDc1NQoraW5kZXggYjJmM2Y4NzA4NDQuLmVkODA2NTg3YzE3CistLS0gYS9saWJnY2MvY29uZmlndXJlCisrKysgYi9saWJnY2MvY29uZmlndXJlCitAQCAtNjE5LDYgKzYxOSw3IEBAIGJ1aWxkX3ZlbmRvcgorIGJ1aWxkX2NwdQorIGJ1aWxkCisgd2l0aF9haXhfc29uYW1lCisrd2l0aF9sZGJsMTI4CisgZW5hYmxlX3Z0YWJsZV92ZXJpZnkKKyBlbmFibGVfc2hhcmVkCisgbGliZ2NjX3RvcGRpcgorQEAgLTY2OCw2ICs2NjksNyBAQCB3aXRoX2Nyb3NzX2hvc3QKKyB3aXRoX2xkCisgZW5hYmxlX3NoYXJlZAorIGVuYWJsZV92dGFibGVfdmVyaWZ5Cisrd2l0aF9sb25nX2RvdWJsZV8xMjgKKyB3aXRoX2FpeF9zb25hbWUKKyBlbmFibGVfdmVyc2lvbl9zcGVjaWZpY19ydW50aW1lX2xpYnMKKyB3aXRoX3NsaWJkaXIKK0BAIC0xMzI5LDYgKzEzMzEsNyBAQCBPcHRpb25hbCBQYWNrYWdlczoKKyAgIC0td2l0aC10YXJnZXQtc3ViZGlyPVNVQkRJUiAgICAgIENvbmZpZ3VyaW5nIGluIGEgc3ViZGlyZWN0b3J5IGZvciB0YXJnZXQKKyAgIC0td2l0aC1jcm9zcy1ob3N0PUhPU1QgICAgICAgICAgIENvbmZpZ3VyaW5nIHdpdGggYSBjcm9zcyBjb21waWxlcgorICAgLS13aXRoLWxkICAgICAgICAgICAgICAgYXJyYW5nZSB0byB1c2UgdGhlIHNwZWNpZmllZCBsZCAoZnVsbCBwYXRobmFtZSkKKysgIC0td2l0aC1sb25nLWRvdWJsZS0xMjggIHVzZSAxMjgtYml0IGxvbmcgZG91YmxlIGJ5IGRlZmF1bHQKKyAgIC0td2l0aC1haXgtc29uYW1lPWFpeHxzdnI0fGJvdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZCBsaWJyYXJ5IHZlcnNpb25pbmcgKGFrYSAiU09OQU1FIikgdmFyaWFudCB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZSBvbiBBSVgKK0BAIC0yMjEzLDYgKzIyMTYsMjEgQEAgZmkKKyAKKyAKKyAKKysjIENoZWNrIHdoZXRoZXIgLS13aXRoLWxvbmctZG91YmxlLTEyOCB3YXMgZ2l2ZW4uCisraWYgdGVzdCAiJHt3aXRoX2xvbmdfZG91YmxlXzEyOCtzZXR9IiA9IHNldDsgdGhlbiA6CisrICB3aXRodmFsPSR3aXRoX2xvbmdfZG91YmxlXzEyODsgd2l0aF9sZGJsMTI4PSIkd2l0aF9sb25nX2RvdWJsZV8xMjgiCisrZWxzZQorKyAgY2FzZSAiJHtob3N0fSIgaW4KKysgcG93ZXIqLSotbXVzbCopCisrICAgd2l0aF9sZGJsMTI4PSJubyI7OworKyAqKSB3aXRoX2xkYmwxMjg9InllcyI7OworKyBlc2FjCisrCisrZmkKKysKKysKKysKKysKKyAjIENoZWNrIHdoZXRoZXIgLS13aXRoLWFpeC1zb25hbWUgd2FzIGdpdmVuLgorIGlmIHRlc3QgIiR7d2l0aF9haXhfc29uYW1lK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgIHdpdGh2YWw9JHdpdGhfYWl4X3NvbmFtZTsgY2FzZSAiJHtob3N0fToke2VuYWJsZV9zaGFyZWR9IiBpbgorZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWd1cmUuYWMgYi9saWJnY2MvY29uZmlndXJlLmFjCitpbmRleCBiNTlhYTc0NmFmYy4uNDIyMjBhMjYzYzUgMTAwNjQ0CistLS0gYS9saWJnY2MvY29uZmlndXJlLmFjCisrKysgYi9saWJnY2MvY29uZmlndXJlLmFjCitAQCAtNzgsNiArNzgsMTggQEAgQUNfQVJHX0VOQUJMRSh2dGFibGUtdmVyaWZ5LAorIFtlbmFibGVfdnRhYmxlX3ZlcmlmeT1ub10pCisgQUNfU1VCU1QoZW5hYmxlX3Z0YWJsZV92ZXJpZnkpCisgCisrQUNfQVJHX1dJVEgobG9uZy1kb3VibGUtMTI4LAorK1tBU19IRUxQX1NUUklORyhbLS13aXRoLWxvbmctZG91YmxlLTEyOF0sCisrICAgIFt1c2UgMTI4LWJpdCBsb25nIGRvdWJsZSBieSBkZWZhdWx0XSldLAorKyAgICAgIHdpdGhfbGRibDEyOD0iJHdpdGhfbG9uZ19kb3VibGVfMTI4IiwKKytbY2FzZSAiJHtob3N0fSIgaW4KKysgcG93ZXIqLSotbXVzbCopCisrICAgd2l0aF9sZGJsMTI4PSJubyI7OworKyAqKSB3aXRoX2xkYmwxMjg9InllcyI7OworKyBlc2FjCisrXSkKKytBQ19TVUJTVCh3aXRoX2xkYmwxMjgpCisrCisgQUNfQVJHX1dJVEgoYWl4LXNvbmFtZSwKKyBbQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1haXgtc29uYW1lPWFpeHxzdnI0fGJvdGhdLAorICAgICBbc2hhcmVkIGxpYnJhcnkgdmVyc2lvbmluZyAoYWthICJTT05BTUUiKSB2YXJpYW50IHRvIHByb3ZpZGUgb24gQUlYXSldLAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzMy1MaW5rLWxpYmdjYy11c2luZy1MREZMQUdTLW5vdC1qdXN0LVNITElCX0xERkxBR1MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDMzLUxpbmstbGliZ2NjLXVzaW5nLUxERkxBR1Mtbm90LWp1c3QtU0hMSUJfTERGTEFHUy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDNmN2FhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzMy1MaW5rLWxpYmdjYy11c2luZy1MREZMQUdTLW5vdC1qdXN0LVNITElCX0xERkxBR1MucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSA3ZTU1MTQ3ZThlNjA5YWNlNmY5ZWVjZDg2YTk1NjYzNjY4NzY3MWYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgNCBNYXkgMjAxNiAyMToxMTozNCAtMDcwMAorU3ViamVjdDogW1BBVENIIDMzLzQwXSBMaW5rIGxpYmdjYyB1c2luZyBMREZMQUdTLCBub3QganVzdCBTSExJQl9MREZMQUdTCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxpYmdjYy9jb25maWcvdC1zbGliZ2NjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MgYi9saWJnY2MvY29uZmlnL3Qtc2xpYmdjYworaW5kZXggN2U2MGI2MjFhMmQuLmVhMjJlZGUzMzYxIDEwMDY0NAorLS0tIGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MKKysrKyBiL2xpYmdjYy9jb25maWcvdC1zbGliZ2NjCitAQCAtMzIsNyArMzIsNyBAQCBTSExJQl9JTlNUQUxMX1NPTElOSyA9ICQoTE5fUykgJChTSExJQl9TT05BTUUpIFwKKyAJJChERVNURElSKSQoc2xpYmRpcikkKFNITElCX1NMSUJESVJfUVVBTCkvJChTSExJQl9TT0xJTkspCisgCisgU0hMSUJfTElOSyA9ICQoQ0MpICQoTElCR0NDMl9DRkxBR1MpIC1zaGFyZWQgLW5vZGVmYXVsdGxpYnMgXAorLQkkKFNITElCX0xERkxBR1MpIFwKKysJJChMREZMQUdTKSAkKFNITElCX0xERkxBR1MpIFwKKyAJLW8gJChTSExJQl9ESVIpLyQoU0hMSUJfU09OQU1FKS50bXAgQG11bHRpbGliX2ZsYWdzQCBcCisgCSQoU0hMSUJfT0JKUykgJChTSExJQl9MQykgJiYgXAorIAlybSAtZiAkKFNITElCX0RJUikvJChTSExJQl9TT0xJTkspICYmIFwKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzQtbGliZ2NjX3MtVXNlLWFsaWFzLWZvci1fX2NwdV9pbmRpY2F0b3JfaW5pdC1pbnN0ZWFkLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzQtbGliZ2NjX3MtVXNlLWFsaWFzLWZvci1fX2NwdV9pbmRpY2F0b3JfaW5pdC1pbnN0ZWFkLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MjIyNGNjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzNC1saWJnY2Nfcy1Vc2UtYWxpYXMtZm9yLV9fY3B1X2luZGljYXRvcl9pbml0LWluc3RlYWQtLnBhdGNoCkBAIC0wLDAgKzEsODUgQEAKK0Zyb20gNDZjYTUxZGQ0MTMzMzBiYjg0MjViMDYyODNlNzY2N2JmYjUwN2MzZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN6YWJvbGNzIE5hZ3kgPG5zekBwb3J0NzAubmV0PgorRGF0ZTogU2F0LCAyNCBPY3QgMjAxNSAyMDowOTo1MyArMDAwMAorU3ViamVjdDogW1BBVENIIDM0LzQwXSBsaWJnY2NfczogVXNlIGFsaWFzIGZvciBfX2NwdV9pbmRpY2F0b3JfaW5pdCBpbnN0ZWFkIG9mIHN5bXZlcgorCitBZGFwdGVyIGZyb20KKworaHR0cHM6Ly9nY2MuZ251Lm9yZy9tbC9nY2MtcGF0Y2hlcy8yMDE1LTA1L21zZzAwODk5Lmh0bWwKKworVGhpcyBmaXggd2FzIGRlYmF0ZWQgYnV0IGhhc250IGJlZW4gYXBwbGllZCBnY2MgdXBzdHJlYW0gc2luY2UKK3RoZXkgZXhwZWN0IG11c2wgdG8gc3VwcG9ydCAnQCcgaW4gc3ltYm9sIHZlcnNpb25pbmcgd2hpY2ggaXMKK2Egc3VuL2dudSB2ZXJzaW9uaW5nIGV4dGVudGlvbi4gVGhpcyBwYXRjaCBob3dldmVyIGF2b2lkcyB0aGUKK25lZWQgZm9yIHRoZSAnQCcgc3ltYm9scyBhdCBhbGwKKworbGliZ2NjL0NoYW5nZWxvZzoKKworMjAxNS0wNS0xMSAgU3phYm9sY3MgTmFneSAgPHN6YWJvbGNzLm5hZ3lAYXJtLmNvbT4KKworCSogY29uZmlnL2kzODYvY3B1aW5mby5jIChfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCk6IEFkZC4KKwkoX19jcHVfaW5kaWNhdG9yX2luaXRAR0NDXzQuOC4wLCBfX2NwdV9tb2RlbEBHQ0NfNC44LjApOiBSZW1vdmUuCisKKwkqIGNvbmZpZy9pMzg2L3QtbGludXggKEhPU1RfTElCR0NDMl9DRkxBR1MpOiBSZW1vdmUgLURVU0VfRUxGX1NZTVZFUi4KKworZ2NjL0NoYW5nZWxvZzoKKworMjAxNS0wNS0xMSAgU3phYm9sY3MgTmFneSAgPHN6YWJvbGNzLm5hZ3lAYXJtLmNvbT4KKworCSogY29uZmlnL2kzODYvaTM4Ni5jIChpeDg2X2V4cGFuZF9idWlsdGluKTogTWFrZSBfX2J1aWx0aW5fY3B1X2luaXQKKwljYWxsIF9fY3B1X2luZGljYXRvcl9pbml0X2xvY2FsIGluc3RlYWQgb2YgX19jcHVfaW5kaWNhdG9yX2luaXQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL2NvbmZpZy9pMzg2L2kzODYuYyAgICAgICB8IDQgKystLQorIGxpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMgfCA2ICsrKy0tLQorIGxpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4ICAgfCAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvaTM4Ni5jIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYworaW5kZXggYTg4YTI5YjUxZTYuLjZmM2Y1MTg3OTcwIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYworKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYworQEAgLTM2NTU1LDEwICszNjU1NSwxMCBAQCBpeDg2X2V4cGFuZF9idWlsdGluICh0cmVlIGV4cCwgcnR4IHRhcmdldCwgcnR4IHN1YnRhcmdldCwKKyAgICAgeworICAgICBjYXNlIElYODZfQlVJTFRJTl9DUFVfSU5JVDoKKyAgICAgICB7CistCS8qIE1ha2UgaXQgY2FsbCBfX2NwdV9pbmRpY2F0b3JfaW5pdCBpbiBsaWJnY2MuICovCisrCS8qIE1ha2UgaXQgY2FsbCBfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCBpbiBsaWJnY2MuYS4gKi8KKyAJdHJlZSBjYWxsX2V4cHIsIGZuZGVjbCwgdHlwZTsKKyAgICAgICAgIHR5cGUgPSBidWlsZF9mdW5jdGlvbl90eXBlX2xpc3QgKGludGVnZXJfdHlwZV9ub2RlLCBOVUxMX1RSRUUpOyAKKy0JZm5kZWNsID0gYnVpbGRfZm5fZGVjbCAoIl9fY3B1X2luZGljYXRvcl9pbml0IiwgdHlwZSk7CisrCWZuZGVjbCA9IGJ1aWxkX2ZuX2RlY2wgKCJfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCIsIHR5cGUpOworIAljYWxsX2V4cHIgPSBidWlsZF9jYWxsX2V4cHIgKGZuZGVjbCwgMCk7IAorIAlyZXR1cm4gZXhwYW5kX2V4cHIgKGNhbGxfZXhwciwgdGFyZ2V0LCBtb2RlLCBFWFBBTkRfTk9STUFMKTsKKyAgICAgICB9CitkaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy9pMzg2L2NwdWluZm8uYyBiL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKK2luZGV4IGQxODUzZDU1MTViLi44NjQxNTBjOTI0OSAxMDA2NDQKKy0tLSBhL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKKysrKyBiL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKK0BAIC00ODUsNyArNDg1LDcgQEAgX19jcHVfaW5kaWNhdG9yX2luaXQgKHZvaWQpCisgICByZXR1cm4gMDsKKyB9CisgCistI2lmIGRlZmluZWQgU0hBUkVEICYmIGRlZmluZWQgVVNFX0VMRl9TWU1WRVIKKy1fX2FzbV9fICgiLnN5bXZlciBfX2NwdV9pbmRpY2F0b3JfaW5pdCwgX19jcHVfaW5kaWNhdG9yX2luaXRAR0NDXzQuOC4wIik7CistX19hc21fXyAoIi5zeW12ZXIgX19jcHVfbW9kZWwsIF9fY3B1X21vZGVsQEdDQ180LjguMCIpOworKyNpZm5kZWYgU0hBUkVECisraW50IF9fY3B1X2luZGljYXRvcl9pbml0X2xvY2FsICh2b2lkKQorKyAgX19hdHRyaWJ1dGVfXyAoKHdlYWssIGFsaWFzICgiX19jcHVfaW5kaWNhdG9yX2luaXQiKSkpOworICNlbmRpZgorZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4IGIvbGliZ2NjL2NvbmZpZy9pMzg2L3QtbGludXgKK2luZGV4IDg1MDZhNjM1NzkwLi41NjQyOTZmNzg4ZSAxMDA2NDQKKy0tLSBhL2xpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4CisrKysgYi9saWJnY2MvY29uZmlnL2kzODYvdC1saW51eAorQEAgLTMsNSArMyw1IEBACisgIyB0LXNsaWJnY2MtZWxmLXZlciBhbmQgdC1saW51eAorIFNITElCX01BUEZJTEVTID0gbGliZ2NjLXN0ZC52ZXIgJChzcmNkaXIpL2NvbmZpZy9pMzg2L2xpYmdjYy1nbGliYy52ZXIKKyAKKy1IT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtODAgLURVU0VfRUxGX1NZTVZFUiAkKENFVF9GTEFHUykKKytIT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtODAgJChDRVRfRkxBR1MpCisgQ1JUU1RVRkZfVF9DRkxBR1MgKz0gJChDRVRfRkxBR1MpCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDM1LXN5bmMtZ2NjLXN0ZGRlZi5oLXdpdGgtbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzUtc3luYy1nY2Mtc3RkZGVmLmgtd2l0aC1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlY2Q2ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDM1LXN5bmMtZ2NjLXN0ZGRlZi5oLXdpdGgtbXVzbC5wYXRjaApAQCAtMCwwICsxLDkxIEBACitGcm9tIDM4ZDQwMWZiNmFiNTU1ZDA5ZjRhOWE2Nzc3MjFkZGUwNzQzODc2ZTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAzIEZlYiAyMDE3IDEyOjU2OjAwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0ggMzUvNDBdIHN5bmMgZ2NjIHN0ZGRlZi5oIHdpdGggbXVzbAorCittdXNsIGRlZmluZXMgcHRyZGlmZl90IHNpemVfdCBhbmQgd2NoYXJfdAorc28gZG9udCBkZWZpbmUgdGhlbSBoZXJlIGlmIG11c2wgaXMgZGVmaW5pbmluZyB0aGVtCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL2dpbmNsdWRlL3N0ZGRlZi5oIHwgOSArKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nY2MvZ2luY2x1ZGUvc3RkZGVmLmggYi9nY2MvZ2luY2x1ZGUvc3RkZGVmLmgKK2luZGV4IDMxYjk2YTdlNWUxLi40MzhhM2NlN2M1NiAxMDA2NDQKKy0tLSBhL2djYy9naW5jbHVkZS9zdGRkZWYuaAorKysrIGIvZ2NjL2dpbmNsdWRlL3N0ZGRlZi5oCitAQCAtMTM0LDYgKzEzNCw3IEBAIF9UWVBFX3djaGFyX3Q7CisgI2lmbmRlZiBfX19pbnRfcHRyZGlmZl90X2gKKyAjaWZuZGVmIF9HQ0NfUFRSRElGRl9UCisgI2lmbmRlZiBfUFRSRElGRl9UX0RFQ0xBUkVEIC8qIERyYWdvbkZseSAqLworKyNpZm5kZWYgX19ERUZJTkVEX3B0cmRpZmZfdCAvKiBtdXNsICovCisgI2RlZmluZSBfUFRSRElGRl9UCisgI2RlZmluZSBfVF9QVFJESUZGXworICNkZWZpbmUgX1RfUFRSRElGRgorQEAgLTE0MywxMCArMTQ0LDEyIEBAIF9UWVBFX3djaGFyX3Q7CisgI2RlZmluZSBfX19pbnRfcHRyZGlmZl90X2gKKyAjZGVmaW5lIF9HQ0NfUFRSRElGRl9UCisgI2RlZmluZSBfUFRSRElGRl9UX0RFQ0xBUkVECisrI2RlZmluZSBfX0RFRklORURfcHRyZGlmZl90IC8qIG11c2wgKi8KKyAjaWZuZGVmIF9fUFRSRElGRl9UWVBFX18KKyAjZGVmaW5lIF9fUFRSRElGRl9UWVBFX18gbG9uZyBpbnQKKyAjZW5kaWYKKyB0eXBlZGVmIF9fUFRSRElGRl9UWVBFX18gcHRyZGlmZl90OworKyNlbmRpZiAvKiBfX0RFRklORURfcHRyZGlmZl90ICovCisgI2VuZGlmIC8qIF9QVFJESUZGX1RfREVDTEFSRUQgKi8KKyAjZW5kaWYgLyogX0dDQ19QVFJESUZGX1QgKi8KKyAjZW5kaWYgLyogX19faW50X3B0cmRpZmZfdF9oICovCitAQCAtMTg0LDYgKzE4Nyw3IEBAIHR5cGVkZWYgX19QVFJESUZGX1RZUEVfXyBwdHJkaWZmX3Q7CisgI2lmbmRlZiBfR0NDX1NJWkVfVAorICNpZm5kZWYgX1NJWkVUXworICNpZm5kZWYgX19zaXplX3QKKysjaWZuZGVmIF9fREVGSU5FRF9zaXplX3QgLyogbXVzbCAqLworICNkZWZpbmUgX19zaXplX3RfXwkvKiBCZU9TICovCisgI2RlZmluZSBfX1NJWkVfVF9fCS8qIENyYXkgVW5pY29zL01rICovCisgI2RlZmluZSBfU0laRV9UCitAQCAtMjAwLDYgKzIwNCw3IEBAIHR5cGVkZWYgX19QVFJESUZGX1RZUEVfXyBwdHJkaWZmX3Q7CisgI2RlZmluZSBfX19pbnRfc2l6ZV90X2gKKyAjZGVmaW5lIF9HQ0NfU0laRV9UCisgI2RlZmluZSBfU0laRVRfCisrI2RlZmluZSBfX0RFRklORURfc2l6ZV90IC8qIG11c2wgKi8KKyAjaWYgKGRlZmluZWQgKF9fRnJlZUJTRF9fKSAmJiAoX19GcmVlQlNEX18gPj0gNSkpIFwKKyAgIHx8IGRlZmluZWQoX19EcmFnb25GbHlfXykgXAorICAgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCitAQCAtMjM1LDYgKzI0MCw3IEBAIHR5cGVkZWYgbG9uZyBzc2l6ZV90OworICNlbmRpZiAvKiBfU0laRV9UICovCisgI2VuZGlmIC8qIF9fU0laRV9UX18gKi8KKyAjZW5kaWYgLyogX19zaXplX3RfXyAqLworKyNlbmRpZiAvKiBfX0RFRklORURfc2l6ZV90ICovCisgI3VuZGVmCV9fbmVlZF9zaXplX3QKKyAjZW5kaWYgLyogX1NURERFRl9IIG9yIF9fbmVlZF9zaXplX3QuICAqLworIAorQEAgLTI2NCw2ICsyNzAsNyBAQCB0eXBlZGVmIGxvbmcgc3NpemVfdDsKKyAjaWZuZGVmIF9fX2ludF93Y2hhcl90X2gKKyAjaWZuZGVmIF9fSU5UX1dDSEFSX1RfSAorICNpZm5kZWYgX0dDQ19XQ0hBUl9UCisrI2lmbmRlZiBfX0RFRklORURfd2NoYXJfdCAvKiBtdXNsICovCisgI2RlZmluZSBfX3djaGFyX3RfXwkvKiBCZU9TICovCisgI2RlZmluZSBfX1dDSEFSX1RfXwkvKiBDcmF5IFVuaWNvcy9NayAqLworICNkZWZpbmUgX1dDSEFSX1QKK0BAIC0yNzksNiArMjg2LDcgQEAgdHlwZWRlZiBsb25nIHNzaXplX3Q7CisgI2RlZmluZSBfX0lOVF9XQ0hBUl9UX0gKKyAjZGVmaW5lIF9HQ0NfV0NIQVJfVAorICNkZWZpbmUgX1dDSEFSX1RfREVDTEFSRUQKKysjZGVmaW5lIF9fREVGSU5FRF93Y2hhcl90IC8qIG11c2wgKi8KKyAKKyAvKiBPbiBCU0QvMzg2IDEuMSwgYXQgbGVhc3QsIG1hY2hpbmUvYW5zaS5oIGRlZmluZXMgX0JTRF9XQ0hBUl9UXworICAgIGluc3RlYWQgb2YgX1dDSEFSX1RfLCBhbmQgX0JTRF9SVU5FX1RfICh3aGljaCwgdW5saWtlIHRoZSBvdGhlcgorQEAgLTM0NCw2ICszNTIsNyBAQCB0eXBlZGVmIF9fV0NIQVJfVFlQRV9fIHdjaGFyX3Q7CisgI2VuZGlmCisgI2VuZGlmIC8qIF9fV0NIQVJfVF9fICovCisgI2VuZGlmIC8qIF9fd2NoYXJfdF9fICovCisrI2VuZGlmIC8qIF9fREVGSU5FRF93Y2hhcl90IG11c2wgKi8KKyAjdW5kZWYJX19uZWVkX3djaGFyX3QKKyAjZW5kaWYgLyogX1NURERFRl9IIG9yIF9fbmVlZF93Y2hhcl90LiAgKi8KKyAKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzYtZml4LXNlZ21lbnRhdGlvbi1mYXVsdC1pbi1wcmVjb21waWxlZC1oZWFkZXItZ2VuZXJhdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzYtZml4LXNlZ21lbnRhdGlvbi1mYXVsdC1pbi1wcmVjb21waWxlZC1oZWFkZXItZ2VuZXJhdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNGNlNWRiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzNi1maXgtc2VnbWVudGF0aW9uLWZhdWx0LWluLXByZWNvbXBpbGVkLWhlYWRlci1nZW5lcmF0LnBhdGNoCkBAIC0wLDAgKzEsNjAgQEAKK0Zyb20gYTliYjI5YTRlOWI0NzhmOWIxMjZlNDgzNDY3Y2U5MDMxYzMzZmU0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEp1cm8gQnlzdHJpY2t5IDxqdXJvLmJ5c3RyaWNreUBpbnRlbC5jb20+CitEYXRlOiBNb24sIDE5IE1hciAyMDE4IDIyOjMxOjIwIC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMzYvNDBdIGZpeCBzZWdtZW50YXRpb24gZmF1bHQgaW4gcHJlY29tcGlsZWQgaGVhZGVyIGdlbmVyYXRpb24KKworUHJldmVudCBhIHNlZ21lbnRhdGlvbiBmYXVsdCB3aGljaCBvY2N1cnMgd2hlbiB1c2luZyBpbmNvcnJlY3QKK3N0cnVjdHVyZSB0cnlpbmcgdG8gYWNjZXNzIG5hbWUgb2Ygc29tZSBuYW1lZCBvcGVyYXRvcnMsIHN1Y2ggYXMKK0NQUF9OT1QsIENQUF9BTkQgZXRjLiAidG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nIiBjYW5ub3QgYmUgdXNlZCBpbgordGhvc2UgY2FzZXMsIGFzIGlzIG1heSBub3QgYmUgaW5pdGlhbGl6ZWQgYXQgYWxsLgorCitbWU9DVE8gIzExNzM4XQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlzdHJpY2t5QGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBsaWJjcHAvbGV4LmMgfCAyNiArKysrKysrKysrKysrKysrKysrKystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliY3BwL2xleC5jIGIvbGliY3BwL2xleC5jCitpbmRleCAzN2MzNjVhMzU2MC4uNjM0ODAwNDhkYjYgMTAwNjQ0CistLS0gYS9saWJjcHAvbGV4LmMKKysrKyBiL2xpYmNwcC9sZXguYworQEAgLTMyNzksMTEgKzMyNzksMjcgQEAgY3BwX3NwZWxsX3Rva2VuIChjcHBfcmVhZGVyICpwZmlsZSwgY29uc3QgY3BwX3Rva2VuICp0b2tlbiwKKyAgICAgc3BlbGxfaWRlbnQ6CisgICAgIGNhc2UgU1BFTExfSURFTlQ6CisgICAgICAgaWYgKGZvcnN0cmluZykKKy0JeworLQkgIG1lbWNweSAoYnVmZmVyLCBOT0RFX05BTUUgKHRva2VuLT52YWwubm9kZS5zcGVsbGluZyksCistCQkgIE5PREVfTEVOICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpKTsKKy0JICBidWZmZXIgKz0gTk9ERV9MRU4gKHRva2VuLT52YWwubm9kZS5zcGVsbGluZyk7CistCX0KKysgICAgICAgIHsKKysgICAgICAgICAgaWYgKHRva2VuLT50eXBlID09IENQUF9OQU1FKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgIG1lbWNweSAoYnVmZmVyLCBOT0RFX05BTUUgKHRva2VuLT52YWwubm9kZS5zcGVsbGluZyksCisrICAgICAgICAgICAgICAgICAgICBOT0RFX0xFTiAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKSk7CisrICAgICAgICAgICAgICBidWZmZXIgKz0gTk9ERV9MRU4gKHRva2VuLT52YWwubm9kZS5zcGVsbGluZyk7CisrICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICB9CisrICAgICAgICAgIC8qIE5BTUVEX09QLCBjYW5ub3QgdXNlIG5vZGUuc3BlbGxpbmcgKi8KKysgICAgICAgICAgaWYgKHRva2VuLT5mbGFncyAmIE5BTUVEX09QKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnN0ciA9IGNwcF9uYW1lZF9vcGVyYXRvcjJuYW1lICh0b2tlbi0+dHlwZSk7CisrICAgICAgICAgICAgICBpZiAoc3RyKQorKyAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgc2l6ZV90IGxlbiA9IHN0cmxlbihzdHIpOworKyAgICAgICAgICAgICAgICAgIG1lbWNweShidWZmZXIsIHN0ciwgbGVuKTsKKysgICAgICAgICAgICAgICAgICBidWZmZXIgKz0gbGVuOworKyAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisgICAgICAgZWxzZQorIAlidWZmZXIgPSBfY3BwX3NwZWxsX2lkZW50X3VjbnMgKGJ1ZmZlciwgdG9rZW4tPnZhbC5ub2RlLm5vZGUpOworICAgICAgIGJyZWFrOworLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzNy1GaXgtZm9yLXRlc3RzdWl0ZS1mYWlsdXJlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzNy1GaXgtZm9yLXRlc3RzdWl0ZS1mYWlsdXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwOTk5ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDM3LUZpeC1mb3ItdGVzdHN1aXRlLWZhaWx1cmUucGF0Y2gKQEAgLTAsMCArMSwyNTggQEAKK0Zyb20gMWU1YzFlZjM0ZDkyYjQxNTdlMWEyNGNhNzQzZDQ1ZjNhNzM3NWE1ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJBR0hVTkFUSCBMT0xVUiA8cmFnaHVuYXRoLmxvbHVyQGtwaXQuY29tPgorRGF0ZTogV2VkLCA2IERlYyAyMDE3IDIyOjUyOjI2IC0wODAwCitTdWJqZWN0OiBbUEFUQ0ggMzcvNDBdIEZpeCBmb3IgdGVzdHN1aXRlIGZhaWx1cmUKKworMjAxNy0xMS0xNiAgUmFnaHVuYXRoIExvbHVyICA8cmFnaHVuYXRoLmxvbHVyQGtwaXQuY29tPgorCisJKiBnY2MuZGcvcHI1NjI3NS5jOiBJZiBTU0UgaXMgZGlzYWJsZWQsIGVuc3VyZSB0aGF0CisJIi1tZnBtYXRoIiBpcyBub3Qgc2V0IHRvIHVzZSBTU0UuIFNldCAiLW1mcG1hdGg9Mzg3Ii4KKwkqIGdjYy5kZy9wcjY4MzA2LmM6IExpa2V3aXNlCisJKiBnY2MuZGcvcHI2ODMwNi0yLmM6IExpa2V3aXNlCisJKiBnY2MuZGcvcHI2ODMwNi0zLmM6IExpa2V3aXNlCisJKiBnY2MuZGcvcHI2OTYzNC5jOiBMaWtld2lzZQorCSogZ2NjLnRhcmdldC9pMzg2L2FtZDY0LWFiaS0xLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jOiBMaWtld2lzZQorCSogZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYzogTGlrZXdpc2UKKwkqIGdjYy50YXJnZXQvaTM4Ni9pc2EtMTQuYzogTGlrZXdpc2UKKwkqIGdjYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jOiBMaWtld2lzZQorCSogZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYzogTGlrZXdpc2UKKwkqIGdjYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYzogTGlrZXdpc2UKKworSWYgLVdhbGwsIC1XZXJyb3IgYXJlIHVzZWQgZHVyaW5nIGNvbXBpbGF0aW9uIHZhcmlvdXMgdGVzdCBjYXNlcyBmYWlsCit0byBjb21waWxlLgorCitJZiBTU0UgaXMgZGlzYWJsZWQsIGJlIHN1cmUgdG8gLW1mcG1hdGg9Mzg3IHRvIHJlc29sdmUgdGhpcy4KKworVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBjaGFuZ2VzIHRvIENoYW5nZWxvZyBmcm9tIHRoZSBvcmlnaW5hbCBwYXRjaC4KK1RoaXMgd2lsbCBoZWxwIHVzIGF2b2lkIGNvbmZsaWN0cy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KKy0tLQorIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTIuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQorIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYuYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMgICAgICAgICAgICAgICAgICAgICAgfCAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYW1kNjQtYWJpLTEuYyAgICAgICAgIHwgMiArLQorIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTYuYyAgICAgICAgICB8IDEgKworIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYyB8IDIgKy0KKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYyAgICAgICAgICAgICAgfCAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jICAgICAgICAgIHwgMiArLQorIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jICAgICAgICAgICB8IDIgKy0KKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYyAgICAgICAgICAgfCAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jICAgICAgICAgICAgIHwgMiArLQorIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYyAgICAgICAgICAgICB8IDIgKy0KKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmMgICAgICAgICAgICAgfCAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMgICAgICAgICAgIHwgMiArLQorIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMgICAgICB8IDIgKy0KKyAxNyBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYworaW5kZXggYjkwMWJiMmIxOTkuLmE0ZjZjOTVlMWExIDEwMDY0NAorLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI1NjI3NS5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjU2Mjc1LmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCisgLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KKy0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UiIHsgdGFyZ2V0IHsgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gfSAqLworKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIHsgdGFyZ2V0IHsgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gfSAqLworIAorIHR5cGVkZWYgbG9uZyBsb25nIHYydHcgX19hdHRyaWJ1dGVfXyAoKHZlY3Rvcl9zaXplICgyICogc2l6ZW9mIChsb25nIGxvbmcpKSkpOworIAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0yLmMKK2luZGV4IDQ2NzJlYmU3OTg3Li4yYTM2OGM0ODRiNiAxMDA2NDQKKy0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTIuYworQEAgLTEsNiArMSw2IEBACisgLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKyAvKiB7IGRnLW9wdGlvbnMgIi1PMyIgfSAqLworLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbW5vLW1teCIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KKysvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXggLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLworIAorIHN0cnVjdCB7CisgICAgIGludCB0el9taW51dGVzd2VzdDsKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMy5jCitpbmRleCBmNWE4YzEwMmNmOC4uZGYzMzkwYzY0YzIgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTMuYworKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCisgLyogeyBkZy1vcHRpb25zICItTzMiIH0gKi8KKy0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXgiIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCisrLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIC1tbm8tbW14IC1tZnBtYXRoPTM4NyIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KKyAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1hbHRpdmVjIC1tbm8tdnN4IiB7IHRhcmdldCBwb3dlcnBjKi0qLSogfSB9ICovCisgCisgZXh0ZXJuIHZvaWQgZm4yKCk7CitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jCitpbmRleCA1NGU1YjQwZjIyMS4uMDgxMzM4OWUyYzEgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYuYworQEAgLTEsNiArMSw2IEBACisgLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKyAvKiB7IGRnLW9wdGlvbnMgIi1PMyIgfSAqLworLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbW5vLW1teCIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KKysvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXggLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLworIAorIGVudW0gcG93ZXJwY19wbWNfdHlwZSB7IFBQQ19QTUNfSUJNIH07Cisgc3RydWN0IHsKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMKK2luZGV4IDYwYTU2MTQ5NDYzLi5iY2MyM2Y5Y2NkNiAxMDA2NDQKKy0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjk2MzQuYworKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jCitAQCAtMSw2ICsxLDYgQEAKKyAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworIC8qIHsgZGctb3B0aW9ucyAiLU8yIC1mbm8tZGNlIC1mc2NoZWR1bGUtaW5zbnMgLWZuby10cmVlLXZycCAtZmNvbXBhcmUtZGVidWcgLVduby1wc2FiaSIgfSAqLworLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KKysvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLworIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHNjaGVkdWxpbmcgfSAqLworIAorIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgdTE2OworZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2FtZDY0LWFiaS0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCitpbmRleCA2OWZkZTU3YmYwNi4uN2YxZjFjMDNlZGYgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCitAQCAtMSw1ICsxLDUgQEAKKyAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gKi8KKy0vKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIiB9ICovCisrLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KKyAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1hYmk9c3lzdiIgeyB0YXJnZXQgKi0qLW1pbmd3KiB9IH0gKi8KKyAKKyBkb3VibGUgZm9vKHZvaWQpIHsgcmV0dXJuIDA7IH0JLyogeyBkZy1lcnJvciAiU1NFIGRpc2FibGVkIiB9ICovCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jCitpbmRleCBlYTg5NmI3ZWJmZC4uYmYxNTU2OWI4MjYgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9mdW5jc3BlYy02LmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTYuYworQEAgLTEsNiArMSw3IEBACisgLyogVGVzdCB3aGV0aGVyIGFsbCBvZiB0aGUgNjQtYml0IGZ1bmN0aW9uIHNwZWNpZmljIG9wdGlvbnMgYXJlIGFjY2VwdGVkCisgICAgd2l0aG91dCBlcnJvci4gICovCisgLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9ICovCisrLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tZnBtYXRoPTM4NyIgfSAqLworIAorICNpbmNsdWRlICJmdW5jc3BlYy01Ni5pbmMiCisgCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jCitpbmRleCAzZmJkYzg4MWRkYS4uNmI0ZDlkMTI1MmEgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pbnRlcnJ1cHQtMzg3LWVyci0xLmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYworQEAgLTEsNSArMSw1IEBACisgLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbWdlbmVyYWwtcmVncy1vbmx5IC1tbm8tY2xkIC1tbm8taWFtY3UgLW04MDM4NyIgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tZ2VuZXJhbC1yZWdzLW9ubHkgLW1uby1jbGQgLW1uby1pYW1jdSAtbTgwMzg3IC1tZnBtYXRoPTM4NyIgfSAqLworIAorIHR5cGVkZWYgdW5zaWduZWQgaW50IHV3b3JkX3QgX19hdHRyaWJ1dGVfXyAoKG1vZGUgKF9fd29yZF9fKSkpOworIAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaXNhLTE0LmMKK2luZGV4IDVkNDllNmU3N2ZlLi4xZGUyZGI5MmJkZCAxMDA2NDQKKy0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYworQEAgLTEsNSArMSw1IEBACisgLyogeyBkZy1kbyBydW4gfSAqLworLS8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSIgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KKyAKKyBleHRlcm4gdm9pZCBhYm9ydCAodm9pZCk7CisgCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jCitpbmRleCBmYTE3NjliNjJmYi4uZjc5ZmIxMjcyNmYgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNDQ5NDgtMmIuYworQEAgLTEsNSArMSw1IEBACisgLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy0vKiB7IGRnLW9wdGlvbnMgIi1PIC1tbm8tc3NlIC1Xbm8tcHNhYmkgLW10dW5lPWdlbmVyaWMiIH0gKi8KKysvKiB7IGRnLW9wdGlvbnMgIi1PIC1tbm8tc3NlIC1Xbm8tcHNhYmkgLW10dW5lPWdlbmVyaWMgLW1mcG1hdGg9Mzg3IiB9ICovCisgCisgc3RydWN0IEEKKyB7IAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmMKK2luZGV4IDJlODlmZjdkODFkLi42MzM5YmY2YjczNiAxMDA2NDQKKy0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTEuYworQEAgLTEsNiArMSw2IEBACisgLyogUFIgdGFyZ2V0LzUzNDI1ICovCisgLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9ICovCistLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UiIH0gKi8KKysvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KKyAvKiB7IGRnLXNraXAtaWYgIm5vIFNTRSB2ZWN0b3IiIHsgeDg2XzY0LSotbWluZ3cqIH0gfSAqLworIAorIHR5cGVkZWYgZG91YmxlIF9fdjJkZiBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICgxNikpKTsKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMi5jCitpbmRleCA2MWY2MjgzZGJlOS4uMmM1YTU1ZjBhYzMgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYworKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qIFBSIHRhcmdldC81MzQyNSAqLworIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLworLS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIiB9ICovCisrLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCisgLyogeyBkZy1za2lwLWlmICJubyBTU0UgdmVjdG9yIiB7IHg4Nl82NC0qLW1pbmd3KiB9IH0gKi8KKyAKKyB0eXBlZGVmIGZsb2F0IF9fdjJzZiBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICg4KSkpOworZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYworaW5kZXggMjMzNjZkMDkwOWQuLjk4MTBlM2FiYjc2IDEwMDY0NAorLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU1MjQ3LmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLworIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IG1heWJlX3gzMiB9ICovCistLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UgLW1uby1tbXggLW14MzIgLW1hZGRyZXNzLW1vZGU9bG9uZyIgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tbm8tbW14IC1teDMyIC1tYWRkcmVzcy1tb2RlPWxvbmcgLW1mcG1hdGg9Mzg3IiB9ICovCisgCisgdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludDMyX3Q7CisgdHlwZWRlZiB1aW50MzJfdCBFbGYzMl9Xb3JkOworZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYworaW5kZXggOTYwMDZiM2UzMzguLjQyODdlNDUzOGJmIDEwMDY0NAorLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1OTY0NC5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU5NjQ0LmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qIFBSIHRhcmdldC81OTY0NCAqLworIC8qIHsgZGctZG8gcnVuIHsgdGFyZ2V0IGxwNjQgfSB9ICovCistLyogeyBkZy1vcHRpb25zICItTzIgLWZmcmVlc3RhbmRpbmcgLW1uby1zc2UgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9MyAtbWFjY3VtdWxhdGUtb3V0Z29pbmctYXJncyAtbW5vLXJlZC16b25lIiB9ICovCisrLyogeyBkZy1vcHRpb25zICItTzIgLWZmcmVlc3RhbmRpbmcgLW1uby1zc2UgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9MyAtbWFjY3VtdWxhdGUtb3V0Z29pbmctYXJncyAtbW5vLXJlZC16b25lIC1tZnBtYXRoPTM4NyIgfSAqLworIAorIC8qIFRoaXMgdGVzdCB1c2VzIF9fYnVpbHRpbl90cmFwICgpIGluc3RlYWQgb2YgZS5nLiBhYm9ydCwKKyAgICBiZWNhdXNlIGR1ZSB0byAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeT0zIGl0IHNob3VsZCBub3QgY2FsbAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYworaW5kZXggYmZiOGM0NzAzZWIuLmVkMDRjZjE4MWYzIDEwMDY0NAorLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI2MjEyMC5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmMKK0BAIC0xLDUgKzEsNSBAQAorIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCistLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSIgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCisgCisgdm9pZCBmb28gKCkKKyB7CitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYworaW5kZXggNGUxMTJjODhkMDcuLmJjZmIzOTZhNjhkIDEwMDY0NAorLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNzA0NjctMS5jCitAQCAtMSw2ICsxLDYgQEAKKyAvKiBQUiBydGwtb3B0aW1pemF0aW9uLzcwNDY3ICovCisgLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSIgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tZnBtYXRoPTM4NyIgfSAqLworIAorIHZvaWQgZm9vICh1bnNpZ25lZCBsb25nIGxvbmcgKik7CisgCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKK2luZGV4IDZjZGExNTM0MzExLi4yNmUzN2Y1YjhiYSAxMDA2NDQKKy0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKK0BAIC0xLDUgKzEsNSBAQAorIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAgKi8KKy0vKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIC1XdmVjdG9yLW9wZXJhdGlvbi1wZXJmb3JtYW5jZSIgfSAgKi8KKysvKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIC1XdmVjdG9yLW9wZXJhdGlvbi1wZXJmb3JtYW5jZSAtbWZwbWF0aD0zODciIH0gICovCisgI2RlZmluZSB2ZWN0b3IoZWxjb3VudCwgdHlwZSkgIFwKKyBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgoZWxjb3VudCkqc2l6ZW9mKHR5cGUpKSkpIHR5cGUKKyAKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzgtUmUtaW50cm9kdWNlLXNwZS1jb21tYW5kbGluZS1vcHRpb25zLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzOC1SZS1pbnRyb2R1Y2Utc3BlLWNvbW1hbmRsaW5lLW9wdGlvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGRlODg5MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzgtUmUtaW50cm9kdWNlLXNwZS1jb21tYW5kbGluZS1vcHRpb25zLnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gZjBiZWE5NjQzNGFjNDc4YzNjZmY4YzI5ZGQ5N2NjY2ZhYzViMzVlMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDYgSnVuIDIwMTggMTI6MTA6MjIgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAzOC80MF0gUmUtaW50cm9kdWNlIHNwZSBjb21tYW5kbGluZSBvcHRpb25zCisKK1RoaXMgc2hvdWxkIGVuc3VyZSB0aGF0IHdlIGtlZXAgYWNjZXB0aW5nCitzcGUgb3B0aW9ucworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW1NQRSBwb3J0IGlzIHJlbW92ZWQgZnJvbSByczYwMCBwb3J0XQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm9wdCB8IDEyICsrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9yczYwMDAub3B0IGIvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm9wdAoraW5kZXggYWNlOGE0Nzc1NTAuLmQ2YThmODI1ZDg4IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm9wdAorKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm9wdAorQEAgLTM2NSw2ICszNjUsMTggQEAgbWRlYnVnPQorIFRhcmdldCBSZWplY3ROZWdhdGl2ZSBKb2luZWQKKyAtbWRlYnVnPQlFbmFibGUgZGVidWcgb3V0cHV0LgorIAorK21zcGUKKytUYXJnZXQgVmFyKHJzNjAwMF9zcGUpIFNhdmUKKytHZW5lcmF0ZSBTUEUgU0lNRCBpbnN0cnVjdGlvbnMgb24gRTUwMC4KKysKKyttYWJpPXNwZQorK1RhcmdldCBSZWplY3ROZWdhdGl2ZSBWYXIocnM2MDAwX3NwZV9hYmkpIFNhdmUKKytVc2UgdGhlIFNQRSBBQkkgZXh0ZW5zaW9ucy4KKysKKyttYWJpPW5vLXNwZQorK1RhcmdldCBSZWplY3ROZWdhdGl2ZSBWYXIocnM2MDAwX3NwZV9hYmksIDApCisrRG8gbm90IHVzZSB0aGUgU1BFIEFCSSBleHRlbnNpb25zLgorKworIG1hYmk9YWx0aXZlYworIFRhcmdldCBSZWplY3ROZWdhdGl2ZSBWYXIocnM2MDAwX2FsdGl2ZWNfYWJpKSBTYXZlCisgVXNlIHRoZSBBbHRpVmVjIEFCSSBleHRlbnNpb25zLgorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzOS1yaXNjdi1EaXNhYmxlLW11bHRpbGliLWZvci1PRS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzktcmlzY3YtRGlzYWJsZS1tdWx0aWxpYi1mb3ItT0UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjdiMjIyZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzktcmlzY3YtRGlzYWJsZS1tdWx0aWxpYi1mb3ItT0UucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbSAyNGY3NDQ0NGMwMGM2YzliZjA3NmZiMDAyNjE0ZWJmNmRlYzMxZjFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjggRGVjIDIwMTggMDk6NTk6NTMgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCAzOS80MF0gcmlzY3Y6IERpc2FibGUgbXVsdGlsaWIgZm9yIE9FCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UtU3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY29uZmlnL3Jpc2N2L3QtbGludXggfCA2ICsrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3QtbGludXggYi9nY2MvY29uZmlnL3Jpc2N2L3QtbGludXgKK2luZGV4IDIxNmQyNzc2YTE4Li5lNGQ4MTc2MjFmYyAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvcmlzY3YvdC1saW51eAorKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi90LWxpbnV4CitAQCAtMSwzICsxLDUgQEAKKyAjIE9ubHkgWExFTiBhbmQgQUJJIGFmZmVjdCBMaW51eCBtdWx0aWxpYiBkaXIgbmFtZXMsIGUuZy4gL2xpYjMyL2lscDMyZC8KKy1NVUxUSUxJQl9ESVJOQU1FUyA6PSAkKHBhdHN1YnN0IHJ2MzIlLGxpYjMyLCQocGF0c3Vic3QgcnY2NCUsbGliNjQsJChNVUxUSUxJQl9ESVJOQU1FUykpKQorLU1VTFRJTElCX09TRElSTkFNRVMgOj0gJChwYXRzdWJzdCBsaWIlLC4uL2xpYiUsJChNVUxUSUxJQl9ESVJOQU1FUykpCisrI01VTFRJTElCX0RJUk5BTUVTIDo9ICQocGF0c3Vic3QgcnYzMiUsbGliMzIsJChwYXRzdWJzdCBydjY0JSxsaWI2NCwkKE1VTFRJTElCX0RJUk5BTUVTKSkpCisrTVVMVElMSUJfRElSTkFNRVMgOj0gLiAuCisrI01VTFRJTElCX09TRElSTkFNRVMgOj0gJChwYXRzdWJzdCBsaWIlLC4uL2xpYiUsJChNVUxUSUxJQl9ESVJOQU1FUykpCisrTVVMVElMSUJfT1NESVJOQU1FUyA6PSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDA0MC1wb3dlcnBjLXBvd2VycGM2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDA0MC1wb3dlcnBjLXBvd2VycGM2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmYmExNjMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDQwLXBvd2VycGMtcG93ZXJwYzY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA0YmQwYTM4NjZmMzAyNzI1Y2I0ZWRkY2FkZGFlZWNlNjQ5MDBjNDJmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU2VyaGV5IFBvcG92eWNoIDxzZXJoZS5wb3BvdnljaEBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDExIERlYyAyMDE4IDAyOjMwOjUwIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggNDAvNDBdIHBvd2VycGMvcG93ZXJwYzY0OiBBZGQgc3VwcG9ydCBmb3IgbXVzbCBsZHNvCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UtU3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IFNlcmhleSBQb3BvdnljaCA8c2VyaGUucG9wb3Z5Y2hAZ21haWwuY29tPgorLS0tCisgZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaCBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAoraW5kZXggNjE5ZTExM2UyYjguLmVlOGI0NGY5Mzc0IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCisrKysgYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKK0BAIC00MjEsOSArNDIxLDkgQEAgZXh0ZXJuIGludCBkb3Rfc3ltYm9sczsKKyAjZW5kaWYKKyAKKyAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIzMiBcCistICAiL2xpYi9sZC1tdXNsLXBvd2VycGMiIE1VU0xfRFlOQU1JQ19MSU5LRVJfRSAiJXttc29mdC1mbG9hdDotc2Z9LnNvLjEiCisrICBTWVNURU1MSUJTX0RJUiAibGQtbXVzbC1wb3dlcnBjIiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bXNvZnQtZmxvYXQ6LXNmfS5zby4xIgorICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUjY0IFwKKy0gICIvbGliL2xkLW11c2wtcG93ZXJwYzY0IiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bXNvZnQtZmxvYXQ6LXNmfS5zby4xIgorKyAgU1lTVEVNTElCU19ESVIgImxkLW11c2wtcG93ZXJwYzY0IiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bXNvZnQtZmxvYXQ6LXNmfS5zby4xIgorIAorICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wIgorICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgU1lTVEVNTElCU19ESVIgImxkNjQtdUNsaWJjLnNvLjAiCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNvbW1vbi5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNvbW1vbi5pbmMKaW5kZXggMDBmZWMwYi4uOTYzMzRlNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jb21tb24uaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY29tbW9uLmluYwpAQCAtMTAsMTIgKzEwLDExIEBACiBpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHRleGluZm8KIAogQlBOID0gImdjYyIKLUNPTVBJTEVSSU5JVElBTCA9ICIiCi1DT01QSUxFUkRFUCA9ICJ2aXJ0dWFsLyR7TUxQUkVGSVh9JHtUQVJHRVRfUFJFRklYfWdjYyR7Q09NUElMRVJJTklUSUFMfTpkb19nY2Nfc3Rhc2hfYnVpbGRkaXIiCi1DT01QSUxFUkRFUF9jbGFzcy1uYXRpdmVzZGsgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjJHtDT01QSUxFUklOSVRJQUx9LWNyb3Nzc2RrOmRvX2djY19zdGFzaF9idWlsZGRpciIKK0NPTVBJTEVSREVQID0gInZpcnR1YWwvJHtNTFBSRUZJWH0ke1RBUkdFVF9QUkVGSVh9Z2NjOmRvX2djY19zdGFzaF9idWlsZGRpciIKK0NPTVBJTEVSREVQX2NsYXNzLW5hdGl2ZXNkayA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MtY3Jvc3NzZGs6ZG9fZ2NjX3N0YXNoX2J1aWxkZGlyIgogCiBweXRob24gZXh0cmFjdF9zdGFzaGVkX2J1aWxkZGlyICgpIHsKLSAgICBzcmMgPSBkLmV4cGFuZCgiJHtDT01QT05FTlRTX0RJUn0vJHtCVUlMRF9BUkNIfS9nY2Mtc3Rhc2hlZC1idWlsZGRpciR7Q09NUElMRVJJTklUSUFMfS0ke1RBUkdFVF9TWVN9IikKKyAgICBzcmMgPSBkLmV4cGFuZCgiJHtDT01QT05FTlRTX0RJUn0vJHtCVUlMRF9BUkNIfS9nY2Mtc3Rhc2hlZC1idWlsZGRpci0ke1RBUkdFVF9TWVN9IikKICAgICBkZXN0ID0gZC5nZXRWYXIoIkIiKQogICAgIG9lLnBhdGguY29weWhhcmRsaW5rdHJlZShzcmMsIGRlc3QpCiAgICAgc3RhZ2luZ19wcm9jZXNzZml4bWUoW3NyYyArICIvZml4bWVwYXRoIl0sIGRlc3QsIGRlc3QsIGRlc3QsIGQpCkBAIC0zOCw3ICszNyw3IEBACiAgICAgcmV0dXJuICIiCiAKIGRlZiBnZXRfZ2NjX3BwY19wbHRfc2V0dGluZ3MoYmIsIGQpOgotICAgIGlmIGQuZ2V0VmFyKCdUUkFOU0xBVEVEX1RBUkdFVF9BUkNIJykgaW4gWyAncG93ZXJwYycgXSBhbmQgbm90IGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYnNzcGx0JywgVHJ1ZSwgRmFsc2UsIGQpOgorICAgIGlmIGQuZ2V0VmFyKCdUUkFOU0xBVEVEX1RBUkdFVF9BUkNIJykgaW4gWyAncG93ZXJwYycsICdwb3dlcnBjNjQnIF0gYW5kIG5vdCBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2Jzc3BsdCcsIFRydWUsIEZhbHNlLCBkKToKICAgICAgICAgcmV0dXJuICItLWVuYWJsZS1zZWN1cmVwbHQiCiAgICAgcmV0dXJuICIiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY29uZmlndXJlLWNvbW1vbi5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNvbmZpZ3VyZS1jb21tb24uaW5jCmluZGV4IGUyY2UyMzQuLjM3NWM1ZTkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY29uZmlndXJlLWNvbW1vbi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jb25maWd1cmUtY29tbW9uLmluYwpAQCAtMTcsNyArMTcsNiBAQAogCiBFWFRSQV9PRUNPTkZfQkFTRSA/PSAiIgogRVhUUkFfT0VDT05GX1BBVEhTID89ICIiCi1FWFRSQV9PRUNPTkZfSU5JVElBTCA/PSAiIgogCiBHQ0NNVUxUSUxJQiA/PSAiLS1kaXNhYmxlLW11bHRpbGliIgogR0NDVEhSRUFEUyA/PSAicG9zaXgiCkBAIC00Nyw2ICs0NiwxMCBAQAogICAgICR7QGdldF9nY2NfbXVsdGlhcmNoX3NldHRpbmcoYmIsIGQpfSBcCiAiCiAKKyMgZ2xpYmMgdmVyc2lvbiBpcyBhIG1pbmltdW0gY29udHJvbGxpbmcgd2hldGhlciBmZWF0dXJlcyBhcmUgZW5hYmxlZC4gCisjIERvZXNuJ3QgbmVlZCB0byB0cmFjayBnbGliYyBleGFjdGx5CitFWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtZ2xpYmMgPSAiIC0td2l0aC1nbGliYy12ZXJzaW9uPTIuMjggIgorCiAjIFNldCB0aGlzIGhlcmUgc2luY2UgR0NDIGNvbmZpZ3VyZSB3b24ndCBhdXRvLWRldGVjdCBhbmQgZW5hYmxlCiAjIGluaXRmaW5pLWFycnkgd2hlbiBjcm9zcyBjb21waWxpbmcuCiBFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLWVuYWJsZS1pbml0ZmluaS1hcnJheSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtY2FuYWRpYW4uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1jYW5hZGlhbi5pbmMKaW5kZXggMmYzMmQzNC4uZTdjMDhkMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1jYW5hZGlhbi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1jYW5hZGlhbi5pbmMKQEAgLTMsNyArMyw3IEBACiBTVU1NQVJZID0gIkdOVSBjYyBhbmQgZ2NjIEMgY29tcGlsZXJzIChjcm9zcy1jYW5hZGlhbiBmb3IgJHtUQVJHRVRfQVJDSH0gdGFyZ2V0KSIKIFBOID0gImdjYy1jcm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9IgogCi1ERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYyB2aXJ0dWFsLyR7SE9TVF9QUkVGSVh9Z2NjLWNyb3Nzc2RrIHZpcnR1YWwvJHtIT1NUX1BSRUZJWH1iaW51dGlscy1jcm9zc3NkayB2aXJ0dWFsL25hdGl2ZXNkay0ke0hPU1RfUFJFRklYfWxpYmMtZm9yLWdjYyBuYXRpdmVzZGstZ2V0dGV4dCBmbGV4LW5hdGl2ZSIKK0RFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIHZpcnR1YWwvJHtIT1NUX1BSRUZJWH1nY2MtY3Jvc3NzZGsgdmlydHVhbC8ke0hPU1RfUFJFRklYfWJpbnV0aWxzLWNyb3Nzc2RrIHZpcnR1YWwvbmF0aXZlc2RrLWxpYmMgbmF0aXZlc2RrLWdldHRleHQgZmxleC1uYXRpdmUgdmlydHVhbC9saWJjIgogCiBHQ0NNVUxUSUxJQiA9ICItLWVuYWJsZS1tdWx0aWxpYiIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1jYW5hZGlhbl84LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWNhbmFkaWFuXzguMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmY1M2M1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWNhbmFkaWFuXzguMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtJHtQVn0uaW5jCi1yZXF1aXJlIGdjYy1jcm9zcy1jYW5hZGlhbi5pbmMKLQotCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtY2FuYWRpYW5fNy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1jYW5hZGlhbl84LjMuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtY2FuYWRpYW5fNy4zLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWNhbmFkaWFuXzguMy5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1pbml0aWFsLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtaW5pdGlhbC5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg5MmIxZGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1pbml0aWFsLmluYworKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLURFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMgJHtOQVRJVkVERVBTfSIKLVBST1ZJREVTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbml0aWFsIgotUEFDS0FHRVMgPSAiIgotCi1JTkhJQklUX0FVVE9UT09MU19ERVBTID0gIjEiCi1JTkhJQklUX0RFRkFVTFRfREVQUyA9ICIxIgotCi0jIFdlIHN0aWxsIG5lZWQgZ251LWNvbmZpZy1uYXRpdmUKLURFUEVORFNfcHJlcGVuZCA9ICJnbnUtY29uZmlnLW5hdGl2ZSBhdXRvY29uZi1uYXRpdmUgIgotCi1QTiA9ICJnY2MtY3Jvc3MtaW5pdGlhbC0ke1RBUkdFVF9BUkNIfSIKLQotQ1JPU1NfVEFSR0VUX1NZU19ESVJfYXBwZW5kID0gIi4ke1BOfSIKLQotIyBUaGlzIGlzIGludGVuZGVkIHRvIGJlIGEgLXZlcnktIGJhc2ljIGNvbmZpZwotIyBzeXNyb290IGlzIG5lZWRlZCBpbiBjYXNlIHdlIHVzZSBsaWJjLWluaXRpYWwKLUVYVFJBX09FQ09ORiA9ICJcCi0gICAgLS13aXRoLW5ld2xpYiBcCi0gICAgLS13aXRob3V0LWhlYWRlcnMgXAotICAgIC0tZGlzYWJsZS1zaGFyZWQgXAotICAgIC0tZGlzYWJsZS10aHJlYWRzIFwKLSAgICAtLWRpc2FibGUtbXVsdGlsaWIgXAotICAgIC0tZGlzYWJsZS1fX2N4YV9hdGV4aXQgXAotICAgIC0tZW5hYmxlLWxhbmd1YWdlcz1jIFwKLSAgICAtLXByb2dyYW0tcHJlZml4PSR7VEFSR0VUX1BSRUZJWH0gXAotICAgIC0td2l0aC1zeXNyb290PS9ub3QvZXhpc3QgXAotICAgIC0td2l0aC1idWlsZC1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSBcCi0gICAgJHtFWFRSQV9PRUNPTkZfSU5JVElBTH0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICctLXdpdGgtbGQ9JHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LyR7VEFSR0VUX1BSRUZJWH1sZC5iZmQnLCAnJywgZCl9IFwKLSAgICAke0VYVFJBX09FQ09ORl9HQ0NfRkxPQVR9IFwKLSAgICAke0BnZXRfZ2NjX3BwY19wbHRfc2V0dGluZ3MoYmIsIGQpfSBcCi0iCi0KLUVYVFJBX09FQ09ORiArPSAiLS13aXRoLW5hdGl2ZS1zeXN0ZW0taGVhZGVyLWRpcj0ke1NZU1RFTUhFQURFUlN9IgotCi1kb19jb21waWxlICgpIHsKLSAgICBvZV9ydW5tYWtlIGFsbC1nY2MgY29uZmlndXJlLXRhcmdldC1saWJnY2MKLSAgICAoY2QgJHtCfS8ke1RBUkdFVF9TWVN9L2xpYmdjYzsgb2VfcnVubWFrZSBlbmFibGUtZXhlY3V0ZS1zdGFjay5jIHVud2luZC5oIG1kLXVud2luZC1zdXBwb3J0Lmggc2ZwLW1hY2hpbmUuaCBndGhyLWRlZmF1bHQuaCkKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0JKCBjZCAke0J9LyR7VEFSR0VUX1NZU30vbGliZ2NjOyBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwtdW53aW5kX2gtZm9yYnVpbGQgaW5zdGFsbC11bndpbmRfaCkKLQlvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwtZ2NjCi0KLQkjIFdlIGRvbid0IHJlYWxseSBuZWVkIHRoaXMgKGhlcmUgc2hhcmVzLyBjb250YWlucyBtYW4vLCBpbmZvLywgbG9jYWxlLykuCi0Jcm0gLXJmICR7RH0ke2RhdGFkaXJ9LwotCi0JIyBXZSB1c2UgbGliaWJlcnR5IGZyb20gYmludXRpbHMKLQlmaW5kICR7RH0ke2V4ZWNfcHJlZml4fS9saWIgLW5hbWUgbGliaWJlcnR5LmEgfCB4YXJncyBybSAtZgotCWZpbmQgJHtEfSR7ZXhlY19wcmVmaXh9L2xpYiAtbmFtZSBsaWJpYmVydHkuaCB8IHhhcmdzIHJtIC1mCi0KLQkjIEluc2VydCBzeW1saW5rcyBpbnRvIGxpYmV4ZWMgc28gd2hlbiB0b29scyB3aXRob3V0IGEgcHJlZml4IGFyZSBzZWFyY2hlZCBmb3IsIHRoZSBjb3JyZWN0IG9uZXMgYXJlCi0JIyBmb3VuZC4gVGhlc2UgbmVlZCB0byBiZSByZWxhdGl2ZSBwYXRocyBzbyB0aGV5IHdvcmsgaW4gZGlmZmVyZW50IGxvY2F0aW9ucy4KLQlkZXN0PSR7RH0ke2xpYmV4ZWNkaXJ9L2djYy8ke1RBUkdFVF9TWVN9LyR7QklOVn0vCi0JaW5zdGFsbCAtZCAkZGVzdAotCXVzZWxkPSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICcuYmZkJywgJycsIGQpfQotCWxuIC1zZiAke0JJTlJFTFBBVEh9LyR7VEFSR0VUX1BSRUZJWH1sZCR7dXNlbGR9ICR7ZGVzdH1sZAotCWZvciB0IGluIGFyIGFzIG5tIG9iamNvcHkgb2JqZHVtcCByYW5saWIgc3RyaXAgZzc3IGdjYyBjcHAgZ2ZvcnRyYW47IGRvCi0JCWxuIC1zZiAke0JJTlJFTFBBVEh9LyR7VEFSR0VUX1BSRUZJWH0kdCAkZGVzdCR0Ci0JZG9uZQotCSMgZml4ZWQgbGltaXRzLmggaW5mYWN0IGluY2x1ZGVzIHRoZSBzbyBjYWxsZWQgcmVhbCBsaW1pdHMuaAotCSMgd2hpY2ggc2hvdWxkIGNvbWUgZnJvbSBsaWJjIGJ1dCB3aGVuIHdlIGJ1aWxkIGxpYmMtaW5pdGlhbAotCSMgdGhlbiBidW5jaCBvZiBjb25maWd1cmUgdGVzdHMgaW5jbHVkZSBmaXhlZCBsaW1pdHMuaCB3aGljaCBpbiB0dXJuCi0JIyBpbmNsdWRlcyByZWFsIGxpbWl0cy5oIGJ1dCB0aGlzIHJlYWwgbGltaXRzLmggaXMgbm90IHN0YWdlZCB5ZXQKLQkjIHNvIHdlIG92ZXJ3aXJ0ZSB0aGUgZ2VuZXJhdGVkIGluY2x1ZGUtZml4ZWQvbGltaXRzLmggZm9yIGdjYy1jcm9zcy1pbml0aWFsCi0JIyB0byBnZXQgcmlkIHJlZmVyZW5jZXMgdG8gcmVhbCBsaW1pdHMuaAotCWNwIGdjYy9pbmNsdWRlLWZpeGVkL2xpbWl0cy5oICR7RH0ke2djY2xpYmRpcn0vJHtUQVJHRVRfU1lTfS8ke0JJTlZ9L2luY2x1ZGUvbGltaXRzLmgKLX0KLSMKLSMgT3ZlcnJpZGUgdGhlIGRlZmF1bHQgc3lzcm9vdCBzdGFnaW5nIGNvcHkgc2luY2UgdGhpcyB3b24ndCBsb29rIGxpa2UgYSB0YXJnZXQgc3lzdGVtCi0jCi1zeXNyb290X3N0YWdlX2FsbCgpIHsKLQlzeXNyb290X3N0YWdlX2RpciAke0R9ICR7U1lTUk9PVF9ERVNURElSfQotCWluc3RhbGwgLWQgJHtTWVNST09UX0RFU1RESVJ9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHt0YXJnZXRfYmFzZV9saWJkaXJ9LwotCWluc3RhbGwgLWQgJHtTWVNST09UX0RFU1RESVJ9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHt0YXJnZXRfbGliZGlyfS8KLQltdiAke1NZU1JPT1RfREVTVERJUn0ke3RhcmdldF9iYXNlX2xpYmRpcn0vKiAke1NZU1JPT1RfREVTVERJUn0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke3RhcmdldF9iYXNlX2xpYmRpcn0vIHx8IHRydWUKLQltdiAke1NZU1JPT1RfREVTVERJUn0ke3RhcmdldF9saWJkaXJ9LyogJHtTWVNST09UX0RFU1RESVJ9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHt0YXJnZXRfbGliZGlyfS8gfHwgdHJ1ZQotfQotCi1kb19wb3B1bGF0ZV9zeXNyb290W3NzdGF0ZS1pbnB1dGRpcnNdID0gIiR7U1lTUk9PVF9ERVNURElSfS8ke1NUQUdJTkdfRElSX0hPU1R9LyIKLWRvX3BvcHVsYXRlX3N5c3Jvb3Rbc3N0YXRlLW91dHB1dGRpcnNdID0gIiR7Q09NUE9ORU5UU19ESVJ9LyR7UEFDS0FHRV9BUkNIfS8ke1BOfSIKLQotaW5oZXJpdCBub3BhY2thZ2VzCi0KLUNPTVBJTEVSSU5JVElBTCA9ICItaW5pdGlhbCIKLQotCi0jIFdlIHJlYWxseSBvbmx5IHdhbnQgdGhpcyBidWlsdCBieSB0aGluZ3MgdGhhdCBuZWVkIGl0LCBub3QgYW55IHJlY3JkZXB0YXNrCi1kZWx0YXNrIGRvX2J1aWxkCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWluaXRpYWxfNy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1pbml0aWFsXzcuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGM3M2U1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWluaXRpYWxfNy4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc18ke1BWfS5iYgotcmVxdWlyZSBnY2MtY3Jvc3MtaW5pdGlhbC5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtaW5pdGlhbF84LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWluaXRpYWxfOC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzczZTVjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtaW5pdGlhbF84LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLXJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzXyR7UFZ9LmJiCi1yZXF1aXJlIGdjYy1jcm9zcy1pbml0aWFsLmluYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLmluYwppbmRleCA4OWIxOTY4Li42MjIyYzJlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLmluYwpAQCAtMiw3ICsyLDcgQEAKIAogSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKIEVYVFJBREVQRU5EUyA9ICIiCi1ERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtZm9yLWdjYyAke0VYVFJBREVQRU5EU30gJHtOQVRJVkVERVBTfSIKK0RFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMgJHtFWFRSQURFUEVORFN9ICR7TkFUSVZFREVQU30iCiBQUk9WSURFUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9ZysrIgogcHl0aG9uICgpIHsKICAgICBpZiBkLmdldFZhcigiVEFSR0VUX09TIikuc3RhcnRzd2l0aCgibGludXgiKToKQEAgLTMxLDcgKzMxLDYgQEAKICAgICAtLXdpdGgtc3lzdGVtLXpsaWIgXAogIgogCi1ERVBFTkRTX3JlbW92ZV9saWJjLWJhcmVtZXRhbCA6PSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9bGliYy1mb3ItZ2NjIgogRVhUUkFfT0VDT05GX2FwcGVuZF9saWJjLWJhcmVtZXRhbCA9ICIgLS13aXRob3V0LWhlYWRlcnMiCiBFWFRSQV9PRUNPTkZfcmVtb3ZlX2xpYmMtYmFyZW1ldGFsID0gIi0tZW5hYmxlLXRocmVhZHM9cG9zaXgiCiBFWFRSQV9PRUNPTkZfcmVtb3ZlX2xpYmMtbmV3bGliID0gIi0tZW5hYmxlLXRocmVhZHM9cG9zaXgiCkBAIC00NCw2ICs0MywxMiBAQAogCiBBUkNIX0ZMQUdTX0ZPUl9UQVJHRVQgKz0gIi1pc3lzdGVtJHtTVEFHSU5HX0RJUl9UQVJHRVR9JHt0YXJnZXRfaW5jbHVkZWRpcn0iCiAKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworCWluc3RhbGwgLWQgJHtSRUNJUEVfU1lTUk9PVH0ke3RhcmdldF9pbmNsdWRlZGlyfQorCXRvdWNoICR7UkVDSVBFX1NZU1JPT1R9JHt0YXJnZXRfaW5jbHVkZWRpcn0vbGltaXRzLmgKK30KKwogZG9fY29tcGlsZSAoKSB7CiAJZXhwb3J0IENDPSIke0JVSUxEX0NDfSIKIAlleHBvcnQgQVJfRk9SX1RBUkdFVD0iJHtUQVJHRVRfU1lTfS1hciIKQEAgLTIwOSw4ICsyMTQsOCBAQAogYWRkdGFzayBkb19nY2Nfc3Rhc2hfYnVpbGRkaXIgYWZ0ZXIgZG9fY29tcGlsZSBiZWZvcmUgZG9faW5zdGFsbAogU1NUQVRFVEFTS1MgKz0gImRvX2djY19zdGFzaF9idWlsZGRpciIKIGRvX2djY19zdGFzaF9idWlsZGRpcltzc3RhdGUtaW5wdXRkaXJzXSA9ICIke0JVSUxERElSU1RBU0h9IgotZG9fZ2NjX3N0YXNoX2J1aWxkZGlyW3NzdGF0ZS1vdXRwdXRkaXJzXSA9ICIke0NPTVBPTkVOVFNfRElSfS8ke0JVSUxEX0FSQ0h9L2djYy1zdGFzaGVkLWJ1aWxkZGlyJHtDT01QSUxFUklOSVRJQUx9LSR7VEFSR0VUX1NZU30iCi1kb19nY2Nfc3Rhc2hfYnVpbGRkaXJbc3N0YXRlLWZpeG1lZGlyXSA9ICIke0NPTVBPTkVOVFNfRElSfS8ke0JVSUxEX0FSQ0h9L2djYy1zdGFzaGVkLWJ1aWxkZGlyJHtDT01QSUxFUklOSVRJQUx9LSR7VEFSR0VUX1NZU30iCitkb19nY2Nfc3Rhc2hfYnVpbGRkaXJbc3N0YXRlLW91dHB1dGRpcnNdID0gIiR7Q09NUE9ORU5UU19ESVJ9LyR7QlVJTERfQVJDSH0vZ2NjLXN0YXNoZWQtYnVpbGRkaXItJHtUQVJHRVRfU1lTfSIKK2RvX2djY19zdGFzaF9idWlsZGRpcltzc3RhdGUtZml4bWVkaXJdID0gIiR7Q09NUE9ORU5UU19ESVJ9LyR7QlVJTERfQVJDSH0vZ2NjLXN0YXNoZWQtYnVpbGRkaXItJHtUQVJHRVRfU1lTfSIKIAogcHl0aG9uIGRvX2djY19zdGFzaF9idWlsZGRpcl9zZXRzY2VuZSAoKSB7CiAgICAgc3N0YXRlX3NldHNjZW5lKGQpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzXzguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NfOC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDNjY2EwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NfOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy0ke1BWfS5pbmMKLXJlcXVpcmUgZ2NjLWNyb3NzLmluYwotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzXzcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NfOC4zLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzXzcuMy5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc184LjMuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGstaW5pdGlhbC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrLWluaXRpYWwuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOGVkYTVkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGstaW5pdGlhbC5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1pbmhlcml0IGNyb3Nzc2RrCi0KLVBOID0gImdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iCi0KLVNZU1RFTUhFQURFUlMgPSAiJHtTREtQQVRITkFUSVZFfSR7cHJlZml4X25hdGl2ZXNka30vaW5jbHVkZSIKLVNZU1RFTUxJQlMgPSAiJHtTREtQQVRITkFUSVZFfSR7YmFzZV9saWJkaXJfbmF0aXZlc2RrfS8iCi1TWVNURU1MSUJTMSA9ICIke1NES1BBVEhOQVRJVkV9JHtsaWJkaXJfbmF0aXZlc2RrfS8iCi0KLURFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMtY3Jvc3NzZGsgZ2V0dGV4dC1uYXRpdmUgJHtOQVRJVkVERVBTfSIKLVBST1ZJREVTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbml0aWFsLWNyb3Nzc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nkay1pbml0aWFsXzcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGstaW5pdGlhbF83LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkOTBlMTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nkay1pbml0aWFsXzcuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtaW5pdGlhbF8ke1BWfS5iYgotcmVxdWlyZSBnY2MtY3Jvc3NzZGstaW5pdGlhbC5pbmMKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nkay1pbml0aWFsXzguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGstaW5pdGlhbF84LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkOTBlMTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nkay1pbml0aWFsXzguMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtaW5pdGlhbF8ke1BWfS5iYgotcmVxdWlyZSBnY2MtY3Jvc3NzZGstaW5pdGlhbC5pbmMKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nkay5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrLmluYwppbmRleCBjZGEyOTI3Li5iZDJlNzFkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrLmluYwpAQCAtOCw1ICs4LDUgQEAKIAogR0NDTVVMVElMSUIgPSAiLS1kaXNhYmxlLW11bHRpbGliIgogCi1ERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzLWNyb3Nzc2RrIHZpcnR1YWwvbmF0aXZlc2RrLSR7VEFSR0VUX1BSRUZJWH1saWJjLWZvci1nY2MgZ2V0dGV4dC1uYXRpdmUgJHtOQVRJVkVERVBTfSIKK0RFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMtY3Jvc3NzZGsgZ2V0dGV4dC1uYXRpdmUgJHtOQVRJVkVERVBTfSIKIFBST1ZJREVTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1jcm9zc3NkayB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nKystY3Jvc3NzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrXzguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGtfOC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MGE2YzRmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGtfOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc18ke1BWfS5iYgotcmVxdWlyZSBnY2MtY3Jvc3NzZGsuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrXzcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGtfOC4zLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrXzcuMy5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nka184LjMuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXJ1bnRpbWUuaW5jCmluZGV4IDllN2U3YzUuLjNkMDNkOGUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZS5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1ydW50aW1lLmluYwpAQCAtMTUsNiArMTUsNyBAQAogIgogCiBFWFRSQV9PRUNPTkZfYXBwZW5kX2xpbnV4c3RkYmFzZSA9ICIgLS1lbmFibGUtY2xvY2FsZT1nbnUiCitFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLWNhY2hlLWZpbGU9JHtCfS9jb25maWcuY2FjaGUiCiAKIFJVTlRJTUVMSUJJVE0gPSAibGliaXRtIgogUlVOVElNRUxJQklUTV9hcmMgPSAiIgpAQCAtMjksOSArMzAsNiBAQAogUlVOVElNRVRBUkdFVCA9ICIke1JVTlRJTUVMSUJTU1B9IGxpYnN0ZGMrKy12MyBsaWJnb21wIGxpYmF0b21pYyAke1JVTlRJTUVMSUJJVE19IFwKICAgICAke0BiYi51dGlscy5jb250YWluc19hbnkoJ0ZPUlRSQU4nLCBbJyxmb3J0cmFuJywnLGY3NyddLCAnbGlicXVhZG1hdGgnLCAnJywgZCl9IFwKICIKLVJVTlRJTUVUQVJHRVRfYXBwZW5kX3g4NiA9ICIgbGlibXB4IgotUlVOVElNRVRBUkdFVF9hcHBlbmRfeDg2LTY0ID0gIiBsaWJtcHgiCi1SVU5USU1FVEFSR0VUX3JlbW92ZV9saWJjLW11c2wgPSAibGlibXB4IgogCiAjIGxpYmliZXJ0eQogIyBsaWJtdWRmbGFwCkBAIC0xMjgsNyArMTI2LDcgQEAKIH0KIAogSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKLURFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWcrKyBsaWJnY2MiCitERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYyB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nKysgbGliZ2NjIHZpcnR1YWwvJHtNTFBSRUZJWH1saWJjIgogUFJPVklERVMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Y29tcGlsZXJsaWJzIgogCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKQEAgLTE2MCwxOCArMTU4LDYgQEAKICAgICBsaWJpdG0tZGV2IFwKICAgICBsaWJpdG0tc3RhdGljZGV2IFwKICIKLVBBQ0tBR0VTX2FwcGVuZF94ODYgPSAiXAotICAgIGxpYm1weCBcCi0gICAgbGlibXB4LWRldiBcCi0gICAgbGlibXB4LXN0YXRpY2RldiBcCi0iCi0KLVBBQ0tBR0VTX2FwcGVuZF94ODYtNjQgPSAiXAotICAgIGxpYm1weCBcCi0gICAgbGlibXB4LWRldiBcCi0gICAgbGlibXB4LXN0YXRpY2RldiBcCi0iCi0KICMgVGhlIGJhc2UgcGFja2FnZSBkb2Vzbid0IGV4aXN0LCBzbyB3ZSBjbGVhciB0aGUgcmVjb21tZW5kcy4KIFJSRUNPTU1FTkRTXyR7UE59LWRiZyA9ICIiCiAKQEAgLTI3NCwyMSArMjYwLDMgQEAKIFNVTU1BUllfbGliaXRtLWRldiA9ICJHTlUgdHJhbnNhY3Rpb25hbCBtZW1vcnkgc3VwcG9ydCBsaWJyYXJ5IC0gZGV2ZWxvcG1lbnQgZmlsZXMiCiBGSUxFU19saWJpdG0tc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJpdG0uYSIKIFNVTU1BUllfbGliaXRtLXN0YXRpY2RldiA9ICJHTlUgdHJhbnNhY3Rpb25hbCBtZW1vcnkgc3VwcG9ydCBsaWJyYXJ5IC0gc3RhdGljIGRldmVsb3BtZW50IGZpbGVzIgotCi0KLUZJTEVTX2xpYm1weCA9ICIke2xpYmRpcn0vbGlibXB4LnNvLiogJHtsaWJkaXJ9L2xpYm1weHdyYXBwZXJzLnNvLioiCi1TVU1NQVJZX2xpYm1weCA9ICJJbnRlbCBNZW1vcnkgUHJvdGVjdGlvbiBFeHRlbnNpb24gbGlicmFyeSIKLUZJTEVTX2xpYm1weC1kZXYgPSAiXAotICAgICR7bGliZGlyfS9saWJtcHh3cmFwcGVycy5zbyBcCi0gICAgJHtsaWJkaXJ9L2xpYm1weHdyYXBwZXJzLmxhIFwKLSAgICAke2xpYmRpcn0vbGlibXB4LnNvIFwKLSAgICAke2xpYmRpcn0vbGlibXB4LmxhIFwKLSAgICAke2xpYmRpcn0vbGlibXB4LnNwZWMgXAotIgotU1VNTUFSWV9saWJtcHgtZGV2ID0gIkludGVsIE1lbW9yeSBQcm90ZWN0aW9uIEV4dGVuc2lvbiBsaWJyYXJ5IC0gZGV2ZWxvcG1lbnQgZmlsZXMiCi1GSUxFU19saWJtcHgtc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJtcHguYSAke2xpYmRpcn0vbGlibXB4d3JhcHBlcnMuYSIKLVNVTU1BUllfbGlibXB4LXN0YXRpY2RldiA9ICJJbnRlbCBNZW1vcnkgUHJvdGVjdGlvbiBFeHRlbnNpb24gbGlicmFyeSAtIHN0YXRpYyBkZXZlbG9wbWVudCBmaWxlcyIKLQotZG9fcGFja2FnZV93cml0ZV9pcGtbZGVwZW5kc10gKz0gInZpcnR1YWwvJHtNTFBSRUZJWH1saWJjOmRvX3BhY2thZ2VkYXRhIgotZG9fcGFja2FnZV93cml0ZV9kZWJbZGVwZW5kc10gKz0gInZpcnR1YWwvJHtNTFBSRUZJWH1saWJjOmRvX3BhY2thZ2VkYXRhIgotZG9fcGFja2FnZV93cml0ZV9ycG1bZGVwZW5kc10gKz0gInZpcnR1YWwvJHtNTFBSRUZJWH1saWJjOmRvX3BhY2thZ2VkYXRhIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1ydW50aW1lXzcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZV83LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmMzFlNzcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1ydW50aW1lXzcuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtJHtQVn0uaW5jCi1yZXF1aXJlIGdjYy1ydW50aW1lLmluYwotCi1GSUxFU19saWJnb21wLWRldiArPSAiXAotICAgICR7bGliZGlyfS9nY2MvJHtUQVJHRVRfU1lTfS8ke0JJTlZ9L2luY2x1ZGUvb3BlbmFjYy5oIFwKLSIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1ydW50aW1lXzguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZV84LjMuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZV84LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZV84LjMuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2Mtc2FuaXRpemVyc183LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNhbml0aXplcnNfNy4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDFmNjY2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2Mtc2FuaXRpemVyc183LjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLXJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLSR7UFZ9LmluYwotcmVxdWlyZSBnY2Mtc2FuaXRpemVycy5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2Mtc2FuaXRpemVyc184LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNhbml0aXplcnNfOC4zLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNhbml0aXplcnNfOC4yLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNhbml0aXplcnNfOC4zLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNvdXJjZV84LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNvdXJjZV84LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4OTBmYTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1zb3VyY2VfOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy0ke1BWfS5pbmMKLXJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNvdXJjZS5pbmMKLQotRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNvdXJjZV83LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNvdXJjZV84LjMuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2Mtc291cmNlXzcuMy5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1zb3VyY2VfOC4zLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXRhcmdldC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXRhcmdldC5pbmMKaW5kZXggYmMyMjM2Zi4uNjI3MDA1OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy10YXJnZXQuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtdGFyZ2V0LmluYwpAQCAtMjAsNiArMjAsNyBAQAogRVhUUkFfT0VDT05GX2FwcGVuZF9hcm12NiA9ICIgLS13aXRoLWFyY2g9YXJtdjYke0FSTUZQQVJDSEVYVH0iCiBFWFRSQV9PRUNPTkZfYXBwZW5kX2FybXY3YSA9ICIgLS13aXRoLWFyY2g9YXJtdjctYSR7QVJNRlBBUkNIRVhUfSIKIEVYVFJBX09FQ09ORl9hcHBlbmRfYXJtdjd2ZSA9ICIgLS13aXRoLWFyY2g9YXJtdjd2ZSR7QVJNRlBBUkNIRVhUfSIKK0VYVFJBX09FQ09ORl9hcHBlbmRfYXJjID0gIiAtLXdpdGgtY3B1PSR7VFVORV9QS0dBUkNIfSIKIAogIyBsaWJjYzEgcmVxdXJlcyBnY2NfY3Zfb2JqZHVtcCB3aGVuIGNyb3NzIGJ1aWxkLCBidXQgZ2NjX2N2X29iamR1bXAgaXMKICMgc2V0IGluIHN1YmRpciBnY2MsIHNvIHN1YmRpciBsaWJjYzEgY2FuJ3QgdXNlIGl0LCBleHBvcnQgaXQgaGVyZSB0bwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djY183LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjXzcuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWIyMDhlNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjXzcuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLXJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLSR7UFZ9LmluYwotcmVxdWlyZSBnY2MtdGFyZ2V0LmluYwotCi0jIEJ1aWxkaW5nIHdpdGggdGh1bWIgZW5hYmxlZCBvbiBhcm12NHQgYXJtdjV0IGZhaWxzIHdpdGgKLSMgfCBnY2MtNC44LjEtcjAvZ2NjLTQuOC4xL2djYy9jcC9kZWNsLmM6NzQzODooLnRleHQudW5saWtlbHkrMHgyZmEpOiByZWxvY2F0aW9uIHRydW5jYXRlZCB0byBmaXQ6IFJfQVJNX1RITV9DQUxMIGFnYWluc3Qgc3ltYm9sIGBmYW5jeV9hYm9ydChjaGFyIGNvbnN0KiwgaW50LCBjaGFyIGNvbnN0KiknIGRlZmluZWQgaW4gLmdsdWVfNyBzZWN0aW9uIGluIGxpbmtlciBzdHVicwotIyB8IGdjYy00LjguMS1yMC9nY2MtNC44LjEvZ2NjL2NwL2RlY2wuYzo3NDQyOigudGV4dC51bmxpa2VseSsweDMxOCk6IGFkZGl0aW9uYWwgcmVsb2NhdGlvbiBvdmVyZmxvd3Mgb21pdHRlZCBmcm9tIHRoZSBvdXRwdXQKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djY184LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjXzguMy5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djY184LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2NfOC4zLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLWluaXRpYWwuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy1pbml0aWFsLmluYwppbmRleCA5NTBhZDg2Li4wNmJmMjI0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLWluaXRpYWwuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnY2MtaW5pdGlhbC5pbmMKQEAgLTEsMjAgKzEsNTggQEAKKyMKKyMgTm90ZXMgb24gdGhlIHdheSB0aGUgT0UgY3Jvc3MgdG9vbGNoYWluIG5vdyB3b3JrcworIworIyBXZSBuZWVkIGEgbGliZ2NjIHRvIGJ1aWxkIGdsaWJjLiBUcmFuZGl0aW9uYWxseSB3ZSB0aGVyZWZvcmUgYnVpbHQKKyMgYSBub24tdGhyZWFkZWQgYW5kIG5vbi1zaGFyZWQgY29tcGlsZXIgKGdjYy1jcm9zcy1pbml0aWFsKSwgdGhlbiB1c2UKKyMgdGhhdCB0byBidWlsZCBsaWJnY2MtaW5pdGlhbCB3aGljaCBpcyB1c2VkIHRvIGJ1aWxkIGdsaWJjIHdoaWNoIHdlIGNhbgorIyB0aGVuIGJ1aWxkIGdjYy1jcm9zcyBhbmQgbGliZ2NjIGFnYWluc3QuCisjCisjIFdlIHdlcmUgYWJsZSB0byBkcm9wIHRoZSBnbGliYyBkZXBlbmRlbmN5IGZyb20gZ2NjLWNyb3NzLCB3aXRoIHR3byB0d2Vha3M6CisKKyMgYSkgc3BlY2lmeSB0aGUgbWluaW11bSBnbGliYyB2ZXJzaW9uIHRvIHN1cHBvcnQgaW4gYSBjb25maWd1cmUgb3B0aW9uCisjIGIpIGNyZWF0ZSBhIGR1bW15IGxpbWl0cy5oIGZpbGUgc28gdGhhdCBsYXRlciB3aGVuIGdsaWJjIGNyZWF0ZXMgb25lLAorIyAgICB0aGUgaGVhZGVycyBzdHJ1Y3R1cmUgaGFzIHN1cHBvcnQgZm9yIGl0LiBXZSBjYW4gZG8gdGhpcyB3aXRoIGEgc2ltcGxlCisjICAgIGVtcHR5IGZpbGUKKyMKKyMgT25jZSBnY2MtY3Jvc3MgaXMgbGliYyBpbmRlcGVuZGVudCwgd2UgY2FuIHVzZSBpdCB0byBidWlsZCBib3RoCisjIGxpYmdjYy1pbml0aWFsIGFuZCB0aGVuIGxhdGVyIGxpYmdjYy4KKyMKKyMgbGliZ2NjLWluaXRpYWwgaXMgdHJpY2t5IGFzIHdlIG5lZWQgdG8gaW1pdGF0ZSB0aGUgbm9uLXRocmVhZGVkIGFuZAorIyBub24tc2hhcmVkIGNhc2UuIFdlIGNhbiBkbyB0aGF0IGJ5IGhhY2tpbmcgdGhlIHRocmVhZGluZyBtb2RlIGJhY2sgdG8KKyMgInNpbmdsZSIgZXZlbiBpZiBnY2MgcmVwb3J0cyAicG9zaXgiIGFuZCBkaXNhYmxlIGxpYmMgcHJlc2VuY2UgZm9yIHRoZQorIyBsaWJnY2MtaW50aWFsIGJ1aWxkLiBXZSBoYXZlIHRvIGNyZWF0ZSB0aGUgZHVtbXkgbGltaXRzLmggdG8gYXZvaWQKKyMgY29tcGlsZXIgZXJyb3JzIGZyb20gYSBtaXNzaW5nIGhlYWRlci4KKyMKKyMgZ2xpYmMgd2lsbCBmYWlsIHRvIGxpbmsgd2l0aCBsaWJnY2MtaW5pdGlhbCBkdWUgdG8gYSBtaXNzaW5nICJleGNlcHRpb24KKyMgaGFuZGxlciIgY2FwYWJsZSBsaWJnY2MgKGxpYmdjY19laC5hKS4gU2luY2Ugd2Uga25vdyBnbGliYyBkb2Vzbid0IG5lZWQKKyMgYW55IGV4Y2VwdGlvbiBoYW5kbGVyLCB3ZSBjYW4gc2FmZWx5IHN5bWxpbmsgdG8gbGliZ2NjLmEuCisjCisKIHJlcXVpcmUgbGliZ2NjLWNvbW1vbi5pbmMKIAotREVQRU5EUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MtaW5pdGlhbCIKK0RFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIgogCiBMSUNFTlNFID0gIkdQTC0zLjAtd2l0aC1HQ0MtZXhjZXB0aW9uIgogCi1TVEFHSU5HQ0MgPSAiZ2NjLWNyb3NzLWluaXRpYWwtJHtUQVJHRVRfQVJDSH0iCi1TVEFHSU5HQ0NfY2xhc3MtbmF0aXZlc2RrID0gImdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iCi1QQVRIX3ByZXBlbmQgPSAiJHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LiR7U1RBR0lOR0NDfToiCi0KIFBBQ0tBR0VTID0gIiIKIAogRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtc2hhcmVkIgogCi1DT01QSUxFUklOSVRJQUwgPSAiLWluaXRpYWwiCi0KIGluaGVyaXQgbm9wYWNrYWdlcwogCiAjIFdlIHJlYWxseSBvbmx5IHdhbnQgdGhpcyBidWlsdCBieSB0aGluZ3MgdGhhdCBuZWVkIGl0LCBub3QgYW55IHJlY3JkZXB0YXNrCiBkZWx0YXNrIGRvX2J1aWxkCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKwlpbnN0YWxsIC1kICR7U1RBR0lOR19JTkNESVJ9CisJdG91Y2ggJHtTVEFHSU5HX0lOQ0RJUn0vbGltaXRzLmgKKwlzZWQgLWkgLWUgJ3MjSU5ISUJJVF9MSUJDX0NGTEFHUyA9LiojSU5ISUJJVF9MSUJDX0NGTEFHUyA9IC1EaW5oaWJpdF9saWJjIycgJHtCfS9nY2MvbGliZ2NjLm12YXJzCisJc2VkIC1pIC1lICdzI2luaGliaXRfbGliYyA9IGZhbHNlI2luaGliaXRfbGliYyA9IHRydWUjJyAke0J9L2djYy9NYWtlZmlsZQorfQorCitkb19jb25maWd1cmVfYXBwZW5kICgpIHsKKwlzZWQgLWkgLWUgJ3MjdGhyZWFkX2hlYWRlciA9IC4qI3RocmVhZF9oZWFkZXIgPSBndGhyLXNpbmdsZS5oIycgJHtCfS8ke0JQTn0vTWFrZWZpbGUKK30KKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCWxuIC1zIGxpYmdjYy5hICR7RH0ke2xpYmRpcn0vJHtUQVJHRVRfU1lTfS8ke0JJTlZ9L2xpYmdjY19laC5hCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLWluaXRpYWxfNy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy1pbml0aWFsXzcuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTlmMjUzZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLWluaXRpYWxfNy4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy0ke1BWfS5pbmMKLXJlcXVpcmUgbGliZ2NjLWluaXRpYWwuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLWluaXRpYWxfOC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy1pbml0aWFsXzguMy5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy1pbml0aWFsXzguMi5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy1pbml0aWFsXzguMy5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLmluYwppbmRleCA1ZjFkZmY2Li5lNGUwYzQ4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLmluYwpAQCAtMSw2ICsxLDYgQEAKIHJlcXVpcmUgbGliZ2NjLWNvbW1vbi5pbmMKIAotREVQRU5EUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9ZysrIgorREVQRU5EUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9ZysrIHZpcnR1YWwvJHtNTFBSRUZJWH1saWJjIgogCiBkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQgKCkgewogCWlmIFsgIiR7VENMSUJDfSIgIT0gImdsaWJjIiBdOyB0aGVuCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjXzcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnY2NfNy4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTE1MmYyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnY2NfNy4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy0ke1BWfS5pbmMKLXJlcXVpcmUgbGliZ2NjLmluYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjY184LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjXzguMy5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjY184LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnY2NfOC4zLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2ZvcnRyYW4uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuLmluYwppbmRleCAwNTIzNzY0Li40YjdiN2IyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2ZvcnRyYW4uaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnZm9ydHJhbi5pbmMKQEAgLTUzLDYgKzUzLDExIEBACiAgICAgbGliZ2ZvcnRyYW4tZGV2IFwKICAgICBsaWJnZm9ydHJhbi1zdGF0aWNkZXYgXAogIgorCitMSUNFTlNFXyR7UE59ID0gIkdQTC0zLjAtd2l0aC1HQ0MtZXhjZXB0aW9uIgorTElDRU5TRV8ke1BOfS1kZXYgPSAiR1BMLTMuMC13aXRoLUdDQy1leGNlcHRpb24iCitMSUNFTlNFXyR7UE59LWRiZyA9ICJHUEwtMy4wLXdpdGgtR0NDLWV4Y2VwdGlvbiIKKwogRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYmdmb3J0cmFuLnNvLioiCiBGSUxFU18ke1BOfS1kZXYgPSAiXAogICAgICR7bGliZGlyfS9saWJnZm9ydHJhbiouc28gXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuXzguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnZm9ydHJhbl84LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxZGQ4YjQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuXzguMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtJHtQVn0uaW5jCi1yZXF1aXJlIGxpYmdmb3J0cmFuLmluYwotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2ZvcnRyYW5fNy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuXzguMy5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuXzcuMy5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuXzguMy5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi04LjIuMS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nZGIvZ2RiLTguMi4xLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZmMxZWMwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi04LjIuMS5pbmMKQEAgLTAsMCArMSwyMyBAQAorTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYzICYgTEdQTHYyICYgTEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAorCQkgICAgZmlsZTovL0NPUFlJTkczO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCisJCSAgICBmaWxlOi8vQ09QWUlORzMuTElCO21kNT02YTZhOGUwMjA4MzhiMjM0MDZjODFiMTljMWQ0NmRmNiBcCisJCSAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTlmNjA0ZDhhNGY4ZTc0ZjRmNTE0MDg0NWEyMWI2Njc0IgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ251Lm9yZy9nbnUvZ2RiL2dkYi0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1tYWtlLW1hbi1pbnN0YWxsLXJlbGF0aXZlLXRvLURFU1RESVIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1taXBzLWxpbnV4LW5hdC1EZWZpbmUtX0FCSU8zMi1pZi1ub3QtZGVmaW5lZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LXBwYy1wdHJhY2UtRGVmaW5lLXB0X3JlZ3MtdWFwaV9wdF9yZWdzLW9uLUdMSUJDLXN5c3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1BZGQtc3VwcG9ydC1mb3ItUmVuZXNhcy1TSC1zaDQtYXJjaGl0ZWN0dXJlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtRG9udC1kaXNhYmxlLWxpYnJlYWRsaW5lLmEtd2hlbi11c2luZy1kaXNhYmxlLXN0YXRpYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA3LXVzZS1hc20tc2dpZGVmcy5oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDgtVXNlLWV4b3J0ZWQtZGVmaW5pdGlvbnMtb2YtU0lHUlRNSU4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOS1DaGFuZ2Utb3JkZXItb2YtQ0ZMQUdTLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTAtcmVzb2x2ZS1yZXN0cmljdC1rZXl3b3JkLWNvbmZsaWN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTEtRml4LWludmFsaWQtc2lncHJvY21hc2stY2FsbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nZGJzZXJ2ZXItY3RybC1jLWhhbmRsaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLXdpdGgtbGF0ZXN0LUdDQy05LjAtdHJlZS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiZjhiMjU2MmU4MzBhNDA5OGRkNWI1ZWE5ZTkyOTZjNzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGE2YTQzMjkwN2EwM2M1YzhlYWFkM2MzY2ZmZDUwYzAwYTQwYzNhNWUzYzQwMzk0NDA2MjRiYWU3MDNmMjIwMiIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi04LjIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi04LjIuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZTA4MDlkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItOC4yLmluYworKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLUxJQ0VOU0UgPSAiR1BMdjIgJiBHUEx2MyAmIExHUEx2MiAmIExHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKLQkJICAgIGZpbGU6Ly9DT1BZSU5HMzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAotCQkgICAgZmlsZTovL0NPUFlJTkczLkxJQjttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYgXAotCQkgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT05ZjYwNGQ4YTRmOGU3NGY0ZjUxNDA4NDVhMjFiNjY3NCIKLQotU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdudS5vcmcvZ251L2dkYi9nZGItJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItbWFrZS1tYW4taW5zdGFsbC1yZWxhdGl2ZS10by1ERVNURElSLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtbWlwcy1saW51eC1uYXQtRGVmaW5lLV9BQklPMzItaWYtbm90LWRlZmluZWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1wcGMtcHRyYWNlLURlZmluZS1wdF9yZWdzLXVhcGlfcHRfcmVncy1vbi1HTElCQy1zeXN0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtQWRkLXN1cHBvcnQtZm9yLVJlbmVzYXMtU0gtc2g0LWFyY2hpdGVjdHVyZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LURvbnQtZGlzYWJsZS1saWJyZWFkbGluZS5hLXdoZW4tdXNpbmctZGlzYWJsZS1zdGF0aWMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy11c2UtYXNtLXNnaWRlZnMuaC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA4LVVzZS1leG9ydGVkLWRlZmluaXRpb25zLW9mLVNJR1JUTUlOLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDktQ2hhbmdlLW9yZGVyLW9mLUNGTEFHUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLXJlc29sdmUtcmVzdHJpY3Qta2V5d29yZC1jb25mbGljdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDExLUZpeC1pbnZhbGlkLXNpZ3Byb2NtYXNrLWNhbGwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZ2Ric2VydmVyLWN0cmwtYy1oYW5kbGluZy5wYXRjaCBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiYjVhNDlkYmZmMDBkOWE4N2ZiZTExNGQxNGIzMTAxYzAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzNhNDQxYTI5YzdjODk3MjBiNzM0ZTVhOWM2Mjg5YzBhMDZiZTdlMGM3NmVmNTM4ZjdiYmNlZjM4OTM0N2MzOSIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jb21tb24uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jb21tb24uaW5jCmluZGV4IGZhNjQ5MzkuLjA4ZjYxNWEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY29tbW9uLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nZGIvZ2RiLWNvbW1vbi5pbmMKQEAgLTQsMTEgKzQsMTAgQEAKIERFUEVORFMgPSAiZXhwYXQgemxpYiBuY3Vyc2VzIHZpcnR1YWwvbGliaWNvbnYgJHtMVFROR1VTVH0gYmlzb24tbmF0aXZlIgogCiBMVFROR1VTVCA9ICJsdHRuZy11c3QiCitMVFROR1VTVF9hcmMgPSAiIgogTFRUTkdVU1RfYWFyY2g2NCA9ICIiCi1MVFROR1VTVF9yaXNjdjY0ID0gIiIKIExUVE5HVVNUX21pcHNhcmNoID0gIiIKIExUVE5HVVNUX3NoNCA9ICIiCi1MVFROR1VTVF9saWJjLW11c2wgPSAiIgogCiBpbmhlcml0IGF1dG90b29scyB0ZXhpbmZvCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY3Jvc3MtY2FuYWRpYW4uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zcy1jYW5hZGlhbi5pbmMKaW5kZXggNGZjNjc0Ny4uNDc1ZTRmMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zcy1jYW5hZGlhbi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zcy1jYW5hZGlhbi5pbmMKQEAgLTYsNyArNiw3IEBACiBCUE4gPSAiZ2RiIgogCiBERVBFTkRTID0gIm5hdGl2ZXNkay1uY3Vyc2VzIG5hdGl2ZXNkay1leHBhdCBuYXRpdmVzZGstZ2V0dGV4dCBcCi0gICAgICAgICAgIHZpcnR1YWwvJHtIT1NUX1BSRUZJWH1nY2MtY3Jvc3NzZGsgdmlydHVhbC8ke0hPU1RfUFJFRklYfWJpbnV0aWxzLWNyb3Nzc2RrIHZpcnR1YWwvbmF0aXZlc2RrLSR7SE9TVF9QUkVGSVh9bGliYy1mb3ItZ2NjIgorICAgICAgICAgICB2aXJ0dWFsLyR7SE9TVF9QUkVGSVh9Z2NjLWNyb3Nzc2RrIHZpcnR1YWwvJHtIT1NUX1BSRUZJWH1iaW51dGlscy1jcm9zc3NkayB2aXJ0dWFsL25hdGl2ZXNkay1saWJjIgogCiBHREJQUk9QUkVGSVggPSAiLS1wcm9ncmFtLXByZWZpeD0nJHtUQVJHRVRfUFJFRklYfSciCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY3Jvc3MtY2FuYWRpYW5fOC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zcy1jYW5hZGlhbl84LjIuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zcy1jYW5hZGlhbl84LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY3Jvc3MtY2FuYWRpYW5fOC4yLjEuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY3Jvc3NfOC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zc184LjIuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zc184LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY3Jvc3NfOC4yLjEuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGIvMDAwMS1GaXgtYnVpbGQtd2l0aC1sYXRlc3QtR0NDLTkuMC10cmVlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi8wMDAxLUZpeC1idWlsZC13aXRoLWxhdGVzdC1HQ0MtOS4wLXRyZWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE5NjI5MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGIvMDAwMS1GaXgtYnVpbGQtd2l0aC1sYXRlc3QtR0NDLTkuMC10cmVlLnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0Zyb20gNzQwNmE1MDA3Nzc3M2U3ODI4MmE0OTVjYjMyZWY1YjgxNzlmNmEzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERpbWl0YXIgRGltaXRyb3YgPGRpbWl0YXJAZGludXguZXU+CitEYXRlOiBNb24sIDE3IERlYyAyMDE4IDIxOjMwOjUyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCB3aXRoIGxhdGVzdCBHQ0MgOS4wIHRyZWUKKworQSByZWNlbnQgcGF0Y2ggWzFdIHRvIGZpeCBhIEdDQyBQUiBbMl0gYWN0dWFsbHkgYnJva2UgdGhlIEdEQiBidWlsZC4KK1RvIGZpeCwgcmVtb3ZlIHRoZSBzdGFjayBwb2ludGVyIGNsb2JiZXIuIEdDQyB3aWxsIGlnbm9yZSB0aGUgY2xvYmJlcgorbWFya2VyLCBhbmQgd2lsbCBub3Qgc2F2ZSBvciByZXN0b3JlIHRoZSBzdGFjayBwb2ludGVyLgorCitJIHJhbiAibWFrZSBjaGVjay1nZGIiIG9uIHg4Nl82NCB0byBlbnN1cmUgdGhlcmUgYXJlIG5vIHJlZ3Jlc3Npb25zLgorCitnZGIvQ2hhbmdlTG9nOgorCisyMDE4LTEyLTE3ICBEaW1pdGFyIERpbWl0cm92ICA8ZGltaXRhckBkaW51eC5ldT4KKworCSogbmF0L2xpbnV4LXB0cmFjZS5jIChsaW51eF9wdHJhY2VfdGVzdF9yZXRfdG9fbngpOiBSZW1vdmUgc3AgY2xvYmJlcnMuCisKK1sxXSBodHRwczovL2djYy5nbnUub3JnL21sL2djYy1wYXRjaGVzLzIwMTgtMTIvbXNnMDA1MzIuaHRtbAorWzJdIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTUyODEzCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IERpbWl0YXIgRGltaXRyb3YgPGRpbWl0YXJAZGludXguZXU+CistLS0KKyBnZGIvQ2hhbmdlTG9nICAgICAgICAgIHwgNSArKysrKworIGdkYi9uYXQvbGludXgtcHRyYWNlLmMgfCA0ICsrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dkYi9uYXQvbGludXgtcHRyYWNlLmMgYi9nZGIvbmF0L2xpbnV4LXB0cmFjZS5jCitpbmRleCBkNGMxYjhmOWZkLi4xODdjZmViOWJjIDEwMDY0NAorLS0tIGEvZ2RiL25hdC9saW51eC1wdHJhY2UuYworKysrIGIvZ2RiL25hdC9saW51eC1wdHJhY2UuYworQEAgLTE2MSwxNCArMTYxLDE0IEBAIGxpbnV4X3B0cmFjZV90ZXN0X3JldF90b19ueCAodm9pZCkKKyAJCQkiLmdsb2JsIGxpbnV4X3B0cmFjZV90ZXN0X3JldF90b19ueF9pbnN0cjsiCisgCQkJImxpbnV4X3B0cmFjZV90ZXN0X3JldF90b19ueF9pbnN0cjoiCisgCQkJInJldCIKKy0JCQk6IDogInIiIChyZXR1cm5fYWRkcmVzcykgOiAiJWVzcCIsICJtZW1vcnkiKTsKKysJCQk6IDogInIiIChyZXR1cm5fYWRkcmVzcykgOiAibWVtb3J5Iik7CisgI2VsaWYgZGVmaW5lZCBfX3g4Nl82NF9fCisgCSAgYXNtIHZvbGF0aWxlICgicHVzaHEgJTA7IgorIAkJCSIuZ2xvYmwgbGludXhfcHRyYWNlX3Rlc3RfcmV0X3RvX254X2luc3RyOyIKKyAJCQkibGludXhfcHRyYWNlX3Rlc3RfcmV0X3RvX254X2luc3RyOiIKKyAJCQkicmV0IgorIAkJCTogOiAiciIgKCh1aW50NjRfdCkgKHVpbnRwdHJfdCkgcmV0dXJuX2FkZHJlc3MpCistCQkJOiAiJXJzcCIsICJtZW1vcnkiKTsKKysJCQk6ICJtZW1vcnkiKTsKKyAjZWxzZQorICMgZXJyb3IgIiFfX2kzODZfXyAmJiAhX194ODZfNjRfXyIKKyAjZW5kaWYKKy0tCisyLjIwLjEKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGJfOC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYl84LjIuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYl84LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGJfOC4yLjEuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dpdC9naXRfMi4xOC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2l0L2dpdF8yLjE4LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyOTYwYzAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2l0L2dpdF8yLjE4LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1yZXF1aXJlIGdpdC5pbmMKLQotRVhUUkFfT0VDT05GICs9ICJhY19jdl9zbnByaW50Zl9yZXR1cm5zX2JvZ3VzPW5vIFwKLSAgICAgICAgICAgICAgICAgYWNfY3ZfZnJlYWRfcmVhZHNfZGlyZWN0b3JpZXM9JHthY19jdl9mcmVhZF9yZWFkc19kaXJlY3Rvcmllcz15ZXN9IFwKLSAgICAgICAgICAgICAgICAgIgotRVhUUkFfT0VNQUtFICs9ICJOT19HRVRURVhUPTEiCi0KLVNSQ19VUklbdGFyYmFsbC5tZDVzdW1dID0gIjliNjJjMjY3ZDg3OGY2Y2IwMmY4YWJjNTlhOTk1MjVkIgotU1JDX1VSSVt0YXJiYWxsLnNoYTI1NnN1bV0gPSAiNWM3MTBjODY2ZDhjOWJhM2IzZTA2Mjc1NWUwZTlkMGVmNGY2NjU3NTJiZDY0ODEwZTNlYjlmMWIwZjBlYjA3NiIKLVNSQ19VUklbbWFucGFnZXMubWQ1c3VtXSA9ICJlZjMyYTQ1OWE0YTA4YTNiOGU4MzdhMzFjOTI1Yzg0OCIKLVNSQ19VUklbbWFucGFnZXMuc2hhMjU2c3VtXSA9ICJkMDViZmFiMmRjNDVkZTRmNmU3ZDYxY2ExNzMwNzFkNjkwMjkwNWE0OTYzZjdhYzNjYmNhNjA4YzBkNDU5MmM5IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2l0L2dpdF8yLjIwLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9naXQvZ2l0XzIuMjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzdmYjA1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2l0L2dpdF8yLjIwLjEuYmIKQEAgLTAsMCArMSwxMSBAQAorcmVxdWlyZSBnaXQuaW5jCisKK0VYVFJBX09FQ09ORiArPSAiYWNfY3Zfc25wcmludGZfcmV0dXJuc19ib2d1cz1ubyBcCisgICAgICAgICAgICAgICAgIGFjX2N2X2ZyZWFkX3JlYWRzX2RpcmVjdG9yaWVzPSR7YWNfY3ZfZnJlYWRfcmVhZHNfZGlyZWN0b3JpZXM9eWVzfSBcCisgICAgICAgICAgICAgICAgICIKK0VYVFJBX09FTUFLRSArPSAiTk9fR0VUVEVYVD0xIgorCitTUkNfVVJJW3RhcmJhbGwubWQ1c3VtXSA9ICI3YTc3NjllNWM5NTczNjRlZDBhZWQ4OWU2ZTY3YzI1NCIKK1NSQ19VUklbdGFyYmFsbC5zaGEyNTZzdW1dID0gImVkYzNiYzE0OTViNjkxNzliYTRlMjcyZTk3ZWZmOTMzMzRhMjBkZWNiMWQ4ZGI2ZWMzYzE5YzE2NDE3NzM4ZmQiCitTUkNfVVJJW21hbnBhZ2VzLm1kNXN1bV0gPSAiNzhjNmU1NGE2MWExNjdkYWI1ZThhZTA3MDM2MjkzYWIiCitTUkNfVVJJW21hbnBhZ2VzLnNoYTI1NnN1bV0gPSAiZTljMTIzNDYzYWJkMDVlMTQyZGVmZTQ0YTgwNjBjZTZlOTg1M2RmZDhjODNiMjU0MmUzOGI3ZGVhYzRlNmQ0YyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dsaWRlL2dsaWRlXzAuMTMuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dsaWRlL2dsaWRlXzAuMTMuMi5iYgppbmRleCAzYTMyZmExLi43ZmFhZjRhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nbGlkZS9nbGlkZV8wLjEzLjIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2xpZGUvZ2xpZGVfMC4xMy4yLmJiCkBAIC0zMywzICszMyw2IEBACiAjIEVMRiBiaW5hcnkgJy93b3JrL2FhcmNoNjQtb2UtbGludXgvZ2xpZGUvMC4xMy4xLXIwL3BhY2thZ2VzLXNwbGl0L2dsaWRlLXB0ZXN0L3Vzci9saWIvZ2xpZGUvcHRlc3QvZ2l0aHViLmNvbS9NYXN0ZXJtaW5kcy9nbGlkZS9hY3Rpb24vYWN0aW9uLnRlc3QnIGhhcyByZWxvY2F0aW9ucyBpbiAudGV4dAogIyBFTEYgYmluYXJ5ICcvd29yay9hYXJjaDY0LW9lLWxpbnV4L2dsaWRlLzAuMTMuMS1yMC9wYWNrYWdlcy1zcGxpdC9nbGlkZS1wdGVzdC91c3IvbGliL2dsaWRlL3B0ZXN0L2dpdGh1Yi5jb20vTWFzdGVybWluZHMvZ2xpZGUvY2FjaGUvY2FjaGUudGVzdCcgaGFzIHJlbG9jYXRpb25zIGluIC50ZXh0IFt0ZXh0cmVsXQogSU5TQU5FX1NLSVBfJHtQTn0tcHRlc3QgKz0gInRleHRyZWwiCisKKyMgZmFpbHMgdG8gcnVuIHRhc2sgY29tcGlsZV9wdGVzdF9iYXNlIG9uIG1pcHMKK1BURVNUX0VOQUJMRURfbWlwc2FyY2ggPSAiMCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dudS1jb25maWcvZ251LWNvbmZpZ19naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nbnUtY29uZmlnL2dudS1jb25maWdfZ2l0LmJiCmluZGV4IDQ3NDVmMTkuLmU1OTdlYmUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dudS1jb25maWcvZ251LWNvbmZpZ19naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ251LWNvbmZpZy9nbnUtY29uZmlnX2dpdC5iYgpAQCAtOCw4ICs4LDggQEAKIAogSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKIAotU1JDUkVWID0gIjMwZDUzZmM0MjhlYTQyYWY5ZDZmNGQzNTVkYjAwMjJlMzkxOGE4MjQiCi1QViA9ICIyMDE4MDcxMytnaXQke1NSQ1BWfSIKK1NSQ1JFViA9ICIwNTg2MzliZTIyN2JiZThmMDNjYzM5Zjc5ZjdjZTg0OTE4MDEyMTQzIgorUFYgPSAiMjAxODExMjgrZ2l0JHtTUkNQVn0iCiAKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvY29uZmlnLmdpdCBcCiAgICAgICAgICAgIGZpbGU6Ly9nbnUtY29uZmlnaXplLmluIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjExLmluYwppbmRleCBkNjI2NTE0Li5kMDNlMjZjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjExLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjExLmluYwpAQCAtMSw3ICsxLDcgQEAKIHJlcXVpcmUgZ28tY29tbW9uLmluYwogCiBHT19CQVNFVkVSU0lPTiA9ICIxLjExIgotR09fTUlOT1IgPSAiLjEiCitHT19NSU5PUiA9ICIuNCIKIFBWIC49ICIke0dPX01JTk9SfSIKIEZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9ICIke0ZJTEVfRElSTkFNRX0vZ28tJHtHT19CQVNFVkVSU0lPTn06IgogCkBAIC0xNyw4ICsxNyw3IEBACiAgICAgZmlsZTovLzAwMDctY21kLWdvLW1ha2UtR09ST09ULXByZWNpb3VzLWJ5LWRlZmF1bHQucGF0Y2ggXAogICAgIGZpbGU6Ly8wMDA4LXVzZS1HT0JVSUxETU9ERS10by1zZXQtYnVpbGRtb2RlLnBhdGNoIFwKICIKLQogU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vMDAwOS1sZC1yZXBsYWNlLWdsaWJjLWR5bmFtaWMtbGlua2VyLXdpdGgtbXVzbC5wYXRjaCIKIAotU1JDX1VSSVttYWluLm1kNXN1bV0gPSAiZWI5ZTk3OTIyNDcxNDM3MDVhN2FhY2VhOTM5OGNkZTAiCi1TUkNfVVJJW21haW4uc2hhMjU2c3VtXSA9ICI1NThmOGMxNjlhZTIxNWUyNWI4MTQyMTU5NmU4ZGU3NTcyYmQzYmE4MjRiNzlhZGQyMmZiYTZlMjg0ZGIxMTE3IgorU1JDX1VSSVttYWluLm1kNXN1bV0gPSAiYTc3Njk3NjczMjE1YmU0NjVkMWI1ODM2ODBlZjIzMTgiCitTUkNfVVJJW21haW4uc2hhMjU2c3VtXSA9ICI0Y2ZkNDI3MjBhNmIxZTc5YTgwMjQ4OTVmYTY2MDdiNjk5NzJlOGUzMjQ0NmRmNzZkNmNlNzk4MDFiYmFkYjE1IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMS8wMDA3LWNtZC1nby1tYWtlLUdPUk9PVC1wcmVjaW91cy1ieS1kZWZhdWx0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMS8wMDA3LWNtZC1nby1tYWtlLUdPUk9PVC1wcmVjaW91cy1ieS1kZWZhdWx0LnBhdGNoCmluZGV4IGYzMTdlNDguLjI5ZWY5NDcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTEvMDAwNy1jbWQtZ28tbWFrZS1HT1JPT1QtcHJlY2lvdXMtYnktZGVmYXVsdC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjExLzAwMDctY21kLWdvLW1ha2UtR09ST09ULXByZWNpb3VzLWJ5LWRlZmF1bHQucGF0Y2gKQEAgLTY1LDggKzY1LDggQEAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSBnby5vcmlnL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9leGVjLmdvCiArKysgZ28vc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2V4ZWMuZ28KLUBAIC00NDAsNiArNDQwLDIzIEBAIGZ1bmMgKGIgKkJ1aWxkZXIpIGJ1aWxkKGEgKkFjdGlvbikgKGVycgotIAkJcmV0dXJuIGZtdC5FcnJvcmYoIm1vZHVsZSByZXF1aXJlcyBHbyAlcyIsIHAuTW9kdWxlLkdvVmVyc2lvbikKK0BAIC00MzYsNiArNDM2LDIzIEBAIGZ1bmMgKGIgKkJ1aWxkZXIpIGJ1aWxkKGEgKkFjdGlvbikgKGVycgorIAkJcmV0dXJuIGZtdC5FcnJvcmYoIm1pc3Npbmcgb3IgaW52YWxpZCBiaW5hcnktb25seSBwYWNrYWdlOyBleHBlY3RlZCBmaWxlICVxIiwgYS5QYWNrYWdlLlRhcmdldCkKICAJfQogIAogKwlpZiBnb1Jvb3RQcmVjaW91cyAmJiAoYS5QYWNrYWdlLlN0YW5kYXJkIHx8IGEuUGFja2FnZS5Hb3Jvb3QpIHsKQEAgLTg5LDcgKzg5LDcgQEAKICAJaWYgZXJyIDo9IGIuTWtkaXIoYS5PYmpkaXIpOyBlcnIgIT0gbmlsIHsKICAJCXJldHVybiBlcnIKICAJfQotQEAgLTE0MzUsNiArMTQ1MiwxNCBAQCBmdW5jIEJ1aWxkSW5zdGFsbEZ1bmMoYiAqQnVpbGRlciwgYSAqQWN0CitAQCAtMTQzOCw2ICsxNDU1LDE0IEBAIGZ1bmMgQnVpbGRJbnN0YWxsRnVuYyhiICpCdWlsZGVyLCBhICpBY3QKICAJCXJldHVybiBuaWwKICAJfQogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMS8wMDA4LXVzZS1HT0JVSUxETU9ERS10by1zZXQtYnVpbGRtb2RlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMS8wMDA4LXVzZS1HT0JVSUxETU9ERS10by1zZXQtYnVpbGRtb2RlLnBhdGNoCmluZGV4IGI2YWI1MDQuLjIyNWNmNDMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTEvMDAwOC11c2UtR09CVUlMRE1PREUtdG8tc2V0LWJ1aWxkbW9kZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjExLzAwMDgtdXNlLUdPQlVJTERNT0RFLXRvLXNldC1idWlsZG1vZGUucGF0Y2gKQEAgLTE4LDExICsxOCwxMSBAQAogIHNyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbyB8IDYgKysrKystCiAgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCi1kaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi1pbmRleCAxNDViODc1Li41OTVkNzAzIDEwMDY0NAotLS0tIGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi0rKysgYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KLUBAIC0yMTgsNyArMjE4LDExIEBAIGZ1bmMgQWRkQnVpbGRGbGFncyhjbWQgKmJhc2UuQ29tbWFuZCkgeworSW5kZXg6IGdvL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdvLm9yaWcvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCisrKysgZ28vc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCitAQCAtMjIzLDcgKzIyMywxMSBAQCBmdW5jIEFkZEJ1aWxkRmxhZ3MoY21kICpiYXNlLkNvbW1hbmQpIHsKICAKICAJY21kLkZsYWcuVmFyKCZsb2FkLkJ1aWxkQXNtZmxhZ3MsICJhc21mbGFncyIsICIiKQogIAljbWQuRmxhZy5WYXIoYnVpbGRDb21waWxlcnt9LCAiY29tcGlsZXIiLCAiIikKQEAgLTM1LDYgKzM1LDMgQEAKICAJY21kLkZsYWcuVmFyKCZsb2FkLkJ1aWxkR2NmbGFncywgImdjZmxhZ3MiLCAiIikKICAJY21kLkZsYWcuVmFyKCZsb2FkLkJ1aWxkR2NjZ29mbGFncywgImdjY2dvZmxhZ3MiLCAiIikKICAJY21kLkZsYWcuU3RyaW5nVmFyKCZjZmcuQnVpbGRNb2QsICJtb2QiLCAiIiwgIiIpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGNmMGE2MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIuaW5jCkBAIC0wLDAgKzEsMjMgQEAKK3JlcXVpcmUgZ28tY29tbW9uLmluYworCitHT19CQVNFVkVSU0lPTiA9ICIxLjEyIgorR09fTUlOT1IgPSAiLjEiCitQViAuPSAiJHtHT19NSU5PUn0iCitGSUxFU0VYVFJBUEFUSFNfcHJlcGVuZCA6PSAiJHtGSUxFX0RJUk5BTUV9L2dvLSR7R09fQkFTRVZFUlNJT059OiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NWQ0OTUwZWNiN2IyNmQyYzVlNGU3YjRlMGRkNzQ3MDciCisKK1NSQ19VUkkgKz0gIlwKKyAgICBmaWxlOi8vMDAwMS1hbGxvdy1DQy1hbmQtQ1hYLXRvLWhhdmUtbXVsdGlwbGUtd29yZHMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLWNtZC1nby1tYWtlLWNvbnRlbnQtYmFzZWQtaGFzaC1nZW5lcmF0aW9uLWxlc3MtcGVkYW4ucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAzLWFsbG93LUdPVE9PTERJUi10by1iZS1vdmVycmlkZGVuLWluLXRoZS1lbnZpcm9ubWVudC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDQtbGQtYWRkLXNvbmFtZS10by1zaGFyZWFibGUtb2JqZWN0cy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDUtbWFrZS5iYXNoLW92ZXJyaWRlLUNDLXdoZW4tYnVpbGRpbmctZGlzdC1hbmQtZ29fYm9vdC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDYtY21kLWRpc3Qtc2VwYXJhdGUtaG9zdC1hbmQtdGFyZ2V0LWJ1aWxkcy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDctY21kLWdvLW1ha2UtR09ST09ULXByZWNpb3VzLWJ5LWRlZmF1bHQucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA4LXVzZS1HT0JVSUxETU9ERS10by1zZXQtYnVpbGRtb2RlLnBhdGNoIFwKKyIKK1NSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9ICIgZmlsZTovLzAwMDktbGQtcmVwbGFjZS1nbGliYy1keW5hbWljLWxpbmtlci13aXRoLW11c2wucGF0Y2giCisKK1NSQ19VUklbbWFpbi5tZDVzdW1dID0gIjA5ZmU1OTIzNDM0NjU1NjBiNGI4NDMxZDg3MGIzZGYzIgorU1JDX1VSSVttYWluLnNoYTI1NnN1bV0gPSAiMGJlMTI3Njg0ZGY0Yjg0MmE2NGU1ODA5MzE1NGY5ZDE1NDIyZjE0MDVmMWZjZmY0YjJjMzZmZmM2YTE1ODE4YSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwMS1hbGxvdy1DQy1hbmQtQ1hYLXRvLWhhdmUtbXVsdGlwbGUtd29yZHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjEyLzAwMDEtYWxsb3ctQ0MtYW5kLUNYWC10by1oYXZlLW11bHRpcGxlLXdvcmRzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0NDI4NTgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjEyLzAwMDEtYWxsb3ctQ0MtYW5kLUNYWC10by1oYXZlLW11bHRpcGxlLXdvcmRzLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gN2NjNTE5YWE1Zjg0Y2Y4ZmM3YWM4YzEwZmM2OWFhODA0MDMzMGVhMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+CitEYXRlOiBNb24sIDE5IEZlYiAyMDE4IDA4OjQ5OjMzIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGFsbG93IENDIGFuZCBDWFggdG8gaGF2ZSBtdWx0aXBsZSB3b3JkcworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorCistLS0KKyBzcmMvY21kL2dvL2ludGVybmFsL2VudmNtZC9lbnYuZ28gfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvCitpbmRleCBhZmFkYmFkLi5jZWRiZmJmIDEwMDY0NAorLS0tIGEvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvCisrKysgYi9zcmMvY21kL2dvL2ludGVybmFsL2VudmNtZC9lbnYuZ28KK0BAIC04NSwxMSArODUsMTEgQEAgZnVuYyBNa0VudigpIFtdY2ZnLkVudlZhciB7CisgCisgCWNjIDo9IGNmZy5EZWZhdWx0Q0MoY2ZnLkdvb3MsIGNmZy5Hb2FyY2gpCisgCWlmIGVudiA6PSBzdHJpbmdzLkZpZWxkcyhvcy5HZXRlbnYoIkNDIikpOyBsZW4oZW52KSA+IDAgeworLQkJY2MgPSBlbnZbMF0KKysJCWNjID0gc3RyaW5ncy5Kb2luKGVudiwgIiAiKQorIAl9CisgCWN4eCA6PSBjZmcuRGVmYXVsdENYWChjZmcuR29vcywgY2ZnLkdvYXJjaCkKKyAJaWYgZW52IDo9IHN0cmluZ3MuRmllbGRzKG9zLkdldGVudigiQ1hYIikpOyBsZW4oZW52KSA+IDAgeworLQkJY3h4ID0gZW52WzBdCisrCQljeHggPSBzdHJpbmdzLkpvaW4oZW52LCAiICIpCisgCX0KKyAJZW52ID0gYXBwZW5kKGVudiwgY2ZnLkVudlZhcntOYW1lOiAiQ0MiLCBWYWx1ZTogY2N9KQorIAllbnYgPSBhcHBlbmQoZW52LCBjZmcuRW52VmFye05hbWU6ICJDWFgiLCBWYWx1ZTogY3h4fSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwMi1jbWQtZ28tbWFrZS1jb250ZW50LWJhc2VkLWhhc2gtZ2VuZXJhdGlvbi1sZXNzLXBlZGFuLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDAyLWNtZC1nby1tYWtlLWNvbnRlbnQtYmFzZWQtaGFzaC1nZW5lcmF0aW9uLWxlc3MtcGVkYW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZiODU2MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwMi1jbWQtZ28tbWFrZS1jb250ZW50LWJhc2VkLWhhc2gtZ2VuZXJhdGlvbi1sZXNzLXBlZGFuLnBhdGNoCkBAIC0wLDAgKzEsMjE4IEBACitGcm9tIDQ3ZGI2OWUyMGVkNjZmYjYyYjAxYWZmZDgzZDgyOTY1NGI4Mjk4OTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorRGF0ZTogTW9uLCAxOSBGZWIgMjAxOCAwODo1MDo1OSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBjbWQvZ286IG1ha2UgY29udGVudC1iYXNlZCBoYXNoIGdlbmVyYXRpb24gbGVzcyBwZWRhbnRpYworCitHbyAxLjEwJ3MgYnVpbGQgdG9vbCBub3cgdXNlcyBjb250ZW50LWJhc2VkIGhhc2hlcyB0bworZGV0ZXJtaW5lIHdoZW4gc29tZXRoaW5nIHNob3VsZCBiZSBidWlsdCBvciByZS1idWlsdC4KK1RoaXMgc2FtZSBtZWNoYW5pc20gaXMgdXNlZCB0byBtYWludGFpbiBhIGJ1aWx0LWFydGlmYWN0CitjYWNoZSBmb3Igc3BlZWRpbmcgdXAgYnVpbGRzLgorCitIb3dldmVyLCB0aGUgaGFzaGVzIGl0IGdlbmVyYXRlcyBpbmNsdWRlIGluZm9ybWF0aW9uIHRoYXQKK2RvZXNuJ3Qgd29yayB3ZWxsIHdpdGggT0UsIG5vciB3aXRoIHVzaW5nIGEgc2hhcmVkIHJ1bnRpbWUKK2xpYnJhcnkuCisKK0ZpcnN0LCBpdCBlbWJlZHMgcGF0aCBuYW1lcyB0byBzb3VyY2UgZmlsZXMsIHVubGVzcworYnVpbGRpbmcgd2l0aGluIEdPUk9PVC4gIFRoaXMgcHJldmVudHMgdGhlIGJ1aWxkaW5nCitvZiBhIHBhY2thZ2UgaW4gR09QQVRIIGZvciBsYXRlciBzdGFnaW5nIGludG8gR09ST09ULgorCitUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlCitHT1BBVEhfT01JVF9JTl9BQ1RJT05JRC4gIElmIHByZXNlbnQsIHBhdGggbmFtZQorZW1iZWRkaW5nIGlzIGRpc2FibGVkLgorCitTZWNvbmQsIGlmIGNnbyBpcyBlbmFibGVkLCB0aGUgYnVpbGQgSUQgZm9yIGNnby1yZWxhdGVkCitwYWNrYWdlcyB3aWxsIGluY2x1ZGUgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGVudmlyb25tZW50Cit2YXJpYWJsZXMgZm9yIGludm9raW5nIHRoZSBjb21waWxlciAoQ0MsIENYWCwgRkMpIGFuZAorYW55IENHT194eEZMQUdTIHZhcmlhYmxlcy4gIE9ubHkgaWYgdGhlIHNldHRpbmdzIHVzZWQKK2R1cmluZyBhIGNvbXBpbGF0aW9uIGV4YWN0bHkgbWF0Y2gsIGNoYXJhY3RlciBmb3IgY2hhcmFjdGVyLAordGhlIHZhbHVlcyB1c2VkIGZvciBjb21waWxpbmcgcnVudGltZS9jZ28gb3IgYW55IG90aGVyCitjZ28tZW5hYmxlZCBwYWNrYWdlIGJlaW5nIGltcG9ydGVkLCB3aWxsIHRoZSB0b29sCitkZWNpZGUgdGhhdCB0aGUgaW1wb3J0ZWQgcGFja2FnZSBpcyB1cC10by1kYXRlLgorCitUaGlzIGlzIGRvbmUgdG8gaGVscCBlbnN1cmUgY29ycmVjdG5lc3MsIGJ1dCBpcyBvdmVybHkKK3NpbXBsaXN0aWMgYW5kIGVmZmVjdGl2ZWx5IHByZXZlbnRzIHRoZSByZXVzZSBvZiBidWlsdAorYXJ0aWZhY3RzIHRoYXQgdXNlIGNnbyAob3Igc2hhcmVkIHJ1bnRpbWUsIHdoaWNoIGluY2x1ZGVzCitydW50aW1lL2NnbykuCisKK1RoaXMgcGF0Y2ggZmlsdGVycyBvdXQgYWxsIGNvbXBpbGVyIGZsYWdzIGV4Y2VwdCB0aG9zZQorYmVnaW5uaW5nIHdpdGggJy1tJy4gIFRoZSBkZWZhdWx0IGJlaGF2aW9yIGNhbiBiZSByZXN0b3JlZAorYnkgc2V0dGluZyB0aGUgQ0dPX1BFREFOVElDIGVudmlyb25tZW50IHZhcmlhYmxlLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorCistLS0KKyBzcmMvY21kL2dvL2ludGVybmFsL2VudmNtZC9lbnYuZ28gfCAgMiArLQorIHNyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9leGVjLmdvICB8IDYzICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvCitpbmRleCBjZWRiZmJmLi41NzYzYTBkIDEwMDY0NAorLS0tIGEvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvCisrKysgYi9zcmMvY21kL2dvL2ludGVybmFsL2VudmNtZC9lbnYuZ28KK0BAIC0xMjgsNyArMTI4LDcgQEAgZnVuYyBFeHRyYUVudlZhcnMoKSBbXWNmZy5FbnZWYXIgeworIGZ1bmMgRXh0cmFFbnZWYXJzQ29zdGx5KCkgW11jZmcuRW52VmFyIHsKKyAJdmFyIGIgd29yay5CdWlsZGVyCisgCWIuSW5pdCgpCistCWNwcGZsYWdzLCBjZmxhZ3MsIGN4eGZsYWdzLCBmZmxhZ3MsIGxkZmxhZ3MsIGVyciA6PSBiLkNGbGFncygmbG9hZC5QYWNrYWdle30pCisrCWNwcGZsYWdzLCBjZmxhZ3MsIGN4eGZsYWdzLCBmZmxhZ3MsIGxkZmxhZ3MsIGVyciA6PSBiLkNGbGFncygmbG9hZC5QYWNrYWdle30sIGZhbHNlKQorIAlpZiBlcnIgIT0gbmlsIHsKKyAJCS8vIFNob3VsZCBub3QgaGFwcGVuIC0gYi5DRmxhZ3Mgd2FzIGdpdmVuIGFuIGVtcHR5IHBhY2thZ2UuCisgCQlmbXQuRnByaW50Zihvcy5TdGRlcnIsICJnbzogaW52YWxpZCBjZmxhZ3M6ICV2XG4iLCBlcnIpCitkaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2V4ZWMuZ28gYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvZXhlYy5nbworaW5kZXggMTJlMTUyNy4uZTQxYmZhYyAxMDA2NDQKKy0tLSBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9leGVjLmdvCisrKysgYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvZXhlYy5nbworQEAgLTE3NCw2ICsxNzQsOCBAQCBmdW5jIChiICpCdWlsZGVyKSBEbyhyb290ICpBY3Rpb24pIHsKKyAJd2cuV2FpdCgpCisgfQorIAorK3ZhciBvbWl0R29wYXRoID0gb3MuR2V0ZW52KCJHT1BBVEhfT01JVF9JTl9BQ1RJT05JRCIpICE9ICIiCisrCisgLy8gYnVpbGRBY3Rpb25JRCBjb21wdXRlcyB0aGUgYWN0aW9uIElEIGZvciBhIGJ1aWxkIGFjdGlvbi4KKyBmdW5jIChiICpCdWlsZGVyKSBidWlsZEFjdGlvbklEKGEgKkFjdGlvbikgY2FjaGUuQWN0aW9uSUQgeworIAlwIDo9IGEuUGFja2FnZQorQEAgLTE5MCw3ICsxOTIsNyBAQCBmdW5jIChiICpCdWlsZGVyKSBidWlsZEFjdGlvbklEKGEgKkFjdGlvbikgY2FjaGUuQWN0aW9uSUQgeworIAkvLyBidXQgaXQgZG9lcyBub3QgaGlkZSB0aGUgZXhhY3QgdmFsdWUgb2YgJEdPUEFUSC4KKyAJLy8gSW5jbHVkZSB0aGUgZnVsbCBkaXIgaW4gdGhhdCBjYXNlLgorIAkvLyBBc3N1bWUgYi5Xb3JrRGlyIGlzIGJlaW5nIHRyaW1tZWQgcHJvcGVybHkuCistCWlmICFwLkdvcm9vdCAmJiAhc3RyaW5ncy5IYXNQcmVmaXgocC5EaXIsIGIuV29ya0RpcikgeworKwlpZiAhcC5Hb3Jvb3QgJiYgIW9taXRHb3BhdGggJiYgIXN0cmluZ3MuSGFzUHJlZml4KHAuRGlyLCBiLldvcmtEaXIpIHsKKyAJCWZtdC5GcHJpbnRmKGgsICJkaXIgJXNcbiIsIHAuRGlyKQorIAl9CisgCWZtdC5GcHJpbnRmKGgsICJnb29zICVzIGdvYXJjaCAlc1xuIiwgY2ZnLkdvb3MsIGNmZy5Hb2FyY2gpCitAQCAtMjAxLDEzICsyMDMsMTMgQEAgZnVuYyAoYiAqQnVpbGRlcikgYnVpbGRBY3Rpb25JRChhICpBY3Rpb24pIGNhY2hlLkFjdGlvbklEIHsKKyAJfQorIAlpZiBsZW4ocC5DZ29GaWxlcykrbGVuKHAuU3dpZ0ZpbGVzKSA+IDAgeworIAkJZm10LkZwcmludGYoaCwgImNnbyAlcVxuIiwgYi50b29sSUQoImNnbyIpKQorLQkJY3BwZmxhZ3MsIGNmbGFncywgY3h4ZmxhZ3MsIGZmbGFncywgbGRmbGFncywgXyA6PSBiLkNGbGFncyhwKQorLQkJZm10LkZwcmludGYoaCwgIkNDPSVxICVxICVxICVxXG4iLCBiLmNjRXhlKCksIGNwcGZsYWdzLCBjZmxhZ3MsIGxkZmxhZ3MpCisrCQljcHBmbGFncywgY2ZsYWdzLCBjeHhmbGFncywgZmZsYWdzLCBsZGZsYWdzLCBfIDo9IGIuQ0ZsYWdzKHAsIHRydWUpCisrCQlmbXQuRnByaW50ZihoLCAiQ0M9JXEgJXEgJXEgJXFcbiIsIGIuY2NFeGUodHJ1ZSksIGNwcGZsYWdzLCBjZmxhZ3MsIGxkZmxhZ3MpCisgCQlpZiBsZW4ocC5DWFhGaWxlcykrbGVuKHAuU3dpZ0ZpbGVzKSA+IDAgeworLQkJCWZtdC5GcHJpbnRmKGgsICJDWFg9JXEgJXFcbiIsIGIuY3h4RXhlKCksIGN4eGZsYWdzKQorKwkJCWZtdC5GcHJpbnRmKGgsICJDWFg9JXEgJXFcbiIsIGIuY3h4RXhlKHRydWUpLCBjeHhmbGFncykKKyAJCX0KKyAJCWlmIGxlbihwLkZGaWxlcykgPiAwIHsKKy0JCQlmbXQuRnByaW50ZihoLCAiRkM9JXEgJXFcbiIsIGIuZmNFeGUoKSwgZmZsYWdzKQorKwkJCWZtdC5GcHJpbnRmKGgsICJGQz0lcSAlcVxuIiwgYi5mY0V4ZSh0cnVlKSwgZmZsYWdzKQorIAkJfQorIAkJLy8gVE9ETyhyc2MpOiBTaG91bGQgd2UgaW5jbHVkZSB0aGUgU1dJRyB2ZXJzaW9uIG9yIEZvcnRyYW4vR0NDL0crKy9PYmplY3RpdmUtQyBjb21waWxlciB2ZXJzaW9ucz8KKyAJfQorQEAgLTIwOTYsMzMgKzIwOTgsMzMgQEAgdmFyICgKKyAvLyBnY2NDbWQgcmV0dXJucyBhIGdjYyBjb21tYW5kIGxpbmUgcHJlZml4CisgLy8gZGVmYXVsdENDIGlzIGRlZmluZWQgaW4gemRlZmF1bHRjYy5nbywgd3JpdHRlbiBieSBjbWQvZGlzdC4KKyBmdW5jIChiICpCdWlsZGVyKSBHY2NDbWQoaW5jZGlyLCB3b3JrZGlyIHN0cmluZykgW11zdHJpbmcgeworLQlyZXR1cm4gYi5jb21waWxlckNtZChiLmNjRXhlKCksIGluY2Rpciwgd29ya2RpcikKKysJcmV0dXJuIGIuY29tcGlsZXJDbWQoYi5jY0V4ZShmYWxzZSksIGluY2Rpciwgd29ya2RpcikKKyB9CisgCisgLy8gZ3h4Q21kIHJldHVybnMgYSBnKysgY29tbWFuZCBsaW5lIHByZWZpeAorIC8vIGRlZmF1bHRDWFggaXMgZGVmaW5lZCBpbiB6ZGVmYXVsdGNjLmdvLCB3cml0dGVuIGJ5IGNtZC9kaXN0LgorIGZ1bmMgKGIgKkJ1aWxkZXIpIEd4eENtZChpbmNkaXIsIHdvcmtkaXIgc3RyaW5nKSBbXXN0cmluZyB7CistCXJldHVybiBiLmNvbXBpbGVyQ21kKGIuY3h4RXhlKCksIGluY2Rpciwgd29ya2RpcikKKysJcmV0dXJuIGIuY29tcGlsZXJDbWQoYi5jeHhFeGUoZmFsc2UpLCBpbmNkaXIsIHdvcmtkaXIpCisgfQorIAorIC8vIGdmb3J0cmFuQ21kIHJldHVybnMgYSBnZm9ydHJhbiBjb21tYW5kIGxpbmUgcHJlZml4LgorIGZ1bmMgKGIgKkJ1aWxkZXIpIGdmb3J0cmFuQ21kKGluY2Rpciwgd29ya2RpciBzdHJpbmcpIFtdc3RyaW5nIHsKKy0JcmV0dXJuIGIuY29tcGlsZXJDbWQoYi5mY0V4ZSgpLCBpbmNkaXIsIHdvcmtkaXIpCisrCXJldHVybiBiLmNvbXBpbGVyQ21kKGIuZmNFeGUoZmFsc2UpLCBpbmNkaXIsIHdvcmtkaXIpCisgfQorIAorIC8vIGNjRXhlIHJldHVybnMgdGhlIENDIGNvbXBpbGVyIHNldHRpbmcgd2l0aG91dCBhbGwgdGhlIGV4dHJhIGZsYWdzIHdlIGFkZCBpbXBsaWNpdGx5LgorLWZ1bmMgKGIgKkJ1aWxkZXIpIGNjRXhlKCkgW11zdHJpbmcgeworLQlyZXR1cm4gYi5jb21waWxlckV4ZShvcmlnQ0MsIGNmZy5EZWZhdWx0Q0MoY2ZnLkdvb3MsIGNmZy5Hb2FyY2gpKQorK2Z1bmMgKGIgKkJ1aWxkZXIpIGNjRXhlKGZpbHRlcmVkIGJvb2wpIFtdc3RyaW5nIHsKKysJcmV0dXJuIGIuY29tcGlsZXJFeGUob3JpZ0NDLCBjZmcuRGVmYXVsdENDKGNmZy5Hb29zLCBjZmcuR29hcmNoKSwgZmlsdGVyZWQpCisgfQorIAorIC8vIGN4eEV4ZSByZXR1cm5zIHRoZSBDWFggY29tcGlsZXIgc2V0dGluZyB3aXRob3V0IGFsbCB0aGUgZXh0cmEgZmxhZ3Mgd2UgYWRkIGltcGxpY2l0bHkuCistZnVuYyAoYiAqQnVpbGRlcikgY3h4RXhlKCkgW11zdHJpbmcgeworLQlyZXR1cm4gYi5jb21waWxlckV4ZShvcmlnQ1hYLCBjZmcuRGVmYXVsdENYWChjZmcuR29vcywgY2ZnLkdvYXJjaCkpCisrZnVuYyAoYiAqQnVpbGRlcikgY3h4RXhlKGZpbHRlcmVkIGJvb2wpIFtdc3RyaW5nIHsKKysJcmV0dXJuIGIuY29tcGlsZXJFeGUob3JpZ0NYWCwgY2ZnLkRlZmF1bHRDWFgoY2ZnLkdvb3MsIGNmZy5Hb2FyY2gpLCBmaWx0ZXJlZCkKKyB9CisgCisgLy8gZmNFeGUgcmV0dXJucyB0aGUgRkMgY29tcGlsZXIgc2V0dGluZyB3aXRob3V0IGFsbCB0aGUgZXh0cmEgZmxhZ3Mgd2UgYWRkIGltcGxpY2l0bHkuCistZnVuYyAoYiAqQnVpbGRlcikgZmNFeGUoKSBbXXN0cmluZyB7CistCXJldHVybiBiLmNvbXBpbGVyRXhlKG9zLkdldGVudigiRkMiKSwgImdmb3J0cmFuIikKKytmdW5jIChiICpCdWlsZGVyKSBmY0V4ZShmaWx0ZXJlZCBib29sKSBbXXN0cmluZyB7CisrCXJldHVybiBiLmNvbXBpbGVyRXhlKG9zLkdldGVudigiRkMiKSwgImdmb3J0cmFuIiwgZmlsdGVyZWQpCisgfQorIAorIC8vIGNvbXBpbGVyRXhlIHJldHVybnMgdGhlIGNvbXBpbGVyIHRvIHVzZSBnaXZlbiBhbgorQEAgLTIxMzEsMTEgKzIxMzMsMTQgQEAgZnVuYyAoYiAqQnVpbGRlcikgZmNFeGUoKSBbXXN0cmluZyB7CisgLy8gb2YgdGhlIGNvbXBpbGVyIGJ1dCBjYW4gaGF2ZSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBpZiB0aGV5CisgLy8gd2VyZSBwcmVzZW50IGluIHRoZSBlbnZpcm9ubWVudCB2YWx1ZS4KKyAvLyBGb3IgZXhhbXBsZSBpZiBDQz0iZ2NjIC1ER09QSEVSIiB0aGVuIHRoZSByZXN1bHQgaXMgWyJnY2MiLCAiLURHT1BIRVIiXS4KKy1mdW5jIChiICpCdWlsZGVyKSBjb21waWxlckV4ZShlbnZWYWx1ZSBzdHJpbmcsIGRlZiBzdHJpbmcpIFtdc3RyaW5nIHsKKytmdW5jIChiICpCdWlsZGVyKSBjb21waWxlckV4ZShlbnZWYWx1ZSBzdHJpbmcsIGRlZiBzdHJpbmcsIGZpbHRlcmVkIGJvb2wpIFtdc3RyaW5nIHsKKyAJY29tcGlsZXIgOj0gc3RyaW5ncy5GaWVsZHMoZW52VmFsdWUpCisgCWlmIGxlbihjb21waWxlcikgPT0gMCB7CisgCQljb21waWxlciA9IFtdc3RyaW5ne2RlZn0KKyAJfQorKwlpZiBmaWx0ZXJlZCB7CisrCQlyZXR1cm4gYXBwZW5kKGNvbXBpbGVyWzA6MV0sIGZpbHRlckNvbXBpbGVyRmxhZ3MoY29tcGlsZXJbMTpdKS4uLikKKysJfQorIAlyZXR1cm4gY29tcGlsZXIKKyB9CisgCitAQCAtMjI4NSw4ICsyMjkwLDIzIEBAIGZ1bmMgZW52TGlzdChrZXksIGRlZiBzdHJpbmcpIFtdc3RyaW5nIHsKKyAJcmV0dXJuIHN0cmluZ3MuRmllbGRzKHYpCisgfQorIAorK3ZhciBmaWx0ZXJGbGFncyA9IG9zLkdldGVudigiQ0dPX1BFREFOVElDIikgPT0gIiIKKysKKytmdW5jIGZpbHRlckNvbXBpbGVyRmxhZ3MoZmxhZ3MgW11zdHJpbmcpIFtdc3RyaW5nIHsKKysJdmFyIG5ld2ZsYWdzIFtdc3RyaW5nCisrCWlmICFmaWx0ZXJGbGFncyB7CisrCQlyZXR1cm4gZmxhZ3MKKysJfQorKwlmb3IgXywgZmxhZyA6PSByYW5nZSBmbGFncyB7CisrCQlpZiBzdHJpbmdzLkhhc1ByZWZpeChmbGFnLCAiLW0iKSB7CisrCQkJbmV3ZmxhZ3MgPSBhcHBlbmQobmV3ZmxhZ3MsIGZsYWcpCisrCQl9CisrCX0KKysJcmV0dXJuIG5ld2ZsYWdzCisrfQorKworIC8vIENGbGFncyByZXR1cm5zIHRoZSBmbGFncyB0byB1c2Ugd2hlbiBpbnZva2luZyB0aGUgQywgQysrIG9yIEZvcnRyYW4gY29tcGlsZXJzLCBvciBjZ28uCistZnVuYyAoYiAqQnVpbGRlcikgQ0ZsYWdzKHAgKmxvYWQuUGFja2FnZSkgKGNwcGZsYWdzLCBjZmxhZ3MsIGN4eGZsYWdzLCBmZmxhZ3MsIGxkZmxhZ3MgW11zdHJpbmcsIGVyciBlcnJvcikgeworK2Z1bmMgKGIgKkJ1aWxkZXIpIENGbGFncyhwICpsb2FkLlBhY2thZ2UsIGZpbHRlcmVkIGJvb2wpIChjcHBmbGFncywgY2ZsYWdzLCBjeHhmbGFncywgZmZsYWdzLCBsZGZsYWdzIFtdc3RyaW5nLCBlcnIgZXJyb3IpIHsKKyAJZGVmYXVsdHMgOj0gIi1nIC1PMiIKKyAKKyAJaWYgY3BwZmxhZ3MsIGVyciA9IGJ1aWxkRmxhZ3MoIkNQUEZMQUdTIiwgIiIsIHAuQ2dvQ1BQRkxBR1MsIGNoZWNrQ29tcGlsZXJGbGFncyk7IGVyciAhPSBuaWwgeworQEAgLTIzMDQsNiArMjMyNCwxMyBAQCBmdW5jIChiICpCdWlsZGVyKSBDRmxhZ3MocCAqbG9hZC5QYWNrYWdlKSAoY3BwZmxhZ3MsIGNmbGFncywgY3h4ZmxhZ3MsIGZmbGFncywgbAorIAlpZiBsZGZsYWdzLCBlcnIgPSBidWlsZEZsYWdzKCJMREZMQUdTIiwgZGVmYXVsdHMsIHAuQ2dvTERGTEFHUywgY2hlY2tMaW5rZXJGbGFncyk7IGVyciAhPSBuaWwgeworIAkJcmV0dXJuCisgCX0KKysJaWYgZmlsdGVyZWQgeworKwkJY3BwZmxhZ3MgPSBmaWx0ZXJDb21waWxlckZsYWdzKGNwcGZsYWdzKQorKwkJY2ZsYWdzID0gZmlsdGVyQ29tcGlsZXJGbGFncyhjZmxhZ3MpCisrCQljeHhmbGFncyA9IGZpbHRlckNvbXBpbGVyRmxhZ3MoY3h4ZmxhZ3MpCisrCQlmZmxhZ3MgPSBmaWx0ZXJDb21waWxlckZsYWdzKGZmbGFncykKKysJCWxkZmxhZ3MgPSBmaWx0ZXJDb21waWxlckZsYWdzKGxkZmxhZ3MpCisrCX0KKyAKKyAJcmV0dXJuCisgfQorQEAgLTIzMTksNyArMjM0Niw3IEBAIHZhciBjZ29SZSA9IHJlZ2V4cC5NdXN0Q29tcGlsZShgWy9cXDpdYCkKKyAKKyBmdW5jIChiICpCdWlsZGVyKSBjZ28oYSAqQWN0aW9uLCBjZ29FeGUsIG9iamRpciBzdHJpbmcsIHBjQ0ZMQUdTLCBwY0xERkxBR1MsIGNnb2ZpbGVzLCBnY2NmaWxlcywgZ3h4ZmlsZXMsIG1maWxlcywgZmZpbGVzIFtdc3RyaW5nKSAob3V0R28sIG91dE9iaiBbXXN0cmluZywgZXJyIGVycm9yKSB7CisgCXAgOj0gYS5QYWNrYWdlCistCWNnb0NQUEZMQUdTLCBjZ29DRkxBR1MsIGNnb0NYWEZMQUdTLCBjZ29GRkxBR1MsIGNnb0xERkxBR1MsIGVyciA6PSBiLkNGbGFncyhwKQorKwljZ29DUFBGTEFHUywgY2dvQ0ZMQUdTLCBjZ29DWFhGTEFHUywgY2dvRkZMQUdTLCBjZ29MREZMQUdTLCBlcnIgOj0gYi5DRmxhZ3MocCwgZmFsc2UpCisgCWlmIGVyciAhPSBuaWwgeworIAkJcmV0dXJuIG5pbCwgbmlsLCBlcnIKKyAJfQorQEAgLTI2NzksNyArMjcwNiw3IEBAIGZ1bmMgKGIgKkJ1aWxkZXIpIHN3aWdJbnRTaXplKG9iamRpciBzdHJpbmcpIChpbnRzaXplIHN0cmluZywgZXJyIGVycm9yKSB7CisgCisgLy8gUnVuIFNXSUcgb24gb25lIFNXSUcgaW5wdXQgZmlsZS4KKyBmdW5jIChiICpCdWlsZGVyKSBzd2lnT25lKGEgKkFjdGlvbiwgcCAqbG9hZC5QYWNrYWdlLCBmaWxlLCBvYmpkaXIgc3RyaW5nLCBwY0NGTEFHUyBbXXN0cmluZywgY3h4IGJvb2wsIGludGdvc2l6ZSBzdHJpbmcpIChvdXRHbywgb3V0QyBzdHJpbmcsIGVyciBlcnJvcikgeworLQljZ29DUFBGTEFHUywgY2dvQ0ZMQUdTLCBjZ29DWFhGTEFHUywgXywgXywgZXJyIDo9IGIuQ0ZsYWdzKHApCisrCWNnb0NQUEZMQUdTLCBjZ29DRkxBR1MsIGNnb0NYWEZMQUdTLCBfLCBfLCBlcnIgOj0gYi5DRmxhZ3MocCwgZmFsc2UpCisgCWlmIGVyciAhPSBuaWwgeworIAkJcmV0dXJuICIiLCAiIiwgZXJyCisgCX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwMy1hbGxvdy1HT1RPT0xESVItdG8tYmUtb3ZlcnJpZGRlbi1pbi10aGUtZW52aXJvbm1lbnQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjEyLzAwMDMtYWxsb3ctR09UT09MRElSLXRvLWJlLW92ZXJyaWRkZW4taW4tdGhlLWVudmlyb25tZW50LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2Y2E0MGUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjEyLzAwMDMtYWxsb3ctR09UT09MRElSLXRvLWJlLW92ZXJyaWRkZW4taW4tdGhlLWVudmlyb25tZW50LnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK0Zyb20gNWMzMmMzOGJmMTliMjRmMGFhZGQ3ODAxMmQxN2ZmNWNhYTgyMTUxZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+CitEYXRlOiBTYXQsIDE3IEZlYiAyMDE4IDA1OjI0OjIwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGFsbG93IEdPVE9PTERJUiB0byBiZSBvdmVycmlkZGVuIGluIHRoZSBlbnZpcm9ubWVudAorCit0byBhbGxvdyBmb3Igc3BsaXQgaG9zdC90YXJnZXQgYnVpbGQgcm9vdHMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KKworLS0tCisgc3JjL2NtZC9kaXN0L2J1aWxkLmdvICAgICAgICAgIHwgNCArKystCisgc3JjL2NtZC9nby9pbnRlcm5hbC9jZmcvY2ZnLmdvIHwgNyArKysrKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK0luZGV4OiBnby9zcmMvY21kL2Rpc3QvYnVpbGQuZ28KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnby5vcmlnL3NyYy9jbWQvZGlzdC9idWlsZC5nbworKysrIGdvL3NyYy9jbWQvZGlzdC9idWlsZC5nbworQEAgLTIyOCw3ICsyMjgsOSBAQCBmdW5jIHhpbml0KCkgeworIAl3b3JrZGlyID0geHdvcmtkaXIoKQorIAl4YXRleGl0KHJtd29ya2RpcikKKyAKKy0JdG9vbGRpciA9IHBhdGhmKCIlcy9wa2cvdG9vbC8lc18lcyIsIGdvcm9vdCwgZ29ob3N0b3MsIGdvaG9zdGFyY2gpCisrCWlmIHRvb2xkaXIgPSBvcy5HZXRlbnYoIkdPVE9PTERJUiIpOyB0b29sZGlyID09ICIiIHsKKysJCXRvb2xkaXIgPSBwYXRoZigiJXMvcGtnL3Rvb2wvJXNfJXMiLCBnb3Jvb3QsIGdvaG9zdG9zLCBnb2hvc3RhcmNoKQorKwl9CisgfQorIAorIC8vIGNvbXBpbGVyRW52IHJldHVybnMgYSBtYXAgZnJvbSAiZ29vcy9nb2FyY2giIHRvIHRoZQorSW5kZXg6IGdvL3NyYy9jbWQvZ28vaW50ZXJuYWwvY2ZnL2NmZy5nbworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdvLm9yaWcvc3JjL2NtZC9nby9pbnRlcm5hbC9jZmcvY2ZnLmdvCisrKysgZ28vc3JjL2NtZC9nby9pbnRlcm5hbC9jZmcvY2ZnLmdvCitAQCAtMTE2LDcgKzExNiwxMSBAQCBmdW5jIGluaXQoKSB7CisgCQkvLyB2YXJpYWJsZXMuIFRoaXMgbWF0Y2hlcyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgVG9vbERpciBpbgorIAkJLy8gZ28vYnVpbGQsIGV4Y2VwdCBmb3IgdXNpbmcgR09ST09UIHJhdGhlciB0aGFuCisgCQkvLyBydW50aW1lLkdPUk9PVC4KKy0JCWJ1aWxkLlRvb2xEaXIgPSBmaWxlcGF0aC5Kb2luKEdPUk9PVCwgInBrZy90b29sLyIrcnVudGltZS5HT09TKyJfIitydW50aW1lLkdPQVJDSCkKKysJCWlmIHMgOj0gb3MuR2V0ZW52KCJHT1RPT0xESVIiKTsgcyAhPSAiIiB7CisrCQkJYnVpbGQuVG9vbERpciA9IGZpbGVwYXRoLkNsZWFuKHMpCisrCQl9IGVsc2UgeworKwkJCWJ1aWxkLlRvb2xEaXIgPSBmaWxlcGF0aC5Kb2luKEdPUk9PVCwgInBrZy90b29sLyIrcnVudGltZS5HT09TKyJfIitydW50aW1lLkdPQVJDSCkKKysJCX0KKyAJfQorIH0KKyAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNC1sZC1hZGQtc29uYW1lLXRvLXNoYXJlYWJsZS1vYmplY3RzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA0LWxkLWFkZC1zb25hbWUtdG8tc2hhcmVhYmxlLW9iamVjdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA0YTMzYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNC1sZC1hZGQtc29uYW1lLXRvLXNoYXJlYWJsZS1vYmplY3RzLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gNTVlYjhjOTVhODlmMzJhZWMxNmI3NzY0ZTc4ZThjZjc1MTY5ZGM4MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+CitEYXRlOiBTYXQsIDE3IEZlYiAyMDE4IDA2OjI2OjEwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGxkOiBhZGQgc29uYW1lIHRvIHNoYXJlYWJsZSBvYmplY3RzCisKK3NvIHRoYXQgT0UncyBzaGFyZWQgbGlicmFyeSBkZXBlbmRlbmN5IGhhbmRsaW5nCitjYW4gZmluZCB0aGVtLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorCistLS0KKyBzcmMvY21kL2xpbmsvaW50ZXJuYWwvbGQvbGliLmdvIHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NtZC9saW5rL2ludGVybmFsL2xkL2xpYi5nbyBiL3NyYy9jbWQvbGluay9pbnRlcm5hbC9sZC9saWIuZ28KK2luZGV4IDIyMGFhYjMuLjcwMzkyNWYgMTAwNjQ0CistLS0gYS9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbGQvbGliLmdvCisrKysgYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbGQvbGliLmdvCitAQCAtMTEzNSw2ICsxMTM1LDcgQEAgZnVuYyAoY3R4dCAqTGluaykgaG9zdGxpbmsoKSB7CisgCQkJCWFyZ3YgPSBhcHBlbmQoYXJndiwgIi1XbCwteixyZWxybyIpCisgCQkJfQorIAkJCWFyZ3YgPSBhcHBlbmQoYXJndiwgIi1zaGFyZWQiKQorKwkJCWFyZ3YgPSBhcHBlbmQoYXJndiwgZm10LlNwcmludGYoIi1XbCwtc29uYW1lLCVzIiwgZmlsZXBhdGguQmFzZSgqZmxhZ091dGZpbGUpKSkKKyAJCQlpZiBjdHh0LkhlYWRUeXBlICE9IG9iamFiaS5Id2luZG93cyB7CisgCQkJCS8vIFBhc3MgLXogbm9kZWxldGUgdG8gbWFyayB0aGUgc2hhcmVkIGxpYnJhcnkgYXMKKyAJCQkJLy8gbm9uLWNsb3NlYWJsZTogYSBkbGNsb3NlIHdpbGwgZG8gbm90aGluZy4KK0BAIC0xMTQ2LDYgKzExNDcsOCBAQCBmdW5jIChjdHh0ICpMaW5rKSBob3N0bGluaygpIHsKKyAJCQlhcmd2ID0gYXBwZW5kKGFyZ3YsICItV2wsLXoscmVscm8iKQorIAkJfQorIAkJYXJndiA9IGFwcGVuZChhcmd2LCAiLXNoYXJlZCIpCisrCQlhcmd2ID0gYXBwZW5kKGFyZ3YsIGZtdC5TcHJpbnRmKCItV2wsLXNvbmFtZSwlcyIsIGZpbGVwYXRoLkJhc2UoKmZsYWdPdXRmaWxlKSkpCisrCisgCWNhc2UgQnVpbGRNb2RlUGx1Z2luOgorIAkJaWYgY3R4dC5IZWFkVHlwZSA9PSBvYmphYmkuSGRhcndpbiB7CisgCQkJYXJndiA9IGFwcGVuZChhcmd2LCAiLWR5bmFtaWNsaWIiKQorQEAgLTExNTQsNiArMTE1Nyw3IEBAIGZ1bmMgKGN0eHQgKkxpbmspIGhvc3RsaW5rKCkgeworIAkJCQlhcmd2ID0gYXBwZW5kKGFyZ3YsICItV2wsLXoscmVscm8iKQorIAkJCX0KKyAJCQlhcmd2ID0gYXBwZW5kKGFyZ3YsICItc2hhcmVkIikKKysJCQlhcmd2ID0gYXBwZW5kKGFyZ3YsIGZtdC5TcHJpbnRmKCItV2wsLXNvbmFtZSwlcyIsIGZpbGVwYXRoLkJhc2UoKmZsYWdPdXRmaWxlKSkpCisgCQl9CisgCX0KKyAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNS1tYWtlLmJhc2gtb3ZlcnJpZGUtQ0Mtd2hlbi1idWlsZGluZy1kaXN0LWFuZC1nb19ib290LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA1LW1ha2UuYmFzaC1vdmVycmlkZS1DQy13aGVuLWJ1aWxkaW5nLWRpc3QtYW5kLWdvX2Jvb3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNlOGRlOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNS1tYWtlLmJhc2gtb3ZlcnJpZGUtQ0Mtd2hlbi1idWlsZGluZy1kaXN0LWFuZC1nb19ib290LnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gMWJmMTVhYThmYjc3MzYwNGIyNTI0Y2ZkYWI0OTNmYTRkOGZhOTI4NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+CitEYXRlOiBTYXQsIDE3IEZlYiAyMDE4IDA2OjMyOjQ1IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIG1ha2UuYmFzaDogb3ZlcnJpZGUgQ0Mgd2hlbiBidWlsZGluZyBkaXN0IGFuZCBnb19ib290c3RyYXAKKworZm9yIGhhbmRsaW5nIE9FIGNyb3NzLWNhbmFkaWFuIGJ1aWxkcy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KKworLS0tCisgc3JjL21ha2UuYmFzaCB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbWFrZS5iYXNoIGIvc3JjL21ha2UuYmFzaAoraW5kZXggNzg4ODJkOS4uMjU5NDNkMCAxMDA3NTUKKy0tLSBhL3NyYy9tYWtlLmJhc2gKKysrKyBiL3NyYy9tYWtlLmJhc2gKK0BAIC0xNjMsNyArMTYzLDcgQEAgaWYgWyAiJEdPUk9PVF9CT09UU1RSQVAiID0gIiRHT1JPT1QiIF07IHRoZW4KKyAJZXhpdCAxCisgZmkKKyBybSAtZiBjbWQvZGlzdC9kaXN0CistR09ST09UPSIkR09ST09UX0JPT1RTVFJBUCIgR09PUz0iIiBHT0FSQ0g9IiIgIiRHT1JPT1RfQk9PVFNUUkFQL2Jpbi9nbyIgYnVpbGQgLW8gY21kL2Rpc3QvZGlzdCAuL2NtZC9kaXN0CisrQ0M9IiR7QlVJTERfQ0M6LSR7Q0N9fSIgR09ST09UPSIkR09ST09UX0JPT1RTVFJBUCIgR09PUz0iIiBHT0FSQ0g9IiIgIiRHT1JPT1RfQk9PVFNUUkFQL2Jpbi9nbyIgYnVpbGQgLW8gY21kL2Rpc3QvZGlzdCAuL2NtZC9kaXN0CisgCisgIyAtZSBkb2Vzbid0IHByb3BhZ2F0ZSBvdXQgb2YgZXZhbCwgc28gY2hlY2sgc3VjY2VzcyBieSBoYW5kLgorIGV2YWwgJCguL2NtZC9kaXN0L2Rpc3QgZW52IC1wIHx8IGVjaG8gRkFJTD10cnVlKQorQEAgLTE5NCw3ICsxOTQsNyBAQCBmaQorICMgUnVuIGRpc3QgYm9vdHN0cmFwIHRvIGNvbXBsZXRlIG1ha2UuYmFzaC4KKyAjIEJvb3RzdHJhcCBpbnN0YWxscyBhIHByb3BlciBjbWQvZGlzdCwgYnVpbHQgd2l0aCB0aGUgbmV3IHRvb2xjaGFpbi4KKyAjIFRocm93IG91cnMsIGJ1aWx0IHdpdGggR28gMS40LCBhd2F5IGFmdGVyIGJvb3RzdHJhcC4KKy0uL2NtZC9kaXN0L2Rpc3QgYm9vdHN0cmFwICRidWlsZGFsbCAkdmZsYWcgJEdPX0RJU1RGTEFHUyAiJEAiCisrQ0M9IiR7QlVJTERfQ0M6LSR7Q0N9fSIgLi9jbWQvZGlzdC9kaXN0IGJvb3RzdHJhcCAkYnVpbGRhbGwgJHZmbGFnICRHT19ESVNURkxBR1MgIiRAIgorIHJtIC1mIC4vY21kL2Rpc3QvZGlzdAorIAorICMgRE8gTk9UIEFERCBBTlkgTkVXIENPREUgSEVSRS4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNi1jbWQtZGlzdC1zZXBhcmF0ZS1ob3N0LWFuZC10YXJnZXQtYnVpbGRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA2LWNtZC1kaXN0LXNlcGFyYXRlLWhvc3QtYW5kLXRhcmdldC1idWlsZHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGMwZDVkYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNi1jbWQtZGlzdC1zZXBhcmF0ZS1ob3N0LWFuZC10YXJnZXQtYnVpbGRzLnBhdGNoCkBAIC0wLDAgKzEsMjgyIEBACitGcm9tIGZlMGZjYWY0M2VmM2FhYjgxNTQxZGFkMmE3MWI0NjI1NGRjNGNmNmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorRGF0ZTogU2F0LCAxNyBGZWIgMjAxOCAxMDowMzo0OCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBjbWQvZGlzdDogc2VwYXJhdGUgaG9zdCBhbmQgdGFyZ2V0IGJ1aWxkcworCitDaGFuZ2UgdGhlIGRpc3QgdG9vbCB0byBhbGxvdyBmb3IgT0Utc3R5bGUgY3Jvc3MtCithbmQgY3Jvc3MtY2FuYWRpYW4gYnVpbGRzOgorCisgLSBjb21tYW5kIGZsYWdzIC0taG9zdC1vbmx5IGFuZCAtLXRhcmdldCBvbmx5IGFyZSBhZGRlZDsKKyAgIGlmIG9uZSBpcyBwcmVzZW50LCB0aGUgb3RoZXIgY2hhbmdlcyBtZW50aW9uZWQgYmVsb3cKKyAgIHRha2UgZWZmZWN0LCBhbmQgYXJndW1lbnRzIG1heSBhbHNvIGJlIHNwZWNpZmllZCBvbgorICAgdGhlIGNvbW1hbmQgbGluZSB0byBlbnVtZXJhdGUgdGhlIHBhY2thZ2UocykgdG8gYmUKKyAgIGJ1aWx0LgorCisgLSBmb3IgT0UgY3Jvc3MgYnVpbGRzLCBnb19ib290c3RyYXAgaXMgYWx3YXlzIGJ1aWx0IGZvcgorICAgdGhlIGN1cnJlbnQgYnVpbGQgaG9zdCwgYW5kIGlzIG1vdmVkLCBhbG9uZyB3aXRoIHRoZSBzdXBwb3J0aW5nCisgICB0b29sY2hhaW4gKGFzbSwgY29tcGlsZSwgZXRjLikgdG8gYSBzZXBhcmF0ZSAnbmF0aXZlX25hdGl2ZScKKyAgIGRpcmVjdG9yeSB1bmRlciBHT1JPT1QvcGtnL3Rvb2wuCisKKyAtIGdvX2Jvb3RzdHJhcCBpcyBub3QgYXV0b21hdGljYWxseSByZW1vdmVkIGFmdGVyIHRoZSBidWlsZCwKKyAgIHNvIGl0IGNhbiBiZSByZXVzZWQgbGF0ZXIgKGUuZy4sIGJ1aWxkaW5nIGJvdGggc3RhdGljIGFuZAorICAgc2hhcmVkIHJ1bnRpbWUpLgorCitOb3RlIHRoYXQgZm9yIC0taG9zdC1vbmx5IGJ1aWxkcywgaXQgd291bGQgYmUgbmljZSB0byBzcGVjaWZ5CitqdXN0IHRoZSAiY21kIiBwYWNrYWdlIHRvIGJ1aWxkIG9ubHkgdGhlIGdvIGNvbW1hbmRzL3Rvb2xzLAordGhlIHN0YWxlbmVzcyBjaGVja3MgaW4gdGhlIGRpc3QgdG9vbCB3aWxsIGZhaWwgaWYgdGhlICJzdGQiCitsaWJyYXJ5IGhhcyBub3QgYWxzbyBiZWVuIGJ1aWx0LiAgU28gaG9zdC1vbmx5IGJ1aWxkcyBoYXZlIHRvCitidWlsZCBldmVyeXRoaW5nIGFueXdheS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KKworbW9yZSBkaXN0IGNsZWFudXAKKworLS0tCisgc3JjL2NtZC9kaXN0L2J1aWxkLmdvIHwgMTUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMTEgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCisKK0luZGV4OiBnby9zcmMvY21kL2Rpc3QvYnVpbGQuZ28KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnby5vcmlnL3NyYy9jbWQvZGlzdC9idWlsZC5nbworKysrIGdvL3NyYy9jbWQvZGlzdC9idWlsZC5nbworQEAgLTM5LDYgKzM5LDcgQEAgdmFyICgKKyAJZ29sZGZsYWdzICAgICAgICBzdHJpbmcKKyAJd29ya2RpciAgICAgICAgICBzdHJpbmcKKyAJdG9vbGRpciAgICAgICAgICBzdHJpbmcKKysJYnVpbGRfdG9vbGRpcgkgc3RyaW5nCisgCW9sZGdvb3MgICAgICAgICAgc3RyaW5nCisgCW9sZGdvYXJjaCAgICAgICAgc3RyaW5nCisgCWV4ZSAgICAgICAgICAgICAgc3RyaW5nCitAQCAtNTAsNiArNTEsNyBAQCB2YXIgKAorIAorIAlyZWJ1aWxkYWxsICAgYm9vbAorIAlkZWZhdWx0Y2xhbmcgYm9vbAorKwljcm9zc0J1aWxkICAgYm9vbAorIAorIAl2ZmxhZyBpbnQgLy8gdmVyYm9zaXR5CisgKQorQEAgLTIzMSw2ICsyMzMsOCBAQCBmdW5jIHhpbml0KCkgeworIAlpZiB0b29sZGlyID0gb3MuR2V0ZW52KCJHT1RPT0xESVIiKTsgdG9vbGRpciA9PSAiIiB7CisgCQl0b29sZGlyID0gcGF0aGYoIiVzL3BrZy90b29sLyVzXyVzIiwgZ29yb290LCBnb2hvc3RvcywgZ29ob3N0YXJjaCkKKyAJfQorKwlidWlsZF90b29sZGlyID0gcGF0aGYoIiVzL3BrZy90b29sL25hdGl2ZV9uYXRpdmUiLCBnb3Jvb3QpCisrCisgfQorIAorIC8vIGNvbXBpbGVyRW52IHJldHVybnMgYSBtYXAgZnJvbSAiZ29vcy9nb2FyY2giIHRvIHRoZQorQEAgLTI2MCw3ICsyNjQsNiBAQCBmdW5jIGNvbXBpbGVyRW52KGVudk5hbWUsIGRlZiBzdHJpbmcpIG1hCisgCQlpZiBnb2hvc3RvcyAhPSBnb29zIHx8IGdvaG9zdGFyY2ggIT0gZ29hcmNoIHsKKyAJCQltW2dvaG9zdG9zKyIvIitnb2hvc3RhcmNoXSA9IG1bIiJdCisgCQl9CistCQltWyIiXSA9IGVudgorIAl9CisgCisgCWZvciBfLCBnb29zIDo9IHJhbmdlIG9rZ29vcyB7CitAQCAtNDg3LDggKzQ5MCwxMCBAQCBmdW5jIHNldHVwKCkgeworIAkvLyBXZSBrZWVwIGl0IGluIHBrZy8sIGp1c3QgbGlrZSB0aGUgb2JqZWN0IGRpcmVjdG9yeSBhYm92ZS4KKyAJaWYgcmVidWlsZGFsbCB7CisgCQl4cmVtb3ZlYWxsKHRvb2xkaXIpCisrCQl4cmVtb3ZlYWxsKGJ1aWxkX3Rvb2xkaXIpCisgCX0KKyAJeG1rZGlyYWxsKHRvb2xkaXIpCisrCXhta2RpcmFsbChidWlsZF90b29sZGlyKQorIAorIAkvLyBSZW1vdmUgdG9vbCBiaW5hcmllcyBmcm9tIGJlZm9yZSB0aGUgdG9vbC9nb2hvc3Rvc19nb2hvc3RhcmNoCisgCXhyZW1vdmVhbGwocGF0aGYoIiVzL2Jpbi90b29sIiwgZ29yb290KSkKK0BAIC0xMTU1LDExICsxMTYwLDI5IEBAIGZ1bmMgY21kYm9vdHN0cmFwKCkgeworIAorIAl2YXIgbm9CYW5uZXIgYm9vbAorIAl2YXIgZGVidWcgYm9vbAorKwl2YXIgaG9zdE9ubHkgYm9vbAorKwl2YXIgdGFyZ2V0T25seSBib29sCisrCXZhciB0b0J1aWxkID0gW11zdHJpbmcgeyAic3RkIiwgImNtZCIgfQorKworIAlmbGFnLkJvb2xWYXIoJnJlYnVpbGRhbGwsICJhIiwgcmVidWlsZGFsbCwgInJlYnVpbGQgYWxsIikKKyAJZmxhZy5Cb29sVmFyKCZkZWJ1ZywgImQiLCBkZWJ1ZywgImVuYWJsZSBkZWJ1Z2dpbmcgb2YgYm9vdHN0cmFwIHByb2Nlc3MiKQorIAlmbGFnLkJvb2xWYXIoJm5vQmFubmVyLCAibm8tYmFubmVyIiwgbm9CYW5uZXIsICJkbyBub3QgcHJpbnQgYmFubmVyIikKKysJZmxhZy5Cb29sVmFyKCZob3N0T25seSwgImhvc3Qtb25seSIsIGhvc3RPbmx5LCAiYnVpbGQgb25seSBob3N0IGJpbmFyaWVzLCBub3QgdGFyZ2V0IikKKysJZmxhZy5Cb29sVmFyKCZ0YXJnZXRPbmx5LCAidGFyZ2V0LW9ubHkiLCB0YXJnZXRPbmx5LCAiYnVpbGQgb25seSB0YXJnZXQgYmluYXJpZXMsIG5vdCBob3N0IikKKyAKKy0JeGZsYWdwYXJzZSgwKQorKwl4ZmxhZ3BhcnNlKC0xKQorKworKwlpZiAoaG9zdE9ubHkgJiYgdGFyZ2V0T25seSkgeworKwkJZmF0YWxmKCJzcGVjaWZ5IG9ubHkgb25lIG9mIC0taG9zdC1vbmx5IG9yIC0tdGFyZ2V0LW9ubHlcbiIpCisrCX0KKysJY3Jvc3NCdWlsZCA9IGhvc3RPbmx5IHx8IHRhcmdldE9ubHkKKysJaWYgZmxhZy5OQXJnKCkgPiAwIHsKKysJCWlmIGNyb3NzQnVpbGQgeworKwkJCXRvQnVpbGQgPSBmbGFnLkFyZ3MoKQorKwkJfSBlbHNlIHsKKysJCQlmYXRhbGYoInBhY2thZ2UgbmFtZXMgbm90IHBlcm1pdHRlZCB3aXRob3V0IC0taG9zdC1vbmx5IG9yIC0tdGFyZ2V0LW9ubHlcbiIpCisrCQl9CisrCX0KKyAKKyAJaWYgZGVidWcgeworIAkJLy8gY21kL2J1aWxkaWQgaXMgdXNlZCBpbiBkZWJ1ZyBtb2RlLgorQEAgLTEyMDcsOCArMTIzMCwxMyBAQCBmdW5jIGNtZGJvb3RzdHJhcCgpIHsKKyAJCXhwcmludGYoIlxuIikKKyAJfQorIAorLQlnb2djZmxhZ3MgPSBvcy5HZXRlbnYoIkdPX0dDRkxBR1MiKSAvLyB3ZSB3ZXJlIHVzaW5nICRCT09UX0dPX0dDRkxBR1MgdW50aWwgbm93CistCWdvbGRmbGFncyA9IG9zLkdldGVudigiR09fTERGTEFHUyIpCisrCS8vIEZvciBzcGxpdCBob3N0L3RhcmdldCBjcm9zcy9jcm9zcy1jYW5hZGlhbiBidWlsZHMsIHdlIGRvbid0CisrCS8vIHdhbnQgdG8gYmUgc2V0dGluZyB0aGVzZSBmbGFncyB1bnRpbCBhZnRlciB3ZSBoYXZlIGNvbXBpbGVkCisrCS8vIHRoZSB0b29sY2hhaW4gdGhhdCBydW5zIG9uIHRoZSBidWlsZCBob3N0LgorKwlpZiAhIGNyb3NzQnVpbGQgeworKwkJZ29nY2ZsYWdzID0gb3MuR2V0ZW52KCJHT19HQ0ZMQUdTIikgLy8gd2Ugd2VyZSB1c2luZyAkQk9PVF9HT19HQ0ZMQUdTIHVudGlsIG5vdworKwkJZ29sZGZsYWdzID0gb3MuR2V0ZW52KCJHT19MREZMQUdTIikKKysJfQorIAlnb0Jvb3RzdHJhcCA6PSBwYXRoZigiJXMvZ29fYm9vdHN0cmFwIiwgdG9vbGRpcikKKyAJY21kR28gOj0gcGF0aGYoIiVzL2dvIiwgZ29iaW4pCisgCWlmIGRlYnVnIHsKK0BAIC0xMjM3LDcgKzEyNjUsMTEgQEAgZnVuYyBjbWRib290c3RyYXAoKSB7CisgCQl4cHJpbnRmKCJcbiIpCisgCX0KKyAJeHByaW50ZigiQnVpbGRpbmcgR28gdG9vbGNoYWluMiB1c2luZyBnb19ib290c3RyYXAgYW5kIEdvIHRvb2xjaGFpbjEuXG4iKQorLQlvcy5TZXRlbnYoIkNDIiwgY29tcGlsZXJFbnZMb29rdXAoZGVmYXVsdGNjLCBnb29zLCBnb2FyY2gpKQorKwlpZiBjcm9zc0J1aWxkIHsKKysJCW9zLlNldGVudigiQ0MiLCBkZWZhdWx0Y2NbIiJdKQorKwl9IGVsc2UgeworKwkJb3MuU2V0ZW52KCJDQyIsIGNvbXBpbGVyRW52TG9va3VwKGRlZmF1bHRjYywgZ29vcywgZ29hcmNoKSkKKysJfQorIAlnb0luc3RhbGwoZ29Cb290c3RyYXAsIGFwcGVuZChbXXN0cmluZ3siLWkifSwgdG9vbGNoYWluLi4uKS4uLikKKyAJaWYgZGVidWcgeworIAkJcnVuKCIiLCBTaG93T3V0cHV0fENoZWNrRXhpdCwgcGF0aGYoIiVzL2NvbXBpbGUiLCB0b29sZGlyKSwgIi1WPWZ1bGwiKQorQEAgLTEyNzQsNTAgKzEzMDYsODQgQEAgZnVuYyBjbWRib290c3RyYXAoKSB7CisgCX0KKyAJY2hlY2tOb3RTdGFsZShnb0Jvb3RzdHJhcCwgYXBwZW5kKHRvb2xjaGFpbiwgInJ1bnRpbWUvaW50ZXJuYWwvc3lzIikuLi4pCisgCistCWlmIGdvb3MgPT0gb2xkZ29vcyAmJiBnb2FyY2ggPT0gb2xkZ29hcmNoIHsKKy0JCS8vIENvbW1vbiBjYXNlIC0gbm90IHNldHRpbmcgdXAgZm9yIGNyb3NzLWNvbXBpbGF0aW9uLgorLQkJdGltZWxvZygiYnVpbGQiLCAidG9vbGNoYWluIikKKy0JCWlmIHZmbGFnID4gMCB7CistCQkJeHByaW50ZigiXG4iKQorKwlpZiBjcm9zc0J1aWxkIHsKKysJCWdvZ2NmbGFncyA9IG9zLkdldGVudigiR09fR0NGTEFHUyIpCisrCQlnb2xkZmxhZ3MgPSBvcy5HZXRlbnYoIkdPX0xERkxBR1MiKQorKwkJdG9vbF9maWxlcywgXyA6PSBmaWxlcGF0aC5HbG9iKHBhdGhmKCIlcy8qIiwgdG9vbGRpcikpCisrCQlmb3IgXywgZiA6PSByYW5nZSB0b29sX2ZpbGVzIHsKKysJCQljb3B5ZmlsZShwYXRoZigiJXMvJXMiLCBidWlsZF90b29sZGlyLCBmaWxlcGF0aC5CYXNlKGYpKSwgZiwgd3JpdGVFeGVjKQorKwkJCXhyZW1vdmUoZikKKysJCX0KKysJCW9zLlNldGVudigiR09UT09MRElSIiwgYnVpbGRfdG9vbGRpcikKKysJCWdvQm9vdHN0cmFwID0gcGF0aGYoIiVzL2dvX2Jvb3RzdHJhcCIsIGJ1aWxkX3Rvb2xkaXIpCisrCQlpZiBob3N0T25seSB7CisrCQkJdGltZWxvZygiYnVpbGQiLCAiaG9zdCB0b29sY2hhaW4iKQorKwkJCWlmIHZmbGFnID4gMCB7CisrCQkJCXhwcmludGYoIlxuIikKKysJCQl9CisrCQkJeHByaW50ZigiQnVpbGRpbmcgJXMgZm9yIGhvc3QsICVzLyVzLlxuIiwgc3RyaW5ncy5Kb2luKHRvQnVpbGQsICIsIiksIGdvb3MsIGdvYXJjaCkKKysJCQlnb0luc3RhbGwoZ29Cb290c3RyYXAsIHRvQnVpbGQuLi4pCisrCQkJY2hlY2tOb3RTdGFsZShnb0Jvb3RzdHJhcCwgdG9CdWlsZC4uLikKKysJCQkvLyBTa2lwIGNtZEdvIHN0YWxlbmVzcyBjaGVja3MgaGVyZSwgc2luY2Ugd2UgY2FuJ3QgbmVjZXNzYXJpbHkgcnVuIHRoZSBjbWRHbyBiaW5hcnkKKysKKysJCQl0aW1lbG9nKCJidWlsZCIsICJ0YXJnZXQgdG9vbGNoYWluIikKKysJCQlpZiB2ZmxhZyA+IDAgeworKwkJCQl4cHJpbnRmKCJcbiIpCisrCQkJfQorKwkJfSBlbHNlIGlmIHRhcmdldE9ubHkgeworKwkJCWdvb3MgPSBvbGRnb29zCisrCQkJZ29hcmNoID0gb2xkZ29hcmNoCisrCQkJb3MuU2V0ZW52KCJHT09TIiwgZ29vcykKKysJCQlvcy5TZXRlbnYoIkdPQVJDSCIsIGdvYXJjaCkKKysJCQlvcy5TZXRlbnYoIkNDIiwgY29tcGlsZXJFbnZMb29rdXAoZGVmYXVsdGNjLCBnb29zLCBnb2FyY2gpKQorKwkJCXhwcmludGYoIkJ1aWxkaW5nICVzIGZvciB0YXJnZXQsICVzLyVzLlxuIiwgc3RyaW5ncy5Kb2luKHRvQnVpbGQsICIsIiksIGdvb3MsIGdvYXJjaCkKKysJCQlnb0luc3RhbGwoZ29Cb290c3RyYXAsIHRvQnVpbGQuLi4pCisrCQkJY2hlY2tOb3RTdGFsZShnb0Jvb3RzdHJhcCwgdG9CdWlsZC4uLikKKysJCQkvLyBTa2lwIGNtZEdvIHN0YWxlbmVzcyBjaGVja3MgaGVyZSwgc2luY2Ugd2UgY2FuJ3QgcnVuIHRoZSB0YXJnZXQncyBjbWRHbyBiaW5hcnkKKyAJCX0KKy0JCXhwcmludGYoIkJ1aWxkaW5nIHBhY2thZ2VzIGFuZCBjb21tYW5kcyBmb3IgJXMvJXMuXG4iLCBnb29zLCBnb2FyY2gpCisgCX0gZWxzZSB7CistCQkvLyBHT09TL0dPQVJDSCBkb2VzIG5vdCBtYXRjaCBHT0hPU1RPUy9HT0hPU1RBUkNILgorLQkJLy8gRmluaXNoIEdPSE9TVE9TL0dPSE9TVEFSQ0ggaW5zdGFsbGF0aW9uIGFuZCB0aGVuCistCQkvLyBydW4gR09PUy9HT0FSQ0ggaW5zdGFsbGF0aW9uLgorLQkJdGltZWxvZygiYnVpbGQiLCAiaG9zdCB0b29sY2hhaW4iKQorLQkJaWYgdmZsYWcgPiAwIHsKKy0JCQl4cHJpbnRmKCJcbiIpCisrCisrCQlpZiBnb29zID09IG9sZGdvb3MgJiYgZ29hcmNoID09IG9sZGdvYXJjaCB7CisrCQkJLy8gQ29tbW9uIGNhc2UgLSBub3Qgc2V0dGluZyB1cCBmb3IgY3Jvc3MtY29tcGlsYXRpb24uCisrCQkJdGltZWxvZygiYnVpbGQiLCAidG9vbGNoYWluIikKKysJCQlpZiB2ZmxhZyA+IDAgeworKwkJCQl4cHJpbnRmKCJcbiIpCisrCQkJfQorKwkJCXhwcmludGYoIkJ1aWxkaW5nIHBhY2thZ2VzIGFuZCBjb21tYW5kcyBmb3IgJXMvJXMuXG4iLCBnb29zLCBnb2FyY2gpCisrCQl9IGVsc2UgeworKwkJCS8vIEdPT1MvR09BUkNIIGRvZXMgbm90IG1hdGNoIEdPSE9TVE9TL0dPSE9TVEFSQ0guCisrCQkJLy8gRmluaXNoIEdPSE9TVE9TL0dPSE9TVEFSQ0ggaW5zdGFsbGF0aW9uIGFuZCB0aGVuCisrCQkJLy8gcnVuIEdPT1MvR09BUkNIIGluc3RhbGxhdGlvbi4KKysJCQl0aW1lbG9nKCJidWlsZCIsICJob3N0IHRvb2xjaGFpbiIpCisrCQkJaWYgdmZsYWcgPiAwIHsKKysJCQkJeHByaW50ZigiXG4iKQorKwkJCX0KKysJCQl4cHJpbnRmKCJCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yIGhvc3QsICVzLyVzLlxuIiwgZ29vcywgZ29hcmNoKQorKwkJCWdvSW5zdGFsbChnb0Jvb3RzdHJhcCwgInN0ZCIsICJjbWQiKQorKwkJCWNoZWNrTm90U3RhbGUoZ29Cb290c3RyYXAsICJzdGQiLCAiY21kIikKKysJCQljaGVja05vdFN0YWxlKGNtZEdvLCAic3RkIiwgImNtZCIpCisrCisrCQkJdGltZWxvZygiYnVpbGQiLCAidGFyZ2V0IHRvb2xjaGFpbiIpCisrCQkJaWYgdmZsYWcgPiAwIHsKKysJCQkJeHByaW50ZigiXG4iKQorKwkJCX0KKysJCQlnb29zID0gb2xkZ29vcworKwkJCWdvYXJjaCA9IG9sZGdvYXJjaAorKwkJCW9zLlNldGVudigiR09PUyIsIGdvb3MpCisrCQkJb3MuU2V0ZW52KCJHT0FSQ0giLCBnb2FyY2gpCisrCQkJb3MuU2V0ZW52KCJDQyIsIGNvbXBpbGVyRW52TG9va3VwKGRlZmF1bHRjYywgZ29vcywgZ29hcmNoKSkKKysJCQl4cHJpbnRmKCJCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yIHRhcmdldCwgJXMvJXMuXG4iLCBnb29zLCBnb2FyY2gpCisgCQl9CistCQl4cHJpbnRmKCJCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yIGhvc3QsICVzLyVzLlxuIiwgZ29vcywgZ29hcmNoKQorIAkJZ29JbnN0YWxsKGdvQm9vdHN0cmFwLCAic3RkIiwgImNtZCIpCisgCQljaGVja05vdFN0YWxlKGdvQm9vdHN0cmFwLCAic3RkIiwgImNtZCIpCisgCQljaGVja05vdFN0YWxlKGNtZEdvLCAic3RkIiwgImNtZCIpCisgCistCQl0aW1lbG9nKCJidWlsZCIsICJ0YXJnZXQgdG9vbGNoYWluIikKKy0JCWlmIHZmbGFnID4gMCB7CistCQkJeHByaW50ZigiXG4iKQorLQkJfQorLQkJZ29vcyA9IG9sZGdvb3MKKy0JCWdvYXJjaCA9IG9sZGdvYXJjaAorLQkJb3MuU2V0ZW52KCJHT09TIiwgZ29vcykKKy0JCW9zLlNldGVudigiR09BUkNIIiwgZ29hcmNoKQorLQkJb3MuU2V0ZW52KCJDQyIsIGNvbXBpbGVyRW52TG9va3VwKGRlZmF1bHRjYywgZ29vcywgZ29hcmNoKSkKKy0JCXhwcmludGYoIkJ1aWxkaW5nIHBhY2thZ2VzIGFuZCBjb21tYW5kcyBmb3IgdGFyZ2V0LCAlcy8lcy5cbiIsIGdvb3MsIGdvYXJjaCkKKy0JfQorLQl0YXJnZXRzIDo9IFtdc3RyaW5neyJzdGQiLCAiY21kIn0KKy0JaWYgZ29vcyA9PSAianMiICYmIGdvYXJjaCA9PSAid2FzbSIgeworLQkJLy8gU2tpcCB0aGUgY21kIHRvb2xzIGZvciBqcy93YXNtLiBUaGV5J3JlIG5vdCB1c2FibGUuCistCQl0YXJnZXRzID0gdGFyZ2V0c1s6MV0KKy0JfQorLQlnb0luc3RhbGwoZ29Cb290c3RyYXAsIHRhcmdldHMuLi4pCistCWNoZWNrTm90U3RhbGUoZ29Cb290c3RyYXAsIHRhcmdldHMuLi4pCistCWNoZWNrTm90U3RhbGUoY21kR28sIHRhcmdldHMuLi4pCistCWlmIGRlYnVnIHsKKy0JCXJ1bigiIiwgU2hvd091dHB1dHxDaGVja0V4aXQsIHBhdGhmKCIlcy9jb21waWxlIiwgdG9vbGRpciksICItVj1mdWxsIikKKy0JCXJ1bigiIiwgU2hvd091dHB1dHxDaGVja0V4aXQsIHBhdGhmKCIlcy9idWlsZGlkIiwgdG9vbGRpciksIHBhdGhmKCIlcy9wa2cvJXNfJXMvcnVudGltZS9pbnRlcm5hbC9zeXMuYSIsIGdvcm9vdCwgZ29vcywgZ29hcmNoKSkKKy0JCWNoZWNrTm90U3RhbGUoZ29Cb290c3RyYXAsIGFwcGVuZCh0b29sY2hhaW4sICJydW50aW1lL2ludGVybmFsL3N5cyIpLi4uKQorLQkJY29weWZpbGUocGF0aGYoIiVzL2NvbXBpbGU0IiwgdG9vbGRpciksIHBhdGhmKCIlcy9jb21waWxlIiwgdG9vbGRpciksIHdyaXRlRXhlYykKKysJCWlmIGRlYnVnIHsKKysJCQlydW4oIiIsIFNob3dPdXRwdXR8Q2hlY2tFeGl0LCBwYXRoZigiJXMvY29tcGlsZSIsIHRvb2xkaXIpLCAiLVY9ZnVsbCIpCisrCQkJcnVuKCIiLCBTaG93T3V0cHV0fENoZWNrRXhpdCwgcGF0aGYoIiVzL2J1aWxkaWQiLCB0b29sZGlyKSwgcGF0aGYoIiVzL3BrZy8lc18lcy9ydW50aW1lL2ludGVybmFsL3N5cy5hIiwgZ29yb290LCBnb29zLCBnb2FyY2gpKQorKwkJCWNoZWNrTm90U3RhbGUoZ29Cb290c3RyYXAsIGFwcGVuZCh0b29sY2hhaW4sICJydW50aW1lL2ludGVybmFsL3N5cyIpLi4uKQorKwkJCWNvcHlmaWxlKHBhdGhmKCIlcy9jb21waWxlNCIsIHRvb2xkaXIpLCBwYXRoZigiJXMvY29tcGlsZSIsIHRvb2xkaXIpLCB3cml0ZUV4ZWMpCisrCQl9CisgCX0KKyAKKyAJLy8gQ2hlY2sgdGhhdCB0aGVyZSBhcmUgbm8gbmV3IGZpbGVzIGluICRHT1JPT1QvYmluIG90aGVyIHRoYW4KK0BAIC0xMzM1LDcgKzE0MDEsMTEgQEAgZnVuYyBjbWRib290c3RyYXAoKSB7CisgCX0KKyAKKyAJLy8gUmVtb3ZlIGdvX2Jvb3RzdHJhcCBub3cgdGhhdCB3ZSdyZSBkb25lLgorLQl4cmVtb3ZlKHBhdGhmKCIlcy9nb19ib290c3RyYXAiLCB0b29sZGlyKSkKKysJLy8gRXhjZXB0IHRoYXQgZm9yIHNwbGl0IGhvc3QvdGFyZ2V0IGNyb3NzLWJ1aWxkcywgd2UgbmVlZCB0bworKwkvLyBrZWVwIGl0LgorKwlpZiAhIGNyb3NzQnVpbGQgeworKwkJeHJlbW92ZShwYXRoZigiJXMvZ29fYm9vdHN0cmFwIiwgdG9vbGRpcikpCisrCX0KKyAKKyAJLy8gUHJpbnQgdHJhaWxpbmcgYmFubmVyIHVubGVzcyBpbnN0cnVjdGVkIG90aGVyd2lzZS4KKyAJaWYgIW5vQmFubmVyIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNy1jbWQtZ28tbWFrZS1HT1JPT1QtcHJlY2lvdXMtYnktZGVmYXVsdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNy1jbWQtZ28tbWFrZS1HT1JPT1QtcHJlY2lvdXMtYnktZGVmYXVsdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOWVmOTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA3LWNtZC1nby1tYWtlLUdPUk9PVC1wcmVjaW91cy1ieS1kZWZhdWx0LnBhdGNoCkBAIC0wLDAgKzEsMTA2IEBACitGcm9tIDdjYzYwYjM4ODdiZTJkNTY3NGI5ZjVkNDIyZDAyMjk3NmNmMjA1ZTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorRGF0ZTogRnJpLCAyIE1hciAyMDE4IDA2OjAwOjIwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGNtZC9nbzogbWFrZSBHT1JPT1QgcHJlY2lvdXMgYnkgZGVmYXVsdAorCitUaGUgZ28gYnVpbGQgdG9vbCBub3JtYWxseSByZWJ1aWxkcyB3aGF0ZXZlciBpdCBkZXRlY3RzIGlzCitzdGFsZS4gIFRoaXMgY2FuIGJlIGEgcHJvYmxlbSB3aGVuIEdPUk9PVCBpcyBpbnRlbmRlZCB0bworYmUgcmVhZC1vbmx5IGFuZCB0aGUgZ28gcnVudGltZSBoYXMgYmVlbiBidWlsdCBhcyBhIHNoYXJlZAorbGlicmFyeSwgc2luY2Ugd2UgZG9uJ3Qgd2FudCBldmVyeSBhcHBsaWNhdGlvbiB0byBiZSByZWJ1aWxkaW5nCit0aGUgc2hhcmVkIHJ1bnRpbWUgLSBwYXJ0aWN1bGFybHkgaW4gY3Jvc3MtYnVpbGQvcGFja2FnaW5nCitzZXR1cHMsIHNpbmNlIHRoYXQgd291bGQgbGVhZCB0byAnYWJpIG1pc21hdGNoJyBydW50aW1lIGVycm9ycy4KKworVGhpcyBwYXRjaCBwcmV2ZW50cyB0aGUgaW5zdGFsbCBhbmQgbGlua3NoYXJlZCBhY3Rpb25zIGZyb20KK2luc3RhbGxpbmcgdG8gR09ST09UIHVubGVzcyBvdmVycmlkZGVuIHdpdGggdGhlIEdPUk9PVF9PVkVSUklERQorZW52aXJvbm1lbnQgdmFyaWFibGUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+CisKKy0tLQorIHNyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9hY3Rpb24uZ28gfCAgMyArKysKKyBzcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28gIHwgIDUgKysrKysKKyBzcmMvY21kL2dvL2ludGVybmFsL3dvcmsvZXhlYy5nbyAgIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKQorCitJbmRleDogZ28vc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2FjdGlvbi5nbworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdvLm9yaWcvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2FjdGlvbi5nbworKysrIGdvL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9hY3Rpb24uZ28KK0BAIC02MDAsNiArNjAwLDkgQEAgZnVuYyAoYiAqQnVpbGRlcikgYWRkVHJhbnNpdGl2ZUxpbmtEZXBzKAorIAkJCWlmIHAxID09IG5pbCB8fCBwMS5TaGxpYiA9PSAiIiB8fCBoYXZlU2hsaWJbZmlsZXBhdGguQmFzZShwMS5TaGxpYildIHsKKyAJCQkJY29udGludWUKKyAJCQl9CisrCQkJaWYgZ29Sb290UHJlY2lvdXMgJiYgKHAxLlN0YW5kYXJkIHx8IHAxLkdvcm9vdCkgeworKwkJCQljb250aW51ZQorKwkJCX0KKyAJCQloYXZlU2hsaWJbZmlsZXBhdGguQmFzZShwMS5TaGxpYildID0gdHJ1ZQorIAkJCS8vIFRPRE8ocnNjKTogVGhlIHVzZSBvZiBNb2RlSW5zdGFsbCBoZXJlIGlzIHN1c3BlY3QsIGJ1dCBpZiB3ZSBvbmx5IGRvIE1vZGVCdWlsZCwKKyAJCQkvLyB3ZSdsbCBlbmQgdXAgYnVpbGRpbmcgYW4gb3ZlcmFsbCBsaWJyYXJ5IG9yIGV4ZWN1dGFibGUgdGhhdCBkZXBlbmRzIGF0IHJ1bnRpbWUKK0luZGV4OiBnby9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnby5vcmlnL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbworKysrIGdvL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbworQEAgLTE0Nyw2ICsxNDcsNyBAQCBTZWUgYWxzbzogZ28gaW5zdGFsbCwgZ28gZ2V0LCBnbyBjbGVhbi4KKyB9CisgCisgY29uc3QgY29uY3VycmVudEdDQmFja2VuZENvbXBpbGF0aW9uRW5hYmxlZEJ5RGVmYXVsdCA9IHRydWUKKyt2YXIgZ29Sb290UHJlY2lvdXMgYm9vbCA9IHRydWUKKyAKKyBmdW5jIGluaXQoKSB7CisgCS8vIGJyZWFrIGluaXQgY3ljbGUKK0BAIC0xNjAsNiArMTYxLDEwIEBAIGZ1bmMgaW5pdCgpIHsKKyAKKyAJQWRkQnVpbGRGbGFncyhDbWRCdWlsZCkKKyAJQWRkQnVpbGRGbGFncyhDbWRJbnN0YWxsKQorKworKwlpZiB4IDo9IG9zLkdldGVudigiR09ST09UX09WRVJSSURFIik7IHggIT0gIiIgeworKwkJZ29Sb290UHJlY2lvdXMgPSBmYWxzZQorKwl9CisgfQorIAorIC8vIE5vdGUgdGhhdCBmbGFncyBjb25zdWx0ZWQgYnkgb3RoZXIgcGFydHMgb2YgdGhlIGNvZGUKK0luZGV4OiBnby9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvZXhlYy5nbworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdvLm9yaWcvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2V4ZWMuZ28KKysrKyBnby9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvZXhlYy5nbworQEAgLTQzNiw2ICs0MzYsMjMgQEAgZnVuYyAoYiAqQnVpbGRlcikgYnVpbGQoYSAqQWN0aW9uKSAoZXJyCisgCQlyZXR1cm4gZm10LkVycm9yZigibWlzc2luZyBvciBpbnZhbGlkIGJpbmFyeS1vbmx5IHBhY2thZ2U7IGV4cGVjdGVkIGZpbGUgJXEiLCBhLlBhY2thZ2UuVGFyZ2V0KQorIAl9CisgCisrCWlmIGdvUm9vdFByZWNpb3VzICYmIChhLlBhY2thZ2UuU3RhbmRhcmQgfHwgYS5QYWNrYWdlLkdvcm9vdCkgeworKwkJXywgZXJyIDo9IG9zLlN0YXQoYS5QYWNrYWdlLlRhcmdldCkKKysJCWlmIGVyciA9PSBuaWwgeworKwkJCWEuYnVpbHQgPSBhLlBhY2thZ2UuVGFyZ2V0CisrCQkJYS5UYXJnZXQgPSBhLlBhY2thZ2UuVGFyZ2V0CisrCQkJYS5idWlsZElEID0gYi5maWxlSGFzaChhLlBhY2thZ2UuVGFyZ2V0KQorKwkJCWEuUGFja2FnZS5TdGFsZSA9IGZhbHNlCisrCQkJYS5QYWNrYWdlLlN0YWxlUmVhc29uID0gIkdPUk9PVC1yZXNpZGVudCBwYWNrYWdlIgorKwkJCXJldHVybiBuaWwKKysJCX0KKysJCWEuUGFja2FnZS5TdGFsZSA9IHRydWUKKysJCWEuUGFja2FnZS5TdGFsZVJlYXNvbiA9ICJtaXNzaW5nIG9yIGludmFsaWQgR09ST09ULXJlc2lkZW50IHBhY2thZ2UiCisrCQlpZiBiLklzQ21kTGlzdCB7CisrCQkJcmV0dXJuIG5pbAorKwkJfQorKwl9CisrCisgCWlmIGVyciA6PSBiLk1rZGlyKGEuT2JqZGlyKTsgZXJyICE9IG5pbCB7CisgCQlyZXR1cm4gZXJyCisgCX0KK0BAIC0xNDM4LDYgKzE0NTUsMTQgQEAgZnVuYyBCdWlsZEluc3RhbGxGdW5jKGIgKkJ1aWxkZXIsIGEgKkFjdAorIAkJcmV0dXJuIG5pbAorIAl9CisgCisrCWlmIGdvUm9vdFByZWNpb3VzICYmIGEuUGFja2FnZSAhPSBuaWwgeworKwkJcCA6PSBhLlBhY2thZ2UKKysJCWlmIHAuU3RhbmRhcmQgfHwgcC5Hb3Jvb3QgeworKwkJCWVyciA6PSBmbXQuRXJyb3JmKCJhdHRlbXB0aW5nIHRvIGluc3RhbGwgcGFja2FnZSAlcyBpbnRvIHJlYWQtb25seSBHT1JPT1QiLCBwLkltcG9ydFBhdGgpCisrCQkJcmV0dXJuIGVycgorKwkJfQorKwl9CisrCisgCWlmIGVyciA6PSBiLk1rZGlyKGEuT2JqZGlyKTsgZXJyICE9IG5pbCB7CisgCQlyZXR1cm4gZXJyCisgCX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwOC11c2UtR09CVUlMRE1PREUtdG8tc2V0LWJ1aWxkbW9kZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwOC11c2UtR09CVUlMRE1PREUtdG8tc2V0LWJ1aWxkbW9kZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjVjZjQzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA4LXVzZS1HT0JVSUxETU9ERS10by1zZXQtYnVpbGRtb2RlLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gMGUwYzI0N2YwY2FlYzIzNTI4ODg5ZmYwOWQ5ODM0OGNiYTkwMjhmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0RhdGU6IEZyaSwgMjYgT2N0IDIwMTggMTU6MDI6MzIgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gdXNlIEdPQlVJTERNT0RFIHRvIHNldCBidWlsZG1vZGUKKworV2hpbGUgYnVpbGRpbmcgZ28gaXRzZWxmLCB0aGUgZ28gYnVpbGQgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQKK3RvIHNldCBgLWJ1aWxkbW9kZT1waWUnIGZyb20gZW52aXJvbm1lbnQuCisKK0FkZCBHT0JVSUxETU9ERSB0byBzdXBwb3J0IGl0IHdoaWNoIG1ha2UgUElFIGV4ZWN1dGFibGVzIHRoZSBkZWZhdWx0CitidWlsZCBtb2RlLCBhcyBQSUUgZXhlY3V0YWJsZXMgYXJlIHJlcXVpcmVkIGFzIG9mIFlvY3RvCisKK1JlZmVyczogaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9mb3J1bS8jIXRvcGljL2dvbGFuZy1kZXYvZ1JDZTVVUktld0kKK1Vwc3RyZWFtLVN0YXR1czogRGVuaWVkIFt1cHN0cmVhbSBjaG9vc2UgYW50b2hlciBzb2x1dGlvbjogYDE3YTI1NmIKK2NtZC9nbzogLWJ1aWxkbW9kZT1waWUgZm9yIGFuZHJvaWQvYXJtJ10KKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIHwgNiArKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK0luZGV4OiBnby9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnby5vcmlnL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbworKysrIGdvL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbworQEAgLTIyMyw3ICsyMjMsMTEgQEAgZnVuYyBBZGRCdWlsZEZsYWdzKGNtZCAqYmFzZS5Db21tYW5kKSB7CisgCisgCWNtZC5GbGFnLlZhcigmbG9hZC5CdWlsZEFzbWZsYWdzLCAiYXNtZmxhZ3MiLCAiIikKKyAJY21kLkZsYWcuVmFyKGJ1aWxkQ29tcGlsZXJ7fSwgImNvbXBpbGVyIiwgIiIpCistCWNtZC5GbGFnLlN0cmluZ1ZhcigmY2ZnLkJ1aWxkQnVpbGRtb2RlLCAiYnVpbGRtb2RlIiwgImRlZmF1bHQiLCAiIikKKysJaWYgYm0gOj0gb3MuR2V0ZW52KCJHT0JVSUxETU9ERSIpOyBibSAhPSAiIiB7CisrCQljbWQuRmxhZy5TdHJpbmdWYXIoJmNmZy5CdWlsZEJ1aWxkbW9kZSwgImJ1aWxkbW9kZSIsIGJtLCAiIikKKysJfSBlbHNlIHsKKysJCWNtZC5GbGFnLlN0cmluZ1ZhcigmY2ZnLkJ1aWxkQnVpbGRtb2RlLCAiYnVpbGRtb2RlIiwgImRlZmF1bHQiLCAiIikKKysJfQorIAljbWQuRmxhZy5WYXIoJmxvYWQuQnVpbGRHY2ZsYWdzLCAiZ2NmbGFncyIsICIiKQorIAljbWQuRmxhZy5WYXIoJmxvYWQuQnVpbGRHY2Nnb2ZsYWdzLCAiZ2NjZ29mbGFncyIsICIiKQorIAljbWQuRmxhZy5TdHJpbmdWYXIoJmNmZy5CdWlsZE1vZCwgIm1vZCIsICIiLCAiIikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwOS1sZC1yZXBsYWNlLWdsaWJjLWR5bmFtaWMtbGlua2VyLXdpdGgtbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwOS1sZC1yZXBsYWNlLWdsaWJjLWR5bmFtaWMtbGlua2VyLXdpdGgtbXVzbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDBjZjRiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA5LWxkLXJlcGxhY2UtZ2xpYmMtZHluYW1pYy1saW5rZXItd2l0aC1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsMTEyIEBACitGcm9tIDM1ZWE0YmUzNGU5NDkxMmIwMDgzN2UwZjdjNzM4NWYyZTk4ZmU3NjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorRGF0ZTogU3VuLCAxOCBGZWIgMjAxOCAwODoyNDowNSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBsZDogcmVwbGFjZSBnbGliYyBkeW5hbWljIGxpbmtlciB3aXRoIG11c2wKKworUmV3b3JrIG9mIHBhdGNoIGJ5IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Citmb3IgZ28gMS4xMC4gIFNob3VsZCBiZSBhcHBsaWVkIGNvbmRpdGlvbmFsbHkgb24KK211c2wgYmVpbmcgdGhlIHN5c3RlbSBDIGxpYnJhcnkuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbUmVhbCBmaXggc2hvdWxkIGJlIHBvcnRhYmxlIGFjcm9zcyBsaWJjc10KKworU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KKworLS0tCisgc3JjL2NtZC9saW5rL2ludGVybmFsL2FtZDY0L29iai5nbyAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL2FybS9vYmouZ28gICAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL2FybTY0L29iai5nbyAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHMvb2JqLmdvICAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHM2NC9vYmouZ28gfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL3BwYzY0L29iai5nbyAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL3MzOTB4L29iai5nbyAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL3g4Ni9vYmouZ28gICAgfCAyICstCisgOCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKKy0tLSBhL3NyYy9jbWQvbGluay9pbnRlcm5hbC9hbWQ2NC9vYmouZ28KKysrKyBiL3NyYy9jbWQvbGluay9pbnRlcm5hbC9hbWQ2NC9vYmouZ28KK0BAIC02Miw3ICs2Miw3IEBAIGZ1bmMgSW5pdCgpICgqc3lzLkFyY2gsIGxkLkFyY2gpIHsKKyAJCVBFcmVsb2MxOiAgICAgICAgIHBlcmVsb2MxLAorIAkJVExTSUV0b0xFOiAgICAgICAgdGxzSUV0b0xFLAorIAorLQkJTGludXhkeW5sZDogICAgICIvbGliNjQvbGQtbGludXgteDg2LTY0LnNvLjIiLAorKwkJTGludXhkeW5sZDogICAgICIvbGliNjQvbGQtbXVzbC14ODYtNjQuc28uMSIsCisgCQlGcmVlYnNkZHlubGQ6ICAgIi9saWJleGVjL2xkLWVsZi5zby4xIiwKKyAJCU9wZW5ic2RkeW5sZDogICAiL3Vzci9saWJleGVjL2xkLnNvIiwKKyAJCU5ldGJzZGR5bmxkOiAgICAiL2xpYmV4ZWMvbGQuZWxmX3NvIiwKKy0tLSBhL3NyYy9jbWQvbGluay9pbnRlcm5hbC9hcm0vb2JqLmdvCisrKysgYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtL29iai5nbworQEAgLTU5LDcgKzU5LDcgQEAgZnVuYyBJbml0KCkgKCpzeXMuQXJjaCwgbGQuQXJjaCkgeworIAkJTWFjaG9yZWxvYzE6ICAgICAgbWFjaG9yZWxvYzEsCisgCQlQRXJlbG9jMTogICAgICAgICBwZXJlbG9jMSwKKyAKKy0JCUxpbnV4ZHlubGQ6ICAgICAiL2xpYi9sZC1saW51eC5zby4zIiwgLy8gMiBmb3IgT0FCSSwgMyBmb3IgRUFCSQorKwkJTGludXhkeW5sZDogICAgICIvbGliL2xkLW11c2wtYXJtaGYuc28uMSIsCisgCQlGcmVlYnNkZHlubGQ6ICAgIi91c3IvbGliZXhlYy9sZC1lbGYuc28uMSIsCisgCQlPcGVuYnNkZHlubGQ6ICAgIi91c3IvbGliZXhlYy9sZC5zbyIsCisgCQlOZXRic2RkeW5sZDogICAgIi9saWJleGVjL2xkLmVsZl9zbyIsCistLS0gYS9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtNjQvb2JqLmdvCisrKysgYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtNjQvb2JqLmdvCitAQCAtNTcsNyArNTcsNyBAQCBmdW5jIEluaXQoKSAoKnN5cy5BcmNoLCBsZC5BcmNoKSB7CisgCQlHZW50ZXh0OiAgICAgICAgICBnZW50ZXh0LAorIAkJTWFjaG9yZWxvYzE6ICAgICAgbWFjaG9yZWxvYzEsCisgCistCQlMaW51eGR5bmxkOiAiL2xpYi9sZC1saW51eC1hYXJjaDY0LnNvLjEiLAorKwkJTGludXhkeW5sZDogIi9saWIvbGQtbXVzbC1hYXJjaDY0LnNvLjEiLAorIAorIAkJRnJlZWJzZGR5bmxkOiAgICJYWFgiLAorIAkJT3BlbmJzZGR5bmxkOiAgICJYWFgiLAorLS0tIGEvc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHMvb2JqLmdvCisrKysgYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwcy9vYmouZ28KK0BAIC02MCw3ICs2MCw3IEBAIGZ1bmMgSW5pdCgpICgqc3lzLkFyY2gsIGxkLkFyY2gpIHsKKyAJCUdlbnRleHQ6ICAgICAgICAgIGdlbnRleHQsCisgCQlNYWNob3JlbG9jMTogICAgICBtYWNob3JlbG9jMSwKKyAKKy0JCUxpbnV4ZHlubGQ6ICIvbGliL2xkLnNvLjEiLAorKwkJTGludXhkeW5sZDogIi9saWIvbGQtbXVzbC1taXBzbGUuc28uMSIsCisgCisgCQlGcmVlYnNkZHlubGQ6ICAgIlhYWCIsCisgCQlPcGVuYnNkZHlubGQ6ICAgIlhYWCIsCistLS0gYS9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwczY0L29iai5nbworKysrIGIvc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHM2NC9vYmouZ28KK0BAIC01OSw3ICs1OSw3IEBAIGZ1bmMgSW5pdCgpICgqc3lzLkFyY2gsIGxkLkFyY2gpIHsKKyAJCUdlbnRleHQ6ICAgICAgICAgIGdlbnRleHQsCisgCQlNYWNob3JlbG9jMTogICAgICBtYWNob3JlbG9jMSwKKyAKKy0JCUxpbnV4ZHlubGQ6ICAgICAiL2xpYjY0L2xkNjQuc28uMSIsCisrCQlMaW51eGR5bmxkOiAgICAgIi9saWI2NC9sZC1tdXNsLW1pcHM2NGxlLnNvLjEiLAorIAkJRnJlZWJzZGR5bmxkOiAgICJYWFgiLAorIAkJT3BlbmJzZGR5bmxkOiAgICJYWFgiLAorIAkJTmV0YnNkZHlubGQ6ICAgICJYWFgiLAorLS0tIGEvc3JjL2NtZC9saW5rL2ludGVybmFsL3BwYzY0L29iai5nbworKysrIGIvc3JjL2NtZC9saW5rL2ludGVybmFsL3BwYzY0L29iai5nbworQEAgLTYyLDcgKzYyLDcgQEAgZnVuYyBJbml0KCkgKCpzeXMuQXJjaCwgbGQuQXJjaCkgeworIAkJTWFjaG9yZWxvYzE6ICAgICAgbWFjaG9yZWxvYzEsCisgCisgCQkvLyBUT0RPKGF1c3Rpbik6IEFCSSB2MSB1c2VzIC91c3IvbGliL2xkLnNvLjEsCistCQlMaW51eGR5bmxkOiAiL2xpYjY0L2xkNjQuc28uMSIsCisrCQlMaW51eGR5bmxkOiAiL2xpYjY0L2xkLW11c2wtcG93ZXJwYzY0bGUuc28uMSIsCisgCisgCQlGcmVlYnNkZHlubGQ6ICAgIlhYWCIsCisgCQlPcGVuYnNkZHlubGQ6ICAgIlhYWCIsCistLS0gYS9zcmMvY21kL2xpbmsvaW50ZXJuYWwvczM5MHgvb2JqLmdvCisrKysgYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvczM5MHgvb2JqLmdvCitAQCAtNTcsNyArNTcsNyBAQCBmdW5jIEluaXQoKSAoKnN5cy5BcmNoLCBsZC5BcmNoKSB7CisgCQlHZW50ZXh0OiAgICAgICAgICBnZW50ZXh0LAorIAkJTWFjaG9yZWxvYzE6ICAgICAgbWFjaG9yZWxvYzEsCisgCistCQlMaW51eGR5bmxkOiAiL2xpYjY0L2xkNjQuc28uMSIsCisrCQlMaW51eGR5bmxkOiAiL2xpYjY0L2xkLW11c2wtczM5MHguc28uMSIsCisgCisgCQkvLyBub3QgcmVsZXZhbnQgZm9yIHMzOTB4CisgCQlGcmVlYnNkZHlubGQ6ICAgIlhYWCIsCistLS0gYS9zcmMvY21kL2xpbmsvaW50ZXJuYWwveDg2L29iai5nbworKysrIGIvc3JjL2NtZC9saW5rL2ludGVybmFsL3g4Ni9vYmouZ28KK0BAIC01OCw3ICs1OCw3IEBAIGZ1bmMgSW5pdCgpICgqc3lzLkFyY2gsIGxkLkFyY2gpIHsKKyAJCU1hY2hvcmVsb2MxOiAgICAgIG1hY2hvcmVsb2MxLAorIAkJUEVyZWxvYzE6ICAgICAgICAgcGVyZWxvYzEsCisgCistCQlMaW51eGR5bmxkOiAgICIvbGliL2xkLWxpbnV4LnNvLjIiLAorKwkJTGludXhkeW5sZDogICAiL2xpYi9sZC1tdXNsLWkzODYuc28uMSIsCisgCQlGcmVlYnNkZHlubGQ6ICIvdXNyL2xpYmV4ZWMvbGQtZWxmLnNvLjEiLAorIAkJT3BlbmJzZGR5bmxkOiAiL3Vzci9saWJleGVjL2xkLnNvIiwKKyAJCU5ldGJzZGR5bmxkOiAgIi91c3IvbGliZXhlYy9sZC5lbGZfc28iLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhMWVhYTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LmluYworKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLXJlcXVpcmUgZ28tY29tbW9uLmluYwotCi1HT19CQVNFVkVSU0lPTiA9ICIxLjkiCi1HT19NSU5PUiA9ICIuNyIKLVBWIC49ICIke0dPX01JTk9SfSIKLQotRklMRVNFWFRSQVBBVEhTX3ByZXBlbmQgOj0gIiR7RklMRV9ESVJOQU1FfS9nby0ke0dPX0JBU0VWRVJTSU9OfToiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTVkNDk1MGVjYjdiMjZkMmM1ZTRlN2I0ZTBkZDc0NzA3IgotCi1TUkNfVVJJICs9ICJcCi0gICAgICAgIGZpbGU6Ly8wMDAxLW1ha2UuYmFzaC1xdW90ZS1DQ19GT1JfVEFSR0VULnBhdGNoIFwKLSAgICAgICAgZmlsZTovLzAwMDItY21kLWdvLWZpeC1DQy1hbmQtQ1hYLWVudmlyb25tZW50LXZhcmlhYmxlLWNvbnN0cnVjdC5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly8wMDAzLW1ha2UuYmFzaC1iZXR0ZXItc2VwYXJhdGUtaG9zdC1hbmQtdGFyZ2V0LWJ1aWxkcy5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly8wMDA0LWNtZC1nby1hbGxvdy1HT1RPT0xESVItdG8tYmUtb3ZlcnJpZGRlbi1pbi10aGUtZW52aXIucGF0Y2ggXAotICAgICAgICBmaWxlOi8vMDAwNS1jbWQtZ28tbWFrZS1HT1JPT1QtcHJlY2lvdXMtYnktZGVmYXVsdC5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly8wMDA2LW1ha2UuYmFzaC1hZGQtR09UT09MRElSX0JPT1RTVFJBUC1lbnZpcm9ubWVudC12YXJpYWIucGF0Y2ggXAotICAgICAgICBmaWxlOi8vMDAwNy1sZC1hZGQtc29uYW1lLXRvLXNoYXJlYWJsZS1vYmplY3RzLnBhdGNoIFwKLSAgICAgICAgZmlsZTovLzAwMDgtbWFrZS5iYXNoLWFkZC1HT0hPU1R4eC1pbmRpcmVjdGlvbi1mb3ItY3Jvc3MtY2FuYWRpYS5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly8wMDA5LWNtZC1nby1idWlsZG1vZGUtcGllLWZvcmNlcy1leHRlcm5hbC1saW5raW5nLW1vZGUtb24ucGF0Y2ggXAotICAgICAgICBmaWxlOi8vMDAxMC1tYWtlLmJhc2gtb3ZlcnJpZGUtQ0Mtd2hlbi1idWlsZGluZy1kaXN0LWFuZC1nb19ib290LnBhdGNoIFwKLSAgICAgICAgZmlsZTovLzAwMTEtdXNlLUdPQlVJTERNT0RFLXRvLXNldC1idWlsZG1vZGUucGF0Y2ggXAotIgotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vc2V0LWV4dGVybmFsLWxpbmtlci5wYXRjaCIKLQotU1JDX1VSSVttYWluLm1kNXN1bV0gPSAiM2MyY2Y4NzZlZDY2MTJhMDIyNTc0YTU2NTIwNmM2ZWEiCi1TUkNfVVJJW21haW4uc2hhMjU2c3VtXSA9ICI1ODI4MTRmYTQ1ZThlY2IwODU5YTIwOGU1MTdiNDhhYTBhZDk1MWUzYjM2YzdmZmYyMDNkODM0ZTBlZjI3NzIyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDEtbWFrZS5iYXNoLXF1b3RlLUNDX0ZPUl9UQVJHRVQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwMS1tYWtlLmJhc2gtcXVvdGUtQ0NfRk9SX1RBUkdFVC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzgwMDk3NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwMS1tYWtlLmJhc2gtcXVvdGUtQ0NfRk9SX1RBUkdFVC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLUZyb20gZDI0NzM0YWQ0NDAwNjc5MWZkNDhmYzQ1ZWEzNGZlNjA4ZmY2NzJmYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+Ci1EYXRlOiBXZWQsIDEzIFNlcCAyMDE3IDA4OjA0OjIzIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMS83XSBtYWtlLmJhc2g6IHF1b3RlIENDX0ZPUl9UQVJHRVQKLQotRm9yIE9FIGNyb3NzLWJ1aWxkcywgJENDX0ZPUl9UQVJHRVQgaGFzIG1vcmUgdGhhbgotb25lIHdvcmQgYW5kIG5lZWRzIHRvIGJlIHF1b3RlZC4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotLS0tCi0gc3JjL21ha2UuYmFzaCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9tYWtlLmJhc2ggYi9zcmMvbWFrZS5iYXNoCi1pbmRleCA3MWU3NTMxLi5kY2YzMjU2IDEwMDc1NQotLS0tIGEvc3JjL21ha2UuYmFzaAotKysrIGIvc3JjL21ha2UuYmFzaAotQEAgLTE3NSw3ICsxNzUsNyBAQCBlY2hvICIjIyMjIyBCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yICRHT09TLyRHT0FSQ0guIgotIAotIG9sZF9iaW5fZmlsZXM9JChjZCAkR09ST09UL2JpbiAmJiBlY2hvICopCi0gCi0tQ0M9JENDX0ZPUl9UQVJHRVQgIiRHT1RPT0xESVIiL2dvX2Jvb3RzdHJhcCBpbnN0YWxsICRHT19GTEFHUyAtZ2NmbGFncyAiJEdPX0dDRkxBR1MiIC1sZGZsYWdzICIkR09fTERGTEFHUyIgLXYgc3RkIGNtZAotK0NDPSIkQ0NfRk9SX1RBUkdFVCIgIiRHT1RPT0xESVIiL2dvX2Jvb3RzdHJhcCBpbnN0YWxsICRHT19GTEFHUyAtZ2NmbGFncyAiJEdPX0dDRkxBR1MiIC1sZGZsYWdzICIkR09fTERGTEFHUyIgLXYgc3RkIGNtZAotIAotICMgQ2hlY2sgdGhhdCB0aGVyZSBhcmUgbm8gbmV3IGZpbGVzIGluICRHT1JPT1QvYmluIG90aGVyIHRoYW4gZ28gYW5kIGdvZm10Ci0gIyBhbmQgJEdPT1NfJEdPQVJDSCAoYSBkaXJlY3RvcnkgdXNlZCB3aGVuIGNyb3NzLWNvbXBpbGluZykuCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDAyLWNtZC1nby1maXgtQ0MtYW5kLUNYWC1lbnZpcm9ubWVudC12YXJpYWJsZS1jb25zdHJ1Y3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwMi1jbWQtZ28tZml4LUNDLWFuZC1DWFgtZW52aXJvbm1lbnQtdmFyaWFibGUtY29uc3RydWN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNGU0MjI2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDAyLWNtZC1nby1maXgtQ0MtYW5kLUNYWC1lbnZpcm9ubWVudC12YXJpYWJsZS1jb25zdHJ1Y3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi1Gcm9tIGE3MTcwZDMyYTEzYWVhZDYwOGFiZDE4OTk2ZjZkYWIyZTJhNjMxYjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotRGF0ZTogV2VkLCAxMyBTZXAgMjAxNyAwODowNjozNyAtMDcwMAotU3ViamVjdDogW1BBVENIIDIvN10gY21kL2dvOiBmaXggQ0MgYW5kIENYWCBlbnZpcm9ubWVudCB2YXJpYWJsZSBjb25zdHJ1Y3Rpb24KLQotRm9yIE9FIGNyb3NzLWJ1aWxkcywgQ0MgYW5kIENYWCBoYXZlIG11bHRpcGxlIHdvcmRzLCBhbmQKLXdlIG5lZWQgdGhlaXIgY29tcGxldGUgZGVmaW5pdGlvbnMgd2hlbiBzZXR0aW5nIHVwIHRoZQotZW52aXJvbm1lbnQgZHVyaW5nIEdvIGJ1aWxkcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotLS0tCi0gc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvIHwgIDQgKystLQotIHNyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbyB8IDEyICsrKysrKysrKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvZW52Y21kL2Vudi5nbyBiL3NyYy9jbWQvZ28vaW50ZXJuYWwvZW52Y21kL2Vudi5nbwotaW5kZXggNDNkNDMzNC4uNTI5ZDIxZCAxMDA2NDQKLS0tLSBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvZW52Y21kL2Vudi5nbwotKysrIGIvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvCi1AQCAtNzQsMTAgKzc0LDEwIEBAIGZ1bmMgTWtFbnYoKSBbXWNmZy5FbnZWYXIgewotIAl9Ci0gCi0gCWNtZCA6PSBiLkdjY0NtZCgiLiIpCi0tCWVudiA9IGFwcGVuZChlbnYsIGNmZy5FbnZWYXJ7TmFtZTogIkNDIiwgVmFsdWU6IGNtZFswXX0pCi0rCWVudiA9IGFwcGVuZChlbnYsIGNmZy5FbnZWYXJ7TmFtZTogIkNDIiwgVmFsdWU6IHN0cmluZ3MuSm9pbihiLkdjY0NtZEZvclJlYWwoKSwgIiAiKX0pCi0gCWVudiA9IGFwcGVuZChlbnYsIGNmZy5FbnZWYXJ7TmFtZTogIkdPR0NDRkxBR1MiLCBWYWx1ZTogc3RyaW5ncy5Kb2luKGNtZFszOl0sICIgIil9KQotIAljbWQgPSBiLkd4eENtZCgiLiIpCi0tCWVudiA9IGFwcGVuZChlbnYsIGNmZy5FbnZWYXJ7TmFtZTogIkNYWCIsIFZhbHVlOiBjbWRbMF19KQotKwllbnYgPSBhcHBlbmQoZW52LCBjZmcuRW52VmFye05hbWU6ICJDWFgiLCBWYWx1ZTogc3RyaW5ncy5Kb2luKGIuR3h4Q21kRm9yUmVhbCgpLCAiICIpfSkKLSAKLSAJaWYgY2ZnLkJ1aWxkQ29udGV4dC5DZ29FbmFibGVkIHsKLSAJCWVudiA9IGFwcGVuZChlbnYsIGNmZy5FbnZWYXJ7TmFtZTogIkNHT19FTkFCTEVEIiwgVmFsdWU6ICIxIn0pCi1kaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi1pbmRleCA3ZDY2N2ZmLi44NWRmMGIzIDEwMDY0NAotLS0tIGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi0rKysgYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KLUBAIC0zMTI3LDEyICszMTI3LDI0IEBAIGZ1bmMgKGIgKkJ1aWxkZXIpIEdjY0NtZChvYmpkaXIgc3RyaW5nKSBbXXN0cmluZyB7Ci0gCXJldHVybiBiLmNjb21waWxlckNtZCgiQ0MiLCBjZmcuRGVmYXVsdENDLCBvYmpkaXIpCi0gfQotIAotKy8vIGdjY0NtZCByZXR1cm5zIGEgZ2NjIGNvbW1hbmQgbGluZSBwcmVmaXgKLSsvLyBkZWZhdWx0Q0MgaXMgZGVmaW5lZCBpbiB6ZGVmYXVsdGNjLmdvLCB3cml0dGVuIGJ5IGNtZC9kaXN0LgotK2Z1bmMgKGIgKkJ1aWxkZXIpIEdjY0NtZEZvclJlYWwoKSBbXXN0cmluZyB7Ci0rCXJldHVybiBlbnZMaXN0KCJDQyIsIGNmZy5EZWZhdWx0Q0MpCi0rfQotKwotIC8vIGd4eENtZCByZXR1cm5zIGEgZysrIGNvbW1hbmQgbGluZSBwcmVmaXgKLSAvLyBkZWZhdWx0Q1hYIGlzIGRlZmluZWQgaW4gemRlZmF1bHRjYy5nbywgd3JpdHRlbiBieSBjbWQvZGlzdC4KLSBmdW5jIChiICpCdWlsZGVyKSBHeHhDbWQob2JqZGlyIHN0cmluZykgW11zdHJpbmcgewotIAlyZXR1cm4gYi5jY29tcGlsZXJDbWQoIkNYWCIsIGNmZy5EZWZhdWx0Q1hYLCBvYmpkaXIpCi0gfQotIAotKy8vIGd4eENtZCByZXR1cm5zIGEgZysrIGNvbW1hbmQgbGluZSBwcmVmaXgKLSsvLyBkZWZhdWx0Q1hYIGlzIGRlZmluZWQgaW4gemRlZmF1bHRjYy5nbywgd3JpdHRlbiBieSBjbWQvZGlzdC4KLStmdW5jIChiICpCdWlsZGVyKSBHeHhDbWRGb3JSZWFsKCkgW11zdHJpbmcgewotKwlyZXR1cm4gZW52TGlzdCgiQ1hYIiwgY2ZnLkRlZmF1bHRDWFgpCi0rfQotKwotIC8vIGdmb3J0cmFuQ21kIHJldHVybnMgYSBnZm9ydHJhbiBjb21tYW5kIGxpbmUgcHJlZml4LgotIGZ1bmMgKGIgKkJ1aWxkZXIpIGdmb3J0cmFuQ21kKG9iamRpciBzdHJpbmcpIFtdc3RyaW5nIHsKLSAJcmV0dXJuIGIuY2NvbXBpbGVyQ21kKCJGQyIsICJnZm9ydHJhbiIsIG9iamRpcikKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDMtbWFrZS5iYXNoLWJldHRlci1zZXBhcmF0ZS1ob3N0LWFuZC10YXJnZXQtYnVpbGRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDMtbWFrZS5iYXNoLWJldHRlci1zZXBhcmF0ZS1ob3N0LWFuZC10YXJnZXQtYnVpbGRzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZmQ5ZjIzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDAzLW1ha2UuYmFzaC1iZXR0ZXItc2VwYXJhdGUtaG9zdC1hbmQtdGFyZ2V0LWJ1aWxkcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDkyICswLDAgQEAKLUZyb20gMzFlODhmMDZhZjdhYjc4N2Q4ZmUwYzFjYTYyNTE5M2UxNzk5ZTE2NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+Ci1EYXRlOiBXZWQsIDEzIFNlcCAyMDE3IDA4OjEyOjA0IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMy83XSBtYWtlLmJhc2g6IGJldHRlciBzZXBhcmF0ZSBob3N0IGFuZCB0YXJnZXQgYnVpbGRzCi0KLUZvcmUgT0UgY3Jvc3MtYnVpbGRzLCB0aGUgc2ltcGxlIGNoZWNrcyBpbiBtYWtlLmJhc2ggYXJlCi1pbnN1ZmZpY2llbnQgZm9yIGRpc3Rpbmd1aXNoaW5nIGhvc3QgYW5kIHRhcmdldCBidWlsZAotZW52aXJvbm1lbnRzLCBzbyBhZGQgc29tZSBvcHRpb25zIGZvciB0ZWxsaW5nIHRoZQotc2NyaXB0IHdoaWNoIHBhcnRzIGFyZSBiZWluZyBidWlsdC4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotLS0tCi0gc3JjL21ha2UuYmFzaCB8IDUxICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9tYWtlLmJhc2ggYi9zcmMvbWFrZS5iYXNoCi1pbmRleCBkY2YzMjU2Li45NTUzNjIzIDEwMDc1NQotLS0tIGEvc3JjL21ha2UuYmFzaAotKysrIGIvc3JjL21ha2UuYmFzaAotQEAgLTE1NiwxMyArMTU2LDIyIEBAIGlmIFsgIiQxIiA9ICItLW5vLWNsZWFuIiBdOyB0aGVuCi0gCWJ1aWxkYWxsPSIiCi0gCXNoaWZ0Ci0gZmkKLS0uL2NtZC9kaXN0L2Rpc3QgYm9vdHN0cmFwICRidWlsZGFsbCAkR09fRElTVEZMQUdTIC12ICMgYnVpbGRzIGdvX2Jvb3RzdHJhcAotK2RvX2hvc3RfYnVpbGQ9InllcyIKLStkb190YXJnZXRfYnVpbGQ9InllcyIKLStpZiBbICIkMSIgPSAiLS10YXJnZXQtb25seSIgXTsgdGhlbgotKwlkb19ob3N0X2J1aWxkPSJubyIKLSsJc2hpZnQKLStlbGlmIFsgIiQxIiA9ICItLWhvc3Qtb25seSIgXTsgdGhlbgotKwlkb190YXJnZXRfYnVpbGQ9Im5vIgotKwlzaGlmdAotK2ZpCi0gCi0tIyBEZWxheSBtb3ZlIG9mIGRpc3QgdG9vbCB0byBub3csIGJlY2F1c2UgYm9vdHN0cmFwIG1heSBjbGVhciB0b29sIGRpcmVjdG9yeS4KLS1tdiBjbWQvZGlzdC9kaXN0ICIkR09UT09MRElSIi9kaXN0Ci0tZWNobwotK2lmIFsgIiRkb19ob3N0X2J1aWxkIiA9ICJ5ZXMiIF07IHRoZW4KLSsJLi9jbWQvZGlzdC9kaXN0IGJvb3RzdHJhcCAkYnVpbGRhbGwgJEdPX0RJU1RGTEFHUyAtdiAjIGJ1aWxkcyBnb19ib290c3RyYXAKLSsJIyBEZWxheSBtb3ZlIG9mIGRpc3QgdG9vbCB0byBub3csIGJlY2F1c2UgYm9vdHN0cmFwIG1heSBjbGVhciB0b29sIGRpcmVjdG9yeS4KLSsJbXYgY21kL2Rpc3QvZGlzdCAiJEdPVE9PTERJUiIvZGlzdAotKwllY2hvCi0gCi0taWYgWyAiJEdPSE9TVEFSQ0giICE9ICIkR09BUkNIIiAtbyAiJEdPSE9TVE9TIiAhPSAiJEdPT1MiIF07IHRoZW4KLSAJZWNobyAiIyMjIyMgQnVpbGRpbmcgcGFja2FnZXMgYW5kIGNvbW1hbmRzIGZvciBob3N0LCAkR09IT1NUT1MvJEdPSE9TVEFSQ0guIgotIAkjIENDX0ZPUl9UQVJHRVQgaXMgcmVjb3JkZWQgYXMgdGhlIGRlZmF1bHQgY29tcGlsZXIgZm9yIHRoZSBnbyB0b29sLiBXaGVuIGJ1aWxkaW5nIGZvciB0aGUgaG9zdCwgaG93ZXZlciwKLSAJIyB1c2UgdGhlIGhvc3QgY29tcGlsZXIsIENDLCBmcm9tIGBjbWQvZGlzdC9kaXN0IGVudmAgaW5zdGVhZC4KLUBAIC0xNzEsMjQgKzE4MCwyMCBAQCBpZiBbICIkR09IT1NUQVJDSCIgIT0gIiRHT0FSQ0giIC1vICIkR09IT1NUT1MiICE9ICIkR09PUyIgXTsgdGhlbgotIAllY2hvCi0gZmkKLSAKLS1lY2hvICIjIyMjIyBCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yICRHT09TLyRHT0FSQ0guIgotLQotLW9sZF9iaW5fZmlsZXM9JChjZCAkR09ST09UL2JpbiAmJiBlY2hvICopCi0tCi0tQ0M9IiRDQ19GT1JfVEFSR0VUIiAiJEdPVE9PTERJUiIvZ29fYm9vdHN0cmFwIGluc3RhbGwgJEdPX0ZMQUdTIC1nY2ZsYWdzICIkR09fR0NGTEFHUyIgLWxkZmxhZ3MgIiRHT19MREZMQUdTIiAtdiBzdGQgY21kCi0tCi0tIyBDaGVjayB0aGF0IHRoZXJlIGFyZSBubyBuZXcgZmlsZXMgaW4gJEdPUk9PVC9iaW4gb3RoZXIgdGhhbiBnbyBhbmQgZ29mbXQKLS0jIGFuZCAkR09PU18kR09BUkNIIChhIGRpcmVjdG9yeSB1c2VkIHdoZW4gY3Jvc3MtY29tcGlsaW5nKS4KLS0oY2QgJEdPUk9PVC9iaW4gJiYgZm9yIGYgaW4gKjsgZG8KLS0JaWYgISBleHByICIgJG9sZF9iaW5fZmlsZXMgZ28gZ29mbXQgJHtHT09TfV8ke0dPQVJDSH0gIiA6ICIuKiAkZiAiID4vZGV2L251bGwgMj4vZGV2L251bGw7IHRoZW4KLS0JCWVjaG8gMT4mMiAiRVJST1I6IHVuZXhwZWN0ZWQgbmV3IGZpbGUgaW4gJEdPUk9PVC9iaW46ICRmIgotLQkJZXhpdCAxCi0tCWZpCi0tZG9uZSkKLS0KLS1lY2hvCi0tCi0tcm0gLWYgIiRHT1RPT0xESVIiL2dvX2Jvb3RzdHJhcAotK2lmIFsgIiRkb190YXJnZXRfYnVpbGQiID0gInllcyIgXTsgdGhlbgotKyAgICBHT19JTlNUQUxMPSIke0dPX1RBUkdFVF9JTlNUQUxMOi1zdGQgY21kfSIKLSsgICAgZWNobyAiIyMjIyMgQnVpbGRpbmcgcGFja2FnZXMgYW5kIGNvbW1hbmRzIGZvciAkR09PUy8kR09BUkNILiIKLSsgICAgaWYgWyAiJEdPSE9TVE9TIiA9ICIkR09PUyIgLWEgIiRHT0hPU1RBUkNIIiA9ICIkR09BUkNIIiAtYSAiJGRvX2hvc3RfYnVpbGQiID0gInllcyIgXTsgdGhlbgotKwlybSAtcmYgLi9ob3N0LXRvb2xzCi0rCW1rZGlyIC4vaG9zdC10b29scwotKwltdiAiJEdPVE9PTERJUiIvKiAuL2hvc3QtdG9vbHMKLSsJR09UT09MRElSPSIkUFdEL2hvc3QtdG9vbHMiCi0rICAgIGZpCi0rICAgIEdPVE9PTERJUj0iJEdPVE9PTERJUiIgQ0M9IiRDQ19GT1JfVEFSR0VUIiAiJEdPVE9PTERJUiIvZ29fYm9vdHN0cmFwIGluc3RhbGwgJEdPX0ZMQUdTIC1nY2ZsYWdzICIkR09fR0NGTEFHUyIgLWxkZmxhZ3MgIiRHT19MREZMQUdTIiAtdiAke0dPX0lOU1RBTEx9Ci0rICAgIGVjaG8KLSsKLSsgICAgcm0gLWYgIiRHT1RPT0xESVIiL2dvX2Jvb3RzdHJhcAotK2ZpCi0gCi0gaWYgWyAiJDEiICE9ICItLW5vLWJhbm5lciIgXTsgdGhlbgotIAkiJEdPVE9PTERJUiIvZGlzdCBiYW5uZXIKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDQtY21kLWdvLWFsbG93LUdPVE9PTERJUi10by1iZS1vdmVycmlkZGVuLWluLXRoZS1lbnZpci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA0LWNtZC1nby1hbGxvdy1HT1RPT0xESVItdG8tYmUtb3ZlcnJpZGRlbi1pbi10aGUtZW52aXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE4MGIwNmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDQtY21kLWdvLWFsbG93LUdPVE9PTERJUi10by1iZS1vdmVycmlkZGVuLWluLXRoZS1lbnZpci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLUZyb20gMTM2OTE3OGI0OTdiMTIwODhlYzRjMjc5NDYwNmNjOWYxNGNjMzI3YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+Ci1EYXRlOiBXZWQsIDEzIFNlcCAyMDE3IDA4OjE1OjAzIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggNC83XSBjbWQvZ286IGFsbG93IEdPVE9PTERJUiB0byBiZSBvdmVycmlkZGVuIGluIHRoZQotIGVudmlyb25tZW50Ci0KLUZvciBPRSBjcm9zcy1idWlsZHMsIGhvc3Qtc2lkZSB0b29scyByZXNpZGUgaW4gdGhlIG5hdGl2ZQotR09ST09ULCBub3QgdGhlIHRhcmdldCBHT1JPT1QuICBBbGxvdyBHT1RPT0xESVIgdG8gYmUgc2V0Ci1pbiB0aGUgZW52aXJvbm1lbnQgdG8gYWxsb3cgdGhhdCBzcGxpdCwgcmF0aGVyIHRoYW4gYWx3YXlzCi1jb21wdXRpbmcgR09UT09MRElSIHJlbGF0aXZlIHRvIHRoZSBHT1JPT1Qgc2V0dGluZy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotLS0tCi0gc3JjL2NtZC9nby9pbnRlcm5hbC9jZmcvY2ZnLmdvICAgIHwgNyArKysrKystCi0gc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIHwgMiArLQotIHNyYy9nby9idWlsZC9idWlsZC5nbyAgICAgICAgICAgICB8IDIgKy0KLSAzIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvY2ZnL2NmZy5nbyBiL3NyYy9jbWQvZ28vaW50ZXJuYWwvY2ZnL2NmZy5nbwotaW5kZXggYjNhZDFjZS4uYzFkYzk3NCAxMDA2NDQKLS0tLSBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvY2ZnL2NmZy5nbwotKysrIGIvc3JjL2NtZC9nby9pbnRlcm5hbC9jZmcvY2ZnLmdvCi1AQCAtOTEsNyArOTEsMTIgQEAgZnVuYyBpbml0KCkgewotIAkvLyBhcyB0aGUgdG9vbCBkaXJlY3RvcnkgZG9lcyBub3QgbW92ZSBiYXNlZCBvbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCi0gCS8vIFRoaXMgbWF0Y2hlcyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgVG9vbERpciBpbiBnby9idWlsZCwKLSAJLy8gZXhjZXB0IGZvciB1c2luZyBHT1JPT1QgcmF0aGVyIHRoYW4gcnVudGltZS5HT1JPT1QoKS4KLS0JYnVpbGQuVG9vbERpciA9IGZpbGVwYXRoLkpvaW4oR09ST09ULCAicGtnL3Rvb2wvIitydW50aW1lLkdPT1MrIl8iK3J1bnRpbWUuR09BUkNIKQotKwlzIDo9IG9zLkdldGVudigiR09UT09MRElSIikKLSsJaWYgcyA9PSAiIiB7Ci0rCQlidWlsZC5Ub29sRGlyID0gZmlsZXBhdGguSm9pbihHT1JPT1QsICJwa2cvdG9vbC8iK3J1bnRpbWUuR09PUysiXyIrcnVudGltZS5HT0FSQ0gpCi0rCX0gZWxzZSB7Ci0rCQlidWlsZC5Ub29sRGlyID0gcwotKwl9Ci0gfQotIAotIGZ1bmMgZmluZEdPUk9PVCgpIHN0cmluZyB7Ci1kaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi1pbmRleCA4NWRmMGIzLi43YjlhNjllIDEwMDY0NAotLS0tIGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi0rKysgYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KLUBAIC0xMzM3LDcgKzEzMzcsNyBAQCBmdW5jIChiICpCdWlsZGVyKSBidWlsZChhICpBY3Rpb24pIChlcnIgZXJyb3IpIHsKLSAJCX0KLSAKLSAJCXZhciBjZ29FeGUgc3RyaW5nCi0tCQlpZiBhLmNnbyAhPSBuaWwgJiYgYS5jZ28uVGFyZ2V0ICE9ICIiIHsKLSsJCWlmIGEuY2dvICE9IG5pbCAmJiBhLmNnby5UYXJnZXQgIT0gIiIgJiYgb3MuR2V0ZW52KCJHT1RPT0xESVIiKSA9PSAiIiB7Ci0gCQkJY2dvRXhlID0gYS5jZ28uVGFyZ2V0Ci0gCQl9IGVsc2UgewotIAkJCWNnb0V4ZSA9IGJhc2UuVG9vbCgiY2dvIikKLWRpZmYgLS1naXQgYS9zcmMvZ28vYnVpbGQvYnVpbGQuZ28gYi9zcmMvZ28vYnVpbGQvYnVpbGQuZ28KLWluZGV4IGZkODk4NzEuLmUxNjE0NWIgMTAwNjQ0Ci0tLS0gYS9zcmMvZ28vYnVpbGQvYnVpbGQuZ28KLSsrKyBiL3NyYy9nby9idWlsZC9idWlsZC5nbwotQEAgLTE1ODgsNyArMTU4OCw3IEBAIGZ1bmMgaW5pdCgpIHsKLSB9Ci0gCi0gLy8gVG9vbERpciBpcyB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYnVpbGQgdG9vbHMuCi0tdmFyIFRvb2xEaXIgPSBmaWxlcGF0aC5Kb2luKHJ1bnRpbWUuR09ST09UKCksICJwa2cvdG9vbC8iK3J1bnRpbWUuR09PUysiXyIrcnVudGltZS5HT0FSQ0gpCi0rdmFyIFRvb2xEaXIgPSBlbnZPcigiR09UT09MRElSIiwgZmlsZXBhdGguSm9pbihydW50aW1lLkdPUk9PVCgpLCAicGtnL3Rvb2wvIitydW50aW1lLkdPT1MrIl8iK3J1bnRpbWUuR09BUkNIKSkKLSAKLSAvLyBJc0xvY2FsSW1wb3J0IHJlcG9ydHMgd2hldGhlciB0aGUgaW1wb3J0IHBhdGggaXMKLSAvLyBhIGxvY2FsIGltcG9ydCBwYXRoLCBsaWtlICIuIiwgIi4uIiwgIi4vZm9vIiwgb3IgIi4uL2ZvbyIuCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA1LWNtZC1nby1tYWtlLUdPUk9PVC1wcmVjaW91cy1ieS1kZWZhdWx0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDUtY21kLWdvLW1ha2UtR09ST09ULXByZWNpb3VzLWJ5LWRlZmF1bHQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZlOTNiY2IuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDUtY21kLWdvLW1ha2UtR09ST09ULXByZWNpb3VzLWJ5LWRlZmF1bHQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDQ0Zjk2MTk3NWRhYzZjZjQ2NGE3N2I1ZjZkZDBjNDdjYzE5MmM0ZmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotRGF0ZTogV2VkLCAxMyBTZXAgMjAxNyAwODoxOTo1MiAtMDcwMAotU3ViamVjdDogW1BBVENIIDUvN10gY21kL2dvOiBtYWtlIEdPUk9PVCBwcmVjaW91cyBieSBkZWZhdWx0Ci0KLUZvciBPRSBidWlsZHMsIHdlIG5ldmVyIHdhbnQgcGFja2FnZXMgdGhhdCBoYXZlCi1hbHJlYWR5IGJlZW4gaW5zdGFsbGVkIGludG8gdGhlIGJ1aWxkIHJvb3QgdG8gYmUKLW1vZGlmaWVkLCBzbyBwcmV2ZW50IHRoZSBnbyBidWlsZCB0b29sIGZyb20gY2hlY2tpbmcKLWlmIHRoZXkgc2hvdWxkIGJlIHJlYnVpbHQuCi0KLUFsc28gYWRkIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIG92ZXJyaWRlIHRoaXMKLWJlaGF2aW9yLCBqdXN0IGZvciBidWlsZGluZyB0aGUgR28gcnVudGltZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+Ci0tLS0KLSBzcmMvY21kL2dvL2ludGVybmFsL2xvYWQvcGtnLmdvIHwgNyArKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC9sb2FkL3BrZy5nbyBiL3NyYy9jbWQvZ28vaW50ZXJuYWwvbG9hZC9wa2cuZ28KLWluZGV4IDYwZGU2NjYuLjI2NjBkM2YgMTAwNjQ0Ci0tLS0gYS9zcmMvY21kL2dvL2ludGVybmFsL2xvYWQvcGtnLmdvCi0rKysgYi9zcmMvY21kL2dvL2ludGVybmFsL2xvYWQvcGtnLmdvCi1AQCAtMTUzMCw2ICsxNTMwLDEzIEBAIGZ1bmMgaXNTdGFsZShwICpQYWNrYWdlKSAoYm9vbCwgc3RyaW5nKSB7Ci0gCQlyZXR1cm4gdHJ1ZSwgImJ1aWxkIElEIG1pc21hdGNoIgotIAl9Ci0gCi0rCS8vIEZvciBPRSBidWlsZHMsIG1ha2UgYW55dGhpbmcgaW4gR09ST09UIG5vbi1zdGFsZSwKLSsJLy8gdG8gcHJldmVudCBhIHBhY2thZ2UgYnVpbGQgZnJvbSBvdmVyd3JpdGluZyB0aGUKLSsJLy8gYnVpbGQgcm9vdC4KLSsJaWYgcC5Hb3Jvb3QgJiYgb3MuR2V0ZW52KCJHT1JPT1RfT1ZFUlJJREUiKSAhPSAiMSIgewotKwkJcmV0dXJuIGZhbHNlLCAiR09ST09ULXJlc2lkZW50IHBhY2thZ2VzIGRvIG5vdCBnZXQgcmVidWlsdCIKLSsJfQotKwotIAkvLyBQYWNrYWdlIGlzIHN0YWxlIGlmIGEgZGVwZW5kZW5jeSBpcy4KLSAJZm9yIF8sIHAxIDo9IHJhbmdlIHAuSW50ZXJuYWwuRGVwcyB7Ci0gCQlpZiBwMS5TdGFsZSB7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA2LW1ha2UuYmFzaC1hZGQtR09UT09MRElSX0JPT1RTVFJBUC1lbnZpcm9ubWVudC12YXJpYWIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwNi1tYWtlLmJhc2gtYWRkLUdPVE9PTERJUl9CT09UU1RSQVAtZW52aXJvbm1lbnQtdmFyaWFiLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMGY1NjQwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA2LW1ha2UuYmFzaC1hZGQtR09UT09MRElSX0JPT1RTVFJBUC1lbnZpcm9ubWVudC12YXJpYWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIGFhZTc0ZDEwNDVjYTAzMzA2YmE0MTU5MjA2ZWUzYmFjNzJiY2RmYmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotRGF0ZTogV2VkLCAxMyBTZXAgMjAxNyAwODoyMzoyMyAtMDcwMAotU3ViamVjdDogW1BBVENIIDYvN10gbWFrZS5iYXNoOiBhZGQgR09UT09MRElSX0JPT1RTVFJBUCBlbnZpcm9ubWVudCB2YXJpYWJsZQotCi1Gb3IgY3Jvc3MtY2FuYWRpYW4gYnVpbGRzLCB3ZSBuZWVkIHRvIHVzZSB0aGUgbmF0aXZlCi1HT1RPT0xESVIgZHVyaW5nIHRoZSBib290c3RyYXAgcGhhc2UsIHNvIHByb3ZpZGUgYSB3YXkKLXRvIHBhc3MgdGhhdCBzZXR0aW5nIGludG8gdGhlIGJ1aWxkIHNjcmlwdC4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+Ci0tLS0KLSBzcmMvbWFrZS5iYXNoIHwgMyArKy0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvbWFrZS5iYXNoIGIvc3JjL21ha2UuYmFzaAotaW5kZXggOTU1MzYyMy4uMmU2ZmIwNSAxMDA3NTUKLS0tLSBhL3NyYy9tYWtlLmJhc2gKLSsrKyBiL3NyYy9tYWtlLmJhc2gKLUBAIC0xNzIsMTAgKzE3MiwxMSBAQCBpZiBbICIkZG9faG9zdF9idWlsZCIgPSAieWVzIiBdOyB0aGVuCi0gCW12IGNtZC9kaXN0L2Rpc3QgIiRHT1RPT0xESVIiL2Rpc3QKLSAJZWNobwotIAotKwlHT1RPT0xESVJfQk9PVFNUUkFQPSIke0dPVE9PTERJUl9CT09UU1RSQVA6LSRHT1RPT0xESVJ9IgotIAllY2hvICIjIyMjIyBCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yIGhvc3QsICRHT0hPU1RPUy8kR09IT1NUQVJDSC4iCi0gCSMgQ0NfRk9SX1RBUkdFVCBpcyByZWNvcmRlZCBhcyB0aGUgZGVmYXVsdCBjb21waWxlciBmb3IgdGhlIGdvIHRvb2wuIFdoZW4gYnVpbGRpbmcgZm9yIHRoZSBob3N0LCBob3dldmVyLAotIAkjIHVzZSB0aGUgaG9zdCBjb21waWxlciwgQ0MsIGZyb20gYGNtZC9kaXN0L2Rpc3QgZW52YCBpbnN0ZWFkLgotLQlDQz0kQ0MgR09PUz0kR09IT1NUT1MgR09BUkNIPSRHT0hPU1RBUkNIIFwKLSsJQ0M9JENDIEdPT1M9JEdPSE9TVE9TIEdPQVJDSD0kR09IT1NUQVJDSCBHT1RPT0xESVI9IiRHT1RPT0xESVJfQk9PVFNUUkFQIiBcCi0gCQkiJEdPVE9PTERJUiIvZ29fYm9vdHN0cmFwIGluc3RhbGwgLWdjZmxhZ3MgIiRHT19HQ0ZMQUdTIiAtbGRmbGFncyAiJEdPX0xERkxBR1MiIC12IHN0ZCBjbWQKLSAJZWNobwotIGZpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA3LWxkLWFkZC1zb25hbWUtdG8tc2hhcmVhYmxlLW9iamVjdHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwNy1sZC1hZGQtc29uYW1lLXRvLXNoYXJlYWJsZS1vYmplY3RzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NDU5NzgyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA3LWxkLWFkZC1zb25hbWUtdG8tc2hhcmVhYmxlLW9iamVjdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1Gcm9tIGU5NTdjMzQ1OGQ1M2UzN2JmNDE2ZjUxZDJmOGJmNTRjMTk1ZTUwZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotRGF0ZTogV2VkLCAxMyBTZXAgMjAxNyAwODoyNzowMiAtMDcwMAotU3ViamVjdDogW1BBVENIIDcvN10gbGQ6IGFkZCBzb25hbWUgdG8gc2hhcmVhYmxlIG9iamVjdHMKLQotU2hhcmVkIGxpYnJhcnkgaGFuZGxpbmcgaW4gT0UgZGVwZW5kcyBvbiB0aGUgaW5jbHVzaW9uCi1vZiBhbiBzb25hbWUgaGVhZGVyLCBzbyB1cGRhdGUgdGhlIGdvIGxpbmtlciB0byBhZGQgdGhhdAotaGVhZGVyIGZvciBib3RoIGludGVybmFsIGFuZCBleHRlcm5hbCBsaW5raW5nLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KLS0tLQotIHNyYy9jbWQvbGluay9pbnRlcm5hbC9sZC9saWIuZ28gfCAzICsrKwotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9jbWQvbGluay9pbnRlcm5hbC9sZC9saWIuZ28gYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbGQvbGliLmdvCi1pbmRleCAwMjM0MTA1Li4wYjllMmQwIDEwMDY0NAotLS0tIGEvc3JjL2NtZC9saW5rL2ludGVybmFsL2xkL2xpYi5nbwotKysrIGIvc3JjL2NtZC9saW5rL2ludGVybmFsL2xkL2xpYi5nbwotQEAgLTExMjQsMTIgKzExMjQsMTQgQEAgZnVuYyAobCAqTGluaykgaG9zdGxpbmsoKSB7Ci0gCQkJLy8gUGFzcyAteiBub2RlbGV0ZSB0byBtYXJrIHRoZSBzaGFyZWQgbGlicmFyeSBhcwotIAkJCS8vIG5vbi1jbG9zZWFibGU6IGEgZGxjbG9zZSB3aWxsIGRvIG5vdGhpbmcuCi0gCQkJYXJndiA9IGFwcGVuZChhcmd2LCAiLXNoYXJlZCIsICItV2wsLXosbm9kZWxldGUiKQotKwkJCWFyZ3YgPSBhcHBlbmQoYXJndiwgZm10LlNwcmludGYoIi1XbCwtc29uYW1lLCVzIiwgZmlsZXBhdGguQmFzZSgqZmxhZ091dGZpbGUpKSkKLSAJCX0KLSAJY2FzZSBCdWlsZG1vZGVTaGFyZWQ6Ci0gCQlpZiBVc2VSZWxybygpIHsKLSAJCQlhcmd2ID0gYXBwZW5kKGFyZ3YsICItV2wsLXoscmVscm8iKQotIAkJfQotIAkJYXJndiA9IGFwcGVuZChhcmd2LCAiLXNoYXJlZCIpCi0rCQlhcmd2ID0gYXBwZW5kKGFyZ3YsIGZtdC5TcHJpbnRmKCItV2wsLXNvbmFtZSwlcyIsIGZpbGVwYXRoLkJhc2UoKmZsYWdPdXRmaWxlKSkpCi0gCWNhc2UgQnVpbGRtb2RlUGx1Z2luOgotIAkJaWYgSGVhZHR5cGUgPT0gb2JqYWJpLkhkYXJ3aW4gewotIAkJCWFyZ3YgPSBhcHBlbmQoYXJndiwgIi1keW5hbWljbGliIikKLUBAIC0xMTM4LDYgKzExNDAsNyBAQCBmdW5jIChsICpMaW5rKSBob3N0bGluaygpIHsKLSAJCQkJYXJndiA9IGFwcGVuZChhcmd2LCAiLVdsLC16LHJlbHJvIikKLSAJCQl9Ci0gCQkJYXJndiA9IGFwcGVuZChhcmd2LCAiLXNoYXJlZCIpCi0rCQkJYXJndiA9IGFwcGVuZChhcmd2LCBmbXQuU3ByaW50ZigiLVdsLC1zb25hbWUsJXMiLCBmaWxlcGF0aC5CYXNlKCpmbGFnT3V0ZmlsZSkpKQotIAkJfQotIAl9Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA4LW1ha2UuYmFzaC1hZGQtR09IT1NUeHgtaW5kaXJlY3Rpb24tZm9yLWNyb3NzLWNhbmFkaWEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwOC1tYWtlLmJhc2gtYWRkLUdPSE9TVHh4LWluZGlyZWN0aW9uLWZvci1jcm9zcy1jYW5hZGlhLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOTc3Yzc4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA4LW1ha2UuYmFzaC1hZGQtR09IT1NUeHgtaW5kaXJlY3Rpb24tZm9yLWNyb3NzLWNhbmFkaWEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1Gcm9tIDAzZTZjMzM5ZDRmYjcxMmZiYjhjNGNhNmVmMmZjNzEwMGRjZGIzZDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotRGF0ZTogVGh1LCAxNCBTZXAgMjAxNyAwNTozODoxMCAtMDcwMAotU3ViamVjdDogW1BBVENIIDgvOF0gbWFrZS5iYXNoOiBhZGQgR09IT1NUeHggaW5kaXJlY3Rpb24gZm9yIGNyb3NzLWNhbmFkaWFuCi0gYnVpbGRzCi0KLUFkZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHNwZWNpZnlpbmcgdGhlIGhvc3QgT1MvYXJjaAotdGhhdCB3ZSBhcmUgYnVpbGRpbmcgdGhlIGNvbXBpbGVyIGZvciwgc28gaXQgY2FuIGRpZmZlciBmcm9tCi10aGUgYnVpbGQgaG9zdCBPUy9hcmNoLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KLS0tLQotIHNyYy9tYWtlLmJhc2ggfCAyICsrCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL21ha2UuYmFzaCBiL3NyYy9tYWtlLmJhc2gKLWluZGV4IDJlNmZiMDUuLjBiZGFkYzYgMTAwNzU1Ci0tLS0gYS9zcmMvbWFrZS5iYXNoCi0rKysgYi9zcmMvbWFrZS5iYXNoCi1AQCAtMTczLDYgKzE3Myw4IEBAIGlmIFsgIiRkb19ob3N0X2J1aWxkIiA9ICJ5ZXMiIF07IHRoZW4KLSAJZWNobwotIAotIAlHT1RPT0xESVJfQk9PVFNUUkFQPSIke0dPVE9PTERJUl9CT09UU1RSQVA6LSRHT1RPT0xESVJ9IgotKwlHT0hPU1RPUz0iJHtHT0hPU1RPU19DUk9TUzotJEdPSE9TVE9TfSIKLSsJR09IT1NUQVJDSD0iJHtHT0hPU1RBUkNIX0NST1NTOi0kR09IT1NUQVJDSH0iCi0gCWVjaG8gIiMjIyMjIEJ1aWxkaW5nIHBhY2thZ2VzIGFuZCBjb21tYW5kcyBmb3IgaG9zdCwgJEdPSE9TVE9TLyRHT0hPU1RBUkNILiIKLSAJIyBDQ19GT1JfVEFSR0VUIGlzIHJlY29yZGVkIGFzIHRoZSBkZWZhdWx0IGNvbXBpbGVyIGZvciB0aGUgZ28gdG9vbC4gV2hlbiBidWlsZGluZyBmb3IgdGhlIGhvc3QsIGhvd2V2ZXIsCi0gCSMgdXNlIHRoZSBob3N0IGNvbXBpbGVyLCBDQywgZnJvbSBgY21kL2Rpc3QvZGlzdCBlbnZgIGluc3RlYWQuCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA5LWNtZC1nby1idWlsZG1vZGUtcGllLWZvcmNlcy1leHRlcm5hbC1saW5raW5nLW1vZGUtb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwOS1jbWQtZ28tYnVpbGRtb2RlLXBpZS1mb3JjZXMtZXh0ZXJuYWwtbGlua2luZy1tb2RlLW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYTVmY2ZkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA5LWNtZC1nby1idWlsZG1vZGUtcGllLWZvcmNlcy1leHRlcm5hbC1saW5raW5nLW1vZGUtb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1Gcm9tIGFhZTQ0NTI3YzgwNjVkNTRmNmFjYWY4N2M4MmNiYTFhYzk2ZmFlNTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBJYW4gTGFuY2UgVGF5bG9yIDxpYW50QGdvbGFuZy5vcmc+Ci1EYXRlOiBGcmksIDE4IEF1ZyAyMDE3IDE3OjQ2OjAzIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNtZC9nbzogLWJ1aWxkbW9kZT1waWUgZm9yY2VzIGV4dGVybmFsIGxpbmtpbmcgbW9kZSBvbiBhbGwKLSBzeXN0ZW1zCi0KLVRoZSBnbyB0b29sIGFzc3VtZWQgdGhhdCAtYnVpbGRtb2RlPXBpZSBpbXBsaWVkIGludGVybmFsIGxpbmtpbmcgb24KLWxpbnV4LWFtZDY0LiBIb3dldmVyLCB0aGF0IHdhcyBjaGFuZ2VkIGJ5IENMIDM2NDE3IGZvciBpc3N1ZSAjMTg5NjguCi0KLUZpeGVzICMyMTQ1MgotCi1DaGFuZ2UtSWQ6IEk4ZWQxM2FlYTUyOTU5Y2M1YzUzMjIzZjRjNDFiYTM1MzI5NDQ1NTQ1Ci1SZXZpZXdlZC1vbjogaHR0cHM6Ly9nby1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS81NzIzMQotUnVuLVRyeUJvdDogSWFuIExhbmNlIFRheWxvciA8aWFudEBnb2xhbmcub3JnPgotVHJ5Qm90LVJlc3VsdDogR29ib3QgR29ib3QgPGdvYm90QGdvbGFuZy5vcmc+Ci1SZXZpZXdlZC1ieTogQXZlbGlubyA8dEBhdmVsaW5vLnh4eD4KLVJldmlld2VkLWJ5OiBSb2IgUGlrZSA8ckBnb2xhbmcub3JnPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi0gc3JjL2NtZC9nby9pbnRlcm5hbC9sb2FkL3BrZy5nbyB8IDcgKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY21kL2dvL2ludGVybmFsL2xvYWQvcGtnLmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC9sb2FkL3BrZy5nbwotaW5kZXggMjY2MGQzZi4uZDQwNzczYiAxMDA2NDQKLS0tLSBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvbG9hZC9wa2cuZ28KLSsrKyBiL3NyYy9jbWQvZ28vaW50ZXJuYWwvbG9hZC9wa2cuZ28KLUBAIC05NTQsMTEgKzk1NCwxMiBAQCBmdW5jIChwICpQYWNrYWdlKSBsb2FkKHN0ayAqSW1wb3J0U3RhY2ssIGJwICpidWlsZC5QYWNrYWdlLCBlcnIgZXJyb3IpICpQYWNrYWdlCi0gCi0gCWlmIGNmZy5CdWlsZENvbnRleHQuQ2dvRW5hYmxlZCAmJiBwLk5hbWUgPT0gIm1haW4iICYmICFwLkdvcm9vdCB7Ci0gCQkvLyBDdXJyZW50bHkgYnVpbGQgbW9kZXMgYy1zaGFyZWQsIHBpZSAob24gc3lzdGVtcyB0aGF0IGRvIG5vdAotLQkJLy8gc3VwcG9ydCBQSUUgd2l0aCBpbnRlcm5hbCBsaW5raW5nIG1vZGUpLCBwbHVnaW4sIGFuZAotLQkJLy8gLWxpbmtzaGFyZWQgZm9yY2UgZXh0ZXJuYWwgbGlua2luZyBtb2RlLCBhcyBvZiBjb3Vyc2UgZG9lcwotKwkJLy8gc3VwcG9ydCBQSUUgd2l0aCBpbnRlcm5hbCBsaW5raW5nIG1vZGUgKGN1cnJlbnRseSBhbGwKLSsJCS8vIHN5c3RlbXM6IGlzc3VlICMxODk2OCkpLCBwbHVnaW4sIGFuZCAtbGlua3NoYXJlZCBmb3JjZQotKwkJLy8gZXh0ZXJuYWwgbGlua2luZyBtb2RlLCBhcyBvZiBjb3Vyc2UgZG9lcwotIAkJLy8gLWxkZmxhZ3M9LWxpbmttb2RlPWV4dGVybmFsLiBFeHRlcm5hbCBsaW5raW5nIG1vZGUgZm9yY2VzCi0gCQkvLyBhbiBpbXBvcnQgb2YgcnVudGltZS9jZ28uCi0tCQlwaWVDZ28gOj0gY2ZnLkJ1aWxkQnVpbGRtb2RlID09ICJwaWUiICYmIChjZmcuQnVpbGRDb250ZXh0LkdPT1MgIT0gImxpbnV4IiB8fCBjZmcuQnVpbGRDb250ZXh0LkdPQVJDSCAhPSAiYW1kNjQiKQotKwkJcGllQ2dvIDo9IGNmZy5CdWlsZEJ1aWxkbW9kZSA9PSAicGllIgotIAkJbGlua21vZGVFeHRlcm5hbCA6PSBmYWxzZQotIAkJZm9yIGksIGEgOj0gcmFuZ2UgY2ZnLkJ1aWxkTGRmbGFncyB7Ci0gCQkJaWYgYSA9PSAiLWxpbmttb2RlPWV4dGVybmFsIiB7Ci0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAxMC1tYWtlLmJhc2gtb3ZlcnJpZGUtQ0Mtd2hlbi1idWlsZGluZy1kaXN0LWFuZC1nb19ib290LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMTAtbWFrZS5iYXNoLW92ZXJyaWRlLUNDLXdoZW4tYnVpbGRpbmctZGlzdC1hbmQtZ29fYm9vdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODNmZDc4Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAxMC1tYWtlLmJhc2gtb3ZlcnJpZGUtQ0Mtd2hlbi1idWlsZGluZy1kaXN0LWFuZC1nb19ib290LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbSAyMWQ4M2RkOTQ5OWU1YmUzMGVlYTI4ZGQ3MDM0ZDFlYTJhMDFjODM4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KLURhdGU6IFR1ZSwgMTQgTm92IDIwMTcgMDc6Mzg6NDIgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxMC8xMF0gbWFrZS5iYXNoOiBvdmVycmlkZSBDQyB3aGVuIGJ1aWxkaW5nIGRpc3QgYW5kCi0gZ29fYm9vdHN0cmFwCi0KLUZvciBjcm9zcy1jYW5hZGlhbiBidWlsZHMsIGRpc3QgYW5kIGdvX2Jvb3RzdHJhcAotcnVuIG9uIHRoZSBidWlsZCBob3N0LCBzbyBDQyBuZWVkcyB0byBwb2ludCB0byB0aGUKLWJ1aWxkIGhvc3QncyBDIGNvbXBpbGVyLiAgQWRkIGEgQlVJTERfQ0MgZW52aXJvbm1lbnQKLWZvciB0aGlzLCBmYWxsaW5nIGJhY2sgdG8gJENDIGlmIG5vdCBwcmVzZW50LgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KLS0tLQotIHNyYy9tYWtlLmJhc2ggfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL21ha2UuYmFzaCBiL3NyYy9tYWtlLmJhc2gKLWluZGV4IDBiZGFkYzYuLmYxOTkzNDkgMTAwNzU1Ci0tLS0gYS9zcmMvbWFrZS5iYXNoCi0rKysgYi9zcmMvbWFrZS5iYXNoCi1AQCAtMTMxLDcgKzEzMSw3IEBAIGlmIFsgIiRHT1JPT1RfQk9PVFNUUkFQIiA9ICIkR09ST09UIiBdOyB0aGVuCi0gCWV4aXQgMQotIGZpCi0gcm0gLWYgY21kL2Rpc3QvZGlzdAotLUdPUk9PVD0iJEdPUk9PVF9CT09UU1RSQVAiIEdPT1M9IiIgR09BUkNIPSIiICIkR09ST09UX0JPT1RTVFJBUC9iaW4vZ28iIGJ1aWxkIC1vIGNtZC9kaXN0L2Rpc3QgLi9jbWQvZGlzdAotK0NDPSR7QlVJTERfQ0M6LSR7Q0N9fSBHT1JPT1Q9IiRHT1JPT1RfQk9PVFNUUkFQIiBHT09TPSIiIEdPQVJDSD0iIiAiJEdPUk9PVF9CT09UU1RSQVAvYmluL2dvIiBidWlsZCAtbyBjbWQvZGlzdC9kaXN0IC4vY21kL2Rpc3QKLSAKLSAjIC1lIGRvZXNuJ3QgcHJvcGFnYXRlIG91dCBvZiBldmFsLCBzbyBjaGVjayBzdWNjZXNzIGJ5IGhhbmQuCi0gZXZhbCAkKC4vY21kL2Rpc3QvZGlzdCBlbnYgLXAgfHwgZWNobyBGQUlMPXRydWUpCi1AQCAtMTY3LDcgKzE2Nyw3IEBAIGVsaWYgWyAiJDEiID0gIi0taG9zdC1vbmx5IiBdOyB0aGVuCi0gZmkKLSAKLSBpZiBbICIkZG9faG9zdF9idWlsZCIgPSAieWVzIiBdOyB0aGVuCi0tCS4vY21kL2Rpc3QvZGlzdCBib290c3RyYXAgJGJ1aWxkYWxsICRHT19ESVNURkxBR1MgLXYgIyBidWlsZHMgZ29fYm9vdHN0cmFwCi0rCUNDPSR7QlVJTERfQ0M6LSR7Q0N9fSAuL2NtZC9kaXN0L2Rpc3QgYm9vdHN0cmFwICRidWlsZGFsbCAkR09fRElTVEZMQUdTIC12ICMgYnVpbGRzIGdvX2Jvb3RzdHJhcAotIAkjIERlbGF5IG1vdmUgb2YgZGlzdCB0b29sIHRvIG5vdywgYmVjYXVzZSBib290c3RyYXAgbWF5IGNsZWFyIHRvb2wgZGlyZWN0b3J5LgotIAltdiBjbWQvZGlzdC9kaXN0ICIkR09UT09MRElSIi9kaXN0Ci0gCWVjaG8KLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMTEtdXNlLUdPQlVJTERNT0RFLXRvLXNldC1idWlsZG1vZGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAxMS11c2UtR09CVUlMRE1PREUtdG8tc2V0LWJ1aWxkbW9kZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGE5M2RjNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAxMS11c2UtR09CVUlMRE1PREUtdG8tc2V0LWJ1aWxkbW9kZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLUZyb20gYjkyOGZhZmFiMWQ5NDI1YWFlOTM0MTgwNmJkMmY2MTc4YmExZGExZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IEZyaSwgMjYgT2N0IDIwMTggMTY6MzI6NTAgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gdXNlIEdPQlVJTERNT0RFIHRvIHNldCBidWlsZG1vZGUKLQotV2hpbGUgYnVpbGRpbmcgZ28gaXRzZWxmLCB0aGUgZ28gYnVpbGQgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQKLXRvIHNldCBgLWJ1aWxkbW9kZT1waWUnIGZyb20gZW52aXJvbm1lbnQuCi0KLUFkZCBHT0JVSUxETU9ERSB0byBzdXBwb3J0IGl0IHdoaWNoIG1ha2UgUElFIGV4ZWN1dGFibGVzIHRoZSBkZWZhdWx0Ci1idWlsZCBtb2RlLCBhcyBQSUUgZXhlY3V0YWJsZXMgYXJlIHJlcXVpcmVkIGFzIG9mIFlvY3RvCi0KLVJlZmVyczogaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9mb3J1bS8jIXRvcGljL2dvbGFuZy1kZXYvZ1JDZTVVUktld0kKLVVwc3RyZWFtLVN0YXR1czogRGVuaWVkIFt1cHN0cmVhbSBjaG9vc2UgYW50b2hlciBzb2x1dGlvbjogYDE3YTI1NmIKLWNtZC9nbzogLWJ1aWxkbW9kZT1waWUgZm9yIGFuZHJvaWQvYXJtJ10KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIHwgNiArKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28gYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KLWluZGV4IGIyNzZkZTUuLjE2ODNlN2UgMTAwNjQ0Ci0tLS0gYS9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KLSsrKyBiL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbwotQEAgLTIxMSw3ICsyMTEsMTEgQEAgZnVuYyBBZGRCdWlsZEZsYWdzKGNtZCAqYmFzZS5Db21tYW5kKSB7Ci0gCi0gCWNtZC5GbGFnLlZhcigoKmJhc2UuU3RyaW5nc0ZsYWcpKCZidWlsZEFzbWZsYWdzKSwgImFzbWZsYWdzIiwgIiIpCi0gCWNtZC5GbGFnLlZhcihidWlsZENvbXBpbGVye30sICJjb21waWxlciIsICIiKQotLQljbWQuRmxhZy5TdHJpbmdWYXIoJmNmZy5CdWlsZEJ1aWxkbW9kZSwgImJ1aWxkbW9kZSIsICJkZWZhdWx0IiwgIiIpCi0rCWlmIGJtIDo9IG9zLkdldGVudigiR09CVUlMRE1PREUiKTsgYm0gIT0gIiIgewotKwkJY21kLkZsYWcuU3RyaW5nVmFyKCZjZmcuQnVpbGRCdWlsZG1vZGUsICJidWlsZG1vZGUiLCBibSwgIiIpCi0rCX0gZWxzZSB7Ci0rCQljbWQuRmxhZy5TdHJpbmdWYXIoJmNmZy5CdWlsZEJ1aWxkbW9kZSwgImJ1aWxkbW9kZSIsICJkZWZhdWx0IiwgIiIpCi0rCX0KLSAJY21kLkZsYWcuVmFyKCgqYmFzZS5TdHJpbmdzRmxhZykoJmJ1aWxkR2NmbGFncyksICJnY2ZsYWdzIiwgIiIpCi0gCWNtZC5GbGFnLlZhcigoKmJhc2UuU3RyaW5nc0ZsYWcpKCZidWlsZEdjY2dvZmxhZ3MpLCAiZ2NjZ29mbGFncyIsICIiKQotIAljbWQuRmxhZy5TdHJpbmdWYXIoJmNmZy5CdWlsZENvbnRleHQuSW5zdGFsbFN1ZmZpeCwgImluc3RhbGxzdWZmaXgiLCAiIiwgIiIpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS9zZXQtZXh0ZXJuYWwtbGlua2VyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45L3NldC1leHRlcm5hbC1saW5rZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2YmQ3ZmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45L3NldC1leHRlcm5hbC1saW5rZXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTEgKzAsMCBAQAotQ2hhbmdlIHRoZSBkeW5hbWljIGxpbmtlciBoYXJkY29kaW5nIHRvIHVzZSBtdXNsIHdoZW4gbm90IHVzaW5nIGdsaWJjCi10aGlzIHNob3VsZCBiZSBhcHBsaWVkIGNvbmRpdGlvbmFsIHRvIG11c2wgYmVpbmcgdGhlIHN5c3RlbSBDIGxpYnJhcnkKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtSZWFsIEZpeCBzaG91bGQgYmUgcG9ydGFibGUgYWNyb3NzIGxpYmNzXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1JbmRleDogZ28vc3JjL2NtZC9saW5rL2ludGVybmFsL2FtZDY0L29iai5nbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdvLm9yaWcvc3JjL2NtZC9saW5rL2ludGVybmFsL2FtZDY0L29iai5nbwotKysrIGdvL3NyYy9jbWQvbGluay9pbnRlcm5hbC9hbWQ2NC9vYmouZ28KLUBAIC02Nyw3ICs2Nyw3IEBAIGZ1bmMgSW5pdCgpIHsKLSAJbGQuVGhlYXJjaC5BcHBlbmQ2NCA9IGxkLkFwcGVuZDY0bAotIAlsZC5UaGVhcmNoLlRMU0lFdG9MRSA9IHRsc0lFdG9MRQotIAotLQlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYjY0L2xkLWxpbnV4LXg4Ni02NC5zby4yIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLXg4Nl82NC5zby4xIgotIAlsZC5UaGVhcmNoLkZyZWVic2RkeW5sZCA9ICIvbGliZXhlYy9sZC1lbGYuc28uMSIKLSAJbGQuVGhlYXJjaC5PcGVuYnNkZHlubGQgPSAiL3Vzci9saWJleGVjL2xkLnNvIgotIAlsZC5UaGVhcmNoLk5ldGJzZGR5bmxkID0gIi9saWJleGVjL2xkLmVsZl9zbyIKLUluZGV4OiBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtL29iai5nbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdvLm9yaWcvc3JjL2NtZC9saW5rL2ludGVybmFsL2FybS9vYmouZ28KLSsrKyBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtL29iai5nbwotQEAgLTYzLDcgKzYzLDcgQEAgZnVuYyBJbml0KCkgewotIAlsZC5UaGVhcmNoLkFwcGVuZDMyID0gbGQuQXBwZW5kMzJsCi0gCWxkLlRoZWFyY2guQXBwZW5kNjQgPSBsZC5BcHBlbmQ2NGwKLSAKLS0JbGQuVGhlYXJjaC5MaW51eGR5bmxkID0gIi9saWIvbGQtbGludXguc28uMyIgLy8gMiBmb3IgT0FCSSwgMyBmb3IgRUFCSQotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLWFybWhmLnNvLjEiCi0gCWxkLlRoZWFyY2guRnJlZWJzZGR5bmxkID0gIi91c3IvbGliZXhlYy9sZC1lbGYuc28uMSIKLSAJbGQuVGhlYXJjaC5PcGVuYnNkZHlubGQgPSAiL3Vzci9saWJleGVjL2xkLnNvIgotIAlsZC5UaGVhcmNoLk5ldGJzZGR5bmxkID0gIi9saWJleGVjL2xkLmVsZl9zbyIKLUluZGV4OiBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtNjQvb2JqLmdvCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ28ub3JpZy9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtNjQvb2JqLmdvCi0rKysgZ28vc3JjL2NtZC9saW5rL2ludGVybmFsL2FybTY0L29iai5nbwotQEAgLTYyLDcgKzYyLDcgQEAgZnVuYyBJbml0KCkgewotIAlsZC5UaGVhcmNoLkFwcGVuZDMyID0gbGQuQXBwZW5kMzJsCi0gCWxkLlRoZWFyY2guQXBwZW5kNjQgPSBsZC5BcHBlbmQ2NGwKLSAKLS0JbGQuVGhlYXJjaC5MaW51eGR5bmxkID0gIi9saWIvbGQtbGludXgtYWFyY2g2NC5zby4xIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLWFhcmNoNjQuc28uMSIKLSAKLSAJbGQuVGhlYXJjaC5GcmVlYnNkZHlubGQgPSAiWFhYIgotIAlsZC5UaGVhcmNoLk9wZW5ic2RkeW5sZCA9ICJYWFgiCi1JbmRleDogZ28vc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHMvb2JqLmdvCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ28ub3JpZy9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwcy9vYmouZ28KLSsrKyBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwcy9vYmouZ28KLUBAIC03Nyw3ICs3Nyw3IEBAIGZ1bmMgSW5pdCgpIHsKLSAJCWxkLlRoZWFyY2guQXBwZW5kNjQgPSBsZC5BcHBlbmQ2NGIKLSAJfQotIAotLQlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC5zby4xIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLW1pcHNsZS5zby4xIgotIAotIAlsZC5UaGVhcmNoLkZyZWVic2RkeW5sZCA9ICJYWFgiCi0gCWxkLlRoZWFyY2guT3BlbmJzZGR5bmxkID0gIlhYWCIKLUluZGV4OiBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwczY0L29iai5nbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdvLm9yaWcvc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHM2NC9vYmouZ28KLSsrKyBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwczY0L29iai5nbwotQEAgLTc1LDcgKzc1LDcgQEAgZnVuYyBJbml0KCkgewotIAkJbGQuVGhlYXJjaC5BcHBlbmQ2NCA9IGxkLkFwcGVuZDY0YgotIAl9Ci0gCi0tCWxkLlRoZWFyY2guTGludXhkeW5sZCA9ICIvbGliNjQvbGQ2NC5zby4xIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYjY0L2xkLW11c2wtbWlwczY0bGUuc28uMSIKLSAKLSAJbGQuVGhlYXJjaC5GcmVlYnNkZHlubGQgPSAiWFhYIgotIAlsZC5UaGVhcmNoLk9wZW5ic2RkeW5sZCA9ICJYWFgiCi1JbmRleDogZ28vc3JjL2NtZC9saW5rL2ludGVybmFsL3BwYzY0L29iai5nbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdvLm9yaWcvc3JjL2NtZC9saW5rL2ludGVybmFsL3BwYzY0L29iai5nbwotKysrIGdvL3NyYy9jbWQvbGluay9pbnRlcm5hbC9wcGM2NC9vYmouZ28KLUBAIC03Nyw3ICs3Nyw3IEBAIGZ1bmMgSW5pdCgpIHsKLSAJfQotIAotIAkvLyBUT0RPKGF1c3Rpbik6IEFCSSB2MSB1c2VzIC91c3IvbGliL2xkLnNvLjEKLS0JbGQuVGhlYXJjaC5MaW51eGR5bmxkID0gIi9saWI2NC9sZDY0LnNvLjEiCi0rCWxkLlRoZWFyY2guTGludXhkeW5sZCA9ICIvbGliL2xkLW11c2wtcG93ZXJwYzY0bGUuc28uMSIKLSAKLSAJbGQuVGhlYXJjaC5GcmVlYnNkZHlubGQgPSAiWFhYIgotIAlsZC5UaGVhcmNoLk9wZW5ic2RkeW5sZCA9ICJYWFgiCi1JbmRleDogZ28vc3JjL2NtZC9saW5rL2ludGVybmFsL3MzOTB4L29iai5nbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdvLm9yaWcvc3JjL2NtZC9saW5rL2ludGVybmFsL3MzOTB4L29iai5nbwotKysrIGdvL3NyYy9jbWQvbGluay9pbnRlcm5hbC9zMzkweC9vYmouZ28KLUBAIC02Miw3ICs2Miw3IEBAIGZ1bmMgSW5pdCgpIHsKLSAJbGQuVGhlYXJjaC5BcHBlbmQzMiA9IGxkLkFwcGVuZDMyYgotIAlsZC5UaGVhcmNoLkFwcGVuZDY0ID0gbGQuQXBwZW5kNjRiCi0gCi0tCWxkLlRoZWFyY2guTGludXhkeW5sZCA9ICIvbGliNjQvbGQ2NC5zby4xIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLXMzOTB4LnNvLjEiCi0gCi0gCS8vIG5vdCByZWxldmFudCBmb3IgczM5MHgKLSAJbGQuVGhlYXJjaC5GcmVlYnNkZHlubGQgPSAiWFhYIgotSW5kZXg6IGdvL3NyYy9jbWQvbGluay9pbnRlcm5hbC94ODYvb2JqLmdvCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ28ub3JpZy9zcmMvY21kL2xpbmsvaW50ZXJuYWwveDg2L29iai5nbwotKysrIGdvL3NyYy9jbWQvbGluay9pbnRlcm5hbC94ODYvb2JqLmdvCi1AQCAtNjMsNyArNjMsNyBAQCBmdW5jIEluaXQoKSB7Ci0gCWxkLlRoZWFyY2guQXBwZW5kMzIgPSBsZC5BcHBlbmQzMmwKLSAJbGQuVGhlYXJjaC5BcHBlbmQ2NCA9IGxkLkFwcGVuZDY0bAotIAotLQlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1saW51eC5zby4yIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLWkzODYuc28uMSIKLSAJbGQuVGhlYXJjaC5GcmVlYnNkZHlubGQgPSAiL3Vzci9saWJleGVjL2xkLWVsZi5zby4xIgotIAlsZC5UaGVhcmNoLk9wZW5ic2RkeW5sZCA9ICIvdXNyL2xpYmV4ZWMvbGQuc28iCi0gCWxkLlRoZWFyY2guTmV0YnNkZHlubGQgPSAiL3Vzci9saWJleGVjL2xkLmVsZl9zbyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNvbW1vbi5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jb21tb24uaW5jCmluZGV4IDExZDU1YzQuLjkzYTNkM2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNvbW1vbi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY29tbW9uLmluYwpAQCAtMjUsNyArMjUsNiBAQAogZXhwb3J0IEdPUk9PVF9PVkVSUklERSA9ICIxIgogZXhwb3J0IEdPVE1QRElSID89ICIke1dPUktESVJ9L2dvLXRtcCIKIEdPVE1QRElSW3ZhcmRlcHZhbHVlXSA9ICIiCi1leHBvcnQgR09DQUNIRSA9ICJvZmYiCiBleHBvcnQgQ0dPX0VOQUJMRUQgPSAiMSIKIAogZG9fY29tcGlsZV9wcmVwZW5kKCkgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3MtY2FuYWRpYW4uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3MtY2FuYWRpYW4uaW5jCmluZGV4IGVhNjhiODguLjk0NWQwZjkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLWNhbmFkaWFuLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zcy1jYW5hZGlhbi5pbmMKQEAgLTEsMTAgKzEsMTggQEAKIGluaGVyaXQgY3Jvc3MtY2FuYWRpYW4KIAogREVQRU5EUyA9ICJnby1uYXRpdmUgdmlydHVhbC8ke0hPU1RfUFJFRklYfWdvLWNyb3Nzc2RrIHZpcnR1YWwvbmF0aXZlc2RrLSR7SE9TVF9QUkVGSVh9Z28tcnVudGltZSBcCi0gICAgICAgICAgIHZpcnR1YWwvJHtIT1NUX1BSRUZJWH1nY2MtY3Jvc3NzZGsgdmlydHVhbC9uYXRpdmVzZGstJHtIT1NUX1BSRUZJWH1saWJjLWZvci1nY2MgXAorICAgICAgICAgICB2aXJ0dWFsLyR7SE9TVF9QUkVGSVh9Z2NjLWNyb3Nzc2RrIHZpcnR1YWwvbmF0aXZlc2RrLWxpYmMgXAogICAgICAgICAgICB2aXJ0dWFsL25hdGl2ZXNkay0ke0hPU1RfUFJFRklYfWNvbXBpbGVybGlicyIKIFBOID0gImdvLWNyb3NzLWNhbmFkaWFuLSR7VFJBTlNMQVRFRF9UQVJHRVRfQVJDSH0iCiAKKyMgaXQgdXNlcyBnY2Mgb24gYnVpbGQgbWFjaGluZSBkdXJpbmcgZ28tY3Jvc3MtY2FuYWRpYW4gYm9vdHN0cmFwLCBidXQKKyMgdGhlIGdjYyB2ZXJzaW9uIG1heSBiZSBvbGQgYW5kIG5vdCBzdXBwb3J0IG9wdGlvbiAnLWZtYWNyby1wcmVmaXgtbWFwJworIyB3aGljaCBpcyBvbmUgb2YgZGVmYXVsdCB2YWx1ZXMgb2YgREVCVUdfUFJFRklYX01BUAorREVCVUdfUFJFRklYX01BUCA9ICItZmRlYnVnLXByZWZpeC1tYXA9JHtXT1JLRElSfT0vdXNyL3NyYy9kZWJ1Zy8ke1BOfS8ke0VYVEVORFBFfSR7UFZ9LSR7UFJ9IFwKKyAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPSR7U1RBR0lOR19ESVJfSE9TVH09IFwKKyAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPSR7U1RBR0lOR19ESVJfTkFUSVZFfT0gXAorICAgICAgICAgICAgICAgICAgICAiCisKIGV4cG9ydCBHT0hPU1RPUyA9ICIke0JVSUxEX0dPT1N9IgogZXhwb3J0IEdPSE9TVEFSQ0ggPSAiJHtCVUlMRF9HT0FSQ0h9IgogZXhwb3J0IEdPUk9PVF9CT09UU1RSQVAgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dvIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3MtY2FuYWRpYW5fMS4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLWNhbmFkaWFuXzEuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FjOTQ0OQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLWNhbmFkaWFuXzEuMTIuYmIKQEAgLTAsMCArMSwyIEBACityZXF1aXJlIGdvLWNyb3NzLWNhbmFkaWFuLmluYworcmVxdWlyZSBnby0ke1BWfS5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLWNhbmFkaWFuXzEuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLWNhbmFkaWFuXzEuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzY3YTk2Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zcy1jYW5hZGlhbl8xLjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1yZXF1aXJlIGdvLWNyb3NzLWNhbmFkaWFuLmluYwotcmVxdWlyZSBnby0ke1BWfS5pbmMKLQotZXhwb3J0IEdPSE9TVE9TX0NST1NTID0gIiR7SE9TVF9HT09TfSIKLWV4cG9ydCBHT0hPU1RBUkNIX0NST1NTID0gIiR7SE9TVF9HT0FSQ0h9IgotZXhwb3J0IENDX0ZPUl9UQVJHRVQgPSAiJHtIT1NUX1BSRUZJWH1nY2MgLS1zeXNyb290PSR7U1RBR0lOR19ESVJfSE9TVH0ke1NES1BBVEhOQVRJVkV9ICR7U0VDVVJJVFlfTk9QSUVfQ0ZMQUdTfSIKLWV4cG9ydCBDWFhfRk9SX1RBUkdFVCA9ICIke0hPU1RfUFJFRklYfWcrKyAtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9IT1NUfSR7U0RLUEFUSE5BVElWRX0gJHtTRUNVUklUWV9OT1BJRV9DRkxBR1N9IgotCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0JZXhwb3J0IEdPQklOPSIke0J9L2JpbiIKLQlleHBvcnQgVE1QRElSPSIkR09UTVBESVIiCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zcy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zcy5pbmMKaW5kZXggNmQ5YWE1Yy4uMjljZTdmNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3MuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLmluYwpAQCAtMTQsNyArMTQsNiBAQAogZXhwb3J0IEdPTUlQUyA9ICIke1RBUkdFVF9HT01JUFN9IgogZXhwb3J0IEdPUk9PVF9CT09UU1RSQVAgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dvIgogZXhwb3J0IEdPUk9PVF9GSU5BTCA9ICIke2xpYmRpcn0vZ28iCi1leHBvcnQgR09DQUNIRSA9ICJvZmYiCiBDQyA9ICIke0BkLmdldFZhcignQlVJTERfQ0MnKS5zdHJpcCgpfSIKIAogZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzXzEuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc18xLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwYjVhMDMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc18xLjEyLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSBnby1jcm9zcy5pbmMKK3JlcXVpcmUgZ28tJHtQVn0uaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc18xLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc18xLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3MzljN2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3NfMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotcmVxdWlyZSBnby1jcm9zcy5pbmMKLXJlcXVpcmUgZ28tJHtQVn0uaW5jCi0KLWV4cG9ydCBDQ19GT1JfVEFSR0VUID0gIiR7VEFSR0VUX1BSRUZJWH1nY2MgJHtUQVJHRVRfQ0NfQVJDSH0gLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSIKLWV4cG9ydCBDWFhfRk9SX1RBUkdFVCA9ICIke1RBUkdFVF9QUkVGSVh9ZysrICR7VEFSR0VUX0NDX0FSQ0h9IC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0iCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLQlleHBvcnQgR09CSU49IiR7Qn0vYmluIgotCWV4cG9ydCBUTVBESVI9IiRHT1RNUERJUiIKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3Nzc2RrLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3Nzc2RrLmluYwppbmRleCA0MzkxYjMyLi45NGY2ZmI4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc3Nkay5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3NzZGsuaW5jCkBAIC0xLDcgKzEsNyBAQAogaW5oZXJpdCBjcm9zc3NkawogCiBERVBFTkRTID0gImdvLW5hdGl2ZSB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MtY3Jvc3NzZGsgdmlydHVhbC9uYXRpdmVzZGstJHtUQVJHRVRfUFJFRklYfWNvbXBpbGVybGlicyB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1iaW51dGlscy1jcm9zc3NkayIKLVBOID0gImdvLWNyb3Nzc2RrLSR7VEFSR0VUX0FSQ0h9IgorUE4gPSAiZ28tY3Jvc3NzZGstJHtTREtfU1lTfSIKIFBST1ZJREVTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdvLWNyb3Nzc2RrIgogCiBleHBvcnQgR09IT1NUT1MgPSAiJHtCVUlMRF9HT09TfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3Nzc2RrXzEuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc3Nka18xLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4NTdjOGEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc3Nka18xLjEyLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSBnby1jcm9zc3Nkay5pbmMKK3JlcXVpcmUgZ28tJHtQVn0uaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc3Nka18xLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc3Nka18xLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNhYzYyOWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3NzZGtfMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotcmVxdWlyZSBnby1jcm9zc3Nkay5pbmMKLXJlcXVpcmUgZ28tJHtQVn0uaW5jCi0KLWV4cG9ydCBDQ19GT1JfVEFSR0VUID0gIiR7VEFSR0VUX1BSRUZJWH1nY2MgJHtUQVJHRVRfQ0NfQVJDSH0gLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSIKLWV4cG9ydCBDWFhfRk9SX1RBUkdFVCA9ICIke1RBUkdFVF9QUkVGSVh9ZysrICR7VEFSR0VUX0NDX0FSQ0h9IC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0iCi1leHBvcnQgR09fSU5TVEFMTCA9ICJjbWQiCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLQlleHBvcnQgR09CSU49IiR7Qn0vYmluIgotCWV4cG9ydCBUTVBESVI9IiRHT1RNUERJUiIKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLW5hdGl2ZV8xLjEyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tbmF0aXZlXzEuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmJmM2MwZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLW5hdGl2ZV8xLjEyLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSAke1BOfS5pbmMKK3JlcXVpcmUgZ28tJHtQVn0uaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1uYXRpdmVfMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tbmF0aXZlXzEuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODYyMWUxZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1uYXRpdmVfMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1yZXF1aXJlICR7UE59LmluYwotcmVxdWlyZSBnby0ke1BWfS5pbmMKLQotR09NQUtFQVJHUyA9ICItLWhvc3Qtb25seSAtLW5vLWJhbm5lciIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLXJ1bnRpbWVfMS4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLXJ1bnRpbWVfMS4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2I2OGI0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tcnVudGltZV8xLjEyLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSBnby0ke1BWfS5pbmMKK3JlcXVpcmUgZ28tcnVudGltZS5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLXJ1bnRpbWVfMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tcnVudGltZV8xLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1Mjc5ZWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tcnVudGltZV8xLjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1yZXF1aXJlIGdvLSR7UFZ9LmluYwotcmVxdWlyZSBnby1ydW50aW1lLmluYwotCi1leHBvcnQgR09fVEFSR0VUX0lOU1RBTEwgPSAic3RkIgotZXhwb3J0IENDX0ZPUl9UQVJHRVQgPSAiJHtDQ30iCi1leHBvcnQgQ1hYX0ZPUl9UQVJHRVQgPSAiJHtDWFh9IgotCi1kb19jb21waWxlKCkgewotCWV4cG9ydCBHT0JJTj0iJHtCfS9iaW4iCi0JZXhwb3J0IFRNUERJUj0iJEdPVE1QRElSIgotCWV4cG9ydCBDQz0kQlVJTERfQ0MKLQotCWNkIHNyYwotCUNHT19DRkxBR1M9IiR7QlVJTERfQ0ZMQUdTfSIgQ0dPX0xERkxBR1M9IiR7QlVJTERfTERGTEFHU30iIC4vbWFrZS5iYXNoIC0taG9zdC1vbmx5Ci0JY3AgJHtCfS9wa2cvdG9vbC8ke0JVSUxEX0dPVFVQTEV9L2dvX2Jvb3RzdHJhcCAke0J9Ci0Jcm0gLXJmICR7Qn0vcGtnLyR7VEFSR0VUX0dPVFVQTEV9Ci0JLi9tYWtlLmJhc2ggLS10YXJnZXQtb25seQotCWlmIFsgLW4gIiR7R09fRFlOTElOS30iIF07IHRoZW4KLQkJY3AgJHtCfS9nb19ib290c3RyYXAgJHtCfS9wa2cvdG9vbC8ke0JVSUxEX0dPVFVQTEV9Ci0JCUdPX0ZMQUdTPSItYnVpbGRtb2RlPXNoYXJlZCIgR09fTERGTEFHUz0iLWV4dGxkZmxhZ3MgXCIke0xERkxBR1N9XCIiIC4vbWFrZS5iYXNoIC0tdGFyZ2V0LW9ubHkKLQlmaQotCWNkICR7Qn0KLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLXRhcmdldC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby10YXJnZXQuaW5jCmluZGV4IGMyMjlhYjIuLjM3OWY4N2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLXRhcmdldC5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tdGFyZ2V0LmluYwpAQCAtNDAsNyArNDAsNyBAQAogCWZvciBmIGluICR7Qn0vJHtHT19CVUlMRF9CSU5ESVJ9Lyo7IGRvCiAJCW5hbWU9YGJhc2VuYW1lICRmYAogCQlpbnN0YWxsIC1tIDA3NTUgJGYgJHtEfSR7bGliZGlyfS9nby9iaW4vCi0JCWxuIC1zZiAuLi8ke0JBU0VMSUJ9L2dvL2Jpbi8kbmFtZSAke0R9JHtiaW5kaXJ9LworCQlsbiAtc2YgLi4vJHtiYXNlbGlifS9nby9iaW4vJG5hbWUgJHtEfSR7YmluZGlyfS8KIAlkb25lCiB9CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvXzEuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nb18xLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyY2RiMDQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nb18xLjEyLmJiCkBAIC0wLDAgKzEsMTQgQEAKK3JlcXVpcmUgZ28tJHtQVn0uaW5jCityZXF1aXJlIGdvLXRhcmdldC5pbmMKKworZXhwb3J0IEdPQlVJTERNT0RFPSIiCisKKyMgQWRkIHBpZSB0byBHT0JVSUxETU9ERSB0byBzYXRpc2Z5ICJ0ZXh0cmVsIiBRQSBjaGVja2luZywgYnV0IG1pcHMKKyMgZG9lc24ndCBzdXBwb3J0IC1idWlsZG1vZGU9cGllLCBzbyBza2lwIHRoZSBRQSBjaGVja2luZyBmb3IgbWlwcyBhbmQgaXRzCisjIHZhcmlhbnRzLgorcHl0aG9uKCkgeworICAgIGlmICdtaXBzJyBpbiBkLmdldFZhcignVEFSR0VUX0FSQ0gnKToKKyAgICAgICAgZC5hcHBlbmRWYXIoJ0lOU0FORV9TS0lQXyVzJyAlIGQuZ2V0VmFyKCdQTicpLCAiIHRleHRyZWwiKQorICAgIGVsc2U6CisgICAgICAgIGQuc2V0VmFyKCdHT0JVSUxETU9ERScsICdwaWUnKQorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ29fMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ29fMS45LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjNlYTBjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvXzEuOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLXJlcXVpcmUgZ28tJHtQVn0uaW5jCi1yZXF1aXJlIGdvLXRhcmdldC5pbmMKLQotZXhwb3J0IEdPX1RBUkdFVF9JTlNUQUxMID0gImNtZCIKLWV4cG9ydCBHT19GTEFHUyA9ICItYSIKLWV4cG9ydCBDQ19GT1JfVEFSR0VUID0gIiR7Q0N9IgotZXhwb3J0IENYWF9GT1JfVEFSR0VUID0gIiR7Q1hYfSIKLWV4cG9ydCBHT0JVSUxETU9ERT0iIgotCi1kb19jb21waWxlKCkgewotCWV4cG9ydCBHT0JJTj0iJHtCfS9iaW4iCi0JZXhwb3J0IFRNUERJUj0iJEdPVE1QRElSIgotCWV4cG9ydCBDQz0kQlVJTERfQ0MKLQotCWNkIHNyYwotCS4vbWFrZS5iYXNoCi0JY2QgJHtCfQotfQotCi0jIEFkZCBwaWUgdG8gR09CVUlMRE1PREUgdG8gc2F0aXNmeSAidGV4dHJlbCIgUUEgY2hlY2tpbmcsIGJ1dCBtaXBzCi0jIGRvZXNuJ3Qgc3VwcG9ydCAtYnVpbGRtb2RlPXBpZSwgc28gc2tpcCB0aGUgUUEgY2hlY2tpbmcgZm9yIG1pcHMgYW5kIGl0cwotIyB2YXJpYW50cy4KLXB5dGhvbigpIHsKLSAgICBpZiAnbWlwcycgaW4gZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJyk6Ci0gICAgICAgIGQuYXBwZW5kVmFyKCdJTlNBTkVfU0tJUF8lcycgJSBkLmdldFZhcignUE4nKSwgIiB0ZXh0cmVsIikKLSAgICBlbHNlOgotICAgICAgICBkLnNldFZhcignR09CVUlMRE1PREUnLCAncGllJykKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy10b29sY2hhaW4vaWNlY2MtZW52LnNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy1lbnYuc2gKaW5kZXggOTkwZDJmYi4uMGRjY2M0MSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy1lbnYuc2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy1lbnYuc2gKQEAgLTM4LDExICszOCwxMSBAQAogICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1mbm8tZGlhZ25vc3RpY3Mtc2hvdy1jYXJldCIKICAgICBmaQogICAgIGV4cG9ydCBJQ0VDQ19QQVRIIElDRUNDX0NBUkVUX1dPUktBUk9VTkQKLSAgICBleHBvcnQgSUNFQ0NfVkVSU0lPTj0iJE9FQ09SRV9OQVRJVkVfU1lTUk9PVC91c3Ivc2hhcmUvaWNlY3JlYW0vQFRPT0xDSEFJTl9FTlZAIgorICAgIGV4cG9ydCBJQ0VDQ19WRVJTSU9OPSIkKGVjaG8gIiRPRUNPUkVfTkFUSVZFX1NZU1JPT1QvdXNyL3NoYXJlLyR7VEFSR0VUX1BSRUZJWH1pY2VjcmVhbS9AVE9PTENIQUlOX0VOVkAiIHwgc2VkICJzLEBUQVJHRVRfUFJFRklYQCwkVEFSR0VUX1BSRUZJWCxnIikiCiAgICAgZXhwb3J0IElDRUNDPSIkKHdoaWNoICR7Q1JPU1NfQ09NUElMRX1nY2MpIgogICAgIGV4cG9ydCBJQ0VDWFg9IiQod2hpY2ggJHtDUk9TU19DT01QSUxFfWcrKykiCiAgICAgZXhwb3J0IElDRUFTPSIkKHdoaWNoICR7Q1JPU1NfQ09NUElMRX1hcykiCi0gICAgZXhwb3J0IFBBVEg9IiRPRUNPUkVfTkFUSVZFX1NZU1JPT1QvdXNyL3NoYXJlL2ljZWNyZWFtL2JpbjokUEFUSCIKKyAgICBleHBvcnQgUEFUSD0iJE9FQ09SRV9OQVRJVkVfU1lTUk9PVC91c3Ivc2hhcmUvJHtUQVJHRVRfUFJFRklYfWljZWNyZWFtL2JpbjokUEFUSCIKIGVsc2UKICAgICBlY2hvICJJY2VjYyBub3QgZm91bmQuIERpc2FibGluZyBkaXN0cmlidXRlZCBjb21waWxpbmciCiBmaQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy1zZXR1cC5zaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy10b29sY2hhaW4vaWNlY2Mtc2V0dXAuc2gKaW5kZXggMjUyNTBiNy4uZmJkOWYwMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy1zZXR1cC5zaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9pY2VjYy10b29sY2hhaW4vaWNlY2MtdG9vbGNoYWluL2ljZWNjLXNldHVwLnNoCkBAIC0zMiw3ICszMiw3IEBACiBpY2VjYy1jcmVhdGUtZW52ICRJQ0VDQyAkSUNFQ1hYICRJQ0VBUyAkSUNFQ0NfVkVSU0lPTiB8fCBleGl0ICQ/CiAKICMgQ3JlYXRlIHN5bWJvbGljIGxpbmtzCi1kPSIkT0VDT1JFX05BVElWRV9TWVNST09UL3Vzci9zaGFyZS9pY2VjcmVhbS9iaW4iCitkPSIkT0VDT1JFX05BVElWRV9TWVNST09UL3Vzci9zaGFyZS8ke1RBUkdFVF9QUkVGSVh9aWNlY3JlYW0vYmluIgogbWtkaXIgLXAgIiRkIgotbG4gLXMgIiRJQ0VDQ19QQVRIIiAiJGQvJHtDUk9TU19DT01QSUxFfWdjYyIKLWxuIC1zICIkSUNFQ0NfUEFUSCIgIiRkLyR7Q1JPU1NfQ09NUElMRX1nKysiCitsbiAtc2YgIiRJQ0VDQ19QQVRIIiAiJGQvJHtDUk9TU19DT01QSUxFfWdjYyIKK2xuIC1zZiAiJElDRUNDX1BBVEgiICIkZC8ke0NST1NTX0NPTVBJTEV9ZysrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL25hdGl2ZXNkay1pY2VjYy10b29sY2hhaW5fMC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL25hdGl2ZXNkay1pY2VjYy10b29sY2hhaW5fMC4xLmJiCmluZGV4IDlkMjc1MGUuLjMwNGFkN2YgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ljZWNjLXRvb2xjaGFpbi9uYXRpdmVzZGstaWNlY2MtdG9vbGNoYWluXzAuMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9pY2VjYy10b29sY2hhaW4vbmF0aXZlc2RrLWljZWNjLXRvb2xjaGFpbl8wLjEuYmIKQEAgLTEzLDcgKzEzLDcgQEAKIAogaW5oZXJpdCBuYXRpdmVzZGsKIAotRU5WX05BTUU9IiR7RElTVFJPfS0ke1RDTElCQ30tJHtTREtfQVJDSH0tJHtUVU5FX1BLR0FSQ0h9LSR7RElTVFJPX1ZFUlNJT059LnRhci5neiIKK0VOVl9OQU1FPSIke0RJU1RST30tJHtUQ0xJQkN9LSR7U0RLX0FSQ0h9LUBUQVJHRVRfUFJFRklYQCR7RElTVFJPX1ZFUlNJT059LnRhci5neiIKIAogZG9fY29tcGlsZSgpIHsKIH0KQEAgLTI0LDEyICsyNCwxMiBAQAogICAgIGluc3RhbGwgLWQgJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC8KICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9pY2VjYy1lbnYuc2ggJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC8KICAgICBzZWQgLWkgJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9pY2VjYy1lbnYuc2ggXAotICAgICAgICAtZSAicyxAVE9PTENIQUlOX0VOVkAsJHtFTlZfTkFNRX0sZyIKKyAgICAgICAgLWUgJ3MsQFRPT0xDSEFJTl9FTlZALCR7RU5WX05BTUV9LGcnCiAKICAgICBpbnN0YWxsIC1kICR7RH0ke1NES1BBVEhOQVRJVkV9L3Bvc3QtcmVsb2NhdGUtc2V0dXAuZC8KICAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pY2VjYy1zZXR1cC5zaCAke0R9JHtTREtQQVRITkFUSVZFfS9wb3N0LXJlbG9jYXRlLXNldHVwLmQvCiAgICAgc2VkIC1pICR7RH0ke1NES1BBVEhOQVRJVkV9L3Bvc3QtcmVsb2NhdGUtc2V0dXAuZC9pY2VjYy1zZXR1cC5zaCBcCi0gICAgICAgIC1lICJzLEBUT09MQ0hBSU5fRU5WQCwke0VOVl9OQU1FfSxnIgorICAgICAgICAtZSAncyxAVE9PTENIQUlOX0VOVkAsJHtFTlZfTkFNRX0sZycKIH0KIAogUEFDS0FHRVMgPSAiJHtQTn0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJjb21wcy9saWJjb21wcy8wMDAxLUFkZC1jcmMzMi5jLXRvLXNvdXJjZXMtbGlzdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmNvbXBzL2xpYmNvbXBzLzAwMDEtQWRkLWNyYzMyLmMtdG8tc291cmNlcy1saXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmOTAyNjkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJjb21wcy9saWJjb21wcy8wMDAxLUFkZC1jcmMzMi5jLXRvLXNvdXJjZXMtbGlzdC5wYXRjaApAQCAtMCwwICsxLDQ3IEBACitGcm9tIDgzNDA3YWE1MGUwNmQ5NjdkMGExMDk1YTE0MGJkN2IwZTVkNTFkMjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjEgTm92IDIwMTggMTM6MDk6MDUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIGNyYzMyLmMgdG8gc291cmNlcyBsaXN0CisKK090aGVyd2lzZSwgdGhlcmUgaXMgYSBtaXNzaW5nIHN5bWJvbCBydW50aW1lIGVycm9yIHVuZGVyIG11c2wgQyBsaWJyYXJ5LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgbGliY29tcHMvc3JjL3B5dGhvbi9zcmMvQ01ha2VMaXN0cy50eHQgfCA0ICsrLS0KKyBsaWJjb21wcy9zcmMvcHl0aG9uL3NyYy9jcmMzMi5jICAgICAgICB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmNvbXBzL3NyYy9weXRob24vc3JjL0NNYWtlTGlzdHMudHh0IGIvbGliY29tcHMvc3JjL3B5dGhvbi9zcmMvQ01ha2VMaXN0cy50eHQKK2luZGV4IDZlZDI1YmIuLmMxNWM4YjIgMTAwNjQ0CistLS0gYS9saWJjb21wcy9zcmMvcHl0aG9uL3NyYy9DTWFrZUxpc3RzLnR4dAorKysrIGIvbGliY29tcHMvc3JjL3B5dGhvbi9zcmMvQ01ha2VMaXN0cy50eHQKK0BAIC05LDEzICs5LDEzIEBAIHNldCAocHljb21wc19TUkNESVIgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorIHNldCAocHljb21wc19TUkMgcHljb21wcy5jIHB5Y29tcHNfc2VxdWVuY2UuYworICAgICAgcHljb21wc19lbnZzLmMgcHljb21wc19jYXRlZ29yaWVzLmMgcHljb21wc19ncm91cHMuYworICAgICAgcHljb21wc19naWRzLmMgcHljb21wc191dGlscy5jIHB5Y29tcHNfZGljdC5jIHB5Y29tcHNfbWRpY3QuYworLSAgICAgcHljb21wc19oYXNoLmMgcHljb21wc19leGMuYyBweWNvbXBzX2xidy5jKQorKyAgICAgcHljb21wc19oYXNoLmMgcHljb21wc19leGMuYyBweWNvbXBzX2xidy5jIGNyYzMyLmMpCisgCisgc2V0IChweWNvbXBzX0hFQURFUlMgcHljb21wc18yM21hY3Jvcy5oIHB5Y29tcHNfc2VxdWVuY2UuaAorICAgICAgcHljb21wc19lbnZzLmggcHljb21wc19jYXRlZ29yaWVzLmggcHljb21wc19ncm91cHMuaAorICAgICAgcHljb21wc19naWRzLmggcHljb21wc191dGlscy5oIHB5Y29tcHNfZGljdC5oIHB5Y29tcHNfbWRpY3QuaAorICAgICAgcHljb21wc19oYXNoLmggcHljb21wc19leGMuaCBweWNvbXBzX2xidy5oCistICAgICBweWNvbXBzX3R5cGVzLmgpCisrICAgICBweWNvbXBzX3R5cGVzLmggY3JjMzIuaCkKKyAKKyAjc2V0KFRFU1RfRklMRVMgLi4vX19pbml0X18ucHkgX190ZXN0LnB5IHRlc3RfbWVyZ2VfY29tcHMucHkgdGVzdF9saWJjb21wcy5weQorICMgICAgICAgICAgICAgICB1dGVzdC5weSkKK2RpZmYgLS1naXQgYS9saWJjb21wcy9zcmMvcHl0aG9uL3NyYy9jcmMzMi5jIGIvbGliY29tcHMvc3JjL3B5dGhvbi9zcmMvY3JjMzIuYworaW5kZXggZDhmNWUzNC4uZjI2NjA2NyAxMDA2NDQKKy0tLSBhL2xpYmNvbXBzL3NyYy9weXRob24vc3JjL2NyYzMyLmMKKysrKyBiL2xpYmNvbXBzL3NyYy9weXRob24vc3JjL2NyYzMyLmMKK0BAIC00MSw3ICs0MSw3IEBACisgICovCisgCisgI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorLSNpbmNsdWRlIDxzeXMvc3lzdG0uaD4KKysjaW5jbHVkZSA8c3RkaW50Lmg+CisgCisgc3RhdGljIHVpbnQzMl90IGNyYzMyX3RhYltdID0geworIAkweDAwMDAwMDAwLCAweDc3MDczMDk2LCAweGVlMGU2MTJjLCAweDk5MDk1MWJhLCAweDA3NmRjNDE5LCAweDcwNmFmNDhmLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliY29tcHMvbGliY29tcHNfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliY29tcHMvbGliY29tcHNfZ2l0LmJiCmluZGV4IGU2OWJmNjcuLmZmNjgyMDggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmNvbXBzL2xpYmNvbXBzX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJjb21wcy9saWJjb21wc19naXQuYmIKQEAgLTYsMTAgKzYsMTEgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LXNldC1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1weXRob24ucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMi1TZXQtbGlicmFyeS1pbnN0YWxsYXRpb24tcGF0aC1jb3JyZWN0bHkucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlLV9fY29tcHNfb2JqbXJ0cmVlX2FsbC1zdGF0aWMtaW5saW5lLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLWNyYzMyLmMtdG8tc291cmNlcy1saXN0LnBhdGNoIFwKICAgICAgICAgICAgIgogCi1QViA9ICIwLjEuOCtnaXQke1NSQ1BWfSIKLVNSQ1JFViA9ICIwMWE0NzU5ODk0Y2NjZmY2NGQyNTYxNjE0YTU4MjgxYWRmNWNlODU5IgorUFYgPSAiMC4xLjEwIgorU1JDUkVWID0gIjg2YTgyZmNkMTU1YzI3MDkyMzQwZDE1YTM0ZjVjNzVjNGRhODgyNDMiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmYvMDAwMS1BZGQtV0lUSF9URVNUUy1vcHRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtQWRkLVdJVEhfVEVTVFMtb3B0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjODEzMWIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtQWRkLVdJVEhfVEVTVFMtb3B0aW9uLnBhdGNoCkBAIC0wLDAgKzEsNDkgQEAKK0Zyb20gMGQwMTU1YzRkZDZjMGIzMzA1ZWEyYWIwZTEwYjBmODRkMDI0YTZlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVHVlLCA2IE5vdiAyMDE4IDEzOjU0OjQzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBXSVRIX1RFU1RTIG9wdGlvbgorCitUaGlzIG1ha2VzIGEgZGVwZW5kZW5jeSBvbiBjcHB1bml0IG9wdGlvbmFsLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCistLS0KKyBDTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgIHwgMyArKysKKyBweXRob24vaGF3a2V5L0NNYWtlTGlzdHMudHh0IHwgMiArKworIDIgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCBiNzNhMDNkNy4uYTllMDIwMGYgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0zNiw2ICszNiw3IEBAIE9QVElPTihXSVRIX01BTiAiRW5hYmxlcyBoYXdrZXkgbWFuIHBhZ2UgZ2VuZXJhdGlvbiIgT04pCisgT1BUSU9OKFdJVEhfSFRNTCAiRW5hYmxlcyBoYXdrZXkgSFRNTCBnZW5lcmF0aW9uIiBPTikKKyAKKyBPUFRJT04oV0lUSF9CSU5ESU5HUyAiRW5hYmxlcyBweXRob24vU1dJRyBiaW5kaW5ncyIgT04pCisrT1BUSU9OKFdJVEhfVEVTVFMgIkVuYWJsZXMgdW5pdCB0ZXN0cyIgT04pCisgCisgT1BUSU9OIChFTkFCTEVfU09MVl9VUlBNUkVPUkRFUiAiQnVpbGQgd2l0aCBzdXBwb3J0IGZvciBVUlBNLWxpa2Ugc29sdXRpb24gcmVvcmRlcmluZz8iIE9GRikKKyBvcHRpb24gKEVOQUJMRV9SSFNNX1NVUFBPUlQgIkJ1aWxkIHdpdGggUmVkIEhhdCBTdWJzY3JpcHRpb24gTWFuYWdlciBzdXBwb3J0PyIgT0ZGKQorQEAgLTEyMiw4ICsxMjMsMTAgQEAgSUYgKFdJVEhfQklORElOR1MpCisgIyBBRERfU1VCRElSRUNUT1JZIChiaW5kaW5ncy9wZXJsKQorIEFERF9TVUJESVJFQ1RPUlkgKGJpbmRpbmdzL3B5dGhvbikKKyBFTkRJRigpCisrSUYgKFdJVEhfVEVTVFMpCisgRU5BQkxFX1RFU1RJTkcoKQorIEFERF9TVUJESVJFQ1RPUlkgKHRlc3RzKQorK0VORElGKCkKKyBJRiAoV0lUSF9CSU5ESU5HUykKKyBBRERfU1VCRElSRUNUT1JZIChweXRob24vaGF3a2V5KQorIEFERF9TVUJESVJFQ1RPUlkgKGRvY3MvaGF3a2V5KQorZGlmZiAtLWdpdCBhL3B5dGhvbi9oYXdrZXkvQ01ha2VMaXN0cy50eHQgYi9weXRob24vaGF3a2V5L0NNYWtlTGlzdHMudHh0CitpbmRleCAzYzBiM2MwYy4uMzE0NjZlZDkgMTAwNjQ0CistLS0gYS9weXRob24vaGF3a2V5L0NNYWtlTGlzdHMudHh0CisrKysgYi9weXRob24vaGF3a2V5L0NNYWtlTGlzdHMudHh0CitAQCAtNDksNCArNDksNiBAQCBUQVJHRVRfTElOS19MSUJSQVJJRVMoX2hhd2tleW1vZHVsZSAke1BZVEhPTl9MSUJSQVJZfSkKKyBJTlNUQUxMKEZJTEVTIF9faW5pdF9fLnB5IERFU1RJTkFUSU9OICR7UFlUSE9OX0lOU1RBTExfRElSfS9oYXdrZXkpCisgSU5TVEFMTChUQVJHRVRTIF9oYXdrZXltb2R1bGUgTElCUkFSWSBERVNUSU5BVElPTiAke1BZVEhPTl9JTlNUQUxMX0RJUn0vaGF3a2V5KQorIAorK0lGIChXSVRIX1RFU1RTKQorIEFERF9TVUJESVJFQ1RPUlkodGVzdHMpCisrRU5ESUYoKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAxLUdldC1wYXJhbWV0ZXJzLWZvci1ib3RoLWxpYnNvbHYtYW5kLWxpYnNvbHZleHQtbGliZG4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtR2V0LXBhcmFtZXRlcnMtZm9yLWJvdGgtbGlic29sdi1hbmQtbGlic29sdmV4dC1saWJkbi5wYXRjaAppbmRleCBjYmQwMzYyLi4yNDZkYjM0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtR2V0LXBhcmFtZXRlcnMtZm9yLWJvdGgtbGlic29sdi1hbmQtbGlic29sdmV4dC1saWJkbi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtR2V0LXBhcmFtZXRlcnMtZm9yLWJvdGgtbGlic29sdi1hbmQtbGlic29sdmV4dC1saWJkbi5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMmJmMDY2NjU0NDI5M2RjZmFjMmY2N2I2NzhlMjQzNTNhY2RjZDRlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYzEzOWE2YzkyOWNmZjkzZGJiOWI4Mjc5ZTk3MjYzZmM5ZTA1NTcyNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogRGF0ZTogVHVlLCA3IEZlYiAyMDE3IDEyOjE2OjAzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8yXSBHZXQgcGFyYW1ldGVycyBmb3IgYm90aCBsaWJzb2x2IGFuZCBsaWJzb2x2ZXh0IChsaWJkbmYgaXMKK1N1YmplY3Q6IFtQQVRDSF0gR2V0IHBhcmFtZXRlcnMgZm9yIGJvdGggbGlic29sdiBhbmQgbGlic29sdmV4dCAobGliZG5mIGlzCiAKICB1c2luZyBib3RoKQogCkBAIC0xMywxOCArMTMsMTUgQEAKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKLWluZGV4IGNhMjgwZjMuLjZhYjk4MjcgMTAwNjQ0CitpbmRleCBjZDkxZjA4Li42NDIyNTM0IDEwMDY0NAogLS0tIGEvQ01ha2VMaXN0cy50eHQKICsrKyBiL0NNYWtlTGlzdHMudHh0Ci1AQCAtMjksNyArMjksNyBAQCBmaW5kX3BhY2thZ2UgKFBrZ0NvbmZpZyBSRVFVSVJFRCkKLSBTRVQgKENNQUtFX01PRFVMRV9QQVRIICR7Q01BS0VfU09VUkNFX0RJUn0vY21ha2UvbW9kdWxlcykKK0BAIC00Niw3ICs0Niw3IEBAIGVuZGlmKEFQUExFKQogIFBLR19DSEVDS19NT0RVTEVTKEdMSUIgZ2lvLXVuaXgtMi4wPj0yLjQ2LjAgUkVRVUlSRUQpCisgcGtnX2NoZWNrX21vZHVsZXMoU01BUlRDT0xTIFJFUVVJUkVEIHNtYXJ0Y29scykKICBGSU5EX0xJQlJBUlkgKFJQTURCX0xJQlJBUlkgTkFNRVMgcnBtZGIpCiAtUEtHX0NIRUNLX01PRFVMRVMgKExJQlNPTFYgUkVRVUlSRUQgbGlic29sdikKICtQS0dfQ0hFQ0tfTU9EVUxFUyAoTElCU09MViBSRVFVSVJFRCBsaWJzb2x2IGxpYnNvbHZleHQpCiAgc2V0KExJQlNPTFZfTElCUkFSWSAke0xJQlNPTFZfTElCUkFSSUVTfSkKICBpZiAoRU5BQkxFX1JIU01fU1VQUE9SVCkKLSAgICAgcGtnX2NoZWNrX21vZHVsZXMgKFJIU00gUkVRVUlSRUQgbGlicmhzbSkKLS0tIAotMi4xNC4yCi0KKyAgICAgcGtnX2NoZWNrX21vZHVsZXMgKFJIU00gUkVRVUlSRUQgbGlicmhzbT49MC4wLjMpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtaW5jbHVkZS1taXNzaW5nLXN0cmluZy1hbmQtZXJybm8uaC1oZWFkZXJzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAxLWluY2x1ZGUtbWlzc2luZy1zdHJpbmctYW5kLWVycm5vLmgtaGVhZGVycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmRlNzg0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAxLWluY2x1ZGUtbWlzc2luZy1zdHJpbmctYW5kLWVycm5vLmgtaGVhZGVycy5wYXRjaApAQCAtMCwwICsxLDY1IEBACitGcm9tIGNjYzg5ZmYwYzFmOGU1NWE0YTIyNDQ0ZDA1MTkyNTQwOGYyNjVkZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogV2VkLCAzMCBKYW4gMjAxOSAxMDozMjoxMSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBpbmNsdWRlIG1pc3NpbmcgPHN0cmluZz4gYW5kIGVycm5vLmggaGVhZGVycworCitUaGlzIGlzIHVuZWFydGhlZCB3aGVuIGNvbXBpbGluZyB3aXRoIGNsYW5nL2xpYmMrKworCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L2xpYmRuZi9wdWxsLzY3N10KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxpYmRuZi9jb25mL0NvbmZpZ1BhcnNlci5ocHAgICAgICAgICAgICAgfCAxICsKKyBsaWJkbmYvbW9kdWxlL21vZHVsZW1kL01vZHVsZVByb2ZpbGUuaHBwIHwgMSArCisgbGliZG5mL3NhY2svY2hhbmdlbG9nLmhwcCAgICAgICAgICAgICAgICB8IDEgKworIGxpYmRuZi91dGlscy9zbWFydGNvbHMvQ2VsbC5ocHAgICAgICAgICAgfCAxICsKKyA0IGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGliZG5mL2NvbmYvQ29uZmlnUGFyc2VyLmhwcCBiL2xpYmRuZi9jb25mL0NvbmZpZ1BhcnNlci5ocHAKK2luZGV4IDk3ZjI1NTAwLi4yYTM4NTFmYSAxMDA2NDQKKy0tLSBhL2xpYmRuZi9jb25mL0NvbmZpZ1BhcnNlci5ocHAKKysrKyBiL2xpYmRuZi9jb25mL0NvbmZpZ1BhcnNlci5ocHAKK0BAIC0yMyw2ICsyMyw3IEBACisgCisgI2luY2x1ZGUgPG1hcD4KKyAjaW5jbHVkZSA8c3RkZXhjZXB0PgorKyNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHV0aWxpdHk+CisgCisgbmFtZXNwYWNlIGxpYmRuZiB7CitkaWZmIC0tZ2l0IGEvbGliZG5mL21vZHVsZS9tb2R1bGVtZC9Nb2R1bGVQcm9maWxlLmhwcCBiL2xpYmRuZi9tb2R1bGUvbW9kdWxlbWQvTW9kdWxlUHJvZmlsZS5ocHAKK2luZGV4IGFiMDE4ZGViLi44ZDk5NmZmNCAxMDA2NDQKKy0tLSBhL2xpYmRuZi9tb2R1bGUvbW9kdWxlbWQvTW9kdWxlUHJvZmlsZS5ocHAKKysrKyBiL2xpYmRuZi9tb2R1bGUvbW9kdWxlbWQvTW9kdWxlUHJvZmlsZS5ocHAKK0BAIC0yMyw2ICsyMyw3IEBACisgCisgCisgI2luY2x1ZGUgPG1lbW9yeT4KKysjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDx2ZWN0b3I+CisgCisgI2luY2x1ZGUgPG1vZHVsZW1kL21vZHVsZW1kLmg+CitkaWZmIC0tZ2l0IGEvbGliZG5mL3NhY2svY2hhbmdlbG9nLmhwcCBiL2xpYmRuZi9zYWNrL2NoYW5nZWxvZy5ocHAKK2luZGV4IGEzZDNmYzQ0Li5kODMwYzQxNCAxMDA2NDQKKy0tLSBhL2xpYmRuZi9zYWNrL2NoYW5nZWxvZy5ocHAKKysrKyBiL2xpYmRuZi9zYWNrL2NoYW5nZWxvZy5ocHAKK0BAIC0yMyw2ICsyMyw3IEBACisgI2RlZmluZSBfX0NIQU5HRUxPR19IUFAKKyAKKyAjaW5jbHVkZSA8Y3RpbWU+CisrI2luY2x1ZGUgPHN0cmluZz4KKyAKKyBuYW1lc3BhY2UgbGliZG5mIHsKKyAKK2RpZmYgLS1naXQgYS9saWJkbmYvdXRpbHMvc21hcnRjb2xzL0NlbGwuaHBwIGIvbGliZG5mL3V0aWxzL3NtYXJ0Y29scy9DZWxsLmhwcAoraW5kZXggMmU4MTFkZWUuLmI5MGYwMDUwIDEwMDY0NAorLS0tIGEvbGliZG5mL3V0aWxzL3NtYXJ0Y29scy9DZWxsLmhwcAorKysrIGIvbGliZG5mL3V0aWxzL3NtYXJ0Y29scy9DZWxsLmhwcAorQEAgLTIyLDYgKzIyLDcgQEAKKyAjZGVmaW5lIExJQkRORl9DRUxMX0hQUAorIAorICNpbmNsdWRlIDxsaWJzbWFydGNvbHMvbGlic21hcnRjb2xzLmg+CisrI2luY2x1ZGUgPGNlcnJubz4KKyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDxzdGRleGNlcHQ+CisgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDItUHJlZml4LXN5c3Jvb3QtcGF0aC10by1pbnRyb3NwZWN0aW9uLXRvb2xzLXBhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDItUHJlZml4LXN5c3Jvb3QtcGF0aC10by1pbnRyb3NwZWN0aW9uLXRvb2xzLXBhdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlZWNjM2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAyLVByZWZpeC1zeXNyb290LXBhdGgtdG8taW50cm9zcGVjdGlvbi10b29scy1wYXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotRnJvbSBjODIxMWFkOTljY2FhNGFmNGE3NWUwYmE2Mzk1MjcyNjdmY2ZkNjllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDMwIERlYyAyMDE2IDE4OjE3OjE5ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMi80XSBQcmVmaXggc3lzcm9vdCBwYXRoIHRvIGludHJvc3BlY3Rpb24gdG9vbHMgcGF0aC4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9ycG0tc29mdHdhcmUtbWFuYWdlbWVudC9saWJkbmYvcHVsbC8zMTJdCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLS0tLQotIGxpYmRuZi9DTWFrZUxpc3RzLnR4dCB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJkbmYvQ01ha2VMaXN0cy50eHQgYi9saWJkbmYvQ01ha2VMaXN0cy50eHQKLWluZGV4IDYzZjA3YmYuLjgzNzc5MmIgMTAwNjQ0Ci0tLS0gYS9saWJkbmYvQ01ha2VMaXN0cy50eHQKLSsrKyBiL2xpYmRuZi9DTWFrZUxpc3RzLnR4dAotQEAgLTEzMyw3ICsxMzMsNyBAQCBpZiAoR09CSkVDVF9JTlRST1NQRUNUSU9OX0ZPVU5EKQotICAgICAgICAgc2V0KEdJUl9UWVBFTElCICIke0dJUl9QUkVGSVh9LnR5cGVsaWIiKQotIAotICAgICAgICAgYWRkX2N1c3RvbV9jb21tYW5kKE9VVFBVVCAke0dJUl9YTUx9Ci0tICAgICAgICAgICAgQ09NTUFORCBlbnYgQ0ZMQUdTPSR7Q01BS0VfQ19GTEFHU30gJHtHT0JKRUNUX0lOVFJPU1BFQ1RJT05fMS4wX0dfSVJfU0NBTk5FUn0KLSsgICAgICAgICAgICBDT01NQU5EIGVudiBDRkxBR1M9JHtDTUFLRV9DX0ZMQUdTfSAkRU5We1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9JHtHT0JKRUNUX0lOVFJPU1BFQ1RJT05fMS4wX0dfSVJfU0NBTk5FUn0KLSAgICAgICAgICAgICAgICAgICAgIC0tbmFtZXNwYWNlPURuZgotICAgICAgICAgICAgICAgICAgICAgLS1uc3ZlcnNpb249JHtETkZfU09fVkVSU0lPTn0uMAotICAgICAgICAgICAgICAgICAgICAgLS1saWJyYXJ5LXBhdGg9JHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9Ci1AQCAtMTUzLDcgKzE1Myw3IEBAIGlmIChHT0JKRUNUX0lOVFJPU1BFQ1RJT05fRk9VTkQpCi0gICAgICAgICAgICAgV09SS0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQotIAotICAgICAgICAgYWRkX2N1c3RvbV9jb21tYW5kKE9VVFBVVCAke0dJUl9UWVBFTElCfQotLSAgICAgICAgICAgIENPTU1BTkQgJHtHT0JKRUNUX0lOVFJPU1BFQ1RJT05fMS4wX0dfSVJfQ09NUElMRVJ9Ci0rICAgICAgICAgICAgQ09NTUFORCAkRU5We1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9JHtHT0JKRUNUX0lOVFJPU1BFQ1RJT05fMS4wX0dfSVJfQ09NUElMRVJ9Ci0gICAgICAgICAgICAgICAgICAgICAtbyAke0dJUl9UWVBFTElCfQotICAgICAgICAgICAgICAgICAgICAgJHtHSVJfWE1MfQotICAgICAgICAgICAgIERFUEVORFMgJHtHSVJfWE1MfQotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAzLVNldC10aGUtbGlicmFyeS1pbnN0YWxsYXRpb24tZGlyZWN0b3J5LWNvcnJlY3RseS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmYvMDAwMy1TZXQtdGhlLWxpYnJhcnktaW5zdGFsbGF0aW9uLWRpcmVjdG9yeS1jb3JyZWN0bHkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxMjY0MDkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAzLVNldC10aGUtbGlicmFyeS1pbnN0YWxsYXRpb24tZGlyZWN0b3J5LWNvcnJlY3RseS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUZyb20gOGQyOTg3OWZlMzYwNmM3ODc2OWMxYmNkZGRmMGJjZmM3MTkxYzcxMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotRGF0ZTogRnJpLCAzMCBEZWMgMjAxNiAxODoyMDowMSArMDIwMAotU3ViamVjdDogW1BBVENIIDMvNF0gU2V0IHRoZSBsaWJyYXJ5IGluc3RhbGxhdGlvbiBkaXJlY3RvcnkgY29ycmVjdGx5LgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L2xpYmRuZi9wdWxsLzMxMl0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotLS0tCi0gQ01ha2VMaXN0cy50eHQgfCA0ICsrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Ci1pbmRleCBkMzVmMGQ3Li44ZWRiNjI3IDEwMDY0NAotLS0tIGEvQ01ha2VMaXN0cy50eHQKLSsrKyBiL0NNYWtlTGlzdHMudHh0Ci1AQCAtNjIsNyArNjIsOSBAQCBBRERfREVGSU5JVElPTlMoLURQQUNLQUdFX1ZFUlNJT049XFwiJHtMSUJETkZfVkVSU0lPTn1cXCIpCi0gSUYgKENNQUtFX1NJWkVPRl9WT0lEX1AgTUFUQ0hFUyAiOCIpCi0gICBTRVQgKExJQl9TVUZGSVggIjY0IikKLSBFTkRJRiAoQ01BS0VfU0laRU9GX1ZPSURfUCBNQVRDSEVTICI4IikKLS1TRVQgKExJQl9JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliJHtMSUJfU1VGRklYfSIpCi0rI1NFVCAoTElCX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9saWIke0xJQl9TVUZGSVh9IikKLStTRVQgKExJQl9JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0iKQotKwotIAotIEFERF9TVUJESVJFQ1RPUlkgKGxpYmRuZikKLSBFTkFCTEVfVEVTVElORygpCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDQtU2V0LWxpYnNvbHYtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1jbWFrZS1zLW93bi1tby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmYvMDAwNC1TZXQtbGlic29sdi12YXJpYWJsZXMtd2l0aC1wa2ctY29uZmlnLWNtYWtlLXMtb3duLW1vLnBhdGNoCmluZGV4IDZjZjQ4YTQuLjgwYjFlZDcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmYvMDAwNC1TZXQtbGlic29sdi12YXJpYWJsZXMtd2l0aC1wa2ctY29uZmlnLWNtYWtlLXMtb3duLW1vLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmYvMDAwNC1TZXQtbGlic29sdi12YXJpYWJsZXMtd2l0aC1wa2ctY29uZmlnLWNtYWtlLXMtb3duLW1vLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBiY2VhNWM1MDYzYTJkNWYwN2RiZTZmNDBhZWUzMDM3MGZjNGJhNjU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAyYmNkMGI5ZjYzMTBiYWNkYzU1NGUwNzdlODUzMTlhNWU5MGU1Y2UwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDMwIERlYyAyMDE2IDE4OjI0OjUwICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBTZXQgbGlic29sdiB2YXJpYWJsZXMgd2l0aCBwa2ctY29uZmlnIChjbWFrZSdzIG93biBtb2R1bGUKK1N1YmplY3Q6IFtQQVRDSF0gU2V0IGxpYnNvbHYgdmFyaWFibGVzIHdpdGggcGtnLWNvbmZpZyAoY21ha2UncyBvd24gbW9kdWxlCiAKICBkb2Vzbid0IHdvcmsgcHJvcGVybHkpLgogCkBAIC0xMywxOSArMTMsMTYgQEAKICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Ci1pbmRleCA4ODc1YmJmLi5jYTI4MGYzIDEwMDY0NAoraW5kZXggMGI0MDVjYi4uY2Q5MWYwOCAxMDA2NDQKIC0tLSBhL0NNYWtlTGlzdHMudHh0CiArKysgYi9DTWFrZUxpc3RzLnR4dAotQEAgLTI5LDcgKzI5LDggQEAgZmluZF9wYWNrYWdlIChQa2dDb25maWcgUkVRVUlSRUQpCi0gU0VUIChDTUFLRV9NT0RVTEVfUEFUSCAke0NNQUtFX1NPVVJDRV9ESVJ9L2NtYWtlL21vZHVsZXMpCitAQCAtNDYsNyArNDYsOCBAQCBlbmRpZihBUFBMRSkKICBQS0dfQ0hFQ0tfTU9EVUxFUyhHTElCIGdpby11bml4LTIuMD49Mi40Ni4wIFJFUVVJUkVEKQorIHBrZ19jaGVja19tb2R1bGVzKFNNQVJUQ09MUyBSRVFVSVJFRCBzbWFydGNvbHMpCiAgRklORF9MSUJSQVJZIChSUE1EQl9MSUJSQVJZIE5BTUVTIHJwbWRiKQotLWZpbmRfcGFja2FnZSAoTGliU29sdiAwLjYuMjEgUkVRVUlSRUQgQ09NUE9ORU5UUyBleHQpCistZmluZF9wYWNrYWdlIChMaWJTb2x2IDAuNi4zMCBSRVFVSVJFRCBDT01QT05FTlRTIGV4dCkKICtQS0dfQ0hFQ0tfTU9EVUxFUyAoTElCU09MViBSRVFVSVJFRCBsaWJzb2x2KQogK3NldChMSUJTT0xWX0xJQlJBUlkgJHtMSUJTT0xWX0xJQlJBUklFU30pCiAgaWYgKEVOQUJMRV9SSFNNX1NVUFBPUlQpCi0gICAgIHBrZ19jaGVja19tb2R1bGVzIChSSFNNIFJFUVVJUkVEIGxpYnJoc20pCisgICAgIHBrZ19jaGVja19tb2R1bGVzIChSSFNNIFJFUVVJUkVEIGxpYnJoc20+PTAuMC4zKQogICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzICgke1JIU01fSU5DTFVERV9ESVJTfSkKLS0tIAotMi4xNC4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmZfMC4xMS4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZl8wLjExLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmYzFkNmQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZl8wLjExLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1TVU1NQVJZID0gIkxpYnJhcnkgcHJvdmlkaW5nIHNpbXBsaWZpZWQgQyBhbmQgUHl0aG9uIEFQSSB0byBsaWJzb2x2IgotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcnBtLXNvZnR3YXJlLW1hbmFnZW1lbnQvbGliZG5mIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRmluZEd0a0RvYy5jbWFrZS1kcm9wLXRoZS1yZXF1aXJlbWVudC1mb3ItR1RLRE9DX1NDQS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLVByZWZpeC1zeXNyb290LXBhdGgtdG8taW50cm9zcGVjdGlvbi10b29scy1wYXRoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtU2V0LXRoZS1saWJyYXJ5LWluc3RhbGxhdGlvbi1kaXJlY3RvcnktY29ycmVjdGx5LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtU2V0LWxpYnNvbHYtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1jbWFrZS1zLW93bi1tby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUdldC1wYXJhbWV0ZXJzLWZvci1ib3RoLWxpYnNvbHYtYW5kLWxpYnNvbHZleHQtbGliZG4ucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ1JFViA9ICI2MGY5NzliZDhkYjY1MTIyOWM1NTljMTQxMmYxZWI4ODAyNTcxMjdkIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1ERVBFTkRTID0gImdsaWItMi4wIGxpYnNvbHYgbGliY2hlY2sgbGlicmVwbyBycG0gZ3RrLWRvYyIKLQotaW5oZXJpdCBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbiBjbWFrZSBwa2djb25maWcgZGlzdHV0aWxzMy1iYXNlCi0KLUVYVFJBX09FQ01BS0UgPSAiIC1EUFlUSE9OX0lOU1RBTExfRElSPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IC1EV0lUSF9NQU49T0ZGIC1EUFlUSE9OX0RFU0lSRUQ9MyBcCi0gICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnLURXSVRIX0dJUj1PTicsICctRFdJVEhfR0lSPU9GRicsIGQpfSBcCi0gICAgICAgICAgICAgICAgIgotRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtRFdJVEhfR0lSPU9GRiIKLUVYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgLURXSVRIX0dJUj1PRkYiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZl8wLjI2LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mXzAuMjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzIyNDdjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZl8wLjI2LjAuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IHByb3ZpZGluZyBzaW1wbGlmaWVkIEMgYW5kIFB5dGhvbiBBUEkgdG8gbGlic29sdiIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L2xpYmRuZiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpbmRHdGtEb2MuY21ha2UtZHJvcC10aGUtcmVxdWlyZW1lbnQtZm9yLUdUS0RPQ19TQ0EucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1TZXQtbGlic29sdi12YXJpYWJsZXMtd2l0aC1wa2ctY29uZmlnLWNtYWtlLXMtb3duLW1vLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtR2V0LXBhcmFtZXRlcnMtZm9yLWJvdGgtbGlic29sdi1hbmQtbGlic29sdmV4dC1saWJkbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1XSVRIX1RFU1RTLW9wdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtbWlzc2luZy1zdHJpbmctYW5kLWVycm5vLmgtaGVhZGVycy5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDUkVWID0gImJkMjMyMDRhYTgzZDEwZTNkMjkzYTlmMmQ0OTZjYmE2MDcwZjZhNGQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgbGlic29sdiBsaWJjaGVjayBsaWJyZXBvIHJwbSBndGstZG9jIGxpYm1vZHVsZW1kIGpzb24tYyBzd2lnLW5hdGl2ZSIKKworaW5oZXJpdCBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbiBjbWFrZSBwa2djb25maWcgZGlzdHV0aWxzMy1iYXNlCisKK0VYVFJBX09FQ01BS0UgPSAiIC1EUFlUSE9OX0lOU1RBTExfRElSPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IC1EV0lUSF9NQU49T0ZGIC1EUFlUSE9OX0RFU0lSRUQ9MyBcCisgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnLURXSVRIX0dJUj1PTicsICctRFdJVEhfR0lSPU9GRicsIGQpfSBcCisgICAgICAgICAgICAgICAgICAtRFdJVEhfVEVTVFM9T0ZGIFwKKyAgICAgICAgICAgICAgICAiCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC1EV0lUSF9HSVI9T0ZGIgorRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAtRFdJVEhfR0lSPU9GRiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJtb2R1bGVtZC9saWJtb2R1bGVtZC8wMDAxLXNwZWNfdG1wbC5zaC11c2UtYmluLXNoLW5vdC11c3ItYmluLXNoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlibW9kdWxlbWQvbGlibW9kdWxlbWQvMDAwMS1zcGVjX3RtcGwuc2gtdXNlLWJpbi1zaC1ub3QtdXNyLWJpbi1zaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTk4YzE3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlibW9kdWxlbWQvbGlibW9kdWxlbWQvMDAwMS1zcGVjX3RtcGwuc2gtdXNlLWJpbi1zaC1ub3QtdXNyLWJpbi1zaC5wYXRjaApAQCAtMCwwICsxLDIyIEBACitGcm9tIDc0ZWE2YTY2NWQwZjM0MTdlNzVmMWQzZDAyZjI3YTEyZjEyOGVjNzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNiBOb3YgMjAxOCAxMzo0MToyOSArMDEwMAorU3ViamVjdDogW1BBVENIXSBzcGVjX3RtcGwuc2g6IHVzZSAvYmluL3NoLCBub3QgL3Vzci9iaW4vc2gKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworLS0tCisgc3BlY190bXBsLnNoIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3BlY190bXBsLnNoIGIvc3BlY190bXBsLnNoCitpbmRleCAxNGU4OTVhLi5mYzgwZmM2IDEwMDc1NQorLS0tIGEvc3BlY190bXBsLnNoCisrKysgYi9zcGVjX3RtcGwuc2gKK0BAIC0xLDQgKzEsNCBAQAorLSMhL3Vzci9iaW4vc2gKKysjIS9iaW4vc2gKKyAKKyB2ZXJzaW9uPSQxCisgbGlibW9kdWxlbWRfdjFfdmVyc2lvbj0kMgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlibW9kdWxlbWQvbGlibW9kdWxlbWQvMDAwMi1tb2R1bGVtZC12MS1tZXNvbi5idWlsZC1kby1ub3QtZ2VuZXJhdGUtZ2lyLW9yLWd0a2RvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlibW9kdWxlbWQvbGlibW9kdWxlbWQvMDAwMi1tb2R1bGVtZC12MS1tZXNvbi5idWlsZC1kby1ub3QtZ2VuZXJhdGUtZ2lyLW9yLWd0a2RvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzZTYyYmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJtb2R1bGVtZC9saWJtb2R1bGVtZC8wMDAyLW1vZHVsZW1kLXYxLW1lc29uLmJ1aWxkLWRvLW5vdC1nZW5lcmF0ZS1naXItb3ItZ3RrZG8ucGF0Y2gKQEAgLTAsMCArMSw2NyBAQAorRnJvbSBiNzdjOWMzZDA3NDMwYjAxNGIyZDFiZmY0MjAyN2Y0ODNjODFmMTVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDYgTm92IDIwMTggMTM6NDM6MDAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gbW9kdWxlbWQvdlsxMl0vbWVzb24uYnVpbGQ6IGRvIG5vdCBnZW5lcmF0ZSBndGtkb2Mgb3IgcHl0aG9uCisgYmluZGluZ3MKKworQWxsIG9mIHRoZXNlIHJlYWxseSBuZWVkIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCistLS0KKyBtZXNvbi5idWlsZCAgICAgICAgICAgICB8IDMgKy0tCisgbW9kdWxlbWQvdjEvbWVzb24uYnVpbGQgfCA4IC0tLS0tLS0tCisgbW9kdWxlbWQvdjIvbWVzb24uYnVpbGQgfCA4IC0tLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMTggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCitpbmRleCAyMjhiZDM0Li5hMWU2MGJiIDEwMDY0NAorLS0tIGEvbWVzb24uYnVpbGQKKysrKyBiL21lc29uLmJ1aWxkCitAQCAtNTIsNyArNTIsNiBAQCBnbm9tZSA9IGltcG9ydCgnZ25vbWUnKQorIHBrZyA9IGltcG9ydCgncGtnY29uZmlnJykKKyBnb2JqZWN0ID0gZGVwZW5kZW5jeSgnZ29iamVjdC0yLjAnKQorIHlhbWwgPSBkZXBlbmRlbmN5KCd5YW1sLTAuMScpCistZ3RrZG9jID0gZGVwZW5kZW5jeSgnZ3RrLWRvYycpCisgCisgc2ggPSBmaW5kX3Byb2dyYW0oJ3NoJykKKyBzZWQgPSBmaW5kX3Byb2dyYW0oJ3NlZCcpCitAQCAtMTEwLDQgKzEwOSw0IEBAIGNvbmZpZ3VyZV9maWxlKAorICkKKyAKKyBzdWJkaXIoJ21vZHVsZW1kJykKKy1zdWJkaXIoJ2JpbmRpbmdzL3B5dGhvbicpCisrCitkaWZmIC0tZ2l0IGEvbW9kdWxlbWQvdjEvbWVzb24uYnVpbGQgYi9tb2R1bGVtZC92MS9tZXNvbi5idWlsZAoraW5kZXggNzRkYjg5YS4uNGQ1NGU2OSAxMDA2NDQKKy0tLSBhL21vZHVsZW1kL3YxL21lc29uLmJ1aWxkCisrKysgYi9tb2R1bGVtZC92MS9tZXNvbi5idWlsZAorQEAgLTM0MSwxMSArMzQxLDMgQEAgY29uZmlndXJlX2ZpbGUoCisgICBjb25maWd1cmF0aW9uIDogeGNkYXRhCisgKQorIAorLWdub21lLmd0a2RvYygKKy0gICAgJ21vZHVsZW1kLTEuMCcsCistICAgIGluc3RhbGxfZGlyOiAnbW9kdWxlbWQtMS4wJywKKy0gICAgc3JjX2RpciA6ICcuL21vZHVsZW1kL3YxJywKKy0gICAgbWFpbl94bWwgOiAnbW9kdWxlbWQtdjEtZG9jcy54bWwnLAorLSAgICBpbnN0YWxsIDogdHJ1ZSwKKy0pCistCitkaWZmIC0tZ2l0IGEvbW9kdWxlbWQvdjIvbWVzb24uYnVpbGQgYi9tb2R1bGVtZC92Mi9tZXNvbi5idWlsZAoraW5kZXggN2I5NGUwYy4uYzVmNzJiOSAxMDA2NDQKKy0tLSBhL21vZHVsZW1kL3YyL21lc29uLmJ1aWxkCisrKysgYi9tb2R1bGVtZC92Mi9tZXNvbi5idWlsZAorQEAgLTUzMCwxMSArNTMwLDMgQEAgY29uZmlndXJlX2ZpbGUoCisgICBjb25maWd1cmF0aW9uIDogeGNkYXRhCisgKQorIAorLWdub21lLmd0a2RvYygKKy0gICAgJ21vZHVsZW1kLTIuMCcsCistICAgIGluc3RhbGxfZGlyOiAnbW9kdWxlbWQtMi4wJywKKy0gICAgc3JjX2RpciA6ICcuL21vZHVsZW1kL3YyJywKKy0gICAgbWFpbl94bWwgOiAnbW9kdWxlbWQtdjItZG9jcy54bWwnLAorLSAgICBpbnN0YWxsIDogdHJ1ZSwKKy0pCistCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJtb2R1bGVtZC9saWJtb2R1bGVtZF9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJtb2R1bGVtZC9saWJtb2R1bGVtZF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdlOTIxMQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYm1vZHVsZW1kL2xpYm1vZHVsZW1kX2dpdC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIkMgTGlicmFyeSBmb3IgbWFuaXB1bGF0aW5nIG1vZHVsZSBtZXRhZGF0YSBmaWxlcyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjVhMzkyN2JmZjNlZTRmNWIyMWJjYjBlZDNmY2Q2YmIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9mZWRvcmEtbW9kdWxhcml0eS9saWJtb2R1bGVtZDtwcm90b2NvbD1odHRwcyBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXNwZWNfdG1wbC5zaC11c2UtYmluLXNoLW5vdC11c3ItYmluLXNoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItbW9kdWxlbWQtdjEtbWVzb24uYnVpbGQtZG8tbm90LWdlbmVyYXRlLWdpci1vci1ndGtkby5wYXRjaCBcCisgICAgICAgICAgICIKKworUFYgPSAiMi4xLjAiCitTUkNSRVYgPSAiMDcyZTZlZTc5MWZlNzgyMmE2ZDQyM2JkYWM3ZTRhNWNiYjExOGJjZSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBtZXNvbiBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworRVhUUkFfT0VNRVNPTiA9ICItRGRldmVsb3Blcl9idWlsZD1mYWxzZSAtRGJ1aWxkX2FwaV92MT10cnVlIC1EYnVpbGRfYXBpX3YyPWZhbHNlIgorCitERVBFTkRTICs9ICJnbGliLTIuMCBsaWJ5YW1sIGdsaWItMi4wLW5hdGl2ZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitHSV9FTkFCTEVfRkxBRyA9ICItRHNraXBfaW50cm9zcGVjdGlvbj1mYWxzZSIKK0dJX0RJU0FCTEVfRkxBRyA9ICItRHNraXBfaW50cm9zcGVjdGlvbj10cnVlIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiICR7R0lfRElTQUJMRV9GTEFHfSIKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgJHtHSV9ESVNBQkxFX0ZMQUd9IgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dJX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dJX0RJU0FCTEVfRkxBR30nLCBkKX0gIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvLzAwMDItRG8tbm90LXRyeS10by1vYnRhaW4tUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYnJlcG8vbGlicmVwby8wMDAyLURvLW5vdC10cnktdG8tb2J0YWluLVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXAucGF0Y2gKaW5kZXggZDY5ZGViNS4uYjYxZjBjOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvLzAwMDItRG8tbm90LXRyeS10by1vYnRhaW4tUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG8vMDAwMi1Eby1ub3QtdHJ5LXRvLW9idGFpbi1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1wLnBhdGNoCkBAIC0xLDggKzEsNyBAQAotRnJvbSA1YjY4NDlkOWQ3ZTAzMGMzYTUyMWI1MjQ1ZDg2Zjg1M2IwMjcxYTYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiMDhhM2I3MWU3MTZkZDA0ODVlZjUxMDM2ZDMyZTRjMzA0ZmI0ZTY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDMwIERlYyAyMDE2IDE4OjA1OjM2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBEbyBub3QgdHJ5IHRvIG9idGFpbiBQWVRIT05fSU5TVEFMTF9ESVIgYnkgcnVubmluZwotIHB5dGhvbi4KK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IHRyeSB0byBvYnRhaW4gUFlUSE9OX0lOU1RBTExfRElSIGJ5IHJ1bm5pbmcgcHl0aG9uLgogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lLWNvcmUgc3BlY2lmaWNdCiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KQEAgLTEzLDEyICsxMiwxMCBAQAogIDIgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9saWJyZXBvL3B5dGhvbi9weXRob24yL0NNYWtlTGlzdHMudHh0IGIvbGlicmVwby9weXRob24vcHl0aG9uMi9DTWFrZUxpc3RzLnR4dAotaW5kZXggNWZmYmQ2Mi4uOTBkM2MyMiAxMDA2NDQKK2luZGV4IGEwZjFmOWEuLjE2NjUwNzkgMTAwNjQ0CiAtLS0gYS9saWJyZXBvL3B5dGhvbi9weXRob24yL0NNYWtlTGlzdHMudHh0CiArKysgYi9saWJyZXBvL3B5dGhvbi9weXRob24yL0NNYWtlTGlzdHMudHh0Ci1AQCAtMSwxMSArMSwxMSBAQAotIEZJTkRfUEFDS0FHRSAoUHl0aG9uTGlicyAyICkKLSBGSU5EX1BBQ0tBR0UgKFB5dGhvbkludGVycCAyIFJFUVVJUkVEKQorQEAgLTEsOSArMSw5IEBACiAtRVhFQ1VURV9QUk9DRVNTKENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gLWMgIgogLWZyb20gc3lzIGltcG9ydCBzdGRvdXQKIC1mcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnCkBAIC0zNSwxMyArMzIsMTAgQEAKICAKICBNRVNTQUdFKFNUQVRVUyAiUHl0aG9uIGluc3RhbGwgZGlyIGlzICR7UFlUSE9OX0lOU1RBTExfRElSfSIpCiBkaWZmIC0tZ2l0IGEvbGlicmVwby9weXRob24vcHl0aG9uMy9DTWFrZUxpc3RzLnR4dCBiL2xpYnJlcG8vcHl0aG9uL3B5dGhvbjMvQ01ha2VMaXN0cy50eHQKLWluZGV4IDQ3NTU5ZjcuLmIzOWFkYzIgMTAwNjQ0CitpbmRleCA1MmJhNDRlLi5kYTUxZTEwIDEwMDY0NAogLS0tIGEvbGlicmVwby9weXRob24vcHl0aG9uMy9DTWFrZUxpc3RzLnR4dAogKysrIGIvbGlicmVwby9weXRob24vcHl0aG9uMy9DTWFrZUxpc3RzLnR4dAotQEAgLTEwLDEyICsxMCwxMiBAQCBtZXNzYWdlKCItLS0gJHtQWVRIT05fSU5DTFVERV9ESVJ9IikKLSAKLSBGSU5EX1BBQ0tBR0UoUHl0aG9uTGlicyAzLjApCi0gRklORF9QQUNLQUdFKFB5dGhvbkludGVycCAzLjAgUkVRVUlSRUQpCitAQCAtMSw5ICsxLDkgQEAKIC1FWEVDVVRFX1BST0NFU1MoQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAtYyAiCiAtZnJvbSBzeXMgaW1wb3J0IHN0ZG91dAogLWZyb20gZGlzdHV0aWxzIGltcG9ydCBzeXNjb25maWcKQEAgLTU3LDYgKzUxLDMgQEAKICBJTkNMVURFX0RJUkVDVE9SSUVTICgke1BZVEhPTl9JTkNMVURFX1BBVEh9KQogIAogIE1FU1NBR0UoU1RBVFVTICJQeXRob24zIGluc3RhbGwgZGlyIGlzICR7UFlUSE9OX0lOU1RBTExfRElSfSIpCi0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG8vMDAwNC1TZXQtZ3BnbWUtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1ub3Qtd2l0aC1jbWFrZS1tLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvLzAwMDQtU2V0LWdwZ21lLXZhcmlhYmxlcy13aXRoLXBrZy1jb25maWctbm90LXdpdGgtY21ha2UtbS5wYXRjaAppbmRleCBmN2Q3YWIzLi43MzkwMmU1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG8vMDAwNC1TZXQtZ3BnbWUtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1ub3Qtd2l0aC1jbWFrZS1tLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYnJlcG8vbGlicmVwby8wMDA0LVNldC1ncGdtZS12YXJpYWJsZXMtd2l0aC1wa2ctY29uZmlnLW5vdC13aXRoLWNtYWtlLW0ucGF0Y2gKQEAgLTEsMjkgKzEsMjcgQEAKLUZyb20gYTM2YmU4MTkyNjE1ZTJhMWZiNWE1ODU2ZDQ0NTY1Mjc3ZjE1NTgzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZjVhMWRmZTRjODdjMjI4MTY1YmMyNWU3ZmU0NjQxMjBkODEzOWEzZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogRGF0ZTogRnJpLCAzMCBEZWMgMjAxNiAxODoyMzoyNyArMDIwMAotU3ViamVjdDogW1BBVENIIDQvNF0gU2V0IGdwZ21lIHZhcmlhYmxlcyB3aXRoIHBrZy1jb25maWcsIG5vdCB3aXRoIGNtYWtlCi0gbW9kdWxlICh3aGljaCBkb2Vzbid0IHdvcmsgcHJvcGVybHkpCitTdWJqZWN0OiBbUEFUQ0hdIFNldCBncGdtZSB2YXJpYWJsZXMgd2l0aCBwa2ctY29uZmlnLCBub3Qgd2l0aCBjbWFrZSBtb2R1bGUKKyAod2hpY2ggZG9lc24ndCB3b3JrIHByb3Blcmx5KQogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2dwZ21lIHVwc3RyZWFtIGRvZXMgbm90IGhhdmUgcGtnLWNvbmZpZyBzdXBwb3J0IGFuZCBpcyBub3QgaW50ZXJlc3RlZCBpbiBpdF0KIFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCiAtLS0KICBDTWFrZUxpc3RzLnR4dCB8IDMgKystCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAotaW5kZXggZWYwN2QyZC4uZjFmYTA5YiAxMDA2NDQKK2luZGV4IGU5NDlkYmUuLmM5NTRiMmUgMTAwNjQ0CiAtLS0gYS9DTWFrZUxpc3RzLnR4dAogKysrIGIvQ01ha2VMaXN0cy50eHQKIEBAIC0zMSw3ICszMSw4IEBAIFBLR19DSEVDS19NT0RVTEVTKEdMSUIyIGdsaWItMi4wIFJFUVVJUkVEKQogIFBLR19TRUFSQ0hfTU9EVUxFKExJQkNSWVBUTyBSRVFVSVJFRCBsaWJjcnlwdG8gb3BlbnNzbCkKLSBGSU5EX1BBQ0tBR0UoRVhQQVQgUkVRVUlSRUQpCisgUEtHX0NIRUNLX01PRFVMRVMoTElCWE1MMiBsaWJ4bWwtMi4wIFJFUVVJUkVEKQogIEZJTkRfUEFDS0FHRShDVVJMIFJFUVVJUkVEKQogLUZJTkRfUEFDS0FHRShHcGdtZSBSRVFVSVJFRCkKICtQS0dfQ0hFQ0tfTU9EVUxFUyhHUEdNRSBncGdtZSBSRVFVSVJFRCkKICtzZXQoR1BHTUVfVkFOSUxMQV9MSUJSQVJJRVMgJHtHUEdNRV9MSUJSQVJJRVN9KQotIEZJTkRfUEFDS0FHRShYYXR0ciBSRVFVSVJFRCkKICAKLSBJTkNMVURFX0RJUkVDVE9SSUVTKCR7R0xJQjJfSU5DTFVERV9ESVJTfSkKLS0tIAotMi4xMS4wCi0KKyAKKyBJRiAoV0lUSF9aQ0hVTkspCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG9fMS44LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG9fMS44LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1Njk4ODUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvXzEuOC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotU1VNTUFSWSA9ICIgQSBsaWJyYXJ5IHByb3ZpZGluZyBDIGFuZCBQeXRob24gKGxpYmNVUkwgbGlrZSkgQVBJIGZvciBkb3dubG9hZGluZyBsaW51eCByZXBvc2l0b3J5IG1ldGFkYXRhIGFuZCBwYWNrYWdlcy4iCi1MSUNFTlNFID0gIkxHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ycG0tc29mdHdhcmUtbWFuYWdlbWVudC9saWJyZXBvLmdpdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLURvLW5vdC10cnktdG8tb2J0YWluLVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXAucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1TZXQtZ3BnbWUtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1ub3Qtd2l0aC1jbWFrZS1tLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNSRVYgPSAiN2I5YjdiZjM4OGYzZjA1OTUyOWM2ZjUwYzQwYjMwOTE5ZmVmMzBmOSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotREVQRU5EUyA9ICJjdXJsIGV4cGF0IGdsaWItMi4wIG9wZW5zc2wgYXR0ciBncGdtZSIKLQotaW5oZXJpdCBjbWFrZSBkaXN0dXRpbHMzLWJhc2UgcGtnY29uZmlnCi0KLUVYVFJBX09FQ01BS0UgPSAiIC1EUFlUSE9OX0lOU1RBTExfRElSPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IC1EUFlUSE9OX0RFU0lSRUQ9MyAtREVOQUJMRV9URVNUUz1PRkYgLURFTkFCTEVfRE9DUz1PRkYiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvXzEuOS40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvXzEuOS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0ZDZjMTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG9fMS45LjQuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICIgQSBsaWJyYXJ5IHByb3ZpZGluZyBDIGFuZCBQeXRob24gKGxpYmNVUkwgbGlrZSkgQVBJIGZvciBkb3dubG9hZGluZyBsaW51eCByZXBvc2l0b3J5IG1ldGFkYXRhIGFuZCBwYWNrYWdlcy4iCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ycG0tc29mdHdhcmUtbWFuYWdlbWVudC9saWJyZXBvLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLURvLW5vdC10cnktdG8tb2J0YWluLVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1TZXQtZ3BnbWUtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1ub3Qtd2l0aC1jbWFrZS1tLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNSRVYgPSAiOTI4YzJkOWM2NmYwZDEwNDc3YjhjOWQxMTkyNzg1Yjg4ZTJiMTE1NSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworREVQRU5EUyA9ICJjdXJsIGdsaWItMi4wIG9wZW5zc2wgYXR0ciBncGdtZSBsaWJ4bWwyIgorCitpbmhlcml0IGNtYWtlIGRpc3R1dGlsczMtYmFzZSBwa2djb25maWcKKworRVhUUkFfT0VDTUFLRSA9ICIgLURQWVRIT05fSU5TVEFMTF9ESVI9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gLURQWVRIT05fREVTSVJFRD0zIC1ERU5BQkxFX1RFU1RTPU9GRiAtREVOQUJMRV9ET0NTPU9GRiAtRFdJVEhfWkNIVU5LPU9GRiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJ0b29sL2xpYnRvb2wtMi40LjYuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlidG9vbC9saWJ0b29sLTIuNC42LmluYwppbmRleCBmMzA3YTEwLi44ZTE3YjU2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJ0b29sL2xpYnRvb2wtMi40LjYuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYnRvb2wvbGlidG9vbC0yLjQuNi5pbmMKQEAgLTIwLDYgKzIwLDcgQEAKICAgICAgICAgICAgZmlsZTovL25vaGFyZGNvZGVwYXRocy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly91bndpbmQtb3B0LXBhcnNpbmcucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJ0b29sLUZpeC1zdXBwb3J0LWZvci1OSU9TMi1wcm9jZXNzb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJ0b29sLUNoZWNrLWZvci1zdGF0aWMtbGlicy1mb3ItaW50ZXJuYWwtY29tcGlsZXItLnBhdGNoIFwKICAgICAgICAgICAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICJhZGRmNDRiNjQ2ZGRiNGUzOTE5ODA1YWE4OGZhN2M1ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYnRvb2wvbGlidG9vbC8wMDAxLWxpYnRvb2wtQ2hlY2stZm9yLXN0YXRpYy1saWJzLWZvci1pbnRlcm5hbC1jb21waWxlci0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJ0b29sL2xpYnRvb2wvMDAwMS1saWJ0b29sLUNoZWNrLWZvci1zdGF0aWMtbGlicy1mb3ItaW50ZXJuYWwtY29tcGlsZXItLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjN2MzOWYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJ0b29sL2xpYnRvb2wvMDAwMS1saWJ0b29sLUNoZWNrLWZvci1zdGF0aWMtbGlicy1mb3ItaW50ZXJuYWwtY29tcGlsZXItLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gNDBhMmRhNzVlNmQ5NWNjN2M0OThlYmRhOTVhYjE5YWUwZGIyZWJmYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDI2IEphbiAyMDE5IDEyOjU0OjI2IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpYnRvb2w6IENoZWNrIGZvciBzdGF0aWMgbGlicyBmb3IgaW50ZXJuYWwgY29tcGlsZXIKKyBsaWJyYXJpZXMKKworTGlidG9vbCBjaGVja3Mgb25seSBmb3IgbGlicmFyaWVzIGxpbmtlZCBhcyAtbCogd2hlbiB0cnlpbmcgdG8KK2ZpbmQgaW50ZXJuYWwgY29tcGlsZXIgbGlicmFyaWVzLiBDbGFuZywgaG93ZXZlciB1c2VzIHRoZSBhYnNvbHV0ZQorcGF0aCB0byBsaW5rIGl0cyBpbnRlcm5hbCBsaWJyYXJpZXMgZS5nLiBjb21waWxlcl9ydC4gVGhpcyBwYXRjaAoraGFuZGxlcyBjbGFuZydzIHN0YXRpY2FsbHkgbGlua2VkIGxpYnJhcmllcyB3aGVuIGZpbmRpbmcgaW50ZXJuYWwKK2NvbXBpbGVyIGxpYnJhcmllcy4KKworaHR0cHM6Ly9jcmJ1Zy5jb20vNzQ5MjYzCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2RlYmJ1Z3MuZ251Lm9yZy9jZ2kvYnVncmVwb3J0LmNnaT9idWc9Mjc4NjZdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBtNC9saWJ0b29sLm00IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbTQvbGlidG9vbC5tNCBiL200L2xpYnRvb2wubTQKK2luZGV4IGQwMzg5YTAuLjk2MTljNTcgMTAwNjQ0CistLS0gYS9tNC9saWJ0b29sLm00CisrKysgYi9tNC9saWJ0b29sLm00CitAQCAtNzUzNiw3ICs3NTM2LDcgQEAgaWYgQUNfVFJZX0VWQUwoYWNfY29tcGlsZSk7IHRoZW4KKyAgIGZvciBwIGluIGBldmFsICIkb3V0cHV0X3ZlcmJvc2VfbGlua19jbWQiYDsgZG8KKyAgICAgY2FzZSAkcHJldiRwIGluCisgCistICAgIC1MKiB8IC1SKiB8IC1sKikKKysgICAgLUwqIHwgLVIqIHwgLWwqIHwgKi9saWJjbGFuZ19ydC4qLmEpCisgICAgICAgICMgU29tZSBjb21waWxlcnMgcGxhY2Ugc3BhY2UgYmV0d2VlbiAiLXtMLFJ9IiBhbmQgdGhlIHBhdGguCisgICAgICAgICMgUmVtb3ZlIHRoZSBzcGFjZS4KKyAgICAgICAgaWYgdGVzdCB4LUwgPSAiJHAiIHx8CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9sbHZtL2xsdm0vMDAwMS1sbHZtLVRhcmdldExpYnJhcnlJbmZvLVVuZGVmaW5lLWxpYmMtZnVuY3Rpb25zLWlmLXRoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGx2bS9sbHZtLzAwMDEtbGx2bS1UYXJnZXRMaWJyYXJ5SW5mby1VbmRlZmluZS1saWJjLWZ1bmN0aW9ucy1pZi10aC5wYXRjaAppbmRleCAyMDk3NjRjLi42ZGJiY2VkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9sbHZtL2xsdm0vMDAwMS1sbHZtLVRhcmdldExpYnJhcnlJbmZvLVVuZGVmaW5lLWxpYmMtZnVuY3Rpb25zLWlmLXRoLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xsdm0vbGx2bS8wMDAxLWxsdm0tVGFyZ2V0TGlicmFyeUluZm8tVW5kZWZpbmUtbGliYy1mdW5jdGlvbnMtaWYtdGgucGF0Y2gKQEAgLTEsMjQgKzEsMjIgQEAKLUZyb20gOTY1NThjNGYyNWQ1MTMyOTM2MDE0ZjZmMmQ2MjUyY2ZkZmRmNDc4YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gOTA1Y2FjODkzNGZiMTdlMjA0MTZhNGRmNzEyYTU2NmU3NTc0NzFhMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTYXQsIDIxIE1heSAyMDE2IDAwOjMzOjIwICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBsbHZtOiBUYXJnZXRMaWJyYXJ5SW5mbzogVW5kZWZpbmUgbGliYyBmdW5jdGlvbnMgaWYgdGhleQotIGFyZSBtYWNyb3MKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIGxsdm06IFRhcmdldExpYnJhcnlJbmZvOiBVbmRlZmluZSBsaWJjIGZ1bmN0aW9ucyBpZiB0aGV5IGFyZSBtYWNyb3MKIAogbXVzbCBkZWZpbmVzIHNvbWUgZnVuY3Rpb25zIGFzIG1hY3JvcyBhbmQgbm90IGlubGluZSBmdW5jdGlvbnMKIGlmIHRoaXMgaXMgdGhlIGNhc2UgdGhlbiBtYWtlIHN1cmUgdG8gdW5kZWZpbmUgdGhlbQogCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiAtLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCiAgaW5jbHVkZS9sbHZtL0FuYWx5c2lzL1RhcmdldExpYnJhcnlJbmZvLmRlZiB8IDIxICsrKysrKysrKysrKysrKysrKysrKwogIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9pbmNsdWRlL2xsdm0vQW5hbHlzaXMvVGFyZ2V0TGlicmFyeUluZm8uZGVmIGIvaW5jbHVkZS9sbHZtL0FuYWx5c2lzL1RhcmdldExpYnJhcnlJbmZvLmRlZgotaW5kZXggYTQ2MWVkODEzYjkuLmY5ZmQ5ZmFlZWUwIDEwMDY0NAoraW5kZXggNTE4YTg1ZWUxYTAuLjZiNGVhZDRlZmM2IDEwMDY0NAogLS0tIGEvaW5jbHVkZS9sbHZtL0FuYWx5c2lzL1RhcmdldExpYnJhcnlJbmZvLmRlZgogKysrIGIvaW5jbHVkZS9sbHZtL0FuYWx5c2lzL1RhcmdldExpYnJhcnlJbmZvLmRlZgotQEAgLTY2NSw2ICs2NjUsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZm1vZGwiKQorQEAgLTczMSw2ICs3MzEsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZm1vZGwiKQogIFRMSV9ERUZJTkVfRU5VTV9JTlRFUk5BTChmb3BlbikKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZm9wZW4iKQogIC8vLyBGSUxFICpmb3BlbjY0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICpvcGVudHlwZSkKQEAgLTI3LDggKzI1LDggQEAKICsjZW5kaWYKICBUTElfREVGSU5FX0VOVU1fSU5URVJOQUwoZm9wZW42NCkKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZm9wZW42NCIpCi0gLy8vIGludCBmcHJpbnRmKEZJTEUgKnN0cmVhbSwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOwotQEAgLTcwMCw2ICs3MDMsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZnNlZWsiKQorIC8vLyBpbnQgZm9yaygpOworQEAgLTc3OCw2ICs3ODEsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZnNlZWsiKQogIC8vLyBpbnQgZnNlZWtvKEZJTEUgKnN0cmVhbSwgb2ZmX3Qgb2Zmc2V0LCBpbnQgd2hlbmNlKTsKICBUTElfREVGSU5FX0VOVU1fSU5URVJOQUwoZnNlZWtvKQogIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJmc2Vla28iKQpAQCAtMzgsNyArMzYsNyBAQAogIC8vLyBpbnQgZnNlZWtvNjQoRklMRSAqc3RyZWFtLCBvZmY2NF90IG9mZnNldCwgaW50IHdoZW5jZSkKICBUTElfREVGSU5FX0VOVU1fSU5URVJOQUwoZnNlZWtvNjQpCiAgVExJX0RFRklORV9TVFJJTkdfSU5URVJOQUwoImZzZWVrbzY0IikKLUBAIC03MTAsNiArNzE2LDkgQEAgVExJX0RFRklORV9TVFJJTkdfSU5URVJOQUwoImZzZXRwb3MiKQorQEAgLTc4OCw2ICs3OTQsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZnNldHBvcyIpCiAgVExJX0RFRklORV9FTlVNX0lOVEVSTkFMKGZzdGF0KQogIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJmc3RhdCIpCiAgLy8vIGludCBmc3RhdDY0KGludCBmaWxlZGVzLCBzdHJ1Y3Qgc3RhdDY0ICpidWYpCkBAIC00OCw3ICs0Niw3IEBACiAgVExJX0RFRklORV9FTlVNX0lOVEVSTkFMKGZzdGF0NjQpCiAgVExJX0RFRklORV9TVFJJTkdfSU5URVJOQUwoImZzdGF0NjQiKQogIC8vLyBpbnQgZnN0YXR2ZnMoaW50IGZpbGRlcywgc3RydWN0IHN0YXR2ZnMgKmJ1Zik7Ci1AQCAtNzI1LDYgKzczNCw5IEBAIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJmdGVsbCIpCitAQCAtODAzLDYgKzgxMiw5IEBAIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJmdGVsbCIpCiAgVExJX0RFRklORV9FTlVNX0lOVEVSTkFMKGZ0ZWxsbykKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZnRlbGxvIikKICAvLy8gb2ZmNjRfdCBmdGVsbG82NChGSUxFICpzdHJlYW0pCkBAIC01OCw3ICs1Niw3IEBACiAgVExJX0RFRklORV9FTlVNX0lOVEVSTkFMKGZ0ZWxsbzY0KQogIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJmdGVsbG82NCIpCiAgLy8vIGludCBmdHJ5bG9ja2ZpbGUoRklMRSAqZmlsZSk7Ci1AQCAtODQ1LDYgKzg1Nyw5IEBAIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJsb2dsIikKK0BAIC05MjksNiArOTQxLDkgQEAgVExJX0RFRklORV9TVFJJTkdfSU5URVJOQUwoImxvZ2wiKQogIFRMSV9ERUZJTkVfRU5VTV9JTlRFUk5BTChsc3RhdCkKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgibHN0YXQiKQogIC8vLyBpbnQgbHN0YXQ2NChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdDY0ICpidWYpOwpAQCAtNjgsNyArNjYsNyBAQAogIFRMSV9ERUZJTkVfRU5VTV9JTlRFUk5BTChsc3RhdDY0KQogIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJsc3RhdDY0IikKICAvLy8gdm9pZCAqbWFsbG9jKHNpemVfdCBzaXplKTsKLUBAIC0xMDY0LDYgKzEwNzksOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgic3NjYW5mIikKK0BAIC0xMTU0LDYgKzExNjksOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgic3NjYW5mIikKICBUTElfREVGSU5FX0VOVU1fSU5URVJOQUwoc3RhdCkKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgic3RhdCIpCiAgLy8vIGludCBzdGF0NjQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQ2NCAqYnVmKTsKQEAgLTc4LDcgKzc2LDcgQEAKICBUTElfREVGSU5FX0VOVU1fSU5URVJOQUwoc3RhdDY0KQogIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJzdGF0NjQiKQogIC8vLyBpbnQgc3RhdHZmcyhjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdHZmcyAqYnVmKTsKLUBAIC0xMTkzLDYgKzEyMTEsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgidGltZXMiKQorQEAgLTEyODMsNiArMTMwMSw5IEBAIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJ0aW1lcyIpCiAgVExJX0RFRklORV9FTlVNX0lOVEVSTkFMKHRtcGZpbGUpCiAgVExJX0RFRklORV9TVFJJTkdfSU5URVJOQUwoInRtcGZpbGUiKQogIC8vLyBGSUxFICp0bXBmaWxlNjQodm9pZCkKQEAgLTg5LDUgKzg3LDUgQEAKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgidG1wZmlsZTY0IikKICAvLy8gaW50IHRvYXNjaWkoaW50IGMpOwogLS0gCi0yLjE2LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9sbHZtL2xsdm0vMDAwMi1sbHZtLWFsbG93LWVudi1vdmVycmlkZS1vZi1leGUtcGF0aC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xsdm0vbGx2bS8wMDAyLWxsdm0tYWxsb3ctZW52LW92ZXJyaWRlLW9mLWV4ZS1wYXRoLnBhdGNoCmluZGV4IDZhOTI4MzMuLjEzNjliY2YgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xsdm0vbGx2bS8wMDAyLWxsdm0tYWxsb3ctZW52LW92ZXJyaWRlLW9mLWV4ZS1wYXRoLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xsdm0vbGx2bS8wMDAyLWxsdm0tYWxsb3ctZW52LW92ZXJyaWRlLW9mLWV4ZS1wYXRoLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBhZWNjZjE2ZWFjY2RkODBlNGQ1ZWNhYTUxNjczY2U0YjJiYWMxMTMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAwNTcwZmUwMmMwNzI0NGE4NzI0YzFlNmMwNDM3Zjg5M2M4YWE4ZTkzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogTWFydGluIEtlbGx5IDxta2VsbHlAeGV2by5jb20+CiBEYXRlOiBGcmksIDE5IE1heSAyMDE3IDAwOjIyOjU3IC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0ggMi8yXSBsbHZtOiBhbGxvdyBlbnYgb3ZlcnJpZGUgb2YgZXhlIHBhdGgKQEAgLTE2LDE2ICsxNiwxNiBAQAogU2lnbmVkLW9mZi1ieTogTWFydGluIEtlbGx5IDxta2VsbHlAeGV2by5jb20+CiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogLS0tCi0gdG9vbHMvbGx2bS1jb25maWcvbGx2bS1jb25maWcuY3BwIHwgMTcgKysrKysrKysrKysrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorIHRvb2xzL2xsdm0tY29uZmlnL2xsdm0tY29uZmlnLmNwcCB8IDM1ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS90b29scy9sbHZtLWNvbmZpZy9sbHZtLWNvbmZpZy5jcHAgYi90b29scy9sbHZtLWNvbmZpZy9sbHZtLWNvbmZpZy5jcHAKLWluZGV4IDA4YjA5NmFmYjA1Li4zNjBjYzVhYmY0ZSAxMDA2NDQKK2luZGV4IGJlYzg5ZmVmOThjLi45MWI0ZDZlNGM0MyAxMDA2NDQKIC0tLSBhL3Rvb2xzL2xsdm0tY29uZmlnL2xsdm0tY29uZmlnLmNwcAogKysrIGIvdG9vbHMvbGx2bS1jb25maWcvbGx2bS1jb25maWcuY3BwCi1AQCAtMjI1LDYgKzIyNSwxMyBAQCBUeXBpY2FsIGNvbXBvbmVudHM6XG5cCitAQCAtMjI2LDYgKzIyNiwxMyBAQCBUeXBpY2FsIGNvbXBvbmVudHM6XG5cCiAgCi0gLy8vIFxicmllZiBDb21wdXRlIHRoZSBwYXRoIHRvIHRoZSBtYWluIGV4ZWN1dGFibGUuCisgLy8vIENvbXB1dGUgdGhlIHBhdGggdG8gdGhlIG1haW4gZXhlY3V0YWJsZS4KICBzdGQ6OnN0cmluZyBHZXRFeGVjdXRhYmxlUGF0aChjb25zdCBjaGFyICpBcmd2MCkgewogKyAgLy8gSGFjayBmb3IgWW9jdG86IHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHJvb3QgcGF0aCB3aGVuIHdlIGFyZSB1c2luZwogKyAgLy8gbGx2bS1jb25maWcgZnJvbSB3aXRoaW4gYSB0YXJnZXQgc3lzcm9vdC4KQEAgLTM3LDcgKzM3LDI1IEBACiAgICAvLyBUaGlzIGp1c3QgbmVlZHMgdG8gYmUgc29tZSBzeW1ib2wgaW4gdGhlIGJpbmFyeTsgQysrIGRvZXNuJ3QKICAgIC8vIGFsbG93IHRha2luZyB0aGUgYWRkcmVzcyBvZiA6Om1haW4gaG93ZXZlci4KICAgIHZvaWQgKlAgPSAodm9pZCAqKShpbnRwdHJfdClHZXRFeGVjdXRhYmxlUGF0aDsKLUBAIC0zMDYsMTIgKzMxMywyMCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKK0BAIC0yODQsNyArMjkxLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgICAvLyBiaW4gZGlyKS4KKyAgIHN5czo6ZnM6Om1ha2VfYWJzb2x1dGUoQ3VycmVudFBhdGgpOworICAgQ3VycmVudEV4ZWNQcmVmaXggPQorLSAgICAgIHN5czo6cGF0aDo6cGFyZW50X3BhdGgoc3lzOjpwYXRoOjpwYXJlbnRfcGF0aChDdXJyZW50UGF0aCkpLnN0cigpOworKyAgICAgIHN5czo6cGF0aDo6cGFyZW50X3BhdGgoc3lzOjpwYXRoOjpwYXJlbnRfcGF0aChzeXM6OnBhdGg6OnBhcmVudF9wYXRoKEN1cnJlbnRQYXRoKSkpLnN0cigpOworIAorICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHdlIGFyZSBpbnNpZGUgYSBkZXZlbG9wbWVudCB0cmVlIGJ5IGNvbXBhcmluZyB0byBwb3NzaWJsZQorICAgLy8gbG9jYXRpb25zIChwcmVmaXggc3R5bGUgb3IgQ01ha2Ugc3R5bGUpLgorQEAgLTI5Myw3ICszMDAsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICAgRGV2ZWxvcG1lbnRUcmVlTGF5b3V0ID0gQ01ha2VTdHlsZTsKKyAgICAgQWN0aXZlT2JqUm9vdCA9IExMVk1fT0JKX1JPT1Q7CisgICB9IGVsc2UgaWYgKHN5czo6ZnM6OmVxdWl2YWxlbnQoQ3VycmVudEV4ZWNQcmVmaXgsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHdpbmUoTExWTV9PQkpfUk9PVCkgKyAiL2JpbiIpKSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHdpbmUoTExWTV9PQkpfUk9PVCkgKyAiL2Jpbi9sbHZtOC4wLjAiKSkgeworICAgICBJc0luRGV2ZWxvcG1lbnRUcmVlID0gdHJ1ZTsKKyAgICAgRGV2ZWxvcG1lbnRUcmVlTGF5b3V0ID0gQ01ha2VCdWlsZE1vZGVTdHlsZTsKKyAgICAgQWN0aXZlT2JqUm9vdCA9IExMVk1fT0JKX1JPT1Q7CitAQCAtMzA3LDM3ICszMTQsNDUgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgICBzdGQ6OnN0cmluZyBBY3RpdmVQcmVmaXgsIEFjdGl2ZUJpbkRpciwgQWN0aXZlSW5jbHVkZURpciwgQWN0aXZlTGliRGlyLAogICAgICAgICAgICAgICAgQWN0aXZlQ01ha2VEaXI7CiAgICBzdGQ6OnN0cmluZyBBY3RpdmVJbmNsdWRlT3B0aW9uOwpAQCAtNDUsMTEgKzYzLDEyIEBACiArICAvLyBsbHZtLWNvbmZpZyBmcm9tIHdpdGhpbiBhIHRhcmdldCBzeXNyb290LgogKyAgc3RkOjpzdHJpbmcgTXVsdGlsaWJkaXIgPSBzdGQ6OmdldGVudigiWU9DVE9fQUxURVJOQVRFX01VTFRJTElCX05BTUUiKTsKICsgIGlmIChNdWx0aWxpYmRpci5lbXB0eSgpKSB7Ci0rICAgIE11bHRpbGliZGlyID0gIi9saWIiIExMVk1fTElCRElSX1NVRkZJWDsKKysgICAgTXVsdGlsaWJkaXIgPSAiL2xpYi9sbHZtOC4wLjAiIExMVk1fTElCRElSX1NVRkZJWDsKICsgIH0KICsKICAgIGlmIChJc0luRGV2ZWxvcG1lbnRUcmVlKSB7Ci0gICAgIEFjdGl2ZUluY2x1ZGVEaXIgPSBzdGQ6OnN0cmluZyhMTFZNX1NSQ19ST09UKSArICIvaW5jbHVkZSI7CistICAgIEFjdGl2ZUluY2x1ZGVEaXIgPSBzdGQ6OnN0cmluZyhMTFZNX1NSQ19ST09UKSArICIvaW5jbHVkZSI7CisrICAgIEFjdGl2ZUluY2x1ZGVEaXIgPSBzdGQ6OnN0cmluZyhMTFZNX1NSQ19ST09UKSArICIvaW5jbHVkZS9sbHZtOC4wLjAiOwogICAgICBBY3RpdmVQcmVmaXggPSBDdXJyZW50RXhlY1ByZWZpeDsKICAKICAgICAgLy8gQ01ha2Ugb3JnYW5pemVzIHRoZSBwcm9kdWN0cyBkaWZmZXJlbnRseSB0aGFuIGEgbm9ybWFsIHByZWZpeCBzdHlsZQpAQCAtNTcsOCArNzYsMzEgQEAKICsKICAgICAgc3dpdGNoIChEZXZlbG9wbWVudFRyZWVMYXlvdXQpIHsKICAgICAgY2FzZSBDTWFrZVN0eWxlOgotICAgICAgIEFjdGl2ZUJpbkRpciA9IEFjdGl2ZU9ialJvb3QgKyAiL2JpbiI7Ci1AQCAtMzM2LDcgKzM1MSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworLSAgICAgIEFjdGl2ZUJpbkRpciA9IEFjdGl2ZU9ialJvb3QgKyAiL2JpbiI7CistICAgICAgQWN0aXZlTGliRGlyID0gQWN0aXZlT2JqUm9vdCArICIvbGliIiArIExMVk1fTElCRElSX1NVRkZJWDsKKysgICAgICBBY3RpdmVCaW5EaXIgPSBBY3RpdmVPYmpSb290ICsgIi9iaW4vbGx2bTguMC4wIjsKKysgICAgICBBY3RpdmVMaWJEaXIgPSBBY3RpdmVPYmpSb290ICsgIi9saWIvbGx2bTguMC4wIiArIExMVk1fTElCRElSX1NVRkZJWDsKKyAgICAgICBBY3RpdmVDTWFrZURpciA9IEFjdGl2ZUxpYkRpciArICIvY21ha2UvbGx2bSI7CisgICAgICAgYnJlYWs7CisgICAgIGNhc2UgQ01ha2VCdWlsZE1vZGVTdHlsZToKKyAgICAgICBBY3RpdmVQcmVmaXggPSBBY3RpdmVPYmpSb290OworLSAgICAgIEFjdGl2ZUJpbkRpciA9IEFjdGl2ZU9ialJvb3QgKyAiL2Jpbi8iICsgYnVpbGRfbW9kZTsKKysgICAgICBBY3RpdmVCaW5EaXIgPSBBY3RpdmVPYmpSb290ICsgIi9iaW4vbGx2bTguMC4wLyIgKyBidWlsZF9tb2RlOworICAgICAgIEFjdGl2ZUxpYkRpciA9CistICAgICAgICAgIEFjdGl2ZU9ialJvb3QgKyAiL2xpYiIgKyBMTFZNX0xJQkRJUl9TVUZGSVggKyAiLyIgKyBidWlsZF9tb2RlOworKyAgICAgICAgICBBY3RpdmVPYmpSb290ICsgIi9saWIvbGx2bTguMC4wIiArIExMVk1fTElCRElSX1NVRkZJWCArICIvIiArIGJ1aWxkX21vZGU7CisgICAgICAgQWN0aXZlQ01ha2VEaXIgPSBBY3RpdmVMaWJEaXIgKyAiL2NtYWtlL2xsdm0iOworICAgICAgIGJyZWFrOworICAgICB9CisgCisgICAgIC8vIFdlIG5lZWQgdG8gaW5jbHVkZSBmaWxlcyBmcm9tIGJvdGggdGhlIHNvdXJjZSBhbmQgb2JqZWN0IHRyZWVzLgorICAgICBBY3RpdmVJbmNsdWRlT3B0aW9uID0KKy0gICAgICAgICgiLUkiICsgQWN0aXZlSW5jbHVkZURpciArICIgIiArICItSSIgKyBBY3RpdmVPYmpSb290ICsgIi9pbmNsdWRlIik7CisrICAgICAgICAoIi1JIiArIEFjdGl2ZUluY2x1ZGVEaXIgKyAiICIgKyAiLUkiICsgQWN0aXZlT2JqUm9vdCArICIvaW5jbHVkZS9sbHZtOC4wLjAiKTsKKyAgIH0gZWxzZSB7CisgICAgIEFjdGl2ZVByZWZpeCA9IEN1cnJlbnRFeGVjUHJlZml4OworLSAgICBBY3RpdmVJbmNsdWRlRGlyID0gQWN0aXZlUHJlZml4ICsgIi9pbmNsdWRlIjsKKysgICAgQWN0aXZlSW5jbHVkZURpciA9IEFjdGl2ZVByZWZpeCArICIvaW5jbHVkZS9sbHZtOC4wLjAiOwogICAgICBTbWFsbFN0cmluZzwyNTY+IHBhdGgoU3RyaW5nUmVmKExMVk1fVE9PTFNfSU5TVEFMTF9ESVIpKTsKICAgICAgc3lzOjpmczo6bWFrZV9hYnNvbHV0ZShBY3RpdmVQcmVmaXgsIHBhdGgpOwogICAgICBBY3RpdmVCaW5EaXIgPSBwYXRoLnN0cigpOwpAQCAtNjgsNSArMTEwLDUgQEAKICAgICAgQWN0aXZlSW5jbHVkZU9wdGlvbiA9ICItSSIgKyBBY3RpdmVJbmNsdWRlRGlyOwogICAgfQogLS0gCi0yLjE4LjAKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9sbHZtL2xsdm1fZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGx2bS9sbHZtX2dpdC5iYgppbmRleCA3Mjc4NzYzLi4wMDY3NjM1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9sbHZtL2xsdm1fZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xsdm0vbGx2bV9naXQuYmIKQEAgLTYsNDEgKzYsNDYgQEAKIExJQ0VOU0UgPSAiTkNTQSIKIFNFQ1RJT04gPSAiZGV2ZWwiCiAKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UuVFhUO21kNT1lODI1ZTAxN2VkYzM1Y2ZkNThlMjYxMTZlNTI1MTc3MSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UuVFhUO21kNT1jNmI3NjZhNGU4NWRkMjgzMDFlZWVkNTRhNjY4NDY0OCIKIAogREVQRU5EUyA9ICJsaWJmZmkgbGlieG1sMiB6bGliIG5pbmphLW5hdGl2ZSBsbHZtLW5hdGl2ZSIKIAogUkRFUEVORFNfJHtQTn1fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgbmN1cnNlcy10ZXJtaW5mbyIKIAotaW5oZXJpdCBwZXJsbmF0aXZlIHB5dGhvbm5hdGl2ZSBjbWFrZSBwa2djb25maWcKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnCiAKIFBST1ZJREVTICs9ICJsbHZtJHtQVn0iCiAKIExMVk1fUkVMRUFTRSA9ICIke1BWfSIKIExMVk1fRElSID0gImxsdm0ke0xMVk1fUkVMRUFTRX0iCiAKLVNSQ1JFViA9ICI1MTM2ZGY0ZDA4OWEwODZiNzBkNDUyMTYwYWQ1NDUxODYxMjY5NDk4IgotUFYgPSAiNi4wIgotQlJBTkNIID0gInJlbGVhc2VfNjAiCi1QQVRDSF9WRVJTSU9OID0gIjEiCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGx2bS1taXJyb3IvbGx2bS5naXQ7YnJhbmNoPSR7QlJBTkNIfTtwcm90b2NvbD1odHRwIFwKK1NSQ1JFViA9ICJkMjI5OGU3NDIzNTU5OGYxNTU5NGZlMmM5OWJiYWM4NzBhNTA3YzU5IgorCitCUkFOQ0ggPSAicmVsZWFzZS8ke01BSk9SX1ZFUlNJT059LngiCitNQUpPUl9WRVJTSU9OID0gIjgiCitNSU5PUl9WRVJTSU9OID0gIjAiCitQQVRDSF9WRVJTSU9OID0gIjAiCitTT0xJQlZFUiA9ICIxIgorUFYgPSAiJHtNQUpPUl9WRVJTSU9OfS4ke01JTk9SX1ZFUlNJT059LiR7UEFUQ0hfVkVSU0lPTn0iCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QuZ2l0O2JyYW5jaD0ke0JSQU5DSH0gXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1sbHZtLVRhcmdldExpYnJhcnlJbmZvLVVuZGVmaW5lLWxpYmMtZnVuY3Rpb25zLWlmLXRoLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDItbGx2bS1hbGxvdy1lbnYtb3ZlcnJpZGUtb2YtZXhlLXBhdGgucGF0Y2ggXAogICAgICAgICAgICIKLVVQU1RSRUFNX0NIRUNLX0NPTU1JVFMgPSAiMSIKLVMgPSAiJHtXT1JLRElSfS9naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQvbGx2bSIKIAogTExWTV9JTlNUQUxMX0RJUiA9ICIke1dPUktESVJ9L2xsdm0taW5zdGFsbCIKKwogZGVmIGdldF9sbHZtX2FyY2goYmIsIGQsIGFyY2hfdmFyKToKICAgICBpbXBvcnQgcmUKICAgICBhID0gZC5nZXRWYXIoYXJjaF92YXIpCi0gICAgaWYgICByZS5tYXRjaCgnKGkuODZ8YXRobG9ufHg4Ni42NCkkJywgYSk6ICAgICAgICAgcmV0dXJuICdYODYnCi0gICAgZWxpZiByZS5tYXRjaCgnYXJtJCcsIGEpOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdBUk0nCi0gICAgZWxpZiByZS5tYXRjaCgnYXJtZWIkJywgYSk6ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdBUk0nCi0gICAgZWxpZiByZS5tYXRjaCgnYWFyY2g2NCQnLCBhKTogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdBQXJjaDY0JwotICAgIGVsaWYgcmUubWF0Y2goJ2FhcmNoNjRfYmUkJywgYSk6ICAgICAgICAgICAgICAgICAgIHJldHVybiAnQUFyY2g2NCcKLSAgICBlbGlmIHJlLm1hdGNoKCdtaXBzKGlzYXwpKDMyfDY0fCkocjZ8KShlbHwpJCcsIGEpOiByZXR1cm4gJ01pcHMnCi0gICAgZWxpZiByZS5tYXRjaCgncChwY3xvd2VycGMpKHw2NCknLCBhKTogICAgICAgICAgICAgcmV0dXJuICdQb3dlclBDJworICAgIGlmICAgcmUubWF0Y2gocicoaS44NnxhdGhsb258eDg2LjY0KSQnLCBhKTogICAgICAgICByZXR1cm4gJ1g4NicKKyAgICBlbGlmIHJlLm1hdGNoKHInYXJtJCcsIGEpOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdBUk0nCisgICAgZWxpZiByZS5tYXRjaChyJ2FybWViJCcsIGEpOiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnQVJNJworICAgIGVsaWYgcmUubWF0Y2gocidhYXJjaDY0JCcsIGEpOiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ0FBcmNoNjQnCisgICAgZWxpZiByZS5tYXRjaChyJ2FhcmNoNjRfYmUkJywgYSk6ICAgICAgICAgICAgICAgICAgIHJldHVybiAnQUFyY2g2NCcKKyAgICBlbGlmIHJlLm1hdGNoKHInbWlwcyhpc2F8KSgzMnw2NHwpKHI2fCkoZWx8KSQnLCBhKTogcmV0dXJuICdNaXBzJworICAgIGVsaWYgcmUubWF0Y2gocidwKHBjfG93ZXJwYykofDY0KScsIGEpOiAgICAgICAgICAgICByZXR1cm4gJ1Bvd2VyUEMnCiAgICAgZWxzZToKICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiQ2Fubm90IG1hcCAnJXMnIHRvIGEgc3VwcG9ydGVkIExMVk0gYXJjaGl0ZWN0dXJlIiAlIGEpCiAKQEAgLTYxLDkgKzY2LDEyIEBACiAgICAgICAgICAgICAgICAgICAtRExMVk1fQklORElOR1NfTElTVD0nJyBcCiAgICAgICAgICAgICAgICAgICAtRExMVk1fTElOS19MTFZNX0RZTElCPU9OIFwKICAgICAgICAgICAgICAgICAgIC1ETExWTV9FTkFCTEVfRkZJPU9OIFwKKyAgICAgICAgICAgICAgICAgIC1ETExWTV9FTkFCTEVfUlRUST1PTiBcCiAgICAgICAgICAgICAgICAgICAtREZGSV9JTkNMVURFX0RJUj0kKHBrZy1jb25maWcgLS12YXJpYWJsZT1pbmNsdWRlZGlyIGxpYmZmaSkgXAogICAgICAgICAgICAgICAgICAgLURMTFZNX09QVElNSVpFRF9UQUJMRUdFTj1PTiBcCiAgICAgICAgICAgICAgICAgICAtRExMVk1fVEFSR0VUU19UT19CVUlMRD0nJHtMTFZNX1RBUkdFVFN9JyBcCisgICAgICAgICAgICAgICAgICAtRExMVk1fVEVNUE9SQVJJTFlfQUxMT1dfT0xEX1RPT0xDSEFJTj1PTiBcCisgICAgICAgICAgICAgICAgICAtRFBZVEhPTl9FWEVDVVRBQkxFPSR7SE9TVFRPT0xTX0RJUn0vcHl0aG9uMiBcCiAgICAgICAgICAgICAgICAgICAtRyBOaW5qYSIKIAogRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIlwKQEAgLTc4LDYgKzg2LDggQEAKICAgICAgICAgICAgICAgICAgIC1ETExWTV9DT05GSUdfUEFUSD0ke1NUQUdJTkdfQklORElSX05BVElWRX0vbGx2bS1jb25maWcke1BWfSBcCiAgICAgICAgICAgICAgICAgICIKIAorQ1hYRkxBR1NfYXBwZW5kX2NsYXNzLXRhcmdldF9wb3dlcnBjID0gIiAtbWxvbmdjYWxsIgorCiBkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKICMgRml4IHBhdGhzIGluIGxsdm0tY29uZmlnCiAJc2VkIC1pICJzfHN5czo6cGF0aDo6cGFyZW50X3BhdGgoQ3VycmVudFBhdGgpKVwuc3RyKCl8c3lzOjpwYXRoOjpwYXJlbnRfcGF0aChzeXM6OnBhdGg6OnBhcmVudF9wYXRoKEN1cnJlbnRQYXRoKSkpLnN0cigpfGciICR7U30vdG9vbHMvbGx2bS1jb25maWcvbGx2bS1jb25maWcuY3BwCkBAIC0xMTcsNzEgKzEyNyw1NCBAQAogCSMgUmVtb3ZlIHVubmVjZXNzYXJ5IGNtYWtlIGZpbGVzCiAJcm0gLXJmICR7RH0ke2xpYmRpcn0vJHtMTFZNX0RJUn0vY21ha2UKIAotCWxuIC1zICR7TExWTV9ESVJ9L2xpYkxMVk0tJHtQVn0ke1NPTElCU0RFVn0gJHtEfSR7bGliZGlyfS9saWJMTFZNLSR7UFZ9JHtTT0xJQlNERVZ9CisJbG4gLXMgJHtMTFZNX0RJUn0vbGliTExWTS0ke01BSk9SX1ZFUlNJT059JHtTT0xJQlNERVZ9ICR7RH0ke2xpYmRpcn0vbGliTExWTS0ke01BSk9SX1ZFUlNJT059JHtTT0xJQlNERVZ9CiAKIAkjIFdlJ2xsIGhhdmUgdG8gZGVsZXRlIHRoZSBsaWJMTFZNLnNvIGR1ZSB0byBtdWx0aXBsZSByZWFzb25zLi4uCiAJcm0gLXJmICR7RH0ke2xpYmRpcn0vJHtMTFZNX0RJUn0vbGliTExWTS5zbwogCXJtIC1yZiAke0R9JHtsaWJkaXJ9LyR7TExWTV9ESVJ9L2xpYkxUTy5zbwogfQorCiBkb19pbnN0YWxsX2NsYXNzLW5hdGl2ZSgpIHsKIAlpbnN0YWxsIC1EIC1tIDA3NTUgJHtCfS9iaW4vbGx2bS10YmxnZW4gJHtEfSR7YmluZGlyfS9sbHZtLXRibGdlbiR7UFZ9CiAJaW5zdGFsbCAtRCAtbSAwNzU1ICR7Qn0vYmluL2xsdm0tY29uZmlnICR7RH0ke2JpbmRpcn0vbGx2bS1jb25maWcke1BWfQotCWluc3RhbGwgLUQgLW0gMDc1NSAke0J9L2xpYi9saWJMTFZNLSR7UFZ9LnNvICR7RH0ke2xpYmRpcn0vbGliTExWTS0ke1BWfS5zbworCWluc3RhbGwgLUQgLW0gMDc1NSAke0J9L2xpYi9saWJMTFZNLSR7TUFKT1JfVkVSU0lPTn0uc28gJHtEfSR7bGliZGlyfS9saWJMTFZNLSR7TUFKT1JfVkVSU0lPTn0uc28KIH0KIAotUEFDS0FHRVMgKz0gIiR7UE59LWJ1Z3BvaW50cGFzc2VzICR7UE59LWxsdm1oZWxsbyIKLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCi1BTExPV19FTVBUWV8ke1BOfS1zdGF0aWNkZXYgPSAiMSIKLUZJTEVTXyR7UE59ID0gIiIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiA9ICIiCi1GSUxFU18ke1BOfS1kYmcgPSAiIFwKLSAgICAke2JpbmRpcn0vJHtMTFZNX0RJUn0vLmRlYnVnIFwKLSAgICAke2xpYmRpcn0vJHtMTFZNX0RJUn0vLmRlYnVnL0J1Z3BvaW50UGFzc2VzLnNvIFwKLSAgICAke2xpYmRpcn0vJHtMTFZNX0RJUn0vLmRlYnVnL0xMVk1IZWxsby5zbyBcCi0gICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9Ly5kZWJ1Zy9saWJMVE8uc28qIFwKLSAgICAke2xpYmRpcn0vJHtMTFZNX0RJUn0vLmRlYnVnL2xsdm0tY29uZmlnIFwKLSAgICAvdXNyL3NyYy9kZWJ1ZyBcCi0iCitQQUNLQUdFUyA9KyAiJHtQTn0tYnVncG9pbnRwYXNzZXMgJHtQTn0tbGx2bWhlbGxvICR7UE59LWxpYmxsdm0gJHtQTn0tbGlib3B0cmVtYXJrcyAke1BOfS1saWJsdG8iCiAKLUZJTEVTXyR7UE59LWRldiA9ICIgXAotICAgICR7YmluZGlyfS8ke0xMVk1fRElSfSBcCi0gICAgJHtpbmNsdWRlZGlyfS8ke0xMVk1fRElSfSBcCi0gICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L2xsdm0tY29uZmlnIFwKLSIKLQotUlJFQ09NTUVORFNfJHtQTn0tZGV2ICs9ICIke1BOfS1idWdwb2ludHBhc3NlcyAke1BOfS1sbHZtaGVsbG8iCitSUkVDT01NRU5EU18ke1BOfS1kZXYgKz0gIiR7UE59LWJ1Z3BvaW50cGFzc2VzICR7UE59LWxsdm1oZWxsbyAke1BOfS1saWJvcHRyZW1hcmtzIgogCiBGSUxFU18ke1BOfS1idWdwb2ludHBhc3NlcyA9ICJcCiAgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L0J1Z3BvaW50UGFzc2VzLnNvIFwKICIKLUZJTEVTXyR7UE59ICs9ICJcCisKK0ZJTEVTXyR7UE59LWxpYmxsdm0gPSAiXAorICAgICR7bGliZGlyfS8ke0xMVk1fRElSfS9saWJMTFZNLSR7TUFKT1JfVkVSU0lPTn0uc28gXAorICAgICR7bGliZGlyfS9saWJMTFZNLSR7TUFKT1JfVkVSU0lPTn0uc28gXAorIgorCitGSUxFU18ke1BOfS1saWJsdG8gKz0gIlwKICAgICAke2xpYmRpcn0vJHtMTFZNX0RJUn0vbGliTFRPLnNvLiogXAogIgogCitGSUxFU18ke1BOfS1saWJvcHRyZW1hcmtzICs9ICJcCisgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L2xpYk9wdFJlbWFya3Muc28uKiBcCisiCisKIEZJTEVTXyR7UE59LWxsdm1oZWxsbyA9ICJcCiAgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L0xMVk1IZWxsby5zbyBcCiAiCiAKLVBBQ0tBR0VTX0RZTkFNSUMgPSAiXmxpYmxsdm0ke0xMVk1fUkVMRUFTRX0tLiokIgotTk9BVVRPUEFDS0FHRURFQlVHID0gIjEiCitGSUxFU18ke1BOfS1kZXYgKz0gIiBcCisgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L2xsdm0tY29uZmlnIFwKKyAgICAke2xpYmRpcn0vJHtMTFZNX0RJUn0vbGliT3B0UmVtYXJrcy5zbyBcCisgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L2xpYkxMVk0tJHtNQUpPUl9WRVJTSU9OfS4ke01JTk9SX1ZFUlNJT059LiR7UEFUQ0hfVkVSU0lPTn0uc28gXAorIgogCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmxsdm0ke0xMVk1fUkVMRUFTRX0tbGx2bS0ke0xMVk1fUkVMRUFTRX0uJHtQQVRDSF9WRVJTSU9OfSArPSAiZGV2LXNvIgotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJsbHZtJHtMTFZNX1JFTEVBU0V9LWxsdm0tJHtMTFZNX1JFTEVBU0V9ICs9ICJkZXYtc28iCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmxsdm0ke0xMVk1fUkVMRUFTRX0tbGx2bSArPSAiZGV2LXNvIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICJcCisgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9LyouYSBcCisiCiAKLXB5dGhvbiBsbHZtX3BvcHVsYXRlX3BhY2thZ2VzKCkgewotICAgIGxpYmRpciA9IGJiLmRhdGEuZXhwYW5kKCcke2xpYmRpcn0nLCBkKQotICAgIGxpYmxsdm1fbGliZGlyID0gYmIuZGF0YS5leHBhbmQoJyR7bGliZGlyfS8ke0xMVk1fRElSfScsIGQpCi0gICAgc3BsaXRfZGJnX3BhY2thZ2VzID0gZG9fc3BsaXRfcGFja2FnZXMoZCwgbGlibGx2bV9saWJkaXIrJy8uZGVidWcnLCAnXmxpYiguKilcLnNvJCcsICdsaWJsbHZtJHtMTFZNX1JFTEVBU0V9LSVzLWRiZycsICdTcGxpdCBkZWJ1ZyBwYWNrYWdlIGZvciAlcycsIGFsbG93X2RpcnM9VHJ1ZSkKLSAgICBzcGxpdF9wYWNrYWdlcyA9IGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxpYmRpciwgJ15saWIoLiopXC5zbyQnLCAnbGlibGx2bSR7TExWTV9SRUxFQVNFfS0lcycsICdTcGxpdCBwYWNrYWdlIGZvciAlcycsIGFsbG93X2RpcnM9VHJ1ZSwgYWxsb3dfbGlua3M9VHJ1ZSwgcmVjdXJzaXZlPVRydWUpCi0gICAgc3BsaXRfc3RhdGljZGV2X3BhY2thZ2VzID0gZG9fc3BsaXRfcGFja2FnZXMoZCwgbGlibGx2bV9saWJkaXIsICdebGliKC4qKVwuYSQnLCAnbGlibGx2bSR7TExWTV9SRUxFQVNFfS0lcy1zdGF0aWNkZXYnLCAnU3BsaXQgc3RhdGljZGV2IHBhY2thZ2UgZm9yICVzJywgYWxsb3dfZGlycz1UcnVlKQotICAgIGlmIHNwbGl0X3BhY2thZ2VzOgotICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCi0gICAgICAgIGQuYXBwZW5kVmFyKCdSREVQRU5EU18nICsgcG4sICcgJysnICcuam9pbihzcGxpdF9wYWNrYWdlcykpCi0gICAgICAgIGQuYXBwZW5kVmFyKCdSREVQRU5EU18nICsgcG4gKyAnLWRiZycsICcgJysnICcuam9pbihzcGxpdF9kYmdfcGFja2FnZXMpKQotICAgICAgICBkLmFwcGVuZFZhcignUkRFUEVORFNfJyArIHBuICsgJy1zdGF0aWNkZXYnLCAnICcrJyAnLmpvaW4oc3BsaXRfc3RhdGljZGV2X3BhY2thZ2VzKSkKLX0KLQotUEFDS0FHRVNQTElURlVOQ1NfcHJlcGVuZCA9ICJsbHZtX3BvcHVsYXRlX3BhY2thZ2VzICIKK0lOU0FORV9TS0lQXyR7UE59LWxpYmxsdm0gKz0gImRldi1zbyIKIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24uaW5jCmluZGV4IDYxYjIzOTEuLjJkMThmNzIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi5pbmMKQEAgLTksMTcgKzksMjAgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDItZ29iamVjdC1pbnRyb3NwZWN0aW9uLWRldGVybWluZS1nLWlyLXNjYW5uZXItYW5kLWctaS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUxpbmtlci1ydWxlcy1tb3ZlLWNyb3NzX2FyZ3MtaW4tZnJvbnQtb2Ytb3V0cHV0X2FyZ3MucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMy1uYXRpdmVfYmluZGlyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2dpLWZsYWdzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2d0a2RvYy1mbGFncy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXB5dGhvbi1tb2R1bGUtZG8tbm90LW1hbmlwdWxhdGUtdGhlLWVudmlyb25tZW50LXdoZW4ucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1ycGF0aC1oYW5kbGluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1vZHVsZXMtd2luZG93cy1zcGxpdC1XSU5EUkVTLWVudi12YXJpYWJsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWVudmlyb25tZW50LnB5LWRldGVjdC13aW5kb3dzLWFsc28taWYtdGhlLXN5c3RlbS1zdHIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3MtcHJvcC1kZWZhdWx0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL21hbnktY3Jvc3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3MtbGliZGlyLnBhdGNoIFwKICAgICAgICAgICAgIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkyZDhhZmQ5MjE3NTEyNjFlMzYxNTE2NDM0NjRlZmQzMzk0MTYyZjY5ZWZiZThjZDUzZTBhNjZiMWNmMzk1ZWIiCi1TUkNfVVJJW21kNXN1bV0gPSAiMzFiZGEzNTE5ZDhjMGViMzQzODI2NzI2OGE3ODA4NWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWY5ZjE0MzI2ZWMxZTMwZDNiYTFhMjZkZjBmOTI4MjZlZGU1YTc5MjU1YWQ3MjNhZjc4YTI2OTFjMzcxMDlmZCIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMjY3YjA4NzEyNjYwNTYxODRjNDg0NzkyNTcyYzY4MiIKIAogU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBcCi0gICAgZmlsZTovLzAwMDItTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1TdXBwb3J0LWJ1aWxkaW5nLWFsbGFyY2gtcmVjaXBlcy1hZ2Fpbi5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1TdXBwb3J0LWJ1aWxkaW5nLWFsbGFyY2gtcmVjaXBlcy1hZ2Fpbi5wYXRjaCBcCiAiCiAKIFVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbi9yZWxlYXNlcyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1NYWtlLUNQVS1mYW1pbHktd2FybmluZ3MtZmF0YWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJjM2Y1YQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gMmRiODI5ZDg2NWJiNjQ2NGFjMTVkYmI0YTU4YzlhNjc1ZTI5Njg2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitEYXRlOiBUdWUsIDMgSnVsIDIwMTggMTM6NTk6MDkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZSBDUFUgZmFtaWx5IHdhcm5pbmdzIGZhdGFsCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCistLS0KKyBtZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5IHwgNiArKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weSBiL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKK2luZGV4IDJjY2QzMWUuLjVmY2Y5ZGYgMTAwNjQ0CistLS0gYS9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CisrKysgYi9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CitAQCAtMjY1LDkgKzI2NSw3IEBAIGRlZiBkZXRlY3RfY3B1X2ZhbWlseShjb21waWxlcnMpOgorICAgICAjIGJlbG93LgorIAorICAgICBpZiB0cmlhbCBub3QgaW4ga25vd25fY3B1X2ZhbWlsaWVzOgorLSAgICAgICAgbWxvZy53YXJuaW5nKCdVbmtub3duIENQVSBmYW1pbHkgeyFyfSwgcGxlYXNlIHJlcG9ydCB0aGlzIGF0ICcKKy0gICAgICAgICAgICAgICAgICAgICAnaHR0cHM6Ly9naXRodWIuY29tL21lc29uYnVpbGQvbWVzb24vaXNzdWVzL25ldyB3aXRoIHRoZScKKy0gICAgICAgICAgICAgICAgICAgICAnb3V0cHV0IG9mIGB1bmFtZSAtYWAgYW5kIGBjYXQgL3Byb2MvY3B1aW5mb2AnLmZvcm1hdCh0cmlhbCkpCisrICAgICAgICByYWlzZSBFbnZpcm9ubWVudEV4Y2VwdGlvbignVW5rbm93biBDUFUgZmFtaWx5ICVzLCBzZWUgaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9NZXNvbi9Vbmtub3duQ1BVIGZvciBkaXJlY3Rpb25zLicgJSB0cmlhbCkKKyAKKyAgICAgcmV0dXJuIHRyaWFsCisgCitAQCAtMTIzMiw3ICsxMjMwLDcgQEAgY2xhc3MgTWFjaGluZUluZm86CisgCisgICAgICAgICBjcHVfZmFtaWx5ID0gbGl0ZXJhbFsnY3B1X2ZhbWlseSddCisgICAgICAgICBpZiBjcHVfZmFtaWx5IG5vdCBpbiBrbm93bl9jcHVfZmFtaWxpZXM6CistICAgICAgICAgICAgbWxvZy53YXJuaW5nKCdVbmtub3duIENQVSBmYW1pbHkgJXMsIHBsZWFzZSByZXBvcnQgdGhpcyBhdCBodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbi9pc3N1ZXMvbmV3JyAlIGNwdV9mYW1pbHkpCisrICAgICAgICAgICAgcmFpc2UgRW52aXJvbm1lbnRFeGNlcHRpb24oJ1Vua25vd24gQ1BVIGZhbWlseSAlcywgc2VlIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvTWVzb24vVW5rbm93bkNQVSBmb3IgZGlyZWN0aW9ucy4nICUgY3B1X2ZhbWlseSkKKyAKKyAgICAgICAgIGVuZGlhbiA9IGxpdGVyYWxbJ2VuZGlhbiddCisgICAgICAgICBpZiBlbmRpYW4gbm90IGluICgnbGl0dGxlJywgJ2JpZycpOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1TdXBwb3J0LWJ1aWxkaW5nLWFsbGFyY2gtcmVjaXBlcy1hZ2Fpbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtU3VwcG9ydC1idWlsZGluZy1hbGxhcmNoLXJlY2lwZXMtYWdhaW4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2YmUxMDQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1TdXBwb3J0LWJ1aWxkaW5nLWFsbGFyY2gtcmVjaXBlcy1hZ2Fpbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLUZyb20gZDgwZDAyYTNjYTZlMjFmYTNkMDU1Yzg4YzA1MjM0YzJlYjRkYjEyOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgotRGF0ZTogVGh1LCAyNiBKdWwgMjAxOCAxNjozMjo0OSArMDIwMAotU3ViamVjdDogW1BBVENIXSBTdXBwb3J0IGJ1aWxkaW5nIGFsbGFyY2ggcmVjaXBlcyBhZ2FpbgotCi1UaGlzIHJlZ2lzdGVycyAiYWxsYXJjaCIgYXMgYSBrbm93biBDUFUgZmFtaWx5LgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQotU2lnbmVkLW9mZi1ieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwZXRlci5ramVsbGVyc3RlZHRAYXhpcy5jb20+Ci0tLS0KLSBtZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5IHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLUluZGV4OiBtZXNvbi0wLjQ3LjIvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIG1lc29uLTAuNDcuMi5vcmlnL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKLSsrKyBtZXNvbi0wLjQ3LjIvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQotQEAgLTc1LDYgKzc1LDcgQEAgZnJvbSAuY29tcGlsZXJzIGltcG9ydCAoCi0gYnVpbGRfZmlsZW5hbWUgPSAnbWVzb24uYnVpbGQnCi0gCi0ga25vd25fY3B1X2ZhbWlsaWVzID0gKAotKyAgICAnYWxsYXJjaCcsCi0gICAgICdhYXJjaDY0JywKLSAgICAgJ2FybScsCi0gICAgICdlMmsnLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1ndGtkb2MtZml4LWlzc3Vlcy10aGF0LWFyaXNlLXdoZW4tY3Jvc3MtY29tcGlsaW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1ndGtkb2MtZml4LWlzc3Vlcy10aGF0LWFyaXNlLXdoZW4tY3Jvc3MtY29tcGlsaW5nLnBhdGNoCmluZGV4IDdmZmQ2YzUuLjExZmQ5ZWQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtZ3RrZG9jLWZpeC1pc3N1ZXMtdGhhdC1hcmlzZS13aGVuLWNyb3NzLWNvbXBpbGluZy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAxLWd0a2RvYy1maXgtaXNzdWVzLXRoYXQtYXJpc2Utd2hlbi1jcm9zcy1jb21waWxpbmcucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDNhYzRlNThjNTQ5NGJkN2U2MDNhMzI1YjViNWMyYjgwNzU4NDlmZWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDFhZmJmNWNjZmY1NmU1ODIyMjljOGY2NzNmNTBhZWRmMmIyNDExN2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIERhdGU6IEZyaSwgNCBBdWcgMjAxNyAxNjoxNjo0MSArMDMwMAogU3ViamVjdDogW1BBVENIXSBndGtkb2M6IGZpeCBpc3N1ZXMgdGhhdCBhcmlzZSB3aGVuIGNyb3NzLWNvbXBpbGluZwpAQCAtMTYsNzAgKzE2LDIxIEBACiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIAogLS0tCi0gbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5ICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKy0tLQotIG1lc29uYnVpbGQvc2NyaXB0cy9ndGtkb2NoZWxwZXIucHkgfCAgOSArKysrKysrLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisgbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5IHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5IGIvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5Ci1pbmRleCBjYjY5NjQxLi43MjdlYjZhIDEwMDY0NAoraW5kZXggYmY0OTc3MC4uN2M1YTM2MyAxMDA2NDQKIC0tLSBhL21lc29uYnVpbGQvbW9kdWxlcy9nbm9tZS5weQogKysrIGIvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5Ci1AQCAtNzkyLDYgKzc5MiwxMCBAQCBUaGlzIHdpbGwgYmVjb21lIGEgaGFyZCBlcnJvciBpbiB0aGUgZnV0dXJlLicnJykKK0BAIC05NzIsNiArOTcyLDEwIEBAIFRoaXMgd2lsbCBiZWNvbWUgYSBoYXJkIGVycm9yIGluIHRoZSBmdXR1cmUuJycnKQogICAgICAgICAgICAgICAgICAnLS1tb2RlPScgKyBtb2RlXQogICAgICAgICAgaWYgbmFtZXNwYWNlOgogICAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLW5hbWVzcGFjZT0nICsgbmFtZXNwYWNlKQogKyAgICAgICAgZ3RrZG9jX2V4ZV93cmFwcGVyID0gc3RhdGUuZW52aXJvbm1lbnQuY3Jvc3NfaW5mby5jb25maWdbInByb3BlcnRpZXMiXS5nZXQoJ2d0a2RvY19leGVfd3JhcHBlcicsIE5vbmUpCiArICAgICAgICBpZiBndGtkb2NfZXhlX3dyYXBwZXIgaXMgbm90IE5vbmU6Ci0rICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0tZ3RrZG9jLWV4ZS13cmFwcGVyPScgKyBndGtkb2NfZXhlX3dyYXBwZXIpCisrICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0tcnVuPScgKyBndGtkb2NfZXhlX3dyYXBwZXIpCiArCiAgICAgICAgICBhcmdzICs9IHNlbGYuX3VucGFja19hcmdzKCctLWh0bWxhcmdzPScsICdodG1sX2FyZ3MnLCBrd2FyZ3MpCiAgICAgICAgICBhcmdzICs9IHNlbGYuX3VucGFja19hcmdzKCctLXNjYW5hcmdzPScsICdzY2FuX2FyZ3MnLCBrd2FyZ3MpCiAgICAgICAgICBhcmdzICs9IHNlbGYuX3VucGFja19hcmdzKCctLXNjYW5vYmpzYXJncz0nLCAnc2Nhbm9ianNfYXJncycsIGt3YXJncykKLWRpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL3NjcmlwdHMvZ3RrZG9jaGVscGVyLnB5IGIvbWVzb25idWlsZC9zY3JpcHRzL2d0a2RvY2hlbHBlci5weQotaW5kZXggOTQ4ZGM1YS4uOWM1YmQxOSAxMDA2NDQKLS0tLSBhL21lc29uYnVpbGQvc2NyaXB0cy9ndGtkb2NoZWxwZXIucHkKLSsrKyBiL21lc29uYnVpbGQvc2NyaXB0cy9ndGtkb2NoZWxwZXIucHkKLUBAIC00NSw2ICs0NSw3IEBAIHBhcnNlci5hZGRfYXJndW1lbnQoJy0taWdub3JlLWhlYWRlcnMnLCBkZXN0PSdpZ25vcmVfaGVhZGVycycsIGRlZmF1bHQ9JycpCi0gcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1uYW1lc3BhY2UnLCBkZXN0PSduYW1lc3BhY2UnLCBkZWZhdWx0PScnKQotIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tbW9kZScsIGRlc3Q9J21vZGUnLCBkZWZhdWx0PScnKQotIHBhcnNlci5hZGRfYXJndW1lbnQoJy0taW5zdGFsbGRpcicsIGRlc3Q9J2luc3RhbGxfZGlyJykKLStwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWd0a2RvYy1leGUtd3JhcHBlcicsIGRlc3Q9J2d0a2RvY19leGVfd3JhcHBlcicpCi0gCi0gZGVmIGd0a2RvY19ydW5fY2hlY2soY21kLCBjd2QsIGxpYnJhcnlfcGF0aHM9Tm9uZSk6Ci0gICAgIGlmIGxpYnJhcnlfcGF0aHMgaXMgTm9uZToKLUBAIC02NCw3ICs2NSw3IEBAIGRlZiBndGtkb2NfcnVuX2NoZWNrKGNtZCwgY3dkLCBsaWJyYXJ5X3BhdGhzPU5vbmUpOgotICAgICAjIFRoaXMgcHJlc2VydmVzIHRoZSBvcmRlciBvZiBtZXNzYWdlcy4KLSAgICAgcCwgb3V0ID0gUG9wZW5fc2FmZShjbWQsIGN3ZD1jd2QsIGVudj1lbnYsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVClbMDoyXQotICAgICBpZiBwLnJldHVybmNvZGUgIT0gMDoKLS0gICAgICAgIGVycl9tc2cgPSBbInshcn0gZmFpbGVkIHdpdGggc3RhdHVzIHs6ZH0iLmZvcm1hdChjbWRbMF0sIHAucmV0dXJuY29kZSldCi0rICAgICAgICBlcnJfbXNnID0gWyJ7IXJ9IGZhaWxlZCB3aXRoIHN0YXR1cyB7OmR9Ii5mb3JtYXQoY21kLCBwLnJldHVybmNvZGUpXQotICAgICAgICAgaWYgb3V0OgotICAgICAgICAgICAgIGVycl9tc2cuYXBwZW5kKG91dCkKLSAgICAgICAgIHJhaXNlIE1lc29uRXhjZXB0aW9uKCdcbicuam9pbihlcnJfbXNnKSkKLUBAIC03NCw3ICs3NSw3IEBAIGRlZiBndGtkb2NfcnVuX2NoZWNrKGNtZCwgY3dkLCBsaWJyYXJ5X3BhdGhzPU5vbmUpOgotIGRlZiBidWlsZF9ndGtkb2Moc291cmNlX3Jvb3QsIGJ1aWxkX3Jvb3QsIGRvY19zdWJkaXIsIHNyY19zdWJkaXJzLAotICAgICAgICAgICAgICAgICAgbWFpbl9maWxlLCBtb2R1bGUsCi0gICAgICAgICAgICAgICAgICBodG1sX2FyZ3MsIHNjYW5fYXJncywgZml4eHJlZl9hcmdzLCBta2RiX2FyZ3MsCi0tICAgICAgICAgICAgICAgICBnb2JqZWN0X3R5cGVzZmlsZSwgc2Nhbm9ianNfYXJncywgbGQsIGNjLCBsZGZsYWdzLCBjZmxhZ3MsCi0rICAgICAgICAgICAgICAgICBnb2JqZWN0X3R5cGVzZmlsZSwgc2Nhbm9ianNfYXJncywgZ3RrZG9jX2V4ZV93cmFwcGVyLCBsZCwgY2MsIGxkZmxhZ3MsIGNmbGFncywKLSAgICAgICAgICAgICAgICAgIGh0bWxfYXNzZXRzLCBjb250ZW50X2ZpbGVzLCBpZ25vcmVfaGVhZGVycywgbmFtZXNwYWNlLAotICAgICAgICAgICAgICAgICAgZXhwYW5kX2NvbnRlbnRfZmlsZXMsIG1vZGUpOgotICAgICBwcmludCgiQnVpbGRpbmcgZG9jdW1lbnRhdGlvbiBmb3IgJXMiICUgbW9kdWxlKQotQEAgLTEzNSw2ICsxMzYsOSBAQCBkZWYgYnVpbGRfZ3RrZG9jKHNvdXJjZV9yb290LCBidWlsZF9yb290LCBkb2Nfc3ViZGlyLCBzcmNfc3ViZGlycywKLSAgICAgaWYgZ29iamVjdF90eXBlc2ZpbGU6Ci0gICAgICAgICBzY2Fub2Jqc19jbWQgPSBbJ2d0a2RvYy1zY2FuZ29iaiddICsgc2Nhbm9ianNfYXJncyArIFsnLS10eXBlcz0nICsgZ29iamVjdF90eXBlc2ZpbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1tb2R1bGU9JyArIG1vZHVsZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXJ1bj0nICsgZ3RrZG9jX2V4ZV93cmFwcGVyLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tY2M9JyArIGNjLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tbGQ9JyArIGxkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tY2ZsYWdzPScgKyBjZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1sZGZsYWdzPScgKyBsZGZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tY2M9JyArIGNjLAotQEAgLTIzOCw2ICsyNDIsNyBAQCBkZWYgcnVuKGFyZ3MpOgotICAgICAgICAgbWtkYmFyZ3MsCi0gICAgICAgICBvcHRpb25zLmdvYmplY3RfdHlwZXNmaWxlLAotICAgICAgICAgc2Nhbm9ianNhcmdzLAotKyAgICAgICAgb3B0aW9ucy5ndGtkb2NfZXhlX3dyYXBwZXIsCi0gICAgICAgICBvcHRpb25zLmxkLAotICAgICAgICAgb3B0aW9ucy5jYywKLSAgICAgICAgIG9wdGlvbnMubGRmbGFncywKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtbW9kdWxlcy13aW5kb3dzLXNwbGl0LVdJTkRSRVMtZW52LXZhcmlhYmxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1tb2R1bGVzLXdpbmRvd3Mtc3BsaXQtV0lORFJFUy1lbnYtdmFyaWFibGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzMzNGU2ZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtbW9kdWxlcy13aW5kb3dzLXNwbGl0LVdJTkRSRVMtZW52LXZhcmlhYmxlLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gNTI5M2QwZjUwNjdiMmFlZWZlOWNlM2MxNzVjOTcyZGUzNjc1ODliYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogV2VkLCAxMyBGZWIgMjAxOSAxNzo0Mzo1NCArMDEwMAorU3ViamVjdDogW1BBVENIXSBtb2R1bGVzL3dpbmRvd3M6IHNwbGl0IFdJTkRSRVMgZW52IHZhcmlhYmxlCisKK0FzIGl0IG1heSBjb250YWluIG5vdCBqdXN0IHRoZSBiaW5hcnksIGJ1dCBhbHNvIHRoZSBhcmd1bWVudHMgdG8gaXQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBtZXNvbmJ1aWxkL21vZHVsZXMvd2luZG93cy5weSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21lc29uYnVpbGQvbW9kdWxlcy93aW5kb3dzLnB5IGIvbWVzb25idWlsZC9tb2R1bGVzL3dpbmRvd3MucHkKK2luZGV4IGQxODVkODkuLmRiYWViOWIgMTAwNjQ0CistLS0gYS9tZXNvbmJ1aWxkL21vZHVsZXMvd2luZG93cy5weQorKysrIGIvbWVzb25idWlsZC9tb2R1bGVzL3dpbmRvd3MucHkKK0BAIC01Niw3ICs1Niw3IEBAIGNsYXNzIFdpbmRvd3NNb2R1bGUoRXh0ZW5zaW9uTW9kdWxlKToKKyAgICAgICAgICAgICBpZiAnV0lORFJFUycgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgICAgICAgIyBQaWNrLXVwIGVudiB2YXIgV0lORFJFUyBpZiBzZXQuIFRoaXMgaXMgb2Z0ZW4gdXNlZCBmb3IKKyAgICAgICAgICAgICAgICAgIyBzcGVjaWZ5aW5nIGFuIGFyY2gtc3BlY2lmaWMgd2luZHJlcy4KKy0gICAgICAgICAgICAgICAgcmVzY29tcCA9IEV4dGVybmFsUHJvZ3JhbSgnd2luZHJlcycsIGNvbW1hbmQ9b3MuZW52aXJvbi5nZXQoJ1dJTkRSRVMnKSwgc2lsZW50PVRydWUpCisrICAgICAgICAgICAgICAgIHJlc2NvbXAgPSBFeHRlcm5hbFByb2dyYW0oJ3dpbmRyZXMnLCBjb21tYW5kPW9zLmVudmlyb24uZ2V0KCdXSU5EUkVTJykuc3BsaXQoKSwgc2lsZW50PVRydWUpCisgCisgICAgICAgICBpZiBub3QgcmVzY29tcCBvciBub3QgcmVzY29tcC5mb3VuZCgpOgorICAgICAgICAgICAgICMgVGFrZSB3aW5kcmVzIGZyb20gdGhlIGNvbmZpZyBmaWxlIGFmdGVyIHRoZSBlbnZpcm9ubWVudCwgd2hpY2ggaXMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtcHl0aG9uLW1vZHVsZS1kby1ub3QtbWFuaXB1bGF0ZS10aGUtZW52aXJvbm1lbnQtd2hlbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtcHl0aG9uLW1vZHVsZS1kby1ub3QtbWFuaXB1bGF0ZS10aGUtZW52aXJvbm1lbnQtd2hlbi5wYXRjaAppbmRleCA2MDcyOTg1Li5iZjcxNWQxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAxLXB5dGhvbi1tb2R1bGUtZG8tbm90LW1hbmlwdWxhdGUtdGhlLWVudmlyb25tZW50LXdoZW4ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1weXRob24tbW9kdWxlLWRvLW5vdC1tYW5pcHVsYXRlLXRoZS1lbnZpcm9ubWVudC13aGVuLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0NTQyNmYwNjY4OWE1MjBmYzQ3ZjgxZWUyOWI0OWQ1MDlmMTFiYTU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAzY2IyYzgxMWRjNmQ0ODkwMzQyYWZhNWI3MDljZDMwY2Y3YjhmM2NhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDE5IE5vdiAyMDE4IDE0OjI0OjI2ICswMTAwCiBTdWJqZWN0OiBbUEFUQ0hdIHB5dGhvbiBtb2R1bGU6IGRvIG5vdCBtYW5pcHVsYXRlIHRoZSBlbnZpcm9ubWVudCB3aGVuIGNhbGxpbmcKQEAgLTYsMzggKzYsMzggQEAKIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQogU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKIC0tLQotIG1lc29uYnVpbGQvbW9kdWxlcy9weXRob24ucHkgfCAxNCAtLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxNCBkZWxldGlvbnMoLSkKKyBtZXNvbmJ1aWxkL21vZHVsZXMvcHl0aG9uLnB5IHwgMTIgLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9tb2R1bGVzL3B5dGhvbi5weSBiL21lc29uYnVpbGQvbW9kdWxlcy9weXRob24ucHkKLWluZGV4IDExOTVkOGEuLmRmODFkYTQgMTAwNjQ0CitpbmRleCA5Y2ZiZDZmLi4zZmY2ODdhIDEwMDY0NAogLS0tIGEvbWVzb25idWlsZC9tb2R1bGVzL3B5dGhvbi5weQogKysrIGIvbWVzb25idWlsZC9tb2R1bGVzL3B5dGhvbi5weQotQEAgLTY3LDI2ICs2NywxMiBAQCBjbGFzcyBQeXRob25EZXBlbmRlbmN5KEV4dGVybmFsRGVwZW5kZW5jeSk6Ci0gICAgICAgICBpZiBEZXBlbmRlbmN5TWV0aG9kcy5QS0dDT05GSUcgaW4gc2VsZi5tZXRob2RzIGFuZCBub3QgcHl0aG9uX2hvbGRlci5pc19weXB5OgotICAgICAgICAgICAgIHBrZ192ZXJzaW9uID0gc2VsZi52YXJpYWJsZXMuZ2V0KCdMRFZFUlNJT04nKSBvciBzZWxmLnZlcnNpb24KLSAgICAgICAgICAgICBwa2dfbGliZGlyID0gc2VsZi52YXJpYWJsZXMuZ2V0KCdMSUJQQycpCi0tICAgICAgICAgICAgb2xkX3BrZ19saWJkaXIgPSBvcy5lbnZpcm9uLmdldCgnUEtHX0NPTkZJR19MSUJESVInKQotLSAgICAgICAgICAgIG9sZF9wa2dfcGF0aCA9IG9zLmVudmlyb24uZ2V0KCdQS0dfQ09ORklHX1BBVEgnKQotLQotLSAgICAgICAgICAgIG9zLmVudmlyb24ucG9wKCdQS0dfQ09ORklHX1BBVEgnLCBOb25lKQotLQotLSAgICAgICAgICAgIGlmIHBrZ19saWJkaXI6Ci0tICAgICAgICAgICAgICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdfTElCRElSJ10gPSBwa2dfbGliZGlyCitAQCAtNzUsMTEgKzc1LDYgQEAgY2xhc3MgUHl0aG9uRGVwZW5kZW5jeShFeHRlcm5hbERlcGVuZGVuY3kpOgorICAgICAgICAgICAgICAgICBvbGRfcGtnX2xpYmRpciA9IG9zLmVudmlyb24uZ2V0KCdQS0dfQ09ORklHX0xJQkRJUicpCisgICAgICAgICAgICAgICAgIG9sZF9wa2dfcGF0aCA9IG9zLmVudmlyb24uZ2V0KCdQS0dfQ09ORklHX1BBVEgnKQogIAotICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgc2VsZi5wa2dkZXAgPSBQa2dDb25maWdEZXBlbmRlbmN5KCdweXRob24te30nLmZvcm1hdChwa2dfdmVyc2lvbiksIGVudmlyb25tZW50LCBrd2FyZ3MpCi0gICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKLSAgICAgICAgICAgICAgICAgcGFzcwotIAotLSAgICAgICAgICAgIGlmIG9sZF9wa2dfcGF0aCBpcyBub3QgTm9uZToKLS0gICAgICAgICAgICAgICAgb3MuZW52aXJvblsnUEtHX0NPTkZJR19QQVRIJ10gPSBvbGRfcGtnX3BhdGgKKy0gICAgICAgICAgICAgICAgb3MuZW52aXJvbi5wb3AoJ1BLR19DT05GSUdfUEFUSCcsIE5vbmUpCiAtCi0tICAgICAgICAgICAgaWYgb2xkX3BrZ19saWJkaXIgaXMgbm90IE5vbmU6Ci0tICAgICAgICAgICAgICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdfTElCRElSJ10gPSBvbGRfcGtnX2xpYmRpcgotLSAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIG9zLmVudmlyb24ucG9wKCdQS0dfQ09ORklHX0xJQkRJUicsIE5vbmUpCistICAgICAgICAgICAgICAgIGlmIHBrZ19saWJkaXI6CistICAgICAgICAgICAgICAgICAgICBvcy5lbnZpcm9uWydQS0dfQ09ORklHX0xJQkRJUiddID0gcGtnX2xpYmRpcgorLQorICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICBzZWxmLnBrZ2RlcCA9IFBrZ0NvbmZpZ0RlcGVuZGVuY3koJ3B5dGhvbi17fScuZm9ybWF0KHBrZ192ZXJzaW9uKSwgZW52aXJvbm1lbnQsIGt3YXJncykKKyAgICAgICAgICAgICAgICAgICAgIG1sb2cuZGVidWcoJ0ZvdW5kICJweXRob24te30iIHZpYSBwa2djb25maWcgbG9va3VwIGluIExJQlBDICh7fSknLmZvcm1hdChwa2dfdmVyc2lvbiwgcGtnX2xpYmRpcikpCitAQCAtODgsMTMgKzgzLDYgQEAgY2xhc3MgUHl0aG9uRGVwZW5kZW5jeShFeHRlcm5hbERlcGVuZGVuY3kpOgorICAgICAgICAgICAgICAgICAgICAgbWxvZy5kZWJ1ZygnInB5dGhvbi17fSIgY291bGQgbm90IGJlIGZvdW5kIGluIExJQlBDICh7fSknLmZvcm1hdChwa2dfdmVyc2lvbiwgcGtnX2xpYmRpcikpCisgICAgICAgICAgICAgICAgICAgICBtbG9nLmRlYnVnKGUpCiAgCi0gICAgICAgICBpZiBzZWxmLnBrZ2RlcCBhbmQgc2VsZi5wa2dkZXAuZm91bmQoKToKLSAgICAgICAgICAgICBzZWxmLmNvbXBpbGVfYXJncyA9IHNlbGYucGtnZGVwLmdldF9jb21waWxlX2FyZ3MoKQorLSAgICAgICAgICAgICAgICBpZiBvbGRfcGtnX3BhdGggaXMgbm90IE5vbmU6CistICAgICAgICAgICAgICAgICAgICBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1BBVEgnXSA9IG9sZF9wa2dfcGF0aAorLQorLSAgICAgICAgICAgICAgICBpZiBvbGRfcGtnX2xpYmRpciBpcyBub3QgTm9uZToKKy0gICAgICAgICAgICAgICAgICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdfTElCRElSJ10gPSBvbGRfcGtnX2xpYmRpcgorLSAgICAgICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICAgICAgb3MuZW52aXJvbi5wb3AoJ1BLR19DT05GSUdfTElCRElSJywgTm9uZSkKKyAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICBtbG9nLmRlYnVnKCcicHl0aG9uLXt9IiBjb3VsZCBub3QgYmUgZm91bmQgaW4gTElCUEMgKHt9KSwgdGhpcyBpcyBsaWtlbHkgZHVlIHRvIGEgcmVsb2NhdGVkIHB5dGhvbiBpbnN0YWxsYXRpb24nLmZvcm1hdChwa2dfdmVyc2lvbiwgcGtnX2xpYmRpcikpCisgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAyLU1ha2UtQ1BVLWZhbWlseS13YXJuaW5ncy1mYXRhbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTU2YTZhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotRnJvbSAyZTg1NTNmYzAxZTYyZWJjNGZhYTI0MGJmMjA5ODRhOGEwYWM3Mzg3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLURhdGU6IFR1ZSwgMyBKdWwgMjAxOCAxMzo1OTowOSArMDEwMAotU3ViamVjdDogW1BBVENIXSBNYWtlIENQVSBmYW1pbHkgd2FybmluZ3MgZmF0YWwKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLS0tLQotIG1lc29uYnVpbGQvZW52aXJvbm1lbnQucHkgfCA2ICsrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5IGIvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQotaW5kZXggZDI5YTc3Zi4uMjY3YWNmOSAxMDA2NDQKLS0tLSBhL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKLSsrKyBiL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKLUBAIC0yMzksOSArMjM5LDcgQEAgZGVmIGRldGVjdF9jcHVfZmFtaWx5KGNvbXBpbGVycyk6Ci0gICAgICAgICByZXR1cm4gJ3g4Nl82NCcKLSAKLSAgICAgaWYgdHJpYWwgbm90IGluIGtub3duX2NwdV9mYW1pbGllczoKLS0gICAgICAgIG1sb2cud2FybmluZygnVW5rbm93biBDUFUgZmFtaWx5IHshcn0sIHBsZWFzZSByZXBvcnQgdGhpcyBhdCAnCi0tICAgICAgICAgICAgICAgICAgICAgJ2h0dHBzOi8vZ2l0aHViLmNvbS9tZXNvbmJ1aWxkL21lc29uL2lzc3Vlcy9uZXcgd2l0aCB0aGUnCi0tICAgICAgICAgICAgICAgICAgICAgJ291dHB1dCBvZiBgdW5hbWUgLWFgIGFuZCBgY2F0IC9wcm9jL2NwdWluZm9gJy5mb3JtYXQodHJpYWwpKQotKyAgICAgICAgcmFpc2UgRW52aXJvbm1lbnRFeGNlcHRpb24oJ1Vua25vd24gQ1BVIGZhbWlseSAlcywgc2VlIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvTWVzb24vVW5rbm93bkNQVSBmb3IgZGlyZWN0aW9ucy4nICUgdHJpYWwpCi0gCi0gICAgIHJldHVybiB0cmlhbAotIAotQEAgLTEwMTQsNyArMTAxMiw3IEBAIGNsYXNzIENyb3NzQnVpbGRJbmZvOgotICAgICAgICAgICAgICAgICAgICAgcmFpc2UgRW52aXJvbm1lbnRFeGNlcHRpb24oJ01hbGZvcm1lZCB2YWx1ZSBpbiBjcm9zcyBmaWxlIHZhcmlhYmxlICVzLicgJSBlbnRyeSkKLSAKLSAgICAgICAgICAgICAgICAgaWYgZW50cnkgPT0gJ2NwdV9mYW1pbHknIGFuZCByZXMgbm90IGluIGtub3duX2NwdV9mYW1pbGllczoKLS0gICAgICAgICAgICAgICAgICAgIG1sb2cud2FybmluZygnVW5rbm93biBDUFUgZmFtaWx5ICVzLCBwbGVhc2UgcmVwb3J0IHRoaXMgYXQgaHR0cHM6Ly9naXRodWIuY29tL21lc29uYnVpbGQvbWVzb24vaXNzdWVzL25ldycgJSB2YWx1ZSkKLSsgICAgICAgICAgICAgICAgICAgIHJhaXNlIEVudmlyb25tZW50RXhjZXB0aW9uKCdVbmtub3duIENQVSBmYW1pbHkgJXMsIHNlZSBodHRwczovL3dpa2kueW9jdG9wcm9qZWN0Lm9yZy93aWtpL01lc29uL1Vua25vd25DUFUgZm9yIGRpcmVjdGlvbnMuJyAlIHZhbHVlKQotIAotICAgICAgICAgICAgICAgICBpZiBzZWxmLm9rX3R5cGUocmVzKToKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuY29uZmlnW3NdW2VudHJ5XSA9IHJlcwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMi1TdXBwb3J0LWJ1aWxkaW5nLWFsbGFyY2gtcmVjaXBlcy1hZ2Fpbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItU3VwcG9ydC1idWlsZGluZy1hbGxhcmNoLXJlY2lwZXMtYWdhaW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODE1NDhjZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItU3VwcG9ydC1idWlsZGluZy1hbGxhcmNoLXJlY2lwZXMtYWdhaW4ucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorRnJvbSBmODQxOWQ1ZjI3OWYxZmI5YjVlN2VlYWQ0ZjE1NzliY2U3Y2IwZTRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CitEYXRlOiBUaHUsIDI2IEp1bCAyMDE4IDE2OjMyOjQ5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFN1cHBvcnQgYnVpbGRpbmcgYWxsYXJjaCByZWNpcGVzIGFnYWluCisKK1RoaXMgcmVnaXN0ZXJzICJhbGxhcmNoIiBhcyBhIGtub3duIENQVSBmYW1pbHkuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCitTaWduZWQtb2ZmLWJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBldGVyLmtqZWxsZXJzdGVkdEBheGlzLmNvbT4KKworLS0tCisgbWVzb25idWlsZC9lbnZpcm9ubWVudC5weSB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weSBiL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKK2luZGV4IDVmY2Y5ZGYuLmI0ZmMwZGMgMTAwNjQ0CistLS0gYS9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CisrKysgYi9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CitAQCAtNzIsNiArNzIsNyBAQCBmcm9tIC5jb21waWxlcnMgaW1wb3J0ICgKKyBidWlsZF9maWxlbmFtZSA9ICdtZXNvbi5idWlsZCcKKyAKKyBrbm93bl9jcHVfZmFtaWxpZXMgPSAoCisrICAgICdhbGxhcmNoJywKKyAgICAgJ2FhcmNoNjQnLAorICAgICAnYXJjJywKKyAgICAgJ2FybScsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAyLWVudmlyb25tZW50LnB5LWRldGVjdC13aW5kb3dzLWFsc28taWYtdGhlLXN5c3RlbS1zdHIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAyLWVudmlyb25tZW50LnB5LWRldGVjdC13aW5kb3dzLWFsc28taWYtdGhlLXN5c3RlbS1zdHIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWJlNWQ2NgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItZW52aXJvbm1lbnQucHktZGV0ZWN0LXdpbmRvd3MtYWxzby1pZi10aGUtc3lzdGVtLXN0ci5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIDdiZjRjMmMwMmViN2ZlMWJmMjRiMjNlM2JhMmQ3ZGYzNjQ5NWUwYWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTMgRmViIDIwMTkgMTc6NDU6MDkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gZW52aXJvbm1lbnQucHk6IGRldGVjdCB3aW5kb3dzIGFsc28gaWYgdGhlIHN5c3RlbSBzdHJpbmcKKyBjb250YWlucyAnbWluZ3cnCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBtZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weSBiL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKK2luZGV4IGI0ZmMwZGMuLjg0NTA3N2UgMTAwNjQ0CistLS0gYS9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CisrKysgYi9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CitAQCAtMTI0Nyw3ICsxMjQ3LDcgQEAgY2xhc3MgTWFjaGluZUluZm86CisgICAgICAgICAiIiIKKyAgICAgICAgIE1hY2hpbmUgaXMgd2luZG93cz8KKyAgICAgICAgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuc3lzdGVtID09ICd3aW5kb3dzJworKyAgICAgICAgcmV0dXJuIHNlbGYuc3lzdGVtID09ICd3aW5kb3dzJyBvciAnbWluZ3cnIGluIHNlbGYuc3lzdGVtCisgCisgICAgIGRlZiBpc19jeWd3aW4oc2VsZik6CisgICAgICAgICAiIiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItZ29iamVjdC1pbnRyb3NwZWN0aW9uLWRldGVybWluZS1nLWlyLXNjYW5uZXItYW5kLWctaS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItZ29iamVjdC1pbnRyb3NwZWN0aW9uLWRldGVybWluZS1nLWlyLXNjYW5uZXItYW5kLWctaS5wYXRjaAppbmRleCBmMzIyNjdkLi42MWIyNmJiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAyLWdvYmplY3QtaW50cm9zcGVjdGlvbi1kZXRlcm1pbmUtZy1pci1zY2FubmVyLWFuZC1nLWkucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMi1nb2JqZWN0LWludHJvc3BlY3Rpb24tZGV0ZXJtaW5lLWctaXItc2Nhbm5lci1hbmQtZy1pLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAwYjg2MGNiOGEyMmFlODc2YjYwODg5MzlkYmFiY2EyMTZiYzI5NDMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5Y2NhZWQzODA3ODAxNzhjNGRhYjNhNjgxZjY1MmFjN2NkMjc0NTJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDQgQXVnIDIwMTcgMTY6MTg6NDcgKzAzMDAKIFN1YmplY3Q6IFtQQVRDSF0gZ29iamVjdC1pbnRyb3NwZWN0aW9uOiBkZXRlcm1pbmUgZy1pci1zY2FubmVyIGFuZApAQCAtMTIsMjggKzEyLDI5IEBACiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIAogLS0tCi0gbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5IHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKyBtZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkgfCA2ICsrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkgYi9tZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkKLWluZGV4IGIyOWJhYjkuLmRjNGM0MDEgMTAwNjQ0CitpbmRleCA3YzVhMzYzLi4wMDAyNDk4IDEwMDY0NAogLS0tIGEvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5CiArKysgYi9tZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkKLUBAIC0zOTMsOCArMzkzLDYgQEAgY2xhc3MgR25vbWVNb2R1bGUoRXh0ZW5zaW9uTW9kdWxlKToKLSAgICAgICAgICAgICByYWlzZSBNZXNvbkV4Y2VwdGlvbignR2lyIHRha2VzIG9uZSBhcmd1bWVudCcpCitAQCAtNzQ0LDE1ICs3NDQsMTUgQEAgY2xhc3MgR25vbWVNb2R1bGUoRXh0ZW5zaW9uTW9kdWxlKToKICAgICAgICAgIGlmIGt3YXJncy5nZXQoJ2luc3RhbGxfZGlyJyk6CiAgICAgICAgICAgICAgcmFpc2UgTWVzb25FeGNlcHRpb24oJ2luc3RhbGxfZGlyIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBnZW5lcmF0ZV9naXIoKSwgc2VlICJpbnN0YWxsX2Rpcl9naXIiIGFuZCAiaW5zdGFsbF9kaXJfdHlwZWxpYiInKQorIAogLSAgICAgICAgZ2lzY2FubmVyID0gc2VsZi5pbnRlcnByZXRlci5maW5kX3Byb2dyYW1faW1wbCgnZy1pci1zY2FubmVyJykKIC0gICAgICAgIGdpY29tcGlsZXIgPSBzZWxmLmludGVycHJldGVyLmZpbmRfcHJvZ3JhbV9pbXBsKCdnLWlyLWNvbXBpbGVyJykKLSAgICAgICAgIGdpcnRhcmdldCA9IGFyZ3NbMF0KLSAgICAgICAgIHdoaWxlIGhhc2F0dHIoZ2lydGFyZ2V0LCAnaGVsZF9vYmplY3QnKToKLSAgICAgICAgICAgICBnaXJ0YXJnZXQgPSBnaXJ0YXJnZXQuaGVsZF9vYmplY3QKLUBAIC00MDUsNiArNDAzLDggQEAgY2xhc3MgR25vbWVNb2R1bGUoRXh0ZW5zaW9uTW9kdWxlKToKLSAgICAgICAgICAgICAgICAgc2VsZi5naXJfZGVwID0gUGtnQ29uZmlnRGVwZW5kZW5jeSgnZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUuZW52aXJvbm1lbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyduYXRpdmUnOiBUcnVlfSkKLSsgICAgICAgICAgICBnaXNjYW5uZXIgPSBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1NZU1JPT1RfRElSJ10gKyBzZWxmLmdpcl9kZXAuZ2V0X3BrZ2NvbmZpZ192YXJpYWJsZSgnZ19pcl9zY2FubmVyJywge30pCi0rICAgICAgICAgICAgZ2ljb21waWxlciA9IG9zLmVudmlyb25bJ1BLR19DT05GSUdfU1lTUk9PVF9ESVInXSArIHNlbGYuZ2lyX2RlcC5nZXRfcGtnY29uZmlnX3ZhcmlhYmxlKCdnX2lyX2NvbXBpbGVyJywge30pCi0gICAgICAgICAgICAgcGtnYXJncyA9IHNlbGYuZ2lyX2RlcC5nZXRfY29tcGlsZV9hcmdzKCkKLSAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgICAgICAgcmFpc2UgTWVzb25FeGNlcHRpb24oJ2dvYmplY3QtaW50cm9zcGVjdGlvbiBkZXBlbmRlbmN5IHdhcyBub3QgZm91bmQsIGdpciBjYW5ub3QgYmUgZ2VuZXJhdGVkLicpCistCisgICAgICAgICBnaXJ0YXJnZXRzID0gW3NlbGYuX3Vud3JhcF9naXJfdGFyZ2V0KGFyZywgc3RhdGUpIGZvciBhcmcgaW4gYXJnc10KKyAKKyAgICAgICAgIGlmIGxlbihnaXJ0YXJnZXRzKSA+IDEgYW5kIGFueShbaXNpbnN0YW5jZShlbCwgYnVpbGQuRXhlY3V0YWJsZSkgZm9yIGVsIGluIGdpcnRhcmdldHNdKToKKyAgICAgICAgICAgICByYWlzZSBNZXNvbkV4Y2VwdGlvbignZ2VuZXJhdGVfZ2lyIG9ubHkgYWNjZXB0cyBhIHNpbmdsZSBhcmd1bWVudCB3aGVuIG9uZSBvZiB0aGUgYXJndW1lbnRzIGlzIGFuIGV4ZWN1dGFibGUnKQorIAorICAgICAgICAgc2VsZi5naXJfZGVwLCBwa2dhcmdzID0gc2VsZi5fZ2V0X2dpcl9kZXAoc3RhdGUpCisrICAgICAgICBnaXNjYW5uZXIgPSBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1NZU1JPT1RfRElSJ10gKyBzZWxmLmdpcl9kZXAuZ2V0X3BrZ2NvbmZpZ192YXJpYWJsZSgnZ19pcl9zY2FubmVyJywge30pCisrICAgICAgICBnaWNvbXBpbGVyID0gb3MuZW52aXJvblsnUEtHX0NPTkZJR19TWVNST09UX0RJUiddICsgc2VsZi5naXJfZGVwLmdldF9wa2djb25maWdfdmFyaWFibGUoJ2dfaXJfY29tcGlsZXInLCB7fSkKKysKKyAKKyAgICAgICAgIG5zID0ga3dhcmdzLnBvcCgnbmFtZXNwYWNlJykKKyAgICAgICAgIG5zdmVyc2lvbiA9IGt3YXJncy5wb3AoJ25zdmVyc2lvbicpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9jcm9zcy1saWJkaXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9jcm9zcy1saWJkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM5NWZkYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uL2Nyb3NzLWxpYmRpci5wYXRjaApAQCAtMCwwICsxLDM1IEBACitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIGNlMjRmMGQ2YTliZTIyYmE2MWQ4MGNkMjU0ZTA0MDlkZTJlYWZmZDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKdXNzaSBQYWtrYW5lbiA8anBha2thbmVAZ21haWwuY29tPgorRGF0ZTogVGh1LCAyNyBEZWMgMjAxOCAyMzo0MzozNSArMDIwMAorU3ViamVjdDogW1BBVENIXSBEZWZhdWx0IGxpYmRpciBpcyAibGliIiB3aGVuIGNyb3NzIGNvbXBpbGluZy4gQ2xvc2VzICMyNTM1LgorCistLS0KK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2NvcmVkYXRhLnB5IGIvbWVzb25idWlsZC9jb3JlZGF0YS5weQoraW5kZXggZmY4MTA2ODMuLjllZTIzYTY5IDEwMDY0NAorLS0tIGEvbWVzb25idWlsZC9jb3JlZGF0YS5weQorKysrIGIvbWVzb25idWlsZC9jb3JlZGF0YS5weQorQEAgLTI5OCw2ICsyOTgsNyBAQCBjbGFzcyBDb3JlRGF0YToKKyAgICAgICAgICMgT25seSB0byBwcmludCBhIHdhcm5pbmcgaWYgaXQgY2hhbmdlcyBiZXR3ZWVuIE1lc29uIGludm9jYXRpb25zLgorICAgICAgICAgc2VsZi5wa2djb25mX2VudnZhciA9IG9zLmVudmlyb24uZ2V0KCdQS0dfQ09ORklHX1BBVEgnLCAnJykKKyAgICAgICAgIHNlbGYuY29uZmlnX2ZpbGVzID0gc2VsZi5fX2xvYWRfY29uZmlnX2ZpbGVzKG9wdGlvbnMubmF0aXZlX2ZpbGUpCisrICAgICAgICBzZWxmLmxpYmRpcl9jcm9zc19maXh1cCgpCisgCisgICAgIEBzdGF0aWNtZXRob2QKKyAgICAgZGVmIF9fbG9hZF9jb25maWdfZmlsZXMoZmlsZW5hbWVzKToKK0BAIC0zMDksNiArMzEwLDEzIEBAIGNsYXNzIENvcmVEYXRhOgorICAgICAgICAgICAgICAgICAgICAgIGZvciBmIGluIGZpbGVuYW1lc10KKyAgICAgICAgIHJldHVybiBmaWxlbmFtZXMKKyAKKysgICAgZGVmIGxpYmRpcl9jcm9zc19maXh1cChzZWxmKToKKysgICAgICAgICMgQnkgZGVmYXVsdCBzZXQgbGliZGlyIHRvICJsaWIiIHdoZW4gY3Jvc3MgY29tcGlsaW5nIHNpbmNlCisrICAgICAgICAjIGdldHRpbmcgdGhlICJzeXN0ZW0gZGVmYXVsdCIgaXMgYWx3YXlzIHdyb25nIG9uIG11bHRpYXJjaAorKyAgICAgICAgIyBwbGF0Zm9ybXMgYXMgaXQgZ2V0cyBhIHZhbHVlIGxpa2UgbGliL3g4Nl82NC1saW51eC1nbnUuCisrICAgICAgICBpZiBzZWxmLmNyb3NzX2ZpbGVzOgorKyAgICAgICAgICAgIHNlbGYuYnVpbHRpbnNbJ2xpYmRpciddLnZhbHVlID0gJ2xpYicKKysKKyAgICAgZGVmIHNhbml0aXplX3ByZWZpeChzZWxmLCBwcmVmaXgpOgorICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNhYnMocHJlZml4KToKKyAgICAgICAgICAgICByYWlzZSBNZXNvbkV4Y2VwdGlvbigncHJlZml4IHZhbHVlIHshcn0gbXVzdCBiZSBhbiBhYnNvbHV0ZSBwYXRoJwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vY3Jvc3MtcHJvcC1kZWZhdWx0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vY3Jvc3MtcHJvcC1kZWZhdWx0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3MjM5NWUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9jcm9zcy1wcm9wLWRlZmF1bHQucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorbWVzb24uYnVpbGQgZmlsZXMgdGhhdCB1c2UgY2MucnVuKCkgaW4gbmF0aXZlIGJ1aWxkcyBjYW4gc2lsZW50bHkgZmFsbGJhY2sgdG8KK21lc29uLmdldF9jcm9zc19wcm9wZXJ0eSgpIGluIGNyb3NzIGJ1aWxkcyB3aXRob3V0IGFuIGV4ZS13cmFwcGVyLCBidXQgdGhlcmUncworbm8gd2F5IHRvIGtub3cgdGhhdCB0aGlzIGlzIGhhcHBlbmluZy4KKworQXMgdGhlIGRlZmF1bHRzIG1heSBiZSBwZXNzaW1pc3RpYyAoZm9yIGV4YW1wbGUsIGRpc2FibGluZyB0aGUgc3VwcG9ydCBmb3IgYQorZmVhdHVyZSB0aGF0IHNob3VsZCBiZSBlbmFibGVkKSBlbWl0IGEgd2FybmluZyB3aGVuIHRoZSBkZWZhdWx0IGlzIHVzZWQsIHNvIHRoYXQKK3RoZSByZWNpcGUgY2FuIGV4cGxpY2l0bHkgc2V0IHRoZSBjcm9zcyBwcm9wZXJ0eSBhcyByZWxldmFudC4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9tZXNvbmJ1aWxkL21lc29uL3B1bGwvNTA3MV0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2ludGVycHJldGVyLnB5IGIvbWVzb25idWlsZC9pbnRlcnByZXRlci5weQoraW5kZXggM2MzY2ZhZTAuLjEwZTc0MWFlIDEwMDY0NAorLS0tIGEvbWVzb25idWlsZC9pbnRlcnByZXRlci5weQorKysrIGIvbWVzb25idWlsZC9pbnRlcnByZXRlci5weQorQEAgLTE4OTAsNiArMTg5MCw3IEBAIGNsYXNzIE1lc29uTWFpbihJbnRlcnByZXRlck9iamVjdCk6CisgICAgICAgICAgICAgcmV0dXJuIHByb3BzW3Byb3BuYW1lXQorICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgICBpZiBsZW4oYXJncykgPT0gMjoKKysgICAgICAgICAgICAgICAgbWxvZy53YXJuaW5nKCdDcm9zcyBwcm9wZXJ0eSAlcyBpcyB1c2luZyBkZWZhdWx0IHZhbHVlICVzJyAlIChwcm9wbmFtZSwgYXJnc1sxXSkpCisgICAgICAgICAgICAgICAgIHJldHVybiBhcmdzWzFdCisgICAgICAgICAgICAgcmFpc2UgSW50ZXJwcmV0ZXJFeGNlcHRpb24oJ1Vua25vd24gY3Jvc3MgcHJvcGVydHk6ICVzLicgJSBwcm9wbmFtZSkKKyAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uL2dpLWZsYWdzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vZ2ktZmxhZ3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhNGMyOTYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vZ2ktZmxhZ3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1QYXNzIHRoZSBjb3JyZWN0IGNmbGFncy9sZGZsYWdzIHRvIHRoZSBnb2JqZWN0LWludHJvc3BlY3Rpb24gdG9vbHMuCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbi9wdWxsLzQyNjFdCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1kaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5IGIvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5Ci1pbmRleCBjYjY5NjQxZS4uYmI0NDQ5YTAgMTAwNjQ0Ci0tLS0gYS9tZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkKLSsrKyBiL21lc29uYnVpbGQvbW9kdWxlcy9nbm9tZS5weQotQEAgLTU3OSw3ICs1NzksMTAgQEAgY2xhc3MgR25vbWVNb2R1bGUoRXh0ZW5zaW9uTW9kdWxlKToKLSAgICAgICAgIGV4dGVybmFsX2xkZmxhZ3MgKz0gbGlzdChkZXBfZXh0ZXJuYWxfbGRmbGFncykKLSAgICAgICAgIHNjYW5fY29tbWFuZCArPSBbJy0tY2ZsYWdzLWJlZ2luJ10KLSAgICAgICAgIHNjYW5fY29tbWFuZCArPSBjZmxhZ3MKLS0gICAgICAgIHNjYW5fY29tbWFuZCArPSBzdGF0ZS5lbnZpcm9ubWVudC5jb3JlZGF0YS5nZXRfZXh0ZXJuYWxfYXJncyhsYW5nKQotKyAgICAgICAgaWYgc3RhdGUuZW52aXJvbm1lbnQuaXNfY3Jvc3NfYnVpbGQoKToKLSsgICAgICAgICAgICBzY2FuX2NvbW1hbmQgKz0gc3RhdGUuZW52aXJvbm1lbnQuY3Jvc3NfaW5mby5jb25maWdbInByb3BlcnRpZXMiXS5nZXQobGFuZyArICdfYXJncycsICIiKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBzY2FuX2NvbW1hbmQgKz0gc3RhdGUuZW52aXJvbm1lbnQuY29yZWRhdGEuZ2V0X2V4dGVybmFsX2FyZ3MobGFuZykKLSAgICAgICAgIHNjYW5fY29tbWFuZCArPSBbJy0tY2ZsYWdzLWVuZCddCi0gICAgICAgICAjIG5lZWQgdG8gcHV0IG91ciBvdXRwdXQgZGlyZWN0b3J5IGZpcnN0IGFzIHdlIG5lZWQgdG8gdXNlIHRoZQotICAgICAgICAgIyBnZW5lcmF0ZWQgbGlicmFyaWVzIGluc3RlYWQgb2YgYW55IHBvc3NpYmx5IGluc3RhbGxlZCBzeXN0ZW0vcHJlZml4Ci1AQCAtNjE0LDcgKzYxNCwxMiBAQCBjbGFzcyBHbm9tZU1vZHVsZShFeHRlbnNpb25Nb2R1bGUpOgotICAgICAgICAgICAgICAgICBzY2FuX2NvbW1hbmQuYXBwZW5kKCctTCcgKyBkKQotICAgICAgICAgICAgIHNjYW5fY29tbWFuZCArPSBbJy0tbGlicmFyeScsIGxpYm5hbWVdCi0gCi0tICAgICAgICBmb3IgbGlua19hcmcgaW4gc3RhdGUuZW52aXJvbm1lbnQuY29yZWRhdGEuZ2V0X2V4dGVybmFsX2xpbmtfYXJncyhsYW5nKToKLSsgICAgICAgIGlmIHN0YXRlLmVudmlyb25tZW50LmlzX2Nyb3NzX2J1aWxkKCk6Ci0rICAgICAgICAgICAgbGlua19hcmdzID0gc3RhdGUuZW52aXJvbm1lbnQuY3Jvc3NfaW5mby5jb25maWdbInByb3BlcnRpZXMiXS5nZXQobGFuZyArICdfbGlua19hcmdzJywgIiIpCi0rICAgICAgICBlbHNlOgotKyAgICAgICAgICAgIGxpbmtfYXJncyA9IHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmdldF9leHRlcm5hbF9saW5rX2FyZ3MobGFuZykKLSsKLSsgICAgICAgIGZvciBsaW5rX2FyZyBpbiBsaW5rX2FyZ3M6Ci0gICAgICAgICAgICAgaWYgbGlua19hcmcuc3RhcnRzd2l0aCgnLUwnKToKLSAgICAgICAgICAgICAgICAgc2Nhbl9jb21tYW5kLmFwcGVuZChsaW5rX2FyZykKLSAgICAgICAgIHNjYW5fY29tbWFuZCArPSBsaXN0KGV4dGVybmFsX2xkZmxhZ3MpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9ndGtkb2MtZmxhZ3MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9ndGtkb2MtZmxhZ3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjZjM0ODkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vZ3RrZG9jLWZsYWdzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotRW5zdXJlIHRoYXQgaW4gYSBjcm9zcyBjb21waWxlIG9ubHkgdGhlIHRhcmdldCBmbGFncyBhcmUgcGFzc2VkIHRvIGd0ay1kb2MsIGFuZAotbm90IHRoZSBuYXRpdmUgZmxhZ3MuCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbi9wdWxsLzQyNjFdCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1kaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5IGIvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5Ci1pbmRleCA0YWYzMzMwNC4uODc1MWY1M2MgMTAwNjQ0Ci0tLS0gYS9tZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkKLSsrKyBiL21lc29uYnVpbGQvbW9kdWxlcy9nbm9tZS5weQotQEAgLTg1MSwxNyArODUxLDMwIEBAIFRoaXMgd2lsbCBiZWNvbWUgYSBoYXJkIGVycm9yIGluIHRoZSBmdXR1cmUuJycnKQotICAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGluY2QuaGVsZF9vYmplY3QsIChzdHIsIGJ1aWxkLkluY2x1ZGVEaXJzKSk6Ci0gICAgICAgICAgICAgICAgIHJhaXNlIE1lc29uRXhjZXB0aW9uKAotICAgICAgICAgICAgICAgICAgICAgJ0dpciBpbmNsdWRlIGRpcnMgc2hvdWxkIGJlIGluY2x1ZGVfZGlyZWN0b3JpZXMoKS4nKQotKwotICAgICAgICAgY2ZsYWdzLnVwZGF0ZShnZXRfaW5jbHVkZV9hcmdzKGluY19kaXJzKSkKLS0gICAgICAgIGNmbGFncy51cGRhdGUoc3RhdGUuZW52aXJvbm1lbnQuY29yZWRhdGEuZ2V0X2V4dGVybmFsX2FyZ3MoJ2MnKSkKLSsgICAgICAgIGlmIHN0YXRlLmVudmlyb25tZW50LmlzX2Nyb3NzX2J1aWxkKCk6Ci0rICAgICAgICAgICAgY2ZsYWdzLnVwZGF0ZShzdGF0ZS5lbnZpcm9ubWVudC5jcm9zc19pbmZvLmNvbmZpZ1sicHJvcGVydGllcyJdLmdldCgnY19hcmdzJywgIiIpKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBjZmxhZ3MudXBkYXRlKHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmdldF9leHRlcm5hbF9hcmdzKCdjJykpCi0rCi0gICAgICAgICBsZGZsYWdzID0gT3JkZXJlZFNldCgpCi0gICAgICAgICBsZGZsYWdzLnVwZGF0ZShpbnRlcm5hbF9sZGZsYWdzKQotLSAgICAgICAgbGRmbGFncy51cGRhdGUoc3RhdGUuZW52aXJvbm1lbnQuY29yZWRhdGEuZ2V0X2V4dGVybmFsX2xpbmtfYXJncygnYycpKQotKyAgICAgICAgaWYgc3RhdGUuZW52aXJvbm1lbnQuaXNfY3Jvc3NfYnVpbGQoKToKLSsgICAgICAgICAgICBsZGZsYWdzLnVwZGF0ZShzdGF0ZS5lbnZpcm9ubWVudC5jcm9zc19pbmZvLmNvbmZpZ1sicHJvcGVydGllcyJdLmdldCgnY19saW5rX2FyZ3MnLCAiIikpCi0rICAgICAgICBlbHNlOgotKyAgICAgICAgICAgIGxkZmxhZ3MudXBkYXRlKHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmdldF9leHRlcm5hbF9saW5rX2FyZ3MoJ2MnKSkKLSAgICAgICAgIGxkZmxhZ3MudXBkYXRlKGV4dGVybmFsX2xkZmxhZ3MpCi0rCi0gICAgICAgICBpZiBjZmxhZ3M6Ci0gICAgICAgICAgICAgYXJncyArPSBbJy0tY2ZsYWdzPSVzJyAlICcgJy5qb2luKGNmbGFncyldCi0gICAgICAgICBpZiBsZGZsYWdzOgotICAgICAgICAgICAgIGFyZ3MgKz0gWyctLWxkZmxhZ3M9JXMnICUgJyAnLmpvaW4obGRmbGFncyldCi0tICAgICAgICBjb21waWxlciA9IHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmNvbXBpbGVycy5nZXQoJ2MnKQotKwotKyAgICAgICAgaWYgc3RhdGUuZW52aXJvbm1lbnQuaXNfY3Jvc3NfYnVpbGQoKToKLSsgICAgICAgICAgICBjb21waWxlciA9IHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmNyb3NzX2NvbXBpbGVycy5nZXQoJ2MnKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBjb21waWxlciA9IHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmNvbXBpbGVycy5nZXQoJ2MnKQotICAgICAgICAgaWYgY29tcGlsZXI6Ci0gICAgICAgICAgICAgYXJncyArPSBbJy0tY2M9JXMnICUgJyAnLmpvaW4oY29tcGlsZXIuZ2V0X2V4ZWxpc3QoKSldCi0gICAgICAgICAgICAgYXJncyArPSBbJy0tbGQ9JXMnICUgJyAnLmpvaW4oY29tcGlsZXIuZ2V0X2xpbmtlcl9leGVsaXN0KCkpXQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vbWFueS1jcm9zcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uL21hbnktY3Jvc3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA0YzI4YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uL21hbnktY3Jvc3MucGF0Y2gKQEAgLTAsMCArMSwyMDcgQEAKK21lc29uYnVpbGQ6IGFsbG93IG11bHRpcGxlIC0tY3Jvc3MtZmlsZSBvcHRpb25zCisKK0p1c3QgbGlrZSAtLW5hdGl2ZS1maWxlLCBhbGxvdyBtdWx0aXBsZSAtLWNyb3NzLWZpbGUgb3B0aW9ucy4gIFRoaXMgaXMgbW9zdGx5Cit1bmlmeWluZyB0aGUgbG9naWMgYmV0d2VlbiBjcm9zc19maWxlcyBhbmQgY29uZmlnX2ZpbGVzLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFt3aWxsIGJlIGluIDAuNTAuMV0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2JhY2tlbmQvYmFja2VuZHMucHkgYi9tZXNvbmJ1aWxkL2JhY2tlbmQvYmFja2VuZHMucHkKK2luZGV4IDQwNDAyNTEzLi40YjliY2I1OSAxMDA2NDQKKy0tLSBhL21lc29uYnVpbGQvYmFja2VuZC9iYWNrZW5kcy5weQorKysrIGIvbWVzb25idWlsZC9iYWNrZW5kL2JhY2tlbmRzLnB5CitAQCAtNzI2LDggKzcyNiw3IEBAIGNsYXNzIEJhY2tlbmQ6CisgICAgICAgICBkZXBzID0gW29zLnBhdGguam9pbihzZWxmLmJ1aWxkX3RvX3NyYywgZGYpCisgICAgICAgICAgICAgICAgIGZvciBkZiBpbiBzZWxmLmludGVycHJldGVyLmdldF9idWlsZF9kZWZfZmlsZXMoKV0KKyAgICAgICAgIGlmIHNlbGYuZW52aXJvbm1lbnQuaXNfY3Jvc3NfYnVpbGQoKToKKy0gICAgICAgICAgICBkZXBzLmFwcGVuZChvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF90b19zcmMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZW52aXJvbm1lbnQuY29yZWRhdGEuY3Jvc3NfZmlsZSkpCisrICAgICAgICAgICAgZGVwcy5leHRlbmQoc2VsZi5lbnZpcm9ubWVudC5jb3JlZGF0YS5jcm9zc19maWxlcykKKyAgICAgICAgIGRlcHMuYXBwZW5kKCdtZXNvbi1wcml2YXRlL2NvcmVkYXRhLmRhdCcpCisgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5lbnZpcm9ubWVudC5nZXRfc291cmNlX2RpcigpLCAnbWVzb25fb3B0aW9ucy50eHQnKSk6CisgICAgICAgICAgICAgZGVwcy5hcHBlbmQob3MucGF0aC5qb2luKHNlbGYuYnVpbGRfdG9fc3JjLCAnbWVzb25fb3B0aW9ucy50eHQnKSkKK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2NvcmVkYXRhLnB5IGIvbWVzb25idWlsZC9jb3JlZGF0YS5weQoraW5kZXggYzNmNWE3NDUuLmZmODEwNjgzIDEwMDY0NAorLS0tIGEvbWVzb25idWlsZC9jb3JlZGF0YS5weQorKysrIGIvbWVzb25idWlsZC9jb3JlZGF0YS5weQorQEAgLTIwMSw4ICsyMDEsOCBAQCBjbGFzcyBVc2VyRmVhdHVyZU9wdGlvbihVc2VyQ29tYm9PcHRpb24pOgorICAgICAgICAgcmV0dXJuIHNlbGYudmFsdWUgPT0gJ2F1dG8nCisgCisgCistZGVmIGxvYWRfY29uZmlncyhmaWxlbmFtZXMpOgorLSAgICAiIiJMb2FkIG5hdGl2ZSBmaWxlcy4iIiIKKytkZWYgbG9hZF9jb25maWdzKGZpbGVuYW1lcywgc3ViZGlyKToKKysgICAgIiIiTG9hZCBjb25maWd1cmF0aW9uIGZpbGVzIGZyb20gYSBuYW1lZCBzdWJkaXJlY3RvcnkuIiIiCisgICAgIGRlZiBnZW4oKToKKyAgICAgICAgIGZvciBmIGluIGZpbGVuYW1lczoKKyAgICAgICAgICAgICBmID0gb3MucGF0aC5leHBhbmR1c2VyKG9zLnBhdGguZXhwYW5kdmFycyhmKSkKK0BAIC0yMTUsNyArMjE1LDcgQEAgZGVmIGxvYWRfY29uZmlncyhmaWxlbmFtZXMpOgorICAgICAgICAgICAgICAgICAgICAgb3MuZW52aXJvbi5nZXQoJ1hER19EQVRBX0hPTUUnLCBvcy5wYXRoLmV4cGFuZHVzZXIoJ34vLmxvY2FsL3NoYXJlJykpLAorICAgICAgICAgICAgICAgICBdICsgb3MuZW52aXJvbi5nZXQoJ1hER19EQVRBX0RJUlMnLCAnL3Vzci9sb2NhbC9zaGFyZTovdXNyL3NoYXJlJykuc3BsaXQoJzonKQorICAgICAgICAgICAgICAgICBmb3IgcGF0aCBpbiBwYXRoczoKKy0gICAgICAgICAgICAgICAgICAgIHBhdGhfdG9fdHJ5ID0gb3MucGF0aC5qb2luKHBhdGgsICdtZXNvbicsICduYXRpdmUnLCBmKQorKyAgICAgICAgICAgICAgICAgICAgcGF0aF90b190cnkgPSBvcy5wYXRoLmpvaW4ocGF0aCwgJ21lc29uJywgc3ViZGlyLCBmKQorICAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0aF90b190cnkpOgorICAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHBhdGhfdG9fdHJ5CisgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKK0BAIC0yOTEsNyArMjkxLDcgQEAgY2xhc3MgQ29yZURhdGE6CisgICAgICAgICBzZWxmLmNvbXBpbGVyX29wdGlvbnMgPSB7fQorICAgICAgICAgc2VsZi5iYXNlX29wdGlvbnMgPSB7fQorICAgICAgICAgc2VsZi5leHRlcm5hbF9wcmVwcm9jZXNzX2FyZ3MgPSB7fSAjIENQUEZMQUdTIG9ubHkKKy0gICAgICAgIHNlbGYuY3Jvc3NfZmlsZSA9IHNlbGYuX19sb2FkX2Nyb3NzX2ZpbGUob3B0aW9ucy5jcm9zc19maWxlKQorKyAgICAgICAgc2VsZi5jcm9zc19maWxlcyA9IHNlbGYuX19sb2FkX2NvbmZpZ19maWxlcyhvcHRpb25zLmNyb3NzX2ZpbGUpCisgICAgICAgICBzZWxmLmNvbXBpbGVycyA9IE9yZGVyZWREaWN0KCkKKyAgICAgICAgIHNlbGYuY3Jvc3NfY29tcGlsZXJzID0gT3JkZXJlZERpY3QoKQorICAgICAgICAgc2VsZi5kZXBzID0gT3JkZXJlZERpY3QoKQorQEAgLTMwMSw1MiArMzAxLDE0IEBAIGNsYXNzIENvcmVEYXRhOgorIAorICAgICBAc3RhdGljbWV0aG9kCisgICAgIGRlZiBfX2xvYWRfY29uZmlnX2ZpbGVzKGZpbGVuYW1lcyk6CisrICAgICAgICAjIE5lZWQgdG8gdHJ5IGFuZCBtYWtlIHRoZSBwYXNzZWQgZmlsZW5hbWVzIGFic29sdXRlIGJlY2F1c2Ugd2hlbiB0aGUKKysgICAgICAgICMgZmlsZXMgYXJlIHBhcnNlZCBsYXRlciB3ZSdsbCBoYXZlIGNoZGlyKClkLgorICAgICAgICAgaWYgbm90IGZpbGVuYW1lczoKKyAgICAgICAgICAgICByZXR1cm4gW10KKyAgICAgICAgIGZpbGVuYW1lcyA9IFtvcy5wYXRoLmFic3BhdGgob3MucGF0aC5leHBhbmR1c2VyKG9zLnBhdGguZXhwYW5kdXNlcihmKSkpCisgICAgICAgICAgICAgICAgICAgICAgZm9yIGYgaW4gZmlsZW5hbWVzXQorICAgICAgICAgcmV0dXJuIGZpbGVuYW1lcworIAorLSAgICBAc3RhdGljbWV0aG9kCistICAgIGRlZiBfX2xvYWRfY3Jvc3NfZmlsZShmaWxlbmFtZSk6CistICAgICAgICAiIiJUcnkgdG8gbG9hZCB0aGUgY3Jvc3MgZmlsZS4KKy0KKy0gICAgICAgIElmIHRoZSBmaWxlbmFtZSBpcyBOb25lIHJldHVybiBOb25lLiBJZiB0aGUgZmlsZW5hbWUgaXMgYW4gYWJzb2x1dGUKKy0gICAgICAgIChhZnRlciByZXNvbHZpbmcgdmFyaWFibGVzIGFuZCB+KSwgcmV0dXJuIHRoYXQgYWJzb2x1dGUgcGF0aC4gTmV4dCwKKy0gICAgICAgIGNoZWNrIGlmIHRoZSBmaWxlIGlzIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHNvdXJjZSBkaXIuIElmIHRoZSBwYXRoCistICAgICAgICBzdGlsbCBpc24ndCByZXNvbHZlZCBkbyB0aGUgZm9sbG93aW5nOgorLSAgICAgICAgICAgIFdpbmRvd3M6CistICAgICAgICAgICAgICAgIC0gRXJyb3IKKy0gICAgICAgICAgICAqOgorLSAgICAgICAgICAgICAgICAtICRYREdfREFUQV9IT01FL21lc29uL2Nyb3NzIChvciB+Ly5sb2NhbC9zaGFyZS9tZXNvbi9jcm9zcyBpZgorLSAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCkKKy0gICAgICAgICAgICAgICAgLSAkWERHX0RBVEFfRElSUy9tZXNvbi9jcm9zcyAob3IKKy0gICAgICAgICAgICAgICAgICAvdXNyL2xvY2FsL3NoYXJlL21lc29uL2Nyb3NzOi91c3Ivc2hhcmUvbWVzb24vY3Jvc3MgaWYgdW5kZWZpbmVkKQorLSAgICAgICAgICAgICAgICAtIEVycm9yCistCistICAgICAgICBOb24tV2luZG93cyBmb2xsb3dzIHRoZSBMaW51eCBwYXRoIGFuZCB3aWxsIGhvbm9yIFhER18qIGlmIHNldC4gVGhpcworLSAgICAgICAgc2ltcGxpZmllcyB0aGUgaW1wbGVtZW50YXRpb24gc29tZXdoYXQuCistICAgICAgICAiIiIKKy0gICAgICAgIGlmIGZpbGVuYW1lIGlzIE5vbmU6CistICAgICAgICAgICAgcmV0dXJuIE5vbmUKKy0gICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5leHBhbmR1c2VyKG9zLnBhdGguZXhwYW5kdmFycyhmaWxlbmFtZSkpCistICAgICAgICBpZiBvcy5wYXRoLmlzYWJzKGZpbGVuYW1lKToKKy0gICAgICAgICAgICByZXR1cm4gZmlsZW5hbWUKKy0gICAgICAgIHBhdGhfdG9fdHJ5ID0gb3MucGF0aC5hYnNwYXRoKGZpbGVuYW1lKQorLSAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0aF90b190cnkpOgorLSAgICAgICAgICAgIHJldHVybiBwYXRoX3RvX3RyeQorLSAgICAgICAgaWYgc3lzLnBsYXRmb3JtICE9ICd3aW4zMic6CistICAgICAgICAgICAgcGF0aHMgPSBbCistICAgICAgICAgICAgICAgIG9zLmVudmlyb24uZ2V0KCdYREdfREFUQV9IT01FJywgb3MucGF0aC5leHBhbmR1c2VyKCd+Ly5sb2NhbC9zaGFyZScpKSwKKy0gICAgICAgICAgICBdICsgb3MuZW52aXJvbi5nZXQoJ1hER19EQVRBX0RJUlMnLCAnL3Vzci9sb2NhbC9zaGFyZTovdXNyL3NoYXJlJykuc3BsaXQoJzonKQorLSAgICAgICAgICAgIGZvciBwYXRoIGluIHBhdGhzOgorLSAgICAgICAgICAgICAgICBwYXRoX3RvX3RyeSA9IG9zLnBhdGguam9pbihwYXRoLCAnbWVzb24nLCAnY3Jvc3MnLCBmaWxlbmFtZSkKKy0gICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0aF90b190cnkpOgorLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhdGhfdG9fdHJ5CistICAgICAgICAgICAgcmFpc2UgTWVzb25FeGNlcHRpb24oJ0Nhbm5vdCBmaW5kIHNwZWNpZmllZCBjcm9zcyBmaWxlOiAnICsgZmlsZW5hbWUpCistCistICAgICAgICByYWlzZSBNZXNvbkV4Y2VwdGlvbignQ2Fubm90IGZpbmQgc3BlY2lmaWVkIGNyb3NzIGZpbGU6ICcgKyBmaWxlbmFtZSkKKy0KKyAgICAgZGVmIHNhbml0aXplX3ByZWZpeChzZWxmLCBwcmVmaXgpOgorICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNhYnMocHJlZml4KToKKyAgICAgICAgICAgICByYWlzZSBNZXNvbkV4Y2VwdGlvbigncHJlZml4IHZhbHVlIHshcn0gbXVzdCBiZSBhbiBhYnNvbHV0ZSBwYXRoJworQEAgLTU1OCw4ICs1MjAsOCBAQCBkZWYgcmVhZF9jbWRfbGluZV9maWxlKGJ1aWxkX2Rpciwgb3B0aW9ucyk6CisgICAgIG9wdGlvbnMuY21kX2xpbmVfb3B0aW9ucyA9IGQKKyAKKyAgICAgcHJvcGVydGllcyA9IGNvbmZpZ1sncHJvcGVydGllcyddCistICAgIGlmIG9wdGlvbnMuY3Jvc3NfZmlsZSBpcyBOb25lOgorLSAgICAgICAgb3B0aW9ucy5jcm9zc19maWxlID0gcHJvcGVydGllcy5nZXQoJ2Nyb3NzX2ZpbGUnLCBOb25lKQorKyAgICBpZiBub3Qgb3B0aW9ucy5jcm9zc19maWxlOgorKyAgICAgICAgb3B0aW9ucy5jcm9zc19maWxlID0gYXN0LmxpdGVyYWxfZXZhbChwcm9wZXJ0aWVzLmdldCgnY3Jvc3NfZmlsZScsICdbXScpKQorICAgICBpZiBub3Qgb3B0aW9ucy5uYXRpdmVfZmlsZToKKyAgICAgICAgICMgVGhpcyB3aWxsIGJlIGEgc3RyaW5nIGluIHRoZSBmb3JtOiAiWydmaXJzdCcsICdzZWNvbmQnLCAuLi5dIiwgdXNlCisgICAgICAgICAjIGxpdGVyYWxfZXZhbCB0byBnZXQgaXQgaW50byB0aGUgbGlzdCBvZiBzdHJpbmdzLgorQEAgLTU3MCw3ICs1MzIsNyBAQCBkZWYgd3JpdGVfY21kX2xpbmVfZmlsZShidWlsZF9kaXIsIG9wdGlvbnMpOgorICAgICBjb25maWcgPSBDbWRMaW5lRmlsZVBhcnNlcigpCisgCisgICAgIHByb3BlcnRpZXMgPSB7fQorLSAgICBpZiBvcHRpb25zLmNyb3NzX2ZpbGUgaXMgbm90IE5vbmU6CisrICAgIGlmIG9wdGlvbnMuY3Jvc3NfZmlsZToKKyAgICAgICAgIHByb3BlcnRpZXNbJ2Nyb3NzX2ZpbGUnXSA9IG9wdGlvbnMuY3Jvc3NfZmlsZQorICAgICBpZiBvcHRpb25zLm5hdGl2ZV9maWxlOgorICAgICAgICAgcHJvcGVydGllc1snbmF0aXZlX2ZpbGUnXSA9IG9wdGlvbnMubmF0aXZlX2ZpbGUKK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5IGIvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQoraW5kZXggNmQ4NmRhZjkuLjQwNmFiOGI4IDEwMDY0NAorLS0tIGEvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQorKysrIGIvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQorQEAgLTM1NSw4ICszNTUsOCBAQCBjbGFzcyBFbnZpcm9ubWVudDoKKyAgICAgICAgIHNlbGYubWFjaGluZXMgPSBNYWNoaW5lSW5mb3MoKQorICAgICAgICAgIyBXaWxsIGJlIGZ1bGx5IGluaXRpYWxpemVkIGxhdGVyIHVzaW5nIGNvbXBpbGVycyBsYXRlci4KKyAgICAgICAgIHNlbGYubWFjaGluZXMuZGV0ZWN0X2J1aWxkKCkKKy0gICAgICAgIGlmIHNlbGYuY29yZWRhdGEuY3Jvc3NfZmlsZToKKy0gICAgICAgICAgICBzZWxmLmNyb3NzX2luZm8gPSBDcm9zc0J1aWxkSW5mbyhzZWxmLmNvcmVkYXRhLmNyb3NzX2ZpbGUpCisrICAgICAgICBpZiBzZWxmLmNvcmVkYXRhLmNyb3NzX2ZpbGVzOgorKyAgICAgICAgICAgIHNlbGYuY3Jvc3NfaW5mbyA9IENyb3NzQnVpbGRJbmZvKHNlbGYuY29yZWRhdGEuY3Jvc3NfZmlsZXMpCisgICAgICAgICAgICAgaWYgJ2V4ZV93cmFwcGVyJyBpbiBzZWxmLmNyb3NzX2luZm8uY29uZmlnWydiaW5hcmllcyddOgorICAgICAgICAgICAgICAgICBmcm9tIC5kZXBlbmRlbmNpZXMgaW1wb3J0IEV4dGVybmFsUHJvZ3JhbQorICAgICAgICAgICAgICAgICBzZWxmLmV4ZV93cmFwcGVyID0gRXh0ZXJuYWxQcm9ncmFtLmZyb21fYmluX2xpc3QoCitAQCAtMzczLDcgKzM3Myw3IEBAIGNsYXNzIEVudmlyb25tZW50OgorIAorICAgICAgICAgaWYgc2VsZi5jb3JlZGF0YS5jb25maWdfZmlsZXM6CisgICAgICAgICAgICAgc2VsZi5jb25maWdfaW5mbyA9IGNvcmVkYXRhLkNvbmZpZ0RhdGEoCistICAgICAgICAgICAgICAgIGNvcmVkYXRhLmxvYWRfY29uZmlncyhzZWxmLmNvcmVkYXRhLmNvbmZpZ19maWxlcykpCisrICAgICAgICAgICAgICAgIGNvcmVkYXRhLmxvYWRfY29uZmlncyhzZWxmLmNvcmVkYXRhLmNvbmZpZ19maWxlcywgJ25hdGl2ZScpKQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBzZWxmLmNvbmZpZ19pbmZvID0gY29yZWRhdGEuQ29uZmlnRGF0YSgpCisgCitAQCAtMTExMywxMyArMTExMyw4IEBAIGNsYXNzIENyb3NzQnVpbGRJbmZvOgorICAgICBkZWYgb2tfdHlwZShzZWxmLCBpKToKKyAgICAgICAgIHJldHVybiBpc2luc3RhbmNlKGksIChzdHIsIGludCwgYm9vbCkpCisgCistICAgIGRlZiBwYXJzZV9kYXRhZmlsZShzZWxmLCBmaWxlbmFtZSk6CistICAgICAgICBjb25maWcgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyKCkKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUsICdyJykgYXMgZjoKKy0gICAgICAgICAgICAgICAgY29uZmlnLnJlYWRfZmlsZShmLCBmaWxlbmFtZSkKKy0gICAgICAgIGV4Y2VwdCBGaWxlTm90Rm91bmRFcnJvcjoKKy0gICAgICAgICAgICByYWlzZSBFbnZpcm9ubWVudEV4Y2VwdGlvbignRmlsZSBub3QgZm91bmQ6ICVzLicgJSBmaWxlbmFtZSkKKysgICAgZGVmIHBhcnNlX2RhdGFmaWxlKHNlbGYsIGZpbGVuYW1lcyk6CisrICAgICAgICBjb25maWcgPSBjb3JlZGF0YS5sb2FkX2NvbmZpZ3MoZmlsZW5hbWVzLCAnY3Jvc3MnKQorICAgICAgICAgIyBUaGlzIGlzIGEgYml0IGhhY2tpc2ggYXQgdGhlIG1vbWVudC4KKyAgICAgICAgIGZvciBzIGluIGNvbmZpZy5zZWN0aW9ucygpOgorICAgICAgICAgICAgIHNlbGYuY29uZmlnW3NdID0ge30KK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL21zZXR1cC5weSBiL21lc29uYnVpbGQvbXNldHVwLnB5CitpbmRleCA1NmEwZTlhNy4uZjBhMWFlMTkgMTAwNjQ0CistLS0gYS9tZXNvbmJ1aWxkL21zZXR1cC5weQorKysrIGIvbWVzb25idWlsZC9tc2V0dXAucHkKK0BAIC0yNyw3ICsyNyw5IEBAIGZyb20gLm1lc29ubGliIGltcG9ydCBNZXNvbkV4Y2VwdGlvbgorIAorIGRlZiBhZGRfYXJndW1lbnRzKHBhcnNlcik6CisgICAgIGNvcmVkYXRhLnJlZ2lzdGVyX2J1aWx0aW5fYXJndW1lbnRzKHBhcnNlcikKKy0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1jcm9zcy1maWxlJywgZGVmYXVsdD1Ob25lLAorKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWNyb3NzLWZpbGUnLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9W10sCisrICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSdhcHBlbmQnLAorICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J0ZpbGUgZGVzY3JpYmluZyBjcm9zcyBjb21waWxhdGlvbiBlbnZpcm9ubWVudC4nKQorICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLW5hdGl2ZS1maWxlJywKKyAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PVtdLAorZGlmZiAtLWdpdCBhL3J1bl91bml0dGVzdHMucHkgYi9ydW5fdW5pdHRlc3RzLnB5CitpbmRleCBlNjg3NGIyNS4uMWQyNDcyOTEgMTAwNzU1CistLS0gYS9ydW5fdW5pdHRlc3RzLnB5CisrKysgYi9ydW5fdW5pdHRlc3RzLnB5CitAQCAtNTI5LDcgKzUyOSw3IEBAIGNsYXNzIEludGVybmFsVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICAgY29uZmlnLndyaXRlKGNvbmZpZ2ZpbGUpCisgICAgICAgICBjb25maWdmaWxlLmZsdXNoKCkKKyAgICAgICAgIGNvbmZpZ2ZpbGUuY2xvc2UoKQorLSAgICAgICAgZGV0ZWN0ZWRfdmFsdWUgPSBtZXNvbmJ1aWxkLmVudmlyb25tZW50LkNyb3NzQnVpbGRJbmZvKGNvbmZpZ2ZpbGUubmFtZSkubmVlZF9leGVfd3JhcHBlcigpCisrICAgICAgICBkZXRlY3RlZF92YWx1ZSA9IG1lc29uYnVpbGQuZW52aXJvbm1lbnQuQ3Jvc3NCdWlsZEluZm8oKGNvbmZpZ2ZpbGUubmFtZSwpKS5uZWVkX2V4ZV93cmFwcGVyKCkKKyAgICAgICAgIG9zLnVubGluayhjb25maWdmaWxlbmFtZSkKKyAKKyAgICAgICAgIGRlc2lyZWRfdmFsdWUgPSBub3QgZGV0ZWN0ZWRfdmFsdWUKK0BAIC01NDEsNyArNTQxLDcgQEAgY2xhc3MgSW50ZXJuYWxUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBjb25maWdmaWxlbmFtZSA9IGNvbmZpZ2ZpbGUubmFtZQorICAgICAgICAgY29uZmlnLndyaXRlKGNvbmZpZ2ZpbGUpCisgICAgICAgICBjb25maWdmaWxlLmNsb3NlKCkKKy0gICAgICAgIGZvcmNlZF92YWx1ZSA9IG1lc29uYnVpbGQuZW52aXJvbm1lbnQuQ3Jvc3NCdWlsZEluZm8oY29uZmlnZmlsZS5uYW1lKS5uZWVkX2V4ZV93cmFwcGVyKCkKKysgICAgICAgIGZvcmNlZF92YWx1ZSA9IG1lc29uYnVpbGQuZW52aXJvbm1lbnQuQ3Jvc3NCdWlsZEluZm8oKGNvbmZpZ2ZpbGUubmFtZSwpKS5uZWVkX2V4ZV93cmFwcGVyKCkKKyAgICAgICAgIG9zLnVubGluayhjb25maWdmaWxlbmFtZSkKKyAKKyAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9yY2VkX3ZhbHVlLCBkZXNpcmVkX3ZhbHVlKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vbWVzb24tc2V0dXAucHkgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9tZXNvbi1zZXR1cC5weQppbmRleCBhOTc0OWVhLi44MDhlMmEwIDEwMDc1NQotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9tZXNvbi1zZXR1cC5weQorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9tZXNvbi1zZXR1cC5weQpAQCAtMSw2MiArMSwzMSBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwogCiBpbXBvcnQgb3MKK2ltcG9ydCBzdHJpbmcKIGltcG9ydCBzeXMKIAotZGVmIGJhaWwobXNnKToKLSAgICBwcmludChtc2csIGZpbGU9c3lzLnN0ZGVycikKLSAgICBzeXMuZXhpdCgxKQorY2xhc3MgVGVtcGxhdGUoc3RyaW5nLlRlbXBsYXRlKToKKyAgICBkZWxpbWl0ZXIgPSAiQCIKIAotX01BUktFUiA9ICdAQCcKLWRlZiB0cmFuc2Zvcm1fbGluZShsaW5lKToKLSAgICAjIFN1YnN0aXR1dGUgYW55IHNwZWNpYWwgbWFya2VycyBvZiB0aGlzIGZvcm06Ci0gICAgIyBAQEVOVkBACi0gICAgIyB3aXRoIHRoZSB2YWx1ZSBvZiBFTlYsIHNwbGl0IGludG8gbWVzb24gYXJyYXkgc3ludGF4LgotICAgIHN0YXJ0ID0gbGluZS5maW5kKF9NQVJLRVIpCi0gICAgaWYgc3RhcnQgPT0gLTE6Ci0gICAgICAgIHJldHVybiBsaW5lCitjbGFzcyBFbnZpcm9uKCk6CisgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIG5hbWUpOgorICAgICAgICB2YWwgPSBvcy5lbnZpcm9uW25hbWVdCisgICAgICAgIHZhbCA9IFsiJyVzJyIgJSB4IGZvciB4IGluIHZhbC5zcGxpdCgpXQorICAgICAgICB2YWwgPSAnLCAnLmpvaW4odmFsKQorICAgICAgICB2YWwgPSAnWyVzXScgJSB2YWwKKyAgICAgICAgcmV0dXJuIHZhbAogCi0gICAgZW5kID0gbGluZS5yZmluZChfTUFSS0VSKQotICAgIGlmIGVuZCA9PSBzdGFydDoKLSAgICAgICAgcmV0dXJuIGxpbmUKLQotICAgICMgTG9va3VwIHZhbHVlIG9mIHRoZSBlbnYgdmFyLgotICAgIHZhciA9IGxpbmVbc3RhcnQrbGVuKF9NQVJLRVIpOmVuZF0KLSAgICB0cnk6Ci0gICAgICAgIHZhbCA9IG9zLmVudmlyb25bdmFyXQotICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgYmFpbCgnY2Fubm90IGdlbmVyYXRlIG1lc29uLmNyb3NzOyBlbnYgdmFyICVzIG5vdCBzZXQnICUgdmFyKQotCi0gICAgIyBUcmFuc2Zvcm0gaW50byBtZXNvbiBhcnJheS4KLSAgICB2YWwgPSBbIiclcyciICUgeCBmb3IgeCBpbiB2YWwuc3BsaXQoKV0KLSAgICB2YWwgPSAnLCAnLmpvaW4odmFsKQotICAgIHZhbCA9ICdbJXNdJyAlIHZhbAotCi0gICAgYmVmb3JlID0gbGluZVs6c3RhcnRdCi0gICAgYWZ0ZXIgPSBsaW5lW2VuZCtsZW4oX01BUktFUik6XQotCi0gICAgcmV0dXJuICclcyVzJXMnICUgKGJlZm9yZSwgdmFsLCBhZnRlcikKLQotIyBNYWtlIHN1cmUgdGhpcyBpcyByZWFsbHkgYW4gU0RLIGV4dHJhY3Rpb24gZW52aXJvbm1lbnQuCiB0cnk6CiAgICAgc3lzcm9vdCA9IG9zLmVudmlyb25bJ09FQ09SRV9OQVRJVkVfU1lTUk9PVCddCiBleGNlcHQgS2V5RXJyb3I6Ci0gICAgYmFpbCgnT0VDT1JFX05BVElWRV9TWVNST09UIGVudiB2YXIgbXVzdCBiZSBzZXQnKQorICAgIHByaW50KCJOb3QgaW4gZW52aXJvbm1lbnQgc2V0dXAsIGJhaWxpbmciKQorICAgIHN5cy5leGl0KDEpCiAKLWNyb3NzX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc3lzcm9vdCwgJ3Vzci9zaGFyZS9tZXNvbi9tZXNvbi5jcm9zcycpCi10bXBfY3Jvc3NfZmlsZSA9ICclcy50bXAnICUgY3Jvc3NfZmlsZQordGVtcGxhdGVfZmlsZSA9IG9zLnBhdGguam9pbihzeXNyb290LCAndXNyL3NoYXJlL21lc29uL21lc29uLmNyb3NzLnRlbXBsYXRlJykKK2Nyb3NzX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc3lzcm9vdCwgJ3Vzci9zaGFyZS9tZXNvbi8lc21lc29uLmNyb3NzJyAlIG9zLmVudmlyb25bIlRBUkdFVF9QUkVGSVgiXSkKIAotIyBSZWFkIHRocm91Z2ggYW5kIHRyYW5zZm9ybSB0aGUgY3VycmVudCBtZXNvbi5jcm9zcy4KLWxpbmVzID0gW10KLXdpdGggb3Blbihjcm9zc19maWxlLCAncicpIGFzIGY6Ci0gICAgZm9yIGxpbmUgaW4gZjoKLSAgICAgICAgbGluZXMuYXBwZW5kKHRyYW5zZm9ybV9saW5lKGxpbmUpKQotCi0jIFdyaXRlIHRoZSB0cmFuc2Zvcm1lZCByZXN1bHQgdG8gYSB0bXAgZmlsZSBhbmQgYXRvbWljYWxseSByZW5hbWUgaXQuIEluIGNhc2UKLSMgd2UgY3Jhc2ggZHVyaW5nIHRoZSBmaWxlIHdyaXRlLCB3ZSBkb24ndCB3YW50IGFuIGludmFsaWQgbWVzb24uY3Jvc3MgZmlsZS4KLXdpdGggb3Blbih0bXBfY3Jvc3NfZmlsZSwgJ3cnKSBhcyBmOgotICAgIGZvciBsaW5lIGluIGxpbmVzOgotICAgICAgICBmLndyaXRlKGxpbmUpCi0gICAgZi5mbHVzaCgpCi0gICAgb3MuZmRhdGFzeW5jKGYuZmlsZW5vKCkpCi1vcy5yZW5hbWUodG1wX2Nyb3NzX2ZpbGUsIGNyb3NzX2ZpbGUpCit3aXRoIG9wZW4odGVtcGxhdGVfZmlsZSkgYXMgaW5fZmlsZToKKyAgICB0ZW1wbGF0ZSA9IGluX2ZpbGUucmVhZCgpCisgICAgb3V0cHV0ID0gVGVtcGxhdGUodGVtcGxhdGUpLnN1YnN0aXR1dGUoRW52aXJvbigpKQorICAgIHdpdGggb3Blbihjcm9zc19maWxlLCAidyIpIGFzIG91dF9maWxlOgorICAgICAgICBvdXRfZmlsZS53cml0ZShvdXRwdXQpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9tZXNvbi13cmFwcGVyIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vbWVzb24td3JhcHBlcgppbmRleCBiMmUwMGRhLi5kNGZmZTYwIDEwMDc1NQotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9tZXNvbi13cmFwcGVyCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uL21lc29uLXdyYXBwZXIKQEAgLTEwLDUgKzEwLDUgQEAKIHVuc2V0IENDIENYWCBDUFAgTEQgQVIgTk0gU1RSSVAKIAogZXhlYyAiJE9FQ09SRV9OQVRJVkVfU1lTUk9PVC91c3IvYmluL21lc29uLnJlYWwiIFwKLSAgICAgLS1jcm9zcy1maWxlICIkT0VDT1JFX05BVElWRV9TWVNST09UL3Vzci9zaGFyZS9tZXNvbi9tZXNvbi5jcm9zcyIgXAorICAgICAtLWNyb3NzLWZpbGUgIiR7T0VDT1JFX05BVElWRV9TWVNST09UfS91c3Ivc2hhcmUvbWVzb24vJHtUQVJHRVRfUFJFRklYfW1lc29uLmNyb3NzIiBcCiAgICAgICIkQCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uXzAuNDcuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uXzAuNDcuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODk3ZmExNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbl8wLjQ3LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWluY2x1ZGUgbWVzb24uaW5jCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb25fMC40OS4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb25fMC40OS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlOWI5MDUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbl8wLjQ5LjIuYmIKQEAgLTAsMCArMSw0IEBACitpbmNsdWRlIG1lc29uLmluYworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbmF0aXZlc2RrLW1lc29uXzAuNDcuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL25hdGl2ZXNkay1tZXNvbl8wLjQ3LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUzNTAzYWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbmF0aXZlc2RrLW1lc29uXzAuNDcuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLWluY2x1ZGUgbWVzb24uaW5jCi0KLWluaGVyaXQgbmF0aXZlc2RrCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9tZXNvbi1zZXR1cC5weSBcCi0gICAgICAgICAgICBmaWxlOi8vbWVzb24td3JhcHBlciIKLQotZGVmIG1lc29uX2FycmF5KHZhciwgZCk6Ci0gICAgcmV0dXJuICInLCAnIi5qb2luKGQuZ2V0VmFyKHZhcikuc3BsaXQoKSkuam9pbigoIiciLCAiJyIpKQotCi0jIGJvdGggYXJlIHJlcXVpcmVkIGJ1dCBub3QgdXNlZCBieSBtZXNvbgotTUVTT05fU0RLX0VORElBTiA9ICJib2d1cy1lbmRpYW4iCi1NRVNPTl9UQVJHRVRfRU5ESUFOID0gImJvZ3VzLWVuZGlhbiIKLQotTUVTT05fVE9PTENIQUlOX0FSR1MgPSAiJHtCVUlMRFNES19DQ19BUkNIfSR7VE9PTENIQUlOX09QVElPTlN9IgotTUVTT05fQ19BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfQ0ZMQUdTfSIKLU1FU09OX0NQUF9BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfQ1hYRkxBR1N9IgotTUVTT05fTElOS19BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfTERGTEFHU30iCi0KLSMgVGhpcyBsb2dpYyBpcyBzaW1pbGFyIGJ1dCBub3QgaWRlbnRpY2FsIHRvIHRoYXQgaW4gbWVzb24uYmJjbGFzcywgc2luY2UgaXQncwotIyBnZW5lcmF0aW5nIGZvciBhbiBTREsgcmF0aGVyIHRoYW4gYSBjcm9zcy1jb21waWxlLiBJbXBvcnRhbnQgZGlmZmVyZW5jZXMgYXJlOgotIyAtIFdlIGNhbid0IHNldCB2YXJzIGxpa2UgQ0MsIENYWCwgZXRjLiB5ZXQgYmVjYXVzZSB0aGV5IHdpbGwgYmUgZmlsbGVkIGluIHdpdGgKLSMgICByZWFsIHBhdGhzIGJ5IG1lc29uLXNldHVwLnNoIHdoZW4gdGhlIFNESyBpcyBleHRyYWN0ZWQuCi0jIC0gU29tZSBvdmVycmlkZXMgYXJlbid0IG5lZWRlZCwgc2luY2UgdGhlIFNESyBpbmplY3RzIHBhdGhzIHRoYXQgdGFrZSBjYXJlIG9mCi0jICAgdGhlbS4KLWFkZHRhc2sgd3JpdGVfY29uZmlnIGJlZm9yZSBkb19pbnN0YWxsCi1kb193cml0ZV9jb25maWdbdmFyZGVwc10gKz0gIk1FU09OX0NfQVJHUyBNRVNPTl9DUFBfQVJHUyBNRVNPTl9MSU5LX0FSR1MgQ0MgQ1hYIExEIEFSIE5NIFNUUklQIFJFQURFTEYiCi1kb193cml0ZV9jb25maWcoKSB7Ci0gICAgIyBUaGlzIG5lZWRzIHRvIGJlIFB5IHRvIHNwbGl0IHRoZSBhcmdzIGludG8gc2luZ2xlLWVsZW1lbnQgbGlzdHMKLSAgICBjYXQgPiR7V09SS0RJUn0vbWVzb24uY3Jvc3MgPDxFT0YKLVtiaW5hcmllc10KLWMgPSBAQENDQEAKLWNwcCA9IEBAQ1hYQEAKLWFyID0gQEBBUkBACi1ubSA9IEBATk1AQAotbGQgPSBAQExEQEAKLXN0cmlwID0gQEBTVFJJUEBACi1wa2djb25maWcgPSAncGtnLWNvbmZpZycKLQotW3Byb3BlcnRpZXNdCi1uZWVkc19leGVfd3JhcHBlciA9IHRydWUKLWNfYXJncyA9IEBAQ0ZMQUdTQEAKLWNfbGlua19hcmdzID0gQEBMREZMQUdTQEAKLWNwcF9hcmdzID0gQEBDUFBGTEFHU0BACi1jcHBfbGlua19hcmdzID0gQEBMREZMQUdTQEAKLQotW2hvc3RfbWFjaGluZV0KLXN5c3RlbSA9ICcke1NES19PU30nCi1jcHVfZmFtaWx5ID0gJyR7U0RLX0FSQ0h9JwotY3B1ID0gJyR7U0RLX0FSQ0h9JwotZW5kaWFuID0gJyR7TUVTT05fU0RLX0VORElBTn0nCi1FT0YKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9tZXNvbgotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L21lc29uLmNyb3NzICR7RH0ke2RhdGFkaXJ9L21lc29uLwotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtTREtQQVRITkFUSVZFfS9wb3N0LXJlbG9jYXRlLXNldHVwLmQKLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9tZXNvbi1zZXR1cC5weSAke0R9JHtTREtQQVRITkFUSVZFfS9wb3N0LXJlbG9jYXRlLXNldHVwLmQvCi0KLSAgICAjIFdlIG5lZWQgdG8gd3JhcCB0aGUgcmVhbCBtZXNvbiB3aXRoIGEgdGhpbiBlbnYgc2V0dXAgd3JhcHBlci4KLSAgICBtdiAke0R9JHtiaW5kaXJ9L21lc29uICR7RH0ke2JpbmRpcn0vbWVzb24ucmVhbAotICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L21lc29uLXdyYXBwZXIgJHtEfSR7YmluZGlyfS9tZXNvbgotfQotCi1SREVQRU5EU18ke1BOfSArPSAiXAotICAgIG5hdGl2ZXNkay1uaW5qYSBcCi0gICAgbmF0aXZlc2RrLXB5dGhvbjMtY29yZSBcCi0gICAgbmF0aXZlc2RrLXB5dGhvbjMtbWlzYyBcCi0gICAgbmF0aXZlc2RrLXB5dGhvbjMtbW9kdWxlcyBcCi0gICAgIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9tZXNvbiAke1NES1BBVEhOQVRJVkV9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbmF0aXZlc2RrLW1lc29uXzAuNDkuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL25hdGl2ZXNkay1tZXNvbl8wLjQ5LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU0OTM1NwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL25hdGl2ZXNkay1tZXNvbl8wLjQ5LjIuYmIKQEAgLTAsMCArMSw3MSBAQAoraW5jbHVkZSBtZXNvbi5pbmMKKworaW5oZXJpdCBuYXRpdmVzZGsKK2luaGVyaXQgc2l0ZWluZm8KKworU1JDX1VSSSArPSAiZmlsZTovL21lc29uLXNldHVwLnB5IFwKKyAgICAgICAgICAgIGZpbGU6Ly9tZXNvbi13cmFwcGVyIgorCitkZWYgbWVzb25fZW5kaWFuKHByZWZpeCwgZCk6CisgICAgYXJjaCwgb3MgPSBkLmdldFZhcihwcmVmaXggKyAiX0FSQ0giKSwgZC5nZXRWYXIocHJlZml4ICsgIl9PUyIpCisgICAgc2l0ZWRhdGEgPSBzaXRlaW5mb19kYXRhX2Zvcl9tYWNoaW5lKGFyY2gsIG9zLCBkKQorICAgIGlmICJlbmRpYW4tbGl0dGxlIiBpbiBzaXRlZGF0YToKKyAgICAgICAgcmV0dXJuICJsaXR0bGUiCisgICAgZWxpZiAiZW5kaWFuLWJpZyIgaW4gc2l0ZWRhdGE6CisgICAgICAgIHJldHVybiAiYmlnIgorICAgIGVsc2U6CisgICAgICAgIGJiLmZhdGFsKCJDYW5ub3QgZGV0ZXJtaW5lIGVuZGlhbmlzbSBmb3IgJXMtJXMiICUgKGFyY2gsIG9zKSkKKworTUVTT05fVE9PTENIQUlOX0FSR1MgPSAiJHtCVUlMRFNES19DQ19BUkNIfSR7VE9PTENIQUlOX09QVElPTlN9IgorTUVTT05fQ19BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfQ0ZMQUdTfSIKK01FU09OX0NQUF9BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfQ1hYRkxBR1N9IgorTUVTT05fTElOS19BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfTERGTEFHU30iCisKKyMgVGhlIGNyb3NzIGZpbGUgbG9naWMgaXMgc2ltaWxhciBidXQgbm90IGlkZW50aWNhbCB0byB0aGF0IGluIG1lc29uLmJiY2xhc3MsCisjIHNpbmNlIGl0J3MgZ2VuZXJhdGluZyBmb3IgYW4gU0RLIHJhdGhlciB0aGFuIGEgY3Jvc3MtY29tcGlsZS4gSW1wb3J0YW50CisjIGRpZmZlcmVuY2VzIGFyZToKKyMgLSBXZSBjYW4ndCBzZXQgdmFycyBsaWtlIENDLCBDWFgsIGV0Yy4geWV0IGJlY2F1c2UgdGhleSB3aWxsIGJlIGZpbGxlZCBpbiB3aXRoCisjICAgcmVhbCBwYXRocyBieSBtZXNvbi1zZXR1cC5zaCB3aGVuIHRoZSBTREsgaXMgZXh0cmFjdGVkLgorIyAtIFNvbWUgb3ZlcnJpZGVzIGFyZW4ndCBuZWVkZWQsIHNpbmNlIHRoZSBTREsgaW5qZWN0cyBwYXRocyB0aGF0IHRha2UgY2FyZSBvZgorIyAgIHRoZW0uCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L21lc29uCisgICAgY2F0ID4ke0R9JHtkYXRhZGlyfS9tZXNvbi9tZXNvbi5jcm9zcy50ZW1wbGF0ZSA8PEVPRgorW2JpbmFyaWVzXQorYyA9IEBDQworY3BwID0gQENYWAorYXIgPSBAQVIKK25tID0gQE5NCitsZCA9IEBMRAorc3RyaXAgPSBAU1RSSVAKK3BrZ2NvbmZpZyA9ICdwa2ctY29uZmlnJworCitbcHJvcGVydGllc10KK25lZWRzX2V4ZV93cmFwcGVyID0gdHJ1ZQorY19hcmdzID0gQENGTEFHUworY19saW5rX2FyZ3MgPSBATERGTEFHUworY3BwX2FyZ3MgPSBAQ1BQRkxBR1MKK2NwcF9saW5rX2FyZ3MgPSBATERGTEFHUworCitbaG9zdF9tYWNoaW5lXQorc3lzdGVtID0gJyR7U0RLX09TfScKK2NwdV9mYW1pbHkgPSAnJHtTREtfQVJDSH0nCitjcHUgPSAnJHtTREtfQVJDSH0nCitlbmRpYW4gPSAnJHtAbWVzb25fZW5kaWFuKCJTREsiLCBkKX0nCitFT0YKKworICAgIGluc3RhbGwgLWQgJHtEfSR7U0RLUEFUSE5BVElWRX0vcG9zdC1yZWxvY2F0ZS1zZXR1cC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbWVzb24tc2V0dXAucHkgJHtEfSR7U0RLUEFUSE5BVElWRX0vcG9zdC1yZWxvY2F0ZS1zZXR1cC5kLworCisgICAgIyBXZSBuZWVkIHRvIHdyYXAgdGhlIHJlYWwgbWVzb24gd2l0aCBhIHRoaW4gZW52IHNldHVwIHdyYXBwZXIuCisgICAgbXYgJHtEfSR7YmluZGlyfS9tZXNvbiAke0R9JHtiaW5kaXJ9L21lc29uLnJlYWwKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9tZXNvbi13cmFwcGVyICR7RH0ke2JpbmRpcn0vbWVzb24KK30KKworUkRFUEVORFNfJHtQTn0gKz0gIlwKKyAgICBuYXRpdmVzZGstbmluamEgXAorICAgIG5hdGl2ZXNkay1weXRob24zIFwKKyAgICBuYXRpdmVzZGstcHl0aG9uMy1zZXR1cHRvb2xzIFwKKyAgICAiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L21lc29uICR7U0RLUEFUSE5BVElWRX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ta2xpYnMvbWtsaWJzLW5hdGl2ZV8wLjEuNDMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ta2xpYnMvbWtsaWJzLW5hdGl2ZV8wLjEuNDMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExNjE0NzYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWtsaWJzL21rbGlicy1uYXRpdmVfMC4xLjQzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotU1VNTUFSWSA9ICJTaGFyZWQgbGlicmFyeSBvcHRpbWlzYXRpb24gdG9vbCIKLURFU0NSSVBUSU9OID0gIm1rbGlicyBwcm9kdWNlcyBjdXQtZG93biBzaGFyZWQgbGlicmFyaWVzIHRoYXQgY29udGFpbiBvbmx5IHRoZSByb3V0aW5lcyByZXF1aXJlZCBieSBhIHBhcnRpY3VsYXIgc2V0IG9mIGV4ZWN1dGFibGVzLiIKLUhPTUVQQUdFID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC9ta2xpYnMiCi1TRUNUSU9OID0gImRldmVsIgotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT05OGQzMTAzN2IxM2Q4OTZlMzM4OTA3MzhlZjAxYWY2NCIKLQotU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE2MTEyM1QxNTIwMTFaL3Bvb2wvbWFpbi9tL21rbGlicy9ta2xpYnNfJHtQVn0udGFyLnh6IFwKLQlmaWxlOi8vYWNfaW5pdF9maXgucGF0Y2hcCi0JZmlsZTovL2ZpeF9TVFRfR05VX0lGVU5DLnBhdGNoXAotCWZpbGU6Ly9zeXNyb290ZWQtbGRzby5wYXRjaCBcCi0JZmlsZTovL2F2b2lkLWZhaWx1cmUtb24tc3ltYm9sLXByb3ZpZGVkLWJ5LWFwcGxpY2F0aW9uLnBhdGNoIFwKLQlmaWxlOi8vc2hvdy1HTlUtdW5pcXVlLXN5bWJvbHMtYXMtcHJvdmlkZWQtc3ltYm9scy5wYXRjaCBcCi0JZmlsZTovL2ZpeF9jcm9zc19jb21waWxlLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjM5YjA4YTE3MzQ1NGU1MjEwYWIzZjU5OGU5NDE3OWJmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZmMGNmMjRhZGUxM2ZmZjc2ZTk0M2MwMDM0MTNkODVjM2U0OTdjOTg0Yzk1YzFlY2VhMWM5NzMxY2E4NmYxM2MiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbS9ta2xpYnMvIgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IG5hdGl2ZQotCi1TID0gIiR7V09SS0RJUn0vbWtsaWJzIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWtsaWJzL21rbGlicy1uYXRpdmVfMC4xLjQ0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWtsaWJzL21rbGlicy1uYXRpdmVfMC4xLjQ0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ODRhZjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ta2xpYnMvbWtsaWJzLW5hdGl2ZV8wLjEuNDQuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJTaGFyZWQgbGlicmFyeSBvcHRpbWlzYXRpb24gdG9vbCIKK0RFU0NSSVBUSU9OID0gIm1rbGlicyBwcm9kdWNlcyBjdXQtZG93biBzaGFyZWQgbGlicmFyaWVzIHRoYXQgY29udGFpbiBvbmx5IHRoZSByb3V0aW5lcyByZXF1aXJlZCBieSBhIHBhcnRpY3VsYXIgc2V0IG9mIGV4ZWN1dGFibGVzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC9ta2xpYnMiCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT05OGQzMTAzN2IxM2Q4OTZlMzM4OTA3MzhlZjAxYWY2NCIKKworU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE4MDgyOFQyMTQxMDJaL3Bvb2wvbWFpbi9tL21rbGlicy9ta2xpYnNfJHtQVn0udGFyLnh6IFwKKwlmaWxlOi8vYWNfaW5pdF9maXgucGF0Y2hcCisJZmlsZTovL2ZpeF9TVFRfR05VX0lGVU5DLnBhdGNoXAorCWZpbGU6Ly9zeXNyb290ZWQtbGRzby5wYXRjaCBcCisJZmlsZTovL2F2b2lkLWZhaWx1cmUtb24tc3ltYm9sLXByb3ZpZGVkLWJ5LWFwcGxpY2F0aW9uLnBhdGNoIFwKKwlmaWxlOi8vc2hvdy1HTlUtdW5pcXVlLXN5bWJvbHMtYXMtcHJvdmlkZWQtc3ltYm9scy5wYXRjaCBcCisJZmlsZTovL2ZpeF9jcm9zc19jb21waWxlLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjZiNmVlYjliNDAxNmM2YTczMTdhY2MyOGM4OWUzMmNjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNhZjBiNmJkMzVlNWI2ZmM1OGQ4YjY4ODI3ZmJhZTJmZjZiN2UyMGRkMmIyMzhjY2I5YjQ5ZDg0NzIyMDY2YzIiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbS9ta2xpYnMvIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IG5hdGl2ZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbXRkL210ZC11dGlsc19naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdGQvbXRkLXV0aWxzX2dpdC5iYgppbmRleCBmNTNjNmMxLi45ZmZhYzJlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdGQvbXRkLXV0aWxzX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdGQvbXRkLXV0aWxzX2dpdC5iYgpAQCAtNyw3ICs3LDcgQEAKIAogaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKIAotREVQRU5EUyA9ICJ6bGliIGx6byBlMmZzcHJvZ3MgdXRpbC1saW51eCIKK0RFUEVORFMgPSAiemxpYiBlMmZzcHJvZ3MgdXRpbC1saW51eCIKIFJERVBFTkRTX210ZC11dGlscy10ZXN0cyArPSAiYmFzaCIKIAogUFYgPSAiMi4wLjIrJHtTUkNQVn0iCkBAIC0yNSw4ICsyNSw5IEBACiAjIHhhdHRyIHN1cHBvcnQgY3JlYXRlcyBhbiBhZGRpdGlvbmFsIGNvbXBpbGUtdGltZSBkZXBlbmRlbmN5IG9uIGFjbCBiZWNhdXNlCiAjIHRoZSBzeXMvYWNsLmggaGVhZGVyIGlzIG5lZWRlZC4gbGliYWNsIGlzIG5vdCBuZWVkZWQgYW5kIHRodXMgZW5hYmxpbmcgeGF0dHIKICMgcmVnYXJkbGVzcyB3aGV0aGVyIGFjbCBpcyBlbmFibGVkIG9yIGRpc2FibGVkIGluIHRoZSBkaXN0cm8gc2hvdWxkIGJlIG9rYXkuCi1QQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4YXR0cicsIGQpfSIKLVBBQ0tBR0VDT05GSUdbeGF0dHJdID0gIiwsYWNsLCIKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4YXR0cicsIGQpfSBsem8iCitQQUNLQUdFQ09ORklHW2x6b10gPSAiLS13aXRoLWx6bywtLXdpdGhvdXQtbHpvLGx6byIKK1BBQ0tBR0VDT05GSUdbeGF0dHJdID0gIi0td2l0aC14YXR0ciwtLXdpdGhvdXQteGF0dHIsYWNsIgogCiBDUFBGTEFHU19hcHBlbmRfcmlzY3Y2NCAgPSAiIC1wdGhyZWFkIC1EX1JFRU5UUkFOVCIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbXRvb2xzL210b29scy9kaXNhYmxlLWhhcmRjb2RlZC1jb25maWdzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbXRvb2xzL210b29scy9kaXNhYmxlLWhhcmRjb2RlZC1jb25maWdzLnBhdGNoCmluZGV4IDAxNDU1ZjEuLjQ2NGNjYzQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL210b29scy9tdG9vbHMvZGlzYWJsZS1oYXJkY29kZWQtY29uZmlncy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdG9vbHMvbXRvb2xzL2Rpc2FibGUtaGFyZGNvZGVkLWNvbmZpZ3MucGF0Y2gKQEAgLTEsMTIgKzEsMjEgQEAKLURpc2FibGVkIHJlYWRpbmcgaG9zdCBjb25maWdzLgorRnJvbSA1YzI0MzU2NzYyYmM0Mjc0ZDNjYTQ5MzBiMGJjNzc1NGY0ZmZkMTliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRWQgQmFydG9zaCA8ZWQuYmFydG9zaEBsaW51eC5pbnRlbC5jb20+CitEYXRlOiBUdWUsIDEzIEp1biAyMDE3IDE0OjU1OjUyICswMzAwCitTdWJqZWN0OiBbUEFUQ0hdIERpc2FibGVkIHJlYWRpbmcgaG9zdCBjb25maWdzLgogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25hdGl2ZV0KIAogU2lnbmVkLW9mZi1ieTogRWQgQmFydG9zaCA8ZWQuYmFydG9zaEBsaW51eC5pbnRlbC5jb20+CiAKLS0tLSBtdG9vbHMtNC4wLjE4L2NvbmZpZy5jLm9yaWcJMjAxNy0wNi0xMyAxMjoyNzozOC42NDQwMDAwMDAgKzAzMDAKLSsrKyBtdG9vbHMtNC4wLjE4L2NvbmZpZy5jCTIwMTctMDYtMTMgMTI6Mjg6NDcuNTc2MDAwMDAwICswMzAwCi1AQCAtNzAxLDE0ICs3MDEsNiBAQAorLS0tCisgY29uZmlnLmMgfCA4IC0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWcuYyBiL2NvbmZpZy5jCitpbmRleCBmMDg2ODgzLi4xYzNmOWJkIDEwMDY0NAorLS0tIGEvY29uZmlnLmMKKysrKyBiL2NvbmZpZy5jCitAQCAtNzAxLDE0ICs3MDEsNiBAQCB2b2lkIHJlYWRfY29uZmlnKHZvaWQpCiAgCW1lbWNweShkZXZpY2VzLCBjb25zdF9kZXZpY2VzLAogIAkgICAgICAgbnJfY29uc3RfZGV2aWNlcypzaXplb2Yoc3RydWN0IGRldmljZSkpOwogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbXRvb2xzL210b29sc180LjAuMTguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdG9vbHMvbXRvb2xzXzQuMC4xOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2MzMWFjYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdG9vbHMvbXRvb2xzXzQuMC4xOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLVNVTU1BUlkgPSAiVXRpbGl0aWVzIHRvIGFjY2VzcyBNUy1ET1MgZGlza3Mgd2l0aG91dCBtb3VudGluZyB0aGVtIgotREVTQ1JJUFRJT04gPSAiTXRvb2xzIGlzIGEgY29sbGVjdGlvbiBvZiB1dGlsaXRpZXMgdG8gYWNjZXNzIE1TLURPUyBkaXNrcyBmcm9tIEdOVSBhbmQgVW5peCB3aXRob3V0IG1vdW50aW5nIHRoZW0uIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL210b29scy8iCi1TRUNUSU9OID0gIm9wdGlvbmFsIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgotCi1ERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYmljb252IgotCi1SREVQRU5EU18ke1BOfV9saWJjLWdsaWJjID0gImdsaWJjLWdjb252LWlibTg1MCIKLVJSRUNPTU1FTkRTXyR7UE59X2xpYmMtZ2xpYmMgPSAiXAotCWdsaWJjLWdjb252LWlibTQzNyBcCi0JZ2xpYmMtZ2NvbnYtaWJtNzM3IFwKLQlnbGliYy1nY29udi1pYm03NzUgXAotCWdsaWJjLWdjb252LWlibTg1MSBcCi0JZ2xpYmMtZ2NvbnYtaWJtODUyIFwKLQlnbGliYy1nY29udi1pYm04NTUgXAotCWdsaWJjLWdjb252LWlibTg1NyBcCi0JZ2xpYmMtZ2NvbnYtaWJtODYwIFwKLQlnbGliYy1nY29udi1pYm04NjEgXAotCWdsaWJjLWdjb252LWlibTg2MiBcCi0JZ2xpYmMtZ2NvbnYtaWJtODYzIFwKLQlnbGliYy1nY29udi1pYm04NjUgXAotCWdsaWJjLWdjb252LWlibTg2NiBcCi0JZ2xpYmMtZ2NvbnYtaWJtODY5IFwKLQkiCi1TUkNfVVJJW21kNXN1bV0gPSAiYTIzNjQ2NjE3NTQ2YmY2YWQ1NmYwNjFkOGIyODNjODUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTllOWNmODA4ODUzOTljNGYyMjllNWQ4N2U0OWMwYzJiZmVlYzA0NGUxMzg2ZDU5ZmNkMGIwYWVhZDZiMmY4NSIKLQotU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L210b29scy9tdG9vbHMtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9tdG9vbHMtbWFrZWluZm8ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbm8teDExLmdwbHYzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQ29udGludWUtZXZlbi1pZi1mcy1zaXplLWlzLW5vdC1kaXZpc2libGUtYnktc2VjdG9ycy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXJlbW92ZS1MT0NLX05CLXRvLXVzZS1ibG9ja2luZy1yZXF1ZXN0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2NsYW5nX1VOVVNFRC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vZGlzYWJsZS1oYXJkY29kZWQtY29uZmlncy5wYXRjaCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdGV4aW5mbwotCi1FWFRSQV9PRUNPTkYgPSAiLS13aXRob3V0LXgiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbbGliYnNkXSA9ICJhY19jdl9saWJfYnNkX21haW49eWVzLGFjX2N2X2xpYl9ic2RfbWFpbj1ubyxsaWJic2QiCi0KLWRvX2luc3RhbGxfcHJlcGVuZCAoKSB7Ci0gICAgIyBDcmVhdGUgYmluZGlyIHRvIGZpeCBwYXJhbGxlbCBpbnN0YWxsYXRpb24gaXNzdWVzCi0gICAgbWtkaXIgLXAgJHtEfS8ke2JpbmRpcn0KLSAgICBta2RpciAtcCAke0R9LyR7ZGF0YWRpcn0KLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL210b29scy9tdG9vbHNfNC4wLjE5LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbXRvb2xzL210b29sc180LjAuMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Q1OWQ5MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL210b29scy9tdG9vbHNfNC4wLjE5LmJiCkBAIC0wLDAgKzEsNTMgQEAKK1NVTU1BUlkgPSAiVXRpbGl0aWVzIHRvIGFjY2VzcyBNUy1ET1MgZGlza3Mgd2l0aG91dCBtb3VudGluZyB0aGVtIgorREVTQ1JJUFRJT04gPSAiTXRvb2xzIGlzIGEgY29sbGVjdGlvbiBvZiB1dGlsaXRpZXMgdG8gYWNjZXNzIE1TLURPUyBkaXNrcyBmcm9tIEdOVSBhbmQgVW5peCB3aXRob3V0IG1vdW50aW5nIHRoZW0uIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL210b29scy8iCitTRUNUSU9OID0gIm9wdGlvbmFsIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYmljb252IgorCitSREVQRU5EU18ke1BOfV9saWJjLWdsaWJjID0gImdsaWJjLWdjb252LWlibTg1MCIKK1JSRUNPTU1FTkRTXyR7UE59X2xpYmMtZ2xpYmMgPSAiXAorCWdsaWJjLWdjb252LWlibTQzNyBcCisJZ2xpYmMtZ2NvbnYtaWJtNzM3IFwKKwlnbGliYy1nY29udi1pYm03NzUgXAorCWdsaWJjLWdjb252LWlibTg1MSBcCisJZ2xpYmMtZ2NvbnYtaWJtODUyIFwKKwlnbGliYy1nY29udi1pYm04NTUgXAorCWdsaWJjLWdjb252LWlibTg1NyBcCisJZ2xpYmMtZ2NvbnYtaWJtODYwIFwKKwlnbGliYy1nY29udi1pYm04NjEgXAorCWdsaWJjLWdjb252LWlibTg2MiBcCisJZ2xpYmMtZ2NvbnYtaWJtODYzIFwKKwlnbGliYy1nY29udi1pYm04NjUgXAorCWdsaWJjLWdjb252LWlibTg2NiBcCisJZ2xpYmMtZ2NvbnYtaWJtODY5IFwKKwkiCitTUkNfVVJJW21kNXN1bV0gPSAiZjc1MDI0NmE2NWVlNmY5ZDJlODJkMTBiMDNhMGFhYWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWJjMTk3MTk5ZWExYzJjMzE3ZjU5Nzg3OTQ4NmVlYjgxN2YzMTk5YjUyNmQ5NGNjNjg0MTYyNDc2OGQ5MTBkZiIKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L210b29scy9tdG9vbHMtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9tdG9vbHMtbWFrZWluZm8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbm8teDExLmdwbHYzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQ29udGludWUtZXZlbi1pZi1mcy1zaXplLWlzLW5vdC1kaXZpc2libGUtYnktc2VjdG9ycy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXJlbW92ZS1MT0NLX05CLXRvLXVzZS1ibG9ja2luZy1yZXF1ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NsYW5nX1VOVVNFRC5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vZGlzYWJsZS1oYXJkY29kZWQtY29uZmlncy5wYXRjaCIKKworaW5oZXJpdCBhdXRvdG9vbHMgdGV4aW5mbyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC14IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2xpYmJzZF0gPSAiYWNfY3ZfbGliX2JzZF9tYWluPXllcyxhY19jdl9saWJfYnNkX21haW49bm8sbGliYnNkIgorCitkb19pbnN0YWxsX3ByZXBlbmQgKCkgeworICAgICMgQ3JlYXRlIGJpbmRpciB0byBmaXggcGFyYWxsZWwgaW5zdGFsbGF0aW9uIGlzc3VlcworICAgIG1rZGlyIC1wICR7RH0vJHtiaW5kaXJ9CisgICAgbWtkaXIgLXAgJHtEfS8ke2RhdGFkaXJ9Cit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1WZXJpZnktdGhhdC13ZS1hcmUtbm90LXJlYWRpbmctcGFzdC1lbmQtb2YtYS1idWZmZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1WZXJpZnktdGhhdC13ZS1hcmUtbm90LXJlYWRpbmctcGFzdC1lbmQtb2YtYS1idWZmZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1NmEwOGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtVmVyaWZ5LXRoYXQtd2UtYXJlLW5vdC1yZWFkaW5nLXBhc3QtZW5kLW9mLWEtYnVmZmVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotRnJvbSBjNTc4NWZkZjFkNjYwZWFlZmI5NzExMjg0NDE0MjYyZDBjZmU4ODQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWRhbSBNYWplciA8YW1hamVyQHN1c2UuZGU+Ci1EYXRlOiBGcmksIDE3IEF1ZyAyMDE4IDE0OjQ4OjE3ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIFZlcmlmeSB0aGF0IHdlIGFyZSBub3QgcmVhZGluZyBwYXN0IGVuZCBvZiBhIGJ1ZmZlcgotCi1TaW1wbGUgcmVwcm9kdWNlciBpcyBqdXN0LAotCi0gICAgcmV0ICZkOmVwCi0KLXdoaWNoIHRyaWdnZXJzIGEgYnVmZmVyIG92ZXJyZWFkIGR1ZSB0byBwYXJzaW5nIG9mIGFuIGludmFsaWQKLXNlZ21lbnQgb3ZlcnJpZGUuCi0KLVNpZ25lZC1vZmYtYnk6IEFkYW0gTWFqZXIgPGFtYWplckBzdXNlLmRlPgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9idWd6aWxsYS5uYXNtLnVzL3Nob3dfYnVnLmNnaT9pZD0zMzkyNDQ3XQotQ1ZFOiBDVkUtMjAxOC04ODgzCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBpbmNsdWRlL29wZmxhZ3MuaCB8IDIgKy0KLSBpbmNsdWRlL3RhYmxlcy5oICB8IDEgKwotIHg4Ni9yZWdzLnBsICAgICAgIHwgMyArKy0KLSAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3BmbGFncy5oIGIvaW5jbHVkZS9vcGZsYWdzLmgKLWluZGV4IGVmMjgzOGMxLi44ZDRiNmIxZSAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvb3BmbGFncy5oCi0rKysgYi9pbmNsdWRlL29wZmxhZ3MuaAotQEAgLTE2Niw3ICsxNjYsNyBAQAotICNkZWZpbmUgUkVHX0NMQVNTX0JORCAgICAgICAgICAgR0VOX1JFR19DTEFTUyg5KQotIAotICNkZWZpbmUgaXNfY2xhc3MoY2xhc3MsIG9wKSAgICAgICAgICghKChvcGZsYWdzX3QpKGNsYXNzKSAmIH4ob3BmbGFnc190KShvcCkpKQotLSNkZWZpbmUgaXNfcmVnX2NsYXNzKGNsYXNzLCByZWcpICAgIGlzX2NsYXNzKChjbGFzcyksIG5hc21fcmVnX2ZsYWdzWyhyZWcpXSkKLSsjZGVmaW5lIGlzX3JlZ19jbGFzcyhjbGFzcywgcmVnKSAgICBpc19jbGFzcygoY2xhc3MpLCAoKHJlZykgPCBuYXNtX3JlZ19mbGFnc19zaXplID8gbmFzbV9yZWdfZmxhZ3NbKHJlZyldIDogMCkpCi0gCi0gI2RlZmluZSBJU19TUkVHKHJlZykgICAgICAgICAgICAgICAgaXNfcmVnX2NsYXNzKFJFR19TUkVHLCAocmVnKSkKLSAjZGVmaW5lIElTX0ZTR1MocmVnKSAgICAgICAgICAgICAgICBpc19yZWdfY2xhc3MoUkVHX0ZTR1MsIChyZWcpKQotZGlmZiAtLWdpdCBhL2luY2x1ZGUvdGFibGVzLmggYi9pbmNsdWRlL3RhYmxlcy5oCi1pbmRleCAyNGE2NjVlMi4uNDU4NzUyY2UgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL3RhYmxlcy5oCi0rKysgYi9pbmNsdWRlL3RhYmxlcy5oCi1AQCAtNjQsNiArNjQsNyBAQCBleHRlcm4gY29uc3QgY2hhciAqIGNvbnN0IG5hc21fcmVnX25hbWVzW107Ci0gdHlwZWRlZiB1aW50NjRfdCBvcGZsYWdzX3Q7Ci0gdHlwZWRlZiB1aW50MTZfdCAgZGVjb2ZsYWdzX3Q7Ci0gZXh0ZXJuIGNvbnN0IG9wZmxhZ3NfdCBuYXNtX3JlZ19mbGFnc1tdOwotK2V4dGVybiBjb25zdCBzaXplX3QgbmFzbV9yZWdfZmxhZ3Nfc2l6ZTsKLSAvKiByZWd2YWxzLmMgKi8KLSBleHRlcm4gY29uc3QgaW50IG5hc21fcmVndmFsc1tdOwotIAotZGlmZiAtLWdpdCBhL3g4Ni9yZWdzLnBsIGIveDg2L3JlZ3MucGwKLWluZGV4IDNhMWI1NmY1Li5jYjVjZWE2OCAxMDA3NTUKLS0tLSBhL3g4Ni9yZWdzLnBsCi0rKysgYi94ODYvcmVncy5wbAotQEAgLTE1OCw3ICsxNTgsOCBAQCBpZiAoICRmbXQgZXEgJ2gnICkgewotIAlwcmludGYgIiAgICAlLTE1cyAvKiAlLTVzICovXG4iLAotIAkJJHJlZ3N7JHJlZ30uJywnLCAkcmVnOwotICAgICB9Ci0tICAgIHByaW50ICJ9O1xuIjsKLSsgICAgcHJpbnQgIn07XG5cbiI7Ci0rICAgIHByaW50ICJjb25zdCBzaXplX3QgbmFzbV9yZWdfZmxhZ3Nfc2l6ZSA9IHNpemVvZihuYXNtX3JlZ19mbGFncykgLyBzaXplb2Yob3BmbGFnc190KTtcbiI7Ci0gfSBlbHNpZiAoICRmbXQgZXEgJ3ZjJyApIHsKLSAgICAgIyBPdXRwdXQgcmVndmFscy5jCi0gICAgIHByaW50ICIvKiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tICRmaWxlIC0gZG8gbm90IGVkaXQgKi9cblxuIjsKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLWFzbWxpYi1Ecm9wLXB1cmUtZnVuY3Rpb24tYXR0cmlidXRlLWZyb20tc2VnX2luaXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1hc21saWItRHJvcC1wdXJlLWZ1bmN0aW9uLWF0dHJpYnV0ZS1mcm9tLXNlZ19pbml0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMmFlM2E5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLWFzbWxpYi1Ecm9wLXB1cmUtZnVuY3Rpb24tYXR0cmlidXRlLWZyb20tc2VnX2luaXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1Gcm9tIDc3YzNhNzcyMTBkOGNhOGI5NGU5OTljNzExMTU2ZTk4NGE4ZGM3MzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAzMSBNYXIgMjAxOCAxMTowNTozMyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBhc21saWI6IERyb3AgcHVyZSBmdW5jdGlvbiBhdHRyaWJ1dGUgZnJvbSBzZWdfaW5pdAotCi1zZWdfaW5pdCByZXR1cm5zIHZvaWQsIHNvIGl0IGlzIGltcHVyZSBmdW5jdGlvbgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAotCi0gaW5jbHVkZS9uYXNtbGliLmggfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pbmNsdWRlL25hc21saWIuaCBiL2luY2x1ZGUvbmFzbWxpYi5oCi1pbmRleCA3OWU4NjZiLi5iODBiN2UyIDEwMDY0NAotLS0tIGEvaW5jbHVkZS9uYXNtbGliLmgKLSsrKyBiL2luY2x1ZGUvbmFzbWxpYi5oCi1AQCAtMTkxLDcgKzE5MSw3IEBAIGludDY0X3QgcmVhZHN0cm51bShjaGFyICpzdHIsIGludCBsZW5ndGgsIGJvb2wgKndhcm4pOwotICAqIHNlZ19pbml0OiBJbml0aWFsaXNlIHRoZSBzZWdtZW50LW51bWJlciBhbGxvY2F0b3IuCi0gICogc2VnX2FsbG9jOiBhbGxvY2F0ZSBhIGhpdGhlcnRvIHVudXNlZCBzZWdtZW50IG51bWJlci4KLSAgKi8KLS12b2lkIHB1cmVfZnVuYyBzZWdfaW5pdCh2b2lkKTsKLSt2b2lkIHNlZ19pbml0KHZvaWQpOwotIGludDMyX3QgcHVyZV9mdW5jIHNlZ19hbGxvYyh2b2lkKTsKLSAKLSAvKgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtYXNzZW1ibGUtQ2hlY2stZ2xvYmFsLWxpbmUtbGltaXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1hc3NlbWJsZS1DaGVjay1nbG9iYWwtbGluZS1saW1pdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjgyZDRjNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1hc3NlbWJsZS1DaGVjay1nbG9iYWwtbGluZS1saW1pdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLUZyb20gN2E0NmQ2YjllM2ExZDhhMGFiMGQ4MTZlZjFiZjE5NGFkMjg1ZTA4MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ICJDaGFuZyBTLiBCYWUiIDxjaGFuZy5zZW9rLmJhZUBpbnRlbC5jb20+Ci1EYXRlOiBGcmksIDE3IEF1ZyAyMDE4IDE0OjI2OjAzICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGFzc2VtYmxlOiBDaGVjayBnbG9iYWwgbGluZSBsaW1pdAotCi1XaXRob3V0IHRoZSBsaW1pdCwgdGhlIHdoaWxlIGxvb3Agb3BlbnMgdG8gc2VtaS1pbmZpbml0ZQotdGhhdCB3aWxsIGV4aGF1c3RpdmVseSBjb25zdW1lIHRoZSBoZWFwIHNwYWNlLiBBbHNvLCB0aGUKLWluZGV4IHZhbHVlIGdldHMgaW50byB0aGUgZ2FyYmFnZS4KLQotaHR0cHM6Ly9idWd6aWxsYS5uYXNtLnVzL3Nob3dfYnVnLmNnaT9pZD0zMzkyNDc0Ci0KLVJlcG9ydGVkLWJ5IDogRG9uZ2xpYW5nIE11IDxtdWRvbmdsaWFuZ2FiY2RAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ2hhbmcgUy4gQmFlIDxjaGFuZy5zZW9rLmJhZUBpbnRlbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDeXJpbGwgR29yY3Vub3YgPGdvcmN1bm92QGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBmcm9tIHVwc3RyZWFtIFtodHRwOi8vcmVwby5vci5jei9uYXNtLmdpdF0KLUNWRTogQ1ZFLTIwMTgtMTAzMTYKLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGFzbS9uYXNtLmMgfCA3ICsrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9hc20vbmFzbS5jIGIvYXNtL25hc20uYwotaW5kZXggODQ5N2VjOS4uODFmNmNlZSAxMDA2NDQKLS0tLSBhL2FzbS9uYXNtLmMKLSsrKyBiL2FzbS9uYXNtLmMKLUBAIC05OSw2ICs5OSw4IEBAIHN0YXRpYyBjaGFyIG91dG5hbWVbRklMRU5BTUVfTUFYXTsKLSBzdGF0aWMgY2hhciBsaXN0bmFtZVtGSUxFTkFNRV9NQVhdOwotIHN0YXRpYyBjaGFyIGVycm5hbWVbRklMRU5BTUVfTUFYXTsKLSBzdGF0aWMgaW50IGdsb2JhbGxpbmVubzsgICAgICAgIC8qIGZvciBmb3J3YXJkLXJlZmVyZW5jZSB0cmFja2luZyAqLwotKyNkZWZpbmUgR0xPQkFMTElORU5PX01BWCAgICBJTlQzMl9NQVgKLSsKLSAvKiBzdGF0aWMgaW50IHBhc3MgPSAwOyAqLwotIGNvbnN0IHN0cnVjdCBvZm10ICpvZm10ID0gJk9GX0RFRkFVTFQ7Ci0gY29uc3Qgc3RydWN0IG9mbXRfYWxpYXMgKm9mbXRfYWxpYXMgPSBOVUxMOwotQEAgLTEzNjAsNyArMTM2MiwxMCBAQCBzdGF0aWMgdm9pZCBhc3NlbWJsZV9maWxlKGNoYXIgKmZuYW1lLCBTdHJMaXN0ICoqZGVwZW5kX3B0cikKLSAgICAgICAgIGxvY2F0aW9uLm9mZnNldCA9IG9mZnMgPSBnZXRfY3Vycl9vZmZzKCk7Ci0gCi0gICAgICAgICB3aGlsZSAoKGxpbmUgPSBwcmVwcm9jLT5nZXRsaW5lKCkpKSB7Ci0tICAgICAgICAgICAgZ2xvYmFsbGluZW5vKys7Ci0rICAgICAgICAgICAgaWYgKGdsb2JhbGxpbmVubysrID09IEdMT0JBTExJTkVOT19NQVgpCi0rICAgICAgICAgICAgICAgIG5hc21fZXJyb3IoRVJSX0ZBVEFMLAotKyAgICAgICAgICAgICAgICAgICAgIm92ZXJhbGwgbGluZSBudW1iZXIgcmVhY2hlcyB0aGUgbWF4aW11bSAlZFxuIiwKLSsgICAgICAgICAgICAgICAgICAgIEdMT0JBTExJTkVOT19NQVgpOwotIAotICAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAgICogSGVyZSB3ZSBwYXJzZSBvdXIgZGlyZWN0aXZlczsgdGhpcyBpcyBub3QgaGFuZGxlZCBieSB0aGUKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtZXZhbC1FbGltaW5hdGUtZGl2aXNpb24tYnktemVyby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLWV2YWwtRWxpbWluYXRlLWRpdmlzaW9uLWJ5LXplcm8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjMzMyNDkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtZXZhbC1FbGltaW5hdGUtZGl2aXNpb24tYnktemVyby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLUZyb20gY2VlYzBkODE4Nzk4YWVhYTc1ZWQ0OTA3ZTYxMzViMDI0N2VkNDZiMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEN5cmlsbCBHb3JjdW5vdiA8Z29yY3Vub3ZAZ21haWwuY29tPgotRGF0ZTogU3VuLCAxNCBPY3QgMjAxOCAwMToyNjoxOSArMDMwMAotU3ViamVjdDogW1BBVENIXSBldmFsOiBFbGltaW5hdGUgZGl2aXNpb24gYnkgemVybwotCi1XaGVuIGRvaW5nIGRpdmlzaW9uIHdlIHNob3VsZCBkZXRlY3QgaWYgdGhlIHZhbHVlIHdlJ3JlCi1kaXZpZGVkIGJ5IGlzIG5vdCB6ZXJvLiBJbnN0ZWFkIG9mIGlzX3Vua25vd24oKSBoZWxwZXIKLXdlIHNob3VsZCB1c2UgaXNfanVzdF91bmtub3duKCkuCi0KLWh0dHBzOi8vYnVnemlsbGEubmFzbS51cy9zaG93X2J1Zy5jZ2k/aWQ9MzM5MjUxNQotaHR0cHM6Ly9idWd6aWxsYS5uYXNtLnVzL3Nob3dfYnVnLmNnaT9pZD0zMzkyNDczCi0KLVJlcG9ydGVkLWJ5OiBKdW4gPGp4eDEzQHBzdS5lZHU+Ci1SZXBvcnRlZC1ieTogc3R1YXJ0bHkgPHNpdHVsaW5neXVuQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEN5cmlsbCBHb3JjdW5vdiA8Z29yY3Vub3ZAZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vbmV0d2lkZS1hc3NlbWJsZXIvbmFzbS9jb21taXQvY2VlYzBkODE4Nzk4YWVhYTc1ZWQ0OTA3ZTYxMzViMDI0N2VkNDZiMi5wYXRjaF0KLUNWRTogQ1ZFLTIwMTgtMTAwMTYKLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLQotLS0tCi0gYXNtL2V2YWwuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2FzbS9ldmFsLmMgYi9hc20vZXZhbC5jCi1pbmRleCAxYTY2ODBmLi43ZTcyN2E0IDEwMDY0NAotLS0tIGEvYXNtL2V2YWwuYwotKysrIGIvYXNtL2V2YWwuYwotQEAgLTU4MCw3ICs1ODAsNyBAQCBzdGF0aWMgZXhwciAqZXhwcjUoaW50IGNyaXRpY2FsKQotICAgICAgICAgICAgICAgICAgICIgc2NhbGFyIHZhbHVlcyIpOwotICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgfQotLSAgICAgICAgaWYgKGogIT0gJyonICYmICFpc191bmtub3duKGYpICYmIHJlbG9jX3ZhbHVlKGYpID09IDApIHsKLSsgICAgICAgIGlmIChqICE9ICcqJyAmJiAhaXNfanVzdF91bmtub3duKGYpICYmIHJlbG9jX3ZhbHVlKGYpID09IDApIHsKLSAgICAgICAgICAgICBuYXNtX2Vycm9yKEVSUl9OT05GQVRBTCwgImRpdmlzaW9uIGJ5IHplcm8iKTsKLSAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgIH0KLS0tIAotMi4xMC4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLWZpeC1DVkUtMjAxOC04ODgyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtZml4LUNWRS0yMDE4LTg4ODIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJjNzA2YzMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtZml4LUNWRS0yMDE4LTg4ODIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1Gcm9tIDMzNDM4MDM3ZTAwZWM3NTBiZmYwMjA1NzhiMWE1YjZmNzVmNjA1NTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBZGFtIE1hamVyIDxhbWFqZXJAc3VzZS5kZT4KLURhdGU6IEZyaSwgMTcgQXVnIDIwMTggMTQ6NDE6MDIgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gZml4IENWRS0yMDE4LTg4ODIKLQotaHR0cHM6Ly9idWd6aWxsYS5uYXNtLnVzL3Nob3dfYnVnLmNnaT9pZD0zMzkyNDQ1Ci0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2J1Z3ppbGxhLm5hc20udXMvc2hvd19idWcuY2dpP2lkPTMzOTI0NDVdCi1DVkU6IENWRS0yMDE4LTg4ODIKLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGFzbS9mbG9hdC5jIHwgMiArKwotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2FzbS9mbG9hdC5jIGIvYXNtL2Zsb2F0LmMKLWluZGV4IGRjZjY5ZmVhLi4yOTY1ZDNkYiAxMDA2NDQKLS0tLSBhL2FzbS9mbG9hdC5jCi0rKysgYi9hc20vZmxvYXQuYwotQEAgLTYwOCw2ICs2MDgsOCBAQCBzdGF0aWMgdm9pZCBpZWVlX3NocihmcF9saW1iICptYW50LCBpbnQgaSkKLSAgICAgICAgIGlmIChvZmZzKQotICAgICAgICAgICAgIGZvciAoaiA9IE1BTlRfTElNQlMtMTsgaiA+PSBvZmZzOyBqLS0pCi0gICAgICAgICAgICAgICAgIG1hbnRbal0gPSBtYW50W2otb2Zmc107Ci0rICAgIH0gZWxzZSBpZiAoTUFOVF9MSU1CUy0xLW9mZnMgPCAwKSB7Ci0rICAgICAgICBqID0gTUFOVF9MSU1CUy0xOwotICAgICB9IGVsc2UgewotICAgICAgICAgbiA9IG1hbnRbTUFOVF9MSU1CUy0xLW9mZnNdID4+IHNyOwotICAgICAgICAgZm9yIChqID0gTUFOVF9MSU1CUy0xOyBqID4gb2Zmczsgai0tKSB7Ci0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1wcmVwcm9jLXBhcnNlX3NpemUtQ2hlY2stZm9yLXN0cmluZy1wcm92aWRlZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLXByZXByb2MtcGFyc2Vfc2l6ZS1DaGVjay1mb3Itc3RyaW5nLXByb3ZpZGVkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMTIxZmQxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLXByZXByb2MtcGFyc2Vfc2l6ZS1DaGVjay1mb3Itc3RyaW5nLXByb3ZpZGVkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSBhMmY0MzMzMWE4NTNiN2NjNDQ5Y2FlMzM2MWVlMWZiNTRjN2ZhZDhkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ3lyaWxsIEdvcmN1bm92IDxnb3JjdW5vdkBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDI5IFNlcCAyMDE4IDE0OjMwOjE0ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIHByZXByb2M6IHBhcnNlX3NpemUgLS0gQ2hlY2sgZm9yIHN0cmluZyBwcm92aWRlZAotCi1JbiBjYXNlIGlmIHRoZSBzdHJpbmcgaXMgbmlsIHdlIHdpbGwgaGF2ZSBzaWdzZWd2LgotCi1odHRwczovL2J1Z3ppbGxhLm5hc20udXMvc2hvd19idWcuY2dpP2lkPTMzOTI1MDcKLQotU2lnbmVkLW9mZi1ieTogQ3lyaWxsIEdvcmN1bm92IDxnb3JjdW5vdkBnbWFpbC5jb20+Ci0KLUNWRTogQ1ZFLTIwMTgtMTAwMDY2NwotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotaHR0cHM6Ly9yZXBvLm9yLmN6L25hc20vbmFzbS5naXQvY29tbWl0L2M3MTNiNWY5OTRjZjdiMjkxNjRjM2I2ODM4YjkxZjA0OTk1OTE0MzQKLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gYXNtL3ByZXByb2MuYyB8IDMgKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYXNtL3ByZXByb2MuYyBiL2FzbS9wcmVwcm9jLmMKLWluZGV4IDQ3NTkyNmQuLjFkNzcwYTUgMTAwNjQ0Ci0tLS0gYS9hc20vcHJlcHJvYy5jCi0rKysgYi9hc20vcHJlcHJvYy5jCi1AQCAtMjIxNiw4ICsyMjE2LDcgQEAgc3RhdGljIGludCBwYXJzZV9zaXplKGNvbnN0IGNoYXIgKnN0cikgewotICAgICAgICAgeyAiYnl0ZSIsICJkd29yZCIsICJvd29yZCIsICJxd29yZCIsICJ0d29yZCIsICJ3b3JkIiwgInl3b3JkIiB9OwotICAgICBzdGF0aWMgY29uc3QgaW50IHNpemVzW10gPQotICAgICAgICAgeyAwLCAxLCA0LCAxNiwgOCwgMTAsIDIsIDMyIH07Ci0tCi0tICAgIHJldHVybiBzaXplc1tic2lpKHN0ciwgc2l6ZV9uYW1lcywgQVJSQVlfU0laRShzaXplX25hbWVzKSkrMV07Ci0rICAgIHJldHVybiBzdHIgPyBzaXplc1tic2lpKHN0ciwgc2l6ZV9uYW1lcywgQVJSQVlfU0laRShzaXplX25hbWVzKSkrMV0gOiAwOwotIH0KLSAKLSAvKgotLS0gCi0yLjguMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc21fMi4xMy4wMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbV8yLjEzLjAzLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTRjNTU0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbV8yLjEzLjAzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotU1VNTUFSWSA9ICJHZW5lcmFsLXB1cnBvc2UgeDg2IGFzc2VtYmxlciIKLVNFQ1RJT04gPSAiZGV2ZWwiCi1MSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTkwOTA0NDg2ZjhmYmYxODYxY2Y0Mjc1MmUxYTM5ZWZlIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cubmFzbS51cy9wdWIvbmFzbS9yZWxlYXNlYnVpbGRzLyR7UFZ9L25hc20tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWFzbWxpYi1Ecm9wLXB1cmUtZnVuY3Rpb24tYXR0cmlidXRlLWZyb20tc2VnX2luaXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1hc3NlbWJsZS1DaGVjay1nbG9iYWwtbGluZS1saW1pdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1DVkUtMjAxOC04ODgyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtVmVyaWZ5LXRoYXQtd2UtYXJlLW5vdC1yZWFkaW5nLXBhc3QtZW5kLW9mLWEtYnVmZmVyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZXZhbC1FbGltaW5hdGUtZGl2aXNpb24tYnktemVyby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXByZXByb2MtcGFyc2Vfc2l6ZS1DaGVjay1mb3Itc3RyaW5nLXByb3ZpZGVkLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMGM1ODFkNDgyZjM5ZDUxMTE4NzljYTk2MDE5MzhmNzQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjNlYzg2NDc3YWQzZjBmNjI5MjMyNWZkODllMWQ5M2FlYTJlMmZkNDkwMDcwODYzZjE3ZDQ4ZjdjZDM4NzAxMSIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLQlpZiBbIC1mICR7U30vYWNsb2NhbC5tNCBdICYmIFsgISAtZiAke1N9L2FjaW5jbHVkZS5tNCBdOyB0aGVuCi0JCW12ICR7U30vYWNsb2NhbC5tNCAke1N9L2FjaW5jbHVkZS5tNAotCWZpCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0JaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjEKLQotCW9lX3J1bm1ha2UgJ0lOU1RBTExST09UPSR7RH0nIGluc3RhbGwKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCi0KLURFUEVORFMgPSAiZ3JvZmYtbmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtXzIuMTQuMDIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc21fMi4xNC4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2VjNzhkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtXzIuMTQuMDIuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJHZW5lcmFsLXB1cnBvc2UgeDg2IGFzc2VtYmxlciIKK1NFQ1RJT04gPSAiZGV2ZWwiCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTkwOTA0NDg2ZjhmYmYxODYxY2Y0Mjc1MmUxYTM5ZWZlIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubmFzbS51cy9wdWIvbmFzbS9yZWxlYXNlYnVpbGRzLyR7UFZ9L25hc20tJHtQVn0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjNmNDg5YWE0OGFkMmFhMWY5NjdkYzVlMjkzYmJkMDZmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM0ZmQyNmM3MGEyNzdhOWZkZDU0Y2I1ZWNmMzg5YmFkZWRhZjQ4MDQ3YjI2OWQxMDA4ZmJjODE5YjI0ZTgwYmMiCisKKyMgYnJva2Vuc2VwIHNpbmNlIHRoaXMgdXNlcyBhdXRvY29uZiBidXQgbm90IGF1dG9tYWtlCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworRVhUUkFfQVVUT1JFQ09ORiArPSAiLS1leGNsdWRlPWFjbG9jYWwiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitERVBFTkRTID0gImdyb2ZmLW5hdGl2ZSIKKworQ1ZFX1BST0RVQ1QgPSAibmV0d2lkZV9hc3NlbWJsZXIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uaW5qYS9uaW5qYS9maXgtbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25pbmphL25pbmphL2ZpeC1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0M2Q0ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uaW5qYS9uaW5qYS9maXgtbXVzbC5wYXRjaApAQCAtMCwwICsxLDM5IEBACisyZmY1NGFkNzQ3OGE5MGJkNzVjOTFlNDM0MjM2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IG1ha2Vwb3N0IDxtYWtlcG9zdEBmaXJlbWFpbC5jYz4KK0RhdGU6IE1vbiwgMjQgRGVjIDIwMTggMDM6MTM6MTYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIHN0X210aW0gaWYgc3RfbXRpbWUgaXMgbWFjcm8sIGZpeCAjMTUxMAorCitJbiBQT1NJWC4xLTIwMDgsIHN5c19zdGF0IGhhcyBhIHN0X210aW0gbWVtYmVyIGFuZCBhIHN0X210aW1lIGJhY2t3YXJkCitjb21wYXRpYmlsaXR5IG1hY3JvLiBTaG91bGQgaGVscCBhdm9pZCBoYXJkY29kaW5nIHBsYXRmb3JtIGRldGVjdGlvbi4KKy0tLQorIHNyYy9kaXNrX2ludGVyZmFjZS5jYyB8IDE0ICsrKystLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZGlza19pbnRlcmZhY2UuY2MgYi9zcmMvZGlza19pbnRlcmZhY2UuY2MKK2luZGV4IGQ0YzJmYjA4Ny4uZGMyOTdjNDQ5IDEwMDY0NAorLS0tIHNyYy9kaXNrX2ludGVyZmFjZS5jYworKysrIC9zcmMvZGlza19pbnRlcmZhY2UuY2MKK0BAIC0yMDIsMTkgKzIwMiwxMyBAQCBUaW1lU3RhbXAgUmVhbERpc2tJbnRlcmZhY2U6OlN0YXQoY29uc3Qgc3RyaW5nJiBwYXRoLCBzdHJpbmcqIGVycikgY29uc3QgeworICAgLy8gdGhhdCBpdCBkb2Vzbid0IGV4aXN0LgorICAgaWYgKHN0LnN0X210aW1lID09IDApCisgICAgIHJldHVybiAxOworLSNpZiBkZWZpbmVkKF9fQVBQTEVfXykgJiYgIWRlZmluZWQoX1BPU0lYX0NfU09VUkNFKQorKyNpZiBkZWZpbmVkKF9BSVgpCisrICByZXR1cm4gKGludDY0X3Qpc3Quc3RfbXRpbWUgKiAxMDAwMDAwMDAwTEwgKyBzdC5zdF9tdGltZV9uOworKyNlbGlmIGRlZmluZWQoX19BUFBMRV9fKQorICAgcmV0dXJuICgoaW50NjRfdClzdC5zdF9tdGltZXNwZWMudHZfc2VjICogMTAwMDAwMDAwMExMICsKKyAgICAgICAgICAgc3Quc3RfbXRpbWVzcGVjLnR2X25zZWMpOworLSNlbGlmIChfUE9TSVhfQ19TT1VSQ0UgPj0gMjAwODA5TCB8fCBfWE9QRU5fU09VUkNFID49IDcwMCB8fCBkZWZpbmVkKF9CU0RfU09VUkNFKSB8fCBkZWZpbmVkKF9TVklEX1NPVVJDRSkgfHwgXAorLSAgICAgICBkZWZpbmVkKF9fQklPTklDX18pIHx8IChkZWZpbmVkIChfX1NWUjQpICYmIGRlZmluZWQgKF9fc3VuKSkgfHwgZGVmaW5lZChfX0ZyZWVCU0RfXykpCistICAvLyBGb3IgZ2xpYmMsIHNlZSAiVGltZXN0YW1wIGZpbGVzIiBpbiB0aGUgTm90ZXMgb2YgaHR0cDovL3d3dy5rZXJuZWwub3JnL2RvYy9tYW4tcGFnZXMvb25saW5lL3BhZ2VzL21hbjIvc3RhdC4yLmh0bWwKKy0gIC8vIG5ld2xpYiwgdUNsaWJjIGFuZCBtdXNsIGZvbGxvdyB0aGUga2VybmVsIChvciBDeWd3aW4pIGhlYWRlcnMgYW5kIGRlZmluZSB0aGUgcmlnaHQgbWFjcm8gdmFsdWVzIGFib3ZlLgorLSAgLy8gRm9yIGJzZCwgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mcmVlYnNkL2ZyZWVic2QvYmxvYi9tYXN0ZXIvc3lzL3N5cy9zdGF0LmggYW5kIHNpbWlsYXIKKy0gIC8vIEZvciBiaW9uaWMsIEMgYW5kIFBPU0lYIEFQSSBpcyBhbHdheXMgZW5hYmxlZC4KKy0gIC8vIEZvciBzb2xhcmlzLCBzZWUgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vY2QvRTg4MzUzXzAxL2h0bWwvRTM3ODQxL3N0YXQtMi5odG1sLgorKyNlbGlmIGRlZmluZWQoc3RfbXRpbWUpIC8vIEEgbWFjcm8sIHNvIHdlJ3JlIGxpa2VseSBvbiBtb2Rlcm4gUE9TSVguCisgICByZXR1cm4gKGludDY0X3Qpc3Quc3RfbXRpbS50dl9zZWMgKiAxMDAwMDAwMDAwTEwgKyBzdC5zdF9tdGltLnR2X25zZWM7CistI2VsaWYgZGVmaW5lZChfQUlYKQorLSAgcmV0dXJuIChpbnQ2NF90KXN0LnN0X210aW1lICogMTAwMDAwMDAwMExMICsgc3Quc3RfbXRpbWVfbjsKKyAjZWxzZQorICAgcmV0dXJuIChpbnQ2NF90KXN0LnN0X210aW1lICogMTAwMDAwMDAwMExMICsgc3Quc3RfbXRpbWVuc2VjOworICNlbmRpZgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmluamEvbmluamFfMS44LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uaW5qYS9uaW5qYV8xLjguMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzZmY2ZlZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uaW5qYS9uaW5qYV8xLjguMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLVNVTU1BUlkgPSAiTmluamEgaXMgYSBzbWFsbCBidWlsZCBzeXN0ZW0gd2l0aCBhIGZvY3VzIG9uIHNwZWVkLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9tYXJ0aW5lLmdpdGh1Yi5jb20vbmluamEvIgotTElDRU5TRSA9ICJBcGFjaGUtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTgxNTg2YTY0YWQ0ZTQ3NmM3OTFjZGE3ZTJmMmM1MmUiCi0KLURFUEVORFMgPSAicmUyYy1uYXRpdmUgbmluamEtbmF0aXZlIgotCi1TUkNSRVYgPSAiMjUzZTk0YzFmYTUxMTcwNGJhZWI2MWNmNjk5OTViYmYwOWJhNDM1ZSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL25pbmphLWJ1aWxkL25pbmphLmdpdDticmFuY2g9cmVsZWFzZSIKLVVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gInYoP1A8cHZlcj4uKikiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWRvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCi0KLWRvX2NvbXBpbGVfY2xhc3MtbmF0aXZlKCkgewotCS4vY29uZmlndXJlLnB5IC0tYm9vdHN0cmFwCi19Ci0KLWRvX2NvbXBpbGUoKSB7Ci0JLi9jb25maWd1cmUucHkKLQluaW5qYQotfQotCi1kb19pbnN0YWxsKCkgewotCWluc3RhbGwgLUQgLW0gMDc1NSAgJHtTfS9uaW5qYSAke0R9JHtiaW5kaXJ9L25pbmphCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25pbmphL25pbmphXzEuOS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmluamEvbmluamFfMS45LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWIwNjMyOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25pbmphL25pbmphXzEuOS4wLmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiTmluamEgaXMgYSBzbWFsbCBidWlsZCBzeXN0ZW0gd2l0aCBhIGZvY3VzIG9uIHNwZWVkLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9tYXJ0aW5lLmdpdGh1Yi5jb20vbmluamEvIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTgxNTg2YTY0YWQ0ZTQ3NmM3OTFjZGE3ZTJmMmM1MmUiCisKK0RFUEVORFMgPSAicmUyYy1uYXRpdmUgbmluamEtbmF0aXZlIgorCitTUkNSRVYgPSAiYjI1YzA4YmRhNDk0OTE5MmM2OWNlYTRjZWUwNTc4ODczNDFhMmZmYyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL25pbmphLWJ1aWxkL25pbmphLmdpdDticmFuY2g9cmVsZWFzZSBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtbXVzbC5wYXRjaCBcCisiCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJ2KD9QPHB2ZXI+LiopIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgorCitkb19jb21waWxlX2NsYXNzLW5hdGl2ZSgpIHsKKwkuL2NvbmZpZ3VyZS5weSAtLWJvb3RzdHJhcAorfQorCitkb19jb21waWxlKCkgeworCS4vY29uZmlndXJlLnB5CisJbmluamEKK30KKworZG9faW5zdGFsbCgpIHsKKwlpbnN0YWxsIC1EIC1tIDA3NTUgICR7U30vbmluamEgJHtEfSR7YmluZGlyfS9uaW5qYQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvMDAwMS1Pbmx5LXVzZS1zb3J0LW5hbWUtb24tdmVyc2lvbnMtb2YtdGFyLXdoaWNoLXN1cHBvcnQtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzLzAwMDEtT25seS11c2Utc29ydC1uYW1lLW9uLXZlcnNpb25zLW9mLXRhci13aGljaC1zdXBwb3J0LS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmI3Y2E3ZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvMDAwMS1Pbmx5LXVzZS1zb3J0LW5hbWUtb24tdmVyc2lvbnMtb2YtdGFyLXdoaWNoLXN1cHBvcnQtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotRnJvbSBlZjVkYjA2MmI3ZDI1ZTYwNzBhY2M2OTIyZWE0OGY1MDQ5MTMxM2I1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWljaGFlbCBIYW5zZW4gPG1pY2hhZWwuai5oYW5zZW5AaHAuY29tPgotRGF0ZTogTW9uLCAyNiBGZWIgMjAxOCAwOTo0Mjo1NiAtMDgwMAotU3ViamVjdDogW1BBVENIIDEvMl0gT25seSB1c2UgLS1zb3J0PW5hbWUgb24gdmVyc2lvbnMgb2YgdGFyIHdoaWNoIHN1cHBvcnQgaXQuCi0gVGhpcyBmaXhlcyBjb21wYXRpYmlsaXR5IHdpdGggYnNkdGFyIGFuZCBvbGQgdmVyc2lvbnMgb2YgR05VIHRhciAoZS5nLgotIFJIRUw2KS4KLQotU2lnbmVkLW9mZi1ieTogTWljaGFlbCBIYW5zZW4gPG1pY2hhZWwuai5oYW5zZW5AaHAuY29tPgotU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotLS0tCi0gb3BrZy1idWlsZCB8IDExICsrKysrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotSW5kZXg6IG9wa2ctdXRpbHMtMC4zLjYvb3BrZy1idWlsZAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIG9wa2ctdXRpbHMtMC4zLjYub3JpZy9vcGtnLWJ1aWxkCi0rKysgb3BrZy11dGlscy0wLjMuNi9vcGtnLWJ1aWxkCi1AQCAtMjMyLDYgKzIzMiwxMSBAQCBpZiBbICRjb21wcmVzc29yID0gImd6aXAiIF0gOyB0aGVuCi0gCWNvbXByZXNzb3JhcmdzPSR6aXBhcmdzCi0gZmkKLSAKLSt0c29ydGFyZ3M9Ci0raWYgdGFyIC0taGVscCAyPiYxIHwgZ3JlcCAtLSAiLS1zb3J0PSIgPiAvZGV2L251bGw7IHRoZW4KLSsJdHNvcnRhcmdzPSItLXNvcnQ9bmFtZSIKLStmaQotKwotIHNoaWZ0ICQoKCRPUFRJTkQgLSAxKSkKLSAKLSAjIGNvbnRpbnVlIG9uIHRvIHByb2Nlc3MgYWRkaXRpb25hbCBhcmd1bWVudHMKLUBAIC0yODAsOCArMjg1LDggQEAgbWtkaXIgJHRtcF9kaXIKLSBidWlsZF9kYXRlPSIkKGRhdGUgLS11dGMgLS1kYXRlPSJAJHtTT1VSQ0VfREFURV9FUE9DSDotJChkYXRlICslcyl9IiArJVktJW0tJWQpIgotIAotIGVjaG8gJENPTlRST0wgPiAkdG1wX2Rpci90YXJYCi0tKCBjZCAkcGtnX2RpciAmJiB0YXIgJG9nYXJncyAtLXNvcnQ9bmFtZSAtLW10aW1lPSRidWlsZF9kYXRlIC1YICR0bXBfZGlyL3RhclggLWMgJHRhcmZvcm1hdCAuIHwgJGNvbXByZXNzb3IgJGNvbXByZXNzb3JhcmdzID4gJHRtcF9kaXIvZGF0YS50YXIuJGNleHQgKQotLSggY2QgJHBrZ19kaXIvJENPTlRST0wgJiYgdGFyICRvZ2FyZ3MgLS1zb3J0PW5hbWUgLS1tdGltZT0kYnVpbGRfZGF0ZSAtYyAkdGFyZm9ybWF0IC4gfCBnemlwICR6aXBhcmdzID4gJHRtcF9kaXIvY29udHJvbC50YXIuZ3ogKQotKyggY2QgJHBrZ19kaXIgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW10aW1lPSRidWlsZF9kYXRlIC1YICR0bXBfZGlyL3RhclggLWMgJHRhcmZvcm1hdCAuIHwgJGNvbXByZXNzb3IgJGNvbXByZXNzb3JhcmdzID4gJHRtcF9kaXIvZGF0YS50YXIuJGNleHQgKQotKyggY2QgJHBrZ19kaXIvJENPTlRST0wgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW10aW1lPSRidWlsZF9kYXRlIC1jICR0YXJmb3JtYXQgLiB8IGd6aXAgJHppcGFyZ3MgPiAkdG1wX2Rpci9jb250cm9sLnRhci5neiApCi0gcm0gJHRtcF9kaXIvdGFyWAotIAotIGVjaG8gIjIuMCIgPiAkdG1wX2Rpci9kZWJpYW4tYmluYXJ5Ci1AQCAtMjk2LDcgKzMwMSw3IEBAIHJtIC1mICRwa2dfZmlsZQotIGlmIFsgIiRvdXRlciIgPSAiYXIiIF0gOyB0aGVuCi0gICAoIGNkICR0bXBfZGlyICYmIGFyIC1jcmYgJHBrZ19maWxlIC4vZGViaWFuLWJpbmFyeSAuL2NvbnRyb2wudGFyLmd6IC4vZGF0YS50YXIuJGNleHQgKQotIGVsc2UKLS0gICggY2QgJHRtcF9kaXIgJiYgdGFyIC1jIC0tc29ydD1uYW1lIC0tbXRpbWU9JGJ1aWxkX2RhdGUgJHRhcmZvcm1hdCAuL2RlYmlhbi1iaW5hcnkgLi9jb250cm9sLnRhci5neiAuL2RhdGEudGFyLiRjZXh0IHwgZ3ppcCAkemlwYXJncyA+ICRwa2dfZmlsZSApCi0rICAoIGNkICR0bXBfZGlyICYmIHRhciAtYyAkdHNvcnRhcmdzIC0tbXRpbWU9JGJ1aWxkX2RhdGUgJHRhcmZvcm1hdCAuL2RlYmlhbi1iaW5hcnkgLi9jb250cm9sLnRhci5neiAuL2RhdGEudGFyLiRjZXh0IHwgZ3ppcCAkemlwYXJncyA+ICRwa2dfZmlsZSApCi0gZmkKLSAKLSBybSAkdG1wX2Rpci9kZWJpYW4tYmluYXJ5ICR0bXBfZGlyL2RhdGEudGFyLiRjZXh0ICR0bXBfZGlyL2NvbnRyb2wudGFyLmd6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvMDAwMS1Td2l0Y2gtYWxsLXNjcmlwdHMtdG8tdXNlLVB5dGhvbi0zLngucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvMDAwMS1Td2l0Y2gtYWxsLXNjcmlwdHMtdG8tdXNlLVB5dGhvbi0zLngucGF0Y2gKaW5kZXggYzM2YWUyZi4uNjkxZWQ1MCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzLzAwMDEtU3dpdGNoLWFsbC1zY3JpcHRzLXRvLXVzZS1QeXRob24tMy54LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAxLVN3aXRjaC1hbGwtc2NyaXB0cy10by11c2UtUHl0aG9uLTMueC5wYXRjaApAQCAtNjQsOCArNjQsOSBAQAogQEAgLTEsNCArMSw0IEBACiAtIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCiArIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwotIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0Ci0gZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorICIiIgorICAgIFV0aWxpdHkgdG8gY3JlYXRlIG9wa2cgY29tcGF0aWJsZSBpbmRleGVzCisgIiIiCiAgCiBkaWZmIC0tZ2l0IGEvb3BrZy1zaG93LWRlcHMgYi9vcGtnLXNob3ctZGVwcwogaW5kZXggMTUzZjIxZS4uNGUxOGI0ZiAxMDA3NTUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAxLW9wa2ctYnVpbGQtZG8tbm90LXNldC1tdGltZS1vbi1kYXRhLnRhci5YLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzLzAwMDEtb3BrZy1idWlsZC1kby1ub3Qtc2V0LW10aW1lLW9uLWRhdGEudGFyLlgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmMwNThjNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAxLW9wa2ctYnVpbGQtZG8tbm90LXNldC1tdGltZS1vbi1kYXRhLnRhci5YLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gNDJhZmMxZjY1MmQyOGRjZTNjNWI5OTE1ZDBjZDMwODdhMTQ0ZTQ0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZWphbmRybyBkZWwgQ2FzdGlsbG8gPGFsZWphbmRyby5kZWxjYXN0aWxsb0BuaS5jb20+CitEYXRlOiBNb24sIDE4IEZlYiAyMDE5IDExOjI1OjQzIC0wNjAwCitTdWJqZWN0OiBbUEFUQ0hdIG9wa2ctYnVpbGQ6IGRvIG5vdCBzZXQgbXRpbWUgb24gZGF0YS50YXIuWAorCitPcGtnIHNob3VsZCBtYWtlIHN1cmUgdGhlIGJpbmFyaWVzIGl0IGNyZWF0ZXMgYXJlIGNyZWF0ZWQgaW4gYQorcmVwb2R1Y2liZSB3YXksIGJ1dCBpdCBzaG91bGRuJ3QgbW9kaWZ5IHRoZSBtdGltZSBvZiB0aGUgYmluYXJpZXMgaXQKK2NvbnN1bWVzLiBEb2luZyBzbyBoYXMgc2lkZSBlZmZlY3RzLCBmb3IgZXhtYXBsZSwgUHl0aG9uIHB5YyBmaWxlcyBhcmUKK2ludmFsaWRhdGVkLgorCitTaWduZWQtb2ZmLWJ5OiBBbGVqYW5kcm8gZGVsIENhc3RpbGxvIDxhbGVqYW5kcm8uZGVsY2FzdGlsbG9AbmkuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAorLS0tCisgb3BrZy1idWlsZCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL29wa2ctYnVpbGQgYi9vcGtnLWJ1aWxkCitpbmRleCAxMzc4MmVlLi4zNjNjZDAxIDEwMDc1NQorLS0tIGEvb3BrZy1idWlsZAorKysrIGIvb3BrZy1idWlsZAorQEAgLTMwMSw3ICszMDEsNyBAQCBidWlsZF9kYXRlPSIke1NPVVJDRV9EQVRFX0VQT0NIOi0kKGRhdGUgKyVzKX0iCisgCisgKCBjZCAkcGtnX2Rpci8kQ09OVFJPTCAmJiBmaW5kIC4gLXR5cGUgZiA+ICR0bXBfZGlyL2NvbnRyb2xfbGlzdCApCisgKCBjZCAkcGtnX2RpciAmJiBmaW5kIC4gLXBhdGggLi8kQ09OVFJPTCAtcHJ1bmUgLW8gLXByaW50ID4gJHRtcF9kaXIvZmlsZV9saXN0ICkKKy0oIGNkICRwa2dfZGlyICYmIHRhciAkb2dhcmdzICR0c29ydGFyZ3MgLS1uby1yZWN1cnNpb24gLS1tdGltZT1AJGJ1aWxkX2RhdGUgLWMgJHRhcmZvcm1hdCAtVCAkdG1wX2Rpci9maWxlX2xpc3QgfCAkY29tcHJlc3NvciAkY29tcHJlc3NvcmFyZ3MgPiAkdG1wX2Rpci9kYXRhLnRhci4kY2V4dCApCisrKCBjZCAkcGtnX2RpciAmJiB0YXIgJG9nYXJncyAkdHNvcnRhcmdzIC0tbm8tcmVjdXJzaW9uIC1jICR0YXJmb3JtYXQgLVQgJHRtcF9kaXIvZmlsZV9saXN0IHwgJGNvbXByZXNzb3IgJGNvbXByZXNzb3JhcmdzID4gJHRtcF9kaXIvZGF0YS50YXIuJGNleHQgKQorICggY2QgJHBrZ19kaXIvJENPTlRST0wgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW5vLXJlY3Vyc2lvbiAtLW10aW1lPUAkYnVpbGRfZGF0ZSAtYyAkdGFyZm9ybWF0IC1UICR0bXBfZGlyL2NvbnRyb2xfbGlzdCB8IGd6aXAgJHppcGFyZ3MgPiAkdG1wX2Rpci9jb250cm9sLnRhci5neiApCisgcm0gJHRtcF9kaXIvZmlsZV9saXN0Cisgcm0gJHRtcF9kaXIvY29udHJvbF9saXN0CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvMDAwMS11cGRhdGUtYWx0ZXJuYXRpdmVzLUZpeC1saW5rLXJlbG9jYXRpb24tc3VwcG9ydC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAxLXVwZGF0ZS1hbHRlcm5hdGl2ZXMtRml4LWxpbmstcmVsb2NhdGlvbi1zdXBwb3J0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZGM0ODhiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAxLXVwZGF0ZS1hbHRlcm5hdGl2ZXMtRml4LWxpbmstcmVsb2NhdGlvbi1zdXBwb3J0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotRnJvbSAxODU2MmNjYWU2OTk2NDMxZDM3NzY3NjUzYjA2MWQ0ZTllMWI5NDI0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTmlrbyBNYXVubyA8bmlrby5tYXVub0Bpa2kuZmk+Ci1EYXRlOiBTdW4sIDExIE5vdiAyMDE4IDE1OjUwOjIyICswMjAwCi1TdWJqZWN0OiBbb3BrZy11dGlscyBQQVRDSF0gdXBkYXRlLWFsdGVybmF0aXZlczogRml4IGxpbmsgcmVsb2NhdGlvbiBzdXBwb3J0Ci0KLUNvbW1pdCBmY2IyNjMzOTAwMDAyMWViOWJiNzExYWEyNjQyNDdhZWJjZmRkNGFlIHdoaWNoIGFkZGVkIERlYmlhbi1zdHlsZQotc3VwcG9ydCBmb3IgbGluayByZWxvY2F0aW9uIHRyaWVzIHRvIHJlbG9jYXRlIHN5bWJvbGljIGxpbmsgb24gaG9zdCBPUywKLXJlc3VsdGluZyBpbiBmb2xsb3dpbmctbGlrZSBlcnJvciB3aGVuIHR3byBhbHRlcm5hdGl2ZSBwYWNrYWdlcyBoYXZlCi1zeW1ib2xpYyBsaW5rIHNvdXJjZSBsb2NhdGVkIGluIGRpZmZlcmVudCBkaXJlY3RvcmllcyAoL2Jpbi9yZXYgLT4KLS9iaW4vYnVzeWJveC5ub3N1aWQgYW5kIC91c3IvYmluL3JldiAtPiAvdXNyL2Jpbi9yZXYudXRpbC1saW51eCk6Ci0KLSAgdXBkYXRlLWFsdGVybmF0aXZlczogcmVuYW1pbmcgcmV2IGxpbmsgZnJvbSAvYmluL3JldiB0byAvdXNyL2Jpbi9yZXYKLSAgbXY6IGNhbm5vdCBzdGF0ICcvYmluL3Jldic6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKLQotRml4IHRoZSBpc3N1ZSBieSBwcmVmaXhpbmcgJ29saW5rJyBhbmQgJ2xpbmsnIHZhcmlhYmxlIHJlZmVyZW5jZXMgd2l0aAotcGF0aCB0byB0YXJnZXRlZCByb290IGZpbGVzeXN0ZW0ncyByb290IGRpcmVjdG9yeS4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW29wa2ctdXRpbHNdCi0KLVNpZ25lZC1vZmYtYnk6IE5pa28gTWF1bm8gPG5pa28ubWF1bm9AaWtpLmZpPgotLS0tCi0gdXBkYXRlLWFsdGVybmF0aXZlcyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3VwZGF0ZS1hbHRlcm5hdGl2ZXMgYi91cGRhdGUtYWx0ZXJuYXRpdmVzCi1pbmRleCA4OWE0NDBiLi5kNGZhN2ViIDEwMDY0NAotLS0tIGEvdXBkYXRlLWFsdGVybmF0aXZlcwotKysrIGIvdXBkYXRlLWFsdGVybmF0aXZlcwotQEAgLTU4LDcgKzU4LDcgQEAgcmVnaXN0ZXJfYWx0KCkgewotIAkJCWxvY2FsIGxpbmtfc3RyPWBlY2hvICRsaW5rIHwgcHJvdGVjdF9zbGFzaGVzYAotIAkJCXNlZCAtZSAiMXMvLiovJGxpbmtfc3RyLyIgJGFkLyRuYW1lID4gJGFkLyRuYW1lLm5ldwotIAkJCW12ICRhZC8kbmFtZS5uZXcgJGFkLyRuYW1lCi0tCQkJbXYgJG9saW5rICRsaW5rCi0rCQkJbXYgJE9QS0dfT0ZGTElORV9ST09UJG9saW5rICRPUEtHX09GRkxJTkVfUk9PVCRsaW5rCi0gCQlmaQotIAllbHNlCi0gCQllY2hvICIkbGluayIgPiAiJGFkLyRuYW1lIgotLS0gCi0yLjE5LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzLzAwMDItb3BrZy1idWlsZC1Vc2UtbG9jYWwtdGltZS1mb3ItYnVpbGRfZGF0ZS1zaW5jZS1vcGtnLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAyLW9wa2ctYnVpbGQtVXNlLWxvY2FsLXRpbWUtZm9yLWJ1aWxkX2RhdGUtc2luY2Utb3BrZy0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzMzg5MTQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzLzAwMDItb3BrZy1idWlsZC1Vc2UtbG9jYWwtdGltZS1mb3ItYnVpbGRfZGF0ZS1zaW5jZS1vcGtnLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLUZyb20gNTcyNzgyNmI1MWNmOTlmZWFmZjM0ODNhOWRmOGFmMjA0M2U3ZWZjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pY2hhZWwgSGFuc2VuIDxtaWNoYWVsLmouaGFuc2VuQGhwLmNvbT4KLURhdGU6IE1vbiwgMjYgRmViIDIwMTggMTA6MTc6MDEgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIG9wa2ctYnVpbGQ6IFVzZSBsb2NhbCB0aW1lIGZvciBidWlsZF9kYXRlLCBzaW5jZSBvcGtnCi0gZXh0cmFjdHMgZmlsZXMgYXNzdW1pbmcgbG9jYWwgdGltZSByYXRoZXIgdGhhbiBVVEMuIEFsc28gaW5jcmVhc2UgcmVzb2x1dGlvbgotIG9mIGJ1aWxkIGRhdGUgZG93biB0byB0aGUgc2Vjb25kLCByYXRoZXIgdGhhbiBjbGFtcGluZyB0byBtaWRuaWdodCBvZiB0aGUKLSBjdXJyZW50IGRhdGUuCi0KLVNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgSGFuc2VuIDxtaWNoYWVsLmouaGFuc2VuQGhwLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEFsZWphbmRybyBkZWwgQ2FzdGlsbG8gPGFsZWphbmRyby5kZWxjYXN0aWxsb0BuaS5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLS0tLQotIG9wa2ctYnVpbGQgfCA4ICsrKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotSW5kZXg6IG9wa2ctdXRpbHMtMC4zLjYvb3BrZy1idWlsZAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIG9wa2ctdXRpbHMtMC4zLjYub3JpZy9vcGtnLWJ1aWxkCi0rKysgb3BrZy11dGlscy0wLjMuNi9vcGtnLWJ1aWxkCi1AQCAtMjgyLDExICsyODIsMTEgQEAgZmkKLSB0bXBfZGlyPSRkZXN0X2Rpci9JUEtHX0JVSUxELiQkCi0gbWtkaXIgJHRtcF9kaXIKLSAKLS1idWlsZF9kYXRlPSIkKGRhdGUgLS11dGMgLS1kYXRlPSJAJHtTT1VSQ0VfREFURV9FUE9DSDotJChkYXRlICslcyl9IiArJVktJW0tJWQpIgotK2J1aWxkX2RhdGU9IiQoZGF0ZSAtLWRhdGU9IkAke1NPVVJDRV9EQVRFX0VQT0NIOi0kKGRhdGUgKyVzKX0iICIrJVktJW0tJWQgJUg6JU06JVMiKSIKLSAKLSBlY2hvICRDT05UUk9MID4gJHRtcF9kaXIvdGFyWAotLSggY2QgJHBrZ19kaXIgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW10aW1lPSRidWlsZF9kYXRlIC1YICR0bXBfZGlyL3RhclggLWMgJHRhcmZvcm1hdCAuIHwgJGNvbXByZXNzb3IgJGNvbXByZXNzb3JhcmdzID4gJHRtcF9kaXIvZGF0YS50YXIuJGNleHQgKQotLSggY2QgJHBrZ19kaXIvJENPTlRST0wgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW10aW1lPSRidWlsZF9kYXRlIC1jICR0YXJmb3JtYXQgLiB8IGd6aXAgJHppcGFyZ3MgPiAkdG1wX2Rpci9jb250cm9sLnRhci5neiApCi0rKCBjZCAkcGtnX2RpciAmJiB0YXIgJG9nYXJncyAkdHNvcnRhcmdzIC0tbXRpbWU9IiRidWlsZF9kYXRlIiAtWCAkdG1wX2Rpci90YXJYIC1jICR0YXJmb3JtYXQgLiB8ICRjb21wcmVzc29yICRjb21wcmVzc29yYXJncyA+ICR0bXBfZGlyL2RhdGEudGFyLiRjZXh0ICkKLSsoIGNkICRwa2dfZGlyLyRDT05UUk9MICYmIHRhciAkb2dhcmdzICR0c29ydGFyZ3MgLS1tdGltZT0iJGJ1aWxkX2RhdGUiIC1jICR0YXJmb3JtYXQgLiB8IGd6aXAgJHppcGFyZ3MgPiAkdG1wX2Rpci9jb250cm9sLnRhci5neiApCi0gcm0gJHRtcF9kaXIvdGFyWAotIAotIGVjaG8gIjIuMCIgPiAkdG1wX2Rpci9kZWJpYW4tYmluYXJ5Ci1AQCAtMzAxLDcgKzMwMSw3IEBAIHJtIC1mICRwa2dfZmlsZQotIGlmIFsgIiRvdXRlciIgPSAiYXIiIF0gOyB0aGVuCi0gICAoIGNkICR0bXBfZGlyICYmIGFyIC1jcmYgJHBrZ19maWxlIC4vZGViaWFuLWJpbmFyeSAuL2NvbnRyb2wudGFyLmd6IC4vZGF0YS50YXIuJGNleHQgKQotIGVsc2UKLS0gICggY2QgJHRtcF9kaXIgJiYgdGFyIC1jICR0c29ydGFyZ3MgLS1tdGltZT0kYnVpbGRfZGF0ZSAkdGFyZm9ybWF0IC4vZGViaWFuLWJpbmFyeSAuL2NvbnRyb2wudGFyLmd6IC4vZGF0YS50YXIuJGNleHQgfCBnemlwICR6aXBhcmdzID4gJHBrZ19maWxlICkKLSsgICggY2QgJHRtcF9kaXIgJiYgdGFyIC1jICR0c29ydGFyZ3MgLS1tdGltZT0iJGJ1aWxkX2RhdGUiICR0YXJmb3JtYXQgLi9kZWJpYW4tYmluYXJ5IC4vY29udHJvbC50YXIuZ3ogLi9kYXRhLnRhci4kY2V4dCB8IGd6aXAgJHppcGFyZ3MgPiAkcGtnX2ZpbGUgKQotIGZpCi0gCi0gcm0gJHRtcF9kaXIvZGViaWFuLWJpbmFyeSAkdG1wX2Rpci9kYXRhLnRhci4kY2V4dCAkdG1wX2Rpci9jb250cm9sLnRhci5negpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzL3BpZ3oucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvcGlnei5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQ0MzNlOC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvcGlnei5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLUZyb20gYWIxNDM2OTI3YjQ3YmFkY2QyMTlhNWYwNzVkZmM4NDgwMjBlMDYxZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pa2UgQ3Jvd2UgPG1hY0BtY3Jvd2UuY29tPgotRGF0ZTogVGh1LCA0IE9jdCAyMDE4IDE3OjU0OjE5ICswMTAwCi1TdWJqZWN0OiBbb3BrZy11dGlscyBQQVRDSF0gb3BrZy1idWlsZDogQWRkIHN1cHBvcnQgZm9yIGV4cGxpY2l0IHVzZSBvZiBwaWd6Ci1Ubzogb3BrZy1kZXZlbEBnb29nbGVncm91cHMuY29tLAotICAgIHlvY3RvQHlvY3RvcHJvamVjdC5vcmcKLQotb2UtY29yZSBoYXMgc3RvcHBlZFsxXSBpbnN0YWxsaW5nIHBpZ3ogYXMgZ3ppcC4gVGhpcyBtZWFucyB0aGF0IGluCi1vcmRlciB0byBwZXJzdWFkZSBvcGtnLWJ1aWxkIHRvIHVzZSBwaWd6IGl0IG11c3QgYmUgc3BlY2lmaWVkCi1leHBsaWNpdGx5LiBMZXQncyB0ZWFjaCBvcGtnLWJ1aWxkIHRvIGRlYWwgd2l0aCBiZWluZyBwYXNzZWQgcGlneiBhcyBhCi1jb21wcmVzc29yLgotCi1XZSBjYW4ndCBjb21iaW5lIHRoZSBjaGVjayBmb3Igd2hldGhlciAtVCBpcyByZXF1aXJlZCB3aXRoIHRoZSBvbmUgZm9yCi1nemlwIGJlY2F1c2Ugb3BrZy1idWlsZCBuZWVkcyB0byBjYWxsICRjb21wcmVzc29yIGFuZCBnemlwIHNlcGFyYXRlbHkKLXRvIGNvbnN0cnVjdCB0aGUgcGFja2FnZS4KLQotWzFdIGh0dHA6Ly9saXN0cy5vcGVuZW1iZWRkZWQub3JnL3BpcGVybWFpbC9vcGVuZW1iZWRkZWQtY29tbWl0cy8yMDE4LUZlYnJ1YXJ5LzIxODc2Ny5odG1sCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtvcGtnLWRldmVsQGdvb2dsZWdyb3Vwcy5jb20gaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9mb3J1bS8jIXRvcGljL29wa2ctZGV2ZWwvRTBXVk9oaks2MXddCi1TaWduZWQtb2ZmLWJ5OiBNaWtlIENyb3dlIDxtYWNAbWNyb3dlLmNvbT4KLS0tLQotIG9wa2ctYnVpbGQgfCA2ICsrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL29wa2ctYnVpbGQgYi9vcGtnLWJ1aWxkCi1pbmRleCA5M2E3OTU2Li5mODQwM2VhIDEwMDc1NQotLS0tIGEvb3BrZy1idWlsZAotKysrIGIvb3BrZy1idWlsZAotQEAgLTE3MCw3ICsxNzAsNyBAQCBmaQotIAotIGNvbXByZXNzb3JfZXh0KCkgewotICAgICBjYXNlICQxIGluCi0tCWd6aXApCi0rCWd6aXB8cGlneikKLSAJICAgIGVjaG8gZ3oKLSAJICAgIDs7Ci0gCWJ6aXAyKQotQEAgLTIzMiw2ICsyMzIsMTAgQEAgaWYgWyAkY29tcHJlc3NvciA9ICJnemlwIiBdIDsgdGhlbgotIAljb21wcmVzc29yYXJncz0kemlwYXJncwotIGVsaWYgWyAkY29tcHJlc3NvciA9ICJ4eiIgXSA7IHRoZW4KLSAJY29tcHJlc3NvcmFyZ3M9Ii0tdGhyZWFkcyAwIgotK2VsaWYgWyAkY29tcHJlc3NvciA9ICJwaWd6IiBdIDsgdGhlbgotKwlpZiAkY29tcHJlc3NvciAtLWhlbHAgMj4mMSB8IGdyZXAgLS0gIi1UIiA+IC9kZXYvbnVsbDsgdGhlbgotKwkJY29tcHJlc3NvcmFyZ3M9Ii05blQiCi0rCWZpCi0gZmkKLSAKLSB0c29ydGFyZ3M9Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvdGFyX2lnbm9yZV9lcnJvci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy90YXJfaWdub3JlX2Vycm9yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODkzMWIyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy90YXJfaWdub3JlX2Vycm9yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotSWYgYSB0aGUgbnVtYmVyIG9mIGhhcmQgbGlua3MgZGVjcmVhc2VzIG9yIGluY3JlYXNlcyB3aGlsZSBjcmVhdGluZwotdGhlIHRhciBmaWxlcyB1c2VkIGZvciBhbiBpcGsgcGFja2FnZSwgdGFyIGZhaWxzIHdpdGggZXJyb3IgY29kZSAxOgotCi18IERFQlVHOiBFeGVjdXRpbmcgcHl0aG9uIGZ1bmN0aW9uIGRvX3BhY2thZ2VfaXBrCi18IHRhcjogLi91c3Ivc3JjL2RlYnVnL2dwZXJmLzMuMC40LXIwL2dwZXJmLTMuMC40L3NyYy9tYWluLmNjOiBmaWxlIGNoYW5nZWQgYXMgd2UgcmVhZCBpdAotTk9URTogcmVjaXBlIGdwZXJmLTMuMC40LXIwOiB0YXNrIGRvX3BhY2thZ2Vfd3JpdGVfaXBrOiBGYWlsZWQKLUVSUk9SOiBUYXNrIDY1MzkgKHJlY2lwZXMtZXh0ZW5kZWQvZ3BlcmYvZ3BlcmZfMy4wLjQuYmIsIGRvX3BhY2thZ2Vfd3JpdGVfaXBrKSBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJzEnCi0KLQotV2UgZGV0ZWN0IGlmIHRoZSBlcnJvciBjb2RlIHByb2R1Y2VkIGJ5IHRhciBpcyAxIGFuZCBpbiB0aGlzIGNhc2UgaWdub3JlIGl0LgotCi1UaGlzIGEgc2ltaWxhciBiZWhhdmlvciB0byB0aGUgb25lIG9uIGRwa2c6Ci1odHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9wb2t5L2NvbW1pdC8/aWQ9NDA3MzE5NDI1MTVlYzhkODBjNzI3YWQ1NjExNzQ5ODZkNGYwNTgxOAotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKLQotU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIEhlcm5hbmRleiA8YWxlamFuZHJvLmhlcm5hbmRlekBsaW51eC5pbnRlbC5jb20+Ci0KLQotSW5kZXg6IGdpdC9vcGtnLWJ1aWxkCi0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9vcGtnLWJ1aWxkCi0rKysgZ2l0L29wa2ctYnVpbGQKLUBAIC0yODUsOCArMjg1LDIxIEBAIG1rZGlyICR0bXBfZGlyCi0gYnVpbGRfZGF0ZT0iJChkYXRlIC0tZGF0ZT0iQCR7U09VUkNFX0RBVEVfRVBPQ0g6LSQoZGF0ZSArJXMpfSIgIislWS0lbS0lZCAlSDolTTolUyIpIgotIAotIGVjaG8gJENPTlRST0wgPiAkdG1wX2Rpci90YXJYCi0tKCBjZCAkcGtnX2RpciAmJiB0YXIgJG9nYXJncyAkdHNvcnRhcmdzIC0tbXRpbWU9IiRidWlsZF9kYXRlIiAtWCAkdG1wX2Rpci90YXJYIC1jICR0YXJmb3JtYXQgLiB8ICRjb21wcmVzc29yICRjb21wcmVzc29yYXJncyA+ICR0bXBfZGlyL2RhdGEudGFyLiRjZXh0ICkKLS0oIGNkICRwa2dfZGlyLyRDT05UUk9MICYmIHRhciAkb2dhcmdzICR0c29ydGFyZ3MgLS1tdGltZT0iJGJ1aWxkX2RhdGUiIC1jICR0YXJmb3JtYXQgLiB8IGd6aXAgJHppcGFyZ3MgPiAkdG1wX2Rpci9jb250cm9sLnRhci5neiApCi0rCi0rCi0rIyBJZ25vcmUgZXJyb3IgY29kZSAxLCBjYXVzZWQgYnkgbW9kaWZ5aW5nIHRoZSBudW1iZXIgb2YgaGFyZCBsaW5rcyB3aGlsZSBjcmVhdGluZyB0aGUgdGFyIGZpbGUKLStyYz0wCi0rKCBjZCAkcGtnX2RpciAmJiB0YXIgJG9nYXJncyAkdHNvcnRhcmdzIC0tbXRpbWU9IiRidWlsZF9kYXRlIiAtWCAkdG1wX2Rpci90YXJYIC1jICR0YXJmb3JtYXQgLiB8ICRjb21wcmVzc29yICRjb21wcmVzc29yYXJncyA+ICR0bXBfZGlyL2RhdGEudGFyLiRjZXh0ICkgfHwgcmM9JD8KLStpZiBbICRyYyAtbmUgMSBdICYmIFsgJHJjIC1uZSAwIF07IHRoZW4KLSsgICAgICAgIGV4aXQgJHJjIAotK2ZpCi0rCi0rcmM9MAotKyggY2QgJHBrZ19kaXIvJENPTlRST0wgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW10aW1lPSIkYnVpbGRfZGF0ZSIgLWMgJHRhcmZvcm1hdCAuIHwgZ3ppcCAkemlwYXJncyA+ICR0bXBfZGlyL2NvbnRyb2wudGFyLmd6ICkgfHwgcmM9JD8KLStpZiBbICRyYyAtbmUgMSBdICYmIFsgJHJjIC1uZSAwIF07IHRoZW4KLSsgICAgICAgIGV4aXQgJHJjCi0rZmkKLSsKLSBybSAkdG1wX2Rpci90YXJYCi0gCi0gZWNobyAiMi4wIiA+ICR0bXBfZGlyL2RlYmlhbi1iaW5hcnkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy90aHJlYWRlZC14ei5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy90aHJlYWRlZC14ei5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTNhNDlmOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvdGhyZWFkZWQteHoucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1QYXNzIC0tdGhyZWFkcz0wIHRvIHh6IHNvIHRoYXQgaXQgd2lsbCB1c2UgYXMgbWFueSB0aHJlYWRzIGFzIHRoZXJlIGFyZSBjb3JlcyB0byBjb21wcmVzcyB0aGUgcGFja2FnZXMuICBUaGlzIG1ha2VzIHFlbXUncyBkb19wYWNrYWdlX2lwayBydW4gaW4gMzRzIGluc3RlYWQgb2YgMjc1cyBvbiBteSBtYWNoaW5lLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgKHVnbHkgYnV0IHdvcmtzLCBkaXNjdXNzaW5nIHdpdGggdXBzdHJlYW0gbm93KQotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotZGlmZiAtLWdpdCBhL29wa2ctYnVpbGQgYi9vcGtnLWJ1aWxkCi1pbmRleCAwMDUwYzJiLi45M2E3OTU2IDEwMDc1NQotLS0tIGEvb3BrZy1idWlsZAotKysrIGIvb3BrZy1idWlsZAotQEAgLTIzMCw2ICsyMzAsOCBAQCBpZiBnemlwIC0taGVscCAyPiYxIHwgZ3JlcCAtLSAiLVQiID4gL2Rldi9udWxsOyB0aGVuCi0gZmkKLSBpZiBbICRjb21wcmVzc29yID0gImd6aXAiIF0gOyB0aGVuCi0gCWNvbXByZXNzb3JhcmdzPSR6aXBhcmdzCi0rZWxpZiBbICRjb21wcmVzc29yID0gInh6IiBdIDsgdGhlbgotKwljb21wcmVzc29yYXJncz0iLS10aHJlYWRzIDAiCi0gZmkKLSAKLSB0c29ydGFyZ3M9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHNfMC4zLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHNfMC4zLjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjNDE3NzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzXzAuMy42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotU1VNTUFSWSA9ICJBZGRpdGlvbmFsIHV0aWxpdGllcyBmb3IgdGhlIG9wa2cgcGFja2FnZSBtYW5hZ2VyIgotU1VNTUFSWV91cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2cgPSAiVXRpbGl0eSBmb3IgbWFuYWdpbmcgdGhlIGFsdGVybmF0aXZlcyBzeXN0ZW0iCi1TRUNUSU9OID0gImJhc2UiCi1IT01FUEFHRSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9vcGtnLXV0aWxzIgotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9vcGtnLnB5O2JlZ2lubGluZT0yO2VuZGxpbmU9MTg7bWQ1PTYzY2U5ZTZiY2M0NDUxODFjZDllNGJhZjRiNGNjYzM1IgotUFJPVklERVMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3VwZGF0ZS1hbHRlcm5hdGl2ZXMnLCAndmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzJywgJycsIGQpfSIKLQotU1JDX1VSSSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS8ke0JQTn0vc25hcHNob3QvJHtCUE59LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVN3aXRjaC1hbGwtc2NyaXB0cy10by11c2UtUHl0aG9uLTMueC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLU9ubHktdXNlLXNvcnQtbmFtZS1vbi12ZXJzaW9ucy1vZi10YXItd2hpY2gtc3VwcG9ydC0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1vcGtnLWJ1aWxkLVVzZS1sb2NhbC10aW1lLWZvci1idWlsZF9kYXRlLXNpbmNlLW9wa2ctLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3RocmVhZGVkLXh6LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3BpZ3oucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS11cGRhdGUtYWx0ZXJuYXRpdmVzLUZpeC1saW5rLXJlbG9jYXRpb24tc3VwcG9ydC5wYXRjaCBcCi0iCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGU6Ly90YXJfaWdub3JlX2Vycm9yLnBhdGNoIgotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9jZ2l0L2NnaXQuY2dpL29wa2ctdXRpbHMvcmVmcy8iCi0KLQotU1JDX1VSSVttZDVzdW1dID0gIjM5MWMxYzgwYWNhMjY5NjEzNzVkZDIyZTFkMmQwY2JmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI2YjNmNGRkMWMxZWY2NWY1MTlkNGNkZGZiMzVlYmVhNDFhZThhZjk4OWFlYTI2OTlhMzk3ODM1OThjMzM3NjkiCi0KLVRBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgotCi0jIEZvciBuYXRpdmUgYnVpbGRzIHdlIHVzZSB0aGUgaG9zdCBQeXRob24KLVBZVEhPTlJERVBTID0gInB5dGhvbjMgcHl0aG9uMy1zaGVsbCBweXRob24zLWlvIHB5dGhvbjMtbWF0aCBweXRob24zLWNyeXB0IHB5dGhvbjMtbG9nZ2luZyBweXRob24zLWZjbnRsIHB5dGhvbjMtcGlja2xlIHB5dGhvbjMtY29tcHJlc3Npb24gcHl0aG9uMy1zdHJpbmdvbGQiCi1QWVRIT05SREVQU19jbGFzcy1uYXRpdmUgPSAiIgotCi1QQUNLQUdFQ09ORklHID0gInB5dGhvbiB1cGRhdGUtYWx0ZXJuYXRpdmVzIgotUEFDS0FHRUNPTkZJR1tweXRob25dID0gIiwsLCR7UFlUSE9OUkRFUFN9IgotUEFDS0FHRUNPTkZJR1t1cGRhdGUtYWx0ZXJuYXRpdmVzXSA9ICIsLCwiCi0KLWRvX2luc3RhbGwoKSB7Ci0Jb2VfcnVubWFrZSBQUkVGSVg9JHtwcmVmaXh9IERFU1RESVI9JHtEfSBpbnN0YWxsCi0JaWYgISAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd1cGRhdGUtYWx0ZXJuYXRpdmVzJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLQkJcm0gLWYgIiR7RH0ke2JpbmRpcn0vdXBkYXRlLWFsdGVybmF0aXZlcyIKLQlmaQotCi0gICAgaWYgISAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24nLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBncmVwIC1sWiAiL3Vzci9iaW4vZW52LipweXRob24iICR7RH0ke2JpbmRpcn0vKiB8IHhhcmdzIC0wIHJtCi0gICAgZmkKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotCWlmIFsgLWUgIiR7RH0ke2JpbmRpcn0vdXBkYXRlLWFsdGVybmF0aXZlcyIgXTsgdGhlbgotCQlzZWQgLWkgJHtEfSR7YmluZGlyfS91cGRhdGUtYWx0ZXJuYXRpdmVzIC1lICdzLC91c3IvYmluLCR7YmluZGlyfSxnOyBzLC91c3IvbGliLCR7bm9uYXJjaF9saWJkaXJ9LGcnCi0JZmkKLX0KLQotIyBUaGVzZSBhcmUgZW1wdHkgYW5kIHdpbGwgcHVsbCBweXRob24zLWRldiBpbnRvIGltYWdlcyB3aGVyZSBpdCB3b3VsZG4ndAotIyBoYXZlIGJlZW4gb3RoZXJ3aXNlLCBzbyBkb24ndCBnZW5lcmF0ZSB0aGVtLgotUEFDS0FHRVNfcmVtb3ZlID0gIiR7UE59LWRldiAke1BOfS1zdGF0aWNkZXYiCi0KLVBBQ0tBR0VTID0rICJ1cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2ciCi1GSUxFU191cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2cgPSAiJHtiaW5kaXJ9L3VwZGF0ZS1hbHRlcm5hdGl2ZXMiCi1SUFJPVklERVNfdXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnID0gInVwZGF0ZS1hbHRlcm5hdGl2ZXMgdXBkYXRlLWFsdGVybmF0aXZlcy1jd29ydGgiCi1SUkVQTEFDRVNfdXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnID0gInVwZGF0ZS1hbHRlcm5hdGl2ZXMtY3dvcnRoIgotUkNPTkZMSUNUU191cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2cgPSAidXBkYXRlLWFsdGVybmF0aXZlcy1jd29ydGgiCi0KLXBrZ19wb3N0cm1fdXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnKCkgewotCXJtIC1yZiAkRCR7bm9uYXJjaF9saWJkaXJ9L29wa2cvYWx0ZXJuYXRpdmVzCi0Jcm1kaXIgJEQke25vbmFyY2hfbGliZGlyfS9vcGtnIHx8IHRydWUKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1DTEVBTkJST0tFTiA9ICIxIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzXzAuNC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzXzAuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhM2UwNmIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHNfMC40LjAuYmIKQEAgLTAsMCArMSw2NCBAQAorU1VNTUFSWSA9ICJBZGRpdGlvbmFsIHV0aWxpdGllcyBmb3IgdGhlIG9wa2cgcGFja2FnZSBtYW5hZ2VyIgorU1VNTUFSWV91cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2cgPSAiVXRpbGl0eSBmb3IgbWFuYWdpbmcgdGhlIGFsdGVybmF0aXZlcyBzeXN0ZW0iCitTRUNUSU9OID0gImJhc2UiCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9vcGtnLXV0aWxzIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9vcGtnLnB5O2JlZ2lubGluZT0yO2VuZGxpbmU9MTg7bWQ1PTYzY2U5ZTZiY2M0NDUxODFjZDllNGJhZjRiNGNjYzM1IgorUFJPVklERVMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3VwZGF0ZS1hbHRlcm5hdGl2ZXMnLCAndmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzJywgJycsIGQpfSIKKworU1JDX1VSSSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS8ke0JQTn0vc25hcHNob3QvJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVN3aXRjaC1hbGwtc2NyaXB0cy10by11c2UtUHl0aG9uLTMueC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9wa2ctYnVpbGQtZG8tbm90LXNldC1tdGltZS1vbi1kYXRhLnRhci5YLnBhdGNoIFwKKyIKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9vcGtnLXV0aWxzL3JlZnMvIgorCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2ZTFjMmVhZTk2MjM5NTIwYThlYjNkMDUzNzI3NzNlYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4MTUzZjRlNWRhZGRlNDIyZDM1ZmVhZjg2YmY1OTUyNjZhZjlkMDAzNzM4OWJjNDE4ZmE4N2ZlYjA0MzdlZmIzIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworIyBGb3IgbmF0aXZlIGJ1aWxkcyB3ZSB1c2UgdGhlIGhvc3QgUHl0aG9uCitQWVRIT05SREVQUyA9ICJweXRob24zIHB5dGhvbjMtc2hlbGwgcHl0aG9uMy1pbyBweXRob24zLW1hdGggcHl0aG9uMy1jcnlwdCBweXRob24zLWxvZ2dpbmcgcHl0aG9uMy1mY250bCBweXRob24zLXBpY2tsZSBweXRob24zLWNvbXByZXNzaW9uIHB5dGhvbjMtc3RyaW5nb2xkIgorUFlUSE9OUkRFUFNfY2xhc3MtbmF0aXZlID0gIiIKKworUEFDS0FHRUNPTkZJRyA9ICJweXRob24gdXBkYXRlLWFsdGVybmF0aXZlcyIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICIsLCwke1BZVEhPTlJERVBTfSIKK1BBQ0tBR0VDT05GSUdbdXBkYXRlLWFsdGVybmF0aXZlc10gPSAiLCwsIgorCitkb19pbnN0YWxsKCkgeworCW9lX3J1bm1ha2UgUFJFRklYPSR7cHJlZml4fSBERVNURElSPSR7RH0gaW5zdGFsbAorCWlmICEgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndXBkYXRlLWFsdGVybmF0aXZlcycsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJCXJtIC1mICIke0R9JHtiaW5kaXJ9L3VwZGF0ZS1hbHRlcm5hdGl2ZXMiCisJZmkKKworICAgIGlmICEgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgZ3JlcCAtbFogIi91c3IvYmluL2Vudi4qcHl0aG9uIiAke0R9JHtiaW5kaXJ9LyogfCB4YXJncyAtMCBybQorICAgIGZpCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKwlpZiBbIC1lICIke0R9JHtiaW5kaXJ9L3VwZGF0ZS1hbHRlcm5hdGl2ZXMiIF07IHRoZW4KKwkJc2VkIC1pICR7RH0ke2JpbmRpcn0vdXBkYXRlLWFsdGVybmF0aXZlcyAtZSAncywvdXNyL2Jpbiwke2JpbmRpcn0sZzsgcywvdXNyL2xpYiwke25vbmFyY2hfbGliZGlyfSxnJworCWZpCit9CisKKyMgVGhlc2UgYXJlIGVtcHR5IGFuZCB3aWxsIHB1bGwgcHl0aG9uMy1kZXYgaW50byBpbWFnZXMgd2hlcmUgaXQgd291bGRuJ3QKKyMgaGF2ZSBiZWVuIG90aGVyd2lzZSwgc28gZG9uJ3QgZ2VuZXJhdGUgdGhlbS4KK1BBQ0tBR0VTX3JlbW92ZSA9ICIke1BOfS1kZXYgJHtQTn0tc3RhdGljZGV2IgorCitQQUNLQUdFUyA9KyAidXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnIgorRklMRVNfdXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnID0gIiR7YmluZGlyfS91cGRhdGUtYWx0ZXJuYXRpdmVzIgorUlBST1ZJREVTX3VwZGF0ZS1hbHRlcm5hdGl2ZXMtb3BrZyA9ICJ1cGRhdGUtYWx0ZXJuYXRpdmVzIHVwZGF0ZS1hbHRlcm5hdGl2ZXMtY3dvcnRoIgorUlJFUExBQ0VTX3VwZGF0ZS1hbHRlcm5hdGl2ZXMtb3BrZyA9ICJ1cGRhdGUtYWx0ZXJuYXRpdmVzLWN3b3J0aCIKK1JDT05GTElDVFNfdXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnID0gInVwZGF0ZS1hbHRlcm5hdGl2ZXMtY3dvcnRoIgorCitwa2dfcG9zdHJtX3VwZGF0ZS1hbHRlcm5hdGl2ZXMtb3BrZygpIHsKKwlybSAtcmYgJEQke25vbmFyY2hfbGliZGlyfS9vcGtnL2FsdGVybmF0aXZlcworCXJtZGlyICREJHtub25hcmNoX2xpYmRpcn0vb3BrZyB8fCB0cnVlCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworQ0xFQU5CUk9LRU4gPSAiMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2cvb3BrZy8wMDAxLWxpYm9wa2ctYWRkLWFkZC1pZ25vcmUtcmVjb21tZW5kcy1vcHRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnL29wa2cvMDAwMS1saWJvcGtnLWFkZC1hZGQtaWdub3JlLXJlY29tbWVuZHMtb3B0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3ZDFiM2MKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnL29wa2cvMDAwMS1saWJvcGtnLWFkZC1hZGQtaWdub3JlLXJlY29tbWVuZHMtb3B0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMjU5IEBACitGcm9tIDY0YWE5ODY0NmExN2MyOTliZjM3YWYyOTc1Yjk4ZGFmNWQ3ZDMwYjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGVqYW5kcm8gZGVsIENhc3RpbGxvIDxhbGVqYW5kcm8uZGVsY2FzdGlsbG9AbmkuY29tPgorRGF0ZTogVGh1LCAzMSBKYW4gMjAxOSAxODoxNjowOCAtMDYwMAorU3ViamVjdDogW1BBVENIXSBsaWJvcGtnOiBhZGQgLS1hZGQtaWdub3JlLXJlY29tbWVuZHMgb3B0aW9uCisKK0FkZCBvcHRpb24gdG8gaWdub3JlIHNwZWNpZmljIHJlY29tbWVuZGVkIHBhY2thZ2VzLiBPbiB0aGUgbGlic29sdgorYmFja2VkLCB0aGlzIGZlYXR1cmUgd2lsbCBvbmx5IHdvcmsgb24gbGlic29sdiB2ZXJzaW9uID4gMC43LjIgWzFdLgorCitbMV0gaHR0cHM6Ly91cmxkZWZlbnNlLnByb29mcG9pbnQuY29tL3YyL3VybD91PWh0dHBzLTNBX19naXRodWIuY29tX29wZW5TVVNFX2xpYnNvbHZfaXNzdWVzXzI1NCZkPUR3SUJhUSZjPUlfMFl3b0t5N3o1TE1UVmR5TzZZQ2lFMnV6STFqalpadUlQZWxjU2ppeEEmcj13TmNyTDJha1JuNmpmeGhIYUthdlVySkJfQzlKQU1YdHluakxkOFp6Z1hRJm09R09iTkh6RkpwV3BmX1ByaXBJcmYtSzJSaHNrdFlkQVVFaWVBSmV4WE9LdyZzPTNHLW1lQ2hVcUNsRmdnRlBxc3JBeElaQmZMblJLSUhtNjJVdXkxWDZuUVEmZT0KKworU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZAorLS0tCisgbGlib3BrZy9vcGtnX2NvbmYuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKworIGxpYm9wa2cvb3BrZ19jb25mLmggICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKKyAuLi4vc29sdmVycy9pbnRlcm5hbC9wa2dfZGVwZW5kc19pbnRlcm5hbC5jICAgfCAgMyArLQorIGxpYm9wa2cvc29sdmVycy9saWJzb2x2L29wa2dfc29sdmVyX2xpYnNvbHYuYyB8IDIxICsrKysrKy0KKyBtYW4vb3BrZy4xLmluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArCisgc3JjL29wa2cuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysKKyB0ZXN0cy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCisgdGVzdHMvY29yZS80M19hZGRfaWdub3JlX3JlY29tbWVuZHMucHkgICAgICAgIHwgNjIgKysrKysrKysrKysrKysrKysrKworIDggZmlsZXMgY2hhbmdlZCwgOTcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA3NTUgdGVzdHMvY29yZS80M19hZGRfaWdub3JlX3JlY29tbWVuZHMucHkKKworZGlmZiAtLWdpdCBhL2xpYm9wa2cvb3BrZ19jb25mLmMgYi9saWJvcGtnL29wa2dfY29uZi5jCitpbmRleCAwNjg4MGExLi5mMjMzMGNkIDEwMDY0NAorLS0tIGEvbGlib3BrZy9vcGtnX2NvbmYuYworKysrIGIvbGlib3BrZy9vcGtnX2NvbmYuYworQEAgLTU5Nyw2ICs1OTcsNyBAQCBpbnQgb3BrZ19jb25mX2luaXQodm9pZCkKKyAgICAgcGtnX2Rlc3RfbGlzdF9pbml0KCZvcGtnX2NvbmZpZy0+dG1wX2Rlc3RfbGlzdCk7CisgICAgIG52X3BhaXJfbGlzdF9pbml0KCZvcGtnX2NvbmZpZy0+YXJjaF9saXN0KTsKKyAgICAgc3RyX2xpc3RfaW5pdCgmb3BrZ19jb25maWctPmV4Y2x1ZGVfbGlzdCk7CisrICAgIHN0cl9saXN0X2luaXQoJm9wa2dfY29uZmlnLT5pZ25vcmVfcmVjb21tZW5kc19saXN0KTsKKyAKKyAgICAgcmV0dXJuIDA7CisgfQorQEAgLTkzOCw2ICs5MzksNyBAQCB2b2lkIG9wa2dfY29uZl9kZWluaXQodm9pZCkKKyAgICAgcGtnX2Rlc3RfbGlzdF9kZWluaXQoJm9wa2dfY29uZmlnLT5wa2dfZGVzdF9saXN0KTsKKyAgICAgbnZfcGFpcl9saXN0X2RlaW5pdCgmb3BrZ19jb25maWctPmFyY2hfbGlzdCk7CisgICAgIHN0cl9saXN0X2RlaW5pdCgmb3BrZ19jb25maWctPmV4Y2x1ZGVfbGlzdCk7CisrICAgIHN0cl9saXN0X2RlaW5pdCgmb3BrZ19jb25maWctPmlnbm9yZV9yZWNvbW1lbmRzX2xpc3QpOworIAorICAgICBpZiAob3BrZ19jb25maWctPnZlcmJvc2l0eSA+PSBERUJVRykgeworICAgICAgICAgaGFzaF9wcmludF9zdGF0cygmb3BrZ19jb25maWctPnBrZ19oYXNoKTsKK2RpZmYgLS1naXQgYS9saWJvcGtnL29wa2dfY29uZi5oIGIvbGlib3BrZy9vcGtnX2NvbmYuaAoraW5kZXggZWI1NmEyOS4uMzE2YzUwMCAxMDA2NDQKKy0tLSBhL2xpYm9wa2cvb3BrZ19jb25mLmgKKysrKyBiL2xpYm9wa2cvb3BrZ19jb25mLmgKK0BAIC02MSw2ICs2MSw3IEBAIHR5cGVkZWYgc3RydWN0IG9wa2dfY29uZiB7CisgICAgIHBrZ19kZXN0X2xpc3RfdCB0bXBfZGVzdF9saXN0OworICAgICBudl9wYWlyX2xpc3RfdCBhcmNoX2xpc3Q7CisgICAgIHN0cl9saXN0X3QgZXhjbHVkZV9saXN0OworKyAgICBzdHJfbGlzdF90IGlnbm9yZV9yZWNvbW1lbmRzX2xpc3Q7CisgCisgICAgIGludCByZXN0cmljdF90b19kZWZhdWx0X2Rlc3Q7CisgICAgIHBrZ19kZXN0X3QgKmRlZmF1bHRfZGVzdDsKK2RpZmYgLS1naXQgYS9saWJvcGtnL3NvbHZlcnMvaW50ZXJuYWwvcGtnX2RlcGVuZHNfaW50ZXJuYWwuYyBiL2xpYm9wa2cvc29sdmVycy9pbnRlcm5hbC9wa2dfZGVwZW5kc19pbnRlcm5hbC5jCitpbmRleCBjZDU2ZDg0Li41ZGVlZTcwIDEwMDY0NAorLS0tIGEvbGlib3BrZy9zb2x2ZXJzL2ludGVybmFsL3BrZ19kZXBlbmRzX2ludGVybmFsLmMKKysrKyBiL2xpYm9wa2cvc29sdmVycy9pbnRlcm5hbC9wa2dfZGVwZW5kc19pbnRlcm5hbC5jCitAQCAtMjI4LDcgKzIyOCw4IEBAIGludCBwa2dfaGFzaF9mZXRjaF91bnNhdGlzZmllZF9kZXBlbmRlbmNpZXMocGtnX3QgKnBrZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgY29tcG91bmRfZGVwZW5kLT50eXBlID09IFNVR0dFU1QpCisgICAgICAgICAgICAgICAgICAgICAgICAgJiYgKHNhdGlzZnlpbmdfcGtnLT5zdGF0ZV93YW50ID09IFNXX0RFSU5TVEFMTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBzYXRpc2Z5aW5nX3BrZy0+c3RhdGVfd2FudCA9PSBTV19QVVJHRQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBvcGtnX2NvbmZpZy0+bm9faW5zdGFsbF9yZWNvbW1lbmRzKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgb3BrZ19jb25maWctPm5vX2luc3RhbGxfcmVjb21tZW5kcworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBzdHJfbGlzdF9jb250YWlucygmb3BrZ19jb25maWctPmlnbm9yZV9yZWNvbW1lbmRzX2xpc3QsIHNhdGlzZnlpbmdfcGtnLT5uYW1lKSk7CisgICAgICAgICAgICAgICAgIGlmIChpZ25vcmUpIHsKKyAgICAgICAgICAgICAgICAgICAgIG9wa2dfbXNnKE5PVElDRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogaWdub3JpbmcgcmVjb21tZW5kYXRpb24gZm9yICIKK2RpZmYgLS1naXQgYS9saWJvcGtnL3NvbHZlcnMvbGlic29sdi9vcGtnX3NvbHZlcl9saWJzb2x2LmMgYi9saWJvcGtnL3NvbHZlcnMvbGlic29sdi9vcGtnX3NvbHZlcl9saWJzb2x2LmMKK2luZGV4IDJiMjdlM2EuLjQwM2UwN2IgMTAwNjQ0CistLS0gYS9saWJvcGtnL3NvbHZlcnMvbGlic29sdi9vcGtnX3NvbHZlcl9saWJzb2x2LmMKKysrKyBiL2xpYm9wa2cvc29sdmVycy9saWJzb2x2L29wa2dfc29sdmVyX2xpYnNvbHYuYworQEAgLTQ4NCw2ICs0ODQsNyBAQCBzdGF0aWMgdm9pZCBwa2cyc29sdmFibGUocGtnX3QgKnBrZywgU29sdmFibGUgKnNvbHZhYmxlX291dCkKKyBzdGF0aWMgdm9pZCBwb3B1bGF0ZV9pbnN0YWxsZWRfcmVwbyhsaWJzb2x2X3NvbHZlcl90ICpsaWJzb2x2X3NvbHZlcikKKyB7CisgICAgIGludCBpOworKyAgICBJZCB3aGF0OworIAorICAgICBwa2dfdmVjX3QgKmluc3RhbGxlZF9wa2dzID0gcGtnX3ZlY19hbGxvYygpOworIAorQEAgLTUwNyw2ICs1MDgsMTUgQEAgc3RhdGljIHZvaWQgcG9wdWxhdGVfaW5zdGFsbGVkX3JlcG8obGlic29sdl9zb2x2ZXJfdCAqbGlic29sdl9zb2x2ZXIpCisgICAgICAgICAvKiBzZXQgc29sdmFibGUgYXR0cmlidXRlcyAqLworICAgICAgICAgcGtnMnNvbHZhYmxlKHBrZywgc29sdmFibGUpOworIAorKyAgICAgICAgLyogaWYgdGhlIHBhY2thZ2UgaXMgaW4gaWdub3JlLXJlY29tbWVuZHMtbGlzdCwgZGlzZmF2b3IgaW5zdGFsbGF0aW9uICovCisrICAgICAgICBpZiAoc3RyX2xpc3RfY29udGFpbnMoJm9wa2dfY29uZmlnLT5pZ25vcmVfcmVjb21tZW5kc19saXN0LCBwa2ctPm5hbWUpKSB7CisrICAgICAgICAgICAgb3BrZ19tZXNzYWdlKE5PVElDRSwgIkRpc2Zhdm9yIHBhY2thZ2U6ICVzXG4iLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBwa2ctPm5hbWUpOworKyAgICAgICAgICAgIHdoYXQgPSBwb29sX3N0cjJpZChsaWJzb2x2X3NvbHZlci0+cG9vbCwgcGtnLT5uYW1lLCAxKTsKKysgICAgICAgICAgICBxdWV1ZV9wdXNoMigmbGlic29sdl9zb2x2ZXItPnNvbHZlcl9qb2JzLCBTT0xWRVJfU09MVkFCTEVfTkFNRQorKyAgICAgICAgICAgICAgICAgICAgICAgIHwgU09MVkVSX0RJU0ZBVk9SLCB3aGF0KTsKKysgICAgICAgIH0KKysKKyAgICAgICAgIC8qIGlmIHRoZSBwYWNrYWdlIGlzIG5vdCBhdXRvaW5zdGFsbGVkLCBtYXJrIGl0IGFzIHVzZXIgaW5zdGFsbGVkICovCisgICAgICAgICBpZiAoIXBrZy0+YXV0b19pbnN0YWxsZWQpCisgICAgICAgICAgICAgcXVldWVfcHVzaDIoJmxpYnNvbHZfc29sdmVyLT5zb2x2ZXJfam9icywgU09MVkVSX1NPTFZBQkxFCitAQCAtNTM5LDcgKzU0OSw3IEBAIHN0YXRpYyB2b2lkIHBvcHVsYXRlX2F2YWlsYWJsZV9yZXBvcyhsaWJzb2x2X3NvbHZlcl90ICpsaWJzb2x2X3NvbHZlcikKKyB7CisgICAgIGludCBpOworICAgICBTb2x2YWJsZSAqc29sdmFibGU7CistICAgIElkIHNvbHZhYmxlX2lkOworKyAgICBJZCBzb2x2YWJsZV9pZCwgd2hhdDsKKyAKKyAgICAgcGtnX3ZlY190ICphdmFpbGFibGVfcGtncyA9IHBrZ192ZWNfYWxsb2MoKTsKKyAKK0BAIC02MDgsNiArNjE4LDE1IEBAIHN0YXRpYyB2b2lkIHBvcHVsYXRlX2F2YWlsYWJsZV9yZXBvcyhsaWJzb2x2X3NvbHZlcl90ICpsaWJzb2x2X3NvbHZlcikKKyAgICAgICAgIHNvbHZhYmxlID0gcG9vbF9pZDJzb2x2YWJsZShsaWJzb2x2X3NvbHZlci0+cG9vbCwgc29sdmFibGVfaWQpOworICAgICAgICAgcGtnMnNvbHZhYmxlKHBrZywgc29sdmFibGUpOworIAorKyAgICAgICAgLyogaWYgdGhlIHBhY2thZ2UgaXMgaW4gaWdub3JlLXJlY29tbWVuZHMtbGlzdCwgZGlzZmF2b3IgaW5zdGFsbGF0aW9uICovCisrICAgICAgICBpZiAoc3RyX2xpc3RfY29udGFpbnMoJm9wa2dfY29uZmlnLT5pZ25vcmVfcmVjb21tZW5kc19saXN0LCBwa2ctPm5hbWUpKSB7CisrICAgICAgICAgICAgb3BrZ19tZXNzYWdlKE5PVElDRSwgIkRpc2Zhdm9yIHBhY2thZ2U6ICVzXG4iLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBwa2ctPm5hbWUpOworKyAgICAgICAgICAgIHdoYXQgPSBwb29sX3N0cjJpZChsaWJzb2x2X3NvbHZlci0+cG9vbCwgcGtnLT5uYW1lLCAxKTsKKysgICAgICAgICAgICBxdWV1ZV9wdXNoMigmbGlic29sdl9zb2x2ZXItPnNvbHZlcl9qb2JzLCBTT0xWRVJfU09MVkFCTEVfTkFNRQorKyAgICAgICAgICAgICAgICAgICAgICAgIHwgU09MVkVSX0RJU0ZBVk9SLCB3aGF0KTsKKysgICAgICAgIH0KKysKKyAgICAgICAgIC8qIGlmIHRoZSAtLWZvcmNlLWRlcGVuZHMgb3B0aW9uIGlzIHNwZWNpZmllZCBtYWtlIGRlcGVuZGVuY2llcyB3ZWFrICovCisgICAgICAgICBpZiAob3BrZ19jb25maWctPmZvcmNlX2RlcGVuZHMpCisgICAgICAgICAgICAgcXVldWVfcHVzaDIoJmxpYnNvbHZfc29sdmVyLT5zb2x2ZXJfam9icywgU09MVkVSX1NPTFZBQkxFCitkaWZmIC0tZ2l0IGEvbWFuL29wa2cuMS5pbiBiL21hbi9vcGtnLjEuaW4KK2luZGV4IDI3ZmE5YzEuLmYxOTJjM2IgMTAwNjQ0CistLS0gYS9tYW4vb3BrZy4xLmluCisrKysgYi9tYW4vb3BrZy4xLmluCitAQCAtMTYyLDYgKzE2Miw5IEBAIHByaW9yaXR5IFxmSXByaW9cZlAuIExvd2VyIHByaW9yaXRpZXMgdGFrZSBwcmVjZWRlbmNlLgorIFxmQlwtLWFkZC1leGNsdWRlIDxcZkluYW1lXGZQPlxmUgorIFJlZ2lzdGVyIHBhY2thZ2UgdG8gYmUgZXhjbHVkZWQgZnJvbSBpbnN0YWxsCisgLlRQCisrXGZCXC0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzIDxcZkluYW1lXGZQPlxmUgorK1JlZ2lzdGVyIHBhY2thZ2UgdG8gYmUgaWdub3JlZCBhcyBhIHJlY29tZW5kZWUKKysuVFAKKyBcZkJcLS1wcmVmZXItYXJjaC10by12ZXJzaW9uXGZSCisgVXNlIHRoZSBhcmNoaXRlY3R1cmUgcHJpb3JpdHkgcGFja2FnZSByYXRoZXIgdGhhbiB0aGUgaGlnaGVyIHZlcnNpb24KKyBvbmUgaWYgbW9yZSB0aGFuIG9uZSBjYW5kaWRhdGUgaXMgZm91bmQuCitkaWZmIC0tZ2l0IGEvc3JjL29wa2cuYyBiL3NyYy9vcGtnLmMKK2luZGV4IDY1MGUyNzguLjNjOTNhM2IgMTAwNjQ0CistLS0gYS9zcmMvb3BrZy5jCisrKysgYi9zcmMvb3BrZy5jCitAQCAtNTEsNiArNTEsNyBAQCBlbnVtIHsKKyAgICAgQVJHU19PUFRfQUREX0RFU1QsCisgICAgIEFSR1NfT1BUX1NJWkUsCisgICAgIEFSR1NfT1BUX0FERF9FWENMVURFLAorKyAgICBBUkdTX09QVF9BRERfSUdOT1JFX1JFQ09NTUVORFMsCisgICAgIEFSR1NfT1BUX05PQUNUSU9OLAorICAgICBBUkdTX09QVF9ET1dOTE9BRF9PTkxZLAorICAgICBBUkdTX09QVF9OT0RFUFMsCitAQCAtMTEyLDYgKzExMyw3IEBAIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0aW9uc1tdID0geworICAgICB7ImFkZC1kZXN0IiwgMSwgMCwgQVJHU19PUFRfQUREX0RFU1R9LAorICAgICB7InNpemUiLCAwLCAwLCBBUkdTX09QVF9TSVpFfSwKKyAgICAgeyJhZGQtZXhjbHVkZSIsIDEsIDAsIEFSR1NfT1BUX0FERF9FWENMVURFfSwKKysgICAgeyJhZGQtaWdub3JlLXJlY29tbWVuZHMiLCAxLCAwLCBBUkdTX09QVF9BRERfSUdOT1JFX1JFQ09NTUVORFN9LAorICAgICB7InRlc3QiLCAwLCAwLCBBUkdTX09QVF9OT0FDVElPTn0sCisgICAgIHsidG1wLWRpciIsIDEsIDAsICd0J30sCisgICAgIHsidG1wX2RpciIsIDEsIDAsICd0J30sCitAQCAtMjM0LDYgKzIzNiw5IEBAIHN0YXRpYyBpbnQgYXJnc19wYXJzZShpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICAgICAgY2FzZSBBUkdTX09QVF9BRERfRVhDTFVERToKKyAgICAgICAgICAgICBzdHJfbGlzdF9hcHBlbmQoJm9wa2dfY29uZmlnLT5leGNsdWRlX2xpc3QsIG9wdGFyZyk7CisgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIEFSR1NfT1BUX0FERF9JR05PUkVfUkVDT01NRU5EUzoKKysgICAgICAgICAgICBzdHJfbGlzdF9hcHBlbmQoJm9wa2dfY29uZmlnLT5pZ25vcmVfcmVjb21tZW5kc19saXN0LCBvcHRhcmcpOworKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgY2FzZSBBUkdTX09QVF9TSVpFOgorICAgICAgICAgICAgIG9wa2dfY29uZmlnLT5zaXplID0gMTsKKyAgICAgICAgICAgICBicmVhazsKK0BAIC0zNDMsNiArMzQ4LDcgQEAgc3RhdGljIHZvaWQgdXNhZ2UoKQorICAgICBwcmludGYoIlx0LS1hZGQtZGVzdCA8bmFtZT46PHBhdGg+ICAgICAgICBSZWdpc3RlciBkZXN0aW5hdGlvbiB3aXRoIGdpdmVuIHBhdGhcbiIpOworICAgICBwcmludGYoIlx0LS1hZGQtYXJjaCA8YXJjaD46PHByaW8+ICAgICAgICBSZWdpc3RlciBhcmNoaXRlY3R1cmUgd2l0aCBnaXZlbiBwcmlvcml0eVxuIik7CisgICAgIHByaW50ZigiXHQtLWFkZC1leGNsdWRlIDxuYW1lPiAgICAgICAgICAgIFJlZ2lzdGVyIHBhY2thZ2UgdG8gYmUgZXhjbHVkZWQgZnJvbSBpbnN0YWxsXG4iKTsKKysgICAgcHJpbnRmKCJcdC0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzIDxuYW1lPiAgUmVnaXN0ZXIgcGFja2FnZSB0byBiZSBpZ25vcmVkIGFzIGEgcmVjb21lbmRlZVxuIik7CisgICAgIHByaW50ZigiXHQtLXByZWZlci1hcmNoLXRvLXZlcnNpb24gICAgICAgIFVzZSB0aGUgYXJjaGl0ZWN0dXJlIHByaW9yaXR5IHBhY2thZ2UgcmF0aGVyXG4iKTsKKyAgICAgcHJpbnRmKCJcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhbiB0aGUgaGlnaGVyIHZlcnNpb24gb25lIGlmIG1vcmVcbiIpOworICAgICBwcmludGYoIlx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIG9uZSBjYW5kaWRhdGUgaXMgZm91bmQuXG4iKTsKK2RpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZSBiL3Rlc3RzL01ha2VmaWxlCitpbmRleCA4ZTViZTA4Li43OTk4MTZkIDEwMDY0NAorLS0tIGEvdGVzdHMvTWFrZWZpbGUKKysrKyBiL3Rlc3RzL01ha2VmaWxlCitAQCAtNDIsNiArNDIsNyBAQCBSRUdSRVNTSU9OX1RFU1RTIDo9IGNvcmUvMDFfaW5zdGFsbC5weSBcCisgCQkgICAgY29yZS80MF9hcmNoLnB5IFwKKyAJCSAgICBjb3JlLzQxX2luZm9fZmllbGRzLnB5IFwKKyAJCSAgICBjb3JlLzQyX2luZm9fZGVzY3JpcHRpb24ucHkgXAorKwkJICAgIGNvcmUvNDNfYWRkX2lnbm9yZV9yZWNvbW1lbmRzLnB5IFwKKyAJCSAgICByZWdyZXNzL2lzc3VlMjYucHkgXAorIAkJICAgIHJlZ3Jlc3MvaXNzdWUzMS5weSBcCisgCQkgICAgcmVncmVzcy9pc3N1ZTMyLnB5IFwKK2RpZmYgLS1naXQgYS90ZXN0cy9jb3JlLzQzX2FkZF9pZ25vcmVfcmVjb21tZW5kcy5weSBiL3Rlc3RzL2NvcmUvNDNfYWRkX2lnbm9yZV9yZWNvbW1lbmRzLnB5CituZXcgZmlsZSBtb2RlIDEwMDc1NQoraW5kZXggMDAwMDAwMC4uN2RhMDA5NgorLS0tIC9kZXYvbnVsbAorKysrIGIvdGVzdHMvY29yZS80M19hZGRfaWdub3JlX3JlY29tbWVuZHMucHkKK0BAIC0wLDAgKzEsNjIgQEAKKysjISAvdXNyL2Jpbi9lbnYgcHl0aG9uMworKyMKKysjIENyZWF0ZSBwYWNrYWdlICdhJyAoMS4wKSB3aGljaCBSZWNvbW1lbmRzICdjJy4KKysjIEluc3RhbGwgJ2EnIHdpdGggLS1hZGQtaWdub3JlLXJlY29tbWVuZHMgJ2MnLgorKyMgQ2hlY2sgdGhhdCBvbmx5ICdhJyAoMS4wKSBpcyBpbnN0YWxsZWQuCisrIyBDcmVhdGUgcGFja2FnZSAnYicgd2hpY2ggRGVwZW5kcyBvbiAnYycuCisrIyBJbnN0YWxsICdhJyAmICdiJywgd2l0aCAtLWFkZC1pZ25vcmUtcmVjb21tZW5kcyAnYycuCisrIyBWZXJpZnkgdGhhdCAnYScsJ2InICYgJ2MnIGFyZSBpbnN0YWxsZWQuCisrIyBVbmluc3RhbGwgJ2InICYgJ2MnLgorKyMgQ3JlYXRlIHBhY2thZ2UgJ2EnICgyLjApLCB3aGljaCBSZWNvbW1lbmRzICdjJy4KKysjIFVwZ3JhZGUgJ2EnIHdpdGggLS1hZGQtaWdub3JlLXJlY29tbWVuZHMgJ2MnCisrIyBWZXJpZnkgdGhhdCBvbmx5ICdhJyAoMi4wKSBpcyBpbnN0YWxsZWQKKysjCisrCisraW1wb3J0IG9zCisraW1wb3J0IG9waywgY2ZnLCBvcGtnY2wKKysKKytvcGsucmVncmVzc19pbml0KCkKKytvID0gb3BrLk9wa0dyb3VwKCkKKysKKytvLmFkZChQYWNrYWdlPSdhJywgUmVjb21tZW5kcz0nYycsIFZlcnNpb249JzEuMCcpCisrby5hZGQoUGFja2FnZT0nYicsIERlcGVuZHM9J2MnKQorK28uYWRkKFBhY2thZ2U9J2MnKQorK28ud3JpdGVfb3BrKCkKKytvLndyaXRlX2xpc3QoKQorKworK29wa2djbC51cGRhdGUoKQorKworK29wa2djbC5pbnN0YWxsKCdhJywgJy0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzIGMnKQorKworK2lmIG5vdCBvcGtnY2wuaXNfaW5zdGFsbGVkKCdhJyk6CisrCW9way5mYWlsKCJQYWNrYWdlICdhJyBpbnN0YWxsZWQgYnV0IHJlcG9ydHMgYXMgbm90IGluc3RhbGxlZC4iKQorKworK2lmIG9wa2djbC5pc19pbnN0YWxsZWQoJ2MnKToKKysJb3BrLnhmYWlsKCJbbGlic29sdjwwLjcuM10gUGFja2FnZSAnYycgc2hvdWxkIG5vdCBoYXZlIGJlZW4gaW5zdGFsbGVkIHNpbmNlIGl0IHdhcyBpbiAtLWFkZC1pZ25vcmUtcmVjb21tZW5kcy4iKQorKworK29wa2djbC5yZW1vdmUoJ2EnKQorK29wa2djbC5pbnN0YWxsKCdhIGInLCAnLS1hZGQtaWdub3JlLXJlY29tbWVuZHMgYycpCisrCisraWYgbm90IG9wa2djbC5pc19pbnN0YWxsZWQoJ2EnKToKKysJb3BrLmZhaWwoIlBhY2thZ2UgJ2EnIGluc3RhbGxlZCBidXQgcmVwb3J0cyBhcyBub3QgaW5zdGFsbGVkLiIpCisrCisraWYgbm90IG9wa2djbC5pc19pbnN0YWxsZWQoJ2InKToKKysJb3BrLmZhaWwoIlBhY2thZ2UgJ2InIGluc3RhbGxlZCBidXQgcmVwb3J0cyBhcyBub3QgaW5zdGFsbGVkLiIpCisrCisraWYgbm90IG9wa2djbC5pc19pbnN0YWxsZWQoJ2MnKToKKysJb3BrLmZhaWwoIlBhY2thZ2UgJ2MnIHNob3VsZCBoYXZlIGJlZW4gaW5zdGFsbGVkIHNpbmNlICdiJyBkZXBlbmRzIG9uIGl0LiIpCisrCisrb3BrZ2NsLnJlbW92ZSgnYiBjJywgJy0tZm9yY2UtZGVwZW5kcycpCisrby5hZGQoUGFja2FnZT0nYScsIFJlY29tbWVuZHM9J2MnLCBWZXJzaW9uPScyLjAnKQorK28ud3JpdGVfb3BrKCkKKytvLndyaXRlX2xpc3QoKQorKworK29wa2djbC51cGRhdGUoKQorKworK29wa2djbC51cGdyYWRlKCdhJywgJy0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzIGMnKQorKworK2lmIG5vdCBvcGtnY2wuaXNfaW5zdGFsbGVkKCdhJywgJzIuMCcpOgorKwlvcGsuZmFpbCgiUGFja2FnZSAnYSAoMi4wKScgaW5zdGFsbGVkIGJ1dCByZXBvcnRzIGFzIG5vdCBpbnN0YWxsZWQuIikKKysKKytpZiBvcGtnY2wuaXNfaW5zdGFsbGVkKCdjJyk6CisrCW9way5mYWlsKCJQYWNrYWdlICdjJyBzaG91bGQgbm90IGhhdmUgYmVlbiBpbnN0YWxsZWQgc2luY2UgaXQgd2FzIGluIC0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzLiIpCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnL29wa2cvMDAwMS1yZW1vdmVfbWFpbnRhaW5lcl9zY3JpcHRzLXVzZS1zdHJpY3QtbWF0Y2hpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnL29wa2cvMDAwMS1yZW1vdmVfbWFpbnRhaW5lcl9zY3JpcHRzLXVzZS1zdHJpY3QtbWF0Y2hpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjMTYwMjkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy9vcGtnLzAwMDEtcmVtb3ZlX21haW50YWluZXJfc2NyaXB0cy11c2Utc3RyaWN0LW1hdGNoaW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotRnJvbSA1NWM0YWQ2NjZlNzYyODFiZGQwZGI1NWZhNmY0YWIyNzQ0ZmVhN2U0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4KLURhdGU6IFR1ZSwgNCBTZXAgMjAxOCAxODowNjowMCAtMDUwMAotU3ViamVjdDogW1BBVENIXSByZW1vdmVfbWFpbnRhaW5lcl9zY3JpcHRzOiB1c2Ugc3RyaWN0IG1hdGNoaW5nCi0KLVRoZSBmdW5jdGlvbiBpcyB1c2luZyBhIGdsb2IgdG8gc2VsZWN0IHdoaWNoIG1ldGFkYXRhIGZpbGVzIG5lZWRzIHRvIGJlCi1kZWxldGVkIGR1cmluZyBwYWNrYWdlIHJlbW92YWwsIG9uIHRoZSBpbmZvX2Rpci4gSG93ZXZlciwgdGhlIGdsb2IgbWF5Ci1tYXRjaCBtZXRhZGF0YSBmaWxlcyBmcm9tIHBhY2thZ2VzIHdpdGggc2ltaWxhciBuYW1lcy4gRm9yIGV4YW1wbGUsCi1kdXJpbmcgcmVtb3ZhbCBvZiBwYWNrYWdlIGdsaWJjLWJpbmFyeS1sb2NhbGVkYXRhLWRlLWF0LCB0aGUgY3VycmVudAotbG9naWMgd2FzIGFsc28gcmVtb3ZpbmcgdGhlIG1ldGFkYXRhIGZvcgotZ2xpYmMtYmluYXJ5LWxvY2FsZWRhdGEtZGUtYXQuaXNvLTg4NTktMS4gQWRkIGNoZWNrIGZvciBhbiBleGFjdCBtYXRjaAotYmVmb3JlIGRlbGV0aW9uLgotCi1GaXhlcyBidWd6aWxsYTogMTI5MDUKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ3JvdXBzLmdvb2dsZS5jb20vZm9ydW0vIyF0b3BpYy9vcGtnLWRldmVsL0ZyNDBZdDBOQm5vXQotU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4KLS0tLQotIGxpYm9wa2cvb3BrZ19yZW1vdmUuYyB8IDE0ICsrKysrKysrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJvcGtnL29wa2dfcmVtb3ZlLmMgYi9saWJvcGtnL29wa2dfcmVtb3ZlLmMKLWluZGV4IDgyMTI1ZmEuLjM5MzY2MjggMTAwNjQ0Ci0tLS0gYS9saWJvcGtnL29wa2dfcmVtb3ZlLmMKLSsrKyBiL2xpYm9wa2cvb3BrZ19yZW1vdmUuYwotQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIHJlbW92ZV9tYWludGFpbmVyX3NjcmlwdHMocGtnX3QgKiBwa2cpCi0gewotICAgICB1bnNpZ25lZCBpbnQgaTsKLSAgICAgaW50IGVycjsKLS0gICAgY2hhciAqZ2xvYnBhdHRlcm47Ci0rICAgIGNoYXIgKmdsb2JwYXR0ZXJuLCAqZmlsZW5hbWUsICpsYXN0ZG90OwotICAgICBnbG9iX3QgZ2xvYmJ1ZjsKLSAKLSAgICAgaWYgKG9wa2dfY29uZmlnLT5ub2FjdGlvbikKLUBAIC0xNTEsOCArMTUxLDE2IEBAIHZvaWQgcmVtb3ZlX21haW50YWluZXJfc2NyaXB0cyhwa2dfdCAqIHBrZykKLSAgICAgICAgIHJldHVybjsKLSAKLSAgICAgZm9yIChpID0gMDsgaSA8IGdsb2JidWYuZ2xfcGF0aGM7IGkrKykgewotLSAgICAgICAgb3BrZ19tc2coSU5GTywgIkRlbGV0aW5nICVzLlxuIiwgZ2xvYmJ1Zi5nbF9wYXRodltpXSk7Ci0tICAgICAgICB1bmxpbmsoZ2xvYmJ1Zi5nbF9wYXRodltpXSk7Ci0rICAgICAgICBmaWxlbmFtZSA9IHhzdHJkdXAoYmFzZW5hbWUoZ2xvYmJ1Zi5nbF9wYXRodltpXSkpOwotKyAgICAgICAgbGFzdGRvdCA9IHN0cnJjaHIoZmlsZW5hbWUsICcuJyk7Ci0rICAgICAgICAqbGFzdGRvdCA9ICdcMCc7Ci0rICAgICAgICAvLyBPbmx5IGRlbGV0ZSBmaWxlcyB0aGF0IG1hdGNoIHRoZSBwYWNrYWdlIG5hbWUgKHRoZSBnbG9iIG1heSBtYXRjaCBmaWxlcwotKyAgICAgICAgLy8gd2l0aCBzaW1pbGFyIG5hbWVzKQotKyAgICAgICAgaWYgKCFzdHJjbXAoZmlsZW5hbWUsIHBrZy0+bmFtZSkpIHsKLSsgICAgICAgICAgICBvcGtnX21zZyhJTkZPLCAiRGVsZXRpbmcgJXMuXG4iLCBnbG9iYnVmLmdsX3BhdGh2W2ldKTsKLSsgICAgICAgICAgICB1bmxpbmsoZ2xvYmJ1Zi5nbF9wYXRodltpXSk7Ci0rICAgICAgICB9Ci0rICAgICAgICBmcmVlKGZpbGVuYW1lKTsKLSAgICAgfQotICAgICBnbG9iZnJlZSgmZ2xvYmJ1Zik7Ci0gfQotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy9vcGtnXzAuMy42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy9vcGtnXzAuMy42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZWJkNThiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2cvb3BrZ18wLjMuNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLVNVTU1BUlkgPSAiT3BlbiBQYWNrYWdlIE1hbmFnZXIiCi1TVU1NQVJZX2xpYm9wa2cgPSAiT3BlbiBQYWNrYWdlIE1hbmFnZXIgbGlicmFyeSIKLVNFQ1RJT04gPSAiYmFzZSIKLUhPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9vcGtnLyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL29wa2cvaXNzdWVzL2xpc3QiCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9vcGtnLmM7YmVnaW5saW5lPTI7ZW5kbGluZT0yMTttZDU9OTA0MzVhNTE5YzZlYTY5ZWYyMmU0YTg4YmNjNTJmYTAiCi0KLURFUEVORFMgPSAibGliYXJjaGl2ZSIKLQotUEUgPSAiMSIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvcmVsZWFzZXMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vb3BrZy5jb25mIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtb3BrZ19jb25mLWNyZWF0ZS1vcGtnLmxvY2staW4tcnVuLWluc3RlYWQtb2YtdmFyLXJ1bi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXJlbW92ZV9tYWludGFpbmVyX3NjcmlwdHMtdXNlLXN0cmljdC1tYXRjaGluZy5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI3OWUwNDMwN2Y2ZjU0ZGI0MzFjMjUxNzcyZDdkOTg3YyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmNjA3ZjBlNjFiZThjZjhhM2JiZDBkMmRjY2Q5ZWM5ZTliNmMyMWRkNDMwN2I2NzFjNjAwZDZlZWFmODRkMzBiIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZAotCi10YXJnZXRfbG9jYWxzdGF0ZWRpciA6PSAiJHtsb2NhbHN0YXRlZGlyfSIKLU9QS0dMSUJESVIgPSAiJHt0YXJnZXRfbG9jYWxzdGF0ZWRpcn0vbGliIgotCi1QQUNLQUdFQ09ORklHID8/PSAibGlic29sdiIKLQotUEFDS0FHRUNPTkZJR1tncGddID0gIi0tZW5hYmxlLWdwZywtLWRpc2FibGUtZ3BnLGdwZ21lIGxpYmdwZy1lcnJvcixnbnVwZyIKLVBBQ0tBR0VDT05GSUdbY3VybF0gPSAiLS1lbmFibGUtY3VybCwtLWRpc2FibGUtY3VybCxjdXJsIgotUEFDS0FHRUNPTkZJR1tzc2wtY3VybF0gPSAiLS1lbmFibGUtc3NsLWN1cmwsLS1kaXNhYmxlLXNzbC1jdXJsLGN1cmwgb3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtb3BlbnNzbCwtLWRpc2FibGUtb3BlbnNzbCxvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1tzaGEyNTZdID0gIi0tZW5hYmxlLXNoYTI1NiwtLWRpc2FibGUtc2hhMjU2IgotUEFDS0FHRUNPTkZJR1twYXRoZmluZGVyXSA9ICItLWVuYWJsZS1wYXRoZmluZGVyLC0tZGlzYWJsZS1wYXRoZmluZGVyLHBhdGhmaW5kZXIiCi1QQUNLQUdFQ09ORklHW2xpYnNvbHZdID0gIi0td2l0aC1saWJzb2x2LC0td2l0aG91dC1saWJzb2x2LGxpYnNvbHYiCi0KLUVYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS1sb2NhbHN0YXRlZGlyPS8ke0Bvcy5wYXRoLnJlbHBhdGgoJyR7bG9jYWxzdGF0ZWRpcn0nLCAnJHtTVEFHSU5HX0RJUl9OQVRJVkV9Jyl9IC0tc3lzY29uZmRpcj0vJHtAb3MucGF0aC5yZWxwYXRoKCcke3N5c2NvbmZkaXJ9JywgJyR7U1RBR0lOR19ESVJfTkFUSVZFfScpfSIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vb3BrZwotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L29wa2cuY29uZiAke0R9JHtzeXNjb25mZGlyfS9vcGtnL29wa2cuY29uZgotCWVjaG8gIm9wdGlvbiBsaXN0c19kaXIgJHtPUEtHTElCRElSfS9vcGtnL2xpc3RzIiA+PiR7RH0ke3N5c2NvbmZkaXJ9L29wa2cvb3BrZy5jb25mCi0KLQkjIFdlIG5lZWQgdG8gY3JlYXRlIHRoZSBsb2NrIGRpcmVjdG9yeQotCWluc3RhbGwgLWQgJHtEfSR7T1BLR0xJQkRJUn0vb3BrZwotfQotCi1SREVQRU5EU18ke1BOfSA9ICIke1ZJUlRVQUwtUlVOVElNRV91cGRhdGUtYWx0ZXJuYXRpdmVzfSBvcGtnLWFyY2gtY29uZmlnIGxpYmFyY2hpdmUiCi1SREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgotUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlc2RrID0gIiIKLVJSRVBMQUNFU18ke1BOfSA9ICJvcGtnLW5vZ3BnIG9wa2ctY29sbGF0ZXJhbCIKLVJDT05GTElDVFNfJHtQTn0gPSAib3BrZy1jb2xsYXRlcmFsIgotUlBST1ZJREVTXyR7UE59ID0gIm9wa2ctY29sbGF0ZXJhbCIKLQotUEFDS0FHRVMgPSsgImxpYm9wa2ciCi0KLUZJTEVTX2xpYm9wa2cgPSAiJHtsaWJkaXJ9Lyouc28uKiAke09QS0dMSUJESVJ9L29wa2cvIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLUNPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L29wa2cvb3BrZy5jb25mIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy9vcGtnXzAuNC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy9vcGtnXzAuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyMzI5ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnL29wa2dfMC40LjAuYmIKQEAgLTAsMCArMSw2MiBAQAorU1VNTUFSWSA9ICJPcGVuIFBhY2thZ2UgTWFuYWdlciIKK1NVTU1BUllfbGlib3BrZyA9ICJPcGVuIFBhY2thZ2UgTWFuYWdlciBsaWJyYXJ5IgorU0VDVElPTiA9ICJiYXNlIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL29wa2cvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3Avb3BrZy9pc3N1ZXMvbGlzdCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL29wa2cuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTIxO21kNT05MDQzNWE1MTljNmVhNjllZjIyZTRhODhiY2M1MmZhMCIKKworREVQRU5EUyA9ICJsaWJhcmNoaXZlIgorCitQRSA9ICIxIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9yZWxlYXNlcy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9vcGtnLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1vcGtnX2NvbmYtY3JlYXRlLW9wa2cubG9jay1pbi1ydW4taW5zdGVhZC1vZi12YXItcnVuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbGlib3BrZy1hZGQtYWRkLWlnbm9yZS1yZWNvbW1lbmRzLW9wdGlvbi5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZTUxZDk1ZmVlNTk5YmI0ZGNlMDg0NTM1MjkxNThmNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNmMwMDUxNWQ4YTJhZDhmNjc0MmE4ZTczODMwMzE1ZDE5ODNlZDA0NTljYmE3N2M0ZDY1NmNmYzllN2ZlNmZlIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZAorCit0YXJnZXRfbG9jYWxzdGF0ZWRpciA6PSAiJHtsb2NhbHN0YXRlZGlyfSIKK09QS0dMSUJESVIgPSAiJHt0YXJnZXRfbG9jYWxzdGF0ZWRpcn0vbGliIgorCitQQUNLQUdFQ09ORklHID8/PSAibGlic29sdiIKKworUEFDS0FHRUNPTkZJR1tncGddID0gIi0tZW5hYmxlLWdwZywtLWRpc2FibGUtZ3BnLGdwZ21lIGxpYmdwZy1lcnJvcixnbnVwZyIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLS1lbmFibGUtY3VybCwtLWRpc2FibGUtY3VybCxjdXJsIgorUEFDS0FHRUNPTkZJR1tzc2wtY3VybF0gPSAiLS1lbmFibGUtc3NsLWN1cmwsLS1kaXNhYmxlLXNzbC1jdXJsLGN1cmwgb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtb3BlbnNzbCwtLWRpc2FibGUtb3BlbnNzbCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tzaGEyNTZdID0gIi0tZW5hYmxlLXNoYTI1NiwtLWRpc2FibGUtc2hhMjU2IgorUEFDS0FHRUNPTkZJR1twYXRoZmluZGVyXSA9ICItLWVuYWJsZS1wYXRoZmluZGVyLC0tZGlzYWJsZS1wYXRoZmluZGVyLHBhdGhmaW5kZXIiCitQQUNLQUdFQ09ORklHW2xpYnNvbHZdID0gIi0td2l0aC1saWJzb2x2LC0td2l0aG91dC1saWJzb2x2LGxpYnNvbHYiCisKK0VYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS1sb2NhbHN0YXRlZGlyPS8ke0Bvcy5wYXRoLnJlbHBhdGgoJyR7bG9jYWxzdGF0ZWRpcn0nLCAnJHtTVEFHSU5HX0RJUl9OQVRJVkV9Jyl9IC0tc3lzY29uZmRpcj0vJHtAb3MucGF0aC5yZWxwYXRoKCcke3N5c2NvbmZkaXJ9JywgJyR7U1RBR0lOR19ESVJfTkFUSVZFfScpfSIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vb3BrZworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L29wa2cuY29uZiAke0R9JHtzeXNjb25mZGlyfS9vcGtnL29wa2cuY29uZgorCWVjaG8gIm9wdGlvbiBsaXN0c19kaXIgJHtPUEtHTElCRElSfS9vcGtnL2xpc3RzIiA+PiR7RH0ke3N5c2NvbmZkaXJ9L29wa2cvb3BrZy5jb25mCisKKwkjIFdlIG5lZWQgdG8gY3JlYXRlIHRoZSBsb2NrIGRpcmVjdG9yeQorCWluc3RhbGwgLWQgJHtEfSR7T1BLR0xJQkRJUn0vb3BrZworfQorCitSREVQRU5EU18ke1BOfSA9ICIke1ZJUlRVQUwtUlVOVElNRV91cGRhdGUtYWx0ZXJuYXRpdmVzfSBvcGtnLWFyY2gtY29uZmlnIGxpYmFyY2hpdmUiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlc2RrID0gIiIKK1JSRVBMQUNFU18ke1BOfSA9ICJvcGtnLW5vZ3BnIG9wa2ctY29sbGF0ZXJhbCIKK1JDT05GTElDVFNfJHtQTn0gPSAib3BrZy1jb2xsYXRlcmFsIgorUlBST1ZJREVTXyR7UE59ID0gIm9wa2ctY29sbGF0ZXJhbCIKKworUEFDS0FHRVMgPSsgImxpYm9wa2ciCisKK0ZJTEVTX2xpYm9wa2cgPSAiJHtsaWJkaXJ9Lyouc28uKiAke09QS0dMSUJESVJ9L29wa2cvIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L29wa2cvb3BrZy5jb25mIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3JjL29yY18wLjQuMjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcmMvb3JjXzAuNC4yOC5iYgppbmRleCA0MTVkZTY0Li4wM2NkZGFkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcmMvb3JjXzAuNC4yOC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcmMvb3JjXzAuNC4yOC5iYgpAQCAtMTksNyArMTksNyBAQAogCiBweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CiAgICAgbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfScpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCAnXmxpYiguKilcLnNvXC4qJywgJ2xpYiVzJywgJ09SQyAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsIHInXmxpYiguKilcLnNvXC4qJywgJ2xpYiVzJywgJ09SQyAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKIH0KIAogZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLUV4dFV0aWxzLU1ha2VNYWtlci1hZGQtTERGTEFHUy13aGVuLWxpbmtpbmctYmluYXJ5LW0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLUV4dFV0aWxzLU1ha2VNYWtlci1hZGQtTERGTEFHUy13aGVuLWxpbmtpbmctYmluYXJ5LW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Q1YzA3OQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtRXh0VXRpbHMtTWFrZU1ha2VyLWFkZC1MREZMQUdTLXdoZW4tbGlua2luZy1iaW5hcnktbS5wYXRjaApAQCAtMCwwICsxLDI2IEBACitGcm9tIDJmNzRhODk5NDc0ZjQyOGE0YTUzNjhhOTRhY2NmODAxYzVmOTdhZTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgNCBKdW4gMjAxOCAxODozMzo1MCArMDMwMAorU3ViamVjdDogW1BBVENIXSBFeHRVdGlscy1NYWtlTWFrZXI6IGFkZCAkKExERkxBR1MpIHdoZW4gbGlua2luZyBiaW5hcnkKKyBtb2R1bGVzCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKKy0tLQorIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0gYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQoraW5kZXggZmU1M2JlMS4uMjQ5YzA0OCAxMDA2NDQKKy0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCisrKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQorQEAgLTEwNTAsNyArMTA1MCw3IEBAIHN1YiB4c19tYWtlX2R5bmFtaWNfbGliIHsKKyAgICAgfQorIAorICAgICBwdXNoIEBtLCBzcHJpbnRmIDw8J01BS0UnLCAkbGRfcnVuX3BhdGhfc2hlbGwsICRsZHJ1biwgJGRsc3ltc19hcmcsICRsZGZyb20sICRzZWxmLT54c19vYmpfb3B0KCckQCcpLCAkbGlicywgJGV4cG9ydGxpc3Q7CistCSVzJChMRCkgJXMgJChMRERMRkxBR1MpICVzICVzICQoT1RIRVJMREZMQUdTKSAlcyAkKE1ZRVhUTElCKSBcCisrCSVzJChMRCkgJXMgJChMRERMRkxBR1MpICVzICVzICQoTERGTEFHUykgJChPVEhFUkxERkxBR1MpICVzICQoTVlFWFRMSUIpIFwKKyAJICAkKFBFUkxfQVJDSElWRSkgJXMgJChQRVJMX0FSQ0hJVkVfQUZURVIpICVzIFwKKyAJICAkKElOU1RfRFlOQU1JQ19GSVgpCisgCSQoQ0hNT0QpICQoUEVSTV9SV1gpICRACmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLVNvbWVob3ctdGhpcy1tb2R1bGUtYnJlYWtzLXRocm91Z2gtdGhlLXBlcmwtd3JhcHBlci0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLVNvbWVob3ctdGhpcy1tb2R1bGUtYnJlYWtzLXRocm91Z2gtdGhlLXBlcmwtd3JhcHBlci0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQ4ZWMxZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtU29tZWhvdy10aGlzLW1vZHVsZS1icmVha3MtdGhyb3VnaC10aGUtcGVybC13cmFwcGVyLS5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIGU4ZTA5NWI5YzcxYzU4ZjgxOTdkNjMxNTM1OTQ0NmI2YjA4NGNiMmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNSBKdW4gMjAxOCAxNDo1ODo0MiArMDMwMAorU3ViamVjdDogW1BBVENIXSBTb21laG93IHRoaXMgbW9kdWxlIGJyZWFrcyB0aHJvdWdoIHRoZSBwZXJsIHdyYXBwZXIgYW5kCisgZGVjbGFyZXMgcGVybCBiaW5hcnkgdG8gYmUgJ3BlcmwucmVhbCcuIFRoaXMgcGF0Y2ggZm9yY2VzIGl0IGJhY2sgdG8gcGVybC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KK2luZGV4IDk0OGM0NzYuLmY1Mzc1MjYgMTAwNjQ0CistLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQorKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KK0BAIC0xMTEwLDYgKzExMTAsOSBAQCBXQVJOSU5HCisgICAgIH0KKyAKKyAgICAgZm9yZWFjaCBteSAkbmFtZSAoQCRuYW1lcyl7CisrICAgICAgICAjIEdldHRpbmcgTWFrZU1ha2VyLnBtIHVzZSBwZXJsIHdyYXBwZXIgaW5zdGVhZCBvZiAncGVybC5yZWFsJyBkaXJlY3RseQorKyAgICAgICAgJG5hbWUgPX4gcy9wZXJsXC5yZWFsL3BlcmwvIGlmICgkbmFtZSA9fiAvcGVybFwucmVhbC8pOworKworICAgICAgICAgbXkgKCRhYnMsICR1c2VfZGlyKTsKKyAgICAgICAgIGlmICgkc2VsZi0+ZmlsZV9uYW1lX2lzX2Fic29sdXRlKCRuYW1lKSkgeyAgICAgIyAvZm9vL2JhcgorICAgICAgICAgICAgICRhYnMgPSAkbmFtZTsKK0BAIC0yMDA2LDYgKzIwMDksNyBAQCBzdWIgaW5pdF9QRVJMIHsKKyAKKyAgICAgJHNlbGYtPntQRVJMfSB8fD0KKyAgICAgICAgICRzZWxmLT5maW5kX3BlcmwoNS4wLCBcQHBlcmxzLCBcQGRlZnBhdGgsICRWZXJib3NlICk7CisrICAgIAorIAorICAgICBteSAkcGVybCA9ICRzZWxmLT57UEVSTH07CisgICAgICRwZXJsID1+IHMvXiIvLzsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtY29uZmlndXJlX3BhdGguc2gtZG8tbm90LWhhcmRjb2RlLXByZWZpeC1saWItYXMtbGlici5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtY29uZmlndXJlX3BhdGguc2gtZG8tbm90LWhhcmRjb2RlLXByZWZpeC1saWItYXMtbGlici5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYjBmYzQ1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvMDAwMS1jb25maWd1cmVfcGF0aC5zaC1kby1ub3QtaGFyZGNvZGUtcHJlZml4LWxpYi1hcy1saWJyLnBhdGNoCkBAIC0wLDAgKzEsNjkgQEAKK0Zyb20gMTljMTk4N2I0NTU5OThkMjk1OWE1ZmRmM2QxZWQ5MTFkMzVlNzBmMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyIEphbiAyMDE5IDE3OjU1OjM1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZV9wYXRoLnNoOiBkbyBub3QgaGFyZGNvZGUgJHByZWZpeC9saWIgYXMgbGlicmFyeQorIHBhdGgKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworLS0tCisgY25mL2NvbmZpZ3VyZV9hcmdzLnNoIHwgIDIgKy0KKyBjbmYvY29uZmlndXJlX3BhdGguc2ggfCAxMSArKysrKystLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY25mL2NvbmZpZ3VyZV9hcmdzLnNoIGIvY25mL2NvbmZpZ3VyZV9hcmdzLnNoCitpbmRleCAyOWNhNGY1Li4zMjk3ZmIzIDEwMDY0NAorLS0tIGEvY25mL2NvbmZpZ3VyZV9hcmdzLnNoCisrKysgYi9jbmYvY29uZmlndXJlX2FyZ3Muc2gKK0BAIC0xNTUsNyArMTU1LDcgQEAgd2hpbGUgWyAkaSAtbGUgJCMgLW8gLW4gIiRuIiBdOyBkbworIAkJaGVscCkgbW9kZT0iaGVscCIgOzsKKyAJCXJlZ2VufHJlZ2VuZXJhdGUpIG1vZGU9InJlZ2VuIiA7OworIAkJa2VlcGxvZykgZGVmdXNlciAiJGEiIDEgOzsKKy0JCXByZWZpeHxodG1sWzEzXWRpcnxsaWJzZGlyKQlkZWZ1c2VyICRhICIkdiIgOzsKKysJCXByZWZpeHxodG1sWzEzXWRpcnxsaWJzZGlyfGxpYmRpcikJZGVmdXNlciAkYSAiJHYiIDs7CisgCQltYW5bMTNdZGlyfG90aGVybGlic2RpcikJZGVmdXNlciAkYSAiJHYiIDs7CisgCQlzaXRlcHJlZml4fHNpdGVodG1sWzEzXWRpcikJZGVmdXNlciAkYSAiJHYiIDs7CisgCQlzaXRlbWFuWzEzXWRpcnx2ZW5kb3JtYW5bMTNdZGlyKWRlZnVzZXIgJGEgIiR2IiA7OworZGlmZiAtLWdpdCBhL2NuZi9jb25maWd1cmVfcGF0aC5zaCBiL2NuZi9jb25maWd1cmVfcGF0aC5zaAoraW5kZXggZmU3ZWFjNy4uYmNiYThiOCAxMDA2NDQKKy0tLSBhL2NuZi9jb25maWd1cmVfcGF0aC5zaAorKysrIGIvY25mL2NvbmZpZ3VyZV9wYXRoLnNoCitAQCAtMzAsNiArMzAsNyBAQCBkZWZpbnN0KCkgeworIAlkZWZpbmUgIiQxIiAiJGluc3RhbGxwYXRoJHYiCisgfQorIAorK2RlZmluZSBsaWJkaXIgIiRwcmVmaXgvbGliIgorIGRlZmluZSBzaGFyZWRpciAiJHByZWZpeC9zaGFyZSIKKyBkZWZpbmUgaHRtbDFkaXIgIiRzaGFyZWRpci9kb2MvJHBlcmxuYW1lL2h0bWwiCisgZGVmaW5lIGh0bWwzZGlyICIkc2hhcmVkaXIvZG9jLyRwZXJsbmFtZS9odG1sIgorQEAgLTM4LDE2ICszOSwxNiBAQCBkZWZpbmUgbWFuMWV4dCAiMSIKKyBkZWZpbmUgbWFuM2RpciAiJHNoYXJlZGlyL21hbi9tYW4zIgorIGRlZmluZSBtYW4zZXh0ICIzIgorIGRlZmluZSBiaW4gIiRwcmVmaXgvYmluIgorLWRlZmluZSBsaWIgIiRwcmVmaXgvbGliIgorK2RlZmluZSBsaWIgIiRsaWJkaXIiCisgZGVmaW5lIHNjcmlwdGRpciAiJHByZWZpeC9iaW4iCisgZGVmaW5lIGxpYnNkaXJzICcgJworLWRlZnJlbCBwcml2bGliICIkcHJlZml4L2xpYi8kcGFja2FnZS8kdmVyc2lvbiIKKy1kZWZyZWwgYXJjaGxpYiAiJHByZWZpeC9saWIvJHBhY2thZ2UvJHZlcnNpb24vJGFyY2huYW1lIgorK2RlZnJlbCBwcml2bGliICIkbGliZGlyLyRwYWNrYWdlLyR2ZXJzaW9uIgorK2RlZnJlbCBhcmNobGliICIkbGliZGlyLyRwYWNrYWdlLyR2ZXJzaW9uLyRhcmNobmFtZSIKKyBkZWZpbmUgcGVybHBhdGggIiRwcmVmaXgvYmluLyRwZXJsbmFtZSIKKyBkZWZpbmUgZF9hcmNobGliICdkZWZpbmUnCisgCisgZGVmaW5lIHNpdGViaW4JIiRwcmVmaXgvYmluIgorLWRlZnJlbCBzaXRlbGliX3N0ZW0gIiRwcmVmaXgvbGliLyRwYWNrYWdlL3NpdGVfcGVybCIKKytkZWZyZWwgc2l0ZWxpYl9zdGVtICIkbGliZGlyLyRwYWNrYWdlL3NpdGVfcGVybCIKKyBkZWZpbmUgc2l0ZWxpYiAiJHNpdGVsaWJfc3RlbS8kdmVyc2lvbiIKKyBkZWZpbmUgc2l0ZWFyY2ggIiRzaXRlbGliX3N0ZW0vJHZlcnNpb24vJGFyY2huYW1lIgorIGRlZmluZSBzaXRlcHJlZml4ICIkcHJlZml4IgorQEAgLTE0NSw3ICsxNDYsNyBAQCB2ZW5kb3J0ZXN0KCkgeworIH0KKyAKKyB2ZW5kb3JwYXRoIHZlbmRvcmJpbiAiJHZlbmRvcnByZWZpeC9iaW4iCistdmVuZG9ycGF0aCB2ZW5kb3JsaWJfc3RlbSAiJHZlbmRvcnByZWZpeC9saWIvJHBhY2thZ2UvdmVuZG9yX3BlcmwiCisrdmVuZG9ycGF0aCB2ZW5kb3JsaWJfc3RlbSAiJGxpYmRpci8kcGFja2FnZS92ZW5kb3JfcGVybCIKKyB2ZW5kb3JwYXRoIHZlbmRvcmxpYiAiJHZlbmRvcmxpYl9zdGVtLyR2ZXJzaW9uIgorIHZlbmRvcnBhdGggdmVuZG9yYXJjaCAiJHZlbmRvcmxpYl9zdGVtLyR2ZXJzaW9uLyRhcmNobmFtZSIKKyB2ZW5kb3JwYXRoIHZlbmRvcnNjcmlwdCAiJHZlbmRvcnByZWZpeC9iaW4iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLWNvbmZpZ3VyZV90b29sLnNoLWRvLW5vdC1xdW90ZS10aGUtYXJndW1lbnQtdG8tY29tbWEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLWNvbmZpZ3VyZV90b29sLnNoLWRvLW5vdC1xdW90ZS10aGUtYXJndW1lbnQtdG8tY29tbWEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGFhZWFhMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtY29uZmlndXJlX3Rvb2wuc2gtZG8tbm90LXF1b3RlLXRoZS1hcmd1bWVudC10by1jb21tYS5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIGE2NjgxMWM0ODdlY2Y4YmE4NzI0ODc5YzI1M2JiMTBkZmE4MmFlYjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMSBKdW4gMjAxOCAxOTo1NzozMiArMDMwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmVfdG9vbC5zaDogZG8gbm90IHF1b3RlIHRoZSBhcmd1bWVudCB0byAnY29tbWFuZCcKKworQXMgaXQgc2VlbXMgdG8gYnJlYWsgdGhpbmdzIGlmIHRoZSBhcmd1bWVudCBoYXMgc3BhY2VzIGFuZCBhcmd1bWVudHMgaW4gaXQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBjbmYvY29uZmlndXJlX3Rvb2wuc2ggfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jbmYvY29uZmlndXJlX3Rvb2wuc2ggYi9jbmYvY29uZmlndXJlX3Rvb2wuc2gKK2luZGV4IDMyMjAxYzAuLjQ2MWJjNjggMTAwNjQ0CistLS0gYS9jbmYvY29uZmlndXJlX3Rvb2wuc2gKKysrKyBiL2NuZi9jb25maWd1cmVfdG9vbC5zaAorQEAgLTIsNyArMiw3IEBACisgCisgdHJ5cHJvZygpIHsKKyAJbG9nICJ0cnlpbmcgJDE9JDIiCistCWlmIGNvbW1hbmQgLXYgIiQyIiAxPi9kZXYvbnVsbCAyPi9kZXYvbnVsbDsgdGhlbgorKwlpZiBjb21tYW5kIC12ICQyIDE+L2Rldi9udWxsIDI+L2Rldi9udWxsOyB0aGVuCisgCQlkZWZpbmUgIiQxIiAiJDIiCisgCQlyZXN1bHQgIiQyIgorIAkJcmV0dXJuIDAKKy0tIAorMi4xNy4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtcGVybC1jcm9zcy1hZGQtTERGTEFHUy13aGVuLWxpbmtpbmctbGlicGVybC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtcGVybC1jcm9zcy1hZGQtTERGTEFHUy13aGVuLWxpbmtpbmctbGlicGVybC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzk4NTAzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvMDAwMS1wZXJsLWNyb3NzLWFkZC1MREZMQUdTLXdoZW4tbGlua2luZy1saWJwZXJsLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gZjgyNGNiZWM5YWM4ZjExM2E0YWUzNWQ1N2JkMTg2MjVkNDE1YTcxYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNyBOb3YgMjAxOCAxNTozNzo0MCArMDEwMAorU3ViamVjdDogW1BBVENIXSBwZXJsLWNyb3NzOiBhZGQgTERGTEFHUyB3aGVuIGxpbmtpbmcgbGlicGVybAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgTWFrZWZpbGUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCAwMTY0NGNkLi5iZTgxMWE3IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMTgwLDcgKzE4MCw3IEBAIGVuZGlmCisgCisgaWZlcSAoJCh1c2VzaHJwbGliKSx0cnVlKQorICQoTElCUEVSTCk6CistCSQoQ0MpICQoTERETEZMQUdTKSAtbyAkQCAkKGZpbHRlciAlJG8sJF4pICQoTElCUykKKysJJChDQykgJChMREZMQUdTKSAkKExERExGTEFHUykgLW8gJEAgJChmaWx0ZXIgJSRvLCReKSAkKExJQlMpCisgZWxzZQorICQoTElCUEVSTCk6CisgCSQoQVIpIGNydSAkQCAkKGZpbHRlciAlJG8sJF4pCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2Vycm5vX3Zlci5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvZXJybm9fdmVyLmRpZmYKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZXJybm9fdmVyLmRpZmYKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzL2Vycm5vX3Zlci5kaWZmCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9uYXRpdmUtcGVybGluYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzL25hdGl2ZS1wZXJsaW5jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyZTFhZWYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9uYXRpdmUtcGVybGluYy5wYXRjaApAQCAtMCwwICsxLDI3IEBACitVcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworSW5kZXg6IHBlcmwtNS44LjgvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwZXJsLTUuMTIuMy5vcmlnL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCTIwMDgtMTAtMzEgMjI6MDE6MzUuMDAwMDAwMDAwICswMDAwCisrKysgcGVybC01LjEyLjMvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0JMjAwOC0xMC0zMSAyMjowMTozNS4wMDAwMDAwMDAgKzAwMDAKK0BAIC0xNTk3LDYgKzE1OTcsMTkgQEAKKyAJJHNlbGYtPntQRVJMX0xJQn0gICAgIHx8PSAkQ29uZmlne3ByaXZsaWJleHB9OworIAkkc2VsZi0+e1BFUkxfQVJDSExJQn0gfHw9ICRDb25maWd7YXJjaGxpYmV4cH07CisgCSRzZWxmLT57UEVSTF9JTkN9ICAgICA9ICRzZWxmLT5jYXRkaXIoIiRzZWxmLT57UEVSTF9BUkNITElCfSIsIkNPUkUiKTsgIyB3aWxkIGd1ZXNzIGZvciBub3cKKysJIyBDaGVjayBmb3IgZW52aXJvbm1lbnQgb3ZlcnJpZGUgc28gd2UnbGwgZmluZCB0aGUgaGVhZGVycyBpbiB0aGUgY29ycmVjdCBwbGFjZQorKyAgICAgICAgaWYgKGRlZmluZWQgJEVOVntQRVJMX0xJQn0pCisrICAgICAgICB7CisrICAgICAgICAgICAgJHNlbGYtPntQRVJMX0xJQn0gPSAkRU5We1BFUkxfTElCfTsKKysgICAgICAgIH0KKysgICAgICAgIGlmIChkZWZpbmVkICRFTlZ7UEVSTF9BUkNITElCfSkKKysgICAgICAgIHsKKysgICAgICAgICAgICAkc2VsZi0+e1BFUkxfQVJDSExJQn0gPSAkRU5We1BFUkxfQVJDSExJQn07CisrICAgICAgICB9CisrICAgICAgICBpZiAoZGVmaW5lZCAkRU5We1BFUkxfSU5DfSkKKysgICAgICAgIHsKKysgICAgICAgICAgICAkc2VsZi0+e1BFUkxfSU5DfSA9ICRFTlZ7UEVSTF9JTkN9OworKyAgICAgICAgfQorIAlteSAkcGVybF9oOworIAorIAlpZiAobm90IC1mICgkcGVybF9oID0gJHNlbGYtPmNhdGZpbGUoJHNlbGYtPntQRVJMX0lOQ30sInBlcmwuaCIpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvcGVybC1jb25maWdwbS1zd2l0Y2gucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9wZXJsLWNvbmZpZ3BtLXN3aXRjaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNmYyM2VlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvcGVybC1jb25maWdwbS1zd2l0Y2gucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorVGhpcyBwYXRjaCBpcyB1c2VkIGZvciBwZXJsLW5hdGl2ZSBvbmx5LiBJdCBlbmFibGVzIHRoZSBzd2l0Y2hpbmcgb2YKK2NvbmZpZ3VyYXRpb24gZmlsZXMgYmV0d2VlbiBDb25maWdfaGVhdnkucGwgYW5kCitDb25maWdfaGVhdnktdGFyZ2V0LnBsIGJ5IHNldHRpbmcgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcworUEVSTENPTkZJR1RBUkdFVCAtIHRoZSBsYXRlciBjb250YWluaW5nIHNldHRpbmdzIGZvciB0aGUgdGFyZ2V0IHdoaWxlCit0aGUgZm9ybWVyIGNvbnRhaW5zIHRob3NlIGZvciB0aGUgaG9zdC4gVGhpcyB3aWxsIGFsbG93IGNwYW4uYmJjbGFzcwordG8gdXNlIHRoZSBzZXR0aW5ncyBhcHByb3ByaWF0ZSBmb3IgdGhlIG5hdGl2ZSBhbmQvb3IgdGFyZ2V0IGJ1aWxkcworYXMgcmVxdWlyZWQuIFRoaXMgYWxzbyBkaXNhYmxlcyB0aGUgdXNlIG9mIHRoZSBjYWNoZSBzaW5jZSB0aGUgY2FjaGVkCit2YWx1ZXMgd291bGQgYmUgdmFsaWQgZm9yIHRoZSBob3N0IG9ubHkuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbmF0aXZlXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKK0luZGV4OiBwZXJsLTUuMTQuMi9jb25maWdwbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHBlcmwtNS4xNC4yLm9yaWcvY29uZmlncG0KKysrKyBwZXJsLTUuMTQuMi9jb25maWdwbQorQEAgLTY1OCw3ICs2NTgsNyBAQCBzdWIgRkVUQ0ggeworICAgICBteSgkc2VsZiwgJGtleSkgPSBAXzsKKyAKKyAgICAgIyBjaGVjayBmb3IgY2FjaGVkIHZhbHVlICh3aGljaCBtYXkgYmUgdW5kZWYgc28gd2UgdXNlIGV4aXN0cyBub3QgZGVmaW5lZCkKKy0gICAgcmV0dXJuIGV4aXN0cyAkc2VsZi0+eyRrZXl9ID8gJHNlbGYtPnska2V5fSA6ICRzZWxmLT5mZXRjaF9zdHJpbmcoJGtleSk7CisrICAgIHJldHVybiAkc2VsZi0+ZmV0Y2hfc3RyaW5nKCRrZXkpOworIH0KKyAKKyBFTkRPRkVORAorQEAgLTgxNiw3ICs4MTYsMjEgQEAgJGNvbmZpZ190eHQgLj0gc3ByaW50ZiA8PCdFTkRPRlRJRScsICRmYQorIHN1YiBERVNUUk9ZIHsgfQorIAorIHN1YiBBVVRPTE9BRCB7CistICAgIHJlcXVpcmUgJ0NvbmZpZ19oZWF2eS5wbCc7CisrICAgIG15ICRjZmdmaWxlID0gJ0NvbmZpZ19oZWF2eS5wbCc7CisrICAgIGlmIChkZWZpbmVkICRFTlZ7UEVSTENPTkZJR1RBUkdFVH0gYW5kICRFTlZ7UEVSTENPTkZJR1RBUkdFVH0gZXEgInllcyIpCisrICAgIHsKKysgICAgICAgICRjZmdmaWxlID0gJ0NvbmZpZ19oZWF2eS10YXJnZXQucGwnOworKyAgICB9CisrICAgIGlmIChkZWZpbmVkICRFTlZ7UEVSTF9BUkNITElCfSkKKysgICAgeworKyAgICAgICAgcHVzaCBASU5DLCAkRU5We1BFUkxfQVJDSExJQn07CisrICAgICAgICByZXF1aXJlICRjZmdmaWxlOworKyAgICAgICAgcG9wIEBJTkM7CisrICAgIH0KKysgICAgZWxzZQorKyAgICB7CisrICAgICAgICByZXF1aXJlICRjZmdmaWxlOworKyAgICB9CisgICAgIGdvdG8gXCZsYXVuY2hlciB1bmxlc3MgJENvbmZpZzo6QVVUT0xPQUQgPX4gL2xhdW5jaGVyJC87CisgICAgIGRpZSAiJkNvbmZpZzo6QVVUT0xPQUQgZmFpbGVkIG9uICRDb25maWc6OkFVVE9MT0FEIjsKKyB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9wZXJsLWR5bmxvYWRlci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzL3BlcmwtZHlubG9hZGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiYjgzMmEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9wZXJsLWR5bmxvYWRlci5wYXRjaApAQCAtMCwwICsxLDM4IEBACitVcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK0FsbG93IHRoZSBsb2NhdGlvbiB0aGF0IC5zbyBmaWxlcyBhcmUgc2VhcmNoZWQgZm9yIGZvciBkeW5hbWljCitsb2FkaW5nIHRvIGJlIGNoYW5nZWQgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLiBUaGlzIGlzIHRvIGFsbG93Cit1cyB0byBsb2FkIC5zbydzIGZyb20gdGhlIGhvc3Qgc3lzdGVtIHdoaWxlIGJ1aWxkaW5nIGZvciB0aGUgdGFyZ2V0CitzeXN0ZW0uCisKK1VwZGF0ZSBieSBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPiAyMDExLzA0LzIxCisKK0luZGV4OiBwZXJsLTUuMjQuMS9kaXN0L1hTTG9hZGVyL1hTTG9hZGVyX3BtLlBMCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcGVybC01LjI0LjEub3JpZy9kaXN0L1hTTG9hZGVyL1hTTG9hZGVyX3BtLlBMCisrKysgcGVybC01LjI0LjEvZGlzdC9YU0xvYWRlci9YU0xvYWRlcl9wbS5QTAorQEAgLTUyLDYgKzUyLDI0IEBAIHN1YiBsb2FkIHsKKyAgICAgbXkgKCRjYWxsZXIsICRtb2RsaWJuYW1lKSA9IGNhbGxlcigpOworICAgICBteSAkbW9kdWxlID0gJGNhbGxlcjsKKyAKKysgICAgIyBPRTogQWxsb3cgZW52IHRvIGZvcm0gZHluYW1pYyBsb2FkZXIgdG8gbG9vayBpbiBhIGRpZmZlcmVudCBwbGFjZQorKyAgICAjIFRoaXMgaXMgc28gaXQgZmluZHMgdGhlIGhvc3QgLnNvIGZpbGVzLCBub3QgdGhlIHRhcmdldHMKKysgICAgaWYgKGRlZmluZWQgJEVOVntQRVJMSE9TVExJQn0pCisrICAgIHsKKysgICAgICAgIG15ICRob3N0bGliID0gJEVOVntQRVJMSE9TVExJQn07CisrICAgICAgICBteSAkaG9zdGFyY2hsaWIgPSAkRU5We1BFUkxIT1NUQVJDSExJQn07CisrICAgICAgICBwcmludCBTVERFUlIgIioqKiBNb2R1bGUgbmFtZSBJTjogJG1vZGxpYm5hbWVcbiI7CisrICAgICAgICAoJHAxLCAkcDIsICRwMywgJHA0LCAkcDUsICRwNiwgJHA3KSA9ICRtb2RsaWJuYW1lID1+IG0vKF4oLipsaWJcdypcLyk/KSgocGVybDVcL1swLTlcLl0qXC8pPykoKFteXC9dKilcLyk/KC4qKSQvOworKyAgICAgICAgcHJpbnQgU1RERVJSICIqKiogcDE6ICRwMSAgcDM6ICRwMyAgcDU6ICRwNSBwNzogJHA3XG4iOworKyAgICAgICAgaWYgKCAkcDEgbmUgIiIgKSB7CisrICAgICAgICAgICAgJG1vZGxpYm5hbWUgPSAkaG9zdGxpYi4kcDc7CisrICAgICAgICB9CisrICAgICAgICBpZiAoICRwNiBuZSAiIiApIHsKKysgICAgICAgICAgICAkbW9kbGlibmFtZSA9ICRob3N0YXJjaGxpYi4kcDc7CisrICAgICAgICB9CisrICAgICAgICBwcmludCBTVERFUlIgIioqKiBNb2R1bGUgbmFtZSBPVVQ6ICRtb2RsaWJuYW1lXG4iOworKyAgICB9CisrCisgICAgIGlmIChAXykgeworICAgICAgICAgJG1vZHVsZSA9ICRfWzBdOworICAgICB9IGVsc2UgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvcGVybC1yZGVwZW5kcy50eHQgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9wZXJsLXJkZXBlbmRzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTNiYmM3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvcGVybC1yZGVwZW5kcy50eHQKQEAgLTAsMCArMSw0Mjk2IEBACitSREVQRU5EU19wZXJsLW1vZHVsZS1hbnlkYm0tZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYW55ZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1jcGFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1nZXRvcHQtc3RkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLW5ldC1waW5nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS11c2VyLXB3ZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtY3BhbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLXRhcC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlICs9ICJwZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdC10ZXN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtYXJjaGl2ZS10YXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyLWZpbGUgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtaW8temxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyeWJhc2UgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXR0cmlidXRlLWhhbmRsZXJzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGUtaGFuZGxlcnMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXR0cmlidXRlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGVzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF0dHJpYnV0ZXMgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWZhdGFsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24tc3lzdGVtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbi1zeXN0ZW0gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtaGludHMgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLWxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1zY29wZS1ndWFyZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1zY29wZS1ndWFyZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmRzdGFjayArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNraXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtc2tpcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXV0aWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmRzdGFjayIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9zcGxpdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9zcGxpdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1jb25jaXNlICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1jb25jaXNlICs9ICJwZXJsLW1vZHVsZS1iLW9wLXByaXZhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItY29uY2lzZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLWZlYXR1cmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItY29uY2lzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWRlYnVnICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1kZWJ1ZyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1kZWJ1ZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmVuY2htYXJrICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJlbmNobWFyayArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQtdHJhY2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnbnVtICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdyYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmxpYiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItc2hvd2xleCArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItc2hvd2xleCArPSAicGVybC1tb2R1bGUtYi1jb25jaXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1zaG93bGV4ICs9ICJwZXJsLW1vZHVsZS1iLXRlcnNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1zaG93bGV4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLXRlcnNlICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi10ZXJzZSArPSAicGVybC1tb2R1bGUtYi1jb25jaXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi10ZXJzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi14cmVmICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi14cmVmICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLXhyZWYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJ5dGVzICs9ICJwZXJsLW1vZHVsZS1ieXRlcy1oZWF2eSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2hhcm5hbWVzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtLWNoYXJuYW1lcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2hhcm5hbWVzICs9ICJwZXJsLW1vZHVsZS1yZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtYnl0ZXMgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1ieXRlcyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb25maWctZXh0ZW5zaW9ucyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvcmVsaXN0ICs9ICJwZXJsLW1vZHVsZS1saXN0LXV0aWwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtY29yZWxpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29yZWxpc3QgKz0gInBlcmwtbW9kdWxlLXZlcnNpb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1kaXJoYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvcHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtbmV0LXBpbmciCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtc2FmZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXRlcm0tcmVhZGxpbmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10ZXh0LXdyYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3dkICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWN3ZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jd2QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWN3ZCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYXRhLWR1bXBlciArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1jb21wcmVzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1jb21wcmVzcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyLWVuY29kZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1pbnQzMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1pbnQzMiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyLW51bGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRibS1maWx0ZXItbnVsbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRibS1maWx0ZXItdXRmOCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci11dGY4ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRiICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXByZWNhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRlcHJlY2F0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wZWVrICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRldmVsLXBlZWsgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGV2ZWwtcHBwb3J0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGV2ZWwtcHBwb3J0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1zZWxmc3R1YmJlciArPSAicGVybC1tb2R1bGUtc2VsZmxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpYWdub3N0aWNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWFnbm9zdGljcyArPSAicGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpYWdub3N0aWNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWFnbm9zdGljcyArPSAicGVybC1tb2R1bGUtdGV4dC10YWJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWJhc2UgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWJhc2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWZpbGUgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1maWxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtZmlsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1tZDUgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LW1kNSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LW1kNSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3Qtc2hhICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1keW5hbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWJ5dGUgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ieXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYnl0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYnl0ZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY2prY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24taHogKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbi1oeiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY24taHoiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lYmNkaWMgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kZXIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kZXIgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kaW5nICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1taW1lLW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWdzbTAzMzggKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWdzbTAzMzggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1qcC1oMnogKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWgyeiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtZW5jb2RlLWpwLWgyeiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1qcC1qaXM3ICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1qcC1qaXM3IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAicGVybC1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyLTIwMjIta3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3IgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlci1pc28tMjAyMi1qcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXItaXNvLTIwMjItanAgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXItaXNvLTIwMjItanAgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlci1pc28tMjAyMi1qcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyLWlzby0yMDIyLWpwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtbmFtZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtbmFtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZSArPSAicGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY29uZmlnbG9jYWwtcG0iCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1taW1lLW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXN0b3JhYmxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXN5bWJvbCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdHcgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS10dyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXR3ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS10dyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZS11dGY3ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZS11dGY3ICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kaW5nICs9ICJwZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWkxOG4tbGFuZ2luZm8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZy13YXJuaW5ncyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2Rpbmctd2FybmluZ3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5nbGlzaCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbnYgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVudiArPSAicGVybC1tb2R1bGUtdGllLWFycmF5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXJybm8gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXJybm8gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cGVyaW1lbnRhbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXhwZXJpbWVudGFsICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXhwZXJpbWVudGFsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHBvcnRlciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXItaGVhdnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1keW5hbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1pcGMtY21kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYWl4ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYWl4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1haXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYW5kcm9pZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYW5kcm9pZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1jeWd3aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kYXJ3aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGVjLW9zZiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWRlYy1vc2YgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWRlYy1vc2YgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1vczIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXVuaXggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXVuaXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdm1zICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXZtcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzLWJjYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1iY2MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1nY2MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtZ2NjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtbXN2YyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1tc3ZjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cyArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kLW1tICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LWJhc2UgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtcHJveHlzdWJzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtYXV0b3NwbGl0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1wYWNrbGlzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvbXBhcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvcHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3Qta2lkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItbG9jYWxlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtY3BhbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLXZlcnNpb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbXkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLXZlcnNpb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci12ZXJzaW9uICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYW5pZmVzdCArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtib290c3RyYXAgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtYXV0b3NwbGl0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1jcGFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWJlb3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYmVvcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWN5Z3dpbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1kb3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWRvcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWRvcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbWFjb3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tb3MyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1vczIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tcW54ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tcW54ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXV3aW4gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11d2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm9zICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW45NSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1teSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0iCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1teSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYWNrbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb3VudGxpbmVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWV2YWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtZXZhbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb3VudGxpbmVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1ldmFsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtY21kICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLWNtZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtY21kICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLWlucHV0bWFwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1pbnB1dG1hcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtaW5wdXRtYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLXR5cGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtdHlwZSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1hdXRvZGllIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1hdXRvZGllLWhpbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLXRpZS1yZWZoYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmNudGwgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmNudGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZjbnRsICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpZWxkcyArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpZWxkcyArPSAicGVybC1tb2R1bGUtaGFzaC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmllbGRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlY2FjaGUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGVjYWNoZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb21wYXJlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29tcGFyZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb21wYXJlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb3B5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb3B5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZG9zZ2xvYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1kb3NnbG9iICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWRvc2dsb2IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1kb3NnbG9iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWZpbGVoYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1pcGMtY21kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2siCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1maW5kICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmluZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmluZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9ibWFwcGVyICs9ICJwZXJsLW1vZHVsZS1maWxlLWdsb2IiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2JtYXBwZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZ2xvYm1hcHBlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2IgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9iICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGVoYW5kbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZWhhbmRsZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlaGFuZGxlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZWhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXBhdGggKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXBhdGggKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtc3RhdCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtc3RhdCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtZXJybm8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS10ZW1wICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS10ZW1wICs9ICJwZXJsLW1vZHVsZS1pby1zZWVrYWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbHRlci1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLWZpbHRlci11dGlsLWNhbGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItc2ltcGxlICs9ICJwZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsdGVyLXV0aWwtY2FsbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmluZGJpbiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmluZGJpbiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maW5kYmluICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLXBvZC11c2FnZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWdldG9wdC1sb25nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtc3RkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2ggKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsLWZpZWxkaGFzaCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsLWZpZWxkaGFzaCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwtZmllbGRoYXNoICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tY29sbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tY29sbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ2luZm8gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWxhbmdpbmZvICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ3RhZ3MtZGV0ZWN0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5ndGFncy1kZXRlY3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ3RhZ3MtbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5ndGFncyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1iemlwMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1iemlwMiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5ICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1maWxlLWdsb2JtYXBwZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1leHRyYSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1kaXIgKz0gInBlcmwtbW9kdWxlLWZpbGUtc3RhdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZGlyICs9ICJwZXJsLW1vZHVsZS10aWUtaGFzaCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWZpbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZmlsZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1maWxlICs9ICJwZXJsLW1vZHVsZS1pby1zZWVrYWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWZpbGUgKz0gInBlcmwtbW9kdWxlLXNlbGVjdHNhdmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8taGFuZGxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWhhbmRsZSArPSAicGVybC1tb2R1bGUtaW8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLXNlbGVjdHNhdmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8taGFuZGxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tcGlwZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1waXBlICs9ICJwZXJsLW1vZHVsZS1pby1oYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1waXBlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1wb2xsICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXBvbGwgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXBvbGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1pby1oYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zZWVrYWJsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlbGVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCArPSAicGVybC1tb2R1bGUtc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWluZXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gInBlcmwtbW9kdWxlLWVycm5vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0ICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtaW8tc2VsZWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0ICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LXVuaXggKz0gInBlcmwtbW9kdWxlLWlvLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC11bml4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1idW56aXAyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5ICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueXVuY29tcHJlc3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtbGlzdC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1idW56aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1idW56aXAyICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXpsaWIgKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtaW8taGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtdGllLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXpsaWIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlwYy1vcGVuMyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1sb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtcGFyYW1zLWNoZWNrIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS10aW1lLWhpcmVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1tc2cgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1tc2cgKz0gInBlcmwtbW9kdWxlLWlwYy1zeXN2IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW1zZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW1zZyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtb3BlbjIgKz0gInBlcmwtbW9kdWxlLWlwYy1vcGVuMyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtb3BlbjMgKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1pby1waXBlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtaXBjLXN5c3YiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNoYXJlZG1lbSArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNoYXJlZG1lbSArPSAicGVybC1tb2R1bGUtaXBjLXN5c3YiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1zeXN2ICs9ICJwZXJsLW1vZHVsZS1keW5hbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1zeXN2ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcC1ib29sZWFuICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAtYm9vbGVhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLWpzb24tcHAtYm9vbGVhbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtc3VicyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxlc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxlc3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbGliICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1saWIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbGlzdC11dGlsLXhzICs9ICJwZXJsLW1vZHVsZS1saXN0LXV0aWwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwteHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbC14cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWRlZCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvcmVsaXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtbG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeS1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnkgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5LWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LWNvZGVzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQtcmV0aXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tcmV0aXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UtY29kZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLWNvZGVzICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3Zhci1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY291bnRyeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY291bnRyeSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1ndXRzbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtbWFrZXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtbWFrZXRleHQtZ3V0cyArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzLWRldGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAicGVybC1tb2R1bGUtaW50ZWdlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLXNjcmlwdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdC10cmFjZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdC10cmFjZSArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWNhbGNlbXUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWNhbGNlbXUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWZhc3RjYWxjICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1saWIgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtbGliICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1saWIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCArPSAicGVybC1tb2R1bGUtbWF0aC1jb21wbGV4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtY29tcGxleCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC10cmlnICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtdHJpZyArPSAicGVybC1tb2R1bGUtbWF0aC1jb21wbGV4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC10cmlnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplLWFueWRibS1maWxlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXNkYm0tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1lbW9pemUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLXN0b3JhYmxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtYmFzZTY0ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1xdW90ZWRwcmludCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1taW1lLXF1b3RlZHByaW50ICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tcm8gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1ybyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tcm8gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtY21kICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtY29uZmlnICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWRvbWFpbiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1uZXQtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWRvbWFpbiArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtYSArPSAicGVybC1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtYSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1hICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLWVycm5vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiArPSAicGVybC1tb2R1bGUtbmV0LWNtZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1lICs9ICJwZXJsLW1vZHVsZS1uZXQtZnRwLWkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWkgKz0gInBlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtaSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWwgKz0gInBlcmwtbW9kdWxlLW5ldC1mdHAtaSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1sICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtbmV0LWNtZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1uZXQtZnRwLWEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1uZXQtbmV0cmMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtaG9zdGVudCArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ob3N0ZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbmV0ZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbmV0ZW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRlbnQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRyYyArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRyYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LW5ldHJjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LW5udHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtdGltZS1sb2NhbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcGluZyArPSAicGVybC1tb2R1bGUtdGltZS1oaXJlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1wb3AzICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1wb3AzICs9ICJwZXJsLW1vZHVsZS1uZXQtbmV0cmMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcHJvdG9lbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc2VydmVudCArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1zbXRwICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1zbXRwICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXRpbWUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXRpbWUgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC10aW1lICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtdGltZSArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC10aW1lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtdGltZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXh0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5leHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5leHQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW9rICs9ICJwZXJsLW1vZHVsZS10ZXN0LW1vcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3Bjb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3BlbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3BlbiArPSAicGVybC1tb2R1bGUtZW5jb2RpbmciCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGVuICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW8gKz0gInBlcmwtbW9kdWxlLWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcHMgKz0gInBlcmwtbW9kdWxlLW9wY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW92ZXJsb2FkaW5nICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZC1udW1iZXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3ZlcmxvYWRpbmcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3ZlcmxvYWQgKz0gInBlcmwtbW9kdWxlLW1ybyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW92ZXJsb2FkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2sgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmVudCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGFyZW50ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGZhcSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGZhcSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBlcmxpby1lbmNvZGluZyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tbW1hcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLW1tYXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLW1tYXAgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLXNjYWxhciArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tdmlhICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBlcmxpby12aWEtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tdmlhLXF1b3RlZHByaW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtY2hlY2tlciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtY2hlY2tlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWVzY2FwZXMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZmluZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWZpbmQgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1maW5kICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1maW5kICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZmluZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWZpbmQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZnVuY3Rpb25zICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1mdW5jdGlvbnMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1pbnB1dG9iamVjdHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1pbnB1dG9iamVjdHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtbWFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLW1hbiArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1tYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1tYW4gKz0gInBlcmwtbW9kdWxlLXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtbWFuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLW1hbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2VsaW5rICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2VsaW5rICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLWlucHV0b2JqZWN0cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2V1dGlscyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBhcnNldXRpbHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy1iYXNldG8gKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLWJhc2V0byArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLWdldG9wdHNvbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvYW5zaSArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS1wb2QtdGV4dC1jb2xvciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvYW5zaSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtcG9kLWNoZWNrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b2NoZWNrZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS1pby1zZWxlY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAicGVybC1tb2R1bGUtaXBjLW9wZW4zIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS1wb2QtbWFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcG9kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ucm9mZiArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ucm9mZiArPSAicGVybC1tb2R1bGUtcG9kLW1hbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b25yb2ZmICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcG9kICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9wb2QgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3J0ZiArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ydGYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcnRmICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ydGYgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXJtICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gInBlcmwtbW9kdWxlLXBvZC10ZXh0LXRlcm1jYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGVybSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGVybSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3RleHQgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtcG9kLXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3RleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3htbCArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRveG1sICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBsYWludGV4dCArPSAicGVybC1tb2R1bGUtcG9kLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wbGFpbnRleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wbGFpbnRleHQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS1wb2QtcGFyc2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNlbGVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNlbGVjdCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3ggKz0gInBlcmwtbW9kdWxlLWludGVnZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWNoZWNrZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtY2hlY2tlciArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1kZWJ1ZyArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZGVidWcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZGVidWcgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3RleHQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3RleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzeG1sICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1kdW1wYXN4bWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzeG1sICs9ICJwZXJsLW1vZHVsZS10ZXh0LXdyYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtbGlua3NlY3Rpb24gKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3giCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtcG9kLWVzY2FwZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1saW5rc2VjdGlvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHJvZ3Jlc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcmVuZHRva2VuICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJ0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcmVuZHRva2VuICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJlbmR0b2tlbiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VyZW5kdG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnN0YXJ0dG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2Vyc3RhcnR0b2tlbiArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJzdGFydHRva2VuICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJzdGFydHRva2VuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJ0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcnRmICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1ydGYgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcnRmICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXJ0ZiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtc2VhcmNoICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1zZWFyY2ggKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1zZWFyY2ggKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtc2ltcGxldHJlZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGV4dGNvbnRlbnQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHRjb250ZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHRjb250ZW50ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGV4dCArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10aWVkb3V0ZmggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVkdW1iICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZWR1bWIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGUgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVzbWFydCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVzbWFydCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUteG1sb3V0c3RyZWFtICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS14bWxvdXRzdHJlYW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUteG1sb3V0c3RyZWFtICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXBvZC10ZXh0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LWNvbG9yICs9ICJwZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LWNvbG9yICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtb3ZlcnN0cmlrZSArPSAicGVybC1tb2R1bGUtcG9kLXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtb3ZlcnN0cmlrZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICJwZXJsLW1vZHVsZS1wb2QtdGV4dCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LXRlcm1jYXAgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtdGVybS1jYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdXNhZ2UgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC11c2FnZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdXNhZ2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC11c2FnZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUtdGllLWhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1yZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXRlcm0tY2FwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2FmZSArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLW9wY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2RibS1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRpZS1oYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2RibS1maWxlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNkYm0tZmlsZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWFyY2gtZGljdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWFyY2gtZGljdCArPSAicGVybC1tb2R1bGUtZmVhdHVyZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlYXJjaC1kaWN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWxmbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlbGZsb2FkZXIgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlbGZsb2FkZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNvY2tldCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNvY2tldCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc29ydCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdG9yYWJsZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdWItdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdWItdXRpbCArPSAicGVybC1tb2R1bGUtbGlzdC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3ViLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN1Yi11dGlsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWJhc2UgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtYmFzZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWJhc2UgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZS1wYXJhbGxlbHNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZS1zZXNzaW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWhhcm5lc3MtZW52ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLXRhcC1vYmplY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzLWVudiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcyArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcyArPSAicGVybC1tb2R1bGUtaW8taGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1vYmplY3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1vYmplY3QgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICJwZXJsLW1vZHVsZS1iZW5jaG1hcmsiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItYWdncmVnYXRvciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItZ3JhbW1hciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItcHJvY2VzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1zdHJlYW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLW11bHRpcGxleGVyICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItZ3JhbW1hciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtYmFpbG91dCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtY29tbWVudCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXBsYW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXByYWdtYSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wbGFuICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtcGxhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtcGxhbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXByYWdtYSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC10ZXN0ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC11bmtub3duICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC12ZXJzaW9uICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC15YW1sICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1qb2IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1zcGlubmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXN0cmVhbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcmF3dGFwICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtd3JpdGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1hbnNpY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1jYXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlcm0tY2FwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1jb21wbGV0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWNvbXBsZXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLXJlYWRsaW5lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLXJlYWRsaW5lICs9ICJwZXJsLW1vZHVsZS10ZXJtLWNhcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci1mb3JtYXR0ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci1mb3JtYXR0ZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gInBlcmwtbW9kdWxlLWRhdGEtZHVtcGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItZm9ybWF0dGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItdG9kb2RpYWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3Rlci1jb2xvciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3Rlci1jb2xvciArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRvZG9kaWFnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItdG9kb2RpYWcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXRhcC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtaGFybmVzcyArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtbW9yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1tb3JlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1tb3JlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdCArPSAicGVybC1tb2R1bGUtZmlsZS10ZW1wIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlcnVubmVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlcnVubmVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyLWRlbGVnYXRlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3RlciArPSAicGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1kZWxlZ2F0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1hYmJyZXYgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1iYWxhbmNlZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtYmFsYW5jZWQgKz0gInBlcmwtbW9kdWxlLXNlbGZsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC10YWJzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtdGFicyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC10YWJzICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtd3JhcCArPSAicGVybC1tb2R1bGUtcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LXdyYXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtd3JhcCArPSAicGVybC1tb2R1bGUtdGV4dC10YWJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS10aHJlYWRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtcXVldWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZC1xdWV1ZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtcXVldWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMtc2hhcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtYXJyYXkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFuZGxlICs9ICJwZXJsLW1vZHVsZS10aWUtc3RkaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLWhhbmRsZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFzaC1uYW1lZGNhcHR1cmUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1oYXNoLW5hbWVkY2FwdHVyZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFzaCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLW1lbW9pemUgKz0gInBlcmwtbW9kdWxlLXRpZS1oYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXJlZmhhc2ggKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1yZWZoYXNoICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1yZWZoYXNoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtcmVmaGFzaCArPSAicGVybC1tb2R1bGUtdGllLWhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtcmVmaGFzaCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1zY2FsYXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXN0ZGhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXN0ZGhhbmRsZSArPSAicGVybC1tb2R1bGUtdGllLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1zdWJzdHJoYXNoICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1nbXRpbWUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1nbXRpbWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtZ210aW1lICs9ICJwZXJsLW1vZHVsZS10aW1lLXRtIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1oaXJlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWhpcmVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWhpcmVzICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtbG9jYWwgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtbG9jYWwgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1sb2NhbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1sb2NhbHRpbWUgKz0gInBlcmwtbW9kdWxlLXRpbWUtdG0iCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXBpZWNlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtaW50ZWdlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtdGltZS1sb2NhbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLXRpbWUtc2Vjb25kcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1zZWNvbmRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXNlY29uZHMgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1zZWNvbmRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXRtICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXRtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWJpZzUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstYmlnNSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWdiMjMxMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1nYjIzMTIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1qaXN4MDIwOCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1qaXN4MDIwOCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWtvcmVhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1rb3JlYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1waW55aW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstcGlueWluICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstc3Ryb2tlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXN0cm9rZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXpodXlpbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay16aHV5aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWxvY2FsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWNoYXJuYW1lcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtdWNkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtdWNkICs9ICJwZXJsLW1vZHVsZS1mZWF0dXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWludGVnZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLXVjZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLXVuaWNvZGUtbm9ybWFsaXplIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLXV0ZjgtaGVhdnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLXVjZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11c2VyLWdyZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11c2VyLWdyZW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItZ3JlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdXNlci1wd2VudCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdXNlci1wd2VudCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11dGY4ICs9ICJwZXJsLW1vZHVsZS11dGY4LWhlYXZ5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtdmVyc2lvbi1yZWdleCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXZlcnNpb24gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbi1yZWdleCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUteHNsb2FkZXIgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hbnlkYm0tZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYW55ZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1jcGFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1nZXRvcHQtc3RkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLW5ldC1waW5nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS11c2VyLXB3ZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtY3BhbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLXRhcC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlICs9ICJwZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdC10ZXN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtYXJjaGl2ZS10YXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyLWZpbGUgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtaW8temxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyeWJhc2UgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXR0cmlidXRlLWhhbmRsZXJzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGUtaGFuZGxlcnMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXR0cmlidXRlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGVzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF0dHJpYnV0ZXMgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWZhdGFsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24tc3lzdGVtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbi1zeXN0ZW0gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtaGludHMgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLWxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1zY29wZS1ndWFyZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1zY29wZS1ndWFyZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmRzdGFjayArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNraXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtc2tpcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXV0aWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmRzdGFjayIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9zcGxpdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9zcGxpdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1jb25jaXNlICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1jb25jaXNlICs9ICJwZXJsLW1vZHVsZS1iLW9wLXByaXZhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItY29uY2lzZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLWZlYXR1cmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItY29uY2lzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWRlYnVnICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1kZWJ1ZyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1kZWJ1ZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmVuY2htYXJrICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJlbmNobWFyayArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQtdHJhY2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnbnVtICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdyYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmxpYiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItc2hvd2xleCArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItc2hvd2xleCArPSAicGVybC1tb2R1bGUtYi1jb25jaXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1zaG93bGV4ICs9ICJwZXJsLW1vZHVsZS1iLXRlcnNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1zaG93bGV4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLXRlcnNlICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi10ZXJzZSArPSAicGVybC1tb2R1bGUtYi1jb25jaXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi10ZXJzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi14cmVmICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi14cmVmICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLXhyZWYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJ5dGVzICs9ICJwZXJsLW1vZHVsZS1ieXRlcy1oZWF2eSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2hhcm5hbWVzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtLWNoYXJuYW1lcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2hhcm5hbWVzICs9ICJwZXJsLW1vZHVsZS1yZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtYnl0ZXMgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1ieXRlcyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb25maWctZXh0ZW5zaW9ucyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvcmVsaXN0ICs9ICJwZXJsLW1vZHVsZS1saXN0LXV0aWwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtY29yZWxpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29yZWxpc3QgKz0gInBlcmwtbW9kdWxlLXZlcnNpb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1kaXJoYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvcHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtbmV0LXBpbmciCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtc2FmZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXRlcm0tcmVhZGxpbmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10ZXh0LXdyYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3dkICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWN3ZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jd2QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWN3ZCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYXRhLWR1bXBlciArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1jb21wcmVzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1jb21wcmVzcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyLWVuY29kZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1pbnQzMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1pbnQzMiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyLW51bGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRibS1maWx0ZXItbnVsbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRibS1maWx0ZXItdXRmOCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci11dGY4ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRiICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXByZWNhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRlcHJlY2F0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wZWVrICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRldmVsLXBlZWsgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGV2ZWwtcHBwb3J0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGV2ZWwtcHBwb3J0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1zZWxmc3R1YmJlciArPSAicGVybC1tb2R1bGUtc2VsZmxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpYWdub3N0aWNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWFnbm9zdGljcyArPSAicGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpYWdub3N0aWNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWFnbm9zdGljcyArPSAicGVybC1tb2R1bGUtdGV4dC10YWJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWJhc2UgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWJhc2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWZpbGUgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1maWxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtZmlsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1tZDUgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LW1kNSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LW1kNSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3Qtc2hhICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1keW5hbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWJ5dGUgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ieXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYnl0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYnl0ZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY2prY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24taHogKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbi1oeiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY24taHoiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lYmNkaWMgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kZXIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kZXIgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kaW5nICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1taW1lLW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWdzbTAzMzggKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWdzbTAzMzggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1qcC1oMnogKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWgyeiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtZW5jb2RlLWpwLWgyeiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1qcC1qaXM3ICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1qcC1qaXM3IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAicGVybC1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyLTIwMjIta3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3IgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlci1pc28tMjAyMi1qcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXItaXNvLTIwMjItanAgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXItaXNvLTIwMjItanAgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlci1pc28tMjAyMi1qcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyLWlzby0yMDIyLWpwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtbmFtZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtbmFtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZSArPSAicGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY29uZmlnbG9jYWwtcG0iCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1taW1lLW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXN0b3JhYmxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXN5bWJvbCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdHcgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS10dyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXR3ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS10dyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZS11dGY3ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZS11dGY3ICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kaW5nICs9ICJwZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWkxOG4tbGFuZ2luZm8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZy13YXJuaW5ncyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2Rpbmctd2FybmluZ3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5nbGlzaCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbnYgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVudiArPSAicGVybC1tb2R1bGUtdGllLWFycmF5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXJybm8gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXJybm8gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cGVyaW1lbnRhbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXhwZXJpbWVudGFsICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXhwZXJpbWVudGFsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHBvcnRlciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXItaGVhdnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1keW5hbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1pcGMtY21kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYWl4ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYWl4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1haXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYW5kcm9pZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYW5kcm9pZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1jeWd3aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kYXJ3aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGVjLW9zZiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWRlYy1vc2YgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWRlYy1vc2YgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1vczIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXVuaXggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXVuaXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdm1zICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXZtcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzLWJjYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1iY2MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1nY2MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtZ2NjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtbXN2YyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1tc3ZjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cyArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kLW1tICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LWJhc2UgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtcHJveHlzdWJzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtYXV0b3NwbGl0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1wYWNrbGlzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvbXBhcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvcHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3Qta2lkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItbG9jYWxlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtY3BhbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLXZlcnNpb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbXkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLXZlcnNpb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci12ZXJzaW9uICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYW5pZmVzdCArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtib290c3RyYXAgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtYXV0b3NwbGl0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1jcGFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWJlb3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYmVvcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWN5Z3dpbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1kb3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWRvcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWRvcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbWFjb3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tb3MyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1vczIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tcW54ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tcW54ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXV3aW4gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11d2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm9zICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW45NSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1teSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0iCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1teSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYWNrbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb3VudGxpbmVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWV2YWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtZXZhbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb3VudGxpbmVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1ldmFsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtY21kICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLWNtZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtY21kICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLWlucHV0bWFwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1pbnB1dG1hcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtaW5wdXRtYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLXR5cGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtdHlwZSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1hdXRvZGllIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1hdXRvZGllLWhpbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLXRpZS1yZWZoYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmNudGwgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmNudGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZjbnRsICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpZWxkcyArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpZWxkcyArPSAicGVybC1tb2R1bGUtaGFzaC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmllbGRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlY2FjaGUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGVjYWNoZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb21wYXJlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29tcGFyZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb21wYXJlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb3B5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb3B5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZG9zZ2xvYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1kb3NnbG9iICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWRvc2dsb2IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1kb3NnbG9iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWZpbGVoYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1pcGMtY21kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2siCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1maW5kICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmluZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmluZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9ibWFwcGVyICs9ICJwZXJsLW1vZHVsZS1maWxlLWdsb2IiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2JtYXBwZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZ2xvYm1hcHBlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2IgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9iICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGVoYW5kbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZWhhbmRsZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlaGFuZGxlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZWhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXBhdGggKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXBhdGggKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtc3RhdCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtc3RhdCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtZXJybm8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS10ZW1wICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS10ZW1wICs9ICJwZXJsLW1vZHVsZS1pby1zZWVrYWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbHRlci1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLWZpbHRlci11dGlsLWNhbGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItc2ltcGxlICs9ICJwZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsdGVyLXV0aWwtY2FsbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmluZGJpbiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmluZGJpbiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maW5kYmluICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLXBvZC11c2FnZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWdldG9wdC1sb25nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtc3RkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2ggKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsLWZpZWxkaGFzaCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsLWZpZWxkaGFzaCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwtZmllbGRoYXNoICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tY29sbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tY29sbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ2luZm8gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWxhbmdpbmZvICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ3RhZ3MtZGV0ZWN0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5ndGFncy1kZXRlY3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ3RhZ3MtbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5ndGFncyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1iemlwMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1iemlwMiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5ICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1maWxlLWdsb2JtYXBwZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1leHRyYSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1kaXIgKz0gInBlcmwtbW9kdWxlLWZpbGUtc3RhdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZGlyICs9ICJwZXJsLW1vZHVsZS10aWUtaGFzaCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWZpbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZmlsZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1maWxlICs9ICJwZXJsLW1vZHVsZS1pby1zZWVrYWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWZpbGUgKz0gInBlcmwtbW9kdWxlLXNlbGVjdHNhdmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8taGFuZGxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWhhbmRsZSArPSAicGVybC1tb2R1bGUtaW8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLXNlbGVjdHNhdmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8taGFuZGxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tcGlwZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1waXBlICs9ICJwZXJsLW1vZHVsZS1pby1oYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1waXBlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1wb2xsICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXBvbGwgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXBvbGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1pby1oYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zZWVrYWJsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlbGVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCArPSAicGVybC1tb2R1bGUtc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWluZXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gInBlcmwtbW9kdWxlLWVycm5vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0ICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtaW8tc2VsZWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0ICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LXVuaXggKz0gInBlcmwtbW9kdWxlLWlvLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC11bml4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1idW56aXAyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5ICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueXVuY29tcHJlc3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtbGlzdC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1idW56aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1idW56aXAyICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXpsaWIgKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtaW8taGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtdGllLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXpsaWIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlwYy1vcGVuMyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1sb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtcGFyYW1zLWNoZWNrIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS10aW1lLWhpcmVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1tc2cgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1tc2cgKz0gInBlcmwtbW9kdWxlLWlwYy1zeXN2IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW1zZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW1zZyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtb3BlbjIgKz0gInBlcmwtbW9kdWxlLWlwYy1vcGVuMyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtb3BlbjMgKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1pby1waXBlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtaXBjLXN5c3YiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNoYXJlZG1lbSArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNoYXJlZG1lbSArPSAicGVybC1tb2R1bGUtaXBjLXN5c3YiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1zeXN2ICs9ICJwZXJsLW1vZHVsZS1keW5hbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1zeXN2ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcC1ib29sZWFuICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAtYm9vbGVhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLWpzb24tcHAtYm9vbGVhbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtc3VicyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxlc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxlc3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbGliICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1saWIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbGlzdC11dGlsLXhzICs9ICJwZXJsLW1vZHVsZS1saXN0LXV0aWwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwteHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbC14cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWRlZCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvcmVsaXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtbG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeS1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnkgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5LWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LWNvZGVzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQtcmV0aXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tcmV0aXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UtY29kZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLWNvZGVzICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3Zhci1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY291bnRyeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY291bnRyeSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1ndXRzbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtbWFrZXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtbWFrZXRleHQtZ3V0cyArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzLWRldGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAicGVybC1tb2R1bGUtaW50ZWdlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLXNjcmlwdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdC10cmFjZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdC10cmFjZSArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWNhbGNlbXUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWNhbGNlbXUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWZhc3RjYWxjICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1saWIgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtbGliICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1saWIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCArPSAicGVybC1tb2R1bGUtbWF0aC1jb21wbGV4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtY29tcGxleCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC10cmlnICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtdHJpZyArPSAicGVybC1tb2R1bGUtbWF0aC1jb21wbGV4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC10cmlnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplLWFueWRibS1maWxlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXNkYm0tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1lbW9pemUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLXN0b3JhYmxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtYmFzZTY0ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1xdW90ZWRwcmludCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1taW1lLXF1b3RlZHByaW50ICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tcm8gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1ybyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tcm8gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtY21kICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtY29uZmlnICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWRvbWFpbiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1uZXQtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWRvbWFpbiArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtYSArPSAicGVybC1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtYSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1hICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLWVycm5vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiArPSAicGVybC1tb2R1bGUtbmV0LWNtZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1lICs9ICJwZXJsLW1vZHVsZS1uZXQtZnRwLWkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWkgKz0gInBlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtaSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWwgKz0gInBlcmwtbW9kdWxlLW5ldC1mdHAtaSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1sICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtbmV0LWNtZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1uZXQtZnRwLWEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1uZXQtbmV0cmMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtaG9zdGVudCArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ob3N0ZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbmV0ZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbmV0ZW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRlbnQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRyYyArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRyYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LW5ldHJjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LW5udHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtdGltZS1sb2NhbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcGluZyArPSAicGVybC1tb2R1bGUtdGltZS1oaXJlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1wb3AzICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1wb3AzICs9ICJwZXJsLW1vZHVsZS1uZXQtbmV0cmMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcHJvdG9lbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc2VydmVudCArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1zbXRwICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1zbXRwICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXRpbWUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXRpbWUgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC10aW1lICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtdGltZSArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC10aW1lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtdGltZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXh0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5leHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5leHQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW9rICs9ICJwZXJsLW1vZHVsZS10ZXN0LW1vcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3Bjb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3BlbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3BlbiArPSAicGVybC1tb2R1bGUtZW5jb2RpbmciCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGVuICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW8gKz0gInBlcmwtbW9kdWxlLWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcHMgKz0gInBlcmwtbW9kdWxlLW9wY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW92ZXJsb2FkaW5nICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZC1udW1iZXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3ZlcmxvYWRpbmcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3ZlcmxvYWQgKz0gInBlcmwtbW9kdWxlLW1ybyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW92ZXJsb2FkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2sgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmVudCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGFyZW50ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGZhcSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGZhcSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBlcmxpby1lbmNvZGluZyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tbW1hcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLW1tYXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLW1tYXAgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLXNjYWxhciArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tdmlhICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBlcmxpby12aWEtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tdmlhLXF1b3RlZHByaW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtY2hlY2tlciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtY2hlY2tlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWVzY2FwZXMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZmluZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWZpbmQgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1maW5kICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1maW5kICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZmluZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWZpbmQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZnVuY3Rpb25zICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1mdW5jdGlvbnMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1pbnB1dG9iamVjdHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1pbnB1dG9iamVjdHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtbWFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLW1hbiArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1tYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1tYW4gKz0gInBlcmwtbW9kdWxlLXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtbWFuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLW1hbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2VsaW5rICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2VsaW5rICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLWlucHV0b2JqZWN0cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2V1dGlscyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBhcnNldXRpbHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy1iYXNldG8gKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLWJhc2V0byArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLWdldG9wdHNvbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvYW5zaSArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS1wb2QtdGV4dC1jb2xvciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvYW5zaSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtcG9kLWNoZWNrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b2NoZWNrZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS1pby1zZWxlY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAicGVybC1tb2R1bGUtaXBjLW9wZW4zIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS1wb2QtbWFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcG9kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ucm9mZiArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ucm9mZiArPSAicGVybC1tb2R1bGUtcG9kLW1hbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b25yb2ZmICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcG9kICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9wb2QgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3J0ZiArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ydGYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcnRmICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ydGYgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXJtICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gInBlcmwtbW9kdWxlLXBvZC10ZXh0LXRlcm1jYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGVybSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGVybSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3RleHQgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtcG9kLXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3RleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3htbCArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRveG1sICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBsYWludGV4dCArPSAicGVybC1tb2R1bGUtcG9kLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wbGFpbnRleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wbGFpbnRleHQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS1wb2QtcGFyc2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNlbGVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNlbGVjdCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3ggKz0gInBlcmwtbW9kdWxlLWludGVnZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWNoZWNrZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtY2hlY2tlciArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1kZWJ1ZyArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZGVidWcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZGVidWcgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3RleHQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3RleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzeG1sICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1kdW1wYXN4bWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzeG1sICs9ICJwZXJsLW1vZHVsZS10ZXh0LXdyYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtbGlua3NlY3Rpb24gKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3giCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtcG9kLWVzY2FwZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1saW5rc2VjdGlvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHJvZ3Jlc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcmVuZHRva2VuICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJ0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcmVuZHRva2VuICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJlbmR0b2tlbiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VyZW5kdG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnN0YXJ0dG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2Vyc3RhcnR0b2tlbiArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJzdGFydHRva2VuICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJzdGFydHRva2VuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJ0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcnRmICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1ydGYgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcnRmICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXJ0ZiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtc2VhcmNoICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1zZWFyY2ggKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1zZWFyY2ggKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtc2ltcGxldHJlZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGV4dGNvbnRlbnQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHRjb250ZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHRjb250ZW50ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGV4dCArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10aWVkb3V0ZmggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVkdW1iICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZWR1bWIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGUgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVzbWFydCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVzbWFydCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUteG1sb3V0c3RyZWFtICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS14bWxvdXRzdHJlYW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUteG1sb3V0c3RyZWFtICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXBvZC10ZXh0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LWNvbG9yICs9ICJwZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LWNvbG9yICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtb3ZlcnN0cmlrZSArPSAicGVybC1tb2R1bGUtcG9kLXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtb3ZlcnN0cmlrZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICJwZXJsLW1vZHVsZS1wb2QtdGV4dCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LXRlcm1jYXAgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtdGVybS1jYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdXNhZ2UgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC11c2FnZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdXNhZ2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC11c2FnZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUtdGllLWhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1yZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXRlcm0tY2FwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2FmZSArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLW9wY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2RibS1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRpZS1oYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2RibS1maWxlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNkYm0tZmlsZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWFyY2gtZGljdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWFyY2gtZGljdCArPSAicGVybC1tb2R1bGUtZmVhdHVyZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlYXJjaC1kaWN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWxmbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlbGZsb2FkZXIgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlbGZsb2FkZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNvY2tldCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNvY2tldCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc29ydCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdG9yYWJsZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdWItdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdWItdXRpbCArPSAicGVybC1tb2R1bGUtbGlzdC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3ViLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN1Yi11dGlsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWJhc2UgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtYmFzZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWJhc2UgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZS1wYXJhbGxlbHNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZS1zZXNzaW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWhhcm5lc3MtZW52ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLXRhcC1vYmplY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzLWVudiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcyArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcyArPSAicGVybC1tb2R1bGUtaW8taGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1vYmplY3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1vYmplY3QgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICJwZXJsLW1vZHVsZS1iZW5jaG1hcmsiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItYWdncmVnYXRvciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItZ3JhbW1hciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItcHJvY2VzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1zdHJlYW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLW11bHRpcGxleGVyICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItZ3JhbW1hciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtYmFpbG91dCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtY29tbWVudCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXBsYW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXByYWdtYSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wbGFuICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtcGxhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtcGxhbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXByYWdtYSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC10ZXN0ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC11bmtub3duICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC12ZXJzaW9uICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC15YW1sICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1qb2IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1zcGlubmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXN0cmVhbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcmF3dGFwICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtd3JpdGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1hbnNpY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1jYXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlcm0tY2FwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1jb21wbGV0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWNvbXBsZXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLXJlYWRsaW5lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLXJlYWRsaW5lICs9ICJwZXJsLW1vZHVsZS10ZXJtLWNhcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci1mb3JtYXR0ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci1mb3JtYXR0ZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gInBlcmwtbW9kdWxlLWRhdGEtZHVtcGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItZm9ybWF0dGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItdG9kb2RpYWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3Rlci1jb2xvciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3Rlci1jb2xvciArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRvZG9kaWFnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItdG9kb2RpYWcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXRhcC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtaGFybmVzcyArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtbW9yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1tb3JlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1tb3JlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdCArPSAicGVybC1tb2R1bGUtZmlsZS10ZW1wIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlcnVubmVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlcnVubmVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyLWRlbGVnYXRlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3RlciArPSAicGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1kZWxlZ2F0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1hYmJyZXYgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1iYWxhbmNlZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtYmFsYW5jZWQgKz0gInBlcmwtbW9kdWxlLXNlbGZsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC10YWJzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtdGFicyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC10YWJzICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtd3JhcCArPSAicGVybC1tb2R1bGUtcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LXdyYXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtd3JhcCArPSAicGVybC1tb2R1bGUtdGV4dC10YWJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS10aHJlYWRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtcXVldWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZC1xdWV1ZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtcXVldWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMtc2hhcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtYXJyYXkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFuZGxlICs9ICJwZXJsLW1vZHVsZS10aWUtc3RkaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLWhhbmRsZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFzaC1uYW1lZGNhcHR1cmUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1oYXNoLW5hbWVkY2FwdHVyZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFzaCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLW1lbW9pemUgKz0gInBlcmwtbW9kdWxlLXRpZS1oYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXJlZmhhc2ggKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1yZWZoYXNoICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1yZWZoYXNoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtcmVmaGFzaCArPSAicGVybC1tb2R1bGUtdGllLWhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtcmVmaGFzaCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1zY2FsYXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXN0ZGhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXN0ZGhhbmRsZSArPSAicGVybC1tb2R1bGUtdGllLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1zdWJzdHJoYXNoICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1nbXRpbWUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1nbXRpbWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtZ210aW1lICs9ICJwZXJsLW1vZHVsZS10aW1lLXRtIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1oaXJlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWhpcmVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWhpcmVzICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtbG9jYWwgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtbG9jYWwgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1sb2NhbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1sb2NhbHRpbWUgKz0gInBlcmwtbW9kdWxlLXRpbWUtdG0iCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXBpZWNlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtaW50ZWdlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtdGltZS1sb2NhbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLXRpbWUtc2Vjb25kcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1zZWNvbmRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXNlY29uZHMgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1zZWNvbmRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXRtICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXRtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWJpZzUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstYmlnNSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWdiMjMxMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1nYjIzMTIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1qaXN4MDIwOCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1qaXN4MDIwOCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWtvcmVhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1rb3JlYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1waW55aW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstcGlueWluICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstc3Ryb2tlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXN0cm9rZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXpodXlpbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay16aHV5aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWxvY2FsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWNoYXJuYW1lcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtdWNkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtdWNkICs9ICJwZXJsLW1vZHVsZS1mZWF0dXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWludGVnZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLXVjZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLXVuaWNvZGUtbm9ybWFsaXplIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLXV0ZjgtaGVhdnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLXVjZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11c2VyLWdyZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11c2VyLWdyZW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItZ3JlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdXNlci1wd2VudCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdXNlci1wd2VudCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11dGY4ICs9ICJwZXJsLW1vZHVsZS11dGY4LWhlYXZ5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtdmVyc2lvbi1yZWdleCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXZlcnNpb24gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbi1yZWdleCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUteHNsb2FkZXIgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvcnVuLXB0ZXN0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcnVuLXB0ZXN0CnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9ydW4tcHRlc3QKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L3BlcmwtcHRlc3QuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvcGVybC1wdGVzdC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRkOWI3ZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L3BlcmwtcHRlc3QuaW5jCkBAIC0wLDAgKzEsNTcgQEAKK2luaGVyaXQgcHRlc3QKKworU1JDX1VSSSArPSAiZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgICIKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworCW1rZGlyIC1wICR7RH0ke1BURVNUX1BBVEh9CisJc2VkIC1lICJzOlwvdXNyXC9sb2NhbDoke2JpbmRpcn06ZyIgLWkgY3Bhbi92ZXJzaW9uL3QvKgorCXNlZCAtZSAiczpcL29wdDpcL3VzcjoiIC1pIFBvcnRpbmcvYWRkLXBhY2thZ2UucGwKKwlzZWQgLWUgInM6XC9sb2NhbFwvZ251XC86XC86IiAtaSBoaW50cy9jeHV4LnNoCisJdGFyIC1jIC0tZXhjbHVkZT10cnkgLS1leGNsdWRlPWEub3V0IC0tZXhjbHVkZT0nKi5vJyAtLWV4Y2x1ZGU9bGlicGVybC5zbyogLS1leGNsdWRlPU1ha2VmaWxlIC0tZXhjbHVkZT1tYWtlZmlsZSAtLWV4Y2x1ZGU9aG9zdHBlcmwgXAorCSAgICAtLWV4Y2x1ZGU9Y3lnd2luIC0tZXhjbHVkZT1vczIgLS1leGNsdWRlPWRqZ3BwIC0tZXhjbHVkZT1xbnggLS1leGNsdWRlPXN5bWJpYW4gLS1leGNsdWRlPWhhaWt1IFwKKwkgICAgLS1leGNsdWRlPXZtcyAtLWV4Y2x1ZGU9dm9zIC0tZXhjbHVkZT1OZXRXYXJlIC0tZXhjbHVkZT1hbWlnYW9zNCAgLS1leGNsdWRlPWJ1aWxkY3VzdG9taXplLnBsIFwKKwkgICAgLS1leGNsdWRlPSd3aW4zMi9jb25maWcuKicgLS1leGNsdWRlPXBsYW45IC0tZXhjbHVkZT1SRUFETUUucGxhbjkgLS1leGNsdWRlPXBlcmxwbGFuOS5wb2QgLS1leGNsdWRlPUNvbmZpZ3VyZSBcCisJICAgIC0tZXhjbHVkZT12ZXJ5Y2xlYW4uc2ggLS1leGNsdWRlPXJlYWxjbGVhbi5zaCAgLS1leGNsdWRlPWdldGlvY3Rsc2l6ZXMgXAorCSAgICAtLWV4Y2x1ZGU9ZGxfYWl4LnhzIC0tZXhjbHVkZT1zZGJtLjMgLS1leGNsdWRlPSdjZmxhZ3MuU0gnIC0tZXhjbHVkZT1tYWtlZmlsZS5vbGQgXAorCQktLWV4Y2x1ZGU9bWluaXBlcmwgLS1leGNsdWRlPWdlbmVyYXRlX3V1ZG1hcCAtLWV4Y2x1ZGU9cGF0Y2hlcyAqIHwgKCBjZCAke0R9JHtQVEVTVF9QQVRIfSAmJiB0YXIgLXggKQorCisJbG4gLXNmICR7YmluZGlyfS9wZXJsICR7RH0ke1BURVNUX1BBVEh9L3QvcGVybAorCisJIyBSZW1vdmUgYnVpbGQgaG9zdCByZWZlcmVuY2VzIGZyb20gdmFyaW91cyBzY2F0dGVyZWQgZmlsZXMuLi4KKwlmaW5kICIke0R9JHtQVEVTVF9QQVRIfSIgXAorCSAgICAgXCggLW5hbWUgJyouUEwnIC1vIC1uYW1lICdteWNvbmZpZycgLW8gLW5hbWUgJ2NmbGFncycgLW8gLW5hbWUgJyoucGwnIC1vIC1uYW1lICcqLnNoJyAtbyAtbmFtZSAnKi5wbScgXAorCSAgICAgLW8gLW5hbWUgJ2gyeHMnIC1vIC1uYW1lICdoMnBoJyBcCisJICAgICAtbyAtbmFtZSAnKi5oJyAtbyAtbmFtZSAnY29uZmlnLnNoLSonIC1vIC1uYW1lICdwb2QybWFuJyAgLW8gLW5hbWUgJ3BvZDJ0ZXh0JyBcKSBcCisJICAgIC10eXBlIGYgLWV4ZWMgc2VkIC1pIFwKKwkgICAgICAgLWUgInMsJHtEfSwsZyIgXAorCSAgICAgICAtZSAicywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9IT1NUfSwsZyIgXAorCSAgICAgICAtZSAicywtaXN5c3RlbSR7U1RBR0lOR19JTkNESVJ9ICwsZyIgXAorCSAgICAgICAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCisJICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS8sJHtiaW5kaXJ9LyxnIiBcCisJICAgICAgIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSxnIiBcCisJICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJ9LCR7YmluZGlyfSxnIiBcCisJICAgICAgIC1lICJzLCR7U1RBR0lOR19JTkNESVJ9LCR7aW5jbHVkZWRpcn0sZyIgXAorCSAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSX05BVElWRX0vLCxnIiBcCisJICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJfVE9PTENIQUlOfS8ke1RBUkdFVF9QUkVGSVh9LCR7YmluZGlyfSxnIiBcCisJICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1RfTkFUSVZFfTo6ZycgXAorCSAgICAgICAtZSAnczoke1JFQ0lQRV9TWVNST09UfTo6ZycgXAorCSAgICAgICAge30gKworCisJICMgUmVtb3ZlIGEgdXNlbGVzcyB0aW1lc3RhbXAuLi4KKwkgc2VkIC1pIC1lICcvQXV0b2dlbmVyYXRlZCBzdGFydGluZyBvbi9kJyAke0R9JHtQVEVTVF9QQVRIfS9saWIvdW5pY29yZS9ta3RhYmxlcy5sc3QKK30KKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQoKSB7CisgICAgIyBQdXQgYWxsICoudCBmaWxlcyBmcm9tIHRoZSBsaWIgZGlyIGluIHRoZSBwdGVzdCBwYWNrYWdlCisgICAgIyBkb19zcGxpdF9wYWNrYWdlcyByZXF1aXJlcyBhIHBhaXIgb2YgKCkgaW4gdGhlIHJlZ2V4LCBidXQgd2UgaGF2ZSBub3RoaW5nCisgICAgIyB0byBtYXRjaCwgc28gdXNlIGFuIGVtcHR5IHBhaXIuCisgICAgaWYgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsIFRydWUsIEZhbHNlLCBkKToKKyAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZC5leHBhbmQoJyR7bGliZGlyfS9wZXJsLyR7UFZ9JyksIHInLipcLnQoKScsCisgICAgICAgICAgICAnJHtQTn0tcHRlc3QlcycsICclcycsIHJlY3Vyc2l2ZT1UcnVlLCBtYXRjaF9wYXRoPVRydWUpCit9CisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICIke1BOfS1tb2R1bGVzICR7UE59LWRvYyBzZWQiCisKKyMgVGhlIHBlcmwtcHRlc3QgcGFja2FnZSBjb250YWlucyBQZXJsIGludGVybmFsIG1vZHVsZXMgYW5kIGdlbmVyYXRpbmcgZmlsZQorIyBkZXBlbmRlbmNpZXMgZm9yIGl0IGNhdXNlcyBwcm9ibGVtcy4KK1NLSVBfRklMRURFUFNfJHtQTn0tcHRlc3QgPSAnMScKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L3BlcmxfNS4yOC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvcGVybF81LjI4LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM5NDhhNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L3BlcmxfNS4yOC4xLmJiCkBAIC0wLDAgKzEsMzA0IEBACitTVU1NQVJZID0gIlBlcmwgc2NyaXB0aW5nIGxhbmd1YWdlIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5wZXJsLm9yZy8iCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NvcHlpbmc7bWQ1PTViMTIyYTM2ZDBmNmRjNTUyNzlhMGViYzY5ZjNjNjBiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0FydGlzdGljO21kNT03MWE0ZDVkOWFjYzE4YzA5NTJhNmRmMjIxOGJiNjhkYSBcCisgICAgICAgICAgICAgICAgICAgICIKKworCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LmNwYW4ub3JnL3NyYy81LjAvcGVybC0ke1BWfS50YXIuZ3o7bmFtZT1wZXJsIFwKKyAgICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2Fyc3YvcGVybC1jcm9zcy9yZWxlYXNlcy9kb3dubG9hZC8xLjIuMi9wZXJsLWNyb3NzLTEuMi4yLnRhci5nejtuYW1lPXBlcmwtY3Jvc3MgXAorICAgICAgICAgICBmaWxlOi8vcGVybC1yZGVwZW5kcy50eHQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmVfdG9vbC5zaC1kby1ub3QtcXVvdGUtdGhlLWFyZ3VtZW50LXRvLWNvbW1hLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRXh0VXRpbHMtTWFrZU1ha2VyLWFkZC1MREZMQUdTLXdoZW4tbGlua2luZy1iaW5hcnktbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVNvbWVob3ctdGhpcy1tb2R1bGUtYnJlYWtzLXRocm91Z2gtdGhlLXBlcmwtd3JhcHBlci0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZXJybm9fdmVyLmRpZmYgXAorICAgICAgICAgICBmaWxlOi8vbmF0aXZlLXBlcmxpbmMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1wZXJsLWNyb3NzLWFkZC1MREZMQUdTLXdoZW4tbGlua2luZy1saWJwZXJsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3BlcmwtZHlubG9hZGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlX3BhdGguc2gtZG8tbm90LWhhcmRjb2RlLXByZWZpeC1saWItYXMtbGlici5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgXAorICAgICAgICAgICBmaWxlOi8vcGVybC1jb25maWdwbS1zd2l0Y2gucGF0Y2ggXAorIgorCitTUkNfVVJJW3BlcmwubWQ1c3VtXSA9ICI4MzgxOThjNDNkNGYzOWQ3YWY3OTdlMmY1OWMyYmVlNSIKK1NSQ19VUklbcGVybC5zaGEyNTZzdW1dID0gIjNlYmY4NWZlNjVkZjJlZTE2NWIyMjU5NjU0MGI3ZDVkNDJmODRkNGI3MmQ4NDgzNGY3NGUyZTBiODk1NmMzNDciCitTUkNfVVJJW3BlcmwtY3Jvc3MubWQ1c3VtXSA9ICI5YTZjMDU0OTdiZGRlOWEzMTA2ZTNiZTkyNDZmNGRhMSIKK1NSQ19VUklbcGVybC1jcm9zcy5zaGEyNTZzdW1dID0gImU2OTg3ODM4ZjI3ZDhjZDMzNjhlYTY4ZmM1NmE2OGNjNTIzNzE1MDU5NTA5MjdiOGI3YzVjYjc2ZTNhOTRjYWEiCisKK1BSID0gInIxIgorCitTID0gIiR7V09SS0RJUn0vcGVybC0ke1BWfSIKKworaW5oZXJpdCB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KKworREVQRU5EUyArPSAiZGIgZ2RibSB6bGliIHZpcnR1YWwvY3J5cHQiCisKK1BFUkxfTElCX1ZFUiA9ICIke0AnLicuam9pbihkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzA6Ml0pfS4wIgorCitkb191bnBhY2tfYXBwZW5kKCkgeworICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygnZG9fY29weV9wZXJsY3Jvc3MnLCBkKQorfQorCitkb19jb3B5X3Blcmxjcm9zcygpIHsKKyAgICBjcCAtcmYgJHtXT1JLRElSfS9wZXJsLWNyb3NzKi8qICR7U30KK30KKworZG9fY29uZmlndXJlX2NsYXNzLXRhcmdldCgpIHsKKyAgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0gLS1saWJkaXI9JHtsaWJkaXJ9IFwKKyAgICAtLXRhcmdldD0ke1RBUkdFVF9TWVN9IFwKKyAgICAtRHVzZXNocnBsaWIgXAorICAgIC1Ec29uYW1lPWxpYnBlcmwuc28uNSBcCisgICAgLUR2ZW5kb3JwcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtRGFyY2hsaWJleHA9JHtTVEFHSU5HX0xJQkRJUn0vcGVybDUvJHtQVn0vJHtUQVJHRVRfQVJDSH0tbGludXgKKworICAgICNwZXJsLmMgdXNlcyBhbiBBUkNITElCX0VYUCBkZWZpbmUgdG8gZ2VuZXJhdGUgY29tcGlsZS10aW1lIGNvZGUgdGhhdAorICAgICNhZGRzIHRoZSBhcmNobGliZXhwIHBhdGggdG8gQElOQyBkdXJpbmcgcnVuLXRpbWUgaW5pdGlhbGl6YXRpb24gb2YgYQorICAgICNuZXcgcGVybCBpbnRlcnByZXRlci4KKworICAgICNCZWNhdXNlIHdlJ3ZlIGNoYW5nZWQgdGhpcyB2YWx1ZSBpbiBhIHRlbXBvcmFyeSB3YXkgdG8gbWFrZSBpdAorICAgICNwb3NzaWJsZSB0byB1c2UgRXh0VXRpbHM6OkVtYmVkIGluIHRoZSB0YXJnZXQgYnVpbGQgKHRoZSB0ZW1wb3JhcnkKKyAgICAjdmFsdWUgaW4gY29uZmlnLnNoIGdldHMgcmUtc3RyaXBwZWQgb3V0IGR1cmluZyBwYWNrYWdpbmcpLCB0aGUKKyAgICAjQVJDSExJQl9FWFAgdmFsdWUgdGhhdCBnZXRzIGdlbmVyYXRlZCBzdGlsbCB1c2VzIHRoZSB0ZW1wb3JhcnkgdmVyc2lvbgorICAgICNpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBleHBlY3RlZCB2ZXJzaW9uIChpLmUuIGJlY2F1c2VzIGl0J3MgaW4gdGhlCisgICAgI2dlbmVyYXRlZCBjb25maWcuaCwgaXQgZG9lc24ndCBnZXQgc3RyaXBwZWQgb3V0IGR1cmluZyBwYWNrYWdpbmcgbGlrZQorICAgICN0aGUgb3RoZXJzIGluIGNvbmZpZy5zaCkuCisKKyAgICBzZWQgLWkgLWUgInMsJHtTVEFHSU5HX0xJQkRJUn0sJHtsaWJkaXJ9LGciIGNvbmZpZy5oCit9CisKK2RvX2NvbmZpZ3VyZV9jbGFzcy1uYXRpdmVzZGsoKSB7CisgICAgLi9jb25maWd1cmUgLS1wcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtLXRhcmdldD0ke1RBUkdFVF9TWVN9IFwKKyAgICAtRHVzZXNocnBsaWIgXAorICAgIC1Ec29uYW1lPWxpYnBlcmwuc28uNSBcCisgICAgLUR2ZW5kb3JwcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtRGFyY2hsaWJleHA9JHtTVEFHSU5HX0xJQkRJUn0vcGVybDUvJHtQVn0vJHtUQVJHRVRfQVJDSH0tbGludXgKKworICAgICMgU2VlIHRoZSBjb21tZW50IGFib3ZlCisgICAgc2VkIC1pIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSxnIiBjb25maWcuaAorfQorCitkb19jb25maWd1cmVfY2xhc3MtbmF0aXZlKCkgeworICAgIC4vY29uZmlndXJlIC0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgLURiaW49JHtiaW5kaXJ9L3BlcmwtbmF0aXZlIFwKKyAgICAtRHVzZXNocnBsaWIgXAorICAgIC1Ec29uYW1lPWxpYnBlcmwuc28uNSBcCisgICAgLUR2ZW5kb3JwcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtVWlfeGxvY2FsZQorfQorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wZXJsNQorICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wZXJsNS8ke1BWfS8KKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vcGVybDUvJHtQVn0vRXh0VXRpbHMvCisKKyAgICAjIFNhdmUgbmF0aXZlIGNvbmZpZworICAgIGluc3RhbGwgY29uZmlnLnNoICR7RH0ke2xpYmRpcn0vcGVybDUKKyAgICBpbnN0YWxsIGxpYi9Db25maWcucG0gJHtEfSR7bGliZGlyfS9wZXJsNS8ke1BWfS8KKyAgICBpbnN0YWxsIGxpYi9FeHRVdGlscy90eXBlbWFwICR7RH0ke2xpYmRpcn0vcGVybDUvJHtQVn0vRXh0VXRpbHMvCisKKyAgICAjIEZpeCB1cCBzaGFyZWQgbGlicmFyeQorICAgIHJtICR7RH0vJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyovQ09SRS9saWJwZXJsLnNvCisgICAgbG4gLXNmIC4uLy4uLy4uLy4uL2xpYnBlcmwuc28uJHtQRVJMX0xJQl9WRVJ9ICQoZWNobyAke0R9LyR7bGliZGlyfS9wZXJsNS8ke1BWfS8qL0NPUkUpL2xpYnBlcmwuc28KK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgICMgVGhpcyBpcyB1c2VkIHRvIHN1YnN0aXR1dGUgdGFyZ2V0IGNvbmZpZ3VyYXRpb24gd2hlbiBydW5uaW5nIG5hdGl2ZSBwZXJsIHZpYSBwZXJsLWNvbmZpZ3BtLXN3aXRjaC5wYXRjaAorICAgIGxuIC1zIENvbmZpZ19oZWF2eS5wbCAke0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyR7VEFSR0VUX0FSQ0h9LWxpbnV4L0NvbmZpZ19oZWF2eS10YXJnZXQucGwKKworfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsoKSB7CisgICAgIyBUaGlzIGlzIHVzZWQgdG8gc3Vic3RpdHV0ZSB0YXJnZXQgY29uZmlndXJhdGlvbiB3aGVuIHJ1bm5pbmcgbmF0aXZlIHBlcmwgdmlhIHBlcmwtY29uZmlncG0tc3dpdGNoLnBhdGNoCisgICAgbG4gLXMgQ29uZmlnX2hlYXZ5LnBsICR7RH0ke2xpYmRpcn0vcGVybDUvJHtQVn0vJHtUQVJHRVRfQVJDSH0tbGludXgvQ29uZmlnX2hlYXZ5LXRhcmdldC5wbAorCisgICAgY3JlYXRlX3dyYXBwZXIgJHtEfSR7YmluZGlyfS9wZXJsIFwKKyAgICAgICAgUEVSTDVMSUI9JyRQRVJMNUxJQjokT0VDT1JFX05BVElWRV9TWVNST09ULyR7bGliZGlyX25hdGl2ZXNka30vcGVybDUvc2l0ZV9wZXJsLyR7UFZ9OiRPRUNPUkVfTkFUSVZFX1NZU1JPT1QvJHtsaWJkaXJfbmF0aXZlc2RrfS9wZXJsNS92ZW5kb3JfcGVybC8ke1BWfTokT0VDT1JFX05BVElWRV9TWVNST09ULyR7bGliZGlyX25hdGl2ZXNka30vcGVybDUvJHtQVn0nCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgIyBUaG9zZSB3cmFwcGVycyBtZWFuIHRoYXQgcGVybCBpbnN0YWxsZWQgZnJvbSBzc3RhdGUgKHdoaWNoIG1heSBjaGFuZ2UKKyAgICAjIHBhdGggbG9jYXRpb24pIHdvcmtzIGFuZCB0aGF0IGluIHRoZSBuYXRpdmVzZGsgY2FzZSwgdGhlIFNESyBjYW4gYmUKKyAgICAjIGluc3RhbGxlZCB0byBhIGRpZmZlcmVudCBsb2NhdGlvbiBmcm9tIHRoZSBvbmUgaXQgd2FzIGJ1aWx0IGZvci4KKyAgICBjcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L3BlcmwtbmF0aXZlL3BlcmwgUEVSTDVMSUI9JyRQRVJMNUxJQjoke1NUQUdJTkdfTElCRElSfS9wZXJsNS9zaXRlX3BlcmwvJHtQVn06JHtTVEFHSU5HX0xJQkRJUn0vcGVybDUvdmVuZG9yX3BlcmwvJHtQVn06JHtTVEFHSU5HX0xJQkRJUn0vcGVybDUvJHtQVn0nCisKKyAgICAjIFVzZSAvdXNyL2Jpbi9lbnYgbmF0aXZlcGVybCBmb3IgdGhlIHBlcmwgc2NyaXB0LgorICAgIGZvciBmIGluIGBncmVwIC1JbCAnIyEgKiR7YmluZGlyfS9wZXJsJyAke0R9LyR7YmluZGlyfS8qYDsgZG8KKyAgICAgICAgICAgIHNlZCAtaSAtZSAnc3wke2JpbmRpcn0vcGVybHwvdXNyL2Jpbi9lbnYgbmF0aXZlcGVybHwnICRmCisgICAgZG9uZQorfQorCitQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gInBlcmxfcGFja2FnZV9wcmVwcm9jZXNzIgorCitwZXJsX3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7CisgICAgICAgICMgRml4IHVwIGluc3RhbGxlZCBjb25maWd1cmF0aW9uCisgICAgICAgIHNlZCAtaSAtZSAicywke0R9LCxnIiBcCisgICAgICAgICAgICAgICAtZSAicywke0RFQlVHX1BSRUZJWF9NQVB9LCxnIiBcCisgICAgICAgICAgICAgICAtZSAicywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9IT1NUfSwsZyIgXAorICAgICAgICAgICAgICAgLWUgInMsLWlzeXN0ZW0ke1NUQUdJTkdfSU5DRElSfSAsLGciIFwKKyAgICAgICAgICAgICAgIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSxnIiBcCisgICAgICAgICAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSfSwke2JpbmRpcn0sZyIgXAorICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0lOQ0RJUn0sJHtpbmNsdWRlZGlyfSxnIiBcCisgICAgICAgICAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSX05BVElWRX0vcGVybC1uYXRpdmUvLCR7YmluZGlyfS8sZyIgXAorICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LywsZyIgXAorICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LyR7VEFSR0VUX1BSRUZJWH0sJHtiaW5kaXJ9LGciIFwKKyAgICAgICAgICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1R9OjpnJyBcCisgICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L2gyeHMgXAorICAgICAgICAgICAgJHtQS0dEfSR7YmluZGlyfS9oMnBoIFwKKyAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kMm1hbiBcCisgICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L3BvZDJ0ZXh0IFwKKyAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kMnVzYWdlIFwKKyAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kY2hlY2tlciBcCisgICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L3BvZHNlbGVjdCBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyR7VEFSR0VUX0FSQ0h9LWxpbnV4L0NPUkUvY29uZmlnLmggXAorICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsNS8ke1BWfS8ke1RBUkdFVF9BUkNIfS1saW51eC9DT1JFL3BlcmwuaCBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyR7VEFSR0VUX0FSQ0h9LWxpbnV4L0NPUkUvcHAuaCBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L0NvbmZpZy5wbSBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyR7VEFSR0VUX0FSQ0h9LWxpbnV4L0NvbmZpZy5wbSBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyR7VEFSR0VUX0FSQ0h9LWxpbnV4L0NvbmZpZy5wb2QgXAorICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsNS8ke1BWfS8ke1RBUkdFVF9BUkNIfS1saW51eC9Db25maWdfaGVhdnkucGwgXAorICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsNS8ke1BWfS9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbSBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L0ZpbGVDYWNoZS5wbSBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L3BvZC8qLnBvZCBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1L2NvbmZpZy5zaAorfQorCityZXF1aXJlIHBlcmwtcHRlc3QuaW5jCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS9wZXJsICR7YmluZGlyfS9wZXJsLnJlYWwgJHtiaW5kaXJ9L3Blcmwke1BWfSAke2xpYmRpcn0vbGlicGVybC5zbyogXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1L3NpdGVfcGVybCBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vQ29uZmlnLnBtIFwKKyAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsNS8ke1BWfS8qL0NvbmZpZ19oZWF2eS10YXJnZXQucGwgXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1L2NvbmZpZy5zaCBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vc3RyaWN0LnBtIFwKKyAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsNS8ke1BWfS93YXJuaW5ncy5wbSBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vd2FybmluZ3MgXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L3ZhcnMucG0gXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1L3NpdGVfcGVybCBcCisgICAgICAgICAgICAgICAiCitSUFJPVklERVNfJHtQTn0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCBwZXJsLW1vZHVsZS12YXJzIHBlcmwtbW9kdWxlLWNvbmZpZyBwZXJsLW1vZHVsZS13YXJuaW5ncyBcCisgICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorCitGSUxFU18ke1BOfS1zdGF0aWNkZXZfYXBwZW5kID0gIiAke2xpYmRpcn0vcGVybDUvJHtQVn0vKi9DT1JFL2xpYnBlcmwuYSIKKworRklMRVNfJHtQTn0tZGV2X2FwcGVuZCA9ICIgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyovQ09SRSIKKworRklMRVNfJHtQTn0tZG9jX2FwcGVuZCA9ICIgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L1VuaWNvZGUvQ29sbGF0ZS8qLnR4dCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vKi8ucGFja2xpc3QgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L0V4dFV0aWxzL01BTklGRVNULlNLSVAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L0V4dFV0aWxzL3hzdWJwcCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vRXh0VXRpbHMvdHlwZW1hcCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vRW5jb2RlL2VuY29kZS5oIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiCitQQUNLQUdFUyArPSAiJHtQTn0tbWlzYyIKKworRklMRVNfJHtQTn0tbWlzYyA9ICIke2JpbmRpcn0vKiIKKworUEFDS0FHRVMgKz0gIiR7UE59LXBvZCIKKworRklMRVNfJHtQTn0tcG9kID0gIiR7bGliZGlyfS9wZXJsNS8ke1BWfS9wb2QgXAorICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsNS8ke1BWfS8qLnBvZCBcCisgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyovKi5wb2QgXAorICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsNS8ke1BWfS8qLyovKi5wb2QgXCAKKyAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vKi8qLyovKi5wb2QgXCAKKyAgICAgICAgICAgICAgICAgICIKKworUEFDS0FHRVMgKz0gIiR7UE59LW1vZHVsZS1jcGFuICR7UE59LW1vZHVsZS11bmljb3JlIgorCitGSUxFU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L0NQQU4gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAiCitGSUxFU18ke1BOfS1tb2R1bGUtdW5pY29yZSArPSAiJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L3VuaWNvcmUiCisKKyMgQ3JlYXRlIGEgcGVybC1tb2R1bGVzIHBhY2thZ2UgcmVjb21tZW5kaW5nIGFsbCB0aGUgb3RoZXIgcGVybAorIyBwYWNrYWdlcyAoYWN0dWFsbHkgdGhlIG5vbiBtb2R1bGVzIHBhY2thZ2VzIGFuZCBub3QgY3JlYXRlZCB0b28pCitBTExPV19FTVBUWV8ke1BOfS1tb2R1bGVzID0gIjEiCitQQUNLQUdFUyArPSAiJHtQTn0tbW9kdWxlcyAiCisKK1BBQ0tBR0VTUExJVEZVTkNTX3ByZXBlbmQgPSAic3BsaXRfcGVybF9wYWNrYWdlcyAiCisKK3B5dGhvbiBzcGxpdF9wZXJsX3BhY2thZ2VzICgpIHsKKyAgICBsaWJkaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsIHInLiovYXV0by8oW14uXSopL1teL10qXC4oc298bGR8aXh8YWwpJywgJyR7UE59LW1vZHVsZS0lcycsICdwZXJsIG1vZHVsZSAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBtYXRjaF9wYXRoPVRydWUsIHByZXBlbmQ9RmFsc2UpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCByJy4qbGludXgvKFteXC9dKilcLnBtJywgJyR7UE59LW1vZHVsZS0lcycsICdwZXJsIG1vZHVsZSAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBhbGxvd19kaXJzPUZhbHNlLCBtYXRjaF9wYXRoPVRydWUsIHByZXBlbmQ9RmFsc2UpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCByJ01vZHVsZS8oW15cL10qKVwucG0nLCAnJHtQTn0tbW9kdWxlLSVzJywgJ3BlcmwgbW9kdWxlICVzJywgcmVjdXJzaXZlPVRydWUsIGFsbG93X2RpcnM9RmFsc2UsIG1hdGNoX3BhdGg9VHJ1ZSwgcHJlcGVuZD1GYWxzZSkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsIHInTW9kdWxlLyhbXlwvXSopLy4qJywgJyR7UE59LW1vZHVsZS0lcycsICdwZXJsIG1vZHVsZSAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBhbGxvd19kaXJzPUZhbHNlLCBtYXRjaF9wYXRoPVRydWUsIHByZXBlbmQ9RmFsc2UpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCByJy4qbGludXgvKFteXC9dLiopXC4ocG18cGx8ZTJ4KScsICcke1BOfS1tb2R1bGUtJXMnLCAncGVybCBtb2R1bGUgJXMnLCByZWN1cnNpdmU9VHJ1ZSwgYWxsb3dfZGlycz1GYWxzZSwgbWF0Y2hfcGF0aD1UcnVlLCBwcmVwZW5kPUZhbHNlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxpYmRpciwgcicoXig/IShDUEFOXC98Q1BBTlBMVVNcL3xNb2R1bGVcL3x1bmljb3JlXC8pW15cL10pLiopXC4ocG18cGx8ZTJ4KScsICcke1BOfS1tb2R1bGUtJXMnLCAncGVybCBtb2R1bGUgJXMnLCByZWN1cnNpdmU9VHJ1ZSwgYWxsb3dfZGlycz1GYWxzZSwgbWF0Y2hfcGF0aD1UcnVlLCBwcmVwZW5kPUZhbHNlKQorCisgICAgIyBwZXJsLW1vZHVsZXMgc2hvdWxkIHJlY29tbWVuZCBldmVyeSBwZXJsIG1vZHVsZSwgYW5kIG9ubHkgdGhlCisgICAgIyBtb2R1bGVzLiBEb24ndCBhdHRlbXB0IHRvIHVzZSB0aGUgcmVzdWx0IG9mIGRvX3NwbGl0X3BhY2thZ2VzKCkgYXMgc29tZQorICAgICMgbW9kdWxlcyBhcmUgbWFudWFsbHkgc3BsaXQgKGVnLiBwZXJsLW1vZHVsZS11bmljb3JlKS4KKyAgICBwYWNrYWdlcyA9IGZpbHRlcihsYW1iZGEgcDogJ3BlcmwtbW9kdWxlLScgaW4gcCwgZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKSkKKyAgICBkLnNldFZhcihkLmV4cGFuZCgiUlJFQ09NTUVORFNfJHtQTn0tbW9kdWxlcyIpLCAnICcuam9pbihwYWNrYWdlcykpCisKKyAgICAjIFJlYWQgdGhlIHByZS1nZW5lcmF0ZWQgZGVwZW5kZW5jeSBmaWxlLCBhbmQgdXNlIGl0IHRvIHNldCBtb2R1bGUgZGVwZW5kZWNpZXMKKyAgICBmb3IgbGluZSBpbiBvcGVuKGQuZXhwYW5kKCIke1dPUktESVJ9IikgKyAnL3BlcmwtcmRlcGVuZHMudHh0JykucmVhZGxpbmVzKCk6CisgICAgICAgIHNwbGl0bGluZSA9IGxpbmUuc3BsaXQoKQorICAgICAgICBtb2R1bGUgPSBzcGxpdGxpbmVbMF0ucmVwbGFjZSgiUkRFUEVORFNfcGVybCIsICJSREVQRU5EU18ke1BOfSIpCisgICAgICAgIGRlcGVuZHMgPSBzcGxpdGxpbmVbMl0uc3RyaXAoJyInKS5yZXBsYWNlKCJwZXJsLW1vZHVsZSIsICIke1BOfS1tb2R1bGUiKQorICAgICAgICBkLmFwcGVuZFZhcihkLmV4cGFuZChtb2R1bGUpLCAiICIgKyBkZXBlbmRzKQorfQorCitQQUNLQUdFU19EWU5BTUlDX2NsYXNzLXRhcmdldCArPSAiXnBlcmwtbW9kdWxlLS4qIgorUEFDS0FHRVNfRFlOQU1JQ19jbGFzcy1uYXRpdmVzZGsgKz0gIl5uYXRpdmVzZGstcGVybC1tb2R1bGUtLioiCisKK1JERVBFTkRTXyR7UE59LW1pc2MgKz0gInBlcmwgcGVybC1tb2R1bGVzIgorUkRFUEVORFNfJHtQTn0tcG9kICs9ICJwZXJsIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1NTVEFURV9TQ0FOX0ZJTEVTICs9ICIqLnBtICoucG9kICouaCAqLnBsICouc2giCisKK2RvX2NyZWF0ZV9yZGVwZW5kc19pbmMoKSB7CisgICAgY2QgJHtXT1JLRElSfQorICAgIGNhdCA8PCdFT1BSRUFNQkxFJyA+ICR7V09SS0RJUn0vcGVybC1yZGVwZW5kcy5pbmMKKworIyBTb21lIGFkZGl0aW9uYWwgZGVwZW5kZW5jaWVzIHRoYXQgdGhlIGFib3ZlIGRvZXNuJ3QgbWFuYWdlIHRvIGZpZ3VyZSBvdXQKK1JERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKK1JERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LWNhbGMiCitSREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkLXF1ZXVlICs9ICIke1BOfS1tb2R1bGUtYXR0cmlidXRlcyIKK1JERVBFTkRTXyR7UE59LW1vZHVsZS1vdmVybG9hZCArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkaW5nIgorCisjIEdlbmVyYXRlZCBkZXBlbmRzIGxpc3QgYmV5b25kIHRoaXMgbGluZQorRU9QUkVBTUJMRQorICAgIHRlc3QgLWUgcGFja2FnZXMtc3BsaXQubmV3ICYmIHJtIC1yZiBwYWNrYWdlcy1zcGxpdC5uZXcKKyAgICBjcCAtciBwYWNrYWdlcy1zcGxpdCBwYWNrYWdlcy1zcGxpdC5uZXcgJiYgY2QgcGFja2FnZXMtc3BsaXQubmV3CisgICAgZmluZCAuIC1uYW1lIFwqLnBtIHwgeGFyZ3Mgc2VkIC1pICcvXj1oZWFkLywvXj1jdXQvZCcKKyAgICBlZ3JlcCAtciAiXlxzKihcPHVzZSAuKnxcPHJlcXVpcmUgLiopOz8iIHBlcmwtbW9kdWxlLSogLS1pbmNsdWRlPSIqLnBtIiB8IFwKKyAgICBzZWQgInMvXC8uKlwucG06ICovICs9IC9nO3MvW1wiXCddLy9nO3MvOy4qL1wiL2c7cy8rPSAuKlwocmVxdWlyZVx8dXNlXClcPiAqLys9IFwicGVybC1tb2R1bGUtL2c7cy9DUEFOUExVUzo6LiovY3BhbnBsdXMvZztzL0NQQU46Oi4qL2NwYW4vZztzLzo6Ly0vZztzLyBbXitcIl0uKi8vZztzL18vLS9nO3MvXC5wbFwiJC9cIi87cy9cIlw/XCQvXCIvO3MvKC8vOyIgfCB0ciBbOnVwcGVyOl0gWzpsb3dlcjpdIHwgXAorICAgIGF3ayAne2lmICgkMyAhPSAiXHgyMiIkMSJceDIyIil7IHByaW50ICQwfX0nfCBcCisgICAgZ3JlcCAtdiAtZSAiXC12bXNcLSIgLWUgbW9kdWxlLTUgLWUgIl4kIiAtZSAiXFwkIiAtZSB5b3VyIC1lIHRrIC1lIGF1dG9wZXJsIC1lIGh0bWwgLWUgaHR0cCAtZSBwYXJzZS1jcGFuIC1lIHBlcmwtb3N0eXBlIC1lIG5kYm0tZmlsZSAtZSBtb2R1bGUtbWFjIC1lIGZjZ2kgLWUgbHdwIC1lIGRiZCAtZSBkYml4IHwgXAorICAgIHNvcnQgLXUgfCBcCisgICAgc2VkICdzL14vUkRFUEVORFNfLztzL3BlcmwtbW9kdWxlLS8ke1BOfS1tb2R1bGUtL2c7cy9tb2R1bGUtXChtb2R1bGUtXCkvXDEvZztzL1wobW9kdWxlLWxvYWRcKS1jb25kaXRpb25hbC9cMS9nO3MvZW5jb2RlLWNvbmZpZ2xvY2FsLyYtcG0vOycgfCBcCisgICAgZWdyZXAgLXd2ICc9Pnxtb2R1bGUtYXxtb2R1bGUtYXBhY2hlLj98bW9kdWxlLWFwcnxtb2R1bGUtYXV0aGVuLXNhc2x8bW9kdWxlLWItYXNtZGF0YXxtb2R1bGUtY29udmVydC1lYmNkaWN8bW9kdWxlLWRldmVsLXNpemV8bW9kdWxlLWRpZ2VzdC1wZXJsLW1kNXxtb2R1bGUtZHVtcHZhbHVlfG1vZHVsZS1leHR1dGlscy1jb25zdGFudC1hYWFyZ2g1Nmhhc2h8bW9kdWxlLWV4dHV0aWxzLXhzc3ltc2V0fG1vZHVsZS1maWxlLWJzZGdsb2J8bW9kdWxlLWZvcnxtb2R1bGUtaXR8bW9kdWxlLWlvLXNvY2tldC1pbmV0Nnxtb2R1bGUtaW8tc29ja2V0LXNzbHxtb2R1bGUtaW8tc3RyaW5nfG1vZHVsZS1pcGMtc3lzdGVtLXNpbXBsZXxtb2R1bGUtbGV4aWNhbHxtb2R1bGUtbG9jYWwtbGlifG1ldGFkYXRhfG1vZHVsZS1tb2RwZXJsLXV0aWx8bW9kdWxlLXBsdWdnYWJsZS1vYmplY3R8bW9kdWxlLXRlc3QtYnVpbGRlci1pby1zY2FsYXJ8bW9kdWxlLXRlc3QyfG1vZHVsZS10ZXh0LXVuaWRlY29kZXxtb2R1bGUtdW5pY29yZXxtb2R1bGUtd2luMzJ8b2JqZWN0c1xzbG9hZHxzeXNjYWxsLnBofHN5c3RlbWluZm8ucGh8JXMnIHwgXAorICAgIGVncmVwIC13diAnPT58bW9kdWxlLWFsZ29yaXRobS1kaWZmfG1vZHVsZS1jYXJwfG1vZHVsZS1jPGV4dHV0aWxzLW1tLXVuaXg+fG1vZHVsZS1lbmNvZGUtaGFuZXh0cmF8bW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci12ZXJzaW9uLXJlZ2V4fG1vZHVsZS1maWxlLXNwZWN8bW9kdWxlLWlvLWNvbXByZXNzLWx6bWF8bW9kdWxlLWxvY2FsZS1tYWtldGV4dC1sZXhpY29ufG1vZHVsZS1sb2ctYWdlbnR8bW9kdWxlLW1ldGEtbm90YXRpb258bW9kdWxlLW5ldC1sb2NhbGNmZ3xtb2R1bGUtbmV0LXBpbmctZXh0ZXJuYWx8bW9kdWxlLWItZGVwYXJzZXxtb2R1bGUtc2NhbGFyLXV0aWx8bW9kdWxlLXNvbWUtbW9kdWxlfG1vZHVsZS1zeW1ib2x8bW9kdWxlLXVyaXxtb2R1bGUtd2luMzJhcGktZmlsZScgPj4gJHtXT1JLRElSfS9wZXJsLXJkZXBlbmRzLmdlbmVyYXRlZAorICAgIGNwICR7V09SS0RJUn0vcGVybC1yZGVwZW5kcy5nZW5lcmF0ZWQgJHtUSElTRElSfS9maWxlcy9wZXJsLXJkZXBlbmRzLnR4dAorfQorCisjIGJpdGJha2UgcGVybCAtYyBjcmVhdGVfcmRlcGVuZHNfaW5jCithZGR0YXNrIGRvX2NyZWF0ZV9yZGVwZW5kc19pbmMKKworU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTICs9ICJwZXJsX3N5c3Jvb3RfY3JlYXRlX3dyYXBwZXIiCisKK3Blcmxfc3lzcm9vdF9jcmVhdGVfd3JhcHBlciAoKSB7CisgICAgICAgbWtkaXIgLXAgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJ9CisgICAgICAgIyBDcmVhdGUgYSB3cmFwcGVyIHRoYXQgL3Vzci9iaW4vZW52IHBlcmwgd2lsbCB1c2UgdG8gZ2V0IHBlcmwtbmF0aXZlLgorICAgICAgICMgVGhpcyBNVVNUIGxpdmUgaW4gdGhlIG5vcm1hbCBiaW5kaXIuCisgICAgICAgY2F0ID4gJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJ9L25hdGl2ZXBlcmwgPDwgRU9GCisjIS9iaW4vc2gKK3JlYWxwYXRoPVxgcmVhZGxpbmsgLWZuIFwkMFxgCitleGVjIFxgZGlybmFtZSBcJHJlYWxwYXRoXGAvcGVybC1uYXRpdmUvcGVybCAiXCRAIgorRU9GCisgICAgICAgY2htb2QgMDc1NSAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0vbmF0aXZlcGVybAorICAgICAgIGNhdCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0vbmF0aXZlcGVybAorfQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmVycm9yLXBlcmxfMC4xNzAyNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliZXJyb3ItcGVybF8wLjE3MDI2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjQyYjQ3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliZXJyb3ItcGVybF8wLjE3MDI2LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotU1VNTUFSWSA9ICJFcnJvciAtIEVycm9yL2V4Y2VwdGlvbiBoYW5kbGluZyBpbiBhbiBPTy1pc2ggd2F5IgotREVTQ1JJUFRJT04gPSAiVGhlIEVycm9yIHBhY2thZ2UgcHJvdmlkZXMgdHdvIGludGVyZmFjZXMuIEZpcnN0bHkgXAotRXJyb3IgcHJvdmlkZXMgYSBwcm9jZWR1cmFsIGludGVyZmFjZSB0byBleGNlcHRpb24gaGFuZGxpbmcuIFwKLVNlY29uZGx5IEVycm9yIGlzIGEgYmFzZSBjbGFzcyBmb3IgZXJyb3JzL2V4Y2VwdGlvbnMgdGhhdCBjYW4gXAotZWl0aGVyIGJlIHRocm93biwgZm9yIHN1YnNlcXVlbnQgY2F0Y2gsIG9yIGNhbiBzaW1wbHkgYmUgcmVjb3JkZWQuIgotCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04ZjM0OTlkMDllZTc0YTA1MGMwMzE5MzkxZmY5ZDEwMCIKLQotREVQRU5EUyArPSAicGVybCIKLQotU1JDX1VSSSA9ICJodHRwOi8vY3Bhbi5tZXRhY3Bhbi5vcmcvYXV0aG9ycy9pZC9TL1NIL1NITE9NSUYvRXJyb3ItJHtQVn0udGFyLmd6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMGRjZDk0NjQwZjYxN2RmMDJiNmQ2YzFlNGU5MjAxOGMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzc1OTBhOTYyY2Q3M2FlMDM0NzBlMWZmMTY0NTlhNmNiYzUyNzNmYzU3NjI2Yjg5ODFkYWI5YzI0MzMxNTVkOSIKLQotUyA9ICIke1dPUktESVJ9L0Vycm9yLSR7UFZ9IgotCi1pbmhlcml0IGNwYW4gcHRlc3QtcGVybAotCi1kb19jb21waWxlKCkgewotCWV4cG9ydCBMSUJDPSIkKGZpbmQgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9LyAtbmFtZSAnbGliYy0qLnNvJykiCi0JY3Bhbl9kb19jb21waWxlCi19Ci0KLWRvX2luc3RhbGxfcHJlcGVuZCgpIHsKLQkjIHRlc3QgcmVxdWlyZXMgIi1UIiAodGFpbnQpIGNvbW1hbmQgbGluZSBvcHRpb24KLQlybSAtcmYgJHtCfS90L3BvZC1jb3ZlcmFnZS50Ci19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJlcnJvci1wZXJsXzAuMTcwMjcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmVycm9yLXBlcmxfMC4xNzAyNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjFmNmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJlcnJvci1wZXJsXzAuMTcwMjcuYmIKQEAgLTAsMCArMSw0NyBAQAorU1VNTUFSWSA9ICJFcnJvciAtIEVycm9yL2V4Y2VwdGlvbiBoYW5kbGluZyBpbiBhbiBPTy1pc2ggd2F5IgorREVTQ1JJUFRJT04gPSAiVGhlIEVycm9yIHBhY2thZ2UgcHJvdmlkZXMgdHdvIGludGVyZmFjZXMuIEZpcnN0bHkgXAorRXJyb3IgcHJvdmlkZXMgYSBwcm9jZWR1cmFsIGludGVyZmFjZSB0byBleGNlcHRpb24gaGFuZGxpbmcuIFwKK1NlY29uZGx5IEVycm9yIGlzIGEgYmFzZSBjbGFzcyBmb3IgZXJyb3JzL2V4Y2VwdGlvbnMgdGhhdCBjYW4gXAorZWl0aGVyIGJlIHRocm93biwgZm9yIHN1YnNlcXVlbnQgY2F0Y2gsIG9yIGNhbiBzaW1wbHkgYmUgcmVjb3JkZWQuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9iaXRidWNrZXQub3JnL3NobG9taWYvcGVybC1lcnJvci5wbSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PThmMzQ5OWQwOWVlNzRhMDUwYzAzMTkzOTFmZjlkMTAwIgorCitERVBFTkRTICs9ICJwZXJsIgorCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICBwZXJsLW1vZHVsZS1jYXJwIFwKKyAgICBwZXJsLW1vZHVsZS1leHBvcnRlciBcCisgICAgcGVybC1tb2R1bGUtc2NhbGFyLXV0aWwgXAorICAgIHBlcmwtbW9kdWxlLW92ZXJsb2FkIFwKKyAgICBwZXJsLW1vZHVsZS1zdHJpY3QgXAorICAgIHBlcmwtbW9kdWxlLXZhcnMgXAorICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzIFwKKyIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiBcCisgICAgcGVybC1tb2R1bGUtYmFzZSBcCisgICAgcGVybC1tb2R1bGUtZmlsZS1zcGVjIFwKKyAgICBwZXJsLW1vZHVsZS1pby1oYW5kbGUgXAorICAgIHBlcmwtbW9kdWxlLWlwYy1vcGVuMyBcCisgICAgcGVybC1tb2R1bGUtbGliIFwKKyAgICBwZXJsLW1vZHVsZS10ZXN0LW1vcmUgXAorIgorCitTUkNfVVJJID0gImh0dHA6Ly9jcGFuLm1ldGFjcGFuLm9yZy9hdXRob3JzL2lkL1MvU0gvU0hMT01JRi9FcnJvci0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZWY5YjI4OTBmYjE0NGQ4MDQ1MjdiYTMyNTczZGQ1NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwN2IyYWM4Mjc1ZGZhMDQxNDQ3NDVhNmMxOTAwYTU5NjI4MGY4NjJiOTdkMjJiYWIwYzVjZTAyNjgyZWJkM2JlIgorCitTID0gIiR7V09SS0RJUn0vRXJyb3ItJHtQVn0iCisKK2luaGVyaXQgY3BhbiBwdGVzdC1wZXJsCisKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKwkjIHRlc3QgcmVxdWlyZXMgIi1UIiAodGFpbnQpIGNvbW1hbmQgbGluZSBvcHRpb24KKwlybSAtcmYgJHtCfS90L3BvZC1jb3ZlcmFnZS50Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLW5hdGl2ZV81LjI0LjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwtbmF0aXZlXzUuMjQuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODFkM2ZkNDguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLW5hdGl2ZV81LjI0LjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNDAgKzAsMCBAQAotcmVxdWlyZSBwZXJsLmluYwotCi0jIFdlIG5lZWQgZ251Z3JlcCAoZm9yIC1JKQotREVQRU5EUyA9ICJkYi1uYXRpdmUgZ3JlcC1uYXRpdmUgZ2RibS1uYXRpdmUgemxpYi1uYXRpdmUiCi0KLUVYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgotCi1TUkNfVVJJICs9ICJcCi0gICAgICAgICAgIGZpbGU6Ly9Db25maWd1cmUtbXVsdGlsaWIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcGVybC1jb25maWdwbS1zd2l0Y2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbmF0aXZlLW5vcGFja2xpc3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbmF0aXZlLXBlcmxpbmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vTU1fVW5peC5wbS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vZXJybm9fdmVyLmRpZmYgXAotICAgICAgICAgICBmaWxlOi8vZHluYWxvYWRlcmhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcGVybC1QYXRoVG9vbHMtZG9uLXQtZmlsdGVyLW91dC1ibGliLWZyb20tSU5DLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQ29uZmlndXJlLVJlbW92ZS1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZy1mb3ItbmF0aXZlLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9wZXJsLTUuMjYuMS1ndWFyZF9vbGRfbGliY3J5cHRfZml4LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRXh0VXRpbHMtTU1fVW5peC5wbS1maXgtcmFjZS1pc3N1ZXMucGF0Y2ggXAotICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjA0NjIyYmM0ZDM5NDFkYzdlYjU3MWM1MmI3YzAyOTkzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdmMDgwMjg3ZmY2NDc1MDI3MDY4OTg0M2FlOTQ1ZjAyMTU5YTMzY2I4ZjJmYzkxMDI0OGMxNWJlZmJhNWRiODQiCi0KLWluaGVyaXQgbmF0aXZlCi0KLU5BVElWRV9QQUNLQUdFX1BBVEhfU1VGRklYID0gIi8ke1BOfSIKLQotZXhwb3J0IExEPSIke0NDTER9IgotCi1kb19jb25maWd1cmUgKCkgewotCS4vQ29uZmlndXJlIFwKLQkJLURjYz0iJHtDQ30iIFwKLQkJLURjZmxhZ3M9IiR7Q0ZMQUdTfSIgXAotCQktRGxkZmxhZ3M9IiR7TERGTEFHU30iIFwKLQkJLURsZGRsZmxhZ3M9IiR7TERGTEFHU30gLXNoYXJlZCIgXAotCQktRGNmX2J5PSJPcGVuIEVtYmVkZGVkIiBcCi0JCS1EcHJlZml4PSR7cHJlZml4fSBcCi0JCS1EdmVuZG9ycHJlZml4PSR7cHJlZml4fSBcCi0JCS1Ec2l0ZXByZWZpeD0ke3ByZWZpeH0gXAotCQlcCi0JCS1EYmluPSR7U1RBR0lOR19CSU5ESVJ9LyR7UE59IFwKLQkJLURwcml2bGliPSR7U1RBR0lOR19MSUJESVJ9L3BlcmwvJHtQVn0gXAotCQktRGFyY2hsaWI9JHtTVEFHSU5HX0xJQkRJUn0vcGVybC8ke1BWfSBcCi0JCS1EdmVuZG9ybGliPSR7U1RBR0lOR19MSUJESVJ9L3BlcmwvdmVuZG9yX3BlcmwvJHtQVn0gXAotCQktRHZlbmRvcmFyY2g9JHtTVEFHSU5HX0xJQkRJUn0vcGVybC92ZW5kb3JfcGVybC8ke1BWfSBcCi0JCS1Ec2l0ZWxpYj0ke1NUQUdJTkdfTElCRElSfS9wZXJsL3NpdGVfcGVybC8ke1BWfSBcCi0JCS1Ec2l0ZWFyY2g9JHtTVEFHSU5HX0xJQkRJUn0vcGVybC9zaXRlX3BlcmwvJHtQVn0gXAotCQlcCi0JCS1EdXNlc2hycGxpYiBcCi0JCS1EdXNldGhyZWFkcyBcCi0JCS1EdXNlaXRocmVhZHMgXAotCQktRHVzZWxhcmdlZmlsZXMgXAotCQktRG5vZXh0ZW5zaW9ucz1PREJNX0ZpbGUgXAotCQktVWRfZG9zdWlkIFwKLQkJLVVpX2RiIFwKLQkJLVVpX25kYm0gXAotCQktVWlfZ2RibSBcCi0JCS1VaV9nZGJtX25kYm0gXAotCQktVWlfZ2RibW5kYm0gXAotCQktRGlfc2hhZG93IFwKLQkJLURpX3N5c2xvZyBcCi0JCS1EdXNlcGVybGlvIFwKLQkJLURtYW4zZXh0PTNwbSBcCi0JCS1Ec2VkPS9iaW4vc2VkIFwKLQkJLVVhZnMgXAotCQktVWRfY3NoIFwKLQkJLVV1c2VzZmlvIFwKLQkJLVV1c2VubSAtZGVzCi19Ci0KLWRvX2luc3RhbGwgKCkgewotCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAotCi0JIyBXZSBuZWVkIGEgaG9zdHBlcmwgbGluayBmb3IgYnVpbGRpbmcgcGVybAotCWxuIC1zZiBwZXJsJHtQVn0gJHtEfSR7YmluZGlyfS9ob3N0cGVybAotCi0gICAgICAgIGxuIC1zZiBwZXJsICR7RH0ke2xpYmRpcn0vcGVybDUKLQotCWluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L0NPUkUgXAotCSAgICAgICAgICAgJHtEfSR7ZGF0YWRpcn0vcGVybC8ke1BWfS9FeHRVdGlscwotCi0JIyBTYXZlIG5hdGl2ZSBjb25maWcgCi0JaW5zdGFsbCBjb25maWcuc2ggJHtEfSR7bGliZGlyfS9wZXJsCi0JaW5zdGFsbCBsaWIvQ29uZmlnLnBtICR7RH0ke2xpYmRpcn0vcGVybC8ke1BWfS8KLQlpbnN0YWxsIGxpYi9FeHRVdGlscy90eXBlbWFwICR7RH0ke2xpYmRpcn0vcGVybC8ke1BWfS9FeHRVdGlscy8KLQotCSMgcGVybCBzaGFyZWQgbGlicmFyeSBoZWFkZXJzCi0JIyByZWZlcmVuY2UgcGVybCA1LjIwLjAtMSBpbiBkZWJpYW46Ci0JIyBodHRwczovL3BhY2thZ2VzLmRlYmlhbi5vcmcvZXhwZXJpbWVudGFsL2kzODYvcGVybC9maWxlbGlzdAotCWZvciBpIGluIGF2LmggYml0Y291bnQuaCBjaGFyY2xhc3NfaW52bGlzdHMuaCBjb25maWcuaCBjb3AuaCBjdi5oIGRvc2lzaC5oIFwKLQkJZW1iZWQuaCBlbWJlZHZhci5oIEVYVEVSTi5oIGZha2VzZGlvLmggZmVhdHVyZS5oIGZvcm0uaCBnaXRfdmVyc2lvbi5oIFwKLQkJZ3YuaCBoYW5keS5oIGh2X2Z1bmMuaCBodi5oIGlubGluZS5oIElOVEVSTi5oIGludHJwdmFyLmggaXBlcmxzeXMuaCBcCi0JCWtleXdvcmRzLmggbDFfY2hhcl9jbGFzc190YWIuaCBtYWxsb2NfY3RsLmggbWV0YWNvbmZpZy5oIG1nX2RhdGEuaCBcCi0JCW1nLmggbWdfcmF3LmggbWdfdnRhYmxlLmggbXlkdHJhY2UuaCBub3N0ZGlvLmggb3Bjb2RlLmggb3AuaCBcCi0JCW9wbmFtZXMuaCBvcF9yZWdfY29tbW9uLmggb3ZlcmxvYWQuaCBwYWQuaCBwYXJzZXIuaCBwYXRjaGxldmVsLmggXAotCQlwZXJsYXBpLmggcGVybC5oIHBlcmxpby5oIHBlcmxpb2wuaCBwZXJsc2Rpby5oIHBlcmx2YXJzLmggcGVybHkuaCBcCi0JCXBwLmggcHBfcHJvdG8uaCBwcm90by5oIHJlZW50ci5oIHJlZ2NoYXJjbGFzcy5oIHJlZ2NvbXAuaCByZWdleHAuaCBcCi0JCXJlZ25vZGVzLmggc2NvcGUuaCBzdi5oIHRocmVhZC5oIHRpbWU2NF9jb25maWcuaCB0aW1lNjQuaCB1Y29uZmlnLmggXAotCQl1bmljb2RlX2NvbnN0YW50cy5oIHVuaXhpc2guaCB1dGY4LmggdXRmZWJjZGljLmggdXRpbC5oIHV1ZG1hcC5oIFwKLQkJdnV0aWwuaCB3YXJuaW5ncy5oIFhTVUIuaAotCWRvCi0JCWluc3RhbGwgJGkgJHtEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L0NPUkUKLQlkb25lCi0KLQkjIFRob3NlIHdyYXBwZXJzIG1lYW4gdGhhdCBwZXJsIGluc3RhbGxlZCBmcm9tIHNzdGF0ZSAod2hpY2ggbWF5IGNoYW5nZQotCSMgcGF0aCBsb2NhdGlvbikgd29ya3MgYW5kIHRoYXQgaW4gdGhlIG5hdGl2ZXNkayBjYXNlLCB0aGUgU0RLIGNhbiBiZQotCSMgaW5zdGFsbGVkIHRvIGEgZGlmZmVyZW50IGxvY2F0aW9uIGZyb20gdGhlIG9uZSBpdCB3YXMgYnVpbHQgZm9yLgotCWNyZWF0ZV93cmFwcGVyICR7RH0ke2JpbmRpcn0vcGVybCBQRVJMNUxJQj0nJFBFUkw1TElCOiR7U1RBR0lOR19MSUJESVJ9L3Blcmwvc2l0ZV9wZXJsLyR7UFZ9OiR7U1RBR0lOR19MSUJESVJ9L3BlcmwvdmVuZG9yX3BlcmwvJHtQVn06JHtTVEFHSU5HX0xJQkRJUn0vcGVybC8ke1BWfScKLQljcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L3Blcmwke1BWfSBQRVJMNUxJQj0nJFBFUkw1TElCOiR7U1RBR0lOR19MSUJESVJ9L3Blcmwvc2l0ZV9wZXJsLyR7UFZ9OiR7U1RBR0lOR19MSUJESVJ9L3BlcmwvdmVuZG9yX3BlcmwvJHtQVn06JHtTVEFHSU5HX0xJQkRJUn0vcGVybC8ke1BWfScKLQotCSMgVXNlIC91c3IvYmluL2VudiBuYXRpdmVwZXJsIGZvciB0aGUgcGVybCBzY3JpcHQuCi0JZm9yIGYgaW4gYGdyZXAgLUlsICcjISAqJHtiaW5kaXJ9L3BlcmwnICR7RH0vJHtiaW5kaXJ9LypgOyBkbwotCQlzZWQgLWkgLWUgJ3N8JHtiaW5kaXJ9L3Blcmx8L3Vzci9iaW4vZW52IG5hdGl2ZXBlcmx8JyAkZgotCWRvbmUKLQotCSMgVGhlIHBhY2tsaXN0IGlzIGxhcmdlIHdpdGggaGFyZGNvZGVkIHBhdGhzIG1lYW5pbmcgaXQgbmVlZHMgcmVsb2NhdGluZwotCSMgc28ganVzdCByZW1vdmUgaXQuCi0Jcm0gJHtEfSR7bGliZGlyfS9wZXJsLyR7UFZ9Ly5wYWNrbGlzdAotfQotCi1TWVNST09UX1BSRVBST0NFU1NfRlVOQ1MgKz0gInBlcmxfc3lzcm9vdF9jcmVhdGVfd3JhcHBlciIKLQotcGVybF9zeXNyb290X2NyZWF0ZV93cmFwcGVyICgpIHsKLQlta2RpciAtcCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0KLQkjIENyZWF0ZSBhIHdyYXBwZXIgdGhhdCAvdXNyL2Jpbi9lbnYgcGVybCB3aWxsIHVzZSB0byBnZXQgcGVybC1uYXRpdmUuCi0JIyBUaGlzIE1VU1QgbGl2ZSBpbiB0aGUgbm9ybWFsIGJpbmRpci4KLQljYXQgPiAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0vLi4vbmF0aXZlcGVybCA8PCBFT0YKLSMhL2Jpbi9zaAotcmVhbHBhdGg9XGByZWFkbGluayAtZm4gXCQwXGAKLWV4ZWMgXGBkaXJuYW1lIFwkcmVhbHBhdGhcYC9wZXJsLW5hdGl2ZS9wZXJsICJcJEAiCi1FT0YKLQljaG1vZCAwNzU1ICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyfS8uLi9uYXRpdmVwZXJsCi0JY2F0ICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyfS8uLi9uYXRpdmVwZXJsCi19Ci0KLSMgRml4IHRoZSBwYXRoIGluIHNzdGF0ZQotU1NUQVRFX1NDQU5fRklMRVMgKz0gIioucG0gKi5wb2QgKi5oICoucGwgKi5zaCIKLQotUEFDS0FHRVNfRFlOQU1JQ19jbGFzcy1uYXRpdmUgPSAiXnBlcmwtbW9kdWxlLS4qbmF0aXZlJCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC1wdGVzdC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwtcHRlc3QuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZDQ2NDQ4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC1wdGVzdC5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi1pbmhlcml0IHB0ZXN0Ci0KLVNSQ19VUkkgKz0gImZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICAiCi1kb19pbnN0YWxsX3B0ZXN0ICgpIHsKLQlta2RpciAtcCAke0R9JHtQVEVTVF9QQVRIfQotCXNlZCAtZSAiczpcL3VzclwvbG9jYWw6JHtiaW5kaXJ9OmciIC1pIGNwYW4vdmVyc2lvbi90LyoKLQlzZWQgLWUgInM6XC9vcHQ6XC91c3I6IiAtaSBQb3J0aW5nL2FkZC1wYWNrYWdlLnBsCi0Jc2VkIC1lICJzOlwvbG9jYWxcL2dudVwvOlwvOiIgLWkgaGludHMvY3h1eC5zaAotCXRhciAtYyAtLWV4Y2x1ZGU9JyoubycgLS1leGNsdWRlPWxpYnBlcmwuc28gLS1leGNsdWRlPU1ha2VmaWxlIC0tZXhjbHVkZT1tYWtlZmlsZSAtLWV4Y2x1ZGU9aG9zdHBlcmwgXAotCSAgICAtLWV4Y2x1ZGU9Y3lnd2luIC0tZXhjbHVkZT1vczIgLS1leGNsdWRlPWRqZ3BwIC0tZXhjbHVkZT1xbnggLS1leGNsdWRlPXN5bWJpYW4gLS1leGNsdWRlPWhhaWt1IFwKLQkgICAgLS1leGNsdWRlPXZtcyAtLWV4Y2x1ZGU9dm9zIC0tZXhjbHVkZT1OZXRXYXJlIC0tZXhjbHVkZT1hbWlnYW9zNCAgLS1leGNsdWRlPWJ1aWxkY3VzdG9taXplLnBsIFwKLQkgICAgLS1leGNsdWRlPSd3aW4zMi9jb25maWcuKicgLS1leGNsdWRlPXBsYW45IC0tZXhjbHVkZT1SRUFETUUucGxhbjkgLS1leGNsdWRlPXBlcmxwbGFuOS5wb2QgLS1leGNsdWRlPUNvbmZpZ3VyZSBcCi0JICAgIC0tZXhjbHVkZT12ZXJ5Y2xlYW4uc2ggLS1leGNsdWRlPXJlYWxjbGVhbi5zaCAgLS1leGNsdWRlPWdldGlvY3Rsc2l6ZXMgXAotCSAgICAtLWV4Y2x1ZGU9ZGxfYWl4LnhzIC0tZXhjbHVkZT1zZGJtLjMgLS1leGNsdWRlPSdjZmxhZ3MuU0gnIC0tZXhjbHVkZT1tYWtlZmlsZS5vbGQgXAotCQktLWV4Y2x1ZGU9bWluaXBlcmwgLS1leGNsdWRlPWdlbmVyYXRlX3V1ZG1hcCAtLWV4Y2x1ZGU9cGF0Y2hlcyAqIHwgKCBjZCAke0R9JHtQVEVTVF9QQVRIfSAmJiB0YXIgLXggKQotCi0JbG4gLXNmICR7YmluZGlyfS9wZXJsICR7RH0ke1BURVNUX1BBVEh9L3QvcGVybAotCi0JIyBSZW1vdmUgYnVpbGQgaG9zdCByZWZlcmVuY2VzIGZyb20gdmFyaW91cyBzY2F0dGVyZWQgZmlsZXMuLi4KLQlmaW5kICIke0R9JHtQVEVTVF9QQVRIfSIgXAotCSAgICAgXCggLW5hbWUgJyouUEwnIC1vIC1uYW1lICdteWNvbmZpZycgLW8gLW5hbWUgJ2NmbGFncycgLW8gLW5hbWUgJyoucGwnIC1vIC1uYW1lICcqLnNoJyAtbyAtbmFtZSAnKi5wbScgXAotCSAgICAgLW8gLW5hbWUgJ2gyeHMnIC1vIC1uYW1lICdoMnBoJyBcCi0JICAgICAtbyAtbmFtZSAnKi5oJyAtbyAtbmFtZSAnY29uZmlnLnNoLSonIC1vIC1uYW1lICdwb2QybWFuJyAgLW8gLW5hbWUgJ3BvZDJ0ZXh0JyBcKSBcCi0JICAgIC10eXBlIGYgLWV4ZWMgc2VkIC1pIFwKLQkgICAgICAgLWUgInMsJHtEfSwsZyIgXAotCSAgICAgICAtZSAicywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9IT1NUfSwsZyIgXAotCSAgICAgICAtZSAicywtaXN5c3RlbSR7U1RBR0lOR19JTkNESVJ9ICwsZyIgXAotCSAgICAgICAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCi0JICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS8sJHtiaW5kaXJ9LyxnIiBcCi0JICAgICAgIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSxnIiBcCi0JICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJ9LCR7YmluZGlyfSxnIiBcCi0JICAgICAgIC1lICJzLCR7U1RBR0lOR19JTkNESVJ9LCR7aW5jbHVkZWRpcn0sZyIgXAotCSAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSX05BVElWRX0vLCxnIiBcCi0JICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJfVE9PTENIQUlOfS8ke1RBUkdFVF9QUkVGSVh9LCR7YmluZGlyfSxnIiBcCi0JICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1RfTkFUSVZFfTo6ZycgXAotCSAgICAgICAtZSAnczoke1JFQ0lQRV9TWVNST09UfTo6ZycgXAotCSAgICAgICAge30gKwotCi0JICMgUmVtb3ZlIGEgdXNlbGVzcyB0aW1lc3RhbXAuLi4KLQkgc2VkIC1pIC1lICcvQXV0b2dlbmVyYXRlZCBzdGFydGluZyBvbi9kJyAke0R9JHtQVEVTVF9QQVRIfS9saWIvdW5pY29yZS9ta3RhYmxlcy5sc3QKLX0KLQotcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQoKSB7Ci0gICAgIyBQdXQgYWxsICoudCBmaWxlcyBmcm9tIHRoZSBsaWIgZGlyIGluIHRoZSBwdGVzdCBwYWNrYWdlCi0gICAgIyBkb19zcGxpdF9wYWNrYWdlcyByZXF1aXJlcyBhIHBhaXIgb2YgKCkgaW4gdGhlIHJlZ2V4LCBidXQgd2UgaGF2ZSBub3RoaW5nCi0gICAgIyB0byBtYXRjaCwgc28gdXNlIGFuIGVtcHR5IHBhaXIuCi0gICAgaWYgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsIFRydWUsIEZhbHNlLCBkKToKLSAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZC5leHBhbmQoJyR7bGliZGlyfS9wZXJsLyR7UFZ9JyksICcuKlwudCgpJywKLSAgICAgICAgICAgICcke1BOfS1wdGVzdCVzJywgJyVzJywgcmVjdXJzaXZlPVRydWUsIG1hdGNoX3BhdGg9VHJ1ZSkKLX0KLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59LW1vZHVsZXMgJHtQTn0tZG9jICR7UE59LW1pc2Mgc2VkIgotCi0jIFRoZSBwZXJsLXB0ZXN0IHBhY2thZ2UgY29udGFpbnMgUGVybCBpbnRlcm5hbCBtb2R1bGVzIGFuZCBnZW5lcmF0aW5nIGZpbGUKLSMgZGVwZW5kZW5jaWVzIGZvciBpdCBjYXVzZXMgcHJvYmxlbXMuCi1TS0lQX0ZJTEVERVBTXyR7UE59LXB0ZXN0ID0gJzEnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwtcmRlcGVuZHNfNS4yNC40LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC1yZGVwZW5kc181LjI0LjQuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMGUzYzA0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC1yZGVwZW5kc181LjI0LjQuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsMjU3NSArMCwwIEBACi0jIFRvIGNyZWF0ZS91cGRhdGUgdGhlIHBlcmwtcmRlcGVuZHNfJHtQVn0uaW5jIHVzZSB0aGlzIHBpZWNlIG9mIHVnbHkgc2NyaXB0IChtb2RpZmllZCBmb3IgeW91ciBhcmNoL3BhdGhzIGV0Yyk6Ci0KLSNqaWFob25neHU6NS4yMC4wLXIxJCBwd2QKLSMvaG9tZS9qaWFob25neHUveW9jdG8vYnVpbGQtMjAxNDA2MTgtcGVybC90bXAvd29yay9pNTg2LXBva3ktbGludXgvcGVybC81LjIwLjAtcjEKLQotIzEgY3AgLXIgcGFja2FnZXMtc3BsaXQgcGFja2FnZXMtc3BsaXQubmV3ICYmIGNkIHBhY2thZ2VzLXNwbGl0Lm5ldwotIzIgZmluZCAuIC1uYW1lIFwqLnBtIHwgeGFyZ3Mgc2VkIC1pICcvXj1oZWFkLywvXj1jdXQvZCcKLSMzIGVncmVwIC1yICJeXHMqKFw8dXNlIC4qfFw8cmVxdWlyZSAuKik7PyIgcGVybC1tb2R1bGUtKiAtLWluY2x1ZGU9IioucG0iIAotI3wgc2VkICJzL1wvLipcLnBtOiAqLyArPSAvZztzL1tcIlwnXS8vZztzLzsuKi9cIi9nO3MvKz0gLipcKHJlcXVpcmVcfHVzZVwpXD4gKi8rPSBcInBlcmwtbW9kdWxlLS9nO3MvQ1BBTlBMVVM6Oi4qL2NwYW5wbHVzL2c7cy9DUEFOOjouKi9jcGFuL2c7cy86Oi8tL2c7cy8gW14rXCJdLiovL2c7cy9fLy0vZztzL1wucGxcIiQvXCIvO3MvXCJcP1wkL1wiLztzLygvLzsiIHwgdHIgWzp1cHBlcjpdIFs6bG93ZXI6XSAKLSN8IGF3ayAne2lmICgkMyAhPSAiXHgyMiIkMSJceDIyIil7IHByaW50ICQwfX0nCi0jfCBncmVwIC12IC1lICJcLXZtc1wtIiAtZSBtb2R1bGUtNSAtZSAiXiQiIC1lICJcXCQiIC1lIHlvdXIgLWUgdGsgLWUgYXV0b3BlcmwgLWUgaHRtbCAtZSBodHRwIC1lIHBhcnNlLWNwYW4gLWUgcGVybC1vc3R5cGUgLWUgbmRibS1maWxlIC1lIG1vZHVsZS1tYWMgLWUgZmNnaSAtZSBsd3AgLWUgZGJkIC1lIGRiaXggCi0jfCBzb3J0IC11IAotI3wgc2VkICdzL14vUkRFUEVORFNfLztzL3BlcmwtbW9kdWxlLS8ke1BOfS1tb2R1bGUtL2c7cy9tb2R1bGUtXChtb2R1bGUtXCkvXDEvZztzL1wobW9kdWxlLWxvYWRcKS1jb25kaXRpb25hbC9cMS9nO3MvZW5jb2RlLWNvbmZpZ2xvY2FsLyYtcG0vOycgCi0jfCBlZ3JlcCAtd3YgJz0+fG1vZHVsZS1hfG1vZHVsZS1hcGFjaGUuP3xtb2R1bGUtYXByfG1vZHVsZS1hdXRoZW4tc2FzbHxtb2R1bGUtYi1hc21kYXRhfG1vZHVsZS1jb252ZXJ0LWViY2RpY3xtb2R1bGUtZGV2ZWwtc2l6ZXxtb2R1bGUtZGlnZXN0LXBlcmwtbWQ1fG1vZHVsZS1kdW1wdmFsdWV8bW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LWFhYXJnaDU2aGFzaHxtb2R1bGUtZXh0dXRpbHMteHNzeW1zZXR8bW9kdWxlLWZpbGUtYnNkZ2xvYnxtb2R1bGUtZm9yfG1vZHVsZS1pdHxtb2R1bGUtaW8tc3RyaW5nfG1vZHVsZS1pcGMtc3lzdGVtLXNpbXBsZXxtb2R1bGUtbGV4aWNhbHxtb2R1bGUtbG9jYWwtbGlifG1ldGFkYXRhfG1vZHVsZS1tb2RwZXJsLXV0aWx8bW9kdWxlLXBsdWdnYWJsZS1vYmplY3R8bW9kdWxlLXRlc3QtYnVpbGRlci1pby1zY2FsYXJ8bW9kdWxlLXRleHQtdW5pZGVjb2RlfG1vZHVsZS13aW4zMnxvYmplY3RzXHNsb2FkfHN5c2NhbGwucGh8c3lzdGVtaW5mby5waHwlcycgPiAvdG1wL3BlcmwtcmRlcGVuZHMKLQotUkRFUEVORFNfcGVybC1taXNjICs9ICJwZXJsIHBlcmwtbW9kdWxlcyIKLVJERVBFTkRTXyR7UE59LXBvZCArPSAicGVybCIKLQotIyBTb21lIGFkZGl0aW9uYWwgZGVwZW5kZW5jaWVzIHRoYXQgdGhlIGFib3ZlIGRvZXNuJ3QgbWFuYWdlIHRvIGZpZ3VyZSBvdXQKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LWNhbGMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkLXF1ZXVlICs9ICIke1BOfS1tb2R1bGUtYXR0cmlidXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vdmVybG9hZCArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkaW5nIgotCi0jIERlcGVuZHMgbGlzdAotIyBjb3B5IGNvbnRlbnRzIG9mIC90bXAvcGVybC1yZGVwZW5kcyBpbiB0aGlzIGZpbGUKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hbnlkYm0tZmlsZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hbnlkYm0tZmlsZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1jcGFuICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1jcGFuICs9ICIke1BOfS1tb2R1bGUtY3BhbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWRhdGEtZHVtcGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1jcGFuICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtZmluZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1nZXRvcHQtc3RkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1jcGFuICs9ICIke1BOfS1tb2R1bGUtaWYiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1uZXQtcGluZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLXVzZXItcHdlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLWNwYW4gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1jcGFuICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlICs9ICIke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlICs9ICIke1BOfS1tb2R1bGUtZ2V0b3B0LWxvbmciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZSArPSAiJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZSArPSAiJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzLWVudiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUgKz0gIiR7UE59LW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICIke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtd3JpdGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gIiR7UE59LW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdCArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQtdGVzdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCArPSAiJHtQTn0tbW9kdWxlLXRpbWUtbG9jYWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICIke1BOfS1tb2R1bGUtaW8tZmlsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyLWZpbGUgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gIiR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhciArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhciArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhciArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gIiR7UE59LW1vZHVsZS1pby1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtaW8temxpYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXJ5YmFzZSArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF0dHJpYnV0ZS1oYW5kbGVycyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXR0cmlidXRlLWhhbmRsZXJzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF0dHJpYnV0ZS1oYW5kbGVycyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXR0cmlidXRlLWhhbmRsZXJzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXR0cmlidXRlcyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXR0cmlidXRlcyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF0dHJpYnV0ZXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXR0cmlidXRlcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF0dHJpYnV0ZXMgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbiArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbiArPSAiJHtQTn0tbW9kdWxlLWZhdGFsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24tc3lzdGVtICs9ICIke1BOfS1tb2R1bGUtcGFyZW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbi1zeXN0ZW0gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWhpbnRzICs9ICIke1BOfS1tb2R1bGUtYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWhpbnRzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWhpbnRzICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWhpbnRzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZSArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUgKz0gIiR7UE59LW1vZHVsZS1saWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZSArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gIiR7UE59LW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmRzdGFjayArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLXNraXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS1za2lwICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS11dGlsICs9ICIke1BOfS1tb2R1bGUtYXV0b2RpZS1zY29wZS1ndWFyZHN0YWNrIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLXV0aWwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvbG9hZGVyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvbG9hZGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9zcGxpdCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b3NwbGl0ICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9zcGxpdCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9zcGxpdCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b3NwbGl0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9zcGxpdCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b3NwbGl0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG91c2UgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1jb25jaXNlICs9ICIke1BOfS1tb2R1bGUtYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLWNvbmNpc2UgKz0gIiR7UE59LW1vZHVsZS1iLW9wLXByaXZhdGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1jb25jaXNlICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItY29uY2lzZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItY29uY2lzZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLWNvbmNpc2UgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLWRlYnVnICs9ICIke1BOfS1tb2R1bGUtYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLWRlYnVnICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItZGVidWcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1kZXBhcnNlICs9ICIke1BOfS1tb2R1bGUtYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLWRlcGFyc2UgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItZGVwYXJzZSArPSAiJHtQTn0tbW9kdWxlLWRhdGEtZHVtcGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItZGVwYXJzZSArPSAiJHtQTn0tbW9kdWxlLWZlYXR1cmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1kZXBhcnNlICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWRpbmciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1kZXBhcnNlICs9ICIke1BOfS1tb2R1bGUtcmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1kZXBhcnNlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItZGVwYXJzZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1kZXBhcnNlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmVuY2htYXJrICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iZW5jaG1hcmsgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iZW5jaG1hcmsgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlnaW50ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlnaW50ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlnbnVtICs9ICIke1BOfS1tb2R1bGUtYmlnaW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ251bSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlnbnVtICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlnbnVtICs9ICIke1BOfS1tb2R1bGUtbWF0aC1iaWdmbG9hdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdudW0gKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ251bSArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ251bSArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ251bSArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ251bSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdudW0gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS1iaWdpbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlncmF0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlncmF0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1ibGliICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJsaWIgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmxpYiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYiArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYiArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItc2hvd2xleCArPSAiJHtQTn0tbW9kdWxlLWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1zaG93bGV4ICs9ICIke1BOfS1tb2R1bGUtYi1jb25jaXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItc2hvd2xleCArPSAiJHtQTn0tbW9kdWxlLWItdGVyc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1zaG93bGV4ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItdGVyc2UgKz0gIiR7UE59LW1vZHVsZS1iIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItdGVyc2UgKz0gIiR7UE59LW1vZHVsZS1iLWNvbmNpc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi10ZXJzZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi10ZXJzZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLXhyZWYgKz0gIiR7UE59LW1vZHVsZS1iIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWIteHJlZiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLXhyZWYgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYnl0ZXMgKz0gIiR7UE59LW1vZHVsZS1ieXRlcy1oZWF2eSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1ieXRlcyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY2FycC1oZWF2eSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY2FycCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNhcnAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY2FycCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS0tY2hhcm5hbWVzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS0tY2hhcm5hbWVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtLWNoYXJuYW1lcyArPSAiJHtQTn0tbW9kdWxlLXJlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNoYXJuYW1lcyArPSAiJHtQTn0tbW9kdWxlLXJlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY2hhcm5hbWVzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNsYXNzLXN0cnVjdCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNsYXNzLXN0cnVjdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtY2FycCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtZHluYWxvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAiJHtQTn0tbW9kdWxlLWNhcnAgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy16bGliICs9ICIke1BOfS1tb2R1bGUtY2FycCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAiJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy16bGliICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy16bGliICs9ICIke1BOfS1tb2R1bGUtaW8taGFuZGxlICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy16bGliICs9ICIke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb25maWctZXh0ZW5zaW9ucyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb25maWctZXh0ZW5zaW9ucyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb25maWctcGVybC12ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb25maWctcGVybC12ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb25maWctcGVybC12ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29uc3RhbnQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29yZWxpc3QgKz0gIiR7UE59LW1vZHVsZS1saXN0LXV0aWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29yZWxpc3QgKz0gIiR7UE59LW1vZHVsZS1jb3JlbGlzdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb3JlbGlzdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb3JlbGlzdCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29yZWxpc3QgKz0gIiR7UE59LW1vZHVsZS12ZXJzaW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvcmVsaXN0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1kYXRhLWR1bXBlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtZGlyaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tYW5pZmVzdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtY29weSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1maWxlaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1maWxlLXBhdGgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtbGliIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1uZXQtcGluZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1zYWZlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1zeXMtaG9zdG5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLXRlcm0tcmVhZGxpbmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtdGV4dC13cmFwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS10aW1lLWxvY2FsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jd2QgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWN3ZCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWN3ZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jd2QgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3dkICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jd2QgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYXRhLWR1bXBlciArPSAiJHtQTn0tbW9kdWxlLWItZGVwYXJzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYXRhLWR1bXBlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYXRhLWR1bXBlciArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRhdGEtZHVtcGVyICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYXRhLWR1bXBlciArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItY29tcHJlc3MgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItY29tcHJlc3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGJtLWZpbHRlci1jb21wcmVzcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItZW5jb2RlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItaW50MzIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGJtLWZpbHRlci1pbnQzMiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItbnVsbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyLW51bGwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyLXV0ZjggKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItdXRmOCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyLXV0ZjggKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXByZWNhdGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRlcHJlY2F0ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXByZWNhdGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXZlbC1wZWVrICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGV2ZWwtcGVlayArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRldmVsLXBwcG9ydCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtZmluZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gIiR7UE59LW1vZHVsZS1nZXRvcHQtbG9uZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGV2ZWwtcHBwb3J0ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXZlbC1zZWxmc3R1YmJlciArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXZlbC1zZWxmc3R1YmJlciArPSAiJHtQTn0tbW9kdWxlLXNlbGZsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlhZ25vc3RpY3MgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpYWdub3N0aWNzICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpYWdub3N0aWNzICs9ICIke1BOfS1tb2R1bGUtZ2V0b3B0LXN0ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWFnbm9zdGljcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWFnbm9zdGljcyArPSAiJHtQTn0tbW9kdWxlLXRleHQtdGFicyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtYmFzZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LWJhc2UgKz0gIiR7UE59LW1vZHVsZS1taW1lLWJhc2U2NCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LWZpbGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdC1maWxlICs9ICIke1BOfS1tb2R1bGUtZGlnZXN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdC1maWxlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LWZpbGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LWZpbGUgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdC1tZDUgKz0gIiR7UE59LW1vZHVsZS1kaWdlc3QtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LW1kNSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LXNoYSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LXNoYSArPSAiJHtQTn0tbW9kdWxlLWRpZ2VzdC1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdC1zaGEgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdC1zaGEgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3Qtc2hhICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LXNoYSArPSAiJHtQTn0tbW9kdWxlLWludGVnZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LXNoYSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3Qtc2hhICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3Qtc2hhICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlyaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaXJoYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZHluYWxvYWRlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZHluYWxvYWRlciArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1hbGlhcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1ieXRlICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1ieXRlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1ieXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWJ5dGUgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY2prY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY2prY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY2prY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jbi1oeiArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY24taHogKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY24taHogKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jbi1oeiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jbiArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY24gKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUtY24taHoiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWNuICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jbiArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jb25maWcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWNvbmZpZyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lYmNkaWMgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWViY2RpYyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWViY2RpYyArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZW5jb2RlciArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWVuY29kZXIgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZW5jb2RlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZW5jb2RlciArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWdzbTAzMzggKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICIke1BOfS1tb2R1bGUtcGFyZW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1ndWVzcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcC1oMnogKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcC1oMnogKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcC1qaXM3ICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcC1qaXM3ICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAiJHtQTn0tbW9kdWxlLWVuY29kZS1qcC1oMnoiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtanAgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWpwICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLWpwLWppczciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWpwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1rciArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUta3IgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUta3IgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWtyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWtyICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyLWlzby0yMDIyLWpwICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyLWlzby0yMDIyLWpwICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXItaXNvLTIwMjItanAgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyLWlzby0yMDIyLWpwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlci1pc28tMjAyMi1qcCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAiJHtQTn0tbW9kdWxlLW1pbWUtYmFzZTY0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtbWltZS1uYW1lICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLW5hbWUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLWVuY29kZS1hbGlhcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLWVuY29kZS1jb25maWdsb2NhbC1wbSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUtZW5jb2RpbmciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXN5bWJvbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtc3ltYm9sICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXN5bWJvbCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS10dyArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtdHcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXR3ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXR3ICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAiJHtQTn0tbW9kdWxlLW1pbWUtYmFzZTY0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAiJHtQTn0tbW9kdWxlLXJlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUtZmlsdGVyLXV0aWwtY2FsbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ2luZm8iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RpbmcgKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RpbmcgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZy13YXJuaW5ncyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2Rpbmctd2FybmluZ3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2Rpbmctd2FybmluZ3MgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmdsaXNoICs9ICIke1BOfS1tb2R1bGUtY2FycCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5nbGlzaCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVudiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbnYgKz0gIiR7UE59LW1vZHVsZS10aWUtYXJyYXkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXJybm8gKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVycm5vICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXJybm8gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXhwZXJpbWVudGFsICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHBlcmltZW50YWwgKz0gIiR7UE59LW1vZHVsZS1mZWF0dXJlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cGVyaW1lbnRhbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHBlcmltZW50YWwgKz0gIiR7UE59LW1vZHVsZS12ZXJzaW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cGVyaW1lbnRhbCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHBvcnRlci1oZWF2eSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cG9ydGVyICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXItaGVhdnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICIke1BOfS1tb2R1bGUtaXBjLWNtZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAiJHtQTn0tbW9kdWxlLWZpbGUtcGF0aCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1haXggKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFpeCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1haXggKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYWl4ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1haXggKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1hbmRyb2lkICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYW5kcm9pZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1hbmRyb2lkICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1hbmRyb2lkICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1jeWd3aW4gKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWN5Z3dpbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kYXJ3aW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kYXJ3aW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kZWMtb3NmICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kZWMtb3NmICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWRlYy1vc2YgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGVjLW9zZiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGVjLW9zZiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLW9zMiArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLW9zMiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdm1zICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXZtcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdm1zICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdm1zICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzLWJjYyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzLWJjYyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtZ2NjICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtZ2NjICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1tc3ZjICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtbXN2YyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cyArPSAiJHtQTn0tbW9kdWxlLWlvLWZpbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1jb21tYW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAiJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAiJHtQTn0tbW9kdWxlLXRlc3QtaGFybmVzcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb21tYW5kLW1tICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gIiR7UE59LW1vZHVsZS1maWxlLWNvcHkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtZmluZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb21tYW5kICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb21tYW5kICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LWJhc2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXRleHQtd3JhcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQgKz0gIiR7UE59LW1vZHVsZS1maWxlaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAiJHtQTn0tbW9kdWxlLWRhdGEtZHVtcGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtZW1iZWQgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1saWJsaXN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICIke1BOfS1tb2R1bGUtZ2V0b3B0LXN0ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICIke1BOfS1tb2R1bGUtZGF0YS1kdW1wZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICIke1BOfS1tb2R1bGUtYXV0b3NwbGl0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS1maWxlLWNvbXBhcmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtY29weSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS1maWxlLXBhdGgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3Qta2lkICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3Qta2lkICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gIiR7UE59LW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1saWJsaXN0ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1saWJsaXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWcgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1sb2NhbGUgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUtYWxpYXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAiJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ2luZm8iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gIiR7UE59LW1vZHVsZS1iIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLXZlcnNpb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbXkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtdmVyc2lvbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItdmVyc2lvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItdmVyc2lvbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1jb3B5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWluaXBlcmwgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1taW5pcGVybCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAiJHtQTn0tbW9kdWxlLWR5bmFsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWtib290c3RyYXAgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1rc3ltbGlzdHMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFpeCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFpeCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gIiR7UE59LW1vZHVsZS1hdXRvc3BsaXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gIiR7UE59LW1vZHVsZS1jcGFuIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAiJHtQTn0tbW9kdWxlLWRhdGEtZHVtcGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICIke1BOfS1tb2R1bGUtdmVyc2lvbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYW55IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWJlb3MgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWJlb3MgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYmVvcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1jeWd3aW4gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWN5Z3dpbiArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWN5Z3dpbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1kYXJ3aW4gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWRhcndpbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1kb3MgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tZG9zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1kb3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tbWFjb3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1udzUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tb3MyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1vczIgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1vczIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1saWJsaXN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1xbnggKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXFueCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gIiR7UE59LW1vZHVsZS1kaXJoYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtZmluZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gIiR7UE59LW1vZHVsZS12ZXJzaW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXV3aW4gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXV3aW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYW55IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gIiR7UE59LW1vZHVsZS1maWxlLWZpbmQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXZvcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm9zICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS13aW45NSArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW15ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbXkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXN5bWJvbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtY291bnRsaW5lcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWV2YWwgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1ldmFsICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtY291bnRsaW5lcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1ldmFsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gIiR7UE59LW1vZHVsZS1yZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtdXRpbGl0aWVzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10ZXN0bGliICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXRlc3RsaWIgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAiJHtQTn0tbW9kdWxlLWxpYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10ZXN0bGliICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXRlc3RsaWIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1jbWQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1jbWQgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1jbWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtY21kICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtaW5wdXRtYXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtaW5wdXRtYXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gIiR7UE59LW1vZHVsZS1yZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1pbnB1dG1hcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLW91dHB1dG1hcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLXR5cGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtdHlwZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmF0YWwgKz0gIiR7UE59LW1vZHVsZS1hdXRvZGllIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZhdGFsICs9ICIke1BOfS1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24tc3lzdGVtIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZhdGFsICs9ICIke1BOfS1tb2R1bGUtYXV0b2RpZS1oaW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mYXRhbCArPSAiJHtQTn0tbW9kdWxlLWF1dG9kaWUtdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mYXRhbCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmF0YWwgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmF0YWwgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mYXRhbCArPSAiJHtQTn0tbW9kdWxlLWZjbnRsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZhdGFsICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmF0YWwgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mYXRhbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mYXRhbCArPSAiJHtQTn0tbW9kdWxlLXRpZS1yZWZoYXNoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZhdGFsICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmNudGwgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mY250bCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mY250bCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZlYXR1cmUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpZWxkcyArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmllbGRzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWVsZHMgKz0gIiR7UE59LW1vZHVsZS1oYXNoLXV0aWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmllbGRzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpZWxkcyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUgKz0gIiR7UE59LW1vZHVsZS1yZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlY2FjaGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGVjYWNoZSArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlY2FjaGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZWNhY2hlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvbXBhcmUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtY29tcGFyZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtY29tcGFyZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvbXBhcmUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvcHkgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtY29weSArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvcHkgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvcHkgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtY29weSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvcHkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1jb3B5ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1kb3NnbG9iICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZG9zZ2xvYiArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWRvc2dsb2IgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWRvc2dsb2IgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1mZXRjaCArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtZmlsZS1jb3B5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZmV0Y2ggKz0gIiR7UE59LW1vZHVsZS1maWxlaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZmV0Y2ggKz0gIiR7UE59LW1vZHVsZS1maWxlLXBhdGgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1mZXRjaCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1mZXRjaCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtaXBjLWNtZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtbG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtcGFyYW1zLWNoZWNrIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZmV0Y2ggKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1mZXRjaCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1maW5kICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZmluZCArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZmluZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1maW5kICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1maW5kICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1nbG9ibWFwcGVyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWdsb2JtYXBwZXIgKz0gIiR7UE59LW1vZHVsZS1maWxlLWdsb2IiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1nbG9ibWFwcGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZ2xvYm1hcHBlciArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZ2xvYiArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZ2xvYiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWdsb2IgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZWhhbmRsZSArPSAiJHtQTn0tbW9kdWxlLWZjbnRsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGVoYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1pby1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGVoYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1wYXRoICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXBhdGggKz0gIiR7UE59LW1vZHVsZS1jd2QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1wYXRoICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1wYXRoICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXBhdGggKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1wYXRoICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtcGF0aCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWFtaWdhb3MgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtYW1pZ2FvcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtYW1pZ2FvcyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWN5Z3dpbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1jeWd3aW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWN5Z3dpbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWVwb2MgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtZXBvYyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtZXBvYyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLW1hYyArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1tYWMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLW1hYyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLW9zMiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1vczIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLW9zMiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXVuaXggKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy12bXMgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy12bXMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtdm1zICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy12bXMgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy13aW4zMiArPSAiJHtQTn0tbW9kdWxlLWN3ZCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy13aW4zMiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXN0YXQgKz0gIiR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3RhdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXN0YXQgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXN0YXQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXN0YXQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1lcnJubyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1maWxlLXBhdGgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS10ZW1wICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLWlvLXNlZWthYmxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS10ZW1wICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsdGVyLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsdGVyLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLWZpbHRlci11dGlsLWNhbGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsdGVyLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXRleHQtYmFsYW5jZWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsdGVyLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsdGVyLXV0aWwtY2FsbCArPSAiJHtQTn0tbW9kdWxlLWNhcnAgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maW5kYmluICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maW5kYmluICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbmRiaW4gKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maW5kYmluICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maW5kYmluICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1nZXRvcHQtbG9uZyArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nICs9ICIke1BOfS1tb2R1bGUtcG9kLXVzYWdlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nICs9ICIke1BOfS1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1nZXRvcHQtc3RkICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaGFzaC11dGlsLWZpZWxkaGFzaCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2ggKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwtZmllbGRoYXNoICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2ggKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwtZmllbGRoYXNoICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaGFzaC11dGlsICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwgKz0gIiR7UE59LW1vZHVsZS1oYXNoLXV0aWwtZmllbGRoYXNoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWhhc2gtdXRpbCArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWhhc2gtdXRpbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1jb2xsYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ2luZm8gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ2luZm8gKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWxhbmd0YWdzLWRldGVjdCArPSAiJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ3RhZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1sYW5ndGFncy1kZXRlY3QgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1sYW5ndGFncy1kZXRlY3QgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ3RhZ3MtbGlzdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWxhbmd0YWdzLWxpc3QgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ3RhZ3MgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWxhbmd0YWdzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ3RhZ3MgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gIiR7UE59LW1vZHVsZS1maWxlLWdsb2JtYXBwZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1pby1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1pby1oYW5kbGUgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1iemlwMiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtZGVmbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtZGVmbGF0ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtZGVmbGF0ZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcC1jb25zdGFudHMgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1leHRyYSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16bGliLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16bGliLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1leHRyYSArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1kaXIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWRpciArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWRpciArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1kaXIgKz0gIiR7UE59LW1vZHVsZS1maWxlLXN0YXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tZGlyICs9ICIke1BOfS1tb2R1bGUtaW8tZmlsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1kaXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tZGlyICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWRpciArPSAiJHtQTn0tbW9kdWxlLXRpZS1oYXNoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1maWxlICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tZmlsZSArPSAiJHtQTn0tbW9kdWxlLWlvLXNlZWthYmxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1zZWxlY3RzYXZlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1maWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8taGFuZGxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1pbyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1pby1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWhhbmRsZSArPSAiJHtQTn0tbW9kdWxlLXNlbGVjdHNhdmVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWhhbmRsZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8gKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8gKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1waXBlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1waXBlICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tcGlwZSArPSAiJHtQTn0tbW9kdWxlLWlvLWhhbmRsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1waXBlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXBpcGUgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tcG9sbCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXBvbGwgKz0gIiR7UE59LW1vZHVsZS1pby1oYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tcG9sbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zZWVrYWJsZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc2Vla2FibGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zZWVrYWJsZSArPSAiJHtQTn0tbW9kdWxlLWZjbnRsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNlZWthYmxlICs9ICIke1BOfS1tb2R1bGUtaW8taGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNlZWthYmxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNlbGVjdCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNlbGVjdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zZWxlY3QgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNlbGVjdCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQtaW5ldCArPSAiJHtQTn0tbW9kdWxlLWVycm5vIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LWluZXQgKz0gIiR7UE59LW1vZHVsZS1pby1zb2NrZXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LWluZXQgKz0gIiR7UE59LW1vZHVsZS1zb2NrZXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LWluZXQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCArPSAiJHtQTn0tbW9kdWxlLWVycm5vIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS1lcnJubyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS1pby1oYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0ICs9ICIke1BOfS1tb2R1bGUtaW8tc2VsZWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pbmV0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldC11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LXVuaXggKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC11bml4ICs9ICIke1BOfS1tb2R1bGUtaW8tc29ja2V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC11bml4ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1idW56aXAyICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFueXVuY29tcHJlc3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtY2FycCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtaW8tZmlsZSAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtbGlzdC11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1idW56aXAyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICIke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1leHRyYSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pbmZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pbmZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby16bGliICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby16bGliICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8temxpYiArPSAiJHtQTn0tbW9kdWxlLWlvLWhhbmRsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby16bGliICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXpsaWIgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8temxpYiArPSAiJHtQTn0tbW9kdWxlLXRpZS1oYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8temxpYiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1jbWQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1jbWQgKz0gIiR7UE59LW1vZHVsZS1maWxlaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1jbWQgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLWlvLWhhbmRsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtaW8tc2VsZWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1jbWQgKz0gIiR7UE59LW1vZHVsZS1pcGMtb3BlbjMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLWxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLXBhcmFtcy1jaGVjayIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1jbWQgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtdGltZS1oaXJlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtbXNnICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtbXNnICs9ICIke1BOfS1tb2R1bGUtY2xhc3Mtc3RydWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1tc2cgKz0gIiR7UE59LW1vZHVsZS1pcGMtc3lzdiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtbXNnICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1tc2cgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1vcGVuMiArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1vcGVuMiArPSAiJHtQTn0tbW9kdWxlLWlwYy1vcGVuMyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLW9wZW4zICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjMgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjMgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjMgKz0gIiR7UE59LW1vZHVsZS1pby1waXBlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1vcGVuMyArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1vcGVuMyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjMgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAiJHtQTn0tbW9kdWxlLWNsYXNzLXN0cnVjdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICIke1BOfS1tb2R1bGUtaXBjLXN5c3YiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICIke1BOfS1tb2R1bGUtY2xhc3Mtc3RydWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1zaGFyZWRtZW0gKz0gIiR7UE59LW1vZHVsZS1pcGMtc3lzdiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1zaGFyZWRtZW0gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1zeXN2ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc3lzdiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc3lzdiArPSAiJHtQTn0tbW9kdWxlLWR5bmFsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLXN5c3YgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc3lzdiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc3lzdiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtanNvbi1wcC1ib29sZWFuICs9ICIke1BOfS1tb2R1bGUtanNvbi1wcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1qc29uLXBwLWJvb2xlYW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtanNvbi1wcCArPSAiJHtQTn0tbW9kdWxlLWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtanNvbi1wcCArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtanNvbi1wcCArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWpzb24tcHAgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWpzb24tcHAgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1qc29uLXBwICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWpzb24tcHAgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWpzb24tcHAgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1qc29uLXBwICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtanNvbi1wcCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1qc29uLXBwICs9ICIke1BOfS1tb2R1bGUtc3VicyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sZXNzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxlc3MgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1saWIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxpYiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1saWIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbGlzdC11dGlsICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbGlzdC11dGlsICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxpc3QtdXRpbCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxpc3QtdXRpbC14cyArPSAiJHtQTn0tbW9kdWxlLWxpc3QtdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1saXN0LXV0aWwteHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZGVkICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkZWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZGVkICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvYWQgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZCArPSAiJHtQTn0tbW9kdWxlLWZpbGVoYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtY29yZWxpc3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZCArPSAiJHtQTn0tbW9kdWxlLWxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZCArPSAiJHtQTn0tbW9kdWxlLXBhcmFtcy1jaGVjayIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvYWQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvYWQgKz0gIiR7UE59LW1vZHVsZS12ZXJzaW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvYWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LWNvZGVzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LWNvZGVzICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LWNvZGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktY29kZXMgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5LWNvZGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1yZXRpcmVkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3kgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5LXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQtY29kZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LXJldGlyZWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1yZXRpcmVkICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tY29kZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZmFtLXJldGlyZWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1yZXRpcmVkICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZmFtLXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UtY29kZXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLWNvZGVzICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UtY29kZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UtcmV0aXJlZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1yZXRpcmVkICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLWNvZGVzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3Zhci1yZXRpcmVkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3Zhci1yZXRpcmVkICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3Zhci1yZXRpcmVkICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0LWNvZGVzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtY29kZXMgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtY29kZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdCArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1yZXRpcmVkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0LXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvdW50cnkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvdW50cnkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1ndXRzbG9hZGVyICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1ndXRzICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0ICs9ICIke1BOfS1tb2R1bGUtaTE4bi1sYW5ndGFncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtbWFrZXRleHQgKz0gIiR7UE59LW1vZHVsZS1pMThuLWxhbmd0YWdzLWRldGVjdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtbWFrZXRleHQgKz0gIiR7UE59LW1vZHVsZS1pbnRlZ2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtbWFrZXRleHQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLXNjcmlwdCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1zY3JpcHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLXNjcmlwdCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICIke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdmbG9hdCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtY29tcGxleCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdmbG9hdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdmbG9hdC10cmFjZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQtdHJhY2UgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQtdHJhY2UgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQtdHJhY2UgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjZW11ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LWNhbGNlbXUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAiJHtQTn0tbW9kdWxlLWludGVnZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQtZmFzdGNhbGMgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LWZhc3RjYWxjICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LWZhc3RjYWxjICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQtZmFzdGNhbGMgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWNvbXBsZXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQtdHJhY2UgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlncmF0ICs9ICIke1BOfS1tb2R1bGUtbWF0aC1iaWdmbG9hdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlncmF0ICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICIke1BOfS1tb2R1bGUtc2NhbGFyLXV0aWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtY29tcGxleCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtdHJpZyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtdHJpZyArPSAiJHtQTn0tbW9kdWxlLW1hdGgtY29tcGxleCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLXRyaWcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWVtb2l6ZS1hbnlkYm0tZmlsZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWVtb2l6ZS1leHBpcmVmaWxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplLWV4cGlyZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWVtb2l6ZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWVtb2l6ZSArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWVtb2l6ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplLXNkYm0tZmlsZSArPSAiJHtQTn0tbW9kdWxlLXNkYm0tZmlsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplLXN0b3JhYmxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplLXN0b3JhYmxlICs9ICIke1BOfS1tb2R1bGUtc3RvcmFibGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWV0YS1ub3RhdGlvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZXRhLW5vdGF0aW9uICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWltZS1iYXNlNjQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1taW1lLWJhc2U2NCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1taW1lLWJhc2U2NCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWltZS1iYXNlNjQgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1taW1lLXF1b3RlZHByaW50ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWltZS1xdW90ZWRwcmludCArPSAiJHtQTn0tbW9kdWxlLW1pbWUtYmFzZTY0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWltZS1xdW90ZWRwcmludCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbXJvICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1ybyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1ybyArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1jbWQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1jbWQgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtY21kICs9ICIke1BOfS1tb2R1bGUtZXJybm8iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWNtZCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1jbWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWNtZCArPSAiJHtQTn0tbW9kdWxlLXN5bWJvbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtY21kICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWNvbmZpZyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1jb25maWcgKz0gIiR7UE59LW1vZHVsZS1zb2NrZXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWNvbmZpZyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtY29uZmlnICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWRvbWFpbiArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWRvbWFpbiArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1kb21haW4gKz0gIiR7UE59LW1vZHVsZS1uZXQtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1kb21haW4gKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZG9tYWluICs9ICIke1BOfS1tb2R1bGUtc29ja2V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1kb21haW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWRvbWFpbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtYSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1hICs9ICIke1BOfS1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwLWEgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1hICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiArPSAiJHtQTn0tbW9kdWxlLWVycm5vIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gIiR7UE59LW1vZHVsZS1uZXQtY21kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtZSArPSAiJHtQTn0tbW9kdWxlLW5ldC1mdHAtaSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwLWUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1lICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1pICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwLWkgKz0gIiR7UE59LW1vZHVsZS1uZXQtZnRwLWRhdGFjb25uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtaSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwLWkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwLWwgKz0gIiR7UE59LW1vZHVsZS1uZXQtZnRwLWkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1sICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtbCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cCArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwICs9ICIke1BOfS1tb2R1bGUtaW8tc29ja2V0LWlwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1uZXQtY21kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1uZXQtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1uZXQtZnRwLWEiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cCArPSAiJHtQTn0tbW9kdWxlLW5ldC1uZXRyYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwICs9ICIke1BOfS1tb2R1bGUtc29ja2V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cCArPSAiJHtQTn0tbW9kdWxlLXRpbWUtbG9jYWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1ob3N0ZW50ICs9ICIke1BOfS1tb2R1bGUtY2xhc3Mtc3RydWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1ob3N0ZW50ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gIiR7UE59LW1vZHVsZS1zb2NrZXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1uZXRlbnQgKz0gIiR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LW5ldGVudCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1uZXRlbnQgKz0gIiR7UE59LW1vZHVsZS1zb2NrZXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LW5ldGVudCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbmV0ZW50ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbmV0cmMgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1uZXRyYyArPSAiJHtQTn0tbW9kdWxlLWZpbGVoYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LW5ldHJjICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1uZXRyYyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1ubnRwICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbm50cCArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbm50cCArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbm50cCArPSAiJHtQTn0tbW9kdWxlLW5ldC1jbWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LW5udHAgKz0gIiR7UE59LW1vZHVsZS1uZXQtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1ubnRwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1ubnRwICs9ICIke1BOfS1tb2R1bGUtdGltZS1sb2NhbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbm50cCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1waW5nICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcGluZyArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1waW5nICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBpbmcgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcGluZyArPSAiJHtQTn0tbW9kdWxlLWZpbGVoYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBpbmcgKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcGluZyArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcGluZyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcGluZyArPSAiJHtQTn0tbW9kdWxlLXRpbWUtaGlyZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBpbmcgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1wb3AzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcG9wMyArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcG9wMyArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcG9wMyArPSAiJHtQTn0tbW9kdWxlLW1pbWUtYmFzZTY0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1wb3AzICs9ICIke1BOfS1tb2R1bGUtbmV0LWNtZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcG9wMyArPSAiJHtQTn0tbW9kdWxlLW5ldC1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBvcDMgKz0gIiR7UE59LW1vZHVsZS1uZXQtbmV0cmMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBvcDMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBvcDMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcHJvdG9lbnQgKz0gIiR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1wcm90b2VudCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gIiR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtc2VydmVudCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtc2VydmVudCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXNtdHAgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1zbXRwICs9ICIke1BOfS1tb2R1bGUtaW8tc29ja2V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1zbXRwICs9ICIke1BOfS1tb2R1bGUtaW8tc29ja2V0LWlwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1zbXRwICs9ICIke1BOfS1tb2R1bGUtbWltZS1iYXNlNjQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXNtdHAgKz0gIiR7UE59LW1vZHVsZS1uZXQtY21kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1zbXRwICs9ICIke1BOfS1tb2R1bGUtbmV0LWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtc210cCArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtc210cCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtc210cCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC10aW1lICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtdGltZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC10aW1lICs9ICIke1BOfS1tb2R1bGUtaW8tc2VsZWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC10aW1lICs9ICIke1BOfS1tb2R1bGUtaW8tc29ja2V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC10aW1lICs9ICIke1BOfS1tb2R1bGUtbmV0LWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtdGltZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtdGltZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5leHQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5leHQgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXh0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9kYm0tZmlsZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vZGJtLWZpbGUgKz0gIiR7UE59LW1vZHVsZS10aWUtaGFzaCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vZGJtLWZpbGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vZGJtLWZpbGUgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vayArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vayArPSAiJHtQTn0tbW9kdWxlLXRlc3QtbW9yZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vcGNvZGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wY29kZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wY29kZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vcGNvZGUgKz0gIiR7UE59LW1vZHVsZS1zdWJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wY29kZSArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wZW4gKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wZW4gKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtb3BlbiArPSAiJHtQTn0tbW9kdWxlLWVuY29kaW5nIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wZW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vICs9ICIke1BOfS1tb2R1bGUtYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vcHMgKz0gIiR7UE59LW1vZHVsZS1vcGNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtb3ZlcmxvYWRpbmcgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZC1udW1iZXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW92ZXJsb2FkaW5nICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtb3ZlcmxvYWQgKz0gIiR7UE59LW1vZHVsZS1tcm8iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtb3ZlcmxvYWQgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vdmVybG9hZCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBhcmFtcy1jaGVjayArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGFyYW1zLWNoZWNrICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGFyYW1zLWNoZWNrICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wYXJhbXMtY2hlY2sgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGFyYW1zLWNoZWNrICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wYXJlbnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGFyZW50ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wZXJsZmFxICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBlcmxmYXEgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wZXJsaW8tZW5jb2RpbmcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGVybGlvLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGVybGlvLW1tYXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGVybGlvLW1tYXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wZXJsaW8tbW1hcCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBlcmxpby1zY2FsYXIgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wZXJsaW8tdmlhICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGVybGlvLXZpYS1xdW90ZWRwcmludCArPSAiJHtQTn0tbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGVybGlvLXZpYS1xdW90ZWRwcmludCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWNoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLXBvZC1wYXJzZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWNoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1wb2QtcGFyc2V1dGlscyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWVzY2FwZXMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZXNjYXBlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZXNjYXBlcyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWVzY2FwZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1jd2QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtZmluZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLXN5bWJvbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWZ1bmN0aW9ucyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1mdW5jdGlvbnMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWlucHV0b2JqZWN0cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtaW5wdXRvYmplY3RzICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtbWFuICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtbWFuICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtbWFuICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1tYW4gKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1tYW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLW1hbiArPSAiJHtQTn0tbW9kdWxlLXN1YnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLW1hbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLW1hbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2VsaW5rICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXBvZC1pbnB1dG9iamVjdHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wYXJzZXV0aWxzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2V1dGlscyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2V1dGlscyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy1iYXNldG8gKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy1iYXNldG8gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy1iYXNldG8gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy1nZXRvcHRzb28gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYyArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtZnVuY3Rpb25zIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jICs9ICIke1BOfS1tb2R1bGUtZmlsZS10ZW1wIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jICs9ICIke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jICs9ICIke1BOfS1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvYW5zaSArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2Fuc2kgKz0gIiR7UE59LW1vZHVsZS1wb2QtdGV4dC1jb2xvciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2Fuc2kgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2Fuc2kgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2NoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1wb2QtY2hlY2tlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2NoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9jaGVja2VyICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2NoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1pby1oYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1pby1zZWxlY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1pcGMtb3BlbjMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1wb2QtbWFuIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICIke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9wb2QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ucm9mZiArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b25yb2ZmICs9ICIke1BOfS1tb2R1bGUtcG9kLW1hbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b25yb2ZmICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9wb2QgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3J0ZiArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3J0ZiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3J0ZiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ydGYgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXJtICs9ICIke1BOfS1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXJtICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3RleHQgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXh0ICs9ICIke1BOfS1tb2R1bGUtcG9kLXRleHQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXh0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXh0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRveG1sICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBsYWludGV4dCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBsYWludGV4dCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zZWxlY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBsYWludGV4dCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGxhaW50ZXh0ICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wbGFpbnRleHQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zZWxlY3QgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zZWxlY3QgKz0gIiR7UE59LW1vZHVsZS1wb2QtcGFyc2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zZWxlY3QgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNlbGVjdCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAiJHtQTn0tbW9kdWxlLWludGVnZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdHJhbnNjb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3ggKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWNoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtbWV0aG9keSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWNoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICIke1BOfS1tb2R1bGUtdGV4dC13cmFwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kZWJ1ZyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kZWJ1ZyArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kZWJ1ZyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWRlYnVnICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3RleHQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzdGV4dCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kdW1wYXN0ZXh0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzeG1sICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3htbCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kdW1wYXN4bWwgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kdW1wYXN4bWwgKz0gIiR7UE59LW1vZHVsZS10ZXh0LXdyYXAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1saW5rc2VjdGlvbiArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtbGlua3NlY3Rpb24gKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtbGlua3NlY3Rpb24gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1saW5rc2VjdGlvbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICIke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtaW50ZWdlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtcG9kLWVzY2FwZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3giCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtbGlua3NlY3Rpb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXN5bWJvbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXByb2dyZXNzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcmVuZHRva2VuICs9ICIke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VyZW5kdG9rZW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VyZW5kdG9rZW4gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VyICs9ICIke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJlbmR0b2tlbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJzdGFydHRva2VuIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2Vyc3RhcnR0b2tlbiArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2Vyc3RhcnR0b2tlbiArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRva2VuIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnN0YXJ0dG9rZW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2Vyc3RhcnR0b2tlbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICIke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ydGYgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcnRmICs9ICIke1BOfS1tb2R1bGUtaW50ZWdlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXJ0ZiArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXJ0ZiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXJ0ZiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1zZWFyY2ggKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtc2VhcmNoICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtc2VhcmNoICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtc2VhcmNoICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1zaW1wbGV0cmVlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtc2ltcGxldHJlZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGV4dGNvbnRlbnQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGV4dGNvbnRlbnQgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGV4dGNvbnRlbnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0Y29udGVudCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRleHQgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGV4dCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtbWV0aG9keSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRleHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICIke1BOfS1tb2R1bGUtdGV4dC13cmFwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGV4dCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10aWVkb3V0ZmggKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZWR1bWIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVkdW1iICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVzbWFydCArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICIke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdHJhbnNjb2Rlc21hcnQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUteG1sb3V0c3RyZWFtICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXhtbG91dHN0cmVhbSArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS14bWxvdXRzdHJlYW0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS14bWxvdXRzdHJlYW0gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0LWNvbG9yICs9ICIke1BOfS1tb2R1bGUtcG9kLXRleHQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gIiR7UE59LW1vZHVsZS10ZXJtLWFuc2ljb2xvciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC1jb2xvciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICIke1BOfS1tb2R1bGUtcG9kLXRleHQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtb3ZlcnN0cmlrZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0ICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0LXRlcm1jYXAgKz0gIiR7UE59LW1vZHVsZS1wb2QtdGV4dCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICIke1BOfS1tb2R1bGUtdGVybS1jYXAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC11c2FnZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXVzYWdlICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC11c2FnZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC11c2FnZSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdXNhZ2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXVzYWdlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb3NpeCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvc2l4ICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9zaXggKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9zaXggKz0gIiR7UE59LW1vZHVsZS10aWUtaGFzaCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb3NpeCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvc2l4ICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcmUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXJlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcmUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcmUgKz0gIiR7UE59LW1vZHVsZS10ZXJtLWNhcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1yZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXJlICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2FmZSArPSAiJHtQTn0tbW9kdWxlLWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2FmZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2FmZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAtaGVhdnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2FmZSArPSAiJHtQTn0tbW9kdWxlLW9wY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zYWZlICs9ICIke1BOfS1tb2R1bGUtc2NhbGFyLXV0aWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2FmZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zYWZlICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2NhbGFyLXV0aWwgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCArPSAiJHtQTn0tbW9kdWxlLWxpc3QtdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zZGJtLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zZGJtLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2RibS1maWxlICs9ICIke1BOfS1tb2R1bGUtdGllLWhhc2giCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2RibS1maWxlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2RibS1maWxlICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2VhcmNoLWRpY3QgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zZWFyY2gtZGljdCArPSAiJHtQTn0tbW9kdWxlLWZlYXR1cmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2VhcmNoLWRpY3QgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2VsZWN0c2F2ZXIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNlbGVjdHNhdmVyICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNlbGZsb2FkZXIgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zZWxmbG9hZGVyICs9ICIke1BOfS1tb2R1bGUtaW8taGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNlbGZsb2FkZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2VsZmxvYWRlciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2lndHJhcCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2lndHJhcCArPSAiJHtQTn0tbW9kdWxlLXN5bWJvbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zb3J0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zb3J0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN0b3JhYmxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zdG9yYWJsZSArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zdG9yYWJsZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN0b3JhYmxlICs9ICIke1BOfS1tb2R1bGUtaW8tZmlsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zdG9yYWJsZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3RvcmFibGUgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zdWItdXRpbCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN1Yi11dGlsICs9ICIke1BOfS1tb2R1bGUtbGlzdC11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN1Yi11dGlsICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN1Yi11dGlsICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3ltYm9sICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLWR5bmFsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN5cy1zeXNsb2cgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtc3lzbG9nICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtc3lzbG9nICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtc3lzbG9nICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN5cy1zeXNsb2cgKz0gIiR7UE59LW1vZHVsZS1zeXMtaG9zdG5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN5cy1zeXNsb2cgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtc3lzbG9nICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1iYXNlICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWJhc2UgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtcGFyYWxsZWxzZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtcGFyYWxsZWxzZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtcGFyYWxsZWxzZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtcGF0aCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtcGFyYWxsZWxzZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZS1wYXJhbGxlbHNlc3Npb24gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZS1zZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZS1zZXNzaW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZS1zZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1zZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzLWVudiArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzLWVudiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gIiR7UE59LW1vZHVsZS10YXAtb2JqZWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzLWVudiArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtaGFybmVzcyArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWhhcm5lc3MgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtaW8taGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLW9iamVjdCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLW9iamVjdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtb2JqZWN0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IgKz0gIiR7UE59LW1vZHVsZS1iZW5jaG1hcmsiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItZ3JhbW1hciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvciArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICIke1BOfS1tb2R1bGUtaW8taGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItcHJvY2VzcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXN0cmVhbSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1zdHJlYW0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1zdHJlYW0gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLW11bHRpcGxleGVyICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLW11bHRpcGxleGVyICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1tdWx0aXBsZXhlciArPSAiJHtQTn0tbW9kdWxlLWlvLXNlbGVjdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLW11bHRpcGxleGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtYmFpbG91dCArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtYmFpbG91dCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1iYWlsb3V0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtY29tbWVudCArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtY29tbWVudCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1jb21tZW50ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1iYWlsb3V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtcGxhbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC11bmtub3duIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXZlcnNpb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wbGFuICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wbGFuICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXBsYW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXByYWdtYSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC10ZXN0ICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC10ZXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXRlc3QgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC11bmtub3duICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC11bmtub3duICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXVua25vd24gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC12ZXJzaW9uICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC12ZXJzaW9uICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXZlcnNpb24gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC15YW1sICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC15YW1sICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXlhbWwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1qb2IgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1qb2IgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1qb2IiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1zcGlubmVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1zcGlubmVyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItcHJvY2VzcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXN0cmVhbSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1zdHJlYW0iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlciArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlciArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItcHJvY2VzcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIteWFtbGlzaC1yZWFkZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtd3JpdGVyICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtd3JpdGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIteWFtbGlzaC13cml0ZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVybS1hbnNpY29sb3IgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlcm0tY2FwICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLWNhcCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLWNhcCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVybS1jb21wbGV0ZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlcm0tY29tcGxldGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVybS1yZWFkbGluZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLXJlYWRsaW5lICs9ICIke1BOfS1tb2R1bGUtdGVybS1jYXAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlci1tb2R1bGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSArPSAiJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICIke1BOfS1tb2R1bGUtcGVybGlvIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gIiR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXItdGVzdGVyLWNvbG9yICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXItY29sb3IgKz0gIiR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXItdGVzdGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXIgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXItdGVzdGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXIgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciArPSAiJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtaGFybmVzcyArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtdGFwLWhhcm5lc3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtaGFybmVzcyArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtaGFybmVzcyArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtaGFybmVzcyArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LW1vcmUgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LW1vcmUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1tb3JlICs9ICIke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LW1vcmUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtdGVzdGVyLWNhcHR1cmUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAiJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlICs9ICIke1BOfS1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtdGVzdGVyLWNhcHR1cmVydW5uZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciArPSAiJHtQTn0tbW9kdWxlLXRlc3QtdGVzdGVyLWNhcHR1cmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtdGVzdGVyLWRlbGVnYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3RlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3RlciArPSAiJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3RlciArPSAiJHtQTn0tbW9kdWxlLXRlc3QtdGVzdGVyLWNhcHR1cmVydW5uZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gIiR7UE59LW1vZHVsZS10ZXN0LXRlc3Rlci1kZWxlZ2F0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3RlciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC1hYmJyZXYgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC1iYWxhbmNlZCArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRleHQtYmFsYW5jZWQgKz0gIiR7UE59LW1vZHVsZS1zZWxmbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRleHQtYmFsYW5jZWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC1iYWxhbmNlZCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXh0LXBhcnNld29yZHMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXh0LXBhcnNld29yZHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC10YWJzICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC10YWJzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRleHQtdGFicyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC13cmFwICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC13cmFwICs9ICIke1BOfS1tb2R1bGUtcmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC13cmFwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRleHQtd3JhcCArPSAiJHtQTn0tbW9kdWxlLXRleHQtdGFicyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXh0LXdyYXAgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRleHQtd3JhcCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZCArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkICs9ICIke1BOfS1tb2R1bGUtdGhyZWFkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQgKz0gIiR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtcXVldWUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZC1xdWV1ZSArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZC1xdWV1ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtcXVldWUgKz0gIiR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtcXVldWUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtc2VtYXBob3JlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtc2VtYXBob3JlICs9ICIke1BOfS1tb2R1bGUtc2NhbGFyLXV0aWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtc2VtYXBob3JlICs9ICIke1BOfS1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZHMgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZHMgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkcyArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZHMgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkcy1zaGFyZWQgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZHMtc2hhcmVkICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLWFycmF5ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtYXJyYXkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLWFycmF5ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtZmlsZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtZmlsZSArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1maWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1maWxlICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS10aWUtc3RkaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtaGFzaC1uYW1lZGNhcHR1cmUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLWhhc2gtbmFtZWRjYXB0dXJlICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLWhhc2ggKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1oYXNoICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLW1lbW9pemUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLW1lbW9pemUgKz0gIiR7UE59LW1vZHVsZS10aWUtaGFzaCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtcmVmaGFzaCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLXJlZmhhc2ggKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLXJlZmhhc2ggKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtcmVmaGFzaCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtcmVmaGFzaCArPSAiJHtQTn0tbW9kdWxlLXRpZS1oYXNoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1yZWZoYXNoICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtc2NhbGFyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtc2NhbGFyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLXN0ZGhhbmRsZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtc3RkaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtdGllLWhhbmRsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtc3RkaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtc3Vic3RyaGFzaCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLXN1YnN0cmhhc2ggKz0gIiR7UE59LW1vZHVsZS1pbnRlZ2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtZ210aW1lICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1nbXRpbWUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1nbXRpbWUgKz0gIiR7UE59LW1vZHVsZS10aW1lLXRtIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtZ210aW1lICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWhpcmVzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWhpcmVzICs9ICIke1BOfS1tb2R1bGUtZHluYWxvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWhpcmVzICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1oaXJlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtbG9jYWwgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1sb2NhbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtbG9jYWx0aW1lICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtbG9jYWx0aW1lICs9ICIke1BOfS1tb2R1bGUtdGltZS10bSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1waWVjZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1waWVjZSArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtcGllY2UgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtcGllY2UgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLXBpZWNlICs9ICIke1BOfS1tb2R1bGUtaW50ZWdlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLXBpZWNlICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1waWVjZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLXBpZWNlICs9ICIke1BOfS1tb2R1bGUtdGltZS1sb2NhbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLXBpZWNlICs9ICIke1BOfS1tb2R1bGUtdGltZS1zZWNvbmRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLXRtICs9ICIke1BOfS1tb2R1bGUtY2xhc3Mtc3RydWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtdG0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1iaWc1ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstYmlnNSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstZ2IyMzEyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstZ2IyMzEyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1qaXN4MDIwOCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWppc3gwMjA4ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1rb3JlYW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1rb3JlYW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXBpbnlpbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXBpbnlpbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstc3Ryb2tlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstc3Ryb2tlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay16aHV5aW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay16aHV5aW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1sb2NhbGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWR5bmFsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtbm9ybWFsaXplICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLXVjZCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS1jaGFybmFtZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLXVjZCArPSAiJHtQTn0tbW9kdWxlLWZlYXR1cmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS1pZiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLXVjZCArPSAiJHtQTn0tbW9kdWxlLWludGVnZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLXVjZCArPSAiJHtQTn0tbW9kdWxlLXVuaWNvcmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS11dGY4LWhlYXZ5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtdWNkICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29yZSArPSAiJHtQTn0tbW9kdWxlLWludGVnZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pdmVyc2FsICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11c2VyLWdyZW50ICs9ICIke1BOfS1tb2R1bGUtY2xhc3Mtc3RydWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVzZXItZ3JlbnQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11c2VyLWdyZW50ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVzZXItZ3JlbnQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVzZXItcHdlbnQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVzZXItcHdlbnQgKz0gIiR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdXNlci1wd2VudCArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11c2VyLXB3ZW50ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdXNlci1wd2VudCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11c2VyLXB3ZW50ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11c2VyLXB3ZW50ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdXRmOCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdXRmOCArPSAiJHtQTn0tbW9kdWxlLXV0ZjgtaGVhdnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdmVyc2lvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS12ZXJzaW9uICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS12ZXJzaW9uICs9ICIke1BOfS1tb2R1bGUtdmVyc2lvbi1yZWdleCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS12ZXJzaW9uICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdmVyc2lvbi1yZWdleCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS12ZXJzaW9uLXJlZ2V4ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS14c2xvYWRlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUteHNsb2FkZXIgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzMTNhOTQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLmluYworKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVNVTU1BUlkgPSAiUGVybCBzY3JpcHRpbmcgbGFuZ3VhZ2UiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnBlcmwub3JnLyIKLVNFQ1RJT04gPSAiZGV2ZWwiCi1MSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ29weWluZzttZDU9NWIxMjJhMzZkMGY2ZGM1NTI3OWEwZWJjNjlmM2M2MGIgXAotCQkgICAgZmlsZTovL0FydGlzdGljO21kNT0yZTZmZDI0NzUzMzVhZjg5MjQ5NGZlMWY3MzI3YmFmMyIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmNwYW4ub3JnL3NyYy81LjAvJHtCUH0udGFyLnh6IgotCi1pbmhlcml0IHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLzAwMDEtQ29uZmlndXJlLVJlbW92ZS1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZy1mb3ItbmF0aXZlLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC8wMDAxLUNvbmZpZ3VyZS1SZW1vdmUtZnN0YWNrLXByb3RlY3Rvci1zdHJvbmctZm9yLW5hdGl2ZS0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0YTA1ZDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLzAwMDEtQ29uZmlndXJlLVJlbW92ZS1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZy1mb3ItbmF0aXZlLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi1Tb21lIGRpc3RyaWJ1dGlvbnMgKGxpa2Ugb3BlbnN1c2U0MjEpIHN1cHBvcnRlZCBieSB0aGUgcHJvamVjdAotY29tZXMgd2l0aCBvbGRlciBnY2MgcmVsZWFzZXMsIC1mc3RhY2stcHJvdGVjdG9yPXN0cm9uZyBpcyBzdXBwb3J0ZWQKLWJ5IEdDQz49NC45LgotCi1UaGlzIGNhdXNlcyBhIGJ1aWxkIGZhaWx1cmUgd2hlbiBpbnN0YWxsIHBlcmwtbmF0aXZlIGZyb20gYSBzc3RhdGUgdGhhdAotY29tZXMgZnJvbSBhIG1hY2hpbmUgc3VwcG9ydGluZyAtZnN0YWNrLXByb3RlY3Rvcj1zdHJvbmcgWzFdLgotCi1TbyBkaXNhYmxlIHVzYWdlIG9mIHRoaXMgZmxhZyBpbiBwZXJsLW5hdGl2ZSBidWlsZHMsIHRoaXMgcGF0Y2ggY291bGQKLWJlIHJlbW92ZWQgd2hlbiBhbGwgc3VwcG9ydGVkIGRpc3Ryb3MgY29tZXMgd2l0aCBHQ0M+PTQuOS4KLQotW1lPQ1RPICMxMDMzOF0KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQotCi1bMV0gaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzEwOTU4OS8KLQotU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+Ci0tLS0KLSBDb25maWd1cmUgfCA1NCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9Db25maWd1cmUgYi9Db25maWd1cmUKLWluZGV4IGVmYmRjZmQuLmQ1YmQ5OGMgMTAwNzU1Ci0tLS0gYS9Db25maWd1cmUKLSsrKyBiL0NvbmZpZ3VyZQotQEAgLTU0NjgsMzAgKzU0NjgsNiBAQCBkZWZhdWx0fHJlY29tbWVuZGVkKQotIAkJZXZhbCAkY2hlY2tjY2ZsYWcKLSAJCTs7Ci0gCWVzYWMKLS0KLS0JIyBvbiB4ODZfNjQgKGF0IGxlYXN0KSB3ZSByZXF1aXJlIGFuIGV4dHJhIGxpYnJhcnkgKGxpYnNzcCkgaW4gdGhlCi0tCSMgbGluayBjb21tYW5kIGxpbmUuIFRoaXMgbGlicmFyeSBpcyBub3QgbmFtZWQsIHNvIEkgaW5mZXIgdGhhdCBpdCBpcwotLQkjIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbCB0aGF0IG1heSBjaGFuZ2UuIEhlbmNlIHRoZSBzYWZlc3QgYXBwcm9hY2gKLS0JIyBpcyB0byBhZGQgdGhlIGZsYWcgdG8gdGhlIGZsYWdzIHBhc3NlZCB0byB0aGUgY29tcGlsZXIgYXQgbGluayB0aW1lLAotLQkjIGFzIHRoYXQgd2F5IHRoZSBjb21waWxlciBjYW4gZG8gdGhlIHJpZ2h0IGltcGxlbWVudGF0aW9uIGRlcGVuZGFudAotLQkjIHRoaW5nLiAoTldDKQotLQljYXNlICIkb3NuYW1lIiBpbgotLQlhbWlnYW9zKSA7OyAjIC1mc3RhY2stcHJvdGVjdG9yIGJ1aWxkcyBidXQgZG9lc24ndCB3b3JrCi0tCSopCWNhc2UgIiRnY2N2ZXJzaW9uIiBpbgotLQkJPyopCXNldCBzdGFjay1wcm90ZWN0b3Itc3Ryb25nIC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZwotLQkJCWV2YWwgJGNoZWNrY2NmbGFnCi0tCQkJY2FzZSAiJGRmbHQiIGluCi0tCQkJKi1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyopIDs7ICMgSXQgZ290IGFkZGVkLgotLQkJCSopICMgVHJ5IHRoZSBwbGFpbi9vbGRlciAtZnN0YWNrLXByb3RlY3Rvci4KLS0JCQkgICBzZXQgc3RhY2stcHJvdGVjdG9yIC1mc3RhY2stcHJvdGVjdG9yCi0tCQkJICAgZXZhbCAkY2hlY2tjY2ZsYWcKLS0JCQkgICA7OwotLQkJCWVzYWMKLS0JCQk7OwotLQkJZXNhYwotLQkJOzsKLS0JZXNhYwotLQk7OwotIGVzYWMKLSAKLSBjYXNlICIkbWlwc190eXBlIiBpbgotQEAgLTU2MzQsMjEgKzU2MTAsNiBAQCBjYXNlICIkbGRmbGFncyIgaW4KLSAJOzsKLSAqKSBkZmx0PSIkbGRmbGFncyI7OwotIGVzYWMKLS0jIFNlZSBub3RlIGFib3ZlIGFib3V0IC1mc3RhY2stcHJvdGVjdG9yCi0tY2FzZSAiJGNjZmxhZ3MiIGluCi0tKi1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyopCi0tCWNhc2UgIiRkZmx0IiBpbgotLQkqLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nKikgOzsgIyBEb24ndCBhZGQgaXQgYWdhaW4KLS0JKikgZGZsdD0iJGRmbHQgLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nIiA7OwotLQllc2FjCi0tCTs7Ci0tKi1mc3RhY2stcHJvdGVjdG9yKikKLS0JY2FzZSAiJGRmbHQiIGluCi0tCSotZnN0YWNrLXByb3RlY3RvciopIDs7ICMgRG9uJ3QgYWRkIGl0IGFnYWluCi0tCSopIGRmbHQ9IiRkZmx0IC1mc3RhY2stcHJvdGVjdG9yIiA7OwotLQllc2FjCi0tCTs7Ci0tZXNhYwotIAotIDogVHJ5IHRvIGd1ZXNzIGFkZGl0aW9uYWwgZmxhZ3MgdG8gcGljayB1cCBsb2NhbCBsaWJyYXJpZXMuCi0gZm9yIHRoaXNsaWJkaXIgaW4gJGxpYnB0aDsgZG8KLUBAIC04NTcxLDIxICs4NTMyLDYgQEAgRU9NCi0gCSAgICAnJ3wnICcpIGRmbHQ9J25vbmUnIDs7Ci0gCWVzYWMKLSAKLS0JY2FzZSAiJGxkZmxhZ3MiIGluCi0tCSAgICAqLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nKikKLS0JCWNhc2UgIiRkZmx0IiBpbgotLQkJICAgICotZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcqKSA7OyAjIERvbid0IGFkZCBpdCBhZ2FpbgotLQkJICAgICopIGRmbHQ9IiRkZmx0IC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyIgOzsKLS0JCWVzYWMKLS0JCTs7Ci0tCSAgICAqLWZzdGFjay1wcm90ZWN0b3IqKQotLQkJY2FzZSAiJGRmbHQiIGluCi0tCQkgICAgKi1mc3RhY2stcHJvdGVjdG9yKikgOzsgIyBEb24ndCBhZGQgaXQgYWdhaW4KLS0JCSAgICAqKSBkZmx0PSIkZGZsdCAtZnN0YWNrLXByb3RlY3RvciIgOzsKLS0JCWVzYWMKLS0JCTs7Ci0tCWVzYWMKLS0KLSAJcnA9IkFueSBzcGVjaWFsIGZsYWdzIHRvIHBhc3MgdG8gJGxkIHRvIGNyZWF0ZSBhIGR5bmFtaWNhbGx5IGxvYWRlZCBsaWJyYXJ5PyIKLSAJLiAuL215cmVhZAotIAljYXNlICIkYW5zIiBpbgotLS0gCi0yLjEuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvMDAwMS1FeHRVdGlscy1NTV9Vbml4LnBtLWZpeC1yYWNlLWlzc3Vlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC8wMDAxLUV4dFV0aWxzLU1NX1VuaXgucG0tZml4LXJhY2UtaXNzdWVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNDNmYmJhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC8wMDAxLUV4dFV0aWxzLU1NX1VuaXgucG0tZml4LXJhY2UtaXNzdWVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotRnJvbSA0MDcwMmFiZjMxNTZmYTkyZWY3MGVlNWQ0NDVmZTUyZGQ2Y2ZiYzdkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDIwIFNlcCAyMDE4IDE4OjQ4OjQ4ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIEV4dFV0aWxzL01NX1VuaXgucG06IGZpeCByYWNlIGlzc3VlcwotCi1GaXhlZCBhIHJhY2UgaXNzdWUgd2hlbiBjb21waWxlIGxpYmh0bWwtcGFyc2VyLXBlcmwgYW5kIG90aGVycyB3aG8gdXNlIE1ha2VNYWtlcjoKLVtzbmlwXQotY2htb2QgNzU1IGJsaWIvYXJjaC9hdXRvL0hUTUwvUGFyc2VyL1BhcnNlci5zbyAKLWNobW9kIDY0NCAiUGFyc2VyLmJzIgotW3NuaXBdCi0KLVRoZSBydWxlIElOU1RfRFlOQU1JQyByZW1vdmVzICcuYnMnIGZpbGUgd2hpY2ggYXJlIGdlbmVyYXRlZCBieSBCT09UU1RSQVAsIGJ1dAotdGhlIGhhdmUgbm8gZGVwZW5kZW5jaWVzLCBzbyB0aGVyZSBpcyBhIHJhY2UgaXNzdWU6Ci0KLUJPT1RTVFJBUDoKLSAgICB0b3VjaCBmb28uYnMKLSAgICBjaG1vZCA3NTUgZm9vLmJzCi0KLUlOU1RfRFlOQU1JQzoKLSAgICBybSAtZnIgZm9vLmJzCi0KLVRoZSBlcnJvciB3b3VsZCBoYXBwZW4gd2hlbiBJTlNUX0RZTkFNSUMgcmVtb3ZlcyBmb28uYnMgYWZ0ZXIgQk9PVFNUUkFQIHRvdWNoZWQKLWl0IGJ1dCBiZWZvcmUgY2htb2Qgb24gaXQuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9QZXJsLVRvb2xjaGFpbi1HYW5nL0V4dFV0aWxzLU1ha2VNYWtlci9jb21taXQvNDRlOTVlNzE3MzcyYWJlMmIwYTZlZTU1ZGU0YjY4Njc2MGI2NTM2MF0KLQotTm90ZSwgVGhpcyBpcyBub3QgYSByZWFsIGJhY2twb3J0LCB1cHN0cmVhbSBoYXMgdG90YWxseSByZWZhY3RvcmVkIGl0IGluIG9uZQotcGF0Y2gsIHBsZWFzZSBzZWUgdGhlIGxpbmsgYWJvdmUsIGl0J3Mgbm90IGEgZ29vZCBpZGVhIHRvIGJhY2twb3J0IHN1Y2ggYSBiaWcKLXBhdGNoLCBJIGp1c3QgcmVmZXJyZWQgaXQgdG8gZml4IHRoZSBwcm9ibGVtIGluIGEgc2ltcGxlIHdheS4gSSBtYXJrIGl0IGFzCi1iYWNrcG9ydCBpcyBiZWNhdXNlIHdlIGNhbiBkcm9wIHRoZSBwYXRjaCBhZnRlciB1cGdyYWRlIHBlcmwgdG8gNS4yNiBvciA1LjI4LgotCi1TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0gYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotaW5kZXggOTVkOTc2MS4uOWNhYmUyZCAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotQEAgLTkzMyw3ICs5MzMsNyBAQCBPVEhFUkxERkxBR1MgPSAnLiRsZF9vcHQuJG90aGVybGRmbGFncy4nCi0gSU5TVF9EWU5BTUlDX0RFUCA9ICcuJGluc3RfZHluYW1pY19kZXAuJwotIElOU1RfRFlOQU1JQ19GSVggPSAnLiRsZF9maXguJwotIAotLSQoSU5TVF9EWU5BTUlDKTogJChPQkpFQ1QpICQoTVlFWFRMSUIpICQoSU5TVF9BUkNIQVVUT0RJUikkKERGU0VQKS5leGlzdHMgJChFWFBPUlRfTElTVCkgJChQRVJMX0FSQ0hJVkVERVApICQoUEVSTF9BUkNISVZFX0FGVEVSKSAkKElOU1RfRFlOQU1JQ19ERVApCi0rJChJTlNUX0RZTkFNSUMpOiAkKE9CSkVDVCkgJChNWUVYVExJQikgJChJTlNUX0FSQ0hBVVRPRElSKSQoREZTRVApLmV4aXN0cyAkKEVYUE9SVF9MSVNUKSAkKFBFUkxfQVJDSElWRURFUCkgJChQRVJMX0FSQ0hJVkVfQUZURVIpICQoSU5TVF9EWU5BTUlDX0RFUCkgJChCT09UU1RSQVApCi0gJyk7Ci0gICAgIGlmICgkYXJtYXliZSBuZSAnOicpewotIAkkbGRmcm9tID0gJ3RtcCQoTElCX0VYVCknOwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvMDAwMS1Ta2lwLXZhcmlvdXMtdGVzdHMtaWYtUEVSTF9CVUlMRF9QQUNLQUdJTkctaXMtc2V0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLzAwMDEtU2tpcC12YXJpb3VzLXRlc3RzLWlmLVBFUkxfQlVJTERfUEFDS0FHSU5HLWlzLXNldC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzVkYjFiNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvMDAwMS1Ta2lwLXZhcmlvdXMtdGVzdHMtaWYtUEVSTF9CVUlMRF9QQUNLQUdJTkctaXMtc2V0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTI2ICswLDAgQEAKLUZyb20gYmE2NzMzMjE2MjAyNTIzYTk1YjBiN2VlMmU1MzRiOGUzMGI2ZDdkZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERvbWluaWMgSGFyZ3JlYXZlcyA8ZG9tQGVhcnRoLmxpPgotRGF0ZTogU2F0LCAxNCBPY3QgMjAxNyAxNjoyNzo1MyArMDIwMAotU3ViamVjdDogW1BBVENIXSBTa2lwIHZhcmlvdXMgdGVzdHMgaWYgUEVSTF9CVUlMRF9QQUNLQUdJTkcgaXMgc2V0Ci0KLVRoZXNlIGFyZSB0ZXN0cyB3aGljaCB0ZW5kIG5vdCB0byBiZSB1c2VmdWwgZm9yIGRvd25zdHJlYW0gcGFja2FnZXJzCi0KLXQvcG9ydGluZy9jdXN0b21pemVkLnQgY2hhbmdlIG9yaWdpbmFsbHkgZnJvbSBUb2RkIFJpbmFsZG8KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydFtodHRwczovL3Blcmw1LmdpdC5wZXJsLm9yZy9wZXJsLmdpdC9iYTY3MzMyMTYyMDI1MjNhOTViMGI3ZWUyZTUzNGI4ZTMwYjZkN2RmXQotCi1TaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgotLS0tCi0gSU5TVEFMTCAgICAgICAgICAgICAgICB8ICAzICsrLQotIE1BTklGRVNUICAgICAgICAgICAgICAgfCAgMSArCi0gUEFDS0FHSU5HICAgICAgICAgICAgICB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIHJlZ2VuL2xpYl9jbGVhbnVwLnBsICAgfCAgNSArKysrKwotIHQvcG9ydGluZy9jdXN0b21pemVkLnQgfCAgMSArCi0gdC90ZXN0LnBsICAgICAgICAgICAgICB8ICAzICsrKwotIDYgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBQQUNLQUdJTkcKLQotZGlmZiAtLWdpdCBhL0lOU1RBTEwgYi9JTlNUQUxMCi1pbmRleCA2MzZmNGJkNTJmLi4xMjg1ZmM2OWEyIDEwMDY0NAotLS0tIGEvSU5TVEFMTAotKysrIGIvSU5TVEFMTAotQEAgLTI3MTQsNCArMjcxNCw1IEBAIFRoaXMgZG9jdW1lbnQgaXMgcGFydCBvZiB0aGUgUGVybCBwYWNrYWdlIGFuZCBtYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIKLSB0aGUgc2FtZSB0ZXJtcyBhcyBwZXJsIGl0c2VsZiwgd2l0aCB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgcmVxdWVzdDoKLSBJZiB5b3UgYXJlIGRpc3RyaWJ1dGluZyBhIG1vZGlmaWVkIHZlcnNpb24gb2YgcGVybCAocGVyaGFwcyBhcyBwYXJ0IG9mCi0gYSBsYXJnZXIgcGFja2FnZSkgcGxlYXNlIEI8ZG8+IG1vZGlmeSB0aGVzZSBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zCi0tYW5kIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIHRvIG1hdGNoIHlvdXIgZGlzdHJpYnV0aW9uLgotK2FuZCB0aGUgY29udGFjdCBpbmZvcm1hdGlvbiB0byBtYXRjaCB5b3VyIGRpc3RyaWJ1dGlvbi4gQWRkaXRpb25hbAotK2luZm9ybWF0aW9uIGZvciBwYWNrYWdlcnMgaXMgaW4gRjxQQUNLQUdJTkc+LgotZGlmZiAtLWdpdCBhL01BTklGRVNUIGIvTUFOSUZFU1QKLWluZGV4IGIzMjA3MDMwYTkuLjMyZGU4MjRjYTEgMTAwNjQ0Ci0tLS0gYS9NQU5JRkVTVAotKysrIGIvTUFOSUZFU1QKLUBAIC00OTMyLDYgKzQ5MzIsNyBAQCBvczIvcGVybHJleHguYwkJCVN1cHBvcnQgcGVybCBpbnRlcnByZXRlciBlbWJlZGRlZCBpbiBSRVhYCi0gb3MyL3BlcmxyZXh4LmNtZAkJVGVzdCBwZXJsIGludGVycHJldGVyIGVtYmVkZGVkIGluIFJFWFgKLSBvdmVybG9hZC5oCQkJZ2VuZXJhdGVkIG92ZXJsb2FkIGVudW0gKHB1YmxpYykKLSBvdmVybG9hZC5pbmMJCQlnZW5lcmF0ZWQgb3ZlcmxvYWQgbmFtZSB0YWJsZSAoaW1wbGVtZW50YXRpb24pCi0rUEFDS0FHSU5HCQkJbm90ZXMgYW5kIGJlc3QgcHJhY3RpY2UgZm9yIHBhY2thZ2luZyBwZXJsIDUKLSBwYWNrc2l6ZXRhYmxlcy5pbmMJCVRoZSBnZW5lcmF0ZWQgcGFja3Byb3BzIGFycmF5IHVzZWQgaW4gcHBfcGFjay5jCi0gcGFkLmMJCQkJU2NyYXRjaHBhZCBmdW5jdGlvbnMKLSBwYWQuaAkJCQlTY3JhdGNocGFkIGhlYWRlcnMKLWRpZmYgLS1naXQgYS9QQUNLQUdJTkcgYi9QQUNLQUdJTkcKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi4wYzY5Yjg3YmE2Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9QQUNLQUdJTkcKLUBAIC0wLDAgKzEsMzAgQEAKLStJZiB5b3UgcmVhZCB0aGlzIGZpbGUgX2FzX2lzXywganVzdCBpZ25vcmUgdGhlIGZ1bm55IGNoYXJhY3RlcnMgeW91Ci0rc2VlLiAgSXQgaXMgd3JpdHRlbiBpbiB0aGUgUE9EIGZvcm1hdCAoc2VlIHBvZC9wZXJscG9kLnBvZCkgd2hpY2ggaXMKLStzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gYmUgcmVhZGFibGUgYXMgaXMuCi0rCi0rPWhlYWQxIE5BTUUKLSsKLStQQUNLQUdJTkcgLSBub3RlcyBhbmQgYmVzdCBwcmFjdGljZSBmb3IgcGFja2FnaW5nIHBlcmwgNQotKwotKz1oZWFkMSBTWU5PUFNJUwotKwotK1RoaXMgZG9jdW1lbnQgaXMgYWltZWQgYXQgYW55b25lIHdobyBpcyBwcm9kdWNpbmcgdGhlaXIgb3duIHZlcnNpb24gb2YKLStwZXJsIGZvciBkaXN0cmlidXRpb24gdG8gb3RoZXIgdXNlcnMuIEl0IGlzIGludGVuZGVkIGFzIGEgY29sbGVjdGlvbgotK29mIHVzZWZ1bCB0aXBzLCBhZHZpY2UgYW5kIGJlc3QgcHJhY3RpY2UsIHJhdGhlciB0aGFuIGJlaW5nIGEgY29tcGxldGUKLStwYWNrYWdpbmcgbWFudWFsLiBUaGUgc3RhcnRpbmcgcG9pbnQgZm9yIGluc3RhbGxpbmcgcGVybCByZW1haW5zCi0rRjxJTlNUQUxMPi4KLSsKLSs9aGVhZDEgQ3VzdG9taXppbmcgdGVzdCBydW5uaW5nCi0rCi0rQSBzbWFsbCBudW1iZXIgb2YgcG9ydGluZyB0ZXN0cyAodGhvc2UgaW4gdC9wb3J0aW5nKSBhcmUgbm90IHdlbGwgc3VpdGVkCi0rdG8gdHlwaWNhbCBkaXN0cmlidXRpb24gcGFja2FnaW5nIHNjZW5hcmlvcy4gRm9yIGV4YW1wbGUsIHRoZXkgYXNzdW1lCi0rdGhleSBhcmUgd29ya2luZyBpbiBhIGdpdCBjbG9uZSBvZiB0aGUgdXBzdHJlYW0gUGVybCByZXBvc2l0b3J5LCBvcgotK2VuZm9yY2UgcnVsZXMgd2hpY2ggYXJlIG5vdCByZWxldmFudCB0byBkb3duc3RyZWFtIHBhY2thZ2Vycy4gVGhlc2UgY2FuCi0rYmUgc2tpcHBlZCBieSBzZXR0aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBQRVJMX0JVSUxEX1BBQ0tBR0lORy4KLStBIGNvbXBsZXRlIGxpc3Qgb2YgdGVzdHMgd2hpY2ggdGhpcyBhcHBsaWVkIHRvIGNhbiBiZSBmb3VuZCBieSBzZWFyY2hpbmcKLSt0aGUgY29kZWJhc2UgZm9yIHRoaXMgc3RyaW5nLgotKwotK0FuIGFsdGVybmF0aXZlIHN0cmF0ZWd5IHdvdWxkIGJlIHRvIHNraXAgYWxsIHBvcnRpbmcgdGVzdHMsIGJ1dCBtYW55IG9mCi0rdGhlbSBhcmUgdXNlZnVsIGlmIGFkZGl0aW9uYWwgcGF0Y2hlcyBtaWdodCBiZSBhcHBsaWVkLgotKwotKz1jdXQKLWRpZmYgLS1naXQgYS9yZWdlbi9saWJfY2xlYW51cC5wbCBiL3JlZ2VuL2xpYl9jbGVhbnVwLnBsCi1pbmRleCA1ZTQwYjQwNWE0Li42Y2FmNzRhNTYzIDEwMDY0NAotLS0tIGEvcmVnZW4vbGliX2NsZWFudXAucGwKLSsrKyBiL3JlZ2VuL2xpYl9jbGVhbnVwLnBsCi1AQCAtMTY0LDYgKzE2NCwxMSBAQCBpZiAoJFRBUCAmJiAhLWQgJy5naXQnICYmICEtZiAnbGliLy5naXRpZ25vcmUnKSB7Ci0gICAgIGV4aXQgMDsKLSB9Ci0gCi0raWYgKCRFTlZ7J1BFUkxfQlVJTERfUEFDS0FHSU5HJ30pIHsKLSsgICAgcHJpbnQgIm9rICMgc2tpcCBleHBsaWNpdGx5IGRpc2FibGVkIGdpdCB0ZXN0cyBieSBQRVJMX0JVSUxEX1BBQ0tBR0lOR1xuIjsKLSsgICAgZXhpdCAwOwotK30KLSsKLSAkZmggPSBvcGVuX25ldygnbGliLy5naXRpZ25vcmUnLCAnPicsCi0gICAgICAgICAgICAgICAgeyBieSA9PiAkMCwKLSAgICAgICAgICAgICAgICAgIGZyb20gPT4gJ01BTklGRVNUIGFuZCBwYXJzaW5nIGZpbGVzIGluIGNwYW4vIGRpc3QvIGFuZCBleHQvJ30pOwotZGlmZiAtLWdpdCBhL3QvcG9ydGluZy9jdXN0b21pemVkLnQgYi90L3BvcnRpbmcvY3VzdG9taXplZC50Ci1pbmRleCA0NWZjYWZiMTAwLi41YzM3MzkxOThjIDEwMDY0NAotLS0tIGEvdC9wb3J0aW5nL2N1c3RvbWl6ZWQudAotKysrIGIvdC9wb3J0aW5nL2N1c3RvbWl6ZWQudAotQEAgLTEzLDYgKzEzLDcgQEAgQkVHSU4gewotICAgICBASU5DID0gcXcobGliIFBvcnRpbmcgdCk7Ci0gICAgIHJlcXVpcmUgJ3Rlc3QucGwnOwotICAgICBza2lwX2FsbCgicHJlLWNvbXB1dGVkIFNIQTEgd29uJ3QgbWF0Y2ggdW5kZXIgRUJDRElDIikgaWYgJDo6SVNfRUJDRElDOwotKyAgICBza2lwX2FsbCgiVGhpcyBkaXN0cm8gbWF5IGhhdmUgbW9kaWZpZWQgc29tZSBmaWxlcyBpbiBjcGFuLy4gU2tpcHBpbmcgdmFsaWRhdGlvbi4iKSBpZiAkRU5WeydQRVJMX0JVSUxEX1BBQ0tBR0lORyd9OwotIH0KLSAKLSB1c2Ugc3RyaWN0OwotZGlmZiAtLWdpdCBhL3QvdGVzdC5wbCBiL3QvdGVzdC5wbAotaW5kZXggNzllNmUyNWU5NS4uMTc4MmRjZjczYyAxMDA2NDQKLS0tLSBhL3QvdGVzdC5wbAotKysrIGIvdC90ZXN0LnBsCi1AQCAtMjEyLDYgKzIxMiw5IEBAIHN1YiBmaW5kX2dpdF9vcl9za2lwIHsKLSAgICAgfSBlbHNlIHsKLSAJJHJlYXNvbiA9ICdub3QgYmVpbmcgcnVuIGZyb20gYSBnaXQgY2hlY2tvdXQnOwotICAgICB9Ci0rICAgIGlmICgkRU5WeydQRVJMX0JVSUxEX1BBQ0tBR0lORyd9KSB7Ci0rCSRyZWFzb24gPSAnUEVSTF9CVUlMRF9QQUNLQUdJTkcgaXMgc2V0JzsKLSsgICAgfQotICAgICBza2lwX2FsbCgkcmVhc29uKSBpZiAkX1swXSAmJiAkX1swXSBlcSAnYWxsJzsKLSAgICAgc2tpcCgkcmVhc29uLCBAXyk7Ci0gfQotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL0NWRS0yMDE4LTEyMDE1LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL0NWRS0yMDE4LTEyMDE1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMzNkZWFmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9DVkUtMjAxOC0xMjAxNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUZyb20gYWU2NTY1MWVhYjA1M2ZjNmRjNDU5MGRiYjg2M2EyNjgyMTVjMWZjNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9QZXRyPTIwUD1DMz1BRHNhPUM1PTk5Pz0gPHBwaXNhckByZWRoYXQuY29tPgotRGF0ZTogRnJpLCA4IEp1biAyMDE4IDExOjQ1OjQwICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIFtQQVRDSF0gUmVtb3ZlIGV4aXN0aW5nIGZpbGVzIGJlZm9yZSBvdmVyd3JpdGluZyB0aGVtCi0KLUFyY2hpdmUgc2hvdWxkIGV4dHJhY3Qgb25seSB0aGUgbGF0ZXN0IHNhbWUtbmFtZWQgZW50cnkuCi1FeHRyYWN0ZWQgcmVndWxhciBmaWxlIHNob3VsZCBub3QgYmUgd3JpdHRlbnQgaW50byBleGlzdGluZyBibG9jawotZGV2aWNlIChvciBhbnkgb3RoZXIgb25lKS4KLQotaHR0cHM6Ly9ydC5jcGFuLm9yZy9UaWNrZXQvRGlzcGxheS5odG1sP2lkPTEyNTUyMwotCi1DVkU6IENWRS0yMDE4LTEyMDE1Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vamliL2FyY2hpdmUtdGFyLW5ldy9jb21taXQvYWU2NTY1MWVhYjA1M2ZjNmRjNDU5MGRiYjg2M2EyNjgyMTVjMWZjNV0KLQotU2lnbmVkLW9mZi1ieTogQ2hyaXMgJ0JpbkdPcycgV2lsbGlhbXMgPGNocmlzQGJpbmdvc25ldC5jby51az4KLVNpZ25lZC1vZmYtYnk6IEphZ2FkZWVzaCBLcmlzaG5hbmphbmFwcGEgPGprcmlzaG5hbmphbmFwcGFAbXZpc3RhLmNvbT4KLS0tLQotIGxpYi9BcmNoaXZlL1Rhci5wbSB8IDE0ICsrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2NwYW4vQXJjaGl2ZS1UYXIvbGliL0FyY2hpdmUvVGFyLnBtIGIvY3Bhbi9BcmNoaXZlLVRhci9saWIvQXJjaGl2ZS9UYXIucG0KLWluZGV4IDYyNDQzNjkuLmE4Mzk3NWYgMTAwNjQ0Ci0tLS0gYS9jcGFuL0FyY2hpdmUtVGFyL2xpYi9BcmNoaXZlL1Rhci5wbQotKysrIGIvY3Bhbi9BcmNoaXZlLVRhci9saWIvQXJjaGl2ZS9UYXIucG0KLUBAIC04NDUsNiArODQ1LDIwIEBAIHN1YiBfZXh0cmFjdF9maWxlIHsKLSAgICAgICAgIHJldHVybjsKLSAgICAgfQotIAotKyAgICAjIyMgSWYgYSBmaWxlIHN5c3RlbSBhbHJlYWR5IGNvbnRhaW5zIGEgYmxvY2sgZGV2aWNlIHdpdGggdGhlIHNhbWUgbmFtZSBhcwotKyAgICAjIyMgdGhlIGJlaW5nIGV4dHJhY3RlZCByZWd1bGFyIGZpbGUsIHdlIHdvdWxkIHdyaXRlIHRoZSBmaWxlJ3MgY29udGVudAotKyAgICAjIyMgdG8gdGhlIGJsb2NrIGRldmljZS4gU28gcmVtb3ZlIHRoZSBleGlzdGluZyBmaWxlIChibG9jayBkZXZpY2UpIG5vdy4KLSsgICAgIyMjIElmIGFuIGFyY2hpdmUgY29udGFpbnMgbXVsdGlwbGUgc2FtZS1uYW1lZCBlbnRyaWVzLCB0aGUgbGFzdCBvbmUKLSsgICAgIyMjIHNob3VsZCByZXBsYWNlIHRoZSBwcmV2aW91cyBvbmVzLiBTbyByZW1vdmUgdGhlIG9sZCBmaWxlIG5vdy4KLSsgICAgIyMjIElmIHRoZSBvbGQgZW50cnkgaXMgYSBzeW1saW5rIHRvIGEgZmlsZSBvdXRzaWRlIG9mIHRoZSBDV0QsIHRoZSBuZXcKLSsgICAgIyMjIGVudHJ5IHdvdWxkIGNyZWF0ZSBhIGZpbGUgdGhlcmUuIFRoaXMgaXMgQ1ZFLTIwMTgtMTIwMTUKLSsgICAgIyMjIDxodHRwczovL3J0LmNwYW4ub3JnL1RpY2tldC9EaXNwbGF5Lmh0bWw/aWQ9MTI1NTIzPi4KLSsgICAgaWYgKC1sICRmdWxsIHx8IC1lIF8pIHsKLSsJaWYgKCF1bmxpbmsgJGZ1bGwpIHsKLSsJICAgICRzZWxmLT5fZXJyb3IoIHFxW0NvdWxkIG5vdCByZW1vdmUgb2xkIGZpbGUgJyRmdWxsJzogJCFdICk7Ci0rCSAgICByZXR1cm47Ci0rCX0KLSsgICAgfQotICAgICBpZiggbGVuZ3RoICRlbnRyeS0+dHlwZSAmJiAkZW50cnktPmlzX2ZpbGUgKSB7Ci0gICAgICAgICBteSAkZmggPSBJTzo6RmlsZS0+bmV3OwotICAgICAgICAgJGZoLT5vcGVuKCAnPicgLiAkZnVsbCApIG9yICgKLS0tIAotMi4xMy4zCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9Db25maWd1cmUtbXVsdGlsaWIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvQ29uZmlndXJlLW11bHRpbGliLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjI1YjBiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9Db25maWd1cmUtbXVsdGlsaWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6UGVuZGluZwotCi1JbmRleDogcGVybC01LjEyLjMvQ29uZmlndXJlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcGVybC01LjEyLjMub3JpZy9Db25maWd1cmUKLSsrKyBwZXJsLTUuMTIuMy9Db25maWd1cmUKLUBAIC0xMzE2LDggKzEzMTYsOSBAQCBsb2NsaWJwdGg9Ii91c3IvbG9jYWwvbGliIC9vcHQvbG9jYWwvbGliCi0gbG9jbGlicHRoPSIkbG9jbGlicHRoIC9vcHQvZ251L2xpYiAvdXNyL0dOVS9saWIgL29wdC9HTlUvbGliIgotIAotIDogZ2VuZXJhbCBsb29raW5nIHBhdGggZm9yIGxvY2F0aW5nIGxpYnJhcmllcwotLWdsaWJwdGg9Ii9saWIgL3Vzci9saWIgJHhsaWJwdGgiCi0rZ2xpYnB0aD0iL2xpYiAvdXNyL2xpYiAvbGliNjQgL3Vzci9saWI2NCAkeGxpYnB0aCIKLSBnbGlicHRoPSIkZ2xpYnB0aCAvdXNyL2Njcy9saWIgL3Vzci91Y2JsaWIgL3Vzci9sb2NhbC9saWIiCi0rdGVzdCAtZiAvdXNyL2xpYi8qLWxpbnV4LWdudS9saWJjLnNvICYmIGdsaWJwdGg9Ii91c3IvbGliLyotbGludXgtZ251ICRnbGlicHRoIgotIHRlc3QgLWYgL3Vzci9zaGxpYi9saWJjLnNvICYmIGdsaWJwdGg9Ii91c3Ivc2hsaWIgJGdsaWJwdGgiCi0gdGVzdCAtZiAvc2hsaWIvbGliYy5zbyAgICAgJiYgZ2xpYnB0aD0iL3NobGliICRnbGlicHRoIgotIHRlc3QgLWQgL3Vzci9saWI2NCAgICAgICAgICYmIGdsaWJwdGg9IiRnbGlicHRoIC9saWI2NCAvdXNyL2xpYjY0IC91c3IvbG9jYWwvbGliNjQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvTU1fVW5peC5wbS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9NTV9Vbml4LnBtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYjkyY2NiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9NTV9Vbml4LnBtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOlBlbmRpbmcKLQotVGhlIHBlcmwtbmF0aXZlIHNob3VsZCBiZSByZWxvY2F0YWJsZSB3aGlsZSByZS11c2Ugc3N0YXRlLWNhY2hlIGZyb20KLWFub3RoZXIgYnVpbGQsIGVzcGVjaWFsbHkgdGhlIG9yaWdpbmFsIGJ1aWxkIHdhcyByZW5hbWVkL3JlbW92ZWQuCi0KLVRvIGdldCB0aGUgTWFrZU1ha2VyLnBtIHdvcmtzIGluIHRoaXMgY2FzZSwgd2UgbmVlZCBwZXJsIHdyYXBwZXIgaGVyZQotaW5zdGVhZCBvZiByZWFsIHBlcmwgYmluYXJ5LgotCi1TaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMTIuMy9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbS5vcmlnCTIwMTEtMDgtMTIgMTY6MDc6MzAuMDAwMDAwMDAwICswODAwCi0rKysgcGVybC01LjEyLjMvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0JMjAxMS0wOC0xMiAxNjowODo1Ni4wMDAwMDAwMDAgKzA4MDAKLUBAIC0xMDE5LDYgKzEwMTksOSBAQAotICAgICB9Ci0gCi0gICAgIGZvcmVhY2ggbXkgJG5hbWUgKEAkbmFtZXMpewotKyAgICAgICAgIyBHZXR0aW5nIE1ha2VNYWtlci5wbSB1c2UgcGVybCB3cmFwcGVyIGluc3RlYWQgb2YgJ3BlcmwucmVhbCcgZGlyZWN0bHkKLSsgICAgICAgICRuYW1lID1+IHMvcGVybFwucmVhbC9wZXJsLyBpZiAoJG5hbWUgPX4gL3BlcmxcLnJlYWwvKTsKLSsKLSAgICAgICAgIGZvcmVhY2ggbXkgJGRpciAoQCRkaXJzKXsKLSAgICAgICAgICAgICBuZXh0IHVubGVzcyBkZWZpbmVkICRkaXI7ICMgJHNlbGYtPntQRVJMX1NSQ30gbWF5IGJlIHVuZGVmaW5lZAotICAgICAgICAgICAgIG15ICgkYWJzLCAkdmFsKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9NYWtlZmlsZS5TSC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9NYWtlZmlsZS5TSC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTRjMzQyNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvTWFrZWZpbGUuU0gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzODMgKzAsMCBAQAotRnJvbSA0ZGQ5ZjNmODFkOGM4MWM5NmZmMWVhMDg5MGVhNTU2ODVmMjhiN2U5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVHVlLCAxIEp1bCAyMDE0IDE1OjUxOjUzICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMjgvNDldIHBlcmwsIHBlcmwtbmF0aXZlLCBwZXJsLXB0ZXN0OiB1cGdyYWRlIGZyb20gNS4xNC4zIHRvCi0gNS4yMC4wCi0KLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotCi0tLS0KLSBNYWtlZmlsZS5TSCB8IDE0NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygrKSwgNzkgZGVsZXRpb25zKC0pCi0KLUluZGV4OiBwZXJsLTUuMjQuNC9NYWtlZmlsZS5TSAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBlcmwtNS4yNC40Lm9yaWcvTWFrZWZpbGUuU0gKLSsrKyBwZXJsLTUuMjQuNC9NYWtlZmlsZS5TSAotQEAgLTQ4LDEwICs0OCwxMCBAQCBjYXNlICIkdXNlc2hycGxpYiIgaW4KLSB0cnVlKQotIAkjIFByZWZpeCBhbGwgcnVucyBvZiAnbWluaXBlcmwnIGFuZCAncGVybCcgd2l0aAotIAkjICRsZGxpYnB0aCBzbyB0aGF0IC4vcGVybCBmaW5kcyAqdGhpcyogc2hhcmVkIGxpYnBlcmwuCi0tCWNhc2UgIiRMRF9MSUJSQVJZX1BBVEgiIGluCi0tCScnKSAgbGRsaWJwdGg9IkxEX0xJQlJBUllfUEFUSD1gIHF1b3RlICIkcHdkIiBgIiA7OwotLQkqKSAgIGxkbGlicHRoPSJMRF9MSUJSQVJZX1BBVEg9YCBxdW90ZSAiJHB3ZCIgYDpgIHF1b3RlICIkTERfTElCUkFSWV9QQVRIIiBgIiA7OwotLQllc2FjCi0rCSNjYXNlICIkTERfTElCUkFSWV9QQVRIIiBpbgotKwkjJycpICBsZGxpYnB0aD0iTERfTElCUkFSWV9QQVRIPWAgcXVvdGUgIiRwd2QiIGAiIDs7Ci0rCSMqKSAgIGxkbGlicHRoPSJMRF9MSUJSQVJZX1BBVEg9YCBxdW90ZSAiJHB3ZCIgYDpgIHF1b3RlICIkTERfTElCUkFSWV9QQVRIIiBgIiA7OwotKwkjZXNhYwotIAotIAlwbGRsZmxhZ3M9IiRjY2NkbGZsYWdzIgotIAlzdGF0aWNfbGRmbGFncz0nJwotQEAgLTEzMSwxMCArMTMxLDExIEBAIHRydWUpCi0gCSAgICAqKQotIAkJZXZhbCAibGRsaWJwdGh2YWw9XCJcJCRsZGxpYnB0aG5hbWVcIiIKLSAKLS0JCWNhc2UgIiRsZGxpYnB0aHZhbCIgaW4KLS0JCScnKSAgbGRsaWJwdGg9IiRsZGxpYnB0aG5hbWU9YCBxdW90ZSAiJHB3ZCIgYCIgOzsKLS0JCSopICAgbGRsaWJwdGg9IiRsZGxpYnB0aG5hbWU9YCBxdW90ZSAiJHB3ZCIgYDpgIHF1b3RlICIkbGRsaWJwdGh2YWwiIGAiIDs7Ci0tCQllc2FjCi0rIyBXZSBjb21waWxlIGluIHRoZSBsaWJyYXJ5IHBhdGggaW4gT0UgZnJvbSBjcm9zcy1jb21waWxlLCBzbyBsZXRzIG5vdCBkbyB0aGlzCi0rIwkJY2FzZSAiJGxkbGlicHRodmFsIiBpbgotKyMJCScnKSAgbGRsaWJwdGg9IiRsZGxpYnB0aG5hbWU9YCBxdW90ZSAiJHB3ZCIgYCIgOzsKLSsjCQkqKSAgIGxkbGlicHRoPSIkbGRsaWJwdGhuYW1lPWAgcXVvdGUgIiRwd2QiIGA6YCBxdW90ZSAiJGxkbGlicHRodmFsIiBgIiA7OwotKyMJCWVzYWMKLSAKLSAJCTs7Ci0gCSAgICBlc2FjCi1AQCAtMTUwLDE4ICsxNTEsNyBAQCB0cnVlKQotIAkgICAgIyBJTlNUQUxMIGZpbGUsIHVuZGVyICJCdWlsZGluZyBhIHNoYXJlZCBwZXJsIGxpYnJhcnkiLgotIAkgICAgIyBJZiB0aGVyZSBpcyBubyBwcmUtZXhpc3RpbmcgJGxpYnBlcmwsIHdlIGRvbid0IG5lZWQKLSAJICAgICMgdG8gZG8gYW55dGhpbmcgZnVydGhlci4KLS0JICAgIGlmIHRlc3QgLWYgJGFyY2hsaWIvQ09SRS8kbGlicGVybDsgdGhlbgotLQkJcm0gLWYgcHJlbG9hZAotLQkJY2F0IDw8J0VPVCcgPiBwcmVsb2FkCi0tIyEgL2Jpbi9zaAotLWxpYj0kMQotLXNoaWZ0Ci0tdGVzdCAtciAkbGliICYmIGV4cG9ydCBMRF9QUkVMT0FEPSIkbGliICRMRF9QUkVMT0FEIgotLWV4ZWMgIiRAIgotLUVPVAotLQkJY2htb2QgNzU1IHByZWxvYWQKLS0JCWxkbGlicHRoPSIkbGRsaWJwdGggYHB3ZGAvcHJlbG9hZCBgcHdkYC8kbGlicGVybCIKLS0JICAgIGZpCi0rCSAgICBlY2hvIGxpbnV4IGxpYnJhcmllcyBvdmVyd3JpdHRlbiBieSBjcm9zcy1jb21waWxlIHBhdGNoZXMKLSAJICAgIDs7Ci0gCW9zMzkwKQl0ZXN0IC1mIC9iaW4vZW52ICYmIGxkbGlicHRoPSIvYmluL2VudiAkbGRsaWJwdGgiCi0gCQk7OwotQEAgLTU5NiwxMyArNTg2LDIzIEBAIHNwbGludGZpbGVzID0gJChjMSkKLSAJQGVjaG8gYCQoQ0NDTURTUkMpYCAtUyAkKi5jCi0gCUBgJChDQ0NNRFNSQylgIC1TICQqLmMKLSAKLS1hbGw6ICQoRklSU1RNQUtFRklMRSkgJChNSU5JUEVSTF9FWEUpICQoZ2VuZXJhdGVkX3BvZHMpICQocHJpdmF0ZSkgJCh1bmlkYXRhZmlsZXMpICQocHVibGljKSAkKGR5bmFtaWNfZXh0KSAkKG5vbnhzX2V4dCkgZXh0cmFzLm1ha2UgJChNQU5JRkVTVF9TUlQpCi0tCUBlY2hvICIgIjsKLS0JQGVjaG8gIglFdmVyeXRoaW5nIGlzIHVwIHRvIGRhdGUuIFR5cGUgJyQoTUFLRSkgdGVzdCcgdG8gcnVuIHRlc3Qgc3VpdGUuIgotLQotLSQoTUFOSUZFU1RfU1JUKToJTUFOSUZFU1QgJChQRVJMX0VYRSkKLS0JQCQoUlVOX1BFUkwpIFBvcnRpbmcvbWFuaXNvcnQgLXEgfHwgKGVjaG8gIldBUk5JTkc6IHJlLXNvcnRpbmcgTUFOSUZFU1QiOyBcCi0tCSAgICAkKFJVTl9QRVJMKSBQb3J0aW5nL21hbmlzb3J0IC1xIC1vIE1BTklGRVNUOyBzaCAtYyB0cnVlKQotKyNhbGw6ICQoRklSU1RNQUtFRklMRSkgJChNSU5JUEVSTF9FWEUpICQoZ2VuZXJhdGVkX3BvZHMpICQocHJpdmF0ZSkgJCh1bmlkYXRhZmlsZXMpICQocHVibGljKSAkKGR5bmFtaWNfZXh0KSAkKG5vbnhzX2V4dCkgZXh0cmFzLm1ha2UgJChNQU5JRkVTVF9TUlQpCi0rIwlAZWNobyAiICI7Ci0rIwlAZWNobyAiCUV2ZXJ5dGhpbmcgaXMgdXAgdG8gZGF0ZS4gVHlwZSAnJChNQUtFKSB0ZXN0JyB0byBydW4gdGVzdCBzdWl0ZS4iCi0rCi0rYWxsOiAkKEZJUlNUTUFLRUZJTEUpICQoTUlOSVBFUkxfRVhFKSBtaW5pcGVybCAkKHVuaWRhdGFmaWxlcykKLSsKLSttb3JlOiAkKGdlbmVyYXRlZF9wb2RzKSAkKHByaXZhdGUpICQocHVibGljKQotKwotK21vcmUyOiAkKGR5bmFtaWNfZXh0KQotKwotK21vcmUzOiAkKG5vbnhzX2V4dCkKLSsKLSttb3JlNDogZXh0cmFzLm1ha2UgJChNQU5JRkVTVF9TUlQpCi0rCi0rJChNQU5JRkVTVF9TUlQpOglNQU5JRkVTVAotKwlAJChNSU5JUEVSTCkgUG9ydGluZy9tYW5pc29ydCAtcSB8fCAoZWNobyAiV0FSTklORzogcmUtc29ydGluZyBNQU5JRkVTVCI7IFwKLSsJICAgICQoTUlOSVBFUkwpIFBvcnRpbmcvbWFuaXNvcnQgLXEgLW8gTUFOSUZFU1Q7IHNoIC1jIHRydWUpCi0gCUB0b3VjaCAkKE1BTklGRVNUX1NSVCkKLSAKLSAuUEhPTlk6IGFsbCB1dGlsaXRpZXMKLUBAIC02MTEsNyArNjExLDcgQEAgJChNQU5JRkVTVF9TUlQpOglNQU5JRkVTVCAkKFBFUkxfRVhFKQotICMgYnkgbWFrZV9wYXRjaG51bS5wbC4KLSBnaXRfdmVyc2lvbi5oOiBsaWIvQ29uZmlnX2dpdC5wbAotIAotLWxpYi9Db25maWdfZ2l0LnBsOiAkKE1JTklQRVJMX0VYRSkgbWFrZV9wYXRjaG51bS5wbAotK2xpYi9Db25maWdfZ2l0LnBsOiBtYWtlX3BhdGNobnVtLnBsCi0gCSQoTUlOSVBFUkwpIG1ha2VfcGF0Y2hudW0ucGwKLSAKLSAjIG1ha2Ugc3VyZSB0aGF0IHdlIHJlY29tcGlsZSBwZXJsLmMgaWYgdGhlIGdpdCB2ZXJzaW9uIGNoYW5nZXMKLUBAIC02MjQsNyArNjI0LDcgQEAgcGVybCQoT0JKX0VYVCk6IGdpdF92ZXJzaW9uLmgKLSAjIGxvYWRpbmcsIHdlIG5lZWQgdG8gYnVpbGQgcGVybCBmaXJzdC4KLSBjYXNlICIkdXNlZGwkc3RhdGljX2N3ZCIgaW4KLSBkZWZpbmV1bmRlZikKLS0gICAgdXRpbF9kZXBzPSckKE1JTklQRVJMX0VYRSkgJChDT05GSUdQTSkgbGliL2F1dG8vQ3dkL0N3ZCQoRExTVUZGSVgpIEZPUkNFJwotKyAgICB1dGlsX2RlcHM9JyQoQ09ORklHUE0pIGxpYi9hdXRvL0N3ZC9Dd2QkKERMU1VGRklYKSBGT1JDRScKLSAgICAgOzsKLSBkZWZpbmVkZWZpbmUpCi0gICAgIHV0aWxfZGVwcz0nJChQRVJMX0VYRSkgJChDT05GSUdQTSkgRk9SQ0UnCi1AQCAtNjM0LDcgKzYzNCw3IEBAIGRlZmluZWRlZmluZSkKLSBlc2FjCi0gCi0gJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCFHUk9LIVRISVMhCi0tdXRpbHMvTWFrZWZpbGU6IFwkKE1JTklQRVJMX0VYRSkgXCQoQ09ORklHUE0pIHV0aWxzL01ha2VmaWxlLlBMCi0rdXRpbHMvTWFrZWZpbGU6IFwkKENPTkZJR1BNKSB1dGlscy9NYWtlZmlsZS5QTAotIAlcJChNSU5JUEVSTCkgLUlsaWIgdXRpbHMvTWFrZWZpbGUuUEwKLSAKLSB1dGlsaXRpZXM6CXV0aWxzL01ha2VmaWxlICR1dGlsX2RlcHMKLUBAIC03NDMsNyArNzQzLDcgQEAgZXh0LmxpYnM6ICQoc3RhdGljX2V4dCkKLSA7OwotICopCi0gJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCchTk8hU1VCUyEnCi0tcGVybG1haW4uYzogJChNSU5JUEVSTF9FWEUpIGV4dC9FeHRVdGlscy1NaW5pcGVybC9wbV90b19ibGliCi0rcGVybG1haW4uYzogZXh0L0V4dFV0aWxzLU1pbmlwZXJsL2xpYi9FeHRVdGlscy9NaW5pcGVybC5wbQotIAkkKE1JTklQRVJMKSAtSWxpYiAtTUV4dFV0aWxzOjpNaW5pcGVybCAtZSAnd3JpdGVtYWluKFwicGVybG1haW4uYyIsIEBBUkdWKScgRHluYUxvYWRlciAkKHN0YXRpY19leHQpCi0gCi0gIyBUaGUgZmlsZSBleHQubGlicyBpcyBhIGxpc3Qgb2YgbGlicmFyaWVzIHRoYXQgbXVzdCBiZSBsaW5rZWQgaW4KLUBAIC04MDYsNyArODA2LDcgQEAgUEVSTEVYUE9SVAkJPSBwZXJsLmV4cAotIAk7OwotIAllc2FjCi0gCSRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotLXBlcmwuZXhwOiAkKE1JTklQRVJMRVhQKSBtYWtlZGVmLnBsICQoQ09ORklHUE0pICQoU1lNKSAkKFNZTUgpCi0rcGVybC5leHA6IG1ha2VkZWYucGwgJChDT05GSUdQTSkgJChTWU0pICQoU1lNSCkKLSAJLi8kKE1JTklQRVJMRVhQKSBtYWtlZGVmLnBsIC0tc29ydC1mb2xkIFBMQVRGT1JNPWFpeCBDQ19GTEFHUz0iJChPUFRJTUlaRSkiID4gcGVybC5leHAKLSAKLSAhTk8hU1VCUyEKLUBAIC04MTUsNyArODE1LDcgQEAgb3MyKQotIAkkc3BpdHNoZWxsID4+JE1ha2VmaWxlIDw8JyFOTyFTVUJTIScKLSBNSU5JUEVSTEVYUAkJPSBtaW5pcGVybAotIAotLXBlcmw1LmRlZjogJChNSU5JUEVSTEVYUCkgbWFrZWRlZi5wbCAkKENPTkZJR1BNKSAkKFNZTSkgJChTWU1IKSBtaW5pcGVybC5tYXAKLStwZXJsNS5kZWY6IG1ha2VkZWYucGwgJChDT05GSUdQTSkgJChTWU0pICQoU1lNSCkgbWluaXBlcmwubWFwCi0gCS4vJChNSU5JUEVSTEVYUCkgbWFrZWRlZi5wbCBQTEFURk9STT1vczIgLURQRVJMX0RMTD0kKFBFUkxfRExMKSBDQ19GTEFHUz0iJChPUFRJTUlaRSkiID4gcGVybDUuZGVmCi0gCi0gIU5PIVNVQlMhCi1AQCAtODc4LDcgKzg3OCw3IEBAICQoTElCUEVSTCk6ICQmICQocGVybGxpYl9vYmpzKSAkKERZTkFMT0EKLSAJdHJ1ZSkKLSAJCSRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotIAlybSAtZiAkQAotLQkkKExEKSAtbyAkQCAkKFNIUlBMREZMQUdTKSAkKHBlcmxsaWJfb2JqcykgJChEWU5BTE9BREVSKSAkKGxpYnMpCi0rCSQoTEQpIC1vICRAICQoU0hSUExERkxBR1MpICQocGVybGxpYl9vYmpzKSAkKERZTkFMT0FERVIpICQobGlicykgLVdsLC1zb25hbWUsbGlicGVybC5zby41Ci0gIU5PIVNVQlMhCi0gCQljYXNlICIkb3NuYW1lIiBpbgotIAkJYWl4KQotQEAgLTkzNiwxNSArOTM2LDE5IEBAIGxpYi9idWlsZGN1c3RvbWl6ZS5wbDogJCYgJChtaW5pcGVybF9vYmoKLSAJCSRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotIGxpYi9idWlsZGN1c3RvbWl6ZS5wbDogJCYgJChtaW5pcGVybF9vYmpzKQotIAkkKENDKSAtbyAkKE1JTklQRVJMX0VYRSkgJChDTERGTEFHUykgJChtaW5pcGVybF9vYmpzKSAkKGxpYnMpCi0tCSQoTERMSUJQVEgpIC4vbWluaXBlcmwkKEhPU1RfRVhFX0VYVCkgLXcgLUlsaWIgLUlkaXN0L0V4cG9ydGVyL2xpYiAtTUV4cG9ydGVyIC1lICc8Pz4nIHx8IHNoIC1jICdlY2hvID4mMiBGYWlsZWQgdG8gYnVpbGQgbWluaXBlcmwuICBQbGVhc2UgcnVuIG1ha2UgbWluaXRlc3Q7IGV4aXQgMScKLSsJbXYgLWYgbWluaXBlcmwgbWluaXBlcmwtdGFyZ2V0Ci0rCWxuIC1zIGhvc3RwZXJsIG1pbmlwZXJsCi0rCSMkKExETElCUFRIKSAuL21pbmlwZXJsJChIT1NUX0VYRV9FWFQpIC13IC1JbGliIC1JZGlzdC9FeHBvcnRlci9saWIgLU1FeHBvcnRlciAtZSAnPD8+JyB8fCBzaCAtYyAnZWNobyA+JjIgRmFpbGVkIHRvIGJ1aWxkIG1pbmlwZXJsLiAgUGxlYXNlIHJ1biBtYWtlIG1pbml0ZXN0OyBleGl0IDEnCi0gCSQoTUlOSVBFUkwpIC1mIHdyaXRlX2J1aWxkY3VzdG9taXplLnBsCi0gIU5PIVNVQlMhCi0gCQk7OwotIAluZXh0NCopCi0gCQkkc3BpdHNoZWxsID4+JE1ha2VmaWxlIDw8JyFOTyFTVUJTIScKLSBsaWIvYnVpbGRjdXN0b21pemUucGw6ICQmICQobWluaXBlcmxfb2Jqcykgd3JpdGUgICAgbGRjdXN0b21pemUucGwKLS0JJChDQykgLW8gJChNSU5JUEVSTF9FWEUpICQobWluaXBlcmxfb2JqcyAgICBsaWJzKQotLQkkKExETElCUFRIKSAuL21pbmlwZXJsJChIT1NUICAgIF9FWFQpIC13IC1JbGliIC1JZGlzdC9FeHBvcnRlci9saWIgLU1FeHBvcnRlciAtZSAnPD8+JyB8fCBzaCAtYyAnZWNobyA+JjIgRmFpbGVkIHRvIGJ1aWxkIG1pbmlwZXJsLiAgUGxlYXNlIHJ1biBtYWtlIG1pbml0ZXN0OyBleGl0IDEnCi0rCSQoQ0MpIC1vICQoTUlOSVBFUkxfRVhFKSAkKG1pbmlwZXJsX29ianMgICBsaWJzKQotKwltdiAtZiBtaW5pcGVybCBtaW5pcGVybC10YXJnZXQKLSsJbG4gLXMgaG9zdHBlcmwgbWluaXBlcmwKLSsJIyQoTERMSUJQVEgpIC4vbWluaXBlcmwkKEhPU1QgICAgX0VYVCkgLXcgLUlsaWIgLUlkaXN0L0V4cG9ydGVyL2xpYiAtTUV4cG9ydGVyIC1lICc8Pz4nIHx8IHNoIC1jICdlY2hvID4mMiBGYWlsZWQgdG8gYnVpbGQgbWluaXBlcmwuICBQbGVhc2UgcnVuIG1ha2UgbWluaXRlc3Q7IGV4aXQgMScKLSAJJChNSU5JUEVSTCkgLWYgd3JpdGVfYnVpbGRjdXN0b21pemUucGwgICAgCi0gIU5PIVNVQlMhCi0gCQk7OwotQEAgLTk2Niw3ICs5NzAsOSBAQCBsaWIvYnVpbGRjdXN0b21pemUucGw6ICQmICQobWluaXBlcmxfb2JqCi0gCS1Acm0gLWYgbWluaXBlcmwueG9rCi0gCSQoQ0MpICQoQ0xERkxBR1MpICQoTkFNRVNQQUNFRkxBR1MpIC1vICQoTUlOSVBFUkxfRVhFKSBcCi0gCSAgICAkKG1pbmlwZXJsX29ianMpICQobGlicykKLS0JJChMRExJQlBUSCkgLi9taW5pcGVybCQoSE9TVF9FWEVfRVhUKSAtdyAtSWxpYiAtSWRpc3QvRXhwb3J0ZXIvbGliIC1NRXhwb3J0ZXIgLWUgJzw/PicgfHwgc2ggLWMgJ2VjaG8gPiYyIEZhaWxlZCB0byBidWlsZCBtaW5pcGVybC4gIFBsZWFzZSBydW4gbWFrZSBtaW5pdGVzdDsgZXhpdCAxJwotKwltdiAtZiBtaW5pcGVybCBtaW5pcGVybC10YXJnZXQKLSsJbG4gLXMgaG9zdHBlcmwgbWluaXBlcmwKLSsJIyQoTERMSUJQVEgpIC4vbWluaXBlcmwkKEhPU1RfRVhFX0VYVCkgLXcgLUlsaWIgLUlkaXN0L0V4cG9ydGVyL2xpYiAtTUV4cG9ydGVyIC1lICc8Pz4nIHx8IHNoIC1jICdlY2hvID4mMiBGYWlsZWQgdG8gYnVpbGQgbWluaXBlcmwuICBQbGVhc2UgcnVuIG1ha2UgbWluaXRlc3Q7IGV4aXQgMScKLSAJJChNSU5JUEVSTCkgLWYgd3JpdGVfYnVpbGRjdXN0b21pemUucGwKLSAhTk8hU1VCUyEKLSAJCTs7Ci1AQCAtOTc3LDcgKzk4Myw5IEBAIGxpYi9idWlsZGN1c3RvbWl6ZS5wbDogXCQmIFwkKG1pbmlwZXJsX28KLSAJLUBybSAtZiBtaW5pcGVybC54b2sKLSAJLUBybSBcJChNSU5JUEVSTF9FWEUpCi0gCVwkKExOUykgXCQoSE9TVF9QRVJMKSBcJChNSU5JUEVSTF9FWEUpCi0tCVwkKExETElCUFRIKSAuL21pbmlwZXJsXCQoSE9TVF9FWEVfRVhUKSAtdyAtSWxpYiAtSWRpc3QvRXhwb3J0ZXIvbGliIC1NRXhwb3J0ZXIgLWUgJzw/PicgfHwgc2ggLWMgJ2VjaG8gPiYyIEZhaWxlZCB0byBidWlsZCBtaW5pcGVybC4gIFBsZWFzZSBydW4gbWFrZSBtaW5pdGVzdDsgZXhpdCAxJwotKwltdiAtZiBtaW5pcGVybCBtaW5pcGVybC10YXJnZXQKLSsJbG4gLXMgaG9zdHBlcmwgbWluaXBlcmwKLSsJI1wkKExETElCUFRIKSAuL21pbmlwZXJsXCQoSE9TVF9FWEVfRVhUKSAtdyAtSWxpYiAtSWRpc3QvRXhwb3J0ZXIvbGliIC1NRXhwb3J0ZXIgLWUgJzw/PicgfHwgc2ggLWMgJ2VjaG8gPiYyIEZhaWxlZCB0byBidWlsZCBtaW5pcGVybC4gIFBsZWFzZSBydW4gbWFrZSBtaW5pdGVzdDsgZXhpdCAxJwotIAlcJChNSU5JUEVSTCkgLWYgd3JpdGVfYnVpbGRjdXN0b21pemUucGwgJ29zbmFtZScgIiRvc25hbWUiCi0gIUdST0shVEhJUyEKLSAJCWVsc2UKLUBAIC05ODYsNyArOTk0LDkgQEAgbGliL2J1aWxkY3VzdG9taXplLnBsOiAkJiAkKG1pbmlwZXJsX29iagotIAktQHJtIC1mIG1pbmlwZXJsLnhvawotIAkkKENDKSAkKENMREZMQUdTKSAtbyAkKE1JTklQRVJMX0VYRSkgXAotIAkgICAgJChtaW5pcGVybF9vYmpzKSAkKGxpYnMpCi0tCSQoTERMSUJQVEgpIC4vbWluaXBlcmwkKEhPU1RfRVhFX0VYVCkgLXcgLUlsaWIgLUlkaXN0L0V4cG9ydGVyL2xpYiAtTUV4cG9ydGVyIC1lICc8Pz4nIHx8IHNoIC1jICdlY2hvID4mMiBGYWlsZWQgdG8gYnVpbGQgbWluaXBlcmwuICBQbGVhc2UgcnVuIG1ha2UgbWluaXRlc3Q7IGV4aXQgMScKLSsJbXYgLWYgbWluaXBlcmwgbWluaXBlcmwtdGFyZ2V0Ci0rCWxuIC1zIGhvc3RwZXJsIG1pbmlwZXJsCi0rCSMkKExETElCUFRIKSAuL21pbmlwZXJsJChIT1NUX0VYRV9FWFQpIC13IC1JbGliIC1JZGlzdC9FeHBvcnRlci9saWIgLU1FeHBvcnRlciAtZSAnPD8+JyB8fCBzaCAtYyAnZWNobyA+JjIgRmFpbGVkIHRvIGJ1aWxkIG1pbmlwZXJsLiAgUGxlYXNlIHJ1biBtYWtlIG1pbml0ZXN0OyBleGl0IDEnCi0gCSQoTUlOSVBFUkwpIC1mIHdyaXRlX2J1aWxkY3VzdG9taXplLnBsCi0gIU5PIVNVQlMhCi0gCQlmaQotQEAgLTEwMzYsNyArMTA0Niw3IEBAIGNhc2UgIiR7b3NuYW1lfSIgaW4KLSBjYXRhbW91bnQpCi0gJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCFHUk9LIVRISVMhCi0gLlBIT05ZOiBtYWtlcHBwb3J0Ci0tbWFrZXBwcG9ydDogXCQoTUlOSVBFUkxfRVhFKSBcJChDT05GSUdQTSkKLSttYWtlcHBwb3J0OiBcJChDT05GSUdQTSkKLSAJLUBmb3IgZiBpbiBNYWtlZmlsZS5QTCBQUFBvcnRfcG0uUEwgUFBQb3J0X3hzLlBMIHBwcG9ydF9oLlBMOyBkbyBcCi0gCShjZCBleHQvRGV2ZWwtUFBQb3J0ICYmIGBwd2RgL3J1bi5zaCAuLi8uLi8kKE1JTklQRVJMX0VYRSkgLUkuLi8uLi9saWIgXCRcJGYpOyBcCi0gCWRvbmUKLUBAIC0xMDQ2LDcgKzEwNTYsNyBAQCBtYWtlcHBwb3J0OiBcJChNSU5JUEVSTF9FWEUpIFwkKENPTkZJR1BNCi0gKikKLSAkc3BpdHNoZWxsID4+JE1ha2VmaWxlIDw8JyFOTyFTVUJTIScKLSAuUEhPTlk6IG1ha2VwcHBvcnQKLS1tYWtlcHBwb3J0OiAkKE1JTklQRVJMX0VYRSkgJChDT05GSUdQTSkgJChub254c19leHQpCi0rbWFrZXBwcG9ydDogJChDT05GSUdQTSkgJChub254c19leHQpCi0gCSQoTUlOSVBFUkwpIG1rcHBwb3J0Ci0gCi0gIU5PIVNVQlMhCi1AQCAtMTA1NiwxNiArMTA2NiwxNiBAQCBlc2FjCi0gJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCchTk8hU1VCUyEnCi0gCi0gLlBIT05ZOiBwcmVwbGlicmFyeQotLXByZXBsaWJyYXJ5OiAkKE1JTklQRVJMX0VYRSkgJChDT05GSUdQTSkgJChQUkVQTElCUkFSWV9MSUJQRVJMKQotK3ByZXBsaWJyYXJ5OiAkKENPTkZJR1BNKSAkKFBSRVBMSUJSQVJZX0xJQlBFUkwpCi0gCi0gJChDT05GSUdQTV9GUk9NX0NPTkZJR19TSCk6ICQoQ09ORklHUE9EKQotIAotLSQoQ09ORklHUE9EKTogY29uZmlnLnNoICQoTUlOSVBFUkxfRVhFKSBjb25maWdwbSBQb3J0aW5nL0dsb3NzYXJ5IGxpYi9Db25maWdfZ2l0LnBsCi0rJChDT05GSUdQT0QpOiBjb25maWcuc2ggY29uZmlncG0gUG9ydGluZy9HbG9zc2FyeSBsaWIvQ29uZmlnX2dpdC5wbAotIAkkKE1JTklQRVJMKSBjb25maWdwbQotIAotIHVuaWRhdGFmaWxlcyAkKHVuaWRhdGFmaWxlcykgcG9kL3Blcmx1bmlwcm9wcy5wb2Q6IHVuaS5kYXRhCi0gCi0tdW5pLmRhdGE6ICQoTUlOSVBFUkxfRVhFKSAkKENPTkZJR1BNKSBsaWIvdW5pY29yZS9ta3RhYmxlcyAkKG5vbnhzX2V4dCkKLSt1bmkuZGF0YTogJChDT05GSUdQTSkgbGliL3VuaWNvcmUvbWt0YWJsZXMgJChub254c19leHQpCi0gCSQoTUlOSVBFUkwpIGxpYi91bmljb3JlL21rdGFibGVzIC1DIGxpYi91bmljb3JlIC1QIHBvZCAtbWFrZXRlc3QgLW1ha2VsaXN0IC1wCi0gIwlDb21tZW50ZWQgb3V0IHNvIGFsd2F5cyBydW5zLCBta3RhYmxlcyBsb29rcyBhdCBmYXIgbW9yZSBmaWxlcyB0aGFuIHdlCi0gIwljYW4gaW4gdGhpcyBtYWtlZmlsZSB0byBkZWNpZGUgaWYgbmVlZHMgdG8gcnVuIG9yIG5vdAotQEAgLTEwNzQsMTIgKzEwODQsMTIgQEAgdW5pLmRhdGE6ICQoTUlOSVBFUkxfRVhFKSAkKENPTkZJR1BNKSBsaQotICMgJChQRVJMX0VYRSkgYW5kIGV4dCBiZWNhdXNlIHBvZF9saWIucGwgbmVlZHMgRGlnZXN0OjpNRDUKLSAjIEJ1dCBhbHNvIHRoaXMgZW5zdXJlcyB0aGF0IGFsbCBleHRlbnNpb25zIGFyZSBidWlsdCBiZWZvcmUgd2UgdHJ5IHRvIHNjYW4KLSAjIHRoZW0sIHdoaWNoIHBpY2tzIHVwIERldmVsOjpQUFBvcnQncyBkb2N1bWVudGF0aW9uLgotLXBvZC9wZXJsdG9jLnBvZDogJChwZXJsdG9jX3BvZF9wcmVyZXFzKSAgJChQRVJMX0VYRSkgJChleHQpIHBvZC9idWlsZHRvYwotLQkkKFJVTl9QRVJMKSAtZiBwb2QvYnVpbGR0b2MgLXEKLStwb2QvcGVybHRvYy5wb2Q6ICQocGVybHRvY19wb2RfcHJlcmVxcykgJChleHQpIHBvZC9idWlsZHRvYwotKwkkKE1JTklQRVJMKSAtZiBwb2QvYnVpbGR0b2MgLXEKLSAKLSBwb2QvcGVybGFwaS5wb2Q6IHBvZC9wZXJsaW50ZXJuLnBvZAotIAotLXBvZC9wZXJsaW50ZXJuLnBvZDogJChNSU5JUEVSTF9FWEUpIGF1dG9kb2MucGwgZW1iZWQuZm5jCi0rcG9kL3BlcmxpbnRlcm4ucG9kOiBhdXRvZG9jLnBsIGVtYmVkLmZuYwotIAkkKE1JTklQRVJMKSBhdXRvZG9jLnBsCi0gCi0gcG9kL3Blcmxtb2RsaWIucG9kOiAkKE1JTklQRVJMX0VYRSkgcG9kL3Blcmxtb2RsaWIuUEwgTUFOSUZFU1QKLUBAIC0xMDg5LDcgKzEwOTksNyBAQCBwb2QvcGVybDUyNDRkZWx0YS5wb2Q6IHBvZC9wZXJsZGVsdGEucG9kCi0gCSQoUk1TKSBwb2QvcGVybDUyNDRkZWx0YS5wb2QKLSAJJChMTlMpIHBlcmxkZWx0YS5wb2QgcG9kL3Blcmw1MjQ0ZGVsdGEucG9kCi0gCi0tZXh0cmEucG9kczogJChNSU5JUEVSTF9FWEUpCi0rZXh0cmEucG9kczoKLSAJLUB0ZXN0ICEgLWYgZXh0cmEucG9kcyB8fCBybSAtZiBgY2F0IGV4dHJhLnBvZHNgCi0gCS1Acm0gLWYgZXh0cmEucG9kcwotIAktQGZvciB4IGluIGBncmVwIC1sICdePVthLXpdJyBSRUFETUUuKiB8IGdyZXAgLXYgUkVBRE1FLnZtc2AgOyBkbyBcCi1AQCAtMTEzMyw4ICsxMTQzLDcgQEAgRU9UCi0gICAgICAgICAkc3BpdHNoZWxsID4+JE1ha2VmaWxlIDw8RU9UCi0gCi0gaW5zdGFsbF8kbmFtZSBpbnN0YWxsLSRuYW1lOiBcJChJTlNUQUxMX0RFUEVOREVOQ0UpIGluc3RhbGxwZXJsIGFsbCBpbnN0YWxsbWFuCi0tCVwkKFJVTl9QRVJMKSBpbnN0YWxscGVybCAtLWRlc3RkaXI9XCQoREVTVERJUikgJGZsYWdzIFwkKElOU1RBTExGTEFHUykgXCQoU1RSSVBGTEFHUykKLS0JXCQoUlVOX1BFUkwpIGluc3RhbGxtYW4gLS1kZXN0ZGlyPVwkKERFU1RESVIpICRmbGFncwotKwkuL2hvc3RwZXJsIC1JZmFrZV9jb25maWdfbGlicmFyeSAtSWxpYiAtTUNvbmZpZyBpbnN0YWxscGVybCAtLWRlc3RkaXI9XCQoREVTVERJUikgJGZsYWdzICBcJChJTlNUQUxMRkxBR1MpIFwkKFNUUklQRkxBR1MpCi0gRU9UCi0gICAgIGZpCi0gCi1AQCAtMTE0NCwxMSArMTE1Myw3IEBAIGRvbmUKLSBpZiB0ZXN0ICJYJGhvc3RwZXJsIiAhPSBYOyB0aGVuCi0gCSRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotIGluc3RhbGwucGVybDoJJChJTlNUQUxMX0RFUEVOREVOQ0UpIGluc3RhbGxwZXJsCi0tCSQoSE9TVF9QRVJMKSBpbnN0YWxscGVybCAtLWRlc3RkaXI9JChERVNURElSKSAkKElOU1RBTExGTEFHUykgJChTVFJJUEZMQUdTKQotLQktQHRlc3QgISAtcyBleHRyYXMubHN0IHx8ICQoTUFLRSkgZXh0cmFzLmluc3RhbGwKLS0KLS1pbnN0YWxsLm1hbjoJYWxsIGluc3RhbGxtYW4KLS0JJChIT1NUX1BFUkwpIGluc3RhbGxtYW4gLS1kZXN0ZGlyPSQoREVTVERJUikgJChJTlNUQUxMRkxBR1MpCi0rCS4vaG9zdHBlcmwgLUlmYWtlX2NvbmZpZ19saWJyYXJ5IC1JbGliIC1NQ29uZmlnIGluc3RhbGxwZXJsIC0tZGVzdGRpcj0kKERFU1RESVIpICQoSU5TVEFMTEZMQUdTKSAkKFNUUklQRkxBR1MpCi0gCi0gIyBYWFggRXhwZXJpbWVudGFsLiBIYXJkd2lyZWQgdmFsdWVzLCBidXQgdXNlZnVsIGZvciB0ZXN0aW5nLgotICMgRXZlbnR1YWxseSBDb25maWd1cmUgY291bGQgYXNrIGZvciBzb21lIG9mIHRoZXNlIHZhbHVlcy4KLUBAIC0xMTY2LDI0ICsxMTcxLDggQEAgaW5zdGFsbC5odG1sOiBhbGwgaW5zdGFsbGh0bWwKLSBlbHNlCi0gCSRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotIGluc3RhbGwucGVybDoJJChJTlNUQUxMX0RFUEVOREVOQ0UpIGluc3RhbGxwZXJsCi0tCSQoUlVOX1BFUkwpIGluc3RhbGxwZXJsIC0tZGVzdGRpcj0kKERFU1RESVIpICQoSU5TVEFMTEZMQUdTKSAkKFNUUklQRkxBR1MpCi0tCS1AdGVzdCAhIC1zIGV4dHJhcy5sc3QgfHwgUEFUSD0iYHB3ZGA6XCR7UEFUSH0iIFBFUkw1TElCPSJgcHdkYC9saWIiIFwkKFJVTl9QRVJMKSAtSWxpYiAtTUNQQU4gLWUgJ0BBUkdWJiZpbnN0YWxsKEBBUkdWKScgYGNhdCBleHRyYXMubHN0YAotLQotLWluc3RhbGwubWFuOglhbGwgaW5zdGFsbG1hbgotLQkkKFJVTl9QRVJMKSBpbnN0YWxsbWFuIC0tZGVzdGRpcj0kKERFU1RESVIpICQoSU5TVEFMTEZMQUdTKQotKwkuL2hvc3RwZXJsIC1JZmFrZV9jb25maWdfbGlicmFyeSAtSWxpYiAtTUNvbmZpZyBpbnN0YWxscGVybCAtLWRlc3RkaXI9JChERVNURElSKSAkKElOU1RBTExGTEFHUykgJChTVFJJUEZMQUdTKQotIAotLSMgWFhYIEV4cGVyaW1lbnRhbC4gSGFyZHdpcmVkIHZhbHVlcywgYnV0IHVzZWZ1bCBmb3IgdGVzdGluZy4KLS0jIEV2ZW50dWFsbHkgQ29uZmlndXJlIGNvdWxkIGFzayBmb3Igc29tZSBvZiB0aGVzZSB2YWx1ZXMuCi0taW5zdGFsbC5odG1sOiBhbGwgaW5zdGFsbGh0bWwKLS0JLUB0ZXN0IC1mIFJFQURNRS52bXMgJiYgY2Qgdm1zICYmICQoTE5TKSAuLi9SRUFETUUudm1zIFJFQURNRV92bXMucG9kICYmIGNkIC4uCi0tCSQoUlVOX1BFUkwpIGluc3RhbGxodG1sICAgXAotLSAgICAgIC0tcG9kcm9vdD0uIC0tcG9kcGF0aD0uIC0tcmVjdXJzZSAgXAotLSAgICAgIC0taHRtbGRpcj0kKHByaXZsaWIpL2h0bWwgICBcCi0tICAgICAgLS1odG1scm9vdD0kKHByaXZsaWIpL2h0bWwgIFwKLS0gICAgICAtLXNwbGl0aGVhZD1wb2QvcGVybGlwYyAgICAgXAotLSAgICAgIC0tc3BsaXRpdGVtPXBvZC9wZXJsZnVuYyAgICBcCi0tICAgICAgLS1pZ25vcmU9UG9ydGluZy9NYWludGFpbmVycy5wbSxQb3J0aW5nL3B1bXBraW4ucG9kLFBvcnRpbmcvcmVwb3NpdG9yeS5wb2QgXAotLSAgICAgIC0tdmVyYm9zZQotICFOTyFTVUJTIQotIGZpCi0gCi1AQCAtMTI3NSwxMyArMTI2NCwxMyBAQCBtYW5pY2hlY2s6CUZPUkNFCi0gIwotICMgRHluYUxvYWRlciBtYXkgYmUgbmVlZGVkIGZvciBleHRlbnNpb25zIHRoYXQgdXNlIE1ha2VmaWxlLlBMLgotIAotLSQoRFlOQUxPQURFUik6CSQoTUlOSVBFUkxfRVhFKSBsaWIvYnVpbGRjdXN0b21pemUucGwgcHJlcGxpYnJhcnkgRk9SQ0UgJChub254c19leHQpCi0rJChEWU5BTE9BREVSKTogbGliL2J1aWxkY3VzdG9taXplLnBsIHByZXBsaWJyYXJ5IEZPUkNFICQobm9ueHNfZXh0KQotIAkkKE1JTklQRVJMKSBtYWtlX2V4dC5wbCAkQCAkKE1BS0VfRVhUX0FSR1MpIE1BS0U9IiQoTUFLRSkiIExJQlBFUkxfQT0kKExJQlBFUkwpIExJTktUWVBFPXN0YXRpYyAkKFNUQVRJQ19MREZMQUdTKQotIAotLWRfZHVtbXkgJChkeW5hbWljX2V4dCk6CSQoTUlOSVBFUkxfRVhFKSBsaWIvYnVpbGRjdXN0b21pemUucGwgcHJlcGxpYnJhcnkgbWFrZXBwcG9ydCAkKERZTkFMT0FERVIpIEZPUkNFICQoUEVSTEVYUE9SVCkgJChMSUJQRVJMKQotK2RfZHVtbXkgJChkeW5hbWljX2V4dCk6CWxpYi9idWlsZGN1c3RvbWl6ZS5wbCBwcmVwbGlicmFyeSBtYWtlcHBwb3J0ICQoRFlOQUxPQURFUikgRk9SQ0UgJChQRVJMRVhQT1JUKSAkKExJQlBFUkwpCi0gCSQoTUlOSVBFUkwpIG1ha2VfZXh0LnBsICRAICQoTUFLRV9FWFRfQVJHUykgTUFLRT0iJChNQUtFKSIgTElCUEVSTF9BPSQoTElCUEVSTCkgTElOS1RZUEU9ZHluYW1pYwotIAotLXNfZHVtbXkgJChzdGF0aWNfZXh0KToJJChNSU5JUEVSTF9FWEUpIGxpYi9idWlsZGN1c3RvbWl6ZS5wbCBwcmVwbGlicmFyeSBtYWtlcHBwb3J0ICQoRFlOQUxPQURFUikgRk9SQ0UKLStzX2R1bW15ICQoc3RhdGljX2V4dCk6CWxpYi9idWlsZGN1c3RvbWl6ZS5wbCBwcmVwbGlicmFyeSBtYWtlcHBwb3J0ICQoRFlOQUxPQURFUikgRk9SQ0UKLSAJJChNSU5JUEVSTCkgbWFrZV9leHQucGwgJEAgJChNQUtFX0VYVF9BUkdTKSBNQUtFPSIkKE1BS0UpIiBMSUJQRVJMX0E9JChMSUJQRVJMKSBMSU5LVFlQRT1zdGF0aWMgJChTVEFUSUNfTERGTEFHUykKLSAKLSBuX2R1bW15ICQobm9ueHNfZXh0KToJJChNSU5JUEVSTF9FWEUpIGxpYi9idWlsZGN1c3RvbWl6ZS5wbCBwcmVwbGlicmFyeSBGT1JDRQotQEAgLTE0NzksMTQgKzE0NjgsMTQgQEAgdGVzdF9wcmVwX3ByZTogcHJlcGxpYnJhcnkgdXRpbGl0aWVzICQobgotIAotIGNhc2UgIiR0YXJnZXRob3N0IiBpbgotICcnKSAkc3BpdHNoZWxsID4+JE1ha2VmaWxlIDw8JyFOTyFTVUJTIScKLS10ZXN0X3ByZXAgdGVzdC1wcmVwOiB0ZXN0X3ByZXBfcHJlICQoTUlOSVBFUkxfRVhFKSAkKHVuaWRhdGFmaWxlcykgJChQRVJMX0VYRSkgXAotK3Rlc3RfcHJlcCB0ZXN0LXByZXA6IHRlc3RfcHJlcF9wcmUgJCh1bmlkYXRhZmlsZXMpICQoUEVSTF9FWEUpIFwKLSAJJChkeW5hbWljX2V4dCkgJChURVNUX1BFUkxfRExMKSBydW50ZXN0cyAkKGdlbmVyYXRlZF9wb2RzKQotIAljZCB0ICYmIChybSAtZiAkKFBFUkxfRVhFKTsgJChMTlMpIC4uLyQoUEVSTF9FWEUpICQoUEVSTF9FWEUpKQotIAotICFOTyFTVUJTIQotIDs7Ci0gKikgJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCFHUk9LIVRISVMhCi0tdGVzdF9wcmVwIHRlc3QtcHJlcDogdGVzdF9wcmVwX3ByZSBcJChNSU5JUEVSTF9FWEUpIFwkKHVuaWRhdGFmaWxlcykgXCQoUEVSTF9FWEUpIFwKLSt0ZXN0X3ByZXAgdGVzdC1wcmVwOiB0ZXN0X3ByZXBfcHJlIFwkKHVuaWRhdGFmaWxlcykgXCQoUEVSTF9FWEUpIFwKLSAJXCQoZHluYW1pY19leHQpIFwkKFRFU1RfUEVSTF9ETEwpIHJ1bnRlc3RzIFwKLSAJXCQoZ2VuZXJhdGVkX3BvZHMpCi0gCSR0byBsaWJwZXJsLioKLUBAIC0xNTM5LDcgKzE1MjgsNyBAQCB0ZXN0X3ByZXAgdGVzdC1wcmVwOiB0ZXN0X3ByZXBfcHJlIFwkKE1JCi0gZXNhYwotIAotICRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotLXRlc3RfcHJlcF9yZW9ubHk6ICQoTUlOSVBFUkxfRVhFKSAkKFBFUkxfRVhFKSAkKGR5bmFtaWNfZXh0X3JlKSAkKFRFU1RfUEVSTF9ETEwpCi0rdGVzdF9wcmVwX3Jlb25seTogJChQRVJMX0VYRSkgJChkeW5hbWljX2V4dF9yZSkgJChURVNUX1BFUkxfRExMKQotIAkkKE1JTklQRVJMKSBtYWtlX2V4dC5wbCAkKGR5bmFtaWNfZXh0X3JlKSBNQUtFPSIkKE1BS0UpIiBMSUJQRVJMX0E9JChMSUJQRVJMKSBMSU5LVFlQRT1keW5hbWljCi0gCWNkIHQgJiYgKHJtIC1mICQoUEVSTF9FWEUpOyAkKExOUykgLi4vJChQRVJMX0VYRSkgJChQRVJMX0VYRSkpCi0gIU5PIVNVQlMhCi1AQCAtMTYwMCw3ICsxNTg5LDcgQEAgbWluaXRlc3RfcHJlcDoKLSAKLSBNSU5JVEVTVF9URVNUUyA9IGJhc2UvKi50IGNvbXAvKi50IGNtZC8qLnQgcnVuLyoudCBpby8qLnQgcmUvKi50IG9wYmFzaWMvKi50IG9wLyoudCB1bmkvKi50IHBlcmYvKi50Ci0gCi0tbWluaXRlc3Q6ICQoTUlOSVBFUkxfRVhFKSBtaW5pdGVzdF9wcmVwCi0rbWluaXRlc3Q6IG1pbml0ZXN0X3ByZXAKLSAJLSBjZCB0ICYmICQoUlVOX1BFUkwpIFRFU1QgJChNSU5JVEVTVF9URVNUUykgPCQoZGV2dHR5KQotIAotIG1pbml0ZXN0LW5vdHR5IG1pbml0ZXN0X25vdHR5OiAkKE1JTklQRVJMX0VYRSkgbWluaXRlc3RfcHJlcApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL01ha2VmaWxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL01ha2VmaWxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NThlMmUxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9NYWtlZmlsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotSW5kZXg6IHBlcmwtNS4xNC4yL0Nyb3NzL01ha2VmaWxlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcGVybC01LjE0LjIub3JpZy9Dcm9zcy9NYWtlZmlsZQotKysrIHBlcmwtNS4xNC4yL0Nyb3NzL01ha2VmaWxlCi1AQCAtMSw2ICsxLDcgQEAKLSAjIyBUb3BsZXZlbCBNYWtlZmlsZSBmb3IgY3Jvc3MtY29tcGlsYXRpb24gb2YgcGVybAotIAotLWV4cG9ydCBUT1BESVI9JHtzaGVsbCBwd2R9Ci0rb3ZlcnJpZGUgVE9QRElSPSR7c2hlbGwgcHdkfQotK2V4cG9ydCBUT1BESVIKLSBpbmNsdWRlICQoVE9QRElSKS9jb25maWcKLSBleHBvcnQgQ0ZMQUdTCi0gZXhwb3J0IFNZUz0kKEFSQ0gpLSQoT1MpCi1AQCAtMTAsNyArMTEsNyBAQCBleHBvcnQgT1BUSU1JWkFUSU9OID0gLU8yCi0gCi0gZXhwb3J0IENDID0gJChDUk9TUylnY2MKLSBleHBvcnQgQ1hYID0gJChDUk9TUylnKysKLS1leHBvcnQgTEQgPSAkKENST1NTKWxkCi0rZXhwb3J0IExEID0gJChDQykKLSBleHBvcnQgU1RSSVAgPSAkKENST1NTKXN0cmlwCi0gZXhwb3J0IEFSID0gJChDUk9TUylhcgotIGV4cG9ydCBSQU5MSUIgPSAkKENST1NTKXJhbmxpYgotQEAgLTMyLDE3ICszMyw2IEBAIENGTEFHUys9JChGVUxMX09QVElNSVpBVElPTikKLSBhbGw6Ci0gCUBlY2hvIFBsZWFzZSByZWFkIHRoZSBSRUFETUUgZmlsZSBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZS4KLSAKLS1nZW5fcGF0Y2g6Ci0tCWRpZmYgLUJidXIgLi4vTWFrZWZpbGUuU0ggTWFrZWZpbGUuU0ggPiBNYWtlZmlsZS5TSC5wYXRjaAotLQlkaWZmIC1CYnVyIC4uL2luc3RhbGxwZXJsIGluc3RhbGxwZXJsID4gaW5zdGFsbHBlcmwucGF0Y2gKLS0KLS1wYXRjaDoKLS0JY2QgLi4gOyBpZiBbICEgLWUgLi9DUk9TU19QQVRDSEVEIF0gOyB0aGVuIFwKLS0JCXBhdGNoIC1wMSA8IENyb3NzL01ha2VmaWxlLlNILnBhdGNoOyBcCi0tCQlwYXRjaCAtcDEgPCBDcm9zcy9pbnN0YWxscGVybC5wYXRjaCA7IG12IGluc3RhbGxwZXJsIGluc3RhbGxwZXJsLXBhdGNoZWQ7IFwKLS0JCXNlZCAtZSAncy9YWFNUUklQWFgvJChTWVMpLycgaW5zdGFsbHBlcmwtcGF0Y2hlZCA+IGluc3RhbGxwZXJsOyBcCi0tCQl0b3VjaCBDUk9TU19QQVRDSEVEIDsgZmkKLS0KLSBwZXJsOgotIAlAZWNobyBQZXJsIGNyb3NzLWJ1aWxkIGRpcmVjdG9yeSBpcyAkKFRPUERJUikKLSAJQGVjaG8gVGFyZ2V0IGFyY2ggaXMgJChTWVMpCi1AQCAtNTIsMTEgKzQyLDExIEBAIHBlcmw6Ci0gCSQoVE9QRElSKS9nZW5lcmF0ZV9jb25maWdfc2ggY29uZmlnLnNoLSQoU1lTKSA+ICQoVE9QRElSKS8uLi9jb25maWcuc2gKLSAJY2QgJChUT1BESVIpLy4uIDsgLi9Db25maWd1cmUgLVMgOyBtYWtlIGRlcGVuZCA7IG1ha2UgOyBtYWtlIG1vcmUKLSAJY2QgJChUT1BESVIpLy4uIDsgbWtkaXIgLXAgZmFrZV9jb25maWdfbGlicmFyeSA7IGNwIGxpYi9Db25maWcucG0gbGliL0NvbmZpZ19oZWF2eS5wbCBmYWtlX2NvbmZpZ19saWJyYXJ5Ci0tCWNkICQoVE9QRElSKS8uLiA7ICQoTUFLRSkgbW9yZTIgIlBFUkxSVU49L3Vzci9iaW4vcGVybCAtSSQoVE9QRElSKS8uLi9mYWtlX2NvbmZpZ19saWJyYXJ5IC1NQ29uZmlnIgotLQljZCAkKFRPUERJUikvLi4gOyAkKE1BS0UpIG1vcmUzICJQRVJMUlVOPS91c3IvYmluL3BlcmwgLUkkKFRPUERJUikvLi4vZmFrZV9jb25maWdfbGlicmFyeSAtTUNvbmZpZyIKLS0JY2QgJChUT1BESVIpLy4uIDsgJChNQUtFKSBtb3JlNCAiUEVSTFJVTj0vdXNyL2Jpbi9wZXJsIC1JJChUT1BESVIpLy4uL2Zha2VfY29uZmlnX2xpYnJhcnkgLU1Db25maWciCi0rCWNkICQoVE9QRElSKS8uLiA7ICQoTUFLRSkgbW9yZTIgIlBFUkxSVU49aG9zdHBlcmwgLUkkKFRPUERJUikvLi4vZmFrZV9jb25maWdfbGlicmFyeSAtTUNvbmZpZyIKLSsJY2QgJChUT1BESVIpLy4uIDsgJChNQUtFKSBtb3JlMyAiUEVSTFJVTj1ob3N0cGVybCAtSSQoVE9QRElSKS8uLi9mYWtlX2NvbmZpZ19saWJyYXJ5IC1NQ29uZmlnIgotKwljZCAkKFRPUERJUikvLi4gOyAkKE1BS0UpIG1vcmU0ICJQRVJMUlVOPWhvc3RwZXJsIC1JJChUT1BESVIpLy4uL2Zha2VfY29uZmlnX2xpYnJhcnkgLU1Db25maWciCi0gCWNkICQoVE9QRElSKS8uLiA7IHJtIC1yZiBpbnN0YWxsX21lX2hlcmUKLS0JY2QgJChUT1BESVIpLy4uIDsgbWFrZSBpbnN0YWxsLXN0cmlwCi0rIwljZCAkKFRPUERJUikvLi4gOyBtYWtlIGluc3RhbGwtc3RyaXAKLSAJY2QgJChUT1BESVIpLy4uIDsgc2ggLXggQ3Jvc3Mvd2FycAotIAotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jb25maWcuc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxYjU4MzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNDkgKzAsMCBAQAotIyEvYmluL3NoCi0jCi0jIFRoaXMgZmlsZSB3YXMgcHJvZHVjZWQgYnkgcnVubmluZyB0aGUgQ29uZmlndXJlIHNjcmlwdC4gSXQgaG9sZHMgYWxsIHRoZQotIyBkZWZpbml0aW9ucyBmaWd1cmVkIG91dCBieSBDb25maWd1cmUuIFNob3VsZCB5b3UgbW9kaWZ5IG9uZSBvZiB0aGVzZSB2YWx1ZXMsCi0jIGRvIG5vdCBmb3JnZXQgdG8gcHJvcGFnYXRlIHlvdXIgY2hhbmdlcyBieSBydW5uaW5nICJDb25maWd1cmUgLWRlciIuIFlvdSBtYXkKLSMgaW5zdGVhZCBjaG9vc2UgdG8gcnVuIGVhY2ggb2YgdGhlIC5TSCBmaWxlcyBieSB5b3Vyc2VsZiwgb3IgIkNvbmZpZ3VyZSAtUyIuCi0jCi0KLSMgUGFja2FnZSBuYW1lICAgICAgOiBwZXJsNQotIyBTb3VyY2UgZGlyZWN0b3J5ICA6IC4KLSMgQ29uZmlndXJhdGlvbiB0aW1lOiBGcmkgTWF5ICA2IDIwOjEzOjQ2IFBEVCAyMDE2Ci0jIENvbmZpZ3VyZWQgYnkgICAgIDogT3BlbiBFbWJlZGRlZAotIyBUYXJnZXQgc3lzdGVtICAgICA6IGxpbnV4IHFlbXV4ODYtNjQgMy4xOS41LXlvY3RvLXN0YW5kYXJkICMxIHNtcCBwcmVlbXB0IHR1ZSBqdW4gMTYgMDA6Mjg6MTcgcGR0IDIwMTUgeDg2XzY0IGdudWxpbnV4Ci0KLTogQ29uZmlndXJlIGNvbW1hbmQgbGluZSBhcmd1bWVudHMuCi1jb25maWdfYXJnMD0nQ29uZmlndXJlJwotY29uZmlnX2FyZ3M9Jy1kZXMgLURvcHRpbWl6ZT0tTzIgLURteWhvc3RuYW1lPWxvY2FsaG9zdCAtRHBlcmxhZG1pbj1yb290QGxvY2FsaG9zdCAtRGNjPWdjYyAtRGNmX2J5PU9wZW4gRW1iZWRkZWQgLURpbnN0YWxscHJlZml4PUBFWEVDUFJFRklYQCAtRHByZWZpeD1ARVhFQ1BSRUZJWEAgLUR2ZW5kb3JwcmVmaXg9QEVYRUNQUkVGSVhAIC1Ec2l0ZXByZWZpeD1ARVhFQ1BSRUZJWEAgLURvdGhlcmxpYmRpcnM9QExJQkRJUkAvcGVybC81LjI0LjQgLUR1c2VzaHJwbGliIC1EdXNldGhyZWFkcyAtRHVzZWl0aHJlYWRzIC1EdXNlbGFyZ2VmaWxlcyAtVWRfZG9zdWlkIC1EZF9zZW1jdGxfc2VtdW4gLVVpX2RiIC1VaV9uZGJtIC1VaV9nZGJtIC1EaV9zaGFkb3cgLURpX3N5c2xvZyAtRG1hbjNleHQ9M3BtIC1EdXNlcGVybGlvIC1EaW5zdGFsbHVzcmJpbnBlcmwgLVViaW5jb21wYXQ1MDA1IC1VdmVyc2lvbm9ubHkgLURwYWdlcj1AVVNSQklOQC9sZXNzIC1pc3InCi1jb25maWdfYXJnYz0yOAotY29uZmlnX2FyZzE9Jy1kZXMnCi1jb25maWdfYXJnMj0nLURvcHRpbWl6ZT0tTzInCi1jb25maWdfYXJnMz0nLURteWhvc3RuYW1lPWxvY2FsaG9zdCcKLWNvbmZpZ19hcmc0PSctRHBlcmxhZG1pbj1yb290QGxvY2FsaG9zdCcKLWNvbmZpZ19hcmc1PSctRGNjPWdjYycKLWNvbmZpZ19hcmc2PSctRGNmX2J5PU9wZW4gRW1iZWRkZWQnCi1jb25maWdfYXJnNz0nLURpbnN0YWxscHJlZml4PUBFWEVDUFJFRklYQCcKLWNvbmZpZ19hcmc4PSctRHByZWZpeD1ARVhFQ1BSRUZJWEAnCi1jb25maWdfYXJnOT0nLUR2ZW5kb3JwcmVmaXg9QEVYRUNQUkVGSVhAJwotY29uZmlnX2FyZzEwPSctRHNpdGVwcmVmaXg9QEVYRUNQUkVGSVhAJwotY29uZmlnX2FyZzExPSctRG90aGVybGliZGlycz1ATElCRElSQC9wZXJsLzUuMjQuNCcKLWNvbmZpZ19hcmcxMj0nLUR1c2VzaHJwbGliJwotY29uZmlnX2FyZzEzPSctRHVzZXRocmVhZHMnCi1jb25maWdfYXJnMTQ9Jy1EdXNlaXRocmVhZHMnCi1jb25maWdfYXJnMTU9Jy1EdXNlbGFyZ2VmaWxlcycKLWNvbmZpZ19hcmcxNj0nLVVkX2Rvc3VpZCcKLWNvbmZpZ19hcmcxNz0nLURkX3NlbWN0bF9zZW11bicKLWNvbmZpZ19hcmcxOD0nLVVpX2RiJwotY29uZmlnX2FyZzE5PSctVWlfbmRibScKLWNvbmZpZ19hcmcyMD0nLVVpX2dkYm0nCi1jb25maWdfYXJnMjE9Jy1EaV9zaGFkb3cnCi1jb25maWdfYXJnMjI9Jy1EaV9zeXNsb2cnCi1jb25maWdfYXJnMjM9Jy1EbWFuM2V4dD0zcG0nCi1jb25maWdfYXJnMjQ9Jy1EdXNlcGVybGlvJwotY29uZmlnX2FyZzI1PSctRGluc3RhbGx1c3JiaW5wZXJsJwotY29uZmlnX2FyZzI2PSctVWJpbmNvbXBhdDUwMDUnCi1jb25maWdfYXJnMjc9Jy1VdmVyc2lvbm9ubHknCi1jb25maWdfYXJnMjg9Jy1EcGFnZXI9QFVTUkJJTkAvbGVzcyAtaXNyJwotCi1BdXRob3I9JycKLURhdGU9JycKLUhlYWRlcj0nJwotSWQ9JycKLUxvY2tlcj0nJwotTG9nPScnCi1SQ1NmaWxlPScnCi1SZXZpc2lvbj0nJwotU291cmNlPScnCi1TdGF0ZT0nJwotX2E9Jy5hJwotX2V4ZT0nJwotX289Jy5vJwotYWZzPSdmYWxzZScKLWFmc3Jvb3Q9Jy9hZnMnCi1hbGlnbmJ5dGVzPSc4JwotYW5zaTJrbnI9JycKLWFwaG9zdG5hbWU9JycKLWFwaV9yZXZpc2lvbj0nNScKLWFwaV9zdWJ2ZXJzaW9uPSc0JwotYXBpX3ZlcnNpb249JzI0JwotYXBpX3ZlcnNpb25zdHJpbmc9JzUuMjQuNCcKLWFyPSdhcicKLWFyY2hsaWI9J0BMSUJESVJAL3BlcmwvNS4yNC40L0BBUkNIQC10aHJlYWQtbXVsdGknCi1hcmNobGliZXhwPSdAU1RBR0lOR0RJUkBATElCRElSQC9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpJwotYXJjaGxpYl9leHA9J0BMSUJESVJAL3BlcmwvNS4yNC40L0BBUkNIQC10aHJlYWQtbXVsdGknCi1hcmNobmFtZTY0PScnCi1hcmNobmFtZT0nQEFSQ0hALXRocmVhZC1tdWx0aScKLWFyY2hvYmpzPScnCi1hc2N0aW1lX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19CX1NCJwotYXdrPSdhd2snCi1iYXNlcmV2PSc1LjAnCi1iYXNoPScnCi1iaW49J0BVU1JCSU5AJwotYmluX0VMRj0nZGVmaW5lJwotYmluZXhwPSdAVVNSQklOQCcKLWJpc29uPSdiaXNvbicKLWJ5YWNjPSdieWFjYycKLWM9JycKLWNhc3RmbGFncz0nMCcKLWNhdD0nY2F0JwotY2M9J2djYycKLWNjY2RsZmxhZ3M9Jy1mUElDJwotY2NkbGZsYWdzPSctV2wsLUUgLVdsLC1ycGF0aCxATElCRElSQC9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpL0NPUkUnCi1jY2ZsYWdzPSctRF9SRUVOVFJBTlQgLURfR05VX1NPVVJDRSAtZndyYXB2IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9GT1JUSUZZX1NPVVJDRT0yJwotY2NmbGFnc191c2VsYXJnZWZpbGVzPSctRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQnCi1jY25hbWU9J2djYycKLWNjc3ltYm9scz0nJwotY2N2ZXJzaW9uPScnCi1jZl9ieT0nT3BlbiBFbWJlZGRlZCcKLWNmX2VtYWlsPSdPcGVuIEVtYmVkZGVkQGxvY2FsaG9zdC5sb2NhbGRvbWFpbicKLWNmX3RpbWU9J0ZyaSBNYXkgIDYgMjA6MTM6NDYgUERUIDIwMTYnCi1jaGFyYml0cz0nOCcKLWNoYXJzaXplPScxJwotY2hncnA9JycKLWNobW9kPSdjaG1vZCcKLWNob3duPScnCi1jbG9ja3R5cGU9J2Nsb2NrX3QnCi1jb21tPSdjb21tJwotY29tcHJlc3M9JycKLWNvbnRhaW5zPSdncmVwJwotY3A9J2NwJwotY3Bpbz0nJwotY3BwPSdjcHAnCi1jcHBfc3R1ZmY9JzQyJwotY3BwY2NzeW1ib2xzPScnCi1jcHBmbGFncz0nLURfUkVFTlRSQU5UIC1EX0dOVV9TT1VSQ0UgLWZ3cmFwdiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZScKLWNwcGxhc3Q9Jy0nCi1jcHBtaW51cz0nLScKLWNwcHJ1bj0nZ2NjICAtRScKLWNwcHN0ZGluPSdnY2MgIC1FJwotY3J5cHRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0JfQ0NTJwotY3J5cHRsaWI9JycKLWNzaD0nY3NoJwotY3Rlcm1pZF9yX3Byb3RvPScwJwotY3RpbWVfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0JfU0InCi1kX0djb252ZXJ0PSdnY3Z0KCh4KSwobiksKGIpKScKLWRfUFJJRVVsZGJsPSdkZWZpbmUnCi1kX1BSSUZVbGRibD0nZGVmaW5lJwotZF9QUklHVWxkYmw9J2RlZmluZScKLWRfUFJJWFU2ND0nZGVmaW5lJwotZF9QUklkNjQ9J2RlZmluZScKLWRfUFJJZWxkYmw9J2RlZmluZScKLWRfUFJJZmxkYmw9J2RlZmluZScKLWRfUFJJZ2xkYmw9J2RlZmluZScKLWRfUFJJaTY0PSdkZWZpbmUnCi1kX1BSSW82ND0nZGVmaW5lJwotZF9QUkl1NjQ9J2RlZmluZScKLWRfUFJJeDY0PSdkZWZpbmUnCi1kX1NDTmZsZGJsPSdkZWZpbmUnCi1kX19md2Fsaz0ndW5kZWYnCi1kX2FjY2Vzcz0nZGVmaW5lJwotZF9hY2Nlc3N4PSd1bmRlZicKLWRfYWNvc2g9J2RlZmluZScKLWRfYWludGw9J3VuZGVmJwotZF9hbGFybT0nZGVmaW5lJwotZF9hcmNobGliPSdkZWZpbmUnCi1kX2FzY3RpbWU2ND0ndW5kZWYnCi1kX2FzY3RpbWVfcj0nZGVmaW5lJwotZF9hc2luaD0nZGVmaW5lJwotZF9hdGFuaD0nZGVmaW5lJwotZF9hdG9sZj0ndW5kZWYnCi1kX2F0b2xsPSdkZWZpbmUnCi1kX2F0dHJpYnV0ZV9kZXByZWNhdGVkPSdkZWZpbmUnCi1kX2F0dHJpYnV0ZV9mb3JtYXQ9J2RlZmluZScKLWRfYXR0cmlidXRlX21hbGxvYz0nZGVmaW5lJwotZF9hdHRyaWJ1dGVfbm9ubnVsbD0nZGVmaW5lJwotZF9hdHRyaWJ1dGVfbm9yZXR1cm49J2RlZmluZScKLWRfYXR0cmlidXRlX3B1cmU9J2RlZmluZScKLWRfYXR0cmlidXRlX3VudXNlZD0nZGVmaW5lJwotZF9hdHRyaWJ1dGVfd2Fybl91bnVzZWRfcmVzdWx0PSdkZWZpbmUnCi1kX2JhY2t0cmFjZT0nZGVmaW5lJwotZF9iY21wPSdkZWZpbmUnCi1kX2Jjb3B5PSdkZWZpbmUnCi1kX2JzZD0ndW5kZWYnCi1kX2JzZGdldHBncnA9J3VuZGVmJwotZF9ic2RzZXRwZ3JwPSd1bmRlZicKLWRfYnVpbHRpbl9jaG9vc2VfZXhwcj0nZGVmaW5lJwotZF9idWlsdGluX2V4cGVjdD0nZGVmaW5lJwotZF9iemVybz0nZGVmaW5lJwotZF9jOTlfdmFyaWFkaWNfbWFjcm9zPSdkZWZpbmUnCi1kX2Nhc3RpMzI9J2RlZmluZScKLWRfY2FzdG5lZz0nZGVmaW5lJwotZF9jYnJ0PSdkZWZpbmUnCi1kX2NoYXJ2c3ByPSd1bmRlZicKLWRfY2hvd249J2RlZmluZScKLWRfY2hyb290PSdkZWZpbmUnCi1kX2Noc2l6ZT0ndW5kZWYnCi1kX2NsYXNzPSd1bmRlZicKLWRfY2xlYXJlbnY9J2RlZmluZScKLWRfY2xvc2VkaXI9J2RlZmluZScKLWRfY21zZ2hkcl9zPSdkZWZpbmUnCi1kX2NvbnN0PSdkZWZpbmUnCi1kX2NvcHlzaWduPSdkZWZpbmUnCi1kX2NvcHlzaWdubD0nZGVmaW5lJwotZF9jcGx1c3BsdXM9J3VuZGVmJwotZF9jcnlwdD0nZGVmaW5lJwotZF9jcnlwdF9yPSdkZWZpbmUnCi1kX2NzaD0ndW5kZWYnCi1kX2N0ZXJtaWQ9J2RlZmluZScKLWRfY3Rlcm1pZF9yPSd1bmRlZicKLWRfY3RpbWU2ND0ndW5kZWYnCi1kX2N0aW1lX3I9J2RlZmluZScKLWRfY3VzZXJpZD0nZGVmaW5lJwotZF9kYmxfZGlnPSdkZWZpbmUnCi1kX2RibWluaXRwcm90bz0nZGVmaW5lJwotZF9kaWZmdGltZTY0PSd1bmRlZicKLWRfZGlmZnRpbWU9J2RlZmluZScKLWRfZGlyX2RkX2ZkPSd1bmRlZicKLWRfZGlyZmQ9J2RlZmluZScKLWRfZGlybmFtbGVuPSd1bmRlZicKLWRfZGxhZGRyPSdkZWZpbmUnCi1kX2RsZXJyb3I9J2RlZmluZScKLWRfZGxvcGVuPSdkZWZpbmUnCi1kX2Rsc3ltdW49J3VuZGVmJwotZF9kb3N1aWQ9J3VuZGVmJwotZF9kcmFuZDQ4X3I9J2RlZmluZScKLWRfZHJhbmQ0OHByb3RvPSdkZWZpbmUnCi1kX2R1cDI9J2RlZmluZScKLWRfZWFjY2Vzcz0nZGVmaW5lJwotZF9lbmRncmVudD0nZGVmaW5lJwotZF9lbmRncmVudF9yPSd1bmRlZicKLWRfZW5kaGVudD0nZGVmaW5lJwotZF9lbmRob3N0ZW50X3I9J3VuZGVmJwotZF9lbmRuZW50PSdkZWZpbmUnCi1kX2VuZG5ldGVudF9yPSd1bmRlZicKLWRfZW5kcGVudD0nZGVmaW5lJwotZF9lbmRwcm90b2VudF9yPSd1bmRlZicKLWRfZW5kcHdlbnQ9J2RlZmluZScKLWRfZW5kcHdlbnRfcj0ndW5kZWYnCi1kX2VuZHNlbnQ9J2RlZmluZScKLWRfZW5kc2VydmVudF9yPSd1bmRlZicKLWRfZW9mbmJsaz0nZGVmaW5lJwotZF9lcmY9J2RlZmluZScKLWRfZXJmYz0nZGVmaW5lJwotZF9ldW5pY2U9J3VuZGVmJwotZF9leHAyPSdkZWZpbmUnCi1kX2V4cG0xPSdkZWZpbmUnCi1kX2Zhc3RzdGRpbz0ndW5kZWYnCi1kX2ZjaGRpcj0nZGVmaW5lJwotZF9mY2htb2Q9J2RlZmluZScKLWRfZmNob3duPSdkZWZpbmUnCi1kX2ZjbnRsPSdkZWZpbmUnCi1kX2ZjbnRsX2Nhbl9sb2NrPSdkZWZpbmUnCi1kX2ZkX21hY3Jvcz0nZGVmaW5lJwotZF9mZF9zZXQ9J2RlZmluZScKLWRfZmRpbT0nZGVmaW5lJwotZF9mZHNfYml0cz0nZGVmaW5lJwotZF9mZWdldHJvdW5kPSdkZWZpbmUnCi1kX2ZnZXRwb3M9J2RlZmluZScKLWRfZmluaXRlPSdkZWZpbmUnCi1kX2Zpbml0ZWw9J2RlZmluZScKLWRfZmxleGZuYW09J2RlZmluZScKLWRfZmxvY2s9J2RlZmluZScKLWRfZmxvY2twcm90bz0nZGVmaW5lJwotZF9mbWE9J2RlZmluZScKLWRfZm1heD0nZGVmaW5lJwotZF9mbWluPSdkZWZpbmUnCi1kX2Zvcms9J2RlZmluZScKLWRfZnBfY2xhc3M9J3VuZGVmJwotZF9mcF9jbGFzc2lmeT0ndW5kZWYnCi1kX2ZwX2NsYXNzbD0ndW5kZWYnCi1kX2ZwYXRoY29uZj0nZGVmaW5lJwotZF9mcGNsYXNzPSd1bmRlZicKLWRfZnBjbGFzc2lmeT0nZGVmaW5lJwotZF9mcGNsYXNzbD0ndW5kZWYnCi1kX2ZwZ2V0cm91bmQ9J3VuZGVmJwotZF9mcG9zNjRfdD0ndW5kZWYnCi1kX2ZyZXhwbD0nZGVmaW5lJwotZF9mc19kYXRhX3M9J3VuZGVmJwotZF9mc2Vla289J2RlZmluZScKLWRfZnNldHBvcz0nZGVmaW5lJwotZF9mc3RhdGZzPSdkZWZpbmUnCi1kX2ZzdGF0dmZzPSdkZWZpbmUnCi1kX2ZzeW5jPSdkZWZpbmUnCi1kX2Z0ZWxsbz0nZGVmaW5lJwotZF9mdGltZT0ndW5kZWYnCi1kX2Z1dGltZXM9J2RlZmluZScKLWRfZ2RibV9uZGJtX2hfdXNlc19wcm90b3R5cGVzPSd1bmRlZicKLWRfZ2RibW5kYm1faF91c2VzX3Byb3RvdHlwZXM9J2RlZmluZScKLWRfZ2V0YWRkcmluZm89J2RlZmluZScKLWRfZ2V0Y3dkPSdkZWZpbmUnCi1kX2dldGVzcHduYW09J3VuZGVmJwotZF9nZXRmc3N0YXQ9J3VuZGVmJwotZF9nZXRncmVudD0nZGVmaW5lJwotZF9nZXRncmVudF9yPSdkZWZpbmUnCi1kX2dldGdyZ2lkX3I9J2RlZmluZScKLWRfZ2V0Z3JuYW1fcj0nZGVmaW5lJwotZF9nZXRncnBzPSdkZWZpbmUnCi1kX2dldGhieWFkZHI9J2RlZmluZScKLWRfZ2V0aGJ5bmFtZT0nZGVmaW5lJwotZF9nZXRoZW50PSdkZWZpbmUnCi1kX2dldGhuYW1lPSdkZWZpbmUnCi1kX2dldGhvc3RieWFkZHJfcj0nZGVmaW5lJwotZF9nZXRob3N0YnluYW1lX3I9J2RlZmluZScKLWRfZ2V0aG9zdGVudF9yPSdkZWZpbmUnCi1kX2dldGhvc3Rwcm90b3M9J2RlZmluZScKLWRfZ2V0aXRpbWVyPSdkZWZpbmUnCi1kX2dldGxvZ2luPSdkZWZpbmUnCi1kX2dldGxvZ2luX3I9J2RlZmluZScKLWRfZ2V0bW50PSd1bmRlZicKLWRfZ2V0bW50ZW50PSdkZWZpbmUnCi1kX2dldG5hbWVpbmZvPSdkZWZpbmUnCi1kX2dldG5ieWFkZHI9J2RlZmluZScKLWRfZ2V0bmJ5bmFtZT0nZGVmaW5lJwotZF9nZXRuZW50PSdkZWZpbmUnCi1kX2dldG5ldGJ5YWRkcl9yPSdkZWZpbmUnCi1kX2dldG5ldGJ5bmFtZV9yPSdkZWZpbmUnCi1kX2dldG5ldGVudF9yPSdkZWZpbmUnCi1kX2dldG5ldHByb3Rvcz0nZGVmaW5lJwotZF9nZXRwYWdzej0nZGVmaW5lJwotZF9nZXRwYnluYW1lPSdkZWZpbmUnCi1kX2dldHBieW51bWJlcj0nZGVmaW5lJwotZF9nZXRwZW50PSdkZWZpbmUnCi1kX2dldHBnaWQ9J2RlZmluZScKLWRfZ2V0cGdycDI9J3VuZGVmJwotZF9nZXRwZ3JwPSdkZWZpbmUnCi1kX2dldHBwaWQ9J2RlZmluZScKLWRfZ2V0cHJpb3I9J2RlZmluZScKLWRfZ2V0cHJvdG9ieW5hbWVfcj0nZGVmaW5lJwotZF9nZXRwcm90b2J5bnVtYmVyX3I9J2RlZmluZScKLWRfZ2V0cHJvdG9lbnRfcj0nZGVmaW5lJwotZF9nZXRwcm90b3Byb3Rvcz0nZGVmaW5lJwotZF9nZXRwcnB3bmFtPSd1bmRlZicKLWRfZ2V0cHdlbnQ9J2RlZmluZScKLWRfZ2V0cHdlbnRfcj0nZGVmaW5lJwotZF9nZXRwd25hbV9yPSdkZWZpbmUnCi1kX2dldHB3dWlkX3I9J2RlZmluZScKLWRfZ2V0c2J5bmFtZT0nZGVmaW5lJwotZF9nZXRzYnlwb3J0PSdkZWZpbmUnCi1kX2dldHNlbnQ9J2RlZmluZScKLWRfZ2V0c2VydmJ5bmFtZV9yPSdkZWZpbmUnCi1kX2dldHNlcnZieXBvcnRfcj0nZGVmaW5lJwotZF9nZXRzZXJ2ZW50X3I9J2RlZmluZScKLWRfZ2V0c2VydnByb3Rvcz0nZGVmaW5lJwotZF9nZXRzcG5hbT0nZGVmaW5lJwotZF9nZXRzcG5hbV9yPSdkZWZpbmUnCi1kX2dldHRpbWVvZD0nZGVmaW5lJwotZF9nbXRpbWU2ND0ndW5kZWYnCi1kX2dtdGltZV9yPSdkZWZpbmUnCi1kX2dudWxpYmM9J2RlZmluZScKLWRfZ3JwYXNzd2Q9J2RlZmluZScKLWRfaGFzbW50b3B0PSdkZWZpbmUnCi1kX2h0b25sPSdkZWZpbmUnCi1kX2h5cG90PSdkZWZpbmUnCi1kX2lsb2diPSdkZWZpbmUnCi1kX2lsb2dibD0nZGVmaW5lJwotZF9pbmNfdmVyc2lvbl9saXN0PSd1bmRlZicKLWRfaW5kZXg9J3VuZGVmJwotZF9pbmV0YXRvbj0nZGVmaW5lJwotZF9pbmV0bnRvcD0nZGVmaW5lJwotZF9pbmV0cHRvbj0nZGVmaW5lJwotZF9pbnQ2NF90PSdkZWZpbmUnCi1kX2lwX21yZXE9J2RlZmluZScKLWRfaXBfbXJlcV9zb3VyY2U9J2RlZmluZScKLWRfaXB2Nl9tcmVxPSdkZWZpbmUnCi1kX2lwdjZfbXJlcV9zb3VyY2U9J3VuZGVmJwotZF9pc2FzY2lpPSdkZWZpbmUnCi1kX2lzYmxhbms9J2RlZmluZScKLWRfaXNmaW5pdGU9J2RlZmluZScKLWRfaXNmaW5pdGVsPSd1bmRlZicKLWRfaXNpbmY9J2RlZmluZScKLWRfaXNpbmZsPSdkZWZpbmUnCi1kX2lzbGVzcz0ndW5kZWYnCi1kX2lzbmFuPSdkZWZpbmUnCi1kX2lzbmFubD0nZGVmaW5lJwotZF9pc25vcm1hbD0nZGVmaW5lJwotZF9qMD0nZGVmaW5lJwotZF9qMGw9J2RlZmluZScKLWRfa2lsbHBnPSdkZWZpbmUnCi1kX2xjX21vbmV0YXJ5XzIwMDg9J2RlZmluZScKLWRfbGNob3duPSdkZWZpbmUnCi1kX2xkYmxfZGlnPSdkZWZpbmUnCi1kX2xkZXhwbD0nZGVmaW5lJwotZF9sZ2FtbWE9J2RlZmluZScKLWRfbGdhbW1hX3I9J2RlZmluZScKLWRfbGlibV9saWJfdmVyc2lvbj0ndW5kZWYnCi1kX2xpYm5hbWVfdW5pcXVlPSd1bmRlZicKLWRfbGluaz0nZGVmaW5lJwotZF9sbHJpbnQ9J2RlZmluZScKLWRfbGxyaW50bD0nZGVmaW5lJwotZF9sbHJvdW5kPSdkZWZpbmUnCi1kX2xscm91bmRsPSdkZWZpbmUnCi1kX2xvY2FsdGltZTY0PSd1bmRlZicKLWRfbG9jYWx0aW1lX3I9J2RlZmluZScKLWRfbG9jYWx0aW1lX3JfbmVlZHNfdHpzZXQ9J2RlZmluZScKLWRfbG9jY29udj0nZGVmaW5lJwotZF9sb2NrZj0nZGVmaW5lJwotZF9sb2cxcD0nZGVmaW5lJwotZF9sb2cyPSdkZWZpbmUnCi1kX2xvZ2I9J2RlZmluZScKLWRfbG9uZ2RibD0nZGVmaW5lJwotZF9sb25nbG9uZz0nZGVmaW5lJwotZF9scmludD0nZGVmaW5lJwotZF9scmludGw9J2RlZmluZScKLWRfbHJvdW5kPSdkZWZpbmUnCi1kX2xyb3VuZGw9J2RlZmluZScKLWRfbHNlZWtwcm90bz0nZGVmaW5lJwotZF9sc3RhdD0nZGVmaW5lJwotZF9tYWR2aXNlPSdkZWZpbmUnCi1kX21hbGxvY19nb29kX3NpemU9J3VuZGVmJwotZF9tYWxsb2Nfc2l6ZT0ndW5kZWYnCi1kX21ibGVuPSdkZWZpbmUnCi1kX21ic3Rvd2NzPSdkZWZpbmUnCi1kX21idG93Yz0nZGVmaW5lJwotZF9tZW1jaHI9J2RlZmluZScKLWRfbWVtY21wPSdkZWZpbmUnCi1kX21lbWNweT0nZGVmaW5lJwotZF9tZW1tb3ZlPSdkZWZpbmUnCi1kX21lbXNldD0nZGVmaW5lJwotZF9ta2Rpcj0nZGVmaW5lJwotZF9ta2R0ZW1wPSdkZWZpbmUnCi1kX21rZmlmbz0nZGVmaW5lJwotZF9ta3N0ZW1wPSdkZWZpbmUnCi1kX21rc3RlbXBzPSdkZWZpbmUnCi1kX21rdGltZTY0PSd1bmRlZicKLWRfbWt0aW1lPSdkZWZpbmUnCi1kX21tYXA9J2RlZmluZScKLWRfbW9kZmw9J2RlZmluZScKLWRfbW9kZmxfcG93MzJfYnVnPSd1bmRlZicKLWRfbW9kZmxwcm90bz0nZGVmaW5lJwotZF9tcHJvdGVjdD0nZGVmaW5lJwotZF9tc2c9J2RlZmluZScKLWRfbXNnX2N0cnVuYz0nZGVmaW5lJwotZF9tc2dfZG9udHJvdXRlPSdkZWZpbmUnCi1kX21zZ19vb2I9J2RlZmluZScKLWRfbXNnX3BlZWs9J2RlZmluZScKLWRfbXNnX3Byb3h5PSdkZWZpbmUnCi1kX21zZ2N0bD0nZGVmaW5lJwotZF9tc2dnZXQ9J2RlZmluZScKLWRfbXNnaGRyX3M9J2RlZmluZScKLWRfbXNncmN2PSdkZWZpbmUnCi1kX21zZ3NuZD0nZGVmaW5lJwotZF9tc3luYz0nZGVmaW5lJwotZF9tdW5tYXA9J2RlZmluZScKLWRfbXltYWxsb2M9J3VuZGVmJwotZF9uYW49J2RlZmluZScKLWRfbmRibT0nZGVmaW5lJwotZF9uZGJtX2hfdXNlc19wcm90b3R5cGVzPSd1bmRlZicKLWRfbmVhcmJ5aW50PSdkZWZpbmUnCi1kX25leHRhZnRlcj0nZGVmaW5lJwotZF9uZXh0dG93YXJkPSdkZWZpbmUnCi1kX25pY2U9J2RlZmluZScKLWRfbmxfbGFuZ2luZm89J2RlZmluZScKLWRfbnZfcHJlc2VydmVzX3V2PSd1bmRlZicKLWRfbnZfemVyb19pc19hbGxiaXRzX3plcm89J2RlZmluZScKLWRfb2ZmNjRfdD0nZGVmaW5lJwotZF9vbGRfcHRocmVhZF9jcmVhdGVfam9pbmFibGU9J3VuZGVmJwotZF9vbGRwdGhyZWFkcz0ndW5kZWYnCi1kX29sZHNvY2s9J3VuZGVmJwotZF9vcGVuMz0nZGVmaW5lJwotZF9wYXRoY29uZj0nZGVmaW5lJwotZF9wYXVzZT0nZGVmaW5lJwotZF9wZXJsX290aGVybGliZGlycz0nZGVmaW5lJwotZF9waG9zdG5hbWU9J3VuZGVmJwotZF9waXBlPSdkZWZpbmUnCi1kX3BvbGw9J2RlZmluZScKLWRfcG9ydGFibGU9J2RlZmluZScKLWRfcHJjdGw9J2RlZmluZScKLWRfcHJjdGxfc2V0X25hbWU9J2RlZmluZScKLWRfcHJpbnRmX2Zvcm1hdF9udWxsPSd1bmRlZicKLWRfcHJvY3NlbGZleGU9J2RlZmluZScKLWRfcHNldWRvZm9yaz0ndW5kZWYnCi1kX3B0aHJlYWRfYXRmb3JrPSdkZWZpbmUnCi1kX3B0aHJlYWRfYXR0cl9zZXRzY29wZT0nZGVmaW5lJwotZF9wdGhyZWFkX3lpZWxkPSdkZWZpbmUnCi1kX3B0cmRpZmZfdD0nZGVmaW5lJwotZF9wd2FnZT0ndW5kZWYnCi1kX3B3Y2hhbmdlPSd1bmRlZicKLWRfcHdjbGFzcz0ndW5kZWYnCi1kX3B3Y29tbWVudD0ndW5kZWYnCi1kX3B3ZXhwaXJlPSd1bmRlZicKLWRfcHdnZWNvcz0nZGVmaW5lJwotZF9wd3Bhc3N3ZD0nZGVmaW5lJwotZF9wd3F1b3RhPSd1bmRlZicKLWRfcWdjdnQ9J2RlZmluZScKLWRfcXVhZD0nZGVmaW5lJwotZF9yYW5kb21fcj0nZGVmaW5lJwotZF9yZV9jb21wPSd1bmRlZicKLWRfcmVhZGRpcjY0X3I9J2RlZmluZScKLWRfcmVhZGRpcj0nZGVmaW5lJwotZF9yZWFkZGlyX3I9J2RlZmluZScKLWRfcmVhZGxpbms9J2RlZmluZScKLWRfcmVhZHY9J2RlZmluZScKLWRfcmVjdm1zZz0nZGVmaW5lJwotZF9yZWdjbXA9J3VuZGVmJwotZF9yZWdjb21wPSdkZWZpbmUnCi1kX3JlbWFpbmRlcj0nZGVmaW5lJwotZF9yZW1xdW89J2RlZmluZScKLWRfcmVuYW1lPSdkZWZpbmUnCi1kX3Jld2luZGRpcj0nZGVmaW5lJwotZF9yaW50PSdkZWZpbmUnCi1kX3JtZGlyPSdkZWZpbmUnCi1kX3JvdW5kPSdkZWZpbmUnCi1kX3NhZmViY3B5PSd1bmRlZicKLWRfc2FmZW1jcHk9J3VuZGVmJwotZF9zYW5lbWNtcD0nZGVmaW5lJwotZF9zYnJrcHJvdG89J2RlZmluZScKLWRfc2NhbGJuPSdkZWZpbmUnCi1kX3NjYWxibmw9J2RlZmluZScKLWRfc2NoZWRfeWllbGQ9J2RlZmluZScKLWRfc2NtX3JpZ2h0cz0nZGVmaW5lJwotZF9zZWVrZGlyPSdkZWZpbmUnCi1kX3NlbGVjdD0nZGVmaW5lJwotZF9zZW09J2RlZmluZScKLWRfc2VtY3RsPSdkZWZpbmUnCi1kX3NlbWN0bF9zZW1pZF9kcz0nZGVmaW5lJwotZF9zZW1jdGxfc2VtdW49J2RlZmluZScKLWRfc2VtZ2V0PSdkZWZpbmUnCi1kX3NlbW9wPSdkZWZpbmUnCi1kX3NlbmRtc2c9J2RlZmluZScKLWRfc2V0ZWdpZD0nZGVmaW5lJwotZF9zZXRldWlkPSdkZWZpbmUnCi1kX3NldGdyZW50PSdkZWZpbmUnCi1kX3NldGdyZW50X3I9J3VuZGVmJwotZF9zZXRncnBzPSdkZWZpbmUnCi1kX3NldGhlbnQ9J2RlZmluZScKLWRfc2V0aG9zdGVudF9yPSd1bmRlZicKLWRfc2V0aXRpbWVyPSdkZWZpbmUnCi1kX3NldGxpbmVidWY9J2RlZmluZScKLWRfc2V0bG9jYWxlPSdkZWZpbmUnCi1kX3NldGxvY2FsZV9yPSd1bmRlZicKLWRfc2V0bmVudD0nZGVmaW5lJwotZF9zZXRuZXRlbnRfcj0ndW5kZWYnCi1kX3NldHBlbnQ9J2RlZmluZScKLWRfc2V0cGdpZD0nZGVmaW5lJwotZF9zZXRwZ3JwMj0ndW5kZWYnCi1kX3NldHBncnA9J2RlZmluZScKLWRfc2V0cHJpb3I9J2RlZmluZScKLWRfc2V0cHJvY3RpdGxlPSd1bmRlZicKLWRfc2V0cHJvdG9lbnRfcj0ndW5kZWYnCi1kX3NldHB3ZW50PSdkZWZpbmUnCi1kX3NldHB3ZW50X3I9J3VuZGVmJwotZF9zZXRyZWdpZD0nZGVmaW5lJwotZF9zZXRyZXNnaWQ9J2RlZmluZScKLWRfc2V0cmVzdWlkPSdkZWZpbmUnCi1kX3NldHJldWlkPSdkZWZpbmUnCi1kX3NldHJnaWQ9J3VuZGVmJwotZF9zZXRydWlkPSd1bmRlZicKLWRfc2V0c2VudD0nZGVmaW5lJwotZF9zZXRzZXJ2ZW50X3I9J3VuZGVmJwotZF9zZXRzaWQ9J2RlZmluZScKLWRfc2V0dmJ1Zj0nZGVmaW5lJwotZF9zaG09J2RlZmluZScKLWRfc2htYXQ9J2RlZmluZScKLWRfc2htYXRwcm90b3R5cGU9J2RlZmluZScKLWRfc2htY3RsPSdkZWZpbmUnCi1kX3NobWR0PSdkZWZpbmUnCi1kX3NobWdldD0nZGVmaW5lJwotZF9zaWdhY3Rpb249J2RlZmluZScKLWRfc2lnbmJpdD0nZGVmaW5lJwotZF9zaWdwcm9jbWFzaz0nZGVmaW5lJwotZF9zaWdzZXRqbXA9J2RlZmluZScKLWRfc2luNl9zY29wZV9pZD0nZGVmaW5lJwotZF9zaXRlYXJjaD0nZGVmaW5lJwotZF9zbnByaW50Zj0nZGVmaW5lJwotZF9zb2NrYWRkcl9pbjY9J2RlZmluZScKLWRfc29ja2FkZHJfc2FfbGVuPSd1bmRlZicKLWRfc29ja2F0bWFyaz0nZGVmaW5lJwotZF9zb2NrYXRtYXJrcHJvdG89J2RlZmluZScKLWRfc29ja2V0PSdkZWZpbmUnCi1kX3NvY2tsZW5fdD0nZGVmaW5lJwotZF9zb2NrcGFpcj0nZGVmaW5lJwotZF9zb2NrczVfaW5pdD0ndW5kZWYnCi1kX3NwcmludGZfcmV0dXJuc19zdHJsZW49J2RlZmluZScKLWRfc3FydGw9J2RlZmluZScKLWRfc3JhbmQ0OF9yPSdkZWZpbmUnCi1kX3NyYW5kb21fcj0nZGVmaW5lJwotZF9zcmVzZ3Byb3RvPSdkZWZpbmUnCi1kX3NyZXN1cHJvdG89J2RlZmluZScKLWRfc3RhdD0nZGVmaW5lJwotZF9zdGF0Ymxrcz0nZGVmaW5lJwotZF9zdGF0ZnNfZl9mbGFncz0nZGVmaW5lJwotZF9zdGF0ZnNfcz0nZGVmaW5lJwotZF9zdGF0aWNfaW5saW5lPSdkZWZpbmUnCi1kX3N0YXR2ZnM9J2RlZmluZScKLWRfc3RkaW9fY250X2x2YWw9J3VuZGVmJwotZF9zdGRpb19wdHJfbHZhbD0ndW5kZWYnCi1kX3N0ZGlvX3B0cl9sdmFsX25vY2hhbmdlX2NudD0ndW5kZWYnCi1kX3N0ZGlvX3B0cl9sdmFsX3NldHNfY250PSd1bmRlZicKLWRfc3RkaW9fc3RyZWFtX2FycmF5PSd1bmRlZicKLWRfc3RkaW9iYXNlPSd1bmRlZicKLWRfc3Rkc3RkaW89J3VuZGVmJwotZF9zdHJjaHI9J2RlZmluZScKLWRfc3RyY29sbD0nZGVmaW5lJwotZF9zdHJjdGNweT0nZGVmaW5lJwotZF9zdHJlcnJtPSdzdHJlcnJvcihlKScKLWRfc3RyZXJyb3I9J2RlZmluZScKLWRfc3RyZXJyb3Jfcj0nZGVmaW5lJwotZF9zdHJmdGltZT0nZGVmaW5lJwotZF9zdHJsY2F0PSd1bmRlZicKLWRfc3RybGNweT0ndW5kZWYnCi1kX3N0cnRvZD0nZGVmaW5lJwotZF9zdHJ0b2w9J2RlZmluZScKLWRfc3RydG9sZD0nZGVmaW5lJwotZF9zdHJ0b2xsPSdkZWZpbmUnCi1kX3N0cnRvcT0nZGVmaW5lJwotZF9zdHJ0b3VsPSdkZWZpbmUnCi1kX3N0cnRvdWxsPSdkZWZpbmUnCi1kX3N0cnRvdXE9J2RlZmluZScKLWRfc3RyeGZybT0nZGVmaW5lJwotZF9zdWlkc2FmZT0ndW5kZWYnCi1kX3N5bWxpbms9J2RlZmluZScKLWRfc3lzY2FsbD0nZGVmaW5lJwotZF9zeXNjYWxscHJvdG89J2RlZmluZScKLWRfc3lzY29uZj0nZGVmaW5lJwotZF9zeXNlcm5sc3Q9JycKLWRfc3lzZXJybHN0PSdkZWZpbmUnCi1kX3N5c3RlbT0nZGVmaW5lJwotZF90Y2dldHBncnA9J2RlZmluZScKLWRfdGNzZXRwZ3JwPSdkZWZpbmUnCi1kX3RlbGxkaXI9J2RlZmluZScKLWRfdGVsbGRpcnByb3RvPSdkZWZpbmUnCi1kX3RnYW1tYT0nZGVmaW5lJwotZF90aW1lPSdkZWZpbmUnCi1kX3RpbWVnbT0nZGVmaW5lJwotZF90aW1lcz0nZGVmaW5lJwotZF90bV90bV9nbXRvZmY9J2RlZmluZScKLWRfdG1fdG1fem9uZT0nZGVmaW5lJwotZF90bXBuYW1fcj0nZGVmaW5lJwotZF90cnVuYz0nZGVmaW5lJwotZF90cnVuY2F0ZT0nZGVmaW5lJwotZF90cnVuY2w9J2RlZmluZScKLWRfdHR5bmFtZV9yPSdkZWZpbmUnCi1kX3R6bmFtZT0nZGVmaW5lJwotZF91MzJhbGlnbj0nZGVmaW5lJwotZF91YWxhcm09J2RlZmluZScKLWRfdW1hc2s9J2RlZmluZScKLWRfdW5hbWU9J2RlZmluZScKLWRfdW5pb25fc2VtdW49J3VuZGVmJwotZF91bm9yZGVyZWQ9J3VuZGVmJwotZF91bnNldGVudj0nZGVmaW5lJwotZF91c2xlZXA9J2RlZmluZScKLWRfdXNsZWVwcHJvdG89J2RlZmluZScKLWRfdXN0YXQ9J2RlZmluZScKLWRfdmVuZG9yYXJjaD0nZGVmaW5lJwotZF92ZW5kb3JiaW49J2RlZmluZScKLWRfdmVuZG9ybGliPSdkZWZpbmUnCi1kX3ZlbmRvcnNjcmlwdD0nZGVmaW5lJwotZF92Zm9yaz0ndW5kZWYnCi1kX3ZvaWRfY2xvc2VkaXI9J3VuZGVmJwotZF92b2lkc2lnPSdkZWZpbmUnCi1kX3ZvaWR0dHk9JycKLWRfdm9sYXRpbGU9J2RlZmluZScKLWRfdnByaW50Zj0nZGVmaW5lJwotZF92c25wcmludGY9J2RlZmluZScKLWRfd2FpdDQ9J2RlZmluZScKLWRfd2FpdHBpZD0nZGVmaW5lJwotZF93Y3NjbXA9J2RlZmluZScKLWRfd2NzdG9tYnM9J2RlZmluZScKLWRfd2NzeGZybT0nZGVmaW5lJwotZF93Y3RvbWI9J2RlZmluZScKLWRfd3JpdGV2PSdkZWZpbmUnCi1kX3hlbml4PSd1bmRlZicKLWRhdGU9J2RhdGUnCi1kYl9oYXNodHlwZT0ndV9pbnQzMl90JwotZGJfcHJlZml4dHlwZT0nc2l6ZV90JwotZGJfdmVyc2lvbl9tYWpvcj0nJwotZGJfdmVyc2lvbl9taW5vcj0nJwotZGJfdmVyc2lvbl9wYXRjaD0nJwotZGlyZW50cnl0eXBlPSdzdHJ1Y3QgZGlyZW50JwotZGxleHQ9J3NvJwotZGxzcmM9J2RsX2Rsb3Blbi54cycKLWRvdWJsZWluZmJ5dGVzPScweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGYwLCAweDdmJwotZG91Ymxla2luZD0nMycKLWRvdWJsZW1hbnRiaXRzPSc1MicKLWRvdWJsZW5hbmJ5dGVzPScweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGY4LCAweGZmJwotZG91Ymxlc2l6ZT0nOCcKLWRyYW5kMDE9J1BlcmxfZHJhbmQ0OCgpJwotZHJhbmQ0OF9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9TVCcKLWR0cmFjZT0nJwotZHRyYWNlb2JqZWN0PScnCi1keW5hbWljX2V4dD0nQiBDb21wcmVzcy9SYXcvQnppcDIgQ29tcHJlc3MvUmF3L1psaWIgQ3dkIERhdGEvRHVtcGVyIERldmVsL1BQUG9ydCBEZXZlbC9QZWVrIERpZ2VzdC9NRDUgRGlnZXN0L1NIQSBFbmNvZGUgRmNudGwgRmlsZS9Eb3NHbG9iIEZpbGUvR2xvYiBGaWx0ZXIvVXRpbC9DYWxsIEhhc2gvVXRpbCBIYXNoL1V0aWwvRmllbGRIYXNoIEkxOE4vTGFuZ2luZm8gSU8gSVBDL1N5c1YgTGlzdC9VdGlsIE1JTUUvQmFzZTY0IE1hdGgvQmlnSW50L0Zhc3RDYWxjIE5EQk1fRmlsZSBPREJNX0ZpbGUgT3Bjb2RlIFBPU0lYIFBlcmxJTy9lbmNvZGluZyBQZXJsSU8vbW1hcCBQZXJsSU8vc2NhbGFyIFBlcmxJTy92aWEgU0RCTV9GaWxlIFNvY2tldCBTdG9yYWJsZSBTeXMvSG9zdG5hbWUgU3lzL1N5c2xvZyBUaWUvSGFzaC9OYW1lZENhcHR1cmUgVGltZS9IaVJlcyBUaW1lL1BpZWNlIFVuaWNvZGUvQ29sbGF0ZSBYUy9BUEl0ZXN0IFhTL1R5cGVtYXAgYXJ5YmFzZSBhdHRyaWJ1dGVzIG1ybyByZSB0aHJlYWRzIHRocmVhZHMvc2hhcmVkJwotZWFnYWluPSdFQUdBSU4nCi1lYmNkaWM9J3VuZGVmJwotZWNobz0nZWNobycKLWVncmVwPSdlZ3JlcCcKLWVtYWNzPScnCi1lbmRncmVudF9yX3Byb3RvPScwJwotZW5kaG9zdGVudF9yX3Byb3RvPScwJwotZW5kbmV0ZW50X3JfcHJvdG89JzAnCi1lbmRwcm90b2VudF9yX3Byb3RvPScwJwotZW5kcHdlbnRfcl9wcm90bz0nMCcKLWVuZHNlcnZlbnRfcl9wcm90bz0nMCcKLWV1bmljZWZpeD0nOicKLWV4ZV9leHQ9JycKLWV4cHI9J2V4cHInCi1leHRlbnNpb25zPSdCIENvbXByZXNzL1Jhdy9CemlwMiBDb21wcmVzcy9SYXcvWmxpYiBDd2QgRGF0YS9EdW1wZXIgRGV2ZWwvUFBQb3J0IERldmVsL1BlZWsgRGlnZXN0L01ENSBEaWdlc3QvU0hBIEVuY29kZSBGY250bCBGaWxlL0Rvc0dsb2IgRmlsZS9HbG9iIEZpbHRlci9VdGlsL0NhbGwgSGFzaC9VdGlsIEhhc2gvVXRpbC9GaWVsZEhhc2ggSTE4Ti9MYW5naW5mbyBJTyBJUEMvU3lzViBMaXN0L1V0aWwgTUlNRS9CYXNlNjQgTWF0aC9CaWdJbnQvRmFzdENhbGMgTkRCTV9GaWxlIE9EQk1fRmlsZSBPcGNvZGUgUE9TSVggUGVybElPL2VuY29kaW5nIFBlcmxJTy9tbWFwIFBlcmxJTy9zY2FsYXIgUGVybElPL3ZpYSBTREJNX0ZpbGUgU29ja2V0IFN0b3JhYmxlIFN5cy9Ib3N0bmFtZSBTeXMvU3lzbG9nIFRpZS9IYXNoL05hbWVkQ2FwdHVyZSBUaW1lL0hpUmVzIFRpbWUvUGllY2UgVW5pY29kZS9Db2xsYXRlIFhTL0FQSXRlc3QgWFMvVHlwZW1hcCBhcnliYXNlIGF0dHJpYnV0ZXMgbXJvIHJlIHRocmVhZHMgdGhyZWFkcy9zaGFyZWQgQXJjaGl2ZS9UYXIgQXR0cmlidXRlL0hhbmRsZXJzIEF1dG9Mb2FkZXIgQi9EZWJ1ZyBDUEFOIENQQU4vTWV0YSBDUEFOL01ldGEvUmVxdWlyZW1lbnRzIENQQU4vTWV0YS9ZQU1MIENhcnAgQ29uZmlnL1BlcmwvViBEZXZlbC9TZWxmU3R1YmJlciBEaWdlc3QgRHVtcHZhbHVlIEVudiBFcnJubyBFeHBvcnRlciBFeHRVdGlscy9DQnVpbGRlciBFeHRVdGlscy9Db21tYW5kIEV4dFV0aWxzL0NvbnN0YW50IEV4dFV0aWxzL0luc3RhbGwgRXh0VXRpbHMvTWFrZU1ha2VyIEV4dFV0aWxzL01hbmlmZXN0IEV4dFV0aWxzL01pbmlwZXJsIEV4dFV0aWxzL1BhcnNlWFMgRmlsZS9GZXRjaCBGaWxlL0ZpbmQgRmlsZS9QYXRoIEZpbGUvVGVtcCBGaWxlQ2FjaGUgRmlsdGVyL1NpbXBsZSBHZXRvcHQvTG9uZyBIVFRQL1RpbnkgSTE4Ti9Db2xsYXRlIEkxOE4vTGFuZ1RhZ3MgSU8vQ29tcHJlc3MgSU8vU29ja2V0L0lQIElPL1psaWIgSVBDL0NtZCBJUEMvT3BlbjMgSlNPTi9QUCBMb2NhbGUvQ29kZXMgTG9jYWxlL01ha2V0ZXh0IExvY2FsZS9NYWtldGV4dC9TaW1wbGUgTWF0aC9CaWdJbnQgTWF0aC9CaWdSYXQgTWF0aC9Db21wbGV4IE1lbW9pemUgTW9kdWxlL0NvcmVMaXN0IE1vZHVsZS9Mb2FkIE1vZHVsZS9Mb2FkL0NvbmRpdGlvbmFsIE1vZHVsZS9Mb2FkZWQgTW9kdWxlL01ldGFkYXRhIE5FWFQgTmV0L1BpbmcgUGFyYW1zL0NoZWNrIFBhcnNlL0NQQU4vTWV0YSBQZXJsL09TVHlwZSBQZXJsSU8vdmlhL1F1b3RlZFByaW50IFBvZC9DaGVja2VyIFBvZC9Fc2NhcGVzIFBvZC9GdW5jdGlvbnMgUG9kL0h0bWwgUG9kL1BhcnNlciBQb2QvUGVybGRvYyBQb2QvU2ltcGxlIFBvZC9Vc2FnZSBTYWZlIFNlYXJjaC9EaWN0IFNlbGZMb2FkZXIgVGVybS9BTlNJQ29sb3IgVGVybS9DYXAgVGVybS9Db21wbGV0ZSBUZXJtL1JlYWRMaW5lIFRlc3QgVGVzdC9IYXJuZXNzIFRlc3QvU2ltcGxlIFRleHQvQWJicmV2IFRleHQvQmFsYW5jZWQgVGV4dC9QYXJzZVdvcmRzIFRleHQvVGFicyBUaHJlYWQvUXVldWUgVGhyZWFkL1NlbWFwaG9yZSBUaWUvRmlsZSBUaWUvTWVtb2l6ZSBUaWUvUmVmSGFzaCBUaW1lL0xvY2FsIFVuaWNvZGUvTm9ybWFsaXplIFhTTG9hZGVyIGF1dG9kaWUgYXV0b3VzZSBiYXNlIGJpZ251bSBjb25zdGFudCBlbmNvZGluZy93YXJuaW5ncyBleHBlcmltZW50YWwgaWYgbGliIGxpYm5ldCBwYXJlbnQgcGVybGZhcSBwb2RsYXRvcnMgdmVyc2lvbicKLWV4dGVybl9DPSdleHRlcm4nCi1leHRyYXM9JycKLWZmbHVzaE5VTEw9J2RlZmluZScKLWZmbHVzaGFsbD0ndW5kZWYnCi1maW5kPScnCi1maXJzdG1ha2VmaWxlPSdtYWtlZmlsZScKLWZsZXg9JycKLWZwb3NzaXplPScxNicKLWZwb3N0eXBlPSdmcG9zX3QnCi1mcmVldHlwZT0ndm9pZCcKLWZyb209JzonCi1mdWxsX2FyPSdhcicKLWZ1bGxfY3NoPSdjc2gnCi1mdWxsX3NlZD0nc2VkJwotZ2NjYW5zaXBlZGFudGljPScnCi1nY2Nvc2FuZHZlcnM9JycKLWdjY3ZlcnNpb249JzQuOS4yJwotZ2V0Z3JlbnRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfU0JXUicKLWdldGdyZ2lkX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX1RTQldSJwotZ2V0Z3JuYW1fcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfQ1NCV1InCi1nZXRob3N0YnlhZGRyX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX1RzSVNCV1JFJwotZ2V0aG9zdGJ5bmFtZV9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9DU0JXUkUnCi1nZXRob3N0ZW50X3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX1NCV1JFJwotZ2V0bG9naW5fcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfQlcnCi1nZXRuZXRieWFkZHJfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfdUlTQldSRScKLWdldG5ldGJ5bmFtZV9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9DU0JXUkUnCi1nZXRuZXRlbnRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfU0JXUkUnCi1nZXRwcm90b2J5bmFtZV9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9DU0JXUicKLWdldHByb3RvYnludW1iZXJfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfSVNCV1InCi1nZXRwcm90b2VudF9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9TQldSJwotZ2V0cHdlbnRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfU0JXUicKLWdldHB3bmFtX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX0NTQldSJwotZ2V0cHd1aWRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfVFNCV1InCi1nZXRzZXJ2YnluYW1lX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX0NDU0JXUicKLWdldHNlcnZieXBvcnRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfSUNTQldSJwotZ2V0c2VydmVudF9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9TQldSJwotZ2V0c3BuYW1fcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfQ1NCV1InCi1naWRmb3JtYXQ9JyJ1IicKLWdpZHNpZ249JzEnCi1naWRzaXplPSc0JwotZ2lkdHlwZT0nZ2lkX3QnCi1nbGlicHRoPSdARVhFQ1BSRUZJWEAvc2hsaWIgIEBCQVNFTElCRElSQCBATElCRElSQCBATElCRElSQC8zODYgQEJBU0VMSUJESVJAMzg2IEBFWEVDUFJFRklYQC9jY3NAQkFTRUxJQkRJUkAgQEVYRUNQUkVGSVhAL3VjYmxpYiBARVhFQ1BSRUZJWEAvbG9jYWxAQkFTRUxJQkRJUkAgQEJBU0VMSUJESVJAIEBMSUJESVJAIEBFWEVDUFJFRklYQC9sb2NhbEBCQVNFTElCRElSQCAnCi1nbWFrZT0nZ21ha2UnCi1nbXRpbWVfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX1NfVFMnCi1nbnVsaWJjX3ZlcnNpb249JzIuMjEnCi1ncmVwPSdncmVwJwotZ3JvdXBjYXQ9J2NhdCAvZXRjL2dyb3VwJwotZ3JvdXBzdHlwZT0nZ2lkX3QnCi1nemlwPSdnemlwJwotaF9mY250bD0nZmFsc2UnCi1oX3N5c2ZpbGU9J3RydWUnCi1oaW50PSdyZWNvbW1lbmRlZCcKLWhvc3RjYXQ9J2NhdCAvZXRjL2hvc3RzJwotaG9zdGdlbmVyYXRlPScnCi1ob3N0b3NuYW1lPScnCi1ob3N0cGVybD0nJwotaHRtbDFkaXI9JyAnCi1odG1sMWRpcmV4cD0nJwotaHRtbDNkaXI9JyAnCi1odG1sM2RpcmV4cD0nJwotaTE2c2l6ZT0nMicKLWkxNnR5cGU9J3Nob3J0JwotaTMyc2l6ZT0nNCcKLWkzMnR5cGU9J2ludCcKLWk2NHNpemU9JzgnCi1pNjR0eXBlPSdsb25nJwotaThzaXplPScxJwotaTh0eXBlPSdzaWduZWQgY2hhcicKLWlfYXJwYWluZXQ9J2RlZmluZScKLWlfYXNzZXJ0PSdkZWZpbmUnCi1pX2JmZD0nZGVmaW5lJwotaV9ic2Rpb2N0bD0nJwotaV9jcnlwdD0nZGVmaW5lJwotaV9kYj0ndW5kZWYnCi1pX2RibT0nZGVmaW5lJwotaV9kaXJlbnQ9J2RlZmluZScKLWlfZGxmY249J2RlZmluZScKLWlfZXhlY2luZm89J2RlZmluZScKLWlfZmNudGw9J3VuZGVmJwotaV9mZW52PSdkZWZpbmUnCi1pX2Zsb2F0PSdkZWZpbmUnCi1pX2ZwPSd1bmRlZicKLWlfZnBfY2xhc3M9J3VuZGVmJwotaV9nZGJtPSd1bmRlZicKLWlfZ2RibV9uZGJtPSd1bmRlZicKLWlfZ2RibW5kYm09J2RlZmluZScKLWlfZ3JwPSdkZWZpbmUnCi1pX2llZWVmcD0ndW5kZWYnCi1pX2ludHR5cGVzPSdkZWZpbmUnCi1pX2xhbmdpbmZvPSdkZWZpbmUnCi1pX2xpYnV0aWw9J3VuZGVmJwotaV9saW1pdHM9J2RlZmluZScKLWlfbG9jYWxlPSdkZWZpbmUnCi1pX21hY2hjdGhyPSd1bmRlZicKLWlfbWFsbG9jPSdkZWZpbmUnCi1pX21hbGxvY21hbGxvYz0ndW5kZWYnCi1pX21hdGg9J2RlZmluZScKLWlfbWVtb3J5PSd1bmRlZicKLWlfbW50ZW50PSdkZWZpbmUnCi1pX25kYm09J3VuZGVmJwotaV9uZXRkYj0nZGVmaW5lJwotaV9uZXRlcnJubz0ndW5kZWYnCi1pX25ldGluZXR0Y3A9J2RlZmluZScKLWlfbmlpbj0nZGVmaW5lJwotaV9wb2xsPSdkZWZpbmUnCi1pX3Byb3Q9J3VuZGVmJwotaV9wdGhyZWFkPSdkZWZpbmUnCi1pX3B3ZD0nZGVmaW5lJwotaV9xdWFkbWF0aD0ndW5kZWYnCi1pX3JwY3N2Y2RibT0ndW5kZWYnCi1pX3NndHR5PSd1bmRlZicKLWlfc2hhZG93PSdkZWZpbmUnCi1pX3NvY2tzPSd1bmRlZicKLWlfc3RkYXJnPSdkZWZpbmUnCi1pX3N0ZGJvb2w9J2RlZmluZScKLWlfc3RkZGVmPSdkZWZpbmUnCi1pX3N0ZGludD0nZGVmaW5lJwotaV9zdGRsaWI9J2RlZmluZScKLWlfc3RyaW5nPSdkZWZpbmUnCi1pX3N1bm1hdGg9J3VuZGVmJwotaV9zeXNhY2Nlc3M9J3VuZGVmJwotaV9zeXNkaXI9J2RlZmluZScKLWlfc3lzZmlsZT0nZGVmaW5lJwotaV9zeXNmaWxpbz0ndW5kZWYnCi1pX3N5c2luPSd1bmRlZicKLWlfc3lzaW9jdGw9J2RlZmluZScKLWlfc3lzbG9nPSdkZWZpbmUnCi1pX3N5c21tYW49J2RlZmluZScKLWlfc3lzbW9kZT0ndW5kZWYnCi1pX3N5c21vdW50PSdkZWZpbmUnCi1pX3N5c25kaXI9J3VuZGVmJwotaV9zeXNwYXJhbT0nZGVmaW5lJwotaV9zeXNwb2xsPSdkZWZpbmUnCi1pX3N5c3Jlc3JjPSdkZWZpbmUnCi1pX3N5c3NlY3J0PSd1bmRlZicKLWlfc3lzc2VsY3Q9J2RlZmluZScKLWlfc3lzc29ja2lvPSd1bmRlZicKLWlfc3lzc3RhdD0nZGVmaW5lJwotaV9zeXNzdGF0ZnM9J2RlZmluZScKLWlfc3lzc3RhdHZmcz0nZGVmaW5lJwotaV9zeXN0aW1lPSdkZWZpbmUnCi1pX3N5c3RpbWVrPSd1bmRlZicKLWlfc3lzdGltZXM9J2RlZmluZScKLWlfc3lzdHlwZXM9J2RlZmluZScKLWlfc3lzdWlvPSdkZWZpbmUnCi1pX3N5c3VuPSdkZWZpbmUnCi1pX3N5c3V0c25hbWU9J2RlZmluZScKLWlfc3lzdmZzPSdkZWZpbmUnCi1pX3N5c3dhaXQ9J2RlZmluZScKLWlfdGVybWlvPSd1bmRlZicKLWlfdGVybWlvcz0nZGVmaW5lJwotaV90aW1lPSdkZWZpbmUnCi1pX3VuaXN0ZD0nZGVmaW5lJwotaV91c3RhdD0nZGVmaW5lJwotaV91dGltZT0nZGVmaW5lJwotaV92YWx1ZXM9J2RlZmluZScKLWlfdmFyYXJncz0ndW5kZWYnCi1pX3Zhcmhkcj0nc3RkYXJnLmgnCi1pX3Zmb3JrPSd1bmRlZicKLWlnbm9yZV92ZXJzaW9uZWRfc29saWJzPSd5JwotaW5jX3ZlcnNpb25fbGlzdD0nICcKLWluY192ZXJzaW9uX2xpc3RfaW5pdD0nMCcKLWluY3BhdGg9JycKLWluZXdzPScnCi1pbml0aWFsaW5zdGFsbGxvY2F0aW9uPSdAVVNSQklOQCcKLWluc3RhbGxhcmNobGliPSdATElCRElSQC9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpJwotaW5zdGFsbGJpbj0nQFVTUkJJTkAnCi1pbnN0YWxsaHRtbDFkaXI9JycKLWluc3RhbGxodG1sM2Rpcj0nJwotaW5zdGFsbG1hbjFkaXI9JycKLWluc3RhbGxtYW4zZGlyPScnCi1pbnN0YWxscHJlZml4PSdARVhFQ1BSRUZJWEAnCi1pbnN0YWxscHJlZml4ZXhwPSdARVhFQ1BSRUZJWEAnCi1pbnN0YWxscHJpdmxpYj0nQExJQkRJUkAvcGVybC81LjI0LjQnCi1pbnN0YWxsc2NyaXB0PSdAVVNSQklOQCcKLWluc3RhbGxzaXRlYXJjaD0nQExJQkRJUkAvcGVybC9zaXRlX3BlcmwvNS4yNC40L0BBUkNIQC10aHJlYWQtbXVsdGknCi1pbnN0YWxsc2l0ZWJpbj0nQFVTUkJJTkAnCi1pbnN0YWxsc2l0ZWh0bWwxZGlyPScnCi1pbnN0YWxsc2l0ZWh0bWwzZGlyPScnCi1pbnN0YWxsc2l0ZWxpYj0nQExJQkRJUkAvcGVybC9zaXRlX3BlcmwvNS4yNC40JwotaW5zdGFsbHNpdGVtYW4xZGlyPScnCi1pbnN0YWxsc2l0ZW1hbjNkaXI9JycKLWluc3RhbGxzaXRlc2NyaXB0PSdAVVNSQklOQCcKLWluc3RhbGxzdHlsZT0nbGliL3BlcmwnCi1pbnN0YWxsdXNyYmlucGVybD0nZGVmaW5lJwotaW5zdGFsbHZlbmRvcmFyY2g9J0BMSUJESVJAL3BlcmwvdmVuZG9yX3BlcmwvNS4yNC40L0BBUkNIQC10aHJlYWQtbXVsdGknCi1pbnN0YWxsdmVuZG9yYmluPSdAVVNSQklOQCcKLWluc3RhbGx2ZW5kb3JodG1sMWRpcj0nJwotaW5zdGFsbHZlbmRvcmh0bWwzZGlyPScnCi1pbnN0YWxsdmVuZG9ybGliPSdATElCRElSQC9wZXJsL3ZlbmRvcl9wZXJsLzUuMjQuNCcKLWluc3RhbGx2ZW5kb3JtYW4xZGlyPScnCi1pbnN0YWxsdmVuZG9ybWFuM2Rpcj0nJwotaW5zdGFsbHZlbmRvcnNjcmlwdD0nQFVTUkJJTkAnCi1pbnRzaXplPSc0JwotaXNzeW1saW5rPSd0ZXN0IC1oJwotaXZkZm9ybWF0PScibGQiJwotaXZzaXplPSc4JwotaXZ0eXBlPSdsb25nJwota25vd25fZXh0ZW5zaW9ucz0nQXJjaGl2ZS9UYXIgQXR0cmlidXRlL0hhbmRsZXJzIEF1dG9Mb2FkZXIgQiBCL0RlYnVnIENQQU4gQ1BBTi9NZXRhIENQQU4vTWV0YS9SZXF1aXJlbWVudHMgQ1BBTi9NZXRhL1lBTUwgQ2FycCBDb21wcmVzcy9SYXcvQnppcDIgQ29tcHJlc3MvUmF3L1psaWIgQ29uZmlnL1BlcmwvViBDd2QgREJfRmlsZSBEYXRhL0R1bXBlciBEZXZlbC9QUFBvcnQgRGV2ZWwvUGVlayBEZXZlbC9TZWxmU3R1YmJlciBEaWdlc3QgRGlnZXN0L01ENSBEaWdlc3QvU0hBIER1bXB2YWx1ZSBFbmNvZGUgRW52IEVycm5vIEV4cG9ydGVyIEV4dFV0aWxzL0NCdWlsZGVyIEV4dFV0aWxzL0NvbW1hbmQgRXh0VXRpbHMvQ29uc3RhbnQgRXh0VXRpbHMvSW5zdGFsbCBFeHRVdGlscy9NYWtlTWFrZXIgRXh0VXRpbHMvTWFuaWZlc3QgRXh0VXRpbHMvTWluaXBlcmwgRXh0VXRpbHMvUGFyc2VYUyBGY250bCBGaWxlL0Rvc0dsb2IgRmlsZS9GZXRjaCBGaWxlL0ZpbmQgRmlsZS9HbG9iIEZpbGUvUGF0aCBGaWxlL1RlbXAgRmlsZUNhY2hlIEZpbHRlci9TaW1wbGUgRmlsdGVyL1V0aWwvQ2FsbCBHREJNX0ZpbGUgR2V0b3B0L0xvbmcgSFRUUC9UaW55IEhhc2gvVXRpbCBIYXNoL1V0aWwvRmllbGRIYXNoIEkxOE4vQ29sbGF0ZSBJMThOL0xhbmdUYWdzIEkxOE4vTGFuZ2luZm8gSU8gSU8vQ29tcHJlc3MgSU8vU29ja2V0L0lQIElPL1psaWIgSVBDL0NtZCBJUEMvT3BlbjMgSVBDL1N5c1YgSlNPTi9QUCBMaXN0L1V0aWwgTG9jYWxlL0NvZGVzIExvY2FsZS9NYWtldGV4dCBMb2NhbGUvTWFrZXRleHQvU2ltcGxlIE1JTUUvQmFzZTY0IE1hdGgvQmlnSW50IE1hdGgvQmlnSW50L0Zhc3RDYWxjIE1hdGgvQmlnUmF0IE1hdGgvQ29tcGxleCBNZW1vaXplIE1vZHVsZS9Db3JlTGlzdCBNb2R1bGUvTG9hZCBNb2R1bGUvTG9hZC9Db25kaXRpb25hbCBNb2R1bGUvTG9hZGVkIE1vZHVsZS9NZXRhZGF0YSBOREJNX0ZpbGUgTkVYVCBOZXQvUGluZyBPREJNX0ZpbGUgT3Bjb2RlIFBPU0lYIFBhcmFtcy9DaGVjayBQYXJzZS9DUEFOL01ldGEgUGVybC9PU1R5cGUgUGVybElPL2VuY29kaW5nIFBlcmxJTy9tbWFwIFBlcmxJTy9zY2FsYXIgUGVybElPL3ZpYSBQZXJsSU8vdmlhL1F1b3RlZFByaW50IFBvZC9DaGVja2VyIFBvZC9Fc2NhcGVzIFBvZC9GdW5jdGlvbnMgUG9kL0h0bWwgUG9kL1BhcnNlciBQb2QvUGVybGRvYyBQb2QvU2ltcGxlIFBvZC9Vc2FnZSBTREJNX0ZpbGUgU2FmZSBTZWFyY2gvRGljdCBTZWxmTG9hZGVyIFNvY2tldCBTdG9yYWJsZSBTeXMvSG9zdG5hbWUgU3lzL1N5c2xvZyBUZXJtL0FOU0lDb2xvciBUZXJtL0NhcCBUZXJtL0NvbXBsZXRlIFRlcm0vUmVhZExpbmUgVGVzdCBUZXN0L0hhcm5lc3MgVGVzdC9TaW1wbGUgVGV4dC9BYmJyZXYgVGV4dC9CYWxhbmNlZCBUZXh0L1BhcnNlV29yZHMgVGV4dC9UYWJzIFRocmVhZC9RdWV1ZSBUaHJlYWQvU2VtYXBob3JlIFRpZS9GaWxlIFRpZS9IYXNoL05hbWVkQ2FwdHVyZSBUaWUvTWVtb2l6ZSBUaWUvUmVmSGFzaCBUaW1lL0hpUmVzIFRpbWUvTG9jYWwgVGltZS9QaWVjZSBVbmljb2RlL0NvbGxhdGUgVW5pY29kZS9Ob3JtYWxpemUgVk1TL0RDTHN5bSBWTVMvRmlsZXNwZWMgVk1TL1N0ZGlvIFdpbjMyIFdpbjMyQVBJL0ZpbGUgV2luMzJDT1JFIFhTL0FQSXRlc3QgWFMvVHlwZW1hcCBYU0xvYWRlciBhcnliYXNlIGF0dHJpYnV0ZXMgYXV0b2RpZSBhdXRvdXNlIGJhc2UgYmlnbnVtIGNvbnN0YW50IGVuY29kaW5nL3dhcm5pbmdzIGV4cGVyaW1lbnRhbCBpZiBsaWIgbGlibmV0IG1ybyBwYXJlbnQgcGVybGZhcSBwb2RsYXRvcnMgcmUgdGhyZWFkcyB0aHJlYWRzL3NoYXJlZCB2ZXJzaW9uICcKLWtzaD0nJwotbGQ9J2djYycKLWxkX2Nhbl9zY3JpcHQ9J2RlZmluZScKLWxkZGxmbGFncz0nLXNoYXJlZCAtTzInCi1sZGZsYWdzPScnCi1sZGZsYWdzX3VzZWxhcmdlZmlsZXM9JycKLWxkbGlicHRobmFtZT0nTERfTElCUkFSWV9QQVRIJwotbGVzcz0nbGVzcycKLWxpYl9leHQ9Jy5hJwotbGliYz0nbGliYy0yLjIxLnNvJwotbGlicGVybD0nbGlicGVybC5zbycKLWxpYnB0aD0nQExJQkRJUkAgQEJBU0VMSUJESVJAJwotbGlicz0nLWxwdGhyZWFkIC1sbnNsIC1sZ2RibSAtbGRiIC1sZGwgLWxtIC1sY3J5cHQgLWx1dGlsIC1sYyAtbGdkYm1fY29tcGF0JwotbGlic2RpcnM9JyBATElCRElSQCcKLWxpYnNmaWxlcz0nIGxpYnB0aHJlYWQuc28gbGlibnNsLnNvIGxpYmdkYm0uc28gbGliZGIuc28gbGliZGwuc28gbGlibS5zbyBsaWJjcnlwdC5zbyBsaWJ1dGlsLnNvIGxpYmMuc28gbGliZ2RibV9jb21wYXQuc28nCi1saWJzZm91bmQ9JyBATElCRElSQC9saWJwdGhyZWFkLnNvIEBMSUJESVJAL2xpYm5zbC5zbyBATElCRElSQC9saWJnZGJtLnNvIEBMSUJESVJAL2xpYmRiLnNvIEBMSUJESVJAL2xpYmRsLnNvIEBMSUJESVJAL2xpYm0uc28gQExJQkRJUkAvbGliY3J5cHQuc28gQExJQkRJUkAvbGlidXRpbC5zbyBATElCRElSQC9saWJjLnNvIEBMSUJESVJAL2xpYmdkYm1fY29tcGF0LnNvJwotbGlic3BhdGg9JyBATElCRElSQCBAQkFTRUxJQkRJUkAnCi1saWJzd2FudGVkPSdjbCBwdGhyZWFkIHNvY2tldCBpbmV0IG5zbCBubSBnZGJtIGRibSBkYiBtYWxsb2MgZGwgbGQgc3VuIG0gY3J5cHQgc2VjIHV0aWwgYyBjcG9zaXggcG9zaXggdWNiIEJTRCBnZGJtX2NvbXBhdCcKLWxpYnN3YW50ZWRfdXNlbGFyZ2VmaWxlcz0nJwotbGluZT0nJwotbGludD0nJwotbGtmbGFncz0nJwotbG49J2xuJwotbG5zPScvYmluL2xuIC1zJwotbG9jYWx0aW1lX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19TX1RTJwotbG9jaW5jcHRoPSdARVhFQ1BSRUZJWEAvbG9jYWwvaW5jbHVkZSAvb3B0L2xvY2FsL2luY2x1ZGUgQEVYRUNQUkVGSVhAL2dudS9pbmNsdWRlIC9vcHQvZ251L2luY2x1ZGUgQEVYRUNQUkVGSVhAL0dOVS9pbmNsdWRlIC9vcHQvR05VL2luY2x1ZGUnCi1sb2NsaWJwdGg9J0BFWEVDUFJFRklYQC9sb2NhbEBCQVNFTElCRElSQCAvb3B0L2xvY2FsQEJBU0VMSUJESVJAIEBFWEVDUFJFRklYQC9nbnVAQkFTRUxJQkRJUkAgL29wdC9nbnVAQkFTRUxJQkRJUkAgQEVYRUNQUkVGSVhAL0dOVUBCQVNFTElCRElSQCAvb3B0L0dOVUBCQVNFTElCRElSQCcKLWxvbmdkYmxpbmZieXRlcz0nMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg4MCwgMHhmZiwgMHg3ZiwgMHgwMCwgMHgwMCcKLWxvbmdkYmxraW5kPSczJwotbG9uZ2RibG1hbnRiaXRzPSc2NCcKLWxvbmdkYmxuYW5ieXRlcz0nMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhjMCwgMHhmZiwgMHhmZiwgMHgzMiwgMHhmNycKLWxvbmdkYmxzaXplPScxNicKLWxvbmdsb25nc2l6ZT0nOCcKLWxvbmdzaXplPSc4JwotbHA9JycKLWxwcj0nJwotbHM9J2xzJwotbHNlZWtzaXplPSc4JwotbHNlZWt0eXBlPSdvZmZfdCcKLW1haWw9JycKLW1haWx4PScnCi1tYWtlPSdtYWtlJwotbWFrZV9zZXRfbWFrZT0nIycKLW1hbGxvY29iaj0nJwotbWFsbG9jc3JjPScnCi1tYWxsb2N0eXBlPSd2b2lkIConCi1tYW4xZGlyPScgJwotbWFuMWRpcmV4cD0nJwotbWFuMWV4dD0nMCcKLW1hbjNkaXI9JyAnCi1tYW4zZGlyZXhwPScnCi1tYW4zZXh0PScwJwotbWlwc190eXBlPScnCi1taXN0cnVzdG5tPScnCi1ta2Rpcj0nbWtkaXInCi1tbWFwdHlwZT0ndm9pZCAqJwotbW9kZXR5cGU9J21vZGVfdCcKLW1vcmU9J21vcmUnCi1tdWx0aWFyY2g9J3VuZGVmJwotbXY9JycKLW15YXJjaG5hbWU9J0BBUkNIQCcKLW15ZG9tYWluPScubG9jYWxkb21haW4nCi1teWhvc3RuYW1lPSdsb2NhbGhvc3QnCi1teXVuYW1lPSdsaW51eCBxZW11eDg2LTY0IDMuMTkuNS15b2N0by1zdGFuZGFyZCAjMSBzbXAgcHJlZW1wdCB0dWUganVuIDE2IDAwOjI4OjE3IHBkdCAyMDE1IHg4Nl82NCBnbnVsaW51eCAnCi1uPSctbicKLW5lZWRfdmFfY29weT0nZGVmaW5lJwotbmV0ZGJfaGxlbl90eXBlPSdzaXplX3QnCi1uZXRkYl9ob3N0X3R5cGU9J2NoYXIgKicKLW5ldGRiX25hbWVfdHlwZT0nY29uc3QgY2hhciAqJwotbmV0ZGJfbmV0X3R5cGU9J2luX2FkZHJfdCcKLW5tPSdubScKLW5tX29wdD0nJwotbm1fc29fb3B0PSctLWR5bmFtaWMnCi1ub254c19leHQ9J0FyY2hpdmUvVGFyIEF0dHJpYnV0ZS9IYW5kbGVycyBBdXRvTG9hZGVyIEIvRGVidWcgQ1BBTiBDUEFOL01ldGEgQ1BBTi9NZXRhL1JlcXVpcmVtZW50cyBDUEFOL01ldGEvWUFNTCBDYXJwIENvbmZpZy9QZXJsL1YgRGV2ZWwvU2VsZlN0dWJiZXIgRGlnZXN0IER1bXB2YWx1ZSBFbnYgRXJybm8gRXhwb3J0ZXIgRXh0VXRpbHMvQ0J1aWxkZXIgRXh0VXRpbHMvQ29tbWFuZCBFeHRVdGlscy9Db25zdGFudCBFeHRVdGlscy9JbnN0YWxsIEV4dFV0aWxzL01ha2VNYWtlciBFeHRVdGlscy9NYW5pZmVzdCBFeHRVdGlscy9NaW5pcGVybCBFeHRVdGlscy9QYXJzZVhTIEZpbGUvRmV0Y2ggRmlsZS9GaW5kIEZpbGUvUGF0aCBGaWxlL1RlbXAgRmlsZUNhY2hlIEZpbHRlci9TaW1wbGUgR2V0b3B0L0xvbmcgSFRUUC9UaW55IEkxOE4vQ29sbGF0ZSBJMThOL0xhbmdUYWdzIElPL0NvbXByZXNzIElPL1NvY2tldC9JUCBJTy9abGliIElQQy9DbWQgSVBDL09wZW4zIEpTT04vUFAgTG9jYWxlL0NvZGVzIExvY2FsZS9NYWtldGV4dCBMb2NhbGUvTWFrZXRleHQvU2ltcGxlIE1hdGgvQmlnSW50IE1hdGgvQmlnUmF0IE1hdGgvQ29tcGxleCBNZW1vaXplIE1vZHVsZS9Db3JlTGlzdCBNb2R1bGUvTG9hZCBNb2R1bGUvTG9hZC9Db25kaXRpb25hbCBNb2R1bGUvTG9hZGVkIE1vZHVsZS9NZXRhZGF0YSBORVhUIE5ldC9QaW5nIFBhcmFtcy9DaGVjayBQYXJzZS9DUEFOL01ldGEgUGVybC9PU1R5cGUgUGVybElPL3ZpYS9RdW90ZWRQcmludCBQb2QvQ2hlY2tlciBQb2QvRXNjYXBlcyBQb2QvRnVuY3Rpb25zIFBvZC9IdG1sIFBvZC9QYXJzZXIgUG9kL1Blcmxkb2MgUG9kL1NpbXBsZSBQb2QvVXNhZ2UgU2FmZSBTZWFyY2gvRGljdCBTZWxmTG9hZGVyIFRlcm0vQU5TSUNvbG9yIFRlcm0vQ2FwIFRlcm0vQ29tcGxldGUgVGVybS9SZWFkTGluZSBUZXN0IFRlc3QvSGFybmVzcyBUZXN0L1NpbXBsZSBUZXh0L0FiYnJldiBUZXh0L0JhbGFuY2VkIFRleHQvUGFyc2VXb3JkcyBUZXh0L1RhYnMgVGhyZWFkL1F1ZXVlIFRocmVhZC9TZW1hcGhvcmUgVGllL0ZpbGUgVGllL01lbW9pemUgVGllL1JlZkhhc2ggVGltZS9Mb2NhbCBVbmljb2RlL05vcm1hbGl6ZSBYU0xvYWRlciBhdXRvZGllIGF1dG91c2UgYmFzZSBiaWdudW0gY29uc3RhbnQgZW5jb2Rpbmcvd2FybmluZ3MgZXhwZXJpbWVudGFsIGlmIGxpYiBsaWJuZXQgcGFyZW50IHBlcmxmYXEgcG9kbGF0b3JzIHZlcnNpb24nCi1ucm9mZj0nbnJvZmYnCi1udkVVZm9ybWF0PSciRSInCi1udkZVZm9ybWF0PSciRiInCi1udkdVZm9ybWF0PSciRyInCi1udl9vdmVyZmxvd3NfaW50ZWdlcnNfYXQ9JzI1Ni4wKjI1Ni4wKjI1Ni4wKjI1Ni4wKjI1Ni4wKjI1Ni4wKjIuMCoyLjAqMi4wKjIuMCoyLjAnCi1udl9wcmVzZXJ2ZXNfdXZfYml0cz0nNTMnCi1udmVmb3JtYXQ9JyJlIicKLW52ZmZvcm1hdD0nImYiJwotbnZnZm9ybWF0PSciZyInCi1udm1hbnRiaXRzPSc1MicKLW52c2l6ZT0nOCcKLW52dHlwZT0nZG91YmxlJwotb19ub25ibG9jaz0nT19OT05CTE9DSycKLW9ial9leHQ9Jy5vJwotb2xkX3B0aHJlYWRfY3JlYXRlX2pvaW5hYmxlPScnCi1vcHRpbWl6ZT0nLU8yJwotb3JkZXJsaWI9J2ZhbHNlJwotb3NuYW1lPSdsaW51eCcKLW9zdmVycz0nMy4xOS41LXlvY3RvLXN0YW5kYXJkJwotb3RoZXJsaWJkaXJzPSdATElCRElSQC9wZXJsLzUuMjQuNCcKLXBhY2thZ2U9J3BlcmwnCi1wYWdlcj0nL3Vzci9iaW4vbGVzcyAtaXNyJwotcGFzc2NhdD0nY2F0IC9ldGMvcGFzc3dkJwotcGF0Y2hsZXZlbD0nMjQnCi1wYXRoX3NlcD0nOicKLXBlcmw1PSdAVVNSQklOQC9wZXJsJwotcGVybD0ncGVybCcKLXBlcmxfcGF0Y2hsZXZlbD0nJwotcGVybF9zdGF0aWNfaW5saW5lPSdzdGF0aWMgX19pbmxpbmVfXycKLXBlcmxhZG1pbj0ncm9vdEBsb2NhbGhvc3QnCi1wZXJsbGlicz0nLWxwdGhyZWFkIC1sbnNsIC1sZGwgLWxtIC1sY3J5cHQgLWx1dGlsIC1sYycKLXBlcmxwYXRoPSdAVVNSQklOQC9wZXJsJwotcGc9J3BnJwotcGhvc3RuYW1lPScnCi1waWR0eXBlPSdwaWRfdCcKLXBsaWJwdGg9J0BMSUJESVJAIEBCQVNFTElCRElSQCcKLXBtYWtlPScnCi1wcj0nJwotcHJlZml4PSdARVhFQ1BSRUZJWEAnCi1wcmVmaXhleHA9J0BFWEVDUFJFRklYQCcKLXByaXZsaWI9J0BMSUJESVJAL3BlcmwvNS4yNC40JwotcHJpdmxpYmV4cD0nQExJQkRJUkAvcGVybC81LjI0LjQnCi1wcm9jc2VsZmV4ZT0nIi9wcm9jL3NlbGYvZXhlIicKLXByb3RvdHlwZT0nZGVmaW5lJwotcHRyc2l6ZT0nOCcKLXF1YWRraW5kPScyJwotcXVhZHR5cGU9J2xvbmcnCi1yYW5kYml0cz0nNDgnCi1yYW5kZnVuYz0nUGVybF9kcmFuZDQ4JwotcmFuZG9tX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX1N0JwotcmFuZHNlZWR0eXBlPSdVMzInCi1yYW5saWI9JzonCi1yZF9ub2RhdGE9Jy0xJwotcmVhZGRpcjY0X3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX1RTUicKLXJlYWRkaXJfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfVFNSJwotcmV2aXNpb249JzUnCi1ybT0ncm0nCi1ybV90cnk9Jy9iaW4vcm0gLWYgdHJ5IHRyeSBhLm91dCAub3V0IHRyeS5bY2hvXSB0cnkuLm8gY29yZSBjb3JlLnRyeSogdHJ5LmNvcmUqJwotcm1haWw9JycKLXJ1bj0nJwotcnVubm09J2ZhbHNlJwotc0dNVElNRV9tYXg9JzY3NzY4MDM2MTkxNjc2Nzk5Jwotc0dNVElNRV9taW49Jy02MjE2NzIxOTIwMCcKLXNMT0NBTFRJTUVfbWF4PSc2Nzc2ODAzNjE5MTY3Njc5OScKLXNMT0NBTFRJTUVfbWluPSctNjIxNjcyMTkyMDAnCi1zUFJJRVVsZGJsPSciTEUiJwotc1BSSUZVbGRibD0nIkxGIicKLXNQUklHVWxkYmw9JyJMRyInCi1zUFJJWFU2ND0nImxYIicKLXNQUklkNjQ9JyJsZCInCi1zUFJJZWxkYmw9JyJMZSInCi1zUFJJZmxkYmw9JyJMZiInCi1zUFJJZ2xkYmw9JyJMZyInCi1zUFJJaTY0PScibGkiJwotc1BSSW82ND0nImxvIicKLXNQUkl1NjQ9JyJsdSInCi1zUFJJeDY0PScibHgiJwotc1NDTmZsZGJsPSciTGYiJwotc2NoZWRfeWllbGQ9J3NjaGVkX3lpZWxkKCknCi1zY3JpcHRkaXI9J0BVU1JCSU5AJwotc2NyaXB0ZGlyZXhwPSdAVVNSQklOQCcKLXNlZD0nc2VkJwotc2VlZGZ1bmM9J1BlcmxfZHJhbmQ0OF9pbml0Jwotc2VsZWN0bWluYml0cz0nNjQnCi1zZWxlY3R0eXBlPSdmZF9zZXQgKicKLXNlbmRtYWlsPScnCi1zZXRncmVudF9yX3Byb3RvPScwJwotc2V0aG9zdGVudF9yX3Byb3RvPScwJwotc2V0bG9jYWxlX3JfcHJvdG89JzAnCi1zZXRuZXRlbnRfcl9wcm90bz0nMCcKLXNldHByb3RvZW50X3JfcHJvdG89JzAnCi1zZXRwd2VudF9yX3Byb3RvPScwJwotc2V0c2VydmVudF9yX3Byb3RvPScwJwotc2g9Jy9iaW4vc2gnCi1zaGFyPScnCi1zaGFycGJhbmc9JyMhJwotc2htYXR0eXBlPSd2b2lkIConCi1zaG9ydHNpemU9JzInCi1zaHJwZW52PScnCi1zaHNoYXJwPSd0cnVlJwotc2lnX2NvdW50PSc2NScKLXNpZ19uYW1lPSdaRVJPIEhVUCBJTlQgUVVJVCBJTEwgVFJBUCBBQlJUIEJVUyBGUEUgS0lMTCBVU1IxIFNFR1YgVVNSMiBQSVBFIEFMUk0gVEVSTSBTVEtGTFQgQ0hMRCBDT05UIFNUT1AgVFNUUCBUVElOIFRUT1UgVVJHIFhDUFUgWEZTWiBWVEFMUk0gUFJPRiBXSU5DSCBJTyBQV1IgU1lTIE5VTTMyIE5VTTMzIFJUTUlOIE5VTTM1IE5VTTM2IE5VTTM3IE5VTTM4IE5VTTM5IE5VTTQwIE5VTTQxIE5VTTQyIE5VTTQzIE5VTTQ0IE5VTTQ1IE5VTTQ2IE5VTTQ3IE5VTTQ4IE5VTTQ5IE5VTTUwIE5VTTUxIE5VTTUyIE5VTTUzIE5VTTU0IE5VTTU1IE5VTTU2IE5VTTU3IE5VTTU4IE5VTTU5IE5VTTYwIE5VTTYxIE5VTTYyIE5VTTYzIFJUTUFYIElPVCBDTEQgUE9MTCBVTlVTRUQgJwotc2lnX25hbWVfaW5pdD0nIlpFUk8iLCAiSFVQIiwgIklOVCIsICJRVUlUIiwgIklMTCIsICJUUkFQIiwgIkFCUlQiLCAiQlVTIiwgIkZQRSIsICJLSUxMIiwgIlVTUjEiLCAiU0VHViIsICJVU1IyIiwgIlBJUEUiLCAiQUxSTSIsICJURVJNIiwgIlNUS0ZMVCIsICJDSExEIiwgIkNPTlQiLCAiU1RPUCIsICJUU1RQIiwgIlRUSU4iLCAiVFRPVSIsICJVUkciLCAiWENQVSIsICJYRlNaIiwgIlZUQUxSTSIsICJQUk9GIiwgIldJTkNIIiwgIklPIiwgIlBXUiIsICJTWVMiLCAiTlVNMzIiLCAiTlVNMzMiLCAiUlRNSU4iLCAiTlVNMzUiLCAiTlVNMzYiLCAiTlVNMzciLCAiTlVNMzgiLCAiTlVNMzkiLCAiTlVNNDAiLCAiTlVNNDEiLCAiTlVNNDIiLCAiTlVNNDMiLCAiTlVNNDQiLCAiTlVNNDUiLCAiTlVNNDYiLCAiTlVNNDciLCAiTlVNNDgiLCAiTlVNNDkiLCAiTlVNNTAiLCAiTlVNNTEiLCAiTlVNNTIiLCAiTlVNNTMiLCAiTlVNNTQiLCAiTlVNNTUiLCAiTlVNNTYiLCAiTlVNNTciLCAiTlVNNTgiLCAiTlVNNTkiLCAiTlVNNjAiLCAiTlVNNjEiLCAiTlVNNjIiLCAiTlVNNjMiLCAiUlRNQVgiLCAiSU9UIiwgIkNMRCIsICJQT0xMIiwgIlVOVVNFRCIsIDAnCi1zaWdfbnVtPScwIDEgMiAzIDQgNSA2IDcgOCA5IDEwIDExIDEyIDEzIDE0IDE1IDE2IDE3IDE4IDE5IDIwIDIxIDIyIDIzIDI0IDI1IDI2IDI3IDI4IDI5IDMwIDMxIDMyIDMzIDM0IDM1IDM2IDM3IDM4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDQ5IDUwIDUxIDUyIDUzIDU0IDU1IDU2IDU3IDU4IDU5IDYwIDYxIDYyIDYzIDY0IDYgMTcgMjkgMzEgJwotc2lnX251bV9pbml0PScwLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjksIDMwLCAzMSwgMzIsIDMzLCAzNCwgMzUsIDM2LCAzNywgMzgsIDM5LCA0MCwgNDEsIDQyLCA0MywgNDQsIDQ1LCA0NiwgNDcsIDQ4LCA0OSwgNTAsIDUxLCA1MiwgNTMsIDU0LCA1NSwgNTYsIDU3LCA1OCwgNTksIDYwLCA2MSwgNjIsIDYzLCA2NCwgNiwgMTcsIDI5LCAzMSwgMCcKLXNpZ19zaXplPSc2OScKLXNpZ25hbF90PSd2b2lkJwotc2l0ZWFyY2g9J0BMSUJESVJAL3Blcmwvc2l0ZV9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpJwotc2l0ZWFyY2hleHA9J0BMSUJESVJAL3Blcmwvc2l0ZV9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpJwotc2l0ZWJpbj0nQFVTUkJJTkAnCi1zaXRlYmluZXhwPSdAVVNSQklOQCcKLXNpdGVodG1sMWRpcj0nJwotc2l0ZWh0bWwxZGlyZXhwPScnCi1zaXRlaHRtbDNkaXI9JycKLXNpdGVodG1sM2RpcmV4cD0nJwotc2l0ZWxpYj0nQExJQkRJUkAvcGVybC9zaXRlX3BlcmwvNS4yNC40Jwotc2l0ZWxpYl9zdGVtPSdATElCRElSQC9wZXJsL3NpdGVfcGVybCcKLXNpdGVsaWJleHA9J0BMSUJESVJAL3Blcmwvc2l0ZV9wZXJsLzUuMjQuNCcKLXNpdGVtYW4xZGlyPScnCi1zaXRlbWFuMWRpcmV4cD0nJwotc2l0ZW1hbjNkaXI9JycKLXNpdGVtYW4zZGlyZXhwPScnCi1zaXRlcHJlZml4PSdARVhFQ1BSRUZJWEAnCi1zaXRlcHJlZml4ZXhwPSdARVhFQ1BSRUZJWEAnCi1zaXRlc2NyaXB0PSdAVVNSQklOQCcKLXNpdGVzY3JpcHRleHA9J0BVU1JCSU5AJwotc2l6ZXNpemU9JzgnCi1zaXpldHlwZT0nc2l6ZV90Jwotc2xlZXA9JycKLXNtYWlsPScnCi1zbz0nc28nCi1zb2NrZXRoZHI9JycKLXNvY2tldGxpYj0nJwotc29ja3NpemV0eXBlPSdzb2NrbGVuX3QnCi1zb3J0PSdzb3J0Jwotc3BhY2thZ2U9J1Blcmw1Jwotc3BpdHNoZWxsPSdjYXQnCi1zcmFuZDQ4X3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX0xTJwotc3JhbmRvbV9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9UUycKLXNyYz0nLicKLXNzaXpldHlwZT0nc3NpemVfdCcKLXN0X2lub19zaWduPScxJwotc3RfaW5vX3NpemU9JzgnCi1zdGFydHBlcmw9JyMhQFVTUkJJTkAvcGVybCcKLXN0YXJ0c2g9JyMhL2Jpbi9zaCcKLXN0YXRpY19leHQ9JyAnCi1zdGRjaGFyPSdjaGFyJwotc3RkaW9fYmFzZT0nKChmcCktPl9JT19yZWFkX2Jhc2UpJwotc3RkaW9fYnVmc2l6PScoKGZwKS0+X0lPX3JlYWRfZW5kIC0gKGZwKS0+X0lPX3JlYWRfYmFzZSknCi1zdGRpb19jbnQ9JygoZnApLT5fSU9fcmVhZF9lbmQgLSAoZnApLT5fSU9fcmVhZF9wdHIpJwotc3RkaW9fZmlsYnVmPScnCi1zdGRpb19wdHI9JygoZnApLT5fSU9fcmVhZF9wdHIpJwotc3RkaW9fc3RyZWFtX2FycmF5PScnCi1zdHJlcnJvcl9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fQl9JQlcnCi1zdHJpbmdzPSdASU5DTFVERURJUkAvc3RyaW5nLmgnCi1zdWJtaXQ9JycKLXN1YnZlcnNpb249JzQnCi1zeXNtYW49J0BFWEVDUFJFRklYQC9zaGFyZS9tYW4vbWFuMScKLXN5c3Jvb3Q9JycKLXRhaWw9JycKLXRhcj0nJwotdGFyZ2V0YXJjaD0nJwotdGFyZ2V0ZGlyPScnCi10YXJnZXRlbnY9JycKLXRhcmdldGhvc3Q9JycKLXRhcmdldG1rZGlyPScnCi10YXJnZXRwb3J0PScnCi10YXJnZXRzaD0nL2Jpbi9zaCcKLXRibD0nJwotdGVlPScnCi10ZXN0PSd0ZXN0JwotdGltZWluY2w9J0BJTkNMVURFRElSQC9zeXMvdGltZS5oIEBJTkNMVURFRElSQC90aW1lLmggJwotdGltZXR5cGU9J3RpbWVfdCcKLXRtcG5hbV9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fQl9CJwotdG89JzonCi10b3VjaD0ndG91Y2gnCi10cj0ndHInCi10cm5sPSdcbicKLXRyb2ZmPScnCi10dHluYW1lX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX0lCVycKLXUxNnNpemU9JzInCi11MTZ0eXBlPSd1bnNpZ25lZCBzaG9ydCcKLXUzMnNpemU9JzQnCi11MzJ0eXBlPSd1bnNpZ25lZCBpbnQnCi11NjRzaXplPSc4JwotdTY0dHlwZT0ndW5zaWduZWQgbG9uZycKLXU4c2l6ZT0nMScKLXU4dHlwZT0ndW5zaWduZWQgY2hhcicKLXVpZGZvcm1hdD0nInUiJwotdWlkc2lnbj0nMScKLXVpZHNpemU9JzQnCi11aWR0eXBlPSd1aWRfdCcKLXVuYW1lPSd1bmFtZScKLXVuaXE9J3VuaXEnCi11cXVhZHR5cGU9J3Vuc2lnbmVkIGxvbmcnCi11c2U1MDA1dGhyZWFkcz0ndW5kZWYnCi11c2U2NGJpdGFsbD0ndW5kZWYnCi11c2U2NGJpdGludD0ndW5kZWYnCi11c2VjYmFja3RyYWNlPSd1bmRlZicKLXVzZWNyb3NzY29tcGlsZT0nZGVmaW5lJwotdXNlZGV2ZWw9J3VuZGVmJwotdXNlZGw9J2RlZmluZScKLXVzZWR0cmFjZT0ndW5kZWYnCi11c2VmYXN0c3RkaW89J3VuZGVmJwotdXNlaXRocmVhZHM9J2RlZmluZScKLXVzZWtlcm5wcm9jcGF0aG5hbWU9J3VuZGVmJwotdXNlbGFyZ2VmaWxlcz0nZGVmaW5lJwotdXNlbG9uZ2RvdWJsZT0ndW5kZWYnCi11c2VtYWxsb2N3cmFwPSdkZWZpbmUnCi11c2Vtb3JlYml0cz0ndW5kZWYnCi11c2VtdWx0aXBsaWNpdHk9J2RlZmluZScKLXVzZW15bWFsbG9jPSduJwotdXNlbm09J2ZhbHNlJwotdXNlbnNnZXRleGVjdXRhYmxlcGF0aD0ndW5kZWYnCi11c2VvcGNvZGU9J3RydWUnCi11c2VwZXJsaW89J2RlZmluZScKLXVzZXBvc2l4PSd0cnVlJwotdXNlcXVhZG1hdGg9J3VuZGVmJwotdXNlcmVlbnRyYW50PSd1bmRlZicKLXVzZXJlbG9jYXRhYmxlaW5jPSd1bmRlZicKLXVzZXNocnBsaWI9J3RydWUnCi11c2VzaXRlY3VzdG9taXplPSd1bmRlZicKLXVzZXNvY2tzPSd1bmRlZicKLXVzZXRocmVhZHM9J2RlZmluZScKLXVzZXZlbmRvcnByZWZpeD0nZGVmaW5lJwotdXNldmVyc2lvbmVkYXJjaG5hbWU9J3VuZGVmJwotdXNldmZvcms9J2ZhbHNlJwotdXNyaW5jPSdASU5DTFVERURJUkAnCi11dW5hbWU9JycKLXV2WFVmb3JtYXQ9JyJsWCInCi11dm9mb3JtYXQ9JyJsbyInCi11dnNpemU9JzgnCi11dnR5cGU9J3Vuc2lnbmVkIGxvbmcnCi11dnVmb3JtYXQ9JyJsdSInCi11dnhmb3JtYXQ9JyJseCInCi12YXByb3RvPSdkZWZpbmUnCi12ZW5kb3JhcmNoPSdATElCRElSQC9wZXJsL3ZlbmRvcl9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpJwotdmVuZG9yYXJjaGV4cD0nQExJQkRJUkAvcGVybC92ZW5kb3JfcGVybC81LjI0LjQvQEFSQ0hALXRocmVhZC1tdWx0aScKLXZlbmRvcmJpbj0nQFVTUkJJTkAnCi12ZW5kb3JiaW5leHA9J0BVU1JCSU5AJwotdmVuZG9yaHRtbDFkaXI9JyAnCi12ZW5kb3JodG1sMWRpcmV4cD0nJwotdmVuZG9yaHRtbDNkaXI9JyAnCi12ZW5kb3JodG1sM2RpcmV4cD0nJwotdmVuZG9ybGliPSdATElCRElSQC9wZXJsL3ZlbmRvcl9wZXJsLzUuMjQuNCcKLXZlbmRvcmxpYl9zdGVtPSdATElCRElSQC9wZXJsL3ZlbmRvcl9wZXJsJwotdmVuZG9ybGliZXhwPSdATElCRElSQC9wZXJsL3ZlbmRvcl9wZXJsLzUuMjQuNCcKLXZlbmRvcm1hbjFkaXI9JyAnCi12ZW5kb3JtYW4xZGlyZXhwPScnCi12ZW5kb3JtYW4zZGlyPScgJwotdmVuZG9ybWFuM2RpcmV4cD0nJwotdmVuZG9ycHJlZml4PSdARVhFQ1BSRUZJWEAnCi12ZW5kb3JwcmVmaXhleHA9J0BFWEVDUFJFRklYQCcKLXZlbmRvcnNjcmlwdD0nQFVTUkJJTkAnCi12ZW5kb3JzY3JpcHRleHA9J0BVU1JCSU5AJwotdmVyc2lvbj0nNS4yNC40JwotdmVyc2lvbl9wYXRjaGxldmVsX3N0cmluZz0ndmVyc2lvbiAyNCBzdWJ2ZXJzaW9uIDQnCi12ZXJzaW9ub25seT0ndW5kZWYnCi12aT0nJwoteGxpYnB0aD0nQExJQkRJUkAvMzg2IEBCQVNFTElCRElSQDM4NicKLXlhY2M9J3lhY2MnCi15YWNjZmxhZ3M9JycKLXpjYXQ9JycKLXppcD0nemlwJwotUEVSTF9SRVZJU0lPTj01Ci1QRVJMX1ZFUlNJT049MjQKLVBFUkxfU1VCVkVSU0lPTj00Ci1QRVJMX0FQSV9SRVZJU0lPTj01Ci1QRVJMX0FQSV9WRVJTSU9OPTI0Ci1QRVJMX0FQSV9TVUJWRVJTSU9OPTQKLVBFUkxfUEFUQ0hMRVZFTD0nJwotUEVSTF9DT05GSUdfU0g9dHJ1ZQotOiBWYXJpYWJsZXMgcHJvcGFnYXRlZCBmcm9tIHByZXZpb3VzIGNvbmZpZy5zaCBmaWxlLgotbGliZGJfbmVlZHNfcHRocmVhZD0nTicKLQotIyBmb3IgVGltZS1IaVJlcwotZF9jbG9ja19uYW5vc2xlZXA9J2RlZmluZScKLWRfY2xvY2tfZ2V0dGltZT0nZGVmaW5lJwotZF9jbG9ja19nZXRyZXM9J2RlZmluZScKLWRfY2xvY2s9J2RlZmluZScKLWRfbmFub3NsZWVwPSdkZWZpbmUnCi0KLSMgZm9yIFNpZ25pbmZvCi1kX3NpZ2luZm9fc2lfZXJybm89J2RlZmluZScKLWRfc2lnaW5mb19zaV9waWQ9J2RlZmluZScKLWRfc2lnaW5mb19zaV91aWQ9J2RlZmluZScKLWRfc2lnaW5mb19zaV9hZGRyPSdkZWZpbmUnCi1kX3NpZ2luZm9fc2lfc3RhdHVzPSdkZWZpbmUnCi1kX3NpZ2luZm9fc2lfYmFuZD0nZGVmaW5lJwotZF9zaWdpbmZvX3NpX3ZhbHVlPSdkZWZpbmUnCi0KLSMgZG9uJ3Qgc3VwcG9ydCBmZGNsb3NlCi1kX2ZkY2xvc2U9J3VuZGVmJwotCi0jIHN1cHBvcnQgbWVtbWVtCi1kX21lbW1lbT0nZGVmaW5lJwotCi0jIGZvciBsb2NhbGUKLWRfbmV3bG9jYWxlPSdkZWZpbmUnCi1kX2ZyZWVsb2NhbGU9J2RlZmluZScKLWRfdXNlbG9jYWxlPSdkZWZpbmUnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTMyIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC0zMgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzI1OWEwYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTMyCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotYWxpZ25ieXRlcz0nNCcKLWNmX3RpbWU9J1RodSBEZWMgMjMgMDM6NTc6NTEgVVRDIDIwMTAnCi1jcHBzeW1ib2xzPSdfRklMRV9PRkZTRVRfQklUUz02NCBfR05VX1NPVVJDRT0xIF9MQVJHRUZJTEU2NF9TT1VSQ0U9MSBfTEFSR0VGSUxFX1NPVVJDRT0xIF9QT1NJWF9DX1NPVVJDRT0yMDA4MDlMIF9QT1NJWF9TT1VSQ0U9MSBfUkVFTlRSQU5UPTEgX1hPUEVOX1NPVVJDRT03MDAgX1hPUEVOX1NPVVJDRV9FWFRFTkRFRD0xIF9fQklHR0VTVF9BTElHTk1FTlRfXz0xNiBfX0NIQVIxNl9UWVBFX189c2hvcnRcIHVuc2lnbmVkXCBpbnQgX19DSEFSMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19DSEFSX0JJVF9fPTggX19EQkxfREVOT1JNX01JTl9fPSgoZG91YmxlKTQuOTQwNjU2NDU4NDEyNDY1NDQxNzdlLTMyNEwpIF9fREJMX0RJR19fPTE1IF9fREJMX0VQU0lMT05fXz0oKGRvdWJsZSkyLjIyMDQ0NjA0OTI1MDMxMzA4MDg1ZS0xNkwpIF9fREJMX0hBU19ERU5PUk1fXz0xIF9fREJMX0hBU19JTkZJTklUWV9fPTEgX19EQkxfSEFTX1FVSUVUX05BTl9fPTEgX19EQkxfTUFOVF9ESUdfXz01MyBfX0RCTF9NQVhfMTBfRVhQX189MzA4IF9fREJMX01BWF9FWFBfXz0xMDI0IF9fREJMX01BWF9fPSgoZG91YmxlKTEuNzk3NjkzMTM0ODYyMzE1NzA4MTVlKzMwOEwpIF9fREJMX01JTl8xMF9FWFBfXz0oLTMwNykgX19EQkxfTUlOX0VYUF9fPSgtMTAyMSkgX19EQkxfTUlOX189KChkb3VibGUpMi4yMjUwNzM4NTg1MDcyMDEzODMwOWUtMzA4TCkgX19ERUMxMjhfRVBTSUxPTl9fPTFFLTMzREwgX19ERUMxMjhfTUFOVF9ESUdfXz0zNCBfX0RFQzEyOF9NQVhfRVhQX189NjE0NSBfX0RFQzEyOF9NQVhfXz05Ljk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OUU2MTQ0REwgX19ERUMxMjhfTUlOX0VYUF9fPSgtNjE0MikgX19ERUMxMjhfTUlOX189MUUtNjE0M0RMIF9fREVDMTI4X1NVQk5PUk1BTF9NSU5fXz0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUtNjE0M0RMIF9fREVDMzJfRVBTSUxPTl9fPTFFLTZERiBfX0RFQzMyX01BTlRfRElHX189NyBfX0RFQzMyX01BWF9FWFBfXz05NyBfX0RFQzMyX01BWF9fPTkuOTk5OTk5RTk2REYgX19ERUMzMl9NSU5fRVhQX189KC05NCkgX19ERUMzMl9NSU5fXz0xRS05NURGIF9fREVDMzJfU1VCTk9STUFMX01JTl9fPTAuMDAwMDAxRS05NURGIF9fREVDNjRfRVBTSUxPTl9fPTFFLTE1REQgX19ERUM2NF9NQU5UX0RJR19fPTE2IF9fREVDNjRfTUFYX0VYUF9fPTM4NSBfX0RFQzY0X01BWF9fPTkuOTk5OTk5OTk5OTk5OTk5RTM4NEREIF9fREVDNjRfTUlOX0VYUF9fPSgtMzgyKSBfX0RFQzY0X01JTl9fPTFFLTM4M0REIF9fREVDNjRfU1VCTk9STUFMX01JTl9fPTAuMDAwMDAwMDAwMDAwMDAxRS0zODNERCBfX0RFQ0lNQUxfQklEX0ZPUk1BVF9fPTEgX19ERUNJTUFMX0RJR19fPTIxIF9fREVDX0VWQUxfTUVUSE9EX189MiBfX0VMRl9fPTEgX19GSU5JVEVfTUFUSF9PTkxZX189MCBfX0ZMVF9ERU5PUk1fTUlOX189MS40MDEyOTg0NjQzMjQ4MTcwNzA5MmUtNDVGIF9fRkxUX0RJR19fPTYgX19GTFRfRVBTSUxPTl9fPTEuMTkyMDkyODk1NTA3ODEyNTAwMDBlLTdGIF9fRkxUX0VWQUxfTUVUSE9EX189MiBfX0ZMVF9IQVNfREVOT1JNX189MSBfX0ZMVF9IQVNfSU5GSU5JVFlfXz0xIF9fRkxUX0hBU19RVUlFVF9OQU5fXz0xIF9fRkxUX01BTlRfRElHX189MjQgX19GTFRfTUFYXzEwX0VYUF9fPTM4IF9fRkxUX01BWF9FWFBfXz0xMjggX19GTFRfTUFYX189My40MDI4MjM0NjYzODUyODg1OTgxMmUrMzhGIF9fRkxUX01JTl8xMF9FWFBfXz0oLTM3KSBfX0ZMVF9NSU5fRVhQX189KC0xMjUpIF9fRkxUX01JTl9fPTEuMTc1NDk0MzUwODIyMjg3NTA3OTdlLTM4RiBfX0ZMVF9SQURJWF9fPTIgX19HQ0NfSEFWRV9TWU5DX0NPTVBBUkVfQU5EX1NXQVBfMT0xIF9fR0NDX0hBVkVfU1lOQ19DT01QQVJFX0FORF9TV0FQXzI9MSBfX0dDQ19IQVZFX1NZTkNfQ09NUEFSRV9BTkRfU1dBUF80PTEgX19HQ0NfSEFWRV9TWU5DX0NPTVBBUkVfQU5EX1NXQVBfOD0xIF9fR0xJQkNfTUlOT1JfXz0xMiBfX0dMSUJDX189MiBfX0dOVUNfR05VX0lOTElORV9fPTEgX19HTlVDX01JTk9SX189NSBfX0dOVUNfUEFUQ0hMRVZFTF9fPTEgX19HTlVDX189NCBfX0dOVV9MSUJSQVJZX189NiBfX0dYWF9BQklfVkVSU0lPTj0xMDAyIF9fSU5UMTZfQyhjKT1jIF9fSU5UMTZfTUFYX189MzI3NjcgX19JTlQxNl9UWVBFX189c2hvcnRcIGludCBfX0lOVDMyX0MoYyk9YyBfX0lOVDMyX01BWF9fPTIxNDc0ODM2NDcgX19JTlQzMl9UWVBFX189aW50IF9fSU5UNjRfQyhjKT1jTEwgX19JTlQ2NF9NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TEwgX19JTlQ2NF9UWVBFX189bG9uZ1wgbG9uZ1wgaW50IF9fSU5UOF9DKGMpPWMgX19JTlQ4X01BWF9fPTEyNyBfX0lOVDhfVFlQRV9fPXNpZ25lZFwgY2hhciBfX0lOVE1BWF9DKGMpPWNMTCBfX0lOVE1BWF9NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TEwgX19JTlRNQVhfVFlQRV9fPWxvbmdcIGxvbmdcIGludCBfX0lOVFBUUl9NQVhfXz0yMTQ3NDgzNjQ3IF9fSU5UUFRSX1RZUEVfXz1pbnQgX19JTlRfRkFTVDE2X01BWF9fPTIxNDc0ODM2NDcgX19JTlRfRkFTVDE2X1RZUEVfXz1pbnQgX19JTlRfRkFTVDMyX01BWF9fPTIxNDc0ODM2NDcgX19JTlRfRkFTVDMyX1RZUEVfXz1pbnQgX19JTlRfRkFTVDY0X01BWF9fPTkyMjMzNzIwMzY4NTQ3NzU4MDdMTCBfX0lOVF9GQVNUNjRfVFlQRV9fPWxvbmdcIGxvbmdcIGludCBfX0lOVF9GQVNUOF9NQVhfXz0xMjcgX19JTlRfRkFTVDhfVFlQRV9fPXNpZ25lZFwgY2hhciBfX0lOVF9MRUFTVDE2X01BWF9fPTMyNzY3IF9fSU5UX0xFQVNUMTZfVFlQRV9fPXNob3J0XCBpbnQgX19JTlRfTEVBU1QzMl9NQVhfXz0yMTQ3NDgzNjQ3IF9fSU5UX0xFQVNUMzJfVFlQRV9fPWludCBfX0lOVF9MRUFTVDY0X01BWF9fPTkyMjMzNzIwMzY4NTQ3NzU4MDdMTCBfX0lOVF9MRUFTVDY0X1RZUEVfXz1sb25nXCBsb25nXCBpbnQgX19JTlRfTEVBU1Q4X01BWF9fPTEyNyBfX0lOVF9MRUFTVDhfVFlQRV9fPXNpZ25lZFwgY2hhciBfX0lOVF9NQVhfXz0yMTQ3NDgzNjQ3IF9fTERCTF9ERU5PUk1fTUlOX189My42NDUxOTk1MzE4ODI0NzQ2MDI1M2UtNDk1MUwgX19MREJMX0RJR19fPTE4IF9fTERCTF9FUFNJTE9OX189MS4wODQyMDIxNzI0ODU1MDQ0MzQwMWUtMTlMIF9fTERCTF9IQVNfREVOT1JNX189MSBfX0xEQkxfSEFTX0lORklOSVRZX189MSBfX0xEQkxfSEFTX1FVSUVUX05BTl9fPTEgX19MREJMX01BTlRfRElHX189NjQgX19MREJMX01BWF8xMF9FWFBfXz00OTMyIF9fTERCTF9NQVhfRVhQX189MTYzODQgX19MREJMX01BWF9fPTEuMTg5NzMxNDk1MzU3MjMxNzY1MDJlKzQ5MzJMIF9fTERCTF9NSU5fMTBfRVhQX189KC00OTMxKSBfX0xEQkxfTUlOX0VYUF9fPSgtMTYzODEpIF9fTERCTF9NSU5fXz0zLjM2MjEwMzE0MzExMjA5MzUwNjI2ZS00OTMyTCBfX0xPTkdfTE9OR19NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TEwgX19MT05HX01BWF9fPTIxNDc0ODM2NDdMIF9fUFJBR01BX1JFREVGSU5FX0VYVE5BTUU9MSBfX1BUUkRJRkZfTUFYX189MjE0NzQ4MzY0NyBfX1BUUkRJRkZfVFlQRV9fPWludCBfX1JFR0lTVEVSX1BSRUZJWF9fPSBfX1NDSEFSX01BWF9fPTEyNyBfX1NIUlRfTUFYX189MzI3NjcgX19TSUdfQVRPTUlDX01BWF9fPTIxNDc0ODM2NDcgX19TSUdfQVRPTUlDX01JTl9fPSgtMjE0NzQ4MzY0N1wgLVwgMSkgX19TSUdfQVRPTUlDX1RZUEVfXz1pbnQgX19TSVpFT0ZfRE9VQkxFX189OCBfX1NJWkVPRl9GTE9BVF9fPTQgX19TSVpFT0ZfSU5UX189NCBfX1NJWkVPRl9MT05HX0RPVUJMRV9fPTEyIF9fU0laRU9GX0xPTkdfTE9OR19fPTggX19TSVpFT0ZfTE9OR19fPTQgX19TSVpFT0ZfUE9JTlRFUl9fPTQgX19TSVpFT0ZfUFRSRElGRl9UX189NCBfX1NJWkVPRl9TSE9SVF9fPTIgX19TSVpFT0ZfU0laRV9UX189NCBfX1NJWkVPRl9XQ0hBUl9UX189NCBfX1NJWkVPRl9XSU5UX1RfXz00IF9fU0laRV9NQVhfXz00Mjk0OTY3Mjk1VSBfX1NJWkVfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19TVERDX0hPU1RFRF9fPTEgX19TVERDX189MSBfX1VJTlQxNl9DKGMpPWMgX19VSU5UMTZfTUFYX189NjU1MzUgX19VSU5UMTZfVFlQRV9fPXNob3J0XCB1bnNpZ25lZFwgaW50IF9fVUlOVDMyX0MoYyk9Y1UgX19VSU5UMzJfTUFYX189NDI5NDk2NzI5NVUgX19VSU5UMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19VSU5UNjRfQyhjKT1jVUxMIF9fVUlOVDY0X01BWF9fPTE4NDQ2NzQ0MDczNzA5NTUxNjE1VUxMIF9fVUlOVDY0X1RZUEVfXz1sb25nXCBsb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVDhfQyhjKT1jIF9fVUlOVDhfTUFYX189MjU1IF9fVUlOVDhfVFlQRV9fPXVuc2lnbmVkXCBjaGFyIF9fVUlOVE1BWF9DKGMpPWNVTEwgX19VSU5UTUFYX01BWF9fPTE4NDQ2NzQ0MDczNzA5NTUxNjE1VUxMIF9fVUlOVE1BWF9UWVBFX189bG9uZ1wgbG9uZ1wgdW5zaWduZWRcIGludCBfX1VJTlRQVFJfTUFYX189NDI5NDk2NzI5NVUgX19VSU5UUFRSX1RZUEVfXz11bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUMTZfTUFYX189NDI5NDk2NzI5NVUgX19VSU5UX0ZBU1QxNl9UWVBFX189dW5zaWduZWRcIGludCBfX1VJTlRfRkFTVDMyX01BWF9fPTQyOTQ5NjcyOTVVIF9fVUlOVF9GQVNUMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19VSU5UX0ZBU1Q2NF9NQVhfXz0xODQ0Njc0NDA3MzcwOTU1MTYxNVVMTCBfX1VJTlRfRkFTVDY0X1RZUEVfXz1sb25nXCBsb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUOF9NQVhfXz0yNTUgX19VSU5UX0ZBU1Q4X1RZUEVfXz11bnNpZ25lZFwgY2hhciBfX1VJTlRfTEVBU1QxNl9NQVhfXz02NTUzNSBfX1VJTlRfTEVBU1QxNl9UWVBFX189c2hvcnRcIHVuc2lnbmVkXCBpbnQgX19VSU5UX0xFQVNUMzJfTUFYX189NDI5NDk2NzI5NVUgX19VSU5UX0xFQVNUMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19VSU5UX0xFQVNUNjRfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTEwgX19VSU5UX0xFQVNUNjRfVFlQRV9fPWxvbmdcIGxvbmdcIHVuc2lnbmVkXCBpbnQgX19VSU5UX0xFQVNUOF9NQVhfXz0yNTUgX19VSU5UX0xFQVNUOF9UWVBFX189dW5zaWduZWRcIGNoYXIgX19VU0VSX0xBQkVMX1BSRUZJWF9fPSBfX1VTRV9CU0Q9MSBfX1VTRV9GSUxFX09GRlNFVDY0PTEgX19VU0VfR05VPTEgX19VU0VfTEFSR0VGSUxFNjQ9MSBfX1VTRV9MQVJHRUZJTEU9MSBfX1VTRV9NSVNDPTEgX19VU0VfUE9TSVgxOTkzMDk9MSBfX1VTRV9QT1NJWDE5OTUwNj0xIF9fVVNFX1BPU0lYMj0xIF9fVVNFX1BPU0lYPTEgX19VU0VfUkVFTlRSQU5UPTEgX19VU0VfU1ZJRD0xIF9fVVNFX1VOSVg5OD0xIF9fVVNFX1hPUEVOPTEgX19VU0VfWE9QRU5fRVhURU5ERUQ9MSBfX1ZFUlNJT05fXz0iNC41LjEiIF9fV0NIQVJfTUFYX189MjE0NzQ4MzY0N0wgX19XQ0hBUl9NSU5fXz0oLTIxNDc0ODM2NDdMXCAtXCAxKSBfX1dDSEFSX1RZUEVfXz1sb25nXCBpbnQgX19XSU5UX01BWF9fPTQyOTQ5NjcyOTVVIF9fV0lOVF9NSU5fXz0wVSBfX1dJTlRfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19nbnVfbGludXhfXz0xIF9faTM4Nj0xIF9faTM4Nl9fPTEgX19pNTg2PTEgX19pNTg2X189MSBfX2xpbnV4PTEgX19saW51eF9fPTEgX19wZW50aXVtPTEgX19wZW50aXVtX189MSBfX3R1bmVfaTU4Nl9fPTEgX190dW5lX3BlbnRpdW1fXz0xIF9fdW5peD0xIF9fdW5peF9fPTEgaTM4Nj0xIGxpbnV4PTEgdW5peD0xJwotZF9udl9wcmVzZXJ2ZXNfdXY9J2RlZmluZScKLWRfcHJpbnRmX2Zvcm1hdF9udWxsPSdkZWZpbmUnCi1kX3UzMmFsaWduPSd1bmRlZicKLWdpZGZvcm1hdD0nImx1IicKLWkzMnR5cGU9J2xvbmcnCi1pNjR0eXBlPSdsb25nIGxvbmcnCi1pdnNpemU9JzQnCi1sb25nZGJsc2l6ZT0nMTInCi1sb25nc2l6ZT0nNCcKLW15dW5hbWU9J2xpbnV4IHFlbXV4ODYgMi42LjM3LXJjNS15b2N0by1zdGFuZGFyZCsgIzEgcHJlZW1wdCBtb24gZGVjIDIwIDE0OjIxOjI3IHBzdCAyMDEwIGk2ODYgZ251bGludXggJwotbmVlZF92YV9jb3B5PSd1bmRlZicKLW5ldGRiX2hvc3RfdHlwZT0nY29uc3Qgdm9pZCAqJwotbnZfcHJlc2VydmVzX3V2X2JpdHM9JzMyJwotcHRyc2l6ZT0nNCcKLXF1YWRraW5kPSczJwotcXVhZHR5cGU9J2xvbmcgbG9uZycKLXNHTVRJTUVfbWF4PScyMTQ3NDgzNjQ3Jwotc0dNVElNRV9taW49Jy0yMTQ3NDgzNjQ4Jwotc0xPQ0FMVElNRV9tYXg9JzIxNDc0ODM2NDcnCi1zTE9DQUxUSU1FX21pbj0nLTIxNDc0ODM2NDgnCi1zUFJJWFU2ND0nIkxYIicKLXNQUklkNjQ9JyJMZCInCi1zUFJJaTY0PSciTGkiJwotc1BSSW82ND0nIkxvIicKLXNQUkl1NjQ9JyJMdSInCi1zUFJJeDY0PSciTHgiJwotc2VsZWN0bWluYml0cz0nMzInCi1zaXplc2l6ZT0nNCcKLXUzMnR5cGU9J3Vuc2lnbmVkIGxvbmcnCi11NjR0eXBlPSd1bnNpZ25lZCBsb25nIGxvbmcnCi11aWRmb3JtYXQ9JyJsdSInCi11cXVhZHR5cGU9J3Vuc2lnbmVkIGxvbmcgbG9uZycKLXVzZTY0Yml0YWxsPSd1bmRlZicKLXVzZTY0Yml0aW50PSd1bmRlZicKLXV2c2l6ZT0nNCcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jb25maWcuc2gtMzItYmUgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTMyLWJlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTlhOWFiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jb25maWcuc2gtMzItYmUKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1ieXRlb3JkZXI9JzQzMjEnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTMyLWxlIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC0zMi1sZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTBlNDIyNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTMyLWxlCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotYnl0ZW9yZGVyPScxMjM0JwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC02NCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jb25maWcuc2gtNjQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5MjlkM2EuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC02NAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLWFsaWduYnl0ZXM9JzgnCi1jZl90aW1lPSdUaHUgRGVjIDIzIDAyOjA2OjQyIFVUQyAyMDEwJwotY3Bwc3ltYm9scz0nX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgX0dOVV9TT1VSQ0U9MSBfTEFSR0VGSUxFNjRfU09VUkNFPTEgX0xBUkdFRklMRV9TT1VSQ0U9MSBfTFA2ND0xIF9QT1NJWF9DX1NPVVJDRT0yMDA4MDlMIF9QT1NJWF9TT1VSQ0U9MSBfUkVFTlRSQU5UPTEgX1hPUEVOX1NPVVJDRT03MDAgX1hPUEVOX1NPVVJDRV9FWFRFTkRFRD0xIF9fQklHR0VTVF9BTElHTk1FTlRfXz0xNiBfX0NIQVIxNl9UWVBFX189c2hvcnRcIHVuc2lnbmVkXCBpbnQgX19DSEFSMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19DSEFSX0JJVF9fPTggX19EQkxfREVOT1JNX01JTl9fPSgoZG91YmxlKTQuOTQwNjU2NDU4NDEyNDY1NDQxNzdlLTMyNEwpIF9fREJMX0RJR19fPTE1IF9fREJMX0VQU0lMT05fXz0oKGRvdWJsZSkyLjIyMDQ0NjA0OTI1MDMxMzA4MDg1ZS0xNkwpIF9fREJMX0hBU19ERU5PUk1fXz0xIF9fREJMX0hBU19JTkZJTklUWV9fPTEgX19EQkxfSEFTX1FVSUVUX05BTl9fPTEgX19EQkxfTUFOVF9ESUdfXz01MyBfX0RCTF9NQVhfMTBfRVhQX189MzA4IF9fREJMX01BWF9FWFBfXz0xMDI0IF9fREJMX01BWF9fPSgoZG91YmxlKTEuNzk3NjkzMTM0ODYyMzE1NzA4MTVlKzMwOEwpIF9fREJMX01JTl8xMF9FWFBfXz0oLTMwNykgX19EQkxfTUlOX0VYUF9fPSgtMTAyMSkgX19EQkxfTUlOX189KChkb3VibGUpMi4yMjUwNzM4NTg1MDcyMDEzODMwOWUtMzA4TCkgX19ERUMxMjhfRVBTSUxPTl9fPTFFLTMzREwgX19ERUMxMjhfTUFOVF9ESUdfXz0zNCBfX0RFQzEyOF9NQVhfRVhQX189NjE0NSBfX0RFQzEyOF9NQVhfXz05Ljk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OUU2MTQ0REwgX19ERUMxMjhfTUlOX0VYUF9fPSgtNjE0MikgX19ERUMxMjhfTUlOX189MUUtNjE0M0RMIF9fREVDMTI4X1NVQk5PUk1BTF9NSU5fXz0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUtNjE0M0RMIF9fREVDMzJfRVBTSUxPTl9fPTFFLTZERiBfX0RFQzMyX01BTlRfRElHX189NyBfX0RFQzMyX01BWF9FWFBfXz05NyBfX0RFQzMyX01BWF9fPTkuOTk5OTk5RTk2REYgX19ERUMzMl9NSU5fRVhQX189KC05NCkgX19ERUMzMl9NSU5fXz0xRS05NURGIF9fREVDMzJfU1VCTk9STUFMX01JTl9fPTAuMDAwMDAxRS05NURGIF9fREVDNjRfRVBTSUxPTl9fPTFFLTE1REQgX19ERUM2NF9NQU5UX0RJR19fPTE2IF9fREVDNjRfTUFYX0VYUF9fPTM4NSBfX0RFQzY0X01BWF9fPTkuOTk5OTk5OTk5OTk5OTk5RTM4NEREIF9fREVDNjRfTUlOX0VYUF9fPSgtMzgyKSBfX0RFQzY0X01JTl9fPTFFLTM4M0REIF9fREVDNjRfU1VCTk9STUFMX01JTl9fPTAuMDAwMDAwMDAwMDAwMDAxRS0zODNERCBfX0RFQ0lNQUxfQklEX0ZPUk1BVF9fPTEgX19ERUNJTUFMX0RJR19fPTIxIF9fREVDX0VWQUxfTUVUSE9EX189MiBfX0VMRl9fPTEgX19GSU5JVEVfTUFUSF9PTkxZX189MCBfX0ZMVF9ERU5PUk1fTUlOX189MS40MDEyOTg0NjQzMjQ4MTcwNzA5MmUtNDVGIF9fRkxUX0RJR19fPTYgX19GTFRfRVBTSUxPTl9fPTEuMTkyMDkyODk1NTA3ODEyNTAwMDBlLTdGIF9fRkxUX0VWQUxfTUVUSE9EX189MCBfX0ZMVF9IQVNfREVOT1JNX189MSBfX0ZMVF9IQVNfSU5GSU5JVFlfXz0xIF9fRkxUX0hBU19RVUlFVF9OQU5fXz0xIF9fRkxUX01BTlRfRElHX189MjQgX19GTFRfTUFYXzEwX0VYUF9fPTM4IF9fRkxUX01BWF9FWFBfXz0xMjggX19GTFRfTUFYX189My40MDI4MjM0NjYzODUyODg1OTgxMmUrMzhGIF9fRkxUX01JTl8xMF9FWFBfXz0oLTM3KSBfX0ZMVF9NSU5fRVhQX189KC0xMjUpIF9fRkxUX01JTl9fPTEuMTc1NDk0MzUwODIyMjg3NTA3OTdlLTM4RiBfX0ZMVF9SQURJWF9fPTIgX19HQ0NfSEFWRV9EV0FSRjJfQ0ZJX0FTTT0xIF9fR0NDX0hBVkVfU1lOQ19DT01QQVJFX0FORF9TV0FQXzE9MSBfX0dDQ19IQVZFX1NZTkNfQ09NUEFSRV9BTkRfU1dBUF8yPTEgX19HQ0NfSEFWRV9TWU5DX0NPTVBBUkVfQU5EX1NXQVBfND0xIF9fR0NDX0hBVkVfU1lOQ19DT01QQVJFX0FORF9TV0FQXzg9MSBfX0dMSUJDX01JTk9SX189MTIgX19HTElCQ19fPTIgX19HTlVDX0dOVV9JTkxJTkVfXz0xIF9fR05VQ19NSU5PUl9fPTUgX19HTlVDX1BBVENITEVWRUxfXz0xIF9fR05VQ19fPTQgX19HTlVfTElCUkFSWV9fPTYgX19HWFhfQUJJX1ZFUlNJT049MTAwMiBfX0lOVDE2X0MoYyk9YyBfX0lOVDE2X01BWF9fPTMyNzY3IF9fSU5UMTZfVFlQRV9fPXNob3J0XCBpbnQgX19JTlQzMl9DKGMpPWMgX19JTlQzMl9NQVhfXz0yMTQ3NDgzNjQ3IF9fSU5UMzJfVFlQRV9fPWludCBfX0lOVDY0X0MoYyk9Y0wgX19JTlQ2NF9NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TCBfX0lOVDY0X1RZUEVfXz1sb25nXCBpbnQgX19JTlQ4X0MoYyk9YyBfX0lOVDhfTUFYX189MTI3IF9fSU5UOF9UWVBFX189c2lnbmVkXCBjaGFyIF9fSU5UTUFYX0MoYyk9Y0wgX19JTlRNQVhfTUFYX189OTIyMzM3MjAzNjg1NDc3NTgwN0wgX19JTlRNQVhfVFlQRV9fPWxvbmdcIGludCBfX0lOVFBUUl9NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TCBfX0lOVFBUUl9UWVBFX189bG9uZ1wgaW50IF9fSU5UX0ZBU1QxNl9NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TCBfX0lOVF9GQVNUMTZfVFlQRV9fPWxvbmdcIGludCBfX0lOVF9GQVNUMzJfTUFYX189OTIyMzM3MjAzNjg1NDc3NTgwN0wgX19JTlRfRkFTVDMyX1RZUEVfXz1sb25nXCBpbnQgX19JTlRfRkFTVDY0X01BWF9fPTkyMjMzNzIwMzY4NTQ3NzU4MDdMIF9fSU5UX0ZBU1Q2NF9UWVBFX189bG9uZ1wgaW50IF9fSU5UX0ZBU1Q4X01BWF9fPTEyNyBfX0lOVF9GQVNUOF9UWVBFX189c2lnbmVkXCBjaGFyIF9fSU5UX0xFQVNUMTZfTUFYX189MzI3NjcgX19JTlRfTEVBU1QxNl9UWVBFX189c2hvcnRcIGludCBfX0lOVF9MRUFTVDMyX01BWF9fPTIxNDc0ODM2NDcgX19JTlRfTEVBU1QzMl9UWVBFX189aW50IF9fSU5UX0xFQVNUNjRfTUFYX189OTIyMzM3MjAzNjg1NDc3NTgwN0wgX19JTlRfTEVBU1Q2NF9UWVBFX189bG9uZ1wgaW50IF9fSU5UX0xFQVNUOF9NQVhfXz0xMjcgX19JTlRfTEVBU1Q4X1RZUEVfXz1zaWduZWRcIGNoYXIgX19JTlRfTUFYX189MjE0NzQ4MzY0NyBfX0xEQkxfREVOT1JNX01JTl9fPTMuNjQ1MTk5NTMxODgyNDc0NjAyNTNlLTQ5NTFMIF9fTERCTF9ESUdfXz0xOCBfX0xEQkxfRVBTSUxPTl9fPTEuMDg0MjAyMTcyNDg1NTA0NDM0MDFlLTE5TCBfX0xEQkxfSEFTX0RFTk9STV9fPTEgX19MREJMX0hBU19JTkZJTklUWV9fPTEgX19MREJMX0hBU19RVUlFVF9OQU5fXz0xIF9fTERCTF9NQU5UX0RJR19fPTY0IF9fTERCTF9NQVhfMTBfRVhQX189NDkzMiBfX0xEQkxfTUFYX0VYUF9fPTE2Mzg0IF9fTERCTF9NQVhfXz0xLjE4OTczMTQ5NTM1NzIzMTc2NTAyZSs0OTMyTCBfX0xEQkxfTUlOXzEwX0VYUF9fPSgtNDkzMSkgX19MREJMX01JTl9FWFBfXz0oLTE2MzgxKSBfX0xEQkxfTUlOX189My4zNjIxMDMxNDMxMTIwOTM1MDYyNmUtNDkzMkwgX19MT05HX0xPTkdfTUFYX189OTIyMzM3MjAzNjg1NDc3NTgwN0xMIF9fTE9OR19NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TCBfX0xQNjRfXz0xIF9fTU1YX189MSBfX1BSQUdNQV9SRURFRklORV9FWFROQU1FPTEgX19QVFJESUZGX01BWF9fPTkyMjMzNzIwMzY4NTQ3NzU4MDdMIF9fUFRSRElGRl9UWVBFX189bG9uZ1wgaW50IF9fUkVHSVNURVJfUFJFRklYX189IF9fU0NIQVJfTUFYX189MTI3IF9fU0hSVF9NQVhfXz0zMjc2NyBfX1NJR19BVE9NSUNfTUFYX189MjE0NzQ4MzY0NyBfX1NJR19BVE9NSUNfTUlOX189KC0yMTQ3NDgzNjQ3XCAtXCAxKSBfX1NJR19BVE9NSUNfVFlQRV9fPWludCBfX1NJWkVPRl9ET1VCTEVfXz04IF9fU0laRU9GX0ZMT0FUX189NCBfX1NJWkVPRl9JTlRfXz00IF9fU0laRU9GX0xPTkdfRE9VQkxFX189MTYgX19TSVpFT0ZfTE9OR19MT05HX189OCBfX1NJWkVPRl9MT05HX189OCBfX1NJWkVPRl9QT0lOVEVSX189OCBfX1NJWkVPRl9QVFJESUZGX1RfXz04IF9fU0laRU9GX1NIT1JUX189MiBfX1NJWkVPRl9TSVpFX1RfXz04IF9fU0laRU9GX1dDSEFSX1RfXz00IF9fU0laRU9GX1dJTlRfVF9fPTQgX19TSVpFX01BWF9fPTE4NDQ2NzQ0MDczNzA5NTUxNjE1VUwgX19TSVpFX1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fU1NFMl9NQVRIX189MSBfX1NTRTJfXz0xIF9fU1NFX01BVEhfXz0xIF9fU1NFX189MSBfX1NURENfSE9TVEVEX189MSBfX1NURENfXz0xIF9fVUlOVDE2X0MoYyk9YyBfX1VJTlQxNl9NQVhfXz02NTUzNSBfX1VJTlQxNl9UWVBFX189c2hvcnRcIHVuc2lnbmVkXCBpbnQgX19VSU5UMzJfQyhjKT1jVSBfX1VJTlQzMl9NQVhfXz00Mjk0OTY3Mjk1VSBfX1VJTlQzMl9UWVBFX189dW5zaWduZWRcIGludCBfX1VJTlQ2NF9DKGMpPWNVTCBfX1VJTlQ2NF9NQVhfXz0xODQ0Njc0NDA3MzcwOTU1MTYxNVVMIF9fVUlOVDY0X1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVDhfQyhjKT1jIF9fVUlOVDhfTUFYX189MjU1IF9fVUlOVDhfVFlQRV9fPXVuc2lnbmVkXCBjaGFyIF9fVUlOVE1BWF9DKGMpPWNVTCBfX1VJTlRNQVhfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTCBfX1VJTlRNQVhfVFlQRV9fPWxvbmdcIHVuc2lnbmVkXCBpbnQgX19VSU5UUFRSX01BWF9fPTE4NDQ2NzQ0MDczNzA5NTUxNjE1VUwgX19VSU5UUFRSX1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUMTZfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTCBfX1VJTlRfRkFTVDE2X1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUMzJfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTCBfX1VJTlRfRkFTVDMyX1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUNjRfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTCBfX1VJTlRfRkFTVDY0X1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUOF9NQVhfXz0yNTUgX19VSU5UX0ZBU1Q4X1RZUEVfXz11bnNpZ25lZFwgY2hhciBfX1VJTlRfTEVBU1QxNl9NQVhfXz02NTUzNSBfX1VJTlRfTEVBU1QxNl9UWVBFX189c2hvcnRcIHVuc2lnbmVkXCBpbnQgX19VSU5UX0xFQVNUMzJfTUFYX189NDI5NDk2NzI5NVUgX19VSU5UX0xFQVNUMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19VSU5UX0xFQVNUNjRfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTCBfX1VJTlRfTEVBU1Q2NF9UWVBFX189bG9uZ1wgdW5zaWduZWRcIGludCBfX1VJTlRfTEVBU1Q4X01BWF9fPTI1NSBfX1VJTlRfTEVBU1Q4X1RZUEVfXz11bnNpZ25lZFwgY2hhciBfX1VTRVJfTEFCRUxfUFJFRklYX189IF9fVVNFX0JTRD0xIF9fVVNFX0ZJTEVfT0ZGU0VUNjQ9MSBfX1VTRV9HTlU9MSBfX1VTRV9MQVJHRUZJTEU2ND0xIF9fVVNFX0xBUkdFRklMRT0xIF9fVVNFX01JU0M9MSBfX1VTRV9QT1NJWDE5OTMwOT0xIF9fVVNFX1BPU0lYMTk5NTA2PTEgX19VU0VfUE9TSVgyPTEgX19VU0VfUE9TSVg9MSBfX1VTRV9SRUVOVFJBTlQ9MSBfX1VTRV9TVklEPTEgX19VU0VfVU5JWDk4PTEgX19VU0VfWE9QRU49MSBfX1VTRV9YT1BFTl9FWFRFTkRFRD0xIF9fVkVSU0lPTl9fPSI0LjUuMSIgX19XQ0hBUl9NQVhfXz0yMTQ3NDgzNjQ3IF9fV0NIQVJfTUlOX189KC0yMTQ3NDgzNjQ3XCAtXCAxKSBfX1dDSEFSX1RZUEVfXz1pbnQgX19XSU5UX01BWF9fPTQyOTQ5NjcyOTVVIF9fV0lOVF9NSU5fXz0wVSBfX1dJTlRfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19hbWQ2ND0xIF9fYW1kNjRfXz0xIF9fZ251X2xpbnV4X189MSBfX2s4PTEgX19rOF9fPTEgX19saW51eD0xIF9fbGludXhfXz0xIF9fdW5peD0xIF9fdW5peF9fPTEgX194ODZfNjQ9MSBfX3g4Nl82NF9fPTEgbGludXg9MSB1bml4PTEnCi1kX252X3ByZXNlcnZlc191dj0ndW5kZWYnCi1kX3ByaW50Zl9mb3JtYXRfbnVsbD0ndW5kZWYnCi1kX3UzMmFsaWduPSdkZWZpbmUnCi1naWRmb3JtYXQ9JyJ1IicKLWkzMnR5cGU9J2ludCcKLWk2NHR5cGU9J2xvbmcnCi1pdnNpemU9JzgnCi1sb25nZGJsc2l6ZT0nMTYnCi1sb25nc2l6ZT0nOCcKLW15dW5hbWU9J2xpbnV4IHFlbXV4ODYtNjQgMi42LjM3LXJjNS15b2N0by1zdGFuZGFyZCsgIzEgc21wIHByZWVtcHQgbW9uIGRlYyAyMCAxNzoxOTo1MCBwc3QgMjAxMCB4ODZfNjQgZ251bGludXggJwotbmVlZF92YV9jb3B5PSdkZWZpbmUnCi1uZXRkYl9ob3N0X3R5cGU9J2NoYXIgKicKLW52X3ByZXNlcnZlc191dl9iaXRzPSc1MycKLXB0cnNpemU9JzgnCi1xdWFka2luZD0nMicKLXF1YWR0eXBlPSdsb25nJwotc0dNVElNRV9tYXg9JzY3NzY4MDM2MTkxNjc2Nzk5Jwotc0dNVElNRV9taW49Jy02MjE2NzIxOTIwMCcKLXNMT0NBTFRJTUVfbWF4PSc2Nzc2ODAzNjE5MTY3Njc5OScKLXNMT0NBTFRJTUVfbWluPSctNjIxNjcyMTkyMDAnCi1zUFJJWFU2ND0nImxYIicKLXNQUklkNjQ9JyJsZCInCi1zUFJJaTY0PScibGkiJwotc1BSSW82ND0nImxvIicKLXNQUkl1NjQ9JyJsdSInCi1zUFJJeDY0PScibHgiJwotc2VsZWN0bWluYml0cz0nNjQnCi1zaXplc2l6ZT0nOCcKLXUzMnR5cGU9J3Vuc2lnbmVkIGludCcKLXU2NHR5cGU9J3Vuc2lnbmVkIGxvbmcnCi11aWRmb3JtYXQ9JyJ1IicKLXVxdWFkdHlwZT0ndW5zaWduZWQgbG9uZycKLXVzZTY0Yml0YWxsPSdkZWZpbmUnCi11c2U2NGJpdGludD0nZGVmaW5lJwotdXZzaXplPSc4JwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC02NC1iZSBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jb25maWcuc2gtNjQtYmUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwOGNlM2MuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC02NC1iZQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWJ5dGVvcmRlcj0nODc2NTQzMjEnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTY0LWxlIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC02NC1sZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc3ZDJhOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTY0LWxlCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotYnl0ZW9yZGVyPScxMjM0NTY3OCcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jcm9zcy1nZW5lcmF0ZV91dWRtYXAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY3Jvc3MtZ2VuZXJhdGVfdXVkbWFwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzM2UyMjIyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jcm9zcy1nZW5lcmF0ZV91dWRtYXAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLUluZGV4OiBwZXJsLTUuMjQuMS9NYWtlZmlsZS5TSAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBlcmwtNS4yNC4xLm9yaWcvTWFrZWZpbGUuU0gKLSsrKyBwZXJsLTUuMjQuMS9NYWtlZmlsZS5TSAotQEAgLTcxMCw3ICs3MTAsNyBAQCBiaXRjb3VudC5oOiBnZW5lcmF0ZV91dWRtYXBcJChIT1NUX0VYRV9FCi0gCi0gJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCchTk8hU1VCUyEnCi0gZ2VuZXJhdGVfdXVkbWFwJChIT1NUX0VYRV9FWFQpOiBnZW5lcmF0ZV91dWRtYXAkKE9CSl9FWFQpCi0tCSQoQ0MpIC1vIGdlbmVyYXRlX3V1ZG1hcCQoRVhFX0VYVCkgJChMREZMQUdTKSBnZW5lcmF0ZV91dWRtYXAkKE9CSl9FWFQpICQobGlicykKLSsJJChCVUlMRF9DQykgLW8gZ2VuZXJhdGVfdXVkbWFwJChFWEVfRVhUKSBnZW5lcmF0ZV91dWRtYXAuYwotIAotICFOTyFTVUJTIQotIDs7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2NwYW4tbWlzc2luZy1zaXRlLWRpcnMuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vY3Bhbi1taXNzaW5nLXNpdGUtZGlycy5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTk3NzAxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vY3Bhbi1taXNzaW5nLXNpdGUtZGlycy5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotRnJvbSBkMzNkNDY5NjMwMzVlZjcyNjE0NGRjNjZiZTJhZTljMDBhZWMwMzMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPgotRGF0ZTogVHVlLCAxNiBPY3QgMjAxMiAyMzowNzo1NiArMDMwMAotU3ViamVjdDogRml4IENQQU46OkZpcnN0VGltZSBkZWZhdWx0cyB3aXRoIG5vbmV4aXN0aW5nIHNpdGUgZGlycyBpZiBhIHBhcmVudAotIGlzIHdyaXRhYmxlCi0KLVRoZSBzaXRlIGRpcmVjdG9yaWVzIGRvIG5vdCBleGlzdCBvbiBhIHR5cGljYWwgRGViaWFuIHN5c3RlbS4gIFRoZSBidWlsZAotc3lzdGVtcyB3aWxsIGNyZWF0ZSB0aGVtIHdoZW4gbmVjZXNzYXJ5LCBzbyB0aGVyZSdzIG5vIG5lZWQgZm9yIGEgcHJvbXB0Ci1zdWdnZXN0aW5nIGxvY2FsOjpsaWIgaWYgdGhlIGZpcnN0IGV4aXN0aW5nIHBhcmVudCBkaXJlY3RvcnkgaXMgd3JpdGFibGUuCi0KLUFsc28sIHdyaXRhYmlsaXR5IG9mIHRoZSBjb3JlIGRpcmVjdG9yaWVzIGlzIG5vdCBpbnRlcmVzdGluZyBhcyB3ZQotZXhwbGljaXRseSB0ZWxsIENQQU4gbm90IHRvIHRvdWNoIHRob3NlIHdpdGggSU5TVEFMTERJUlM9c2l0ZS4KLQotQnVnLURlYmlhbjogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy82ODg4NDIKLVBhdGNoLU5hbWU6IGRlYmlhbi9jcGFuLW1pc3Npbmctc2l0ZS1kaXJzLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gY3Bhbi9DUEFOL2xpYi9DUEFOL0ZpcnN0VGltZS5wbSB8IDMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vQ1BBTi9saWIvQ1BBTi9GaXJzdFRpbWUucG0gYi9jcGFuL0NQQU4vbGliL0NQQU4vRmlyc3RUaW1lLnBtCi1pbmRleCAzMzA1NGNkLi43YjBiZWNmIDEwMDY0NAotLS0tIGEvY3Bhbi9DUEFOL2xpYi9DUEFOL0ZpcnN0VGltZS5wbQotKysrIGIvY3Bhbi9DUEFOL2xpYi9DUEFOL0ZpcnN0VGltZS5wbQotQEAgLTIwNTcsMTEgKzIwNTcsMzQgQEAgc3ViIF9wcmludF91cmxsaXN0IHsKLSAgICAgfTsKLSB9Ci0gCi0rIyBEZWJpYW4gbW9kaWZpY2F0aW9uOiByZXR1cm4gdHJ1ZSBpZiB0aGlzIGRpcmVjdG9yeQotKyMgb3IgdGhlIGZpcnN0IGV4aXN0aW5nIG9uZSB1cHdhcmRzIGlzIHdyaXRhYmxlCi0rc3ViIF9jYW5fd3JpdGVfdG9fdGhpc19vcl9wYXJlbnQgewotKyAgICBteSAoJGRpcikgPSBAXzsKLSsgICAgbXkgQHBhcnRzID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoJGRpcik7Ci0rICAgIHdoaWxlIChAcGFydHMpIHsKLSsgICAgICAgIG15ICRjdXIgPSBGaWxlOjpTcGVjLT5jYXRkaXIoQHBhcnRzKTsKLSsgICAgICAgIHJldHVybiAxIGlmIC13ICRjdXI7Ci0rICAgICAgICByZXR1cm4gMCBpZiAtZSBfOwotKyAgICAgICAgcG9wIEBwYXJ0czsKLSsgICAgfQotKyAgICByZXR1cm4gMDsKLSt9Ci0rCi0rIyBEZWJpYW4gc3BlY2lmaWMgbW9kaWZpY2F0aW9uOiB0aGUgc2l0ZSBkaXJlY3RvcmllcyBkb24ndCBuZWNlc3NhcmlseQotKyMgZXhpc3Qgb24gdGhlIHN5c3RlbSwgYnV0IHRoZSBidWlsZCBzeXN0ZW1zIGNyZWF0ZSB0aGVtIHdoZW4gbmVjZXNzYXJ5LAotKyMgc28gcmV0dXJuIHRydWUgaWYgdGhlIGZpcnN0IGV4aXN0aW5nIGRpcmVjdG9yeSB1cHdhcmRzIGlzIHdyaXRhYmxlCi0rIwotKyMgRnVydGhlcm1vcmUsIG9uIERlYmlhbiwgb25seSB0ZXN0IHRoZSBzaXRlIGRpcmVjdG9yaWVzCi0rIyAoaW5zdGFsbHNpdGUqLCBleHBhbmRlZCB0byAvdXNyL2xvY2FsL3tzaGFyZSxsaWJ9L3BlcmwpLAotKyMgbm90IHRoZSBjb3JlIG9uZXMgCi0rIyAoaW5zdGFsbCpsaWIsIGV4cGFuZGVkIHRvIC91c3Ive3NoYXJlLGxpYn0vcGVybCkuCi0rIyBXZSBwYXNzIElOU1RBTExESVJTPXNpdGUgYnkgZGVmYXVsdCB0byBrZWVwIENQQU4gZnJvbSB0b3VjaGluZwotKyMgdGhlIGNvcmUgZGlyZWN0b3JpZXMuCi0rCi0gc3ViIF9jYW5fd3JpdGVfdG9fbGliZGlycyB7Ci0tICAgIHJldHVybiAtdyAkQ29uZmlne2luc3RhbGxwcml2bGlifQotLSAgICAgICAgJiYgLXcgJENvbmZpZ3tpbnN0YWxsYXJjaGxpYn0KLS0gICAgICAgICYmIC13ICRDb25maWd7aW5zdGFsbHNpdGVsaWJ9Ci0tICAgICAgICAmJiAtdyAkQ29uZmlne2luc3RhbGxzaXRlYXJjaH0KLSsgICAgcmV0dXJuIF9jYW5fd3JpdGVfdG9fdGhpc19vcl9wYXJlbnQoJENvbmZpZ3tpbnN0YWxsc2l0ZWxpYn0pCi0rICAgICAgICAmJiBfY2FuX3dyaXRlX3RvX3RoaXNfb3JfcGFyZW50KCRDb25maWd7aW5zdGFsbHNpdGVhcmNofSkKLSB9Ci0gCi0gc3ViIF91c2luZ19pbnN0YWxsYmFzZSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2NwYW5fZGVmaW5zdGFsbGRpcnMuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vY3Bhbl9kZWZpbnN0YWxsZGlycy5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NzJmMTQ5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vY3Bhbl9kZWZpbnN0YWxsZGlycy5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotRnJvbSA1ZmYxZjIxNDg0YWFiNjhlZmUzMjFmZjRiYTVkMzU5MjhmNzJhZjk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJlbmRhbiBPJ0RlYSA8Ym9kQGRlYmlhbi5vcmc+Ci1EYXRlOiBUdWUsIDggTWFyIDIwMDUgMTk6MzA6MzggKzExMDAKLVN1YmplY3Q6IFByb3ZpZGUgYSBzZW5zaWJsZSBJTlNUQUxMRElSUyBkZWZhdWx0IGZvciBtb2R1bGVzIGluc3RhbGxlZCBmcm9tCi0gQ1BBTi4KLQotU29tZSBtb2R1bGVzIHdoaWNoIGFyZSBpbmNsdWRlZCBpbiBjb3JlIHNldCBJTlNUQUxMRElSUyA9PiAncGVybCcKLWV4cGxpY2l0bHkgaW4gTWFrZWZpbGUuUEwgb3IgQnVpbGQuUEwuICBUaGlzIG1ha2VzIHNlbnNlIGZvciB0aGUgbm9ybWFsIEBJTkMKLW9yZGVyaW5nLCBidXQgbm90IG91cnMuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9jcGFuX2RlZmluc3RhbGxkaXJzLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gY3Bhbi9DUEFOL2xpYi9DUEFOL0ZpcnN0VGltZS5wbSB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL0NQQU4vbGliL0NQQU4vRmlyc3RUaW1lLnBtIGIvY3Bhbi9DUEFOL2xpYi9DUEFOL0ZpcnN0VGltZS5wbQotaW5kZXggOTE4ZTAwOS4uMzMwNTRjZCAxMDA2NDQKLS0tLSBhL2NwYW4vQ1BBTi9saWIvQ1BBTi9GaXJzdFRpbWUucG0KLSsrKyBiL2NwYW4vQ1BBTi9saWIvQ1BBTi9GaXJzdFRpbWUucG0KLUBAIC0xMDI0LDcgKzEwMjQsNyBAQCBzdWIgaW5pdCB7Ci0gICAgIG15X3Byb21wdF9sb29wKHByZWZlcl9pbnN0YWxsZXIgPT4gJ01CJywgJG1hdGNoZXIsICdNQnxFVU1NfFJBTkQnKTsKLSAKLSAgICAgaWYgKCEkbWF0Y2hlciBvciAnbWFrZXBsX2FyZyBtYWtlX2FyZycgPX4gLyRtYXRjaGVyLykgewotLSAgICAgICAgbXlfZGZsdF9wcm9tcHQobWFrZXBsX2FyZyA9PiAiIiwgJG1hdGNoZXIpOwotKyAgICAgICAgbXlfZGZsdF9wcm9tcHQobWFrZXBsX2FyZyA9PiAiSU5TVEFMTERJUlM9c2l0ZSIsICRtYXRjaGVyKTsKLSAgICAgICAgIG15X2RmbHRfcHJvbXB0KG1ha2VfYXJnID0+ICIiLCAkbWF0Y2hlcik7Ci0gICAgICAgICBpZiAoICRDUEFOOjpDb25maWctPnttYWtlcGxfYXJnfSA9fiAvTElCUz18SU5DPS8gKSB7Ci0gICAgICAgICAgICAgJENQQU46OkZyb250ZW5kLT5teXdhcm4oCi1AQCAtMTA1Niw3ICsxMDU2LDcgQEAgc3ViIGluaXQgewotICAgICBteV9kZmx0X3Byb21wdChtYWtlX2luc3RhbGxfYXJnID0+ICRDUEFOOjpDb25maWctPnttYWtlX2FyZ30gfHwgIiIsCi0gICAgICAgICAgICAgICAgICAgICRtYXRjaGVyKTsKLSAKLS0gICAgbXlfZGZsdF9wcm9tcHQobWJ1aWxkcGxfYXJnID0+ICIiLCAkbWF0Y2hlcik7Ci0rICAgIG15X2RmbHRfcHJvbXB0KG1idWlsZHBsX2FyZyA9PiAiLS1pbnN0YWxsZGlycyBzaXRlIiwgJG1hdGNoZXIpOwotICAgICBteV9kZmx0X3Byb21wdChtYnVpbGRfYXJnID0+ICIiLCAkbWF0Y2hlcik7Ci0gCi0gICAgIGlmIChleGlzdHMgJENQQU46OkhhbmRsZUNvbmZpZzo6a2V5c3ttYnVpbGRfaW5zdGFsbF9idWlsZF9jb21tYW5kfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9kYl9maWxlX3Zlci5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9kYl9maWxlX3Zlci5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwODYxNjUwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZGJfZmlsZV92ZXIuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gMDE0MjFmOGE4MGQ1YzYyMzk1OTY5NWJhMmI4MTY3ZjMwMTEyZDMzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJyZW5kYW4gTydEZWEgPGJvZEBkZWJpYW4ub3JnPgotRGF0ZTogRnJpLCAxNiBEZWMgMjAwNSAwMTozMjoxNCArMTEwMAotU3ViamVjdDogUmVtb3ZlIG92ZXJseSByZXN0cmljdGl2ZSBEQl9GaWxlIHZlcnNpb24gY2hlY2suCi0KLUJ1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvMzQwMDQ3Ci0KLVBhY2thZ2UgZGVwZW5kZW5jaWVzIGVuc3VyZSB0aGUgY29ycmVjdCBsaWJyYXJ5IGlzIGxpbmtlZCBhdCBydW4tdGltZS4KLQotUGF0Y2gtTmFtZTogZGViaWFuL2RiX2ZpbGVfdmVyLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gY3Bhbi9EQl9GaWxlL3ZlcnNpb24uYyB8IDIgKysKLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9jcGFuL0RCX0ZpbGUvdmVyc2lvbi5jIGIvY3Bhbi9EQl9GaWxlL3ZlcnNpb24uYwotaW5kZXggZTAxZjZmNi4uNTQ0ZTZlZSAxMDA2NDQKLS0tLSBhL2NwYW4vREJfRmlsZS92ZXJzaW9uLmMKLSsrKyBiL2NwYW4vREJfRmlsZS92ZXJzaW9uLmMKLUBAIC00OCw2ICs0OCw3IEBAIF9fZ2V0QmVya2VsZXlEQkluZm8oKQotIAotICAgICAodm9pZClkYl92ZXJzaW9uKCZNYWpvciwgJk1pbm9yLCAmUGF0Y2gpIDsKLSAKLSsjaWZuZGVmIERFQklBTgotICAgICAvKiBDaGVjayB0aGF0IHRoZSB2ZXJzaW9ucyBvZiBkYi5oIGFuZCBsaWJkYi5hIGFyZSB0aGUgc2FtZSAqLwotICAgICBpZiAoTWFqb3IgIT0gREJfVkVSU0lPTl9NQUpPUiB8fCBNaW5vciAhPSBEQl9WRVJTSU9OX01JTk9SICkKLSAJCS8qIHx8IFBhdGNoICE9IERCX1ZFUlNJT05fUEFUQ0gpICovCi1AQCAtNTUsNiArNTYsNyBAQCBfX2dldEJlcmtlbGV5REJJbmZvKCkKLSAJY3JvYWsoIlxuREJfRmlsZSB3YXMgYnVpbGQgd2l0aCBsaWJkYiB2ZXJzaW9uICVkLiVkLiVkLFxuYnV0IHlvdSBhcmUgYXR0ZW1wdGluZyB0byBydW4gaXQgd2l0aCBsaWJkYiB2ZXJzaW9uICVkLiVkLiVkXG4iLAotIAkJREJfVkVSU0lPTl9NQUpPUiwgREJfVkVSU0lPTl9NSU5PUiwgREJfVkVSU0lPTl9QQVRDSCwgCi0gCQlNYWpvciwgTWlub3IsIFBhdGNoKSA7Ci0rI2VuZGlmIC8qIERFQklBTiAqLwotICAgICAKLSAgICAgLyogY2hlY2sgdGhhdCBsaWJkYiBpcyByZWNlbnQgZW5vdWdoICAtLSB3ZSBuZWVkIDIuMy40IG9yIGdyZWF0ZXIgKi8KLSAgICAgaWYgKE1ham9yID09IDIgJiYgKE1pbm9yIDwgMyB8fCAoTWlub3IgPT0gIDMgJiYgUGF0Y2ggPCA0KSkpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2RlcHJlY2F0ZS13aXRoLWFwdC5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9kZXByZWNhdGUtd2l0aC1hcHQuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzJhYzRhMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2RlcHJlY2F0ZS13aXRoLWFwdC5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotRnJvbSBkZWY0YWEzODE3Zjk4YWFlNjI1ZTYwMWI3OTFlZjA2ODI3NmYwNWQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRG9taW5pYyBIYXJncmVhdmVzIDxkb21AZWFydGgubGk+Ci1EYXRlOiBNb24sIDE3IE1heSAyMDEwIDEzOjIzOjA3ICswMzAwCi1TdWJqZWN0OiBQb2ludCB1c2VycyB0byBEZWJpYW4gcGFja2FnZXMgb2YgZGVwcmVjYXRlZCBjb3JlIG1vZHVsZXMKLQotQnVnLURlYmlhbjogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy83NDc2MjgKLQotU2V2ZXJhbCBtb2R1bGVzIGFyZSBiZWluZyBkZXByZWNhdGVkIHdpdGggcGVybCA1LjIwLgotVG8gZ2V0IGEgY2xlYW4gdHJhbnNpdGlvbiwgcGVybC9wZXJsLW1vZHVsZXMgaXMgZ29pbmcgdG8gcmVjb21tZW5kIHRoZQotc2VwYXJhdGUgRGViaWFuIHBhY2thZ2VzIG9mIHRoZXNlIGZvciBvbmUgcmVsZWFzZSBjeWNsZSBzbyB0aGF0IHRoZXkgd2lsbCBiZQotcHVsbGVkIGluIGJ5IGRlZmF1bHQgb24gdXBncmFkZXMuIFRoaXMgaXMgdGFraW5nIHBsYWNlIGZvciBwZXJsIDUuMjAvamVzc2llLgotCi1Ib3dldmVyLCBvbiBzeXN0ZW1zIGNvbmZpZ3VyZWQgdG8gaWdub3JlIHJlY29tbWVuZGF0aW9ucyB0aGUgZGVwcmVjYXRpb24KLXdhcm5pbmdzIHdpbGwgc3RpbGwgYmUgdXNlZnVsLCBzbyBtb2RpZnkgdGhlbSBzbGlnaHRseSB0byBwb2ludCB0byB0aGUKLXNlcGFyYXRlIHBhY2thZ2VzIGluc3RlYWQuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9kZXByZWNhdGUtd2l0aC1hcHQuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBsaWIvZGVwcmVjYXRlLnBtIHwgMTUgKysrKysrKysrKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xpYi9kZXByZWNhdGUucG0gYi9saWIvZGVwcmVjYXRlLnBtCi1pbmRleCA0N2JjMTEyLi5iMGM2MWRmIDEwMDY0NAotLS0tIGEvbGliL2RlcHJlY2F0ZS5wbQotKysrIGIvbGliL2RlcHJlY2F0ZS5wbQotQEAgLTcsNiArNywxMyBAQCBvdXIgJFZFUlNJT04gPSAwLjAzOwotIG91ciAlQ29uZmlnOwotIHVubGVzcyAoJUNvbmZpZykgeyByZXF1aXJlIENvbmZpZzsgKkNvbmZpZyA9IFwlQ29uZmlnOjpDb25maWc7IH0KLSAKLSsjIERlYmlhbi1zcGVjaWZpYyBjaGFuZ2U6IHJlY29tbWVuZCB0aGUgc2VwYXJhdGUgRGViaWFuIHBhY2thZ2VzIG9mCi0rIyBkZXByZWNhdGVkIG1vZHVsZXMgd2hlcmUgYXZhaWxhYmxlCi0rCi0rb3VyICVERUJJQU5fUEFDS0FHRVMgPSAoCi0rICAgICMgTm9uZSBmb3IgdGhlIHBlcmwgNS4yMiBjeWNsZQotKyk7Ci0rCi0gIyBUaGlzIGlzbid0IGEgcHVibGljIEFQSS4gSXQncyBpbnRlcm5hbCB0byBjb2RlIG1haW50YWluZWQgYnkgdGhlIHBlcmwtcG9ydGVycwotICMgSWYgeW91IHdvdWxkIGxpa2UgaXQgdG8gYmUgYSBwdWJsaWMgQVBJLCBwbGVhc2Ugc2VuZCBhIHBhdGNoIHdpdGgKLSAjIGRvY3VtZW50YXRpb24gYW5kIHRlc3RzLiBVbnRpbCB0aGVuLCBpdCBtYXkgY2hhbmdlIHdpdGhvdXQgd2FybmluZy4KLUBAIC01OCw5ICs2NSwxNSBAQCBFT00KLSAJaWYgKGRlZmluZWQgJGNhbGxlcnNfYml0bWFzawotIAkgICAgJiYgKHZlYygkY2FsbGVyc19iaXRtYXNrLCAkd2FybmluZ3M6Ok9mZnNldHN7ZGVwcmVjYXRlZH0sIDEpCi0gCQl8fCB2ZWMoJGNhbGxlcnNfYml0bWFzaywgJHdhcm5pbmdzOjpPZmZzZXRze2FsbH0sIDEpKSkgewotLQkgICAgd2FybiA8PCJFT00iOwotKwkJaWYgKG15ICRkZWIgPSAkREVCSUFOX1BBQ0tBR0VTeyRwYWNrYWdlfSkgewotKwkJICAgIHdhcm4gPDwiRU9NIjsKLSskcGFja2FnZSB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgUGVybCBjb3JlIGRpc3RyaWJ1dGlvbiBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBQbGVhc2UgaW5zdGFsbCB0aGUgc2VwYXJhdGUgJGRlYiBwYWNrYWdlLiBJdCBpcyBiZWluZyB1c2VkIGF0ICRjYWxsX2ZpbGUsIGxpbmUgJGNhbGxfbGluZS4KLStFT00KLSsJCX0gZWxzZSB7Ci0rCQkgICAgd2FybiA8PCJFT00iOwotICRwYWNrYWdlIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSBQZXJsIGNvcmUgZGlzdHJpYnV0aW9uIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuIFBsZWFzZSBpbnN0YWxsIGl0IGZyb20gQ1BBTi4gSXQgaXMgYmVpbmcgdXNlZCBhdCAkY2FsbF9maWxlLCBsaW5lICRjYWxsX2xpbmUuCi0gRU9NCi0rCQl9Ci0gCX0KLSAgICAgfQotIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZG9jX2luZm8uZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZG9jX2luZm8uZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDY2MmVjZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2RvY19pbmZvLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIGUxOGY4MWU2OWM1NWQ2OThhYmQyOTNlNzEwNjNkNmI2YjI3NWNjMDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IEZyaSwgMTggTWFyIDIwMDUgMjI6MjI6MjUgKzExMDAKLVN1YmplY3Q6IFJlcGxhY2UgZ2VuZXJpYyBtYW4oMSkgaW5zdHJ1Y3Rpb25zIHdpdGggRGViaWFuLXNwZWNpZmljIGluZm9ybWF0aW9uLgotCi1JbmRpY2F0ZSB0aGF0IHRoZSB1c2VyIG5lZWRzIHRvIGluc3RhbGwgdGhlIHBlcmwtZG9jIHBhY2thZ2UuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9kb2NfaW5mby5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHBvZC9wZXJsLnBvZCB8IDEyICsrKysrKysrKystLQotIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcG9kL3BlcmwucG9kIGIvcG9kL3BlcmwucG9kCi1pbmRleCAzNjRlOTU3Li5mOTdlMTAzIDEwMDY0NAotLS0tIGEvcG9kL3BlcmwucG9kCi0rKysgYi9wb2QvcGVybC5wb2QKLUBAIC0yOTEsOCArMjkxLDE2IEBAIGF1eCBjMnBoIGgycGggaDJ4cyBwZXJsYnVnIHBsMnBtIHBvZDJodG1sIHBvZDJtYW4gc3BsYWluIHhzdWJwcAotIAotID1mb3IgYnVpbGR0b2MgX19FTkRfXwotIAotLU9uIGEgVW5peC1saWtlIHN5c3RlbSwgdGhlc2UgZG9jdW1lbnRhdGlvbiBmaWxlcyB3aWxsIHVzdWFsbHkgYWxzbyBiZQotLWF2YWlsYWJsZSBhcyBtYW5wYWdlcyBmb3IgdXNlIHdpdGggdGhlIEY8bWFuPiBwcm9ncmFtLgotK09uIERlYmlhbiBzeXN0ZW1zLCB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBCPHBlcmwtZG9jPiBwYWNrYWdlIHdoaWNoCi0rY29udGFpbnMgdGhlIG1ham9yaXR5IG9mIHRoZSBzdGFuZGFyZCBQZXJsIGRvY3VtZW50YXRpb24gYW5kIHRoZQotK0Y8cGVybGRvYz4gcHJvZ3JhbS4KLSsKLStFeHRlbnNpdmUgYWRkaXRpb25hbCBkb2N1bWVudGF0aW9uIGZvciBQZXJsIG1vZHVsZXMgaXMgYXZhaWxhYmxlLCBib3RoCi0rdGhvc2UgZGlzdHJpYnV0ZWQgd2l0aCBQZXJsIGFuZCB0aGlyZC1wYXJ0eSBtb2R1bGVzIHdoaWNoIGFyZSBwYWNrYWdlZAotK29yIGxvY2FsbHkgaW5zdGFsbGVkLgotKwotK1lvdSBzaG91bGQgYmUgYWJsZSB0byB2aWV3IFBlcmwncyBkb2N1bWVudGF0aW9uIHdpdGggeW91ciBtYW4oMSkKLStwcm9ncmFtIG9yIHBlcmxkb2MoMSkuCi0gCi0gU29tZSBkb2N1bWVudGF0aW9uIGlzIG5vdCBhdmFpbGFibGUgYXMgbWFuIHBhZ2VzLCBzbyBpZiBhCi0gY3Jvc3MtcmVmZXJlbmNlIGlzIG5vdCBmb3VuZCBieSBtYW4sIHRyeSBpdCB3aXRoIEw8cGVybGRvYz4uICBQZXJsZG9jIGNhbgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9lbmMyeHNfaW5jLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2VuYzJ4c19pbmMuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjNiZDU4Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2VuYzJ4c19pbmMuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLUZyb20gN2ZlNTlhM2QwNjAxYzZkODYzNGVhZTRmOTlkYWUzMDI0Y2QwMmE5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJyZW5kYW4gTydEZWEgPGJvZEBkZWJpYW4ub3JnPgotRGF0ZTogVHVlLCA4IE1hciAyMDA1IDE5OjMwOjM4ICsxMTAwCi1TdWJqZWN0OiBUd2VhayBlbmMyeHMgdG8gZm9sbG93IHN5bWxpbmtzIGFuZCBpZ25vcmUgbWlzc2luZyBASU5DIGRpcmVjdG9yaWVzLgotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzI5MDMzNgotCi0tIGlnbm9yZSBtaXNzaW5nIGRpcmVjdG9yaWVzLAotLSBmb2xsb3cgc3ltbGlua3MgKC91c3Ivc2hhcmUvcGVybC81LjggLT4gNS44LjQpLgotLSBmaWx0ZXIgIi4iIG91dCB3aGVuIHJ1bm5pbmcgImVuYzJ4cyAtQyIsIGl0J3MgdW5uZWNlc3NhcnkgYW5kIGNhdXNlcwotICBpc3N1ZXMgd2l0aCBmb2xsb3cgPT4gMSAoc2VlICM2MDM2ODYgYW5kIFtydC5jcGFuLm9yZyAjNjQ1ODVdKQotCi1QYXRjaC1OYW1lOiBkZWJpYW4vZW5jMnhzX2luYy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vRW5jb2RlL2Jpbi9lbmMyeHMgfCA4ICsrKystLS0tCi0gdC9wb3J0aW5nL2N1c3RvbWl6ZWQudCB8IDMgKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL0VuY29kZS9iaW4vZW5jMnhzIGIvY3Bhbi9FbmNvZGUvYmluL2VuYzJ4cwotaW5kZXggMTlmMmIyYi4uNGQ2NGUzOCAxMDA2NDQKLS0tLSBhL2NwYW4vRW5jb2RlL2Jpbi9lbmMyeHMKLSsrKyBiL2NwYW4vRW5jb2RlL2Jpbi9lbmMyeHMKLUBAIC05NDQsMTEgKzk0NCwxMSBAQCB1c2UgdmFycyBxdygKLSBzdWIgZmluZF9lMnh7Ci0gICAgIGV2YWwgeyByZXF1aXJlIEZpbGU6OkZpbmQ7IH07Ci0gICAgIG15IChAaW5jLCAlZTJ4X2Rpcik7Ci0tICAgIGZvciBteSAkaW5jIChASU5DKXsKLSsgICAgZm9yIG15ICRpbmMgKGdyZXAgLWQsIEBJTkMpewotICAgICBwdXNoIEBpbmMsICRpbmMgdW5sZXNzICRpbmMgZXEgJy4nOyAjc2tpcCBjdXJyZW50IGRpcgotICAgICB9Ci0gICAgIEZpbGU6OkZpbmQ6OmZpbmQoCi0tICAgICAgICAgc3ViIHsKLSsgICAgICAgICB7IHdhbnRlZCA9PiBzdWIgewotICAgICAgICAgIG15ICgkZGV2LCRpbm8sJG1vZGUsJG5saW5rLCR1aWQsJGdpZCwkcmRldiwkc2l6ZSwKLSAgICAgICAgICAgICAgJGF0aW1lLCRtdGltZSwkY3RpbWUsJGJsa3NpemUsJGJsb2NrcykKLSAgICAgICAgICAgICAgPSBsc3RhdCgkXykgb3IgcmV0dXJuOwotQEAgLTk1OCw3ICs5NTgsNyBAQCBzdWIgZmluZF9lMnh7Ci0gICAgICAgICAgICAgICRlMnhfZGlyeyRGaWxlOjpGaW5kOjpkaXJ9IHx8PSAkbXRpbWU7Ci0gICAgICAgICAgfQotICAgICAgICAgIHJldHVybjsKLS0gICAgICAgICB9LCBAaW5jKTsKLSsgICAgICAgICB9LCBmb2xsb3cgPT4gMX0sIEBpbmMpOwotICAgICB3YXJuIGpvaW4oIlxuIiwga2V5cyAlZTJ4X2RpciksICJcbiI7Ci0gICAgIGZvciBteSAkZCAoc29ydCB7JGUyeF9kaXJ7JGF9IDw9PiAkZTJ4X2RpcnskYn19IGtleXMgJWUyeF9kaXIpewotICAgICAkX0UyWCA9ICRkOwotQEAgLTEwMjUsNyArMTAyNSw3IEBAIHN1YiBtYWtlX2NvbmZpZ2xvY2FsX3BtIHsKLSAJICAgICRMb2NhbE1vZHskZW5jfSB8fD0gJG1vZDsKLSAJfQotICAgICB9OwotLSAgICBGaWxlOjpGaW5kOjpmaW5kKHt3YW50ZWQgPT4gJHdhbnRlZH0sIEBJTkMpOwotKyAgICBGaWxlOjpGaW5kOjpmaW5kKHt3YW50ZWQgPT4gJHdhbnRlZCwgZm9sbG93ID0+IDF9LCBncmVwIC1kICYmICEvXlwuLywgQElOQyk7Ci0gICAgICRfTW9kTGluZXMgPSAiIjsKLSAgICAgZm9yIG15ICRlbmMgKCBzb3J0IGtleXMgJUxvY2FsTW9kICkgewotICAgICAgICAgJF9Nb2RMaW5lcyAuPQotZGlmZiAtLWdpdCBhL3QvcG9ydGluZy9jdXN0b21pemVkLnQgYi90L3BvcnRpbmcvY3VzdG9taXplZC50Ci1pbmRleCA0NWZjYWZiLi4zYmQ2YWRiIDEwMDY0NAotLS0tIGEvdC9wb3J0aW5nL2N1c3RvbWl6ZWQudAotKysrIGIvdC9wb3J0aW5nL2N1c3RvbWl6ZWQudAotQEAgLTEwMSw4ICsxMDEsMTEgQEAgZm9yZWFjaCBteSAkbW9kdWxlICggc29ydCBrZXlzICVNb2R1bGVzICkgewotICAgICAgIHByaW50ICRkYXRhX2ZoIGpvaW4oJyAnLCAkbW9kdWxlLCAkZmlsZSwgJGlkKSwgIlxuIjsKLSAgICAgICBuZXh0OwotICAgICB9Ci0rU0tJUDogewotKyAgICBza2lwKCIkZmlsZSBtb2RpZmllZCBmb3IgRGViaWFuIiwgMSkgaWYgJGZpbGUgZXEgJ2NwYW4vRW5jb2RlL2Jpbi9lbmMyeHMnOwotICAgICBteSAkc2hvdWxkX2JlID0gJGN1c3RvbWlzZWR7ICRtb2R1bGUgfS0+eyAkZmlsZSB9OwotICAgICBpcyggJGlkLCAkc2hvdWxkX2JlLCAiU0hBIGZvciAkZmlsZSBtYXRjaGVzIHN0YXNoZWQgU0hBIiApOwotK30KLSAgIH0KLSB9Ci0gCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2V4dHV0aWxzX3NldF9saWJwZXJsX3BhdGguZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZXh0dXRpbHNfc2V0X2xpYnBlcmxfcGF0aC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMDIzMDM4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZXh0dXRpbHNfc2V0X2xpYnBlcmxfcGF0aC5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotRnJvbSA0MzEyNzUwNzhiMDQ5MGQyZTA5MjQ0MmQ5NTgyYmUwNmJiOTViMzU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPgotRGF0ZTogU2F0LCAxMCBNYXkgMjAxNCAyMzozNDoxNCArMDMwMAotU3ViamVjdDogRVU6TU06IHNldCBsb2NhdGlvbiBvZiBsaWJwZXJsLmEgdW5kZXIgL3Vzci9saWIKLQotVGhlIERlYmlhbiBwYWNrYWdpbmcgbW92ZXMgbGlicGVybC5hIGEgY291cGxlIG9mIGxldmVscyB1cCBmcm9tIHRoZQotQ09SRSBkaXJlY3RvcnkgdG8gbWF0Y2ggb3RoZXIgc3RhdGljIGxpYnJhcmllcy4KLQotUGF0Y2gtTmFtZTogZGViaWFuL2V4dHV0aWxzX3NldF9saWJwZXJsX3BhdGguZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSB8IDIgKy0KLSBwcC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLWluZGV4IDVmMWI4N2YuLjU3MGE2MzEgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLUBAIC0yNTA1LDcgKzI1MDUsNyBAQCBNQVBfUFJFTElCUyAgID0gJENvbmZpZ3twZXJsbGlic30gJENvbmZpZ3tjcnlwdGxpYn0KLSAJKCRscGVybCA9ICRsaWJwZXJsKSA9fiBzL1wkXChBXCkvJHNlbGYtPntMSUJfRVhUfS87Ci0gICAgIH0KLSAgICAgdW5sZXNzICgkbGlicGVybCAmJiAtZiAkbHBlcmwpIHsgIyBJbHlhJ3MgY29kZS4uLgotLQlteSAkZGlyID0gJHNlbGYtPntQRVJMX1NSQ30gfHwgIiRzZWxmLT57UEVSTF9BUkNITElCfS9DT1JFIjsKLSsJbXkgJGRpciA9ICRzZWxmLT57UEVSTF9TUkN9IHx8ICIkc2VsZi0+e1BFUkxfQVJDSExJQn0vLi4vLi4iOwotIAkkZGlyID0gIiRzZWxmLT57UEVSTF9BUkNITElCfS8uLiIgaWYgJHNlbGYtPntVTklOU1RBTExFRF9QRVJMfTsKLSAJJGxpYnBlcmwgfHw9ICJsaWJwZXJsJHNlbGYtPntMSUJfRVhUfSI7Ci0gCSRsaWJwZXJsICAgPSAiJGRpci8kbGlicGVybCI7Ci1kaWZmIC0tZ2l0IGEvcHAuYyBiL3BwLmMKLWluZGV4IDQyZjE1NmEuLjc3YzEyNzkgMTAwNjQ0Ci0tLS0gYS9wcC5jCi0rKysgYi9wcC5jCi1AQCAtMSw0ICsxLDQgQEAKLS0vKiAgICBwcC5jCi0rIC8qICAgIHBwLmMKLSAgKgotICAqICAgIENvcHlyaWdodCAoQykgMTk5MSwgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwKLSAgKiAgICAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IGJ5IExhcnJ5IFdhbGwgYW5kIG90aGVycwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9mYWtlcm9vdC5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9mYWtlcm9vdC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZGYzNGQxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZmFrZXJvb3QuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gMjdhZTdiMTgwNzhkODAxYTJjOTQzYWE2ZGUyZjdlOTgwODE3NzI1MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJyZW5kYW4gTydEZWEgPGJvZEBkZWJpYW4ub3JnPgotRGF0ZTogRnJpLCAxOCBNYXIgMjAwNSAyMjoyMjoyNSArMTEwMAotU3ViamVjdDogUG9zdHBvbmUgTERfTElCUkFSWV9QQVRIIGV2YWx1YXRpb24gdG8gdGhlIGJpbmFyeSB0YXJnZXRzLgotCi1Nb2RpZnkgdGhlIHNldHRpbmcgb2YgTERfTElCUkFSWV9QQVRIIHRvIGFwcGVuZCBwcmUtZXhpc3RpbmcgdmFsdWVzIGF0IHRoZQotdGltZSB0aGUgcnVsZSBpcyBldmFsdWF0ZWQgcmF0aGVyIHRoYW4gd2hlbiB0aGUgTWFrZWZpbGUgaXMgY3JlYXRlZC4KLQotVGhpcyBpcyByZXF1aXJlZCB3aGVuIGJ1aWxkaW5nIHBhY2thZ2VzIHdpdGggZHBrZy1idWlsZHBhY2thZ2UgYW5kIGZha2Vyb290LAotc2luY2UgZmFrZXJvb3QgKHdoaWNoIG5vdyBzZXRzIExEX0xJQlJBUllfUEFUSCkgaXMgbm90IHVzZWQgZm9yIHRoZSAiYnVpbGQiCi1ydWxlIHdoZXJlIHRoZSBNYWtlZmlsZSBpcyBjcmVhdGVkLCBidXQgaXMgZm9yIHRoZSBjbGVhbi9iaW5hcnkqIHRhcmdldHMuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9mYWtlcm9vdC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIE1ha2VmaWxlLlNIIHwgNyArKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlLlNIIGIvTWFrZWZpbGUuU0gKLWluZGV4IDAzNGQ4MTIuLjA0ZGQ3ZDUgMTAwNzU1Ci0tLS0gYS9NYWtlZmlsZS5TSAotKysrIGIvTWFrZWZpbGUuU0gKLUBAIC0zOSwxMCArMzksNyBAQCBjYXNlICIkdXNlc2hycGxpYiIgaW4KLSB0cnVlKQotIAkjIFByZWZpeCBhbGwgcnVucyBvZiAnbWluaXBlcmwnIGFuZCAncGVybCcgd2l0aAotIAkjICRsZGxpYnB0aCBzbyB0aGF0IC4vcGVybCBmaW5kcyAqdGhpcyogc2hhcmVkIGxpYnBlcmwuCi0tCWNhc2UgIiRMRF9MSUJSQVJZX1BBVEgiIGluCi0tCScnKSAgbGRsaWJwdGg9IkxEX0xJQlJBUllfUEFUSD1gIHF1b3RlICIkcHdkIiBgIiA7OwotLQkqKSAgIGxkbGlicHRoPSJMRF9MSUJSQVJZX1BBVEg9YCBxdW90ZSAiJHB3ZCIgYDpgIHF1b3RlICIkTERfTElCUkFSWV9QQVRIIiBgIiA7OwotLQllc2FjCi0rCWxkbGlicHRoPSJMRF9MSUJSQVJZX1BBVEg9YCBxdW90ZSAiJHB3ZCIgYCInJCR7TERfTElCUkFSWV9QQVRIOis6fSQkTERfTElCUkFSWV9QQVRIJwotIAotIAlwbGRsZmxhZ3M9IiRjY2NkbGZsYWdzIgotIAlzdGF0aWNfbGRmbGFncz0nJwotQEAgLTExMyw3ICsxMTAsNyBAQCB0cnVlKQotIAkgICAgOzsKLSAJZXNhYwotIAljYXNlICIkbGRsaWJwdGhuYW1lIiBpbgotLQknJykgOzsKLSsJJyd8TERfTElCUkFSWV9QQVRIKSA7OwotIAkqKQotIAkgICAgY2FzZSAiJG9zbmFtZSIgaW4KLSAJICAgIG9zMikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZmluZF9odG1sMnRleHQuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZmluZF9odG1sMnRleHQuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDgyNzA5MS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpbmRfaHRtbDJ0ZXh0LmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIGM4MWRiZGVkZmY5ZTliNGZiNzVhYzAyOGFhNzE4ODM4YzAyOTJkMmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbmRyZWFzIE1hcnNjaGtlIDxhbmRyZWFzLm1hcnNjaGtlQGdvb2dsZW1haWwuY29tPgotRGF0ZTogU2F0LCAxNyBTZXAgMjAxMSAxMTozODo0MiArMDEwMAotU3ViamVjdDogQ29uZmlndXJlIENQQU46OkRpc3RyaWJ1dGlvbiB3aXRoIGNvcnJlY3QgbmFtZSBvZiBodG1sMnRleHQKLQotQnVnLURlYmlhbjogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy82NDA0NzkKLVBhdGNoLU5hbWU6IGRlYmlhbi9maW5kX2h0bWwydGV4dC5kaWZmCi0KLUlmIHlvdSB1c2UgY3BhbiBmcm9tIERlYmlhbiB5b3UgdXN1YWxseSB3aW5kIHVwIHRyeWluZyB0byByZWFkIG9ubGluZQotZG9jdW1lbnRhdGlvbiB0aHJvdWdoIGl0LiBVbmZvcnR1bmF0ZWx5IGNwYW4gY2FuJ3QgZmluZCB0aGUKLWh0bWwydGV4dC5wbCBzY3JpcHQgZXZlbiB0aG91Z2ggaXQgaXMgaW5zdGFsbGVkIHVzaW5nIHRoZSBEZWJpYW4KLXBhY2thZ2UgJ2h0bWwydGV4dCcuCi0KLVBsZWFzZSBzZWUgdGhlIGF0dGFjaGVkIHBhdGNoIGZvciBhIHF1aWNrIGZpeCBvZiB0aGlzIGlzc3VlLgotCi1bTWFpbnRhaW5lcidzIG5vdGU6IGh0bWwydGV4dCBpbiBEZWJpYW4gaXMgbm90IHRoZSBzYW1lIGltcGxlbWVudGF0aW9uCi1hcyB0aGUgaHRtbDJ0ZXh0LnBsIHdoaWNoIGlzIGV4cGVjdGVkLCBidXQgc2hvdWxkIHByb3ZpZGUgc2ltaWxhcgotZnVuY3Rpb25hbGl0eV0uCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vQ1BBTi9saWIvQ1BBTi9EaXN0cmlidXRpb24ucG0gfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL0NQQU4vbGliL0NQQU4vRGlzdHJpYnV0aW9uLnBtIGIvY3Bhbi9DUEFOL2xpYi9DUEFOL0Rpc3RyaWJ1dGlvbi5wbQotaW5kZXggMDkyYjc4MS4uNWMyYmFlMSAxMDA2NDQKLS0tLSBhL2NwYW4vQ1BBTi9saWIvQ1BBTi9EaXN0cmlidXRpb24ucG0KLSsrKyBiL2NwYW4vQ1BBTi9saWIvQ1BBTi9EaXN0cmlidXRpb24ucG0KLUBAIC00MDk5LDcgKzQwOTksNyBAQCBzdWIgX2Rpc3BsYXlfdXJsIHsKLSAgICAgICBpZiAkQ1BBTjo6REVCVUc7Ci0gCi0gICAgICMgc2hvdWxkIHdlIGRlZmluZSBpdCBpbiB0aGUgY29uZmlnIGluc3RlYWQ/Ci0tICAgIG15ICRodG1sX2NvbnZlcnRlciA9ICJodG1sMnRleHQucGwiOwotKyAgICBteSAkaHRtbF9jb252ZXJ0ZXIgPSAiaHRtbDJ0ZXh0IjsKLSAKLSAgICAgbXkgJHdlYl9icm93c2VyID0gJENQQU46OkNvbmZpZy0+eydseW54J30gfHwgdW5kZWY7Ci0gICAgIG15ICR3ZWJfYnJvd3Nlcl9vdXQgPSAkd2ViX2Jyb3dzZXIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvZG9jdW1lbnRfbWFrZW1ha2VyX2NjZmxhZ3MuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvZG9jdW1lbnRfbWFrZW1ha2VyX2NjZmxhZ3MuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjNkOTI1OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL2RvY3VtZW50X21ha2VtYWtlcl9jY2ZsYWdzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIDlmYWY2ZGNjM2E1YzQxNTQ0ODRkODEyZWIzY2MzZGQ3OGIzNTU2M2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBNb24sIDMwIE1heSAyMDExIDIyOjU0OjI0ICswMzAwCi1TdWJqZWN0OiBEb2N1bWVudCB0aGF0IENDRkxBR1Mgc2hvdWxkIGluY2x1ZGUgJENvbmZpZ3tjY2ZsYWdzfQotCi1CdWc6IGh0dHBzOi8vcnQuY3Bhbi5vcmcvUHVibGljL0J1Zy9EaXNwbGF5Lmh0bWw/aWQ9Njg2MTMKLUJ1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNjI4NTIyCi0KLUNvbXBpbGluZyBYUyBleHRlbnNpb25zIHdpdGhvdXQgJENvbmZpZ3tjY2ZsYWdzfSBjYW4gYnJlYWsgdGhlCi1iaW5hcnkgaW50ZXJmYWNlIG9uIHNvbWUgcGxhdGZvcm1zLgotCi1QYXRjaC1OYW1lOiBmaXhlcy9kb2N1bWVudF9tYWtlbWFrZXJfY2NmbGFncy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIucG0gfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTWFrZU1ha2VyLnBtIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01ha2VNYWtlci5wbQotaW5kZXggZmU5NWIyNy4uOTA0MDNlOCAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIucG0KLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIucG0KLUBAIC0xNzc0LDYgKzE3NzQsMTAgQEAgY3VycmVudGx5IHVzZWQgYnkgTWFrZU1ha2VyIGJ1dCBtYXkgYmUgaGFuZHkgaW4gTWFrZWZpbGUuUExzLgotIFN0cmluZyB0aGF0IHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIGNvbXBpbGVyIGNhbGwgY29tbWFuZCBsaW5lIGJldHdlZW4KLSB0aGUgYXJndW1lbnRzIElOQyBhbmQgT1BUSU1JWkUuCi0gCi0rVGhlIGRlZmF1bHQgdmFsdWUgaXMgdGFrZW4gZnJvbSAkQ29uZmlne2NjZmxhZ3N9LiBXaGVuIG92ZXJyaWRpbmcKLStDQ0ZMQUdTLCBtYWtlIHN1cmUgdG8gaW5jbHVkZSB0aGUgJENvbmZpZ3tjY2ZsYWdzfSBzZXR0aW5ncyB0byBhdm9pZAotK2JpbmFyeSBpbmNvbXBhdGliaWxpdGllcy4KLSsKLSA9aXRlbSBDT05GSUcKLSAKLSBBcnJheXJlZi4gRS5nLiBbcXcoYXJjaG5hbWUgbWFuZXh0KV0gZGVmaW5lcyBBUkNITkFNRSAmIE1BTkVYVCBmcm9tCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL21lbW9pemVfc3RvcmFibGVfbnN0b3JlLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL21lbW9pemVfc3RvcmFibGVfbnN0b3JlLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5YjM2ZjYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9tZW1vaXplX3N0b3JhYmxlX25zdG9yZS5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMTExICswLDAgQEAKLUZyb20gNTVkNDMwZWIwMmZjMTE2NTgxODQ3MzA0Y2EyMDMyMTY4Nzk3ODI2OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEpvbmF0aGFuIE5pZWRlciA8anJuaWVkZXJAZ21haWwuY29tPgotRGF0ZTogRnJpLCAyNyBKdWwgMjAxMiAxMDozNTowNyAtMDUwMAotU3ViamVjdDogTWVtb2l6ZTo6U3RvcmFibGU6IHJlc3BlY3QgJ25zdG9yZScgb3B0aW9uIG5vdCByZXNwZWN0ZWQKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotTWVtb2l6ZSgzcGVybCkgc2F5czoKLQotICAgICAgICAgICAgICAgIHRpZSBteSAlY2FjaGUgPT4gJ01lbW9pemU6OlN0b3JhYmxlJywgJGZpbGVuYW1lLCAnbnN0b3JlJzsKLSAgICAgICAgICAgICAgICBtZW1vaXplICdmdW5jdGlvbicsIFNDQUxBUl9DQUNIRSA9PiBbSEFTSCA9PiBcJWNhY2hlXTsKLQotICAgICAgICBJbmNsdWRlIHRoZSDigJhuc3RvcmXigJkgb3B0aW9uIHRvIGhhdmUgdGhlICJTdG9yYWJsZSIgZGF0YWJhc2UKLSAgICAgICAgd3JpdHRlbiBpbiDigJhuZXR3b3JrIG9yZGVy4oCZLiAgKFNlZSBTdG9yYWJsZSBmb3IgbW9yZSBkZXRhaWxzCi0gICAgICAgIGFib3V0IHRoaXMuKQotCi1JbiBmYWN0IHRoZSAibnN0b3JlIiBvcHRpb24gZG9lcyBubyBzdWNoIHRoaW5nLiAgT3B0aW9uIHBhcnNpbmcgbG9va3MKLWxpa2UgdGhpczoKLQotICAgICAgICBAb3B0aW9uc3tAX30gPSAoKTsKLQotJHNlbGYtPntPUFRJT05TfXsnbnN0b3JlJ30gaXMgYWNjb3JkaW5nbHkgc2V0IHRvIHVuZGVmLiAgTGF0ZXIKLU1lbW9pemU6OlN0b3JhYmxlIGNoZWNrcyBpZiB0aGUgb3B0aW9uIGlzIHRydWUsIGFuZCBzaW5jZSB1bmRlZiBpcwotbm90IHRydWUsIHRoZSAiZWxzZSIgYnJhbmNoIGlzIGFsd2F5cyB0YWtlbi4KLQotICAgICAgICBpZiAoJHNlbGYtPntPUFRJT05TfXsnbnN0b3JlJ30pIHsKLSAgICAgICAgICAgICAgICBTdG9yYWJsZTo6bnN0b3JlKCRzZWxmLT57SH0sICRzZWxmLT57RklMRU5BTUV9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBTdG9yYWJsZTo6c3RvcmUoJHNlbGYtPntIfSwgJHNlbGYtPntGSUxFTkFNRX0pOwotICAgICAgICB9Ci0KLUNvcnJlY3RpbmcgdGhlIGNvbmRpdGlvbiB0byAoZXhpc3RzICRzZWxmLT57T1BUSU9OU317J25zdG9yZSd9KSBmaXhlcwotaXQuCi0KLU5vdGljZWQgYmVjYXVzZSBnaXQtc3ZuLCB3aGljaCB1c2VzIHRoZSAnbnN0b3JlJyBvcHRpb24gZm9yIGl0cwotb24tZGlzayBjYWNoZXMsIHdhcyBwcm9kdWNpbmcKLQotICAgICAgICBCeXRlIG9yZGVyIGlzIG5vdCBjb21wYXRpYmxlIGF0IC4uLy4uL2xpYi9TdG9yYWJsZS5wbQotCi13aGVuIHJ1biB1c2luZyBhIHBlcmwgd2l0aCBhIGRpZmZlcmVudCBpbnRlZ2VyIHNpemUgKGFuZCBoZW5jZQotYnl0ZW9yZGVyKS4KLQotUmVwb3J0ZWQgYnkgVGltIFJldG91dCAoUlQjNzc3OTApCi0KLUJ1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNTg3NjUwCi1CdWc6IGh0dHBzOi8vcnQuY3Bhbi5vcmcvUHVibGljL0J1Zy9EaXNwbGF5Lmh0bWw/aWQ9Nzc3OTAKLUZvcndhcmRlZDogaHR0cHM6Ly9ydC5jcGFuLm9yZy9QdWJsaWMvQnVnL0Rpc3BsYXkuaHRtbD9pZD03Nzc5MAotUGF0Y2gtTmFtZTogZml4ZXMvbWVtb2l6ZV9zdG9yYWJsZV9uc3RvcmUuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL01lbW9pemUvTWVtb2l6ZS9TdG9yYWJsZS5wbSB8ICAyICstCi0gY3Bhbi9NZW1vaXplL3QvdGllX3N0b3JhYmxlLnQgICAgfCAyNCArKysrKysrKysrKysrKysrKysrKy0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL01lbW9pemUvTWVtb2l6ZS9TdG9yYWJsZS5wbSBiL2NwYW4vTWVtb2l6ZS9NZW1vaXplL1N0b3JhYmxlLnBtCi1pbmRleCAxMzE0Nzk3Li44Nzg3NmYyIDEwMDY0NAotLS0tIGEvY3Bhbi9NZW1vaXplL01lbW9pemUvU3RvcmFibGUucG0KLSsrKyBiL2NwYW4vTWVtb2l6ZS9NZW1vaXplL1N0b3JhYmxlLnBtCi1AQCAtNTUsNyArNTUsNyBAQCBzdWIgREVTVFJPWSB7Ci0gICByZXF1aXJlIENhcnAgaWYgJFZlcmJvc2U7Ci0gICBteSAkc2VsZj0gc2hpZnQ7Ci0gICBwcmludCBTVERFUlIgIk1lbW9pemU6OlN0b3JhYmxlOjpERVNUUk9ZKEBfKVxuIiBpZiAkVmVyYm9zZTsKLS0gIGlmICgkc2VsZi0+e09QVElPTlN9eyduc3RvcmUnfSkgewotKyAgaWYgKGV4aXN0cyAkc2VsZi0+e09QVElPTlN9eyduc3RvcmUnfSkgewotICAgICBTdG9yYWJsZTo6bnN0b3JlKCRzZWxmLT57SH0sICRzZWxmLT57RklMRU5BTUV9KTsKLSAgIH0gZWxzZSB7Ci0gICAgIFN0b3JhYmxlOjpzdG9yZSgkc2VsZi0+e0h9LCAkc2VsZi0+e0ZJTEVOQU1FfSk7Ci1kaWZmIC0tZ2l0IGEvY3Bhbi9NZW1vaXplL3QvdGllX3N0b3JhYmxlLnQgYi9jcGFuL01lbW9pemUvdC90aWVfc3RvcmFibGUudAotaW5kZXggZGUzYjhkYy4uYTYyNDIzOCAxMDA2NDQKLS0tLSBhL2NwYW4vTWVtb2l6ZS90L3RpZV9zdG9yYWJsZS50Ci0rKysgYi9jcGFuL01lbW9pemUvdC90aWVfc3RvcmFibGUudAotQEAgLTMxLDE4ICszMSwzNCBAQCBpZiAoJEApIHsKLSAgIGV4aXQgMDsKLSB9Ci0gCi0tcHJpbnQgIjEuLjRcbiI7Ci0rcHJpbnQgIjEuLjlcbiI7Ci0gCi0gJGZpbGUgPSAic3RvcmFibGUkJCI7Ci0gMSB3aGlsZSB1bmxpbmsgJGZpbGU7Ci0gdHJ5b3V0KCdNZW1vaXplOjpTdG9yYWJsZScsICRmaWxlLCAxKTsgICMgVGVzdCAxLi40Ci0gMSB3aGlsZSB1bmxpbmsgJGZpbGU7Ci0rdHJ5b3V0KCdNZW1vaXplOjpTdG9yYWJsZScsICRmaWxlLCA1LCAnbnN0b3JlJyk7ICAjIFRlc3QgNS4uOAotK2Fzc2VydF9uZXRvcmRlcigkZmlsZSwgOSk7ICAjIFRlc3QgOQotKzEgd2hpbGUgdW5saW5rICRmaWxlOwotKwotKwotK3N1YiBhc3NlcnRfbmV0b3JkZXIgewotKyAgbXkgKCRmaWxlLCAkdGVzdG5vKSA9IEBfOwotKwotKyAgbXkgJG5ldG9yZGVyID0gU3RvcmFibGU6OmZpbGVfbWFnaWMoJGZpbGUpLT57J25ldG9yZGVyJ307Ci0rICBwcmludCAoJG5ldG9yZGVyID8gIm9rICR0ZXN0bm9cbiIgOiAibm90IG9rICR0ZXN0bm9cbiIpOwotK30KLSAKLSBzdWIgdHJ5b3V0IHsKLS0gIG15ICgkdGllcGFjaywgJGZpbGUsICR0ZXN0bm8pID0gQF87Ci0rICBteSAoJHRpZXBhY2ssICRmaWxlLCAkdGVzdG5vLCAkb3B0aW9uKSA9IEBfOwotIAotLSAgdGllIG15ICVjYWNoZSA9PiAkdGllcGFjaywgJGZpbGUKLS0gICAgb3IgZGllICQhOwotKyAgaWYgKGRlZmluZWQgJG9wdGlvbikgewotKyAgICB0aWUgbXkgJWNhY2hlID0+ICR0aWVwYWNrLCAkZmlsZSwgJG9wdGlvbgotKyAgICAgIG9yIGRpZSAkITsKLSsgIH0gZWxzZSB7Ci0rICAgIHRpZSBteSAlY2FjaGUgPT4gJHRpZXBhY2ssICRmaWxlCi0rICAgICAgb3IgZGllICQhOwotKyAgfQotIAotICAgbWVtb2l6ZSAnYzUnLCAKLSAgIFNDQUxBUl9DQUNIRSA9PiBbSEFTSCA9PiBcJWNhY2hlXSwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvbmV0X3NtdHBfZG9jcy5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9uZXRfc210cF9kb2NzLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmY2Y3ZmIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9uZXRfc210cF9kb2NzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIGZhMDg1ZmVkZDljNDA2ZWRjZDRhMWEyNTZjMDI1ZDVmZjdmNmM2ZGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFRodSwgMjAgU2VwIDIwMDcgMTk6NDc6MTQgKzEwMDAKLVN1YmplY3Q6IERvY3VtZW50IHRoZSBOZXQ6OlNNVFAgJ1BvcnQnIG9wdGlvbgotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzEwMDE5NQotQnVnOiBodHRwOi8vcnQuY3Bhbi5vcmcvUHVibGljL0J1Zy9EaXNwbGF5Lmh0bWw/aWQ9MzYwMzgKLQotUGF0Y2gtTmFtZTogZml4ZXMvbmV0X3NtdHBfZG9jcy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vbGlibmV0L2xpYi9OZXQvU01UUC5wbSB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9saWJuZXQvbGliL05ldC9TTVRQLnBtIGIvY3Bhbi9saWJuZXQvbGliL05ldC9TTVRQLnBtCi1pbmRleCBhZmQwMTdhLi42YWU3ZDllIDEwMDY0NAotLS0tIGEvY3Bhbi9saWJuZXQvbGliL05ldC9TTVRQLnBtCi0rKysgYi9jcGFuL2xpYm5ldC9saWIvTmV0L1NNVFAucG0KLUBAIC03MzgsNiArNzM4LDcgQEAgTmV0OjpTTVRQIHdpbGwgYXR0ZW1wdCB0byBleHRyYWN0IHRoZSBhZGRyZXNzIGZyb20gdGhlIHZhbHVlIHBhc3NlZC4KLSAKLSBCPERlYnVnPiAtIEVuYWJsZSBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24KLSAKLStCPFBvcnQ+IC0gU2VsZWN0IGEgcG9ydCBvbiB0aGUgcmVtb3RlIGhvc3QgdG8gY29ubmVjdCB0byAoZGVmYXVsdCBpcyAyNSkKLSAKLSBFeGFtcGxlOgotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wZXJsLUNubi5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wZXJsLUNubi5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YmRmNDFiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcGVybC1Dbm4uZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLUZyb20gMGVjZjgzZjI1OWRiMDljYjM4Y2IzN2M5YjIyZTcyYmUxODVhZmE4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEh1Z28gdmFuIGRlciBTYW5kZW4gPGh2QGNyeXB0Lm9yZz4KLURhdGU6IFRodSwgMTEgSnVuIDIwMTUgMTI6MjU6NDAgKzAxMDAKLVN1YmplY3Q6IGZpeCAtQ25uIHBhcnNpbmcKLQotQ29tbWl0IDIyZmYzMTMwNjggZm9yIFtwZXJsICMxMjM4MTRdIGluYWR2ZXJ0ZW50bHkgY2hhbmdlZCB0aGUgbG9naWMgd2hlbgotcGFyc2luZyBhIG51bWVyaWMgcGFyYW1ldGVyIHRvIHRoZSAtQyBvcHRpb24sIHN1Y2ggdGhhdCB0aGUgc3VjY2Vzc2Z1bGx5Ci1wYXJzZWQgbnVtYmVyIHdhcyBub3Qgc2F2ZWQgYXMgdGhlIG9wdGlvbiB2YWx1ZSBpZiBpdCBwYXJzZWQgdG8gdGhlIGVuZAotb2YgdGhlIGFyZ3VtZW50LgotCi1CdWc6IGh0dHBzOi8vcnQucGVybC5vcmcvVGlja2V0L0Rpc3BsYXkuaHRtbD9pZD0xMjUzODEKLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc4ODYzNgotT3JpZ2luOiB1cHN0cmVhbSwgaHR0cDovL3Blcmw1LmdpdC5wZXJsLm9yZy9wZXJsLmdpdC9jb21taXQvODlkODRmZjk2NQotUGF0Y2gtTmFtZTogZml4ZXMvcGVybC1Dbm4uZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSB0L3J1bi9zd2l0Y2hDLnQgfCAgNyArKysrKystCi0gdXRpbC5jICAgICAgICAgIHwgMTcgKysrKysrKystLS0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvdC9ydW4vc3dpdGNoQy50IGIvdC9ydW4vc3dpdGNoQy50Ci1pbmRleCBmNmFhODY4Li40ZjYzYzNiIDEwMDY0NAotLS0tIGEvdC9ydW4vc3dpdGNoQy50Ci0rKysgYi90L3J1bi9zd2l0Y2hDLnQKLUBAIC0xMSw3ICsxMSw3IEBAIEJFR0lOIHsKLSAgICAgc2tpcF9hbGxfaWZfbWluaXBlcmwoJy1DIGFuZCAkRU5We1BFUkxfVU5JQ09ERX0gYXJlIGRpc2FibGVkIG9uIG1pbmlwZXJsJyk7Ci0gfQotIAotLXBsYW4odGVzdHMgPT4gMTMpOwotK3BsYW4odGVzdHMgPT4gMTQpOwotIAotIG15ICRyOwotIAotQEAgLTI1LDYgKzI1LDExIEBAICRyID0gcnVucGVybCggc3dpdGNoZXMgPT4gWyAnLUNPJywgJy13JyBdLAotICAgICAgICAgICAgICAgc3RkZXJyICAgPT4gMSApOwotIGxpa2UoICRyLCBxci9eJGIoPzpccj9cbik/JC9zLCAnLUNPOiBubyB3YXJuaW5nIG9uIFVURi04IG91dHB1dCcgKTsKLSAKLSskciA9IHJ1bnBlcmwoIHN3aXRjaGVzID0+IFsgJy1DMicsICctdycgXSwKLSsJICAgICAgcHJvZyAgICAgPT4gJ3ByaW50IGNocigyNTYpJywKLSsgICAgICAgICAgICAgIHN0ZGVyciAgID0+IDEgKTsKLStsaWtlKCAkciwgcXIvXiRiKD86XHI/XG4pPyQvcywgJy1DMjogbm8gd2FybmluZyBvbiBVVEYtOCBvdXRwdXQnICk7Ci0rCi0gU0tJUDogewotICAgICBpZiAoZXhpc3RzICRFTlZ7UEVSTF9VTklDT0RFfSAmJgotIAkoJEVOVntQRVJMX1VOSUNPREV9IGVxICIiIHx8ICRFTlZ7UEVSTF9VTklDT0RFfSA9fiAvW1NPXS8pKSB7Ci1kaWZmIC0tZ2l0IGEvdXRpbC5jIGIvdXRpbC5jCi1pbmRleCA4Y2Y2MmY1Li5lZTIzMzE0IDEwMDY0NAotLS0tIGEvdXRpbC5jCi0rKysgYi91dGlsLmMKLUBAIC00NDIwLDE2ICs0NDIwLDE1IEBAIFBlcmxfcGFyc2VfdW5pY29kZV9vcHRzKHBUSFhfIGNvbnN0IGNoYXIgKipwb3B0KQotICAgICAgICBpZiAoaXNESUdJVCgqcCkpIHsKLSAgICAgICAgICAgICBjb25zdCBjaGFyKiBlbmRwdHI7Ci0gICAgICAgICAgICAgVVYgdXY7Ci0tICAgICAgICAgICAgaWYgKGdyb2tfYXRvVVYocCwgJnV2LCAmZW5kcHRyKQotLSAgICAgICAgICAgICAgICAmJiB1diA8PSBVMzJfTUFYCi0tICAgICAgICAgICAgICAgICYmIChwID0gZW5kcHRyKQotLSAgICAgICAgICAgICAgICAmJiAqcCAmJiAqcCAhPSAnXG4nICYmICpwICE9ICdccicKLS0gICAgICAgICAgICApIHsKLSsgICAgICAgICAgICBpZiAoZ3Jva19hdG9VVihwLCAmdXYsICZlbmRwdHIpICYmIHV2IDw9IFUzMl9NQVgpIHsKLSAgICAgICAgICAgICAgICAgb3B0ID0gKFUzMil1djsKLS0gICAgICAgICAgICAgICAgaWYgKGlzU1BBQ0UoKnApKQotLSAgICAgICAgICAgICAgICAgICAgZ290byB0aGVfZW5kX29mX3RoZV9vcHRzX3BhcnNlcjsKLS0gICAgICAgICAgICAgICAgZWxzZQotLSAgICAgICAgICAgICAgICAgICAgUGVybF9jcm9hayhhVEhYXyAiVW5rbm93biBVbmljb2RlIG9wdGlvbiBsZXR0ZXIgJyVjJyIsICpwKTsKLSsgICAgICAgICAgICAgICAgcCA9IGVuZHB0cjsKLSsgICAgICAgICAgICAgICAgaWYgKHAgJiYgKnAgJiYgKnAgIT0gJ1xuJyAmJiAqcCAhPSAnXHInKSB7Ci0rICAgICAgICAgICAgICAgICAgICBpZiAoaXNTUEFDRSgqcCkpCi0rICAgICAgICAgICAgICAgICAgICAgICAgZ290byB0aGVfZW5kX29mX3RoZV9vcHRzX3BhcnNlcjsKLSsgICAgICAgICAgICAgICAgICAgIGVsc2UKLSsgICAgICAgICAgICAgICAgICAgICAgICBQZXJsX2Nyb2FrKGFUSFhfICJVbmtub3duIFVuaWNvZGUgb3B0aW9uIGxldHRlciAnJWMnIiwgKnApOwotKyAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgfQotICAgICAgICAgfQotICAgICAgICAgZWxzZSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZF9tYW5fcmVwcm9kdWNpYmxlX2RhdGUuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcG9kX21hbl9yZXByb2R1Y2libGVfZGF0ZS5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjM1NzNmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcG9kX21hbl9yZXByb2R1Y2libGVfZGF0ZS5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMTcxICswLDAgQEAKLUZyb20gOTA1N2FkYzEwNmQ2YmJlZjUzYzllNzA2NTIzY2Q5NGYxYTdhMDhkNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJ1c3MgQWxsYmVyeSA8cnJhQGRlYmlhbi5vcmc+Ci1EYXRlOiBTYXQsIDMwIEF1ZyAyMDE0IDE1OjEwOjQxIC0wNzAwCi1TdWJqZWN0OiBTdXBwb3J0IFBPRF9NQU5fREFURSBpbiBQb2Q6Ok1hbiBmb3IgdGhlIGxlZnQtaGFuZCBmb290ZXIKLQotSG9ub3IgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIFBPRF9NQU5fREFURSBhbmQgdXNlIGl0cyBjb250ZW50cywgaWYKLXNldCwgYXMgdGhlIHZhbHVlIG9mIHRoZSBsZWZ0LWhhbmQgZm9vdGVyIGlmIHRoZSBkYXRlIG9wdGlvbiBpcyBub3QKLXNldCwgb3ZlcnJpZGluZyB0aGUgdGltZXN0YW1wIG9mIHRoZSBpbnB1dCBmaWxlLiAgVGhpcyBpcyBwcmltYXJpbHkKLXVzZWZ1bCB0byBlbnN1cmUgcmVwcm9kdWNpYmxlIGJ1aWxkcyBvZiB0aGUgc2FtZSBvdXRwdXQgZmlsZSBnaXZlbiB0aGUKLXNhbWUgc291Y2UgYW5kIFBvZDo6TWFuIHZlcnNpb24sIGV2ZW4gd2hlbiBmaWxlIHRpbWVzdGFtcHMgbWF5IG5vdCBiZQotY29uc2lzdGVudC4gIFRoYW5rcywgTmlrbyBUeW5pLgotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzc1OTQwNQotT3JpZ2luOiB1cHN0cmVhbQotUGF0Y2gtTmFtZTogZml4ZXMvcG9kX21hbl9yZXByb2R1Y2libGVfZGF0ZS5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtICB8IDY5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQotIGNwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudCB8IDI5ICsrKysrKysrKysrKystLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbSBiL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtCi1pbmRleCA3MmNhOWZmLi4wNTM2NjYyIDEwMDY0NAotLS0tIGEvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0KLSsrKyBiL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtCi1AQCAtODc2LDI1ICs4NzYsNDIgQEAgc3ViIGRldmlzZV90aXRsZSB7Ci0gfQotIAotICMgRGV0ZXJtaW5lIHRoZSBtb2RpZmljYXRpb24gZGF0ZSBhbmQgcmV0dXJuIHRoYXQsIHByb3Blcmx5IGZvcm1hdHRlZCBpbiBJU08KLS0jIGZvcm1hdC4gIElmIHdlIGNhbid0IGdldCB0aGUgbW9kaWZpY2F0aW9uIGRhdGUgb2YgdGhlIGlucHV0LCBpbnN0ZWFkIHVzZSB0aGUKLS0jIGN1cnJlbnQgdGltZS4gIFBvZDo6U2ltcGxlIHJldHVybnMgYSBjb21wbGV0ZWx5IHVudXNlZnVsIHN0cmluZ2lmaWVkIGZpbGUKLS0jIGhhbmRsZSBhcyB0aGUgc291cmNlX2ZpbGVuYW1lIGZvciBpbnB1dCBmcm9tIGEgZmlsZSBoYW5kbGUsIHNvIHdlIGhhdmUgdG8KLS0jIGRlYWwgd2l0aCB0aGF0IGFzIHdlbGwuCi0rIyBmb3JtYXQuCi0rIwotKyMgSWYgUE9EX01BTl9EQVRFIGlzIHNldCwgdGhhdCBvdmVycmlkZXMgYW55dGhpbmcgZWxzZS4gIFRoaXMgY2FuIGJlIHVzZWQgZm9yCi0rIyByZXByb2R1Y2libGUgZ2VuZXJhdGlvbiBvZiB0aGUgc2FtZSBmaWxlIGV2ZW4gaWYgdGhlIGlucHV0IGZpbGUgdGltZXN0YW1wcwotKyMgYXJlIHVucHJlZGljdGFibGUgb3IgdGhlIFBPRCBjb21zIGZyb20gc3RhbmRhcmQgaW5wdXQuCi0rIwotKyMgT3RoZXJ3aXNlLCB1c2UgdGhlIG1vZGlmaWNhdGlvbiBkYXRlIG9mIHRoZSBpbnB1dCBpZiB3ZSBjYW4gc3RhdCBpdC4gIEJlCi0rIyBhd2FyZSB0aGF0IFBvZDo6U2ltcGxlIHJldHVybnMgdGhlIHN0cmluZ2lmaWNhdGlvbiBvZiB0aGUgZmlsZSBoYW5kbGUgYXMKLSsjIHNvdXJjZV9maWxlbmFtZSBmb3IgaW5wdXQgZnJvbSBhIGZpbGUgaGFuZGxlLCBzbyB3ZSdsbCBzdGF0IHNvbWUgcmFuZG9tIHJlZgotKyMgc3RyaW5nIGluIHRoYXQgY2FzZS4gIElmIHRoYXQgZmFpbHMsIGluc3RlYWQgdXNlIHRoZSBjdXJyZW50IHRpbWUuCi0rIwotKyMgJHNlbGYgLSBQb2Q6Ok1hbiBvYmplY3QsIHVzZWQgdG8gZ2V0IHRoZSBzb3VyY2UgZmlsZQotKyMKLSsjIFJldHVybnM6IFlZWVktTU0tREQgZGF0ZSBzdWl0YWJsZSBmb3IgdGhlIGxlZnQtaGFuZCBmb290ZXIKLSBzdWIgZGV2aXNlX2RhdGUgewotICAgICBteSAoJHNlbGYpID0gQF87Ci0rCi0rICAgICMgSWYgUE9EX01BTl9EQVRFIGlzIHNldCwgYWx3YXlzIHVzZSBpdC4KLSsgICAgaWYgKCRFTlZ7UE9EX01BTl9EQVRFfSkgewotKyAgICAgICAgcmV0dXJuICRFTlZ7UE9EX01BTl9EQVRFfTsKLSsgICAgfQotKwotKyAgICAjIE90aGVyd2lzZSwgZ2V0IHRoZSBpbnB1dCBmaWxlbmFtZSBhbmQgdHJ5IHRvIHN0YXQgaXQuICBJZiB0aGF0IGZhaWxzLAotKyAgICAjIHVzZSB0aGUgY3VycmVudCB0aW1lLgotICAgICBteSAkaW5wdXQgPSAkc2VsZi0+c291cmNlX2ZpbGVuYW1lOwotICAgICBteSAkdGltZTsKLSAgICAgaWYgKCRpbnB1dCkgewotLSAgICAgICAgJHRpbWUgPSAoc3RhdCAkaW5wdXQpWzldIHx8IHRpbWU7Ci0rICAgICAgICAkdGltZSA9IChzdGF0KCRpbnB1dCkpWzldIHx8IHRpbWUoKTsKLSAgICAgfSBlbHNlIHsKLS0gICAgICAgICR0aW1lID0gdGltZTsKLSsgICAgICAgICR0aW1lID0gdGltZSgpOwotICAgICB9Ci0gCi0tICAgICMgQ2FuJ3QgdXNlIFBPU0lYOjpzdHJmdGltZSgpLCB3aGljaCB1c2VzIEZjbnRsLCBiZWNhdXNlIE1ha2VNYWtlcgotLSAgICAjIHVzZXMgdGhpcyBhbmQgaXQgaGFzIHRvIHdvcmsgaW4gdGhlIGNvcmUgd2hpY2ggY2FuJ3QgbG9hZCBkeW5hbWljCi0tICAgICMgbGlicmFyaWVzLgotLSAgICBteSAoJHllYXIsICRtb250aCwgJGRheSkgPSAobG9jYWx0aW1lICR0aW1lKVs1LDQsM107Ci0tICAgIHJldHVybiBzcHJpbnRmICgiJTA0ZC0lMDJkLSUwMmQiLCAkeWVhciArIDE5MDAsICRtb250aCArIDEsICRkYXkpOwotKyAgICAjIENhbid0IHVzZSBQT1NJWDo6c3RyZnRpbWUoKSwgd2hpY2ggdXNlcyBGY250bCwgYmVjYXVzZSBNYWtlTWFrZXIgdXNlcwotKyAgICAjIHRoaXMgYW5kIGl0IGhhcyB0byB3b3JrIGluIHRoZSBjb3JlIHdoaWNoIGNhbid0IGxvYWQgZHluYW1pYyBsaWJyYXJpZXMuCi0rICAgIG15ICgkeWVhciwgJG1vbnRoLCAkZGF5KSA9IChsb2NhbHRpbWUoJHRpbWUpKVs1LDQsM107Ci0rICAgIHJldHVybiBzcHJpbnRmKCIlMDRkLSUwMmQtJTAyZCIsICR5ZWFyICsgMTkwMCwgJG1vbnRoICsgMSwgJGRheSk7Ci0gfQotIAotICMgUHJpbnQgb3V0IHRoZSBwcmVhbWJsZSBhbmQgdGhlIHRpdGxlLiAgVGhlIG1lYW5pbmcgb2YgdGhlIGFyZ3VtZW50cyB0byAuVEgKLUBAIC0xNjMyLDYgKzE2NDksMTUgQEAgYXJndW1lbnQuCi0gU2V0cyB0aGUgY2VudGVyZWQgcGFnZSBoZWFkZXIgdG8gdXNlIGluc3RlYWQgb2YgIlVzZXIgQ29udHJpYnV0ZWQgUGVybAotIERvY3VtZW50YXRpb24iLgotIAotKz1pdGVtIGRhdGUKLSsKLStTZXRzIHRoZSBsZWZ0LWhhbmQgZm9vdGVyLiAgSWYgdGhpcyBvcHRpb24gaXMgbm90IHNldCwgdGhlIGNvbnRlbnRzIG9mIHRoZQotK2Vudmlyb25tZW50IHZhcmlhYmxlIFBPRF9NQU5fREFURSwgaWYgc2V0LCB3aWxsIGJlIHVzZWQuICBGYWlsaW5nIHRoYXQsCi0rdGhlIG1vZGlmaWNhdGlvbiBkYXRlIG9mIHRoZSBpbnB1dCBmaWxlIHdpbGwgYmUgdXNlZCwgb3IgdGhlIGN1cnJlbnQgdGltZQotK2lmIHN0YXQoKSBjYW4ndCBmaW5kIHRoYXQgZmlsZSAod2hpY2ggd2lsbCBiZSB0aGUgY2FzZSBpZiB0aGUgaW5wdXQgaXMKLStmcm9tIEM8U1RESU4+KS4gIElmIG9idGFpbmVkIGZyb20gdGhlIGZpbGUgbW9kaWZpY2F0aW9uIGRhdGUgb3IgdGhlCi0rY3VycmVudCB0aW1lLCBoZSBkYXRlIHdpbGwgYmUgZm9ybWF0dGVkIGFzIEM8WVlZWS1NTS1ERD4uCi0rCi0gPWl0ZW0gZXJyb3JzCi0gCi0gSG93IHRvIHJlcG9ydCBlcnJvcnMuICBDPGRpZT4gc2F5cyB0byB0aHJvdyBhbiBleGNlcHRpb24gb24gYW55IFBPRAotQEAgLTE2NDIsMTMgKzE2NjgsNiBAQCBQT0QgZXJyb3JzIGVudGlyZWx5LCBhcyBtdWNoIGFzIHBvc3NpYmxlLgotIAotIFRoZSBkZWZhdWx0IGlzIEM8cG9kPi4KLSAKLS09aXRlbSBkYXRlCi0tCi0tU2V0cyB0aGUgbGVmdC1oYW5kIGZvb3Rlci4gIEJ5IGRlZmF1bHQsIHRoZSBtb2RpZmljYXRpb24gZGF0ZSBvZiB0aGUgaW5wdXQKLS1maWxlIHdpbGwgYmUgdXNlZCwgb3IgdGhlIGN1cnJlbnQgZGF0ZSBpZiBzdGF0KCkgY2FuJ3QgZmluZCB0aGF0IGZpbGUgKHRoZQotLWNhc2UgaWYgdGhlIGlucHV0IGlzIGZyb20gQzxTVERJTj4pLCBhbmQgdGhlIGRhdGUgd2lsbCBiZSBmb3JtYXR0ZWQgYXMKLS1DPFlZWVktTU0tREQ+LgotLQotID1pdGVtIGZpeGVkCi0gCi0gVGhlIGZpeGVkLXdpZHRoIGZvbnQgdG8gdXNlIGZvciB2ZXJiYXRpbSB0ZXh0IGFuZCBjb2RlLiAgRGVmYXVsdHMgdG8KLUBAIC0xODEwLDYgKzE4MjksMjAgQEAgb3B0aW9uIHdhcyBzZXQgdG8gQzxkaWU+LgotIAotID1iYWNrCi0gCi0rPWhlYWQxIEVOVklST05NRU5UCi0rCi0rPW92ZXIgNAotKwotKz1pdGVtIFBPRF9NQU5fREFURQotKwotK0lmIHNldCwgdGhpcyB3aWxsIGJlIHVzZWQgYXMgdGhlIHZhbHVlIG9mIHRoZSBsZWZ0LWhhbmQgZm9vdGVyIHVubGVzcyB0aGUKLStDPGRhdGU+IG9wdGlvbiBpcyBleHBsaWNpdGx5IHNldCwgb3ZlcnJpZGluZyB0aGUgdGltZXN0YW1wIG9mIHRoZSBpbnB1dAotK2ZpbGUgb3IgdGhlIGN1cnJlbnQgdGltZS4gIFRoaXMgaXMgcHJpbWFyaWx5IHVzZWZ1bCB0byBlbnN1cmUgcmVwcm9kdWNpYmxlCi0rYnVpbGRzIG9mIHRoZSBzYW1lIG91dHB1dCBmaWxlIGdpdmVuIHRoZSBzYW1lIHNvdWNlIGFuZCBQb2Q6Ok1hbiB2ZXJzaW9uLAotK2V2ZW4gd2hlbiBmaWxlIHRpbWVzdGFtcHMgbWF5IG5vdCBiZSBjb25zaXN0ZW50LgotKwotKz1iYWNrCi0rCi0gPWhlYWQxIEJVR1MKLSAKLSBFbmNvZGluZyBoYW5kbGluZyBhc3N1bWVzIHRoYXQgUGVybElPIGlzIGF2YWlsYWJsZSBhbmQgZG9lcyBub3Qgd29yawotZGlmZiAtLWdpdCBhL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudCBiL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudAotaW5kZXggM2NjZTlmNS4uYzYxMGRkOSAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudAotKysrIGIvY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtZGF0ZS50Ci1AQCAtMSwxNSArMSwyOCBAQAotLSMhL3Vzci9iaW4vcGVybCAtdwotLQotLSMgSW4gb3JkZXIgZm9yIE1ha2VNYWtlciB0byBidWlsZCBpbiB0aGUgY29yZSwgbm90aGluZyBjYW4gdXNlCi0tIyBGY250bCB3aGljaCBpbmNsdWRlcyBQT1NJWC4gIGRldmlzZV9kYXRlKCkncyB1c2Ugb2Ygc3RyZnRpbWUoKQotLSMgd2FzIHJlcGxhY2VkLiAgVGhpcyB0ZXN0cyB0aGF0IGl0J3MgaWRlbnRpY2FsLgotKyMhL3Vzci9iaW4vcGVybAotKyMKLSsjIEluIG9yZGVyIGZvciBNYWtlTWFrZXIgdG8gYnVpbGQgaW4gdGhlIGNvcmUsIG5vdGhpbmcgY2FuIHVzZSBGY250bCB3aGljaAotKyMgaW5jbHVkZXMgUE9TSVguICBkZXZpc2VfZGF0ZSgpJ3MgdXNlIG9mIHN0cmZ0aW1lKCkgd2FzIHJlcGxhY2VkLiAgVGhpcyB0ZXN0cwotKyMgdGhhdCBpdCdzIGlkZW50aWNhbC4gIEl0IGFsc28gdGVzdHMgc3BlY2lhbCBoYW5kbGluZyBvZiB0aGUgUE9EX01BTl9EQVRFCi0rIyBlbnZpcm9ubWVudCB2YXJpYWJsZS4KLSAKLSt1c2UgNS4wMDY7Ci0gdXNlIHN0cmljdDsKLS0KLS11c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAxOwotK3VzZSB3YXJuaW5nczsKLSAKLSB1c2UgUG9kOjpNYW47Ci0gdXNlIFBPU0lYIHF3KHN0cmZ0aW1lKTsKLSAKLSt1c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAyOwotKwotKyMgQ2hlY2sgdGhhdCB0aGUgcmVzdWx0cyBvZiBkZXZpY2VfZGF0ZSBtYXRjaGVzIHN0cmZ0aW1lLiAgVGhlcmUgaXMgbm8gaW5wdXQKLSsjIGZpbGUgbmFtZSwgc28gdGhpcyB3aWxsIHVzZSB0aGUgY3VycmVudCB0aW1lLgotIG15ICRwYXJzZXIgPSBQb2Q6Ok1hbi0+bmV3OwotLWlzICRwYXJzZXItPmRldmlzZV9kYXRlLCBzdHJmdGltZSgiJVktJW0tJWQiLCBsb2NhbHRpbWUpOwotK2lzKAotKyAgICAkcGFyc2VyLT5kZXZpc2VfZGF0ZSwKLSsgICAgc3RyZnRpbWUoJyVZLSVtLSVkJywgbG9jYWx0aW1lKCkpLAotKyAgICAnZGV2aXNlX2RhdGUgbWF0Y2hlcyBzdHJmdGltZScKLSspOwotKwotKyMgU2V0IHRoZSBvdmVycmlkZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBhbmQgZW5zdXJlIHRoYXQgaXQncyBob25vcmVkLgotK2xvY2FsICRFTlZ7UE9EX01BTl9EQVRFfSA9ICcyMDE0LTAxLTAxJzsKLStpcygkcGFyc2VyLT5kZXZpc2VfZGF0ZSwgJzIwMTQtMDEtMDEnLCAnZGV2aXNlX2RhdGUgaG9ub3JzIFBPRF9NQU5fREFURScpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wb2RtYW4tZW1wdHktZGF0ZS5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wb2RtYW4tZW1wdHktZGF0ZS5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZGUyOWI4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcG9kbWFuLWVtcHR5LWRhdGUuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLUZyb20gMTgzYmI0YWY3YWQ4NjJhMmNmMzFkMGRjYjNkZDQ1YzEwMGY3Njc3NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJ1c3MgQWxsYmVyeSA8cnJhQGNwYW4ub3JnPgotRGF0ZTogV2VkLCAxNSBBcHIgMjAxNSAyMjoyMToyNSAtMDcwMAotU3ViamVjdDogU3VwcG9ydCBhbiBlbXB0eSBQT0RfTUFOX0RBVEUgZW52aXJvbm1lbnQgdmFyaWFibGUKLQotT25lIG1heSB3YW50IHRvIHNldCB0aGlzIHRvIGFuIGVtcHR5IHN0cmluZy4gIEhhbmRsZSB0aGF0IGNvcnJlY3RseS4KLQotKGJhY2twb3J0ZWQgdG8gUGVybCA1LjIwLjIgYnkgTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPikKLQotT3JpZ2luOiB1cHN0cmVhbSwgaHR0cDovL2dpdC5leXJpZS5vcmcvP3A9cGVybC9wb2RsYXRvcnMuZ2l0O2E9Y29tbWl0ZGlmZjtoPWUwZTlmY2I1M2U4ZmM5NTRiMmIxOTU1Mzg1ZWVhMThjMjdmODY5YWYKLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc4MDI1OQotUGF0Y2gtTmFtZTogZml4ZXMvcG9kbWFuLWVtcHR5LWRhdGUuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbSAgfCAyICstCi0gY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtZGF0ZS50IHwgNiArKysrKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtIGIvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0KLWluZGV4IDM2NTg5MmUuLjg5OTdhMTUgMTAwNjQ0Ci0tLS0gYS9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotKysrIGIvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0KLUBAIC04OTQsNyArODk0LDcgQEAgc3ViIGRldmlzZV9kYXRlIHsKLSAgICAgbXkgKCRzZWxmKSA9IEBfOwotIAotICAgICAjIElmIFBPRF9NQU5fREFURSBpcyBzZXQsIGFsd2F5cyB1c2UgaXQuCi0tICAgIGlmICgkRU5We1BPRF9NQU5fREFURX0pIHsKLSsgICAgaWYgKGRlZmluZWQoJEVOVntQT0RfTUFOX0RBVEV9KSkgewotICAgICAgICAgcmV0dXJuICRFTlZ7UE9EX01BTl9EQVRFfTsKLSAgICAgfQotIAotZGlmZiAtLWdpdCBhL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudCBiL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudAotaW5kZXggOWRhOWQxYi4uMjcyNzFkOSAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudAotKysrIGIvY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtZGF0ZS50Ci1AQCAtMTIsNyArMTIsNyBAQCB1c2Ugd2FybmluZ3M7Ci0gdXNlIFBvZDo6TWFuOwotIHVzZSBQT1NJWCBxdyhzdHJmdGltZSk7Ci0gCi0tdXNlIFRlc3Q6Ok1vcmUgdGVzdHMgPT4gMjsKLSt1c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAzOwotIAotICMgQ2hlY2sgdGhhdCB0aGUgcmVzdWx0cyBvZiBkZXZpY2VfZGF0ZSBtYXRjaGVzIHN0cmZ0aW1lLiAgVGhlcmUgaXMgbm8gaW5wdXQKLSAjIGZpbGUgbmFtZSwgc28gdGhpcyB3aWxsIHVzZSB0aGUgY3VycmVudCB0aW1lLgotQEAgLTI2LDMgKzI2LDcgQEAgaXMoCi0gIyBTZXQgdGhlIG92ZXJyaWRlIGVudmlyb25tZW50IHZhcmlhYmxlIGFuZCBlbnN1cmUgdGhhdCBpdCdzIGhvbm9yZWQuCi0gbG9jYWwgJEVOVntQT0RfTUFOX0RBVEV9ID0gJzIwMTQtMDEtMDEnOwotIGlzKCRwYXJzZXItPmRldmlzZV9kYXRlLCAnMjAxNC0wMS0wMScsICdkZXZpc2VfZGF0ZSBob25vcnMgUE9EX01BTl9EQVRFJyk7Ci0rCi0rIyBDaGVjayB0aGF0IGFuIGVtcHR5IGVudmlyb25tZW50IHZhcmlhYmxlIGlzIGhvbm9yZWQuCi0rbG9jYWwgJEVOVntQT0RfTUFOX0RBVEV9ID0gcXt9OwotK2lzKCRwYXJzZXItPmRldmlzZV9kYXRlLCBxe30sICdkZXZpc2VfZGF0ZSBob25vcnMgZW1wdHkgUE9EX01BTl9EQVRFJyk7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZG1hbi1waXBlLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZG1hbi1waXBlLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4ODU4ZDguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wb2RtYW4tcGlwZS5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMTEwICswLDAgQEAKLUZyb20gNzY3MWQxMDFiYWE3NWQ3YTc5YmZiZDhjNzVjMTU5NWZiYjNmNTNiYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJ1c3MgQWxsYmVyeSA8cnJhQGNwYW4ub3JnPgotRGF0ZTogU2F0LCA3IEZlYiAyMDE1IDE5OjAzOjM0IC0wODAwCi1TdWJqZWN0OiBCZXR0ZXIgZXJyb3JzIGZvciBtYW4gcGFnZXMgZnJvbSBzdGFuZGFyZCBpbnB1dAotCi1bUG9kOjpNYW5dIEF0dGVtcHQgdG8gZGV0ZWN0IGlmIHRoZSBpbnB1dCBjYW1lIGZyb20gYSBwaXBlIGFuZAotdGhlcmVmb3JlIGhhcyBhIGNvbXBsZXRlbHkgdW5oZWxwZnVsIChhbmQgbm9ucmVwcm9kdWNpYmxlKSBzb3VyY2UgZmlsZQotbmFtZSwgYW5kIGRpYWdub3NlIHRoaXMgYXMgYW4gZXJyb3IuICBEb2N1bWVudCB0aGF0IHRoZSBuYW1lIG9wdGlvbgotKC0tbmFtZSB0byBwb2QybWFuKSBpcyByZXF1aXJlZCB3aGVuIHByb2Nlc3NpbmcgUE9EIHNvdXJjZSBmcm9tCi1zdGFuZGFyZCBpbnB1dC4gIChEZWJpYW4gQnVnIzc3NzQwNSkKLQotKGJhY2twb3J0ZWQgdG8gUGVybCA1LjIwLjIgYnkgTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPikKLQotT3JpZ2luOiB1cHN0cmVhbSwgaHR0cDovL2dpdC5leXJpZS5vcmcvP3A9cGVybC9wb2RsYXRvcnMuZ2l0O2E9Y29tbWl0ZGlmZjtoPWQ5ODg3MmU0NmM5Mzg2MWI3YWJhMTQ5NDllMTI1ODcxMjA4N2RjNTUKLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc3NzQwNQotUGF0Y2gtTmFtZTogZml4ZXMvcG9kbWFuLXBpcGUuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbSAgICAgfCAxNSArKysrKysrKysrKysrKysKLSBjcGFuL3BvZGxhdG9ycy9zY3JpcHRzL3BvZDJtYW4uUEwgfCAgNCArKysrCi0gY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtdGl0bGUudCAgIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSAzIGZpbGVzIGNoYW5nZWQsIDUxIGluc2VydGlvbnMoKykKLSBjcmVhdGUgbW9kZSAxMDA3NTUgY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtdGl0bGUudAotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0gYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotaW5kZXggODk5N2ExNS4uOTY5ZWFmZiAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtCi0rKysgYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotQEAgLTgyOCw2ICs4MjgsMTcgQEAgc3ViIGRldmlzZV90aXRsZSB7Ci0gICAgICRzZWN0aW9uID0gMyBpZiAoISQkc2VsZntzZWN0aW9ufSAmJiAkbmFtZSA9fiAvXC5wbVx6L2kpOwotICAgICAkbmFtZSA9fiBzL1wucChvZHxbbG1dKVx6Ly9pOwotIAotKyAgICAjIElmIFBvZDo6UGFyc2VyIGdhdmUgdXMgYW4gSU86OkZpbGUgcmVmZXJlbmNlIGFzIHRoZSBzb3VyY2UgZmlsZSBuYW1lLAotKyAgICAjIGNvbnZlcnQgdGhhdCB0byB0aGUgZW1wdHkgc3RyaW5nIGFzIHdlbGwuICBUaGVuLCBpZiB3ZSBkb24ndCBoYXZlIGEKLSsgICAgIyB2YWxpZCBuYW1lLCBlbWl0IGEgd2FybmluZyBhbmQgY29udmVydCBpdCB0byBTVERJTi4KLSsgICAgaWYgKCRuYW1lID1+IC9eSU86OkZpbGUoPzo9XHcrKVwoMHhbXGRhLWZdK1wpJC9pKSB7Ci0rICAgICAgICAkbmFtZSA9ICcnOwotKyAgICB9Ci0rICAgIGlmICgkbmFtZSBlcSAnJykgewotKyAgICAgICAgJHNlbGYtPndoaW5lICgxLCAnTm8gbmFtZSBnaXZlbiBmb3IgZG9jdW1lbnQnKTsKLSsgICAgICAgICRuYW1lID0gJ1NURElOJzsKLSsgICAgfQotKwotICAgICAjIElmIHRoZSBzZWN0aW9uIGlzbid0IDMsIHRoZW4gdGhlIG5hbWUgZGVmYXVsdHMgdG8ganVzdCB0aGUgYmFzZW5hbWUgb2YKLSAgICAgIyB0aGUgZmlsZS4gIE90aGVyd2lzZSwgYXNzdW1lIHdlJ3JlIGRlYWxpbmcgd2l0aCBhIG1vZHVsZS4gIFdlIHdhbnQgdG8KLSAgICAgIyBmaWd1cmUgb3V0IHRoZSBmdWxsIG1vZHVsZSBuYW1lIGZyb20gdGhlIHBhdGggdG8gdGhlIGZpbGUsIGJ1dCB3ZSBkb24ndAotQEAgLTE3MDUsNiArMTcxNiwxMCBAQCBtb2R1bGUgcGF0aC4gIElmIGl0IGlzLCBhIHBhdGggbGlrZSBDPC4uLi9saWIvUG9kL01hbi5wbT4gaXMgY29udmVydGVkIGludG8KLSBhIG5hbWUgbGlrZSBDPFBvZDo6TWFuPi4gIFRoaXMgb3B0aW9uLCBpZiBnaXZlbiwgb3ZlcnJpZGVzIGFueSBhdXRvbWF0aWMKLSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBuYW1lLgotIAotK0lmIGdlbmVyYXRpbmcgYSBtYW51YWwgcGFnZSBmcm9tIHN0YW5kYXJkIGlucHV0LCB0aGlzIG9wdGlvbiBpcyByZXF1aXJlZCwKLStzaW5jZSB0aGVyZSdzIG90aGVyd2lzZSBubyB3YXkgZm9yIFBvZDo6TWFuIHRvIGtub3cgd2hhdCB0byB1c2UgZm9yIHRoZQotK21hbnVhbCBwYWdlIG5hbWUuCi0rCi0gPWl0ZW0gbm91cmxzCi0gCi0gTm9ybWFsbHksIExaPD48PiBmb3JtYXR0aW5nIGNvZGVzIHdpdGggYSBVUkwgYnV0IGFuY2hvciB0ZXh0IGFyZSBmb3JtYXR0ZWQKLWRpZmYgLS1naXQgYS9jcGFuL3BvZGxhdG9ycy9zY3JpcHRzL3BvZDJtYW4uUEwgYi9jcGFuL3BvZGxhdG9ycy9zY3JpcHRzL3BvZDJtYW4uUEwKLWluZGV4IDM4Njk1ZjguLjQzZTM1ZGYgMTAwNjQ0Ci0tLS0gYS9jcGFuL3BvZGxhdG9ycy9zY3JpcHRzL3BvZDJtYW4uUEwKLSsrKyBiL2NwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTAotQEAgLTIzNiw2ICsyMzYsMTAgQEAgTm90ZSB0aGF0IHRoaXMgb3B0aW9uIGlzIHByb2JhYmx5IG5vdCB1c2VmdWwgd2hlbiBjb252ZXJ0aW5nIG11bHRpcGxlIFBPRAotIGZpbGVzIGF0IG9uY2UuICBUaGUgY29udmVudGlvbiBmb3IgVW5peCBtYW4gcGFnZXMgZm9yIGNvbW1hbmRzIGlzIGZvciB0aGUKLSBtYW4gcGFnZSB0aXRsZSB0byBiZSBpbiBhbGwtdXBwZXJjYXNlIGV2ZW4gaWYgdGhlIGNvbW1hbmQgaXNuJ3QuCi0gCi0rV2hlbiBjb252ZXJ0aW5nIFBPRCBzb3VyY2UgZnJvbSBzdGFuZGFyZCBpbnB1dCwgdGhpcyBvcHRpb24gaXMgcmVxdWlyZWQsCi0rc2luY2UgdGhlcmUncyBvdGhlcndpc2Ugbm8gd2F5IHRvIGtub3cgd2hhdCB0byB1c2UgYXMgdGhlIG5hbWUgb2YgdGhlCi0rbWFudWFsIHBhZ2UuCi0rCi0gPWl0ZW0gQjwtLW5vdXJscz4KLSAKLSBOb3JtYWxseSwgTFo8Pjw+IGZvcm1hdHRpbmcgY29kZXMgd2l0aCBhIFVSTCBidXQgYW5jaG9yIHRleHQgYXJlIGZvcm1hdHRlZAotZGlmZiAtLWdpdCBhL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLXRpdGxlLnQgYi9jcGFuL3BvZGxhdG9ycy90L2RldmlzZS10aXRsZS50Ci1uZXcgZmlsZSBtb2RlIDEwMDc1NQotaW5kZXggMDAwMDAwMC4uODYzOTQ0MQotLS0tIC9kZXYvbnVsbAotKysrIGIvY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtdGl0bGUudAotQEAgLTAsMCArMSwzMiBAQAotKyMhL3Vzci9iaW4vcGVybAotKyMKLSsjIFRlc3RzIGZvciB0aGUgYXV0b21hdGljIGRldGVybWluYXRpb24gb2YgdGhlIG1hbnVhbCBwYWdlIHRpdGxlIGlmIG5vdAotKyMgc3BlY2lmaWVkIHZpYSBvcHRpb25zIHRvIHBvZDJtYW4gb3IgdGhlIFBvZDo6TWFuIGNvbnN0cnVjdG9yLgotKwotK3VzZSA1LjAwNjsKLSt1c2Ugc3RyaWN0OwotK3VzZSB3YXJuaW5nczsKLSsKLSt1c2UgRmlsZTo6U3BlYzsKLSt1c2UgSU86OkZpbGU7Ci0rdXNlIFRlc3Q6Ok1vcmUgdGVzdHMgPT4gMzsKLSsKLStCRUdJTiB7Ci0rICAgIHVzZV9vaygnUG9kOjpNYW4nKTsKLSt9Ci0rCi0rIyBDcmVhdGUgYSBwYXJzZXIgYW5kIHNldCBpdCB1cCB3aXRoIGFuIGlucHV0IHNvdXJjZS4gIFRoZXJlIGlzbid0IGEgd2F5IHRvIGRvCi0rIyB0aGlzIGluIFBvZDo6U2ltcGxlIHdpdGhvdXQgYWN0dWFsbHkgcGFyc2luZyB0aGUgZG9jdW1lbnQsIHNvIHNlbmQgdGhlCi0rIyBvdXRwdXQgdG8gYSBzdHJpbmcgdGhhdCB3ZSdsbCBpZ25vcmUuCi0rbXkgJHBhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIoJ3QnLCAnZGF0YScsICdiYXNpYy5wb2QnKTsKLStteSAkaGFuZGxlID0gSU86OkZpbGUtPm5ldygkcGF0aCwgJ3InKTsKLStteSAkcGFyc2VyID0gUG9kOjpNYW4tPm5ldyhlcnJvcnMgPT4gJ3BvZCcpOwotK215ICRvdXRwdXQ7Ci0rJHBhcnNlci0+b3V0cHV0X3N0cmluZyhcJG91dHB1dCk7Ci0rJHBhcnNlci0+cGFyc2VfZmlsZSgkaGFuZGxlKTsKLSsKLSsjIENoZWNrIHRoZSByZXN1bHRzIG9mIGRldmlzZV90aXRsZSBmb3IgdGhpcy4gIFdlIHNob3VsZCBnZXQgYmFjayBTVERJTiwgYW5kCi0rIyB3ZSBzaG91bGQgaGF2ZSByZXBvcnRlZCBhbiBlcnJvci4KLStteSAoJG5hbWUsICRzZWN0aW9uKSA9ICRwYXJzZXItPmRldmlzZV90aXRsZTsKLStpcygkbmFtZSwgJ1NURElOJywgJ2RldmlzZV90aXRsZSB1c2VzIFNURElOIGZvciBmaWxlIGhhbmRsZSBpbnB1dCcpOwotK29rKCRwYXJzZXItPmVycm9yc19zZWVuLCAnLi4uYW5kIGVycm9ycyB3ZXJlIHNlZW4nKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcG9kbWFuLXV0Yy1kb2NzLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZG1hbi11dGMtZG9jcy5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNmFlNDA5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcG9kbWFuLXV0Yy1kb2NzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi1Gcm9tIDYxOTg4NTZiNTMyM2Q2MjA0MDk0MjkzZjAxYjg5MDQ3MjYxOGYxODIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSdXNzIEFsbGJlcnkgPHJyYUBjcGFuLm9yZz4KLURhdGU6IFdlZCwgMTUgQXByIDIwMTUgMjA6NDk6MDcgLTA3MDAKLVN1YmplY3Q6IERvY3VtZW50YXRpb24gYW5kIHRlc3Qgc3VpdGUgdXBkYXRlcyBmb3IgVVRDIGZpeAotCi1VcGRhdGUgdGhlIFBvZDo6TWFuIGFuZCBwb2QybWFuIGRvY3VtZW50YXRpb24gYW5kIHRoZSB0ZXN0IHN1aXRlCi1mb3IgdGhlIG5ldyBVVEMtYmFzZWQgZGVmYXVsdCBwYWdlIGZvb3RlciwgYW5kIGFkZCBhIENoYW5nZXMKLWVudHJ5LgotCi0oYmFja3BvcnRlZCB0byBQZXJsIDUuMjAuMiBieSBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+KQotCi1PcmlnaW46IHVwc3RyZWFtLCBodHRwOi8vZ2l0LmV5cmllLm9yZy8/cD1wZXJsL3BvZGxhdG9ycy5naXQ7YT1jb21taXRkaWZmO2g9NTJkYjkzYmY4MGU0YTA2Zjg0OTdlNGViYWRlMDUwNmI2ZWUwZTcwZAotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzgwMjU5Ci1QYXRjaC1OYW1lOiBmaXhlcy9wb2RtYW4tdXRjLWRvY3MuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbSAgICAgfCAgNiArKysrKy0KLSBjcGFuL3BvZGxhdG9ycy9zY3JpcHRzL3BvZDJtYW4uUEwgfCAxMSArKysrKystLS0tLQotIGNwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudCAgICB8ICAyICstCi0gMyBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0gYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotaW5kZXggYzNiYTIwMS4uMzY1ODkyZSAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtCi0rKysgYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotQEAgLTkxMCw2ICs5MTAsOCBAQCBzdWIgZGV2aXNlX2RhdGUgewotIAotICAgICAjIENhbid0IHVzZSBQT1NJWDo6c3RyZnRpbWUoKSwgd2hpY2ggdXNlcyBGY250bCwgYmVjYXVzZSBNYWtlTWFrZXIgdXNlcwotICAgICAjIHRoaXMgYW5kIGl0IGhhcyB0byB3b3JrIGluIHRoZSBjb3JlIHdoaWNoIGNhbid0IGxvYWQgZHluYW1pYyBsaWJyYXJpZXMuCi0rICAgICMgVXNlIGdtdGltZSBpbnN0ZWFkIG9mIGxvY2FsdGltZSBzbyB0aGF0IHRoZSBnZW5lcmF0ZWQgbWFuIHBhZ2UgZG9lcyBub3QKLSsgICAgIyBkZXBlbmQgb24gdGhlIGxvY2FsIHRpbWUgem9uZSBzZXR0aW5nIGFuZCBpcyBtb3JlIHJlcHJvZHVjaWJsZQotICAgICBteSAoJHllYXIsICRtb250aCwgJGRheSkgPSAoZ210aW1lKCR0aW1lKSlbNSw0LDNdOwotICAgICByZXR1cm4gc3ByaW50ZigiJTA0ZC0lMDJkLSUwMmQiLCAkeWVhciArIDE5MDAsICRtb250aCArIDEsICRkYXkpOwotIH0KLUBAIC0xNjU2LDcgKzE2NTgsOSBAQCBlbnZpcm9ubWVudCB2YXJpYWJsZSBQT0RfTUFOX0RBVEUsIGlmIHNldCwgd2lsbCBiZSB1c2VkLiAgRmFpbGluZyB0aGF0LAotIHRoZSBtb2RpZmljYXRpb24gZGF0ZSBvZiB0aGUgaW5wdXQgZmlsZSB3aWxsIGJlIHVzZWQsIG9yIHRoZSBjdXJyZW50IHRpbWUKLSBpZiBzdGF0KCkgY2FuJ3QgZmluZCB0aGF0IGZpbGUgKHdoaWNoIHdpbGwgYmUgdGhlIGNhc2UgaWYgdGhlIGlucHV0IGlzCi0gZnJvbSBDPFNURElOPikuICBJZiBvYnRhaW5lZCBmcm9tIHRoZSBmaWxlIG1vZGlmaWNhdGlvbiBkYXRlIG9yIHRoZQotLWN1cnJlbnQgdGltZSwgaGUgZGF0ZSB3aWxsIGJlIGZvcm1hdHRlZCBhcyBDPFlZWVktTU0tREQ+LgotK2N1cnJlbnQgdGltZSwgdGhlIGRhdGUgd2lsbCBiZSBmb3JtYXR0ZWQgYXMgQzxZWVlZLU1NLUREPiBhbmQgd2lsbCBiZSBiYXNlZAotK29uIFVUQyAoc28gdGhhdCB0aGUgb3V0cHV0IHdpbGwgYmUgcmVwcm9kdWNpYmxlIHJlZ2FyZGxlc3Mgb2YgbG9jYWwgdGltZQotK3pvbmUpLgotIAotID1pdGVtIGVycm9ycwotIAotZGlmZiAtLWdpdCBhL2NwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTCBiL2NwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTAotaW5kZXggNmFmMzQ3NC4uMzg2OTVmOCAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTAotKysrIGIvY3Bhbi9wb2RsYXRvcnMvc2NyaXB0cy9wb2QybWFuLlBMCi1AQCAtMTc0LDkgKzE3NCwxMCBAQCBDb250cmlidXRlZCBQZXJsIERvY3VtZW50YXRpb24iLCBidXQgYWxzbyBzZWUgQjwtLW9mZmljaWFsPiBiZWxvdy4KLSAKLSA9aXRlbSBCPC1kPiBJPHN0cmluZz4sIEI8LS1kYXRlPj1JPHN0cmluZz4KLSAKLS1TZXQgdGhlIGxlZnQtaGFuZCBmb290ZXIgc3RyaW5nIHRvIHRoaXMgdmFsdWUuICBCeSBkZWZhdWx0LCB0aGUgbW9kaWZpY2F0aW9uCi0tZGF0ZSBvZiB0aGUgaW5wdXQgZmlsZSB3aWxsIGJlIHVzZWQsIG9yIHRoZSBjdXJyZW50IGRhdGUgaWYgaW5wdXQgY29tZXMgZnJvbQotLUM8U1RESU4+LgotK1NldCB0aGUgbGVmdC1oYW5kIGZvb3RlciBzdHJpbmcgdG8gdGhpcyB2YWx1ZS4gIEJ5IGRlZmF1bHQsIHRoZQotK21vZGlmaWNhdGlvbiBkYXRlIG9mIHRoZSBpbnB1dCBmaWxlIHdpbGwgYmUgdXNlZCwgb3IgdGhlIGN1cnJlbnQgZGF0ZSBpZgotK2lucHV0IGNvbWVzIGZyb20gQzxTVERJTj4sIGFuZCB3aWxsIGJlIGJhc2VkIG9uIFVUQyAoc28gdGhhdCB0aGUgb3V0cHV0Ci0rd2lsbCBiZSByZXByb2R1Y2libGUgcmVnYXJkbGVzcyBvZiBsb2NhbCB0aW1lIHpvbmUpLgotIAotID1pdGVtIEI8LWVycm9ycz49STxzdHlsZT4KLSAKLUBAIC0zODMsOCArMzg0LDggQEAgQjxwb2QybWFuPiBieSBMYXJyeSBXYWxsIGFuZCBUb20gQ2hyaXN0aWFuc2VuLgotIAotID1oZWFkMSBDT1BZUklHSFQgQU5EIExJQ0VOU0UKLSAKLS1Db3B5cmlnaHQgMTk5OSwgMjAwMCwgMjAwMSwgMjAwNCwgMjAwNiwgMjAwOCwgMjAxMCwgMjAxMiwgMjAxMyBSdXNzCi0tQWxsYmVyeSA8cnJhQHN0YW5mb3JkLmVkdT4uCi0rQ29weXJpZ2h0IDE5OTksIDIwMDAsIDIwMDEsIDIwMDQsIDIwMDYsIDIwMDgsIDIwMTAsIDIwMTIsIDIwMTMsIDIwMTQsCi0rMjAxNSBSdXNzIEFsbGJlcnkgPHJyYUBjcGFuLm9yZz4uCi0gCi0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBtYXkgcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKLSB1bmRlciB0aGUgc2FtZSB0ZXJtcyBhcyBQZXJsIGl0c2VsZi4KLWRpZmYgLS1naXQgYS9jcGFuL3BvZGxhdG9ycy90L2RldmlzZS1kYXRlLnQgYi9jcGFuL3BvZGxhdG9ycy90L2RldmlzZS1kYXRlLnQKLWluZGV4IGM2MTBkZDkuLjlkYTlkMWIgMTAwNjQ0Ci0tLS0gYS9jcGFuL3BvZGxhdG9ycy90L2RldmlzZS1kYXRlLnQKLSsrKyBiL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudAotQEAgLTE5LDcgKzE5LDcgQEAgdXNlIFRlc3Q6Ok1vcmUgdGVzdHMgPT4gMjsKLSBteSAkcGFyc2VyID0gUG9kOjpNYW4tPm5ldzsKLSBpcygKLSAgICAgJHBhcnNlci0+ZGV2aXNlX2RhdGUsCi0tICAgIHN0cmZ0aW1lKCclWS0lbS0lZCcsIGxvY2FsdGltZSgpKSwKLSsgICAgc3RyZnRpbWUoJyVZLSVtLSVkJywgZ210aW1lKCkpLAotICAgICAnZGV2aXNlX2RhdGUgbWF0Y2hlcyBzdHJmdGltZScKLSApOwotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wb2RtYW4tdXRjLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZG1hbi11dGMuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2ZiN2MyMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZG1hbi11dGMuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLUZyb20gYzc5Njc3NWNkYmQyY2NlMDZhY2JiN2FjMzU1MTg3ZDQwNjMwMTdhMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzIExhbWIgPGxhbWJ5QGRlYmlhbi5vcmc+Ci1EYXRlOiBXZWQsIDE1IEFwciAyMDE1IDIwOjQyOjUzIC0wNzAwCi1TdWJqZWN0OiBNYWtlIHRoZSBlbWJlZGRlZCBkYXRlIGZyb20gUG9kOjpNYW4gcmVwcm9kdWNpYmxlCi0KLVdoaWxlIHdvcmtpbmcgb24gdGhlICJyZXByb2R1Y2libGUgYnVpbGRzIiBlZmZvcnQsIHdlIGhhdmUgbm90aWNlZAotdGhhdCBQb2Q6Ok1hbiBnZW5lcmF0ZXMgb3V0cHV0IHRoYXQgdmFyaWVzIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudAotdGltZXpvbmUuCi0KLVRoZSBhdHRhY2hlZCBwYXRjaCBmaXhlcyB0aGlzIGJ5IHVzaW5nIEdNVCAoflVUQykgZGF0ZXMgaW5zdGVhZC4KLQotKGJhY2twb3J0ZWQgdG8gUGVybCA1LjIwLjIgYnkgTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPikKLQotT3JpZ2luOiB1cHN0cmVhbSwgaHR0cDovL2dpdC5leXJpZS5vcmcvP3A9cGVybC9wb2RsYXRvcnMuZ2l0O2E9Y29tbWl0ZGlmZjtoPTkxM2ZiYjJiZDJjZTA3MWUyMDEyODYyOTMwMmFlMjg1MjU1NGNhZDQKLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc4MDI1OQotUGF0Y2gtTmFtZTogZml4ZXMvcG9kbWFuLXV0Yy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0gYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotaW5kZXggMDUzNjY2Mi4uYzNiYTIwMSAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtCi0rKysgYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotQEAgLTkxMCw3ICs5MTAsNyBAQCBzdWIgZGV2aXNlX2RhdGUgewotIAotICAgICAjIENhbid0IHVzZSBQT1NJWDo6c3RyZnRpbWUoKSwgd2hpY2ggdXNlcyBGY250bCwgYmVjYXVzZSBNYWtlTWFrZXIgdXNlcwotICAgICAjIHRoaXMgYW5kIGl0IGhhcyB0byB3b3JrIGluIHRoZSBjb3JlIHdoaWNoIGNhbid0IGxvYWQgZHluYW1pYyBsaWJyYXJpZXMuCi0tICAgIG15ICgkeWVhciwgJG1vbnRoLCAkZGF5KSA9IChsb2NhbHRpbWUoJHRpbWUpKVs1LDQsM107Ci0rICAgIG15ICgkeWVhciwgJG1vbnRoLCAkZGF5KSA9IChnbXRpbWUoJHRpbWUpKVs1LDQsM107Ci0gICAgIHJldHVybiBzcHJpbnRmKCIlMDRkLSUwMmQtJTAyZCIsICR5ZWFyICsgMTkwMCwgJG1vbnRoICsgMSwgJGRheSk7Ci0gfQotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9yZXNwZWN0X3VtYXNrLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3Jlc3BlY3RfdW1hc2suZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzg2NjNmNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3Jlc3BlY3RfdW1hc2suZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDE1NCArMCwwIEBACi1Gcm9tIGQ5ZDUzNWVmOTdmNTdhZjZlOTcyODA3NTk0NGMzM2YzYjBiNTM3MmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgOCBNYXIgMjAwNSAxOTozMDozOCArMTEwMAotU3ViamVjdDogUmVzcGVjdCB1bWFzayBkdXJpbmcgaW5zdGFsbGF0aW9uCi0KLVRoaXMgaXMgbmVlZGVkIHRvIHNhdGlzZnkgRGViaWFuIHBvbGljeSByZWdhcmRpbmcgZ3JvdXAtd3JpdGFibGUKLXNpdGUgZGlyZWN0b3JpZXMuCi0KLVBhdGNoLU5hbWU6IGZpeGVzL3Jlc3BlY3RfdW1hc2suZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL0V4dFV0aWxzLUluc3RhbGwvbGliL0V4dFV0aWxzL0luc3RhbGwucG0gICB8IDE4ICsrKysrKysrKy0tLS0tLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIHwgMTggKysrKysrKysrLS0tLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtSW5zdGFsbC9saWIvRXh0VXRpbHMvSW5zdGFsbC5wbSBiL2NwYW4vRXh0VXRpbHMtSW5zdGFsbC9saWIvRXh0VXRpbHMvSW5zdGFsbC5wbQotaW5kZXggMWU4YWM0Yy4uM2U3OTEyMSAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtSW5zdGFsbC9saWIvRXh0VXRpbHMvSW5zdGFsbC5wbQotKysrIGIvY3Bhbi9FeHRVdGlscy1JbnN0YWxsL2xpYi9FeHRVdGlscy9JbnN0YWxsLnBtCi1AQCAtNDUxLDcgKzQ1MSw3IEBAIHN1YiBfY2FuX3dyaXRlX2RpciB7Ci0gCi0gPXBvZAotIAotLT1pdGVtIF9ta3BhdGgoJGRpciwkc2hvdywkbW9kZSwkdmVyYm9zZSwkZHJ5X3J1bikKLSs9aXRlbSBfbWtwYXRoKCRkaXIsJHNob3csJHZlcmJvc2UsJGRyeV9ydW4pCi0gCi0gV3JhcHBlciBhcm91bmQgRmlsZTo6UGF0aDo6bWtwYXRoKCkgdG8gaGFuZGxlIGVycm9ycy4KLSAKLUBAIC00NjgsMTMgKzQ2OCwxMyBAQCB3cml0YWJsZS4KLSA9Y3V0Ci0gCi0gc3ViIF9ta3BhdGggewotLSAgICBteSAoJGRpciwkc2hvdywkbW9kZSwkdmVyYm9zZSwkZHJ5X3J1bik9QF87Ci0rICAgIG15ICgkZGlyLCRzaG93LCR2ZXJib3NlLCRkcnlfcnVuKT1AXzsKLSAgICAgaWYgKCAkdmVyYm9zZSAmJiAkdmVyYm9zZSA+IDEgJiYgISAtZCAkZGlyKSB7Ci0gICAgICAgICAkc2hvdz0gMTsKLS0gICAgICAgIHByaW50ZiAibWtwYXRoKCVzLCVkLCUjbylcbiIsICRkaXIsICRzaG93LCAkbW9kZTsKLSsgICAgICAgIHByaW50ZiAibWtwYXRoKCVzLCVkKVxuIiwgJGRpciwgJHNob3c7Ci0gICAgIH0KLSAgICAgaWYgKCEkZHJ5X3J1bikgewotLSAgICAgICAgaWYgKCAhIGV2YWwgeyBGaWxlOjpQYXRoOjpta3BhdGgoJGRpciwkc2hvdywkbW9kZSk7IDEgfSApIHsKLSsgICAgICAgIGlmICggISBldmFsIHsgRmlsZTo6UGF0aDo6bWtwYXRoKCRkaXIsJHNob3cpOyAxIH0gKSB7Ci0gICAgICAgICAgICAgX2Nob2tlKCJDYW4ndCBjcmVhdGUgJyRkaXInIiwiJEAiKTsKLSAgICAgICAgIH0KLSAKLUBAIC03ODMsNyArNzgzLDcgQEAgc3ViIGluc3RhbGwgeyAjWFhYIE9TLVNQRUNJRklDCi0gICAgICAgICBfY2hkaXIoJGN3ZCk7Ci0gICAgIH0KLSAgICAgZm9yZWFjaCBteSAkdGFyZ2V0ZGlyIChzb3J0IGtleXMgJWNoZWNrX2RpcnMpIHsKLS0gICAgICAgIF9ta3BhdGgoICR0YXJnZXRkaXIsIDAsIDA3NTUsICR2ZXJib3NlLCAkZHJ5X3J1biApOwotKyAgICAgICAgX21rcGF0aCggJHRhcmdldGRpciwgMCwgJHZlcmJvc2UsICRkcnlfcnVuICk7Ci0gICAgIH0KLSAgICAgZm9yZWFjaCBteSAkZm91bmQgKEBmb3VuZF9maWxlcykgewotICAgICAgICAgbXkgKCRkaWZmLCAkZmZkLCAkb3JpZ2ZpbGUsICRtb2RlLCAkc2l6ZSwgJGF0aW1lLCAkbXRpbWUsCi1AQCAtNzk3LDcgKzc5Nyw3IEBAIHN1YiBpbnN0YWxsIHsgI1hYWCBPUy1TUEVDSUZJQwotICAgICAgICAgICAgICAgICAgICAgJHRhcmdldGZpbGU9IF91bmxpbmtfb3JfcmVuYW1lKCAkdGFyZ2V0ZmlsZSwgJ3RyeWhhcmQnLCAnaW5zdGFsbCcgKQotICAgICAgICAgICAgICAgICAgICAgICAgIHVubGVzcyAkZHJ5X3J1bjsKLSAgICAgICAgICAgICAgICAgfSBlbHNpZiAoICEgLWQgJHRhcmdldGRpciApIHsKLS0gICAgICAgICAgICAgICAgICAgIF9ta3BhdGgoICR0YXJnZXRkaXIsIDAsIDA3NTUsICR2ZXJib3NlLCAkZHJ5X3J1biApOwotKyAgICAgICAgICAgICAgICAgICAgX21rcGF0aCggJHRhcmdldGRpciwgMCwgJHZlcmJvc2UsICRkcnlfcnVuICk7Ci0gICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgcHJpbnQgIkluc3RhbGxpbmcgJHRhcmdldGZpbGVcbiI7Ci0gCi1AQCAtODM3LDcgKzgzNyw3IEBAIHN1YiBpbnN0YWxsIHsgI1hYWCBPUy1TUEVDSUZJQwotIAotICAgICBpZiAoJHBhY2t7J3dyaXRlJ30pIHsKLSAgICAgICAgICRkaXIgPSBpbnN0YWxsX3Jvb3RlZF9kaXIoZGlybmFtZSgkcGFja3snd3JpdGUnfSkpOwotLSAgICAgICAgX21rcGF0aCggJGRpciwgMCwgMDc1NSwgJHZlcmJvc2UsICRkcnlfcnVuICk7Ci0rICAgICAgICBfbWtwYXRoKCAkZGlyLCAwLCAkdmVyYm9zZSwgJGRyeV9ydW4gKTsKLSAgICAgICAgIHByaW50ICJXcml0aW5nICRwYWNreyd3cml0ZSd9XG4iIGlmICR2ZXJib3NlOwotICAgICAgICAgJHBhY2tsaXN0LT53cml0ZShpbnN0YWxsX3Jvb3RlZF9maWxlKCRwYWNreyd3cml0ZSd9KSkgdW5sZXNzICRkcnlfcnVuOwotICAgICB9Ci1AQCAtMTE4MCw3ICsxMTgwLDcgQEAgZW52aXJvbm1lbnQgdmFyaWFibGUgd2lsbCBzaWxlbmNlIHRoaXMgb3V0cHV0LgotIHN1YiBwbV90b19ibGliIHsKLSAgICAgbXkoJGZyb210bywkYXV0b2RpciwkcG1fZmlsdGVyKSA9IEBfOwotIAotLSAgICBfbWtwYXRoKCRhdXRvZGlyLDAsMDc1NSk7Ci0rICAgIF9ta3BhdGgoJGF1dG9kaXIsMCk7Ci0gICAgIHdoaWxlKG15KCRmcm9tLCAkdG8pID0gZWFjaCAlJGZyb210bykgewotICAgICAgICAgaWYoIC1mICR0byAmJiAtcyAkZnJvbSA9PSAtcyAkdG8gJiYgLU0gJHRvIDwgLU0gJGZyb20gKSB7Ci0gICAgICAgICAgICAgcHJpbnQgIlNraXAgJHRvICh1bmNoYW5nZWQpXG4iIHVubGVzcyAkSU5TVEFMTF9RVUlFVDsKLUBAIC0xMjAzLDcgKzEyMDMsNyBAQCBzdWIgcG1fdG9fYmxpYiB7Ci0gICAgICAgICAgICAgIyB3ZSB3b250IHRyeSBoYXJkIGhlcmUuIGl0cyB0b28gbGlrZWx5IHRvIG1lc3MgdGhpbmdzIHVwLgotICAgICAgICAgICAgIGZvcmNldW5saW5rKCR0byk7Ci0gICAgICAgICB9IGVsc2UgewotLSAgICAgICAgICAgIF9ta3BhdGgoZGlybmFtZSgkdG8pLDAsMDc1NSk7Ci0rICAgICAgICAgICAgX21rcGF0aChkaXJuYW1lKCR0byksMCk7Ci0gICAgICAgICB9Ci0gICAgICAgICBpZiAoJG5lZWRfZmlsdGVyaW5nKSB7Ci0gICAgICAgICAgICAgcnVuX2ZpbHRlcigkcG1fZmlsdGVyLCAkZnJvbSwgJHRvKTsKLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi1pbmRleCBmNjMxNDVjLi4xOTdmMTAyIDEwMDY0NAotLS0tIGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi1AQCAtMjExOCw3ICsyMTE4LDcgQEAgZG9jX19pbnN0YWxsIDogZG9jX3NpdGVfaW5zdGFsbAotIAkkKE5PRUNITykgJChFQ0hPKSBJTlNUQUxMRElSUyBub3QgZGVmaW5lZCwgZGVmYXVsdGluZyB0byBJTlNUQUxMRElSUz1zaXRlCi0gCi0gcHVyZV9wZXJsX2luc3RhbGwgOjogYWxsCi0tCSQoTk9FQ0hPKSAkKE1PRF9JTlNUQUxMKSBcCi0rCSQoTk9FQ0hPKSB1bWFzayAwMjI7ICQoTU9EX0lOU1RBTEwpIFwKLSB9OwotIAotICAgICBwdXNoIEBtLAotQEAgLTIxMzgsNyArMjEzOCw3IEBAIHF7CQkiJChJTlNUX0xJQikiICIkKERFU1RJTlNUQUxMUFJJVkxJQikiIFwKLSAKLSAKLSBwdXJlX3NpdGVfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pICQoTU9EX0lOU1RBTEwpIFwKLSsJJChOT0VDSE8pIHVtYXNrIDAyMjsgJChNT0RfSU5TVEFMTCkgXAotIH07Ci0gICAgIHB1c2ggQG0sCi0gcXsJCXJlYWQgIn0uJHNlbGYtPmNhdGZpbGUoJyQoU0lURUFSQ0hFWFApJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIgXAotQEAgLTIxNTYsNyArMjE1Niw3IEBAIHF7CQkiJChJTlNUX0xJQikiICIkKERFU1RJTlNUQUxMU0lURUxJQikiIFwKLSAJCSJ9LiRzZWxmLT5jYXRkaXIoJyQoUEVSTF9BUkNITElCKScsJ2F1dG8nLCckKEZVTExFWFQpJykucXsiCi0gCi0gcHVyZV92ZW5kb3JfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pICQoTU9EX0lOU1RBTEwpIFwKLSsJJChOT0VDSE8pIHVtYXNrIDAyMjsgJChNT0RfSU5TVEFMTCkgXAotIH07Ci0gICAgIHB1c2ggQG0sCi0gcXsJCXJlYWQgIn0uJHNlbGYtPmNhdGZpbGUoJyQoVkVORE9SQVJDSEVYUCknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IiBcCi1AQCAtMjE4OCw4ICsyMTg4LDggQEAgZG9jX3ZlbmRvcl9pbnN0YWxsIDo6IGFsbAotICAgICBwdXNoIEBtLCBxewotIGRvY19wZXJsX2luc3RhbGwgOjogYWxsCi0gCSQoTk9FQ0hPKSAkKEVDSE8pIEFwcGVuZGluZyBpbnN0YWxsYXRpb24gaW5mbyB0byAiJChERVNUSU5TVEFMTEFSQ0hMSUIpL3Blcmxsb2NhbC5wb2QiCi0tCS0kKE5PRUNITykgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0tCS0kKE5PRUNITykgJChET0NfSU5TVEFMTCkgXAotKwktJChOT0VDSE8pIHVtYXNrIDAyMjsgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0rCS0kKE5PRUNITykgdW1hc2sgMDIyOyAkKERPQ19JTlNUQUxMKSBcCi0gCQkiTW9kdWxlIiAiJChOQU1FKSIgXAotIAkJImluc3RhbGxlZCBpbnRvIiAkKElOU1RBTExQUklWTElCKSBcCi0gCQlMSU5LVFlQRSAiJChMSU5LVFlQRSkiIFwKLUBAIC0yMTk5LDggKzIxOTksOCBAQCBkb2NfcGVybF9pbnN0YWxsIDo6IGFsbAotIAotIGRvY19zaXRlX2luc3RhbGwgOjogYWxsCi0gCSQoTk9FQ0hPKSAkKEVDSE8pIEFwcGVuZGluZyBpbnN0YWxsYXRpb24gaW5mbyB0byAiJChERVNUSU5TVEFMTEFSQ0hMSUIpL3Blcmxsb2NhbC5wb2QiCi0tCS0kKE5PRUNITykgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0tCS0kKE5PRUNITykgJChET0NfSU5TVEFMTCkgXAotKwktJChOT0VDSE8pIHVtYXNrIDAyMjsgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0rCS0kKE5PRUNITykgdW1hc2sgMDIyOyAkKERPQ19JTlNUQUxMKSBcCi0gCQkiTW9kdWxlIiAiJChOQU1FKSIgXAotIAkJImluc3RhbGxlZCBpbnRvIiAkKElOU1RBTExTSVRFTElCKSBcCi0gCQlMSU5LVFlQRSAiJChMSU5LVFlQRSkiIFwKLUBAIC0yMjEwLDggKzIyMTAsOCBAQCBkb2Nfc2l0ZV9pbnN0YWxsIDo6IGFsbAotIAotIGRvY192ZW5kb3JfaW5zdGFsbCA6OiBhbGwKLSAJJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMQVJDSExJQikvcGVybGxvY2FsLnBvZCIKLS0JLSQoTk9FQ0hPKSAkKE1LUEFUSCkgIiQoREVTVElOU1RBTExBUkNITElCKSIKLS0JLSQoTk9FQ0hPKSAkKERPQ19JTlNUQUxMKSBcCi0rCS0kKE5PRUNITykgdW1hc2sgMDIyOyAkKE1LUEFUSCkgIiQoREVTVElOU1RBTExBUkNITElCKSIKLSsJLSQoTk9FQ0hPKSB1bWFzayAwMjI7ICQoRE9DX0lOU1RBTEwpIFwKLSAJCSJNb2R1bGUiICIkKE5BTUUpIiBcCi0gCQkiaW5zdGFsbGVkIGludG8iICQoSU5TVEFMTFZFTkRPUkxJQikgXAotIAkJTElOS1RZUEUgIiQoTElOS1RZUEUpIiBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2luc3Rtb2RzaF9kb2MuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vaW5zdG1vZHNoX2RvYy5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZTFmZDY5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vaW5zdG1vZHNoX2RvYy5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotRnJvbSAyNjIwOWI1NTIwMWExYjJkMjUyNTJhYzNiNDI1YmM0OTA4MTI5OWRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJlbmRhbiBPJ0RlYSA8Ym9kQGRlYmlhbi5vcmc+Ci1EYXRlOiBUdWUsIDggTWFyIDIwMDUgMTk6MzA6MzggKzExMDAKLVN1YmplY3Q6IERlYmlhbiBwb2xpY3kgZG9lc24ndCBpbnN0YWxsIC5wYWNrbGlzdCBmaWxlcyBmb3IgY29yZSBvciB2ZW5kb3IuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9pbnN0bW9kc2hfZG9jLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvYmluL2luc3Rtb2RzaCB8IDQgKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2Jpbi9pbnN0bW9kc2ggYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9iaW4vaW5zdG1vZHNoCi1pbmRleCA4YjlhYTk1Li5lNTUxNDM0IDEwMDY0NAotLS0tIGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvYmluL2luc3Rtb2RzaAotKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvYmluL2luc3Rtb2RzaAotQEAgLTE4LDkgKzE4LDExIEBAIGluc3Rtb2RzaCAtIEEgc2hlbGwgdG8gZXhhbWluZSBpbnN0YWxsZWQgbW9kdWxlcwotIAotID1oZWFkMSBERVNDUklQVElPTgotIAotLUEgbGl0dGxlIGludGVyZmFjZSB0byBFeHRVdGlsczo6SW5zdGFsbGVkIHRvIGV4YW1pbmUgaW5zdGFsbGVkIG1vZHVsZXMsCi0rQSBsaXR0bGUgaW50ZXJmYWNlIHRvIEV4dFV0aWxzOjpJbnN0YWxsZWQgdG8gZXhhbWluZSBsb2NhbGx5KiBpbnN0YWxsZWQgbW9kdWxlcywKLSB2YWxpZGF0ZSB5b3VyIHBhY2tsaXN0cyBhbmQgZXZlbiBjcmVhdGUgYSB0YXJiYWxsIGZyb20gYW4gaW5zdGFsbGVkIG1vZHVsZS4KLSAKLSsqT24gRGViaWFuIHN5c3RlbSwgQjxjb3JlPiBhbmQgQjx2ZW5kb3I+IG1vZHVsZXMgYXJlIG1hbmFnZWQgYnkgQzxkcGtnPi4KLSsKLSA9aGVhZDEgU0VFIEFMU08KLSAKLSBFeHRVdGlsczo6SW5zdGFsbGVkCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2xkX3J1bl9wYXRoLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2xkX3J1bl9wYXRoLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmMGIyODcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9sZF9ydW5fcGF0aC5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotRnJvbSA1M2NlNjkwODU5MTgyMzJhMWI3ZTI2ZTc3NjJjMWIyZjcwYjFlYjRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJlbmRhbiBPJ0RlYSA8Ym9kQGRlYmlhbi5vcmc+Ci1EYXRlOiBGcmksIDE4IE1hciAyMDA1IDIyOjIyOjI1ICsxMTAwCi1TdWJqZWN0OiBSZW1vdmUgc3RhbmRhcmQgbGlicyBmcm9tIExEX1JVTl9QQVRIIGFzIHBlciBEZWJpYW4gcG9saWN5LgotCi1QYXRjaC1OYW1lOiBkZWJpYW4vbGRfcnVuX3BhdGguZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTGlibGlzdC9LaWQucG0gfCAzICsrKwotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbSBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbQotaW5kZXggMzdiY2ZkNC4uYmQ2NmU2NSAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbQotKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL0xpYmxpc3QvS2lkLnBtCi1AQCAtNTYsNiArNTYsOSBAQCBzdWIgX3VuaXhfb3MyX2V4dCB7Ci0gICAgIG15ICggJHB3ZCApICAgPSBjd2QoKTsgICAgIyBmcm9tIEN3ZC5wbQotICAgICBteSAoICRmb3VuZCApID0gMDsKLSAKLSsgICAgIyBEZWJpYW4tc3BlY2lmaWM6IGRvbid0IHVzZSBMRF9SVU5fUEFUSCBmb3Igc3RhbmRhcmQgZGlycwotKyAgICAkbGRfcnVuX3BhdGhfc2VlbnskX30rKyBmb3IgQGxpYnBhdGg7Ci0rCi0gICAgIGZvcmVhY2ggbXkgJHRoaXNsaWIgKCBzcGxpdCAnICcsICRwb3RlbnRpYWxfbGlicyApIHsKLSAgICAgICAgIG15ICggJGN1c3RvbV9uYW1lICkgPSAnJzsKLSAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbGlibmV0X2NvbmZpZ19wYXRoLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2xpYm5ldF9jb25maWdfcGF0aC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNTM0NzQyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbGlibmV0X2NvbmZpZ19wYXRoLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1Gcm9tIGE3ZjZkNDUzZTYwMjU2ZDMyOTQ2OWE3NWI2NDJjY2E4NTRjZWJlYTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgOCBNYXIgMjAwNSAxOTozMDozOCArMTEwMAotU3ViamVjdDogU2V0IGxvY2F0aW9uIG9mIGxpYm5ldC5jZmcgdG8gL2V0Yy9wZXJsL05ldCBhcyAvdXNyIG1heSBub3QgYmUKLSB3cml0YWJsZS4KLQotUGF0Y2gtTmFtZTogZGViaWFuL2xpYm5ldF9jb25maWdfcGF0aC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vbGlibmV0L2xpYi9OZXQvQ29uZmlnLnBtIHwgNyArKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vbGlibmV0L2xpYi9OZXQvQ29uZmlnLnBtIGIvY3Bhbi9saWJuZXQvbGliL05ldC9Db25maWcucG0KLWluZGV4IDk1M2E4MjYuLjYxYmExMmEgMTAwNjQ0Ci0tLS0gYS9jcGFuL2xpYm5ldC9saWIvTmV0L0NvbmZpZy5wbQotKysrIGIvY3Bhbi9saWJuZXQvbGliL05ldC9Db25maWcucG0KLUBAIC02OCw5ICs2OCw4IEBAIG15ICVuYyA9ICgKLSBUUllfSU5URVJORVRfQ09ORklHCi0gfQotIAotLW15ICRmaWxlID0gX19GSUxFX187Ci0rbXkgJGZpbGUgPSAnL2V0Yy9wZXJsL05ldC9saWJuZXQuY2ZnJzsKLSBteSAkcmVmOwotLSRmaWxlID1+IHMvQ29uZmlnLnBtL2xpYm5ldC5jZmcvOwotIGlmICgtZiAkZmlsZSkgewotICAgJHJlZiA9IGV2YWwgeyBsb2NhbCAkU0lHe19fRElFX199OyBkbyAkZmlsZSB9OwotICAgaWYgKHJlZigkcmVmKSBlcSAnSEFTSCcpIHsKLUBAIC0xNDIsOCArMTQxLDggQEAgTmV0OjpDb25maWcgLSBMb2NhbCBjb25maWd1cmF0aW9uIGRhdGEgZm9yIGxpYm5ldAotIEM8TmV0OjpDb25maWc+IGhvbGRzIGNvbmZpZ3VyYXRpb24gZGF0YSBmb3IgdGhlIG1vZHVsZXMgaW4gdGhlIGxpYm5ldAotIGRpc3RyaWJ1dGlvbi4gRHVyaW5nIGluc3RhbGxhdGlvbiB5b3Ugd2lsbCBiZSBhc2tlZCBmb3IgdGhlc2UgdmFsdWVzLgotIAotLVRoZSBjb25maWd1cmF0aW9uIGRhdGEgaXMgaGVsZCBnbG9iYWxseSBpbiBhIGZpbGUgaW4gdGhlIHBlcmwgaW5zdGFsbGF0aW9uCi0tdHJlZSwgYnV0IGEgdXNlciBtYXkgb3ZlcnJpZGUgYW55IG9mIHRoZXNlIHZhbHVlcyBieSBwcm92aWRpbmcgdGhlaXIgb3duLiBUaGlzCi0rVGhlIGNvbmZpZ3VyYXRpb24gZGF0YSBpcyBoZWxkIGdsb2JhbGx5IGluIEM8L2V0Yy9wZXJsL05ldC9saWJuZXQuY2ZnPiwKLStidXQgYSB1c2VyIG1heSBvdmVycmlkZSBhbnkgb2YgdGhlc2UgdmFsdWVzIGJ5IHByb3ZpZGluZyB0aGVpciBvd24uIFRoaXMKLSBjYW4gYmUgZG9uZSBieSBoYXZpbmcgYSBDPC5saWJuZXRyYz4gZmlsZSBpbiB0aGVpciBob21lIGRpcmVjdG9yeS4gVGhpcyBmaWxlCi0gc2hvdWxkIHJldHVybiBhIHJlZmVyZW5jZSB0byBhIEhBU0ggY29udGFpbmluZyB0aGUga2V5cyBkZXNjcmliZWQgYmVsb3cuCi0gRm9yIGV4YW1wbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbGlicGVybF9lbWJlZF9kb2MuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbGlicGVybF9lbWJlZF9kb2MuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNkYzBkMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2xpYnBlcmxfZW1iZWRfZG9jLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1Gcm9tIGZiOGJkYmI0YmY1NjM4MmRlMDk5ZTYyYzI1NjQyODZiOWRmZGE0NmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgOCBNYXIgMjAwNSAxOTozMDozOCArMTEwMAotU3ViamVjdDogTm90ZSB0aGF0IGxpYnBlcmwtZGV2IHBhY2thZ2UgaXMgcmVxdWlyZWQgZm9yIGVtYmVkZGVkIGxpbmtpbmcKLQotQnVnLURlYmlhbjogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy8xODY3NzgKLQotUGF0Y2gtTmFtZTogZGViaWFuL2xpYnBlcmxfZW1iZWRfZG9jLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbGliL0V4dFV0aWxzL0VtYmVkLnBtIHwgMyArKysKLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9saWIvRXh0VXRpbHMvRW1iZWQucG0gYi9saWIvRXh0VXRpbHMvRW1iZWQucG0KLWluZGV4IDNmOTgzYzEuLjBlYzhhNjcgMTAwNjQ0Ci0tLS0gYS9saWIvRXh0VXRpbHMvRW1iZWQucG0KLSsrKyBiL2xpYi9FeHRVdGlscy9FbWJlZC5wbQotQEAgLTI5Niw2ICsyOTYsOSBAQCBhbmQgZXh0ZW5zaW9ucyBpbiB5b3VyIEMvQysrIGFwcGxpY2F0aW9ucy4KLSBUeXBpY2FsbHksIGFuIGFwcGxpY2F0aW9uIEY8TWFrZWZpbGU+IHdpbGwgaW52b2tlIEM8RXh0VXRpbHM6OkVtYmVkPgotIGZ1bmN0aW9ucyB3aGlsZSBidWlsZGluZyB5b3VyIGFwcGxpY2F0aW9uLiAgCi0gCi0rTm90ZSB0aGF0IG9uIERlYmlhbiBzeXN0ZW1zIHRoZSBCPGxpYnBlcmwtZGV2PiBwYWNrYWdlIGlzIHJlcXVpcmVkIGZvcgotK2NvbXBpbGluZyBhcHBsaWNhdGlvbnMgd2hpY2ggZW1iZWQgYW4gaW50ZXJwcmV0ZXIuCi0rCi0gPWhlYWQxIEBFWFBPUlQKLSAKLSBDPEV4dFV0aWxzOjpFbWJlZD4gZXhwb3J0cyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uczoKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbG9jYWxlLXJvYnVzdG5lc3MuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbG9jYWxlLXJvYnVzdG5lc3MuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2NmMTI0Mi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2xvY2FsZS1yb2J1c3RuZXNzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi1Gcm9tIDI4OWVhZjg3ZjhkZTRkOWViZmQ2NjFkNGU0Mjk5YzI5NTI0MzUyNDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBGcmksIDEwIEFwciAyMDE1IDEwOjE5OjUxICswMzAwCi1TdWJqZWN0OiBNYWtlIHQvcnVuL2xvY2FsZS50IHN1cnZpdmUgbWlzc2luZyBsb2NhbGVzIG1hc2tlZCBieSBMQ19BTEwKLQotSWYgTENfQUxMIGlzIHNldCB0byBhIHZhbGlkIGxvY2FsZSBidXQgYW5vdGhlciBMQ18qIHNldHRpbmcgbGlrZSBMQ19DVFlQRQotaXNuJ3QsIHQvcnVuL2xvY2FsZS50IHdvdWxkIGZhaWwgYmVjYXVzZSBpdCBleHBsaWNpdGx5IHVuc2V0cyBMQ19BTEwsCi11bm1hc2tpbmcgdGhlIHByb2JsZW0gdW5kZXJuZWF0aC4gQWxsIHRoZSBvdGhlciB0ZXN0cyBzdXJ2aXZlIHN1Y2gKLWEgc2NlbmFyaW8uCi0KLVdoaWxlIHRoaXMgaXMgY2xlYXJseSBhbiBlcnJvciBpbiB0aGUgYnVpbGQgZW52aXJvbm1lbnQsIGl0J3MgZWFzeSB0byBtYWtlCi10aGUgdGVzdCBtb3JlIHJvYnVzdCBieSBmaXJzdCBjbGVhcmluZyBhbGwgdGhlIGxvY2FsZSByZWxldmFudCB2YXJpYWJsZXMuCi0KLUJ1ZzogaHR0cHM6Ly9ydC5wZXJsLm9yZy9UaWNrZXQvRGlzcGxheS5odG1sP2lkPTEyNDMxMAotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzgyMDY4Ci1QYXRjaC1OYW1lOiBkZWJpYW4vbG9jYWxlLXJvYnVzdG5lc3MuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSB0L3J1bi9sb2NhbGUudCB8IDcgKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90L3J1bi9sb2NhbGUudCBiL3QvcnVuL2xvY2FsZS50Ci1pbmRleCBiZDFhMDM0Li4yMTA1MzM5IDEwMDY0NAotLS0tIGEvdC9ydW4vbG9jYWxlLnQKLSsrKyBiL3QvcnVuL2xvY2FsZS50Ci1AQCAtMjcsNiArMjcsOSBAQCBteSBAbG9jYWxlcyA9IGV2YWwgeyBmaW5kX2xvY2FsZXMoIFsgJkxDX0FMTCwgJkxDX0NUWVBFLCAmTENfTlVNRVJJQyBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgfTsKLSBza2lwX2FsbCgibm8gbG9jYWxlcyBhdmFpbGFibGUiKSB1bmxlc3MgQGxvY2FsZXM7Ci0gCi0rIyByZXNldCB0aGUgbG9jYWxlIGVudmlyb25tZW50Ci0rbG9jYWwgQEVOVnsnTEFORycsIChncmVwIC9eTENfLywga2V5cyAlRU5WKX07Ci0rCi0gcGxhbiB0ZXN0cyA9PiAmbGFzdDsKLSAKLSBteSAkbm9uX0NfbG9jYWxlOwotQEAgLTU4LDkgKzYxLDYgQEAgRU9GCi0gU0tJUDogewotICAgICBza2lwKCJXaW5kb3dzIHN0b3JlcyBsb2NhbGUgZGVmYXVsdHMgaW4gdGhlIHJlZ2lzdHJ5IiwgMSApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgJF5PIGVxICdNU1dpbjMyJzsKLS0gICAgbG9jYWwgJEVOVntMQ19OVU1FUklDfTsgIyBTbyBub3QgdGFrZW4gYXMgYSBkZWZhdWx0Ci0tICAgIGxvY2FsICRFTlZ7TENfQUxMfTsgIyBzbyBpdCBuZXZlciBvdmVycmlkZXMgTENfTlVNRVJJQwotLSAgICBsb2NhbCAkRU5We0xBTkd9OyAgICMgU28gbm90IHRha2VuIGFzIGEgZGVmYXVsdAotICAgICBmcmVzaF9wZXJsX2lzKCJmb3IgKHF3KEBsb2NhbGVzKSkge1xuIiAuIDw8J0VPRicsCi0gICAgICAgICB1c2UgUE9TSVggcXcobG9jYWxlX2gpOwotICAgICAgICAgdXNlIGxvY2FsZTsKLUBAIC0zNDgsNyArMzQ4LDYgQEAgRU9GCi0gCi0gICAgIHsKLSAJbG9jYWwgJEVOVntMQ19OVU1FUklDfSA9ICRkaWZmZXJlbnQ7Ci0tCWxvY2FsICRFTlZ7TENfQUxMfTsgIyBzbyBpdCBuZXZlciBvdmVycmlkZXMgTENfTlVNRVJJQwotIAlmcmVzaF9wZXJsX2lzKDw8IkVPRiIsCi0gCSAgICB1c2UgUE9TSVggcXcobG9jYWxlX2gpOwotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9tYWtlbWFrZXItcGFzdGhydS5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9tYWtlbWFrZXItcGFzdGhydS5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZjA3MTgwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbWFrZW1ha2VyLXBhc3RocnUuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gNTkzZGQ1MmY1MzViMWY0MzlkZmQwYWZlNTIyMTFhZTg5NjBlOTgwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5pa28gVHluaSA8bnR5bmlAZGViaWFuLm9yZz4KLURhdGU6IFN1biwgMjQgQXVnIDIwMTQgMTI6NTY6MTEgLTA3MDAKLVN1YmplY3Q6IFBhc3MgTEQgc2V0dGluZ3MgdGhyb3VnaCB0byBzdWJkaXJlY3RvcmllcwotCi1bcnQuY3Bhbi5vcmcgIzI4NjMyXSBmaXhlZCBtb3N0IGlzc3VlcyB3aXRoIHBhc3NpbmcgTEQgZG93biB0bwotc3ViZGlyZWN0b3J5IE1ha2VmaWxlLlBMIGZpbGVzLiBIb3dldmVyLCB0aGVyZSBhcmUgc29tZSBkaXN0cmlidXRpb25zCi0oaW5jbHVkaW5nIFd4LCBQYXI6OlBhY2tlciwgYW5kIFZlcmlsb2ctUGVybCkgdGhhdCBleHBsaWNpdGx5IHNldAotTEQuIFRob3NlIHN0aWxsIGNhbid0IGJlIG92ZXJyaWRkZW4gZnJvbSB0aGUgY29tbWFuZCBsaW5lLiBBZGRpbmcgTEQgdG8KLXRoZSBQQVNUSFJVIGxpc3QgZml4ZXMgdGhpcy4KLQotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzU4NDcxCi1QYXRjaC1OYW1lOiBkZWJpYW4vbWFrZW1ha2VyLXBhc3RocnUuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLWluZGV4IDRhOGUxNGMuLjU0OGQ5OGUgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLUBAIC0yNzkzLDcgKzI3OTMsNyBAQCBzdWIgcGFzdGhydSB7Ci0gICAgIG15KCRzZXApID0gJElze1ZNU30gPyAnLCcgOiAnJzsKLSAgICAgJHNlcCAuPSAiXFxcblx0IjsKLSAKLS0gICAgZm9yZWFjaCBteSAka2V5IChxdyhMSUIgTElCUEVSTF9BIExJTktUWVBFIE9QVElNSVpFCi0rICAgIGZvcmVhY2ggbXkgJGtleSAocXcoTElCIExJQlBFUkxfQSBMSU5LVFlQRSBPUFRJTUlaRSBMRAotICAgICAgICAgICAgICAgICAgICAgIFBSRUZJWCBJTlNUQUxMX0JBU0UpCi0gICAgICAgICAgICAgICAgICApCi0gICAgIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbWFrZW1ha2VyX2N1c3RvbWl6ZWQuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbWFrZW1ha2VyX2N1c3RvbWl6ZWQuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDg3MGI2MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL21ha2VtYWtlcl9jdXN0b21pemVkLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1Gcm9tIDYzNDQ0OTA2NmE5YzgxMGU4MTUwNjQyNWQyY2E5MjViMmZkNzJhYjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEb21pbmljIEhhcmdyZWF2ZXMgPGRvbUBlYXJ0aC5saT4KLURhdGU6IFNhdCwgMjMgTWF5IDIwMTUgMjE6MTU6MDYgKzAyMDAKLVN1YmplY3Q6IFVwZGF0ZSB0L3BvcnRpbmcvY3VzdG9taXplZC5kYXQgZm9yIGZpbGVzIHBhdGNoZWQgaW4gRGViaWFuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9tYWtlbWFrZXJfY3VzdG9taXplZC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHQvcG9ydGluZy9jdXN0b21pemVkLmRhdCB8IDggKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvdC9wb3J0aW5nL2N1c3RvbWl6ZWQuZGF0IGIvdC9wb3J0aW5nL2N1c3RvbWl6ZWQuZGF0Ci1pbmRleCA3ZGYzOThkLi5mODU3YmQyIDEwMDY0NAotLS0tIGEvdC9wb3J0aW5nL2N1c3RvbWl6ZWQuZGF0Ci0rKysgYi90L3BvcnRpbmcvY3VzdG9taXplZC5kYXQKLUBAIC0xLDcgKzEsNyBAQAotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL0NvbW1hbmQvTU0ucG0gN2Y0ZGZkMGZlODg0YmQ0MjQxMmJjZjA0Y2E4MGVmOTdiMzljMWQ1NAotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL0xpYmxpc3QucG0gYmVmMDk5OTg4YjE1ZmIwYjJhMWY1YWM0OGMwMWFmMWY3ZjM2ZDMyOQotLUV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL0xpYmxpc3QvS2lkLnBtIDgxNjhlMThmMGUzY2UzZWNlNGJiN2U3YzcyZDU3ZWMwN2M2N2M0MDIKLS1FeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIucG0gNzExNWU5N2E1MzU1OWNiM2VjMDYxZGQ2ZjdmMzQ0ZTUyMjcyNGM0YQotK0V4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL0xpYmxpc3QvS2lkLnBtIDM0OTNhZTZmOTMyNjRlOTY3ZjU4ZGVkYWEzZGJmM2RiY2IyNDk4NTMKLStFeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIucG0gM2Q3YWJkNjc0YjE1ZWQzMjNmNzQzNTk0ZWYwYmQwOWRiNzZiMWFlZQotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01ha2VNYWtlci9Db25maWcucG0gZjhkYjhkNDI0NWJmMDY4NGI4MjEwYzgxMWY1MGQ3Y2ZiMWEyN2Q3OAotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01ha2VNYWtlci9GQVEucG9kIDc1N2JmZmI0Nzg1NzUyMTMxMWY4ZjNiZGU0M2ViZTE2NWY4ZDUxOTEKLSBFeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIvTG9jYWxlLnBtIDgyYmUwNjg1MWRlYjg0YzY0MTlhZDAwM2NlOWI2ZDE5NTdmMzk1ZjMKLUBAIC0xMyw3ICsxMyw3IEBAIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01rYm9vdHN0cmFwLnBtIDU4ODcyZDY2Ci0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTWtzeW1saXN0cy5wbSBhYjgwMDI5YWIxNmQzOGQ0ZjJlNDFkYzg4ZDJjZWI5ZjM3OTBlNDc3Ci0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU0ucG0gNDUzZTBhYmJjNGJiMzhkYjRjMDgyMGFkNWM0ODQ2ZjMxM2I2NjI5MQotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX0FJWC5wbSBjMWIxYmFiZGE4ZjQzYWU3YTJjYWJhMWNiNGY3MGY5MmFmNWEwZTM0Ci0tRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fQW55LnBtIDZmOTBkOTRhZDNlN2FhMDA0NWEzYjFhMTBhMWJiMTgzOTFmODlmNTcKLStFeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9BbnkucG0gMjFiZGU1MzI5MGJmMWE0ZGE0NDU3MjkwYjY1YmQxYjBjYTZmMWQxNgotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX0JlT1MucG0gY2FiMmIzY2UwOGI3MWE0Y2U4OWFhNjMwZjIzNmViMDhiODUyNDM5ZAotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX0N5Z3dpbi5wbSA2MWZjZWQwZmFmNTE4YmY4N2MyNjVmY2I1MWVkMzMwYmEzNTQ2MjNmCi0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fRGFyd2luLnBtIGFlMGVmNTFhN2I2ZGQwYjA1YWE2MWM3NzlkZjcxNjdkZGE1ZjUxMTkKLUBAIC0yMiw3ICsyMiw3IEBAIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX01hY09TLnBtIDA1NDQzMDFmNzEyCi0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fTlc1LnBtIDQzMzEzNWVlY2I4NWI0YjFkOTBkMzAyNzQzMmYzMjk0MzZjNzg0NDcKLSBFeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9PUzIucG0gMWZiYjU2MDViZmI0N2ZlZWU0MDgzZmViYThhYTg1ZTY1OTYyOGY3MAotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1FOWC5wbSA1YjY2ZDFmNDg1YTYwMzRkOTZmYzI0YmExNjY1YjFiYWQ5ZTQ0N2YxCi0tRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSA4Y2VmOTlhOWJkMzcwZWNmZDA3ZGRiMGVmYmRjYmI0MTAxMjU1ZTQ1Ci0rRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSBjNDU1YzkxNWZiN2RjM2VlYjEyMDBlZDFjZDE5MDQ4ZTZmMjFlNmIxCi0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVVdJTi5wbSA5Mzk1NzJmZGUzZDU5YmE3N2MyZTY3N2ZlMmRmMmJlZDRiZWQ1ODk4Ci0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVk1TLnBtIDA5YzIwNDliZmQyNWI3MzVlMmE1YmNmNTZhNmNmZjdiNDgyN2Y5YzgKLSBFeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9WT1MucG0gZDY1ZDYzZjgyMTdhNTVjMzZmNjJlMjQ5ODE0OTg4OTc0ZjU5M2M3OQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9tb2RfcGF0aHMuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbW9kX3BhdGhzLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlMjI0ODQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9tb2RfcGF0aHMuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDEwMCArMCwwIEBACi1Gcm9tIDZjNmNmMTRlMjA0ZjNjMDMxMzcyYmZkOTYwNGFkNTI0ZDU2OTExODYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IEZyaSwgMTggTWFyIDIwMDUgMjI6MjI6MjUgKzExMDAKLVN1YmplY3Q6IFR3ZWFrIEBJTkMgb3JkZXJpbmcgZm9yIERlYmlhbgotCi1PdXIgb3JkZXIgaXM6Ci0KLSAgICBldGMgKGZvciBjb25maWcgZmlsZXMpCi0gICAgc2l0ZSAoNS44LjEpCi0gICAgdmVuZG9yIChhbGwpCi0gICAgY29yZSAoNS44LjEpCi0gICAgc2l0ZSAodmVyc2lvbi1pbmRlcCkKLSAgICBzaXRlIChwcmUtNS44LjEpCi0KLVRoZSByYXRpb25hbGUgYmVpbmcgdGhhdCBhbiBhZG1pbiAodmlhIHNpdGUpLCBvciBtb2R1bGUgcGFja2FnZXIKLSh2ZW5kb3IpIGNhbiBjaG9zZSB0byBzaGFkb3cgY29yZSBtb2R1bGVzIHdoZW4gdGhlcmUgaXMgYSBuZXdlcgotdmVyc2lvbiB0aGFuIGlzIGluY2x1ZGVkIGluIGNvcmUuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9tb2RfcGF0aHMuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBwZXJsLmMgfCA1OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3BlcmwuYyBiL3BlcmwuYwotaW5kZXggMDg2NjQ1Yi4uZTY0ZjFmNCAxMDA2NDQKLS0tLSBhL3BlcmwuYwotKysrIGIvcGVybC5jCi1AQCAtNDM3Myw2ICs0MzczLDExIEBAIFNfaW5pdF9wZXJsbGliKHBUSFgpCi0gCQkgICAgICBJTkNQVVNIX0FERF9TVUJfRElSU3xJTkNQVVNIX0NBTl9SRUxPQ0FURSk7Ci0gI2VuZGlmCi0gCi0rI2lmZGVmIERFQklBTgotKyAgICAvKiBmb3IgY29uZmlndXJhdGlvbiB3aGVyZSAvdXNyIGlzIG1vdW50ZWQgcm8gKENQQU46OkNvbmZpZywgTmV0OjpDb25maWcpICovCi0rICAgIFNfaW5jcHVzaF91c2Vfc2VwKGFUSFhfIFNUUl9XSVRIX0xFTigiL2V0Yy9wZXJsIiksIDB4MCk7Ci0rI2VuZGlmCi0rCi0gI2lmZGVmIFNJVEVBUkNIX0VYUAotICAgICAvKiBzaXRlYXJjaCBpcyBhbHdheXMgcmVsYXRpdmUgdG8gc2l0ZWxpYiBvbiBXaW5kb3dzIGZvcgotICAgICAgKiBETEwtYmFzZWQgcGF0aCBpbnR1aXRpb24gdG8gd29yayBjb3JyZWN0bHkgKi8KLUBAIC00NDkwLDYgKzQ0OTUsNTkgQEAgU19pbml0X3BlcmxsaWIocFRIWCkKLSAJCSAgICAgIElOQ1BVU0hfQUREX09MRF9WRVJTfElOQ1BVU0hfQ0FOX1JFTE9DQVRFKTsKLSAjZW5kaWYKLSAKLSsjaWZkZWYgREVCSUFOCi0rICAgIC8qIE5vbi12ZXJzaW9uZWQgc2l0ZSBkaXJlY3RvcnkgZm9yIGxvY2FsIG1vZHVsZXMgYW5kIGZvcgotKyAgICAgICBjb21wYXRhYmlsaXR5IHdpdGggdGhlIHByZXZpb3VzIHBhY2thZ2VzJyBzaXRlIGRpcnMgKi8KLSsgICAgU19pbmNwdXNoX3VzZV9zZXAoYVRIWF8gU1RSX1dJVEhfTEVOKCIvdXNyL2xvY2FsL2xpYi9zaXRlX3BlcmwiKSwKLSsJCSAgICAgIElOQ1BVU0hfQUREX1NVQl9ESVJTKTsKLSsKLSsjaWZkZWYgUEVSTF9JTkNfVkVSU0lPTl9MSVNUCi0rICAgIHsKLSsJc3RydWN0IHN0YXQgczsKLSsKLSsJLyogYWRkIHNtYWxsIGJ1ZmZlciBpbiBjYXNlIG9sZCB2ZXJzaW9ucyBhcmUgbG9uZ2VyIHRoYW4gdGhlCi0rCSAgIGN1cnJlbnQgdmVyc2lvbiAqLwotKwljaGFyIHNpdGVhcmNoW3NpemVvZihTSVRFQVJDSF9FWFApKzE2XSA9IFNJVEVBUkNIX0VYUDsKLSsJY2hhciBzaXRlbGliW3NpemVvZihTSVRFTElCX0VYUCkrMTZdID0gU0lURUxJQl9FWFA7Ci0rCWNoYXIgY29uc3QgKnZlcnNbXSA9IHsgUEVSTF9JTkNfVkVSU0lPTl9MSVNUIH07Ci0rCWNoYXIgY29uc3QgKipwOwotKwotKwljaGFyICphcmNoX3ZlcnMgPSBzdHJyY2hyKHNpdGVhcmNoLCAnLycpOwotKwljaGFyICpsaWJfdmVycyA9IHN0cnJjaHIoc2l0ZWxpYiwgJy8nKTsKLSsKLSsJaWYgKGFyY2hfdmVycyAmJiBpc2RpZ2l0KCorK2FyY2hfdmVycykpCi0rCSAgICAqYXJjaF92ZXJzID0gMDsKLSsJZWxzZQotKwkgICAgYXJjaF92ZXJzID0gMDsKLSsKLSsJaWYgKGxpYl92ZXJzICYmIGlzZGlnaXQoKisrbGliX3ZlcnMpKQotKwkgICAgKmxpYl92ZXJzID0gMDsKLSsJZWxzZQotKwkgICAgbGliX3ZlcnMgPSAwOwotKwotKwkvKiB0aGVyZSBpcyBzb21lIGR1cGxpY2F0aW9uIGhlcmUgYXMgaW5jcHVzaCBkb2VzIHNvbWV0aGluZwotKwkgICBzaW1pbGFyIGludGVybmFsbHksIGJ1dCByZXF1aXJlZCBhcyBzaXRlYXJjaCBpcyBub3QgYQotKwkgICBzdWJkaXJlY3Rvcnkgb2Ygc2l0ZWxpYiAqLwotKwlmb3IgKHAgPSB2ZXJzOyAqcDsgcCsrKQotKwl7Ci0rCSAgICBpZiAoYXJjaF92ZXJzKQotKwkgICAgewotKwkJc3RyY3B5KGFyY2hfdmVycywgKnApOwotKwkJaWYgKFBlcmxMSU9fc3RhdChzaXRlYXJjaCwgJnMpID49IDAgJiYgU19JU0RJUihzLnN0X21vZGUpKQotKwkJICAgIFNfaW5jcHVzaF91c2Vfc2VwKGFUSFhfIHNpdGVhcmNoLCBzdHJsZW4oc2l0ZWFyY2gpLCAweDApOwotKwkgICAgfQotKwotKwkgICAgaWYgKGxpYl92ZXJzKQotKwkgICAgewotKwkJc3RyY3B5KGxpYl92ZXJzLCAqcCk7Ci0rCQlpZiAoUGVybExJT19zdGF0KHNpdGVsaWIsICZzKSA+PSAwICYmIFNfSVNESVIocy5zdF9tb2RlKSkKLSsJCSAgICBTX2luY3B1c2hfdXNlX3NlcChhVEhYXyBzaXRlbGliLCBzdHJsZW4oc2l0ZWxpYiksIDB4MCk7Ci0rCSAgICB9Ci0rCX0KLSsgICAgfQotKyNlbmRpZgotKyNlbmRpZgotKwotICNpZmRlZiBQRVJMX09USEVSTElCRElSUwotICAgICBTX2luY3B1c2hfdXNlX3NlcChhVEhYXyBTVFJfV0lUSF9MRU4oUEVSTF9PVEhFUkxJQkRJUlMpLAotIAkJICAgICAgSU5DUFVTSF9BRERfT0xEX1ZFUlN8SU5DUFVTSF9BRERfQVJDSE9OTFlfU1VCX0RJUlMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbm9fcGFja2xpc3RfcGVybGxvY2FsLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL25vX3BhY2tsaXN0X3Blcmxsb2NhbC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NDg0YmVjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbm9fcGFja2xpc3RfcGVybGxvY2FsLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw5MyArMCwwIEBACi1Gcm9tIDI0MGYyZjRhZWIzODUwYmMwYzUzNzBiOWZiYzM5MDk1NzNiZWQ5YjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgOCBNYXIgMjAwNSAxOTozMDozOCArMTEwMAotU3ViamVjdDogRG9uJ3QgaW5zdGFsbCAucGFja2xpc3Qgb3IgcGVybGxvY2FsLnBvZCBmb3IgcGVybCBvciB2ZW5kb3IKLQotUGF0Y2gtTmFtZTogZGViaWFuL25vX3BhY2tsaXN0X3Blcmxsb2NhbC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIHwgMzUgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0gYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotaW5kZXggNTcwYTYzMS4uMzkxZGMyMiAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotQEAgLTIxMjIsMTEgKzIxMjIsNiBAQCBwdXJlX3BlcmxfaW5zdGFsbCA6OiBhbGwKLSB9OwotIAotICAgICBwdXNoIEBtLAotLXF7CQlyZWFkICJ9LiRzZWxmLT5jYXRmaWxlKCckKFBFUkxfQVJDSExJQiknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IiBcCi0tCQl3cml0ZSAifS4kc2VsZi0+Y2F0ZmlsZSgnJChERVNUSU5TVEFMTEFSQ0hMSUIpJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIgXAotLX0gdW5sZXNzICRzZWxmLT57Tk9fUEFDS0xJU1R9OwotLQotLSAgICBwdXNoIEBtLAotIHF7CQkiJChJTlNUX0xJQikiICIkKERFU1RJTlNUQUxMUFJJVkxJQikiIFwKLSAJCSIkKElOU1RfQVJDSExJQikiICIkKERFU1RJTlNUQUxMQVJDSExJQikiIFwKLSAJCSIkKElOU1RfQklOKSIgIiQoREVTVElOU1RBTExCSU4pIiBcCi1AQCAtMjE1OCwxMCArMjE1Myw2IEBAIHF7CQkiJChJTlNUX0xJQikiICIkKERFU1RJTlNUQUxMU0lURUxJQikiIFwKLSBwdXJlX3ZlbmRvcl9pbnN0YWxsIDo6IGFsbAotIAkkKE5PRUNITykgdW1hc2sgMDIyOyAkKE1PRF9JTlNUQUxMKSBcCi0gfTsKLS0gICAgcHVzaCBAbSwKLS1xewkJcmVhZCAifS4kc2VsZi0+Y2F0ZmlsZSgnJChWRU5ET1JBUkNIRVhQKScsJ2F1dG8nLCckKEZVTExFWFQpJywnLnBhY2tsaXN0JykucXsiIFwKLS0JCXdyaXRlICJ9LiRzZWxmLT5jYXRmaWxlKCckKERFU1RJTlNUQUxMVkVORE9SQVJDSCknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IiBcCi0tfSB1bmxlc3MgJHNlbGYtPntOT19QQUNLTElTVH07Ci0gCi0gICAgIHB1c2ggQG0sCi0gcXsJCSIkKElOU1RfTElCKSIgIiQoREVTVElOU1RBTExWRU5ET1JMSUIpIiBcCi1AQCAtMjE4NywzNyArMjE3OCwxOSBAQCBkb2NfdmVuZG9yX2luc3RhbGwgOjogYWxsCi0gCi0gICAgIHB1c2ggQG0sIHF7Ci0gZG9jX3BlcmxfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMQVJDSExJQikvcGVybGxvY2FsLnBvZCIKLS0JLSQoTk9FQ0hPKSB1bWFzayAwMjI7ICQoTUtQQVRIKSAiJChERVNUSU5TVEFMTEFSQ0hMSUIpIgotLQktJChOT0VDSE8pIHVtYXNrIDAyMjsgJChET0NfSU5TVEFMTCkgXAotLQkJIk1vZHVsZSIgIiQoTkFNRSkiIFwKLS0JCSJpbnN0YWxsZWQgaW50byIgJChJTlNUQUxMUFJJVkxJQikgXAotLQkJTElOS1RZUEUgIiQoTElOS1RZUEUpIiBcCi0tCQlWRVJTSU9OICIkKFZFUlNJT04pIiBcCi0tCQlFWEVfRklMRVMgIiQoRVhFX0ZJTEVTKSIgXAotLQkJPj4gIn0uJHNlbGYtPmNhdGZpbGUoJyQoREVTVElOU1RBTExBUkNITElCKScsJ3Blcmxsb2NhbC5wb2QnKS5xeyIKLSAKLSBkb2Nfc2l0ZV9pbnN0YWxsIDo6IGFsbAotLQkkKE5PRUNITykgJChFQ0hPKSBBcHBlbmRpbmcgaW5zdGFsbGF0aW9uIGluZm8gdG8gIiQoREVTVElOU1RBTExBUkNITElCKS9wZXJsbG9jYWwucG9kIgotLQktJChOT0VDSE8pIHVtYXNrIDAyOyAkKE1LUEFUSCkgIiQoREVTVElOU1RBTExBUkNITElCKSIKLSsJJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMU0lURUFSQ0gpL3Blcmxsb2NhbC5wb2QiCi0rCS0kKE5PRUNITykgdW1hc2sgMDI7ICQoTUtQQVRIKSAiJChERVNUSU5TVEFMTFNJVEVBUkNIKSIKLSAJLSQoTk9FQ0hPKSB1bWFzayAwMjsgJChET0NfSU5TVEFMTCkgXAotIAkJIk1vZHVsZSIgIiQoTkFNRSkiIFwKLSAJCSJpbnN0YWxsZWQgaW50byIgJChJTlNUQUxMU0lURUxJQikgXAotIAkJTElOS1RZUEUgIiQoTElOS1RZUEUpIiBcCi0gCQlWRVJTSU9OICIkKFZFUlNJT04pIiBcCi0gCQlFWEVfRklMRVMgIiQoRVhFX0ZJTEVTKSIgXAotLQkJPj4gIn0uJHNlbGYtPmNhdGZpbGUoJyQoREVTVElOU1RBTExBUkNITElCKScsJ3Blcmxsb2NhbC5wb2QnKS5xeyIKLSsJCT4+ICJ9LiRzZWxmLT5jYXRmaWxlKCckKERFU1RJTlNUQUxMU0lURUFSQ0gpJywncGVybGxvY2FsLnBvZCcpLnF7IgotIAotIGRvY192ZW5kb3JfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMQVJDSExJQikvcGVybGxvY2FsLnBvZCIKLS0JLSQoTk9FQ0hPKSB1bWFzayAwMjI7ICQoTUtQQVRIKSAiJChERVNUSU5TVEFMTEFSQ0hMSUIpIgotLQktJChOT0VDSE8pIHVtYXNrIDAyMjsgJChET0NfSU5TVEFMTCkgXAotLQkJIk1vZHVsZSIgIiQoTkFNRSkiIFwKLS0JCSJpbnN0YWxsZWQgaW50byIgJChJTlNUQUxMVkVORE9STElCKSBcCi0tCQlMSU5LVFlQRSAiJChMSU5LVFlQRSkiIFwKLS0JCVZFUlNJT04gIiQoVkVSU0lPTikiIFwKLS0JCUVYRV9GSUxFUyAiJChFWEVfRklMRVMpIiBcCi0tCQk+PiAifS4kc2VsZi0+Y2F0ZmlsZSgnJChERVNUSU5TVEFMTEFSQ0hMSUIpJywncGVybGxvY2FsLnBvZCcpLnF7IgotIAotIH0gdW5sZXNzICRzZWxmLT57Tk9fUEVSTExPQ0FMfTsKLSAKLUBAIC0yMjI2LDEzICsyMTk5LDExIEBAIHVuaW5zdGFsbCA6OiB1bmluc3RhbGxfZnJvbV8kKElOU1RBTExESVJTKWRpcnMKLSAJJChOT0VDSE8pICQoTk9PUCkKLSAKLSB1bmluc3RhbGxfZnJvbV9wZXJsZGlycyA6OgotLQkkKE5PRUNITykgJChVTklOU1RBTEwpICJ9LiRzZWxmLT5jYXRmaWxlKCckKFBFUkxfQVJDSExJQiknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IgotIAotIHVuaW5zdGFsbF9mcm9tX3NpdGVkaXJzIDo6Ci0gCSQoTk9FQ0hPKSAkKFVOSU5TVEFMTCkgIn0uJHNlbGYtPmNhdGZpbGUoJyQoU0lURUFSQ0hFWFApJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIKLSAKLSB1bmluc3RhbGxfZnJvbV92ZW5kb3JkaXJzIDo6Ci0tCSQoTk9FQ0hPKSAkKFVOSU5TVEFMTCkgIn0uJHNlbGYtPmNhdGZpbGUoJyQoVkVORE9SQVJDSEVYUCknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IgotIH07Ci0gCi0gICAgIGpvaW4oIiIsQG0pOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wYXRjaGxldmVsLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BhdGNobGV2ZWwuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQwNWFlNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BhdGNobGV2ZWwuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gYjUxN2M1ZTE1ZDA4NzFlMzZkMGYxMTg3NjYxZmUxZGQyOGRkZjgyMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5pa28gVHluaSA8bnR5bmlAZGViaWFuLm9yZz4KLURhdGU6IFN1biwgMTUgTWF5IDIwMTEgMTk6MzU6NTggKzAzMDAKLVN1YmplY3Q6IExpc3QgcGFja2FnZWQgcGF0Y2hlcyBpbiBwYXRjaGxldmVsLmgKLQotT3JpZ2luOiB2ZW5kb3IKLUJ1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNTY3NDg5Ci0KLVRoZSBsaXN0IG9mIHBhY2thZ2VkIHBhdGNoZXMgaXMgaW4gcGF0Y2hsZXZlbC1kZWJpYW4uaCwgd2hpY2ggaXMgZ2VuZXJhdGVkCi1mcm9tIHRoZSBkZWJpYW4vcGF0Y2hlcy8gZGlyZWN0b3J5IHdoZW4gYnVpbGRpbmcgdGhlIHBhY2thZ2UuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9wYXRjaGxldmVsLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gcGF0Y2hsZXZlbC5oIHwgMyArKysKLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9wYXRjaGxldmVsLmggYi9wYXRjaGxldmVsLmgKLWluZGV4IGEwYWQ3OGIuLjAxMzY3YjcgMTAwNjQ0Ci0tLS0gYS9wYXRjaGxldmVsLmgKLSsrKyBiL3BhdGNobGV2ZWwuaAotQEAgLTEzNyw2ICsxMzcsOSBAQCBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGxvY2FsX3BhdGNoZXNbXSA9IHsKLSAJLCJ1bmNvbW1pdHRlZC1jaGFuZ2VzIgotICNlbmRpZgotIAlQRVJMX0dJVF9VTlBVU0hFRF9DT01NSVRTICAgIAkvKiBkbyBub3QgcmVtb3ZlIHRoaXMgbGluZSAqLwotKyNpZmRlZiBERUJJQU4KLSsjaW5jbHVkZSAicGF0Y2hsZXZlbC1kZWJpYW4uaCIKLSsjZW5kaWYKLSAJLE5VTEwKLSB9OwotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wZXJsNWRiLXgtdGVybWluYWwtZW11bGF0b3IucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3Blcmw1ZGIteC10ZXJtaW5hbC1lbXVsYXRvci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmYxNjI1Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3Blcmw1ZGIteC10ZXJtaW5hbC1lbXVsYXRvci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gYzk5YzYxZThmODYzYTUwOGEwNzkzMTY4MDExYzk4ZGM3NGFiYmQwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERvbWluaWMgSGFyZ3JlYXZlcyA8ZG9tQGVhcnRoLmxpPgotRGF0ZTogU2F0LCAxNCBBcHIgMjAxMiAxMTozNDowNSArMDEwMAotU3ViamVjdDogSW52b2tlIHgtdGVybWluYWwtZW11bGF0b3IgcmF0aGVyIHRoYW4geHRlcm0gaW4gcGVybDVkYi5wbAotCi1JbiBEZWJpYW4gc3lzdGVtcywgeHRlcm0gbWlnaHQgbm90IGV4aXN0IG9yIG1pZ2h0IG5vdCBiZSB0aGUgcHJlZmVycmVkCi10ZXJtaW5hbCBlbXVsYXRvci4gVXNlIHgtdGVybWluYWwtZW11bGF0b3IgaW5zdGVhZAotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzY2ODQ5MAotRm9yd2FyZGVkOiBub3QtbmVlZGVkCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9wZXJsNWRiLXgtdGVybWluYWwtZW11bGF0b3IucGF0Y2gKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbGliL3Blcmw1ZGIucGwgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9saWIvcGVybDVkYi5wbCBiL2xpYi9wZXJsNWRiLnBsCi1pbmRleCA3ZTcxOTRlLi5jNDY2YmYzIDEwMDY0NAotLS0tIGEvbGliL3Blcmw1ZGIucGwKLSsrKyBiL2xpYi9wZXJsNWRiLnBsCi1AQCAtNjk2MCw3ICs2OTYwLDcgQEAgcHJvcGVybHkgc2V0IHVwLgotIHN1YiB4dGVybV9nZXRfZm9ya19UVFkgewotICAgICAoIG15ICRuYW1lID0gJDAgKSA9fiBzLF4uKlsvXFxdLCxzOwotICAgICBvcGVuIFhULAotLXFxWzM+JjEgeHRlcm0gLXRpdGxlICJEYXVnaHRlciBQZXJsIGRlYnVnZ2VyICRwaWRzICRuYW1lIiAtZSBzaCAtYyAndHR5IDE+JjM7XAotK3FxWzM+JjEgeC10ZXJtaW5hbC1lbXVsYXRvciAtVCAiRGF1Z2h0ZXIgUGVybCBkZWJ1Z2dlciAkcGlkcyAkbmFtZSIgLWUgc2ggLWMgJ3R0eSAxPiYzO1wKLSAgc2xlZXAgMTAwMDAwMDAnIHxdOwotIAotICAgICAjIEdldCB0aGUgb3V0cHV0IGZyb20gJ3R0eScgYW5kIGNsZWFuIGl0IHVwIGEgbGl0dGxlLgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wZXJsaXZwLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BlcmxpdnAuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWM3NDEzYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BlcmxpdnAuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLUZyb20gZmJmYmViN2E2OTBkNzAzYTNjZGM1NmY5MjNlODllYjdiNzk5N2QzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5pa28gVHluaSA8bnR5bmlAZGViaWFuLm9yZz4KLURhdGU6IEZyaSwgOSBKYW4gMjAwOSAxODo1NDo0NyArMDIwMAotU3ViamVjdDogTWFrZSBwZXJsaXZwIHNraXAgaW5jbHVkZSBkaXJlY3RvcmllcyBpbiAvdXNyL2xvY2FsCi0KLUJ1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNTEwODk1Ci0KLU9uIFNhdCwgSmFuIDEwLCAyMDA5IGF0IDEyOjM3OjE4QU0gKzExMDAsIEJyZW5kYW4gTydEZWEgd3JvdGU6Ci0+IE9uIFdlZCwgSmFuIDcsIDIwMDkgYXQgMTI6MjEgQU0sIE5pa28gVHluaSA8bnR5bmlAZGViaWFuLm9yZz4gd3JvdGU6Ci0KLT4gPiBXZSBjb3VsZCBjcmVhdGUgdGhlIGRpcmVjdG9yaWVzIGluIGEgcG9zdGluc3Qgc2NyaXB0LCBidXQgSSdtIG5vdCBzdXJlCi0+ID4gSSBzZWUgdGhlIHBvaW50LiBUaGV5IHdpbGwgYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5IHdoZW4gaW5zdGFsbGluZwotPiA+IENQQU4gbW9kdWxlcy4KLT4KLT4gVGhlIGRpcmVjdG9yaWVzIGFyZSBpbnRlbnRpb25hbGx5IG5vdCBjcmVhdGVkLCBhcyB0aGlzIHdheSB0aGV5IGFyZQotPiBleGNsdWRlZCBmcm9tIHRoZSBzZWFyY2ggcGF0aCBhdCBzdGFydC11cCwgc2F2aW5nIGEgYnVuY2ggb2Ygd2FzdGVkCi0+IHN0YXRzIGF0IHVzZS9yZXF1aXJlIHRpbWUgaW4gdGhlIGNvbW1vbiBjYXNlIHRoYXQgdGhlIHVzZXIgaGFzIG5vdAotPiBpbnN0YWxsZWQgYW55IGxvY2FsIHBhY2thZ2VzLiAgQXMgTmlrbyBwb2ludHMgb3V0LCB0aGV5IHdpbGwgYmUKLT4gY3JlYXRlZCBhcyByZXF1aXJlZC4KLQotU2lnbmVkLW9mZi1ieTogTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPgotCi1QYXRjaC1OYW1lOiBkZWJpYW4vcGVybGl2cC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHV0aWxzL3BlcmxpdnAuUEwgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3V0aWxzL3BlcmxpdnAuUEwgYi91dGlscy9wZXJsaXZwLlBMCi1pbmRleCBjMmYwYTExLi5jYzQ5Zjk2IDEwMDY0NAotLS0tIGEvdXRpbHMvcGVybGl2cC5QTAotKysrIGIvdXRpbHMvcGVybGl2cC5QTAotQEAgLTE1Myw2ICsxNTMsNyBAQCBteSAkSU5DX3RvdGFsID0gMDsKLSBteSAkSU5DX3RoZXJlID0gMDsKLSBmb3JlYWNoIChASU5DKSB7Ci0gICAgIG5leHQgaWYgJF8gZXEgJy4nOyAjIHNraXAgLWQgdGVzdCBoZXJlCi0rICAgIG5leHQgaWYgbXwvdXNyL2xvY2FsfDsgIyBub3Qgc2hpcHBlZCBvbiBEZWJpYW4KLSAgICAgaWYgKC1kICRfKSB7Ci0gICAgICAgICBwcmludCAiIyMgUGVybCBcQElOQyBkaXJlY3RvcnkgJyRfJyBleGlzdHMuXG4iIGlmICRvcHR7J3YnfTsKLSAgICAgICAgICRJTkNfdGhlcmUrKzsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vcG9kMm1hbi1jdXN0b21pemVkLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BvZDJtYW4tY3VzdG9taXplZC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NzA3NTYyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vcG9kMm1hbi1jdXN0b21pemVkLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1Gcm9tIDI3YTQ5NTJjMmU1MzE5NDdkYzlmMmYwMmUyMDYzZDExN2UyZTY5OWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBTYXQsIDE4IEFwciAyMDE1IDE3OjM5OjMyICswMzAwCi1TdWJqZWN0OiBVcGRhdGUgcG9ydGluZy9jdXN0b21pemVkLmRhdCBmb3IgcG9kMm1hbiBtb2RpZmljYXRpb25zCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9wb2QybWFuLWN1c3RvbWl6ZWQuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSB0L3BvcnRpbmcvY3VzdG9taXplZC5kYXQgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS90L3BvcnRpbmcvY3VzdG9taXplZC5kYXQgYi90L3BvcnRpbmcvY3VzdG9taXplZC5kYXQKLWluZGV4IDBlZWQ5ZjcuLjdkZjM5OGQgMTAwNjQ0Ci0tLS0gYS90L3BvcnRpbmcvY3VzdG9taXplZC5kYXQKLSsrKyBiL3QvcG9ydGluZy9jdXN0b21pemVkLmRhdAotQEAgLTQyLDcgKzQyLDcgQEAgV2luMzJBUEk6OkZpbGUgY3Bhbi9XaW4zMkFQSS1GaWxlL01ha2VmaWxlLlBMIDYwNWQwYWVlMzFhZWJlODRhOTk0MDhmOWFiNWY2NDRkYjUKLSBXaW4zMkFQSTo6RmlsZSBjcGFuL1dpbjMyQVBJLUZpbGUvdC9maWxlLnQgMTI0ZTY0YWE3N2U3NTUyMzVlYjI5NzY0NGE4N2ZhYzUzODhkM2Q3OAotIFdpbjMyQVBJOjpGaWxlIGNwYW4vV2luMzJBUEktRmlsZS90L3RpZS50IDcxMmVhN2VkZDBjYzgwNWNlMWMwYjgxNzJjMDFiMDNkZDE5YjU4M2QKLSBXaW4zMkFQSTo6RmlsZSBjcGFuL1dpbjMyQVBJLUZpbGUvdHlwZW1hcCAyNGJmZjA4OGJhYmVhZGFjMDg3M2U4ZGYzOTBkMTY2NmQ5ZDlkYjRhCi0tcG9kbGF0b3JzIGNwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTCBmODFhY2Y1M2YzZmY0NmNkY2M1ZWJkZDY2MWM1ZDEzZWIzNWQyMGQ2Ci0rcG9kbGF0b3JzIGNwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTCA3NjFmMzVkM2ZjZjkxYzFiYzJmOWUwMjRhOWZhNWM2MmZkM2ZjMzM4Ci0gcG9kbGF0b3JzIGNwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMnRleHQuUEwgYjQ2OTNmY2ZlNGEwYTFiMzhhMjE1Y2ZiODk4NWE2NWQ1ZDAyNWQ2OQotIHZlcnNpb24gY3Bhbi92ZXJzaW9uL2xpYi92ZXJzaW9uLnBtIGQwOTIzYjg5NWQ1N2YxZDY2OWFlMzZmY2Y4NWM4N2IxNmRiMzQxZDEKLSB2ZXJzaW9uIHZ1dGlsLmMgNjY4ZjE3Y2E0M2UyNTI3NjQ1Njc0ZDI5YmE3NzJiODYzMzBkNTY2MwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wcmVmaXhfY2hhbmdlcy5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wcmVmaXhfY2hhbmdlcy5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNjgxYzNlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vcHJlZml4X2NoYW5nZXMuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDExOSArMCwwIEBACi1Gcm9tIDkxNDk0OGYwMjZlZmNlMDJjZjBhYmZmOGIwMzEyYWFhZDk2NTkyZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgOCBNYXIgMjAwNSAxOTozMDozOCArMTEwMAotU3ViamVjdDogRmlkZGxlIHdpdGggKlBSRUZJWCBhbmQgdmFyaWFibGVzIHdyaXR0ZW4gdG8gdGhlIG1ha2VmaWxlCi0KLUZpZGRsZSB3aXRoICpQUkVGSVggYW5kIHZhcmlhYmxlcyB3cml0dGVuIHRvIHRoZSBtYWtlZmlsZSBzbyB0aGF0Ci1pbnN0YWxsIGRpcmVjdG9yaWVzIG1heSBiZSBjaGFuZ2VkIHdoZW4gbWFrZSBpcyBydW4gYnkgcGFzc2luZwotUFJFRklYPSB0byB0aGUgIm1ha2UgaW5zdGFsbCIgY29tbWFuZCAodXNlZCB3aGVuIHBhY2thZ2luZwotbW9kdWxlcykuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9wcmVmaXhfY2hhbmdlcy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9BbnkucG0gIHwgMTIgKysrKysrLS0tLS0tCi0gY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0gfCAgMyArLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1QudCAgICAgICAgICAgICAgICB8ICA0ICstLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1RfUFJFRklYLnQgICAgICAgICB8IDEwICsrKysrLS0tLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX0FueS5wbSBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9BbnkucG0KLWluZGV4IDRjMDAxMjkuLjFlYTIwMzUgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fQW55LnBtCi0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fQW55LnBtCi1AQCAtOTAyLDggKzkwMiw2IEBAIGFsbCBQT0QgZmlsZXMgaW4gTUFOMVBPRFMgYW5kIE1BTjNQT0RTLgotIHN1YiBtYW5pZnlwb2RzX3RhcmdldCB7Ci0gICAgIG15KCRzZWxmKSA9IHNoaWZ0OwotIAotLSAgICBteSAkbWFuMXBvZHMgICAgICA9ICcnOwotLSAgICBteSAkbWFuM3BvZHMgICAgICA9ICcnOwotICAgICBteSAkZGVwZW5kZW5jaWVzICA9ICcnOwotIAotICAgICAjIHBvcHVsYXRlIG1hblhwb2RzICYgZGVwZW5kZW5jaWVzOgotQEAgLTkxOSw3ICs5MTcsNyBAQCBFTkQKLSAgICAgZm9yZWFjaCBteSAkc2VjdGlvbiAocXcoMSAzKSkgewotICAgICAgICAgbXkgJHBvZHMgPSAkc2VsZi0+eyJNQU4ke3NlY3Rpb259UE9EUyJ9OwotICAgICAgICAgbXkgJHAybSA9IHNwcmludGYgPDxDTUQsICRdID4gNS4wMDggPyAiIC11IiA6ICIiOwotLQlcJChOT0VDSE8pIFwkKFBPRDJNQU4pIC0tc2VjdGlvbj0kc2VjdGlvbiAtLXBlcm1fcnc9XCQoUEVSTV9SVyklcwotKwlcJChOT0VDSE8pIFwkKFBPRDJNQU4pIC0tc2VjdGlvbj1cJChNQU4ke3NlY3Rpb259RVhUKSAtLXBlcm1fcnc9XCQoUEVSTV9SVyklcwotIENNRAotICAgICAgICAgcHVzaCBAbWFuX2NtZHMsICRzZWxmLT5zcGxpdF9jb21tYW5kKCRwMm0sIG1hcCB7KCRfLCRwb2RzLT57JF99KX0gc29ydCBrZXlzICUkcG9kcyk7Ci0gICAgIH0KLUBAIC0xODc1LDkgKzE4NzMsMTEgQEAgc3ViIGluaXRfSU5TVEFMTF9mcm9tX1BSRUZJWCB7Ci0gICAgICAgICAkc2VsZi0+e1NJVEVQUkVGSVh9ICAgfHw9ICRzcHJlZml4OwotICAgICAgICAgJHNlbGYtPntWRU5ET1JQUkVGSVh9IHx8PSAkdnByZWZpeDsKLSAKLS0gICAgICAgICMgTG90cyBvZiBNTSBleHRlbnNpb24gYXV0aG9ycyBsaWtlIHRvIHVzZSAkKFBSRUZJWCkgc28gd2UKLS0gICAgICAgICMgcHV0IHNvbWV0aGluZyBzZW5zaWJsZSBpbiB0aGVyZSBubyBtYXR0ZXIgd2hhdC4KLS0gICAgICAgICRzZWxmLT57UFJFRklYfSA9ICckKCcudWMgJHNlbGYtPntJTlNUQUxMRElSU30uJ1BSRUZJWCknOwotKwlteSAkcCA9ICRzZWxmLT57UFJFRklYfSA9ICRzZWxmLT57UEVSTFBSRUZJWH07Ci0rCWZvciBteSAkdCAocXcvUEVSTCBTSVRFIFZFTkRPUi8pCi0rCXsKLSsJICAgICRzZWxmLT57IiR7dH1QUkVGSVgifSA9fiBzIV5cUSRwXEUoPz0vfCQpIVwkKFBSRUZJWCkhOwotKwl9Ci0gICAgIH0KLSAKLSAgICAgbXkgJGFyY2ggICAgPSAkQ29uZmlne2FyY2huYW1lfTsKLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi1pbmRleCAzOTFkYzIyLi40YThlMTRjIDEwMDY0NAotLS0tIGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi1AQCAtMzA3Nyw4ICszMDc3LDcgQEAgc3ViIHByZWZpeGlmeSB7Ci0gICAgIHdhcm4gIiAgcHJlZml4aWZ5ICR2YXIgPT4gJHBhdGhcbiIgaWYgJFZlcmJvc2UgPj0gMjsKLSAgICAgd2FybiAiICAgIGZyb20gJHNwcmVmaXggdG8gJHJwcmVmaXhcbiIgaWYgJFZlcmJvc2UgPj0gMjsKLSAKLS0gICAgaWYoICRzZWxmLT57QVJHU317UFJFRklYfSAmJgotLSAgICAgICAgJHBhdGggIX4gc3teXFEkc3ByZWZpeFxFXGJ9eyRycHJlZml4fXMgKQotKyAgICBpZiggJHBhdGggIX4gc3teXFEkc3ByZWZpeFxFXGJ9eyRycHJlZml4fXMgJiYgJHNlbGYtPntBUkdTfXtQUkVGSVh9ICkKLSAgICAgewotIAotICAgICAgICAgd2FybiAiICAgIGNhbm5vdCBwcmVmaXgsIHVzaW5nIGRlZmF1bHQuXG4iIGlmICRWZXJib3NlID49IDI7Ci1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNULnQgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1QudAotaW5kZXggOTEwNThiYi4uZTM5OWNlZCAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvSU5TVC50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1QudAotQEAgLTY1LDkgKzY1LDcgQEAgaXNhX29rKCAkbW0sICdFeHRVdGlsczo6TWFrZU1ha2VyJyApOwotIGlzKCAkbW0tPntOQU1FfSwgJ0JpZzo6RHVtbXknLCAgJ05BTUUnICk7Ci0gaXMoICRtbS0+e1ZFUlNJT059LCAwLjAxLCAgICAgICAgICAgICdWRVJTSU9OJyApOwotIAotLW15ICRjb25maWdfcHJlZml4ID0gJENvbmZpZ3tpbnN0YWxscHJlZml4ZXhwfSB8fCAkQ29uZmlne2luc3RhbGxwcmVmaXh9IHx8Ci0tICAgICAgICAgICAgICAgICAgICAkQ29uZmlne3ByZWZpeGV4cH0gICAgICAgIHx8ICRDb25maWd7cHJlZml4fTsKLS1pcyggJG1tLT57UEVSTFBSRUZJWH0sICRjb25maWdfcHJlZml4LCAgICdQRVJMUFJFRklYJyApOwotK2lzKCAkbW0tPntQRVJMUFJFRklYfSwgJyQoUFJFRklYKScsICAgJ1BFUkxQUkVGSVgnICk7Ci0gCi0gaXMoICEhJG1tLT57UEVSTF9DT1JFfSwgISEkRU5We1BFUkxfQ09SRX0sICdQRVJMX0NPUkUnICk7Ci0gCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNUX1BSRUZJWC50IGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNUX1BSRUZJWC50Ci1pbmRleCBlOGRlN2M2Li4zZmIzZjEyIDEwMDY0NAotLS0tIGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNUX1BSRUZJWC50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1RfUFJFRklYLnQKLUBAIC0xMCw3ICsxMCw3IEBAIEJFR0lOIHsKLSB9Ci0gCi0gdXNlIHN0cmljdDsKLS11c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiA1MjsKLSt1c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiA0NzsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpVdGlsczsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpTZXR1cDo6QkZEOwotIHVzZSBFeHRVdGlsczo6TWFrZU1ha2VyOwotQEAgLTYyLDE2ICs2MiwxNiBAQCBsaWtlKCAkc3Rkb3V0LT5yZWFkLCBxcnsKLSAgICAgICAgICAgICAgICAgICAgICAgICAoPzpXcml0aW5nXCBNWU1FVEEueW1sXCBhbmRcIE1ZTUVUQS5qc29uXG4pPwotIH14ICk7Ci0gCi0taXMoICRtbS0+e1BSRUZJWH0sICckKFNJVEVQUkVGSVgpJywgJ1BSRUZJWCBzZXQgYmFzZWQgb24gSU5TVEFMTERJUlMnICk7Ci0rI2lzKCAkbW0tPntQUkVGSVh9LCAnJChTSVRFUFJFRklYKScsICdQUkVGSVggc2V0IGJhc2VkIG9uIElOU1RBTExESVJTJyApOwotIAotIGlzYV9vayggJG1tLCAnRXh0VXRpbHM6Ok1ha2VNYWtlcicgKTsKLSAKLSBpcyggJG1tLT57TkFNRX0sICdCaWc6OkR1bW15JywgICdOQU1FJyApOwotIGlzKCAkbW0tPntWRVJTSU9OfSwgMC4wMSwgICAgICAgICAgICAnVkVSU0lPTicgKTsKLSAKLS1mb3JlYWNoIG15ICRwcmVmaXggKHF3KFBSRUZJWCBQRVJMUFJFRklYIFNJVEVQUkVGSVggVkVORE9SUFJFRklYKSkgewotLSAgICB1bmxpa2UoICRtbS0+eyRwcmVmaXh9LCBxci9cJFwoUFJFRklYXCkvICk7Ci0tfQotKyNmb3JlYWNoIG15ICRwcmVmaXggKHF3KFBSRUZJWCBQRVJMUFJFRklYIFNJVEVQUkVGSVggVkVORE9SUFJFRklYKSkgewotKyMgICAgdW5saWtlKCAkbW0tPnskcHJlZml4fSwgcXIvXCRcKFBSRUZJWFwpLyApOwotKyN9Ci0gCi0gCi0gbXkgJFBSRUZJWCA9IEZpbGU6OlNwZWMtPmNhdGRpcignZm9vJywgJ2JhcicpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wcnVuZV9saWJzLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BydW5lX2xpYnMuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTJlZDUyYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BydW5lX2xpYnMuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gYzQ1MzhmOTY2YzQ5ZTM1NjU5OTM1OGRlZjdkMWZlYmY2MWJjYTIxZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJyZW5kYW4gTydEZWEgPGJvZEBkZWJpYW4ub3JnPgotRGF0ZTogRnJpLCAxOCBNYXIgMjAwNSAyMjoyMjoyNSArMTEwMAotU3ViamVjdDogW1BBVENIIDE1LzQ5XSBQcnVuZSB0aGUgbGlzdCBvZiBsaWJyYXJpZXMgd2FudGVkIHRvIHdoYXQgd2UgYWN0dWFsbHkKLSBuZWVkLgotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzEyODM1NQotCi1XZSB3YW50IHRvIGtlZXAgdGhlIGRlcGVuZGVuY2llcyBvbiBwZXJsLWJhc2UgYXMgc21hbGwgYXMgcG9zc2libGUsCi1hbmQgc29tZSBvZiB0aGUgb3JpZ2luYWwgbGlzdCBtYXkgYmUgcHJlc2VudCBvbiBidWlsZGRzIChzZWUgQnVnIzEyODM1NSkuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9wcnVuZV9saWJzLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gQ29uZmlndXJlIHwgNSArKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9Db25maWd1cmUgYi9Db25maWd1cmUKLWluZGV4IDVhMzUzZDYuLmEwMGRmNjQgMTAwNzU1Ci0tLS0gYS9Db25maWd1cmUKLSsrKyBiL0NvbmZpZ3VyZQotQEAgLTE0NzksOCArMTQ3OSw3IEBAIGFyY2huYW1lPScnCi0gdXNlcmVlbnRyYW50PSd1bmRlZicKLSA6IExpc3Qgb2YgbGlicmFyaWVzIHdlIHdhbnQuCi0gOiBJZiBhbnlvbmUgbmVlZHMgZXh0cmEgLWx4eHgsIHB1dCB0aG9zZSBpbiBhIGhpbnQgZmlsZS4KLS1saWJzd2FudGVkPSJjbCBwdGhyZWFkIHNvY2tldCBiaW5kIGluZXQgbnNsIG5kYm0gZ2RibSBkYm0gZGIgbWFsbG9jIGRsIGxkIgotLWxpYnN3YW50ZWQ9IiRsaWJzd2FudGVkIHN1biBtIGNyeXB0IHNlYyB1dGlsIGMgY3Bvc2l4IHBvc2l4IHVjYiBic2QgQlNEIgotK2xpYnN3YW50ZWQ9J2dkYm0gZ2RibV9jb21wYXQgZGIgZGwgbSBjIGNyeXB0JwotIDogV2UgcHJvYmFibHkgd2FudCB0byBzZWFyY2ggL3Vzci9zaGxpYiBiZWZvcmUgbW9zdCBvdGhlciBsaWJyYXJpZXMuCi0gOiBUaGlzIGlzIG9ubHkgdXNlZCBieSB0aGUgbGliL0V4dFV0aWxzL01ha2VNYWtlci5wbSByb3V0aW5lIGV4dGxpYmxpc3QuCi0gZ2xpYnB0aD1gZWNobyAiICRnbGlicHRoICIgfCBzZWQgLWUgJ3MhIC91c3Ivc2hsaWIgISAhJ2AKLUBAIC0yNDAwNyw3ICsyNDAwNiw3IEBAIHN1bm9zKlg0KikKLSAgICAgOzsKLSAqKSBjYXNlICIkdXNlZGwiIGluCi0gICAgICRkZWZpbmV8dHJ1ZXxbeVldKikKLS0JICAgIHNldCBYIGBlY2hvICIgJGxpYnMgIiB8IHNlZCAtZSAnc0AgLWxuZGJtIEAgQCcgLWUgJ3NAIC1sZ2RibSBAIEAnIC1lICdzQCAtbGdkYm1fY29tcGF0IEAgQCcgLWUgJ3NAIC1sZGJtIEAgQCcgLWUgJ3NAIC1sZGIgQCBAJ2AKLSsJICAgIHNldCBYIGBlY2hvICIgJGxpYnMgIiB8IHNlZCAtZSAnc0AgLWxnZGJtIEAgQCcgLWUgJ3NAIC1sZ2RibV9jb21wYXQgQCBAJyAtZSAnc0AgLWxkYiBAIEAnYAotIAkgICAgc2hpZnQKLSAJICAgIHBlcmxsaWJzPSIkKiIKLSAJICAgIDs7Ci0tLSAKLTIuMS40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vcmVnZW4tc2tpcC5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9yZWdlbi1za2lwLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkOWE3YzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9yZWdlbi1za2lwLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIGNiM2U5OGUxN2E2NjY4OTYxNTBiMTA5Njk0ZTllYjkyNzg2MjA4NDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBTYXQsIDE3IE1heSAyMDE0IDE0OjU3OjAxICswMzAwCi1TdWJqZWN0OiBTa2lwIGEgcmVnZW5lcmF0aW9uIGNoZWNrIGluIHVucmVsYXRlZCBnaXQgcmVwb3NpdG9yaWVzCi0KLUlmIHRoZSB0ZXN0IGlzIHJ1biBpbiBhIGdpdCByZXBvc2l0b3J5IHdpdGhvdXQgbGliLy5naXRpZ25vcmUsCi1mb3IgaW5zdGFuY2UgYmVjYXVzZSB0aGUgcmVwb3NpdG9yeSBvbmx5IGltcG9ydGVkIHRoZSBQZXJsIHRhcmJhbGwsCi10aGUgcmVnZW5lcmF0aW9uIGNoZWNrIGlzIGJyb2tlbiBiZWNhdXNlIGxpYi8uZ2l0aWdub3JlIGlzIG1pc3NpbmcuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9yZWdlbi1za2lwLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gcmVnZW4vbGliX2NsZWFudXAucGwgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9yZWdlbi9saWJfY2xlYW51cC5wbCBiL3JlZ2VuL2xpYl9jbGVhbnVwLnBsCi1pbmRleCBjOWQ2ZTQzLi5mZWNlMWVkIDEwMDY0NAotLS0tIGEvcmVnZW4vbGliX2NsZWFudXAucGwKLSsrKyBiL3JlZ2VuL2xpYl9jbGVhbnVwLnBsCi1AQCAtMTU5LDcgKzE1OSw3IEBAIGZvcmVhY2ggKCd3aW4zMi9NYWtlZmlsZScsICd3aW4zMi9tYWtlZmlsZS5taycpIHsKLSB9Ci0gCi0gIyBUaGlzIG11c3QgY29tZSBsYXN0IGFzIGl0IGNhbiBleGl0IGVhcmx5OgotLWlmICgkVEFQICYmICEtZCAnLmdpdCcgJiYgIS1mICdsaWIvLmdpdGlnbm9yZScpIHsKLStpZiAoJFRBUCAmJiAhLWQgJy5naXQnIHx8ICEtZiAnbGliLy5naXRpZ25vcmUnKSB7Ci0gICAgIHByaW50ICJvayAjIHNraXAgbm90IGJlaW5nIHJ1biBmcm9tIGEgZ2l0IGNoZWNrb3V0LCBoZW5jZSBubyBsaWIvLmdpdGlnbm9yZVxuIjsKLSAgICAgZXhpdCAwOwotIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vc2tpcC1rZnJlZWJzZC1jcmFzaC5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9za2lwLWtmcmVlYnNkLWNyYXNoLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiMzc0NTIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9za2lwLWtmcmVlYnNkLWNyYXNoLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDQyODUzYWY2NWEyODA2NmIxMTlkMjNkOTZlOTY0ZTk0YjU1YTg1NDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBGcmksIDUgQXVnIDIwMTEgMTA6NTA6MTggKzAzMDAKLVN1YmplY3Q6IFNraXAgYSBjcmFzaGluZyB0ZXN0IGNhc2UgaW4gdC9vcC90aHJlYWRzLnQgb24gR05VL2tGcmVlQlNECi0KLUJ1ZzogaHR0cDovL3J0LnBlcmwub3JnL3J0My9UaWNrZXQvRGlzcGxheS5odG1sP2lkPTk2MjcyCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzYyODQ5MwotCi1UaGUgY3Jhc2ggaXMgbm90IGEgcmVncmVzc2lvbiBpbiA1LjE0LCBpdCBqdXN0IGdldHMgdHJpZ2dlcmVkIHRoZXJlIGJ5Ci1hIG5ldyB1bnJlbGF0ZWQgdGVzdCBjYXNlLgotCi1Ta2lwIHRoZSB0ZXN0IHVudGlsIHRoZSBjdWxwcml0IGlzIGZvdW5kLgotCi1QYXRjaC1OYW1lOiBkZWJpYW4vc2tpcC1rZnJlZWJzZC1jcmFzaC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHQvb3AvdGhyZWFkcy50IHwgNCArKysrCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvdC9vcC90aHJlYWRzLnQgYi90L29wL3RocmVhZHMudAotaW5kZXggZTc2Yzk1Ni4uYmVjMjEwYiAxMDA2NDQKLS0tLSBhL3Qvb3AvdGhyZWFkcy50Ci0rKysgYi90L29wL3RocmVhZHMudAotQEAgLTM3Niw2ICszNzYsOSBAQCBFT0YKLSB9Ci0gCi0gCi0rU0tJUDogewotKyAgICBza2lwICJbcGVybCAjOTYyNzJdIGF2b2lkIGNyYXNoIG9uIEdOVS9rRnJlZUJTRCIsIDEKLSsgICAgICAgIGlmICReTyBlcSAnZ251a2ZyZWVic2QnOwotICMgW3BlcmwgIzc4NDk0XSBQaXBlcyBzaGFyZWQgYmV0d2VlbiB0aHJlYWRzIGJsb2NrIHdoZW4gY2xvc2VkCi0gewotICAgbXkgJHBlcmwgPSB3aGljaF9wZXJsOwotQEAgLTM4NCw2ICszODcsNyBAQCBFT0YKLSAgIHRocmVhZHMtPmNyZWF0ZShzdWIgeyB9KS0+am9pbjsKLSAgIG9rKDEsICJQaXBlcyBzaGFyZWQgYmV0d2VlbiB0aHJlYWRzIGRvIG5vdCBibG9jayB3aGVuIGNsb3NlZCIpOwotIH0KLSt9Ci0gCi0gIyBbcGVybCAjMTA1MjA4XSBUeXBlZ2xvYiBjbG9uZXMgc2hvdWxkIG5vdCBiZSBjbG9uZWQgYWdhaW4gZHVyaW5nIGEgam9pbgotIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vc2tpcC11cHN0cmVhbS1naXQtdGVzdHMuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vc2tpcC11cHN0cmVhbS1naXQtdGVzdHMuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc5ZjRhYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3NraXAtdXBzdHJlYW0tZ2l0LXRlc3RzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIGFlOWI2NDVkNmRhMjk5MGZkMDU1MzY4ZWNhMmM2N2M0NDk0NzRlMzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBGcmksIDIyIEFwciAyMDExIDExOjE1OjMyICswMzAwCi1TdWJqZWN0OiBTa2lwIHRlc3RzIHNwZWNpZmljIHRvIHRoZSB1cHN0cmVhbSBHaXQgcmVwb3NpdG9yeQotCi1UaGVzZSB0ZXN0cyBmYWlsIGlmIHJ1biBmcm9tIGEgZGlmZmVyZW50IGdpdCByZXBvc2l0b3J5IHRoYW4KLXVwc3RyZWFtLiBUaGlzIGNvbXBsaWNhdGVzIHRoaW5ncyBuZWVkbGVzc2x5IGZvciBkb3duc3RyZWFtIHBhY2thZ2Vycy4KLQotU2tpcCB0aGUgdGVzdHMgYWx0b2dldGhlciBldmVuIGlmIHRoZSAuZ2l0IGRpcmVjdG9yeSBleGlzdHMuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9za2lwLXVwc3RyZWFtLWdpdC10ZXN0cy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHQvdGVzdC5wbCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3QvdGVzdC5wbCBiL3QvdGVzdC5wbAotaW5kZXggY2RhMzg0MC4uYWY1NzlhMiAxMDA2NDQKLS0tLSBhL3QvdGVzdC5wbAotKysrIGIvdC90ZXN0LnBsCi1AQCAtMTc0LDcgKzE3NCw3IEBAIHN1YiBza2lwX2FsbF93aXRob3V0X3VuaWNvZGVfdGFibGVzIHsgIyAoYnV0IG9ubHkgdW5kZXIgbWluaXBlcmwpCi0gCi0gc3ViIGZpbmRfZ2l0X29yX3NraXAgewotICAgICBteSAoJHNvdXJjZV9kaXIsICRyZWFzb24pOwotLSAgICBpZiAoLWQgJy5naXQnKSB7Ci0rICAgIGlmICgtZCAnLmdpdCcgJiYgISAtZCAnZGViaWFuJykgewotIAkkc291cmNlX2RpciA9ICcuJzsKLSAgICAgfSBlbHNpZiAoLWwgJ01BTklGRVNUJyAmJiAtbCAnQVVUSE9SUycpIHsKLSAJbXkgJHdoZXJlID0gcmVhZGxpbmsgJ01BTklGRVNUJzsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vc3F1ZWxjaC1sb2NhbGUtd2FybmluZ3MuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vc3F1ZWxjaC1sb2NhbGUtd2FybmluZ3MuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDk2NGU0OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3NxdWVsY2gtbG9jYWxlLXdhcm5pbmdzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi1Gcm9tIDQ4N2E2ZDZhZGEwYjA4ZTZhNzI3NjUyMGViYzYxY2Q4NTEwMDVlN2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBTdW4sIDMgT2N0IDIwMTAgMjE6MzY6MTcgKzAzMDAKLVN1YmplY3Q6IFNxdWVsY2ggbG9jYWxlIHdhcm5pbmdzIGluIERlYmlhbiBwYWNrYWdlIG1haW50YWluZXIgc2NyaXB0cwotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzUwODc2NAotCi1UaGUgc3lzdGVtIGxvY2FsZXMgYXJlIHJhdGhlciBmcmVxdWVudGx5IG91dCBvZiBzeW5jIHdpdGggdGhlIEMgbGlicmFyeQotZHVyaW5nIHBhY2thZ2UgdXBncmFkZXMsIGNhdXNpbmcgYSBodWdlIGFtb3VudCBvZiB1c2VsZXNzIFBlcmwgbG9jYWxlCi13YXJuaW5ncy4gU3F1ZWxjaCB0aGVtIHdoZW4gcnVubmluZyBwYWNrYWdlIG1haW50YWluZXIgc2NyaXB0cywgZGV0ZWN0ZWQKLWJ5IHRoZSBEUEtHX1JVTk5JTkdfVkVSU0lPTiBlbnZpcm9ubWVudCB2YXJpYWJsZS4KLQotQW55IHJlYWwgbG9jYWxlIHByb2JsZW0gd2lsbCBzaG93IHVwIGFmdGVyIHRoZSBzeXN0ZW0gdXBncmFkZSB0b28sIGFuZAotdGhlIHdhcm5pbmcgd2lsbCBiZSB0cmlnZ2VyZWQgbm9ybWFsbHkgYWdhaW4gYXQgdGhhdCBwb2ludC4KLQotUGF0Y2gtTmFtZTogZGViaWFuL3NxdWVsY2gtbG9jYWxlLXdhcm5pbmdzLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbG9jYWxlLmMgICAgICAgICAgIHwgNSArKysrLQotIHBvZC9wZXJsbG9jYWxlLnBvZCB8IDggKysrKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xvY2FsZS5jIGIvbG9jYWxlLmMKLWluZGV4IDdhNGE0MTguLmZkZjkxMWQgMTAwNjQ0Ci0tLS0gYS9sb2NhbGUuYwotKysrIGIvbG9jYWxlLmMKLUBAIC02NzQsNyArNjc0LDEwIEBAIFBlcmxfaW5pdF9pMThubDEwbihwVEhYXyBpbnQgcHJpbnR3YXJuKQotIAotICAgICBjb25zdCBib29sIGxvY3dhcm4gPSAocHJpbnR3YXJuID4gMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKHByaW50d2FybgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICghIGJhZF9sYW5nX3VzZV9vbmNlCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBEZWJpYW4gc3BlY2lmaWMgY2hhbmdlIC0gc2VlIGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNTA4NzY0ICovCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCFQZXJsRW52X2dldGVudigiRFBLR19SVU5OSU5HX1ZFUlNJT04iKSkgJiYKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoISBiYWRfbGFuZ191c2Vfb25jZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogZGlzYWxsb3cgd2l0aCAiIiBvciAiMCIgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqYmFkX2xhbmdfdXNlX29uY2UKLWRpZmYgLS1naXQgYS9wb2QvcGVybGxvY2FsZS5wb2QgYi9wb2QvcGVybGxvY2FsZS5wb2QKLWluZGV4IDcwMWI0MjIuLjU4Y2FiYWYgMTAwNjQ0Ci0tLS0gYS9wb2QvcGVybGxvY2FsZS5wb2QKLSsrKyBiL3BvZC9wZXJsbG9jYWxlLnBvZAotQEAgLTEyMTcsNiArMTIxNywxNCBAQCBCPE5PVEU+OiBDPFBFUkxfQkFETEFORz4gb25seSBnaXZlcyB5b3UgYSB3YXkgdG8gaGlkZSB0aGUgd2FybmluZyBtZXNzYWdlLgotIFRoZSBtZXNzYWdlIHRlbGxzIGFib3V0IHNvbWUgcHJvYmxlbSBpbiB5b3VyIHN5c3RlbSdzIGxvY2FsZSBzdXBwb3J0LAotIGFuZCB5b3Ugc2hvdWxkIGludmVzdGlnYXRlIHdoYXQgdGhlIHByb2JsZW0gaXMuCi0gCi0rPWl0ZW0gRFBLR19SVU5OSU5HX1ZFUlNJT04KLSsKLStPbiBEZWJpYW4gc3lzdGVtcywgaWYgdGhlIERQS0dfUlVOTklOR19WRVJTSU9OIGVudmlyb25tZW50IHZhcmlhYmxlIGlzCi0rc2V0ICh0byBhbnkgdmFsdWUpLCB0aGUgbG9jYWxlIGZhaWx1cmUgd2FybmluZ3Mgd2lsbCBiZSBzdXBwcmVzc2VkIGp1c3QKLStsaWtlIHdpdGggYSB6ZXJvIFBFUkxfQkFETEFORyBzZXR0aW5nLiBUaGlzIGlzIGRvbmUgdG8gYXZvaWQgZmxvb2RzCi0rb2Ygc3B1cmlvdXMgd2FybmluZ3MgZHVyaW5nIHN5c3RlbSB1cGdyYWRlcy4KLStTZWUgTDxodHRwOi8vYnVncy5kZWJpYW4ub3JnLzUwODc2ND4uCi0rCi0gPWJhY2sKLSAKLSBUaGUgZm9sbG93aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgbm90IHNwZWNpZmljIHRvIFBlcmw6IFRoZXkgYXJlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3dyaXRhYmxlX3NpdGVfZGlycy5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi93cml0YWJsZV9zaXRlX2RpcnMuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWIzNzNiMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3dyaXRhYmxlX3NpdGVfZGlycy5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSA1OTFjMWY5YjdkNDc1NWJmYzU5ZDk2NjViYWIxZjJjYTQxMGRlNzY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJlbmRhbiBPJ0RlYSA8Ym9kQGRlYmlhbi5vcmc+Ci1EYXRlOiBUdWUsIDggTWFyIDIwMDUgMTk6MzA6MzggKzExMDAKLVN1YmplY3Q6IFNldCB1bWFzayBhcHByb3Byb2F0ZWx5IGZvciBzaXRlIGluc3RhbGwgZGlyZWN0b3JpZXMKLQotUG9saWN5IHJlcXVpcmVzIGdyb3VwIHdyaXRhYmxlIHNpdGUgZGlyZWN0b3JpZXMKLQotUGF0Y2gtTmFtZTogZGViaWFuL3dyaXRhYmxlX3NpdGVfZGlycy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0gYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotaW5kZXggMTk3ZjEwMi4uNWYxYjg3ZiAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotQEAgLTIxMzgsNyArMjEzOCw3IEBAIHF7CQkiJChJTlNUX0xJQikiICIkKERFU1RJTlNUQUxMUFJJVkxJQikiIFwKLSAKLSAKLSBwdXJlX3NpdGVfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pIHVtYXNrIDAyMjsgJChNT0RfSU5TVEFMTCkgXAotKwkkKE5PRUNITykgdW1hc2sgMDI7ICQoTU9EX0lOU1RBTEwpIFwKLSB9OwotICAgICBwdXNoIEBtLAotIHF7CQlyZWFkICJ9LiRzZWxmLT5jYXRmaWxlKCckKFNJVEVBUkNIRVhQKScsJ2F1dG8nLCckKEZVTExFWFQpJywnLnBhY2tsaXN0JykucXsiIFwKLUBAIC0yMTk5LDggKzIxOTksOCBAQCBkb2NfcGVybF9pbnN0YWxsIDo6IGFsbAotIAotIGRvY19zaXRlX2luc3RhbGwgOjogYWxsCi0gCSQoTk9FQ0hPKSAkKEVDSE8pIEFwcGVuZGluZyBpbnN0YWxsYXRpb24gaW5mbyB0byAiJChERVNUSU5TVEFMTEFSQ0hMSUIpL3Blcmxsb2NhbC5wb2QiCi0tCS0kKE5PRUNITykgdW1hc2sgMDIyOyAkKE1LUEFUSCkgIiQoREVTVElOU1RBTExBUkNITElCKSIKLS0JLSQoTk9FQ0hPKSB1bWFzayAwMjI7ICQoRE9DX0lOU1RBTEwpIFwKLSsJLSQoTk9FQ0hPKSB1bWFzayAwMjsgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0rCS0kKE5PRUNITykgdW1hc2sgMDI7ICQoRE9DX0lOU1RBTEwpIFwKLSAJCSJNb2R1bGUiICIkKE5BTUUpIiBcCi0gCQkiaW5zdGFsbGVkIGludG8iICQoSU5TVEFMTFNJVEVMSUIpIFwKLSAJCUxJTktUWVBFICIkKExJTktUWVBFKSIgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2R5bmFsb2FkZXJoYWNrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2R5bmFsb2FkZXJoYWNrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTlmMDdjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9keW5hbG9hZGVyaGFjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gMmUwY2U1ZDI3ZTcwZGVmZDY2YWNlMDY2MWFmN2MyNGRhYWUzNGY4YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPgotRGF0ZTogU2F0LCAxOSBKYW4gMjAxMyAyMzo0OToyNCArMDAwMAotU3ViamVjdDogW1BBVENIIDcvOF0gcGVybDogQWRkIGR5YW5sb2FkZXIgYnVpbGQgaGFjawotCi1IYWNrIHRoZSBkeW5hbWljIG1vZHVsZSBsb2FkZXIgc28gdGhhdCB3ZSB1c2UgbmF0aXZlIG1vZHVsZXMgc2luY2Ugd2UgY2FuJ3QgbG9hZAotdGhlIHRhcmdldCBvbmVzLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKLQotUlAKLTIwMTMvMDEvMTMKLQotLS0tCi0gZXh0L0R5bmFMb2FkZXIvRHluYUxvYWRlcl9wbS5QTCB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2V4dC9EeW5hTG9hZGVyL0R5bmFMb2FkZXJfcG0uUEwgYi9leHQvRHluYUxvYWRlci9EeW5hTG9hZGVyX3BtLlBMCi1pbmRleCBlODI4ZjM1Li40MDIxNTU5IDEwMDY0NAotLS0tIGEvZXh0L0R5bmFMb2FkZXIvRHluYUxvYWRlcl9wbS5QTAotKysrIGIvZXh0L0R5bmFMb2FkZXIvRHluYUxvYWRlcl9wbS5QTAotQEAgLTM0Myw2ICszNDMsMTAgQEAgc3ViIGJvb3RzdHJhcCB7Ci0gICAgIGZvcmVhY2ggKEBJTkMpIHsKLSAJPDwkXk8tZXEtVk1TPj5jaG9wKCRfID0gVk1TOjpGaWxlc3BlYzo6dW5peHBhdGgoJF8pKTs8PC8kXk8tZXEtVk1TPj4KLSAJICAgICRkaXIgPSAiJF8vYXV0by8kbW9kcG5hbWUiOwotKwotKwlpZiAoZGVmaW5lZCAkRU5We1BFUkxfTElCfSBhbmQgZGVmaW5lZCAkRU5We1BFUkxIT1NUTElCfSkgewotKwkgICAgJGRpciA9fiBzLyRFTlZ7UEVSTF9MSUJ9LyRFTlZ7UEVSTEhPU1RMSUJ9L2c7Ci0rCX0KLSAJCi0gCW5leHQgdW5sZXNzIC1kICRkaXI7ICMgc2tpcCBvdmVyIHVuaW50ZXJlc3RpbmcgZGlyZWN0b3JpZXMKLSAJCi0tLSAKLTIuMS40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9leHQtT0RCTV9GaWxlLWhpbnRzLWxpbnV4LnBsLWxpbmstbGliZ2RibV9jb21wYXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZXh0LU9EQk1fRmlsZS1oaW50cy1saW51eC5wbC1saW5rLWxpYmdkYm1fY29tcGF0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTRlZjcwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9leHQtT0RCTV9GaWxlLWhpbnRzLWxpbnV4LnBsLWxpbmstbGliZ2RibV9jb21wYXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIGJhNGVkMGI1YjdiYWFkNTM1M2MxZTY1YjY1NWY0MWQ0NWUwMWM5OTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMjIgSnVuIDIwMTUgMjA6MDA6MTEgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gZXh0L09EQk1fRmlsZS9oaW50cy9saW51eC5wbDogbGluayBsaWJnZGJtX2NvbXBhdAotCi1GaXhlZCBmb3IgdGVzdCBjYXNlIC4uL2V4dC9PREJNX0ZpbGUvdC9vZGJtLnQ6Ci1vayAxIC0gdXNlIE9EQk1fRmlsZTsKLW9rIDIgLSB1c2UgRmNudGw7Ci0uL3Blcmw6IHN5bWJvbCBsb29rdXAgZXJyb3I6IC91c3IvbGliL3BlcmwvNS4yMi4wL2F1dG8vT0RCTV9GaWxlL09EQk1fRmlsZS5zbzogdW5kZWZpbmVkIHN5bWJvbDogZGJtaW5pdAotCi1UaGUgY2hlY2tpbmcgImlmIC1lICRfLicvbGliZ2RibV9jb21wYXQuc28nIiBkb2Vzbid0IHdvcmsgd2hlbiBjcm9zcwotYnVpbGQsIHNvIGFsd2F5cyBsaW5rIGxpYmdkYm1fY29tcGF0LCBzaW5jZSBwZXJsIGRlcGVuZHMgb24gZ2RibSBhbmQgd2UKLWFsd2F5cyBoYXZlIGxpYmdkYm1fY29tcGF0LgotCi1VcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gZXh0L09EQk1fRmlsZS9oaW50cy9saW51eC5wbCB8ICAgIDYgLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9leHQvT0RCTV9GaWxlL2hpbnRzL2xpbnV4LnBsIGIvZXh0L09EQk1fRmlsZS9oaW50cy9saW51eC5wbAotaW5kZXggMjA0YmJhMC4uOTI3MWI0NSAxMDA2NDQKLS0tLSBhL2V4dC9PREJNX0ZpbGUvaGludHMvbGludXgucGwKLSsrKyBiL2V4dC9PREJNX0ZpbGUvaGludHMvbGludXgucGwKLUBAIC0xLDggKzEsMiBAQAotICMgdXNlcyBHREJNIGRibSBjb21wYXRpYmlsaXR5IGZlYXR1cmUgLSBhdCBsZWFzdCBvbiBTdVNFIDguMAotLSRzZWxmLT57TElCU30gPSBbJy1sZ2RibSddOwotLQotLSMgRGViaWFuL1VidW50dSBoYXZlIGxpYmdkYm1fY29tcGF0LnNvIGJ1dCBub3QgdGhpcyBmaWxlLAotLSMgc28gbGlua2luZyBtYXkgZmFpbAotLWZvcmVhY2ggKHNwbGl0IC8gLywgJENvbmZpZ3tsaWJwdGh9KSB7Ci0tICAgICRzZWxmLT57TElCU30tPlswXSAuPSAnIC1sZ2RibV9jb21wYXQnIGlmIC1lICRfLicvbGliZ2RibV9jb21wYXQuc28nOwotLX0KLSskc2VsZi0+e0xJQlN9ID0gWyctbGdkYm0gLWxnZGJtX2NvbXBhdCddOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2V4dC1PREJNX0ZpbGUtdC1vZGJtLnQtZml4LXRoZS1wYXRoLW9mLWRibXRfY29tbW9uLnAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZXh0LU9EQk1fRmlsZS10LW9kYm0udC1maXgtdGhlLXBhdGgtb2YtZGJtdF9jb21tb24ucC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjg1YjUwYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZXh0LU9EQk1fRmlsZS10LW9kYm0udC1maXgtdGhlLXBhdGgtb2YtZGJtdF9jb21tb24ucC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gYjg0MmUxZGU3Nzk4YTFmN2RmNzcwYmIzZjE4NWFkMzM1NmU0OTBlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCAyMiBKdW4gMjAxNSAyMDowNjo1NiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBleHQvT0RCTV9GaWxlL3Qvb2RibS50OiBmaXggdGhlICBwYXRoIG9mIGRibXRfY29tbW9uLnBsCi0KLUl0IHNob3VsZCBiZSBsaWIvZGJtdF9jb21tb24ucGwgd2hlbiBydW4gYnkgcnVuLXB0ZXN0LgotCi1GaXhlZDoKLUNhbid0IGxvY2F0ZSAuLi8uLi90L2xpYi9kYm10X2NvbW1vbi5wbCBpbiBASU5DCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGV4dC9PREJNX0ZpbGUvdC9vZGJtLnQgfCAgICAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9leHQvT0RCTV9GaWxlL3Qvb2RibS50IGIvZXh0L09EQk1fRmlsZS90L29kYm0udAotaW5kZXggMDc5YjlmMS4uMjUwYjk5MSAxMDA2NDQKLS0tLSBhL2V4dC9PREJNX0ZpbGUvdC9vZGJtLnQKLSsrKyBiL2V4dC9PREJNX0ZpbGUvdC9vZGJtLnQKLUBAIC0yLDcgKzIsNyBAQAotIAotIG91ciAkREJNX0NsYXNzID0gJ09EQk1fRmlsZSc7Ci0gCi0tcmVxdWlyZSAnLi4vLi4vdC9saWIvZGJtdF9jb21tb24ucGwnOwotK3JlcXVpcmUgJ2xpYi9kYm10X2NvbW1vbi5wbCc7Ci0gCi0gaWYgKCReTyBlcSAnaHB1eCcpIHsKLSAgICAgcHJpbnQgPDxFT007Ci0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2ZpeF9iYWRfcnBhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZml4X2JhZF9ycGF0aC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDllZmNiZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZml4X2JhZF9ycGF0aC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLVNpZ25lZC1vZmYtYnk6IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+Ci0yMDExLzA3LzAxCi0KLUZpeCB0aGVzZSBQYWNrYWdlIFFBIHdhcm5pbmdzIGJlZm9yZSB0aGV5IGFyZSBjb252ZXJ0ZWQgaW50byBmZXRhbCBlcnJvcnM6Ci0KLVdBUk5JTkc6IFFBIElzc3VlOiBwYWNrYWdlIHBlcmwtbW9kdWxlLWNvbXByZXNzIGNvbnRhaW5zIGJhZCBSUEFUSCAvYnVpbGRfZGlzay9wb2t5X2J1aWxkL2J1aWxkMC90bXAvc3lzcm9vdHMvcWVtdXg4Ni91c3IvbGliIGluIGZpbGUgL2J1aWxkX2Rpc2svcG9reV9idWlsZC9idWlsZDAvdG1wL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L3BlcmwtNS4xMi4zLXIxL3BhY2thZ2VzLXNwbGl0L3BlcmwtbW9kdWxlLWNvbXByZXNzL3Vzci9saWIvcGVybC81LjEyLjMvYXV0by9Db21wcmVzcy9SYXcvWmxpYi9abGliLnNvCi0KLVRoaXMgZml4ZXMgdGhpcyB3YXJuaW5nIGZvciBwZXJsIHJlY2lwZSBhcyB3ZWxsIGFzIGxpYnhtbC1wYXJzZXItcGVybCByZWNpcGUuIAotSXQgaXMgYSBmaXggdG8gTWFrZU1ha2VyIHdpdGhpbiBwZXJsLCBzbyBhbGwgc3VjaCBwZXJsIHJlY2lwZXMgd2lsbCBnZXQgCi1maXhlZCB3aXRoIHRoaXMgcGVybCBmaXguCi0KLUluZGV4OiBwZXJsLTUuMjQuMS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTGlibGlzdC9LaWQucG0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMjQuMS5vcmlnL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbQotKysrIHBlcmwtNS4yNC4xL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbQotQEAgLTU3LDYgKzU3LDcgQEAgc3ViIF91bml4X29zMl9leHQgewotICAgICBteSAoICRmb3VuZCApID0gMDsKLSAKLSAgICAgIyBEZWJpYW4tc3BlY2lmaWM6IGRvbid0IHVzZSBMRF9SVU5fUEFUSCBmb3Igc3RhbmRhcmQgZGlycwotKyAgICBwdXNoKEBsaWJwYXRoLCAiU1lTUk9PVExJQiIpOwotICAgICAkbGRfcnVuX3BhdGhfc2VlbnskX30rKyBmb3IgQGxpYnBhdGg7Ci0gCi0gICAgIGZvcmVhY2ggbXkgJHRoaXNsaWIgKCBzcGxpdCAnICcsICRwb3RlbnRpYWxfbGlicyApIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9nZW5lcmF0ZS1zaC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9nZW5lcmF0ZS1zaC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjdmNmU2OS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZ2VuZXJhdGUtc2gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLVVzZSB0aGUgbGQgZmxhZ3MgZnJvbSB0aGUgc3VwcGxpZWQgY29uZmlndXJhdGlvbiBmaWxlLiBGb3Igc2ggd2UgbmVlZCB0aGUKLWZsYWdzIHRoYXQgc3BlY2lmeSB0byBidWlsZCBQSUMgY29kZSBzbyB0aGF0IHRoZSBzaGFyZWQgbGlicmFyaWVzIHdvcmsuCi0KLUluZGV4OiBwZXJsLTUuMTQuMi9Dcm9zcy9nZW5lcmF0ZV9jb25maWdfc2gKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMTQuMi5vcmlnL0Nyb3NzL2dlbmVyYXRlX2NvbmZpZ19zaAkyMDEwLTEyLTMwIDA0OjA3OjE0LjAwMDAwMDAwMCArMDIwMAotKysrIHBlcmwtNS4xNC4yL0Nyb3NzL2dlbmVyYXRlX2NvbmZpZ19zaAkyMDEyLTExLTIyIDE1OjU4OjQ5Ljg1Mjg1MjgwNSArMDIwMAotQEAgLTE5LDEwICsxOSwxMCBAQAotICRjYWxsYmFja3MtPnsnYXInfSA9IFtcJnNpbXBsZV9wcm9jZXNzLCBbIkFSIiwgImFybS1saW51eC1hciJdXTsKLSAkY2FsbGJhY2tzLT57J2FyY2huYW1lJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJTWVMiLCAiYXJtdjRsLWxpbnV4Il1dOwotICRjYWxsYmFja3MtPnsnY2MnfSA9IFtcJnNpbXBsZV9wcm9jZXNzLCBbIkNDIiwgImFybS1saW51eC1nY2MiXV07Ci0tJGNhbGxiYWNrcy0+eydjY2NkbGZsYWdzJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDRkxBR1MiLCAiIl1dOwotLSRjYWxsYmFja3MtPnsnY2NkbGZsYWdzJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDRkxBR1MiLCAiIl1dOwotLSRjYWxsYmFja3MtPnsnY2NmbGFncyd9ID0gW1wmc2ltcGxlX3Byb2Nlc3MsIFsiQ0ZMQUdTIiwgIi1mbm8tc3RyaWN0LWFsaWFzaW5nIC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCJdXTsKLS0kY2FsbGJhY2tzLT57J2NjZmxhZ3NfdXNlbGFyZ2VmaWxlcyd9ID0gW1wmc2ltcGxlX3Byb2Nlc3MsIFsiQ0ZMQUdTIiwgIi1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCJdXTsKLSsjJGNhbGxiYWNrcy0+eydjY2NkbGZsYWdzJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDRkxBR1MiLCAiIl1dOwotKyMkY2FsbGJhY2tzLT57J2NjZGxmbGFncyd9ID0gW1wmc2ltcGxlX3Byb2Nlc3MsIFsiQ0ZMQUdTIiwgIiJdXTsKLSskY2FsbGJhY2tzLT57J2NjZmxhZ3MnfSA9IFtcJnNpbXBsZV9wcm9jZXNzX2luc2VydCwgWyJDRkxBR1MiLCAiLWZuby1zdHJpY3QtYWxpYXNpbmcgLURfR05VX1NPVVJDRSAtRFRIUkVBRFNfSEFWRV9QSURTIC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCJdXTsKLSskY2FsbGJhY2tzLT57J2NjZmxhZ3NfdXNlbGFyZ2VmaWxlcyd9ID0gW1wmc2ltcGxlX3Byb2Nlc3NfaW5zZXJ0LCBbIkNGTEFHUyIsICItRF9HTlVfU09VUkNFIC1EVEhSRUFEU19IQVZFX1BJRFMgLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0Il1dOwotICRjYWxsYmFja3MtPnsnY2NuYW1lJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDQyIsICJhcm0tbGludXgtZ2NjIl1dOwotICRjYWxsYmFja3MtPnsnY3BwJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDQ1AiLCAiYXJtLWxpbnV4LWNwcCJdXTsKLSAkY2FsbGJhY2tzLT57J2NwcGZsYWdzJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDQ1BGTEFHUyIsICItZm5vLXN0cmljdC1hbGlhc2luZyJdXTsKLUBAIC0zMCw2ICszMCw3IEBACi0gJGNhbGxiYWNrcy0+eydjcHBzdGRpbid9ID0gW1wmc2ltcGxlX3Byb2Nlc3NfYXBwZW5kLCBbIkNDIiwgImFybS1saW51eC1nY2MgLUUiLCAiLUUiXV07Ci0gJGNhbGxiYWNrcy0+eydmdWxsX2FyJ30gPSBbXCZiYWNrdGljaywgWyJBUiIsICJ3aGljaCAkRU5We0FSfSIsICIvdXNyL2xvY2FsL2FybS8yLjk1LjMvYmluL2FybS1saW51eC1hciJdXTsKLSAkY2FsbGJhY2tzLT57J2xkJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJMRCIsICJhcm0tbGludXgtbGQiXV07Ci0rJGNhbGxiYWNrcy0+eydsZGRsZmxhZ3MnfSA9IFtcJnNpbXBsZV9wcm9jZXNzLCBbIkxERExGTEFHUyIsICIiXV07Ci0gJGNhbGxiYWNrcy0+eydsZGZsYWdzJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJMREZMQUdTIiwgIiJdXTsKLSAkY2FsbGJhY2tzLT57J2xkZmxhZ3NfdXNlbGFyZ2VmaWxlcyd9ID0gW1wmc2ltcGxlX3Byb2Nlc3MsIFsiTERGTEFHUyIsICIiXV07Ci0gJGNhbGxiYWNrcy0+eydteWFyY2huYW1lJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJTWVMiLCAiYXJtdjRsLWxpbnV4Il1dOwotQEAgLTEwNSw2ICsxMDYsMjMgQEAKLSAKLSB9Ci0gCi0rIyBJbnNlcnQgZW52IHZhciBpbnRvIHRoZSB2YXJpYWJsZXMgdmFsdWUKLStzdWIgc2ltcGxlX3Byb2Nlc3NfaW5zZXJ0IHsKLSsJbXkgJGtleSA9IHNoaWZ0OwotKwlteSAkdmFsdWUgPSBzaGlmdDsKLSsJbXkgJGVudnZhciA9ICRjYWxsYmFja3MtPnska2V5fS0+WzFdWzBdOwotKwotKwlpZiAoJEVOVnskZW52dmFyfSkgewotKwkJIyBTdHJpcCBxdW90ZXMgZnJvbSB2YWx1ZQotKwkJJHZhbHVlID1+IHMvXlwnLy87Ci0rCQkkdmFsdWUgPX4gcy9cJyQvLzsKLSsJCSMgUmVtb3ZlIC1JL3Vzci9sb2NhbC8uLi4gZnJvbSB0aGUgdmFsdWUKLSsJCSR2YWx1ZSA9fiBzI1xXLUkvdXNyL2xvY2FsL1x3K1xXIyAjZzsKLSsJCSMgUHJlcGVuZCBlbnYgdmFyIChPRSBzZXR0aW5nKSB0byB2YWx1ZQotKwkJcHJpbnQoIiRrZXk9XCckRU5WeyRlbnZ2YXJ9ICR2YWx1ZVwnXG4iKTsKLSsJfQotK30KLSsKLSBzdWIgbGlicmFyeV9tdW5nZSB7Ci0gCW15ICRrZXkgPSBzaGlmdDsKLSAJbXkgJHZhbHVlID0gc2hpZnQ7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvaW5zdGFsbHBlcmwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvaW5zdGFsbHBlcmwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmZDFmNTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2luc3RhbGxwZXJsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1JbmRleDogcGVybC01LjI0LjEvaW5zdGFsbHBlcmwKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMjQuMS5vcmlnL2luc3RhbGxwZXJsCi0rKysgcGVybC01LjI0LjEvaW5zdGFsbHBlcmwKLUBAIC0yLDggKzIsOCBAQAotIAotIEJFR0lOIHsKLSAgICAgY2hkaXIgJy4uJyBpZiAhLWQgJ2xpYicgYW5kIC1kICcuLi9saWInOwotLSAgICBASU5DID0gJ2xpYic7Ci0tICAgICRFTlZ7UEVSTDVMSUJ9ID0gJ2xpYic7Ci0rIyAgICBASU5DID0gJ2xpYic7Ci0rIyAgICAkRU5We1BFUkw1TElCfSA9ICdsaWInOwotIAotICAgICAjIFRoaXMgbmVlZHMgdG8gYmUgYXQgQkVHSU4gdGltZSwgYmVmb3JlIGFueSB1c2Ugb2YgQ29uZmlnCi0gICAgICMgaW5zdGFsbF9saWIgaXRzZWxmIGxvYWRzIGFuZCBpbXBvcnRzIENvbmZpZyBpbnRvIG1haW46OgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2xldGdjYy1maW5kLWVycm5vLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2xldGdjYy1maW5kLWVycm5vLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MTYxZTRjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9sZXRnY2MtZmluZC1lcnJuby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotVGhpcyByZW1vdmVzIGFsbCB0aGUgbG9naWMgdGhhdCBwZXJsIHVzZXMgdG8gbG9jYXRlIGFuIGFwcHJvcHJpYXRlCi1lcnJuby5oIGZvciB0aGUgdGFyZ2V0LiBJbnN0ZWFkIHdlIHNpbXBsZSBjcmVhdGUgYSBmaWxlIHRoYXQgZG9lcwotCi0gICNpbmNsdWRlICJlcnJuby5oIgotCi1hbmQgdXNlIHRoYXQgYXMgdGhlIGZpbGUgdG8gcGFyc2UuIFRoaXMgaXMgbmVlZGVkIHdoZW4gdXNpbmcgYW4KLWV4dGVybmFsIHRvb2xjaGFpbiBzaW5jZSBwZXJsIHdpbGwgc2VhcmNoIGluICR7U1RBR0lOR19JTkNESVJ9IGZvcgotZXJybm8uaCAod2hlbiB1c2luZyBnY2MpIGFuZCB0aGF0IGlzbid0IHdoZXJlIGl0J3MgbG9jYXRlZCAtIGl0cwotd2hlcmV2ZXIgdGhlIGV4dGVybmFsIHRvb2xjaGFpbiBrZWVwcyBpdCdzIGhlYWRlcnMuCi0KLUluZGV4OiBwZXJsLTUuMTIuMy9leHQvRXJybm8vRXJybm9fcG0uUEwKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMTIuMy5vcmlnL2V4dC9FcnJuby9FcnJub19wbS5QTAotKysrIHBlcmwtNS4xMi4zL2V4dC9FcnJuby9FcnJub19wbS5QTAotQEAgLTE3LDggKzE3LDE4IEBAIHVubGluayAiRXJybm8udG1wIiBpZiAtZiAiRXJybm8udG1wIjsKLSBvcGVuIE9VVCwgIj5FcnJuby50bXAiIG9yIGRpZSAiQ2Fubm90IG9wZW4gRXJybm8udG1wOiAkISI7Ci0gc2VsZWN0IE9VVDsKLSBteSAkZmlsZTsKLS1teSBAZmlsZXMgPSBnZXRfZmlsZXMoKTsKLS1pZiAoJENvbmZpZ3tnY2N2ZXJzaW9ufSBuZSAnJyAmJiAkXk8gZXEgJ01TV2luMzInKSB7Ci0rI215IEBmaWxlcyA9IGdldF9maWxlcygpOwotK215IEBmaWxlcyA9ICgiZXJybm8uaCIpOwotKwotK2lmICgxKSB7Ci0rICAgIG9wZW4gSU5DUywgJz5pbmNsdWRlcy5jJyBvcgotKwlkaWUgIkNhbm5vdCBvcGVuIGluY2x1ZGVzLmMiOwotKyAgICBwcmludCBJTkNTIHFxWyNpbmNsdWRlICJlcnJuby5oIlxuXTsKLSsgICAgY2xvc2UgSU5DUzsKLSsgICAgcHJvY2Vzc19maWxlKCdpbmNsdWRlcy5jJyk7Ci0rICAgIHVubGluayAnaW5jbHVkZXMuYyc7Ci0rfQotK2Vsc2lmICgkQ29uZmlne2djY3ZlcnNpb259IG5lICcnICYmICReTyBlcSAnTVNXaW4zMicpIHsKLSAgICAgIyBNaW5HVyBjb21wbGFpbnMgIndhcm5pbmc6ICNwcmFnbWEgc3lzdGVtX2hlYWRlciBpZ25vcmVkIG91dHNpZGUgaW5jbHVkZQotICAgICAjIGZpbGUiIGlmIHRoZSBoZWFkZXIgZmlsZXMgYXJlIHByb2Nlc3NlZCBpbmRpdmlkdWFsbHksIHNvIGluY2x1ZGUgdGhlbQotICAgICAjIGFsbCBpbiAuYyBmaWxlIGFuZCBwcm9jZXNzIHRoYXQgaW5zdGVhZC4KLUBAIC01Myw3ICs2Myw3IEBAIHN1YiBwcm9jZXNzX2ZpbGUgewotICAgICAgICAgY2hvbXAoJGZpbGUgPSBgY3lncGF0aCAtdyAiJGZpbGUiYCk7Ci0gICAgIH0KLSAKLS0gICAgcmV0dXJuIHVubGVzcyBkZWZpbmVkICRmaWxlIGFuZCAtZiAkZmlsZTsKLSsjICAgIHJldHVybiB1bmxlc3MgZGVmaW5lZCAkZmlsZSBhbmQgLWYgJGZpbGU7Ci0gIyAgICB3YXJuICJQcm9jZXNzaW5nICRmaWxlXG4iOwotIAotICAgICBsb2NhbCAqRkg7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvbWFrZV9leHQucGwtZml4LXJlZ2VuZXJhdGUtbWFrZWZpbGUtZmFpbGVkLXdoaWxlLWNjLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9tYWtlX2V4dC5wbC1maXgtcmVnZW5lcmF0ZS1tYWtlZmlsZS1mYWlsZWQtd2hpbGUtY2MtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMmM1OTc5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9tYWtlX2V4dC5wbC1maXgtcmVnZW5lcmF0ZS1tYWtlZmlsZS1mYWlsZWQtd2hpbGUtY2MtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotbWFrZV9leHQucGw6IGZpeCByZWdlbmVyYXRlIG1ha2VmaWxlIGZhaWxlZCB3aGlsZSAkY2MgY2hhbmdlZAotCi1XaGlsZSAkY2MgY2hhbmdlZCwgdGhlIGV4aXN0YW5jZSBvZiAneGRlZmluZScgY2F1c2VkIG1ha2VmaWxlCi1yZWdlbmVyYXRpb24gZmFpbGVkLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gbWFrZV9leHQucGwgfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLUluZGV4OiBwZXJsLTUuMjQuMS9tYWtlX2V4dC5wbAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBlcmwtNS4yNC4xLm9yaWcvbWFrZV9leHQucGwKLSsrKyBwZXJsLTUuMjQuMS9tYWtlX2V4dC5wbAotQEAgLTMzNSw2ICszMzUsMTAgQEAgc3ViIGJ1aWxkX2V4dGVuc2lvbiB7Ci0gICAgICAgICAgICAgICAgIHByaW50ICJEZWxldGluZyBub24tQ3Jvc3MgbWFrZWZpbGVcbiI7Ci0gICAgICAgICAgICAgICAgIGNsb3NlICRtZmggb3IgZGllICJjbG9zZSAkbWFrZWZpbGU6ICQhIjsKLSAgICAgICAgICAgICAgICAgX3VubGluaygkbWFrZWZpbGUpOwotKyAgICAgICAgICAgICAgICBpZigtZSAneGRlZmluZScpIHsKLSsgICAgICAgICAgICAgICAgICAgIHByaW50ICJEZWxldGluZyB4ZGVmaW5lIGZvciByZWdlbmVyYXRlIG1ha2VmaWxlXG4iOwotKyAgICAgICAgICAgICAgICAgICAgX3VubGluaygneGRlZmluZScpOwotKyAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgfQotICAgICAgICAgfQotICAgICB9IGVsc2UgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL25hdGl2ZS1ub3BhY2tsaXN0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL25hdGl2ZS1ub3BhY2tsaXN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NDgyZGNiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9uYXRpdmUtbm9wYWNrbGlzdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtkZWJpYW4gcGF0Y2hdCi0KLVBhcnQgb2YgNTJfZGViaWFuX2V4dHV0aWxzX2hhY2tzLnBhdGNoIGp1c3QgdG8gZXhjbHVkZSB0aGUgaW5zdGFsbGF0aW9uIG9mIC5wYWNrbGlzdCBmaWxlcwotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSB8ICAgMzUgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLWluZGV4IGY2MzE0NWMuLmE1ODk3MTAgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLUBAIC0yMTIyLDExICsyMTIyLDYgQEAgcHVyZV9wZXJsX2luc3RhbGwgOjogYWxsCi0gfTsKLSAKLSAgICAgcHVzaCBAbSwKLS1xewkJcmVhZCAifS4kc2VsZi0+Y2F0ZmlsZSgnJChQRVJMX0FSQ0hMSUIpJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIgXAotLQkJd3JpdGUgIn0uJHNlbGYtPmNhdGZpbGUoJyQoREVTVElOU1RBTExBUkNITElCKScsJ2F1dG8nLCckKEZVTExFWFQpJywnLnBhY2tsaXN0JykucXsiIFwKLS19IHVubGVzcyAkc2VsZi0+e05PX1BBQ0tMSVNUfTsKLS0KLS0gICAgcHVzaCBAbSwKLSBxewkJIiQoSU5TVF9MSUIpIiAiJChERVNUSU5TVEFMTFBSSVZMSUIpIiBcCi0gCQkiJChJTlNUX0FSQ0hMSUIpIiAiJChERVNUSU5TVEFMTEFSQ0hMSUIpIiBcCi0gCQkiJChJTlNUX0JJTikiICIkKERFU1RJTlNUQUxMQklOKSIgXAotQEAgLTIxNTgsMTAgKzIxNTMsNiBAQCBxewkJIiQoSU5TVF9MSUIpIiAiJChERVNUSU5TVEFMTFNJVEVMSUIpIiBcCi0gcHVyZV92ZW5kb3JfaW5zdGFsbCA6OiBhbGwKLSAJJChOT0VDSE8pICQoTU9EX0lOU1RBTEwpIFwKLSB9OwotLSAgICBwdXNoIEBtLAotLXF7CQlyZWFkICJ9LiRzZWxmLT5jYXRmaWxlKCckKFZFTkRPUkFSQ0hFWFApJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIgXAotLQkJd3JpdGUgIn0uJHNlbGYtPmNhdGZpbGUoJyQoREVTVElOU1RBTExWRU5ET1JBUkNIKScsJ2F1dG8nLCckKEZVTExFWFQpJywnLnBhY2tsaXN0JykucXsiIFwKLS19IHVubGVzcyAkc2VsZi0+e05PX1BBQ0tMSVNUfTsKLSAKLSAgICAgcHVzaCBAbSwKLSBxewkJIiQoSU5TVF9MSUIpIiAiJChERVNUSU5TVEFMTFZFTkRPUkxJQikiIFwKLUBAIC0yMTg3LDM3ICsyMTc4LDE5IEBAIGRvY192ZW5kb3JfaW5zdGFsbCA6OiBhbGwKLSAKLSAgICAgcHVzaCBAbSwgcXsKLSBkb2NfcGVybF9pbnN0YWxsIDo6IGFsbAotLQkkKE5PRUNITykgJChFQ0hPKSBBcHBlbmRpbmcgaW5zdGFsbGF0aW9uIGluZm8gdG8gIiQoREVTVElOU1RBTExBUkNITElCKS9wZXJsbG9jYWwucG9kIgotLQktJChOT0VDSE8pICQoTUtQQVRIKSAiJChERVNUSU5TVEFMTEFSQ0hMSUIpIgotLQktJChOT0VDSE8pICQoRE9DX0lOU1RBTEwpIFwKLS0JCSJNb2R1bGUiICIkKE5BTUUpIiBcCi0tCQkiaW5zdGFsbGVkIGludG8iICQoSU5TVEFMTFBSSVZMSUIpIFwKLS0JCUxJTktUWVBFICIkKExJTktUWVBFKSIgXAotLQkJVkVSU0lPTiAiJChWRVJTSU9OKSIgXAotLQkJRVhFX0ZJTEVTICIkKEVYRV9GSUxFUykiIFwKLS0JCT4+ICJ9LiRzZWxmLT5jYXRmaWxlKCckKERFU1RJTlNUQUxMQVJDSExJQiknLCdwZXJsbG9jYWwucG9kJykucXsiCi0gCi0gZG9jX3NpdGVfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMQVJDSExJQikvcGVybGxvY2FsLnBvZCIKLS0JLSQoTk9FQ0hPKSAkKE1LUEFUSCkgIiQoREVTVElOU1RBTExBUkNITElCKSIKLSsJJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMU0lURUFSQ0gpL3Blcmxsb2NhbC5wb2QiCi0rCS0kKE5PRUNITykgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMU0lURUFSQ0gpIgotIAktJChOT0VDSE8pICQoRE9DX0lOU1RBTEwpIFwKLSAJCSJNb2R1bGUiICIkKE5BTUUpIiBcCi0gCQkiaW5zdGFsbGVkIGludG8iICQoSU5TVEFMTFNJVEVMSUIpIFwKLSAJCUxJTktUWVBFICIkKExJTktUWVBFKSIgXAotIAkJVkVSU0lPTiAiJChWRVJTSU9OKSIgXAotIAkJRVhFX0ZJTEVTICIkKEVYRV9GSUxFUykiIFwKLS0JCT4+ICJ9LiRzZWxmLT5jYXRmaWxlKCckKERFU1RJTlNUQUxMQVJDSExJQiknLCdwZXJsbG9jYWwucG9kJykucXsiCi0rCQk+PiAifS4kc2VsZi0+Y2F0ZmlsZSgnJChERVNUSU5TVEFMTFNJVEVBUkNIKScsJ3Blcmxsb2NhbC5wb2QnKS5xeyIKLSAKLSBkb2NfdmVuZG9yX2luc3RhbGwgOjogYWxsCi0tCSQoTk9FQ0hPKSAkKEVDSE8pIEFwcGVuZGluZyBpbnN0YWxsYXRpb24gaW5mbyB0byAiJChERVNUSU5TVEFMTEFSQ0hMSUIpL3Blcmxsb2NhbC5wb2QiCi0tCS0kKE5PRUNITykgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0tCS0kKE5PRUNITykgJChET0NfSU5TVEFMTCkgXAotLQkJIk1vZHVsZSIgIiQoTkFNRSkiIFwKLS0JCSJpbnN0YWxsZWQgaW50byIgJChJTlNUQUxMVkVORE9STElCKSBcCi0tCQlMSU5LVFlQRSAiJChMSU5LVFlQRSkiIFwKLS0JCVZFUlNJT04gIiQoVkVSU0lPTikiIFwKLS0JCUVYRV9GSUxFUyAiJChFWEVfRklMRVMpIiBcCi0tCQk+PiAifS4kc2VsZi0+Y2F0ZmlsZSgnJChERVNUSU5TVEFMTEFSQ0hMSUIpJywncGVybGxvY2FsLnBvZCcpLnF7IgotIAotIH0gdW5sZXNzICRzZWxmLT57Tk9fUEVSTExPQ0FMfTsKLSAKLUBAIC0yMjI2LDEzICsyMTk5LDExIEBAIHVuaW5zdGFsbCA6OiB1bmluc3RhbGxfZnJvbV8kKElOU1RBTExESVJTKWRpcnMKLSAJJChOT0VDSE8pICQoTk9PUCkKLSAKLSB1bmluc3RhbGxfZnJvbV9wZXJsZGlycyA6OgotLQkkKE5PRUNITykgJChVTklOU1RBTEwpICJ9LiRzZWxmLT5jYXRmaWxlKCckKFBFUkxfQVJDSExJQiknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IgotIAotIHVuaW5zdGFsbF9mcm9tX3NpdGVkaXJzIDo6Ci0gCSQoTk9FQ0hPKSAkKFVOSU5TVEFMTCkgIn0uJHNlbGYtPmNhdGZpbGUoJyQoU0lURUFSQ0hFWFApJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIKLSAKLSB1bmluc3RhbGxfZnJvbV92ZW5kb3JkaXJzIDo6Ci0tCSQoTk9FQ0hPKSAkKFVOSU5TVEFMTCkgIn0uJHNlbGYtPmNhdGZpbGUoJyQoVkVORE9SQVJDSEVYUCknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IgotIH07Ci0gCi0gICAgIGpvaW4oIiIsQG0pOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL25hdGl2ZS1wZXJsaW5jLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL25hdGl2ZS1wZXJsaW5jLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMGJiMWY2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9uYXRpdmUtcGVybGluYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotSW5kZXg6IHBlcmwtNS44LjgvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMTIuMy5vcmlnL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCTIwMDgtMTAtMzEgMjI6MDE6MzUuMDAwMDAwMDAwICswMDAwCi0rKysgcGVybC01LjEyLjMvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0JMjAwOC0xMC0zMSAyMjowMTozNS4wMDAwMDAwMDAgKzAwMDAKLUBAIC0xNTk3LDYgKzE1OTcsMTkgQEAKLSAJJHNlbGYtPntQRVJMX0xJQn0gICAgIHx8PSAkQ29uZmlne3ByaXZsaWJleHB9OwotIAkkc2VsZi0+e1BFUkxfQVJDSExJQn0gfHw9ICRDb25maWd7YXJjaGxpYmV4cH07Ci0gCSRzZWxmLT57UEVSTF9JTkN9ICAgICA9ICRzZWxmLT5jYXRkaXIoIiRzZWxmLT57UEVSTF9BUkNITElCfSIsIkNPUkUiKTsgIyB3aWxkIGd1ZXNzIGZvciBub3cKLSsJIyBDaGVjayBmb3IgZW52aXJvbm1lbnQgb3ZlcnJpZGUgc28gd2UnbGwgZmluZCB0aGUgaGVhZGVycyBpbiB0aGUgY29ycmVjdCBwbGFjZQotKyAgICAgICAgaWYgKGRlZmluZWQgJEVOVntQRVJMX0xJQn0pCi0rICAgICAgICB7Ci0rICAgICAgICAgICAgJHNlbGYtPntQRVJMX0xJQn0gPSAkRU5We1BFUkxfTElCfTsKLSsgICAgICAgIH0KLSsgICAgICAgIGlmIChkZWZpbmVkICRFTlZ7UEVSTF9BUkNITElCfSkKLSsgICAgICAgIHsKLSsgICAgICAgICAgICAkc2VsZi0+e1BFUkxfQVJDSExJQn0gPSAkRU5We1BFUkxfQVJDSExJQn07Ci0rICAgICAgICB9Ci0rICAgICAgICBpZiAoZGVmaW5lZCAkRU5We1BFUkxfSU5DfSkKLSsgICAgICAgIHsKLSsgICAgICAgICAgICAkc2VsZi0+e1BFUkxfSU5DfSA9ICRFTlZ7UEVSTF9JTkN9OwotKyAgICAgICAgfQotIAlteSAkcGVybF9oOwotIAotIAlpZiAobm90IC1mICgkcGVybF9oID0gJHNlbGYtPmNhdGZpbGUoJHNlbGYtPntQRVJMX0lOQ30sInBlcmwuaCIpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtNS4yNi4xLWd1YXJkX29sZF9saWJjcnlwdF9maXgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC01LjI2LjEtZ3VhcmRfb2xkX2xpYmNyeXB0X2ZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmYzZDZkYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC01LjI2LjEtZ3VhcmRfb2xkX2xpYmNyeXB0X2ZpeC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLWNvbW1pdCAxM2U3MGIzOTdkY2IwZDFiZjRhODY5YjY3MGYwNDFjMWQ3YjczMGQwCi1BdXRob3I6IEJq4Lij4LiWcm4gRXNzZXIgPGJlc3NlcjgyQGZlZG9yYXByb2plY3Qub3JnPgotRGF0ZTogICBTYXQgSmFuIDIwIDIwOjIyOjUzIDIwMTggKzAxMDAKLQotICAgIHBwOiBHdWFyZCBmaXggZm9yIHJlYWxseSBvbGQgYnVnIGluIGdsaWJjIGxpYmNyeXB0Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+Ci0KLWRpZmYgLS1naXQgYS9wcC5jIGIvcHAuYwotaW5kZXggZDUwYWQ3ZGRiZi4uNjUxMGM3YjE1YyAxMDA2NDQKLS0tLSBhL3BwLmMKLSsrKyBiL3BwLmMKLUBAIC0zNjUwLDggKzM2NTAsMTIgQEAgUFAocHBfY3J5cHQpCi0gI2lmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fRU1YX18pCi0gCWlmIChQTF9yZWVudHJhbnRfYnVmZmVyLT5fY3J5cHRfc3RydWN0X2J1ZmZlcikgewotIAkgICAgUExfcmVlbnRyYW50X2J1ZmZlci0+X2NyeXB0X3N0cnVjdF9idWZmZXItPmluaXRpYWxpemVkID0gMDsKLS0JICAgIC8qIHdvcmsgYXJvdW5kIGdsaWJjLTIuMi41IGJ1ZyAqLwotKyNpZiAoZGVmaW5lZChfX0dMSUJDX18pICYmIF9fR0xJQkNfXyA9PSAyKSAmJiBcCi0rICAgIChkZWZpbmVkKF9fR0xJQkNfTUlOT1JfXykgJiYgX19HTElCQ19NSU5PUl9fID49IDIgJiYgX19HTElCQ19NSU5PUl9fIDwgNCkKLSsJICAgIC8qIHdvcmsgYXJvdW5kIGdsaWJjLTIuMi41IGJ1ZywgaGFzIGJlZW4gZml4ZWQgYXQgc29tZQotKwkgICAgICogdGltZSBpbiBnbGliYy0yLjMuWCAqLwotIAkgICAgUExfcmVlbnRyYW50X2J1ZmZlci0+X2NyeXB0X3N0cnVjdF9idWZmZXItPmN1cnJlbnRfc2FsdGJpdHMgPSAwOwotKyNlbmRpZgotIAl9Ci0gI2VuZGlmCi0gICAgIH0KLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtUGF0aFRvb2xzLWRvbi10LWZpbHRlci1vdXQtYmxpYi1mcm9tLUlOQy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLVBhdGhUb29scy1kb24tdC1maWx0ZXItb3V0LWJsaWItZnJvbS1JTkMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkZDkwNDEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtUGF0aFRvb2xzLWRvbi10LWZpbHRlci1vdXQtYmxpYi1mcm9tLUlOQy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gOTBjMjUyY2VjYzM4YWVkNWQ1ZmFlZGIzMDQ4NWRkNmVlZTJlNTRlYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgotRGF0ZTogV2VkLCAxMSBGZWIgMjAxNSAxNToxNDo0MCArMDgwMAotU3ViamVjdDogW1BBVENIXSBwZXJsIC8gUGF0aFRvb2xzOiBkb24ndCBmaWx0ZXIgb3V0IGJsaWIgZnJvbSBASU5DCi0KLUlmICRUT1BESVIgaW5jbHVkZXMgdGhlIHN0cmluZyAiYmxpYiIsIGZpbHRlciBpdCBvdXQgZnJvbSBASU5DIG1heSBlbXB0eQotdGhlIEBJTkMgYW5kIGNhdXNlIGJ1aWxkIGVycm9ycyBsaWtlOgotCi0gIENhbid0IGxvY2F0ZSBFeHRVdGlscy9NYWtlTWFrZXIucG0gaW4gQElOQyBcCi0gICh5b3UgbWF5IG5lZWQgdG8gaW5zdGFsbCB0aGUgRXh0VXRpbHM6Ok1ha2VNYWtlciBtb2R1bGUpIFwKLSAgKEBJTkMgY29udGFpbnM6IC4pIGF0IE1ha2VmaWxlLlBMCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIGRpc3QvUGF0aFRvb2xzL01ha2VmaWxlLlBMIHwgMyAtLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2Rpc3QvUGF0aFRvb2xzL01ha2VmaWxlLlBMIGIvZGlzdC9QYXRoVG9vbHMvTWFrZWZpbGUuUEwKLWluZGV4IDFiMjFkZTQuLmY1NjJjYjIgMTAwNjQ0Ci0tLS0gYS9kaXN0L1BhdGhUb29scy9NYWtlZmlsZS5QTAotKysrIGIvZGlzdC9QYXRoVG9vbHMvTWFrZWZpbGUuUEwKLUBAIC0xLDYgKzEsMyBAQAotLQotLUJFR0lOIHsgQElOQyA9IGdyZXAgeyEvYmxpYi99IEBJTkMgfQotLQotIHJlcXVpcmUgNS4wMDU7Ci0gdXNlIEV4dFV0aWxzOjpNYWtlTWFrZXI7Ci0gV3JpdGVNYWtlZmlsZQotLS0gCi0xLjkuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1hcmNobGliLWV4cC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWFyY2hsaWItZXhwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzN2JmNTIzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWFyY2hsaWItZXhwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotcGVybDogYWRkIGFyY2hsaWJfZXhwIHZhcmlhYmxlIHVzZWQgdG8gZ2VuZXJhdGUgQVJDSExJQl9FWFAgaW4gY29uZmlnLmgKLSAgICAKLXBlcmwuYyB1c2VzIGFuIEFSQ0hMSUJfRVhQIGRlZmluZSB0byBnZW5lcmF0ZSBjb21waWxlLXRpbWUgY29kZSB0aGF0Ci1hZGRzIHRoZSBhcmNobGliZXhwIHBhdGggdG8gQElOQyBkdXJpbmcgcnVuLXRpbWUgaW5pdGlhbGl6YXRpb24gb2YgYQotbmV3IHBlcmwgaW50ZXJwcmV0ZXIuCi0gICAgCi1CZWNhdXNlIHdlJ3ZlIGNoYW5nZWQgdGhpcyB2YWx1ZSBpbiBhIHRlbXBvcmFyeSB3YXkgdG8gbWFrZSBpdAotcG9zc2libGUgdG8gdXNlIEV4dFV0aWxzOjpFbWJlZCBpbiB0aGUgdGFyZ2V0IGJ1aWxkICh0aGUgdGVtcG9yYXJ5Ci12YWx1ZSBpbiBjb25maWcuc2ggZ2V0cyByZS1zdHJpcHBlZCBvdXQgZHVyaW5nIHBhY2thZ2luZyksIHRoZQotQVJDSExJQl9FWFAgdmFsdWUgdGhhdCBnZXRzIGdlbmVyYXRlZCBzdGlsbCB1c2VzIHRoZSB0ZW1wb3JhcnkgdmVyc2lvbgotaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgZXhwZWN0ZWQgdmVyc2lvbiAoaS5lLiBiZWNhdXNlcyBpdCdzIGluIHRoZQotZ2VuZXJhdGVkIGNvbmZpZy5oLCBpdCBkb2Vzbid0IGdldCBzdHJpcHBlZCBvdXQgZHVyaW5nIHBhY2thZ2luZyBsaWtlCi10aGUgb3RoZXJzIGluIGNvbmZpZy5zaCkuCi0KLVRoaXMgY3JlYXRlcyBhbiB1bm1vZGlmaWVkIHZlcnNpb24gY2FsbGVkIGFyY2hsaWJfZXhwIHRoYXQgZ2V0cyB1c2VkCi1ieSBhIG1vZGlmaWVkIGNvbmZpZ19oLlNIIHRvIGdldCB0aGUgY29ycmVjdCB2YWx1ZSBpbnRvIGNvbmZpZy5oCi0gICAgCi1UaGlzIHBhdGNoIHVzZXMgYW4gdW5tb2RpZmllZCB2ZXJzaW9uIG9mIGFyY2hsaWJleHAgY2FsbGVkCi1hcmNobGliX2V4cCwgaW50cm9kdWNlZCB0byBjb25maWcuc2gsIHdoaWNoIGlzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlCi1jb3JyZWN0IHZhbHVlIG9mIEFSQ0hMSUJfRVhQIGludG8gY29uZmlnLmgKLSAgCi1TZWUgWU9DVE8gIzMwOTkgZm9yIG1vcmUgaW5mby4KLQotVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBUb20gWmFudXNzaSA8dG9tLnphbnVzc2lAaW50ZWwuY29tPgotCi1JbmRleDogcGVybC01LjI0LjEvY29uZmlnX2guU0gKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMjQuMS5vcmlnL2NvbmZpZ19oLlNICi0rKysgcGVybC01LjI0LjEvY29uZmlnX2guU0gKLUBAIC0xNDM0LDcgKzE0MzQsNyBAQCBzZWQgPDwhR1JPSyFUSElTISA+JENPTkZJR19IIC1lICdzIV4jdW5kCi0gICoJaW4gcHJvZ3JhbXMgdGhhdCBhcmUgbm90IHByZXBhcmVkIHRvIGRlYWwgd2l0aCB+IGV4cGFuc2lvbiBhdCBydW4tdGltZS4KLSAgKi8KLSAjJGRfYXJjaGxpYiBBUkNITElCICIkYXJjaGxpYiIJCS8qKi8KLS0jJGRfYXJjaGxpYiBBUkNITElCX0VYUCAiJGFyY2hsaWJleHAiCQkvKiovCi0rIyRkX2FyY2hsaWIgQVJDSExJQl9FWFAgIiRhcmNobGliX2V4cCIJCS8qKi8KLSAKLSAvKiBCSU46Ci0gICoJVGhpcyBzeW1ib2wgaG9sZHMgdGhlIHBhdGggb2YgdGhlIGJpbiBkaXJlY3Rvcnkgd2hlcmUgdGhlIHBhY2thZ2Ugd2lsbApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtY29uZmlncG0tc3dpdGNoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtY29uZmlncG0tc3dpdGNoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNmNjMTVjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWNvbmZpZ3BtLXN3aXRjaC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtuYXRpdmVdCi0KLVRoaXMgcGF0Y2ggaXMgdXNlZCBmb3IgcGVybC1uYXRpdmUgb25seS4gSXQgZW5hYmxlcyB0aGUgc3dpdGNoaW5nIG9mCi1jb25maWd1cmF0aW9uIGZpbGVzIGJldHdlZW4gQ29uZmlnX2hlYXZ5LnBsIGFuZAotQ29uZmlnX2hlYXZ5LXRhcmdldC5wbCBieSBzZXR0aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMKLVBFUkxDT05GSUdUQVJHRVQgLSB0aGUgbGF0ZXIgY29udGFpbmluZyBzZXR0aW5ncyBmb3IgdGhlIHRhcmdldCB3aGlsZQotdGhlIGZvcm1lciBjb250YWlucyB0aG9zZSBmb3IgdGhlIGhvc3QuIFRoaXMgd2lsbCBhbGxvdyBjcGFuLmJiY2xhc3MKLXRvIHVzZSB0aGUgc2V0dGluZ3MgYXBwcm9wcmlhdGUgZm9yIHRoZSBuYXRpdmUgYW5kL29yIHRhcmdldCBidWlsZHMKLWFzIHJlcXVpcmVkLiBUaGlzIGFsc28gZGlzYWJsZXMgdGhlIHVzZSBvZiB0aGUgY2FjaGUgc2luY2UgdGhlIGNhY2hlZAotdmFsdWVzIHdvdWxkIGJlIHZhbGlkIGZvciB0aGUgaG9zdCBvbmx5LgotCi1JbmRleDogcGVybC01LjE0LjIvY29uZmlncG0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMTQuMi5vcmlnL2NvbmZpZ3BtCi0rKysgcGVybC01LjE0LjIvY29uZmlncG0KLUBAIC02NTgsNyArNjU4LDcgQEAgc3ViIEZFVENIIHsKLSAgICAgbXkoJHNlbGYsICRrZXkpID0gQF87Ci0gCi0gICAgICMgY2hlY2sgZm9yIGNhY2hlZCB2YWx1ZSAod2hpY2ggbWF5IGJlIHVuZGVmIHNvIHdlIHVzZSBleGlzdHMgbm90IGRlZmluZWQpCi0tICAgIHJldHVybiBleGlzdHMgJHNlbGYtPnska2V5fSA/ICRzZWxmLT57JGtleX0gOiAkc2VsZi0+ZmV0Y2hfc3RyaW5nKCRrZXkpOwotKyAgICByZXR1cm4gJHNlbGYtPmZldGNoX3N0cmluZygka2V5KTsKLSB9Ci0gCi0gRU5ET0ZFTkQKLUBAIC04MTYsNyArODE2LDIxIEBAICRjb25maWdfdHh0IC49IHNwcmludGYgPDwnRU5ET0ZUSUUnLCAkZmEKLSBzdWIgREVTVFJPWSB7IH0KLSAKLSBzdWIgQVVUT0xPQUQgewotLSAgICByZXF1aXJlICdDb25maWdfaGVhdnkucGwnOwotKyAgICBteSAkY2ZnZmlsZSA9ICdDb25maWdfaGVhdnkucGwnOwotKyAgICBpZiAoZGVmaW5lZCAkRU5We1BFUkxDT05GSUdUQVJHRVR9IGFuZCAkRU5We1BFUkxDT05GSUdUQVJHRVR9IGVxICJ5ZXMiKQotKyAgICB7Ci0rICAgICAgICAkY2ZnZmlsZSA9ICdDb25maWdfaGVhdnktdGFyZ2V0LnBsJzsKLSsgICAgfQotKyAgICBpZiAoZGVmaW5lZCAkRU5We1BFUkxfQVJDSExJQn0pCi0rICAgIHsKLSsgICAgICAgIHB1c2ggQElOQywgJEVOVntQRVJMX0FSQ0hMSUJ9OwotKyAgICAgICAgcmVxdWlyZSAkY2ZnZmlsZTsKLSsgICAgICAgIHBvcCBASU5DOwotKyAgICB9Ci0rICAgIGVsc2UKLSsgICAgewotKyAgICAgICAgcmVxdWlyZSAkY2ZnZmlsZTsKLSsgICAgfQotICAgICBnb3RvIFwmbGF1bmNoZXIgdW5sZXNzICRDb25maWc6OkFVVE9MT0FEID1+IC9sYXVuY2hlciQvOwotICAgICBkaWUgIiZDb25maWc6OkFVVE9MT0FEIGZhaWxlZCBvbiAkQ29uZmlnOjpBVVRPTE9BRCI7Ci0gfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtY29uZmlndXJlLnNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtY29uZmlndXJlLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAyNWU3ZjhiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWNvbmZpZ3VyZS5zaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLSMhIC9iaW4vc2gKLQotIwotIyBHZW5lcmF0ZSB0aGUgY29tbW9uIHBlcmwgY29uZmlndXJhdGlvbgotIyBOZWVkcyB0byBiZSBydW4gb24gYSBob3N0IHRoYXQgbWF0Y2hlcyB0aGUgYml0c2l6ZSBvZiB0aGUgdGFyZ2V0IHBsYXRmb3JtCi0jCi0KLWVjaG8gc2ggQ29uZmlndXJlIC1kZXMgXAotICAgICAgICAtRG9wdGltaXplPS1PMiBcCi0gICAgICAgIC1EbXlob3N0bmFtZT1sb2NhbGhvc3QgXAotICAgICAgICAtRHBlcmxhZG1pbj1yb290QGxvY2FsaG9zdCBcCi0gICAgICAgIC1EY2M9Z2NjIFwKLSAgICAgICAgLURjZl9ieT0nT3BlbiBFbWJlZGRlZCcgXAotICAgICAgICAtRGluc3RhbGxwcmVmaXg9QERFU1RESVJAIFwKLSAgICAgICAgLURwcmVmaXg9L3VzciBcCi0gICAgICAgIC1EdmVuZG9ycHJlZml4PS91c3IgXAotICAgICAgICAtRHNpdGVwcmVmaXg9L3VzciBcCi0gICAgICAgIC1Eb3RoZXJsaWJkaXJzPS91c3IvbGliL3Blcmw1LzUuMjIuMSBcCi0gICAgICAgIC1EdXNlc2hycGxpYiBcCi0gICAgICAgIC1EdXNldGhyZWFkcyBcCi0gICAgICAgIC1EdXNlaXRocmVhZHMgXAotICAgICAgICAtRHVzZWxhcmdlZmlsZXMgXAotICAgICAgICAtVWRfZG9zdWlkIFwKLSAgICAgICAgLURkX3NlbWN0bF9zZW11biBcCi0gICAgICAgIC1VaV9kYiBcCi0gICAgICAgIC1VaV9uZGJtIFwKLSAgICAgICAgLVVpX2dkYm0gXAotICAgICAgICAtRGlfc2hhZG93IFwKLSAgICAgICAgLURpX3N5c2xvZyBcCi0gICAgICAgIC1EbWFuM2V4dD0zcG0gXAotICAgICAgICAtRHVzZXBlcmxpbyBcCi0gICAgICAgIC1EaW5zdGFsbHVzcmJpbnBlcmwgXAotICAgICAgICAtVWJpbmNvbXBhdDUwMDUgXAotICAgICAgICAtVXZlcnNpb25vbmx5IFwKLSAgICAgICAgLURwYWdlcj0nL3Vzci9iaW4vbGVzcyAtaXNyJwotCi1jcCAtZiBjb25maWcuc2ggY29uZmlnLnNoLkNPTU1PTgotCi1UQVJHRVRPUz0kKGdyZXAgbXlhcmNobmFtZSBjb25maWcuc2guQ09NTU9OIHwgc2VkICJzIy4qJ1woLipcKScuKiNcMSMiKQotCi1zZWQgLXIgLWkgY29uZmlnLnNoLkNPTU1PTiBcCi0JLWUgInMjKGluc3RhbGwuKj0nKSgvdXNyKS9sb2NhbCguKicpI1wxQERFU1RESVJAXDJcMyNnIiBcCi0JLWUgJ3MjJyRUQVJHRVRPUycjQEFSQ0hAI2cnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1keW5sb2FkZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1keW5sb2FkZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1NzIwNjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtZHlubG9hZGVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1BbGxvdyB0aGUgbG9jYXRpb24gdGhhdCAuc28gZmlsZXMgYXJlIHNlYXJjaGVkIGZvciBmb3IgZHluYW1pYwotbG9hZGluZyB0byBiZSBjaGFuZ2VkIHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS4gVGhpcyBpcyB0byBhbGxvdwotdXMgdG8gbG9hZCAuc28ncyBmcm9tIHRoZSBob3N0IHN5c3RlbSB3aGlsZSBidWlsZGluZyBmb3IgdGhlIHRhcmdldAotc3lzdGVtLgotCi1VcGRhdGUgYnkgTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4gMjAxMS8wNC8yMQotCi1JbmRleDogcGVybC01LjI0LjEvZGlzdC9YU0xvYWRlci9YU0xvYWRlcl9wbS5QTAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBlcmwtNS4yNC4xLm9yaWcvZGlzdC9YU0xvYWRlci9YU0xvYWRlcl9wbS5QTAotKysrIHBlcmwtNS4yNC4xL2Rpc3QvWFNMb2FkZXIvWFNMb2FkZXJfcG0uUEwKLUBAIC01Miw2ICs1MiwyMCBAQCBzdWIgbG9hZCB7Ci0gICAgIG15ICgkY2FsbGVyLCAkbW9kbGlibmFtZSkgPSBjYWxsZXIoKTsKLSAgICAgbXkgJG1vZHVsZSA9ICRjYWxsZXI7Ci0gCi0rICAgICMgT0U6IEFsbG93IGVudiB0byBmb3JtIGR5bmFtaWMgbG9hZGVyIHRvIGxvb2sgaW4gYSBkaWZmZXJlbnQgcGxhY2UKLSsgICAgIyBUaGlzIGlzIHNvIGl0IGZpbmRzIHRoZSBob3N0IC5zbyBmaWxlcywgbm90IHRoZSB0YXJnZXRzCi0rICAgIGlmIChkZWZpbmVkICRFTlZ7UEVSTEhPU1RMSUJ9KQotKyAgICB7Ci0rICAgICAgICBteSAkaG9zdGxpYiA9ICRFTlZ7UEVSTEhPU1RMSUJ9OwotKyAgICAgICAgcHJpbnQgU1RERVJSICIqKiogTW9kdWxlIG5hbWUgSU46ICRtb2RsaWJuYW1lXG4iOwotKyAgICAgICAgKCRwMSwgJHAyLCAkcDMsICRwNCwgJHA1KSA9ICRtb2RsaWJuYW1lID1+IG0vKF4oLipsaWJcdypcLyk/KSgocGVybFwvWzAtOVwuXSpcLyk/KSguKikkLzsKLSsgICAgICAgIHByaW50IFNUREVSUiAiKioqIHAxOiAkcDEgIHAzOiAkcDMgIHA1OiAkcDVcbiI7Ci0rICAgICAgICBpZiAoICRwMSBuZSAiIiApIHsKLSsgICAgICAgICAgICAkbW9kbGlibmFtZSA9ICRob3N0bGliLiRwNTsKLSsgICAgICAgIH0KLSsgICAgICAgIHByaW50IFNUREVSUiAiKioqIE1vZHVsZSBuYW1lIE9VVDogJG1vZGxpYm5hbWVcbiI7Ci0rICAgIH0KLSsKLSAgICAgaWYgKEBfKSB7Ci0gICAgICAgICAkbW9kdWxlID0gJF9bMF07Ci0gICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1lcnJuby1nZW5lcmF0aW9uLWdjYzUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1lcnJuby1nZW5lcmF0aW9uLWdjYzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczNzlkOGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtZXJybm8tZ2VuZXJhdGlvbi1nY2M1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1UaGUgdXBzdHJlYW0gY29kZSBhc3N1bWVzIHRoYXQgdGhlIGNvbXBpbGVyIHZlcnNpb24gdXNlZCB0byBjb21waWxlciBtaW5pcGVybC9wZXJsLW5hdGl2ZQotaXMgdGhlIHNhbWUgYXMgdGhlIG9uZSBiZWluZyB1c2VkIHRvIGJ1aWxkIHRoZSBwZXJsIGJpbmFyeS4gU2luY2UgbW9zdCBwZW9wbGUgYXJlIG5vdCBydW5uaW5nCi1zeXN0ZW1zIHdpdGggZ2NjIDUsIGl0IGlzIHVubGlrZWx5IHRoYXQgaXQgd2lsbCB3b3JrIG9uIGFueSBzdXBwb3J0ZWQgaG9zdC4gU3dpdGNoIG91dCBnY2N2ZXJzaW9uCi1mb3IgdGhlIHZlcnNpb24gZXh0cmFjdGVkIGZyb20gJENDIC0tdmVyc2lvbi4KLQotSmVyZW15IFB1aGxtYW4gPGpwdWhsbWFuQG12aXN0YS5jb20+Ci0KLUZpeCBzcGFjZXMgaW4gYnJhY2tldHMgd2hpbGUgcnVubmluZyAkQ0MgLS12ZXJzaW9uCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBleHQvRXJybm8vRXJybm9fcG0uUEwgfCA2ICsrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2V4dC9FcnJuby9FcnJub19wbS5QTCBiL2V4dC9FcnJuby9FcnJub19wbS5QTAotaW5kZXggMWZkMjlkMC4uNzk3NmVhMiAxMDA2NDQKLS0tLSBhL2V4dC9FcnJuby9FcnJub19wbS5QTAotKysrIGIvZXh0L0Vycm5vL0Vycm5vX3BtLlBMCi1AQCAtMjI0LDkgKzIyNCwxMyBAQCBzdWIgd3JpdGVfZXJybm9fcG0gewotIAotICAgICB7CSMgQmVPUyAoc3VwcG9ydCBub3cgcmVtb3ZlZCkgZGlkIG5vdCBlbnRlciB0aGlzIGJsb2NrCi0gICAgICMgaW52b2tlIENQUCBhbmQgcmVhZCB0aGUgb3V0cHV0Ci0rICAgICAgICBteSAkY29tcGlsZXIgPSAkRU5WeydDQyd9OwotKyAgICAgICAgbXkgJGNvbXBpbGVyX291dCA9IGAkY29tcGlsZXIgLS12ZXJzaW9uYDsKLSsgICAgICAgICRjb21waWxlcl9vdXQgPX4gcy9cKC4qXCkvOy87Ci0rICAgICAgICBteSBAY29tcGlsZXJfdmVyc2lvbiA9IHNwbGl0IC8gLywkY29tcGlsZXJfb3V0OyAKLSAKLSAJbXkgJGluaGliaXRfbGluZW1hcmtlcnMgPSAnJzsKLS0JaWYgKCRDb25maWd7Z2NjdmVyc2lvbn0gPX4gL1xBKFxkKylcLi8gYW5kICQxID49IDUpIHsKLSsJaWYgKEBjb21waWxlcl92ZXJzaW9uWzJdID1+IC9cQShcZCspXC4vIGFuZCAkMSA+PSA1KSB7Ci0gCSAgICAjIEdDQyA1LjAgaW50ZXJsZWF2ZXMgZXhwYW5kZWQgbWFjcm9zIHdpdGggbGluZSBudW1iZXJzIGJyZWFraW5nCi0gCSAgICAjIGVhY2ggbGluZSBpbnRvIG11bHRpcGxlIGxpbmVzLiBSVCMxMjM3ODQKLSAJICAgICRpbmhpYml0X2xpbmVtYXJrZXJzID0gJyAtUCc7Ci0tLSAKLTEuOS4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWZpeC1jb25mbGljdC1iZXR3ZWVuLXNraXBfYWxsLWFuZC1FTkQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1maXgtY29uZmxpY3QtYmV0d2Vlbi1za2lwX2FsbC1hbmQtRU5ELnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTk0NmRiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWZpeC1jb25mbGljdC1iZXR3ZWVuLXNraXBfYWxsLWFuZC1FTkQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxODEgKzAsMCBAQAotU29tZSBQZXJsIHRlc3RzIGZhaWwgd2hlbiBydW4gb24gYSBjcm9zcy1jb21waWxlZCB0YXJnZXQgbWFjaGluZS4gQXBwbHkKLWEgc2xpZ2h0bHkgdHdlYWtlZCB1cHN0cmVhbSBwYXRjaCB0byBmaXggdGhlIHByb2JsZW1zLiBOb3RlczoKLSAgICAxLiBhcyBvZiAyIEp1biAyMDE2LCB0aGUgb3JpZ2luYWwgcGF0Y2ggaGFzIGJlZW4gYXBwbGllZCB0byB0aGUgY3VycmVudAotICAgICAgIEVVTU0gcmVsZWFzZXMsIGJ1dCBoYXMgbm90IG1hZGUgaXQgaW50byBwZXJsIGNvcmUgeWV0LgotICAgIDIuIHdoZW4gdGhlIGJhc2UgcGVybCBwYWNrYWdlIGlzIHVwZ3JhZGVkIGluIFlvY3RvLCB0aGlzIHBhdGNoIG1heSBuZWVkCi0gICAgICAgdG8gYmUgcmVwbGFjZWQgYnkgdGhlIG9yaWdpbmFsIHVwc3RyZWFtIHZlcnNpb24gdG8gY29ycmVjdGx5IGFwcGx5Ci0gICAgICAgdG8gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBFeHRVdGlscy1NYWtlTWFrZXIgYXQgdGhhdCB0aW1lLgotCi1bWU9DVE8gIzg2NTZdCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogQmlsbCBSYW5kbGUgPHdpbGxpYW0uYy5yYW5kbGVAaW50ZWwuY29tPgotCi1Gcm9tIDRhMDdhM2JkMTgzNjM5ODYxMTJjZjJiMzlkZWMzYzI5ODUzNTNmZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGcmFuY29pcyBQZXJyYWQgPGZyYW5jb2lzLnBlcnJhZEBnYWR6Lm9yZz4KLURhdGU6IE1vbiwgMjIgRGVjIDIwMTQgMTk6MDQ6MzQgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gZml4IGNvbmZsaWN0IGJldHdlZW4gc2tpcF9hbGwgYW5kIEVORCBzZWN0aW9uCi0KLXNpbmNlIHRoZSBjb21taXQgNDMwZGU3ODE4MDlhNmJlM2JjZDI1YTM0OWRjNDBjZTU0NDA1YWI1MwotdGhlIHRlc3Qgc3VpdGUgZmFpbHMgaW4gY3Jvc3MtY29tcGlsIGVudmlyb25tZW50IChwZXJsLTUuMjEuNiAmIHBlcmwtNS4yMS43KQotbGlrZSB0aGlzIDoKLQotICAgICQgLi9wZXJsIGhhcm5lc3MgLXYgLi4vY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNUQUxMX0JBU0UudAotICAgIC4uL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvSU5TVEFMTF9CQVNFLnQgLi4KLSAgICAxLi4wICMgU0tJUCBjcm9zcy1jb21waWxpbmcgYW5kIG1ha2Ugbm90IGF2YWlsYWJsZQotICAgIG9rIDEgLSBjaGRpciB1cGRpcgotICAgIG9rIDIgLSB0ZWFyZG93bgotICAgICMgTG9va3MgbGlrZSB5b3UgcGxhbm5lZCAwIHRlc3RzIGJ1dCByYW4gMi4KLSAgICBza2lwcGVkOiBjcm9zcy1jb21waWxpbmcgYW5kIG1ha2Ugbm90IGF2YWlsYWJsZQotCi10aGlzIGNvbW1pdCByZXN0b3JlcyB0aGUgaW1wbGljaXQgY2FsbCBvZiBwbGFuKCkgYXQgaW1wb3J0IHRpbWUgb2YgVGVzdDo6TW9yZQotCi1TaWduZWQtb2ZmLWJ5OiBGcmFuY29pcyBQZXJyYWQgPGZyYW5jb2lzLnBlcnJhZEBnYWR6Lm9yZz4KLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvSU5TVEFMTF9CQVNFLnQgICAgIHwgNyArKysrLS0tCi0gY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9QTF9GSUxFUy50ICAgICAgICAgfCA0ICsrLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L2Jhc2ljLnQgICAgICAgICAgICB8IDQgKystLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvZWNoby50ICAgICAgICAgICAgIHwgNiArKystLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L21pbl9wZXJsX3ZlcnNpb24udCB8IDQgKystLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvcG1fdG9fYmxpYi50ICAgICAgIHwgNCArKy0tCi0gY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9yZWN1cnMudCAgICAgICAgICAgfCA0ICsrLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3NldmVyYWxfYXV0aG9ycy50ICB8IDQgKystLQotIDggZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1RBTExfQkFTRS50IGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNUQUxMX0JBU0UudAotaW5kZXggZjI3YjYyYy4uM2JiYjNhNiAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvSU5TVEFMTF9CQVNFLnQKLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvSU5TVEFMTF9CQVNFLnQKLUBAIC0xNSwxMiArMTUsMTMgQEAgJENMRUFOVVAgJiY9IDE7ICMgc28gYWx3YXlzIDEgb3IgbnVtZXJpY2FsbHkgMAotIAotIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlV0aWxzOwotIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlNldHVwOjpCRkQ7Ci0tdXNlIFRlc3Q6Ok1vcmU7Ci0gdXNlIENvbmZpZzsKLSB1c2UgRXh0VXRpbHM6Ok1NOwotLXBsYW4gIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0rdXNlIFRlc3Q6Ok1vcmUKLSsgICAgIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0gICAgID8gKHNraXBfYWxsID0+ICJjcm9zcy1jb21waWxpbmcgYW5kIG1ha2Ugbm90IGF2YWlsYWJsZSIpCi0tICAgIDogKHRlc3RzID0+IDMgKyAkQ0xFQU5VUCArIEBJTlNURElSUyAqICgxNSArICRDTEVBTlVQKSk7Ci0rICAgIDogKCk7Ci0rcGxhbiB0ZXN0cyA9PiAzICsgJENMRUFOVVAgKyBASU5TVERJUlMgKiAoMTUgKyAkQ0xFQU5VUCk7Ci0gCi0gbXkgJElzX1ZNUyA9ICReTyBlcSAnVk1TJzsKLSAKLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L1BMX0ZJTEVTLnQgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L1BMX0ZJTEVTLnQKLWluZGV4IDA3NzlkYmIuLjg1ZDUzYTUgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L1BMX0ZJTEVTLnQKLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvUExfRklMRVMudAotQEAgLTExLDkgKzExLDkgQEAgdXNlIEZpbGU6OlRlbXAgcXdbdGVtcGRpcl07Ci0gdXNlIE1ha2VNYWtlcjo6VGVzdDo6U2V0dXA6OlBMX0ZJTEVTOwotIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlV0aWxzOwotIHVzZSBDb25maWc7Ci0tdXNlIFRlc3Q6Ok1vcmU7Ci0gdXNlIEV4dFV0aWxzOjpNTTsKLS1wbGFuICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotK3VzZSBUZXN0OjpNb3JlCi0rICAgICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotICAgICA/IChza2lwX2FsbCA9PiAiY3Jvc3MtY29tcGlsaW5nIGFuZCBtYWtlIG5vdCBhdmFpbGFibGUiKQotICAgICA6ICh0ZXN0cyA9PiA5KTsKLSAKLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L2Jhc2ljLnQgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L2Jhc2ljLnQKLWluZGV4IDNkZDY2YWQuLmVkZGYyZTkgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L2Jhc2ljLnQKLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvYmFzaWMudAotQEAgLTIwLDkgKzIwLDkgQEAgdXNlIHV0Zjg7Ci0gdXNlIE1ha2VNYWtlcjo6VGVzdDo6VXRpbHM7Ci0gdXNlIE1ha2VNYWtlcjo6VGVzdDo6U2V0dXA6OkJGRDsKLSB1c2UgQ29uZmlnOwotLXVzZSBUZXN0OjpNb3JlOwotIHVzZSBFeHRVdGlsczo6TU07Ci0tcGxhbiAhTU0tPmNhbl9ydW4obWFrZSgpKSAmJiAkRU5We1BFUkxfQ09SRX0gJiYgJENvbmZpZ3sndXNlY3Jvc3Njb21waWxlJ30KLSt1c2UgVGVzdDo6TW9yZQotKyAgICAhTU0tPmNhbl9ydW4obWFrZSgpKSAmJiAkRU5We1BFUkxfQ09SRX0gJiYgJENvbmZpZ3sndXNlY3Jvc3Njb21waWxlJ30KLSAgICAgPyAoc2tpcF9hbGwgPT4gImNyb3NzLWNvbXBpbGluZyBhbmQgbWFrZSBub3QgYXZhaWxhYmxlIikKLSAgICAgOiAodGVzdHMgPT4gMTcxKTsKLSB1c2UgRmlsZTo6RmluZDsKLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L2VjaG8udCBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvZWNoby50Ci1pbmRleCA3ODliODVmLi5jNDNiYzQ3IDEwMDY0NAotLS0tIGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9lY2hvLnQKLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvZWNoby50Ci1AQCAtMTQsMTEgKzE0LDExIEBAIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlV0aWxzOwotIHVzZSBGaWxlOjpUZW1wOwotIHVzZSBDd2QgJ2Fic19wYXRoJzsKLSAKLS11c2UgVGVzdDo6TW9yZTsKLSB1c2UgRXh0VXRpbHM6Ok1NOwotLXBsYW4gIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0rdXNlIFRlc3Q6Ok1vcmUKLSsgICAgIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0gICAgID8gKHNraXBfYWxsID0+ICJjcm9zcy1jb21waWxpbmcgYW5kIG1ha2Ugbm90IGF2YWlsYWJsZSIpCi0tICAgIDogKCk7Ci0rICAgIDogKHRlc3RzID0+IDE4KTsKLSAKLSAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFNldHVwCi0gCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9taW5fcGVybF92ZXJzaW9uLnQgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L21pbl9wZXJsX3ZlcnNpb24udAotaW5kZXggYzVkNzhkNi4uMmVmMTE4ZCAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvbWluX3BlcmxfdmVyc2lvbi50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L21pbl9wZXJsX3ZlcnNpb24udAotQEAgLTEzLDkgKzEzLDkgQEAgdXNlIFRpZU91dDsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpVdGlsczsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpTZXR1cDo6TVBWOwotIHVzZSBDb25maWc7Ci0tdXNlIFRlc3Q6Ok1vcmU7Ci0gdXNlIEV4dFV0aWxzOjpNTTsKLS1wbGFuICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotK3VzZSBUZXN0OjpNb3JlCi0rICAgICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotICAgICA/IChza2lwX2FsbCA9PiAiY3Jvc3MtY29tcGlsaW5nIGFuZCBtYWtlIG5vdCBhdmFpbGFibGUiKQotICAgICA6ICh0ZXN0cyA9PiAzNik7Ci0gdXNlIEZpbGU6OlBhdGg7Ci1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9wbV90b19ibGliLnQgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3BtX3RvX2JsaWIudAotaW5kZXggZjFlMzQ4ZS4uZWJmYTI2YyAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvcG1fdG9fYmxpYi50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3BtX3RvX2JsaWIudAotQEAgLTEyLDkgKzEyLDkgQEAgdXNlIEV4dFV0aWxzOjpNYWtlTWFrZXI7Ci0gdXNlIE1ha2VNYWtlcjo6VGVzdDo6VXRpbHM7Ci0gdXNlIE1ha2VNYWtlcjo6VGVzdDo6U2V0dXA6OkJGRDsKLSB1c2UgQ29uZmlnOwotLXVzZSBUZXN0OjpNb3JlOwotIHVzZSBFeHRVdGlsczo6TU07Ci0tcGxhbiAhTU0tPmNhbl9ydW4obWFrZSgpKSAmJiAkRU5We1BFUkxfQ09SRX0gJiYgJENvbmZpZ3sndXNlY3Jvc3Njb21waWxlJ30KLSt1c2UgVGVzdDo6TW9yZQotKyAgICAhTU0tPmNhbl9ydW4obWFrZSgpKSAmJiAkRU5We1BFUkxfQ09SRX0gJiYgJENvbmZpZ3sndXNlY3Jvc3Njb21waWxlJ30KLSAgICAgPyAoc2tpcF9hbGwgPT4gImNyb3NzLWNvbXBpbGluZyBhbmQgbWFrZSBub3QgYXZhaWxhYmxlIikKLSAgICAgOiAnbm9fcGxhbic7Ci0gCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9yZWN1cnMudCBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvcmVjdXJzLnQKLWluZGV4IDg0YzA5YTIuLjY2MWUwZGIgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3JlY3Vycy50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3JlY3Vycy50Ci1AQCAtMTQsOSArMTQsOSBAQCB1c2UgRmlsZTo6VGVtcCBxd1t0ZW1wZGlyXTsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpVdGlsczsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpTZXR1cDo6UmVjdXJzOwotIHVzZSBDb25maWc7Ci0tdXNlIFRlc3Q6Ok1vcmU7Ci0gdXNlIEV4dFV0aWxzOjpNTTsKLS1wbGFuICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotK3VzZSBUZXN0OjpNb3JlCi0rICAgICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotICAgICA/IChza2lwX2FsbCA9PiAiY3Jvc3MtY29tcGlsaW5nIGFuZCBtYWtlIG5vdCBhdmFpbGFibGUiKQotICAgICA6ICh0ZXN0cyA9PiAyNik7Ci0gCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9zZXZlcmFsX2F1dGhvcnMudCBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3Qvc2V2ZXJhbF9hdXRob3JzLnQKLWluZGV4IDFhNzVhM2UuLjg2OWU5ZjAgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3NldmVyYWxfYXV0aG9ycy50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3NldmVyYWxfYXV0aG9ycy50Ci1AQCAtMTMsOSArMTMsOSBAQCB1c2UgVGllT3V0OwotIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlV0aWxzOwotIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlNldHVwOjpTQVM7Ci0gdXNlIENvbmZpZzsKLS11c2UgVGVzdDo6TW9yZTsKLSB1c2UgRXh0VXRpbHM6Ok1NOwotLXBsYW4gIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0rdXNlIFRlc3Q6Ok1vcmUKLSsgICAgIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0gICAgID8gKHNraXBfYWxsID0+ICJjcm9zcy1jb21waWxpbmcgYW5kIG1ha2Ugbm90IGF2YWlsYWJsZSIpCi0gICAgIDogKHRlc3RzID0+IDIwKTsKLSB1c2UgRmlsZTo6UGF0aDsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLW1vcmVjb25maWcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1tb3JlY29uZmlnLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OWNlODVhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLW1vcmVjb25maWcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLVdlIG5lZWQgbGQgaW4gdGhlIGZha2UgY29uZmlnIGxpYnJhcnksIGJ1dCBpdCdzIG5vdCBpbmNsdWRlZCBieSBkZWZhdWx0LiBTbwotZXhwYW5kIHRoZSBudW1iZXIgb2YgaXRlbXMgaW5jbHVkZWQuIFdoaWxlIHRoaXMgd29ya3MgaXQgaW5kaWNhdGVzIHRoYXQgdGhlCi1yZXN0IG9mIHRoZSBjb25maWcgaXRlbXMgYXJlIG5vdCBiZWluZyBwaWNrZWQgdXAgYW5kL29yIGFyZSBiZWluZyBwaWNrZWQgdXAKLWZyb20gdGhlIGhvc3QuIE1vcmUgaW52ZXN0aWdhdGlvbiBuZWVkZWQuCi0KLS0tLSBwZXJsLTUuOC44L2NvbmZpZ3BtCTIwMDcvMDQvMjAgMDk6NDg6MDUJMS4xCi0rKysgcGVybC01LjguOC9jb25maWdwbQkyMDA3LzA0LzIwIDA5OjU3OjEyCi1AQCAtMiw3ICsyLDcgQEAKLSB1c2Ugc3RyaWN0OwotIHVzZSB2YXJzIHF3KCVDb25maWcgJENvbmZpZ19TSF9leHBhbmRlZCk7Ci0gCi0tbXkgJGhvd19tYW55X2NvbW1vbiA9IDIyOwotK215ICRob3dfbWFueV9jb21tb24gPSA1MDsKLSAKLSAjIGNvbW1vbmx5IHVzZWQgbmFtZXMgdG8gcHJlY2FjaGUgKGFuZCBoZW5jZSBsb29rdXAgZmFzdGVzdCkKLSBteSAlQ29tbW9uOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3QtcnVuLXN3aXRjaGVzLnQtcGVybDUtcGVybC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC90LXJ1bi1zd2l0Y2hlcy50LXBlcmw1LXBlcmwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzZmRmNGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3QtcnVuLXN3aXRjaGVzLnQtcGVybDUtcGVybC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gMTU2MTU0OWVhMzZlMzdjYzI1NzA2ZjA5NGExOTVkZTQ5MjhmNDIxMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCAxOSBKdW4gMjAxNSAwMToyMzo0NiAtMDcwMAotU3ViamVjdDogW1BBVENIXSB0L3J1bi9zd2l0Y2hlcy50OiBwZXJsNSAtPiBwZXJsCi0KLVdlIGNhbGwgaXQgcGVybCByYXRoZXIgdGhhbiBwZXJsNSBpbiBvZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSB0L3J1bi9zd2l0Y2hlcy50IHwgICAgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdC9ydW4vc3dpdGNoZXMudCBiL3QvcnVuL3N3aXRjaGVzLnQKLWluZGV4IDc4OTE1ZTAuLmU5ZTRiNDUgMTAwNjQ0Ci0tLS0gYS90L3J1bi9zd2l0Y2hlcy50Ci0rKysgYi90L3J1bi9zd2l0Y2hlcy50Ci1AQCAtMjY5LDcgKzI2OSw3IEBAIGlzIHJ1bnBlcmwoc3RkZXJyID0+IDEsIHByb2cgPT4gJyMhcGVybCAtTScpLAotICAgICAgICAgICAnLVYgZ2VuZXJhdGVzIDIwKyBsaW5lcycgKTsKLSAKLSAgICAgbGlrZSggcnVucGVybCggc3dpdGNoZXMgPT4gWyctViddICksCi0tCSAgcXIvXEFTdW1tYXJ5IG9mIG15IHBlcmw1IC4qY29uZmlndXJhdGlvbjovLAotKwkgIHFyL1xBU3VtbWFyeSBvZiBteSBwZXJsIC4qY29uZmlndXJhdGlvbjovLAotICAgICAgICAgICAnLVYgbG9va3Mgb2theScgKTsKLSAKLSAgICAgIyBsb29rdXAgYSBrbm93biBjb25maWcgdmFyCi0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3Rlc3QvZGlzdC10aHJlYWRzLXQtam9pbi50LWFkanVzdC1wcy1vcHRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvdGVzdC9kaXN0LXRocmVhZHMtdC1qb2luLnQtYWRqdXN0LXBzLW9wdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzgyOTNjMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvdGVzdC9kaXN0LXRocmVhZHMtdC1qb2luLnQtYWRqdXN0LXBzLW9wdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLWRpc3QvdGhyZWFkcy90L2pvaW4udDogYWRqdXN0IHBzIG9wdGlvbgotCi1UaGUgcHMncyBvcHRpb24gJy1mJyBpcyBub3Qgc3VwcG9ydGVkIGJ5IGJ1c3lib3ggaW4gb2UuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gZGlzdC90aHJlYWRzL3Qvam9pbi50IHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZGlzdC90aHJlYWRzL3Qvam9pbi50IGIvZGlzdC90aHJlYWRzL3Qvam9pbi50Ci0tLS0gYS9kaXN0L3RocmVhZHMvdC9qb2luLnQKLSsrKyBiL2Rpc3QvdGhyZWFkcy90L2pvaW4udAotQEAgLTExOCw3ICsxMTgsNyBAQCBpZiAoJF5PIGVxICdsaW51eCcpIHsKLSAgICAgICAgICAgICAgICAgIH0pLT5qb2luOwotICAgICAjcHJpbnQgIiMgbWFpbnRocmVhZDogXCQwID0gJDBcbiI7Ci0gICAgICNwcmludCAiIyBwaWQgPSAkJFxuIjsKLS0gICAgaWYgKG9wZW4gUFMsICJwcyAtZiB8IikgeyAjIE5vdGU6IG11c3Qgd29yayBpbiAoYWxsKSBzeXN0ZW1zLgotKyAgICBpZiAob3BlbiBQUywgInBzIHwiKSB7ICMgTm90ZTogbXVzdCB3b3JrIGluIChhbGwpIHN5c3RlbXMuCi0gICAgICAgICBteSAoJHNhd3BpZCwgJHNhd2V4ZSk7Ci0gICAgICAgICB3aGlsZSAoPFBTPikgewotICAgICAgICAgICAgIGNob21wOwotQEAgLTEzNSwxMCArMTM1LDEwIEBAIGlmICgkXk8gZXEgJ2xpbnV4JykgewotICAgICAgICAgaWYgKCRzYXdwaWQpIHsKLSAgICAgICAgICAgICBvaygkc2F3cGlkICYmICRzYXdleGUsICdhbHRlcmluZyAkMCBpcyBlZmZlY3RpdmUnKTsKLSAgICAgICAgIH0gZWxzZSB7Ci0tICAgICAgICAgICAgc2tpcCgiXCQwIGNoZWNrOiBkaWQgbm90IHNlZSBwaWQgJCQgaW4gJ3BzIC1mIHwnIik7Ci0rICAgICAgICAgICAgc2tpcCgiXCQwIGNoZWNrOiBkaWQgbm90IHNlZSBwaWQgJCQgaW4gJ3BzIHwnIik7Ci0gICAgICAgICB9Ci0gICAgIH0gZWxzZSB7Ci0tICAgICAgICBza2lwKCJcJDAgY2hlY2s6IG9wZW5pbmcgJ3BzIC1mIHwnIGZhaWxlZDogJCEiKTsKLSsgICAgICAgIHNraXAoIlwkMCBjaGVjazogb3BlbmluZyAncHMgfCcgZmFpbGVkOiAkISIpOwotICAgICB9Ci0gfSBlbHNlIHsKLSAgICAgc2tpcCgiXCQwIGNoZWNrOiBvbmx5IG9uIExpbnV4Iik7Ci0tLSAKLTEuOC4xLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3Rlc3QvZXh0LUR5bmFMb2FkZXItdC1EeW5hTG9hZGVyLnQtZml4LWNhbGxpbmctZGxfZmluZGZpbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC90ZXN0L2V4dC1EeW5hTG9hZGVyLXQtRHluYUxvYWRlci50LWZpeC1jYWxsaW5nLWRsX2ZpbmRmaWwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlNTc3ZmUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3Rlc3QvZXh0LUR5bmFMb2FkZXItdC1EeW5hTG9hZGVyLnQtZml4LWNhbGxpbmctZGxfZmluZGZpbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLWV4dC9EeW5hTG9hZGVyL3QvRHluYUxvYWRlci50OiBmaXggY2FsbGluZyBkbF9maW5kZmlsZSgpIGZhaWxlZAotCi1Vc2UgJyRDb25maWd7bGliY30nIGFzIHRoZSBsaWJjIGZpbGUgbmFtZQotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGV4dC9EeW5hTG9hZGVyL3QvRHluYUxvYWRlci50IHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvZXh0L0R5bmFMb2FkZXIvdC9EeW5hTG9hZGVyLnQgYi9leHQvRHluYUxvYWRlci90L0R5bmFMb2FkZXIudAotaW5kZXggYWRlMWY4ZS4uMzU2N2FmZSAxMDA2NDQKLS0tLSBhL2V4dC9EeW5hTG9hZGVyL3QvRHluYUxvYWRlci50Ci0rKysgYi9leHQvRHluYUxvYWRlci90L0R5bmFMb2FkZXIudAotQEAgLTEwNiw3ICsxMDYsNyBAQCBvayggZGVmaW5lZCAkZGxlcnIsICJkbF9lcnJvcigpIHJldHVybmluZyBhbiBlcnJvciBtZXNzYWdlOiAnJGRsZXJyJyIgKTsKLSAjIC4uLiBkbF9maW5kZmlsZSgpCi0gU0tJUDogewotICAgICBteSBAZmlsZXMgPSAoKTsKLS0gICAgZXZhbCB7IEBmaWxlcyA9IER5bmFMb2FkZXI6OmRsX2ZpbmRmaWxlKCJjIikgfTsKLSsgICAgZXZhbCB7IEBmaWxlcyA9IER5bmFMb2FkZXI6OmRsX2ZpbmRmaWxlKCRDb25maWd7bGliY30pIH07Ci0gICAgIGlzKCAkQCwgJycsICJjYWxsaW5nIGRsX2ZpbmRmaWxlKCkiICk7Ci0gICAgICMgU29tZSBwbGF0Zm9ybXMgYXJlIGtub3duIHRvIG5vdCBoYXZlIGEgImxpYmMiCi0gICAgICMgKG5vdCBhdCBsZWFzdCBieSB0aGF0IG5hbWUpIHRoYXQgdGhlIGRsX2ZpbmRmaWxlKCkKLS0tIAotMS44LjEuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmxfNS4yNC40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsXzUuMjQuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTY0NDk3MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmxfNS4yNC40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzUzICswLDAgQEAKLXJlcXVpcmUgcGVybC5pbmMKLQotIyBXZSBuZWVkIGdudWdyZXAgKGZvciAtSSkKLURFUEVORFMgPSAiZGIgZ3JlcC1uYXRpdmUgZ2RibSB6bGliIHZpcnR1YWwvY3J5cHQiCi0KLSMgUGljayB1cCBwYXRjaGVzIGZyb20gZGViaWFuCi0jIGh0dHA6Ly9mdHAuZGUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbC9tYWluL3AvcGVybC9wZXJsXzUuMjIuMC0xLmRlYmlhbi50YXIueHoKLVNSQ19VUkkgKz0gIiBcCi0JZmlsZTovL2RlYmlhbi9jcGFuX2RlZmluc3RhbGxkaXJzLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vZGJfZmlsZV92ZXIuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9kb2NfaW5mby5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL2VuYzJ4c19pbmMuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9lcnJub192ZXIuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9saWJwZXJsX2VtYmVkX2RvYy5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL2ZpeGVzL3Jlc3BlY3RfdW1hc2suZGlmZiBcCi0JZmlsZTovL2RlYmlhbi93cml0YWJsZV9zaXRlX2RpcnMuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9leHR1dGlsc19zZXRfbGlicGVybF9wYXRoLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vbm9fcGFja2xpc3RfcGVybGxvY2FsLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vcHJlZml4X2NoYW5nZXMuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9pbnN0bW9kc2hfZG9jLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vbGRfcnVuX3BhdGguZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9saWJuZXRfY29uZmlnX3BhdGguZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9tb2RfcGF0aHMuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9wcnVuZV9saWJzLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vZml4ZXMvbmV0X3NtdHBfZG9jcy5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL3BlcmxpdnAuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9zcXVlbGNoLWxvY2FsZS13YXJuaW5ncy5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL3NraXAtdXBzdHJlYW0tZ2l0LXRlc3RzLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vc2tpcC1rZnJlZWJzZC1jcmFzaC5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL2ZpeGVzL2RvY3VtZW50X21ha2VtYWtlcl9jY2ZsYWdzLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vZmluZF9odG1sMnRleHQuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9wZXJsNWRiLXgtdGVybWluYWwtZW11bGF0b3IucGF0Y2ggXAotCWZpbGU6Ly9kZWJpYW4vY3Bhbi1taXNzaW5nLXNpdGUtZGlycy5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL2ZpeGVzL21lbW9pemVfc3RvcmFibGVfbnN0b3JlLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vcmVnZW4tc2tpcC5kaWZmIFwKLSIKLQotU1JDX1VSSSArPSAiIFwKLSAgICAgICAgZmlsZTovL01ha2VmaWxlLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL01ha2VmaWxlLlNILnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2luc3RhbGxwZXJsLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL3BlcmwtYXJjaGxpYi1leHAucGF0Y2ggXAotICAgICAgICBmaWxlOi8vcGVybC1keW5sb2FkZXIucGF0Y2ggXAotICAgICAgICBmaWxlOi8vcGVybC1tb3JlY29uZmlnLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2xldGdjYy1maW5kLWVycm5vLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2dlbmVyYXRlLXNoLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL25hdGl2ZS1wZXJsaW5jLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2Nyb3NzLWdlbmVyYXRlX3V1ZG1hcC5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly9maXhfYmFkX3JwYXRoLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2R5bmFsb2FkZXJoYWNrLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2NvbmZpZy5zaCBcCi0gICAgICAgIGZpbGU6Ly9jb25maWcuc2gtMzIgXAotICAgICAgICBmaWxlOi8vY29uZmlnLnNoLTMyLWxlIFwKLSAgICAgICAgZmlsZTovL2NvbmZpZy5zaC0zMi1iZSBcCi0gICAgICAgIGZpbGU6Ly9jb25maWcuc2gtNjQgXAotICAgICAgICBmaWxlOi8vY29uZmlnLnNoLTY0LWxlIFwKLSAgICAgICAgZmlsZTovL2NvbmZpZy5zaC02NC1iZSBcCi0gICAgICAgIGZpbGU6Ly9tYWtlX2V4dC5wbC1maXgtcmVnZW5lcmF0ZS1tYWtlZmlsZS1mYWlsZWQtd2hpbGUtY2MtLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL3QtcnVuLXN3aXRjaGVzLnQtcGVybDUtcGVybC5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly9leHQtT0RCTV9GaWxlLWhpbnRzLWxpbnV4LnBsLWxpbmstbGliZ2RibV9jb21wYXQucGF0Y2ggXAotICAgICAgICBmaWxlOi8vZXh0LU9EQk1fRmlsZS10LW9kYm0udC1maXgtdGhlLXBhdGgtb2YtZGJtdF9jb21tb24ucC5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly9wZXJsLVBhdGhUb29scy1kb24tdC1maWx0ZXItb3V0LWJsaWItZnJvbS1JTkMucGF0Y2ggXAotICAgICAgICBmaWxlOi8vcGVybC1lcnJuby1nZW5lcmF0aW9uLWdjYzUucGF0Y2ggXAotICAgICAgICBmaWxlOi8vcGVybC1maXgtY29uZmxpY3QtYmV0d2Vlbi1za2lwX2FsbC1hbmQtRU5ELnBhdGNoIFwKLSAgICAgICAgZmlsZTovL3BlcmwtNS4yNi4xLWd1YXJkX29sZF9saWJjcnlwdF9maXgucGF0Y2ggXAotICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTIwMTUucGF0Y2ggXAotICAgICAgICBmaWxlOi8vMDAwMS1FeHRVdGlscy1NTV9Vbml4LnBtLWZpeC1yYWNlLWlzc3Vlcy5wYXRjaCBcCi0iCi0KLSMgRml4IHRlc3QgY2FzZSBpc3N1ZXMKLVNSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAotICAgICAgICAgICAgZmlsZTovL3Rlc3QvZGlzdC10aHJlYWRzLXQtam9pbi50LWFkanVzdC1wcy1vcHRpb24ucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3Rlc3QvZXh0LUR5bmFMb2FkZXItdC1EeW5hTG9hZGVyLnQtZml4LWNhbGxpbmctZGxfZmluZGZpbC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1Ta2lwLXZhcmlvdXMtdGVzdHMtaWYtUEVSTF9CVUlMRF9QQUNLQUdJTkctaXMtc2V0LnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMDQ2MjJiYzRkMzk0MWRjN2ViNTcxYzUyYjdjMDI5OTMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2YwODAyODdmZjY0NzUwMjcwNjg5ODQzYWU5NDVmMDIxNTlhMzNjYjhmMmZjOTEwMjQ4YzE1YmVmYmE1ZGI4NCIKLQotaW5oZXJpdCBwZXJsbmF0aXZlIHNpdGVpbmZvCi0KLSMgV2hlcmUgdG8gZmluZCB0aGUgbmF0aXZlIHBlcmwKLUhPU1RQRVJMID0gIiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsJHtQVn0iCi0KLSMgV2hlcmUgdG8gZmluZCAuc28gZmlsZXMgLSB1c2UgdGhlIC1uYXRpdmUgdmVyc2lvbnMgbm90IHRob3NlIGZyb20gdGhlIHRhcmdldCBidWlsZAotZXhwb3J0IFBFUkxIT1NUTElCID0gIiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsLyR7UFZ9LyIKLQotIyBXaGVyZSB0byBmaW5kIHBlcmwgQElOQy8jaW5jbHVkZSBmaWxlcwotIyAtIHVzZSB0aGUgLW5hdGl2ZSB2ZXJzaW9ucyBub3QgdGhvc2UgZnJvbSB0aGUgdGFyZ2V0IGJ1aWxkCi1leHBvcnQgUEVSTF9MSUIgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3BlcmwtbmF0aXZlL3BlcmwvJHtQVn0vIgotZXhwb3J0IFBFUkxfQVJDSExJQiA9ICIke1NUQUdJTkdfTElCRElSX05BVElWRX0vcGVybC1uYXRpdmUvcGVybC8ke1BWfS8iCi0KLUVYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgotCi0jIExERkxBR1MgZm9yIHNoYXJlZCBsaWJyYXJpZXMKLWV4cG9ydCBMRERMRkxBR1MgPSAiJHtMREZMQUdTfSAtc2hhcmVkIgotCi1MREZMQUdTX2FwcGVuZCA9ICIgLWZzdGFjay1wcm90ZWN0b3IiCi0KLSMgV2UncmUgYWxtb3N0IERlYmlhbiwgYXJlbid0IHdlPwotQ0ZMQUdTICs9ICItRERFQklBTiIKLQotZG9fY29uZmlndXJlKCkgewotICAgICAgICAjIE1ha2UgaG9zdHBlcmwgaW4gYnVpbGQgZGlyZWN0b3J5IGJlIHRoZSBuYXRpdmUgcGVybAotICAgICAgICBsbiAtc2YgJHtIT1NUUEVSTH0gaG9zdHBlcmwKLQotCWlmIFsgLW4gIiR7Q09ORklHVVJFU1RBTVBGSUxFfSIgLWEgLWUgIiR7Q09ORklHVVJFU1RBTVBGSUxFfSIgXTsgdGhlbgotCQlpZiBbICJgY2F0ICR7Q09ORklHVVJFU1RBTVBGSUxFfWAiICE9ICIke0JCX1RBU0tIQVNIfSIgLWEgLWUgTWFrZWZpbGUgXTsgdGhlbgotCQkJJHtNQUtFfSBjbGVhbgotCQlmaQotCQlmaW5kICR7U30gLW5hbWUgKi5zbyAtZGVsZXRlCi0JZmkKLQlpZiBbIC1uICIke0NPTkZJR1VSRVNUQU1QRklMRX0iIF07IHRoZW4KLQkJZWNobyAke0JCX1RBU0tIQVNIfSA+ICR7Q09ORklHVVJFU1RBTVBGSUxFfQotCWZpCi0KLSAgICAgICAgIyBEbyBvdXIgd29yayBpbiB0aGUgY3Jvc3Mgc3ViZGlyCi0gICAgICAgIGNkIENyb3NzCi0KLSAgICAgICAgIyBHZW5lcmF0ZSBjb25maWd1cmF0aW9uCi0gICAgICAgIHJtIC1mIGNvbmZpZy5zaC0ke1RBUkdFVF9BUkNIfS0ke1RBUkdFVF9PU30KLSAgICAgICAgZm9yIGkgaW4gJHtXT1JLRElSfS9jb25maWcuc2ggXAotICAgICAgICAgICAgICAgICAke1dPUktESVJ9L2NvbmZpZy5zaC0ke1NJVEVJTkZPX0JJVFN9IFwKLSAgICAgICAgICAgICAgICAgJHtXT1JLRElSfS9jb25maWcuc2gtJHtTSVRFSU5GT19CSVRTfS0ke1NJVEVJTkZPX0VORElBTk5FU1N9OyBkbwotICAgICAgICAgICAgY2F0ICRpID4+IGNvbmZpZy5zaC0ke1RBUkdFVF9BUkNIfS0ke1RBUkdFVF9PU30KLSAgICAgICAgZG9uZQotCi0gICAgICAgICMgRml4dXBzIGZvciBtdXNsCi0gICAgICAgIGlmIFsgIiR7VEFSR0VUX09TfSIgPSAibGludXgtbXVzbCIgLW8gIiR7VEFSR0VUX09TfSIgPSAibGludXgtbXVzbGVhYmkiIC1vICIke1RBUkdFVF9PU30iID0gImxpbnV4LW11c2x4MzIiIF07IHRoZW4KLSAgICAgICAgICAgICAgICBzZWQgLWkgLWUgInMsXChkX2xpYm1fbGliX3ZlcnNpb249XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGRfc3RkaW9fcHRyX2x2YWw9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGRfc3RkaW9fcHRyX2x2YWxfc2V0c19jbnQ9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGRfc3RkaW9iYXNlPVwpJ2RlZmluZScsXDEndW5kZWYnLGciIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLWUgInMsXChkX3N0ZHN0ZGlvPVwpJ2RlZmluZScsXDEndW5kZWYnLGciIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLWUgInMsXChkX2dldG5ldGJ5bmFtZV9yPVwpJ2RlZmluZScsXDEndW5kZWYnLGciIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLWUgInMsXChkX2Zpbml0ZWw9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGdldHByb3RvYnluYW1lX3I9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGdldHB3ZW50X3I9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGdldHNlcnZlbnRfcj1cKSdkZWZpbmUnLFwxJ3VuZGVmJyxnIiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC1lICJzLFwoZ2V0aG9zdGVudF9yPVwpJ2RlZmluZScsXDEndW5kZWYnLGciIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLWUgInMsXChnZXRuZXRlbnRfcj1cKSdkZWZpbmUnLFwxJ3VuZGVmJyxnIiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC1lICJzLFwoZ2V0bmV0YnlhZGRyX3I9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGdldHByb3RvZW50X3I9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGdldHByb3RvYnludW1iZXJfcj1cKSdkZWZpbmUnLFwxJ3VuZGVmJyxnIiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC1lICJzLFwoZ2V0Z3JlbnRfcj1cKSdkZWZpbmUnLFwxJ3VuZGVmJyxnIiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC1lICJzLFwoaV9mY250bD1cKSd1bmRlZicsXDEnZGVmaW5lJyxnIiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC1lICJzLFwoaF9mY250bD1cKSdmYWxzZScsXDEndHJ1ZScsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicywtZnN0YWNrLXByb3RlY3RvciwtZm5vLXN0YWNrLXByb3RlY3RvcixnIiBcCi0gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5zaC0ke1RBUkdFVF9BUkNIfS0ke1RBUkdFVF9PU30KLSAgICAgICAgZmkKLQotICAgICAgICAjIFVwZGF0ZSBzb21lIHBhdGhzIGluIHRoZSBjb25maWd1cmF0aW9uCi0gICAgICAgIHNlZCAtaSAtZSAncyxAQVJDSEAtdGhyZWFkLW11bHRpLCxnJyBcCi0gICAgICAgICAgICAgICAtZSAncyxAQVJDSEAsJHtUQVJHRVRfQVJDSH0tJHtUQVJHRVRfT1N9LGcnIFwKLSAgICAgICAgICAgICAgIC1lICdzLEBTVEFHSU5HRElSQCwke1NUQUdJTkdfRElSX0hPU1R9LGcnIFwKLSAgICAgICAgICAgICAgIC1lICJzLEBJTkNMVURFRElSQCwke1NUQUdJTkdfSU5DRElSfSxnIiBcCi0gICAgICAgICAgICAgICAtZSAicyxATElCRElSQCwke2xpYmRpcn0sZyIgXAotICAgICAgICAgICAgICAgLWUgInMsQEJBU0VMSUJESVJALCR7YmFzZV9saWJkaXJ9LGciIFwKLSAgICAgICAgICAgICAgIC1lICJzLEBFWEVDUFJFRklYQCwke2V4ZWNfcHJlZml4fSxnIiBcCi0gICAgICAgICAgICAgICAtZSAncyxAVVNSQklOQCwke2JpbmRpcn0sZycgXAotICAgICAgICAgICAgICAgLWUgInMsLWxuc2wsLGciIFwKLSAgICAgICAgICAgIGNvbmZpZy5zaC0ke1RBUkdFVF9BUkNIfS0ke1RBUkdFVF9PU30KLQotCWNhc2UgIiR7VEFSR0VUX0FSQ0h9IiBpbgotCQl4ODZfNjQgfCBwb3dlcnBjIHwgczM5MCkKLQkJCXNlZCAtaSAtZSAicyxcKG5lZWRfdmFfY29weT1cKSd1bmRlZicsXDEnZGVmaW5lJyxnIiBcCi0JCQkJY29uZmlnLnNoLSR7VEFSR0VUX0FSQ0h9LSR7VEFSR0VUX09TfQotCQkJOzsKLQkJYXJtKQotCQkJc2VkIC1pIC1lICJzLFwoZF91MzJhbGlnbj1cKSd1bmRlZicsXDEnZGVmaW5lJyxnIiBcCi0JCQkJY29uZmlnLnNoLSR7VEFSR0VUX0FSQ0h9LSR7VEFSR0VUX09TfQotCQkJOzsKLQllc2FjCi0gICAgICAgICMgVGhlc2UgYXJlIHN0cmV3biBhbGwgb3ZlciB0aGUgc291cmNlIHRyZWUKLSAgICAgICAgZm9yIGZvbyBpbiBgZ3JlcCAtSSAtLWV4Y2x1ZGU9IioucGF0Y2giIC0tZXhjbHVkZT0iKi5kaWZmIiAtLWV4Y2x1ZGU9IioucG9kIiAtLWV4Y2x1ZGU9IlJFQURNRSoiIC0tZXhjbHVkZT0iR2xvc3NhcnkiIC1tMSAiL3Vzci9pbmNsdWRlLy4qXC5oIiAke1N9LyogLXIgLWxgICR7U30vdXRpbHMvaDJ4cy5QTCA7IGRvCi0gICAgICAgICAgICBlY2hvIEZpeGluZzogJGZvbwotICAgICAgICAgICAgc2VkIC1lICdzfFwoWyAiXidcJydJXVwrXCkvdXNyL2luY2x1ZGUvfFwxJHtTVEFHSU5HX0lOQ0RJUn0vfGcnIC1pICRmb28KLSAgICAgICAgZG9uZQotCi0gICAgICAgIHJtIC1mIGNvbmZpZwotICAgICAgICBlY2hvICJBUkNIID0gJHtUQVJHRVRfQVJDSH0iID4gY29uZmlnCi0gICAgICAgIGVjaG8gIk9TID0gJHtUQVJHRVRfT1N9IiA+PiBjb25maWcKLX0KLQotZG9fY29tcGlsZSgpIHsKLSAgICAgICAgIyBGaXggdG8gYXZvaWQgcmVjdXJzaXZlIHN1YnN0aXR1dGlvbiBvZiBwYXRoCi0gICAgICAgIHNlZCAtaSAtZSAnc3woQGxpYnBhdGgsICIuKiJ8KEBsaWJwYXRoLCAiJHtTVEFHSU5HX0xJQkRJUn0ifGcnIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbQotCi0gICAgICAgIGNkIENyb3NzCi0gICAgICAgIG9lX3J1bm1ha2UgcGVybCBMRD0iJHtDQ0xEfSIKLX0KLQotZG9fY29tcGlsZV9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotICAgICAgICAjIFJlbW92ZSBidWlsZCBob3N0IHJlZmVyZW5jZXMgZnJvbSBudW1lcm91cyBjb21tZW50cy4uLgotICAgICAgICBmaW5kICIke1N9L2NwYW4vRW5jb2RlIiAtdHlwZSBmIFwKLSAgICAgICAgICAgIFwoIC1uYW1lICcqLmV4aCcgLW8gLW5hbWUgJyouYycgLW8gLW5hbWUgJyouaCcgXClcCi0gICAgICAgICAgICAtZXhlYyBzZWQgLWkgLWUgJ3M6JHtSRUNJUEVfU1lTUk9PVF9OQVRJVkV9OjpnJyB7fSArCi0gICAgICAgIHNlZCAtaSAtZSAnczoke1JFQ0lQRV9TWVNST09UfTo6ZycgJHtTfS9wZXJsLmggJHtTfS9wcC5oCi0gICAgICAgIHNlZCAtaSAtZSAnczoke1JFQ0lQRV9TWVNST09UX05BVElWRX0vdXNyL2Jpbi9wZXJsLW5hdGl2ZS9wZXJsJHtQVn0ucmVhbDovdXNyL2Jpbi9wZXJsJHtQVn06ZycgIFwKLSAgICAgICAgICAgICR7U30vY3Bhbi9Db21wcmVzcy1SYXctQnppcDIvY29uc3RhbnRzLmggXAotICAgICAgICAgICAgJHtTfS9jcGFuL0NvbXByZXNzLVJhdy1abGliL2NvbnN0YW50cy5oIFwKLSAgICAgICAgICAgICR7U30vY3Bhbi9JUEMtU3lzVi9jb25zdC1jLmluYyBcCi0gICAgICAgICAgICAke1N9L2Rpc3QvVGltZS1IaVJlcy9jb25zdC1jLmluYwotfQotCi1kb19pbnN0YWxsKCkgewotCSNleHBvcnQgaG9zdHBlcmw9IiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsJHtQVn0iCi0Jb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQotICAgICAgICAjIEFkZCBwZXJsIHBvaW50aW5nIGF0IGN1cnJlbnQgdmVyc2lvbgotICAgICAgICBsbiAtc2YgcGVybCR7UFZ9ICR7RH0ke2JpbmRpcn0vcGVybAotCi0gICAgICAgIGxuIC1zZiBwZXJsICR7RH0vJHtsaWJkaXJ9L3Blcmw1Ci0KLSAgICAgICAgIyBSZW1vdmUgdW53YW50ZWQgZmlsZSBhbmQgZW1wdHkgZGlyZWN0b3JpZXMKLSAgICAgICAgcm0gLWYgJHtEfS8ke2xpYmRpcn0vcGVybC8ke1BWfS8ucGFja2xpc3QKLQlybWRpciAke0R9LyR7bGliZGlyfS9wZXJsL3NpdGVfcGVybC8ke1BWfQotCXJtZGlyICR7RH0vJHtsaWJkaXJ9L3Blcmwvc2l0ZV9wZXJsCi0KLSAgICAgICAgIyBGaXggdXAgc2hhcmVkIGxpYnJhcnkKLSAgICAgICAgbXYgJHtEfS8ke2xpYmRpcn0vcGVybC8ke1BWfS9DT1JFL2xpYnBlcmwuc28gJHtEfS8ke2xpYmRpcn0vbGlicGVybC5zby4ke1BWfQotICAgICAgICBsbiAtc2YgbGlicGVybC5zby4ke1BWfSAke0R9LyR7bGliZGlyfS9saWJwZXJsLnNvLjUKLSAgICAgICAgbG4gLXNmIC4uLy4uLy4uL2xpYnBlcmwuc28uJHtQVn0gJHtEfS8ke2xpYmRpcn0vcGVybC8ke1BWfS9DT1JFL2xpYnBlcmwuc28KLQotICAgICAgICAjIHRhcmdldCBjb25maWcsIHVzZWQgYnkgY3Bhbi5iYmNsYXNzIHRvIGV4dHJhY3QgdmVyc2lvbiBpbmZvcm1hdGlvbgotICAgICAgICBpbnN0YWxsIGNvbmZpZy5zaCAke0R9JHtsaWJkaXJ9L3BlcmwKLQotICAgICAgICBsbiAtcyBDb25maWdfaGVhdnkucGwgJHtEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L0NvbmZpZ19oZWF2eS10YXJnZXQucGwKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrICgpIHsKLSAgICAgICAgY3JlYXRlX3dyYXBwZXIgJHtEfSR7YmluZGlyfS9wZXJsIFwKLSAgICAgICAgICAgIFBFUkw1TElCPSckUEVSTDVMSUI6JE9FQ09SRV9OQVRJVkVfU1lTUk9PVC8ke2xpYmRpcl9uYXRpdmVzZGt9L3Blcmwvc2l0ZV9wZXJsLyR7UFZ9OiRPRUNPUkVfTkFUSVZFX1NZU1JPT1QvJHtsaWJkaXJfbmF0aXZlc2RrfS9wZXJsL3ZlbmRvcl9wZXJsLyR7UFZ9OiRPRUNPUkVfTkFUSVZFX1NZU1JPT1QvJHtsaWJkaXJfbmF0aXZlc2RrfS9wZXJsLyR7UFZ9JwotfQotCi1QQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gInBlcmxfcGFja2FnZV9wcmVwcm9jZXNzIgotCi1wZXJsX3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7Ci0gICAgICAgICMgRml4IHVwIGluc3RhbGxlZCBjb25maWd1cmF0aW9uCi0gICAgICAgIHNlZCAtaSAtZSAicywke0R9LCxnIiBcCi0gICAgICAgICAgICAgICAtZSAicywke0RFQlVHX1BSRUZJWF9NQVB9LCxnIiBcCi0gICAgICAgICAgICAgICAtZSAicywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9IT1NUfSwsZyIgXAotICAgICAgICAgICAgICAgLWUgInMsLWlzeXN0ZW0ke1NUQUdJTkdfSU5DRElSfSAsLGciIFwKLSAgICAgICAgICAgICAgIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSxnIiBcCi0gICAgICAgICAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSfSwke2JpbmRpcn0sZyIgXAotICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0lOQ0RJUn0sJHtpbmNsdWRlZGlyfSxnIiBcCi0gICAgICAgICAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSX05BVElWRX0vcGVybC1uYXRpdmUvLCR7YmluZGlyfS8sZyIgXAotICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LywsZyIgXAotICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LyR7VEFSR0VUX1BSRUZJWH0sJHtiaW5kaXJ9LGciIFwKLSAgICAgICAgICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1R9OjpnJyBcCi0gICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L2gyeHMgXAotICAgICAgICAgICAgJHtQS0dEfSR7YmluZGlyfS9oMnBoIFwKLSAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kMm1hbiBcCi0gICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L3BvZDJ0ZXh0IFwKLSAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kMnVzYWdlIFwKLSAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kY2hlY2tlciBcCi0gICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L3BvZHNlbGVjdCBcCi0gICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ09SRS9jb25maWcuaCBcCi0gICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ09SRS9wZXJsLmggXAotICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L0NPUkUvcHAuaCBcCi0gICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ29uZmlnLnBtIFwKLSAgICAgICAgICAgICR7UEtHRH0ke2xpYmRpcn0vcGVybC8ke1BWfS9Db25maWcucG9kIFwKLSAgICAgICAgICAgICR7UEtHRH0ke2xpYmRpcn0vcGVybC8ke1BWfS9Db25maWdfaGVhdnkucGwgXAotICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L0V4dFV0aWxzL0xpYmxpc3QvS2lkLnBtIFwKLSAgICAgICAgICAgICR7UEtHRH0ke2xpYmRpcn0vcGVybC8ke1BWfS9GaWxlQ2FjaGUucG0gXAotICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L3BvZC8qLnBvZCBcCi0gICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3BlcmwvY29uZmlnLnNoCi19Ci0KLVBBQ0tBR0VTID0gInBlcmwtZGJnIHBlcmwgcGVybC1taXNjIHBlcmwtZGV2IHBlcmwtcG9kIHBlcmwtZG9jIHBlcmwtbGliIFwKLSAgICAgICAgICAgIHBlcmwtbW9kdWxlLWNwYW4gcGVybC1tb2R1bGUtY3BhbnBsdXMgcGVybC1tb2R1bGUtdW5pY29yZSIKLUZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS9wZXJsICR7YmluZGlyfS9wZXJsJHtQVn0gXAotICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ29uZmlnLnBtIFwKLSAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L3N0cmljdC5wbSBcCi0gICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS93YXJuaW5ncy5wbSBcCi0gICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS93YXJuaW5ncyBcCi0gICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS92YXJzLnBtIFwKLSAgICAgICAgICAgICAgIgotRklMRVNfJHtQTn1fYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgJHtiaW5kaXJ9L3BlcmwucmVhbCIKLVJQUk9WSURFU18ke1BOfSArPSAicGVybC1tb2R1bGUtc3RyaWN0IHBlcmwtbW9kdWxlLXZhcnMgcGVybC1tb2R1bGUtY29uZmlnIHBlcmwtbW9kdWxlLXdhcm5pbmdzIFwKLSAgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1GSUxFU18ke1BOfS1kZXYgPSAiJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ09SRSIKLUZJTEVTXyR7UE59LWxpYiA9ICIke2xpYmRpcn0vbGlicGVybC5zbyogXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsNSBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvY29uZmlnLnNoIFwKLQkJICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ29uZmlnX2dpdC5wbCBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ29uZmlnX2hlYXZ5LnBsIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9Db25maWdfaGVhdnktdGFyZ2V0LnBsIgotRklMRVNfJHtQTn0tcG9kID0gIiR7bGliZGlyfS9wZXJsLyR7UFZ9L3BvZCBcCi0JCSAgICR7bGliZGlyfS9wZXJsLyR7UFZ9LyoucG9kIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS8qLyoucG9kIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS8qLyovKi5wb2QgIgotRklMRVNfcGVybC1taXNjID0gIiR7YmluZGlyfS8qIgotRklMRVNfJHtQTn0tZG9jID0gIiR7bGliZGlyfS9wZXJsLyR7UFZ9LyovKi50eHQgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9LyovKi8qLnR4dCBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vYXV0by9YUy9UeXBlbWFwIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9CL2Fzc2VtYmxlIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9CL2NjX2hhcm5lc3MgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L0IvZGlzYXNzZW1ibGUgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L0IvbWFrZWxpYmxpbmtzIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9DR0kvZWcgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L0NQQU4vUEFVU0UyMDAzLnB1YiBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ1BBTi9TSUdOQVRVUkUgXAotCQkgICAke2xpYmRpcn0vcGVybC8ke1BWfS9DUEFOUExVUy9TaGVsbC9EZWZhdWx0L1BsdWdpbnMvSE9XVE8ucG9kIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9FbmNvZGUvZW5jb2RlLmggXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L0V4dFV0aWxzL01BTklGRVNULlNLSVAgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L0V4dFV0aWxzL05PVEVTIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9FeHRVdGlscy9QQVRDSElORyBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vRXh0VXRpbHMvdHlwZW1hcCBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vRXh0VXRpbHMveHN1YnBwIFwKLQkJICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vRXh0VXRpbHMvQ2hhbmdlc19FVS1JbnN0YWxsIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9OZXQvKi5lZyBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vdW5pY29yZS9ta3RhYmxlcyBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vdW5pY29yZS9ta3RhYmxlcy5sc3QgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L3VuaWNvcmUvdmVyc2lvbiAiCi0KLUZJTEVTX3BlcmwtbW9kdWxlLWNwYW4gKz0gIiR7bGliZGlyfS9wZXJsLyR7UFZ9L0NQQU4gXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ1BBTi5wbSIKLUZJTEVTX3BlcmwtbW9kdWxlLWNwYW5wbHVzICs9ICIke2xpYmRpcn0vcGVybC8ke1BWfS9DUEFOUExVUyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ1BBTlBMVVMucG0iCi1GSUxFU19wZXJsLW1vZHVsZS11bmljb3JlICs9ICIke2xpYmRpcn0vcGVybC8ke1BWfS91bmljb3JlIgotCi0jIENyZWF0ZSBhIHBlcmwtbW9kdWxlcyBwYWNrYWdlIHJlY29tbWVuZGluZyBhbGwgdGhlIG90aGVyIHBlcmwKLSMgcGFja2FnZXMgKGFjdHVhbGx5IHRoZSBub24gbW9kdWxlcyBwYWNrYWdlcyBhbmQgbm90IGNyZWF0ZWQgdG9vKQotQUxMT1dfRU1QVFlfcGVybC1tb2R1bGVzID0gIjEiCi1QQUNLQUdFU19hcHBlbmQgPSAiIHBlcmwtbW9kdWxlcyAiCi0KLVBBQ0tBR0VTUExJVEZVTkNTX3ByZXBlbmQgPSAic3BsaXRfcGVybF9wYWNrYWdlcyAiCi0KLXB5dGhvbiBzcGxpdF9wZXJsX3BhY2thZ2VzICgpIHsKLSAgICBsaWJkaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L3BlcmwvJHtQVn0nKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxpYmRpciwgJ2F1dG8vKFteLl0qKS9bXi9dKlwuKHNvfGxkfGl4fGFsKScsICdwZXJsLW1vZHVsZS0lcycsICdwZXJsIG1vZHVsZSAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBtYXRjaF9wYXRoPVRydWUsIHByZXBlbmQ9RmFsc2UpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCAnTW9kdWxlLyhbXlwvXSopXC5wbScsICdwZXJsLW1vZHVsZS0lcycsICdwZXJsIG1vZHVsZSAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBhbGxvd19kaXJzPUZhbHNlLCBtYXRjaF9wYXRoPVRydWUsIHByZXBlbmQ9RmFsc2UpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCAnTW9kdWxlLyhbXlwvXSopLy4qJywgJ3BlcmwtbW9kdWxlLSVzJywgJ3BlcmwgbW9kdWxlICVzJywgcmVjdXJzaXZlPVRydWUsIGFsbG93X2RpcnM9RmFsc2UsIG1hdGNoX3BhdGg9VHJ1ZSwgcHJlcGVuZD1GYWxzZSkKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsICcoXig/IShDUEFOXC98Q1BBTlBMVVNcL3xNb2R1bGVcL3x1bmljb3JlXC98YXV0b1wvKVteXC9dKS4qKVwuKHBtfHBsfGUyeCknLCAncGVybC1tb2R1bGUtJXMnLCAncGVybCBtb2R1bGUgJXMnLCByZWN1cnNpdmU9VHJ1ZSwgYWxsb3dfZGlycz1GYWxzZSwgbWF0Y2hfcGF0aD1UcnVlLCBwcmVwZW5kPUZhbHNlKQotCi0gICAgIyBwZXJsLW1vZHVsZXMgc2hvdWxkIHJlY29tbWVuZCBldmVyeSBwZXJsIG1vZHVsZSwgYW5kIG9ubHkgdGhlCi0gICAgIyBtb2R1bGVzLiBEb24ndCBhdHRlbXB0IHRvIHVzZSB0aGUgcmVzdWx0IG9mIGRvX3NwbGl0X3BhY2thZ2VzKCkgYXMgc29tZQotICAgICMgbW9kdWxlcyBhcmUgbWFudWFsbHkgc3BsaXQgKGVnLiBwZXJsLW1vZHVsZS11bmljb3JlKS4KLSAgICBwYWNrYWdlcyA9IGZpbHRlcihsYW1iZGEgcDogJ3BlcmwtbW9kdWxlLScgaW4gcCwgZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKSkKLSAgICBkLnNldFZhcihkLmV4cGFuZCgiUlJFQ09NTUVORFNfJHtQTn0tbW9kdWxlcyIpLCAnICcuam9pbihwYWNrYWdlcykpCi19Ci0KLVBBQ0tBR0VTX0RZTkFNSUMgKz0gIl5wZXJsLW1vZHVsZS0uKig/PCFcLW5hdGl2ZSkkIgotUEFDS0FHRVNfRFlOQU1JQ19jbGFzcy1uYXRpdmVzZGsgPSAiXm5hdGl2ZXNkay1wZXJsLW1vZHVsZS0uKiIKLQotUlBST1ZJREVTX3BlcmwtbGliID0gInBlcmwtbGliIgotCi1yZXF1aXJlIHBlcmwtcmRlcGVuZHNfJHtQVn0uaW5jCi1yZXF1aXJlIHBlcmwtcHRlc3QuaW5jCi0KLVNTVEFURV9TQ0FOX0ZJTEVTICs9ICIqLnBtICoucG9kICouaCAqLnBsICouc2giCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGtnY29uZi9wa2djb25mXzEuNS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGtnY29uZi9wa2djb25mXzEuNS4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MTU0NzhkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BrZ2NvbmYvcGtnY29uZl8xLjUuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLVNVTU1BUlkgPSAicGtnY29uZiBwcm92aWRlcyBjb21waWxlciBhbmQgbGlua2VyIGNvbmZpZ3VyYXRpb24gZm9yIGRldmVsb3BtZW50IGZyYW1ld29ya3MuIgotREVTQ1JJUFRJT04gPSAicGtnY29uZiBpcyBhIHByb2dyYW0gd2hpY2ggaGVscHMgdG8gY29uZmlndXJlIGNvbXBpbGVyIGFuZCBsaW5rZXIgXAotZmxhZ3MgZm9yIGRldmVsb3BtZW50IGZyYW1ld29ya3MuIEl0IGlzIHNpbWlsYXIgdG8gcGtnLWNvbmZpZyBmcm9tIFwKLWZyZWVkZXNrdG9wLm9yZywgcHJvdmlkaW5nIGFkZGl0aW9uYWwgZnVuY3Rpb25hbGl0eSB3aGlsZSBhbHNvIG1haW50YWluaW5nIFwKLWNvbXBhdGliaWxpdHkuIgotSE9NRVBBR0UgPSAiaHR0cDovL3BrZ2NvbmYub3JnIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vcGtnY29uZi9wa2djb25mL2lzc3VlcyIKLVNFQ1RJT04gPSAiZGV2ZWwiCi1QUk9WSURFUyArPSAicGtnY29uZmlnIgotUlBST1ZJREVTXyR7UE59ICs9ICJwa2djb25maWciCi1ERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCi0KLSMgVGhlIHBrZ2NvbmYgbGljZW5zZSBzZWVtcyB0byBiZSBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCB0byBCU0QtMi1DbGF1c2Ugb3IKLSMgSVNDLCBidXQgaGFzIGRpZmZlcmVudCB3b3JkaW5nLCBzbyBuZWVkcyBpdHMgb3duIG5hbWUuCi1MSUNFTlNFID0gInBrZ2NvbmYiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yMjE0MjIyZWMxYTgyMGJkNmNjNzUxNjdhNTY5MjVlMCIKLQotU1JDX1VSSSA9ICJcCi0gICAgaHR0cHM6Ly9kaXN0ZmlsZXMuZGVyZWZlcmVuY2VkLm9yZy9wa2djb25mL3BrZ2NvbmYtJHtQVn0udGFyLnh6IFwKLSAgICBmaWxlOi8vcGtnLWNvbmZpZy13cmFwcGVyIFwKLSAgICBmaWxlOi8vcGtnLWNvbmZpZy1uYXRpdmUuaW4gXAotICAgIGZpbGU6Ly9wa2ctY29uZmlnLWVzZGsuaW4gXAotIgotU1JDX1VSSVttZDVzdW1dID0gImMyMTc0M2JjYTE0Yzg4MmMwZjI4Mjc0NjE2OGE1ZWRjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzNDY4MzA4NTUzYzk0Mzg5ZGFkZmQxMGM0ZDEwNjcyNjkwNTJiNTM2NDI3NmE5ZDI0YTY0M2M4ODQ4NWY3MTUiCi0KLWluaGVyaXQgYXV0b3Rvb2xzCi0KLUVYVFJBX09FQ09ORiArPSAiLS13aXRoLXBrZy1jb25maWctZGlyPScke2xpYmRpcn0vcGtnY29uZmlnOiR7ZGF0YWRpcn0vcGtnY29uZmlnJyIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotICAgICMgSW5zdGFsbCBhIHdyYXBwZXIgd2hpY2ggZGVhbHMsIGFzIG11Y2ggYXMgcG9zc2libGUgd2l0aCBwa2djb25mIHZzCi0gICAgIyBwa2ctY29uZmlnIGNvbXBhdGliaWxpdHkgaXNzdWVzLgotICAgIGluc3RhbGwgLW0gMDc1NSAiJHtXT1JLRElSfS9wa2ctY29uZmlnLXdyYXBwZXIiICIke0R9JHtiaW5kaXJ9L3BrZy1jb25maWciCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7Ci0gICAgIyBJbnN0YWxsIGEgcGtnLWNvbmZpZy1uYXRpdmUgd3JhcHBlciB0aGF0IHdpbGwgdXNlIHRoZSBuYXRpdmUgc3lzcm9vdCBpbnN0ZWFkCi0gICAgIyBvZiB0aGUgTUFDSElORSBzeXNyb290LCBmb3IgdXNpbmcgcGtnLWNvbmZpZyB3aGVuIGJ1aWxkaW5nIG5hdGl2ZSB0b29scy4KLSAgICBzZWQgLWUgInN8QFBBVEhfTkFUSVZFQHwke1BLR19DT05GSUdfUEFUSH18IiBcCi0gICAgICAgIDwgJHtXT1JLRElSfS9wa2ctY29uZmlnLW5hdGl2ZS5pbiA+ICR7Qn0vcGtnLWNvbmZpZy1uYXRpdmUKLSAgICBpbnN0YWxsIC1tNzU1ICR7Qn0vcGtnLWNvbmZpZy1uYXRpdmUgJHtEfSR7YmluZGlyfS9wa2ctY29uZmlnLW5hdGl2ZQotICAgIHNlZCAtZSAic3xAUEFUSF9OQVRJVkVAfCR7UEtHX0NPTkZJR19QQVRIfXwiIFwKLSAgICAgICAgLWUgInN8QExJQkRJUl9OQVRJVkVAfCR7UEtHX0NPTkZJR19MSUJESVJ9fCIgXAotICAgICAgICA8ICR7V09SS0RJUn0vcGtnLWNvbmZpZy1lc2RrLmluID4gJHtCfS9wa2ctY29uZmlnLWVzZGsKLSAgICBpbnN0YWxsIC1tNzU1ICR7Qn0vcGtnLWNvbmZpZy1lc2RrICR7RH0ke2JpbmRpcn0vcGtnLWNvbmZpZy1lc2RrCi19Ci0KLSMgV2hlbiB1c2luZyB0aGUgUlBNIGdlbmVyYXRlZCBhdXRvbWF0aWMgcGFja2FnZSBkZXBlbmRlbmNpZXMsIHNvbWUgcGFja2FnZXMKLSMgd2lsbCBlbmQgdXAgcmVxdWlyaW5nICdwa2djb25maWcocGtnLWNvbmZpZyknLiAgQWxsb3cgdGhpcyBiZWhhdmlvciBieQotIyBzcGVjaWZ5aW5nIGFuIGFwcHJvcHJpYXRlIHByb3ZpZGUuCi1SUFJPVklERVNfJHtQTn0gKz0gInBrZ2NvbmZpZyhwa2ctY29uZmlnKSIKLQotIyBJbmNsdWRlIHBrZy5tNCBpbiB0aGUgbWFpbiBwYWNrYWdlLCBsZWF2aW5nIGxpYnBrZ2NvbmYgZGV2IGZpbGVzIGluIC1kZXYKLUZJTEVTXyR7UE59LWRldl9yZW1vdmUgPSAiJHtkYXRhZGlyfS9hY2xvY2FsIgotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vYWNsb2NhbCIKLQotQkJDTEFTU0VYVEVORCArPSAibmF0aXZlIG5hdGl2ZXNkayIKLQotcGtnY29uZl9zc3RhdGVfZml4dXBfZXNkayAoKSB7Ci0gICBpZiBbICIke0JCX0NVUlJFTlRUQVNLfSIgPSAicG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZSIgLWEgIiR7V0lUSElOX0VYVF9TREt9IiA9ICIxIiBdIDsgdGhlbgotICAgICAgIHBrZ2NvbmZkaXI9IiR7U1NUQVRFX0lOU1RESVJ9L3JlY2lwZS1zeXNyb290LW5hdGl2ZS8ke2JpbmRpcl9uYXRpdmV9IgotICAgICAgIG12ICRwa2djb25mZGlyL3BrZy1jb25maWcgJHBrZ2NvbmZkaXIvcGtnLWNvbmZpZy5yZWFsCi0gICAgICAgbG5yICRwa2djb25mZGlyL3BrZy1jb25maWctZXNkayAkcGtnY29uZmRpci9wa2ctY29uZmlnCi0gICAgICAgc2VkIC1pIC1lICJzfF5wa2ctY29uZmlnfHBrZy1jb25maWcucmVhbHwiICRwa2djb25mZGlyL3BrZy1jb25maWctbmF0aXZlCi0gICBmaQotfQotCi1TU1RBVEVQT1NUVU5QQUNLRlVOQ1NfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgcGtnY29uZl9zc3RhdGVfZml4dXBfZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BrZ2NvbmYvcGtnY29uZl8xLjYuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BrZ2NvbmYvcGtnY29uZl8xLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDUyODc1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGtnY29uZi9wa2djb25mXzEuNi4wLmJiCkBAIC0wLDAgKzEsNjkgQEAKK1NVTU1BUlkgPSAicGtnY29uZiBwcm92aWRlcyBjb21waWxlciBhbmQgbGlua2VyIGNvbmZpZ3VyYXRpb24gZm9yIGRldmVsb3BtZW50IGZyYW1ld29ya3MuIgorREVTQ1JJUFRJT04gPSAicGtnY29uZiBpcyBhIHByb2dyYW0gd2hpY2ggaGVscHMgdG8gY29uZmlndXJlIGNvbXBpbGVyIGFuZCBsaW5rZXIgXAorZmxhZ3MgZm9yIGRldmVsb3BtZW50IGZyYW1ld29ya3MuIEl0IGlzIHNpbWlsYXIgdG8gcGtnLWNvbmZpZyBmcm9tIFwKK2ZyZWVkZXNrdG9wLm9yZywgcHJvdmlkaW5nIGFkZGl0aW9uYWwgZnVuY3Rpb25hbGl0eSB3aGlsZSBhbHNvIG1haW50YWluaW5nIFwKK2NvbXBhdGliaWxpdHkuIgorSE9NRVBBR0UgPSAiaHR0cDovL3BrZ2NvbmYub3JnIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vcGtnY29uZi9wa2djb25mL2lzc3VlcyIKK1NFQ1RJT04gPSAiZGV2ZWwiCitQUk9WSURFUyArPSAicGtnY29uZmlnIgorUlBST1ZJREVTXyR7UE59ICs9ICJwa2djb25maWciCitERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCisKKyMgVGhlIHBrZ2NvbmYgbGljZW5zZSBzZWVtcyB0byBiZSBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCB0byBCU0QtMi1DbGF1c2Ugb3IKKyMgSVNDLCBidXQgaGFzIGRpZmZlcmVudCB3b3JkaW5nLCBzbyBuZWVkcyBpdHMgb3duIG5hbWUuCitMSUNFTlNFID0gInBrZ2NvbmYiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yMjE0MjIyZWMxYTgyMGJkNmNjNzUxNjdhNTY5MjVlMCIKKworU1JDX1VSSSA9ICJcCisgICAgaHR0cHM6Ly9kaXN0ZmlsZXMuZGVyZWZlcmVuY2VkLm9yZy9wa2djb25mL3BrZ2NvbmYtJHtQVn0udGFyLnh6IFwKKyAgICBmaWxlOi8vcGtnLWNvbmZpZy13cmFwcGVyIFwKKyAgICBmaWxlOi8vcGtnLWNvbmZpZy1uYXRpdmUuaW4gXAorICAgIGZpbGU6Ly9wa2ctY29uZmlnLWVzZGsuaW4gXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjBjOTM0OTJkN2YwMDFlNTE3NWIwMzQ3YjU0NzJlODZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYxMzVhM2FiYjU3NjY3MmJhNTRhODk5ODYwNDQyYmExODUwNjNmMGY5MGRhZTU4OTJmNjRmN2JhZThlMWVjZTUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiArPSAiLS13aXRoLXBrZy1jb25maWctZGlyPScke2xpYmRpcn0vcGtnY29uZmlnOiR7ZGF0YWRpcn0vcGtnY29uZmlnJyIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgICMgSW5zdGFsbCBhIHdyYXBwZXIgd2hpY2ggZGVhbHMsIGFzIG11Y2ggYXMgcG9zc2libGUgd2l0aCBwa2djb25mIHZzCisgICAgIyBwa2ctY29uZmlnIGNvbXBhdGliaWxpdHkgaXNzdWVzLgorICAgIGluc3RhbGwgLW0gMDc1NSAiJHtXT1JLRElSfS9wa2ctY29uZmlnLXdyYXBwZXIiICIke0R9JHtiaW5kaXJ9L3BrZy1jb25maWciCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgIyBJbnN0YWxsIGEgcGtnLWNvbmZpZy1uYXRpdmUgd3JhcHBlciB0aGF0IHdpbGwgdXNlIHRoZSBuYXRpdmUgc3lzcm9vdCBpbnN0ZWFkCisgICAgIyBvZiB0aGUgTUFDSElORSBzeXNyb290LCBmb3IgdXNpbmcgcGtnLWNvbmZpZyB3aGVuIGJ1aWxkaW5nIG5hdGl2ZSB0b29scy4KKyAgICBzZWQgLWUgInN8QFBBVEhfTkFUSVZFQHwke1BLR19DT05GSUdfUEFUSH18IiBcCisgICAgICAgIDwgJHtXT1JLRElSfS9wa2ctY29uZmlnLW5hdGl2ZS5pbiA+ICR7Qn0vcGtnLWNvbmZpZy1uYXRpdmUKKyAgICBpbnN0YWxsIC1tNzU1ICR7Qn0vcGtnLWNvbmZpZy1uYXRpdmUgJHtEfSR7YmluZGlyfS9wa2ctY29uZmlnLW5hdGl2ZQorICAgIHNlZCAtZSAic3xAUEFUSF9OQVRJVkVAfCR7UEtHX0NPTkZJR19QQVRIfXwiIFwKKyAgICAgICAgLWUgInN8QExJQkRJUl9OQVRJVkVAfCR7UEtHX0NPTkZJR19MSUJESVJ9fCIgXAorICAgICAgICA8ICR7V09SS0RJUn0vcGtnLWNvbmZpZy1lc2RrLmluID4gJHtCfS9wa2ctY29uZmlnLWVzZGsKKyAgICBpbnN0YWxsIC1tNzU1ICR7Qn0vcGtnLWNvbmZpZy1lc2RrICR7RH0ke2JpbmRpcn0vcGtnLWNvbmZpZy1lc2RrCit9CisKKyMgV2hlbiB1c2luZyB0aGUgUlBNIGdlbmVyYXRlZCBhdXRvbWF0aWMgcGFja2FnZSBkZXBlbmRlbmNpZXMsIHNvbWUgcGFja2FnZXMKKyMgd2lsbCBlbmQgdXAgcmVxdWlyaW5nICdwa2djb25maWcocGtnLWNvbmZpZyknLiAgQWxsb3cgdGhpcyBiZWhhdmlvciBieQorIyBzcGVjaWZ5aW5nIGFuIGFwcHJvcHJpYXRlIHByb3ZpZGUuCitSUFJPVklERVNfJHtQTn0gKz0gInBrZ2NvbmZpZyhwa2ctY29uZmlnKSIKKworIyBJbmNsdWRlIHBrZy5tNCBpbiB0aGUgbWFpbiBwYWNrYWdlLCBsZWF2aW5nIGxpYnBrZ2NvbmYgZGV2IGZpbGVzIGluIC1kZXYKK0ZJTEVTXyR7UE59LWRldl9yZW1vdmUgPSAiJHtkYXRhZGlyfS9hY2xvY2FsIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vYWNsb2NhbCIKKworQkJDTEFTU0VYVEVORCArPSAibmF0aXZlIG5hdGl2ZXNkayIKKworcGtnY29uZl9zc3RhdGVfZml4dXBfZXNkayAoKSB7CisgICBpZiBbICIke0JCX0NVUlJFTlRUQVNLfSIgPSAicG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZSIgLWEgIiR7V0lUSElOX0VYVF9TREt9IiA9ICIxIiBdIDsgdGhlbgorICAgICAgIHBrZ2NvbmZkaXI9IiR7U1NUQVRFX0lOU1RESVJ9L3JlY2lwZS1zeXNyb290LW5hdGl2ZS8ke2JpbmRpcl9uYXRpdmV9IgorICAgICAgIG12ICRwa2djb25mZGlyL3BrZy1jb25maWcgJHBrZ2NvbmZkaXIvcGtnLWNvbmZpZy5yZWFsCisgICAgICAgbG5yICRwa2djb25mZGlyL3BrZy1jb25maWctZXNkayAkcGtnY29uZmRpci9wa2ctY29uZmlnCisgICAgICAgc2VkIC1pIC1lICJzfF5wa2ctY29uZmlnfHBrZy1jb25maWcucmVhbHwiICRwa2djb25mZGlyL3BrZy1jb25maWctbmF0aXZlCisgICBmaQorfQorCitTU1RBVEVQT1NUVU5QQUNLRlVOQ1NfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgcGtnY29uZl9zc3RhdGVfZml4dXBfZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BrZ2NvbmZpZy9wa2djb25maWcvcGtnLWNvbmZpZy1uYXRpdmUuaW4gYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wa2djb25maWcvcGtnY29uZmlnL3BrZy1jb25maWctbmF0aXZlLmluCmluZGV4IDVlNDRiYjQuLmE5MzI0ZGUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BrZ2NvbmZpZy9wa2djb25maWcvcGtnLWNvbmZpZy1uYXRpdmUuaW4KKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGtnY29uZmlnL3BrZ2NvbmZpZy9wa2ctY29uZmlnLW5hdGl2ZS5pbgpAQCAtMSw3ICsxLDcgQEAKICMhIC9iaW4vc2gKIAotUEtHX0NPTkZJR19QQVRIPSJAUEFUSF9OQVRJVkVAIgotUEtHX0NPTkZJR19MSUJESVI9IkBMSUJESVJfTkFUSVZFQCIKK2V4cG9ydCBQS0dfQ09ORklHX1BBVEg9IkBQQVRIX05BVElWRUAiCitleHBvcnQgUEtHX0NPTkZJR19MSUJESVI9IkBMSUJESVJfTkFUSVZFQCIKIHVuc2V0IFBLR19DT05GSUdfU1lTUk9PVF9ESVIKIAogcGtnLWNvbmZpZyAiJEAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wc2V1ZG8vcHNldWRvLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BzZXVkby9wc2V1ZG8uaW5jCmluZGV4IGNkYzJhNTguLjhiMDU3MzUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BzZXVkby9wc2V1ZG8uaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BzZXVkby9wc2V1ZG8uaW5jCkBAIC0xNyw3ICsxNyw3IEBACiAKIE1BS0VPUFRTID0gIiIKIAotaW5oZXJpdCBzaXRlaW5mbworaW5oZXJpdCBzaXRlaW5mbyBwa2djb25maWcKIAogZG9fY29uZmlndXJlICgpIHsKIAk6CkBAIC0zMCwxMCArMzAsMjMgQEAKIAogIyBDb21waWxlIGZvciB0aGUgbG9jYWwgbWFjaGluZSBhcmNoLi4uCiBkb19jb21waWxlICgpIHsKKyAgICAgICAgU1FMSVRFX0xEQUREPSckKFNRTElURSkvJChTUUxJVEVfTElCKS9saWJzcWxpdGUzLmEnCisJZm9yIHNxbGl0ZV9saW5rX29wdCBpbiAkKHBrZy1jb25maWcgc3FsaXRlMyAtLWxpYnMgLS1zdGF0aWMpCisJZG8KKwkgICAgY2FzZSAiJHNxbGl0ZV9saW5rX29wdCIgaW4KKwkgICAgLWxzcWxpdGUzKQorCQk7OworCSAgICAtbCopCisJCVNRTElURV9MREFERD0iJHtTUUxJVEVfTERBRER9ICR7c3FsaXRlX2xpbmtfb3B0fSIKKwkJOzsKKwkgICAgKikKKwkJOzsKKwkgICAgZXNhYworCWRvbmUKIAlpZiBbICIke1NJVEVJTkZPX0JJVFN9IiA9ICI2NCIgXTsgdGhlbgotCSAgJHtTfS9jb25maWd1cmUgJHtQU0VVRE9fRVhUUkFfT1BUU30gLS1wcmVmaXg9JHtwcmVmaXh9IC0tbGliZGlyPSR7cHJlZml4fS9saWIvcHNldWRvL2xpYiR7U0lURUlORk9fQklUU30gLS13aXRoLXNxbGl0ZS1saWI9JHtiYXNlbGlifSAtLXdpdGgtc3FsaXRlPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7ZXhlY19wcmVmaXh9IC0tY2ZsYWdzPSIke0NGTEFHU30iIC0tYml0cz0ke1NJVEVJTkZPX0JJVFN9IC0tZW5hYmxlLXN0YXRpYy1zcWxpdGUgLS13aXRob3V0LXJwYXRoCisJICAke1N9L2NvbmZpZ3VyZSAke1BTRVVET19FWFRSQV9PUFRTfSAtLXByZWZpeD0ke3ByZWZpeH0gLS1saWJkaXI9JHtwcmVmaXh9L2xpYi9wc2V1ZG8vbGliJHtTSVRFSU5GT19CSVRTfSAtLXdpdGgtc3FsaXRlLWxpYj0ke2Jhc2VsaWJ9IC0td2l0aC1zcWxpdGU9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtleGVjX3ByZWZpeH0gLS1jZmxhZ3M9IiR7Q0ZMQUdTfSIgLS1iaXRzPSR7U0lURUlORk9fQklUU30gLS13aXRoLXN0YXRpYy1zcWxpdGU9IiRTUUxJVEVfTERBREQiIC0td2l0aG91dC1ycGF0aAogCWVsc2UKLQkgICR7U30vY29uZmlndXJlICR7UFNFVURPX0VYVFJBX09QVFN9IC0tcHJlZml4PSR7cHJlZml4fSAtLWxpYmRpcj0ke3ByZWZpeH0vbGliL3BzZXVkby9saWIgLS13aXRoLXNxbGl0ZS1saWI9JHtiYXNlbGlifSAtLXdpdGgtc3FsaXRlPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7ZXhlY19wcmVmaXh9IC0tY2ZsYWdzPSIke0NGTEFHU30iIC0tYml0cz0ke1NJVEVJTkZPX0JJVFN9IC0tZW5hYmxlLXN0YXRpYy1zcWxpdGUgLS13aXRob3V0LXJwYXRoCisJICAke1N9L2NvbmZpZ3VyZSAke1BTRVVET19FWFRSQV9PUFRTfSAtLXByZWZpeD0ke3ByZWZpeH0gLS1saWJkaXI9JHtwcmVmaXh9L2xpYi9wc2V1ZG8vbGliIC0td2l0aC1zcWxpdGUtbGliPSR7YmFzZWxpYn0gLS13aXRoLXNxbGl0ZT0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke2V4ZWNfcHJlZml4fSAtLWNmbGFncz0iJHtDRkxBR1N9IiAtLWJpdHM9JHtTSVRFSU5GT19CSVRTfSAtLXdpdGgtc3RhdGljLXNxbGl0ZT0iJFNRTElURV9MREFERCIgLS13aXRob3V0LXJwYXRoCiAJZmkKIAlvZV9ydW5tYWtlICR7TUFLRU9QVFN9CiB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vZmlsZXMvMDAwMS1jb25kaXRpb25hbGx5LWRvLW5vdC1mZXRjaC1jb2RlLWJ5LWVhc3lfaW5zdGFsbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9maWxlcy8wMDAxLWNvbmRpdGlvbmFsbHktZG8tbm90LWZldGNoLWNvZGUtYnktZWFzeV9pbnN0YWxsLnBhdGNoCmluZGV4IDRiMTc5MjEuLjE2OWQxYjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9maWxlcy8wMDAxLWNvbmRpdGlvbmFsbHktZG8tbm90LWZldGNoLWNvZGUtYnktZWFzeV9pbnN0YWxsLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9maWxlcy8wMDAxLWNvbmRpdGlvbmFsbHktZG8tbm90LWZldGNoLWNvZGUtYnktZWFzeV9pbnN0YWxsLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAwMTk0MjJkMTljNjQwMWZhOGY0NWIxMzExZWNkMzFiYjA4N2M4MDlkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA1YmJhNGY1N2YwNDgwMTZhYTkyY2U1OTA5ZTllMzcyZGI2MTk1NTRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVHVlLCAxNyBKdWwgMjAxOCAxMDoxMzozOCArMDgwMAogU3ViamVjdDogW1BBVENIXSBjb25kaXRpb25hbGx5IGRvIG5vdCBmZXRjaCBjb2RlIGJ5IGVhc3lfaW5zdGFsbApAQCAtOSwxNSArOSwxNiBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KIAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCiAtLS0KICBzZXR1cHRvb2xzL2NvbW1hbmQvZWFzeV9pbnN0YWxsLnB5IHwgNSArKysrKwogIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL3NldHVwdG9vbHMvY29tbWFuZC9lYXN5X2luc3RhbGwucHkgYi9zZXR1cHRvb2xzL2NvbW1hbmQvZWFzeV9pbnN0YWxsLnB5Ci1pbmRleCA4NWVlNDBmLi43ZWI5ZDJhIDEwMDc1NQoraW5kZXggMDU1MDhjZS4uOTQ1ZTExOCAxMDA3NTUKIC0tLSBhL3NldHVwdG9vbHMvY29tbWFuZC9lYXN5X2luc3RhbGwucHkKICsrKyBiL3NldHVwdG9vbHMvY29tbWFuZC9lYXN5X2luc3RhbGwucHkKLUBAIC02MzcsNiArNjM3LDExIEBAIGNsYXNzIGVhc3lfaW5zdGFsbChDb21tYW5kKToKK0BAIC02NDAsNiArNjQwLDExIEBAIGNsYXNzIGVhc3lfaW5zdGFsbChDb21tYW5kKToKICAgICAgICAgICAgICBvcy5wYXRoLmV4aXN0cyh0bXBkaXIpIGFuZCBybXRyZWUocm10cmVlX3NhZmUodG1wZGlyKSkKICAKICAgICAgZGVmIGVhc3lfaW5zdGFsbChzZWxmLCBzcGVjLCBkZXBzPUZhbHNlKToKQEAgLTI5LDYgKzMwLDMgQEAKICAgICAgICAgIGlmIG5vdCBzZWxmLmVkaXRhYmxlOgogICAgICAgICAgICAgIHNlbGYuaW5zdGFsbF9zaXRlX3B5KCkKICAKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1hc3luYy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWFzeW5jLmluYwppbmRleCA2NjY0YWIwLi4xMzliZjJjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWFzeW5jLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWFzeW5jLmluYwpAQCAtMTEsNCArMTEsNCBAQAogCiBSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LXRocmVhZGluZyIKIAotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdpdC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdpdC5pbmMKaW5kZXggN2NjZjE2OC4uZjk3M2U5ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1naXQuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ2l0LmluYwpAQCAtMjksNCArMjksNCBAQAogICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1BOfS11bml4YWRtaW4gXAogICAgICAgICAgICAgICAgICAgIGdpdCBcCiAiCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ2l0ZGIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1naXRkYi5pbmMKaW5kZXggNzg5YWI5NS4uNjMzNzUyZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1naXRkYi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1naXRkYi5pbmMKQEAgLTgsOCArOCw4IEBACiAKIFBZUElfUEFDS0FHRSA9ICJnaXRkYjIiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI2ZTIxZjU3OTVhMjA0ZjdhZmVjYjBhNzJmZmY2NjkzMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiYjRjODViOGE1ODUzMWM1MTM3M2M4OWY5MjE2M2I5MmYzMGY4MTM2OTYwNWE2N2NkNTJkMWZjMjEyNDZjMDQ0IgorU1JDX1VSSVttZDVzdW1dID0gIjk0ZTU5ZTVmYjAwOTYwNTQxZjZlMTM3YjE0NTZhYjBhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgzMzYxMTMxYTE4MzY2NjFhMTU1MTcyOTMyYTEzYzA4YmRhMmRiMzY3NGU0Y2FhMzIzNjhhYTZlYjAyZjM4YzIiCiAKIERFUEVORFMgPSAiJHtQWVRIT05fUE59LWFzeW5jICR7UFlUSE9OX1BOfS1zZXR1cHRvb2xzLW5hdGl2ZSAke1BZVEhPTl9QTn0tc21tYXAiCiAKQEAgLTIxLDQgKzIxLDQgQEAKICAgICAgICAgICAgICAgICAgICAke1BZVEhPTl9QTn0tc2hlbGwgXAogICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1BOfS1zbW1hcCBcCiAiCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbmF0aXZlLzAwMDEtcHl0aG9uLW5hdGl2ZS1maXgtb25lLWRvX3BvcHVsYXRlX3N5c3Jvb3Qtd2FybmluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbmF0aXZlLzAwMDEtcHl0aG9uLW5hdGl2ZS1maXgtb25lLWRvX3BvcHVsYXRlX3N5c3Jvb3Qtd2FybmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODk4MTg5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1uYXRpdmUvMDAwMS1weXRob24tbmF0aXZlLWZpeC1vbmUtZG9fcG9wdWxhdGVfc3lzcm9vdC13YXJuaW5nLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gMTIyOTI0NDRlMWIzNjYyYjk5NGJjMjIzZDkyYjgzMzhmYjA4OTVmZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDI1IE9jdCAyMDE4IDA3OjMyOjE0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIHB5dGhvbi1uYXRpdmU6IGZpeCBvbmUgZG9fcG9wdWxhdGVfc3lzcm9vdCB3YXJuaW5nCisKK0ZpeCBiZWxvdyB3YXJuaW5nOgorV0FSTklORzogU2tpcHBpbmcgUlBBVEggL3Vzci9saWI2NCBhcyBpcyBhIHN0YW5kYXJkIHNlYXJjaCBwYXRoIGZvcgord29yay94ODZfNjQtbGludXgvcHl0aG9uLW5hdGl2ZS8yLjcuMTUtcjEuMS9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvCit1c3IvbGliL3B5dGhvbjIuNy9saWItZHlubG9hZC9fYnNkZGIuc28KKworc2V0dXAucHkgd2lsbCBjaGVjayBkYi5oIHVuZGVyIGluY2x1ZGVfZGlycywgZm9yIG5hdGl2ZSBidWlsZCwKKy91c3IvbGliNjQgd2lsbCBiZSBpbnNlcnQgdG8gcG9zdGlvbiAwIG9mIGluY2x1ZGVfZGlycywgc28KK2l0J3MgcHJpb3JpdHkgaXMgaGlnaGVyIHRoZW4gb3VyIHN5c3Jvb3QsIGNhdXNlIGRiLmggc3lzcm9vdAoraXMgaWdub3JlZCwgYW5kIHJwYXRoIHNldCB0byAvdXNyL2xpYjY0LiBhbmQgdGhpcyBjYXVzZSB3YXJuaW5nCit3aGVuIGRvX3BvcHVsYXRlX3N5c3Jvb3QuIHVzZSBhcHBlbmQgdG8gZml4IGl0LgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lLXNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgc2V0dXAucHkgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCA3YmYxM2VkLi42YzBmMjliIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtNDAsNyArNDAsNyBAQCBkZWYgYWRkX2Rpcl90b19saXN0KGRpcmxpc3QsIGRpcik6CisgICAgIDEpICdkaXInIGlzIG5vdCBhbHJlYWR5IGluICdkaXJsaXN0JworICAgICAyKSAnZGlyJyBhY3R1YWxseSBleGlzdHMsIGFuZCBpcyBhIGRpcmVjdG9yeS4iIiIKKyAgICAgaWYgZGlyIGlzIG5vdCBOb25lIGFuZCBvcy5wYXRoLmlzZGlyKGRpcikgYW5kIGRpciBub3QgaW4gZGlybGlzdDoKKy0gICAgICAgIGRpcmxpc3QuaW5zZXJ0KDAsIGRpcikKKysgICAgICAgIGRpcmxpc3QuYXBwZW5kKGRpcikKKworIGRlZiBtYWNvc3hfc2RrX3Jvb3QoKToKKyAgICAgIiIiCistLSAKKzIuMTguMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW5hdGl2ZV8yLjcuMTUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW5hdGl2ZV8yLjcuMTUuYmIKaW5kZXggOWQwZmUzYi4uMjZkNjdkZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1uYXRpdmVfMi43LjE1LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbmF0aXZlXzIuNy4xNS5iYgpAQCAtMTYsNiArMTYsOCBAQAogICAgICAgICAgICAgZmlsZTovL2J1aWxkZGlyLnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly9wYXJhbGxlbC1tYWtlaW5zdC1jcmVhdGUtYmluZGlyLnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly9yZXZlcnRfdXNlX29mX3N5c2NvbmZpZ2RhdGEucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtcHl0aG9uLW5hdGl2ZS1maXgtb25lLWRvX3BvcHVsYXRlX3N5c3Jvb3Qtd2FybmluZy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS0yLjctYnBvLTM0NjIzLVVzZS1YTUxfU2V0SGFzaFNhbHQtaW4tX2VsZW1lbnR0cmVlLUdILnBhdGNoIFwKICAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0vUHl0aG9uLSR7UFZ9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYnIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYnIuaW5jCmluZGV4IDVhMjk1YzUuLjBlNjQ1MDEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGJyLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBici5pbmMKQEAgLTUsOSArNSw2IEBACiBMSUNFTlNFID0gIkFwYWNoZS0yLjAiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xZGVjZTc4MjFiZjNmZDcwZmUxMzA5ZWFhMzdkNTJhMiIKIAotU1JDX1VSSVttZDVzdW1dID0gIjY2MTk3ODA4OTZjYTgxYzdjZDE5YzZlMmY0MzliNmM5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFiOGJlNTBkOTM4YzliYjc1ZDBlYWY3ZWRhMTExZWVjMWJmNmRjODhhNjJhNjQxMmUzM2JmMDc3NDU3ZTBmNDUiCi0KIGluaGVyaXQgcHlwaQogCiBSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LXBpcCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2V0dXB0b29scy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNldHVwdG9vbHMuaW5jCmluZGV4IDMxNWJhMzEuLjkwOTJkN2EgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2V0dXB0b29scy5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zZXR1cHRvb2xzLmluYwpAQCAtMTAsOCArMTAsOCBAQAogCiBTUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGU6Ly8wMDAxLWNvbmRpdGlvbmFsbHktZG8tbm90LWZldGNoLWNvZGUtYnktZWFzeV9pbnN0YWxsLnBhdGNoIgogCi1TUkNfVVJJW21kNXN1bV0gPSAiMjYwNjMwYWUxYTY0YmFmYTM5ZGNjNTM0MDRkNjM4MjkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDEyYWRiOGUyNWZiZmQ2NGM2NTJlOTllN2JhYjU4Nzk5YTNhYWYwNWQzOWFiMzg1NjFmNjkxOTBhOTA5MDE1ZiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MTI2OTdhNWJjOTc1Y2Y0NzlkNDg3Y2Q2ODIwNmMyMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZTRlZWM5MDMzN2U4NDlhZGU3MTAzNzIzYjlhOTk2MzFjMWYwZDE5OTkwZDZlODQxMmRjNDJmNWFlOGIzMDRkIgogCiBERVBFTkRTICs9ICIke1BZVEhPTl9QTn0iCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2V0dXB0b29sc180MC4wLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNldHVwdG9vbHNfNDAuOC4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNldHVwdG9vbHNfNDAuMC4wLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNldHVwdG9vbHNfNDAuOC4wLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNpeC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNpeC5pbmMKaW5kZXggYzc3NDk4NC4uYzcwNmRjYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zaXguaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2l4LmluYwpAQCAtMiwxMCArMiwxMCBAQAogSE9NRVBBR0UgPSAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9zaXgvIgogU0VDVElPTiA9ICJkZXZlbC9weXRob24iCiBMSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTM1Y2VjNWJmMDRkZDA4MjBkMGExODUzM2VhN2M3NzRhIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ODNlMGY2MjJiZDVhYzdkNTc1ZGJkODNkMDk0ZDY5YjUiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICJkMTI3ODlmOWJhZjdlOWZiMjUyNGMwYzY0ZjE3NzNmOCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3MGU4YTc3YmVlZDQ1NjJlN2YxNGZlMjNhNzg2YjU0ZjYyOTZlMzQzNDRjMjNiYzQyZjA3YjE1MDE4ZmY5OGU5IgorU1JDX1VSSVttZDVzdW1dID0gIjlhZTVkMWZlZWQ4YzAyMTVmNGFlNGFkY2Q5MjA3ZmNiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQxNmEwMTQxZWMxYTE4NDA1Y2Q0Y2U4YjQ2MTMxMDFkYTc1ZGEwZTlhN2FlYzViZGQ0ZmE4MDRkMGUwZWJhNzMiCiAKIGluaGVyaXQgcHlwaQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNtbWFwLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc21tYXAuaW5jCmluZGV4IDU1YWE1MTYuLjFhMjI1OWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc21tYXAuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc21tYXAuaW5jCkBAIC05LDEwICs5LDEyIEBACiAKIGluaGVyaXQgcHlwaQogCi1TUkNfVVJJW21kNXN1bV0gPSAiZDc5MzJkNWFjZTIwNmJmNGFlMTUxOThjZjM2ZmI2YWIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGUyYjYyYjQ5N2JkNWYwYWZlYmMwMDJlZGE0ZDkwZGY5ZDIwOWMzMGVmMjU3ZTg2NzNjOTBhNmI1YzExOWQ2MiIKK1BZUElfUEFDS0FHRSA9ICJzbW1hcDIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxYzU5YTk4NWJlNWFhNjQ1YzRjNWE0ZTA2M2E0MGRkNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyOWE5ZmZhMDQ5N2U3ZjJiZTk0Y2EwZWQxY2ExYWEzY2Q0Y2YyNWExZjZiNGY1Zjg3Zjc0YjQ2ZWQ5MWQ2MDlhIgogCiBSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LWNvZGVjcyBcCiAgICAgICAgICAgICAgICAgICAgJHtQWVRIT05fUE59LW1tYXAgXAogIgotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLzAwMDEtcHl0aG9uMi11c2UtY2NfYmFzZW5hbWUtdG8tcmVwbGFjZS1DQy1mb3ItY2hlY2tpbmctYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24vMDAwMS1weXRob24yLXVzZS1jY19iYXNlbmFtZS10by1yZXBsYWNlLUNDLWZvci1jaGVja2luZy1jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlNGY4MjAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLzAwMDEtcHl0aG9uMi11c2UtY2NfYmFzZW5hbWUtdG8tcmVwbGFjZS1DQy1mb3ItY2hlY2tpbmctYy5wYXRjaApAQCAtMCwwICsxLDExNCBAQAorRnJvbSAzZjQ5YmU4MWUzMWMxNjQ2NTRhZWIxMGI2NWViYWRlOTgyY2EyZWQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjIgT2N0IDIwMTggMTU6MjQ6NDggKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gcHl0aG9uMjogdXNlIGNjX2Jhc2VuYW1lIHRvIHJlcGxhY2UgQ0MgZm9yIGNoZWNraW5nIGNvbXBpbGVyCisKK1doZW4gd29ya2luZyBwYXRoIGNvbnRhaW5zICJjbGFuZyIvImdjYyIvImljYyIsIGl0IG1pZ2h0IGJlIHBhcnQgb2YgJENDCitiZWNhdXNlIG9mIHRoZSAiLS1zeXNyb290IiBwYXJhbWV0ZXIuIFRoYXQgY291bGQgY2F1c2UganVkZ2VtZW50IGVycm9yCithYm91dCBjbGFuZy9nY2MvaWNjIGNvbXBpbGVycy4gZS5nLgorV2hlbiAiaWNjIiBpcyBjb250YWluZGVkIGluIHdvcmtpbmcgcGF0aCwgYmVsb3cgZXJyb3JzIGFyZSByZXBvcnRlZCB3aGVuCitjb21waWxpbmcgcHl0aG9uOgoreDg2XzY0LXdycy1saW51eC1nY2M6IGVycm9yOiBzdHJpY3Q6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK3g4Nl82NC13cnMtbGludXgtZ2NjOiBlcnJvcjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJy1mcC1tb2RlbCcKKworSGVyZSB1c2UgY2NfYmFzZW5hbWUgdG8gcmVwbGFjZSBDQyBmb3IgY2hlY2tpbmcgY29tcGlsZXIgdG8gYXZvaWQgc3VjaAora2luZCBvZiBpc3N1ZS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFpob3UgPGxpLnpob3VAd2luZHJpdmVyLmNvbT4KKworUGF0Y2ggb3JpZ25hbGx5IGZyb20gTGkgWmhvdSwgSSBqdXN0IHJld29yayBpdCB0byBuZXcgdmVyc2lvbgorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMTggKysrKysrKysrLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggZGIxYzk0MC4uZGZjZDg5YSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNjg0LDcgKzY4NCw3IEBAIEFDX01TR19SRVNVTFQoJHdpdGhfY3h4X21haW4pCisgcHJlc2V0X2N4eD0iJENYWCIKKyBpZiB0ZXN0IC16ICIkQ1hYIgorIHRoZW4KKy0gICAgICAgIGNhc2UgIiRDQyIgaW4KKysgICAgICAgIGNhc2UgIiRjY19iYXNlbmFtZSIgaW4KKyAgICAgICAgIGdjYykgICAgQUNfUEFUSF9UT09MKENYWCwgW2crK10sIFtnKytdLCBbbm90Zm91bmRdKSA7OworICAgICAgICAgY2MpICAgICBBQ19QQVRIX1RPT0woQ1hYLCBbYysrXSwgW2MrK10sIFtub3Rmb3VuZF0pIDs7CisgICAgICAgICBlc2FjCitAQCAtNzU3LDE0ICs3NTcsMTQgQEAgcm1kaXIgQ2FzZVNlbnNpdGl2ZVRlc3REaXIKKyAKKyBjYXNlICRNQUNIREVQIGluCisgYnNkb3MqKQorLSAgICBjYXNlICRDQyBpbgorKyAgICBjYXNlICRjY19iYXNlbmFtZSBpbgorICAgICBnY2MpIENDPSIkQ0MgLURfSEFWRV9CU0RJIjs7CisgICAgIGVzYWM7OworIGVzYWMKKyAKKyBjYXNlICRhY19zeXNfc3lzdGVtIGluCisgaHAqfEhQKikKKy0gICAgY2FzZSAkQ0MgaW4KKysgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAgICAgY2N8Ki9jYykgQ0M9IiRDQyAtQWUiOzsKKyAgICAgZXNhYzs7CisgU3VuT1MqKQorQEAgLTEwODQsNyArMTA4NCw3IEBAIHRoZW4KKyAgICAgICAgIGZpCisgCisgICAgICAgICAjIENsYW5nIGFsc28gbmVlZHMgLWZ3cmFwdgorLSAgICAgICAgY2FzZSAkQ0MgaW4KKysgICAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCisgICAgICAgICAgICAgKmNsYW5nKikgV1JBUD0iLWZ3cmFwdiIKKyAgICAgICAgICAgICA7OworICAgICAgICAgZXNhYworQEAgLTEzMDQsNyArMTMwNCw3IEBAIHllcykKKyBlc2FjCisgCisgIyBJQ0MgbmVlZHMgLWZwLW1vZGVsIHN0cmljdCBvciBmbG9hdHMgYmVoYXZlIGJhZGx5CistY2FzZSAiJENDIiBpbgorK2Nhc2UgIiRjY19iYXNlbmFtZSIgaW4KKyAqaWNjKikKKyAgICAgQkFTRUNGTEFHUz0iJEJBU0VDRkxBR1MgLWZwLW1vZGVsIHN0cmljdCIKKyAgICAgOzsKK0BAIC0xNDQzLDcgKzE0NDMsNyBAQCBlbHNlCisgZmldLAorIFtBQ19NU0dfUkVTVUxUKG5vKV0pCisgaWYgdGVzdCAiJFB5X0xUTyIgPSAndHJ1ZScgOyB0aGVuCistICBjYXNlICRDQyBpbgorKyAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAgICAgKmNsYW5nKikKKyAgICAgICAjIEFueSBjaGFuZ2VzIG1hZGUgaGVyZSBzaG91bGQgYmUgcmVmbGVjdGVkIGluIHRoZSBHQ0MrRGFyd2luIGNhc2UgYmVsb3cKKyAgICAgICBMVE9GTEFHUz0iLWZsdG8iCitAQCAtMTUwOCw3ICsxNTA4LDcgQEAgdGhlbgorICAgZmkKKyBmaQorIExMVk1fUFJPRl9FUlI9bm8KKy1jYXNlICRDQyBpbgorK2Nhc2UgJGNjX2Jhc2VuYW1lIGluCisgICAqY2xhbmcqKQorICAgICAjIEFueSBjaGFuZ2VzIG1hZGUgaGVyZSBzaG91bGQgYmUgcmVmbGVjdGVkIGluIHRoZSBHQ0MrRGFyd2luIGNhc2UgYmVsb3cKKyAgICAgUEdPX1BST0ZfR0VOX0ZMQUc9Ii1mcHJvZmlsZS1pbnN0ci1nZW5lcmF0ZSIKK0BAIC0yMzIyLDcgKzIzMjIsNyBAQCB0aGVuCisgCQl0aGVuIENDU0hBUkVEPSItZlBJQyIKKyAJCWVsc2UgQ0NTSEFSRUQ9Ii1LcGljIC1iZWxmIgorIAkJZmk7OworLQlJUklYKi82KikgIGNhc2UgJENDIGluCisrCUlSSVgqLzYqKSAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAJCSAgICpnY2MqKSBDQ1NIQVJFRD0iLXNoYXJlZCI7OworIAkJICAgKikgQ0NTSEFSRUQ9IiI7OworIAkJICAgZXNhYzs7CitAQCAtMjM2Niw3ICsyMzY2LDcgQEAgdGhlbgorIAkJdGhlbgorIAkJCUxJTktGT1JTSEFSRUQ9Ii1XbCwtLWV4cG9ydC1keW5hbWljIgorIAkJZmk7OworLQlTdW5PUy81KikgY2FzZSAkQ0MgaW4KKysJU3VuT1MvNSopIGNhc2UgJGNjX2Jhc2VuYW1lIGluCisgCQkgICpnY2MqKQorIAkJICAgIGlmICRDQyAtWGxpbmtlciAtLWhlbHAgMj4mMSB8IGdyZXAgZXhwb3J0LWR5bmFtaWMgPi9kZXYvbnVsbAorIAkJICAgIHRoZW4KKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9jcmVhdGVfbWFuaWZlc3QyLnB5IGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9jcmVhdGVfbWFuaWZlc3QyLnB5CmluZGV4IGI2NzQ4NjUuLjM0NjU5NTEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24vY3JlYXRlX21hbmlmZXN0Mi5weQorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uL2NyZWF0ZV9tYW5pZmVzdDIucHkKQEAgLTIwOSw3ICsyMDksMTMgQEAKIAogICAgICAgICAgICAgaW5Gb2xkZXJzPUZhbHNlCiAgICAgICAgICAgICBmb3IgZm9sZGVyIGluIGFsbGZvbGRlcnM6Ci0gICAgICAgICAgICAgICAgaWYgZm9sZGVyIGluIGl0ZW06CisgICAgICAgICAgICAgICAgIyBUaGUgbW9kdWxlIGNvdWxkIGhhdmUgYSBkaXJlY3RvcnkgbmFtZWQgYWZ0ZXIgaXQsIGUuZy4geG1sLCBpZiB3ZSB0YWtlIG91dCB0aGUgZmlsZW5hbWUgZnJvbSB0aGUgcGF0aAorICAgICAgICAgICAgICAgICMgd2UnbGwgZW5kIHVwIHdpdGggJHtsaWJkaXJ9LCBhbmQgd2Ugd2FudCAke2xpYmRpcn0veG1sCisgICAgICAgICAgICAgICAgaWYgaXNGb2xkZXIoaXRlbSk6CisgICAgICAgICAgICAgICAgICAgIGNoZWNrX3BhdGggPSBpdGVtCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgY2hlY2tfcGF0aCA9IG9zLnBhdGguZGlybmFtZShpdGVtKQorICAgICAgICAgICAgICAgIGlmIGZvbGRlciBpbiBjaGVja19wYXRoIDoKICAgICAgICAgICAgICAgICAgICAgaW5Gb2xkZXJzID0gVHJ1ZSAjIERpZCB3ZSBmaW5kIGEgZm9sZGVyPwogICAgICAgICAgICAgICAgICAgICBmb2xkZXJGb3VuZCA9IEZhbHNlICMgU2Vjb25kIGZsYWcgdG8gYnJlYWsgaW5uZXIgZm9yCiAgICAgICAgICAgICAgICAgICAgICMgTG9vcCBvbmx5IHRocm91Z2ggcGFja2FnZXMgd2hpY2ggY29udGFpbiBmb2xkZXJzCkBAIC0yNjIsMTYgKzI2OCwxNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X21hbmlmZXN0W2tleV1bJ3JkZXBlbmRzJ10uYXBwZW5kKG5ld2tleSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgIyBEZWJ1ZwotICAgICAgICAgICAgICAgICAgICAgIHByaW50KCdBZGRpbmcgJXMgdG8gJXMgRklMRVMnICUgKGl0ZW0sIGtleSkpCi0gICAgICAgICAgICAgICAgICAgICAgIyBTaW5jZSBpdCB3YXNudCBmb3VuZCBvbiBhbm90aGVyIHBhY2thZ2UsIGl0cyBub3QgYW4gUkRFUCwgc28gYWRkIGl0IHRvIEZJTEVTIGZvciB0aGlzIHBhY2thZ2UKLSAgICAgICAgICAgICAgICAgICAgICBuZXdfbWFuaWZlc3Rba2V5XVsnZmlsZXMnXS5hcHBlbmQoaXRlbSkKLSAgICAgICAgICAgICAgICAgICAgICBpZiBpdGVtLmVuZHN3aXRoKCcqJyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGRjYXJkcy5hcHBlbmQoaXRlbSkKLSAgICAgICAgICAgICAgICAgICAgICBpZiBpdGVtIG5vdCBpbiBhbGxmaWxlczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsZmlsZXMuYXBwZW5kKGl0ZW0pCi0gICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwZWF0ZWQuYXBwZW5kKGl0ZW0pCisgICAgICAgICAgICAgICAgICAgICAgICAjIERlYnVnCisgICAgICAgICAgICAgICAgICAgICAgICBwcmludCgnQWRkaW5nICVzIHRvICVzIEZJTEVTJyAlIChpdGVtLCBrZXkpKQorICAgICAgICAgICAgICAgICAgICAgICAgIyBTaW5jZSBpdCB3YXNudCBmb3VuZCBvbiBhbm90aGVyIHBhY2thZ2UsIGl0cyBub3QgYW4gUkRFUCwgc28gYWRkIGl0IHRvIEZJTEVTIGZvciB0aGlzIHBhY2thZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgIG5ld19tYW5pZmVzdFtrZXldWydmaWxlcyddLmFwcGVuZChpdGVtKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgaXRlbS5lbmRzd2l0aCgnKicpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGRjYXJkcy5hcHBlbmQoaXRlbSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGl0ZW0gbm90IGluIGFsbGZpbGVzOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbGZpbGVzLmFwcGVuZChpdGVtKQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBlYXRlZC5hcHBlbmQoaXRlbSkKIAogcHJpbnQgKCdUaGUgZm9sbG93aW5nIGZpbGVzIGFyZSByZXBlYXRlZCAoY29udGFpbmVkIGluIG1vcmUgdGhhbiBvbmUgcGFja2FnZSksIHBsZWFzZSBjaGVjayB3aGljaCBwYWNrYWdlIHNob3VsZCBnZXQgaXQ6JykKIHByaW50IChyZXBlYXRlZCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24vcHl0aG9uMi1tYW5pZmVzdC5qc29uIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9weXRob24yLW1hbmlmZXN0Lmpzb24KaW5kZXggYzA5MmU2OS4uZWI1MmU4NiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9weXRob24yLW1hbmlmZXN0Lmpzb24KKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9weXRob24yLW1hbmlmZXN0Lmpzb24KQEAgLTEwOSw3ICsxMDksNyBAQAogICAgICAgICAgICAgImNvcmUiCiAgICAgICAgIF0sIAogICAgICAgICAiZmlsZXMiOiBbCi0gICAgICAgICAgICAiJHtiaW5kaXJ9LzJ0bzMiLCAKKyAgICAgICAgICAgICIke2JpbmRpcn0vMnRvMyoiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24yLjcvbGliMnRvMyIKICAgICAgICAgXQogICAgIH0sIApAQCAtMTA1Niw2ICsxMDU2LDcgQEAKICAgICAgICAgICAgICJjb3JlIgogICAgICAgICBdLCAKICAgICAgICAgImZpbGVzIjogWworICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL190a2ludGVyLnNvIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uMi43L2xpYi10ayIKICAgICAgICAgXQogICAgIH0sIApAQCAtMTEyMSw3ICsxMTIyLDggQEAKICAgICAgICAgXSwgCiAgICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uMi43L0RvY1hNTFJQQ1NlcnZlci5weSIsIAotICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24yLjcvU2ltcGxlWE1MUlBDU2VydmVyLnB5IgorICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24yLjcvU2ltcGxlWE1MUlBDU2VydmVyLnB5IiwgCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbjIuNy94bWxycGNsaWIucHkiCiAgICAgICAgIF0KICAgICB9LCAKICAgICAiemxpYiI6IHsKQEAgLTExMzMsNCArMTEzNSw0IEBACiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbjIuNy9saWItZHlubG9hZC96bGliLnNvIgogICAgICAgICBdCiAgICAgfQotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24vcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9ydW4tcHRlc3QKaW5kZXggODMyNTUxYS4uMTNkZmM5OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9ydW4tcHRlc3QKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9ydW4tcHRlc3QKQEAgLTEsMyArMSwzIEBACiAjIS9iaW4vc2gKIAotcHl0aG9uIC1tIHRlc3QucmVncnRlc3QgLXYgfCBzZWQgLWUgJy9cLlwuXC4gb2svIHMvXi9QQVNTOiAvZycgLWUgJy9cLlwuXC4gW0VSUk9SfEZBSUxdLyBzL14vRkFJTDogL2cnIC1lICcvXC5cLlwuIHNraXBwZWQvIHMvXi9TS0lQOiAvZycgLWUgJ3MvIFwuXC5cLiBvay8vZycgLWUgJ3MvIFwuXC5cLiBFUlJPUi8vZycgLWUgJ3MvIFwuXC5cLiBGQUlMLy9nJyAtZSAncy8gXC5cLlwuIHNraXBwZWQvL2cnCitweXRob24gLW10ZXN0IC1XIHwgc2VkIC1lICcvXC5cLlwuIG9rLyBzL14vUEFTUzogL2cnIC1lICcvXC5cLlwuIFtFUlJPUnxGQUlMXS8gcy9eL0ZBSUw6IC9nJyAtZSAnL1wuXC5cLiBza2lwcGVkLyBzL14vU0tJUDogL2cnIC1lICdzLyBcLlwuXC4gb2svL2cnIC1lICdzLyBcLlwuXC4gRVJST1IvL2cnIC1lICdzLyBcLlwuXC4gRkFJTC8vZycgLWUgJ3MvIFwuXC5cLiBza2lwcGVkLy9nJwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2l0ZGJfMi4wLjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1naXRkYl8yLjAuNS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2l0ZGJfMi4wLjQuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdpdGRiXzIuMC41LmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1uYXRpdmVfMy41LjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1uYXRpdmVfMy41LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3YmM0ZjMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbmF0aXZlXzMuNS42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLmluYwotCi1ESVNUUk9fU1JDX1VSSSA/PSAiZmlsZTovL3NpdGVjdXN0b21pemUucHkiCi1ESVNUUk9fU1JDX1VSSV9saW51eHN0ZGJhc2UgPSAiIgotU1JDX1VSSSA9ICJodHRwOi8vd3d3LnB5dGhvbi5vcmcvZnRwL3B5dGhvbi8ke1BWfS9QeXRob24tJHtQVn0udGFyLnh6IFwKLWZpbGU6Ly8xMi1kaXN0dXRpbHMtcHJlZml4LWlzLWluc2lkZS1zdGFnaW5nLWFyZWEucGF0Y2ggXAotZmlsZTovL3B5dGhvbi1jb25maWcucGF0Y2ggXAotZmlsZTovLzAzMC1maXh1cC1pbmNsdWRlLWRpcnMucGF0Y2ggXAotZmlsZTovLzA4MC1kaXN0dXRpbHMtZG9udF9hZGp1c3RfZmlsZXMucGF0Y2ggXAotZmlsZTovLzEzMC1yZWFkbGluZS1zZXR1cC5wYXRjaCBcCi1maWxlOi8vMTUwLWZpeC1zZXR1cHRlcm0ucGF0Y2ggXAotZmlsZTovL3B5dGhvbi0zLjMtbXVsdGlsaWIucGF0Y2ggXAotZmlsZTovLzAzLWZpeC10a2ludGVyLWRldGVjdGlvbi5wYXRjaCBcCi1maWxlOi8vYXZvaWRfd2FybmluZ19hYm91dF90a2ludGVyLnBhdGNoIFwKLWZpbGU6Ly8wMDAxLWgycHktRml4LWlzc3VlLTEzMDMyLXdoZXJlLWl0LWZhaWxzLXdpdGgtVW5pY29kZURlY28ucGF0Y2ggXAotZmlsZTovL3N5c3Jvb3QtaW5jbHVkZS1oZWFkZXJzLnBhdGNoIFwKLWZpbGU6Ly91bml4Y2NvbXBpbGVyLnBhdGNoIFwKLSR7RElTVFJPX1NSQ19VUkl9IFwKLWZpbGU6Ly9zeXNjb25maWcucHktYWRkLV9QWVRIT05fUFJPSkVDVF9TUkMucGF0Y2ggXAotZmlsZTovL3NldHVwLnB5LWNoZWNrLWNyb3NzX2NvbXBpbGluZy13aGVuLWdldC1GTEFHUy5wYXRjaCBcCi1maWxlOi8vMDAwMS1Eby1ub3QtdXNlLXRoZS1zaGVsbC12ZXJzaW9uLW9mLXB5dGhvbi1jb25maWctdGhhdC13LnBhdGNoIFwKLWZpbGU6Ly9zdXBwb3J0X1NPVVJDRV9EQVRFX0VQT0NIX2luX3B5X2NvbXBpbGUucGF0Y2ggXAotZmlsZTovL3JlZ2VuLWFsbC5wYXRjaCBcCi1maWxlOi8vMDAwMS1Jc3N1ZS0yODA0My1TU0xDb250ZXh0LWhhcy1pbXByb3ZlZC1kZWZhdWx0LXNldHRpbmdzLnBhdGNoIFwKLWZpbGU6Ly8wMDAyLWJwby0yOTEzNi1BZGQtVExTLTEuMy1jaXBoZXItc3VpdGVzLWFuZC1PUF9OT19UTFN2MV8ucGF0Y2ggXAotZmlsZTovLzAwMDMtYnBvLTMyOTQ3LUZpeGVzLWZvci1UTFMtMS4zLWFuZC1PcGVuU1NMLTEuMS4xLUdILTg3Ni5wYXRjaCBcCi1maWxlOi8vMDAwNC1icG8tMzM1NzAtVExTLTEuMy1jaXBoZXJzLWZvci1PcGVuU1NMLTEuMS4xLUdILTY5NzYucGF0Y2ggXAotZmlsZTovLzAwMDUtYnBvLTMwNzE0LUFMUE4tY2hhbmdlcy1mb3ItT3BlblNTTC0xLjEuMGYtMjMwNS5wYXRjaCBcCi0iCi0KLUVYVFJBTkFUSVZFUEFUSCArPSAiYnppcDItbmF0aXZlIgotREVQRU5EUyA9ICJvcGVuc3NsLW5hdGl2ZSBiemlwMi1yZXBsYWNlbWVudC1uYXRpdmUgemxpYi1uYXRpdmUgcmVhZGxpbmUtbmF0aXZlIHNxbGl0ZTMtbmF0aXZlIGdkYm0tbmF0aXZlIgotCi1pbmhlcml0IG5hdGl2ZQotCi1FWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLWJpbmRpcj0ke2JpbmRpcn0vJHtQTn0gLS13aXRob3V0LWVuc3VyZXBpcCIKLQotRVhUUkFfT0VNQUtFID0gJ1wKLSAgTElCQz0iIiBcCi0gIFNUQUdJTkdfTElCRElSPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSBcCi0gIFNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJfTkFUSVZFfSBcCi0gIExJQj0ke2Jhc2VsaWJ9IFwKLSAgQVJDSD0ke1RBUkdFVF9BUkNIfSBcCi0nCi0KLWRvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7Ci0JYXV0b3JlY29uZiAtLXZlcmJvc2UgLS1pbnN0YWxsIC0tZm9yY2UgLS1leGNsdWRlPWF1dG9wb2ludCAuLi9QeXRob24tJHtQVn0vTW9kdWxlcy9fY3R5cGVzL2xpYmZmaQotCXNlZCAtaSAtZSAncywjZGVmaW5lIEhBVkVfR0VUUkFORE9NIDEsL1wqICN1bmRlZiBIQVZFX0dFVFJBTkRPTSBcKi8sJyAke0J9L3B5Y29uZmlnLmgKLX0KLQotIyBSZWdlbmVyYXRlIGFsbCBvZiB0aGUgZ2VuZXJhdGVkIGZpbGVzCi0jIFRoaXMgZW5zdXJlcyB0aGF0IHBnZW4gYW5kIGZyaWVuZHMgZ2V0IGNyZWF0ZWQgZHVyaW5nIHRoZSBjb21waWxlIHBoYXNlCi0jCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0gICAgIyBBc3N1bWluZyBodHRwczovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTMzMDgwIGhhcyBiZWVuIGFkZHJlc3NlZCBpbiBNYWtlZmlsZS4KLSAgICBvZV9ydW5tYWtlIHJlZ2VuLWFsbAotfQotCi1kb19pbnN0YWxsKCkgewotCWluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wa2djb25maWcKLQlvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKLQlpZiBbIC1lICR7V09SS0RJUn0vc2l0ZWN1c3RvbWl6ZS5weSBdOyB0aGVuCi0JCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NpdGVjdXN0b21pemUucHkgJHtEfS8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfQotCWZpCi0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9LyR7UE59Ci0JaW5zdGFsbCAtbSAwNzU1IFBhcnNlci9wZ2VuICR7RH0ke2JpbmRpcn0vJHtQTn0KLQotCSMgTWFrZSBzdXJlIHdlIHVzZSAvdXNyL2Jpbi9lbnYgcHl0aG9uCi0JZm9yIFBZVEhTQ1JJUFQgaW4gYGdyZXAgLXJJbCAke2JpbmRpcn0vJHtQTn0vcHl0aG9uICR7RH0ke2JpbmRpcn0vJHtQTn1gOyBkbwotCQlzZWQgLWkgLWUgJzFzfF4jIS4qfCMhL3Vzci9iaW4vZW52IHB5dGhvbjN8JyAkUFlUSFNDUklQVAotCWRvbmUKLQotICAgICAgICAjIEFkZCBhIHN5bWxpbmsgdG8gdGhlIG5hdGl2ZSBQeXRob24gc28gdGhhdCBzY3JpcHRzIGNhbiBqdXN0IGludm9rZQotICAgICAgICAjICJuYXRpdmVweXRob24iIGFuZCBnZXQgdGhlIHJpZ2h0IG9uZSB3aXRob3V0IG5lZWRpbmcgYWJzb2x1dGUgcGF0aHMKLSAgICAgICAgIyAodGhlc2Ugb2Z0ZW4gZW5kIHVwIHRvbyBsb25nIGZvciB0aGUgIyEgcGFyc2VyIGluIHRoZSBrZXJuZWwgYXMgdGhlCi0gICAgICAgICMgYnVmZmVyIGlzIDEyOCBieXRlcyBsb25nKS4KLSAgICAgICAgbG4gLXMgcHl0aG9uMy1uYXRpdmUvcHl0aG9uMyAke0R9JHtiaW5kaXJ9L25hdGl2ZXB5dGhvbjMKLX0KLQotcHl0aG9uKCl7Ci0KLSAgICAjIFJlYWQgSlNPTiBtYW5pZmVzdAotICAgIGltcG9ydCBqc29uCi0gICAgcHl0aG9uZGlyID0gZC5nZXRWYXIoJ1RISVNESVInKQotICAgIHdpdGggb3BlbihweXRob25kaXIrJy9weXRob24zL3B5dGhvbjMtbWFuaWZlc3QuanNvbicpIGFzIG1hbmlmZXN0X2ZpbGU6Ci0gICAgICAgIHB5dGhvbl9tYW5pZmVzdD1qc29uLmxvYWQobWFuaWZlc3RfZmlsZSkKLQotICAgIHJwcm92aWRlcyA9IGQuZ2V0VmFyKCdSUFJPVklERVMnKS5zcGxpdCgpCi0KLSAgICAjIEhhcmRjb2RlZCBzaW5jZSBpdCBjYW50IGJlIHB5dGhvbjMtbmF0aXZlLWZvbywgc2hvdWxkIGJlIHB5dGhvbjMtZm9vLW5hdGl2ZQotICAgIHBuID0gJ3B5dGhvbjMnCi0KLSAgICBmb3Iga2V5IGluIHB5dGhvbl9tYW5pZmVzdDoKLSAgICAgICAgcHlwYWNrYWdlID0gcG4gKyAnLScgKyBrZXkgKyAnLW5hdGl2ZScKLSAgICAgICAgaWYgcHlwYWNrYWdlIG5vdCBpbiBycHJvdmlkZXM6Ci0gICAgICAgICAgICAgIHJwcm92aWRlcy5hcHBlbmQocHlwYWNrYWdlKQotCi0gICAgZC5zZXRWYXIoJ1JQUk9WSURFUycsICcgJy5qb2luKHJwcm92aWRlcykpCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYnJfNC4yLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYnJfNC4yLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3ZTczNjEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGJyXzQuMi4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1pbmhlcml0IHNldHVwdG9vbHMzCi1yZXF1aXJlIHB5dGhvbi1wYnIuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYnJfNS4xLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYnJfNS4xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2JhMWQwMwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBicl81LjEuMi5iYgpAQCAtMCwwICsxLDUgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXBici5pbmMKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZWE1NTY3ODM0NWJkNzdiNGZmNWIyZWJiNzI5ZmQ2ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkNzE3NTczMzUxY2ZlMDlmNDlkZjYxOTA2Y2QyNzJhYmFhNzU5YjNlOTE3NDQzOTZiODA0OTY1ZmY3YmZmMzhiIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waXBfMTguMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBpcF8xOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZmNkYjgwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBpcF8xOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotU1VNTUFSWSA9ICJUaGUgUHlQQSByZWNvbW1lbmRlZCB0b29sIGZvciBpbnN0YWxsaW5nIFB5dGhvbiBwYWNrYWdlcyIKLUhPTUVQQUdFID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvcGlwIgotU0VDVElPTiA9ICJkZXZlbC9weXRob24iCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT01OTNjNmNkOWQ2MzkzMDcyMjY5NzhjYmNhZTYxYWQ0YiIKLQotREVQRU5EUyArPSAicHl0aG9uMyBweXRob24zLXNldHVwdG9vbHMtbmF0aXZlIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNTJmNzVjZWIyMWU5NmMyNThmMjg5ODU5YTI5OTZiNjAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTBlMTE2NDVlZTM3YzkwYjQwYzQ2ZDYwNzA3MGM0ZmQ1ODNlMmNkNDYyMzFiMWMwNmUzODljNWU4MTRlZWQ3NiIKLQotaW5oZXJpdCBweXBpIGRpc3R1dGlsczMKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgIyBJbnN0YWxsIGFzIHBpcDMgYW5kIGxlYXZlIHBpcDIgYXMgZGVmYXVsdAotICAgIHJtICR7RH0vJHtiaW5kaXJ9L3BpcAotfQotCi1SREVQRU5EU18ke1BOfSA9ICJcCi0gIHB5dGhvbjMtY29tcGlsZSBcCi0gIHB5dGhvbjMtaW8gXAotICBweXRob24zLWh0bWwgXAotICBweXRob24zLWpzb24gXAotICBweXRob24zLW5ldHNlcnZlciBcCi0gIHB5dGhvbjMtc2V0dXB0b29scyBcCi0gIHB5dGhvbjMtdW5peGFkbWluIFwKLSAgcHl0aG9uMy14bWxycGMgXAotIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waXBfMTkuMC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGlwXzE5LjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODFhNjBjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGlwXzE5LjAuMi5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIlRoZSBQeVBBIHJlY29tbWVuZGVkIHRvb2wgZm9yIGluc3RhbGxpbmcgUHl0aG9uIHBhY2thZ2VzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9waXAiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PThiYTA2ZDUyOWM5NTUwNDhlNWRkZDdjNDU0NTllYjJlIgorCitERVBFTkRTICs9ICJweXRob24zIHB5dGhvbjMtc2V0dXB0b29scy1uYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MjZmZDllYzFlNmVhOTU2YjM1NzFlYmZiNDJjZjgzYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmODUxMTMzZjhiNTgyODNmYTUwZDhjNzg2NzVlYjg4ZDRmZjRjZGUyOWI2YzQxMjA1Y2Q5MzhiMDYzMzhlMGU1IgorCitpbmhlcml0IHB5cGkgZGlzdHV0aWxzMworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIEluc3RhbGwgYXMgcGlwMyBhbmQgbGVhdmUgcGlwMiBhcyBkZWZhdWx0CisgICAgcm0gJHtEfS8ke2JpbmRpcn0vcGlwCit9CisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgcHl0aG9uMy1jb21waWxlIFwKKyAgcHl0aG9uMy1pbyBcCisgIHB5dGhvbjMtaHRtbCBcCisgIHB5dGhvbjMtanNvbiBcCisgIHB5dGhvbjMtbmV0c2VydmVyIFwKKyAgcHl0aG9uMy1zZXR1cHRvb2xzIFwKKyAgcHl0aG9uMy11bml4YWRtaW4gXAorICBweXRob24zLXhtbHJwYyBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNldHVwdG9vbHNfNDAuMC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc2V0dXB0b29sc180MC44LjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNldHVwdG9vbHNfNDAuMC4wLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1zZXR1cHRvb2xzXzQwLjguMC5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc2l4XzEuMTEuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNpeF8xLjEyLjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNpeF8xLjExLjAuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNpeF8xLjEyLjAuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNtbWFwXzAuOS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc21tYXBfMi4wLjUuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNtbWFwXzAuOS4wLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1zbW1hcF8yLjAuNS5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNTY1YjNmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLmluYworKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLVNVTU1BUlkgPSAiVGhlIFB5dGhvbiBQcm9ncmFtbWluZyBMYW5ndWFnZSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cucHl0aG9uLm9yZyIKLUxJQ0VOU0UgPSAiUFNGdjIiCi1TRUNUSU9OID0gImRldmVsL3B5dGhvbiIKLQotIyBUT0RPIFJlbW92ZSB0aGlzIHdoZW4gd2UgdXBncmFkZQotSU5DX1BSID0gInIxIgotUFIgPSAiJHtJTkNfUFJ9LjAiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWI2ZWM1MTViMjI2MThmNTVmYTA3Mjc2Yjg5N2JhY2VhIgotCi0jIFRPRE8gY29uc29saWRhdGUgcGF0Y2ggc2V0Ci1TUkNfVVJJW21kNXN1bV0gPSAiZjVhOTlmNzY1ZTc2NTMzNmEzZWJiYjJhMjRjYTJiZTMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjU1Y2RlMDRmNTIxZjI3M2M3Y2JhMDg5MTI5MjFjYzU2NDJjZmMxNWNhN2IyMmQ1ODI5ZjBhZmY0MzcxMTU1ZiIKLQotIyBleGNsdWRlIHByZS1yZWxlYXNlcyBmb3IgYm90aCBweXRob24gMi54IGFuZCAzLngKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIltQcF15dGhvbi0oP1A8cHZlcj5cZCsoXC5cZCspKykudGFyIgotCi1DVkVfUFJPRFVDVCA9ICJweXRob24iCi0KLVBZVEhPTl9NQUpNSU4gPSAiMy41IgotUFlUSE9OX0JJTkFCSSA9ICIke1BZVEhPTl9NQUpNSU59bSIKLQotUyA9ICIke1dPUktESVJ9L1B5dGhvbi0ke1BWfSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgYmx1ZXRvb3RoIHBrZ2NvbmZpZwotCi1FWFRSQV9PRUNPTkYgPSAiXAotICAtLXdpdGgtdGhyZWFkcyBcCi0gIC0td2l0aC1weW1hbGxvYyBcCi0gIC0td2l0aG91dC1jeHgtbWFpbiBcCi0gIC0td2l0aC1zaWduYWwtbW9kdWxlIFwKLSAgLS1lbmFibGUtc2hhcmVkIFwKLSAgLS1lbmFibGUtaXB2Nj0ke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAneWVzJywgJ25vJywgZCl9IFwKLSIKLQotUEFDS0FHRUNPTkZJR1tibHVldG9vdGhdID0gIixhY19jdl9oZWFkZXJfYmx1ZXRvb3RoX2JsdWV0b290aF9oPW5vIGFjX2N2X2hlYWRlcl9ibHVldG9vdGhfaD1ubywke0JMVUVafSIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCXNlZCAtaSAtZSAnczoke0hPU1RUT09MU19ESVJ9L2luc3RhbGw6aW5zdGFsbDpnJyBcCi0JCS1lICdzOiR7SE9TVFRPT0xTX0RJUn0vbWtkaXI6bWtkaXI6ZycgXAotCQkke0R9LyR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19zeXNjb25maWdkYXRhLnB5Ci19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLURvLW5vdC1hZGQtdXNyLWxpYi10ZXJtY2FwLXRvLWxpbmtlci1mbGFncy10by1hdm9pZC0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLURvLW5vdC1hZGQtdXNyLWxpYi10ZXJtY2FwLXRvLWxpbmtlci1mbGFncy10by1hdm9pZC0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDlmMjc5YmEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLURvLW5vdC1hZGQtdXNyLWxpYi10ZXJtY2FwLXRvLWxpbmtlci1mbGFncy10by1hdm9pZC0ucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorRnJvbSAyMzI5NGM2YmE2ODk2MTE1ODI4MjkzZmRiN2U2N2I0N2IzOGJhNjc1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI1IEphbiAyMDE5IDE5OjA0OjEzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBhZGQgL3Vzci9saWIvdGVybWNhcCB0byBsaW5rZXIgZmxhZ3MgdG8gYXZvaWQgaG9zdAorIGNvbnRhbWluYXRpb24KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKKy0tLQorIHNldHVwLnB5IHwgMSAtCisgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKK2luZGV4IGI0MzU3ZTMuLmZiZWMwMGQgMTAwNjQ0CistLS0gYS9zZXR1cC5weQorKysrIGIvc2V0dXAucHkKK0BAIC04NTYsNyArODU2LDYgQEAgY2xhc3MgUHlCdWlsZEV4dChidWlsZF9leHQpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlcm1jYXAnKToKKyAgICAgICAgICAgICAgICAgcmVhZGxpbmVfbGlicy5hcHBlbmQoJ3Rlcm1jYXAnKQorICAgICAgICAgICAgIGV4dHMuYXBwZW5kKCBFeHRlbnNpb24oJ3JlYWRsaW5lJywgWydyZWFkbGluZS5jJ10sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5X2RpcnM9WycvdXNyL2xpYi90ZXJtY2FwJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYV9saW5rX2FyZ3M9cmVhZGxpbmVfZXh0cmFfbGlua19hcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyaWVzPXJlYWRsaW5lX2xpYnMpICkKKyAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLURvLW5vdC1oYXJkY29kZS1saWItYXMtbG9jYXRpb24tZm9yLXNpdGUtcGFja2FnZXMtYW4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLURvLW5vdC1oYXJkY29kZS1saWItYXMtbG9jYXRpb24tZm9yLXNpdGUtcGFja2FnZXMtYW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjYxZjUyZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtRG8tbm90LWhhcmRjb2RlLWxpYi1hcy1sb2NhdGlvbi1mb3Itc2l0ZS1wYWNrYWdlcy1hbi5wYXRjaApAQCAtMCwwICsxLDE5NiBAQAorRnJvbSAwZmJkYWQxZWFmNTQxYThlOTJiZTgxZjM5NTE0Y2QyNDliM2IwODAxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDUgRmViIDIwMTkgMTU6NTI6MDIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IGhhcmRjb2RlICJsaWIiIGFzIGxvY2F0aW9uIGZvciBtb2R1bGVzLCBzaXRlLXBhY2thZ2VzCisgYW5kIGxpYi1keW5sb2FkCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCistLS0KKyBJbmNsdWRlL3B5dGhvbnJ1bi5oICB8ICAyICsrCisgTGliL3NpdGUucHkgICAgICAgICAgfCAgNCArKy0tCisgTWFrZWZpbGUucHJlLmluICAgICAgfCAgNSArKystLQorIE1vZHVsZXMvZ2V0cGF0aC5jICAgIHwgMTggKysrKysrKysrKysrLS0tLS0tCisgUHl0aG9uL2dldHBsYXRmb3JtLmMgfCAxMCArKysrKysrKysrCisgUHl0aG9uL3N5c21vZHVsZS5jICAgfCAgMiArKworIDYgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9JbmNsdWRlL3B5dGhvbnJ1bi5oIGIvSW5jbHVkZS9weXRob25ydW4uaAoraW5kZXggNmYwYzZmYy4uMGExN2VkZCAxMDA2NDQKKy0tLSBhL0luY2x1ZGUvcHl0aG9ucnVuLmgKKysrKyBiL0luY2x1ZGUvcHl0aG9ucnVuLmgKK0BAIC03LDYgKzcsOCBAQAorIGV4dGVybiAiQyIgeworICNlbmRpZgorIAorK1B5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBQeV9HZXRMaWIodm9pZCk7CisrCisgI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorIFB5QVBJX0ZVTkMoaW50KSBQeVJ1bl9TaW1wbGVTdHJpbmdGbGFncyhjb25zdCBjaGFyICosIFB5Q29tcGlsZXJGbGFncyAqKTsKKyBQeUFQSV9GVU5DKGludCkgUHlSdW5fQW55RmlsZUZsYWdzKEZJTEUgKiwgY29uc3QgY2hhciAqLCBQeUNvbXBpbGVyRmxhZ3MgKik7CitkaWZmIC0tZ2l0IGEvTGliL3NpdGUucHkgYi9MaWIvc2l0ZS5weQoraW5kZXggZmZkMTMyYi4uYjU1ZjZkOCAxMDA2NDQKKy0tLSBhL0xpYi9zaXRlLnB5CisrKysgYi9MaWIvc2l0ZS5weQorQEAgLTMzNCwxMiArMzM0LDEyIEBAIGRlZiBnZXRzaXRlcGFja2FnZXMocHJlZml4ZXM9Tm9uZSk6CisgICAgICAgICBzZWVuLmFkZChwcmVmaXgpCisgCisgICAgICAgICBpZiBvcy5zZXAgPT0gJy8nOgorLSAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQob3MucGF0aC5qb2luKHByZWZpeCwgImxpYiIsCisrICAgICAgICAgICAgc2l0ZXBhY2thZ2VzLmFwcGVuZChvcy5wYXRoLmpvaW4ocHJlZml4LCBzeXMubGliLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHl0aG9uJWQuJWQiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaXRlLXBhY2thZ2VzIikpCisgICAgICAgICBlbHNlOgorICAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQocHJlZml4KQorLSAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQob3MucGF0aC5qb2luKHByZWZpeCwgImxpYiIsICJzaXRlLXBhY2thZ2VzIikpCisrICAgICAgICAgICAgc2l0ZXBhY2thZ2VzLmFwcGVuZChvcy5wYXRoLmpvaW4ocHJlZml4LCBzeXMubGliLCAic2l0ZS1wYWNrYWdlcyIpKQorICAgICByZXR1cm4gc2l0ZXBhY2thZ2VzCisgCisgZGVmIGFkZHNpdGVwYWNrYWdlcyhrbm93bl9wYXRocywgcHJlZml4ZXM9Tm9uZSk6CitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUucHJlLmluIGIvTWFrZWZpbGUucHJlLmluCitpbmRleCA2ZTgxYjJmLi42NzFhMjBlIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUucHJlLmluCisrKysgYi9NYWtlZmlsZS5wcmUuaW4KK0BAIC0xNDIsNyArMTQyLDcgQEAgTElCRElSPQkJQGxpYmRpckAKKyBNQU5ESVI9CQlAbWFuZGlyQAorIElOQ0xVREVESVI9CUBpbmNsdWRlZGlyQAorIENPTkZJTkNMVURFRElSPQkkKGV4ZWNfcHJlZml4KS9pbmNsdWRlCistU0NSSVBURElSPQkkKHByZWZpeCkvbGliCisrU0NSSVBURElSPQlAbGliZGlyQAorIEFCSUZMQUdTPQlAQUJJRkxBR1NACisgCisgIyBEZXRhaWxlZCBkZXN0aW5hdGlvbiBkaXJlY3RvcmllcworQEAgLTc2OCw2ICs3NjgsNyBAQCBNb2R1bGVzL2dldHBhdGgubzogJChzcmNkaXIpL01vZHVsZXMvZ2V0cGF0aC5jIE1ha2VmaWxlCisgCQktREVYRUNfUFJFRklYPSciJChleGVjX3ByZWZpeCkiJyBcCisgCQktRFZFUlNJT049JyIkKFZFUlNJT04pIicgXAorIAkJLURWUEFUSD0nIiQoVlBBVEgpIicgXAorKwkJLURMSUI9JyIkKExJQikiJyBcCisgCQktbyAkQCAkKHNyY2RpcikvTW9kdWxlcy9nZXRwYXRoLmMKKyAKKyBQcm9ncmFtcy9weXRob24ubzogJChzcmNkaXIpL1Byb2dyYW1zL3B5dGhvbi5jCitAQCAtODU2LDcgKzg1Nyw3IEBAIHJlZ2VuLW9wY29kZToKKyBQeXRob24vY29tcGlsZS5vIFB5dGhvbi9zeW10YWJsZS5vIFB5dGhvbi9hc3RfdW5wYXJzZS5vIFB5dGhvbi9hc3QubzogJChzcmNkaXIpL0luY2x1ZGUvZ3JhbWluaXQuaCAkKHNyY2RpcikvSW5jbHVkZS9QeXRob24tYXN0LmgKKyAKKyBQeXRob24vZ2V0cGxhdGZvcm0ubzogJChzcmNkaXIpL1B5dGhvbi9nZXRwbGF0Zm9ybS5jCistCQkkKENDKSAtYyAkKFBZX0NPUkVfQ0ZMQUdTKSAtRFBMQVRGT1JNPSciJChNQUNIREVQKSInIC1vICRAICQoc3JjZGlyKS9QeXRob24vZ2V0cGxhdGZvcm0uYworKwkJJChDQykgLWMgJChQWV9DT1JFX0NGTEFHUykgLURQTEFURk9STT0nIiQoTUFDSERFUCkiJyAtRExJQj0nIiQoTElCKSInIC1vICRAICQoc3JjZGlyKS9QeXRob24vZ2V0cGxhdGZvcm0uYworIAorIFB5dGhvbi9pbXBvcnRkbC5vOiAkKHNyY2RpcikvUHl0aG9uL2ltcG9ydGRsLmMKKyAJCSQoQ0MpIC1jICQoUFlfQ09SRV9DRkxBR1MpIC1JJChETElOQ0xESVIpIC1vICRAICQoc3JjZGlyKS9QeXRob24vaW1wb3J0ZGwuYworZGlmZiAtLWdpdCBhL01vZHVsZXMvZ2V0cGF0aC5jIGIvTW9kdWxlcy9nZXRwYXRoLmMKK2luZGV4IGU2YTNlOGUuLjBjNjJhZjYgMTAwNjQ0CistLS0gYS9Nb2R1bGVzL2dldHBhdGguYworKysrIGIvTW9kdWxlcy9nZXRwYXRoLmMKK0BAIC0xMjMsNiArMTIzLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgeworICAgICB3Y2hhcl90ICpleGVjX3ByZWZpeDsgICAgICAgICAgICAgIC8qIEVYRUNfUFJFRklYIGRlZmluZSAqLworIAorICAgICB3Y2hhcl90ICpsaWJfcHl0aG9uOyAgICAgICAgICAgICAgIC8qICJsaWIvcHl0aG9uWC5ZIiAqLworKyAgICB3Y2hhcl90ICptdWx0aWxpYl9weXRob247ICAgICAgICAgICAgICAgLyogImxpYltzdWZmaXhdL3B5dGhvblguWSIgKi8KKyAgICAgd2NoYXJfdCBhcmd2MF9wYXRoW01BWFBBVEhMRU4rMV07CisgICAgIHdjaGFyX3QgemlwX3BhdGhbTUFYUEFUSExFTisxXTsgICAgLyogIi4uLi9saWIvcHl0aG9uWFkuemlwIiAqLworIAorQEAgLTMxNCw3ICszMTUsNyBAQCBzZWFyY2hfZm9yX3ByZWZpeChjb25zdCBfUHlDb3JlQ29uZmlnICpjb3JlX2NvbmZpZywKKyAgICAgICAgIGlmIChkZWxpbSkgeworICAgICAgICAgICAgICpkZWxpbSA9IEwnXDAnOworICAgICAgICAgfQorLSAgICAgICAgam9pbnBhdGgocHJlZml4LCBjYWxjdWxhdGUtPmxpYl9weXRob24pOworKyAgICAgICAgam9pbnBhdGgocHJlZml4LCBjYWxjdWxhdGUtPm11bHRpbGliX3B5dGhvbik7CisgICAgICAgICBqb2lucGF0aChwcmVmaXgsIExBTkRNQVJLKTsKKyAgICAgICAgIHJldHVybiAxOworICAgICB9CitAQCAtMzQzLDcgKzM0NCw3IEBAIHNlYXJjaF9mb3JfcHJlZml4KGNvbnN0IF9QeUNvcmVDb25maWcgKmNvcmVfY29uZmlnLAorICAgICBjb3B5X2Fic29sdXRlKHByZWZpeCwgY2FsY3VsYXRlLT5hcmd2MF9wYXRoLCBNQVhQQVRITEVOKzEpOworICAgICBkbyB7CisgICAgICAgICBuID0gd2NzbGVuKHByZWZpeCk7CistICAgICAgICBqb2lucGF0aChwcmVmaXgsIGNhbGN1bGF0ZS0+bGliX3B5dGhvbik7CisrICAgICAgICBqb2lucGF0aChwcmVmaXgsIGNhbGN1bGF0ZS0+bXVsdGlsaWJfcHl0aG9uKTsKKyAgICAgICAgIGpvaW5wYXRoKHByZWZpeCwgTEFORE1BUkspOworICAgICAgICAgaWYgKGlzbW9kdWxlKHByZWZpeCkpIHsKKyAgICAgICAgICAgICByZXR1cm4gMTsKK0BAIC0zNTUsNyArMzU2LDcgQEAgc2VhcmNoX2Zvcl9wcmVmaXgoY29uc3QgX1B5Q29yZUNvbmZpZyAqY29yZV9jb25maWcsCisgICAgIC8qIExvb2sgYXQgY29uZmlndXJlJ3MgUFJFRklYICovCisgICAgIHdjc25jcHkocHJlZml4LCBjYWxjdWxhdGUtPnByZWZpeCwgTUFYUEFUSExFTik7CisgICAgIHByZWZpeFtNQVhQQVRITEVOXSA9IEwnXDAnOworLSAgICBqb2lucGF0aChwcmVmaXgsIGNhbGN1bGF0ZS0+bGliX3B5dGhvbik7CisrICAgIGpvaW5wYXRoKHByZWZpeCwgY2FsY3VsYXRlLT5tdWx0aWxpYl9weXRob24pOworICAgICBqb2lucGF0aChwcmVmaXgsIExBTkRNQVJLKTsKKyAgICAgaWYgKGlzbW9kdWxlKHByZWZpeCkpIHsKKyAgICAgICAgIHJldHVybiAxOworQEAgLTQyNyw3ICs0MjgsNyBAQCBzZWFyY2hfZm9yX2V4ZWNfcHJlZml4KGNvbnN0IF9QeUNvcmVDb25maWcgKmNvcmVfY29uZmlnLAorICAgICAgICAgICAgIHdjc25jcHkoZXhlY19wcmVmaXgsIGNvcmVfY29uZmlnLT5ob21lLCBNQVhQQVRITEVOKTsKKyAgICAgICAgIH0KKyAgICAgICAgIGV4ZWNfcHJlZml4W01BWFBBVEhMRU5dID0gTCdcMCc7CistICAgICAgICBqb2lucGF0aChleGVjX3ByZWZpeCwgY2FsY3VsYXRlLT5saWJfcHl0aG9uKTsKKysgICAgICAgIGpvaW5wYXRoKGV4ZWNfcHJlZml4LCBjYWxjdWxhdGUtPm11bHRpbGliX3B5dGhvbik7CisgICAgICAgICBqb2lucGF0aChleGVjX3ByZWZpeCwgTCJsaWItZHlubG9hZCIpOworICAgICAgICAgcmV0dXJuIDE7CisgICAgIH0KK0BAIC00NjQsNyArNDY1LDcgQEAgc2VhcmNoX2Zvcl9leGVjX3ByZWZpeChjb25zdCBfUHlDb3JlQ29uZmlnICpjb3JlX2NvbmZpZywKKyAgICAgY29weV9hYnNvbHV0ZShleGVjX3ByZWZpeCwgY2FsY3VsYXRlLT5hcmd2MF9wYXRoLCBNQVhQQVRITEVOKzEpOworICAgICBkbyB7CisgICAgICAgICBuID0gd2NzbGVuKGV4ZWNfcHJlZml4KTsKKy0gICAgICAgIGpvaW5wYXRoKGV4ZWNfcHJlZml4LCBjYWxjdWxhdGUtPmxpYl9weXRob24pOworKyAgICAgICAgam9pbnBhdGgoZXhlY19wcmVmaXgsIGNhbGN1bGF0ZS0+bXVsdGlsaWJfcHl0aG9uKTsKKyAgICAgICAgIGpvaW5wYXRoKGV4ZWNfcHJlZml4LCBMImxpYi1keW5sb2FkIik7CisgICAgICAgICBpZiAoaXNkaXIoZXhlY19wcmVmaXgpKSB7CisgICAgICAgICAgICAgcmV0dXJuIDE7CitAQCAtNDc2LDcgKzQ3Nyw3IEBAIHNlYXJjaF9mb3JfZXhlY19wcmVmaXgoY29uc3QgX1B5Q29yZUNvbmZpZyAqY29yZV9jb25maWcsCisgICAgIC8qIExvb2sgYXQgY29uZmlndXJlJ3MgRVhFQ19QUkVGSVggKi8KKyAgICAgd2NzbmNweShleGVjX3ByZWZpeCwgY2FsY3VsYXRlLT5leGVjX3ByZWZpeCwgTUFYUEFUSExFTik7CisgICAgIGV4ZWNfcHJlZml4W01BWFBBVEhMRU5dID0gTCdcMCc7CistICAgIGpvaW5wYXRoKGV4ZWNfcHJlZml4LCBjYWxjdWxhdGUtPmxpYl9weXRob24pOworKyAgICBqb2lucGF0aChleGVjX3ByZWZpeCwgY2FsY3VsYXRlLT5tdWx0aWxpYl9weXRob24pOworICAgICBqb2lucGF0aChleGVjX3ByZWZpeCwgTCJsaWItZHlubG9hZCIpOworICAgICBpZiAoaXNkaXIoZXhlY19wcmVmaXgpKSB7CisgICAgICAgICByZXR1cm4gMTsKK0BAIC04NzEsNiArODcyLDEwIEBAIGNhbGN1bGF0ZV9pbml0KFB5Q2FsY3VsYXRlUGF0aCAqY2FsY3VsYXRlLAorICAgICBpZiAoIWNhbGN1bGF0ZS0+bGliX3B5dGhvbikgeworICAgICAgICAgcmV0dXJuIERFQ09ERV9MT0NBTEVfRVJSKCJFWEVDX1BSRUZJWCBkZWZpbmUiLCBsZW4pOworICAgICB9CisrICAgIGNhbGN1bGF0ZS0+bXVsdGlsaWJfcHl0aG9uID0gUHlfRGVjb2RlTG9jYWxlKExJQiAiL3B5dGhvbiIgVkVSU0lPTiwgJmxlbik7CisrICAgIGlmICghY2FsY3VsYXRlLT5tdWx0aWxpYl9weXRob24pIHsKKysgICAgICAgIHJldHVybiBERUNPREVfTE9DQUxFX0VSUigiRVhFQ19QUkVGSVggZGVmaW5lIiwgbGVuKTsKKysgICAgfQorICAgICByZXR1cm4gX1B5X0lOSVRfT0soKTsKKyB9CisgCitAQCAtODgyLDYgKzg4Nyw3IEBAIGNhbGN1bGF0ZV9mcmVlKFB5Q2FsY3VsYXRlUGF0aCAqY2FsY3VsYXRlKQorICAgICBQeU1lbV9SYXdGcmVlKGNhbGN1bGF0ZS0+cHJlZml4KTsKKyAgICAgUHlNZW1fUmF3RnJlZShjYWxjdWxhdGUtPmV4ZWNfcHJlZml4KTsKKyAgICAgUHlNZW1fUmF3RnJlZShjYWxjdWxhdGUtPmxpYl9weXRob24pOworKyAgICBQeU1lbV9SYXdGcmVlKGNhbGN1bGF0ZS0+bXVsdGlsaWJfcHl0aG9uKTsKKyAgICAgUHlNZW1fUmF3RnJlZShjYWxjdWxhdGUtPnBhdGhfZW52KTsKKyB9CisgCitkaWZmIC0tZ2l0IGEvUHl0aG9uL2dldHBsYXRmb3JtLmMgYi9QeXRob24vZ2V0cGxhdGZvcm0uYworaW5kZXggODFhMGY3YS4uZDU1Mzk2YiAxMDA2NDQKKy0tLSBhL1B5dGhvbi9nZXRwbGF0Zm9ybS5jCisrKysgYi9QeXRob24vZ2V0cGxhdGZvcm0uYworQEAgLTEwLDMgKzEwLDEzIEBAIFB5X0dldFBsYXRmb3JtKHZvaWQpCisgeworICAgICByZXR1cm4gUExBVEZPUk07CisgfQorKworKyNpZm5kZWYgTElCCisrI2RlZmluZSBMSUIgImxpYiIKKysjZW5kaWYKKysKKytjb25zdCBjaGFyICoKKytQeV9HZXRMaWIodm9pZCkKKyt7CisrCXJldHVybiBMSUI7CisrfQorZGlmZiAtLWdpdCBhL1B5dGhvbi9zeXNtb2R1bGUuYyBiL1B5dGhvbi9zeXNtb2R1bGUuYworaW5kZXggZWZlNWIyOS4uZGU3N2IxNyAxMDA2NDQKKy0tLSBhL1B5dGhvbi9zeXNtb2R1bGUuYworKysrIGIvUHl0aG9uL3N5c21vZHVsZS5jCitAQCAtMjMxOSw2ICsyMzE5LDggQEAgX1B5U3lzX0JlZ2luSW5pdChQeU9iamVjdCAqKnN5c21vZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVN0cmluZyhQeV9HZXRDb3B5cmlnaHQoKSkpOworICAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJwbGF0Zm9ybSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0Zyb21TdHJpbmcoUHlfR2V0UGxhdGZvcm0oKSkpOworKyAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJsaWIiLAorKyAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Gcm9tU3RyaW5nKFB5X0dldExpYigpKSk7CisgICAgIFNFVF9TWVNfRlJPTV9TVFJJTkcoIm1heHNpemUiLAorICAgICAgICAgICAgICAgICAgICAgICAgIFB5TG9uZ19Gcm9tU3NpemVfdChQWV9TU0laRV9UX01BWCkpOworICAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJmbG9hdF9pbmZvIiwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtRG8tbm90LXVzZS10aGUtc2hlbGwtdmVyc2lvbi1vZi1weXRob24tY29uZmlnLXRoYXQtdy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtRG8tbm90LXVzZS10aGUtc2hlbGwtdmVyc2lvbi1vZi1weXRob24tY29uZmlnLXRoYXQtdy5wYXRjaAppbmRleCA4ZWEzZjAzLi44M2ZkNTJkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLURvLW5vdC11c2UtdGhlLXNoZWxsLXZlcnNpb24tb2YtcHl0aG9uLWNvbmZpZy10aGF0LXcucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1Eby1ub3QtdXNlLXRoZS1zaGVsbC12ZXJzaW9uLW9mLXB5dGhvbi1jb25maWctdGhhdC13LnBhdGNoCkBAIC0xLDYgKzEsNiBAQAotRnJvbSAwNGRmOTU5MzY1ZTJiNTRkNzUwM2VkZjBlNTUzNGZmMDk0Mjg0ZjJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAxNDg4NjFmYTE2ZjJhYWFjZDUxODc3MGYzMzdlYTU0YjUxODJmOTgxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDIzIE9jdCAyMDE1IDEyOjI1OjA5ICswMzAwCitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDE1OjAzOjAxICswMTAwCiBTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCB1c2UgdGhlIHNoZWxsIHZlcnNpb24gb2YgcHl0aG9uLWNvbmZpZyB0aGF0IHdhcwogIGludHJvZHVjZWQgaW4gMy40CiAKQEAgLTE0LDI1ICsxNCwyMiBAQAogIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9NYWtlZmlsZS5wcmUuaW4gYi9NYWtlZmlsZS5wcmUuaW4KLWluZGV4IDIzNmYwMDUuLjVjNDMzN2YgMTAwNjQ0CitpbmRleCAyZDJlMTFmLi5jYzE5OTQyIDEwMDY0NAogLS0tIGEvTWFrZWZpbGUucHJlLmluCiArKysgYi9NYWtlZmlsZS5wcmUuaW4KLUBAIC0xMzQ4LDEyICsxMzQ4LDkgQEAgcHl0aG9uLWNvbmZpZzogJChzcmNkaXIpL01pc2MvcHl0aG9uLWNvbmZpZy5pbiBNaXNjL3B5dGhvbi1jb25maWcuc2gKK0BAIC0xNDMxLDEyICsxNDMxLDkgQEAgcHl0aG9uLWNvbmZpZzogJChzcmNkaXIpL01pc2MvcHl0aG9uLWNvbmZpZy5pbiBNaXNjL3B5dGhvbi1jb25maWcuc2gKICAJc2VkIC1lICJzLEBFWEVOQU1FQCwkKEJJTkRJUikvcHl0aG9uJChMRFZFUlNJT04pJChFWEUpLCIgPCAkKHNyY2RpcikvTWlzYy9weXRob24tY29uZmlnLmluID5weXRob24tY29uZmlnLnB5Ci0gCSMgUmVwbGFjZSBtYWtlZmlsZSBjb21wYXQuIHZhcmlhYmxlIHJlZmVyZW5jZXMgd2l0aCBzaGVsbCBzY3JpcHQgY29tcGF0LiBvbmVzOyAkKFZBUikgLT4gJHtWQVJ9CisgCUAgIyBSZXBsYWNlIG1ha2VmaWxlIGNvbXBhdC4gdmFyaWFibGUgcmVmZXJlbmNlcyB3aXRoIHNoZWxsIHNjcmlwdCBjb21wYXQuIG9uZXM7ICQoVkFSKSAtPiAke1ZBUn0KICAJTENfQUxMPUMgc2VkIC1lICdzLFwkJChcKFtBLVphLXowLTlfXSpcKSksXCQkXHtcMVx9LGcnIDwgTWlzYy9weXRob24tY29uZmlnLnNoID5weXRob24tY29uZmlnCi0tCSMgT24gRGFyd2luLCBhbHdheXMgdXNlIHRoZSBweXRob24gdmVyc2lvbiBvZiB0aGUgc2NyaXB0LCB0aGUgc2hlbGwKLS0JIyB2ZXJzaW9uIGRvZXNuJ3QgdXNlIHRoZSBjb21waWxlciBjdXN0b21pemF0aW9ucyB0aGF0IGFyZSBwcm92aWRlZAotLQkjIGluIHB5dGhvbiAoX29zeF9zdXBwb3J0LnB5KS4KLS0JaWYgdGVzdCBgdW5hbWUgLXNgID0gRGFyd2luOyB0aGVuIFwKKy0JQCAjIE9uIERhcndpbiwgYWx3YXlzIHVzZSB0aGUgcHl0aG9uIHZlcnNpb24gb2YgdGhlIHNjcmlwdCwgdGhlIHNoZWxsCistCUAgIyB2ZXJzaW9uIGRvZXNuJ3QgdXNlIHRoZSBjb21waWxlciBjdXN0b21pemF0aW9ucyB0aGF0IGFyZSBwcm92aWRlZAorLQlAICMgaW4gcHl0aG9uIChfb3N4X3N1cHBvcnQucHkpLgorLQlAaWYgdGVzdCBgdW5hbWUgLXNgID0gRGFyd2luOyB0aGVuIFwKIC0JCWNwIHB5dGhvbi1jb25maWcucHkgcHl0aG9uLWNvbmZpZzsgXAogLQlmaQotKwkjIEluIE9wZW5FbWJlZGRlZCwgYWx3YXlzIHVzZSB0aGUgcHl0aG9uIHZlcnNpb24gb2YgdGhlIHNjcmlwdCwgdGhlIHNoZWxsCi0rCSMgdmVyc2lvbiBpcyBicm9rZW4gaW4gbXVsdGlwbGUgd2F5cywgYW5kIGRvZXNuJ3QgcmV0dXJuIGNvcnJlY3QgZGlyZWN0b3JpZXMKKysJQCAgIyBJbiBPcGVuRW1iZWRkZWQsIGFsd2F5cyB1c2UgdGhlIHB5dGhvbiB2ZXJzaW9uIG9mIHRoZSBzY3JpcHQsIHRoZSBzaGVsbAorKwlAICAjIHZlcnNpb24gaXMgYnJva2VuIGluIG11bHRpcGxlIHdheXMsIGFuZCBkb2Vzbid0IHJldHVybiBjb3JyZWN0IGRpcmVjdG9yaWVzCiArCWNwIHB5dGhvbi1jb25maWcucHkgcHl0aG9uLWNvbmZpZwogIAogIAogICMgSW5zdGFsbCB0aGUgaW5jbHVkZSBmaWxlcwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1Jc3N1ZS0yMTI3Mi1Vc2UtX3N5c2NvbmZpZ2RhdGEucHktdG8taW5pdGlhbGl6ZS1kaXN0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1Jc3N1ZS0yMTI3Mi1Vc2UtX3N5c2NvbmZpZ2RhdGEucHktdG8taW5pdGlhbGl6ZS1kaXN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMWM5MmU5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtSXNzdWUtMjEyNzItVXNlLV9zeXNjb25maWdkYXRhLnB5LXRvLWluaXRpYWxpemUtZGlzdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLUZyb20gYmNkZGJmNDBjN2YxYjgwMzM2MjY4Y2RkZGFjYzE3MzY5ZmIwY2NlYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IExpYmluIERhbmcgPGxpYmluLmRhbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IFR1ZSwgMTEgQXByIDIwMTcgMTQ6MTI6MTUgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gSXNzdWUgIzIxMjcyOiBVc2UgX3N5c2NvbmZpZ2RhdGEucHkgdG8gaW5pdGlhbGl6ZQotIGRpc3R1dGlscy5zeXNjb25maWcKLQotQmFja3BvcnQgdXBzdHJlYW0gY29tbWl0Ci1odHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vY29tbWl0LzQwOTQ4MjI1MWIwNmZlNzVjNGVlNTZlODVmZmJiNGIyM2Q5MzQxNTkKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBMaSBaaG91IDxsaS56aG91QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBMaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weSB8IDM1ICsrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weSBiL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5Ci1pbmRleCA2ZDVjZmQwLi45OTI1ZDI0IDEwMDY0NAotLS0tIGEvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkKLSsrKyBiL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5Ci1AQCAtNDI0LDM4ICs0MjQsMTEgQEAgX2NvbmZpZ192YXJzID0gTm9uZQotIAotIGRlZiBfaW5pdF9wb3NpeCgpOgotICAgICAiIiJJbml0aWFsaXplIHRoZSBtb2R1bGUgYXMgYXBwcm9wcmlhdGUgZm9yIFBPU0lYIHN5c3RlbXMuIiIiCi0tICAgIGcgPSB7fQotLSAgICAjIGxvYWQgdGhlIGluc3RhbGxlZCBNYWtlZmlsZToKLS0gICAgdHJ5OgotLSAgICAgICAgZmlsZW5hbWUgPSBnZXRfbWFrZWZpbGVfZmlsZW5hbWUoKQotLSAgICAgICAgcGFyc2VfbWFrZWZpbGUoZmlsZW5hbWUsIGcpCi0tICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKLS0gICAgICAgIG15X21zZyA9ICJpbnZhbGlkIFB5dGhvbiBpbnN0YWxsYXRpb246IHVuYWJsZSB0byBvcGVuICVzIiAlIGZpbGVuYW1lCi0tICAgICAgICBpZiBoYXNhdHRyKG1zZywgInN0cmVycm9yIik6Ci0tICAgICAgICAgICAgbXlfbXNnID0gbXlfbXNnICsgIiAoJXMpIiAlIG1zZy5zdHJlcnJvcgotLQotLSAgICAgICAgcmFpc2UgRGlzdHV0aWxzUGxhdGZvcm1FcnJvcihteV9tc2cpCi0tCi0tICAgICMgbG9hZCB0aGUgaW5zdGFsbGVkIHB5Y29uZmlnLmg6Ci0tICAgIHRyeToKLS0gICAgICAgIGZpbGVuYW1lID0gZ2V0X2NvbmZpZ19oX2ZpbGVuYW1lKCkKLS0gICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSkgYXMgZmlsZToKLS0gICAgICAgICAgICBwYXJzZV9jb25maWdfaChmaWxlLCBnKQotLSAgICBleGNlcHQgT1NFcnJvciBhcyBtc2c6Ci0tICAgICAgICBteV9tc2cgPSAiaW52YWxpZCBQeXRob24gaW5zdGFsbGF0aW9uOiB1bmFibGUgdG8gb3BlbiAlcyIgJSBmaWxlbmFtZQotLSAgICAgICAgaWYgaGFzYXR0cihtc2csICJzdHJlcnJvciIpOgotLSAgICAgICAgICAgIG15X21zZyA9IG15X21zZyArICIgKCVzKSIgJSBtc2cuc3RyZXJyb3IKLS0KLS0gICAgICAgIHJhaXNlIERpc3R1dGlsc1BsYXRmb3JtRXJyb3IobXlfbXNnKQotLQotLSAgICAjIE9uIEFJWCwgdGhlcmUgYXJlIHdyb25nIHBhdGhzIHRvIHRoZSBsaW5rZXIgc2NyaXB0cyBpbiB0aGUgTWFrZWZpbGUKLS0gICAgIyAtLSB0aGVzZSBwYXRocyBhcmUgcmVsYXRpdmUgdG8gdGhlIFB5dGhvbiBzb3VyY2UsIGJ1dCB3aGVuIGluc3RhbGxlZAotLSAgICAjIHRoZSBzY3JpcHRzIGFyZSBpbiBhbm90aGVyIGRpcmVjdG9yeS4KLS0gICAgaWYgcHl0aG9uX2J1aWxkOgotLSAgICAgICAgZ1snTERTSEFSRUQnXSA9IGdbJ0JMRFNIQVJFRCddCi0tCi0rICAgICMgX3N5c2NvbmZpZ2RhdGEgaXMgZ2VuZXJhdGVkIGF0IGJ1aWxkIHRpbWUsIHNlZSB0aGUgc3lzY29uZmlnIG1vZHVsZQotKyAgICBmcm9tIF9zeXNjb25maWdkYXRhIGltcG9ydCBidWlsZF90aW1lX3ZhcnMKLSAgICAgZ2xvYmFsIF9jb25maWdfdmFycwotLSAgICBfY29uZmlnX3ZhcnMgPSBnCi0rICAgIF9jb25maWdfdmFycyA9IHt9Ci0rICAgIF9jb25maWdfdmFycy51cGRhdGUoYnVpbGRfdGltZV92YXJzKQotIAotIAotIGRlZiBfaW5pdF9udCgpOgotLS0gCi0xLjguMy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtSXNzdWUtMjgwNDMtU1NMQ29udGV4dC1oYXMtaW1wcm92ZWQtZGVmYXVsdC1zZXR0aW5ncy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtSXNzdWUtMjgwNDMtU1NMQ29udGV4dC1oYXMtaW1wcm92ZWQtZGVmYXVsdC1zZXR0aW5ncy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzIxYjRhZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLUlzc3VlLTI4MDQzLVNTTENvbnRleHQtaGFzLWltcHJvdmVkLWRlZmF1bHQtc2V0dGluZ3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNzIgKzAsMCBAQAotRnJvbSA3NThlNzQ2M2MxMDRmNzFiODEwYzg1ODgxNjY3NDdlZWFiNjE0OGQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hyaXN0aWFuIEhlaW1lcyA8Y2hyaXN0aWFuQHB5dGhvbi5vcmc+Ci1EYXRlOiBTYXQsIDEwIFNlcCAyMDE2IDIyOjQzOjQ4ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS80XSBJc3N1ZSAyODA0MzogU1NMQ29udGV4dCBoYXMgaW1wcm92ZWQgZGVmYXVsdCBzZXR0aW5ncwotCi1UaGUgb3B0aW9ucyBPUF9OT19DT01QUkVTU0lPTiwgT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFLCBPUF9TSU5HTEVfREhfVVNFLCBPUF9TSU5HTEVfRUNESF9VU0UsIE9QX05PX1NTTHYyIChleGNlcHQgZm9yIFBST1RPQ09MX1NTTHYyKSwgYW5kIE9QX05PX1NTTHYzIChleGNlcHQgZm9yIFBST1RPQ09MX1NTTHYzKSBhcmUgc2V0IGJ5IGRlZmF1bHQuIFRoZSBpbml0aWFsIGNpcGhlciBzdWl0ZSBsaXN0IGNvbnRhaW5zIG9ubHkgSElHSCBjaXBoZXJzLCBubyBOVUxMIGNpcGhlcnMgYW5kIE1ENSBjaXBoZXJzIChleGNlcHQgZm9yIFBST1RPQ09MX1NTTHYyKS4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotW2h0dHBzOi8vZ2l0aHViLmNvbS9weXRob24vY3B5dGhvbi9jb21taXQvMzU4Y2ZkNDI2Y2NjMGZjZDZhNzk0MGQzMDY2MDIxMzhlNzY0MjBhZV0KLQotU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KLS0tLQotIERvYy9saWJyYXJ5L3NzbC5yc3QgIHwgIDkgKysrKysrLQotIExpYi9zc2wucHkgICAgICAgICAgIHwgMzAgKysrKystLS0tLS0tLS0tLS0tLS0tCi0gTGliL3Rlc3QvdGVzdF9zc2wucHkgfCA2MiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIE1vZHVsZXMvX3NzbC5jICAgICAgIHwgMzEgKysrKysrKysrKysrKysrKysrKysrKwotIDQgZmlsZXMgY2hhbmdlZCwgNzggaW5zZXJ0aW9ucygrKSwgNTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zc2wucnN0IGIvRG9jL2xpYnJhcnkvc3NsLnJzdAotaW5kZXggYTJmMDA4MzQ2Yi4uMTRmMmQ2ODIxNyAxMDA2NDQKLS0tLSBhL0RvYy9saWJyYXJ5L3NzbC5yc3QKLSsrKyBiL0RvYy9saWJyYXJ5L3NzbC5yc3QKLUBAIC0xMTUxLDcgKzExNTEsMTQgQEAgdG8gc3BlZWQgdXAgcmVwZWF0ZWQgY29ubmVjdGlvbnMgZnJvbSB0aGUgc2FtZSBjbGllbnRzLgotIAotICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41LjMKLSAKLS0gICAgICA6ZGF0YTpgUFJPVE9DT0xfVExTYCBpcyB0aGUgZGVmYXVsdCB2YWx1ZS4KLSsgICAgICBUaGUgY29udGV4dCBpcyBjcmVhdGVkIHdpdGggc2VjdXJlIGRlZmF1bHQgdmFsdWVzLiBUaGUgb3B0aW9ucwotKyAgICAgIDpkYXRhOmBPUF9OT19DT01QUkVTU0lPTmAsIDpkYXRhOmBPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0VgLAotKyAgICAgIDpkYXRhOmBPUF9TSU5HTEVfREhfVVNFYCwgOmRhdGE6YE9QX1NJTkdMRV9FQ0RIX1VTRWAsCi0rICAgICAgOmRhdGE6YE9QX05PX1NTTHYyYCAoZXhjZXB0IGZvciA6ZGF0YTpgUFJPVE9DT0xfU1NMdjJgKSwKLSsgICAgICBhbmQgOmRhdGE6YE9QX05PX1NTTHYzYCAoZXhjZXB0IGZvciA6ZGF0YTpgUFJPVE9DT0xfU1NMdjNgKSBhcmUKLSsgICAgICBzZXQgYnkgZGVmYXVsdC4gVGhlIGluaXRpYWwgY2lwaGVyIHN1aXRlIGxpc3QgY29udGFpbnMgb25seSBgYEhJR0hgYAotKyAgICAgIGNpcGhlcnMsIG5vIGBgTlVMTGBgIGNpcGhlcnMgYW5kIG5vIGBgTUQ1YGAgY2lwaGVycyAoZXhjZXB0IGZvcgotKyAgICAgIDpkYXRhOmBQUk9UT0NPTF9TU0x2MmApLgotIAotIAotIDpjbGFzczpgU1NMQ29udGV4dGAgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhbmQgYXR0cmlidXRlczoKLWRpZmYgLS1naXQgYS9MaWIvc3NsLnB5IGIvTGliL3NzbC5weQotaW5kZXggZTE5MTM5MDRmMy4uNGQzMDJhNzhmYSAxMDA2NDQKLS0tLSBhL0xpYi9zc2wucHkKLSsrKyBiL0xpYi9zc2wucHkKLUBAIC00NDYsMzIgKzQ0NiwxNiBAQCBkZWYgY3JlYXRlX2RlZmF1bHRfY29udGV4dChwdXJwb3NlPVB1cnBvc2UuU0VSVkVSX0FVVEgsICosIGNhZmlsZT1Ob25lLAotICAgICBpZiBub3QgaXNpbnN0YW5jZShwdXJwb3NlLCBfQVNOMU9iamVjdCk6Ci0gICAgICAgICByYWlzZSBUeXBlRXJyb3IocHVycG9zZSkKLSAKLSsgICAgIyBTU0xDb250ZXh0IHNldHMgT1BfTk9fU1NMdjIsIE9QX05PX1NTTHYzLCBPUF9OT19DT01QUkVTU0lPTiwKLSsgICAgIyBPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UsIE9QX1NJTkdMRV9ESF9VU0UgYW5kIE9QX1NJTkdMRV9FQ0RIX1VTRQotKyAgICAjIGJ5IGRlZmF1bHQuCi0gICAgIGNvbnRleHQgPSBTU0xDb250ZXh0KFBST1RPQ09MX1RMUykKLSAKLS0gICAgIyBTU0x2MiBjb25zaWRlcmVkIGhhcm1mdWwuCi0tICAgIGNvbnRleHQub3B0aW9ucyB8PSBPUF9OT19TU0x2MgotLQotLSAgICAjIFNTTHYzIGhhcyBwcm9ibGVtYXRpYyBzZWN1cml0eSBhbmQgaXMgb25seSByZXF1aXJlZCBmb3IgcmVhbGx5IG9sZAotLSAgICAjIGNsaWVudHMgc3VjaCBhcyBJRTYgb24gV2luZG93cyBYUAotLSAgICBjb250ZXh0Lm9wdGlvbnMgfD0gT1BfTk9fU1NMdjMKLS0KLS0gICAgIyBkaXNhYmxlIGNvbXByZXNzaW9uIHRvIHByZXZlbnQgQ1JJTUUgYXR0YWNrcyAoT3BlblNTTCAxLjArKQotLSAgICBjb250ZXh0Lm9wdGlvbnMgfD0gZ2V0YXR0cihfc3NsLCAiT1BfTk9fQ09NUFJFU1NJT04iLCAwKQotLQotICAgICBpZiBwdXJwb3NlID09IFB1cnBvc2UuU0VSVkVSX0FVVEg6Ci0gICAgICAgICAjIHZlcmlmeSBjZXJ0cyBhbmQgaG9zdCBuYW1lIGluIGNsaWVudCBtb2RlCi0gICAgICAgICBjb250ZXh0LnZlcmlmeV9tb2RlID0gQ0VSVF9SRVFVSVJFRAotICAgICAgICAgY29udGV4dC5jaGVja19ob3N0bmFtZSA9IFRydWUKLSAgICAgZWxpZiBwdXJwb3NlID09IFB1cnBvc2UuQ0xJRU5UX0FVVEg6Ci0tICAgICAgICAjIFByZWZlciB0aGUgc2VydmVyJ3MgY2lwaGVycyBieSBkZWZhdWx0IHNvIHRoYXQgd2UgZ2V0IHN0cm9uZ2VyCi0tICAgICAgICAjIGVuY3J5cHRpb24KLS0gICAgICAgIGNvbnRleHQub3B0aW9ucyB8PSBnZXRhdHRyKF9zc2wsICJPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UiLCAwKQotLQotLSAgICAgICAgIyBVc2Ugc2luZ2xlIHVzZSBrZXlzIGluIG9yZGVyIHRvIGltcHJvdmUgZm9yd2FyZCBzZWNyZWN5Ci0tICAgICAgICBjb250ZXh0Lm9wdGlvbnMgfD0gZ2V0YXR0cihfc3NsLCAiT1BfU0lOR0xFX0RIX1VTRSIsIDApCi0tICAgICAgICBjb250ZXh0Lm9wdGlvbnMgfD0gZ2V0YXR0cihfc3NsLCAiT1BfU0lOR0xFX0VDREhfVVNFIiwgMCkKLS0KLS0gICAgICAgICMgZGlzYWxsb3cgY2lwaGVycyB3aXRoIGtub3duIHZ1bG5lcmFiaWxpdGllcwotICAgICAgICAgY29udGV4dC5zZXRfY2lwaGVycyhfUkVTVFJJQ1RFRF9TRVJWRVJfQ0lQSEVSUykKLSAKLSAgICAgaWYgY2FmaWxlIG9yIGNhcGF0aCBvciBjYWRhdGE6Ci1AQCAtNDk3LDEyICs0ODEsMTAgQEAgZGVmIF9jcmVhdGVfdW52ZXJpZmllZF9jb250ZXh0KHByb3RvY29sPVBST1RPQ09MX1RMUywgKiwgY2VydF9yZXFzPU5vbmUsCi0gICAgIGlmIG5vdCBpc2luc3RhbmNlKHB1cnBvc2UsIF9BU04xT2JqZWN0KToKLSAgICAgICAgIHJhaXNlIFR5cGVFcnJvcihwdXJwb3NlKQotIAotKyAgICAjIFNTTENvbnRleHQgc2V0cyBPUF9OT19TU0x2MiwgT1BfTk9fU1NMdjMsIE9QX05PX0NPTVBSRVNTSU9OLAotKyAgICAjIE9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSwgT1BfU0lOR0xFX0RIX1VTRSBhbmQgT1BfU0lOR0xFX0VDREhfVVNFCi0rICAgICMgYnkgZGVmYXVsdC4KLSAgICAgY29udGV4dCA9IFNTTENvbnRleHQocHJvdG9jb2wpCi0tICAgICMgU1NMdjIgY29uc2lkZXJlZCBoYXJtZnVsLgotLSAgICBjb250ZXh0Lm9wdGlvbnMgfD0gT1BfTk9fU1NMdjIKLS0gICAgIyBTU0x2MyBoYXMgcHJvYmxlbWF0aWMgc2VjdXJpdHkgYW5kIGlzIG9ubHkgcmVxdWlyZWQgZm9yIHJlYWxseSBvbGQKLS0gICAgIyBjbGllbnRzIHN1Y2ggYXMgSUU2IG9uIFdpbmRvd3MgWFAKLS0gICAgY29udGV4dC5vcHRpb25zIHw9IE9QX05PX1NTTHYzCi0gCi0gICAgIGlmIGNlcnRfcmVxcyBpcyBub3QgTm9uZToKLSAgICAgICAgIGNvbnRleHQudmVyaWZ5X21vZGUgPSBjZXJ0X3JlcXMKLWRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NzbC5weSBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci1pbmRleCBmZmI3MzE0ZjU3Li5mOTFhZjdiZDA1IDEwMDY0NAotLS0tIGEvTGliL3Rlc3QvdGVzdF9zc2wucHkKLSsrKyBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci1AQCAtNzMsNiArNzMsMTIgQEAgTlVMTEJZVEVDRVJUID0gZGF0YV9maWxlKCJudWxsYnl0ZWNlcnQucGVtIikKLSBESEZJTEUgPSBkYXRhX2ZpbGUoImRoMTAyNC5wZW0iKQotIEJZVEVTX0RIRklMRSA9IG9zLmZzZW5jb2RlKERIRklMRSkKLSAKLSsjIE5vdCBkZWZpbmVkIGluIGFsbCB2ZXJzaW9ucyBvZiBPcGVuU1NMCi0rT1BfTk9fQ09NUFJFU1NJT04gPSBnZXRhdHRyKHNzbCwgIk9QX05PX0NPTVBSRVNTSU9OIiwgMCkKLStPUF9TSU5HTEVfREhfVVNFID0gZ2V0YXR0cihzc2wsICJPUF9TSU5HTEVfREhfVVNFIiwgMCkKLStPUF9TSU5HTEVfRUNESF9VU0UgPSBnZXRhdHRyKHNzbCwgIk9QX1NJTkdMRV9FQ0RIX1VTRSIsIDApCi0rT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFID0gZ2V0YXR0cihzc2wsICJPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UiLCAwKQotKwotIAotIGRlZiBoYW5kbGVfZXJyb3IocHJlZml4KToKLSAgICAgZXhjX2Zvcm1hdCA9ICcgJy5qb2luKHRyYWNlYmFjay5mb3JtYXRfZXhjZXB0aW9uKCpzeXMuZXhjX2luZm8oKSkpCi1AQCAtODM5LDggKzg0NSw5IEBAIGNsYXNzIENvbnRleHRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICBjdHggPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCi0gICAgICAgICAjIE9QX0FMTCB8IE9QX05PX1NTTHYyIHwgT1BfTk9fU1NMdjMgaXMgdGhlIGRlZmF1bHQgdmFsdWUKLSAgICAgICAgIGRlZmF1bHQgPSAoc3NsLk9QX0FMTCB8IHNzbC5PUF9OT19TU0x2MiB8IHNzbC5PUF9OT19TU0x2MykKLS0gICAgICAgIGlmIG5vdCBJU19MSUJSRVNTTCBhbmQgc3NsLk9QRU5TU0xfVkVSU0lPTl9JTkZPID49ICgxLCAxLCAwKToKLS0gICAgICAgICAgICBkZWZhdWx0IHw9IHNzbC5PUF9OT19DT01QUkVTU0lPTgotKyAgICAgICAgIyBTU0xDb250ZXh0IGFsc28gZW5hYmxlcyB0aGVzZSBieSBkZWZhdWx0Ci0rICAgICAgICBkZWZhdWx0IHw9IChPUF9OT19DT01QUkVTU0lPTiB8IE9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSB8Ci0rICAgICAgICAgICAgICAgICAgICBPUF9TSU5HTEVfREhfVVNFIHwgT1BfU0lOR0xFX0VDREhfVVNFKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZWZhdWx0LCBjdHgub3B0aW9ucykKLSAgICAgICAgIGN0eC5vcHRpb25zIHw9IHNzbC5PUF9OT19UTFN2MQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZWZhdWx0IHwgc3NsLk9QX05PX1RMU3YxLCBjdHgub3B0aW9ucykKLUBAIC0xMjA1LDE2ICsxMjEyLDI5IEBAIGNsYXNzIENvbnRleHRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICAgICAgc3RhdHNbIng1MDkiXSArPSAxCi0gICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHguY2VydF9zdG9yZV9zdGF0cygpLCBzdGF0cykKLSAKLSsgICAgZGVmIF9hc3NlcnRfY29udGV4dF9vcHRpb25zKHNlbGYsIGN0eCk6Ci0rICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5vcHRpb25zICYgc3NsLk9QX05PX1NTTHYyLCBzc2wuT1BfTk9fU1NMdjIpCi0rICAgICAgICBpZiBPUF9OT19DT01QUkVTU0lPTiAhPSAwOgotKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4Lm9wdGlvbnMgJiBPUF9OT19DT01QUkVTU0lPTiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9QX05PX0NPTVBSRVNTSU9OKQotKyAgICAgICAgaWYgT1BfU0lOR0xFX0RIX1VTRSAhPSAwOgotKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4Lm9wdGlvbnMgJiBPUF9TSU5HTEVfREhfVVNFLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1BfU0lOR0xFX0RIX1VTRSkKLSsgICAgICAgIGlmIE9QX1NJTkdMRV9FQ0RIX1VTRSAhPSAwOgotKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4Lm9wdGlvbnMgJiBPUF9TSU5HTEVfRUNESF9VU0UsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPUF9TSU5HTEVfRUNESF9VU0UpCi0rICAgICAgICBpZiBPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UgIT0gMDoKLSsgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5vcHRpb25zICYgT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFKQotKwotICAgICBkZWYgdGVzdF9jcmVhdGVfZGVmYXVsdF9jb250ZXh0KHNlbGYpOgotICAgICAgICAgY3R4ID0gc3NsLmNyZWF0ZV9kZWZhdWx0X2NvbnRleHQoKQotKwotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgucHJvdG9jb2wsIHNzbC5QUk9UT0NPTF9TU0x2MjMpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC52ZXJpZnlfbW9kZSwgc3NsLkNFUlRfUkVRVUlSRUQpCi0gICAgICAgICBzZWxmLmFzc2VydFRydWUoY3R4LmNoZWNrX2hvc3RuYW1lKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgub3B0aW9ucyAmIHNzbC5PUF9OT19TU0x2Miwgc3NsLk9QX05PX1NTTHYyKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLS0gICAgICAgICAgICBjdHgub3B0aW9ucyAmIGdldGF0dHIoc3NsLCAiT1BfTk9fQ09NUFJFU1NJT04iLCAwKSwKLS0gICAgICAgICAgICBnZXRhdHRyKHNzbCwgIk9QX05PX0NPTVBSRVNTSU9OIiwgMCksCi0tICAgICAgICApCi0rICAgICAgICBzZWxmLl9hc3NlcnRfY29udGV4dF9vcHRpb25zKGN0eCkKLSsKLSAKLSAgICAgICAgIHdpdGggb3BlbihTSUdOSU5HX0NBKSBhcyBmOgotICAgICAgICAgICAgIGNhZGF0YSA9IGYucmVhZCgpCi1AQCAtMTIyMiw0MCArMTI0MiwyNCBAQCBjbGFzcyBDb250ZXh0VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FkYXRhPWNhZGF0YSkKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4LnByb3RvY29sLCBzc2wuUFJPVE9DT0xfU1NMdjIzKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgudmVyaWZ5X21vZGUsIHNzbC5DRVJUX1JFUVVJUkVEKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgub3B0aW9ucyAmIHNzbC5PUF9OT19TU0x2Miwgc3NsLk9QX05PX1NTTHYyKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLS0gICAgICAgICAgICBjdHgub3B0aW9ucyAmIGdldGF0dHIoc3NsLCAiT1BfTk9fQ09NUFJFU1NJT04iLCAwKSwKLS0gICAgICAgICAgICBnZXRhdHRyKHNzbCwgIk9QX05PX0NPTVBSRVNTSU9OIiwgMCksCi0tICAgICAgICApCi0rICAgICAgICBzZWxmLl9hc3NlcnRfY29udGV4dF9vcHRpb25zKGN0eCkKLSAKLSAgICAgICAgIGN0eCA9IHNzbC5jcmVhdGVfZGVmYXVsdF9jb250ZXh0KHNzbC5QdXJwb3NlLkNMSUVOVF9BVVRIKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgucHJvdG9jb2wsIHNzbC5QUk9UT0NPTF9TU0x2MjMpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC52ZXJpZnlfbW9kZSwgc3NsLkNFUlRfTk9ORSkKLS0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4Lm9wdGlvbnMgJiBzc2wuT1BfTk9fU1NMdjIsIHNzbC5PUF9OT19TU0x2MikKLS0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCi0tICAgICAgICAgICAgY3R4Lm9wdGlvbnMgJiBnZXRhdHRyKHNzbCwgIk9QX05PX0NPTVBSRVNTSU9OIiwgMCksCi0tICAgICAgICAgICAgZ2V0YXR0cihzc2wsICJPUF9OT19DT01QUkVTU0lPTiIsIDApLAotLSAgICAgICAgKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLS0gICAgICAgICAgICBjdHgub3B0aW9ucyAmIGdldGF0dHIoc3NsLCAiT1BfU0lOR0xFX0RIX1VTRSIsIDApLAotLSAgICAgICAgICAgIGdldGF0dHIoc3NsLCAiT1BfU0lOR0xFX0RIX1VTRSIsIDApLAotLSAgICAgICAgKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLS0gICAgICAgICAgICBjdHgub3B0aW9ucyAmIGdldGF0dHIoc3NsLCAiT1BfU0lOR0xFX0VDREhfVVNFIiwgMCksCi0tICAgICAgICAgICAgZ2V0YXR0cihzc2wsICJPUF9TSU5HTEVfRUNESF9VU0UiLCAwKSwKLS0gICAgICAgICkKLSsgICAgICAgIHNlbGYuX2Fzc2VydF9jb250ZXh0X29wdGlvbnMoY3R4KQotIAotICAgICBkZWYgdGVzdF9fY3JlYXRlX3N0ZGxpYl9jb250ZXh0KHNlbGYpOgotICAgICAgICAgY3R4ID0gc3NsLl9jcmVhdGVfc3RkbGliX2NvbnRleHQoKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgucHJvdG9jb2wsIHNzbC5QUk9UT0NPTF9TU0x2MjMpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC52ZXJpZnlfbW9kZSwgc3NsLkNFUlRfTk9ORSkKLSAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY3R4LmNoZWNrX2hvc3RuYW1lKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgub3B0aW9ucyAmIHNzbC5PUF9OT19TU0x2Miwgc3NsLk9QX05PX1NTTHYyKQotKyAgICAgICAgc2VsZi5fYXNzZXJ0X2NvbnRleHRfb3B0aW9ucyhjdHgpCi0gCi0gICAgICAgICBjdHggPSBzc2wuX2NyZWF0ZV9zdGRsaWJfY29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5wcm90b2NvbCwgc3NsLlBST1RPQ09MX1RMU3YxKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgudmVyaWZ5X21vZGUsIHNzbC5DRVJUX05PTkUpCi0tICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5vcHRpb25zICYgc3NsLk9QX05PX1NTTHYyLCBzc2wuT1BfTk9fU1NMdjIpCi0rICAgICAgICBzZWxmLl9hc3NlcnRfY29udGV4dF9vcHRpb25zKGN0eCkKLSAKLSAgICAgICAgIGN0eCA9IHNzbC5fY3JlYXRlX3N0ZGxpYl9jb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRfcmVxcz1zc2wuQ0VSVF9SRVFVSVJFRCwKLUBAIC0xMjYzLDEyICsxMjY3LDEyIEBAIGNsYXNzIENvbnRleHRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5wcm90b2NvbCwgc3NsLlBST1RPQ09MX1RMU3YxKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgudmVyaWZ5X21vZGUsIHNzbC5DRVJUX1JFUVVJUkVEKQotICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGN0eC5jaGVja19ob3N0bmFtZSkKLS0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4Lm9wdGlvbnMgJiBzc2wuT1BfTk9fU1NMdjIsIHNzbC5PUF9OT19TU0x2MikKLSsgICAgICAgIHNlbGYuX2Fzc2VydF9jb250ZXh0X29wdGlvbnMoY3R4KQotIAotICAgICAgICAgY3R4ID0gc3NsLl9jcmVhdGVfc3RkbGliX2NvbnRleHQocHVycG9zZT1zc2wuUHVycG9zZS5DTElFTlRfQVVUSCkKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4LnByb3RvY29sLCBzc2wuUFJPVE9DT0xfU1NMdjIzKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgudmVyaWZ5X21vZGUsIHNzbC5DRVJUX05PTkUpCi0tICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5vcHRpb25zICYgc3NsLk9QX05PX1NTTHYyLCBzc2wuT1BfTk9fU1NMdjIpCi0rICAgICAgICBzZWxmLl9hc3NlcnRfY29udGV4dF9vcHRpb25zKGN0eCkKLSAKLSAgICAgZGVmIHRlc3RfY2hlY2tfaG9zdG5hbWUoc2VsZik6Ci0gICAgICAgICBjdHggPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCi1kaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3NsLmMgYi9Nb2R1bGVzL19zc2wuYwotaW5kZXggODY0ODI2NzdhZS4uMGQ1YzEyMWQyYyAxMDA2NDQKLS0tLSBhL01vZHVsZXMvX3NzbC5jCi0rKysgYi9Nb2R1bGVzL19zc2wuYwotQEAgLTIzMzAsNiArMjMzMCw3IEBAIF9zc2xfX1NTTENvbnRleHRfaW1wbChQeVR5cGVPYmplY3QgKnR5cGUsIGludCBwcm90b192ZXJzaW9uKQotICAgICBQeVNTTENvbnRleHQgKnNlbGY7Ci0gICAgIGxvbmcgb3B0aW9uczsKLSAgICAgU1NMX0NUWCAqY3R4ID0gTlVMTDsKLSsgICAgaW50IHJlc3VsdDsKLSAjaWYgZGVmaW5lZChTU0xfTU9ERV9SRUxFQVNFX0JVRkZFUlMpCi0gICAgIHVuc2lnbmVkIGxvbmcgbGlidmVyOwotICNlbmRpZgotQEAgLTIzOTMsOCArMjM5NCwzOCBAQCBfc3NsX19TU0xDb250ZXh0X2ltcGwoUHlUeXBlT2JqZWN0ICp0eXBlLCBpbnQgcHJvdG9fdmVyc2lvbikKLSAgICAgICAgIG9wdGlvbnMgfD0gU1NMX09QX05PX1NTTHYyOwotICAgICBpZiAocHJvdG9fdmVyc2lvbiAhPSBQWV9TU0xfVkVSU0lPTl9TU0wzKQotICAgICAgICAgb3B0aW9ucyB8PSBTU0xfT1BfTk9fU1NMdjM7Ci0rICAgIC8qIE1pbmltYWwgc2VjdXJpdHkgZmxhZ3MgZm9yIHNlcnZlciBhbmQgY2xpZW50IHNpZGUgY29udGV4dC4KLSsgICAgICogQ2xpZW50IHNvY2tldHMgaWdub3JlIHNlcnZlci1zaWRlIHBhcmFtZXRlcnMuICovCi0rI2lmZGVmIFNTTF9PUF9OT19DT01QUkVTU0lPTgotKyAgICBvcHRpb25zIHw9IFNTTF9PUF9OT19DT01QUkVTU0lPTjsKLSsjZW5kaWYKLSsjaWZkZWYgU1NMX09QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRQotKyAgICBvcHRpb25zIHw9IFNTTF9PUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0U7Ci0rI2VuZGlmCi0rI2lmZGVmIFNTTF9PUF9TSU5HTEVfREhfVVNFCi0rICAgIG9wdGlvbnMgfD0gU1NMX09QX1NJTkdMRV9ESF9VU0U7Ci0rI2VuZGlmCi0rI2lmZGVmIFNTTF9PUF9TSU5HTEVfRUNESF9VU0UKLSsgICAgb3B0aW9ucyB8PSBTU0xfT1BfU0lOR0xFX0VDREhfVVNFOwotKyNlbmRpZgotICAgICBTU0xfQ1RYX3NldF9vcHRpb25zKHNlbGYtPmN0eCwgb3B0aW9ucyk7Ci0gCi0rICAgIC8qIEEgYmFyZSBtaW5pbXVtIGNpcGhlciBsaXN0IHdpdGhvdXQgY29tcGxldGx5IGJyb2tlbiBjaXBoZXIgc3VpdGVzLgotKyAgICAgKiBJdCdzIGZhciBmcm9tIHBlcmZlY3QgYnV0IGdpdmVzIHVzZXJzIGEgYmV0dGVyIGhlYWQgc3RhcnQuICovCi0rICAgIGlmIChwcm90b192ZXJzaW9uICE9IFBZX1NTTF9WRVJTSU9OX1NTTDIpIHsKLSsgICAgICAgIHJlc3VsdCA9IFNTTF9DVFhfc2V0X2NpcGhlcl9saXN0KGN0eCwgIkhJR0g6IWFOVUxMOiFlTlVMTDohTUQ1Iik7Ci0rICAgIH0gZWxzZSB7Ci0rICAgICAgICAvKiBTU0x2MiBuZWVkcyBNRDUgKi8KLSsgICAgICAgIHJlc3VsdCA9IFNTTF9DVFhfc2V0X2NpcGhlcl9saXN0KGN0eCwgIkhJR0g6IWFOVUxMOiFlTlVMTCIpOwotKyAgICB9Ci0rICAgIGlmIChyZXN1bHQgPT0gMCkgewotKyAgICAgICAgUHlfREVDUkVGKHNlbGYpOwotKyAgICAgICAgRVJSX2NsZWFyX2Vycm9yKCk7Ci0rICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlTU0xFcnJvck9iamVjdCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAiTm8gY2lwaGVyIGNhbiBiZSBzZWxlY3RlZC4iKTsKLSsgICAgICAgIHJldHVybiBOVUxMOwotKyAgICB9Ci0rCi0gI2lmIGRlZmluZWQoU1NMX01PREVfUkVMRUFTRV9CVUZGRVJTKQotICAgICAvKiBTZXQgU1NMX01PREVfUkVMRUFTRV9CVUZGRVJTLiBUaGlzIHBvdGVudGlhbGx5IGdyZWF0bHkgcmVkdWNlcyBtZW1vcnkKLSAgICAgICAgdXNhZ2UgZm9yIG5vIGNvc3QgYXQgYWxsLiBIb3dldmVyLCBkb24ndCBkbyB0aGlzIGZvciBPcGVuU1NMIHZlcnNpb25zCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLU1ha2VmaWxlLnByZS11c2UtcWVtdS13cmFwcGVyLXdoZW4tZ2F0aGVyaW5nLXByb2ZpbGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLU1ha2VmaWxlLnByZS11c2UtcWVtdS13cmFwcGVyLXdoZW4tZ2F0aGVyaW5nLXByb2ZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmE3NzM1ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtTWFrZWZpbGUucHJlLXVzZS1xZW11LXdyYXBwZXItd2hlbi1nYXRoZXJpbmctcHJvZmlsZS5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIGNmNmE5MTAwOTAyNDg0ZTRkMDI4ZWU4ODc0MmRkMjQ4N2IwMTRhOTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMzAgSmFuIDIwMTkgMTI6NDE6MDQgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGUucHJlOiB1c2UgcWVtdSB3cmFwcGVyIHdoZW4gZ2F0aGVyaW5nIHByb2ZpbGUgZGF0YQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lLWNvcmUgc3BlY2lmaWNdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLnByZS5pbiB8IDMgKy0tCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUucHJlLmluIGIvTWFrZWZpbGUucHJlLmluCitpbmRleCBhM2EwMmE3Li5kNTUwM2RkIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUucHJlLmluCisrKysgYi9NYWtlZmlsZS5wcmUuaW4KK0BAIC01MDcsOCArNTA3LDcgQEAgYnVpbGRfYWxsX2dlbmVyYXRlX3Byb2ZpbGU6CisgCSQoTUFLRSkgQERFRl9NQUtFX1JVTEVAIENGTEFHU19OT0RJU1Q9IiQoQ0ZMQUdTX05PRElTVCkgJChQR09fUFJPRl9HRU5fRkxBRykiIExERkxBR1NfTk9ESVNUPSIkKExERkxBR1NfTk9ESVNUKSAkKFBHT19QUk9GX0dFTl9GTEFHKSIgTElCUz0iJChMSUJTKSIKKyAKKyBydW5fcHJvZmlsZV90YXNrOgorLQlAICMgRklYTUU6IGNhbid0IHJ1biBmb3IgYSBjcm9zcyBidWlsZAorLQkkKExMVk1fUFJPRl9GSUxFKSAkKFJVTlNIQVJFRCkgLi8kKEJVSUxEUFlUSE9OKSAkKFBST0ZJTEVfVEFTSykgfHwgdHJ1ZQorKwkuL3Bnby13cmFwcGVyIC4vcHl0aG9uIC1tIHRlc3QucmVncnRlc3QgLS1wZ28gdGVzdF9ncmFtbWFyIHRlc3Rfb3Bjb2RlcyB0ZXN0X2RpY3QgdGVzdF9idWlsdGluIHRlc3RfZXhjZXB0aW9ucyB0ZXN0X3R5cGVzIHRlc3Rfc3VwcG9ydCB8fCB0cnVlCisgCisgYnVpbGRfYWxsX21lcmdlX3Byb2ZpbGU6CisgCSQoTExWTV9QUk9GX01FUkdFUikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtZGlzdHV0aWxzLXN5c2NvbmZpZy1hcHBlbmQtU1RBR0lOR19MSUJESVItcHl0aG9uLXN5cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtZGlzdHV0aWxzLXN5c2NvbmZpZy1hcHBlbmQtU1RBR0lOR19MSUJESVItcHl0aG9uLXN5cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDgzMzQ1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1kaXN0dXRpbHMtc3lzY29uZmlnLWFwcGVuZC1TVEFHSU5HX0xJQkRJUi1weXRob24tc3lzLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gNDg2NTYxNWEyYmMyYjc4YzczOWU0YzMzZjUzNjcxMmM3ZjlhZjA2MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVGh1LCAzMSBKYW4gMjAxOSAxNjo0NjozMCArMDEwMAorU3ViamVjdDogW1BBVENIXSBkaXN0dXRpbHMvc3lzY29uZmlnOiBhcHBlbmQKKyBTVEFHSU5HX0xJQkRJUi9weXRob24tc3lzY29uZmlnZGF0YSB0byBzeXMucGF0aAorCitTbyB0aGF0IHRhcmdldCBjb25maWd1cmF0aW9uIGNhbiBiZSB1c2VkIHdoZW4gcnVubmluZyBuYXRpdmUgcHl0aG9uCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCistLS0KKyBMaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weSB8IDIgKysKKyBMaWIvc3lzY29uZmlnLnB5ICAgICAgICAgICB8IDIgKysKKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkgYi9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQoraW5kZXggZTA3YTZjOC4uNmI4YzEyOSAxMDA2NDQKKy0tLSBhL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5CisrKysgYi9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQorQEAgLTQyMSw2ICs0MjEsOCBAQCBkZWYgX2luaXRfcG9zaXgoKToKKyAgICAgICAgIHBsYXRmb3JtPXN5cy5wbGF0Zm9ybSwKKyAgICAgICAgIG11bHRpYXJjaD1nZXRhdHRyKHN5cy5pbXBsZW1lbnRhdGlvbiwgJ19tdWx0aWFyY2gnLCAnJyksCisgICAgICkpCisrICAgIGlmICdTVEFHSU5HX0xJQkRJUicgaW4gb3MuZW52aXJvbjoKKysgICAgICAgIHN5cy5wYXRoLmFwcGVuZChvcy5lbnZpcm9uWydTVEFHSU5HX0xJQkRJUiddKycvcHl0aG9uLXN5c2NvbmZpZ2RhdGEnKQorICAgICBfdGVtcCA9IF9faW1wb3J0X18obmFtZSwgZ2xvYmFscygpLCBsb2NhbHMoKSwgWydidWlsZF90aW1lX3ZhcnMnXSwgMCkKKyAgICAgYnVpbGRfdGltZV92YXJzID0gX3RlbXAuYnVpbGRfdGltZV92YXJzCisgICAgIGdsb2JhbCBfY29uZmlnX3ZhcnMKK2RpZmYgLS1naXQgYS9MaWIvc3lzY29uZmlnLnB5IGIvTGliL3N5c2NvbmZpZy5weQoraW5kZXggOWVlNGQzMS4uZTU4NmFiZCAxMDA2NDQKKy0tLSBhL0xpYi9zeXNjb25maWcucHkKKysrKyBiL0xpYi9zeXNjb25maWcucHkKK0BAIC00MTIsNiArNDEyLDggQEAgZGVmIF9pbml0X3Bvc2l4KHZhcnMpOgorICAgICAiIiJJbml0aWFsaXplIHRoZSBtb2R1bGUgYXMgYXBwcm9wcmlhdGUgZm9yIFBPU0lYIHN5c3RlbXMuIiIiCisgICAgICMgX3N5c2NvbmZpZ2RhdGEgaXMgZ2VuZXJhdGVkIGF0IGJ1aWxkIHRpbWUsIHNlZSBfZ2VuZXJhdGVfcG9zaXhfdmFycygpCisgICAgIG5hbWUgPSBfZ2V0X3N5c2NvbmZpZ2RhdGFfbmFtZSgpCisrICAgIGlmICdTVEFHSU5HX0xJQkRJUicgaW4gb3MuZW52aXJvbjoKKysgICAgICAgIHN5cy5wYXRoLmFwcGVuZChvcy5lbnZpcm9uWydTVEFHSU5HX0xJQkRJUiddKycvcHl0aG9uLXN5c2NvbmZpZ2RhdGEnKQorICAgICBfdGVtcCA9IF9faW1wb3J0X18obmFtZSwgZ2xvYmFscygpLCBsb2NhbHMoKSwgWydidWlsZF90aW1lX3ZhcnMnXSwgMCkKKyAgICAgYnVpbGRfdGltZV92YXJzID0gX3RlbXAuYnVpbGRfdGltZV92YXJzCisgICAgIHZhcnMudXBkYXRlKGJ1aWxkX3RpbWVfdmFycykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtaDJweS1GaXgtaXNzdWUtMTMwMzItd2hlcmUtaXQtZmFpbHMtd2l0aC1Vbmljb2RlRGVjby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtaDJweS1GaXgtaXNzdWUtMTMwMzItd2hlcmUtaXQtZmFpbHMtd2l0aC1Vbmljb2RlRGVjby5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQ2YjI0Zi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLWgycHktRml4LWlzc3VlLTEzMDMyLXdoZXJlLWl0LWZhaWxzLXdpdGgtVW5pY29kZURlY28ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1Gcm9tIDJmNWE0YzcwOGQ5MGZhOGRiMjFmNDQ2YWU4NzljZmY3OTM4NzQ0OGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogTW9uLCAyMCBNYXkgMjAxMyAyMTowMzoxNiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBoMnB5OiBGaXggaXNzdWUgMTMwMzIgd2hlcmUgaXQgZmFpbHMgd2l0aCBVbmljb2RlRGVjb2RlRXJyb3IKLQotdXNlIHV0Zi04IHRvIG9wZW4gdGhlIGZpbGVzCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gVG9vbHMvc2NyaXB0cy9oMnB5LnB5IHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvaDJweS5weSBiL1Rvb2xzL3NjcmlwdHMvaDJweS5weQotaW5kZXggNGY4NzFkOS4uYTUzZmJlMCAxMDA3NTUKLS0tLSBhL1Rvb2xzL3NjcmlwdHMvaDJweS5weQotKysrIGIvVG9vbHMvc2NyaXB0cy9oMnB5LnB5Ci1AQCAtNjksMTMgKzY5LDEzIEBAIGRlZiBtYWluKCk6Ci0gICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgnIyBHZW5lcmF0ZWQgYnkgaDJweSBmcm9tIHN0ZGluXG4nKQotICAgICAgICAgICAgIHByb2Nlc3Moc3lzLnN0ZGluLCBzeXMuc3Rkb3V0KQotICAgICAgICAgZWxzZToKLS0gICAgICAgICAgICBmcCA9IG9wZW4oZmlsZW5hbWUsICdyJykKLSsgICAgICAgICAgICBmcCA9IG9wZW4oZmlsZW5hbWUsICdyJywgZW5jb2Rpbmc9J3V0Zi04JykKLSAgICAgICAgICAgICBvdXRmaWxlID0gb3MucGF0aC5iYXNlbmFtZShmaWxlbmFtZSkKLSAgICAgICAgICAgICBpID0gb3V0ZmlsZS5yZmluZCgnLicpCi0gICAgICAgICAgICAgaWYgaSA+IDA6IG91dGZpbGUgPSBvdXRmaWxlWzppXQotICAgICAgICAgICAgIG1vZG5hbWUgPSBvdXRmaWxlLnVwcGVyKCkKLSAgICAgICAgICAgICBvdXRmaWxlID0gbW9kbmFtZSArICcucHknCi0tICAgICAgICAgICAgb3V0ZnAgPSBvcGVuKG91dGZpbGUsICd3JykKLSsgICAgICAgICAgICBvdXRmcCA9IG9wZW4ob3V0ZmlsZSwgJ3cnLCBlbmNvZGluZz0ndXRmLTgnKQotICAgICAgICAgICAgIG91dGZwLndyaXRlKCcjIEdlbmVyYXRlZCBieSBoMnB5IGZyb20gJXNcbicgJSBmaWxlbmFtZSkKLSAgICAgICAgICAgICBmaWxlZGljdCA9IHt9Ci0gICAgICAgICAgICAgZm9yIGRpciBpbiBzZWFyY2hkaXJzOgotLS0gCi0xLjguMS4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtcHl0aG9uMy11c2UtY2NfYmFzZW5hbWUtdG8tcmVwbGFjZS1DQy1mb3ItY2hlY2tpbmctYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtcHl0aG9uMy11c2UtY2NfYmFzZW5hbWUtdG8tcmVwbGFjZS1DQy1mb3ItY2hlY2tpbmctYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzM1OTU0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1weXRob24zLXVzZS1jY19iYXNlbmFtZS10by1yZXBsYWNlLUNDLWZvci1jaGVja2luZy1jLnBhdGNoCkBAIC0wLDAgKzEsMTIwIEBACitGcm9tIDI2NDUzMTdmZWYwOWFmZTMxYjAxYmIyYzFkNGZlNWI5YWZkYmIxMWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyMiBPY3QgMjAxOCAxNToxOTo1MSArMDgwMAorU3ViamVjdDogW1BBVENIXSBweXRob24zOiB1c2UgY2NfYmFzZW5hbWUgdG8gcmVwbGFjZSBDQyBmb3IgY2hlY2tpbmcgY29tcGlsZXIKKworV2hlbiB3b3JraW5nIHBhdGggY29udGFpbnMgImNsYW5nIi8iZ2NjIi8iaWNjIiwgaXQgbWlnaHQgYmUgcGFydCBvZiAkQ0MKK2JlY2F1c2Ugb2YgdGhlICItLXN5c3Jvb3QiIHBhcmFtZXRlci4gVGhhdCBjb3VsZCBjYXVzZSBqdWRnZW1lbnQgZXJyb3IKK2Fib3V0IGNsYW5nL2djYy9pY2MgY29tcGlsZXJzLiBlLmcuCitXaGVuICJpY2MiIGlzIGNvbnRhaW5kZWQgaW4gd29ya2luZyBwYXRoLCBiZWxvdyBlcnJvcnMgYXJlIHJlcG9ydGVkIHdoZW4KK2NvbXBpbGluZyBweXRob24zOgoreDg2XzY0LXdycy1saW51eC1nY2M6IGVycm9yOiBzdHJpY3Q6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK3g4Nl82NC13cnMtbGludXgtZ2NjOiBlcnJvcjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJy1mcC1tb2RlbCcKKworSGVyZSB1c2UgY2NfYmFzZW5hbWUgdG8gcmVwbGFjZSBDQyBmb3IgY2hlY2tpbmcgY29tcGlsZXIgdG8gYXZvaWQgc3VjaAora2luZCBvZiBpc3N1ZS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFpob3UgPGxpLnpob3VAd2luZHJpdmVyLmNvbT4KKworcGF0Y2ggb3JpZ2luYWxseSBmcm9tIExpIFpob3UsIEkganVzdCByZXdvcmsgaXQgdG8gbmV3IHZlcnNpb24KKworU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDE5ICsrKysrKysrKystLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYTdkZTkwMS4uNGEzNjgxZiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNTQsNiArNTQsNyBAQCBBQ19DT05GSUdfSEVBREVSKHB5Y29uZmlnLmgpCisgQUNfQ0FOT05JQ0FMX0hPU1QKKyBBQ19TVUJTVChidWlsZCkKKyBBQ19TVUJTVChob3N0KQorK0xUX0lOSVQKKyAKKyAjIHB5YnVpbGRkaXIudHh0IHdpbGwgYmUgY3JlYXRlZCBieSAtLWdlbmVyYXRlLXBvc2l4LXZhcnMgaW4gdGhlIE1ha2VmaWxlCisgcm0gLWYgcHlidWlsZGRpci50eHQKK0BAIC02OTUsNyArNjk2LDcgQEAgQUNfTVNHX1JFU1VMVCgkd2l0aF9jeHhfbWFpbikKKyBwcmVzZXRfY3h4PSIkQ1hYIgorIGlmIHRlc3QgLXogIiRDWFgiCisgdGhlbgorLSAgICAgICAgY2FzZSAiJENDIiBpbgorKyAgICAgICAgY2FzZSAiJGNjX2Jhc2VuYW1lIiBpbgorICAgICAgICAgZ2NjKSAgICBBQ19QQVRIX1RPT0woQ1hYLCBbZysrXSwgW2crK10sIFtub3Rmb3VuZF0pIDs7CisgICAgICAgICBjYykgICAgIEFDX1BBVEhfVE9PTChDWFgsIFtjKytdLCBbYysrXSwgW25vdGZvdW5kXSkgOzsKKyAgICAgICAgIGNsYW5nfCovY2xhbmcpICAgICBBQ19QQVRIX1RPT0woQ1hYLCBbY2xhbmcrK10sIFtjbGFuZysrXSwgW25vdGZvdW5kXSkgOzsKK0BAIC05NzksNyArOTgwLDcgQEAgcm1kaXIgQ2FzZVNlbnNpdGl2ZVRlc3REaXIKKyAKKyBjYXNlICRhY19zeXNfc3lzdGVtIGluCisgaHAqfEhQKikKKy0gICAgY2FzZSAkQ0MgaW4KKysgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAgICAgY2N8Ki9jYykgQ0M9IiRDQyAtQWUiOzsKKyAgICAgZXNhYzs7CisgZXNhYworQEAgLTEzMzYsNyArMTMzNyw3IEBAIGVsc2UKKyBmaV0sCisgW0FDX01TR19SRVNVTFQobm8pXSkKKyBpZiB0ZXN0ICIkUHlfTFRPIiA9ICd0cnVlJyA7IHRoZW4KKy0gIGNhc2UgJENDIGluCisrICBjYXNlICRjY19iYXNlbmFtZSBpbgorICAgICAqY2xhbmcqKQorICAgICAgIEFDX1NVQlNUKExMVk1fQVIpCisgICAgICAgQUNfUEFUSF9UQVJHRVRfVE9PTChMTFZNX0FSLCBsbHZtLWFyLCAnJywgJHtsbHZtX3BhdGh9KQorQEAgLTE0MjYsNyArMTQyNyw3IEBAIHRoZW4KKyAgIGZpCisgZmkKKyBMTFZNX1BST0ZfRVJSPW5vCistY2FzZSAkQ0MgaW4KKytjYXNlICRjY19iYXNlbmFtZSBpbgorICAgKmNsYW5nKikKKyAgICAgIyBBbnkgY2hhbmdlcyBtYWRlIGhlcmUgc2hvdWxkIGJlIHJlZmxlY3RlZCBpbiB0aGUgR0NDK0RhcndpbiBjYXNlIGJlbG93CisgICAgIFBHT19QUk9GX0dFTl9GTEFHPSItZnByb2ZpbGUtaW5zdHItZ2VuZXJhdGUiCitAQCAtMTUwMCw3ICsxNTAxLDcgQEAgdGhlbgorICAgICAgICAgICAgV1JBUD0iLWZ3cmFwdiIKKyAgICAgICAgIGZpCisgCistICAgICAgICBjYXNlICRDQyBpbgorKyAgICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAgICAgICAgICAgICAqY2xhbmcqKQorICAgICAgICAgICAgICAgICBjY19pc19jbGFuZz0xCisgICAgICAgICAgICAgICAgIDs7CitAQCAtMTYyMyw3ICsxNjI0LDcgQEAgeWVzKQorIAorICAgICAjIElDQyBkb2Vzbid0IHJlY29nbml6ZSB0aGUgb3B0aW9uLCBidXQgb25seSBlbWl0cyBhIHdhcm5pbmcKKyAgICAgIyMgWFhYIGRvZXMgaXQgZW1pdCBhbiB1bnVzZWQgcmVzdWx0IHdhcm5pbmcgYW5kIGNhbiBpdCBiZSBkaXNhYmxlZD8KKy0gICAgY2FzZSAiJENDIiBpbgorKyAgICBjYXNlICIkY2NfYmFzZW5hbWUiIGluCisgICAgICppY2MqKQorICAgICBhY19jdl9kaXNhYmxlX3VudXNlZF9yZXN1bHRfd2FybmluZz1ubworICAgICA7OworQEAgLTE5NjUsNyArMTk2Niw3IEBAIHllcykKKyBlc2FjCisgCisgIyBJQ0MgbmVlZHMgLWZwLW1vZGVsIHN0cmljdCBvciBmbG9hdHMgYmVoYXZlIGJhZGx5CistY2FzZSAiJENDIiBpbgorK2Nhc2UgIiRjY19iYXNlbmFtZSIgaW4KKyAqaWNjKikKKyAgICAgQ0ZMQUdTX05PRElTVD0iJENGTEFHU19OT0RJU1QgLWZwLW1vZGVsIHN0cmljdCIKKyAgICAgOzsKK0BAIC0yNzI3LDcgKzI3MjgsNyBAQCB0aGVuCisgCQl0aGVuCisgCQkJTElOS0ZPUlNIQVJFRD0iLVdsLC0tZXhwb3J0LWR5bmFtaWMiCisgCQlmaTs7CistCVN1bk9TLzUqKSBjYXNlICRDQyBpbgorKwlTdW5PUy81KikgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAJCSAgKmdjYyopCisgCQkgICAgaWYgJENDIC1YbGlua2VyIC0taGVscCAyPiYxIHwgZ3JlcCBleHBvcnQtZHluYW1pYyA+L2Rldi9udWxsCisgCQkgICAgdGhlbgorQEAgLTU0MjksNyArNTQzMCw3IEBAIGlmIHRlc3QgIiRoYXZlX2djY19hc21fZm9yX3g4NyIgPSB5ZXM7IHRoZW4KKyAgICAgIyBTb21lIHZlcnNpb25zIG9mIGdjYyBtaXNjb21waWxlIGlubGluZSBhc206CisgICAgICMgaHR0cDovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD00NjQ5MQorICAgICAjIGh0dHA6Ly9nY2MuZ251Lm9yZy9tbC9nY2MvMjAxMC0xMS9tc2cwMDM2Ni5odG1sCistICAgIGNhc2UgJENDIGluCisrICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCisgICAgICAgICAqZ2NjKikKKyAgICAgICAgICAgICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIGdjYyBpcGEtcHVyZS1jb25zdCBidWcpCisgICAgICAgICAgICAgc2F2ZWRfY2ZsYWdzPSIkQ0ZMQUdTIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMi1Eb24tdC1kby1ydW50aW1lLXRlc3QtdG8tZ2V0LWZsb2F0LWJ5dGUtb3JkZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAyLURvbi10LWRvLXJ1bnRpbWUtdGVzdC10by1nZXQtZmxvYXQtYnl0ZS1vcmRlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzIxZTdjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMi1Eb24tdC1kby1ydW50aW1lLXRlc3QtdG8tZ2V0LWZsb2F0LWJ5dGUtb3JkZXIucGF0Y2gKQEAgLTAsMCArMSwxOTkgQEAKK0Zyb20gZmE5NmE3ZmQxOWUxN2I5YzZiNGRkMDFjM2MzNzc0ZmIzODJkZGRjNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitEYXRlOiBXZWQsIDUgU2VwIDIwMTggMTE6NDU6NTIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG9uJ3QgZG8gcnVudGltZSB0ZXN0IHRvIGdldCBmbG9hdCBieXRlIG9yZGVyCisKK1B5dGhvbiB1c2VzIEFDX1JVTl9JRkVMU0UgdG8gZGV0ZXJtaW5lIHRoZSBieXRlIG9yZGVyIGZvciBmbG9hdHMgYW5kIGRvdWJsZXMsCithbmQgZmFsbHMgYmFjayBvbnRvICJJIGRvbid0IGtub3ciIGlmIGl0IGNhbid0IHJ1biBjb2RlLiAgVGhpcyByZXN1bHRzIGluCitjcmlwcGxlZCBmbG9hdGluZyBwb2ludCBudW1iZXJzIGluIFB5dGhvbiwgYW5kIHRoZSByZWdyZXNzaW9uIHRlc3RzIGZhaWwuCisKK0luc3RlYWQgb2YgcnVubmluZyBjb2RlLCB0YWtlIGEgbWFjcm8gZnJvbSBhdXRvY29uZi1hcmNoaXZlIHdoaWNoIGNvbXBpbGVzIEMKK3dpdGggYSBzcGVjaWFsIGRvdWJsZSBpbiB3aGljaCBoYXMgYW4gQVNDSUkgcmVwcmVzZW50YXRpb24sIGFuZCB0aGVuIGdyZXBzIHRoZQorYmluYXJ5IHRvIGlkZW50aWZ5IHRoZSBmb3JtYXQuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTM0NTg1XQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgIHwgNzIgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbTQvYXhfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4ubTQgfCA4MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgOTAgaW5zZXJ0aW9ucygrKSwgNjUgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IG00L2F4X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuLm00CisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDRhMzY4MWYuLjRhYjE5YTYgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTQzMjgsNzcgKzQzMjgsMTkgQEAgZmkKKyAjICogQ2hlY2sgZm9yIHZhcmlvdXMgcHJvcGVydGllcyBvZiBmbG9hdGluZyBwb2ludCAqCisgIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorLUFDX01TR19DSEVDS0lORyh3aGV0aGVyIEMgZG91YmxlcyBhcmUgbGl0dGxlLWVuZGlhbiBJRUVFIDc1NCBiaW5hcnk2NCkKKy1BQ19DQUNIRV9WQUwoYWNfY3ZfbGl0dGxlX2VuZGlhbl9kb3VibGUsIFsKKy1BQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWworLSNpbmNsdWRlIDxzdHJpbmcuaD4KKy1pbnQgbWFpbigpIHsKKy0gICAgZG91YmxlIHggPSA5MDA2MTA0MDcxODMyNTgxLjA7CistICAgIGlmIChtZW1jbXAoJngsICJceDA1XHgwNFx4MDNceDAyXHgwMVx4ZmZceDNmXHg0MyIsIDgpID09IDApCistICAgICAgICByZXR1cm4gMDsKKy0gICAgZWxzZQorLSAgICAgICAgcmV0dXJuIDE7CistfQorLV1dKV0sCistW2FjX2N2X2xpdHRsZV9lbmRpYW5fZG91YmxlPXllc10sCistW2FjX2N2X2xpdHRsZV9lbmRpYW5fZG91YmxlPW5vXSwKKy1bYWNfY3ZfbGl0dGxlX2VuZGlhbl9kb3VibGU9bm9dKV0pCistQUNfTVNHX1JFU1VMVCgkYWNfY3ZfbGl0dGxlX2VuZGlhbl9kb3VibGUpCistaWYgdGVzdCAiJGFjX2N2X2xpdHRsZV9lbmRpYW5fZG91YmxlIiA9IHllcworLXRoZW4KKy0gIEFDX0RFRklORShET1VCTEVfSVNfTElUVExFX0VORElBTl9JRUVFNzU0LCAxLAorLSAgW0RlZmluZSBpZiBDIGRvdWJsZXMgYXJlIDY0LWJpdCBJRUVFIDc1NCBiaW5hcnkgZm9ybWF0LCBzdG9yZWQKKy0gICB3aXRoIHRoZSBsZWFzdCBzaWduaWZpY2FudCBieXRlIGZpcnN0XSkKKy1maQorLQorLUFDX01TR19DSEVDS0lORyh3aGV0aGVyIEMgZG91YmxlcyBhcmUgYmlnLWVuZGlhbiBJRUVFIDc1NCBiaW5hcnk2NCkKKy1BQ19DQUNIRV9WQUwoYWNfY3ZfYmlnX2VuZGlhbl9kb3VibGUsIFsKKy1BQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWworLSNpbmNsdWRlIDxzdHJpbmcuaD4KKy1pbnQgbWFpbigpIHsKKy0gICAgZG91YmxlIHggPSA5MDA2MTA0MDcxODMyNTgxLjA7CistICAgIGlmIChtZW1jbXAoJngsICJceDQzXHgzZlx4ZmZceDAxXHgwMlx4MDNceDA0XHgwNSIsIDgpID09IDApCistICAgICAgICByZXR1cm4gMDsKKy0gICAgZWxzZQorLSAgICAgICAgcmV0dXJuIDE7CistfQorLV1dKV0sCistW2FjX2N2X2JpZ19lbmRpYW5fZG91YmxlPXllc10sCistW2FjX2N2X2JpZ19lbmRpYW5fZG91YmxlPW5vXSwKKy1bYWNfY3ZfYmlnX2VuZGlhbl9kb3VibGU9bm9dKV0pCistQUNfTVNHX1JFU1VMVCgkYWNfY3ZfYmlnX2VuZGlhbl9kb3VibGUpCistaWYgdGVzdCAiJGFjX2N2X2JpZ19lbmRpYW5fZG91YmxlIiA9IHllcworK0FYX0NfRkxPQVRfV09SRFNfQklHRU5ESUFOCisraWYgdGVzdCAiJGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuIiA9ICJ5ZXMiCisgdGhlbgorICAgQUNfREVGSU5FKERPVUJMRV9JU19CSUdfRU5ESUFOX0lFRUU3NTQsIDEsCisgICBbRGVmaW5lIGlmIEMgZG91YmxlcyBhcmUgNjQtYml0IElFRUUgNzU0IGJpbmFyeSBmb3JtYXQsIHN0b3JlZAorICAgIHdpdGggdGhlIG1vc3Qgc2lnbmlmaWNhbnQgYnl0ZSBmaXJzdF0pCistZmkKKy0KKy0jIFNvbWUgQVJNIHBsYXRmb3JtcyB1c2UgYSBtaXhlZC1lbmRpYW4gcmVwcmVzZW50YXRpb24gZm9yIGRvdWJsZXMuCistIyBXaGlsZSBQeXRob24gZG9lc24ndCBjdXJyZW50bHkgaGF2ZSBmdWxsIHN1cHBvcnQgZm9yIHRoZXNlIHBsYXRmb3JtcworLSMgKHNlZSBlLmcuLCBpc3N1ZSAxNzYyNTYxKSwgd2UgY2FuIGF0IGxlYXN0IG1ha2Ugc3VyZSB0aGF0IGZsb2F0IDwtPiBzdHJpbmcKKy0jIGNvbnZlcnNpb25zIHdvcmsuCistQUNfTVNHX0NIRUNLSU5HKHdoZXRoZXIgQyBkb3VibGVzIGFyZSBBUk0gbWl4ZWQtZW5kaWFuIElFRUUgNzU0IGJpbmFyeTY0KQorLUFDX0NBQ0hFX1ZBTChhY19jdl9taXhlZF9lbmRpYW5fZG91YmxlLCBbCistQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKKy0jaW5jbHVkZSA8c3RyaW5nLmg+CistaW50IG1haW4oKSB7CistICAgIGRvdWJsZSB4ID0gOTAwNjEwNDA3MTgzMjU4MS4wOworLSAgICBpZiAobWVtY21wKCZ4LCAiXHgwMVx4ZmZceDNmXHg0M1x4MDVceDA0XHgwM1x4MDIiLCA4KSA9PSAwKQorLSAgICAgICAgcmV0dXJuIDA7CistICAgIGVsc2UKKy0gICAgICAgIHJldHVybiAxOworLX0KKy1dXSldLAorLVthY19jdl9taXhlZF9lbmRpYW5fZG91YmxlPXllc10sCistW2FjX2N2X21peGVkX2VuZGlhbl9kb3VibGU9bm9dLAorLVthY19jdl9taXhlZF9lbmRpYW5fZG91YmxlPW5vXSldKQorLUFDX01TR19SRVNVTFQoJGFjX2N2X21peGVkX2VuZGlhbl9kb3VibGUpCistaWYgdGVzdCAiJGFjX2N2X21peGVkX2VuZGlhbl9kb3VibGUiID0geWVzCisrZWxpZiB0ZXN0ICIkYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4iID0gIm5vIgorIHRoZW4KKy0gIEFDX0RFRklORShET1VCTEVfSVNfQVJNX01JWEVEX0VORElBTl9JRUVFNzU0LCAxLAorKyAgQUNfREVGSU5FKERPVUJMRV9JU19MSVRUTEVfRU5ESUFOX0lFRUU3NTQsIDEsCisgICBbRGVmaW5lIGlmIEMgZG91YmxlcyBhcmUgNjQtYml0IElFRUUgNzU0IGJpbmFyeSBmb3JtYXQsIHN0b3JlZAorLSAgIGluIEFSTSBtaXhlZC1lbmRpYW4gb3JkZXIgKGJ5dGUgb3JkZXIgNDU2NzAxMjMpXSkKKysgICB3aXRoIHRoZSBsZWFzdCBzaWduaWZpY2FudCBieXRlIGZpcnN0XSkKKytlbHNlCisrICBBQ19NU0dfRVJST1IoW0Nhbm5vdCBpZGVudGlmeSBmbG9hdGluZyBwb2ludCBieXRlIG9yZGVyXSkKKyBmaQorIAorICMgVGhlIHNob3J0IGZsb2F0IHJlcHIgaW50cm9kdWNlZCBpbiBQeXRob24gMy4xIHJlcXVpcmVzIHRoZQorZGlmZiAtLWdpdCBhL200L2F4X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuLm00IGIvbTQvYXhfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4ubTQKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4yMTZiOTBkCistLS0gL2Rldi9udWxsCisrKysgYi9tNC9heF9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbi5tNAorQEAgLTAsMCArMSw4MyBAQAorKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKyMgIGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXV0b2NvbmYtYXJjaGl2ZS9heF9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbi5odG1sCisrIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrIworKyMgU1lOT1BTSVMKKysjCisrIyAgIEFYX0NfRkxPQVRfV09SRFNfQklHRU5ESUFOKFtBQ1RJT04tSUYtVFJVRV0sIFtBQ1RJT04tSUYtRkFMU0VdLCBbQUNUSU9OLUlGLVVOS05PV05dKQorKyMKKysjIERFU0NSSVBUSU9OCisrIworKyMgICBDaGVja3MgdGhlIG9yZGVyaW5nIG9mIHdvcmRzIHdpdGhpbiBhIG11bHRpLXdvcmQgZmxvYXQuIFRoaXMgY2hlY2sgaXMKKysjICAgbmVjZXNzYXJ5IGJlY2F1c2Ugb24gc29tZSBzeXN0ZW1zIChlLmcuIGNlcnRhaW4gQVJNIHN5c3RlbXMpLCB0aGUgZmxvYXQKKysjICAgd29yZCBvcmRlcmluZyBjYW4gYmUgZGlmZmVyZW50IGZyb20gdGhlIGJ5dGUgb3JkZXJpbmcuIEluIGEgbXVsdGktd29yZAorKyMgICBmbG9hdCBjb250ZXh0LCAiYmlnLWVuZGlhbiIgaW1wbGllcyB0aGF0IHRoZSB3b3JkIGNvbnRhaW5pbmcgdGhlIHNpZ24KKysjICAgYml0IGlzIGZvdW5kIGluIHRoZSBtZW1vcnkgbG9jYXRpb24gd2l0aCB0aGUgbG93ZXN0IGFkZHJlc3MuIFRoaXMKKysjICAgaW1wbGVtZW50YXRpb24gd2FzIGluc3BpcmVkIGJ5IHRoZSBBQ19DX0JJR0VORElBTiBtYWNybyBpbiBhdXRvY29uZi4KKysjCisrIyAgIFRoZSBlbmRpYW5uZXNzIGlzIGRldGVjdGVkIGJ5IGZpcnN0IGNvbXBpbGluZyBDIGNvZGUgdGhhdCBjb250YWlucyBhCisrIyAgIHNwZWNpYWwgZG91YmxlIGZsb2F0IHZhbHVlLCB0aGVuIGdyZXBwaW5nIHRoZSByZXN1bHRpbmcgb2JqZWN0IGZpbGUgZm9yCisrIyAgIGNlcnRhaW4gc3RyaW5ncyBvZiBBU0NJSSB2YWx1ZXMuIFRoZSBkb3VibGUgaXMgc3BlY2lhbGx5IGNyYWZ0ZWQgdG8gaGF2ZQorKyMgICBhIGJpbmFyeSByZXByZXNlbnRhdGlvbiB0aGF0IGNvcnJlc3BvbmRzIHdpdGggYSBzaW1wbGUgc3RyaW5nLiBJbiB0aGlzCisrIyAgIGltcGxlbWVudGF0aW9uLCB0aGUgc3RyaW5nICJub29uc2VlcyIgd2FzIHNlbGVjdGVkIGJlY2F1c2UgdGhlCisrIyAgIGluZGl2aWR1YWwgd29yZCB2YWx1ZXMgKCJub29uIiBhbmQgInNlZXMiKSBhcmUgcGFsaW5kcm9tZXMsIHRodXMgbWFraW5nCisrIyAgIHRoaXMgdGVzdCBieXRlLW9yZGVyIGFnbm9zdGljLiBJZiBncmVwIGZpbmRzIHRoZSBzdHJpbmcgIm5vb25zZWVzIiBpbgorKyMgICB0aGUgb2JqZWN0IGZpbGUsIHRoZSB0YXJnZXQgcGxhdGZvcm0gc3RvcmVzIGZsb2F0IHdvcmRzIGluIGJpZy1lbmRpYW4KKysjICAgb3JkZXIuIElmIGdyZXAgZmluZHMgInNlZXNub29uIiwgZmxvYXQgd29yZHMgYXJlIGluIGxpdHRsZS1lbmRpYW4gb3JkZXIuCisrIyAgIElmIG5laXRoZXIgdmFsdWUgaXMgZm91bmQsIHRoZSB1c2VyIGlzIGluc3RydWN0ZWQgdG8gc3BlY2lmeSB0aGUKKysjICAgb3JkZXJpbmcuCisrIworKyMgTElDRU5TRQorKyMKKysjICAgQ29weXJpZ2h0IChjKSAyMDA4IERhbmllbCBBbWVsYW5nIDxkYW5AYW1lbGFuZy5uZXQ+CisrIworKyMgICBDb3B5aW5nIGFuZCBkaXN0cmlidXRpb24gb2YgdGhpcyBmaWxlLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUKKysjICAgcGVybWl0dGVkIGluIGFueSBtZWRpdW0gd2l0aG91dCByb3lhbHR5IHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQgbm90aWNlCisrIyAgIGFuZCB0aGlzIG5vdGljZSBhcmUgcHJlc2VydmVkLiBUaGlzIGZpbGUgaXMgb2ZmZXJlZCBhcy1pcywgd2l0aG91dCBhbnkKKysjICAgd2FycmFudHkuCisrCisrI3NlcmlhbCAxMQorKworK0FDX0RFRlVOKFtBWF9DX0ZMT0FUX1dPUkRTX0JJR0VORElBTl0sCisrICBbQUNfQ0FDSEVfQ0hFQ0sod2hldGhlciBmbG9hdCB3b3JkIG9yZGVyaW5nIGlzIGJpZ2VuZGlhbiwKKysgICAgICAgICAgICAgICAgICBheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbiwgWworKworK2F4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuPXVua25vd24KKytBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKKysKKytkb3VibGUgZCA9IDkwOTA0MjM0OTY3MDM2ODEwMzM3NDcwNDc4OTA1NTA1MDExNDc2MjExNjkyNzM1NjE1NjMyMDE0Nzk3MTIwODQ0MDUzNDg4ODY1ODE2Njk1MjczNzIzNDY5MDk3ODU4MDU2MjU3NTE3MDIwMTkxMjQ3NDg3NDI5NTE2OTMyMTMwNTAzNTYwNjUwMDAyMzI3NTY0NTE3NTcwNzc4NDgwMjM2NzI0NTI1MTQwNTIwMTIxMzcxNzM5MjAxNDk2NTQwMTMyNjQwMTA5OTc3Nzc5NDIwNTY1Nzc2NTY4OTQyNTkyLjA7CisrCisrXV0pXSwgWworKworK2lmIGdyZXAgbm9vbnNlZXMgY29uZnRlc3QuJGFjX29iamV4dCA+L2Rldi9udWxsIDsgdGhlbgorKyAgYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW49eWVzCisrZmkKKytpZiBncmVwIHNlZXNub29uIGNvbmZ0ZXN0LiRhY19vYmpleHQgPi9kZXYvbnVsbCA7IHRoZW4KKysgIGlmIHRlc3QgIiRheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbiIgPSB1bmtub3duOyB0aGVuCisrICAgIGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuPW5vCisrICBlbHNlCisrICAgIGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuPXVua25vd24KKysgIGZpCisrZmkKKysKKytdKV0pCisrCisrY2FzZSAkYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4gaW4KKysgIHllcykKKysgICAgbTRfZGVmYXVsdChbJDFdLAorKyAgICAgIFtBQ19ERUZJTkUoW0ZMT0FUX1dPUkRTX0JJR0VORElBTl0sIDEsCisrICAgICAgICAgICAgICAgICBbRGVmaW5lIHRvIDEgaWYgeW91ciBzeXN0ZW0gc3RvcmVzIHdvcmRzIHdpdGhpbiBmbG9hdHMKKysgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBtb3N0IHNpZ25pZmljYW50IHdvcmQgZmlyc3RdKV0pIDs7CisrICBubykKKysgICAgJDIgOzsKKysgICopCisrICAgIG00X2RlZmF1bHQoWyQzXSwKKysgICAgICBbQUNfTVNHX0VSUk9SKFsKKysKKytVbmtub3duIGZsb2F0IHdvcmQgb3JkZXJpbmcuIFlvdSBuZWVkIHRvIG1hbnVhbGx5IHByZXNldAorK2F4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuPW5vIChvciB5ZXMpIGFjY29yZGluZyB0byB5b3VyIHN5c3RlbS4KKysKKysgICAgXSldKSA7OworK2VzYWMKKysKKytdKSMgQVhfQ19GTE9BVF9XT1JEU19CSUdFTkRJQU4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDItTWFrZWZpbGUtYWRkLXRhcmdldC10by1zcGxpdC1wcm9maWxlLWdlbmVyYXRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAyLU1ha2VmaWxlLWFkZC10YXJnZXQtdG8tc3BsaXQtcHJvZmlsZS1nZW5lcmF0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYjRiYTMxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDItTWFrZWZpbGUtYWRkLXRhcmdldC10by1zcGxpdC1wcm9maWxlLWdlbmVyYXRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi1Gcm9tIDk4NTg2ZDZkYzU5OGU0MGI4YjgyMWIwZGRlNTc1OTllMTg4YTdjYTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgotRGF0ZTogVHVlLCA3IEF1ZyAyMDE4IDE2OjQzOjE3ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8yXSBNYWtlZmlsZTogYWRkIHRhcmdldCB0byBzcGxpdCBwcm9maWxlIGdlbmVyYXRpb24KLQotV2UgZG9uJ3Qgd2FudCB0byBoYXZlIHByb2ZpbGUgdGFzayBpbnZva2VkIGZyb20gaGVyZSBhbmQgd2FudCB0byB1c2UKLXFlbXUtdXNlciBpbnN0ZWFkLiBTcGxpdCB0aGUgcHJvZmlsZS1vcHQgdGFzayBzbyBxZW11IGNhbiBiZSBpbnZva2VkCi1vbmNlIGJpbmFyaWVzIGhhdmUgYmVlbiBidWlsdCB3aXRoIGluc3RydW1lbnRhdGlvbiBhbmQgdGhlbiB3ZSBjYW4gZ28KLWFoZWFkIGFuZCBidWlsZCBhZ2FpbiB1c2luZyB0aGUgcHJvZmlsZSBkYXRhIGdlbmVyYXRlZC4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1zcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KLS0tLQotIE1ha2VmaWxlLnByZS5pbiB8IDYgKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlLnByZS5pbiBiL01ha2VmaWxlLnByZS5pbgotaW5kZXggODRiYzNmZi4uMDE3YTJjNCAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLnByZS5pbgotKysrIGIvTWFrZWZpbGUucHJlLmluCi1AQCAtNDY5LDEzICs0NjksMTIgQEAgcHJvZmlsZS1vcHQ6Ci0gCSQoTUFLRSkgcHJvZmlsZS1yZW1vdmFsCi0gCSQoTUFLRSkgYnVpbGRfYWxsX2dlbmVyYXRlX3Byb2ZpbGUKLSAJJChNQUtFKSBwcm9maWxlLXJlbW92YWwKLS0JQGVjaG8gIlJ1bm5pbmcgY29kZSB0byBnZW5lcmF0ZSBwcm9maWxlIGRhdGEgKHRoaXMgY2FuIHRha2UgYSB3aGlsZSk6IgotLQkkKE1BS0UpIHJ1bl9wcm9maWxlX3Rhc2sKLS0JJChNQUtFKSBidWlsZF9hbGxfbWVyZ2VfcHJvZmlsZQotKwotK2NsZWFuX2FuZF91c2VfcHJvZmlsZToKLSAJQGVjaG8gIlJlYnVpbGRpbmcgd2l0aCBwcm9maWxlIGd1aWRlZCBvcHRpbWl6YXRpb25zOiIKLSAJJChNQUtFKSBjbGVhbgotIAkkKE1BS0UpIGJ1aWxkX2FsbF91c2VfcHJvZmlsZQotIAkkKE1BS0UpIHByb2ZpbGUtcmVtb3ZhbAotIAotIGJ1aWxkX2FsbF9nZW5lcmF0ZV9wcm9maWxlOgotIAkkKE1BS0UpIEBERUZfTUFLRV9SVUxFQCBDRkxBR1NfTk9ESVNUPSIkKENGTEFHUykgJChFWFRSQV9DRkxBR1MpICQoUEdPX1BST0ZfR0VOX0ZMQUcpIEBMVE9GTEFHU0AiIExERkxBR1M9IiQoTERGTEFHUykgJChQR09fUFJPRl9HRU5fRkxBRykgQExUT0ZMQUdTQCIgTElCUz0iJChMSUJTKSIKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDItYnBvLTI5MTM2LUFkZC1UTFMtMS4zLWNpcGhlci1zdWl0ZXMtYW5kLU9QX05PX1RMU3YxXy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDItYnBvLTI5MTM2LUFkZC1UTFMtMS4zLWNpcGhlci1zdWl0ZXMtYW5kLU9QX05PX1RMU3YxXy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDQ4Y2FkNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAyLWJwby0yOTEzNi1BZGQtVExTLTEuMy1jaXBoZXItc3VpdGVzLWFuZC1PUF9OT19UTFN2MV8ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMjcgKzAsMCBAQAotRnJvbSBlOTUwZWE2OGRhYjAwNjk0NGFmMTk0Yzk5MTBiOGYyMzQxZDE0MzdkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hyaXN0aWFuIEhlaW1lcyA8Y2hyaXN0aWFuQHB5dGhvbi5vcmc+Ci1EYXRlOiBUaHUsIDcgU2VwIDIwMTcgMjA6MjM6NTIgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gYnBvLTI5MTM2OiBBZGQgVExTIDEuMyBjaXBoZXIgc3VpdGVzIGFuZCBPUF9OT19UTFN2MV8zCi0gKEdILTEzNjMpICgjMzQ0NCkKLQotKiBicG8tMjkxMzY6IEFkZCBUTFMgMS4zIHN1cHBvcnQKLQotVExTIDEuMyBpbnRyb2R1Y2VzIGEgbmV3LCBkaXN0aW5jdCBzZXQgb2YgY2lwaGVyIHN1aXRlcy4gVGhlIFRMUyAxLjMKLWNpcGhlciBzdWl0ZXMgZG9uJ3Qgb3ZlcmxhcCB3aXRoIGNpcGhlciBzdWl0ZXMgZnJvbSBUTFMgMS4yIGFuZCBlYXJsaWVyLgotU2luY2UgUHl0aG9uIHNldHMgaXRzIG93biBzZXQgb2YgcGVybWl0dGVkIGNpcGhlcnMsIFRMUyAxLjMgaGFuZHNoYWtlCi13aWxsIGZhaWwgYXMgc29vbiBhcyBPcGVuU1NMIDEuMS4xIGlzIHJlbGVhc2VkLiBMZXQncyBlbmFibGUgdGhlIGNvbW1vbgotQUVTLUdDTSBhbmQgQ2hhQ2hhMjAgc3VpdGVzLgotCi1BZGRpdGlvbmFsbHkgdGhlIGZsYWcgT1BfTk9fVExTdjFfMyBpcyBhZGRlZC4gSXQgZGVmYXVsdHMgdG8gMCAobm8gb3ApIHdpdGgKLU9wZW5TU0wgcHJpb3IgdG8gMS4xLjEuIFRoaXMgYWxsb3dzIGFwcGxpY2F0aW9ucyB0byBvcHQtb3V0IGZyb20gVExTIDEuMwotbm93LgotCi1TaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZz4uCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBjYjViNjhhYmRlYjFiMWQ1NmM1ODFkNWI0ZDY0NzAxODcwM2Q2MWUzKQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1baHR0cHM6Ly9naXRodWIuY29tL3B5dGhvbi9jcHl0aG9uL2NvbW1pdC9jYjViNjhhYmRlYjFiMWQ1NmM1ODFkNWI0ZDY0NzAxODcwM2Q2MWUzXQotCi1TaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgotLS0tCi0gRG9jL2xpYnJhcnkvc3NsLnJzdCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjEgKysrKysrKysrKysrKysKLSBMaWIvc3NsLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNyArKysrKwotIExpYi90ZXN0L3Rlc3Rfc3NsLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICB8IDI5ICsrKysrKysrKysrKysrKysrKy0KLSAuLi4vMjAxNy0wOS0wNC0xNi0zOS00OS5icG8tMjkxMzYudlNuMW9SLnJzdCAgfCAgMSArCi0gTW9kdWxlcy9fc3NsLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKysrKysrCi0gNSBmaWxlcyBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IE1pc2MvTkVXUy5kL25leHQvTGlicmFyeS8yMDE3LTA5LTA0LTE2LTM5LTQ5LmJwby0yOTEzNi52U24xb1IucnN0Ci0KLWRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zc2wucnN0IGIvRG9jL2xpYnJhcnkvc3NsLnJzdAotaW5kZXggMTRmMmQ2ODIxNy4uMjljNWU5NGNmNiAxMDA2NDQKLS0tLSBhL0RvYy9saWJyYXJ5L3NzbC5yc3QKLSsrKyBiL0RvYy9saWJyYXJ5L3NzbC5yc3QKLUBAIC0yODUsNiArMjg1LDExIEBAIHB1cnBvc2VzLgotIAotICAgICAgM0RFUyB3YXMgZHJvcHBlZCBmcm9tIHRoZSBkZWZhdWx0IGNpcGhlciBzdHJpbmcuCi0gCi0rICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjcKLSsKLSsgICAgIFRMUyAxLjMgY2lwaGVyIHN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2LCBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0LAotKyAgICAgYW5kIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgd2VyZSBhZGRlZCB0byB0aGUgZGVmYXVsdCBjaXBoZXIgc3RyaW5nLgotKwotIAotIFJhbmRvbSBnZW5lcmF0aW9uCi0gXl5eXl5eXl5eXl5eXl5eXl4KLUBAIC03MTksNiArNzI0LDE2IEBAIENvbnN0YW50cwotIAotICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAotIAotKy4uIGRhdGE6OiBPUF9OT19UTFN2MV8zCi0rCi0rICAgUHJldmVudHMgYSBUTFN2MS4zIGNvbm5lY3Rpb24uIFRoaXMgb3B0aW9uIGlzIG9ubHkgYXBwbGljYWJsZSBpbiBjb25qdW5jdGlvbgotKyAgIHdpdGggOmNvbnN0OmBQUk9UT0NPTF9UTFNgLiBJdCBwcmV2ZW50cyB0aGUgcGVlcnMgZnJvbSBjaG9vc2luZyBUTFN2MS4zIGFzCi0rICAgdGhlIHByb3RvY29sIHZlcnNpb24uIFRMUyAxLjMgaXMgYXZhaWxhYmxlIHdpdGggT3BlblNTTCAxLjEuMSBvciBsYXRlci4KLSsgICBXaGVuIFB5dGhvbiBoYXMgYmVlbiBjb21waWxlZCBhZ2FpbnN0IGFuIG9sZGVyIHZlcnNpb24gb2YgT3BlblNTTCwgdGhlCi0rICAgZmxhZyBkZWZhdWx0cyB0byAqMCouCi0rCi0rICAgLi4gdmVyc2lvbmFkZGVkOjogMy43Ci0rCi0gLi4gZGF0YTo6IE9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRQotIAotICAgIFVzZSB0aGUgc2VydmVyJ3MgY2lwaGVyIG9yZGVyaW5nIHByZWZlcmVuY2UsIHJhdGhlciB0aGFuIHRoZSBjbGllbnQncy4KLUBAIC03ODMsNiArNzk4LDEyIEBAIENvbnN0YW50cwotIAotICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwotIAotKy4uIGRhdGE6OiBIQVNfVExTdjFfMwotKwotKyAgIFdoZXRoZXIgdGhlIE9wZW5TU0wgbGlicmFyeSBoYXMgYnVpbHQtaW4gc3VwcG9ydCBmb3IgdGhlIFRMUyAxLjMgcHJvdG9jb2wuCi0rCi0rICAgLi4gdmVyc2lvbmFkZGVkOjogMy43Ci0rCi0gLi4gZGF0YTo6IENIQU5ORUxfQklORElOR19UWVBFUwotIAotICAgIExpc3Qgb2Ygc3VwcG9ydGVkIFRMUyBjaGFubmVsIGJpbmRpbmcgdHlwZXMuICBTdHJpbmdzIGluIHRoaXMgbGlzdAotZGlmZiAtLWdpdCBhL0xpYi9zc2wucHkgYi9MaWIvc3NsLnB5Ci1pbmRleCA0ZDMwMmE3OGZhLi5mMjMzZTcyZTFmIDEwMDY0NAotLS0tIGEvTGliL3NzbC5weQotKysrIGIvTGliL3NzbC5weQotQEAgLTEyMiw2ICsxMjIsNyBAQCBfaW1wb3J0X3N5bWJvbHMoJ09QXycpCi0gX2ltcG9ydF9zeW1ib2xzKCdBTEVSVF9ERVNDUklQVElPTl8nKQotIF9pbXBvcnRfc3ltYm9scygnU1NMX0VSUk9SXycpCi0gX2ltcG9ydF9zeW1ib2xzKCdWRVJJRllfJykKLStmcm9tIF9zc2wgaW1wb3J0IEhBU19TTkksIEhBU19FQ0RILCBIQVNfTlBOLCBIQVNfQUxQTiwgSEFTX1RMU3YxXzMKLSAKLSBmcm9tIF9zc2wgaW1wb3J0IEhBU19TTkksIEhBU19FQ0RILCBIQVNfTlBOLCBIQVNfQUxQTgotIAotQEAgLTE2Miw2ICsxNjMsNyBAQCBlbHNlOgotICMgKE9wZW5TU0wncyBkZWZhdWx0IHNldHRpbmcgaXMgJ0RFRkFVTFQ6IWFOVUxMOiFlTlVMTCcpCi0gIyBFbmFibGUgYSBiZXR0ZXIgc2V0IG9mIGNpcGhlcnMgYnkgZGVmYXVsdAotICMgVGhpcyBsaXN0IGhhcyBiZWVuIGV4cGxpY2l0bHkgY2hvc2VuIHRvOgotKyMgICAqIFRMUyAxLjMgQ2hhQ2hhMjAgYW5kIEFFUy1HQ00gY2lwaGVyIHN1aXRlcwotICMgICAqIFByZWZlciBjaXBoZXIgc3VpdGVzIHRoYXQgb2ZmZXIgcGVyZmVjdCBmb3J3YXJkIHNlY3JlY3kgKERIRS9FQ0RIRSkKLSAjICAgKiBQcmVmZXIgRUNESEUgb3ZlciBESEUgZm9yIGJldHRlciBwZXJmb3JtYW5jZQotICMgICAqIFByZWZlciBBRUFEIG92ZXIgQ0JDIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UgYW5kIHNlY3VyaXR5Ci1AQCAtMTczLDYgKzE3NSw4IEBAIGVsc2U6Ci0gIyAgICogRGlzYWJsZSBOVUxMIGF1dGhlbnRpY2F0aW9uLCBOVUxMIGVuY3J5cHRpb24sIDNERVMgYW5kIE1ENSBNQUNzCi0gIyAgICAgZm9yIHNlY3VyaXR5IHJlYXNvbnMKLSBfREVGQVVMVF9DSVBIRVJTID0gKAotKyAgICAnVExTMTMtQUVTLTI1Ni1HQ00tU0hBMzg0OlRMUzEzLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NjonCi0rICAgICdUTFMxMy1BRVMtMTI4LUdDTS1TSEEyNTY6JwotICAgICAnRUNESCtBRVNHQ006RUNESCtDSEFDSEEyMDpESCtBRVNHQ006REgrQ0hBQ0hBMjA6RUNESCtBRVMyNTY6REgrQUVTMjU2OicKLSAgICAgJ0VDREgrQUVTMTI4OkRIK0FFUzpFQ0RIK0hJR0g6REgrSElHSDpSU0ErQUVTR0NNOlJTQStBRVM6UlNBK0hJR0g6JwotICAgICAnIWFOVUxMOiFlTlVMTDohTUQ1OiEzREVTJwotQEAgLTE4MCw2ICsxODQsNyBAQCBfREVGQVVMVF9DSVBIRVJTID0gKAotIAotICMgUmVzdHJpY3RlZCBhbmQgbW9yZSBzZWN1cmUgY2lwaGVycyBmb3IgdGhlIHNlcnZlciBzaWRlCi0gIyBUaGlzIGxpc3QgaGFzIGJlZW4gZXhwbGljaXRseSBjaG9zZW4gdG86Ci0rIyAgICogVExTIDEuMyBDaGFDaGEyMCBhbmQgQUVTLUdDTSBjaXBoZXIgc3VpdGVzCi0gIyAgICogUHJlZmVyIGNpcGhlciBzdWl0ZXMgdGhhdCBvZmZlciBwZXJmZWN0IGZvcndhcmQgc2VjcmVjeSAoREhFL0VDREhFKQotICMgICAqIFByZWZlciBFQ0RIRSBvdmVyIERIRSBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlCi0gIyAgICogUHJlZmVyIEFFQUQgb3ZlciBDQkMgZm9yIGJldHRlciBwZXJmb3JtYW5jZSBhbmQgc2VjdXJpdHkKLUBAIC0xOTAsNiArMTk1LDggQEAgX0RFRkFVTFRfQ0lQSEVSUyA9ICgKLSAjICAgKiBEaXNhYmxlIE5VTEwgYXV0aGVudGljYXRpb24sIE5VTEwgZW5jcnlwdGlvbiwgTUQ1IE1BQ3MsIERTUywgUkM0LCBhbmQKLSAjICAgICAzREVTIGZvciBzZWN1cml0eSByZWFzb25zCi0gX1JFU1RSSUNURURfU0VSVkVSX0NJUEhFUlMgPSAoCi0rICAgICdUTFMxMy1BRVMtMjU2LUdDTS1TSEEzODQ6VExTMTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2OicKLSsgICAgJ1RMUzEzLUFFUy0xMjgtR0NNLVNIQTI1NjonCi0gICAgICdFQ0RIK0FFU0dDTTpFQ0RIK0NIQUNIQTIwOkRIK0FFU0dDTTpESCtDSEFDSEEyMDpFQ0RIK0FFUzI1NjpESCtBRVMyNTY6JwotICAgICAnRUNESCtBRVMxMjg6REgrQUVTOkVDREgrSElHSDpESCtISUdIOlJTQStBRVNHQ006UlNBK0FFUzpSU0ErSElHSDonCi0gICAgICchYU5VTEw6IWVOVUxMOiFNRDU6IURTUzohUkM0OiEzREVTJwotZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5IGIvTGliL3Rlc3QvdGVzdF9zc2wucHkKLWluZGV4IGY5MWFmN2JkMDUuLjFhY2MxMmVjMmQgMTAwNjQ0Ci0tLS0gYS9MaWIvdGVzdC90ZXN0X3NzbC5weQotKysrIGIvTGliL3Rlc3QvdGVzdF9zc2wucHkKLUBAIC0xNTAsNiArMTUwLDEzIEBAIGNsYXNzIEJhc2ljU29ja2V0VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgotICAgICAgICAgICAgIHNzbC5PUF9OT19DT01QUkVTU0lPTgotICAgICAgICAgc2VsZi5hc3NlcnRJbihzc2wuSEFTX1NOSSwge1RydWUsIEZhbHNlfSkKLSAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc3NsLkhBU19FQ0RILCB7VHJ1ZSwgRmFsc2V9KQotKyAgICAgICAgc3NsLk9QX05PX1NTTHYyCi0rICAgICAgICBzc2wuT1BfTk9fU1NMdjMKLSsgICAgICAgIHNzbC5PUF9OT19UTFN2MQotKyAgICAgICAgc3NsLk9QX05PX1RMU3YxXzMKLSsgICAgaWYgc3NsLk9QRU5TU0xfVkVSU0lPTl9JTkZPID49ICgxLCAwLCAxKToKLSsgICAgICAgICAgICBzc2wuT1BfTk9fVExTdjFfMQotKyAgICAgICAgICAgIHNzbC5PUF9OT19UTFN2MV8yCi0gCi0gICAgIGRlZiB0ZXN0X3N0cl9mb3JfZW51bXMoc2VsZik6Ci0gICAgICAgICAjIE1ha2Ugc3VyZSB0aGF0IHRoZSBQUk9UT0NPTF8qIGNvbnN0YW50cyBoYXZlIGVudW0tbGlrZSBzdHJpbmcKLUBAIC0zMDI4LDEyICszMDM1LDMzIEBAIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMudmVyc2lvbigpLCAnVExTdjEnKQotICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzKHMudmVyc2lvbigpLCBOb25lKQotIAotKyAgICAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3NsLkhBU19UTFN2MV8zLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3QgcmVxdWlyZXMgVExTdjEuMyBlbmFibGVkIE9wZW5TU0wiKQotKyAgICAgICAgZGVmIHRlc3RfdGxzMV8zKHNlbGYpOgotKyAgICAgICAgICAgIGNvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTKQotKyAgICAgICAgICAgIGNvbnRleHQubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFKQotKyAgICAgICAgICAgICMgZGlzYWJsZSBhbGwgYnV0IFRMUyAxLjMKLSsgICAgICAgICAgICBjb250ZXh0Lm9wdGlvbnMgfD0gKAotKyAgICAgICAgICAgICAgICBzc2wuT1BfTk9fVExTdjEgfCBzc2wuT1BfTk9fVExTdjFfMSB8IHNzbC5PUF9OT19UTFN2MV8yCi0rICAgICAgICAgICAgKQotKyAgICAgICAgICAgIHdpdGggVGhyZWFkZWRFY2hvU2VydmVyKGNvbnRleHQ9Y29udGV4dCkgYXMgc2VydmVyOgotKyAgICAgICAgICAgICAgICB3aXRoIGNvbnRleHQud3JhcF9zb2NrZXQoc29ja2V0LnNvY2tldCgpKSBhcyBzOgotKyAgICAgICAgICAgICAgICAgICAgcy5jb25uZWN0KChIT1NULCBzZXJ2ZXIucG9ydCkpCi0rICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKHMuY2lwaGVyKClbMF0sIFsKLSsgICAgICAgICAgICAgICAgICAgICAgICAnVExTMTMtQUVTLTI1Ni1HQ00tU0hBMzg0JywKLSsgICAgICAgICAgICAgICAgICAgICAgICAnVExTMTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2JywKLSsgICAgICAgICAgICAgICAgICAgICAgICAnVExTMTMtQUVTLTEyOC1HQ00tU0hBMjU2JywKLSsgICAgICAgICAgICAgICAgICAgIF0pCi0rCi0gICAgICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzc2wuSEFTX0VDREgsICJ0ZXN0IHJlcXVpcmVzIEVDREgtZW5hYmxlZCBPcGVuU1NMIikKLSAgICAgICAgIGRlZiB0ZXN0X2RlZmF1bHRfZWNkaF9jdXJ2ZShzZWxmKToKLSAgICAgICAgICAgICAjIElzc3VlICMyMTAxNTogZWxsaXB0aWMgY3VydmUtYmFzZWQgRGlmZmllIEhlbGxtYW4ga2V5IGV4Y2hhbmdlCi0gICAgICAgICAgICAgIyBzaG91bGQgYmUgZW5hYmxlZCBieSBkZWZhdWx0IG9uIFNTTCBjb250ZXh0cy4KLSAgICAgICAgICAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1NTTHYyMykKLSAgICAgICAgICAgICBjb250ZXh0LmxvYWRfY2VydF9jaGFpbihDRVJURklMRSkKLSsgICAgICAgICAgICAjIFRMU3YxLjMgZGVmYXVsdHMgdG8gUEZTIGtleSBhZ3JlZW1lbnQgYW5kIG5vIGxvbmdlciBoYXMgS0VBIGluCi0rICAgICAgICAgICAgIyBjaXBoZXIgbmFtZS4KLSsgICAgICAgICAgICBjb250ZXh0Lm9wdGlvbnMgfD0gc3NsLk9QX05PX1RMU3YxXzMKLSAgICAgICAgICAgICAjIFByaW9yIHRvIE9wZW5TU0wgMS4wLjAsIEVDREggY2lwaGVycyBoYXZlIHRvIGJlIGVuYWJsZWQKLSAgICAgICAgICAgICAjIGV4cGxpY2l0bHkgdXNpbmcgdGhlICdFQ0NkcmFmdCcgY2lwaGVyIGFsaWFzLiAgT3RoZXJ3aXNlLAotICAgICAgICAgICAgICMgb3VyIGRlZmF1bHQgY2lwaGVyIGxpc3Qgc2hvdWxkIHByZWZlciBFQ0RILWJhc2VkIGNpcGhlcnMKLUBAIC0zMzk0LDcgKzM0MjIsNiBAQCBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgIHMuc2VuZGZpbGUoZmlsZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMucmVjdigxMDI0KSwgVEVTVF9EQVRBKQotIAotLQotIGRlZiB0ZXN0X21haW4odmVyYm9zZT1GYWxzZSk6Ci0gICAgIGlmIHN1cHBvcnQudmVyYm9zZToKLSAgICAgICAgIGltcG9ydCB3YXJuaW5ncwotZGlmZiAtLWdpdCBhL01pc2MvTkVXUy5kL25leHQvTGlicmFyeS8yMDE3LTA5LTA0LTE2LTM5LTQ5LmJwby0yOTEzNi52U24xb1IucnN0IGIvTWlzYy9ORVdTLmQvbmV4dC9MaWJyYXJ5LzIwMTctMDktMDQtMTYtMzktNDkuYnBvLTI5MTM2LnZTbjFvUi5yc3QKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi5lNzY5OTdlZjgzCi0tLS0gL2Rldi9udWxsCi0rKysgYi9NaXNjL05FV1MuZC9uZXh0L0xpYnJhcnkvMjAxNy0wOS0wNC0xNi0zOS00OS5icG8tMjkxMzYudlNuMW9SLnJzdAotQEAgLTAsMCArMSBAQAotK0FkZCBUTFMgMS4zIGNpcGhlciBzdWl0ZXMgYW5kIE9QX05PX1RMU3YxXzMuCi1kaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3NsLmMgYi9Nb2R1bGVzL19zc2wuYwotaW5kZXggMGQ1YzEyMWQyYy4uYzcxZDg5NjA3YyAxMDA2NDQKLS0tLSBhL01vZHVsZXMvX3NzbC5jCi0rKysgYi9Nb2R1bGVzL19zc2wuYwotQEAgLTQ4NDIsNiArNDg0MiwxMSBAQCBQeUluaXRfX3NzbCh2b2lkKQotICNpZiBIQVZFX1RMU3YxXzIKLSAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk9QX05PX1RMU3YxXzEiLCBTU0xfT1BfTk9fVExTdjFfMSk7Ci0gICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJPUF9OT19UTFN2MV8yIiwgU1NMX09QX05PX1RMU3YxXzIpOwotKyNlbmRpZgotKyNpZmRlZiBTU0xfT1BfTk9fVExTdjFfMwotKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiT1BfTk9fVExTdjFfMyIsIFNTTF9PUF9OT19UTFN2MV8zKTsKLSsjZWxzZQotKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiT1BfTk9fVExTdjFfMyIsIDApOwotICNlbmRpZgotICAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1NMX09QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSk7Ci1AQCAtNDg5MCw2ICs0ODk1LDE0IEBAIFB5SW5pdF9fc3NsKHZvaWQpCi0gICAgIFB5X0lOQ1JFRihyKTsKLSAgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJIQVNfQUxQTiIsIHIpOwotIAotKyNpZiBkZWZpbmVkKFRMUzFfM19WRVJTSU9OKSAmJiAhZGVmaW5lZChPUEVOU1NMX05PX1RMUzFfMykKLSsgICAgciA9IFB5X1RydWU7Ci0rI2Vsc2UKLSsgICAgciA9IFB5X0ZhbHNlOwotKyNlbmRpZgotKyAgICBQeV9JTkNSRUYocik7Ci0rICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiSEFTX1RMU3YxXzMiLCByKTsKLSsKLSAgICAgLyogTWFwcGluZ3MgZm9yIGVycm9yIGNvZGVzICovCi0gICAgIGVycl9jb2Rlc190b19uYW1lcyA9IFB5RGljdF9OZXcoKTsKLSAgICAgZXJyX25hbWVzX3RvX2NvZGVzID0gUHlEaWN0X05ldygpOwotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMy1icG8tMzI5NDctRml4ZXMtZm9yLVRMUy0xLjMtYW5kLU9wZW5TU0wtMS4xLjEtR0gtODc2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMy1icG8tMzI5NDctRml4ZXMtZm9yLVRMUy0xLjMtYW5kLU9wZW5TU0wtMS4xLjEtR0gtODc2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NmQ1OTFkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDMtYnBvLTMyOTQ3LUZpeGVzLWZvci1UTFMtMS4zLWFuZC1PcGVuU1NMLTEuMS4xLUdILTg3Ni5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE3MyArMCwwIEBACi1Gcm9tIDE3MGE2MTQ5MDRmZWJkMTRmZjZjZmQ3YTc1YzliY2NjMTE0YjM5NDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZz4KLURhdGU6IFR1ZSwgMTQgQXVnIDIwMTggMTY6NTY6MzIgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gYnBvLTMyOTQ3OiBGaXhlcyBmb3IgVExTIDEuMyBhbmQgT3BlblNTTCAxLjEuMSAoR0gtODc2MSkKLQotQmFja3BvcnQgb2YgVExTIDEuMyByZWxhdGVkIGZpeGVzIGZyb20gMy43LgotCi1NaXNjIGZpeGVzIGFuZCB3b3JrYXJvdW5kcyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIE9wZW5TU0wgMS4xLjEgZnJvbSBnaXQKLW1hc3RlciBhbmQgVExTIDEuMyBzdXBwb3J0LiBXaXRoIE9wZW5TU0wgMS4xLjEsIFB5dGhvbiBuZWdvdGlhdGVzIFRMUyAxLjMgYnkKLWRlZmF1bHQuIFNvbWUgdGVzdCBjYXNlcyBvbmx5IGFwcGx5IHRvIFRMUyAxLjIuCi0KLU9wZW5TU0wgMS4xLjEgaGFzIGFkZGVkIGEgbmV3IG9wdGlvbiBPUF9FTkFCTEVfTUlERExFQk9YX0NPTVBBVCBmb3IgVExTCi0xLjMuIFRoZSBmZWF0dXJlIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBmb3IgbWF4aW11bSBjb21wYXRpYmlsaXR5IHdpdGgKLWJyb2tlbiBtaWRkbGUgYm94ZXMuIFVzZXJzIHNob3VsZCBiZSBhYmxlIHRvIGRpc2FibGUgdGhlIGhhY2sgYW5kIENQeXRob24ncyB0ZXN0IHN1aXRlIG5lZWRzCi1pdCB0byB2ZXJpZnkgZGVmYXVsdCBvcHRpb25zCi0KLVNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBIZWltZXMgPGNocmlzdGlhbkBweXRob24ub3JnPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1baHR0cHM6Ly9naXRodWIuY29tL3B5dGhvbi9jcHl0aG9uL2NvbW1pdC8yYTRlZThhYTAxZDYxYjZhOWM4ZTljNjVjMjExZTYxYmRiNDcxODI2XQotCi1TaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgotLS0tCi0gRG9jL2xpYnJhcnkvc3NsLnJzdCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDkgKysrKysrCi0gTGliL3Rlc3QvdGVzdF9hc3luY2lvL3Rlc3RfZXZlbnRzLnB5ICAgICAgICAgIHwgIDYgKysrLQotIExpYi90ZXN0L3Rlc3Rfc3NsLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICB8IDI5ICsrKysrKysrKysrKysrKy0tLS0KLSAuLi4vMjAxOC0wOC0xNC0wOC01Ny0wMS5icG8tMzI5NDcubXFTdFZXLnJzdCAgfCAgMiArKwotIE1vZHVsZXMvX3NzbC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrKwotIDUgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgTWlzYy9ORVdTLmQvbmV4dC9MaWJyYXJ5LzIwMTgtMDgtMTQtMDgtNTctMDEuYnBvLTMyOTQ3Lm1xU3RWVy5yc3QKLQotZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NzbC5yc3QgYi9Eb2MvbGlicmFyeS9zc2wucnN0Ci1pbmRleCAyOWM1ZTk0Y2Y2Li5mNjNhM2RlZWM1IDEwMDY0NAotLS0tIGEvRG9jL2xpYnJhcnkvc3NsLnJzdAotKysrIGIvRG9jL2xpYnJhcnkvc3NsLnJzdAotQEAgLTc1Nyw2ICs3NTcsMTUgQEAgQ29uc3RhbnRzCi0gCi0gICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCi0gCi0rLi4gZGF0YTo6IE9QX0VOQUJMRV9NSURETEVCT1hfQ09NUEFUCi0rCi0rICAgU2VuZCBkdW1teSBDaGFuZ2UgQ2lwaGVyIFNwZWMgKENDUykgbWVzc2FnZXMgaW4gVExTIDEuMyBoYW5kc2hha2UgdG8gbWFrZQotKyAgIGEgVExTIDEuMyBjb25uZWN0aW9uIGxvb2sgbW9yZSBsaWtlIGEgVExTIDEuMiBjb25uZWN0aW9uLgotKwotKyAgIFRoaXMgb3B0aW9uIGlzIG9ubHkgYXZhaWxhYmxlIHdpdGggT3BlblNTTCAxLjEuMSBhbmQgbGF0ZXIuCi0rCi0rICAgLi4gdmVyc2lvbmFkZGVkOjogMy42LjcKLSsKLSAuLiBkYXRhOjogT1BfTk9fQ09NUFJFU1NJT04KLSAKLSAgICBEaXNhYmxlIGNvbXByZXNzaW9uIG9uIHRoZSBTU0wgY2hhbm5lbC4gIFRoaXMgaXMgdXNlZnVsIGlmIHRoZSBhcHBsaWNhdGlvbgotZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYXN5bmNpby90ZXN0X2V2ZW50cy5weSBiL0xpYi90ZXN0L3Rlc3RfYXN5bmNpby90ZXN0X2V2ZW50cy5weQotaW5kZXggNDkyYTg0YTIzMS4uNmYyMDg0NzRiOSAxMDA2NDQKLS0tLSBhL0xpYi90ZXN0L3Rlc3RfYXN5bmNpby90ZXN0X2V2ZW50cy5weQotKysrIGIvTGliL3Rlc3QvdGVzdF9hc3luY2lvL3Rlc3RfZXZlbnRzLnB5Ci1AQCAtMTE2OSw3ICsxMTY5LDExIEBAIGNsYXNzIEV2ZW50TG9vcFRlc3RzTWl4aW46Ci0gICAgICAgICAgICAgICAgICAgICBzZWxmLmxvb3AucnVuX3VudGlsX2NvbXBsZXRlKGZfYykKLSAKLSAgICAgICAgICMgY2xvc2UgY29ubmVjdGlvbgotLSAgICAgICAgcHJvdG8udHJhbnNwb3J0LmNsb3NlKCkKLSsgICAgICAgICMgdHJhbnNwb3J0IG1heSBiZSBOb25lIHdpdGggVExTIDEuMywgYmVjYXVzZSBjb25uZWN0aW9uIGlzCi0rICAgICAgICAjIGludGVycnVwdGVkLCBzZXJ2ZXIgaXMgdW5hYmxlIHRvIHNlbmQgc2Vzc2lvbiB0aWNrZXRzLCBhbmQKLSsgICAgICAgICMgdHJhbnNwb3J0IGlzIGNsb3NlZC4KLSsgICAgICAgIGlmIHByb3RvLnRyYW5zcG9ydCBpcyBub3QgTm9uZToKLSsgICAgICAgICAgICBwcm90by50cmFuc3BvcnQuY2xvc2UoKQotICAgICAgICAgc2VydmVyLmNsb3NlKCkKLSAKLSAgICAgZGVmIHRlc3RfbGVnYWN5X2NyZWF0ZV9zZXJ2ZXJfc3NsX21hdGNoX2ZhaWxlZChzZWxmKToKLWRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NzbC5weSBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci1pbmRleCAxYWNjMTJlYzJkLi5hMmUxZDMyYTYyIDEwMDY0NAotLS0tIGEvTGliL3Rlc3QvdGVzdF9zc2wucHkKLSsrKyBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci1AQCAtNzgsNiArNzgsNyBAQCBPUF9OT19DT01QUkVTU0lPTiA9IGdldGF0dHIoc3NsLCAiT1BfTk9fQ09NUFJFU1NJT04iLCAwKQotIE9QX1NJTkdMRV9ESF9VU0UgPSBnZXRhdHRyKHNzbCwgIk9QX1NJTkdMRV9ESF9VU0UiLCAwKQotIE9QX1NJTkdMRV9FQ0RIX1VTRSA9IGdldGF0dHIoc3NsLCAiT1BfU0lOR0xFX0VDREhfVVNFIiwgMCkKLSBPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UgPSBnZXRhdHRyKHNzbCwgIk9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSIsIDApCi0rT1BfRU5BQkxFX01JRERMRUJPWF9DT01QQVQgPSBnZXRhdHRyKHNzbCwgIk9QX0VOQUJMRV9NSURETEVCT1hfQ09NUEFUIiwgMCkKLSAKLSAKLSBkZWYgaGFuZGxlX2Vycm9yKHByZWZpeCk6Ci1AQCAtMTU1LDggKzE1Niw4IEBAIGNsYXNzIEJhc2ljU29ja2V0VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgotICAgICAgICAgc3NsLk9QX05PX1RMU3YxCi0gICAgICAgICBzc2wuT1BfTk9fVExTdjFfMwotICAgICBpZiBzc2wuT1BFTlNTTF9WRVJTSU9OX0lORk8gPj0gKDEsIDAsIDEpOgotLSAgICAgICAgICAgIHNzbC5PUF9OT19UTFN2MV8xCi0tICAgICAgICAgICAgc3NsLk9QX05PX1RMU3YxXzIKLSsgICAgICAgIHNzbC5PUF9OT19UTFN2MV8xCi0rICAgICAgICBzc2wuT1BfTk9fVExTdjFfMgotIAotICAgICBkZWYgdGVzdF9zdHJfZm9yX2VudW1zKHNlbGYpOgotICAgICAgICAgIyBNYWtlIHN1cmUgdGhhdCB0aGUgUFJPVE9DT0xfKiBjb25zdGFudHMgaGF2ZSBlbnVtLWxpa2Ugc3RyaW5nCi1AQCAtODU0LDcgKzg1NSw4IEBAIGNsYXNzIENvbnRleHRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICBkZWZhdWx0ID0gKHNzbC5PUF9BTEwgfCBzc2wuT1BfTk9fU1NMdjIgfCBzc2wuT1BfTk9fU1NMdjMpCi0gICAgICAgICAjIFNTTENvbnRleHQgYWxzbyBlbmFibGVzIHRoZXNlIGJ5IGRlZmF1bHQKLSAgICAgICAgIGRlZmF1bHQgfD0gKE9QX05PX0NPTVBSRVNTSU9OIHwgT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFIHwKLS0gICAgICAgICAgICAgICAgICAgIE9QX1NJTkdMRV9ESF9VU0UgfCBPUF9TSU5HTEVfRUNESF9VU0UpCi0rICAgICAgICAgICAgICAgICAgICBPUF9TSU5HTEVfREhfVVNFIHwgT1BfU0lOR0xFX0VDREhfVVNFIHwKLSsgICAgICAgICAgICAgICAgICAgIE9QX0VOQUJMRV9NSURETEVCT1hfQ09NUEFUKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZWZhdWx0LCBjdHgub3B0aW9ucykKLSAgICAgICAgIGN0eC5vcHRpb25zIHw9IHNzbC5PUF9OT19UTFN2MQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZWZhdWx0IHwgc3NsLk9QX05PX1RMU3YxLCBjdHgub3B0aW9ucykKLUBAIC0xODYwLDExICsxODYyLDI2IEBAIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zb2NrLCBzZXJ2ZXJfc2lkZT1UcnVlKQotICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuc2VsZWN0ZWRfbnBuX3Byb3RvY29scy5hcHBlbmQoc2VsZi5zc2xjb25uLnNlbGVjdGVkX25wbl9wcm90b2NvbCgpKQotICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuc2VsZWN0ZWRfYWxwbl9wcm90b2NvbHMuYXBwZW5kKHNlbGYuc3NsY29ubi5zZWxlY3RlZF9hbHBuX3Byb3RvY29sKCkpCi0tICAgICAgICAgICAgICAgIGV4Y2VwdCAoc3NsLlNTTEVycm9yLCBDb25uZWN0aW9uUmVzZXRFcnJvcikgYXMgZToKLSsgICAgICAgICAgICAgICAgZXhjZXB0IChDb25uZWN0aW9uUmVzZXRFcnJvciwgQnJva2VuUGlwZUVycm9yKSBhcyBlOgotICAgICAgICAgICAgICAgICAgICAgIyBXZSB0cmVhdCBDb25uZWN0aW9uUmVzZXRFcnJvciBhcyB0aG91Z2ggaXQgd2VyZSBhbgotICAgICAgICAgICAgICAgICAgICAgIyBTU0xFcnJvciAtIE9wZW5TU0wgb24gVWJ1bnR1IGFicnVwdGx5IGNsb3NlcyB0aGUKLSAgICAgICAgICAgICAgICAgICAgICMgY29ubmVjdGlvbiB3aGVuIGFza2VkIHRvIHVzZSBhbiB1bnN1cHBvcnRlZCBwcm90b2NvbC4KLSAgICAgICAgICAgICAgICAgICAgICMKLSsgICAgICAgICAgICAgICAgICAgICMgQnJva2VuUGlwZUVycm9yIGlzIHJhaXNlZCBpbiBUTFMgMS4zIG1vZGUsIHdoZW4gT3BlblNTTAotKyAgICAgICAgICAgICAgICAgICAgIyB0cmllcyB0byBzZW5kIHNlc3Npb24gdGlja2V0cyBhZnRlciBoYW5kc2hha2UuCi0rICAgICAgICAgICAgICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29wZW5zc2wvaXNzdWVzLzYzNDIKLSsgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyLmNvbm5fZXJyb3JzLmFwcGVuZChzdHIoZSkpCi0rICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLnNlcnZlci5jaGF0dHk6Ci0rICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlX2Vycm9yKAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXG4gc2VydmVyOiAgYmFkIGNvbm5lY3Rpb24gYXR0ZW1wdCBmcm9tICIgKyByZXByKAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hZGRyKSArICI6XG4iKQotKyAgICAgICAgICAgICAgICAgICAgc2VsZi5ydW5uaW5nID0gRmFsc2UKLSsgICAgICAgICAgICAgICAgICAgIHNlbGYuY2xvc2UoKQotKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0rICAgICAgICAgICAgICAgIGV4Y2VwdCAoc3NsLlNTTEVycm9yLCBPU0Vycm9yKSBhcyBlOgotKyAgICAgICAgICAgICAgICAgICAgIyBPU0Vycm9yIG1heSBvY2N1ciB3aXRoIHdyb25nIHByb3RvY29scywgZS5nLiBib3RoCi0rICAgICAgICAgICAgICAgICAgICAjIHNpZGVzIHVzZSBQUk9UT0NPTF9UTFNfU0VSVkVSLgotKyAgICAgICAgICAgICAgICAgICAgIwotICAgICAgICAgICAgICAgICAgICAgIyBYWFggVmFyaW91cyBlcnJvcnMgY2FuIGhhdmUgaGFwcGVuZWQgaGVyZSwgZm9yIGV4YW1wbGUKLSAgICAgICAgICAgICAgICAgICAgICMgYSBtaXNtYXRjaGluZyBwcm90b2NvbCB2ZXJzaW9uLCBhbiBpbnZhbGlkIGNlcnRpZmljYXRlLAotICAgICAgICAgICAgICAgICAgICAgIyBvciBhIGxvdy1sZXZlbCBidWcuIFRoaXMgc2hvdWxkIGJlIG1hZGUgbW9yZSBkaXNjcmltaW5hdGluZy4KLUBAIC0yOTc0LDcgKzI5OTEsNyBAQCBlbHNlOgotICAgICAgICAgICAgICAgICAjIEJsb2NrIG9uIHRoZSBhY2NlcHQgYW5kIHdhaXQgb24gdGhlIGNvbm5lY3Rpb24gdG8gY2xvc2UuCi0gICAgICAgICAgICAgICAgIGV2dC5zZXQoKQotICAgICAgICAgICAgICAgICByZW1vdGUsIHBlZXIgPSBzZXJ2ZXIuYWNjZXB0KCkKLS0gICAgICAgICAgICAgICAgcmVtb3RlLnJlY3YoMSkKLSsgICAgICAgICAgICAgICAgcmVtb3RlLnNlbmQocmVtb3RlLnJlY3YoNCkpCi0gCi0gICAgICAgICAgICAgdCA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlcnZlKQotICAgICAgICAgICAgIHQuc3RhcnQoKQotQEAgLTI5ODIsNiArMjk5OSw4IEBAIGVsc2U6Ci0gICAgICAgICAgICAgZXZ0LndhaXQoKQotICAgICAgICAgICAgIGNsaWVudCA9IGNvbnRleHQud3JhcF9zb2NrZXQoc29ja2V0LnNvY2tldCgpKQotICAgICAgICAgICAgIGNsaWVudC5jb25uZWN0KChob3N0LCBwb3J0KSkKLSsgICAgICAgICAgICBjbGllbnQuc2VuZChiJ2RhdGEnKQotKyAgICAgICAgICAgIGNsaWVudC5yZWN2KCkKLSAgICAgICAgICAgICBjbGllbnRfYWRkciA9IGNsaWVudC5nZXRzb2NrbmFtZSgpCi0gICAgICAgICAgICAgY2xpZW50LmNsb3NlKCkKLSAgICAgICAgICAgICB0LmpvaW4oKQotZGlmZiAtLWdpdCBhL01pc2MvTkVXUy5kL25leHQvTGlicmFyeS8yMDE4LTA4LTE0LTA4LTU3LTAxLmJwby0zMjk0Ny5tcVN0VlcucnN0IGIvTWlzYy9ORVdTLmQvbmV4dC9MaWJyYXJ5LzIwMTgtMDgtMTQtMDgtNTctMDEuYnBvLTMyOTQ3Lm1xU3RWVy5yc3QKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi4yOGRlMzYwYzM2Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9NaXNjL05FV1MuZC9uZXh0L0xpYnJhcnkvMjAxOC0wOC0xNC0wOC01Ny0wMS5icG8tMzI5NDcubXFTdFZXLnJzdAotQEAgLTAsMCArMSwyIEBACi0rQWRkIE9QX0VOQUJMRV9NSURETEVCT1hfQ09NUEFUIGFuZCB0ZXN0IHdvcmthcm91bmQgZm9yIFRMU3YxLjMgZm9yIGZ1dHVyZQotK2NvbXBhdGliaWxpdHkgd2l0aCBPcGVuU1NMIDEuMS4xLgotZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NzbC5jIGIvTW9kdWxlcy9fc3NsLmMKLWluZGV4IGM3MWQ4OTYwN2MuLmViMTIzYTg3YmEgMTAwNjQ0Ci0tLS0gYS9Nb2R1bGVzL19zc2wuYwotKysrIGIvTW9kdWxlcy9fc3NsLmMKLUBAIC00ODU4LDYgKzQ4NTgsMTAgQEAgUHlJbml0X19zc2wodm9pZCkKLSAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk9QX05PX0NPTVBSRVNTSU9OIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1NMX09QX05PX0NPTVBSRVNTSU9OKTsKLSAjZW5kaWYKLSsjaWZkZWYgU1NMX09QX0VOQUJMRV9NSURETEVCT1hfQ09NUEFUCi0rICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJPUF9FTkFCTEVfTUlERExFQk9YX0NPTVBBVCIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNTTF9PUF9FTkFCTEVfTUlERExFQk9YX0NPTVBBVCk7Ci0rI2VuZGlmCi0gCi0gI2lmIEhBVkVfU05JCi0gICAgIHIgPSBQeV9UcnVlOwotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMy1zZXR1cC5weS1wYXNzLW1pc3NpbmctbGlicmFyaWVzLXRvLUV4dGVuc2lvbi1mb3ItbXVsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMy1zZXR1cC5weS1wYXNzLW1pc3NpbmctbGlicmFyaWVzLXRvLUV4dGVuc2lvbi1mb3ItbXVsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5ZDViYzkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAzLXNldHVwLnB5LXBhc3MtbWlzc2luZy1saWJyYXJpZXMtdG8tRXh0ZW5zaW9uLWZvci1tdWwucGF0Y2gKQEAgLTAsMCArMSw4MCBAQAorRnJvbSBiODgxYTc5YWRjZDRhZTVhYzhmZTRmNDlkMGZjNzdjNDdmNzc3OTE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCA0IEF1ZyAyMDE3IDExOjE2OjE0ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHNldHVwLnB5OiBwYXNzIG1pc3NpbmcgbGlicmFyaWVzIHRvIEV4dGVuc2lvbiBmb3IKKyBtdWx0aXByb2Nlc3NpbmcgbW9kdWxlCisKK0luIHRoZSBmb2xsb3dpbmcgY29tbWl0OgorLi4uCitjb21taXQgZTcxMWNhZmFiMTNlZmM5YzFmZTZjNWNkNzU4MjY0MDE0NDVlYjU4NQorQXV0aG9yOiBCZW5qYW1pbiBQZXRlcnNvbiA8YmVuamFtaW5AcHl0aG9uLm9yZz4KK0RhdGU6ICAgV2VkIEp1biAxMSAxNjo0NDowNCAyMDA4ICswMDAwCisKKyAgICBNZXJnZWQgcmV2aXNpb25zIDY0MTA0LDY0MTE3IHZpYSBzdm5tZXJnZSBmcm9tCisgICAgc3ZuK3NzaDovL3B5dGhvbmRldkBzdm4ucHl0aG9uLm9yZy9weXRob24vdHJ1bmsKKy4uLgorKHNlZSBkaWZmIGluIHNldHVwLnB5KQorSXQgYXNzaWduZWQgbGlicmFyaWVzIGZvciBtdWx0aXByb2Nlc3NpbmcgbW9kdWxlIGFjY29yZGluZwordGhlIGhvc3RfcGxhdGZvcm0sIGJ1dCBub3QgcGFzcyBpdCB0byBFeHRlbnNpb24uCisKK0luIGdsaWJjLCB0aGUgZm9sbG93aW5nIGNvbW1pdCBjYXVzZWQgdHdvIGRlZmluaXRpb24gb2YKK3NlbV9nZXR2YWx1ZSBhcmUgZGlmZmVyZW50LgoraHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9naXQvP3A9Z2xpYmMuZ2l0O2E9Y29tbWl0O2g9MDQyZTE1MjFjNzk0YTk0NWVkYzQzYjViZmE3ZTY5YWQ3MDQyMDUyNAorKHNlZSBkaWZmIGluIG5wdGwvc2VtX2dldHZhbHVlLmMgZm9yIGRldGFpbCkKK2BfX25ld19zZW1fZ2V0dmFsdWUnIGlzIHRoZSBsYXRlc3Qgc2VtX2dldHZhbHVlQEBHTElCQ18yLjEKK2FuZCBgX19vbGRfc2VtX2dldHZhbHVlJyBpcyB0byBjb21wYXQgdGhlIG9sZCB2ZXJzaW9uCitzZW1fZ2V0dmFsdWVAR0xJQkNfMi4wLgorCitUbyBidWlsZCBweXRob24gZm9yIGVtYmVkZGVkIExpbnV4IHN5c3RlbXM6CitodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjMuMS95b2N0by1wcm9qZWN0LXFzL3lvY3RvLXByb2plY3QtcXMuaHRtbAorSWYgbm90IGV4cGxpY2l0bHkgbGluayB0byBsaWJyYXJ5IHB0aHJlYWQgKC1scHRocmVhZCksIGl0IHdpbGwKK2xvYWQgZ2xpYmMncyBzZW1fZ2V0dmFsdWUgcmFuZG9tbHkgYXQgcnVudGltZS4KKworU3VjaCBhcyBidWlsZCBweXRob24gb24gbGludXggeDg2XzY0IGhvc3QgYW5kIHJ1biB0aGUgcHl0aG9uCitvbiBsaW51eCB4ODZfMzIgdGFyZ2V0LiBJZiBub3QgbGluayBsaWJyYXJ5IHB0aHJlYWQsIGl0IGNhdXNlZAorbXVsdGlwcm9jZXNzaW5nIGJvdW5kZWQgc2VtYXBob3JlIGNvdWxkIG5vdCB3b3JrIGNvcnJlY3RseS4KKy4uLgorPj4+IGltcG9ydCBtdWx0aXByb2Nlc3NpbmcKKz4+PiBwb29sX3NlbWEgPSBtdWx0aXByb2Nlc3NpbmcuQm91bmRlZFNlbWFwaG9yZSh2YWx1ZT0xKQorPj4+IHBvb2xfc2VtYS5hY3F1aXJlKCkKK1RydWUKKz4+PiBwb29sX3NlbWEucmVsZWFzZSgpCitUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGluIDxtb2R1bGU+CitWYWx1ZUVycm9yOiBzZW1hcGhvcmUgb3IgbG9jayByZWxlYXNlZCB0b28gbWFueSB0aW1lcworLi4uCisKK0FuZCB0aGUgc2VtYXBob3JlIGlzc3VlIGFsc28gY2F1c2VkIG11bHRpcHJvY2Vzc2luZy5RdWV1ZSgpLnB1dCgpIGh1bmcuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vcHVsbC8yOTk5XQorCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBzZXR1cC5weSB8IDcgKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCBiN2EzNmE2Li42NThlYWQzIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtMTU4NCw4ICsxNTg0LDEwIEBAIGNsYXNzIFB5QnVpbGRFeHQoYnVpbGRfZXh0KToKKyAgICAgICAgIGVsaWYgaG9zdF9wbGF0Zm9ybS5zdGFydHN3aXRoKCduZXRic2QnKToKKyAgICAgICAgICAgICBtYWNyb3MgPSBkaWN0KCkKKyAgICAgICAgICAgICBsaWJyYXJpZXMgPSBbXQorLQorLSAgICAgICAgZWxzZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTGludXggYW5kIG90aGVyIHVuaWNlcworKyAgICAgICAgZWxpZiBob3N0X3BsYXRmb3JtLnN0YXJ0c3dpdGgoKCdsaW51eCcpKToKKysgICAgICAgICAgICBtYWNyb3MgPSBkaWN0KCkKKysgICAgICAgICAgICBsaWJyYXJpZXMgPSBbJ3B0aHJlYWQnXQorKyAgICAgICAgZWxzZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgT3RoZXIgdW5pY2VzCisgICAgICAgICAgICAgbWFjcm9zID0gZGljdCgpCisgICAgICAgICAgICAgbGlicmFyaWVzID0gWydydCddCisgCitAQCAtMTYwMyw2ICsxNjA1LDcgQEAgY2xhc3MgUHlCdWlsZEV4dChidWlsZF9leHQpOgorIAorICAgICAgICAgZXh0cy5hcHBlbmQgKCBFeHRlbnNpb24oJ19tdWx0aXByb2Nlc3NpbmcnLCBtdWx0aXByb2Nlc3Npbmdfc3JjcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZV9tYWNyb3M9bGlzdChtYWNyb3MuaXRlbXMoKSksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJpZXM9bGlicmFyaWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJzPVsiTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nIl0pKQorICAgICAgICAgIyBFbmQgbXVsdGlwcm9jZXNzaW5nCisgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDA0LWJwby0zMzU3MC1UTFMtMS4zLWNpcGhlcnMtZm9yLU9wZW5TU0wtMS4xLjEtR0gtNjk3Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDQtYnBvLTMzNTcwLVRMUy0xLjMtY2lwaGVycy1mb3ItT3BlblNTTC0xLjEuMS1HSC02OTc2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTdkNTUwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDQtYnBvLTMzNTcwLVRMUy0xLjMtY2lwaGVycy1mb3ItT3BlblNTTC0xLjEuMS1HSC02OTc2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEwICswLDAgQEAKLUZyb20gMGM5MzU0MzYyYmZhNWY5MGZiZWE4ZmY4MjM3YTFmMWY1ZGJhNjg2ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzdGlhbiBIZWltZXMgPGNocmlzdGlhbkBweXRob24ub3JnPgotRGF0ZTogV2VkLCAxMiBTZXAgMjAxOCAxNToyMDozMSArMDgwMAotU3ViamVjdDogW1BBVENIXSBicG8tMzM1NzA6IFRMUyAxLjMgY2lwaGVycyBmb3IgT3BlblNTTCAxLjEuMSAoR0gtNjk3NikKLQotQ2hhbmdlIFRMUyAxLjMgY2lwaGVyIHN1aXRlIHNldHRpbmdzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggT3BlblNTTAotMS4xLjEtcHJlNiBhbmQgbmV3ZXIuIE9wZW5TU0wgMS4xLjEgd2lsbCBoYXZlIFRMUyAxLjMgY2lwZXJzIGVuYWJsZWQgYnkKLWRlZmF1bHQuCi0KLUFsc28gdXBkYXRlIG11bHRpc3NsdGVzdHMgYW5kIFRyYXZpcyBjb25maWcgdG8gdGVzdCB3aXRoIGxhdGVzdCBPcGVuU1NMLgotCi1TaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZz4KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGU4ZWI2Y2I3OTIwZGVkNjZhYmM1ZDI4NDMxOWE4NTM5YmRjMmJhZTMpCi0KLUNvLWF1dGhvcmVkLWJ5OiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZwotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1baHR0cHM6Ly9naXRodWIuY29tL3B5dGhvbi9jcHl0aG9uL2NvbW1pdC8zZTYzMGM1NDFiMzVjOTZiZmU1NjE5MTY1MjU1ZTU1OWY1NzdlZTcxXQotCi1Ud2Vha2VkIHBhdGNoIHRvIG5vdCB0YWtlIGNoYW5nZXMgZm9yIG11bHRpc3NsdGVzdHMgYW5kIFRyYXZpcyBjb25maWcuCi0KLVNpZ25lZC1vZmYtYnk6IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+Ci0tLS0KLSBMaWIvdGVzdC90ZXN0X3NzbC5weSB8IDUxICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zc2wucHkgYi9MaWIvdGVzdC90ZXN0X3NzbC5weQotaW5kZXggYTJlMWQzMmE2Mi4uYzQ4NGVhZDVmZiAxMDA2NDQKLS0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci0rKysgYi9MaWIvdGVzdC90ZXN0X3NzbC5weQotQEAgLTMwMjQsMTcgKzMwMjQsMjEgQEAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgIHNvY2suZG9faGFuZHNoYWtlKCkKLSAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJybm8sIGVycm5vLkVOT1RDT05OKQotIAotLSAgICAgICAgZGVmIHRlc3RfZGVmYXVsdF9jaXBoZXJzKHNlbGYpOgotLSAgICAgICAgICAgIGNvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfU1NMdjIzKQotLSAgICAgICAgICAgIHRyeToKLS0gICAgICAgICAgICAgICAgIyBGb3JjZSBhIHNldCBvZiB3ZWFrIGNpcGhlcnMgb24gb3VyIGNsaWVudCBjb250ZXh0Ci0tICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0X2NpcGhlcnMoIkRFUyIpCi0tICAgICAgICAgICAgZXhjZXB0IHNzbC5TU0xFcnJvcjoKLS0gICAgICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgibm8gREVTIGNpcGhlciBhdmFpbGFibGUiKQotLSAgICAgICAgICAgIHdpdGggVGhyZWFkZWRFY2hvU2VydmVyKENFUlRGSUxFLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbF92ZXJzaW9uPXNzbC5QUk9UT0NPTF9TU0x2MjMsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhdHR5PUZhbHNlKSBhcyBzZXJ2ZXI6Ci0tICAgICAgICAgICAgICAgIHdpdGggY29udGV4dC53cmFwX3NvY2tldChzb2NrZXQuc29ja2V0KCkpIGFzIHM6Ci0rICAgICAgICBkZWYgdGVzdF9ub19zaGFyZWRfY2lwaGVycyhzZWxmKToKLSsgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9TU0x2MjMpCi0rICAgICAgICAgICAgc2VydmVyX2NvbnRleHQubG9hZF9jZXJ0X2NoYWluKFNJR05FRF9DRVJURklMRSkKLSsgICAgICAgICAgICBjbGllbnRfY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9TU0x2MjMpCi0rICAgICAgICAgICAgY2xpZW50X2NvbnRleHQudmVyaWZ5X21vZGUgPSBzc2wuQ0VSVF9SRVFVSVJFRAotKyAgICAgICAgICAgIGNsaWVudF9jb250ZXh0LmNoZWNrX2hvc3RuYW1lID0gVHJ1ZQotKwotKyAgICAgICAgICAgIGNsaWVudF9jb250ZXh0LnNldF9jaXBoZXJzKCJBRVMxMjgiKQotKyAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0LnNldF9jaXBoZXJzKCJBRVMyNTYiKQotKyAgICAgICAgICAgICMgT3BlblNTTCBlbmFibGVzIGFsbCBUTFMgMS4zIGNpcGhlcnMsIGVuZm9yY2UgVExTIDEuMiBmb3IgdGVzdAotKyAgICAgICAgICAgIGNsaWVudF9jb250ZXh0Lm9wdGlvbnMgfD0gc3NsLk9QX05PX1RMU3YxXzMKLSsgICAgICAgICAgICB3aXRoIFRocmVhZGVkRWNob1NlcnZlcihjb250ZXh0PXNlcnZlcl9jb250ZXh0KSBhcyBzZXJ2ZXI6Ci0rICAgICAgICAgICAgICAgIHdpdGggY2xpZW50X2NvbnRleHQud3JhcF9zb2NrZXQoCi0rICAgICAgICAgICAgICAgICAgICAgICAgc29ja2V0LnNvY2tldCgpLAotKyAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9ob3N0bmFtZT0ibG9jYWxob3N0IikgYXMgczoKLSAgICAgICAgICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcik6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgcy5jb25uZWN0KChIT1NULCBzZXJ2ZXIucG9ydCkpCi0gICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigibm8gc2hhcmVkIGNpcGhlciIsIHN0cihzZXJ2ZXIuY29ubl9lcnJvcnNbMF0pKQotQEAgLTMwNjcsOSArMzA3MSw5IEBAIGVsc2U6Ci0gICAgICAgICAgICAgICAgIHdpdGggY29udGV4dC53cmFwX3NvY2tldChzb2NrZXQuc29ja2V0KCkpIGFzIHM6Ci0gICAgICAgICAgICAgICAgICAgICBzLmNvbm5lY3QoKEhPU1QsIHNlcnZlci5wb3J0KSkKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4ocy5jaXBoZXIoKVswXSwgWwotLSAgICAgICAgICAgICAgICAgICAgICAgICdUTFMxMy1BRVMtMjU2LUdDTS1TSEEzODQnLAotLSAgICAgICAgICAgICAgICAgICAgICAgICdUTFMxMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYnLAotLSAgICAgICAgICAgICAgICAgICAgICAgICdUTFMxMy1BRVMtMTI4LUdDTS1TSEEyNTYnLAotKyAgICAgICAgICAgICAgICAgICAgICAgICdUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0JywKLSsgICAgICAgICAgICAgICAgICAgICAgICAnVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NicsCi0rICAgICAgICAgICAgICAgICAgICAgICAgJ1RMU19BRVNfMTI4X0dDTV9TSEEyNTYnLAotICAgICAgICAgICAgICAgICAgICAgXSkKLSAKLSAgICAgICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHNzbC5IQVNfRUNESCwgInRlc3QgcmVxdWlyZXMgRUNESC1lbmFibGVkIE9wZW5TU0wiKQotQEAgLTMzOTEsMjIgKzMzOTUsMTkgQEAgZWxzZToKLSAgICAgICAgICAgICBjbGllbnRfY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKLSAgICAgICAgICAgICBjbGllbnRfY29udGV4dC52ZXJpZnlfbW9kZSA9IHNzbC5DRVJUX1JFUVVJUkVECi0gICAgICAgICAgICAgY2xpZW50X2NvbnRleHQubG9hZF92ZXJpZnlfbG9jYXRpb25zKFNJR05JTkdfQ0EpCi0tICAgICAgICAgICAgaWYgc3NsLk9QRU5TU0xfVkVSU0lPTl9JTkZPID49ICgxLCAwLCAyKToKLS0gICAgICAgICAgICAgICAgY2xpZW50X2NvbnRleHQuc2V0X2NpcGhlcnMoIkFFUzEyODpBRVMyNTYiKQotLSAgICAgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dC5zZXRfY2lwaGVycygiQUVTMjU2IikKLS0gICAgICAgICAgICAgICAgYWxnMSA9ICJBRVMyNTYiCi0tICAgICAgICAgICAgICAgIGFsZzIgPSAiQUVTLTI1NiIKLS0gICAgICAgICAgICBlbHNlOgotLSAgICAgICAgICAgICAgICBjbGllbnRfY29udGV4dC5zZXRfY2lwaGVycygiQUVTOjNERVMiKQotLSAgICAgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dC5zZXRfY2lwaGVycygiM0RFUyIpCi0tICAgICAgICAgICAgICAgIGFsZzEgPSAiM0RFUyIKLS0gICAgICAgICAgICAgICAgYWxnMiA9ICJERVMtQ0JDMyIKLSsgICAgICAgICAgICBjbGllbnRfY29udGV4dC5zZXRfY2lwaGVycygiQUVTMTI4OkFFUzI1NiIpCi0rICAgICAgICAgICAgc2VydmVyX2NvbnRleHQuc2V0X2NpcGhlcnMoIkFFUzI1NiIpCi0rICAgICAgICAgICAgZXhwZWN0ZWRfYWxncyA9IFsKLSsgICAgICAgICAgICAgICAgIkFFUzI1NiIsICJBRVMtMjU2IiwKLSsgICAgICAgICAgICAgICAgICMgVExTIDEuMyBjaXBoZXJzIGFyZSBhbHdheXMgZW5hYmxlZAotKyAgICAgICAgICAgICAgICAgIlRMU19DSEFDSEEyMCIsICJUTFNfQUVTIiwKLSsgICAgICAgICAgICBdCi0gCi0gICAgICAgICAgICAgc3RhdHMgPSBzZXJ2ZXJfcGFyYW1zX3Rlc3QoY2xpZW50X2NvbnRleHQsIHNlcnZlcl9jb250ZXh0KQotICAgICAgICAgICAgIGNpcGhlcnMgPSBzdGF0c1snc2VydmVyX3NoYXJlZF9jaXBoZXJzJ11bMF0KLSAgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIobGVuKGNpcGhlcnMpLCAwKQotICAgICAgICAgICAgIGZvciBuYW1lLCB0bHNfdmVyc2lvbiwgYml0cyBpbiBjaXBoZXJzOgotLSAgICAgICAgICAgICAgICBpZiBub3QgYWxnMSBpbiBuYW1lLnNwbGl0KCItIikgYW5kIGFsZzIgbm90IGluIG5hbWU6Ci0rICAgICAgICAgICAgICAgIGlmIG5vdCBhbnkgKGFsZyBpbiBuYW1lIGZvciBhbGcgaW4gZXhwZWN0ZWRfYWxncyk6Ci0gICAgICAgICAgICAgICAgICAgICBzZWxmLmZhaWwobmFtZSkKLSAKLSAgICAgICAgIGRlZiB0ZXN0X3JlYWRfd3JpdGVfYWZ0ZXJfY2xvc2VfcmFpc2VzX3ZhbHVlcnJvcihzZWxmKToKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDUtYnBvLTMwNzE0LUFMUE4tY2hhbmdlcy1mb3ItT3BlblNTTC0xLjEuMGYtMjMwNS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDUtYnBvLTMwNzE0LUFMUE4tY2hhbmdlcy1mb3ItT3BlblNTTC0xLjEuMGYtMjMwNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDYwOTg0Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDA1LWJwby0zMDcxNC1BTFBOLWNoYW5nZXMtZm9yLU9wZW5TU0wtMS4xLjBmLTIzMDUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi1Gcm9tIDdiNDBjYjcyOTNjYjE0ZTVjN2M4ZWQxMjNlZmFmOWFjYjMzZWRhZTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZz4KLURhdGU6IFR1ZSwgMTUgQXVnIDIwMTcgMTA6MzM6NDMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gYnBvLTMwNzE0OiBBTFBOIGNoYW5nZXMgZm9yIE9wZW5TU0wgMS4xLjBmICgjMjMwNSkKLQotT3BlblNTTCAxLjEuMCB0byAxLjEuMGUgYWJvcnRlZCB0aGUgaGFuZHNoYWtlIHdoZW4gc2VydmVyIGFuZCBjbGllbnQKLWNvdWxkIG5vdCBhZ3JlZSBvbiBhIHByb3RvY29sIHVzaW5nIEFMUE4uIE9wZW5TU0wgMS4xLjBmIGNoYW5nZWQgdGhhdC4KLVRoZSBtb3N0IHJlY2VudCB2ZXJzaW9uIG5vdyBiZWhhdmVzIGxpa2UgT3BlblNTTCAxLjAuMiBhZ2Fpbi4gVGhlIEFMUE4KLWNhbGxiYWNrIGNhbiBwcmV0ZW5kIHRvIG5vdCBiZWVuIHNldC4KLQotU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29wZW5zc2wvcHVsbC8zMTU4IGZvciBtb3JlIGRldGFpbHMKLQotU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEhlaW1lcyA8Y2hyaXN0aWFuQHB5dGhvbi5vcmc+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVtodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vY29tbWl0LzdiNDBjYjcyOTNjYjE0ZTVjN2M4ZWQxMjNlZmFmOWFjYjMzZWRhZTJdCi0KLVNpZ25lZC1vZmYtYnk6IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+Ci0tLS0KLSBEb2MvbGlicmFyeS9zc2wucnN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA1ICsrKy0tCi0gTGliL3Rlc3QvdGVzdF9zc2wucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNSArKystLQotIC4uLi9uZXh0L1Rlc3RzLzIwMTctMDctMjUtMTUtMjctNDQuYnBvLTMwNzE1LlNwN2JURi5yc3QgICAgICB8IDIgKysKLSAzIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgTWlzYy9ORVdTLmQvbmV4dC9UZXN0cy8yMDE3LTA3LTI1LTE1LTI3LTQ0LmJwby0zMDcxNS5TcDdiVEYucnN0Ci0KLWRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zc2wucnN0IGIvRG9jL2xpYnJhcnkvc3NsLnJzdAotaW5kZXggNzI5YTIzOWExYi4uMGEwOWU3ZTlkNCAxMDA2NDQKLS0tLSBhL0RvYy9saWJyYXJ5L3NzbC5yc3QKLSsrKyBiL0RvYy9saWJyYXJ5L3NzbC5yc3QKLUBAIC0xNDQ3LDggKzE0NDcsOSBAQCB0byBzcGVlZCB1cCByZXBlYXRlZCBjb25uZWN0aW9ucyBmcm9tIHRoZSBzYW1lIGNsaWVudHMuCi0gICAgVGhpcyBtZXRob2Qgd2lsbCByYWlzZSA6ZXhjOmBOb3RJbXBsZW1lbnRlZEVycm9yYCBpZiA6ZGF0YTpgSEFTX0FMUE5gIGlzCi0gICAgRmFsc2UuCi0gCi0tICAgT3BlblNTTCAxLjEuMCsgd2lsbCBhYm9ydCB0aGUgaGFuZHNoYWtlIGFuZCByYWlzZSA6ZXhjOmBTU0xFcnJvcmAgd2hlbgotLSAgIGJvdGggc2lkZXMgc3VwcG9ydCBBTFBOIGJ1dCBjYW5ub3QgYWdyZWUgb24gYSBwcm90b2NvbC4KLSsgICBPcGVuU1NMIDEuMS4wIHRvIDEuMS4wZSB3aWxsIGFib3J0IHRoZSBoYW5kc2hha2UgYW5kIHJhaXNlIDpleGM6YFNTTEVycm9yYAotKyAgIHdoZW4gYm90aCBzaWRlcyBzdXBwb3J0IEFMUE4gYnV0IGNhbm5vdCBhZ3JlZSBvbiBhIHByb3RvY29sLiAxLjEuMGYrCi0rICAgYmVoYXZlcyBsaWtlIDEuMC4yLCA6bWV0aDpgU1NMU29ja2V0LnNlbGVjdGVkX2FscG5fcHJvdG9jb2xgIHJldHVybnMgTm9uZS4KLSAKLSAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKLSAKLWRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NzbC5weSBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci1pbmRleCBkOTYwZDgyMDY1Li4xMDRiN2YzNzdhIDEwMDY0NAotLS0tIGEvTGliL3Rlc3QvdGVzdF9zc2wucHkKLSsrKyBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci1AQCAtMzI2OCw4ICszMjY4LDkgQEAgaWYgX2hhdmVfdGhyZWFkczoKLSAgICAgICAgICAgICAgICAgZXhjZXB0IHNzbC5TU0xFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgICAgICAgc3RhdHMgPSBlCi0gCi0tICAgICAgICAgICAgICAgIGlmIGV4cGVjdGVkIGlzIE5vbmUgYW5kIElTX09QRU5TU0xfMV8xOgotLSAgICAgICAgICAgICAgICAgICAgIyBPcGVuU1NMIDEuMS4wIHJhaXNlcyBoYW5kc2hha2UgZXJyb3IKLSsgICAgICAgICAgICAgICAgaWYgKGV4cGVjdGVkIGlzIE5vbmUgYW5kIElTX09QRU5TU0xfMV8xCi0rICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHNzbC5PUEVOU1NMX1ZFUlNJT05fSU5GTyA8ICgxLCAxLCAwLCA2KSk6Ci0rICAgICAgICAgICAgICAgICAgICAjIE9wZW5TU0wgMS4xLjAgdG8gMS4xLjBlIHJhaXNlcyBoYW5kc2hha2UgZXJyb3IKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzdGF0cywgc3NsLlNTTEVycm9yKQotICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgbXNnID0gImZhaWxlZCB0cnlpbmcgJXMgKHMpIGFuZCAlcyAoYykuXG4iIFwKLWRpZmYgLS1naXQgYS9NaXNjL05FV1MuZC9uZXh0L1Rlc3RzLzIwMTctMDctMjUtMTUtMjctNDQuYnBvLTMwNzE1LlNwN2JURi5yc3QgYi9NaXNjL05FV1MuZC9uZXh0L1Rlc3RzLzIwMTctMDctMjUtMTUtMjctNDQuYnBvLTMwNzE1LlNwN2JURi5yc3QKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi44ODM5NGU1ODVjCi0tLS0gL2Rldi9udWxsCi0rKysgYi9NaXNjL05FV1MuZC9uZXh0L1Rlc3RzLzIwMTctMDctMjUtMTUtMjctNDQuYnBvLTMwNzE1LlNwN2JURi5yc3QKLUBAIC0wLDAgKzEsMiBAQAotK0FkZHJlc3MgQUxQTiBjYWxsYmFjayBjaGFuZ2VzIGZvciBPcGVuU1NMIDEuMS4wZi4gVGhlIGxhdGVzdCB2ZXJzaW9uIGJlaGF2ZXMKLStsaWtlIE9wZW5TU0wgMS4wLjIgYW5kIG5vIGxvbmdlciBhYm9ydHMgaGFuZHNoYWtlLgotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDMtZml4LXRraW50ZXItZGV0ZWN0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDMtZml4LXRraW50ZXItZGV0ZWN0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZGRmZDJiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAzLWZpeC10a2ludGVyLWRldGVjdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLSMgV2UgbmVlZCB0byBzdXBwbHkgU1RBR0lOR19JTkNESVIgaGVyZSwgb3RoZXJ3aXNlIHRoZSBUayBoZWFkZXJzCi0jIHdpbGwgbm90IGJlIGZvdW5kLgotIyBTaWduZWQtT2ZmOiBNaWNoYWVsICdNaWNrZXknIExhdWVyIDxtaWNrZXlAdmFuaWxsZS5kZT4KLQotSW5kZXg6IFB5dGhvbi0zLjMuMHJjMi9zZXR1cC5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjMuMHJjMi5vcmlnL3NldHVwLnB5CTIwMTItMDktMjAgMTU6MjQ6MTQuMDA5MTI0MDAzIC0wNzAwCi0rKysgUHl0aG9uLTMuMy4wcmMyL3NldHVwLnB5CTIwMTItMDktMjAgMTU6MjU6MDguNDQ5MTI0OTYzIC0wNzAwCi1AQCAtMTYyMCw3ICsxNjIwLDcgQEAKLSAgICAgICAgICAgICAgICAgZG90dmVyc2lvbiA9IGRvdHZlcnNpb25bOi0xXSArICcuJyArIGRvdHZlcnNpb25bLTFdCi0gICAgICAgICAgICAgdGNsX2luY2x1ZGVfc3ViID0gW10KLSAgICAgICAgICAgICB0a19pbmNsdWRlX3N1YiA9IFtdCi0tICAgICAgICAgICAgZm9yIGRpciBpbiBpbmNfZGlyczoKLSsgICAgICAgICAgICBmb3IgZGlyIGluIFtvcy5nZXRlbnYoIlNUQUdJTkdfSU5DRElSIildOgotICAgICAgICAgICAgICAgICB0Y2xfaW5jbHVkZV9zdWIgKz0gW2RpciArIG9zLnNlcCArICJ0Y2wiICsgZG90dmVyc2lvbl0KLSAgICAgICAgICAgICAgICAgdGtfaW5jbHVkZV9zdWIgKz0gW2RpciArIG9zLnNlcCArICJ0ayIgKyBkb3R2ZXJzaW9uXQotICAgICAgICAgICAgIHRrX2luY2x1ZGVfc3ViICs9IHRjbF9pbmNsdWRlX3N1YgotQEAgLTE2MzksMjIgKzE2MzksNiBAQAotICAgICAgICAgICAgIGlmIGRpciBub3QgaW4gaW5jbHVkZV9kaXJzOgotICAgICAgICAgICAgICAgICBpbmNsdWRlX2RpcnMuYXBwZW5kKGRpcikKLSAKLS0gICAgICAgICMgQ2hlY2sgZm9yIHZhcmlvdXMgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMKLS0gICAgICAgIGlmIGhvc3RfcGxhdGZvcm0gPT0gJ3N1bm9zNSc6Ci0tICAgICAgICAgICAgaW5jbHVkZV9kaXJzLmFwcGVuZCgnL3Vzci9vcGVud2luL2luY2x1ZGUnKQotLSAgICAgICAgICAgIGFkZGVkX2xpYl9kaXJzLmFwcGVuZCgnL3Vzci9vcGVud2luL2xpYicpCi0tICAgICAgICBlbGlmIG9zLnBhdGguZXhpc3RzKCcvdXNyL1gxMVI2L2luY2x1ZGUnKToKLS0gICAgICAgICAgICBpbmNsdWRlX2RpcnMuYXBwZW5kKCcvdXNyL1gxMVI2L2luY2x1ZGUnKQotLSAgICAgICAgICAgIGFkZGVkX2xpYl9kaXJzLmFwcGVuZCgnL3Vzci9YMTFSNi9saWI2NCcpCi0tICAgICAgICAgICAgYWRkZWRfbGliX2RpcnMuYXBwZW5kKCcvdXNyL1gxMVI2L2xpYicpCi0tICAgICAgICBlbGlmIG9zLnBhdGguZXhpc3RzKCcvdXNyL1gxMVI1L2luY2x1ZGUnKToKLS0gICAgICAgICAgICBpbmNsdWRlX2RpcnMuYXBwZW5kKCcvdXNyL1gxMVI1L2luY2x1ZGUnKQotLSAgICAgICAgICAgIGFkZGVkX2xpYl9kaXJzLmFwcGVuZCgnL3Vzci9YMTFSNS9saWInKQotLSAgICAgICAgZWxzZToKLS0gICAgICAgICAgICAjIEFzc3VtZSBkZWZhdWx0IGxvY2F0aW9uIGZvciBYMTEKLS0gICAgICAgICAgICBpbmNsdWRlX2RpcnMuYXBwZW5kKCcvdXNyL1gxMS9pbmNsdWRlJykKLS0gICAgICAgICAgICBhZGRlZF9saWJfZGlycy5hcHBlbmQoJy91c3IvWDExL2xpYicpCi0tCi0gICAgICAgICAjIElmIEN5Z3dpbiwgdGhlbiB2ZXJpZnkgdGhhdCBYIGlzIGluc3RhbGxlZCBiZWZvcmUgcHJvY2VlZGluZwotICAgICAgICAgaWYgaG9zdF9wbGF0Zm9ybSA9PSAnY3lnd2luJzoKLSAgICAgICAgICAgICB4MTFfaW5jID0gZmluZF9maWxlKCdYMTEvWGxpYi5oJywgW10sIGluY2x1ZGVfZGlycykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAzMC1maXh1cC1pbmNsdWRlLWRpcnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMzAtZml4dXAtaW5jbHVkZS1kaXJzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YmVhYzdiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAzMC1maXh1cC1pbmNsdWRlLWRpcnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1EbyBub3QgaGFyZGNvZGUgL3VzciBpbnRvIGluY2x1ZGUgcGF0aHMgd2hlbiBjcm9zcyBjb21waWxpbmcKLQotLUtoZW0KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0gCi0tLS0KLSBzZXR1cC5weSB8ICAgMTUgKystLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCi0KLUluZGV4OiBQeXRob24tMy4zLjIvc2V0dXAucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy4zLjIub3JpZy9zZXR1cC5weQotKysrIFB5dGhvbi0zLjMuMi9zZXR1cC5weQotQEAgLTQ0NCw3ICs0NDQsOCBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6Ci0gICAgICAgICAjIG9ubHkgY2hhbmdlIHRoaXMgZm9yIGNyb3NzIGJ1aWxkcyBmb3IgMy4zLCBpc3N1ZXMgb24gTWFnZWlhCi0gICAgICAgICBpZiBjcm9zc19jb21waWxpbmc6Ci0gICAgICAgICAgICAgc2VsZi5hZGRfZ2NjX3BhdGhzKCkKLS0gICAgICAgIHNlbGYuYWRkX211bHRpYXJjaF9wYXRocygpCi0rICAgICAgICBpZiBub3QgY3Jvc3NfY29tcGlsaW5nOgotKyAgICAgICAgICAgIHNlbGYuYWRkX211bHRpYXJjaF9wYXRocygpCi0gCi0gICAgICAgICAjIEFkZCBwYXRocyBzcGVjaWZpZWQgaW4gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyBMREZMQUdTIGFuZAotICAgICAgICAgIyBDUFBGTEFHUyBmb3IgaGVhZGVyIGFuZCBsaWJyYXJ5IGZpbGVzLgotQEAgLTQ4MCw3ICs0ODEsNyBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6Ci0gICAgICAgICAgICAgICAgICAgICBmb3IgZGlyZWN0b3J5IGluIHJldmVyc2VkKG9wdGlvbnMuZGlycyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgYWRkX2Rpcl90b19saXN0KGRpcl9saXN0LCBkaXJlY3RvcnkpCi0gCi0tICAgICAgICBpZiBvcy5wYXRoLm5vcm1wYXRoKHN5cy5iYXNlX3ByZWZpeCkgIT0gJy91c3InIFwKLSsgICAgICAgIGlmIG5vdCBjcm9zc19jb21waWxpbmcgYW5kIG9zLnBhdGgubm9ybXBhdGgoc3lzLmJhc2VfcHJlZml4KSAhPSAnL3VzcicgXAotICAgICAgICAgICAgICAgICBhbmQgbm90IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignUFlUSE9ORlJBTUVXT1JLJyk6Ci0gICAgICAgICAgICAgIyBPU1ggbm90ZTogRG9uJ3QgYWRkIExJQkRJUiBhbmQgSU5DTFVERURJUiB0byBidWlsZGluZyBhIGZyYW1ld29yawotICAgICAgICAgICAgICMgKFBZVEhPTkZSQU1FV09SSyBpcyBzZXQpIHRvIGF2b2lkICMgbGlua2luZyBwcm9ibGVtcyB3aGVuCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wODAtZGlzdHV0aWxzLWRvbnRfYWRqdXN0X2ZpbGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDgwLWRpc3R1dGlscy1kb250X2FkanVzdF9maWxlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjk2NDE5YS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wODAtZGlzdHV0aWxzLWRvbnRfYWRqdXN0X2ZpbGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTIgKzAsMCBAQAotZG8gbm90ICJhZGp1c3QiIHB5dGhvbiBmaWxlcyBiZWZvcmUgY29weWluZwotCi0tS2hlbQotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW0VtYmVkZGVkLVNwZWNpZmljXQotCi0tLS0KLSBMaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfc2NyaXB0cy5weSB8ICAgNDMgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMzkgZGVsZXRpb25zKC0pCi0KLS0tLSBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZF9zY3JpcHRzLnB5Ci0rKysgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfc2NyaXB0cy5weQotQEAgLTUxLDEwICs1MSw3IEBAIGNsYXNzIGJ1aWxkX3NjcmlwdHMoQ29tbWFuZCk6Ci0gCi0gCi0gICAgIGRlZiBjb3B5X3NjcmlwdHMoc2VsZik6Ci0tICAgICAgICAiIiJDb3B5IGVhY2ggc2NyaXB0IGxpc3RlZCBpbiAnc2VsZi5zY3JpcHRzJzsgaWYgaXQncyBtYXJrZWQgYXMgYQotLSAgICAgICAgUHl0aG9uIHNjcmlwdCBpbiB0aGUgVW5peCB3YXkgKGZpcnN0IGxpbmUgbWF0Y2hlcyAnZmlyc3RfbGluZV9yZScsCi0tICAgICAgICBpZS4gc3RhcnRzIHdpdGggIlwjISIgYW5kIGNvbnRhaW5zICJweXRob24iKSwgdGhlbiBhZGp1c3QgdGhlIGZpcnN0Ci0tICAgICAgICBsaW5lIHRvIHJlZmVyIHRvIHRoZSBjdXJyZW50IFB5dGhvbiBpbnRlcnByZXRlciBhcyB3ZSBjb3B5LgotKyAgICAgICAgIiIiQ29weSBlYWNoIHNjcmlwdCBsaXN0ZWQgaW4gJ3NlbGYuc2NyaXB0cycKLSAgICAgICAgICIiIgotICAgICAgICAgc2VsZi5ta3BhdGgoc2VsZi5idWlsZF9kaXIpCi0gICAgICAgICBvdXRmaWxlcyA9IFtdCi1AQCAtNzgsNjQgKzc1LDEwIEBAIGNsYXNzIGJ1aWxkX3NjcmlwdHMoQ29tbWFuZCk6Ci0gICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLmRyeV9ydW46Ci0gICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgICAgICBmID0gTm9uZQotLSAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIGVuY29kaW5nLCBsaW5lcyA9IHRva2VuaXplLmRldGVjdF9lbmNvZGluZyhmLnJlYWRsaW5lKQotLSAgICAgICAgICAgICAgICBmLnNlZWsoMCkKLS0gICAgICAgICAgICAgICAgZmlyc3RfbGluZSA9IGYucmVhZGxpbmUoKQotLSAgICAgICAgICAgICAgICBpZiBub3QgZmlyc3RfbGluZToKLS0gICAgICAgICAgICAgICAgICAgIHNlbGYud2FybigiJXMgaXMgYW4gZW1wdHkgZmlsZSAoc2tpcHBpbmcpIiAlIHNjcmlwdCkKLS0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0tCi0tICAgICAgICAgICAgICAgIG1hdGNoID0gZmlyc3RfbGluZV9yZS5tYXRjaChmaXJzdF9saW5lKQotLSAgICAgICAgICAgICAgICBpZiBtYXRjaDoKLS0gICAgICAgICAgICAgICAgICAgIGFkanVzdCA9IFRydWUKLS0gICAgICAgICAgICAgICAgICAgIHBvc3RfaW50ZXJwID0gbWF0Y2guZ3JvdXAoMSkgb3IgYicnCi0tCi0tICAgICAgICAgICAgaWYgYWRqdXN0OgotLSAgICAgICAgICAgICAgICBsb2cuaW5mbygiY29weWluZyBhbmQgYWRqdXN0aW5nICVzIC0+ICVzIiwgc2NyaXB0LAotLSAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkX2RpcikKLS0gICAgICAgICAgICAgICAgdXBkYXRlZF9maWxlcy5hcHBlbmQob3V0ZmlsZSkKLS0gICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuZHJ5X3J1bjoKLS0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzeXNjb25maWcucHl0aG9uX2J1aWxkOgotLSAgICAgICAgICAgICAgICAgICAgICAgIGV4ZWN1dGFibGUgPSBzZWxmLmV4ZWN1dGFibGUKLS0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0YWJsZSA9IG9zLnBhdGguam9pbigKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCJCSU5ESVIiKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAicHl0aG9uJXMlcyIgJSAoc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCJWRVJTSU9OIiksCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiRVhFIikpKQotLSAgICAgICAgICAgICAgICAgICAgZXhlY3V0YWJsZSA9IG9zLmZzZW5jb2RlKGV4ZWN1dGFibGUpCi0tICAgICAgICAgICAgICAgICAgICBzaGViYW5nID0gYiIjISIgKyBleGVjdXRhYmxlICsgcG9zdF9pbnRlcnAgKyBiIlxuIgotLSAgICAgICAgICAgICAgICAgICAgIyBQeXRob24gcGFyc2VyIHN0YXJ0cyB0byByZWFkIGEgc2NyaXB0IHVzaW5nIFVURi04IHVudGlsCi0tICAgICAgICAgICAgICAgICAgICAjIGl0IGdldHMgYSAjY29kaW5nOnh4eCBjb29raWUuIFRoZSBzaGViYW5nIGhhcyB0byBiZSB0aGUKLS0gICAgICAgICAgICAgICAgICAgICMgZmlyc3QgbGluZSBvZiBhIGZpbGUsIHRoZSAjY29kaW5nOnh4eCBjb29raWUgY2Fubm90IGJlCi0tICAgICAgICAgICAgICAgICAgICAjIHdyaXR0ZW4gYmVmb3JlLiBTbyB0aGUgc2hlYmFuZyBoYXMgdG8gYmUgZGVjb2RhYmxlIGZyb20KLS0gICAgICAgICAgICAgICAgICAgICMgVVRGLTguCi0tICAgICAgICAgICAgICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgc2hlYmFuZy5kZWNvZGUoJ3V0Zi04JykKLS0gICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3I6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBzaGViYW5nICh7IXJ9KSBpcyBub3QgZGVjb2RhYmxlICIKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb20gdXRmLTgiLmZvcm1hdChzaGViYW5nKSkKLS0gICAgICAgICAgICAgICAgICAgICMgSWYgdGhlIHNjcmlwdCBpcyBlbmNvZGVkIHRvIGEgY3VzdG9tIGVuY29kaW5nICh1c2UgYQotLSAgICAgICAgICAgICAgICAgICAgIyAjY29kaW5nOnh4eCBjb29raWUpLCB0aGUgc2hlYmFuZyBoYXMgdG8gYmUgZGVjb2RhYmxlIGZyb20KLS0gICAgICAgICAgICAgICAgICAgICMgdGhlIHNjcmlwdCBlbmNvZGluZyB0b28uCi0tICAgICAgICAgICAgICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgc2hlYmFuZy5kZWNvZGUoZW5jb2RpbmcpCi0tICAgICAgICAgICAgICAgICAgICBleGNlcHQgVW5pY29kZURlY29kZUVycm9yOgotLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgc2hlYmFuZyAoeyFyfSkgaXMgbm90IGRlY29kYWJsZSAiCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIHRoZSBzY3JpcHQgZW5jb2RpbmcgKHt9KSIKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChzaGViYW5nLCBlbmNvZGluZykpCi0tICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4ob3V0ZmlsZSwgIndiIikgYXMgb3V0ZjoKLS0gICAgICAgICAgICAgICAgICAgICAgICBvdXRmLndyaXRlKHNoZWJhbmcpCi0tICAgICAgICAgICAgICAgICAgICAgICAgb3V0Zi53cml0ZWxpbmVzKGYucmVhZGxpbmVzKCkpCi0tICAgICAgICAgICAgICAgIGlmIGY6Ci0tICAgICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKLS0gICAgICAgICAgICBlbHNlOgotLSAgICAgICAgICAgICAgICBpZiBmOgotKyAgICAgICAgICAgIGlmIGY6Ci0gICAgICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKLS0gICAgICAgICAgICAgICAgdXBkYXRlZF9maWxlcy5hcHBlbmQob3V0ZmlsZSkKLS0gICAgICAgICAgICAgICAgc2VsZi5jb3B5X2ZpbGUoc2NyaXB0LCBvdXRmaWxlKQotKyAgICAgICAgICAgIHVwZGF0ZWRfZmlsZXMuYXBwZW5kKG91dGZpbGUpCi0rICAgICAgICAgICAgc2VsZi5jb3B5X2ZpbGUoc2NyaXB0LCBvdXRmaWxlKQotIAotICAgICAgICAgaWYgb3MubmFtZSA9PSAncG9zaXgnOgotICAgICAgICAgICAgIGZvciBmaWxlIGluIG91dGZpbGVzOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMTItZGlzdHV0aWxzLXByZWZpeC1pcy1pbnNpZGUtc3RhZ2luZy1hcmVhLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMTItZGlzdHV0aWxzLXByZWZpeC1pcy1pbnNpZGUtc3RhZ2luZy1hcmVhLnBhdGNoCmluZGV4IGM1M2VjMGMuLmRjYzA5MzIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzEyLWRpc3R1dGlscy1wcmVmaXgtaXMtaW5zaWRlLXN0YWdpbmctYXJlYS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8xMi1kaXN0dXRpbHMtcHJlZml4LWlzLWluc2lkZS1zdGFnaW5nLWFyZWEucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDc2MzBhYjIyNTc4NzQ2ZDNkNzkwZDA1OThjMGQyNzljZjdhZmVkOTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDEzOTc5NzllZTQ0NWZmNjgyNmFhNTQ2OTUxMWUwMDM1MzlmNzdiYjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogVHVlLCAxNCBNYXkgMjAxMyAxNTowMDoyNiAtMDcwMAotU3ViamVjdDogW1BBVENIIDAxLzIwXSBweXRob24zOiBBZGQgdGFyZ2V0IGFuZCBuYXRpdmUgcmVjaXBlcworU3ViamVjdDogW1BBVENIXSBweXRob24zOiBBZGQgdGFyZ2V0IGFuZCBuYXRpdmUgcmVjaXBlcwogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQogCkBAIC0xOCw3ICsxOCw3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5IGIvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkKLWluZGV4IDU3MzcyNGQuLjM5MGM0ODUgMTAwNjQ0CitpbmRleCA2YjhjMTI5Li4zY2E3Zjc5IDEwMDY0NAogLS0tIGEvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkKICsrKyBiL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5CiBAQCAtODQsNyArODQsOSBAQCBkZWYgZ2V0X3B5dGhvbl9pbmMocGxhdF9zcGVjaWZpYz0wLCBwcmVmaXg9Tm9uZSk6CkBAIC0zMiw3ICszMiw3IEBACiAgICAgICAgICBwcmVmaXggPSBwbGF0X3NwZWNpZmljIGFuZCBCQVNFX0VYRUNfUFJFRklYIG9yIEJBU0VfUFJFRklYCiAgICAgIGlmIG9zLm5hbWUgPT0gInBvc2l4IjoKICAgICAgICAgIGlmIHB5dGhvbl9idWlsZDoKLUBAIC0xMjUsNiArMTI3LDEwIEBAIGRlZiBnZXRfcHl0aG9uX2xpYihwbGF0X3NwZWNpZmljPTAsIHN0YW5kYXJkX2xpYj0wLCBwcmVmaXg9Tm9uZSk6CitAQCAtMTIyLDYgKzEyNCwxMCBAQCBkZWYgZ2V0X3B5dGhvbl9saWIocGxhdF9zcGVjaWZpYz0wLCBzdGFuZGFyZF9saWI9MCwgcHJlZml4PU5vbmUpOgogICAgICBJZiAncHJlZml4JyBpcyBzdXBwbGllZCwgdXNlIGl0IGluc3RlYWQgb2Ygc3lzLmJhc2VfcHJlZml4IG9yCiAgICAgIHN5cy5iYXNlX2V4ZWNfcHJlZml4IC0tIGkuZS4sIGlnbm9yZSAncGxhdF9zcGVjaWZpYycuCiAgICAgICIiIgpAQCAtNDMsNyArNDMsNyBAQAogICAgICBpZiBwcmVmaXggaXMgTm9uZToKICAgICAgICAgIGlmIHN0YW5kYXJkX2xpYjoKICAgICAgICAgICAgICBwcmVmaXggPSBwbGF0X3NwZWNpZmljIGFuZCBCQVNFX0VYRUNfUFJFRklYIG9yIEJBU0VfUFJFRklYCi1AQCAtMTMzLDcgKzEzOSw3IEBAIGRlZiBnZXRfcHl0aG9uX2xpYihwbGF0X3NwZWNpZmljPTAsIHN0YW5kYXJkX2xpYj0wLCBwcmVmaXg9Tm9uZSk6CitAQCAtMTMwLDcgKzEzNiw3IEBAIGRlZiBnZXRfcHl0aG9uX2xpYihwbGF0X3NwZWNpZmljPTAsIHN0YW5kYXJkX2xpYj0wLCBwcmVmaXg9Tm9uZSk6CiAgCiAgICAgIGlmIG9zLm5hbWUgPT0gInBvc2l4IjoKICAgICAgICAgIGxpYnB5dGhvbiA9IG9zLnBhdGguam9pbihwcmVmaXgsCkBAIC01Miw2ICs1MiwzIEBACiAgICAgICAgICBpZiBzdGFuZGFyZF9saWI6CiAgICAgICAgICAgICAgcmV0dXJuIGxpYnB5dGhvbgogICAgICAgICAgZWxzZToKLS0tIAotMi44LjAucmMzCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzEzMC1yZWFkbGluZS1zZXR1cC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzEzMC1yZWFkbGluZS1zZXR1cC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzgwNTY1Mi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8xMzAtcmVhZGxpbmUtc2V0dXAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi1wYWNrYWdlIHB5dGhvbi1yZWFkbGluZQotCi0tS2hlbQotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW0VtYmVkZGVkIFNwZWNpZmljXQotCi0tLS0gYS9zZXR1cC5weQotKysrIGIvc2V0dXAucHkKLUBAIC02NjYsNDUgKzY2Niw3IEBAIGNsYXNzIFB5QnVpbGRFeHQoYnVpbGRfZXh0KToKLSAgICAgICAgICMgcmVhZGxpbmUKLSAgICAgICAgIGRvX3JlYWRsaW5lID0gc2VsZi5jb21waWxlci5maW5kX2xpYnJhcnlfZmlsZShsaWJfZGlycywgJ3JlYWRsaW5lJykKLSAgICAgICAgIHJlYWRsaW5lX3Rlcm1jYXBfbGlicmFyeSA9ICIiCi0tICAgICAgICBjdXJzZXNfbGlicmFyeSA9ICIiCi0tICAgICAgICAjIENhbm5vdCB1c2Ugb3MucG9wZW4gaGVyZSBpbiBweTNrLgotLSAgICAgICAgdG1wZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3RlbXAsICdyZWFkbGluZV90ZXJtY2FwX2xpYicpCi0tICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc2VsZi5idWlsZF90ZW1wKToKLS0gICAgICAgICAgICBvcy5tYWtlZGlycyhzZWxmLmJ1aWxkX3RlbXApCi0tICAgICAgICAjIERldGVybWluZSBpZiByZWFkbGluZSBpcyBhbHJlYWR5IGxpbmtlZCBhZ2FpbnN0IGN1cnNlcyBvciB0aW5mby4KLS0gICAgICAgIGlmIGRvX3JlYWRsaW5lOgotLSAgICAgICAgICAgIGlmIGNyb3NzX2NvbXBpbGluZzoKLS0gICAgICAgICAgICAgICAgcmV0ID0gb3Muc3lzdGVtKCIlcyAtZCAlcyB8IGdyZXAgJyhORUVERUQpJyA+ICVzIiBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1JFQURFTEYnKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvX3JlYWRsaW5lLCB0bXBmaWxlKSkKLS0gICAgICAgICAgICBlbGlmIGZpbmRfZXhlY3V0YWJsZSgnbGRkJyk6Ci0tICAgICAgICAgICAgICAgIHJldCA9IG9zLnN5c3RlbSgibGRkICVzID4gJXMiICUgKGRvX3JlYWRsaW5lLCB0bXBmaWxlKSkKLS0gICAgICAgICAgICBlbHNlOgotLSAgICAgICAgICAgICAgICByZXQgPSAyNTYKLS0gICAgICAgICAgICBpZiByZXQgPj4gOCA9PSAwOgotLSAgICAgICAgICAgICAgICB3aXRoIG9wZW4odG1wZmlsZSkgYXMgZnA6Ci0tICAgICAgICAgICAgICAgICAgICBmb3IgbG4gaW4gZnA6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgaWYgJ2N1cnNlcycgaW4gbG46Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRsaW5lX3Rlcm1jYXBfbGlicmFyeSA9IHJlLnN1YigKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHInLipsaWIobj9jdXJzZXN3PylcLnNvLionLCByJ1wxJywgbG4KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5yc3RyaXAoKQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotLSAgICAgICAgICAgICAgICAgICAgICAgICMgdGVybWNhcCBpbnRlcmZhY2Ugc3BsaXQgb3V0IGZyb20gbmN1cnNlcwotLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICd0aW5mbycgaW4gbG46Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRsaW5lX3Rlcm1jYXBfbGlicmFyeSA9ICd0aW5mbycKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLS0gICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyh0bXBmaWxlKToKLS0gICAgICAgICAgICAgICAgb3MudW5saW5rKHRtcGZpbGUpCi0tICAgICAgICAjIElzc3VlIDczODQ6IElmIHJlYWRsaW5lIGlzIGFscmVhZHkgbGlua2VkIGFnYWluc3QgY3Vyc2VzLAotLSAgICAgICAgIyB1c2UgdGhlIHNhbWUgbGlicmFyeSBmb3IgdGhlIHJlYWRsaW5lIGFuZCBjdXJzZXMgbW9kdWxlcy4KLS0gICAgICAgIGlmICdjdXJzZXMnIGluIHJlYWRsaW5lX3Rlcm1jYXBfbGlicmFyeToKLS0gICAgICAgICAgICBjdXJzZXNfbGlicmFyeSA9IHJlYWRsaW5lX3Rlcm1jYXBfbGlicmFyeQotLSAgICAgICAgZWxpZiBzZWxmLmNvbXBpbGVyLmZpbmRfbGlicmFyeV9maWxlKGxpYl9kaXJzLCAnbmN1cnNlc3cnKToKLS0gICAgICAgICAgICBjdXJzZXNfbGlicmFyeSA9ICduY3Vyc2VzdycKLS0gICAgICAgIGVsaWYgc2VsZi5jb21waWxlci5maW5kX2xpYnJhcnlfZmlsZShsaWJfZGlycywgJ25jdXJzZXMnKToKLS0gICAgICAgICAgICBjdXJzZXNfbGlicmFyeSA9ICduY3Vyc2VzJwotLSAgICAgICAgZWxpZiBzZWxmLmNvbXBpbGVyLmZpbmRfbGlicmFyeV9maWxlKGxpYl9kaXJzLCAnY3Vyc2VzJyk6Ci0tICAgICAgICAgICAgY3Vyc2VzX2xpYnJhcnkgPSAnY3Vyc2VzJwotKyAgICAgICAgY3Vyc2VzX2xpYnJhcnkgPSAibmN1cnNlcyIKLSAKLSAgICAgICAgIGlmIGhvc3RfcGxhdGZvcm0gPT0gJ2Rhcndpbic6Ci0gICAgICAgICAgICAgb3NfcmVsZWFzZSA9IGludChvcy51bmFtZSgpWzJdLnNwbGl0KCcuJylbMF0pCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8xNTAtZml4LXNldHVwdGVybS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzE1MC1maXgtc2V0dXB0ZXJtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OGQ3Yzc4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzE1MC1maXgtc2V0dXB0ZXJtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotRml4IHdhcm5pbmcgd2l0aCBuZXdlciBjb21waWxlcgotCi0tS2hlbQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotLS0tIGEvTW9kdWxlcy9fY3Vyc2VzbW9kdWxlLmMKLSsrKyBiL01vZHVsZXMvX2N1cnNlc21vZHVsZS5jCi1AQCAtMTE2LDcgKzExNiw3IEBAIGNoYXIgKlB5Q3Vyc2VzVmVyc2lvbiA9ICIyLjIiOwotICAgICAjZGVmaW5lcyBtYW55IGNvbW1vbiBzeW1ib2xzIChzdWNoIGFzICJsaW5lcyIpIHdoaWNoIGJyZWFrcyB0aGUKLSAgICAgY3Vyc2VzIG1vZHVsZSBpbiBvdGhlciB3YXlzLiAgU28gdGhlIGNvZGUgd2lsbCBqdXN0IHNwZWNpZnkKLSAgICAgZXhwbGljaXQgcHJvdG90eXBlcyBoZXJlLiAqLwotLWV4dGVybiBpbnQgc2V0dXB0ZXJtKGNoYXIgKixpbnQsaW50ICopOwotKy8vZXh0ZXJuIGludCBzZXR1cHRlcm0oY2hhciAqLGludCxpbnQgKik7Ci0gI2lmZGVmIF9fc2dpCi0gI2luY2x1ZGUgPHRlcm0uaD4KLSAjZW5kaWYKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL1VzZS1jb3JyZWN0LUNGTEFHUy1mb3ItZXh0ZW5zaW9ucy13aGVuLWNyb3NzLWNvbXBpbGkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9Vc2UtY29ycmVjdC1DRkxBR1MtZm9yLWV4dGVuc2lvbnMtd2hlbi1jcm9zcy1jb21waWxpLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZTc0ZWY1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL1VzZS1jb3JyZWN0LUNGTEFHUy1mb3ItZXh0ZW5zaW9ucy13aGVuLWNyb3NzLWNvbXBpbGkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1Gcm9tIDdmZDEyMWJiN2Q2YzI1YzJlMGExYzMxY2Y3NmZiOWJkNGE5Nzk0ZGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJrdXMgTGVodG9uZW4gPG1hcmt1cy5sZWh0b25lbkBsaW51eC5pbnRlbC5jb20+Ci1EYXRlOiBUdWUsIDE0IEF1ZyAyMDE4IDE0OjExOjM1ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBVc2UgY29ycmVjdCBDRkxBR1MgZm9yIGV4dGVuc2lvbnMgd2hlbiBjcm9zcy1jb21waWxpbmcKLQotVGFrZSBQWV9DRkxBR1NfTk9ESVNUIGludG8gYWNjb3VudCwgbGlrZSBpbiBuYXRpdmUgYnVpbGQuIFRoaXMgaXMgbmVlZGVkCi1pbiBvcmRlciB0byB0byBwcm9maWxlLW9wdGltaXplZCBidWlsZC4gQWxzbywgcGFzcyBFWFRSQV9DRkxBR1MgdG8KLXByb2ZpbGUtb3B0aW1pemVkIGJ1aWxkLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogTWFya3VzIExlaHRvbmVuIDxtYXJrdXMubGVodG9uZW5AbGludXguaW50ZWwuY29tPgotLS0tCi0gTWFrZWZpbGUucHJlLmluIHwgNCArKy0tCi0gc2V0dXAucHkgICAgICAgIHwgMyArKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlLnByZS5pbiBiL01ha2VmaWxlLnByZS5pbgotaW5kZXggZTJkNWQzZC4uODRiYzNmZiAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLnByZS5pbgotKysrIGIvTWFrZWZpbGUucHJlLmluCi1AQCAtNDc4LDcgKzQ3OCw3IEBAIHByb2ZpbGUtb3B0OgotIAkkKE1BS0UpIHByb2ZpbGUtcmVtb3ZhbAotIAotIGJ1aWxkX2FsbF9nZW5lcmF0ZV9wcm9maWxlOgotLQkkKE1BS0UpIEBERUZfTUFLRV9SVUxFQCBDRkxBR1NfTk9ESVNUPSIkKENGTEFHUykgJChQR09fUFJPRl9HRU5fRkxBRykgQExUT0ZMQUdTQCIgTERGTEFHUz0iJChMREZMQUdTKSAkKFBHT19QUk9GX0dFTl9GTEFHKSBATFRPRkxBR1NAIiBMSUJTPSIkKExJQlMpIgotKwkkKE1BS0UpIEBERUZfTUFLRV9SVUxFQCBDRkxBR1NfTk9ESVNUPSIkKENGTEFHUykgJChFWFRSQV9DRkxBR1MpICQoUEdPX1BST0ZfR0VOX0ZMQUcpIEBMVE9GTEFHU0AiIExERkxBR1M9IiQoTERGTEFHUykgJChQR09fUFJPRl9HRU5fRkxBRykgQExUT0ZMQUdTQCIgTElCUz0iJChMSUJTKSIKLSAKLSBydW5fcHJvZmlsZV90YXNrOgotIAk6ICMgRklYTUU6IGNhbid0IHJ1biBmb3IgYSBjcm9zcyBidWlsZAotQEAgLTQ4OCw3ICs0ODgsNyBAQCBidWlsZF9hbGxfbWVyZ2VfcHJvZmlsZToKLSAJJChMTFZNX1BST0ZfTUVSR0VSKQotIAotIGJ1aWxkX2FsbF91c2VfcHJvZmlsZToKLS0JJChNQUtFKSBAREVGX01BS0VfUlVMRUAgQ0ZMQUdTX05PRElTVD0iJChDRkxBR1MpICQoUEdPX1BST0ZfVVNFX0ZMQUcpIEBMVE9GTEFHU0AiIExERkxBR1M9IiQoTERGTEFHUykgQExUT0ZMQUdTQCIKLSsJJChNQUtFKSBAREVGX01BS0VfUlVMRUAgQ0ZMQUdTX05PRElTVD0iJChDRkxBR1MpICQoRVhUUkFfQ0ZMQUdTKSAkKFBHT19QUk9GX1VTRV9GTEFHKSBATFRPRkxBR1NAIiBMREZMQUdTPSIkKExERkxBR1MpIEBMVE9GTEFHU0AiCi0gCi0gIyBDb21waWxlIGFuZCBydW4gd2l0aCBnY292Ci0gLlBIT05ZPWNvdmVyYWdlIGNvdmVyYWdlLWxjb3YgY292ZXJhZ2UtcmVwb3J0Ci1kaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQotaW5kZXggYWRkMzM0Ni4uNjVlODNiMSAxMDA2NDQKLS0tLSBhL3NldHVwLnB5Ci0rKysgYi9zZXR1cC5weQotQEAgLTI2Myw3ICsyNjMsOCBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6Ci0gICAgICAgICAjIGNvbXBpbGVycwotICAgICAgICAgaWYgY29tcGlsZXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgaWYgY3Jvc3NfY29tcGlsaW5nOgotLSAgICAgICAgICAgICAgICAoY2NzaGFyZWQsY2ZsYWdzKSA9IChvcy5lbnZpcm9uLmdldCgnQ0NTSEFSRUQnKSBvciAnJywgb3MuZW52aXJvbi5nZXQoJ0NGTEFHUycpIG9yICcnKQotKyAgICAgICAgICAgICAgICAoY2NzaGFyZWQsY2ZsYWdzKSA9IChvcy5lbnZpcm9uLmdldCgnQ0NTSEFSRUQnKSBvciAnJywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9zLmVudmlyb24uZ2V0KCdDRkxBR1MnKSBvciAnJykgKyAnICcgKyBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1BZX0NGTEFHU19OT0RJU1QnKSkKLSAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAoY2NzaGFyZWQsY2ZsYWdzKSA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcnMoJ0NDU0hBUkVEJywnQ0ZMQUdTJykKLSAgICAgICAgICAgICBhcmdzWydjb21waWxlcl9zbyddID0gY29tcGlsZXIgKyAnICcgKyBjY3NoYXJlZCArICcgJyArIGNmbGFncwotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvYXZvaWQtbmN1cnNlc3ctaW5jbHVkZS1wYXRoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvYXZvaWQtbmN1cnNlc3ctaW5jbHVkZS1wYXRoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMjlhZTUzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2F2b2lkLW5jdXJzZXN3LWluY2x1ZGUtcGF0aC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1XZSBzaG91bGQgbWFrZSBzdXJlIHRoYXQgc3lzcm9vdCBpcyB1c2VkIGJ5IGdjYyBpbnN0ZWFkIG9mIGFzc3VtaW5nCi1oYXJkY29kZWQgbG9jYXRpb25zIGZvciBpbmNsdWRlIHBhdGhzCi0KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotSW5kZXg6IFB5dGhvbi0zLjQuMi9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy40LjIub3JpZy9jb25maWd1cmUuYWMKLSsrKyBQeXRob24tMy40LjIvY29uZmlndXJlLmFjCi1AQCAtNDQzNCw3ICs0NDM0LDcgQEAgZmkKLSAKLSAjIGZpcnN0IGN1cnNlcyBoZWFkZXIgY2hlY2sKLSBhY19zYXZlX2NwcGZsYWdzPSIkQ1BQRkxBR1MiCi0tQ1BQRkxBR1M9IiRDUFBGTEFHUyAtSS91c3IvaW5jbHVkZS9uY3Vyc2VzdyIKLStDUFBGTEFHUz0iJENQUEZMQUdTIC1JPS91c3IvaW5jbHVkZS9uY3Vyc2VzdyIKLSAKLSBBQ19DSEVDS19IRUFERVJTKGN1cnNlcy5oIG5jdXJzZXMuaCkKLSAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2F2b2lkX3dhcm5pbmdfYWJvdXRfdGtpbnRlci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2F2b2lkX3dhcm5pbmdfYWJvdXRfdGtpbnRlci5wYXRjaAppbmRleCBhM2NjNDhjLi4yNGU2N2I0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9hdm9pZF93YXJuaW5nX2Fib3V0X3RraW50ZXIucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvYXZvaWRfd2FybmluZ19hYm91dF90a2ludGVyLnBhdGNoCkBAIC0xLDE3ICsxLDI0IEBACi1fdGtpbnRlciBtb2R1bGUgbmVlZHMgdGsgbW9kdWxlIGFsb25nIHdpdGggdGNsLiB0ayBpcyBub3QgeWV0IGludGVncmF0ZWQKLWluIHlvY3RvIHNvIHdlIHNraXAgdGhlIGNoZWNrIGZvciB0aGlzIG1vZHVsZS4KLUF2b2lkIGEgd2FybmluZyBieSBub3QgYWRkaW5nIHRoaXMgbW9kdWxlIHRvIG1pc3NpbmcgdmFyaWFibGUuCitGcm9tIGZlYWQ0OGM4YjUwMWE4ZDdjM2RiMjFkZjJlNTk5ZjkwZjM4ZjExZDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZWkgR2hlcnphbiA8YW5kcmVpQGdoZXJ6YW4ucm8+CitEYXRlOiBNb24sIDI4IEphbiAyMDE5IDE1OjU3OjU0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIF90a2ludGVyIG1vZHVsZSBuZWVkcyB0ayBtb2R1bGUgYWxvbmcgd2l0aCB0Y2wuIHRrIGlzIG5vdCB5ZXQKKyBpbnRlZ3JhdGVkIGluIHlvY3RvIHNvIHdlIHNraXAgdGhlIGNoZWNrIGZvciB0aGlzIG1vZHVsZS4gQXZvaWQgYSB3YXJuaW5nIGJ5Cisgbm90IGFkZGluZyB0aGlzIG1vZHVsZSB0byBtaXNzaW5nIHZhcmlhYmxlLgogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Rpc3RyaWJ1dGlvbl0KIAogQWxzbyBzaW1wbHkgZGlzYWJsZSB0aGUgdGsgbW9kdWxlIHNpbmNlIGl0cyBub3QgaW4gREVQRU5EUy4KIFNpZ25lZC1vZmYtYnk6IEFuZHJlaSBHaGVyemFuIDxhbmRyZWlAZ2hlcnphbi5ybz4KIAotSW5kZXg6IFB5dGhvbi0zLjUuMy9zZXR1cC5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjUuMy5vcmlnL3NldHVwLnB5Ci0rKysgUHl0aG9uLTMuNS4zL3NldHVwLnB5Ci1AQCAtMTU1OCwxMCArMTU1OCwxMiBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6CistLS0KKyBzZXR1cC5weSB8IDggKysrKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggZmJlYzAwZC4uYjdhMzZhNiAxMDA2NDQKKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTE2MjMsMTAgKzE2MjMsMTIgQEAgY2xhc3MgUHlCdWlsZEV4dChidWlsZF9leHQpOgogICAgICAgICAgc2VsZi5leHRlbnNpb25zLmV4dGVuZChleHRzKQogIAogICAgICAgICAgIyBDYWxsIHRoZSBtZXRob2QgZm9yIGRldGVjdGluZyB3aGV0aGVyIF90a2ludGVyIGNhbiBiZSBjb21waWxlZApAQCAtMjUsNSArMzIsNSBAQAogKyAgICAgICAgI2lmICdfdGtpbnRlcicgbm90IGluIFtlLm5hbWUgZm9yIGUgaW4gc2VsZi5leHRlbnNpb25zXToKICsgICAgICAgICMgICAgbWlzc2luZy5hcHBlbmQoJ190a2ludGVyJykKICAKLSAjIyAgICAgICAgICMgVW5jb21tZW50IHRoZXNlIGxpbmVzIGlmIHlvdSB3YW50IHRvIHBsYXkgd2l0aCB4eG1vZHVsZS5jCi0gIyMgICAgICAgICBleHQgPSBFeHRlbnNpb24oJ3h4JywgWyd4eG1vZHVsZS5jJ10pCisgICAgICAgICAjIEJ1aWxkIHRoZSBfdXVpZCBtb2R1bGUgaWYgcG9zc2libGUKKyAgICAgICAgIHV1aWRfaW5jcyA9IGZpbmRfZmlsZSgidXVpZC5oIiwgaW5jX2RpcnMsIFsiL3Vzci9pbmNsdWRlL3V1aWQiXSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NnaV9weS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NnaV9weS5wYXRjaAppbmRleCBkZTUwNGY5Li42YzRiYTU0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9jZ2lfcHkucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY2dpX3B5LnBhdGNoCkBAIC0xLDExICsxLDIwIEBACi1MaWIvY2dpLnB5OiBVcGRhdGUgdGhlIHNjcmlwdCBhcyBtZW50aW9uZWQgaW4gdGhlIGNvbW1lbnQKK0Zyb20gNjIzMzYyODVjYmEzODAxN2IzNWNiNzYxYzAzZjBjN2U4MGE2NzFhMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMjEgU2VwIDIwMTEgMjA6NTU6MzMgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gTGliL2NnaS5weTogVXBkYXRlIHRoZSBzY3JpcHQgYXMgbWVudGlvbmVkIGluIHRoZSBjb21tZW50CiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZGlzdHJpYnV0aW9uXQogCiBTaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+CiAKLS0tLSBQeXRob24tMi42LjYvTGliL2NnaS5weS5vcmlnCTIwMTAtMDgtMDEgMjI6MTQ6MjcuMDAwMDAwMDAwIC0wNTAwCi0rKysgUHl0aG9uLTIuNi42L0xpYi9jZ2kucHkJMjAxMS0wOS0yMSAxNToyODo0MC40NzgyMDg2MzEgLTA1MDAKKy0tLQorIExpYi9jZ2kucHkgfCAxMSArLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9MaWIvY2dpLnB5IGIvTGliL2NnaS5weQoraW5kZXggOGNmNjY4Ny4uMDk0YzdiNCAxMDA3NTUKKy0tLSBhL0xpYi9jZ2kucHkKKysrKyBiL0xpYi9jZ2kucHkKIEBAIC0xLDEzICsxLDQgQEAKIC0jISAvdXNyL2xvY2FsL2Jpbi9weXRob24KIC0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NoZWNrX2J1aWxkX2NvbXBsZXRlbmVzcy5weSBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NoZWNrX2J1aWxkX2NvbXBsZXRlbmVzcy5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMWVhY2UzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY2hlY2tfYnVpbGRfY29tcGxldGVuZXNzLnB5CkBAIC0wLDAgKzEsMTcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKK2ltcG9ydCBzeXMKK2xvZ2ZpbGUgPSBvcGVuKHN5cy5hcmd2WzFdKS5yZWFkKCkKKworbmVjZXNzYXJ5X2JpdHMgPSBsb2dmaWxlLmZpbmQoIlRoZSBuZWNlc3NhcnkgYml0cyB0byBidWlsZCB0aGVzZSBvcHRpb25hbCBtb2R1bGVzIHdlcmUgbm90IGZvdW5kIikKK3RvX2ZpbmRfYml0cyA9IGxvZ2ZpbGUuZmluZCgiVG8gZmluZCB0aGUgbmVjZXNzYXJ5IGJpdHMsIGxvb2sgaW4gc2V0dXAucHkgaW4gZGV0ZWN0X21vZHVsZXMoKSBmb3IgdGhlIG1vZHVsZSdzIG5hbWUuIikKK2lmIG5lY2Vzc2FyeV9iaXRzICE9IC0xOgorICAgIHByaW50KCIlcyIgJShsb2dmaWxlW25lY2Vzc2FyeV9iaXRzOnRvX2ZpbmRfYml0c10pKQorCitmYWlsZWRfdG9fYnVpbGQgPSBsb2dmaWxlLmZpbmQoIkZhaWxlZCB0byBidWlsZCB0aGVzZSBtb2R1bGVzOiIpCitpZiBmYWlsZWRfdG9fYnVpbGQgIT0gLTE6CisgICAgZmFpbGVkX3RvX2J1aWxkX2VuZCA9IGxvZ2ZpbGUuZmluZCgiXG5cbiIsIGZhaWxlZF90b19idWlsZCkKKyAgICBwcmludCgiJXMiICUobG9nZmlsZVtmYWlsZWRfdG9fYnVpbGQ6ZmFpbGVkX3RvX2J1aWxkX2VuZF0pKQorCitpZiBuZWNlc3NhcnlfYml0cyAhPSAtMSBvciBmYWlsZWRfdG9fYnVpbGQgIT0gLTE6CisgICAgc3lzLmV4aXQoMSkKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY29uZmlndXJlLmFjLWZpeC1MSUJQTC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NvbmZpZ3VyZS5hYy1maXgtTElCUEwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3MjE0ZjkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY29uZmlndXJlLmFjLWZpeC1MSUJQTC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gN2M0ZjhkODc0NzNkNjIzOGMxMjBlYzYwMzFiNThmODNhMTdhMzlhNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCAyOCBEZWMgMjAxNSAyMjo1MjowNiAtMDgwMAotU3ViamVjdDogW1BBVENIXSBjb25maWd1cmUuYWM6IGZpeCBMSUJQTAotCi1Vc2UgTElCRElSIHJhdGhlciB0aGFuIHByZWZpeC9saWIsIHNvIHRoYXQgaXQgd291bGQgd29yayB3aGVuIGxpYjY0LgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjb25maWd1cmUuYWMgfCAgICAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDYzYWVmOGUuLmFlZmIyN2YgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTQzNjYsNyArNDM2Niw3IEBAIEFDX01TR19SRVNVTFQoJExEVkVSU0lPTikKLSAKLSBkbmwgZGVmaW5lIExJQlBMIGFmdGVyIEFCSUZMQUdTIGFuZCBMRFZFUlNJT04gaXMgZGVmaW5lZC4KLSBBQ19TVUJTVChQWV9FTkFCTEVfU0hBUkVEKQotLUxJQlBMPSckKHByZWZpeCknIi9saWIvcHl0aG9uJHtWRVJTSU9OfS9jb25maWctJHtMRFZFUlNJT059IgotK0xJQlBMPSckKExJQkRJUiknIi9weXRob24ke1ZFUlNJT059L2NvbmZpZy0ke0xEVkVSU0lPTn0iCi0gQUNfU1VCU1QoTElCUEwpCi0gCi0gIyBDaGVjayB3aGV0aGVyIHJpZ2h0IHNoaWZ0aW5nIGEgbmVnYXRpdmUgaW50ZWdlciBleHRlbmRzIHRoZSBzaWduIGJpdAotLS0gCi0xLjcuOS41Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NyZWF0ZV9tYW5pZmVzdDMucHkgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9jcmVhdGVfbWFuaWZlc3QzLnB5CmluZGV4IGZkZGIyM2MuLjRkYTAyYTIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NyZWF0ZV9tYW5pZmVzdDMucHkKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY3JlYXRlX21hbmlmZXN0My5weQpAQCAtMjIsNyArMjIsNyBAQAogIwogIwogIyBUaGlzIHdheSB3ZSB3aWxsIGNyZWF0ZSBhIG5ldyBtYW5pZmVzdCBmcm9tIHRoZSBkYXRhIHN0cnVjdHVyZSB0aGF0IHdhcyBidWlsdCBkdXJpbmcKLSMgdGhpcyBwcm9jZXNzLCBvbnQgdGhpcyBuZXcgbWFuaWZlc3QgZWFjaCBwYWNrYWdlIHdpbGwgY29udGFpbiBzcGVjaWZpY2FsbHkgb25seQorIyB0aGlzIHByb2Nlc3MsIG9uIHRoaXMgbmV3IG1hbmlmZXN0IGVhY2ggcGFja2FnZSB3aWxsIGNvbnRhaW4gc3BlY2lmaWNhbGx5IG9ubHkKICMgd2hhdCBpdCBuZWVkcyB0byBydW4uCiAjCiAjIFRoZXJlIGFyZSBzb21lIGNhdmVhdHMgd2hpY2ggd2UgdHJ5IHRvIGRlYWwgd2l0aCwgc3VjaCBhcyByZXBlYXRlZCBmaWxlcyBvbiBkaWZmZXJlbnQKQEAgLTM2LDcgKzM2LDcgQEAKICMgVGhhIG1ldGhvZCB0byBoYW5kbGUgY2FjaGVkIGZpbGVzIGRvZXMgbm90IHdvcmsgd2hlbiBhIG1vZHVsZSBpbmNsdWRlcyBhIGZvbGRlciB3aGljaAogIyBpdHNlbGYgY29udGFpbnMgdGhlIHB5Y2FjaGUgZm9sZGVyLCBnbGFkbHkgdGhpcyBpcyBhbG1vc3QgbmV2ZXIgdGhlIGNhc2UuCiAjCi0jIEF1dGhvcjogQWxlamFuZHJvIEVuZWRpbm8gSGVybmFuZGV6IFNhbWFuaWVnbyAiYWVoczI5IiA8YWVoczI5QGdtYWlsLmNvbT4KKyMgQXV0aG9yOiBBbGVqYW5kcm8gRW5lZGlubyBIZXJuYW5kZXogU2FtYW5pZWdvICJhZWhzMjkiIDxhZWhzMjkgYXQgZ21haWwgZG90IGNvbT4KIAogCiBpbXBvcnQgc3lzCkBAIC03OCw5ICs3OCwyMSBAQAogICAgIGVsc2U6CiAgICAgICAgIHJldHVybiBGYWxzZQogCitkZWYgcHJlcGVuZF9jb21tZW50cyhjb21tZW50cywganNvbl9tYW5pZmVzdCk6CisgICAgd2l0aCBvcGVuKGpzb25fbWFuaWZlc3QsICdyKycpIGFzIG1hbmlmZXN0OgorICAgICAgICBqc29uX2NvbnRlbnRzID0gbWFuaWZlc3QucmVhZCgpCisgICAgICAgIG1hbmlmZXN0LnNlZWsoMCwgMCkKKyAgICAgICAgbWFuaWZlc3Qud3JpdGUoY29tbWVudHMgKyBqc29uX2NvbnRlbnRzKQorCiAjIFJlYWQgZXhpc3RpbmcgSlNPTiBtYW5pZmVzdAogd2l0aCBvcGVuKCdweXRob24zLW1hbmlmZXN0Lmpzb24nKSBhcyBtYW5pZmVzdDoKLSAgICBvbGRfbWFuaWZlc3QgPSBqc29uLmxvYWQobWFuaWZlc3QsIG9iamVjdF9wYWlyc19ob29rPWNvbGxlY3Rpb25zLk9yZGVyZWREaWN0KQorICAgICMgVGhlIEpTT04gZm9ybWF0IGRvZXNuJ3QgYWxsb3cgY29tbWVudHMgc28gd2UgaGFjayB0aGUgY2FsbCB0byBrZWVwIHRoZSBjb21tZW50cyB1c2luZyBhIG1hcmtlcgorICAgIG1hbmlmZXN0X3N0ciA9ICBtYW5pZmVzdC5yZWFkKCkKKyAgICBqc29uX3N0YXJ0ID0gbWFuaWZlc3Rfc3RyLmZpbmQoJyMgRU9DJykgKyA2ICMgRU9DICsgXG4KKyAgICBtYW5pZmVzdC5zZWVrKDApCisgICAgY29tbWVudHMgPSBtYW5pZmVzdC5yZWFkKGpzb25fc3RhcnQpCisgICAgbWFuaWZlc3Rfc3RyID0gbWFuaWZlc3QucmVhZCgpCisgICAgb2xkX21hbmlmZXN0ID0ganNvbi5sb2FkcyhtYW5pZmVzdF9zdHIsIG9iamVjdF9wYWlyc19ob29rPWNvbGxlY3Rpb25zLk9yZGVyZWREaWN0KQogCiAjCiAjIEZpcnN0IHBhc3MgdG8gZ2V0IGNvcmUtcGFja2FnZSBmdW5jdGlvbmFsaXR5LCBiZWNhdXNlIHdlIGJhc2UgZXZlcnl0aGluZyBvbiB0aGUgZmFjdCB0aGF0IGNvcmUgaXMgYWN0dWFsbHkgd29ya2luZwpAQCAtMjk4LDcgKzMxMCwxMyBAQAogICAgICAgICAgICAgcHltb2R1bGVfZGVwID0gcHltb2R1bGVfZGVwLnJlcGxhY2UocHl2ZXJzaW9uLCcke1BZVEhPTl9NQUpNSU59JykKICAgICAgICAgICAgIGluRm9sZGVycyA9IEZhbHNlCiAgICAgICAgICAgICBmb3IgZm9sZGVyIGluIGFsbGZvbGRlcnM6Ci0gICAgICAgICAgICAgICAgaWYgZm9sZGVyIGluIHB5bW9kdWxlX2RlcDoKKyAgICAgICAgICAgICAgICAjIFRoZSBtb2R1bGUgY291bGQgaGF2ZSBhIGRpcmVjdG9yeSBuYW1lZCBhZnRlciBpdCwgZS5nLiB4bWwsIGlmIHdlIHRha2Ugb3V0IHRoZSBmaWxlbmFtZSBmcm9tIHRoZSBwYXRoCisgICAgICAgICAgICAgICAgIyB3ZSdsbCBlbmQgdXAgd2l0aCAke2xpYmRpcn0sIGFuZCB3ZSB3YW50ICR7bGliZGlyfS94bWwKKyAgICAgICAgICAgICAgICBpZiBpc0ZvbGRlcihweW1vZHVsZV9kZXApOgorICAgICAgICAgICAgICAgICAgICBjaGVja19wYXRoID0gcHltb2R1bGVfZGVwCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgY2hlY2tfcGF0aCA9IG9zLnBhdGguZGlybmFtZShweW1vZHVsZV9kZXApCisgICAgICAgICAgICAgICAgaWYgZm9sZGVyIGluIGNoZWNrX3BhdGggOgogICAgICAgICAgICAgICAgICAgICBpbkZvbGRlcnMgPSBUcnVlICMgRGlkIHdlIGZpbmQgYSBmb2xkZXI/CiAgICAgICAgICAgICAgICAgICAgIGZvbGRlckZvdW5kID0gRmFsc2UgIyBTZWNvbmQgZmxhZyB0byBicmVhayBpbm5lciBmb3IKICAgICAgICAgICAgICAgICAgICAgIyBMb29wIG9ubHkgdGhyb3VnaCBwYWNrYWdlcyB3aGljaCBjb250YWluIGZvbGRlcnMKQEAgLTQwMiw2ICs0MjAsOCBAQAogICAgIGpzb24uZHVtcChuZXdfbWFuaWZlc3Qsb3V0ZmlsZSwgaW5kZW50PTQpCiAgICAgb3V0ZmlsZS53cml0ZSgnXG4nKQogCitwcmVwZW5kX2NvbW1lbnRzKGNvbW1lbnRzLCdweXRob24zLW1hbmlmZXN0Lmpzb24ubmV3JykKKwogaWYgKHJlcGVhdGVkKToKICAgICBlcnJvcl9tc2cgPSAnXG5cbkVSUk9SOlxuJwogICAgIGVycm9yX21zZyArPSAnVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgcmVwZWF0ZWQgKGNvbnRhaW5lZCBpbiBtb3JlIHRoYW4gb25lIHBhY2thZ2UpLFxuJwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvZml4X2Zvcl91c2luZ19kaWZmZXJlbnRfbGliZGlyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvZml4X2Zvcl91c2luZ19kaWZmZXJlbnRfbGliZGlyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNjEwNTY1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2ZpeF9mb3JfdXNpbmdfZGlmZmVyZW50X2xpYmRpci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbRW1iZWRkZWQgc3BlY2lmaWNdCi0KLVRoaXMgcGF0Y2ggZml4ZXMgaXNzdWluZyB3aXRoIGRpZmZlcmVudCBsaWJkaXIgbGlrZSBsaWI2NC4KLVRoaXMgcGF0Y2ggbWFrZXMgdGhlIG5hdGl2ZSBweXRob24gYmluYXJ5IG1vZHVsZXMgZmluZGFibGUKLWluIHRoZSBpbnN0YWxsIHByb2Nlc3Mgb2YgdGhlIGhvc3QgcHl0aG9uLgotCi1TaWduZWQtb2ZmLWJ5OiBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPgotRGF0ZTogMjAxMi8wMy8xNAotCi1VcGRhdGVkIGZvciBweXRob24gMi43LjMKLVNpZ25lZC1vZmYtYnk6IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+Ci1EYXRlOiAyMDEyLzA1LzAxCi0KLUluZGV4OiBQeXRob24tMy4zLjByYzIvTGliL3N5c2NvbmZpZy5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjMuMHJjMi5vcmlnL0xpYi9zeXNjb25maWcucHkJMjAxMi0wOS0yMCAyMjo1MDoxMS4wMDAwMDAwMDAgLTA3MDAKLSsrKyBQeXRob24tMy4zLjByYzIvTGliL3N5c2NvbmZpZy5weQkyMDEyLTA5LTIwIDIyOjUzOjAxLjU2MTEyMzM5NiAtMDcwMAotQEAgLTIxLDkgKzIxLDkgQEAKLSAKLSBfSU5TVEFMTF9TQ0hFTUVTID0gewotICAgICAncG9zaXhfcHJlZml4JzogewotLSAgICAgICAgJ3N0ZGxpYic6ICd7aW5zdGFsbGVkX2Jhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0rICAgICAgICAnc3RkbGliJzogJ3tiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotICAgICAgICAgJ3BsYXRzdGRsaWInOiAne3BsYXRiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotLSAgICAgICAgJ3B1cmVsaWInOiAne2Jhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0rICAgICAgICAncHVyZWxpYic6ICd7YmFzZX0vJytzeXMubGliKycvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9L3NpdGUtcGFja2FnZXMnLAotICAgICAgICAgJ3BsYXRsaWInOiAne3BsYXRiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0gICAgICAgICAnaW5jbHVkZSc6Ci0gICAgICAgICAgICAgJ3tpbnN0YWxsZWRfYmFzZX0vaW5jbHVkZS9weXRob257cHlfdmVyc2lvbl9zaG9ydH17YWJpZmxhZ3N9JywKLUBAIC04Myw3ICs4Myw3IEBACi0gICAgICdwb3NpeF91c2VyJzogewotICAgICAgICAgJ3N0ZGxpYic6ICd7dXNlcmJhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0gICAgICAgICAncGxhdHN0ZGxpYic6ICd7dXNlcmJhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0tICAgICAgICAncHVyZWxpYic6ICd7dXNlcmJhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0rICAgICAgICAncHVyZWxpYic6ICd7dXNlcmJhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgICdwbGF0bGliJzogJ3t1c2VyYmFzZX0vJytzeXMubGliKycvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9L3NpdGUtcGFja2FnZXMnLAotICAgICAgICAgJ2luY2x1ZGUnOiAne3VzZXJiYXNlfS9pbmNsdWRlL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0gICAgICAgICAnc2NyaXB0cyc6ICd7dXNlcmJhc2V9L2JpbicsCi1JbmRleDogUHl0aG9uLTMuMy4wcmMyL01ha2VmaWxlLnByZS5pbgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjMuMHJjMi5vcmlnL01ha2VmaWxlLnByZS5pbgkyMDEyLTA5LTIwIDIyOjUwOjExLjAwMDAwMDAwMCAtMDcwMAotKysrIFB5dGhvbi0zLjMuMHJjMi9NYWtlZmlsZS5wcmUuaW4JMjAxMi0wOS0yMCAyMjo1MDo1NC4yNDUxMjM5OTcgLTA3MDAKLUBAIC0xMDgwLDkgKzEwODAsOSBAQAotIAkJJChJTlNUQUxMX0RBVEEpICQoc3JjZGlyKS9Nb2R1bGVzL3h4bW9kdWxlLmMgXAotIAkJCSQoREVTVERJUikkKExJQkRFU1QpL2Rpc3R1dGlscy90ZXN0cyA7IFwKLSAJZmkKLS0JLVBZVEhPTlBBVEg9JChERVNURElSKSQoTElCREVTVCkgJChSVU5TSEFSRUQpIFwKLSsJLVBZVEhPTlBBVEg9JChERVNURElSKSQoTElCREVTVCk6JHtDUk9TU1BZVEhPTlBBVEh9ICQoUlVOU0hBUkVEKSBcCi0gCQkkKFBZVEhPTl9GT1JfQlVJTEQpIC1tIGxpYjJ0bzMucGdlbjIuZHJpdmVyICQoREVTVERJUikkKExJQkRFU1QpL2xpYjJ0bzMvR3JhbW1hci50eHQKLS0JLVBZVEhPTlBBVEg9JChERVNURElSKSQoTElCREVTVCkgJChSVU5TSEFSRUQpIFwKLSsJLVBZVEhPTlBBVEg9JChERVNURElSKSQoTElCREVTVCk6JHtDUk9TU1BZVEhPTlBBVEh9ICQoUlVOU0hBUkVEKSBcCi0gCQkkKFBZVEhPTl9GT1JfQlVJTEQpIC1tIGxpYjJ0bzMucGdlbjIuZHJpdmVyICQoREVTVERJUikkKExJQkRFU1QpL2xpYjJ0bzMvUGF0dGVybkdyYW1tYXIudHh0Ci0gCi0gIyBDcmVhdGUgdGhlIFBMQVRESVIgc291cmNlIGRpcmVjdG9yeSwgaWYgb25lIHdhc24ndCBkaXN0cmlidXRlZC4uCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9mbG9hdC1lbmRpYW4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9mbG9hdC1lbmRpYW4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiYTNmNWMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvZmxvYXQtZW5kaWFuLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEyICswLDAgQEAKLVB5dGhvbiB1c2VzIEFDX1JVTl9JRkVMU0UgdG8gZGV0ZXJtaW5lIHRoZSBieXRlIG9yZGVyIGZvciBmbG9hdHMgYW5kIGRvdWJsZXMsCi1hbmQgZmFsbHMgYmFjayBvbnRvICJJIGRvbid0IGtub3ciIGlmIGl0IGNhbid0IHJ1biBjb2RlLiAgVGhpcyByZXN1bHRzIGluCi1jcmlwcGxlZCBmbG9hdGluZyBwb2ludCBudW1iZXJzIGluIFB5dGhvbiwgYW5kIHRoZSByZWdyZXNzaW9uIHRlc3RzIGZhaWwuCi0KLUluc3RlYWQgb2YgcnVubmluZyBjb2RlLCB0YWtlIGEgbWFjcm8gZnJvbSBhdXRvY29uZi1hcmNoaXZlIHdoaWNoIGNvbXBpbGVzIEMKLXdpdGggYSBzcGVjaWFsIGRvdWJsZSBpbiB3aGljaCBoYXMgYW4gQVNDSUkgcmVwcmVzZW50YXRpb24sIGFuZCB0aGVuIGdyZXBzIHRoZQotYmluYXJ5IHRvIGlkZW50aWZ5IHRoZSBmb3JtYXQuCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTM0NTg1XQotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSA1MGRmMmE0YzNhNjVlZDA2MzIyYmU3YzI2ZDQyYjA2Y2U4MTczMGMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLURhdGU6IFdlZCwgNSBTZXAgMjAxOCAxMTo0NTo1MiArMDEwMAotU3ViamVjdDogW1BBVENIXSBEb24ndCBkbyBydW50aW1lIHRlc3QgdG8gZ2V0IGZsb2F0IGJ5dGUgb3JkZXIKLQotLS0tCi0gY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICAgfCA3NCArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIG00L2F4X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuLm00IHwgODMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgNjUgZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IG00L2F4X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuLm00Ci0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IGM5Yjc1NWYwZjQuLjEyMTU5Njk4NzEgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTksNiArOSw4IEBAIEFDX1BSRVJFUSgyLjY1KQotIAotIEFDX0lOSVQocHl0aG9uLCBQWVRIT05fVkVSU0lPTiwgaHR0cHM6Ly9idWdzLnB5dGhvbi5vcmcvKQotIAotK0FDX0NPTkZJR19NQUNST19ESVIobTQpCi0rCi0gQUNfU1VCU1QoQkFTRUNQUEZMQUdTKQotIGlmIHRlc3QgIiRzcmNkaXIiICE9IC4gLWEgIiRzcmNkaXIiICE9ICIkKHB3ZCkiOyB0aGVuCi0gICAgICMgSWYgd2UncmUgYnVpbGRpbmcgb3V0LW9mLXRyZWUsIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBmb2xsb3dpbmcKLUBAIC00MTI4LDc3ICs0MTMwLDE5IEBAIGZpCi0gIyAqIENoZWNrIGZvciB2YXJpb3VzIHByb3BlcnRpZXMgb2YgZmxvYXRpbmcgcG9pbnQgKgotICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAKLS1BQ19NU0dfQ0hFQ0tJTkcod2hldGhlciBDIGRvdWJsZXMgYXJlIGxpdHRsZS1lbmRpYW4gSUVFRSA3NTQgYmluYXJ5NjQpCi0tQUNfQ0FDSEVfVkFMKGFjX2N2X2xpdHRsZV9lbmRpYW5fZG91YmxlLCBbCi0tQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKLS0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0taW50IG1haW4oKSB7Ci0tICAgIGRvdWJsZSB4ID0gOTAwNjEwNDA3MTgzMjU4MS4wOwotLSAgICBpZiAobWVtY21wKCZ4LCAiXHgwNVx4MDRceDAzXHgwMlx4MDFceGZmXHgzZlx4NDMiLCA4KSA9PSAwKQotLSAgICAgICAgcmV0dXJuIDA7Ci0tICAgIGVsc2UKLS0gICAgICAgIHJldHVybiAxOwotLX0KLS1dXSldLAotLVthY19jdl9saXR0bGVfZW5kaWFuX2RvdWJsZT15ZXNdLAotLVthY19jdl9saXR0bGVfZW5kaWFuX2RvdWJsZT1ub10sCi0tW2FjX2N2X2xpdHRsZV9lbmRpYW5fZG91YmxlPW5vXSldKQotLUFDX01TR19SRVNVTFQoJGFjX2N2X2xpdHRsZV9lbmRpYW5fZG91YmxlKQotLWlmIHRlc3QgIiRhY19jdl9saXR0bGVfZW5kaWFuX2RvdWJsZSIgPSB5ZXMKLS10aGVuCi0tICBBQ19ERUZJTkUoRE9VQkxFX0lTX0xJVFRMRV9FTkRJQU5fSUVFRTc1NCwgMSwKLS0gIFtEZWZpbmUgaWYgQyBkb3VibGVzIGFyZSA2NC1iaXQgSUVFRSA3NTQgYmluYXJ5IGZvcm1hdCwgc3RvcmVkCi0tICAgd2l0aCB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYnl0ZSBmaXJzdF0pCi0tZmkKLS0KLS1BQ19NU0dfQ0hFQ0tJTkcod2hldGhlciBDIGRvdWJsZXMgYXJlIGJpZy1lbmRpYW4gSUVFRSA3NTQgYmluYXJ5NjQpCi0tQUNfQ0FDSEVfVkFMKGFjX2N2X2JpZ19lbmRpYW5fZG91YmxlLCBbCi0tQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKLS0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0taW50IG1haW4oKSB7Ci0tICAgIGRvdWJsZSB4ID0gOTAwNjEwNDA3MTgzMjU4MS4wOwotLSAgICBpZiAobWVtY21wKCZ4LCAiXHg0M1x4M2ZceGZmXHgwMVx4MDJceDAzXHgwNFx4MDUiLCA4KSA9PSAwKQotLSAgICAgICAgcmV0dXJuIDA7Ci0tICAgIGVsc2UKLS0gICAgICAgIHJldHVybiAxOwotLX0KLS1dXSldLAotLVthY19jdl9iaWdfZW5kaWFuX2RvdWJsZT15ZXNdLAotLVthY19jdl9iaWdfZW5kaWFuX2RvdWJsZT1ub10sCi0tW2FjX2N2X2JpZ19lbmRpYW5fZG91YmxlPW5vXSldKQotLUFDX01TR19SRVNVTFQoJGFjX2N2X2JpZ19lbmRpYW5fZG91YmxlKQotLWlmIHRlc3QgIiRhY19jdl9iaWdfZW5kaWFuX2RvdWJsZSIgPSB5ZXMKLStBWF9DX0ZMT0FUX1dPUkRTX0JJR0VORElBTgotK2lmIHRlc3QgIiRheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbiIgPSAieWVzIgotIHRoZW4KLSAgIEFDX0RFRklORShET1VCTEVfSVNfQklHX0VORElBTl9JRUVFNzU0LCAxLAotICAgW0RlZmluZSBpZiBDIGRvdWJsZXMgYXJlIDY0LWJpdCBJRUVFIDc1NCBiaW5hcnkgZm9ybWF0LCBzdG9yZWQKLSAgICB3aXRoIHRoZSBtb3N0IHNpZ25pZmljYW50IGJ5dGUgZmlyc3RdKQotLWZpCi0tCi0tIyBTb21lIEFSTSBwbGF0Zm9ybXMgdXNlIGEgbWl4ZWQtZW5kaWFuIHJlcHJlc2VudGF0aW9uIGZvciBkb3VibGVzLgotLSMgV2hpbGUgUHl0aG9uIGRvZXNuJ3QgY3VycmVudGx5IGhhdmUgZnVsbCBzdXBwb3J0IGZvciB0aGVzZSBwbGF0Zm9ybXMKLS0jIChzZWUgZS5nLiwgaXNzdWUgMTc2MjU2MSksIHdlIGNhbiBhdCBsZWFzdCBtYWtlIHN1cmUgdGhhdCBmbG9hdCA8LT4gc3RyaW5nCi0tIyBjb252ZXJzaW9ucyB3b3JrLgotLUFDX01TR19DSEVDS0lORyh3aGV0aGVyIEMgZG91YmxlcyBhcmUgQVJNIG1peGVkLWVuZGlhbiBJRUVFIDc1NCBiaW5hcnk2NCkKLS1BQ19DQUNIRV9WQUwoYWNfY3ZfbWl4ZWRfZW5kaWFuX2RvdWJsZSwgWwotLUFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCi0tI2luY2x1ZGUgPHN0cmluZy5oPgotLWludCBtYWluKCkgewotLSAgICBkb3VibGUgeCA9IDkwMDYxMDQwNzE4MzI1ODEuMDsKLS0gICAgaWYgKG1lbWNtcCgmeCwgIlx4MDFceGZmXHgzZlx4NDNceDA1XHgwNFx4MDNceDAyIiwgOCkgPT0gMCkKLS0gICAgICAgIHJldHVybiAwOwotLSAgICBlbHNlCi0tICAgICAgICByZXR1cm4gMTsKLS19Ci0tXV0pXSwKLS1bYWNfY3ZfbWl4ZWRfZW5kaWFuX2RvdWJsZT15ZXNdLAotLVthY19jdl9taXhlZF9lbmRpYW5fZG91YmxlPW5vXSwKLS1bYWNfY3ZfbWl4ZWRfZW5kaWFuX2RvdWJsZT1ub10pXSkKLS1BQ19NU0dfUkVTVUxUKCRhY19jdl9taXhlZF9lbmRpYW5fZG91YmxlKQotLWlmIHRlc3QgIiRhY19jdl9taXhlZF9lbmRpYW5fZG91YmxlIiA9IHllcwotK2VsaWYgdGVzdCAiJGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuIiA9ICJubyIKLSB0aGVuCi0tICBBQ19ERUZJTkUoRE9VQkxFX0lTX0FSTV9NSVhFRF9FTkRJQU5fSUVFRTc1NCwgMSwKLSsgIEFDX0RFRklORShET1VCTEVfSVNfTElUVExFX0VORElBTl9JRUVFNzU0LCAxLAotICAgW0RlZmluZSBpZiBDIGRvdWJsZXMgYXJlIDY0LWJpdCBJRUVFIDc1NCBiaW5hcnkgZm9ybWF0LCBzdG9yZWQKLS0gICBpbiBBUk0gbWl4ZWQtZW5kaWFuIG9yZGVyIChieXRlIG9yZGVyIDQ1NjcwMTIzKV0pCi0rICAgd2l0aCB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYnl0ZSBmaXJzdF0pCi0rZWxzZQotKyAgQUNfTVNHX0VSUk9SKFtDYW5ub3QgaWRlbnRpZnkgZmxvYXRpbmcgcG9pbnQgYnl0ZSBvcmRlcl0pCi0gZmkKLSAKLSAjIFRoZSBzaG9ydCBmbG9hdCByZXByIGludHJvZHVjZWQgaW4gUHl0aG9uIDMuMSByZXF1aXJlcyB0aGUKLWRpZmYgLS1naXQgYS9tNC9heF9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbi5tNCBiL200L2F4X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuLm00Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMC4uMjE2YjkwZDgwMwotLS0tIC9kZXYvbnVsbAotKysrIGIvbTQvYXhfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4ubTQKLUBAIC0wLDAgKzEsODMgQEAKLSsjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSsjICBodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2F1dG9jb25mLWFyY2hpdmUvYXhfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4uaHRtbAotKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotKyMKLSsjIFNZTk9QU0lTCi0rIwotKyMgICBBWF9DX0ZMT0FUX1dPUkRTX0JJR0VORElBTihbQUNUSU9OLUlGLVRSVUVdLCBbQUNUSU9OLUlGLUZBTFNFXSwgW0FDVElPTi1JRi1VTktOT1dOXSkKLSsjCi0rIyBERVNDUklQVElPTgotKyMKLSsjICAgQ2hlY2tzIHRoZSBvcmRlcmluZyBvZiB3b3JkcyB3aXRoaW4gYSBtdWx0aS13b3JkIGZsb2F0LiBUaGlzIGNoZWNrIGlzCi0rIyAgIG5lY2Vzc2FyeSBiZWNhdXNlIG9uIHNvbWUgc3lzdGVtcyAoZS5nLiBjZXJ0YWluIEFSTSBzeXN0ZW1zKSwgdGhlIGZsb2F0Ci0rIyAgIHdvcmQgb3JkZXJpbmcgY2FuIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBieXRlIG9yZGVyaW5nLiBJbiBhIG11bHRpLXdvcmQKLSsjICAgZmxvYXQgY29udGV4dCwgImJpZy1lbmRpYW4iIGltcGxpZXMgdGhhdCB0aGUgd29yZCBjb250YWluaW5nIHRoZSBzaWduCi0rIyAgIGJpdCBpcyBmb3VuZCBpbiB0aGUgbWVtb3J5IGxvY2F0aW9uIHdpdGggdGhlIGxvd2VzdCBhZGRyZXNzLiBUaGlzCi0rIyAgIGltcGxlbWVudGF0aW9uIHdhcyBpbnNwaXJlZCBieSB0aGUgQUNfQ19CSUdFTkRJQU4gbWFjcm8gaW4gYXV0b2NvbmYuCi0rIwotKyMgICBUaGUgZW5kaWFubmVzcyBpcyBkZXRlY3RlZCBieSBmaXJzdCBjb21waWxpbmcgQyBjb2RlIHRoYXQgY29udGFpbnMgYQotKyMgICBzcGVjaWFsIGRvdWJsZSBmbG9hdCB2YWx1ZSwgdGhlbiBncmVwcGluZyB0aGUgcmVzdWx0aW5nIG9iamVjdCBmaWxlIGZvcgotKyMgICBjZXJ0YWluIHN0cmluZ3Mgb2YgQVNDSUkgdmFsdWVzLiBUaGUgZG91YmxlIGlzIHNwZWNpYWxseSBjcmFmdGVkIHRvIGhhdmUKLSsjICAgYSBiaW5hcnkgcmVwcmVzZW50YXRpb24gdGhhdCBjb3JyZXNwb25kcyB3aXRoIGEgc2ltcGxlIHN0cmluZy4gSW4gdGhpcwotKyMgICBpbXBsZW1lbnRhdGlvbiwgdGhlIHN0cmluZyAibm9vbnNlZXMiIHdhcyBzZWxlY3RlZCBiZWNhdXNlIHRoZQotKyMgICBpbmRpdmlkdWFsIHdvcmQgdmFsdWVzICgibm9vbiIgYW5kICJzZWVzIikgYXJlIHBhbGluZHJvbWVzLCB0aHVzIG1ha2luZwotKyMgICB0aGlzIHRlc3QgYnl0ZS1vcmRlciBhZ25vc3RpYy4gSWYgZ3JlcCBmaW5kcyB0aGUgc3RyaW5nICJub29uc2VlcyIgaW4KLSsjICAgdGhlIG9iamVjdCBmaWxlLCB0aGUgdGFyZ2V0IHBsYXRmb3JtIHN0b3JlcyBmbG9hdCB3b3JkcyBpbiBiaWctZW5kaWFuCi0rIyAgIG9yZGVyLiBJZiBncmVwIGZpbmRzICJzZWVzbm9vbiIsIGZsb2F0IHdvcmRzIGFyZSBpbiBsaXR0bGUtZW5kaWFuIG9yZGVyLgotKyMgICBJZiBuZWl0aGVyIHZhbHVlIGlzIGZvdW5kLCB0aGUgdXNlciBpcyBpbnN0cnVjdGVkIHRvIHNwZWNpZnkgdGhlCi0rIyAgIG9yZGVyaW5nLgotKyMKLSsjIExJQ0VOU0UKLSsjCi0rIyAgIENvcHlyaWdodCAoYykgMjAwOCBEYW5pZWwgQW1lbGFuZyA8ZGFuQGFtZWxhbmcubmV0PgotKyMKLSsjICAgQ29weWluZyBhbmQgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlsZSwgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlCi0rIyAgIHBlcm1pdHRlZCBpbiBhbnkgbWVkaXVtIHdpdGhvdXQgcm95YWx0eSBwcm92aWRlZCB0aGUgY29weXJpZ2h0IG5vdGljZQotKyMgICBhbmQgdGhpcyBub3RpY2UgYXJlIHByZXNlcnZlZC4gVGhpcyBmaWxlIGlzIG9mZmVyZWQgYXMtaXMsIHdpdGhvdXQgYW55Ci0rIyAgIHdhcnJhbnR5LgotKwotKyNzZXJpYWwgMTEKLSsKLStBQ19ERUZVTihbQVhfQ19GTE9BVF9XT1JEU19CSUdFTkRJQU5dLAotKyAgW0FDX0NBQ0hFX0NIRUNLKHdoZXRoZXIgZmxvYXQgd29yZCBvcmRlcmluZyBpcyBiaWdlbmRpYW4sCi0rICAgICAgICAgICAgICAgICAgYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4sIFsKLSsKLStheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbj11bmtub3duCi0rQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCi0rCi0rZG91YmxlIGQgPSA5MDkwNDIzNDk2NzAzNjgxMDMzNzQ3MDQ3ODkwNTUwNTAxMTQ3NjIxMTY5MjczNTYxNTYzMjAxNDc5NzEyMDg0NDA1MzQ4ODg2NTgxNjY5NTI3MzcyMzQ2OTA5Nzg1ODA1NjI1NzUxNzAyMDE5MTI0NzQ4NzQyOTUxNjkzMjEzMDUwMzU2MDY1MDAwMjMyNzU2NDUxNzU3MDc3ODQ4MDIzNjcyNDUyNTE0MDUyMDEyMTM3MTczOTIwMTQ5NjU0MDEzMjY0MDEwOTk3Nzc3OTQyMDU2NTc3NjU2ODk0MjU5Mi4wOwotKwotK11dKV0sIFsKLSsKLStpZiBncmVwIG5vb25zZWVzIGNvbmZ0ZXN0LiRhY19vYmpleHQgPi9kZXYvbnVsbCA7IHRoZW4KLSsgIGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuPXllcwotK2ZpCi0raWYgZ3JlcCBzZWVzbm9vbiBjb25mdGVzdC4kYWNfb2JqZXh0ID4vZGV2L251bGwgOyB0aGVuCi0rICBpZiB0ZXN0ICIkYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4iID0gdW5rbm93bjsgdGhlbgotKyAgICBheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbj1ubwotKyAgZWxzZQotKyAgICBheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbj11bmtub3duCi0rICBmaQotK2ZpCi0rCi0rXSldKQotKwotK2Nhc2UgJGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuIGluCi0rICB5ZXMpCi0rICAgIG00X2RlZmF1bHQoWyQxXSwKLSsgICAgICBbQUNfREVGSU5FKFtGTE9BVF9XT1JEU19CSUdFTkRJQU5dLCAxLAotKyAgICAgICAgICAgICAgICAgW0RlZmluZSB0byAxIGlmIHlvdXIgc3lzdGVtIHN0b3JlcyB3b3JkcyB3aXRoaW4gZmxvYXRzCi0rICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgbW9zdCBzaWduaWZpY2FudCB3b3JkIGZpcnN0XSldKSA7OwotKyAgbm8pCi0rICAgICQyIDs7Ci0rICAqKQotKyAgICBtNF9kZWZhdWx0KFskM10sCi0rICAgICAgW0FDX01TR19FUlJPUihbCi0rCi0rVW5rbm93biBmbG9hdCB3b3JkIG9yZGVyaW5nLiBZb3UgbmVlZCB0byBtYW51YWxseSBwcmVzZXQKLStheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbj1ubyAob3IgeWVzKSBhY2NvcmRpbmcgdG8geW91ciBzeXN0ZW0uCi0rCi0rICAgIF0pXSkgOzsKLStlc2FjCi0rCi0rXSkjIEFYX0NfRkxPQVRfV09SRFNfQklHRU5ESUFOCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9mdHBsaWIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9mdHBsaWIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5YzViMjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvZnRwbGliLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSBjYWJlOTE2ZGM2OTQ5OTdkNDg5MmI1ODk4NmU3M2E3MTNkNWEyZjhkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogIk1pc3MgSXNsaW5ndG9uIChib3QpIgotIDwzMTQ4ODkwOSttaXNzLWlzbGluZ3RvbkB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+Ci1EYXRlOiBUaHUsIDE2IEF1ZyAyMDE4IDE1OjM4OjAzIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIFszLjZdIGJwby0zNDM5MTogRml4IGZ0cGxpYiB0ZXN0IGZvciBUTFMgMS4zIChHSC04Nzg3KQotICgjODc5MCkKLQotUmVhZCBmcm9tIGRhdGEgc29ja2V0IHRvIGF2b2lkICJbU1NMXSBzaHV0ZG93biB3aGlsZSBpbiBpbml0IiBleGNlcHRpb24KLWR1cmluZyBzaHV0ZG93biBvZiB0aGUgZHVtbXkgc2VydmVyLgotCi1TaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZz4KLQotCi08IS0tIGlzc3VlLW51bWJlcjogW2Jwby0zNDM5MV0oaHR0cHM6Ly93d3cuYnVncy5weXRob24ub3JnL2lzc3VlMzQzOTEpIC0tPgotaHR0cHM6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUzNDM5MQotPCEtLSAvaXNzdWUtbnVtYmVyIC0tPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMTU5MGMzOTMzNjBkZjA1OTE2MDE0NWU3NDc1NzU0NDI3YmZjNjY4MCkKLQotCi1Dby1hdXRob3JlZC1ieTogQ2hyaXN0aWFuIEhlaW1lcyA8Y2hyaXN0aWFuQHB5dGhvbi5vcmc+Ci0tLS0KLSBMaWIvdGVzdC90ZXN0X2Z0cGxpYi5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA1ICsrKysrCi0gTWlzYy9ORVdTLmQvbmV4dC9UZXN0cy8yMDE4LTA4LTE2LTE4LTQ4LTQ3LmJwby0zNDM5MS5vdU5meEMucnN0IHwgMSArCi0gMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKLSBjcmVhdGUgbW9kZSAxMDA2NDQgTWlzYy9ORVdTLmQvbmV4dC9UZXN0cy8yMDE4LTA4LTE2LTE4LTQ4LTQ3LmJwby0zNDM5MS5vdU5meEMucnN0Ci0KLWRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2Z0cGxpYi5weSBiL0xpYi90ZXN0L3Rlc3RfZnRwbGliLnB5Ci1pbmRleCA0NGRkNzNhZWNhLi40ZmYyZjcxYWZiIDEwMDY0NAotLS0tIGEvTGliL3Rlc3QvdGVzdF9mdHBsaWIucHkKLSsrKyBiL0xpYi90ZXN0L3Rlc3RfZnRwbGliLnB5Ci1AQCAtODc2LDE4ICs4NzYsMjMgQEAgY2xhc3MgVGVzdFRMU19GVFBDbGFzcyhUZXN0Q2FzZSk6Ci0gICAgICAgICAjIGNsZWFyIHRleHQKLSAgICAgICAgIHdpdGggc2VsZi5jbGllbnQudHJhbnNmZXJjbWQoJ2xpc3QnKSBhcyBzb2NrOgotICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SXNJbnN0YW5jZShzb2NrLCBzc2wuU1NMU29ja2V0KQotKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29jay5yZWN2KDEwMjQpLCBMSVNUX0RBVEEuZW5jb2RlKCdhc2NpaScpKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNsaWVudC52b2lkcmVzcCgpLCAiMjI2IHRyYW5zZmVyIGNvbXBsZXRlIikKLSAKLSAgICAgICAgICMgc2VjdXJlZCwgYWZ0ZXIgUFJPVCBQCi0gICAgICAgICBzZWxmLmNsaWVudC5wcm90X3AoKQotICAgICAgICAgd2l0aCBzZWxmLmNsaWVudC50cmFuc2ZlcmNtZCgnbGlzdCcpIGFzIHNvY2s6Ci0gICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHNvY2ssIHNzbC5TU0xTb2NrZXQpCi0rICAgICAgICAgICAgIyBjb25zdW1lIGZyb20gU1NMIHNvY2tldCB0byBmaW5hbGl6ZSBoYW5kc2hha2UgYW5kIGF2b2lkCi0rICAgICAgICAgICAgIyAiU1NMRXJyb3IgW1NTTF0gc2h1dGRvd24gd2hpbGUgaW4gaW5pdCIKLSsgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvY2sucmVjdigxMDI0KSwgTElTVF9EQVRBLmVuY29kZSgnYXNjaWknKSkKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jbGllbnQudm9pZHJlc3AoKSwgIjIyNiB0cmFuc2ZlciBjb21wbGV0ZSIpCi0gCi0gICAgICAgICAjIFBST1QgQyBpcyBpc3N1ZWQsIHRoZSBjb25uZWN0aW9uIG11c3QgYmUgaW4gY2xlYXJ0ZXh0IGFnYWluCi0gICAgICAgICBzZWxmLmNsaWVudC5wcm90X2MoKQotICAgICAgICAgd2l0aCBzZWxmLmNsaWVudC50cmFuc2ZlcmNtZCgnbGlzdCcpIGFzIHNvY2s6Ci0gICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RJc0luc3RhbmNlKHNvY2ssIHNzbC5TU0xTb2NrZXQpCi0rICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb2NrLnJlY3YoMTAyNCksIExJU1RfREFUQS5lbmNvZGUoJ2FzY2lpJykpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2xpZW50LnZvaWRyZXNwKCksICIyMjYgdHJhbnNmZXIgY29tcGxldGUiKQotIAotICAgICBkZWYgdGVzdF9sb2dpbihzZWxmKToKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2hvc3RfaW5jbHVkZV9jb250YW1pbmF0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvaG9zdF9pbmNsdWRlX2NvbnRhbWluYXRpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmMjA1NGQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvaG9zdF9pbmNsdWRlX2NvbnRhbWluYXRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi13aGVuIGJ1aWxkaW5nIHB5dGhvbiBmb3IgcWVtdXg4Ni02NCBvbiB1YnVudHUgMTEuMTAvNjRiaXQKLWl0IGdyb3BlcyBpbnRvIGhvc3QgaW5jbHVkZXMgYW5kIHRoZW4gbWl4ZXMgdGhlbSB3aXRoIGNyb3NzCi1pbmNsdWRlcyBhbmQgYXMgYSByZXN1bHQgc29tZSBtb2R1bGVzIGZhaWwgdG8gY29tcGlsZSBhbmQgbGluawotb25lIG9mIHRoZSBtb2R1bGVzIGlzIHB5dGhvbi1lbGVtZW50dHJlZSB3aGljaCBpcyB0aGVuIG5vdAotZm91bmQgZHVyaW5nIGltYWdlIGNyZWF0aW9uCi0KLVByb2JsZSBpcyB0aGF0IHNldHVwLnB5IHRyaWVzIHRvIGFkZCBuYXRpdmUgaW5jbHVkZXMgdGhhdCBuZXdlcgotdWJ1bnR1IGhhcyBpbnRyb2R1Y2VkIGZvciBtdWx0aWFyY2ggc3VwcG9ydC4gQnV0IHRoYXQgc2hvdWxkCi1vbmx5IGhhcHBlbiBmb3IgbmF0aXZlIGJ1aWxkcyBhbmQgbm90IGNyb3NzIGJ1aWxkaW5nIHB5dGhvbgotc28gd2UgYWRkIGEgY2hlY2sgaGVyZS4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1JbmRleDogUHl0aG9uLTMuMy4wcmMyL3NldHVwLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuMy4wcmMyLm9yaWcvc2V0dXAucHkJMjAxMi0wOS0yMCAyMTo1NDo1MC4wMDAwMDAwMDAgLTA3MDAKLSsrKyBQeXRob24tMy4zLjByYzIvc2V0dXAucHkJMjAxMi0wOS0yMCAyMTo1NzozNS4wMjkxMjM4NTggLTA3MDAKLUBAIC00MDIsNiArNDAyLDkgQEAKLSAKLSAgICAgICAgIGlmIG5vdCBmaW5kX2V4ZWN1dGFibGUoJ2Rwa2ctYXJjaGl0ZWN0dXJlJyk6Ci0gICAgICAgICAgICAgcmV0dXJuCi0rICAgICAgICBpZiBjcm9zc19jb21waWxpbmc6Ci0rICAgICAgICAgICAgcmV0dXJuCi0rCi0gICAgICAgICBvcHQgPSAnJwotICAgICAgICAgaWYgY3Jvc3NfY29tcGlsaW5nOgotICAgICAgICAgICAgIG9wdCA9ICctdCcgKyBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ0hPU1RfR05VX1RZUEUnKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcGFzcy1taXNzaW5nLWxpYnJhcmllcy10by1FeHRlbnNpb24tZm9yLW11bC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3Bhc3MtbWlzc2luZy1saWJyYXJpZXMtdG8tRXh0ZW5zaW9uLWZvci1tdWwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjM2FmNmIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcGFzcy1taXNzaW5nLWxpYnJhcmllcy10by1FeHRlbnNpb24tZm9yLW11bC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgyICswLDAgQEAKLUZyb20gYTc4NGI3MGQ0N2JhMjEwNGFmYmNmZDgwNWUyYTY2Y2RjMjEwOWVjNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IEZyaSwgNCBBdWcgMjAxNyAxMToxNjoxNCArMDgwMAotU3ViamVjdDogW1BBVENIXSBzZXR1cC5weTogcGFzcyBtaXNzaW5nIGxpYnJhcmllcyB0byBFeHRlbnNpb24gZm9yIG11bHRpcHJvY2Vzc2luZyBtb2R1bGUKLQotSW4gdGhlIGZvbGxvd2luZyBjb21taXQ6Ci0uLi4KLWNvbW1pdCBlNzExY2FmYWIxM2VmYzljMWZlNmM1Y2Q3NTgyNjQwMTQ0NWViNTg1Ci1BdXRob3I6IEJlbmphbWluIFBldGVyc29uIDxiZW5qYW1pbkBweXRob24ub3JnPgotRGF0ZTogICBXZWQgSnVuIDExIDE2OjQ0OjA0IDIwMDggKzAwMDAKLQotICAgIE1lcmdlZCByZXZpc2lvbnMgNjQxMDQsNjQxMTcgdmlhIHN2bm1lcmdlIGZyb20KLSAgICBzdm4rc3NoOi8vcHl0aG9uZGV2QHN2bi5weXRob24ub3JnL3B5dGhvbi90cnVuawotLi4uCi0oc2VlIGRpZmYgaW4gc2V0dXAucHkpCi1JdCBhc3NpZ25lZCBsaWJyYXJpZXMgZm9yIG11bHRpcHJvY2Vzc2luZyBtb2R1bGUgYWNjb3JkaW5nCi10aGUgaG9zdF9wbGF0Zm9ybSwgYnV0IG5vdCBwYXNzIGl0IHRvIEV4dGVuc2lvbi4KLQotSW4gZ2xpYmMsIHRoZSBmb2xsb3dpbmcgY29tbWl0IGNhdXNlZCB0d28gZGVmaW5pdGlvbiBvZgotc2VtX2dldHZhbHVlIGFyZSBkaWZmZXJlbnQuCi1odHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC8/cD1nbGliYy5naXQ7YT1jb21taXQ7aD0wNDJlMTUyMWM3OTRhOTQ1ZWRjNDNiNWJmYTdlNjlhZDcwNDIwNTI0Ci0oc2VlIGRpZmYgaW4gbnB0bC9zZW1fZ2V0dmFsdWUuYyBmb3IgZGV0YWlsKQotYF9fbmV3X3NlbV9nZXR2YWx1ZScgaXMgdGhlIGxhdGVzdCBzZW1fZ2V0dmFsdWVAQEdMSUJDXzIuMQotYW5kIGBfX29sZF9zZW1fZ2V0dmFsdWUnIGlzIHRvIGNvbXBhdCB0aGUgb2xkIHZlcnNpb24KLXNlbV9nZXR2YWx1ZUBHTElCQ18yLjAuCi0KLVRvIGJ1aWxkIHB5dGhvbiBmb3IgZW1iZWRkZWQgTGludXggc3lzdGVtczoKLWh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuMy4xL3lvY3RvLXByb2plY3QtcXMveW9jdG8tcHJvamVjdC1xcy5odG1sCi1JZiBub3QgZXhwbGljaXRseSBsaW5rIHRvIGxpYnJhcnkgcHRocmVhZCAoLWxwdGhyZWFkKSwgaXQgd2lsbAotbG9hZCBnbGliYydzIHNlbV9nZXR2YWx1ZSByYW5kb21seSBhdCBydW50aW1lLgotCi1TdWNoIGFzIGJ1aWxkIHB5dGhvbiBvbiBsaW51eCB4ODZfNjQgaG9zdCBhbmQgcnVuIHRoZSBweXRob24KLW9uIGxpbnV4IHg4Nl8zMiB0YXJnZXQuIElmIG5vdCBsaW5rIGxpYnJhcnkgcHRocmVhZCwgaXQgY2F1c2VkCi1tdWx0aXByb2Nlc3NpbmcgYm91bmRlZCBzZW1hcGhvcmUgY291bGQgbm90IHdvcmsgY29ycmVjdGx5LgotLi4uCi0+Pj4gaW1wb3J0IG11bHRpcHJvY2Vzc2luZwotPj4+IHBvb2xfc2VtYSA9IG11bHRpcHJvY2Vzc2luZy5Cb3VuZGVkU2VtYXBob3JlKHZhbHVlPTEpCi0+Pj4gcG9vbF9zZW1hLmFjcXVpcmUoKQotVHJ1ZQotPj4+IHBvb2xfc2VtYS5yZWxlYXNlKCkKLVRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKLSAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT4KLVZhbHVlRXJyb3I6IHNlbWFwaG9yZSBvciBsb2NrIHJlbGVhc2VkIHRvbyBtYW55IHRpbWVzCi0uLi4KLQotQW5kIHRoZSBzZW1hcGhvcmUgaXNzdWUgYWxzbyBjYXVzZWQgbXVsdGlwcm9jZXNzaW5nLlF1ZXVlKCkucHV0KCkgaHVuZy4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9weXRob24vY3B5dGhvbi9wdWxsLzI5OTldCi0KLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIHNldHVwLnB5IHwgNyArKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKLWluZGV4IDRmMGY1MjIuLmQwNTcwN2QgMTAwNjQ0Ci0tLS0gYS9zZXR1cC5weQotKysrIGIvc2V0dXAucHkKLUBAIC0xNjA2LDggKzE2MDYsMTAgQEAgY2xhc3MgUHlCdWlsZEV4dChidWlsZF9leHQpOgotICAgICAgICAgZWxpZiBob3N0X3BsYXRmb3JtLnN0YXJ0c3dpdGgoJ25ldGJzZCcpOgotICAgICAgICAgICAgIG1hY3JvcyA9IGRpY3QoKQotICAgICAgICAgICAgIGxpYnJhcmllcyA9IFtdCi0tCi0tICAgICAgICBlbHNlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBMaW51eCBhbmQgb3RoZXIgdW5pY2VzCi0rICAgICAgICBlbGlmIGhvc3RfcGxhdGZvcm0uc3RhcnRzd2l0aCgoJ2xpbnV4JykpOgotKyAgICAgICAgICAgIG1hY3JvcyA9IGRpY3QoKQotKyAgICAgICAgICAgIGxpYnJhcmllcyA9IFsncHRocmVhZCddCi0rICAgICAgICBlbHNlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBPdGhlciB1bmljZXMKLSAgICAgICAgICAgICBtYWNyb3MgPSBkaWN0KCkKLSAgICAgICAgICAgICBsaWJyYXJpZXMgPSBbJ3J0J10KLSAKLUBAIC0xNjI2LDYgKzE2MjgsNyBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6Ci0gICAgICAgICBpZiBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1dJVEhfVEhSRUFEJyk6Ci0gICAgICAgICAgICAgZXh0cy5hcHBlbmQgKCBFeHRlbnNpb24oJ19tdWx0aXByb2Nlc3NpbmcnLCBtdWx0aXByb2Nlc3Npbmdfc3JjcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVfbWFjcm9zPWxpc3QobWFjcm9zLml0ZW1zKCkpLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcmllcz1saWJyYXJpZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJzPVsiTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nIl0pKQotICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICBtaXNzaW5nLmFwcGVuZCgnX211bHRpcHJvY2Vzc2luZycpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3B5dGhvbi0zLjMtbXVsdGlsaWIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9weXRob24tMy4zLW11bHRpbGliLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYzM1ZGMxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3B5dGhvbi0zLjMtbXVsdGlsaWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNjMgKzAsMCBAQAotRnJvbSA1MWZlNmYyMmQwYmExMTM2NzRmYjM1OGJkMTFkNzVmZTY1OWJkMjZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMTQgTWF5IDIwMTMgMTU6MDA6MjYgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAwMS8xM10gZ2V0IHRoZSBzeXMubGliIGZyb20gcHl0aG9uIGl0c2VsZiBhbmQgZG8gbm90IHVzZQotIGhhcmRjb2RlZCB2YWx1ZSBvZiAnbGliJwotCi0wMi8yMDE1IFJlYmFzZWQgZm9yIDMuNC4yCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEFsZWphbmRybyBIZXJuYW5kZXogPGFsZWphbmRyby5oZXJuYW5kZXpAbGludXguaW50ZWwuY29tPgotCi0tLS0KLSBJbmNsdWRlL3B5dGhvbnJ1bi5oICAgICAgICAgICAgICB8ICAzICsrKwotIExpYi9kaXN0dXRpbHMvY29tbWFuZC9pbnN0YWxsLnB5IHwgIDQgKysrLQotIExpYi9weWRvYy5weSAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KLSBMaWIvc2l0ZS5weSAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KLSBMaWIvc3lzY29uZmlnLnB5ICAgICAgICAgICAgICAgICB8IDE4ICsrKysrKysrKy0tLS0tLS0tLQotIExpYi90cmFjZS5weSAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQotIE1ha2VmaWxlLnByZS5pbiAgICAgICAgICAgICAgICAgIHwgIDcgKysrKystLQotIE1vZHVsZXMvZ2V0cGF0aC5jICAgICAgICAgICAgICAgIHwgMTAgKysrKysrKysrLQotIFB5dGhvbi9nZXRwbGF0Zm9ybS5jICAgICAgICAgICAgIHwgMjAgKysrKysrKysrKysrKysrKysrKysKLSBQeXRob24vc3lzbW9kdWxlLmMgICAgICAgICAgICAgICB8ICA0ICsrKysKLSBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gc2V0dXAucHkgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOSArKysrLS0tLS0KLSAxMiBmaWxlcyBjaGFuZ2VkLCA5NyBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKLQotSW5kZXg6IFB5dGhvbi0zLjUuNC9JbmNsdWRlL3B5dGhvbnJ1bi5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvSW5jbHVkZS9weXRob25ydW4uaAotKysrIFB5dGhvbi0zLjUuNC9JbmNsdWRlL3B5dGhvbnJ1bi5oCi1AQCAtMjMsNiArMjMsOSBAQCB0eXBlZGVmIHN0cnVjdCB7Ci0gfSBQeUNvbXBpbGVyRmxhZ3M7Ci0gI2VuZGlmCi0gCi0rUHlBUElfRlVOQyhjb25zdCBjaGFyICopIFB5X0dldEFyY2godm9pZCk7Ci0rUHlBUElfRlVOQyhjb25zdCBjaGFyICopIFB5X0dldExpYih2b2lkKTsKLSsKLSAjaWZuZGVmIFB5X0xJTUlURURfQVBJCi0gUHlBUElfRlVOQyhpbnQpIFB5UnVuX1NpbXBsZVN0cmluZ0ZsYWdzKGNvbnN0IGNoYXIgKiwgUHlDb21waWxlckZsYWdzICopOwotIFB5QVBJX0ZVTkMoaW50KSBQeVJ1bl9BbnlGaWxlRmxhZ3MoRklMRSAqLCBjb25zdCBjaGFyICosIFB5Q29tcGlsZXJGbGFncyAqKTsKLUluZGV4OiBQeXRob24tMy41LjQvTGliL2Rpc3R1dGlscy9jb21tYW5kL2luc3RhbGwucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy41LjQub3JpZy9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvaW5zdGFsbC5weQotKysrIFB5dGhvbi0zLjUuNC9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvaW5zdGFsbC5weQotQEAgLTE5LDYgKzE5LDggQEAgZnJvbSBzaXRlIGltcG9ydCBVU0VSX0JBU0UKLSBmcm9tIHNpdGUgaW1wb3J0IFVTRVJfU0lURQotIEhBU19VU0VSX1NJVEUgPSBUcnVlCi0gCi0rbGlibmFtZSA9IHN5cy5saWIKLSsKLSBXSU5ET1dTX1NDSEVNRSA9IHsKLSAgICAgJ3B1cmVsaWInOiAnJGJhc2UvTGliL3NpdGUtcGFja2FnZXMnLAotICAgICAncGxhdGxpYic6ICckYmFzZS9MaWIvc2l0ZS1wYWNrYWdlcycsCi1AQCAtMjksOCArMzEsOCBAQCBXSU5ET1dTX1NDSEVNRSA9IHsKLSAKLSBJTlNUQUxMX1NDSEVNRVMgPSB7Ci0gICAgICd1bml4X3ByZWZpeCc6IHsKLS0gICAgICAgICdwdXJlbGliJzogJyRiYXNlL2xpYi9weXRob24kcHlfdmVyc2lvbl9zaG9ydC9zaXRlLXBhY2thZ2VzJywKLS0gICAgICAgICdwbGF0bGliJzogJyRwbGF0YmFzZS9saWIvcHl0aG9uJHB5X3ZlcnNpb25fc2hvcnQvc2l0ZS1wYWNrYWdlcycsCi0rICAgICAgICAncHVyZWxpYic6ICckcGxhdGJhc2UvJytsaWJuYW1lKycvcHl0aG9uJHB5X3ZlcnNpb25fc2hvcnQvc2l0ZS1wYWNrYWdlcycsCi0rICAgICAgICAncGxhdGxpYic6ICckcGxhdGJhc2UvJytsaWJuYW1lKycvcHl0aG9uJHB5X3ZlcnNpb25fc2hvcnQvc2l0ZS1wYWNrYWdlcycsCi0gICAgICAgICAnaGVhZGVycyc6ICckYmFzZS9pbmNsdWRlL3B5dGhvbiRweV92ZXJzaW9uX3Nob3J0JGFiaWZsYWdzLyRkaXN0X25hbWUnLAotICAgICAgICAgJ3NjcmlwdHMnOiAnJGJhc2UvYmluJywKLSAgICAgICAgICdkYXRhJyAgIDogJyRiYXNlJywKLUluZGV4OiBQeXRob24tMy41LjQvTGliL3B5ZG9jLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvTGliL3B5ZG9jLnB5Ci0rKysgUHl0aG9uLTMuNS40L0xpYi9weWRvYy5weQotQEAgLTM4OSw3ICszODksNyBAQCBjbGFzcyBEb2M6Ci0gICAgIGRvY21vZHVsZSA9IGRvY2NsYXNzID0gZG9jcm91dGluZSA9IGRvY290aGVyID0gZG9jcHJvcGVydHkgPSBkb2NkYXRhID0gZmFpbAotIAotICAgICBkZWYgZ2V0ZG9jbG9jKHNlbGYsIG9iamVjdCwKLS0gICAgICAgICAgICAgICAgICBiYXNlZGlyPW9zLnBhdGguam9pbihzeXMuYmFzZV9leGVjX3ByZWZpeCwgImxpYiIsCi0rICAgICAgICAgICAgICAgICAgYmFzZWRpcj1vcy5wYXRoLmpvaW4oc3lzLmJhc2VfZXhlY19wcmVmaXgsIHN5cy5saWIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInB5dGhvbiVkLiVkIiAlICBzeXMudmVyc2lvbl9pbmZvWzoyXSkpOgotICAgICAgICAgIiIiUmV0dXJuIHRoZSBsb2NhdGlvbiBvZiBtb2R1bGUgZG9jcyBvciBOb25lIiIiCi0gCi1JbmRleDogUHl0aG9uLTMuNS40L0xpYi9zaXRlLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvTGliL3NpdGUucHkKLSsrKyBQeXRob24tMy41LjQvTGliL3NpdGUucHkKLUBAIC0zMDMsMTIgKzMwMywxMiBAQCBkZWYgZ2V0c2l0ZXBhY2thZ2VzKHByZWZpeGVzPU5vbmUpOgotICAgICAgICAgc2Vlbi5hZGQocHJlZml4KQotIAotICAgICAgICAgaWYgb3Muc2VwID09ICcvJzoKLS0gICAgICAgICAgICBzaXRlcGFja2FnZXMuYXBwZW5kKG9zLnBhdGguam9pbihwcmVmaXgsICJsaWIiLAotKyAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQob3MucGF0aC5qb2luKHByZWZpeCwgc3lzLmxpYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInB5dGhvbiIgKyBzeXMudmVyc2lvbls6M10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaXRlLXBhY2thZ2VzIikpCi0gICAgICAgICBlbHNlOgotICAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQocHJlZml4KQotLSAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQob3MucGF0aC5qb2luKHByZWZpeCwgImxpYiIsICJzaXRlLXBhY2thZ2VzIikpCi0rICAgICAgICAgICAgc2l0ZXBhY2thZ2VzLmFwcGVuZChvcy5wYXRoLmpvaW4ocHJlZml4LCBzeXMubGliLCAic2l0ZS1wYWNrYWdlcyIpKQotICAgICAgICAgaWYgc3lzLnBsYXRmb3JtID09ICJkYXJ3aW4iOgotICAgICAgICAgICAgICMgZm9yIGZyYW1ld29yayBidWlsZHMgKm9ubHkqIHdlIGFkZCB0aGUgc3RhbmRhcmQgQXBwbGUKLSAgICAgICAgICAgICAjIGxvY2F0aW9ucy4KLUluZGV4OiBQeXRob24tMy41LjQvTGliL3N5c2NvbmZpZy5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjUuNC5vcmlnL0xpYi9zeXNjb25maWcucHkKLSsrKyBQeXRob24tMy41LjQvTGliL3N5c2NvbmZpZy5weQotQEAgLTIwLDEwICsyMCwxMCBAQCBfX2FsbF9fID0gWwotIAotIF9JTlNUQUxMX1NDSEVNRVMgPSB7Ci0gICAgICdwb3NpeF9wcmVmaXgnOiB7Ci0tICAgICAgICAnc3RkbGliJzogJ3tpbnN0YWxsZWRfYmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0tICAgICAgICAncGxhdHN0ZGxpYic6ICd7cGxhdGJhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotLSAgICAgICAgJ3B1cmVsaWInOiAne2Jhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0tICAgICAgICAncGxhdGxpYic6ICd7cGxhdGJhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0rICAgICAgICAnc3RkbGliJzogJ3tpbnN0YWxsZWRfYmFzZX0vJytzeXMubGliKycvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLSsgICAgICAgICdwbGF0c3RkbGliJzogJ3twbGF0YmFzZX0vJytzeXMubGliKycvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLSsgICAgICAgICdwdXJlbGliJzogJ3twbGF0YmFzZX0vJytzeXMubGliKycvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9L3NpdGUtcGFja2FnZXMnLAotKyAgICAgICAgJ3BsYXRsaWInOiAne3BsYXRiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0gICAgICAgICAnaW5jbHVkZSc6Ci0gICAgICAgICAgICAgJ3tpbnN0YWxsZWRfYmFzZX0vaW5jbHVkZS9weXRob257cHlfdmVyc2lvbl9zaG9ydH17YWJpZmxhZ3N9JywKLSAgICAgICAgICdwbGF0aW5jbHVkZSc6Ci1AQCAtMzIsMTAgKzMyLDEwIEBAIF9JTlNUQUxMX1NDSEVNRVMgPSB7Ci0gICAgICAgICAnZGF0YSc6ICd7YmFzZX0nLAotICAgICAgICAgfSwKLSAgICAgJ3Bvc2l4X2hvbWUnOiB7Ci0tICAgICAgICAnc3RkbGliJzogJ3tpbnN0YWxsZWRfYmFzZX0vbGliL3B5dGhvbicsCi0tICAgICAgICAncGxhdHN0ZGxpYic6ICd7YmFzZX0vbGliL3B5dGhvbicsCi0tICAgICAgICAncHVyZWxpYic6ICd7YmFzZX0vbGliL3B5dGhvbicsCi0tICAgICAgICAncGxhdGxpYic6ICd7YmFzZX0vbGliL3B5dGhvbicsCi0rICAgICAgICAnc3RkbGliJzogJ3tpbnN0YWxsZWRfYmFzZX0vJytzeXMubGliKycvcHl0aG9uJywKLSsgICAgICAgICdwbGF0c3RkbGliJzogJ3tiYXNlfS8nK3N5cy5saWIrJy9weXRob24nLAotKyAgICAgICAgJ3B1cmVsaWInOiAne2Jhc2V9Lycrc3lzLmxpYisnL3B5dGhvbicsCi0rICAgICAgICAncGxhdGxpYic6ICd7YmFzZX0vJytzeXMubGliKycvcHl0aG9uJywKLSAgICAgICAgICdpbmNsdWRlJzogJ3tpbnN0YWxsZWRfYmFzZX0vaW5jbHVkZS9weXRob24nLAotICAgICAgICAgJ3BsYXRpbmNsdWRlJzogJ3tpbnN0YWxsZWRfYmFzZX0vaW5jbHVkZS9weXRob24nLAotICAgICAgICAgJ3NjcmlwdHMnOiAne2Jhc2V9L2JpbicsCi1AQCAtNjEsMTAgKzYxLDEwIEBAIF9JTlNUQUxMX1NDSEVNRVMgPSB7Ci0gICAgICAgICAnZGF0YSc6ICd7dXNlcmJhc2V9JywKLSAgICAgICAgIH0sCi0gICAgICdwb3NpeF91c2VyJzogewotLSAgICAgICAgJ3N0ZGxpYic6ICd7dXNlcmJhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotLSAgICAgICAgJ3BsYXRzdGRsaWInOiAne3VzZXJiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLS0gICAgICAgICdwdXJlbGliJzogJ3t1c2VyYmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLS0gICAgICAgICdwbGF0bGliJzogJ3t1c2VyYmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLSsgICAgICAgICdzdGRsaWInOiAne3VzZXJiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotKyAgICAgICAgJ3BsYXRzdGRsaWInOiAne3VzZXJiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotKyAgICAgICAgJ3B1cmVsaWInOiAne3VzZXJiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0rICAgICAgICAncGxhdGxpYic6ICd7dXNlcmJhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgICdpbmNsdWRlJzogJ3t1c2VyYmFzZX0vaW5jbHVkZS9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotICAgICAgICAgJ3NjcmlwdHMnOiAne3VzZXJiYXNlfS9iaW4nLAotICAgICAgICAgJ2RhdGEnOiAne3VzZXJiYXNlfScsCi1JbmRleDogUHl0aG9uLTMuNS40L0xpYi90cmFjZS5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjUuNC5vcmlnL0xpYi90cmFjZS5weQotKysrIFB5dGhvbi0zLjUuNC9MaWIvdHJhY2UucHkKLUBAIC03NDksMTAgKzc0OSwxMCBAQCBkZWYgbWFpbihhcmd2PU5vbmUpOgotICAgICAgICAgICAgICAgICAjIHNob3VsZCBJIGFsc28gY2FsbCBleHBhbmR1c2VyPyAoYWZ0ZXIgYWxsLCBjb3VsZCB1c2UgJEhPTUUpCi0gCi0gICAgICAgICAgICAgICAgIHMgPSBzLnJlcGxhY2UoIiRwcmVmaXgiLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihzeXMuYmFzZV9wcmVmaXgsICJsaWIiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihzeXMuYmFzZV9wcmVmaXgsIHN5cy5saWIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJweXRob24iICsgc3lzLnZlcnNpb25bOjNdKSkKLSAgICAgICAgICAgICAgICAgcyA9IHMucmVwbGFjZSgiJGV4ZWNfcHJlZml4IiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc3lzLmJhc2VfZXhlY19wcmVmaXgsICJsaWIiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihzeXMuYmFzZV9leGVjX3ByZWZpeCwgc3lzLmxpYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInB5dGhvbiIgKyBzeXMudmVyc2lvbls6M10pKQotICAgICAgICAgICAgICAgICBzID0gb3MucGF0aC5ub3JtcGF0aChzKQotICAgICAgICAgICAgICAgICBpZ25vcmVfZGlycy5hcHBlbmQocykKLUluZGV4OiBQeXRob24tMy41LjQvTWFrZWZpbGUucHJlLmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvTWFrZWZpbGUucHJlLmluCi0rKysgUHl0aG9uLTMuNS40L01ha2VmaWxlLnByZS5pbgotQEAgLTEwOSw2ICsxMDksOCBAQCBDRkxBR1NfQUxJQVNJTkc9QENGTEFHU19BTElBU0lOR0AKLSAKLSAjIE1hY2hpbmUtZGVwZW5kZW50IHN1YmRpcmVjdG9yaWVzCi0gTUFDSERFUD0JQE1BQ0hERVBACi0rTElCPQkJQExJQkAKLStBUkNIPQkJQEFSQ0hACi0gCi0gIyBNdWx0aWFyY2ggZGlyZWN0b3J5IChtYXkgYmUgZW1wdHkpCi0gTVVMVElBUkNIPQlATVVMVElBUkNIQAotQEAgLTEyOCw3ICsxMzAsNyBAQCBMSUJESVI9CQlAbGliZGlyQAotIE1BTkRJUj0JCUBtYW5kaXJACi0gSU5DTFVERURJUj0JQGluY2x1ZGVkaXJACi0gQ09ORklOQ0xVREVESVI9CSQoZXhlY19wcmVmaXgpL2luY2x1ZGUKLS1TQ1JJUFRESVI9CSQocHJlZml4KS9saWIKLStTQ1JJUFRESVI9CUBsaWJkaXJACi0gQUJJRkxBR1M9CUBBQklGTEFHU0AKLSAKLSAjIERldGFpbGVkIGRlc3RpbmF0aW9uIGRpcmVjdG9yaWVzCi1AQCAtNzMxLDYgKzczMyw3IEBAIE1vZHVsZXMvZ2V0cGF0aC5vOiAkKHNyY2RpcikvTW9kdWxlcy9nZXQKLSAJCS1ERVhFQ19QUkVGSVg9JyIkKGV4ZWNfcHJlZml4KSInIFwKLSAJCS1EVkVSU0lPTj0nIiQoVkVSU0lPTikiJyBcCi0gCQktRFZQQVRIPSciJChWUEFUSCkiJyBcCi0rCQktREFSQ0g9JyIkKEFSQ0gpIicgLURMSUI9JyIkKExJQikiJyBcCi0gCQktbyAkQCAkKHNyY2RpcikvTW9kdWxlcy9nZXRwYXRoLmMKLSAKLSBQcm9ncmFtcy9weXRob24ubzogJChzcmNkaXIpL1Byb2dyYW1zL3B5dGhvbi5jCi1AQCAtODEzLDcgKzgxNiw3IEBAIHJlZ2VuLW9wY29kZToKLSBQeXRob24vY29tcGlsZS5vIFB5dGhvbi9zeW10YWJsZS5vIFB5dGhvbi9hc3QubzogJChzcmNkaXIpL0luY2x1ZGUvZ3JhbWluaXQuaCAkKHNyY2RpcikvSW5jbHVkZS9QeXRob24tYXN0LmgKLSAKLSBQeXRob24vZ2V0cGxhdGZvcm0ubzogJChzcmNkaXIpL1B5dGhvbi9nZXRwbGF0Zm9ybS5jCi0tCQkkKENDKSAtYyAkKFBZX0NPUkVfQ0ZMQUdTKSAtRFBMQVRGT1JNPSciJChNQUNIREVQKSInIC1vICRAICQoc3JjZGlyKS9QeXRob24vZ2V0cGxhdGZvcm0uYwotKwkJJChDQykgLWMgJChQWV9DT1JFX0NGTEFHUykgLURQTEFURk9STT0nIiQoTUFDSERFUCkiJyAtREFSQ0g9JyIkKEFSQ0gpIicgLURMSUI9JyIkKExJQikiJyAtbyAkQCAkKHNyY2RpcikvUHl0aG9uL2dldHBsYXRmb3JtLmMKLSAKLSBQeXRob24vaW1wb3J0ZGwubzogJChzcmNkaXIpL1B5dGhvbi9pbXBvcnRkbC5jCi0gCQkkKENDKSAtYyAkKFBZX0NPUkVfQ0ZMQUdTKSAtSSQoRExJTkNMRElSKSAtbyAkQCAkKHNyY2RpcikvUHl0aG9uL2ltcG9ydGRsLmMKLUluZGV4OiBQeXRob24tMy41LjQvTW9kdWxlcy9nZXRwYXRoLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy41LjQub3JpZy9Nb2R1bGVzL2dldHBhdGguYwotKysrIFB5dGhvbi0zLjUuNC9Nb2R1bGVzL2dldHBhdGguYwotQEAgLTEwNSw2ICsxMDUsMTMgQEAKLSAjZXJyb3IgIlBSRUZJWCwgRVhFQ19QUkVGSVgsIFZFUlNJT04sIGFuZCBWUEFUSCBtdXN0IGJlIGNvbnN0YW50IGRlZmluZWQiCi0gI2VuZGlmCi0gCi0rI2RlZmluZSBMSUJfUFlUSE9OIExJQiAiL3B5dGhvbiIgVkVSU0lPTgotKwotKyNpZm5kZWYgUFlUSE9OUEFUSAotKyNkZWZpbmUgUFlUSE9OUEFUSCBQUkVGSVggIi8iIExJQl9QWVRIT04gIjoiIFwKLSsgICAgICAgIEVYRUNfUFJFRklYICIvIiBMSUJfUFlUSE9OICIvbGliLWR5bmxvYWQiCi0rI2VuZGlmCi0rCi0gI2lmbmRlZiBMQU5ETUFSSwotICNkZWZpbmUgTEFORE1BUksgTCJvcy5weSIKLSAjZW5kaWYKLUBAIC0xMTMsNiArMTIwLDcgQEAgc3RhdGljIHdjaGFyX3QgcHJlZml4W01BWFBBVEhMRU4rMV07Ci0gc3RhdGljIHdjaGFyX3QgZXhlY19wcmVmaXhbTUFYUEFUSExFTisxXTsKLSBzdGF0aWMgd2NoYXJfdCBwcm9ncGF0aFtNQVhQQVRITEVOKzFdOwotIHN0YXRpYyB3Y2hhcl90ICptb2R1bGVfc2VhcmNoX3BhdGggPSBOVUxMOwotK3N0YXRpYyB3Y2hhcl90ICpsaWJfcHl0aG9uID0gTCIiIExJQl9QWVRIT047Ci0gCi0gLyogR2V0IGZpbGUgc3RhdHVzLiBFbmNvZGUgdGhlIHBhdGggdG8gdGhlIGxvY2FsZSBlbmNvZGluZy4gKi8KLSAKLUBAIC00OTQsNyArNTAyLDcgQEAgY2FsY3VsYXRlX3BhdGgodm9pZCkKLSAgICAgX3B5dGhvbnBhdGggPSBQeV9EZWNvZGVMb2NhbGUoUFlUSE9OUEFUSCwgTlVMTCk7Ci0gICAgIF9wcmVmaXggPSBQeV9EZWNvZGVMb2NhbGUoUFJFRklYLCBOVUxMKTsKLSAgICAgX2V4ZWNfcHJlZml4ID0gUHlfRGVjb2RlTG9jYWxlKEVYRUNfUFJFRklYLCBOVUxMKTsKLS0gICAgbGliX3B5dGhvbiA9IFB5X0RlY29kZUxvY2FsZSgibGliL3B5dGhvbiIgVkVSU0lPTiwgTlVMTCk7Ci0rICAgIGxpYl9weXRob24gPSBQeV9EZWNvZGVMb2NhbGUoTElCX1BZVEhPTiwgTlVMTCk7Ci0gCi0gICAgIGlmICghX3B5dGhvbnBhdGggfHwgIV9wcmVmaXggfHwgIV9leGVjX3ByZWZpeCB8fCAhbGliX3B5dGhvbikgewotICAgICAgICAgUHlfRmF0YWxFcnJvcigKLUluZGV4OiBQeXRob24tMy41LjQvUHl0aG9uL2dldHBsYXRmb3JtLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy41LjQub3JpZy9QeXRob24vZ2V0cGxhdGZvcm0uYwotKysrIFB5dGhvbi0zLjUuNC9QeXRob24vZ2V0cGxhdGZvcm0uYwotQEAgLTEwLDMgKzEwLDIzIEBAIFB5X0dldFBsYXRmb3JtKHZvaWQpCi0gewotIAlyZXR1cm4gUExBVEZPUk07Ci0gfQotKwotKyNpZm5kZWYgQVJDSAotKyNkZWZpbmUgQVJDSCAidW5rbm93biIKLSsjZW5kaWYKLSsKLStjb25zdCBjaGFyICoKLStQeV9HZXRBcmNoKHZvaWQpCi0rewotKwlyZXR1cm4gQVJDSDsKLSt9Ci0rCi0rI2lmbmRlZiBMSUIKLSsjZGVmaW5lIExJQiAibGliIgotKyNlbmRpZgotKwotK2NvbnN0IGNoYXIgKgotK1B5X0dldExpYih2b2lkKQotK3sKLSsJcmV0dXJuIExJQjsKLSt9Ci1JbmRleDogUHl0aG9uLTMuNS40L1B5dGhvbi9zeXNtb2R1bGUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjUuNC5vcmlnL1B5dGhvbi9zeXNtb2R1bGUuYwotKysrIFB5dGhvbi0zLjUuNC9QeXRob24vc3lzbW9kdWxlLmMKLUBAIC0xODI3LDYgKzE4MjcsMTAgQEAgX1B5U3lzX0luaXQodm9pZCkKLSAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVN0cmluZyhQeV9HZXRDb3B5cmlnaHQoKSkpOwotICAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJwbGF0Zm9ybSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0Zyb21TdHJpbmcoUHlfR2V0UGxhdGZvcm0oKSkpOwotKyAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJhcmNoIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVN0cmluZyhQeV9HZXRBcmNoKCkpKTsKLSsgICAgU0VUX1NZU19GUk9NX1NUUklORygibGliIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVN0cmluZyhQeV9HZXRMaWIoKSkpOwotICAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJleGVjdXRhYmxlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9HZXRQcm9ncmFtRnVsbFBhdGgoKSwgLTEpKTsKLUluZGV4OiBQeXRob24tMy41LjQvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvY29uZmlndXJlLmFjCi0rKysgUHl0aG9uLTMuNS40L2NvbmZpZ3VyZS5hYwotQEAgLTg4NSw2ICs4ODUsNDEgQEAgUExBVERJUj1wbGF0LSRNQUNIREVQCi0gQUNfU1VCU1QoUExBVERJUikKLSBBQ19TVUJTVChQTEFURk9STV9UUklQTEVUKQotIAotK0FDX1NVQlNUKEFSQ0gpCi0rQUNfTVNHX0NIRUNLSU5HKEFSQ0gpCi0rQVJDSD1gdW5hbWUgLW1gCi0rY2FzZSAkQVJDSCBpbgotK2k/ODYpIEFSQ0g9aTM4Njs7Ci0rZXNhYwotK0FDX01TR19SRVNVTFQoJEFSQ0gpCi0rCi0rQUNfU1VCU1QoTElCKQotK0FDX01TR19DSEVDS0lORyhMSUIpCi0rY2FzZSAkYWNfc3lzX3N5c3RlbSBpbgotK0xpbnV4KikKLSsgICMgVGVzdCBpZiB0aGUgY29tcGlsZXIgaXMgNjRiaXQKLSsgIGVjaG8gJ2ludCBpOycgPiBjb25mdGVzdC4kYWNfZXh0Ci0rICBweXRob25fY3ZfY2NfNjRiaXRfb3V0cHV0PW5vCi0rICBpZiBBQ19UUllfRVZBTChhY19jb21waWxlKTsgdGhlbgotKyAgICBjYXNlIGAvdXNyL2Jpbi9maWxlIGNvbmZ0ZXN0LiRhY19vYmpleHRgIGluCi0rICAgICoiRUxGIDY0IiopCi0rICAgICAgcHl0aG9uX2N2X2NjXzY0Yml0X291dHB1dD15ZXMKLSsgICAgICA7OwotKyAgICBlc2FjCi0rICBmaQotKyAgcm0gLXJmIGNvbmZ0ZXN0KgotKyAgOzsKLStlc2FjCi0rCi0rY2FzZSAkQVJDSDokcHl0aG9uX2N2X2NjXzY0Yml0X291dHB1dCBpbgotK3BwYzY0OnllcyB8IHBvd2VycGM2NDp5ZXMgfCBzMzkweDp5ZXMgfCBzcGFyYzY0OnllcyB8IHg4Nl82NDp5ZXMpCi0rICBMSUI9ImxpYjY0IgotKyAgOzsKLSsqOiopCi0rICBMSUI9ImxpYiIKLSsgIDs7Ci0rZXNhYwotK0FDX01TR19SRVNVTFQoJExJQikKLSAKLSBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciAtV2wsLS1uby1hcy1uZWVkZWRdKQotIHNhdmVfTERGTEFHUz0iJExERkxBR1MiCi1JbmRleDogUHl0aG9uLTMuNS40L3NldHVwLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvc2V0dXAucHkKLSsrKyBQeXRob24tMy41LjQvc2V0dXAucHkKLUBAIC00OTQsNyArNDk0LDcgQEAgY2xhc3MgUHlCdWlsZEV4dChidWlsZF9leHQpOgotICAgICAgICAgIyBkaXJlY3RvcmllcyAoaS5lLiAnLicgYW5kICdJbmNsdWRlJykgbXVzdCBiZSBmaXJzdC4gIFNlZSBpc3N1ZQotICAgICAgICAgIyAxMDUyMC4KLSAgICAgICAgIGlmIG5vdCBjcm9zc19jb21waWxpbmc6Ci0tICAgICAgICAgICAgYWRkX2Rpcl90b19saXN0KHNlbGYuY29tcGlsZXIubGlicmFyeV9kaXJzLCAnL3Vzci9sb2NhbC9saWInKQotKyAgICAgICAgICAgIGFkZF9kaXJfdG9fbGlzdChzZWxmLmNvbXBpbGVyLmxpYnJhcnlfZGlycywgb3MucGF0aC5qb2luKCcvdXNyL2xvY2FsJywgc3lzLmxpYikpCi0gICAgICAgICAgICAgYWRkX2Rpcl90b19saXN0KHNlbGYuY29tcGlsZXIuaW5jbHVkZV9kaXJzLCAnL3Vzci9sb2NhbC9pbmNsdWRlJykKLSAgICAgICAgICMgb25seSBjaGFuZ2UgdGhpcyBmb3IgY3Jvc3MgYnVpbGRzIGZvciAzLjMsIGlzc3VlcyBvbiBNYWdlaWEKLSAgICAgICAgIGlmIGNyb3NzX2NvbXBpbGluZzoKLUBAIC01NTIsOCArNTUyLDcgQEAgY2xhc3MgUHlCdWlsZEV4dChidWlsZF9leHQpOgotICAgICAgICAgIyBiZSBhc3N1bWVkIHRoYXQgbm8gYWRkaXRpb25hbCAtSSwtTCBkaXJlY3RpdmVzIGFyZSBuZWVkZWQuCi0gICAgICAgICBpZiBub3QgY3Jvc3NfY29tcGlsaW5nOgotICAgICAgICAgICAgIGxpYl9kaXJzID0gc2VsZi5jb21waWxlci5saWJyYXJ5X2RpcnMgKyBbCi0tICAgICAgICAgICAgICAgICcvbGliNjQnLCAnL3Vzci9saWI2NCcsCi0tICAgICAgICAgICAgICAgICcvbGliJywgJy91c3IvbGliJywKLSsgICAgICAgICAgICAgICAgJy8nICsgc3lzLmxpYiwgJy91c3IvJyArIHN5cy5saWIsCi0gICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICBpbmNfZGlycyA9IHNlbGYuY29tcGlsZXIuaW5jbHVkZV9kaXJzICsgWycvdXNyL2luY2x1ZGUnXQotICAgICAgICAgZWxzZToKLUBAIC03NDUsMTEgKzc0NCwxMSBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6Ci0gICAgICAgICAgICAgZWxpZiBjdXJzZXNfbGlicmFyeToKLSAgICAgICAgICAgICAgICAgcmVhZGxpbmVfbGlicy5hcHBlbmQoY3Vyc2VzX2xpYnJhcnkpCi0gICAgICAgICAgICAgZWxpZiBzZWxmLmNvbXBpbGVyLmZpbmRfbGlicmFyeV9maWxlKGxpYl9kaXJzICsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnL3Vzci9saWIvdGVybWNhcCddLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWycvdXNyLycrc3lzLmxpYisnL3Rlcm1jYXAnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXJtY2FwJyk6Ci0gICAgICAgICAgICAgICAgIHJlYWRsaW5lX2xpYnMuYXBwZW5kKCd0ZXJtY2FwJykKLSAgICAgICAgICAgICBleHRzLmFwcGVuZCggRXh0ZW5zaW9uKCdyZWFkbGluZScsIFsncmVhZGxpbmUuYyddLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeV9kaXJzPVsnL3Vzci9saWIvdGVybWNhcCddLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeV9kaXJzPVsnL3Vzci8nK3N5cy5saWIrJy90ZXJtY2FwJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYV9saW5rX2FyZ3M9cmVhZGxpbmVfZXh0cmFfbGlua19hcmdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyaWVzPXJlYWRsaW5lX2xpYnMpICkKLSAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9weXRob24zLW1hbmlmZXN0Lmpzb24gYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9weXRob24zLW1hbmlmZXN0Lmpzb24KaW5kZXggNTMyOWJmNy4uMGE0YWIyYyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcHl0aG9uMy1tYW5pZmVzdC5qc29uCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3B5dGhvbjMtbWFuaWZlc3QuanNvbgpAQCAtMSwzICsxLDkzIEBACisjIERPIE5PVCAoZW50aXJlbHkpIG1vZGlmeSB0aGlzIGZpbGUgbWFudWFsbHksIHBsZWFzZSByZWFkLgorIworIyBJTVBPUlRBTlQgTk9URToKKyMgUGxlYXNlIGtlZXAgaW4gbWluZCB0aGF0IHRoZSBjcmVhdGVfbWFuaWZlc3QgdGFzayByZWxpZXMgb24gdGhlIGZhY3QgdGhlIHRoZQorIyB0YXJnZXQgYW5kIG5hdGl2ZSBQeXRob24gcGFja2FnZXMgYXJlIHRoZSBzYW1lLCBhbmQgaXQgYWxzbyBuZWVkcyB0byBiZSBleGVjdXRlZAorIyB3aXRoIGEgZnVsbHkgd29ya2luZyBuYXRpdmUgcGFja2FnZSAod2l0aCBhbGwgdGhlIFBBQ0tBR0VDT05GSUdzIGVuYWJsZWQgYW5kIGFsbAorIyBhbmQgYWxsIHRoZSBtb2R1bGVzIHNob3VsZCBiZSB3b3JraW5nLCBjaGVjayBsb2cuZG9fY29tcGlsZSksIG90aGVyd2lzZSB0aGUgc2NyaXB0CisjIHdpbGwgZmFpbCB0byBmaW5kIGRlcGVuZGVuY2llcyBjb3JyZWN0bHksIHRoaXMgbm90ZSBpcyB2YWxpZCBlaXRoZXIgaWYgeW91IGFyZQorIyB1cGdyYWRpbmcgdG8gYSBuZXcgUHl0aG9uIHZlcnNpb24gb3IgYWRkaW5nIGEgbmV3IHBhY2thZ2UuCisjCisjCisjIElmIHlvdSBhcmUgYWRkaW5nIGEgbmV3IHBhY2thZ2UgcGxlYXNlIGZvbGxvdyB0aGUgbmV4dCBzdGVwczoKKyMgICAgIEhvdyB0byBhZGQgYSBuZXcgcGFja2FnZToKKyMgICAgIC0gSWYgYSB1c2VyIHdhbnRzIHRvIGFkZCBhIG5ldyBwYWNrYWdlIGFsbCB0aGF0IGhhcyB0byBiZSBkb25lIGlzOgorIyAgICAgTW9kaWZ5IHRoZSBweXRob24zLW1hbmlmZXN0Lmpzb24gZmlsZSwgYW5kIGFkZCB0aGUgcmVxdWlyZWQgZmlsZShzKSB0byB0aGUgRklMRVMgbGlzdCwKKyMgICAgIGZpbGwgdXAgdGhlIFNVTU1BUlkgc2VjdGlvbiBhcyB3ZWxsLCB0aGUgc2NyaXB0IHNob3VsZCBoYW5kbGUgYWxsIHRoZSByZXN0LgorIworIyAgICAgUmVhbCBleGFtcGxlOgorIyAgICAgV2Ugd2FudCB0byBhZGQgYSB3ZWIgYnJvd3NlciBwYWNrYWdlLCBpbmNsdWRpbmcgdGhlIGZpbGUgd2ViYnJvd3Nlci5weQorIyAgICAgd2hpY2ggYXQgdGhlIG1vbWVudCBpcyBvbiBweXRob24zLW1pc2MuCisjICAgICAid2ViYnJvd3NlciI6IHsKKyMgICAgICAgICAiZmlsZXMiOiBbIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL3dlYmJyb3dzZXIucHkiXSwKKyMgICAgICAgICAicmRlcGVuZHMiOiBbXSwKKyMgICAgICAgICAic3VtbWFyeSI6ICJQeXRob24gV2ViIEJyb3dzZXIgc3VwcG9ydCJ9CisjCisjICAgICAqIE5vdGUgdGhhdCB0aGUgcmRlcGVuZHMgZmllbGQgd2FzIGxlZnQgZW1wdHkKKyMKKyMgICAgIFdlIHJ1biAkIGJpdGJha2UgcHl0aG9uMyAtYyBjcmVhdGVfbWFuaWZlc3QgYW5kIHRoZSByZXN1bHRpbmcgbWFuaWZlc3QKKyMgICAgIHNob3VsZCBiZSBjb21wbGV0ZWQgYWZ0ZXIgYSBmZXcgc2Vjb25kcywgc2hvd2luZyBzb21ldGhpbmcgbGlrZToKKyMgICAgICJ3ZWJicm93c2VyIjogeworIyAgICAgICAgICJmaWxlcyI6IFsiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vd2ViYnJvd3Nlci5weSJdLAorIyAgICAgICAgICJyZGVwZW5kcyI6IFsiY29yZSIsImZjbnRsIiwiaW8iLCJwaWNrbGUiLCJzaGVsbCIsInN1YnByb2Nlc3MiXSwKKyMgICAgICAgICAic3VtbWFyeSI6ICJQeXRob24gV2ViIEJyb3dzZXIgc3VwcG9ydCJ9CisjCisjCisjIElmIHlvdSBhcmUgdXBncmFkaW5nIFB5dGhvbiB0byBhIG5ldyB2ZXJzaW9uIHBsZWFzZSBmb2xsb3cgdGhlIG5leHQgc3RlcHM6CisjICAgICBBZnRlciBlYWNoIFB5dGhvbiB1cGdyYWRlLCB0aGUgY3JlYXRlX21hbmlmZXN0IHRhc2sgc2hvdWxkIGJlIGV4ZWN1dGVkLCBiZWNhdXNlIHdlCisjICAgICBkb24ndCBjb250cm9sIHdoYXQgY2hhbmdlcyBvbiB1cHN0cmVhbSBQeXRob24sIHNvLCBzb21lIG1vZHVsZSBkZXBlbmRlbmN5CisjICAgICBtaWdodCBoYXZlIGNoYW5nZWQgd2l0aG91dCB1cyByZWFsaXppbmcgaXQsIGEgY2VydGFpbiBtb2R1bGUgY2FuIGVpdGhlciBoYXZlCisjICAgICBtb3JlIG9yIGxlc3MgZGVwZW5kZW5jaWVzLCBvciBjb3VsZCBiZSBkZXBlbmRpbmcgb24gYSBuZXcgZmlsZSB0aGF0IHdhcyBqdXN0CisjICAgICBjcmVhdGVkIG9uIHRoZSBuZXcgcmVsZWFzZSBhbmQgZm9yIG9idmlvdXMgcmVhc29ucyB3ZSB3b3VsZG4ndCBoYXZlIGl0IG9uIG91cgorIyAgICAgb2xkIG1hbmlmZXN0LCBhbGwgb2YgdGhlc2UgaXNzdWVzIHdvdWxkIGNhdXNlIHJ1bnRpbWUgZXJyb3JzIG9uIG91ciBzeXN0ZW0uCisjCisjICAgICAtIFVwZ3JhZGUgYm90aCB0aGUgbmF0aXZlIGFuZCB0YXJnZXQgUHl0aG9uIHBhY2thZ2VzIHRvIGEgbmV3IHZlcnNpb24KKyMgICAgIC0gUnVuIHRoZSBjcmVhdGVfbWFuaWZlc3QgdGFzayBmb3IgdGhlIHRhcmdldCBQeXRob24gcGFja2FnZSBhcyBpdHMgc2hvd24gYmVsb3c6CisjCisjICAgICAkIGJpdGJha2UgcHl0aG9uMyAtYyBjcmVhdGVfbWFuaWZlc3QKKyMKKyMgICAgIFRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5IHJlcGxhY2UgeW91ciBtYW5pZmVzdCBmaWxlIGxvY2F0ZWQgdW5kZXIgdGhlIFB5dGhvbiBkaXJlY3RvcnkKKyMgICAgIHdpdGggYW4gbmV3IG9uZSwgd2hpY2ggY29udGFpbnMgdGhlIG5ldyBkZXBlbmRlbmNpZXMgKGlmIGFueSkuCisjCisjICAgICBTZXZlcmFsIHRoaW5ncyBjb3VsZCBoYXZlIGdvbmUgd3JvbmcgaGVyZSwgSSB3aWxsIHRyeSB0byBleHBsYWluIGEgZmV3OgorIworIyAgICAgYSkgQSBuZXcgZmlsZSB3YXMgaW50cm9kdWNlZCBvbiB0aGlzIHJlbGVhc2UsIGUuZy4gc2hhMyouc286CisjICAgICAgICBUaGUgdGFzayB3aWxsIGNoZWNrIHdoYXQgaXRzIG5lZWRlZCB0byBpbXBvcnQgZXZlcnkgbW9kdWxlLCBtb3JlIHRoYW4gb25lIG1vZHVsZSB3b3VsZAorIyAgICAgICAgd291bGQgcHJvYmFibHkgZGVwZW5kIG9uIHNoYTMqLnNvLCBhbHRob3VnaCBvbmx5IG9uZSBtb2R1bGUgc2hvdWxkIGNvbnRhaW4gaXQuCisjCisjICAgICAgICBBZnRlciBydW5uaW5nIHRoZSB0YXNrLCB0aGUgbmV3IG1hbmlmZXN0IHdpbGwgaGF2ZSB0aGUgc2hhMyouc28gZmlsZSBvbiBtb3JlIHRoYW4gb25lCisjICAgICAgICBtb2R1bGUsIHlvdSBuZWVkIHRvIG1hbnVhbGx5IGRlY2lkZSB3aGljaCBvbmUgb2YgdGhlbSBzaG91bGQgZ2V0IGl0IGFuZCBkZWxldGUgaXQgZnJvbQorIyAgICAgICAgdGhlIG90aGVycywgZm9yIGV4YW1wbGUgc2hhMyouc28gc2hvdWxkIGxpa2VseSBiZSBvbiAke1BOfS1jcnlwdC4KKyMgICAgICAgIE9uY2UgeW91IGhhdmUgZGVsZXRlZCBmcm9tIHRoZSBvdGhlcnMgeW91IG5lZWQgdG8gcnVuIHRoZSBjcmVhdGVfbWFuaWZlc3QgdGFzayBhZ2FpbiwKKyMgICAgICAgIHRoaXMgd2lsbCBwb3B1bGF0ZSB0aGUgb3RoZXIgbW9kdWxlJ3MgcmRlcGVuZHMgZmllbGRzLCB3aXRoICR7UE59LWNyeXB0IGFuZCB5b3Ugc2hvdWxkIGJlCisjICAgICAgICBnb29kIHRvIGdvLgorIworIyAgICAgYikgVGhlIG5hdGl2ZSBwYWNrYWdlIHdhc24ndCBidWlsdCBjb3JyZWN0bHkgYW5kIGl0cyBtaXNzaW5nIGEgY2VydGFpbiBtb2R1bGU6CisjICAgICAgICBBcyBtZW50aW9uZWQgYmVmb3JlLCB5b3UgbmVlZCB0byBtYWtlIHN1cmUgdGhlIG5hdGl2ZSBwYWNrYWdlIHdhcyBidWlsdCB3aXRoIGFsbCB0aGUgbW9kdWxlcworIyAgICAgICAgYmVjYXVzZSBpdCBpcyB1c2VkIGFzIGJhc2UgdG8gYnVpbGQgdGhlIG1hbmlmZXN0IGZpbGUsIHlvdSBuZWVkIHRvIG1hbnVhbGx5IGNoZWNrIGxvZy5kb19jb21waWxlCisjICAgICAgICBzaW5jZSBpdCB3b24ndCBlcnJvciBvdXQgdGhlIGNvbXBpbGUgZnVuY3Rpb24gaWYgaXRzIG9ubHkgbWlzc2luZyBhIGNvdXBsZSBvZiBtb2R1bGVzLgorIworIyAgICAgICAgZS5nLiBtaXNzaW5nIHRoZSBfdXVpZCBtb2R1bGUsIGxvZy5kb19jb21waWxlIHdvdWxkIHNob3cgdGhlIGZvbGxvd2luZzoKKyMgICAgICAgIFB5dGhvbiBidWlsZCBmaW5pc2hlZCBzdWNjZXNzZnVsbHkhCisjICAgICAgICBUaGUgbmVjZXNzYXJ5IGJpdHMgdG8gYnVpbGQgdGhlc2Ugb3B0aW9uYWwgbW9kdWxlcyB3ZXJlIG5vdCBmb3VuZDoKKyMgICAgICAgIF91dWlkCisjCisjICAgICAgICBXaGF0IHdpbGwgaGFwcGVuIGhlcmUgaXMgdGhhdCB0aGUgbmV3IG1hbmlmZXN0IHdvdWxkIG5vdCBiZSBhd2FyZSB0aGF0IHRoZSBfdXVpZCBtb2R1bGUgZXhpc3RzLCBzbworIyAgICAgICAgbm90IG9ubHkgd2Ugd29uJ3Qga25vdyBvZiBhbnkgZGVwZW5kZW5jaWVzIHRvIGl0LCBidXQgYWxzbywgdGhlIF91dWlkKiBmaWxlcyB3aWxsIGJlIHBhY2thZ2VkIG9uCisjICAgICAgICB0aGUgbWlzYyBwYWNrYWdlICh3aGljaCBpcyB3aGVyZSBhbnkgZmlsZSB0aGF0IGRvZXNuJ3QgYmVsb25nIGFueXdoZXJlIGVsc2UgZW5kcyB1cCkuCisjCisjICAgICAgICBUaGlzIHdpbGwgZXZlbnR1YWxseSBjYXVzZSBydW50aW1lIGVycm9ycyBvbiBvdXIgc3lzdGVtIGlmIHdlIGRvbid0IGluY2x1ZGUgdGhlIG1pc2MgcGFja2FnZSBvbgorIyAgICAgICAgb24gb3VyIGltYWdlLCBiZWNhdXNlIHRoZSBfdXVpZCBmaWxlcyB3aWxsIGJlIG1pc3NpbmcuCisjICAgICAgICBJZiB3ZSBidWlsZCB0aGUgX3V1aWQgbW9kdWxlIGNvcnJlY3RseSBhbmQgcnVuIHRoZSBjcmVhdGVfbWFuaWZlc3QgdGFzayB0aGUgX3V1aWQgZmlsZXMgd2lsbCBiZQorIyAgICAgICAgZGV0ZWN0ZWQgY29ycmVjdGx5IGFsb25nIHdpdGggaXRzIGRlcGVuZGVuY2llcywgYW5kIHdlIHdpbGwgZ2V0IGEgd29ya2luZyBtYW5pZmVzdC4KKyMKKyMgICAgICAgIFRoaXMgaXMgdGhlIHJlYXNvbiB3aHkgaXQgaXMgaW1wb3J0YW50IHRvIG1ha2Ugc3VyZSB3ZSBoYXZlIGEgZnVsbHkgd29ya2luZyBuYXRpdmUgYnVpbGQsCisjICAgICAgICBzbyB3ZSBjYW4gYXZvaWQgdGhlc2UgZXJyb3JzLgorIworIworIworIyBETyBOT1QgTU9ESUZZIFRIRSBORVhUIExJTkUhLCBJVCBJUyBVU0VEIEFTIEEgTUFSS0VSIEZPUiBUSEUgQUNUVUFMIEpTT04gTUFOSUZFU1QKKyMgRU9DCiB7CiAgICAgInRlc3RzIjogewogICAgICAgICAic3VtbWFyeSI6ICJQeXRob24gdGVzdCBzdWl0ZSIsCkBAIC0xOSw3ICsxMDksNyBAQAogICAgICAgICAgICAgImNvcmUiCiAgICAgICAgIF0sCiAgICAgICAgICJmaWxlcyI6IFsKLSAgICAgICAgICAgICIke2JpbmRpcn0vMnRvMy0qIiwKKyAgICAgICAgICAgICIke2JpbmRpcn0vMnRvMyoiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYjJ0bzMiCiAgICAgICAgIF0sCiAgICAgICAgICJjYWNoZWQiOiBbXQpAQCAtMjcsMjQgKzExNywxOCBAQAogICAgICJhc3luY2lvIjogewogICAgICAgICAic3VtbWFyeSI6ICJQeXRob24gQXN5bmNocm9ub3VzIEkvIiwKICAgICAgICAgInJkZXBlbmRzIjogWwotICAgICAgICAgICAgImNvbXByZXNzaW9uIiwKICAgICAgICAgICAgICJjb3JlIiwKLSAgICAgICAgICAgICJjcnlwdCIsCiAgICAgICAgICAgICAiaW8iLAogICAgICAgICAgICAgImxvZ2dpbmciLAotICAgICAgICAgICAgIm1hdGgiLAotICAgICAgICAgICAgIm11bHRpcHJvY2Vzc2luZyIsCiAgICAgICAgICAgICAibmV0Y2xpZW50IiwKLSAgICAgICAgICAgICJwaWNrbGUiLAotICAgICAgICAgICAgInNoZWxsIiwKLSAgICAgICAgICAgICJzdHJpbmdvbGQiLAotICAgICAgICAgICAgInRocmVhZGluZyIsCi0gICAgICAgICAgICAidW5peGFkbWluIgorICAgICAgICAgICAgIm51bWJlcnMiLAorICAgICAgICAgICAgInN0cmluZ29sZCIKICAgICAgICAgXSwKICAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2FzeW5jaW8iLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2NvbmN1cnJlbnQiLAotICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2NvbmN1cnJlbnQvZnV0dXJlcyIKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25jdXJyZW50L2Z1dHVyZXMiLAorICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL19hc3luY2lvLiouc28iCiAgICAgICAgIF0sCiAgICAgICAgICJjYWNoZWQiOiBbXQogICAgIH0sCkBAIC04NCwxOSArMTY4LDcgQEAKICAgICAiY29tcGlsZSI6IHsKICAgICAgICAgInN1bW1hcnkiOiAiUHl0aG9uIGJ5dGVjb2RlIGNvbXBpbGF0aW9uIHN1cHBvcnQiLAogICAgICAgICAicmRlcGVuZHMiOiBbCi0gICAgICAgICAgICAiYXN5bmNpbyIsCi0gICAgICAgICAgICAiY29tcHJlc3Npb24iLAotICAgICAgICAgICAgImNvcmUiLAotICAgICAgICAgICAgImNyeXB0IiwKLSAgICAgICAgICAgICJpbyIsCi0gICAgICAgICAgICAibG9nZ2luZyIsCi0gICAgICAgICAgICAibWF0aCIsCi0gICAgICAgICAgICAibXVsdGlwcm9jZXNzaW5nIiwKLSAgICAgICAgICAgICJwaWNrbGUiLAotICAgICAgICAgICAgInNoZWxsIiwKLSAgICAgICAgICAgICJzdHJpbmdvbGQiLAotICAgICAgICAgICAgInRocmVhZGluZyIsCi0gICAgICAgICAgICAidW5peGFkbWluIgorICAgICAgICAgICAgImNvcmUiCiAgICAgICAgIF0sCiAgICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb21waWxlYWxsLnB5IiwKQEAgLTE0MCw2ICsyMTIsNyBAQAogICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICAiJHtiaW5kaXJ9L3B5dGhvbipbIS1jb25maWddIiwKICAgICAgICAgICAgICIke2luY2x1ZGVkaXJ9L3B5dGhvbiR7UFlUSE9OX0JJTkFCSX0vcHljb25maWcqLmgiLAorICAgICAgICAgICAgIiR7cHJlZml4fS9saWIvcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25maWcqLypbIS5hXSIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vVXNlckRpY3QucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L1VzZXJMaXN0LnB5IiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9Vc2VyU3RyaW5nLnB5IiwKQEAgLTE0OSw3ICsyMjIsNyBAQAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19jb2xsZWN0aW9uc19hYmMucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19tYXJrdXBiYXNlLnB5IiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fc2l0ZWJ1aWx0aW5zLnB5IiwKLSAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fc3lzY29uZmlnZGF0YS5weSIsCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX3N5c2NvbmZpZ2RhdGEqLnB5IiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fd2Vha3JlZnNldC5weSIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vYWJjLnB5IiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9hcmdwYXJzZS5weSIsCkBAIC0zMjMsOSArMzk2LDEzIEBACiAgICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jcnlwdC5weSIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vaGFzaGxpYi5weSIsCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvX2JsYWtlMi4qLnNvIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fY3J5cHQuKi5zbyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvX2hhc2hsaWIuKi5zbyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvX3NoYTI1Ni4qLnNvIiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fc2hhMy4qLnNvIiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fc2hhMS4qLnNvIiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fbWQ1Liouc28iLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL19zaGE1MTIuKi5zbyIKICAgICAgICAgXSwKICAgICAgICAgImNhY2hlZCI6IFsKQEAgLTQxNSw5ICs0OTIsNyBAQAogICAgICAgICAgICAgIiR7bGliZGlyfS8qLmxhIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vKi5vIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vbGliKiR7U09MSUJTREVWfSIsCi0gICAgICAgICAgICAiJHtsaWJkaXJ9L3BrZ2NvbmZpZyIsCi0gICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnKi9NYWtlZmlsZSIsCi0gICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnKi9NYWtlZmlsZS9fX3B5Y2FjaGVfXyIKKyAgICAgICAgICAgICIke2xpYmRpcn0vcGtnY29uZmlnIgogICAgICAgICBdLAogICAgICAgICAicmRlcGVuZHMiOiBbCiAgICAgICAgICAgICAiY29yZSIKQEAgLTczMCw3ICs4MDUsOSBAQAogICAgICJtdWx0aXByb2Nlc3NpbmciOiB7CiAgICAgICAgICJzdW1tYXJ5IjogIlB5dGhvbiBtdWx0aXByb2Nlc3Npbmcgc3VwcG9ydCIsCiAgICAgICAgICJyZGVwZW5kcyI6IFsKLSAgICAgICAgICAgICJjb3JlIgorICAgICAgICAgICAgImNvcmUiLAorICAgICAgICAgICAgImlvIiwKKyAgICAgICAgICAgICJwaWNrbGUiCiAgICAgICAgIF0sCiAgICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fbXVsdGlwcm9jZXNzaW5nLiouc28iLApAQCAtNzQxLDE4ICs4MTgsMTQgQEAKICAgICAibmV0Y2xpZW50IjogewogICAgICAgICAic3VtbWFyeSI6ICJQeXRob24gSW50ZXJuZXQgUHJvdG9jb2wgY2xpZW50cyIsCiAgICAgICAgICJyZGVwZW5kcyI6IFsKLSAgICAgICAgICAgICJjb21wcmVzc2lvbiIsCiAgICAgICAgICAgICAiY29yZSIsCiAgICAgICAgICAgICAiY3J5cHQiLAotICAgICAgICAgICAgImN0eXBlcyIsCiAgICAgICAgICAgICAiZGF0ZXRpbWUiLAogICAgICAgICAgICAgImVtYWlsIiwKICAgICAgICAgICAgICJpbyIsCiAgICAgICAgICAgICAibWF0aCIsCiAgICAgICAgICAgICAibWltZSIsCi0gICAgICAgICAgICAic2hlbGwiLAotICAgICAgICAgICAgInN0cmluZ29sZCIsCi0gICAgICAgICAgICAidW5peGFkbWluIgorICAgICAgICAgICAgInN0cmluZ29sZCIKICAgICAgICAgXSwKICAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2Jhc2U2NC5weSIsCkBAIC03NjAsNiArODMzLDcgQEAKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9obWFjLnB5IiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9odHRwIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9odHRwL19fcHljYWNoZV9fIiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fdXVpZC4qLnNvIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9taW1ldHlwZXMucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L25udHBsaWIucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L3BvcGxpYi5weSIsCkBAIC04MTQsMTMgKzg4OCwxNiBAQAogICAgICAgICBdLAogICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX3B5ZGVjaW1hbC5weSIsCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29udGV4dHZhcnMucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2RlY2ltYWwucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2ZyYWN0aW9ucy5weSIsCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvX2NvbnRleHR2YXJzLiouc28iLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL19kZWNpbWFsLiouc28iLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L251bWJlcnMucHkiCiAgICAgICAgIF0sCiAgICAgICAgICJjYWNoZWQiOiBbCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX19weWNhY2hlX18vX3B5ZGVjaW1hbC4qLnB5YyIsCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX19weWNhY2hlX18vY29udGV4dHZhcnMuKi5weWMiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19fcHljYWNoZV9fL2RlY2ltYWwuKi5weWMiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19fcHljYWNoZV9fL2ZyYWN0aW9ucy4qLnB5YyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX19weWNhY2hlX18vbnVtYmVycy4qLnB5YyIKQEAgLTEwNDQsMTMgKzExMjEsMTIgQEAKICAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19kdW1teV90aHJlYWQucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L190aHJlYWRpbmdfbG9jYWwucHkiLAotICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2R1bW15X3RocmVhZGluZy5weSIsCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvX3F1ZXVlLiouc28iLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L3F1ZXVlLnB5IgogICAgICAgICBdLAogICAgICAgICAiY2FjaGVkIjogWwogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19fcHljYWNoZV9fL19kdW1teV90aHJlYWQuKi5weWMiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19fcHljYWNoZV9fL190aHJlYWRpbmdfbG9jYWwuKi5weWMiLAotICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19fcHljYWNoZV9fL2R1bW15X3RocmVhZGluZy4qLnB5YyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX19weWNhY2hlX18vcXVldWUuKi5weWMiCiAgICAgICAgIF0KICAgICB9LApAQCAtMTA2MCw2ICsxMTM2LDcgQEAKICAgICAgICAgICAgICJjb3JlIgogICAgICAgICBdLAogICAgICAgICAiZmlsZXMiOiBbCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvX3RraW50ZXIuKi5zbyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vdGtpbnRlciIKICAgICAgICAgXSwKICAgICAgICAgImNhY2hlZCI6IFtdCkBAIC0xMTE5LDggKzExOTYsOCBAQAogICAgICAgICAgICAgInVuaXhhZG1pbiIKICAgICAgICAgXSwKICAgICAgICAgImZpbGVzIjogWwotICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L3ZlbnYiLAotICAgICAgICAgICAgIiR7YmluZGlyfS9weXZlbnYqIgorICAgICAgICAgICAgIiR7YmluZGlyfS9weXZlbnYqIiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS92ZW52IgogICAgICAgICBdLAogICAgICAgICAiY2FjaGVkIjogW10KICAgICB9LApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcHl0aG9uMy11c2UtQ1JPU1NQWVRIT05QQVRILWZvci1QWVRIT05fRk9SX0JVSUxELnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcHl0aG9uMy11c2UtQ1JPU1NQWVRIT05QQVRILWZvci1QWVRIT05fRk9SX0JVSUxELnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNGY4YmQ0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3B5dGhvbjMtdXNlLUNST1NTUFlUSE9OUEFUSC1mb3ItUFlUSE9OX0ZPUl9CVUlMRC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLUZyb20gNTNlZDIxNmQ3YmY3MGRkMmE5MjU0MzJiNjgwNWE3MDFlNWZjM2UwZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDE3IE5vdiAyMDE0IDA2OjQ0OjQ3ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHB5dGhvbjMgdXNlIENST1NTUFlUSE9OUEFUSCBmb3IgUFlUSE9OX0ZPUl9CVUlMRAotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW0Nyb3NzIGNvbXBpbGUgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjb25maWd1cmUuYWMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLUluZGV4OiBQeXRob24tMy41LjQvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvY29uZmlndXJlLmFjCi0rKysgUHl0aG9uLTMuNS40L2NvbmZpZ3VyZS5hYwotQEAgLTczLDcgKzczLDcgQEAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4KLSAJICAgIEFDX01TR19FUlJPUihbcHl0aG9uJFBBQ0tBR0VfVkVSU0lPTiBpbnRlcnByZXRlciBub3QgZm91bmRdKQotIAlmaQotICAgICAgICAgQUNfTVNHX1JFU1VMVCgkaW50ZXJwKQotLQlQWVRIT05fRk9SX0JVSUxEPSdfUFlUSE9OX1BST0pFQ1RfQkFTRT0kKGFic19idWlsZGRpcikgX1BZVEhPTl9IT1NUX1BMQVRGT1JNPSQoX1BZVEhPTl9IT1NUX1BMQVRGT1JNKSBQWVRIT05QQVRIPSQoc2hlbGwgdGVzdCAtZiBweWJ1aWxkZGlyLnR4dCAmJiBlY2hvICQoYWJzX2J1aWxkZGlyKS9gY2F0IHB5YnVpbGRkaXIudHh0YDopJChzcmNkaXIpL0xpYjokKHNyY2RpcikvTGliLyQoUExBVERJUikgJyRpbnRlcnAKLSsJUFlUSE9OX0ZPUl9CVUlMRD0nX1BZVEhPTl9QUk9KRUNUX0JBU0U9JChhYnNfYnVpbGRkaXIpIF9QWVRIT05fSE9TVF9QTEFURk9STT0kKF9QWVRIT05fSE9TVF9QTEFURk9STSkgUFlUSE9OUEFUSD0kKENST1NTUFlUSE9OUEFUSCkgJyRpbnRlcnAKLSAgICAgZmkKLSBlbGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0gbWF5YmU7IHRoZW4KLSAgICAgQUNfTVNHX0VSUk9SKFtDcm9zcyBjb21waWxpbmcgcmVxdWlyZWQgLS1ob3N0PUhPU1QtVFVQTEUgYW5kIC0tYnVpbGQ9QVJDSF0pCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9yZWdlbi1hbGwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9yZWdlbi1hbGwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2YjlkOWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcmVnZW4tYWxsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotcHl0aG9uMy1uYXRpdmU6IHJ1biByZWdlbi1pbXBvcnRsaWIgdGFyZ2V0IGNvcnJlY3RseQotCi1yZWdlbi1pbXBvcnRsaWIgZGVwZW5kcyBvbiBvdGhlciByZWdlbi0gdGFyZ2V0cywgc28gd2UgbXVzdCBiZSBzdXJlIHRvCi1ydW4gaXQgYWZ0ZXIgKG1vc3Qgb2YpIHRoZSBvdGhlcnMuICBJbiByZWFsaXR5LCB3ZSBkbyBub3QgbmVlZCB0byBydW4gaXQKLWF0IGFsbCBzaW5jZSAibWFrZSIgd2lsbCBpbnZva2UgaXQsIGlmIG5lY2Vzc2FyeS4gIFdlIGRvIG5vdCB3YW50IHRvCi1yZWx5IG9uIHRoYXQsIHRob3VnaC4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEpvZSBTbGF0ZXIgPGpvZS5zbGF0ZXJAd2luZHJpdmVyLmNvbT4KLQotCi0KLS0tLSBhL01ha2VmaWxlLnByZS5pbgotKysrIGIvTWFrZWZpbGUucHJlLmluCi1AQCAtNzA5LDcgKzcwOSw4IEBAIHJlZ2VuLWltcG9ydGxpYjogUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnQKLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gIyBSZWdlbmVyYXRlIGFsbCBnZW5lcmF0ZWQgZmlsZXMKLSAKLS1yZWdlbi1hbGw6IHJlZ2VuLW9wY29kZSByZWdlbi1vcGNvZGUtdGFyZ2V0cyByZWdlbi10eXBlc2xvdHMgcmVnZW4tZ3JhbW1hciByZWdlbi1hc3QgcmVnZW4taW1wb3J0bGliCi0rcmVnZW4tYWxsOiByZWdlbi1vcGNvZGUgcmVnZW4tb3Bjb2RlLXRhcmdldHMgcmVnZW4tdHlwZXNsb3RzIHJlZ2VuLWdyYW1tYXIgcmVnZW4tYXN0Ci0rCSQoTUFLRSkgcmVnZW4taW1wb3J0bGliCi0gCi0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotICMgU3BlY2lhbCBydWxlcyBmb3Igb2JqZWN0IGZpbGVzCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9ydW4tcHRlc3QgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9ydW4tcHRlc3QKaW5kZXggMzg2M2M2ZC4uMjBjOTI3NCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcnVuLXB0ZXN0CisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3J1bi1wdGVzdApAQCAtMSwzICsxLDMgQEAKICMhL2Jpbi9zaAogCi1weXRob24zIC1tIHRlc3QgLXYgfCBzZWQgLWUgJy9cLlwuXC4gb2svIHMvXi9QQVNTOiAvZycgLWUgJy9cLlwuXC4gW0VSUk9SfEZBSUxdLyBzL14vRkFJTDogL2cnIC1lICcvXC5cLlwuIHNraXBwZWQvIHMvXi9TS0lQOiAvZycgLWUgJ3MvIFwuXC5cLiBvay8vZycgLWUgJ3MvIFwuXC5cLiBFUlJPUi8vZycgLWUgJ3MvIFwuXC5cLiBGQUlMLy9nJyAtZSAncy8gXC5cLlwuIHNraXBwZWQvL2cnCitweXRob24zIC1tIHRlc3QgLVcgfCBzZWQgLWUgJy9cLlwuXC4gb2svIHMvXi9QQVNTOiAvZycgLWUgJy9cLlwuXC4gW0VSUk9SfEZBSUxdLyBzL14vRkFJTDogL2cnIC1lICcvXC5cLlwuIHNraXBwZWQvIHMvXi9TS0lQOiAvZycgLWUgJ3MvIFwuXC5cLiBvay8vZycgLWUgJ3MvIFwuXC5cLiBFUlJPUi8vZycgLWUgJ3MvIFwuXC5cLiBGQUlMLy9nJyAtZSAncy8gXC5cLlwuIHNraXBwZWQvL2cnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zZXR1cC5weS1jaGVjay1jcm9zc19jb21waWxpbmctd2hlbi1nZXQtRkxBR1MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zZXR1cC5weS1jaGVjay1jcm9zc19jb21waWxpbmctd2hlbi1nZXQtRkxBR1MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZjMmUxMmQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc2V0dXAucHktY2hlY2stY3Jvc3NfY29tcGlsaW5nLXdoZW4tZ2V0LUZMQUdTLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotRnJvbSA4ZGFkODEwZjNhM2QwNzNmMDlhZDcyZTFhM2VlMGE4OTVlYWIyY2ExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBTdW4sIDE4IEphbiAyMDE1IDE5OjA1OjM2IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHNldHVwLnB5OmNoZWNrIGNyb3NzX2NvbXBpbGluZyB3aGVuIGdldCBGTEFHUwotCi1GaXhlZCB3aGVuIGNvbXBpbGUgdGFyZ2V0IHB5dGhub24zOgotZ2NjIC1pc3lzdGVtL3BhdGgvdG8vc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9pbmNsdWRlIFwKLSAgICAtTD0vcGF0aC90by9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYgotCi1UaGlzIGlzIGluY29ycmVjdCwgdGhlIG5hdGl2ZSBzeXNyb290IHNob3VsZCBub3QgYmUgdXNlZCBieSB0YXJnZXQKLXB5dGhvbjMuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIHNldHVwLnB5IHwgICAxMCArKysrKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKLWluZGV4IGU4MzM5Y2QuLjgzZmQzMWYgMTAwNjQ0Ci0tLS0gYS9zZXR1cC5weQotKysrIGIvc2V0dXAucHkKLUBAIC0yMzgsNyArMjM4LDEwIEBAIGNsYXNzIFB5QnVpbGRFeHQoYnVpbGRfZXh0KToKLSAgICAgICAgICMgdW5mb3J0dW5hdGVseSwgZGlzdHV0aWxzIGRvZXNuJ3QgbGV0IHVzIHByb3ZpZGUgc2VwYXJhdGUgQyBhbmQgQysrCi0gICAgICAgICAjIGNvbXBpbGVycwotICAgICAgICAgaWYgY29tcGlsZXIgaXMgbm90IE5vbmU6Ci0tICAgICAgICAgICAgKGNjc2hhcmVkLGNmbGFncykgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXJzKCdDQ1NIQVJFRCcsJ0NGTEFHUycpCi0rICAgICAgICAgICAgaWYgY3Jvc3NfY29tcGlsaW5nOgotKyAgICAgICAgICAgICAgICAoY2NzaGFyZWQsY2ZsYWdzKSA9IChvcy5lbnZpcm9uLmdldCgnQ0NTSEFSRUQnKSBvciAnJywgb3MuZW52aXJvbi5nZXQoJ0NGTEFHUycpIG9yICcnKQotKyAgICAgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgICAgIChjY3NoYXJlZCxjZmxhZ3MpID0gc3lzY29uZmlnLmdldF9jb25maWdfdmFycygnQ0NTSEFSRUQnLCdDRkxBR1MnKQotICAgICAgICAgICAgIGFyZ3NbJ2NvbXBpbGVyX3NvJ10gPSBjb21waWxlciArICcgJyArIGNjc2hhcmVkICsgJyAnICsgY2ZsYWdzCi0gICAgICAgICBzZWxmLmNvbXBpbGVyLnNldF9leGVjdXRhYmxlcygqKmFyZ3MpCi0gCi1AQCAtNDU3LDcgKzQ2MCwxMCBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6Ci0gICAgICAgICAgICAgICAgICgnTERGTEFHUycsICctUicsIHNlbGYuY29tcGlsZXIucnVudGltZV9saWJyYXJ5X2RpcnMpLAotICAgICAgICAgICAgICAgICAoJ0xERkxBR1MnLCAnLUwnLCBzZWxmLmNvbXBpbGVyLmxpYnJhcnlfZGlycyksCi0gICAgICAgICAgICAgICAgICgnQ1BQRkxBR1MnLCAnLUknLCBzZWxmLmNvbXBpbGVyLmluY2x1ZGVfZGlycykpOgotLSAgICAgICAgICAgIGVudl92YWwgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoZW52X3ZhcikKLSsgICAgICAgICAgICBpZiBjcm9zc19jb21waWxpbmc6Ci0rICAgICAgICAgICAgICAgIGVudl92YWwgPSBvcy5lbnZpcm9uLmdldChlbnZfdmFyKQotKyAgICAgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgICAgIGVudl92YWwgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoZW52X3ZhcikKLSAgICAgICAgICAgICBpZiBlbnZfdmFsOgotICAgICAgICAgICAgICAgICAjIFRvIHByZXZlbnQgb3B0cGFyc2UgZnJvbSByYWlzaW5nIGFuIGV4Y2VwdGlvbiBhYm91dCBhbnkKLSAgICAgICAgICAgICAgICAgIyBvcHRpb25zIGluIGVudl92YWwgdGhhdCBpdCBkb2Vzbid0IGtub3cgYWJvdXQgd2Ugc3RyaXAgb3V0Ci0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc2V0dXB0d2Vha3MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zZXR1cHR3ZWFrcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2E5MWIxOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zZXR1cHR3ZWFrcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLVRoaXMgcGF0Y2ggcmVtb3ZlcyB2YXJpb3VzIHdheXMgbmF0aXZlIHN5c3RlbSBvcHRpb25zIGNhbiBwYXNzIGludG8gdGhlIHB5dGhvbiAKLWNvbXBpbGF0aW9uIGFuZCBzb21laG93IGJyZWFrIEMgbW9kdWxlcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBTcGVjaWZpY10KLQotUlAgMjAxMi8wNC8yMwotCi1JbmRleDogUHl0aG9uLTIuNy4yL3NldHVwLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTIuNy4yLm9yaWcvc2V0dXAucHkJMjAxMi0wNC0yMyAyMDowMzo0Ny4yOTU1ODI1NTMgKzAwMDAKLSsrKyBQeXRob24tMi43LjIvc2V0dXAucHkJMjAxMi0wNC0yMyAyMDowMzoxNS4wMDAwMDAwMDAgKzAwMDAKLUBAIC0yMzEsNyArMjMxLDEzIEBACi0gICAgICAgICAjIGNvbXBpbGVycwotICAgICAgICAgaWYgY29tcGlsZXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgKGNjc2hhcmVkLGNmbGFncykgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXJzKCdDQ1NIQVJFRCcsJ0NGTEFHUycpCi0tICAgICAgICAgICAgYXJnc1snY29tcGlsZXJfc28nXSA9IGNvbXBpbGVyICsgJyAnICsgY2NzaGFyZWQgKyAnICcgKyBjZmxhZ3MKLSsgICAgICAgICAgICAjIE5lZWQgdG8gZmlsdGVyIG91dCAtaXN5c3Jvb3QgZnJvbSB0aGUgZmxhZ3MuIElkZWFsbHkgc2hvdWxkIAotKyAgICAgICAgICAgICMgZmlndXJlIG91dCB0YXJnZXQgZmxhZ3MgaGVyZS4KLSsgICAgICAgICAgICBmbGFncyA9IFtdCi0rICAgICAgICAgICAgZm9yIGYgaW4gY2ZsYWdzLnNwbGl0KCk6Ci0rICAgICAgICAgICAgICAgIGlmIG5vdCBmLnN0YXJ0c3dpdGgoIi1pc3lzdGVtIik6Ci0rICAgICAgICAgICAgICAgICAgICBmbGFncy5hcHBlbmQoZikKLSsgICAgICAgICAgICBhcmdzWydjb21waWxlcl9zbyddID0gY29tcGlsZXIgKyAnICcgKyBjY3NoYXJlZCArICcgJyArICcgJy5qb2luKGZsYWdzKQotICAgICAgICAgc2VsZi5jb21waWxlci5zZXRfZXhlY3V0YWJsZXMoKiphcmdzKQotIAotICAgICAgICAgYnVpbGRfZXh0LmJ1aWxkX2V4dGVuc2lvbnMoc2VsZikKLUBAIC0zOTMsNyArMzk5LDYgQEAKLSAgICAgICAgICMgaW50byBjb25maWd1cmUgYW5kIHN0b3JlZCBpbiB0aGUgTWFrZWZpbGUgKGlzc3VlIGZvdW5kIG9uIE9TIFggMTAuMykuCi0gICAgICAgICBmb3IgZW52X3ZhciwgYXJnX25hbWUsIGRpcl9saXN0IGluICgKLSAgICAgICAgICAgICAgICAgKCdMREZMQUdTJywgJy1SJywgc2VsZi5jb21waWxlci5ydW50aW1lX2xpYnJhcnlfZGlycyksCi0tICAgICAgICAgICAgICAgICgnTERGTEFHUycsICctTCcsIHNlbGYuY29tcGlsZXIubGlicmFyeV9kaXJzKSwKLSAgICAgICAgICAgICAgICAgKCdDUFBGTEFHUycsICctSScsIHNlbGYuY29tcGlsZXIuaW5jbHVkZV9kaXJzKSk6Ci0gICAgICAgICAgICAgZW52X3ZhbCA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcihlbnZfdmFyKQotICAgICAgICAgICAgIGlmIGVudl92YWw6Ci1AQCAtNDE5LDE2ICs0MjQsMTYgQEAKLSAgICAgICAgICAgICAgICAgICAgIGZvciBkaXJlY3RvcnkgaW4gcmV2ZXJzZWQob3B0aW9ucy5kaXJzKToKLSAgICAgICAgICAgICAgICAgICAgICAgICBhZGRfZGlyX3RvX2xpc3QoZGlyX2xpc3QsIGRpcmVjdG9yeSkKLSAKLS0gICAgICAgIGlmIG9zLnBhdGgubm9ybXBhdGgoc3lzLnByZWZpeCkgIT0gJy91c3InIFwKLS0gICAgICAgICAgICAgICAgYW5kIG5vdCBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1BZVEhPTkZSQU1FV09SSycpOgotKyMgICAgICAgIGlmIG9zLnBhdGgubm9ybXBhdGgoc3lzLnByZWZpeCkgIT0gJy91c3InIFwKLSsjICAgICAgICAgICAgICAgIGFuZCBub3Qgc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCdQWVRIT05GUkFNRVdPUksnKToKLSAgICAgICAgICAgICAjIE9TWCBub3RlOiBEb24ndCBhZGQgTElCRElSIGFuZCBJTkNMVURFRElSIHRvIGJ1aWxkaW5nIGEgZnJhbWV3b3JrCi0gICAgICAgICAgICAgIyAoUFlUSE9ORlJBTUVXT1JLIGlzIHNldCkgdG8gYXZvaWQgIyBsaW5raW5nIHByb2JsZW1zIHdoZW4KLSAgICAgICAgICAgICAjIGJ1aWxkaW5nIGEgZnJhbWV3b3JrIHdpdGggZGlmZmVyZW50IGFyY2hpdGVjdHVyZXMgdGhhbgotICAgICAgICAgICAgICMgdGhlIG9uZSB0aGF0IGlzIGN1cnJlbnRseSBpbnN0YWxsZWQgKGlzc3VlICM3NDczKQotLSAgICAgICAgICAgIGFkZF9kaXJfdG9fbGlzdChzZWxmLmNvbXBpbGVyLmxpYnJhcnlfZGlycywKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCJMSUJESVIiKSkKLS0gICAgICAgICAgICBhZGRfZGlyX3RvX2xpc3Qoc2VsZi5jb21waWxlci5pbmNsdWRlX2RpcnMsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiSU5DTFVERURJUiIpKQotKyMgICAgICAgICAgICBhZGRfZGlyX3RvX2xpc3Qoc2VsZi5jb21waWxlci5saWJyYXJ5X2RpcnMsCi0rIyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIkxJQkRJUiIpKQotKyMgICAgICAgICAgICBhZGRfZGlyX3RvX2xpc3Qoc2VsZi5jb21waWxlci5pbmNsdWRlX2RpcnMsCi0rIyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIklOQ0xVREVESVIiKSkKLSAKLSAgICAgICAgIHRyeToKLSAgICAgICAgICAgICBoYXZlX3VuaWNvZGUgPSB1bmljb2RlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zaWduYWwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zaWduYWwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUzNGEwOTcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc2lnbmFsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSA0MzE1Mzg5ZGYzYzRlOGMxZjk0YTE4YWIxMWE0YjIzNDc2MjEzMmIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQW50b2luZSBQaXRyb3UgPHBpdHJvdUBmcmVlLmZyPgotRGF0ZTogTW9uLCAyMyBBcHIgMjAxOCAyMjoyMjo0OSArMDIwMAotU3ViamVjdDogW1BBVENIXSBbMy42XSBicG8tMzMzMjk6IEZpeCBtdWx0aXByb2Nlc3NpbmcgcmVncmVzc2lvbiBvbiBuZXdlcgotIGdsaWJjcyAoR0gtNjU3NSkgKEdILTY1ODIpCi0KLVN0YXJ0aW5nIHdpdGggZ2xpYmMgMi4yNy45MDAwLXh4eCwgc2lnYWRkc2V0KCkgY2FuIHJldHVybiBFSU5WQUwgZm9yIHNvbWUKLXJlc2VydmVkIHNpZ25hbCBudW1iZXJzIGJldHdlZW4gMSBhbmQgTlNJRy4gIFRoZSBgcmFuZ2UoMSwgTlNJRylgIGlkaW9tCi1pcyBjb21tb25seSB1c2VkIHRvIHNlbGVjdCBhbGwgc2lnbmFscyBmb3IgYmxvY2tpbmcgd2l0aCBgcHRocmVhZF9zaWdtYXNrYC4KLVNvIHdlIGlnbm9yZSB0aGUgc2lnYWRkc2V0KCkgcmV0dXJuIHZhbHVlIHVudGlsIHdlIGV4cG9zZSBzaWdmaWxsc2V0KCkKLXRvIHByb3ZpZGUgYSBiZXR0ZXIgaWRpb20uCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyNTAzOGVjZmI2NjViZWY2NDFhYmY4Y2I2MWFmZmY3NTA1YjBlMDA4KQotLS0tCi0gLi4uL25leHQvTGlicmFyeS8yMDE4LTA0LTIzLTEzLTIxLTM5LmJwby0zMzMyOS5sUS1Fb2QucnN0ICB8ICAxICsKLSBNb2R1bGVzL3NpZ25hbG1vZHVsZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTQgKysrKysrKystLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgTWlzYy9ORVdTLmQvbmV4dC9MaWJyYXJ5LzIwMTgtMDQtMjMtMTMtMjEtMzkuYnBvLTMzMzI5LmxRLUVvZC5yc3QKLQotZGlmZiAtLWdpdCBhL01vZHVsZXMvc2lnbmFsbW9kdWxlLmMgYi9Nb2R1bGVzL3NpZ25hbG1vZHVsZS5jCi1pbmRleCBlMGQwNmI0MzRkLi4xMzhlNzRlOGE5IDEwMDY0NAotLS0tIGEvTW9kdWxlcy9zaWduYWxtb2R1bGUuYwotKysrIGIvTW9kdWxlcy9zaWduYWxtb2R1bGUuYwotQEAgLTc0NCw3ICs3NDQsNiBAQCBpdGVyYWJsZV90b19zaWdzZXQoUHlPYmplY3QgKml0ZXJhYmxlLCBzaWdzZXRfdCAqbWFzaykKLSAgICAgaW50IHJlc3VsdCA9IC0xOwotICAgICBQeU9iamVjdCAqaXRlcmF0b3IsICppdGVtOwotICAgICBsb25nIHNpZ251bTsKLS0gICAgaW50IGVycjsKLSAKLSAgICAgc2lnZW1wdHlzZXQobWFzayk7Ci0gCi1AQCAtNzY2LDExICs3NjUsMTQgQEAgaXRlcmFibGVfdG9fc2lnc2V0KFB5T2JqZWN0ICppdGVyYWJsZSwgc2lnc2V0X3QgKm1hc2spCi0gICAgICAgICBQeV9ERUNSRUYoaXRlbSk7Ci0gICAgICAgICBpZiAoc2lnbnVtID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgICAgICAgZ290byBlcnJvcjsKLS0gICAgICAgIGlmICgwIDwgc2lnbnVtICYmIHNpZ251bSA8IE5TSUcpCi0tICAgICAgICAgICAgZXJyID0gc2lnYWRkc2V0KG1hc2ssIChpbnQpc2lnbnVtKTsKLS0gICAgICAgIGVsc2UKLS0gICAgICAgICAgICBlcnIgPSAxOwotLSAgICAgICAgaWYgKGVycikgewotKyAgICAgICAgaWYgKDAgPCBzaWdudW0gJiYgc2lnbnVtIDwgTlNJRykgewotKyAgICAgICAgICAgIC8qIGJwby0zMzMyOTogaWdub3JlIHNpZ2FkZHNldCgpIHJldHVybiB2YWx1ZSBhcyBpdCBjYW4gZmFpbAotKyAgICAgICAgICAgICAqIGZvciBzb21lIHJlc2VydmVkIHNpZ25hbHMsIGJ1dCB3ZSB3YW50IHRoZSBgcmFuZ2UoMSwgTlNJRylgCi0rICAgICAgICAgICAgICogaWRpb20gdG8gYWxsb3cgc2VsZWN0aW5nIGFsbCB2YWxpZCBzaWduYWxzLgotKyAgICAgICAgICAgICAqLwotKyAgICAgICAgICAgICh2b2lkKSBzaWdhZGRzZXQobWFzaywgKGludClzaWdudW0pOwotKyAgICAgICAgfQotKyAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJzaWduYWwgbnVtYmVyICVsZCBvdXQgb2YgcmFuZ2UiLCBzaWdudW0pOwotICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zaXRlY3VzdG9taXplLnB5IGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc2l0ZWN1c3RvbWl6ZS5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGM4YjVlMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zaXRlY3VzdG9taXplLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotIyBPcGVuRW1iZWRkZWQgc2l0ZWN1c3RvbWl6ZS5weSAoQykgMjAwMi0yMDA4IE1pY2hhZWwgJ01pY2tleScgTGF1ZXIgPG1sYXVlckB2YW5pbGxlLW1lZGlhLmRlPgotIyBHUEx2MiBvciBsYXRlcgotIyBWZXJzaW9uOiAyMDA4MTEyMwotIyBGZWF0dXJlczoKLSMgKiBzZXQgcHJvcGVyIGRlZmF1bHQgZW5jb2RpbmcKLSMgKiBlbmFibGUgcmVhZGxpbmUgY29tcGxldGlvbiBpbiB0aGUgaW50ZXJhY3RpdmUgaW50ZXJwcmV0ZXIKLSMgKiBsb2FkIGNvbW1hbmQgbGluZSBoaXN0b3J5IG9uIHN0YXJ0dXAKLSMgKiBzYXZlIGNvbW1hbmQgbGluZSBoaXN0b3J5IG9uIGV4aXQgCi0KLWltcG9ydCBvcwotCi1kZWYgX19leGl0aGFuZGxlcigpOgotICAgIHRyeToKLSAgICAgICAgcmVhZGxpbmUud3JpdGVfaGlzdG9yeV9maWxlKCAiJXMvLnB5dGhvbi1oaXN0b3J5IiAlIG9zLmdldGVudiggIkhPTUUiLCAiL3RtcCIgKSApCi0gICAgZXhjZXB0IElPRXJyb3I6Ci0gICAgICAgIHBhc3MKLQotZGVmIF9fcmVnaXN0ZXJFeGl0SGFuZGxlcigpOgotICAgIGltcG9ydCBhdGV4aXQKLSAgICBhdGV4aXQucmVnaXN0ZXIoIF9fZXhpdGhhbmRsZXIgKQotCi1kZWYgX19lbmFibGVSZWFkbGluZVN1cHBvcnQoKToKLSAgICByZWFkbGluZS5zZXRfaGlzdG9yeV9sZW5ndGgoIDEwMDAgKQotICAgIHJlYWRsaW5lLnBhcnNlX2FuZF9iaW5kKCAidGFiOiBjb21wbGV0ZSIgKQotICAgIHRyeToKLSAgICAgICAgcmVhZGxpbmUucmVhZF9oaXN0b3J5X2ZpbGUoICIlcy8ucHl0aG9uLWhpc3RvcnkiICUgb3MuZ2V0ZW52KCAiSE9NRSIsICIvdG1wIiApICkKLSAgICBleGNlcHQgSU9FcnJvcjoKLSAgICAgICAgcGFzcwotCi1pbXBvcnQgc3lzCi10cnk6Ci0gICAgaW1wb3J0IHJsY29tcGxldGVyLCByZWFkbGluZQotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIHBhc3MKLWVsc2U6Ci0gICAgX19yZWdpc3RlckV4aXRIYW5kbGVyKCkKLSAgICBfX2VuYWJsZVJlYWRsaW5lU3VwcG9ydCgpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zdXBwb3J0X1NPVVJDRV9EQVRFX0VQT0NIX2luX3B5X2NvbXBpbGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zdXBwb3J0X1NPVVJDRV9EQVRFX0VQT0NIX2luX3B5X2NvbXBpbGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyZWNhYjkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc3VwcG9ydF9TT1VSQ0VfREFURV9FUE9DSF9pbl9weV9jb21waWxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTcgKzAsMCBAQAotVGhlIGNvbXBpbGVkIC5weWMgZmlsZXMgY29udGFpbiB0aW1lIHN0YW1wIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGNvbXBpbGUgdGltZS4KLVRoaXMgcHJldmVudHMgYmluYXJ5IHJlcHJvZHVjaWJpbGl0eS4gVGhpcyBwYXRjaCBhbGxvd3MgdG8gYWNoaWV2ZSBiaW5hcnkKLXJlcHJvZHVjaWJpbGl0eSBieSBvdmVycmlkaW5nIHRoZSBidWlsZCB0aW1lIHN0YW1wIGJ5IHRoZSB2YWx1ZSAKLWV4cG9ydGVkIHZpYSBTT1VSQ0VfREFURV9FUE9DSC4gCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlzdHJpY2t5QGludGVsLmNvbT4KLQotCi1Gcm9tIGFlYWI0ODg2MzBmZGIxYjU2YThkMGIwYzEzZmE4ODcwNmIyYWZlOWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiAiQmVybmhhcmQgTS4gV2llZGVtYW5uIiA8YndpZWRlbWFubkBzdXNlLmRlPgotRGF0ZTogU2F0LCAyNSBGZWIgMjAxNyAwNjo0MjoyOCArMDEwMAotU3ViamVjdDogW1BBVENIXSBicG8tMjk3MDg6IHN1cHBvcnQgU09VUkNFX0RBVEVfRVBPQ0ggZW52IHZhciBpbiBweV9jb21waWxlCi0KLXRvIGFsbG93IGZvciByZXByb2R1Y2libGUgYnVpbGRzIG9mIHB5dGhvbiBwYWNrYWdlcwotCi1TZWUgaHR0cHM6Ly9yZXByb2R1Y2libGUtYnVpbGRzLm9yZy8gZm9yIHdoeSB0aGlzIGlzIGdvb2QKLWFuZCBodHRwczovL3JlcHJvZHVjaWJsZS1idWlsZHMub3JnL3NwZWNzL3NvdXJjZS1kYXRlLWVwb2NoLwotZm9yIHRoZSBkZWZpbml0aW9uIG9mIHRoaXMgdmFyaWFibGUuCi0KLUJhY2tncm91bmQ6Ci1JbiBzb21lIGRpc3RyaWJ1dGlvbnMgbGlrZSBvcGVuU1VTRSwgYmluYXJ5IHJwbXMgY29udGFpbiBwcmVjb21waWxlZCAucHljIGZpbGVzLgotCi1BbmQgcGFja2FnZXMgbGlrZSBhbXFwIG9yIHR3aXN0ZWQgZHluYW1pY2FsbHkgZ2VuZXJhdGUgLnB5IGZpbGVzIGF0IGJ1aWxkIHRpbWUKLXNvIHRob3NlIGhhdmUgdGhlIGN1cnJlbnQgdGltZSBhbmQgdGhhdCB0aW1lc3RhbXAgZ2V0cyBlbWJlZGRlZAotaW50byB0aGUgLnB5YyBmaWxlIGhlYWRlci4KLVdoZW4gd2UgdGhlbiBhZGFwdCBmaWxlIHRpbWVzdGFtcHMgaW4gcnBtcyB0byBiZSBjb25zdGFudCwKLXRoZSB0aW1lc3RhbXAgaW4gdGhlIC5weWMgaGVhZGVyIHdpbGwgbm8gbW9yZSBtYXRjaAotdGhlIC5weSB0aW1lc3RhbXAgaW4gdGhlIGZpbGVzeXN0ZW0uCi1UaGUgc29mdHdhcmUgd2lsbCBzdGlsbCB3b3JrLCBidXQgaXQgd2lsbCBub3QgdXNlIHRoZSAucHljIGZpbGUgYXMgaXQgc2hvdWxkLgotLS0tCi0gRG9jL2xpYnJhcnkvcHlfY29tcGlsZS5yc3QgIHwgIDQgKysrKwotIExpYi9weV9jb21waWxlLnB5ICAgICAgICAgICB8ICA0ICsrKysKLSBMaWIvdGVzdC90ZXN0X3B5X2NvbXBpbGUucHkgfCAxOSArKysrKysrKysrKysrKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9weV9jb21waWxlLnJzdCBiL0RvYy9saWJyYXJ5L3B5X2NvbXBpbGUucnN0Ci1pbmRleCAwYWY4ZmIxLi44NDFmM2U4IDEwMDY0NAotLS0tIGEvRG9jL2xpYnJhcnkvcHlfY29tcGlsZS5yc3QKLSsrKyBiL0RvYy9saWJyYXJ5L3B5X2NvbXBpbGUucnN0Ci1AQCAtNTMsNiArNTMsMTAgQEAgYnl0ZS1jb2RlIGNhY2hlIGZpbGVzIGluIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc291cmNlIGNvZGUuCi0gICAgOmZ1bmM6YGNvbXBpbGVgIGZ1bmN0aW9uLiAgVGhlIGRlZmF1bHQgb2YgYGAtMWBgIHNlbGVjdHMgdGhlIG9wdGltaXphdGlvbgotICAgIGxldmVsIG9mIHRoZSBjdXJyZW50IGludGVycHJldGVyLgotIAotKyAgIElmIHRoZSBTT1VSQ0VfREFURV9FUE9DSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQsIHRoZSAucHkgZmlsZSBtdGltZQotKyAgIGFuZCB0aW1lc3RhbXAgZW50cnkgaW4gLnB5YyBmaWxlIGhlYWRlciwgd2lsbCBiZSBsaW1pdGVkIHRvIHRoaXMgdmFsdWUuCi0rICAgU2VlIGh0dHBzOi8vcmVwcm9kdWNpYmxlLWJ1aWxkcy5vcmcvc3BlY3Mvc291cmNlLWRhdGUtZXBvY2gvIGZvciBtb3JlIGluZm8uCi0rCi0gICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKLSAgICAgICBDaGFuZ2VkIGRlZmF1bHQgdmFsdWUgb2YgKmNmaWxlKiB0byBiZSA6UEVQOmAzMTQ3YC1jb21wbGlhbnQuICBQcmV2aW91cwotICAgICAgIGRlZmF1bHQgd2FzICpmaWxlKiArIGBgJ2MnYGAgKGBgJ28nYGAgaWYgb3B0aW1pemF0aW9uIHdhcyBlbmFibGVkKS4KLWRpZmYgLS1naXQgYS9MaWIvcHlfY29tcGlsZS5weSBiL0xpYi9weV9jb21waWxlLnB5Ci1pbmRleCAxMWM1YjUwLi42MmRjZGM3IDEwMDY0NAotLS0tIGEvTGliL3B5X2NvbXBpbGUucHkKLSsrKyBiL0xpYi9weV9jb21waWxlLnB5Ci1AQCAtMTM3LDYgKzEzNywxMCBAQCBkZWYgY29tcGlsZShmaWxlLCBjZmlsZT1Ob25lLCBkZmlsZT1Ob25lLCBkb3JhaXNlPUZhbHNlLCBvcHRpbWl6ZT0tMSk6Ci0gICAgIGV4Y2VwdCBGaWxlRXhpc3RzRXJyb3I6Ci0gICAgICAgICBwYXNzCi0gICAgIHNvdXJjZV9zdGF0cyA9IGxvYWRlci5wYXRoX3N0YXRzKGZpbGUpCi0rICAgIHNkZSA9IG9zLmVudmlyb24uZ2V0KCdTT1VSQ0VfREFURV9FUE9DSCcpCi0rICAgIGlmIHNkZSBhbmQgc291cmNlX3N0YXRzWydtdGltZSddID4gaW50KHNkZSk6Ci0rICAgICAgICBzb3VyY2Vfc3RhdHNbJ210aW1lJ10gPSBpbnQoc2RlKQotKyAgICAgICAgb3MudXRpbWUoZmlsZSwgKHNvdXJjZV9zdGF0c1snbXRpbWUnXSwgc291cmNlX3N0YXRzWydtdGltZSddKSkKLSAgICAgYnl0ZWNvZGUgPSBpbXBvcnRsaWIuX2Jvb3RzdHJhcF9leHRlcm5hbC5fY29kZV90b19ieXRlY29kZSgKLSAgICAgICAgICAgICBjb2RlLCBzb3VyY2Vfc3RhdHNbJ210aW1lJ10sIHNvdXJjZV9zdGF0c1snc2l6ZSddKQotICAgICBtb2RlID0gaW1wb3J0bGliLl9ib290c3RyYXBfZXh0ZXJuYWwuX2NhbGNfbW9kZShmaWxlKQotZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcHlfY29tcGlsZS5weSBiL0xpYi90ZXN0L3Rlc3RfcHlfY29tcGlsZS5weQotaW5kZXggNGE2Y2FhNS4uM2QwOTk2MyAxMDA2NDQKLS0tLSBhL0xpYi90ZXN0L3Rlc3RfcHlfY29tcGlsZS5weQotKysrIGIvTGliL3Rlc3QvdGVzdF9weV9jb21waWxlLnB5Ci1AQCAtOTgsNiArOTgsMjUgQEAgZGVmIHRlc3RfYmFkX2NvZGluZyhzZWxmKToKLSAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5leGlzdHMoCi0gICAgICAgICAgICAgaW1wb3J0bGliLnV0aWwuY2FjaGVfZnJvbV9zb3VyY2UoYmFkX2NvZGluZykpKQotIAotKyAgICBkZWYgdGVzdF9zb3VyY2VfZGF0ZV9lcG9jaChzZWxmKToKLSsgICAgICAgIHRlc3R0aW1lID0gMTIzNDU2Nzg5Ci0rICAgICAgICBvcmlnX3NkZSA9IG9zLmdldGVudigiU09VUkNFX0RBVEVfRVBPQ0giKQotKyAgICAgICAgb3MuZW52aXJvblsiU09VUkNFX0RBVEVfRVBPQ0giXSA9IHN0cih0ZXN0dGltZSkKLSsgICAgICAgIHB5X2NvbXBpbGUuY29tcGlsZShzZWxmLnNvdXJjZV9wYXRoLCBzZWxmLnB5Y19wYXRoKQotKyAgICAgICAgaWYgb3JpZ19zZGU6Ci0rICAgICAgICAgICAgb3MuZW52aXJvblsiU09VUkNFX0RBVEVfRVBPQ0giXSA9IG9yaWdfc2RlCi0rICAgICAgICBlbHNlOgotKyAgICAgICAgICAgIGRlbCBvcy5lbnZpcm9uWyJTT1VSQ0VfREFURV9FUE9DSCJdCi0rICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMoc2VsZi5weWNfcGF0aCkpCi0rICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBhdGguZXhpc3RzKHNlbGYuY2FjaGVfcGF0aCkpCi0rICAgICAgICBzdGF0aW5mbyA9IG9zLnN0YXQoc2VsZi5zb3VyY2VfcGF0aCkKLSsgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdGluZm8uc3RfbXRpbWUsIHRlc3R0aW1lKQotKyAgICAgICAgZiA9IG9wZW4oc2VsZi5weWNfcGF0aCwgInJiIikKLSsgICAgICAgIGYucmVhZCg0KQotKyAgICAgICAgdGltZWJ5dGVzID0gZi5yZWFkKDQpICMgcmVhZCB0aW1lc3RhbXAgZnJvbSBweWMgaGVhZGVyCi0rICAgICAgICBmLmNsb3NlKCkKLSsgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGltZWJ5dGVzLCAodGVzdHRpbWUpLnRvX2J5dGVzKDQsICdsaXR0bGUnKSkKLSsKLSAgICAgQHVuaXR0ZXN0LnNraXBJZihzeXMuZmxhZ3Mub3B0aW1pemUgPiAwLCAndGVzdCBkb2VzIG5vdCB3b3JrIHdpdGggLU8nKQotICAgICBkZWYgdGVzdF9kb3VibGVfZG90X25vX2Nsb2JiZXIoc2VsZik6Ci0gICAgICAgICAjIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUyMjk2NgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc3lzY29uZmlnLnB5LWFkZC1fUFlUSE9OX1BST0pFQ1RfU1JDLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc3lzY29uZmlnLnB5LWFkZC1fUFlUSE9OX1BST0pFQ1RfU1JDLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODlkOWEzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3N5c2NvbmZpZy5weS1hZGQtX1BZVEhPTl9QUk9KRUNUX1NSQy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLUZyb20gZmM5M2IzY2MyM2I0Zjk2OThhZTkyYTQyOTg2ZGJiMDJiNmYxOTU4OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogU3VuLCAxOCBKYW4gMjAxNSAwNjoyOTo1MCAtMDgwMAotU3ViamVjdDogW1BBVENIXSBzeXNjb25maWcucHk6IGFkZCBfUFlUSE9OX1BST0pFQ1RfU1JDCi0KLXB5dGhvbjMgaGFzIGludHJvZHVjZWQgX1BZVEhPTl9QUk9KRUNUX0JBU0Ugd2hpY2ggaXMgdXNlZCBmb3Igc2VwYXJhdGUgQgotYW5kIFMsIGJ1dCBpdCBkb2Vzbid0IHdvcmsgd2hlbiBjb21waWxlIE1vZHVsZXMsIHRoZSB0YXJnZXQgcHl0aG9uMyBydW5zCi1weXRob24zLW5hdGl2ZSdzIHN5c2NvbmZpZyB0byBnZXQgc3JjZGlyIHdoaWNoIGlzIHRoZSBuYXRpdmUncywgdGhlcmUKLXdvdWxkIGJlIGVycm9ycyB3aGVuIG5hdGl2ZSdzIHNyY2RpciBoYXMgYmVlbiByZW1vdmVkLCBhZGQKLV9QWVRIT05fUFJPSkVDVF9TUkMgdG8gZml4IHRoZSBwcm9ibGVtLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBMaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weSB8ICAgIDUgKysrKy0KLSBMaWIvc3lzY29uZmlnLnB5ICAgICAgICAgICB8ICAgIDUgKysrKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotSW5kZXg6IFB5dGhvbi0zLjUuMy9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjUuMy5vcmlnL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5Ci0rKysgUHl0aG9uLTMuNS4zL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5Ci1AQCAtNDk4LDcgKzQ5OCwxMCBAQCBkZWYgZ2V0X2NvbmZpZ192YXJzKCphcmdzKToKLSAgICAgICAgICAgICBfY29uZmlnX3ZhcnNbJ1NPJ10gPSBTTwotIAotICAgICAgICAgIyBBbHdheXMgY29udmVydCBzcmNkaXIgdG8gYW4gYWJzb2x1dGUgcGF0aAotLSAgICAgICAgc3JjZGlyID0gX2NvbmZpZ192YXJzLmdldCgnc3JjZGlyJywgcHJvamVjdF9iYXNlKQotKyAgICAgICAgaWYgIl9QWVRIT05fUFJPSkVDVF9TUkMiIGluIG9zLmVudmlyb246Ci0rICAgICAgICAgICAgc3JjZGlyID0gb3MucGF0aC5hYnNwYXRoKG9zLmVudmlyb25bIl9QWVRIT05fUFJPSkVDVF9TUkMiXSkKLSsgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgc3JjZGlyID0gX2NvbmZpZ192YXJzLmdldCgnc3JjZGlyJywgcHJvamVjdF9iYXNlKQotICAgICAgICAgaWYgb3MubmFtZSA9PSAncG9zaXgnOgotICAgICAgICAgICAgIGlmIHB5dGhvbl9idWlsZDoKLSAgICAgICAgICAgICAgICAgIyBJZiBzcmNkaXIgaXMgYSByZWxhdGl2ZSBwYXRoICh0eXBpY2FsbHkgJy4nIG9yICcuLicpCi1JbmRleDogUHl0aG9uLTMuNS4zL0xpYi9zeXNjb25maWcucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy41LjMub3JpZy9MaWIvc3lzY29uZmlnLnB5Ci0rKysgUHl0aG9uLTMuNS4zL0xpYi9zeXNjb25maWcucHkKLUBAIC01NDQsNyArNTQ0LDEwIEBAIGRlZiBnZXRfY29uZmlnX3ZhcnMoKmFyZ3MpOgotICAgICAgICAgX0NPTkZJR19WQVJTWyd1c2VyYmFzZSddID0gX2dldHVzZXJiYXNlKCkKLSAKLSAgICAgICAgICMgQWx3YXlzIGNvbnZlcnQgc3JjZGlyIHRvIGFuIGFic29sdXRlIHBhdGgKLS0gICAgICAgIHNyY2RpciA9IF9DT05GSUdfVkFSUy5nZXQoJ3NyY2RpcicsIF9QUk9KRUNUX0JBU0UpCi0rICAgICAgICBpZiAiX1BZVEhPTl9QUk9KRUNUX1NSQyIgaW4gb3MuZW52aXJvbjoKLSsgICAgICAgICAgICBzcmNkaXIgPSBvcy5wYXRoLmFic3BhdGgob3MuZW52aXJvblsiX1BZVEhPTl9QUk9KRUNUX1NSQyJdKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBzcmNkaXIgPSBfQ09ORklHX1ZBUlMuZ2V0KCdzcmNkaXInLCBfUFJPSkVDVF9CQVNFKQotICAgICAgICAgaWYgb3MubmFtZSA9PSAncG9zaXgnOgotICAgICAgICAgICAgIGlmIF9QWVRIT05fQlVJTEQ6Ci0gICAgICAgICAgICAgICAgICMgSWYgc3JjZGlyIGlzIGEgcmVsYXRpdmUgcGF0aCAodHlwaWNhbGx5ICcuJyBvciAnLi4nKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc3lzcm9vdC1pbmNsdWRlLWhlYWRlcnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zeXNyb290LWluY2x1ZGUtaGVhZGVycy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzg1YjU1Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zeXNyb290LWluY2x1ZGUtaGVhZGVycy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLURvbnQgc2VhcmNoIGhhcmRjb2RlZCBwYXRocywgd2UgbWlnaHQgYmUgZG9pbmcgYSBjcm9zcy1idWlsZAotVXNlICc9JyBpbi1mcm9udCB0byBsZXQgY29tcGlsZXIgYXBwZW5kIHN5c3Jvb3QsIGlmIGl0IGNhbgotCi1TaG91bGQgZml4IHRoaW5ncyBsaWtlCi0KLWNvbmZpZ3VyZTo2OTcyOiBhcm0tYW5nc3Ryb20tbGludXgtZ251ZWFiaS1nY2MgIC1tYXJjaD1hcm12Ny1hIC1tdGh1bWItaW50ZXJ3b3JrIC1tZmxvYXQtYWJpPWhhcmQgLW1mcHU9bmVvbiAtbXR1bmU9Y29ydGV4LWE4IC1ETkRFQlVHIC1mbm8taW5saW5lIC1EX19TT0ZURlBfXyAtLXN5c3Jvb3Q9L2J1aWxkL3YyMDEzLjA2L2J1aWxkL3RtcC1hbmdzdHJvbV92MjAxM18wNi1lZ2xpYmMvc3lzcm9vdHMvYmVhZ2xlYm9uZSAtYyAtTzIgLXBpcGUgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzICAtSS91c3IvaW5jbHVkZS9uY3Vyc2VzdyBjb25mdGVzdC5jID4mNQotY2MxOiB3YXJuaW5nOiBpbmNsdWRlIGxvY2F0aW9uICIvdXNyL2luY2x1ZGUvbmN1cnNlc3ciIGlzIHVuc2FmZSBmb3IgY3Jvc3MtY29tcGlsYXRpb24gWy1XcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllc10KLQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhagotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLQotSW5kZXg6IFB5dGhvbi0zLjMuMi9zZXR1cC5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjMuMi5vcmlnL3NldHVwLnB5CTIwMTMtMDctMzAgMDE6MzA6NDguMDAwMDAwMDAwIC0wNzAwCi0rKysgUHl0aG9uLTMuMy4yL3NldHVwLnB5CTIwMTMtMDctMzAgMDE6NDE6MTEuNjk3ODYyNzIzIC0wNzAwCi1AQCAtMTIxMCw3ICsxMjEwLDcgQEAKLSAgICAgICAgIHBhbmVsX2xpYnJhcnkgPSAncGFuZWwnCi0gICAgICAgICBpZiBjdXJzZXNfbGlicmFyeSA9PSAnbmN1cnNlc3cnOgotICAgICAgICAgICAgIGN1cnNlc19kZWZpbmVzLmFwcGVuZCgoJ0hBVkVfTkNVUlNFU1cnLCAnMScpKQotLSAgICAgICAgICAgIGN1cnNlc19pbmNsdWRlcy5hcHBlbmQoJy91c3IvaW5jbHVkZS9uY3Vyc2VzdycpCi0rICAgICAgICAgICAgY3Vyc2VzX2luY2x1ZGVzLmFwcGVuZCgnPS91c3IvaW5jbHVkZS9uY3Vyc2VzdycpCi0gICAgICAgICAgICAgIyBCdWcgMTQ2NDA1NjogSWYgX2N1cnNlcy5zbyBsaW5rcyB3aXRoIG5jdXJzZXN3LAotICAgICAgICAgICAgICMgX2N1cnNlc19wYW5lbC5zbyBtdXN0IGxpbmsgd2l0aCBwYW5lbHcuCi0gICAgICAgICAgICAgcGFuZWxfbGlicmFyeSA9ICdwYW5lbHcnCi1AQCAtMTgxOSw3ICsxODE5LDcgQEAKLSAgICAgICAgIGlmIGhvc3RfcGxhdGZvcm0gPT0gJ2Rhcndpbic6Ci0gICAgICAgICAgICAgIyBPUyBYIDEwLjUgY29tZXMgd2l0aCBsaWJmZmkuZHlsaWI7IHRoZSBpbmNsdWRlIGZpbGVzIGFyZQotICAgICAgICAgICAgICMgaW4gL3Vzci9pbmNsdWRlL2ZmaQotLSAgICAgICAgICAgIGluY19kaXJzLmFwcGVuZCgnL3Vzci9pbmNsdWRlL2ZmaScpCi0rICAgICAgICAgICAgaW5jX2RpcnMuYXBwZW5kKCc9L3Vzci9pbmNsdWRlL2ZmaScpCi0gCi0gICAgICAgICBmZmlfaW5jID0gW3N5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiTElCRkZJX0lOQ0xVREVESVIiKV0KLSAgICAgICAgIGlmIG5vdCBmZmlfaW5jIG9yIGZmaV9pbmNbMF0gPT0gJyc6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy90d2Vhay1NVUxUSUFSQ0gtZm9yLXBvd2VycGMtbGludXgtZ251c3BlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvdHdlYWstTVVMVElBUkNILWZvci1wb3dlcnBjLWxpbnV4LWdudXNwZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGQwMzcyNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy90d2Vhay1NVUxUSUFSQ0gtZm9yLXBvd2VycGMtbGludXgtZ251c3BlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotRnJvbSA1ZDY1MDkzMTMxOThlYzliNjg2Y2FkNTBiMDAyMjEyZTQzNDQwMDRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCAxMSBNYXIgMjAxNiAwMToxNTo0NSAtMDUwMAotU3ViamVjdDogW1BBVENIXSBjb25maWd1cmUuYWM6IHR3ZWFrIE1VTFRJQVJDSCBmb3IgcG93ZXJwYy1saW51eC1nbnVzcGUKLQotRm9yIHAxMDIyZHMgYnNwLCB0aGUgTVVMVElBUkNIIGlzIHBvd2VycGMtbGludXgtZ251c3BldjEgYW5kCi1weXRob24zIGRpZCBub3QgcmVjb2duaXplIHRoZSBleHRyYSAndjEnIHdoaWNoIGNhdXNlZCBweXRob24zCi1jb25maWd1cmUgZXJyb3IgZm9yIHRoZSBwbGF0Zm9ybSB0cmlwbGV0LgotCi1ROldoeSBQeXRob24zIGNoZWNrIHBsYXRmb3JtIHRyaXBsZXQ/Ci0KLUE6VW5kZXIgTGludXgsIEdOVS9LRnJlZUJTRCBhbmQgdGhlIEh1cmQsIEMgZXh0ZW5zaW9ucyBub3cgaW5jbHVkZQotdGhlIGFyY2hpdGVjdHVyZSB0cmlwbGV0IGluIHRoZSBleHRlbnNpb24gbmFtZSwgdG8gbWFrZSBpdCBlYXN5IHRvCi10ZXN0IGJ1aWxkcyBmb3IgZGlmZmVyZW50IEFCSXMgaW4gdGhlIHNhbWUgd29ya2luZyB0cmVlLgotCi1IZXJlIGlzIHRoZSBnZW5lcmF0ZWQgIEMgZXh0ZW5zaW9ucyB3aGljaCB0YWtlIHBsYXRmb3JtIHRyaXBsZXQgaW50byBhY2NvdW50LgotLi4uCi18aW1hZ2UvdXNyL2xpYi9weXRob24zLjUvbGliLWR5bmxvYWQvX2RhdGV0aW1lLmNweXRob24tMzVtLXBvd2VycGMtbGludXgtZ251c3BlLnNvCi0uLi4KLQotaHR0cHM6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUyMjk4MAotaHR0cHM6Ly93d3cucHl0aG9uLm9yZy9kZXYvcGVwcy9wZXAtMzE0OS8KLWh0dHBzOi8vYnVncy5weXRob24ub3JnL3Jldmlldy8yMjk4MC9wYXRjaC8xNDU5My81NDgwOAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gY29uZmlndXJlLmFjIHwgNyArKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCA5ZWIzZDIyLi5jMzRhOWEwIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC03MjQsNiArNzI0LDEzIEBAIGZpCi0gCi0gCi0gTVVMVElBUkNIPSQoJENDIC0tcHJpbnQtbXVsdGlhcmNoIDI+L2Rldi9udWxsKQotKwotKyMgVHdlYWsgTVVMVElBUkNICi0raWYgdGVzdCB4JE1VTFRJQVJDSCA9IHhwb3dlcnBjLWxpbnV4LWdudXNwZXYxCi0rdGhlbgotKwlNVUxUSUFSQ0g9InBvd2VycGMtbGludXgtZ251c3BlIgotK2ZpCi0rCi0gQUNfU1VCU1QoTVVMVElBUkNIKQotIAotIEFDX01TR19DSEVDS0lORyhbZm9yIHRoZSBwbGF0Zm9ybSB0cmlwbGV0IGJhc2VkIG9uIGNvbXBpbGVyIGNoYXJhY3RlcmlzdGljc10pCi0tLSAKLTEuOS4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3VuaXhjY29tcGlsZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy91bml4Y2NvbXBpbGVyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZTJiMWQxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3VuaXhjY29tcGlsZXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotVGhlIENDIHZhcmlhYmxlLHNvbWV0aW1lcyBsaWtlOiJ4ODZfNjQtcG9reS1saW51eC1nY2MgICAtbTY0IC0tc3lzcm9vdD0vJHtUTVBESVJ9L3N5c3Jvb3RzL3FlbXV4ODYtNjQiLCBjb250YWlucyBvcHRpb24gaW5mb3JtYXRpb24uIAotVGhpcyB3aWxsIGxlYWQgdG8gd3JvbmcgY29tcGlsZXIgbmFtZSAicWVtdXg4Ni02NCIgcmF0aGVyIHRoYW4gIng4Nl82NC1wb2t5LWxpbnV4LWdjYyIgd2hlbiBweXRob24gZmluZGluZyB0aGUgY29tcGlsZXIgbmFtZS4KLQotU2Vjb25kbHkgYWRkIC1MPTxwYXRoPiB0aGlzIHdheSBsaW5rZXIgd2lsbCBiZSBhYmxlIHRvIHJlc29sdmUgL3Vzci9saWIgdy5yLnQgc3lzcm9vdCBhbmQgbm90Ci11c2UgaGFyZGNvZGVkIC91c3IvbGliIHRvIGxvb2sgZm9yIGxpYnMgd2hpY2ggaXMgd3JvbmcgaW4gY3Jvc3MgY29tcGlsZSBlbnZpcm9ubWVudCBhbmQgdGhpcyB3aWxsIHdvcmsKLW9rIG9uIG5hdGl2ZSBzeXN0ZW1zIHRvbyBzaW5jZSBzeXNyb290IGZvciBuYXRpdmUgY29tcGlsZXJzIGlzIC8KLQotU2lnbmVkLW9mZi1ieTogTWVpIExlaSA8bGVpLm1laUBpbnRlbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotSW5kZXg6IFB5dGhvbi0zLjMuMi9MaWIvZGlzdHV0aWxzL3VuaXhjY29tcGlsZXIucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy4zLjIub3JpZy9MaWIvZGlzdHV0aWxzL3VuaXhjY29tcGlsZXIucHkJMjAxMy0wNS0xNSAwOTozMjo1NC4wMDAwMDAwMDAgLTA3MDAKLSsrKyBQeXRob24tMy4zLjIvTGliL2Rpc3R1dGlscy91bml4Y2NvbXBpbGVyLnB5CTIwMTMtMDgtMDEgMDA6NTg6MTguNjI5MDU2Mjg2IC0wNzAwCi1AQCAtMjAyLDcgKzIwMiw5IEBACi0gICAgICMgY2NvbXBpbGVyLnB5LgotIAotICAgICBkZWYgbGlicmFyeV9kaXJfb3B0aW9uKHNlbGYsIGRpcik6Ci0tICAgICAgICByZXR1cm4gIi1MIiArIGRpcgotKyAgICAgICAgaWYgZGlyLnN0YXJ0c3dpdGgoIi8iKToKLSsgICAgICAgICAgICByZXR1cm4gIi1MPSIgKyBkaXIKLSsgICAgICAgIHJldHVybiAiLUwiICsgZGlyCi0gCi0gICAgIGRlZiBfaXNfZ2NjKHNlbGYsIGNvbXBpbGVyX25hbWUpOgotICAgICAgICAgcmV0dXJuICJnY2MiIGluIGNvbXBpbGVyX25hbWUgb3IgImcrKyIgaW4gY29tcGlsZXJfbmFtZQotQEAgLTIyMSw3ICsyMjEsNyBAQAotICAgICAgICAgIyB0aGlzIHRpbWUsIHRoZXJlJ3Mgbm8gd2F5IHRvIGRldGVybWluZSB0aGlzIGluZm9ybWF0aW9uIGZyb20KLSAgICAgICAgICMgdGhlIGNvbmZpZ3VyYXRpb24gZGF0YSBzdG9yZWQgaW4gdGhlIFB5dGhvbiBpbnN0YWxsYXRpb24sIHNvCi0gICAgICAgICAjIHdlIHVzZSB0aGlzIGhhY2suCi0tICAgICAgICBjb21waWxlciA9IG9zLnBhdGguYmFzZW5hbWUoc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCJDQyIpKQotKyAgICAgICAgY29tcGlsZXIgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIkNDIikKLSAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybVs6Nl0gPT0gImRhcndpbiI6Ci0gICAgICAgICAgICAgIyBNYWNPU1gncyBsaW5rZXIgZG9lc24ndCB1bmRlcnN0YW5kIHRoZSAtUiBmbGFnIGF0IGFsbAotICAgICAgICAgICAgIHJldHVybiAiLUwiICsgZGlyCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uM18zLjUuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zXzMuNS42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyY2I2NTA0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zXzMuNS42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzI3ICswLDAgQEAKLXJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy5pbmMKLQotREVQRU5EUyA9ICJweXRob24zLW5hdGl2ZSBsaWJmZmkgYnppcDIgZ2RibSBvcGVuc3NsIFwKLSAgICAgICAgICAgc3FsaXRlMyB6bGliIHZpcnR1YWwvbGliaW50bCB4eiBxZW11LW5hdGl2ZSBcCi0gICAgICAgICAgIHFlbXUtaGVscGVyLW5hdGl2ZSB2aXJ0dWFsL2NyeXB0IgotCi1ESVNUUk9fU1JDX1VSSSA/PSAiZmlsZTovL3NpdGVjdXN0b21pemUucHkiCi1ESVNUUk9fU1JDX1VSSV9saW51eHN0ZGJhc2UgPSAiIgotU1JDX1VSSSA9ICJodHRwOi8vd3d3LnB5dGhvbi5vcmcvZnRwL3B5dGhvbi8ke1BWfS9QeXRob24tJHtQVn0udGFyLnh6IFwKLWZpbGU6Ly9weXRob24tY29uZmlnLnBhdGNoIFwKLWZpbGU6Ly8wMzAtZml4dXAtaW5jbHVkZS1kaXJzLnBhdGNoIFwKLWZpbGU6Ly8xMzAtcmVhZGxpbmUtc2V0dXAucGF0Y2ggXAotZmlsZTovLzE1MC1maXgtc2V0dXB0ZXJtLnBhdGNoIFwKLWZpbGU6Ly8wMDAxLWgycHktRml4LWlzc3VlLTEzMDMyLXdoZXJlLWl0LWZhaWxzLXdpdGgtVW5pY29kZURlY28ucGF0Y2ggXAotZmlsZTovL3R3ZWFrLU1VTFRJQVJDSC1mb3ItcG93ZXJwYy1saW51eC1nbnVzcGUucGF0Y2ggXAotZmlsZTovL3N1cHBvcnRfU09VUkNFX0RBVEVfRVBPQ0hfaW5fcHlfY29tcGlsZS5wYXRjaCBcCi0ke0RJU1RST19TUkNfVVJJfSBcCi0iCi0KLVNSQ19VUkkgKz0gIlwKLSAgICAgICAgICAgIGZpbGU6Ly8wMy1maXgtdGtpbnRlci1kZXRlY3Rpb24ucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2F2b2lkX3dhcm5pbmdfYWJvdXRfdGtpbnRlci5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vY2dpX3B5LnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9ob3N0X2luY2x1ZGVfY29udGFtaW5hdGlvbi5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vcHl0aG9uLTMuMy1tdWx0aWxpYi5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vc3lzcm9vdC1pbmNsdWRlLWhlYWRlcnMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3VuaXhjY29tcGlsZXIucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2F2b2lkLW5jdXJzZXN3LWluY2x1ZGUtcGF0aC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vcHl0aG9uMy11c2UtQ1JPU1NQWVRIT05QQVRILWZvci1QWVRIT05fRk9SX0JVSUxELnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9zeXNjb25maWcucHktYWRkLV9QWVRIT05fUFJPSkVDVF9TUkMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3NldHVwLnB5LWNoZWNrLWNyb3NzX2NvbXBpbGluZy13aGVuLWdldC1GTEFHUy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmFjLWZpeC1MSUJQTC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1Jc3N1ZS0yMTI3Mi1Vc2UtX3N5c2NvbmZpZ2RhdGEucHktdG8taW5pdGlhbGl6ZS1kaXN0LnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9wYXNzLW1pc3NpbmctbGlicmFyaWVzLXRvLUV4dGVuc2lvbi1mb3ItbXVsLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9Vc2UtY29ycmVjdC1DRkxBR1MtZm9yLWV4dGVuc2lvbnMtd2hlbi1jcm9zcy1jb21waWxpLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAyLU1ha2VmaWxlLWFkZC10YXJnZXQtdG8tc3BsaXQtcHJvZmlsZS1nZW5lcmF0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9mbG9hdC1lbmRpYW4ucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2Z0cGxpYi5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vc2lnbmFsLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUlzc3VlLTI4MDQzLVNTTENvbnRleHQtaGFzLWltcHJvdmVkLWRlZmF1bHQtc2V0dGluZ3MucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDItYnBvLTI5MTM2LUFkZC1UTFMtMS4zLWNpcGhlci1zdWl0ZXMtYW5kLU9QX05PX1RMU3YxXy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMy1icG8tMzI5NDctRml4ZXMtZm9yLVRMUy0xLjMtYW5kLU9wZW5TU0wtMS4xLjEtR0gtODc2LnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDA0LWJwby0zMzU3MC1UTFMtMS4zLWNpcGhlcnMtZm9yLU9wZW5TU0wtMS4xLjEtR0gtNjk3Ni5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwNS1icG8tMzA3MTQtQUxQTi1jaGFuZ2VzLWZvci1PcGVuU1NMLTEuMS4wZi0yMzA1LnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICAiCi0KLWluaGVyaXQgbXVsdGlsaWJfaGVhZGVyIHB5dGhvbjNuYXRpdmUgdXBkYXRlLWFsdGVybmF0aXZlcyBxZW11IHB0ZXN0Ci0KLU1VTFRJTElCX1NVRkZJWCA9ICIke0BkLmdldFZhcignYmFzZV9saWJkaXInLDEpLnNwbGl0KCcvJylbLTFdfSIKLQotQUxURVJOQVRJVkVfJHtQTn0tZGV2ID0gInB5dGhvbi1jb25maWciCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbcHl0aG9uLWNvbmZpZ10gPSAiJHtiaW5kaXJ9L3B5dGhvbiR7UFlUSE9OX0JJTkFCSX0tY29uZmlnIgotQUxURVJOQVRJVkVfVEFSR0VUW3B5dGhvbi1jb25maWddID0gIiR7YmluZGlyfS9weXRob24ke1BZVEhPTl9CSU5BQkl9LWNvbmZpZy0ke01VTFRJTElCX1NVRkZJWH0iCi0KLUNPTkZJR1VSRU9QVFMgKz0gIiAtLXdpdGgtc3lzdGVtLWZmaSAiCi0KLUNBQ0hFRF9DT05GSUdVUkVWQVJTID0gImFjX2N2X2hhdmVfY2hmbGFncz1ubyBcCi0gICAgICAgICAgICAgICAgYWNfY3ZfaGF2ZV9sY2hmbGFncz1ubyBcCi0gICAgICAgICAgICAgICAgYWNfY3ZfaGF2ZV9sb25nX2xvbmdfZm9ybWF0PXllcyBcCi0gICAgICAgICAgICAgICAgYWNfY3ZfYnVnZ3lfZ2V0YWRkcmluZm89bm8gXAotICAgICAgICAgICAgICAgIGFjX2N2X2ZpbGVfX2Rldl9wdG14PXllcyBcCi0gICAgICAgICAgICAgICAgYWNfY3ZfZmlsZV9fZGV2X3B0Yz1ubyBcCi0iCi0KLVRBUkdFVF9DQ19BUkNIICs9ICItRE5ERUJVRyAtZm5vLWlubGluZSIKLVNES19DQ19BUkNIICs9ICItRE5ERUJVRyAtZm5vLWlubGluZSIKLUVYVFJBX09FTUFLRSArPSAiQ1JPU1NfQ09NUElMRT15ZXMiCi1FWFRSQV9PRUNPTkYgKz0gIkNST1NTUFlUSE9OUEFUSD0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC8gLS13aXRob3V0LWVuc3VyZXBpcCIKLQotUFlUSE9OM19QUk9GSUxFX1RBU0sgPz0gIi4vcHl0aG9uIC1tIHRlc3QucmVncnRlc3QgLS1wZ28gdGVzdF9ncmFtbWFyIHRlc3Rfb3Bjb2RlcyB0ZXN0X2RpY3QgdGVzdF9idWlsdGluIHRlc3RfZXhjZXB0aW9ucyB0ZXN0X3R5cGVzIHRlc3Rfc3VwcG9ydCB8fCB0cnVlIgotCi1leHBvcnQgQ1JPU1NfQ09NUElMRSA9ICIke1RBUkdFVF9QUkVGSVh9IgotZXhwb3J0IENDU0hBUkVEID0gIi1mUElDIgotCi0jIEZpeCBjcm9zcyBjb21waWxhdGlvbiBvZiBkaWZmZXJlbnQgbW9kdWxlcwotZXhwb3J0IENST1NTUFlUSE9OUEFUSCA9ICIke1NUQUdJTkdfTElCRElSX05BVElWRX0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC86JHtCfS9idWlsZC9saWIubGludXgtJHtUQVJHRVRfQVJDSH0tJHtQWVRIT05fTUFKTUlOfToke1N9L0xpYjoke1N9L0xpYi9wbGF0LWxpbnV4IgotCi1QQUNLQUdFQ09ORklHID8/PSAicmVhZGxpbmUgJHtAYmIudXRpbHMuY29udGFpbnMoJ01BQ0hJTkVfRkVBVFVSRVMnLCAncWVtdS11c2VybW9kZScsICdwZ28nLCAnJywgZCl9IgotUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLCxyZWFkbGluZSIKLSMgVXNlIHByb2ZpbGUgZ3VpZGVkIG9wdGltaXNhdGlvbiBieSBydW5uaW5nIFB5QmVuY2ggaW5zaWRlIHFlbXUtdXNlcgotUEFDS0FHRUNPTkZJR1twZ29dID0gIi0tZW5hYmxlLW9wdGltaXphdGlvbnMiCi0KLWRvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7Ci0Jcm0gLWYgJHtTfS9NYWtlZmlsZS5vcmlnCi19Ci0KLXJ1bl9tYWtlKCkgewotCW9lX3J1bm1ha2UgUEdFTj0ke1NUQUdJTkdfQklORElSX05BVElWRX0vcHl0aG9uMy1uYXRpdmUvcGdlbiBcCi0JCUhPU1RQWVRIT049JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3B5dGhvbjMtbmF0aXZlL3B5dGhvbjMgXAotCQlTVEFHSU5HX0xJQkRJUj0ke1NUQUdJTkdfTElCRElSfSBcCi0JCVNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJ9IFwKLQkJU1RBR0lOR19CQVNFTElCRElSPSR7U1RBR0lOR19CQVNFTElCRElSfSBcCi0JCUxJQj0ke2Jhc2VsaWJ9IFwKLQkJQVJDSD0ke1RBUkdFVF9BUkNIfSBcCi0JCU9QVD0iJHtDRkxBR1N9IiBcCi0JCSIkQCIKLX0KLQotZG9fY29tcGlsZSgpIHsKLQkjIHJlZ2VuZXJhdGUgcGxhdGZvcm0gc3BlY2lmaWMgZmlsZXMsIGJlY2F1c2UgdGhleSBkZXBlbmQgb24gc3lzdGVtIGhlYWRlcnMKLQljZCAke1N9L0xpYi9wbGF0LWxpbnV4KgotCWluY2x1ZGU9JHtTVEFHSU5HX0lOQ0RJUn0gJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3B5dGhvbjMtbmF0aXZlL3B5dGhvbjMgXAotCQkke1N9L1Rvb2xzL3NjcmlwdHMvaDJweS5weSAtaSAnKHVfbG9uZyknIFwKLQkJJHtTVEFHSU5HX0lOQ0RJUn0vZGxmY24uaCBcCi0JCSR7U1RBR0lOR19JTkNESVJ9L2xpbnV4L2Nkcm9tLmggXAotCQkke1NUQUdJTkdfSU5DRElSfS9uZXRpbmV0L2luLmggXAotCQkke1NUQUdJTkdfSU5DRElSfS9zeXMvdHlwZXMuaAotCXNlZCAtZSAncywke1NUQUdJTkdfRElSX0hPU1R9LCxnJyAtaSAqLnB5Ci0JY2QgLQotCi0JIyByZW1vdmUgYW55IGJvZ3VzIExEX0xJQlJBUllfUEFUSAotCXNlZCAtaSAtZSBzLFJVTlNIQVJFRD0uKixSVU5TSEFSRUQ9LCBNYWtlZmlsZQotCi0JaWYgWyAhIC1mIE1ha2VmaWxlLm9yaWcgXTsgdGhlbgotCQlpbnN0YWxsIC1tIDA2NDQgTWFrZWZpbGUgTWFrZWZpbGUub3JpZwotCWZpCi0Jc2VkIC1pIC1lICdzLF5DT05GSUdVUkVfTERGTEFHUz0uKixDT05GSUdVUkVfTERGTEFHUz0tTC4gLUwke1NUQUdJTkdfTElCRElSfSxnJyBcCi0JCS1lICdzLGxpYmRpcj0ke2xpYmRpcn0sbGliZGlyPSR7U1RBR0lOR19MSUJESVJ9LGcnIFwKLQkJLWUgJ3MsbGliZXhlY2Rpcj0ke2xpYmV4ZWNkaXJ9LGxpYmV4ZWNkaXI9JHtTVEFHSU5HX0RJUl9IT1NUfSR7bGliZXhlY2Rpcn0sZycgXAotCQktZSAncyxeTElCRElSPS4qLExJQkRJUj0ke1NUQUdJTkdfTElCRElSfSxnJyBcCi0JCS1lICdzLGluY2x1ZGVkaXI9JHtpbmNsdWRlZGlyfSxpbmNsdWRlZGlyPSR7U1RBR0lOR19JTkNESVJ9LGcnIFwKLQkJLWUgJ3MsXklOQ0xVREVESVI9LiosSU5DTFVERT0ke1NUQUdJTkdfSU5DRElSfSxnJyBcCi0JCS1lICdzLF5DT05GSU5DTFVERURJUj0uKixDT05GSU5DTFVERT0ke1NUQUdJTkdfSU5DRElSfSxnJyBcCi0JCU1ha2VmaWxlCi0JIyBzYXZlIGNvcHkgb2YgaXQgbm93LCBiZWNhdXNlIGlmIHdlIGRvIGl0IGluIGRvX2luc3RhbGwgYW5kIAotCSMgdGhlbiBjYWxsIGRvX2luc3RhbGwgdHdpY2Ugd2UgZ2V0IE1ha2VmaWxlLm9yaWcgPT0gTWFrZWZpbGUuc3lzcm9vdAotCWluc3RhbGwgLW0gMDY0NCBNYWtlZmlsZSBNYWtlZmlsZS5zeXNyb290Ci0KLQlpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwZ28nLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotCQlydW5fbWFrZSBwcm9maWxlLW9wdAotCQlxZW11X2JpbmFyeT0iJHtAcWVtdV93cmFwcGVyX2NtZGxpbmUoZCwgJyR7U1RBR0lOR19ESVJfVEFSR0VUfScsIFsnJHtCfScsICcke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0nXSl9IgotCQljYXQgPnBnby13cmFwcGVyIDw8RU9GCi0jIS9iaW4vc2gKLWNkICR7Qn0KLSRxZW11X2JpbmFyeSAiXCRAIgotRU9GCi0JCWNobW9kICt4IHBnby13cmFwcGVyCi0JCWJibm90ZSBHYXRoZXJpbmcgcHJvZmlsaW5nIGRhdGEKLQkJLi9wZ28td3JhcHBlciAke1BZVEhPTjNfUFJPRklMRV9UQVNLfQotCQliYm5vdGUgUHJvZmlsaW5nIGRhdGEgZ2F0aGVyZWQsIHJlYnVpbGRpbmcKLQkJcnVuX21ha2UgY2xlYW5fYW5kX3VzZV9wcm9maWxlCi0JZWxzZQotCQlydW5fbWFrZSBsaWJweXRob24zLnNvCi0JCXJ1bl9tYWtlCi0JZmkKLX0KLQotZG9faW5zdGFsbCgpIHsKLQkjIG1ha2UgaW5zdGFsbCBuZWVkcyB0aGUgb3JpZ2luYWwgTWFrZWZpbGUsIG9yIG90aGVyd2lzZSB0aGUgaW5jbHVlcyB3b3VsZAotCSMgZ28gdG8gJHtEfSR7U1RBR0lORy4uLn0vLi4uCi0JaW5zdGFsbCAtbSAwNjQ0IE1ha2VmaWxlLm9yaWcgTWFrZWZpbGUKLQotCWluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wa2djb25maWcKLQlpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25maWcKLQotCSMgcmVydW4gdGhlIGJ1aWxkIG9uY2UgYWdhaW4gd2l0aCBvcmlnaW5hbCBtYWtlZmlsZSB0aGlzIHRpbWUKLQkjIHJ1biBpbnN0YWxsIGluIGEgc2VwYXJhdGUgc3RlcCB0byBhdm9pZCBjb21waWxlL2luc3RhbGwgcmFjZQotCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BnbycsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0JCXJ1bl9tYWtlIERFU1RESVI9JHtEfSBMSUJESVI9JHtsaWJkaXJ9IGJ1aWxkX2FsbF91c2VfcHJvZmlsZQotCWVsc2UKLQkJcnVuX21ha2UgREVTVERJUj0ke0R9IExJQkRJUj0ke2xpYmRpcn0KLQlmaQotCi0JcnVuX21ha2UgREVTVERJUj0ke0R9IExJQkRJUj0ke2xpYmRpcn0gaW5zdGFsbAotCi0JIyBhdm9pZCBjb25mbGljdCB3aXRoIDJ0bzMgZnJvbSBQeXRob24gMgotCXJtIC1mICR7RH0vJHtiaW5kaXJ9LzJ0bzMKLQotCWluc3RhbGwgLW0gMDY0NCBNYWtlZmlsZS5zeXNyb290ICR7RH0vJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnL01ha2VmaWxlCi0JaW5zdGFsbCAtbSAwNjQ0IE1ha2VmaWxlLnN5c3Jvb3QgJHtEfS8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25maWctJHtQWVRIT05fTUFKTUlOfSR7UFlUSE9OX0FCSX0vTWFrZWZpbGUKLQotCWlmIFsgLWUgJHtXT1JLRElSfS9zaXRlY3VzdG9taXplLnB5IF07IHRoZW4KLQkJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc2l0ZWN1c3RvbWl6ZS5weSAke0R9LyR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59Ci0JZmkKLQotCW9lX211bHRpbGliX2hlYWRlciBweXRob24ke1BZVEhPTl9CSU5BQkl9L3B5Y29uZmlnLmgKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrICgpIHsKLQljcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0gUFlUSE9OSE9NRT0nJHtwcmVmaXh9JyBURVJNSU5GT19ESVJTPScke3N5c2NvbmZkaXJ9L3Rlcm1pbmZvOi9ldGMvdGVybWluZm86L3Vzci9zaGFyZS90ZXJtaW5mbzovdXNyL3NoYXJlL21pc2MvdGVybWluZm86L2xpYi90ZXJtaW5mbycgUFlUSE9OTk9VU0VSU0lURT0nMScKLX0KLQotU1NUQVRFX1NDQU5fRklMRVMgKz0gIk1ha2VmaWxlIgotUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTICs9ICJweV9wYWNrYWdlX3ByZXByb2Nlc3MiCi0KLXB5X3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7Ci0JIyBjb3B5IGJhY2sgdGhlIG9sZCBNYWtlZmlsZSB0byBmaXggdGFyZ2V0IHBhY2thZ2UKLQlpbnN0YWxsIC1tIDA2NDQgJHtCfS9NYWtlZmlsZS5vcmlnICR7UEtHRH0vJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnL01ha2VmaWxlCi0JaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vTWFrZWZpbGUub3JpZyAke1BLR0R9LyR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2NvbmZpZy0ke1BZVEhPTl9NQUpNSU59JHtQWVRIT05fQUJJfS9NYWtlZmlsZQotCSMgUmVtb3ZlIHJlZmVyZW5jZXMgdG8gYnVpbGRtYWNoaW5lIHBhdGhzIGluIHRhcmdldCBNYWtlZmlsZSBhbmQgX3N5c2NvbmZpZ2RhdGEKLQlzZWQgLWkgLWUgJ3M6LS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfTo6ZycgLWUgczonLS13aXRoLWxpYnRvb2wtc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0nOjpnIFwKLQkJLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAotCQktZSAnczoke0hPU1RUT09MU19ESVJ9Lzo6ZycgXAotCQktZSAnczoke1JFQ0lQRV9TWVNST09UX05BVElWRX06OmcnIFwKLQkJLWUgJ3M6JHtSRUNJUEVfU1lTUk9PVH06OmcnIFwKLQkJLWUgJ3M6JHtCQVNFX1dPUktESVJ9LyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9OjpnJyBcCi0JCSR7UEtHRH0vJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnL01ha2VmaWxlIFwKLQkJJHtQS0dEfS8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25maWctJHtQWVRIT05fTUFKTUlOfSR7UFlUSE9OX0FCSX0vTWFrZWZpbGUgXAotCQkke1BLR0R9LyR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19zeXNjb25maWdkYXRhLnB5IFwKLQkJJHtQS0dEfS8ke2JpbmRpcn0vcHl0aG9uJHtQWVRIT05fQklOQUJJfS1jb25maWcKLQotCSMgUmVjb21waWxlIF9zeXNjb25maWdkYXRhIGFmdGVyIG1vZGlmeWluZyBpdAotCWNkICR7UEtHRH0KLQkke1NUQUdJTkdfQklORElSX05BVElWRX0vJHtQWVRIT05fUE59LW5hdGl2ZS8ke1BZVEhPTl9QTn0gXAotCSAgICAgLWMgImZyb20gcHlfY29tcGlsZSBpbXBvcnQgY29tcGlsZTsgY29tcGlsZSgnLi8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fc3lzY29uZmlnZGF0YS5weScpIgotCSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS8ke1BZVEhPTl9QTn0tbmF0aXZlLyR7UFlUSE9OX1BOfSBcCi0JICAgICAtYyAiZnJvbSBweV9jb21waWxlIGltcG9ydCBjb21waWxlOyBjb21waWxlKCcuLyR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19zeXNjb25maWdkYXRhLnB5Jywgb3B0aW1pemU9MSkiCi0JJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LyR7UFlUSE9OX1BOfS1uYXRpdmUvJHtQWVRIT05fUE59IFwKLQkgICAgIC1jICJmcm9tIHB5X2NvbXBpbGUgaW1wb3J0IGNvbXBpbGU7IGNvbXBpbGUoJy4vJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX3N5c2NvbmZpZ2RhdGEucHknLCBvcHRpbWl6ZT0yKSIKLQljZCAtCi0KLQltdiAke1BLR0R9LyR7YmluZGlyfS9weXRob24ke1BZVEhPTl9CSU5BQkl9LWNvbmZpZyAke1BLR0R9LyR7YmluZGlyfS9weXRob24ke1BZVEhPTl9CSU5BQkl9LWNvbmZpZy0ke01VTFRJTElCX1NVRkZJWH0KLX0KLQotUEFDS0FHRVNfcmVtb3ZlID0gIiR7UE59IgotCi0jIG1hbnVhbCBkZXBlbmRlbmN5IGFkZGl0aW9ucwotUlBST1ZJREVTXyR7UE59LW1vZHVsZXMgPSAiJHtQTn0iCi1SUkVDT01NRU5EU18ke1BOfS1jb3JlX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIG5hdGl2ZXNkay1weXRob24zLW1vZHVsZXMiCi1SUkVDT01NRU5EU18ke1BOfS1jcnlwdCA9ICJvcGVuc3NsIGNhLWNlcnRpZmljYXRlcyIKLQotRklMRVNfJHtQTn0tMnRvMyArPSAiJHtiaW5kaXJ9LzJ0bzMtJHtQWVRIT05fTUFKTUlOfSIKLUZJTEVTXyR7UE59LXB5ZG9jICs9ICIke2JpbmRpcn0vcHlkb2Mke1BZVEhPTl9NQUpNSU59ICR7YmluZGlyfS9weWRvYzMiCi1GSUxFU18ke1BOfS1pZGxlICs9ICIke2JpbmRpcn0vaWRsZTMgJHtiaW5kaXJ9L2lkbGUke1BZVEhPTl9NQUpNSU59IgotCi0jIHByb3ZpZGUgcHl0aG9uLXB5dmVudiBmcm9tIHB5dGhvbjMtdmVudgotUlBST1ZJREVTXyR7UE59LXZlbnYgKz0gIiR7UE59LXB5dmVudiIKLQotIyBwYWNrYWdlIGxpYnB5dGhvbjMKLVBBQ0tBR0VTID0rICJsaWJweXRob24zIGxpYnB5dGhvbjMtc3RhdGljZGV2IgotRklMRVNfbGlicHl0aG9uMyA9ICIke2xpYmRpcn0vbGlicHl0aG9uKi5zby4qIgotRklMRVNfbGlicHl0aG9uMy1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2NvbmZpZy0ke1BZVEhPTl9CSU5BQkl9L2xpYnB5dGhvbiR7UFlUSE9OX0JJTkFCSX0uYSIKLUlOU0FORV9TS0lQXyR7UE59LWRldiArPSAiZGV2LWVsZiIKLQotIyBjYXRjaCBhbGwgdGhlIHJlc3QgKHVuc29ydGVkKQotUEFDS0FHRVMgKz0gIiR7UE59LW1pc2MiCi1SREVQRU5EU18ke1BOfS1taXNjICs9ICIke1BOfS1jb3JlICR7UE59LWVtYWlsICR7UE59LWNvZGVjcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZXMgKz0gIiR7UE59LW1pc2MiCi1GSUxFU18ke1BOfS1taXNjID0gIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59IgotCi0jIGNhdGNoIG1hbnBhZ2UKLVBBQ0tBR0VTICs9ICIke1BOfS1tYW4iCi1GSUxFU18ke1BOfS1tYW4gPSAiJHtkYXRhZGlyfS9tYW4iCi0KLVJERVBFTkRTXyR7UE59LXB0ZXN0ID0gIiR7UE59LW1vZHVsZXMgJHtQTn0tdGVzdHMgdW56aXAgYnppcDIiCi0KLVJERVBFTkRTXyR7UE59LWRldiA9ICIiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgotCi0jIFdlIHdhbnQgYnl0ZWNvZGUgcHJlY29tcGlsZWQgLnB5IGZpbGVzICgucHljJ3MpIGJ5IGRlZmF1bHQKLSMgYnV0IHRoZSB1c2VyIG1heSBzZXQgaXQgb24gdGhlaXIgb3duIGNvbmYKLUlOQ0xVREVfUFlDUyA/PSAiMSIKLQotcHl0aG9uKCl7Ci0gICAgaW1wb3J0IGNvbGxlY3Rpb25zLCBqc29uCi0KLSAgICBmaWxlbmFtZSA9IG9zLnBhdGguam9pbihkLmdldFZhcignVEhJU0RJUicpLCAncHl0aG9uMycsICdweXRob24zLW1hbmlmZXN0Lmpzb24nKQotICAgICMgVGhpcyBweXRob24gY2hhbmdlcyB0aGUgZGF0YXN0b3JlIGJhc2VkIG9uIHRoZSBjb250ZW50cyBvZiBhIGZpbGUsIHNvIG1hcmsKLSAgICAjIHRoYXQgZGVwZW5kZW5jeS4KLSAgICBiYi5wYXJzZS5tYXJrX2RlcGVuZGVuY3koZCwgZmlsZW5hbWUpCi0KLSAgICB3aXRoIG9wZW4oZmlsZW5hbWUpIGFzIG1hbmlmZXN0X2ZpbGU6Ci0gICAgICAgIHB5dGhvbl9tYW5pZmVzdD1qc29uLmxvYWQobWFuaWZlc3RfZmlsZSwgb2JqZWN0X3BhaXJzX2hvb2s9Y29sbGVjdGlvbnMuT3JkZXJlZERpY3QpCi0KLSAgICBpbmNsdWRlX3B5Y3MgPSBkLmdldFZhcignSU5DTFVERV9QWUNTJykKLQotICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKQotICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKLQotICAgIG5ld3BhY2thZ2VzPVtdCi0gICAgZm9yIGtleSBpbiBweXRob25fbWFuaWZlc3Q6Ci0gICAgICAgIHB5cGFja2FnZT0gcG4gKyAnLScgKyBrZXkKLQotICAgICAgICBpZiBweXBhY2thZ2Ugbm90IGluIHBhY2thZ2VzOgotICAgICAgICAgICAgIyBXZSBuZWVkIHRvIHByZXBlbmQsIG90aGVyd2lzZSBweXRob24tbWlzYyBnZXRzIGV2ZXJ5dGhpbmcKLSAgICAgICAgICAgICMgc28gd2UgdXNlIGEgbmV3IHZhcmlhYmxlCi0gICAgICAgICAgICBuZXdwYWNrYWdlcy5hcHBlbmQocHlwYWNrYWdlKQotCi0gICAgICAgICMgIkJ1aWxkIiBweXRob24ncyBtYW5pZmVzdCBGSUxFUywgUkRFUEVORFMgYW5kIFNVTU1BUlkKLSAgICAgICAgZC5zZXRWYXIoJ0ZJTEVTXycgKyBweXBhY2thZ2UsICcnKQotICAgICAgICBmb3IgdmFsdWUgaW4gcHl0aG9uX21hbmlmZXN0W2tleV1bJ2ZpbGVzJ106Ci0gICAgICAgICAgICBkLmFwcGVuZFZhcignRklMRVNfJyArIHB5cGFja2FnZSwgJyAnICsgdmFsdWUpCi0KLSAgICAgICAgIyBBZGQgY2FjaGVkIGZpbGVzCi0gICAgICAgIGlmIGluY2x1ZGVfcHljcyA9PSAnMSc6Ci0gICAgICAgICAgICBmb3IgdmFsdWUgaW4gcHl0aG9uX21hbmlmZXN0W2tleV1bJ2NhY2hlZCddOgotICAgICAgICAgICAgICAgICAgICBkLmFwcGVuZFZhcignRklMRVNfJyArIHB5cGFja2FnZSwgJyAnICsgdmFsdWUpCi0KLSAgICAgICAgZm9yIHZhbHVlIGluIHB5dGhvbl9tYW5pZmVzdFtrZXldWydyZGVwZW5kcyddOgotICAgICAgICAgICAgIyBNYWtlIGl0IHdvcmsgd2l0aCBvciB3aXRob3V0ICRQTgotICAgICAgICAgICAgaWYgJyR7UE59JyBpbiB2YWx1ZToKLSAgICAgICAgICAgICAgICB2YWx1ZT12YWx1ZS5zcGxpdCgnLScpWzFdCi0gICAgICAgICAgICBkLmFwcGVuZFZhcignUkRFUEVORFNfJyArIHB5cGFja2FnZSwgJyAnICsgcG4gKyAnLScgKyB2YWx1ZSkKLSAgICAgICAgZC5zZXRWYXIoJ1NVTU1BUllfJyArIHB5cGFja2FnZSwgcHl0aG9uX21hbmlmZXN0W2tleV1bJ3N1bW1hcnknXSkKLQotICAgICMgUHJlcGVuZGluZyBzbyB0byBhdm9pZCBweXRob24tbWlzYyBnZXR0aW5nIGV2ZXJ5dGhpbmcKLSAgICBwYWNrYWdlcyA9IG5ld3BhY2thZ2VzICsgcGFja2FnZXMKLSAgICBkLnNldFZhcignUEFDS0FHRVMnLCAnICcuam9pbihwYWNrYWdlcykpCi0gICAgZC5zZXRWYXIoJ0FMTE9XX0VNUFRZXyR7UE59LW1vZHVsZXMnLCAnMScpCi19Ci0KLSMgRmlsZXMgbmVlZGVkIHRvIGNyZWF0ZSBhIG5ldyBtYW5pZmVzdAotU1JDX1VSSSArPSAiZmlsZTovL2NyZWF0ZV9tYW5pZmVzdDMucHkgZmlsZTovL2dldF9tb2R1bGVfZGVwczMucHkgZmlsZTovL3B5dGhvbjMtbWFuaWZlc3QuanNvbiIKLQotZG9fY3JlYXRlX21hbmlmZXN0KCkgewotICAgICMgVGhpcyB0YXNrIHNob3VsZCBiZSBydW4gd2l0aCBldmVyeSBuZXcgcmVsZWFzZSBvZiBQeXRob24uCi0gICAgIyBXZSBtdXN0IGVuc3VyZSB0aGF0IFBBQ0tBR0VDT05GSUcgZW5hYmxlcyBldmVyeXRoaW5nIHdoZW4gY3JlYXRpbmcKLSAgICAjIGEgbmV3IG1hbmlmZXN0LCB0aGlzIGlzIHRvIGJhc2Ugb3VyIG5ldyBtYW5pZmVzdCBvbiBhIGNvbXBsZXRlCi0gICAgIyBuYXRpdmUgcHl0aG9uIGJ1aWxkLCBjb250YWluaW5nIGFsbCBkZXBlbmRlbmNpZXMsIG90aGVyd2lzZSB0aGUgdGFzawotICAgICMgd29udCBiZSBhYmxlIHRvIGZpbmQgdGhlIHJlcXVpcmVkIGZpbGVzLgotICAgICMgZS5nLiBCZXJrZWxleURCIGlzIGFuIG9wdGlvbmFsIGJ1aWxkIGRlcGVuZGVuY3kgc28gaXQgbWF5IG9yIG1heSBub3QKLSAgICAjIGJlIHByZXNlbnQsIHdlIG11c3QgZW5zdXJlIGl0IGlzLgotCi0gICAgY2QgJHtXT1JLRElSfQotICAgICMgVGhpcyBuZWVkcyB0byBiZSBleGVjdXRlZCBieSBweXRob24tbmF0aXZlIGFuZCBOT1QgYnkgSE9TVCdzIHB5dGhvbgotICAgIG5hdGl2ZXB5dGhvbjMgY3JlYXRlX21hbmlmZXN0My5weSAke1BZVEhPTl9NQUpNSU59Ci0gICAgY3AgcHl0aG9uMy1tYW5pZmVzdC5qc29uLm5ldyAke1RISVNESVJ9L3B5dGhvbjMvcHl0aG9uMy1tYW5pZmVzdC5qc29uCi19Ci0KLSMgYml0YmFrZSBweXRob24gLWMgY3JlYXRlX21hbmlmZXN0Ci1hZGR0YXNrIGRvX2NyZWF0ZV9tYW5pZmVzdAotCi0jIE1ha2Ugc3VyZSB3ZSBoYXZlIG5hdGl2ZSBweXRob24gcmVhZHkgd2hlbiB3ZSBjcmVhdGUgYSBuZXcgbWFuaWZlc3QKLWRvX2NyZWF0ZV9tYW5pZmVzdFtkZXBlbmRzXSArPSAicHl0aG9uMzpkb19wcmVwYXJlX3JlY2lwZV9zeXNyb290IgotZG9fY3JlYXRlX21hbmlmZXN0W2RlcGVuZHNdICs9ICJweXRob24zOmRvX3BhdGNoIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjNfMy43LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uM18zLjcuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzY0YmM4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjNfMy43LjIuYmIKQEAgLTAsMCArMSwyOTAgQEAKK1NVTU1BUlkgPSAiVGhlIFB5dGhvbiBQcm9ncmFtbWluZyBMYW5ndWFnZSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucHl0aG9uLm9yZyIKK0xJQ0VOU0UgPSAiUFNGdjIiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZjI1N2NjMTRmODE2ODU2OTE2NTJhM2QzZTFiNWQ3NTQiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5weXRob24ub3JnL2Z0cC9weXRob24vJHtQVn0vUHl0aG9uLSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vY3JlYXRlX21hbmlmZXN0My5weSBcCisgICAgICAgICAgIGZpbGU6Ly9nZXRfbW9kdWxlX2RlcHMzLnB5IFwKKyAgICAgICAgICAgZmlsZTovL3B5dGhvbjMtbWFuaWZlc3QuanNvbiBcCisgICAgICAgICAgIGZpbGU6Ly9jaGVja19idWlsZF9jb21wbGV0ZW5lc3MucHkgXAorICAgICAgICAgICBmaWxlOi8vY2dpX3B5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWFkZC11c3ItbGliLXRlcm1jYXAtdG8tbGlua2VyLWZsYWdzLXRvLWF2b2lkLS5wYXRjaCBcCisgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3RrJywgJycsICdmaWxlOi8vYXZvaWRfd2FybmluZ19hYm91dF90a2ludGVyLnBhdGNoJywgZCl9IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LXVzZS10aGUtc2hlbGwtdmVyc2lvbi1vZi1weXRob24tY29uZmlnLXRoYXQtdy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9weXRob24tY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtTWFrZWZpbGUucHJlLXVzZS1xZW11LXdyYXBwZXItd2hlbi1nYXRoZXJpbmctcHJvZmlsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1oYXJkY29kZS1saWItYXMtbG9jYXRpb24tZm9yLXNpdGUtcGFja2FnZXMtYW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1weXRob24zLXVzZS1jY19iYXNlbmFtZS10by1yZXBsYWNlLUNDLWZvci1jaGVja2luZy1jLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItRG9uLXQtZG8tcnVudGltZS10ZXN0LXRvLWdldC1mbG9hdC1ieXRlLW9yZGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtc2V0dXAucHktcGFzcy1taXNzaW5nLWxpYnJhcmllcy10by1FeHRlbnNpb24tZm9yLW11bC5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRpc3R1dGlscy1zeXNjb25maWctYXBwZW5kLVNUQUdJTkdfTElCRElSLXB5dGhvbi1zeXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMTItZGlzdHV0aWxzLXByZWZpeC1pcy1pbnNpZGUtc3RhZ2luZy1hcmVhLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGY2ZWMzNjAxMTgwODIwNWJlZGEyMzljNzJmOTQ3Y2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDgzZmU4Y2U1MWIxYmI0OGJiY2YwNTUwZmQyNjViOWE3NWNkZmRmYTkzZjkxNmY5ZTcwMGFlZjg0NDRiZjFiYiIKKworIyBleGNsdWRlIHByZS1yZWxlYXNlcyBmb3IgYm90aCBweXRob24gMi54IGFuZCAzLngKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIltQcF15dGhvbi0oP1A8cHZlcj5cZCsoXC5cZCspKykudGFyIgorCitDVkVfUFJPRFVDVCA9ICJweXRob24iCisKK1BZVEhPTl9NQUpNSU4gPSAiMy43IgorUFlUSE9OX0JJTkFCSSA9ICIke1BZVEhPTl9NQUpNSU59bSIKKworUyA9ICIke1dPUktESVJ9L1B5dGhvbi0ke1BWfSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcWVtdSBwdGVzdCBtdWx0aWxpYl9oZWFkZXIgdXBkYXRlLWFsdGVybmF0aXZlcworCitNVUxUSUxJQl9TVUZGSVggPSAiJHtAZC5nZXRWYXIoJ2Jhc2VfbGliZGlyJywxKS5zcGxpdCgnLycpWy0xXX0iCisKK0FMVEVSTkFUSVZFXyR7UE59LWRldiA9ICJweXRob24tY29uZmlnIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3B5dGhvbi1jb25maWddID0gIiR7YmluZGlyfS9weXRob24ke1BZVEhPTl9CSU5BQkl9LWNvbmZpZyIKK0FMVEVSTkFUSVZFX1RBUkdFVFtweXRob24tY29uZmlnXSA9ICIke2JpbmRpcn0vcHl0aG9uJHtQWVRIT05fQklOQUJJfS1jb25maWctJHtNVUxUSUxJQl9TVUZGSVh9IgorCisKK0RFUEVORFMgPSAiYnppcDItcmVwbGFjZW1lbnQtbmF0aXZlIGxpYmZmaSBiemlwMiBnZGJtIG9wZW5zc2wgc3FsaXRlMyB6bGliIHZpcnR1YWwvbGliaW50bCB4eiB2aXJ0dWFsL2NyeXB0IHV0aWwtbGludXggbGlidGlycGMgbGlibnNsMiIKK0RFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgcHl0aG9uMy1uYXRpdmUiCitERVBFTkRTX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIHB5dGhvbjMtbmF0aXZlIgorCitFWFRSQV9PRUNPTkYgPSAiIC0td2l0aG91dC1lbnN1cmVwaXAgLS1lbmFibGUtc2hhcmVkIgorRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC0tYmluZGlyPSR7YmluZGlyfS8ke1BOfSIKKworCitFWFRSQU5BVElWRVBBVEggKz0gInB5dGhvbjMtbmF0aXZlIgorCitDQUNIRURfQ09ORklHVVJFVkFSUyA9ICIgXAorICAgICAgICAgICAgICAgIGFjX2N2X2ZpbGVfX2Rldl9wdG14PXllcyBcCisgICAgICAgICAgICAgICAgYWNfY3ZfZmlsZV9fZGV2X3B0Yz1ubyBcCisgICAgICAgICAgICAgICAgYWNfY3Zfd29ya2luZ190enNldD15ZXMgXAorIgorCitQQUNLQUdFQ09ORklHX2NsYXNzLXRhcmdldCA/Pz0gInJlYWRsaW5lICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdNQUNISU5FX0ZFQVRVUkVTJywgJ3FlbXUtdXNlcm1vZGUnLCAncGdvJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID8/PSAicmVhZGxpbmUiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA/Pz0gInJlYWRsaW5lIgorUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLCxyZWFkbGluZSIKKyMgVXNlIHByb2ZpbGUgZ3VpZGVkIG9wdGltaXNhdGlvbiBieSBydW5uaW5nIFB5QmVuY2ggaW5zaWRlIHFlbXUtdXNlcgorUEFDS0FHRUNPTkZJR1twZ29dID0gIi0tZW5hYmxlLW9wdGltaXphdGlvbnMsLHFlbXUtbmF0aXZlIgorUEFDS0FHRUNPTkZJR1t0a10gPSAiLCx0ayIKKworQ1BQRkxBR1NfYXBwZW5kID0gIiAtSSR7U1RBR0lOR19JTkNESVJ9L25jdXJzZXN3IC1JJHtTVEFHSU5HX0lOQ0RJUn0vdXVpZCIKKworRVhUUkFfT0VNQUtFID0gJ1wKKyAgU1RBR0lOR19MSUJESVI9JHtTVEFHSU5HX0xJQkRJUn0gXAorICBTVEFHSU5HX0lOQ0RJUj0ke1NUQUdJTkdfSU5DRElSfSBcCisgIExJQj0ke2Jhc2VsaWJ9IFwKKycKKworZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwZ28nLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICAgICAgICAgIHFlbXVfYmluYXJ5PSIke0BxZW11X3dyYXBwZXJfY21kbGluZShkLCAnJHtTVEFHSU5HX0RJUl9UQVJHRVR9JywgWycke0J9JywgJyR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfSddKX0iCisgICAgICAgICAgICAgICAgY2F0ID5wZ28td3JhcHBlciA8PEVPRgorIyEvYmluL3NoCitjZCAke0J9CiskcWVtdV9iaW5hcnkgIlwkQCIKK0VPRgorICAgICAgICAgICAgICAgIGNobW9kICt4IHBnby13cmFwcGVyCisgICAgICAgIGZpCit9CisKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKyAgICAgICAgJHtXT1JLRElSfS9jaGVja19idWlsZF9jb21wbGV0ZW5lc3MucHkgJHtUfS9sb2cuZG9fY29tcGlsZQorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgICAgIG9lX211bHRpbGliX2hlYWRlciBweXRob24ke1BZVEhPTl9CSU5BQkl9L3B5Y29uZmlnLmgKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgICAgICAjIE1ha2Ugc3VyZSB3ZSB1c2UgL3Vzci9iaW4vZW52IHB5dGhvbgorICAgICAgICBmb3IgUFlUSFNDUklQVCBpbiBgZ3JlcCAtcklsICR7YmluZGlyfS8ke1BOfS9weXRob24gJHtEfSR7YmluZGlyfS8ke1BOfWA7IGRvCisgICAgICAgICAgICAgICAgc2VkIC1pIC1lICcxc3xeIyEuKnwjIS91c3IvYmluL2VudiBweXRob24zfCcgJFBZVEhTQ1JJUFQKKyAgICAgICAgZG9uZQorICAgICAgICAjIEFkZCBhIHN5bWxpbmsgdG8gdGhlIG5hdGl2ZSBQeXRob24gc28gdGhhdCBzY3JpcHRzIGNhbiBqdXN0IGludm9rZQorICAgICAgICAjICJuYXRpdmVweXRob24iIGFuZCBnZXQgdGhlIHJpZ2h0IG9uZSB3aXRob3V0IG5lZWRpbmcgYWJzb2x1dGUgcGF0aHMKKyAgICAgICAgIyAodGhlc2Ugb2Z0ZW4gZW5kIHVwIHRvbyBsb25nIGZvciB0aGUgIyEgcGFyc2VyIGluIHRoZSBrZXJuZWwgYXMgdGhlCisgICAgICAgICMgYnVmZmVyIGlzIDEyOCBieXRlcyBsb25nKS4KKyAgICAgICAgbG4gLXMgcHl0aG9uMy1uYXRpdmUvcHl0aG9uMyAke0R9JHtiaW5kaXJ9L25hdGl2ZXB5dGhvbjMKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgICAgIG1rZGlyIC1wICR7RH0ke2xpYmRpcn0vcHl0aG9uLXN5c2NvbmZpZ2RhdGEKKyAgICAgICAgc3lzY29uZmlnZmlsZT1gZmluZCAke0R9IC1uYW1lIF9zeXNjb25maWcqLnB5YAorICAgICAgICBjcCAkc3lzY29uZmlnZmlsZSAke0R9JHtsaWJkaXJ9L3B5dGhvbi1zeXNjb25maWdkYXRhL19zeXNjb25maWdkYXRhLnB5CisKKyAgICAgICAgc2VkIC1pICBcCisgICAgICAgICAgICAgICAgLWUgInMsXiAnTElCRElSJy4qLCAnTElCRElSJzogJyR7U1RBR0lOR19MSUJESVJ9J1wsLGciIFwKKyAgICAgICAgICAgICAgICAtZSAicyxeICdJTkNMVURFRElSJy4qLCAnSU5DTFVERURJUic6ICcke1NUQUdJTkdfSU5DRElSfSdcLCxnIiBcCisgICAgICAgICAgICAgICAgLWUgInMsXiAnQ09ORklOQ0xVREVESVInLiosICdDT05GSU5DTFVERURJUic6ICcke1NUQUdJTkdfSU5DRElSfSdcLCxnIiBcCisgICAgICAgICAgICAgICAgLWUgIi9eICdJTkNMRElSU1RPTUFLRScve047IHMsL3Vzci9pbmNsdWRlLCR7U1RBR0lOR19JTkNESVJ9LGd9IiBcCisgICAgICAgICAgICAgICAgLWUgIi9eICdJTkNMVURFUFknL3MsL3Vzci9pbmNsdWRlLCR7U1RBR0lOR19JTkNESVJ9LGciIFwKKyAgICAgICAgICAgICAgICAke0R9JHtsaWJkaXJ9L3B5dGhvbi1zeXNjb25maWdkYXRhL19zeXNjb25maWdkYXRhLnB5Cit9CisKK1NTVEFURV9TQ0FOX0ZJTEVTICs9ICJNYWtlZmlsZSBfc3lzY29uZmlnZGF0YS5weSIKK1BBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAicHlfcGFja2FnZV9wcmVwcm9jZXNzIgorCitweV9wYWNrYWdlX3ByZXByb2Nlc3MgKCkgeworICAgICAgICAjIFJlbW92ZSByZWZlcmVuY2VzIHRvIGJ1aWxkbWFjaGluZSBwYXRocyBpbiB0YXJnZXQgTWFrZWZpbGUgYW5kIF9zeXNjb25maWdkYXRhCisgICAgICAgIHNlZCAtaSAtZSAnczotLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9OjpnJyAtZSBzOictLXdpdGgtbGlidG9vbC1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSc6OmcgXAorICAgICAgICAgICAgICAgIC1lICdzfCR7REVCVUdfUFJFRklYX01BUH18fGcnIFwKKyAgICAgICAgICAgICAgICAtZSAnczoke0hPU1RUT09MU19ESVJ9Lzo6ZycgXAorICAgICAgICAgICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1RfTkFUSVZFfTo6ZycgXAorICAgICAgICAgICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1R9OjpnJyBcCisgICAgICAgICAgICAgICAgLWUgJ3M6JHtCQVNFX1dPUktESVJ9LyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9OjpnJyBcCisgICAgICAgICAgICAgICAgJHtQS0dEfS8ke3ByZWZpeH0vbGliL3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnLSR7UFlUSE9OX01BSk1JTn0ke1BZVEhPTl9BQkl9Ki9NYWtlZmlsZSBcCisgICAgICAgICAgICAgICAgJHtQS0dEfS8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fc3lzY29uZmlnZGF0YSoucHkgXAorICAgICAgICAgICAgICAgICR7UEtHRH0vJHtiaW5kaXJ9L3B5dGhvbiR7UFlUSE9OX0JJTkFCSX0tY29uZmlnCisKKyAgICAgICAgIyBSZWNvbXBpbGUgX3N5c2NvbmZpZ2RhdGEgYWZ0ZXIgbW9kaWZ5aW5nIGl0CisgICAgICAgIGNkICR7UEtHRH0KKyAgICAgICAgc3lzY29uZmlnZmlsZT1gZmluZCAuIC1uYW1lIF9zeXNjb25maWdkYXRhXyoucHlgCisgICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9weXRob24zLW5hdGl2ZS9weXRob24zIFwKKyAgICAgICAgICAgICAtYyAiZnJvbSBweV9jb21waWxlIGltcG9ydCBjb21waWxlOyBjb21waWxlKCckc3lzY29uZmlnZmlsZScpIgorICAgICAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vcHl0aG9uMy1uYXRpdmUvcHl0aG9uMyBcCisgICAgICAgICAgICAgLWMgImZyb20gcHlfY29tcGlsZSBpbXBvcnQgY29tcGlsZTsgY29tcGlsZSgnJHN5c2NvbmZpZ2ZpbGUnLCBvcHRpbWl6ZT0xKSIKKyAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3B5dGhvbjMtbmF0aXZlL3B5dGhvbjMgXAorICAgICAgICAgICAgIC1jICJmcm9tIHB5X2NvbXBpbGUgaW1wb3J0IGNvbXBpbGU7IGNvbXBpbGUoJyRzeXNjb25maWdmaWxlJywgb3B0aW1pemU9MikiCisgICAgICAgIGNkIC0KKworICAgICAgICBtdiAke1BLR0R9LyR7YmluZGlyfS9weXRob24ke1BZVEhPTl9CSU5BQkl9LWNvbmZpZyAke1BLR0R9LyR7YmluZGlyfS9weXRob24ke1BZVEhPTl9CSU5BQkl9LWNvbmZpZy0ke01VTFRJTElCX1NVRkZJWH0KKyAgICAgICAgCisgICAgICAgICNSZW1vdmUgdGhlIHVubmVlZGVkIGNvcHkgb2YgdGFyZ2V0IHN5c2NvbmZpZyBkYXRhCisgICAgICAgIHJtIC1yZiAke1BLR0R9LyR7bGliZGlyfS9weXRob24tc3lzY29uZmlnZGF0YQorfQorCisjIFdlIHdhbnQgYnl0ZWNvZGUgcHJlY29tcGlsZWQgLnB5IGZpbGVzICgucHljJ3MpIGJ5IGRlZmF1bHQKKyMgYnV0IHRoZSB1c2VyIG1heSBzZXQgaXQgb24gdGhlaXIgb3duIGNvbmYKK0lOQ0xVREVfUFlDUyA/PSAiMSIKKworcHl0aG9uKCl7CisgICAgaW1wb3J0IGNvbGxlY3Rpb25zLCBqc29uCisKKyAgICBmaWxlbmFtZSA9IG9zLnBhdGguam9pbihkLmdldFZhcignVEhJU0RJUicpLCAncHl0aG9uMycsICdweXRob24zLW1hbmlmZXN0Lmpzb24nKQorICAgICMgVGhpcyBweXRob24gY2hhbmdlcyB0aGUgZGF0YXN0b3JlIGJhc2VkIG9uIHRoZSBjb250ZW50cyBvZiBhIGZpbGUsIHNvIG1hcmsKKyAgICAjIHRoYXQgZGVwZW5kZW5jeS4KKyAgICBiYi5wYXJzZS5tYXJrX2RlcGVuZGVuY3koZCwgZmlsZW5hbWUpCisKKyAgICB3aXRoIG9wZW4oZmlsZW5hbWUpIGFzIG1hbmlmZXN0X2ZpbGU6CisgICAgICAgIG1hbmlmZXN0X3N0ciA9ICBtYW5pZmVzdF9maWxlLnJlYWQoKQorICAgICAgICBqc29uX3N0YXJ0ID0gbWFuaWZlc3Rfc3RyLmZpbmQoJyMgRU9DJykgKyA2CisgICAgICAgIG1hbmlmZXN0X2ZpbGUuc2Vlayhqc29uX3N0YXJ0KQorICAgICAgICBtYW5pZmVzdF9zdHIgPSBtYW5pZmVzdF9maWxlLnJlYWQoKQorICAgICAgICBweXRob25fbWFuaWZlc3QgPSBqc29uLmxvYWRzKG1hbmlmZXN0X3N0ciwgb2JqZWN0X3BhaXJzX2hvb2s9Y29sbGVjdGlvbnMuT3JkZXJlZERpY3QpCisKKyAgICAjIEZpcnN0IHNldCBSUFJPVklERVMgZm9yIC1uYXRpdmUgY2FzZQorICAgICMgSGFyZGNvZGVkIHNpbmNlIGl0IGNhbnQgYmUgcHl0aG9uMy1uYXRpdmUtZm9vLCBzaG91bGQgYmUgcHl0aG9uMy1mb28tbmF0aXZlCisgICAgcG4gPSAncHl0aG9uMycKKyAgICBycHJvdmlkZXMgPSBkLmdldFZhcignUlBST1ZJREVTJykuc3BsaXQoKQorCisgICAgZm9yIGtleSBpbiBweXRob25fbWFuaWZlc3Q6CisgICAgICAgIHB5cGFja2FnZSA9IHBuICsgJy0nICsga2V5ICsgJy1uYXRpdmUnCisgICAgICAgIGlmIHB5cGFja2FnZSBub3QgaW4gcnByb3ZpZGVzOgorICAgICAgICAgICAgICBycHJvdmlkZXMuYXBwZW5kKHB5cGFja2FnZSkKKworICAgIGQuc2V0VmFyKCdSUFJPVklERVNfY2xhc3MtbmF0aXZlJywgJyAnLmpvaW4ocnByb3ZpZGVzKSkKKworICAgICMgVGhlbiB3b3JrIG9uIHRoZSB0YXJnZXQKKyAgICBpbmNsdWRlX3B5Y3MgPSBkLmdldFZhcignSU5DTFVERV9QWUNTJykKKworICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKQorICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKKworICAgIG5ld3BhY2thZ2VzPVtdCisgICAgZm9yIGtleSBpbiBweXRob25fbWFuaWZlc3Q6CisgICAgICAgIHB5cGFja2FnZT0gcG4gKyAnLScgKyBrZXkKKworICAgICAgICBpZiBweXBhY2thZ2Ugbm90IGluIHBhY2thZ2VzOgorICAgICAgICAgICAgIyBXZSBuZWVkIHRvIHByZXBlbmQsIG90aGVyd2lzZSBweXRob24tbWlzYyBnZXRzIGV2ZXJ5dGhpbmcKKyAgICAgICAgICAgICMgc28gd2UgdXNlIGEgbmV3IHZhcmlhYmxlCisgICAgICAgICAgICBuZXdwYWNrYWdlcy5hcHBlbmQocHlwYWNrYWdlKQorCisgICAgICAgICMgIkJ1aWxkIiBweXRob24ncyBtYW5pZmVzdCBGSUxFUywgUkRFUEVORFMgYW5kIFNVTU1BUlkKKyAgICAgICAgZC5zZXRWYXIoJ0ZJTEVTXycgKyBweXBhY2thZ2UsICcnKQorICAgICAgICBmb3IgdmFsdWUgaW4gcHl0aG9uX21hbmlmZXN0W2tleV1bJ2ZpbGVzJ106CisgICAgICAgICAgICBkLmFwcGVuZFZhcignRklMRVNfJyArIHB5cGFja2FnZSwgJyAnICsgdmFsdWUpCisKKyAgICAgICAgIyBBZGQgY2FjaGVkIGZpbGVzCisgICAgICAgIGlmIGluY2x1ZGVfcHljcyA9PSAnMSc6CisgICAgICAgICAgICBmb3IgdmFsdWUgaW4gcHl0aG9uX21hbmlmZXN0W2tleV1bJ2NhY2hlZCddOgorICAgICAgICAgICAgICAgICAgICBkLmFwcGVuZFZhcignRklMRVNfJyArIHB5cGFja2FnZSwgJyAnICsgdmFsdWUpCisKKyAgICAgICAgZm9yIHZhbHVlIGluIHB5dGhvbl9tYW5pZmVzdFtrZXldWydyZGVwZW5kcyddOgorICAgICAgICAgICAgIyBNYWtlIGl0IHdvcmsgd2l0aCBvciB3aXRob3V0ICRQTgorICAgICAgICAgICAgaWYgJyR7UE59JyBpbiB2YWx1ZToKKyAgICAgICAgICAgICAgICB2YWx1ZT12YWx1ZS5zcGxpdCgnLScpWzFdCisgICAgICAgICAgICBkLmFwcGVuZFZhcignUkRFUEVORFNfJyArIHB5cGFja2FnZSwgJyAnICsgcG4gKyAnLScgKyB2YWx1ZSkKKyAgICAgICAgZC5zZXRWYXIoJ1NVTU1BUllfJyArIHB5cGFja2FnZSwgcHl0aG9uX21hbmlmZXN0W2tleV1bJ3N1bW1hcnknXSkKKworICAgICMgUHJlcGVuZGluZyBzbyB0byBhdm9pZCBweXRob24tbWlzYyBnZXR0aW5nIGV2ZXJ5dGhpbmcKKyAgICBwYWNrYWdlcyA9IG5ld3BhY2thZ2VzICsgcGFja2FnZXMKKyAgICBkLnNldFZhcignUEFDS0FHRVMnLCAnICcuam9pbihwYWNrYWdlcykpCisgICAgZC5zZXRWYXIoJ0FMTE9XX0VNUFRZXyR7UE59LW1vZHVsZXMnLCAnMScpCit9CisKKyMgRmlsZXMgbmVlZGVkIHRvIGNyZWF0ZSBhIG5ldyBtYW5pZmVzdAorCitkb19jcmVhdGVfbWFuaWZlc3QoKSB7CisgICAgIyBUaGlzIHRhc2sgc2hvdWxkIGJlIHJ1biB3aXRoIGV2ZXJ5IG5ldyByZWxlYXNlIG9mIFB5dGhvbi4KKyAgICAjIFdlIG11c3QgZW5zdXJlIHRoYXQgUEFDS0FHRUNPTkZJRyBlbmFibGVzIGV2ZXJ5dGhpbmcgd2hlbiBjcmVhdGluZworICAgICMgYSBuZXcgbWFuaWZlc3QsIHRoaXMgaXMgdG8gYmFzZSBvdXIgbmV3IG1hbmlmZXN0IG9uIGEgY29tcGxldGUKKyAgICAjIG5hdGl2ZSBweXRob24gYnVpbGQsIGNvbnRhaW5pbmcgYWxsIGRlcGVuZGVuY2llcywgb3RoZXJ3aXNlIHRoZSB0YXNrCisgICAgIyB3b250IGJlIGFibGUgdG8gZmluZCB0aGUgcmVxdWlyZWQgZmlsZXMuCisgICAgIyBlLmcuIEJlcmtlbGV5REIgaXMgYW4gb3B0aW9uYWwgYnVpbGQgZGVwZW5kZW5jeSBzbyBpdCBtYXkgb3IgbWF5IG5vdAorICAgICMgYmUgcHJlc2VudCwgd2UgbXVzdCBlbnN1cmUgaXQgaXMuCisKKyAgICBjZCAke1dPUktESVJ9CisgICAgIyBUaGlzIG5lZWRzIHRvIGJlIGV4ZWN1dGVkIGJ5IHB5dGhvbi1uYXRpdmUgYW5kIE5PVCBieSBIT1NUJ3MgcHl0aG9uCisgICAgbmF0aXZlcHl0aG9uMyBjcmVhdGVfbWFuaWZlc3QzLnB5ICR7UFlUSE9OX01BSk1JTn0KKyAgICBjcCBweXRob24zLW1hbmlmZXN0Lmpzb24ubmV3ICR7VEhJU0RJUn0vcHl0aG9uMy9weXRob24zLW1hbmlmZXN0Lmpzb24KK30KKworIyBiaXRiYWtlIHB5dGhvbiAtYyBjcmVhdGVfbWFuaWZlc3QKK2FkZHRhc2sgZG9fY3JlYXRlX21hbmlmZXN0CisKKyMgTWFrZSBzdXJlIHdlIGhhdmUgbmF0aXZlIHB5dGhvbiByZWFkeSB3aGVuIHdlIGNyZWF0ZSBhIG5ldyBtYW5pZmVzdAorZG9fY3JlYXRlX21hbmlmZXN0W2RlcGVuZHNdICs9ICIke1BOfTpkb19wcmVwYXJlX3JlY2lwZV9zeXNyb290IgorZG9fY3JlYXRlX21hbmlmZXN0W2RlcGVuZHNdICs9ICIke1BOfTpkb19wYXRjaCIKKworIyBtYW51YWwgZGVwZW5kZW5jeSBhZGRpdGlvbnMKK1JQUk9WSURFU18ke1BOfS1tb2R1bGVzID0gIiR7UE59IgorUlJFQ09NTUVORFNfJHtQTn0tY29yZV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBuYXRpdmVzZGstcHl0aG9uMy1tb2R1bGVzIgorUlJFQ09NTUVORFNfJHtQTn0tY3J5cHRfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgb3BlbnNzbCBjYS1jZXJ0aWZpY2F0ZXMiCitSUkVDT01NRU5EU18ke1BOfS1jcnlwdF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBvcGVuc3NsIGNhLWNlcnRpZmljYXRlcyIKKworRklMRVNfJHtQTn0tcHlkb2MgKz0gIiR7YmluZGlyfS9weWRvYyR7UFlUSE9OX01BSk1JTn0gJHtiaW5kaXJ9L3B5ZG9jMyIKK0ZJTEVTXyR7UE59LWlkbGUgKz0gIiR7YmluZGlyfS9pZGxlMyAke2JpbmRpcn0vaWRsZSR7UFlUSE9OX01BSk1JTn0iCisKKyMgcHJvdmlkZSBweXRob24tcHl2ZW52IGZyb20gcHl0aG9uMy12ZW52CitSUFJPVklERVNfJHtQTn0tdmVudiArPSAicHl0aG9uMy1weXZlbnYiCisKKyMgcGFja2FnZSBsaWJweXRob24zCitQQUNLQUdFUyA9KyAibGlicHl0aG9uMyBsaWJweXRob24zLXN0YXRpY2RldiIKK0ZJTEVTX2xpYnB5dGhvbjMgPSAiJHtsaWJkaXJ9L2xpYnB5dGhvbiouc28uKiIKK0ZJTEVTX2xpYnB5dGhvbjMtc3RhdGljZGV2ICs9ICIke3ByZWZpeH0vbGliL3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnLSR7UFlUSE9OX0JJTkFCSX0tKi9saWJweXRob24ke1BZVEhPTl9CSU5BQkl9LmEiCitJTlNBTkVfU0tJUF8ke1BOfS1kZXYgKz0gImRldi1lbGYiCisKKyMgY2F0Y2ggYWxsIHRoZSByZXN0ICh1bnNvcnRlZCkKK1BBQ0tBR0VTICs9ICIke1BOfS1taXNjIgorUkRFUEVORFNfJHtQTn0tbWlzYyArPSAicHl0aG9uMy1jb3JlIHB5dGhvbjMtZW1haWwgcHl0aG9uMy1jb2RlY3MiCitSREVQRU5EU18ke1BOfS1tb2R1bGVzX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIHB5dGhvbjMtbWlzYyIKK1JERVBFTkRTXyR7UE59LW1vZHVsZXNfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgcHl0aG9uMy1taXNjIgorRklMRVNfJHtQTn0tbWlzYyA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfSAke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZCIKKworIyBjYXRjaCBtYW5wYWdlCitQQUNLQUdFUyArPSAiJHtQTn0tbWFuIgorRklMRVNfJHtQTn0tbWFuID0gIiR7ZGF0YWRpcn0vbWFuIgorCitSREVQRU5EU18ke1BOfS1wdGVzdCA9ICIke1BOfS1tb2R1bGVzICR7UE59LXRlc3RzIHVuemlwIGJ6aXAyIGxpYmdjYyB0emRhdGEtZXVyb3BlIGNvcmV1dGlscyIKK1JERVBFTkRTXyR7UE59LXRraW50ZXIgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3RrJywgJ3RrJywgJycsIGQpfSIKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob25fMi43LjE1LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbl8yLjcuMTUuYmIKaW5kZXggYzIyYzc2Mi4uYzQ1OWFmMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbl8yLjcuMTUuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbl8yLjcuMTUuYmIKQEAgLTIxLDcgKzIxLDcgQEAKICAgZmlsZTovL3NldHVwdHdlYWtzLnBhdGNoIFwKICAgZmlsZTovL2NoZWNrLWlmLXRhcmdldC1pcy02NGItbm90LWhvc3QucGF0Y2ggXAogICBmaWxlOi8vc2VhcmNoX2RiX2hfaW5faW5jX2RpcnNfYW5kX2F2b2lkX3dhcm5pbmcucGF0Y2ggXAotICBmaWxlOi8vYXZvaWRfd2FybmluZ19hYm91dF90a2ludGVyLnBhdGNoIFwKKyAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndGsnLCAnJywgJ2ZpbGU6Ly9hdm9pZF93YXJuaW5nX2Fib3V0X3RraW50ZXIucGF0Y2gnLCBkKX0gXAogICBmaWxlOi8vYXZvaWRfd2FybmluZ19mb3Jfc3Vub3Nfc3BlY2lmaWNfbW9kdWxlLnBhdGNoIFwKICAgZmlsZTovL3B5dGhvbi0yLjcuMy1yZW1vdmUtYnNkYi1ycGF0aC5wYXRjaCBcCiAgIGZpbGU6Ly9ydW4tcHRlc3QgXApAQCAtMzMsNiArMzMsNyBAQAogICBmaWxlOi8vZmxvYXQtZW5kaWFuLnBhdGNoIFwKICAgZmlsZTovLzAwMDEtY2xvc2VzLWJwby0zNDU0MC1Db252ZXJ0LXNodXRpbC5fY2FsbF9leHRlcm5hbF96aXAtdC5wYXRjaCBcCiAgIGZpbGU6Ly8wMDAxLTIuNy1icG8tMzQ2MjMtVXNlLVhNTF9TZXRIYXNoU2FsdC1pbi1fZWxlbWVudHRyZWUtR0gucGF0Y2ggXAorICBmaWxlOi8vMDAwMS1weXRob24yLXVzZS1jY19iYXNlbmFtZS10by1yZXBsYWNlLUNDLWZvci1jaGVja2luZy1jLnBhdGNoIFwKICIKIAogUyA9ICIke1dPUktESVJ9L1B5dGhvbi0ke1BWfSIKQEAgLTQxLDEwICs0MiwxMSBAQAogCiBDT05GSUdVUkVPUFRTICs9ICIgLS13aXRoLXN5c3RlbS1mZmkgIgogCi1FWFRSQV9PRUNPTkYgKz0gImFjX2N2X2ZpbGVfX2Rldl9wdG14PXllcyBhY19jdl9maWxlX19kZXZfcHRjPW5vIgorRVhUUkFfT0VDT05GICs9ICJhY19jdl9maWxlX19kZXZfcHRteD15ZXMgYWNfY3ZfZmlsZV9fZGV2X3B0Yz1ubyBhY19jdl93b3JraW5nX3R6c2V0PXllcyIKIAogUEFDS0FHRUNPTkZJRyA/Pz0gImJkYiIKIFBBQ0tBR0VDT05GSUdbYmRiXSA9ICIsLGRiIgorUEFDS0FHRUNPTkZJR1t0a10gPSAiLCx0ayIKIAogZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKIAlybSAtZiAke1N9L01ha2VmaWxlLm9yaWcKQEAgLTEyOSw2ICsxMzEsOSBAQAogICAgIGlmIFsgLXogIiR7QGJiLnV0aWxzLmZpbHRlcignUEFDS0FHRUNPTkZJRycsICdiZGInLCBkKX0iIF07IHRoZW4KICAgICAgICAgcm0gLXJmICR7RH0vJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vYnNkZGIKICAgICBmaQorCisgICAgIyBQeXRob24gMy54IHZlcnNpb24gb2YgMnRvMyBpcyBub3cgdGhlIGRlZmF1bHQKKyAgICBtdiAke0R9LyR7YmluZGlyfS8ydG8zICR7RH0vJHtiaW5kaXJ9LzJ0bzMtJHtQWVRIT05fTUFKTUlOfQogfQogCiBkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgKCkgewpAQCAtMTcxLDggKzE3Niw4IEBACiBSREVQRU5EU18ke1BOfS1tb2R1bGVzICs9ICIke1BOfS1taXNjIgogCiAjIHB0ZXN0Ci1SREVQRU5EU18ke1BOfS1wdGVzdCA9ICIke1BOfS1tb2R1bGVzICR7UE59LXRlc3RzIHVuemlwIgotCitSREVQRU5EU18ke1BOfS1wdGVzdCA9ICIke1BOfS1tb2R1bGVzICR7UE59LXRlc3RzIHVuemlwIHR6ZGF0YS1ldXJvcGUgY29yZXV0aWxzIgorUkRFUEVORFNfJHtQTn0tdGtpbnRlciArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndGsnLCAndGsnLCAnJywgZCl9IgogIyBjYXRjaCBtYW5wYWdlCiBQQUNLQUdFUyArPSAiJHtQTn0tbWFuIgogRklMRVNfJHtQTn0tbWFuID0gIiR7ZGF0YWRpcn0vbWFuIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LWhlbHBlci1uYXRpdmVfMS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LWhlbHBlci1uYXRpdmVfMS4wLmJiCmluZGV4IGQ4NmIxNTUuLmQ5ZDlkYTBmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtaGVscGVyLW5hdGl2ZV8xLjAuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LWhlbHBlci1uYXRpdmVfMS4wLmJiCkBAIC0xLDYgKzEsNiBAQAogU1VNTUFSWSA9ICJIZWxwZXIgdXRpbGl0aWVzIG5lZWRlZCBieSB0aGUgcnVucWVtdSBzY3JpcHQiCiBMSUNFTlNFID0gIkdQTHYyIgotUkRFUEVORFNfJHtQTn0gPSAicWVtdS1uYXRpdmUiCitSREVQRU5EU18ke1BOfSA9ICJxZW11LXN5c3RlbS1uYXRpdmUiCiBQUiA9ICJyMSIKIAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtXT1JLRElSfS90dW5jdGwuYztlbmRsaW5lPTQ7bWQ1PWZmM2EwOTk5NmJjNWZmZjZiYzVkNGUwYjRjMjhmOTk5IgpAQCAtMjAsNSArMjAsNSBAQAogCWluc3RhbGwgdHVuY3RsICR7RH0ke2JpbmRpcn0vCiB9CiAKLURFUEVORFMgKz0gInFlbXUtbmF0aXZlIgorREVQRU5EUyArPSAicWVtdS1zeXN0ZW0tbmF0aXZlIgogYWRkdGFzayBhZGR0b19yZWNpcGVfc3lzcm9vdCBhZnRlciBkb19wb3B1bGF0ZV9zeXNyb290IGJlZm9yZSBkb19idWlsZApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LW5hdGl2ZS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtbmF0aXZlLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzczYWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LW5hdGl2ZS5pbmMKQEAgLTAsMCArMSwxNyBAQAoraW5oZXJpdCBuYXRpdmUKKworcmVxdWlyZSBxZW11LmluYworCitTUkNfVVJJX2FwcGVuZCA9ICIgXAorICAgICAgICAgICAgZmlsZTovLzAwMTItZml4LWxpYmNhcC1oZWFkZXItaXNzdWUtb24tc29tZS1kaXN0cm8ucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMTMtY3B1cy5jLUFkZC1lcnJvci1tZXNzYWdlcy13aGVuLXFlbWlfY3B1X2tpY2tfdGhyZWFkLS5wYXRjaCBcCisgICAgICAgICAgICAiCitFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLXB5dGhvbj1weXRob24yLjciCisKK0VYVFJBX09FTUFLRV9hcHBlbmQgPSAiIExEPScke0xEfScgQVI9JyR7QVJ9JyBPQkpDT1BZPScke09CSkNPUFl9JyBMREZMQUdTPScke0xERkxBR1N9JyIKKworTERGTEFHU19hcHBlbmQgPSAiIC1mdXNlLWxkPWJmZCIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2d0aysnLCAnbWFrZV9xZW11X3dyYXBwZXInLCAnJywgZCl9Cit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtbmF0aXZlXzMuMS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LW5hdGl2ZV8zLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOGFjZmY4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LW5hdGl2ZV8zLjEuMC5iYgpAQCAtMCwwICsxLDkgQEAKK0JQTiA9ICJxZW11IgorCitERVBFTkRTID0gImdsaWItMi4wLW5hdGl2ZSB6bGliLW5hdGl2ZSIKKworcmVxdWlyZSBxZW11LW5hdGl2ZS5pbmMKKworRVhUUkFfT0VDT05GX2FwcGVuZCA9ICIgLS10YXJnZXQtbGlzdD0ke0BnZXRfcWVtdV91c2VybW9kZV90YXJnZXRfbGlzdChkKX0gLS1kaXNhYmxlLXRvb2xzIC0tZGlzYWJsZS1ibG9icyAtLWRpc2FibGUtZ3Vlc3QtYWdlbnQiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtc3lzdGVtLW5hdGl2ZV8zLjEuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS1zeXN0ZW0tbmF0aXZlXzMuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViZjUyOGIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtc3lzdGVtLW5hdGl2ZV8zLjEuMC5iYgpAQCAtMCwwICsxLDIzIEBACitCUE4gPSAicWVtdSIKKworcmVxdWlyZSBxZW11LW5hdGl2ZS5pbmMKKworIyBBcyBzb21lIG9mIHRoZSBmaWxlcyBpbnN0YWxsZWQgYnkgcWVtdS1uYXRpdmUgYW5kIHFlbXUtc3lzdGVtLW5hdGl2ZSAKKyMgYXJlIHRoZSBzYW1lLCB3ZSBkZXBlbmQgb24gcWVtdS1uYXRpdmUgdG8gZ2V0IHRoZSBmdWxsIGluc3RhbGxhdGlvbiBzZXQKKyMgYW5kIGF2b2lkIGZpbGUgY2xhc2hlcworREVQRU5EUyA9ICJnbGliLTIuMC1uYXRpdmUgemxpYi1uYXRpdmUgcGl4bWFuLW5hdGl2ZSBxZW11LW5hdGl2ZSIKKworRVhUUkFfT0VDT05GX2FwcGVuZCA9ICIgLS10YXJnZXQtbGlzdD0ke0BnZXRfcWVtdV9zeXN0ZW1fdGFyZ2V0X2xpc3QoZCl9IgorCitQQUNLQUdFQ09ORklHID8/PSAiZmR0IGFsc2Ega3ZtIgorCisjIEhhbmRsZSBkaXN0cm9zIHN1Y2ggYXMgQ2VudE9TIDUgMzItYml0IHRoYXQgZG8gbm90IGhhdmUga3ZtIHN1cHBvcnQKK1BBQ0tBR0VDT05GSUdfcmVtb3ZlID0gIiR7QCdrdm0nIGlmIG5vdCBvcy5wYXRoLmV4aXN0cygnL3Vzci9pbmNsdWRlL2xpbnV4L2t2bS5oJykgZWxzZSAnJ30iCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLURtIDA3NTUgJHtXT1JLRElSfS9wb3dlcnBjX3JvbS5iaW4gJHtEfSR7ZGF0YWRpcn0vcWVtdQorCisgICAgIyBUaGUgZm9sbG93aW5nIGlzIGFsc28gaW5zdGFsbGVkIGJ5IHFlbXUtbmF0aXZlCisgICAgcm0gLWYgJHtEfSR7ZGF0YWRpcn0vcWVtdS90cmFjZS1ldmVudHMtYWxsCisgICAgcm0gLXJmICR7RH0ke2RhdGFkaXJ9L3FlbXUva2V5bWFwcworfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LXRhcmdldHMuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LXRhcmdldHMuaW5jCmluZGV4IDgxMDQwMWQuLjU1MGQ2ZjAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS10YXJnZXRzLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtdGFyZ2V0cy5pbmMKQEAgLTEsNiArMSw3IEBACi0jIHBvc3NpYmxlIGFyY2ggdmFsdWVzIGFyZSBhcm0gYWFyY2g2NCBtaXBzIG1pcHNlbCBtaXBzNjQgbWlwczY0ZWwgcHBjIHBwYzY0IHBwYzY0YWJpMzIKLSMgcHBjZW1iIGFybWViIGFscGhhIHNwYXJjMzJwbHVzIGkzODYgeDg2XzY0IGNyaXMgbTY4ayBtaWNyb2JsYXplIHNwYXJjIHNwYXJjMzIKLSMgc3BhcmMzMnBsdXMKKyMgcG9zc2libGUgYXJjaCB2YWx1ZXMgYXJlOgorIyAgICBhYXJjaDY0IGFybSBhcm1lYiBhbHBoYSBjcmlzIGkzODYgeDg2XzY0IG02OGsgbWljcm9ibGF6ZQorIyAgICBtaXBzIG1pcHNlbCBtaXBzNjQgbWlwczY0ZWwgcHBjIHBwYzY0IHBwYzY0YWJpMzIgcHBjZW1iCisjICAgIHJpc2N2MzIgcmlzY3Y2NCBzcGFyYyBzcGFyYzMyIHNwYXJjMzJwbHVzCiAKIGRlZiBnZXRfcWVtdV90YXJnZXRfbGlzdChkKToKICAgICBpbXBvcnQgYmIKQEAgLTIwLDMgKzIxLDggQEAKICAgICAgICAgcmV0dXJuIHNvZnRtbXVvbmx5ICsgJycuam9pbihbYXJjaCArICItc29mdG1tdSIgKyAiLCIgZm9yIGFyY2ggaW4gYXJjaHNdKS5yc3RyaXAoJywnKQogICAgIHJldHVybiBzb2Z0bW11b25seSArIGxpbnV4dXNlcm9ubHkgKyAnJy5qb2luKFthcmNoICsgIi1saW51eC11c2VyIiArICIsIiArIGFyY2ggKyAiLXNvZnRtbXUiICsgIiwiIGZvciBhcmNoIGluIGFyY2hzXSkucnN0cmlwKCcsJykKIAorZGVmIGdldF9xZW11X3VzZXJtb2RlX3RhcmdldF9saXN0KGQpOgorICAgIHJldHVybiAiLCIuam9pbihmaWx0ZXIobGFtYmRhIGk6ICItbGludXgtdXNlciIgaW4gaSwgZ2V0X3FlbXVfdGFyZ2V0X2xpc3QoZCkuc3BsaXQoJywnKSkpCisKK2RlZiBnZXRfcWVtdV9zeXN0ZW1fdGFyZ2V0X2xpc3QoZCk6CisgICAgcmV0dXJuICIsIi5qb2luKGZpbHRlcihsYW1iZGEgaTogIi1saW51eC11c2VyIiBub3QgaW4gaSwgZ2V0X3FlbXVfdGFyZ2V0X2xpc3QoZCkuc3BsaXQoJywnKSkpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LmluYwppbmRleCBiMDVjMWNlLi5lNTAzYWE4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS5pbmMKQEAgLTEsMTIgKzEsNjYgQEAKIFNVTU1BUlkgPSAiRmFzdCBvcGVuIHNvdXJjZSBwcm9jZXNzb3IgZW11bGF0b3IiCiBIT01FUEFHRSA9ICJodHRwOi8vcWVtdS5vcmciCiBMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCi1ERVBFTkRTID0gImdsaWItMi4wIHpsaWIgcGl4bWFuIgotUkRFUEVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ICs9ICJiYXNoIgorCitSREVQRU5EU18ke1BOfS1wdGVzdCA9ICJiYXNoIG1ha2UiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQ0MWMyOGQyY2Y4NmUxNWEzN2ZhNDdlMTVhNzJmYmFjIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO2VuZGxpbmU9MjQ7bWQ1PWMwNGRlZjdhZTM4ODUwZTdkM2VmNTQ4NTg4MTU5OTEzIgorCitTUkNfVVJJID0gImh0dHBzOi8vZG93bmxvYWQucWVtdS5vcmcvJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9wb3dlcnBjX3JvbS5iaW4gXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1zZGwuYy1hbGxvdy11c2VyLXRvLWRpc2FibGUtcG9pbnRlci1ncmFicy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLXFlbXUtQWRkLW1pc3Npbmctd2Fjb20tSElELWRlc2NyaXB0b3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1BZGQtc3VicGFja2FnZS1wdGVzdC13aGljaC1ydW5zLWFsbC11bml0LXRlc3QtY2FzZXMtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LXFlbXUtQWRkLWFkZGl0aW9uLWVudmlyb25tZW50LXNwYWNlLXRvLWJvb3QtbG9hZGVyLXEucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1xZW11LWRpc2FibGUtVmFsZ3JpbmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1xZW11LUxpbWl0LXBhdGhzLXNlYXJjaGVkLWR1cmluZy11c2VyLW1vZGUtZW11bGF0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDctcWVtdS1uYXRpdmUtc2V0LWxkLmJmZC1maXgtY2ZsYWdzLWFuZC1zZXQtc29tZS1lbnZpci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA4LWNoYXJkZXYtY29ubmVjdC1zb2NrZXQtdG8tYS1zcGF3bmVkLWNvbW1hbmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOS1hcGljLWZpeHVwLWZhbGx0aHJvdWdoLXRvLVBJQy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDEwLWxpbnV4LXVzZXItRml4LXdlYmtpdGd0ay1oYW5ncy1vbi0zMi1iaXQteDg2LXRhcmdldC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDExLVJldmVydC1saW51eC11c2VyLWZpeC1tbWFwLW11bm1hcC1tcHJvdGVjdC1tcmVtYXAtc2gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtYS1taXNzaW5nLVgxMS1pbmNsdWRlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZWdsLWhlYWRsZXNzLWFkZC1lZ2xfY3JlYXRlX2NvbnRleHQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNC1maXgtQ1ZFLTIwMTgtMTY4NzIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNS1maXgtQ1ZFLTIwMTgtMjAxMjQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNi1maXgtQ1ZFLTIwMTgtMjAxMjUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNy1maXgtQ1ZFLTIwMTgtMjAxMjYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxOC1maXgtQ1ZFLTIwMTgtMjAxOTEucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxOS1maXgtQ1ZFLTIwMTgtMjAyMTYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTktMzgxMi5wYXRjaCBcCisgICAgICAgICAgICIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInFlbXUtKD9QPHB2ZXI+XGQrKFwuXGQrKSspXC50YXIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmYjY4N2NlMGIwMmQzYmY0MzI3ZTM2ZDNiOTk0MjdhOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2YTA1MDhkZjA3OWEwYTMzYzI0ODdjYTkzNmE1NmMxMjEyMmYxMDViOGE5NmE0NDM3NDcwNGJlZjZjNjlhYmZjIgorCitDT01QQVRJQkxFX0hPU1RfbWlwc2FyY2huMzIgPSAibnVsbCIKK0NPTVBBVElCTEVfSE9TVF9taXBzYXJjaG42NCA9ICJudWxsIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIFByZXZlbnQgUUEgd2FybmluZ3MgYWJvdXQgaW5zdGFsbGVkICR7bG9jYWxzdGF0ZWRpcn0vcnVuCisgICAgaWYgWyAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4gXTsgdGhlbiBybWRpciAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW47IGZpCit9CisKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisJbWFrZSBidWlsZHRlc3QtVEVTVFMKK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKwljcCAtckwgJHtCfS90ZXN0cyAke0R9JHtQVEVTVF9QQVRIfQorCWZpbmQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMgLXR5cGUgZiAtbmFtZSAiKi5bU3NoY29kXSIgfCB4YXJncyAtaSBybSAtcmYge30KKworCWNwICR7U30vdGVzdHMvTWFrZWZpbGUuaW5jbHVkZSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cworCSMgRG9uJ3QgY2hlY2sgdGhlIGZpbGUgZ2VucmVhdGVkIGJ5IGNvbmZpZ3VyZQorCXNlZCAtaSAtZSAnL3dpbGRjYXJkIGNvbmZpZy1ob3N0Lm1hay9kJyBcCisJICAgICAgIC1lICckIHsvZW5kaWYvZH0nICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL01ha2VmaWxlLmluY2x1ZGUKK30KKwogCiByZXF1aXJlIHFlbXUtdGFyZ2V0cy5pbmMKLWluaGVyaXQgcGtnY29uZmlnIGJsdWV0b290aAotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgoraW5oZXJpdCBwa2djb25maWcgYmx1ZXRvb3RoIHB0ZXN0CiAKICMgUUVNVV9UQVJHRVRTIGlzIG92ZXJyaWRhYmxlIHZhcmlhYmxlCiBRRU1VX1RBUkdFVFMgPz0gImFybSBhYXJjaDY0IGkzODYgbWlwcyBtaXBzZWwgbWlwczY0IG1pcHM2NGVsIHBwYyByaXNjdjMyIHJpc2N2NjQgc2g0IHg4Nl82NCIKQEAgLTI1LDE1ICs3OSw5IEBACiAgICAgLS13aXRoLWNvbmZzdWZmaXg9LyR7QlBOfSBcCiAgICAgLS1kaXNhYmxlLXN0cmlwIFwKICAgICAtLWRpc2FibGUtd2Vycm9yIFwKLSAgICAtLXRhcmdldC1saXN0PSR7QGdldF9xZW11X3RhcmdldF9saXN0KGQpfSBcCiAgICAgLS1leHRyYS1jZmxhZ3M9JyR7Q0ZMQUdTfScgXAogICAgICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30gXAogICAgICIKLUVYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtLXB5dGhvbj1weXRob24yLjciCi0KLUVYVFJBX09FTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBMRD0nJHtMRH0nIEFSPScke0FSfScgT0JKQ09QWT0nJHtPQkpDT1BZfScgTERGTEFHUz0nJHtMREZMQUdTfSciCi0KLUxERkxBR1NfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLWZ1c2UtbGQ9YmZkIgogCiBleHBvcnQgTElCVE9PTD0iJHtIT1NUX1NZU30tbGlidG9vbCIKIApAQCAtNzAsMTkgKzExOCwyMCBAQAogfQogIyBFTkQgb2YgcWVtdS1taXBzIHdvcmthcm91bmQKIAotUEFDS0FHRUNPTkZJRyA/Pz0gIiBcCi0gICAgZmR0IHNkbCBrdm0gXAotICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2Fsc2EgeGVuJywgZCl9IFwKLSIKLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID8/PSAiZmR0IGFsc2Ega3ZtIgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmVzZGsgPz89ICJmZHQgc2RsIGt2bSIKK21ha2VfcWVtdV93cmFwcGVyKCkgeworICAgICAgICBnZGtfcGl4YnVmX21vZHVsZV9maWxlPWBwa2ctY29uZmlnIC0tdmFyaWFibGU9Z2RrX3BpeGJ1Zl9jYWNoZV9maWxlIGdkay1waXhidWYtMi4wYAogCi0jIEhhbmRsZSBkaXN0cm9zIHN1Y2ggYXMgQ2VudE9TIDUgMzItYml0IHRoYXQgZG8gbm90IGhhdmUga3ZtIHN1cHBvcnQKLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlX3JlbW92ZSA9ICIke0Ana3ZtJyBpZiBub3Qgb3MucGF0aC5leGlzdHMoJy91c3IvaW5jbHVkZS9saW51eC9rdm0uaCcpIGVsc2UgJyd9IgorICAgICAgICBmb3IgdG9vbCBpbiBgbHMgJHtEfSR7YmluZGlyfS9xZW11LXN5c3RlbS0qYDsgZG8KKyAgICAgICAgICAgICAgICBjcmVhdGVfd3JhcHBlciAkdG9vbCBcCisgICAgICAgICAgICAgICAgICAgICAgICBHREtfUElYQlVGX01PRFVMRV9GSUxFPSRnZGtfcGl4YnVmX21vZHVsZV9maWxlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIEZPTlRDT05GSUdfUEFUSD0vZXRjL2ZvbnRzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIEdUS19USEVNRT1BZHdhaXRhCisgICAgICAgIGRvbmUKK30KIAotIyBEaXNhYmxlIGt2bSBvbiB0YXJnZXRzIHRoYXQgZG8gbm90IHN1cHBvcnQgaXQKLVBBQ0tBR0VDT05GSUdfcmVtb3ZlX2RhcndpbiA9ICJrdm0iCi1QQUNLQUdFQ09ORklHX3JlbW92ZV9taW5ndzMyID0gImt2bSIKKyMgRGlzYWJsZSBrdm0vdmlyZ2wvbWVzYSBvbiB0YXJnZXRzIHRoYXQgZG8gbm90IHN1cHBvcnQgaXQKK1BBQ0tBR0VDT05GSUdfcmVtb3ZlX2RhcndpbiA9ICJrdm0gdmlyZ2xyZW5kZXJlciBnbHggZ3RrKyIKK1BBQ0tBR0VDT05GSUdfcmVtb3ZlX21pbmd3MzIgPSAia3ZtIHZpcmdscmVuZGVyZXIgZ2x4IGd0aysiCiAKIFBBQ0tBR0VDT05GSUdbc2RsXSA9ICItLWVuYWJsZS1zZGwgLS13aXRoLXNkbGFiaT0yLjAsLS1kaXNhYmxlLXNkbCxsaWJzZGwyIgogUEFDS0FHRUNPTkZJR1t2aXJ0ZnNdID0gIi0tZW5hYmxlLXZpcnRmcyAtLWVuYWJsZS1hdHRyLC0tZGlzYWJsZS12aXJ0ZnMsbGliY2FwIGF0dHIsIgpAQCAtOTUsNyArMTQ0LDcgQEAKIFBBQ0tBR0VDT05GSUdbbGliY3VybF0gPSAiLS1lbmFibGUtY3VybCwtLWRpc2FibGUtY3VybCxsaWJjdXJsLCIKIFBBQ0tBR0VDT05GSUdbbnNzXSA9ICItLWVuYWJsZS1zbWFydGNhcmQsLS1kaXNhYmxlLXNtYXJ0Y2FyZCxuc3MsIgogUEFDS0FHRUNPTkZJR1tjdXJzZXNdID0gIi0tZW5hYmxlLWN1cnNlcywtLWRpc2FibGUtY3Vyc2VzLG5jdXJzZXMsIgotUEFDS0FHRUNPTkZJR1tndGsrXSA9ICItLWVuYWJsZS1ndGsgLS13aXRoLWd0a2FiaT0zLjAgLS1lbmFibGUtdnRlLC0tZGlzYWJsZS1ndGsgLS1kaXNhYmxlLXZ0ZSxndGsrMyB2dGUiCitQQUNLQUdFQ09ORklHW2d0aytdID0gIi0tZW5hYmxlLWd0ayAtLWVuYWJsZS12dGUsLS1kaXNhYmxlLWd0ayAtLWRpc2FibGUtdnRlLGd0ayszIHZ0ZSBnZXR0ZXh0LW5hdGl2ZSIKIFBBQ0tBR0VDT05GSUdbbGliY2FwLW5nXSA9ICItLWVuYWJsZS1jYXAtbmcsLS1kaXNhYmxlLWNhcC1uZyxsaWJjYXAtbmcsIgogUEFDS0FHRUNPTkZJR1tzc2gyXSA9ICItLWVuYWJsZS1saWJzc2gyLC0tZGlzYWJsZS1saWJzc2gyLGxpYnNzaDIsIgogUEFDS0FHRUNPTkZJR1tnY3J5cHRdID0gIi0tZW5hYmxlLWdjcnlwdCwtLWRpc2FibGUtZ2NyeXB0LGxpYmdjcnlwdCwiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMS1BZGQtYS1taXNzaW5nLVgxMS1pbmNsdWRlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDEtQWRkLWEtbWlzc2luZy1YMTEtaW5jbHVkZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTI5MzZlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDEtQWRkLWEtbWlzc2luZy1YMTEtaW5jbHVkZS5wYXRjaApAQCAtMCwwICsxLDY1IEBACitGcm9tIGViMWEyMTVhNGY4NmRkZTQ0OTNjM2UyMmFkOWY2ZDY5ODg1MDkxNWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjAgRGVjIDIwMTggMTg6MDY6MjkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gZWdsLWhlbHBlcnMuaDogZG8gbm90IGRlcGVuZCBvbiBYMTEgV2luZG93IHR5cGUsIHVzZQorIEVHTE5hdGl2ZVdpbmRvd1R5cGUKKworSXQgd2FzIGFzc3VtZWQgdGhhdCBtZXNhIHByb3ZpZGVzIHRoZSBuZWNlc3NhcnkgWDExIGluY2x1ZGVzLAorYnV0IGl0IGlzIG5vdCBhbHdheXMgdGhlIGNhc2UsIGFzIGl0IGNhbiBiZSBjb25maWd1cmVkIHdpdGhvdXQgeDExIHN1cHBvcnQuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwOi8vbGlzdHMubm9uZ251Lm9yZy9hcmNoaXZlL2h0bWwvcWVtdS1kZXZlbC8yMDE5LTAxL21zZzAzNzA2Lmh0bWxdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworLS0tCisgaW5jbHVkZS91aS9lZ2wtaGVscGVycy5oIHwgMiArLQorIHVpL2VnbC1oZWxwZXJzLmMgICAgICAgICB8IDQgKystLQorIHVpL2d0ay1lZ2wuYyAgICAgICAgICAgICB8IDIgKy0KKyAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWkvZWdsLWhlbHBlcnMuaCBiL2luY2x1ZGUvdWkvZWdsLWhlbHBlcnMuaAoraW5kZXggOWRiNzI5M2IuLjNmYzY1NmE3IDEwMDY0NAorLS0tIGEvaW5jbHVkZS91aS9lZ2wtaGVscGVycy5oCisrKysgYi9pbmNsdWRlL3VpL2VnbC1oZWxwZXJzLmgKK0BAIC00Myw3ICs0Myw3IEBAIHZvaWQgZWdsX2RtYWJ1Zl9yZWxlYXNlX3RleHR1cmUoUWVtdURtYUJ1ZiAqZG1hYnVmKTsKKyAKKyAjZW5kaWYKKyAKKy1FR0xTdXJmYWNlIHFlbXVfZWdsX2luaXRfc3VyZmFjZV94MTEoRUdMQ29udGV4dCBlY3R4LCBXaW5kb3cgd2luKTsKKytFR0xTdXJmYWNlIHFlbXVfZWdsX2luaXRfc3VyZmFjZV94MTEoRUdMQ29udGV4dCBlY3R4LCBFR0xOYXRpdmVXaW5kb3dUeXBlIHdpbik7CisgCisgaW50IHFlbXVfZWdsX2luaXRfZHB5X3gxMShFR0xOYXRpdmVEaXNwbGF5VHlwZSBkcHksIERpc3BsYXlHTE1vZGUgbW9kZSk7CisgaW50IHFlbXVfZWdsX2luaXRfZHB5X21lc2EoRUdMTmF0aXZlRGlzcGxheVR5cGUgZHB5LCBEaXNwbGF5R0xNb2RlIG1vZGUpOworZGlmZiAtLWdpdCBhL3VpL2VnbC1oZWxwZXJzLmMgYi91aS9lZ2wtaGVscGVycy5jCitpbmRleCA0ZjQ3NTE0Mi4uNWUxMTViM2YgMTAwNjQ0CistLS0gYS91aS9lZ2wtaGVscGVycy5jCisrKysgYi91aS9lZ2wtaGVscGVycy5jCitAQCAtMjczLDE0ICsyNzMsMTQgQEAgdm9pZCBlZ2xfZG1hYnVmX3JlbGVhc2VfdGV4dHVyZShRZW11RG1hQnVmICpkbWFidWYpCisgCisgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworIAorLUVHTFN1cmZhY2UgcWVtdV9lZ2xfaW5pdF9zdXJmYWNlX3gxMShFR0xDb250ZXh0IGVjdHgsIFdpbmRvdyB3aW4pCisrRUdMU3VyZmFjZSBxZW11X2VnbF9pbml0X3N1cmZhY2VfeDExKEVHTENvbnRleHQgZWN0eCwgRUdMTmF0aXZlV2luZG93VHlwZSB3aW4pCisgeworICAgICBFR0xTdXJmYWNlIGVzdXJmYWNlOworICAgICBFR0xCb29sZWFuIGI7CisgCisgICAgIGVzdXJmYWNlID0gZWdsQ3JlYXRlV2luZG93U3VyZmFjZShxZW11X2VnbF9kaXNwbGF5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcWVtdV9lZ2xfY29uZmlnLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEVHTE5hdGl2ZVdpbmRvd1R5cGUpd2luLCBOVUxMKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbiwgTlVMTCk7CisgICAgIGlmIChlc3VyZmFjZSA9PSBFR0xfTk9fU1VSRkFDRSkgeworICAgICAgICAgZXJyb3JfcmVwb3J0KCJlZ2w6IGVnbENyZWF0ZVdpbmRvd1N1cmZhY2UgZmFpbGVkIik7CisgICAgICAgICByZXR1cm4gTlVMTDsKK2RpZmYgLS1naXQgYS91aS9ndGstZWdsLmMgYi91aS9ndGstZWdsLmMKK2luZGV4IDU0MjBjMjM2Li4xZjk0MTE2MiAxMDA2NDQKKy0tLSBhL3VpL2d0ay1lZ2wuYworKysrIGIvdWkvZ3RrLWVnbC5jCitAQCAtNTQsNyArNTQsNyBAQCB2b2lkIGdkX2VnbF9pbml0KFZpcnR1YWxDb25zb2xlICp2YykKKyAgICAgfQorIAorICAgICB2Yy0+Z2Z4LmVjdHggPSBxZW11X2VnbF9pbml0X2N0eCgpOworLSAgICB2Yy0+Z2Z4LmVzdXJmYWNlID0gcWVtdV9lZ2xfaW5pdF9zdXJmYWNlX3gxMSh2Yy0+Z2Z4LmVjdHgsIHgxMV93aW5kb3cpOworKyAgICB2Yy0+Z2Z4LmVzdXJmYWNlID0gcWVtdV9lZ2xfaW5pdF9zdXJmYWNlX3gxMSh2Yy0+Z2Z4LmVjdHgsIChFR0xOYXRpdmVXaW5kb3dUeXBlKXgxMV93aW5kb3cpOworIAorICAgICBhc3NlcnQodmMtPmdmeC5lc3VyZmFjZSk7CisgfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDEtZWdsLWhlYWRsZXNzLWFkZC1lZ2xfY3JlYXRlX2NvbnRleHQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMS1lZ2wtaGVhZGxlc3MtYWRkLWVnbF9jcmVhdGVfY29udGV4dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTMyNmMwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDEtZWdsLWhlYWRsZXNzLWFkZC1lZ2xfY3JlYXRlX2NvbnRleHQucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorRnJvbSA5NTJlNWQ1ODRmNWFhYmU0MTI5OGMyNzgwNjVmZTYyOGYzZjdhYTdhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+CitEYXRlOiBUaHUsIDI5IE5vdiAyMDE4IDEzOjM1OjAyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGVnbC1oZWFkbGVzczogYWRkIGVnbF9jcmVhdGVfY29udGV4dAorCitXZSBtdXN0IHNldCB0aGUgY29ycmVjdCBjb250ZXh0ICh2aWEgZWdsTWFrZUN1cnJlbnQpIGJlZm9yZQorY2FsbGluZyBxZW11X2VnbF9jcmVhdGVfY29udGV4dCwgc28gd2UgbmVlZCBhIHRoaW4gd3JhcHBlciBhbmQgY2FuJ3QKK2hvb2sgcWVtdV9lZ2xfY3JlYXRlX2NvbnRleHQgZGlyZWN0bHkgYXMgLT5kcHlfZ2xfY3R4X2NyZWF0ZSBjYWxsYmFjay4KKworUmVwb3J0ZWQtYnk6IEZyZWRlcmlrIENhcmxpZXIgPGZyZWRlcmlrLmNhcmxpZXJAcXVhbW90aW9uLm1vYmk+CitTaWduZWQtb2ZmLWJ5OiBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4KK01lc3NhZ2UtaWQ6IDIwMTgxMTI5MTIzNTAyLjMwMTI5LTEta3JheGVsQHJlZGhhdC5jb20KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQucWVtdS5vcmcvP3A9cWVtdS5naXQ7YT1jb21taXQ7aD05NTJlNWQ1ODRmNWFhYmU0MTI5OGMyNzgwNjVmZTYyOGYzZjdhYTdhXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyB1aS9lZ2wtaGVhZGxlc3MuYyB8IDEwICsrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS91aS9lZ2wtaGVhZGxlc3MuYyBiL3VpL2VnbC1oZWFkbGVzcy5jCitpbmRleCA0Y2YzYmJjMGU0Li41MTllN2JhZDMyIDEwMDY0NAorLS0tIGEvdWkvZWdsLWhlYWRsZXNzLmMKKysrKyBiL3VpL2VnbC1oZWFkbGVzcy5jCitAQCAtMzgsNiArMzgsMTQgQEAgc3RhdGljIHZvaWQgZWdsX2dmeF9zd2l0Y2goRGlzcGxheUNoYW5nZUxpc3RlbmVyICpkY2wsCisgICAgIGVkcHktPmRzID0gbmV3X3N1cmZhY2U7CisgfQorIAorK3N0YXRpYyBRRU1VR0xDb250ZXh0IGVnbF9jcmVhdGVfY29udGV4dChEaXNwbGF5Q2hhbmdlTGlzdGVuZXIgKmRjbCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUUVNVUdMUGFyYW1zICpwYXJhbXMpCisreworKyAgICBlZ2xNYWtlQ3VycmVudChxZW11X2VnbF9kaXNwbGF5LCBFR0xfTk9fU1VSRkFDRSwgRUdMX05PX1NVUkZBQ0UsCisrICAgICAgICAgICAgICAgICAgIHFlbXVfZWdsX3JuX2N0eCk7CisrICAgIHJldHVybiBxZW11X2VnbF9jcmVhdGVfY29udGV4dChkY2wsIHBhcmFtcyk7CisrfQorKworIHN0YXRpYyB2b2lkIGVnbF9zY2Fub3V0X2Rpc2FibGUoRGlzcGxheUNoYW5nZUxpc3RlbmVyICpkY2wpCisgeworICAgICBlZ2xfZHB5ICplZHB5ID0gY29udGFpbmVyX29mKGRjbCwgZWdsX2RweSwgZGNsKTsKK0BAIC0xNTAsNyArMTU4LDcgQEAgc3RhdGljIGNvbnN0IERpc3BsYXlDaGFuZ2VMaXN0ZW5lck9wcyBlZ2xfb3BzID0geworICAgICAuZHB5X2dmeF91cGRhdGUgICAgICAgICAgPSBlZ2xfZ2Z4X3VwZGF0ZSwKKyAgICAgLmRweV9nZnhfc3dpdGNoICAgICAgICAgID0gZWdsX2dmeF9zd2l0Y2gsCisgCistICAgIC5kcHlfZ2xfY3R4X2NyZWF0ZSAgICAgICA9IHFlbXVfZWdsX2NyZWF0ZV9jb250ZXh0LAorKyAgICAuZHB5X2dsX2N0eF9jcmVhdGUgICAgICAgPSBlZ2xfY3JlYXRlX2NvbnRleHQsCisgICAgIC5kcHlfZ2xfY3R4X2Rlc3Ryb3kgICAgICA9IHFlbXVfZWdsX2Rlc3Ryb3lfY29udGV4dCwKKyAgICAgLmRweV9nbF9jdHhfbWFrZV9jdXJyZW50ID0gcWVtdV9lZ2xfbWFrZV9jb250ZXh0X2N1cnJlbnQsCisgICAgIC5kcHlfZ2xfY3R4X2dldF9jdXJyZW50ICA9IHFlbXVfZWdsX2dldF9jdXJyZW50X2NvbnRleHQsCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMS1zZGwuYy1hbGxvdy11c2VyLXRvLWRpc2FibGUtcG9pbnRlci1ncmFicy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAxLXNkbC5jLWFsbG93LXVzZXItdG8tZGlzYWJsZS1wb2ludGVyLWdyYWJzLnBhdGNoCmluZGV4IGI4YTkyMDYuLjViOWExZjkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAxLXNkbC5jLWFsbG93LXVzZXItdG8tZGlzYWJsZS1wb2ludGVyLWdyYWJzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAxLXNkbC5jLWFsbG93LXVzZXItdG8tZGlzYWJsZS1wb2ludGVyLWdyYWJzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAxOGZiNDVjMzRhNDczYzRiYTI0N2JiODJiY2VhOTRiN2MzYmE0OTNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBjNTNkZGI1YWNiZWU1NmRiNjQyM2YzNjliOWY5YTliNjI1MDFiNGFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KIERhdGU6IFdlZCwgMTggU2VwIDIwMTMgMTQ6MDQ6NTQgKzAxMDAKIFN1YmplY3Q6IFtQQVRDSF0gc2RsLmM6IGFsbG93IHVzZXIgdG8gZGlzYWJsZSBwb2ludGVyIGdyYWJzCkBAIC0yMSwxNSArMjEsMTYgQEAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KIFNpZ25lZC1vZmYtYnk6IEVyaWMgQsOpbmFyZCA8ZXJpY0BldWtyZWEuY29tPgorCiAtLS0KICB1aS9zZGwuYyB8IDEzICsrKysrKysrKysrLS0KICAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3VpL3NkbC5jIGIvdWkvc2RsLmMKLWluZGV4IGE1ZmQ1MDNjMjUuLmFiOGQxYjFlYjEgMTAwNjQ0CitpbmRleCAxOTBiMTZmNS4uYWE4OTQ3MWQgMTAwNjQ0CiAtLS0gYS91aS9zZGwuYwogKysrIGIvdWkvc2RsLmMKLUBAIC02OCw2ICs2OCwxMSBAQCBzdGF0aWMgaW50IGlkbGVfY291bnRlcjsKK0BAIC02OSw2ICs2OSwxMSBAQCBzdGF0aWMgaW50IGlkbGVfY291bnRlcjsKICBzdGF0aWMgY29uc3QgZ3VpbnQxNiAqa2V5Y29kZV9tYXA7CiAgc3RhdGljIHNpemVfdCBrZXljb2RlX21hcGxlbjsKICAKQEAgLTQxLDcgKzQyLDcgQEAKICAjZGVmaW5lIFNETF9SRUZSRVNIX0lOVEVSVkFMX0JVU1kgMTAKICAjZGVmaW5lIFNETF9NQVhfSURMRV9DT1VOVCAoMiAqIEdVSV9SRUZSRVNIX0lOVEVSVkFMX0RFRkFVTFQgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIFNETF9SRUZSRVNIX0lOVEVSVkFMX0JVU1kgKyAxKQotQEAgLTM5OCwxNCArNDAzLDE2IEBAIHN0YXRpYyB2b2lkIHNkbF9ncmFiX3N0YXJ0KHZvaWQpCitAQCAtMzk5LDE0ICs0MDQsMTYgQEAgc3RhdGljIHZvaWQgc2RsX2dyYWJfc3RhcnQodm9pZCkKICAgICAgICAgIH0KICAgICAgfSBlbHNlCiAgICAgICAgICBzZGxfaGlkZV9jdXJzb3IoKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAyLXFlbXUtQWRkLW1pc3Npbmctd2Fjb20tSElELWRlc2NyaXB0b3IucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMi1xZW11LUFkZC1taXNzaW5nLXdhY29tLUhJRC1kZXNjcmlwdG9yLnBhdGNoCmluZGV4IDkwZTRiODAuLjRkZTI2ODggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAyLXFlbXUtQWRkLW1pc3Npbmctd2Fjb20tSElELWRlc2NyaXB0b3IucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDItcWVtdS1BZGQtbWlzc2luZy13YWNvbS1ISUQtZGVzY3JpcHRvci5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNDE2MDNmNzQ1Y2FhZWNkYzdjOWQ3NjBmYjdkMmRmMDFjY2M2MDEyOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gN2FjM2M4NGYyODg2NjQ5MWM1OGNjMGY1MmEyNWE3MDY5NDljOGVmMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPgogRGF0ZTogVGh1LCAyNyBOb3YgMjAxNCAxNDowNDoyOSArMDAwMAogU3ViamVjdDogW1BBVENIXSBxZW11OiBBZGQgbWlzc2luZyB3YWNvbSBISUQgZGVzY3JpcHRvcgpAQCAtMTMsMTIgKzEzLDEzIEBACiAKIFVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCiAyMDE0LzExLzI3CisKIC0tLQogIGh3L3VzYi9kZXYtd2Fjb20uYyB8IDk0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KICAxIGZpbGUgY2hhbmdlZCwgOTMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvaHcvdXNiL2Rldi13YWNvbS5jIGIvaHcvdXNiL2Rldi13YWNvbS5jCi1pbmRleCBiZjcwMDEzMDU5Li4yZjZlMTI5NzMyIDEwMDY0NAoraW5kZXggYWMwYmM4M2IuLjZmOWIyMmQ0IDEwMDY0NAogLS0tIGEvaHcvdXNiL2Rldi13YWNvbS5jCiArKysgYi9ody91c2IvZGV2LXdhY29tLmMKIEBAIC03Miw2ICs3Miw4OSBAQCBzdGF0aWMgY29uc3QgVVNCRGVzY1N0cmluZ3MgZGVzY19zdHJpbmdzID0gewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDMtQWRkLXN1YnBhY2thZ2UtcHRlc3Qtd2hpY2gtcnVucy1hbGwtdW5pdC10ZXN0LWNhc2VzLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAzLUFkZC1zdWJwYWNrYWdlLXB0ZXN0LXdoaWNoLXJ1bnMtYWxsLXVuaXQtdGVzdC1jYXNlcy0ucGF0Y2gKaW5kZXggMGQ0MzI3MS4uNjY4ZmM0NiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDMtQWRkLXN1YnBhY2thZ2UtcHRlc3Qtd2hpY2gtcnVucy1hbGwtdW5pdC10ZXN0LWNhc2VzLS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMy1BZGQtc3VicGFja2FnZS1wdGVzdC13aGljaC1ydW5zLWFsbC11bml0LXRlc3QtY2FzZXMtLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBhOWE2Njk0NDhiYTZmMWIyOTU0MjdlMjcxZDk5ZjYxNzM2ZmM1MTg5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBhYWM4ODM0YmZkNWI3OWU3MjRmMjU5Mzg5NTg0N2I1MDk2OGExMjIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlzdHJpY2t5QGludGVsLmNvbT4KIERhdGU6IFRodSwgMzEgQXVnIDIwMTcgMTE6MDY6NTYgLTA3MDAKIFN1YmplY3Q6IFtQQVRDSF0gQWRkIHN1YnBhY2thZ2UgLXB0ZXN0IHdoaWNoIHJ1bnMgYWxsIHVuaXQgdGVzdCBjYXNlcyBmb3IKQEAgLTksMTUgKzksMTYgQEAKIFNpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgogCiBTaWduZWQtb2ZmLWJ5OiBKdXJvIEJ5c3RyaWNreSA8anVyby5ieXN0cmlja3lAaW50ZWwuY29tPgorCiAtLS0KICB0ZXN0cy9NYWtlZmlsZS5pbmNsdWRlIHwgOCArKysrKysrKwogIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL3Rlc3RzL01ha2VmaWxlLmluY2x1ZGUgYi90ZXN0cy9NYWtlZmlsZS5pbmNsdWRlCi1pbmRleCAzYjlhNWUzMWEyLi5kZmJjZDcyOGQ3IDEwMDY0NAoraW5kZXggZmIwYjQ0OWMuLmFmZWRhYmQ0IDEwMDY0NAogLS0tIGEvdGVzdHMvTWFrZWZpbGUuaW5jbHVkZQogKysrIGIvdGVzdHMvTWFrZWZpbGUuaW5jbHVkZQotQEAgLTk3Miw0ICs5NzIsMTIgQEAgYWxsOiAkKFFFTVVfSU9URVNUU19IRUxQRVJTLXkpCitAQCAtOTY3LDQgKzk2NywxMiBAQCBhbGw6ICQoUUVNVV9JT1RFU1RTX0hFTFBFUlMteSkKICAtaW5jbHVkZSAkKHdpbGRjYXJkIHRlc3RzLyouZCkKICAtaW5jbHVkZSAkKHdpbGRjYXJkIHRlc3RzL2xpYnFvcy8qLmQpCiAgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNC1xZW11LUFkZC1hZGRpdGlvbi1lbnZpcm9ubWVudC1zcGFjZS10by1ib290LWxvYWRlci1xLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDQtcWVtdS1BZGQtYWRkaXRpb24tZW52aXJvbm1lbnQtc3BhY2UtdG8tYm9vdC1sb2FkZXItcS5wYXRjaAppbmRleCA1MTUyZGNhLi5iNGQ0YzU4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNC1xZW11LUFkZC1hZGRpdGlvbi1lbnZpcm9ubWVudC1zcGFjZS10by1ib290LWxvYWRlci1xLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA0LXFlbXUtQWRkLWFkZGl0aW9uLWVudmlyb25tZW50LXNwYWNlLXRvLWJvb3QtbG9hZGVyLXEucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGRkNDQwNGEzMzRhNTQ1ZTliZWFmYTFiMWU0MWIzYThmMzVlZjMxYTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDNkZTdhNTYzNTA5M2MzMWRjYjk2MGNlOWRmZjI3ZGE2MjliODVkNGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKYXNvbiBXZXNzZWwgPGphc29uLndlc3NlbEB3aW5kcml2ZXIuY29tPgogRGF0ZTogRnJpLCAyOCBNYXIgMjAxNCAxNzo0Mjo0MyArMDgwMAogU3ViamVjdDogW1BBVENIXSBxZW11OiBBZGQgYWRkaXRpb24gZW52aXJvbm1lbnQgc3BhY2UgdG8gYm9vdCBsb2FkZXIKQEAgLTEzLDEyICsxMywxMyBAQAogCiBTaWduZWQtb2ZmLWJ5OiBKYXNvbiBXZXNzZWwgPGphc29uLndlc3NlbEB3aW5kcml2ZXIuY29tPgogU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorCiAtLS0KICBody9taXBzL21pcHNfbWFsdGEuYyB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2h3L21pcHMvbWlwc19tYWx0YS5jIGIvaHcvbWlwcy9taXBzX21hbHRhLmMKLWluZGV4IGY2NTEzYTRmZDUuLmQ1ZWZhZmIxZTggMTAwNjQ0CitpbmRleCBjMWNmMGZlMS4uZGVjZmZkMmYgMTAwNjQ0CiAtLS0gYS9ody9taXBzL21pcHNfbWFsdGEuYwogKysrIGIvaHcvbWlwcy9taXBzX21hbHRhLmMKIEBAIC02Miw3ICs2Miw3IEBACmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNS1xZW11LWRpc2FibGUtVmFsZ3JpbmQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNS1xZW11LWRpc2FibGUtVmFsZ3JpbmQucGF0Y2gKaW5kZXggNzBiYWYwZi4uZjBjZjgxNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDUtcWVtdS1kaXNhYmxlLVZhbGdyaW5kLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA1LXFlbXUtZGlzYWJsZS1WYWxncmluZC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNDQ3NWIzZDk3MzcxZTU4ODU0MDMzMzk4OGE5N2Q3ZGYzZWMyYzY1YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMzJlOGE5NGI2YWU2NjRkOWI1Njg5ZTE5ZDQ5NWUzMDRjMGY0MTk1NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CiBEYXRlOiBUdWUsIDIwIE9jdCAyMDE1IDIyOjE5OjA4ICswMTAwCiBTdWJqZWN0OiBbUEFUQ0hdIHFlbXU6IGRpc2FibGUgVmFsZ3JpbmQKQEAgLTcsMTUgKzcsMTYgQEAKIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlCiBTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCiAtLS0KICBjb25maWd1cmUgfCA5IC0tLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA5IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCi1pbmRleCAwYTE5YjAzM2JjLi42OWUwNWZiNmMwIDEwMDc1NQoraW5kZXggMGEzYzZhNzIuLjA2OWUwZGFhIDEwMDc1NQogLS0tIGEvY29uZmlndXJlCiArKysgYi9jb25maWd1cmUKLUBAIC00ODk1LDE1ICs0ODk1LDYgQEAgZmkKK0BAIC01MDQ0LDE1ICs1MDQ0LDYgQEAgZmkKICAjIGNoZWNrIGlmIHdlIGhhdmUgdmFsZ3JpbmQvdmFsZ3JpbmQuaAogIAogIHZhbGdyaW5kX2g9bm8KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA2LXFlbXUtTGltaXQtcGF0aHMtc2VhcmNoZWQtZHVyaW5nLXVzZXItbW9kZS1lbXVsYXRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNi1xZW11LUxpbWl0LXBhdGhzLXNlYXJjaGVkLWR1cmluZy11c2VyLW1vZGUtZW11bGF0aW9uLnBhdGNoCmluZGV4IGE5ZDc5OGMuLjRiMmYwMTMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA2LXFlbXUtTGltaXQtcGF0aHMtc2VhcmNoZWQtZHVyaW5nLXVzZXItbW9kZS1lbXVsYXRpb24ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDYtcWVtdS1MaW1pdC1wYXRocy1zZWFyY2hlZC1kdXJpbmctdXNlci1tb2RlLWVtdWxhdGlvbi5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gYzUzMmJjZGFlODI1OWIwZjcxNzIzY2RhMzMxZGVkNGRiYjBmYTkwOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMDJmODBlZTgxNjgxYjYzMDdhODAzMjEyOGEwNzY4NjE4MzY2MjI3MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPgogRGF0ZTogV2VkLCA5IE1hciAyMDE2IDIyOjQ5OjAyICswMDAwCiBTdWJqZWN0OiBbUEFUQ0hdIHFlbXU6IExpbWl0IHBhdGhzIHNlYXJjaGVkIGR1cmluZyB1c2VyIG1vZGUgZW11bGF0aW9uCkBAIC0xOSwxMiArMTksMTMgQEAKIFJQCiAyMDE2LzMvOQogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKIC0tLQogIHV0aWwvcGF0aC5jIHwgNDQgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS91dGlsL3BhdGguYyBiL3V0aWwvcGF0aC5jCi1pbmRleCA3ZjlmYzI3MmZiLi5hNDE2Y2Q0YWMyIDEwMDY0NAoraW5kZXggN2Y5ZmMyNzIuLmE0MTZjZDRhIDEwMDY0NAogLS0tIGEvdXRpbC9wYXRoLmMKICsrKyBiL3V0aWwvcGF0aC5jCiBAQCAtMTUsNiArMTUsNyBAQCBzdHJ1Y3QgcGF0aGVsZW0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA3LXFlbXUtbmF0aXZlLXNldC1sZC5iZmQtZml4LWNmbGFncy1hbmQtc2V0LXNvbWUtZW52aXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNy1xZW11LW5hdGl2ZS1zZXQtbGQuYmZkLWZpeC1jZmxhZ3MtYW5kLXNldC1zb21lLWVudmlyLnBhdGNoCmluZGV4IDEyNDU2YmIuLjQxNjNlNTEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA3LXFlbXUtbmF0aXZlLXNldC1sZC5iZmQtZml4LWNmbGFncy1hbmQtc2V0LXNvbWUtZW52aXIucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDctcWVtdS1uYXRpdmUtc2V0LWxkLmJmZC1maXgtY2ZsYWdzLWFuZC1zZXQtc29tZS1lbnZpci5wYXRjaApAQCAtMSwxOCArMSwxOSBAQAotRnJvbSAyZDI5ZDUyYjZmNzU1NzU4Y2ZjYTZhZjBiY2ZkNzgwOTFlMTZhN2JjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA3NGJjZTM1YjcxZjQ3MzNjMTNlOTZmOTZlMjU5NTZmZjk0M2ZhZTIwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogU3RlcGhlbiBBcm5vbGQgPHNhcm5vbGRAdmN0bGFicy5jb20+CiBEYXRlOiBTdW4sIDEyIEp1biAyMDE2IDE4OjA5OjU2IC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0hdIHFlbXUtbmF0aXZlOiBzZXQgbGQuYmZkLCBmaXggY2ZsYWdzLCBhbmQgc2V0IHNvbWUgZW52aXJvbm1lbnQKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKIC0tLQogIGNvbmZpZ3VyZSB8IDQgLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA0IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCi1pbmRleCA2OWUwNWZiNmMwLi4xMmZjM2Q4YmRjIDEwMDc1NQoraW5kZXggMDY5ZTBkYWEuLjViOTdmM2MxIDEwMDc1NQogLS0tIGEvY29uZmlndXJlCiArKysgYi9jb25maWd1cmUKLUBAIC01NDEzLDEwICs1NDEzLDYgQEAgd3JpdGVfY19za2VsZXRvbgorQEAgLTU2MjIsMTAgKzU2MjIsNiBAQCB3cml0ZV9jX3NrZWxldG9uCiAgaWYgdGVzdCAiJGdjb3YiID0gInllcyIgOyB0aGVuCiAgICBDRkxBR1M9Ii1mcHJvZmlsZS1hcmNzIC1mdGVzdC1jb3ZlcmFnZSAtZyAkQ0ZMQUdTIgogICAgTERGTEFHUz0iLWZwcm9maWxlLWFyY3MgLWZ0ZXN0LWNvdmVyYWdlICRMREZMQUdTIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDgtY2hhcmRldi1jb25uZWN0LXNvY2tldC10by1hLXNwYXduZWQtY29tbWFuZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA4LWNoYXJkZXYtY29ubmVjdC1zb2NrZXQtdG8tYS1zcGF3bmVkLWNvbW1hbmQucGF0Y2gKaW5kZXggMmFmZTRlOS4uZTVhMmQ0YSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDgtY2hhcmRldi1jb25uZWN0LXNvY2tldC10by1hLXNwYXduZWQtY29tbWFuZC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwOC1jaGFyZGV2LWNvbm5lY3Qtc29ja2V0LXRvLWEtc3Bhd25lZC1jb21tYW5kLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAyMGEwOWJiMTg5MDdlNjc1NjVjNTRmYzUwNWE3NDFjYmJlZjUzZjdmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5YzFlOTc2MjkwZTg3YTgzYWIxYmZlMzhlYjdmZjM1MjFmZjBkNjg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxpc3RhaXIgRnJhbmNpcyA8YWxpc3RhaXIuZnJhbmNpc0B4aWxpbnguY29tPgogRGF0ZTogVGh1LCAyMSBEZWMgMjAxNyAxMTozNToxNiAtMDgwMAogU3ViamVjdDogW1BBVENIXSBjaGFyZGV2OiBjb25uZWN0IHNvY2tldCB0byBhIHNwYXduZWQgY29tbWFuZApAQCAtNDQsNiArNDQsNyBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KIAogU2lnbmVkLW9mZi1ieTogUGF0cmljayBPaGx5IDxwYXRyaWNrLm9obHlAaW50ZWwuY29tPgorCiAtLS0KICBjaGFyZGV2L2NoYXItc29ja2V0LmMgfCAxMDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAgY2hhcmRldi9jaGFyLmMgICAgICAgIHwgICAzICsrCkBAIC01MSwxMCArNTIsMTAgQEAKICAzIGZpbGVzIGNoYW5nZWQsIDExMCBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9jaGFyZGV2L2NoYXItc29ja2V0LmMgYi9jaGFyZGV2L2NoYXItc29ja2V0LmMKLWluZGV4IDE1OWU2OWMzYjEuLjg0Nzc4Y2YzMWEgMTAwNjQ0CitpbmRleCBlYWE4ZThiNi4uOTU5ZWQxODMgMTAwNjQ0CiAtLS0gYS9jaGFyZGV2L2NoYXItc29ja2V0LmMKICsrKyBiL2NoYXJkZXYvY2hhci1zb2NrZXQuYwotQEAgLTkzNCw2ICs5MzQsNjggQEAgc3RhdGljIGdib29sZWFuIHNvY2tldF9yZWNvbm5lY3RfdGltZW91dChncG9pbnRlciBvcGFxdWUpCitAQCAtOTg3LDYgKzk4Nyw2OCBAQCBzdGF0aWMgZ2Jvb2xlYW4gc29ja2V0X3JlY29ubmVjdF90aW1lb3V0KGdwb2ludGVyIG9wYXF1ZSkKICAgICAgcmV0dXJuIGZhbHNlOwogIH0KICAKQEAgLTEyMyw3ICsxMjQsNyBAQAogIHN0YXRpYyB2b2lkIHFtcF9jaGFyZGV2X29wZW5fc29ja2V0KENoYXJkZXYgKmNociwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFyZGV2QmFja2VuZCAqYmFja2VuZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sICpiZV9vcGVuZWQsCi1AQCAtOTQxLDYgKzEwMDMsOSBAQCBzdGF0aWMgdm9pZCBxbXBfY2hhcmRldl9vcGVuX3NvY2tldChDaGFyZGV2ICpjaHIsCitAQCAtOTk0LDYgKzEwNTYsOSBAQCBzdGF0aWMgdm9pZCBxbXBfY2hhcmRldl9vcGVuX3NvY2tldChDaGFyZGV2ICpjaHIsCiAgewogICAgICBTb2NrZXRDaGFyZGV2ICpzID0gU09DS0VUX0NIQVJERVYoY2hyKTsKICAgICAgQ2hhcmRldlNvY2tldCAqc29jayA9IGJhY2tlbmQtPnUuc29ja2V0LmRhdGE7CkBAIC0xMzMsNyArMTM0LDcgQEAKICAgICAgYm9vbCBkb19ub2RlbGF5ICAgICA9IHNvY2stPmhhc19ub2RlbGF5ID8gc29jay0+bm9kZWxheSA6IGZhbHNlOwogICAgICBib29sIGlzX2xpc3RlbiAgICAgID0gc29jay0+aGFzX3NlcnZlciAgPyBzb2NrLT5zZXJ2ZXIgIDogdHJ1ZTsKICAgICAgYm9vbCBpc190ZWxuZXQgICAgICA9IHNvY2stPmhhc190ZWxuZXQgID8gc29jay0+dGVsbmV0ICA6IGZhbHNlOwotQEAgLTEwMDgsNiArMTA3MywxNCBAQCBzdGF0aWMgdm9pZCBxbXBfY2hhcmRldl9vcGVuX3NvY2tldChDaGFyZGV2ICpjaHIsCitAQCAtMTA3Miw2ICsxMTM3LDE0IEBAIHN0YXRpYyB2b2lkIHFtcF9jaGFyZGV2X29wZW5fc29ja2V0KENoYXJkZXYgKmNociwKICAgICAgICAgIHMtPnJlY29ubmVjdF90aW1lID0gcmVjb25uZWN0OwogICAgICB9CiAgCkBAIC0xNDUsMTAgKzE0NiwxMCBAQAogKyAgICAgICAgKmJlX29wZW5lZCA9IHRydWU7CiArICAgIH0gZWxzZQogKyNlbmRpZgotICAgICAvKiBJZiByZWNvbm5lY3RfdGltZSBpcyBzZXQsIHdpbGwgZG8gdGhhdCBpbiBjaHJfbWFjaGluZV9kb25lLiAqLwotICAgICBpZiAoIXMtPnJlY29ubmVjdF90aW1lKSB7Ci0gICAgICAgICBpZiAocy0+aXNfbGlzdGVuKSB7Ci1AQCAtMTA2NSw5ICsxMTM4LDI2IEBAIHN0YXRpYyB2b2lkIHFlbXVfY2hyX3BhcnNlX3NvY2tldChRZW11T3B0cyAqb3B0cywgQ2hhcmRldkJhY2tlbmQgKmJhY2tlbmQsCisgICAgIGlmIChzLT5yZWNvbm5lY3RfdGltZSkgeworICAgICAgICAgdGNwX2Nocl9jb25uZWN0X2FzeW5jKGNocik7CisgICAgIH0gZWxzZSB7CitAQCAtMTEzMSw5ICsxMjA0LDI2IEBAIHN0YXRpYyB2b2lkIHFlbXVfY2hyX3BhcnNlX3NvY2tldChRZW11T3B0cyAqb3B0cywgQ2hhcmRldkJhY2tlbmQgKmJhY2tlbmQsCiAgICAgIGNvbnN0IGNoYXIgKnBvcnQgPSBxZW11X29wdF9nZXQob3B0cywgInBvcnQiKTsKICAgICAgY29uc3QgY2hhciAqZmQgPSBxZW11X29wdF9nZXQob3B0cywgImZkIik7CiAgICAgIGNvbnN0IGNoYXIgKnRsc19jcmVkcyA9IHFlbXVfb3B0X2dldChvcHRzLCAidGxzLWNyZWRzIik7CkBAIC0xNzUsNyArMTc2LDcgQEAKICAgICAgaWYgKCghIXBhdGggKyAhIWZkICsgISFob3N0KSAhPSAxKSB7CiAgICAgICAgICBlcnJvcl9zZXRnKGVycnAsCiAgICAgICAgICAgICAgICAgICAgICJFeGFjdGx5IG9uZSBvZiAncGF0aCcsICdmZCcgb3IgJ2hvc3QnIHJlcXVpcmVkIik7Ci1AQCAtMTExMiwxMiArMTIwMiwyNCBAQCBzdGF0aWMgdm9pZCBxZW11X2Nocl9wYXJzZV9zb2NrZXQoUWVtdU9wdHMgKm9wdHMsIENoYXJkZXZCYWNrZW5kICpiYWNrZW5kLAorQEAgLTExODAsMTIgKzEyNzAsMjQgQEAgc3RhdGljIHZvaWQgcWVtdV9jaHJfcGFyc2Vfc29ja2V0KFFlbXVPcHRzICpvcHRzLCBDaGFyZGV2QmFja2VuZCAqYmFja2VuZCwKICAgICAgc29jay0+cmVjb25uZWN0ID0gcmVjb25uZWN0OwogICAgICBzb2NrLT50bHNfY3JlZHMgPSBnX3N0cmR1cCh0bHNfY3JlZHMpOwogIApAQCAtMjAxLDEwICsyMDIsMTAgQEAKICAgICAgICAgIGFkZHItPnR5cGUgPSBTT0NLRVRfQUREUkVTU19MRUdBQ1lfS0lORF9JTkVUOwogICAgICAgICAgYWRkci0+dS5pbmV0LmRhdGEgPSBnX25ldyhJbmV0U29ja2V0QWRkcmVzcywgMSk7CiBkaWZmIC0tZ2l0IGEvY2hhcmRldi9jaGFyLmMgYi9jaGFyZGV2L2NoYXIuYwotaW5kZXggNzZkODY2ZTZmZS4uOTc0N2Q1MWQ3YyAxMDA2NDQKK2luZGV4IDE1MmRkZTUzLi42MmQ1YjU3OCAxMDA2NDQKIC0tLSBhL2NoYXJkZXYvY2hhci5jCiArKysgYi9jaGFyZGV2L2NoYXIuYwotQEAgLTc5Miw2ICs3OTIsOSBAQCBRZW11T3B0c0xpc3QgcWVtdV9jaGFyZGV2X29wdHMgPSB7CitAQCAtODE4LDYgKzgxOCw5IEBAIFFlbXVPcHRzTGlzdCBxZW11X2NoYXJkZXZfb3B0cyA9IHsKICAgICAgICAgIH0sewogICAgICAgICAgICAgIC5uYW1lID0gInBhdGgiLAogICAgICAgICAgICAgIC50eXBlID0gUUVNVV9PUFRfU1RSSU5HLApAQCAtMjE1LDEwICsyMTYsMTAgQEAKICAgICAgICAgICAgICAubmFtZSA9ICJob3N0IiwKICAgICAgICAgICAgICAudHlwZSA9IFFFTVVfT1BUX1NUUklORywKIGRpZmYgLS1naXQgYS9xYXBpL2NoYXIuanNvbiBiL3FhcGkvY2hhci5qc29uCi1pbmRleCBhZTE5ZGNkMWVkLi42ZGUwZjI5YmNkIDEwMDY0NAoraW5kZXggNzliYWM1OTguLjk3YmQxNjFhIDEwMDY0NAogLS0tIGEvcWFwaS9jaGFyLmpzb24KICsrKyBiL3FhcGkvY2hhci5qc29uCi1AQCAtMjQxLDYgKzI0MSwxMCBAQAorQEAgLTI0Miw2ICsyNDIsMTAgQEAKICAjCiAgIyBAYWRkcjogc29ja2V0IGFkZHJlc3MgdG8gbGlzdGVuIG9uIChzZXJ2ZXI9dHJ1ZSkKICAjICAgICAgICBvciBjb25uZWN0IHRvIChzZXJ2ZXI9ZmFsc2UpCkBAIC0yMjksNyArMjMwLDcgQEAKICAjIEB0bHMtY3JlZHM6IHRoZSBJRCBvZiB0aGUgVExTIGNyZWRlbnRpYWxzIG9iamVjdCAoc2luY2UgMi42KQogICMgQHNlcnZlcjogY3JlYXRlIHNlcnZlciBzb2NrZXQgKGRlZmF1bHQ6IHRydWUpCiAgIyBAd2FpdDogd2FpdCBmb3IgaW5jb21pbmcgY29ubmVjdGlvbiBvbiBzZXJ2ZXIKLUBAIC0yNTgsNiArMjYyLDcgQEAKK0BAIC0yNjEsNiArMjY1LDcgQEAKICAjIFNpbmNlOiAxLjQKICAjIwogIHsgJ3N0cnVjdCc6ICdDaGFyZGV2U29ja2V0JywgJ2RhdGEnOiB7ICdhZGRyJyAgICAgICA6ICdTb2NrZXRBZGRyZXNzTGVnYWN5JywKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA5LWFwaWMtZml4dXAtZmFsbHRocm91Z2gtdG8tUElDLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDktYXBpYy1maXh1cC1mYWxsdGhyb3VnaC10by1QSUMucGF0Y2gKaW5kZXggNTk2OWQ5My4uMWQzYTJiNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDktYXBpYy1maXh1cC1mYWxsdGhyb3VnaC10by1QSUMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDktYXBpYy1maXh1cC1mYWxsdGhyb3VnaC10by1QSUMucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDUwNDZjMjFlZmRiYzc0MTNjZGRkNWM1ZGJkOWUxZDUzMjU4ZDNlOGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDQ4MjlkYTEzMTk5NjU0OGRjODY3NzViOGI5N2EyOWM0MzZmM2QxMzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBNYXJrIEFzc2Vsc3RpbmUgPG1hcmsuYXNzZWxzdGluZUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVHVlLCAyNiBGZWIgMjAxMyAxMTo0MzoyOCAtMDUwMAogU3ViamVjdDogW1BBVENIXSBhcGljOiBmaXh1cCBmYWxsdGhyb3VnaCB0byBQSUMKQEAgLTI0LDEyICsyNCwxMyBAQAogU2lnbmVkLW9mZi1ieTogTWFyayBBc3NlbHN0aW5lIDxtYXJrLmFzc2Vsc3RpbmVAd2luZHJpdmVyLmNvbT4KIFVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL3FlbXUtZGV2ZWwvMjAxMy0wNC9tc2cwMDg3OC5odG1sXQogU2lnbmVkLW9mZi1ieTogSGUgWmhlIDx6aGUuaGVAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgaHcvaW50Yy9hcGljLmMgfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9ody9pbnRjL2FwaWMuYyBiL2h3L2ludGMvYXBpYy5jCi1pbmRleCA2ZmRhNTJiODZjLi5jZDcyOTE5NjJkIDEwMDY0NAoraW5kZXggOTdmZmRkODIuLmVmMjM0MzBlIDEwMDY0NAogLS0tIGEvaHcvaW50Yy9hcGljLmMKICsrKyBiL2h3L2ludGMvYXBpYy5jCiBAQCAtNjAzLDcgKzYwMyw3IEBAIGludCBhcGljX2FjY2VwdF9waWNfaW50cihEZXZpY2VTdGF0ZSAqZGV2KQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTAtbGludXgtdXNlci1GaXgtd2Via2l0Z3RrLWhhbmdzLW9uLTMyLWJpdC14ODYtdGFyZ2V0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTAtbGludXgtdXNlci1GaXgtd2Via2l0Z3RrLWhhbmdzLW9uLTMyLWJpdC14ODYtdGFyZ2V0LnBhdGNoCmluZGV4IGUxMTBmNjMuLmMwZDc5MTRiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMC1saW51eC11c2VyLUZpeC13ZWJraXRndGstaGFuZ3Mtb24tMzItYml0LXg4Ni10YXJnZXQucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTAtbGludXgtdXNlci1GaXgtd2Via2l0Z3RrLWhhbmdzLW9uLTMyLWJpdC14ODYtdGFyZ2V0LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAzY2Q5MmM3YTg4NWU0OTk3ZWY2ODQzMzEzMjk4YzFkNzQ4ZDZjYTM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiY2UyNWM5Y2RhNzM1Njk5NjM2MTVmZmQzMWVkOTQ5Y2JlM2EzNzgxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxpc3RhaXIgRnJhbmNpcyA8YWxpc3RhaXIuZnJhbmNpc0B4aWxpbnguY29tPgogRGF0ZTogV2VkLCAxNyBKYW4gMjAxOCAxMDo1MTo0OSAtMDgwMAogU3ViamVjdDogW1BBVENIXSBsaW51eC11c2VyOiBGaXggd2Via2l0Z3RrIGhhbmdzIG9uIDMyLWJpdCB4ODYgdGFyZ2V0CkBAIC0xMywxNSArMTMsMTYgQEAKIAogVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL3FlbXUtZGV2ZWwvMjAxOC0wMS9tc2cwNDE4NS5odG1sCiBTaWduZWQtb2ZmLWJ5OiBBbGlzdGFpciBGcmFuY2lzIDxhbGlzdGFpci5mcmFuY2lzQHhpbGlueC5jb20+CisKIC0tLQogIGxpbnV4LXVzZXIvbWFpbi5jIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvbGludXgtdXNlci9tYWluLmMgYi9saW51eC11c2VyL21haW4uYwotaW5kZXggODkwN2E4NDExNC4uZWE0MmM0MzYxMCAxMDA2NDQKK2luZGV4IDkyM2NiYjc1Li5mZTBiOWZmNCAxMDA2NDQKIC0tLSBhL2xpbnV4LXVzZXIvbWFpbi5jCiArKysgYi9saW51eC11c2VyL21haW4uYwotQEAgLTc5LDcgKzc5LDcgQEAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorQEAgLTY5LDcgKzY5LDcgQEAgaW50IGhhdmVfZ3Vlc3RfYmFzZTsKICAgICAgICAoVEFSR0VUX0xPTkdfQklUUyA9PSAzMiB8fCBkZWZpbmVkKFRBUkdFVF9BQkkzMikpCiAgLyogVGhlcmUgYXJlIGEgbnVtYmVyIG9mIHBsYWNlcyB3aGVyZSB3ZSBhc3NpZ24gcmVzZXJ2ZWRfdmEgdG8gYSB2YXJpYWJsZQogICAgIG9mIHR5cGUgYWJpX3Vsb25nIGFuZCBleHBlY3QgaXQgdG8gZml0LiAgQXZvaWQgdGhlIGxhc3QgcGFnZS4gICovCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMS1SZXZlcnQtbGludXgtdXNlci1maXgtbW1hcC1tdW5tYXAtbXByb3RlY3QtbXJlbWFwLXNoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTEtUmV2ZXJ0LWxpbnV4LXVzZXItZml4LW1tYXAtbXVubWFwLW1wcm90ZWN0LW1yZW1hcC1zaC5wYXRjaAppbmRleCA0MTYyNmViLi4wNjZlYTc4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMS1SZXZlcnQtbGludXgtdXNlci1maXgtbW1hcC1tdW5tYXAtbXByb3RlY3QtbXJlbWFwLXNoLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDExLVJldmVydC1saW51eC11c2VyLWZpeC1tbWFwLW11bm1hcC1tcHJvdGVjdC1tcmVtYXAtc2gucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDNlZDI2YmUyMDkxNDM2Mjk2OTMzZWQyMTQ2ZjcyNjljNzkxYzdiZmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDQ5NjIzMTc3NGY4YmMxN2VjZmFmNTQzYTY2MDNlM2NhZDNmM2Y3NGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBNYXJ0aW4gSmFuc2EgPG1hcnRpbi5qYW5zYUBsZ2UuY29tPgogRGF0ZTogRnJpLCAxIEp1biAyMDE4IDA4OjQxOjA3ICswMDAwCiBTdWJqZWN0OiBbUEFUQ0hdIFJldmVydCAibGludXgtdXNlcjogZml4IG1tYXAvbXVubWFwL21wcm90ZWN0L21yZW1hcC9zaG1hdCIKQEAgLTE0LDYgKzE0LDcgQEAKIFRoaXMgcmV2ZXJ0cyBjb21taXQgZWJmOWEzNjMwYzkxMWQwY2ZjOWMyMGY3Y2FmZTliYTRmODhjZjU4My4KIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKIC0tLQogIGluY2x1ZGUvZXhlYy9jcHUtYWxsLmggIHwgIDYgKy0tLS0tCiAgaW5jbHVkZS9leGVjL2NwdV9sZHN0LmggfCAxNiArKysrKysrKystLS0tLS0tCkBAIC0yMiwxMCArMjMsMTAgQEAKICA0IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9leGVjL2NwdS1hbGwuaCBiL2luY2x1ZGUvZXhlYy9jcHUtYWxsLmgKLWluZGV4IGY0ZmE5NGU5NjYuLjBiMTQxNjgzZjAgMTAwNjQ0CitpbmRleCAxMTdkMmZiYi4uOTA1NThjMTQgMTAwNjQ0CiAtLS0gYS9pbmNsdWRlL2V4ZWMvY3B1LWFsbC5oCiArKysgYi9pbmNsdWRlL2V4ZWMvY3B1LWFsbC5oCi1AQCAtMTU5LDEyICsxNTksOCBAQCBleHRlcm4gdW5zaWduZWQgbG9uZyBndWVzdF9iYXNlOworQEAgLTE2MywxMiArMTYzLDggQEAgZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZ3Vlc3RfYmFzZTsKICBleHRlcm4gaW50IGhhdmVfZ3Vlc3RfYmFzZTsKICBleHRlcm4gdW5zaWduZWQgbG9uZyByZXNlcnZlZF92YTsKICAKQEAgLTQwLDEyICs0MSwxMiBAQAogIAogICNpbmNsdWRlICJleGVjL2h3YWRkci5oIgogZGlmZiAtLWdpdCBhL2luY2x1ZGUvZXhlYy9jcHVfbGRzdC5oIGIvaW5jbHVkZS9leGVjL2NwdV9sZHN0LmgKLWluZGV4IDVkZThjOGE1YWYuLjE5MWYyZTk2MmEgMTAwNjQ0CitpbmRleCA5NTkwNjg0OS4uZWQxN2IzZjYgMTAwNjQ0CiAtLS0gYS9pbmNsdWRlL2V4ZWMvY3B1X2xkc3QuaAogKysrIGIvaW5jbHVkZS9leGVjL2NwdV9sZHN0LmgKLUBAIC01MSwxMyArNTEsMTUgQEAKK0BAIC02MiwxMyArNjIsMTUgQEAgdHlwZWRlZiB1aW50NjRfdCBhYmlfcHRyOwogIC8qIEFsbCBkaXJlY3QgdXNlcyBvZiBnMmggYW5kIGgyZyBuZWVkIHRvIGdvIGF3YXkgZm9yIHVzZXJtb2RlIHNvZnRtbXUuICAqLwotICNkZWZpbmUgZzJoKHgpICgodm9pZCAqKSgodW5zaWduZWQgbG9uZykodGFyZ2V0X3Vsb25nKSh4KSArIGd1ZXN0X2Jhc2UpKQorICNkZWZpbmUgZzJoKHgpICgodm9pZCAqKSgodW5zaWduZWQgbG9uZykoYWJpX3B0cikoeCkgKyBndWVzdF9iYXNlKSkKICAKIC0jZGVmaW5lIGd1ZXN0X2FkZHJfdmFsaWQoeCkgKCh4KSA8PSBHVUVTVF9BRERSX01BWCkKIC0jZGVmaW5lIGgyZ192YWxpZCh4KSBndWVzdF9hZGRyX3ZhbGlkKCh1bnNpZ25lZCBsb25nKSh4KSAtIGd1ZXN0X2Jhc2UpCkBAIC02NywxMCArNjgsMTAgQEAKICAjZGVmaW5lIGgyZ19ub2NoZWNrKHgpICh7IFwKICAgICAgdW5zaWduZWQgbG9uZyBfX3JldCA9ICh1bnNpZ25lZCBsb25nKSh4KSAtIGd1ZXN0X2Jhc2U7IFwKIGRpZmYgLS1naXQgYS9saW51eC11c2VyL21tYXAuYyBiL2xpbnV4LXVzZXIvbW1hcC5jCi1pbmRleCA5MTY4YTIwNTFjLi5kZTg1NjY5YWFiIDEwMDY0NAoraW5kZXggNDFlMDk4M2MuLmQwZWUxYzUzIDEwMDY0NAogLS0tIGEvbGludXgtdXNlci9tbWFwLmMKICsrKyBiL2xpbnV4LXVzZXIvbW1hcC5jCi1AQCAtODAsNyArODAsNyBAQCBpbnQgdGFyZ2V0X21wcm90ZWN0KGFiaV91bG9uZyBzdGFydCwgYWJpX3Vsb25nIGxlbiwgaW50IHByb3QpCitAQCAtNzksNyArNzksNyBAQCBpbnQgdGFyZ2V0X21wcm90ZWN0KGFiaV91bG9uZyBzdGFydCwgYWJpX3Vsb25nIGxlbiwgaW50IHByb3QpCiAgICAgICAgICByZXR1cm4gLVRBUkdFVF9FSU5WQUw7CiAgICAgIGxlbiA9IFRBUkdFVF9QQUdFX0FMSUdOKGxlbik7CiAgICAgIGVuZCA9IHN0YXJ0ICsgbGVuOwpAQCAtNzksNyArODAsNyBAQAogICAgICAgICAgcmV0dXJuIC1UQVJHRVRfRU5PTUVNOwogICAgICB9CiAgICAgIHByb3QgJj0gUFJPVF9SRUFEIHwgUFJPVF9XUklURSB8IFBST1RfRVhFQzsKLUBAIC00ODIsOCArNDgyLDggQEAgYWJpX2xvbmcgdGFyZ2V0X21tYXAoYWJpX3Vsb25nIHN0YXJ0LCBhYmlfdWxvbmcgbGVuLCBpbnQgcHJvdCwKK0BAIC00OTAsOCArNDkwLDggQEAgYWJpX2xvbmcgdGFyZ2V0X21tYXAoYWJpX3Vsb25nIHN0YXJ0LCBhYmlfdWxvbmcgbGVuLCBpbnQgcHJvdCwKICAJICogSXQgY2FuIGZhaWwgb25seSBvbiA2NC1iaXQgaG9zdCB3aXRoIDMyLWJpdCB0YXJnZXQuCiAgCSAqIE9uIGFueSBvdGhlciB0YXJnZXQvaG9zdCBob3N0IG1tYXAoKSBoYW5kbGVzIHRoaXMgZXJyb3IgY29ycmVjdGx5LgogIAkgKi8KQEAgLTkwLDcgKzkxLDcgQEAKICAgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgICAgICB9CiAgCi1AQCAtNjIzLDEwICs2MjMsOCBAQCBpbnQgdGFyZ2V0X211bm1hcChhYmlfdWxvbmcgc3RhcnQsIGFiaV91bG9uZyBsZW4pCitAQCAtNjMxLDEwICs2MzEsOCBAQCBpbnQgdGFyZ2V0X211bm1hcChhYmlfdWxvbmcgc3RhcnQsIGFiaV91bG9uZyBsZW4pCiAgICAgIGlmIChzdGFydCAmIH5UQVJHRVRfUEFHRV9NQVNLKQogICAgICAgICAgcmV0dXJuIC1UQVJHRVRfRUlOVkFMOwogICAgICBsZW4gPSBUQVJHRVRfUEFHRV9BTElHTihsZW4pOwpAQCAtMTAyLDcgKzEwMyw3IEBACiAgICAgIG1tYXBfbG9jaygpOwogICAgICBlbmQgPSBzdGFydCArIGxlbjsKICAgICAgcmVhbF9zdGFydCA9IHN0YXJ0ICYgcWVtdV9ob3N0X3BhZ2VfbWFzazsKLUBAIC02ODEsMTMgKzY3OSw2IEBAIGFiaV9sb25nIHRhcmdldF9tcmVtYXAoYWJpX3Vsb25nIG9sZF9hZGRyLCBhYmlfdWxvbmcgb2xkX3NpemUsCitAQCAtNjg5LDEzICs2ODcsNiBAQCBhYmlfbG9uZyB0YXJnZXRfbXJlbWFwKGFiaV91bG9uZyBvbGRfYWRkciwgYWJpX3Vsb25nIG9sZF9zaXplLAogICAgICBpbnQgcHJvdDsKICAgICAgdm9pZCAqaG9zdF9hZGRyOwogIApAQCAtMTE3LDEwICsxMTgsMTAgQEAKICAKICAgICAgaWYgKGZsYWdzICYgTVJFTUFQX0ZJWEVEKSB7CiBkaWZmIC0tZ2l0IGEvbGludXgtdXNlci9zeXNjYWxsLmMgYi9saW51eC11c2VyL3N5c2NhbGwuYwotaW5kZXggNjQzYjg4MzNkZS4uMjcxZjIxNTE0NyAxMDA2NDQKK2luZGV4IDI4MDEzN2RhLi5lZmRkMDAwNiAxMDA2NDQKIC0tLSBhL2xpbnV4LXVzZXIvc3lzY2FsbC5jCiArKysgYi9saW51eC11c2VyL3N5c2NhbGwuYwotQEAgLTQ5MTksOSArNDkxOSw2IEBAIHN0YXRpYyBpbmxpbmUgYWJpX3Vsb25nIGRvX3NobWF0KENQVUFyY2hTdGF0ZSAqY3B1X2VudiwKK0BAIC0zODE4LDkgKzM4MTgsNiBAQCBzdGF0aWMgaW5saW5lIGFiaV91bG9uZyBkb19zaG1hdChDUFVBcmNoU3RhdGUgKmNwdV9lbnYsCiAgICAgICAgICAgICAgcmV0dXJuIC1UQVJHRVRfRUlOVkFMOwogICAgICAgICAgfQogICAgICB9CkBAIC0xMzAsNyArMTMxLDcgQEAKICAKICAgICAgbW1hcF9sb2NrKCk7CiAgCi1AQCAtNzQ5Nyw3ICs3NDk0LDcgQEAgc3RhdGljIGludCBvcGVuX3NlbGZfbWFwcyh2b2lkICpjcHVfZW52LCBpbnQgZmQpCitAQCAtNjU4Miw3ICs2NTc5LDcgQEAgc3RhdGljIGludCBvcGVuX3NlbGZfbWFwcyh2b2lkICpjcHVfZW52LCBpbnQgZmQpCiAgICAgICAgICB9CiAgICAgICAgICBpZiAoaDJnX3ZhbGlkKG1pbikpIHsKICAgICAgICAgICAgICBpbnQgZmxhZ3MgPSBwYWdlX2dldF9mbGFncyhoMmcobWluKSk7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMi1maXgtbGliY2FwLWhlYWRlci1pc3N1ZS1vbi1zb21lLWRpc3Ryby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDEyLWZpeC1saWJjYXAtaGVhZGVyLWlzc3VlLW9uLXNvbWUtZGlzdHJvLnBhdGNoCmluZGV4IGFhMjRmNzIuLjljYmU4MzggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDEyLWZpeC1saWJjYXAtaGVhZGVyLWlzc3VlLW9uLXNvbWUtZGlzdHJvLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDEyLWZpeC1saWJjYXAtaGVhZGVyLWlzc3VlLW9uLXNvbWUtZGlzdHJvLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBiYjllNDhlMzMxZWVlMDZkN2JhYzFkY2U4MDljNzAxOTFkMWEzYjRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBkM2UwYjhkYWM3YzJlYjIwZDdmY2ZmNzQ3YmM5OGI5ODFmNDM5OGVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVHVlLCAxMiBNYXIgMjAxMyAwOTo1NDowNiArMDgwMAogU3ViamVjdDogW1BBVENIXSBmaXggbGliY2FwIGhlYWRlciBpc3N1ZSBvbiBzb21lIGRpc3RybwpAQCAtNTQsMTIgKzU0LDEzIEBACiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCiAtLS0KICBmc2Rldi92aXJ0ZnMtcHJveHktaGVscGVyLmMgfCA3ICsrKysrLS0KICAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZnNkZXYvdmlydGZzLXByb3h5LWhlbHBlci5jIGIvZnNkZXYvdmlydGZzLXByb3h5LWhlbHBlci5jCi1pbmRleCA2ZjEzMmM1ZmYxLi44MzI5OTUwYzI2IDEwMDY0NAoraW5kZXggNmYxMzJjNWYuLjgzMjk5NTBjIDEwMDY0NAogLS0tIGEvZnNkZXYvdmlydGZzLXByb3h5LWhlbHBlci5jCiArKysgYi9mc2Rldi92aXJ0ZnMtcHJveHktaGVscGVyLmMKIEBAIC0xMyw3ICsxMyw2IEBACmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMy1jcHVzLmMtQWRkLWVycm9yLW1lc3NhZ2VzLXdoZW4tcWVtaV9jcHVfa2lja190aHJlYWQtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTMtY3B1cy5jLUFkZC1lcnJvci1tZXNzYWdlcy13aGVuLXFlbWlfY3B1X2tpY2tfdGhyZWFkLS5wYXRjaAppbmRleCA4YTkxNDFhLi4yN2U1MDhjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMy1jcHVzLmMtQWRkLWVycm9yLW1lc3NhZ2VzLXdoZW4tcWVtaV9jcHVfa2lja190aHJlYWQtLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDEzLWNwdXMuYy1BZGQtZXJyb3ItbWVzc2FnZXMtd2hlbi1xZW1pX2NwdV9raWNrX3RocmVhZC0ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGVkYzhkYmE3NGM3YTRhMjEyMWQ3NmM5ODJiZTAwNzQxODNiZjA4MGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDg2MWM1MjJkZjc3OTFkN2U5Mzc0M2Q1NjQxZjNlZjJhNWEzYzQ2MzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiA9P1VURi04P3E/QW49QzM9QURiYWw9MjBMaW09QzM9QjNuPz0gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CiBEYXRlOiBXZWQsIDEyIEF1ZyAyMDE1IDE1OjExOjMwIC0wNTAwCiBTdWJqZWN0OiBbUEFUQ0hdIGNwdXMuYzogQWRkIGVycm9yIG1lc3NhZ2VzIHdoZW4gcWVtaV9jcHVfa2lja190aHJlYWQgZmFpbHMuCkBAIC0xMiw2ICsxMiw3IEBACiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQogU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CisKIC0tLQogIGNwdXMuYyAgICAgICAgIHwgIDUgKysrKysKICBjdXN0b21fZGVidWcuaCB8IDI0ICsrKysrKysrKysrKysrKysrKysrKysrKwpAQCAtMTksMTAgKzIwLDEwIEBACiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGN1c3RvbV9kZWJ1Zy5oCiAKIGRpZmYgLS1naXQgYS9jcHVzLmMgYi9jcHVzLmMKLWluZGV4IDM4ZWJhOGJmZjMuLmI4NGE2MGE0ZjMgMTAwNjQ0CitpbmRleCAwZGRlZWVmYy4uNGYzYTU2MjQgMTAwNjQ0CiAtLS0gYS9jcHVzLmMKICsrKyBiL2NwdXMuYwotQEAgLTE2OTAsNiArMTY5MCw4IEBAIHN0YXRpYyB2b2lkICpxZW11X3RjZ19jcHVfdGhyZWFkX2ZuKHZvaWQgKmFyZykKK0BAIC0xNzY4LDYgKzE3NjgsOCBAQCBzdGF0aWMgdm9pZCAqcWVtdV90Y2dfY3B1X3RocmVhZF9mbih2b2lkICphcmcpCiAgICAgIHJldHVybiBOVUxMOwogIH0KICAKQEAgLTMxLDcgKzMyLDcgQEAKICBzdGF0aWMgdm9pZCBxZW11X2NwdV9raWNrX3RocmVhZChDUFVTdGF0ZSAqY3B1KQogIHsKICAjaWZuZGVmIF9XSU4zMgotQEAgLTE3MDIsNiArMTcwNCw5IEBAIHN0YXRpYyB2b2lkIHFlbXVfY3B1X2tpY2tfdGhyZWFkKENQVVN0YXRlICpjcHUpCitAQCAtMTc4MCw2ICsxNzgyLDkgQEAgc3RhdGljIHZvaWQgcWVtdV9jcHVfa2lja190aHJlYWQoQ1BVU3RhdGUgKmNwdSkKICAgICAgZXJyID0gcHRocmVhZF9raWxsKGNwdS0+dGhyZWFkLT50aHJlYWQsIFNJR19JUEkpOwogICAgICBpZiAoZXJyKSB7CiAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInFlbXU6JXM6ICVzIiwgX19mdW5jX18sIHN0cmVycm9yKGVycikpOwpAQCAtNDMsNyArNDQsNyBAQAogICNlbHNlIC8qIF9XSU4zMiAqLwogZGlmZiAtLWdpdCBhL2N1c3RvbV9kZWJ1Zy5oIGIvY3VzdG9tX2RlYnVnLmgKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi5mMDI5ZTQ1NTQ3CitpbmRleCAwMDAwMDAwMC4uZjAyOWU0NTUKIC0tLSAvZGV2L251bGwKICsrKyBiL2N1c3RvbV9kZWJ1Zy5oCiBAQCAtMCwwICsxLDI0IEBACmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNC1maXgtQ1ZFLTIwMTgtMTY4NzIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNC1maXgtQ1ZFLTIwMTgtMTY4NzIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEyYWExNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDE0LWZpeC1DVkUtMjAxOC0xNjg3Mi5wYXRjaApAQCAtMCwwICsxLDg1IEBACitDVkU6IENWRS0yMDE4LTE2ODcyCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdC5xZW11Lm9yZy8/cD1xZW11LmdpdDthPWNvbW1pdDtoPWJhYjlkZjM1XQorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKworRnJvbSBiYWI5ZGYzNWNlNzNkMWM4ZTE5YTM3ZTI3Mzc3MTdlYTFjOTg0ZGMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+CitEYXRlOiBUaHUsIDEzIERlYyAyMDE4IDEzOjI1OjExICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHVzYi1tdHA6IHVzZSBPX05PRk9MTE9XIGFuZCBPX0NMT0VYRUMuCisKK09wZW4gZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHdpdGggT19OT0ZPTExPVyB0byBhdm9pZCBzeW1saW5rcyBhdHRhY2tzLgorV2hpbGUgYmVpbmcgYXQgaXQgYWxzbyBhZGQgT19DTE9FWEVDLgorCit1c2ItbXRwIG9ubHkgaGFuZGxlcyByZWd1bGFyIGZpbGVzIGFuZCBkaXJlY3RvcmllcyBhbmQgaWdub3JlcworZXZlcnl0aGluZyBlbHNlLCBzbyB1c2VycyBzaG91bGQgbm90IHNlZSBhIGRpZmZlcmVuY2UuCisKK0JlY2F1c2UgcWVtdSBpZ25vcmVzIHN5bWxpbmtzLCBjYXJyeWluZyBvdXQgYSBzdWNjZXNzZnVsIHN5bWxpbmsgYXR0YWNrCityZXF1aXJlcyBzd2FwcGluZyBhbiBleGlzdGluZyBmaWxlIG9yIGRpcmVjdG9yeSBiZWxvdyByb290ZGlyIGZvciBhCitzeW1saW5rIGFuZCB3aW5uaW5nIHRoZSByYWNlIGFnYWluc3QgdGhlIGlub3RpZnkgbm90aWZpY2F0aW9uIHRvIHFlbXUuCisKK0ZpeGVzOiBDVkUtMjAxOC0xNjg3MgorQ2M6IFByYXNhZCBKIFBhbmRpdCA8cHBhbmRpdEByZWRoYXQuY29tPgorQ2M6IEJhbmRhbiBEYXMgPGJzZEByZWRoYXQuY29tPgorUmVwb3J0ZWQtYnk6IE1pY2hhZWwgSGFuc2VsbWFubiA8cHVibGljQGhhbnNtaS5jaD4KK1NpZ25lZC1vZmYtYnk6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IE1pY2hhZWwgSGFuc2VsbWFubiA8cHVibGljQGhhbnNtaS5jaD4KK01lc3NhZ2UtaWQ6IDIwMTgxMjEzMTIyNTExLjEzODUzLTEta3JheGVsQHJlZGhhdC5jb20KKy0tLQorIGh3L3VzYi9kZXYtbXRwLmMgfCAxMyArKysrKysrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3VzYi9kZXYtbXRwLmMgYi9ody91c2IvZGV2LW10cC5jCitpbmRleCAxMDBiNzE3MWY0Li4zNmM0M2I4YzIwIDEwMDY0NAorLS0tIGEvaHcvdXNiL2Rldi1tdHAuYworKysrIGIvaHcvdXNiL2Rldi1tdHAuYworQEAgLTY1MywxMyArNjUzLDE4IEBAIHN0YXRpYyB2b2lkIHVzYl9tdHBfb2JqZWN0X3JlYWRkaXIoTVRQU3RhdGUgKnMsIE1UUE9iamVjdCAqbykKKyB7CisgICAgIHN0cnVjdCBkaXJlbnQgKmVudHJ5OworICAgICBESVIgKmRpcjsKKysgICAgaW50IGZkOworIAorICAgICBpZiAoby0+aGF2ZV9jaGlsZHJlbikgeworICAgICAgICAgcmV0dXJuOworICAgICB9CisgICAgIG8tPmhhdmVfY2hpbGRyZW4gPSB0cnVlOworIAorLSAgICBkaXIgPSBvcGVuZGlyKG8tPnBhdGgpOworKyAgICBmZCA9IG9wZW4oby0+cGF0aCwgT19ESVJFQ1RPUlkgfCBPX0NMT0VYRUMgfCBPX05PRk9MTE9XKTsKKysgICAgaWYgKGZkIDwgMCkgeworKyAgICAgICAgcmV0dXJuOworKyAgICB9CisrICAgIGRpciA9IGZkb3BlbmRpcihmZCk7CisgICAgIGlmICghZGlyKSB7CisgICAgICAgICByZXR1cm47CisgICAgIH0KK0BAIC0xMDA3LDcgKzEwMTIsNyBAQCBzdGF0aWMgTVRQRGF0YSAqdXNiX210cF9nZXRfb2JqZWN0KE1UUFN0YXRlICpzLCBNVFBDb250cm9sICpjLAorIAorICAgICB0cmFjZV91c2JfbXRwX29wX2dldF9vYmplY3Qocy0+ZGV2LmFkZHIsIG8tPmhhbmRsZSwgby0+cGF0aCk7CisgCistICAgIGQtPmZkID0gb3BlbihvLT5wYXRoLCBPX1JET05MWSk7CisrICAgIGQtPmZkID0gb3BlbihvLT5wYXRoLCBPX1JET05MWSB8IE9fQ0xPRVhFQyB8IE9fTk9GT0xMT1cpOworICAgICBpZiAoZC0+ZmQgPT0gLTEpIHsKKyAgICAgICAgIHVzYl9tdHBfZGF0YV9mcmVlKGQpOworICAgICAgICAgcmV0dXJuIE5VTEw7CitAQCAtMTAzMSw3ICsxMDM2LDcgQEAgc3RhdGljIE1UUERhdGEgKnVzYl9tdHBfZ2V0X3BhcnRpYWxfb2JqZWN0KE1UUFN0YXRlICpzLCBNVFBDb250cm9sICpjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLT5hcmd2WzFdLCBjLT5hcmd2WzJdKTsKKyAKKyAgICAgZCA9IHVzYl9tdHBfZGF0YV9hbGxvYyhjKTsKKy0gICAgZC0+ZmQgPSBvcGVuKG8tPnBhdGgsIE9fUkRPTkxZKTsKKysgICAgZC0+ZmQgPSBvcGVuKG8tPnBhdGgsIE9fUkRPTkxZIHwgT19DTE9FWEVDIHwgT19OT0ZPTExPVyk7CisgICAgIGlmIChkLT5mZCA9PSAtMSkgeworICAgICAgICAgdXNiX210cF9kYXRhX2ZyZWUoZCk7CisgICAgICAgICByZXR1cm4gTlVMTDsKK0BAIC0xNjU4LDcgKzE2NjMsNyBAQCBzdGF0aWMgdm9pZCB1c2JfbXRwX3dyaXRlX2RhdGEoTVRQU3RhdGUgKnMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCk7CisgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAgfQorLSAgICAgICAgZC0+ZmQgPSBvcGVuKHBhdGgsIE9fQ1JFQVQgfCBPX1dST05MWSwgbWFzayk7CisrICAgICAgICBkLT5mZCA9IG9wZW4ocGF0aCwgT19DUkVBVCB8IE9fV1JPTkxZIHwgT19DTE9FWEVDIHwgT19OT0ZPTExPVywgbWFzayk7CisgICAgICAgICBpZiAoZC0+ZmQgPT0gLTEpIHsKKyAgICAgICAgICAgICB1c2JfbXRwX3F1ZXVlX3Jlc3VsdChzLCBSRVNfU1RPUkVfRlVMTCwgZC0+dHJhbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCk7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNS1maXgtQ1ZFLTIwMTgtMjAxMjQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNS1maXgtQ1ZFLTIwMTgtMjAxMjQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg1YjgxOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDE1LWZpeC1DVkUtMjAxOC0yMDEyNC5wYXRjaApAQCAtMCwwICsxLDYwIEBACitDVkU6IENWRS0yMDE4LTIwMTI0CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdC5xZW11Lm9yZy8/cD1xZW11LmdpdDthPWNvbW1pdDtoPTBlNjgzNzNdCisKK0JhY2twb3J0IHBhdGNoIHRvIGZpeCBDVkUtMjAxOC0yMDEyNC4gVXBkYXRlIGNvbnRleHQgYW5kIHN0YXkgd2l0aCBjdXJyZW50CitmdW5jdGlvbiBjb21wX2hhbmRsZXIoKSB3aGljaCBoYXMgYmVlbiByZXBsYWNlZCB3aXRoIGNvbXBsZXRlX3dvcmsoKSBpbiBsYXRlc3QKK2dpdCByZXBvLgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKworRnJvbSAwZTY4MzczY2MyYjNhMDYzY2UwNjdiYzBjYzNlZGFmMzcwNzUyODkwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUHJhc2FkIEogUGFuZGl0IDxwanBAZmVkb3JhcHJvamVjdC5vcmc+CitEYXRlOiBUaHUsIDEzIERlYyAyMDE4IDAxOjAwOjM0ICswNTMwCitTdWJqZWN0OiBbUEFUQ0hdIHJkbWE6IGNoZWNrIG51bV9zZ2UgZG9lcyBub3QgZXhjZWVkIE1BWF9TR0UKKworcmRtYSBiYWNrLWVuZCBoYXMgc2NhdHRlci9nYXRoZXIgYXJyYXkgaWJ2X3NnZVtNQVhfU0dFPTRdIHNldAordG8gaGF2ZSA0IGVsZW1lbnRzLiBBIGd1ZXN0IGNvdWxkIHNlbmQgYSAnUHZyZG1hU3FXcWUnIHJpbmcgZWxlbWVudAord2l0aCAnbnVtX3NnZScgc2V0IHRvID4gTUFYX1NHRSwgd2hpY2ggbWF5IGxlYWQgdG8gT09CIGFjY2VzcyBpc3N1ZS4KK0FkZCBjaGVjayB0byBhdm9pZCBpdC4KKworUmVwb3J0ZWQtYnk6IFNhYXIgQW1hciA8c2FhcmFtYXI1QGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFByYXNhZCBKIFBhbmRpdCA8cGpwQGZlZG9yYXByb2plY3Qub3JnPgorUmV2aWV3ZWQtYnk6IFl1dmFsIFNoYWlhIDx5dXZhbC5zaGFpYUBvcmFjbGUuY29tPgorU2lnbmVkLW9mZi1ieTogTWFyY2VsIEFwZmVsYmF1bSA8bWFyY2VsLmFwZmVsYmF1bUBnbWFpbC5jb20+CistLS0KKyBody9yZG1hL3JkbWFfYmFja2VuZC5jIHwgMTIgKysrKysrLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3JkbWEvcmRtYV9iYWNrZW5kLmMgYi9ody9yZG1hL3JkbWFfYmFja2VuZC5jCitpbmRleCBkN2E0YmJkOS4uN2Y4MDI4ZjggMTAwNjQ0CistLS0gYS9ody9yZG1hL3JkbWFfYmFja2VuZC5jCisrKysgYi9ody9yZG1hL3JkbWFfYmFja2VuZC5jCitAQCAtMzExLDkgKzMxMSw5IEBAIHZvaWQgcmRtYV9iYWNrZW5kX3Bvc3Rfc2VuZChSZG1hQmFja2VuZERldiAqYmFja2VuZF9kZXYsCisgICAgIH0KKyAKKyAgICAgcHJfZGJnKCJudW1fc2dlPSVkXG4iLCBudW1fc2dlKTsKKy0gICAgaWYgKCFudW1fc2dlKSB7CistICAgICAgICBwcl9kYmcoIm51bV9zZ2U9MFxuIik7CistICAgICAgICBjb21wX2hhbmRsZXIoSUJWX1dDX0dFTkVSQUxfRVJSLCBWRU5ET1JfRVJSX05PX1NHRSwgY3R4KTsKKysgICAgaWYgKCFudW1fc2dlIHx8IG51bV9zZ2UgPiBNQVhfU0dFKSB7CisrICAgICAgICBwcl9kYmcoImludmFsaWQgbnVtX3NnZT0lZFxuIiwgbnVtX3NnZSk7CisrICAgICAgICBjb21wX2hhbmRsZXIoSUJWX1dDX0dFTkVSQUxfRVJSLCBWRU5ET1JfRVJSX05PX1NHRSwgY3R4KTsKKyAgICAgICAgIHJldHVybjsKKyAgICAgfQorIAorQEAgLTM5MCw5ICszOTAsOSBAQCB2b2lkIHJkbWFfYmFja2VuZF9wb3N0X3JlY3YoUmRtYUJhY2tlbmREZXYgKmJhY2tlbmRfZGV2LAorICAgICB9CisgCisgICAgIHByX2RiZygibnVtX3NnZT0lZFxuIiwgbnVtX3NnZSk7CistICAgIGlmICghbnVtX3NnZSkgeworLSAgICAgICAgcHJfZGJnKCJudW1fc2dlPTBcbiIpOworLSAgICAgICAgY29tcF9oYW5kbGVyKElCVl9XQ19HRU5FUkFMX0VSUiwgVkVORE9SX0VSUl9OT19TR0UsIGN0eCk7CisrICAgIGlmICghbnVtX3NnZSB8fCBudW1fc2dlID4gTUFYX1NHRSkgeworKyAgICAgICAgcHJfZGJnKCJpbnZhbGlkIG51bV9zZ2U9JWRcbiIsIG51bV9zZ2UpOworKyAgICAgICAgY29tcF9oYW5kbGVyKElCVl9XQ19HRU5FUkFMX0VSUiwgVkVORE9SX0VSUl9OT19TR0UsIGN0eCk7CisgICAgICAgICByZXR1cm47CisgICAgIH0KKyAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDE2LWZpeC1DVkUtMjAxOC0yMDEyNS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDE2LWZpeC1DVkUtMjAxOC0yMDEyNS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjU1OWM4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTYtZml4LUNWRS0yMDE4LTIwMTI1LnBhdGNoCkBAIC0wLDAgKzEsNTQgQEAKK0NWRTogQ1ZFLTIwMTgtMjAxMjUKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0LnFlbXUub3JnLz9wPXFlbXUuZ2l0O2E9Y29tbWl0O2g9MmM4NThjZV0KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CisKK0Zyb20gMmM4NThjZTVkYThhZTY2ODljNzUxODJiNzNiYzQ1NWEyOTFjYWQ0MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFByYXNhZCBKIFBhbmRpdCA8cGpwQGZlZG9yYXByb2plY3Qub3JnPgorRGF0ZTogVGh1LCAxMyBEZWMgMjAxOCAwMTowMDozNiArMDUzMAorU3ViamVjdDogW1BBVENIXSBwdnJkbWE6IGNoZWNrIG51bWJlciBvZiBwYWdlcyB3aGVuIGNyZWF0aW5nIHJpbmdzCisKK1doZW4gY3JlYXRpbmcgQ1EvUVAgcmluZ3MsIGFuIG9iamVjdCBjYW4gaGF2ZSB1cCB0bworUFZSRE1BX01BWF9GQVNUX1JFR19QQUdFUyA4IHBhZ2VzLiBDaGVjayAnbnBhZ2VzJyBwYXJhbWV0ZXIKK3RvIGF2b2lkIGV4Y2Vzc2l2ZSBtZW1vcnkgYWxsb2NhdGlvbiBvciBhIG51bGwgZGVyZWZlcmVuY2UuCisKK1JlcG9ydGVkLWJ5OiBMaSBRaWFuZyA8bGlxM2VhQDE2My5jb20+CitTaWduZWQtb2ZmLWJ5OiBQcmFzYWQgSiBQYW5kaXQgPHBqcEBmZWRvcmFwcm9qZWN0Lm9yZz4KK1Jldmlld2VkLWJ5OiBZdXZhbCBTaGFpYSA8eXV2YWwuc2hhaWFAb3JhY2xlLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hcmNlbCBBcGZlbGJhdW0gPG1hcmNlbC5hcGZlbGJhdW1AZ21haWwuY29tPgorLS0tCisgaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jIHwgMTEgKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jIGIvaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jCitpbmRleCAzYjk0NTQ1NzYxLi5mMjM2YWM0Nzk1IDEwMDY0NAorLS0tIGEvaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jCisrKysgYi9ody9yZG1hL3Ztdy9wdnJkbWFfY21kLmMKK0BAIC0yNTksNiArMjU5LDExIEBAIHN0YXRpYyBpbnQgY3JlYXRlX2NxX3JpbmcoUENJRGV2aWNlICpwY2lfZGV2ICwgUHZyZG1hUmluZyAqKnJpbmcsCisgICAgIGludCByYyA9IC1FSU5WQUw7CisgICAgIGNoYXIgcmluZ19uYW1lW01BWF9SSU5HX05BTUVfU1pdOworIAorKyAgICBpZiAoIW5jaHVua3MgfHwgbmNodW5rcyA+IFBWUkRNQV9NQVhfRkFTVF9SRUdfUEFHRVMpIHsKKysgICAgICAgIHByX2RiZygiaW52YWxpZCBuY2h1bmtzOiAlZFxuIiwgbmNodW5rcyk7CisrICAgICAgICByZXR1cm4gcmM7CisrICAgIH0KKysKKyAgICAgcHJfZGJnKCJwZGlyX2RtYT0weCVsbHhcbiIsIChsb25nIGxvbmcgdW5zaWduZWQgaW50KXBkaXJfZG1hKTsKKyAgICAgZGlyID0gcmRtYV9wY2lfZG1hX21hcChwY2lfZGV2LCBwZGlyX2RtYSwgVEFSR0VUX1BBR0VfU0laRSk7CisgICAgIGlmICghZGlyKSB7CitAQCAtMzcyLDYgKzM3NywxMiBAQCBzdGF0aWMgaW50IGNyZWF0ZV9xcF9yaW5ncyhQQ0lEZXZpY2UgKnBjaV9kZXYsIHVpbnQ2NF90IHBkaXJfZG1hLAorICAgICBjaGFyIHJpbmdfbmFtZVtNQVhfUklOR19OQU1FX1NaXTsKKyAgICAgdWludDMyX3Qgd3FlX3N6OworIAorKyAgICBpZiAoIXNwYWdlcyB8fCBzcGFnZXMgPiBQVlJETUFfTUFYX0ZBU1RfUkVHX1BBR0VTCisrICAgICAgICB8fCAhcnBhZ2VzIHx8IHJwYWdlcyA+IFBWUkRNQV9NQVhfRkFTVF9SRUdfUEFHRVMpIHsKKysgICAgICAgIHByX2RiZygiaW52YWxpZCBwYWdlczogJWQsICVkXG4iLCBzcGFnZXMsIHJwYWdlcyk7CisrICAgICAgICByZXR1cm4gcmM7CisrICAgIH0KKysKKyAgICAgcHJfZGJnKCJwZGlyX2RtYT0weCVsbHhcbiIsIChsb25nIGxvbmcgdW5zaWduZWQgaW50KXBkaXJfZG1hKTsKKyAgICAgZGlyID0gcmRtYV9wY2lfZG1hX21hcChwY2lfZGV2LCBwZGlyX2RtYSwgVEFSR0VUX1BBR0VfU0laRSk7CisgICAgIGlmICghZGlyKSB7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNy1maXgtQ1ZFLTIwMTgtMjAxMjYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNy1maXgtQ1ZFLTIwMTgtMjAxMjYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODMyOWYyYwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDE3LWZpeC1DVkUtMjAxOC0yMDEyNi5wYXRjaApAQCAtMCwwICsxLDExMyBAQAorQ1ZFOiBDVkUtMjAxOC0yMDEyNgorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQucWVtdS5vcmcvP3A9cWVtdS5naXQ7YT1jb21taXQ7aD01MDlmNTdjXQorCitCYWNrcG9ydCBhbmQgcmViYXNlIHBhdGNoIHRvIGZpeCBDVkUtMjAxOC0yMDEyNi4KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CisKK0Zyb20gNTA5ZjU3Yzk4ZTc1MzY5MDViYjQ5MDIzNjNkMGNiYTY2Y2U3ZTA4OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFByYXNhZCBKIFBhbmRpdCA8cGpwQGZlZG9yYXByb2plY3Qub3JnPgorRGF0ZTogVGh1LCAxMyBEZWMgMjAxOCAwMTowMDozNyArMDUzMAorU3ViamVjdDogW1BBVENIXSBwdnJkbWE6IHJlbGVhc2UgcmluZyBvYmplY3QgaW4gY2FzZSBvZiBhbiBlcnJvcgorCitjcmVhdGVfY3EgYW5kIGNyZWF0ZV9xcCByb3V0aW5lcyBhbGxvY2F0ZSByaW5nIG9iamVjdCwgYnV0IGl0J3MKK25vdCByZWxlYXNlZCBpbiBjYXNlIG9mIGFuIGVycm9yLCBsZWFkaW5nIHRvIG1lbW9yeSBsZWFrYWdlLgorCitSZXBvcnRlZC1ieTogTGkgUWlhbmcgPGxpcTNlYUAxNjMuY29tPgorU2lnbmVkLW9mZi1ieTogUHJhc2FkIEogUGFuZGl0IDxwanBAZmVkb3JhcHJvamVjdC5vcmc+CitSZXZpZXdlZC1ieTogWXV2YWwgU2hhaWEgPHl1dmFsLnNoYWlhQG9yYWNsZS5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXJjZWwgQXBmZWxiYXVtIDxtYXJjZWwuYXBmZWxiYXVtQGdtYWlsLmNvbT4KKy0tLQorIGh3L3JkbWEvdm13L3B2cmRtYV9jbWQuYyB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jIGIvaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jCitpbmRleCA0ZmFlYjIxLi45YjY3OTZmIDEwMDY0NAorLS0tIGEvaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jCisrKysgYi9ody9yZG1hL3Ztdy9wdnJkbWFfY21kLmMKK0BAIC0zMTAsNiArMzEwLDE0IEBAIG91dDoKKyAgICAgcmV0dXJuIHJjOworIH0KKyAKKytzdGF0aWMgdm9pZCBkZXN0cm95X2NxX3JpbmcoUHZyZG1hUmluZyAqcmluZykKKyt7CisrICAgIHB2cmRtYV9yaW5nX2ZyZWUocmluZyk7CisrICAgIC8qIHJpbmdfc3RhdGUgd2FzIGluIHNsb3QgMSwgbm90IDAgc28gbmVlZCB0byBqdW1wIGJhY2sgKi8KKysgICAgcmRtYV9wY2lfZG1hX3VubWFwKHJpbmctPmRldiwgLS1yaW5nLT5yaW5nX3N0YXRlLCBUQVJHRVRfUEFHRV9TSVpFKTsKKysgICAgZ19mcmVlKHJpbmcpOworK30KKysKKyBzdGF0aWMgaW50IGNyZWF0ZV9jcShQVlJETUFEZXYgKmRldiwgdW5pb24gcHZyZG1hX2NtZF9yZXEgKnJlcSwKKyAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBwdnJkbWFfY21kX3Jlc3AgKnJzcCkKKyB7CitAQCAtMzMzLDYgKzM0MSwxMCBAQCBzdGF0aWMgaW50IGNyZWF0ZV9jcShQVlJETUFEZXYgKmRldiwgdW5pb24gcHZyZG1hX2NtZF9yZXEgKnJlcSwKKyAKKyAgICAgcmVzcC0+aGRyLmVyciA9IHJkbWFfcm1fYWxsb2NfY3EoJmRldi0+cmRtYV9kZXZfcmVzLCAmZGV2LT5iYWNrZW5kX2RldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY21kLT5jcWUsICZyZXNwLT5jcV9oYW5kbGUsIHJpbmcpOworKyAgICBpZiAocmVzcC0+aGRyLmVycikgeworKyAgICAgICAgZGVzdHJveV9jcV9yaW5nKHJpbmcpOworKyAgICB9CisrCisgICAgIHJlc3AtPmNxZSA9IGNtZC0+Y3FlOworIAorIG91dDoKK0BAIC0zNTYsMTAgKzM2OCw3IEBAIHN0YXRpYyBpbnQgZGVzdHJveV9jcShQVlJETUFEZXYgKmRldiwgdW5pb24gcHZyZG1hX2NtZF9yZXEgKnJlcSwKKyAgICAgfQorIAorICAgICByaW5nID0gKFB2cmRtYVJpbmcgKiljcS0+b3BhcXVlOworLSAgICBwdnJkbWFfcmluZ19mcmVlKHJpbmcpOworLSAgICAvKiByaW5nX3N0YXRlIHdhcyBpbiBzbG90IDEsIG5vdCAwIHNvIG5lZWQgdG8ganVtcCBiYWNrICovCistICAgIHJkbWFfcGNpX2RtYV91bm1hcChQQ0lfREVWSUNFKGRldiksIC0tcmluZy0+cmluZ19zdGF0ZSwgVEFSR0VUX1BBR0VfU0laRSk7CistICAgIGdfZnJlZShyaW5nKTsKKysgICAgZGVzdHJveV9jcV9yaW5nKHJpbmcpOworIAorICAgICByZG1hX3JtX2RlYWxsb2NfY3EoJmRldi0+cmRtYV9kZXZfcmVzLCBjbWQtPmNxX2hhbmRsZSk7CisgCitAQCAtNDUxLDYgKzQ2MCwxNyBAQCBvdXQ6CisgICAgIHJldHVybiByYzsKKyB9CisgCisrc3RhdGljIHZvaWQgZGVzdHJveV9xcF9yaW5ncyhQdnJkbWFSaW5nICpyaW5nKQorK3sKKysgICAgcHJfZGJnKCJzcmluZz0lcFxuIiwgJnJpbmdbMF0pOworKyAgICBwdnJkbWFfcmluZ19mcmVlKCZyaW5nWzBdKTsKKysgICAgcHJfZGJnKCJycmluZz0lcFxuIiwgJnJpbmdbMV0pOworKyAgICBwdnJkbWFfcmluZ19mcmVlKCZyaW5nWzFdKTsKKysKKysgICAgcmRtYV9wY2lfZG1hX3VubWFwKHJpbmctPmRldiwgcmluZy0+cmluZ19zdGF0ZSwgVEFSR0VUX1BBR0VfU0laRSk7CisrICAgIGdfZnJlZShyaW5nKTsKKyt9CisrCisgc3RhdGljIGludCBjcmVhdGVfcXAoUFZSRE1BRGV2ICpkZXYsIHVuaW9uIHB2cmRtYV9jbWRfcmVxICpyZXEsCisgICAgICAgICAgICAgICAgICAgICAgdW5pb24gcHZyZG1hX2NtZF9yZXNwICpyc3ApCisgeworQEAgLTQ4Miw2ICs1MDIsMTEgQEAgc3RhdGljIGludCBjcmVhdGVfcXAoUFZSRE1BRGV2ICpkZXYsIHVuaW9uIHB2cmRtYV9jbWRfcmVxICpyZXEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZC0+bWF4X3JlY3Zfd3IsIGNtZC0+bWF4X3JlY3Zfc2dlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWQtPnJlY3ZfY3FfaGFuZGxlLCByaW5ncywgJnJlc3AtPnFwbik7CisgCisrICAgIGlmIChyZXNwLT5oZHIuZXJyKSB7CisrICAgICAgICBkZXN0cm95X3FwX3JpbmdzKHJpbmdzKTsKKysgICAgICAgIHJldHVybiByZXNwLT5oZHIuZXJyOworKyAgICB9CisrCisgICAgIHJlc3AtPm1heF9zZW5kX3dyID0gY21kLT5tYXhfc2VuZF93cjsKKyAgICAgcmVzcC0+bWF4X3JlY3Zfd3IgPSBjbWQtPm1heF9yZWN2X3dyOworICAgICByZXNwLT5tYXhfc2VuZF9zZ2UgPSBjbWQtPm1heF9zZW5kX3NnZTsKK0BAIC01NTUsMTMgKzU4MCw3IEBAIHN0YXRpYyBpbnQgZGVzdHJveV9xcChQVlJETUFEZXYgKmRldiwgdW5pb24gcHZyZG1hX2NtZF9yZXEgKnJlcSwKKyAgICAgcmRtYV9ybV9kZWFsbG9jX3FwKCZkZXYtPnJkbWFfZGV2X3JlcywgY21kLT5xcF9oYW5kbGUpOworIAorICAgICByaW5nID0gKFB2cmRtYVJpbmcgKilxcC0+b3BhcXVlOworLSAgICBwcl9kYmcoInNyaW5nPSVwXG4iLCAmcmluZ1swXSk7CistICAgIHB2cmRtYV9yaW5nX2ZyZWUoJnJpbmdbMF0pOworLSAgICBwcl9kYmcoInJyaW5nPSVwXG4iLCAmcmluZ1sxXSk7CistICAgIHB2cmRtYV9yaW5nX2ZyZWUoJnJpbmdbMV0pOworLQorLSAgICByZG1hX3BjaV9kbWFfdW5tYXAoUENJX0RFVklDRShkZXYpLCByaW5nLT5yaW5nX3N0YXRlLCBUQVJHRVRfUEFHRV9TSVpFKTsKKy0gICAgZ19mcmVlKHJpbmcpOworKyAgICBkZXN0cm95X3FwX3JpbmdzKHJpbmcpOworIAorICAgICByZXR1cm4gMDsKKyB9CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxOC1maXgtQ1ZFLTIwMTgtMjAxOTEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxOC1maXgtQ1ZFLTIwMTgtMjAxOTEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY4ZmYwNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDE4LWZpeC1DVkUtMjAxOC0yMDE5MS5wYXRjaApAQCAtMCwwICsxLDQ3IEBACitDVkU6IENWRS0yMDE4LTIwMTkxCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdC5xZW11Lm9yZy8/cD1xZW11LmdpdDthPWNvbW1pdDtoPTJhYTg2NDVdCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorCitGcm9tIDJhYTg2NDU2ZmI5MzhhMTFmMmI3YmQ1N2M4NjQzYzIxMzIxODY4MWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQcmFzYWQgSiBQYW5kaXQgPHBqcEBmZWRvcmFwcm9qZWN0Lm9yZz4KK0RhdGU6IFRodSwgMTMgRGVjIDIwMTggMDE6MDA6MzUgKzA1MzAKK1N1YmplY3Q6IFtQQVRDSF0gcHZyZG1hOiBhZGQgdWFyX3JlYWQgcm91dGluZQorCitEZWZpbmUgc2tlbGV0b24gJ3Vhcl9yZWFkJyByb3V0aW5lLiBBdm9pZCBOVUxMIGRlcmVmZXJlbmNlLgorCitSZXBvcnRlZC1ieTogTGkgUWlhbmcgPGxpcTNlYUAxNjMuY29tPgorU2lnbmVkLW9mZi1ieTogUHJhc2FkIEogUGFuZGl0IDxwanBAZmVkb3JhcHJvamVjdC5vcmc+CitSZXZpZXdlZC1ieTogTWFyY2VsIEFwZmVsYmF1bSA8bWFyY2VsLmFwZmVsYmF1bUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXJjZWwgQXBmZWxiYXVtIDxtYXJjZWwuYXBmZWxiYXVtQGdtYWlsLmNvbT4KKy0tLQorIGh3L3JkbWEvdm13L3B2cmRtYV9tYWluLmMgfCA2ICsrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2h3L3JkbWEvdm13L3B2cmRtYV9tYWluLmMgYi9ody9yZG1hL3Ztdy9wdnJkbWFfbWFpbi5jCitpbmRleCA2NGRlMTZmYjUyLi44MzhhZDhhOTQ5IDEwMDY0NAorLS0tIGEvaHcvcmRtYS92bXcvcHZyZG1hX21haW4uYworKysrIGIvaHcvcmRtYS92bXcvcHZyZG1hX21haW4uYworQEAgLTQ0OCw2ICs0NDgsMTEgQEAgc3RhdGljIGNvbnN0IE1lbW9yeVJlZ2lvbk9wcyByZWdzX29wcyA9IHsKKyAgICAgfSwKKyB9OworIAorK3N0YXRpYyB1aW50NjRfdCB1YXJfcmVhZCh2b2lkICpvcGFxdWUsIGh3YWRkciBhZGRyLCB1bnNpZ25lZCBzaXplKQorK3sKKysgICAgcmV0dXJuIDB4ZmZmZmZmZmY7CisrfQorKworIHN0YXRpYyB2b2lkIHVhcl93cml0ZSh2b2lkICpvcGFxdWUsIGh3YWRkciBhZGRyLCB1aW50NjRfdCB2YWwsIHVuc2lnbmVkIHNpemUpCisgeworICAgICBQVlJETUFEZXYgKmRldiA9IG9wYXF1ZTsKK0BAIC00ODksNiArNDk0LDcgQEAgc3RhdGljIHZvaWQgdWFyX3dyaXRlKHZvaWQgKm9wYXF1ZSwgaHdhZGRyIGFkZHIsIHVpbnQ2NF90IHZhbCwgdW5zaWduZWQgc2l6ZSkKKyB9CisgCisgc3RhdGljIGNvbnN0IE1lbW9yeVJlZ2lvbk9wcyB1YXJfb3BzID0geworKyAgICAucmVhZCA9IHVhcl9yZWFkLAorICAgICAud3JpdGUgPSB1YXJfd3JpdGUsCisgICAgIC5lbmRpYW5uZXNzID0gREVWSUNFX0xJVFRMRV9FTkRJQU4sCisgICAgIC5pbXBsID0geworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTktZml4LUNWRS0yMDE4LTIwMjE2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTktZml4LUNWRS0yMDE4LTIwMjE2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwMmJhZDMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxOS1maXgtQ1ZFLTIwMTgtMjAyMTYucGF0Y2gKQEAgLTAsMCArMSw4NSBAQAorQ1ZFOiBDVkUtMjAxOC0yMDIxNgorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQucWVtdS5vcmcvP3A9cWVtdS5naXQ7YT1jb21taXQ7aD1mMWUyZTM4XQorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKworRnJvbSBmMWUyZTM4ZWUwMTM2Yjc3MTBhMmNhYTM0NzA0OTgxOGFmZDU3YTFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUHJhc2FkIEogUGFuZGl0IDxwanBAZmVkb3JhcHJvamVjdC5vcmc+CitEYXRlOiBUaHUsIDEzIERlYyAyMDE4IDAxOjAwOjM5ICswNTMwCitTdWJqZWN0OiBbUEFUQ0hdIHB2cmRtYTogY2hlY2sgcmV0dXJuIHZhbHVlIGZyb20gcHZyZG1hX2lkeF9yaW5nX2hhc18gcm91dGluZXMKKworcHZyZG1hX2lkeF9yaW5nX2hhc19bZGF0YS9zcGFjZV0gcm91dGluZXMgYWxzbyByZXR1cm4gaW52YWxpZAoraW5kZXggUFZSRE1BX0lOVkFMSURfSURYWz0tMV0sIGlmIHJpbmcgaGFzIG5vIGRhdGEvc3BhY2UuIENoZWNrCityZXR1cm4gdmFsdWUgZnJvbSB0aGVzZSByb3V0aW5lcyB0byBhdm9pZCBwbGF1c2libGUgaW5maW5pdGUgbG9vcHMuCisKK1JlcG9ydGVkLWJ5OiBMaSBRaWFuZyA8bGlxM2VhQDE2My5jb20+CitTaWduZWQtb2ZmLWJ5OiBQcmFzYWQgSiBQYW5kaXQgPHBqcEBmZWRvcmFwcm9qZWN0Lm9yZz4KK1Jldmlld2VkLWJ5OiBZdXZhbCBTaGFpYSA8eXV2YWwuc2hhaWFAb3JhY2xlLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hcmNlbCBBcGZlbGJhdW0gPG1hcmNlbC5hcGZlbGJhdW1AZ21haWwuY29tPgorLS0tCisgaHcvcmRtYS92bXcvcHZyZG1hX2Rldl9yaW5nLmMgfCAyOSArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3JkbWEvdm13L3B2cmRtYV9kZXZfcmluZy5jIGIvaHcvcmRtYS92bXcvcHZyZG1hX2Rldl9yaW5nLmMKK2luZGV4IDAxMjQ3ZmMwNDEuLmU4ZTViNTAyZjYgMTAwNjQ0CistLS0gYS9ody9yZG1hL3Ztdy9wdnJkbWFfZGV2X3JpbmcuYworKysrIGIvaHcvcmRtYS92bXcvcHZyZG1hX2Rldl9yaW5nLmMKK0BAIC03MywyMyArNzMsMTYgQEAgb3V0OgorIAorIHZvaWQgKnB2cmRtYV9yaW5nX25leHRfZWxlbV9yZWFkKFB2cmRtYVJpbmcgKnJpbmcpCisgeworKyAgICBpbnQgZTsKKyAgICAgdW5zaWduZWQgaW50IGlkeCA9IDAsIG9mZnNldDsKKyAKKy0gICAgLyoKKy0gICAgcHJfZGJnKCIlczogdD0lZCwgaD0lZFxuIiwgcmluZy0+bmFtZSwgcmluZy0+cmluZ19zdGF0ZS0+cHJvZF90YWlsLAorLSAgICAgICAgICAgcmluZy0+cmluZ19zdGF0ZS0+Y29uc19oZWFkKTsKKy0gICAgKi8KKy0KKy0gICAgaWYgKCFwdnJkbWFfaWR4X3JpbmdfaGFzX2RhdGEocmluZy0+cmluZ19zdGF0ZSwgcmluZy0+bWF4X2VsZW1zLCAmaWR4KSkgeworKyAgICBlID0gcHZyZG1hX2lkeF9yaW5nX2hhc19kYXRhKHJpbmctPnJpbmdfc3RhdGUsIHJpbmctPm1heF9lbGVtcywgJmlkeCk7CisrICAgIGlmIChlIDw9IDApIHsKKyAgICAgICAgIHByX2RiZygiTm8gbW9yZSBkYXRhIGluIHJpbmdcbiIpOworICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgIH0KKyAKKyAgICAgb2Zmc2V0ID0gaWR4ICogcmluZy0+ZWxlbV9zejsKKy0gICAgLyoKKy0gICAgcHJfZGJnKCJpZHg9JWRcbiIsIGlkeCk7CistICAgIHByX2RiZygib2Zmc2V0PSVkXG4iLCBvZmZzZXQpOworLSAgICAqLworICAgICByZXR1cm4gcmluZy0+cGFnZXNbb2Zmc2V0IC8gVEFSR0VUX1BBR0VfU0laRV0gKyAob2Zmc2V0ICUgVEFSR0VUX1BBR0VfU0laRSk7CisgfQorIAorQEAgLTEwNSwyMCArOTgsMjAgQEAgdm9pZCBwdnJkbWFfcmluZ19yZWFkX2luYyhQdnJkbWFSaW5nICpyaW5nKQorIAorIHZvaWQgKnB2cmRtYV9yaW5nX25leHRfZWxlbV93cml0ZShQdnJkbWFSaW5nICpyaW5nKQorIHsKKy0gICAgdW5zaWduZWQgaW50IGlkeCwgb2Zmc2V0LCB0YWlsOworKyAgICBpbnQgaWR4OworKyAgICB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB0YWlsOworIAorLSAgICAvKgorLSAgICBwcl9kYmcoIiVzOiB0PSVkLCBoPSVkXG4iLCByaW5nLT5uYW1lLCByaW5nLT5yaW5nX3N0YXRlLT5wcm9kX3RhaWwsCistICAgICAgICAgICByaW5nLT5yaW5nX3N0YXRlLT5jb25zX2hlYWQpOworLSAgICAqLworLQorLSAgICBpZiAoIXB2cmRtYV9pZHhfcmluZ19oYXNfc3BhY2UocmluZy0+cmluZ19zdGF0ZSwgcmluZy0+bWF4X2VsZW1zLCAmdGFpbCkpIHsKKysgICAgaWR4ID0gcHZyZG1hX2lkeF9yaW5nX2hhc19zcGFjZShyaW5nLT5yaW5nX3N0YXRlLCByaW5nLT5tYXhfZWxlbXMsICZ0YWlsKTsKKysgICAgaWYgKGlkeCA8PSAwKSB7CisgICAgICAgICBwcl9kYmcoIkNRIGlzIGZ1bGxcbiIpOworICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgIH0KKyAKKyAgICAgaWR4ID0gcHZyZG1hX2lkeCgmcmluZy0+cmluZ19zdGF0ZS0+cHJvZF90YWlsLCByaW5nLT5tYXhfZWxlbXMpOworLSAgICAvKiBUT0RPOiB0YWlsID09IGlkeCAqLworKyAgICBpZiAoaWR4IDwgMCB8fCB0YWlsICE9IGlkeCkgeworKyAgICAgICAgcHJfZGJnKCJpbnZhbGlkIGlkeFxuIik7CisrICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgfQorIAorICAgICBvZmZzZXQgPSBpZHggKiByaW5nLT5lbGVtX3N6OworICAgICByZXR1cm4gcmluZy0+cGFnZXNbb2Zmc2V0IC8gVEFSR0VUX1BBR0VfU0laRV0gKyAob2Zmc2V0ICUgVEFSR0VUX1BBR0VfU0laRSk7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvQ1ZFLTIwMTgtMTA4MzkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvQ1ZFLTIwMTgtMTA4MzkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlMWU0NDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTEwODM5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotRnJvbSBmZGM4OWU5MGZhYzQwYzVjYTI2ODY3MzNkZjE3YjY0MjNmYjhkOGZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmFzb24gV2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMzAgTWF5IDIwMTggMTM6MDg6MTUgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gbmUyMDAwOiBmaXggcG9zc2libGUgb3V0IG9mIGJvdW5kIGFjY2VzcyBpbiBuZTIwMDBfcmVjZWl2ZQotCi1JbiBuZTIwMDBfcmVjZWl2ZSgpLCB3ZSB0cnkgdG8gYXNzaWduIHNpemVfIHRvIHNpemUgd2hpY2ggY29udmVydHMKLWZyb20gc2l6ZV90IHRvIGludGVnZXIuIFRoaXMgd2lsbCBjYXVzZSB0cm91YmxlcyB3aGVuIHNpemVfIGlzIGdyZWF0ZXIKLUlOVF9NQVgsIHRoaXMgd2lsbCBsZWFkIGEgbmVnYXRpdmUgdmFsdWUgaW4gc2l6ZSBhbmQgaXQgY2FuIHRoZW4gcGFzcwotdGhlIGNoZWNrIG9mIHNpemUgPCBNSU5fQlVGX1NJWkUgd2hpY2ggbWF5IGxlYWQgb3V0IG9mIGJvdW5kIGFjY2VzcyBvZgotZm9yIGJvdGggYnVmIGFuZCBidWYxLgotCi1GaXhpbmcgYnkgY29udmVydGluZyB0aGUgdHlwZSBvZiBzaXplIHRvIHNpemVfdC4KLQotQ0M6IHFlbXUtc3RhYmxlQG5vbmdudS5vcmcKLVJlcG9ydGVkLWJ5OiBEYW5pZWwgU2hhcGlyYSA8ZGFuaWVsQHR3aXN0bG9jay5jb20+Ci1SZXZpZXdlZC1ieTogTWljaGFlbCBTLiBUc2lya2luIDxtc3RAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IEphc29uIFdhbmcgPGphc293YW5nQHJlZGhhdC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0LnFlbXUub3JnLz9wPXFlbXUuZ2l0O2E9Y29tbWl0ZGlmZgotO2g9ZmRjODllOTBmYWM0MGM1Y2EyNjg2NzMzZGYxN2I2NDIzZmI4ZDhmYiNwYXRjaDFdCi0KLUNWRTogQ1ZFLTIwMTgtMTA4MzkKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGh3L25ldC9uZTIwMDAuYyB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9ody9uZXQvbmUyMDAwLmMgYi9ody9uZXQvbmUyMDAwLmMKLWluZGV4IDA3ZDc5ZTMuLjg2OTUxOGUgMTAwNjQ0Ci0tLS0gYS9ody9uZXQvbmUyMDAwLmMKLSsrKyBiL2h3L25ldC9uZTIwMDAuYwotQEAgLTE3NCw3ICsxNzQsNyBAQCBzdGF0aWMgaW50IG5lMjAwMF9idWZmZXJfZnVsbChORTIwMDBTdGF0ZSAqcykKLSBzc2l6ZV90IG5lMjAwMF9yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3Qgc2l6ZV8pCi0gewotICAgICBORTIwMDBTdGF0ZSAqcyA9IHFlbXVfZ2V0X25pY19vcGFxdWUobmMpOwotLSAgICBpbnQgc2l6ZSA9IHNpemVfOwotKyAgICBzaXplX3Qgc2l6ZSA9IHNpemVfOwotICAgICB1aW50OF90ICpwOwotICAgICB1bnNpZ25lZCBpbnQgdG90YWxfbGVuLCBuZXh0LCBhdmFpbCwgbGVuLCBpbmRleCwgbWNhc3RfaWR4OwotICAgICB1aW50OF90IGJ1ZjFbNjBdOwotQEAgLTE4Miw3ICsxODIsNyBAQCBzc2l6ZV90IG5lMjAwMF9yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3Qgc2l6ZV8pCi0gICAgICAgICB7IDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYgfTsKLSAKLSAjaWYgZGVmaW5lZChERUJVR19ORTIwMDApCi0tICAgIHByaW50ZigiTkUyMDAwOiByZWNlaXZlZCBsZW49JWRcbiIsIHNpemUpOwotKyAgICBwcmludGYoIk5FMjAwMDogcmVjZWl2ZWQgbGVuPSV6dVxuIiwgc2l6ZSk7Ci0gI2VuZGlmCi0gCi0gICAgIGlmIChzLT5jbWQgJiBFODM5MF9TVE9QIHx8IG5lMjAwMF9idWZmZXJfZnVsbChzKSkKLS0tIAotMS44LjMuMQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE1NzQ2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE1NzQ2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjYxZWEwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNTc0Ni5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLUZyb20gOWFjZjRjNjRkZDQ1NjBiZDI2ODAwNmQ3MzU2Yzc0NTVmYWI3ZTViMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDYgU2VwIDIwMTggMTQ6NTI6MTIgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gc2VjY29tcDogc2V0IHRoZSBzZWNjb21wIGZpbHRlciB0byBhbGwgdGhyZWFkcwotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1XaGVuIHVzaW5nICItc2VjY29tcCBvbiIsIHRoZSBzZWNjb21wIHBvbGljeSBpcyBvbmx5IGFwcGxpZWQgdG8gdGhlCi1tYWluIHRocmVhZCwgdGhlIHZjcHUgd29ya2VyIHRocmVhZCBhbmQgb3RoZXIgd29ya2VyIHRocmVhZHMgY3JlYXRlZAotYWZ0ZXIgc2VjY29tcCBwb2xpY3kgaXMgYXBwbGllZDsgdGhlIHNlY2NvbXAgcG9saWN5IGlzIG5vdCBhcHBsaWVkIHRvCi1lLmcuIHRoZSBSQ1UgdGhyZWFkIGJlY2F1c2UgaXQgaXMgY3JlYXRlZCBiZWZvcmUgdGhlIHNlY2NvbXAgcG9saWN5IGlzCi1hcHBsaWVkIGFuZCBTRUNDT01QX0ZJTFRFUl9GTEFHX1RTWU5DIGlzbid0IHVzZWQuCi0KLVRoaXMgY2FuIGJlIHZlcmlmaWVkIHdpdGgKLWZvciB0YXNrIGluIC9wcm9jL2BwaWRvZiBxZW11YC90YXNrLyo7IGRvIGNhdCAkdGFzay9zdGF0dXMgfCBncmVwIFNlY2MgOyBkb25lCi1TZWNjb21wOgkyCi1TZWNjb21wOgkwCi1TZWNjb21wOgkwCi1TZWNjb21wOgkyCi1TZWNjb21wOgkyCi1TZWNjb21wOgkyCi0KLVN0YXJ0aW5nIHdpdGggbGlic2VjY29tcCAyLjIuMCBhbmQga2VybmVsID49IDMuMTcsIHdlIGNhbiB1c2UKLXNlY2NvbXBfYXR0cl9zZXQoY3R4LCA+IFNDTVBfRkxUQVRSX0NUTF9UU1lOQywgMSkgdG8gdXBkYXRlIHRoZSBwb2xpY3kKLW9uIGFsbCB0aHJlYWRzLgotCi1saWJzZWNjb21wIHJlcXVpcmVtZW50IHdhcyBidW1wZWQgdG8gMi4yLjAgaW4gcHJldmlvdXMgcGF0Y2guCi1saWJzZWNjb21wIHNob3VsZCBmYWlsIHRvIHNldCB0aGUgZmlsdGVyIGlmIGl0IGNhbid0IGhvbm91cgotU0NNUF9GTFRBVFJfQ1RMX1RTWU5DICh1bnRlc3RlZCksIGFuZCB0aHVzIC1zYW5kYm94IHdpbGwgbm93IGZhaWwgb24KLWtlcm5lbCA8IDMuMTcuCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUByZWRoYXQuY29tPgotQWNrZWQtYnk6IEVkdWFyZG8gT3R1Ym8gPG90dWJvQHJlZGhhdC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnRbaHR0cHM6Ly9naXRodWIuY29tL3FlbXUvcWVtdS9jb21taXQvCi03MGRmYWJlYWE3OWJhNGQ3YTNiNjk5YWJlMWEwNDdjODAxMmRiMTE0I2RpZmYtMTgxMDZkM2I0N2EyZDI0OWY5ZDQxZTc3MmI3ZGIyMmRdCi0KLUNWRTogQ1ZFLTIwMTgtMTU3NDYKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIHFlbXUtc2VjY29tcC5jIHwgNSArKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3FlbXUtc2VjY29tcC5jIGIvcWVtdS1zZWNjb21wLmMKLWluZGV4IDljZDhlYjkuLmJhNTUwMGEgMTAwNjQ0Ci0tLS0gYS9xZW11LXNlY2NvbXAuYwotKysrIGIvcWVtdS1zZWNjb21wLmMKLUBAIC0xMjAsNiArMTIwLDExIEBAIHN0YXRpYyBpbnQgc2VjY29tcF9zdGFydCh1aW50MzJfdCBzZWNjb21wX29wdHMpCi0gICAgICAgICBnb3RvIHNlY2NvbXBfcmV0dXJuOwotICAgICB9Ci0gCi0rICAgIHJjID0gc2VjY29tcF9hdHRyX3NldChjdHgsIFNDTVBfRkxUQVRSX0NUTF9UU1lOQywgMSk7Ci0rICAgIGlmIChyYyAhPSAwKSB7Ci0rICAgICAgICBnb3RvIHNlY2NvbXBfcmV0dXJuOwotKyAgICB9Ci0rCi0gICAgIGZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGJsYWNrbGlzdCk7IGkrKykgewotICAgICAgICAgaWYgKCEoc2VjY29tcF9vcHRzICYgYmxhY2tsaXN0W2ldLnNldCkpIHsKLSAgICAgICAgICAgICBjb250aW51ZTsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE3OTU4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE3OTU4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZjQwZmYyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNzk1OC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLUZyb20gMDZlODhjYTc4ZDA1NmVhNGRlODg1ZTNhMTQ5NjgwNTE3OWRjNDdiYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDE1IE9jdCAyMDE4IDE2OjMzOjA0ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIG5lMjAwMDogZml4IHBvc3NpYmxlIG91dCBvZiBib3VuZCBhY2Nlc3MgaW4gbmUyMDAwX3JlY2VpdmUKLQotSW4gbmUyMDAwX3JlY2VpdmUoKSwgd2UgdHJ5IHRvIGFzc2lnbiBzaXplXyB0byBzaXplIHdoaWNoIGNvbnZlcnRzCi1mcm9tIHNpemVfdCB0byBpbnRlZ2VyLiBUaGlzIHdpbGwgY2F1c2UgdHJvdWJsZXMgd2hlbiBzaXplXyBpcyBncmVhdGVyCi1JTlRfTUFYLCB0aGlzIHdpbGwgbGVhZCBhIG5lZ2F0aXZlIHZhbHVlIGluIHNpemUgYW5kIGl0IGNhbiB0aGVuIHBhc3MKLXRoZSBjaGVjayBvZiBzaXplIDwgTUlOX0JVRl9TSVpFIHdoaWNoIG1heSBsZWFkIG91dCBvZiBib3VuZCBhY2Nlc3Mgb2YKLWZvciBib3RoIGJ1ZiBhbmQgYnVmMS4KLQotRml4aW5nIGJ5IGNvbnZlcnRpbmcgdGhlIHR5cGUgb2Ygc2l6ZSB0byBzaXplX3QuCi0KLUNDOiBhZGRyZXNzQGhpZGRlbgotUmVwb3J0ZWQtYnk6IERhbmllbCBTaGFwaXJhIDxhZGRyZXNzQGhpZGRlbj4KLVJldmlld2VkLWJ5OiBNaWNoYWVsIFMuIFRzaXJraW4gPGFkZHJlc3NAaGlkZGVuPgotU2lnbmVkLW9mZi1ieTogSmFzb24gV2FuZyA8YWRkcmVzc0BoaWRkZW4+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvcWVtdS1kZXZlbC8yMDE4LTA5L21zZzAzMjczLmh0bWxdCi0KLUNWRTogQ1ZFLTIwMTgtMTc5NTgKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGh3L25ldC9uZTIwMDAuYyB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9ody9uZXQvbmUyMDAwLmMgYi9ody9uZXQvbmUyMDAwLmMKLWluZGV4IDA3ZDc5ZTMuLjg2OTUxOGUgMTAwNjQ0Ci0tLS0gYS9ody9uZXQvbmUyMDAwLmMKLSsrKyBiL2h3L25ldC9uZTIwMDAuYwotQEAgLTE3NCw3ICsxNzQsNyBAQCBzdGF0aWMgaW50IG5lMjAwMF9idWZmZXJfZnVsbChORTIwMDBTdGF0ZSAqcykKLSBzc2l6ZV90IG5lMjAwMF9yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3Qgc2l6ZV8pCi0gewotICAgICBORTIwMDBTdGF0ZSAqcyA9IHFlbXVfZ2V0X25pY19vcGFxdWUobmMpOwotLSAgICBpbnQgc2l6ZSA9IHNpemVfOwotKyAgICBzaXplX3Qgc2l6ZSA9IHNpemVfOwotICAgICB1aW50OF90ICpwOwotICAgICB1bnNpZ25lZCBpbnQgdG90YWxfbGVuLCBuZXh0LCBhdmFpbCwgbGVuLCBpbmRleCwgbWNhc3RfaWR4OwotICAgICB1aW50OF90IGJ1ZjFbNjBdOwotQEAgLTE4Miw3ICsxODIsNyBAQCBzc2l6ZV90IG5lMjAwMF9yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3Qgc2l6ZV8pCi0gICAgICAgICB7IDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYgfTsKLSAKLSAjaWYgZGVmaW5lZChERUJVR19ORTIwMDApCi0tICAgIHByaW50ZigiTkUyMDAwOiByZWNlaXZlZCBsZW49JWRcbiIsIHNpemUpOwotKyAgICBwcmludGYoIk5FMjAwMDogcmVjZWl2ZWQgbGVuPSV6dVxuIiwgc2l6ZSk7Ci0gI2VuZGlmCi0gCi0gICAgIGlmIChzLT5jbWQgJiBFODM5MF9TVE9QIHx8IG5lMjAwMF9idWZmZXJfZnVsbChzKSkKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE3OTYyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE3OTYyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGJmZDgxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNzk2Mi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLUZyb20gMjBhYmU0NDNhZDk0NjRiMThhYzQ5NGY3MWY3ZDUzZjE5ZWUzNzQ4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDE1IE9jdCAyMDE4IDE2OjM4OjA4ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJ0bDgxMzk6IGZpeCBwb3NzaWJsZSBvdXQgb2YgYm91bmQgYWNjZXNzCi0KLUluIHJ0bDgxMzlfZG9fcmVjZWl2ZSgpLCB3ZSB0cnkgdG8gYXNzaWduIHNpemVfIHRvIHNpemUgd2hpY2ggY29udmVydHMKLWZyb20gc2l6ZV90IHRvIGludGVnZXIuIFRoaXMgd2lsbCBjYXVzZSB0cm91YmxlcyB3aGVuIHNpemVfIGlzIGdyZWF0ZXIKLUlOVF9NQVgsIHRoaXMgd2lsbCBsZWFkIGEgbmVnYXRpdmUgdmFsdWUgaW4gc2l6ZSBhbmQgaXQgY2FuIHRoZW4gcGFzcwotdGhlIGNoZWNrIG9mIHNpemUgPCBNSU5fQlVGX1NJWkUgd2hpY2ggbWF5IGxlYWQgb3V0IG9mIGJvdW5kIGFjY2VzcyBvZgotZm9yIGJvdGggYnVmIGFuZCBidWYxLgotCi1GaXhpbmcgYnkgY29udmVydGluZyB0aGUgdHlwZSBvZiBzaXplIHRvIHNpemVfdC4KLQotQ0M6IGFkZHJlc3NAaGlkZGVuCi1SZXBvcnRlZC1ieTogRGFuaWVsIFNoYXBpcmEgPGFkZHJlc3NAaGlkZGVuPgotUmV2aWV3ZWQtYnk6IE1pY2hhZWwgUy4gVHNpcmtpbiA8YWRkcmVzc0BoaWRkZW4+Ci1TaWduZWQtb2ZmLWJ5OiBKYXNvbiBXYW5nIDxhZGRyZXNzQGhpZGRlbj4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9xZW11LWRldmVsLzIwMTgtMDkvbXNnMDMyNjkuaHRtbF0KLQotQ1ZFOiBDVkUtMjAxOC0xNzk2MgotCi1TaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotLS0tCi0gaHcvbmV0L3J0bDgxMzkuYyB8IDggKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaHcvbmV0L3J0bDgxMzkuYyBiL2h3L25ldC9ydGw4MTM5LmMKLWluZGV4IDQ2ZGFhMTYuLjIzNDJhMDkgMTAwNjQ0Ci0tLS0gYS9ody9uZXQvcnRsODEzOS5jCi0rKysgYi9ody9uZXQvcnRsODEzOS5jCi1AQCAtODE3LDcgKzgxNyw3IEBAIHN0YXRpYyBzc2l6ZV90IHJ0bDgxMzlfZG9fcmVjZWl2ZShOZXRDbGllbnRTdGF0ZSAqbmMsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90Ci0gICAgIFJUTDgxMzlTdGF0ZSAqcyA9IHFlbXVfZ2V0X25pY19vcGFxdWUobmMpOwotICAgICBQQ0lEZXZpY2UgKmQgPSBQQ0lfREVWSUNFKHMpOwotICAgICAvKiBzaXplIGlzIHRoZSBsZW5ndGggb2YgdGhlIGJ1ZmZlciBwYXNzZWQgdG8gdGhlIGRyaXZlciAqLwotLSAgICBpbnQgc2l6ZSA9IHNpemVfOwotKyAgICBzaXplX3Qgc2l6ZSA9IHNpemVfOwotICAgICBjb25zdCB1aW50OF90ICpkb3QxcV9idWYgPSBOVUxMOwotIAotICAgICB1aW50MzJfdCBwYWNrZXRfaGVhZGVyID0gMDsKLUBAIC04MjYsNyArODI2LDcgQEAgc3RhdGljIHNzaXplX3QgcnRsODEzOV9kb19yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3QKLSAgICAgc3RhdGljIGNvbnN0IHVpbnQ4X3QgYnJvYWRjYXN0X21hY2FkZHJbNl0gPQotICAgICAgICAgeyAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmIH07Ci0gCi0tICAgIERQUklOVEYoIj4+PiByZWNlaXZlZCBsZW49JWRcbiIsIHNpemUpOwotKyAgICBEUFJJTlRGKCI+Pj4gcmVjZWl2ZWQgbGVuPSV6dVxuIiwgc2l6ZSk7Ci0gCi0gICAgIC8qIHRlc3QgaWYgYm9hcmQgY2xvY2sgaXMgc3RvcHBlZCAqLwotICAgICBpZiAoIXMtPmNsb2NrX2VuYWJsZWQpCi1AQCAtMTAzNSw3ICsxMDM1LDcgQEAgc3RhdGljIHNzaXplX3QgcnRsODEzOV9kb19yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3QKLSAKLSAgICAgICAgIGlmIChzaXplKzQgPiByeF9zcGFjZSkKLSAgICAgICAgIHsKLS0gICAgICAgICAgICBEUFJJTlRGKCJDKyBSeCBtb2RlIDogZGVzY3JpcHRvciAlZCBzaXplICVkIHJlY2VpdmVkICVkICsgNFxuIiwKLSsgICAgICAgICAgICBEUFJJTlRGKCJDKyBSeCBtb2RlIDogZGVzY3JpcHRvciAlZCBzaXplICVkIHJlY2VpdmVkICV6dSArIDRcbiIsCi0gICAgICAgICAgICAgICAgIGRlc2NyaXB0b3IsIHJ4X3NwYWNlLCBzaXplKTsKLSAKLSAgICAgICAgICAgICBzLT5JbnRyU3RhdHVzIHw9IFJ4T3ZlcmZsb3c7Ci1AQCAtMTE0OCw3ICsxMTQ4LDcgQEAgc3RhdGljIHNzaXplX3QgcnRsODEzOV9kb19yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3QKLSAgICAgICAgIGlmIChhdmFpbCAhPSAwICYmIFJYX0FMSUdOKHNpemUgKyA4KSA+PSBhdmFpbCkKLSAgICAgICAgIHsKLSAgICAgICAgICAgICBEUFJJTlRGKCJyeCBvdmVyZmxvdzogcnggYnVmZmVyIGxlbmd0aCAlZCBoZWFkIDB4JTA0eCAiCi0tICAgICAgICAgICAgICAgICJyZWFkIDB4JTA0eCA9PT0gYXZhaWxhYmxlIDB4JTA0eCBuZWVkIDB4JTA0eFxuIiwKLSsgICAgICAgICAgICAgICAgInJlYWQgMHglMDR4ID09PSBhdmFpbGFibGUgMHglMDR4IG5lZWQgMHglMDR6eFxuIiwKLSAgICAgICAgICAgICAgICAgcy0+UnhCdWZmZXJTaXplLCBzLT5SeEJ1ZkFkZHIsIHMtPlJ4QnVmUHRyLCBhdmFpbCwgc2l6ZSArIDgpOwotIAotICAgICAgICAgICAgIHMtPkludHJTdGF0dXMgfD0gUnhPdmVyZmxvdzsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE3OTYzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE3OTYzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTRjZGM4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNzk2My5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLUZyb20gZTVmZjcyYTgwMDVkZDFkOWMwZjYzZjhhOWNjNDI5OGRmNWJiNzU1MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDE1IE9jdCAyMDE4IDE2OjM5OjQ2ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHBjbmV0OiBmaXggcG9zc2libGUgYnVmZmVyIG92ZXJmbG93Ci0KLUluIHBjbmV0X3JlY2VpdmUoKSwgd2UgdHJ5IHRvIGFzc2lnbiBzaXplXyB0byBzaXplIHdoaWNoIGNvbnZlcnRzIGZyb20KLXNpemVfdCB0byBpbnRlZ2VyLiBUaGlzIHdpbGwgY2F1c2UgdHJvdWJsZXMgd2hlbiBzaXplXyBpcyBncmVhdGVyCi1JTlRfTUFYLCB0aGlzIHdpbGwgbGVhZCBhIG5lZ2F0aXZlIHZhbHVlIGluIHNpemUgYW5kIGl0IGNhbiB0aGVuIHBhc3MKLXRoZSBjaGVjayBvZiBzaXplIDwgTUlOX0JVRl9TSVpFIHdoaWNoIG1heSBsZWFkIG91dCBvZiBib3VuZCBhY2Nlc3MKLWZvciBib3RoIGJ1ZiBhbmQgYnVmMS4KLQotRml4aW5nIGJ5IGNvbnZlcnRpbmcgdGhlIHR5cGUgb2Ygc2l6ZSB0byBzaXplX3QuCi0KLUNDOiBhZGRyZXNzQGhpZGRlbgotUmVwb3J0ZWQtYnk6IERhbmllbCBTaGFwaXJhIDxhZGRyZXNzQGhpZGRlbj4KLVJldmlld2VkLWJ5OiBNaWNoYWVsIFMuIFRzaXJraW4gPGFkZHJlc3NAaGlkZGVuPgotU2lnbmVkLW9mZi1ieTogSmFzb24gV2FuZyA8YWRkcmVzc0BoaWRkZW4+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvcWVtdS1kZXZlbC8yMDE4LTA5L21zZzAzMjY4Lmh0bWxdCi0KLUNWRTogQ1ZFLTIwMTgtMTc5NjMKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGh3L25ldC9wY25ldC5jIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2h3L25ldC9wY25ldC5jIGIvaHcvbmV0L3BjbmV0LmMKLWluZGV4IDBjNDQ1NTQuLmQ5YmEwNGIgMTAwNjQ0Ci0tLS0gYS9ody9uZXQvcGNuZXQuYwotKysrIGIvaHcvbmV0L3BjbmV0LmMKLUBAIC05ODgsMTQgKzk4OCwxNCBAQCBzc2l6ZV90IHBjbmV0X3JlY2VpdmUoTmV0Q2xpZW50U3RhdGUgKm5jLCBjb25zdCB1aW50OF90ICpidWYsIHNpemVfdCBzaXplXykKLSAgICAgdWludDhfdCBidWYxWzYwXTsKLSAgICAgaW50IHJlbWFpbmluZzsKLSAgICAgaW50IGNyY19lcnIgPSAwOwotLSAgICBpbnQgc2l6ZSA9IHNpemVfOwotKyAgICBzaXplX3Qgc2l6ZSA9IHNpemVfOwotIAotICAgICBpZiAoQ1NSX0RSWChzKSB8fCBDU1JfU1RPUChzKSB8fCBDU1JfU1BORChzKSB8fCAhc2l6ZSB8fAotICAgICAgICAgKENTUl9MT09QKHMpICYmICFzLT5sb29wdGVzdCkpIHsKLSAgICAgICAgIHJldHVybiAtMTsKLSAgICAgfQotICNpZmRlZiBQQ05FVF9ERUJVRwotLSAgICBwcmludGYoInBjbmV0X3JlY2VpdmUgc2l6ZT0lZFxuIiwgc2l6ZSk7Ci0rICAgIHByaW50ZigicGNuZXRfcmVjZWl2ZSBzaXplPSV6dVxuIiwgc2l6ZSk7Ci0gI2VuZGlmCi0gCi0gICAgIC8qIGlmIHRvbyBzbWFsbCBidWZmZXIsIHRoZW4gZXhwYW5kIGl0ICovCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOS0zODEyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE5LTM4MTIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RlNTg4MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOS0zODEyLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK1FFTVUsIHRocm91Z2ggdmVyc2lvbiAyLjEwIGFuZCB0aHJvdWdoIHZlcnNpb24gMy4xLjAsIGlzIHZ1bG5lcmFibGUgdG8gYW4KK291dC1vZi1ib3VuZHMgcmVhZCBvZiB1cCB0byAxMjggYnl0ZXMgaW4gdGhlIGh3L2kyYy9pMmMtZGRjLmM6aTJjX2RkYygpCitmdW5jdGlvbi4gQSBsb2NhbCBhdHRhY2tlciB3aXRoIHBlcm1pc3Npb24gdG8gZXhlY3V0ZSBpMmMgY29tbWFuZHMgY291bGQgZXhwbG9pdAordGhpcyB0byByZWFkIHN0YWNrIG1lbW9yeSBvZiB0aGUgcWVtdSBwcm9jZXNzIG9uIHRoZSBob3N0LgorCitDVkU6IENWRS0yMDE5LTM4MTIKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gYjA1YjI2Nzg0MDUxNTczMGRiZjY3NTM0OTVkNWI3YmQ4YjA0YWQxYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgorRGF0ZTogVHVlLCA4IEphbiAyMDE5IDExOjIzOjAxICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGkyYy1kZGM6IGZpeCBvb2IgcmVhZAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitTdWdnZXN0ZWQtYnk6IE1pY2hhZWwgSGFuc2VsbWFubiA8cHVibGljQGhhbnNtaS5jaD4KK1NpZ25lZC1vZmYtYnk6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IE1pY2hhZWwgSGFuc2VsbWFubiA8cHVibGljQGhhbnNtaS5jaD4KK1Jldmlld2VkLWJ5OiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1kQHJlZGhhdC5jb20+CitNZXNzYWdlLWlkOiAyMDE5MDEwODEwMjMwMS4xOTU3LTEta3JheGVsQHJlZGhhdC5jb20KKy0tLQorIGh3L2kyYy9pMmMtZGRjLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9ody9pMmMvaTJjLWRkYy5jIGIvaHcvaTJjL2kyYy1kZGMuYworaW5kZXggYmUzNGZlMDcyY2YuLjBhMDM2N2ZmMzhmIDEwMDY0NAorLS0tIGEvaHcvaTJjL2kyYy1kZGMuYworKysrIGIvaHcvaTJjL2kyYy1kZGMuYworQEAgLTU2LDcgKzU2LDcgQEAgc3RhdGljIGludCBpMmNfZGRjX3J4KEkyQ1NsYXZlICppMmMpCisgICAgIEkyQ0REQ1N0YXRlICpzID0gSTJDRERDKGkyYyk7CisgCisgICAgIGludCB2YWx1ZTsKKy0gICAgdmFsdWUgPSBzLT5lZGlkX2Jsb2Jbcy0+cmVnXTsKKysgICAgdmFsdWUgPSBzLT5lZGlkX2Jsb2Jbcy0+cmVnICUgc2l6ZW9mKHMtPmVkaWRfYmxvYildOworICAgICBzLT5yZWcrKzsKKyAgICAgcmV0dXJuIHZhbHVlOworIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdV8zLjAuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdV8zLjAuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzc2NTQ4Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXVfMy4wLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi1yZXF1aXJlIHFlbXUuaW5jCi0KLWluaGVyaXQgcHRlc3QKLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiYmFzaCBtYWtlIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00NDFjMjhkMmNmODZlMTVhMzdmYTQ3ZTE1YTcyZmJhYyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjtlbmRsaW5lPTI0O21kNT1jMDRkZWY3YWUzODg1MGU3ZDNlZjU0ODU4ODE1OTkxMyIKLQotU1JDX1VSSSA9ICJodHRwczovL2Rvd25sb2FkLnFlbXUub3JnLyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vcG93ZXJwY19yb20uYmluIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc2RsLmMtYWxsb3ctdXNlci10by1kaXNhYmxlLXBvaW50ZXItZ3JhYnMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1xZW11LUFkZC1taXNzaW5nLXdhY29tLUhJRC1kZXNjcmlwdG9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtQWRkLXN1YnBhY2thZ2UtcHRlc3Qtd2hpY2gtcnVucy1hbGwtdW5pdC10ZXN0LWNhc2VzLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1xZW11LUFkZC1hZGRpdGlvbi1lbnZpcm9ubWVudC1zcGFjZS10by1ib290LWxvYWRlci1xLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtcWVtdS1kaXNhYmxlLVZhbGdyaW5kLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDYtcWVtdS1MaW1pdC1wYXRocy1zZWFyY2hlZC1kdXJpbmctdXNlci1tb2RlLWVtdWxhdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA3LXFlbXUtbmF0aXZlLXNldC1sZC5iZmQtZml4LWNmbGFncy1hbmQtc2V0LXNvbWUtZW52aXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOC1jaGFyZGV2LWNvbm5lY3Qtc29ja2V0LXRvLWEtc3Bhd25lZC1jb21tYW5kLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDktYXBpYy1maXh1cC1mYWxsdGhyb3VnaC10by1QSUMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMC1saW51eC11c2VyLUZpeC13ZWJraXRndGstaGFuZ3Mtb24tMzItYml0LXg4Ni10YXJnZXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMS1SZXZlcnQtbGludXgtdXNlci1maXgtbW1hcC1tdW5tYXAtbXByb3RlY3QtbXJlbWFwLXNoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE1NzQ2LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE3OTU4LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE3OTYyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE3OTYzLnBhdGNoIFwKLSAgICAgICAgICAgIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAicWVtdS0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRhciIKLQotU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBcCi0gICAgICAgICAgICBmaWxlOi8vMDAxMi1maXgtbGliY2FwLWhlYWRlci1pc3N1ZS1vbi1zb21lLWRpc3Ryby5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAxMy1jcHVzLmMtQWRkLWVycm9yLW1lc3NhZ2VzLXdoZW4tcWVtaV9jcHVfa2lja190aHJlYWQtLnBhdGNoIFwKLSAgICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjZhNWM4ZGY1ODM0MDZlYTI0ZWYyNWIyMzljMzI0M2UwIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhkN2FmNjRmZThiZDVlYTVjM2JkZjE3MTMxYThiODU4NDkxYmNjZTFlZTM4Mzk0MjVhNmQ5MWZiODIxYjU3MTMiCi0KLUNPTVBBVElCTEVfSE9TVF9taXBzYXJjaG4zMiA9ICJudWxsIgotQ09NUEFUSUJMRV9IT1NUX21pcHNhcmNobjY0ID0gIm51bGwiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgICMgUHJldmVudCBRQSB3YXJuaW5ncyBhYm91dCBpbnN0YWxsZWQgJHtsb2NhbHN0YXRlZGlyfS9ydW4KLSAgICBpZiBbIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biBdOyB0aGVuIHJtZGlyICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bjsgZmkKLSAgICBpbnN0YWxsIC1EbSAwNzU1ICR7V09SS0RJUn0vcG93ZXJwY19yb20uYmluICR7RH0ke2RhdGFkaXJ9L3FlbXUKLX0KLQotZG9fY29tcGlsZV9wdGVzdCgpIHsKLQltYWtlIGJ1aWxkdGVzdC1URVNUUwotfQotCi1kb19pbnN0YWxsX3B0ZXN0KCkgewotCWNwIC1yTCAke0J9L3Rlc3RzICR7RH0ke1BURVNUX1BBVEh9Ci0JZmluZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cyAtdHlwZSBmIC1uYW1lICIqLltTc2hjb2RdIiB8IHhhcmdzIC1pIHJtIC1yZiB7fQotCi0JY3AgJHtTfS90ZXN0cy9NYWtlZmlsZS5pbmNsdWRlICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCi0JIyBEb24ndCBjaGVjayB0aGUgZmlsZSBnZW5yZWF0ZWQgYnkgY29uZmlndXJlCi0Jc2VkIC1pIC1lICcvd2lsZGNhcmQgY29uZmlnLWhvc3QubWFrL2QnIFwKLQkgICAgICAgLWUgJyQgey9lbmRpZi9kfScgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvTWFrZWZpbGUuaW5jbHVkZQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11XzMuMS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11XzMuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0ZDhiZWUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXVfMy4xLjAuYmIKQEAgLTAsMCArMSwyMiBAQAorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCisKK3JlcXVpcmUgcWVtdS5pbmMKKworREVQRU5EUyA9ICJnbGliLTIuMCB6bGliIHBpeG1hbiIKKworUkRFUEVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ICs9ICJiYXNoIgorCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgLS10YXJnZXQtbGlzdD0ke0BnZXRfcWVtdV90YXJnZXRfbGlzdChkKX0iCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgLS10YXJnZXQtbGlzdD0ke0BnZXRfcWVtdV90YXJnZXRfbGlzdChkKX0iCisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKKyAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3RrKycsICdtYWtlX3FlbXVfd3JhcHBlcicsICcnLCBkKX0KK30KKworUEFDS0FHRUNPTkZJRyA/Pz0gIiBcCisgICAgZmR0IHNkbCBrdm0gXAorICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2Fsc2EgeGVuJywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID8/PSAiZmR0IHNkbCBrdm0iCisKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11d3JhcHBlci1jcm9zc18xLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXV3cmFwcGVyLWNyb3NzXzEuMC5iYgppbmRleCA0YWFkYTUyLi5hMDQ0OGExIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXV3cmFwcGVyLWNyb3NzXzEuMC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXV3cmFwcGVyLWNyb3NzXzEuMC5iYgpAQCAtMjAsOCArMjAsOSBAQAogIyEvYmluL3NoCiBzZXQgLXgKIAotaWYgWyAke0BiYi51dGlscy5jb250YWlucygnTUFDSElORV9GRUFUVVJFUycsICdxZW11LXVzZXJtb2RlJywgJ1RydWUnLCAnRmFsc2UnLCBkKX0gPSBGYWxzZSBdOyB0aGVuCi0gICAgICAgIGVjaG8gInFlbXV3cmFwcGVyOiBxZW11IHVzZXJtb2RlIGlzIG5vdCBzdXBwb3J0ZWQiCitpZiBbICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdNQUNISU5FX0ZFQVRVUkVTJywgJ3FlbXUtdXNlcm1vZGUnLCAnVHJ1ZScsICdGYWxzZScsIGQpfSA9IEZhbHNlIC1hICIke1BOfSIgIT0gIm5hdGl2ZXNkay1xZW11d3JhcHBlci1jcm9zcyIgXTsgdGhlbgorCWVjaG8gInFlbXV3cmFwcGVyOiBxZW11IHVzZXJtb2RlIGlzIG5vdCBzdXBwb3J0ZWQiCisJZXhpdCAxCiBmaQogCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0LW5hdGl2ZS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdC1uYXRpdmUuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNzA2NzA0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0LW5hdGl2ZS5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1SREVQRU5EU18ke1BOfSA9ICJkaWZmc3RhdC1uYXRpdmUgcGF0Y2gtbmF0aXZlIGJ6aXAyLW5hdGl2ZSB1dGlsLWxpbnV4LW5hdGl2ZSIKLQotSU5ISUJJVF9BVVRPVE9PTFNfREVQUyA9ICIxIgotCi1pbmhlcml0IG5hdGl2ZQotCi1QQVRDSFRPT0wgPSAicGF0Y2giCi1FWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLWRpc2FibGUtbmxzIgotCi1kb19jb25maWd1cmUgKCkgewotCW9lX3J1bmNvbmYKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCSMgRHVtbXkgcXVpbHRyYyBmaWxlIGZvciBwYXRjaC5iYmNsYXNzCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS8KLQl0b3VjaCAke0R9JHtzeXNjb25mZGlyfS9xdWlsdHJjCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdC1uYXRpdmVfMC42NS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0LW5hdGl2ZV8wLjY1LmJiCmluZGV4IDZiYzdkY2QuLjIyMzc0NDIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0LW5hdGl2ZV8wLjY1LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0LW5hdGl2ZV8wLjY1LmJiCkBAIC0xLDIgKzEsMiBAQAogcmVxdWlyZSBxdWlsdC5pbmMKLXJlcXVpcmUgcXVpbHQtbmF0aXZlLmluYworaW5oZXJpdCBuYXRpdmUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0LmluYwppbmRleCA0OGVkOWJhLi4xNTBkZjNkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdC5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcXVpbHQvcXVpbHQuaW5jCkBAIC0xMSwxNCArMTEsMjEgQEAKICAgICAgICAgZmlsZTovLzAwMDEtdGVzdHMtQWxsb3ctZGlmZmVyZW50LW91dHB1dC1mcm9tLW12LnBhdGNoIFwKICIKIAorU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBmaWxlOi8vZ251X3BhdGNoX3Rlc3RfZml4X3RhcmdldC5wYXRjaCIKKwogU1JDX1VSSVttZDVzdW1dID0gImM2N2JhMDIyOGY1YjdiOGJiZTQ2OTQ3NDY2MWY5MmQ2IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gImY2Y2JjNzg4ZTVjYmJiMzgxYTNjNmVhYjViOWVmY2U2N2M3NzZhODY2MmE3Nzk1Yzc0MzJmZDI3YWEwOTY4MTkiCiAKIGluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwdGVzdAogCitJTkhJQklUX0FVVE9UT09MU19ERVBTX2NsYXNzLW5hdGl2ZSA9ICIxIgorUEFUQ0hUT09MX2NsYXNzLW5hdGl2ZSA9ICJwYXRjaCIKKwogQ0xFQU5CUk9LRU4gPSAiMSIKIAogRVhUUkFfT0VDT05GID0gIi0td2l0aC1wZXJsPScke1VTUkJJTlBBVEh9L2VudiBwZXJsJyAtLXdpdGgtcGF0Y2g9cGF0Y2giCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLS1kaXNhYmxlLW5scyIKK0VYVFJBX0FVVE9SRUNPTkYgKz0gIi0tZXhjbHVkZT1hY2xvY2FsIgogCiBDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfcGF0aF9CQVNIPS9iaW4vYmFzaCIKIApAQCAtMzMsNiArNDAsMTAgQEAKIAlzZWQgLWUgJ3MsXkNPTVBBVF9TWU1MSU5LUy4qOj0uKixDT01QQVRfU1lNTElOS1MJOj0sJyAtaSAke1N9L01ha2VmaWxlCiB9CiAKK2RvX2NvbmZpZ3VyZV9jbGFzcy1uYXRpdmUgKCkgeworICAgIG9lX3J1bmNvbmYKK30KKwogIyBxdWlsdCBNYWtlZmlsZXMgaW5zdGFsbCB0byBCVUlMRF9ST09UIGluc3RlYWQgb2YgREVTVERJUgogZG9faW5zdGFsbCAoKSB7CiAJb2VfcnVubWFrZSAnQlVJTERfUk9PVD0ke0R9JyBpbnN0YWxsCkBAIC00MCw2ICs1MSwxMiBAQAogCXJtIC1yZiAke0R9LyR7ZGF0YWRpcn0vZW1hY3MKIH0KIAorZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlICgpIHsKKyAgICAjIER1bW15IHF1aWx0cmMgZmlsZSBmb3IgcGF0Y2guYmJjbGFzcworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vCisgICAgdG91Y2ggJHtEfSR7c3lzY29uZmRpcn0vcXVpbHRyYworfQorCiBkb19jb21waWxlX3B0ZXN0KCkgewogCW9lX3J1bm1ha2UgYmluL3BhdGNoLXdyYXBwZXIgdGVzdC8uZGVwZW5kCiB9CkBAIC02MSw3ICs3OCw5IEBACiBGSUxFU18ke1BOfS1kb2MgPSAiJHttYW5kaXJ9L21hbjEvcXVpbHQuMSAke2RvY2Rpcn0vJHtCUE59IgogRklMRVNfZ3VhcmRzLWRvYyA9ICIke21hbmRpcn0vbWFuMS9ndWFyZHMuMSIKIAotUkRFUEVORFNfJHtQTn0gPSAiYmFzaCIKK1JERVBFTkRTXyR7UE59ID0gImJhc2ggcGF0Y2ggZGlmZnN0YXQgYnppcDIgdXRpbC1saW51eCIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICJkaWZmc3RhdC1uYXRpdmUgcGF0Y2gtbmF0aXZlIGJ6aXAyLW5hdGl2ZSIKKwogUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAibWFrZSBmaWxlIHNlZCBnYXdrIGRpZmZ1dGlscyBmaW5kdXRpbHMgZWQgcGVybCBcCiAgICAgICAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlaGFuZGxlIHBlcmwtbW9kdWxlLWdldG9wdC1zdGQgXAogICAgICAgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtcG9zaXggcGVybC1tb2R1bGUtZmlsZS10ZW1wIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0XzAuNjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdF8wLjY1LmJiCmluZGV4IDViZjgxOGQuLmZmOTcyNjUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0XzAuNjUuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcXVpbHQvcXVpbHRfMC42NS5iYgpAQCAtMSw4ICsxLDIgQEAKIHJlcXVpcmUgcXVpbHQuaW5jCiBpbmhlcml0IGdldHRleHQKLQotU1JDX1VSSSArPSAiZmlsZTovL2dudV9wYXRjaF90ZXN0X2ZpeF90YXJnZXQucGF0Y2giCi0KLUVYVFJBX0FVVE9SRUNPTkYgKz0gIi0tZXhjbHVkZT1hY2xvY2FsIgotCi1SREVQRU5EU18ke1BOfSArPSAicGF0Y2ggZGlmZnN0YXQgYnppcDIgdXRpbC1saW51eCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3JwbS9maWxlcy8wMDE2LXJwbXNjcmlwdC5jLWNoYW5nZS1sb2dnaW5nLWxldmVsLWFyb3VuZC1zY3JpcHRsZXRzLXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ycG0vZmlsZXMvMDAxNi1ycG1zY3JpcHQuYy1jaGFuZ2UtbG9nZ2luZy1sZXZlbC1hcm91bmQtc2NyaXB0bGV0cy10LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzZTk4NTkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ycG0vZmlsZXMvMDAxNi1ycG1zY3JpcHQuYy1jaGFuZ2UtbG9nZ2luZy1sZXZlbC1hcm91bmQtc2NyaXB0bGV0cy10LnBhdGNoCkBAIC0wLDAgKzEsNTUgQEAKK0Zyb20gOTg5ZTQyNWQ0MTY0NzRjMTkxYjAyMGQwODI1ODk1ZTNkZjRiZDAzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVGh1LCAxMCBKYW4gMjAxOSAxODoxNDoxOCArMDEwMAorU3ViamVjdDogW1BBVENIXSBycG1zY3JpcHQuYzogY2hhbmdlIGxvZ2dpbmcgbGV2ZWwgYXJvdW5kIHNjcmlwdGxldHMgdG8gSU5GTworIGZyb20gREVCVUcKKworVGhhdCB3YXkgd2UgY2FuIGRlYnVnIHNjcmlwdGxldCBmYWlsdXJlcyB3aXRob3V0IHdyaXRpbmcgbG90cyBvZgoraXJyZWxldmFudCBub2lzZSB0byByb290ZnMgbG9ncy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBsaWIvcnBtc2NyaXB0LmMgfCA4ICsrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYi9ycG1zY3JpcHQuYyBiL2xpYi9ycG1zY3JpcHQuYworaW5kZXggMmIwZTQzODYyLi5lMzE5NjczZjEgMTAwNjQ0CistLS0gYS9saWIvcnBtc2NyaXB0LmMKKysrKyBiL2xpYi9ycG1zY3JpcHQuYworQEAgLTIyNiw3ICsyMjYsNyBAQCBzdGF0aWMgY2hhciAqIHdyaXRlU2NyaXB0KGNvbnN0IGNoYXIgKmNtZCwgY29uc3QgY2hhciAqc2NyaXB0KQorICAgICBpZiAoRmVycm9yKGZkKSkKKyAJZ290byBleGl0OworIAorLSAgICBpZiAocnBtSXNEZWJ1ZygpICYmIChyc3RyZXEoY21kLCAiL2Jpbi9zaCIpIHx8IHJzdHJlcShjbWQsICIvYmluL2Jhc2giKSkpIHsKKysgICAgaWYgKHJwbUlzVmVyYm9zZSgpICYmIChyc3RyZXEoY21kLCAiL2Jpbi9zaCIpIHx8IHJzdHJlcShjbWQsICIvYmluL2Jhc2giKSkpIHsKKyAJc3RhdGljIGNvbnN0IGNoYXIgc2V0X3hbXSA9ICJzZXQgLXhcbiI7CisgCS8qIEFzc3VtZSBmYWlsdXJlcyB3aWxsIGJlIGNhdWdodCBieSB0aGUgd3JpdGUgYmVsb3cgKi8KKyAJRndyaXRlKHNldF94LCBzaXplb2Yoc2V0X3hbMF0pLCBzaXplb2Yoc2V0X3gpLTEsIGZkKTsKK0BAIC0yNTgsNyArMjU4LDcgQEAgc3RhdGljIHJwbVJDIHJ1bkV4dFNjcmlwdChycG1QbHVnaW5zIHBsdWdpbnMsIEFSR1ZfY29uc3RfdCBwcmVmaXhlcywKKyAgICAgY2hhciAqbWxpbmUgPSBOVUxMOworICAgICBycG1SQyByYyA9IFJQTVJDX0ZBSUw7CisgCistICAgIHJwbWxvZyhSUE1MT0dfREVCVUcsICIlczogc2NyaXB0bGV0IHN0YXJ0XG4iLCBzbmFtZSk7CisrICAgIHJwbWxvZyhSUE1MT0dfSU5GTywgIiVzOiBzY3JpcHRsZXQgc3RhcnRcbiIsIHNuYW1lKTsKKyAKKyAgICAgaWYgKHNjcmlwdCkgeworIAlmbiA9IHdyaXRlU2NyaXB0KCphcmd2cFswXSwgc2NyaXB0KTsKK0BAIC0zMTAsNyArMzEwLDcgQEAgc3RhdGljIHJwbVJDIHJ1bkV4dFNjcmlwdChycG1QbHVnaW5zIHBsdWdpbnMsIEFSR1ZfY29uc3RfdCBwcmVmaXhlcywKKyAJCXNuYW1lLCBzdHJlcnJvcihlcnJubykpOworIAlnb3RvIGV4aXQ7CisgICAgIH0gZWxzZSBpZiAocGlkID09IDApIHsvKiBDaGlsZCAqLworLQlycG1sb2coUlBNTE9HX0RFQlVHLCAiJXM6IGV4ZWN2KCVzKSBwaWQgJWRcbiIsCisrCXJwbWxvZyhSUE1MT0dfSU5GTywgIiVzOiBleGVjdiglcykgcGlkICVkXG4iLAorIAkgICAgICAgc25hbWUsICphcmd2cFswXSwgKHVuc2lnbmVkKWdldHBpZCgpKTsKKyAKKyAJZmNsb3NlKGluKTsKK0BAIC0zNTMsNyArMzUzLDcgQEAgc3RhdGljIHJwbVJDIHJ1bkV4dFNjcmlwdChycG1QbHVnaW5zIHBsdWdpbnMsIEFSR1ZfY29uc3RfdCBwcmVmaXhlcywKKyAJcmVhcGVkID0gd2FpdHBpZChwaWQsICZzdGF0dXMsIDApOworICAgICB9IHdoaWxlIChyZWFwZWQgPT0gLTEgJiYgZXJybm8gPT0gRUlOVFIpOworIAorLSAgICBycG1sb2coUlBNTE9HX0RFQlVHLCAiJXM6IHdhaXRwaWQoJWQpIHJjICVkIHN0YXR1cyAleFxuIiwKKysgICAgcnBtbG9nKFJQTUxPR19JTkZPLCAiJXM6IHdhaXRwaWQoJWQpIHJjICVkIHN0YXR1cyAleFxuIiwKKyAJICAgc25hbWUsICh1bnNpZ25lZClwaWQsICh1bnNpZ25lZClyZWFwZWQsIHN0YXR1cyk7CisgCisgICAgIGlmIChyZWFwZWQgPCAwKSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ycG0vcnBtXzQuMTQuMi4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnBtL3JwbV80LjE0LjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjNmNDI2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnBtL3JwbV80LjE0LjIuMS5iYgpAQCAtMCwwICsxLDE1MiBAQAorU1VNTUFSWSA9ICJUaGUgUlBNIHBhY2thZ2UgbWFuYWdlbWVudCBzeXN0ZW0iCitERVNDUklQVElPTiA9ICJUaGUgUlBNIFBhY2thZ2UgTWFuYWdlciAoUlBNKSBpcyBhIHBvd2VyZnVsIGNvbW1hbmQgbGluZSBkcml2ZW4gXAorcGFja2FnZSBtYW5hZ2VtZW50IHN5c3RlbSBjYXBhYmxlIG9mIGluc3RhbGxpbmcsIHVuaW5zdGFsbGluZywgXAordmVyaWZ5aW5nLCBxdWVyeWluZywgYW5kIHVwZGF0aW5nIHNvZnR3YXJlIHBhY2thZ2VzLiBFYWNoIHNvZnR3YXJlIFwKK3BhY2thZ2UgY29uc2lzdHMgb2YgYW4gYXJjaGl2ZSBvZiBmaWxlcyBhbG9uZyB3aXRoIGluZm9ybWF0aW9uIGFib3V0IFwKK3RoZSBwYWNrYWdlIGxpa2UgaXRzIHZlcnNpb24sIGEgZGVzY3JpcHRpb24sIGV0Yy4iCisKK1NVTU1BUllfJHtQTn0tZGV2ID0gIkRldmVsb3BtZW50IGZpbGVzIGZvciBtYW5pcHVsYXRpbmcgUlBNIHBhY2thZ2VzIgorREVTQ1JJUFRJT05fJHtQTn0tZGV2ID0gIlRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgUlBNIEMgbGlicmFyeSBhbmQgaGVhZGVyIGZpbGVzLiBUaGVzZSBcCitkZXZlbG9wbWVudCBmaWxlcyB3aWxsIHNpbXBsaWZ5IHRoZSBwcm9jZXNzIG9mIHdyaXRpbmcgcHJvZ3JhbXMgdGhhdCBcCittYW5pcHVsYXRlIFJQTSBwYWNrYWdlcyBhbmQgZGF0YWJhc2VzLiBUaGVzZSBmaWxlcyBhcmUgaW50ZW5kZWQgdG8gXAorc2ltcGxpZnkgdGhlIHByb2Nlc3Mgb2YgY3JlYXRpbmcgZ3JhcGhpY2FsIHBhY2thZ2UgbWFuYWdlcnMgb3IgYW55IFwKK290aGVyIHRvb2xzIHRoYXQgbmVlZCBhbiBpbnRpbWF0ZSBrbm93bGVkZ2Ugb2YgUlBNIHBhY2thZ2VzIGluIG9yZGVyIFwKK3RvIGZ1bmN0aW9uLiIKKworU1VNTUFSWV9weXRob24zLXJwbSA9ICJQeXRob24gYmluZGluZ3MgZm9yIGFwcHMgd2hpY2ggd2lsbCBtYW51cHVsYXRlIFJQTSBwYWNrYWdlcyIKK0RFU0NSSVBUSU9OX3B5dGhvbjMtcnBtID0gIlRoZSBweXRob24zLXJwbSBwYWNrYWdlIGNvbnRhaW5zIGEgbW9kdWxlIHRoYXQgcGVybWl0cyBhcHBsaWNhdGlvbnMgXAord3JpdHRlbiBpbiB0aGUgUHl0aG9uIHByb2dyYW1taW5nIGxhbmd1YWdlIHRvIHVzZSB0aGUgaW50ZXJmYWNlIFwKK3N1cHBsaWVkIGJ5IHRoZSBSUE0gUGFja2FnZSBNYW5hZ2VyIGxpYnJhcmllcy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucnBtLm9yZyIKKworIyBsaWJyYXJpZXMgYXJlIGFsc28gTEdQTCAtIGhvdyB0byBleHByZXNzIHRoaXM/CitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMGJmMDE3YzBmZDE5MjBlNjE1OGEzMzNhY2FiZmQ0YSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L3JwbTticmFuY2g9cnBtLTQuMTQueCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1hZGQtYW4tdW5zYXRpc2ZpYWJsZS1kZXBlbmRlbmN5LXdoZW4tYnVpbGRpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtcmVhZC1jb25maWctZmlsZXMtZnJvbS1IT01FLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtV2hlbi1jcm9zcy1pbnN0YWxsaW5nLWV4ZWN1dGUtcGFja2FnZS1zY3JpcHRsZXRzLXdpdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1yZXNldC10aGUtUEFUSC1lbnZpcm9ubWVudC12YXJpYWJsZS1iZWZvcmUtcnUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1BZGQtc3VwcG9ydC1mb3ItcHJlZml4aW5nLWV0Yy1mcm9tLVJQTV9FVENDT05GSUdESVItLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWhhcmRjb2RlLWxpYi1ycG0tYXMtdGhlLWluc3RhbGxhdGlvbi1wYXRoLWZvci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC13aXRoLW11c2wtQy1saWJyYXJ5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLWEtY29sb3Itc2V0dGluZy1mb3ItbWlwczY0X24zMi1iaW5hcmllcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDExLURvLW5vdC1yZXF1aXJlLXRoYXQtRUxGLWJpbmFyaWVzLWFyZS1leGVjdXRhYmxlLXRvLWIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1TcGxpdC1iaW5hcnktcGFja2FnZS1idWlsZGluZy1pbnRvLWEtc2VwYXJhdGUtZnVuY3RpLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItUnVuLWJpbmFyeS1wYWNrYWdlLWNyZWF0aW9uLXZpYS10aHJlYWQtcG9vbHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1ycG1zdHJwb29sLmMtbWFrZS1vcGVyYXRpb25zLW92ZXItc3RyaW5nLXBvb2xzLXRocmVhLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtYnVpbGQtcGFjay5jLXJlbW92ZS1zdGF0aWMtbG9jYWwtdmFyaWFibGVzLWZyb20tYnVpbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXBlcmwtZGlzYWJsZS1hdXRvLXJlcXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1ycG0tcnBtaW8uYy1yZXN0cmljdC12aXJ0dWFsLW1lbW9yeS11c2FnZS1pZi1saW1pdC1zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTYtcnBtc2NyaXB0LmMtY2hhbmdlLWxvZ2dpbmctbGV2ZWwtYXJvdW5kLXNjcmlwdGxldHMtdC5wYXRjaCBcCisgICAgICAgICAgICIKKworUEUgPSAiMSIKK1NSQ1JFViA9ICI0YTk0NDAwMDYzOTg2NDY1ODNmMGQ5YWUxODM3ZGFkMjg3NTAxM2FhIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitERVBFTkRTID0gIm5zcyBsaWJhcmNoaXZlIGRiIGZpbGUgcG9wdCB4eiBiemlwMiBkYnVzIGVsZnV0aWxzIHB5dGhvbjMiCitERVBFTkRTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGUtcmVwbGFjZW1lbnQtbmF0aXZlIGJ6aXAyLXJlcGxhY2VtZW50LW5hdGl2ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcgcHl0aG9uM25hdGl2ZQorZXhwb3J0IFBZVEhPTl9BQkkKKworIyBPRS1jb3JlIHBhdGNoZXMgYXV0b3JlY29uZiB0byBhZGRpdGlvbmFsbHkgcnVuIGdudS1jb25maWdpemUsIHdoaWNoIGZhaWxzIHdpdGggdGhpcyByZWNpcGUKK0VYVFJBX0FVVE9SRUNPTkZfYXBwZW5kID0gIiAtLWV4Y2x1ZGU9Z251LWNvbmZpZ2l6ZSIKKworRVhUUkFfT0VDT05GX2FwcGVuZCA9ICIgLS13aXRob3V0LWx1YSAtLWVuYWJsZS1weXRob24iCitFWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLS1kaXNhYmxlLW5scyIKKworIyAtLXN5c2NvbmZkaXIgcHJldmVudHMgcnBtIGZyb20gYXR0ZW1wdGluZyB0byBhY2Nlc3MgbWFjaGluZS1zcGVjaWZpYyBjb25maWd1cmF0aW9uIGluIHN5c3Jvb3QvZXRjOyB3ZSBuZWVkIHRvIGhhdmUgaXQgaW4gcm9vdGZzCisjCisjIC0tbG9jYWxzdGF0ZWRpciBwcmV2ZW50cyBycG0gZnJvbSB3cml0aW5nIGl0cyBkYXRhYmFzZSB0byBuYXRpdmUgc3lzcm9vdCB3aGVuIGJ1aWxkaW5nIGltYWdlcworIworIyBEaXNhYmxlIGRidXMgZm9yIG5hdGl2ZSwgc28gdGhhdCBycG0gZG9lc24ndCBhdHRlbXB0IHRvIGluaGliaXQgc2h1dGRvd24gdmlhIHNlc3Npb24gZGJ1cyBldmVuIHdoZW4gcGx1Z2lucyBzdXBwb3J0IGlzIGVuYWJsZWQuCisjIEFsc28gZGlzYWJsZSBwbHVnaW5zIGJ5IGRlZmF1bHQgZm9yIG5hdGl2ZS4KK0VYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtLXN5c2NvbmZkaXI9L2V0YyAtLWxvY2Fsc3RhdGVkaXI9L3ZhciAtLWRpc2FibGUtcGx1Z2lucyIKK0VYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAtLXN5c2NvbmZkaXI9L2V0YyAtLWxvY2Fsc3RhdGVkaXI9L3ZhciAtLWRpc2FibGUtcGx1Z2lucyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tpbWFldm1dID0gIi0td2l0aC1pbWFldm0sLGltYS1ldm0tdXRpbHMiCisKK0FTTkVFREVEID0gIiIKKworIyBEaXJlY3QgcnBtLW5hdGl2ZSB0byByZWFkIGNvbmZpZ3VyYXRpb24gZnJvbSBvdXIgc3lzcm9vdCwgbm90IHRoZSBvbmUgaXQgd2FzIGNvbXBpbGVkIGluCisjIGxpYm1hZ2ljIGFsc28gaGFzIHN5c3Jvb3QgcGF0aCBjb250YW1pbmF0aW9uLCBzbyBvdmVycmlkZSBpdAorCitXUkFQUEVSX1RPT0xTID0gIiBcCisgICAke2JpbmRpcn0vcnBtIFwKKyAgICR7YmluZGlyfS9ycG0yYXJjaGl2ZSBcCisgICAke2JpbmRpcn0vcnBtMmNwaW8gXAorICAgJHtiaW5kaXJ9L3JwbWJ1aWxkIFwKKyAgICR7YmluZGlyfS9ycG1kYiBcCisgICAke2JpbmRpcn0vcnBtZ3JhcGggXAorICAgJHtiaW5kaXJ9L3JwbWtleXMgXAorICAgJHtiaW5kaXJ9L3JwbXNpZ24gXAorICAgJHtiaW5kaXJ9L3JwbXNwZWMgXAorICAgJHtsaWJkaXJ9L3JwbS9ycG1kZXBzIFwKKyIKKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgICAgICBmb3IgdG9vbCBpbiAke1dSQVBQRVJfVE9PTFN9OyBkbworICAgICAgICAgICAgICAgIGNyZWF0ZV93cmFwcGVyICR7RH0kdG9vbCBcCisgICAgICAgICAgICAgICAgICAgICAgICBSUE1fQ09ORklHRElSPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9ycG0gXAorICAgICAgICAgICAgICAgICAgICAgICAgUlBNX0VUQ0NPTkZJR0RJUj0ke1NUQUdJTkdfRElSX05BVElWRX0gXAorICAgICAgICAgICAgICAgICAgICAgICAgTUFHSUM9JHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtkYXRhZGlyX25hdGl2ZX0vbWlzYy9tYWdpYy5tZ2MgXAorICAgICAgICAgICAgICAgICAgICAgICAgUlBNX05PX0NIUk9PVF9GT1JfU0NSSVBUUz0xCisgICAgICAgIGRvbmUKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgeworICAgICAgICBmb3IgdG9vbCBpbiAke1dSQVBQRVJfVE9PTFN9OyBkbworICAgICAgICAgICAgICAgIGNyZWF0ZV93cmFwcGVyICR7RH0kdG9vbCBcCisgICAgICAgICAgICAgICAgICAgICAgICBSUE1fQ09ORklHRElSPSdgZGlybmFtZSAkJydyZWFscGF0aGAnLyR7QG9zLnBhdGgucmVscGF0aChkLmdldFZhcignbGliZGlyJyksIGQuZ2V0VmFyKCdiaW5kaXInKSl9L3JwbSBcCisgICAgICAgICAgICAgICAgICAgICAgICBSUE1fRVRDQ09ORklHRElSPSckJ3tSUE1fRVRDQ09ORklHRElSLSdgZGlybmFtZSAkJydyZWFscGF0aGAnLyR7QG9zLnBhdGgucmVscGF0aChkLmdldFZhcignc3lzY29uZmRpcicpLCBkLmdldFZhcignYmluZGlyJykpfS8uLn0gXAorICAgICAgICAgICAgICAgICAgICAgICAgTUFHSUM9J2BkaXJuYW1lICQnJ3JlYWxwYXRoYCcvJHtAb3MucGF0aC5yZWxwYXRoKGQuZ2V0VmFyKCdkYXRhZGlyJyksIGQuZ2V0VmFyKCdiaW5kaXInKSl9L21pc2MvbWFnaWMubWdjIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIFJQTV9OT19DSFJPT1RfRk9SX1NDUklQVFM9MQorICAgICAgICBkb25lCisKKyAgICAgICAgcm0gLXJmICR7RH0vdmFyCit9CisKKyMgUnBtJ3MgbWFrZSBpbnN0YWxsIGNyZWF0ZXMgdmFyL3RtcCB3aGljaCBjbGFzaGVzIHdpdGggYmFzZS1maWxlcyBwYWNrYWdpbmcKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICBybSAtcmYgJHtEfS92YXIKK30KKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCXNlZCAtaSAtZSAnczoke0hPU1RUT09MU19ESVJ9Lzo6ZycgXAorCSAgICAke0R9LyR7bGliZGlyfS9ycG0vbWFjcm9zCisKKwlzZWQgLWkgLWUgJ3N8L3Vzci9iaW4vcHl0aG9ufCR7VVNSQklOUEFUSH0vZW52ICR7UFlUSE9OX1BOfXwnIFwKKwkgICAgJHtEfSR7bGliZGlyfS9ycG0vcHl0aG9uZGlzdGRlcHMucHkgXAorCSAgICAke0R9JHtsaWJkaXJ9L3JwbS9weXRob24tbWFjcm8taGVscGVyCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vcnBtLXBsdWdpbnMvKi5zbyBcCisgICAgICAgICAgICAgICAiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3JwbS1wbHVnaW5zLyoubGEgXAorICAgICAgICAgICAgICAgICAgICAiCisKK1BBQ0tBR0VTICs9ICJweXRob24zLXJwbSIKK1BST1ZJREVTICs9ICJweXRob24zLXJwbSIKK0ZJTEVTX3B5dGhvbjMtcnBtID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L3JwbS8qIgorCisjIHJwbSA1Lnggd2FzIHBhY2thZ2luZyB0aGUgcnBtIGJ1aWxkIHRvb2xzIHNlcGFyYXRlbHkKK1JQUk9WSURFU18ke1BOfSArPSAicnBtLWJ1aWxkIgorCitSREVQRU5EU18ke1BOfSA9ICJiYXNoIHBlcmwgcHl0aG9uMy1jb3JlIgorCitQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gInJwbV9wYWNrYWdlX3ByZXByb2Nlc3MiCisKKyMgRG8gbm90IHNwZWNpZnkgYSBzeXNyb290IHdoZW4gY29tcGlsaW5nIG9uIGEgdGFyZ2V0LgorcnBtX3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7CisJc2VkIC1pIC1lICdzOi0tc3lzcm9vdFteIF0qOjpnJyBcCisJICAgICR7UEtHRH0vJHtsaWJkaXJ9L3JwbS9tYWNyb3MKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3JwbS9ycG1fNC4xNC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnBtL3JwbV80LjE0LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1ZWYzZjQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnBtL3JwbV80LjE0LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNTEgKzAsMCBAQAotU1VNTUFSWSA9ICJUaGUgUlBNIHBhY2thZ2UgbWFuYWdlbWVudCBzeXN0ZW0iCi1ERVNDUklQVElPTiA9ICJUaGUgUlBNIFBhY2thZ2UgTWFuYWdlciAoUlBNKSBpcyBhIHBvd2VyZnVsIGNvbW1hbmQgbGluZSBkcml2ZW4gXAotcGFja2FnZSBtYW5hZ2VtZW50IHN5c3RlbSBjYXBhYmxlIG9mIGluc3RhbGxpbmcsIHVuaW5zdGFsbGluZywgXAotdmVyaWZ5aW5nLCBxdWVyeWluZywgYW5kIHVwZGF0aW5nIHNvZnR3YXJlIHBhY2thZ2VzLiBFYWNoIHNvZnR3YXJlIFwKLXBhY2thZ2UgY29uc2lzdHMgb2YgYW4gYXJjaGl2ZSBvZiBmaWxlcyBhbG9uZyB3aXRoIGluZm9ybWF0aW9uIGFib3V0IFwKLXRoZSBwYWNrYWdlIGxpa2UgaXRzIHZlcnNpb24sIGEgZGVzY3JpcHRpb24sIGV0Yy4iCi0KLVNVTU1BUllfJHtQTn0tZGV2ID0gIkRldmVsb3BtZW50IGZpbGVzIGZvciBtYW5pcHVsYXRpbmcgUlBNIHBhY2thZ2VzIgotREVTQ1JJUFRJT05fJHtQTn0tZGV2ID0gIlRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgUlBNIEMgbGlicmFyeSBhbmQgaGVhZGVyIGZpbGVzLiBUaGVzZSBcCi1kZXZlbG9wbWVudCBmaWxlcyB3aWxsIHNpbXBsaWZ5IHRoZSBwcm9jZXNzIG9mIHdyaXRpbmcgcHJvZ3JhbXMgdGhhdCBcCi1tYW5pcHVsYXRlIFJQTSBwYWNrYWdlcyBhbmQgZGF0YWJhc2VzLiBUaGVzZSBmaWxlcyBhcmUgaW50ZW5kZWQgdG8gXAotc2ltcGxpZnkgdGhlIHByb2Nlc3Mgb2YgY3JlYXRpbmcgZ3JhcGhpY2FsIHBhY2thZ2UgbWFuYWdlcnMgb3IgYW55IFwKLW90aGVyIHRvb2xzIHRoYXQgbmVlZCBhbiBpbnRpbWF0ZSBrbm93bGVkZ2Ugb2YgUlBNIHBhY2thZ2VzIGluIG9yZGVyIFwKLXRvIGZ1bmN0aW9uLiIKLQotU1VNTUFSWV9weXRob24zLXJwbSA9ICJQeXRob24gYmluZGluZ3MgZm9yIGFwcHMgd2hpY2ggd2lsbCBtYW51cHVsYXRlIFJQTSBwYWNrYWdlcyIKLURFU0NSSVBUSU9OX3B5dGhvbjMtcnBtID0gIlRoZSBweXRob24zLXJwbSBwYWNrYWdlIGNvbnRhaW5zIGEgbW9kdWxlIHRoYXQgcGVybWl0cyBhcHBsaWNhdGlvbnMgXAotd3JpdHRlbiBpbiB0aGUgUHl0aG9uIHByb2dyYW1taW5nIGxhbmd1YWdlIHRvIHVzZSB0aGUgaW50ZXJmYWNlIFwKLXN1cHBsaWVkIGJ5IHRoZSBSUE0gUGFja2FnZSBNYW5hZ2VyIGxpYnJhcmllcy4iCi0KLUhPTUVQQUdFID0gImh0dHA6Ly93d3cucnBtLm9yZyIKLQotIyBsaWJyYXJpZXMgYXJlIGFsc28gTEdQTCAtIGhvdyB0byBleHByZXNzIHRoaXM/Ci1MSUNFTlNFID0gIkdQTC0yLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMGJmMDE3YzBmZDE5MjBlNjE1OGEzMzNhY2FiZmQ0YSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L3JwbTticmFuY2g9cnBtLTQuMTQueCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1hZGQtYW4tdW5zYXRpc2ZpYWJsZS1kZXBlbmRlbmN5LXdoZW4tYnVpbGRpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtcmVhZC1jb25maWctZmlsZXMtZnJvbS1IT01FLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtV2hlbi1jcm9zcy1pbnN0YWxsaW5nLWV4ZWN1dGUtcGFja2FnZS1zY3JpcHRsZXRzLXdpdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1yZXNldC10aGUtUEFUSC1lbnZpcm9ubWVudC12YXJpYWJsZS1iZWZvcmUtcnUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1BZGQtc3VwcG9ydC1mb3ItcHJlZml4aW5nLWV0Yy1mcm9tLVJQTV9FVENDT05GSUdESVItLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWhhcmRjb2RlLWxpYi1ycG0tYXMtdGhlLWluc3RhbGxhdGlvbi1wYXRoLWZvci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC13aXRoLW11c2wtQy1saWJyYXJ5LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLWEtY29sb3Itc2V0dGluZy1mb3ItbWlwczY0X24zMi1iaW5hcmllcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDExLURvLW5vdC1yZXF1aXJlLXRoYXQtRUxGLWJpbmFyaWVzLWFyZS1leGVjdXRhYmxlLXRvLWIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1TcGxpdC1iaW5hcnktcGFja2FnZS1idWlsZGluZy1pbnRvLWEtc2VwYXJhdGUtZnVuY3RpLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItUnVuLWJpbmFyeS1wYWNrYWdlLWNyZWF0aW9uLXZpYS10aHJlYWQtcG9vbHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1ycG1zdHJwb29sLmMtbWFrZS1vcGVyYXRpb25zLW92ZXItc3RyaW5nLXBvb2xzLXRocmVhLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtYnVpbGQtcGFjay5jLXJlbW92ZS1zdGF0aWMtbG9jYWwtdmFyaWFibGVzLWZyb20tYnVpbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXBlcmwtZGlzYWJsZS1hdXRvLXJlcXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1ycG0tcnBtaW8uYy1yZXN0cmljdC12aXJ0dWFsLW1lbW9yeS11c2FnZS1pZi1saW1pdC1zLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1QRSA9ICIxIgotU1JDUkVWID0gIjc1M2Y2OTQxZGMzMmU5NDA0N2I3Y2ZlNzEzZGRkNjA0YTgxMGI0ZGIiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLURFUEVORFMgPSAibnNzIGxpYmFyY2hpdmUgZGIgZmlsZSBwb3B0IHh6IGJ6aXAyIGRidXMgZWxmdXRpbHMgcHl0aG9uMyIKLURFUEVORFNfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZS1yZXBsYWNlbWVudC1uYXRpdmUgYnppcDItcmVwbGFjZW1lbnQtbmF0aXZlIgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBweXRob24zbmF0aXZlCi1leHBvcnQgUFlUSE9OX0FCSQotCi0jIE9FLWNvcmUgcGF0Y2hlcyBhdXRvcmVjb25mIHRvIGFkZGl0aW9uYWxseSBydW4gZ251LWNvbmZpZ2l6ZSwgd2hpY2ggZmFpbHMgd2l0aCB0aGlzIHJlY2lwZQotRVhUUkFfQVVUT1JFQ09ORl9hcHBlbmQgPSAiIC0tZXhjbHVkZT1nbnUtY29uZmlnaXplIgotCi1FWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLXdpdGhvdXQtbHVhIC0tZW5hYmxlLXB5dGhvbiIKLUVYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsID0gIiAtLWRpc2FibGUtbmxzIgotCi0jIC0tc3lzY29uZmRpciBwcmV2ZW50cyBycG0gZnJvbSBhdHRlbXB0aW5nIHRvIGFjY2VzcyBtYWNoaW5lLXNwZWNpZmljIGNvbmZpZ3VyYXRpb24gaW4gc3lzcm9vdC9ldGM7IHdlIG5lZWQgdG8gaGF2ZSBpdCBpbiByb290ZnMKLSMKLSMgLS1sb2NhbHN0YXRlZGlyIHByZXZlbnRzIHJwbSBmcm9tIHdyaXRpbmcgaXRzIGRhdGFiYXNlIHRvIG5hdGl2ZSBzeXNyb290IHdoZW4gYnVpbGRpbmcgaW1hZ2VzCi0jCi0jIERpc2FibGUgZGJ1cyBmb3IgbmF0aXZlLCBzbyB0aGF0IHJwbSBkb2Vzbid0IGF0dGVtcHQgdG8gaW5oaWJpdCBzaHV0ZG93biB2aWEgc2Vzc2lvbiBkYnVzIGV2ZW4gd2hlbiBwbHVnaW5zIHN1cHBvcnQgaXMgZW5hYmxlZC4KLSMgQWxzbyBkaXNhYmxlIHBsdWdpbnMgYnkgZGVmYXVsdCBmb3IgbmF0aXZlLgotRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC0tc3lzY29uZmRpcj0vZXRjIC0tbG9jYWxzdGF0ZWRpcj0vdmFyIC0tZGlzYWJsZS1wbHVnaW5zIgotRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIC0tc3lzY29uZmRpcj0vZXRjIC0tbG9jYWxzdGF0ZWRpcj0vdmFyIC0tZGlzYWJsZS1wbHVnaW5zIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHW2ltYWV2bV0gPSAiLS13aXRoLWltYWV2bSwsaW1hLWV2bS11dGlscyIKLQotQVNORUVERUQgPSAiIgotCi0jIERpcmVjdCBycG0tbmF0aXZlIHRvIHJlYWQgY29uZmlndXJhdGlvbiBmcm9tIG91ciBzeXNyb290LCBub3QgdGhlIG9uZSBpdCB3YXMgY29tcGlsZWQgaW4KLSMgbGlibWFnaWMgYWxzbyBoYXMgc3lzcm9vdCBwYXRoIGNvbnRhbWluYXRpb24sIHNvIG92ZXJyaWRlIGl0Ci0KLVdSQVBQRVJfVE9PTFMgPSAiIFwKLSAgICR7YmluZGlyfS9ycG0gXAotICAgJHtiaW5kaXJ9L3JwbTJhcmNoaXZlIFwKLSAgICR7YmluZGlyfS9ycG0yY3BpbyBcCi0gICAke2JpbmRpcn0vcnBtYnVpbGQgXAotICAgJHtiaW5kaXJ9L3JwbWRiIFwKLSAgICR7YmluZGlyfS9ycG1ncmFwaCBcCi0gICAke2JpbmRpcn0vcnBta2V5cyBcCi0gICAke2JpbmRpcn0vcnBtc2lnbiBcCi0gICAke2JpbmRpcn0vcnBtc3BlYyBcCi0gICAke2xpYmRpcn0vcnBtL3JwbWRlcHMgXAotIgotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7Ci0gICAgICAgIGZvciB0b29sIGluICR7V1JBUFBFUl9UT09MU307IGRvCi0gICAgICAgICAgICAgICAgY3JlYXRlX3dyYXBwZXIgJHtEfSR0b29sIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIFJQTV9DT05GSUdESVI9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3JwbSBcCi0gICAgICAgICAgICAgICAgICAgICAgICBSUE1fRVRDQ09ORklHRElSPSR7U1RBR0lOR19ESVJfTkFUSVZFfSBcCi0gICAgICAgICAgICAgICAgICAgICAgICBNQUdJQz0ke1NUQUdJTkdfRElSX05BVElWRX0ke2RhdGFkaXJfbmF0aXZlfS9taXNjL21hZ2ljLm1nYyBcCi0gICAgICAgICAgICAgICAgICAgICAgICBSUE1fTk9fQ0hST09UX0ZPUl9TQ1JJUFRTPTEKLSAgICAgICAgZG9uZQotfQotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsoKSB7Ci0gICAgICAgIGZvciB0b29sIGluICR7V1JBUFBFUl9UT09MU307IGRvCi0gICAgICAgICAgICAgICAgY3JlYXRlX3dyYXBwZXIgJHtEfSR0b29sIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIFJQTV9DT05GSUdESVI9J2BkaXJuYW1lICQnJ3JlYWxwYXRoYCcvJHtAb3MucGF0aC5yZWxwYXRoKGQuZ2V0VmFyKCdsaWJkaXInKSwgZC5nZXRWYXIoJ2JpbmRpcicpKX0vcnBtIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIFJQTV9FVENDT05GSUdESVI9JyQne1JQTV9FVENDT05GSUdESVItJ2BkaXJuYW1lICQnJ3JlYWxwYXRoYCcvJHtAb3MucGF0aC5yZWxwYXRoKGQuZ2V0VmFyKCdzeXNjb25mZGlyJyksIGQuZ2V0VmFyKCdiaW5kaXInKSl9Ly4ufSBcCi0gICAgICAgICAgICAgICAgICAgICAgICBNQUdJQz0nYGRpcm5hbWUgJCcncmVhbHBhdGhgJy8ke0Bvcy5wYXRoLnJlbHBhdGgoZC5nZXRWYXIoJ2RhdGFkaXInKSwgZC5nZXRWYXIoJ2JpbmRpcicpKX0vbWlzYy9tYWdpYy5tZ2MgXAotICAgICAgICAgICAgICAgICAgICAgICAgUlBNX05PX0NIUk9PVF9GT1JfU0NSSVBUUz0xCi0gICAgICAgIGRvbmUKLQotICAgICAgICBybSAtcmYgJHtEfS92YXIKLX0KLQotIyBScG0ncyBtYWtlIGluc3RhbGwgY3JlYXRlcyB2YXIvdG1wIHdoaWNoIGNsYXNoZXMgd2l0aCBiYXNlLWZpbGVzIHBhY2thZ2luZwotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotICAgIHJtIC1yZiAke0R9L3ZhcgotfQotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0Jc2VkIC1pIC1lICdzOiR7SE9TVFRPT0xTX0RJUn0vOjpnJyBcCi0JICAgICR7RH0vJHtsaWJkaXJ9L3JwbS9tYWNyb3MKLQotCXNlZCAtaSAtZSAnc3wvdXNyL2Jpbi9weXRob258JHtVU1JCSU5QQVRIfS9lbnYgJHtQWVRIT05fUE59fCcgXAotCSAgICAke0R9JHtsaWJkaXJ9L3JwbS9weXRob25kaXN0ZGVwcy5weSBcCi0JICAgICR7RH0ke2xpYmRpcn0vcnBtL3B5dGhvbi1tYWNyby1oZWxwZXIKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9ycG0tcGx1Z2lucy8qLnNvIFwKLSAgICAgICAgICAgICAgICIKLQotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vcnBtLXBsdWdpbnMvKi5sYSBcCi0gICAgICAgICAgICAgICAgICAgICIKLQotUEFDS0FHRVMgKz0gInB5dGhvbjMtcnBtIgotUFJPVklERVMgKz0gInB5dGhvbjMtcnBtIgotRklMRVNfcHl0aG9uMy1ycG0gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vcnBtLyoiCi0KLSMgcnBtIDUueCB3YXMgcGFja2FnaW5nIHRoZSBycG0gYnVpbGQgdG9vbHMgc2VwYXJhdGVseQotUlBST1ZJREVTXyR7UE59ICs9ICJycG0tYnVpbGQiCi0KLVJERVBFTkRTXyR7UE59ID0gImJhc2ggcGVybCBweXRob24zLWNvcmUiCi0KLVBBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAicnBtX3BhY2thZ2VfcHJlcHJvY2VzcyIKLQotIyBEbyBub3Qgc3BlY2lmeSBhIHN5c3Jvb3Qgd2hlbiBjb21waWxpbmcgb24gYSB0YXJnZXQuCi1ycG1fcGFja2FnZV9wcmVwcm9jZXNzICgpIHsKLQlzZWQgLWkgLWUgJ3M6LS1zeXNyb290W14gXSo6OmcnIFwKLQkgICAgJHtQS0dEfS8ke2xpYmRpcn0vcnBtL21hY3JvcwotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnVieS9ydWJ5LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3J1YnkvcnVieS5pbmMKaW5kZXggNWE1YmVmMi4uZWFmNWQxMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnVieS9ydWJ5LmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ydWJ5L3J1YnkuaW5jCkBAIC0xNSw3ICsxNSw3IEBACiAiCiAKIERFUEVORFMgPSAicnVieS1uYXRpdmUgemxpYiBvcGVuc3NsIHRjbCBsaWJ5YW1sIGdkYm0gcmVhZGxpbmUiCi1ERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJvcGVuc3NsLW5hdGl2ZSBsaWJ5YW1sLW5hdGl2ZSIKK0RFUEVORFNfY2xhc3MtbmF0aXZlID0gIm9wZW5zc2wtbmF0aXZlIGxpYnlhbWwtbmF0aXZlIHJlYWRsaW5lLW5hdGl2ZSIKIAogU0hSVF9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKIFNSQ19VUkkgPSAiaHR0cDovL2NhY2hlLnJ1YnktbGFuZy5vcmcvcHViL3J1YnkvJHtTSFJUX1ZFUn0vcnVieS0ke1BWfS50YXIuZ3ogXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnVieS9ydWJ5L0NWRS0yMDE4LTEwMDAwNzMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ydWJ5L3J1YnkvQ1ZFLTIwMTgtMTAwMDA3My5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjJmYTFiNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ydWJ5L3J1YnkvQ1ZFLTIwMTgtMTAwMDA3My5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLUZyb20gMWI5MzFmYzAzYjgxOWI5YTAyMTRiZTNlYWNhODQ0ZWY1MzQxNzVlMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEpvbmF0aGFuIENsYXVkaXVzIDxqY2xhdWRpdXNAbW96aWxsYS5jb20+Ci1EYXRlOiBXZWQsIDcgRmViIDIwMTggMjM6NTQ6NTIgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gTm9uLXdvcmtpbmcgcGF0Y2ggZm9yIGRlZHVjaW5nIHN5bWxpbmtlZCBiYXNlLWRpcnMKLQotLS0tCi1DVkU6IENWRS0yMDE4LTEwMDAwNzMKLQotRml4ZWQgaW4gcnVieSAyLjcuNi4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbZ2l0aHViLmNvbS9ydWJ5Z2Vtcy9ydWJ5Z2Vtcy9jb21taXQvMWI5MzFmYy4uLl0KLQotU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tPgotCi0tLS0KLSBsaWIvcnVieWdlbXMvcGFja2FnZS5yYiB8ICAgIDIgKysKLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9saWIvcnVieWdlbXMvcGFja2FnZS5yYiBiL2xpYi9ydWJ5Z2Vtcy9wYWNrYWdlLnJiCi1pbmRleCBkZWRlOTU5Li5jYjljNzRhIDEwMDY0NAotLS0tIGEvbGliL3J1YnlnZW1zL3BhY2thZ2UucmIKLSsrKyBiL2xpYi9ydWJ5Z2Vtcy9wYWNrYWdlLnJiCi1AQCAtNDIxLDYgKzQyMSw4IEBAIEVPTQotICAgICBkZXN0aW5hdGlvbl9kaXIgPSBGaWxlLmV4cGFuZF9wYXRoIGRlc3RpbmF0aW9uX2RpcgotIAotICAgICBkZXN0aW5hdGlvbiA9IEZpbGUuam9pbiBkZXN0aW5hdGlvbl9kaXIsIGZpbGVuYW1lCi0rICAgIGRlc3RpbmF0aW9uID0gRmlsZS5yZWFscGF0aCBkZXN0aW5hdGlvbiBpZgotKyAgICAgIEZpbGUucmVzcG9uZF90bz8gOnJlYWxwYXRoCi0gICAgIGRlc3RpbmF0aW9uID0gRmlsZS5leHBhbmRfcGF0aCBkZXN0aW5hdGlvbgotIAotICAgICByYWlzZSBHZW06OlBhY2thZ2U6OlBhdGhFcnJvci5uZXcoZGVzdGluYXRpb24sIGRlc3RpbmF0aW9uX2RpcikgdW5sZXNzCi0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnVieS9ydWJ5XzIuNS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnVieS9ydWJ5XzIuNS4zLmJiCmluZGV4IGU5ZjA0NTMuLjNmYjQyN2UgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3J1YnkvcnVieV8yLjUuMy5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ydWJ5L3J1YnlfMi41LjMuYmIKQEAgLTMsNyArMyw2IEBACiBTUkNfVVJJICs9ICIgXAogICAgICAgICAgICBmaWxlOi8vcnVieS1DVkUtMjAxNy05MjI2LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL3J1YnktQ1ZFLTIwMTctOTIyOC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xMDAwMDczLnBhdGNoIFwKICAgICAgICAgICAgIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiMjBjODViNjc4NDZkNDk2MjJlZjNiMjQyMzA4MDNmZWYiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zcXVhc2hmcy10b29scy9zcXVhc2hmcy10b29sc19naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zcXVhc2hmcy10b29scy9zcXVhc2hmcy10b29sc19naXQuYmIKaW5kZXggMmY0MTI2My4uZTg3MWYxYyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3F1YXNoZnMtdG9vbHMvc3F1YXNoZnMtdG9vbHNfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3NxdWFzaGZzLXRvb2xzL3NxdWFzaGZzLXRvb2xzX2dpdC5iYgpAQCAtMiwxNiArMiwxMiBAQAogIyBhbmQgSSBkb24ndCB0aGluayB0aGUga2VybmVsIHN1cHBvcnRzIGl0IGFueSBtb3JlLgogU1VNTUFSWSA9ICJUb29scyBmb3IgbWFuaXB1bGF0aW5nIFNxdWFzaEZTIGZpbGVzeXN0ZW1zIgogU0VDVElPTiA9ICJiYXNlIgotTElDRU5TRSA9ICJHUEwtMiAmIFBEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vLi4vLi4vN3pDLnR4dDtiZWdpbmxpbmU9MTI7ZW5kbGluZT0xNjttZDU9MjA1NmNkNmQ5MTllYmMzODA3NjAyMTQzYzc0NDlhN2MgXAotIgotREVQRU5EUyA9ICJhdHRyIHpsaWIgeHogbHpvIGx6NCIKK0xJQ0VOU0UgPSAiR1BMLTIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKIAogUFYgPSAiNC4zK2dpdHIke1NSQ1BWfSIKIFNSQ1JFViA9ICI5YzFkYjZkMTNhNTFhMmUwMDlmMDAyN2VmMzM2Y2UwMzYyNGVhYzBkIgogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3Bsb3VnaGVyL3NxdWFzaGZzLXRvb2xzLmdpdDtwcm90b2NvbD1odHRwcyBcCi0gICAgICAgICAgIGh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3NldmVuemlwL2x6bWE0NjUudGFyLmJ6MjtuYW1lPWx6bWEgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1ta3NxdWFzaGZzLmMtZ2V0LWlubGluZS1mdW5jdGlvbnMtd29yay13aXRoLUM5OS5wYXRjaDtzdHJpcGxldmVsPTIgXAogICAgICAgICAgICBmaWxlOi8vc3F1YXNoZnMtdG9vbHMtNC4zLXN5c21hY3Jvcy5wYXRjaDtzdHJpcGxldmVsPTIgXAogICAgICAgICAgICBmaWxlOi8vZml4LWNvbXBhdC5wYXRjaCBcCkBAIC0yMywxNCArMTksMjAgQEAKIAogUyA9ICIke1dPUktESVJ9L2dpdC9zcXVhc2hmcy10b29scyIKIAotIyBFWFRSQV9PRU1BS0UgaXMgdHlwaWNhbGx5OiAtZSBNQUtFRkxBR1M9Ci0jIHRoZSAtZSBjYXVzZXMgcHJvYmxlbXMgYXMgQ0ZMQUdTIGlzIG1vZGlmaWVkIGluIHRoZSBNYWtlZmlsZSwgc28KLSMgd2UgcmVkZWZpbmUgRVhUUkFfT0VNQUtFIGhlcmUKLUVYVFJBX09FTUFLRSA9ICJNQUtFRkxBR1M9IExaTUFfU1VQUE9SVD0xIExaTUFfRElSPS4uLy4uIFhaX1NVUFBPUlQ9MSBMWk9fU1VQUE9SVD0xIExaNF9TVVBQT1JUPTEiCitFWFRSQV9PRU1BS0UgPSAiJHtQQUNLQUdFQ09ORklHX0NPTkZBUkdTfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImd6aXAgeHogbHpvIGx6NCBsem1hIHhhdHRyIgorUEFDS0FHRUNPTkZJR1tnemlwXSA9ICJHWklQX1NVUFBPUlQ9MSxHWklQX1NVUFBPUlQ9MCx6bGliIgorUEFDS0FHRUNPTkZJR1t4el0gPSAiWFpfU1VQUE9SVD0xLFhaX1NVUFBPUlQ9MCx4eiIKK1BBQ0tBR0VDT05GSUdbbHpvXSA9ICJMWk9fU1VQUE9SVD0xLExaT19TVVBQT1JUPTAsbHpvIgorUEFDS0FHRUNPTkZJR1tsejRdID0gIkxaNF9TVVBQT1JUPTEsTFo0X1NVUFBPUlQ9MCxsejQiCitQQUNLQUdFQ09ORklHW2x6bWFdID0gIkxaTUFfWFpfU1VQUE9SVD0xLExaTUFfWFpfU1VQUE9SVD0wLHh6IgorUEFDS0FHRUNPTkZJR1t4YXR0cl0gPSAiWEFUVFJfU1VQUE9SVD0xLFhBVFRSX1NVUFBPUlQ9MCxhdHRyIgogCiBkb19jb21waWxlKCkgewogCW9lX3J1bm1ha2UgbWtzcXVhc2hmcyB1bnNxdWFzaGZzCiB9CisKIGRvX2luc3RhbGwgKCkgewogCWluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KIAlpbnN0YWxsIC1tIDA3NTUgbWtzcXVhc2hmcyAke0R9JHtzYmluZGlyfS8KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvMDAwMS1GaXgtYnVpbGQtd2hlbi11c2luZy1ub24tZ2xpYmMtbGliYy1pbXBsZW1lbnRhdGlvbi1vLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLUZpeC1idWlsZC13aGVuLXVzaW5nLW5vbi1nbGliYy1saWJjLWltcGxlbWVudGF0aW9uLW8ucGF0Y2gKaW5kZXggN2Y1OTIxMC4uZGFhZmNlYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLUZpeC1idWlsZC13aGVuLXVzaW5nLW5vbi1nbGliYy1saWJjLWltcGxlbWVudGF0aW9uLW8ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLUZpeC1idWlsZC13aGVuLXVzaW5nLW5vbi1nbGliYy1saWJjLWltcGxlbWVudGF0aW9uLW8ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDFmMGMyMmI3OTA0NWNmY2RjOTc2NjQzZjM4M2MxZDA5NTg5ZDMwODcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGFmMWZkY2U3OGJmZjQzNDNmM2M4NGVhMTE4YWJkYzNjNzM5ZmM2NDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogU2F0LCAzMCBBcHIgMjAxNiAxNjoyMzo1NiArMDAwMAogU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGQgd2hlbiB1c2luZyBub24tZ2xpYmMgbGliYyBpbXBsZW1lbnRhdGlvbiBvbiBwcGMKQEAgLTgsMTUgKzgsMTYgQEAKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCiAtLS0KICBwdHJhY2UuaCB8IDggKysrKysrKy0KICAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9wdHJhY2UuaCBiL3B0cmFjZS5oCi1pbmRleCBkOGFmOTc2Li40OTc4YTY5IDEwMDY0NAoraW5kZXggODlkNGI5NS4uYjNmNDViYiAxMDA2NDQKIC0tLSBhL3B0cmFjZS5oCiArKysgYi9wdHJhY2UuaAotQEAgLTUyLDcgKzUyLDEzIEBAIGV4dGVybiBsb25nIHB0cmFjZShpbnQsIGludCwgY2hhciAqLCBsb25nKTsKK0BAIC0zMCw3ICszMCwxMyBAQAogICMgZGVmaW5lIHB0cmFjZV9wZWVrc2lnaW5mb19hcmdzIFhYWF9wdHJhY2VfcGVla3NpZ2luZm9fYXJncwogICNlbmRpZgogIApAQCAtMzEsNiArMzIsMyBAQAogIAogICNpZmRlZiBIQVZFX1NUUlVDVF9JQTY0X0ZQUkVHCiAgIyB1bmRlZiBpYTY0X2ZwcmVnCi0tLSAKLTEuOC4zLjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLWNhcHMtYWJicmV2LmF3ay1maXgtZ2F3ay1zLXBhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtY2Fwcy1hYmJyZXYuYXdrLWZpeC1nYXdrLXMtcGF0aC5wYXRjaAppbmRleCA0ZjEzNzA2Li41MmQyY2RjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtY2Fwcy1hYmJyZXYuYXdrLWZpeC1nYXdrLXMtcGF0aC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtY2Fwcy1hYmJyZXYuYXdrLWZpeC1nYXdrLXMtcGF0aC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gODM3NTc1MjNjNTA3NDhlYTg0NWMxZTIyMGIxYzNiMjA4MGQzY2M0OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZDIyNWFhYTg4NDFmNDdiYThhYTdiMzUzYjBhYzMwMjhkNTkxM2VmZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgogRGF0ZTogVGh1LCA5IEZlYiAyMDE3IDAxOjI3OjQ5IC0wODAwCiBTdWJqZWN0OiBbUEFUQ0hdIGNhcHMtYWJicmV2LmF3azogZml4IGdhd2sncyBwYXRoCkBAIC04LDYgKzgsNyBAQAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiAKIFNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorCiAtLS0KICB0ZXN0cy1tMzIvY2Fwcy1hYmJyZXYuYXdrICB8IDIgKy0KICB0ZXN0cy1teDMyL2NhcHMtYWJicmV2LmF3ayB8IDIgKy0KQEAgLTE1LDcgKzE2LDcgQEAKICAzIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3Rlc3RzLW0zMi9jYXBzLWFiYnJldi5hd2sgYi90ZXN0cy1tMzIvY2Fwcy1hYmJyZXYuYXdrCi1pbmRleCA4NmRlN2YyLi4wNTM1Y2FjIDEwMDY0NAoraW5kZXggYzAwMDIzYi4uYTU2Y2Q1NiAxMDA2NDQKIC0tLSBhL3Rlc3RzLW0zMi9jYXBzLWFiYnJldi5hd2sKICsrKyBiL3Rlc3RzLW0zMi9jYXBzLWFiYnJldi5hd2sKIEBAIC0xLDQgKzEsNCBAQApAQCAtMjUsNyArMjYsNyBAQAogICMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgY2FwcyBzdHJhY2UgdGVzdC4KICAjCiBkaWZmIC0tZ2l0IGEvdGVzdHMtbXgzMi9jYXBzLWFiYnJldi5hd2sgYi90ZXN0cy1teDMyL2NhcHMtYWJicmV2LmF3awotaW5kZXggODZkZTdmMi4uMDUzNWNhYyAxMDA2NDQKK2luZGV4IGMwMDAyM2IuLmE1NmNkNTYgMTAwNjQ0CiAtLS0gYS90ZXN0cy1teDMyL2NhcHMtYWJicmV2LmF3awogKysrIGIvdGVzdHMtbXgzMi9jYXBzLWFiYnJldi5hd2sKIEBAIC0xLDQgKzEsNCBAQApAQCAtMzUsNyArMzYsNyBAQAogICMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgY2FwcyBzdHJhY2UgdGVzdC4KICAjCiBkaWZmIC0tZ2l0IGEvdGVzdHMvY2Fwcy1hYmJyZXYuYXdrIGIvdGVzdHMvY2Fwcy1hYmJyZXYuYXdrCi1pbmRleCA4NmRlN2YyLi4wNTM1Y2FjIDEwMDY0NAoraW5kZXggYzAwMDIzYi4uYTU2Y2Q1NiAxMDA2NDQKIC0tLSBhL3Rlc3RzL2NhcHMtYWJicmV2LmF3awogKysrIGIvdGVzdHMvY2Fwcy1hYmJyZXYuYXdrCiBAQCAtMSw0ICsxLDQgQEAKQEAgLTQ0LDYgKzQ1LDMgQEAKICAjCiAgIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBjYXBzIHN0cmFjZSB0ZXN0LgogICMKLS0tIAotMi4xMC4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvMDAwMS1taXBzLW8zMi1maXgtYnVpbGQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtbWlwcy1vMzItZml4LWJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1ZGNjZmIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtbWlwcy1vMzItZml4LWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsOTggQEAKK0Zyb20gMmM4YjZkZTkxMzk3MzI3NGU4Nzc2Mzk2NThlOWU3MjczYTAxMmFkYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJEbWl0cnkgVi4gTGV2aW4iIDxsZHZAYWx0bGludXgub3JnPgorRGF0ZTogVHVlLCA4IEphbiAyMDE5IDE5OjIzOjQ0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIG1pcHMgbzMyOiBmaXggYnVpbGQKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitDb21taXQgOTE3YzJjY2YzYTY3ICJSZWZhY3RvciBzdGFjayBwb2ludGVycyIgbW92ZWQgbWlwc19SRUdfKiBtYWNyb3MKK2Zyb20gbGludXgvbWlwcy9hcmNoX3JlZ3MuaCB0byBsaW51eC9taXBzL2FyY2hfcmVncy5jIGJlY2F1c2UgdGhlc2UKK21hY3JvcyBhcmUgbm8gbG9uZ2VyIHVzZWQgb3V0c2lkZSBzeXNjYWxsLmMgb3IgZmlsZXMgaW5jbHVkZWQgYnkKK3N5c2NhbGwuYywgYnV0IHRoaXMgY2F1c2VkIGEgYnVpbGQgcmVncmVzc2lvbiBvbiBtaXBzIG8zMiBiZWNhdXNlCitkZWNvZGVfc3lzY2FsbF9zdWJjYWxsKCkgdXNlcyBtaXBzX1JFR19TUCBwcmlvciB0byBpdHMgZGVmaW5pdGlvbi4KKworKiBzeXNjYWxsLmMgKGRlY29kZV9zeXNjYWxsX3N1YmNhbGwpOiBNb3ZlIC4uLgorKiBsaW51eC9taXBzL2dldF9zeXNjYWxsX2FyZ3MuYzogLi4uIGhlcmUuCisKK1JlcG9ydGVkLWJ5OiBCYXJ1Y2ggU2lhY2ggPGJhcnVjaEB0a29zLmNvLmlsPgorRml4ZXM6IHY0LjI2fjYxICJSZWZhY3RvciBzdGFjayBwb2ludGVycyIKKy0tLQorIGxpbnV4L21pcHMvZ2V0X3N5c2NhbGxfYXJncy5jIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBzeXNjYWxsLmMgICAgICAgICAgICAgICAgICAgICB8IDI3ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saW51eC9taXBzL2dldF9zeXNjYWxsX2FyZ3MuYyBiL2xpbnV4L21pcHMvZ2V0X3N5c2NhbGxfYXJncy5jCitpbmRleCAzODdhYTg1Mi4uZTI4ODlmOTggMTAwNjQ0CistLS0gYS9saW51eC9taXBzL2dldF9zeXNjYWxsX2FyZ3MuYworKysrIGIvbGludXgvbWlwcy9nZXRfc3lzY2FsbF9hcmdzLmMKK0BAIC0zNywzICszNywyOSBAQCBhcmNoX2dldF9zeXNjYWxsX2FyZ3Moc3RydWN0IHRjYiAqdGNwKQorICNlbmRpZgorIAlyZXR1cm4gMTsKKyB9CisrCisrI2lmZGVmIFNZU19zeXNjYWxsX3N1YmNhbGwKKytzdGF0aWMgdm9pZAorK2RlY29kZV9zeXNjYWxsX3N1YmNhbGwoc3RydWN0IHRjYiAqdGNwKQorK3sKKysJaWYgKCFzY25vX2lzX3ZhbGlkKHRjcC0+dV9hcmdbMF0pKQorKwkJcmV0dXJuOworKwl0Y3AtPnNjbm8gPSB0Y3AtPnVfYXJnWzBdOworKwl0Y3AtPnF1YWxfZmxnID0gcXVhbF9mbGFncyh0Y3AtPnNjbm8pOworKwl0Y3AtPnNfZW50ID0gJnN5c2VudFt0Y3AtPnNjbm9dOworKwltZW1tb3ZlKCZ0Y3AtPnVfYXJnWzBdLCAmdGNwLT51X2FyZ1sxXSwKKysJCXNpemVvZih0Y3AtPnVfYXJnKSAtIHNpemVvZih0Y3AtPnVfYXJnWzBdKSk7CisrCS8qCisrCSAqIEZldGNoaW5nIHRoZSBsYXN0IGFyZyBvZiA3LWFyZyBzeXNjYWxscyAoZmFkdmlzZTY0XzY0CisrCSAqIGFuZCBzeW5jX2ZpbGVfcmFuZ2UpIHJlcXVpcmVzIGFkZGl0aW9uYWwgY29kZSwKKysJICogc2VlIGxpbnV4L21pcHMvZ2V0X3N5c2NhbGxfYXJncy5jCisrCSAqLworKwlpZiAodGNwLT5zX2VudC0+bmFyZ3MgPT0gTUFYX0FSR1MpIHsKKysJCWlmICh1bW92ZW4odGNwLAorKwkJCSAgIG1pcHNfUkVHX1NQICsgTUFYX0FSR1MgKiBzaXplb2YodGNwLT51X2FyZ1swXSksCisrCQkJICAgc2l6ZW9mKHRjcC0+dV9hcmdbMF0pLAorKwkJCSAgICZ0Y3AtPnVfYXJnW01BWF9BUkdTIC0gMV0pIDwgMCkKKysJCXRjcC0+dV9hcmdbTUFYX0FSR1MgLSAxXSA9IDA7CisrCX0KKyt9CisrI2VuZGlmIC8qIFNZU19zeXNjYWxsX3N1YmNhbGwgKi8KK2RpZmYgLS1naXQgYS9zeXNjYWxsLmMgYi9zeXNjYWxsLmMKK2luZGV4IGQ3OGY1MWRkLi41MWZjYzcyMSAxMDA2NDQKKy0tLSBhL3N5c2NhbGwuYworKysrIGIvc3lzY2FsbC5jCitAQCAtMzQ5LDMxICszNDksOCBAQCBkZWNvZGVfaXBjX3N1YmNhbGwoc3RydWN0IHRjYiAqdGNwKQorICNlbmRpZiAvKiBTWVNfaXBjX3N1YmNhbGwgKi8KKyAKKyAjaWZkZWYgU1lTX3N5c2NhbGxfc3ViY2FsbAorLXN0YXRpYyB2b2lkCistZGVjb2RlX3N5c2NhbGxfc3ViY2FsbChzdHJ1Y3QgdGNiICp0Y3ApCisteworLQlpZiAoIXNjbm9faXNfdmFsaWQodGNwLT51X2FyZ1swXSkpCistCQlyZXR1cm47CistCXRjcC0+c2NubyA9IHRjcC0+dV9hcmdbMF07CistCXRjcC0+cXVhbF9mbGcgPSBxdWFsX2ZsYWdzKHRjcC0+c2Nubyk7CistCXRjcC0+c19lbnQgPSAmc3lzZW50W3RjcC0+c2Nub107CistCW1lbW1vdmUoJnRjcC0+dV9hcmdbMF0sICZ0Y3AtPnVfYXJnWzFdLAorLQkJc2l6ZW9mKHRjcC0+dV9hcmcpIC0gc2l6ZW9mKHRjcC0+dV9hcmdbMF0pKTsKKy0jIGlmZGVmIExJTlVYX01JUFNPMzIKKy0JLyoKKy0JICogRmV0Y2hpbmcgdGhlIGxhc3QgYXJnIG9mIDctYXJnIHN5c2NhbGxzIChmYWR2aXNlNjRfNjQKKy0JICogYW5kIHN5bmNfZmlsZV9yYW5nZSkgcmVxdWlyZXMgYWRkaXRpb25hbCBjb2RlLAorLQkgKiBzZWUgbGludXgvbWlwcy9nZXRfc3lzY2FsbF9hcmdzLmMKKy0JICovCistCWlmICh0Y3AtPnNfZW50LT5uYXJncyA9PSBNQVhfQVJHUykgeworLQkJaWYgKHVtb3Zlbih0Y3AsCistCQkJICAgbWlwc19SRUdfU1AgKyBNQVhfQVJHUyAqIHNpemVvZih0Y3AtPnVfYXJnWzBdKSwKKy0JCQkgICBzaXplb2YodGNwLT51X2FyZ1swXSksCistCQkJICAgJnRjcC0+dV9hcmdbTUFYX0FSR1MgLSAxXSkgPCAwKQorLQkJdGNwLT51X2FyZ1tNQVhfQVJHUyAtIDFdID0gMDsKKy0JfQorLSMgZW5kaWYgLyogTElOVVhfTUlQU08zMiAqLworLX0KKysvKiBUaGUgaW1wbGVtZW50YXRpb24gaXMgYXJjaGl0ZWN0dXJlIHNwZWNpZmljLiAgKi8KKytzdGF0aWMgdm9pZCBkZWNvZGVfc3lzY2FsbF9zdWJjYWxsKHN0cnVjdCB0Y2IgKik7CisgI2VuZGlmIC8qIFNZU19zeXNjYWxsX3N1YmNhbGwgKi8KKyAKKyBzdGF0aWMgdm9pZAorLS0gCisyLjE3LjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLXRlc3RzLXNpZ2FjdGlvbi1DaGVjay1mb3ItbWlwcy1hbmQtYWxwaGEtYmVmb3JlLXVzaW4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtdGVzdHMtc2lnYWN0aW9uLUNoZWNrLWZvci1taXBzLWFuZC1hbHBoYS1iZWZvcmUtdXNpbi5wYXRjaAppbmRleCA1MjA5NmIyLi5iZWNlZTc5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtdGVzdHMtc2lnYWN0aW9uLUNoZWNrLWZvci1taXBzLWFuZC1hbHBoYS1iZWZvcmUtdXNpbi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtdGVzdHMtc2lnYWN0aW9uLUNoZWNrLWZvci1taXBzLWFuZC1hbHBoYS1iZWZvcmUtdXNpbi5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gOWYzZmQzODhhZTdjNDY0MjBiY2NiYTQwNTQ2ODY5MGVkNDZkNjY5YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gODc5YWU3MWM0NzJjZTUyMmYxYjM1MTRkMmFiZjZhZDQ5YjRhY2MwNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDE4IFNlcCAyMDE3IDIyOjUxOjMyIC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0hdIHRlc3RzL3NpZ2FjdGlvbjogQ2hlY2sgZm9yIG1pcHMgYW5kIGFscGhhIGJlZm9yZSB1c2luZwpAQCAtMTIsMTggKzEyLDE4IEBACiB8IC4uLy4uL3N0cmFjZS00LjE4L3Rlc3RzL3NpZ2FjdGlvbi5jOjE3NzozNjogZXJyb3I6ICdzdHJ1Y3Rfc2V0X3NhIHtha2Egc3RydWN0IHNldF9zYX0nIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3Jlc3RvcmVyJwogfCAgIyBkZWZpbmUgU0FfUkVTVE9SRVJfQVJHUyAsIG5ld19hY3QtPnJlc3RvcmVyCiAKLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIAorLS0tCiAgdGVzdHMvc2lnYWN0aW9uLmMgfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS90ZXN0cy9zaWdhY3Rpb24uYyBiL3Rlc3RzL3NpZ2FjdGlvbi5jCi1pbmRleCA3YjQ2OTQ0Li5mNDZjZGE3IDEwMDY0NAoraW5kZXggOTViZTE5Ny4uNTQ4MTlmOSAxMDA2NDQKIC0tLSBhL3Rlc3RzL3NpZ2FjdGlvbi5jCiArKysgYi90ZXN0cy9zaWdhY3Rpb24uYwotQEAgLTE3MCw3ICsxNzAsNyBAQCBtYWluKHZvaWQpCitAQCAtMTU2LDcgKzE1Niw3IEBAIG1haW4odm9pZCkKICAJc2lnZGVsc2V0KG1hc2subGliYywgU0lHSFVQKTsKICAKICAJbWVtY3B5KG5ld19hY3QtPm1hc2ssIG1hc2sub2xkLCBzaXplb2YobWFzay5vbGQpKTsKQEAgLTMyLDYgKzMyLDMgQEAKICAJbmV3X2FjdC0+ZmxhZ3MgPSBTQV9SRVNUT1JFUjsKICAJbmV3X2FjdC0+cmVzdG9yZXIgPSAodW5zaWduZWQgbG9uZykgMHhkZWFkZmFjZWNhZmVmMDBkVUxMOwogICMgZGVmaW5lIFNBX1JFU1RPUkVSX0ZNVCAiLCBzYV9mbGFncz1TQV9SRVNUT1JFUiwgc2FfcmVzdG9yZXI9JSNseCIKLS0tIAotMi4xNC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvTWFrZWZpbGUtcHRlc3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL01ha2VmaWxlLXB0ZXN0LnBhdGNoCmluZGV4IDQ2MGI2ZTIuLjA4ZmE1YzUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvTWFrZWZpbGUtcHRlc3QucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS9NYWtlZmlsZS1wdGVzdC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gMjA3ZmM3ODE0YmJlYjAyNDEzODIzMjkyMTVkMjFmZDNiNTcwNjZmOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZWY1MDQwYjRmMTUwMDZhMjJhYzYzYTNiYWNmY2VhYzM2ZmZjMjA0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEdhYnJpZWwgQmFyYnUgPGdhYnJpZWwuYmFyYnVAZW5lYS5jb20+CiBEYXRlOiBUaHUsIDI1IEp1bCAyMDEzIDE1OjI4OjMzICswMjAwCiBTdWJqZWN0OiBbUEFUQ0hdIHN0cmFjZTogQWRkIHB0ZXN0CkBAIC0xNCwxMCArMTQsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuYW0gYi90ZXN0cy9NYWtlZmlsZS5hbQotaW5kZXggYTJmMzk1MC4uNGZhOTdlMiAxMDA2NDQKK2luZGV4IDgyNWM5ODkuLjQ2MjNjNDggMTAwNjQ0CiAtLS0gYS90ZXN0cy9NYWtlZmlsZS5hbQogKysrIGIvdGVzdHMvTWFrZWZpbGUuYW0KLUBAIC0zNCw2ICszNCw3IEBAIFNJWkVPRl9MT05HID0gQFNJWkVPRl9MT05HQAorQEAgLTE0LDYgKzE0LDcgQEAgU0laRU9GX0xPTkcgPSBAU0laRU9GX0xPTkdACiAgTVBFUlNfTkFNRSA9CiAgTVBFUlNfQ0NfRkxBR1MgPQogIEFSQ0hfTUZMQUdTID0KQEAgLTI1LDcgKzI1LDcgQEAKICBBTV9DRkxBR1MgPSAkKFdBUk5fQ0ZMQUdTKQogIEFNX0NQUEZMQUdTID0gJChBUkNIX01GTEFHUykgXAogIAkgICAgICAtSSQoYnVpbGRkaXIpIFwKLUBAIC00OTAsMyArNDkxLDIxIEBAIEJVSUxUX1NPVVJDRVMgPSBrc3lzZW50LmgKK0BAIC00NzcsMyArNDc4LDIxIEBAIEJVSUxUX1NPVVJDRVMgPSBrc3lzZW50LmgKICBDTEVBTkZJTEVTID0ga3N5c2VudC5oCiAgCiAgaW5jbHVkZSAuLi9zY25vLmFtCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL2Rpc2FibGUtZ2l0LXZlcnNpb24tZ2VuLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS9kaXNhYmxlLWdpdC12ZXJzaW9uLWdlbi5wYXRjaAppbmRleCA5ZTVlYzExLi5kNjM1NGJmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL2Rpc2FibGUtZ2l0LXZlcnNpb24tZ2VuLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvZGlzYWJsZS1naXQtdmVyc2lvbi1nZW4ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGJlZTA2ODA3NTQ3MzA0OTg0ODVlMjRkZDAzNzMwMzMxOGM2ODkxNmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGVkMzBhNGZjNGRjMjY0Y2U1ZjU4ODE0NjJlMDNhZTEzYzkyMWJmZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgogRGF0ZTogTW9uLCAxOCBKYW4gMjAxNiAxMzozMzo1MCAtMDgwMAogU3ViamVjdDogW1BBVENIXSBzdHJhY2U6IHJlbW92ZSBuZWVkIGZvciBzY3JpcHRzCkBAIC0xNiwxMCArMTYsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCBhZDFkMDBmLi45NmZhMjA1IDEwMDY0NAoraW5kZXggODA0NWViZC4uNDMxOTcwOSAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMzIsMTIgKzMyLDEyIEBACitAQCAtMTIsMTIgKzEyLDEyIEBACiAgCiAgQUNfUFJFUkVRKDIuNTcpCiAgQUNfSU5JVChbc3RyYWNlXSwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvbWlwcy1TSUdFTVQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL21pcHMtU0lHRU1ULnBhdGNoCmluZGV4IGIyNDM3OGIuLjBkMzE5MmIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvbWlwcy1TSUdFTVQucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS9taXBzLVNJR0VNVC5wYXRjaApAQCAtMSwzICsxLDggQEAKK0Zyb20gMjBjMTg0YTdhYjNmYjdiZTY3ZmI3NjI2YzQxMWU3NTZlYTYxZDJmNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDcgQXVnIDIwMTYgMjM6NDc6NTcgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gc3RyYWNlOiBGaXggYnVpbGQgd2l0aCBtaXBzL21pcHM2NCBvbiBtdXNsCisKIFNJR0VNVCBpcyBub3QgZGVmaW5lZCBldmVyeXdoZXJlIGUuZyBtdXNsIGRvZXMKIG5vdCBkZWZpbmUgaXQuIFRoZXJlZm9yZSBjaGVjayBpdCBiZWluZyBkZWZpbmVkCiBiZWZvcmUgdXNpbmcgaXQuCkBAIC04LDExICsxMywxNSBAQAogU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogCi1JbmRleDogc3RyYWNlLTQuMTMvdGVzdHMvc2lnbmFsMm5hbWUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHN0cmFjZS00LjEzLm9yaWcvdGVzdHMvc2lnbmFsMm5hbWUuYwotKysrIHN0cmFjZS00LjEzL3Rlc3RzL3NpZ25hbDJuYW1lLmMKLUBAIC00Miw3ICs0Miw5IEBAIHNpZ25hbDJuYW1lKGludCBzaWcpCistLS0KKyB0ZXN0cy9zaWduYWwybmFtZS5jIHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3NpZ25hbDJuYW1lLmMgYi90ZXN0cy9zaWduYWwybmFtZS5jCitpbmRleCAxZDhlN2M1Li42NzIyYWExIDEwMDY0NAorLS0tIGEvdGVzdHMvc2lnbmFsMm5hbWUuYworKysrIGIvdGVzdHMvc2lnbmFsMm5hbWUuYworQEAgLTQ5LDcgKzQ5LDkgQEAgc2lnbmFsMm5hbWUoaW50IHNpZykKICAJQ0FTRShTSUdFTVQpOwogIAlDQVNFKFNJR0xPU1QpOwogICNlbGlmIGRlZmluZWQgTUlQUwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS9tb3JlLXJvYnVzdC10ZXN0LWZvci1tMzItbXgzMi1jb21waWxlLXN1cHBvcnQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL21vcmUtcm9idXN0LXRlc3QtZm9yLW0zMi1teDMyLWNvbXBpbGUtc3VwcG9ydC5wYXRjaAppbmRleCAzZDQ5MTNkLi5hOWJkOTAwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL21vcmUtcm9idXN0LXRlc3QtZm9yLW0zMi1teDMyLWNvbXBpbGUtc3VwcG9ydC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL21vcmUtcm9idXN0LXRlc3QtZm9yLW0zMi1teDMyLWNvbXBpbGUtc3VwcG9ydC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gMTU0YWY1MGVkN2VkOGI5MTgzOGQ3MTMwNTJlYmYyOWIwYjE0Zjc2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gY2M5NzMwN2U4ZTM5YTgxOTk5YzZhMzY1ZDA1NzQ4N2EwMmU2MTI4ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDE4IEphbiAyMDE2IDExOjAwOjAwIC0wODAwCiBTdWJqZWN0OiBbUEFUQ0hdIG1wZXJzLm00OiBtb3JlIHJvYnVzdCB0ZXN0IGZvciAtbTMyLy1teDMyIGNvbXBpbGUgc3VwcG9ydApAQCAtMTgsMTUgKzE4LDE2IEBACiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAogU2lnbmVkLW9mZi1ieTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KKwogLS0tCiAgbTQvbXBlcnMubTQgfCAyICsrCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogc3RyYWNlLTQuMjIvbTQvbXBlcnMubTQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBzdHJhY2UtNC4yMi5vcmlnL200L21wZXJzLm00Ci0rKysgc3RyYWNlLTQuMjIvbTQvbXBlcnMubTQKLUBAIC0xMDgsNiArMTA4LDcgQEAgY2FzZSAiJGFyY2giIGluCitkaWZmIC0tZ2l0IGEvbTQvbXBlcnMubTQgYi9tNC9tcGVycy5tNAoraW5kZXggMTM3MjVkNy4uZDg1NzhlYSAxMDA2NDQKKy0tLSBhL200L21wZXJzLm00CisrKysgYi9tNC9tcGVycy5tNAorQEAgLTg4LDYgKzg4LDcgQEAgY2FzZSAiJGFyY2giIGluCiAgCUNGTEFHUz0iJENGTEFHUyBNUEVSU19DRkxBR1MgJElGTEFHIgogIAlBQ19DQUNIRV9DSEVDSyhbZm9yIG1wZXJzX25hbWUgcGVyc29uYWxpdHkgY29tcGlsZSBzdXBwb3J0XSwgW3N0X2N2X2NjXSwKICAJCVtBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sjaW5jbHVkZSA8c3RkaW50Lmg+CkBAIC0zNCw3ICszNSw3IEBACiAgCQkJCQkJICAgICBpbnQgbWFpbigpe3JldHVybiAwO31dXSldLAogIAkJCQkgICBbc3RfY3ZfY2M9eWVzXSwKICAJCQkJICAgW3N0X2N2X2NjPW5vXSldKQotQEAgLTExNSw2ICsxMTYsNyBAQCBjYXNlICIkYXJjaCIgaW4KK0BAIC05NSw2ICs5Niw3IEBAIGNhc2UgIiRhcmNoIiBpbgogIAkJQUNfQ0FDSEVfQ0hFQ0soW2ZvciBtcGVyc19uYW1lIHBlcnNvbmFsaXR5IHJ1bnRpbWUgc3VwcG9ydF0sCiAgCQkJW3N0X2N2X3J1bnRpbWVdLAogIAkJCVtBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWyNpbmNsdWRlIDxzdGRpbnQuaD4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvdXBkYXRlLWdhd2stcGF0aHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL3VwZGF0ZS1nYXdrLXBhdGhzLnBhdGNoCmluZGV4IGY2ZmZhOGUuLjcwNzcwNDggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvdXBkYXRlLWdhd2stcGF0aHMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS91cGRhdGUtZ2F3ay1wYXRocy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gMzgzNjUxOGM0NmJkNWJiM2U3MTM3MWIxYjE4Mjc0YmYyZDQ4NzEzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZjBkN2ViZjQ4NDQxZTBiMDkwYzNlNjA1M2I4Yzg0NWQwYTRhM2IxOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDE4IEphbiAyMDE2IDExOjAxOjAwIC0wODAwCiBTdWJqZWN0OiBbUEFUQ0hdIHVwZGF0ZSBnYXdrIHBhdGhzLCAvYmluL2dhd2sgLT4gL3Vzci9iaW4vZ2F3awpAQCAtMTEsNiArMTEsNyBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQogCiBTaWduZWQtb2ZmLWJ5OiBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgorCiAtLS0KICBtcGVycy5hd2sgICAgICAgICAgICAgICAgICAgfCAyICstCiAgdGVzdHMtbTMyL2NhcHMuYXdrICAgICAgICAgIHwgMiArLQpAQCAtMjUsNyArMjYsNyBAQAogIDEwIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbXBlcnMuYXdrIGIvbXBlcnMuYXdrCi1pbmRleCBmZTU0NzYzLi5iNTIzOGE4IDEwMDY0NAoraW5kZXggMTdmOGYyYi4uZDY5ZGNkNSAxMDA2NDQKIC0tLSBhL21wZXJzLmF3awogKysrIGIvbXBlcnMuYXdrCiBAQCAtMSw0ICsxLDQgQEAKQEAgLTM1LDcgKzM2LDcgQEAKICAjIENvcHlyaWdodCAoYykgMjAxNSBFbHZpcmEgS2hhYmlyb3ZhIDxsaW5lcHJpbnRlcjBAZ21haWwuY29tPgogICMgQ29weXJpZ2h0IChjKSAyMDE1LTIwMTYgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgogZGlmZiAtLWdpdCBhL3Rlc3RzLW0zMi9jYXBzLmF3ayBiL3Rlc3RzLW0zMi9jYXBzLmF3awotaW5kZXggYzZlMzFlZi4uNWVmYzZjYyAxMDA2NDQKK2luZGV4IDk0MTU2NGEuLjBiY2MzZmYgMTAwNjQ0CiAtLS0gYS90ZXN0cy1tMzIvY2Fwcy5hd2sKICsrKyBiL3Rlc3RzLW0zMi9jYXBzLmF3awogQEAgLTEsNCArMSw0IEBACkBAIC00NSwxNyArNDYsMTcgQEAKICAjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGNhcHMgc3RyYWNlIHRlc3QuCiAgIwogZGlmZiAtLWdpdCBhL3Rlc3RzLW0zMi9tYXRjaC5hd2sgYi90ZXN0cy1tMzIvbWF0Y2guYXdrCi1pbmRleCBhYmZiYWU5Li5mMjc0MGJmIDEwMDY0NAoraW5kZXggZDkxYzUxOC4uZWU1ZDkwOCAxMDA2NDQKIC0tLSBhL3Rlc3RzLW0zMi9tYXRjaC5hd2sKICsrKyBiL3Rlc3RzLW0zMi9tYXRjaC5hd2sKIEBAIC0xLDQgKzEsNCBAQAogLSMhL2Jpbi9nYXdrCiArIyEvdXNyL2Jpbi9nYXdrCiAgIwotICMgQ29weXJpZ2h0IChjKSAyMDE0LTIwMTUgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgorICMgQ29weXJpZ2h0IChjKSAyMDE0LTIwMTggRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgogICMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGRpZmYgLS1naXQgYS90ZXN0cy1tMzIvcnRfc2lnYWN0aW9uLmF3ayBiL3Rlc3RzLW0zMi9ydF9zaWdhY3Rpb24uYXdrCi1pbmRleCA5YzNhOWVkLi44NDE0MjQzIDEwMDY0NAoraW5kZXggODFkZDgxMy4uOWNkOTU0OSAxMDA2NDQKIC0tLSBhL3Rlc3RzLW0zMi9ydF9zaWdhY3Rpb24uYXdrCiArKysgYi90ZXN0cy1tMzIvcnRfc2lnYWN0aW9uLmF3awogQEAgLTEsNCArMSw0IEBACkBAIC02NSw3ICs2Niw3IEBACiAgIyBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxNSBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CiAgIyBDb3B5cmlnaHQgKGMpIDIwMTYgRWx2aXJhIEtoYWJpcm92YSA8bGluZXByaW50ZXIwQGdtYWlsLmNvbT4KIGRpZmYgLS1naXQgYS90ZXN0cy1teDMyL2NhcHMuYXdrIGIvdGVzdHMtbXgzMi9jYXBzLmF3awotaW5kZXggYzZlMzFlZi4uNWVmYzZjYyAxMDA2NDQKK2luZGV4IDk0MTU2NGEuLjBiY2MzZmYgMTAwNjQ0CiAtLS0gYS90ZXN0cy1teDMyL2NhcHMuYXdrCiArKysgYi90ZXN0cy1teDMyL2NhcHMuYXdrCiBAQCAtMSw0ICsxLDQgQEAKQEAgLTc1LDE3ICs3NiwxNyBAQAogICMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgY2FwcyBzdHJhY2UgdGVzdC4KICAjCiBkaWZmIC0tZ2l0IGEvdGVzdHMtbXgzMi9tYXRjaC5hd2sgYi90ZXN0cy1teDMyL21hdGNoLmF3awotaW5kZXggYWJmYmFlOS4uZjI3NDBiZiAxMDA2NDQKK2luZGV4IGQ5MWM1MTguLmVlNWQ5MDggMTAwNjQ0CiAtLS0gYS90ZXN0cy1teDMyL21hdGNoLmF3awogKysrIGIvdGVzdHMtbXgzMi9tYXRjaC5hd2sKIEBAIC0xLDQgKzEsNCBAQAogLSMhL2Jpbi9nYXdrCiArIyEvdXNyL2Jpbi9nYXdrCiAgIwotICMgQ29weXJpZ2h0IChjKSAyMDE0LTIwMTUgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgorICMgQ29weXJpZ2h0IChjKSAyMDE0LTIwMTggRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgogICMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGRpZmYgLS1naXQgYS90ZXN0cy1teDMyL3J0X3NpZ2FjdGlvbi5hd2sgYi90ZXN0cy1teDMyL3J0X3NpZ2FjdGlvbi5hd2sKLWluZGV4IDljM2E5ZWQuLjg0MTQyNDMgMTAwNjQ0CitpbmRleCA4MWRkODEzLi45Y2Q5NTQ5IDEwMDY0NAogLS0tIGEvdGVzdHMtbXgzMi9ydF9zaWdhY3Rpb24uYXdrCiArKysgYi90ZXN0cy1teDMyL3J0X3NpZ2FjdGlvbi5hd2sKIEBAIC0xLDQgKzEsNCBAQApAQCAtOTUsNyArOTYsNyBAQAogICMgQ29weXJpZ2h0IChjKSAyMDE0LTIwMTUgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgogICMgQ29weXJpZ2h0IChjKSAyMDE2IEVsdmlyYSBLaGFiaXJvdmEgPGxpbmVwcmludGVyMEBnbWFpbC5jb20+CiBkaWZmIC0tZ2l0IGEvdGVzdHMvY2Fwcy5hd2sgYi90ZXN0cy9jYXBzLmF3awotaW5kZXggYzZlMzFlZi4uNWVmYzZjYyAxMDA2NDQKK2luZGV4IDk0MTU2NGEuLjBiY2MzZmYgMTAwNjQ0CiAtLS0gYS90ZXN0cy9jYXBzLmF3awogKysrIGIvdGVzdHMvY2Fwcy5hd2sKIEBAIC0xLDQgKzEsNCBAQApAQCAtMTA1LDE3ICsxMDYsMTcgQEAKICAjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGNhcHMgc3RyYWNlIHRlc3QuCiAgIwogZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGNoLmF3ayBiL3Rlc3RzL21hdGNoLmF3awotaW5kZXggYWJmYmFlOS4uZjI3NDBiZiAxMDA2NDQKK2luZGV4IGQ5MWM1MTguLmVlNWQ5MDggMTAwNjQ0CiAtLS0gYS90ZXN0cy9tYXRjaC5hd2sKICsrKyBiL3Rlc3RzL21hdGNoLmF3awogQEAgLTEsNCArMSw0IEBACiAtIyEvYmluL2dhd2sKICsjIS91c3IvYmluL2dhd2sKICAjCi0gIyBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxNSBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CisgIyBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CiAgIyBBbGwgcmlnaHRzIHJlc2VydmVkLgogZGlmZiAtLWdpdCBhL3Rlc3RzL3J0X3NpZ2FjdGlvbi5hd2sgYi90ZXN0cy9ydF9zaWdhY3Rpb24uYXdrCi1pbmRleCA5YzNhOWVkLi44NDE0MjQzIDEwMDY0NAoraW5kZXggODFkZDgxMy4uOWNkOTU0OSAxMDA2NDQKIC0tLSBhL3Rlc3RzL3J0X3NpZ2FjdGlvbi5hd2sKICsrKyBiL3Rlc3RzL3J0X3NpZ2FjdGlvbi5hd2sKIEBAIC0xLDQgKzEsNCBAQApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZV80LjI0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZV80LjI0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTQwYTA2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2VfNC4yNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLVNVTU1BUlkgPSAiU3lzdGVtIGNhbGwgdHJhY2luZyB0b29sIgotSE9NRVBBR0UgPSAiaHR0cDovL3N0cmFjZS5pbyIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmRkYjkxNzM0YjljNzA1ZjNlODczNjJlOTdlNWY2NGIiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9zdHJhY2UuaW8vZmlsZXMvJHtQVn0vc3RyYWNlLSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLWdpdC12ZXJzaW9uLWdlbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9tb3JlLXJvYnVzdC10ZXN0LWZvci1tMzItbXgzMi1jb21waWxlLXN1cHBvcnQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vdXBkYXRlLWdhd2stcGF0aHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGUtcHRlc3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLXdoZW4tdXNpbmctbm9uLWdsaWJjLWxpYmMtaW1wbGVtZW50YXRpb24tby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9taXBzLVNJR0VNVC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNhcHMtYWJicmV2LmF3ay1maXgtZ2F3ay1zLXBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS10ZXN0cy1zaWdhY3Rpb24tQ2hlY2stZm9yLW1pcHMtYW5kLWFscGhhLWJlZm9yZS11c2luLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjg3ODAxMzY4NDljODVhY2Y3NmFkM2E1MjJhYTQ0NjJhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFmNGU1OWZjMWVkZmEyYmZiNGFkZjJhNzQ4NjIzZGMyNWIxMDVlYzc5NzEzZGQ4NDQwNDE5OWY5MWIwYjA2MzQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHB0ZXN0IGJsdWV0b290aAotCi1QQUNLQUdFQ09ORklHX2NsYXNzLXRhcmdldCA/Pz0gIlwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV0b290aCcsICdibHVleicsICcnLCBkKX0gXAotIgotCi1QQUNLQUdFQ09ORklHW2JsdWV6XSA9ICJhY19jdl9oZWFkZXJfYmx1ZXRvb3RoX2JsdWV0b290aF9oPXllcyxhY19jdl9oZWFkZXJfYmx1ZXRvb3RoX2JsdWV0b290aF9oPW5vLCR7QkxVRVp9IgotUEFDS0FHRUNPTkZJR1tsaWJ1bndpbmRdID0gIi0td2l0aC1saWJ1bndpbmQsLS13aXRob3V0LWxpYnVud2luZCxsaWJ1bndpbmQiCi0KLUVYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtbXBlcnM9bm8iCi0KLUNGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtRHNpZ2NvbnRleHRfc3RydWN0PXNpZ2NvbnRleHQiCi0KLVRFU1RESVIgPSAidGVzdHMiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotCSMgV2UgZG9uJ3Qgc2hpcCBzdHJhY2UtZ3JhcGggaGVyZSBiZWNhdXNlIGl0IG5lZWRzIHBlcmwKLQlybSAke0R9JHtiaW5kaXJ9L3N0cmFjZS1ncmFwaAotfQotCi1kb19jb21waWxlX3B0ZXN0KCkgewotCW9lX3J1bm1ha2UgLUMgJHtURVNURElSfSBidWlsZHRlc3QtVEVTVFMKLX0KLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLQlvZV9ydW5tYWtlIC1DICR7VEVTVERJUn0gaW5zdGFsbC1wdGVzdCBCVUlMRERJUj0ke0J9IERFU1RESVI9JHtEfSR7UFRFU1RfUEFUSH0gVEVTVERJUj0ke1RFU1RESVJ9Ci0JaW5zdGFsbCAtbSA3NTUgJHtTfS90ZXN0LWRyaXZlciAke0R9JHtQVEVTVF9QQVRIfQotCWluc3RhbGwgLW0gNjQ0ICR7Qn0vY29uZmlnLmggJHtEfSR7UFRFU1RfUEFUSH0KLQlzZWQgLWkgLWUgJy9ec3JjL3Mvc3RyYWNlLipbMS05XS9wdGVzdC8nIFwKLQkgICAgLWUgJ3MsLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSwsZycgXAotCSAgICAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCi0JICAgIC1lICdzOiR7SE9TVFRPT0xTX0RJUn0vOjpnJyBcCi0JICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1RfTkFUSVZFfTo6ZycgXAotCSAgICAtZSAnczoke1JFQ0lQRV9TWVNST09UfTo6ZycgXAotCSAgICAtZSAnczoke0JBU0VfV09SS0RJUn0vJHtNVUxUSU1BQ0hfVEFSR0VUX1NZU306OmcnIFwKLQkgICAgLWUgJy9eREVCX0NIQU5HRUxPR1RJTUUvZCcgXAotCSAgICAtZSAnL15SUE1fQ0hBTkdFTE9HVElNRS9kJyBcCi0JJHtEfS8ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKLX0KLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm1ha2UgY29yZXV0aWxzIGdyZXAgZ2F3ayBzZWQiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotVE9PTENIQUlOID0gImdjYyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2VfNC4yNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2VfNC4yNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGY5MmM5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZV80LjI2LmJiCkBAIC0wLDAgKzEsNTcgQEAKK1NVTU1BUlkgPSAiU3lzdGVtIGNhbGwgdHJhY2luZyB0b29sIgorSE9NRVBBR0UgPSAiaHR0cDovL3N0cmFjZS5pbyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiTEdQTC0yLjErICYgR1BMLTIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NWM4NGQxYzZlNDhlNzk2MWNjZDJjZDJhZTMyZjdiZjEiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9zdHJhY2UuaW8vZmlsZXMvJHtQVn0vc3RyYWNlLSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLWdpdC12ZXJzaW9uLWdlbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9tb3JlLXJvYnVzdC10ZXN0LWZvci1tMzItbXgzMi1jb21waWxlLXN1cHBvcnQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdXBkYXRlLWdhd2stcGF0aHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGUtcHRlc3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLXdoZW4tdXNpbmctbm9uLWdsaWJjLWxpYmMtaW1wbGVtZW50YXRpb24tby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9taXBzLVNJR0VNVC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNhcHMtYWJicmV2LmF3ay1maXgtZ2F3ay1zLXBhdGgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS10ZXN0cy1zaWdhY3Rpb24tQ2hlY2stZm9yLW1pcHMtYW5kLWFscGhhLWJlZm9yZS11c2luLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWlwcy1vMzItZml4LWJ1aWxkLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImRhYTUxYWNjMGM3YzY5NjIyMWVjMDNjZjBiMzBhN2FmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdjNGQyZmZlZWY0ZjdkMWNkYzcxMDYyY2E3OGQxMTMwZWI1MmY5NDdjMmZjYTgyZjU5ZjZhMTE4M2JmYTFlMWMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHB0ZXN0IGJsdWV0b290aAorCitQQUNLQUdFQ09ORklHX2NsYXNzLXRhcmdldCA/Pz0gIlwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV0b290aCcsICdibHVleicsICcnLCBkKX0gXAorIgorCitQQUNLQUdFQ09ORklHW2JsdWV6XSA9ICJhY19jdl9oZWFkZXJfYmx1ZXRvb3RoX2JsdWV0b290aF9oPXllcyxhY19jdl9oZWFkZXJfYmx1ZXRvb3RoX2JsdWV0b290aF9oPW5vLCR7QkxVRVp9IgorUEFDS0FHRUNPTkZJR1tsaWJ1bndpbmRdID0gIi0td2l0aC1saWJ1bndpbmQsLS13aXRob3V0LWxpYnVud2luZCxsaWJ1bndpbmQiCisKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtbXBlcnM9bm8iCisKK0NGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtRHNpZ2NvbnRleHRfc3RydWN0PXNpZ2NvbnRleHQiCisKK1RFU1RESVIgPSAidGVzdHMiCitQVEVTVF9CVUlMRF9IT1NUX1BBVFRFUk4gPSAiXihERUJfQ0hBTkdFTE9HVElNRXxSUE1fQ0hBTkdFTE9HVElNRXxXQVJOX0NGTEFHU19GT1JfQlVJTER8TERGTEFHU19GT1JfQlVJTEQpIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwkjIFdlIGRvbid0IHNoaXAgc3RyYWNlLWdyYXBoIGhlcmUgYmVjYXVzZSBpdCBuZWVkcyBwZXJsCisJcm0gJHtEfSR7YmluZGlyfS9zdHJhY2UtZ3JhcGgKK30KKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKwlvZV9ydW5tYWtlIC1DICR7VEVTVERJUn0gYnVpbGR0ZXN0LVRFU1RTCit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisJb2VfcnVubWFrZSAtQyAke1RFU1RESVJ9IGluc3RhbGwtcHRlc3QgQlVJTERESVI9JHtCfSBERVNURElSPSR7RH0ke1BURVNUX1BBVEh9IFRFU1RESVI9JHtURVNURElSfQorCWluc3RhbGwgLW0gNzU1ICR7U30vdGVzdC1kcml2ZXIgJHtEfSR7UFRFU1RfUEFUSH0KKwlpbnN0YWxsIC1tIDY0NCAke0J9L2NvbmZpZy5oICR7RH0ke1BURVNUX1BBVEh9CisgICAgICAgIHNlZCAtaSAtZSAnL15zcmMvcy9zdHJhY2UuKlsxLTldL3B0ZXN0LycgJHtEfS8ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKK30KKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm1ha2UgY29yZXV0aWxzIGdyZXAgZ2F3ayBzZWQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorVE9PTENIQUlOID0gImdjYyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N1YnZlcnNpb24vc3VidmVyc2lvbi9zZXJmLm00LVJlZ2V4LW1vZGlmaWVkLXRvLWFsbG93LUQtaW4tcGF0aHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdWJ2ZXJzaW9uL3N1YnZlcnNpb24vc2VyZi5tNC1SZWdleC1tb2RpZmllZC10by1hbGxvdy1ELWluLXBhdGhzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZmVkM2NmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N1YnZlcnNpb24vc3VidmVyc2lvbi9zZXJmLm00LVJlZ2V4LW1vZGlmaWVkLXRvLWFsbG93LUQtaW4tcGF0aHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIGYxYjZlNDlmMTJhMThlYWJlODhlYjczMmI1NzhhMTYyODFkMDk0OTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKb3NlIExhbWVnbyA8am9zZS5hLmxhbWVnb0BsaW51eC5pbnRlbC5jb20+Ci1EYXRlOiBUaHUsIDIgSnVsIDIwMTUgMTE6Mzc6NDMgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gc2VyZi5tNDogUmVnZXggbW9kaWZpZWQgdG8gYWxsb3cgJy1EJyBpbiBwYXRocwotCi1VcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkCi0KLVRoZSBwYXRjaCBpcyBtZXJnZWQgYnkgc3VidmVyc2lvbiB1cHN0cmVhbSB3aXRoIHJlcGxhY2luZyAnW1s6c3BhY2U6XV0nIHdpdGggJyAnLgotCi1odHRwOi8vc3ZuLmFwYWNoZS5vcmcvdmlld3ZjL3N1YnZlcnNpb24vdHJ1bmsvYnVpbGQvYWMtbWFjcm9zL3NlcmYubTQ/cjE9MTU5NDE1NiZyMj0xNjg5ODI0ICAKLQotU2lnbmVkLW9mZi1ieTogSm9zZSBMYW1lZ28gPGpvc2UuYS5sYW1lZ29AbGludXguaW50ZWwuY29tPgotLS0tCi0gYnVpbGQvYWMtbWFjcm9zL3NlcmYubTQgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9idWlsZC9hYy1tYWNyb3Mvc2VyZi5tNCBiL2J1aWxkL2FjLW1hY3Jvcy9zZXJmLm00Ci1pbmRleCBhZTExZTc1Li5mZjhjYmFlIDEwMDY0NAotLS0tIGEvYnVpbGQvYWMtbWFjcm9zL3NlcmYubTQKLSsrKyBiL2J1aWxkL2FjLW1hY3Jvcy9zZXJmLm00Ci1AQCAtMTY4LDcgKzE2OCw3IEBACi0gICAgICAgICBpZiAkUEtHX0NPTkZJRyAkc2VyZl9wY19hcmcgLS1hdGxlYXN0LXZlcnNpb249JHNlcmZfY2hlY2tfdmVyc2lvbjsgdGhlbgotICAgICAgICAgICBBQ19NU0dfUkVTVUxUKFt5ZXNdKQotICAgICAgICAgICBzZXJmX2ZvdW5kPXllcwotLSAgICAgICAgICBTVk5fU0VSRl9JTkNMVURFUz1bYCRQS0dfQ09ORklHICRzZXJmX3BjX2FyZyAtLWNmbGFncyB8ICRTRUQgLWUgJ3MvLURbXiBdKi8vZydgXQotKyAgICAgICAgICBTVk5fU0VSRl9JTkNMVURFUz1bYCRQS0dfQ09ORklHICRzZXJmX3BjX2FyZyAtLWNmbGFncyB8ICRTRUQgLWUgJ3MvIC1EW14gXSovL2cnIC1lICdzL14tRFteIF0qLy9nJ2BdCi0gICAgICAgICAgIFNWTl9TRVJGX0xJQlM9YCRQS0dfQ09ORklHICRzZXJmX3BjX2FyZyAtLWxpYnMtb25seS1sYCAKLSAgICAgICAgICAgZG5sIGRvbid0IHVzZSAtLWxpYnMtb25seS1MIGJlY2F1c2UgdGhlbiB3ZSBtaWdodCBtaXNzIHNvbWUgb3B0aW9ucwotICAgICAgICAgICBMREZMQUdTPVsiJExERkxBR1MgYCRQS0dfQ09ORklHICRzZXJmX3BjX2FyZyAtLWxpYnMgfCAkU0VEIC1lICdzLy1sW14gXSovL2cnYCJdCi0tLSAKLTEuOC40LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3VidmVyc2lvbi9zdWJ2ZXJzaW9uXzEuMTAuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N1YnZlcnNpb24vc3VidmVyc2lvbl8xLjEwLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyYzI1NjIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3VidmVyc2lvbi9zdWJ2ZXJzaW9uXzEuMTAuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLVNVTU1BUlkgPSAiU3VidmVyc2lvbiAoc3ZuKSB2ZXJzaW9uIGNvbnRyb2wgc3lzdGVtIGNsaWVudCIKLUhPTUVQQUdFID0gImh0dHA6Ly9zdWJ2ZXJzaW9uLmFwYWNoZS5vcmciCi1TRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKLUxJQ0VOU0UgPSAiQXBhY2hlLTIgJiBNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04MzIwNmYzOTgxOWU3YTRkZmNhMmZmN2MxOTBmNmNlMCIKLQotREVQRU5EUyA9ICJhcHItdXRpbCBzZXJmIHNxbGl0ZTMgZmlsZSBsejQiCi1ERVBFTkRTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGUtcmVwbGFjZW1lbnQtbmF0aXZlIgotCi1TUkNfVVJJID0gIiR7QVBBQ0hFX01JUlJPUn0vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL2Rpc2FibGVfbWFjb3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtbGlidG9vbC1uYW1lLWluLWNvbmZpZ3VyZS5hYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zZXJmbWFjcm8ucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwMTI2ODQ3ZjllOGNiOGVkMGI5MGE2YTE4YjIwMzMwOSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyY2YyM2YzYWJiODM3ZGVhMDU4NWE2YjBlYmQ3MGU4MGUwMWY5NWJkZGVmN2MxYWEwOTdjMThlM2VhYTZiNTg0IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAotCi1QQUNLQUdFQ09ORklHID89ICIiCi0KLVBBQ0tBR0VDT05GSUdbc2FzbF0gPSAiLS13aXRoLXNhc2wsLS13aXRob3V0LXNhc2wsY3lydXMtc2FzbCIKLVBBQ0tBR0VDT05GSUdbZ25vbWUta2V5cmluZ10gPSAiLS13aXRoLWdub21lLWtleXJpbmcsLS13aXRob3V0LWdub21lLWtleXJpbmcsZ2xpYi0yLjAgZ25vbWUta2V5cmluZyIKLQotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS13aXRoLWFwcj0ke1NUQUdJTkdfQklORElSX0NST1NTfSBcCi0gICAgLS13aXRoLWFwci11dGlsPSR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9IFwKLSAgICAtLXdpdGhvdXQtYXB4cyBcCi0gICAgLS13aXRob3V0LWJlcmtlbGV5LWRiIFwKLSAgICAtLXdpdGhvdXQtc3dpZyBcCi0gICAgLS1kaXNhYmxlLWtleWNoYWluIFwKLSAgICAtLXdpdGgtdXRmOHByb2M9aW50ZXJuYWwgXAotICAgIGFjX2N2X3BhdGhfUlVCWT1ub25lIFwKLSIKLQotYWNwYXRocyA9ICItSSBidWlsZC8gLUkgYnVpbGQvYWMtbWFjcm9zLyIKLQotQ1BQRkxBR1MgKz0gIi1QIgotQlVJTERfQ1BQRkxBR1MgKz0gIi1QIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0Jcm0gLWYgJHtTfS9saWJ0b29sCi0Jcm0gLWYgJHtTfS9idWlsZC9saWJ0b29sLm00ICR7U30vYnVpbGQvbHRtYWluLnNoICR7U30vYnVpbGQvbHRvcHRpb25zLm00ICR7U30vYnVpbGQvbHRzdWdhci5tNCAke1N9L2J1aWxkL2x0dmVyc2lvbi5tNCAke1N9L2J1aWxkL2x0fm9ic29sZXRlLm00Ci0Jcm0gLWYgJHtTfS9hY2xvY2FsLm00Ci0Jc2VkIC1pIC1lICdzOndpdGhfc2FzbD0iL3Vzci9sb2NhbCI6d2l0aF9zYXNsPSIke1NUQUdJTkdfRElSfSI6JyAke1N9L2J1aWxkL2FjLW1hY3Jvcy9zYXNsLm00Ci19Ci0KLSN8IHg4Nl82NC1saW51eC1saWJ0b29sOiBpbnN0YWxsOiB3YXJuaW5nOiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvd29yay94ODZfNjQtbGludXgvc3VidmVyc2lvbi1uYXRpdmUvMS44LjktcjAvYnVpbGQvc3VidmVyc2lvbi9saWJzdm5fcmFfbG9jYWwvbGlic3ZuX3JhX2xvY2FsLTEubGEnIGhhcyBub3QgYmVlbiBpbnN0YWxsZWQgaW4gYC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliJ3wgeDg2XzY0LWxpbnV4LWxpYnRvb2w6IGluc3RhbGw6IHdhcm5pbmc6IGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC93b3JrL3g4Nl82NC1saW51eC9zdWJ2ZXJzaW9uLW5hdGl2ZS8xLjguOS1yMC9idWlsZC9zdWJ2ZXJzaW9uL2xpYnN2bl9yZXBvcy9saWJzdm5fcmVwb3MtMS5sYScgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBpbiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWInfCAvdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxzdm5fZGVsdGEtMXwgY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXN8IHg4Nl82NC1saW51eC1saWJ0b29sOiBpbnN0YWxsOiB3YXJuaW5nOiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvd29yay94ODZfNjQtbGludXgvc3VidmVyc2lvbi1uYXRpdmUvMS44LjktcjAvYnVpbGQvc3VidmVyc2lvbi9saWJzdm5fcmFfc3ZuL2xpYnN2bl9yYV9zdm4tMS5sYScgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBpbiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWInfCB4ODZfNjQtbGludXgtbGlidG9vbDogaW5zdGFsbDogd2FybmluZzogYC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3dvcmsveDg2XzY0LWxpbnV4L3N1YnZlcnNpb24tbmF0aXZlLzEuOC45LXIwL2J1aWxkL3N1YnZlcnNpb24vbGlic3ZuX3JhX3NlcmYvbGlic3ZuX3JhX3NlcmYtMS5sYScgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBpbiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWInCi0jfCB4ODZfNjQtbGludXgtbGlidG9vbDogaW5zdGFsbDogZXJyb3I6IHJlbGluayBgbGlic3ZuX3JhX3NlcmYtMS5sYScgd2l0aCB0aGUgYWJvdmUgY29tbWFuZCBiZWZvcmUgaW5zdGFsbGluZyBpdAotI3wgeDg2XzY0LWxpbnV4LWxpYnRvb2w6IGluc3RhbGw6IHdhcm5pbmc6IGAuLi8uLi9zdWJ2ZXJzaW9uL2xpYnN2bl9yZXBvcy9saWJzdm5fcmVwb3MtMS5sYScgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBpbiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWInCi0jfCAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC93b3JrL3g4Nl82NC1saW51eC9zdWJ2ZXJzaW9uLW5hdGl2ZS8xLjguOS1yMC9zdWJ2ZXJzaW9uLTEuOC45L2J1aWxkLW91dHB1dHMubWs6MTA5MDogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwtc2VyZi1saWInIGZhaWxlZAotI3wgbWFrZTogKioqIFtpbnN0YWxsLXNlcmYtbGliXSBFcnJvciAxCi1QQVJBTExFTF9NQUtFSU5TVCA9ICIiCi0KLVJERVBFTkRTXyR7UE59ID0gInNlcmYiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3VidmVyc2lvbi9zdWJ2ZXJzaW9uXzEuMTEuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N1YnZlcnNpb24vc3VidmVyc2lvbl8xLjExLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFiYWM3NAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N1YnZlcnNpb24vc3VidmVyc2lvbl8xLjExLjEuYmIKQEAgLTAsMCArMSw1OCBAQAorU1VNTUFSWSA9ICJTdWJ2ZXJzaW9uIChzdm4pIHZlcnNpb24gY29udHJvbCBzeXN0ZW0gY2xpZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL3N1YnZlcnNpb24uYXBhY2hlLm9yZyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJBcGFjaGUtMiAmIE1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTgzMjA2ZjM5ODE5ZTdhNGRmY2EyZmY3YzE5MGY2Y2UwIgorCitERVBFTkRTID0gImFwci11dGlsIHNlcmYgc3FsaXRlMyBmaWxlIGx6NCIKK0RFUEVORFNfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZS1yZXBsYWNlbWVudC1uYXRpdmUiCisKK1NSQ19VUkkgPSAiJHtBUEFDSEVfTUlSUk9SfS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vZGlzYWJsZV9tYWNvcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1saWJ0b29sLW5hbWUtaW4tY29uZmlndXJlLmFjLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NlcmZtYWNyby5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjU3OTdiZjcwMWQyZDg2OGZhOTY0YzdiYmM0OTMxMjY3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjllZmQyNzUwY2E0ZDcyZWM5MDM0MzFhMjRiOWM3MzJiNmNiYjg0YWFkOWI3NTYzZjU5ZGQ5NmRlYTViZTYwYmIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0CisKK1BBQ0tBR0VDT05GSUcgPz0gIiIKKworUEFDS0FHRUNPTkZJR1tzYXNsXSA9ICItLXdpdGgtc2FzbCwtLXdpdGhvdXQtc2FzbCxjeXJ1cy1zYXNsIgorUEFDS0FHRUNPTkZJR1tnbm9tZS1rZXlyaW5nXSA9ICItLXdpdGgtZ25vbWUta2V5cmluZywtLXdpdGhvdXQtZ25vbWUta2V5cmluZyxnbGliLTIuMCBnbm9tZS1rZXlyaW5nIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLXdpdGgtYXByPSR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9IFwKKyAgICAtLXdpdGgtYXByLXV0aWw9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30gXAorICAgIC0td2l0aG91dC1hcHhzIFwKKyAgICAtLXdpdGhvdXQtYmVya2VsZXktZGIgXAorICAgIC0td2l0aG91dC1zd2lnIFwKKyAgICAtLWRpc2FibGUta2V5Y2hhaW4gXAorICAgIC0td2l0aC11dGY4cHJvYz1pbnRlcm5hbCBcCisgICAgYWNfY3ZfcGF0aF9SVUJZPW5vbmUgXAorIgorCithY3BhdGhzID0gIi1JIGJ1aWxkLyAtSSBidWlsZC9hYy1tYWNyb3MvIgorCitDUFBGTEFHUyArPSAiLVAiCitCVUlMRF9DUFBGTEFHUyArPSAiLVAiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKwlybSAtZiAke1N9L2xpYnRvb2wKKwlybSAtZiAke1N9L2J1aWxkL2xpYnRvb2wubTQgJHtTfS9idWlsZC9sdG1haW4uc2ggJHtTfS9idWlsZC9sdG9wdGlvbnMubTQgJHtTfS9idWlsZC9sdHN1Z2FyLm00ICR7U30vYnVpbGQvbHR2ZXJzaW9uLm00ICR7U30vYnVpbGQvbHR+b2Jzb2xldGUubTQKKwlybSAtZiAke1N9L2FjbG9jYWwubTQKKwlzZWQgLWkgLWUgJ3M6d2l0aF9zYXNsPSIvdXNyL2xvY2FsIjp3aXRoX3Nhc2w9IiR7U1RBR0lOR19ESVJ9IjonICR7U30vYnVpbGQvYWMtbWFjcm9zL3Nhc2wubTQKK30KKworI3wgeDg2XzY0LWxpbnV4LWxpYnRvb2w6IGluc3RhbGw6IHdhcm5pbmc6IGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC93b3JrL3g4Nl82NC1saW51eC9zdWJ2ZXJzaW9uLW5hdGl2ZS8xLjguOS1yMC9idWlsZC9zdWJ2ZXJzaW9uL2xpYnN2bl9yYV9sb2NhbC9saWJzdm5fcmFfbG9jYWwtMS5sYScgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBpbiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWInfCB4ODZfNjQtbGludXgtbGlidG9vbDogaW5zdGFsbDogd2FybmluZzogYC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3dvcmsveDg2XzY0LWxpbnV4L3N1YnZlcnNpb24tbmF0aXZlLzEuOC45LXIwL2J1aWxkL3N1YnZlcnNpb24vbGlic3ZuX3JlcG9zL2xpYnN2bl9yZXBvcy0xLmxhJyBoYXMgbm90IGJlZW4gaW5zdGFsbGVkIGluIGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYid8IC91c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbHN2bl9kZWx0YS0xfCBjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1c3wgeDg2XzY0LWxpbnV4LWxpYnRvb2w6IGluc3RhbGw6IHdhcm5pbmc6IGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC93b3JrL3g4Nl82NC1saW51eC9zdWJ2ZXJzaW9uLW5hdGl2ZS8xLjguOS1yMC9idWlsZC9zdWJ2ZXJzaW9uL2xpYnN2bl9yYV9zdm4vbGlic3ZuX3JhX3N2bi0xLmxhJyBoYXMgbm90IGJlZW4gaW5zdGFsbGVkIGluIGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYid8IHg4Nl82NC1saW51eC1saWJ0b29sOiBpbnN0YWxsOiB3YXJuaW5nOiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvd29yay94ODZfNjQtbGludXgvc3VidmVyc2lvbi1uYXRpdmUvMS44LjktcjAvYnVpbGQvc3VidmVyc2lvbi9saWJzdm5fcmFfc2VyZi9saWJzdm5fcmFfc2VyZi0xLmxhJyBoYXMgbm90IGJlZW4gaW5zdGFsbGVkIGluIGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYicKKyN8IHg4Nl82NC1saW51eC1saWJ0b29sOiBpbnN0YWxsOiBlcnJvcjogcmVsaW5rIGBsaWJzdm5fcmFfc2VyZi0xLmxhJyB3aXRoIHRoZSBhYm92ZSBjb21tYW5kIGJlZm9yZSBpbnN0YWxsaW5nIGl0CisjfCB4ODZfNjQtbGludXgtbGlidG9vbDogaW5zdGFsbDogd2FybmluZzogYC4uLy4uL3N1YnZlcnNpb24vbGlic3ZuX3JlcG9zL2xpYnN2bl9yZXBvcy0xLmxhJyBoYXMgbm90IGJlZW4gaW5zdGFsbGVkIGluIGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYicKKyN8IC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3dvcmsveDg2XzY0LWxpbnV4L3N1YnZlcnNpb24tbmF0aXZlLzEuOC45LXIwL3N1YnZlcnNpb24tMS44LjkvYnVpbGQtb3V0cHV0cy5tazoxMDkwOiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbC1zZXJmLWxpYicgZmFpbGVkCisjfCBtYWtlOiAqKiogW2luc3RhbGwtc2VyZi1saWJdIEVycm9yIDEKK1BBUkFMTEVMX01BS0VJTlNUID0gIiIKKworUkRFUEVORFNfJHtQTn0gPSAic2VyZiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zd2lnL3N3aWcuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3dpZy9zd2lnLmluYwppbmRleCBhZWM1NDQ5Li4wMGI5YzViIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zd2lnL3N3aWcuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N3aWcvc3dpZy5pbmMKQEAgLTcsNyArNyw3IEBACiAKIFNFQ1RJT04gPSAiZGV2ZWwiCiAKLURFUEVORFMgPSAibGlicGNyZSIKK0RFUEVORFMgPSAibGlicGNyZSBiaXNvbi1uYXRpdmUiCiAKIFNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmd6IgogCkBAIC0zOCwxNCArMzgsMTQgQEAKICAgICAtLXdpdGhvdXQtdGNsIFwKICIKIAorRVhUUkFfQVVUT1JFQ09ORiArPSAiLUkgVG9vbHMvY29uZmlnIgorCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCiAKLWRvX2NvbmZpZ3VyZSgpIHsKLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5ndWVzcyAke1N9L1Rvb2xzL2NvbmZpZwotICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLnN1YiAke1N9L1Rvb2xzL2NvbmZpZwotICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLmd1ZXNzICR7U30KLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5zdWIgJHtTfQotICAgIG9lX3J1bmNvbmYKKyMgbmVjZXNzYXJ5IHRvZ2V0aGVyIHdpdGggYmlzb24gZGVwZW5kZW5jeSB1bnRpbCBhIG5ldyB1cHN0cmVhbSB2ZXJzaW9uIGFmdGVyCisjIDMuMC4xMiBpbmNsdWRlcyAwMDAxLUZpeC1nZW5lcmF0ZWQtY29kZS1mb3ItY29uc3RhbnQtZXhwcmVzc2lvbnMtY29udGFpbmkucGF0Y2gKK2RvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7CisgICAgbWtkaXIgLXAgJHtCfS9Tb3VyY2UvQ1BhcnNlCiB9CiAKIGRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N3aWcvc3dpZy8wMDAxLUZpeC1nZW5lcmF0ZWQtY29kZS1mb3ItY29uc3RhbnQtZXhwcmVzc2lvbnMtY29udGFpbmkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zd2lnL3N3aWcvMDAwMS1GaXgtZ2VuZXJhdGVkLWNvZGUtZm9yLWNvbnN0YW50LWV4cHJlc3Npb25zLWNvbnRhaW5pLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0ZWQ3ODIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zd2lnL3N3aWcvMDAwMS1GaXgtZ2VuZXJhdGVkLWNvZGUtZm9yLWNvbnN0YW50LWV4cHJlc3Npb25zLWNvbnRhaW5pLnBhdGNoCkBAIC0wLDAgKzEsMTc5IEBACitGcm9tIDkwYmExNzRmY2VhMTYxOGFmNTdhYTU5NDE5OTU0MWQ0N2E4OWI3ZjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBXaWxsaWFtIFMgRnVsdG9uIDx3c2ZAZnVsdG9uZGVzaWducy5jby51az4KK0RhdGU6IFN1biwgMTcgU2VwIDIwMTcgMTk6MDI6NTUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIEZpeCBnZW5lcmF0ZWQgY29kZSBmb3IgY29uc3RhbnQgZXhwcmVzc2lvbnMgY29udGFpbmluZworIHdjaGFyX3QgTCBsaXRlcmFscy4KKworU3VjaCBhczoKKyAgIyBkZWZpbmUgX19XQ0hBUl9NQVggICAgKDB4N2ZmZmZmZmYgKyBMJ1wwJykKKworUmVwb3J0ZWQgb24gc3dpZy11c2VyIG1haWxpbmcgbGlzdC4KKy0tLQorIENIQU5HRVMuY3VycmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA1ICsrKysrCisgRXhhbXBsZXMvdGVzdC1zdWl0ZS9jc2hhcnAvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5jcyB8IDMgKystCisgRXhhbXBsZXMvdGVzdC1zdWl0ZS9jc2hhcnAvcHJlcHJvY19jb25zdGFudHNfcnVubWUuY3MgICB8IDIgKysKKyBFeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS4xLmQgICAgIHwgMiArKworIEV4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLjIuZCAgICAgfCAyICsrCisgRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLjEuZCAgICAgICB8IDIgKysKKyBFeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfcnVubWUuMi5kICAgICAgIHwgMiArKworIEV4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUucGhwICAgfCAyICsrCisgRXhhbXBsZXMvdGVzdC1zdWl0ZS9waHAvcHJlcHJvY19jb25zdGFudHNfcnVubWUucGhwICAgICB8IDIgKysKKyBFeGFtcGxlcy90ZXN0LXN1aXRlL3BocDUvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5waHAgIHwgMiArKworIEV4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwNS9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS5waHAgICAgfCAyICsrCisgRXhhbXBsZXMvdGVzdC1zdWl0ZS9wcmVwcm9jX2NvbnN0YW50cy5pICAgICAgICAgICAgICAgICB8IDMgKysrCisgU291cmNlL0NQYXJzZS9wYXJzZXIueSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyAxMyBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitbaHR0cHM6Ly9naXRodWIuY29tL3N3aWcvc3dpZy9jb21taXQvOTBiYTE3NGZjZWExNjE4YWY1N2FhNTk0MTk5NTQxZDQ3YTg5YjdmNl0KK1NpZ25lZC1vZmYtYnk6IEx1Y2EgQm9jY2Fzc2kgPGx1Y2EuYm9jY2Fzc2lAbWljcm9zb2Z0LmNvbT4KKworZGlmZiAtLWdpdCBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvY3NoYXJwL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUuY3MgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL2NzaGFycC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLmNzCitpbmRleCA3NmM2ODRkLi4xYzI4ZTQ5IDEwMDY0NAorLS0tIGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9jc2hhcnAvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5jcworKysrIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9jc2hhcnAvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5jcworQEAgLTYxLDcgKzYxLDggQEAgcHVibGljIGNsYXNzIHJ1bm1lIHsKKyAgICAgYXNzZXJ0KCB0eXBlb2YoaW50KSA9PSBwcmVwcm9jX2NvbnN0YW50c19jLkVYUFJfTEFORC5HZXRUeXBlKCkgKTsKKyAgICAgYXNzZXJ0KCB0eXBlb2YoaW50KSA9PSBwcmVwcm9jX2NvbnN0YW50c19jLkVYUFJfTE9SLkdldFR5cGUoKSApOworICAgICBhc3NlcnQoIHR5cGVvZihkb3VibGUpID09IHByZXByb2NfY29uc3RhbnRzX2MuRVhQUl9DT05ESVRJT05BTC5HZXRUeXBlKCkgKTsKKy0KKysgICAgYXNzZXJ0KCB0eXBlb2YoaW50KSA9PSBwcmVwcm9jX2NvbnN0YW50c19jLkVYUFJfV0NIQVJfTUFYLkdldFR5cGUoKSApOworKyAgICBhc3NlcnQoIHR5cGVvZihpbnQpID09IHByZXByb2NfY29uc3RhbnRzX2MuRVhQUl9XQ0hBUl9NSU4uR2V0VHlwZSgpICk7CisgICB9CisgICBzdGF0aWMgdm9pZCBhc3NlcnQoYm9vbCBhc3NlcnRpb24pIHsKKyAgICAgaWYgKCFhc3NlcnRpb24pCitkaWZmIC0tZ2l0IGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9jc2hhcnAvcHJlcHJvY19jb25zdGFudHNfcnVubWUuY3MgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL2NzaGFycC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS5jcworaW5kZXggOWZhZTU5MS4uNmIwMmUzMCAxMDA2NDQKKy0tLSBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvY3NoYXJwL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLmNzCisrKysgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL2NzaGFycC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS5jcworQEAgLTYwLDYgKzYwLDggQEAgcHVibGljIGNsYXNzIHJ1bm1lIHsKKyAgICAgYXNzZXJ0KCB0eXBlb2YoYm9vbCkgPT0gcHJlcHJvY19jb25zdGFudHMuRVhQUl9MQU5ELkdldFR5cGUoKSApOworICAgICBhc3NlcnQoIHR5cGVvZihib29sKSA9PSBwcmVwcm9jX2NvbnN0YW50cy5FWFBSX0xPUi5HZXRUeXBlKCkgKTsKKyAgICAgYXNzZXJ0KCB0eXBlb2YoZG91YmxlKSA9PSBwcmVwcm9jX2NvbnN0YW50cy5FWFBSX0NPTkRJVElPTkFMLkdldFR5cGUoKSApOworKyAgICBhc3NlcnQoIHR5cGVvZihpbnQpID09IHByZXByb2NfY29uc3RhbnRzLkVYUFJfV0NIQVJfTUFYLkdldFR5cGUoKSApOworKyAgICBhc3NlcnQoIHR5cGVvZihpbnQpID09IHByZXByb2NfY29uc3RhbnRzLkVYUFJfV0NIQVJfTUlOLkdldFR5cGUoKSApOworIAorICAgfQorICAgc3RhdGljIHZvaWQgYXNzZXJ0KGJvb2wgYXNzZXJ0aW9uKSB7CitkaWZmIC0tZ2l0IGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUuMS5kIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUuMS5kCitpbmRleCBkODQ2YzcxLi4yYjM0OWFmIDEwMDY0NAorLS0tIGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUuMS5kCisrKysgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS4xLmQKK0BAIC02MSw0ICs2MSw2IEBAIHZvaWQgbWFpbigpIHsKKyAgIHN0YXRpYyBhc3NlcnQoaXMoaW50ID09IHR5cGVvZihFWFBSX0xBTkQoKSkpKTsKKyAgIHN0YXRpYyBhc3NlcnQoaXMoaW50ID09IHR5cGVvZihFWFBSX0xPUigpKSkpOworICAgc3RhdGljIGFzc2VydChpcyhkb3VibGUgPT0gdHlwZW9mKEVYUFJfQ09ORElUSU9OQUwoKSkpKTsKKysgIHN0YXRpYyBhc3NlcnQoaXMoaW50ID09IHR5cGVvZihFWFBSX1dDSEFSX01BWCgpKSkpOworKyAgc3RhdGljIGFzc2VydChpcyhpbnQgPT0gdHlwZW9mKEVYUFJfV0NIQVJfTUlOKCkpKSk7CisgfQorZGlmZiAtLWdpdCBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLjIuZCBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLjIuZAoraW5kZXggOWJkYmI5My4uMWJhYzUyNSAxMDA2NDQKKy0tLSBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLjIuZAorKysrIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUuMi5kCitAQCAtNjEsNCArNjEsNiBAQCB2b2lkIG1haW4oKSB7CisgICBzdGF0aWMgYXNzZXJ0KGlzKGludCA9PSB0eXBlb2YoRVhQUl9MQU5EKCkpKSk7CisgICBzdGF0aWMgYXNzZXJ0KGlzKGludCA9PSB0eXBlb2YoRVhQUl9MT1IoKSkpKTsKKyAgIHN0YXRpYyBhc3NlcnQoaXMoZG91YmxlID09IHR5cGVvZihFWFBSX0NPTkRJVElPTkFMKCkpKSk7CisrICBzdGF0aWMgYXNzZXJ0KGlzKGludCA9PSB0eXBlb2YoRVhQUl9XQ0hBUl9NQVgoKSkpKTsKKysgIHN0YXRpYyBhc3NlcnQoaXMoaW50ID09IHR5cGVvZihFWFBSX1dDSEFSX01JTigpKSkpOworIH0KK2RpZmYgLS1naXQgYS9FeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfcnVubWUuMS5kIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLjEuZAoraW5kZXggMDA5NDA1Zi4uZjc0M2Y0OCAxMDA2NDQKKy0tLSBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS4xLmQKKysrKyBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS4xLmQKK0BAIC02MCw0ICs2MCw2IEBAIHZvaWQgbWFpbigpIHsKKyAgIHN0YXRpYyBhc3NlcnQoaXMoYm9vbCA9PSB0eXBlb2YoRVhQUl9MQU5EKCkpKSk7CisgICBzdGF0aWMgYXNzZXJ0KGlzKGJvb2wgPT0gdHlwZW9mKEVYUFJfTE9SKCkpKSk7CisgICBzdGF0aWMgYXNzZXJ0KGlzKGRvdWJsZSA9PSB0eXBlb2YoRVhQUl9DT05ESVRJT05BTCgpKSkpOworKyAgc3RhdGljIGFzc2VydChpcyhpbnQgPT0gdHlwZW9mKEVYUFJfV0NIQVJfTUFYKCkpKSk7CisrICBzdGF0aWMgYXNzZXJ0KGlzKGludCA9PSB0eXBlb2YoRVhQUl9XQ0hBUl9NSU4oKSkpKTsKKyB9CitkaWZmIC0tZ2l0IGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLjIuZCBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS4yLmQKK2luZGV4IDJkOTJlZjAuLjBkOTZjMzcgMTAwNjQ0CistLS0gYS9FeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfcnVubWUuMi5kCisrKysgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfcnVubWUuMi5kCitAQCAtNjAsNCArNjAsNiBAQCB2b2lkIG1haW4oKSB7CisgICBzdGF0aWMgYXNzZXJ0KGlzKGJvb2wgPT0gdHlwZW9mKEVYUFJfTEFORCgpKSkpOworICAgc3RhdGljIGFzc2VydChpcyhib29sID09IHR5cGVvZihFWFBSX0xPUigpKSkpOworICAgc3RhdGljIGFzc2VydChpcyhkb3VibGUgPT0gdHlwZW9mKEVYUFJfQ09ORElUSU9OQUwoKSkpKTsKKysgIHN0YXRpYyBhc3NlcnQoaXMoaW50ID09IHR5cGVvZihFWFBSX1dDSEFSX01BWCgpKSkpOworKyAgc3RhdGljIGFzc2VydChpcyhpbnQgPT0gdHlwZW9mKEVYUFJfV0NIQVJfTUlOKCkpKSk7CisgfQorZGlmZiAtLWdpdCBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUucGhwIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9waHAvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5waHAKK2luZGV4IGFmOWI3NmUuLmU1OWZlMTggMTAwNjQ0CistLS0gYS9FeGFtcGxlcy90ZXN0LXN1aXRlL3BocC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLnBocAorKysrIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9waHAvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5waHAKK0BAIC02Miw1ICs2Miw3IEBAIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzX2M6OkVYUFJfT1IpLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50CisgY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHNfYzo6RVhQUl9MQU5EKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9MQU5EIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKyBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50c19jOjpFWFBSX0xPUiksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfTE9SIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKyBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50c19jOjpFWFBSX0NPTkRJVElPTkFMKSwgImRvdWJsZSIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX0NPTkRJVElPTkFMIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKytjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50c19jOjpFWFBSX1dDSEFSX01BWCksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfV0NIQVJfTUFYIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKytjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50c19jOjpFWFBSX1dDSEFSX01JTiksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfV0NIQVJfTUlOIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKyAKKyA/PgorZGlmZiAtLWdpdCBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLnBocCBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLnBocAoraW5kZXggNWM5MTE5Yi4uOGUxMTdlYSAxMDA2NDQKKy0tLSBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLnBocAorKysrIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9waHAvcHJlcHJvY19jb25zdGFudHNfcnVubWUucGhwCitAQCAtNjEsNSArNjEsNyBAQCBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50czo6RVhQUl9PUiksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLgorIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzOjpFWFBSX0xBTkQpLCAiYm9vbGVhbiIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX0xBTkQgaGFzIHVuZXhwZWN0ZWQgdHlwZSIpOworIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzOjpFWFBSX0xPUiksICJib29sZWFuIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfTE9SIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKyBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50czo6RVhQUl9DT05ESVRJT05BTCksICJkb3VibGUiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9DT05ESVRJT05BTCBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisrY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHM6OkVYUFJfV0NIQVJfTUFYKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9XQ0hBUl9NQVggaGFzIHVuZXhwZWN0ZWQgdHlwZSIpOworK2NoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzOjpFWFBSX1dDSEFSX01JTiksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfV0NIQVJfTUlOIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKyAKKyA/PgorZGlmZiAtLWdpdCBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwNS9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLnBocCBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwNS9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLnBocAoraW5kZXggMWVhMDE5NS4uZDk3OGZhYiAxMDA2NDQKKy0tLSBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwNS9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLnBocAorKysrIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9waHA1L3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUucGhwCitAQCAtNjIsNSArNjIsNyBAQCBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50c19jOjpFWFBSX09SKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudAorIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzX2M6OkVYUFJfTEFORCksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfTEFORCBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisgY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHNfYzo6RVhQUl9MT1IpLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX0xPUiBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisgY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHNfYzo6RVhQUl9DT05ESVRJT05BTCksICJkb3VibGUiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9DT05ESVRJT05BTCBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisrY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHNfYzo6RVhQUl9XQ0hBUl9NQVgpLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX1dDSEFSX01BWCBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisrY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHNfYzo6RVhQUl9XQ0hBUl9NSU4pLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX1dDSEFSX01JTiBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisgCisgPz4KK2RpZmYgLS1naXQgYS9FeGFtcGxlcy90ZXN0LXN1aXRlL3BocDUvcHJlcHJvY19jb25zdGFudHNfcnVubWUucGhwIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9waHA1L3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLnBocAoraW5kZXggZmI5ZWU0Zi4uNzUyNzAyNiAxMDA2NDQKKy0tLSBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwNS9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS5waHAKKysrKyBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwNS9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS5waHAKK0BAIC03MCw1ICs3MCw3IEBAIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzOjpFWFBSX0xBTkQpLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50CisgY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHM6OkVYUFJfTE9SKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9MT1IgaGFzIHVuZXhwZWN0ZWQgdHlwZSIpOworIAorIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzOjpFWFBSX0NPTkRJVElPTkFMKSwgImRvdWJsZSIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX0NPTkRJVElPTkFMIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKytjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50czo6RVhQUl9XQ0hBUl9NQVgpLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX1dDSEFSX01BWCBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisrY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHM6OkVYUFJfV0NIQVJfTUlOKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9XQ0hBUl9NSU4gaGFzIHVuZXhwZWN0ZWQgdHlwZSIpOworIAorID8+CitkaWZmIC0tZ2l0IGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9wcmVwcm9jX2NvbnN0YW50cy5pIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9wcmVwcm9jX2NvbnN0YW50cy5pCitpbmRleCAzYTk5OWFkLi4xNmI0NGM5IDEwMDY0NAorLS0tIGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9wcmVwcm9jX2NvbnN0YW50cy5pCisrKysgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL3ByZXByb2NfY29uc3RhbnRzLmkKK0BAIC04Nyw2ICs4Nyw5IEBACisgI2RlZmluZSBFWFBSX0xPUiAgICAgICAgIDB4RkYgfHwgMQorICNkZWZpbmUgRVhQUl9DT05ESVRJT05BTCB0cnVlID8gMiA6IDIuMgorIAorKyNkZWZpbmUgRVhQUl9XQ0hBUl9NQVggICAoMHg3ZmZmZmZmZiArIEwnXDAnKQorKyNkZWZpbmUgRVhQUl9XQ0hBUl9NSU4gICAoLUVYUFJfV0NIQVJfTUFYIC0gMSkKKysKKyAjZGVmaW5lIEVYUFJfQ0hBUl9DT01QT1VORF9BREQgJ0EnICsgMTIKKyAjZGVmaW5lIEVYUFJfQ0hBUl9DT01QT1VORF9MU0hJRlQgJ0InIDw8IDYKKyAjZGVmaW5lIEhfU1VQUFJFU1NfU0NBTElOR19NQUdJQyAoKCdzJzw8MjQpIHwgKCd1Jzw8MTYpIHwgKCdwJzw8OCkgfCAncCcpCitkaWZmIC0tZ2l0IGEvU291cmNlL0NQYXJzZS9wYXJzZXIueSBiL1NvdXJjZS9DUGFyc2UvcGFyc2VyLnkKK2luZGV4IDJlOTJjZDAuLjI3M2RhZGIgMTAwNjQ0CistLS0gYS9Tb3VyY2UvQ1BhcnNlL3BhcnNlci55CisrKysgYi9Tb3VyY2UvQ1BhcnNlL3BhcnNlci55CitAQCAtMTk0LDcgKzE5NCw3IEBAIGludCBTV0lHX2NwYXJzZV90ZW1wbGF0ZV9yZWR1Y2UoaW50IHRyZWR1Y2UpIHsKKyAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworIAorIHN0YXRpYyBpbnQgcHJvbW90ZV90eXBlKGludCB0KSB7CistICBpZiAodCA8PSBUX1VDSEFSIHx8IHQgPT0gVF9DSEFSKSByZXR1cm4gVF9JTlQ7CisrICBpZiAodCA8PSBUX1VDSEFSIHx8IHQgPT0gVF9DSEFSIHx8IHQgPT0gVF9XQ0hBUikgcmV0dXJuIFRfSU5UOworICAgcmV0dXJuIHQ7CisgfQorIAorLS0gCisyLjkuNQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zd2lnL3N3aWdfMy4wLjEyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3dpZy9zd2lnXzMuMC4xMi5iYgppbmRleCBmZTlkMDc0Li40NTAyNmM5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zd2lnL3N3aWdfMy4wLjEyLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N3aWcvc3dpZ18zLjAuMTIuYmIKQEAgLTUsNiArNSw3IEBACiAgICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtTm9kZS03LngtYWthLVY4LTUuMi1zdXBwb3J0LnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly9zd2lnLTMuMC4xMi1Db3Zlcml0eS1maXgtaXNzdWUtcmVwb3J0ZWQtZm9yLVNXSUdfUHl0aG9uX0ZpeE1ldGhvLnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly9QeXRob24tRml4LW5ldy1HQ0M4LXdhcm5pbmdzLWluLWdlbmVyYXRlZC1jb2RlLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1nZW5lcmF0ZWQtY29kZS1mb3ItY29uc3RhbnQtZXhwcmVzc2lvbnMtY29udGFpbmkucGF0Y2ggXAogICAgICAgICAgICAiCiBTUkNfVVJJW21kNXN1bV0gPSAiODIxMzNkZmE3YmJhNzVmZjlhZDk4YTcwNDZiZTY4N2MiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2NmOWY0NDdhZTdlZDFjNTE3MjJlZmM0NWU3ZjE0NDE4ZDE1ZDdhMWUxNDNhYzlmMDlhNjY4OTk5ZjRmYzk0ZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4LzAwMDEtaW5zdGFsbC1kb24tdC1pbnN0YWxsLW9ic29sZXRlLWZpbGUtY29tMzIubGQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC8wMDAxLWluc3RhbGwtZG9uLXQtaW5zdGFsbC1vYnNvbGV0ZS1maWxlLWNvbTMyLmxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmZDdmNDEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC8wMDAxLWluc3RhbGwtZG9uLXQtaW5zdGFsbC1vYnNvbGV0ZS1maWxlLWNvbTMyLmxkLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gYmY2ZGI1YjQ4ZWMyNWY4MzkzOWYxZmRlYmI1OTAyOGJjM2M0MGIwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJILiBQZXRlciBBbnZpbiAoSW50ZWwpIiA8aHBhQHp5dG9yLmNvbT4KK0RhdGU6IFdlZCwgNiBGZWIgMjAxOSAxMTozMDo1MSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBpbnN0YWxsOiBkb24ndCBpbnN0YWxsIG9ic29sZXRlIGZpbGUgY29tMzIubGQKKworY29tMzIubGQgaGFzIGJlZW4gb2Jzb2xldGUgZm9yIGEgbG9uZyB0aW1lLCBhbmQgaGFzIGJlZW4gcmVtb3ZlZCBub3c7Citkb24ndCBpbnN0YWxsIGl0IGVpdGhlci4KKworUmVwb3J0ZWQtYnk6IEpvYWtpbSBUamVybmx1bmQgPEpvYWtpbS5UamVybmx1bmRAaW5maW5lcmEuY29tPgorU2lnbmVkLW9mZi1ieTogSC4gUGV0ZXIgQW52aW4gKEludGVsKSA8aHBhQHp5dG9yLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KKy0tLQorIGNvbTMyL2xpYi9NYWtlZmlsZSB8IDEgLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb20zMi9saWIvTWFrZWZpbGUgYi9jb20zMi9saWIvTWFrZWZpbGUKK2luZGV4IDc0ZmZmMTQ5Li42YTkzMTQ5MiAxMDA2NDQKKy0tLSBhL2NvbTMyL2xpYi9NYWtlZmlsZQorKysrIGIvY29tMzIvbGliL01ha2VmaWxlCitAQCAtMTEzLDcgKzExMyw2IEBAIHNwb3RsZXNzOiBjbGVhbgorIAorIGluc3RhbGw6IGFsbAorIAlta2RpciAtbSA3NTUgLXAgJChJTlNUQUxMUk9PVCkkKENPTTMyRElSKQorLQlpbnN0YWxsIC1tIDY0NCAkKFNSQykvY29tMzIubGQgJChJTlNUQUxMUk9PVCkkKENPTTMyRElSKQorIAktcm0gLXJmICQoSU5TVEFMTFJPT1QpJChDT00zMkRJUikvaW5jbHVkZQorIAljcCAtciAkKFNSQykvLi4vaW5jbHVkZSAkKElOU1RBTExST09UKSQoQ09NMzJESVIpCisgCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC8wMDA4LWxpYmluc3RhbGxlci1zeXNsaW51eGV4dC1pbXBsZW1lbnQtc3lzbGludXhfcGF0Y2hfYm8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC8wMDA4LWxpYmluc3RhbGxlci1zeXNsaW51eGV4dC1pbXBsZW1lbnQtc3lzbGludXhfcGF0Y2hfYm8ucGF0Y2gKaW5kZXggMjQwMGM5OC4uZjFkMDFmYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvMDAwOC1saWJpbnN0YWxsZXItc3lzbGludXhleHQtaW1wbGVtZW50LXN5c2xpbnV4X3BhdGNoX2JvLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4LzAwMDgtbGliaW5zdGFsbGVyLXN5c2xpbnV4ZXh0LWltcGxlbWVudC1zeXNsaW51eF9wYXRjaF9iby5wYXRjaApAQCAtMSw4ICsxLDcgQEAKLUZyb20gNzhkNzZiODdhNGI4NTVlNmI2NjFhZTQ1NzI4M2E2M2YzODVjMDRjOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZWZjZTg3ZTVhYjk4NjY0YzU3ZTVmNGUzOTU1YTJmMzc0N2RmNTczNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgogRGF0ZTogRnJpLCAyIEphbiAyMDE1IDEyOjI2OjQ2ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggOC85XSBsaWJpbnN0YWxsZXIvc3lzbGludXhleHQ6IGltcGxlbWVudAotIHN5c2xpbnV4X3BhdGNoX2Jvb3RzZWN0KCkKK1N1YmplY3Q6IFtQQVRDSF0gbGliaW5zdGFsbGVyL3N5c2xpbnV4ZXh0OiBpbXBsZW1lbnQgc3lzbGludXhfcGF0Y2hfYm9vdHNlY3QoKQogCiBNb3ZlIHRoZSByZWxhdGVkIGZyb20gZXh0bGludXgvbWFpbi5jIHRvIGxpYmluc3RhbGxlci9zeXNsaW51eGV4dC5jLCB0aGUKIHN5c2xpbnV4X3BhdGNoX2Jvb3RzZWN0KCkgYXJlIHVzZWQgYnkgYm90aCBleHRsaW51eC9tYWluLmMgYW5kCkBAIC0xMiwxNyArMTEsMjEgQEAKIAogU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CiBUZXN0ZWQtYnk6IER1IERvbHBoZXIgPGRvbHBoZXIuZHVAaW50ZWwuY29tPgorCitFZGl0ZWQgdG8gaW5jbHVkZSBzeXNtYWNyb3MuaAorCitTaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgogLS0tCiAgZXh0bGludXgvTWFrZWZpbGUgICAgICAgICAgfCAgIDMgKy0KLSBleHRsaW51eC9tYWluLmMgICAgICAgICAgICB8IDE2NyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIGxpYmluc3RhbGxlci9zeXNsaW51eGV4dC5jIHwgMTcwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgMTc1IGluc2VydGlvbnMoKyksIDE2NSBkZWxldGlvbnMoLSkKKyBleHRsaW51eC9tYWluLmMgICAgICAgICAgICB8IDE2NyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsaWJpbnN0YWxsZXIvc3lzbGludXhleHQuYyB8IDE3MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAxNzYgaW5zZXJ0aW9ucygrKSwgMTY1IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZXh0bGludXgvTWFrZWZpbGUgYi9leHRsaW51eC9NYWtlZmlsZQotaW5kZXggMDJkMWRiNS4uOTBkZDkyZiAxMDA2NDQKK2luZGV4IDE3MjFlZTU0Li42MmE0OTcyOCAxMDA2NDQKIC0tLSBhL2V4dGxpbnV4L01ha2VmaWxlCiArKysgYi9leHRsaW51eC9NYWtlZmlsZQotQEAgLTMxLDcgKzMxLDggQEAgU1JDUyAgICAgPSBtYWluLmMgXAorQEAgLTMyLDcgKzMyLDggQEAgU1JDUyAgICAgPSBtYWluLmMgXAogIAkgICAuLi9saWJpbnN0YWxsZXIvYWR2aW8uYyBcCiAgCSAgIC4uL2xpYmluc3RhbGxlci9ib290c2VjdF9iaW4uYyBcCiAgCSAgIC4uL2xpYmluc3RhbGxlci9sZGxpbnV4YzMyX2Jpbi5jIFwKQEAgLTMzLDEwICszNiwxMCBAQAogIAogIC5TVUZGSVhFUzogLmMgLm8gLmkgLnMgLlMKIGRpZmYgLS1naXQgYS9leHRsaW51eC9tYWluLmMgYi9leHRsaW51eC9tYWluLmMKLWluZGV4IDA5NzQwYmQuLjZmZTAyNmUgMTAwNjQ0CitpbmRleCBlYmZmN2VhZS4uOWFkZDUwZmIgMTAwNjQ0CiAtLS0gYS9leHRsaW51eC9tYWluLmMKICsrKyBiL2V4dGxpbnV4L21haW4uYwotQEAgLTYwLDYgKzYwLDcgQEAKK0BAIC02Miw2ICs2Miw3IEBACiAgI2luY2x1ZGUgInNldGFkdi5oIgogICNpbmNsdWRlICJzeXNseG9wdC5oIiAvKiB1bmlmaWVkIG9wdGlvbnMgKi8KICAjaW5jbHVkZSAibW91bnRpbmZvLmgiCkBAIC00NCw3ICs0Nyw3IEBACiAgCiAgI2lmZGVmIERFQlVHCiAgIyBkZWZpbmUgZHByaW50ZiBwcmludGYKLUBAIC02NywxMCArNjgsNiBAQAorQEAgLTY5LDEwICs3MCw2IEBACiAgIyBkZWZpbmUgZHByaW50ZiguLi4pICgodm9pZCkwKQogICNlbmRpZgogIApAQCAtNTUsMTAgKzU4LDExIEBACiAgLyogU2luY2Ugd2UgaGF2ZSB1bnVzZWQgMjA0OCBieXRlcyBpbiB0aGUgcHJpbWFyeSBBRyBvZiBhbiBYRlMgcGFydGl0aW9uLAogICAqIHdlIHdpbGwgdXNlIHRoZSBmaXJzdCAwfjUxMiBieXRlcyBzdGFydGluZyBmcm9tIDIwNDggZm9yIHRoZSBTeXNsaW51eAogICAqIGJvb3Qgc2VjdG9yLgotQEAgLTkyLDEzNiArODksNiBAQCBzdGF0aWMgY2hhciBzdWJ2b2xbQlRSRlNfU1VCVk9MX01BWF07CitAQCAtOTMsMTM2ICs5MCw2IEBAIHN0YXRpYyBjaGFyIHN1YnZvbFtCVFJGU19TVUJWT0xfTUFYXTsKKyAjZGVmaW5lIEJUUkZTX0FEVl9PRkZTRVQgKEJUUkZTX0JPT1RfQVJFQV9BX09GRlNFVCArIEJUUkZTX0JPT1RfQVJFQV9BX1NJWkUgXAogIAkJCSAgLSAyKkFEVl9TSVpFKQogIAotIC8qCistLyoKIC0gKiBHZXQgdGhlIHNpemUgb2YgYSBibG9jayBkZXZpY2UKIC0gKi8KIC1zdGF0aWMgdWludDY0X3QgZ2V0X3NpemUoaW50IGRldmZkKQpAQCAtMTg4LDExICsxOTIsMTAgQEAKIC0gICAgcmV0dXJuIHJ2OwogLX0KIC0KLS0vKgorIC8qCiAgICogUXVlcnkgdGhlIGRldmljZSBnZW9tZXRyeSBhbmQgcHV0IGl0IGludG8gdGhlIGJvb3Qgc2VjdG9yLgogICAqIE1hcCB0aGUgZmlsZSBhbmQgcHV0IHRoZSBtYXAgaW4gdGhlIGJvb3Qgc2VjdG9yIGFuZCBmaWxlLgotICAqIFN0aWNrIHRoZSAiY3VycmVudCBkaXJlY3RvcnkiIGlub2RlIG51bWJlciBpbnRvIHRoZSBmaWxlLgotQEAgLTIzMSwxMSArOTgsOCBAQCBvazoKK0BAIC0yMzMsMTEgKzEwMCw4IEBAIG9rOgogIHN0YXRpYyBpbnQgcGF0Y2hfZmlsZV9hbmRfYm9vdGJsb2NrKGludCBmZCwgY29uc3QgY2hhciAqZGlyLCBpbnQgZGV2ZmQpCiAgewogICAgICBzdHJ1Y3Qgc3RhdCBkaXJzdCwgeGRzdDsKQEAgLTIwNCw3ICsyMDcsNyBAQAogICAgICBjaGFyICpkaXJwYXRoLCAqc3VicGF0aCwgKnhkaXJwYXRoOwogICAgICBpbnQgcnY7CiAgCi1AQCAtMjc5LDMzICsxNDMsOCBAQCBzdGF0aWMgaW50IHBhdGNoX2ZpbGVfYW5kX2Jvb3RibG9jayhpbnQgZmQsIGNvbnN0IGNoYXIgKmRpciwgaW50IGRldmZkKQorQEAgLTI4MSwzMyArMTQ1LDggQEAgc3RhdGljIGludCBwYXRjaF9maWxlX2FuZF9ib290YmxvY2soaW50IGZkLCBjb25zdCBjaGFyICpkaXIsIGludCBkZXZmZCkKICAgICAgLyogTm93IHN1YnBhdGggc2hvdWxkIGNvbnRhaW4gdGhlIHBhdGggcmVsYXRpdmUgdG8gdGhlIGZzIGJhc2UgKi8KICAgICAgZHByaW50Zigic3VicGF0aCA9ICVzXG4iLCBzdWJwYXRoKTsKICAKQEAgLTI0MSwxNCArMjQ0LDE1IEBACiAgICAgIC8qIENvbnN0cnVjdCB0aGUgYm9vdCBmaWxlIG1hcCAqLwogIAogZGlmZiAtLWdpdCBhL2xpYmluc3RhbGxlci9zeXNsaW51eGV4dC5jIGIvbGliaW5zdGFsbGVyL3N5c2xpbnV4ZXh0LmMKLWluZGV4IGJiNTRjZWYuLjVhNDQyM2IgMTAwNjQ0CitpbmRleCBiYjU0Y2VmYy4uOWFlODI4ODQgMTAwNjQ0CiAtLS0gYS9saWJpbnN0YWxsZXIvc3lzbGludXhleHQuYwogKysrIGIvbGliaW5zdGFsbGVyL3N5c2xpbnV4ZXh0LmMKLUBAIC0xLDcgKzEsMTc3IEBACitAQCAtMSw3ICsxLDE3OCBAQAogICNkZWZpbmUgX0dOVV9TT1VSQ0UKICAKICsjaW5jbHVkZSA8c3lzL3N0YXQuaD4KICsjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisrI2luY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4KICsjaW5jbHVkZSA8Z2V0b3B0Lmg+CiArI2luY2x1ZGUgPGV4dDJmcy9leHQyZnMuaD4KICsKQEAgLTQyMyw1ICs0MjcsNSBAQAogIH0KICAKIC0tIAotMS45LjEKKzIuMTcuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC8wMDEwLWdjYzQ2LWNvbXBhdGliaWxpdHkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC8wMDEwLWdjYzQ2LWNvbXBhdGliaWxpdHkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYyNzkyNTguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvMDAxMC1nY2M0Ni1jb21wYXRpYmlsaXR5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotZG9uJ3QgYnJlYWsgd2l0aCBvbGQgY29tcGlsZXJzIGFuZCAtREdOVV9FRklfVVNFX01TX0FCSQotSXQncyBlbnRpcmVseSBsZWdpdGltYXRlIHRvIHJlcXVlc3QgR05VX0VGSV9VU0VfTVNfQUJJIGV2ZW4gaWYgdGhlIGN1cnJlbnQKLWNvbXBpbGVyIGRvZXNuJ3Qgc3VwcG9ydCBpdCwgYW5kIGdudS1lZmkgc2hvdWxkIHRyYW5zcGFyZW50bHkgZmFsbCBiYWNrIHRvCi11c2luZyBsZWdhY3kgdGVjaG5pcXVlcyB0byBzZXQgdGhlIGNhbGxpbmcgY29udmVudGlvbi4gIFdlIGRvbid0IGdldCB0eXBlCi1jaGVja2luZywgYnV0IGF0IGxlYXN0IGl0IHdpbGwgc3RpbGwgY29tcGlsZS4KLQotQWRhcHRlZCBmcm9tIGdudS1lZmkKLQotQXV0aG9yOiBTdGV2ZSBMYW5nYXNlayA8c3RldmUubGFuZ2FzZWtAdWJ1bnR1LmNvbT4KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1JbmRleDogc3lzbGludXgtNi4wMy9lZmk2NC9pbmNsdWRlL2VmaS94ODZfNjQvZWZpYmluZC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gc3lzbGludXgtNi4wMy5vcmlnL2VmaTY0L2luY2x1ZGUvZWZpL3g4Nl82NC9lZmliaW5kLmgKLSsrKyBzeXNsaW51eC02LjAzL2VmaTY0L2luY2x1ZGUvZWZpL3g4Nl82NC9lZmliaW5kLmgKLUBAIC0yNSw4ICsyNSw2IEBAIFJldmlzaW9uIEhpc3RvcnkKLSAjaWYgZGVmaW5lZChHTlVfRUZJX1VTRV9NU19BQkkpCi0gICAgICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAoX19HTlVDX18gPiA0IHx8IChfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID49IDcpKQotICAgICAgICAgI2RlZmluZSBIQVZFX1VTRV9NU19BQkkgMQotLSAgICAjZWxzZQotLSAgICAgICAgI2Vycm9yIENvbXBpbGVyIGlzIHRvbyBvbGQgZm9yIEdOVV9FRklfVVNFX01TX0FCSQotICAgICAjZW5kaWYKLSAjZW5kaWYKLSAKLUluZGV4OiBzeXNsaW51eC02LjAzL2dudS1lZmkvZ251LWVmaS0zLjAvaW5jL3g4Nl82NC9lZmliaW5kLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBzeXNsaW51eC02LjAzLm9yaWcvZ251LWVmaS9nbnUtZWZpLTMuMC9pbmMveDg2XzY0L2VmaWJpbmQuaAotKysrIHN5c2xpbnV4LTYuMDMvZ251LWVmaS9nbnUtZWZpLTMuMC9pbmMveDg2XzY0L2VmaWJpbmQuaAotQEAgLTI1LDggKzI1LDYgQEAgUmV2aXNpb24gSGlzdG9yeQotICNpZiBkZWZpbmVkKEdOVV9FRklfVVNFX01TX0FCSSkKLSAgICAgI2lmIGRlZmluZWQoX19HTlVDX18pICYmIChfX0dOVUNfXyA+IDQgfHwgKF9fR05VQ19fID09IDQgJiYgX19HTlVDX01JTk9SX18gPj0gNykpCi0gICAgICAgICAjZGVmaW5lIEhBVkVfVVNFX01TX0FCSSAxCi0tICAgICNlbHNlCi0tICAgICAgICAjZXJyb3IgQ29tcGlsZXIgaXMgdG9vIG9sZCBmb3IgR05VX0VGSV9VU0VfTVNfQUJJCi0gICAgICNlbmRpZgotICNlbmRpZgotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvMDAxMS1tay1NTUQtZG9lcy1ub3QtdGFrZS1hbnktYXJndW1lbnRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvMDAxMS1tay1NTUQtZG9lcy1ub3QtdGFrZS1hbnktYXJndW1lbnRzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NDNjMWNjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4LzAwMTEtbWstTU1ELWRvZXMtbm90LXRha2UtYW55LWFyZ3VtZW50cy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gMGYzZDgzYzI1NDkxOTUxZjFmYTg0Yzc5NTczNThlZjNkMWJjZDhhOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDkgU2VwIDIwMTUgMTc6Mzk6MjIgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gbWs6IC1NTUQgZG9lcyBub3QgdGFrZSBhbnkgYXJndW1lbnRzCi0KLVNwZWNpZnkgLVdwIGZvciBlYWNoIG9wdGlvbiwgY2xhbmcgc2VlbXMgdG8gbm90IGFjY2VwdAotLVdwLC14LHksLWEsYgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotIG1rL3N5c2xpbnV4Lm1rIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotSW5kZXg6IHN5c2xpbnV4LTYuMDMvbWsvc3lzbGludXgubWsKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBzeXNsaW51eC02LjAzLm9yaWcvbWsvc3lzbGludXgubWsKLSsrKyBzeXNsaW51eC02LjAzL21rL3N5c2xpbnV4Lm1rCi1AQCAtODIsMTEgKzgyLDExIEBAIEFSQ0ggPz0gJChzdHJpcCAkKFNVQkFSQ0gpKQotIEdDQ1dBUk4gID0gLVcgLVdhbGwgLVdzdHJpY3QtcHJvdG90eXBlcyAkKERFQlVHT1BUKQotIAotICMgQ29tbW9uIHN0YW56YSB0byBtYWtlIGdjYyBnZW5lcmF0ZSAuKi5kIGRlcGVuZGVuY3kgZmlsZXMKLS1NQUtFREVQUyA9IC1XcCwtTVQsJEAsLU1ELCQoZGlyICRAKS4kKG5vdGRpciAkQCkuZAotK01BS0VERVBTID0gLU1UICRAIC1NRAotIAotICMgRGVwZW5kZW5jaWVzIHRoYXQgZXhjbHVkZSBzeXN0ZW0gaGVhZGVyczsgdXNlIHdoZW5ldmVyIHdlIHVzZQotICMgaGVhZGVyIGZpbGVzIGZyb20gdGhlIHBsYXRmb3JtLgotLVVNQUtFREVQUyA9IC1XcCwtTVQsJEAsLU1NRCwkKGRpciAkQCkuJChub3RkaXIgJEApLmQKLStVTUFLRURFUFMgPSAtTVQgJEAgLU1NRAotIAotICMgSXRlbXMgdGhhdCBhcmUgb25seSBhcHByb3ByaWF0ZSBkdXJpbmcgZGV2ZWxvcG1lbnQ7IHRoaXMgZmlsZSBpcwotICMgcmVtb3ZlZCB3aGVuIHRhcmJhbGxzIGFyZSBnZW5lcmF0ZWQuCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC9zeXNsaW51eC02LjAzLXN5c21hY3Jvcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4L3N5c2xpbnV4LTYuMDMtc3lzbWFjcm9zLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzY2U0NmRhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4L3N5c2xpbnV4LTYuMDMtc3lzbWFjcm9zLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotaHR0cHM6Ly9idWdzLmdlbnRvby5vcmcvNTc5OTI4Ci0KLUZyb20gZDg0ZGIzNGRiZTM5ZDU1YjRkN2U4Njg3NjRjMDU2Njg5YWEwNzkzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KLURhdGU6IFR1ZSwgMTkgQXByIDIwMTYgMDE6NTY6NDEgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gZXh0bGludXg6IHB1bGwgaW4gc3lzL3N5c21hY3Jvcy5oIGZvciBtYWpvci9taW5vci9tYWtlZGV2Ci0KLVRoZXNlIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBzeXMvc3lzbWFjcm9zLmgsIHNvIGFkZCB0aGUgaW5jbHVkZSB0bwotbWFpbi5jLiAgVGhpcyBpcyBhbHJlYWR5IGhhbmRsZWQgY29ycmVjdGx5IGluIG1vdW50aW5mby5jLiAgT3RoZXJ3aXNlCi13ZSBnZXQgYnVpbGQgZmFpbHVyZXMgbGlrZToKLQotbWFpbi5vOiBJbiBmdW5jdGlvbiAnZmluZF9kZXZpY2Vfc3lzZnMnOgotZXh0bGludXgvbWFpbi5jOjExMzE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gJ21pbm9yJwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLVNpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KLQotVGhlIGZpcnN0IHBhcnQgd2Fzbid0IGVub3VnaCBpbiBPRSBidWlsZCwgSSBoYWQgdG8gYWRkIHRoZSBzYW1lIGZvciBzeXNsaW51eGV4dC5jLgotLS0tCi0gZXh0bGludXgvbWFpbi5jIHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1naXQgYS9leHRsaW51eC9tYWluLmMgYi9leHRsaW51eC9tYWluLmMKLWluZGV4IGE3ZWJkNDkuLmViZmY3ZWEgMTAwNjQ0Ci0tLS0gYS9leHRsaW51eC9tYWluLmMKLSsrKyBiL2V4dGxpbnV4L21haW4uYwotQEAgLTM4LDYgKzM4LDcgQEAKLSAjaW5jbHVkZSA8c3lzZXhpdHMuaD4KLSAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+Ci0gI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0rI2luY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4KLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gI2luY2x1ZGUgPHN5cy9tb3VudC5oPgotICNpbmNsdWRlIDxzeXMvdmZzLmg+Ci0tLS0gYS9saWJpbnN0YWxsZXIvc3lzbGludXhleHQuYwkyMDE3LTAyLTIyIDIwOjE3OjA1LjMzNjg2OTE4MSArMDEwMAotKysrIGIvbGliaW5zdGFsbGVyL3N5c2xpbnV4ZXh0LmMJMjAxNy0wMi0yMiAyMDoxNjo0Ny41MDA4Njg3NTEgKzAxMDAKLUBAIC0yLDYgKzIsNyBAQAotIAotICNpbmNsdWRlIDxzeXMvc3RhdC5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotICNpbmNsdWRlIDxnZXRvcHQuaD4KLSAjaW5jbHVkZSA8ZXh0MmZzL2V4dDJmcy5oPgotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvc3lzbGludXgtZml4LXBhcmFsbGVsLWJ1aWxkaW5nLWlzc3VlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvc3lzbGludXgtZml4LXBhcmFsbGVsLWJ1aWxkaW5nLWlzc3VlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTJiMWU4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4L3N5c2xpbnV4LWZpeC1wYXJhbGxlbC1idWlsZGluZy1pc3N1ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLXN5c2xpbnV4LW5hdGl2ZTogZml4IHBhcmFsbGVsIGJ1aWxkaW5nIGlzc3VlCi0KLVRoZXJlIG1pZ2h0IGJlIGFuIGVycm9yIHdoZW4gcGFyYWxsZWwgYnVpbGQ6Ci0KLVtzbmlwXQotY3A6IGNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5IGB0bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9zaGFyZS8KLXN5c2xpbnV4L2NvbTMyL2luY2x1ZGUvZ3BsaW5jbHVkZSc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKLW1ha2VbNF06ICoqKiBbaW5zdGFsbF0gRXJyb3IgMQotbWFrZVszXTogKioqIFtncGxsaWJdIEVycm9yIDIKLVtzbmlwXQotCi1UaGlzIGlzIGEgcG90ZW50aWFsIGlzc3VlLiBJbiAke1N9L2NvbTMyL2dwbGxpYi9NYWtlZmlsZSBmaWxlLAotaW5zdGFsbCB0YXJnZXQgd2FudHMgdG8gY29weSAkKFNSQykvLi4vZ3BsaW5jbHVkZSB0bwotJChJTlNUQUxMUk9PVCkkKENPTTMyRElSKS9pbmNsdWRlLyBkaXJlY3RvcnksIGJ1dCBpbiAke1N9L2NvbTMyL2xpYi9NYWtlZmlsZQotZmlsZSwgdGhlIGluc3RhbGwgdGFyZ2V0IHdpbGwgcmVtb3ZlICQoSU5TVEFMTFJPT1QpJChDT00zMkRJUikvaW5jbHVkZQotZGlyZWN0b3J5LiBXZSBuZWVkIHRvIGRvIGNvbTMyL2xpYiBmaXJzdC4KLQotVGhlIHBhdGNoIG1ha2UgY29tMzIvZ3BsbGliIGRlcGVuZHMgb24gY29tMzIvbGliIHRvIGZpeCB0aGlzIGlzc3VlLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogQ2hvbmcgTHUgPENob25nLkx1QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjb20zMi9NYWtlZmlsZSB8ICAgIDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1JbmRleDogc3lzbGludXgtNi4wMy9jb20zMi9NYWtlZmlsZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHN5c2xpbnV4LTYuMDMub3JpZy9jb20zMi9NYWtlZmlsZQotKysrIHN5c2xpbnV4LTYuMDMvY29tMzIvTWFrZWZpbGUKLUBAIC0yMSwzICsyMSw0IEBAIHJvc2g6IGxpYiBsaWJ1dGlsCi0gc2FtcGxlczogbGlidXRpbCBlbGZsaW5rL2xkbGludXgKLSBzeXNkdW1wOiBsaWIgbGlidXRpbCBsaWJ1cGxvYWQgZ3BsbGliCi0gbHVhL3NyYzogY21lbnUgbW9kdWxlcwotK2dwbGxpYjogbGliCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC9zeXNsaW51eC1saWJ1cGxvYWQtZGVwZW5kLWxpYi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4L3N5c2xpbnV4LWxpYnVwbG9hZC1kZXBlbmQtbGliLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YmE5NmFlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4L3N5c2xpbnV4LWxpYnVwbG9hZC1kZXBlbmQtbGliLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSA0OTBmYzNiYmQ2NWMyYzI1MmMxZmRmM2RhMGZhYzk4OThhYTllZWE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBGcmksIDE1IEF1ZyAyMDE0IDIxOjA5OjE2IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNvbTMyL01ha2VmaWxlOiBmaXggcGFyYWxsZWwgaXNzdWUKLQotRml4ZWQ6Ci1jcCAtciBzeXNsaW51eC02LjAxL2NvbTMyL2xpYnVwbG9hZC8qLmggaW1hZ2UvdXNyL3NoYXJlL3N5c2xpbnV4L2NvbTMyL2luY2x1ZGUvCi1bc25pcF0KLXJtIC1yZiBpbWFnZS91c3Ivc2hhcmUvc3lzbGludXgvY29tMzIvaW5jbHVkZQotW3NuaXBdCi1jcDogY2Fubm90IGNyZWF0ZSByZWd1bGFyIGZpbGUgYGltYWdlL3Vzci9zaGFyZS9zeXNsaW51eC9jb20zMi9pbmNsdWRlL3NlcmlhbC5oJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQotCi1UaGUgY3AgaXMgaGFwcGVuZWQgaW4gdGhlICJsaWJ1cGxvYWQiIGRpciwgd2hpbGUgInJtIC1mciIgaXMgaGFwcGVuZCBpbgotImxpYiIgZGlyLCBsZXQgImxpYnVwbG9hZCIgZGVwZW5kICJsaWIiIHdpbGwgZml4IHRoZSBwcm9ibGVtLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjb20zMi9NYWtlZmlsZSB8ICAgIDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1JbmRleDogc3lzbGludXgtNi4wMy9jb20zMi9NYWtlZmlsZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHN5c2xpbnV4LTYuMDMub3JpZy9jb20zMi9NYWtlZmlsZQotKysrIHN5c2xpbnV4LTYuMDMvY29tMzIvTWFrZWZpbGUKLUBAIC0yMiwzICsyMiw0IEBAIHNhbXBsZXM6IGxpYnV0aWwgZWxmbGluay9sZGxpbnV4Ci0gc3lzZHVtcDogbGliIGxpYnV0aWwgbGlidXBsb2FkIGdwbGxpYgotIGx1YS9zcmM6IGNtZW51IG1vZHVsZXMKLSBncGxsaWI6IGxpYgotK2xpYnVwbG9hZDogbGliCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eF82LjAzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXhfNi4wMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjhiMTA5NC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eF82LjAzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsOTAgKzAsMCBAQAotU1VNTUFSWSA9ICJNdWx0aS1wdXJwb3NlIGxpbnV4IGJvb3Rsb2FkZXIiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnN5c2xpbnV4Lm9yZy8iCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MzU7ZW5kbGluZT00MTttZDU9NTU4ZjJjNzFjYjFmYjliYTUxMWNjZDQ4NThlNDhlOGEiCi0KLSMgSWYgeW91IHJlYWxseSB3YW50IHRvIHJ1biBzeXNsaW51eCwgeW91IG5lZWQgbXRvb2xzLiAgV2UganVzdCB3YW50IHRoZQotIyBsZGxpbnV4Liogc3R1ZmYgZm9yIG5vdywgc28gc2tpcCBtdG9vbHMtbmF0aXZlCi1ERVBFTkRTID0gIm5hc20tbmF0aXZlIHV0aWwtbGludXggZTJmc3Byb2dzIgotCi1TUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMvYm9vdC9zeXNsaW51eC9zeXNsaW51eC0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vc3lzbGludXgtZml4LXBhcmFsbGVsLWJ1aWxkaW5nLWlzc3VlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3N5c2xpbnV4LWxpYnVwbG9hZC1kZXBlbmQtbGliLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3N5c2xpbnV4LXJlbW92ZS1jbGVhbi1zY3JpcHQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1saW51eC1zeXNsaW51eC1zdXBwb3J0LWV4dDItMy00LWRldmljZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWxpbnV4LXN5c2xpbnV4LWltcGxlbWVudC1vcGVuX2V4dDJfZnMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1saW51eC1zeXNsaW51eC1pbXBsZW1lbnQtaW5zdGFsbF90b19leHQyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtbGludXgtc3lzbGludXgtYWRkLWV4dF9maWxlX3JlYWQtYW5kLWV4dF9maWxlX3dyaXRlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtbGludXgtc3lzbGludXgtaW1wbGVtZW50LWhhbmRsZV9hZHZfb25fZXh0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDYtbGludXgtc3lzbGludXgtaW1wbGVtZW50LXdyaXRlX3RvX2V4dC1hbmQtYWRkLXN5c2xpbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA3LWxpbnV4LXN5c2xpbnV4LWltcGxlbWVudC1leHRfY29uc3RydWN0X3NlY3RtYXBfZnMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOC1saWJpbnN0YWxsZXItc3lzbGludXhleHQtaW1wbGVtZW50LXN5c2xpbnV4X3BhdGNoX2JvLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDktbGludXgtc3lzbGludXgtaW1wbGVtZW50LWluc3RhbGxfYm9vdGJsb2NrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTAtZ2NjNDYtY29tcGF0aWJpbGl0eS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDExLW1rLU1NRC1kb2VzLW5vdC10YWtlLWFueS1hcmd1bWVudHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc3lzbGludXgtNi4wMy1zeXNtYWNyb3MucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5MmEyNTNkZjkyMTFlOWMyMDE3Mjc5NmVjZjM4OGYxMyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyNmQzOTg2ZDJiZWExMDlkNWRjMGU0ZjhjNDgyMmE0NTkyNzZjZjAyMTEyNWU4YzlmMjNjM2NjYTVkOGM4NTBlIgotCi1DT01QQVRJQkxFX0hPU1QgPSAnKHg4Nl82NHxpLjg2KS4qLShsaW51eHxmcmVlYnNkLiopJwotIyBEb24ndCBsZXQgdGhlIHNhbml0eSBjaGVja2VyIHRyaXAgb24gdGhlIDMyIGJpdCByZWFsIG1vZGUgQklPUyBiaW5hcmllcwotSU5TQU5FX1NLSVBfJHtQTn0tbWlzYyA9ICJhcmNoIgotSU5TQU5FX1NLSVBfJHtQTn0tY2hhaW4gPSAiYXJjaCIKLQotRVhUUkFfT0VNQUtFID0gIiBcCi0JQklORElSPSR7YmluZGlyfSBTQklORElSPSR7c2JpbmRpcn0gTElCRElSPSR7bGliZGlyfSBcCi0JREFUQURJUj0ke2RhdGFkaXJ9IE1BTkRJUj0ke21hbmRpcn0gSU5DRElSPSR7aW5jbHVkZWRpcn0gXAotIgotCi1kb19jb25maWd1cmUoKSB7Ci0JIyBkcm9wIHdpbjMyIHRhcmdldHMgb3IgYnVpbGQgZmFpbHMKLQlzZWQgLWUgJ3Msd2luMzIvXFMqLCxnJyAtaSBNYWtlZmlsZQotCi0JIyBjbGVhbiBpbnN0YWxsZXIgZXhlY3V0YWJsZXMgaW5jbHVkZWQgaW4gc291cmNlIHRhcmJhbGwKLQlvZV9ydW5tYWtlIGNsZWFuIGZpcm13YXJlPSJlZmkzMiIgRUZJSU5DPSIke2luY2x1ZGVkaXJ9IgotCSMgTk9URTogVGhlcmUgaXMgYSB0ZW1wb3Jhcnkgd29yayBhcm91bmQgYWJvdmUgdG8gc3BlY2lmeQotCSMJdGhlIGVmaTMyIGFzIHRoZSBmaXJtd2FyZSBlbHNlIHRoZSBwcmUtYnVpbHQgYmlvcwotCSMJZmlsZXMgZ2V0IGVyYXNlZCBjb250cmFyeSB0byB0aGUgZG9jL2Rpc3RpYi50eHQKLQkjCUluIHRoZSBmdXR1cmUgdGhpcyBzaG91bGQgYmUgImJpb3MiIGFuZCBub3QgImVmaTMyIi4KLX0KLQotZG9fY29tcGlsZSgpIHsKLQkjIE1ha2Ugc3VyZSB0aGUgcmVjb21waWxlIGlzIE9LLgotCSMgVGhvdWdoIHRoZSAke0J9IHNob3VsZCBhbHdheXMgZXhpc3QsIHN0aWxsIGNoZWNrIGl0IGJlZm9yZSBmaW5kIGFuZCBybS4KLQlbIC1kICIke0J9IiBdICYmIGZpbmQgJHtCfSAtbmFtZSAnLiouZCcgLXR5cGUgZiAtZXhlYyBybSAtZiB7fSBcOwotCi0JIyBSZWJ1aWxkIG9ubHkgdGhlIGluc3RhbGxlcjsga2VlcCBwcmVjb21waWxlZCBib290bG9hZGVycwotCSMgYXMgcGVyIGF1dGhvcidzIHJlcXVlc3QgKGRvYy9kaXN0cmliLnR4dCkKLQlvZV9ydW5tYWtlIENDPSIke0NDfSAke0NGTEFHU30iIExEPSIke0xEfSIgTERGTEFHUz0iJHtMREZMQUdTfSIgZmlybXdhcmU9ImJpb3MiIGluc3RhbGxlcgotfQotCi1kb19pbnN0YWxsKCkgewotCW9lX3J1bm1ha2UgQ0M9IiR7Q0N9ICR7Q0ZMQUdTfSIgTEQ9IiR7TER9IiBpbnN0YWxsIElOU1RBTExST09UPSIke0R9IiBmaXJtd2FyZT0iYmlvcyIKLQotCWluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vc3lzbGludXgvCi0JaW5zdGFsbCAtbSA2NDQgJHtTfS9iaW9zL2NvcmUvbGRsaW51eC5zeXMgJHtEfSR7ZGF0YWRpcn0vc3lzbGludXgvCi0JaW5zdGFsbCAtbSA2NDQgJHtTfS9iaW9zL2NvcmUvbGRsaW51eC5ic3MgJHtEfSR7ZGF0YWRpcn0vc3lzbGludXgvCi0JaW5zdGFsbCAtbSA3NTUgJHtTfS9iaW9zL2xpbnV4L3N5c2xpbnV4LW5vbXRvb2xzICR7RH0ke2JpbmRpcn0vCi19Ci0KLVBBQ0tBR0VTICs9ICIke1BOfS1ub210b29scyAke1BOfS1leHRsaW51eCAke1BOfS1tYnIgJHtQTn0tY2hhaW4gJHtQTn0tcHhlbGludXggJHtQTn0taXNvbGludXggJHtQTn0tbWlzYyIKLQotUkRFUEVORFNfJHtQTn0gKz0gIm10b29scyIKLVJERVBFTkRTXyR7UE59LW5vbXRvb2xzICs9ICJsaWJleHQyZnMiCi1SREVQRU5EU18ke1BOfS1taXNjICs9ICJwZXJsIgotCi1GSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vc3lzbGludXgiCi1GSUxFU18ke1BOfS1ub210b29scyA9ICIke2JpbmRpcn0vc3lzbGludXgtbm9tdG9vbHMiCi1GSUxFU18ke1BOfS1leHRsaW51eCA9ICIke3NiaW5kaXJ9L2V4dGxpbnV4IgotRklMRVNfJHtQTn0tbWJyID0gIiR7ZGF0YWRpcn0vJHtCUE59L21ici5iaW4iCi1GSUxFU18ke1BOfS1jaGFpbiA9ICIke2RhdGFkaXJ9LyR7QlBOfS9jaGFpbi5jMzIiCi1GSUxFU18ke1BOfS1pc29saW51eCA9ICIke2RhdGFkaXJ9LyR7QlBOfS9pc29saW51eC5iaW4iCi1GSUxFU18ke1BOfS1weGVsaW51eCA9ICIke2RhdGFkaXJ9LyR7QlBOfS9weGVsaW51eC4wIgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9LyR7QlBOfS9jb20zMi9saWIqJHtTT0xJQlN9ICR7ZGF0YWRpcn0vJHtCUE59L2NvbTMyL2luY2x1ZGUgJHtkYXRhZGlyfS8ke0JQTn0vY29tMzIvY29tMzIubGQiCi1GSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7ZGF0YWRpcn0vJHtCUE59L2NvbTMyL2xpYiouYSAke2xpYmRpcn0vJHtCUE59L2NvbTMyL2xpYiouYSIKLUZJTEVTXyR7UE59LW1pc2MgPSAiJHtkYXRhZGlyfS8ke0JQTn0vKiAke2xpYmRpcn0vJHtCUE59LyogJHtiaW5kaXJ9LyoiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4XzYuMDQtcHJlMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4XzYuMDQtcHJlMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42N2U1ZDU3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXhfNi4wNC1wcmUyLmJiCkBAIC0wLDAgKzEsOTEgQEAKK1NVTU1BUlkgPSAiTXVsdGktcHVycG9zZSBsaW51eCBib290bG9hZGVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zeXNsaW51eC5vcmcvIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTM1O2VuZGxpbmU9NDE7bWQ1PTU1OGYyYzcxY2IxZmI5YmE1MTFjY2Q0ODU4ZTQ4ZThhIgorCisjIElmIHlvdSByZWFsbHkgd2FudCB0byBydW4gc3lzbGludXgsIHlvdSBuZWVkIG10b29scy4gIFdlIGp1c3Qgd2FudCB0aGUKKyMgbGRsaW51eC4qIHN0dWZmIGZvciBub3csIHNvIHNraXAgbXRvb2xzLW5hdGl2ZQorREVQRU5EUyA9ICJuYXNtLW5hdGl2ZSB1dGlsLWxpbnV4IGUyZnNwcm9ncyIKK1BWID0gIjYuMDQtcHJlMiIKKworU1JDX1VSSSA9ICJodHRwczovL3d3dy56eXRvci5jb20vcHViL3N5c2xpbnV4L1Rlc3RpbmcvNi4wNC9zeXNsaW51eC0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vc3lzbGludXgtcmVtb3ZlLWNsZWFuLXNjcmlwdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxpbnV4LXN5c2xpbnV4LXN1cHBvcnQtZXh0Mi0zLTQtZGV2aWNlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItbGludXgtc3lzbGludXgtaW1wbGVtZW50LW9wZW5fZXh0Ml9mcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLWxpbnV4LXN5c2xpbnV4LWltcGxlbWVudC1pbnN0YWxsX3RvX2V4dDIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1saW51eC1zeXNsaW51eC1hZGQtZXh0X2ZpbGVfcmVhZC1hbmQtZXh0X2ZpbGVfd3JpdGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1saW51eC1zeXNsaW51eC1pbXBsZW1lbnQtaGFuZGxlX2Fkdl9vbl9leHQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1saW51eC1zeXNsaW51eC1pbXBsZW1lbnQtd3JpdGVfdG9fZXh0LWFuZC1hZGQtc3lzbGluLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDctbGludXgtc3lzbGludXgtaW1wbGVtZW50LWV4dF9jb25zdHJ1Y3Rfc2VjdG1hcF9mcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA4LWxpYmluc3RhbGxlci1zeXNsaW51eGV4dC1pbXBsZW1lbnQtc3lzbGludXhfcGF0Y2hfYm8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOS1saW51eC1zeXNsaW51eC1pbXBsZW1lbnQtaW5zdGFsbF9ib290YmxvY2sucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1pbnN0YWxsLWRvbi10LWluc3RhbGwtb2Jzb2xldGUtZmlsZS1jb20zMi5sZC5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjJiMzFjNzhmMDg3Zjk5MTc5ZmViMzU3ZGEzMTJkN2VjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ0NDFhNWQ1OTNmODViYjZlOGQ1NzhjZjY2NTNmYjRlYzMwZjllOGY0YTIzMTVhM2Q4ZjJkMGE4YjNmYWRmOTQiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL3d3dy56eXRvci5jb20vcHViL3N5c2xpbnV4LyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInN5c2xpbnV4LSg/UDxwdmVyPi4rKVwudGFyIgorVVBTVFJFQU1fVkVSU0lPTl9VTktOT1dOID0gIjEiCisKK0NPTVBBVElCTEVfSE9TVCA9ICcoeDg2XzY0fGkuODYpLiotKGxpbnV4fGZyZWVic2QuKiknCisjIERvbid0IGxldCB0aGUgc2FuaXR5IGNoZWNrZXIgdHJpcCBvbiB0aGUgMzIgYml0IHJlYWwgbW9kZSBCSU9TIGJpbmFyaWVzCitJTlNBTkVfU0tJUF8ke1BOfS1taXNjID0gImFyY2giCitJTlNBTkVfU0tJUF8ke1BOfS1jaGFpbiA9ICJhcmNoIgorCitFWFRSQV9PRU1BS0UgPSAiIFwKKwlCSU5ESVI9JHtiaW5kaXJ9IFNCSU5ESVI9JHtzYmluZGlyfSBMSUJESVI9JHtsaWJkaXJ9IFwKKwlEQVRBRElSPSR7ZGF0YWRpcn0gTUFORElSPSR7bWFuZGlyfSBJTkNESVI9JHtpbmNsdWRlZGlyfSBcCisiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKwkjIGRyb3Agd2luMzIgdGFyZ2V0cyBvciBidWlsZCBmYWlscworCXNlZCAtZSAncyx3aW4zMi9cUyosLGcnIC1pIE1ha2VmaWxlCisKKwkjIGNsZWFuIGluc3RhbGxlciBleGVjdXRhYmxlcyBpbmNsdWRlZCBpbiBzb3VyY2UgdGFyYmFsbAorCW9lX3J1bm1ha2UgY2xlYW4gZmlybXdhcmU9ImVmaTMyIiBFRklJTkM9IiR7aW5jbHVkZWRpcn0iCisJIyBOT1RFOiBUaGVyZSBpcyBhIHRlbXBvcmFyeSB3b3JrIGFyb3VuZCBhYm92ZSB0byBzcGVjaWZ5CisJIwl0aGUgZWZpMzIgYXMgdGhlIGZpcm13YXJlIGVsc2UgdGhlIHByZS1idWlsdCBiaW9zCisJIwlmaWxlcyBnZXQgZXJhc2VkIGNvbnRyYXJ5IHRvIHRoZSBkb2MvZGlzdGliLnR4dAorCSMJSW4gdGhlIGZ1dHVyZSB0aGlzIHNob3VsZCBiZSAiYmlvcyIgYW5kIG5vdCAiZWZpMzIiLgorfQorCitkb19jb21waWxlKCkgeworCSMgTWFrZSBzdXJlIHRoZSByZWNvbXBpbGUgaXMgT0suCisJIyBUaG91Z2ggdGhlICR7Qn0gc2hvdWxkIGFsd2F5cyBleGlzdCwgc3RpbGwgY2hlY2sgaXQgYmVmb3JlIGZpbmQgYW5kIHJtLgorCVsgLWQgIiR7Qn0iIF0gJiYgZmluZCAke0J9IC1uYW1lICcuKi5kJyAtdHlwZSBmIC1leGVjIHJtIC1mIHt9IFw7CisKKwkjIFJlYnVpbGQgb25seSB0aGUgaW5zdGFsbGVyOyBrZWVwIHByZWNvbXBpbGVkIGJvb3Rsb2FkZXJzCisJIyBhcyBwZXIgYXV0aG9yJ3MgcmVxdWVzdCAoZG9jL2Rpc3RyaWIudHh0KQorCW9lX3J1bm1ha2UgQ0M9IiR7Q0N9ICR7Q0ZMQUdTfSIgTEQ9IiR7TER9IiBMREZMQUdTPSIke0xERkxBR1N9IiBmaXJtd2FyZT0iYmlvcyIgaW5zdGFsbGVyCit9CisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSBDQz0iJHtDQ30gJHtDRkxBR1N9IiBMRD0iJHtMRH0iIGZpcm13YXJlPSJiaW9zIiBpbnN0YWxsIElOU1RBTExST09UPSIke0R9IgorCisJaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9zeXNsaW51eC8KKwlpbnN0YWxsIC1tIDY0NCAke1N9L2Jpb3MvY29yZS9sZGxpbnV4LnN5cyAke0R9JHtkYXRhZGlyfS9zeXNsaW51eC8KKwlpbnN0YWxsIC1tIDY0NCAke1N9L2Jpb3MvY29yZS9sZGxpbnV4LmJzcyAke0R9JHtkYXRhZGlyfS9zeXNsaW51eC8KKwlpbnN0YWxsIC1tIDc1NSAke1N9L2Jpb3MvbGludXgvc3lzbGludXgtbm9tdG9vbHMgJHtEfSR7YmluZGlyfS8KK30KKworUEFDS0FHRVMgKz0gIiR7UE59LW5vbXRvb2xzICR7UE59LWV4dGxpbnV4ICR7UE59LW1iciAke1BOfS1jaGFpbiAke1BOfS1weGVsaW51eCAke1BOfS1pc29saW51eCAke1BOfS1taXNjIgorCitSREVQRU5EU18ke1BOfSArPSAibXRvb2xzIgorUkRFUEVORFNfJHtQTn0tbm9tdG9vbHMgKz0gImxpYmV4dDJmcyIKK1JERVBFTkRTXyR7UE59LW1pc2MgKz0gInBlcmwiCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS9zeXNsaW51eCIKK0ZJTEVTXyR7UE59LW5vbXRvb2xzID0gIiR7YmluZGlyfS9zeXNsaW51eC1ub210b29scyIKK0ZJTEVTXyR7UE59LWV4dGxpbnV4ID0gIiR7c2JpbmRpcn0vZXh0bGludXgiCitGSUxFU18ke1BOfS1tYnIgPSAiJHtkYXRhZGlyfS8ke0JQTn0vbWJyLmJpbiIKK0ZJTEVTXyR7UE59LWNoYWluID0gIiR7ZGF0YWRpcn0vJHtCUE59L2NoYWluLmMzMiIKK0ZJTEVTXyR7UE59LWlzb2xpbnV4ID0gIiR7ZGF0YWRpcn0vJHtCUE59L2lzb2xpbnV4LmJpbiIKK0ZJTEVTXyR7UE59LXB4ZWxpbnV4ID0gIiR7ZGF0YWRpcn0vJHtCUE59L3B4ZWxpbnV4LjAiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vJHtCUE59L2NvbTMyL2xpYioke1NPTElCU30gJHtkYXRhZGlyfS8ke0JQTn0vY29tMzIvaW5jbHVkZSAke2RhdGFkaXJ9LyR7QlBOfS9jb20zMi9jb20zMi5sZCIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtkYXRhZGlyfS8ke0JQTn0vY29tMzIvbGliKi5hICR7bGliZGlyfS8ke0JQTn0vY29tMzIvbGliKi5hIgorRklMRVNfJHtQTn0tbWlzYyA9ICIke2RhdGFkaXJ9LyR7QlBOfS8qICR7bGliZGlyfS8ke0JQTn0vKiAke2JpbmRpcn0vKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNmLWFnZW50L3RjZi1hZ2VudF9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy90Y2YtYWdlbnQvdGNmLWFnZW50X2dpdC5iYgppbmRleCBkOTAxYzE4Li5iNGJkNGNhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy90Y2YtYWdlbnQvdGNmLWFnZW50X2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy90Y2YtYWdlbnQvdGNmLWFnZW50X2dpdC5iYgpAQCAtNDEsNiArNDEsNyBAQAogCiAjIFRoZXNlIGZlYXR1cmVzIGRvbid0IGNvbXBpbGUgZm9yIHNldmVyYWwgY2FzZXMuCiAjCitDRkxBR1NfYXBwZW5kX2FyYyA9ICIgJHtMQ0xfU1RPUF9TRVJWSUNFU30iCiBDRkxBR1NfYXBwZW5kX21pcHMgPSAiICR7TENMX1NUT1BfU0VSVklDRVN9IgogQ0ZMQUdTX2FwcGVuZF9taXBzNjQgPSAiICR7TENMX1NUT1BfU0VSVklDRVN9IgogQ0ZMQUdTX2FwcGVuZF9saWJjLW11c2wgPSAiICR7TENMX1NUT1BfU0VSVklDRVN9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGNsL3J1bi1wdGVzdCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RjbC9ydW4tcHRlc3QKaW5kZXggZGFkYmE2NS4uMjJiYjY5YSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGNsL3J1bi1wdGVzdAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90Y2wvcnVuLXB0ZXN0CkBAIC0xLDggKzEsMTMgQEAKICMhL2Jpbi9zaAogCi1mb3IgaSBpbiBgbHMgdGVzdHMvKi50ZXN0IHxhd2sgLUYvICd7cHJpbnQgJDJ9J2A7IFwKLSAgICBkbyBUQ0xfTElCUkFSWT1saWJyYXJ5IC4vdGNsdGVzdCB0ZXN0cy9hbGwudGNsIC1maWxlICRpID4kaS50bXAgMj4mMTsgXAotICAgIGdyZXAgLXEgIl5GaWxlcyB3aXRoIGZhaWxpbmcgdGVzdHM6IiAkaS50bXA7IFwKLSAgICBpZiBbICQ/IC1lcSAwIF07IHRoZW4gZWNobyAiRkFJTDogJGkiOyBcCi0gICAgZWxzZSBlY2hvICJQQVNTOiAkaSI7IHJtIC1mICRpLnRtcDsgZmk7IFwKK2ZvciBpIGluIGBscyB0ZXN0cy8qLnRlc3QgfCBhd2sgLUYvICd7cHJpbnQgJDJ9J2A7IGRvCisgICAgVENMX0xJQlJBUlk9bGlicmFyeSAuL3RjbHRlc3QgdGVzdHMvYWxsLnRjbCAtZmlsZSAkaSA+JGkubG9nIDI+JjEKKyAgICBncmVwIC1xICJeRmlsZXMgd2l0aCBmYWlsaW5nIHRlc3RzOiIgJGkubG9nCisgICAgaWYgWyAkPyAtZXEgMCBdOyB0aGVuCisgICAgICAgIGVjaG8gIkZBSUw6ICRpIgorICAgICAgICBjYXQgJGkubG9nCisgICAgZWxzZQorICAgICAgICBlY2hvICJQQVNTOiAkaSIKKyAgICBmaQorICAgIHJtIC1mICRpLmxvZwogZG9uZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGNsXzguNi44LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGNsXzguNi44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YmUyZTg5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RjbF84LjYuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi1TVU1NQVJZID0gIlRvb2wgQ29tbWFuZCBMYW5ndWFnZSIKLUhPTUVQQUdFID0gImh0dHA6Ly90Y2wuc291cmNlZm9yZ2UubmV0IgotU0VDVElPTiA9ICJkZXZlbC90Y2x0ayIKLQotIyBodHRwOi8vd3d3LnRjbC50ay9zb2Z0d2FyZS90Y2x0ay9saWNlbnNlLmh0bWwKLUxJQ0VOU0UgPSAidGNsICYgQlNELTMtQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAotICAgIGZpbGU6Ly8uLi9jb21wYXQvbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAotICAgIGZpbGU6Ly8uLi9saWJyYXJ5L2xpY2Vuc2UudGVybXM7bWQ1PTA1OGY2MjI5Nzk4MjgxYmJjYWM0MjM5Yzc4OGNmYTM4IFwKLSAgICBmaWxlOi8vLi4vbWFjb3N4L2xpY2Vuc2UudGVybXM7bWQ1PTA1OGY2MjI5Nzk4MjgxYmJjYWM0MjM5Yzc4OGNmYTM4IFwKLSAgICBmaWxlOi8vLi4vdGVzdHMvbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAotICAgIGZpbGU6Ly8uLi93aW4vbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAotIgotCi1ERVBFTkRTID0gInRjbC1uYXRpdmUgemxpYiIKLQotQkFTRV9TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS90Y2wvJHtCUE59JHtQVn0tc3JjLnRhci5neiBcCi0gICAgICAgICAgICAgICAgZmlsZTovL3RjbC1hZGQtc29uYW1lLnBhdGNoIgotU1JDX1VSSSA9ICIke0JBU0VfU1JDX1VSSX0gXAotICAgICAgICAgICBmaWxlOi8vZml4X25vbl9uYXRpdmVfYnVpbGRfaXNzdWUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZml4X2lzc3VlX3dpdGhfb2xkX2Rpc3Ryb19nbGliYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ub19wYWNrYWdlcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly90Y2wtcmVtb3ZlLWhhcmRjb2RlZC1pbnN0YWxsLXBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vYWx0ZXItaW5jbHVkZWRpci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotIgotU1JDX1VSSVttZDVzdW1dID0gIjgxNjU2ZDMzNjdhZjAzMmUwYWU2MTU3ZWZmMTM0Zjg5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0M2NiMGMxNTE4Y2U0MmIwMGU3YzhmNmVhZGRkNTE5NWM1M2E5OGY5NGFkYzcxNzIzNGE2NWNiY2ZkM2Y5NmEiCi0KLVNSQ19VUklfY2xhc3MtbmF0aXZlID0gIiR7QkFTRV9TUkNfVVJJfSIKLQotUyA9ICIke1dPUktESVJ9LyR7QlBOfSR7UFZ9L3VuaXgiCi0KLVZFUiA9ICIke1BWfSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcHRlc3QgYmluY29uZmlnCi0KLUVYVFJBX09FQ09ORiA9ICItLWVuYWJsZS10aHJlYWRzIC0tZGlzYWJsZS1ycGF0aCAtLWxpYmRpcj0ke2xpYmRpcn0iCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLQllY2hvID4gJHtTfS8uLi9jb21wYXQvZml4c3RydG9kLmMKLX0KLQotZG9faW5zdGFsbCgpIHsKLQlhdXRvdG9vbHNfZG9faW5zdGFsbAotCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbC1wcml2YXRlLWhlYWRlcnMKLQlsbiAtc2YgLi90Y2xzaCR7VkVSfSAke0R9JHtiaW5kaXJ9L3RjbHNoCi0JbG4gLXNmIHRjbHNoOC42ICR7RH0ke2JpbmRpcn0vdGNsc2gke1ZFUn0KLQlzZWQgLWkgInM7LUwke0J9Oy1MJHtTVEFHSU5HX0xJQkRJUn07ZyIgdGNsQ29uZmlnLnNoCi0Jc2VkIC1pICJzOycke1dPUktESVJ9Oycke1NUQUdJTkdfSU5DRElSfTtnIiB0Y2xDb25maWcuc2gKLQlpbnN0YWxsIC1kICR7RH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9Ci0JaW5zdGFsbCAtbSAwNzU1IHRjbENvbmZpZy5zaCAke0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfQotCWluc3RhbGwgLW0gMDc1NSB0Y2xDb25maWcuc2ggJHtEfSR7bGliZGlyfQotCWZvciBkaXIgaW4gY29tcGF0IGdlbmVyaWMgdW5peDsgZG8KLQkJaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS8ke0JQTn0ke1ZFUn0vJGRpcgotCQlpbnN0YWxsIC1tIDA2NDQgJHtTfS8uLi8kZGlyLyouaCAke0R9JHtpbmNsdWRlZGlyfS8ke0JQTn0ke1ZFUn0vJGRpci8KLQlkb25lCi19Ci0KLVNZU1JPT1RfRElSUyArPSAiJHtiaW5kaXJfY3Jvc3NzY3JpcHRzfSIKLQotUEFDS0FHRVMgPSsgInRjbC1saWIiCi1GSUxFU190Y2wtbGliID0gIiR7bGliZGlyfS9saWJ0Y2w4LjYuc28uKiIKLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vdGNsJHtWRVJ9ICR7bGliZGlyfS90Y2w4LjYgJHtsaWJkaXJ9L3RjbDgiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS90Y2xDb25maWcuc2ggJHtsaWJkaXJ9L3RjbG9vQ29uZmlnLnNoIgotCi0jIGlzbid0IGdldHRpbmcgcGlja2VkIHVwIGJ5IHNobGlicyBjb2RlCi1SREVQRU5EU18ke1BOfSArPSAidGNsLWxpYiIKLVJERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAibGliZ2NjIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLWRvX2NvbXBpbGVfcHRlc3QoKSB7Ci0Jb2VfcnVubWFrZSB0Y2x0ZXN0Ci19Ci0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0JY3AgJHtCfS90Y2x0ZXN0ICR7RH0ke1BURVNUX1BBVEh9Ci0JY3AgLXIgJHtTfS8uLi9saWJyYXJ5ICR7RH0ke1BURVNUX1BBVEh9Ci0JY3AgLXIgJHtTfS8uLi90ZXN0cyAke0R9JHtQVEVTVF9QQVRIfQotfQotCi0jIEZpeCBzb21lIHBhdGhzIHRoYXQgbWlnaHQgYmUgdXNlZCBieSBUY2wgZXh0ZW5zaW9ucwotQklOQ09ORklHX0dMT0IgPSAiKkNvbmZpZy5zaCIKLQotIyBGaXggdGhlIHBhdGggaW4gc3N0YXRlCi1TU1RBVEVfU0NBTl9GSUxFUyArPSAiKkNvbmZpZy5zaCIKLQotIyBDbGVhbnVwIGhvc3QgcGF0aCBmcm9tICR7bGliZGlyfS90Y2xDb25maWcuc2ggYW5kIHJlbW92ZSB0aGUKLSMgJHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS90Y2xDb25maWcuc2ggZnJvbSB0YXJnZXQKLVBBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAidGNsX3BhY2thZ2VfcHJlcHJvY2VzcyIKLXRjbF9wYWNrYWdlX3ByZXByb2Nlc3MoKSB7Ci0Jc2VkIC1pIC1lICJzOyR7REVCVUdfUFJFRklYX01BUH07O2ciIFwKLQkgICAgICAgLWUgInM7LUwke1NUQUdJTkdfTElCRElSfTstTCR7bGliZGlyfTtnIiBcCi0JICAgICAgIC1lICJzOyR7U1RBR0lOR19JTkNESVJ9OyR7aW5jbHVkZWRpcn07ZyIgXAotCSAgICAgICAtZSAiczstLXN5c3Jvb3Q9JHtSRUNJUEVfU1lTUk9PVH07O2ciIFwKLQkgICAgICAgJHtQS0dEfSR7bGliZGlyfS90Y2xDb25maWcuc2gKLQotCXJtIC1mICR7UEtHRH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9L3RjbENvbmZpZy5zaAotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGNsXzguNi45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGNsXzguNi45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmMzc3ODEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90Y2xfOC42LjkuYmIKQEAgLTAsMCArMSwxMDEgQEAKK1NVTU1BUlkgPSAiVG9vbCBDb21tYW5kIExhbmd1YWdlIgorSE9NRVBBR0UgPSAiaHR0cDovL3RjbC5zb3VyY2Vmb3JnZS5uZXQiCitTRUNUSU9OID0gImRldmVsL3RjbHRrIgorCisjIGh0dHA6Ly93d3cudGNsLnRrL3NvZnR3YXJlL3RjbHRrL2xpY2Vuc2UuaHRtbAorTElDRU5TRSA9ICJ0Y2wgJiBCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9saWNlbnNlLnRlcm1zO21kNT0wNThmNjIyOTc5ODI4MWJiY2FjNDIzOWM3ODhjZmEzOCBcCisgICAgZmlsZTovLy4uL2NvbXBhdC9saWNlbnNlLnRlcm1zO21kNT0wNThmNjIyOTc5ODI4MWJiY2FjNDIzOWM3ODhjZmEzOCBcCisgICAgZmlsZTovLy4uL2xpYnJhcnkvbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAorICAgIGZpbGU6Ly8uLi9tYWNvc3gvbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAorICAgIGZpbGU6Ly8uLi90ZXN0cy9saWNlbnNlLnRlcm1zO21kNT0wNThmNjIyOTc5ODI4MWJiY2FjNDIzOWM3ODhjZmEzOCBcCisgICAgZmlsZTovLy4uL3dpbi9saWNlbnNlLnRlcm1zO21kNT0wNThmNjIyOTc5ODI4MWJiY2FjNDIzOWM3ODhjZmEzOCBcCisiCisKK0RFUEVORFMgPSAidGNsLW5hdGl2ZSB6bGliIgorCitCQVNFX1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3RjbC8ke0JQTn0ke1BWfS1zcmMudGFyLmd6IFwKKyAgICAgICAgICAgICAgICBmaWxlOi8vdGNsLWFkZC1zb25hbWUucGF0Y2giCitTUkNfVVJJID0gIiR7QkFTRV9TUkNfVVJJfSBcCisgICAgICAgICAgIGZpbGU6Ly9maXhfbm9uX25hdGl2ZV9idWlsZF9pc3N1ZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXhfaXNzdWVfd2l0aF9vbGRfZGlzdHJvX2dsaWJjLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25vX3BhY2thZ2VzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3RjbC1yZW1vdmUtaGFyZGNvZGVkLWluc3RhbGwtcGF0aC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hbHRlci1pbmNsdWRlZGlyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiYWEwYTEyMWQ5NWEwZTdiNzNhMDM2ZjI2MDI4NTM4ZDQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWQwY2QyZGUyYzg3YjliYTgwODZiNDM5NTdhMGRlM2ViMmViNTY1YzcxNTlkNWY1M2NjYmJhM2ZlYjkxNWY0ZSIKKworU1JDX1VSSV9jbGFzcy1uYXRpdmUgPSAiJHtCQVNFX1NSQ19VUkl9IgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59JHtQVn0vdW5peCIKKworVkVSID0gIiR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyBwdGVzdCBiaW5jb25maWcKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXRocmVhZHMgLS1kaXNhYmxlLXJwYXRoIC0tbGliZGlyPSR7bGliZGlyfSIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworCWVjaG8gPiAke1N9Ly4uL2NvbXBhdC9maXhzdHJ0b2QuYworfQorCitkb19pbnN0YWxsKCkgeworCWF1dG90b29sc19kb19pbnN0YWxsCisJb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsLXByaXZhdGUtaGVhZGVycworCWxuIC1zZiAuL3RjbHNoJHtWRVJ9ICR7RH0ke2JpbmRpcn0vdGNsc2gKKwlsbiAtc2YgdGNsc2g4LjYgJHtEfSR7YmluZGlyfS90Y2xzaCR7VkVSfQorCXNlZCAtaSAiczstTCR7Qn07LUwke1NUQUdJTkdfTElCRElSfTtnIiB0Y2xDb25maWcuc2gKKwlzZWQgLWkgInM7JyR7V09SS0RJUn07JyR7U1RBR0lOR19JTkNESVJ9O2ciIHRjbENvbmZpZy5zaAorCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30KKwlpbnN0YWxsIC1tIDA3NTUgdGNsQ29uZmlnLnNoICR7RH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9CisJaW5zdGFsbCAtbSAwNzU1IHRjbENvbmZpZy5zaCAke0R9JHtsaWJkaXJ9CisJZm9yIGRpciBpbiBjb21wYXQgZ2VuZXJpYyB1bml4OyBkbworCQlpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9LyR7QlBOfSR7VkVSfS8kZGlyCisJCWluc3RhbGwgLW0gMDY0NCAke1N9Ly4uLyRkaXIvKi5oICR7RH0ke2luY2x1ZGVkaXJ9LyR7QlBOfSR7VkVSfS8kZGlyLworCWRvbmUKK30KKworU1lTUk9PVF9ESVJTICs9ICIke2JpbmRpcl9jcm9zc3NjcmlwdHN9IgorCitQQUNLQUdFUyA9KyAidGNsLWxpYiIKK0ZJTEVTX3RjbC1saWIgPSAiJHtsaWJkaXJ9L2xpYnRjbDguNi5zby4qIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS90Y2wke1ZFUn0gJHtsaWJkaXJ9L3RjbDguNiAke2xpYmRpcn0vdGNsOCIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3RjbENvbmZpZy5zaCAke2xpYmRpcn0vdGNsb29Db25maWcuc2giCisKKyMgaXNuJ3QgZ2V0dGluZyBwaWNrZWQgdXAgYnkgc2hsaWJzIGNvZGUKK1JERVBFTkRTXyR7UE59ICs9ICJ0Y2wtbGliIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJsaWJnY2MiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKwlvZV9ydW5tYWtlIHRjbHRlc3QKK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKwljcCAke0J9L3RjbHRlc3QgJHtEfSR7UFRFU1RfUEFUSH0KKwljcCAtciAke1N9Ly4uL2xpYnJhcnkgJHtEfSR7UFRFU1RfUEFUSH0KKwljcCAtciAke1N9Ly4uL3Rlc3RzICR7RH0ke1BURVNUX1BBVEh9Cit9CisKKyMgRml4IHNvbWUgcGF0aHMgdGhhdCBtaWdodCBiZSB1c2VkIGJ5IFRjbCBleHRlbnNpb25zCitCSU5DT05GSUdfR0xPQiA9ICIqQ29uZmlnLnNoIgorCisjIEZpeCB0aGUgcGF0aCBpbiBzc3RhdGUKK1NTVEFURV9TQ0FOX0ZJTEVTICs9ICIqQ29uZmlnLnNoIgorCisjIENsZWFudXAgaG9zdCBwYXRoIGZyb20gJHtsaWJkaXJ9L3RjbENvbmZpZy5zaCBhbmQgcmVtb3ZlIHRoZQorIyAke2JpbmRpcl9jcm9zc3NjcmlwdHN9L3RjbENvbmZpZy5zaCBmcm9tIHRhcmdldAorUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTICs9ICJ0Y2xfcGFja2FnZV9wcmVwcm9jZXNzIgordGNsX3BhY2thZ2VfcHJlcHJvY2VzcygpIHsKKwlzZWQgLWkgLWUgInM7JHtERUJVR19QUkVGSVhfTUFQfTs7ZyIgXAorCSAgICAgICAtZSAiczstTCR7U1RBR0lOR19MSUJESVJ9Oy1MJHtsaWJkaXJ9O2ciIFwKKwkgICAgICAgLWUgInM7JHtTVEFHSU5HX0lOQ0RJUn07JHtpbmNsdWRlZGlyfTtnIiBcCisJICAgICAgIC1lICJzOy0tc3lzcm9vdD0ke1JFQ0lQRV9TWVNST09UfTs7ZyIgXAorCSAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3RjbENvbmZpZy5zaAorCisJcm0gLWYgJHtQS0dEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vdGNsQ29uZmlnLnNoCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxhL3ZhbGEvZGlzYWJsZS1ncmFwaHZpei5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEvdmFsYS9kaXNhYmxlLWdyYXBodml6LnBhdGNoCmluZGV4IDQ3NzUwNGQuLmU1MjFiYzggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEvdmFsYS9kaXNhYmxlLWdyYXBodml6LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEvdmFsYS9kaXNhYmxlLWdyYXBodml6LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA1N2Y2YjY2MWQ3ODY1ZThjZWNkMTdiZTM2ZmFiNjhmN2Y4NDQ3OTk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiMjcyM2ZmMThiNzBjNjdjOGE3ZmFiNTM3NWE3ZjNjNDQyZDQ5NzkwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUuY29tPgogRGF0ZTogV2VkLCA2IFNlcCAyMDE3IDE4OjUyOjU1ICswMjAwCiBTdWJqZWN0OiBbUEFUQ0hdIGxpYnZhbGFkb2M6IEFsbG93IGRpc2FibGluZyB0aGUgZ3JhcGh2aXogZGVwZW5kZW5jeSBvZgpAQCAtMTAsMTAgKzEwLDEwIEBACiBVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbYnVnemlsbGEgbGluayBhYm92ZV0KIAogLS0tCi0gY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICAgICAgICB8IDYwICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCi0gbGlidmFsYWRvYy9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICB8IDI1ICsrKysrKysrKysrLS0tLQotIGxpYnZhbGFkb2MvaHRtbC9iYXNpY2RvY2xldC52YWxhICAgICAgfCAgOCArKysrKwotIGxpYnZhbGFkb2MvaHRtbC9odG1sbWFya3Vwd3JpdGVyLnZhbGEgfCAgNCArKysKKyBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNjAgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCisgbGlidmFsYWRvYy9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICB8IDI1ICsrKysrKysrLS0tCisgbGlidmFsYWRvYy9odG1sL2Jhc2ljZG9jbGV0LnZhbGEgICAgICB8ICA4ICsrKysKKyBsaWJ2YWxhZG9jL2h0bWwvaHRtbG1hcmt1cHdyaXRlci52YWxhIHwgIDQgKysKICA0IGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCkBAIC04OCwxMCArODgsMTAgQEAKICAKICBBQ19QQVRIX1BST0coW1hTTFRQUk9DXSwgW3hzbHRwcm9jXSwgOikKIGRpZmYgLS1naXQgYS9saWJ2YWxhZG9jL01ha2VmaWxlLmFtIGIvbGlidmFsYWRvYy9NYWtlZmlsZS5hbQotaW5kZXggMzg0MjkyZi4uY2NlNTBkOCAxMDA2NDQKK2luZGV4IGYzZjc5MGUuLjNjNWRjNGMgMTAwNjQ0CiAtLS0gYS9saWJ2YWxhZG9jL01ha2VmaWxlLmFtCiArKysgYi9saWJ2YWxhZG9jL01ha2VmaWxlLmFtCi1AQCAtMTI2LDEwICsxMjYsNiBAQCBsaWJ2YWxhZG9jX2xhX1ZBTEFTT1VSQ0VTID0gXAorQEAgLTEyOCwxMCArMTI4LDYgQEAgbGlidmFsYWRvY19sYV9WQUxBU09VUkNFUyA9IFwKICAJY29udGVudC90YWJsZXJvdy52YWxhIFwKICAJY29udGVudC90YWdsZXQudmFsYSBcCiAgCWNvbnRlbnQvdGV4dC52YWxhIFwKQEAgLTEwMiw3ICsxMDIsNyBAQAogIAlwYXJzZXIvbWFueXJ1bGUudmFsYSBcCiAgCXBhcnNlci9vbmVvZnJ1bGUudmFsYSBcCiAgCXBhcnNlci9vcHRpb25hbHJ1bGUudmFsYSBcCi1AQCAtMTU2LDEzICsxNTIsMjQgQEAgbGlidmFsYWRvY19sYV9WQUxBU09VUkNFUyA9IFwKK0BAIC0xNTgsMTMgKzE1NCwyNCBAQCBsaWJ2YWxhZG9jX2xhX1ZBTEFTT1VSQ0VTID0gXAogIAloaWdobGlnaHRlci9jb2RldG9rZW4udmFsYSBcCiAgCWhpZ2hsaWdodGVyL2hpZ2hsaWdodGVyLnZhbGEgXAogIAlodG1sL2Jhc2ljZG9jbGV0LnZhbGEgXApAQCAtMTI4LDE4ICsxMjgsMjAgQEAKICBsaWJ2YWxhZG9jQFBBQ0tBR0VfU1VGRklYQF9sYV9TT1VSQ0VTID0gXAogIAlsaWJ2YWxhZG9jLnZhbGEuc3RhbXAgXAogIAkkKGxpYnZhbGFkb2NfbGFfVkFMQVNPVVJDRVM6LnZhbGE9LmMpIFwKLUBAIC0xODIsOSArMTg5LDkgQEAgbGlidmFsYWRvYy52YWxhLnN0YW1wOiAkKGxpYnZhbGFkb2NfbGFfVkFMQVNPVVJDRVMpCitAQCAtMTg0LDExICsxOTEsMTEgQEAgbGlidmFsYWRvYy52YWxhLnN0YW1wOiAkKGxpYnZhbGFkb2NfbGFfVkFMQVNPVVJDRVMpCiAgCQktLWxpYnJhcnkgdmFsYWRvYyBcCiAgCQktLXZhcGkgdmFsYWRvY0BQQUNLQUdFX1NVRkZJWEAudmFwaSBcCiAgCQktLXZhcGlkaXIgJCh0b3Bfc3JjZGlyKS92YXBpIC0tcGtnIGdtb2R1bGUtMi4wIFwKIC0JCS0tdmFwaWRpciAkKHRvcF9zcmNkaXIpL3ZhcGkgLS1wa2cgbGliZ3ZjIFwKICAJCS0tdmFwaWRpciAkKHRvcF9zcmNkaXIpL2dlZSAtLXBrZyBnZWUgXAogIAkJLS12YXBpZGlyICQodG9wX3NyY2RpcikvdmFsYSAtLXBrZyB2YWxhIFwKKyAJCS0tdmFwaWRpciAkKHRvcF9zcmNkaXIpL2Njb2RlIC0tcGtnIGNjb2RlIFwKKyAJCS0tdmFwaWRpciAkKHRvcF9zcmNkaXIpL2NvZGVnZW4gLS1wa2cgY29kZWdlbiBcCiArCQkkKExJQkdWQ19QS0cpIFwKICAJCS0tcGtnIGNvbmZpZyBcCiAgCQkkKGZpbHRlciAlLnZhbGEgJS5jLCReKQogIAl0b3VjaCAkQAotQEAgLTIxMSw2ICsyMTgsOSBAQCBub2Rpc3RfcGtnY29uZmlnX0RBVEEgPSB2YWxhZG9jQFBBQ0tBR0VfU1VGRklYQC5wYworQEAgLTIxNyw2ICsyMjQsOSBAQCBub2Rpc3RfcGtnY29uZmlnX0RBVEEgPSB2YWxhZG9jQFBBQ0tBR0VfU1VGRklYQC5wYwogIAogIHZhbGFkb2NAUEFDS0FHRV9TVUZGSVhALnBjOiB2YWxhZG9jLnBjCiAgCWNwICQ8ICRACkBAIC0xNDksNyArMTUxLDcgQEAKICAKICB2YXBpZGlyID0gJChkYXRhZGlyKS92YWxhL3ZhcGkKICBkaXN0X3ZhcGlfREFUQSA9IHZhbGFkb2NAUEFDS0FHRV9TVUZGSVhALnZhcGkKLUBAIC0yMTgsNiArMjI4LDkgQEAgbm9kaXN0X3ZhcGlfREFUQSA9IHZhbGFkb2NAUEFDS0FHRV9TVUZGSVhALmRlcHMKK0BAIC0yMjQsNiArMjM0LDkgQEAgbm9kaXN0X3ZhcGlfREFUQSA9IHZhbGFkb2NAUEFDS0FHRV9TVUZGSVhALmRlcHMKICAKICB2YWxhZG9jQFBBQ0tBR0VfU1VGRklYQC5kZXBzOiB2YWxhZG9jLmRlcHMKICAJY3AgJDwgJEAKQEAgLTE2MCw3ICsxNjIsNyBAQAogIEVYVFJBX0RJU1QgPSBcCiAgCSQobGlidmFsYWRvY19sYV9WQUxBU09VUkNFUykgXAogZGlmZiAtLWdpdCBhL2xpYnZhbGFkb2MvaHRtbC9iYXNpY2RvY2xldC52YWxhIGIvbGlidmFsYWRvYy9odG1sL2Jhc2ljZG9jbGV0LnZhbGEKLWluZGV4IDM3YzczMWMuLmUwMzI2ZWYgMTAwNjQ0CitpbmRleCAxOTJlNDg4Li5lYzA5NjAyIDEwMDY0NAogLS0tIGEvbGlidmFsYWRvYy9odG1sL2Jhc2ljZG9jbGV0LnZhbGEKICsrKyBiL2xpYnZhbGFkb2MvaHRtbC9iYXNpY2RvY2xldC52YWxhCiBAQCAtNDYsNyArNDYsMTEgQEAgcHVibGljIGFic3RyYWN0IGNsYXNzIFZhbGFkb2MuSHRtbC5CYXNpY0RvY2xldCA6IEFwaS5WaXNpdG9yLCBEb2NsZXQgewpAQCAtMTg1LDcgKzE4Nyw3IEBACiAgCX0KICAKICAKLUBAIC0xMDI1LDYgKzEwMzEsNyBAQCBwdWJsaWMgYWJzdHJhY3QgY2xhc3MgVmFsYWRvYy5IdG1sLkJhc2ljRG9jbGV0IDogQXBpLlZpc2l0b3IsIERvY2xldCB7CitAQCAtMTAyNiw2ICsxMDMyLDcgQEAgcHVibGljIGFic3RyYWN0IGNsYXNzIFZhbGFkb2MuSHRtbC5CYXNpY0RvY2xldCA6IEFwaS5WaXNpdG9yLCBEb2NsZXQgewogIAl9CiAgCiAgCXByb3RlY3RlZCB2b2lkIHdyaXRlX2ltYWdlX2Jsb2NrIChBcGkuTm9kZSBlbGVtZW50KSB7CkBAIC0xOTMsNyArMTk1LDcgQEAKICAJCWlmIChlbGVtZW50IGlzIENsYXNzIHx8IGVsZW1lbnQgaXMgSW50ZXJmYWNlIHx8IGVsZW1lbnQgaXMgU3RydWN0KSB7CiAgCQkJdW5vd25lZCBzdHJpbmcgZm9ybWF0ID0gKHNldHRpbmdzLnVzZV9zdmdfaW1hZ2VzID8gInN2ZyIgOiAicG5nIik7CiAgCQkJdmFyIGNoYXJ0ID0gbmV3IENoYXJ0cy5IaWVyYXJjaHkgKGltYWdlX2ZhY3RvcnksIGVsZW1lbnQpOwotQEAgLTEwNDQsNiArMTA1MSw3IEBAIHB1YmxpYyBhYnN0cmFjdCBjbGFzcyBWYWxhZG9jLkh0bWwuQmFzaWNEb2NsZXQgOiBBcGkuVmlzaXRvciwgRG9jbGV0IHsKK0BAIC0xMDQ1LDYgKzEwNTIsNyBAQCBwdWJsaWMgYWJzdHJhY3QgY2xhc3MgVmFsYWRvYy5IdG1sLkJhc2ljRG9jbGV0IDogQXBpLlZpc2l0b3IsIERvY2xldCB7CiAgCQkJCQkJCQkJICAgdGhpcy5nZXRfaW1nX3BhdGhfaHRtbCAoZWxlbWVudCwgZm9ybWF0KX0pOwogIAkJCXdyaXRlci5hZGRfdXNlbWFwIChjaGFydCk7CiAgCQl9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxhL3ZhbGFfMC40Mi4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS92YWxhXzAuNDIuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmIwMmUwYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxhL3ZhbGFfMC40Mi4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotcmVxdWlyZSAke0JQTn0uaW5jCi0KLVNSQ19VUkkgKz0gIiBmaWxlOi8vMDAwMS1naXQtdmVyc2lvbi1nZW4tZG9uLXQtYXBwZW5kLWRpcnR5LWlmLXdlLXJlLW5vdC1pbi1nLnBhdGNoIFwKLSAgICAgICAgICAgICBmaWxlOi8vMDAwMS12YXBpZ2VuLm00LXVzZS1QS0dfQ09ORklHX1NZU1JPT1RfRElSLnBhdGNoIFwKLQkgICAgIGZpbGU6Ly9kaXNhYmxlLWdyYXBodml6LnBhdGNoIFwKLQkgICAgIGZpbGU6Ly8wMDAxLURpc2FibGUtdmFsYWRvYy5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJhYTZlYjgwOTdkMjViNTg0N2FkM2ZhYjM0YzBmZjg2NSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2MmE1NTk4NmRhMjNjZjNhYWFmZDc2MjRjMzJkYjJhMWFmMTFjODQxOWUwYmIwNzUxNzI3ZDEwZjFmN2FiN2JlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS92YWxhXzAuNDIuNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEvdmFsYV8wLjQyLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWVhMTc2NgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEvdmFsYV8wLjQyLjUuYmIKQEAgLTAsMCArMSwxMCBAQAorcmVxdWlyZSAke0JQTn0uaW5jCisKK1NSQ19VUkkgKz0gIiBmaWxlOi8vMDAwMS1naXQtdmVyc2lvbi1nZW4tZG9uLXQtYXBwZW5kLWRpcnR5LWlmLXdlLXJlLW5vdC1pbi1nLnBhdGNoIFwKKyAgICAgICAgICAgICBmaWxlOi8vMDAwMS12YXBpZ2VuLm00LXVzZS1QS0dfQ09ORklHX1NZU1JPT1RfRElSLnBhdGNoIFwKKwkgICAgIGZpbGU6Ly9kaXNhYmxlLWdyYXBodml6LnBhdGNoIFwKKwkgICAgIGZpbGU6Ly8wMDAxLURpc2FibGUtdmFsYWRvYy5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMjA0ZWI0ZmEyMTA5OTVlNzMxZTJhOWEwMWM4Yzc3MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4YzMzYjRhYmMwNTczZDM2NDc4MWJiZmU1NGExNjY4ZWQzNDk1NjkwMmU0NzExOTFhMzFjZjA1ZGM4N2M2ZTEyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS1GaXgtZGVwZW5kZW5jaWVzLWJldHdlZW4tbGliY29yZWdyaW5kLS5hLWFuZC1tX21haW4uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS1GaXgtZGVwZW5kZW5jaWVzLWJldHdlZW4tbGliY29yZWdyaW5kLS5hLWFuZC1tX21haW4uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZGYxYzEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZC8wMDAxLUZpeC1kZXBlbmRlbmNpZXMtYmV0d2Vlbi1saWJjb3JlZ3JpbmQtLmEtYW5kLW1fbWFpbi4ucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorRnJvbSA3ODIwZmMyNjhmYWU0MzUzMTE4YjYzNTVmMWQ0YjllMWI3ZWVlYmVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGhpbGlwcGUgV2Fyb3F1aWVycyA8cGhpbGlwcGUud2Fyb3F1aWVyc0Bza3luZXQuYmU+CitEYXRlOiBTdW4sIDI4IE9jdCAyMDE4IDE4OjM1OjExICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBkZXBlbmRlbmNpZXMgYmV0d2VlbiBsaWJjb3JlZ3JpbmQqLmEgYW5kCisgKm1fbWFpbi5vLyptX2xpYmNzZXRqbXAubworCitUaGUgcHJpbWFyeSBhbmQgc2Vjb25kYXJ5IGNvcmVncmluZCBsaWJyYXJpZXMgbXVzdCBiZSB1cGRhdGVkCit3aGVuIG1fbWFpbi5jIG9yIG1fbGliY3NldGptcC5jIGFyZSBjaGFuZ2VkLgorCitBIGRlcGVuZGVuY3kgd2FzIG1pc3NpbmcgYmV0d2VlbiBsaWJjb3JlZ3JpbmQqLmEgYW5kIGxpYm5vbHRvX2NvcmVncmluZCouYSwKK2FuZCBzbyB0b29scyB3ZXJlIG5vdCByZWxpbmtlZCB3aGVuIG1fbWFpbi5jIG9yIG1fbGliY3NldGptcC5jIHdlcmUKK2NoYW5nZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnRbZ2l0Oi8vc291cmNld2FyZS5vcmcvZ2l0L3ZhbGdyaW5kLmdpdCA3ODIwZmMyNjhmYWU0MzUzMTE4YjYzNTVmMWQ0YjllMWI3ZWVlYmVjXQorCitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvcmVncmluZC9NYWtlZmlsZS5hbSB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2NvcmVncmluZC9NYWtlZmlsZS5hbSBiL2NvcmVncmluZC9NYWtlZmlsZS5hbQoraW5kZXggOTE0YTI3MC4uOGRlMTk5NiAxMDA2NDQKKy0tLSBhL2NvcmVncmluZC9NYWtlZmlsZS5hbQorKysrIGIvY29yZWdyaW5kL01ha2VmaWxlLmFtCitAQCAtNTExLDYgKzUxMSw4IEBAIGxpYmNvcmVncmluZF9AVkdDT05GX0FSQ0hfUFJJQF9AVkdDT05GX09TQF9hX0NGTEFHUyArPSBcCisgZW5kaWYKKyBsaWJjb3JlZ3JpbmRfQFZHQ09ORl9BUkNIX1BSSUBfQFZHQ09ORl9PU0BfYV9MSUJBREQgPSBcCisgICAgICQobGlibm9sdG9fY29yZWdyaW5kX0BWR0NPTkZfQVJDSF9QUklAX0BWR0NPTkZfT1NAX2FfT0JKRUNUUykKKytsaWJjb3JlZ3JpbmRfQFZHQ09ORl9BUkNIX1BSSUBfQFZHQ09ORl9PU0BfYV9ERVBFTkRFTkNJRVMgPSBcCisrICAgIGxpYm5vbHRvX2NvcmVncmluZC1AVkdDT05GX0FSQ0hfUFJJQC1AVkdDT05GX09TQC5hCisgCisgaWYgVkdDT05GX0hBVkVfUExBVEZPUk1fU0VDCisgbGliY29yZWdyaW5kX0BWR0NPTkZfQVJDSF9TRUNAX0BWR0NPTkZfT1NAX2FfU09VUkNFUyA9IFwKK0BAIC01MzEsNiArNTMzLDggQEAgbGliY29yZWdyaW5kX0BWR0NPTkZfQVJDSF9TRUNAX0BWR0NPTkZfT1NAX2FfQ0ZMQUdTICs9IFwKKyBlbmRpZgorIGxpYmNvcmVncmluZF9AVkdDT05GX0FSQ0hfU0VDQF9AVkdDT05GX09TQF9hX0xJQkFERCA9IFwKKyAgICAgJChsaWJub2x0b19jb3JlZ3JpbmRfQFZHQ09ORl9BUkNIX1NFQ0BfQFZHQ09ORl9PU0BfYV9PQkpFQ1RTKQorK2xpYmNvcmVncmluZF9AVkdDT05GX0FSQ0hfU0VDQF9AVkdDT05GX09TQF9hX0RFUEVOREVOQ0lFUyA9IFwKKysgICAgbGlibm9sdG9fY29yZWdyaW5kLUBWR0NPTkZfQVJDSF9TRUNALUBWR0NPTkZfT1NALmEKKyBlbmRpZgorIAorICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistLSAKKzIuMTAuMgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZC8wMDAxLUd1YXJkLWFnYWluc3QtX19HTElCQ19QUkVSRVEtZm9yLW11c2wtbGliYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kLzAwMDEtR3VhcmQtYWdhaW5zdC1fX0dMSUJDX1BSRVJFUS1mb3ItbXVzbC1saWJjLnBhdGNoCmluZGV4IDNlZmU2NWEuLjgxYWIyOWYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kLzAwMDEtR3VhcmQtYWdhaW5zdC1fX0dMSUJDX1BSRVJFUS1mb3ItbXVzbC1saWJjLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kLzAwMDEtR3VhcmQtYWdhaW5zdC1fX0dMSUJDX1BSRVJFUS1mb3ItbXVzbC1saWJjLnBhdGNoCkBAIC0zLDcgKzMsNyBAQAogRGF0ZTogRnJpLCAxOSBPY3QgMjAxOCAxMDozMToxMiAtMDQwMAogU3ViamVjdDogW1BBVENIXSBHdWFyZCBhZ2FpbnN0IF9fR0xJQkNfUFJFUkVRIGZvciBtdXNsIGxpYmMKIAotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBodHRwczovL2J1Z3Mua2RlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAwMTYyCiAKIFNpZ25lZC1vZmYtYnk6IFJhbmR5IE1hY0xlb2QgPFJhbmR5Lk1hY0xlb2RAd2luZHJpdmVyLmNvbT4KIC0tLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS1NYWtlLWxvY2FsLWZ1bmN0aW9ucy1zdGF0aWMtdG8tYXZvaWQtYXNzZW1ibGVyLWVycm9yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS1NYWtlLWxvY2FsLWZ1bmN0aW9ucy1zdGF0aWMtdG8tYXZvaWQtYXNzZW1ibGVyLWVycm9yLnBhdGNoCmluZGV4IDQ1ZTVlYTMuLjhkMmNhNTcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kLzAwMDEtTWFrZS1sb2NhbC1mdW5jdGlvbnMtc3RhdGljLXRvLWF2b2lkLWFzc2VtYmxlci1lcnJvci5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZC8wMDAxLU1ha2UtbG9jYWwtZnVuY3Rpb25zLXN0YXRpYy10by1hdm9pZC1hc3NlbWJsZXItZXJyb3IucGF0Y2gKQEAgLTE4LDcgKzE4LDcgQEAKIC90bXAvY2NlMjJpaXcuczo5MTU6IEVycm9yOiBzeW1ib2wgYGV4aXRfMCcgaXMgYWxyZWFkeSBkZWZpbmVkCiAvdG1wL2NjZTIyaWl3LnM6OTE3OiBFcnJvcjogc3ltYm9sIGBleGl0JyBpcyBhbHJlYWR5IGRlZmluZWQKIAotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBodHRwczovL2J1Z3Mua2RlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAwMTY0CiAKIFNpZ25lZC1vZmYtYnk6IFJhbmR5IE1hY0xlb2QgPFJhbmR5Lk1hY0xlb2RAd2luZHJpdmVyLmNvbT4KIC0tLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS10ZXN0cy1hbWQ2NC1Eby1ub3QtY2xvYmJlci1yc3AtcmVnaXN0ZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZC8wMDAxLXRlc3RzLWFtZDY0LURvLW5vdC1jbG9iYmVyLXJzcC1yZWdpc3Rlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTdmODAzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS10ZXN0cy1hbWQ2NC1Eby1ub3QtY2xvYmJlci1yc3AtcmVnaXN0ZXIucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSA4YzFlYmI1NjRmNWVjYTJiYWVlZGMyN2E3MDMyMDA3ODZkMWFiYjBiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFNhdCwgMjIgRGVjIDIwMTggMTU6Mjg6NDAgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gdGVzdHMvYW1kNjQ6IERvIG5vdCBjbG9iYmVyICVyc3AgcmVnaXN0ZXIKKworVGhpcyBpcyBzZWVuIHdpdGggZ2NjLTkuMCBjb21waWxlciBub3cgd2hpY2ggaXMgZml4IHRoYXQgZ2NjIGNvbW11bml0eQorZGlkIHJlY2VudGx5CitodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD01MjgxMworCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9idWdzLmtkZS5vcmcvc2hvd19idWcuY2dpP2lkPTQwMjQ4MF0KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIG5vbmUvdGVzdHMvYW1kNjQtbGludXgvYnVnMzQ1ODg3LmMgfCA1ICsrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL25vbmUvdGVzdHMvYW1kNjQtbGludXgvYnVnMzQ1ODg3LmMgYi9ub25lL3Rlc3RzL2FtZDY0LWxpbnV4L2J1ZzM0NTg4Ny5jCitpbmRleCAwZjkyMzdkLi40YjA3ZmUxIDEwMDY0NAorLS0tIGEvbm9uZS90ZXN0cy9hbWQ2NC1saW51eC9idWczNDU4ODcuYworKysrIGIvbm9uZS90ZXN0cy9hbWQ2NC1saW51eC9idWczNDU4ODcuYworQEAgLTIwLDEzICsyMCwxNCBAQCBzdGF0aWMgdm9pZCBpbm5lcih2b2lkKQorICAgICAgICJtb3ZxICQweDEwZCwgJSVyMTRcbiIKKyAgICAgICAibW92cSAkMHgxMGUsICUlcjE1XG4iCisgICAgICAgLy8gbm90ICVyYnAgYXMgbWRiIGlzIHRoZW4gbm90IGFibGUgdG8gcmVjb25zdHJ1Y3Qgc3RhY2sgdHJhY2UKKy0gICAgICAibW92cSAkMHgxMGYsICUlcnNwXG4iCisrICAgICAgLy8gbm90ICVyc3Agc2luY2UgZ2NjIGlnbm9yZXMgaXQgYW5kIHNpbmNlIGdjYyA+PSA5LjAgZXJyb3JzIGFib3V0IGl0CisrICAgICAgLy8gc2VlIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTUyODEzCisgICAgICAgIm1vdnEgJDB4MTIzNCwgKCUlcmF4KVxuIiAgLy8gc2hvdWxkIGNhdXNlIFNFR1YgaGVyZQorICAgICAgICJ1ZDIiICAgICAgICAgICAgICAgICAgICAgIC8vIHNob3VsZCBuZXZlciBnZXQgaGVyZQorICAgICAgIDogLy8gbm8gb3V0cHV0IHJlZ2lzdGVycworICAgICAgIDogLy8gbm8gaW5wdXQgcmVnaXN0ZXJzCisgICAgICAgOiAibWVtb3J5IiwgIiVyYXgiLCAiJXJieCIsICIlcmN4IiwgIiVyZHgiLCAiJXJzaSIsICIlcmRpIiwKKy0gICAgICAgICIlcjgiLCAiJXI5IiwgIiVyMTAiLCAiJXIxMSIsICIlcjEyIiwgIiVyMTMiLCAiJXIxNCIsICIlcjE1IiwgIiVyc3AiKTsKKysgICAgICAgICIlcjgiLCAiJXI5IiwgIiVyMTAiLCAiJXIxMSIsICIlcjEyIiwgIiVyMTMiLCAiJXIxNCIsICIlcjE1Iik7CisgfQorIAorIF9fYXR0cmlidXRlX18oKG5vaW5saW5lKSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kXzMuMTQuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kXzMuMTQuMC5iYgppbmRleCA1MGY4MjIxLi5kYjFiZDlmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZF8zLjE0LjAuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmRfMy4xNC4wLmJiCkBAIC0zNiw2ICszNiw4IEBACiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1vcGNvZGUtbm90LXN1cHBvcnRlZC1vbi1taXBzMzItbGludXgucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1HdWFyZC1hZ2FpbnN0LV9fR0xJQkNfUFJFUkVRLWZvci1tdXNsLWxpYmMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlLWxvY2FsLWZ1bmN0aW9ucy1zdGF0aWMtdG8tYXZvaWQtYXNzZW1ibGVyLWVycm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtdGVzdHMtYW1kNjQtRG8tbm90LWNsb2JiZXItcnNwLXJlZ2lzdGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWRlcGVuZGVuY2llcy1iZXR3ZWVuLWxpYmNvcmVncmluZC0uYS1hbmQtbV9tYWluLi5wYXRjaCBcCiAgICAgICAgICAgICIKIFNSQ19VUklbbWQ1c3VtXSA9ICI3NDE3NTQyNmFmYTI4MDE4NGI2MjU5MWI1OGM2NzFiMyIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICIwMzdjMTFiZmVmZDQ3N2NjNmU5ZWJlOGYxOTNiYjIzN2ZlMzk3ZjdjZTc5MWI0YTRjZTNmYTFjNmE1MjBiYWE1IgpAQCAtNTYsNiArNTgsOSBAQAogQ09NUEFUSUJMRV9IT1NUX21pcHNhcmNocjYgPSAnbnVsbCcKIENPTVBBVElCTEVfSE9TVF9saW51eC1nbnVuMzIgPSAnbnVsbCcKIAorIyBEaXNhYmxlIGZvciBwb3dlcnBjNjQgd2l0aCBtdXNsCitDT01QQVRJQkxFX0hPU1RfbGliYy1tdXNsX3Bvd2VycGM2NCA9ICdudWxsJworCiBpbmhlcml0IGF1dG90b29scyBwdGVzdCBtdWx0aWxpYl9oZWFkZXIKIAogRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXRscyAtLXdpdGhvdXQtbXBpY2MiCkBAIC02Myw3ICs2OCw2IEBACiAKICMgdmFsZ3JpbmQgY2hlY2tzIGhvc3RfY3B1ICJhcm12NyopIiwgc28gd2UgbmVlZCB0byBvdmVyLXJpZGUgdGhlIGF1dG90b29scy5iYmNsYXNzIGRlZmF1bHQgLS1ob3N0IG9wdGlvbgogRVhUUkFfT0VDT05GX2FwcGVuZF9hcm0gPSAiIC0taG9zdD1hcm12NyR7SE9TVF9WRU5ET1J9LSR7SE9TVF9PU30iCi1UQVJHRVRfQ0NfQVJDSF9yZW1vdmVfYXJtID0gIiR7QGdldF9tY3B1KGQpfSIKIAogRVhUUkFfT0VNQUtFID0gIi13IgogCkBAIC03NSwxNCArNzksNiBAQAogIyB3aGljaCBmaXhlcyBidWlsZCBwYXRoIGlzc3VlIGluIERXQVJGLgogU0VMRUNURURfT1BUSU1JWkFUSU9OID0gIiR7REVCVUdfRkxBR1N9IgogCi1kZWYgZ2V0X21jcHUoZCk6Ci0gICAgZm9yIGFyZyBpbiAoZC5nZXRWYXIoJ1RVTkVfQ0NBUkdTJykgb3IgJycpLnNwbGl0KCk6Ci0gICAgICAgIGlmIGFyZy5zdGFydHN3aXRoKCctbWNwdT0nKToKLSAgICAgICAgICAgIHJldHVybiBhcmcKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgcmV0dXJuICIiCi0KIGRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKICAgICBybSAtcmYgJHtTfS9jb25maWcuaAogICAgIHNlZCAtaSAtZSAnczokKGFic190b3BfYnVpbGRkaXIpOiQocGtnbGliZGlyKS9wdGVzdDpnJyAke1N9L25vbmUvdGVzdHMvTWFrZWZpbGUuYW0KQEAgLTk0LDggKzkwLDYgQEAKICAgICBvZV9tdWx0aWxpYl9oZWFkZXIgdmFsZ3JpbmQvY29uZmlnLmgKIH0KIAotVFVORSA9ICIke0BzdHJpcF9tY3B1KGQpfSIKLQogVkFMR1JJTkRBUkNIID89ICIke1RBUkdFVF9BUkNIfSIKIFZBTEdSSU5EQVJDSF9hYXJjaDY0ID0gImFybTY0IgogVkFMR1JJTkRBUkNIX3g4Ni02NCA9ICJhbWQ2NCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3htbHRvL2ZpbGVzL2NhdGFsb2cueG1sIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMveG1sdG8vZmlsZXMvY2F0YWxvZy54bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiODgzM2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMveG1sdG8vZmlsZXMvY2F0YWxvZy54bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSBjYXRhbG9nIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBFbnRpdHkgUmVzb2x1dGlvbiBYTUwgQ2F0YWxvZyBWMS4wLy9FTiIgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvcmVsZWFzZS8xLjAvY2F0YWxvZy5kdGQiPgotPGNhdGFsb2cgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzplbnRpdHk6eG1sbnM6eG1sOmNhdGFsb2ciPgotPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly9kb2Nib29rLm9yZy94bWwvIiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBYTUwgRXhjaGFuZ2UgVGFibGUgTW9kZWwgMTk5OTAzMTUiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFuIFdhbHNoLy9EVEQgQ0FMUyBUYWJsZSBNb2RlbCBYTUwiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFuIFdhbHNoLy9FTEVNRU5UUyBEb2NCayBYTUwiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFuIFdhbHNoLy9EVEQgRG9jQm9vayBYTUwiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2siIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFuIFdhbHNoLy9FTlRJVElFUyBEb2NCayBYTUwiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFuIFdhbHNoLy9EVEQgRG9jQmsgWE1MIiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbCBXYWxzaC8vRXhjaGFuZ2UgVGFibGUgTW9kZWwgMTk5NjA0MzAiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC8iIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIENBTFMgVGFibGUgTW9kZWwiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVVUkkgdXJpU3RhcnRTdHJpbmc9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC8iIGNhdGFsb2c9Ii4vZG9jYm9vay14c2wueG1sIi8+Ci08ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL2RvY2Jvb2suc291cmNlZm9yZ2UubmV0L3JlbGVhc2UveHNsLyIgY2F0YWxvZz0iLi9kb2Nib29rLXhzbC54bWwiLz4KLTwvY2F0YWxvZz4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3htbHRvL3htbHRvXzAuMC4yOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3htbHRvL3htbHRvXzAuMC4yOC5iYgppbmRleCA2MjE2ZDc3Li5kZjc5OGRmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy94bWx0by94bWx0b18wLjAuMjguYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMveG1sdG8veG1sdG9fMC4wLjI4LmJiCkBAIC03LDIyICs3LDIzIEBACiAKIFNSQ19VUkkgPSAiaHR0cHM6Ly9yZWxlYXNlcy5wYWd1cmUub3JnL3htbHRvL3htbHRvLSR7UFZ9LnRhci5neiBcCiAgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUuaW4tZHJvcC10aGUtdGVzdC1vZi14bWxsaW50LWFuZC14c2x0cHJvYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9jYXRhbG9nLnhtbCBcCiAiCiBTUkNfVVJJW21kNXN1bV0gPSAiYTFmZWZhZDlkODM0OTlhMTU1NzY3NjhmNjBmODQ3YzYiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmY5ODZiN2M5YTBlOWFjNjcyODE0NzY2OGU3NzZkNDA1NDY1Mjg0ZTEzYzc0ZDQxNDZjOWNiYzUxZmQ4YWFkMyIKIAogaW5oZXJpdCBhdXRvdG9vbHMKLVJERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJsaWJ4c2x0LW5hdGl2ZSIKIAotIyB4bWx0byBuZWVkcyBnZXRvcHQveG1sbGludC94c2x0cHJvYy9iYXNoL3RhaWwgYXQgcnVudGltZQorREVQRU5EUyA9ICJsaWJ4bWwyLW5hdGl2ZSIKKwogUkRFUEVORFNfJHtQTn0gPSAiZG9jYm9vay14bWwtZHRkNCBcCiAgICAgICAgICAgICAgICAgICBkb2Nib29rLXhzbC1zdHlsZXNoZWV0cyBcCiAgICAgICAgICAgICAgICAgICB1dGlsLWxpbnV4IFwKICAgICAgICAgICAgICAgICAgIGxpYnhtbDIgXAorICAgICAgICAgICAgICAgICAgbGlieHNsdCBcCiAgICAgICAgICAgICAgICAgICBiYXNoIFwKICIKIFJERVBFTkRTXyR7UE59X2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKKyAgICAgICAgICAgICAgICAgIGxpYnhtbDItdXRpbHMgXAogICAgICAgICAgICAgICAgICAgbGlieHNsdC1iaW4gXAogICAgICAgICAgICAgICAgICAgY29yZXV0aWxzIFwKICIKQEAgLTMyLDEwICszMyw4IEBACiAKIEVYVFJBX09FQ09ORl9hcHBlbmQgPSAiIEJBU0g9L2Jpbi9iYXNoIEdDUD0vYmluL2NwIFhNTExJTlQ9eG1sbGludCBYU0xUUFJPQz14c2x0cHJvYyIKIAotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS94bWwvCi0gICAgaW5zdGFsbCAtbSA3NTUgICR7V09SS0RJUn0vY2F0YWxvZy54bWwgJHtEfSR7c3lzY29uZmRpcn0veG1sL2NhdGFsb2cueG1sCi0gICAgY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0veG1sdG8gWE1MX0NBVEFMT0dfRklMRVM9JHtzeXNjb25mZGlyfS94bWwvY2F0YWxvZy54bWwKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICBjcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L3htbHRvIFhNTF9DQVRBTE9HX0ZJTEVTPSR7c3lzY29uZmRpcn0veG1sL2NhdGFsb2cKIH0KIAogZG9fcG9wdWxhdGVfc3lzcm9vdFtyZGVwdGFza10gPSAiZG9fcG9wdWxhdGVfc3lzcm9vdCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2FzY2lpZG9jL2FzY2lpZG9jL2F1dG8tY2F0YWxvZ3MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hc2NpaWRvYy9hc2NpaWRvYy9hdXRvLWNhdGFsb2dzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhMTcwZGIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hc2NpaWRvYy9hc2NpaWRvYy9hdXRvLWNhdGFsb2dzLnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKK0lmIFNHTUxfQ0FUQUxPR19GSUxFUyBpcyBpbiB0aGUgZW52aXJvbm1lbnQsIHBhc3MgLS1jYXRhbG9ncyB0byB4bWxsaW50IGFuZAoreHNsdHByb2MuIEFsc28gcGFzcyAtLW5vbmV0IHRvIHhzbHRwcm9jIHRvIGRldGVjdCBmdXR1cmUgbWlzc2luZyBzdHlsZXNoZWV0Citwcm9ibGVtcy4KKworQW4gZWFybGllciB2ZXJzaW9uIG9mIHRoaXMgcGF0Y2ggd2FzIGZpbGVkIHVwc3RyZWFtIGF0CitodHRwczovL2dpdGh1Yi5jb20vYXNjaWlkb2MvYXNjaWlkb2MtcHkzL2lzc3Vlcy82MSBzbyBkZXBlbmRpbmcgb24gaG93IHRoYXQgZ29lcwordGhpcyBjb3VsZCBnZXQgbWVyZ2VkLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9hMngucHkgYi9hMngucHkKK2luZGV4IDJkNzY5OWEuLjU4MmQ4MDkgMTAwNzU1CistLS0gYS9hMngucHkKKysrKyBiL2EyeC5weQorQEAgLTU3LDYgKzU3LDEwIEBAIExZTlhfT1BUUyA9ICctZHVtcCcKKyBXM01fT1BUUyA9ICctZHVtcCAtY29scyA3MCAtVCB0ZXh0L2h0bWwgLW5vLWdyYXBoJworIFhTTFRQUk9DX09QVFMgPSAnJworIAorK2lmICJTR01MX0NBVEFMT0dfRklMRVMiIGluIG9zLmVudmlyb246CisrICBYTUxMSU5UICs9ICIgLS1jYXRhbG9ncyIKKysgIFhTTFRQUk9DICs9ICIgLS1jYXRhbG9ncyIKKysKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIyBFbmQgb2YgY29uZmlndXJhdGlvbiBmaWxlIHBhcmFtZXRlcnMuCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworQEAgLTI5OCw3ICszMDIsNyBAQCBkZWYgZXhlY194c2x0cHJvYyh4c2xfZmlsZSwgeG1sX2ZpbGUsIGRzdF9kaXIsIG9wdHMgPSAnJyk6CisgICAgIGN3ZCA9IG9zLmdldGN3ZCgpCisgICAgIHNoZWxsX2NkKGRzdF9kaXIpCisgICAgIHRyeToKKy0gICAgICAgIHNoZWxsKCciJXMiICVzICIlcyIgIiVzIicgJSAoWFNMVFBST0MsIG9wdHMsIHhzbF9maWxlLCB4bWxfZmlsZSkpCisrICAgICAgICBzaGVsbCgnJXMgJXMgIiVzIiAiJXMiJyAlIChYU0xUUFJPQywgb3B0cywgeHNsX2ZpbGUsIHhtbF9maWxlKSkKKyAgICAgZmluYWxseToKKyAgICAgICAgIHNoZWxsX2NkKGN3ZCkKKyAKK0BAIC00ODMsNyArNDg3LDcgQEAgY2xhc3MgQTJYKEF0dHJEaWN0KToKKyAgICAgICAgICAgICBzZWxmLmFzY2lpZG9jX29wdHMgKz0gJyAtLWRvY3R5cGUgJXMnICUgc2VsZi5kb2N0eXBlCisgICAgICAgICBmb3IgYXR0ciBpbiBzZWxmLmF0dHJpYnV0ZXM6CisgICAgICAgICAgICAgc2VsZi5hc2NpaWRvY19vcHRzICs9ICcgLS1hdHRyaWJ1dGUgIiVzIicgJSBhdHRyCistIyAgICAgICAgc2VsZi54c2x0cHJvY19vcHRzICs9ICcgLS1ub25ldCcKKysgICAgICAgIHNlbGYueHNsdHByb2Nfb3B0cyArPSAnIC0tbm9uZXQnCisgICAgICAgICBpZiBzZWxmLnZlcmJvc2U6CisgICAgICAgICAgICAgc2VsZi5hc2NpaWRvY19vcHRzICs9ICcgLS12ZXJib3NlJworICAgICAgICAgICAgIHNlbGYuZGJsYXRleF9vcHRzICs9ICcgLVYnCitAQCAtNjM0LDcgKzYzOCw3IEBAIGNsYXNzIEEyWChBdHRyRGljdCk6CisgICAgICAgICBzaGVsbCgnIiVzIiAtLWJhY2tlbmQgZG9jYm9vayAtYSAiYTJ4LWZvcm1hdD0lcyIgJXMgLS1vdXQtZmlsZSAiJXMiICIlcyInICUKKyAgICAgICAgICAgICAgKHNlbGYuYXNjaWlkb2MsIHNlbGYuZm9ybWF0LCBzZWxmLmFzY2lpZG9jX29wdHMsIGRvY2Jvb2tfZmlsZSwgc2VsZi5hc2NpaWRvY19maWxlKSkKKyAgICAgICAgIGlmIG5vdCBzZWxmLm5vX3htbGxpbnQgYW5kIFhNTExJTlQ6CistICAgICAgICAgICAgc2hlbGwoJyIlcyIgLS1ub25ldCAtLW5vb3V0IC0tdmFsaWQgIiVzIicgJSAoWE1MTElOVCwgZG9jYm9va19maWxlKSkKKysgICAgICAgICAgICBzaGVsbCgnJXMgLS1ub25ldCAtLW5vb3V0IC0tdmFsaWQgIiVzIicgJSAoWE1MTElOVCwgZG9jYm9va19maWxlKSkKKyAKKyAgICAgZGVmIHRvX3hodG1sKHNlbGYpOgorICAgICAgICAgc2VsZi50b19kb2Nib29rKCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2FzY2lpZG9jL2FzY2lpZG9jXzguNi45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXNjaWlkb2MvYXNjaWlkb2NfOC42LjkuYmIKaW5kZXggMzgxNjRkNS4uNzUxYmYwZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXNjaWlkb2MvYXNjaWlkb2NfOC42LjkuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXNjaWlkb2MvYXNjaWlkb2NfOC42LjkuYmIKQEAgLTgsMTcgKzgsMjUgQEAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlSSUdIVDttZDU9MDI5YWQ1NDI4YmE1ZWZhMjAxNzZiMzk2MjIyZDQwNjkiCiAKLVNSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC8ke0JQTn0vJHtCUE59LyR7UFZ9LyR7QlB9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICJjNTkwMThmMTA1YmU4ZDAyMjcxNGI4MjZiMGJlMTMwYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3OGRiOWQwNTY3YzhhYjY1NzBhNmVmZjdmZmRmODRlYWRkOTFmMmRmYzBhOTJhMmQwMTA1ZDMyM2NhYjRlMWYwIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2FzY2lpZG9jL2FzY2lpZG9jLXB5Mztwcm90b2NvbD1odHRwcyBcCisgICAgICAgICAgIGZpbGU6Ly9hdXRvLWNhdGFsb2dzLnBhdGNoIgorU1JDUkVWID0gIjYxOGY2ZTZmNmI1NThlZDFlNWYyNTg4Y2Q2MGE1YTZiNGY4ODFjYTAiCitQViAuPSAiK3B5My1naXQke1NSQ1BWfSIKIAotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2FzY2lpZG9jL2ZpbGVzLyIKK0RFUEVORFMgPSAibGlieG1sMi1uYXRpdmUgbGlieHNsdC1uYXRpdmUgZG9jYm9vay14bWwtZHRkNC1uYXRpdmUgZG9jYm9vay14c2wtc3R5bGVzaGVldHMtbmF0aXZlIgogCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCisjIFRlbGwgeG1sbGludCB3aGVyZSB0byBmaW5kIHRoZSBEb2NCb29rIFhNTCBjYXRhbG9ndWUsIGJlY2F1c2UgcmlnaHQgbm93IGl0CisjIG9wZW5zIC9ldGMveG1sL2NhdGFsb2cgb24gdGhlIGhvc3QuIERlcGVuZHMgb24gYXV0by1jYXRhbG9ncy5wYXRjaAorZXhwb3J0IFNHTUxfQ0FUQUxPR19GSUxFUz0iZmlsZTovLyR7U1RBR0lOR19FVENESVJfTkFUSVZFfS94bWwvY2F0YWxvZyIKKworIyBOb3QgdXNpbmcgYXV0b21ha2UKIGluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAotCi1leHBvcnQgREVTVERJUiA9ICIke0R9IgotREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiZG9jYm9vay14bWwtZHRkNC1uYXRpdmUiCi1SREVQRU5EU18ke1BOfSArPSAicHl0aG9uIiAKLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotCiBDTEVBTkJST0tFTiA9ICIxIgorCisjIHRhcmdldCBhbmQgbmF0aXZlc2RrIG5lZWRzIHB5dGhvbjMsIGJ1dCBmb3IgbmF0aXZlIHdlIGNhbiB1c2UgdGhlIGhvc3QuCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uMyIKK1JERVBFTkRTX3JlbW92ZV9jbGFzcy1uYXRpdmUgPSAicHl0aG9uMyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXQvZml4X3BhcmFsbGVsX2J1aWxkX2Vycm9yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXQvZml4X3BhcmFsbGVsX2J1aWxkX2Vycm9yLnBhdGNoCmluZGV4IDEwMGY4ODkuLjMwZDIzMjQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0L2ZpeF9wYXJhbGxlbF9idWlsZF9lcnJvci5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdC9hdC9maXhfcGFyYWxsZWxfYnVpbGRfZXJyb3IucGF0Y2gKQEAgLTEsMyArMSw4IEBACitGcm9tIDI0ZWYyYTY1NDRmOWM3ZWMwMWJjN2FlNzNkZmZhMjk3NGExZTI1MWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDUgRGVjIDIwMTggMDk6NDY6MjIgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4IHBhcmFsbGVsIGJ1aWxkIGVycm9yCisKIG1ha2UgLWogd2FzIGZhaWxpbmcgc29tZXRpbWVzYSBsaWtlIHRoaXMKIHwgY2NhY2hlIGk1ODYtcG9reS1saW51eC1nY2MgLW1hcmNoPWk1ODYgLS1zeXNyb290PS9ob21lL25pdGluL2J1aWxkL2J1aWxkMC90bXAvc3lzcm9vdHMvaTU4Ni1wb2t5LWxpbnV4IC1JLiAtZmV4cGVuc2l2ZS1vcHRpbWl6YXRpb25zIC1mb21pdC1mcmFtZS1wb2ludGVyIC1mcmVuYW1lLXJlZ2lzdGVycyAtTzIgLWdnZGIgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIC1vIGF0ZCBhdGQubyBkYWVtb24ubyAgLWxmbCAgLWxwYW0gLVdsLC1PMSAtV2wsLS1hcy1uZWVkZWQKIHwgcGFyc2V0aW1lLmw6NToxOTogZmF0YWwgZXJyb3I6IHkudGFiLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKQEAgLTEyLDI0ICsxNywyNCBAQAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiAKIFNpZ25lZC1vZmYtYnk6IFNjb3R0IEdhcm1hbiA8c2NvdHQuYS5nYXJtYW5AaW50ZWwuY29tPgotCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CiAtLS0KICBNYWtlZmlsZS5pbiB8IDIgKysKICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCi1pbmRleCBkZDNjMmY4Li43ODk3ZTQ1IDEwMDY0NAoraW5kZXggNGMxMTkxMy4uMThlY2MyMyAxMDA2NDQKIC0tLSBhL01ha2VmaWxlLmluCiArKysgYi9NYWtlZmlsZS5pbgotQEAgLTgyLDYgKzgyLDggQEAgeS50YWIuYyB5LnRhYi5oOiBwYXJzZXRpbWUueQorQEAgLTgzLDYgKzgzLDggQEAgeS50YWIuYyB5LnRhYi5oOiBwYXJzZXRpbWUueQogIGxleC55eS5jOiBwYXJzZXRpbWUubAogIAkkKExFWCkgLWkgcGFyc2V0aW1lLmwKICAKICtwYXJzZXRpbWUubDogeS50YWIuaAogKwogIGF0ZC5zZXJ2aWNlOiBhdGQuc2VydmljZS5pbgotIAlzZWQgLWUgJ3MhW0Bdc2JpbmRpcltAXSEkKHNiaW5kaXIpIWcnIDwgJDwgPiAkQAorIAljYXQgJDwgfCBzZWQgLWUgJ3MhW0Bdc2JpbmRpcltAXSEkKHNiaW5kaXIpIWcnIHwgc2VkIC1lICdzIVtAXWF0am9iZGlyW0BdISQoYXRqb2JkaXIpIWcnID4gJEAKICAKIC0tIAotMS45LjEKKzIuNy40CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0L3BhbS5jb25mLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXQvcGFtLmNvbmYucGF0Y2gKaW5kZXggYjVjZWI5YS4uYzlmMzM3ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXQvcGFtLmNvbmYucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXQvcGFtLmNvbmYucGF0Y2gKQEAgLTEsMjcgKzEsMzUgQEAKK0Zyb20gOGM4YTBiNmJhMTk5MzI3ZDJlYWZlZmQ2NjExMzUzZTFjNDgzYTg1NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgNSBEZWMgMjAxOCAxMDowMDozNiArMDgwMAorU3ViamVjdDogW1BBVENIXSBmaXggcGFtLmNvbmYKKwogb2UgZG9lc24ndCBzdXBwb3J0ICJAaW5jbHVkZSIsIHVzZSB0aGUgY29uY3JldGUgZGlyZWN0aXZlIGluc3RlYWQuCiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogCiBTaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KLUluZGV4OiBhdC0zLjEuMTUvcGFtLmNvbmYKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBhdC0zLjEuMTUub3JpZy9wYW0uY29uZgotKysrIGF0LTMuMS4xNS9wYW0uY29uZgotQEAgLTEsMTAgKzEsMTEgQEAKLSAjCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBwYW0uY29uZiB8IDYgKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3BhbS5jb25mIGIvcGFtLmNvbmYKK2luZGV4IDM2NzRjMGEuLjJmOGQ1ODYgMTAwNjQ0CistLS0gYS9wYW0uY29uZgorKysrIGIvcGFtLmNvbmYKK0BAIC0yLDkgKzIsOSBAQAogICMgVGhlIFBBTSBjb25maWd1cmF0aW9uIGZpbGUgZm9yIHRoZSBhdCBkYWVtb24KICAjCi0rIAotK2F1dGggICAgcmVxdWlyZWQgICAgcGFtX2Vudi5zbwotK2F1dGggICAgaW5jbHVkZSAgICAgY29tbW9uLWF1dGgKLSthY2NvdW50IGluY2x1ZGUgICAgIGNvbW1vbi1hY2NvdW50Ci0rc2Vzc2lvbiBpbmNsdWRlICAgICBjb21tb24tc2Vzc2lvbi1ub25pbnRlcmFjdGl2ZQotK3Nlc3Npb24gcmVxdWlyZWQgICAgcGFtX2xpbWl0cy5zbwotK3Nlc3Npb24gcmVxdWlyZWQgICAgcGFtX2xvZ2ludWlkLnNvCiAgCi0tYXV0aAlyZXF1aXJlZAlwYW1fZW52LnNvCiAtQGluY2x1ZGUgY29tbW9uLWF1dGgKIC1AaW5jbHVkZSBjb21tb24tYWNjb3VudAotLXNlc3Npb24gICAgcmVxdWlyZWQgICBwYW1fbG9naW51aWQuc28KKythdXRoICAgICAgIGluY2x1ZGUgICAgY29tbW9uLWF1dGgKKythY291bnQgICAgIGluY2x1ZGUgICAgY29tbW9uLWFjY291bnQKKyBzZXNzaW9uICAgIHJlcXVpcmVkICAgcGFtX2xvZ2ludWlkLnNvCiAtQGluY2x1ZGUgY29tbW9uLXNlc3Npb24tbm9uaW50ZXJhY3RpdmUKLS1zZXNzaW9uICAgIHJlcXVpcmVkICAgcGFtX2xpbWl0cy5zbworK3Nlc3Npb24gICAgaW5jbHVkZSAgICBjb21tb24tc2Vzc2lvbi1ub25pbnRlcmFjdGl2ZQorIHNlc3Npb24gICAgcmVxdWlyZWQgICBwYW1fbGltaXRzLnNvCisgYXV0aAlyZXF1aXJlZAlwYW1fZW52LnNvIHVzZXJfcmVhZGVudj0xCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0XzMuMS4yMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0XzMuMS4yMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjc2ZTgzZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdC9hdF8zLjEuMjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi1TVU1NQVJZID0gIkRlbGF5ZWQgam9iIGV4ZWN1dGlvbiBhbmQgYmF0Y2ggcHJvY2Vzc2luZyIKLUhPTUVQQUdFID0gImh0dHA6Ly9ibG9nLmNhbGhhcml6LmNvbS8iCi1ERVNDUklQVElPTiA9ICJBdCBhbGxvd3MgZm9yIGNvbW1hbmRzIHRvIGJlIHJ1biBhdCBhIHBhcnRpY3VsYXIgdGltZS4gIEJhdGNoIHdpbGwgZXhlY3V0ZSBjb21tYW5kcyB3aGVuIFwKLXRoZSBzeXN0ZW0gbG9hZCBsZXZlbHMgZHJvcCB0byBhIHBhcnRpY3VsYXIgbGV2ZWwuIgotU0VDVElPTiA9ICJiYXNlIgotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKLURFUEVORFMgPSAiZmxleCBmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUgXAotICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdsaWJwYW0nLCAnJywgZCl9IgotCi1QQUNLQUdFQ09ORklHID89ICJcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXgnLCAnJywgZCl9IFwKLSIKLQotUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLXdpdGgtc2VsaW51eCwtLXdpdGhvdXQtc2VsaW51eCxsaWJzZWxpbnV4LCIKLQotUkRFUEVORFNfJHtQTn0gPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJHtQQU1fREVQU30nLCAnJywgZCl9IFwKLSIKLQotUEFNX0RFUFMgPSAibGlicGFtIGxpYnBhbS1ydW50aW1lIHBhbS1wbHVnaW4tZW52IHBhbS1wbHVnaW4tbGltaXRzIgotCi1SQ09ORkxJQ1RTXyR7UE59ID0gImF0ZCIKLVJSRVBMQUNFU18ke1BOfSA9ICJhdGQiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4vMjAxNjA3MjhUMDQzNDQzWi9wb29sL21haW4vYS8ke0JQTn0vJHtCUE59XyR7UFZ9Lm9yaWcudGFyLmd6IFwKLSAgICBmaWxlOi8vZml4X3BhcmFsbGVsX2J1aWxkX2Vycm9yLnBhdGNoIFwKLSAgICBmaWxlOi8vcG9zaXh0bS5jIFwKLSAgICBmaWxlOi8vcG9zaXh0bS5oIFwKLSAgICBmaWxlOi8vZmlsZV9yZXBsYWNlbWVudF93aXRoX2dwbHYyLnBhdGNoIFwKLSAgICBmaWxlOi8vYXRkLmluaXQgXAotICAgIGZpbGU6Ly9hdGQuc2VydmljZSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJHtQQU1fU1JDX1VSSX0nLCAnJywgZCl9IFwKLSAgICBmaWxlOi8vbWFrZWZpbGUtZml4LXBhcmFsbGVsLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1yZW1vdmUtZ2xpYmMtYXNzdW1wdGlvbi5wYXRjaCBcCi0gICAgIgotCi1QQU1fU1JDX1VSSSA9ICJmaWxlOi8vcGFtLmNvbmYucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS1hZGQtZW5hYmxlLXBhbS5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gImU3YmQ3Yjc4NWIyY2JiMTdlMTMzZDZiZGMwZmIwOTllIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA4NzE5MjNjYWI3MzA1MGI5OGFjZTAyMDY2NGViMmRkYzFlNjY5ZTQxNjZiNWFiYjY0ZDg2NGQwMmZjZWZhYjkiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vYS9hdC8iCi0KLUVYVFJBX09FQ09ORiArPSAiYWNfY3ZfcGF0aF9TRU5ETUFJTD0vYmluL3RydWUgXAotICAgICAgICAgICAgICAgICAtLXdpdGgtZGFlbW9uX3VzZXJuYW1lPXJvb3QgXAotICAgICAgICAgICAgICAgICAtLXdpdGgtZGFlbW9uX2dyb3VwbmFtZT1yb290IFwKLSAgICAgICAgICAgICAgICAgLS13aXRoLWpvYmRpcj0vdmFyL3Nwb29sL2F0L2pvYnMgXAotICAgICAgICAgICAgICAgICAtLXdpdGgtYXRzcG9vbD0vdmFyL3Nwb29sL2F0L3Nwb29sIFwKLSAgICAgICAgICAgICAgICAgYWNfY3ZfaGVhZGVyX3NlY3VyaXR5X3BhbV9hcHBsX2g9JHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAneWVzJywgJ25vJywgZCl9ICIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHN5c3RlbWQgdXBkYXRlLXJjLmQKLQotSU5JVFNDUklQVF9OQU1FID0gImF0ZCIKLUlOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiYXRkLnNlcnZpY2UiCi0KLWNvcHlfc291cmNlcygpIHsKLQljcCAtZiAke1dPUktESVJ9L3Bvc2l4dG0uW2NoXSAke1N9Ci19Ci1kb19wYXRjaFtwb3N0ZnVuY3NdICs9ICJjb3B5X3NvdXJjZXMiCi0KLWRvX2luc3RhbGwgKCkgewotCW9lX3J1bm1ha2UgLWUgIklST09UPSR7RH0iIGluc3RhbGwKLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0JaW5zdGFsbCAtbSAwNzU1ICAgICR7V09SS0RJUn0vYXRkLmluaXQJCSR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9hdGQKLQotCSMgaW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZXMKLQlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vYXRkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vYXRkLnNlcnZpY2UKLQotCWlmIFsgIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSIgXTsgdGhlbgotCQlpbnN0YWxsIC1EIC1tIDA2NDQgJHtXT1JLRElSfS8ke0JQfS9wYW0uY29uZiAke0R9JHtzeXNjb25mZGlyfS9wYW0uZC9hdGQKLQlmaQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXRfMy4xLjIzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXRfMy4xLjIzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3NDg4MmQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdC9hdF8zLjEuMjMuYmIKQEAgLTAsMCArMSw3OCBAQAorU1VNTUFSWSA9ICJEZWxheWVkIGpvYiBleGVjdXRpb24gYW5kIGJhdGNoIHByb2Nlc3NpbmciCitIT01FUEFHRSA9ICJodHRwOi8vYmxvZy5jYWxoYXJpei5jb20vIgorREVTQ1JJUFRJT04gPSAiQXQgYWxsb3dzIGZvciBjb21tYW5kcyB0byBiZSBydW4gYXQgYSBwYXJ0aWN1bGFyIHRpbWUuICBCYXRjaCB3aWxsIGV4ZWN1dGUgY29tbWFuZHMgd2hlbiBcCit0aGUgc3lzdGVtIGxvYWQgbGV2ZWxzIGRyb3AgdG8gYSBwYXJ0aWN1bGFyIGxldmVsLiIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCitERVBFTkRTID0gImZsZXggZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIFwKKyAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKKworUEFDS0FHRUNPTkZJRyA/PSAiXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc2VsaW51eCcsICdzZWxpbnV4JywgJycsIGQpfSBcCisiCisKK1BBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS13aXRoLXNlbGludXgsLS13aXRob3V0LXNlbGludXgsbGlic2VsaW51eCwiCisKK1JERVBFTkRTXyR7UE59ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJyR7UEFNX0RFUFN9JywgJycsIGQpfSBcCisiCisKK1BBTV9ERVBTID0gImxpYnBhbSBsaWJwYW0tcnVudGltZSBwYW0tcGx1Z2luLWVudiBwYW0tcGx1Z2luLWxpbWl0cyIKKworUkNPTkZMSUNUU18ke1BOfSA9ICJhdGQiCitSUkVQTEFDRVNfJHtQTn0gPSAiYXRkIgorCitTUkNfVVJJID0gImh0dHA6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hpdmUvZGViaWFuLzIwMTgwODI1VDA5MDI0OFovcG9vbC9tYWluL2EvJHtCUE59LyR7QlBOfV8ke1BWfS5vcmlnLnRhci5neiBcCisgICAgZmlsZTovL2ZpeF9wYXJhbGxlbF9idWlsZF9lcnJvci5wYXRjaCBcCisgICAgZmlsZTovL3Bvc2l4dG0uYyBcCisgICAgZmlsZTovL3Bvc2l4dG0uaCBcCisgICAgZmlsZTovL2ZpbGVfcmVwbGFjZW1lbnRfd2l0aF9ncGx2Mi5wYXRjaCBcCisgICAgZmlsZTovL2F0ZC5pbml0IFwKKyAgICBmaWxlOi8vYXRkLnNlcnZpY2UgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJyR7UEFNX1NSQ19VUkl9JywgJycsIGQpfSBcCisgICAgZmlsZTovL21ha2VmaWxlLWZpeC1wYXJhbGxlbC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtcmVtb3ZlLWdsaWJjLWFzc3VtcHRpb24ucGF0Y2ggXAorICAgICIKKworUEFNX1NSQ19VUkkgPSAiZmlsZTovL3BhbS5jb25mLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUtYWRkLWVuYWJsZS1wYW0ucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxY2VjOTQ1NTA2YjVkZGYxZDc3NmM5MmMzMTVmYzU4MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NzQ1MGFhOTU0YWFhOGE3MDIxOGNjOGU2MWEzM2RmOWZlZTlmODY1MjdlOWY4NjFkZTMwMmZiN2EzYzgxNzEwIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL2EvYXQvIgorCitFWFRSQV9PRUNPTkYgKz0gImFjX2N2X3BhdGhfU0VORE1BSUw9L2Jpbi90cnVlIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWRhZW1vbl91c2VybmFtZT1yb290IFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWRhZW1vbl9ncm91cG5hbWU9cm9vdCBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1qb2JkaXI9L3Zhci9zcG9vbC9hdC9qb2JzIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWF0c3Bvb2w9L3Zhci9zcG9vbC9hdC9zcG9vbCBcCisgICAgICAgICAgICAgICAgIGFjX2N2X2hlYWRlcl9zZWN1cml0eV9wYW1fYXBwbF9oPSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3llcycsICdubycsIGQpfSAiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBzeXN0ZW1kIHVwZGF0ZS1yYy5kCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJhdGQiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImF0ZC5zZXJ2aWNlIgorCitjb3B5X3NvdXJjZXMoKSB7CisJY3AgLWYgJHtXT1JLRElSfS9wb3NpeHRtLltjaF0gJHtTfQorfQorZG9fcGF0Y2hbcG9zdGZ1bmNzXSArPSAiY29weV9zb3VyY2VzIgorCitkb19pbnN0YWxsICgpIHsKKwlvZV9ydW5tYWtlIC1lICJJUk9PVD0ke0R9IiBpbnN0YWxsCisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCWluc3RhbGwgLW0gMDc1NSAgICAke1dPUktESVJ9L2F0ZC5pbml0CQkke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvYXRkCisKKwkjIGluc3RhbGwgc3lzdGVtZCB1bml0IGZpbGVzCisJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2F0ZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2F0ZC5zZXJ2aWNlCisKKwlpZiBbICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCBkKX0iIF07IHRoZW4KKwkJaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vJHtCUH0vcGFtLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvYXRkCisJZmkKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbC8wMDA0LWZpeC1mdGJmcy1nbGliYy0yLjI4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmxrdG9vbC9ibGt0b29sLzAwMDQtZml4LWZ0YmZzLWdsaWJjLTIuMjgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjViY2E2NQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbC8wMDA0LWZpeC1mdGJmcy1nbGliYy0yLjI4LnBhdGNoCkBAIC0wLDAgKzEsMTkgQEAKK0Rlc2NyaXB0aW9uOiBGaXggRlRCRlMgd2l0aCBnbGliYyAyLjI4CitBdXRob3I6IEFkcmlhbiBCdW5rIDxidW5rQGRlYmlhbi5vcmc+CitCdWctRGViaWFuOiBodHRwczovL2J1Z3MuZGViaWFuLm9yZy85MTcwNTUKKworVGhpcyBwYXRjaCBpcyB0YWtlbiBmcm9tCitodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wvbWFpbi9iL2Jsa3Rvb2wvYmxrdG9vbF80LTcuMS5kZWJpYW4udGFyLnh6CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbdXBzdHJlYW0gaXMgZGVhZF0KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tIGJsa3Rvb2wtNC5vcmlnL2Jsa3Rvb2wuYworKysrIGJsa3Rvb2wtNC9ibGt0b29sLmMKK0BAIC0xOCw2ICsxOCw3IEBACisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorICNpbmNsdWRlIDxzeXMvc3RhdC5oPgorICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKysjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgorICNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDxnZXRvcHQuaD4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbC9ibGt0b29sLWdudWxpYi1tYWtlZGV2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmxrdG9vbC9ibGt0b29sL2Jsa3Rvb2wtZ251bGliLW1ha2VkZXYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZlZWE2MDguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmxrdG9vbC9ibGt0b29sL2Jsa3Rvb2wtZ251bGliLW1ha2VkZXYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1pbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+IGZvciBtYWpvci9taW5vciBkZWZpbnRpb25zCi0KLUZpeGVzCi0KLXwgLi4vYmxrdG9vbC00Lm9yaWcvYmxrdG9vbC5jOiBJbiBmdW5jdGlvbiAnZGV0ZWN0X2Rldl9jbGFzcyc6Ci18IC4uL2Jsa3Rvb2wtNC5vcmlnL2Jsa3Rvb2wuYzoyOTU6MTA6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdtYWpvcicgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCi18ICAgc3dpdGNoIChtYWpvcihzdF9yZGV2KSkgewotfCAgICAgICAgICAgXn5+fn4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotSW5kZXg6IGJsa3Rvb2wtNC5vcmlnL2Jsa3Rvb2wuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGJsa3Rvb2wtNC5vcmlnLm9yaWcvYmxrdG9vbC5jCi0rKysgYmxrdG9vbC00Lm9yaWcvYmxrdG9vbC5jCi1AQCAtMjcsNiArMjcsNyBAQAotICNpbmNsdWRlIDxsaW51eC9jZHJvbS5oPgotICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgotICNpbmNsdWRlIDxzY3NpL3Njc2kuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotIAotICNpbmNsdWRlICJibGt0b29sLmgiCi0gCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ibGt0b29sL2Jsa3Rvb2xfNC03LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ibGt0b29sL2Jsa3Rvb2xfNC03LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmYyZWFhNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbF80LTcuMS5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIlR1bmUgbG93LWxldmVsIGJsb2NrIGRldmljZSBwYXJhbWV0ZXJzIgorREVTQ1JJUFRJT04gPSAiYmxrdG9vbCBpcyB1c2VkIGZvciBxdWVyeWluZyBhbmQvb3IgY2hhbmdpbmcgc2V0dGluZ3MgXAorb2YgYSBibG9jayBkZXZpY2UuIEl0IGlzIGxpa2UgaGRwYXJtIGJ1dCBhIG1vcmUgZ2VuZXJhbCB0b29sLCBhcyBpdCBcCit3b3JrcyBvbiBTQ1NJLCBJREUgYW5kIFNBVEEgZGV2aWNlcy4iCitIT01FUEFHRSA9ICJodHRwOi8vcGFja2FnZXMuZGViaWFuLm9yZy91bnN0YWJsZS9hZG1pbi9ibGt0b29sIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ibGt0b29sLmM7YmVnaW5saW5lPTc7ZW5kbGluZT04O21kNT1hNWU3OThlYTk4ZmQ1MDk3MjA4ODk2OGExNWU1ZjM3MyIKKworREVQRU5EUyA9ICJnbGliLTIuMCIKKworU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE2MDcyOFQwNDM0NDNaL3Bvb2wvbWFpbi9iLyR7QlBOfS8ke0JQTn1fNC5vcmlnLnRhci5nejtuYW1lPXRhcmJhbGwgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtdHlwb3MtaW4tbWFucGFnZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWZpeC1zdHJpbmctZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1GaXgtMy1kLWFyZ3VtZW50LWZvci1CTEtST1NFVC1pdC1tdXN0LWJlLWNvbnN0LWludC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LWZpeC1mdGJmcy1nbGliYy0yLjI4LnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbdGFyYmFsbC5tZDVzdW1dID0gIjYyZWRjMDljOTkwODEwN2U2OTM5MWM4N2Y0ZjNmZDQwIgorU1JDX1VSSVt0YXJiYWxsLnNoYTI1NnN1bV0gPSAiYjFlNmQ1OTEyNTQ2ZDJhNGI3MDRlYzY1YzJiOTY2NGFhM2I0NjYzZTdkODAwZTA2ODAzMzMwMzM1YTJjYjc2NCIKKworIyBmb3IgdGhpcyBwYWNrYWdlIHdlJ3JlIG1vc3RseSBpbnRlcmVzdGVkIGluIHRyYWNraW5nIGRlYmlhbiBwYXRjaGVzLAorIyBhbmQgbm90IGluIHRoZSB1cHN0cmVhbSB2ZXJzaW9uIHdoZXJlIGFsbCBkZXZlbG9wbWVudCBoYXMgZWZmZWN0aXZlbHkgc3RvcHBlZAorVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9iL2Jsa3Rvb2wvIgorVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiKD9QPHB2ZXI+KChcZCtcLiopKyktKChcZCtcLiopKykpXC4oZGlmZnxkZWJpYW5cLnRhcilcLihnenx4eikiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tNC5vcmlnIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbF80LTcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ibGt0b29sL2Jsa3Rvb2xfNC03LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTZmN2VlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbF80LTcuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1TVU1NQVJZID0gIlR1bmUgbG93LWxldmVsIGJsb2NrIGRldmljZSBwYXJhbWV0ZXJzIgotREVTQ1JJUFRJT04gPSAiYmxrdG9vbCBpcyB1c2VkIGZvciBxdWVyeWluZyBhbmQvb3IgY2hhbmdpbmcgc2V0dGluZ3MgXAotb2YgYSBibG9jayBkZXZpY2UuIEl0IGlzIGxpa2UgaGRwYXJtIGJ1dCBhIG1vcmUgZ2VuZXJhbCB0b29sLCBhcyBpdCBcCi13b3JrcyBvbiBTQ1NJLCBJREUgYW5kIFNBVEEgZGV2aWNlcy4iCi1IT01FUEFHRSA9ICJodHRwOi8vcGFja2FnZXMuZGViaWFuLm9yZy91bnN0YWJsZS9hZG1pbi9ibGt0b29sIgotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ibGt0b29sLmM7YmVnaW5saW5lPTc7ZW5kbGluZT04O21kNT1hNWU3OThlYTk4ZmQ1MDk3MjA4ODk2OGExNWU1ZjM3MyIKLQotREVQRU5EUyA9ICJnbGliLTIuMCIKLQotU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE2MDcyOFQwNDM0NDNaL3Bvb2wvbWFpbi9iLyR7QlBOfS8ke0JQTn1fNC5vcmlnLnRhci5nejtuYW1lPXRhcmJhbGwgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtdHlwb3MtaW4tbWFucGFnZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWZpeC1zdHJpbmctZXJyb3IucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1GaXgtMy1kLWFyZ3VtZW50LWZvci1CTEtST1NFVC1pdC1tdXN0LWJlLWNvbnN0LWludC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ibGt0b29sLWdudWxpYi1tYWtlZGV2LnBhdGNoIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbdGFyYmFsbC5tZDVzdW1dID0gIjYyZWRjMDljOTkwODEwN2U2OTM5MWM4N2Y0ZjNmZDQwIgotU1JDX1VSSVt0YXJiYWxsLnNoYTI1NnN1bV0gPSAiYjFlNmQ1OTEyNTQ2ZDJhNGI3MDRlYzY1YzJiOTY2NGFhM2I0NjYzZTdkODAwZTA2ODAzMzMwMzM1YTJjYjc2NCIKLQotIyBmb3IgdGhpcyBwYWNrYWdlIHdlJ3JlIG1vc3RseSBpbnRlcmVzdGVkIGluIHRyYWNraW5nIGRlYmlhbiBwYXRjaGVzLAotIyBhbmQgbm90IGluIHRoZSB1cHN0cmVhbSB2ZXJzaW9uIHdoZXJlIGFsbCBkZXZlbG9wbWVudCBoYXMgZWZmZWN0aXZlbHkgc3RvcHBlZAotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9iL2Jsa3Rvb2wvIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiKD9QPHB2ZXI+KChcZCtcLiopKyktKChcZCtcLiopKykpXC4oZGlmZnxkZWJpYW5cLnRhcilcLihnenx4eikiCi0KLVMgPSAiJHtXT1JLRElSfS8ke0JQTn0tNC5vcmlnIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2J6aXAyL2J6aXAyXzEuMC42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYnppcDIvYnppcDJfMS4wLjYuYmIKaW5kZXggMDI1ZjQ1Yy4uN2QwNGUzMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYnppcDIvYnppcDJfMS4wLjYuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYnppcDIvYnppcDJfMS4wLjYuYmIKQEAgLTI5LDcgKzI5LDcgQEAKIGluaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgcHRlc3QgcmVsYXRpdmVfc3ltbGlua3MKIAogQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgotQUxURVJOQVRJVkVfJHtQTn0gPSAiYnVuemlwMiBiemNhdCIKK0FMVEVSTkFUSVZFXyR7UE59ID0gImJ1bnppcDIgYnpjYXQgYnppcDIiCiAKICNpbnN0YWxsIGJpbmFyaWVzIHRvIGJ6aXAyLW5hdGl2ZSB1bmRlciBzeXNyb290IGZvciByZXBsYWNlbWVudC1uYXRpdmUKIEVYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtLWJpbmRpcj0ke1NUQUdJTkdfQklORElSX05BVElWRX0vJHtQTn0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcGlvL2NwaW8tMi4xMi8wMDAxLUZpeC1zZWdmYXVsdC13aXRoLWFwcGVuZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2NwaW8vY3Bpby0yLjEyLzAwMDEtRml4LXNlZ2ZhdWx0LXdpdGgtYXBwZW5kLnBhdGNoCmluZGV4IDIwNDNjODkuLmVjOGIzMDMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2NwaW8vY3Bpby0yLjEyLzAwMDEtRml4LXNlZ2ZhdWx0LXdpdGgtYXBwZW5kLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2NwaW8vY3Bpby0yLjEyLzAwMDEtRml4LXNlZ2ZhdWx0LXdpdGgtYXBwZW5kLnBhdGNoCkBAIC0xLDg3ICsxLDUxIEBACi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbYnVncy1jcGlvXQorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAogU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KIAotRnJvbSAzZjBiZDVhNDBhZDBjZWFlZTc4Yzc0YTUyYTcxNjZlZDdmMDhkYjgxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUGF2ZWwgUmFpc2t1cCA8cHJhaXNrdXBAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMjkgTm92IDIwMTggMDc6MDM6NDggKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IHNlZ2ZhdWx0IHdpdGggLS1hcHBlbmQKK0Zyb20gMzJkOTVmZTBjOTBjNTkzNTJhMGNlMzEwMmZjOTg2NmNiZmIwZjYyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNlcmdleSBQb3pueWFrb2ZmIDxncmF5QGdudS5vcmc+CitEYXRlOiBTYXQsIDEgRGVjIDIwMTggMTE6NDA6MDIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IHNpZ2ZhdWx0IHdoZW4gYXBwZW5kaW5nIHRvIGFyY2hpdmUKIAotVGhlIC0tYXBwZW5kIG1vZGUgY29tYmluZXMgYm90aCBwcm9jZXNzX2NvcHlfaW4oKSBhbmQKLXByb2Nlc3NfY29weV9vdXQoKSBtZXRob2RzLCBlYWNoIG9mIHRoZW0gd29ya2luZyB3aXRoIGRpZmZlcmVudAotKGxvY2FsKSBmaWxlX2hkci0+Y19uYW1lIGJ1ZmZlcnMuICBTbyBlbnN1cmUgdGhhdAotY3Bpb19zZXRfY19uYW1lKCkgaXNuJ3QgdXNpbmcgdGhlIHNhbWUgc3RhdGljIHZhcmlhYmxlIGZvcgotbWFpbnRhaW5pbmcgbGVuZ3RoIG9mIGRpZmZlcmVudCBidWZmZXJzLgorQnVnIHJlcG9ydGVkIGJ5IFJvc3MgQnVydG9uLiBTZWUKKzxodHRwOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYnVnLWNwaW8vMjAxOC0xMS9tc2cwMDAwMC5odG1sPgogCi1Db21wbGVtZW50cyBkMzZlYzVmNGU5MzEzMGVmYjI0ZmI5LiAgVGhhbmtzIHRvIFJvc3MgQnVydG9uLgotCi0qIHNyYy9jb3B5aW4uYyAocHJvY2Vzc19jb3B5X2luKTogQWx3YXlzIGluaXRpYWxpemUgZmlsZV9oZHIuCi0qIHNyYy9jb3B5b3V0LmMgKHByb2Nlc3NfY29weV9vdXQpOiBMaWtld2lzZS4KLSogc3JjL2NwaW9oZHIuaCAoY3Bpb19maWxlX3N0YXQpOiBBZGQgY19uYW1lX2J1ZmxlbiB2YXJpYWJsZS4KLSogc3JjL3V0aWwuYyAoY3Bpb19zZXRfY19uYW1lKTogVXNlIGZpbGVfaGRyLT5jX25hbWVfYnVmbGVuLgorKiBzcmMvdXRpbC5jOiBLZWVwIHN0YXRpYyBjb3B5IG9mIHRoZSBidWZmZXIgcG9pbnRlcjsgYWx3YXlzCithc3NpZ24gaXQgdG8gZmlsZV9oZHItPmNfbmFtZS4gVXNlIHgycmVhbGxvYyBmb3IgbWVtb3J5IG1hbmFnZW1lbnQuCiAtLS0KLSBzcmMvY29weWluLmMgIHwgMSArCi0gc3JjL2NvcHlvdXQuYyB8IDEgKwotIHNyYy9jcGlvaGRyLmggfCAxICsKLSBzcmMvdXRpbC5jICAgIHwgMyArKy0KLSA0IGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorIHNyYy91dGlsLmMgfCAxNyArKysrLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQogCi1kaWZmIC0tZ2l0IGEvc3JjL2NvcHlpbi5jIGIvc3JjL2NvcHlpbi5jCi1pbmRleCBiYTg4N2FlLi43NjdjMmY4IDEwMDY0NAotLS0tIGEvc3JjL2NvcHlpbi5jCi0rKysgYi9zcmMvY29weWluLmMKLUBAIC0xMjEzLDYgKzEyMTMsNyBAQCBwcm9jZXNzX2NvcHlfaW4gKCkKLSAKLSAgIG5ld2Rpcl91bWFzayA9IHVtYXNrICgwKTsgICAgIC8qIFJlc2V0IHVtYXNrIHRvIHByZXNlcnZlIG1vZGVzIG9mCi0gCQkJCSAgIGNyZWF0ZWQgZmlsZXMgICovCi0rICBtZW1zZXQgKCZmaWxlX2hkciwgMCwgc2l6ZW9mIChzdHJ1Y3QgY3Bpb19maWxlX3N0YXQpKTsKLSAgIAotICAgLyogSW5pdGlhbGl6ZSB0aGUgY29weSBpbi4gICovCi0gICBpZiAocGF0dGVybl9maWxlX25hbWUpCi1kaWZmIC0tZ2l0IGEvc3JjL2NvcHlvdXQuYyBiL3NyYy9jb3B5b3V0LmMKLWluZGV4IDc1MzJkYWMuLmZiODkwY2IgMTAwNjQ0Ci0tLS0gYS9zcmMvY29weW91dC5jCi0rKysgYi9zcmMvY29weW91dC5jCi1AQCAtNTk0LDYgKzU5NCw3IEBAIHByb2Nlc3NfY29weV9vdXQgKCkKLSAKLSAgIC8qIEluaXRpYWxpemUgdGhlIGNvcHkgb3V0LiAgKi8KLSAgIGRzX2luaXQgKCZpbnB1dF9uYW1lLCAxMjgpOwotKyAgbWVtc2V0ICgmZmlsZV9oZHIsIDAsIHNpemVvZiAoc3RydWN0IGNwaW9fZmlsZV9zdGF0KSk7Ci0gICBmaWxlX2hkci5jX21hZ2ljID0gMDcwNzA3OwotIAotICAgLyogQ2hlY2sgd2hldGhlciB0aGUgb3V0cHV0IGZpbGUgbWlnaHQgYmUgYSB0YXBlLiAgKi8KLWRpZmYgLS1naXQgYS9zcmMvY3Bpb2hkci5oIGIvc3JjL2NwaW9oZHIuaAotaW5kZXggNTg4MTM1Yi4uY2Y2NGYzZSAxMDA2NDQKLS0tLSBhL3NyYy9jcGlvaGRyLmgKLSsrKyBiL3NyYy9jcGlvaGRyLmgKLUBAIC0xMjcsNiArMTI3LDcgQEAgc3RydWN0IGNwaW9fZmlsZV9zdGF0IC8qIEludGVybmFsIHJlcHJlc2VudGF0aW9uIG9mIGEgQ1BJTyBoZWFkZXIgKi8KLSAgIHVpbnQzMl90IGNfY2hrc3VtOwotICAgY2hhciAqY19uYW1lOwotICAgY2hhciAqY190YXJfbGlua25hbWU7Ci0rICBzaXplX3QgY19uYW1lX2J1ZmxlbjsKLSB9OwotIAotIHZvaWQgY3Bpb19zZXRfY19uYW1lKHN0cnVjdCBjcGlvX2ZpbGVfc3RhdCAqZmlsZV9oZHIsIGNoYXIgKm5hbWUpOwogZGlmZiAtLWdpdCBhL3NyYy91dGlsLmMgYi9zcmMvdXRpbC5jCi1pbmRleCAxMDQ4NmRjLi4xMjU2NDY5IDEwMDY0NAoraW5kZXggMTA0ODZkYy4uNGU0OTEyNCAxMDA2NDQKIC0tLSBhL3NyYy91dGlsLmMKICsrKyBiL3NyYy91dGlsLmMKLUBAIC0xNDEzLDcgKzE0MTMsNyBAQCBzZXRfZmlsZV90aW1lcyAoaW50IGZkLAorQEAgLTE0MTMsMjIgKzE0MTMsMTMgQEAgc2V0X2ZpbGVfdGltZXMgKGludCBmZCwKICB2b2lkCiAgY3Bpb19zZXRfY19uYW1lIChzdHJ1Y3QgY3Bpb19maWxlX3N0YXQgKmZpbGVfaGRyLCBjaGFyICpuYW1lKQogIHsKLS0gIHN0YXRpYyBzaXplX3QgYnVmbGVuID0gMDsKLSsgIHNpemVfdCBidWZsZW4gPSBmaWxlX2hkci0+Y19uYW1lX2J1ZmxlbjsKKysgIHN0YXRpYyBjaGFyICpidWYgPSBOVUxMOworICAgc3RhdGljIHNpemVfdCBidWZsZW4gPSAwOwogICAgc2l6ZV90IGxlbiA9IHN0cmxlbiAobmFtZSkgKyAxOwogIAotICAgaWYgKGJ1ZmxlbiA9PSAwKQotQEAgLTE0MzAsNiArMTQzMCw3IEBAIGNwaW9fc2V0X2NfbmFtZSAoc3RydWN0IGNwaW9fZmlsZV9zdGF0ICpmaWxlX2hkciwgY2hhciAqbmFtZSkKLSAgICAgfQotIAorLSAgaWYgKGJ1ZmxlbiA9PSAwKQorLSAgICB7CistICAgICAgYnVmbGVuID0gbGVuOworLSAgICAgIGlmIChidWZsZW4gPCAzMikKKy0gICAgICAgIGJ1ZmxlbiA9IDMyOworLSAgICAgIGZpbGVfaGRyLT5jX25hbWUgPSB4bWFsbG9jIChidWZsZW4pOworLSAgICB9CistICBlbHNlIGlmIChidWZsZW4gPCBsZW4pCistICAgIHsKKy0gICAgICBidWZsZW4gPSBsZW47CistICAgICAgZmlsZV9oZHItPmNfbmFtZSA9IHhyZWFsbG9jIChmaWxlX2hkci0+Y19uYW1lLCBidWZsZW4pOworLSAgICB9CistCisrICB3aGlsZSAoYnVmbGVuIDwgbGVuKQorKyAgICBidWYgPSB4MnJlYWxsb2MgKGJ1ZiwgJmJ1Zmxlbik7CisrICBmaWxlX2hkci0+Y19uYW1lID0gYnVmOwogICAgZmlsZV9oZHItPmNfbmFtZXNpemUgPSBsZW47Ci0rICBmaWxlX2hkci0+Y19uYW1lX2J1ZmxlbiA9IGJ1ZmxlbjsKICAgIG1lbW1vdmUgKGZpbGVfaGRyLT5jX25hbWUsIG5hbWUsIGxlbik7CiAgfQotIAogLS0gCi0yLjExLjAKKzIuMTguMAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcGlvL2NwaW9fMi4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2NwaW8vY3Bpb18yLjEyLmJiCmluZGV4IDZiYTgzMzcuLmNiODQ1YzMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2NwaW8vY3Bpb18yLjEyLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2NwaW8vY3Bpb18yLjEyLmJiCkBAIC0yNyw2ICsyNyw5IEBACiAgICAgICAgIG12ICIke0R9JHtiaW5kaXJ9L2NwaW8iICIke0R9JHtiYXNlX2JpbmRpcn0vY3BpbyIKICAgICAgICAgcm1kaXIgJHtEfSR7YmluZGlyfS8KICAgICBmaQorCisgICAgIyBBdm9pZCBjb25mbGljdHMgd2l0aCB0aGUgdmVyc2lvbiBmcm9tIHRhcgorICAgIG12ICIke0R9JHttYW5kaXJ9L21hbjgvcm10LjgiICIke0R9JHttYW5kaXJ9L21hbjgvcm10LWNwaW8uOCIKIH0KIAogUEFDS0FHRVMgPSsgIiR7UE59LXJtdCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwcy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHMuaW5jCmluZGV4IGMxNDJhNGQuLjUwMTBmMDggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwcy5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Vwcy9jdXBzLmluYwpAQCAtMjksNyArMjksNyBAQAogICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbSBzeXN0ZW1kJywgZCl9IgogUEFDS0FHRUNPTkZJR1thdmFoaV0gPSAiLS1lbmFibGUtYXZhaGksLS1kaXNhYmxlLWF2YWhpLGF2YWhpIgogUEFDS0FHRUNPTkZJR1thY2xdID0gIi0tZW5hYmxlLWFjbCwtLWRpc2FibGUtYWNsLGFjbCIKLVBBQ0tBR0VDT05GSUdbcGFtXSA9ICItLWVuYWJsZS1wYW0sIC0tZGlzYWJsZS1wYW0sIGxpYnBhbSIKK1BBQ0tBR0VDT05GSUdbcGFtXSA9ICItLWVuYWJsZS1wYW0gLS13aXRoLXBhbS1tb2R1bGU9dW5peCwgLS1kaXNhYmxlLXBhbSwgbGlicGFtIgogUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZD0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LC0td2l0aG91dC1zeXN0ZW1kLHN5c3RlbWQiCiBQQUNLQUdFQ09ORklHW3hpbmV0ZF0gPSAiLS13aXRoLXhpbmV0ZD0ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kLC0td2l0aG91dC14aW5ldGQseGluZXRkIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHMvMDAwMS1kb24tdC10cnktdG8tcnVuLWdlbmVyYXRlZC1iaW5hcmllcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwcy8wMDAxLWRvbi10LXRyeS10by1ydW4tZ2VuZXJhdGVkLWJpbmFyaWVzLnBhdGNoCmluZGV4IGRiMDEzY2YuLmQ2YTY5ZjIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwcy8wMDAxLWRvbi10LXRyeS10by1ydW4tZ2VuZXJhdGVkLWJpbmFyaWVzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwcy8wMDAxLWRvbi10LXRyeS10by1ydW4tZ2VuZXJhdGVkLWJpbmFyaWVzLnBhdGNoCkBAIC0xLDIwICsxLDIxIEBACi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1Gcm9tIDkwMDY5NTg2MTY3YjkzMGJlZmNlNzMwM2FlYTU3MDc4ZjA0YjRlZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDFmYjA3MTYyYTllZDE4N2NjY2YwNmUzNGM5YmY4NDFkMTVjNmU2NGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgogRGF0ZTogU3VuLCAzMCBKYW4gMjAxMSAxNjozNzoyNyArMDEwMAogU3ViamVjdDogW1BBVENIXSBkb24ndCB0cnkgdG8gcnVuIGdlbmVyYXRlZCBiaW5hcmllcwogCi1TaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgotLS0tCi0gcHBkYy9NYWtlZmlsZSB8ICAgMzAgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCiAKLUluZGV4OiBjdXBzLTIuMi42L3BwZGMvTWFrZWZpbGUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjdXBzLTIuMi42Lm9yaWcvcHBkYy9NYWtlZmlsZQotKysrIGN1cHMtMi4yLjYvcHBkYy9NYWtlZmlsZQotQEAgLTIyOCw4ICsyMjgsOCBAQCBnZW5zdHJpbmdzOgkJZ2Vuc3RyaW5ncy5vIGxpYmN1cHNwcGRjLmEKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CisKKy0tLQorIHBwZGMvTWFrZWZpbGUgfCAzMiArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3BwZGMvTWFrZWZpbGUgYi9wcGRjL01ha2VmaWxlCitpbmRleCBlNTYzOTg4Li45NzNkZDNmIDEwMDY0NAorLS0tIGEvcHBkYy9NYWtlZmlsZQorKysrIGIvcHBkYy9NYWtlZmlsZQorQEAgLTE4OSw4ICsxODksOCBAQCBnZW5zdHJpbmdzOgkJZ2Vuc3RyaW5ncy5vIGxpYmN1cHNwcGRjLmEgLi4vY3Vwcy8kKExJQkNVUFNTVEFUSUMpIFwKICAJJChMRF9DWFgpICQoQVJDSEZMQUdTKSAkKExERkxBR1MpIC1vIGdlbnN0cmluZ3MgZ2Vuc3RyaW5ncy5vIFwKICAJCWxpYmN1cHNwcGRjLmEgLi4vY3Vwcy8kKExJQkNVUFNTVEFUSUMpICQoTElCR1NTQVBJKSAkKFNTTExJQlMpIFwKICAJCSQoRE5TU0RMSUJTKSAkKENPTU1PTkxJQlMpICQoTElCWikKQEAgLTI1LDEwICsyNiwxMCBAQAogIAogIAogICMKLUBAIC0yNDYsOSArMjQ2LDkgQEAgcHBkYy1zdGF0aWM6CQlwcGRjLm8gbGliY3Vwc3BwZGMuYSAuLi9jdQotIAkkKExEX0NYWCkgJChBUkNIRkxBR1MpICQoTERGTEFHUykgLW8gcHBkYy1zdGF0aWMgcHBkYy5vIGxpYmN1cHNwcGRjLmEgXAorQEAgLTIwOSw5ICsyMDksOSBAQCBwcGRjLXN0YXRpYzoJCXBwZGMubyBsaWJjdXBzcHBkYy5hIC4uL2N1cHMvJChMSUJDVVBTU1RBVElDKSBmb28uZHJ2IGZvby1mci5wbwogIAkJLi4vY3Vwcy8kKExJQkNVUFNTVEFUSUMpICQoTElCR1NTQVBJKSAkKFNTTExJQlMpICQoRE5TU0RMSUJTKSBcCiAgCQkkKENPTU1PTkxJQlMpICQoTElCWikKKyAJJChDT0RFX1NJR04pIC1zICIkKENPREVfU0lHTl9JREVOVElUWSkiICRACiAtCWVjaG8gVGVzdGluZyBQUEQgY29tcGlsZXIuLi4KIC0JLi9wcGRjLXN0YXRpYyAtbCBlbixmciAtSSAuLi9kYXRhIGZvby5kcnYKIC0JLi9wcGRjLXN0YXRpYyAtbCBlbixmciAteiAtSSAuLi9kYXRhIGZvby5kcnYKQEAgLTM4LDEwICszOSwxMCBAQAogIAogIAogICMKLUBAIC0yNzQsMTcgKzI3NCwxNyBAQCBwcGRpLXN0YXRpYzoJCXBwZGMtc3RhdGljIHBwZGkubyBsaWJjdXBzCi0gCSQoTERfQ1hYKSAkKEFSQ0hGTEFHUykgJChMREZMQUdTKSAtbyBwcGRpLXN0YXRpYyBwcGRpLm8gbGliY3Vwc3BwZGMuYSBcCitAQCAtMjQwLDE3ICsyNDAsMTcgQEAgcHBkaS1zdGF0aWM6CQlwcGRjLXN0YXRpYyBwcGRpLm8gbGliY3Vwc3BwZGMuYSAgLi4vY3Vwcy8kKExJQkNVUFNTVEFUSUMpCiAgCQkuLi9jdXBzLyQoTElCQ1VQU1NUQVRJQykgJChMSUJHU1NBUEkpICQoU1NMTElCUykgJChETlNTRExJQlMpIFwKICAJCSQoQ09NTU9OTElCUykgJChMSUJaKQorIAkkKENPREVfU0lHTikgLXMgIiQoQ09ERV9TSUdOX0lERU5USVRZKSIgJEAKIC0JZWNobyBUZXN0aW5nIFBQRCBpbXBvcnRlci4uLgogLQkkKFJNKSAtciBwcGQgcHBkMiBzYW1wbGUtaW1wb3J0LmRydgogLQkuL3BwZGMtc3RhdGljIC1sIGVuIC1JIC4uL2RhdGEgc2FtcGxlLmRydgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Vwcy9jdXBzXzIuMi4xMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwc18yLjIuMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDkwYzg0ZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwc18yLjIuMTAuYmIKQEAgLTAsMCArMSw2IEBACityZXF1aXJlIGN1cHMuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT1mMjEyYjQzMzhkYjBkYThjYjg5MmU5NGJmMjk0OTQ2MCIKKworU1JDX1VSSVttZDVzdW1dID0gIjNkMjJkNzQ3NDAzZWM1ZGNkMGI2NmQxMzMyNTY0ODE2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc3YzhiMmIzYmI3ZmU4YjVmYmZmZmMzMDdmMmM4MTdiMmQ3ZWM2N2I2NTdmMjYxYTFkZDFjNjFhYjgxMjA1YmIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHNfMi4yLjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHNfMi4yLjguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlMWJkODQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Vwcy9jdXBzXzIuMi44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi1yZXF1aXJlIGN1cHMuaW5jCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT1mMjEyYjQzMzhkYjBkYThjYjg5MmU5NGJmMjk0OTQ2MCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjMzMTUwZDA4OTkzYTA0YzhlMjIxNzZlOTM4MDVhMDUxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM5NjhmYzFkMjZmYzQ4NzI3NTA4ZGIxYzEzODBlMzZjNjY5NGFiOTAxNzdmZDY5MjBhZWM1ZjZjYzczYWY5ZTQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzLTMuNi8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlscy0zLjYvMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmExYTRiYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzLTMuNi8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotRnJvbSBiOTU2NWRjMmZlMGM0ZjdkYWFlYzkxYjdlODNiYzczMTNkZWUyZjRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMTMgQXByIDIwMTUgMTc6MDI6MTMgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gVW5zZXQgbmVlZF9jaGFyc2V0X2FsaWFzIHdoZW4gYnVpbGRpbmcgZm9yIG11c2wKLQotbG9jYWxjaGFyc2V0IHVzZXMgYWNfY3ZfZ251X2xpYnJhcnlfMl8xIGZyb20gZ2xpYmMyMS5tNAotd2hpY2ggYWN0dWFsbHkgc2hvdWRsIGJlIGZpeGVkIGluIGdudWxpYiBhbmQgdGhlbiBhbGwgZG93bnN0cmVhbQotcHJvamVjdHMgd2lsbCBnZXQgaXQgZXZlbnR1YWxseS4gRm9yIG5vdyB3ZSBhcHBseSB0aGUgZml4IHRvCi1jb3JldXRpbHMKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsaWIvZ251bGliLm1rIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliL2dudWxpYi5tayBiL2xpYi9nbnVsaWIubWsKLWluZGV4IGUxZDc0ZGIuLmMwZTkyZGQgMTAwNjQ0Ci0tLS0gYS9saWIvZ251bGliLm1rCi0rKysgYi9saWIvZ251bGliLm1rCi1AQCAtMTg4Miw3ICsxODgyLDcgQEAgaW5zdGFsbC1leGVjLWxvY2FsY2hhcnNldDogYWxsLWxvY2FsCi0gCSAgY2FzZSAnJChob3N0X29zKScgaW4gXAotIAkgICAgZGFyd2luWzU2XSopIFwKLSAJICAgICAgbmVlZF9jaGFyc2V0X2FsaWFzPXRydWUgOzsgXAotLQkgICAgZGFyd2luKiB8IGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikgXAotKwkgICAgZGFyd2luKiB8IGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKiB8IGxpbnV4LW11c2wqKSBcCi0gCSAgICAgIG5lZWRfY2hhcnNldF9hbGlhcz1mYWxzZSA7OyBcCi0gCSAgICAqKSBcCi0gCSAgICAgIG5lZWRfY2hhcnNldF9hbGlhcz10cnVlIDs7IFwKLS0tIAotMi4xLjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlscy0zLjYvMDAwMS1leHBsaWNpdGx5LWRpc2FibGUtcmVwbGFjaW5nLWdldG9wdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMtMy42LzAwMDEtZXhwbGljaXRseS1kaXNhYmxlLXJlcGxhY2luZy1nZXRvcHQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1MWY4N2MuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlscy0zLjYvMDAwMS1leHBsaWNpdGx5LWRpc2FibGUtcmVwbGFjaW5nLWdldG9wdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLVN1YmplY3Q6IGV4cGxpY2l0bHkgZGlzYWJsZSByZXBsYWNpbmcgZ2V0b3B0Ci0KLUV4cGxpY2l0bHkgZGlzYWJsZSByZXBsYWNpbmcgZ2V0b3B0IHRvIGF2b2lkIGNvbXBpbGF0aW9uIGVycm9yIGxpa2UgYmVsb3cuCi0KLSAgeHN0cnRvbC1lcnJvci5jOjg0OjI2OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBycGxfb3B0aW9uJwotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW3dvcmthcm91bmRdCi1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBtNC9nZXRvcHQubTQgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbTQvZ2V0b3B0Lm00IGIvbTQvZ2V0b3B0Lm00Ci1pbmRleCAzZWJjN2I3Li44OTM0NDI2IDEwMDY0NAotLS0tIGEvbTQvZ2V0b3B0Lm00Ci0rKysgYi9tNC9nZXRvcHQubTQKLUBAIC0yMiw4ICsyMiw4IEBAIEFDX0RFRlVOKFtnbF9GVU5DX0dFVE9QVF9QT1NJWF0sCi0gICAgIGZpCi0gICBdKQotICAgaWYgdGVzdCAkUkVQTEFDRV9HRVRPUFQgPSAxOyB0aGVuCi0tICAgIGRubCBBcnJhbmdlIGZvciBnZXRvcHQuaCB0byBiZSBjcmVhdGVkLgotLSAgICBnbF9HRVRPUFRfU1VCU1RJVFVURV9IRUFERVIKLSsgICAgZG5sIEV4cGxpY2l0bHkgZGlzYWJsZSByZXBsYWNpbmcgZ2V0b3B0Ci0rICAgIDoKLSAgIGZpCi0gXSkKLSAKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMtMy42L3J1bi1wdGVzdCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMvcnVuLXB0ZXN0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzLTMuNi9ydW4tcHRlc3QKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMvcnVuLXB0ZXN0CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzXzMuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHNfMy42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YmE4OTdkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHNfMy42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotTElDRU5TRSA9ICJHUEx2MysiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLQotcmVxdWlyZSBkaWZmdXRpbHMuaW5jCi0KLVNSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS9kaWZmdXRpbHMvZGlmZnV0aWxzLSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0iCi1TUkNfVVJJX2FwcGVuZF9saWJjLWdsaWJjID0gIiBmaWxlOi8vMDAwMS1leHBsaWNpdGx5LWRpc2FibGUtcmVwbGFjaW5nLWdldG9wdC5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjA3Y2YyODY2NzJjZWQyNmZiYTU0Y2QwMzEzYmRjMDcxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ2MjFlOGJkZDRiNTczOTE4YzgxNDVmN2FlNjE4MTdkMWJlOWRlYjRjOGQyMzI4YTY1Y2VhOGUxMWQ3ODNiZDYiCi0KLUVYVFJBX09FQ09ORiArPSAiYWNfY3ZfcGF0aF9QUl9QUk9HUkFNPSR7YmluZGlyfS9wciAtLXdpdGhvdXQtbGlic2lnc2Vndi1wcmVmaXgiCi0KLSMgRml4ICJBcmd1bWVudCBsaXN0IHRvbyBsb25nIiBlcnJvciB3aGVuIGxlbihUTVBESVIpID0gNDEwCi1hY3BhdGhzID0gIi1JIC4vbTQiCi0KLWluaGVyaXQgcHRlc3QKLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm1ha2UiCi0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0JdD0ke0R9JHtQVEVTVF9QQVRIfQotCWluc3RhbGwgLUQgJHtTfS9idWlsZC1hdXgvdGVzdC1kcml2ZXIgJHQvYnVpbGQtYXV4L3Rlc3QtZHJpdmVyCi0JY3AgLXIgJHtTfS90ZXN0cyAkdC8KLQlpbnN0YWxsICR7Qn0vdGVzdHMvTWFrZWZpbGUgJHQvdGVzdHMvCi0Jc2VkIC1lICdzLC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGcnIFwKLQkgICAgLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAotCSAgICAtZSAnczoke0hPU1RUT09MU19ESVJ9Lzo6ZycgXAotCSAgICAtZSAnczoke1JFQ0lQRV9TWVNST09UX05BVElWRX06OmcnIFwKLQkgICAgLWUgJ3M6JHtCQVNFX1dPUktESVJ9LyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9OjpnJyBcCi0JICAgIC1lICdzfF5NYWtlZmlsZTp8X01ha2VmaWxlOnwnIFwKLQkgICAgLWUgJ3N8YmFzaHxzaHwnIFwKLQkgICAgLWUgJ3N8XnRvcF9zcmNkaXIgPSBcKC4qXCl8dG9wX3NyY2RpciA9IC4uXC98JyBcCi0JICAgIC1lICdzfF5zcmNkaXIgPSBcKC4qXCl8c3JjZGlyID0gLnwnIFwKLQkgICAgLWUgJ3N8ImAkKGJ1aWx0X3Byb2dyYW1zKWAifGRpZmZ8JyBcCi0JICAgIC1lICdzfGdhd2t8YXdrfGcnIFwKLQkgICAgLWkgJHQvdGVzdHMvTWFrZWZpbGUKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHNfMy43LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlsc18zLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RhZWVlMwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHNfMy43LmJiCkBAIC0wLDAgKzEsMzkgQEAKK0xJQ0VOU0UgPSAiR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK3JlcXVpcmUgZGlmZnV0aWxzLmluYworCitTUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZGlmZnV0aWxzL2RpZmZ1dGlscy0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ4MjRhZGMwZTk1ZGJiZjExZGZiZGZhYWQ2YTFlNDYxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIzYTdhNjIyMWMzZGM5MTYwODVmMGQyMDVhYmY2YjhlMWJhNDQzZDRkZDk2NTExOGRhMzY0YTFkYzFjYjNhMjYiCisKK0VYVFJBX09FQ09ORiArPSAiYWNfY3ZfcGF0aF9QUl9QUk9HUkFNPSR7YmluZGlyfS9wciAtLXdpdGhvdXQtbGlic2lnc2Vndi1wcmVmaXgiCisKKyMgRml4ICJBcmd1bWVudCBsaXN0IHRvbyBsb25nIiBlcnJvciB3aGVuIGxlbihUTVBESVIpID0gNDEwCithY3BhdGhzID0gIi1JIC4vbTQiCisKK2luaGVyaXQgcHRlc3QKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm1ha2UiCisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisJdD0ke0R9JHtQVEVTVF9QQVRIfQorCWluc3RhbGwgLUQgJHtTfS9idWlsZC1hdXgvdGVzdC1kcml2ZXIgJHQvYnVpbGQtYXV4L3Rlc3QtZHJpdmVyCisJY3AgLXIgJHtTfS90ZXN0cyAkdC8KKwlpbnN0YWxsICR7Qn0vdGVzdHMvTWFrZWZpbGUgJHQvdGVzdHMvCisJc2VkIC1lICdzLC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGcnIFwKKwkgICAgLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAorCSAgICAtZSAnczoke0hPU1RUT09MU19ESVJ9Lzo6ZycgXAorCSAgICAtZSAnczoke1JFQ0lQRV9TWVNST09UX05BVElWRX06OmcnIFwKKwkgICAgLWUgJ3M6JHtCQVNFX1dPUktESVJ9LyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9OjpnJyBcCisJICAgIC1lICdzfF5NYWtlZmlsZTp8X01ha2VmaWxlOnwnIFwKKwkgICAgLWUgJ3N8YmFzaHxzaHwnIFwKKwkgICAgLWUgJ3N8XnRvcF9zcmNkaXIgPSBcKC4qXCl8dG9wX3NyY2RpciA9IC4uXC98JyBcCisJICAgIC1lICdzfF5zcmNkaXIgPSBcKC4qXCl8c3JjZGlyID0gLnwnIFwKKwkgICAgLWUgJ3N8ImAkKGJ1aWx0X3Byb2dyYW1zKWAifGRpZmZ8JyBcCisJICAgIC1lICdzfGdhd2t8YXdrfGcnIFwKKwkgICAgLWkgJHQvdGVzdHMvTWFrZWZpbGUKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2VkL2VkXzEuMTQuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2VkL2VkXzEuMTQuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODdkMDNiMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9lZC9lZF8xLjE0LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1TVU1NQVJZID0gIkxpbmUtb3JpZW50ZWQgdGV4dCBlZGl0b3IiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZWQvIgotCi1MSUNFTlNFID0gIkdQTHYzKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTBjNzA1MWFlZjkyMTlkYzcyMzdmMjA2YzVjNDE3OWE3IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2VkLmg7ZW5kbGluZT0yMDttZDU9NGUzNmI3YTQwZTEzN2Y0MmFlZTcxODE2NTU5MGQxMjUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbWFpbi5jO2VuZGxpbmU9MTc7bWQ1PWM1YjhmNzhmMTE1ZGYxODdhZjc2ODY4YTJhZWFkMTZhIgotCi1TRUNUSU9OID0gImJhc2UiCi0KLSMgTFNCIHN0YXRlcyB0aGF0IGVkIHNob3VsZCBiZSBpbiAvYmluLwotYmluZGlyID0gIiR7YmFzZV9iaW5kaXJ9IgotCi0jIFVwc3RyZWFtIHJlZ3VsYXJseSByZW1vdmVzIHByZXZpb3VzIHJlbGVhc2VzIGZyb20gaHR0cHM6Ly9mdHAuZ251Lm9yZy9nbnUvZWQvCi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZWQvJHtCUH0udGFyLmx6IgotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7R05VX01JUlJPUn0vZWQvIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMjczZDA0Nzc4YjJhNTFmN2MzY2JmY2QyMDAxODc2YmYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjU3OTYyYmE5MzBkNzBkMDJmYzcxZDZiZTVjNWYyMzQ2YjE2OTkyYTQ1NWFiOWM0M2JlNzA2MWRlYzk4MTBkYiIKLQotRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCi0KLWluaGVyaXQgdGV4aW5mbwotCi1kb19jb25maWd1cmUoKSB7Ci0JJHtTfS9jb25maWd1cmUKLX0KLQotZG9faW5zdGFsbCgpIHsKLQlvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKLQkjIEluZm8gZGlyIGxpc3RpbmcgaXNuJ3QgaW50ZXJlc3RpbmcgYXQgdGhpcyBwb2ludCBzbyByZW1vdmUgaXQgaWYgaXQgZXhpc3RzLgotCWlmIFsgLWUgIiR7RH0ke2luZm9kaXJ9L2RpciIgXTsgdGhlbgotCQlybSAtZiAke0R9JHtpbmZvZGlyfS9kaXIKLQlmaQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZWQvZWRfMS4xNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2VkL2VkXzEuMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzc5MzEwMwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2VkL2VkXzEuMTUuYmIKQEAgLTAsMCArMSwzNiBAQAorU1VNTUFSWSA9ICJMaW5lLW9yaWVudGVkIHRleHQgZWRpdG9yIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VkLyIKKworTElDRU5TRSA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wYzcwNTFhZWY5MjE5ZGM3MjM3ZjIwNmM1YzQxNzlhNyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9lZC5oO2VuZGxpbmU9MjA7bWQ1PThhZjhlN2RjNzI3NWRjYTA1Y2U2YzllN2VjZTdhZWM4IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL21haW4uYztlbmRsaW5lPTE3O21kNT1kNGRkNmE2MmM1MDI3MTIzNThjYTE4NTUxZjk3ODc4MSBcCisgICAgICAgICAgICAgICAgICAgICIKKworU0VDVElPTiA9ICJiYXNlIgorCisjIExTQiBzdGF0ZXMgdGhhdCBlZCBzaG91bGQgYmUgaW4gL2Jpbi8KK2JpbmRpciA9ICIke2Jhc2VfYmluZGlyfSIKKworIyBVcHN0cmVhbSByZWd1bGFybHkgcmVtb3ZlcyBwcmV2aW91cyByZWxlYXNlcyBmcm9tIGh0dHBzOi8vZnRwLmdudS5vcmcvZ251L2VkLworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2VkLyR7QlB9LnRhci5seiIKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0dOVV9NSVJST1J9L2VkLyIKKworU1JDX1VSSVttZDVzdW1dID0gImQzYWFlYjVlYjAzMjE0Mjk0OGQ3YTJmOThhMjQ4OTliIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFkNDQ4OWMwYWQ3YTEwOGM1MTQyNjJkYTI4ZTZjMmE0MjY5NDZmYjQwOGEzOTc3ZWYxZWQzNDMwOGJkZmQxNzQiCisKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCitpbmhlcml0IHRleGluZm8KKworZG9fY29uZmlndXJlKCkgeworCSR7U30vY29uZmlndXJlCit9CisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCisJIyBJbmZvIGRpciBsaXN0aW5nIGlzbid0IGludGVyZXN0aW5nIGF0IHRoaXMgcG9pbnQgc28gcmVtb3ZlIGl0IGlmIGl0IGV4aXN0cy4KKwlpZiBbIC1lICIke0R9JHtpbmZvZGlyfS9kaXIiIF07IHRoZW4KKwkJcm0gLWYgJHtEfSR7aW5mb2Rpcn0vZGlyCisJZmkKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2ZpbmR1dGlscy9maW5kdXRpbHNfNC42LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9maW5kdXRpbHMvZmluZHV0aWxzXzQuNi4wLmJiCmluZGV4IDVlNGNhOTQuLjNiNjJlZDkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2ZpbmR1dGlscy9maW5kdXRpbHNfNC42LjAuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZmluZHV0aWxzL2ZpbmR1dGlsc180LjYuMC5iYgpAQCAtMTYsNiArMTYsNiBAQAogU1JDX1VSSVtzaGEyNTZzdW1dID0gImRlZDRjOWY3MzczMWNkNDhmZWMzYjZiZGFjY2NlODk2NDczYjZkOGUzMzdlOTYxMmUxNmNmMTQzMWJiMTE2OWQiCiAKICMgaHR0cDovL3NhdmFubmFoLmdudS5vcmcvYnVncy8/MjcyOTkKLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xpYmMtcG9zaXgtY2xhbmctd2NoYXInLCAnZ2xfY3ZfZnVuY193Y3dpZHRoX3dvcmtzPXllcycsICcnLCBkKX0iCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiZ2xfY3ZfZnVuY193Y3dpZHRoX3dvcmtzPXllcyIKIAogRVhUUkFfT0VDT05GICs9ICJhY19jdl9wYXRoX1NPUlQ9JHtiaW5kaXJ9L3NvcnQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyYzFhZGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDAxLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTc3ICswLDAgQEAKLUZyb20gYzhjNzc2OTAxOTliNjc3ZjcwMDkzODI0MzgyZjA4ODFlNjQzZTE3YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzIExpZGRlbGwgPGNocmlzLmxpZGRlbGxAYXJ0aWZleC5jb20+Ci1EYXRlOiBXZWQsIDUgRGVjIDIwMTggMTI6MjI6MTMgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzddIFNhbml0aXplIG9wIHN0YWNrIGZvciBlcnJvciBjb25kaXRpb25zCi0KLVdlIHNhdmUgdGhlIHN0YWNrcyB0byBhbiBhcnJheSBhbmQgc3RvcmUgdGhlIGFycmF5IGZvciB0aGUgZXJyb3IgaGFuZGxlciB0bwotYWNjZXNzLgotCi1Gb3IgU0FGRVIsIHdlIHRyYXZlcnNlIHRoZSBhcnJheSwgYW5kIGRlZXAgY29weSBhbnkgb3AgYXJyYXlzIChwcm9jZWR1cmVzKS4gQXMKLXdlIG1ha2UgdGhlc2UgY29waWVzLCB3ZSBjaGVjayBmb3Igb3BlcmF0b3JzIHRoYXQgZG8gKm5vdCogZXhpc3QgaW4gc3lzdGVtZGljdCwKLXdoZW4gd2UgZmluZCBvbmUsIHdlIHJlcGxhY2UgdGhlIG9wZXJhdG9yIHdpdGggYSBuYW1lIG9iamVjdCAob2YgdGhlIGZvcm0KLSIvLS1vcG5hbWUtLSIpLgotCi1DVkU6IENWRS0yMDE5LTYxMTYKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2dpdDovL2dpdC5naG9zdHNjcmlwdC5jb20vZ2hvc3RwZGwuZ2l0XQotCi1TaWduZWQtb2ZmLWJ5OiBPdmlkaXUgUGFuYWl0IDxvdmlkaXUucGFuYWl0QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBwc2kvaW50Lm1hayAgfCAgMyArLQotIHBzaS9pbnRlcnAuYyB8ICA4ICsrKysrKwotIHBzaS9pc3RhY2suYyB8IDc4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSBwc2kvaXN0YWNrLmggfCAgMyArKwotIDQgZmlsZXMgY2hhbmdlZCwgOTEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvcHNpL2ludC5tYWsgYi9wc2kvaW50Lm1hawotaW5kZXggNmFiNWJmMC4uNmIzNDljYiAxMDA2NDQKLS0tLSBhL3BzaS9pbnQubWFrCi0rKysgYi9wc2kvaW50Lm1hawotQEAgLTIwNCw3ICsyMDQsOCBAQCAkKFBTT0JKKWlwYXJhbS4kKE9CSikgOiAkKFBTU1JDKWlwYXJhbS5jICQoR0gpXAotICQoUFNPQkopaXN0YWNrLiQoT0JKKSA6ICQoUFNTUkMpaXN0YWNrLmMgJChHSCkgJChtZW1vcnlfX2gpXAotICAkKGllcnJvcnNfaCkgJChnc3N0cnVjdF9oKSAkKGdzdXRpbF9oKVwKLSAgJChpYWxsb2NfaCkgJChpc3RhY2tfaCkgJChpc3RrcGFybV9oKSAkKGlzdHJ1Y3RfaCkgJChpdXRpbF9oKSAkKGl2bXNwYWNlX2gpXAotLSAkKHN0b3JlX2gpICQoSU5UX01BSykgJChNQUtFRElSUykKLSsgJChzdG9yZV9oKSAkKGljc3RhdGVfaCkgJChpbmFtZV9oKSAkKGRzdGFja19oKSAkKGlkaWN0X2gpIFwKLSsgJChJTlRfTUFLKSAkKE1BS0VESVJTKQotIAkkKFBTQ0MpICQoUFNPXylpc3RhY2suJChPQkopICQoQ18pICQoUFNTUkMpaXN0YWNrLmMKLSAKLSAkKFBTT0JKKWl1dGlsLiQoT0JKKSA6ICQoUFNTUkMpaXV0aWwuYyAkKEdIKSAkKG1hdGhfX2gpICQobWVtb3J5X19oKSAkKHN0cmluZ19faClcCi1kaWZmIC0tZ2l0IGEvcHNpL2ludGVycC5jIGIvcHNpL2ludGVycC5jCi1pbmRleCA2ZGMwZGRhLi5hYTU3NzljIDEwMDY0NAotLS0tIGEvcHNpL2ludGVycC5jCi0rKysgYi9wc2kvaW50ZXJwLmMKLUBAIC03NjEsNiArNzYxLDcgQEAgY29weV9zdGFjayhpX2N0eF90ICppX2N0eF9wLCBjb25zdCByZWZfc3RhY2tfdCAqIHBzdGFjaywgaW50IHNraXAsIHJlZiAqIGFycikKLSAgICAgdWludCBzaXplID0gcmVmX3N0YWNrX2NvdW50KHBzdGFjaykgLSBza2lwOwotICAgICB1aW50IHNhdmVfc3BhY2UgPSBpYWxsb2Nfc3BhY2UoaWRtZW1vcnkpOwotICAgICBpbnQgY29kZSwgaTsKLSsgICAgcmVmICpzYWZldHksICpzYWZlOwotIAotICAgICBpZiAoc2l6ZSA+IDY1NTM1KQotICAgICAgICAgc2l6ZSA9IDY1NTM1OwotQEAgLTc3OCw2ICs3NzksMTMgQEAgY29weV9zdGFjayhpX2N0eF90ICppX2N0eF9wLCBjb25zdCByZWZfc3RhY2tfdCAqIHBzdGFjaywgaW50IHNraXAsIHJlZiAqIGFycikKLSAgICAgICAgICAgICAgICAgbWFrZV9udWxsKCZhcnItPnZhbHVlLnJlZnNbaV0pOwotICAgICAgICAgfQotICAgICB9Ci0rICAgIGlmIChwc3RhY2sgPT0gJm9fc3RhY2sgJiYgZGljdF9maW5kX3N0cmluZyhzeXN0ZW1kaWN0LCAiU0FGRVRZIiwgJnNhZmV0eSkgPiAwICYmCi0rICAgICAgICBkaWN0X2ZpbmRfc3RyaW5nKHNhZmV0eSwgInNhZmUiLCAmc2FmZSkgPiAwICYmIHJfaGFzX3R5cGUoc2FmZSwgdF9ib29sZWFuKSAmJgotKyAgICAgICAgc2FmZS0+dmFsdWUuYm9vbHZhbCA9PSB0cnVlKSB7Ci0rICAgICAgICBjb2RlID0gcmVmX3N0YWNrX2FycmF5X3Nhbml0aXplKGlfY3R4X3AsIGFyciwgYXJyKTsKLSsgICAgICAgIGlmIChjb2RlIDwgMCkKLSsgICAgICAgICAgICByZXR1cm4gY29kZTsKLSsgICAgfQotICAgICBpYWxsb2Nfc2V0X3NwYWNlKGlkbWVtb3J5LCBzYXZlX3NwYWNlKTsKLSAgICAgcmV0dXJuIGNvZGU7Ci0gfQotZGlmZiAtLWdpdCBhL3BzaS9pc3RhY2suYyBiL3BzaS9pc3RhY2suYwotaW5kZXggOGZlMTUxZi4uZjFhM2U1MSAxMDA2NDQKLS0tLSBhL3BzaS9pc3RhY2suYwotKysrIGIvcHNpL2lzdGFjay5jCi1AQCAtMjcsNiArMjcsMTAgQEAKLSAjaW5jbHVkZSAiaXV0aWwuaCIKLSAjaW5jbHVkZSAiaXZtc3BhY2UuaCIJCS8qIGZvciBsb2NhbC9nbG9iYWwgdGVzdCAqLwotICNpbmNsdWRlICJzdG9yZS5oIgotKyNpbmNsdWRlICJpY3N0YXRlLmgiCi0rI2luY2x1ZGUgImluYW1lLmgiCi0rI2luY2x1ZGUgImRzdGFjay5oIgotKyNpbmNsdWRlICJpZGljdC5oIgotIAotIC8qIEZvcndhcmQgcmVmZXJlbmNlcyAqLwotIHN0YXRpYyB2b2lkIGluaXRfYmxvY2socmVmX3N0YWNrX3QgKnBzdGFjaywgY29uc3QgcmVmICpwYmxvY2tfYXJyYXksCi1AQCAtMjk0LDYgKzI5OCw4MCBAQCByZWZfc3RhY2tfc3RvcmVfY2hlY2soY29uc3QgcmVmX3N0YWNrX3QgKnBzdGFjaywgcmVmICpwYXJyYXksIHVpbnQgY291bnQsCi0gICAgIHJldHVybiAwOwotIH0KLSAKLStpbnQKLStyZWZfc3RhY2tfYXJyYXlfc2FuaXRpemUoaV9jdHhfdCAqaV9jdHhfcCwgcmVmICpzYXJyLCByZWYgKmRhcnIpCi0rewotKyAgICBpbnQgaSwgY29kZTsKLSsgICAgcmVmIG9iaiwgYXJyMjsKLSsgICAgcmVmICpwb2JqMjsKLSsgICAgZ3NfbWVtb3J5X3QgKm1lbSA9IChnc19tZW1vcnlfdCAqKWlkbWVtb3J5LT5jdXJyZW50OwotKwotKyAgICBpZiAoIXJfaXNfYXJyYXkoc2FycikgfHwgIXJfaGFzX3R5cGUoZGFyciwgdF9hcnJheSkpCi0rICAgICAgICByZXR1cm5fZXJyb3IoZ3NfZXJyb3JfdHlwZWNoZWNrKTsKLSsKLSsgICAgZm9yIChpID0gMDsgaSA8IHJfc2l6ZShzYXJyKTsgaSsrKSB7Ci0rICAgICAgICBjb2RlID0gYXJyYXlfZ2V0KG1lbSwgc2FyciwgaSwgJm9iaik7Ci0rICAgICAgICBpZiAoY29kZSA8IDApCi0rICAgICAgICAgICAgbWFrZV9udWxsKCZvYmopOwotKyAgICAgICAgc3dpdGNoKHJfdHlwZSgmb2JqKSkgewotKyAgICAgICAgICBjYXNlIHRfb3BlcmF0b3I6Ci0rICAgICAgICAgIHsKLSsgICAgICAgICAgICBpbnQgaW5kZXggPSBvcF9pbmRleCgmb2JqKTsKLSsKLSsgICAgICAgICAgICBpZiAoaW5kZXggPiAwICYmIGluZGV4IDwgb3BfZGVmX2NvdW50KSB7Ci0rICAgICAgICAgICAgICAgIGNvbnN0IGJ5dGUgKmRhdGEgPSAoY29uc3QgYnl0ZSAqKShvcF9pbmRleF9kZWYoaW5kZXgpLT5vbmFtZSArIDEpOwotKyAgICAgICAgICAgICAgICBpZiAoZGljdF9maW5kX3N0cmluZyhzeXN0ZW1kaWN0LCAoY29uc3QgY2hhciAqKWRhdGEsICZwb2JqMikgPD0gMCkgewotKyAgICAgICAgICAgICAgICAgICAgYnl0ZSAqcyA9IGdzX2FsbG9jX2J5dGVzKG1lbSwgc3RybGVuKChjaGFyICopZGF0YSkgKyA1LCAicmVmX3N0YWNrX2FycmF5X3Nhbml0aXplIik7Ci0rICAgICAgICAgICAgICAgICAgICBpZiAocykgewotKyAgICAgICAgICAgICAgICAgICAgICAgIHNbMF0gPSAgJ1wwJzsKLSsgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHkoKGNoYXIgKilzLCAiLS0iKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHkoKGNoYXIgKilzICsgMiwgKGNoYXIgKilkYXRhKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHkoKGNoYXIgKilzICsgc3RybGVuKChjaGFyICopZGF0YSkgKyAyLCAiLS0iKTsKLSsgICAgICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgICAgIGVsc2UgewotKyAgICAgICAgICAgICAgICAgICAgICAgIHMgPSAoYnl0ZSAqKWRhdGE7Ci0rICAgICAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgICAgICBjb2RlID0gbmFtZV9yZWYoaW1lbW9yeSwgcywgc3RybGVuKChjaGFyICopcyksICZvYmosIDEpOwotKyAgICAgICAgICAgICAgICAgICAgaWYgKGNvZGUgPCAwKSBtYWtlX251bGwoJm9iaik7Ci0rICAgICAgICAgICAgICAgICAgICBpZiAocyAhPSBkYXRhKQotKyAgICAgICAgICAgICAgICAgICAgICAgIGdzX2ZyZWVfb2JqZWN0KG1lbSwgcywgInJlZl9zdGFja19hcnJheV9zYW5pdGl6ZSIpOwotKyAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgICAgIGVsc2UgewotKyAgICAgICAgICAgICAgICBtYWtlX251bGwoJm9iaik7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgICAgIHJlZl9hc3NpZ24oZGFyci0+dmFsdWUucmVmcyArIGksICZvYmopOwotKyAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgICB9Ci0rICAgICAgICAgIGNhc2UgdF9hcnJheToKLSsgICAgICAgICAgY2FzZSB0X3Nob3J0YXJyYXk6Ci0rICAgICAgICAgIGNhc2UgdF9taXhlZGFycmF5OgotKyAgICAgICAgICB7Ci0rICAgICAgICAgICAgaW50IGF0dHJzID0gcl90eXBlX2F0dHJzKCZvYmopICYgKGFfd3JpdGUgfCBhX3JlYWQgfCBhX2V4ZWN1dGUgfCBhX2V4ZWN1dGFibGUpOwotKyAgICAgICAgICAgIC8qIFdlIG9ubHkgd2FudCB0byBjb3B5IGV4ZWN1dGFibGUgYXJyYXlzICovCi0rICAgICAgICAgICAgaWYgKGF0dHJzICYgKGFfZXhlY3V0ZSB8IGFfZXhlY3V0YWJsZSkpIHsKLSsgICAgICAgICAgICAgICAgY29kZSA9IGlhbGxvY19yZWZfYXJyYXkoJmFycjIsIGF0dHJzLCByX3NpemUoJm9iaiksICJyZWZfc3RhY2tfYXJyYXlfc2FuaXRpemUiKTsKLSsgICAgICAgICAgICAgICAgaWYgKGNvZGUgPCAwKSB7Ci0rICAgICAgICAgICAgICAgICAgICBtYWtlX251bGwoJmFycjIpOwotKyAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgIGVsc2UgewotKyAgICAgICAgICAgICAgICAgICAgY29kZSA9IHJlZl9zdGFja19hcnJheV9zYW5pdGl6ZShpX2N0eF9wLCAmb2JqLCAmYXJyMik7Ci0rICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgcmVmX2Fzc2lnbihkYXJyLT52YWx1ZS5yZWZzICsgaSwgJmFycjIpOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICBlbHNlIHsKLSsgICAgICAgICAgICAgICAgcmVmX2Fzc2lnbihkYXJyLT52YWx1ZS5yZWZzICsgaSwgJm9iaik7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgICB9Ci0rICAgICAgICAgIGRlZmF1bHQ6Ci0rICAgICAgICAgICAgcmVmX2Fzc2lnbihkYXJyLT52YWx1ZS5yZWZzICsgaSwgJm9iaik7Ci0rICAgICAgICB9Ci0rICAgIH0KLSsgICAgcmV0dXJuIDA7Ci0rfQotKwotKwotIC8qCi0gICogU3RvcmUgdGhlIHRvcCAnY291bnQnIGVsZW1lbnRzIG9mIGEgc3RhY2ssIHN0YXJ0aW5nICdza2lwJyBlbGVtZW50cyBiZWxvdwotICAqIHRoZSB0b3AsIGludG8gYW4gYXJyYXksIHdpdGggb3Igd2l0aG91dCBzdG9yZS91bmRvIGNoZWNraW5nLiAgYWdlPS0xIGZvcgotZGlmZiAtLWdpdCBhL3BzaS9pc3RhY2suaCBiL3BzaS9pc3RhY2suaAotaW5kZXggMDUxZGNiZS4uNTRiZTQwNSAxMDA2NDQKLS0tLSBhL3BzaS9pc3RhY2suaAotKysrIGIvcHNpL2lzdGFjay5oCi1AQCAtMTI5LDYgKzEyOSw5IEBAIGludCByZWZfc3RhY2tfc3RvcmUoY29uc3QgcmVmX3N0YWNrX3QgKnBzdGFjaywgcmVmICpwYXJyYXksIHVpbnQgY291bnQsCi0gICAgICAgICAgICAgICAgICAgICB1aW50IHNraXAsIGludCBhZ2UsIGJvb2wgY2hlY2ssCi0gICAgICAgICAgICAgICAgICAgICBnc19kdWFsX21lbW9yeV90ICppZG1lbSwgY2xpZW50X25hbWVfdCBjbmFtZSk7Ci0gCi0raW50Ci0rcmVmX3N0YWNrX2FycmF5X3Nhbml0aXplKGlfY3R4X3QgKmlfY3R4X3AsIHJlZiAqc2FyciwgcmVmICpkYXJyKTsKLSsKLSAvKgotICAqIFBvcCB0aGUgdG9wIE4gZWxlbWVudHMgb2ZmIGEgc3RhY2suCi0gICogVGhlIG51bWJlciBtdXN0IG5vdCBleGNlZWQgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB1c2UuCi0tLSAKLTIuMTguMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3Yzc0ZTcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDAyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDQyICswLDAgQEAKLUZyb20gMjAwMDFkMmJkZjNjYzYwZTc2MjQxYTZhZTcyYjFkZjAxYzU0MjRjNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzIExpZGRlbGwgPGNocmlzLmxpZGRlbGxAYXJ0aWZleC5jb20+Ci1EYXRlOiBUaHUsIDEzIERlYyAyMDE4IDE1OjI4OjM0ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMi83XSBBbnkgdHJhbnNpZW50IHByb2NlZHVyZXMgdGhhdCBjYWxsIC5mb3JjZSogb3BlcmF0b3JzCi0KLShpLmUuIGZvciBjb25kaXRpb25hbHMgb3IgbG9vcHMpIG1ha2UgdGhlbSBleGVjdXRlb25seS4KLQotQ1ZFOiBDVkUtMjAxOS02MTE2Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtnaXQ6Ly9naXQuZ2hvc3RzY3JpcHQuY29tL2dob3N0cGRsLmdpdF0KLQotU2lnbmVkLW9mZi1ieTogT3ZpZGl1IFBhbmFpdCA8b3ZpZGl1LnBhbmFpdEB3aW5kcml2ZXIuY29tPgotLS0tCi0gUmVzb3VyY2UvSW5pdC9nc19kaXNrbi5wcyB8ICAyICstCi0gUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzICB8ICA0ICsrLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2ZudGVtLnBzIHwgIDQgKystLQotIFJlc291cmNlL0luaXQvZ3NfZm9udHMucHMgfCAxMiArKysrKystLS0tLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2luaXQucHMgIHwgIDQgKystLQotIFJlc291cmNlL0luaXQvZ3NfbGV2Mi5wcyAgfCAxMSArKysrKystLS0tLQotIFJlc291cmNlL0luaXQvZ3NfcGRmd3IucHMgfCAgMiArLQotIFJlc291cmNlL0luaXQvZ3NfcmVzLnBzICAgfCAgNCArKy0tCi0gUmVzb3VyY2UvSW5pdC9nc19zZXRwZC5wcyB8ICAyICstCi0gUmVzb3VyY2UvSW5pdC9wZGZfYmFzZS5wcyB8IDEzICsrKysrKysrLS0tLS0KLSBSZXNvdXJjZS9Jbml0L3BkZl9kcmF3LnBzIHwgMTYgKysrKysrKysrLS0tLS0tLQotIFJlc291cmNlL0luaXQvcGRmX2ZvbnQucHMgfCAgNiArKystLS0KLSBSZXNvdXJjZS9Jbml0L3BkZl9tYWluLnBzIHwgIDQgKystLQotIFJlc291cmNlL0luaXQvcGRmX29wcy5wcyAgfCAgNyArKysrLS0tCi0gMTQgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2Rpc2tuLnBzIGIvUmVzb3VyY2UvSW5pdC9nc19kaXNrbi5wcwotaW5kZXggZmQ2OTRiYy4uOGJmMjA1NCAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3NfZGlza24ucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfZGlza24ucHMKLUBAIC01MSw3ICs1MSw3IEBAIHN5c3RlbWRpY3QgYmVnaW4KLSAgICAgbWFyayA1IDEgcm9sbCBdIG1hcmsgZXhjaCB7IHsgfSBmb3JhbGwgfSBmb3JhbGwgXQotICAgICAvL3N5c3RlbWRpY3QgLy5zZWFyY2hhYmxlZGV2cyAyIGluZGV4IC5mb3JjZXB1dAotICAgICBleGNoIC5zZXRnbG9iYWwKLS0gIH0KLSsgIH0gZXhlY3V0ZW9ubHkKLSAgIGlmCi0gfSAuYmluZCBleGVjdXRlb25seSBvZGVmICUgbXVzdCBiZSBib3VuZCBhbmQgaGlkZGVuIGZvciAuZm9yY2VwdXQKLSAKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLWluZGV4IGVjNWRiNjEuLjRmYWUyODMgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfZHBzMS5wcwotQEAgLTc4LDcgKzc4LDcgQEAgbGV2ZWwyZGljdCBiZWdpbgotICAgIC5jdXJyZW50Z2xvYmFsCi0gICAgIHsJCSUgQ3VycmVudCBtb2RlIGlzIGdsb2JhbDsgZGVsZXRlIGZyb20gbG9jYWwgZGlyZWN0b3J5IHRvby4KLSAgICAgICAvL3N5c3RlbWRpY3QgL0xvY2FsRm9udERpcmVjdG9yeSAua25vd25nZXQKLS0gICAgICAgeyAxIGluZGV4IC5mb3JjZXVuZGVmIH0JCSUgTG9jYWxGb250RGlyZWN0b3J5IGlzIHJlYWRvbmx5Ci0rICAgICAgIHsgMSBpbmRleCAuZm9yY2V1bmRlZiB9IGV4ZWN1dGVvbmx5CQklIExvY2FsRm9udERpcmVjdG9yeSBpcyByZWFkb25seQotICAgICAgIGlmCi0gICAgIH0KLSAgICAgewkJJSBDdXJyZW50IG1vZGUgaXMgbG9jYWw7IGlmIHRoZXJlIHdhcyBhIHNoYWRvd2VkIGdsb2JhbAotQEAgLTEyNiw3ICsxMjYsNyBAQCBsZXZlbDJkaWN0IGJlZ2luCi0gICAgICAgICAgIH0KLSAgICAgICAgICBpZmVsc2UKLSAgICAgICAgfSBmb3JhbGwKLS0gICAgICBwb3AgY291bnR0b21hcmsgMiBpZGl2IHsgLmZvcmNldW5kZWYgfSByZXBlYXQgcG9wCQklIHJlYWRvbmx5Ci0rICAgICAgcG9wIGNvdW50dG9tYXJrIDIgaWRpdiB7IC5mb3JjZXVuZGVmIH0gZXhlY3V0ZW9ubHkgcmVwZWF0IHBvcAkJJSByZWFkb25seQotICAgICB9Ci0gICAgaWYKLSAgICAvL1NoYXJlZEZvbnREaXJlY3RvcnkgZXhjaCAuZm9yY2Vjb3B5bmV3IHBvcAotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3NfZm50ZW0ucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2ZudGVtLnBzCi1pbmRleCBjMWY3NjUxLi42ZWI2NzJhIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19mbnRlbS5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19mbnRlbS5wcwotQEAgLTQwMSwxMiArNDAxLDEyIEBAIGN1cnJlbnRkaWN0IGVuZCBkZWYKLSAgICAgICAuZm9yY2VwdXQgJSBGb250SW5mbyBjYW4gYmUgcmVhZC1vbmx5LgotICAgICAgIHBvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBib29sIDxmb250PgotICAgICAgIGV4aXQKLS0gICAgfSBpZgotKyAgICB9IGV4ZWN1dGVvbmx5IGlmCi0gICAgIGR1cCAvRm9udEluZm8gZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIGJvb2wgPGZvbnQ+IDxGST4KLSAgICAgL0dseXBoTmFtZXMyVW5pY29kZSAvVW5pY29kZSAvRGVjb2RpbmcgZmluZHJlc291cmNlCi0gICAgIC5mb3JjZXB1dCAlIEZvbnRJbmZvIGNhbiBiZSByZWFkLW9ubHkuCi0gICAgIGV4aXQKLS0gIH0gbG9vcAotKyAgfSBleGVjdXRlb25seSBsb29wCi0gICBleGNoIHNldGdsb2JhbAotIH0gLmJpbmQgZXhlY3V0ZW9ubHkgb2RlZiAlIG11c3QgYmUgYm91bmQgYW5kIGhpZGRlbiBmb3IgLmZvcmNlcHV0Ci0gCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19mb250cy5wcyBiL1Jlc291cmNlL0luaXQvZ3NfZm9udHMucHMKLWluZGV4IDgwM2ZhY2EuLjI5MGRhMGMgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2ZvbnRzLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX2ZvbnRzLnBzCi1AQCAtMzc0LDcgKzM3NCw3IEBAIEZPTlRQQVRIIGxlbmd0aCAwIGVxIHsgKCVFTkQgRk9OVFBBVEgpIC5za2lwZW9mIH0gaWYKLSAvLnNldG5hdGl2ZWZvbnRtYXBidWlsdCB7ICUgc2V0IHdoZXRoZXIgd2UndmUgYmVlbiBydW4KLSAgIGR1cCB0eXBlIC9ib29sZWFudHlwZSBlcSB7Ci0gICAgICAgc3lzdGVtZGljdCBleGNoIC8ubmF0aXZlZm9udG1hcGJ1aWx0IGV4Y2ggLmZvcmNlcHV0Ci0tICB9Ci0rICB9IGV4ZWN1dGVvbmx5Ci0gICB7cG9wfQotICAgaWZlbHNlCi0gfSAuYmluZCBleGVjdXRlb25seSBvZGVmCi1AQCAtMTAwNywxMSArMTAwNywxMSBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSB7IDIgaW5kZXggZ2NoZWNrIGN1cnJlbnRnbG9iYWwKLSAgIDIgY29weSBlcSB7Ci0gICAgIHBvcCBwb3AgLmZvcmNlcHV0Ci0tICB9IHsKLSsgIH0gZXhlY3V0ZW9ubHkgewotICAgICA1IDEgcm9sbCBzZXRnbG9iYWwKLSAgICAgZHVwIGxlbmd0aCBzdHJpbmcgY29weQotICAgICAuZm9yY2VwdXQgc2V0Z2xvYmFsCi0tICB9IGlmZWxzZQotKyAgfSBleGVjdXRlb25seSBpZmVsc2UKLSB9IC5iaW5kIGV4ZWN1dGVvbmx5IG9kZWYgJSBtdXN0IGJlIGJvdW5kIGFuZCBoaWRkZW4gZm9yIC5mb3JjZXB1dAotIAotICUgQXR0ZW1wdCB0byBsb2FkIGEgZm9udCBmcm9tIGEgZmlsZS4KLUBAIC0xMDg0LDcgKzEwODQsNyBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSAgICAgICAgICAgIC5Gb250RGlyZWN0b3J5IDMgaW5kZXggLmZvcmNldW5kZWYJCSUgcmVhZG9ubHkKLSAgICAgICAgICAgIDEgaW5kZXggKHIpIGZpbGUgLmxvYWRmb250IC5Gb250RGlyZWN0b3J5IGV4Y2gKLSAgICAgICAgICAgIC8uc2V0Z2xvYmFsIC5zeXN0ZW12YXIgZXhlYwotLSAgICAgICAgIH0KLSsgICAgICAgICB9IGV4ZWN1dGVvbmx5Ci0gICAgICAgICAgeyAubG9hZGZvbnQgLkZvbnREaXJlY3RvcnkKLSAgICAgICAgICB9Ci0gICAgICAgICBpZmVsc2UKLUBAIC0xMTA1LDcgKzExMDUsNyBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSAgICAgICAgIGR1cCAzIGluZGV4IC5mb250a25vd25nZXQKLSAgICAgICAgICB7IGR1cCAvUGF0aExvYWQgNCBpbmRleCAucHV0Z3N0cmluZ2NvcHkKLSAgICAgICAgICAgIDQgMSByb2xsIHBvcCBwb3AgcG9wIC8vdHJ1ZSBleGl0Ci0tICAgICAgICAgfSBpZgotKyAgICAgICAgIH0gZXhlY3V0ZW9ubHkgaWYKLSAKLSAgICAgICAgICAgICAgICAgJSBNYXliZSB0aGUgZmlsZSBoYWQgYSBkaWZmZXJlbnQgRm9udE5hbWUuCi0gICAgICAgICAgICAgICAgICUgU2VlIGlmIHdlIGNhbiBnZXQgYSBGb250TmFtZSBmcm9tIHRoZSBmaWxlLCBhbmQgaWYgc28sCi1AQCAtMTEzNCw3ICsxMTM0LDcgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAgICAgICAgICAgICBpZmVsc2UgICUgU3RhY2s6IG9yaWdmb250bmFtZSBmb250ZGljdAotICAgICAgICAgICAgICAgZXhjaCBwb3AgLy90cnVlIGV4aXQKLSAgICAgICAgICAgICAgICAgICAgICAgJSBTdGFjazogZm9udGRpY3QKLS0gICAgICAgICAgICB9Ci0rICAgICAgICAgICAgfSBleGVjdXRlb25seQotICAgICAgICAgICAgaWYgcG9wICUgU3RhY2s6IG9yaWdmb250bmFtZSBmb250ZGlyZWN0b3J5IHBhdGgKLSAgICAgICAgICB9Ci0gICAgICAgICBpZiBwb3AgcG9wICAlIFN0YWNrOiBvcmlnZm9udG5hbWUKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMKLWluZGV4IGQ3MzMxMjQuLjU2YzBiZDIgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfaW5pdC5wcwotQEAgLTIzNTcsNyArMjM1Nyw3IEBAIFNBRkVSIHsgLnNldHNhZmVnbG9iYWwgfSBpZgotICAgICAgICAgJSBVcGRhdGUgdGhlIGNvcHkgb2YgdGhlIHVzZXIgcGFyYW1ldGVycy4KLSAgIG1hcmsgLmN1cnJlbnR1c2VycGFyYW1zIGNvdW50dG9tYXJrIDIgaWRpdiB7Ci0gICAgIHVzZXJwYXJhbXMgMyAxIHJvbGwgLmZvcmNlcHV0CSUgdXNlcnBhcmFtcyBpcyByZWFkLW9ubHkKLS0gIH0gcmVwZWF0IHBvcAotKyAgfSBleGVjdXRlb25seSByZXBlYXQgcG9wCi0gICAgICAgICAlIFR1cm4gb24gaWRpb20gcmVjb2duaXRpb24sIGlmIGF2YWlsYWJsZS4KLSAgIGN1cnJlbnR1c2VycGFyYW1zIC9JZGlvbVJlY29nbml0aW9uIGtub3duIHsKLSAgICAgL0lkaW9tUmVjb2duaXRpb24gLy90cnVlIC5kZWZpbmVwc3VzZXJwYXJhbQotQEAgLTIzNzYsNyArMjM3Niw3IEBAIFNBRkVSIHsgLnNldHNhZmVnbG9iYWwgfSBpZgotICAgICAgICAgJSBSZW1vdmUgcmVhbCBzeXN0ZW0gcGFyYW1zIGZyb20gcHNzeXN0ZW1wYXJhbXMuCi0gICBtYXJrIC5jdXJyZW50c3lzdGVtcGFyYW1zIGNvdW50dG9tYXJrIDIgaWRpdiB7Ci0gICAgIHBvcCBwc3N5c3RlbXBhcmFtcyBleGNoIC5mb3JjZXVuZGVmCi0tICB9IHJlcGVhdCBwb3AKLSsgIH0gZXhlY3V0ZW9ubHkgcmVwZWF0IHBvcAotIH0gaWYKLSAKLSAlIFNldCB1cCBBbGlnblRvUGl4ZWxzIDoKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2xldjIucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2xldjIucHMKLWluZGV4IDQ0ZmU2MTkuLjBmMGQ1NzMgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2xldjIucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfbGV2Mi5wcwotQEAgLTE1NCw3ICsxNTQsOCBAQCBlbmQKLSAgICAgICAlIHByb3RlY3QgdG9wIGxldmVsIG9mIHBhcmFtZXRlcnMgdGhhdCB3ZSBjb3BpZWQKLSAgICAgICBkdXAgdHlwZSBkdXAgL2FycmF5dHlwZSBlcSBleGNoIC9zdHJpbmd0eXBlIGVxIG9yIHsgcmVhZG9ubHkgfSBpZgotICAgICAgIC91c2VycGFyYW1zIC5zeXN0ZW12YXIgMyAxIHJvbGwgLmZvcmNlcHV0ICAlIHVzZXJwYXJhbXMgaXMgcmVhZC1vbmx5Ci0tICAgIH0gewotKyAgICB9IGV4ZWN1dGVvbmx5Ci0rICAgIHsKLSAgICAgICBwb3AgcG9wCi0gICAgIH0gaWZlbHNlCi0gICB9IGZvcmFsbAotQEAgLTIyNCw3ICsyMjUsNyBAQCBlbmQKLSAgICAgICAgICAlIHByb3RlY3QgdG9wIGxldmVsIHBhcmFtZXRlcnMgdGhhdCB3ZSBjb3BpZWQKLSAgICAgICAgICBkdXAgdHlwZSBkdXAgL2FycmF5dHlwZSBlcSBleGNoIC9zdHJpbmd0eXBlIGVxIG9yIHsgcmVhZG9ubHkgfSBpZgotICAgICAgICAgIC8vcHNzeXN0ZW1wYXJhbXMgMyAxIHJvbGwgLmZvcmNlcHV0CSUgcHNzeXN0ZW1wYXJhbXMgaXMgcmVhZC1vbmx5Ci0tICAgICAgIH0KLSsgICAgICAgfSBleGVjdXRlb25seQotICAgICAgICB7IHBvcCBwb3AKLSAgICAgICAgfQotICAgICAgIGlmZWxzZQotQEAgLTkzNCw3ICs5MzUsNyBAQCBtYXJrCi0gICBkdXAgL1BhaW50UHJvYyBnZXQKLSAgIDEgaW5kZXggL0ltcGxlbWVudGF0aW9uIGtub3duIG5vdCB7Ci0gICAgIDEgaW5kZXggZHVwIC9JbXBsZW1lbnRhdGlvbiAvL251bGwgLmZvcmNlcHV0IHJlYWRvbmx5IHBvcAotLSAgfSBpZgotKyAgfSBleGVjdXRlb25seSBpZgotICAgZXhlYwotIH0uYmluZCBvZGVmCi0gCi1AQCAtOTU4LDcgKzk1OSw3IEBAIG1hcmsKLSAgIGR1cCAvUGFpbnRQcm9jIGdldAotICAgMSBpbmRleCAvSW1wbGVtZW50YXRpb24ga25vd24gbm90IHsKLSAgICAgMSBpbmRleCBkdXAgL0ltcGxlbWVudGF0aW9uIC8vbnVsbCAuZm9yY2VwdXQgcmVhZG9ubHkgcG9wCi0tICB9IGlmCi0rICB9IGV4ZWN1dGVvbmx5IGlmCi0gICAvVU5ST0xMRk9STVMgd2hlcmUgey9VTlJPTExGT1JNUyBnZXR9e2ZhbHNlfWlmZWxzZSBub3QKLSAgICUlIFtDVE1dIDw8Rm9ybT4+IFBhaW50UHJvYyAuYmVnaW5mb3JtIC0KLSAgIHsKLUBAIC0xMDA1LDcgKzEwMDYsNyBAQCBtYXJrCi0gICAgICAgICAlJSBGb3JtIGRpY3Rpb2FucnkgdXNpbmcgdGhlIC9JbXBsZW1lbnRhdGlvbiBrZXkpLgotICAgICAgICAgMSBkaWN0IGR1cCAvRm9ybUlEIDQgLTEgcm9sbCBwdXQKLSAgICAgICAgIDEgaW5kZXggZXhjaCAvSW1wbGVtZW50YXRpb24gZXhjaCAuZm9yY2VwdXQgcmVhZG9ubHkgcG9wCi0tICAgICAgfQotKyAgICAgIH0gZXhlY3V0ZW9ubHkKLSAgICAgICBpZmVsc2UKLSAgICAgfQotICAgICB7Ci1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19wZGZ3ci5wcyBiL1Jlc291cmNlL0luaXQvZ3NfcGRmd3IucHMKLWluZGV4IDU4ZTc1ZDMuLmI0MjUxMDMgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX3BkZndyLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX3BkZndyLnBzCi1AQCAtNjUwLDcgKzY1MCw3IEBAIGN1cnJlbnRkaWN0IC8ucGRmbWFya3BhcmFtcyAudW5kZWYKLSAgICAgICAgICAgICB9IGlmZWxzZQotICAgICAgICAgICB9IGJpbmQgLm1ha2VvcGVyYXRvciAuZm9yY2VwdXQKLSAgICAgICAgICAgc3lzdGVtZGljdCAvLnBkZl9ob29rZWRfRFNDX0NyZWF0b3IgLy90cnVlIC5mb3JjZXB1dAotLSAgICAgICAgfSBpZgotKyAgICAgICAgfSBleGVjdXRlb25seSBpZgotICAgICAgICAgcG9wCi0gICAgICAgfSBpZgotICAgICB9IHsKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcyBiL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi1pbmRleCA4ZWI4YmIwLi5kOWIzNDU5IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19yZXMucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi1AQCAtMTUyLDcgKzE1Miw3IEBAIHNldGdsb2JhbAotICAgICAgICAgICAgICAgICAlIHVzZSAuZm9yY2VwdXQgLyAuZm9yY2VkZWYgbGF0ZXIgdG8gcmVwbGFjZSB0aGUgZHVtbXksCi0gICAgICAgICAgICAgICAgICUgZW1wdHkgLkluc3RhbmNlcyBkaWN0aW9uYXJ5IHdpdGggdGhlIHJlYWwgb25lIGxhdGVyLgotICAgICAgICAgICByZWFkb25seQotLSAgICAgICAgfSB7Ci0rICAgICAgICB9ewotICAgICAgICAgICAvZGVmaW5lcmVzb3VyY2UgY3Z4IC90eXBlY2hlY2sgc2lnbmFsb3BlcnJvcgotICAgICAgICAgfSBpZmVsc2UKLSB9IGJpbmQgZXhlY3V0ZW9ubHkgb2RlZgotQEAgLTQyNCw3ICs0MjQsNyBAQCBzdGF0dXMgewotICAgICAgICAgICAgICAgICAgICAgICAgICUgQXMgbm90ZWQgYWJvdmUsIENhdGVnb3J5IGRpY3Rpb25hcmllcyBhcmUgcmVhZC1vbmx5LAotICAgICAgICAgICAgICAgICAgICAgICAgICUgc28gd2UgaGF2ZSB0byB1c2UgLmZvcmNlZGVmIGhlcmUuCi0gICAgICAgICAgICAgICAgICAgLy5JbnN0YW5jZXMgMSBpbmRleCAuZm9yY2VkZWYJJSBDYXRlZ29yeSBkaWN0IGlzIHJlYWQtb25seQotLSAgICAgICAgICAgICAgICB9IGlmCi0rICAgICAgICAgICAgICAgIH0gZXhlY3V0ZW9ubHkgaWYKLSAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgIHsgLkxvY2FsSW5zdGFuY2VzIGR1cCAvLy5lbXB0eWRpY3QgZXEKLSAgICAgICAgICAgICAgICAgIHsgcG9wIDMgZGljdCBsb2NhbGluc3RhbmNlZGljdCBDYXRlZ29yeSAyIGluZGV4IHB1dAotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3Nfc2V0cGQucHMgYi9SZXNvdXJjZS9Jbml0L2dzX3NldHBkLnBzCi1pbmRleCBlMjI1OTdlLi43ODc1ZDFmIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19zZXRwZC5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19zZXRwZC5wcwotQEAgLTYzNCw3ICs2MzQsNyBAQCBOT01FRElBQVRUUlMgewotICAgU0VUUERERUJVRyB7IChSb2xsaW5nIGJhY2suKSA9IHBzdGFjayBmbHVzaCB9IGlmCi0gICAzIGluZGV4IDIgaW5kZXggMyAtMSByb2xsIC5mb3JjZXB1dAotICAgNCBpbmRleCAxIGluZGV4IC5rbm93bmdldAotLSAgeyA0IGluZGV4IDMgMSByb2xsIC5mb3JjZXB1dCB9Ci0rICB7IDQgaW5kZXggMyAxIHJvbGwgLmZvcmNlcHV0IH0gZXhlY3V0ZW9ubHkKLSAgIHsgMyBpbmRleCBleGNoIC51bmRlZiB9Ci0gICBpZmVsc2UKLSB9IGJpbmQgZXhlY3V0ZW9ubHkgb2RlZgotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvcGRmX2Jhc2UucHMgYi9SZXNvdXJjZS9Jbml0L3BkZl9iYXNlLnBzCi1pbmRleCBiNDVlOTgwLi43MzEyNzI5IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9wZGZfYmFzZS5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9wZGZfYmFzZS5wcwotQEAgLTEzMCwyNiArMTMwLDI5IEBAIGN1cnJlbnRkaWN0IC9udW0tY2hhcnMtZGljdCAudW5kZWYKLSAKLSAvLnBkZmV4ZWN0b2tlbiB7CQklIDxjb3VudD4gPG9wZGljdD4gPGV4ZWN0b2tlbj4gLnBkZmV4ZWN0b2tlbiA/Ci0gICBQREZERUJVRyB7Ci0tICAgIHBkZmRpY3QgL1BERlNURVBjb3VudCBrbm93biBub3QgeyBwZGZkaWN0IC9QREZTVEVQY291bnQgMSAuZm9yY2VwdXQgfSBpZgotKyAgICBwZGZkaWN0IC9QREZTVEVQY291bnQga25vd24gbm90IHsgcGRmZGljdCAvUERGU1RFUGNvdW50IDEgLmZvcmNlcHV0IH0gZXhlY3V0ZW9ubHkgaWYKLSAgICAgUERGU1RFUCB7Ci0gICAgICAgcGRmZGljdCAvUERGdG9rZW5jb3VudCAyIGNvcHkgLmtub3duZ2V0IHsgMSBhZGQgfSB7IDEgfSBpZmVsc2UgLmZvcmNlcHV0Ci0gICAgICAgUERGU1RFUGNvdW50IDEgZ3QgewotICAgICAgICAgcGRmZGljdCAvUERGU1RFUGNvdW50IFBERlNURVBjb3VudCAxIHN1YiAuZm9yY2VwdXQKLS0gICAgICB9IHsKLSsgICAgICB9IGV4ZWN1dGVvbmx5Ci0rICAgICAgewotICAgICAgICAgZHVwID09b25seQotICAgICAgICAgKCAgICBzdGVwICMgKSBwcmludCBQREZ0b2tlbmNvdW50ID1vbmx5Ci0gICAgICAgICAoID8gKSBwcmludCBmbHVzaCAxIC8vZmFsc2UgLm91dHB1dHBhZ2UKLSAgICAgICAgICglc3RkaW4pIChyKSBmaWxlIDI1NSBzdHJpbmcgcmVhZGxpbmUgewotICAgICAgICAgICB0b2tlbiB7Ci0gICAgICAgICAgICAgZXhjaCBwb3AgcGRmZGljdCAvUERGU1RFUGNvdW50IDMgLTEgcm9sbCAuZm9yY2VwdXQKLS0gICAgICAgICAgfSB7Ci0rICAgICAgICAgIH0gZXhlY3V0ZW9ubHkKLSsgICAgICAgICAgewotICAgICAgICAgICAgIHBkZmRpY3QgL1BERlNURVBjb3VudCAxIC5mb3JjZXB1dAotLSAgICAgICAgICB9IGlmZWxzZSAlIHRva2VuCi0rICAgICAgICAgIH0gZXhlY3V0ZW9ubHkgaWZlbHNlICUgdG9rZW4KLSAgICAgICAgIH0gewotICAgICAgICAgICBwb3AgL1BERlNURVAgLy9mYWxzZSBkZWYJICUgRU9GIG9uIHN0ZGluCi0gICAgICAgICB9IGlmZWxzZSAlIHJlYWRsaW5lCi0gICAgICAgfSBpZmVsc2UgJSBQREZTVEVQY291bnQgPiAxCi0tICAgIH0gewotKyAgICB9IGV4ZWN1dGVvbmx5Ci0rICAgIHsKLSAgICAgICBkdXAgPT1vbmx5ICgpID0gZmx1c2gKLSAgICAgfSBpZmVsc2UgJSBQREZTVEVQCi0gICB9IGlmICUgUERGREVCVUcKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L3BkZl9kcmF3LnBzIGIvUmVzb3VyY2UvSW5pdC9wZGZfZHJhdy5wcwotaW5kZXggNmIwYmE5My4uNDBjNmFjOCAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvcGRmX2RyYXcucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvcGRmX2RyYXcucHMKLUBAIC0xMTE4LDE0ICsxMTE4LDE0IEBAIGN1cnJlbnRkaWN0IGVuZCByZWFkb25seSBkZWYKLSAgICAgICAgICAgcGRmZGljdCAvLlFxd2FybmluZ19pc3N1ZWQgLy90cnVlIC5mb3JjZXB1dAotICAgICAgICAgICAuc2V0Z2xvYmFsCi0gICAgICAgICAgIHBkZmZvcm1hdGVycm9yCi0tICAgICAgICB9IGlmZWxzZQotKyAgICAgICAgfSBleGVjdXRlb25seSBpZmVsc2UKLSAgICAgICB9Ci0gICAgICAgewotICAgICAgICAgY3VycmVudGdsb2JhbCBwZGZkaWN0IGdjaGVjayAuc2V0Z2xvYmFsCi0gICAgICAgICBwZGZkaWN0IC8uUXF3YXJuaW5nX2lzc3VlZCAvL3RydWUgLmZvcmNlcHV0Ci0gICAgICAgICAuc2V0Z2xvYmFsCi0gICAgICAgICBwZGZmb3JtYXRlcnJvcgotLSAgICAgIH0gaWZlbHNlCi0rICAgICAgfSBleGVjdXRlb25seSBpZmVsc2UKLSAgICAgICBlbmQKLSAgICAgfSBpZmVsc2UKLSAgIH0gbG9vcAotQEAgLTExNDEsMTQgKzExNDEsMTQgQEAgY3VycmVudGRpY3QgZW5kIHJlYWRvbmx5IGRlZgotICAgICAgICAgcGRmZGljdCAvLlFxd2FybmluZ19pc3N1ZWQgLy90cnVlIC5mb3JjZXB1dAotICAgICAgICAgLnNldGdsb2JhbAotICAgICAgICAgcGRmZm9ybWF0ZXJyb3IKLS0gICAgICB9IGlmZWxzZQotKyAgICAgIH0gZXhlY3V0ZW9ubHkgaWZlbHNlCi0gICAgIH0KLSAgICAgewotICAgICAgIGN1cnJlbnRnbG9iYWwgcGRmZGljdCBnY2hlY2sgLnNldGdsb2JhbAotICAgICAgIHBkZmRpY3QgLy5RcXdhcm5pbmdfaXNzdWVkIC8vdHJ1ZSAuZm9yY2VwdXQKLSAgICAgICAuc2V0Z2xvYmFsCi0gICAgICAgcGRmZm9ybWF0ZXJyb3IKLS0gICAgfSBpZmVsc2UKLSsgICAgfSBleGVjdXRlb25seSBpZmVsc2UKLSAgIH0gaWYKLSAgIHBvcAotIAotQEAgLTIzNTAsOSArMjM1MCwxMCBAQCBjdXJyZW50ZGljdCAvbGFzdC1kaXRjaC1icGMtY3NwIHVuZGVmCi0gL0luY3JlbWVudEFwcGVhcmFuY2VOdW1iZXIgewotICAgcGRmZGljdCAvQXBwZWFyYW5jZU51bWJlciAua25vd25nZXQgewotICAgICAxIGFkZCBwZGZkaWN0IC9BcHBlYXJhbmNlTnVtYmVyIDMgLTEgcm9sbCAuZm9yY2VwdXQKLS0gIH17Ci0rICB9IGV4ZWN1dGVvbmx5Ci0rICB7Ci0gICAgIHBkZmRpY3QgL0FwcGVhcmFuY2VOdW1iZXIgMCAuZm9yY2VwdXQKLS0gIH0gaWZlbHNlCi0rICB9IGV4ZWN1dGVvbmx5IGlmZWxzZQotIH1iaW5kIGV4ZWN1dGVvbmx5IG9kZWYKLSAKLSAvTWFrZUFwcGVhcmFuY2VOYW1lIHsKLUBAIC0yNTEwLDcgKzI1MTEsOCBAQCBjdXJyZW50ZGljdCAvbGFzdC1kaXRjaC1icGMtY3NwIHVuZGVmCi0gICAgICUlIHdhbnQgdG8gcHJlc2VydmUgaXQuCi0gICAgIHBkZmRpY3QgLy5QcmVzZXJ2ZVBERkZvcm0gZmFsc2UgLmZvcmNlcHV0Ci0gICAgIC9xIGN2eCAvZXhlY2Zvcm0gY3Z4IDUgLTIgcm9sbAotLSAgfXsKLSsgIH0gZXhlY3V0ZW9ubHkKLSsgIHsKLSAgICAgL3EgY3Z4IC9QREZleGVjZm9ybSBjdnggNSAtMiByb2xsCi0gICB9IGlmZWxzZQotIAotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvcGRmX2ZvbnQucHMgYi9SZXNvdXJjZS9Jbml0L3BkZl9mb250LnBzCi1pbmRleCBiZWE5ZWE5Li40Y2Q2MmI5IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9wZGZfZm9udC5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9wZGZfZm9udC5wcwotQEAgLTcxNCw3ICs3MTQsNyBAQCBjdXJyZW50ZGljdCBlbmQgcmVhZG9ubHkgZGVmCi0gICAgIHBvcCBwb3AgcG9wCi0gICAgIGN1cnJlbnRkaWN0IC8uc3RhY2tkZXB0aCAuZm9yY2V1bmRlZgotICAgICBjdXJyZW50ZGljdCAvLmRzdGFja2RlcHRoIC5mb3JjZXVuZGVmCi0tICB9Ci0rICB9IGV4ZWN1dGVvbmx5Ci0gICB7cG9wIHBvcCBwb3B9Ci0gICBpZmVsc2UKLSAKLUBAIC0xMjMyLDcgKzEyMzIsNyBAQCBjdXJyZW50ZGljdCAvZWV4ZWNfcGRmX3BhcmFtX2RpY3QgLnVuZGVmCi0gICAgICAgICAgICAgICAgIChcbiAgICoqKiogV2FybmluZzogVHlwZSAzIGdseXBoIGhhcyB1bmJhbGFuY2VkIHEvUSBvcGVyYXRvcnMgXCh0b28gbWFueSBxJ3NcKVxuICAgICAgICAgICAgICAgT3V0cHV0IG1heSBiZSBpbmNvcnJlY3QuXG4pCi0gICAgICAgICAgICAgICAgIHBkZmZvcm1hdHdhcm5pbmcKLSAgICAgICAgICAgICAgICAgcGRmZGljdCAvLlFxd2FybmluZ19pc3N1ZWQgLy90cnVlIC5mb3JjZXB1dAotLSAgICAgICAgICAgICAgfSBpZgotKyAgICAgICAgICAgICAgfSBleGVjdXRlb25seSBpZgotICAgICAgICAgICAgICAgUQotICAgICAgICAgICAgIH0gcmVwZWF0Ci0gICAgICAgICAgICAgUQotQEAgLTIwMTYsNyArMjAxNiw3IEBAIGN1cnJlbnRkaWN0IC9DTWFwX3JlYWRfZGljdCB1bmRlZgotICAgICAgICAgICAgICAgL0NJREZhbGxCYWNrIC9DSURGb250IGZpbmRyZXNvdXJjZQotICAgICAgICAgICAgIH0gaWYKLSAgICAgICAgICAgICBleGl0Ci0tICAgICAgICAgIH0gaWYKLSsgICAgICAgICAgfSBleGVjdXRlb25seSBpZgotICAgICAgICAgfSBpZgotICAgICAgIH0gaWYKLSAKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L3BkZl9tYWluLnBzIGIvUmVzb3VyY2UvSW5pdC9wZGZfbWFpbi5wcwotaW5kZXggMDBkYTQ3YS4uMzdlNjliMyAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvcGRmX21haW4ucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvcGRmX21haW4ucHMKLUBAIC0yNzAxLDE0ICsyNzAxLDE0IEBAIGN1cnJlbnRkaWN0IC9QREYyUFNfbWF0cml4X2tleSB1bmRlZgotICAgICAgICAgICBwZGZkaWN0IC8uUXF3YXJuaW5nX2lzc3VlZCAvL3RydWUgLmZvcmNlcHV0Ci0gICAgICAgICAgIC5zZXRnbG9iYWwKLSAgICAgICAgICAgcGRmZm9ybWF0ZXJyb3IKLS0gICAgICAgIH0gaWZlbHNlCi0rICAgICAgICB9IGV4ZWN1dGVvbmx5IGlmZWxzZQotICAgICAgIH0KLSAgICAgICB7Ci0gICAgICAgICBjdXJyZW50Z2xvYmFsIHBkZmRpY3QgZ2NoZWNrIC5zZXRnbG9iYWwKLSAgICAgICAgIHBkZmRpY3QgLy5RcXdhcm5pbmdfaXNzdWVkIC8vdHJ1ZSAuZm9yY2VwdXQKLSAgICAgICAgIC5zZXRnbG9iYWwKLSAgICAgICAgIHBkZmZvcm1hdGVycm9yCi0tICAgICAgfSBpZmVsc2UKLSsgICAgICB9IGV4ZWN1dGVvbmx5IGlmZWxzZQotICAgICB9IGlmCi0gICB9IGlmCi0gICBwb3AKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L3BkZl9vcHMucHMgYi9SZXNvdXJjZS9Jbml0L3BkZl9vcHMucHMKLWluZGV4IDg2NzJkNjEuLmFhMDk2NDEgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L3BkZl9vcHMucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvcGRmX29wcy5wcwotQEAgLTE4NCwxNCArMTg0LDE0IEBAIGN1cnJlbnRkaWN0IC9ncHV0X2Fsd2F5c19hbGxvdyAudW5kZWYKLSAgICAgICAgIHBkZmRpY3QgLy5RcXdhcm5pbmdfaXNzdWVkIC8vdHJ1ZSAuZm9yY2VwdXQKLSAgICAgICAgIC5zZXRnbG9iYWwKLSAgICAgICAgIHBkZmZvcm1hdGVycm9yCi0tICAgICAgfSBpZmVsc2UKLSsgICAgICB9IGV4ZWN1dGVvbmx5IGlmZWxzZQotICAgICB9Ci0gICAgIHsKLSAgICAgICBjdXJyZW50Z2xvYmFsIHBkZmRpY3QgZ2NoZWNrIC5zZXRnbG9iYWwKLSAgICAgICBwZGZkaWN0IC8uUXF3YXJuaW5nX2lzc3VlZCAvL3RydWUgLmZvcmNlcHV0Ci0gICAgICAgLnNldGdsb2JhbAotICAgICAgIHBkZmZvcm1hdGVycm9yCi0tICAgIH0gaWZlbHNlCi0rICAgIH0gZXhlY3V0ZW9ubHkgaWZlbHNlCi0gICB9IGlmCi0gfSBiaW5kIGV4ZWN1dGVvbmx5IG9kZWYKLSAKLUBAIC00MzksNyArNDM5LDggQEAgY3VycmVudGRpY3QgL2dwdXRfYWx3YXlzX2FsbG93IC51bmRlZgotICAgZHVwIHR5cGUgL2Jvb2xlYW50eXBlIGVxIHsKLSAgICAgLmN1cnJlbnRTTWFzayB0eXBlIC9kaWN0dHlwZSBlcSB7Ci0gICAgICAgLmN1cnJlbnRTTWFzayAvUHJvY2Vzc2VkIDIgaW5kZXggLmZvcmNlcHV0Ci0tICAgIH0gewotKyAgfSBleGVjdXRlb25seQotKyAgewotICAgICAgIC5zZXRTTWFzawotICAgfWlmZWxzZQotICAgfXsKLS0tIAotMi4xOC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwMy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwMy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDJiMWRjOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIDYwYjc3YjhiZjhiNmU0ZDMwNTE5YzQ3NzI0NjMxMDEyYjUzMGNmMGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpcyBMaWRkZWxsIDxjaHJpcy5saWRkZWxsQGFydGlmZXguY29tPgotRGF0ZTogU2F0LCAxNSBEZWMgMjAxOCAwOTowODozMiArMDAwMAotU3ViamVjdDogW1BBVENIIDMvN10gQnVnNzAwMzE3OiBGaXggbG9naWMgZm9yIGFuIG9sZGVyIGNoYW5nZQotCi1Vbmxpa2UgYWxtb3N0IGV2ZXJ5IG90aGVyIGZ1bmN0aW9uIGluIGdzLCBkaWN0X2ZpbmRfc3RyaW5nKCkgcmV0dXJucyAxIG9uCi1zdWNjZXNzIDAgb3IgPDAgb24gZmFpbHVyZS4gVGhlIGxvZ2ljIGZvciB0aGlzIGNhc2Ugd2FzIHdyb25nLgotCi1DVkU6IENWRS0yMDE5LTYxMTYKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2dpdDovL2dpdC5naG9zdHNjcmlwdC5jb20vZ2hvc3RwZGwuZ2l0XQotCi1TaWduZWQtb2ZmLWJ5OiBPdmlkaXUgUGFuYWl0IDxvdmlkaXUucGFuYWl0QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBwc2kvaW50ZXJwLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9wc2kvaW50ZXJwLmMgYi9wc2kvaW50ZXJwLmMKLWluZGV4IGFhNTc3OWMuLmY2YzQ1YmIgMTAwNjQ0Ci0tLS0gYS9wc2kvaW50ZXJwLmMKLSsrKyBiL3BzaS9pbnRlcnAuYwotQEAgLTcwMyw3ICs3MDMsNyBAQCBhZ2FpbjoKLSAgICAgICAgICAgICAgICAgICogaS5lLiBpdCdzIGFuIGludGVybmFsIG9wZXJhdG9yIHdlIGhhdmUgaGlkZGVuCi0gICAgICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgICAgICBjb2RlID0gZGljdF9maW5kX3N0cmluZyhzeXN0ZW1kaWN0LCAoY29uc3QgY2hhciAqKWJ1ZnB0ciwgJnRvYmopOwotLSAgICAgICAgICAgICAgICBpZiAoY29kZSA8IDApIHsKLSsgICAgICAgICAgICAgICAgaWYgKGNvZGUgPD0gMCkgewotICAgICAgICAgICAgICAgICAgICAgYnVmWzBdID0gYnVmWzFdID0gYnVmW3JsZW4gKyAyXSA9IGJ1ZltybGVuICsgM10gPSAnLSc7Ci0gICAgICAgICAgICAgICAgICAgICBybGVuICs9IDQ7Ci0gICAgICAgICAgICAgICAgICAgICBidWZwdHIgPSBidWY7Ci0tLSAKLTIuMTguMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjMTU0NTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDA0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM2ICswLDAgQEAKLUZyb20gZDczOTU2NTUzNGU5NTVjNDMzNjczMWU0ZWE0ZWViYzg5NWMwOWM1YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzIExpZGRlbGwgPGNocmlzLmxpZGRlbGxAYXJ0aWZleC5jb20+Ci1EYXRlOiBUdWUsIDE4IERlYyAyMDE4IDEwOjQyOjEwICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggNC83XSBIYXJkZW4gc29tZSB1c2VzIG9mIC5mb3JjZSogb3BlcmF0b3JzCi0KLWJ5IGFkZGluZyBhIGZldyBpbW1lZGlhdGUgZXZhbHV0aW9ucwotCi1DVkU6IENWRS0yMDE5LTYxMTYKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2dpdDovL2dpdC5naG9zdHNjcmlwdC5jb20vZ2hvc3RwZGwuZ2l0XQotCi1TaWduZWQtb2ZmLWJ5OiBPdmlkaXUgUGFuYWl0IDxvdmlkaXUucGFuYWl0QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2RwczEucHMgIHwgIDQgKystLQotIFJlc291cmNlL0luaXQvZ3NfZm9udHMucHMgfCAyMCArKysrKysrKysrLS0tLS0tLS0tLQotIFJlc291cmNlL0luaXQvZ3NfaW5pdC5wcyAgfCAgNiArKystLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzIGIvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzCi1pbmRleCA0ZmFlMjgzLi5iNzVlYTE0IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLUBAIC03NCw3ICs3NCw3IEBAIGxldmVsMmRpY3QgYmVnaW4KLSAgfSBvZGVmCi0gJSB1bmRlZmluZWZvbnQgaGFzIHRvIHRha2UgbG9jYWwvZ2xvYmFsIFZNIGludG8gYWNjb3VudC4KLSAvdW5kZWZpbmVmb250CQklIDxmb250bmFtZT4gdW5kZWZpbmVmb250IC0KLS0geyAuRm9udERpcmVjdG9yeSAxIC5hcmdpbmRleCAuZm9yY2V1bmRlZgklIEZvbnREaXJlY3RvcnkgaXMgcmVhZG9ubHkKLSsgeyAvLy5Gb250RGlyZWN0b3J5IDEgLmFyZ2luZGV4IC5mb3JjZXVuZGVmCSUgRm9udERpcmVjdG9yeSBpcyByZWFkb25seQotICAgIC5jdXJyZW50Z2xvYmFsCi0gICAgIHsJCSUgQ3VycmVudCBtb2RlIGlzIGdsb2JhbDsgZGVsZXRlIGZyb20gbG9jYWwgZGlyZWN0b3J5IHRvby4KLSAgICAgICAvL3N5c3RlbWRpY3QgL0xvY2FsRm9udERpcmVjdG9yeSAua25vd25nZXQKLUBAIC04NSw3ICs4NSw3IEBAIGxldmVsMmRpY3QgYmVnaW4KLSAgICAgICAgICAgICAgICAgJSBkZWZpbml0aW9uLCBjb3B5IGl0IGludG8gdGhlIGxvY2FsIGRpcmVjdG9yeS4KLSAgICAgICAvL3N5c3RlbWRpY3QgL1NoYXJlZEZvbnREaXJlY3RvcnkgLmtub3duZ2V0Ci0gICAgICAgIHsgMSBpbmRleCAua25vd25nZXQKLS0gICAgICAgICAgeyAuRm9udERpcmVjdG9yeSAyIGluZGV4IDMgLTEgcm9sbCB7IHB1dCB9IHN5c3RlbWRpY3QgL3N1cGVyZXhlYyBrbm93biB7Ly9zdXBlcmV4ZWN9ezExODM2MTU4NjkgaW50ZXJuYWxkaWN0IC9zdXBlcmV4ZWMgZ2V0IGV4ZWN9IGlmZWxzZSB9ICUgcmVhZG9ubHkKLSsgICAgICAgICAgeyAvLy5Gb250RGlyZWN0b3J5IDIgaW5kZXggMyAtMSByb2xsIHsgcHV0IH0gc3lzdGVtZGljdCAvc3VwZXJleGVjIGtub3duIHsvL3N1cGVyZXhlY317MTE4MzYxNTg2OSBpbnRlcm5hbGRpY3QgL3N1cGVyZXhlYyBnZXQgZXhlY30gaWZlbHNlIH0gJSByZWFkb25seQotICAgICAgICAgIGlmCi0gICAgICAgIH0KLSAgICAgICBpZgotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3NfZm9udHMucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2ZvbnRzLnBzCi1pbmRleCAyOTBkYTBjLi5jMTNhMmZjIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19mb250cy5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19mb250cy5wcwotQEAgLTUxNiw3ICs1MTYsNyBAQCBidWlsZGZvbnRkaWN0IDMgLy5idWlsZGZvbnQzIGN2eCBwdXQKLSAgICAgICBpZgotICAgICB9Ci0gICAgaWYKLS0gICBkdXAgLkZvbnREaXJlY3RvcnkgNCAtMiByb2xsIHsgLmdyb3dwdXQgfSBzeXN0ZW1kaWN0IC9zdXBlcmV4ZWMga25vd24gey8vc3VwZXJleGVjfXsxMTgzNjE1ODY5IGludGVybmFsZGljdCAvc3VwZXJleGVjIGdldCBleGVjfSBpZmVsc2UJJSByZWFkb25seQotKyAgIGR1cCAvLy5Gb250RGlyZWN0b3J5IDQgLTIgcm9sbCB7IC5ncm93cHV0IH0gc3lzdGVtZGljdCAvc3VwZXJleGVjIGtub3duIHsvL3N1cGVyZXhlY317MTE4MzYxNTg2OSBpbnRlcm5hbGRpY3QgL3N1cGVyZXhlYyBnZXQgZXhlY30gaWZlbHNlCSUgcmVhZG9ubHkKLSAgICAgICAgICAgICAgICAgJSBJZiB0aGUgZm9udCBvcmlnaW5hdGVkIGFzIGEgcmVzb3VyY2UsIHJlZ2lzdGVyIGl0LgotICAgIGN1cnJlbnRmaWxlIC5jdXJyZW50cmVzb3VyY2VmaWxlIGVxIHsgZHVwIC5yZWdpc3RlcmZvbnQgfSBpZgotICAgIHJlYWRvbmx5Ci1AQCAtOTQzLDcgKzk0Myw3IEBAICRlcnJvciAvU3Vic3RpdHV0ZUZvbnQgeyB9IHB1dAotICUgVHJ5IHRvIGZpbmQgYSBmb250IHVzaW5nIG9ubHkgdGhlIHByZXNlbnQgY29udGVudHMgb2YgRm9udG1hcC4KLSAvLnRyeWZpbmRmb250IHsgICAgICAgICAlIDxmb250bmFtZT4gLnRyeWZpbmRmb250IDxmb250PiB0cnVlCi0gICAgICAgICAgICAgICAgICAgICAgICAgJSA8Zm9udG5hbWU+IC50cnlmaW5kZm9udCBmYWxzZQotLSAgLkZvbnREaXJlY3RvcnkgMSBpbmRleCAuZm9udGtub3duZ2V0Ci0rICAvLy5Gb250RGlyZWN0b3J5IDEgaW5kZXggLmZvbnRrbm93bmdldAotICAgICB7ICAgICAgICAgICAgICAgICAgICUgQWxyZWFkeSBsb2FkZWQKLSAgICAgICBleGNoIHBvcCAvL3RydWUKLSAgICAgfQotQEAgLTk3NSw3ICs5NzUsNyBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSAgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICUgRm9udCB3aXRoIGEgcHJvY2VkdXJhbCBkZWZpbml0aW9uCi0gICAgICAgICAgICAgICAgICBleGVjICAgICAgICAgICAlIFRoZSBwcm9jZWR1cmUgd2lsbCBsb2FkIHRoZSBmb250LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBDaGVjayB0byBtYWtlIHN1cmUgdGhpcyByZWFsbHkgaGFwcGVuZWQuCi0tICAgICAgICAgICAgICAgICAuRm9udERpcmVjdG9yeSAxIGluZGV4IC5rbm93bmdldAotKyAgICAgICAgICAgICAgICAgLy8uRm9udERpcmVjdG9yeSAxIGluZGV4IC5rbm93bmdldAotICAgICAgICAgICAgICAgICAgIHsgZXhjaCBwb3AgLy90cnVlIGV4aXQgfQotICAgICAgICAgICAgICAgICAgaWYKLSAgICAgICAgICAgICAgICB9Ci1AQCAtMTA4MSwxMSArMTA4MSwxMSBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSAgICAgICAgICAgICAgICAgJSBiZWNhdXNlIGl0J3MgZGlmZmVyZW50IGRlcGVuZGluZyBvbiBsYW5ndWFnZSBsZXZlbC4KLSAgICAgICAgICAgIC5jdXJyZW50Z2xvYmFsIGV4Y2ggLy5zZXRnbG9iYWwgLnN5c3RlbXZhciBleGVjCi0gICAgICAgICAgICAgICAgICUgUmVtb3ZlIHRoZSBmYWtlIGRlZmluaXRpb24sIGlmIGFueS4KLS0gICAgICAgICAgIC5Gb250RGlyZWN0b3J5IDMgaW5kZXggLmZvcmNldW5kZWYJCSUgcmVhZG9ubHkKLS0gICAgICAgICAgIDEgaW5kZXggKHIpIGZpbGUgLmxvYWRmb250IC5Gb250RGlyZWN0b3J5IGV4Y2gKLSsgICAgICAgICAgIC8vLkZvbnREaXJlY3RvcnkgMyBpbmRleCAuZm9yY2V1bmRlZgkJJSByZWFkb25seQotKyAgICAgICAgICAgMSBpbmRleCAocikgZmlsZSAubG9hZGZvbnQgLy8uRm9udERpcmVjdG9yeSBleGNoCi0gICAgICAgICAgICAvLnNldGdsb2JhbCAuc3lzdGVtdmFyIGV4ZWMKLSAgICAgICAgICB9IGV4ZWN1dGVvbmx5Ci0tICAgICAgICAgeyAubG9hZGZvbnQgLkZvbnREaXJlY3RvcnkKLSsgICAgICAgICB7IC5sb2FkZm9udCAvLy5Gb250RGlyZWN0b3J5Ci0gICAgICAgICAgfQotICAgICAgICAgaWZlbHNlCi0gICAgICAgICAgICAgICAgICUgU3RhY2s6IGZvbnRuYW1lIGZvbnRmaWxlbmFtZSBmb250ZGlyZWN0b3J5Ci1AQCAtMTExOSw4ICsxMTE5LDggQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAgICAgICAgICAgICAgICAgICAgICUgU3RhY2s6IG9yaWdmb250bmFtZSBmb250ZGlyZWN0b3J5IGZpbGVmb250bmFtZSBmb250ZGljdAotICAgICAgICAgICAgICAgMyAtMSByb2xsIHBvcAotICAgICAgICAgICAgICAgICAgICAgICAlIFN0YWNrOiBvcmlnZm9udG5hbWUgZmlsZWZvbnRuYW1lIGZvbnRkaWN0Ci0tICAgICAgICAgICAgICBkdXAgL0ZvbnROYW1lIGdldCBkdXAgRm9udERpcmVjdG9yeSBleGNoIC5mb3JjZXVuZGVmCi0tICAgICAgICAgICAgICBHbG9iYWxGb250RGlyZWN0b3J5IGV4Y2ggLmZvcmNldW5kZWYKLSsgICAgICAgICAgICAgIGR1cCAvRm9udE5hbWUgZ2V0IGR1cCAvLy5Gb250RGlyZWN0b3J5IGV4Y2ggLmZvcmNldW5kZWYKLSsgICAgICAgICAgICAgIC9HbG9iYWxGb250RGlyZWN0b3J5IC5zeXN0ZW12YXIgZXhjaCAuZm9yY2V1bmRlZgotICAgICAgICAgICAgICAgZHVwIGxlbmd0aCBkaWN0IC5jb3B5ZGljdCBkdXAgMyBpbmRleCAvRm9udE5hbWUgZXhjaCBwdXQKLSAgICAgICAgICAgICAgIDIgaW5kZXggZXhjaCBkZWZpbmVmb250Ci0gICAgICAgICAgICAgICBleGNoCi1AQCAtMTE3NiwxMCArMTE3NiwxMCBAQCBjdXJyZW50ZGljdCAvLnB1dGdzdHJpbmdjb3B5IC51bmRlZgotICAgICAgIHsKLSAgICAgICAgIHsKLSAgICAgICAgICAgcG9wIGR1cCB0eXBlIC9zdHJpbmd0eXBlIGVxIHsgY3ZuIH0gaWYKLS0gICAgICAgICAgLkZvbnREaXJlY3RvcnkgMSBpbmRleCBrbm93biBub3QgewotKyAgICAgICAgICAvLy5Gb250RGlyZWN0b3J5IDEgaW5kZXgga25vd24gbm90IHsKLSAgICAgICAgICAgICAyIGRpY3QgZHVwIC9Gb250TmFtZSAzIGluZGV4IHB1dAotICAgICAgICAgICAgIGR1cCAvRm9udFR5cGUgMSBwdXQKLS0gICAgICAgICAgICAuRm9udERpcmVjdG9yeSAzIDEgcm9sbCB7IHB1dCB9IHN5c3RlbWRpY3QgL3N1cGVyZXhlYyBrbm93biB7Ly9zdXBlcmV4ZWN9ezExODM2MTU4NjkgaW50ZXJuYWxkaWN0IC9zdXBlcmV4ZWMgZ2V0IGV4ZWN9IGlmZWxzZSAgICUgcmVhZG9ubHkKLSsgICAgICAgICAgICAvLy5Gb250RGlyZWN0b3J5IDMgMSByb2xsIHsgcHV0IH0gc3lzdGVtZGljdCAvc3VwZXJleGVjIGtub3duIHsvL3N1cGVyZXhlY317MTE4MzYxNTg2OSBpbnRlcm5hbGRpY3QgL3N1cGVyZXhlYyBnZXQgZXhlY30gaWZlbHNlICAgJSByZWFkb25seQotICAgICAgICAgICB9IHsKLSAgICAgICAgICAgICBwb3AKLSAgICAgICAgICAgfSBpZmVsc2UKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMKLWluZGV4IDU2YzBiZDIuLmQ5YTA4MjkgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfaW5pdC5wcwotQEAgLTExNjgsOCArMTE2OCw4IEBAIGVycm9yZGljdCAvdW5rbm93bmVycm9yIC51bmRlZgotICAgICB9aWZlbHNlCi0gICB9Zm9yYWxsCi0gICBub2FjY2VzcyBwb3AKLS0gIHN5c3RlbWRpY3QgLy5zZXRzYWZlZXJyb3JzIC5mb3JjZXVuZGVmCi0tICBzeXN0ZW1kaWN0IC8uU0FGRVJFUlJPUkxJU1QgLmZvcmNldW5kZWYKLSsgIC8vc3lzdGVtZGljdCAvLnNldHNhZmVlcnJvcnMgLmZvcmNldW5kZWYKLSsgIC8vc3lzdGVtZGljdCAvLlNBRkVSRVJST1JMSVNUIC5mb3JjZXVuZGVmCi0gfSBiaW5kIGV4ZWN1dGVvbmx5IG9kZWYKLSAKLSBTQUZFUkVSUk9SUyB7LnNldHNhZmVyZXJyb3JzfSBpZgotQEAgLTIxMTQsNyArMjExNCw3IEBAIGN1cnJlbnRkaWN0IC90ZW1wZmlsZXBhdGhzIHVuZGVmCi0gCi0gLy5sb2Nrc2FmZSB7Ci0gICAubG9ja3NhZmVfdXNlcnBhcmFtcwotLSAgc3lzdGVtZGljdCAvZ2V0ZW52IHtwb3AgLy9mYWxzZX0gLmZvcmNlcHV0Ci0rICAvL3N5c3RlbWRpY3QgL2dldGVudiB7cG9wIC8vZmFsc2V9IC5mb3JjZXB1dAotICAgJSBzZXRwYWdlZGV2aWNlIGhhcyB0aGUgc2lkZSBlZmZlY3Qgb2YgY2xlYXJpbmcgdGhlIHBhZ2UsIGJ1dAotICAgJSB3ZSB3aWxsIGp1c3QgZG9jdW1lbnQgdGhhdC4gVXNpbmcgc2V0cGFnZWRldmljZSBrZWVwcyB0aGUgZGV2aWNlCi0gICAlIHByb3BlcnRpZXMgYW5kIHBhZ2VkZXZpY2UgLkxvY2tTYWZldHlQYXJhbXMgaW4gYWdyZWVtZW50IGV2ZW4KLS0tIAotMi4xOC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwNS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGI3MGJiYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTAgKzAsMCBAQAotRnJvbSAxZTgzMGNhZmE1NmM2ZTNlMWIwOGQyNDZlYWY1NDk2ZmU4MWEwMDMyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTmFuY3kgRHVyZ2luIDxuYW5jeS5kdXJnaW5AYXJ0aWZleC5jb20+Ci1EYXRlOiBUdWUsIDI3IE5vdiAyMDE4IDEyOjM2OjE0IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggNS83XSBVbmRlZiBhIGJ1bmNoIG9mIGludGVybmFsIHRoaW5ncyBpbiBnc19yZXMucHMKLQotQ1ZFOiBDVkUtMjAxOS02MTE2Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtnaXQ6Ly9naXQuZ2hvc3RzY3JpcHQuY29tL2dob3N0cGRsLmdpdF0KLQotU2lnbmVkLW9mZi1ieTogT3ZpZGl1IFBhbmFpdCA8b3ZpZGl1LnBhbmFpdEB3aW5kcml2ZXIuY29tPgotLS0tCi0gUmVzb3VyY2UvSW5pdC9nc19yZXMucHMgICB8IDcyICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQotIFJlc291cmNlL0luaXQvZ3NfcmVzbXAucHMgfCAgNCArLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19yZXMucHMgYi9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcwotaW5kZXggZDliMzQ1OS4uMThkNTQ1MiAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcwotQEAgLTE5Nyw3ICsxOTcsNyBAQCBzZXRnbG9iYWwKLSAvLmZpbmRyZXNvdXJjZSB7CQklIDxrZXk+IDxjYXRlZ29yeT4gZmluZHJlc291cmNlIDxpbnN0YW5jZT4KLSAgICAgICAgIDIgY29weSBkdXAgL0NhdGVnb3J5IGVxCi0gICAgICAgICAgIHsgcG9wIC8vQ2F0ZWdvcnkgMCBnZXQgYmVnaW4gfSB7IC5maW5kY2F0ZWdvcnkgfSBpZmVsc2UKLS0gICAgICAgIC9GaW5kUmVzb3VyY2UgLnJlc291cmNlZXhlYyBleGNoIHBvcCBleGNoIHBvcAotKyAgICAgICAgL0ZpbmRSZXNvdXJjZSAvLy5yZXNvdXJjZWV4ZWMgZXhlYyBleGNoIHBvcCBleGNoIHBvcAotIH0gYmluZAotIGVuZAkJJSAuSW5zdGFuY2VzIG9mIENhdGVnb3J5Ci0gZGVmCi1AQCAtMjIzLDcgKzIyMyw3IEBAIGRlZgotICAgICAgICAgICAgIG5vdCB7IC9kZWZpbmVyZXNvdXJjZSBjdnggL3R5cGVjaGVjayBzaWduYWxvcGVycm9yIH0gaWYKLSAgICAgICAgICAgfSBpZgotICAgICAgICAgfSBpZgotLSAgICAgICAgL0RlZmluZVJlc291cmNlIC5yZXNvdXJjZWV4ZWMKLSsgICAgICAgIC9EZWZpbmVSZXNvdXJjZSAvLy5yZXNvdXJjZWV4ZWMgZXhlYwotICAgICAgICAgNCAxIHJvbGwgcG9wIHBvcCBwb3AKLSAgICAgfSAuZXJyb3JleGVjCi0gfSBiaW5kIGV4ZWN1dGVvbmx5IG9kZWYKLUBAIC0yNTIsNyArMjUyLDcgQEAgZGVmCi0gICAgICAgJSB3aXRob3V0IHRoZSBjaGVjay4KLSAgICAgICAvcmVzb3VyY2VzdGF0dXMgY3Z4IC90eXBlY2hlY2sgc2lnbmFsZXJyb3IKLSAgICAgfSBpZgotLSAgICAyIGNvcHkgLmZpbmRjYXRlZ29yeSAvUmVzb3VyY2VTdGF0dXMgLnJlc291cmNlZXhlYwotKyAgICAyIGNvcHkgLmZpbmRjYXRlZ29yeSAvUmVzb3VyY2VTdGF0dXMgLy8ucmVzb3VyY2VleGVjIGV4ZWMKLSAgICAgeyA0IDIgcm9sbCBwb3AgcG9wIC8vdHJ1ZSB9IHsgcG9wIHBvcCAvL2ZhbHNlIH0gaWZlbHNlCi0gICB9IHN0b3BwZWQgewotICAgICAlIEFsdGhvdWdoIHJlc291cmNlc3RhdHVzIGlzIGFuIG9wZXJhdG9yLCBBZG9iZSB1c2VzIGV4ZWN1dGFibGUgbmFtZQotQEAgLTI2Niw3ICsyNjYsNyBAQCBkZWYKLSAgIH0gaWYKLSAgIDEgLmFyZ2luZGV4IDEgaW5kZXgJCSUgY2F0Y2ggc3RhY2t1bmRlcmZsb3cKLSAKLS0gIHsgLmZpbmRjYXRlZ29yeSAvVW5kZWZpbmVSZXNvdXJjZSAucmVzb3VyY2VleGVjIHBvcCBwb3AKLSsgIHsgLmZpbmRjYXRlZ29yeSAvVW5kZWZpbmVSZXNvdXJjZSAvLy5yZXNvdXJjZWV4ZWMgZXhlYyBwb3AgcG9wCi0gICB9IHN0b3BwZWQgewotICAgICAlIEFsdGhvdWdoIHVuZGVmaW5lcmVzb3VyY2UgaXMgYW4gb3BlcmF0b3IsIEFkb2JlIHVzZXMgZXhlY3V0YWJsZSBuYW1lCi0gICAgICUgaGVyZSBidXQgdXNlcyBvcGVyYXRvciBmb3IgdGhlIGVycm9ycyBhYm92ZS4gQ0VUIDIzLTMzCi1AQCAtMzE1LDEwICszMTUsMTAgQEAgY3VycmVudGRpY3QgL3Bzc3lzdGVtcGFyYW1zIGtub3duIG5vdCB7Ci0gICAvcHNzeXN0ZW1wYXJhbXMgMTAgZGljdCByZWFkb25seSBkZWYKLSB9IGlmCi0gcHNzeXN0ZW1wYXJhbXMgYmVnaW4KLS0gIC5kZWZhdWx0X3Jlc291cmNlX2RpcgotLSAgL0ZvbnRSZXNvdXJjZURpciAoRm9udCkgLnJlc291cmNlX2Rpcl9uYW1lCi0rICAvLy5kZWZhdWx0X3Jlc291cmNlX2RpciBleGVjCi0rICAvRm9udFJlc291cmNlRGlyIChGb250KSAvLy5yZXNvdXJjZV9kaXJfbmFtZSBleGVjCi0gICAgICByZWFkb25seSAuZm9yY2VkZWYJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0tICAvR2VuZXJpY1Jlc291cmNlRGlyICgpIC5yZXNvdXJjZV9kaXJfbmFtZQotKyAgL0dlbmVyaWNSZXNvdXJjZURpciAoKSAvLy5yZXNvdXJjZV9kaXJfbmFtZSBleGVjCi0gICAgICByZWFkb25seSAuZm9yY2VkZWYJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0gICBwb3AgJSAuZGVmYXVsdF9yZXNvdXJjZV9kaXIKLSAgIC9HZW5lcmljUmVzb3VyY2VQYXRoU2VwCi1AQCAtMzg3LDEzICszODcsMTMgQEAgc3RhdHVzIHsKLSB9IGJpbmQgZGVmCi0gLy5sb2NhbHJlc291cmNlZm9yYWxsIHsJCSUgPGtleT4gPHZhbHVlPiA8YXJncz4gLmxvY2Fscidmb3JhbGwgLQotICAgZXhjaCBwb3AKLS0gIDIgY29weSAwIGdldCAuc3RyaW5nbWF0Y2ggeyAuZW51bWVyYXRlcmVzb3VyY2UgfSB7IHBvcCBwb3AgfSBpZmVsc2UKLSsgIDIgY29weSAwIGdldCAuc3RyaW5nbWF0Y2ggeyAvLy5lbnVtZXJhdGVyZXNvdXJjZSBleGVjIH0geyBwb3AgcG9wIH0gaWZlbHNlCi0gfSBiaW5kIGRlZgotIC8uZ2xvYmFscmVzb3VyY2Vmb3JhbGwgewklIDxrZXk+IDx2YWx1ZT4gPGFyZ3M+IC5nbG9iYWxyJ2ZvcmFsbCAtCi0gICBleGNoIHBvcAotICAgMiBjb3B5IDAgZ2V0IC5zdHJpbmdtYXRjaCB7Ci0gICAgIGR1cCAzIGdldCBiZWdpbiAuTG9jYWxJbnN0YW5jZXMgZW5kIDIgaW5kZXgga25vd24gbm90IHsKLS0gICAgICAuZW51bWVyYXRlcmVzb3VyY2UKLSsgICAgICAvLy5lbnVtZXJhdGVyZXNvdXJjZSBleGVjCi0gICAgIH0gewotICAgICAgIHBvcCBwb3AKLSAgICAgfSBpZmVsc2UKLUBAIC00MDgsNyArNDA4LDcgQEAgc3RhdHVzIHsKLSAgIDMgaW5kZXgga25vd24gewotICAgICBwb3AgcG9wIHBvcAotICAgfSB7Ci0tICAgIDIgaW5kZXgga25vd24geyBwb3AgcG9wIH0geyAuZW51bWVyYXRlcmVzb3VyY2UgfSBpZmVsc2UKLSsgICAgMiBpbmRleCBrbm93biB7IHBvcCBwb3AgfSB7IC8vLmVudW1lcmF0ZXJlc291cmNlIGV4ZWMgfSBpZmVsc2UKLSAgIH0gaWZlbHNlCi0gfSBiaW5kIGRlZgotIAotQEAgLTQ2OCwxOSArNDY4LDE5IEBAIHN0YXR1cyB7Ci0gICAgICAgICAgICUgLmtub3duZ2V0IGRvZXNuJ3QgZmFpbCBvbiBudWxsCi0gICAgICAgICAgIC9maW5kcmVzb3VyY2UgY3Z4IC90eXBlY2hlY2sgc2lnbmFsb3BlcnJvcgotICAgICAgICAgfSBpZgotLSAgICAgICAgZHVwIC5nZXR2bWluc3RhbmNlIHsKLSsgICAgICAgIGR1cCAvLy5nZXR2bWluc3RhbmNlIGV4ZWMgewotICAgICAgICAgICBleGNoIHBvcCAwIGdldAotICAgICAgICAgfSB7Ci0gICAgICAgICAgIGR1cCBSZXNvdXJjZVN0YXR1cyB7Ci0gICAgICAgICAgICAgcG9wIDEgZ3QgewotLSAgICAgICAgICAgICAgLkRvTG9hZFJlc291cmNlIC5nZXR2bWluc3RhbmNlIG5vdCB7Ci0tICAgICAgICAgICAgICAgIC9maW5kcmVzb3VyY2UgY3Z4IC51bmRlZmluZWRyZXNvdXJjZQotKyAgICAgICAgICAgICAgLkRvTG9hZFJlc291cmNlIC8vLmdldHZtaW5zdGFuY2UgZXhlYyBub3QgewotKyAgICAgICAgICAgICAgICAvZmluZHJlc291cmNlIGN2eCAvLy51bmRlZmluZWRyZXNvdXJjZSBleGVjCi0gICAgICAgICAgICAgICB9IGlmIDAgZ2V0Ci0gICAgICAgICAgICAgfSB7Ci0gICAgICAgICAgICAgICAuR2V0SW5zdGFuY2UgcG9wIDAgZ2V0Ci0gICAgICAgICAgICAgfSBpZmVsc2UKLSAgICAgICAgICAgfSB7Ci0tICAgICAgICAgICAvZmluZHJlc291cmNlIGN2eCAudW5kZWZpbmVkcmVzb3VyY2UKLSsgICAgICAgICAgIC9maW5kcmVzb3VyY2UgY3Z4IC8vLnVuZGVmaW5lZHJlc291cmNlIGV4ZWMKLSAgICAgICAgICAgfSBpZmVsc2UKLSAgICAgICAgIH0gaWZlbHNlCi0gfSBiaW5kIGV4ZWN1dGVvbmx5Ci1AQCAtNjIxLDcgKzYyMSw3IEBAIHN0YXR1cyB7Ci0gICAgIC5jdXJyZW50Z2xvYmFsIG5vdCAuc2V0Z2xvYmFsCi0gICAgIHZtc3RhdHVzIHBvcCBleGNoIHBvcCBhZGQKLSAgIH0gcmVwZWF0Ci0tfSBiaW5kIGRlZgotK30gYmluZCBleGVjdXRlb25seSBvZGVmCi0gLy5Eb0xvYWRSZXNvdXJjZSB7Ci0gICAgICAgICAgICAgICAgICUgLkxvYWRSZXNvdXJjZSBtYXkgcHVzaCBlbnRyaWVzIG9uIHRoZSBvcGVyYW5kIHN0YWNrLgotICAgICAgICAgICAgICAgICAlIEl0IGlzIGFuIHVuZG9jdW1lbnRlZCBmZWF0dXJlIG9mIEFkb2JlIGltcGxlbWVudGF0aW9ucywKLUBAIC02MzMsOCArNjMzLDggQEAgc3RhdHVzIHsKLSAgICAgICAgIHsuTG9hZFJlc291cmNlfSA0IDEgcm9sbCA0IC5leGVjbgotICAgICAgICAgICAgICAgICAlIFN0YWNrOiAuLi4gY291bnQga2V5IG1lbXVzZWQKLSAgICAgICAgIC52bXVzZWQgZXhjaCBzdWIKLS0gICAgICAgIDEgaW5kZXggLmdldHZtaW5zdGFuY2Ugbm90IHsKLS0gICAgICAgICAgcG9wIGR1cCAudW5kZWZpbmVkcmVzb3VyY2UJJSBkaWRuJ3QgbG9hZAotKyAgICAgICAgMSBpbmRleCAvLy5nZXR2bWluc3RhbmNlIGV4ZWMgbm90IHsKLSsgICAgICAgICAgcG9wIGR1cCAvLy51bmRlZmluZWRyZXNvdXJjZSBleGVjCSUgZGlkbid0IGxvYWQKLSAgICAgICAgIH0gaWYKLSAgICAgICAgIGR1cCAxIDEgcHV0Ci0gICAgICAgICAyIDMgLTEgcm9sbCBwdXQKLUBAIC02NDgsNyArNjQ4LDcgQEAgc3RhdHVzIHsKLSAgICAgICAgICAgICAgIHsgLy90cnVlIHNldGdsb2JhbCB7IC5ydW5yZXNvdXJjZSB9IHN0b3BwZWQgLy9mYWxzZSBzZXRnbG9iYWwgeyBzdG9wIH0gaWYgfQotICAgICAgICAgICAgICBpZmVsc2UKLSAgICAgICAgICAgIH0KLS0gICAgICAgICAgIHsgZHVwIC51bmRlZmluZWRyZXNvdXJjZQotKyAgICAgICAgICAgeyBkdXAgLy8udW5kZWZpbmVkcmVzb3VyY2UgZXhlYwotICAgICAgICAgICAgfQotICAgICAgICAgIGlmZWxzZQotICAgICAgICAgfSBiaW5kCi1AQCAtNzU4LDcgKzc1OCw3IEBAIGNvdW50dG9tYXJrIDIgaWRpdgotICAgIC9GaW5kUmVzb3VyY2UKLSAgICAgICAgIHsgLkluc3RhbmNlcyAxIGluZGV4IC5rbm93bmdldAotICAgICAgICAgICAgeyBleGNoIHBvcCB9Ci0tICAgICAgICAgICB7IC9maW5kcmVzb3VyY2UgY3Z4IC51bmRlZmluZWRyZXNvdXJjZSB9Ci0rICAgICAgICAgICB7IC9maW5kcmVzb3VyY2UgY3Z4IC8vLnVuZGVmaW5lZHJlc291cmNlIGV4ZWMgfQotICAgICAgICAgICBpZmVsc2UKLSAgICAgICAgIH0gYmluZCBleGVjdXRlb25seQotICAgIC9SZXNvdXJjZVN0YXR1cwotQEAgLTg2Miw3ICs4NjIsNyBAQCB1c2VyZGljdCAvLmxvY2FsY3NkZWZhdWx0cyAvL2ZhbHNlIHB1dAotICAgMiBjb3B5IC9HZW5lcmljIC9DYXRlZ29yeSBmaW5kcmVzb3VyY2UgL0RlZmluZVJlc291cmNlIGdldCBleGVjCi0gICBleGNoIHBvcAotICAgZXhjaCAvLy5kZWZhdWx0Y3NuYW1lcyBleGNoIC5rbm93bmdldCB7Ci0tICAgIDEgaW5kZXggLmRlZmluZWRlZmF1bHRjcwotKyAgICAxIGluZGV4IC8vLmRlZmluZWRlZmF1bHRjcyBleGVjCi0gICAgIGN1cnJlbnRnbG9iYWwgbm90IHsgLnVzZXJkaWN0IC8ubG9jYWxjc2RlZmF1bHRzIC8vdHJ1ZSBwdXQgfSBpZgotICAgfSBpZgotIH0gYmluZCBleGVjdXRlb25seQotQEAgLTg3MiwxMyArODcyLDEzIEBAIHVzZXJkaWN0IC8ubG9jYWxjc2RlZmF1bHRzIC8vZmFsc2UgcHV0Ci0gICAvLy5kZWZhdWx0Y3NuYW1lcyAxIGluZGV4IC5rbm93bmdldCB7Ci0gICAgICAgICAlIFN0YWNrOiByZXNuYW1lIGluZGV4Ci0gICAgIGN1cnJlbnRnbG9iYWwgewotLSAgICAgIC51bmRlZmluZWRlZmF1bHRjcyBwb3AKLSsgICAgICAvLy51bmRlZmluZWRlZmF1bHRjcyBleGVjIHBvcAotICAgICB9IHsKLSAgICAgICAgICUgV2UgcmVtb3ZlZCB0aGUgbG9jYWwgZGVmaW5pdGlvbiwgYnV0IHRoZXJlIG1pZ2h0IGJlIGEgZ2xvYmFsIG9uZS4KLSAgICAgICBleGNoIC5HZXRJbnN0YW5jZSB7Ci0tICAgICAgICAwIGdldCAuZGVmaW5lZGVmYXVsdGNzCi0rICAgICAgICAwIGdldCAvLy5kZWZpbmVkZWZhdWx0Y3MgZXhlYwotICAgICAgIH0gewotLSAgICAgICAgLnVuZGVmaW5lZGVmYXVsdGNzCi0rICAgICAgICAvLy51bmRlZmluZWRlZmF1bHRjcyBleGVjCi0gICAgICAgfSBpZmVsc2UKLSAgICAgICAgICUgUmVjb21wdXRlIC5sb2NhbGNzZGVmYXVsdHMgYnkgc2Nhbm5pbmcuICBUaGlzIGlzIHJhcmVseSBuZWVkZWQuCi0gICAgICAgLnVzZXJkaWN0IC8ubG9jYWxjc2RlZmF1bHRzIC8vZmFsc2UgLy8uZGVmYXVsdGNzbmFtZXMgewotQEAgLTk5Nyw3ICs5OTcsNyBAQCBjdXJyZW50ZGljdCAvLmZvbnRzdGF0dXNhdXggLnVuZGVmCi0gICAgICAgICAgIC9HZW5lcmljIC9DYXRlZ29yeSBmaW5kcmVzb3VyY2UgL1VuZGVmaW5lUmVzb3VyY2UgZ2V0IGV4ZWMKLSAgICAgICAgIH0gYmluZCBleGVjdXRlb25seQotIC9GaW5kUmVzb3VyY2UgewotLSAgICAgICAgZHVwIC5nZXR2bWluc3RhbmNlIHsKLSsgICAgICAgIGR1cCAvLy5nZXR2bWluc3RhbmNlIGV4ZWMgewotICAgICAgICAgICBleGNoIHBvcCAwIGdldAotICAgICAgICAgfSB7Ci0gICAgICAgICAgIGR1cCBSZXNvdXJjZVN0YXR1cyB7Ci1AQCAtMTAyNCw3ICsxMDI0LDcgQEAgY3VycmVudGRpY3QgLy5mb250c3RhdHVzYXV4IC51bmRlZgotICAgICAgICAgICAgICAgICAlIHN0YWNrOiBuYW1lIGZvbnQgdm11c2VkCi0gICAgICAgICAgICAgICAgICUgZmluZGZvbnQgaGFzIHRoZSBwcmVyb2dhdGl2ZSBvZiBub3QgY2FsbGluZyBkZWZpbmVmb250Ci0gICAgICAgICAgICAgICAgICUgaW4gY2VydGFpbiBvYnNjdXJlIGNhc2VzIG9mIGZvbnQgc3Vic3RpdHV0aW9uLgotLSAgICAgICAgMiBpbmRleCAuZ2V0dm1pbnN0YW5jZSB7Ci0rICAgICAgICAyIGluZGV4IC8vLmdldHZtaW5zdGFuY2UgZXhlYyB7Ci0gICAgICAgICAgIGR1cCAxIDEgcHV0Ci0gICAgICAgICAgIDIgMyAtMSByb2xsIHB1dAotICAgICAgICAgfSB7Ci1AQCAtMTE1OSwzICsxMTU5LDI1IEBAIGVuZAkJCQklIGxldmVsMmRpY3QKLSAKLSAlJSBSZXBsYWNlIDEgKGdzX3Jlc21wLnBzKQotIChnc19yZXNtcC5wcykgIGR1cCBydW5saWJmaWxlIFZNREVCVUcKLSsKLStbCi0rICAgIC8uZGVmYXVsdF9yZXNvdXJjZV9kaXIKLSsgICAgLy5yZXNvdXJjZV9kaXJfbmFtZQotK10KLSt7c3lzdGVtZGljdCBleGNoIC5mb3JjZXVuZGVmfSBmb3JhbGwKLSsKLStbCi0rICAgIC8uZGVmaW5lZGVmYXVsdGNzCi0rICAgIC8udW5kZWZpbmVkZWZhdWx0Y3MKLSsgICAgLy5kZWZhdWx0Y3NuYW1lcwotKyAgICAvLmVudW1lcmF0ZXJlc291cmNlCi0rICAgIC8uZXh0ZXJuYWxyZXNvdXJjZWZvcmFsbAotKyAgICAvLmdldHZtaW5zdGFuY2UKLSsgICAgLy5nbG9iYWxyZXNvdXJjZWZvcmFsbAotKyAgICAvLmxvY2FscmVzb3VyY2Vmb3JhbGwKLSsgICAgL3Jlc291cmNlZm9yYWxsMQotKyAgICAvLnJlc291cmNlZXhlYwotKyAgICAvLnVuZGVmaW5lZHJlc291cmNlCi0rICAgIC8udm11c2VkCi0rXQotK3tsZXZlbDJkaWN0IGV4Y2ggLmZvcmNldW5kZWZ9IGZvcmFsbAotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3NfcmVzbXAucHMgYi9SZXNvdXJjZS9Jbml0L2dzX3Jlc21wLnBzCi1pbmRleCA5YmI0MjYzLi5jYjk0OGQxIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19yZXNtcC5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19yZXNtcC5wcwotQEAgLTIzMCw3ICsyMzAsNyBAQCBjdXJyZW50cGFja2luZyAvL2ZhbHNlIHNldHBhY2tpbmcKLSAgICAgICB9IHsKLSAgICAgICAgIGR1cCBkdXAgLm1hcCBleGNoIC5rbm93bmdldCB7ICAgICAgJSAvTmFtZSAvTmFtZSA8PHJlY29yZD4+Ci0gICAgICAgICAgIGR1cCBkdXAgL1JlY29yZFZpcnR1YWxNZXRob2RzIGdldCAvSXNBY3RpdmUgZ2V0IGV4ZWMgewotLSAgICAgICAgICAgIDEgaW5kZXggLmdldHZtaW5zdGFuY2UgeyAgICAgICAlIC9OYW1lIC9OYW1lIDw8cmVjb3JkPj4gaG9sZGVyCi0rICAgICAgICAgICAgMSBpbmRleCAvLy5nZXR2bWluc3RhbmNlIGV4ZWMgeyAgICAgICAlIC9OYW1lIC9OYW1lIDw8cmVjb3JkPj4gaG9sZGVyCi0gICAgICAgICAgICAgICAxIGdldCAxIGVxCi0gICAgICAgICAgICAgfSB7Ci0gICAgICAgICAgICAgICAvL3RydWUKLUBAIC0yNDIsNyArMjQyLDcgQEAgY3VycmVudHBhY2tpbmcgLy9mYWxzZSBzZXRwYWNraW5nCi0gICAgICAgICAgICAgRGVmaW5lUmVzb3VyY2UgZXhlYyAgICAgICAgICAgICUgc2l6ZSBiU3RhdHVzSXMxIC9OYW1lIEluc3RhbmNlCi0gICAgICAgICAgICAgJSBNYWtlIFJlc291cmNlU3RhdHVzIHRvIHJldHVybiBjb3JyZWN0IHZhbHVlcyBmb3IgdGhpcyBpbnN0YW5jZSA6Ci0gICAgICAgICAgICAgJSBIYWNrOiB3ZSByZXBsYWNlIHN0YXR1cyB2YWx1ZXMgaW4gdGhlIGluc3RhbmNlIGhvbGRlciA6Ci0tICAgICAgICAgICAgZXhjaCAuZ2V0dm1pbnN0YW5jZSBwb3AgICAgICAgICUgc2l6ZSBiU3RhdHVzSXMxIEluc3RhbmNlIGhvbGRlcgotKyAgICAgICAgICAgIGV4Y2ggLy8uZ2V0dm1pbnN0YW5jZSBleGVjIHBvcCAgICAgICAgJSBzaXplIGJTdGF0dXNJczEgSW5zdGFuY2UgaG9sZGVyCi0gICAgICAgICAgICAgZHVwIDUgLTEgcm9sbCAyIGV4Y2ggcHV0ICAgICAgICUgYlN0YXR1c0lzMSBJbnN0YW5jZSBob2xkZXIKLSAgICAgICAgICAgICAzIDIgcm9sbCB7ICAgICAgICAgICAgICAgICAgICAgJSBJbnN0YW5jZSBob2xkZXIKLSAgICAgICAgICAgICAgIDEgMSBwdXQgICAgICAgICAgICAgICAgICAgICAgJSBJbnN0YW5jZQotLS0gCi0yLjE4LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDA2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDA2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OWU2NDBiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwNi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU5NiArMCwwIEBACi1Gcm9tIDk3ZjkwNTJjZTQ5ZTY4NDRiMDZhNDlmZjllNGI4ZmMxZWFmNmJkMTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpcyBMaWRkZWxsIDxjaHJpcy5saWRkZWxsQGFydGlmZXguY29tPgotRGF0ZTogV2VkLCA5IEphbiAyMDE5IDE0OjI0OjA3ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggNi83XSBVbmRlZmluZSBhIGJ1bmNoIG9mIGdzX2ZvbnRzLnBzIHNwZWNpZmljIHByb2NzCi0KLUFsc28gcmVvcmRlciBhbmQgYWRkIHNvbWUgaW1tZWRpYXRlIGV2YWx1YXRpb24sIHNvIGl0IHN0aWxsIHdvcmtzIHdpdGggdGhlCi11bmRlZmluaW5nLgotCi1DVkU6IENWRS0yMDE5LTYxMTYKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2dpdDovL2dpdC5naG9zdHNjcmlwdC5jb20vZ2hvc3RwZGwuZ2l0XQotCi1TaWduZWQtb2ZmLWJ5OiBPdmlkaXUgUGFuYWl0IDxvdmlkaXUucGFuYWl0QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2RwczEucHMgIHwgICAzICstCi0gUmVzb3VyY2UvSW5pdC9nc19mb250cy5wcyB8IDI3NSArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQotIFJlc291cmNlL0luaXQvZ3NfcmVzLnBzICAgfCAgIDcgKy0KLSAzIGZpbGVzIGNoYW5nZWQsIDE1NyBpbnNlcnRpb25zKCspLCAxMjggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLWluZGV4IGI3NWVhMTQuLjg3MDBjOGMgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfZHBzMS5wcwotQEAgLTY3LDcgKzY3LDggQEAgbGV2ZWwyZGljdCBiZWdpbgotIAotIC9zZWxlY3Rmb250CQklIDxmb250bmFtZT4gPHNpemU+IHNlbGVjdGZvbnQgLQotICB7Ci0tICAgeyAxIC5hcmdpbmRleCBmaW5kZm9udAotKyAgIHsKLSsgICAgIDEgLmFyZ2luZGV4IGZpbmRmb250Ci0gICAgICAxIGluZGV4IGR1cCB0eXBlIC9hcnJheXR5cGUgZXEgeyBtYWtlZm9udCB9IHsgc2NhbGVmb250IH0gaWZlbHNlCi0gICAgICBzZXRmb250IHBvcCBwb3AKLSAgICB9IHN0b3BwZWQgeyAvc2VsZWN0Zm9udCAuc3lzdGVtdmFyICRlcnJvciAvZXJyb3JuYW1lIGdldCBzaWduYWxlcnJvciB9IGlmCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19mb250cy5wcyBiL1Jlc291cmNlL0luaXQvZ3NfZm9udHMucHMKLWluZGV4IGMxM2EyZmMuLjA1NjIyMzUgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2ZvbnRzLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX2ZvbnRzLnBzCi1AQCAtMTAwLDcgKzEwMCw3IEBAIHVzZXJkaWN0IC8ubmF0aXZlRm9udG1hcCAuRm9udERpcmVjdG9yeSBtYXhsZW5ndGggZGljdCBwdXQKLSAgICAgICAgeyAyIGluZGV4IHRva2VuIG5vdAotICAgICAgICAgICB7IChGb250bWFwIGVudHJ5IGZvciApIHByaW50IDEgaW5kZXggPW9ubHkKLSAgICAgICAgICAgICAoIGVuZHMgcHJlbWF0dXJlbHkhICBHaXZpbmcgdXAuKSA9IGZsdXNoCi0tICAgICAgICAgICAgey5sb2FkRm9udG1hcH0gMCBnZXQgMSAucXVpdAotKyAgICAgICAgICAgIHsvLy5sb2FkRm9udG1hcCBleGVjfSAwIGdldCAxIC5xdWl0Ci0gICAgICAgICAgIH0gaWYKLSAgICAgICAgICBkdXAgLzsgZXEgeyBwb3AgMyBpbmRleCAzIDEgcm9sbCAuZ3Jvd3B1dCBleGl0IH0gaWYKLSAgICAgICAgICBwb3AKLUBAIC0yMDIsNiArMjAyLDE0IEBAIE5PRk9OVFBBVEggeyAvRk9OVFBBVEggKCkgZGVmIH0gaWYKLSAgeyBwb3AgfQotICB7IC9GT05UUEFUSCAoR1NfRk9OVFBBVEgpIGdldGVudiBub3QgeyAoKSB9IGlmIGRlZiB9Ci0gaWZlbHNlCi0rCi0rJSBUaGUgZm9sbG93aW5nIGFyZSBkdW1teSBkZWZpbml0aW9ucyB0aGF0LCBpZiB3ZSBoYXZlIGEgRk9OVFBBVEgsIHdpbGwKLSslIGJlIHJlcGxhY2VkIGluIHRoZSBmb2xsb3dpbmcgc2VjdGlvbi4KLSslIFRoZXkgYXJlIGhlcmUgc28gaW1tZWRpYXRlbHkgZXZhdWxhdGlvbiB3aWxsIHdvcmssIGFuZCBhbGxvdyB0aGVtIHRvCi0rJSB1bmRlZmluZWQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZmlsZS4KLSsvLnNjYW5mb250YmVnaW57fSBiaW5kIGRlZgotKy8uc2NhbmZvbnRkaXIge30gYmluZCBkZWYKLSsKLSBGT05UUEFUSCBsZW5ndGggMCBlcSB7ICglRU5EIEZPTlRQQVRIKSAuc2tpcGVvZiB9IGlmCi0gL0ZPTlRQQVRIIFsgRk9OVFBBVEggLnBhdGhsaXN0IF0gZGVmCi0gCi1AQCAtMjQyLDEyICsyNTAsMTIgQEAgRk9OVFBBVEggbGVuZ3RoIDAgZXEgeyAoJUVORCBGT05UUEFUSCkgLnNraXBlb2YgfSBpZgotIC8uc2NhbmZvbnRiZWdpbgotICB7ICAgICAgJSBDb25zdHJ1Y3QgdGhlIHRhYmxlIG9mIGFsbCBmaWxlIG5hbWVzIGFscmVhZHkgaW4gRm9udG1hcC4KLSAgICBjdXJyZW50Z2xvYmFsIC8vdHJ1ZSBzZXRnbG9iYWwKLS0gICAuc2NhbmZvbnRkaWN0IGR1cCBtYXhsZW5ndGggRm9udG1hcCBsZW5ndGggMiBhZGQgLm1heCAuc2V0bWF4bGVuZ3RoCi0rICAgLy8uc2NhbmZvbnRkaWN0IGR1cCBtYXhsZW5ndGggRm9udG1hcCBsZW5ndGggMiBhZGQgLm1heCAuc2V0bWF4bGVuZ3RoCi0gICAgRm9udG1hcAotICAgICB7IGV4Y2ggcG9wCi0gICAgICAgIHsgZHVwIHR5cGUgL3N0cmluZ3R5cGUgZXEKLS0gICAgICAgICAgeyAuc3BsaXRmaWxlbmFtZSBwb3AgLmZvbnR0ZW1wc3RyaW5nIGNvcHkgLmxvd2Vyc3RyaW5nIGN2bgotLSAgICAgICAgICAgIC5zY2FuZm9udGRpY3QgZXhjaCAvL3RydWUgcHV0Ci0rICAgICAgICAgIHsgLy8uc3BsaXRmaWxlbmFtZSBleGVjIHBvcCAvLy5mb250dGVtcHN0cmluZyBjb3B5IC8vLmxvd2Vyc3RyaW5nIGV4ZWMgY3ZuCi0rICAgICAgICAgICAgLy8uc2NhbmZvbnRkaWN0IGV4Y2ggLy90cnVlIHB1dAotICAgICAgICAgICB9Ci0gICAgICAgICAgIHsgcG9wCi0gICAgICAgICAgIH0KLUBAIC0yODAsOSArMjg4LDkgQEAgRk9OVFBBVEggbGVuZ3RoIDAgZXEgeyAoJUVORCBGT05UUEFUSCkgLnNraXBlb2YgfSBpZgotICAgL3R4dCAvL3RydWUKLSAuZGljdHRvbWFyayBkZWYKLSAvLnNjYW4xZm9udHN0cmluZyA4MTkyIHN0cmluZyBkZWYKLS0lICUlQmVnaW5Gb250OiBpcyBub3QgcGVyIEFkb2JlIGRvY3VtZW50YXRpb24sIGJ1dCBhIGZldyBmb250cyBoYXZlIGl0LgotKyUgQmVnaW5Gb250OiBpcyBub3QgcGVyIEFkb2JlIGRvY3VtZW50YXRpb24sIGJ1dCBhIGZldyBmb250cyBoYXZlIGl0LgotIC8uc2NhbmZvbnRoZWFkZXJzIFsoJSFQUy1BZG9iZSopICglIUZvbnRUeXBlKikgKCUlQmVnaW5Gb250OiopXSBkZWYKLS0wIC5zY2FuZm9udGhlYWRlcnMgeyBsZW5ndGggLm1heCB9IGZvcmFsbCA2IGFkZCAlIGV4dHJhIGZvciBQRkIgaGVhZGVyCi0rMCAvLy5zY2FuZm9udGhlYWRlcnMgeyBsZW5ndGggLm1heCB9IGZvcmFsbCA2IGFkZCAlIGV4dHJhIGZvciBQRkIgaGVhZGVyCi0gLy5zY2FuMWZvbnRmaXJzdCBleGNoIHN0cmluZyBkZWYKLSAvLnNjYW5mb250ZGlyICAgICAgICAgICAlIDxkaXJuYW1lPiAuc2NhbmZvbnRkaXIgLQotICB7IGN1cnJlbnRnbG9iYWwgZXhjaCAvL3RydWUgc2V0Z2xvYmFsCi1AQCAtMjkxLDEwICsyOTksMTAgQEAgRk9OVFBBVEggbGVuZ3RoIDAgZXEgeyAoJUVORCBGT05UUEFUSCkgLnNraXBlb2YgfSBpZgotICAgIDAgMCAwIDQgLTEgcm9sbCAgICAgICUgZm91bmQgc2Nhbm5lZCBmaWxlcwotICAgICB7ICAgICAgICAgICAlIHN0YWNrOiA8Zm9udGNvdW50PiA8c2NhbmNvdW50PiA8ZmlsZWNvdW50PiA8ZmlsZW5hbWU+Ci0gICAgICAgZXhjaCAxIGFkZCBleGNoICAgICAgICAgICAgICAgICAgICUgaW5jcmVtZW50IGZpbGVjb3VudAotLSAgICAgIGR1cCAuc3BsaXRmaWxlbmFtZSAuZm9udHRlbXBzdHJpbmcgY29weSAubG93ZXJzdHJpbmcKLSsgICAgICBkdXAgLy8uc3BsaXRmaWxlbmFtZSBleGVjIC8vLmZvbnR0ZW1wc3RyaW5nIGNvcHkgLy8ubG93ZXJzdHJpbmcgZXhlYwotICAgICAgICAgICAgICAgICAlIHN0YWNrOiA8Zm9udGNvdW50PiA8c2NhbmNvdW50PiA8ZmlsZWNvdW50KzE+IDxmaWxlbmFtZT4KLSAgICAgICAgICAgICAgICAgJSAgICAgICA8QkFTRT4gPGV4dD4KLS0gICAgICAuc2NhbmZvbnRza2lwIGV4Y2gga25vd24gZXhjaCAuc2NhbmZvbnRkaWN0IGV4Y2gga25vd24gb3IKLSsgICAgICAvLy5zY2FuZm9udHNraXAgZXhjaCBrbm93biBleGNoIC8vLnNjYW5mb250ZGljdCBleGNoIGtub3duIG9yCi0gICAgICAgIHsgcG9wCi0gICAgICAgICAgICAgICAgICUgc3RhY2s6IDxmb250Y291bnQ+IDxzY2FuY291bnQ+IDxmaWxlY291bnQrMT4KLSAgICAgICAgfQotQEAgLTMwOSw3ICszMTcsNyBAQCBGT05UUEFUSCBsZW5ndGggMCBlcSB7ICglRU5EIEZPTlRQQVRIKSAuc2tpcGVvZiB9IGlmCi0gICAgICAgICAgICAgICAgICUgT24gc29tZSBwbGF0Zm9ybXMsIHRoZSBmaWxlIG9wZXJhdG9yIHdpbGwgb3BlbiBkaXJlY3RvcmllcywKLSAgICAgICAgICAgICAgICAgJSBidXQgYW4gZXJyb3Igd2lsbCBvY2N1ciBpZiB3ZSB0cnkgdG8gcmVhZCBmcm9tIG9uZS4KLSAgICAgICAgICAgICAgICAgJSBIYW5kbGUgdGhpcyBwb3NzaWJpbGl0eSBoZXJlLgotLSAgICAgICAgICAgIGR1cCAuc2NhbjFmb250Zmlyc3QgeyByZWFkc3RyaW5nIH0gLmludGVybmFsc3RvcHBlZAotKyAgICAgICAgICAgIGR1cCAvLy5zY2FuMWZvbnRmaXJzdCB7IHJlYWRzdHJpbmcgfSAuaW50ZXJuYWxzdG9wcGVkCi0gICAgICAgICAgICAgIHsgcG9wIHBvcCAoKSB9Ci0gICAgICAgICAgICAgIHsgcG9wIH0KLSAgICAgICAgICAgICBpZmVsc2UKLUBAIC0zMjIsNyArMzMwLDcgQEAgRk9OVFBBVEggbGVuZ3RoIDAgZXEgeyAoJUVORCBGT05UUEFUSCkgLnNraXBlb2YgfSBpZgotICAgICAgICAgICB7IGR1cCBsZW5ndGggNiBzdWIgNiBleGNoIGdldGludGVydmFsIH0KLSAgICAgICAgICBpZgotICAgICAgICAgICAgICAgICAlIENoZWNrIGZvciBmb250IGZpbGUgaGVhZGVycy4KLS0gICAgICAgICAvL2ZhbHNlIC5zY2FuZm9udGhlYWRlcnMKLSsgICAgICAgICAvL2ZhbHNlIC8vLnNjYW5mb250aGVhZGVycwotICAgICAgICAgICB7IDIgaW5kZXggZXhjaCAuc3RyaW5nbWF0Y2ggb3IKLSAgICAgICAgICAgfQotICAgICAgICAgIGZvcmFsbCBleGNoIHBvcAotQEAgLTMzNSw3ICszNDMsNyBAQCBGT05UUEFUSCBsZW5ndGggMCBlcSB7ICglRU5EIEZPTlRQQVRIKSAuc2tpcGVvZiB9IGlmCi0gICAgICAgICAgICAgICAgIHsgZXhjaCBjb3B5c3RyaW5nIGV4Y2gKLSAgICAgICAgICAgICAgICAgICBERUJVRyB7ICggKSBwcmludCBkdXAgPW9ubHkgZmx1c2ggfSBpZgotICAgICAgICAgICAgICAgICAgIDEgaW5kZXggLmRlZmluZW5hdGl2ZWZvbnRtYXAKLS0gICAgICAgICAgICAgICAgICAuc3BsaXRmaWxlbmFtZSBwb3AgLy90cnVlIC5zY2FuZm9udGRpY3QgMyAxIHJvbGwgLmdyb3dwdXQKLSsgICAgICAgICAgICAgICAgICAvLy5zcGxpdGZpbGVuYW1lIGV4ZWMgcG9wIC8vdHJ1ZSAvLy5zY2FuZm9udGRpY3QgMyAxIHJvbGwgLmdyb3dwdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAlIEluY3JlbWVudCBmb250Y291bnQuCi0gICAgICAgICAgICAgICAgICAgMyAtMSByb2xsIDEgYWRkIDMgMSByb2xsCi0gICAgICAgICAgICAgICAgIH0KLUBAIC0zNTIsNyArMzYwLDcgQEAgRk9OVFBBVEggbGVuZ3RoIDAgZXEgeyAoJUVORCBGT05UUEFUSCkgLnNraXBlb2YgfSBpZgotICAgICAgICB9Ci0gICAgICAgaWZlbHNlCi0gICAgIH0KLS0gICAuc2NhbjFmb250c3RyaW5nIGZpbGVuYW1lZm9yYWxsCi0rICAgLy8uc2NhbjFmb250c3RyaW5nIGZpbGVuYW1lZm9yYWxsCi0gICAgUVVJRVQKLSAgICAgeyBwb3AgcG9wIHBvcCB9Ci0gICAgIHsgKCApIHByaW50ID1vbmx5ICggZmlsZXMsICkgcHJpbnQgPW9ubHkgKCBzY2FubmVkLCApIHByaW50Ci1AQCAtNDIyLDcgKzQzMCw2IEBAIHN5c3RlbWRpY3QgL05PTkFUSVZFRk9OVE1BUCBrbm93biAuc2V0bmF0aXZlZm9udG1hcGJ1aWx0Ci0gICAgIC8vdHJ1ZSAuc2V0bmF0aXZlZm9udG1hcGJ1aWx0Ci0gICB9IGlmZWxzZQotIH0gYmluZCBkZWYKLS1jdXJyZW50ZGljdCAvLnNldG5hdGl2ZWZvbnRtYXBidWlsdCAuZm9yY2V1bmRlZgotIAotICUgQ3JlYXRlIHRoZSBkaWN0aW9uYXJ5IHRoYXQgcmVnaXN0ZXJzIHRoZSAuYnVpbGRmb250IHByb2NlZHVyZQotICUgKGNhbGxlZCBieSBkZWZpbmVmb250KSBmb3IgZWFjaCBGb250VHlwZS4KLUBAIC01MjYsNyArNTMzLDggQEAgYnVpbGRmb250ZGljdCAzIC8uYnVpbGRmb250MyBjdnggcHV0Ci0gJSBXZSB1c2UgdGhpcyBvbmx5IGZvciBleHBsaWNpdGx5IGFsaWFzZWQgZm9udHMsIG5vdCBzdWJzdGl0dXRlZCBmb250czoKLSAlIHdlIHRoaW5rIHRoaXMgbWF0Y2hlcyB0aGUgb2JzZXJ2ZWQgYmVoYXZpb3Igb2YgQWRvYmUgaW50ZXJwcmV0ZXJzLgotIC8uYWxpYXNmb250ICAgICAgICAgICAgICUgPG5hbWU+IDxmb250PiAuYWxpYXNmb250IDxuZXdGb250PgotLSB7IC5jdXJyZW50Z2xvYmFsIDMgMSByb2xsIGR1cCAuZ2NoZWNrIC5zZXRnbG9iYWwKLSsgewotKyAgIGN1cnJlbnRnbG9iYWwgMyAxIHJvbGwgZHVwIGdjaGVjayBzZXRnbG9iYWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgPGJvb2w+IDxuYW1lPiA8Zm9udD4KLSAgICBkdXAgbGVuZ3RoIDIgYWRkIGRpY3QgICAgICUgPGJvb2w+IDxuYW1lPiA8Zm9udD4gPGRpY3Q+Ci0gICAgZHVwIDMgLTEgcm9sbCAgICAgICAgICAgICAlIDxib29sPiA8bmFtZT4gPGRpY3Q+IDxkaWN0PiA8Zm9udD4KLUBAIC01NDEsNyArNTQ5LDcgQEAgYnVpbGRmb250ZGljdCAzIC8uYnVpbGRmb250MyBjdnggcHV0Ci0gICAgICAgICAgICAgICAgICUgd2hvc2UgRm9udE5hbWUgaXMgYSBsb2NhbCBub24tc3RyaW5nLCBpZiBzb21lb25lIHBhc3NlZCBhCi0gICAgICAgICAgICAgICAgICUgZ2FyYmFnZSB2YWx1ZSB0byBmaW5kZm9udC4gIEluIHRoaXMgY2FzZSwganVzdCBkb24ndAotICAgICAgICAgICAgICAgICAlIGNhbGwgZGVmaW5lZm9udCBhdCBhbGwuCi0tICAgMiBpbmRleCBkdXAgdHlwZSAvc3RyaW5ndHlwZSBlcSBleGNoIC5nY2hlY2sgb3IgMSBpbmRleCAuZ2NoZWNrIG5vdCBvcgotKyAgICAyIGluZGV4IGR1cCB0eXBlIC9zdHJpbmd0eXBlIGVxIGV4Y2ggZ2NoZWNrIG9yIDEgaW5kZXggZ2NoZWNrIG5vdCBvcgotICAgICB7IHBvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgPGJvb2w+IDxuYW1lPiA8ZGljdD4KLSAgICAgICAxIGluZGV4IGR1cCB0eXBlIC9zdHJpbmd0eXBlIGVxIHsgY3ZuIH0gaWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIDxib29sPiA8bmFtZT4gPGRpY3Q+IDxuYW1lMT4KLUBAIC01NjYsMTAgKzU3NCwxMSBAQCBidWlsZGZvbnRkaWN0IDMgLy5idWlsZGZvbnQzIGN2eCBwdXQKLSAgICAgICAgICAgICAgICAgJSBEb24ndCBiaW5kIGluIGRlZmluZWZvbnQsIHNpbmNlIExldmVsIDIgcmVkZWZpbmVzIGl0LgotICAgICAgIC9kZWZpbmVmb250IC5zeXN0ZW12YXIgZXhlYwotICAgICB9Ci0tICAgIHsgL2ZpbmRmb250IGN2eCB7LmNvbXBsZXRlZm9udH0gLmVycm9yZXhlYyBwb3AgZXhjaCBwb3AKLSsgICAgewotKyAgICAgIC9maW5kZm9udCBjdnggey5jb21wbGV0ZWZvbnR9IC8vLmVycm9yZXhlYyBleGVjIHBvcCBleGNoIHBvcAotICAgICB9Ci0gICAgaWZlbHNlCi0tICAgZXhjaCAuc2V0Z2xvYmFsCi0rICAgZXhjaCBzZXRnbG9iYWwKLSAgfSBvZGVmICAgICAgICAgJSBzbyBmaW5kZm9udCB3aWxsIGJpbmQgaXQKLSAKLSAlIERlZmluZSAubG9hZGZvbnRmaWxlIGZvciBsb2FkaW5nIGEgZm9udC4gIElmIHdlIHJlY29nbml6ZSBUeXBlIDEgYW5kL29yCi1AQCAtNjY5LDEwICs2NzgsMTkgQEAgYnVpbGRmb250ZGljdCAzIC8uYnVpbGRmb250MyBjdnggcHV0Ci0gICBbKENuKSA0XSBbKENvbmQpIDRdIFsoTmFycm93KSA0XSBbKFBrZykgNF0gWyhDb21wcikgNF0KLSAgIFsoU2VyaWYpIDhdIFsoU2FucykgLThdCi0gXSByZWFkb25seSBkZWYKLSsKLSsvLmZvbnRuYW1lc3RyaW5nIHsgICAgICAgICAgICAgICUgPGZvbnRuYW1lPiAuZm9udG5hbWVzdHJpbmcgPHN0cmluZ3xuYW1lPgotKyAgZHVwIHR5cGUgZHVwIC9uYW1ldHlwZSBlcSB7Ci0rICAgIHBvcCAubmFtZXN0cmluZwotKyAgfSB7Ci0rICAgIC9zdHJpbmd0eXBlIG5lIHsgcG9wICgpIH0gaWYKLSsgIH0gaWZlbHNlCi0rfSBiaW5kIGRlZgotKwotIC8uZm9udG5hbWVwcm9wZXJ0aWVzIHsgICAgICAgICAgJSA8aW50PiA8c3RyaW5nfG5hbWU+IC5mb250bmFtZXByb3BlcnRpZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgICA8aW50Jz4KLS0gIC5mb250bmFtZXN0cmluZwotLSAgLnN1YnN0aXR1dGVwcm9wZXJ0aWVzIHsKLSsgIC8vLmZvbnRuYW1lc3RyaW5nIGV4ZWMKLSsgIC8vLnN1YnN0aXR1dGVwcm9wZXJ0aWVzIHsKLSAgICAgMiBjb3B5IDAgZ2V0IHNlYXJjaCB7Ci0gICAgICAgcG9wIHBvcCBwb3AgZHVwIGxlbmd0aCAxIHN1YiAxIGV4Y2ggZ2V0aW50ZXJ2YWwgMyAtMSByb2xsIGV4Y2ggewotICAgICAgICAgZHVwIDAgZ2UgeyBvciB9IHsgbmVnIG5vdCBhbmQgfSBpZmVsc2UKLUBAIC03MTAsMTMgKzcyOCw3IEBAIGJ1aWxkZm9udGRpY3QgMyAvLmJ1aWxkZm9udDMgY3Z4IHB1dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSA8b3RoZXI+IC5uYW1ldG9zdHJpbmcgPG90aGVyPgotICAgZHVwIHR5cGUgL25hbWV0eXBlIGVxIHsgLm5hbWVzdHJpbmcgfSBpZgotIH0gYmluZCBkZWYKLS0vLmZvbnRuYW1lc3RyaW5nIHsgICAgICAgICAgICAgICUgPGZvbnRuYW1lPiAuZm9udG5hbWVzdHJpbmcgPHN0cmluZ3xuYW1lPgotLSAgZHVwIHR5cGUgZHVwIC9uYW1ldHlwZSBlcSB7Ci0tICAgIHBvcCAubmFtZXN0cmluZwotLSAgfSB7Ci0tICAgIC9zdHJpbmd0eXBlIG5lIHsgcG9wICgpIH0gaWYKLS0gIH0gaWZlbHNlCi0tfSBiaW5kIGRlZgotKwotIC8uc3Vic3RpdHV0ZWZvbnRuYW1lIHsgICAgICAgICAgJSA8Zm9udG5hbWU+IDxwcm9wZXJ0aWVzPiAuc3Vic3RpdHV0ZWZvbnRuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlICAgPGFsdG5hbWV8bnVsbD4KLSAgICAgICAgICUgTG9vayBmb3IgcHJvcGVydGllcyBhbmQvb3IgYSBmYWNlIG5hbWUgaW4gdGhlIGZvbnQgbmFtZS4KLUBAIC03MjQsNyArNzM2LDcgQEAgYnVpbGRmb250ZGljdCAzIC8uYnVpbGRmb250MyBjdnggcHV0Ci0gICAgICAgICAlIGJhc2UgZm9udDsgb3RoZXJ3aXNlLCB1c2UgdGhlIGRlZmF1bHQgZm9udC4KLSAgICAgICAgICUgTm90ZSB0aGF0IHRoZSAic3Vic3RpdHV0ZWQiIGZvbnQgbmFtZSBtYXkgYmUgdGhlIHNhbWUgYXMKLSAgICAgICAgICUgdGhlIHJlcXVlc3RlZCBvbmU7IHRoZSBjYWxsZXIgbXVzdCBjaGVjayB0aGlzLgotLSAgZXhjaCAuZm9udG5hbWVzdHJpbmcgewotKyAgZXhjaCAvLy5mb250bmFtZXN0cmluZyBleGVjIHsKLSAgICAgZGVmYXVsdGZvbnRuYW1lIC9IZWx2ZXRpY2EtT2JsaXF1ZSAvSGVsdmV0aWNhLUJvbGQgL0hlbHZldGljYS1Cb2xkT2JsaXF1ZQotICAgICAvSGVsdmV0aWNhLU5hcnJvdyAvSGVsdmV0aWNhLU5hcnJvdy1PYmxpcXVlCi0gICAgIC9IZWx2ZXRpY2EtTmFycm93LUJvbGQgL0hlbHZldGljYS1OYXJyb3ctQm9sZE9ibGlxdWUKLUBAIC03MzQsMTIgKzc0NiwxMiBAQCBidWlsZGZvbnRkaWN0IDMgLy5idWlsZGZvbnQzIGN2eCBwdXQKLSAgIH0gMyAxIHJvbGwKLSAgICAgICAgICUgU3RhY2s6IGZhY2VsaXN0IHByb3BlcnRpZXMgZm9udG5hbWUKLSAgICAgICAgICUgTG9vayBmb3IgYSBmYWNlIG5hbWUuCi0tICAuc3Vic3RpdHV0ZWZhY2VzIHsKLSsgIC8vLnN1YnN0aXR1dGVmYWNlcyB7Ci0gICAgIDIgY29weSAwIGdldCBzZWFyY2ggewotICAgICAgIHBvcCBwb3AgcG9wCi0gICAgICAgICAlIFN0YWNrOiBmYWNlbGlzdCBwcm9wZXJ0aWVzIGZvbnRuYW1lIFsocGF0dGVybikgZmFtaWx5IHByb3BlcnRpZXNdCi0gICAgICAgZHVwIDIgZ2V0IDQgLTEgcm9sbCBvciAzIDEgcm9sbAotLSAgICAgIDEgZ2V0IC5zdWJzdGl0dXRlZmFtaWxpZXMgZXhjaCBnZXQKLSsgICAgICAxIGdldCAvLy5zdWJzdGl0dXRlZmFtaWxpZXMgZXhjaCBnZXQKLSAgICAgICA0IC0xIHJvbGwgcG9wIDMgMSByb2xsCi0gICAgIH0gewotICAgICAgIHBvcCBwb3AKLUBAIC03NDgsNyArNzYwLDcgQEAgYnVpbGRmb250ZGljdCAzIC8uYnVpbGRmb250MyBjdnggcHV0Ci0gICAxIGluZGV4IGxlbmd0aCBtb2QgZ2V0IGV4ZWMKLSB9IGJpbmQgZGVmCi0gLy5zdWJzdGl0dXRlZm9udCB7ICAgICAgICAgICAgICAlIDxmb250bmFtZT4gLnN1YnN0aXR1dGVmb250IDxhbHRuYW1lPgotLSAgZHVwIDAgZXhjaCAuZm9udG5hbWVwcm9wZXJ0aWVzIC5zdWJzdGl0dXRlZm9udG5hbWUKLSsgIGR1cCAwIGV4Y2ggLy8uZm9udG5hbWVwcm9wZXJ0aWVzIGV4ZWMgLnN1YnN0aXR1dGVmb250bmFtZQotICAgICAgICAgJSBPbmx5IGFjY2VwdCBmb250cyBrbm93biBpbiB0aGUgRm9udG1hcC4KLSAgICBGb250bWFwIDEgaW5kZXgga25vd24gbm90Ci0gICAgewotQEAgLTgxNCw3ICs4MjYsNyBAQCBGQUtFRk9OVFMgbm90IHsgKCVFTkQgRkFLRUZPTlRTKSAuc2tpcGVvZiB9IGlmCi0gICBjb3VudHRvbWFyayAxIHN1YiB7IC5hbGlhc2ZvbnQgfSByZXBlYXQgZW5kCi0gICAgICAgICAgICAgICAgICAgICAgICUgPGZvbnRuYW1lPiBtYXJrIDxmb250PgotICAgZXhjaCBwb3AgZXhjaCBwb3AKLS19IG9kZWYKLSt9IGJpbmQgb2RlZgotIC9maW5kZm9udCB7Ci0gICAuZmluZGZvbnQKLSB9IGJpbmQgZGVmCi1AQCAtODYwLDcgKzg3Miw3IEBAIEZBS0VGT05UUyBub3QgeyAoJUVORCBGQUtFRk9OVFMpIC5za2lwZW9mIH0gaWYKLSAgICAgICB9IHsKLSAgICAgICAgIGR1cCAuc3Vic3RpdHV0ZWZvbnQKLSAgICAgICAgIDIgY29weSBlcSB7IHBvcCBkZWZhdWx0Zm9udG5hbWUgfSBpZgotLSAgICAgICAgLmNoZWNrYWxpYXMKLSsgICAgICAgIC8vLmNoZWNrYWxpYXMgZXhlYwotICAgICAgICAgUVVJRVQgbm90IHsKLSAgICAgICAgICAgU0hPUlRFUlJPUlMgewotICAgICAgICAgICAgICglJVspIHByaW50IDEgaW5kZXggPW9ubHkKLUBAIC04ODYsOCArODk4LDggQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAvL251bGwgMCAxIEZPTlRQQVRIIGxlbmd0aCAxIHN1YiB7Ci0gICAgIEZPTlRQQVRIIDEgaW5kZXggZ2V0IC8vbnVsbCBuZSB7IGV4Y2ggcG9wIGV4aXQgfSBpZiBwb3AKLSAgIH0gZm9yIGR1cCAvL251bGwgbmUgewotLSAgICBkdXAgMCBlcSB7IC5zY2FuZm9udGJlZ2luIH0gaWYKLS0gICAgRk9OVFBBVEggMSBpbmRleCBnZXQgLnNjYW5mb250ZGlyCi0rICAgIGR1cCAwIGVxIHsgLy8uc2NhbmZvbnRiZWdpbiBleGVjfSBpZgotKyAgICBGT05UUEFUSCAxIGluZGV4IGdldCAvLy5zY2FuZm9udGRpciBleGVjCi0gICAgIEZPTlRQQVRIIGV4Y2ggLy9udWxsIHB1dCAvL3RydWUKLSAgIH0gewotICAgICBwb3AgLy9mYWxzZQotQEAgLTg5NywxMSArOTA5LDEwIEBAICRlcnJvciAvU3Vic3RpdHV0ZUZvbnQgeyB9IHB1dAotICUgc2Nhbm5pbmcgb2YgRk9OVFBBVEguCi0gLy5kb2ZpbmRmb250IHsgICAlICBtYXJrIDxmb250bmFtZT4gLmRvZmluZGZvbnQgJSBtYXJrIDxhbGlhcz4gLi4uIDxmb250PgotICAgLnRyeWZpbmRmb250IG5vdCB7Ci0tCi0gICAgICAgICAgICAgICAgICAgICAgICAgJSBXZSBkaWRuJ3QgZmluZCB0aGUgZm9udC4gIElmIHdlIGhhdmVuJ3Qgc2Nhbm5lZAotICAgICAgICAgICAgICAgICAgICAgICAgICUgYWxsIHRoZSBkaXJlY3RvcmllcyBpbiBGT05UUEFUSCwgc2NhbiB0aGUgbmV4dCBvbmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAlIG5vdyBhbmQgbG9vayBmb3IgdGhlIGZvbnQgYWdhaW4uCi0tICAgIC5zY2FubmV4dGZvbnRkaXIgewotKyAgICAvLy5zY2FubmV4dGZvbnRkaXIgZXhlYyB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgJSBTdGFydCBvdmVyIHdpdGggYW4gZW1wdHkgYWxpYXMgbGlzdC4KLSAgICAgICBjb3VudHRvbWFyayAxIHN1YiB7IHBvcCB9IHJlcGVhdCAgICAlIG1hcmsgPGZvbnRuYW1lPgotICAgICAgIC5kb2ZpbmRmb250Ci1AQCAtOTI3LDYgKzkzOCw3IEBAICRlcnJvciAvU3Vic3RpdHV0ZUZvbnQgeyB9IHB1dAotICAgICAgICAgfSBpZgotICAgICAgICAgICAgICAgICAgICAgICAgICUgU3Vic3RpdHV0ZSBmb3IgdGhlIGZvbnQuICBEb24ndCBhbGlhcy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAlIFNhbWUgc3RhY2sgYXMgYXQgdGhlIGJlZ2lubmluZyBvZiAuZG9maW5kZm9udC4KLSsKLSAgICAgICAgICRlcnJvciAvU3Vic3RpdHV0ZUZvbnQgZ2V0IGV4ZWMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAlIGlnb3JtOiBJIGd1ZXNzIHRoZSBzdXJyb3VuZGluZyBjb2RlIGFzc3VtZXMgdGhhdCAuc3Rkc3Vic3Rmb250Ci1AQCAtOTM1LDcyICs5NDcsMTEgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICUgdXNlZCBpbiAuZG9maW5kZm9udCBhbmQgdGhyb3VnaCAuc3Rkc3Vic3Rmb250Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICUganVzdCB0byByZXByZXNlbnQgYSBzaW1wbGUgaXRlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAlIHdoaWNoIGFjY3VtdWxhdGVzIHRoZSBhbGlhc2VzIGFmdGVyIHRoZSBtYXJrLgotLSAgICAgICAgLnN0ZHN1YnN0Zm9udAotKyAgICAgICAgLy8uc3Rkc3Vic3Rmb250IGV4ZWMKLSAgICAgICB9IGlmZWxzZQotICAgICB9IGlmZWxzZQotICAgfSBpZgotIH0gYmluZCBkZWYKLS0lIFRyeSB0byBmaW5kIGEgZm9udCB1c2luZyBvbmx5IHRoZSBwcmVzZW50IGNvbnRlbnRzIG9mIEZvbnRtYXAuCi0tLy50cnlmaW5kZm9udCB7ICAgICAgICAgJSA8Zm9udG5hbWU+IC50cnlmaW5kZm9udCA8Zm9udD4gdHJ1ZQotLSAgICAgICAgICAgICAgICAgICAgICAgICUgPGZvbnRuYW1lPiAudHJ5ZmluZGZvbnQgZmFsc2UKLS0gIC8vLkZvbnREaXJlY3RvcnkgMSBpbmRleCAuZm9udGtub3duZ2V0Ci0tICAgIHsgICAgICAgICAgICAgICAgICAgJSBBbHJlYWR5IGxvYWRlZAotLSAgICAgIGV4Y2ggcG9wIC8vdHJ1ZQotLSAgICB9Ci0tICAgIHsKLS0gICAgICAgZHVwIEZvbnRtYXAgZXhjaCAua25vd25nZXQKLS0gICAgICAgeyAvL3RydWUgLy90cnVlIH0KLS0gICAgICAgeyAgICAgICAgICAgICAgICAlIFVua25vd24gZm9udCBuYW1lLiAgTG9vayBmb3IgYSBmaWxlIHdpdGggdGhlCi0tICAgICAgICAgICAgICAgICAgICAgICAgJSBzYW1lIG5hbWUgYXMgdGhlIHJlcXVlc3RlZCBmb250LgotLSAgICAgICAgIGR1cCAudHJ5bG9hZGZvbnQKLS0gICAgICAgICB7IGV4Y2ggcG9wIC8vdHJ1ZSAvL2ZhbHNlIH0KLS0gICAgICAgICB7Ci0tICAgICAgICAgICAlIGlmIHdlIGNhbid0IGxvYWQgYnkgbmFtZSBjaGVjayB0aGUgbmF0aXZlIGZvbnQgbWFwCi0tICAgICAgICAgICBkdXAgLm5hdGl2ZUZvbnRtYXAgZXhjaCAua25vd25nZXQKLS0gICAgICAgICAgIHsgLy90cnVlIC8vdHJ1ZSB9Ci0tICAgICAgICAgICB7IC8vZmFsc2UgLy9mYWxzZSB9IGlmZWxzZQotLSAgICAgICAgIH0gaWZlbHNlCi0tICAgICAgIH0gaWZlbHNlCi0tCi0tICAgICAgIHsgICAgICAgICAgICAgICAgJSBUcnkgZWFjaCBlbGVtZW50IG9mIHRoZSBGb250bWFwIGluIHR1cm4uCi0tICAgICAgICAgcG9wCi0tICAgICAgICAgLy9mYWxzZSBleGNoICAgJSAoaW4gY2FzZSB3ZSBleGhhdXN0IHRoZSBsaXN0KQotLSAgICAgICAgICAgICAgICAgICAgICAgICUgU3RhY2s6IGZvbnRuYW1lIGZhbHNlIGZvbnRtYXBsaXN0Ci0tICAgICAgICAgeyBleGNoIHBvcAotLSAgICAgICAgICAgZHVwIHR5cGUgL25hbWV0eXBlIGVxCi0tICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAlIEZvbnQgYWxpYXMKLS0gICAgICAgICAgICAgIC5jaGVja2FsaWFzIC50cnlmaW5kZm9udCBleGl0Ci0tICAgICAgICAgICAgfQotLSAgICAgICAgICAgIHsgZHVwIGR1cCB0eXBlIGR1cCAvYXJyYXl0eXBlIGVxIGV4Y2ggL3BhY2tlZGFycmF5dHlwZSBlcSBvciBleGNoIHhjaGVjayBhbmQKLS0gICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICUgRm9udCB3aXRoIGEgcHJvY2VkdXJhbCBkZWZpbml0aW9uCi0tICAgICAgICAgICAgICAgICBleGVjICAgICAgICAgICAlIFRoZSBwcm9jZWR1cmUgd2lsbCBsb2FkIHRoZSBmb250LgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBDaGVjayB0byBtYWtlIHN1cmUgdGhpcyByZWFsbHkgaGFwcGVuZWQuCi0tICAgICAgICAgICAgICAgICAvLy5Gb250RGlyZWN0b3J5IDEgaW5kZXggLmtub3duZ2V0Ci0tICAgICAgICAgICAgICAgICAgeyBleGNoIHBvcCAvL3RydWUgZXhpdCB9Ci0tICAgICAgICAgICAgICAgICBpZgotLSAgICAgICAgICAgICAgIH0KLS0gICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICUgRm9udCBmaWxlIG5hbWUKLS0gICAgICAgICAgICAgICAgIC8vdHJ1ZSAubG9hZGZvbnRsb29wIHsgLy90cnVlIGV4aXQgfSBpZgotLSAgICAgICAgICAgICAgIH0KLS0gICAgICAgICAgICAgIGlmZWxzZQotLSAgICAgICAgICAgIH0KLS0gICAgICAgICAgIGlmZWxzZSAvL2ZhbHNlCi0tICAgICAgICAgfQotLSAgICAgICAgIGZvcmFsbAotLSAgICAgICAgICAgICAgICAgICAgICAgICUgU3RhY2s6IGZvbnQgdHJ1ZSAtb3ItIGZvbnRuYW1lIGZhbHNlCi0tICAgICAgICAgeyAvL3RydWUKLS0gICAgICAgICB9Ci0tICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAlIE5vbmUgb2YgdGhlIEZvbnRtYXAgZW50cmllcyB3b3JrZWQuCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIFRyeSBsb2FkaW5nIGEgZmlsZSB3aXRoIHRoZSBzYW1lIG5hbWUKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgYXMgdGhlIHJlcXVlc3RlZCBmb250LgotLSAgICAgICAgICAgLnRyeWxvYWRmb250Ci0tICAgICAgICAgfQotLSAgICAgICAgaWZlbHNlCi0tICAgICAgIH0KLS0gICAgICBpZgotLSAgICB9Ci0tICAgaWZlbHNlCi0tIH0gYmluZCBkZWYKLSAKLSAlIGFueSB1c2VyIG9mIC5wdXRnc3RyaW5nY29weSBtdXN0IHVzZSBiaW5kIGFuZCBleGVjdXRlb25seQotIC8ucHV0Z3N0cmluZ2NvcHkgICUgICA8ZGljdD4gPG5hbWU+IDxzdHJpbmc+IC5wdXRnc3RyaW5nY29weSAtCi1AQCAtMTAxNCwyNSArOTY1LDYgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICB9IGV4ZWN1dGVvbmx5IGlmZWxzZQotIH0gLmJpbmQgZXhlY3V0ZW9ubHkgb2RlZiAlIG11c3QgYmUgYm91bmQgYW5kIGhpZGRlbiBmb3IgLmZvcmNlcHV0Ci0gCi0tJSBBdHRlbXB0IHRvIGxvYWQgYSBmb250IGZyb20gYSBmaWxlLgotLS8udHJ5bG9hZGZvbnQgeyAgICAgICAgICUgPGZvbnRuYW1lPiAudHJ5bG9hZGZvbnQgPGZvbnQ+IHRydWUKLS0gICAgICAgICAgICAgICAgICAgICAgICAlIDxmb250bmFtZT4gLnRyeWxvYWRmb250IGZhbHNlCi0tICBkdXAgLm5hbWV0b3N0cmluZwotLSAgICAgICAgICAgICAgICAlIEhhY2s6IGNoZWNrIGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIHJlc291cmNlIG1hY2hpbmVyeS4KLS0gIC8uZ2VuZXJpY3JmbiB3aGVyZSB7Ci0tICAgIHBvcAotLSAgICBwb3AgZHVwIC5mb250dGVtcHN0cmluZyAvRm9udFJlc291cmNlRGlyIGdldHN5c3RlbXBhcmFtIC5nZW5lcmljcmZuCi0tICAgIHsvL2ZhbHNlIC5sb2FkZm9udGxvb3B9IC5pbnRlcm5hbHN0b3BwZWQgey8vZmFsc2V9IGlmIHsKLS0gICAgICAvL3RydWUKLS0gICAgfSB7Ci0tICAgICAgZHVwIC5uYW1ldG9zdHJpbmcKLS0gICAgICB7Ly90cnVlIC5sb2FkZm9udGxvb3B9IC5pbnRlcm5hbHN0b3BwZWQgey8vZmFsc2V9IGlmCi0tICAgIH0gaWZlbHNlCi0tICB9IHsKLS0gICAgey8vdHJ1ZSAubG9hZGZvbnRsb29wfSAuaW50ZXJuYWxzdG9wcGVkIHsvL2ZhbHNlfSBpZgotLSAgfSBpZmVsc2UKLS19IGJpbmQgZGVmCi0tCi0gLy5sb2FkZm9udGxvb3AgeyAgICAgICAgJSA8Zm9udG5hbWU+IDxmaWxlbmFtZT4gPGxpYmZsYWc+IC5sb2FkZm9udGxvb3AKLSAgICAgICAgICAgICAgICAgICAgICAgICAlICAgPGZvbnQ+IHRydWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAlIC1vci0KLUBAIC0xMTAyLDcgKzEwMzQsNyBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSAgICAgICAgICB9IGlmCi0gCi0gICAgICAgICAgICAgICAgICUgQ2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBmb250IHdhcyBhY3R1YWxseSBsb2FkZWQuCi0tICAgICAgICBkdXAgMyBpbmRleCAuZm9udGtub3duZ2V0Ci0rICAgICAgICBkdXAgMyBpbmRleCAvLy5mb250a25vd25nZXQgZXhlYwotICAgICAgICAgIHsgZHVwIC9QYXRoTG9hZCA0IGluZGV4IC5wdXRnc3RyaW5nY29weQotICAgICAgICAgICAgNCAxIHJvbGwgcG9wIHBvcCBwb3AgLy90cnVlIGV4aXQKLSAgICAgICAgICB9IGV4ZWN1dGVvbmx5IGlmCi1AQCAtMTExMyw3ICsxMDQ1LDcgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAgICAgICBleGNoIGR1cCAgICAgICUgU3RhY2s6IG9yaWdmb250bmFtZSBmb250ZGlyZWN0b3J5IHBhdGggcGF0aAotICAgICAgICAgKHIpIGZpbGUgLmZpbmRmb250bmFtZQotICAgICAgICAgIHsgICAgICAgICAgICAlIFN0YWNrOiBvcmlnZm9udG5hbWUgZm9udGRpcmVjdG9yeSBwYXRoIGZpbGVmb250bmFtZQotLSAgICAgICAgICAgMiBpbmRleCAxIGluZGV4IC5mb250a25vd25nZXQKLSsgICAgICAgICAgIDIgaW5kZXggMSBpbmRleCAvLy5mb250a25vd25nZXQgZXhlYwotICAgICAgICAgICAgIHsgICAlIFllcy4gIFN0YWNrOiBvcmlnZm9udG5hbWUgZm9udGRpcmVjdG9yeSBwYXRoIGZpbGVmb250bmFtZSBmb250ZGljdAotICAgICAgICAgICAgICAgZHVwIDQgLTEgcm9sbCAvUGF0aExvYWQgZXhjaCAucHV0Z3N0cmluZ2NvcHkKLSAgICAgICAgICAgICAgICAgICAgICAgJSBTdGFjazogb3JpZ2ZvbnRuYW1lIGZvbnRkaXJlY3RvcnkgZmlsZWZvbnRuYW1lIGZvbnRkaWN0Ci1AQCAtMTEzNiw3ICsxMDY4LDcgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAgICAgICAgICAgICAgICAgICAgICUgU3RhY2s6IGZvbnRkaWN0Ci0gICAgICAgICAgICAgfSBleGVjdXRlb25seQotICAgICAgICAgICAgaWYgcG9wICUgU3RhY2s6IG9yaWdmb250bmFtZSBmb250ZGlyZWN0b3J5IHBhdGgKLS0gICAgICAgICB9Ci0rICAgICAgICAgfSBleGVjdXRlb25seQotICAgICAgICAgaWYgcG9wIHBvcCAgJSBTdGFjazogb3JpZ2ZvbnRuYW1lCi0gCi0gICAgICAgICAgICAgICAgICUgVGhlIGZvbnQgZGVmaW5pdGVseSBkaWQgbm90IGxvYWQgY29ycmVjdGx5LgotQEAgLTExNTAsNyArMTA4Miw4NyBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSAKLSAgfSBiaW5kIGV4ZWN1dGVvbmx5IG9kZWYgJSBtdXN0IGJlIGJvdW5kIGFuZCBoaWRkZW4gZm9yIC5wdXRnc3RyaW5nY29weQotIAotLWN1cnJlbnRkaWN0IC8ucHV0Z3N0cmluZ2NvcHkgLnVuZGVmCi0rJSBBdHRlbXB0IHRvIGxvYWQgYSBmb250IGZyb20gYSBmaWxlLgotKy8udHJ5bG9hZGZvbnQgeyAgICAgICAgICUgPGZvbnRuYW1lPiAudHJ5bG9hZGZvbnQgPGZvbnQ+IHRydWUKLSsgICAgICAgICAgICAgICAgICAgICAgICAlIDxmb250bmFtZT4gLnRyeWxvYWRmb250IGZhbHNlCi0rICBkdXAgLy8ubmFtZXRvc3RyaW5nIGV4ZWMKLSsgICAgICAgICAgICAgICAgJSBIYWNrOiBjaGVjayBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSByZXNvdXJjZSBtYWNoaW5lcnkuCi0rICAvLmdlbmVyaWNyZm4gd2hlcmUgewotKyAgICBwb3AKLSsgICAgcG9wIGR1cCAvLy5mb250dGVtcHN0cmluZyAvRm9udFJlc291cmNlRGlyIGdldHN5c3RlbXBhcmFtIC5nZW5lcmljcmZuCi0rICAgIHsvL2ZhbHNlIC5sb2FkZm9udGxvb3B9IC5pbnRlcm5hbHN0b3BwZWQgey8vZmFsc2V9IGlmIHsKLSsgICAgICAvL3RydWUKLSsgICAgfSB7Ci0rICAgICAgZHVwIC8vLm5hbWV0b3N0cmluZyBleGVjCi0rICAgICAgey8vdHJ1ZSAubG9hZGZvbnRsb29wfSAuaW50ZXJuYWxzdG9wcGVkIHsvL2ZhbHNlfSBpZgotKyAgICB9IGlmZWxzZQotKyAgfSB7Ci0rICAgIHsvL3RydWUgLmxvYWRmb250bG9vcH0gLmludGVybmFsc3RvcHBlZCB7Ly9mYWxzZX0gaWYKLSsgIH0gaWZlbHNlCi0rfSBiaW5kIGRlZgotKwotKyUgVHJ5IHRvIGZpbmQgYSBmb250IHVzaW5nIG9ubHkgdGhlIHByZXNlbnQgY29udGVudHMgb2YgRm9udG1hcC4KLSsvLnRyeWZpbmRmb250IHsgICAgICAgICAlIDxmb250bmFtZT4gLnRyeWZpbmRmb250IDxmb250PiB0cnVlCi0rICAgICAgICAgICAgICAgICAgICAgICAgJSA8Zm9udG5hbWU+IC50cnlmaW5kZm9udCBmYWxzZQotKyAgLy8uRm9udERpcmVjdG9yeSAxIGluZGV4IC8vLmZvbnRrbm93bmdldCBleGVjCi0rICAgIHsgICAgICAgICAgICAgICAgICAgJSBBbHJlYWR5IGxvYWRlZAotKyAgICAgIGV4Y2ggcG9wIC8vdHJ1ZQotKyAgICB9Ci0rICAgIHsKLSsgICAgICAgZHVwIEZvbnRtYXAgZXhjaCAua25vd25nZXQKLSsgICAgICAgeyAvL3RydWUgLy90cnVlIH0KLSsgICAgICAgeyAgICAgICAgICAgICAgICAlIFVua25vd24gZm9udCBuYW1lLiAgTG9vayBmb3IgYSBmaWxlIHdpdGggdGhlCi0rICAgICAgICAgICAgICAgICAgICAgICAgJSBzYW1lIG5hbWUgYXMgdGhlIHJlcXVlc3RlZCBmb250LgotKyAgICAgICAgIGR1cCAvLy50cnlsb2FkZm9udCBleGVjCi0rICAgICAgICAgeyBleGNoIHBvcCAvL3RydWUgLy9mYWxzZSB9Ci0rICAgICAgICAgewotKyAgICAgICAgICAgJSBpZiB3ZSBjYW4ndCBsb2FkIGJ5IG5hbWUgY2hlY2sgdGhlIG5hdGl2ZSBmb250IG1hcAotKyAgICAgICAgICAgZHVwIC5uYXRpdmVGb250bWFwIGV4Y2ggLmtub3duZ2V0Ci0rICAgICAgICAgICB7IC8vdHJ1ZSAvL3RydWUgfQotKyAgICAgICAgICAgeyAvL2ZhbHNlIC8vZmFsc2UgfSBpZmVsc2UKLSsgICAgICAgICB9IGlmZWxzZQotKyAgICAgICB9IGlmZWxzZQotKwotKyAgICAgICB7ICAgICAgICAgICAgICAgICUgVHJ5IGVhY2ggZWxlbWVudCBvZiB0aGUgRm9udG1hcCBpbiB0dXJuLgotKyAgICAgICAgIHBvcAotKyAgICAgICAgIC8vZmFsc2UgZXhjaCAgICUgKGluIGNhc2Ugd2UgZXhoYXVzdCB0aGUgbGlzdCkKLSsgICAgICAgICAgICAgICAgICAgICAgICAlIFN0YWNrOiBmb250bmFtZSBmYWxzZSBmb250bWFwbGlzdAotKyAgICAgICAgIHsgZXhjaCBwb3AKLSsgICAgICAgICAgIGR1cCB0eXBlIC9uYW1ldHlwZSBlcQotKyAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgJSBGb250IGFsaWFzCi0rICAgICAgICAgICAgICAvLy5jaGVja2FsaWFzIGV4ZWMKLSsgICAgICAgICAgICAgIC50cnlmaW5kZm9udCBleGl0Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgICAgIHsgZHVwIGR1cCB0eXBlIGR1cCAvYXJyYXl0eXBlIGVxIGV4Y2ggL3BhY2tlZGFycmF5dHlwZSBlcSBvciBleGNoIHhjaGVjayBhbmQKLSsgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICUgRm9udCB3aXRoIGEgcHJvY2VkdXJhbCBkZWZpbml0aW9uCi0rICAgICAgICAgICAgICAgICBleGVjICAgICAgICAgICAlIFRoZSBwcm9jZWR1cmUgd2lsbCBsb2FkIHRoZSBmb250LgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBDaGVjayB0byBtYWtlIHN1cmUgdGhpcyByZWFsbHkgaGFwcGVuZWQuCi0rICAgICAgICAgICAgICAgICAvLy5Gb250RGlyZWN0b3J5IDEgaW5kZXggLmtub3duZ2V0Ci0rICAgICAgICAgICAgICAgICAgeyBleGNoIHBvcCAvL3RydWUgZXhpdCB9Ci0rICAgICAgICAgICAgICAgICBpZgotKyAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICUgRm9udCBmaWxlIG5hbWUKLSsgICAgICAgICAgICAgICAgIC8vdHJ1ZSAubG9hZGZvbnRsb29wIHsgLy90cnVlIGV4aXQgfSBpZgotKyAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgIGlmZWxzZQotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgIGlmZWxzZSAvL2ZhbHNlCi0rICAgICAgICAgfQotKyAgICAgICAgIGZvcmFsbAotKyAgICAgICAgICAgICAgICAgICAgICAgICUgU3RhY2s6IGZvbnQgdHJ1ZSAtb3ItIGZvbnRuYW1lIGZhbHNlCi0rICAgICAgICAgeyAvL3RydWUKLSsgICAgICAgICB9Ci0rICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAlIE5vbmUgb2YgdGhlIEZvbnRtYXAgZW50cmllcyB3b3JrZWQuCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIFRyeSBsb2FkaW5nIGEgZmlsZSB3aXRoIHRoZSBzYW1lIG5hbWUKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgYXMgdGhlIHJlcXVlc3RlZCBmb250LgotKyAgICAgICAgICAgLy8udHJ5bG9hZGZvbnQgZXhlYwotKyAgICAgICAgIH0KLSsgICAgICAgIGlmZWxzZQotKyAgICAgICB9Ci0rICAgICAgaWYKLSsgICAgfQotKyAgIGlmZWxzZQotKyB9IGJpbmQgZGVmCi0gCi0gJSBEZWZpbmUgYSBwcm9jZWR1cmUgdG8gbG9hZCBhbGwga25vd24gZm9udHMuCi0gJSBUaGlzIGlzbid0IGxpa2VseSB0byBiZSB2ZXJ5IHVzZWZ1bC4KLUBAIC0xMTkyLDkgKzEyMDQsOSBAQCBGQUtFRk9OVFMgeyBleGNoIH0gaWYgcG9wIGRlZiAgICUgZG9uJ3QgYmluZCwgLmN1cnJlbnQvc2V0Z2xvYmFsIGdldCByZWRlZmluZWQKLSAvLmxvYWRpbml0aWFsZm9udHMKLSAgeyBOT0ZPTlRNQVAgbm90Ci0gICAgIHsgL0ZPTlRNQVAgd2hlcmUKLS0gICAgICAgICAgeyBwb3AgWyBGT05UTUFQIC5wYXRobGlzdCBdCi0rICAgICAgICAgIHsgcG9wIFsgRk9OVE1BUCAvLy5wYXRobGlzdCBleGVjXQotICAgICAgICAgICAgICB7IGR1cCBWTURFQlVHIGZpbmRsaWJmaWxlCi0tICAgICAgICAgICAgICAgIHsgZXhjaCBwb3AgLmxvYWRGb250bWFwIH0KLSsgICAgICAgICAgICAgICAgeyBleGNoIHBvcCAvLy5sb2FkRm9udG1hcCBleGVjIH0KLSAgICAgICAgICAgICAgICAgeyAvdW5kZWZpbmVkZmlsZW5hbWUgc2lnbmFsZXJyb3IgfQotICAgICAgICAgICAgICAgIGlmZWxzZQotICAgICAgICAgICAgICB9Ci1AQCAtMTIwOCw3ICsxMjIwLDcgQEAgRkFLRUZPTlRTIHsgZXhjaCB9IGlmIHBvcCBkZWYgICAlIGRvbid0IGJpbmQsIC5jdXJyZW50L3NldGdsb2JhbCBnZXQgcmVkZWZpbmVkCi0gICAgICAgICAgICAgICAgICAgIHBvcCBwb3AKLSAgICAgICAgICAgICAgICAgICAgZGVmYXVsdGZvbnRtYXBfY29udGVudCB7IC5kZWZpbmVmb250bWFwIH0gZm9yYWxsCi0gICAgICAgICAgICAgICAgICB9IHsKLS0gICAgICAgICAgICAgICAgICAgLmxvYWRGb250bWFwCi0rICAgICAgICAgICAgICAgICAgIC8vLmxvYWRGb250bWFwIGV4ZWMKLSAgICAgICAgICAgICAgICAgIH0gaWZlbHNlCi0gICAgICAgICAgICAgICAgfSB7Ci0gICAgICAgICAgICAgICAgICBwb3AgcG9wCi1AQCAtMTI3MiwzICsxMjg0LDE4IEBAIEZBS0VGT05UUyB7IGV4Y2ggfSBpZiBwb3AgZGVmICAgJSBkb24ndCBiaW5kLCAuY3VycmVudC9zZXRnbG9iYWwgZ2V0IHJlZGVmaW5lZAotICB7IC5tYWtlbW9kaWZpZWRmb250Ci0gICAgZHVwIC9Gb250TmFtZSBnZXQgZXhjaCBkZWZpbmVmb250IHBvcAotICB9IGJpbmQgZGVmCi0rCi0rJSBVbmRlZiB0aGVzZSwgbm90IG5lZWRlZCBvdXRzaWRlIHRoaXMgZmlsZQotK1sKLSsgJSAvLmZvbnR0ZW1wc3RyaW5nIC8uc2Nhbm5leHRmb250ZGlyIC0gYXJlIGFsc28gdXNlZCBpbiBnc19yZXMucHMsIHNvIGFyZSB1bmRlZmluZWQgdGhlcmUKLSsgJSAvLmZvbnRuYW1lcHJvcGVydGllcyAtIGlzIHVzZWQgaW4gcGRmX2ZvbnQucHMKLSsgJSAvLnNjYW5mb250aGVhZGVycyAtIHVzZWQgaW4gZ3NfY2ZmLnBzLCBnc190dGYucHMKLSsgLy5sb2FkZm9udGxvb3AgLy50cnlsb2FkZm9udCAvLmZpbmRmb250IC8ucGF0aGxpc3QgLy5sb2FkRm9udG1hcCAvLmxvd2Vyc3RyaW5nCi0rIC8uc3BsaXRmaWxlbmFtZSAvLnNjYW5mb250ZGljdCAvLnNjYW5mb250YmVnaW4KLSsgLy5zY2FuZm9udHNraXAgLy5zY2FuMWZvbnRzdHJpbmcKLSsgLy5zY2FuMWZvbnRmaXJzdCAvLnNjYW5mb250ZGlyCi0rIC8uc2V0bmF0aXZlZm9udG1hcGJ1aWx0IC8uYWxpYXNmb250Ci0rIC8uc2V0bG9hZGluZ2ZvbnQgLy5zdWJzdGl0dXRlZmFjZXMgLy5zdWJzdGl0dXRlcHJvcGVydGllcyAvLnN1YnN0aXR1dGVmYW1pbGllcwotKyAvLm5hbWV0b3N0cmluZyAvLmZvbnRuYW1lc3RyaW5nIC8uY2hlY2thbGlhcyAvLmZvbnRrbm93bmdldCAvLnN0ZHN1YnN0Zm9udAotKyAvLnB1dGdzdHJpbmdjb3B5Ci0rXSB7c3lzdGVtZGljdCBleGNoIC5mb3JjZXVuZGVmfSBmb3JhbGwKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcyBiL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi1pbmRleCAxOGQ1NDUyLi5iMDE2MTEzIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19yZXMucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi1AQCAtOTYxLDcgKzk2MSw3IEBAIHVzZXJkaWN0IC8ubG9jYWxjc2RlZmF1bHRzIC8vZmFsc2UgcHV0Ci0gICAgIGR1cCB0eXBlIC9uYW1ldHlwZSBlcSB7IC5uYW1lc3RyaW5nIH0gaWYKLSAgICAgZHVwIHR5cGUgL3N0cmluZ3R5cGUgbmUgeyAvL2ZhbHNlIGV4aXQgfSBpZgotICAgICAgICAgICAgICAgICAlIENoZWNrIHRoZSByZXNvdXJjZSBkaXJlY3RvcnkuCi0tICAgIGR1cCAuZm9udHRlbXBzdHJpbmcgL0ZvbnRSZXNvdXJjZURpciBnZXRzeXN0ZW1wYXJhbSAuZ2VuZXJpY3JmbgotKyAgICBkdXAgLy8uZm9udHRlbXBzdHJpbmcgL0ZvbnRSZXNvdXJjZURpciBnZXRzeXN0ZW1wYXJhbSAuZ2VuZXJpY3JmbgotICAgICBzdGF0dXMgewotICAgICAgIHBvcCBwb3AgcG9wIHBvcCAvL3RydWUgZXhpdAotICAgICB9IGlmCi1AQCAtOTY5LDcgKzk2OSw3IEBAIHVzZXJkaWN0IC8ubG9jYWxjc2RlZmF1bHRzIC8vZmFsc2UgcHV0Ci0gICAgICAgICAgICAgICAgICUgYXMgdGhlIGZvbnQuCi0gICAgIGZpbmRsaWJmaWxlIHsgY2xvc2VmaWxlIC8vdHJ1ZSBleGl0IH0gaWYKLSAgICAgICAgICAgICAgICAgJSBTY2FuIGEgRk9OVFBBVEggZGlyZWN0b3J5IGFuZCB0cnkgYWdhaW4uCi0tICAgIC5zY2FubmV4dGZvbnRkaXIgbm90IHsgLy9mYWxzZSBleGl0IH0gaWYKLSsgICAgLy8uc2Nhbm5leHRmb250ZGlyIGV4ZWMgbm90IHsgLy9mYWxzZSBleGl0IH0gaWYKLSAgIH0gbG9vcAotIH0gYmluZCBkZWYKLSAKLUBAIC0xMDA4LDcgKzEwMDgsNyBAQCBjdXJyZW50ZGljdCAvLmZvbnRzdGF0dXNhdXggLnVuZGVmCi0gICAgICAgICB9IGlmZWxzZQotIH0gYmluZCBleGVjdXRlb25seQotIC9SZXNvdXJjZUZvckFsbCB7Ci0tICAgICAgICB7IC5zY2FubmV4dGZvbnRkaXIgbm90IHsgZXhpdCB9IGlmIH0gbG9vcAotKyAgICAgICAgeyAvLy5zY2FubmV4dGZvbnRkaXIgZXhlYyBub3QgeyBleGl0IH0gaWYgfSBsb29wCi0gICAgICAgICAvR2VuZXJpYyAvQ2F0ZWdvcnkgZmluZHJlc291cmNlIC9SZXNvdXJjZUZvckFsbCBnZXQgZXhlYwotIH0gYmluZCBleGVjdXRlb25seQotIC8uUmVzb3VyY2VGaWxlU3RhdHVzIHsKLUBAIC0xMTYzLDYgKzExNjMsNyBAQCBlbmQJCQkJJSBsZXZlbDJkaWN0Ci0gWwotICAgICAvLmRlZmF1bHRfcmVzb3VyY2VfZGlyCi0gICAgIC8ucmVzb3VyY2VfZGlyX25hbWUKLSsgICAgLy5mb250dGVtcHN0cmluZyAvLnNjYW5uZXh0Zm9udGRpciAlIGZyb20gZ3NfZm9udHMucHMKLSBdCi0ge3N5c3RlbWRpY3QgZXhjaCAuZm9yY2V1bmRlZn0gZm9yYWxsCi0gCi0tLSAKLTIuMTguMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjMWY4MzkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDA3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQ2ICswLDAgQEAKLUZyb20gNWM0OWVmZTI0ZGRhMGYyZGJkMmEwOWI5MTU5ZTY4M2NjZTk5YjZkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzIExpZGRlbGwgPGNocmlzLmxpZGRlbGxAYXJ0aWZleC5jb20+Ci1EYXRlOiBGcmksIDExIEphbiAyMDE5IDEzOjM2OjM2ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggNy83XSBSZW1vdmUgLmZvcmNlZGVmLCBhbmQgaGFyZGVuIC5mb3JjZSogb3BzIG1vcmUKLQotUmVtb3ZlIC5mb3JjZWRlZiBhbmQgcmVwbGFjZSBhbGwgdXNlcyB3aXRoIGEgZGlyZWN0IGNhbGwgdG8gLmZvcmNlcHV0IGluc3RlYWQuCi0KLUVuc3VyZSBldmVyeSBwcm9jZWR1cmUgKG5hbWVkIGFuZCB0cmFzaWVudCkgdGhhdCBjYWxscyAuZm9yY2VwdXQgaXMKLWV4ZWN1dGVvbmx5LgotCi1DVkU6IENWRS0yMDE5LTYxMTYKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2dpdDovL2dpdC5naG9zdHNjcmlwdC5jb20vZ2hvc3RwZGwuZ2l0XQotCi1TaWduZWQtb2ZmLWJ5OiBPdmlkaXUgUGFuYWl0IDxvdmlkaXUucGFuYWl0QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2RwczEucHMgIHwgMTUgKysrKysrKy0tLS0tCi0gUmVzb3VyY2UvSW5pdC9nc19pbml0LnBzICB8IDI4ICsrKysrKysrLS0tLS0tLS0tLS0tLQotIFJlc291cmNlL0luaXQvZ3NfbGV2Mi5wcyAgfCA1MSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2xsMy5wcyAgIHwgIDUgKystLQotIFJlc291cmNlL0luaXQvZ3NfcmVzLnBzICAgfCAyOSArKysrKysrKysrKy0tLS0tLS0tLS0tCi0gUmVzb3VyY2UvSW5pdC9nc19zdGF0ZC5wcyB8ICA0ICstLQotIDYgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgNjkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLWluZGV4IDg3MDBjOGMuLjNkMmNmN2EgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfZHBzMS5wcwotQEAgLTMzLDE0ICszMywxNyBAQCBzeXN0ZW1kaWN0IGJlZ2luCi0gCi0gL1NoYXJlZEZvbnREaXJlY3RvcnkgLkZvbnREaXJlY3RvcnkgLmdjaGVjawotICB7IC5jdXJyZW50Z2xvYmFsIC8vZmFsc2UgLnNldGdsb2JhbAotKyAgIGN1cnJlbnRkaWN0Ci0gICAgL0xvY2FsRm9udERpcmVjdG9yeSAuRm9udERpcmVjdG9yeSBkdXAgbWF4bGVuZ3RoIGRpY3QgY29weQotLSAgIC5mb3JjZWRlZgklIExvY2FsRm9udERpcmVjdG9yeSBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSsgICAuZm9yY2VwdXQJJSBMb2NhbEZvbnREaXJlY3RvcnkgaXMgbG9jYWwsIHN5c3RlbWRpY3QgaXMgZ2xvYmFsCi0gICAgLnNldGdsb2JhbCAuRm9udERpcmVjdG9yeQotLSB9Ci0tIHsgL0xvY2FsRm9udERpcmVjdG9yeSAuRm9udERpcmVjdG9yeQotLSAgIC5mb3JjZWRlZgklIExvY2FsRm9udERpcmVjdG9yeSBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSsgfSBleGVjdXRlb25seQotKyB7Ci0rICAgY3VycmVudGRpY3QKLSsgICAvTG9jYWxGb250RGlyZWN0b3J5IC5Gb250RGlyZWN0b3J5Ci0rICAgLmZvcmNlcHV0CSUgTG9jYWxGb250RGlyZWN0b3J5IGlzIGxvY2FsLCBzeXN0ZW1kaWN0IGlzIGdsb2JhbAotICAgIDUwIGRpY3QKLS0gfQotKyB9ZXhlY3V0ZW9ubHkKLSBpZmVsc2UgZGVmCi0gCi0gZW5kCQkJCSUgc3lzdGVtZGljdAotQEAgLTU1LDcgKzU4LDcgQEAgbGV2ZWwyZGljdCBiZWdpbgotICAgICB7IC8vU2hhcmVkRm9udERpcmVjdG9yeSB9Ci0gICAgIHsgL0xvY2FsRm9udERpcmVjdG9yeSAuc3lzdGVtdmFyIH0JJSBjYW4ndCBlbWJlZCByZWYgdG8gbG9jYWwgVk0KLSAgICBpZmVsc2UgLmZvcmNlcHV0IHBvcAklIExvY2FsRm9udERpcmVjdG9yeSBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLS0gfSAuYmluZCBvZGVmCi0rIH0gLmJpbmQgZXhlY3V0ZW9ubHkgb2RlZgotICUgRG9uJ3QganVzdCBjb3B5IChsb2FkKSB0aGUgZGVmaW5pdGlvbiBvZiAuc2V0Z2xvYmFsOgotICUgaXQgZ2V0cyByZWRlZmluZWQgZm9yIExMMy4KLSAvc2V0c2hhcmVkIHsgLy5zZXRnbG9iYWwgLnN5c3RlbXZhciBleGVjIH0gb2RlZgotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3NfaW5pdC5wcyBiL1Jlc291cmNlL0luaXQvZ3NfaW5pdC5wcwotaW5kZXggZDlhMDgyOS4uNDViZWJmNCAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3NfaW5pdC5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19pbml0LnBzCi1AQCAtNTQsNyArNTQsNyBAQCBzeXN0ZW1kaWN0IGV4Y2gKLSAgICBkdXAgL3VzZXJkaWN0Ci0gICAgY3VycmVudGRpY3QgZHVwIDIwMCAuc2V0bWF4bGVuZ3RoCQklIHVzZXJkaWN0Ci0gICAgLmZvcmNlcHV0CQkJJSB1c2VyZGljdCBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLS0gfQotKyB9IGV4ZWN1dGVvbmx5Ci0gaWYgYmVnaW4KLSAKLSAlIERlZmluZSBkdW1teSBsb2NhbC9nbG9iYWwgb3BlcmF0b3JzIGlmIG5lZWRlZC4KLUBAIC0yOTksMTMgKzI5OSw2IEBAIFFVSUVUIG5vdCB7IHByaW50Z3JlZXRpbmcgZmx1c2ggfSBpZgotICAgMSBpbmRleCBleGNoIC5tYWtlb3BlcmF0b3IgZGVmCi0gfSAuYmluZCBkZWYKLSAKLS0lIERlZmluZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiBkZWYgZm9yIHN0b3JpbmcgbG9jYWwgb2JqZWN0cyBpbnRvIGdsb2JhbAotLSUgZGljdGlvbmFyaWVzLiAgTGlrZSAuZm9yY2VwdXQsIHRoaXMgZXhpc3RzIG9ubHkgZHVyaW5nIGluaXRpYWxpemF0aW9uLgotLS8uZm9yY2VkZWYgewkJJSA8a2V5PiA8dmFsdWU+IC5mb3JjZWRlZiAtCi0tICAxIC5hcmdpbmRleCBwb3AJJSBjaGVjayAjIG9mIGFyZ3MKLS0gIGN1cnJlbnRkaWN0IDMgMSByb2xsIC5mb3JjZXB1dAotLX0gLmJpbmQgb2RlZgotLQotICUgRGVmaW5lIHByb2NlZHVyZXMgZm9yIGFjY2Vzc2luZyB2YXJpYWJsZXMgaW4gc3lzdGVtZGljdCBhbmQgdXNlcmRpY3QKLSAlIHJlZ2FyZGxlc3Mgb2YgdGhlIGNvbnRlbnRzIG9mIHRoZSBkaWN0aW9uYXJ5IHN0YWNrLgotIC8uc3lzdGVtdmFyIHsJCSUgPG5hbWU+IC5zeXN0ZW12YXIgPHZhbHVlPgotQEAgLTM0Nyw3ICszNDAsNyBAQCBERUxBWUJJTkQKLSAgICAgICAgfQotICAgICAgIGlmZWxzZQotICAgICB9IC5iaW5kIGRlZgotLX0gaWYKLSt9IGV4ZWN1dGVvbmx5IGlmCi0gCi0gJSoqKioqKioqKioqKioqKiogQkFDS1dBUkQgQ09NUEFUSUJJTElUWSAqKioqKioqKioqKioqKioqCi0gL2h3c2l6ZWRpY3QgbWFyayAvSFdTaXplIC8vbnVsbCAuZGljdHRvbWFyayByZWFkb25seSBkZWYKLUBAIC02NTUsNyArNjQ4LDcgQEAgY3VycmVudGRpY3QgLy50eXBlbmFtZXMgLnVuZGVmCi0gICAgICAgL2lmZWxzZSAuc3lzdGVtdmFyCi0gICAgIF0gY3Z4IGV4ZWN1dGVvbmx5Ci0gICBleGNoIC5zZXRnbG9iYWwKLS19IG9kZWYKLSt9IGV4ZWN1dGVvbmx5IG9kZWYKLSBzeXN0ZW1kaWN0IC9pbnRlcm5hbGRpY3QgZHVwIC5tYWtlaW50ZXJuYWxkaWN0IC5tYWtlb3BlcmF0b3IKLSAuZm9yY2VwdXQJCSUgcHJvYyBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSAKLUBAIC0xMDkzLDcgKzEwODYsNyBAQCBkZWYKLSAKLSAlIERlZmluZSAkZXJyb3IuICBUaGlzIG11c3QgYmUgaW4gbG9jYWwgVk0uCi0gLmN1cnJlbnRnbG9iYWwgLy9mYWxzZSAuc2V0Z2xvYmFsCi0tLyRlcnJvciA0MCBkaWN0IC5mb3JjZWRlZgklICRlcnJvciBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLStjdXJyZW50ZGljdCAvJGVycm9yIDQwIGRpY3QgLmZvcmNlcHV0CSUgJGVycm9yIGlzIGxvY2FsLCBzeXN0ZW1kaWN0IGlzIGdsb2JhbAotICAgICAgICAgICAgICAgICAlIG5ld2Vycm9yLCBlcnJvcm5hbWUsIGNvbW1hbmQsIGVycm9yaW5mbywKLSAgICAgICAgICAgICAgICAgJSBvc3RhY2ssIGVzdGFjaywgZHN0YWNrLCByZWNvcmRzdGFja3MsCi0gICAgICAgICAgICAgICAgICUgYmluYXJ5LCBnbG9iYWxtb2RlLAotQEAgLTExMTIsOCArMTEwNSw4IEBAIGVuZAotICUgRGVmaW5lIGVycm9yZGljdCBzaW1pbGFybHkuICBJdCBoYXMgb25lIGVudHJ5IHBlciBlcnJvciBuYW1lLAotICUgICBwbHVzIGhhbmRsZWVycm9yLiAgSG93ZXZlciwgc29tZSBhc3RvbmlzaGluZ2x5IGJhZGx5IHdyaXR0ZW4gUG9zdFNjcmlwdAotICUgICBmaWxlcyByZXF1aXJlIGl0IHRvIGhhdmUgYXQgbGVhc3Qgb25lIGVtcHR5IHNsb3QuCi0tL2Vycm9yZGljdCBFcnJvck5hbWVzIGxlbmd0aCAzIGFkZCBkaWN0Ci0tLmZvcmNlZGVmCQklIGVycm9yZGljdCBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLStjdXJyZW50ZGljdCAvZXJyb3JkaWN0IEVycm9yTmFtZXMgbGVuZ3RoIDMgYWRkIGRpY3QKLSsuZm9yY2VwdXQJCSUgZXJyb3JkaWN0IGlzIGxvY2FsLCBzeXN0ZW1kaWN0IGlzIGdsb2JhbAotIC5zZXRnbG9iYWwJCSUgYmFjayB0byBnbG9iYWwgVk0KLSAlICBnc2Vycm9yZGljdCBjb250YWlucyBhbGwgdGhlIGRlZmF1bHQgZXJyb3IgaGFuZGxpbmcgbWV0aG9kcywgYnV0IHVubGlrZQotICUgIGVycm9yZGljdCBpdCBpcyBub2FjY2VzcyBhZnRlciBjcmVhdGlvbiAoYWxzbyBpdCBpcyBpbiBnbG9iYWwgVk0pLgotQEAgLTEyNzMsOCArMTI2Niw5IEBAIGVuZAotIChFTkQgUFJPQ1MpIFZNREVCVUcKLSAKLSAlIERlZmluZSB0aGUgZm9udCBkaXJlY3RvcnkuCi0rY3VycmVudGRpY3QKLSAvRm9udERpcmVjdG9yeSAvL2ZhbHNlIC5zZXRnbG9iYWwgMTAwIGRpY3QgLy90cnVlIC5zZXRnbG9iYWwKLS0uZm9yY2VkZWYJCSUgRm9udERpcmVjdG9yeSBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSsuZm9yY2VwdXQJCSUgRm9udERpcmVjdG9yeSBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSAKLSAlIERlZmluZSB0aGUgZW5jb2RpbmcgZGljdGlvbmFyeS4KLSAvRW5jb2RpbmdEaXJlY3RvcnkgMTYgZGljdCBkZWYJJSBlbm91Z2ggZm9yIExldmVsIDIgKyBQREYgc3RhbmRhcmQgZW5jb2RpbmdzCi1AQCAtMjMzMyw3ICsyMzI3LDYgQEAgU0FGRVIgeyAuc2V0c2FmZWdsb2JhbCB9IGlmCi0gICAvL3N5c3RlbWRpY3QgL1VuZGVmaW5lUG9zdFNjcmlwdE9wZXJhdG9ycyBnZXQgZXhlYwotICAgLy9zeXN0ZW1kaWN0IC9VbmRlZmluZVBERk9wZXJhdG9ycyBnZXQgZXhlYwotICAgLy9zeXN0ZW1kaWN0IC8uZm9yY2Vjb3B5bmV3IC5mb3JjZXVuZGVmCSUgcmVtb3ZlIHRlbXB0YXRpb24KLS0gIC8vc3lzdGVtZGljdCAvLmZvcmNlZGVmIC5mb3JjZXVuZGVmCQklIGRpdHRvCi0gICAvL3N5c3RlbWRpY3QgLy5mb3JjZXB1dCAuZm9yY2V1bmRlZgkJJSBkaXR0bwotICAgLy9zeXN0ZW1kaWN0IC8udW5kZWYgLmZvcmNldW5kZWYJCSAgICAlIGRpdHRvCi0gICAvL3N5c3RlbWRpY3QgLy5mb3JjZXVuZGVmIC5mb3JjZXVuZGVmCQklIGRpdHRvCi1AQCAtMjM2OCw5ICsyMzYxLDkgQEAgU0FGRVIgeyAuc2V0c2FmZWdsb2JhbCB9IGlmCi0gICAgICAgICAlIChhbmQsIGlmIGltcGxlbWVudGVkLCBjb250ZXh0IHN3aXRjaGluZykuCi0gICAuY3VycmVudGdsb2JhbCAvL2ZhbHNlIC5zZXRnbG9iYWwKLSAgICAgIG1hcmsgdXNlcnBhcmFtcyB7IH0gZm9yYWxsIC5kaWN0dG9tYXJrIHJlYWRvbmx5Ci0tICAgICAvdXNlcnBhcmFtcyBleGNoIC5mb3JjZWRlZgkJJSBzeXN0ZW1kaWN0IGlzIHJlYWQtb25seQotKyAgICAgY3VycmVudGRpY3QgZXhjaCAvdXNlcnBhcmFtcyBleGNoIC5mb3JjZXB1dAkJJSBzeXN0ZW1kaWN0IGlzIHJlYWQtb25seQotICAgLnNldGdsb2JhbAotLX0gaWYKLSt9IGV4ZWN1dGVvbmx5IGlmCi0gLy5jdXJyZW50c3lzdGVtcGFyYW1zIHdoZXJlIHsKLSAgIHBvcAotICAgICAgICAgJSBSZW1vdmUgcmVhbCBzeXN0ZW0gcGFyYW1zIGZyb20gcHNzeXN0ZW1wYXJhbXMuCi1AQCAtMjQ1OCw3ICsyNDUxLDYgQEAgZW5kCi0gREVMQVlCSU5EIG5vdCB7Ci0gICBzeXN0ZW1kaWN0IC8uYmluZG5vdyAudW5kZWYgICAgICAgJSBXZSBvbmx5IG5lZWQgdGhpcyBmb3IgREVMQVlCSU5ECi0gICBzeXN0ZW1kaWN0IC8uZm9yY2Vjb3B5bmV3IC51bmRlZgklIHJlbW92ZSB0ZW1wdGF0aW9uCi0tICBzeXN0ZW1kaWN0IC8uZm9yY2VkZWYgLnVuZGVmCQklIGRpdHRvCi0gICBzeXN0ZW1kaWN0IC8uZm9yY2VwdXQgLnVuZGVmCQklIGRpdHRvCi0gICBzeXN0ZW1kaWN0IC8uZm9yY2V1bmRlZiAudW5kZWYJJSBkaXR0bwotIH0gaWYKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2xldjIucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2xldjIucHMKLWluZGV4IDBmMGQ1NzMuLjljMGMzYTYgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2xldjIucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfbGV2Mi5wcwotQEAgLTMwNCwzMSArMzA0LDMwIEBAIGVuZAotICAgICBwc3VzZXJwYXJhbXMgZXhjaCAvLmNoZWNrRmlsZVBlcm1pdHBhcmFtcyBsb2FkIHB1dAotICAgLnNldGdsb2JhbAotIAotLXBzc3lzdGVtcGFyYW1zIGJlZ2luCi0tICAvQ3VyRGlzcGxheUxpc3QgMCAuZm9yY2VkZWYKLS0gIC9DdXJGb3JtQ2FjaGUgMCAuZm9yY2VkZWYKLS0gIC9DdXJJbnB1dERldmljZSAoKSAuZm9yY2VkZWYKLS0gIC9DdXJPdXRsaW5lQ2FjaGUgMCAuZm9yY2VkZWYKLS0gIC9DdXJPdXRwdXREZXZpY2UgKCkgLmZvcmNlZGVmCi0tICAvQ3VyUGF0dGVybkNhY2hlIDAgLmZvcmNlZGVmCi0tICAvQ3VyVVBhdGhDYWNoZSAwIC5mb3JjZWRlZgotLSAgL0N1clNjcmVlblN0b3JhZ2UgMCAuZm9yY2VkZWYKLS0gIC9DdXJTb3VyY2VMaXN0IDAgLmZvcmNlZGVmCi0tICAvRG9QcmludEVycm9ycyAvL2ZhbHNlIC5mb3JjZWRlZgotLSAgL0pvYlRpbWVvdXQgMCAuZm9yY2VkZWYKLS0gIC9MaWNlbnNlSUQgKExOLTAwMSkgLmZvcmNlZGVmICAgICAlIGJvZ3VzCi0tICAvTWF4RGlzcGxheUxpc3QgMTQwMDAwIC5mb3JjZWRlZgotLSAgL01heEZvcm1DYWNoZSAxMDAwMDAgLmZvcmNlZGVmCi0tICAvTWF4SW1hZ2VCdWZmZXIgNTI0Mjg4IC5mb3JjZWRlZgotLSAgL01heE91dGxpbmVDYWNoZSA2NTAwMCAuZm9yY2VkZWYKLS0gIC9NYXhQYXR0ZXJuQ2FjaGUgMTAwMDAwIC5mb3JjZWRlZgotLSAgL01heFVQYXRoQ2FjaGUgMzAwMDAwIC5mb3JjZWRlZgotLSAgL01heFNjcmVlblN0b3JhZ2UgODQwMDAgLmZvcmNlZGVmCi0tICAvTWF4U291cmNlTGlzdCAyNTAwMCAuZm9yY2VkZWYKLS0gIC9QcmludGVyTmFtZSBwcm9kdWN0IC5mb3JjZWRlZgotLSAgL1JhbVNpemUgNDE5NDMwNCAuZm9yY2VkZWYKLS0gIC9XYWl0VGltZW91dCA0MCAuZm9yY2VkZWYKLS1lbmQKLStwc3N5c3RlbXBhcmFtcwotK2R1cCAvQ3VyRGlzcGxheUxpc3QgMCAuZm9yY2VwdXQKLStkdXAgL0N1ckZvcm1DYWNoZSAwIC5mb3JjZXB1dAotK2R1cCAvQ3VySW5wdXREZXZpY2UgKCkgLmZvcmNlcHV0Ci0rZHVwIC9DdXJPdXRsaW5lQ2FjaGUgMCAuZm9yY2VwdXQKLStkdXAgL0N1ck91dHB1dERldmljZSAoKSAuZm9yY2VwdXQKLStkdXAgL0N1clBhdHRlcm5DYWNoZSAwIC5mb3JjZXB1dAotK2R1cCAvQ3VyVVBhdGhDYWNoZSAwIC5mb3JjZXB1dAotK2R1cCAvQ3VyU2NyZWVuU3RvcmFnZSAwIC5mb3JjZXB1dAotK2R1cCAvQ3VyU291cmNlTGlzdCAwIC5mb3JjZXB1dAotK2R1cCAvRG9QcmludEVycm9ycyAvL2ZhbHNlIC5mb3JjZXB1dAotK2R1cCAvSm9iVGltZW91dCAwIC5mb3JjZXB1dAotK2R1cCAvTGljZW5zZUlEIChMTi0wMDEpIC5mb3JjZXB1dCAgICAgJSBib2d1cwotK2R1cCAvTWF4RGlzcGxheUxpc3QgMTQwMDAwIC5mb3JjZXB1dAotK2R1cCAvTWF4Rm9ybUNhY2hlIDEwMDAwMCAuZm9yY2VwdXQKLStkdXAgL01heEltYWdlQnVmZmVyIDUyNDI4OCAuZm9yY2VwdXQKLStkdXAgL01heE91dGxpbmVDYWNoZSA2NTAwMCAuZm9yY2VwdXQKLStkdXAgL01heFBhdHRlcm5DYWNoZSAxMDAwMDAgLmZvcmNlcHV0Ci0rZHVwIC9NYXhVUGF0aENhY2hlIDMwMDAwMCAuZm9yY2VwdXQKLStkdXAgL01heFNjcmVlblN0b3JhZ2UgODQwMDAgLmZvcmNlcHV0Ci0rZHVwIC9NYXhTb3VyY2VMaXN0IDI1MDAwIC5mb3JjZXB1dAotK2R1cCAvUHJpbnRlck5hbWUgcHJvZHVjdCAuZm9yY2VwdXQKLStkdXAgL1JhbVNpemUgNDE5NDMwNCAuZm9yY2VwdXQKLSsgICAgL1dhaXRUaW1lb3V0IDQwIC5mb3JjZXB1dAotIAotICUgRGVmaW5lIHRoZSBwcm9jZWR1cmVzIGZvciBoYW5kbGluZyBjb21tZW50IHNjYW5uaW5nLiAgVGhlIG5hbWVzCi0gJSAlUHJvY2Vzc0NvbW1lbnQgYW5kICVQcm9jZXNzRFNDQ29tbWVudCBhcmUga25vd24gdG8gdGhlIGludGVycHJldGVyLgotQEAgLTcxMCw3ICs3MDksNyBAQCBwb3AJCSUgY3VycmVudHN5c3RlbXBhcmFtcwotIC9zdGF0dXNkaWN0IGN1cnJlbnRkaWN0IGRlZgotIAotIGN1cnJlbnRkaWN0IGVuZAotLS9zdGF0dXNkaWN0IGV4Y2ggLmZvcmNlZGVmCSUgc3RhdHVzZGljdCBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLStjdXJyZW50ZGljdCBleGNoIC9zdGF0dXNkaWN0IGV4Y2ggLmZvcmNlcHV0CSUgc3RhdHVzZGljdCBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSAKLSAlIFRoZSBmb2xsb3dpbmcgY29tcGF0aWJpbGl0eSBvcGVyYXRvcnMgYXJlIGluIHN5c3RlbWRpY3QuICBUaGV5IGFyZQotICUgZGVmaW5lZCBoZXJlLCByYXRoZXIgdGhhbiBpbiBnc19pbml0LnBzLCBiZWNhdXNlIHRoZXkgcmVxdWlyZSB0aGUKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2xsMy5wcyBiL1Jlc291cmNlL0luaXQvZ3NfbGwzLnBzCi1pbmRleCBjODY3MjFmLi44ODFhZjQ0IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19sbDMucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfbGwzLnBzCi1AQCAtNTIxLDkgKzUyMSw4IEBAIGVuZAotICUgRGVmaW5lIGFkZGl0aW9uYWwgdXNlciBhbmQgc3lzdGVtIHBhcmFtZXRlcnMuCi0gL0hhbGZ0b25lTW9kZSAwIC5kZWZpbmVwc3VzZXJwYXJhbQotIC9NYXhTdXBlclNjcmVlbiAxMDE2IC5kZWZpbmVwc3VzZXJwYXJhbQotLXBzc3lzdGVtcGFyYW1zIGJlZ2luCQklIHJlYWQtb25seSwgc28gdXNlIC5mb3JjZWRlZgotLSAgL01heERpc3BsYXlBbmRTb3VyY2VMaXN0IDE2MDAwMCAuZm9yY2VkZWYKLS1lbmQKLSslIHJlYWQtb25seSwgc28gdXNlIC5mb3JjZXB1dAotK3Bzc3lzdGVtcGFyYW1zICAvTWF4RGlzcGxheUFuZFNvdXJjZUxpc3QgMTYwMDAwIC5mb3JjZXB1dAotIAotICUgRGVmaW5lIHRoZSBJZGlvbVNldCByZXNvdXJjZSBjYXRlZ29yeS4KLSB7IC9JZGlvbVNldCB9IHsKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcyBiL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi1pbmRleCBiMDE2MTEzLi44OWMwZWQ2IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19yZXMucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi1AQCAtNDEsMTAgKzQxLDEwIEBAIGxldmVsMmRpY3QgYmVnaW4KLSAlIEhvd2V2ZXIsIEVkIFRhZnQgb2YgQWRvYmUgc2F5cyB0aGVpciBpbnRlcnByZXRlcnMgZG9uJ3QgaW1wbGVtZW50IHRoaXMKLSAlIGVpdGhlciwgc28gd2UgYXJlbid0IGdvaW5nIHRvIHdvcnJ5IGFib3V0IGl0IGZvciBhIHdoaWxlLgotIAotLWN1cnJlbnRnbG9iYWwgLy9mYWxzZSBzZXRnbG9iYWwgc3lzdGVtZGljdCBiZWdpbgotLSAgL2xvY2FsaW5zdGFuY2VkaWN0IDUgZGljdAotLSAgLmZvcmNlZGVmCSUgbG9jYWxpbnN0YW5jZWRpY3QgaXMgbG9jYWwsIHN5c3RlbWRpY3QgaXMgZ2xvYmFsCi0tZW5kIC8vdHJ1ZSBzZXRnbG9iYWwKLStjdXJyZW50Z2xvYmFsIC8vZmFsc2Ugc2V0Z2xvYmFsCi0rICBzeXN0ZW1kaWN0IC9sb2NhbGluc3RhbmNlZGljdCA1IGRpY3QKLSsgIC5mb3JjZXB1dAklIGxvY2FsaW5zdGFuY2VkaWN0IGlzIGxvY2FsLCBzeXN0ZW1kaWN0IGlzIGdsb2JhbAotKy8vdHJ1ZSBzZXRnbG9iYWwKLSAvLmVtcHR5ZGljdCAwIGRpY3QgcmVhZG9ubHkgZGVmCi0gc2V0Z2xvYmFsCi0gCi1AQCAtMTQ5LDcgKzE0OSw3IEBAIHNldGdsb2JhbAotICAgICAgICAgICBkdXAgWyBleGNoIDAgLTEgXSBleGNoCi0gICAgICAgICAgIC5JbnN0YW5jZXMgNCAyIHJvbGwgcHV0Ci0gICAgICAgICAgICAgICAgICUgTWFrZSB0aGUgQ2F0ZWdvcnkgZGljdGlvbmFyeSByZWFkLW9ubHkuICBXZSB3aWxsIGhhdmUgdG8KLS0gICAgICAgICAgICAgICAgJSB1c2UgLmZvcmNlcHV0IC8gLmZvcmNlZGVmIGxhdGVyIHRvIHJlcGxhY2UgdGhlIGR1bW15LAotKyAgICAgICAgICAgICAgICAlIHVzZSAuZm9yY2VwdXQgLyAuZm9yY2VwdXQgbGF0ZXIgdG8gcmVwbGFjZSB0aGUgZHVtbXksCi0gICAgICAgICAgICAgICAgICUgZW1wdHkgLkluc3RhbmNlcyBkaWN0aW9uYXJ5IHdpdGggdGhlIHJlYWwgb25lIGxhdGVyLgotICAgICAgICAgICByZWFkb25seQotICAgICAgICAgfXsKLUBAIC0zMDQsNyArMzA0LDggQEAgc3lzdGVtZGljdCBiZWdpbgotICAgICAgZHVwICgpIG5lIHsKLSAgICAgIC5maWxlX25hbWVfZGlyZWN0b3J5X3NlcGFyYXRvciBjb25jYXRzdHJpbmdzCi0gICAgIH0gaWYKLS0gICAgMiBpbmRleCBleGNoIC8vZmFsc2UgLmZpbGVfbmFtZV9jb21iaW5lIG5vdCB7Ci0rICAgIDIgaW5kZXggZXhjaCAvL2ZhbHNlCi0rICAgIC5maWxlX25hbWVfY29tYmluZSBub3QgewotICAgICAgIChFcnJvcjogLmRlZmF1bHRfcmVzb3VyY2VfZGlyIHJldHVybmVkICkgcHJpbnQgZXhjaCBwcmludCAoIHRoYXQgY2FuJ3QgY29tYmluZSB3aXRoICkgcHJpbnQgPQotICAgICAgIC8uZGVmYXVsdF9yZXNvdXJjZV9kaXIgY3Z4IC9jb25maWd1cmF0aW9uZXJyb3Igc2lnbmFsZXJyb3IKLSAgICAgfSBpZgotQEAgLTMxNywxNCArMzE4LDE0IEBAIGN1cnJlbnRkaWN0IC9wc3N5c3RlbXBhcmFtcyBrbm93biBub3QgewotIHBzc3lzdGVtcGFyYW1zIGJlZ2luCi0gICAvLy5kZWZhdWx0X3Jlc291cmNlX2RpciBleGVjCi0gICAvRm9udFJlc291cmNlRGlyIChGb250KSAvLy5yZXNvdXJjZV9kaXJfbmFtZSBleGVjCi0tICAgICByZWFkb25seSAuZm9yY2VkZWYJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0rICAgICByZWFkb25seSBjdXJyZW50ZGljdCAzIDEgcm9sbCAuZm9yY2VwdXQJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0gICAvR2VuZXJpY1Jlc291cmNlRGlyICgpIC8vLnJlc291cmNlX2Rpcl9uYW1lIGV4ZWMKLS0gICAgIHJlYWRvbmx5IC5mb3JjZWRlZgklIHBzc3lzJ3BhcmFtcyBpcyByLW8KLSsgICAgIHJlYWRvbmx5IGN1cnJlbnRkaWN0IDMgMSByb2xsIC5mb3JjZXB1dAklIHBzc3lzJ3BhcmFtcyBpcyByLW8KLSAgIHBvcCAlIC5kZWZhdWx0X3Jlc291cmNlX2RpcgotICAgL0dlbmVyaWNSZXNvdXJjZVBhdGhTZXAKLS0gICAgICAgIC5maWxlX25hbWVfc2VwYXJhdG9yIHJlYWRvbmx5IC5mb3JjZWRlZgkJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0tICAoJWRpc2tGb250UmVzb3VyY2VEaXIpIGN2biAoL1Jlc291cmNlL0ZvbnQvKSByZWFkb25seSAuZm9yY2VkZWYJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0tICAoJWRpc2tHZW5lcmljUmVzb3VyY2VEaXIpIGN2biAoL1Jlc291cmNlLykgcmVhZG9ubHkgLmZvcmNlZGVmCSUgcHNzeXMncGFyYW1zIGlzIHItbwotKyAgICAgICAgLmZpbGVfbmFtZV9zZXBhcmF0b3IgcmVhZG9ubHkgY3VycmVudGRpY3QgMyAxIHJvbGwgLmZvcmNlcHV0CQklIHBzc3lzJ3BhcmFtcyBpcyByLW8KLSsgIGN1cnJlbnRkaWN0ICglZGlza0ZvbnRSZXNvdXJjZURpcikgY3ZuICgvUmVzb3VyY2UvRm9udC8pIHJlYWRvbmx5IC5mb3JjZXB1dAklIHBzc3lzJ3BhcmFtcyBpcyByLW8KLSsgIGN1cnJlbnRkaWN0ICglZGlza0dlbmVyaWNSZXNvdXJjZURpcikgY3ZuICgvUmVzb3VyY2UvKSByZWFkb25seSAuZm9yY2VwdXQJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0gZW5kCi0gZW5kCi0gCi1AQCAtNDIyLDggKzQyMyw4IEBAIHN0YXR1cyB7Ci0gICAgICAgICAgICAgICAgIC5JbnN0YW5jZXMgZHVwIC8vLmVtcHR5ZGljdCBlcSB7Ci0gICAgICAgICAgICAgICAgICAgcG9wIDMgZGljdAotICAgICAgICAgICAgICAgICAgICAgICAgICUgQXMgbm90ZWQgYWJvdmUsIENhdGVnb3J5IGRpY3Rpb25hcmllcyBhcmUgcmVhZC1vbmx5LAotLSAgICAgICAgICAgICAgICAgICAgICAgICUgc28gd2UgaGF2ZSB0byB1c2UgLmZvcmNlZGVmIGhlcmUuCi0tICAgICAgICAgICAgICAgICAgLy5JbnN0YW5jZXMgMSBpbmRleCAuZm9yY2VkZWYJJSBDYXRlZ29yeSBkaWN0IGlzIHJlYWQtb25seQotKyAgICAgICAgICAgICAgICAgICAgICAgICUgc28gd2UgaGF2ZSB0byB1c2UgLmZvcmNlcHV0IGhlcmUuCi0rICAgICAgICAgICAgICAgICAgY3VycmVudGRpY3QgLy5JbnN0YW5jZXMgMiBpbmRleCAuZm9yY2VwdXQJJSBDYXRlZ29yeSBkaWN0IGlzIHJlYWQtb25seQotICAgICAgICAgICAgICAgICB9IGV4ZWN1dGVvbmx5IGlmCi0gICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICB7IC5Mb2NhbEluc3RhbmNlcyBkdXAgLy8uZW1wdHlkaWN0IGVxCi1AQCAtNDQxLDcgKzQ0Miw3IEBAIHN0YXR1cyB7Ci0gICAgICAgICAgICB7IC9kZWZpbmVyZXNvdXJjZSBjdnggL3R5cGVjaGVjayBzaWduYWxvcGVycm9yCi0gICAgICAgICAgICB9Ci0gICAgICAgICBpZmVsc2UKLS19IC5iaW5kIGV4ZWN1dGVvbmx5IC5tYWtlb3BlcmF0b3IJCSUgZXhlY3V0ZW9ubHkgdG8gcHJldmVudCBhY2Nlc3MgdG8gLmZvcmNlZGVmCi0rfSAuYmluZCBleGVjdXRlb25seSAubWFrZW9wZXJhdG9yCQklIGV4ZWN1dGVvbmx5IHRvIHByZXZlbnQgYWNjZXNzIHRvIC5mb3JjZXB1dAotIC9VbmRlZmluZVJlc291cmNlCi0gICAgICAgICB7ICB7IGR1cCAyIGluZGV4IC5rbm93bmdldAotICAgICAgICAgICAgICAgeyBkdXAgMSBnZXQgMSBnZQotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3Nfc3RhdGQucHMgYi9SZXNvdXJjZS9Jbml0L2dzX3N0YXRkLnBzCi1pbmRleCAyMGQ0Yzk2Li5iNmE3NjU5IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19zdGF0ZC5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19zdGF0ZC5wcwotQEAgLTIxLDEwICsyMSwxMCBAQCBzeXN0ZW1kaWN0IGJlZ2luCi0gICAgICAgICAlIFdlIG1ha2Ugc3RhdHVzZGljdCBhIGxpdHRsZSBsYXJnZXIgZm9yIExldmVsIDIgc3R1ZmYuCi0gICAgICAgICAlIE5vdGUgdGhhdCBpdCBtdXN0IGJlIGFsbG9jYXRlZCBpbiBsb2NhbCBWTS4KLSAgLmN1cnJlbnRnbG9iYWwgLy9mYWxzZSAuc2V0Z2xvYmFsCi0tIC9zdGF0dXNkaWN0IDkxIGRpY3QgLmZvcmNlZGVmCQklIHN0YXR1c2RpY3QgaXMgbG9jYWwsIHN5cydkaWN0IGdsb2JhbAotKyBjdXJyZW50ZGljdCAvc3RhdHVzZGljdCA5MSBkaWN0IC5mb3JjZXB1dAkJJSBzdGF0dXNkaWN0IGlzIGxvY2FsLCBzeXMnZGljdCBnbG9iYWwKLSAgICAgICAgICUgVG8gc3VwcG9ydCB0aGUgTGV2ZWwgMiBqb2IgY29udHJvbCBmZWF0dXJlcywKLSAgICAgICAgICUgc2VydmVyZGljdCBtdXN0IGFsc28gYmUgaW4gbG9jYWwgVk0uCi0tIC9zZXJ2ZXJkaWN0IDEwIGRpY3QgLmZvcmNlZGVmCQklIHNlcnZlcmRpY3QgaXMgbG9jYWwsIHN5cydkaWN0IGdsb2JhbAotKyBjdXJyZW50ZGljdCAvc2VydmVyZGljdCAxMCBkaWN0IC5mb3JjZXB1dAkJJSBzZXJ2ZXJkaWN0IGlzIGxvY2FsLCBzeXMnZGljdCBnbG9iYWwKLSAgLnNldGdsb2JhbAotIGVuZAotIAotLS0gCi0yLjE4LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHRfOS4yNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0XzkuMjYuYmIKaW5kZXggYWQ0YzVlMS4uNWNhOTc4ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHRfOS4yNi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdF85LjI2LmJiCkBAIC0zMiwxMyArMzIsNiBAQAogICAgICAgICAgICBmaWxlOi8vZ2hvc3RzY3JpcHQtOS4wMi1nZW5hcmNoLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL29iamFyY2guaCBcCiAgICAgICAgICAgIGZpbGU6Ly9jdXBzLW5vLWdjcnlwdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOS02MTE2LTAwMDEucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTktNjExNi0wMDAyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTYxMTYtMDAwMy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOS02MTE2LTAwMDQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTktNjExNi0wMDA1LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTYxMTYtMDAwNi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOS02MTE2LTAwMDcucGF0Y2ggXAogICAgICAgICAgICAiCiAKIFNSQ19VUklfY2xhc3MtbmF0aXZlID0gIiR7U1JDX1VSSV9CQVNFfSBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncmVwL2dyZXAvMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcC8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYTFhNGJhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcC8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotRnJvbSBiOTU2NWRjMmZlMGM0ZjdkYWFlYzkxYjdlODNiYzczMTNkZWUyZjRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMTMgQXByIDIwMTUgMTc6MDI6MTMgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gVW5zZXQgbmVlZF9jaGFyc2V0X2FsaWFzIHdoZW4gYnVpbGRpbmcgZm9yIG11c2wKLQotbG9jYWxjaGFyc2V0IHVzZXMgYWNfY3ZfZ251X2xpYnJhcnlfMl8xIGZyb20gZ2xpYmMyMS5tNAotd2hpY2ggYWN0dWFsbHkgc2hvdWRsIGJlIGZpeGVkIGluIGdudWxpYiBhbmQgdGhlbiBhbGwgZG93bnN0cmVhbQotcHJvamVjdHMgd2lsbCBnZXQgaXQgZXZlbnR1YWxseS4gRm9yIG5vdyB3ZSBhcHBseSB0aGUgZml4IHRvCi1jb3JldXRpbHMKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsaWIvZ251bGliLm1rIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliL2dudWxpYi5tayBiL2xpYi9nbnVsaWIubWsKLWluZGV4IGUxZDc0ZGIuLmMwZTkyZGQgMTAwNjQ0Ci0tLS0gYS9saWIvZ251bGliLm1rCi0rKysgYi9saWIvZ251bGliLm1rCi1AQCAtMTg4Miw3ICsxODgyLDcgQEAgaW5zdGFsbC1leGVjLWxvY2FsY2hhcnNldDogYWxsLWxvY2FsCi0gCSAgY2FzZSAnJChob3N0X29zKScgaW4gXAotIAkgICAgZGFyd2luWzU2XSopIFwKLSAJICAgICAgbmVlZF9jaGFyc2V0X2FsaWFzPXRydWUgOzsgXAotLQkgICAgZGFyd2luKiB8IGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikgXAotKwkgICAgZGFyd2luKiB8IGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKiB8IGxpbnV4LW11c2wqKSBcCi0gCSAgICAgIG5lZWRfY2hhcnNldF9hbGlhcz1mYWxzZSA7OyBcCi0gCSAgICAqKSBcCi0gCSAgICAgIG5lZWRfY2hhcnNldF9hbGlhcz10cnVlIDs7IFwKLS0tIAotMi4xLjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JlcC9ncmVwXzMuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcF8zLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxODEwZGMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JlcC9ncmVwXzMuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLVNVTU1BUlkgPSAiR05VIGdyZXAgdXRpbGl0eSIKLUhPTUVQQUdFID0gImh0dHA6Ly9zYXZhbm5haC5nbnUub3JnL3Byb2plY3RzL2dyZXAvIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vc2F2YW5uYWguZ251Lm9yZy9idWdzLz9ncm91cD1ncmVwIgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTgwMDZkOWM4MTQyNzdjMWJmYzRjYTIyYWY5NGI1OWVlIgotCi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZ3JlcC9ncmVwLSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJmZWNhN2IzZTdjN2Y0YWFiMmI0MmVjYmZjNTEzYjA3MCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkYjYyNWM3YWIzYmIzZWU3NTdiMzkyNmE1Y2ZhOGQ5ZTFjMzk5MWFkMjQ3MDdhODNkZGU4YTVlZjJiZjdhMDdlIgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHRleGluZm8gcGtnY29uZmlnCi0KLSMgRml4ICJBcmd1bWVudCBsaXN0IHRvbyBsb25nIiBlcnJvciB3aGVuIGxlbihUTVBESVIpID0gNDEwCi1hY3BhdGhzID0gIi1JIC4vbTQiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLQlybSAtZiAke1N9L200L2luaXQubTQKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0JYXV0b3Rvb2xzX2RvX2luc3RhbGwKLQlpZiBbICIke2Jhc2VfYmluZGlyfSIgIT0gIiR7YmluZGlyfSIgXTsgdGhlbgotCQlpbnN0YWxsIC1kICR7RH0ke2Jhc2VfYmluZGlyfQotCQltdiAke0R9JHtiaW5kaXJ9L2dyZXAgJHtEfSR7YmFzZV9iaW5kaXJ9L2dyZXAKLQkJbXYgJHtEfSR7YmluZGlyfS9lZ3JlcCAke0R9JHtiYXNlX2JpbmRpcn0vZWdyZXAKLQkJbXYgJHtEfSR7YmluZGlyfS9mZ3JlcCAke0R9JHtiYXNlX2JpbmRpcn0vZmdyZXAKLQkJcm1kaXIgJHtEfSR7YmluZGlyfS8KLQlmaQotfQotCi1pbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInBjcmUiCi1QQUNLQUdFQ09ORklHW3BjcmVdID0gIi0tZW5hYmxlLXBlcmwtcmVnZXhwLC0tZGlzYWJsZS1wZXJsLXJlZ2V4cCxsaWJwY3JlIgotCi1BTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCi0KLUFMVEVSTkFUSVZFXyR7UE59ID0gImdyZXAgZWdyZXAgZmdyZXAiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZ3JlcF0gPSAiJHtiYXNlX2JpbmRpcn0vZ3JlcCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtlZ3JlcF0gPSAiJHtiYXNlX2JpbmRpcn0vZWdyZXAiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZmdyZXBdID0gIiR7YmFzZV9iaW5kaXJ9L2ZncmVwIgotCi1leHBvcnQgQ09ORklHX1NIRUxMPSIvYmluL3NoIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JlcC9ncmVwXzMuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcF8zLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzA0YTNlYwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcF8zLjMuYmIKQEAgLTAsMCArMSw0NSBAQAorU1VNTUFSWSA9ICJHTlUgZ3JlcCB1dGlsaXR5IgorSE9NRVBBR0UgPSAiaHR0cDovL3NhdmFubmFoLmdudS5vcmcvcHJvamVjdHMvZ3JlcC8iCitCVUdUUkFDS0VSID0gImh0dHA6Ly9zYXZhbm5haC5nbnUub3JnL2J1Z3MvP2dyb3VwPWdyZXAiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWViYmQzZTM0MjM3YWYyNmRhNWRjMDhhNGU0NDA0NjQiCisKK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS9ncmVwL2dyZXAtJHtQVn0udGFyLnh6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDVkMDcxOGExYjdjYzcwNmE0YmRmODExNTM2M2YxZWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjk2MDU0MWM0OTk2MTllZmQ2YWZlMWZhNzk1NDAyZTQ3MzNjOGUxMWViZjlmYWZjY2MwYmI0YmNjZGM1YjUxNCIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB0ZXhpbmZvIHBrZ2NvbmZpZworCisjIEZpeCAiQXJndW1lbnQgbGlzdCB0b28gbG9uZyIgZXJyb3Igd2hlbiBsZW4oVE1QRElSKSA9IDQxMAorYWNwYXRocyA9ICItSSAuL200IgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisJcm0gLWYgJHtTfS9tNC9pbml0Lm00Cit9CisKK2RvX2luc3RhbGwgKCkgeworCWF1dG90b29sc19kb19pbnN0YWxsCisJaWYgWyAiJHtiYXNlX2JpbmRpcn0iICE9ICIke2JpbmRpcn0iIF07IHRoZW4KKwkJaW5zdGFsbCAtZCAke0R9JHtiYXNlX2JpbmRpcn0KKwkJbXYgJHtEfSR7YmluZGlyfS9ncmVwICR7RH0ke2Jhc2VfYmluZGlyfS9ncmVwCisJCW12ICR7RH0ke2JpbmRpcn0vZWdyZXAgJHtEfSR7YmFzZV9iaW5kaXJ9L2VncmVwCisJCW12ICR7RH0ke2JpbmRpcn0vZmdyZXAgJHtEfSR7YmFzZV9iaW5kaXJ9L2ZncmVwCisJCXJtZGlyICR7RH0ke2JpbmRpcn0vCisJZmkKK30KKworaW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK1BBQ0tBR0VDT05GSUcgPz89ICJwY3JlIgorUEFDS0FHRUNPTkZJR1twY3JlXSA9ICItLWVuYWJsZS1wZXJsLXJlZ2V4cCwtLWRpc2FibGUtcGVybC1yZWdleHAsbGlicGNyZSIKKworQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgorCitBTFRFUk5BVElWRV8ke1BOfSA9ICJncmVwIGVncmVwIGZncmVwIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2dyZXBdID0gIiR7YmFzZV9iaW5kaXJ9L2dyZXAiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZWdyZXBdID0gIiR7YmFzZV9iaW5kaXJ9L2VncmVwIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2ZncmVwXSA9ICIke2Jhc2VfYmluZGlyfS9mZ3JlcCIKKworZXhwb3J0IENPTkZJR19TSEVMTD0iL2Jpbi9zaCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2d6aXAvZ3ppcC0xLjkvd3JvbmctcGF0aC1maXgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXAtMS4xMC93cm9uZy1wYXRoLWZpeC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwLTEuOS93cm9uZy1wYXRoLWZpeC5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwLTEuMTAvd3JvbmctcGF0aC1maXgucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2d6aXAvZ3ppcC0xLjkvZ251bGliLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwLTEuOS9nbnVsaWIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzY2RkNzIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwLTEuOS9nbnVsaWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxODkgKzAsMCBAQAotRnJvbSAxODMxNjI4YzA2MzBhZTk2YTQzNTg2YjJhMjVjYTUxY2JkYmEzZTUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUGF1bCBFZ2dlcnQgPGFkZHJlc3NAaGlkZGVuPgotRGF0ZTogTW9uLCA1IE1hciAyMDE4IDEwOjU2OjI5IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGZmbHVzaDogYWRqdXN0IHRvIGdsaWJjIDIuMjggbGliaW8uaCByZW1vdmFsCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVByb2JsZW0gcmVwb3J0ZWQgYnkgRGFuaWVsIFAuIEJlcnJhbmfDqSBpbjoKLWh0dHBzOi8vbGlzdHMuZ251Lm9yZy9yL2J1Zy1nbnVsaWIvMjAxOC0wMy9tc2cwMDAwMC5odG1sCi0qIGxpYi9mYnVmbW9kZS5jIChmYnVmbW9kZSk6Ci0qIGxpYi9mZmx1c2guYyAoY2xlYXJfdW5nZXRjX2J1ZmZlcl9wcmVzZXJ2aW5nX3Bvc2l0aW9uKQotKGRpc2FibGVfc2Vla19vcHRpbWl6YXRpb24sIHJwbF9mZmx1c2gpOgotKiBsaWIvZnBlbmRpbmcuYyAoX19mcGVuZGluZyk6Ci0qIGxpYi9mcHVyZ2UuYyAoZnB1cmdlKToKLSogbGliL2ZyZWFkYWJsZS5jIChmcmVhZGFibGUpOgotKiBsaWIvZnJlYWRhaGVhZC5jIChmcmVhZGFoZWFkKToKLSogbGliL2ZyZWFkaW5nLmMgKGZyZWFkaW5nKToKLSogbGliL2ZyZWFkcHRyLmMgKGZyZWFkcHRyKToKLSogbGliL2ZyZWFkc2Vlay5jIChmcmVhZHB0cmluYyk6Ci0qIGxpYi9mc2Vla28uYyAoZnNlZWtvKToKLSogbGliL2ZzZXRlcnIuYyAoZnNldGVycik6Ci0qIGxpYi9md3JpdGFibGUuYyAoZndyaXRhYmxlKToKLSogbGliL2Z3cml0aW5nLmMgKGZ3cml0aW5nKToKLUNoZWNrIF9JT19FT0ZfU0VFTiBpbnN0ZWFkIG9mIF9JT19mdHJ5bG9ja2ZpbGUuCi0qIGxpYi9zdGRpby1pbXBsLmggKF9JT19JTl9CQUNLVVApIFtfSU9fRU9GX1NFRU5dOgotRGVmaW5lIGlmIG5vdCBhbHJlYWR5IGRlZmluZWQuCi0tLS0KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi0gQ2hhbmdlTG9nICAgICAgICB8IDIzICsrKysrKysrKysrKysrKysrKysrKysrCi0gbGliL2ZidWZtb2RlLmMgICB8ICAyICstCi0gbGliL2ZmbHVzaC5jICAgICB8ICA2ICsrKy0tLQotIGxpYi9mcGVuZGluZy5jICAgfCAgMiArLQotIGxpYi9mcHVyZ2UuYyAgICAgfCAgMiArLQotIGxpYi9mcmVhZGFibGUuYyAgfCAgMiArLQotIGxpYi9mcmVhZGFoZWFkLmMgfCAgMiArLQotIGxpYi9mcmVhZGluZy5jICAgfCAgMiArLQotIGxpYi9mcmVhZHB0ci5jICAgfCAgMiArLQotIGxpYi9mcmVhZHNlZWsuYyAgfCAgMiArLQotIGxpYi9mc2Vla28uYyAgICAgfCAgNCArKy0tCi0gbGliL2ZzZXRlcnIuYyAgICB8ICAyICstCi0gbGliL2Z3cml0YWJsZS5jICB8ICAyICstCi0gbGliL2Z3cml0aW5nLmMgICB8ICAyICstCi0gbGliL3N0ZGlvLWltcGwuaCB8ICA2ICsrKysrKwotIDE1IGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQotCi1JbmRleDogZ3ppcC0xLjkvQ2hhbmdlTG9nCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ3ppcC0xLjkub3JpZy9DaGFuZ2VMb2cKLSsrKyBnemlwLTEuOS9DaGFuZ2VMb2cKLUBAIC0xLDMgKzEsMjYgQEAKLSsyMDE4LTAzLTA1ICBQYXVsIEVnZ2VydCAgPGFkZHJlc3NAaGlkZGVuPgotKwotKwlmZmx1c2g6IGFkanVzdCB0byBnbGliYyAyLjI4IGxpYmlvLmggcmVtb3ZhbAotKwlQcm9ibGVtIHJlcG9ydGVkIGJ5IERhbmllbCBQLiBCZXJyYW5nw6kgaW46Ci0rCWh0dHBzOi8vbGlzdHMuZ251Lm9yZy9yL2J1Zy1nbnVsaWIvMjAxOC0wMy9tc2cwMDAwMC5odG1sCi0rCSogbGliL2ZidWZtb2RlLmMgKGZidWZtb2RlKToKLSsJKiBsaWIvZmZsdXNoLmMgKGNsZWFyX3VuZ2V0Y19idWZmZXJfcHJlc2VydmluZ19wb3NpdGlvbikKLSsJKGRpc2FibGVfc2Vla19vcHRpbWl6YXRpb24sIHJwbF9mZmx1c2gpOgotKwkqIGxpYi9mcGVuZGluZy5jIChfX2ZwZW5kaW5nKToKLSsJKiBsaWIvZnB1cmdlLmMgKGZwdXJnZSk6Ci0rCSogbGliL2ZyZWFkYWJsZS5jIChmcmVhZGFibGUpOgotKwkqIGxpYi9mcmVhZGFoZWFkLmMgKGZyZWFkYWhlYWQpOgotKwkqIGxpYi9mcmVhZGluZy5jIChmcmVhZGluZyk6Ci0rCSogbGliL2ZyZWFkcHRyLmMgKGZyZWFkcHRyKToKLSsJKiBsaWIvZnJlYWRzZWVrLmMgKGZyZWFkcHRyaW5jKToKLSsJKiBsaWIvZnNlZWtvLmMgKGZzZWVrbyk6Ci0rCSogbGliL2ZzZXRlcnIuYyAoZnNldGVycik6Ci0rCSogbGliL2Z3cml0YWJsZS5jIChmd3JpdGFibGUpOgotKwkqIGxpYi9md3JpdGluZy5jIChmd3JpdGluZyk6Ci0rCUNoZWNrIF9JT19FT0ZfU0VFTiBpbnN0ZWFkIG9mIF9JT19mdHJ5bG9ja2ZpbGUuCi0rCSogbGliL3N0ZGlvLWltcGwuaCAoX0lPX0lOX0JBQ0tVUCkgW19JT19FT0ZfU0VFTl06Ci0rCURlZmluZSBpZiBub3QgYWxyZWFkeSBkZWZpbmVkLgotKwotIDIwMTgtMDEtMDcgIEppbSBNZXllcmluZyAgPG1leWVyaW5nQGZiLmNvbT4KLSAKLSAJdmVyc2lvbiAxLjkKLUluZGV4OiBnemlwLTEuOS9saWIvZmZsdXNoLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnemlwLTEuOS5vcmlnL2xpYi9mZmx1c2guYwotKysrIGd6aXAtMS45L2xpYi9mZmx1c2guYwotQEAgLTMzLDcgKzMzLDcgQEAKLSAjdW5kZWYgZmZsdXNoCi0gCi0gCi0tI2lmIGRlZmluZWQgX0lPX2Z0cnlsb2NrZmlsZSB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCi0rI2lmIGRlZmluZWQgX0lPX0VPRl9TRUVOIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSAKLSAvKiBDbGVhciB0aGUgc3RyZWFtJ3MgdW5nZXRjIGJ1ZmZlciwgcHJlc2VydmluZyB0aGUgdmFsdWUgb2YgZnRlbGxvIChmcCkuICAqLwotIHN0YXRpYyB2b2lkCi1AQCAtNzIsNyArNzIsNyBAQCBjbGVhcl91bmdldGNfYnVmZmVyIChGSUxFICpmcCkKLSAKLSAjZW5kaWYKLSAKLS0jaWYgISAoZGVmaW5lZCBfSU9fZnRyeWxvY2tmaWxlIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8pCi0rI2lmICEgKGRlZmluZWQgX0lPX0VPRl9TRUVOIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8pCi0gCi0gIyBpZiAoZGVmaW5lZCBfX3NmZXJyb3IgfHwgZGVmaW5lZCBfX0RyYWdvbkZseV9fIHx8IGRlZmluZWQgX19BTkRST0lEX18pICYmIGRlZmluZWQgX19TTlBUCi0gLyogRnJlZUJTRCwgTmV0QlNELCBPcGVuQlNELCBEcmFnb25GbHksIE1hYyBPUyBYLCBDeWd3aW4sIE1pbml4IDMsIEFuZHJvaWQgKi8KLUBAIC0xNDgsNyArMTQ4LDcgQEAgcnBsX2ZmbHVzaCAoRklMRSAqc3RyZWFtKQotICAgaWYgKHN0cmVhbSA9PSBOVUxMIHx8ICEgZnJlYWRpbmcgKHN0cmVhbSkpCi0gICAgIHJldHVybiBmZmx1c2ggKHN0cmVhbSk7Ci0gCi0tI2lmIGRlZmluZWQgX0lPX2Z0cnlsb2NrZmlsZSB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCi0rI2lmIGRlZmluZWQgX0lPX0VPRl9TRUVOIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSAKLSAgIGNsZWFyX3VuZ2V0Y19idWZmZXJfcHJlc2VydmluZ19wb3NpdGlvbiAoc3RyZWFtKTsKLSAKLUluZGV4OiBnemlwLTEuOS9saWIvZnB1cmdlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnemlwLTEuOS5vcmlnL2xpYi9mcHVyZ2UuYwotKysrIGd6aXAtMS45L2xpYi9mcHVyZ2UuYwotQEAgLTYyLDcgKzYyLDcgQEAgZnB1cmdlIChGSUxFICpmcCkKLSAgIC8qIE1vc3Qgc3lzdGVtcyBwcm92aWRlIEZJTEUgYXMgYSBzdHJ1Y3QgYW5kIHRoZSBuZWNlc3NhcnkgYml0bWFzayBpbgotICAgICAgPHN0ZGlvLmg+LCBiZWNhdXNlIHRoZXkgbmVlZCBpdCBmb3IgaW1wbGVtZW50aW5nIGdldGMoKSBhbmQgcHV0YygpIGFzCi0gICAgICBmYXN0IG1hY3Jvcy4gICovCi0tIyBpZiBkZWZpbmVkIF9JT19mdHJ5bG9ja2ZpbGUgfHwgX19HTlVfTElCUkFSWV9fID09IDEgLyogR05VIGxpYmMsIEJlT1MsIEhhaWt1LCBMaW51eCBsaWJjNSAqLwotKyMgaWYgZGVmaW5lZCBfSU9fRU9GX1NFRU4gfHwgX19HTlVfTElCUkFSWV9fID09IDEgLyogR05VIGxpYmMsIEJlT1MsIEhhaWt1LCBMaW51eCBsaWJjNSAqLwotICAgZnAtPl9JT19yZWFkX2VuZCA9IGZwLT5fSU9fcmVhZF9wdHI7Ci0gICBmcC0+X0lPX3dyaXRlX3B0ciA9IGZwLT5fSU9fd3JpdGVfYmFzZTsKLSAgIC8qIEF2b2lkIG1lbW9yeSBsZWFrIHdoZW4gdGhlcmUgaXMgYW4gYWN0aXZlIHVuZ2V0YyBidWZmZXIuICAqLwotSW5kZXg6IGd6aXAtMS45L2xpYi9mcmVhZGluZy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ3ppcC0xLjkub3JpZy9saWIvZnJlYWRpbmcuYwotKysrIGd6aXAtMS45L2xpYi9mcmVhZGluZy5jCi1AQCAtMzEsNyArMzEsNyBAQCBmcmVhZGluZyAoRklMRSAqZnApCi0gICAvKiBNb3N0IHN5c3RlbXMgcHJvdmlkZSBGSUxFIGFzIGEgc3RydWN0IGFuZCB0aGUgbmVjZXNzYXJ5IGJpdG1hc2sgaW4KLSAgICAgIDxzdGRpby5oPiwgYmVjYXVzZSB0aGV5IG5lZWQgaXQgZm9yIGltcGxlbWVudGluZyBnZXRjKCkgYW5kIHB1dGMoKSBhcwotICAgICAgZmFzdCBtYWNyb3MuICAqLwotLSMgaWYgZGVmaW5lZCBfSU9fZnRyeWxvY2tmaWxlIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSsjIGlmIGRlZmluZWQgX0lPX0VPRl9TRUVOIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSAgIHJldHVybiAoKGZwLT5fZmxhZ3MgJiBfSU9fTk9fV1JJVEVTKSAhPSAwCi0gICAgICAgICAgIHx8ICgoZnAtPl9mbGFncyAmIChfSU9fTk9fUkVBRFMgfCBfSU9fQ1VSUkVOVExZX1BVVFRJTkcpKSA9PSAwCi0gICAgICAgICAgICAgICAmJiBmcC0+X0lPX3JlYWRfYmFzZSAhPSBOVUxMKSk7Ci1JbmRleDogZ3ppcC0xLjkvbGliL2ZzZWVrby5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ3ppcC0xLjkub3JpZy9saWIvZnNlZWtvLmMKLSsrKyBnemlwLTEuOS9saWIvZnNlZWtvLmMKLUBAIC00Nyw3ICs0Nyw3IEBAIGZzZWVrbyAoRklMRSAqZnAsIG9mZl90IG9mZnNldCwgaW50IHdoZW4KLSAjZW5kaWYKLSAKLSAgIC8qIFRoZXNlIHRlc3RzIGFyZSBiYXNlZCBvbiBmcHVyZ2UuYy4gICovCi0tI2lmIGRlZmluZWQgX0lPX2Z0cnlsb2NrZmlsZSB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCi0rI2lmIGRlZmluZWQgX0lPX0VPRl9TRUVOIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSAgIGlmIChmcC0+X0lPX3JlYWRfZW5kID09IGZwLT5fSU9fcmVhZF9wdHIKLSAgICAgICAmJiBmcC0+X0lPX3dyaXRlX3B0ciA9PSBmcC0+X0lPX3dyaXRlX2Jhc2UKLSAgICAgICAmJiBmcC0+X0lPX3NhdmVfYmFzZSA9PSBOVUxMKQotQEAgLTEyMyw3ICsxMjMsNyBAQCBmc2Vla28gKEZJTEUgKmZwLCBvZmZfdCBvZmZzZXQsIGludCB3aGVuCi0gICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgIH0KLSAKLS0jaWYgZGVmaW5lZCBfSU9fZnRyeWxvY2tmaWxlIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSsjaWYgZGVmaW5lZCBfSU9fRU9GX1NFRU4gfHwgX19HTlVfTElCUkFSWV9fID09IDEgLyogR05VIGxpYmMsIEJlT1MsIEhhaWt1LCBMaW51eCBsaWJjNSAqLwotICAgICAgIGZwLT5fZmxhZ3MgJj0gfl9JT19FT0ZfU0VFTjsKLSAgICAgICBmcC0+X29mZnNldCA9IHBvczsKLSAjZWxpZiBkZWZpbmVkIF9fc2ZlcnJvciB8fCBkZWZpbmVkIF9fRHJhZ29uRmx5X18gfHwgZGVmaW5lZCBfX0FORFJPSURfXwotSW5kZXg6IGd6aXAtMS45L2xpYi9mc2V0ZXJyLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnemlwLTEuOS5vcmlnL2xpYi9mc2V0ZXJyLmMKLSsrKyBnemlwLTEuOS9saWIvZnNldGVyci5jCi1AQCAtMjksNyArMjksNyBAQCBmc2V0ZXJyIChGSUxFICpmcCkKLSAgIC8qIE1vc3Qgc3lzdGVtcyBwcm92aWRlIEZJTEUgYXMgYSBzdHJ1Y3QgYW5kIHRoZSBuZWNlc3NhcnkgYml0bWFzayBpbgotICAgICAgPHN0ZGlvLmg+LCBiZWNhdXNlIHRoZXkgbmVlZCBpdCBmb3IgaW1wbGVtZW50aW5nIGdldGMoKSBhbmQgcHV0YygpIGFzCi0gICAgICBmYXN0IG1hY3Jvcy4gICovCi0tI2lmIGRlZmluZWQgX0lPX2Z0cnlsb2NrZmlsZSB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCi0rI2lmIGRlZmluZWQgX0lPX0VPRl9TRUVOIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSAgIGZwLT5fZmxhZ3MgfD0gX0lPX0VSUl9TRUVOOwotICNlbGlmIGRlZmluZWQgX19zZmVycm9yIHx8IGRlZmluZWQgX19EcmFnb25GbHlfXyB8fCBkZWZpbmVkIF9fQU5EUk9JRF9fCi0gICAvKiBGcmVlQlNELCBOZXRCU0QsIE9wZW5CU0QsIERyYWdvbkZseSwgTWFjIE9TIFgsIEN5Z3dpbiwgTWluaXggMywgQW5kcm9pZCAqLwotSW5kZXg6IGd6aXAtMS45L2xpYi9zdGRpby1pbXBsLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnemlwLTEuOS5vcmlnL2xpYi9zdGRpby1pbXBsLmgKLSsrKyBnemlwLTEuOS9saWIvc3RkaW8taW1wbC5oCi1AQCAtMTgsNiArMTgsMTIgQEAKLSAgICB0aGUgc2FtZSBpbXBsZW1lbnRhdGlvbiBvZiBzdGRpbyBleHRlbnNpb24gQVBJLCBleGNlcHQgdGhhdCBzb21lIGZpZWxkcwotICAgIGhhdmUgZGlmZmVyZW50IG5hbWluZyBjb252ZW50aW9ucywgb3IgdGhlaXIgYWNjZXNzIHJlcXVpcmVzIHNvbWUgY2FzdHMuICAqLwotIAotKy8qIEdsaWJjIDIuMjggbWFkZSBfSU9fSU5fQkFDS1VQIHByaXZhdGUuICBGb3Igbm93LCB3b3JrIGFyb3VuZCB0aGlzCi0rICAgcHJvYmxlbSBieSBkZWZpbmluZyBpdCBvdXJzZWx2ZXMuICBGSVhNRTogRG8gbm90IHJlbHkgb24gZ2xpYmMKLSsgICBpbnRlcm5hbHMuICAqLwotKyNpZiAhZGVmaW5lZCBfSU9fSU5fQkFDS1VQICYmIGRlZmluZWQgX0lPX0VPRl9TRUVOCi0rIyBkZWZpbmUgX0lPX0lOX0JBQ0tVUCAweDEwMAotKyNlbmRpZgotIAotIC8qIEJTRCBzdGRpbyBkZXJpdmVkIGltcGxlbWVudGF0aW9ucy4gICovCi0gCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXBfMS4xMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2d6aXAvZ3ppcF8xLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1ZGU5NzAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXBfMS4xMC5iYgpAQCAtMCwwICsxLDM4IEBACityZXF1aXJlIGd6aXAuaW5jCisKK0xJQ0VOU0UgPSAiR1BMdjMrIgorCitTUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZ3ppcC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIGZpbGU6Ly93cm9uZy1wYXRoLWZpeC5wYXRjaCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3ppcC5oO2JlZ2lubGluZT04O2VuZGxpbmU9MjA7bWQ1PTZlNDdjYWFhNjMwZTBjOGJmOWYxYmM4ZDk0YThlZDBlIgorCitQUk9WSURFU19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBnemlwLXJlcGxhY2VtZW50LW5hdGl2ZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK2luaGVyaXQgcHRlc3QKKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKwlta2RpciAtcCAke0R9JHtQVEVTVF9QQVRIfS9zcmMvYnVpbGQtYXV4CisJY3AgJHtTfS9idWlsZC1hdXgvdGVzdC1kcml2ZXIgJHtEfSR7UFRFU1RfUEFUSH0vc3JjL2J1aWxkLWF1eC8KKwlta2RpciAtcCAke0R9JHtQVEVTVF9QQVRIfS9zcmMvdGVzdHMKKwljcCAtciAke1N9L3Rlc3RzLyogJHtEfSR7UFRFU1RfUEFUSH0vc3JjL3Rlc3RzCisJc2VkIC1lICdzL15hYnNfc3JjZGlyID0gLi4qL2Fic19zcmNkaXIgPSBcLlwuLycgXAorICAgICAgICAgICAgLWUgJ3MvXnRvcF9zcmNkaXIgPSAuLiovdG9wX3NyY2RpciA9IFwuXC4vJyBcCisgICAgICAgICAgICAtZSAncy9eR1JFUCA9IC4uKi9HUkVQID0gZ3JlcC8nICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIC1lICdzL15BV0sgPSAuLiovQVdLID0gYXdrLycgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgLWUgJ3MvXnNyY2RpciA9IC4uKi9zcmNkaXIgPSBcLi8nICAgICAgICAgICBcCisgICAgICAgICAgICAtZSAncy9eTWFrZWZpbGU6IC4uKi9NYWtlZmlsZTogLycgICAgICAgICAgIFwKKyAgICAgICAgICAgIC1lICdzLC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGcnICAgXAorICAgICAgICAgICAgLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAorICAgICAgICAgICAgLWUgJ3M6JHtIT1NUVE9PTFNfRElSfS86OmcnICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAtZSAnczoke0JBU0VfV09SS0RJUn0vJHtNVUxUSU1BQ0hfVEFSR0VUX1NZU306OmcnIFwKKyAgICAgICAgICAgICR7Qn0vdGVzdHMvTWFrZWZpbGUgPiAke0R9JHtQVEVTVF9QQVRIfS9zcmMvdGVzdHMvTWFrZWZpbGUKK30KKworU1JDX1VSSVttZDVzdW1dID0gImNmOWVlNTFhZmYxNjdmZjY5ODQ0ZDVkN2Q3MWM4YjIwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM5MWY3NDQzMGJmN2JjMjA0MDJlMWY2NTdkMGIyNTJjYjgwYWE2NmJhMzMzYTI1NzA0NTEyYWYzNDY2MzNjNjgiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXBfMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwXzEuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTlmNjU4Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXBfMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotcmVxdWlyZSBnemlwLmluYwotCi1MSUNFTlNFID0gIkdQTHYzKyIKLQotU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2d6aXAvJHtCUH0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9nbnVsaWIucGF0Y2ggXAotICAgICAgICAgICIKLVNSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgZmlsZTovL3dyb25nLXBhdGgtZml4LnBhdGNoIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nemlwLmg7YmVnaW5saW5lPTg7ZW5kbGluZT0yMDttZDU9NmU0N2NhYWE2MzBlMGM4YmY5ZjFiYzhkOTRhOGVkMGUiCi0KLVBST1ZJREVTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGd6aXAtcmVwbGFjZW1lbnQtbmF0aXZlIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLQotaW5oZXJpdCBwdGVzdAotCi1kb19pbnN0YWxsX3B0ZXN0KCkgewotCW1rZGlyIC1wICR7RH0ke1BURVNUX1BBVEh9L3NyYy9idWlsZC1hdXgKLQljcCAke1N9L2J1aWxkLWF1eC90ZXN0LWRyaXZlciAke0R9JHtQVEVTVF9QQVRIfS9zcmMvYnVpbGQtYXV4LwotCW1rZGlyIC1wICR7RH0ke1BURVNUX1BBVEh9L3NyYy90ZXN0cwotCWNwIC1yICR7U30vdGVzdHMvKiAke0R9JHtQVEVTVF9QQVRIfS9zcmMvdGVzdHMKLQlzZWQgLWUgJ3MvXmFic19zcmNkaXIgPSAuLiovYWJzX3NyY2RpciA9IFwuXC4vJyBcCi0gICAgICAgICAgICAtZSAncy9edG9wX3NyY2RpciA9IC4uKi90b3Bfc3JjZGlyID0gXC5cLi8nIFwKLSAgICAgICAgICAgIC1lICdzL15HUkVQID0gLi4qL0dSRVAgPSBncmVwLycgICAgICAgICAgICAgXAotICAgICAgICAgICAgLWUgJ3MvXkFXSyA9IC4uKi9BV0sgPSBhd2svJyAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAtZSAncy9ec3JjZGlyID0gLi4qL3NyY2RpciA9IFwuLycgICAgICAgICAgIFwKLSAgICAgICAgICAgIC1lICdzL15NYWtlZmlsZTogLi4qL01ha2VmaWxlOiAvJyAgICAgICAgICAgXAotICAgICAgICAgICAgLWUgJ3MsLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSwsZycgICBcCi0gICAgICAgICAgICAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCi0gICAgICAgICAgICAtZSAnczoke0hPU1RUT09MU19ESVJ9Lzo6ZycgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIC1lICdzOiR7QkFTRV9XT1JLRElSfS8ke01VTFRJTUFDSF9UQVJHRVRfU1lTfTo6ZycgXAotICAgICAgICAgICAgJHtCfS90ZXN0cy9NYWtlZmlsZSA+ICR7RH0ke1BURVNUX1BBVEh9L3NyYy90ZXN0cy9NYWtlZmlsZQotfQotCi1TUkNfVVJJW21kNXN1bV0gPSAiOTI5ZDZhNmI4MzJmNzViMjhlM2VlZWFmYjMwYzFkOWIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWQyZDNhMzQzMmVmMzJmMjRjZGIwNjBkMjc4ODM0NTA3YjQ4MWE3NWFkZWNhMTg4NTBjNzM1OTJmNzc4ZjZhZCIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaGRwYXJtL2hkcGFybV85LjU2LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaGRwYXJtL2hkcGFybV85LjU2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzkzMmFkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2hkcGFybS9oZHBhcm1fOS41Ni5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLVNVTU1BUlkgPSAiVXRpbGl0eSBmb3Igdmlld2luZy9tYW5pcHVsYXRpbmcgSURFIGRpc2sgZHJpdmUvZHJpdmVyIHBhcmFtZXRlcnMiCi1IT01FUEFHRSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2hkcGFybS8iCi1ERVNDUklQVElPTiA9ICJoZHBhcm0gaXMgYSBMaW51eCBzaGVsbCB1dGlsaXR5IGZvciB2aWV3aW5nIFwKLWFuZCBtYW5pcHVsYXRpbmcgdmFyaW91cyBJREUgZHJpdmUgYW5kIGRyaXZlciBwYXJhbWV0ZXJzLiIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLQotTElDRU5TRSA9ICJCU0QgJiBHUEx2MiIKLUxJQ0VOU0VfJHtQTn0gPSAiQlNEIgotTElDRU5TRV8ke1BOfS1kYmcgPSAiQlNEIgotTElDRU5TRV93aXBlciA9ICJHUEx2MiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5UWFQ7bWQ1PTQ5NWQwM2U1MGRjNmM4OWQ2YTMwMTA3YWIwZGY1YjAzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PWE4MmQ3YmEzYWRlOWU4ZWM5MDI3NDlkYjk4YzU5MmYzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3dpcGVyL0dQTHYyLnR4dDttZDU9ZmNiMDJkYzU1MmEwNDFkZWUyN2U0Yjg1YzczOTYwNjcgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vd2lwZXIvd2lwZXIuc2g7YmVnaW5saW5lPTc7ZW5kbGluZT0zMTttZDU9YjdiYzY0MmFkZGMxNTJlYTMwNzUwNWJmMWEyOTZmMDkiCi0KLQotUEFDS0FHRVMgPSsgIndpcGVyIgotCi1GSUxFU193aXBlciA9ICIke2JpbmRpcn0vd2lwZXIuc2giCi0KLVJERVBFTkRTX3dpcGVyID0gImJhc2ggZ2F3ayBjb3JldXRpbHMiCi0KLVNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2hkcGFybS8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vd2lwZXIuc2gtZml4LXN0YXQtcGF0aC5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNzkwMDYwOGUzMjgzNGY2NWQyNjU0ZmRiNjk2ZTcxYTAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmZmOWVkNjk1ZjEwMTczOTZlZWM0MTAxZjk5MGYxMTRiN2IwZTBhMDRjNWFhNjM2OWMwMzk0MDUzZDE2ZTRkYSIKLQotRVhUUkFfT0VNQUtFID0gJ1NUUklQPSJlY2hvIiBMREZMQUdTPSIke0xERkxBR1N9IicKLQotaW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzCi0KLUFMVEVSTkFUSVZFXyR7UE59ID0gImhkcGFybSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtoZHBhcm1dID0gIiR7YmFzZV9zYmluZGlyfS9oZHBhcm0iCi1BTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCi0KLWRvX2luc3RhbGwgKCkgewotCWluc3RhbGwgLWQgJHtEfS8ke2Jhc2Vfc2JpbmRpcn0gJHtEfS8ke21hbmRpcn0vbWFuOCAke0R9LyR7YmluZGlyfQotCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgJ3NiaW5kaXI9JHtiYXNlX3NiaW5kaXJ9JyBpbnN0YWxsCi0JY3AgJHtTfS93aXBlci93aXBlci5zaCAke0R9LyR7YmluZGlyfQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaGRwYXJtL2hkcGFybV85LjU4LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaGRwYXJtL2hkcGFybV85LjU4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0N2RlZGEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9oZHBhcm0vaGRwYXJtXzkuNTguYmIKQEAgLTAsMCArMSw0MyBAQAorU1VNTUFSWSA9ICJVdGlsaXR5IGZvciB2aWV3aW5nL21hbmlwdWxhdGluZyBJREUgZGlzayBkcml2ZS9kcml2ZXIgcGFyYW1ldGVycyIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvaGRwYXJtLyIKK0RFU0NSSVBUSU9OID0gImhkcGFybSBpcyBhIExpbnV4IHNoZWxsIHV0aWxpdHkgZm9yIHZpZXdpbmcgXAorYW5kIG1hbmlwdWxhdGluZyB2YXJpb3VzIElERSBkcml2ZSBhbmQgZHJpdmVyIHBhcmFtZXRlcnMuIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCitMSUNFTlNFID0gIkJTRCAmIEdQTHYyIgorTElDRU5TRV8ke1BOfSA9ICJCU0QiCitMSUNFTlNFXyR7UE59LWRiZyA9ICJCU0QiCitMSUNFTlNFX3dpcGVyID0gIkdQTHYyIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLlRYVDttZDU9NDk1ZDAzZTUwZGM2Yzg5ZDZhMzAxMDdhYjBkZjViMDMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZGViaWFuL2NvcHlyaWdodDttZDU9YTgyZDdiYTNhZGU5ZThlYzkwMjc0OWRiOThjNTkyZjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vd2lwZXIvR1BMdjIudHh0O21kNT1mY2IwMmRjNTUyYTA0MWRlZTI3ZTRiODVjNzM5NjA2NyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly93aXBlci93aXBlci5zaDtiZWdpbmxpbmU9NztlbmRsaW5lPTMxO21kNT1iN2JjNjQyYWRkYzE1MmVhMzA3NTA1YmYxYTI5NmYwOSIKKworCitQQUNLQUdFUyA9KyAid2lwZXIiCisKK0ZJTEVTX3dpcGVyID0gIiR7YmluZGlyfS93aXBlci5zaCIKKworUkRFUEVORFNfd2lwZXIgPSAiYmFzaCBnYXdrIGNvcmV1dGlscyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vaGRwYXJtLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly93aXBlci5zaC1maXgtc3RhdC1wYXRoLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NjUyYzQ5Y2YwOTZhNjQ2ODNjMDVmNTRiNGZhNDY3OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5YWU3OGU4ODNmM2NlMDcxZDMyZWUwZjFiOWEyODQ1YTYzNGZjNGRkOTRhNDM0ZTY1M2ZkYmVmNTUxYzVlMTBmIgorCitFWFRSQV9PRU1BS0UgPSAnU1RSSVA9ImVjaG8iIExERkxBR1M9IiR7TERGTEFHU30iJworCitpbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworQUxURVJOQVRJVkVfJHtQTn0gPSAiaGRwYXJtIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2hkcGFybV0gPSAiJHtiYXNlX3NiaW5kaXJ9L2hkcGFybSIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKKworZG9faW5zdGFsbCAoKSB7CisJaW5zdGFsbCAtZCAke0R9LyR7YmFzZV9zYmluZGlyfSAke0R9LyR7bWFuZGlyfS9tYW44ICR7RH0vJHtiaW5kaXJ9CisJb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyAnc2JpbmRpcj0ke2Jhc2Vfc2JpbmRpcn0nIGluc3RhbGwKKwljcCAke1N9L3dpcGVyL3dpcGVyLnNoICR7RH0vJHtiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9pbWFnZXMvY29yZS1pbWFnZS1rZXJuZWwtZGV2LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaW1hZ2VzL2NvcmUtaW1hZ2Uta2VybmVsLWRldi5iYgppbmRleCBhNDBiM2FhLi40ZDE2ZGExIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9pbWFnZXMvY29yZS1pbWFnZS1rZXJuZWwtZGV2LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2ltYWdlcy9jb3JlLWltYWdlLWtlcm5lbC1kZXYuYmIKQEAgLTExLDYgKzExLDcgQEAKIENPUkVfSU1BR0VfRVhUUkFfSU5TVEFMTCArPSAiJHtLRVJORUxfREVWX01PRFVMRX0gXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0tFUk5FTF9ERVZfVVRJTFN9IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtLRVJORUxfREVWX1RPT0xTfSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbXRhcCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgogCiAjIFdlIG5lZWQgZXh0cmEgc3BhY2UgZm9yIHRoaW5ncyBsaWtlIGtlcm5lbCBidWlsZHMsIGV0Yy4KQEAgLTE4LDMgKzE5LDUgQEAKIAogIyBMZXQncyBkZWZpbmUgb3VyIG93biBzdWJzZXQgdG8gdGVzdCwgd2UgY2FuIGxhdGVyIGFkZCBhIG9uLXRhcmdldCBrZXJuZWwgYnVpbGQgZXZlbiEKIERFRkFVTFRfVEVTVF9TVUlURVMgPSAicGluZyBzc2ggZGYgY29ubm1hbiBzeXNsb2cgc2NwIGRhdGUgcGFyc2Vsb2dzIgorCitJTUFHRV9GRUFUVVJFUyArPSAidG9vbHMtcHJvZmlsZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2lwdGFibGVzL2lwdGFibGVzXzEuNi4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaXB0YWJsZXMvaXB0YWJsZXNfMS42LjIuYmIKaW5kZXggZTAwODI0Zi4uYTU3Y2FjMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaXB0YWJsZXMvaXB0YWJsZXNfMS42LjIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaXB0YWJsZXMvaXB0YWJsZXNfMS42LjIuYmIKQEAgLTM5LDcgKzM5LDcgQEAKIFBBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke1BOfS1tb2R1bGUtLioiCiAKIHB5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kKCkgewotICAgIG1vZHVsZXMgPSBkb19zcGxpdF9wYWNrYWdlcyhkLCAnJHtsaWJkaXJ9L3h0YWJsZXMnLCAnbGliKC4qKVwuc28kJywgJyR7UE59LW1vZHVsZS0lcycsICcke1BOfSBtb2R1bGUgJXMnLCBleHRyYV9kZXBlbmRzPScnKQorICAgIG1vZHVsZXMgPSBkb19zcGxpdF9wYWNrYWdlcyhkLCAnJHtsaWJkaXJ9L3h0YWJsZXMnLCByJ2xpYiguKilcLnNvJCcsICcke1BOfS1tb2R1bGUtJXMnLCAnJHtQTn0gbW9kdWxlICVzJywgZXh0cmFfZGVwZW5kcz0nJykKICAgICBpZiBtb2R1bGVzOgogICAgICAgICBtZXRhcGtnID0gZC5nZXRWYXIoJ1BOJykgKyAnLW1vZHVsZXMnCiAgICAgICAgIGQuYXBwZW5kVmFyKCdSREVQRU5EU18nICsgbWV0YXBrZywgJyAnICsgJyAnLmpvaW4obW9kdWxlcykpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sZXNzL2xlc3NfNTMwLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGVzcy9sZXNzXzUzMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzA3YjEyMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sZXNzL2xlc3NfNTMwLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotU1VNTUFSWSA9ICJUZXh0IGZpbGUgdmlld2VyIHNpbWlsYXIgdG8gbW9yZSIKLURFU0NSSVBUSU9OID0gIkxlc3MgaXMgYSBwcm9ncmFtIHNpbWlsYXIgdG8gbW9yZSwgaS5lLiBhIHRlcm1pbmFsIFwKLWJhc2VkIHByb2dyYW0gZm9yIHZpZXdpbmcgdGV4dCBmaWxlcyBhbmQgdGhlIG91dHB1dCBmcm9tIG90aGVyIFwKLXByb2dyYW1zLiBMZXNzIG9mZmVycyBtYW55IGZlYXR1cmVzIGJleW9uZCB0aG9zZSB0aGF0IG1vcmUgZG9lcy4iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmdyZWVud29vZHNvZnR3YXJlLmNvbS8iCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi0KLSMgKEdQTHYyKyAoPDwgNDE4KSwgR1BMdjMrICg+PSA0MTgpKSB8IGxlc3MKLSMgSW5jbHVkaW5nIGVtYWlsIGF1dGhvciBnaXZpbmcgcGVybWlzc2luZyB0byB1c2UgQlNECi0jCi0jIEZyb206IE1hcmsgTnVkZWxtYW4gPG1hcmtuQGdyZWVud29vZHNvZnR3YXJlLmNvbT4KLSMgVG86IEVsaXphYmV0aCBGbGFuYWdhbiA8ZWxpemFiZXRoLmZsYW5hZ2FuQGludGVsLmNvbQotIyBEYXRlOiAxMi8xOS8xMQotIwotIyBIaSBFbGl6YWJldGgsCi0jIFVzaW5nIGEgZ2VuZXJpYyBCU0QgbGljZW5zZSBmb3IgbGVzcyBpcyBmaW5lIHdpdGggbWUuCi0jIFRoYW5rcywKLSMKLSMgLS1NYXJrCi0jCi0KLUxJQ0VOU0UgPSAiR1BMdjMrIHwgQlNELTItQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRTttZDU9MmVmM2U0YjhkYWZjODU2MTJiYzUyNTRiODA4MWUyMzQiCi1ERVBFTkRTID0gIm5jdXJzZXMiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5ncmVlbndvb2Rzb2Z0d2FyZS5jb20vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAotCSAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNmEzOWJjY2Y0MjBjOTQ2YjBmZDdmZmM2NDk2MTMxNWIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTAzZjkxYWIwYWY0ODQ2ZjM0ZjA0NDRhYjcxYzRiMjg2MTIzZjAwNDRhNDk2NGYxYWU3ODE0ODZjNjE3ZjJlMiIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly93d3cuZ3JlZW53b29kc29mdHdhcmUuY29tL2xlc3MvZG93bmxvYWQuaHRtbCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcwotCi1kb19pbnN0YWxsICgpIHsKLSAgICAgICAgb2VfcnVubWFrZSAnYmluZGlyPSR7RH0ke2JpbmRpcn0nICdtYW5kaXI9JHtEfSR7bWFuZGlyfScgaW5zdGFsbAotfQotCi1BTFRFUk5BVElWRV8ke1BOfSA9ICJsZXNzIgotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGVzcy9sZXNzXzU1MC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xlc3MvbGVzc181NTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIxNjE4ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xlc3MvbGVzc181NTAuYmIKQEAgLTAsMCArMSw0MyBAQAorU1VNTUFSWSA9ICJUZXh0IGZpbGUgdmlld2VyIHNpbWlsYXIgdG8gbW9yZSIKK0RFU0NSSVBUSU9OID0gIkxlc3MgaXMgYSBwcm9ncmFtIHNpbWlsYXIgdG8gbW9yZSwgaS5lLiBhIHRlcm1pbmFsIFwKK2Jhc2VkIHByb2dyYW0gZm9yIHZpZXdpbmcgdGV4dCBmaWxlcyBhbmQgdGhlIG91dHB1dCBmcm9tIG90aGVyIFwKK3Byb2dyYW1zLiBMZXNzIG9mZmVycyBtYW55IGZlYXR1cmVzIGJleW9uZCB0aG9zZSB0aGF0IG1vcmUgZG9lcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdyZWVud29vZHNvZnR3YXJlLmNvbS8iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCisKKyMgKEdQTHYyKyAoPDwgNDE4KSwgR1BMdjMrICg+PSA0MTgpKSB8IGxlc3MKKyMgSW5jbHVkaW5nIGVtYWlsIGF1dGhvciBnaXZpbmcgcGVybWlzc2luZyB0byB1c2UgQlNECisjCisjIEZyb206IE1hcmsgTnVkZWxtYW4gPG1hcmtuQGdyZWVud29vZHNvZnR3YXJlLmNvbT4KKyMgVG86IEVsaXphYmV0aCBGbGFuYWdhbiA8ZWxpemFiZXRoLmZsYW5hZ2FuQGludGVsLmNvbQorIyBEYXRlOiAxMi8xOS8xMQorIworIyBIaSBFbGl6YWJldGgsCisjIFVzaW5nIGEgZ2VuZXJpYyBCU0QgbGljZW5zZSBmb3IgbGVzcyBpcyBmaW5lIHdpdGggbWUuCisjIFRoYW5rcywKKyMKKyMgLS1NYXJrCisjCisKK0xJQ0VOU0UgPSAiR1BMdjMrIHwgQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRTttZDU9YmEwMWQwY2FiN2Y2MmY3ZjIyMDRjNzc4MGZmNmE4N2QgXAorICAgICAgICAgICAgICAgICAgICAiCitERVBFTkRTID0gIm5jdXJzZXMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5ncmVlbndvb2Rzb2Z0d2FyZS5jb20vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorCSAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGNhZmY4OGUzNGFmZmY1MTJiNjYzZDdjNjkwYmQyY2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmE1MzYzOWYwOGQ3ZWQwNWI2ZTEwNGI4MmMzMjE5M2Y3OWFjMDFhM2VkZGIyMGUxMTRlMWMyNjE5NDhiZDU3YiIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly93d3cuZ3JlZW53b29kc29mdHdhcmUuY29tL2xlc3MvZG93bmxvYWQuaHRtbCIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcworCitkb19pbnN0YWxsICgpIHsKKyAgICAgICAgb2VfcnVubWFrZSAnYmluZGlyPSR7RH0ke2JpbmRpcn0nICdtYW5kaXI9JHtEfSR7bWFuZGlyfScgaW5zdGFsbAorfQorCitBTFRFUk5BVElWRV8ke1BOfSA9ICJsZXNzIgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4NzcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvQ1ZFLTIwMTgtMTAwMDg3Ny5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTYzODM3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4NzcucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorQ1ZFOiBDVkUtMjAxOC0xMDAwODc3CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDAyMWVmYTUyMmFkNzI5ZmYwZjU4MDZjNGNlNTNlNGE2Y2MxZGFhMzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEYW5pZWwgQXh0ZW5zIDxkamFAYXh0ZW5zLm5ldD4KK0RhdGU6IFR1ZSwgMjAgTm92IDIwMTggMTc6NTY6MjkgKzExMDAKK1N1YmplY3Q6IFtQQVRDSF0gQXZvaWQgYSBkb3VibGUtZnJlZSB3aGVuIGEgd2luZG93IHNpemUgb2YgMCBpcyBzcGVjaWZpZWQKKworbmV3X3NpemUgY2FuIGJlIDAgd2l0aCBhIG1hbGljaW91cyBvciBjb3JydXB0ZWQgUkFSIGFyY2hpdmUuCisKK3JlYWxsb2MoYXJlYSwgMCkgaXMgZXF1aXZhbGVudCB0byBmcmVlKGFyZWEpLCBzbyB0aGUgcmVnaW9uIHdvdWxkCitiZSBmcmVlKClkIGhlcmUgYW5kIHRoZSBmcmVlKClkIGFnYWluIGluIHRoZSBjbGVhbnVwIGZ1bmN0aW9uLgorCitGb3VuZCB3aXRoIGEgc2V0dXAgcnVubmluZyBBRkwsIGFmbC1yYiwgYW5kIHFzeW0uCistLS0KKyBsaWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9yYXIuYyB8IDUgKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9yYXIuYyBiL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X3Jhci5jCitpbmRleCAyMzQ1MjIyMi4uNmY0MTljMjcgMTAwNjQ0CistLS0gYS9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9yYXIuYworKysrIGIvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfcmFyLmMKK0BAIC0yMzAwLDYgKzIzMDAsMTEgQEAgcGFyc2VfY29kZXMoc3RydWN0IGFyY2hpdmVfcmVhZCAqYSkKKyAgICAgICBuZXdfc2l6ZSA9IERJQ1RJT05BUllfTUFYX1NJWkU7CisgICAgIGVsc2UKKyAgICAgICBuZXdfc2l6ZSA9IHJhcl9mbHMoKHVuc2lnbmVkIGludClyYXItPnVucF9zaXplKSA8PCAxOworKyAgICBpZiAobmV3X3NpemUgPT0gMCkgeworKyAgICAgIGFyY2hpdmVfc2V0X2Vycm9yKCZhLT5hcmNoaXZlLCBBUkNISVZFX0VSUk5PX0ZJTEVfRk9STUFULAorKyAgICAgICAgICAgICAgICAgICAgICAgICJaZXJvIHdpbmRvdyBzaXplIGlzIGludmFsaWQuIik7CisrICAgICAgcmV0dXJuIChBUkNISVZFX0ZBVEFMKTsKKysgICAgfQorICAgICBuZXdfd2luZG93ID0gcmVhbGxvYyhyYXItPmx6c3Mud2luZG93LCBuZXdfc2l6ZSk7CisgICAgIGlmIChuZXdfd2luZG93ID09IE5VTEwpIHsKKyAgICAgICBhcmNoaXZlX3NldF9lcnJvcigmYS0+YXJjaGl2ZSwgRU5PTUVNLAorLS0gCisyLjIwLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4NzgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvQ1ZFLTIwMTgtMTAwMDg3OC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDY4ZmQzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4NzgucGF0Y2gKQEAgLTAsMCArMSw3OSBAQAorQ1ZFOiBDVkUtMjAxOC0xMDAwODc4CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIGJmY2ZlNmYwNGVkMjBkYjI1MDRkYjhhMjU0ZDFmNDBhMWQ4NGViMjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEYW5pZWwgQXh0ZW5zIDxkamFAYXh0ZW5zLm5ldD4KK0RhdGU6IFR1ZSwgNCBEZWMgMjAxOCAwMDo1NToyMiArMTEwMAorU3ViamVjdDogW1BBVENIXSByYXI6IGZpbGUgc3BsaXQgYWNyb3NzIG11bHRpLXBhcnQgYXJjaGl2ZXMgbXVzdCBtYXRjaAorCitGdXp6aW5nIHVuY292ZXJlZCBzb21lIFVBRiBhbmQgbWVtb3J5IG92ZXJydW4gYnVncyB3aGVyZSBhIGZpbGUgaW4gYQorc2luZ2xlIGZpbGUgYXJjaGl2ZSByZXBvcnRlZCB0aGF0IGl0IHdhcyBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUKK3ZvbHVtZXMuIFRoaXMgd2FzIGNhdXNlZCBieSBwcG1kNyBvcGVyYXRpb25zIGNhbGxpbmcKK3Jhcl9icl9maWxsdXAuIFRoaXMgd291bGQgaW52b2tlIHJhcl9yZWFkX2FoZWFkLCB3aGljaCB3b3VsZCBpbiBzb21lCitzaXR1YXRpb25zIGludm9rZSBhcmNoaXZlX3JlYWRfZm9ybWF0X3Jhcl9yZWFkX2hlYWRlci4gIFRoYXQgd291bGQKK2NoZWNrIHRoZSBuZXcgZmlsZSBuYW1lIGFnYWluc3QgdGhlIG9sZCBmaWxlIG5hbWUsIGFuZCBpZiB0aGV5IGRpZG4ndAorbWF0Y2ggdXAgaXQgd291bGQgZnJlZSB0aGUgcHBtZDcgYnVmZmVyIGFuZCBhbGxvY2F0ZSBhIG5ldworb25lLiBIb3dldmVyLCBiZWNhdXNlIHRoZSBwcG1kNyBkZWNvZGVyIHdhc24ndCBhY3R1YWxseSBkb25lIHdpdGggdGhlCitidWZmZXIsIGl0IHdvdWxkIGNvbnRpbnVlIHRvIHVzZWQgdGhlIGZyZWVkIGJ1ZmZlci4gQm90aCByZWFkcyBhbmQKK3dyaXRlcyB0byB0aGUgZnJlZWQgcmVnaW9uIGNhbiBiZSBvYnNlcnZlZC4KKworVGhpcyBpcyBxdWl0ZSB0cmlja3kgdG8gc29sdmU6IG9uY2UgdGhlIGJ1ZmZlciBoYXMgYmVlbiBmcmVlZCBpdCBpcwordG9vIGxhdGUsIGFzIHRoZSBwcG1kNyBkZWNvZGVyIGZ1bmN0aW9ucyBhbG1vc3QgdW5pdmVyc2FsbHkgYXNzdW1lCitzdWNjZXNzIC0gdGhlcmUncyBubyB3YXkgZm9yIHBwbWRfcmVhZCB0byBzaWduYWwgZXJyb3IsIG5vciBhcmUgdGhlcmUKK2dvb2Qgd2F5cyBmb3IgZnVuY3Rpb25zIGxpa2UgUmFuZ2VfTm9ybWFsaXNlIHRvIHByb3BhZ2F0ZSB0aGVtLiBTbyB3ZQorY2FuJ3QgZGV0ZWN0IGFmdGVyIHRoZSBmYWN0IHRoYXQgd2UncmUgaW4gYW4gaW52YWxpZCBzdGF0ZSAtIGUuZy4gYnkKK2NoZWNraW5nIHJhci0+Y3Vyc29yLCB3ZSBoYXZlIHRvIHByZXZlbnQgb3Vyc2VsdmVzIGZyb20gZXZlciBlbmRpbmcgdXAKK3RoZXJlLiBTbywgd2hlbiB3ZSBhcmUgaW4gdGhlIGRhbmdlcm91cyBwYXJ0IG9yIHJhcl9yZWFkX2FoZWFkIHRoYXQKK2Fzc3VtZXMgYSB2YWxpZCBzcGxpdCwgd2Ugc2V0IGEgZmxhZyBmb3JjZSByZWFkX2hlYWRlciB0byBlaXRoZXIgZ28KK2Rvd24gdGhlIHBhdGggZm9yIHNwbGl0IGZpbGVzIG9yIGJhaWwuIFRoaXMgbWVhbnMgdGhhdCB0aGUgcHBtZDcKK2RlY29kZXIga2VlcHMgYSB2YWxpZCBidWZmZXIgYW5kIGp1c3QgcnVucyBvdXQgb2YgZGF0YS4KKworRm91bmQgd2l0aCBhIGNvbWJpbmF0aW9uIG9mIEFGTCwgYWZsLXJiIGFuZCBxc3ltLgorLS0tCisgbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfcmFyLmMgfCA5ICsrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X3Jhci5jIGIvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfcmFyLmMKK2luZGV4IDZmNDE5YzI3Li5hOGNjNWM5NCAxMDA2NDQKKy0tLSBhL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X3Jhci5jCisrKysgYi9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9yYXIuYworQEAgLTI1OCw2ICsyNTgsNyBAQCBzdHJ1Y3QgcmFyCisgICBzdHJ1Y3QgZGF0YV9ibG9ja19vZmZzZXRzICpkYm87CisgICB1bnNpZ25lZCBpbnQgY3Vyc29yOworICAgdW5zaWduZWQgaW50IG5vZGVzOworKyAgY2hhciBmaWxlbmFtZV9tdXN0X21hdGNoOworIAorICAgLyogTFpTUyBtZW1iZXJzICovCisgICBzdHJ1Y3QgaHVmZm1hbl9jb2RlIG1haW5jb2RlOworQEAgLTE1NjAsNiArMTU2MSwxMiBAQCByZWFkX2hlYWRlcihzdHJ1Y3QgYXJjaGl2ZV9yZWFkICphLCBzdHJ1Y3QgYXJjaGl2ZV9lbnRyeSAqZW50cnksCisgICAgIH0KKyAgICAgcmV0dXJuIHJldDsKKyAgIH0KKysgIGVsc2UgaWYgKHJhci0+ZmlsZW5hbWVfbXVzdF9tYXRjaCkKKysgIHsKKysgICAgYXJjaGl2ZV9zZXRfZXJyb3IoJmEtPmFyY2hpdmUsIEFSQ0hJVkVfRVJSTk9fRklMRV9GT1JNQVQsCisrICAgICAgIk1pc21hdGNoIG9mIGZpbGUgcGFydHMgc3BsaXQgYWNyb3NzIG11bHRpLXZvbHVtZSBhcmNoaXZlIik7CisrICAgIHJldHVybiAoQVJDSElWRV9GQVRBTCk7CisrICB9CisgCisgICByYXItPmZpbGVuYW1lX3NhdmUgPSAoY2hhciopcmVhbGxvYyhyYXItPmZpbGVuYW1lX3NhdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZV9zaXplICsgMSk7CitAQCAtMjkzMywxMiArMjk0MCwxNCBAQCByYXJfcmVhZF9haGVhZChzdHJ1Y3QgYXJjaGl2ZV9yZWFkICphLCBzaXplX3QgbWluLCBzc2l6ZV90ICphdmFpbCkKKyAgICAgZWxzZSBpZiAoKmF2YWlsID09IDAgJiYgcmFyLT5tYWluX2ZsYWdzICYgTUhEX1ZPTFVNRSAmJgorICAgICAgIHJhci0+ZmlsZV9mbGFncyAmIEZIRF9TUExJVF9BRlRFUikKKyAgICAgeworKyAgICAgIHJhci0+ZmlsZW5hbWVfbXVzdF9tYXRjaCA9IDE7CisgICAgICAgcmV0ID0gYXJjaGl2ZV9yZWFkX2Zvcm1hdF9yYXJfcmVhZF9oZWFkZXIoYSwgYS0+ZW50cnkpOworICAgICAgIGlmIChyZXQgPT0gKEFSQ0hJVkVfRU9GKSkKKyAgICAgICB7CisgICAgICAgICByYXItPmhhc19lbmRhcmNfaGVhZGVyID0gMTsKKyAgICAgICAgIHJldCA9IGFyY2hpdmVfcmVhZF9mb3JtYXRfcmFyX3JlYWRfaGVhZGVyKGEsIGEtPmVudHJ5KTsKKyAgICAgICB9CisrICAgICAgcmFyLT5maWxlbmFtZV9tdXN0X21hdGNoID0gMDsKKyAgICAgICBpZiAocmV0ICE9IChBUkNISVZFX09LKSkKKyAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgIHJldHVybiByYXJfcmVhZF9haGVhZChhLCBtaW4sIGF2YWlsKTsKKy0tIAorMi4yMC4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOC0xMDAwODc5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4NzkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWYyNTkzMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOC0xMDAwODc5LnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0NWRTogQ1ZFLTIwMTgtMTAwMDg3OQorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSAxNWJmNDRmZDJjMWFkMGUzZmQ4NzA0OGIzZmNjOTBjNGRjZmYxMTc1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGFuaWVsIEF4dGVucyA8ZGphQGF4dGVucy5uZXQ+CitEYXRlOiBUdWUsIDQgRGVjIDIwMTggMTQ6Mjk6NDIgKzExMDAKK1N1YmplY3Q6IFtQQVRDSF0gU2tpcCAwLWxlbmd0aCBBQ0wgZmllbGRzCisKK0N1cnJlbnRseSwgaXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGFuIGFyY2hpdmUgdGhhdCBjcmFzaGVzIGJzZHRhcgord2l0aCBhIG1hbGZvcm1lZCBBQ0w6CisKK1Byb2dyYW0gcmVjZWl2ZWQgc2lnbmFsIFNJR1NFR1YsIFNlZ21lbnRhdGlvbiBmYXVsdC4KK2FyY2hpdmVfYWNsX2Zyb21fdGV4dF9sIChhY2w9PG9wdGltaXNlZCBvdXQ+LCB0ZXh0PTB4N2UyZTkyICIiLCB3YW50X3R5cGU9PG9wdGltaXNlZCBvdXQ+LCBzYz08b3B0aW1pc2VkIG91dD4pIGF0IGxpYmFyY2hpdmUvYXJjaGl2ZV9hY2wuYzoxNzI2CisxNzI2CQkJCXN3aXRjaCAoKnMpIHsKKyhnZGIpIHAgbgorJDEgPSAxCisoZ2RiKSBwIGZpZWxkW25dCiskMiA9IHtzdGFydCA9IDB4MCwgZW5kID0gMHgwfQorCitTdG9wIHRoaXMgYnkgY2hlY2tpbmcgdGhhdCB0aGUgbGVuZ3RoIGlzIG5vdCB6ZXJvIGJlZm9yZSBiZWdpbm5pbmcKK3RoZSBzd2l0Y2ggc3RhdGVtZW50LgorCitJIGFtIHByZXR0eSBzdXJlIHRoaXMgaXMgdGhlIGJ1ZyBtZW50aW9uZWQgaW4gdGhlIHFzeW0gcGFwZXIgWzFdLAorYW5kIEkgd2FzIGFibGUgdG8gcmVwbGljYXRlIGl0IHdpdGggYSBxc3ltICsgQUZMICsgYWZsLXJiIHNldHVwLgorCitbMV0gaHR0cHM6Ly93d3cudXNlbml4Lm9yZy9jb25mZXJlbmNlL3VzZW5peHNlY3VyaXR5MTgvcHJlc2VudGF0aW9uL3l1bgorLS0tCisgbGliYXJjaGl2ZS9hcmNoaXZlX2FjbC5jIHwgNSArKysrKworIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2xpYmFyY2hpdmUvYXJjaGl2ZV9hY2wuYyBiL2xpYmFyY2hpdmUvYXJjaGl2ZV9hY2wuYworaW5kZXggNTEyYmVlZTEuLjdiZWVlZTg2IDEwMDY0NAorLS0tIGEvbGliYXJjaGl2ZS9hcmNoaXZlX2FjbC5jCisrKysgYi9saWJhcmNoaXZlL2FyY2hpdmVfYWNsLmMKK0BAIC0xNzIzLDYgKzE3MjMsMTEgQEAgYXJjaGl2ZV9hY2xfZnJvbV90ZXh0X2woc3RydWN0IGFyY2hpdmVfYWNsICphY2wsIGNvbnN0IGNoYXIgKnRleHQsCisgCQkJc3QgPSBmaWVsZFtuXS5zdGFydCArIDE7CisgCQkJbGVuID0gZmllbGRbbl0uZW5kIC0gZmllbGRbbl0uc3RhcnQ7CisgCisrCQkJaWYgKGxlbiA9PSAwKSB7CisrCQkJCXJldCA9IEFSQ0hJVkVfV0FSTjsKKysJCQkJY29udGludWU7CisrCQkJfQorKworIAkJCXN3aXRjaCAoKnMpIHsKKyAJCQljYXNlICd1JzoKKyAJCQkJaWYgKGxlbiA9PSAxIHx8IChsZW4gPT0gNAorLS0gCisyLjIwLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4ODAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvQ1ZFLTIwMTgtMTAwMDg4MC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzI2NGExCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4ODAucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorQ1ZFOiBDVkUtMjAxOC0xMDAwODgwCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDljODRiNzQyNjY2MGMwOWMxOGNjMzQ5ZjZkNzBiNWY4MTY4YjU2ODAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEYW5pZWwgQXh0ZW5zIDxkamFAYXh0ZW5zLm5ldD4KK0RhdGU6IFR1ZSwgNCBEZWMgMjAxOCAxNjozMzo0MiArMTEwMAorU3ViamVjdDogW1BBVENIXSB3YXJjOiBjb25zdW1lIGRhdGEgb25jZSByZWFkCisKK1RoZSB3YXJjIGRlY29kZXIgb25seSB1c2VkIHJlYWQgYWhlYWQsIGl0IHdvdWxkbid0IGFjdHVhbGx5IGNvbnN1bWUKK2RhdGEgdGhhdCBoYWQgcHJldmlvdXNseSBiZWVuIHByaW50ZWQuIFRoaXMgbWVhbnMgdGhhdCBpZiB5b3Ugc3BlY2lmeQorYW4gaW52YWxpZCBjb250ZW50IGxlbmd0aCwgaXQgd2lsbCBqdXN0IHJlcHJpbnQgdGhlIHNhbWUgZGF0YSBvdmVyCithbmQgb3ZlciBhbmQgb3ZlciBhZ2FpbiB1bnRpbCBpdCBoaXRzIHRoZSBkZXNpcmVkIGxlbmd0aC4KKworVGhpcyBtZWFucyB0aGF0IGEgV0FSQyByZXNvdXJjZSB3aXRoIGUuZy4KK0NvbnRlbnQtTGVuZ3RoOiA2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjUKK2J1dCBvbmx5IGEgZmV3IGh1bmRyZWQgYnl0ZXMgb2YgZGF0YSwgY2F1c2VzIGEgcXVhc2ktaW5maW5pdGUgbG9vcC4KKworQ29uc3VtZSBkYXRhIGluIHN1YnNlcXVlbnQgY2FsbHMgdG8gX3dhcmNfcmVhZC4KKworRm91bmQgd2l0aCBhbiBBRkwgKyBhZmwtcmIgKyBxc3ltIHNldHVwLgorLS0tCisgbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfd2FyYy5jIHwgNSArKysrKworIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X3dhcmMuYyBiL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X3dhcmMuYworaW5kZXggZTg3NTM4NTMuLmU4ZmM4NDI4IDEwMDY0NAorLS0tIGEvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfd2FyYy5jCisrKysgYi9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF93YXJjLmMKK0BAIC0zODYsNiArMzg2LDExIEBAIF93YXJjX3JlYWQoc3RydWN0IGFyY2hpdmVfcmVhZCAqYSwgY29uc3Qgdm9pZCAqKmJ1Ziwgc2l6ZV90ICpic3osIGludDY0X3QgKm9mZikKKyAJCXJldHVybiAoQVJDSElWRV9FT0YpOworIAl9CisgCisrCWlmICh3LT51bmNvbnN1bWVkKSB7CisrCQlfX2FyY2hpdmVfcmVhZF9jb25zdW1lKGEsIHctPnVuY29uc3VtZWQpOworKwkJdy0+dW5jb25zdW1lZCA9IDBVOworKwl9CisrCisgCXJhYiA9IF9fYXJjaGl2ZV9yZWFkX2FoZWFkKGEsIDFVLCAmbnJkKTsKKyAJaWYgKG5yZCA8IDApIHsKKyAJCSpic3ogPSAwVTsKKy0tIAorMi4yMC4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOS0xMDAwMDE5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE5LTEwMDAwMTkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2YzOTg5MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOS0xMDAwMDE5LnBhdGNoCkBAIC0wLDAgKzEsNTkgQEAKK0NWRTogQ1ZFLTIwMTktMTAwMDAxOQorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSA2NWEyM2Y1ZGJlZTQ0OTcwNjRlOWJiNDY3ZjgxMTM4YTYyYjBkYWUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGFuaWVsIEF4dGVucyA8ZGphQGF4dGVucy5uZXQ+CitEYXRlOiBUdWUsIDEgSmFuIDIwMTkgMTY6MDE6NDAgKzExMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIDd6aXA6IGZpeCBjcmFzaCB3aGVuIHBhcnNpbmcgY2VydGFpbiBhcmNoaXZlcworCitGdXp6aW5nIHdpdGggQ1JDcyBkaXNhYmxlZCByZXZlYWxlZCB0aGF0IGEgY2FsbCB0byBnZXRfdW5jb21wcmVzc2VkX2RhdGEoKQord291bGQgc29tZXRpbWVzIGZhaWwgdG8gcmV0dXJuIGF0IGxlYXN0ICdtaW5pbXVtJyBieXRlcy4gVGhpcyBjYW4gY2F1c2UKK3RoZSBjcmMzMigpIGludm9jYXRpb24gaW4gaGVhZGVyX2J5dGVzIHRvIHJlYWQgb2ZmIGludG8gaW52YWxpZCBtZW1vcnkuCisKK0Egc3BlY2lhbGx5IGNyYWZ0ZWQgYXJjaGl2ZSBjYW4gdXNlIHRoaXMgdG8gY2F1c2UgYSBjcmFzaC4KKworQW4gQVNBTiB0cmFjZSBpcyBiZWxvdywgYnV0IEFTQU4gaXMgbm90IHJlcXVpcmVkIC0gYW4gdW5pbnN0cnVtZW50ZWQKK2JpbmFyeSB3aWxsIGFsc28gY3Jhc2guCisKKz09NzcxOT09RVJST1I6IEFkZHJlc3NTYW5pdGl6ZXI6IFNFR1Ygb24gdW5rbm93biBhZGRyZXNzIDB4NjMxMDAwMDQwMDAwIChwYyAweDdmYmRiM2IzZWMxZCBicCAweDdmZmU3N2E1MTMxMCBzcCAweDdmZmU3N2E1MTE1MCBUMCkKKz09NzcxOT09VGhlIHNpZ25hbCBpcyBjYXVzZWQgYnkgYSBSRUFEIG1lbW9yeSBhY2Nlc3MuCisgICAgIzAgMHg3ZmJkYjNiM2VjMWMgaW4gY3JjMzJfeiAoL2xpYi94ODZfNjQtbGludXgtZ251L2xpYnouc28uMSsweDJjMWMpCisgICAgIzEgMHg4NGY1ZWIgaW4gaGVhZGVyX2J5dGVzICgvdG1wL2xpYmFyY2hpdmUvYnNkdGFyKzB4ODRmNWViKQorICAgICMyIDB4ODU2MTU2IGluIHJlYWRfSGVhZGVyICgvdG1wL2xpYmFyY2hpdmUvYnNkdGFyKzB4ODU2MTU2KQorICAgICMzIDB4ODRlMTM0IGluIHNsdXJwX2NlbnRyYWxfZGlyZWN0b3J5ICgvdG1wL2xpYmFyY2hpdmUvYnNkdGFyKzB4ODRlMTM0KQorICAgICM0IDB4ODQ5NjkwIGluIGFyY2hpdmVfcmVhZF9mb3JtYXRfN3ppcF9yZWFkX2hlYWRlciAoL3RtcC9saWJhcmNoaXZlL2JzZHRhcisweDg0OTY5MCkKKyAgICAjNSAweDU3MTNiNyBpbiBfYXJjaGl2ZV9yZWFkX25leHRfaGVhZGVyMiAoL3RtcC9saWJhcmNoaXZlL2JzZHRhcisweDU3MTNiNykKKyAgICAjNiAweDU3MGU2MyBpbiBfYXJjaGl2ZV9yZWFkX25leHRfaGVhZGVyICgvdG1wL2xpYmFyY2hpdmUvYnNkdGFyKzB4NTcwZTYzKQorICAgICM3IDB4NmYwOGJkIGluIGFyY2hpdmVfcmVhZF9uZXh0X2hlYWRlciAoL3RtcC9saWJhcmNoaXZlL2JzZHRhcisweDZmMDhiZCkKKyAgICAjOCAweDUyMzczZiBpbiByZWFkX2FyY2hpdmUgKC90bXAvbGliYXJjaGl2ZS9ic2R0YXIrMHg1MjM3M2YpCisgICAgIzkgMHg1MjU3YmUgaW4gdGFyX21vZGVfeCAoL3RtcC9saWJhcmNoaXZlL2JzZHRhcisweDUyNTdiZSkKKyAgICAjMTAgMHg1MWRhZWIgaW4gbWFpbiAoL3RtcC9saWJhcmNoaXZlL2JzZHRhcisweDUxZGFlYikKKyAgICAjMTEgMHg3ZmJkYjI3Y2FiOTYgaW4gX19saWJjX3N0YXJ0X21haW4gL2J1aWxkL2dsaWJjLU9Uc0VMNS9nbGliYy0yLjI3L2NzdS8uLi9jc3UvbGliYy1zdGFydC5jOjMxMAorICAgICMxMiAweDQxZGQwOSBpbiBfc3RhcnQgKC90bXAvbGliYXJjaGl2ZS9ic2R0YXIrMHg0MWRkMDkpCisKK1RoaXMgd2FzIHByaW1hcmx5IGRvbmUgd2l0aCBhZmwgYW5kIEZhaXJGdXp6LiBTb21lIGVhcmx5IGNvcnB1cyBlbnRyaWVzCittYXkgaGF2ZSBiZWVuIGdlbmVyYXRlZCBieSBxc3ltLgorLS0tCisgbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfN3ppcC5jIHwgOCArLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0Xzd6aXAuYyBiL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0Xzd6aXAuYworaW5kZXggYmNjYmY4OTY2Li5iNmQxNTA1ZDMgMTAwNjQ0CistLS0gYS9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF83emlwLmMKKysrKyBiL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0Xzd6aXAuYworQEAgLTI5NjQsMTMgKzI5NjQsNyBAQCBnZXRfdW5jb21wcmVzc2VkX2RhdGEoc3RydWN0IGFyY2hpdmVfcmVhZCAqYSwgY29uc3Qgdm9pZCAqKmJ1ZmYsIHNpemVfdCBzaXplLAorIAlpZiAoemlwLT5jb2RlYyA9PSBfN1pfQ09QWSAmJiB6aXAtPmNvZGVjMiA9PSAodW5zaWduZWQgbG9uZyktMSkgeworIAkJLyogQ29weSBtb2RlLiAqLworIAorLQkJLyoKKy0JCSAqIE5vdGU6ICcxJyBoZXJlIGlzIGEgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uLgorLQkJICogUmVjYWxsIHRoYXQgdGhlIGRlY29tcHJlc3Npb24gbGF5ZXIgcmV0dXJucyBhIGNvdW50IG9mCistCQkgKiBhdmFpbGFibGUgYnl0ZXM7IGFza2luZyBmb3IgbW9yZSB0aGFuIHRoYXQgZm9yY2VzIHRoZQorLQkJICogZGVjb21wcmVzc29yIHRvIGNvbWJpbmUgcmVhZHMgYnkgY29weWluZyBkYXRhLgorLQkJICovCistCQkqYnVmZiA9IF9fYXJjaGl2ZV9yZWFkX2FoZWFkKGEsIDEsICZieXRlc19hdmFpbCk7CisrCQkqYnVmZiA9IF9fYXJjaGl2ZV9yZWFkX2FoZWFkKGEsIG1pbmltdW0sICZieXRlc19hdmFpbCk7CisgCQlpZiAoYnl0ZXNfYXZhaWwgPD0gMCkgeworIAkJCWFyY2hpdmVfc2V0X2Vycm9yKCZhLT5hcmNoaXZlLAorIAkJCSAgICBBUkNISVZFX0VSUk5PX0ZJTEVfRk9STUFULApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE5LTEwMDAwMjAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvQ1ZFLTIwMTktMTAwMDAyMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNWE3NmZkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE5LTEwMDAwMjAucGF0Y2gKQEAgLTAsMCArMSw2MSBAQAorQ1ZFOiBDVkUtMjAxOS0xMDAwMDIwCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDgzMTJlYWE1NzYwMTRjZDliOTY1MDEyYWY1MWJjMWY5NjdiMTI0MjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEYW5pZWwgQXh0ZW5zIDxkamFAYXh0ZW5zLm5ldD4KK0RhdGU6IFR1ZSwgMSBKYW4gMjAxOSAxNzoxMDo0OSArMTEwMAorU3ViamVjdDogW1BBVENIIDEvMl0gaXNvOTY2MDogRmFpbCB3aGVuIGV4cGVjdGVkIFJvY2tyaWRnZSBleHRlbnNpb25zIGlzCisgbWlzc2luZworCitBIGNvcnJ1cHRlZCBvciBtYWxpY2lvdXMgSVNPOTY2MCBpbWFnZSBjYW4gY2F1c2UgcmVhZF9DRSgpIHRvIGxvb3AKK2ZvcmV2ZXIuCisKK3JlYWRfQ0UoKSBjYWxscyBwYXJzZV9yb2NrcmlkZ2UoKSwgZXhwZWN0aW5nIGEgUm9ja3JpZGdlIGV4dGVuc2lvbgordG8gYmUgcmVhZC4gSG93ZXZlciwgcGFyc2Vfcm9ja3JpZGdlKCkgaXMgc3RydWN0dXJlZCBhcyBhIHdoaWxlCitsb29wIHN0YXJ0aW5nIHdpdGggYSBzYW5pdHkgY2hlY2ssIGFuZCBpZiB0aGUgc2FuaXR5IGNoZWNrIGZhaWxzCitiZWZvcmUgdGhlIGxvb3AgaGFzIHJ1biwgdGhlIGZ1bmN0aW9uIHJldHVybnMgQVJDSElWRV9PSyB3aXRob3V0CithZHZhbmNpbmcgdGhlIHBvc2l0aW9uIGluIHRoZSBmaWxlLiBUaGlzIGNhdXNlcyByZWFkX0NFKCkgdG8gcmV0cnkKK2luZGVmaW5pdGVseS4KKworTWFrZSBwYXJzZV9yb2NrcmlkZ2UoKSByZXR1cm4gQVJDSElWRV9XQVJOIGlmIGl0IGRpZG4ndCByZWFkIGFuCitleHRlbnNpb24uIEFzIHNvbWVvbmUgd2l0aCBubyByZWFsIGtub3dsZWRnZSBvZiB0aGUgZm9ybWF0LCB0aGlzCitzZWVtcyBtb3JlIGFwdCB0aGFuIEFSQ0hJVkVfRkFUQUwsIGJ1dCBib3RoIHRoZSBjYWxsLXNpdGVzIGVzY2FsYXRlCitpdCB0byBhIGZhdGFsIGVycm9yIGltbWVkaWF0ZWx5IGFueXdheS4KKworRm91bmQgd2l0aCBhIGNvbWJpbmF0aW9uIG9mIEFGTCwgYWZsLXJiIChGYWlyRnV6eikgYW5kIHFzeW0uCistLS0KKyBsaWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9pc285NjYwLmMgfCAxMSArKysrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9pc285NjYwLmMgYi9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9pc285NjYwLmMKK2luZGV4IDI4YWNmZWZiYi4uYmFkOGYxZGZlIDEwMDY0NAorLS0tIGEvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfaXNvOTY2MC5jCisrKysgYi9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9pc285NjYwLmMKK0BAIC0yMTAyLDYgKzIxMDIsNyBAQCBwYXJzZV9yb2NrcmlkZ2Uoc3RydWN0IGFyY2hpdmVfcmVhZCAqYSwgc3RydWN0IGZpbGVfaW5mbyAqZmlsZSwKKyAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcCwgY29uc3QgdW5zaWduZWQgY2hhciAqZW5kKQorIHsKKyAJc3RydWN0IGlzbzk2NjAgKmlzbzk2NjA7CisrCWludCBlbnRyeV9zZWVuID0gMDsKKyAKKyAJaXNvOTY2MCA9IChzdHJ1Y3QgaXNvOTY2MCAqKShhLT5mb3JtYXQtPmRhdGEpOworIAorQEAgLTIyNTcsOCArMjI1OCwxNiBAQCBwYXJzZV9yb2NrcmlkZ2Uoc3RydWN0IGFyY2hpdmVfcmVhZCAqYSwgc3RydWN0IGZpbGVfaW5mbyAqZmlsZSwKKyAJCX0KKyAKKyAJCXAgKz0gcFsyXTsKKysJCWVudHJ5X3NlZW4gPSAxOworKwl9CisrCisrCWlmIChlbnRyeV9zZWVuKQorKwkJcmV0dXJuIChBUkNISVZFX09LKTsKKysJZWxzZSB7CisrCQlhcmNoaXZlX3NldF9lcnJvcigmYS0+YXJjaGl2ZSwgQVJDSElWRV9FUlJOT19GSUxFX0ZPUk1BVCwKKysJCQkJICAiVHJpZWQgdG8gcGFyc2UgUm9ja3JpZGdlIGV4dGVuc2lvbnMsIGJ1dCBub25lIGZvdW5kIik7CisrCQlyZXR1cm4gKEFSQ0hJVkVfV0FSTik7CisgCX0KKy0JcmV0dXJuIChBUkNISVZFX09LKTsKKyB9CisgCisgc3RhdGljIGludAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmVfMy4zLjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmVfMy4zLjMuYmIKaW5kZXggNDZhM2Q0My4uYWY1Y2E2NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlXzMuMy4zLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZV8zLjMuMy5iYgpAQCAtMzQsNiArMzQsMTIgQEAKIFNSQ19VUkkgPSAiaHR0cDovL2xpYmFyY2hpdmUub3JnL2Rvd25sb2Fkcy9saWJhcmNoaXZlLSR7UFZ9LnRhci5neiBcCiAgICAgICAgICAgIGZpbGU6Ly9ub24tcmVjdXJzaXZlLWV4dHJhY3QtYW5kLWxpc3QucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vYnVnMTA2Ni5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xMDAwODc3LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTEwMDA4NzgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTAwMDg3OS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xMDAwODgwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTEwMDAwMTkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTktMTAwMDAyMC5wYXRjaCBcCiAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICI0MDM4ZTM2NmNhNWI2NTlkYWUzZWZjYzc0NGU3MjEyMCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnBpcGVsaW5lL2xpYnBpcGVsaW5lXzEuNS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlicGlwZWxpbmUvbGlicGlwZWxpbmVfMS41LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0Y2M5ZTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlicGlwZWxpbmUvbGlicGlwZWxpbmVfMS41LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1TVU1NQVJZID0gInBpcGVsaW5lIG1hbmlwdWxhdGlvbiBsaWJyYXJ5IgotREVTQ1JJUFRJT04gPSAiVGhpcyBpcyBhIEMgbGlicmFyeSBmb3Igc2V0dGluZyB1cCBhbmQgcnVubmluZyBwaXBlbGluZXMgb2YgcHJvY2Vzc2VzLCBcCi13aXRob3V0IG5lZWRpbmcgdG8gaW52b2x2ZSBzaGVsbCBjb21tYW5kLWxpbmUgcGFyc2luZyB3aGljaCBpcyBvZnRlbiBcCi1lcnJvci1wcm9uZSBhbmQgaW5zZWN1cmUuIgotSE9NRVBBR0UgPSAiaHR0cDovL2xpYnBpcGVsaW5lLm5vbmdudS5vcmcvIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgotCi1TUkNfVVJJID0gIiR7U0FWQU5OQUhfR05VX01JUlJPUn0vbGlicGlwZWxpbmUvbGlicGlwZWxpbmUtJHtQVn0udGFyLmd6IgotU1JDX1VSSVttZDVzdW1dID0gImI3NDM3YTUwMjAxOTBjZmE4NGYwOWM0MTJkYjM4OTAyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBkNzJlMTJlNGYyYWZmZjY3ZmQ3YjlkZjBhMjRkN2JhNDJiNWE3YzkyMTFhYzViM2RjY2NjNWNkOGIyODZmMmIiCi0KLWluaGVyaXQgcGtnY29uZmlnIGF1dG90b29scwotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJwaXBlbGluZS9saWJwaXBlbGluZV8xLjUuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnBpcGVsaW5lL2xpYnBpcGVsaW5lXzEuNS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1ODAyMDcKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJwaXBlbGluZS9saWJwaXBlbGluZV8xLjUuMS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gInBpcGVsaW5lIG1hbmlwdWxhdGlvbiBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiVGhpcyBpcyBhIEMgbGlicmFyeSBmb3Igc2V0dGluZyB1cCBhbmQgcnVubmluZyBwaXBlbGluZXMgb2YgcHJvY2Vzc2VzLCBcCit3aXRob3V0IG5lZWRpbmcgdG8gaW52b2x2ZSBzaGVsbCBjb21tYW5kLWxpbmUgcGFyc2luZyB3aGljaCBpcyBvZnRlbiBcCitlcnJvci1wcm9uZSBhbmQgaW5zZWN1cmUuIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpYnBpcGVsaW5lLm5vbmdudS5vcmcvIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitTUkNfVVJJID0gIiR7U0FWQU5OQUhfR05VX01JUlJPUn0vbGlicGlwZWxpbmUvbGlicGlwZWxpbmUtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjRjOGZlNmNkODU0MjJiYWFmZDZlMDYwZjg5NmM2MWJjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ2MzM3MDZiN2Q4NDVmMDhiNDJiYzY2ZGRiZTg0NWQ1N2U3MjZiZjg5Mjk4ZTJjZWUyOWYwOTU3N2UyZjkwMmYiCisKK2luaGVyaXQgcGtnY29uZmlnIGF1dG90b29scworCithY3BhdGhzID0gIi1JICR7U30vZ2wvbTQgLUkgJHtTfS9tNCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdi8wMDAxLUFkZC1mYWxsYmFjay1mb3BlbmNvb2tpZS1pbXBsZW1lbnRhdGlvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdi8wMDAxLUFkZC1mYWxsYmFjay1mb3BlbmNvb2tpZS1pbXBsZW1lbnRhdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTVjYjYwZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMS1BZGQtZmFsbGJhY2stZm9wZW5jb29raWUtaW1wbGVtZW50YXRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTEgKzAsMCBAQAotRnJvbSA0N2M2ZjFiNDMzMmE5ZTQ5MzVjNDhjY2E4MjY3ODZhNmI4ZmU2ZjU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP05lYWw9MjBHb21wYT0yMD0yOD1FMz04Mz04Qj1FMz04Mz1CQz1FMz04Mz1BQj1FMz04Mz1CQj89Ci0gPT9VVEYtOD9xPz1FMz04Mj1CMz1FMz04Mj05OT1FMz04Mz1CMz1FMz04Mz04Rj1FMz04Mj05QT0yOT89Ci0gPG5nb21wYTEzQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgMTEgTm92IDIwMTUgMjA6MzI6MTcgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIEFkZCBmYWxsYmFjayBmb3BlbmNvb2tpZSgpIGltcGxlbWVudGF0aW9uCi0KLUluIGVudmlyb25tZW50cyB3aGVyZSBuZWl0aGVyIGZvcGVuY29va2llKCkgbm9yIGZ1bm9wZW4oKQotYXJlIGltcGxlbWVudGVkLCB3ZSBuZWVkIHRvIHByb3ZpZGUgYSBzdWl0YWJsZSBpbXBsZW1lbnRhdGlvbgotb2YgZm9wZW5jb29raWUoKSB0aGF0IHdlIGNhbiB1c2UuCi0KLUFsZXggS2FuYXZpbjogcmViYXNlZCBDTWFrZUxpc3RzLnR4dCBjaGFuZ2UgdG8gYXBwbHkgdG8gbGF0ZXN0IHVwc3RyZWFtIGNvZGUuCi0KLVVwc3RyZWFtLVN0YXR1czogRGVuaWVkIFtodHRwczovL2dpdGh1Yi5jb20vb3BlblNVU0UvbGlic29sdi9wdWxsLzExMl0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotCi0tLS0KLSBleHQvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICB8ICAgNyArKwotIGV4dC9zb2x2X3hmb3Blbi5jICAgICAgICAgICAgICAgICAgICAgIHwgIDEwICstLQotIGV4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5jIHwgMTIzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIGV4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oIHwgIDI4ICsrKysrKysrCi0gNCBmaWxlcyBjaGFuZ2VkLCAxNjQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmMKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmgKLQotZGlmZiAtLWdpdCBhL2V4dC9DTWFrZUxpc3RzLnR4dCBiL2V4dC9DTWFrZUxpc3RzLnR4dAotaW5kZXggYjg5MTdhMi4uZmFjNmMzMiAxMDA2NDQKLS0tLSBhL2V4dC9DTWFrZUxpc3RzLnR4dAotKysrIGIvZXh0L0NNYWtlTGlzdHMudHh0Ci1AQCAtNCw2ICs0LDEzIEBAIFNFVCAobGlic29sdmV4dF9TUkNTCi0gU0VUIChsaWJzb2x2ZXh0X0hFQURFUlMKLSAgICAgdG9vbHNfdXRpbC5oIHNvbHZfeGZvcGVuLmggdGVzdGNhc2UuaCkKLSAKLStJRiAoTk9UIEhBVkVfRk9QRU5DT09LSUUgQU5EIE5PVCBIQVZFX0ZVTk9QRU4pCi0rICAgIFNFVCAobGlic29sdmV4dF9TUkNTICR7bGlic29sdmV4dF9TUkNTfQotKyAgICAgICAgc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuYykKLSsgICAgU0VUIChsaWJzb2x2ZXh0X0hFQURFUlMgJHtsaWJzb2x2ZXh0X0hFQURFUlN9Ci0rICAgICAgICBzb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oKQotK0VORElGIChOT1QgSEFWRV9GT1BFTkNPT0tJRSBBTkQgTk9UIEhBVkVfRlVOT1BFTikKLSsKLSBJRiAoRU5BQkxFX1JQTURCIE9SIEVOQUJMRV9SUE1QS0cpCi0gICAgIFNFVCAobGlic29sdmV4dF9TUkNTICR7bGlic29sdmV4dF9TUkNTfQotICAgICAgICAgcG9vbF9maWxlY29uZmxpY3RzLmMgcmVwb19ycG1kYi5jKQotZGlmZiAtLWdpdCBhL2V4dC9zb2x2X3hmb3Blbi5jIGIvZXh0L3NvbHZfeGZvcGVuLmMKLWluZGV4IDJjNjRiYjYuLmViM2EzYWQgMTAwNjQ0Ci0tLS0gYS9leHQvc29sdl94Zm9wZW4uYwotKysrIGIvZXh0L3NvbHZfeGZvcGVuLmMKLUBAIC0xMiw2ICsxMiwxMCBAQAotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLSAKLSsjaWYgIWRlZmluZWQoSEFWRV9GVU5PUEVOKSAmJiAhZGVmaW5lZChIQVZFX0ZPUEVOQ09PS0lFKQotKyNpbmNsdWRlICJzb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oIgotKyNlbmRpZgotKwotICNpbmNsdWRlICJzb2x2X3hmb3Blbi5oIgotICNpbmNsdWRlICJ1dGlsLmgiCi0gCi1AQCAtMjEsNyArMjUsNyBAQCBzdGF0aWMgRklMRSAqY29va2llb3Blbih2b2lkICpjb29raWUsIGNvbnN0IGNoYXIgKm1vZGUsCi0gCXNzaXplX3QgKCpjd3JpdGUpKHZvaWQgKiwgY29uc3QgY2hhciAqLCBzaXplX3QpLAotIAlpbnQgKCpjY2xvc2UpKHZvaWQgKikpCi0gewotLSNpZmRlZiBIQVZFX0ZVTk9QRU4KLSsjaWYgZGVmaW5lZChIQVZFX0ZVTk9QRU4pICYmICFkZWZpbmVkKEhBVkVfRk9QRU5DT09LSUUpCi0gICBpZiAoIWNvb2tpZSkKLSAgICAgcmV0dXJuIDA7Ci0gICByZXR1cm4gZnVub3Blbihjb29raWUsCi1AQCAtMzAsNyArMzQsNyBAQCBzdGF0aWMgRklMRSAqY29va2llb3Blbih2b2lkICpjb29raWUsIGNvbnN0IGNoYXIgKm1vZGUsCi0gICAgICAgKGZwb3NfdCAoKikodm9pZCAqLCBmcG9zX3QsIGludCkpTlVMTCwJCQkJCS8qIHNlZWtmbiAqLwotICAgICAgIGNjbG9zZQotICAgICAgICk7Ci0tI2VsaWYgZGVmaW5lZChIQVZFX0ZPUEVOQ09PS0lFKQotKyNlbHNlCi0gICBjb29raWVfaW9fZnVuY3Rpb25zX3QgY2lvOwotIAotICAgaWYgKCFjb29raWUpCi1AQCAtNDIsOCArNDYsNiBAQCBzdGF0aWMgRklMRSAqY29va2llb3Blbih2b2lkICpjb29raWUsIGNvbnN0IGNoYXIgKm1vZGUsCi0gICAgIGNpby53cml0ZSA9IGN3cml0ZTsKLSAgIGNpby5jbG9zZSA9IGNjbG9zZTsKLSAgIHJldHVybiAgZm9wZW5jb29raWUoY29va2llLCAqbW9kZSA9PSAndycgPyAidyIgOiAiciIsIGNpbyk7Ci0tI2Vsc2UKLS0jIGVycm9yIE5lZWQgdG8gaW1wbGVtZW50IGN1c3RvbSBJL08KLSAjZW5kaWYKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmMgYi9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuYwotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjBjZTI1NzEKLS0tLSAvZGV2L251bGwKLSsrKyBiL2V4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5jCi1AQCAtMCwwICsxLDEyMyBAQAotKy8qIAotKyAqCVByb3ZpZGVzIGEgdmVyeSBsaW1pdGVkIGZvcGVuY29va2llKCkgZm9yIGVudmlyb25tZW50cyB3aXRoIGEgbGliYwotKyAqCXRoYXQgbGFja3MgaXQuCi0rICoJCi0rICoJQXV0aG9yOiB6aGFzaGEKLSsgKglNb2RpZmllZCBmb3IgbGlic29sdiBieSBOZWFsIEdvbXBhCi0rICoJCi0rICoJVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0QgbGljZW5zZSwgcmVhZCBMSUNFTlNFLkJTRAotKyAqCWZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLgotKyAqCi0rICovCi0rCi0rI2RlZmluZSBfTEFSR0VGSUxFNjRfU09VUkNFIDEKLSsjaW5jbHVkZSA8cHRocmVhZC5oPgotKyNpbmNsdWRlIDxzdGRpby5oPgotKyNpbmNsdWRlIDxzdGRsaWIuaD4KLSsjaW5jbHVkZSA8dW5pc3RkLmg+Ci0rI2luY2x1ZGUgPGZjbnRsLmg+Ci0rI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotKyNpbmNsdWRlIDxlcnJuby5oPgotKyNpbmNsdWRlICJzb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oIgotKwotK2V4dGVybiBpbnQgcGlwZTIoaW50WzJdLCBpbnQpOwotKwotK3N0cnVjdCBjdHggewotKyAgICBpbnQgZmQ7Ci0rICAgIHZvaWQgKmNvb2tpZTsKLSsgICAgc3RydWN0IGNvb2tpZV9pb19mdW5jdGlvbnNfdCBpbzsKLSsgICAgY2hhciBidWZbMTAyNF07Ci0rfTsKLSsKLStzdGF0aWMgdm9pZCAqcHJveHkodm9pZCAqYXJnKQotK3sKLSsgICAgc3RydWN0IGN0eCAqY3R4ID0gYXJnOwotKyAgICBzc2l6ZV90IHI7Ci0rICAgIHNpemVfdCBuOwotKwotKyAgICBwdGhyZWFkX2RldGFjaChwdGhyZWFkX3NlbGYoKSk7Ci0rCi0rICAgIHdoaWxlICgxKSB7Ci0rICAgICAgICByID0gY3R4LT5pby5yZWFkID8KLSsgICAgICAgICAgICAoY3R4LT5pby5yZWFkKShjdHgtPmNvb2tpZSwgY3R4LT5idWYsIHNpemVvZihjdHgtPmJ1ZikpIDoKLSsgICAgICAgICAgICByZWFkKGN0eC0+ZmQsIGN0eC0+YnVmLCBzaXplb2YoY3R4LT5idWYpKTsKLSsgICAgICAgIGlmIChyIDwgMCkgewotKyAgICAgICAgICAgIGlmIChlcnJubyAhPSBFSU5UUikgeyBicmVhazsgfQotKyAgICAgICAgICAgIGNvbnRpbnVlOwotKyAgICAgICAgfQotKyAgICAgICAgaWYgKHIgPT0gMCkgeyBicmVhazsgfQotKwotKyAgICAgICAgd2hpbGUgKG4gPiAwKSB7Ci0rICAgICAgICAgICAgciA9IGN0eC0+aW8ud3JpdGUgPwotKyAgICAgICAgICAgICAgICAoY3R4LT5pby53cml0ZSkoY3R4LT5jb29raWUsIGN0eC0+YnVmICsgKChzaXplX3QpciAtIG4pLCBuKSA6Ci0rICAgICAgICAgICAgICAgIHdyaXRlKGN0eC0+ZmQsIGN0eC0+YnVmICsgKChzaXplX3QpciAtIG4pLCBuKTsKLSsgICAgICAgICAgICBpZiAociA8IDApIHsKLSsgICAgICAgICAgICAgICAgaWYgKGVycm5vICE9IEVJTlRSKSB7IGJyZWFrOyB9Ci0rICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICBpZiAociA9PSAwKSB7IGJyZWFrOyB9Ci0rCi0rICAgICAgICAgICAgbiAtPSAoc2l6ZV90KXI7Ci0rICAgICAgICB9Ci0rICAgICAgICBpZiAobiA+IDApIHsgYnJlYWs7IH0KLSsgICAgfQotKwotKyAgICBpZiAoY3R4LT5pby5jbG9zZSkgeyAoY3R4LT5pby5jbG9zZSkoY3R4LT5jb29raWUpOyB9Ci0rICAgIGNsb3NlKGN0eC0+ZmQpOwotKyAgICByZXR1cm4gTlVMTDsKLSt9Ci0rCi0rRklMRSAqZm9wZW5jb29raWUodm9pZCAqY29va2llLCBjb25zdCBjaGFyICptb2RlLCBzdHJ1Y3QgY29va2llX2lvX2Z1bmN0aW9uc190IGlvKQotK3sKLSsgICAgc3RydWN0IGN0eCAqY3R4ID0gTlVMTDsKLSsgICAgaW50IHJkID0gMCwgd3IgPSAwOwotKyAgICBpbnQgcFsyXSA9IHsgLTEsIC0xIH07Ci0rICAgIEZJTEUgKmYgPSBOVUxMOwotKyAgICBwdGhyZWFkX3QgZHVtbXk7Ci0rCi0rICAgIHN3aXRjaCAobW9kZVswXSkgewotKyAgICAgICAgY2FzZSAnYSc6Ci0rICAgICAgICBjYXNlICdyJzogcmQgPSAxOyBicmVhazsKLSsgICAgICAgIGNhc2UgJ3cnOiB3ciA9IDE7IGJyZWFrOwotKyAgICAgICAgZGVmYXVsdDoKLSsgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSsgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSsgICAgfQotKyAgICBzd2l0Y2ggKG1vZGVbMV0pIHsKLSsgICAgICAgIGNhc2UgJ1wwJzogYnJlYWs7Ci0rICAgICAgICBjYXNlICcrJzoKLSsgICAgICAgICAgICBpZiAobW9kZVsyXSA9PSAnXDAnKSB7Ci0rICAgICAgICAgICAgICAgIGVycm5vID0gRU5PVFNVUDsKLSsgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgZGVmYXVsdDoKLSsgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSsgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSsgICAgfQotKyAgICBpZiAoaW8uc2VlaykgewotKyAgICAgICAgZXJybm8gPSBFTk9UU1VQOwotKyAgICAgICAgcmV0dXJuIE5VTEw7Ci0rICAgIH0KLSsKLSsgICAgY3R4ID0gbWFsbG9jKHNpemVvZigqY3R4KSk7Ci0rICAgIGlmICghY3R4KSB7IHJldHVybiBOVUxMOyB9Ci0rICAgIGlmIChwaXBlMihwLCBPX0NMT0VYRUMpICE9IDApIHsgZ290byBlcnI7IH0KLSsgICAgaWYgKChmID0gZmRvcGVuKHBbd3JdLCBtb2RlKSkgPT0gTlVMTCkgeyBnb3RvIGVycjsgfQotKyAgICBwW3dyXSA9IC0xOwotKyAgICBjdHgtPmZkID0gcFtyZF07Ci0rICAgIGN0eC0+Y29va2llID0gY29va2llOwotKyAgICBjdHgtPmlvLnJlYWQgPSByZCA/IGlvLnJlYWQgOiBOVUxMOwotKyAgICBjdHgtPmlvLndyaXRlID0gd3IgPyBpby53cml0ZSA6IE5VTEw7Ci0rICAgIGN0eC0+aW8uc2VlayA9IE5VTEw7Ci0rICAgIGN0eC0+aW8uY2xvc2UgPSBpby5jbG9zZTsKLSsgICAgaWYgKHB0aHJlYWRfY3JlYXRlKCZkdW1teSwgTlVMTCwgcHJveHksIGN0eCkgIT0gMCkgeyBnb3RvIGVycjsgfQotKwotKyAgICByZXR1cm4gZjsKLSsKLStlcnI6Ci0rICAgIGlmIChwWzBdID49IDApIHsgY2xvc2UocFswXSk7IH0KLSsgICAgaWYgKHBbMV0gPj0gMCkgeyBjbG9zZShwWzFdKTsgfQotKyAgICBpZiAoZikgeyBmY2xvc2UoZik7IH0KLSsgICAgZnJlZShjdHgpOwotKyAgICByZXR1cm4gTlVMTDsKLSt9Ci1kaWZmIC0tZ2l0IGEvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmggYi9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuaAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjZhN2JmZWUKLS0tLSAvZGV2L251bGwKLSsrKyBiL2V4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oCi1AQCAtMCwwICsxLDI4IEBACi0rLyogCi0rICoJUHJvdmlkZXMgYSB2ZXJ5IGxpbWl0ZWQgZm9wZW5jb29raWUoKSBmb3IgZW52aXJvbm1lbnRzIHdpdGggYSBsaWJjCi0rICoJdGhhdCBsYWNrcyBpdC4KLSsgKgkKLSsgKglBdXRob3I6IHpoYXNoYQotKyAqCU1vZGlmaWVkIGZvciBsaWJzb2x2IGJ5IE5lYWwgR29tcGEKLSsgKgkKLSsgKglUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRCBsaWNlbnNlLCByZWFkIExJQ0VOU0UuQlNECi0rICoJZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24uCi0rICoJCi0rICovCi0rCi0rI2lmbmRlZiBTT0xWX1hGT1BFTl9GQUxMQkFDS19GT1BFTkNPT0tJRV9ICi0rI2RlZmluZSBTT0xWX1hGT1BFTl9GQUxMQkFDS19GT1BFTkNPT0tJRV9ICi0rCi0rI2luY2x1ZGUgPHN0ZGlvLmg+Ci0rI2luY2x1ZGUgPHN0ZGludC5oPgotKwotK3R5cGVkZWYgc3RydWN0IGNvb2tpZV9pb19mdW5jdGlvbnNfdCB7Ci0rICAgIHNzaXplX3QgKCpyZWFkKSh2b2lkICosIGNoYXIgKiwgc2l6ZV90KTsKLSsgICAgc3NpemVfdCAoKndyaXRlKSh2b2lkICosIGNvbnN0IGNoYXIgKiwgc2l6ZV90KTsKLSsgICAgaW50ICgqc2Vlaykodm9pZCAqLCBvZmY2NF90LCBpbnQpOwotKyAgICBpbnQgKCpjbG9zZSkodm9pZCAqKTsKLSt9IGNvb2tpZV9pb19mdW5jdGlvbnNfdDsKLSsKLStGSUxFICpmb3BlbmNvb2tpZSh2b2lkICpjb29raWUsIGNvbnN0IGNoYXIgKm1vZGUsIHN0cnVjdCBjb29raWVfaW9fZnVuY3Rpb25zX3QgaW8pOwotKwotKyNlbmRpZgotLS0gCi0yLjQuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMS1idWlsZC11c2UtR05VSW5zdGFsbERpcnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMS1idWlsZC11c2UtR05VSW5zdGFsbERpcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzVlZjE1MAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdi8wMDAxLWJ1aWxkLXVzZS1HTlVJbnN0YWxsRGlycy5wYXRjaApAQCAtMCwwICsxLDE4OCBAQAorQmFja3BvcnQgYSBwYXRjaCBmcm9tIHVwc3RyZWFtIHRvIHVzZSBHTlVJbnN0YWxsRGlycyBpbnN0ZWFkIG9mCitoYW5kLWNvZGVkIHBhdGggbG9naWMsIHNvIHdlIGhhdmUgcHJvcGVyIGNvbnRyb2wgb3ZlciB3aGVyZSBmaWxlcyBlbmQgdXAuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gYjZjOWRmNGM2ODY5NzVjZTUwMDlkMDlkYWM3MDZhNGU4M2YwMmEzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IElnb3IgR25hdGVua28gPGkuZ25hdGVua28uYnJhaW5AZ21haWwuY29tPgorRGF0ZTogTW9uLCAyIEp1bCAyMDE4IDEyOjU2OjQxICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkOiB1c2UgR05VSW5zdGFsbERpcnMKKworRml4ZXM6ICMxMjgKK1NpZ25lZC1vZmYtYnk6IElnb3IgR25hdGVua28gPGkuZ25hdGVua28uYnJhaW5AZ21haWwuY29tPgorLS0tCisgQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICB8IDM0ICsrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBSRUFETUUgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBkb2MvQ01ha2VMaXN0cy50eHQgICAgICAgICAgIHwgIDQgKystLQorIGV4YW1wbGVzL3NvbHYvQ01ha2VMaXN0cy50eHQgfCAgMiArLQorIGV4dC9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgfCAgOCArKysrLS0tLQorIGxpYnNvbHYucGMuaW4gICAgICAgICAgICAgICAgfCAgNCArKy0tCisgbGlic29sdmV4dC5wYy5pbiAgICAgICAgICAgICB8ICA0ICsrLS0KKyBzcmMvQ01ha2VMaXN0cy50eHQgICAgICAgICAgIHwgIDggKysrKy0tLS0KKyB0b29scy9DTWFrZUxpc3RzLnR4dCAgICAgICAgIHwgIDMgKy0tCisgOSBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDFkZWVmNTdkLi43ZTlmZmE5YiAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTEsNiArMSw2IEBACisgUFJPSkVDVCAobGlic29sdikKKyAKKy1DTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNCkKKytDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuOC41KQorIAorIE9QVElPTiAoRU5BQkxFX1NUQVRJQyAiQnVpbGQgYSBzdGF0aWMgdmVyc2lvbiBvZiB0aGUgbGlicmFyaWVzPyIgT0ZGKQorIE9QVElPTiAoRElTQUJMRV9TSEFSRUQgIkRvIG5vdCBidWlsZCBhIHNoYXJlZCB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJpZXM/IiBPRkYpCitAQCAtMzgsMzQgKzM4LDE0IEBAIE9QVElPTiAoRU5BQkxFX1pDSFVOS19DT01QUkVTU0lPTiAiQnVpbGQgd2l0aCB6Y2h1bmsgY29tcHJlc3Npb24gc3VwcG9ydD8iIE9GRikKKyBPUFRJT04gKFdJVEhfU1lTVEVNX1pDSFVOSyAiVXNlIHN5c3RlbSB6Y2h1bmsgbGlicmFyeT8iIE9GRikKKyBPUFRJT04gKFdJVEhfTElCWE1MMiAgIkJ1aWxkIHdpdGggbGlieG1sMiBpbnN0ZWFkIG9mIGxpYmV4cGF0PyIgT0ZGKQorIAorLSMgTGlicmFyeQorLUlGIChERUZJTkVEIExJQikKKy0gIFNFVCAoTElCX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS8ke0xJQn0iKQorLUVMU0UgKERFRklORUQgIExJQikKKy0gIElGIChDTUFLRV9TSVpFT0ZfVk9JRF9QIE1BVENIRVMgIjgiKQorLSAgICBTRVQgKExJQl9TVUZGSVggIjY0IikKKy0gIEVORElGIChDTUFLRV9TSVpFT0ZfVk9JRF9QIE1BVENIRVMgIjgiKQorLSAgU0VUIChMSUJfSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L2xpYiR7TElCX1NVRkZJWH0iKQorLUVORElGIChERUZJTkVEICBMSUIpCistTUVTU0FHRSAoU1RBVFVTICJMaWJyYXJpZXMgd2lsbCBiZSBpbnN0YWxsZWQgaW4gJHtMSUJfSU5TVEFMTF9ESVJ9IikKKy0jIExpYnJhcnkKKy1JRiAoREVGSU5FRCBJTkNMVURFKQorLSAgU0VUIChJTkNMVURFX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS8ke0lOQ0xVREV9IikKKy1lbHNlIChERUZJTkVEIElOQ0xVREUpCistICBTRVQgKElOQ0xVREVfSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L2luY2x1ZGUiKQorLUVORElGIChERUZJTkVEICBJTkNMVURFKQorLU1FU1NBR0UgKFNUQVRVUyAiSGVhZGVyIGZpbGVzIHdpbGwgYmUgaW5zdGFsbGVkIGluICR7SU5DTFVERV9JTlNUQUxMX0RJUn0iKQorLVNFVCAoQklOX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9iaW4iKQorLUlGIChOT1QgTUFOX0lOU1RBTExfRElSKQorLVNFVCAoTUFOX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9zaGFyZS9tYW4iKQorLUlGIChJU19ESVJFQ1RPUlkgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L21hbiIgIEFORCBOT1QgSVNfRElSRUNUT1JZICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9zaGFyZS9tYW4iKQorLSAgU0VUIChNQU5fSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L21hbiIpCistRU5ESUYgKElTX0RJUkVDVE9SWSAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbWFuIiAgQU5EIE5PVCBJU19ESVJFQ1RPUlkgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L3NoYXJlL21hbiIpCistRU5ESUYgKE5PVCBNQU5fSU5TVEFMTF9ESVIpCistTUVTU0FHRShTVEFUVVMgIk1hbiBwYWdlcyB3aWxsIGJlIGluc3RhbGxlZCBpbiAke01BTl9JTlNUQUxMX0RJUn0iKQorK2luY2x1ZGUgKEdOVUluc3RhbGxEaXJzKQorK21lc3NhZ2UgKFNUQVRVUyAiTGlicmFyaWVzIHdpbGwgYmUgaW5zdGFsbGVkIGluICR7Q01BS0VfSU5TVEFMTF9GVUxMX0xJQkRJUn0iKQorK21lc3NhZ2UgKFNUQVRVUyAiSGVhZGVyIGZpbGVzIHdpbGwgYmUgaW5zdGFsbGVkIGluICR7Q01BS0VfSU5TVEFMTF9GVUxMX0lOQ0xVREVESVJ9IikKKyttZXNzYWdlIChTVEFUVVMgIkJpbmFyaWVzIHdpbGwgYmUgaW5zdGFsbGVkIGluICR7Q01BS0VfSU5TVEFMTF9GVUxMX0JJTkRJUn0iKQorK21lc3NhZ2UgKFNUQVRVUyAiTWFuIHBhZ2VzIHdpbGwgYmUgaW5zdGFsbGVkIGluICR7Q01BS0VfSU5TVEFMTF9GVUxMX01BTkRJUn0iKQorIAorIElGIChOT1QgUEtHQ09ORklHX0lOU1RBTExfRElSKQorLSAgU0VUIChQS0dDT05GSUdfSU5TVEFMTF9ESVIgJHtMSUJfSU5TVEFMTF9ESVJ9L3BrZ2NvbmZpZykKKysgIFNFVCAoUEtHQ09ORklHX0lOU1RBTExfRElSICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9L3BrZ2NvbmZpZykKKyBFTkRJRiAoTk9UIFBLR0NPTkZJR19JTlNUQUxMX0RJUikKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMgQ09ORklHVVJBVElPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCitkaWZmIC0tZ2l0IGEvZG9jL0NNYWtlTGlzdHMudHh0IGIvZG9jL0NNYWtlTGlzdHMudHh0CitpbmRleCA2NjAxMWI0OC4uZWQzODI3NGUgMTAwNjQ0CistLS0gYS9kb2MvQ01ha2VMaXN0cy50eHQKKysrKyBiL2RvYy9DTWFrZUxpc3RzLnR4dAorQEAgLTQ4LDggKzQ4LDggQEAgU1RSSU5HKFJFR0VYIFJFUExBQ0UgIihbXjtdKykiICJnZW4vXFwxIiBsaWJzb2x2X01BTlBBR0VTMyAiJHtsaWJzb2x2X01BTlBBR0VTM30KKyAKKyBJTlNUQUxMKEZJTEVTCisgICAgICR7bGlic29sdl9NQU5QQUdFUzN9CistICAgIERFU1RJTkFUSU9OICIke01BTl9JTlNUQUxMX0RJUn0vbWFuMyIpCisrICAgIERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfTUFORElSfS9tYW4zIikKKyAKKyBJTlNUQUxMKEZJTEVTCisgICAgICR7bGlic29sdl9NQU5QQUdFUzF9CistICAgIERFU1RJTkFUSU9OICIke01BTl9JTlNUQUxMX0RJUn0vbWFuMSIpCisrICAgIERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfTUFORElSfS9tYW4xIikKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9zb2x2L0NNYWtlTGlzdHMudHh0IGIvZXhhbXBsZXMvc29sdi9DTWFrZUxpc3RzLnR4dAoraW5kZXggNDFmNDVmNzQuLjBmM2JkNDc3IDEwMDY0NAorLS0tIGEvZXhhbXBsZXMvc29sdi9DTWFrZUxpc3RzLnR4dAorKysrIGIvZXhhbXBsZXMvc29sdi9DTWFrZUxpc3RzLnR4dAorQEAgLTI1LDUgKzI1LDUgQEAgVEFSR0VUX0xJTktfTElCUkFSSUVTIChzb2x2IGxpYnNvbHZleHQgbGlic29sdiAke1NZU1RFTV9MSUJSQVJJRVN9KQorIAorIElOU1RBTEwoVEFSR0VUUworICAgICBzb2x2CistICAgIERFU1RJTkFUSU9OICR7QklOX0lOU1RBTExfRElSfSkKKysgICAgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0JJTkRJUn0pCisgCitkaWZmIC0tZ2l0IGEvZXh0L0NNYWtlTGlzdHMudHh0IGIvZXh0L0NNYWtlTGlzdHMudHh0CitpbmRleCBlZGMyYjlmOS4uNmRkMjhiMWEgMTAwNjQ0CistLS0gYS9leHQvQ01ha2VMaXN0cy50eHQKKysrKyBiL2V4dC9DTWFrZUxpc3RzLnR4dAorQEAgLTE0NSwxNCArMTQ1LDE0IEBAIEVORElGIChESVNBQkxFX1NIQVJFRCkKKyAKKyBTRVRfVEFSR0VUX1BST1BFUlRJRVMobGlic29sdmV4dCBQUk9QRVJUSUVTIE9VVFBVVF9OQU1FICJzb2x2ZXh0IikKKyBTRVRfVEFSR0VUX1BST1BFUlRJRVMobGlic29sdmV4dCBQUk9QRVJUSUVTIFNPVkVSU0lPTiAke0xJQlNPTFZFWFRfU09WRVJTSU9OfSkKKy1TRVRfVEFSR0VUX1BST1BFUlRJRVMobGlic29sdmV4dCBQUk9QRVJUSUVTIElOU1RBTExfTkFNRV9ESVIgJHtMSUJfSU5TVEFMTF9ESVJ9KQorK1NFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJzb2x2ZXh0IFBST1BFUlRJRVMgSU5TVEFMTF9OQU1FX0RJUiAke0NNQUtFX0lOU1RBTExfTElCRElSfSkKKyAKKy1JTlNUQUxMIChGSUxFUyAke2xpYnNvbHZleHRfSEVBREVSU30gREVTVElOQVRJT04gIiR7SU5DTFVERV9JTlNUQUxMX0RJUn0vc29sdiIpCistSU5TVEFMTCAoVEFSR0VUUyBsaWJzb2x2ZXh0IExJQlJBUlkgREVTVElOQVRJT04gJHtMSUJfSU5TVEFMTF9ESVJ9IEFSQ0hJVkUgREVTVElOQVRJT04gJHtMSUJfSU5TVEFMTF9ESVJ9IFJVTlRJTUUgREVTVElOQVRJT04gYmluKQorK0lOU1RBTEwgKEZJTEVTICR7bGlic29sdmV4dF9IRUFERVJTfSBERVNUSU5BVElPTiAiJHtDTUFLRV9JTlNUQUxMX0lOQ0xVREVESVJ9L3NvbHYiKQorK0lOU1RBTEwgKFRBUkdFVFMgbGlic29sdmV4dCBMSUJSQVJZIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9IEFSQ0hJVkUgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0gUlVOVElNRSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfQklORElSfSkKKyAKKyBJRiAoRU5BQkxFX1NUQVRJQyBBTkQgTk9UIERJU0FCTEVfU0hBUkVEKQorIEFERF9MSUJSQVJZIChsaWJzb2x2ZXh0X3N0YXRpYyBTVEFUSUMgJHtsaWJzb2x2ZXh0X1NSQ1N9KQorIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJzb2x2ZXh0X3N0YXRpYyBQUk9QRVJUSUVTIE9VVFBVVF9OQU1FICJzb2x2ZXh0IikKKyBTRVRfVEFSR0VUX1BST1BFUlRJRVMobGlic29sdmV4dF9zdGF0aWMgUFJPUEVSVElFUyBTT1ZFUlNJT04gJHtMSUJTT0xWRVhUX1NPVkVSU0lPTn0pCistSU5TVEFMTCAoVEFSR0VUUyBsaWJzb2x2ZXh0X3N0YXRpYyBMSUJSQVJZIERFU1RJTkFUSU9OICR7TElCX0lOU1RBTExfRElSfSBBUkNISVZFIERFU1RJTkFUSU9OICR7TElCX0lOU1RBTExfRElSfSkKKytJTlNUQUxMIChUQVJHRVRTIGxpYnNvbHZleHRfc3RhdGljIExJQlJBUlkgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0gQVJDSElWRSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfSkKKyBFTkRJRiAoRU5BQkxFX1NUQVRJQyBBTkQgTk9UIERJU0FCTEVfU0hBUkVEKQorZGlmZiAtLWdpdCBhL2xpYnNvbHYucGMuaW4gYi9saWJzb2x2LnBjLmluCitpbmRleCA0MGE4NjIzMC4uNzY2MTQ2YzUgMTAwNjQ0CistLS0gYS9saWJzb2x2LnBjLmluCisrKysgYi9saWJzb2x2LnBjLmluCitAQCAtMSw1ICsxLDUgQEAKKy1saWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKKy1pbmNsdWRlZGlyPUBJTkNMVURFX0lOU1RBTExfRElSQAorK2xpYmRpcj1AQ01BS0VfSU5TVEFMTF9GVUxMX0xJQkRJUkAKKytpbmNsdWRlZGlyPUBDTUFLRV9JTlNUQUxMX0ZVTExfSU5DTFVERURJUkAKKyAKKyBOYW1lOiBsaWJzb2x2CisgRGVzY3JpcHRpb246IExpYnJhcnkgZm9yIHNvbHZpbmcgcGFja2FnZXMKK2RpZmYgLS1naXQgYS9saWJzb2x2ZXh0LnBjLmluIGIvbGlic29sdmV4dC5wYy5pbgoraW5kZXggZDQ4YjZmYWIuLmQwMDc4NDYxIDEwMDY0NAorLS0tIGEvbGlic29sdmV4dC5wYy5pbgorKysrIGIvbGlic29sdmV4dC5wYy5pbgorQEAgLTEsNSArMSw1IEBACistbGliZGlyPUBMSUJfSU5TVEFMTF9ESVJACistaW5jbHVkZWRpcj1ASU5DTFVERV9JTlNUQUxMX0RJUkAKKytsaWJkaXI9QENNQUtFX0lOU1RBTExfRlVMTF9MSUJESVJACisraW5jbHVkZWRpcj1AQ01BS0VfSU5TVEFMTF9GVUxMX0lOQ0xVREVESVJACisgCisgTmFtZTogbGlic29sdmV4dAorIERlc2NyaXB0aW9uOiBMaWJyYXJ5IGZvciByZWFkaW5nIHJlcG9zaXRvcmllcworZGlmZiAtLWdpdCBhL3NyYy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9DTWFrZUxpc3RzLnR4dAoraW5kZXggMmUzMjk2OGUuLjAzZWE5MTE5IDEwMDY0NAorLS0tIGEvc3JjL0NNYWtlTGlzdHMudHh0CisrKysgYi9zcmMvQ01ha2VMaXN0cy50eHQKK0BAIC00MiwxNCArNDIsMTQgQEAgRU5ESUYgKERJU0FCTEVfU0hBUkVEKQorIAorIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJzb2x2IFBST1BFUlRJRVMgT1VUUFVUX05BTUUgInNvbHYiKQorIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJzb2x2IFBST1BFUlRJRVMgU09WRVJTSU9OICR7TElCU09MVl9TT1ZFUlNJT059KQorLVNFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJzb2x2IFBST1BFUlRJRVMgSU5TVEFMTF9OQU1FX0RJUiAke0xJQl9JTlNUQUxMX0RJUn0pCisrU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGxpYnNvbHYgUFJPUEVSVElFUyBJTlNUQUxMX05BTUVfRElSICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9KQorIAorLUlOU1RBTEwgKEZJTEVTICR7bGlic29sdl9IRUFERVJTfSBERVNUSU5BVElPTiAiJHtJTkNMVURFX0lOU1RBTExfRElSfS9zb2x2IikKKy1JTlNUQUxMIChUQVJHRVRTIGxpYnNvbHYgTElCUkFSWSBERVNUSU5BVElPTiAke0xJQl9JTlNUQUxMX0RJUn0gQVJDSElWRSBERVNUSU5BVElPTiAke0xJQl9JTlNUQUxMX0RJUn0gUlVOVElNRSBERVNUSU5BVElPTiBiaW4pCisrSU5TVEFMTCAoRklMRVMgJHtsaWJzb2x2X0hFQURFUlN9IERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfSU5DTFVERURJUn0vc29sdiIpCisrSU5TVEFMTCAoVEFSR0VUUyBsaWJzb2x2IExJQlJBUlkgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0gQVJDSElWRSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfSBSVU5USU1FIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9CSU5ESVJ9KQorIAorIElGIChFTkFCTEVfU1RBVElDIEFORCBOT1QgRElTQUJMRV9TSEFSRUQpCisgQUREX0xJQlJBUlkgKGxpYnNvbHZfc3RhdGljIFNUQVRJQyAke2xpYnNvbHZfU1JDU30pCisgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGxpYnNvbHZfc3RhdGljIFBST1BFUlRJRVMgT1VUUFVUX05BTUUgInNvbHYiKQorIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJzb2x2X3N0YXRpYyBQUk9QRVJUSUVTIFNPVkVSU0lPTiAke0xJQlNPTFZfU09WRVJTSU9OfSkKKy1JTlNUQUxMIChUQVJHRVRTIGxpYnNvbHZfc3RhdGljIExJQlJBUlkgREVTVElOQVRJT04gJHtMSUJfSU5TVEFMTF9ESVJ9IEFSQ0hJVkUgREVTVElOQVRJT04gJHtMSUJfSU5TVEFMTF9ESVJ9KQorK0lOU1RBTEwgKFRBUkdFVFMgbGlic29sdl9zdGF0aWMgTElCUkFSWSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfSBBUkNISVZFIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9KQorIEVORElGIChFTkFCTEVfU1RBVElDIEFORCBOT1QgRElTQUJMRV9TSEFSRUQpCitkaWZmIC0tZ2l0IGEvdG9vbHMvQ01ha2VMaXN0cy50eHQgYi90b29scy9DTWFrZUxpc3RzLnR4dAoraW5kZXggODAyZGM1MDAuLjBkNjc3ZjY5IDEwMDY0NAorLS0tIGEvdG9vbHMvQ01ha2VMaXN0cy50eHQKKysrKyBiL3Rvb2xzL0NNYWtlTGlzdHMudHh0CitAQCAtMTEwLDUgKzExMCw0IEBAIFRBUkdFVF9MSU5LX0xJQlJBUklFUyAodGVzdHNvbHYgbGlic29sdmV4dCBsaWJzb2x2ICR7U1lTVEVNX0xJQlJBUklFU30pCisgQUREX0VYRUNVVEFCTEUgKHJlcG8yc29sdiByZXBvMnNvbHYuYyApCisgVEFSR0VUX0xJTktfTElCUkFSSUVTIChyZXBvMnNvbHYgdG9vbHN0dWZmIGxpYnNvbHZleHQgbGlic29sdiAke1NZU1RFTV9MSUJSQVJJRVN9KQorIAorLUlOU1RBTEwgKFRBUkdFVFMgJHt0b29sc19saXN0fSBERVNUSU5BVElPTiAke0JJTl9JTlNUQUxMX0RJUn0pCistCisrSU5TVEFMTCAoVEFSR0VUUyAke3Rvb2xzX2xpc3R9IERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9CSU5ESVJ9KQorLS0gCisyLjExLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2LzAwMDEtc29sdmVyX3NvbHZlLW9ubHktZGlzZmF2b3ItcmVjb21tZW5kcy1pZi10aGVyZS1hcmUtYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdi8wMDAxLXNvbHZlcl9zb2x2ZS1vbmx5LWRpc2Zhdm9yLXJlY29tbWVuZHMtaWYtdGhlcmUtYXJlLWEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM5NjEzYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdi8wMDAxLXNvbHZlcl9zb2x2ZS1vbmx5LWRpc2Zhdm9yLXJlY29tbWVuZHMtaWYtdGhlcmUtYXJlLWEucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSAxOWQ3Y2M4N2FkYmE5MmQzMWQ1ZmFmZGY3ZGIwMDkyMGQyNGE5NmE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4KK0RhdGU6IFdlZCwgNiBGZWIgMjAxOSAxMzoyNDowNCAtMDYwMAorU3ViamVjdDogW1BBVENIXSBzb2x2ZXJfc29sdmU6IG9ubHkgZGlzZmF2b3IgcmVjb21tZW5kcyBpZiB0aGVyZSBhcmUgYW55CisKK0luIGEgcmVwbyB0aGF0IGhhdmUgcGtnICdhJyBhbmQgJ2InIGF2YWlsYWJsZSwgYW5kICdiJyBpcyBkaXNmYXZvcmVkLAorYnV0ICdhJyBkb2Vzbid0IHJlY29tbWVuZCAnYicsIGxpYnNvbHYgc2VnZmF1bHRzIG9uCitzb2x2ZXJfYWRkcmVjb21tZW5kc3J1bGVzLCBzaW5jZSBzb2x2LT5yZWNvbW1lbmRzcnVsZXEgaXMgbnVsbC4gT25seQorY2FsbCBzb2x2ZXJfYWRkcmVjb21tZW5kc3J1bGVzIGlmIHRoZXJlIGFyZSByZWNvbW1lbmRzIHJ1bGVzLgorCitTaWduZWQtb2ZmLWJ5OiBBbGVqYW5kcm8gZGVsIENhc3RpbGxvIDxhbGVqYW5kcm8uZGVsY2FzdGlsbG9AbmkuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkCistLS0KKyBzcmMvc29sdmVyLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvc29sdmVyLmMgYi9zcmMvc29sdmVyLmMKK2luZGV4IGE4MDA5MGQxOS4uYWQ3ODMyN2E4IDEwMDY0NAorLS0tIGEvc3JjL3NvbHZlci5jCisrKysgYi9zcmMvc29sdmVyLmMKK0BAIC0zOTIwLDcgKzM5MjAsNyBAQCBzb2x2ZXJfc29sdmUoU29sdmVyICpzb2x2LCBRdWV1ZSAqam9iKQorICAgZWxzZQorICAgICBzb2x2LT55dW1vYnNydWxlcyA9IHNvbHYtPnl1bW9ic3J1bGVzX2VuZCA9IHNvbHYtPm5ydWxlczsKKyAKKy0gIGlmIChzb2x2LT5oYXZlZGlzZmF2b3JlZCAmJiBzb2x2LT5zdHJvbmdyZWNvbW1lbmRzKQorKyAgaWYgKHNvbHYtPmhhdmVkaXNmYXZvcmVkICYmIHNvbHYtPnN0cm9uZ3JlY29tbWVuZHMgJiYgc29sdi0+cmVjb21tZW5kc3J1bGVxKQorICAgICBzb2x2ZXJfYWRkcmVjb21tZW5kc3J1bGVzKHNvbHYpOworICAgZWxzZQorICAgICBzb2x2LT5yZWNvbW1lbmRzcnVsZXMgPSBzb2x2LT5yZWNvbW1lbmRzcnVsZXNfZW5kID0gc29sdi0+bnJ1bGVzOworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2LzAwMDItRml4ZXMtdG8taW50ZXJuYWwtZm9wZW5jb29raWUtaW1wbGVtZW50YXRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMi1GaXhlcy10by1pbnRlcm5hbC1mb3BlbmNvb2tpZS1pbXBsZW1lbnRhdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTNiOGNjOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMi1GaXhlcy10by1pbnRlcm5hbC1mb3BlbmNvb2tpZS1pbXBsZW1lbnRhdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwNSArMCwwIEBACi1Gcm9tIDg0ZTEyYmY3ZWNlNDkwNzNjNTU5ZGZkNTgwMDUxMzJhNjA5OWE5NjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/TmVhbD0yMEdvbXBhPTIwPTI4PUUzPTgzPThCPUUzPTgzPUJDPUUzPTgzPUFCPUUzPTgzPUJCPz0KLSA9P1VURi04P3E/PUUzPTgyPUIzPUUzPTgyPTk5PUUzPTgzPUIzPUUzPTgzPThGPUUzPTgyPTlBPTI5Pz0KLSA8bmdvbXBhMTNAZ21haWwuY29tPgotRGF0ZTogTW9uLCAyMyBOb3YgMjAxNSAxODoxOTo0MSAtMDUwMAotU3ViamVjdDogW1BBVENIIDIvMl0gRml4ZXMgdG8gaW50ZXJuYWwgZm9wZW5jb29raWUoKSBpbXBsZW1lbnRhdGlvbgotCi1DcmVkaXRzIHRvIHRoZSBmaXhlcyBnbyB0byBuc3ogb24gI211c2wgb24gRnJlZW5vZGUsCi13aG8gZ2xvcmlvdXNseSBmaXhlZCB0aGUgaW1wbGVtZW50YXRpb24gc3VjaCB0aGF0Ci10aGUgdGVzdHMgYWxsIHBhc3MuCi0KLVVwc3RyZWFtLVN0YXR1czogRGVuaWVkIFtodHRwczovL2dpdGh1Yi5jb20vb3BlblNVU0UvbGlic29sdi9wdWxsLzExMl0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotCi0tLS0KLSBleHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuYyB8IDE5ICsrKysrKysrKystLS0tLS0tLS0KLSBleHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuaCB8IDEwICsrKysrLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmMgYi9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuYwotaW5kZXggMGNlMjU3MS4uODk0MjZhOSAxMDA2NDQKLS0tLSBhL2V4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5jCi0rKysgYi9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuYwotQEAgLTEsMTAgKzEsMTAgQEAKLS0vKiAKLSsvKgotICAqCVByb3ZpZGVzIGEgdmVyeSBsaW1pdGVkIGZvcGVuY29va2llKCkgZm9yIGVudmlyb25tZW50cyB3aXRoIGEgbGliYwotICAqCXRoYXQgbGFja3MgaXQuCi0tICoJCi0tICoJQXV0aG9yOiB6aGFzaGEKLSsgKgotKyAqCUF1dGhvcnM6IHpoYXNoYSAmIG5zegotICAqCU1vZGlmaWVkIGZvciBsaWJzb2x2IGJ5IE5lYWwgR29tcGEKLS0gKgkKLSsgKgotICAqCVRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNEIGxpY2Vuc2UsIHJlYWQgTElDRU5TRS5CU0QKLSAgKglmb3IgZnVydGhlciBpbmZvcm1hdGlvbi4KLSAgKgotQEAgLTMzLDcgKzMzLDcgQEAgc3RhdGljIHZvaWQgKnByb3h5KHZvaWQgKmFyZykKLSB7Ci0gICAgIHN0cnVjdCBjdHggKmN0eCA9IGFyZzsKLSAgICAgc3NpemVfdCByOwotLSAgICBzaXplX3QgbjsKLSsgICAgc2l6ZV90IG4sIGs7Ci0gCi0gICAgIHB0aHJlYWRfZGV0YWNoKHB0aHJlYWRfc2VsZigpKTsKLSAKLUBAIC00NywxNyArNDcsMTggQEAgc3RhdGljIHZvaWQgKnByb3h5KHZvaWQgKmFyZykKLSAgICAgICAgIH0KLSAgICAgICAgIGlmIChyID09IDApIHsgYnJlYWs7IH0KLSAKLSsgICAgICAgIG4gPSByLCBrID0gMDsKLSAgICAgICAgIHdoaWxlIChuID4gMCkgewotICAgICAgICAgICAgIHIgPSBjdHgtPmlvLndyaXRlID8KLS0gICAgICAgICAgICAgICAgKGN0eC0+aW8ud3JpdGUpKGN0eC0+Y29va2llLCBjdHgtPmJ1ZiArICgoc2l6ZV90KXIgLSBuKSwgbikgOgotLSAgICAgICAgICAgICAgICB3cml0ZShjdHgtPmZkLCBjdHgtPmJ1ZiArICgoc2l6ZV90KXIgLSBuKSwgbik7Ci0rICAgICAgICAgICAgICAgIChjdHgtPmlvLndyaXRlKShjdHgtPmNvb2tpZSwgY3R4LT5idWYgKyBrLCBuKSA6Ci0rICAgICAgICAgICAgICAgIHdyaXRlKGN0eC0+ZmQsIGN0eC0+YnVmICsgaywgbik7Ci0gICAgICAgICAgICAgaWYgKHIgPCAwKSB7Ci0gICAgICAgICAgICAgICAgIGlmIChlcnJubyAhPSBFSU5UUikgeyBicmVhazsgfQotICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgaWYgKHIgPT0gMCkgeyBicmVhazsgfQotIAotLSAgICAgICAgICAgIG4gLT0gKHNpemVfdClyOwotKyAgICAgICAgICAgIG4gLT0gciwgayArPSByOwotICAgICAgICAgfQotICAgICAgICAgaWYgKG4gPiAwKSB7IGJyZWFrOyB9Ci0gICAgIH0KLUBAIC03Nyw4ICs3OCw4IEBAIEZJTEUgKmZvcGVuY29va2llKHZvaWQgKmNvb2tpZSwgY29uc3QgY2hhciAqbW9kZSwgc3RydWN0IGNvb2tpZV9pb19mdW5jdGlvbnNfdCBpCi0gCi0gICAgIHN3aXRjaCAobW9kZVswXSkgewotICAgICAgICAgY2FzZSAnYSc6Ci0tICAgICAgICBjYXNlICdyJzogcmQgPSAxOyBicmVhazsKLSAgICAgICAgIGNhc2UgJ3cnOiB3ciA9IDE7IGJyZWFrOwotKyAgICAgICAgY2FzZSAncic6IHJkID0gMTsgYnJlYWs7Ci0gICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgIGVycm5vID0gRUlOVkFMOwotICAgICAgICAgICAgIHJldHVybiBOVUxMOwotZGlmZiAtLWdpdCBhL2V4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oIGIvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmgKLWluZGV4IDZhN2JmZWUuLjcyMjNlM2YgMTAwNjQ0Ci0tLS0gYS9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuaAotKysrIGIvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmgKLUBAIC0xLDEzICsxLDEzIEBACi0tLyogCi0rLyoKLSAgKglQcm92aWRlcyBhIHZlcnkgbGltaXRlZCBmb3BlbmNvb2tpZSgpIGZvciBlbnZpcm9ubWVudHMgd2l0aCBhIGxpYmMKLSAgKgl0aGF0IGxhY2tzIGl0LgotLSAqCQotLSAqCUF1dGhvcjogemhhc2hhCi0rICoKLSsgKglBdXRob3JzOiB6aGFzaGEgJiBuc3oKLSAgKglNb2RpZmllZCBmb3IgbGlic29sdiBieSBOZWFsIEdvbXBhCi0tICoJCi0rICoKLSAgKglUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRCBsaWNlbnNlLCByZWFkIExJQ0VOU0UuQlNECi0gICoJZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24uCi0tICoJCi0rICoKLSAgKi8KLSAKLSAjaWZuZGVmIFNPTFZfWEZPUEVOX0ZBTExCQUNLX0ZPUEVOQ09PS0lFX0gKLS0tIAotMi40LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2XzAuNi4zNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdl8wLjYuMzUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyZGZjNWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2XzAuNi4zNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLVNVTU1BUlkgPSAiTGlicmFyeSBmb3Igc29sdmluZyBwYWNrYWdlcyBhbmQgcmVhZGluZyByZXBvc2l0b3JpZXMiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vb3BlblNVU0UvbGlic29sdiIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL29wZW5TVVNFL2xpYnNvbHYvaXNzdWVzIgotU0VDVElPTiA9ICJkZXZlbCIKLUxJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5CU0Q7bWQ1PTYyMjcyYmQxMWM5NzM5NmQ0YWFmMWM0MWJjMTFmN2Q4IgotCi1ERVBFTkRTID0gImV4cGF0IHpsaWIiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuU1VTRS9saWJzb2x2LmdpdCIKLVNSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9ICIgZmlsZTovLzAwMDEtQWRkLWZhbGxiYWNrLWZvcGVuY29va2llLWltcGxlbWVudGF0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovLzAwMDItRml4ZXMtdG8taW50ZXJuYWwtZm9wZW5jb29raWUtaW1wbGVtZW50YXRpb24ucGF0Y2ggXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIgotCi1TUkNSRVYgPSAiMzhjNTM3NGQ0NzEyNjY3YjBiNmFkYTRiZjc4ZGRiYjM0MzA5NWQwYyIKLVVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIig/UDxwdmVyPlxkKyhcLlxkKykrKSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBjbWFrZQotCi1QQUNLQUdFQ09ORklHID8/PSAicnBtIgotUEFDS0FHRUNPTkZJR1tycG1dID0gIi1ERU5BQkxFX1JQTU1EPU9OIC1ERU5BQkxFX1JQTURCPU9OLCxycG0iCi0KLUVYVFJBX09FQ01BS0UgPSAiLURMSUI9JHtiYXNlbGlifSAtRE1VTFRJX1NFTUFOVElDUz1PTiAtREVOQUJMRV9DT01QTEVYX0RFUFM9T04iCi0KLVBBQ0tBR0VTID0rICIke1BOfS10b29scyAke1BOfWV4dCIKLQotRklMRVNfJHtQTn0tdG9vbHMgPSAiJHtiaW5kaXJ9LyoiCi1GSUxFU18ke1BOfWV4dCA9ICIke2xpYmRpcn0vJHtQTn1leHQuc28uKiIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2XzAuNy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2XzAuNy4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwYzhkYmMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHZfMC43LjMuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBzb2x2aW5nIHBhY2thZ2VzIGFuZCByZWFkaW5nIHJlcG9zaXRvcmllcyIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuU1VTRS9saWJzb2x2IgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vb3BlblNVU0UvbGlic29sdi9pc3N1ZXMiCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLkJTRDttZDU9NjIyNzJiZDExYzk3Mzk2ZDRhYWYxYzQxYmMxMWY3ZDgiCisKK0RFUEVORFMgPSAiZXhwYXQgemxpYiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL29wZW5TVVNFL2xpYnNvbHYuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtc29sdmVyX3NvbHZlLW9ubHktZGlzZmF2b3ItcmVjb21tZW5kcy1pZi10aGVyZS1hcmUtYS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWJ1aWxkLXVzZS1HTlVJbnN0YWxsRGlycy5wYXRjaCBcCisiCisKK1NSQ1JFViA9ICJkYzdkMGYxYzMxMTNmMmM4MjE3NTYzMTY2OTA2YmVmM2ViNWQxZWUxIgorVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSspIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlCisKK1BBQ0tBR0VDT05GSUcgPz89ICJycG0iCitQQUNLQUdFQ09ORklHW3JwbV0gPSAiLURFTkFCTEVfUlBNTUQ9T04gLURFTkFCTEVfUlBNREI9T04sLHJwbSIKKworRVhUUkFfT0VDTUFLRSA9ICItRE1VTFRJX1NFTUFOVElDUz1PTiAtREVOQUJMRV9DT01QTEVYX0RFUFM9T04iCisKK1BBQ0tBR0VTID0rICIke1BOfS10b29scyAke1BOfWV4dCIKKworRklMRVNfJHtQTn0tdG9vbHMgPSAiJHtiaW5kaXJ9LyoiCitGSUxFU18ke1BOfWV4dCA9ICIke2xpYmRpcn0vJHtQTn1leHQuc28uKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlidGlycGMvbGlidGlycGNfMS4wLjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJ0aXJwYy9saWJ0aXJwY18xLjAuMy5iYgppbmRleCAxN2JjMDM4Li5mOTc4YzhjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJ0aXJwYy9saWJ0aXJwY18xLjAuMy5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJ0aXJwYy9saWJ0aXJwY18xLjAuMy5iYgpAQCAtMTMsNyArMTMsOCBAQAogICAgICAgICAgICBmaWxlOi8vbGlidGlycGMtMS4wLjQtcmMxLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL211c2wucGF0Y2ggXAogICAgICAgICAgICAiCi0KK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ0aXJwYy9maWxlcy9saWJ0aXJwYy8iCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICIoP1A8cHZlcj5cZCsoXC5cZCspKykvIgogU1JDX1VSSVttZDVzdW1dID0gImY4NDAzYTEwNjk1MzQ4ODU0ZTcxZDUyNWM0ZGI1OTMxIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg2YzNhNzhmYzFiZGRlZmE5NjExMWRkMjMzMTI0YzcwM2IyMmE3ODg4NDIwM2M1NWMzZTA2YjNiZTZhMGZkNWUiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkL2xpZ2h0dHBkIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGQvbGlnaHR0cGQKaW5kZXggYmY4OWE2MC4uODJmYmFhNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGQvbGlnaHR0cGQKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGQvbGlnaHR0cGQKQEAgLTQsNyArNCw3IEBACiBEQUVNT049L3Vzci9zYmluL2xpZ2h0dHBkCiBOQU1FPWxpZ2h0dHBkCiBERVNDPSJMaWdodHRwZCBXZWIgU2VydmVyIgotT1BUUz0iLWYgL2V0Yy9saWdodHRwZC5jb25mIgorT1BUUz0iLWYgL2V0Yy9saWdodHRwZC9saWdodHRwZC5jb25mIgogCiBjYXNlICIkMSIgaW4KICAgc3RhcnQpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZC9saWdodHRwZC5zZXJ2aWNlIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGQvbGlnaHR0cGQuc2VydmljZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjZhOTA3YS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZC9saWdodHRwZC5zZXJ2aWNlCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotW1VuaXRdCi1EZXNjcmlwdGlvbj1MaWdodG5pbmcgRmFzdCBXZWJzZXJ2ZXIgV2l0aCBMaWdodCBTeXN0ZW0gUmVxdWlyZW1lbnRzCi1BZnRlcj1uZXR3b3JrLnRhcmdldAotCi1bU2VydmljZV0KLUV4ZWNTdGFydFByZT1AU0JJTkRJUkAvbGlnaHR0cGQgLXQgLWYgQFNZU0NPTkZESVJAL2xpZ2h0dHBkLmNvbmYKLUV4ZWNTdGFydD1AU0JJTkRJUkAvbGlnaHR0cGQgLUQgLWYgQFNZU0NPTkZESVJAL2xpZ2h0dHBkLmNvbmYKLUV4ZWNSZWxvYWQ9QEJBU0VfQklORElSQC9raWxsIC1IVVAgJE1BSU5QSUQKLQotW0luc3RhbGxdCi1XYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZF8xLjQuNTEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZF8xLjQuNTEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYyOGZkMmYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGRfMS40LjUxLmJiCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotU1VNTUFSWSA9ICJMaWdodHdlaWdodCBoaWdoLXBlcmZvcm1hbmNlIHdlYiBzZXJ2ZXIiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpZ2h0dHBkLm5ldC8iCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9yZWRtaW5lLmxpZ2h0dHBkLm5ldC9wcm9qZWN0cy9saWdodHRwZC9pc3N1ZXMiCi0KLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTRkYWM1YzZhYjE2OWFhMjEyZmViNTAyODg1M2E1NzkiCi0KLVNFQ1RJT04gPSAibmV0IgotUkRFUEVORFNfJHtQTn0gPSAibGlnaHR0cGQtbW9kdWxlLWRpcmxpc3RpbmcgXAotICAgICAgICAgICAgICAgICAgbGlnaHR0cGQtbW9kdWxlLWluZGV4ZmlsZSBcCi0gICAgICAgICAgICAgICAgICBsaWdodHRwZC1tb2R1bGUtc3RhdGljZmlsZSIKLVJSRUNPTU1FTkRTXyR7UE59ID0gImxpZ2h0dHBkLW1vZHVsZS1hY2Nlc3MgXAotICAgICAgICAgICAgICAgICAgICAgbGlnaHR0cGQtbW9kdWxlLWFjY2Vzc2xvZyIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQubGlnaHR0cGQubmV0L2xpZ2h0dHBkL3JlbGVhc2VzLTEuNC54L2xpZ2h0dHBkLSR7UFZ9LnRhci54eiBcCi0gICAgICAgIGZpbGU6Ly9pbmRleC5odG1sLmxpZ2h0dHBkIFwKLSAgICAgICAgZmlsZTovL2xpZ2h0dHBkLmNvbmYgXAotICAgICAgICBmaWxlOi8vbGlnaHR0cGQgXAotICAgICAgICBmaWxlOi8vbGlnaHR0cGQuc2VydmljZSBcCi0gICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1wa2ctY29uZmlnLWZvci1wY3JlLWRlcGVuZGVuY3ktaW5zdGVhZC1vZi1jb25maWcucGF0Y2ggXAotICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2ZTY4YzE5NjAxYWYzMzJmYTNjNWYxNzQyNDVmNTliZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyYWY5ZmRiMjY1ZDFmMDI1YmZhNjM0ZTEzNzcwMjM5NzEyZWNiZDU4NWU0OTc1YjgyMjZlZGYxZGY3NGU5YzgyIgotCi1QQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCBwY3JlIHpsaWIgXAotICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneGF0dHInLCAnYXR0cicsICcnLCBkKX0gXAotIgotCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYiCi1QQUNLQUdFQ09ORklHW21tYXBdID0gIi0tZW5hYmxlLW1tYXAsLS1kaXNhYmxlLW1tYXAiCi1QQUNLQUdFQ09ORklHW2xpYmV2XSA9ICItLXdpdGgtbGliZXYsLS13aXRob3V0LWxpYmV2LGxpYmV2IgotUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS13aXRoLW15c3FsLC0td2l0aG91dC1teXNxbCxtYXJpYWRiIgotUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLXdpdGgtbGRhcCwtLXdpdGhvdXQtbGRhcCxvcGVubGRhcCIKLVBBQ0tBR0VDT05GSUdbYXR0cl0gPSAiLS13aXRoLWF0dHIsLS13aXRob3V0LWF0dHIsYXR0ciIKLVBBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi0td2l0aC12YWxncmluZCwtLXdpdGhvdXQtdmFsZ3JpbmQsdmFsZ3JpbmQiCi1QQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1vcGVuc3NsLC0td2l0aG91dC1vcGVuc3NsLG9wZW5zc2wiCi1QQUNLQUdFQ09ORklHW2tyYjVdID0gIi0td2l0aC1rcmI1LC0td2l0aG91dC1rcmI1LGtyYjUiCi1QQUNLQUdFQ09ORklHW3BjcmVdID0gIi0td2l0aC1wY3JlLC0td2l0aG91dC1wY3JlLGxpYnBjcmUiCi1QQUNLQUdFQ09ORklHW3psaWJdID0gIi0td2l0aC16bGliLC0td2l0aG91dC16bGliLHpsaWIiCi1QQUNLQUdFQ09ORklHW2J6aXAyXSA9ICItLXdpdGgtYnppcDIsLS13aXRob3V0LWJ6aXAyLGJ6aXAyIgotUEFDS0FHRUNPTkZJR1tmYW1dID0gIi0td2l0aC1mYW0sLS13aXRob3V0LWZhbSxnYW1pbiIKLVBBQ0tBR0VDT05GSUdbd2ViZGF2LXByb3BzXSA9ICItLXdpdGgtd2ViZGF2LXByb3BzLC0td2l0aG91dC13ZWJkYXYtcHJvcHMsbGlieG1sMiBzcWxpdGUzIgotUEFDS0FHRUNPTkZJR1t3ZWJkYXYtbG9ja3NdID0gIi0td2l0aC13ZWJkYXYtbG9ja3MsLS13aXRob3V0LXdlYmRhdi1sb2Nrcyx1dGlsLWxpbnV4IgotUEFDS0FHRUNPTkZJR1tnZGJtXSA9ICItLXdpdGgtZ2RibSwtLXdpdGhvdXQtZ2RibSxnZGJtIgotUEFDS0FHRUNPTkZJR1ttZW1jYWNoZV0gPSAiLS13aXRoLW1lbWNhY2hlZCwtLXdpdGhvdXQtbWVtY2FjaGVkLGxpYm1lbWNhY2hlZCIKLVBBQ0tBR0VDT05GSUdbbHVhXSA9ICItLXdpdGgtbHVhLC0td2l0aG91dC1sdWEsbHVhNS4xIgotCi1FWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWxmcyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHVwZGF0ZS1yYy5kIGdldHRleHQgc3lzdGVtZAotCi1JTklUU0NSSVBUX05BTUUgPSAibGlnaHR0cGQiCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyA3MCIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImxpZ2h0dHBkLnNlcnZpY2UiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kICR7RH0ke3N5c2NvbmZkaXJ9L2xpZ2h0dHBkLmQgJHtEfS93d3cvcGFnZXMvZGF2Ci0JaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbGlnaHR0cGQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbGlnaHR0cGQuY29uZiAke0R9JHtzeXNjb25mZGlyfQotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2luZGV4Lmh0bWwubGlnaHR0cGQgJHtEfS93d3cvcGFnZXMvaW5kZXguaHRtbAotCi0JaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2xpZ2h0dHBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAotCQktZSAncyxAU1lTQ09ORkRJUkAsJHtzeXNjb25mZGlyfSxnJyBcCi0JCS1lICdzLEBCQVNFX0JJTkRJUkAsJHtiYXNlX2JpbmRpcn0sZycgXAotCQkke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9saWdodHRwZC5zZXJ2aWNlCi0JI0ZvciBGSFMgY29tcGxpYW5jZSwgY3JlYXRlIHN5bWJvbGljIGxpbmtzIHRvIC92YXIvbG9nIGFuZCAvdmFyL3RtcCBmb3IgbG9ncyBhbmQgdGVtcG9yYXJ5IGRhdGEKLQlsbiAtc2YgJHtsb2NhbHN0YXRlZGlyfS9sb2cgJHtEfS93d3cvbG9ncwotCWxuIC1zZiAke2xvY2Fsc3RhdGVkaXJ9L3RtcCAke0R9L3d3dy92YXIKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0gL3d3dyIKLQotQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vbGlnaHR0cGQuY29uZiIKLQotUEFDS0FHRVNfRFlOQU1JQyArPSAiXmxpZ2h0dHBkLW1vZHVsZS0uKiIKLQotcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgewotICAgIGxpZ2h0dHBkX2xpYmRpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0nKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxpZ2h0dHBkX2xpYmRpciwgJ15tb2RfKC4qKVwuc28kJywgJ2xpZ2h0dHBkLW1vZHVsZS0lcycsICdMaWdodHRwZCBtb2R1bGUgZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJykKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkXzEuNC41My5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkXzEuNC41My5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMGIzNTBmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGRfMS40LjUzLmJiCkBAIC0wLDAgKzEsODQgQEAKK1NVTU1BUlkgPSAiTGlnaHR3ZWlnaHQgaGlnaC1wZXJmb3JtYW5jZSB3ZWIgc2VydmVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saWdodHRwZC5uZXQvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vcmVkbWluZS5saWdodHRwZC5uZXQvcHJvamVjdHMvbGlnaHR0cGQvaXNzdWVzIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU0ZGFjNWM2YWIxNjlhYTIxMmZlYjUwMjg4NTNhNTc5IgorCitTRUNUSU9OID0gIm5ldCIKK1JERVBFTkRTXyR7UE59ID0gImxpZ2h0dHBkLW1vZHVsZS1kaXJsaXN0aW5nIFwKKyAgICAgICAgICAgICAgICAgIGxpZ2h0dHBkLW1vZHVsZS1pbmRleGZpbGUgXAorICAgICAgICAgICAgICAgICAgbGlnaHR0cGQtbW9kdWxlLXN0YXRpY2ZpbGUiCitSUkVDT01NRU5EU18ke1BOfSA9ICJsaWdodHRwZC1tb2R1bGUtYWNjZXNzIFwKKyAgICAgICAgICAgICAgICAgICAgIGxpZ2h0dHBkLW1vZHVsZS1hY2Nlc3Nsb2ciCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLmxpZ2h0dHBkLm5ldC9saWdodHRwZC9yZWxlYXNlcy0xLjQueC9saWdodHRwZC0ke1BWfS50YXIueHogXAorICAgICAgICBmaWxlOi8vaW5kZXguaHRtbC5saWdodHRwZCBcCisgICAgICAgIGZpbGU6Ly9saWdodHRwZC5jb25mIFwKKyAgICAgICAgZmlsZTovL2xpZ2h0dHBkIFwKKyAgICAgICAgZmlsZTovLzAwMDEtVXNlLXBrZy1jb25maWctZm9yLXBjcmUtZGVwZW5kZW5jeS1pbnN0ZWFkLW9mLWNvbmZpZy5wYXRjaCBcCisgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImY5MzQzNmQ4ZDQwMGIyYjBlMjZlZTRiY2M2MGI5YWM3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNiZGZjZTFjZjNlOTY1MGE1NTZhOGMyNmZiMTUzNDJjNTcxN2M2M2Y1MzBjNTQ2OTNkYjYzMmIwMzcxZGNiNzgiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJvcGVuc3NsIHBjcmUgemxpYiBcCisgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4YXR0cicsICdhdHRyJywgJycsIGQpfSBcCisiCisKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiIKK1BBQ0tBR0VDT05GSUdbbW1hcF0gPSAiLS1lbmFibGUtbW1hcCwtLWRpc2FibGUtbW1hcCIKK1BBQ0tBR0VDT05GSUdbbGliZXZdID0gIi0td2l0aC1saWJldiwtLXdpdGhvdXQtbGliZXYsbGliZXYiCitQQUNLQUdFQ09ORklHW215c3FsXSA9ICItLXdpdGgtbXlzcWwsLS13aXRob3V0LW15c3FsLG1hcmlhZGIiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0td2l0aC1sZGFwLC0td2l0aG91dC1sZGFwLG9wZW5sZGFwIgorUEFDS0FHRUNPTkZJR1thdHRyXSA9ICItLXdpdGgtYXR0ciwtLXdpdGhvdXQtYXR0cixhdHRyIgorUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLS13aXRoLXZhbGdyaW5kLC0td2l0aG91dC12YWxncmluZCx2YWxncmluZCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLW9wZW5zc2wsLS13aXRob3V0LW9wZW5zc2wsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdba3JiNV0gPSAiLS13aXRoLWtyYjUsLS13aXRob3V0LWtyYjUsa3JiNSIKK1BBQ0tBR0VDT05GSUdbcGNyZV0gPSAiLS13aXRoLXBjcmUsLS13aXRob3V0LXBjcmUsbGlicGNyZSIKK1BBQ0tBR0VDT05GSUdbemxpYl0gPSAiLS13aXRoLXpsaWIsLS13aXRob3V0LXpsaWIsemxpYiIKK1BBQ0tBR0VDT05GSUdbYnppcDJdID0gIi0td2l0aC1iemlwMiwtLXdpdGhvdXQtYnppcDIsYnppcDIiCitQQUNLQUdFQ09ORklHW2ZhbV0gPSAiLS13aXRoLWZhbSwtLXdpdGhvdXQtZmFtLGdhbWluIgorUEFDS0FHRUNPTkZJR1t3ZWJkYXYtcHJvcHNdID0gIi0td2l0aC13ZWJkYXYtcHJvcHMsLS13aXRob3V0LXdlYmRhdi1wcm9wcyxsaWJ4bWwyIHNxbGl0ZTMiCitQQUNLQUdFQ09ORklHW3dlYmRhdi1sb2Nrc10gPSAiLS13aXRoLXdlYmRhdi1sb2NrcywtLXdpdGhvdXQtd2ViZGF2LWxvY2tzLHV0aWwtbGludXgiCitQQUNLQUdFQ09ORklHW2dkYm1dID0gIi0td2l0aC1nZGJtLC0td2l0aG91dC1nZGJtLGdkYm0iCitQQUNLQUdFQ09ORklHW21lbWNhY2hlXSA9ICItLXdpdGgtbWVtY2FjaGVkLC0td2l0aG91dC1tZW1jYWNoZWQsbGlibWVtY2FjaGVkIgorUEFDS0FHRUNPTkZJR1tsdWFdID0gIi0td2l0aC1sdWEsLS13aXRob3V0LWx1YSxsdWE1LjEiCisKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtbGZzIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgdXBkYXRlLXJjLmQgZ2V0dGV4dCBzeXN0ZW1kCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJsaWdodHRwZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDcwIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibGlnaHR0cGQuc2VydmljZSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQgJHtEfSR7c3lzY29uZmRpcn0vbGlnaHR0cGQgJHtEfSR7c3lzY29uZmRpcn0vbGlnaHR0cGQuZCAke0R9L3d3dy9wYWdlcy9kYXYKKwlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9saWdodHRwZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9saWdodHRwZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2xpZ2h0dHBkCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vaW5kZXguaHRtbC5saWdodHRwZCAke0R9L3d3dy9wYWdlcy9pbmRleC5odG1sCisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJaW5zdGFsbCAtbSAwNjQ0ICR7U30vZG9jL3N5c3RlbWQvbGlnaHR0cGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCXNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCisJCS1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKKwkJLWUgJ3MsQEJBU0VfQklORElSQCwke2Jhc2VfYmluZGlyfSxnJyBcCisJCSR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2xpZ2h0dHBkLnNlcnZpY2UKKwkjRm9yIEZIUyBjb21wbGlhbmNlLCBjcmVhdGUgc3ltYm9saWMgbGlua3MgdG8gL3Zhci9sb2cgYW5kIC92YXIvdG1wIGZvciBsb2dzIGFuZCB0ZW1wb3JhcnkgZGF0YQorCWxuIC1zZiAke2xvY2Fsc3RhdGVkaXJ9L2xvZyAke0R9L3d3dy9sb2dzCisJbG4gLXNmICR7bG9jYWxzdGF0ZWRpcn0vdG1wICR7RH0vd3d3L3ZhcgorfQorCitGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfSAvd3d3IgorCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9saWdodHRwZC9saWdodHRwZC5jb25mIgorCitQQUNLQUdFU19EWU5BTUlDICs9ICJebGlnaHR0cGQtbW9kdWxlLS4qIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgbGlnaHR0cGRfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfScpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGlnaHR0cGRfbGliZGlyLCByJ15tb2RfKC4qKVwuc28kJywgJ2xpZ2h0dHBkLW1vZHVsZS0lcycsICdMaWdodHRwZCBtb2R1bGUgZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJykKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGUvYWN0LWFzLW12LXdoZW4tcm90YXRlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZS9hY3QtYXMtbXYtd2hlbi1yb3RhdGUucGF0Y2gKaW5kZXggMDRjYjU4OC4uNzk4MDViNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZS9hY3QtYXMtbXYtd2hlbi1yb3RhdGUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZS9hY3QtYXMtbXYtd2hlbi1yb3RhdGUucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDUxN2NiZmY2NmM4YmRiZjQ1NWJjM2I3YzFhODVhNGY5OTBkMGY5YTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGM2Mzc5NDhlYmFiNWFmZjU2NDE3MDBjNWNmNjEzMzIxY2EwYTZlNmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KIERhdGU6IFR1ZSwgMTcgRmViIDIwMTUgMjE6MDg6MDcgLTA4MDAKIFN1YmplY3Q6IFtQQVRDSF0gQWN0IGFzIHRoZSAibXYiIGNvbW1hbmQgd2hlbiByb3RhdGUgbG9nCkBAIC0xMCwxNCArMTAsMTQgQEAKIAogU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CiAtLS0KLSBsb2dyb3RhdGUuYyB8IDcyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCisgbG9ncm90YXRlLmMgfCA3MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2xvZ3JvdGF0ZS5jIGIvbG9ncm90YXRlLmMKLWluZGV4IDRhZDU4ZDQuLmJhMDU4ODQgMTAwNjQ0CitpbmRleCA1NGRhYzkwLi5iZjNlYzIzIDEwMDY0NAogLS0tIGEvbG9ncm90YXRlLmMKICsrKyBiL2xvZ3JvdGF0ZS5jCi1AQCAtMTMxNSw2ICsxMzE1LDU0IEBAIHN0YXRpYyBpbnQgZmluZE5lZWRSb3RhdGluZyhzdHJ1Y3QgbG9nSW5mbyAqbG9nLCBpbnQgbG9nTnVtLCBpbnQgZm9yY2UpCitAQCAtMTM2MCw2ICsxMzYwLDUzIEBAIHN0YXRpYyBpbnQgZmluZE5lZWRSb3RhdGluZyhzdHJ1Y3QgbG9nSW5mbyAqbG9nLCBpbnQgbG9nTnVtLCBpbnQgZm9yY2UpCiAgICAgIHJldHVybiAwOwogIH0KICAKQEAgLTY4LDg0ICs2OCw4MyBAQAogKyAgICByZXR1cm4gMTsKICt9CiArCi0rCi0gc3RhdGljIGludCBwcmVyb3RhdGVTaW5nbGVMb2coc3RydWN0IGxvZ0luZm8gKmxvZywgaW50IGxvZ051bSwKLSAJCQkgICAgICBzdHJ1Y3QgbG9nU3RhdGUgKnN0YXRlLCBzdHJ1Y3QgbG9nTmFtZXMgKnJvdE5hbWVzKQotIHsKLUBAIC0xNjc0LDE1ICsxNzIyLDE1IEBAIHN0YXRpYyBpbnQgcHJlcm90YXRlU2luZ2xlTG9nKHN0cnVjdCBsb2dJbmZvICpsb2csIGludCBsb2dOdW0sCi0gCQl9CisgLyogZmluZCB0aGUgcm90YXRlZCBmaWxlIHdpdGggdGhlIGhpZ2hlc3QgaW5kZXggKi8KKyBzdGF0aWMgaW50IGZpbmRMYXN0Um90YXRlZChjb25zdCBzdHJ1Y3QgbG9nTmFtZXMgKnJvdE5hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVleHQsIGNvbnN0IGNoYXIgKmNvbXBleHQpCitAQCAtMTgwMCwxNSArMTg0NywxNSBAQCBzdGF0aWMgaW50IHByZXJvdGF0ZVNpbmdsZUxvZyhzdHJ1Y3QgbG9nSW5mbyAqbG9nLCBpbnQgbG9nTnVtLAorICAgICAgICAgICAgIH0KICAKLSAJICAgIG1lc3NhZ2UoTUVTU19ERUJVRywKLS0JCSAgICAicmVuYW1pbmcgJXMgdG8gJXMgKHJvdGF0ZWNvdW50ICVkLCBsb2dzdGFydCAlZCwgaSAlZCksIFxuIiwKLSsJCSAgICAibW92aW5nICVzIHRvICVzIChyb3RhdGVjb3VudCAlZCwgbG9nc3RhcnQgJWQsIGkgJWQpLCBcbiIsCi0gCQkgICAgb2xkTmFtZSwgbmV3TmFtZSwgcm90YXRlQ291bnQsIGxvZ1N0YXJ0LCBpKTsKKyAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfREVCVUcsCistICAgICAgICAgICAgICAgICAgICAicmVuYW1pbmcgJXMgdG8gJXMgKHJvdGF0ZWNvdW50ICVkLCBsb2dzdGFydCAlZCwgaSAlZCksIFxuIiwKKysgICAgICAgICAgICAgICAgICAgICJtb3ZpbmcgJXMgdG8gJXMgKHJvdGF0ZWNvdW50ICVkLCBsb2dzdGFydCAlZCwgaSAlZCksIFxuIiwKKyAgICAgICAgICAgICAgICAgICAgIG9sZE5hbWUsIG5ld05hbWUsIHJvdGF0ZUNvdW50LCBsb2dTdGFydCwgaSk7CiAgCi0tCSAgICBpZiAoIWRlYnVnICYmIHJlbmFtZShvbGROYW1lLCBuZXdOYW1lKSkgewotKwkgICAgaWYgKCFkZWJ1ZyAmJiBtdkZpbGUob2xkTmFtZSwgbmV3TmFtZSwgbG9nLCBwcmV2X2FjbCkpIHsKLSAJCWlmIChlcnJubyA9PSBFTk9FTlQpIHsKLSAJCSAgICBtZXNzYWdlKE1FU1NfREVCVUcsICJvbGQgbG9nICVzIGRvZXMgbm90IGV4aXN0XG4iLAotIAkJCSAgICBvbGROYW1lKTsKLSAJCX0gZWxzZSB7Ci0tCQkgICAgbWVzc2FnZShNRVNTX0VSUk9SLCAiZXJyb3IgcmVuYW1pbmcgJXMgdG8gJXM6ICVzXG4iLAotKwkJICAgIG1lc3NhZ2UoTUVTU19FUlJPUiwgImVycm9yIG1vdmluZyAlcyB0byAlczogJXNcbiIsCi0gCQkJICAgIG9sZE5hbWUsIG5ld05hbWUsIHN0cmVycm9yKGVycm5vKSk7Ci0gCQkgICAgaGFzRXJyb3JzID0gMTsKLSAJCX0KLUBAIC0xNzY3LDIxICsxODE1LDIxIEBAIHN0YXRpYyBpbnQgcm90YXRlU2luZ2xlTG9nKHN0cnVjdCBsb2dJbmZvICpsb2csIGludCBsb2dOdW0sCi0gCQkJCXJldHVybiAxOwotIAkJCX0KKy0gICAgICAgICAgICBpZiAoIWRlYnVnICYmIHJlbmFtZShvbGROYW1lLCBuZXdOYW1lKSkgeworKyAgICAgICAgICAgIGlmICghZGVidWcgJiYgbXZGaWxlKG9sZE5hbWUsIG5ld05hbWUsIGxvZywgcHJldl9hY2wpKSB7CisgICAgICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFTk9FTlQpIHsKKyAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UoTUVTU19ERUJVRywgIm9sZCBsb2cgJXMgZG9lcyBub3QgZXhpc3RcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZE5hbWUpOworICAgICAgICAgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICAgICAgbWVzc2FnZShNRVNTX0VSUk9SLCAiZXJyb3IgcmVuYW1pbmcgJXMgdG8gJXM6ICVzXG4iLAorKyAgICAgICAgICAgICAgICAgICAgbWVzc2FnZShNRVNTX0VSUk9SLCAiZXJyb3IgbW92aW5nICVzIHRvICVzOiAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkTmFtZSwgbmV3TmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKyAgICAgICAgICAgICAgICAgICAgIGhhc0Vycm9ycyA9IDE7CisgICAgICAgICAgICAgICAgIH0KK0BAIC0xODkxLDIxICsxOTM4LDIxIEBAIHN0YXRpYyBpbnQgcm90YXRlU2luZ2xlTG9nKHN0cnVjdCBsb2dJbmZvICpsb2csIGludCBsb2dOdW0sCisgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgICAgICAgICAgfQogIAotLQkJCW1lc3NhZ2UoTUVTU19ERUJVRywgInJlbmFtaW5nICVzIHRvICVzXG4iLCBsb2ctPmZpbGVzW2xvZ051bV0sCi0rCQkJbWVzc2FnZShNRVNTX0RFQlVHLCAibW92aW5nICVzIHRvICVzXG4iLCBsb2ctPmZpbGVzW2xvZ051bV0sCi0gCQkJCXRtcEZpbGVuYW1lKTsKLS0JCQlpZiAoIWRlYnVnICYmICFoYXNFcnJvcnMgJiYgcmVuYW1lKGxvZy0+ZmlsZXNbbG9nTnVtXSwgdG1wRmlsZW5hbWUpKSB7Ci0tCQkJbWVzc2FnZShNRVNTX0VSUk9SLCAiZmFpbGVkIHRvIHJlbmFtZSAlcyB0byAlczogJXNcbiIsCi0rCQkJaWYgKCFkZWJ1ZyAmJiAhaGFzRXJyb3JzICYmIG12RmlsZShsb2ctPmZpbGVzW2xvZ051bV0sIHJvdE5hbWVzLT5maW5hbE5hbWUsIGxvZywgcHJldl9hY2wpKSB7Ci0rCQkJbWVzc2FnZShNRVNTX0VSUk9SLCAiZmFpbGVkIHRvIG1vdmUgJXMgdG8gJXM6ICVzXG4iLAotIAkJCQlsb2ctPmZpbGVzW2xvZ051bV0sIHRtcEZpbGVuYW1lLAotIAkJCQlzdHJlcnJvcihlcnJubykpOwotIAkJCQloYXNFcnJvcnMgPSAxOwotIAkJCX0KLSAJCX0KLSAJCWVsc2UgewotLQkJCW1lc3NhZ2UoTUVTU19ERUJVRywgInJlbmFtaW5nICVzIHRvICVzXG4iLCBsb2ctPmZpbGVzW2xvZ051bV0sCi0rCQkJbWVzc2FnZShNRVNTX0RFQlVHLCAibW92aW5nICVzIHRvICVzXG4iLCBsb2ctPmZpbGVzW2xvZ051bV0sCi0gCQkJCXJvdE5hbWVzLT5maW5hbE5hbWUpOwotIAkJCWlmICghZGVidWcgJiYgIWhhc0Vycm9ycyAmJgotLQkJCXJlbmFtZShsb2ctPmZpbGVzW2xvZ051bV0sIHJvdE5hbWVzLT5maW5hbE5hbWUpKSB7Ci0tCQkJCW1lc3NhZ2UoTUVTU19FUlJPUiwgImZhaWxlZCB0byByZW5hbWUgJXMgdG8gJXM6ICVzXG4iLAotKwkJCW12RmlsZShsb2ctPmZpbGVzW2xvZ051bV0sIHJvdE5hbWVzLT5maW5hbE5hbWUsIGxvZywgcHJldl9hY2wpKSB7Ci0rCQkJCW1lc3NhZ2UoTUVTU19FUlJPUiwgImZhaWxlZCB0byBtb3ZlICVzIHRvICVzOiAlc1xuIiwKLSAJCQkJCWxvZy0+ZmlsZXNbbG9nTnVtXSwgcm90TmFtZXMtPmZpbmFsTmFtZSwKLSAJCQkJCXN0cmVycm9yKGVycm5vKSk7Ci0gCQkJCQloYXNFcnJvcnMgPSAxOwotQEAgLTIxNzAsNyArMjIxOCw3IEBAIHN0YXRpYyBpbnQgcm90YXRlTG9nU2V0KHN0cnVjdCBsb2dJbmZvICpsb2csIGludCBmb3JjZSkKKy0gICAgICAgICAgICAgICAgbWVzc2FnZShNRVNTX0RFQlVHLCAicmVuYW1pbmcgJXMgdG8gJXNcbiIsIGxvZy0+ZmlsZXNbbG9nTnVtXSwKKysgICAgICAgICAgICAgICAgbWVzc2FnZShNRVNTX0RFQlVHLCAibW92aW5nICVzIHRvICVzXG4iLCBsb2ctPmZpbGVzW2xvZ051bV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgdG1wRmlsZW5hbWUpOworLSAgICAgICAgICAgICAgICBpZiAoIWRlYnVnICYmICFoYXNFcnJvcnMgJiYgcmVuYW1lKGxvZy0+ZmlsZXNbbG9nTnVtXSwgdG1wRmlsZW5hbWUpKSB7CistICAgICAgICAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfRVJST1IsICJmYWlsZWQgdG8gcmVuYW1lICVzIHRvICVzOiAlc1xuIiwKKysgICAgICAgICAgICAgICAgaWYgKCFkZWJ1ZyAmJiAhaGFzRXJyb3JzICYmIG12RmlsZShsb2ctPmZpbGVzW2xvZ051bV0sIHJvdE5hbWVzLT5maW5hbE5hbWUsIGxvZywgcHJldl9hY2wpKSB7CisrICAgICAgICAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfRVJST1IsICJmYWlsZWQgdG8gbW92ZSAlcyB0byAlczogJXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZy0+ZmlsZXNbbG9nTnVtXSwgdG1wRmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVycm9yKGVycm5vKSk7CisgICAgICAgICAgICAgICAgICAgICBoYXNFcnJvcnMgPSAxOworICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgfQorICAgICAgICAgICAgIGVsc2UgeworLSAgICAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfREVCVUcsICJyZW5hbWluZyAlcyB0byAlc1xuIiwgbG9nLT5maWxlc1tsb2dOdW1dLAorKyAgICAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfREVCVUcsICJtb3ZpbmcgJXMgdG8gJXNcbiIsIGxvZy0+ZmlsZXNbbG9nTnVtXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICByb3ROYW1lcy0+ZmluYWxOYW1lKTsKKyAgICAgICAgICAgICAgICAgaWYgKCFkZWJ1ZyAmJiAhaGFzRXJyb3JzICYmCistICAgICAgICAgICAgICAgICAgICAgICAgcmVuYW1lKGxvZy0+ZmlsZXNbbG9nTnVtXSwgcm90TmFtZXMtPmZpbmFsTmFtZSkpIHsKKy0gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UoTUVTU19FUlJPUiwgImZhaWxlZCB0byByZW5hbWUgJXMgdG8gJXM6ICVzXG4iLAorKyAgICAgICAgICAgICAgICAgICAgICAgIG12RmlsZShsb2ctPmZpbGVzW2xvZ051bV0sIHJvdE5hbWVzLT5maW5hbE5hbWUsIGxvZywgcHJldl9hY2wpKSB7CisrICAgICAgICAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfRVJST1IsICJmYWlsZWQgdG8gbW92ZSAlcyB0byAlczogJXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZy0+ZmlsZXNbbG9nTnVtXSwgcm90TmFtZXMtPmZpbmFsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZXJyb3IoZXJybm8pKTsKKyAgICAgICAgICAgICAgICAgICAgIGhhc0Vycm9ycyA9IDE7CitAQCAtMjI5Nyw3ICsyMzQ0LDcgQEAgc3RhdGljIGludCByb3RhdGVMb2dTZXQoc3RydWN0IGxvZ0luZm8gKmxvZywgaW50IGZvcmNlKQogICAgICByZXR1cm4gaGFzRXJyb3JzOwogIH0KICAKIC1zdGF0aWMgaW50IHdyaXRlU3RhdGUoY29uc3QgY2hhciAqc3RhdGVGaWxlbmFtZSkKICtzdGF0aWMgaW50IHdyaXRlU3RhdGUoc3RydWN0IGxvZ0luZm8gKmxvZywgY2hhciAqc3RhdGVGaWxlbmFtZSkKICB7Ci0gCXN0cnVjdCBsb2dTdGF0ZSAqcDsKLSAJRklMRSAqZjsKLUBAIC0yMzIyLDcgKzIzNzAsNyBAQCBzdGF0aWMgaW50IHdyaXRlU3RhdGUoY29uc3QgY2hhciAqc3RhdGVGaWxlbmFtZSkKLSAJCWZjbG9zZShmKTsKKyAgICAgc3RydWN0IGxvZ1N0YXRlICpwOworICAgICBGSUxFICpmOworQEAgLTI0NjAsNyArMjUwNyw3IEBAIHN0YXRpYyBpbnQgd3JpdGVTdGF0ZShjb25zdCBjaGFyICpzdGF0ZUZpbGVuYW1lKQorICAgICAgICAgZmNsb3NlKGYpOwogIAotIAlpZiAoZXJyb3IgPT0gMCkgewotLQkJaWYgKHJlbmFtZSh0bXBGaWxlbmFtZSwgc3RhdGVGaWxlbmFtZSkpIHsKLSsJCWlmIChtdkZpbGUodG1wRmlsZW5hbWUsIHN0YXRlRmlsZW5hbWUsIGxvZywgcHJldl9hY2wpKSB7Ci0gCQkJdW5saW5rKHRtcEZpbGVuYW1lKTsKLSAJCQllcnJvciA9IDE7Ci0gCQkJbWVzc2FnZShNRVNTX0VSUk9SLCAiZXJyb3IgcmVuYW1pbmcgdGVtcCBzdGF0ZSBmaWxlICVzXG4iLAotQEAgLTI2NDgsNyArMjY5Niw3IEBAIGludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKLSAJCXJjIHw9IHJvdGF0ZUxvZ1NldChsb2csIGZvcmNlKTsKKyAgICAgaWYgKGVycm9yID09IDApIHsKKy0gICAgICAgIGlmIChyZW5hbWUodG1wRmlsZW5hbWUsIHN0YXRlRmlsZW5hbWUpKSB7CisrICAgICAgICBpZiAobXZGaWxlKHRtcEZpbGVuYW1lLCBzdGF0ZUZpbGVuYW1lLCBsb2csIHByZXZfYWNsKSkgeworICAgICAgICAgICAgIHVubGluayh0bXBGaWxlbmFtZSk7CisgICAgICAgICAgICAgZXJyb3IgPSAxOworICAgICAgICAgICAgIG1lc3NhZ2UoTUVTU19FUlJPUiwgImVycm9yIHJlbmFtaW5nIHRlbXAgc3RhdGUgZmlsZSAlc1xuIiwKK0BAIC0yODA1LDcgKzI4NTIsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCisgICAgICAgICByYyB8PSByb3RhdGVMb2dTZXQobG9nLCBmb3JjZSk7CiAgCi0gCWlmICghZGVidWcpCi0tCQlyYyB8PSB3cml0ZVN0YXRlKHN0YXRlRmlsZSk7Ci0rCQlyYyB8PSB3cml0ZVN0YXRlKGxvZywgc3RhdGVGaWxlKTsKKyAgICAgaWYgKCFkZWJ1ZykKKy0gICAgICAgIHJjIHw9IHdyaXRlU3RhdGUoc3RhdGVGaWxlKTsKKysgICAgICAgIHJjIHw9IHdyaXRlU3RhdGUobG9nLCBzdGF0ZUZpbGUpOwogIAotIAlyZXR1cm4gKHJjICE9IDApOworICAgICByZXR1cm4gKHJjICE9IDApOwogIH0KIC0tIAotMS44LjMuMQorMi4xOC4xCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGUvZGlzYWJsZS1jaGVjay1kaWZmZXJlbnQtZmlsZXN5c3RlbXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sb2dyb3RhdGUvbG9ncm90YXRlL2Rpc2FibGUtY2hlY2stZGlmZmVyZW50LWZpbGVzeXN0ZW1zLnBhdGNoCmluZGV4IDc5M2Q3MDIuLjk2ZmYwOTggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGUvZGlzYWJsZS1jaGVjay1kaWZmZXJlbnQtZmlsZXN5c3RlbXMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZS9kaXNhYmxlLWNoZWNrLWRpZmZlcmVudC1maWxlc3lzdGVtcy5wYXRjaApAQCAtMSw0ICsxLDcgQEAKLURpc2FibGUgdGhlIGNoZWNrIGZvciBkaWZmZXJlbnQgZmlsZXN5c3RlbXMKK0Zyb20gZTQ3Nzk2YzhlODI3MGEzZDE0ZjBiMDZhZjhhOWU5MTZjMjIyNTUxNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCA4IEphbiAyMDE5IDA2OjI3OjA2ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIERpc2FibGUgdGhlIGNoZWNrIGZvciBkaWZmZXJlbnQgZmlsZXN5c3RlbXMKIAogVGhlIGxvZ3JvdGF0ZSBzdXBwb3J0cyByb3RhdGUgbG9nIGFjcm9zcyBkaWZmZXJlbnQgZmlsZXN5c3RlbXMgbm93LCBzbwogZGlzYWJsZSB0aGUgY2hlY2sgZm9yIGRpZmZlcmVudCBmaWxlc3lzdGVtcy4KQEAgLTcsMjYgKzEwLDI5IEBACiAKIFNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgogLS0tCi0gY29uZmlnLmMgfCAgICA5IC0tLS0tLS0tLQorIGNvbmZpZy5jIHwgOSAtLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgOSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZy5jIGIvY29uZmlnLmMKLWluZGV4IGRiYmY1NjMuLjY0ZTY2ZjYgMTAwNjQ0CitpbmRleCA2MzNiODQzLi45OWE0YTNiIDEwMDY0NAogLS0tIGEvY29uZmlnLmMKICsrKyBiL2NvbmZpZy5jCi1AQCAtMTQ5MywxNSArMTQ5Myw2IEBAIHN0YXRpYyBpbnQgcmVhZENvbmZpZ0ZpbGUoY29uc3QgY2hhciAqY29uZmlnRmlsZSwgc3RydWN0IGxvZ0luZm8gKmRlZkNvbmZpZykKLSAJCQkJCQkJZ290byBlcnJvcjsKLSAJCQkJCQl9Ci0gCQkJCQl9CitAQCAtMTc2NSwxNSArMTc2NSw2IEBAIGR1cGVycm9yOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KIC0KLS0JCQkJCWlmIChzYi5zdF9kZXYgIT0gc2IyLnN0X2RldgotLQkJCQkJCSYmICEobmV3bG9nLT5mbGFncyAmIChMT0dfRkxBR19DT1BZVFJVTkNBVEUgfCBMT0dfRkxBR19DT1BZIHwgTE9HX0ZMQUdfVE1QRklMRU5BTUUpKSkgewotLQkJCQkJCW1lc3NhZ2UoTUVTU19FUlJPUiwKLS0JCQkJCQkJIiVzOiVkIG9sZGRpciAlcyBhbmQgbG9nIGZpbGUgJXMgIgotLQkJCQkJCQkiYXJlIG9uIGRpZmZlcmVudCBkZXZpY2VzXG4iLCBjb25maWdGaWxlLAotLQkJCQkJCQlsaW5lTnVtLCBuZXdsb2ctPm9sZERpciwgbmV3bG9nLT5maWxlc1tpXSk7Ci0tCQkJCQkJZ290byBlcnJvcjsKLS0JCQkJCX0KLSAJCQkJfQotIAkJCX0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNiLnN0X2RldiAhPSBzYjIuc3RfZGV2CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgIShuZXdsb2ctPmZsYWdzICYgKExPR19GTEFHX0NPUFlUUlVOQ0FURSB8IExPR19GTEFHX0NPUFkgfCBMT0dfRkxBR19UTVBGSUxFTkFNRSkpKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfRVJST1IsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczolZCBvbGRkaXIgJXMgYW5kIGxvZyBmaWxlICVzICIKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZSBvbiBkaWZmZXJlbnQgZGV2aWNlc1xuIiwgY29uZmlnRmlsZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZU51bSwgbmV3bG9nLT5vbGREaXIsIG5ld2xvZy0+ZmlsZXNbaV0pOworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgIH0KICAKKy0tIAorMi4xOC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGVfMy4xNC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZV8zLjE0LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjYzY4YWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZV8zLjE0LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi1TVU1NQVJZID0gIlJvdGF0ZXMsIGNvbXByZXNzZXMsIHJlbW92ZXMgYW5kIG1haWxzIHN5c3RlbSBsb2cgZmlsZXMiCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vbG9ncm90YXRlL2xvZ3JvdGF0ZS9pc3N1ZXMiCi1MSUNFTlNFID0gIkdQTHYyIgotCi0jIFRPRE86IERvY3VtZW50IGNvcmV1dGlscyBkZXBlbmRlbmN5LiBXaHkgbm90IFJERVBFTkRTPyBXaHkgbm90IGJ1c3lib3g/Ci0KLURFUEVORFM9ImNvcmV1dGlscyBwb3B0IgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLQotIyBXaGVuIHVwZGF0aW5nIGxvZ3JvdGF0ZSB0byBsYXRlc3QgdXBzdHJlYW0sIFNSQ19VUkkgc2hvdWxkIHBvaW50IHRvCi0jIGEgcHJvcGVyIHJlbGVhc2UgdGFyYmFsbCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9sb2dyb3RhdGUvbG9ncm90YXRlL3JlbGVhc2VzCi0jIGFuZCB3ZSBoYXZlIHRvIHRha2UgdGhlIHNuYXBzaG90IGZvciBub3cgYmVjYXVzZSB0aGVyZSBpcyBubyBzdWNoCi0jIHRhcmJhbGwgYXZhaWxhYmxlIGZvciAzLjkuMS4KLQotUyA9ICIke1dPUktESVJ9LyR7QlBOfS0ke1BWfSIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS8ke0JQTn0vJHtCUE59L3JlbGVhc2VzIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAibG9ncm90YXRlLSg/UDxwdmVyPlxkKyhcLlxkKykrKS50YXIiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tLyR7QlBOfS8ke0JQTn0vcmVsZWFzZXMvZG93bmxvYWQvJHtQVn0vJHtCUH0udGFyLnh6IFwKLSAgICAgICAgICAgIGZpbGU6Ly9hY3QtYXMtbXYtd2hlbi1yb3RhdGUucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3VwZGF0ZS10aGUtbWFudWFsLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLWNoZWNrLWRpZmZlcmVudC1maWxlc3lzdGVtcy5wYXRjaCBcCi0gICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIxYzBmNmU2ZTQ5MGM0YmNhYzBhMWU3N2FkMTMxMDY4MyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0NzAzYmRjMGUyZGYzYjMyMmY5ZGZmMGFhZmM5OWFhOTE3MmM5ZTRhY2FlMjhiN2M5MjRjYzdkNGU1YjI5ZDU1IgotCi1QQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhY2wgc2VsaW51eCcsIGQpfSIKLQotUEFDS0FHRUNPTkZJR1thY2xdID0gIiwsYWNsIgotUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICIsLGxpYnNlbGludXgiCi0KLUNPTkZGSUxFU18ke1BOfSArPSAiJHtsb2NhbHN0YXRlZGlyfS9saWIvbG9ncm90YXRlLnN0YXR1cyBcCi0gICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmNvbmYgXAotICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kL2J0bXAgXAotICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kL3d0bXAiCi0KLSMgSWYgUlBNX09QVF9GTEFHUyBpcyB1bnNldCwgaXQgYWRkcyAtZyBpdHNlbGYgcmF0aGVyIHRoYW4gb2JleWluZyBvdXIKLSMgb3B0aW1pemF0aW9uIHZhcmlhYmxlcywgc28gdXNlIGl0IHJhdGhlciB0aGFuIEVYVFJBX0NGTEFHUy4KLUVYVFJBX09FTUFLRSA9ICJcCi0gICAgTEZTPSBcCi0gICAgT1NfTkFNRT0nJHtPU19OQU1FfScgXAotICAgICdDQz0ke0NDfScgXAotICAgICdSUE1fT1BUX0ZMQUdTPSR7Q0ZMQUdTfScgXAotICAgICdFWFRSQV9MREZMQUdTPSR7TERGTEFHU30nIFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdhY2wnLCAnV0lUSF9BQ0w9eWVzJywgJycsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc2VsaW51eCcsICdXSVRIX1NFTElOVVg9eWVzJywgJycsIGQpfSBcCi0iCi0KLSMgT1NfTkFNRSBpbiB0aGUgbWFrZWZpbGUgZGVmYXVsdHMgdG8gYHVuYW1lIC1zYC4gVGhlIGJlaGF2aW9yIGZvcgotIyBmcmVlYnNkL25ldGJzZCBpcyBxdWVzdGlvbmFibGUsIHNvIGxlYXZlIGl0IGFzIExpbnV4LCB3aGljaCBvbmx5IHNldHMKLSMgSU5TVEFMTD1pbnN0YWxsIGFuZCBCQVNFRElSPS91c3IuCi1PU19OQU1FID0gIkxpbnV4IgotCi1pbmhlcml0IGF1dG90b29scyBzeXN0ZW1kCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJcCi0gICAgJHtCUE59LnNlcnZpY2UgXAotICAgICR7QlBOfS50aW1lciBcCi0iCi0KLUxPR1JPVEFURV9PUFRJT05TID89ICIiCi0KLUxPR1JPVEFURV9TWVNURU1EX1RJTUVSX0JBU0lTID89ICJkYWlseSIKLUxPR1JPVEFURV9TWVNURU1EX1RJTUVSX0FDQ1VSQUNZID89ICIxMmgiCi1MT0dST1RBVEVfU1lTVEVNRF9USU1FUl9QRVJTSVNURU5UID89ICJ0cnVlIgotCi1kb19pbnN0YWxsKCl7Ci0gICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfSBQUkVGSVg9JHtEfSBNQU5ESVI9JHttYW5kaXJ9Ci0gICAgbWtkaXIgLXAgJHtEfSR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmQKLSAgICBta2RpciAtcCAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIKLSAgICBpbnN0YWxsIC1wIC1tIDY0NCAke1N9L2V4YW1wbGVzL2xvZ3JvdGF0ZS1kZWZhdWx0ICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5jb25mCi0gICAgaW5zdGFsbCAtcCAtbSA2NDQgJHtTfS9leGFtcGxlcy9idG1wICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kL2J0bXAKLSAgICBpbnN0YWxsIC1wIC1tIDY0NCAke1N9L2V4YW1wbGVzL3d0bXAgJHtEfSR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmQvd3RtcAotICAgIHRvdWNoICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9sb2dyb3RhdGUuc3RhdHVzCi0KLSAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9Ci0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2V4YW1wbGVzL2xvZ3JvdGF0ZS5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2xvZ3JvdGF0ZS5zZXJ2aWNlCi0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2V4YW1wbGVzL2xvZ3JvdGF0ZS50aW1lciAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9sb2dyb3RhdGUudGltZXIKLSAgICAgICAgWyAteiAiJHtMT0dST1RBVEVfT1BUSU9OU30iIF0gfHwKLSAgICAgICAgICAgIHNlZCAtcmkgXAotICAgICAgICAgICAgICAgIC1lICdzfChFeGVjU3RhcnQ9LiovbG9ncm90YXRlLiopJHxcMSAke0xPR1JPVEFURV9PUFRJT05TfXxnJyBcCi0gICAgICAgICAgICAgICAgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbG9ncm90YXRlLnNlcnZpY2UKLSAgICAgICAgc2VkIC1yaSBcCi0gICAgICAgICAgICAtZSAnc3woT25DYWxlbmRhcj0pLiokfFwxJHtMT0dST1RBVEVfU1lTVEVNRF9USU1FUl9CQVNJU318ZycgXAotICAgICAgICAgICAgLWUgJ3N8KEFjY3VyYWN5U2VjPSkuKiR8XDEke0xPR1JPVEFURV9TWVNURU1EX1RJTUVSX0FDQ1VSQUNZfXxnJyBcCi0gICAgICAgICAgICAtZSAnc3woUGVyc2lzdGVudD0pLiokfFwxJHtMT0dST1RBVEVfU1lTVEVNRF9USU1FUl9QRVJTSVNURU5UfXxnJyBcCi0gICAgICAgICAgICAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9sb2dyb3RhdGUudGltZXIKLSAgICBmaQotCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIG1rZGlyIC1wICR7RH0ke3N5c2NvbmZkaXJ9L2Nyb24uZGFpbHkKLSAgICAgICAgaW5zdGFsbCAtcCAtbSAwNzU1ICR7U30vZXhhbXBsZXMvbG9ncm90YXRlLmNyb24gJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5kYWlseS9sb2dyb3RhdGUKLSAgICBmaQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZV8zLjE1LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sb2dyb3RhdGUvbG9ncm90YXRlXzMuMTUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjNkYTJiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZV8zLjE1LjAuYmIKQEAgLTAsMCArMSw5OSBAQAorU1VNTUFSWSA9ICJSb3RhdGVzLCBjb21wcmVzc2VzLCByZW1vdmVzIGFuZCBtYWlscyBzeXN0ZW0gbG9nIGZpbGVzIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2xvZ3JvdGF0ZS9sb2dyb3RhdGUvaXNzdWVzIgorTElDRU5TRSA9ICJHUEx2MiIKKworIyBUT0RPOiBEb2N1bWVudCBjb3JldXRpbHMgZGVwZW5kZW5jeS4gV2h5IG5vdCBSREVQRU5EUz8gV2h5IG5vdCBidXN5Ym94PworCitERVBFTkRTPSJjb3JldXRpbHMgcG9wdCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKKyMgV2hlbiB1cGRhdGluZyBsb2dyb3RhdGUgdG8gbGF0ZXN0IHVwc3RyZWFtLCBTUkNfVVJJIHNob3VsZCBwb2ludCB0bworIyBhIHByb3BlciByZWxlYXNlIHRhcmJhbGwgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbG9ncm90YXRlL2xvZ3JvdGF0ZS9yZWxlYXNlcworIyBhbmQgd2UgaGF2ZSB0byB0YWtlIHRoZSBzbmFwc2hvdCBmb3Igbm93IGJlY2F1c2UgdGhlcmUgaXMgbm8gc3VjaAorIyB0YXJiYWxsIGF2YWlsYWJsZSBmb3IgMy45LjEuCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tJHtQVn0iCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vJHtCUE59LyR7QlBOfS9yZWxlYXNlcyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gImxvZ3JvdGF0ZS0oP1A8cHZlcj5cZCsoXC5cZCspKykudGFyIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS8ke0JQTn0vJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci54eiBcCisgICAgICAgICAgICBmaWxlOi8vYWN0LWFzLW12LXdoZW4tcm90YXRlLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly91cGRhdGUtdGhlLW1hbnVhbC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1jaGVjay1kaWZmZXJlbnQtZmlsZXN5c3RlbXMucGF0Y2ggXAorICAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMzIwMDQ2ZjBiOWZjMzgzMzdlODgyN2Q0YzVhODY2YTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzEzNjEyYzQ3NzZhMzA1MzkzNDU0Yzg3NGVmNTkwZDhhY2Y4NGM5ZmZhNjQ4NzE3NzMxZGZlOTAyMjg0ZmY4ZiIKKworUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnYWNsIHNlbGludXgnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbYWNsXSA9ICIsLGFjbCIKK1BBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLCxsaWJzZWxpbnV4IgorCitDT05GRklMRVNfJHtQTn0gKz0gIiR7bG9jYWxzdGF0ZWRpcn0vbGliL2xvZ3JvdGF0ZS5zdGF0dXMgXAorICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC9idG1wIFwKKyAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC93dG1wIgorCisjIElmIFJQTV9PUFRfRkxBR1MgaXMgdW5zZXQsIGl0IGFkZHMgLWcgaXRzZWxmIHJhdGhlciB0aGFuIG9iZXlpbmcgb3VyCisjIG9wdGltaXphdGlvbiB2YXJpYWJsZXMsIHNvIHVzZSBpdCByYXRoZXIgdGhhbiBFWFRSQV9DRkxBR1MuCitFWFRSQV9PRU1BS0UgPSAiXAorICAgIExGUz0gXAorICAgIE9TX05BTUU9JyR7T1NfTkFNRX0nIFwKKyAgICAnQ0M9JHtDQ30nIFwKKyAgICAnUlBNX09QVF9GTEFHUz0ke0NGTEFHU30nIFwKKyAgICAnRVhUUkFfTERGTEFHUz0ke0xERkxBR1N9JyBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnYWNsJywgJ1dJVEhfQUNMPXllcycsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3NlbGludXgnLCAnV0lUSF9TRUxJTlVYPXllcycsICcnLCBkKX0gXAorIgorCisjIE9TX05BTUUgaW4gdGhlIG1ha2VmaWxlIGRlZmF1bHRzIHRvIGB1bmFtZSAtc2AuIFRoZSBiZWhhdmlvciBmb3IKKyMgZnJlZWJzZC9uZXRic2QgaXMgcXVlc3Rpb25hYmxlLCBzbyBsZWF2ZSBpdCBhcyBMaW51eCwgd2hpY2ggb25seSBzZXRzCisjIElOU1RBTEw9aW5zdGFsbCBhbmQgQkFTRURJUj0vdXNyLgorT1NfTkFNRSA9ICJMaW51eCIKKworaW5oZXJpdCBhdXRvdG9vbHMgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiXAorICAgICR7QlBOfS5zZXJ2aWNlIFwKKyAgICAke0JQTn0udGltZXIgXAorIgorCitMT0dST1RBVEVfT1BUSU9OUyA/PSAiIgorCitMT0dST1RBVEVfU1lTVEVNRF9USU1FUl9CQVNJUyA/PSAiZGFpbHkiCitMT0dST1RBVEVfU1lTVEVNRF9USU1FUl9BQ0NVUkFDWSA/PSAiMTJoIgorTE9HUk9UQVRFX1NZU1RFTURfVElNRVJfUEVSU0lTVEVOVCA/PSAidHJ1ZSIKKworZG9faW5zdGFsbCgpeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0gUFJFRklYPSR7RH0gTUFORElSPSR7bWFuZGlyfQorICAgIG1rZGlyIC1wICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kCisgICAgbWtkaXIgLXAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliCisgICAgaW5zdGFsbCAtcCAtbSA2NDQgJHtTfS9leGFtcGxlcy9sb2dyb3RhdGUuY29uZiAke0R9JHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuY29uZgorICAgIGluc3RhbGwgLXAgLW0gNjQ0ICR7U30vZXhhbXBsZXMvYnRtcCAke0R9JHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC9idG1wCisgICAgaW5zdGFsbCAtcCAtbSA2NDQgJHtTfS9leGFtcGxlcy93dG1wICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kL3d0bXAKKyAgICB0b3VjaCAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvbG9ncm90YXRlLnN0YXR1cworCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9leGFtcGxlcy9sb2dyb3RhdGUuc2VydmljZSAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9sb2dyb3RhdGUuc2VydmljZQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9leGFtcGxlcy9sb2dyb3RhdGUudGltZXIgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbG9ncm90YXRlLnRpbWVyCisgICAgICAgIFsgLXogIiR7TE9HUk9UQVRFX09QVElPTlN9IiBdIHx8CisgICAgICAgICAgICBzZWQgLXJpIFwKKyAgICAgICAgICAgICAgICAtZSAnc3woRXhlY1N0YXJ0PS4qL2xvZ3JvdGF0ZS4qKSR8XDEgJHtMT0dST1RBVEVfT1BUSU9OU318ZycgXAorICAgICAgICAgICAgICAgICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2xvZ3JvdGF0ZS5zZXJ2aWNlCisgICAgICAgIHNlZCAtcmkgXAorICAgICAgICAgICAgLWUgJ3N8KE9uQ2FsZW5kYXI9KS4qJHxcMSR7TE9HUk9UQVRFX1NZU1RFTURfVElNRVJfQkFTSVN9fGcnIFwKKyAgICAgICAgICAgIC1lICdzfChBY2N1cmFjeVNlYz0pLiokfFwxJHtMT0dST1RBVEVfU1lTVEVNRF9USU1FUl9BQ0NVUkFDWX18ZycgXAorICAgICAgICAgICAgLWUgJ3N8KFBlcnNpc3RlbnQ9KS4qJHxcMSR7TE9HUk9UQVRFX1NZU1RFTURfVElNRVJfUEVSU0lTVEVOVH18ZycgXAorICAgICAgICAgICAgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbG9ncm90YXRlLnRpbWVyCisgICAgZmkKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBta2RpciAtcCAke0R9JHtzeXNjb25mZGlyfS9jcm9uLmRhaWx5CisgICAgICAgIGluc3RhbGwgLXAgLW0gMDc1NSAke1N9L2V4YW1wbGVzL2xvZ3JvdGF0ZS5jcm9uICR7RH0ke3N5c2NvbmZkaXJ9L2Nyb24uZGFpbHkvbG9ncm90YXRlCisgICAgZmkKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS1tbWFwMTUtbWlwczY0LXJldHVybi1FSU5WQUwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtbW1hcDE1LW1pcHM2NC1yZXR1cm4tRUlOVkFMLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOGViYTI3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS1tbWFwMTUtbWlwczY0LXJldHVybi1FSU5WQUwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIGI5MDk4MDViNGZjMWI3MmUwY2UyOTlhZmI0YWJjMDI3MjBlZTgxZGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEZW5na2UgRHUgPGRlbmdrZS5kdUB3aW5kcml2ZXIuY29tPgotRGF0ZTogV2VkLCAxMiBTZXAgMjAxOCAxNDoyNDozNSArMDgwMAotU3ViamVjdDogW1BBVENIXSBtbWFwMTU6IG1pcHM2NCByZXR1cm4gRUlOVkFMCi0KLUluIG1pcHM2NCBrZXJuZWwsIHN5c3RlbSBjaGVjayB0aGUgYWRkciB0aGF0IHBhc3NlZCB0byBtbWFwOgotCi0gICAgaWYgKFRBU0tfU0laRSAtIGxlbiA8IGFkZHIpCi0gICAgICAgIHJldHVybiAtRUlOVkFMOwotCi1MaW5rOiBodHRwczovL2dpdGh1Yi5jb20vdG9ydmFsZHMvbGludXgvYmxvYi9tYXN0ZXIvYXJjaC9taXBzL21tL21tYXAuYyNMNzEKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9saW51eC10ZXN0LXByb2plY3QvbHRwL3B1bGwvMzk0XQotCi1TaWduZWQtb2ZmLWJ5OiBEZW5na2UgRHUgPGRlbmdrZS5kdUB3aW5kcml2ZXIuY29tPgotLS0tCi0gdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9tbWFwL21tYXAxNS5jIHwgNSArKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvbW1hcC9tbWFwMTUuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvbW1hcC9tbWFwMTUuYwotaW5kZXggZWZmMjdkNi4uYTEwYjVjNyAxMDA2NDQKLS0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvbW1hcC9tbWFwMTUuYwotKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9tbWFwL21tYXAxNS5jCi1AQCAtODEsOSArODEsMTQgQEAgaW50IG1haW4oaW50IGFjLCBjaGFyICoqYXYpCi0gCQl9Ci0gCi0gCQlpZiAoZXJybm8gIT0gRU5PTUVNKSB7Ci0rI2lmZGVmIF9fbWlwc19fCi0rCQkJdHN0X3Jlc20oVFBBU1MgfCBURVJSTk8sICJtbWFwIGludG8gaGlnaCByZWdpb24gIgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsZWQgYXMgZXhwZWN0ZWQiKTsgICAgICAgICAgICAgICAgICAgICAgICAKLSsjZWxzZQotIAkJCXRzdF9yZXNtKFRGQUlMIHwgVEVSUk5PLCAibW1hcCBpbnRvIGhpZ2ggcmVnaW9uICIKLSAJCQkJICJmYWlsZWQgdW5leHBlY3RlZGx5IC0gZXhwZWN0ICIKLSAJCQkJICJlcnJubz1FTk9NRU0sIGdvdCIpOwotKyNlbmRpZgotIAkJfSBlbHNlIHsKLSAJCQl0c3RfcmVzbShUUEFTUyB8IFRFUlJOTywgIm1tYXAgaW50byBoaWdoIHJlZ2lvbiAiCi0gCQkJCSAiZmFpbGVkIGFzIGV4cGVjdGVkIik7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS1uZXRuc19oZWxwZXIuc2gtdXNlLXBpbmctNi13aGVuLXBpbmc2LWlzLW5vdC1hdmFsaWFiLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLW5ldG5zX2hlbHBlci5zaC11c2UtcGluZy02LXdoZW4tcGluZzYtaXMtbm90LWF2YWxpYWIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyZTdhMGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLW5ldG5zX2hlbHBlci5zaC11c2UtcGluZy02LXdoZW4tcGluZzYtaXMtbm90LWF2YWxpYWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi1Gcm9tIDc2ZDgzNDNhZDMwMGY2NTA3MjMzYWJjZGY5NzYyOTI5MGUzNTg0OGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBMZWkgWWFuZyA8TGVpLllhbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMjkgQXVnIDIwMTggMTE6NTE6MjQgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gbmV0bnNfaGVscGVyLnNoOiB1c2UgJ3BpbmcgLTYnIHdoZW4gcGluZzYgaXMgbm90IGF2YWxpYWJsZQotCi1waW5nNiBoYXMgYmVlbiBtZXJnZWQgaW50byBwaW5nIHNpbmNlIDIwMTUgYnkgdXNpbmcgInBpbmcgLTYiCi1pbiBzb21lIGRpc3RyaWJ1dGlvbnMgKGUuZy4gT3BlbkVtYmVkZGVkKSB0aGV5IGRyb3BwZWQgcGluZzYgY29tcGxldGVseQotdGhpcyBwYXRjaCB3aWxsIGxldCBib3RoICJwaW5nIC02IiBhbmQgcGluZzYgd29yay4KLQotW3B2b3JlbDogY2hhbmdlIHdhcyBkb25lIGluIHMyMDE1MDgxNToKLWViYWQzNWYgKCJwaW5nOiBtZXJnZSBgcGluZzZgIGNvbW1hbmQgaW50byBgcGluZ2AiKSwKLWJlZm9yZSB0aGF0IHJlbGVhc2Ugc3dpdGNoICctNicgZGlkbid0IGV4aXN0LgotVXBzdHJlYW0gbGVhdmVzIHBpbmc2IHN5bWxpbmsgdG8gZGlzdHJpYnV0aW9ucy5dCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVtodHRwczovL2dpdGh1Yi5jb20vbGludXgtdGVzdC1wcm9qZWN0L2x0cC9jb21taXQvNzZkODM0M2FkMzAwZjY1MDcyMzNhYmNkZjk3NjI5MjkwZTM1ODQ4YV0KLQotU2lnbmVkLW9mZi1ieTogTGVpIFlhbmcgPExlaS5ZYW5nQHdpbmRyaXZlci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBQZXRyIFZvcmVsIDxwdm9yZWxAc3VzZS5jej4KLVNpZ25lZC1vZmYtYnk6IFlpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHRlc3RjYXNlcy9rZXJuZWwvY29udGFpbmVycy9uZXRucy9uZXRuc19oZWxwZXIuc2ggfCA3ICsrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL2NvbnRhaW5lcnMvbmV0bnMvbmV0bnNfaGVscGVyLnNoIGIvdGVzdGNhc2VzL2tlcm5lbC9jb250YWluZXJzL25ldG5zL25ldG5zX2hlbHBlci5zaAotaW5kZXggNmFlYTEwYi4uYTlkMDQ1OSAxMDA3NTUKLS0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvY29udGFpbmVycy9uZXRucy9uZXRuc19oZWxwZXIuc2gKLSsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvY29udGFpbmVycy9uZXRucy9uZXRuc19oZWxwZXIuc2gKLUBAIC0xNjgsNyArMTY4LDEyIEBAIG5ldG5zX3NldHVwKCkKLSAJaXB2NikKLSAJCUlGQ09ORl9JTjZfQVJHPSJpbmV0NiBhZGQiCi0gCQlJUDA9JDY7IElQMT0kNzsKLS0JCXRwaW5nPSJwaW5nNiI7IE5FVE1BU0s9NjQKLSsJCWlmIHdoaWNoIHBpbmc2ID4vZGV2L251bGwgMj4mMTsgdGhlbgotKwkJICAgIHRwaW5nPSJwaW5nNiIKLSsJCWVsc2UKLSsJCSAgICB0cGluZz0icGluZyAtNiIKLSsJCWZpCi0rCQlORVRNQVNLPTY0Ci0gCQk7OwotIAkqKQotIAkJdHN0X2Jya20gVEJST0sgInNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGFuIGlwIHZlcnNpb24gKGlwdjR8aXB2NikiCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS1vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS1tbWFwMjQtMi1SZWxheC1jb25kaXRpb24tYS1iaXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtb3Blbl9wb3NpeF90ZXN0c3VpdGUtbW1hcDI0LTItUmVsYXgtY29uZGl0aW9uLWEtYml0LnBhdGNoCmluZGV4IDRkNzcxYzAuLjg0NzM2MDUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS1vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS1tbWFwMjQtMi1SZWxheC1jb25kaXRpb24tYS1iaXQucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLW9wZW5fcG9zaXhfdGVzdHN1aXRlLW1tYXAyNC0yLVJlbGF4LWNvbmRpdGlvbi1hLWJpdC5wYXRjaApAQCAtNDMsOCArNDMsOCBAQAogKyAqIDMuIFNob3VsZCBnZXQgRU5PTUVNIG9yIEVJTlZBTC4KICAgKi8KICAKLSAjZGVmaW5lIF9YT1BFTl9TT1VSQ0UgNjAwCi1AQCAtOTMsOCArOTMsOCBAQCBpbnQgbWFpbih2b2lkKQorICNpbmNsdWRlIDxzdGRpby5oPgorQEAgLTkyLDggKzkyLDggQEAgaW50IG1haW4odm9pZCkKICAJICAgICAgICh1bnNpZ25lZCBsb25nKWxlbik7CiAgCXBhID0gbW1hcChhZGRyLCBsZW4sIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsIE1BUF9GSVhFRCB8IE1BUF9TSEFSRUQsIGZkLAogIAkJICAwKTsKQEAgLTU1LDcgKzU1LDcgQEAKICAJCWV4aXQoUFRTX1BBU1MpOwogIAl9CiAgCi1AQCAtMTAzLDYgKzEwMyw2IEBAIGludCBtYWluKHZvaWQpCitAQCAtMTAyLDYgKzEwMiw2IEBAIGludCBtYWluKHZvaWQpCiAgCWVsc2UKICAJCW11bm1hcChwYSwgbGVuKTsKICAJY2xvc2UoZmQpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLXNpZ3dhaXRpbmZvMDEtcmVjZW50LWdsaWJjLWNhbGxzLXN5c2NhbGwtZGlyZWN0bHkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtc2lnd2FpdGluZm8wMS1yZWNlbnQtZ2xpYmMtY2FsbHMtc3lzY2FsbC1kaXJlY3RseS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzQxMmM4OS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtc2lnd2FpdGluZm8wMS1yZWNlbnQtZ2xpYmMtY2FsbHMtc3lzY2FsbC1kaXJlY3RseS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc1ICswLDAgQEAKLUZyb20gYmI5NzdjYTA3MTZhZTk4ZjEwMTAyYzcxMjJmZTE1YmMwZGRiNTM1NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ICJIb25nemhpLlNvbmciIDxob25nemhpLnNvbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IFRodSwgMjAgU2VwIDIwMTggMjE6NDk6MDIgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gc2lnd2FpdGluZm8wMTogcmVjZW50IGdsaWJjIGNhbGxzIHN5c2NhbGwgZGlyZWN0bHkKLQotZ2xpYmMgY29tbWl0Ci0gIDhiMGU3OTVhYWE0NCAoIlNpbXBsaWZ5IExpbnV4IHNpZ3t0aW1lZH13YWl0e2luZm99IGltcGxlbWVudGF0aW9ucyIpCi1jaGFuZ2VkIHNpZ3dhaXRpbmZvIHRvIGNhbGwgc2lndGltZWR3YWl0LCB3aGljaCBjYWxscyBydF9zaWd0aW1lZHdhaXQKLXN5c2NhbGwgZGlyZWN0bHkuCi0KLVNvLCBhbiBpbnZhbGlkIHBvaW50ZXIgbm8gbG9uZ2VyIGNyYXNoZXMgY2hpbGQgcHJvY2VzcyBhbmQgdGVzdAotcmVwb3J0cyBmYWlsdXJlLiBGaXggaXQgYnkgYWNjZXB0aW5nIGVpdGhlciBjcmFzaCBvciBFRkFVTFQuCi0KLVNpZ25lZC1vZmYtYnk6IEphbiBTdGFuY2VrIDxqc3RhbmNla0ByZWRoYXQuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9saXN0cy5saW51eC5pdC9waXBlcm1haWwvbHRwLzIwMTgtU2VwdGVtYmVyLzAwOTMzOC5odG1sXQotCi1TaWduZWQtb2ZmLWJ5OiBIb25nemhpLlNvbmcgPGhvbmd6aGkuc29uZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gLi4uL2tlcm5lbC9zeXNjYWxscy9zaWd3YWl0aW5mby9zaWd3YWl0aW5mbzAxLmMgICAgfCAzMCArKysrKysrKysrKysrKysrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NpZ3dhaXRpbmZvL3NpZ3dhaXRpbmZvMDEuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2lnd2FpdGluZm8vc2lnd2FpdGluZm8wMS5jCi1pbmRleCA5NWE5NDM2YTQuLjhmYThhYzM0YiAxMDA2NDQKLS0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2lnd2FpdGluZm8vc2lnd2FpdGluZm8wMS5jCi0rKysgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NpZ3dhaXRpbmZvL3NpZ3dhaXRpbmZvMDEuYwotQEAgLTM3MSwxOSArMzcxLDQxIEBAIHZvaWQgdGVzdF9iYWRfYWRkcmVzczIoc3dpX2Z1bmMgc2lnd2FpdGluZm8sIGludCBzaWdubykKLSAJCXRzdF9icmttKFRCUk9LIHwgVEVSUk5PLCBOVUxMLCAiZm9yaygpIGZhaWxlZCIpOwotIAljYXNlIDA6Ci0gCQlzaWduYWwoU0lHU0VHViwgU0lHX0RGTCk7Ci0rCi0rICAgICAgIC8qCi0rICAgICAgICAqIGRlcGVuZGluZyBvbiBnbGliYyBpbXBsZW1lbnRhdGlvbiB3ZSBzaG91bGQKLSsgICAgICAgICogZWl0aGVyIGNyYXNoIG9yIGdldCBFRkFVTFQKLSsgICAgICAgICovCi0gCQlURVNUKHNpZ3dhaXRpbmZvKCh2b2lkICopMSwgTlVMTCwgTlVMTCkpOwotIAotLQkJX2V4aXQoMCk7Ci0rICAgICAgIGlmIChURVNUX1JFVFVSTiA9PSAtMSAmJiBURVNUX0VSUk5PID09IEVGQVVMVCkKLSsgICAgICAgICAgIF9leGl0KDApOwotKwotKyAgICAgICB0c3RfcmVzbShUSU5GTywgInN3aV9mdW5jIHJldHVybmVkOiAlbGQsIGVycm5vOiAlZCIsCi0rICAgICAgICAgICBURVNUX1JFVFVSTiwgVEVTVF9FUlJOTyk7Ci0rICAgICAgIF9leGl0KDEpOwotKwotIAkJYnJlYWs7Ci0gCWRlZmF1bHQ6Ci0gCQlicmVhazsKLSAJfQotIAotIAlTVUNDRUVEX09SX0RJRSh3YWl0cGlkLCAid2FpdHBpZCBmYWlsZWQiLCBwaWQsICZzdGF0dXMsIDApOwotLQlpZiAoV0lGU0lHTkFMRUQoc3RhdHVzKSAmJiBXVEVSTVNJRyhzdGF0dXMpID09IFNJR1NFR1YpCi0rCi0rICAgaWYgKChXSUZTSUdOQUxFRChzdGF0dXMpICYmIFdURVJNU0lHKHN0YXR1cykgPT0gU0lHU0VHVikKLSsgICAgICAgfHwgKFdJRkVYSVRFRChzdGF0dXMpICYmIFdFWElUU1RBVFVTKHN0YXR1cykgPT0gMCkpIHsKLSAJCXRzdF9yZXNtKFRQQVNTLCAiVGVzdCBwYXNzZWQiKTsKLS0JZWxzZQotLQkJdHN0X3Jlc20oVEZBSUwsICJVbnJlY29nbmlzZWQgY2hpbGQgZXhpdCBjb2RlIik7Ci0rICAgICAgIHJldHVybjsKLSsgICB9Ci0rCi0rICAgaWYgKFdJRkVYSVRFRChzdGF0dXMpKSB7Ci0rICAgICAgIHRzdF9yZXNtKFRGQUlMLCAiVW5yZWNvZ25pc2VkIGNoaWxkIGV4aXQgY29kZTogJWQiLAotKyAgICAgICAgICAgV0VYSVRTVEFUVVMoc3RhdHVzKSk7Ci0rICAgfQotKyAgIGlmIChXSUZTSUdOQUxFRChzdGF0dXMpKSB7Ci0rICAgICAgIHRzdF9yZXNtKFRGQUlMLCAiVW5yZWNvZ25pc2VkIGNoaWxkIHRlcm1zaWc6ICVkIiwKLSsgICAgICAgICAgIFdURVJNU0lHKHN0YXR1cykpOwotKyAgIH0KLSB9Ci0gCi0gdm9pZCB0ZXN0X2JhZF9hZGRyZXNzMyhzd2lfZnVuYyBzaWd3YWl0aW5mbywgaW50IHNpZ25vKQotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLXN5c2NhbGxzLWZjbnRsLW1ha2UtT0ZELWNvbW1hbmQtdXNlLWZjbnRsNjQtc3lzY2FsbC0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtc3lzY2FsbHMtZmNudGwtbWFrZS1PRkQtY29tbWFuZC11c2UtZmNudGw2NC1zeXNjYWxsLS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc1NTU5Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtc3lzY2FsbHMtZmNudGwtbWFrZS1PRkQtY29tbWFuZC11c2UtZmNudGw2NC1zeXNjYWxsLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE4NCArMCwwIEBACi1Gcm9tIDhkZTAzZWExMjAwNDgwYjkyMmQ1YmEwNWI2OWRjOTRkYjYwNDk2ZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiAiSG9uZ3poaS5Tb25nIiA8aG9uZ3poaS5zb25nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBTYXQsIDE1IFNlcCAyMDE4IDIyOjM5OjMyIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHN5c2NhbGxzL2ZjbnRsOiBtYWtlIE9GRCBjb21tYW5kIHVzZSBmY250bDY0KCkgc3lzY2FsbCBvbgotIDMyLWJpdAotCi1UbyBjb3BlIHdpdGggZ2xpYmMgY29tbWl0OgotICAwNmFiNzE5ZDMwYjAgKCJGaXggTGludXggZmNudGwgT0ZEIGxvY2tzIGZvciBub24tTEZTIGFyY2hpdGVjdHVyZXMKLShCWiMyMDI1MSkiKQotCi1XSVA6IFN0aWxsIG5lZWQgdG8gdGVzdCB0aGlzIHdpdGggbmV3IGdsaWJjLgotICAgICBUZXN0IHdpdGggb2xkIGdsaWJjIGxvb2sgT0sgc28gZmFyLgotCi1TaWduZWQtb2ZmLWJ5OiBKYW4gU3RhbmNlayA8anN0YW5jZWtAcmVkaGF0LmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotICAgIEJhY2twb3J0ZWQgZnJvbSB1cHN0cmVhbSBtYWlsbGlzdAotICAgIGh0dHBzOi8vbGlzdHMubGludXguaXQvcGlwZXJtYWlsL2x0cC8yMDE4LVNlcHRlbWJlci8wMDkzNzAuaHRtbAotCi1TaWduZWQtb2ZmLWJ5OiBIb25nemhpIFNvbmcgPGhvbmd6aGkuc29uZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bDM0LmMgICAgICB8IDEyICsrKysrKystLS0KLSB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsMzYuYyAgICAgIHwgMjMgKysrKysrKysrKysrKy0tLS0tCi0gdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bF9jb21tb24uaCB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsX2NvbW1vbi5oCi0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsMzQuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZmNudGwvZmNudGwzNC5jCi1pbmRleCBhYTI5Y2Y5Li4xMDlmODM0IDEwMDY0NAotLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bDM0LmMKLSsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZmNudGwvZmNudGwzNC5jCi1AQCAtMjgsNiArMjgsNyBAQAotICNpbmNsdWRlICJsYXBpL2ZjbnRsLmgiCi0gI2luY2x1ZGUgInRzdF9zYWZlX3B0aHJlYWQuaCIKLSAjaW5jbHVkZSAidHN0X3Rlc3QuaCIKLSsjaW5jbHVkZSAiZmNudGxfY29tbW9uLmgiCi0gCi0gc3RhdGljIGludCB0aHJlYWRfY250OwotIHN0YXRpYyBjb25zdCBpbnQgbWF4X3RocmVhZF9jbnQgPSAzMjsKLUBAIC02OCw3ICs2OSwxMiBAQCB2b2lkICp0aHJlYWRfZm5fMDEodm9pZCAqYXJnKQotIAotIAltZW1zZXQoYnVmLCAoaW50cHRyX3QpYXJnLCB3cml0ZV9zaXplKTsKLSAKLS0Jc3RydWN0IGZsb2NrNjQgbGNrID0gewotKyAgICAvKiBzZWUgZXhwbGFuYXRpb24gaW4gZmNudGxfY29tbW9uLmggKi8KLSsgICAgI2lmZGVmIFVTRV9TVFJVQ1RfRkxPQ0sKLSsgICAgICAgIHN0cnVjdCBmbG9jayBsY2sgPSB7Ci0rICAgICNlbHNlCi0rICAgICAgICBzdHJ1Y3QgZmxvY2s2NCBsY2sgPSB7Ci0rICAgICNlbmRpZgotIAkJLmxfd2hlbmNlID0gU0VFS19TRVQsCi0gCQkubF9zdGFydCAgPSAwLAotIAkJLmxfbGVuICAgID0gMSwKLUBAIC03NiwxMyArODIsMTMgQEAgdm9pZCAqdGhyZWFkX2ZuXzAxKHZvaWQgKmFyZykKLSAKLSAJZm9yIChpID0gMDsgaSA8IHdyaXRlc19udW07ICsraSkgewotIAkJbGNrLmxfdHlwZSA9IEZfV1JMQ0s7Ci0tCQlTQUZFX0ZDTlRMKGZkLCBGX09GRF9TRVRMS1csICZsY2spOwotKyAgICAgICAgbXlfZmNudGwoZmQsIEZfT0ZEX1NFVExLVywgJmxjayk7Ci0gCi0gCQlTQUZFX0xTRUVLKGZkLCAwLCBTRUVLX0VORCk7Ci0gCQlTQUZFX1dSSVRFKDEsIGZkLCBidWYsIHdyaXRlX3NpemUpOwotIAotIAkJbGNrLmxfdHlwZSA9IEZfVU5MQ0s7Ci0tCQlTQUZFX0ZDTlRMKGZkLCBGX09GRF9TRVRMS1csICZsY2spOwotKyAgICAgICAgbXlfZmNudGwoZmQsIEZfT0ZEX1NFVExLVywgJmxjayk7Ci0gCi0gCQlzY2hlZF95aWVsZCgpOwotIAl9Ci1kaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bDM2LmMgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsMzYuYwotaW5kZXggMzI0NmQxMy4uZjI2M2I2YiAxMDA2NDQKLS0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZmNudGwvZmNudGwzNi5jCi0rKysgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsMzYuYwotQEAgLTU3LDYgKzU3LDcgQEAKLSAjaW5jbHVkZSAibGFwaS9mY250bC5oIgotICNpbmNsdWRlICJ0c3Rfc2FmZV9wdGhyZWFkLmgiCi0gI2luY2x1ZGUgInRzdF90ZXN0LmgiCi0rI2luY2x1ZGUgImZjbnRsX2NvbW1vbi5oIgotIAotIHN0YXRpYyBpbnQgdGhyZWFkX2NudDsKLSBzdGF0aWMgaW50IGZhaWxfZmxhZyA9IDA7Ci1AQCAtODcsNyArODgsMTIgQEAgc3RhdGljIHZvaWQgKmZuX29mZF93KHZvaWQgKmFyZykKLSAJaW50IGZkID0gU0FGRV9PUEVOKGZuYW1lLCBPX1JEV1IpOwotIAlsb25nIHd0ID0gcGEtPmNudDsKLSAKLS0Jc3RydWN0IGZsb2NrNjQgbGNrID0gewotKyAgICAvKiBzZWUgZXhwbGFuYXRpb24gaW4gZmNudGxfY29tbW9uLmggKi8KLSsgICAgI2lmZGVmIFVTRV9TVFJVQ1RfRkxPQ0sKLSsgICAgICAgIHN0cnVjdCBmbG9jayBsY2sgPSB7Ci0rICAgICNlbHNlCi0rICAgICAgICBzdHJ1Y3QgZmxvY2s2NCBsY2sgPSB7Ci0rICAgICNlbmRpZgotIAkJLmxfd2hlbmNlID0gU0VFS19TRVQsCi0gCQkubF9zdGFydCAgPSBwYS0+b2Zmc2V0LAotIAkJLmxfbGVuICAgID0gcGEtPmxlbmd0aCwKLUBAIC05OSwxMyArMTA1LDEzIEBAIHN0YXRpYyB2b2lkICpmbl9vZmRfdyh2b2lkICphcmcpCi0gCQltZW1zZXQoYnVmLCB3dCwgcGEtPmxlbmd0aCk7Ci0gCi0gCQlsY2subF90eXBlID0gRl9XUkxDSzsKLS0JCVNBRkVfRkNOVEwoZmQsIEZfT0ZEX1NFVExLVywgJmxjayk7Ci0rICAgICAgICBteV9mY250bChmZCwgRl9PRkRfU0VUTEtXLCAmbGNrKTsKLSAKLSAJCVNBRkVfTFNFRUsoZmQsIHBhLT5vZmZzZXQsIFNFRUtfU0VUKTsKLSAJCVNBRkVfV1JJVEUoMSwgZmQsIGJ1ZiwgcGEtPmxlbmd0aCk7Ci0gCi0gCQlsY2subF90eXBlID0gRl9VTkxDSzsKLS0JCVNBRkVfRkNOVEwoZmQsIEZfT0ZEX1NFVExLVywgJmxjayk7Ci0rICAgICAgICBteV9mY250bChmZCwgRl9PRkRfU0VUTEtXLCAmbGNrKTsKLSAKLSAJCXd0Kys7Ci0gCQlpZiAod3QgPj0gMjU1KQotQEAgLTE2Niw3ICsxNzIsMTIgQEAgc3RhdGljIHZvaWQgKmZuX29mZF9yKHZvaWQgKmFyZykKLSAJaW50IGk7Ci0gCWludCBmZCA9IFNBRkVfT1BFTihmbmFtZSwgT19SRFdSKTsKLSAKLS0Jc3RydWN0IGZsb2NrNjQgbGNrID0gewotKyAgICAvKiBzZWUgZXhwbGFuYXRpb24gaW4gZmNudGxfY29tbW9uLmggKi8KLSsgICAgI2lmZGVmIFVTRV9TVFJVQ1RfRkxPQ0sKLSsgICAgICAgIHN0cnVjdCBmbG9jayBsY2sgPSB7Ci0rICAgICNlbHNlCi0rICAgICAgICBzdHJ1Y3QgZmxvY2s2NCBsY2sgPSB7Ci0rICAgICNlbmRpZgotIAkJLmxfd2hlbmNlID0gU0VFS19TRVQsCi0gCQkubF9zdGFydCAgPSBwYS0+b2Zmc2V0LAotIAkJLmxfbGVuICAgID0gcGEtPmxlbmd0aCwKLUBAIC0xNzgsNyArMTg5LDcgQEAgc3RhdGljIHZvaWQgKmZuX29mZF9yKHZvaWQgKmFyZykKLSAJCW1lbXNldChidWYsIDAsIHBhLT5sZW5ndGgpOwotIAotIAkJbGNrLmxfdHlwZSA9IEZfUkRMQ0s7Ci0tCQlTQUZFX0ZDTlRMKGZkLCBGX09GRF9TRVRMS1csICZsY2spOwotKyAgICAgICAgbXlfZmNudGwoZmQsIEZfT0ZEX1NFVExLVywgJmxjayk7Ci0gCi0gCQkvKiBybG9jayBhY3F1aXJlZCAqLwotIAkJU0FGRV9MU0VFSyhmZCwgcGEtPm9mZnNldCwgU0VFS19TRVQpOwotQEAgLTIwOSw3ICsyMjAsNyBAQCBzdGF0aWMgdm9pZCAqZm5fb2ZkX3Iodm9pZCAqYXJnKQotIAkJfQotIAotIAkJbGNrLmxfdHlwZSA9IEZfVU5MQ0s7Ci0tCQlTQUZFX0ZDTlRMKGZkLCBGX09GRF9TRVRMSywgJmxjayk7Ci0rICAgICAgICBteV9mY250bChmZCwgRl9PRkRfU0VUTEssICZsY2spOwotIAotIAkJc2NoZWRfeWllbGQoKTsKLSAJfQotZGlmZiAtLWdpdCBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZmNudGwvZmNudGxfY29tbW9uLmggYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsX2NvbW1vbi5oCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uM2ZlMzk5YgotLS0tIC9kZXYvbnVsbAotKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bF9jb21tb24uaAotQEAgLTAsMCArMSwzMiBAQAotKyNpbmNsdWRlICJsYXBpL3N5c2NhbGxzLmgiCi0rCi0rLyoKLSsgKiBnbGliYyBjb21taXQ6Ci0rICogICAwNmFiNzE5ZDMwYjAgKCJGaXggTGludXggZmNudGwgT0ZEIGxvY2tzIGZvciBub24tTEZTIGFyY2hpdGVjdHVyZXMgKEJaIzIwMjUxKSIpCi0rICogY2hhbmdlZCBiZWhhdmlvciBvZiBhcmcgcGFyYW1ldGVyIGZvciBPRkQgY29tbWFuZHMuIEl0IGlzIG5vCi0rICogbG9uZ2VyIHBhc3NpbmcgYXJnIGRpcmVjdGx5IHRvIHN5c2NhbGwsIGJ1dCBleHBlY3RzIGl0IHRvIGJlCi0rICogJ3N0cnVjdCBmbG9jaycuCi0rICoKLSsgKiBPbiA2NC1iaXQgb3IgX0ZJTEVfT0ZGU0VUX0JJVFMgPT0gNjQgd2UgY2FuIHVzZSBmY250bCgpIGFuZAotKyAqIHN0cnVjdCBmbG9jayB3aXRoIGFueSBnbGliYyB2ZXJzaW9uLiBzdHJ1Y3QgZmxvY2sgYW5kIGZsb2NrNjQKLSsgKiBzaG91bGQgYmUgaWRlbnRpY2FsLgotKyAqCi0rICogT24gMzItYml0LCBvbGRlciBnbGliYyB3b3VsZCBwYXNzIGFyZyBkaXJlY3RseSwgcmVjZW50IG9uZSB0cmVhdHMKLSsgKiBpdCBhcyAnc3RydWN0IGZsb2NrJyBhbmQgY29udmVydHMgaXQgdG8gJ3N0cnVjdCBmbG9jazY0Jy4KLSsgKiBTbywgZm9yIDMyLWJpdCB3ZSB1c2UgZmNudGw2NCBzeXNjYWxsIGRpcmVjdGx5IHdpdGggc3RydWN0IGZsb2NrNjQuCi0rICovCi0rI2lmIF9fV09SRFNJWkUgPT0gNjQgfHwgX0ZJTEVfT0ZGU0VUX0JJVFMgPT0gNjQKLSsjZGVmaW5lIFVTRV9TVFJVQ1RfRkxPQ0sKLStzdGF0aWMgaW50IG15X2ZjbnRsKGludCBmZCwgaW50IGNtZCwgdm9pZCAqbGNrKQotK3sKLSsgICAgICAgIHJldHVybiBTQUZFX0ZDTlRMKGZkLCBjbWQsIGxjayk7Ci0rfQotKyNlbHNlCi0rc3RhdGljIGludCBteV9mY250bChpbnQgZmQsIGludCBjbWQsIHZvaWQgKmxjaykKLSt7Ci0rICAgICAgICBpbnQgcmV0ID0gdHN0X3N5c2NhbGwoX19OUl9mY250bDY0LCBmZCwgY21kLCBsY2spOwotKyAgICAgICAgaWYgKHJldCA9PSAtMSkKLSsgICAgICAgICAgICAgICAgdHN0X2JyayhUQlJPS3xURVJSTk8sICJmY250bDY0Iik7Ci0rICAgICAgICByZXR1cm4gcmV0OwotK30KLSsjZW5kaWYKLS0tIAotMi44LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDA0LWJ1aWxkLUFkZC1vcHRpb24tdG8tc2VsZWN0LWxpYmMtaW1wbGVtZW50YXRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDQtYnVpbGQtQWRkLW9wdGlvbi10by1zZWxlY3QtbGliYy1pbXBsZW1lbnRhdGlvbi5wYXRjaAppbmRleCAyZGYzODU1Li4zYzY2Yzk0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDQtYnVpbGQtQWRkLW9wdGlvbi10by1zZWxlY3QtbGliYy1pbXBsZW1lbnRhdGlvbi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDQtYnVpbGQtQWRkLW9wdGlvbi10by1zZWxlY3QtbGliYy1pbXBsZW1lbnRhdGlvbi5wYXRjaApAQCAtNDIsNyArNDIsNyBAQAogaW5kZXggNTBhMTJmYS4uNGYxOTg3ZiAxMDA2NDQKIC0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvTWFrZWZpbGUKICsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvTWFrZWZpbGUKLUBAIC00OCwxMyArNDgsMTYgQEAgU1VCRElSUwkJCSs9IGNvbm5lY3RvcnMgXAorQEAgLTQ5LDEyICs0OSwxNSBAQCBTVUJESVJTCQkJKz0gY29ubmVjdG9ycyBcCiAgCQkJICAgbG9nZ2luZyBcCiAgCQkJICAgbWVtIFwKICAJCQkgICBudW1hIFwKQEAgLTUxLDcgKzUxLDYgQEAKICAJCQkgICBzZWN1cml0eSBcCiAgCQkJICAgdGltZXJzIFwKICAJCQkgICB0cmFjaW5nIFwKLSAJCQkgICBtb2R1bGUgXAogIAogK2lmbmVxICgkKExJQkMpLG11c2wpCiArU1VCRElSUwkJCSs9IHB0eQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDA3LWZpeC1fX1dPUkRTSVpFLXVuZGVjbGFyZWQtd2hlbi1idWlsZGluZy13aXRoLW11c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDctZml4LV9fV09SRFNJWkUtdW5kZWNsYXJlZC13aGVuLWJ1aWxkaW5nLXdpdGgtbXVzbC5wYXRjaAppbmRleCAyZjRjYTYzLi42ZTZkYmYzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDctZml4LV9fV09SRFNJWkUtdW5kZWNsYXJlZC13aGVuLWJ1aWxkaW5nLXdpdGgtbXVzbC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDctZml4LV9fV09SRFNJWkUtdW5kZWNsYXJlZC13aGVuLWJ1aWxkaW5nLXdpdGgtbXVzbC5wYXRjaApAQCAtMTYsNyArMTYsNyBAQAogaW5kZXggYjM2NzY0ZDgzLi5jYzZmMWI1NTEgMTAwNjQ0CiAtLS0gYS9pbmNsdWRlL29sZC90ZXN0LmgKICsrKyBiL2luY2x1ZGUvb2xkL3Rlc3QuaAotQEAgLTQ0LDYgKzQ0LDkgQEAKK0BAIC0xNyw2ICsxNyw5IEBACiAgI2luY2x1ZGUgPHN0cmluZy5oPgogICNpbmNsdWRlIDxzdGRsaWIuaD4KICAjaW5jbHVkZSA8c3RkaW50Lmg+CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDgtQ2hlY2staWYtX19HTElCQ19QUkVSRVEtaXMtZGVmaW5lZC1iZWZvcmUtdXNpbmctaXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDgtQ2hlY2staWYtX19HTElCQ19QUkVSRVEtaXMtZGVmaW5lZC1iZWZvcmUtdXNpbmctaXQucGF0Y2gKaW5kZXggNDI4YWMzMC4uNzMxMWVlMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDA4LUNoZWNrLWlmLV9fR0xJQkNfUFJFUkVRLWlzLWRlZmluZWQtYmVmb3JlLXVzaW5nLWl0LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwOC1DaGVjay1pZi1fX0dMSUJDX1BSRVJFUS1pcy1kZWZpbmVkLWJlZm9yZS11c2luZy1pdC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gYTNjYmVlMzFkYWFlMjQ2NmJjOGRjYWMzNmIzM2EwMTM1MjY5MzM0NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZmMyYjQ3YWQ5NzlhODdiZmJkMTFhZWVhM2Y2N2MyNmU3ZmIzOWUzMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBUaHUsIDcgSmFuIDIwMTYgMTk6NDA6MDggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAwMS8yNl0gQ2hlY2sgaWYgX19HTElCQ19QUkVSRVEgaXMgZGVmaW5lZCBiZWZvcmUgdXNpbmcgaXQKK1N1YmplY3Q6IFtQQVRDSF0gQ2hlY2sgaWYgX19HTElCQ19QUkVSRVEgaXMgZGVmaW5lZCBiZWZvcmUgdXNpbmcgaXQKIAogX19HTElCQ19QUkVSRVEgaXMgc3BlY2lmaWMgdG8gZ2xpYmMgc28gaXQgc2hvdWxkIGJlIGNoZWNrZWQgaWYgaXQgaXMKIGRlZmluZWQgb3Igbm90LgpAQCAtMTAsMTMgKzEwLDEyIEBACiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogLS0tCi0gdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9hY2NlcHQ0L2FjY2VwdDRfMDEuYyAgICAgfCAgOSArKysrLQotIHRlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZ2V0Y3B1L2dldGNwdTAxLmMgICAgICAgIHwgMzkgKysrKysrKysrKysrKysrKysrKysrLQotIC4uLi9zY2hlZF9nZXRhZmZpbml0eS9zY2hlZF9nZXRhZmZpbml0eTAxLmMgICAgICAgIHwgMjYgKysrKysrKysrKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorIC4uLi9rZXJuZWwvc3lzY2FsbHMvYWNjZXB0NC9hY2NlcHQ0XzAxLmMgICAgICB8ICA5ICsrKysrKy0KKyAuLi4vc2NoZWRfZ2V0YWZmaW5pdHkvc2NoZWRfZ2V0YWZmaW5pdHkwMS5jICAgfCAyNiArKysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2FjY2VwdDQvYWNjZXB0NF8wMS5jIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9hY2NlcHQ0L2FjY2VwdDRfMDEuYwotaW5kZXggNjA3MmJmYS4uMmIwOTBjYiAxMDA2NDQKK2luZGV4IGRlYzRlZjkzYi4uYzVkNzRiMDdmIDEwMDY0NAogLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9hY2NlcHQ0L2FjY2VwdDRfMDEuYwogKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9hY2NlcHQ0L2FjY2VwdDRfMDEuYwogQEAgLTY0LDYgKzY0LDcgQEAgc3RhdGljIHZvaWQgY2xlYW51cCh2b2lkKQpAQCAtNTksMTMxICs1OCw4IEBACiAgI2Vsc2UKICAJYWNjZXB0ZmQgPSBhY2NlcHQ0KGxmZCwgKHN0cnVjdCBzb2NrYWRkciAqKSZjbGFkZHIsICZhZGRybGVuLAogIAkJCSAgIGNsb3Nlb25leGVjX2ZsYWcgfCBub25ibG9ja19mbGFnKTsKLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2dldGNwdS9nZXRjcHUwMS5jIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9nZXRjcHUvZ2V0Y3B1MDEuYwotaW5kZXggYzkyNzUxMi4uOTIxYjEwNyAxMDA2NDQKLS0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZ2V0Y3B1L2dldGNwdTAxLmMKLSsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZ2V0Y3B1L2dldGNwdTAxLmMKLUBAIC02Miw2ICs2Miw3IEBACi0gI2luY2x1ZGUgPGRpcmVudC5oPgotIAotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCi0rI2lmIGRlZmluZWQoX19HTElCQ19fKQotICNpZiBfX0dMSUJDX1BSRVJFUSgyLDYpCi0gI2lmIGRlZmluZWQoX194ODZfNjRfXykKLSAjaW5jbHVkZSA8dXRtcHguaD4KLUBAIC03NSwxMCArNzYsMTcgQEAgaW50IHN5c19zdXBwb3J0ID0gMDsKLSAjZWxzZQotIGludCBzeXNfc3VwcG9ydCA9IDA7Ci0gI2VuZGlmCi0rI2Vsc2UKLStpbnQgc3lzX3N1cHBvcnQgPSAwOwotKyNlbmRpZgotIAotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKLSAjaWYgIShfX0dMSUJDX1BSRVJFUSgyLCA3KSkKLSAjZGVmaW5lIENQVV9GUkVFKHB0cikgZnJlZShwdHIpCi0gI2VuZGlmCi0rI2Vsc2UKLSsjZGVmaW5lIENQVV9GUkVFKHB0cikgZnJlZShwdHIpCi0rI2VuZGlmCi0gCi0gdm9pZCBjbGVhbnVwKHZvaWQpOwotIHZvaWQgc2V0dXAodm9pZCk7Ci1AQCAtMTY0LDcgKzE3MiwxMSBAQCBzdGF0aWMgaW5saW5lIGludCBnZXRjcHUodW5zaWduZWQgKmNwdV9pZCwgdW5zaWduZWQgKm5vZGVfaWQsCi0gewotICNpZiBkZWZpbmVkKF9faTM4Nl9fKQotIAlyZXR1cm4gc3lzY2FsbCgzMTgsIGNwdV9pZCwgbm9kZV9pZCwgY2FjaGVfc3RydWN0KTsKLS0jZWxpZiBfX0dMSUJDX1BSRVJFUSgyLDYpCi0rI2VsaWYgZGVmaW5lZChfX0dMSUJDX18pCi0rI2lmIF9fR0xJQkNfUFJFUkVRKDIsNikKLSsJKmNwdV9pZCA9IHNjaGVkX2dldGNwdSgpOwotKyNlbmRpZgotKyNlbHNlCi0gCSpjcHVfaWQgPSBzY2hlZF9nZXRjcHUoKTsKLSAjZW5kaWYKLSAJcmV0dXJuIDA7Ci1AQCAtMTkxLDE1ICsyMDMsMjAgQEAgdW5zaWduZWQgaW50IHNldF9jcHVfYWZmaW5pdHkodm9pZCkKLSAJY3B1X3NldF90ICpzZXQ7Ci0gCXNpemVfdCBzaXplOwotIAlpbnQgbnJjcHVzID0gMTAyNDsKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmIGRlZmluZWQoX19HTElCQ19QUkVSRVEpCi0gI2lmIF9fR0xJQkNfUFJFUkVRKDIsIDcpCi0gcmVhbGxvYzoKLSAJc2V0ID0gQ1BVX0FMTE9DKG5yY3B1cyk7Ci0gI2Vsc2UKLSAJc2V0ID0gbWFsbG9jKHNpemVvZihjcHVfc2V0X3QpKTsKLSAjZW5kaWYKLSsjZWxzZQotKwlzZXQgPSBtYWxsb2Moc2l6ZW9mKGNwdV9zZXRfdCkpOwotKyNlbmRpZgotIAlpZiAoc2V0ID09IE5VTEwpIHsKLSAJCXRzdF9icmttKFRGQUlMLCBOVUxMLCAiQ1BVX0FMTE9DOmVycm5vOiVkIiwgZXJybm8pOwotIAl9Ci0rI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fR0xJQkNfUFJFUkVRKQotICNpZiBfX0dMSUJDX1BSRVJFUSgyLCA3KQotIAlzaXplID0gQ1BVX0FMTE9DX1NJWkUobnJjcHVzKTsKLSAJQ1BVX1pFUk9fUyhzaXplLCBzZXQpOwotQEAgLTIwNyw4ICsyMjQsMTMgQEAgcmVhbGxvYzoKLSAJc2l6ZSA9IHNpemVvZihjcHVfc2V0X3QpOwotIAlDUFVfWkVSTyhzZXQpOwotICNlbmRpZgotKyNlbHNlCi0rCXNpemUgPSBzaXplb2YoY3B1X3NldF90KTsKLSsJQ1BVX1pFUk8oc2V0KTsKLSsjZW5kaWYKLSAJaWYgKHNjaGVkX2dldGFmZmluaXR5KDAsIHNpemUsIHNldCkgPCAwKSB7Ci0gCQlDUFVfRlJFRShzZXQpOwotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgZGVmaW5lZChfX0dMSUJDX1BSRVJFUSkKLSAjaWYgX19HTElCQ19QUkVSRVEoMiwgNykKLSAJCWlmIChlcnJubyA9PSBFSU5WQUwgJiYgbnJjcHVzIDwgKDEwMjQgPDwgOCkpIHsKLSAJCQlucmNwdXMgPSBucmNwdXMgPDwgMjsKLUBAIC0yMjAsMTAgKzI0MiwxNyBAQCByZWFsbG9jOgotIAkJCQkgIk5SX0NQVVMgb2YgdGhlIGtlcm5lbCBpcyBtb3JlIHRoYW4gMTAyNCwgc28gd2UnZCBiZXR0ZXIgdXNlIGEgbmV3ZXIgZ2xpYmMoPj0gMi43KSIpOwotIAkJZWxzZQotICNlbmRpZgotKyNlbHNlCi0rCQlpZiAoZXJybm8gPT0gRUlOVkFMKQotKwkJCXRzdF9yZXNtKFRGQUlMLAotKwkJCQkgIk5SX0NQVVMgb2YgdGhlIGtlcm5lbCBpcyBtb3JlIHRoYW4gMTAyNCwgc28gd2UnZCBiZXR0ZXIgdXNlIGEgbmV3ZXIgZ2xpYmMoPj0gMi43KSIpOwotKwkJZWxzZQotKyNlbmRpZgotIAkJCXRzdF9yZXNtKFRGQUlMLCAic2NoZWRfZ2V0YWZmaW5pdHk6ZXJybm86JWQiLCBlcnJubyk7Ci0gCQl0c3RfZXhpdCgpOwotIAl9Ci0gCWNwdV9tYXggPSBtYXhfY3B1aWQoc2l6ZSwgc2V0KTsKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmIGRlZmluZWQoX19HTElCQ19QUkVSRVEpCi0gI2lmIF9fR0xJQkNfUFJFUkVRKDIsIDcpCi0gCUNQVV9aRVJPX1Moc2l6ZSwgc2V0KTsKLSAJQ1BVX1NFVF9TKGNwdV9tYXgsIHNpemUsIHNldCk7Ci1AQCAtMjMxLDYgKzI2MCwxMCBAQCByZWFsbG9jOgotIAlDUFVfWkVSTyhzZXQpOwotIAlDUFVfU0VUKGNwdV9tYXgsIHNldCk7Ci0gI2VuZGlmCi0rI2Vsc2UKLSsJQ1BVX1pFUk8oc2V0KTsKLSsJQ1BVX1NFVChjcHVfbWF4LCBzZXQpOwotKyNlbmRpZgotIAlpZiAoc2NoZWRfc2V0YWZmaW5pdHkoMCwgc2l6ZSwgc2V0KSA8IDApIHsKLSAJCUNQVV9GUkVFKHNldCk7Ci0gCQl0c3RfYnJrbShURkFJTCwgTlVMTCwgInNjaGVkX3NldGFmZmluaXR5OmVycm5vOiVkIiwgZXJybm8pOwotQEAgLTI0NywxMSArMjgwLDE1IEBAIHVuc2lnbmVkIGludCBtYXhfY3B1aWQoc2l6ZV90IHNpemUsIGNwdV9zZXRfdCAqIHNldCkKLSB7Ci0gCXVuc2lnbmVkIGludCBpbmRleCwgbWF4ID0gMDsKLSAJZm9yIChpbmRleCA9IDA7IGluZGV4IDwgc2l6ZSAqIEJJVFNfUEVSX0JZVEU7IGluZGV4KyspCi0rI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fR0xJQkNfUFJFUkVRKQotICNpZiBfX0dMSUJDX1BSRVJFUSgyLCA3KQotIAkJaWYgKENQVV9JU1NFVF9TKGluZGV4LCBzaXplLCBzZXQpKQotICNlbHNlCi0gCQlpZiAoQ1BVX0lTU0VUKGluZGV4LCBzZXQpKQotICNlbmRpZgotKyNlbHNlCi0rCQlpZiAoQ1BVX0lTU0VUKGluZGV4LCBzZXQpKQotKyNlbmRpZgotIAkJCW1heCA9IGluZGV4OwotIAlyZXR1cm4gbWF4OwotIH0KIGRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NjaGVkX2dldGFmZmluaXR5L3NjaGVkX2dldGFmZmluaXR5MDEuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2NoZWRfZ2V0YWZmaW5pdHkvc2NoZWRfZ2V0YWZmaW5pdHkwMS5jCi1pbmRleCA5ZDZhODFhLi40ZWQxM2IyIDEwMDY0NAoraW5kZXggMDJmMDRiOTA5Li5kOTA2ZDdlMDkgMTAwNjQ0CiAtLS0gYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NjaGVkX2dldGFmZmluaXR5L3NjaGVkX2dldGFmZmluaXR5MDEuYwogKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9zY2hlZF9nZXRhZmZpbml0eS9zY2hlZF9nZXRhZmZpbml0eTAxLmMKIEBAIC02Nyw5ICs2NywxMSBAQCBkbyB7IFwKQEAgLTE5OCw3ICs3NCw3IEBACiAgCiAgaW50IG1haW4oaW50IGFjLCBjaGFyICoqYXYpCiAgewotQEAgLTk2LDE0ICs5OCwxOSBAQCBzdGF0aWMgdm9pZCBkb190ZXN0KHZvaWQpCitAQCAtOTYsMTcgKzk4LDI2IEBAIHN0YXRpYyB2b2lkIGRvX3Rlc3Qodm9pZCkKICAJcGlkX3QgdW51c2VkX3BpZDsKICAJdW5zaWduZWQgbGVuOwogIApAQCAtMjA2LDI3ICs4MiwyNiBAQAogICNpZiBfX0dMSUJDX1BSRVJFUSgyLCA3KQogIHJlYWxsb2M6CiAgCW1hc2sgPSBDUFVfQUxMT0MobnJjcHVzKTsKLSAjZWxzZQotIAltYXNrID0gbWFsbG9jKHNpemVvZihjcHVfc2V0X3QpKTsKLSAjZW5kaWYKICsjZWxzZQogKwltYXNrID0gbWFsbG9jKHNpemVvZihjcHVfc2V0X3QpKTsKICsjZW5kaWYKKyAjZWxzZQorIAltYXNrID0gbWFsbG9jKHNpemVvZihjcHVfc2V0X3QpKTsKKyAjZW5kaWYKICAJaWYgKG1hc2sgPT0gTlVMTCkKICAJCXRzdF9icmttKFRGQUlMIHwgVFRFUlJOTywgY2xlYW51cCwgImZhaWwgdG8gZ2V0IGVub3VnaCBtZW1vcnkiKTsKICsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmIGRlZmluZWQoX19HTElCQ19QUkVSRVEpCiAgI2lmIF9fR0xJQkNfUFJFUkVRKDIsIDcpCiAgCWxlbiA9IENQVV9BTExPQ19TSVpFKG5yY3B1cyk7CiAgCUNQVV9aRVJPX1MobGVuLCBtYXNrKTsKLUBAIC0xMTEsMTAgKzExOCwxNSBAQCByZWFsbG9jOgotIAlsZW4gPSBzaXplb2YoY3B1X3NldF90KTsKLSAJQ1BVX1pFUk8obWFzayk7Ci0gI2VuZGlmCiArI2Vsc2UKICsJbGVuID0gc2l6ZW9mKGNwdV9zZXRfdCk7CiArCUNQVV9aRVJPKG1hc2spOwogKyNlbmRpZgotIAkvKiBwb3NpdGl2ZSB0ZXN0ICovCisgI2Vsc2UKKyAJbGVuID0gc2l6ZW9mKGNwdV9zZXRfdCk7CisgCUNQVV9aRVJPKG1hc2spOworQEAgLTExNSwxMSArMTI2LDE4IEBAIHJlYWxsb2M6CiAgCVRFU1Qoc2NoZWRfZ2V0YWZmaW5pdHkoMCwgbGVuLCBtYXNrKSk7CiAgCWlmIChURVNUX1JFVFVSTiA9PSAtMSkgewogIAkJQ1BVX0ZSRUUobWFzayk7CkBAIC0yMzQsNTAgKzEwOSw0MyBAQAogICNpZiBfX0dMSUJDX1BSRVJFUSgyLCA3KQogIAkJaWYgKGVycm5vID09IEVJTlZBTCAmJiBucmNwdXMgPCAoMTAyNCA8PCA4KSkgewogIAkJCW5yY3B1cyA9IG5yY3B1cyA8PCAyOwotQEAgLTEyNiwxNyArMTM4LDI3IEBAIHJlYWxsb2M6Ci0gCQkJCSAibmV3ZXIgZ2xpYmMoPj0gMi43KSIpOwotIAkJZWxzZQotICNlbmRpZgorIAkJCWdvdG8gcmVhbGxvYzsKKyAJCX0KICsjZWxzZQogKwkJaWYgKGVycm5vID09IEVJTlZBTCkKICsJCQl0c3RfcmVzbShURkFJTCwgIk5SX0NQVVMgPiAxMDI0LCB3ZSdkIGJldHRlciB1c2UgYSAiCiArCQkJCSAibmV3ZXIgZ2xpYmMoPj0gMi43KSIpOwogKwkJZWxzZQogKyNlbmRpZgotIAkJCXRzdF9yZXNtKFRGQUlMIHwgVFRFUlJOTywgImZhaWwgdG8gZ2V0IGNwdSBhZmZpbml0eSIpOwotIAkJY2xlYW51cCgpOwotIAl9IGVsc2UgeworICNlbHNlCisgCQlpZiAoZXJybm8gPT0gRUlOVkFMKQorIAkJCXRzdF9yZXNtKFRGQUlMLCAiTlJfQ1BVUyA+IDEwMjQsIHdlJ2QgYmV0dGVyIHVzZSBhICIKK0BAIC0xMzIsOCArMTUwLDEyIEBAIHJlYWxsb2M6CiAgCQl0c3RfcmVzbShUSU5GTywgImNwdXNldHNpemUgaXMgJWQiLCBsZW4pOwogIAkJdHN0X3Jlc20oVElORk8sICJtYXNrLl9fYml0c1swXSA9ICVsdSAiLCBtYXNrLT5fX2JpdHNbMF0pOwogIAkJZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKSB7CiArI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fR0xJQkNfUFJFUkVRKQogICNpZiBfX0dMSUJDX1BSRVJFUSgyLCA3KQogIAkJCVRFU1QoQ1BVX0lTU0VUX1MoaSwgbGVuLCBtYXNrKSk7Ci0gI2Vsc2UKLSAJCQlURVNUKENQVV9JU1NFVChpLCBtYXNrKSk7Ci0gI2VuZGlmCiArI2Vsc2UKICsJCQlURVNUKENQVV9JU1NFVChpLCBtYXNrKSk7CiArI2VuZGlmCi0gCQkJaWYgKFRFU1RfUkVUVVJOICE9IC0xKQotIAkJCQl0c3RfcmVzbShUUEFTUywgInNjaGVkX2dldGFmZmluaXR5KCkgc3VjY2VlZCwgIgotIAkJCQkJICJ0aGlzIHByb2Nlc3MgJWQgaXMgcnVubmluZyAiCi1AQCAtMTQ0LDExICsxNjYsMTUgQEAgcmVhbGxvYzoKKyAjZWxzZQorIAkJCVRFU1QoQ1BVX0lTU0VUKGksIG1hc2spKTsKKyAjZW5kaWYKK0BAIC0xNDQsOCArMTY2LDEyIEBAIHJlYWxsb2M6CiAgCQl9CiAgCX0KICAKICsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmIGRlZmluZWQoX19HTElCQ19QUkVSRVEpCiAgI2lmIF9fR0xJQkNfUFJFUkVRKDIsIDcpCiAgCUNQVV9aRVJPX1MobGVuLCBtYXNrKTsKLSAjZWxzZQotIAlDUFVfWkVSTyhtYXNrKTsKLSAjZW5kaWYKICsjZWxzZQogKwlDUFVfWkVSTyhtYXNrKTsKICsjZW5kaWYKLSAJLyogbmVnYXRpdmUgdGVzdHMgKi8KLSAJUVVJQ0tfVEVTVChzY2hlZF9nZXRhZmZpbml0eSgwLCBsZW4sIChjcHVfc2V0X3QgKikgLSAxKSk7Ci0gCVFVSUNLX1RFU1Qoc2NoZWRfZ2V0YWZmaW5pdHkoMCwgMCwgbWFzaykpOworICNlbHNlCisgCUNQVV9aRVJPKG1hc2spOworICNlbmRpZgogLS0gCi0xLjkuMQorMi4xNy4xCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAzNS1maXgtdGVzdF9wcm9jX2tpbGwtaGFuZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAzNS1maXgtdGVzdF9wcm9jX2tpbGwtaGFuZy5wYXRjaAppbmRleCA3MWUzMmE1Li42NjVkYTNiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMzUtZml4LXRlc3RfcHJvY19raWxsLWhhbmcucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDM1LWZpeC10ZXN0X3Byb2Nfa2lsbC1oYW5nLnBhdGNoCkBAIC0xOSw3ICsxOSw3IEBACiBpbmRleCBiNzg1ZmUzLi4yOTE4Y2M1IDEwMDc1NQogLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9jb250cm9sbGVycy9tZW1jZy9mdW5jdGlvbmFsL21lbWNnX2xpYi5zaAogKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9jb250cm9sbGVycy9tZW1jZy9mdW5jdGlvbmFsL21lbWNnX2xpYi5zaAotQEAgLTI4Myw2ICsyODMsNyBAQCB0ZXN0X3Byb2Nfa2lsbCgpCitAQCAtMjkxLDYgKzI5MSw3IEBAIHRlc3RfcHJvY19raWxsKCkKICAJcGlkPSQhCiAgCVRTVF9DSEVDS1BPSU5UX1dBSVQgMAogIAllY2hvICRwaWQgPiB0YXNrcwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDM5LWNvbW1hbmRzLWFyMDEtRml4LWZvci10ZXN0LWluLWRldGVybWluaXN0aWMtbW9kZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAzOS1jb21tYW5kcy1hcjAxLUZpeC1mb3ItdGVzdC1pbi1kZXRlcm1pbmlzdGljLW1vZGUucGF0Y2gKaW5kZXggZTdjOTI3ZS4uZWM1ZTJlZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDM5LWNvbW1hbmRzLWFyMDEtRml4LWZvci10ZXN0LWluLWRldGVybWluaXN0aWMtbW9kZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMzktY29tbWFuZHMtYXIwMS1GaXgtZm9yLXRlc3QtaW4tZGV0ZXJtaW5pc3RpYy1tb2RlLnBhdGNoCkBAIC0yMSwxNiArMjEsMTggQEAKICAxIGZpbGUgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS90ZXN0Y2FzZXMvY29tbWFuZHMvYXIvYXIwMSBiL3Rlc3RjYXNlcy9jb21tYW5kcy9hci9hcjAxCi1pbmRleCBkZGFiMmUwLi5kNjg4Zjc2IDEwMDY0NAoraW5kZXggYmUxMDVmNmRhLi44MTNhNTFkOWMgMTAwNjQ0CiAtLS0gYS90ZXN0Y2FzZXMvY29tbWFuZHMvYXIvYXIwMQogKysrIGIvdGVzdGNhc2VzL2NvbW1hbmRzL2FyL2FyMDEKLUBAIC0yMywxNCArMjMsMjYgQEAKLSAjIFRoaXMgaXMgYSBiYXNpYyBhciBjb21tYW5kIHRlc3QuCitAQCAtMjQsMTYgKzI0LDI4IEBACiAgIworIEFSPSIke0FSOj1hcn0iCiAgVFNUX0NOVD0xNwogK1RTVF9TRVRVUD1zZXR1cAogIFRTVF9URVNURlVOQz10ZXN0CiAgVFNUX05FRURTX1RNUERJUj0xCisgVFNUX05FRURTX0NNRFM9IiRBUiIKKyAKICAuIHRzdF90ZXN0LnNoCiAgCiArc2V0dXAoKQpAQCAtNTMsNyArNTUsNyBAQAogIAlST0QgYXIgLXQgbGliLmEgXD4gYXIub3V0CiAgCiAgCXByaW50ZiAiZmlsZTEuaW5cbmZpbGUyLmluXG5maWxlMy5pblxuIiA+IGFyLmV4cAotQEAgLTQ3LDkgKzU5LDkgQEAgdGVzdDEoKQorQEAgLTUwLDkgKzYyLDkgQEAgdGVzdDEoKQogIAogIHRlc3QyKCkKICB7CkBAIC02Niw3ICs2OCw3IEBACiAgCVJPRCBhciAtdCBsaWIuYSBcPiBhci5vdXQKICAKICAJcHJpbnRmICJmaWxlMS5pblxuZmlsZTQuaW5cbmZpbGUyLmluXG5maWxlMy5pblxuIiA+IGFyLmV4cAotQEAgLTY2LDggKzc4LDggQEAgdGVzdDIoKQorQEAgLTY5LDggKzgxLDggQEAgdGVzdDIoKQogIAogIHRlc3QzKCkKICB7CkBAIC03Nyw3ICs3OSw3IEBACiAgCVJPRCBhciAtdCBsaWIuYSBcPiBhci5vdXQKICAKICAJcHJpbnRmICJmaWxlMS5pblxuZmlsZTIuaW5cbmZpbGUzLmluXG4iID4gYXIuZXhwCi1AQCAtODQsOSArOTYsOSBAQCB0ZXN0MygpCitAQCAtODcsOSArOTksOSBAQCB0ZXN0MygpCiAgCiAgdGVzdDQoKQogIHsKQEAgLTkwLDcgKzkyLDcgQEAKICAJUk9EIGFyIC10IGxpYi5hIFw+IGFyLm91dAogIAogIAlwcmludGYgImZpbGUxLmluXG5maWxlMi5pblxuZmlsZTMuaW5cbiIgPiBhci5leHAKLUBAIC0xMDMsNyArMTE1LDcgQEAgdGVzdDQoKQorQEAgLTEwNiw3ICsxMTgsNyBAQCB0ZXN0NCgpCiAgCiAgdGVzdDUoKQogIHsKQEAgLTk5LDcgKzEwMSw3IEBACiAgCiAgCWlmIFsgLXMgYXIub3V0IF07IHRoZW4KICAJCXRzdF9yZXMgVEZBSUwgImFyIHByb2R1Y2VkIG91dHB1dCB1bmV4cGVjdGVkbHkgKC1jKSIKLUBAIC0xMTcsNyArMTI5LDcgQEAgdGVzdDUoKQorQEAgLTEyMCw3ICsxMzIsNyBAQCB0ZXN0NSgpCiAgCiAgdGVzdDYoKQogIHsKQEAgLTEwOCw3ICsxMTAsNyBAQAogIAogIAlpZiBbIC1zIGFyLm91dCBdOyB0aGVuCiAgCQl0c3RfcmVzIFRGQUlMICJhciBwcm9kdWNlZCBvdXRwdXQgdW5leHBlY3RlZGx5ICgtcWMpIgotQEAgLTEzMSw5ICsxNDMsOSBAQCB0ZXN0NigpCitAQCAtMTM0LDkgKzE0Niw5IEBAIHRlc3Q2KCkKICAKICB0ZXN0NygpCiAgewpAQCAtMTIxLDcgKzEyMyw3IEBACiAgCVJPRCBhciAtdCBsaWIuYSBcPiBhci5vdXQKICAKICAJcHJpbnRmICJmaWxlMy5pblxuIiA+IGFyLmV4cAotQEAgLTE1MCw5ICsxNjIsOSBAQCB0ZXN0NygpCitAQCAtMTUzLDkgKzE2NSw5IEBAIHRlc3Q3KCkKICAKICB0ZXN0OCgpCiAgewpAQCAtMTM0LDcgKzEzNiw3IEBACiAgCVJPRCBhciAtdCBsaWIuYSBcPiBhci5vdXQKICAKICAJcHJpbnRmICJmaWxlMS5pblxuZmlsZTIuaW5cbmZpbGUzLmluXG4iID4gYXIuZXhwCi1AQCAtMTY5LDggKzE4MSw4IEBAIHRlc3Q4KCkKK0BAIC0xNzIsOCArMTg0LDggQEAgdGVzdDgoKQogIAogIHRlc3Q5KCkKICB7CkBAIC0xNDUsNyArMTQ3LDcgQEAKICAJUk9EIGFyIC10IGxpYi5hIFw+IGFyLm91dAogIAogIAlwcmludGYgImZpbGUxLmluXG5maWxlMi5pblxuZmlsZTMuaW5cbiIgPiBhci5leHAKLUBAIC0xODcsOSArMTk5LDkgQEAgdGVzdDkoKQorQEAgLTE5MCw5ICsyMDIsOSBAQCB0ZXN0OSgpCiAgCiAgdGVzdDEwKCkKICB7CkBAIC0xNTgsNyArMTYwLDcgQEAKICAJUk9EIGFyIC10IGxpYi5hIFw+IGFyLm91dAogIAogIAlwcmludGYgImZpbGUxLmluXG5maWxlMi5pblxuZmlsZTMuaW5cbiIgPiBhci5leHAKLUBAIC0yMDYsOSArMjE4LDkgQEAgdGVzdDEwKCkKK0BAIC0yMDksOSArMjIxLDkgQEAgdGVzdDEwKCkKICAKICB0ZXN0MTEoKQogIHsKQEAgLTE3MSw3ICsxNzMsNyBAQAogIAlST0QgYXIgLXQgbGliLmEgXD4gYXIub3V0CiAgCiAgCXByaW50ZiAiZmlsZTEuaW5cbmZpbGUyLmluXG5maWxlMy5pblxuIiA+IGFyLmV4cAotQEAgLTIyNSw5ICsyMzcsOSBAQCB0ZXN0MTEoKQorQEAgLTIyOCw5ICsyNDAsOSBAQCB0ZXN0MTEoKQogIAogIHRlc3QxMigpCiAgewpAQCAtMTg0LDcgKzE4Niw3IEBACiAgCiAgCXByaW50ZiAiVGhpcyBpcyBmaWxlIG9uZVxuVGhpcyBpcyBmaWxlIHR3b1xuVGhpcyBpcyBmaWxlIHRocmVlXG4iID4gYXIuZXhwCiAgCi1AQCAtMjQ0LDkgKzI1Niw5IEBAIHRlc3QxMigpCitAQCAtMjQ3LDkgKzI1OSw5IEBAIHRlc3QxMigpCiAgdGVzdDEzKCkKICB7CiAgCkBAIC0xOTcsNyArMTk5LDcgQEAKICAJUk9EIGFyIC10IGxpYi5hIFw+IGFyLm91dAogIAogIAlwcmludGYgImZpbGUxLmluXG5maWxlMi5pblxuZmlsZTMuaW5cbmZpbGU0LmluXG4iID4gYXIuZXhwCi1AQCAtMjY0LDE0ICsyNzYsMTQgQEAgdGVzdDEzKCkKK0BAIC0yNjcsMTQgKzI3OSwxNCBAQCB0ZXN0MTMoKQogIHRlc3QxNCgpCiAgewogIAlST0QgdG91Y2ggZmlsZTAuaW4KQEAgLTIxNCw3ICsyMTYsNyBAQAogIAogIAlmaWxlMF9tdGltZTI9JChhciAtdHYgbGliLmEgfCBncmVwIGZpbGUwLmluKQogIAlmaWxlMV9tdGltZTI9JChhciAtdHYgbGliLmEgfCBncmVwIGZpbGUxLmluKQotQEAgLTI5Myw3ICszMDUsNyBAQCB0ZXN0MTQoKQorQEAgLTI5Niw3ICszMDgsNyBAQCB0ZXN0MTQoKQogIAogIHRlc3QxNSgpCiAgewpAQCAtMjIzLDcgKzIyNSw3IEBACiAgCVJPRCBhciAtdHYgbGliLmEgXD4gYXIub3V0CiAgCiAgCWlmIGdyZXAgLXEgJ1tyd3gtXVx7OVx9IFswLTldLiovWzAtOV0uKlxzKlswLTldLiouKmZpbGUxLmluJyBhci5vdXQ7IHRoZW4KLUBAIC0zMDgsOSArMzIwLDkgQEAgdGVzdDE1KCkKK0BAIC0zMTEsOSArMzIzLDkgQEAgdGVzdDE1KCkKICAKICB0ZXN0MTYoKQogIHsKQEAgLTIzNiw3ICsyMzgsNyBAQAogIAogIAlwcmludGYgInggLSBmaWxlMS5pblxueCAtIGZpbGUyLmluXG54IC0gZmlsZTMuaW5cbiIgPiBhci5leHAKICAKLUBAIC0zMzIsOCArMzQ0LDggQEAgdGVzdDE2KCkKK0BAIC0zMzUsOCArMzQ3LDggQEAgdGVzdDE2KCkKICAKICB0ZXN0MTcoKQogIHsKQEAgLTI0OCw1ICsyNTAsNSBAQAogIAlwcmludGYgInggLSBmaWxlMi5pblxuIiA+IGFyLmV4cAogIAogLS0gCi0yLjcuNAorMi4xOS4wLnJjMgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDAtcmVhZF9hbGwtRGVmaW5lLUZOTV9FWFRNQVRDSC1pZi1ub3QtYWxyZWFkeS1saWtlLXVuZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDA0MC1yZWFkX2FsbC1EZWZpbmUtRk5NX0VYVE1BVENILWlmLW5vdC1hbHJlYWR5LWxpa2UtdW5kLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMjQ1YTg5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDA0MC1yZWFkX2FsbC1EZWZpbmUtRk5NX0VYVE1BVENILWlmLW5vdC1hbHJlYWR5LWxpa2UtdW5kLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotRnJvbSAyMzUxODUwOGRlMzA3NzkwMjMxZDE2YWYzMDcyOTFmMWI0NWU5MDNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0RhbmllbD0yMEQ9QzM9QURhej89IDxkYW5pZWwuZGlhekBsaW5hcm8ub3JnPgotRGF0ZTogVHVlLCA1IEp1biAyMDE4IDE1OjM2OjMwIC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJlYWRfYWxsOiBEZWZpbmUgRk5NX0VYVE1BVENIIGlmIG5vdCBhbHJlYWR5IChsaWtlIHVuZGVyCi0gbXVzbCkuCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVdpdGggbXVzbCwgRk5NX0VYVE1BVENIIGlzIG5vdCBkZWZpbmVkOgotfCByZWFkX2FsbC5jOiBJbiBmdW5jdGlvbiAncmVhZF90ZXN0JzoKLXwgcmVhZF9hbGwuYzoyMDE6NDE6IGVycm9yOiAnRk5NX0VYVE1BVENIJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnRk5NX05PTUFUQ0gnPwotfCAgIGlmIChleGNsdWRlICYmICFmbm1hdGNoKGV4Y2x1ZGUsIHBhdGgsIEZOTV9FWFRNQVRDSCkpIHsKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTk1fTk9NQVRDSAotfCByZWFkX2FsbC5jOjIwMTo0MTogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLXwgPGJ1aWx0aW4+OiByZWNpcGUgZm9yIHRhcmdldCAncmVhZF9hbGwnIGZhaWxlZAotfCBtYWtlWzRdOiAqKiogW3JlYWRfYWxsXSBFcnJvciAxCi0KLVNpZ25lZC1vZmYtYnk6IERhbmllbCBEw61heiA8ZGFuaWVsLmRpYXpAbGluYXJvLm9yZz4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSB0ZXN0Y2FzZXMva2VybmVsL2ZzL3JlYWRfYWxsL3JlYWRfYWxsLmMgfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL2ZzL3JlYWRfYWxsL3JlYWRfYWxsLmMgYi90ZXN0Y2FzZXMva2VybmVsL2ZzL3JlYWRfYWxsL3JlYWRfYWxsLmMKLWluZGV4IGE4ZTE2MTEuLmU5ZmY0N2EgMTAwNjQ0Ci0tLS0gYS90ZXN0Y2FzZXMva2VybmVsL2ZzL3JlYWRfYWxsL3JlYWRfYWxsLmMKLSsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvZnMvcmVhZF9hbGwvcmVhZF9hbGwuYwotQEAgLTU5LDYgKzU5LDEwIEBACi0gI2RlZmluZSBNQVhfUEFUSCA0MDk2Ci0gI2RlZmluZSBNQVhfRElTUExBWSA0MAotIAotKyNpZiAhZGVmaW5lZChGTk1fRVhUTUFUQ0gpCi0rI2RlZmluZSBGTk1fRVhUTUFUQ0ggMAotKyNlbmRpZgotKwotIHN0cnVjdCBxdWV1ZSB7Ci0gCXNlbV90IHNlbTsKLSAJaW50IGZyb250OwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDEtY3ZlLTIwMTctNTY2OS1zaG1hdC1mb3ItMC1vci1QQUdFU0laRS13aXRoLVJORC1mbGFnLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDA0MS1jdmUtMjAxNy01NjY5LXNobWF0LWZvci0wLW9yLVBBR0VTSVpFLXdpdGgtUk5ELWZsYWctLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZDJkMmNiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDA0MS1jdmUtMjAxNy01NjY5LXNobWF0LWZvci0wLW9yLVBBR0VTSVpFLXdpdGgtUk5ELWZsYWctLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTcgKzAsMCBAQAotRnJvbSBiNzY3YjczZWYwMjdiYThkMzVmMjk3YzdkMzY1OTI2NWFjODA0MjViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUmFmYWVsIERhdmlkIFRpbm9jbyA8cmFmYWVsLnRpbm9jb0BjYW5vbmljYWwuY29tPgotRGF0ZTogV2VkLCAzMCBNYXkgMjAxOCAwOToxNDozNCAtMDMwMAotU3ViamVjdDogW1BBVENIXSBjdmUtMjAxNy01NjY5OiBzaG1hdCgpIGZvciAwIChvciA8UEFHRVNJWkUgd2l0aCBSTkQgZmxhZykgaGFzCi0gdG8gZmFpbCB3aXRoIFJFTUFQcwotCi1GaXhlczogaHR0cHM6Ly9naXRodWIuY29tL2xpbnV4LXRlc3QtcHJvamVjdC9sdHAvaXNzdWVzLzMxOQotCi1BY2NvcmRpbmcgdG8gdXBzdHJlYW0gdGhyZWFkIChodHRwczovL2xrbWwub3JnL2xrbWwvMjAxOC81LzI4LzIwNTYpLAotY3ZlLTIwMTctNTY2OSBuZWVkcyB0byBhZGRyZXNzIHRoZSAibmV3IiB3YXkgb2YgaGFuZGxpbmcgbmlsIGFkZHJlc3NlcwotZm9yIHNobWF0KCkgd2hlbiB1c2VkIHdpdGggTUFQX0ZJWEVEIG9yIFNITV9SRU1BUCBmbGFncy4KLQotLSBtYXBwaW5nIG5pbC1wYWdlIGlzIE9LIG9uIGxvd2VyIGFkZHJlc3NlcyB3aXRoIE1BUF9GSVhFRCAob3IgZWxzZSBYMTEgaXMgYnJva2VuKQotLSBtYXBwaW5nIG5pbC1wYWdlIGlzIE5PVCBPSyB3aXRoIFNITV9SRU1BUCBvbiBsb3dlciBhZGRyZXNzZXMKLQotQWRkcmVzc2VzIERhdmlkbG9ociBCdWVzbydzIGNvbW1lbnRzL2NoYW5nZXM6Ci0KLWNvbW1pdCA4Zjg5YzAwN2I2ZGUKLUF1dGhvcjogRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQHN0Z29sYWJzLm5ldD4KLURhdGU6ICAgRnJpIE1heSAyNSAxNDo0NzozMCAyMDE4IC0wNzAwCi0KLSAgICBpcGMvc2htOiBmaXggc2htYXQoKSBuaWwgYWRkcmVzcyBhZnRlciByb3VuZC1kb3duIHdoZW4gcmVtYXBwaW5nCi0KLWNvbW1pdCBhNzNhYjI0NGYwZGEKLUF1dGhvcjogRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQHN0Z29sYWJzLm5ldD4KLURhdGU6ICAgRnJpIE1heSAyNSAxNDo0NzoyNyAyMDE4IC0wNzAwCi0KLSAgICBSZXZlcnQgImlwYy9zaG06IEZpeCBzaG1hdCBtbWFwIG5pbC1wYWdlIHByb3RlY3Rpb24iCi0KLUZvciBwcmV2aW91c2x5IHRlc3QsIGFuZCBub3cgYnJva2VuLCBtYWRlIGJhc2VkIG9uOgotCi1jb21taXQgOTVlOTFiODMxZjg3Ci1BdXRob3I6IERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBzdGdvbGFicy5uZXQ+Ci1EYXRlOiAgIE1vbiBGZWIgMjcgMTQ6Mjg6MjQgMjAxNyAtMDgwMAotCi0gICAgaXBjL3NobTogRml4IHNobWF0IG1tYXAgbmlsLXBhZ2UgcHJvdGVjdGlvbgotCi1TaWduZWQtb2ZmLWJ5OiBSYWZhZWwgRGF2aWQgVGlub2NvIDxyYWZhZWwudGlub2NvQGxpbmFyby5vcmc+Ci1UZXN0ZWQtYnk6IE5hcmVzaCBLYW1ib2p1IDxuYXJlc2gua2FtYm9qdUBsaW5hcm8ub3JnPgotUmV2aWV3ZWQtYnk6IEphbiBTdGFuY2VrIDxqc3RhbmNla0ByZWRoYXQuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFtodHRwczovL2dpdGh1Yi5jb20vbGludXgtdGVzdC1wcm9qZWN0L2x0cC9wdWxsLzMyNF0KLUNWRTogQ1ZFLTIwMTctNTY2OQotU2lnbmVkLW9mZi1ieTogUmFmYWVsIERhdmlkIFRpbm9jbyA8cmFmYWVsLnRpbm9jb0BsaW5hcm8ub3JnPgotLS0tCi0gdGVzdGNhc2VzL2N2ZS9jdmUtMjAxNy01NjY5LmMgfCAyMCArKysrKysrKysrKysrKysrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMvY3ZlL2N2ZS0yMDE3LTU2NjkuYyBiL3Rlc3RjYXNlcy9jdmUvY3ZlLTIwMTctNTY2OS5jCi1pbmRleCAxY2E1OTgzLi4wODM0NjI2IDEwMDY0NAotLS0tIGEvdGVzdGNhc2VzL2N2ZS9jdmUtMjAxNy01NjY5LmMKLSsrKyBiL3Rlc3RjYXNlcy9jdmUvY3ZlLTIwMTctNTY2OS5jCi1AQCAtMjgsNyArMjgsMjAgQEAKLSAgKiBpcyBqdXN0IHRvIHNlZSBpZiB3ZSBnZXQgYW4gYWNjZXNzIGVycm9yIG9yIHNvbWUgb3RoZXIgdW5leHBlY3RlZCBiZWhhdmlvdXIuCi0gICoKLSAgKiBTZWUgY29tbWl0IDk1ZTkxYjgzMWYgKGlwYy9zaG06IEZpeCBzaG1hdCBtbWFwIG5pbC1wYWdlIHByb3RlY3Rpb24pCi0rICoKLSsgKiBUaGUgY29tbWl0IGFib3ZlIGRpc2FsbG93ZWQgU0hNX1JORCBtYXBzIHRvIHplcm8gKGFuZCByb3VuZGVkKSBlbnRpcmVseSBhbmQKLSsgKiB0aGF0IGJyb2tlIHVzZXJsYW5kIGZvciBjYXNlcyBsaWtlIFhvcmcuIE5ldyBiZWhhdmlvciBkaXNhbGxvd3MgUkVNQVBzIHRvCi0rICogbG93ZXIgYWRkcmVzc2VzICgwPD1QQUdFU0laRSkuCi0rICoKLSsgKiBTZWUgY29tbWl0IGE3M2FiMjQ0ZjBkYSAoUmV2ZXJ0ICJpcGMvc2htOiBGaXggc2htYXQgbW1hcCBuaWwtcGFnZSBwcm90ZWN0Li4uKQotKyAqIFNlZSBjb21taXQgOGY4OWMwMDdiNmRlIChpcGMvc2htOiBmaXggc2htYXQoKSBuaWwgYWRkcmVzcyBhZnRlciByb3VuZC1kb3cuLi4pCi0rICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC10ZXN0LXByb2plY3QvbHRwL2lzc3Vlcy8zMTkKLSsgKgotKyAqIFRoaXMgdGVzdCBuZWVkcyByb290IHBlcm1pc3Npb25zIG9yIGVsc2Ugc2VjdXJpdHlfbW1hcF9hZGRyKCksIGZyb20KLSsgKiBnZXRfdW5tYXBwZWRfYXJlYSgpLCB3aWxsIGNhdXNlIHBlcm1pc3Npb24gZXJyb3JzIHdoZW4gdHJ5aW5nIHRvIG1tYXAgbG93ZXIKLSsgKiBhZGRyZXNzZXMuCi0gICovCi0rCi0gI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotICNpbmNsdWRlIDxzeXMvaXBjLmg+Ci0gI2luY2x1ZGUgPHN5cy9zaG0uaD4KLUBAIC02MCw3ICs3MywxMSBAQCBzdGF0aWMgdm9pZCBjbGVhbnVwKHZvaWQpCi0gc3RhdGljIHZvaWQgcnVuKHZvaWQpCi0gewotIAl0c3RfcmVzKFRJTkZPLCAiQXR0ZW1wdGluZyB0byBhdHRhY2ggc2hhcmVkIG1lbW9yeSB0byBudWxsIHBhZ2UiKTsKLS0Jc2htX2FkZHIgPSBzaG1hdChzaG1faWQsICgodm9pZCAqKTEpLCBTSE1fUk5EKTsKLSsJLyoKLSsJICogc2htYXQoKSBmb3IgMCAob3IgPCBQQUdFU0laRSB3aXRoIFJORCBmbGFnKSBoYXMgdG8gZmFpbCB3aXRoIFJFTUFQcwotKwkgKiBodHRwczovL2dpdGh1Yi5jb20vbGludXgtdGVzdC1wcm9qZWN0L2x0cC9pc3N1ZXMvMzE5Ci0rCSAqLwotKwlzaG1fYWRkciA9IHNobWF0KHNobV9pZCwgKCh2b2lkICopMSksIFNITV9STkQgfCBTSE1fUkVNQVApOwotIAlpZiAoc2htX2FkZHIgPT0gKHZvaWQgKiktMSkgewotIAkJc2htX2FkZHIgPSBOVUxMOwotIAkJaWYgKGVycm5vID09IEVJTlZBTCkgewotQEAgLTg5LDYgKzEwNiw3IEBAIHN0YXRpYyB2b2lkIHJ1bih2b2lkKQotIH0KLSAKLSBzdGF0aWMgc3RydWN0IHRzdF90ZXN0IHRlc3QgPSB7Ci0rCS5uZWVkc19yb290ID0gMSwKLSAJLnNldHVwID0gc2V0dXAsCi0gCS5jbGVhbnVwID0gY2xlYW51cCwKLSAJLnRlc3RfYWxsID0gcnVuLAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDItZnMtZnRlc3QtZnRlc3QwNi5jLUZpeC10b28tc21hbGwtbmFtZS1zdHJpbmctYW5kLXJlbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDA0Mi1mcy1mdGVzdC1mdGVzdDA2LmMtRml4LXRvby1zbWFsbC1uYW1lLXN0cmluZy1hbmQtcmVsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MDdkOThlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDA0Mi1mcy1mdGVzdC1mdGVzdDA2LmMtRml4LXRvby1zbWFsbC1uYW1lLXN0cmluZy1hbmQtcmVsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotRnJvbSBiYWVlZjAyNmY4MGUxOWE2MzRhNDA5NmU5NzI4NjQxOWFjYTFjZjY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSGUgWmhlIDx6aGUuaGVAd2luZHJpdmVyLmNvbT4KLURhdGU6IFRodSwgMjMgQXVnIDIwMTggMDA6MjI6MDQgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gZnMvZnRlc3QvZnRlc3QwNi5jOiBGaXggdG9vIHNtYWxsIG5hbWUgc3RyaW5nIGFuZCByZWxhdGVkCi0gZmFpbHVyZQotCi1UaGUgbmFtZSBzdHJpbmcgaXMgdG9vIHNtYWxsIHRvIGNvbnRhaW4gbm9ybWFsIGZ1bGwgcGF0aCBuYW1lcyBhbmQgY2F1c2VzCi10aGUgZm9sbG93aW5nIGZhaWx1cmUuCi0KLSJmdGVzdDA2ICAgICAyICBURkFJTCAgOiAgZnRlc3QwNi5jOjIyMzogQ2FuJ3QgY2hkaXIoKTogZXJybm89RU5PRU5UKDIpOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbbHRwLWxpc3RAbGlzdHMuc291cmNlZm9yZ2UubmV0XQotCi1TaWduZWQtb2ZmLWJ5OiBIZSBaaGUgPHpoZS5oZUB3aW5kcml2ZXIuY29tPgotLS0tCi0gdGVzdGNhc2VzL2tlcm5lbC9mcy9mdGVzdC9mdGVzdDA2LmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL2ZzL2Z0ZXN0L2Z0ZXN0MDYuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvZnMvZnRlc3QvZnRlc3QwNi5jCi1pbmRleCAyY2E3Yzg4Li5iNDM0MDY3IDEwMDY0NAotLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9mcy9mdGVzdC9mdGVzdDA2LmMKLSsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvZnMvZnRlc3QvZnRlc3QwNi5jCi1AQCAtMTAwLDcgKzEwMCw3IEBAIHN0YXRpYyBjaGFyICpmc3R5cDsKLSBpbnQgbWFpbihpbnQgYWMsIGNoYXIgKmF2W10pCi0gewotIAlpbnQgcGlkLCBjaGlsZCwgc3RhdHVzLCBjb3VudCwgaywgajsKLS0JY2hhciBuYW1lWzNdOwotKwljaGFyIG5hbWVbTUFYUEFUSExFTl07Ci0gCi0gCWludCBsYzsKLSAKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDQzLW9wZW4tY3JlYXQtc2tpcC1TX0lTR0lELWNoZWNrLW9uLWZpbGVzLWNyZWF0ZWQtYnktbm8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDMtb3Blbi1jcmVhdC1za2lwLVNfSVNHSUQtY2hlY2stb24tZmlsZXMtY3JlYXRlZC1ieS1uby5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGM2MWZjYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDMtb3Blbi1jcmVhdC1za2lwLVNfSVNHSUQtY2hlY2stb24tZmlsZXMtY3JlYXRlZC1ieS1uby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLUZyb20gM2M4N2VmMjk2MWRlZGIxMGQxZjY3NGM2YTUzMGUwMGRiYWI4ZWMxYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEphbiBTdGFuY2VrIDxqc3RhbmNla0ByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAxNyBKdWwgMjAxOCAxMDoyNjozOSArMDIwMAotU3ViamVjdDogW1BBVENIXSBvcGVufGNyZWF0OiBza2lwIFNfSVNHSUQgY2hlY2sgb24gZmlsZXMgY3JlYXRlZCBieSBub24tZ3JvdXAKLSBtZW1iZXJzCi0KLTBmYTNlY2Q4Nzg0OCAoIkZpeCB1cCBub24tZGlyZWN0b3J5IGNyZWF0aW9uIGluIFNHSUQgZGlyZWN0b3JpZXMiKQotZml4ZXMgcHJvYmxlbSBkZXNjcmliZWQgaW4gQ1ZFLTIwMTgtMTM0MDUuIFRoaXMgY29tbWl0IGlzIGdldHRpbmcKLWJhY2twb3J0ZWQgdG8gb2xkZXIgc3RyZWFtcyBhcyB3ZWxsLgotCi1UaGlzIHBhdGNoIHJlbW92ZXMgU19JU0dJRCBjaGVjayBmb3IgZmlsZXMgY3JlYXRlZCBieSBub24tZ3JvdXAgbWVtYmVycwotaW4gTFRQIHRlc3RzIGNyZWF0MDggYW5kIG9wZW4xMC4KLQotT25jZSAwZmEzZWNkODc4NDggd2lsbCBiZSBpbiBub24tcmMga2VybmVsLCB3ZSBjb3VsZCBhZGQgYSBuZXcgdGVzdAotZm9yIHRoaXMgQ1ZFIHRoYXQgd291bGQgYmUgbGltaXRlZCB0byA0LjE4KyBrZXJuZWxzLgotCi1TaWduZWQtb2ZmLWJ5OiBKYW4gU3RhbmNlayA8anN0YW5jZWtAcmVkaGF0LmNvbT4KLUFja2VkLWJ5OiBDeXJpbCBIcnViaXMgPGNocnViaXNAc3VzZS5jej4KLVJldmlld2VkLWJ5OiBOYXJlc2ggS2FtYm9qdSA8bmFyZXNoLmthbWJvanVAbGluYXJvLm9yZz4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotWyBnaXQ6Ly9naXRodWIuY29tL2xpbnV4LXRlc3QtcHJvamVjdC9sdHAuZ2l0Ci0gIDNjODdlZjI5NjFkZWRiMTBkMWY2NzRjNmE1MzBlMDBkYmFiOGVjMWIKLSAgIm9wZW58Y3JlYXQ6IHNraXAgU19JU0dJRCBjaGVjayBvbiBmaWxlcyBjcmVhdGVkIGJ5IG5vbi1ncm91cCBtZW1iZXJzIiBdCi0KLVNpZ25lZC1vZmYtYnk6IEhlIFpoZSA8emhlLmhlQHdpbmRyaXZlci5jb20+Ci0tLS0KLSB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2NyZWF0L2NyZWF0MDguYyB8IDEzICsrKysrKy0tLS0tLS0KLSB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL29wZW4vb3BlbjEwLmMgICB8IDEyICsrKysrLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2NyZWF0L2NyZWF0MDguYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvY3JlYXQvY3JlYXQwOC5jCi1pbmRleCA1MGYyYjM5OTMuLmQyMjU1OGFjMyAxMDA2NDQKLS0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvY3JlYXQvY3JlYXQwOC5jCi0rKysgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2NyZWF0L2NyZWF0MDguYwotQEAgLTM2MSwxMyArMzYxLDEyIEBAIGludCBtYWluKGludCBhYywgY2hhciAqKmF2KQotIAkJCWxvY2FsX2ZsYWcgPSBGQUlMRUQ7Ci0gCQl9Ci0gCi0tCQkvKiBWZXJpZnkgbW9kZXMgKi8KLS0JCWlmICghKGJ1Zi5zdF9tb2RlICYgU19JU0dJRCkpIHsKLS0JCQl0c3RfcmVzbShURkFJTCwKLS0JCQkJICIlczogSW5jb3JyZWN0IG1vZGVzLCBzZXRnaWQgYml0IHNob3VsZCBiZSBzZXQiLAotLQkJCQkgc2V0Z2lkX0IpOwotLQkJCWxvY2FsX2ZsYWcgPSBGQUlMRUQ7Ci0tCQl9Ci0rCQkvKgotKwkJICogU2tpcCBTX0lTR0lEIGNoZWNrCi0rCQkgKiAwZmEzZWNkODc4NDggKCJGaXggdXAgbm9uLWRpcmVjdG9yeSBjcmVhdGlvbiBpbiBTR0lEIGRpcmVjdG9yaWVzIikKLSsJCSAqIGNsZWFycyBTX0lTR0lEIGZvciBmaWxlcyBjcmVhdGVkIGJ5IG5vbi1ncm91cCBtZW1iZXJzCi0rCQkgKi8KLSsKLSAJCWNsb3NlKGZkKTsKLSAKLSAJCWlmIChsb2NhbF9mbGFnID09IFBBU1NFRCkgewotZGlmZiAtLWdpdCBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvb3Blbi9vcGVuMTAuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvb3Blbi9vcGVuMTAuYwotaW5kZXggNjEzZjIyODhmLi4xNGZlZWM5ZTEgMTAwNjQ0Ci0tLS0gYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL29wZW4vb3BlbjEwLmMKLSsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvb3Blbi9vcGVuMTAuYwotQEAgLTM0NSwxMyArMzQ1LDExIEBAIGludCBtYWluKGludCBhYywgY2hhciAqYXZbXSkKLSAJCQlsb2NhbF9mbGFnID0gRkFJTEVEOwotIAkJfQotIAotLQkJLyogVmVyaWZ5IG1vZGVzICovCi0tCQlpZiAoIShidWYuc3RfbW9kZSAmIFNfSVNHSUQpKSB7Ci0tCQkJdHN0X3Jlc20oVEZBSUwsCi0tCQkJCSAiJXM6IEluY29ycmVjdCBtb2Rlcywgc2V0Z2lkIGJpdCBub3Qgc2V0IiwKLS0JCQkJIHNldGdpZF9CKTsKLS0JCQlsb2NhbF9mbGFnID0gRkFJTEVEOwotLQkJfQotKwkJLyoKLSsJCSAqIFNraXAgU19JU0dJRCBjaGVjawotKwkJICogMGZhM2VjZDg3ODQ4ICgiRml4IHVwIG5vbi1kaXJlY3RvcnkgY3JlYXRpb24gaW4gU0dJRCBkaXJlY3RvcmllcyIpCi0rCQkgKiBjbGVhcnMgU19JU0dJRCBmb3IgZmlsZXMgY3JlYXRlZCBieSBub24tZ3JvdXAgbWVtYmVycwotKwkJICovCi0gCi0gCQlpZiAobG9jYWxfZmxhZyA9PSBQQVNTRUQpIHsKLSAJCQl0c3RfcmVzbShUUEFTUywgIlRlc3QgcGFzc2VkIGluIGJsb2NrMi4iKTsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvZGVmaW5lLXNpZ3J0bWluLWFuZC1zaWdydG1heC1mb3ItbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvZGVmaW5lLXNpZ3J0bWluLWFuZC1zaWdydG1heC1mb3ItbXVzbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzI0NDYzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC9kZWZpbmUtc2lncnRtaW4tYW5kLXNpZ3J0bWF4LWZvci1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsMTE0IEBACitGcm9tIDM0YjkxZWRjNzA3MDlmMzJiNDRmNmIzYTMyYzhmMThkYjM5M2UzNmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/RGFuaWVsPTIwRD1DMz1BRGF6Pz0gPGRhbmllbC5kaWF6QGxpbmFyby5vcmc+CitEYXRlOiBXZWQsIDIwIEZlYiAyMDE5IDA4OjA3OjI3IC0wNjAwCitTdWJqZWN0OiBbUEFUQ0hdIERlZmluZSBfX1NJR1JUTUlOIGFuZCBfX1NJR1JUTUFYIGZvciBNVVNMCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1NvbWUgbGliYyBpbXBsZW1lbnRhdGlvbnMgbWlnaHQgZGlmZmVyIGluIHRoZSBkZWZpbml0aW9ucyB0aGV5CitpbmNsdWRlLiBFeGVtcGxpIGdyYXRpYTogTVVTTCBkb2VzIG5vdCBkZWZpbmUgX19TSUdSVE1BWCBub3IKK19fU0lHUlRNSU4uCisKK1RoZXNlIHR3byB0ZXN0cyBmYWlsIHRvIGJ1aWxkIGJlY2F1c2Ugb2YgdGhlIG1pc3NpbmcKK2RlZmluaXRpb25zOgorICB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3B0cmFjZS9wdHJhY2UwNS5jCisgIHRlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2lnaG9sZC9zaWdob2xkMDIuYworCitPdXQgb2YgcHJlY2F1dGlvbiwgdGhlc2UgdHdvIGFsc28gaW5jbHVkZSB0aGlzIGhlYWRlcjoKKyAgbGliL3RzdF9zaWcuYworICB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3J0X3NpZ3N1c3BlbmQvcnRfc2lnc3VzcGVuZDAxLmMKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHA6Ly9saXN0cy5saW51eC5pdC9waXBlcm1haWwvbHRwLzIwMTktRmVicnVhcnkvMDEwOTE2Lmh0bWxdCisKK1NpZ25lZC1vZmYtYnk6IERhbmllbCBEw61heiA8ZGFuaWVsLmRpYXpAbGluYXJvLm9yZz4KKy0tLQorIGluY2x1ZGUvbGFwaS9zaWduYWwuaCAgICAgICAgICAgICAgICAgICAgICAgICB8IDI0ICsrKysrKysrKysrKysrKysrKysKKyBsaWIvdHN0X3NpZy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCisgdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9wdHJhY2UvcHRyYWNlMDUuYyAgIHwgIDEgKworIC4uLi9zeXNjYWxscy9ydF9zaWdzdXNwZW5kL3J0X3NpZ3N1c3BlbmQwMS5jICB8ICAxICsKKyB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NpZ2hvbGQvc2lnaG9sZDAyLmMgfCAgMSArCisgNSBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvbGFwaS9zaWduYWwuaAorCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9sYXBpL3NpZ25hbC5oIGIvaW5jbHVkZS9sYXBpL3NpZ25hbC5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwLi5kMjI5NjVhOTQKKy0tLSAvZGV2L251bGwKKysrKyBiL2luY2x1ZGUvbGFwaS9zaWduYWwuaAorQEAgLTAsMCArMSwyNCBAQAorKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisrLyoKKysgKiBDb3B5cmlnaHQgKGMpIDIwMTkgTGluYXJvIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrICogQXV0aG9yOiBEYW5pZWwgRMOtYXogPGRhbmllbC5kaWF6QGxpbmFyby5vcmc+CisrICovCisrCisrI2lmbmRlZiBMQVBJX1NJR05BTF9ICisrI2RlZmluZSBMQVBJX1NJR05BTF9ICisrCisrI2luY2x1ZGUgPHNpZ25hbC5oPgorKworKy8qCisrICogU29tZSBsaWJjIGltcGxlbWVudGF0aW9ucyBtaWdodCBkaWZmZXIgaW4gdGhlIGRlZmluaXRpb25zIHRoZXkgaW5jbHVkZS4gVGhpcworKyAqIGNvdmVycyB0aG9zZSBkaWZmZXJlbmNlcyBmb3IgYWxsIHRlc3RzIHRvIHN1Y2Nlc3NmdWxseSBidWlsZC4KKysgKi8KKysKKysjaWZuZGVmIF9fU0lHUlRNSU4KKysjIGRlZmluZSBfX1NJR1JUTUlOIDMyCisrI2VuZGlmCisrI2lmbmRlZiBfX1NJR1JUTUFYCisrIyBkZWZpbmUgX19TSUdSVE1BWCAoX05TSUcgLSAxKQorKyNlbmRpZgorKworKyNlbmRpZgorZGlmZiAtLWdpdCBhL2xpYi90c3Rfc2lnLmMgYi9saWIvdHN0X3NpZy5jCitpbmRleCAzNjU2NWUxM2QuLjZkNzdhZWFmZCAxMDA2NDQKKy0tLSBhL2xpYi90c3Rfc2lnLmMKKysrKyBiL2xpYi90c3Rfc2lnLmMKK0BAIC03Miw2ICs3Miw3IEBACisgI2luY2x1ZGUgPHNpZ25hbC5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAjaW5jbHVkZSAidGVzdC5oIgorKyNpbmNsdWRlICJsYXBpL3NpZ25hbC5oIgorIAorICNkZWZpbmUgTUFYTUVTRyAxNTAJCS8qIHNpemUgb2YgbWVzZyBzdHJpbmcgc2VudCB0byB0c3RfcmVzICovCisgCitkaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9wdHJhY2UvcHRyYWNlMDUuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvcHRyYWNlL3B0cmFjZTA1LmMKK2luZGV4IDQyMDMzMDAyOS4uNTRjZmE0ZDdiIDEwMDY0NAorLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9wdHJhY2UvcHRyYWNlMDUuYworKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9wdHJhY2UvcHRyYWNlMDUuYworQEAgLTM4LDYgKzM4LDcgQEAKKyAjaW5jbHVkZSAicHRyYWNlLmgiCisgCisgI2luY2x1ZGUgInRlc3QuaCIKKysjaW5jbHVkZSAibGFwaS9zaWduYWwuaCIKKyAKKyBjaGFyICpUQ0lEID0gInB0cmFjZTA1IjsKKyBpbnQgVFNUX1RPVEFMID0gMDsKK2RpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3J0X3NpZ3N1c3BlbmQvcnRfc2lnc3VzcGVuZDAxLmMgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3J0X3NpZ3N1c3BlbmQvcnRfc2lnc3VzcGVuZDAxLmMKK2luZGV4IGYxN2E5YWFlNi4uZTU3N2NmMjI3IDEwMDY0NAorLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9ydF9zaWdzdXNwZW5kL3J0X3NpZ3N1c3BlbmQwMS5jCisrKysgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3J0X3NpZ3N1c3BlbmQvcnRfc2lnc3VzcGVuZDAxLmMKK0BAIC0xOCw2ICsxOCw3IEBACisgI2luY2x1ZGUgInRzdF90ZXN0LmgiCisgI2luY2x1ZGUgImxhcGkvc3lzY2FsbHMuaCIKKyAjaW5jbHVkZSAibGFwaS9zYWZlX3J0X3NpZ25hbC5oIgorKyNpbmNsdWRlICJsYXBpL3NpZ25hbC5oIgorIAorIHN0YXRpYyB2b2lkIHNpZ19oYW5kbGVyKGludCBzaWcpCisgeworZGlmZiAtLWdpdCBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2lnaG9sZC9zaWdob2xkMDIuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2lnaG9sZC9zaWdob2xkMDIuYworaW5kZXggZDFkNGIwYjA2Li5iNzYzMTQyZGYgMTAwNjQ0CistLS0gYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NpZ2hvbGQvc2lnaG9sZDAyLmMKKysrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2lnaG9sZC9zaWdob2xkMDIuYworQEAgLTQ5LDYgKzQ5LDcgQEAKKyAjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyAjaW5jbHVkZSAidGVzdC5oIgorICNpbmNsdWRlICJzYWZlX21hY3Jvcy5oIgorKyNpbmNsdWRlICJsYXBpL3NpZ25hbC5oIgorIAorIC8qIF9YT1BFTl9TT1VSQ0UgZGlzYWJsZXMgTlNJRyAqLworICNpZm5kZWYgTlNJRworLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC9zZXRyZWdpZDAxLXNlY3VyaXR5LXN0cmluZy1mb3JtYXR0aW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC9zZXRyZWdpZDAxLXNlY3VyaXR5LXN0cmluZy1mb3JtYXR0aW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0NDQ5MTQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwL3NldHJlZ2lkMDEtc2VjdXJpdHktc3RyaW5nLWZvcm1hdHRpbmcucGF0Y2gKQEAgLTAsMCArMSw0NiBAQAorRnJvbSA0MzBlMDVjMjE2OWVkMTVhYWE2ZDdmOTQ1OWVkZDYwNzYwM2NlZTAyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0RhbmllbD0yMEQ9QzM9QURhej89IDxkYW5pZWwuZGlhekBsaW5hcm8ub3JnPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxMDo0NDozMyAtMDYwMAorU3ViamVjdDogW1BBVENIXSBzZXRyZWdpZDAxOiBGaXggc2VjdXJpdHkgd2FybmluZyBmb3Igc3RyaW5nIGZvcm1hdHRpbmcKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworR0NDIDguMi4wIGNvbXBsYWlucyB3aXRoIHRoZSBmb2xsb3dpbmc6CisgIHNldHJlZ2lkMDEuYzogSW4gZnVuY3Rpb24gJ3J1bic6CisgIHNldHJlZ2lkMDEuYzo0NzozOiBlcnJvcjogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzIFstV2Vycm9yPWZvcm1hdC1zZWN1cml0eV0KKyAgICAgdHN0X3JlcyhURkFJTCB8IFRURVJSTk8sIHRjLT5tc2cpOworICAgICBefn5+fn5+CitiZWNhdXNlIHRoZXJlIGlzIG5vIHN0cmluZyBmb3JtYXR0aW5nIGluIHRoZSBtZXNzYWdlLiBUaGlzIGNhbgorYmUgc2VlbiB3aXRoIENGTEFHUyBzZXQgdG86CisgIC1XZm9ybWF0IC1XZm9ybWF0LXNlY3VyaXR5IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5CithcyBZb2N0byBQcm9qZWN0J3MgUG9reSBkb2VzLCBlLmcuOgorICBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjMwMDQzLworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFs0NmUxZWRhNTVmMTg4ODEwZTZiZjNhOTM5YjkyZDYwNDMyMTgwN2FlXQorCitTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgRMOtYXogPGRhbmllbC5kaWF6QGxpbmFyby5vcmc+CitSZXZpZXdlZC1ieTogRW5qaSBDb29wZXIgPHlhbmV1cmFiZXlhQGdtYWlsLmNvbT4KKy0tLQorIHRlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2V0cmVnaWQvc2V0cmVnaWQwMS5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2V0cmVnaWQvc2V0cmVnaWQwMS5jIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9zZXRyZWdpZC9zZXRyZWdpZDAxLmMKK2luZGV4IGYyZTQxZTEzNC4uOGM5ZTExOTE4IDEwMDY0NAorLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9zZXRyZWdpZC9zZXRyZWdpZDAxLmMKKysrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2V0cmVnaWQvc2V0cmVnaWQwMS5jCitAQCAtNDQsOSArNDQsOSBAQCBzdGF0aWMgdm9pZCBydW4odW5zaWduZWQgaW50IG4pCisgCVRFU1QoU0VUUkVHSUQoKnRjLT5hcmcxLCAqdGMtPmFyZzIpKTsKKyAKKyAJaWYgKFRTVF9SRVQgPT0gLTEpCistCQl0c3RfcmVzKFRGQUlMIHwgVFRFUlJOTywgdGMtPm1zZyk7CisrCQl0c3RfcmVzKFRGQUlMIHwgVFRFUlJOTywgIiVzIiwgdGMtPm1zZyk7CisgCWVsc2UKKy0JCXRzdF9yZXMoVFBBU1MsIHRjLT5tc2cpOworKwkJdHN0X3JlcyhUUEFTUywgIiVzIiwgdGMtPm1zZyk7CisgfQorIAorIHN0YXRpYyB2b2lkIHNldHVwKHZvaWQpCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwXzIwMTgwNTE1LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cF8yMDE4MDUxNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmY4NWJlNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwXzIwMTgwNTE1LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTI3ICswLDAgQEAKLVNVTU1BUlkgPSAiTGludXggVGVzdCBQcm9qZWN0IgotREVTQ1JJUFRJT04gPSAiVGhlIExpbnV4IFRlc3QgUHJvamVjdCBpcyBhIGpvaW50IHByb2plY3Qgd2l0aCBTR0ksIElCTSwgT1NETCwgYW5kIEJ1bGwgd2l0aCBhIGdvYWwgdG8gZGVsaXZlciB0ZXN0IHN1aXRlcyB0byB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IHRoYXQgdmFsaWRhdGUgdGhlIHJlbGlhYmlsaXR5LCByb2J1c3RuZXNzLCBhbmQgc3RhYmlsaXR5IG9mIExpbnV4LiBUaGUgTGludXggVGVzdCBQcm9qZWN0IGlzIGEgY29sbGVjdGlvbiBvZiB0b29scyBmb3IgdGVzdGluZyB0aGUgTGludXgga2VybmVsIGFuZCByZWxhdGVkIGZlYXR1cmVzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9sdHAuc291cmNlZm9yZ2UubmV0IgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyAmIExHUEx2MisgJiBMR1BMdjIuMSsgJiBCU0QtMi1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gIlwKLSAgICBmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgIGZpbGU6Ly90ZXN0Y2FzZXMva2VybmVsL2NvbnRyb2xsZXJzL2ZyZWV6ZXIvQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMgXAotICAgIGZpbGU6Ly90ZXN0Y2FzZXMva2VybmVsL2NvbnRyb2xsZXJzL2ZyZWV6ZXIvcnVuX2ZyZWV6ZXIuc2g7YmVnaW5saW5lPTU7ZW5kbGluZT0xNzttZDU9ODZhNjFkMmMwNDJkNTk4MzZmZmIzNTNhMjE0NTY0OTggXAotICAgIGZpbGU6Ly90ZXN0Y2FzZXMva2VybmVsL2hvdHBsdWcvbWVtb3J5X2hvdHBsdWcvQ09QWUlORzttZDU9ZTA0YTJlNTQyYjJiODYyOWJmOWNkMmJhMjliMGZlNDEgXAotICAgIGZpbGU6Ly90ZXN0Y2FzZXMva2VybmVsL2hvdHBsdWcvY3B1X2hvdHBsdWcvQ09QWUlORzttZDU9ZTA0YTJlNTQyYjJiODYyOWJmOWNkMmJhMjliMGZlNDEgXAotICAgIGZpbGU6Ly90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvQ09QWUlORzttZDU9NDhiMWM1ZWM2MzNlM2UzMGVjMmNmODg0YWU2OTk5NDcgXAotICAgIGZpbGU6Ly90ZXN0Y2FzZXMvcmVhbHRpbWUvQ09QWUlORzttZDU9MTJmODg0ZDJhZTFmZjg3YzA5ZTViN2NjYzJjNGNhN2UgXAotICAgIGZpbGU6Ly90b29scy9wb3VuZGVyMjEvQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAotICAgIGZpbGU6Ly91dGlscy9iZW5jaG1hcmsva2VybmJlbmNoLTAuNDIvQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAotICAgIGZpbGU6Ly91dGlscy9mZnNiLTYuMC1yYzIvQ09QWUlORzttZDU9YzQ2MDgyMTY3YTMxNGQ3ODVkMDEyYTI0NDc0OGQ4MDMgXAotIgotCi1ERVBFTkRTID0gImF0dHIgbGliYWlvIGxpYmNhcCBhY2wgb3BlbnNzbCB6aXAtbmF0aXZlIgotREVQRU5EU19hcHBlbmRfbGliYy1tdXNsID0gIiBmdHMgIgotRVhUUkFfT0VNQUtFX2FwcGVuZF9saWJjLW11c2wgPSAiIExJQkM9bXVzbCAiCi0KLSMgc2luY2UgbHRwIGNvbnRhaW5zIHg4Ni02NCBhc3NlbWJsZXIgd2hpY2ggdXNlcyB0aGUgZnJhbWUtcG9pbnRlciByZWdpc3RlciwKLSMgc2V0IC1mb21pdC1mcmFtZS1wb2ludGVyIHg4Ni02NCB0byBoYW5kbGUgY2FzZXMgd2hlcmUgb3B0aW1pc2F0aW9uCi0jIGlzIHNldCB0byAtTzAgb3IgZnJhbWUgcG9pbnRlcnMgaGF2ZSBiZWVuIGVuYWJsZWQgYnkgLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIKLSMgZWFybGllciBpbiBDRkxBR1MsIGV0Yy4KLUNGTEFHU19hcHBlbmRfeDg2LTY0ID0gIiAtZm9taXQtZnJhbWUtcG9pbnRlciIKLQotQ0ZMQUdTX2FwcGVuZF9wb3dlcnBjNjQgPSAiIC1EX19TQU5FX1VTRVJTUEFDRV9UWVBFU19fIgotQ0ZMQUdTX2FwcGVuZF9taXBzYXJjaG42NCA9ICIgLURfX1NBTkVfVVNFUlNQQUNFX1RZUEVTX18iCi1TUkNSRVYgPSAiOTZjYmY0ODMxM2FmYTY1ZWY0ZDY5M2QzNDQxY2JmZDYwYThkOWIyNyIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2xpbnV4LXRlc3QtcHJvamVjdC9sdHAuZ2l0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbW1hcDE1LW1pcHM2NC1yZXR1cm4tRUlOVkFMLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtYnVpbGQtQWRkLW9wdGlvbi10by1zZWxlY3QtbGliYy1pbXBsZW1lbnRhdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LWtlcm5lbC1jb250cm9sbGVycy1MaW5rLXdpdGgtbGliZnRzLWV4cGxpY2l0bHktb24tbXUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1maXgtX19XT1JEU0laRS11bmRlY2xhcmVkLXdoZW4tYnVpbGRpbmctd2l0aC1tdXNsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDgtQ2hlY2staWYtX19HTElCQ19QUkVSRVEtaXMtZGVmaW5lZC1iZWZvcmUtdXNpbmctaXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOS1maXgtcmVkZWZpbml0aW9uLW9mLXN0cnVjdC1tc2didWYtZXJyb3ItYnVpbGRpbmctd2l0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTgtZ3VhcmQtbWFsbG9jb3B0LXdpdGgtX19HTElCQ19fLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjAtZ2V0ZGVudHMtZGVmaW5lLWdldGRlbnRzLWdldGRlbnRzNjQtb25seS1mb3ItZ2xpYmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMS1EZWZpbmUtX0dOVV9TT1VSQ0UtZm9yLU1SRU1BUF9NQVlNT1ZFLWRlZmluaXRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMy1wdHJhY2UtVXNlLWludC1pbnN0ZWFkLW9mLWVudW0tX19wdHJhY2VfcmVxdWVzdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI0LXJ0X3NpZ2FjdGlvbi1ydF9zaWdwcm9jbWFyay1EZWZpbmUtX0dOVV9TT1VSQ0UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyNi1jcmFzaDAxLURlZmluZS1fR05VX1NPVVJDRS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI4LXJ0X3NpZ2FjdGlvbi5oLVVzZS1zaWdoYW5kbGVyX3QtaW5zdGVhZC1vZi1fX3NpZ2hhbmQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNC1wZXJpb2RpY19vdXRwdXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNS1maXgtdGVzdF9wcm9jX2tpbGwtaGFuZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDM2LXRlc3RjYXNlcy1uZXR3b3JrLW5mc3Y0LWFjbC1hY2wxLmMtU2VjdXJpdHktZml4LW9uLXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzOS1jb21tYW5kcy1hcjAxLUZpeC1mb3ItdGVzdC1pbi1kZXRlcm1pbmlzdGljLW1vZGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDA0MC1yZWFkX2FsbC1EZWZpbmUtRk5NX0VYVE1BVENILWlmLW5vdC1hbHJlYWR5LWxpa2UtdW5kLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwNDEtY3ZlLTIwMTctNTY2OS1zaG1hdC1mb3ItMC1vci1QQUdFU0laRS13aXRoLVJORC1mbGFnLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQyLWZzLWZ0ZXN0LWZ0ZXN0MDYuYy1GaXgtdG9vLXNtYWxsLW5hbWUtc3RyaW5nLWFuZC1yZWwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDA0My1vcGVuLWNyZWF0LXNraXAtU19JU0dJRC1jaGVjay1vbi1maWxlcy1jcmVhdGVkLWJ5LW5vLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3lzY2FsbHMtZmNudGwtbWFrZS1PRkQtY29tbWFuZC11c2UtZmNudGw2NC1zeXNjYWxsLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXNpZ3dhaXRpbmZvMDEtcmVjZW50LWdsaWJjLWNhbGxzLXN5c2NhbGwtZGlyZWN0bHkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1uZXRuc19oZWxwZXIuc2gtdXNlLXBpbmctNi13aGVuLXBpbmc2LWlzLW5vdC1hdmFsaWFiLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtb3Blbl9wb3NpeF90ZXN0c3VpdGUtbW1hcDI0LTItUmVsYXgtY29uZGl0aW9uLWEtYml0LnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKLQotVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCi0KLWV4cG9ydCBwcmVmaXggPSAiL29wdC9sdHAiCi1leHBvcnQgZXhlY19wcmVmaXggPSAiL29wdC9sdHAiCi0KLVBBQ0tBR0VDT05GSUdbbnVtYV0gPSAiLS13aXRoLW51bWEsIC0td2l0aG91dC1udW1hLCBudW1hY3RsLCIKLUVYVFJBX0FVVE9SRUNPTkYgKz0gIi1JICR7U30vdGVzdGNhc2VzL3JlYWx0aW1lL200IgotRVhUUkFfT0VDT05GID0gIiAtLXdpdGgtcG93ZXItbWFuYWdlbWVudC10ZXN0c3VpdGUgLS13aXRoLXJlYWx0aW1lLXRlc3RzdWl0ZSAtLXdpdGgtb3Blbi1wb3NpeC10ZXN0c3VpdGUgIgotIyBsdHAgbmV0d29yay9ycGMgdGVzdCBjYXNlcyBmdGJmcyB3aGVuIGxpYnRpcnBjIGlzIGZvdW5kCi1FWFRSQV9PRUNPTkYgKz0gIiAtLXdpdGhvdXQtdGlycGMgIgotCi1kb19pbnN0YWxsKCl7Ci0gICAgaW5zdGFsbCAtZCAke0R9L29wdC9sdHAvCi0gICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gU0tJUF9JRENIRUNLPTEgaW5zdGFsbAotCi0gICAgIyBmaXh1cCBub3QgZGVwbG95IFNUUGZhaWx1cmVfcmVwb3J0LnBsIHRvIGF2b2lkIGNvbmZ1c2luZyBhYm91dCBpdCBmYWlscyB0byBydW4KLSAgICAjIGFzIGl0IGxhY2tzIGRlcGVuZGVuY3kgb24gc29tZSBwZXJsIG1vdWRsZSBzdWNoIGFzIExXUDo6U2ltcGxlCi0gICAgIyBBbmQgdGhpcyBzY3JpcHQgcHJldmlvdXNseSB3b3JrcyBhcyBhIHRvb2wgZm9yIGFuYWx5emluZyBmYWlsdXJlcyBmcm9tIExUUAotICAgICMgcnVucyBvbiB0aGUgT1NETCdzIFNjYWxlYWJsZSBUZXN0IFBsYXRmb3JtIChTVFApIGFuZCBpdCBtYWlubHkgYWNjZXNzZXMKLSAgICAjIGh0dHA6Ly9raGFjay5vc2RsLm9yZyB0byByZXRyaWV2ZSBsdHAgdGVzdCByZXN1bHRzIHJ1biBvbgotICAgICMgT1NETCdzIFNjYWxlYWJsZSBUZXN0IFBsYXRmb3JtLCBidXQgbm93IGh0dHA6Ly9raGFjay5vc2RsLm9yZyB1bmFjY2Vzc2libGUKLSAgICBybSAtcmYgJHtEfS9vcHQvbHRwL2Jpbi9TVFBmYWlsdXJlX3JlcG9ydC5wbAotCi0gICAgIyBDb3B5IFBPU0lYIHRlc3Qgc3VpdGUgaW50byAke0R9L29wdC9sdHAvdGVzdGNhc2VzIGJ5IG1hbnVhbAotICAgIGNwIC1yIHRlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZSAke0R9L29wdC9sdHAvdGVzdGNhc2VzCi19Ci0KLVJERVBFTkRTXyR7UE59ID0gIlwKLSAgICBhY2wgXAotICAgIGF0IFwKLSAgICBhdHRyIFwKLSAgICBiYXNoIFwKLSAgICBjcGlvIFwKLSAgICBjcm9uaWUgXAotICAgIGN1cmwgXAotICAgIGUyZnNwcm9ncy1ta2UyZnMgXAotICAgIGV4cGVjdCBcCi0gICAgZ2F3ayBcCi0gICAgZ3ppcCBcCi0gICAgaXByb3V0ZTIgXAotICAgIGxkZCBcCi0gICAgbGliYWlvIFwKLSAgICBsb2dyb3RhdGUgXAotICAgIHBlcmwgXAotICAgIHB5dGhvbi1jb3JlIFwKLSAgICBwcm9jcHMgXAotICAgIHVuemlwIFwKLSAgICB1dGlsLWxpbnV4IFwKLSAgICB3aGljaCBcCi0gICAgdGFyIFwKLSIKLQotRklMRVNfJHtQTn0gKz0gIi9vcHQvbHRwLyogL29wdC9sdHAvcnVudGVzdC8qIC9vcHQvbHRwL3NjZW5hcmlvX2dyb3Vwcy8qIC9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vKiAvb3B0L2x0cC90ZXN0Y2FzZXMvYmluLyovYmluLyogL29wdC9sdHAvdGVzdHNjcmlwdHMvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvY29uZm9ybWFuY2UvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvRG9jdW1lbnRhdGlvbi8qIC9vcHQvbHRwL3Rlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS9mdW5jdGlvbmFsLyogL29wdC9sdHAvdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlL2luY2x1ZGUvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvc2NyaXB0cy8qIC9vcHQvbHRwL3Rlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS9zdHJlc3MvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvdG9vbHMvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvZGF0YS9ubTAxL2xpYi5hIC9vcHQvbHRwL2xpYi9saWJtZW0uYSIKLQotIyBBdm9pZCBzdHJpcHBpbmcgc29tZSBnZW5lcmF0ZWQgYmluYXJpZXMgb3RoZXJ3aXNlIHNvbWUgb2YgdGhlIGx0cCB0ZXN0cyBzdWNoIGFzIGxkZDAxICYgbm0wMSBmYWlsCi1JTkhJQklUX1BBQ0tBR0VfU1RSSVBfRklMRVMgPSAiL29wdC9sdHAvdGVzdGNhc2VzL2Jpbi9ubTAxIC9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vbGRkMDEiCi1JTlNBTkVfU0tJUF8ke1BOfSArPSAiYWxyZWFkeS1zdHJpcHBlZCBzdGF0aWNkZXYiCi0KLSMgQXZvaWQgZmlsZSBkZXBlbmRlbmN5IHNjYW5zLCBhcyBMVFAgY2hlY2tzIGZvciB0aGluZ3MgdGhhdCBtYXkgb3IgbWF5IG5vdAotIyBleGlzdCBvbiB0aGUgcnVubmluZyBzeXN0ZW0uICBGb3IgaW5zdGFuY2UgaXQgaGFzIHNwZWNpZmljIGNoZWNrcyBmb3IKLSMgY3NoIGFuZCBrc2ggd2hpY2ggYXJlIG5vdCB0eXBpY2FsbHkgcGFydCBvZiBPcGVuRW1iZWRkZWQgc3lzdGVtcyAoYnV0Ci0jIGNhbiBiZSBhZGRlZCB2aWEgYWRkaXRpb25hbCBsYXllcnMuKQotU0tJUF9GSUxFREVQU18ke1BOfSA9ICcxJwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cF8yMDE5MDExNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHBfMjAxOTAxMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRmOTdlMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHBfMjAxOTAxMTUuYmIKQEAgLTAsMCArMSwxMjIgQEAKK1NVTU1BUlkgPSAiTGludXggVGVzdCBQcm9qZWN0IgorREVTQ1JJUFRJT04gPSAiVGhlIExpbnV4IFRlc3QgUHJvamVjdCBpcyBhIGpvaW50IHByb2plY3Qgd2l0aCBTR0ksIElCTSwgT1NETCwgYW5kIEJ1bGwgd2l0aCBhIGdvYWwgdG8gZGVsaXZlciB0ZXN0IHN1aXRlcyB0byB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IHRoYXQgdmFsaWRhdGUgdGhlIHJlbGlhYmlsaXR5LCByb2J1c3RuZXNzLCBhbmQgc3RhYmlsaXR5IG9mIExpbnV4LiBUaGUgTGludXggVGVzdCBQcm9qZWN0IGlzIGEgY29sbGVjdGlvbiBvZiB0b29scyBmb3IgdGVzdGluZyB0aGUgTGludXgga2VybmVsIGFuZCByZWxhdGVkIGZlYXR1cmVzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vbGludXgtdGVzdC1wcm9qZWN0LmdpdGh1Yi5pby8iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyICYgR1BMdjIrICYgTEdQTHYyKyAmIExHUEx2Mi4xKyAmIEJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgZmlsZTovL3Rlc3RjYXNlcy9rZXJuZWwvY29udHJvbGxlcnMvZnJlZXplci9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyBcCisgICAgZmlsZTovL3Rlc3RjYXNlcy9rZXJuZWwvY29udHJvbGxlcnMvZnJlZXplci9ydW5fZnJlZXplci5zaDtiZWdpbmxpbmU9NTtlbmRsaW5lPTE3O21kNT04NmE2MWQyYzA0MmQ1OTgzNmZmYjM1M2EyMTQ1NjQ5OCBcCisgICAgZmlsZTovL3Rlc3RjYXNlcy9rZXJuZWwvaG90cGx1Zy9tZW1vcnlfaG90cGx1Zy9DT1BZSU5HO21kNT1lMDRhMmU1NDJiMmI4NjI5YmY5Y2QyYmEyOWIwZmU0MSBcCisgICAgZmlsZTovL3Rlc3RjYXNlcy9rZXJuZWwvaG90cGx1Zy9jcHVfaG90cGx1Zy9DT1BZSU5HO21kNT1lMDRhMmU1NDJiMmI4NjI5YmY5Y2QyYmEyOWIwZmU0MSBcCisgICAgZmlsZTovL3Rlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS9DT1BZSU5HO21kNT00OGIxYzVlYzYzM2UzZTMwZWMyY2Y4ODRhZTY5OTk0NyBcCisgICAgZmlsZTovL3Rlc3RjYXNlcy9yZWFsdGltZS9DT1BZSU5HO21kNT0xMmY4ODRkMmFlMWZmODdjMDllNWI3Y2NjMmM0Y2E3ZSBcCisgICAgZmlsZTovL3V0aWxzL2JlbmNobWFyay9rZXJuYmVuY2gtMC40Mi9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgZmlsZTovL3V0aWxzL2Zmc2ItNi4wLXJjMi9DT1BZSU5HO21kNT1jNDYwODIxNjdhMzE0ZDc4NWQwMTJhMjQ0NzQ4ZDgwMyBcCisiCisKK0RFUEVORFMgPSAiYXR0ciBsaWJhaW8gbGliY2FwIGFjbCBvcGVuc3NsIHppcC1uYXRpdmUiCitERVBFTkRTX2FwcGVuZF9saWJjLW11c2wgPSAiIGZ0cyAiCitFWFRSQV9PRU1BS0VfYXBwZW5kX2xpYmMtbXVzbCA9ICIgTElCQz1tdXNsICIKKworIyBzaW5jZSBsdHAgY29udGFpbnMgeDg2LTY0IGFzc2VtYmxlciB3aGljaCB1c2VzIHRoZSBmcmFtZS1wb2ludGVyIHJlZ2lzdGVyLAorIyBzZXQgLWZvbWl0LWZyYW1lLXBvaW50ZXIgeDg2LTY0IHRvIGhhbmRsZSBjYXNlcyB3aGVyZSBvcHRpbWlzYXRpb24KKyMgaXMgc2V0IHRvIC1PMCBvciBmcmFtZSBwb2ludGVycyBoYXZlIGJlZW4gZW5hYmxlZCBieSAtZm5vLW9taXQtZnJhbWUtcG9pbnRlcgorIyBlYXJsaWVyIGluIENGTEFHUywgZXRjLgorQ0ZMQUdTX2FwcGVuZF94ODYtNjQgPSAiIC1mb21pdC1mcmFtZS1wb2ludGVyIgorCitDRkxBR1NfYXBwZW5kX3Bvd2VycGM2NCA9ICIgLURfX1NBTkVfVVNFUlNQQUNFX1RZUEVTX18iCitDRkxBR1NfYXBwZW5kX21pcHNhcmNobjY0ID0gIiAtRF9fU0FORV9VU0VSU1BBQ0VfVFlQRVNfXyIKK1NSQ1JFViA9ICJhNmE1Y2FlZjEzNjMyZTY2OWRkYTI3YjA0NjE3MjZlYmE1NDZhMmYzIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGludXgtdGVzdC1wcm9qZWN0L2x0cC5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1idWlsZC1BZGQtb3B0aW9uLXRvLXNlbGVjdC1saWJjLWltcGxlbWVudGF0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUta2VybmVsLWNvbnRyb2xsZXJzLUxpbmstd2l0aC1saWJmdHMtZXhwbGljaXRseS1vbi1tdS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA3LWZpeC1fX1dPUkRTSVpFLXVuZGVjbGFyZWQtd2hlbi1idWlsZGluZy13aXRoLW11c2wucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOC1DaGVjay1pZi1fX0dMSUJDX1BSRVJFUS1pcy1kZWZpbmVkLWJlZm9yZS11c2luZy1pdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA5LWZpeC1yZWRlZmluaXRpb24tb2Ytc3RydWN0LW1zZ2J1Zi1lcnJvci1idWlsZGluZy13aXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxOC1ndWFyZC1tYWxsb2NvcHQtd2l0aC1fX0dMSUJDX18ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMC1nZXRkZW50cy1kZWZpbmUtZ2V0ZGVudHMtZ2V0ZGVudHM2NC1vbmx5LWZvci1nbGliYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIxLURlZmluZS1fR05VX1NPVVJDRS1mb3ItTVJFTUFQX01BWU1PVkUtZGVmaW5pdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIzLXB0cmFjZS1Vc2UtaW50LWluc3RlYWQtb2YtZW51bS1fX3B0cmFjZV9yZXF1ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjQtcnRfc2lnYWN0aW9uLXJ0X3NpZ3Byb2NtYXJrLURlZmluZS1fR05VX1NPVVJDRS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI2LWNyYXNoMDEtRGVmaW5lLV9HTlVfU09VUkNFLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjgtcnRfc2lnYWN0aW9uLmgtVXNlLXNpZ2hhbmRsZXJfdC1pbnN0ZWFkLW9mLV9fc2lnaGFuZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM0LXBlcmlvZGljX291dHB1dC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM1LWZpeC10ZXN0X3Byb2Nfa2lsbC1oYW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzYtdGVzdGNhc2VzLW5ldHdvcmstbmZzdjQtYWNsLWFjbDEuYy1TZWN1cml0eS1maXgtb24tcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM5LWNvbW1hbmRzLWFyMDEtRml4LWZvci10ZXN0LWluLWRldGVybWluaXN0aWMtbW9kZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9wZW5fcG9zaXhfdGVzdHN1aXRlLW1tYXAyNC0yLVJlbGF4LWNvbmRpdGlvbi1hLWJpdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWZpbmUtc2lncnRtaW4tYW5kLXNpZ3J0bWF4LWZvci1tdXNsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NldHJlZ2lkMDEtc2VjdXJpdHktc3RyaW5nLWZvcm1hdHRpbmcucGF0Y2ggXAorICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworZXhwb3J0IHByZWZpeCA9ICIvb3B0L2x0cCIKK2V4cG9ydCBleGVjX3ByZWZpeCA9ICIvb3B0L2x0cCIKKworUEFDS0FHRUNPTkZJR1tudW1hXSA9ICItLXdpdGgtbnVtYSwgLS13aXRob3V0LW51bWEsIG51bWFjdGwsIgorRVhUUkFfQVVUT1JFQ09ORiArPSAiLUkgJHtTfS90ZXN0Y2FzZXMvcmVhbHRpbWUvbTQiCitFWFRSQV9PRUNPTkYgPSAiIC0td2l0aC1wb3dlci1tYW5hZ2VtZW50LXRlc3RzdWl0ZSAtLXdpdGgtcmVhbHRpbWUtdGVzdHN1aXRlIC0td2l0aC1vcGVuLXBvc2l4LXRlc3RzdWl0ZSAiCisjIGx0cCBuZXR3b3JrL3JwYyB0ZXN0IGNhc2VzIGZ0YmZzIHdoZW4gbGlidGlycGMgaXMgZm91bmQKK0VYVFJBX09FQ09ORiArPSAiIC0td2l0aG91dC10aXJwYyAiCisKK2RvX2luc3RhbGwoKXsKKyAgICBpbnN0YWxsIC1kICR7RH0vb3B0L2x0cC8KKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBTS0lQX0lEQ0hFQ0s9MSBpbnN0YWxsCisKKyAgICAjIGZpeHVwIG5vdCBkZXBsb3kgU1RQZmFpbHVyZV9yZXBvcnQucGwgdG8gYXZvaWQgY29uZnVzaW5nIGFib3V0IGl0IGZhaWxzIHRvIHJ1bgorICAgICMgYXMgaXQgbGFja3MgZGVwZW5kZW5jeSBvbiBzb21lIHBlcmwgbW91ZGxlIHN1Y2ggYXMgTFdQOjpTaW1wbGUKKyAgICAjIEFuZCB0aGlzIHNjcmlwdCBwcmV2aW91c2x5IHdvcmtzIGFzIGEgdG9vbCBmb3IgYW5hbHl6aW5nIGZhaWx1cmVzIGZyb20gTFRQCisgICAgIyBydW5zIG9uIHRoZSBPU0RMJ3MgU2NhbGVhYmxlIFRlc3QgUGxhdGZvcm0gKFNUUCkgYW5kIGl0IG1haW5seSBhY2Nlc3NlcworICAgICMgaHR0cDovL2toYWNrLm9zZGwub3JnIHRvIHJldHJpZXZlIGx0cCB0ZXN0IHJlc3VsdHMgcnVuIG9uCisgICAgIyBPU0RMJ3MgU2NhbGVhYmxlIFRlc3QgUGxhdGZvcm0sIGJ1dCBub3cgaHR0cDovL2toYWNrLm9zZGwub3JnIHVuYWNjZXNzaWJsZQorICAgIHJtIC1yZiAke0R9L29wdC9sdHAvYmluL1NUUGZhaWx1cmVfcmVwb3J0LnBsCisKKyAgICAjIENvcHkgUE9TSVggdGVzdCBzdWl0ZSBpbnRvICR7RH0vb3B0L2x0cC90ZXN0Y2FzZXMgYnkgbWFudWFsCisgICAgY3AgLXIgdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlICR7RH0vb3B0L2x0cC90ZXN0Y2FzZXMKK30KKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgIGFjbCBcCisgICAgYXQgXAorICAgIGF0dHIgXAorICAgIGJhc2ggXAorICAgIGNwaW8gXAorICAgIGNyb25pZSBcCisgICAgY3VybCBcCisgICAgZTJmc3Byb2dzLW1rZTJmcyBcCisgICAgZXhwZWN0IFwKKyAgICBmaWxlIFwKKyAgICBnYXdrIFwKKyAgICBnemlwIFwKKyAgICBpcHJvdXRlMiBcCisgICAgbGRkIFwKKyAgICBsaWJhaW8gXAorICAgIGxvZ3JvdGF0ZSBcCisgICAgcGVybCBcCisgICAgcHl0aG9uLWNvcmUgXAorICAgIHByb2NwcyBcCisgICAgcXVvdGEgXAorICAgIHVuemlwIFwKKyAgICB1dGlsLWxpbnV4IFwKKyAgICB3aGljaCBcCisgICAgdGFyIFwKKyIKKworRklMRVNfJHtQTn0gKz0gIi9vcHQvbHRwLyogL29wdC9sdHAvcnVudGVzdC8qIC9vcHQvbHRwL3NjZW5hcmlvX2dyb3Vwcy8qIC9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vKiAvb3B0L2x0cC90ZXN0Y2FzZXMvYmluLyovYmluLyogL29wdC9sdHAvdGVzdHNjcmlwdHMvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvY29uZm9ybWFuY2UvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvRG9jdW1lbnRhdGlvbi8qIC9vcHQvbHRwL3Rlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS9mdW5jdGlvbmFsLyogL29wdC9sdHAvdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlL2luY2x1ZGUvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvc2NyaXB0cy8qIC9vcHQvbHRwL3Rlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS9zdHJlc3MvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvdG9vbHMvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvZGF0YS9ubTAxL2xpYi5hIC9vcHQvbHRwL2xpYi9saWJtZW0uYSIKKworIyBBdm9pZCBzdHJpcHBpbmcgc29tZSBnZW5lcmF0ZWQgYmluYXJpZXMgb3RoZXJ3aXNlIHNvbWUgb2YgdGhlIGx0cCB0ZXN0cyBzdWNoIGFzIGxkZDAxICYgbm0wMSBmYWlsCitJTkhJQklUX1BBQ0tBR0VfU1RSSVBfRklMRVMgPSAiL29wdC9sdHAvdGVzdGNhc2VzL2Jpbi9ubTAxIC9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vbGRkMDEiCitJTlNBTkVfU0tJUF8ke1BOfSArPSAiYWxyZWFkeS1zdHJpcHBlZCBzdGF0aWNkZXYiCisKKyMgQXZvaWQgZmlsZSBkZXBlbmRlbmN5IHNjYW5zLCBhcyBMVFAgY2hlY2tzIGZvciB0aGluZ3MgdGhhdCBtYXkgb3IgbWF5IG5vdAorIyBleGlzdCBvbiB0aGUgcnVubmluZyBzeXN0ZW0uICBGb3IgaW5zdGFuY2UgaXQgaGFzIHNwZWNpZmljIGNoZWNrcyBmb3IKKyMgY3NoIGFuZCBrc2ggd2hpY2ggYXJlIG5vdCB0eXBpY2FsbHkgcGFydCBvZiBPcGVuRW1iZWRkZWQgc3lzdGVtcyAoYnV0CisjIGNhbiBiZSBhZGRlZCB2aWEgYWRkaXRpb25hbCBsYXllcnMuKQorU0tJUF9GSUxFREVQU18ke1BOfSA9ICcxJwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHppcC9semlwXzEuMjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9semlwL2x6aXBfMS4yMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDFmYzJhMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9semlwL2x6aXBfMS4yMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLVNVTU1BUlkgPSAiTG9zc2xlc3MgZGF0YSBjb21wcmVzc29yIGJhc2VkIG9uIHRoZSBMWk1BIGFsZ29yaXRobSIKLUhPTUVQQUdFID0gImh0dHA6Ly9semlwLm5vbmdudS5vcmcvbHppcC5odG1sIgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NmQ2ZTMwMGZmZDhmYjlkMThiZDliMTM2YTliYmExMyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kZWNvZGVyLmNjO2JlZ2lubGluZT0zO2VuZGxpbmU9MTY7bWQ1PWRiMDlmZTNmOTU3M2Y5NGQwMDc2ZjdmMDc5NTllNmUxIgotCi1TUkNfVVJJID0gIiR7U0FWQU5OQUhfR05VX01JUlJPUn0vbHppcC9semlwLSR7UFZ9LnRhci5neiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjIxYzE1MTdkYTJhY2U5Njg5ZmQ5NTM5MTg2NjBiM2MzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImM5M2I4MWE1YTc3ODhlZjU4MTI0MjNkMzExMzQ1YmE1ZDNiZDRmNWViZjFmNjkzOTExZTNhMTM1NTNjMTI5MGMiCi0KLUNPTkZJR1VSRU9QVFMgPSAiXAotICAgICctLXNyY2Rpcj0ke1N9JyBcCi0gICAgJy0tcHJlZml4PSR7cHJlZml4fScgXAotICAgICctLWV4ZWMtcHJlZml4PSR7ZXhlY19wcmVmaXh9JyBcCi0gICAgJy0tYmluZGlyPSR7YmluZGlyfScgXAotICAgICctLWRhdGFkaXI9JHtkYXRhZGlyfScgXAotICAgICctLWluZm9kaXI9JHtpbmZvZGlyfScgXAotICAgICctLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfScgXAotICAgICdDWFg9JHtDWFh9JyBcCi0gICAgJ0NQUEZMQUdTPSR7Q1BQRkxBR1N9JyBcCi0gICAgJ0NYWEZMQUdTPSR7Q1hYRkxBR1N9JyBcCi0gICAgJ0xERkxBR1M9JHtMREZMQUdTfScgXAotIgotRVhUUkFfT0VNQUtFID0gIiIKLQotQiA9ICIke1N9L29iaiIKLWRvX2NvbmZpZ3VyZSAoKSB7Ci0gICAgJHtTfS9jb25maWd1cmUgJHtDT05GSUdVUkVPUFRTfQotfQotCi1kb19pbnN0YWxsICgpIHsKLSAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKLSAgICAjIEluZm8gZGlyIGxpc3RpbmcgaXNuJ3QgaW50ZXJlc3RpbmcgYXQgdGhpcyBwb2ludCBzbyByZW1vdmUgaXQgaWYgaXQgZXhpc3RzLgotICAgIGlmIFsgLWUgIiR7RH0ke2luZm9kaXJ9L2RpciIgXTsgdGhlbgotICAgICAgICBybSAtZiAke0R9JHtpbmZvZGlyfS9kaXIKLSAgICBmaQotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9semlwL2x6aXBfMS4yMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x6aXAvbHppcF8xLjIxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiM2QyYTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9semlwL2x6aXBfMS4yMS5iYgpAQCAtMCwwICsxLDQxIEBACitTVU1NQVJZID0gIkxvc3NsZXNzIGRhdGEgY29tcHJlc3NvciBiYXNlZCBvbiB0aGUgTFpNQSBhbGdvcml0aG0iCitIT01FUEFHRSA9ICJodHRwOi8vbHppcC5ub25nbnUub3JnL2x6aXAuaHRtbCIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzZkNmUzMDBmZmQ4ZmI5ZDE4YmQ5YjEzNmE5YmJhMTMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZGVjb2Rlci5jYztiZWdpbmxpbmU9MztlbmRsaW5lPTE2O21kNT1kYjA5ZmUzZjk1NzNmOTRkMDA3NmY3ZjA3OTU5ZTZlMSIKKworU1JDX1VSSSA9ICIke1NBVkFOTkFIX0dOVV9NSVJST1J9L2x6aXAvbHppcC0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYzAwNjE3MzBkMDE3ZWE1OTNhMDkzMDhlZGM1NDcxMjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTQ4YjUwMzlkMzE2NGQ2NzA3OTFmOWM1ZGJhYTgzMmJmMmRmMDgwY2IxZmJiNGYzM2FhN2IzMzAwYjY3MGQ4YiIKKworQiA9ICIke1dPUktESVJ9L2J1aWxkIgorZG9fY29uZmlndXJlW2NsZWFuZGlyc10gPSAiJHtCfSIKKworQ09ORklHVVJFT1BUUyA9ICJcCisgICAgJy0tc3JjZGlyPSR7U30nIFwKKyAgICAnLS1wcmVmaXg9JHtwcmVmaXh9JyBcCisgICAgJy0tZXhlYy1wcmVmaXg9JHtleGVjX3ByZWZpeH0nIFwKKyAgICAnLS1iaW5kaXI9JHtiaW5kaXJ9JyBcCisgICAgJy0tZGF0YWRpcj0ke2RhdGFkaXJ9JyBcCisgICAgJy0taW5mb2Rpcj0ke2luZm9kaXJ9JyBcCisgICAgJy0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9JyBcCisgICAgJ0NYWD0ke0NYWH0nIFwKKyAgICAnQ1BQRkxBR1M9JHtDUFBGTEFHU30nIFwKKyAgICAnQ1hYRkxBR1M9JHtDWFhGTEFHU30nIFwKKyAgICAnTERGTEFHUz0ke0xERkxBR1N9JyBcCisiCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgJHtTfS9jb25maWd1cmUgJHtDT05GSUdVUkVPUFRTfQorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKyAgICAjIEluZm8gZGlyIGxpc3RpbmcgaXNuJ3QgaW50ZXJlc3RpbmcgYXQgdGhpcyBwb2ludCBzbyByZW1vdmUgaXQgaWYgaXQgZXhpc3RzLgorICAgIGlmIFsgLWUgIiR7RH0ke2luZm9kaXJ9L2RpciIgXTsgdGhlbgorICAgICAgICBybSAtZiAke0R9JHtpbmZvZGlyfS9kaXIKKyAgICBmaQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYW4tZGIvbWFuLWRiXzIuOC4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLWRiL21hbi1kYl8yLjguMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Q4ZDI3Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYW4tZGIvbWFuLWRiXzIuOC4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotU1VNTUFSWSA9ICJBbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgc3RhbmRhcmQgVW5peCBkb2N1bWVudGF0aW9uIHN5c3RlbSBhY2Nlc3NlZCB1c2luZyB0aGUgbWFuIGNvbW1hbmQiCi1IT01FUEFHRSA9ICJodHRwOi8vbWFuLWRiLm5vbmdudS5vcmcvIgotTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jcy9DT1BZSU5HLkxJQjttZDU9YTZmODllMjEwMGQ5YjZjZGZmY2VhNGYzOThlMzczNDMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jcy9DT1BZSU5HO21kNT1lYjcyM2I2MTUzOWZlZWYwMTNkZTQ3NmU2OGI1YzUwYSIKLQotU1JDX1VSSSA9ICIke1NBVkFOTkFIX05PTkdOVV9NSVJST1J9L21hbi1kYi9tYW4tZGItJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzk5X21hbmRiIFwKLSAgICAgICAgICAgZmlsZTovL21hbl9kYi5jb25mLWF2b2lkLW11bHRpbGliLWluc3RhbGwtZmlsZS1jb25mbGljdC5wYXRjaCIKLVNSQ19VUklbbWQ1c3VtXSA9ICI2ZjMwNTVlMThmZGQxY2U1Y2JiZGIzMDQwMzk5MWVjNyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1OTMyYTFjYTM2NmUxZWM2MWEzZWNlMWEzYWZhMGU5MmYyZmRjMTI1YjYxZDIzNmYyMGNjNmZmOWQ4MGNjNGFjIgotCi1ERVBFTkRTID0gImxpYnBpcGVsaW5lIGdkYm0gZ3JvZmYtbmF0aXZlIGJhc2UtcGFzc3dkIgotUkRFUEVORFNfJHtQTn0gKz0gImJhc2UtcGFzc3dkIgotCi0jIHwgL3Vzci9zcmMvZGVidWcvbWFuLWRiLzIuOC4wLXIwL21hbi1kYi0yLjguMC9zcmMvd2hhdGlzLmM6OTM5OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfbmxfbXNnX2NhdF9jbnRyJwotVVNFX05MU19saWJjLW11c2wgPSAibm8iCi0KLWluaGVyaXQgZ2V0dGV4dCBwa2djb25maWcgYXV0b3Rvb2xzCi0KLUVYVFJBX09FQ09ORiA9ICItLXdpdGgtcGFnZXI9bGVzcyIKLQotZG9faW5zdGFsbCgpIHsKLQlhdXRvdG9vbHNfZG9faW5zdGFsbAotCi0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0JICAgICAgICBpbnN0YWxsIC1kICR7RH0vZXRjL2RlZmF1bHQvdm9sYXRpbGVzCi0JCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzk5X21hbmRiICR7RH0vZXRjL2RlZmF1bHQvdm9sYXRpbGVzCi0JZmkKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfbGliYy1tdXNsKCkgewotICAgICAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2NoYXJzZXQuYWxpYXMKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7cHJlZml4fS9saWIvdG1wZmlsZXMuZCIKLQotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vbWFuLWRiL2xpYm1hbi5zbyAke2xpYmRpcn0vJHtCUE59L2xpYm1hbmRiLnNvIgotCi1SREVQRU5EU18ke1BOfSArPSAiZ3JvZmYiCi1SUkVDT01NRU5EU18ke1BOfSArPSAibGVzcyIKLVJQUk9WSURFU18ke1BOfSArPSAiIG1hbiIKLQotZGVmIGNvbXByZXNzX3BrZyhkKToKLSAgICBpZiBiYi51dGlscy5jb250YWlucygiSU5IRVJJVCIsICJjb21wcmVzc19kb2MiLCBUcnVlLCBGYWxzZSwgZCk6Ci0gICAgICAgICBjb21wcmVzcyA9IGQuZ2V0VmFyKCJET0NfQ09NUFJFU1MiKQotICAgICAgICAgaWYgY29tcHJlc3MgPT0gImd6IjoKLSAgICAgICAgICAgICByZXR1cm4gImd6aXAiCi0gICAgICAgICBlbGlmIGNvbXByZXNzID09ICJiejIiOgotICAgICAgICAgICAgIHJldHVybiAiYnppcDIiCi0gICAgICAgICBlbGlmIGNvbXByZXNzID09ICJ4eiI6Ci0gICAgICAgICAgICAgcmV0dXJuICJ4eiIKLSAgICByZXR1cm4gIiIKLQotUkRFUEVORFNfJHtQTn0gKz0gIiR7QGNvbXByZXNzX3BrZyhkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYW4tZGIvbWFuLWRiXzIuOC40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLWRiL21hbi1kYl8yLjguNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTM2NDY1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLWRiL21hbi1kYl8yLjguNC5iYgpAQCAtMCwwICsxLDU2IEBACitTVU1NQVJZID0gIkFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBzdGFuZGFyZCBVbml4IGRvY3VtZW50YXRpb24gc3lzdGVtIGFjY2Vzc2VkIHVzaW5nIHRoZSBtYW4gY29tbWFuZCIKK0hPTUVQQUdFID0gImh0dHA6Ly9tYW4tZGIubm9uZ251Lm9yZy8iCitMSUNFTlNFID0gIkxHUEx2Mi4xICYgR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2NzL0NPUFlJTkcuTElCO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2NzL0NPUFlJTkc7bWQ1PWViNzIzYjYxNTM5ZmVlZjAxM2RlNDc2ZTY4YjVjNTBhIgorCitTUkNfVVJJID0gIiR7U0FWQU5OQUhfTk9OR05VX01JUlJPUn0vbWFuLWRiL21hbi1kYi0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vOTlfbWFuZGIgXAorICAgICAgICAgICBmaWxlOi8vbWFuX2RiLmNvbmYtYXZvaWQtbXVsdGlsaWItaW5zdGFsbC1maWxlLWNvbmZsaWN0LnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gImFiNDFkYjU1MWY1MDBlNGE1OTViMTEyMDNiODZjNjdhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwM2MxODVmOWQ4MjY5YjllZTNiOGE0Y2IyNzkxMmIzYWEzOTNlOTUyNzMxZWY5NmZlZGM4ODA3MjM0NzJiYzMiCisKK0RFUEVORFMgPSAibGlicGlwZWxpbmUgZ2RibSBncm9mZi1uYXRpdmUgYmFzZS1wYXNzd2QiCitSREVQRU5EU18ke1BOfSArPSAiYmFzZS1wYXNzd2QiCisKKyMgfCAvdXNyL3NyYy9kZWJ1Zy9tYW4tZGIvMi44LjAtcjAvbWFuLWRiLTIuOC4wL3NyYy93aGF0aXMuYzo5Mzk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9ubF9tc2dfY2F0X2NudHInCitVU0VfTkxTX2xpYmMtbXVzbCA9ICJubyIKKworaW5oZXJpdCBnZXR0ZXh0IHBrZ2NvbmZpZyBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1wYWdlcj1sZXNzIgorRVhUUkFfQVVUT1JFQ09ORiArPSAiLUkgJHtTfS9nbC9tNCIKKworZG9faW5zdGFsbCgpIHsKKwlhdXRvdG9vbHNfZG9faW5zdGFsbAorCisJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJICAgICAgICBpbnN0YWxsIC1kICR7RH0vZXRjL2RlZmF1bHQvdm9sYXRpbGVzCisJCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzk5X21hbmRiICR7RH0vZXRjL2RlZmF1bHQvdm9sYXRpbGVzCisJZmkKK30KKworZG9faW5zdGFsbF9hcHBlbmRfbGliYy1tdXNsKCkgeworICAgICAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2NoYXJzZXQuYWxpYXMKK30KKworRklMRVNfJHtQTn0gKz0gIiR7cHJlZml4fS9saWIvdG1wZmlsZXMuZCIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vbWFuLWRiL2xpYm1hbi5zbyAke2xpYmRpcn0vJHtCUE59L2xpYm1hbmRiLnNvIgorCitSREVQRU5EU18ke1BOfSArPSAiZ3JvZmYiCitSUkVDT01NRU5EU18ke1BOfSArPSAibGVzcyIKK1JQUk9WSURFU18ke1BOfSArPSAiIG1hbiIKKworZGVmIGNvbXByZXNzX3BrZyhkKToKKyAgICBpZiBiYi51dGlscy5jb250YWlucygiSU5IRVJJVCIsICJjb21wcmVzc19kb2MiLCBUcnVlLCBGYWxzZSwgZCk6CisgICAgICAgICBjb21wcmVzcyA9IGQuZ2V0VmFyKCJET0NfQ09NUFJFU1MiKQorICAgICAgICAgaWYgY29tcHJlc3MgPT0gImd6IjoKKyAgICAgICAgICAgICByZXR1cm4gImd6aXAiCisgICAgICAgICBlbGlmIGNvbXByZXNzID09ICJiejIiOgorICAgICAgICAgICAgIHJldHVybiAiYnppcDIiCisgICAgICAgICBlbGlmIGNvbXByZXNzID09ICJ4eiI6CisgICAgICAgICAgICAgcmV0dXJuICJ4eiIKKyAgICByZXR1cm4gIiIKKworUkRFUEVORFNfJHtQTn0gKz0gIiR7QGNvbXByZXNzX3BrZyhkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYW4tcGFnZXMvbWFuLXBhZ2VzXzQuMTYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYW4tcGFnZXMvbWFuLXBhZ2VzXzQuMTYuYmIKaW5kZXggYTY0NTg3Yy4uMWYxNGM4OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLXBhZ2VzL21hbi1wYWdlc180LjE2LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21hbi1wYWdlcy9tYW4tcGFnZXNfNC4xNi5iYgpAQCAtMzEsNiArMzEsNyBAQAogaW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzCiAKIEFMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKLUFMVEVSTkFUSVZFXyR7UE59ID0gInBhc3N3ZC41IGdldHNwbmFtLjMiCitBTFRFUk5BVElWRV8ke1BOfSA9ICJwYXNzd2QuNSBnZXRzcG5hbS4zIGNyeXB0LjMiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbcGFzc3dkLjVdID0gIiR7bWFuZGlyfS9tYW41L3Bhc3N3ZC41IgogQUxURVJOQVRJVkVfTElOS19OQU1FW2dldHNwbmFtLjNdID0gIiR7bWFuZGlyfS9tYW4zL2dldHNwbmFtLjMiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbY3J5cHQuM10gPSAiJHttYW5kaXJ9L21hbjMvY3J5cHQuMyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21jL21jXzQuOC4yMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21jL21jXzQuOC4yMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzZhNDUwMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYy9tY180LjguMjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1TVU1NQVJZID0gIk1pZG5pZ2h0IENvbW1hbmRlciBpcyBhbiBuY3Vyc2VzIGJhc2VkIGZpbGUgbWFuYWdlciIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cubWlkbmlnaHQtY29tbWFuZGVyLm9yZy8iCi1MSUNFTlNFID0gIkdQTHYzIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjcwYmJhZmUzNjBlNzNmOTg0MGJkNzk4MTYyMWY5YzIiCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi1ERVBFTkRTID0gIm5jdXJzZXMgZ2xpYi0yLjAgdXRpbC1saW51eCIKLVJERVBFTkRTXyR7UE59ID0gIm5jdXJzZXMtdGVybWluZm8iCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5taWRuaWdodC1jb21tYW5kZXIub3JnL2Rvd25sb2Fkcy8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1jLXJlcGxhY2UtcGVybC13LXdpdGgtdXNlLXdhcm5pbmdzLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjYzZDJiOTBlMjE5OGVlNzlkMDhlYjRhODk4OTIyMGUyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI1MWQ5ZjBlZjkzMDllZjNlZWEwZmRjNGMxMmI4YjYxMTQ5ZTUwNTZiZWYxYjJkZTJjY2M3ZjAxNWQ5NzM0NDQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCi0KLSMKLSMgQm90aCBTYW1iYSAoc21iKSBhbmQgc2Z0cCByZXF1aXJlIHBhY2thZ2UgZGVsaXZlcmVkIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQKLSMKLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHW3NtYl0gPSAiLS1lbmFibGUtdmZzLXNtYiwtLWRpc2FibGUtdmZzLXNtYixzYW1iYSwiCi1QQUNLQUdFQ09ORklHW3NmdHBdID0gIi0tZW5hYmxlLXZmcy1zZnRwLC0tZGlzYWJsZS12ZnMtc2Z0cCxsaWJzc2gyLCIKLQotRVhUUkFfT0VDT05GID0gIi0td2l0aC1zY3JlZW49bmN1cnNlcyAtLXdpdGhvdXQtZ3BtLW1vdXNlIC0td2l0aG91dC14IgotCi1DQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfcGF0aF9QRVJMPScvdXNyL2Jpbi9lbnYgcGVybCciCi0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLQlzZWQgLWkgLWUgJzFzLCMhLipwZXJsLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC8qCi0gICAgICAgIAotICAgICAgICBybSAke0R9JHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3MzKyAke0R9JHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3VjMTU0MQotfQotCi1QQUNLQUdFUyA9KyAiJHtCUE59LWhlbHBlcnMtcGVybCAke0JQTn0taGVscGVycyAke0JQTn0tZmlzaCIKLQotU1VNTUFSWV8ke0JQTn0taGVscGVycy1wZXJsID0gIk1pZG5pZ2h0IENvbW1hbmRlciBQZXJsLWJhc2VkIGhlbHBlciBzY3JpcHRzIgotRklMRVNfJHtCUE59LWhlbHBlcnMtcGVybCA9ICIke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvYSsgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2FwdCsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvZGViICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC9kZWJhIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2RlYmQgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2Rwa2crIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL21haWxmcyAke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvcGF0Y2hmcyBcIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvcnBtcysgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3VsaWIgXCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3V6aXAiCi1SREVQRU5EU18ke0JQTn0taGVscGVycy1wZXJsID0gInBlcmwiCi0KLVNVTU1BUllfJHtCUE59LWhlbHBlcnMgPSAiTWlkbmlnaHQgQ29tbWFuZGVyIHNoZWxsIGhlbHBlciBzY3JpcHRzIgotRklMRVNfJHtCUE59LWhlbHBlcnMgPSAiJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kLyogJHtsaWJleGVjZGlyfS9tYy9leHQuZC8qIgotCi1TVU1NQVJZXyR7QlBOfS1maXNoID0gIk1pZG5pZ2h0IENvbW1hbmRlciBGaXNoIHNjcmlwdHMiCi1GSUxFU18ke0JQTn0tZmlzaCA9ICIke2xpYmV4ZWNkaXJ9L21jL2Zpc2giCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYy9tY180LjguMjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYy9tY180LjguMjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY0ZWZmYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21jL21jXzQuOC4yMi5iYgpAQCAtMCwwICsxLDQ5IEBACitTVU1NQVJZID0gIk1pZG5pZ2h0IENvbW1hbmRlciBpcyBhbiBuY3Vyc2VzIGJhc2VkIGZpbGUgbWFuYWdlciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubWlkbmlnaHQtY29tbWFuZGVyLm9yZy8iCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjcwYmJhZmUzNjBlNzNmOTg0MGJkNzk4MTYyMWY5YzIiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitERVBFTkRTID0gIm5jdXJzZXMgZ2xpYi0yLjAgdXRpbC1saW51eCIKK1JERVBFTkRTXyR7UE59ID0gIm5jdXJzZXMtdGVybWluZm8iCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5taWRuaWdodC1jb21tYW5kZXIub3JnL2Rvd25sb2Fkcy8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1jLXJlcGxhY2UtcGVybC13LXdpdGgtdXNlLXdhcm5pbmdzLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjI5OTgzYTIxNWM5NjAzMGYwNmQ1YjExMjA4OGVjNWRjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhkOWYxYzc1MzY5OTY3YWRmZDMxN2EwNWZlZjk4NjE0NDRlZDA0OWIwMzNlNGRlYmFlYWFmYzZkZjIxOGI0MzEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCisKKyMKKyMgQm90aCBTYW1iYSAoc21iKSBhbmQgc2Z0cCByZXF1aXJlIHBhY2thZ2UgZGVsaXZlcmVkIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQKKyMKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3NtYl0gPSAiLS1lbmFibGUtdmZzLXNtYiwtLWRpc2FibGUtdmZzLXNtYixzYW1iYSwiCitQQUNLQUdFQ09ORklHW3NmdHBdID0gIi0tZW5hYmxlLXZmcy1zZnRwLC0tZGlzYWJsZS12ZnMtc2Z0cCxsaWJzc2gyLCIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1zY3JlZW49bmN1cnNlcyAtLXdpdGhvdXQtZ3BtLW1vdXNlIC0td2l0aG91dC14IgorCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfcGF0aF9QRVJMPScvdXNyL2Jpbi9lbnYgcGVybCciCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKwlzZWQgLWkgLWUgJzFzLCMhLipwZXJsLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC8qCisgICAgICAgIAorICAgICAgICBybSAke0R9JHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3MzKyAke0R9JHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3VjMTU0MQorfQorCitQQUNLQUdFUyA9KyAiJHtCUE59LWhlbHBlcnMtcGVybCAke0JQTn0taGVscGVycyAke0JQTn0tZmlzaCIKKworU1VNTUFSWV8ke0JQTn0taGVscGVycy1wZXJsID0gIk1pZG5pZ2h0IENvbW1hbmRlciBQZXJsLWJhc2VkIGhlbHBlciBzY3JpcHRzIgorRklMRVNfJHtCUE59LWhlbHBlcnMtcGVybCA9ICIke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvYSsgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2FwdCsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvZGViICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC9kZWJhIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2RlYmQgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2Rwa2crIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL21haWxmcyAke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvcGF0Y2hmcyBcIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvcnBtcysgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3VsaWIgXCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3V6aXAiCitSREVQRU5EU18ke0JQTn0taGVscGVycy1wZXJsID0gInBlcmwiCisKK1NVTU1BUllfJHtCUE59LWhlbHBlcnMgPSAiTWlkbmlnaHQgQ29tbWFuZGVyIHNoZWxsIGhlbHBlciBzY3JpcHRzIgorRklMRVNfJHtCUE59LWhlbHBlcnMgPSAiJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kLyogJHtsaWJleGVjZGlyfS9tYy9leHQuZC8qIgorCitTVU1NQVJZXyR7QlBOfS1maXNoID0gIk1pZG5pZ2h0IENvbW1hbmRlciBGaXNoIHNjcmlwdHMiCitGSUxFU18ke0JQTn0tZmlzaCA9ICIke2xpYmV4ZWNkaXJ9L21jL2Zpc2giCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLUNvbXB1dGUtYWJzLWRpZmYtaW4tYS1zdGFuZGFyZC1jb21wbGlhbnQtd2F5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1Db21wdXRlLWFicy1kaWZmLWluLWEtc3RhbmRhcmQtY29tcGxpYW50LXdheS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDNhNTliCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1Db21wdXRlLWFicy1kaWZmLWluLWEtc3RhbmRhcmQtY29tcGxpYW50LXdheS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIGIyNzNlODkyYmQ2YWFhZmU0NDhmODQzNTZhYmI3OGE2ZDQ2M2U3ODQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCA3IERlYyAyMDE4IDE3OjIyOjM5IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIENvbXB1dGUgYWJzIGRpZmYgaW4gYSBzdGFuZGFyZCBjb21wbGlhbnQgd2F5CisKK1RoaXMgbWFrZSBpdCBhIGJpdCBsZXNzIGltcGxlbWVudGF0aW9uIGRlZmluZWQgYW5kIHNpbGVuY2VzIGNsYW5nCit3YXJuaW5nIC1XYWJzb2x1dGUtdmFsdWUKKworfCBzdXBlci1pbnRlbC5jOjI4MjI6MjA6IGVycm9yOiB0YWtpbmcgdGhlIGFic29sdXRlIHZhbHVlIG9mIHVuc2lnbmVkIHR5cGUgJ3Vuc2kKK2duZWQgbG9uZyBsb25nJyBoYXMgbm8gZWZmZWN0IFstV2Vycm9yLC1XYWJzb2x1dGUtdmFsdWVdCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3VwZXItaW50ZWwuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3N1cGVyLWludGVsLmMgYi9zdXBlci1pbnRlbC5jCitpbmRleCA2NDM4OTg3Li4xMGQ3MjE4IDEwMDY0NAorLS0tIGEvc3VwZXItaW50ZWwuYworKysrIGIvc3VwZXItaW50ZWwuYworQEAgLTI4MTksNyArMjgxOSw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgY2FsY19jb21wb25lbnRfc2l6ZShzdHJ1Y3QgaW1zbV9tYXAgKm1hcCwKKyAJICogMjA0OCBibG9ja3MgcGVyIGVhY2ggZGV2aWNlLiBJZiB0aGUgZGlmZmVyZW5jZSBpcyBoaWdoZXIgaXQgbWVhbnMKKyAJICogdGhhdCBhcnJheSBzaXplIHdhcyBleHBhbmRlZCBhbmQgbnVtX2RhdGFfc3RyaXBlcyB3YXMgbm90IHVwZGF0ZWQuCisgCSAqLworLQlpZiAoKHVuc2lnbmVkIGludClhYnMoY2FsY19kZXZfc2l6ZSAtIGRldl9zaXplKSA+CisrCWlmICgodW5zaWduZWQgaW50KWFicygoaW50KWNhbGNfZGV2X3NpemUgLSAoaW50KWRldl9zaXplKSA+CisgCSAgICAoMSA8PCBTRUNUX1BFUl9NQl9TSElGVCkgKiBtZW1iZXJfZGlza3MpIHsKKyAJCWNvbXBvbmVudF9zaXplID0gZGV2X3NpemUgLyBtZW1iZXJfZGlza3M7CisgCQlkcHJpbnRmKCJJbnZhbGlkIG51bV9kYXRhX3N0cmlwZXMgaW4gbWV0YWRhdGE7IGV4cGVjdGVkPSVsbHUsIGZvdW5kPSVsbHVcbiIsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLURpc2FibGUtZ2NjOC13YXJuaW5ncy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtRGlzYWJsZS1nY2M4LXdhcm5pbmdzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3Mzk2NTJjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtRGlzYWJsZS1nY2M4LXdhcm5pbmdzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTUyICswLDAgQEAKLUZyb20gYjgzMjE4ZGUyNjIzYzBiYmU5YWYzNTVhODFhZTgzODVkN2YzMGNmYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDkgTWF5IDIwMTggMTI6NTY6NDEgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gRGlzYWJsZSBnY2M4IHdhcm5pbmdzCi0KLVRoaXMgaXMgbmVlZGVkIHVudGlsCi1odHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTE1NTM5NTgKLQotRml4IHN1cGVyMC5jIGlzc3VlIHdoaWNoIGlzIHRyaWdnZXJlZCBvbmx5IGluIERFQlVHX0JVSUxEIHdpdGggLU8xIChvciBhbnkKLWNvbmZpZ3VyYXRpb24gd2l0aG91dCAtZnRyZWUtdnJwIG9yIHdpdGggLWZuby10cmVlLXZycCkKLQotc3VwZXIwLmM6IEluIGZ1bmN0aW9uICdleGFtaW5lX3N1cGVyMCc6Ci1zdXBlcjAuYzoyMzg6MzI6IGVycm9yOiAnc25wcmludGYnIG91dHB1dCBtYXkgYmUgdHJ1bmNhdGVkIGJlZm9yZSB0aGUgbGFzdCBmb3JtYXQgY2hhcmFjdGVyIFstV2Vycm9yPWZvcm1hdC10cnVuY2F0aW9uPV0KLSAgIHNucHJpbnRmKG5iLCBzaXplb2YobmIpLCAiJTRkIiwgZCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtXb3JrYXJvdW5kXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi0tLS0KLSBNb25pdG9yLmMgICAgIHwgNCArKystCi0gbWRvcGVuLmMgICAgICB8IDQgKysrKwotIHN1cGVyLWRkZi5jICAgfCA0ICsrKysKLSBzdXBlci1pbnRlbC5jIHwgNiArKysrKysKLSBzdXBlcjEuYyAgICAgIHwgNSArKysrKwotIHN1cGVyMC5jICAgICAgfCAyICstCi0gNiBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zdXBlcjAuYyBiL3N1cGVyMC5jCi1pbmRleCBmNWI0NTA3Li4yNjRiNTk4IDEwMDY0NAotLS0tIGEvc3VwZXIwLmMKLSsrKyBiL3N1cGVyMC5jCi1AQCAtMjMxLDcgKzIzMSw3IEBACi0gCSAgICAgZCsrKSB7Ci0gCQltZHBfZGlza190ICpkcDsKLSAJCWNoYXIgKmR2OwotLQkJY2hhciBuYlsxMV07Ci0rCQljaGFyIG5iWzEyXTsKLSAJCWludCB3b25seSwgZmFpbGZhc3Q7Ci0gCQlpZiAoZD49MCkgZHAgPSAmc2ItPmRpc2tzW2RdOwotIAkJZWxzZSBkcCA9ICZzYi0+dGhpc19kaXNrOwotZGlmZiAtLWdpdCBhL01vbml0b3IuYyBiL01vbml0b3IuYwotaW5kZXggODAyYTlkOS4uMjNiMjQ2YiAxMDA2NDQKLS0tLSBhL01vbml0b3IuYwotKysrIGIvTW9uaXRvci5jCi1AQCAtNDQxLDcgKzQ0MSw4IEBAIHN0YXRpYyB2b2lkIGFsZXJ0KGNoYXIgKmV2ZW50LCBjaGFyICpkZXYsIGNoYXIgKmRpc2MsIHN0cnVjdCBhbGVydF9pbmZvICppbmZvKQotIAkJCSAgICAgICBldmVudCwgZGV2KTsKLSAJfQotIH0KLS0KLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZm9ybWF0LXRydW5jYXRpb24iCi0gc3RhdGljIGludCBjaGVja19hcnJheShzdHJ1Y3Qgc3RhdGUgKnN0LCBzdHJ1Y3QgbWRzdGF0X2VudCAqbWRzdGF0LAotIAkJICAgICAgIGludCB0ZXN0LCBzdHJ1Y3QgYWxlcnRfaW5mbyAqYWluZm8sCi0gCQkgICAgICAgaW50IGluY3JlbWVudHMsIGNoYXIgKnByZWZlcikKLUBAIC02ODMsNiArNjg0LDcgQEAgc3RhdGljIGludCBjaGVja19hcnJheShzdHJ1Y3Qgc3RhdGUgKnN0LCBzdHJ1Y3QgbWRzdGF0X2VudCAqbWRzdGF0LAotIAkJcmV0dXJuIDE7Ci0gCXJldHVybiAwOwotIH0KLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBvcAotIAotIHN0YXRpYyBpbnQgYWRkX25ld19hcnJheXMoc3RydWN0IG1kc3RhdF9lbnQgKm1kc3RhdCwgc3RydWN0IHN0YXRlICoqc3RhdGVsaXN0LAotIAkJCSAgaW50IHRlc3QsIHN0cnVjdCBhbGVydF9pbmZvICppbmZvKQotZGlmZiAtLWdpdCBhL21kb3Blbi5jIGIvbWRvcGVuLmMKLWluZGV4IDY4NWNhMzIuLjQwNmFiYTQgMTAwNjQ0Ci0tLS0gYS9tZG9wZW4uYwotKysrIGIvbWRvcGVuLmMKLUBAIC0yNiw2ICsyNiw5IEBACi0gI2luY2x1ZGUgIm1kX3AuaCIKLSAjaW5jbHVkZSA8Y3R5cGUuaD4KLSAKLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZm9ybWF0LXRydW5jYXRpb24iCi0rCi0gdm9pZCBtYWtlX3BhcnRzKGNoYXIgKmRldiwgaW50IGNudCkKLSB7Ci0gCS8qIG1ha2UgJ2NudCcgcGFydGl0aW9uIGRldmljZXMgZm9yICdkZXYnCi1AQCAtOTksNiArMTAyLDcgQEAgdm9pZCBtYWtlX3BhcnRzKGNoYXIgKmRldiwgaW50IGNudCkKLSAJfQotIAlmcmVlKG5hbWUpOwotIH0KLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBvcAotIAotIC8qCi0gICogV2UgbmVlZCBhIG5ldyBtZCBkZXZpY2UgdG8gYXNzZW1ibGUvYnVpbGQvY3JlYXRlIGFuIGFycmF5LgotZGlmZiAtLWdpdCBhL3N1cGVyLWRkZi5jIGIvc3VwZXItZGRmLmMKLWluZGV4IDE3MDdhZDEuLmUwOGQyODkgMTAwNjQ0Ci0tLS0gYS9zdXBlci1kZGYuYwotKysrIGIvc3VwZXItZGRmLmMKLUBAIC0yODQ2LDYgKzI4NDYsOSBAQCBzdGF0aWMgdm9pZCBfc2V0X2NvbmZpZ19zaXplKHN0cnVjdCBwaHlzX2Rpc2tfZW50cnkgKnBkZSwgY29uc3Qgc3RydWN0IGRsICpkbCkKLSAJCSh1bnNpZ25lZCBsb25nIGxvbmcpY2ZzLCAodW5zaWduZWQgbG9uZyBsb25nKShkbC0+c2l6ZS1jZnMpKTsKLSB9Ci0gCi0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwdXNoCi0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2Zvcm1hdC1vdmVyZmxvdyIKLSsKLSAvKiBBZGQgYSBkZXZpY2UgdG8gYSBjb250YWluZXIsIGVpdGhlciB3aGlsZSBjcmVhdGluZyBpdCBvciB3aGlsZQotICAqIGV4cGFuZGluZyBhIHByZS1leGlzdGluZyBjb250YWluZXIKLSAgKi8KLUBAIC0yOTgxLDYgKzI5ODQsNyBAQCBzdGF0aWMgaW50IGFkZF90b19zdXBlcl9kZGYoc3RydWN0IHN1cGVydHlwZSAqc3QsCi0gCi0gCXJldHVybiAwOwotIH0KLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBvcAotIAotIHN0YXRpYyBpbnQgcmVtb3ZlX2Zyb21fc3VwZXJfZGRmKHN0cnVjdCBzdXBlcnR5cGUgKnN0LCBtZHVfZGlza19pbmZvX3QgKmRrKQotIHsKLWRpZmYgLS1naXQgYS9zdXBlci1pbnRlbC5jIGIvc3VwZXItaW50ZWwuYwotaW5kZXggMDBhMjkyNS4uNDRmYmVhZCAxMDA2NDQKLS0tLSBhL3N1cGVyLWludGVsLmMKLSsrKyBiL3N1cGVyLWludGVsLmMKLUBAIC0yOTgsNiArMjk4LDExIEBAIHN0cnVjdCBtZF9saXN0IHsKLSB9OwotIAotICNkZWZpbmUgcHJfdnJiKGZtdCwgYXJnLi4uKSAodm9pZCkgKHZlcmJvc2UgJiYgcHJfZXJyKGZtdCwgIyNhcmcpKQotKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAotKyMgaWYgX19HTlVDX18gPT0gOAotKyMgcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc3RyaW5nb3AtdHJ1bmNhdGlvbiIKLSsjIGVuZGlmCi0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2Zvcm1hdC10cnVuY2F0aW9uIgotIAotIHN0YXRpYyBfX3U4IG1pZ3JfdHlwZShzdHJ1Y3QgaW1zbV9kZXYgKmRldikKLSB7Ci1AQCAtMTE2MTgsMyArMTE2MjMsNCBAQCBzdHJ1Y3Qgc3VwZXJzd2l0Y2ggc3VwZXJfaW1zbSA9IHsKLSAJLmdldF9iYWRfYmxvY2tzICAgPSBpbXNtX2dldF9iYWRibG9ja3MsCi0gI2VuZGlmIC8qIE1EQVNTRU1CTEUgKi8KLSB9OwotKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCi1kaWZmIC0tZ2l0IGEvc3VwZXIxLmMgYi9zdXBlcjEuYwotaW5kZXggODdhNzRjYi4uNzFjNTE1ZiAxMDA2NDQKLS0tLSBhL3N1cGVyMS5jCi0rKysgYi9zdXBlcjEuYwotQEAgLTEwOTEsNiArMTA5MSwxMCBAQCBzdGF0aWMgc3RydWN0IG1kaW5mbyAqY29udGFpbmVyX2NvbnRlbnQxKHN0cnVjdCBzdXBlcnR5cGUgKnN0LCBjaGFyICpzdWJhcnJheSkKLSAJcmV0dXJuIGluZm87Ci0gfQotIAotKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAotKyMgaWYgX19HTlVDX18gPT0gOAotKyMgcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc3RyaW5nb3AtdHJ1bmNhdGlvbiIKLSsjZW5kaWYKLSBzdGF0aWMgaW50IHVwZGF0ZV9zdXBlcjEoc3RydWN0IHN1cGVydHlwZSAqc3QsIHN0cnVjdCBtZGluZm8gKmluZm8sCi0gCQkJIGNoYXIgKnVwZGF0ZSwKLSAJCQkgY2hhciAqZGV2bmFtZSwgaW50IHZlcmJvc2UsCi1AQCAtMTQ3Myw2ICsxNDc3LDcgQEAgc3RhdGljIGludCBpbml0X3N1cGVyMShzdHJ1Y3Qgc3VwZXJ0eXBlICpzdCwgbWR1X2FycmF5X2luZm9fdCAqaW5mbywKLSAKLSAJcmV0dXJuIDE7Ci0gfQotKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCi0gCi0gc3RydWN0IGRldmluZm8gewotIAlpbnQgZmQ7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLUZpeC10aGUtcGF0aC1vZi1jb3Jvc3luYy1hbmQtZGxtLWhlYWRlci1maWxlcy1jaGVjay5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtRml4LXRoZS1wYXRoLW9mLWNvcm9zeW5jLWFuZC1kbG0taGVhZGVyLWZpbGVzLWNoZWNrLnBhdGNoCmluZGV4IGE4OTE2MTQuLjI5OGYyNzYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtRml4LXRoZS1wYXRoLW9mLWNvcm9zeW5jLWFuZC1kbG0taGVhZGVyLWZpbGVzLWNoZWNrLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtRml4LXRoZS1wYXRoLW9mLWNvcm9zeW5jLWFuZC1kbG0taGVhZGVyLWZpbGVzLWNoZWNrLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAxZjViYWYzYWQ5NWFlNGMzOWVmZTRkOGFkOGIyZTY0MmIzYTM1MWRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBhOTE2NmJmNDIyZGExMDAxYmFjOWNjODE5Mzg2YmYzOWI3Y2QxYjczIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogIk1heGluIEIuIEpvaG4iIDxtYXhpbi5qb2huQGludGVsLmNvbT4KIERhdGU6IFR1ZSwgOSBGZWIgMjAxNiAxMTo0NDowMSArMDIwMAogU3ViamVjdDogW1BBVENIXSBGaXggdGhlIHBhdGggb2YgY29yb3N5bmMgYW5kIGRsbSBoZWFkZXIgZmlsZXMgY2hlY2sKQEAgLTksMjggKzksMTggQEAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbWW9jdG8gc3BlY2lmaWNdCiAKIFNpZ25lZC1vZmYtYnk6IE1heGluIEIuIEpvaG4gPG1heGluLmpvaG5AaW50ZWwuY29tPgotLS0tCi1tZGFkbSBvbmx5IHdvcmtzIHdpdGggY29yb3N5bmMgMi54IHdoaWNoIHByb3ZpZGVzIGhlYWRlciBmaWxlIGNvcm9zeW5jL2NtYXAuaC4KLUlmIGJ1aWxkIG1kYWRtIHdpdGggY29yb3N5bmMgMS54LCBpdCBmYWlscyB3aXRoOgogCi18IG1lbWJlci5jOjEyOjI3OiBmYXRhbCBlcnJvcjogY29yb3N5bmMvY21hcC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Ci18ICAjaW5jbHVkZSA8Y29yb3N5bmMvY21hcC5oPgotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi0KLUJ1aWxkIHdpdGggY29yb3N5bmMgb25seSBoZWFkZXIgZmlsZSBjb3Jvc3luYy9jbWFwLmggZXhpc3RzLgotCi1TaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIC0tLQogIE1ha2VmaWxlIHwgNCArKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKLWluZGV4IGZkNzljZmIuLjM0MTUwYTkgMTAwNjQ0CitpbmRleCAyNzY3YWM2Li40NmJmNTdiIDEwMDY0NAogLS0tIGEvTWFrZWZpbGUKICsrKyBiL01ha2VmaWxlCi1AQCAtODAsOCArODAsOCBAQCBNRE1PTl9ESVIgPSAkKFJVTl9ESVIpCi0gRkFJTEVEX1NMT1RTX0RJUiA9ICQoUlVOX0RJUikvZmFpbGVkLXNsb3RzCitAQCAtOTEsOCArOTEsOCBAQCBGQUlMRURfU0xPVFNfRElSID0gJChSVU5fRElSKS9mYWlsZWQtc2xvdHMKICBTWVNURU1EX0RJUj0vbGliL3N5c3RlbWQvc3lzdGVtCisgTElCX0RJUj0vdXNyL2xpYmV4ZWMvbWRhZG0KICAKIC1DT1JPU1lOQzo9JChzaGVsbCBbIC1kIC91c3IvaW5jbHVkZS9jb3Jvc3luYyBdIHx8IGVjaG8gLUROT19DT1JPU1lOQykKIC1ETE06PSQoc2hlbGwgWyAtZiAvdXNyL2luY2x1ZGUvbGliZGxtLmggXSB8fCBlY2hvIC1ETk9fRExNKQpAQCAtMzksNiArMjksMyBAQAogIAogIERJUkZMQUdTID0gLURNQVBfRElSPVwiJChNQVBfRElSKVwiIC1ETUFQX0ZJTEU9XCIkKE1BUF9GSUxFKVwiCiAgRElSRkxBR1MgKz0gLURNRE1PTl9ESVI9XCIkKE1ETU9OX0RJUilcIgotLS0gCi0yLjQuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLVVzZS1DQy10by1jaGVjay1mb3ItaW1wbGljaXQtZmFsbHRocm91Z2gtd2FybmluZy1zdXAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLVVzZS1DQy10by1jaGVjay1mb3ItaW1wbGljaXQtZmFsbHRocm91Z2gtd2FybmluZy1zdXAucGF0Y2gKaW5kZXggYTRiN2I4YS4uMTJiZjZhNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1Vc2UtQ0MtdG8tY2hlY2stZm9yLWltcGxpY2l0LWZhbGx0aHJvdWdoLXdhcm5pbmctc3VwLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtVXNlLUNDLXRvLWNoZWNrLWZvci1pbXBsaWNpdC1mYWxsdGhyb3VnaC13YXJuaW5nLXN1cC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gYTEyOWVlNmQ4MGYzYjJjZGEwZDgyN2MzNWZhODFhNTE3Y2Y2ZDUwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMzdjMzVmOTRkOWQ5NWRiZDJiNWY4YTkxOWY1NDc4YmU1MTQ1MzU5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDEzIE9jdCAyMDE3IDEwOjI3OjM0IC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0hdIFVzZSBDQyB0byBjaGVjayBmb3IgaW1wbGljaXQtZmFsbHRocm91Z2ggd2FybmluZyBzdXBwb3J0CkBAIC04LDE2ICs4LDE2IEBACiBjcm9zcyBjb21waWxlIHVzZWQgZm9yIGNvbXBpbGluZyBtZGFkbSBpcyA8IHZlcnNpb24gNwogCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQogIE1ha2VmaWxlIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQotaW5kZXggZDIwN2VlNC4uOTcxZjI1NSAxMDA2NDQKK2luZGV4IDQ2YmY1N2IuLmEwNzU5MTIgMTAwNjQ0CiAtLS0gYS9NYWtlZmlsZQogKysrIGIvTWFrZWZpbGUKLUBAIC00OCw3ICs0OCw3IEBAIGlmZGVmIFdBUk5fVU5VU0VECitAQCAtNTMsNyArNTMsNyBAQCBpZmRlZiBXQVJOX1VOVVNFRAogIENXRkxBR1MgKz0gLVdwLC1EX0ZPUlRJRllfU09VUkNFPTIgLU8zCiAgZW5kaWYKICAKQEAgLTI2LDYgKzI2LDMgQEAKICBpZm5lcSAiJChGQUxMVEhST1VHSCkiICAiMCIKICBDV0ZMQUdTICs9IC1XaW1wbGljaXQtZmFsbHRocm91Z2g9MAogIGVuZGlmCi0tLSAKLTIuMTQuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLWZpeC1nY2MtOC1mb3JtYXQtdHJ1bmNhdGlvbi13YXJuaW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1maXgtZ2NjLTgtZm9ybWF0LXRydW5jYXRpb24td2FybmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYTljOGNjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1maXgtZ2NjLTgtZm9ybWF0LXRydW5jYXRpb24td2FybmluZy5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDMxNThkMzc4OGMyZTBmYjc1YWNlMmM4OTg0MGJkOGE5NzdmYjRjYjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDE0IERlYyAyMDE4IDE1OjEyOjMxICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBnY2MtOCBmb3JtYXQtdHJ1bmNhdGlvbiB3YXJuaW5nCisKK1doaWxlIGNvbXBpbGluZyB3aXRoIGAtV2Vycm9yPWZvcm1hdC10cnVuY2F0aW9uPScsIGl0IGZhaWxlZAorW3NuaXBdCit8c3VwZXIwLmM6MjM2OjMyOiBlcnJvcjogJ3NucHJpbnRmJyBvdXRwdXQgbWF5IGJlIHRydW5jYXRlZAorYmVmb3JlIHRoZSBsYXN0IGZvcm1hdCBjaGFyYWN0ZXIgWy1XZXJyb3I9Zm9ybWF0LXRydW5jYXRpb249XQorfCAgIHNucHJpbnRmKG5iLCBzaXplb2YobmIpLCAiJTRkIiwgZCk7Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCit8c3VwZXIwLmM6MjM2OjM6IG5vdGU6ICdzbnByaW50Zicgb3V0cHV0IGJldHdlZW4gNSBhbmQgMTIgYnl0ZXMKK2ludG8gYSBkZXN0aW5hdGlvbiBvZiBzaXplIDExCit8ICAgc25wcmludGYobmIsIHNpemVvZihuYiksICIlNGQiLCBkKTsKK1tzbmlwXQorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL25laWxicm93bi9tZGFkbS9wdWxsLzM0XQorCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBzdXBlcjAuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3N1cGVyMC5jIGIvc3VwZXIwLmMKK2luZGV4IDc1NmNhYjUuLjEyYzI4ZGEgMTAwNjQ0CistLS0gYS9zdXBlcjAuYworKysrIGIvc3VwZXIwLmMKK0BAIC0yMjksNyArMjI5LDcgQEAgc3RhdGljIHZvaWQgZXhhbWluZV9zdXBlcjAoc3RydWN0IHN1cGVydHlwZSAqc3QsIGNoYXIgKmhvbWVob3N0KQorIAkgICAgIGQrKykgeworIAkJbWRwX2Rpc2tfdCAqZHA7CisgCQljaGFyICpkdjsKKy0JCWNoYXIgbmJbMTFdOworKwkJY2hhciBuYlsxMl07CisgCQlpbnQgd29ubHksIGZhaWxmYXN0OworIAkJaWYgKGQ+PTApIGRwID0gJnNiLT5kaXNrc1tkXTsKKyAJCWVsc2UgZHAgPSAmc2ItPnRoaXNfZGlzazsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW50aW9ucy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtaW5jbHVkZS1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLWRlZmludGlvbnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjZDY0YWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW50aW9ucy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUZyb20gOTQzNjE2ZTVkZmZiNzlmMzA3ZTRiZDliMjQ5ZDMxNjIxMjk5ODc1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTdW4sIDE4IERlYyAyMDE2IDA4OjMwOjUxICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGluY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4gZm9yIG1ham9yL21pbm9yIGRlZmludGlvbnMKLQotZ2xpYmMgMi4yNSBpcyB3YXJuaW5nIGFib3V0IGl0IGlmIGFwcGxpY2F0aW9ucyBkZXBlbmQgb24KLXN5cy90eXBlcy5oIGZvciB0aGVzZSBtYWNyb3MsIGl0IGV4cGVjdHMgdG8gYmUgaW5jbHVkZWQKLWZyb20gPHN5cy9zeXNtYWNyb3MuaD4KLQotRml4ZXMKLXwgR3Jvdy5jOjM1MzQ6MTM6IGVycm9yOiBJbiB0aGUgR05VIEMgTGlicmFyeSwgIm1pbm9yIiBpcyBkZWZpbmVkCi18ICBieSA8c3lzL3N5c21hY3Jvcy5oPi4gRm9yIGhpc3RvcmljYWwgY29tcGF0aWJpbGl0eSwgaXQgaXMKLXwgIGN1cnJlbnRseSBkZWZpbmVkIGJ5IDxzeXMvdHlwZXMuaD4gYXMgd2VsbCwgYnV0IHdlIHBsYW4gdG8KLXwgIHJlbW92ZSB0aGlzIHNvb24uIFRvIHVzZSAibWlub3IiLCBpbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+Ci18ICBkaXJlY3RseS4gSWYgeW91IGRpZCBub3QgaW50ZW5kIHRvIHVzZSBhIHN5c3RlbS1kZWZpbmVkIG1hY3JvCi18ICAibWlub3IiLCB5b3Ugc2hvdWxkIHVuZGVmaW5lIGl0IGFmdGVyIGluY2x1ZGluZyA8c3lzL3R5cGVzLmg+LiBbLVdlcnJvcl0KLXwgUXVlcnkuYzogSW4gZnVuY3Rpb24gJ1F1ZXJ5JzoKLXwgUXVlcnkuYzoxMDU6MTM6IGVycm9yOiBJbiB0aGUgR05VIEMgTGlicmFyeSwgIm1ha2VkZXYiIGlzIGRlZmluZWQKLXwgIGJ5IDxzeXMvc3lzbWFjcm9zLmg+LiBGb3IgaGlzdG9yaWNhbCBjb21wYXRpYmlsaXR5LCBpdCBpcwotfCAgY3VycmVudGx5IGRlZmluZWQgYnkgPHN5cy90eXBlcy5oPiBhcyB3ZWxsLCBidXQgd2UgcGxhbiB0bwotfCAgcmVtb3ZlIHRoaXMgc29vbi4gVG8gdXNlICJtYWtlZGV2IiwgaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotfCAgZGlyZWN0bHkuIElmIHlvdSBkaWQgbm90IGludGVuZCB0byB1c2UgYSBzeXN0ZW0tZGVmaW5lZCBtYWNybwotfCAgIm1ha2VkZXYiLCB5b3Ugc2hvdWxkIHVuZGVmaW5lIGl0IGFmdGVyIGluY2x1ZGluZyA8c3lzL3R5cGVzLmg+LiBbLVdlcnJvcl0KLXwgICAgICAgICAgIG1ha2VkZXYoKHVuc2lnbmVkKWRpc2MubWFqb3IsKHVuc2lnbmVkKWRpc2MubWlub3IpID09IHN0Yi5zdF9yZGV2KQotfCAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gbWRhZG0uaCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvbWRhZG0uaCBiL21kYWRtLmgKLWluZGV4IDhjOGY0ZDEuLjNjZTEzYjUgMTAwNzU1Ci0tLS0gYS9tZGFkbS5oCi0rKysgYi9tZGFkbS5oCi1AQCAtMzQsNiArMzQsNyBAQCBleHRlcm4gX19vZmY2NF90IGxzZWVrNjQgX19QICgoaW50IF9fZmQsIF9fb2ZmNjRfdCBfX29mZnNldCwgaW50IF9fd2hlbmNlKSk7Ci0gI2VuZGlmCi0gCi0gI2luY2x1ZGUJPHN5cy90eXBlcy5oPgotKyNpbmNsdWRlCTxzeXMvc3lzbWFjcm9zLmg+Ci0gI2luY2x1ZGUJPHN5cy9zdGF0Lmg+Ci0gI2luY2x1ZGUJPHN0ZGludC5oPgotICNpbmNsdWRlCTxzdGRsaWIuaD4KLS0tIAotMS45LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1tZGFkbS1BZGQtV2ltcGxpY2l0LWZhbGx0aHJvdWdoLTAtaW4tTWFrZWZpbGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLW1kYWRtLUFkZC1XaW1wbGljaXQtZmFsbHRocm91Z2gtMC1pbi1NYWtlZmlsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2UxNTE3MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLW1kYWRtLUFkZC1XaW1wbGljaXQtZmFsbHRocm91Z2gtMC1pbi1NYWtlZmlsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLUZyb20gYWEwOWFmMGZlMmVjMDczN2ZhMDRmZmQwMDk1NzUzMjY4NGUyNTdiOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFhpYW8gTmkgPHhuaUByZWRoYXQuY29tPgotRGF0ZTogRnJpLCAxNyBNYXIgMjAxNyAxOTo1NTo0MiArMDgwMAotU3ViamVjdDogW1BBVENIIDEvNV0gbWRhZG06IEFkZCBXaW1wbGljaXQtZmFsbHRocm91Z2g9MCBpbiBNYWtlZmlsZQotCi1UaGVyZSBhcmUgbWFueSBlcnJvcnMgbGlrZSAnZXJyb3I6IHRoaXMgc3RhdGVtZW50IG1heSBmYWxsIHRocm91Z2gnLgotQnV0IHRoZSBsb2dpYyBpcyByaWdodC4gU28gYWRkIHRoZSBmbGFnIFdpbXBsaWNpdC1mYWxsdGhyb3VnaD0wCi10byBkaXNhYmxlIHRoZSBlcnJvciBtZXNzYWdlcy4gVGhlIG1ldGhvZCBJIHVzZSBpcyBmcm9tCi1odHRwczovL2djYy5nbnUub3JnL29ubGluZWRvY3MvZ2NjL1dhcm5pbmctT3B0aW9ucy5odG1sCi0jaW5kZXgtV2ltcGxpY2l0LWZhbGx0aHJvdWdoLTM3NQotCi1TaWduZWQtb2ZmLWJ5OiBYaWFvIE5pIDx4bmlAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IEplcyBTb3JlbnNlbiA8SmVzLlNvcmVuc2VuQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotIE1ha2VmaWxlIHwgNSArKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKLWluZGV4IDBmMzA3ZWMuLmUxYTcwNTggMTAwNjQ0Ci0tLS0gYS9NYWtlZmlsZQotKysrIGIvTWFrZWZpbGUKLUBAIC00OCw2ICs0OCwxMSBAQCBpZmRlZiBXQVJOX1VOVVNFRAotIENXRkxBR1MgKz0gLVdwLC1EX0ZPUlRJRllfU09VUkNFPTIgLU8zCi0gZW5kaWYKLSAKLStGQUxMVEhST1VHSCA6PSAkKHNoZWxsIGdjYyAtdiAtLWhlbHAgMj4mMSB8IGdyZXAgImltcGxpY2l0LWZhbGx0aHJvdWdoIiB8IHdjIC1sKQotK2lmbmVxICIkKEZBTExUSFJPVUdIKSIgICIwIgotK0NXRkxBR1MgKz0gLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD0wCi0rZW5kaWYKLSsKLSBpZmRlZiBERUJJQU4KLSBDUFBGTEFHUyArPSAtRERFQklBTgotIGVuZGlmCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLW1kYWRtLWdjYzgtbWF5YmUtdW5pbml0aWFsaXplZC1mb3JtYXQtb3ZlcmZsb3ctd2FybmkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLW1kYWRtLWdjYzgtbWF5YmUtdW5pbml0aWFsaXplZC1mb3JtYXQtb3ZlcmZsb3ctd2FybmkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjM3ZjgzYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtbWRhZG0tZ2NjOC1tYXliZS11bmluaXRpYWxpemVkLWZvcm1hdC1vdmVyZmxvdy13YXJuaS5wYXRjaApAQCAtMCwwICsxLDYwIEBACitGcm9tIGJmNDU3YTgzODM0OTMyYmEwNmRlMzUyOGI4Nzc5YTAyM2U3M2ZhN2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAxMiBNYXIgMjAxOSAxNjoxNzoyOSArMDgwMAorU3ViamVjdDogW1BBVENIXSBtZGFkbTogZ2NjOCBtYXliZS11bmluaXRpYWxpemVkL2Zvcm1hdC1vdmVyZmxvdyB3YXJuaW5nCisKK3doaWxlIGNvbXBpbGVkIHdpdGggLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkLy1XZXJyb3I9Zm9ybWF0LW92ZXJmbG93PSwKK2l0IGZhaWxlZAorCitbc25pcF0KK3wgSW5jcmVtZW50YWwuYzogSW4gZnVuY3Rpb24gJ0luY3JlbWVudGFsX2NvbnRhaW5lcic6Cit8IEluY3JlbWVudGFsLmM6MTU5MzozOiBlcnJvcjogJ21kZmQnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQorfCBjbG9zZShtZGZkKTsKK3wgXn5+fn5+fn5+fn4KKworW3NuaXBdCitzdXBlci1pbnRlbC5jOiBJbiBmdW5jdGlvbiAnYXBwbHlfdGFrZW92ZXJfdXBkYXRlJzoKK3wgc3VwZXItaW50ZWwuYzo5NjE1OjE1OiBlcnJvcjogJyVkJyBkaXJlY3RpdmUgd3JpdGluZyBiZXR3ZWVuIDEgYW5kIDExIGJ5dGVzIGludG8gYSByZWdpb24gb2Ygc2l6ZSA3IFstV2Vycm9yPWZvcm1hdC1vdmVyZmxvdz1dCit8ICIgTUlTU0lOR18lZCIsIGR1LT5pbmRleCk7Cit8IF5+CisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vbmVpbGJyb3duL21kYWRtL3B1bGwvMzZdCisKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBJbmNyZW1lbnRhbC5jIHwgMiArLQorIHN1cGVyLWludGVsLmMgfCA0ICsrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0luY3JlbWVudGFsLmMgYi9JbmNyZW1lbnRhbC5jCitpbmRleCBhNGZmN2Q0Li5iNjY3ODY4IDEwMDY0NAorLS0tIGEvSW5jcmVtZW50YWwuYworKysrIGIvSW5jcmVtZW50YWwuYworQEAgLTE1MDAsNyArMTUwMCw3IEBAIHN0YXRpYyBpbnQgSW5jcmVtZW50YWxfY29udGFpbmVyKHN0cnVjdCBzdXBlcnR5cGUgKnN0LCBjaGFyICpkZXZuYW1lLAorIAkJcmV0dXJuIDA7CisgCX0KKyAJZm9yIChyYSA9IGxpc3QgOyByYSA7IHJhID0gcmEtPm5leHQpIHsKKy0JCWludCBtZGZkOworKwkJaW50IG1kZmQgPSAwOworIAkJY2hhciBjaG9zZW5fbmFtZVsxMDI0XTsKKyAJCXN0cnVjdCBtYXBfZW50ICptcDsKKyAJCXN0cnVjdCBtZGRldl9pZGVudCAqbWF0Y2ggPSBOVUxMOworZGlmZiAtLWdpdCBhL3N1cGVyLWludGVsLmMgYi9zdXBlci1pbnRlbC5jCitpbmRleCAxMGQ3MjE4Li5jMzc0MWVhIDEwMDY0NAorLS0tIGEvc3VwZXItaW50ZWwuYworKysrIGIvc3VwZXItaW50ZWwuYworQEAgLTk2MTIsOSArOTYxMiw5IEBAIHN0YXRpYyBpbnQgYXBwbHlfdGFrZW92ZXJfdXBkYXRlKHN0cnVjdCBpbXNtX3VwZGF0ZV90YWtlb3ZlciAqdSwKKyAJCQlkdS0+bWFqb3IgPSAwOworIAkJCWR1LT5pbmRleCA9IChpICogMikgKyAxOworIAkJCXNwcmludGYoKGNoYXIgKilkdS0+ZGlzay5zZXJpYWwsCistCQkJCSIgTUlTU0lOR18lZCIsIGR1LT5pbmRleCk7CisrCQkJCSIgTUlTU0lOR18laHUiLCBkdS0+aW5kZXgpOworIAkJCXNwcmludGYoKGNoYXIgKilkdS0+c2VyaWFsLAorLQkJCQkiTUlTU0lOR18lZCIsIGR1LT5pbmRleCk7CisrCQkJCSJNSVNTSU5HXyVodSIsIGR1LT5pbmRleCk7CisgCQkJZHUtPm5leHQgPSBzdXBlci0+bWlzc2luZzsKKyAJCQlzdXBlci0+bWlzc2luZyA9IGR1OworIAkJfQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLW1kYWRtLmgtVW5kZWZpbmUtZHByaW50Zi1iZWZvcmUtcmVkZWZpbmluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtbWRhZG0uaC1VbmRlZmluZS1kcHJpbnRmLWJlZm9yZS1yZWRlZmluaW5nLnBhdGNoCmluZGV4IDRjZjgwOTIuLmExZTdlNTkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtbWRhZG0uaC1VbmRlZmluZS1kcHJpbnRmLWJlZm9yZS1yZWRlZmluaW5nLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtbWRhZG0uaC1VbmRlZmluZS1kcHJpbnRmLWJlZm9yZS1yZWRlZmluaW5nLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA2ZDM2OWU4ZjIyNjU5NDYzMmNlNDI2MDEyOTUwOWRhZjcwMzBkZTBhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiNDMxY2I0ZTFlZDA2MDEyMmZhMzAwZGMwMDA4Zjc0MDgwZDM4ZjczIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IE1vbiwgOSBNYXkgMjAxNiAyMjowMzo1NyArMDAwMAogU3ViamVjdDogW1BBVENIXSBtZGFkbS5oOiBVbmRlZmluZSBkcHJpbnRmIGJlZm9yZSByZWRlZmluaW5nCkBAIC0xNCwxNyArMTQsMTYgQEAKIC9tbnQvb2Uvb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLWdsaWJjL3N5c3Jvb3RzL3FlbXV4ODYvdXNyL2luY2x1ZGUvYml0cy9zdGRpbzIuaDoxNDU6MTI6IG5vdGU6IHByZXZpb3VzIGRlZmluaXRpb24gaXMgaGVyZQogCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQorLS0tCiAgbWRhZG0uaCB8IDIgKysKICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9tZGFkbS5oIGIvbWRhZG0uaAotaW5kZXggMjMwZTYwZi4uOGM4ZjRkMSAxMDA3NTUKK2luZGV4IDM4N2U2ODEuLmJiOTQzYmYgMTAwNjQ0CiAtLS0gYS9tZGFkbS5oCiArKysgYi9tZGFkbS5oCi1AQCAtMTU1NCwxMSArMTU1NCwxMyBAQCBzdGF0aWMgaW5saW5lIGNoYXIgKnRvX3N1YmFycmF5KHN0cnVjdCBtZHN0YXRfZW50ICplbnQsIGNoYXIgKmNvbnRhaW5lcikKK0BAIC0xNjQ5LDExICsxNjQ5LDEzIEBAIHN0YXRpYyBpbmxpbmUgY2hhciAqdG9fc3ViYXJyYXkoc3RydWN0IG1kc3RhdF9lbnQgKmVudCwgY2hhciAqY29udGFpbmVyKQogIH0KICAKICAjaWZkZWYgREVCVUcKQEAgLTM4LDYgKzM3LDMgQEAKICAjZGVmaW5lIGRwcmludGYoZm10LCBhcmcuLi4pIFwKICAgICAgICAgICh7IGlmICgwKSBmcHJpbnRmKHN0ZGVyciwgIiVzOiAlczogIiBmbXQsIE5hbWUsIF9fZnVuY19fLCAjI2FyZyk7IDA7IH0pCiAgI2RlZmluZSBkcHJpbnRmX2NvbnQoZm10LCBhcmcuLi4pIFwKLS0tIAotMS45LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS11c2UtbWVtbW92ZS1pbnN0ZWFkLW9mLW1lbWNweS1vbi1vdmVybGFwcGluZy1yZWdpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLXVzZS1tZW1tb3ZlLWluc3RlYWQtb2YtbWVtY3B5LW9uLW92ZXJsYXBwaW5nLXJlZ2lvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDQzNTFiNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLXVzZS1tZW1tb3ZlLWluc3RlYWQtb2YtbWVtY3B5LW9uLW92ZXJsYXBwaW5nLXJlZ2lvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gYWIxOGYwNGNmODllZjRlODUyMWM4MWM1MDQ3N2UxMzYzYjJkMzMzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDI4IEFwciAyMDE4IDA5OjQ2OjEyIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIHVzZSBtZW1tb3ZlIGluc3RlYWQgb2YgbWVtY3B5IG9uIG92ZXJsYXBwaW5nIHJlZ2lvbgotCi1GaXhlcwotc3VwZXIwLmM6NTI2OjM6IGVycm9yOiAnbWVtY3B5JyBhY2Nlc3NpbmcgMzkzNiBieXRlcyBhdCBvZmZzZXRzIDE1NiBhbmQgMTYwIG92ZXJsYXBzIDM5MzIgYnl0ZXMgYXQgb2Zmc2V0IDE2MCBbLVdlcnJvcj1yZXN0cmljdF0KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBzdXBlcjAuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3N1cGVyMC5jIGIvc3VwZXIwLmMKLWluZGV4IGY1YjQ1MDcuLjI2NGI1OTggMTAwNjQ0Ci0tLS0gYS9zdXBlcjAuYwotKysrIGIvc3VwZXIwLmMKLUBAIC01MjMsNyArNTIzLDcgQEAgc3RhdGljIGludCB1cGRhdGVfc3VwZXIwKHN0cnVjdCBzdXBlcnR5cGUgKnN0LCBzdHJ1Y3QgbWRpbmZvICppbmZvLAotIAkJICogdXAgNCBieXRlcyBiZWZvcmUgY29udGludWluZwotIAkJICovCi0gCQlfX3UzMiAqc2IzMiA9IChfX3UzMiopc2I7Ci0tCQltZW1jcHkoc2IzMitNRF9TQl9HRU5FUklDX0NPTlNUQU5UX1dPUkRTKzcsCi0rCQltZW1tb3ZlKHNiMzIrTURfU0JfR0VORVJJQ19DT05TVEFOVF9XT1JEUys3LAotIAkJICAgICAgIHNiMzIrTURfU0JfR0VORVJJQ19DT05TVEFOVF9XT1JEUys3KzEsCi0gCQkgICAgICAgKE1EX1NCX1dPUkRTIC0gKE1EX1NCX0dFTkVSSUNfQ09OU1RBTlRfV09SRFMrNysxKSkqNCk7Ci0gCQlpZiAodmVyYm9zZSA+PSAwKQotLS0gCi0yLjE3LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMi1tZGFkbS1TcGVjaWZ5LWVub3VnaC1sZW5ndGgtd2hlbi13cml0ZS10by1idWZmZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAyLW1kYWRtLVNwZWNpZnktZW5vdWdoLWxlbmd0aC13aGVuLXdyaXRlLXRvLWJ1ZmZlci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2JjZTA1My4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAyLW1kYWRtLVNwZWNpZnktZW5vdWdoLWxlbmd0aC13aGVuLXdyaXRlLXRvLWJ1ZmZlci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc1ICswLDAgQEAKLUZyb20gYmI0ZGYyNzMwNDFiYTIwNjAwOGJkYjBhZGE3NWNjZDk3YzI5ZjYyMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFhpYW8gTmkgPHhuaUByZWRoYXQuY29tPgotRGF0ZTogRnJpLCAxNyBNYXIgMjAxNyAxOTo1NTo0MyArMDgwMAotU3ViamVjdDogW1BBVENIIDIvNV0gbWRhZG06IFNwZWNpZnkgZW5vdWdoIGxlbmd0aCB3aGVuIHdyaXRlIHRvIGJ1ZmZlcgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1JbiBEZXRhaWwuYyB0aGUgYnVmZmVyIHBhdGggaW4gZnVuY3Rpb24gRGV0YWlsIGlzIGRlZmluZWQgYXMgcGF0aFsyMDBdLAotaW4gZmFjdCB0aGUgbWF4IGxlbnRoIG9mIGNvbnRlbnQgd2hpY2ggbmVlZHMgdG8gd3JpdGUgdG8gdGhlIGJ1ZmZlciBpcwotMjg3LiBCZWNhdXNlIHRoZSBsZW5ndGggb2YgZG5hbWUgb2Ygc3RydWN0IGRpcmVudCBpcyAyNTUuCi1EdXJpbmcgYnVpbGRpbmcgaXQgcmVwb3J0cyBlcnJvcjoKLWVycm9yOiDigJglc+KAmSBkaXJlY3RpdmUgd3JpdGluZyB1cCB0byAyNTUgYnl0ZXMgaW50byBhIHJlZ2lvbiBvZiBzaXplIDE4OQotWy1XZXJyb3I9Zm9ybWF0LW92ZXJmbG93PV0KLQotSW4gZnVuY3Rpb24gZXhhbWluZV9zdXBlcjAgdGhlcmUgaXMgYSBidWZmZXIgbmIgd2l0aCBsZW5ndGggNS4KLUJ1dCBpdCBuZWVkIHRvIHNob3cgYSBpbnQgdHlwZSBhcmd1bWVudC4gVGhlIGxlbmdodCBvZiBtYXgKLW51bWJlciBvZiBpbnQgaXMgMTAuIFNvIHRoZSBidWZmZXIgbGVuZ3RoIHNob3VsZCBiZSAxMS4KLQotSW4gaHVtYW5fc2l6ZSBmdW5jdGlvbiB0aGUgbGVuZ3RoIG9mIGJ1ZiBpcyAzMC4gRHVyaW5nIGJ1aWxkaW5nCi10aGVyZSBpcyBhIGVycm9yOgotb3V0cHV0IGJldHdlZW4gMjAgYW5kIDQ3IGJ5dGVzIGludG8gYSBkZXN0aW5hdGlvbiBvZiBzaXplIDMwLgotQ2hhbmdlIHRoZSBsZW5ndGggdG8gNDcuCi0KLVNpZ25lZC1vZmYtYnk6IFhpYW8gTmkgPHhuaUByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogSmVzIFNvcmVuc2VuIDxKZXMuU29yZW5zZW5AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0gRGV0YWlsLmMgfCAyICstCi0gc3VwZXIwLmMgfCAyICstCi0gdXRpbC5jICAgfCAyICstCi0gMyBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9EZXRhaWwuYyBiL0RldGFpbC5jCi1pbmRleCA1MDliMGQ0Li5jYjMzNzk0IDEwMDY0NAotLS0tIGEvRGV0YWlsLmMKLSsrKyBiL0RldGFpbC5jCi1AQCAtNTc1LDcgKzU3NSw3IEBAIFRoaXMgaXMgcHJldHR5IGJvcmluZwotIAkJCXByaW50ZigiICBNZW1iZXIgQXJyYXlzIDoiKTsKLSAKLSAJCQl3aGlsZSAoZGlyICYmIChkZSA9IHJlYWRkaXIoZGlyKSkgIT0gTlVMTCkgewotLQkJCQljaGFyIHBhdGhbMjAwXTsKLSsJCQkJY2hhciBwYXRoWzI4N107Ci0gCQkJCWNoYXIgdmJ1ZlsxMDI0XTsKLSAJCQkJaW50IG5sZW4gPSBzdHJsZW4oc3JhLT5zeXNfbmFtZSk7Ci0gCQkJCWRldl90IGRldmlkOwotZGlmZiAtLWdpdCBhL3N1cGVyMC5jIGIvc3VwZXIwLmMKLWluZGV4IDkzOGNmZDkuLmY1YjQ1MDcgMTAwNjQ0Ci0tLS0gYS9zdXBlcjAuYwotKysrIGIvc3VwZXIwLmMKLUBAIC0yMzEsNyArMjMxLDcgQEAgc3RhdGljIHZvaWQgZXhhbWluZV9zdXBlcjAoc3RydWN0IHN1cGVydHlwZSAqc3QsIGNoYXIgKmhvbWVob3N0KQotIAkgICAgIGQrKykgewotIAkJbWRwX2Rpc2tfdCAqZHA7Ci0gCQljaGFyICpkdjsKLS0JCWNoYXIgbmJbNV07Ci0rCQljaGFyIG5iWzExXTsKLSAJCWludCB3b25seSwgZmFpbGZhc3Q7Ci0gCQlpZiAoZD49MCkgZHAgPSAmc2ItPmRpc2tzW2RdOwotIAkJZWxzZSBkcCA9ICZzYi0+dGhpc19kaXNrOwotZGlmZiAtLWdpdCBhL3V0aWwuYyBiL3V0aWwuYwotaW5kZXggZjEwMDk3Mi4uMzJiZDkwOSAxMDA2NDQKLS0tLSBhL3V0aWwuYwotKysrIGIvdXRpbC5jCi1AQCAtODExLDcgKzgxMSw3IEBAIHVuc2lnbmVkIGxvbmcgY2FsY19jc3VtKHZvaWQgKnN1cGVyLCBpbnQgYnl0ZXMpCi0gI2lmbmRlZiBNREFTU0VNQkxFCi0gY2hhciAqaHVtYW5fc2l6ZShsb25nIGxvbmcgYnl0ZXMpCi0gewotLQlzdGF0aWMgY2hhciBidWZbMzBdOwotKwlzdGF0aWMgY2hhciBidWZbNDddOwotIAotIAkvKiBXZSBjb252ZXJ0IGJ5dGVzIHRvIGVpdGhlciBjZW50aS1Ne2VnYSxpYml9Ynl0ZXMgb3IKLSAJICogY2VudGktR3tpZ2ksaWJpfWJ5dGVzLCB3aXRoIGFwcHJvcHJpYXRlIHJvdW5kaW5nLAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMy1SZXBsYWNlLXNucHJpbnRmLXdpdGgtc3RybmNweS1hdC1zb21lLXBsYWNlcy10by1hdm9pLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMy1SZXBsYWNlLXNucHJpbnRmLXdpdGgtc3RybmNweS1hdC1zb21lLXBsYWNlcy10by1hdm9pLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkY2VjODRmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDMtUmVwbGFjZS1zbnByaW50Zi13aXRoLXN0cm5jcHktYXQtc29tZS1wbGFjZXMtdG8tYXZvaS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLUZyb20gYmM4N2FmMTMxNDMyNWIwMGM2YWMwMDJhNjBhMmIwZjBjYWE4MWUzNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFhpYW8gTmkgPHhuaUByZWRoYXQuY29tPgotRGF0ZTogU2F0LCAxOCBNYXIgMjAxNyAxMDozMzo0NCArMDgwMAotU3ViamVjdDogW1BBVENIIDMvNV0gUmVwbGFjZSBzbnByaW50ZiB3aXRoIHN0cm5jcHkgYXQgc29tZSBwbGFjZXMgdG8gYXZvaWQKLSB0cnVuY2F0aW9uCi0KLUluIGdjYzcgdGhlcmUgYXJlIHNvbWUgYnVpbGRpbmcgZXJyb3JzIGxpa2U6Ci1kaXJlY3RpdmUgb3V0cHV0IG1heSBiZSB0cnVuY2F0ZWQgd3JpdGluZyB1cCB0byAzMSBieXRlcyBpbnRvIGEgcmVnaW9uIG9mIHNpemUgMjQKLXNucHJpbnRmKHN0ciwgTVBCX1NJR19MRU4sICVzLCBtcGItPnNpZyk7Ci0KLUl0IGp1c3QgbmVlZCB0byBjb3B5IG9uZSBzdHJpbmcgdG8gdGFyZ2V0LiBTbyB1c2Ugc3RybmNweSB0byByZXBsYWNlIGl0LgotCi1Gb3IgdGhpcyBsaW5lIGNvZGU6IHNucHJpbnRmKHN0ciwgTVBCX1NJR19MRU4sICVzLCBtcGItPnNpZyk7Ci1CZWNhdXNlIG1wYi0+c2lnIGhhcyB0aGUgY29udGVudCBvZiB2ZXJzaW9uIGFmdGVyIG1hZ2ljLCBzbwotaXQncyBiZXR0ZXIgdG8gdXNlIHN0cm5jcHkgdG8gcmVwbGFjZSBzbnByaW50ZiB0b28uCi0KLVNpZ25lZC1vZmYtYnk6IFhpYW8gTmkgPHhuaUByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogSmVzIFNvcmVuc2VuIDxKZXMuU29yZW5zZW5AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0gc3VwZXItaW50ZWwuYyB8IDkgKysrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3N1cGVyLWludGVsLmMgYi9zdXBlci1pbnRlbC5jCi1pbmRleCA1N2M3ZTc1Li41NDk5MDk4IDEwMDY0NAotLS0tIGEvc3VwZXItaW50ZWwuYwotKysrIGIvc3VwZXItaW50ZWwuYwotQEAgLTE4MTEsNyArMTgxMSw4IEBAIHN0YXRpYyB2b2lkIGV4YW1pbmVfc3VwZXJfaW1zbShzdHJ1Y3Qgc3VwZXJ0eXBlICpzdCwgY2hhciAqaG9tZWhvc3QpCi0gCV9fdTMyIHJlc2VydmVkID0gaW1zbV9yZXNlcnZlZF9zZWN0b3JzKHN1cGVyLCBzdXBlci0+ZGlza3MpOwotIAlzdHJ1Y3QgZGwgKmRsOwotIAotLQlzbnByaW50ZihzdHIsIE1QQl9TSUdfTEVOLCAiJXMiLCBtcGItPnNpZyk7Ci0rCXN0cm5jcHkoc3RyLCAoY2hhciAqKW1wYi0+c2lnLCBNUEJfU0lHX0xFTik7Ci0rCXN0cltNUEJfU0lHX0xFTi0xXSA9ICdcMCc7Ci0gCXByaW50ZigiICAgICAgICAgIE1hZ2ljIDogJXNcbiIsIHN0cik7Ci0gCXNucHJpbnRmKHN0ciwgc3RybGVuKE1QQl9WRVJTSU9OX1JBSUQwKSwgIiVzIiwgZ2V0X2ltc21fdmVyc2lvbihtcGIpKTsKLSAJcHJpbnRmKCIgICAgICAgIFZlcnNpb24gOiAlc1xuIiwgZ2V0X2ltc21fdmVyc2lvbihtcGIpKTsKLUBAIC03MTQyLDE0ICs3MTQzLDE2IEBAIHN0YXRpYyBpbnQgdXBkYXRlX3N1YmFycmF5X2ltc20oc3RydWN0IHN1cGVydHlwZSAqc3QsIGNoYXIgKnN1YmFycmF5LAotIAotIAkJCXUtPnR5cGUgPSB1cGRhdGVfcmVuYW1lX2FycmF5OwotIAkJCXUtPmRldl9pZHggPSB2b2w7Ci0tCQkJc25wcmludGYoKGNoYXIgKikgdS0+bmFtZSwgTUFYX1JBSURfU0VSSUFMX0xFTiwgIiVzIiwgbmFtZSk7Ci0rCQkJc3RybmNweSgoY2hhciAqKSB1LT5uYW1lLCBuYW1lLCBNQVhfUkFJRF9TRVJJQUxfTEVOKTsKLSsJCQl1LT5uYW1lW01BWF9SQUlEX1NFUklBTF9MRU4tMV0gPSAnXDAnOwotIAkJCWFwcGVuZF9tZXRhZGF0YV91cGRhdGUoc3QsIHUsIHNpemVvZigqdSkpOwotIAkJfSBlbHNlIHsKLSAJCQlzdHJ1Y3QgaW1zbV9kZXYgKmRldjsKLSAJCQlpbnQgaTsKLSAKLSAJCQlkZXYgPSBnZXRfaW1zbV9kZXYoc3VwZXIsIHZvbCk7Ci0tCQkJc25wcmludGYoKGNoYXIgKikgZGV2LT52b2x1bWUsIE1BWF9SQUlEX1NFUklBTF9MRU4sICIlcyIsIG5hbWUpOwotKwkJCXN0cm5jcHkoKGNoYXIgKikgZGV2LT52b2x1bWUsIG5hbWUsIE1BWF9SQUlEX1NFUklBTF9MRU4pOwotKwkJCWRldi0+dm9sdW1lW01BWF9SQUlEX1NFUklBTF9MRU4tMV0gPSAnXDAnOwotIAkJCWZvciAoaSA9IDA7IGkgPCBtcGItPm51bV9yYWlkX2RldnM7IGkrKykgewotIAkJCQlkZXYgPSBnZXRfaW1zbV9kZXYoc3VwZXIsIGkpOwotIAkJCQloYW5kbGVfbWlzc2luZyhzdXBlciwgZGV2KTsKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDQtbWRhZG0tRm9yY2VkLXR5cGUtY29udmVyc2lvbi10by1hdm9pZC10cnVuY2F0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwNC1tZGFkbS1Gb3JjZWQtdHlwZS1jb252ZXJzaW9uLXRvLWF2b2lkLXRydW5jYXRpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0ZmRlNDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwNC1tZGFkbS1Gb3JjZWQtdHlwZS1jb252ZXJzaW9uLXRvLWF2b2lkLXRydW5jYXRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1Gcm9tIDVkYTg4OTAzMmUyZDk5NzUxZWQ5ZmU2MDAxNjE0NmU5YWU4MTE0Y2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYaWFvIE5pIDx4bmlAcmVkaGF0LmNvbT4KLURhdGU6IFNhdCwgMTggTWFyIDIwMTcgMTA6MzM6NDUgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCA0LzVdIG1kYWRtOiBGb3JjZWQgdHlwZSBjb252ZXJzaW9uIHRvIGF2b2lkIHRydW5jYXRpb24KLQotR2NjIHJlcG9ydHMgaXQgbmVlZHMgMTkgYnl0ZXMgdG8gcmlnaHQgdG8gZGlzay0+c2VyaWFsLiBCZWNhdXNlIHRoZQotdHlwZSBvZiBhcmd1bWVudCBpIGlzIGludC4gQnV0IHRoZSBtZWFuaW5nIG9mIGkgaXMgZmFpbGVkIGRpc2sKLW51bWJlci4gU28gaXQgZG9lc24ndCBuZWVkIHRvIHVzZSAxOSBieXRlcy4gIEp1c3QgYWRkIGEgdHlwZQotY29udmVyc2lvbiB0byBhdm9pZCB0aGlzIGJ1aWxkaW5nIGVycm9yCi0KLVNpZ25lZC1vZmYtYnk6IFhpYW8gTmkgPHhuaUByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogSmVzIFNvcmVuc2VuIDxKZXMuU29yZW5zZW5AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0gc3VwZXItaW50ZWwuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3N1cGVyLWludGVsLmMgYi9zdXBlci1pbnRlbC5jCi1pbmRleCA1NDk5MDk4Li40ZTQ2NmZmIDEwMDY0NAotLS0tIGEvc3VwZXItaW50ZWwuYwotKysrIGIvc3VwZXItaW50ZWwuYwotQEAgLTUyMjgsNyArNTIyOCw3IEBAIHN0YXRpYyBpbnQgaW5pdF9zdXBlcl9pbXNtX3ZvbHVtZShzdHJ1Y3Qgc3VwZXJ0eXBlICpzdCwgbWR1X2FycmF5X2luZm9fdCAqaW5mbywKLSAJCQlkaXNrLT5zdGF0dXMgPSBDT05GSUdVUkVEX0RJU0sgfCBGQUlMRURfRElTSzsKLSAJCQlkaXNrLT5zY3NpX2lkID0gX19jcHVfdG9fbGUzMih+KF9fdTMyKTApOwotIAkJCXNucHJpbnRmKChjaGFyICopIGRpc2stPnNlcmlhbCwgTUFYX1JBSURfU0VSSUFMX0xFTiwKLS0JCQkJICJtaXNzaW5nOiVkIiwgaSk7Ci0rCQkJCSAibWlzc2luZzolZCIsIChfX3U4KWkpOwotIAkJfQotIAkJZmluZF9taXNzaW5nKHN1cGVyKTsKLSAJfSBlbHNlIHsKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDUtQWRkLWEtY29tbWVudC10by1pbmRpY2F0ZS12YWxpZC1mYWxsdGhyb3VnaC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDUtQWRkLWEtY29tbWVudC10by1pbmRpY2F0ZS12YWxpZC1mYWxsdGhyb3VnaC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Q5ZDNiOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDA1LUFkZC1hLWNvbW1lbnQtdG8taW5kaWNhdGUtdmFsaWQtZmFsbHRocm91Z2gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjggKzAsMCBAQAotRnJvbSAwOTAxNDIzM2JmMTA5MDBmN2JkODM5MGIzYjY0ZmY4MmJjYTQ1MjIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgMTkgQXByIDIwMTcgMTI6MDQ6MTUgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCA1LzVdIEFkZCBhIGNvbW1lbnQgdG8gaW5kaWNhdGUgdmFsaWQgZmFsbHRocm91Z2gKLQotZ2NjNyB3YXJucyBhYm91dCBjb2RlIHdpdGggZmFsbHRocm91Z2hzLCB0aGlzIHBhdGNoIGFkZHMKLXRoZSBjb21tZW50IHRvIGluZGljYXRlIGEgdmFsaWQgZmFsbHRocm91Z2gsIGhlbHBzIGdjYzcKLWNvbXBpbGVyIHdhcm5pbmdzCi0KLVRoaXMgd29ya3MgaW4gY3Jvc3MgYW5kIG5hdGl2ZSBjb21waWxhdGlvbiBjYXNlCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCi0KLSBHcm93LmMgICAgICAgIHwgNCArKysrCi0gYml0bWFwLmMgICAgICB8IDggKysrKysrKysKLSBtZGFkbS5jICAgICAgIHwgMiArKwotIHN1cGVyLWludGVsLmMgfCAxICsKLSB1dGlsLmMgICAgICAgIHwgMSArCi0gNSBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9Hcm93LmMgYi9Hcm93LmMKLWluZGV4IDQ1NWM1ZjkuLjI3YzczYjEgMTAwNzU1Ci0tLS0gYS9Hcm93LmMKLSsrKyBiL0dyb3cuYwotQEAgLTEyNTcsNiArMTI1Nyw3IEBAIGNoYXIgKmFuYWx5c2VfY2hhbmdlKGNoYXIgKmRldm5hbWUsIHN0cnVjdCBtZGluZm8gKmluZm8sIHN0cnVjdCByZXNoYXBlICpyZSkKLSAJCXN3aXRjaCAoaW5mby0+bmV3X2xldmVsKSB7Ci0gCQljYXNlIDQ6Ci0gCQkJZGVsdGFfcGFyaXR5ID0gMTsKLSsJCQkvKiBmYWxsdGhyb3VnaCAqLwotIAkJY2FzZSAwOgotIAkJCXJlLT5sZXZlbCA9IDQ7Ci0gCQkJcmUtPmJlZm9yZS5sYXlvdXQgPSAwOwotQEAgLTEyODQsMTAgKzEyODUsMTIgQEAgY2hhciAqYW5hbHlzZV9jaGFuZ2UoY2hhciAqZGV2bmFtZSwgc3RydWN0IG1kaW5mbyAqaW5mbywgc3RydWN0IHJlc2hhcGUgKnJlKQotIAotIAljYXNlIDQ6Ci0gCQlpbmZvLT5hcnJheS5sYXlvdXQgPSBBTEdPUklUSE1fUEFSSVRZX047Ci0rCQkvKiBmYWxsdGhyb3VnaCAqLwotIAljYXNlIDU6Ci0gCQlzd2l0Y2ggKGluZm8tPm5ld19sZXZlbCkgewotIAkJY2FzZSAwOgotIAkJCWRlbHRhX3Bhcml0eSA9IC0xOwotKwkJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIDQ6Ci0gCQkJcmUtPmxldmVsID0gaW5mby0+YXJyYXkubGV2ZWw7Ci0gCQkJcmUtPmJlZm9yZS5kYXRhX2Rpc2tzID0gaW5mby0+YXJyYXkucmFpZF9kaXNrcyAtIDE7Ci1AQCAtMTM0Myw2ICsxMzQ2LDcgQEAgY2hhciAqYW5hbHlzZV9jaGFuZ2UoY2hhciAqZGV2bmFtZSwgc3RydWN0IG1kaW5mbyAqaW5mbywgc3RydWN0IHJlc2hhcGUgKnJlKQotIAkJY2FzZSA0OgotIAkJY2FzZSA1OgotIAkJCWRlbHRhX3Bhcml0eSA9IC0xOwotKwkJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIDY6Ci0gCQkJcmUtPmxldmVsID0gNjsKLSAJCQlyZS0+YmVmb3JlLmRhdGFfZGlza3MgPSBpbmZvLT5hcnJheS5yYWlkX2Rpc2tzIC0gMjsKLWRpZmYgLS1naXQgYS9iaXRtYXAuYyBiL2JpdG1hcC5jCi1pbmRleCBjY2VkZmQzLi5hNmZmMDkxIDEwMDY0NAotLS0tIGEvYml0bWFwLmMKLSsrKyBiL2JpdG1hcC5jCi1AQCAtODIsMTMgKzgyLDIxIEBAIHN0YXRpYyBpbmxpbmUgaW50IGNvdW50X2RpcnR5X2JpdHNfYnl0ZShjaGFyIGJ5dGUsIGludCBudW1fYml0cykKLSAKLSAJc3dpdGNoIChudW1fYml0cykgeyAvKiBmYWxsIHRocm91Z2guLi4gKi8KLSAJCWNhc2UgODoJaWYgKGJ5dGUgJiAxMjgpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgNzoJaWYgKGJ5dGUgJiAgNjQpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgNjoJaWYgKGJ5dGUgJiAgMzIpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgNToJaWYgKGJ5dGUgJiAgMTYpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgNDoJaWYgKGJ5dGUgJiAgIDgpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgMzogaWYgKGJ5dGUgJiAgIDQpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgMjoJaWYgKGJ5dGUgJiAgIDIpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgMToJaWYgKGJ5dGUgJiAgIDEpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWRlZmF1bHQ6IGJyZWFrOwotIAl9Ci0gCi1kaWZmIC0tZ2l0IGEvbWRhZG0uYyBiL21kYWRtLmMKLWluZGV4IGMzYTI2NWIuLjJkMDZkM2IgMTAwNjQ0Ci0tLS0gYS9tZGFkbS5jCi0rKysgYi9tZGFkbS5jCi1AQCAtMTQ4LDYgKzE0OCw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCi0gCQkJICAgIG1vZGUgPT0gQ1JFQVRFIHx8IG1vZGUgPT0gR1JPVyB8fAotIAkJCSAgICBtb2RlID09IElOQ1JFTUVOVEFMIHx8IG1vZGUgPT0gTUFOQUdFKQotIAkJCQlicmVhazsgLyogYiBtZWFucyBiaXRtYXAgKi8KLSsJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIEJyaWVmOgotIAkJCWMuYnJpZWYgPSAxOwotIAkJCWNvbnRpbnVlOwotQEAgLTgyOCw2ICs4MjksNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQotIAotIAkJY2FzZSBPKElOQ1JFTUVOVEFMLE5vRGVncmFkZWQpOgotIAkJCXByX2VycigiLS1uby1kZWdyYWRlZCBpcyBkZXByZWNhdGVkIGluIEluY3JlbWVudGFsIG1vZGVcbiIpOwotKwkJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIE8oQVNTRU1CTEUsTm9EZWdyYWRlZCk6IC8qIC0tbm8tZGVncmFkZWQgKi8KLSAJCQljLnJ1bnN0b3AgPSAtMTsgLyogLS1zdG9wIGlzbid0IGFsbG93ZWQgZm9yIC0tYXNzZW1ibGUsCi0gCQkJCQkgKiBzbyB3ZSBvdmVybG9hZCBzbGlnaHRseSAqLwotZGlmZiAtLWdpdCBhL3N1cGVyLWludGVsLmMgYi9zdXBlci1pbnRlbC5jCi1pbmRleCA0ZTQ2NmZmLi4wMGEyOTI1IDEwMDY0NAotLS0tIGEvc3VwZXItaW50ZWwuYwotKysrIGIvc3VwZXItaW50ZWwuYwotQEAgLTMyNzEsNiArMzI3MSw3IEBAIHN0YXRpYyB2b2lkIGdldGluZm9fc3VwZXJfaW1zbV92b2x1bWUoc3RydWN0IHN1cGVydHlwZSAqc3QsIHN0cnVjdCBtZGluZm8gKmluZm8sCi0gCQkJCQkJPDwgU0VDVF9QRVJfTUJfU0hJRlQ7Ci0gCQkJfQotIAkJfQotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgTUlHUl9WRVJJRlk6Ci0gCQkJLyogd2UgY291bGQgZW11bGF0ZSB0aGUgY2hlY2twb2ludGluZyBvZgotIAkJCSAqICdzeW5jX2FjdGlvbj1jaGVjaycgbWlncmF0aW9ucywgYnV0IGZvciBub3cKLWRpZmYgLS1naXQgYS91dGlsLmMgYi91dGlsLmMKLWluZGV4IDMyYmQ5MDkuLmYyYTRkMTkgMTAwNjQ0Ci0tLS0gYS91dGlsLmMKLSsrKyBiL3V0aWwuYwotQEAgLTMzNSw2ICszMzUsNyBAQCB1bnNpZ25lZCBsb25nIGxvbmcgcGFyc2Vfc2l6ZShjaGFyICpzaXplKQotIAkJc3dpdGNoICgqYykgewotIAkJY2FzZSAnSyc6Ci0gCQkJYysrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWRlZmF1bHQ6Ci0gCQkJcyAqPSAyOwotIAkJCWJyZWFrOwotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvZ2NjLTQuOS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzL2djYy00LjkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmMjEzOTkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvZ2NjLTQuOS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLXN1cGVyLWludGVsLmM6NTA2MzoyOiBlcnJvcjogcmlnaHQtaGFuZCBvcGVyYW5kIG9mIGNvbW1hIGV4cHJlc3Npb24gaGFzIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFsdWVdCi0gIHNucHJpbnRmKChjaGFyICopIHNwYXJlLT5zaWcsIE1BWF9TSUdOQVRVUkVfTEVOR1RILAotICBeCi1jYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwotbWFrZTogKioqIFtzdXBlci1pbnRlbC5vXSBFcnJvciAxCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotSW5kZXg6IG1kYWRtLTQuMC9zdXBlci1pbnRlbC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbWRhZG0tNC4wLm9yaWcvc3VwZXItaW50ZWwuYwotKysrIG1kYWRtLTQuMC9zdXBlci1pbnRlbC5jCi1AQCAtNTcyNSw3ICs1NzI1LDcgQEAgc3RhdGljIGludCB3cml0ZV9zdXBlcl9pbXNtX3NwYXJlcyhzdHJ1YwotIAlzcGFyZS0+Y2FjaGVfc2l6ZSA9IG1wYi0+Y2FjaGVfc2l6ZTsKLSAJc3BhcmUtPnB3cl9jeWNsZV9jb3VudCA9IF9fY3B1X3RvX2xlMzIoMSk7Ci0gCi0tCXNucHJpbnRmKChjaGFyICopIHNwYXJlLT5zaWcsIE1BWF9TSUdOQVRVUkVfTEVOR1RILAotKwkodm9pZClzbnByaW50ZigoY2hhciAqKSBzcGFyZS0+c2lnLCBNQVhfU0lHTkFUVVJFX0xFTkdUSCwKLSAJCSBNUEJfU0lHTkFUVVJFIE1QQl9WRVJTSU9OX1JBSUQwKTsKLSAKLSAJZm9yIChkID0gc3VwZXItPmRpc2tzOyBkOyBkID0gZC0+bmV4dCkgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvbWRhZG0tMy4zLjJfeDMyX2FiaV90aW1lX3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy9tZGFkbS0zLjMuMl94MzJfYWJpX3RpbWVfdC5wYXRjaAppbmRleCAwMGU2NjU3Li43YTJjODg4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy9tZGFkbS0zLjMuMl94MzJfYWJpX3RpbWVfdC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy9tZGFkbS0zLjMuMl94MzJfYWJpX3RpbWVfdC5wYXRjaApAQCAtMSwzICsxLDExIEBACitGcm9tIGUzN2Y3ZjZhMGYxZWYxYjU5NDU3NGQxMWE4YjkwYjhjODYxZDA0N2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW49QzM9QURiYWw9MjBMaW09QzM9QjNuPz0gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CitEYXRlOiBTdW4sIDE1IE1hciAyMDE1IDA5OjAyOjE0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIG1kYWRtOiBGaXggYnVpbGQgaW4geDMyIEFCSQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCiBXaGVuIHRyeSB0byBwcmludCB0aW1lX3QgdmFsdWVzIGFzIGEgbG9uZyBpbnQgaXQgY2F1c2VzIGFuIGVycm9yIGJlY2F1c2UgdGltZV90CiBkYXRhIHR5cGUgaW4geDMyIEFCSSBpcyBsb25nIGxvbmcgaW50LgogCkBAIC01LDExICsxMywxNSBAQAogCiBTaWduZWQtb2ZmLWJ5OiBBbsOtYmFsIExpbcOzbiA8YW5pYmFsLmxpbW9uQGxpbnV4LmludGVsLmNvbT4KIAotSW5kZXg6IG1kYWRtLTQuMC9tb25pdG9yLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBtZGFkbS00LjAub3JpZy9tb25pdG9yLmMKLSsrKyBtZGFkbS00LjAvbW9uaXRvci5jCi1AQCAtNDQ1LDkgKzQ0NSwxMiBAQCBzdGF0aWMgaW50IHJlYWRfYW5kX2FjdChzdHJ1Y3QgYWN0aXZlX2FyCistLS0KKyBtb25pdG9yLmMgfCA1ICsrKystCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbW9uaXRvci5jIGIvbW9uaXRvci5jCitpbmRleCA4MTUzN2VkLi43YzMzMzgyIDEwMDY0NAorLS0tIGEvbW9uaXRvci5jCisrKysgYi9tb25pdG9yLmMKK0BAIC00NDUsOSArNDQ1LDEyIEBAIHN0YXRpYyBpbnQgcmVhZF9hbmRfYWN0KHN0cnVjdCBhY3RpdmVfYXJyYXkgKmEsIGZkX3NldCAqZmRzKQogIAkJaWYgKEZEX0lTU0VUKG1kaS0+YmJfZmQsIGZkcykpCiAgCQkJY2hlY2tfZm9yX2NsZWFyZWRfYmIoYSwgbWRpKTsKICAJfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvbWRhZG0tZml4LXB0ZXN0LWJ1aWxkLWVycm9ycy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzL21kYWRtLWZpeC1wdGVzdC1idWlsZC1lcnJvcnMucGF0Y2gKaW5kZXggMjY3YzAwNy4uOGUyYThhOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvbWRhZG0tZml4LXB0ZXN0LWJ1aWxkLWVycm9ycy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy9tZGFkbS1maXgtcHRlc3QtYnVpbGQtZXJyb3JzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBjNjU4OThiOWRhODJkZjk0ZTFiYWU3OTM3ZTQxNWE3ZWI4MDM1NWQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5MTFmNmVhOWJlMGMzMzQ4ODVhZWZmNjY4NTNiMTExY2JkNDA2NmRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogIk1heGluIEIuIEpvaG4iIDxtYXhpbi5qb2huQGludGVsLmNvbT4KIERhdGU6IFdlZCwgMTAgRmViIDIwMTYgMTc6Mjg6MDUgKzAyMDAKIFN1YmplY3Q6IFtQQVRDSF0gbWRhZG0tZml4LXB0ZXN0LWJ1aWxkLWVycm9ycwpAQCAtMTYsMTUgKzE2LDE2IEBACiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAogU2lnbmVkLW9mZi1ieTogTWF4aW4gQi4gSm9obiA8bWF4aW4uam9obkBpbnRlbC5jb20+CisKIC0tLQogIHJlc3RyaXBlLmMgfCA2ICsrKysrLQogIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL3Jlc3RyaXBlLmMgYi9yZXN0cmlwZS5jCi1pbmRleCA1NmRjYTczLi5kMjRiMmI0IDEwMDY0NAoraW5kZXggMzFiMDdlOC4uNTkyYmE1ZCAxMDA2NDQKIC0tLSBhL3Jlc3RyaXBlLmMKICsrKyBiL3Jlc3RyaXBlLmMKLUBAIC04NDIsMTAgKzg0MiwxNCBAQCBpbnQgdGVzdF9zdHJpcGVzKGludCAqc291cmNlLCB1bnNpZ25lZCBsb25nIGxvbmcgKm9mZnNldHMsCitAQCAtODY0LDEwICs4NjQsMTQgQEAgaW50IHRlc3Rfc3RyaXBlcyhpbnQgKnNvdXJjZSwgdW5zaWduZWQgbG9uZyBsb25nICpvZmZzZXRzLAogIAogIAl3aGlsZSAobGVuZ3RoID4gMCkgewogIAkJaW50IGRpc2s7CkBAIC00MCw2ICs0MSwzIEBACiAgCQl9CiAgCQlmb3IgKGkgPSAwIDsgaSA8IGRhdGFfZGlza3MgOyBpKyspIHsKICAJCQlpbnQgZGlzayA9IGdlb19tYXAoaSwgc3RhcnQvY2h1bmtfc2l6ZSwgcmFpZF9kaXNrcywKLS0tIAotMi40LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vbWRhZG1fNC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vbWRhZG1fNC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MTU1YWU0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL21kYWRtXzQuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDkzICswLDAgQEAKLVNVTU1BUlkgPSAiVG9vbCBmb3IgbWFuYWdpbmcgc29mdHdhcmUgUkFJRCB1bmRlciBMaW51eCIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvcmFpZC9tZGFkbS8iCi0KLSMgU29tZSBmaWxlcyBhcmUgR1BMdjIrIHdoaWxlIG90aGVycyBhcmUgR1BMdjIuCi1MSUNFTlNFID0gIkdQTHYyICYgR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbWRtb24uYztiZWdpbmxpbmU9NDtlbmRsaW5lPTE4O21kNT1hZjdkODQ0NGQ5YzRkM2U1YzdjYWFjMGQ5ZDM0MDM5ZCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9tZGFkbS5oO2JlZ2xpbmxuZT00O2VuZGxpbmU9MjI7bWQ1PTQ2MmJjOTkzNmFjMGQzZGExMTAxOTFhM2Y5OTk0MTYxIgotCi0KLVNSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC91dGlscy9yYWlkL21kYWRtLyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vZ2NjLTQuOS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9tZGFkbS0zLjMuMl94MzJfYWJpX3RpbWVfdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9tZGFkbS1maXgtcHRlc3QtYnVpbGQtZXJyb3JzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LXRoZS1wYXRoLW9mLWNvcm9zeW5jLWFuZC1kbG0taGVhZGVyLWZpbGVzLWNoZWNrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1kYWRtLmgtVW5kZWZpbmUtZHByaW50Zi1iZWZvcmUtcmVkZWZpbmluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbnRpb25zLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbWRhZG0tQWRkLVdpbXBsaWNpdC1mYWxsdGhyb3VnaC0wLWluLU1ha2VmaWxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItbWRhZG0tU3BlY2lmeS1lbm91Z2gtbGVuZ3RoLXdoZW4td3JpdGUtdG8tYnVmZmVyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtUmVwbGFjZS1zbnByaW50Zi13aXRoLXN0cm5jcHktYXQtc29tZS1wbGFjZXMtdG8tYXZvaS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LW1kYWRtLUZvcmNlZC10eXBlLWNvbnZlcnNpb24tdG8tYXZvaWQtdHJ1bmNhdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LUFkZC1hLWNvbW1lbnQtdG8taW5kaWNhdGUtdmFsaWQtZmFsbHRocm91Z2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Vc2UtQ0MtdG8tY2hlY2stZm9yLWltcGxpY2l0LWZhbGx0aHJvdWdoLXdhcm5pbmctc3VwLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtdXNlLW1lbW1vdmUtaW5zdGVhZC1vZi1tZW1jcHktb24tb3ZlcmxhcHBpbmctcmVnaW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRGlzYWJsZS1nY2M4LXdhcm5pbmdzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL21kYWRtLmluaXQgXAotICAgICAgICAgICBmaWxlOi8vbWRtb25pdG9yLnNlcnZpY2UgXAotICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiMmNiNGZlZmZlYTkxNjdiYTcxYjVmMzQ2YTBjMGE0MGQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWQ2YWU3ZjI0Y2VkM2EwZmE3YjU2MTNiMzJmNGE1ODliYjQ4ODFlMzk0NmE1YTJjMzcyNDA1NjI1NGFkYTNhOSIKLQotQ0ZMQUdTICs9ICItZm5vLXN0cmljdC1hbGlhc2luZyIKLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBzeXN0ZW1kCi0KLUVYVFJBX09FTUFLRSA9ICdDSEVDS19SVU5fRElSPTAgQ1hGTEFHUz0iJHtDRkxBR1N9IicKLSMgUFBDNjQgYW5kIE1JUFM2NCB1c2VzIGxvbmcgbG9uZyBmb3IgdTY0IGluIHRoZSBrZXJuZWwsIGJ1dCBwb3dlcnBjJ3MgYXNtL3R5cGVzLmgKLSMgcHJldmVudHMgNjQtYml0IHVzZXJsYW5kIGZyb20gc2VlaW5nIHRoaXMgZGVmaW5pdGlvbiwgaW5zdGVhZCBkZWZhdWx0aW5nCi0jIHRvIHU2NCA9PSBsb25nIGluIHVzZXJzcGFjZS4gRGVmaW5lIF9fU0FORV9VU0VSU1BBQ0VfVFlQRVNfXyB0byBnZXQKLSMgaW50LWxsNjQuaCBpbmNsdWRlZAotQ0ZMQUdTX2FwcGVuZF9wb3dlcnBjNjQgPSAnIC1EX19TQU5FX1VTRVJTUEFDRV9UWVBFU19fJwotQ0ZMQUdTX2FwcGVuZF9taXBzYXJjaG42NCA9ICcgLURfX1NBTkVfVVNFUlNQQUNFX1RZUEVTX18nCi1DRkxBR1NfYXBwZW5kX21pcHNhcmNobjMyID0gJyAtRF9fU0FORV9VU0VSU1BBQ0VfVFlQRVNfXycKLQotZG9fY29tcGlsZSgpIHsKLQkjIFBvaW50IHRvIHJpZ2h0IHNiaW5kaXIKLQlzZWQgLWkgLWUgInM7QklORElSICA9IC9zYmluO0JJTkRJUiA9ICRiYXNlX3NiaW5kaXI7IiAtZSAicztVREVWRElSID0gL2xpYjtVREVWRElSID0gJG5vbmFyY2hfYmFzZV9saWJkaXI7IiAke1N9L01ha2VmaWxlCi0Jb2VfcnVubWFrZSBTWVNST09UPSIke1NUQUdJTkdfRElSX1RBUkdFVH0iCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JZXhwb3J0IFNUUklQPSIiCi0JYXV0b3Rvb2xzX2RvX2luc3RhbGwKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vCi0gICAgaW5zdGFsbCAtbSA2NDQgJHtTfS9tZGFkbS5jb25mLWV4YW1wbGUgJHtEfSR7c3lzY29uZmRpcn0vbWRhZG0uY29uZgotICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgaW5zdGFsbCAtbSA2NDQgJHtTfS9zeXN0ZW1kL21kbW9uaXRvci5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAotICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vbWRhZG0uaW5pdCAgICAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbWRtb25pdG9yCi19Ci0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJtZG1vbml0b3Iuc2VydmljZSIKLVNZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKLQotZG9fY29tcGlsZV9wdGVzdCgpIHsKLQlvZV9ydW5tYWtlIHRlc3QKLX0KLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLQljcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiAke1N9L3Rlc3RzICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCi0JY3AgJHtTfS90ZXN0ICR7RH0ke1BURVNUX1BBVEh9Ci0Jc2VkIC1lICdzIXNsZWVwIDAuKiFzbGVlcCAxIWc7IHMhL3Zhci90bXAhLyFnJyAtaSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0Ci0JbG4gLXMgJHtiYXNlX3NiaW5kaXJ9L21kYWRtICR7RH0ke1BURVNUX1BBVEh9L21kYWRtCi0JZm9yIHByZyBpbiB0ZXN0X3N0cmlwZSBzd2FwX3N1cGVyIHJhaWQ2Y2hlY2sKLQlkbwotCQlpbnN0YWxsIC1EIC1tIDc1NSAkcHJnICR7RH0ke1BURVNUX1BBVEh9LwotCWRvbmUKLX0KLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gImJhc2giCi1SUkVDT01NRU5EU18ke1BOfS1wdGVzdCArPSAiIFwKLSAgICBjb3JldXRpbHMgXAotICAgIHV0aWwtbGludXggXAotICAgIGtlcm5lbC1tb2R1bGUtbG9vcCBcCi0gICAga2VybmVsLW1vZHVsZS1saW5lYXIgXAotICAgIGtlcm5lbC1tb2R1bGUtcmFpZDAgXAotICAgIGtlcm5lbC1tb2R1bGUtcmFpZDEgXAotICAgIGtlcm5lbC1tb2R1bGUtcmFpZDEwIFwKLSAgICBrZXJuZWwtbW9kdWxlLXJhaWQ0NTYgXAotIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vbWRhZG1fNC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vbWRhZG1fNC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4NjJhMzgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9tZGFkbV80LjEuYmIKQEAgLTAsMCArMSw5MiBAQAorU1VNTUFSWSA9ICJUb29sIGZvciBtYW5hZ2luZyBzb2Z0d2FyZSBSQUlEIHVuZGVyIExpbnV4IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy9yYWlkL21kYWRtLyIKKworIyBTb21lIGZpbGVzIGFyZSBHUEx2Misgd2hpbGUgb3RoZXJzIGFyZSBHUEx2Mi4KK0xJQ0VOU0UgPSAiR1BMdjIgJiBHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9tZG1vbi5jO2JlZ2lubGluZT00O2VuZGxpbmU9MTg7bWQ1PWFmN2Q4NDQ0ZDljNGQzZTVjN2NhYWMwZDlkMzQwMzlkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL21kYWRtLmg7YmVnbGlubG5lPTQ7ZW5kbGluZT0yMjttZDU9NDYyYmM5OTM2YWMwZDNkYTExMDE5MWEzZjk5OTQxNjEiCisKKworU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L3V0aWxzL3JhaWQvbWRhZG0vJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vbWRhZG0tMy4zLjJfeDMyX2FiaV90aW1lX3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbWRhZG0tZml4LXB0ZXN0LWJ1aWxkLWVycm9ycy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1kYWRtLmgtVW5kZWZpbmUtZHByaW50Zi1iZWZvcmUtcmVkZWZpbmluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC10aGUtcGF0aC1vZi1jb3Jvc3luYy1hbmQtZGxtLWhlYWRlci1maWxlcy1jaGVjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1DQy10by1jaGVjay1mb3ItaW1wbGljaXQtZmFsbHRocm91Z2gtd2FybmluZy1zdXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Db21wdXRlLWFicy1kaWZmLWluLWEtc3RhbmRhcmQtY29tcGxpYW50LXdheS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1nY2MtOC1mb3JtYXQtdHJ1bmNhdGlvbi13YXJuaW5nLnBhdGNoIFwKKwkgICBmaWxlOi8vbWRhZG0uaW5pdCBcCisJICAgZmlsZTovL21kbW9uaXRvci5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWRhZG0tZ2NjOC1tYXliZS11bmluaXRpYWxpemVkLWZvcm1hdC1vdmVyZmxvdy13YXJuaS5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MWJmMzY1MWJkNzNhMDZjNDEzYTJmOTY0ZjI5OTU5OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYjc2ODg4NDI5MDhkMzU4M2E3MDRkNDkxOTU2ZjMxMzI0YzNhNWZjOWY2YTA0NjUzY2I3NWQxOWYxOTM0ZjRhIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcHRlc3Qgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibWRtb25pdG9yLnNlcnZpY2UgbWRtb25ALnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK0NGTEFHU19hcHBlbmRfdG9vbGNoYWluLWNsYW5nID0gIiAtV25vLWVycm9yPWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIKKworIyBQUEM2NCBhbmQgTUlQUzY0IHVzZXMgbG9uZyBsb25nIGZvciB1NjQgaW4gdGhlIGtlcm5lbCwgYnV0IHBvd2VycGMncyBhc20vdHlwZXMuaAorIyBwcmV2ZW50cyA2NC1iaXQgdXNlcmxhbmQgZnJvbSBzZWVpbmcgdGhpcyBkZWZpbml0aW9uLCBpbnN0ZWFkIGRlZmF1bHRpbmcKKyMgdG8gdTY0ID09IGxvbmcgaW4gdXNlcnNwYWNlLiBEZWZpbmUgX19TQU5FX1VTRVJTUEFDRV9UWVBFU19fIHRvIGdldAorIyBpbnQtbGw2NC5oIGluY2x1ZGVkCitDRkxBR1NfYXBwZW5kX3Bvd2VycGM2NCA9ICcgLURfX1NBTkVfVVNFUlNQQUNFX1RZUEVTX18nCitDRkxBR1NfYXBwZW5kX21pcHNhcmNobjY0ID0gJyAtRF9fU0FORV9VU0VSU1BBQ0VfVFlQRVNfXycKK0NGTEFHU19hcHBlbmRfbWlwc2FyY2huMzIgPSAnIC1EX19TQU5FX1VTRVJTUEFDRV9UWVBFU19fJworCitFWFRSQV9PRU1BS0UgPSAnQ0hFQ0tfUlVOX0RJUj0wIENYRkxBR1M9IiR7Q0ZMQUdTfSInCisKK0RFQlVHX09QVElNSVpBVElPTl9hcHBlbmQgPSAiIC1Xbm8tZXJyb3IiCisKK2RvX2NvbXBpbGUoKSB7CisJIyBQb2ludCB0byByaWdodCBzYmluZGlyCisJc2VkIC1pIC1lICJzO0JJTkRJUiAgPSAvc2JpbjtCSU5ESVIgPSAkYmFzZV9zYmluZGlyOyIgLWUgInM7VURFVkRJUiA9IC9saWI7VURFVkRJUiA9ICRub25hcmNoX2Jhc2VfbGliZGlyOyIgJHtTfS9NYWtlZmlsZQorCW9lX3J1bm1ha2UgU1lTUk9PVD0iJHtTVEFHSU5HX0RJUl9UQVJHRVR9IgorfQorCitkb19pbnN0YWxsKCkgeworCWV4cG9ydCBTVFJJUD0iIgorCWF1dG90b29sc19kb19pbnN0YWxsCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS8KKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtTfS9tZGFkbS5jb25mLWV4YW1wbGUgJHtEfSR7c3lzY29uZmRpcn0vbWRhZG0uY29uZgorICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L21kbW9uaXRvci5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1N9L3N5c3RlbWQvbWRtb25ALnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgICAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L21kYWRtLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL21kbW9uaXRvcgorfQorCitkb19jb21waWxlX3B0ZXN0KCkgeworCW9lX3J1bm1ha2UgdGVzdAorfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworCWNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vdGVzdHMgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKKwljcCAke1N9L3Rlc3QgJHtEfSR7UFRFU1RfUEFUSH0KKwlzZWQgLWUgJ3Mhc2xlZXAgMC4qIXNsZWVwIDEhZzsgcyEvdmFyL3RtcCEvIWcnIC1pICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKKwlsbiAtcyAke2Jhc2Vfc2JpbmRpcn0vbWRhZG0gJHtEfSR7UFRFU1RfUEFUSH0vbWRhZG0KKwlmb3IgcHJnIGluIHRlc3Rfc3RyaXBlIHN3YXBfc3VwZXIgcmFpZDZjaGVjaworCWRvCisJCWluc3RhbGwgLUQgLW0gNzU1ICRwcmcgJHtEfSR7UFRFU1RfUEFUSH0vCisJZG9uZQorfQorCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAiYmFzaCIKK1JSRUNPTU1FTkRTXyR7UE59LXB0ZXN0ICs9ICIgXAorICAgIGNvcmV1dGlscyBcCisgICAgdXRpbC1saW51eCBcCisgICAga2VybmVsLW1vZHVsZS1sb29wIFwKKyAgICBrZXJuZWwtbW9kdWxlLWxpbmVhciBcCisgICAga2VybmVsLW1vZHVsZS1yYWlkMCBcCisgICAga2VybmVsLW1vZHVsZS1yYWlkMSBcCisgICAga2VybmVsLW1vZHVsZS1yYWlkMTAgXAorICAgIGtlcm5lbC1tb2R1bGUtcmFpZDQ1NiBcCisiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLWJhc2UtdXRpbHMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLWJhc2UtdXRpbHMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjExZTBjYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtYmFzZS11dGlscy5iYgpAQCAtMCwwICsxLDU3IEBACisjCisjIENvcHlyaWdodCAoQykgMjAxOSBLb25zdWxrbyBHcm91cAorIworCitTVU1NQVJZID0gIkZ1bGwtZmVhdHVyZWQgc2V0IG9mIGJhc2UgdXRpbHMiCitERVNDUklQVElPTiA9ICJQYWNrYWdlIGdyb3VwIGJyaW5naW5nIGluIHBhY2thZ2VzIG5lZWRlZCB0byBwcm92aWRlIG11Y2ggb2YgdGhlIGJhc2UgdXRpbHMgdHlwZSBmdW5jdGlvbmFsaXR5IGZvdW5kIGluIGJ1c3lib3giCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1ZJUlRVQUwtUlVOVElNRV92aW0gPz0gInZpbS10aW55IgorCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgYmFzZS1wYXNzd2QgXAorICAgIGJhc2ggXAorICAgIGJpbmQtdXRpbHMgXAorICAgIGJ6aXAyIFwKKyAgICBjb3JldXRpbHMgXAorICAgIGNwaW8gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAic3lzdGVtZCIsICIiLCAiZGViaWFudXRpbHMtcnVuLXBhcnRzIiwgZCl9IFwKKyAgICBkaGNwLWNsaWVudCBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJzeXN0ZW1kIiwgIiIsICJkaGNwLXNlcnZlciIsIGQpfSBcCisgICAgZGlmZnV0aWxzIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAiIiwgImRwa2ctc3RhcnQtc3RvcCIsIGQpfSBcCisgICAgZTJmc3Byb2dzIFwKKyAgICBlZCBcCisgICAgZmlsZSBcCisgICAgZmluZHV0aWxzIFwKKyAgICBnYXdrIFwKKyAgICBncmVwIFwKKyAgICBnemlwIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAiIiwgImlmdXBkb3duIiwgZCl9IFwKKyAgICBpbmV0dXRpbHMgXAorICAgIGluZXR1dGlscy1waW5nIFwKKyAgICBpbmV0dXRpbHMtdGVsbmV0IFwKKyAgICBpbmV0dXRpbHMtdGZ0cCBcCisgICAgaW5ldHV0aWxzLXRyYWNlcm91dGUgXAorICAgIGlwcm91dGUyIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiTUFDSElORV9GRUFUVVJFUyIsICJrZXlib2FyZCIsICJrYmQiLCAiIiwgZCl9IFwKKyAgICBrbW9kIFwKKyAgICBsZXNzIFwKKyAgICBuY3Vyc2VzLXRvb2xzIFwKKyAgICBuZXQtdG9vbHMgXAorICAgIHBhcnRlZCBcCisgICAgcGF0Y2ggXAorICAgIHByb2NwcyBcCisgICAgcHNtaXNjIFwKKyAgICBzZWQgXAorICAgIHNoYWRvdy1iYXNlIFwKKyAgICB0YXIgXAorICAgIHRpbWUgXAorICAgIHVuemlwIFwKKyAgICB1dGlsLWxpbnV4IFwKKyAgICAke1ZJUlRVQUwtUlVOVElNRV92aW19IFwKKyAgICB3Z2V0IFwKKyAgICB3aGljaCBcCisgICAgeHogXAorICAgICIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9saWJwYW1fMS4zLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYW0vbGlicGFtXzEuMy4wLmJiCmluZGV4IGNjMTI0MTAuLmMxMjRlM2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9saWJwYW1fMS4zLjAuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL2xpYnBhbV8xLjMuMC5iYgpAQCAtMTIyLDcgKzEyMiw3IEBACiAgICAgcGFtX2ZpbHRlcmRpciA9IGQuZXhwYW5kKCcke2Jhc2VfbGliZGlyfS9zZWN1cml0eS9wYW1fZmlsdGVyJykKICAgICBwYW1fcGtnbmFtZSA9IG1scHJlZml4ICsgJ3BhbS1wbHVnaW4lcycKIAotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBhbV9saWJkaXIsICdecGFtKC4qKVwuc28kJywgcGFtX3BrZ25hbWUsCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGFtX2xpYmRpciwgcidecGFtKC4qKVwuc28kJywgcGFtX3BrZ25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgJ1BBTSBwbHVnaW4gZm9yICVzJywgaG9vaz1wYW1fcGx1Z2luX2hvb2ssIGV4dHJhX2RlcGVuZHM9JycpCiAgICAgcGFtX3BsdWdpbl9hcHBlbmRfZmlsZSgnJXNwYW0tcGx1Z2luLXVuaXgnICUgbWxwcmVmaXgsIHBhbV9zYmluZGlyLCAndW5peF9jaGtwd2QnKQogICAgIHBhbV9wbHVnaW5fYXBwZW5kX2ZpbGUoJyVzcGFtLXBsdWdpbi11bml4JyAlIG1scHJlZml4LCBwYW1fc2JpbmRpciwgJ3VuaXhfdXBkYXRlJykKQEAgLTEzMSw3ICsxMzEsNyBAQAogICAgIHBhbV9wbHVnaW5fYXBwZW5kX2ZpbGUoJyVzcGFtLXBsdWdpbi10aW1lc3RhbXAnICUgbWxwcmVmaXgsIHBhbV9zYmluZGlyLCAncGFtX3RpbWVzdGFtcF9jaGVjaycpCiAgICAgcGFtX3BsdWdpbl9hcHBlbmRfZmlsZSgnJXNwYW0tcGx1Z2luLW1raG9tZWRpcicgJSBtbHByZWZpeCwgcGFtX3NiaW5kaXIsICdta2hvbWVkaXJfaGVscGVyJykKICAgICBwYW1fcGx1Z2luX2FwcGVuZF9maWxlKCclc3BhbS1wbHVnaW4tY29uc29sZScgJSBtbHByZWZpeCwgcGFtX3NiaW5kaXIsICdwYW1fY29uc29sZV9hcHBseScpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGFtX2ZpbHRlcmRpciwgJ14oLiopJCcsICdwYW0tZmlsdGVyLSVzJywgJ1BBTSBmaWx0ZXIgZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwYW1fZmlsdGVyZGlyLCByJ14oLiopJCcsICdwYW0tZmlsdGVyLSVzJywgJ1BBTSBmaWx0ZXIgZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJykKIH0KIAogZG9faW5zdGFsbCgpIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BlcmwvbGlieG1sLW5hbWVzcGFjZXN1cHBvcnQtcGVybF8xLjEyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGVybC9saWJ4bWwtbmFtZXNwYWNlc3VwcG9ydC1wZXJsXzEuMTIuYmIKaW5kZXggZmE5Zjk5NS4uNTdjNDA3ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGVybC9saWJ4bWwtbmFtZXNwYWNlc3VwcG9ydC1wZXJsXzEuMTIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGVybC9saWJ4bWwtbmFtZXNwYWNlc3VwcG9ydC1wZXJsXzEuMTIuYmIKQEAgLTIzLDUgKzIzLDUgQEAKIAogUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gInBlcmwtbW9kdWxlLXRlc3QtbW9yZSIKIAotQkJDTEFTU0VYVEVORD0ibmF0aXZlIgorQkJDTEFTU0VYVEVORD0ibmF0aXZlIG5hdGl2ZXNkayIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGVybC9saWJ4bWwtc2F4LWJhc2UtcGVybF8xLjA5LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGVybC9saWJ4bWwtc2F4LWJhc2UtcGVybF8xLjA5LmJiCmluZGV4IGIzZTAxZTkuLjM3M2I1MjIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BlcmwvbGlieG1sLXNheC1iYXNlLXBlcmxfMS4wOS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wZXJsL2xpYnhtbC1zYXgtYmFzZS1wZXJsXzEuMDkuYmIKQEAgLTIxLDQgKzIxLDQgQEAKIAogaW5oZXJpdCBjcGFuIHB0ZXN0LXBlcmwKIAotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wZXJsL2xpYnhtbC1zYXgtcGVybF8xLjAwLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGVybC9saWJ4bWwtc2F4LXBlcmxfMS4wMC5iYgppbmRleCAxNDE4MzBlLi5lY2NkMGFkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wZXJsL2xpYnhtbC1zYXgtcGVybF8xLjAwLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BlcmwvbGlieG1sLXNheC1wZXJsXzEuMDAuYmIKQEAgLTI5LDQgKzI5LDQgQEAKIAljaG93biAtUiByb290OnJvb3QgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdGZpbGVzCiB9CiAKLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcHNtaXNjL3BzbWlzYy8wMDAxLVVzZS1VSU5UUFRSX01BWC1pbnN0ZWFkLW9mLV9fV09SRFNJWkUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjLzAwMDEtVXNlLVVJTlRQVFJfTUFYLWluc3RlYWQtb2YtX19XT1JEU0laRS5wYXRjaAppbmRleCBiNTdhMDA2Li5jYTEzYmRiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjLzAwMDEtVXNlLVVJTlRQVFJfTUFYLWluc3RlYWQtb2YtX19XT1JEU0laRS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjLzAwMDEtVXNlLVVJTlRQVFJfTUFYLWluc3RlYWQtb2YtX19XT1JEU0laRS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNWRjODcyYmIyZmJhNjQyMWNiOGUxZWU1NzhmN2JkNGFhZWQ1NWY2MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTE1ZmNmMWRhZmYxOGFhMmYyZTEzMGQ2MzcwNGYwNDAzMTg3OGRiMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBUaHUsIDI0IE1hciAyMDE2IDE1OjQ2OjE0ICswMDAwCiBTdWJqZWN0OiBbUEFUQ0hdIFVzZSBVSU5UUFRSX01BWCBpbnN0ZWFkIG9mIF9fV09SRFNJWkUKQEAgLTcsMTQgKzcsMTMgQEAKIHB0X3JlZ3Mgc3RydWN0IGZyb20ga2VybmVsIEFQSXMgaW4gYXNtL3B0cmFjZS5oCiAKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCistLS0KICBzcmMvcGVla2ZkLmMgfCAxMyArKysrKysrKy0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3NyYy9wZWVrZmQuYyBiL3NyYy9wZWVrZmQuYwotaW5kZXggY2JhMjEzMC4uMGQzOTg3OCAxMDA2NDQKK2luZGV4IDVhYTk5MGEuLjdlOGUzZmMgMTAwNjQ0CiAtLS0gYS9zcmMvcGVla2ZkLmMKICsrKyBiL3NyYy9wZWVrZmQuYwogQEAgLTMwLDggKzMwLDExIEBACkBAIC0yOCw4ICsyNyw4IEBACiArI2luY2x1ZGUgPHN0ZGludC5oPgogICNpbmNsdWRlIDxnZXRvcHQuaD4KICAjaW5jbHVkZSA8Y3R5cGUuaD4KLSAKLUBAIC0yMjgsMTEgKzIzMSwxMSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgI2luY2x1ZGUgPGRpcmVudC5oPgorQEAgLTI2NiwxMSArMjY5LDExIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAJCWlmIChXSUZTVE9QUEVEKHN0YXR1cykpIHsKICAjaWZkZWYgUFBDCiAgCQkJc3RydWN0IHB0X3JlZ3MgcmVnczsKQEAgLTQ2LDYgKzQ1LDMgQEAKICAjZWxpZiBkZWZpbmVkKEFSTSkKICAJCQlzdHJ1Y3QgcHRfcmVncyByZWdzOwogIAkJCXB0cmFjZShQVFJBQ0VfR0VUUkVHUywgcGlkLCAwLCAmcmVncyk7Ci0tLSAKLTEuOS4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BzbWlzYy9wc21pc2NfMjMuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BzbWlzYy9wc21pc2NfMjMuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjA3YzlkYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjXzIzLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1yZXF1aXJlIHBzbWlzYy5pbmMKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRsYWIuY29tL3BzbWlzYy9wc21pc2MuZ2l0O3Byb3RvY29sPWh0dHBzIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLVVJTlRQVFJfTUFYLWluc3RlYWQtb2YtX19XT1JEU0laRS5wYXRjaCBcCi0JICAgZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tY3JlYXRlLXNyYy1kaXJlY3RvcnktYmVmb3JlLWF0dGVtcHRpbmctdC5wYXRjaMKgXAotICAgICAgICAgICAiCi1TUkNSRVYgPSAiYmQ5NTJiMzA2M2YyNDY2ZWNhYjRlYzA5MzAyNmNmMGM0Y2UzNzNjNyIKLVMgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjXzIzLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjXzIzLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzhlMGE0NAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BzbWlzYy9wc21pc2NfMjMuMi5iYgpAQCAtMCwwICsxLDEwIEBACityZXF1aXJlIHBzbWlzYy5pbmMKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRsYWIuY29tL3BzbWlzYy9wc21pc2MuZ2l0O3Byb3RvY29sPWh0dHBzIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLVVJTlRQVFJfTUFYLWluc3RlYWQtb2YtX19XT1JEU0laRS5wYXRjaCBcCisJICAgZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tY3JlYXRlLXNyYy1kaXJlY3RvcnktYmVmb3JlLWF0dGVtcHRpbmctdC5wYXRjaMKgXAorICAgICAgICAgICAiCitTUkNSRVYgPSAiNDRlYWI5YTNhNjMzOTRlYWU2Yjc5YTdlZjBhMDQyZjU3ZTBjOGE4ZiIKK1MgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmQvMDAwMS1ycGNiaW5kLXBhaXItYWxsLXN2Y19nZXRhcmdzLWNhbGxzLXdpdGgtc3ZjX2ZyZWVhcmdzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcnBjYmluZC9ycGNiaW5kLzAwMDEtcnBjYmluZC1wYWlyLWFsbC1zdmNfZ2V0YXJncy1jYWxscy13aXRoLXN2Y19mcmVlYXJncy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmY3YWFlZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmQvMDAwMS1ycGNiaW5kLXBhaXItYWxsLXN2Y19nZXRhcmdzLWNhbGxzLXdpdGgtc3ZjX2ZyZWVhcmdzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjIxICswLDAgQEAKLUZyb20gN2VhMzZlZWVjZTU2YjU5Zjk4ZTQ2OTkzNGU0YzIwYjRkYTA0MzM0NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERvcmFuIE1vcHBlcnQgPGRtb3BwZXJ0QHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDExIE1heSAyMDE3IDExOjQyOjU0IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJwY2JpbmQ6IHBhaXIgYWxsIHN2Y19nZXRhcmdzKCkgY2FsbHMgd2l0aCBzdmNfZnJlZWFyZ3MoKSB0bwotIGF2b2lkIG1lbW9yeSBsZWFrCi0KLVRoaXMgcGF0Y2ggaXMgdG8gYWRkcmVzcyBDVkUtMjAxNy04Nzc5ICJycGNib21iIiBpbiBycGNiaW5kLCBkaXNjdXNzZWQKLWF0IFsxXSwgWzJdLCBbM10uICBUaGUgbGFzdCBsaW5rIHN1Z2dlc3RzIHRoaXMgaXNzdWUgaXMgYWN0dWFsbHkgYSBidWcKLWluIHJwY2JpbmQsIHdoaWNoIGxlZCBtZSBoZXJlLgotCi1UaGUgbGVhayBjYXVzZWQgYnkgdGhlIHJlcHJvZHVjZXIgYXQgWzRdIGFwcGVhcnMgdG8gY29tZSBmcm9tCi1ycGNiX3NlcnZpY2VfNCgpLCBpbiB0aGUgY2FzZSB3aGVyZSBzdmNfZ2V0YXJncygpIHJldHVybnMgZmFsc2UgYW5kIHRoZQotZnVuY3Rpb24gaGFkIGFuIGVhcmx5IHJldHVybiwgcmF0aGVyIHRoYW4gcGFzc2luZyB0aHJvdWdoIHRoZSBjbGVhbnVwCi1wYXRoIGF0IGRvbmU6LCBhcyB3b3VsZCBvdGhlcndpc2Ugb2NjdXIuCi0KLUl0IGFsc28gYWRkcmVzc2VzIGEgY291cGxlIG9mIG90aGVyIGxvY2F0aW9ucyB3aGVyZSB0aGUgc2FtZSBmYXVsdCBzZWVtcwotdG8gZXhpc3QsIHRob3VnaCBJIGhhdmVuJ3QgYmVlbiBhYmxlIHRvIGV4ZXJjaXNlIHRob3NlLiAgSSBob3BlIHNvbWVvbmUKLW1vcmUgaW50aW1hdGUgd2l0aCBycGMoMykgY2FuIGNvbmZpcm0gbXkgdW5kZXJzdGFuZGluZyBpcyBjb3JyZWN0LCBhbmQKLXRoYXQgSSBoYXZlbid0IGludHJvZHVjZWQgYW55IG5ldyBidWdzLgotCi1XaXRob3V0IHRoaXMgcGF0Y2gsIHVzaW5nIHRoZSByZXByb2R1Y2VyIChhbmQgdmFyaWFudHMpIHJlcGVhdGVkbHkKLWFnYWluc3QgcnBjYmluZCB3aXRoIGEgbnVtQnl0ZXMgYXJndW1lbnQgb2YgMV8wMDBfMDAwXzAwMCwgL3Byb2MvJChwaWRvZgotcnBjYmluZCkvc3RhdHVzIHJlcG9ydHMgVm1TaXplIGluY3JlYXNlIG9mIDk3NjU2NCBrQiBlYWNoIGNhbGwsIGFuZAotVm1SU1MgaW5jcmVhc2Ugb2YgYXJvdW5kIDI2MCBrQiBldmVyeSAzMyBjYWxscyAtIHRoZSBzcGVjaWZpYyBudW1iZXJzCi1hcmUgcHJvYmFibHkgYW4gYXJ0aWZhY3Qgb2YgbXkgcmhlbC9nbGliYyB2ZXJzaW9uLiAgV2l0aCB0aGUgcGF0Y2gsCi10aGVyZSBpcyBhIHNtYWxsICh+NTAga0IpIFZtU2l6ZSBpbmNyZWFzZSB3aXRoIHRoZSBmaXJzdCBtZXNzYWdlLCBidXQKLXRoZXJlYWZ0ZXIgYm90aCBWbVNpemUgYW5kIFZtUlNTIHJlbWFpbiBzdGVhZHkuCi0KLVsxXTogaHR0cDovL3NlY2xpc3RzLm9yZy9vc3Mtc2VjLzIwMTcvcTIvMjA5Ci1bMl06IGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODEyNAotWzNdOiBodHRwczovL3NvdXJjZXdhcmUub3JnL21sL2xpYmMtYWxwaGEvMjAxNy0wNS9tc2cwMDEyOS5odG1sCi1bNF06IGh0dHBzOi8vZ2l0aHViLmNvbS9ndWlkb3ZyYW5rZW4vcnBjYm9tYi8KLQotCi1DVkU6IENWRS0yMDE3LTg3NzkKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogRmFuIFhpbiA8ZmFuLnhpbkBqcC5mdWppdHN1LmNvbT4KLS0tLQotIHNyYy9wbWFwX3N2Yy5jICAgICB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQotIHNyYy9ycGNiX3N2Yy5jICAgICB8ICAyICstCi0gc3JjL3JwY2Jfc3ZjXzQuYyAgIHwgIDIgKy0KLSBzcmMvcnBjYl9zdmNfY29tLmMgfCAgOCArKysrKysrKwotIDQgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvcG1hcF9zdmMuYyBiL3NyYy9wbWFwX3N2Yy5jCi1pbmRleCA0Yzc0NGZlLi5lOTI2Y2RjIDEwMDY0NAotLS0tIGEvc3JjL3BtYXBfc3ZjLmMKLSsrKyBiL3NyYy9wbWFwX3N2Yy5jCi1AQCAtMTc1LDYgKzE3NSw3IEBAIHBtYXBwcm9jX2NoYW5nZShzdHJ1Y3Qgc3ZjX3JlcSAqcnFzdHAgLypfX3VudXNlZCovLCBTVkNYUFJUICp4cHJ0LCB1bnNpZ25lZCBsb25nCi0gCWxvbmcgYW5zOwotIAl1aWRfdCB1aWQ7Ci0gCWNoYXIgdWlkYnVmWzMyXTsKLSsJaW50IHJjID0gVFJVRTsKLSAKLSAJLyoKLSAJICogQ2FuJ3QgdXNlIGdldHB3bmFtIGhlcmUuIFdlIG1pZ2h0IGVuZCB1cCBjYWxsaW5nIG91cnNlbHZlcwotQEAgLTE5NCw3ICsxOTUsOCBAQCBwbWFwcHJvY19jaGFuZ2Uoc3RydWN0IHN2Y19yZXEgKnJxc3RwIC8qX191bnVzZWQqLywgU1ZDWFBSVCAqeHBydCwgdW5zaWduZWQgbG9uZwotIAotIAlpZiAoIXN2Y19nZXRhcmdzKHhwcnQsICh4ZHJwcm9jX3QpIHhkcl9wbWFwLCAoY2hhciAqKSZyZWcpKSB7Ci0gCQlzdmNlcnJfZGVjb2RlKHhwcnQpOwotLQkJcmV0dXJuIChGQUxTRSk7Ci0rCQlyYyA9IEZBTFNFOwotKwkJZ290byBkb25lOwotIAl9Ci0gI2lmZGVmIFJQQ0JJTkRfREVCVUcKLSAJaWYgKGRlYnVnZ2luZykKLUBAIC0yMDUsNyArMjA3LDggQEAgcG1hcHByb2NfY2hhbmdlKHN0cnVjdCBzdmNfcmVxICpycXN0cCAvKl9fdW51c2VkKi8sIFNWQ1hQUlQgKnhwcnQsIHVuc2lnbmVkIGxvbmcKLSAKLSAJaWYgKCFjaGVja19hY2Nlc3MoeHBydCwgb3AsIHJlZy5wbV9wcm9nLCBQTUFQVkVSUykpIHsKLSAJCXN2Y2Vycl93ZWFrYXV0aCh4cHJ0KTsKLS0JCXJldHVybiAoRkFMU0UpOwotKwkJcmMgPSAoRkFMU0UpOwotKwkJZ290byBkb25lOwotIAl9Ci0gCi0gCXJwY2JyZWcucl9wcm9nID0gcmVnLnBtX3Byb2c7Ci1AQCAtMjU4LDcgKzI2MSwxNiBAQCBkb25lX2NoYW5nZToKLSAJCXJwY2JzX3NldChSUENCVkVSU18yX1NUQVQsIGFucyk7Ci0gCWVsc2UKLSAJCXJwY2JzX3Vuc2V0KFJQQ0JWRVJTXzJfU1RBVCwgYW5zKTsKLS0JcmV0dXJuIChUUlVFKTsKLStkb25lOgotKwlpZiAoIXN2Y19mcmVlYXJncyh4cHJ0LCAoeGRycHJvY190KSB4ZHJfcG1hcCwgKGNoYXIgKikmcmVnKSkgewotKwkJaWYgKGRlYnVnZ2luZykgewotKwkJCS8qKHZvaWQpIHhsb2coTE9HX0RFQlVHLCAidW5hYmxlIHRvIGZyZWUgYXJndW1lbnRzXG4iKTsqLwotKwkJCWlmIChkb2Fib3J0KSB7Ci0rCQkJCXJwY2JpbmRfYWJvcnQoKTsKLSsJCQl9Ci0rCQl9Ci0rCX0KLSsJcmV0dXJuIChyYyk7Ci0gfQotIAotIC8qIEFSR1NVU0VEICovCi1AQCAtMjcyLDE1ICsyODQsMTggQEAgcG1hcHByb2NfZ2V0cG9ydChzdHJ1Y3Qgc3ZjX3JlcSAqcnFzdHAgLypfX3VudXNlZCovLCBTVkNYUFJUICp4cHJ0KQotICNpZmRlZiBSUENCSU5EX0RFQlVHCi0gCWNoYXIgKnVhZGRyOwotICNlbmRpZgotKwlpbnQgcmMgPSBUUlVFOwotIAotIAlpZiAoIXN2Y19nZXRhcmdzKHhwcnQsICh4ZHJwcm9jX3QpIHhkcl9wbWFwLCAoY2hhciAqKSZyZWcpKSB7Ci0gCQlzdmNlcnJfZGVjb2RlKHhwcnQpOwotLQkJcmV0dXJuIChGQUxTRSk7Ci0rCQlyYyA9IEZBTFNFOwotKwkJZ290byBkb25lOwotIAl9Ci0gCi0gCWlmICghY2hlY2tfYWNjZXNzKHhwcnQsIFBNQVBQUk9DX0dFVFBPUlQsIHJlZy5wbV9wcm9nLCBQTUFQVkVSUykpIHsKLSAJCXN2Y2Vycl93ZWFrYXV0aCh4cHJ0KTsKLS0JCXJldHVybiBGQUxTRTsKLSsJCXJjID0gRkFMU0U7Ci0rCQlnb3RvIGRvbmU7Ci0gCX0KLSAKLSAjaWZkZWYgUlBDQklORF9ERUJVRwotQEAgLTMzMCwyMSArMzQ1LDM0IEBAIHBtYXBwcm9jX2dldHBvcnQoc3RydWN0IHN2Y19yZXEgKnJxc3RwIC8qX191bnVzZWQqLywgU1ZDWFBSVCAqeHBydCkKLSAJCXBtYXBfaXBwcm90Mm5ldGlkKHJlZy5wbV9wcm90KSA/OiAiPHVua25vd24+IiwKLSAJCXBvcnQgPyB1ZHB0cmFucyA6ICIiKTsKLSAKLS0JcmV0dXJuIChUUlVFKTsKLStkb25lOgotKwlpZiAoIXN2Y19mcmVlYXJncyh4cHJ0LCAoeGRycHJvY190KSB4ZHJfcG1hcCwgKGNoYXIgKikmcmVnKSkgewotKwkJaWYgKGRlYnVnZ2luZykgewotKwkJCS8qICh2b2lkKSB4bG9nKExPR19ERUJVRywgInVuYWJsZSB0byBmcmVlIGFyZ3VtZW50c1xuIik7Ki8KLSsJCQlpZiAoZG9hYm9ydCkgewotKwkJCQlycGNiaW5kX2Fib3J0KCk7Ci0rCQkJfQotKwkJfQotKwl9Ci0rCXJldHVybiAocmMpOwotIH0KLSAKLSAvKiBBUkdTVVNFRCAqLwotIHN0YXRpYyBib29sX3QKLSBwbWFwcHJvY19kdW1wKHN0cnVjdCBzdmNfcmVxICpycXN0cCAvKl9fdW51c2VkKi8sIFNWQ1hQUlQgKnhwcnQpCi0gewotKwlpbnQgcmMgPSBUUlVFOwotKwotIAlpZiAoIXN2Y19nZXRhcmdzKHhwcnQsICh4ZHJwcm9jX3QpeGRyX3ZvaWQsIE5VTEwpKSB7Ci0gCQlzdmNlcnJfZGVjb2RlKHhwcnQpOwotLQkJcmV0dXJuIChGQUxTRSk7Ci0rCQlyYyA9IEZBTFNFOwotKwkJZ290byBkb25lOwotIAl9Ci0gCi0gCWlmICghY2hlY2tfYWNjZXNzKHhwcnQsIFBNQVBQUk9DX0RVTVAsIDAsIFBNQVBWRVJTKSkgewotIAkJc3ZjZXJyX3dlYWthdXRoKHhwcnQpOwotLQkJcmV0dXJuIEZBTFNFOwotKwkJcmMgPSBGQUxTRTsKLSsJCWdvdG8gZG9uZTsKLSAJfQotIAkKLSAJaWYgKCghc3ZjX3NlbmRyZXBseSh4cHJ0LCAoeGRycHJvY190KSB4ZHJfcG1hcGxpc3RfcHRyLAotQEAgLTM1NCw3ICszODIsMTcgQEAgcG1hcHByb2NfZHVtcChzdHJ1Y3Qgc3ZjX3JlcSAqcnFzdHAgLypfX3VudXNlZCovLCBTVkNYUFJUICp4cHJ0KQotIAkJCXJwY2JpbmRfYWJvcnQoKTsKLSAJCX0KLSAJfQotLQlyZXR1cm4gKFRSVUUpOwotKwotK2RvbmU6Ci0rCWlmICghc3ZjX2ZyZWVhcmdzKHhwcnQsICh4ZHJwcm9jX3QpIHhkcl9wbWFwLCAoY2hhciAqKU5VTEwpKSB7Ci0rCQlpZiAoZGVidWdnaW5nKSB7Ci0rCQkJLyoodm9pZCkgeGxvZyhMT0dfREVCVUcsICJ1bmFibGUgdG8gZnJlZSBhcmd1bWVudHNcbiIpOyovCi0rCQkJaWYgKGRvYWJvcnQpIHsKLSsJCQkJcnBjYmluZF9hYm9ydCgpOwotKwkJCX0KLSsJCX0KLSsJfQotKwlyZXR1cm4gKHJjKTsKLSB9Ci0gCi0gaW50IHBtYXBfbmV0aWQyaXBwcm90KGNvbnN0IGNoYXIgKm5ldGlkKQotZGlmZiAtLWdpdCBhL3NyYy9ycGNiX3N2Yy5jIGIvc3JjL3JwY2Jfc3ZjLmMKLWluZGV4IDcwOWUzZmIuLjA5MWY1MzAgMTAwNjQ0Ci0tLS0gYS9zcmMvcnBjYl9zdmMuYwotKysrIGIvc3JjL3JwY2Jfc3ZjLmMKLUBAIC0xNjYsNyArMTY2LDcgQEAgcnBjYl9zZXJ2aWNlXzMoc3RydWN0IHN2Y19yZXEgKnJxc3RwLCBTVkNYUFJUICp0cmFuc3ApCi0gCQlzdmNlcnJfZGVjb2RlKHRyYW5zcCk7Ci0gCQlpZiAoZGVidWdnaW5nKQotIAkJCSh2b2lkKSB4bG9nKExPR19ERUJVRywgInJwY2JpbmQ6IGNvdWxkIG5vdCBkZWNvZGUiKTsKLS0JCXJldHVybjsKLSsJCWdvdG8gZG9uZTsKLSAJfQotIAotIAlpZiAocnFzdHAtPnJxX3Byb2MgPT0gUlBDQlBST0NfU0VUCi1kaWZmIC0tZ2l0IGEvc3JjL3JwY2Jfc3ZjXzQuYyBiL3NyYy9ycGNiX3N2Y180LmMKLWluZGV4IDUwOTQ4NzkuLmVlYmJiYmUgMTAwNjQ0Ci0tLS0gYS9zcmMvcnBjYl9zdmNfNC5jCi0rKysgYi9zcmMvcnBjYl9zdmNfNC5jCi1AQCAtMjE4LDcgKzIxOCw3IEBAIHJwY2Jfc2VydmljZV80KHN0cnVjdCBzdmNfcmVxICpycXN0cCwgU1ZDWFBSVCAqdHJhbnNwKQotIAkJc3ZjZXJyX2RlY29kZSh0cmFuc3ApOwotIAkJaWYgKGRlYnVnZ2luZykKLSAJCQkodm9pZCkgeGxvZyhMT0dfREVCVUcsICJycGNiaW5kOiBjb3VsZCBub3QgZGVjb2RlXG4iKTsKLS0JCXJldHVybjsKLSsJCWdvdG8gZG9uZTsKLSAJfQotIAotIAlpZiAocnFzdHAtPnJxX3Byb2MgPT0gUlBDQlBST0NfU0VUCi1kaWZmIC0tZ2l0IGEvc3JjL3JwY2Jfc3ZjX2NvbS5jIGIvc3JjL3JwY2Jfc3ZjX2NvbS5jCi1pbmRleCA1ODYyYzI2Li5jYjYzYWZkIDEwMDY0NAotLS0tIGEvc3JjL3JwY2Jfc3ZjX2NvbS5jCi0rKysgYi9zcmMvcnBjYl9zdmNfY29tLmMKLUBAIC05MjcsNiArOTI3LDE0IEBAIGVycm9yOgotIAlpZiAoY2FsbF9tc2cucm1feGlkICE9IDApCi0gCQkodm9pZCkgZnJlZV9zbG90X2J5X3hpZChjYWxsX21zZy5ybV94aWQpOwotIG91dDoKLSsJaWYgKCFzdmNfZnJlZWFyZ3ModHJhbnNwLCAoeGRycHJvY190KSB4ZHJfcm10Y2FsbF9hcmdzLCAoY2hhciAqKSAmYSkpIHsKLSsJCWlmIChkZWJ1Z2dpbmcpIHsKLSsJCQkodm9pZCkgeGxvZyhMT0dfREVCVUcsICJ1bmFibGUgdG8gZnJlZSBhcmd1bWVudHNcbiIpOwotKwkJCWlmIChkb2Fib3J0KSB7Ci0rCQkJCXJwY2JpbmRfYWJvcnQoKTsKLSsJCQl9Ci0rCQl9Ci0rCX0KLSAJaWYgKGxvY2FsX3VhZGRyKQotIAkJZnJlZShsb2NhbF91YWRkcik7Ci0gCWlmIChidWZfYWxsb2MpCi0tLSAKLTEuOS4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZC9wbWFwcHJvY19kdW1wLUZpeGVkLXR5cG8taW4tbWVtb3J5LWxlYWstcGF0Y2gucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmQvcG1hcHByb2NfZHVtcC1GaXhlZC10eXBvLWluLW1lbW9yeS1sZWFrLXBhdGNoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzIzZWUwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZC9wbWFwcHJvY19kdW1wLUZpeGVkLXR5cG8taW4tbWVtb3J5LWxlYWstcGF0Y2gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1Gcm9tIGM0OWE3ZWE2MzllYjcwMDgyM2UxNzRmZDYwNWJiYmUxODNlMjI5YWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTdGV2ZSBEaWNrc29uIDxzdGV2ZWRAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMTcgTWF5IDIwMTcgMTA6NTI6MjUgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gcG1hcHByb2NfZHVtcDogRml4ZWQgdHlwbyBpbiBtZW1vcnkgbGVhayBwYXRjaAotCi1jb21taXQgN2VhMzZlZWUgaW50cm9kdWNlIGEgdHlwbyB0aGF0IGNhdXNlZAotTklTIChha2EgeXBiaW5kKSB0byBmYWlsLgotCi1TaWduZWQtb2ZmLWJ5OiBTdGV2ZSBEaWNrc29uIDxzdGV2ZWRAcmVkaGF0LmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL3BtYXBfc3ZjLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLUluZGV4OiBycGNiaW5kLTAuMi40L3NyYy9wbWFwX3N2Yy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcnBjYmluZC0wLjIuNC5vcmlnL3NyYy9wbWFwX3N2Yy5jCi0rKysgcnBjYmluZC0wLjIuNC9zcmMvcG1hcF9zdmMuYwotQEAgLTM4NCw3ICszODQsNyBAQCBwbWFwcHJvY19kdW1wKHN0cnVjdCBzdmNfcmVxICpycXN0cCAvKl9fCi0gCX0KLSAKLSBkb25lOgotLQlpZiAoIXN2Y19mcmVlYXJncyh4cHJ0LCAoeGRycHJvY190KSB4ZHJfcG1hcCwgKGNoYXIgKilOVUxMKSkgewotKwlpZiAoIXN2Y19mcmVlYXJncyh4cHJ0LCAoeGRycHJvY190KSB4ZHJfdm9pZCwgKGNoYXIgKilOVUxMKSkgewotIAkJaWYgKGRlYnVnZ2luZykgewotIAkJCS8qKHZvaWQpIHhsb2coTE9HX0RFQlVHLCAidW5hYmxlIHRvIGZyZWUgYXJndW1lbnRzXG4iKTsqLwotIAkJCWlmIChkb2Fib3J0KSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmQvcnBjYnByb2NfY2FsbGl0X2NvbS1TdG9wLWZyZWVpbmctYS1zdGF0aWMtcG9pbnRlci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZC9ycGNicHJvY19jYWxsaXRfY29tLVN0b3AtZnJlZWluZy1hLXN0YXRpYy1wb2ludGVyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTAwMGQwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZC9ycGNicHJvY19jYWxsaXRfY29tLVN0b3AtZnJlZWluZy1hLXN0YXRpYy1wb2ludGVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLUZyb20gN2M3NTkwYWQ1MzZjMGUyNGJlZjc5MGNiMWU2NTcwMmZjNTRkYjU2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXZlIERpY2tzb24gPHN0ZXZlZEByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAzMCBNYXkgMjAxNyAxMToyNzoyMiAtMDQwMAotU3ViamVjdDogW1BBVENIXSBycGNicHJvY19jYWxsaXRfY29tOiBTdG9wIGZyZWVpbmcgYSBzdGF0aWMgcG9pbnRlcgotCi1jb21taXQgN2VhMzZlZSBpbnRyb2R1Y2VkIGEgc3ZjX2ZyZWVhcmdzKCkgY2FsbAotdGhhdCBlbmRlZCB1cCBmcmVlaW5nIHN0YXRpYyBwb2ludGVyLgotCi1JdCB0dXJucyBvdXQgdGhlIGFsbG9jYXRpb25zIGZvciB0aGUgcm10X2FyZ3MKLWlzIG5vdCBuZWNlc3NhcnkgLiBUaGUgeGRyIHJvdXRpbmVzICh4ZHJfYnl0ZXMpIHdpbGwKLWhhbmRsZSB0aGUgbWVtb3J5IG1hbmFnZW1lbnQgYW5kIHRoZSBsYXJnZXN0Ci1wb3NzaWJsZSBtZXNzYWdlIHNpemUgaXMgVURQTVNHU0laRSAoZHVlIHRvIFVEUCBvbmx5KQotd2hpY2ggaXMgc21hbGxlciB0aGFuIFJQQ19CVUZfTUFYCi0KLVNpZ25lZC1vZmYtYnk6IFN0ZXZlIERpY2tzb24gPHN0ZXZlZEByZWRoYXQuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvcnBjYl9zdmNfY29tLmMgfCAzOSArKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9ycGNiX3N2Y19jb20uYyBiL3NyYy9ycGNiX3N2Y19jb20uYwotaW5kZXggY2I2M2FmZC4uMWZjMjIyOSAxMDA2NDQKLS0tLSBhL3NyYy9ycGNiX3N2Y19jb20uYwotKysrIGIvc3JjL3JwY2Jfc3ZjX2NvbS5jCi1AQCAtNjEyLDkgKzYxMiw5IEBAIHJwY2Jwcm9jX2NhbGxpdF9jb20oc3RydWN0IHN2Y19yZXEgKnJxc3RwLCBTVkNYUFJUICp0cmFuc3AsCi0gCXN0cnVjdCBuZXRjb25maWcgKm5jb25mOwotIAlzdHJ1Y3QgbmV0YnVmICpjYWxsZXI7Ci0gCXN0cnVjdCByX3JtdGNhbGxfYXJncyBhOwotLQljaGFyICpidWZfYWxsb2MgPSBOVUxMLCAqb3V0YnVmcDsKLSsJY2hhciAqb3V0YnVmcDsKLSAJY2hhciAqb3V0YnVmX2FsbG9jID0gTlVMTDsKLS0JY2hhciBidWZbUlBDX0JVRl9NQVhdLCBvdXRidWZbUlBDX0JVRl9NQVhdOwotKwljaGFyICBvdXRidWZbUlBDX0JVRl9NQVhdOwotIAlzdHJ1Y3QgbmV0YnVmICpuYSA9IChzdHJ1Y3QgbmV0YnVmICopIE5VTEw7Ci0gCXN0cnVjdCBycGNfbXNnIGNhbGxfbXNnOwotIAlpbnQgb3V0bGVuOwotQEAgLTYzNSwzNiArNjM1LDEwIEBAIHJwY2Jwcm9jX2NhbGxpdF9jb20oc3RydWN0IHN2Y19yZXEgKnJxc3RwLCBTVkNYUFJUICp0cmFuc3AsCi0gCX0KLSAJaWYgKHNpLnNpX3NvY2t0eXBlICE9IFNPQ0tfREdSQU0pCi0gCQlyZXR1cm47CS8qIE9ubHkgZGF0YWdyYW0gdHlwZSBhY2NlcHRlZCAqLwotLQlzZW5kc3ogPSBfX3JwY19nZXRfdF9zaXplKHNpLnNpX2FmLCBzaS5zaV9wcm90bywgVURQTVNHU0laRSk7Ci0tCWlmIChzZW5kc3ogPT0gMCkgewkvKiBkYXRhIHRyYW5zZmVyIG5vdCBzdXBwb3J0ZWQgKi8KLS0JCWlmIChyZXBseV90eXBlID09IFJQQ0JQUk9DX0lORElSRUNUKQotLQkJCXN2Y2Vycl9zeXN0ZW1lcnIodHJhbnNwKTsKLS0JCXJldHVybjsKLS0JfQotLQkvKgotLQkgKiBTaG91bGQgYmUgbXVsdGlwbGUgb2YgNCBmb3IgWERSLgotLQkgKi8KLS0Jc2VuZHN6ID0gKChzZW5kc3ogKyAzKSAvIDQpICogNDsKLS0JaWYgKHNlbmRzeiA+IFJQQ19CVUZfTUFYKSB7Ci0tI2lmZGVmCW5vdHlldAotLQkJYnVmX2FsbG9jID0gYWxsb2NhKHNlbmRzeik7CQkvKiBub3QgaW4gSURSMj8gKi8KLS0jZWxzZQotLQkJYnVmX2FsbG9jID0gbWFsbG9jKHNlbmRzeik7Ci0tI2VuZGlmCS8qIG5vdHlldCAqLwotLQkJaWYgKGJ1Zl9hbGxvYyA9PSBOVUxMKSB7Ci0tCQkJaWYgKGRlYnVnZ2luZykKLS0JCQkJeGxvZyhMT0dfREVCVUcsCi0tCQkJCQkicnBjYnByb2NfY2FsbGl0X2NvbTogIE5vIE1lbW9yeSFcbiIpOwotLQkJCWlmIChyZXBseV90eXBlID09IFJQQ0JQUk9DX0lORElSRUNUKQotLQkJCQlzdmNlcnJfc3lzdGVtZXJyKHRyYW5zcCk7Ci0tCQkJcmV0dXJuOwotLQkJfQotLQkJYS5ybXRfYXJncy5hcmdzID0gYnVmX2FsbG9jOwotLQl9IGVsc2UgewotLQkJYS5ybXRfYXJncy5hcmdzID0gYnVmOwotLQl9Ci0rCXNlbmRzeiA9IFVEUE1TR1NJWkU7Ci0gCi0gCWNhbGxfbXNnLnJtX3hpZCA9IDA7CS8qIEZvciBlcnJvciBjaGVja2luZyBwdXJwb3NlcyAqLwotKwltZW1zZXQoJmEsIDAsIHNpemVvZihhKSk7IC8qIFplcm8gb3V0IHRoZSBpbnB1dCBidWZmZXIgKi8KLSAJaWYgKCFzdmNfZ2V0YXJncyh0cmFuc3AsICh4ZHJwcm9jX3QpIHhkcl9ybXRjYWxsX2FyZ3MsIChjaGFyICopICZhKSkgewotIAkJaWYgKHJlcGx5X3R5cGUgPT0gUlBDQlBST0NfSU5ESVJFQ1QpCi0gCQkJc3ZjZXJyX2RlY29kZSh0cmFuc3ApOwotQEAgLTcwNCw3ICs2NzgsOCBAQCBycGNicHJvY19jYWxsaXRfY29tKHN0cnVjdCBzdmNfcmVxICpycXN0cCwgU1ZDWFBSVCAqdHJhbnNwLAotIAlpZiAocmJsID09IChycGNibGlzdF9wdHIpTlVMTCkgewotICNpZmRlZiBSUENCSU5EX0RFQlVHCi0gCQlpZiAoZGVidWdnaW5nKQotLQkJCXhsb2coTE9HX0RFQlVHLCAibm90IGZvdW5kXG4iKTsKLSsJCQl4bG9nKExPR19ERUJVRywgInByb2cgJWx1IHZlcnMgJWx1OiBub3QgZm91bmRcbiIsIAotKwkJCQlhLnJtdF9wcm9nLCBhLnJtdF92ZXJzKTsKLSAjZW5kaWYKLSAJCWlmIChyZXBseV90eXBlID09IFJQQ0JQUk9DX0lORElSRUNUKQotIAkJCXN2Y2Vycl9ub3Byb2codHJhbnNwKTsKLUBAIC05MzcsOCArOTEyLDYgQEAgb3V0OgotIAl9Ci0gCWlmIChsb2NhbF91YWRkcikKLSAJCWZyZWUobG9jYWxfdWFkZHIpOwotLQlpZiAoYnVmX2FsbG9jKQotLQkJZnJlZShidWZfYWxsb2MpOwotIAlpZiAob3V0YnVmX2FsbG9jKQotIAkJZnJlZShvdXRidWZfYWxsb2MpOwotIAlpZiAobmEpIHsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcnBjYmluZC9ycGNiaW5kXzAuMi40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcnBjYmluZC9ycGNiaW5kXzAuMi40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYzY3NzRjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZF8wLjIuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLVNVTU1BUlkgPSAiVW5pdmVyc2FsIEFkZHJlc3NlcyB0byBSUEMgUHJvZ3JhbSBOdW1iZXIgTWFwcGVyIgotREVTQ1JJUFRJT04gPSAiVGhlIHJwY2JpbmQgdXRpbGl0eSBpcyBhIHNlcnZlciB0aGF0IGNvbnZlcnRzIFJQQyBcCi0gICAgICAgICAgICAgICBwcm9ncmFtIG51bWJlcnMgaW50byB1bml2ZXJzYWwgYWRkcmVzc2VzLiIKLVNFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgotSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9ycGNiaW5kLyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9ncm91cF9pZD0yMDEyMzcmYXRpZD05NzY3NTEiCi1ERVBFTkRTID0gImxpYnRpcnBjIHF1b3RhIgotCi1MSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI0NjQ4NmU0YzRhNDE2NjAyNjkzYTcxMWJiNWJmYTM5IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9ycGNpbmZvLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yNzttZDU9ZjhhOGNkMmNiMjVhYzVhYTE2NzY3MzY0ZmIwZTNjMjQiCi0KLVNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3JwY2JpbmQvcnBjYmluZC0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL2luaXQuZCBcCi0gICAgICAgICAgIGZpbGU6Ly9ycGNiaW5kLmNvbmYgXAotICAgICAgICAgICBmaWxlOi8vcnBjYmluZC5zb2NrZXQgXAotICAgICAgICAgICBmaWxlOi8vcnBjYmluZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtcnBjYmluZC1wYWlyLWFsbC1zdmNfZ2V0YXJncy1jYWxscy13aXRoLXN2Y19mcmVlYXJncy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9wbWFwcHJvY19kdW1wLUZpeGVkLXR5cG8taW4tbWVtb3J5LWxlYWstcGF0Y2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnBjYnByb2NfY2FsbGl0X2NvbS1TdG9wLWZyZWVpbmctYS1zdGF0aWMtcG9pbnRlci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ycGNiaW5kX2FkZF9vcHRpb25fdG9fZml4X3BvcnRfbnVtYmVyLnBhdGNoIFwKLSAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiY2YxMGNkNDFlZDgyMjhmYzU0YzMxNjE5MWMxZjA3ZmUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDc0YTlhNTMwZGM3YzExZTBkOTA1YWE1OWJjYjA4NDdjMDA5MzEzZjAyZTk4ZDNkNzk4YWE5NTY4ZjQxNGM2NiIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZCBwa2djb25maWcKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInRjcC13cmFwcGVycyIKLVBBQ0tBR0VDT05GSUdbdGNwLXdyYXBwZXJzXSA9ICItLWVuYWJsZS1saWJ3cmFwLC0tZGlzYWJsZS1saWJ3cmFwLHRjcC13cmFwcGVycyIKLQotSU5JVFNDUklQVF9OQU1FID0gInJwY2JpbmQiCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCAxMiAyIDMgNCA1IC4gc3RvcCA2MCAwIDEgNiAuIgotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicnBjYmluZC5zZXJ2aWNlIgotCi1pbmhlcml0IHVzZXJhZGQKLQotVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKLVVTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLS1uby1jcmVhdGUtaG9tZSAtLWhvbWUtZGlyIC8gXAotICAgICAgICAgICAgICAgICAgICAgICAtLXNoZWxsIC9iaW4vZmFsc2UgLS11c2VyLWdyb3VwIHJwYyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBkKX0iCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtZCBcCi0iCi0KLUVYVFJBX09FQ09ORiArPSAiIC0tZW5hYmxlLXdhcm1zdGFydHMgLS13aXRoLXJwY3VzZXI9cnBjIgotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0JbXYgJHtEfSR7YmluZGlyfSAke0R9JHtzYmluZGlyfQotCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKLQlzZWQgLWUgJ3MsL2V0Yy8sJHtzeXNjb25mZGlyfS8sZycgXAotCQktZSAncywvc2Jpbi8sJHtzYmluZGlyfS8sZycgXAotCQkke1dPUktESVJ9L2luaXQuZCA+ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9ycGNiaW5kCi0JY2htb2QgMDc1NSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcnBjYmluZAotCi0JaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vcnBjYmluZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9Ci0JaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3JwY2JpbmQuc29ja2V0ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcnBjYmluZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0Jc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKLQkJLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAotCQkke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9ycGNiaW5kLnNlcnZpY2UKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZF8xLjIuNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZF8xLjIuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Yzk2YWNhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcnBjYmluZC9ycGNiaW5kXzEuMi41LmJiCkBAIC0wLDAgKzEsNjEgQEAKK1NVTU1BUlkgPSAiVW5pdmVyc2FsIEFkZHJlc3NlcyB0byBSUEMgUHJvZ3JhbSBOdW1iZXIgTWFwcGVyIgorREVTQ1JJUFRJT04gPSAiVGhlIHJwY2JpbmQgdXRpbGl0eSBpcyBhIHNlcnZlciB0aGF0IGNvbnZlcnRzIFJQQyBcCisgICAgICAgICAgICAgICBwcm9ncmFtIG51bWJlcnMgaW50byB1bml2ZXJzYWwgYWRkcmVzc2VzLiIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9ycGNiaW5kLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9ncm91cF9pZD0yMDEyMzcmYXRpZD05NzY3NTEiCitERVBFTkRTID0gImxpYnRpcnBjIHF1b3RhIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI0NjQ4NmU0YzRhNDE2NjAyNjkzYTcxMWJiNWJmYTM5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9ycGNpbmZvLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yNzttZDU9ZjhhOGNkMmNiMjVhYzVhYTE2NzY3MzY0ZmIwZTNjMjQiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3JwY2JpbmQvcnBjYmluZC0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2luaXQuZCBcCisgICAgICAgICAgIGZpbGU6Ly9ycGNiaW5kLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vcnBjYmluZC5zb2NrZXQgXAorICAgICAgICAgICBmaWxlOi8vcnBjYmluZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3JwY2JpbmRfYWRkX29wdGlvbl90b19maXhfcG9ydF9udW1iZXIucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZDQ2ZjA5YjljMGZhMmQ0OTAxNWY2NDMxYmM1ZWE3YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyY2UzNjA2ODM5NjNiMzVjMTljNDNmMGVlMmM3ZjE4YWE1YjgxZWY0MWMzZmRiZDE1ZmZjYjAwYjhiZmZkYTdhIgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzeXN0ZW1kIHBrZ2NvbmZpZworCitQQUNLQUdFQ09ORklHID8/PSAidGNwLXdyYXBwZXJzIgorUEFDS0FHRUNPTkZJR1t0Y3Atd3JhcHBlcnNdID0gIi0tZW5hYmxlLWxpYndyYXAsLS1kaXNhYmxlLWxpYndyYXAsdGNwLXdyYXBwZXJzIgorCitJTklUU0NSSVBUX05BTUUgPSAicnBjYmluZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDEyIDIgMyA0IDUgLiBzdG9wIDYwIDAgMSA2IC4iCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJycGNiaW5kLnNlcnZpY2UiCisKK2luaGVyaXQgdXNlcmFkZAorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0taG9tZS1kaXIgLyBcCisgICAgICAgICAgICAgICAgICAgICAgIC0tc2hlbGwgL2Jpbi9mYWxzZSAtLXVzZXItZ3JvdXAgcnBjIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsIGQpfSIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpciwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0ZW1kIFwKKyIKKworRVhUUkFfT0VDT05GICs9ICIgLS1lbmFibGUtd2FybXN0YXJ0cyAtLXdpdGgtcnBjdXNlcj1ycGMiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCXNlZCAtZSAncywvZXRjLywke3N5c2NvbmZkaXJ9LyxnJyBcCisJCS1lICdzLC9zYmluLywke3NiaW5kaXJ9LyxnJyBcCisJCSR7V09SS0RJUn0vaW5pdC5kID4gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3JwY2JpbmQKKwljaG1vZCAwNzU1ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9ycGNiaW5kCisKKwlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9ycGNiaW5kLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0KKwlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcnBjYmluZC5zb2NrZXQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ycGNiaW5kLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAorCQktZSAncyxAU1lTQ09ORkRJUkAsJHtzeXNjb25mZGlyfSxnJyBcCisJCSR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3JwY2JpbmQuc2VydmljZQorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L2ZpbGVzLzAwMDEtdXNlcmFkZC1jb3B5LWV4dGVuZGVkLWF0dHJpYnV0ZXMtb2YtaG9tZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9maWxlcy8wMDAxLXVzZXJhZGQtY29weS1leHRlbmRlZC1hdHRyaWJ1dGVzLW9mLWhvbWUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3NGIzYTIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L2ZpbGVzLzAwMDEtdXNlcmFkZC1jb3B5LWV4dGVuZGVkLWF0dHJpYnV0ZXMtb2YtaG9tZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLVN1YmplY3Q6IFtQQVRDSF0gdXNlcmFkZDogY29weSBleHRlbmRlZCBhdHRyaWJ1dGVzIG9mIGhvbWUKLQotVGhlIEhvbWUgZGlyZWN0b3J5IHdhc24ndCBnZXR0aW5nIHRoZSBleHRlbmRlZCBhdHRyaWJ1dGVzCi1vZiAvZXRjL3NrZWwuIFRoaXMgcGF0Y2ggZml4ZXMgdGhhdCBpc3N1ZSBhbmQgYWRkcyB0aGUgY29weQotb2YgdGhlIGV4dGVuZGVkIGF0dHJpYnV0ZXMgb2YgdGhlIHJvb3Qgb2YgdGhlIGhvbWUgZGlyZWN0b3J5LgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSm9zw6kgQm9sbG8gPGpvc2UuYm9sbG9AaW90LmJ6aD4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy91c2VyYWRkLmMgfCA2ICsrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy91c2VyYWRkLmMgYi9zcmMvdXNlcmFkZC5jCi1pbmRleCBlNzIxZTUyLi5jNzRlNDkxIDEwMDY0NAotLS0tIGEvc3JjL3VzZXJhZGQuYwotKysrIGIvc3JjL3VzZXJhZGQuYwotQEAgLTU0LDYgKzU0LDkgQEAKLSAjaW5jbHVkZSA8c3lzL3dhaXQuaD4KLSAjaW5jbHVkZSA8dGltZS5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSsjaWZkZWYgV0lUSF9BVFRSCi0rI2luY2x1ZGUgPGF0dHIvbGliYXR0ci5oPgotKyNlbmRpZgotICNpbmNsdWRlICJjaGtuYW1lLmgiCi0gI2luY2x1ZGUgImRlZmluZXMuaCIKLSAjaW5jbHVkZSAiZmFpbGxvZy5oIgotQEAgLTIwNDIsNiArMjA0NSw5IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZV9ob21lICh2b2lkKQotIAkJKHZvaWQpIGNob3duIChwcmVmaXhfdXNlcl9ob21lLCB1c2VyX2lkLCB1c2VyX2dpZCk7Ci0gCQljaG1vZCAocHJlZml4X3VzZXJfaG9tZSwKLSAJCSAgICAgICAwNzc3ICYgfmdldGRlZl9udW0gKCJVTUFTSyIsIEdFVERFRl9ERUZBVUxUX1VNQVNLKSk7Ci0rI2lmZGVmIFdJVEhfQVRUUgotKwkgICAgICAgICAgICAgICBhdHRyX2NvcHlfZmlsZSAoZGVmX3RlbXBsYXRlLCB1c2VyX2hvbWUsIE5VTEwsIE5VTEwpOwotKyNlbmRpZgotIAkJaG9tZV9hZGRlZCA9IHRydWU7Ci0gI2lmZGVmIFdJVEhfQVVESVQKLSAJCWF1ZGl0X2xvZ2dlciAoQVVESVRfQUREX1VTRVIsIFByb2csCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zaGFkb3cvZmlsZXMvMDAwMS11c2VyYWRkLmMtY3JlYXRlLXBhcmVudC1kaXJlY3Rvcmllcy13aGVuLW5lY2Vzc2FyeS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9maWxlcy8wMDAxLXVzZXJhZGQuYy1jcmVhdGUtcGFyZW50LWRpcmVjdG9yaWVzLXdoZW4tbmVjZXNzYXJ5LnBhdGNoCmluZGV4IDcwMjQxMzYuLmZhYTZmNjggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9maWxlcy8wMDAxLXVzZXJhZGQuYy1jcmVhdGUtcGFyZW50LWRpcmVjdG9yaWVzLXdoZW4tbmVjZXNzYXJ5LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9maWxlcy8wMDAxLXVzZXJhZGQuYy1jcmVhdGUtcGFyZW50LWRpcmVjdG9yaWVzLXdoZW4tbmVjZXNzYXJ5LnBhdGNoCkBAIC00LDExICs0LDExIEBACiAKIFNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KIC0tLQotIHNyYy91c2VyYWRkLmMgfCA4MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKKyBzcmMvdXNlcmFkZC5jIHwgODAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9zcmMvdXNlcmFkZC5jIGIvc3JjL3VzZXJhZGQuYwotaW5kZXggNzIxNGU3Mi4uM2FhZjQ1YyAxMDA2NDQKK2luZGV4IDAwYTNjMzAuLjllY2JiNTggMTAwNjQ0CiAtLS0gYS9zcmMvdXNlcmFkZC5jCiArKysgYi9zcmMvdXNlcmFkZC5jCiBAQCAtMjAyMSw2ICsyMDIxLDM1IEBAIHN0YXRpYyB2b2lkIHVzcl91cGRhdGUgKHZvaWQpCkBAIC00Nyw3ICs0Nyw3IEBACiAgICogY3JlYXRlX2hvbWUgLSBjcmVhdGUgdGhlIHVzZXIncyBob21lIGRpcmVjdG9yeQogICAqCiAgICoJY3JlYXRlX2hvbWUoKSBjcmVhdGVzIHRoZSB1c2VyJ3MgaG9tZSBkaXJlY3RvcnkgaWYgaXQgZG9lcyBub3QKLUBAIC0yMDM4LDQyICsyMDY3LDM5IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZV9ob21lICh2b2lkKQorQEAgLTIwMzgsMzkgKzIwNjcsMzYgQEAgc3RhdGljIHZvaWQgY3JlYXRlX2hvbWUgKHZvaWQpCiAgCQkJZmFpbF9leGl0IChFX0hPTUVESVIpOwogIAkJfQogICNlbmRpZgpAQCAtNzQsMTYgKzc0LDEyIEBACiAtCQkodm9pZCkgY2hvd24gKHByZWZpeF91c2VyX2hvbWUsIHVzZXJfaWQsIHVzZXJfZ2lkKTsKIC0JCWNobW9kIChwcmVmaXhfdXNlcl9ob21lLAogLQkJICAgICAgIDA3NzcgJiB+Z2V0ZGVmX251bSAoIlVNQVNLIiwgR0VUREVGX0RFRkFVTFRfVU1BU0spKTsKKy0JCWhvbWVfYWRkZWQgPSB0cnVlOwogKwkJZmFpbF9leGl0IChFX0hPTUVESVIpOwogKwl9CiArCSh2b2lkKSBjaG93biAocHJlZml4X3VzZXJfaG9tZSwgdXNlcl9pZCwgdXNlcl9naWQpOwogKwljaG1vZCAocHJlZml4X3VzZXJfaG9tZSwKICsJICAgICAgIDA3NzcgJiB+Z2V0ZGVmX251bSAoIlVNQVNLIiwgR0VUREVGX0RFRkFVTFRfVU1BU0spKTsKLSAjaWZkZWYgV0lUSF9BVFRSCi0tCSAgICAgICAgICAgICAgIGF0dHJfY29weV9maWxlIChkZWZfdGVtcGxhdGUsIHVzZXJfaG9tZSwgTlVMTCwgTlVMTCk7Ci0rCWF0dHJfY29weV9maWxlIChkZWZfdGVtcGxhdGUsIHVzZXJfaG9tZSwgTlVMTCwgTlVMTCk7Ci0gI2VuZGlmCi0tCQlob21lX2FkZGVkID0gdHJ1ZTsKICsJaG9tZV9hZGRlZCA9IHRydWU7CiAgI2lmZGVmIFdJVEhfQVVESVQKIC0JCWF1ZGl0X2xvZ2dlciAoQVVESVRfQUREX1VTRVIsIFByb2csCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zaGFkb3cvc2hhZG93LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9zaGFkb3cuaW5jCmluZGV4IDA5YzM3ZWYuLjRkZTIxYWMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9zaGFkb3cuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9zaGFkb3cuaW5jCkBAIC0xMSw3ICsxMSw2IEBACiBVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3NoYWRvdy1tYWludC9zaGFkb3cvcmVsZWFzZXMiCiBTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zaGFkb3ctbWFpbnQvc2hhZG93L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci5neiBcCiAgICAgICAgICAgIGZpbGU6Ly9zaGFkb3ctNC4xLjMtZG90cy1pbi11c2VybmFtZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS11c2VyYWRkLWNvcHktZXh0ZW5kZWQtYXR0cmlidXRlcy1vZi1ob21lLnBhdGNoIFwKICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncGFtJywgJyR7UEFNX1NSQ19VUkl9JywgJycsIGQpfSBcCiAgICAgICAgICAgICIKIApAQCAtNTcsNyArNTYsNyBAQAogTlNDRE9QVCA9ICIiCiBOU0NET1BUX2NsYXNzLW5hdGl2ZSA9ICItLXdpdGhvdXQtbnNjZCIKIE5TQ0RPUFRfY2xhc3MtbmF0aXZlc2RrID0gIi0td2l0aG91dC1uc2NkIgotTlNDRE9QVF9saWJjLWdsaWJjID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGliYy1zcGF3bicsICctLXdpdGgtbnNjZCcsICctLXdpdGhvdXQtbnNjZCcsIGQpfSIKK05TQ0RPUFRfbGliYy1nbGliYyA9ICItLXdpdGgtbnNjZCIKICAgICAgICAgICAKIFBBTV9QTFVHSU5TID0gImxpYnBhbS1ydW50aW1lIFwKICAgICAgICAgICAgICAgIHBhbS1wbHVnaW4tZmFpbGRlbGF5IFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9zaGFkb3dfNC42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L3NoYWRvd180LjYuYmIKaW5kZXggNTY3NWNiOC4uYzk3NTM5NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L3NoYWRvd180LjYuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L3NoYWRvd180LjYuYmIKQEAgLTIsNyArMiw3IEBACiAKICMgQnVpbGQgZmFsc2VseSBhc3N1bWVzIHRoYXQgaWYgLS1lbmFibGUtbGlicGFtIGlzIHNldCwgd2UgZG9uJ3QgbmVlZCB0byBsaW5rIGFnYWluc3QKICMgbGliY3J5cHQuIFRoaXMgYnJlYWtzIGNoc2guCi1CVUlMRF9MREZMQUdTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsaWJjLWNyeXB0JywgICctbGNyeXB0JywgJycsIGQpLCAnJywgZCl9IgorQlVJTERfTERGTEFHU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICctbGNyeXB0JywgJycsIGQpfSIKIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG8uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3Vkby9zdWRvLmluYwppbmRleCA2OWRjY2RlLi45MGYyMDM5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG8uaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N1ZG8vc3Vkby5pbmMKQEAgLTQsOCArNCw4IEBACiBCVUdUUkFDS0VSID0gImh0dHA6Ly93d3cuc3Vkby53cy9idWdzLyIKIFNFQ1RJT04gPSAiYWRtaW4iCiBMSUNFTlNFID0gIklTQyAmIEJTRCAmIFpsaWIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2MvTElDRU5TRTttZDU9Y2M0YmYyMzY2YjA1OWM5NTk4ZTM5NDdmODg1OTMxZWMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGx1Z2lucy9zdWRvZXJzL3JlZGJsYWNrLmM7YmVnaW5saW5lPTE7ZW5kbGluZT00MTttZDU9ODA1NzgyYTg0NjY5NzU3MTZmODM3NmIyYmU5YWVkZGUgXAorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jL0xJQ0VOU0U7bWQ1PTZjNzZiNzM2MDNhYzc3NjNhYjA1MTZlYmZiZTY3YjQyIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BsdWdpbnMvc3Vkb2Vycy9yZWRibGFjay5jO2JlZ2lubGluZT0xO2VuZGxpbmU9NDY7bWQ1PTRhMTYyZmMwNGI4NmIwM2Y1NjMyMTgwZmU2MDc2Y2RhIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi91dGlsL3JlYWxsb2NhcnJheS5jO2JlZ2lubGluZT0zO2VuZGxpbmU9MTY7bWQ1PTg1YjA5MDViNzk1ZDRkNThiZjJlMDA2MzU2NDllZWM2IFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi91dGlsL2ZubWF0Y2guYztiZWdpbmxpbmU9MztlbmRsaW5lPTI3O21kNT02N2Y4M2VlOWJkNDU2NTU3Mzk3MDgyZjhmMWJlMGVmZCBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvdXRpbC9nZXRjd2QuYztiZWdpbmxpbmU9NTtlbmRsaW5lPTI3O21kNT00NDlhZjRjYzU3ZmM3ZDQ2ZjQyMDkwNjA4YmEzZTY4MSBcCkBAIC0xMyw2ICsxMyw5IEBACiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvdXRpbC9zbnByaW50Zi5jO2JlZ2lubGluZT02O2VuZGxpbmU9MzQ7bWQ1PWM4MmMxYjNhNWMzMmUwODU0NWM5ZWM1ZDcxZTQxZTUwIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2luY2x1ZGUvc3Vkb19xdWV1ZS5oO2JlZ2lubGluZT01O2VuZGxpbmU9Mjc7bWQ1PTQ0OWFmNGNjNTdmYzdkNDZmNDIwOTA2MDhiYTNlNjgxIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi91dGlsL2luZXRfcHRvbi5jO2JlZ2lubGluZT0zO2VuZGxpbmU9MTc7bWQ1PTM5NzBhYjA1MThhYjc5Y2JkMGJhZmI2OTdmMTBiMzNhIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi91dGlsL2FyYzRyYW5kb20uYztiZWdpbmxpbmU9MztlbmRsaW5lPTIwO21kNT0xNWJkYzg5YzFiMDAzZmE0ZDczNTNlNjI5NmViZmQ2OCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvdXRpbC9hcmM0cmFuZG9tX3VuaWZvcm0uYztiZWdpbmxpbmU9MztlbmRsaW5lPTE3O21kNT0zMWU2MzBhYzgxNGQ2OTJmZDBhYjdhOTQyNjU5YjQ2ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvdXRpbC9nZXRlbnRyb3B5LmM7YmVnaW5saW5lPTE7ZW5kbGluZT0xOTttZDU9OWYxYTI3NWVjZDQ0Y2MyNjRhMmE0ZDVlMDZhNzUyOTIgXAogICAgICAgICAgICAgICAgICAgICAiCiAKIGluaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG9fMS44LjIzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3Vkby9zdWRvXzEuOC4yMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2UzMmJkMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG9fMS44LjIzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotcmVxdWlyZSBzdWRvLmluYwotCi1TUkNfVVJJID0gImh0dHA6Ly9mdHAuc3Vkby53cy9zdWRvL2Rpc3Qvc3Vkby0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICcke1BBTV9TUkNfVVJJfScsICcnLCBkKX0gXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1JbmNsdWRlLXN5cy10eXBlcy5oLWZvci1pZF90LWRlZmluaXRpb24ucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVBBTV9TUkNfVVJJID0gImZpbGU6Ly9zdWRvLnBhbSIKLQotU1JDX1VSSVttZDVzdW1dID0gImVhNDQ0ZDc0N2ZlYjFkZWNmZWJkZmZkMGIzOGIwNzM5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ4NjNkMjliNmZjODdiYzc4NGEzMjIzMzUwZTJiMjhhMmZmMmM0NzM4ZjBmYjhmMWM5MmJiMzhjMzAxN2U2NzkiCi0KLURFUEVORFMgKz0gIiB2aXJ0dWFsL2NyeXB0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0iCi1SREVQRU5EU18ke1BOfSArPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbS1wbHVnaW4tbGltaXRzIHBhbS1wbHVnaW4ta2V5aW5pdCcsICcnLCBkKX0iCi0KLUVYVFJBX09FQ09ORiArPSAiIFwKLSAgICAgICAgICAgICBhY19jdl90eXBlX3JzaXplX3Q9bm8gXAotICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJy0td2l0aC1wYW0nLCAnLS13aXRob3V0LXBhbScsIGQpfSBcCi0gICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJy0tZW5hYmxlLXRtcGZpbGVzLmQ9JHtsaWJkaXJ9L3RtcGZpbGVzLmQnLCAnLS1kaXNhYmxlLXRtcGZpbGVzLmQnLCBkKX0gXAotICAgICAgICAgICAgICIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCWlmIFsgIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSIgXTsgdGhlbgotCQlpbnN0YWxsIC1EIC1tIDY0NCAke1dPUktESVJ9L3N1ZG8ucGFtICR7RH0vJHtzeXNjb25mZGlyfS9wYW0uZC9zdWRvCi0JCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BhbS13aGVlbCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9IDsgdGhlbgotCQkJZWNobyAnYXV0aCAgICAgICByZXF1aXJlZCAgICAgcGFtX3doZWVsLnNvIHVzZV91aWQnID4+JHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvc3VkbwotCQkJc2VkIC1pICdzLyMgXCgld2hlZWwgQUxMPShBTEwpIEFMTFwpL1wxLycgJHtEfSR7c3lzY29uZmRpcn0vc3Vkb2VycwotCQlmaQotCWZpCi0KLQljaG1vZCA0MTExICR7RH0ke2JpbmRpcn0vc3VkbwotCWNobW9kIDA0NDAgJHtEfSR7c3lzY29uZmRpcn0vc3Vkb2VycwotCi0JIyBFeHBsaWNpdGx5IHJlbW92ZSB0aGUgL3J1biBkaXJlY3RvcnkgdG8gYXZvaWQgUUEgZXJyb3IKLQlybWRpciAtcCAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAke0R9L3J1bi9zdWRvCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vdG1wZmlsZXMuZCIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJleGVjZGlyfS8ke0JQTn0vbGliKiR7U09MSUJTREVWfSAke2xpYmV4ZWNkaXJ9LyR7QlBOfS8qLmxhIFwKLSAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9saWIqJHtTT0xJQlNERVZ9ICR7bGliZXhlY2Rpcn0vKi5sYSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N1ZG8vc3Vkb18xLjguMjcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG9fMS44LjI3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMzQzOTMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG9fMS44LjI3LmJiCkBAIC0wLDAgKzEsNDAgQEAKK3JlcXVpcmUgc3Vkby5pbmMKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLnN1ZG8ud3Mvc3Vkby9kaXN0L3N1ZG8tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJHtQQU1fU1JDX1VSSX0nLCAnJywgZCl9IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtSW5jbHVkZS1zeXMtdHlwZXMuaC1mb3ItaWRfdC1kZWZpbml0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitQQU1fU1JDX1VSSSA9ICJmaWxlOi8vc3Vkby5wYW0iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiNWMxODRiMTNiNmI1ZGUzMmFmNjMwYWYyZmQwMTNmZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YmViNjhiOTQ0NzFlZjU2ZDhhMTAzNmRiY2RjMDlhN2I1OGE5NDlhNjhmZmNlNDhiODNmODM3ZGQzM2UyZWMwIgorCitERVBFTkRTICs9ICIgdmlydHVhbC9jcnlwdCAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdsaWJwYW0nLCAnJywgZCl9IgorUkRFUEVORFNfJHtQTn0gKz0gIiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0tcGx1Z2luLWxpbWl0cyBwYW0tcGx1Z2luLWtleWluaXQnLCAnJywgZCl9IgorCitFWFRSQV9PRUNPTkYgKz0gIiBcCisgICAgICAgICAgICAgYWNfY3ZfdHlwZV9yc2l6ZV90PW5vIFwKKyAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICctLXdpdGgtcGFtJywgJy0td2l0aG91dC1wYW0nLCBkKX0gXAorICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICctLWVuYWJsZS10bXBmaWxlcy5kPSR7bGliZGlyfS90bXBmaWxlcy5kJywgJy0tZGlzYWJsZS10bXBmaWxlcy5kJywgZCl9IFwKKyAgICAgICAgICAgICAiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKwlpZiBbICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCBkKX0iIF07IHRoZW4KKwkJaW5zdGFsbCAtRCAtbSA2NDQgJHtXT1JLRElSfS9zdWRvLnBhbSAke0R9LyR7c3lzY29uZmRpcn0vcGFtLmQvc3VkbworCQlpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwYW0td2hlZWwnLCAndHJ1ZScsICdmYWxzZScsIGQpfSA7IHRoZW4KKwkJCWVjaG8gJ2F1dGggICAgICAgcmVxdWlyZWQgICAgIHBhbV93aGVlbC5zbyB1c2VfdWlkJyA+PiR7RH0ke3N5c2NvbmZkaXJ9L3BhbS5kL3N1ZG8KKwkJCXNlZCAtaSAncy8jIFwoJXdoZWVsIEFMTD0oQUxMKSBBTExcKS9cMS8nICR7RH0ke3N5c2NvbmZkaXJ9L3N1ZG9lcnMKKwkJZmkKKwlmaQorCisJY2htb2QgNDExMSAke0R9JHtiaW5kaXJ9L3N1ZG8KKwljaG1vZCAwNDQwICR7RH0ke3N5c2NvbmZkaXJ9L3N1ZG9lcnMKKworCSMgRXhwbGljaXRseSByZW1vdmUgdGhlIC9ydW4gZGlyZWN0b3J5IHRvIGF2b2lkIFFBIGVycm9yCisJcm1kaXIgLXAgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgJHtEfS9ydW4vc3VkbworfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3RtcGZpbGVzLmQiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZXhlY2Rpcn0vJHtCUE59L2xpYioke1NPTElCU0RFVn0gJHtsaWJleGVjZGlyfS8ke0JQTn0vKi5sYSBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vbGliKiR7U09MSUJTREVWfSAke2xpYmV4ZWNkaXJ9LyoubGEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNrbG9nZC9zeXNrbG9nZC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNrbG9nZC9zeXNrbG9nZC5pbmMKaW5kZXggZjE1MWRkOC4uNzQ5MDI2ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3lza2xvZ2Qvc3lza2xvZ2QuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c2tsb2dkL3N5c2tsb2dkLmluYwpAQCAtMTMsNyArMTMsNyBAQAogCiBpbmhlcml0IHVwZGF0ZS1yYy5kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgc3lzdGVtZAogCi1TUkNfVVJJID0gImh0dHA6Ly93d3cuaW5mb2Ryb20ub3JnL3Byb2plY3RzL3N5c2tsb2dkL2Rvd25sb2FkL3N5c2tsb2dkLSR7UFZ9LnRhci5neiBcCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdHJvZ2xvYml0L3N5c2tsb2dkLmdpdDtub2JyYW5jaD0xIFwKICAgICAgICAgICAgZmlsZTovL25vLXN0cmlwLWluc3RhbGwucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtYnVpbGQtd2l0aC1tdXNsLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LXByb2JsZW1zLXRoYXQtY2F1c2VzLWEtc2VnbWVudGF0aW9uLWZhdWx0LXVuZGVyLS5wYXRjaCBcCkBAIC0yNCw2ICsyNCw3IEBACiAgICAgICAgICAgIGZpbGU6Ly9rbG9nZC5zZXJ2aWNlIFwKICAgICAgICAgICAgZmlsZTovL3RtcGZpbGVzLnN5c2tsb2dkLmNvbmYgXAogICAgICAgICAgICAiCitTID0gIiR7V09SS0RJUn0vZ2l0IgogCiBTUkNfVVJJX2FwcGVuZF9lNTAwdjIgPSAiIGZpbGU6Ly9uby12ZWN0b3JpemF0aW9uLnBhdGNoIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNrbG9nZC9zeXNrbG9nZF8xLjUuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c2tsb2dkL3N5c2tsb2dkXzEuNS4xLmJiCmluZGV4IDk3NWVjYzIuLjg4YmNmZDkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c2tsb2dkL3N5c2tsb2dkXzEuNS4xLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c2tsb2dkL3N5c2tsb2dkXzEuNS4xLmJiCkBAIC0xLDQgKzEsMyBAQAogcmVxdWlyZSBzeXNrbG9nZC5pbmMKIAotU1JDX1VSSVttZDVzdW1dID0gImM3MDU5OWFiMGQwMzdmZGU3MjRmNzIxMGMyYzhkN2Y4IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUxNjZjMTg1YWUyM2M5MmU4YjlmZWVlNjZhNmUzZDBiYzk0NGJmNjczMTEyZjUzZTNlY2Y2MmUwOGNlN2MyMDEiCitTUkNSRVYgPSAiOTMwYTJiMWMwZDE1YjE0MzA5YTQ5ZjE0ZTNmMzBlOTA1NDU2YWY0ZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c3N0YXQvc3lzc3RhdF8xMS43LjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNzdGF0L3N5c3N0YXRfMTEuNy40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOWI5MTMwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c3N0YXQvc3lzc3RhdF8xMS43LjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLXJlcXVpcmUgc3lzc3RhdC5pbmMKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTIzYTc0YjNmNGNhZjk2MTYyMzA3ODlkOTQyMTdhY2IiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLUluY2x1ZGUtbmVlZGVkLWhlYWRlcnMtZXhwbGljaXRseS5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjQyMWY5NThkYjgwZTY3YTI3ZWRhMWZmNmI4ZWJjZGViIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImE5NjI2NWEyMjc4NGMyOTg4ODY2OWY5NjFhMDg5Njg0MWQxNzc4NTNmOGYwNTdlZmUwNjNlODkxOTYyYjkwOTAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNzdGF0L3N5c3N0YXRfMTIuMS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3lzc3RhdC9zeXNzdGF0XzEyLjEuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGFmM2Y0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3lzc3RhdC9zeXNzdGF0XzEyLjEuMy5iYgpAQCAtMCwwICsxLDggQEAKK3JlcXVpcmUgc3lzc3RhdC5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTIzYTc0YjNmNGNhZjk2MTYyMzA3ODlkOTQyMTdhY2IiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLUluY2x1ZGUtbmVlZGVkLWhlYWRlcnMtZXhwbGljaXRseS5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjBmOWI3M2Y2MGFiYTZmZDQ5ZGUzNDZiYzM4NDkwMmMzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU1NDk4YmY4Mjc1NWJhOWZlZDNlN2RmNjFmZDI2ZjhmNTBkZDNlN2IzYjIyOWM3MzEwMjlhNGM4YWI1MWExYWEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90YXIvdGFyXzEuMzAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90YXIvdGFyXzEuMzAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkMjRmNDcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGFyL3Rhcl8xLjMwLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzAgKzAsMCBAQAotU1VNTUFSWSA9ICJHTlUgZmlsZSBhcmNoaXZpbmcgcHJvZ3JhbSIKLURFU0NSSVBUSU9OID0gIkdOVSB0YXIgc2F2ZXMgbWFueSBmaWxlcyB0b2dldGhlciBpbnRvIGEgc2luZ2xlIHRhcGUgXAotb3IgZGlzayBhcmNoaXZlLCBhbmQgY2FuIHJlc3RvcmUgaW5kaXZpZHVhbCBmaWxlcyBmcm9tIHRoZSBhcmNoaXZlLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS90YXIvIgotU0VDVElPTiA9ICJiYXNlIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgotCi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vdGFyL3Rhci0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL3JlbW92ZS1nZXRzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL211c2xfZGlyZW50LnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjg0MDRlNGMxZmM1YTMwMDAyMjhhYjJiOGFkNjc0YTY1IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg3NTkyYjg2Y2IwMzdjNTU0Mzc1ZjU4NjhiZGQzY2M1Nzc0OGFlZjM4ZDZjYjc0MWM4MTA2NWYwYmVhYzYzYjciCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdGV4aW5mbwotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhY2wnLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUdbYWNsXSA9ICItLXdpdGgtcG9zaXgtYWNscywtLXdpdGhvdXQtcG9zaXgtYWNscyxhY2wiCi0KLUVYVFJBX09FQ09ORiArPSAiREVGQVVMVF9STVRfRElSPSR7YmFzZV9zYmluZGlyfSIKLQotIyBMZXQgYWNsb2NhbCB1c2UgdGhlIHJlbGF0aXZlIHBhdGggZm9yIHRoZSBtNCBmaWxlIHJhdGhlciB0aGFuIHRoZQotIyBhYnNvbHV0ZSBzaW5jZSB0YXIgaGFzIGEgbG90IG9mIG00IGZpbGVzLCBvdGhlcndpc2UgdGhlcmUgbWlnaHQKLSMgYmUgYW4gIkFyZ3VtZW50IGxpc3QgdG9vIGxvbmciIGVycm9yIHdoZW4gaXQgaXMgYnVpbHQgaW4gYSBsb25nL2RlZXAKLSMgZGlyZWN0b3J5LgotYWNwYXRocyA9ICItSSAuL200IgotCi1kb19pbnN0YWxsICgpIHsKLSAgICBhdXRvdG9vbHNfZG9faW5zdGFsbAotICAgIGxuIC1zIHRhciAke0R9JHtiaW5kaXJ9L2d0YXIKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotICAgIGlmIFsgIiR7YmFzZV9iaW5kaXJ9IiAhPSAiJHtiaW5kaXJ9IiBdOyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9Ci0gICAgICAgIG12ICR7RH0ke2JpbmRpcn0vdGFyICR7RH0ke2Jhc2VfYmluZGlyfS90YXIKLSAgICAgICAgbXYgJHtEfSR7YmluZGlyfS9ndGFyICR7RH0ke2Jhc2VfYmluZGlyfS9ndGFyCi0gICAgICAgIHJtZGlyICR7RH0ke2JpbmRpcn0vCi0gICAgZmkKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfbGliYy1tdXNsKCkgewotICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vY2hhcnNldC5hbGlhcwotICAgIHJtZGlyICR7RH0ke2xpYmRpcn0KLX0KLQotUEFDS0FHRVMgPSsgIiR7UE59LXJtdCIKLQotRklMRVNfJHtQTn0tcm10ID0gIiR7YmFzZV9zYmluZGlyfS9ybXQqIgotCi1pbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKLQotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgotCi1BTFRFUk5BVElWRV8ke1BOfSA9ICJ0YXIiCi1BTFRFUk5BVElWRV8ke1BOfS1ybXQgPSAicm10IgotQUxURVJOQVRJVkVfJHtQTn1fY2xhc3MtbmF0aXZlc2RrID0gIiIKLUFMVEVSTkFUSVZFXyR7UE59LXJtdF9jbGFzcy1uYXRpdmVzZGsgPSAiIgotCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbdGFyXSA9ICIke2Jhc2VfYmluZGlyfS90YXIiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbcm10XSA9ICIke2Jhc2Vfc2JpbmRpcn0vcm10IgotCi1QUk9WSURFU19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiB0YXItcmVwbGFjZW1lbnQtbmF0aXZlIgotTkFUSVZFX1BBQ0tBR0VfUEFUSF9TVUZGSVggPSAiLyR7UE59IgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90YXIvdGFyXzEuMzEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90YXIvdGFyXzEuMzEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTc4NTA0MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3Rhci90YXJfMS4zMS5iYgpAQCAtMCwwICsxLDY1IEBACitTVU1NQVJZID0gIkdOVSBmaWxlIGFyY2hpdmluZyBwcm9ncmFtIgorREVTQ1JJUFRJT04gPSAiR05VIHRhciBzYXZlcyBtYW55IGZpbGVzIHRvZ2V0aGVyIGludG8gYSBzaW5nbGUgdGFwZSBcCitvciBkaXNrIGFyY2hpdmUsIGFuZCBjYW4gcmVzdG9yZSBpbmRpdmlkdWFsIGZpbGVzIGZyb20gdGhlIGFyY2hpdmUuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL3Rhci8iCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS90YXIvdGFyLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLWdldHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbXVzbF9kaXJlbnQucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzdhZmEzNWI2OTZjOGQ3NjAzMzFmYTBlMTJjMmZhYzkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTc3YmQ0NDYzZWVhMTAzYmRmYzY2MmZjMzg1Nzg5ZTIyMjhkYmViMzk5YTFkMGI5ODU3MWVkOWNlMDQ0Zjc2MyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB0ZXhpbmZvCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2FjbCcsIGQpfSIKKworUEFDS0FHRUNPTkZJR1thY2xdID0gIi0td2l0aC1wb3NpeC1hY2xzLC0td2l0aG91dC1wb3NpeC1hY2xzLGFjbCIKKworRVhUUkFfT0VDT05GICs9ICJERUZBVUxUX1JNVF9ESVI9JHtiYXNlX3NiaW5kaXJ9IgorCisjIExldCBhY2xvY2FsIHVzZSB0aGUgcmVsYXRpdmUgcGF0aCBmb3IgdGhlIG00IGZpbGUgcmF0aGVyIHRoYW4gdGhlCisjIGFic29sdXRlIHNpbmNlIHRhciBoYXMgYSBsb3Qgb2YgbTQgZmlsZXMsIG90aGVyd2lzZSB0aGVyZSBtaWdodAorIyBiZSBhbiAiQXJndW1lbnQgbGlzdCB0b28gbG9uZyIgZXJyb3Igd2hlbiBpdCBpcyBidWlsdCBpbiBhIGxvbmcvZGVlcAorIyBkaXJlY3RvcnkuCithY3BhdGhzID0gIi1JIC4vbTQiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGF1dG90b29sc19kb19pbnN0YWxsCisgICAgbG4gLXMgdGFyICR7RH0ke2JpbmRpcn0vZ3RhcgorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgaWYgWyAiJHtiYXNlX2JpbmRpcn0iICE9ICIke2JpbmRpcn0iIF07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICAgICAgbXYgJHtEfSR7YmluZGlyfS90YXIgJHtEfSR7YmFzZV9iaW5kaXJ9L3RhcgorICAgICAgICBtdiAke0R9JHtiaW5kaXJ9L2d0YXIgJHtEfSR7YmFzZV9iaW5kaXJ9L2d0YXIKKyAgICAgICAgcm1kaXIgJHtEfSR7YmluZGlyfS8KKyAgICBmaQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tcm10IgorCitGSUxFU18ke1BOfS1ybXQgPSAiJHtiYXNlX3NiaW5kaXJ9L3JtdCoiCisKK2luaGVyaXQgdXBkYXRlLWFsdGVybmF0aXZlcworCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gInRhciIKK0FMVEVSTkFUSVZFXyR7UE59LXJtdCA9ICJybXQiCitBTFRFUk5BVElWRV8ke1BOfV9jbGFzcy1uYXRpdmVzZGsgPSAiIgorQUxURVJOQVRJVkVfJHtQTn0tcm10X2NsYXNzLW5hdGl2ZXNkayA9ICIiCisKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0YXJdID0gIiR7YmFzZV9iaW5kaXJ9L3RhciIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtybXRdID0gIiR7YmFzZV9zYmluZGlyfS9ybXQiCisKK1BST1ZJREVTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIHRhci1yZXBsYWNlbWVudC1uYXRpdmUiCitOQVRJVkVfUEFDS0FHRV9QQVRIX1NVRkZJWCA9ICIvJHtQTn0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3RpbWV6b25lL3RpbWV6b25lLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3RpbWV6b25lL3RpbWV6b25lLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWRlMDA3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGltZXpvbmUvdGltZXpvbmUuaW5jCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiVGltZXpvbmUgZGF0YSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuaWFuYS5vcmcvdGltZS16b25lcyIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiUEQgJiBCU0QgJiBCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jNjc5YzlkNmIwMmJjMjc1N2IzZWFmOGY1M2M0M2ZiYSIKKworUFYgPSAiMjAxOWEiCisKK1NSQ19VUkkgPSIgaHR0cDovL3d3dy5pYW5hLm9yZy90aW1lLXpvbmVzL3JlcG9zaXRvcnkvcmVsZWFzZXMvdHpjb2RlJHtQVn0udGFyLmd6O25hbWU9dHpjb2RlIFwKKyAgICAgICAgICAgaHR0cDovL3d3dy5pYW5hLm9yZy90aW1lLXpvbmVzL3JlcG9zaXRvcnkvcmVsZWFzZXMvdHpkYXRhJHtQVn0udGFyLmd6O25hbWU9dHpkYXRhIFwKKyAgICAgICAgICAgIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3d3dy5pYW5hLm9yZy90aW1lLXpvbmVzIgorCitTUkNfVVJJW3R6Y29kZS5tZDVzdW1dID0gIjI3NTg1YTIwYmM1NDAxMzI0ZjQyYzhkZWI2ZTQ2NzdmIgorU1JDX1VSSVt0emNvZGUuc2hhMjU2c3VtXSA9ICI4NzM5ZjE2MmJjMzBjZGZiNDgyNDM1Njk3Zjk2OTI1M2FiZWE0OTU5NTU0MWEwYWZkNWY0NDNmYmFlNDMzZmY1IgorU1JDX1VSSVt0emRhdGEubWQ1c3VtXSA9ICIyODhmN2IxZTQzMDE4YzYzM2RhMTA4ZjEzYjI3Y2Y5MSIKK1NSQ19VUklbdHpkYXRhLnNoYTI1NnN1bV0gPSAiOTAzNjZkZGY0YWEwM2UzN2ExNmNkNDkyNTVhZjc3ZjgwMTgyMjMxMGIyMTNmMTk1ZTIyMDZlYWQ0OGM1OTc3MiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3RpbWV6b25lL3R6Y29kZS1uYXRpdmUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90aW1lem9uZS90emNvZGUtbmF0aXZlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzNTgyYmEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90aW1lem9uZS90emNvZGUtbmF0aXZlLmJiCkBAIC0wLDAgKzEsMTcgQEAKK3JlcXVpcmUgdGltZXpvbmUuaW5jCisKKyMKK1NVTU1BUlkgPSAidHpjb2RlLCB0aW1lem9uZSB6b25laW5mbyB1dGlscyAtLSB6aWMsIHpkdW1wLCB0enNlbGVjdCIKKworUyA9ICIke1dPUktESVJ9IgorCitpbmhlcml0IG5hdGl2ZQorCitFWFRSQV9PRU1BS0UgKz0gImNjPScke0NDfSciCisKK2RvX2luc3RhbGwgKCkgeworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0vCisgICAgICAgIGluc3RhbGwgLW0gNzU1IHppYyAke0R9JHtiaW5kaXJ9LworICAgICAgICBpbnN0YWxsIC1tIDc1NSB6ZHVtcCAke0R9JHtiaW5kaXJ9LworICAgICAgICBpbnN0YWxsIC1tIDc1NSB0enNlbGVjdCAke0R9JHtiaW5kaXJ9LworfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGltZXpvbmUvdHpkYXRhLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGltZXpvbmUvdHpkYXRhLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyZmUzNjkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90aW1lem9uZS90emRhdGEuYmIKQEAgLTAsMCArMSwyMDkgQEAKK3JlcXVpcmUgdGltZXpvbmUuaW5jCisKK0RFUEVORFMgPSAidHpjb2RlLW5hdGl2ZSIKKworaW5oZXJpdCBhbGxhcmNoCisKK1JDT05GTElDVFNfJHtQTn0gPSAidGltZXpvbmVzIHRpbWV6b25lLWFmcmljYSB0aW1lem9uZS1hbWVyaWNhIHRpbWV6b25lLWFudGFyY3RpY2EgXAorICAgICAgICAgICAgIHRpbWV6b25lLWFyY3RpYyB0aW1lem9uZS1hc2lhIHRpbWV6b25lLWF0bGFudGljIFwKKyAgICAgICAgICAgICB0aW1lem9uZS1hdXN0cmFsaWEgdGltZXpvbmUtZXVyb3BlIHRpbWV6b25lLWluZGlhbiBcCisgICAgICAgICAgICAgdGltZXpvbmUtaXNvMzE2Ni50YWIgdGltZXpvbmUtcGFjaWZpYyB0aW1lem9uZS16b25lLnRhYiIKKworUyA9ICIke1dPUktESVJ9IgorCitERUZBVUxUX1RJTUVaT05FID89ICJVbml2ZXJzYWwiCitJTlNUQUxMX1RJTUVaT05FX0ZJTEUgPz0gIjEiCisKK1RaT05FUz0gImFmcmljYSBhbnRhcmN0aWNhIGFzaWEgYXVzdHJhbGFzaWEgZXVyb3BlIG5vcnRoYW1lcmljYSBzb3V0aGFtZXJpY2EgIFwKKyAgICAgICAgIGZhY3RvcnkgZXRjZXRlcmEgYmFja3dhcmQgc3lzdGVtdiBcCisgICAgICAgICIKKyMgcGFjaWZpY25ldyAKKworZG9fY29tcGlsZSAoKSB7CisgICAgICAgIGZvciB6b25lIGluICR7VFpPTkVTfTsgZG8gXAorICAgICAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3ppYyAtZCAke1dPUktESVJ9JHtkYXRhZGlyfS96b25laW5mbyAtTCAvZGV2L251bGwgXAorICAgICAgICAgICAgICAgIC15ICR7U30veWVhcmlzdHlwZS5zaCAke1N9LyR7em9uZX0gOyBcCisgICAgICAgICAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vemljIC1kICR7V09SS0RJUn0ke2RhdGFkaXJ9L3pvbmVpbmZvL3Bvc2l4IC1MIC9kZXYvbnVsbCBcCisgICAgICAgICAgICAgICAgLXkgJHtTfS95ZWFyaXN0eXBlLnNoICR7U30vJHt6b25lfSA7IFwKKyAgICAgICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS96aWMgLWQgJHtXT1JLRElSfSR7ZGF0YWRpcn0vem9uZWluZm8vcmlnaHQgLUwgJHtTfS9sZWFwc2Vjb25kcyBcCisgICAgICAgICAgICAgICAgLXkgJHtTfS95ZWFyaXN0eXBlLnNoICR7U30vJHt6b25lfSA7IFwKKyAgICAgICAgZG9uZQorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyRleGVjX3ByZWZpeCAke0R9JHtkYXRhZGlyfS96b25laW5mbworICAgICAgICBjcCAtcFBSICR7U30vJGV4ZWNfcHJlZml4ICR7RH0vCisgICAgICAgICMgbGliYyBpcyByZW1vdmluZyB6b25laW5mbyBmaWxlcyBmcm9tIHBhY2thZ2UKKyAgICAgICAgY3AgLXBQICIke1N9L3pvbmUudGFiIiAke0R9JHtkYXRhZGlyfS96b25laW5mbworICAgICAgICBjcCAtcFAgIiR7U30vem9uZTE5NzAudGFiIiAke0R9JHtkYXRhZGlyfS96b25laW5mbworICAgICAgICBjcCAtcFAgIiR7U30vaXNvMzE2Ni50YWIiICR7RH0ke2RhdGFkaXJ9L3pvbmVpbmZvCisKKyAgICAgICAgIyBJbnN0YWxsIGRlZmF1bHQgdGltZXpvbmUKKyAgICAgICAgaWYgWyAtZSAke0R9JHtkYXRhZGlyfS96b25laW5mby8ke0RFRkFVTFRfVElNRVpPTkV9IF07IHRoZW4KKyAgICAgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0KKyAgICAgICAgICAgIGlmIFsgIiR7SU5TVEFMTF9USU1FWk9ORV9GSUxFfSIgPSAiMSIgXTsgdGhlbgorICAgICAgICAgICAgICAgIGVjaG8gJHtERUZBVUxUX1RJTUVaT05FfSA+ICR7RH0ke3N5c2NvbmZkaXJ9L3RpbWV6b25lCisgICAgICAgICAgICBmaQorICAgICAgICAgICAgbG4gLXMgJHtkYXRhZGlyfS96b25laW5mby8ke0RFRkFVTFRfVElNRVpPTkV9ICR7RH0ke3N5c2NvbmZkaXJ9L2xvY2FsdGltZQorICAgICAgICBlbHNlCisgICAgICAgICAgICBiYmVycm9yICJERUZBVUxUX1RJTUVaT05FIGlzIHNldCB0byBhbiBpbnZhbGlkIHZhbHVlLiIKKyAgICAgICAgICAgIGV4aXQgMQorICAgICAgICBmaQorCisgICAgICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9Cit9CisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisJZXRjX2x0PSIkRCR7c3lzY29uZmRpcn0vbG9jYWx0aW1lIgorCXNyYz0iJEQke3N5c2NvbmZkaXJ9L3RpbWV6b25lIgorCisJaWYgWyAtZSAke3NyY30gXSA7IHRoZW4KKwkJdHo9JChzZWQgLWUgJ3M6Iy4qOjonIC1lICdzOltbOnNwYWNlOl1dKjo6ZycgLWUgJy9eJC9kJyAiJHtzcmN9IikKKwlmaQorCQorCWlmIFsgLXogIiR7dHp9IiBdIDsgdGhlbgorCQlleGl0IDAKKwlmaQorCQorCWlmIFsgISAtZSAiJEQke2RhdGFkaXJ9L3pvbmVpbmZvLyR7dHp9IiBdIDsgdGhlbgorCQllY2hvICJZb3UgaGF2ZSBhbiBpbnZhbGlkIFRJTUVaT05FIHNldHRpbmcgaW4gJHtzcmN9IgorCQllY2hvICJZb3VyICR7ZXRjX2x0fSBoYXMgYmVlbiByZXNldCB0byBVbml2ZXJzYWw7IGVuam95ISIKKwkJdHo9IlVuaXZlcnNhbCIKKwkJZWNobyAiVXBkYXRpbmcgJHtldGNfbHR9IHdpdGggJEQke2RhdGFkaXJ9L3pvbmVpbmZvLyR7dHp9IgorCQlpZiBbIC1MICR7ZXRjX2x0fSBdIDsgdGhlbgorCQkJcm0gLWYgIiR7ZXRjX2x0fSIKKwkJZmkKKwkJbG4gLXMgIiR7ZGF0YWRpcn0vem9uZWluZm8vJHt0en0iICIke2V0Y19sdH0iCisJZmkKK30KKworIyBQYWNrYWdlcyBwcmltYXJpbHkgb3JnYW5pemVkIGJ5IGRpcmVjdG9yeSB3aXRoIGEgbWFqb3IgY2l0eQorIyBpbiBtb3N0IHRpbWUgem9uZXMgaW4gdGhlIGJhc2UgcGFja2FnZQorCitUWl9QQUNLQUdFUyA9ICIgXAorICAgIHR6ZGF0YS1jb3JlIHR6ZGF0YS1taXNjIHR6ZGF0YS1wb3NpeCB0emRhdGEtcmlnaHQgdHpkYXRhLWFmcmljYSBcCisgICAgdHpkYXRhLWFtZXJpY2FzIHR6ZGF0YS1hbnRhcmN0aWNhIHR6ZGF0YS1hcmN0aWMgdHpkYXRhLWFzaWEgXAorICAgIHR6ZGF0YS1hdGxhbnRpYyB0emRhdGEtYXVzdHJhbGlhIHR6ZGF0YS1ldXJvcGUgdHpkYXRhLXBhY2lmaWMiCitQQUNLQUdFUyA9ICIke1RaX1BBQ0tBR0VTfSAke1BOfSIKKworRklMRVNfdHpkYXRhLWFmcmljYSArPSAiJHtkYXRhZGlyfS96b25laW5mby9BZnJpY2EvKiIKK1JQUk9WSURFU190emRhdGEtYWZyaWNhID0gInR6ZGF0YS1hZnJpY2EiCisKK0ZJTEVTX3R6ZGF0YS1hbWVyaWNhcyArPSAiJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhLyogIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1VTLyogICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vQnJhemlsLyogICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9DYW5hZGEvKiAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01leGljby8qICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vQ2hpbGUvKiIKK1JQUk9WSURFU190emRhdGEtYW1lcmljYXMgPSAidHpkYXRhLWFtZXJpY2FzIgorCitGSUxFU190emRhdGEtYW50YXJjdGljYSArPSAiJHtkYXRhZGlyfS96b25laW5mby9BbnRhcmN0aWNhLyoiCitSUFJPVklERVNfdHpkYXRhLWFudGFyY3RpY2EgPSAidHpkYXRhLWFudGFyY3RpY2EiCisKK0ZJTEVTX3R6ZGF0YS1hcmN0aWMgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQXJjdGljLyoiCitSUFJPVklERVNfdHpkYXRhLWFyY3RpYyA9ICJ0emRhdGEtYXJjdGljIgorCitGSUxFU190emRhdGEtYXNpYSArPSAiJHtkYXRhZGlyfS96b25laW5mby9Bc2lhLyogICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0luZGlhbi8qICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vTWlkZWFzdC8qIgorUlBST1ZJREVTX3R6ZGF0YS1hc2lhID0gInR6ZGF0YS1hc2lhIgorCitGSUxFU190emRhdGEtYXRsYW50aWMgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQXRsYW50aWMvKiIKK1JQUk9WSURFU190emRhdGEtYXRsYW50aWMgPSAidHpkYXRhLWF0bGFudGljIgorCitGSUxFU190emRhdGEtYXVzdHJhbGlhICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS8qIgorUlBST1ZJREVTX3R6ZGF0YS1hdXN0cmFsaWEgPSAidHpkYXRhLWF1c3RyYWxpYSIKKworRklMRVNfdHpkYXRhLWV1cm9wZSArPSAiJHtkYXRhZGlyfS96b25laW5mby9FdXJvcGUvKiIKK1JQUk9WSURFU190emRhdGEtZXVyb3BlID0gInR6ZGF0YS1ldXJvcGUiCisKK0ZJTEVTX3R6ZGF0YS1wYWNpZmljICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL1BhY2lmaWMvKiIKK1JQUk9WSURFU190emRhdGEtcGFjaWZpYyA9ICJ0emRhdGEtcGFjaWZpYyIKKworRklMRVNfdHpkYXRhLXBvc2l4ICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL3Bvc2l4LyoiCitSUFJPVklERVNfdHpkYXRhLXBvc2l4ID0gInR6ZGF0YS1wb3NpeCIKKworRklMRVNfdHpkYXRhLXJpZ2h0ICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL3JpZ2h0LyoiCitSUFJPVklERVNfdHpkYXRhLXJpZ2h0ID0gInR6ZGF0YS1yaWdodCIKKworRklMRVNfdHpkYXRhLW1pc2MgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQ3ViYSAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vRWd5cHQgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vRWlyZSAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vRmFjdG9yeSAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vR0ItRWlyZSAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSG9uZ2tvbmcgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSWNlbGFuZCAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSXJhbiAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSXNyYWVsICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSmFtYWljYSAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSmFwYW4gICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vS3dhamFsZWluICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vTGlieWEgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vTmF2YWpvICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vUG9sYW5kICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vUG9ydHVnYWwgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vU2luZ2Fwb3JlICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vVHVya2V5IgorUlBST1ZJREVTX3R6ZGF0YS1taXNjID0gInR6ZGF0YS1taXNjIgorCitGSUxFU190emRhdGEtY29yZSArPSAiIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BhY2lmaWMvSG9ub2x1bHUgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvQW5jaG9yYWdlICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvTG9zX0FuZ2VsZXMgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvRGVudmVyICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvQ2hpY2FnbyAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvTmV3X1lvcmsgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvQ2FyYWNhcyAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvU2FvX1BhdWxvICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V1cm9wZS9Mb25kb24gICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V1cm9wZS9QYXJpcyAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FmcmljYS9DYWlybyAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V1cm9wZS9Nb3Njb3cgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvRHViYWkgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvS2FyYWNoaSAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvRGhha2EgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvQmFuZ2tvayAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvSG9uZ19Lb25nICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvVG9reW8gICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9EYXJ3aW4gICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9BZGVsYWlkZSAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9CcmlzYmFuZSAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9TeWRuZXkgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BhY2lmaWMvTm91bWVhICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0NFVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0NTVDZDRFQgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VFVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VTVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VTVDVFRFQgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dCICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVCswICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVC0wICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVDAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dyZWVud2ljaCAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0hTVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01FVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01TVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01TVDdNRFQgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL05aICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL05aLUNIQVQgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BSQyAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BTVDhQRFQgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1JPQyAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1JPSyAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1VDVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1VUQyAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1VuaXZlcnNhbCAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1ctU1UgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1dFVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1p1bHUgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL3pvbmUudGFiICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL3pvbmUxOTcwLnRhYiAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL2lzbzMxNjYudGFiICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V0Yy8qIgorCitDT05GRklMRVNfdHpkYXRhLWNvcmUgKz0gIiR7QCAiJHtzeXNjb25mZGlyfS90aW1lem9uZSIgaWYgYmIudXRpbHMudG9fYm9vbGVhbihkLmdldFZhcignSU5TVEFMTF9USU1FWk9ORV9GSUxFJykpIGVsc2UgIiIgfSIKK0NPTkZGSUxFU190emRhdGEtY29yZSArPSAiJHtzeXNjb25mZGlyfS9sb2NhbHRpbWUiCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCitSREVQRU5EU18ke1BOfSA9ICIke1RaX1BBQ0tBR0VTfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3R6Y29kZS90emNvZGUtbmF0aXZlXzIwMThpLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdHpjb2RlL3R6Y29kZS1uYXRpdmVfMjAxOGkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYwNTYzNzAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdHpjb2RlL3R6Y29kZS1uYXRpdmVfMjAxOGkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi0jIG5vdGUgdGhhdCB3ZSBhbGxvdyBmb3IgdXMgdG8gdXNlIGRhdGEgbGF0ZXIgdGhhbiBvdXIgY29kZSB2ZXJzaW9uCi0jCi1TVU1NQVJZID0gInR6Y29kZSwgdGltZXpvbmUgem9uZWluZm8gdXRpbHMgLS0gemljLCB6ZHVtcCwgdHpzZWxlY3QiCi1MSUNFTlNFID0gIlBEICYgQlNEICYgQlNELTMtQ2xhdXNlIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jNjc5YzlkNmIwMmJjMjc1N2IzZWFmOGY1M2M0M2ZiYSIKLQotU1JDX1VSSSA9IiBodHRwOi8vd3d3LmlhbmEub3JnL3RpbWUtem9uZXMvcmVwb3NpdG9yeS9yZWxlYXNlcy90emNvZGUke1BWfS50YXIuZ3o7bmFtZT10emNvZGUgXAotICAgICAgICAgICBodHRwOi8vd3d3LmlhbmEub3JnL3RpbWUtem9uZXMvcmVwb3NpdG9yeS9yZWxlYXNlcy90emRhdGEke1BWfS50YXIuZ3o7bmFtZT10emRhdGEgXAotICAgICAgICAgICAiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vd3d3LmlhbmEub3JnL3RpbWUtem9uZXMiCi0KLVNSQ19VUklbdHpjb2RlLm1kNXN1bV0gPSAiNmE2ZDk4YmU4ZmEyZmEzNDg1ZTI1MzQzZTc5MTg4YjQiCi1TUkNfVVJJW3R6Y29kZS5zaGEyNTZzdW1dID0gImFhYWNkYjg3NmNhNmZiOWQ1OGUyNDRiNDYyY2JjNzU3OGE0OTZiMWIxMDk5NDM4MWI0YjMyYjlmMmRlZDMyZGMiCi1TUkNfVVJJW3R6ZGF0YS5tZDVzdW1dID0gImIzZjBhMWE3ODk0ODBhMDM2ZTU4NDY2Y2QwNzAyNDc3IgotU1JDX1VSSVt0emRhdGEuc2hhMjU2c3VtXSA9ICI4MmM0NWVmODRjYTNiYzAxZDBhNGEzOTdiYThhZGViOGY3ZjE5OWM2NTUwNzQwNTg3YzZhYzVhNzEwOGMwMGQ5IgotCi1TID0gIiR7V09SS0RJUn0iCi0KLWluaGVyaXQgbmF0aXZlCi0KLUVYVFJBX09FTUFLRSArPSAiY2M9JyR7Q0N9JyIKLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfS8KLSAgICAgICAgaW5zdGFsbCAtbSA3NTUgemljICR7RH0ke2JpbmRpcn0vCi0gICAgICAgIGluc3RhbGwgLW0gNzU1IHpkdW1wICR7RH0ke2JpbmRpcn0vCi0gICAgICAgIGluc3RhbGwgLW0gNzU1IHR6c2VsZWN0ICR7RH0ke2JpbmRpcn0vCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90emRhdGEvdHpkYXRhXzIwMThpLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdHpkYXRhL3R6ZGF0YV8yMDE4aS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDQ4MmU4OS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90emRhdGEvdHpkYXRhXzIwMThpLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjE1ICswLDAgQEAKLVNVTU1BUlkgPSAiVGltZXpvbmUgZGF0YSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuaWFuYS5vcmcvdGltZS16b25lcyIKLVNFQ1RJT04gPSAiYmFzZSIKLUxJQ0VOU0UgPSAiUEQgJiBCU0QgJiBCU0QtMy1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jNjc5YzlkNmIwMmJjMjc1N2IzZWFmOGY1M2M0M2ZiYSIKLQotREVQRU5EUyA9ICJ0emNvZGUtbmF0aXZlIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cuaWFuYS5vcmcvdGltZS16b25lcy9yZXBvc2l0b3J5L3JlbGVhc2VzL3R6ZGF0YSR7UFZ9LnRhci5nejtuYW1lPXR6ZGF0YSIKLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vd3d3LmlhbmEub3JnL3RpbWUtem9uZXMiCi0KLVNSQ19VUklbdHpkYXRhLm1kNXN1bV0gPSAiYjNmMGExYTc4OTQ4MGEwMzZlNTg0NjZjZDA3MDI0NzciCi1TUkNfVVJJW3R6ZGF0YS5zaGEyNTZzdW1dID0gIjgyYzQ1ZWY4NGNhM2JjMDFkMGE0YTM5N2JhOGFkZWI4ZjdmMTk5YzY1NTA3NDA1ODdjNmFjNWE3MTA4YzAwZDkiCi0KLWluaGVyaXQgYWxsYXJjaAotCi1SQ09ORkxJQ1RTXyR7UE59ID0gInRpbWV6b25lcyB0aW1lem9uZS1hZnJpY2EgdGltZXpvbmUtYW1lcmljYSB0aW1lem9uZS1hbnRhcmN0aWNhIFwKLSAgICAgICAgICAgICB0aW1lem9uZS1hcmN0aWMgdGltZXpvbmUtYXNpYSB0aW1lem9uZS1hdGxhbnRpYyBcCi0gICAgICAgICAgICAgdGltZXpvbmUtYXVzdHJhbGlhIHRpbWV6b25lLWV1cm9wZSB0aW1lem9uZS1pbmRpYW4gXAotICAgICAgICAgICAgIHRpbWV6b25lLWlzbzMxNjYudGFiIHRpbWV6b25lLXBhY2lmaWMgdGltZXpvbmUtem9uZS50YWIiCi0KLVMgPSAiJHtXT1JLRElSfSIKLQotREVGQVVMVF9USU1FWk9ORSA/PSAiVW5pdmVyc2FsIgotSU5TVEFMTF9USU1FWk9ORV9GSUxFID89ICIxIgotCi1UWk9ORVM9ICJhZnJpY2EgYW50YXJjdGljYSBhc2lhIGF1c3RyYWxhc2lhIGV1cm9wZSBub3J0aGFtZXJpY2Egc291dGhhbWVyaWNhICBcCi0gICAgICAgICBmYWN0b3J5IGV0Y2V0ZXJhIGJhY2t3YXJkIHN5c3RlbXYgXAotICAgICAgICAiCi0jIHBhY2lmaWNuZXcgCi0KLWRvX2NvbXBpbGUgKCkgewotICAgICAgICBmb3Igem9uZSBpbiAke1RaT05FU307IGRvIFwKLSAgICAgICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS96aWMgLWQgJHtXT1JLRElSfSR7ZGF0YWRpcn0vem9uZWluZm8gLUwgL2Rldi9udWxsIFwKLSAgICAgICAgICAgICAgICAteSAke1N9L3llYXJpc3R5cGUuc2ggJHtTfS8ke3pvbmV9IDsgXAotICAgICAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3ppYyAtZCAke1dPUktESVJ9JHtkYXRhZGlyfS96b25laW5mby9wb3NpeCAtTCAvZGV2L251bGwgXAotICAgICAgICAgICAgICAgIC15ICR7U30veWVhcmlzdHlwZS5zaCAke1N9LyR7em9uZX0gOyBcCi0gICAgICAgICAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vemljIC1kICR7V09SS0RJUn0ke2RhdGFkaXJ9L3pvbmVpbmZvL3JpZ2h0IC1MICR7U30vbGVhcHNlY29uZHMgXAotICAgICAgICAgICAgICAgIC15ICR7U30veWVhcmlzdHlwZS5zaCAke1N9LyR7em9uZX0gOyBcCi0gICAgICAgIGRvbmUKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgICAgIGluc3RhbGwgLWQgJHtEfS8kZXhlY19wcmVmaXggJHtEfSR7ZGF0YWRpcn0vem9uZWluZm8KLSAgICAgICAgY3AgLXBQUiAke1N9LyRleGVjX3ByZWZpeCAke0R9LwotICAgICAgICAjIGxpYmMgaXMgcmVtb3Zpbmcgem9uZWluZm8gZmlsZXMgZnJvbSBwYWNrYWdlCi0gICAgICAgIGNwIC1wUCAiJHtTfS96b25lLnRhYiIgJHtEfSR7ZGF0YWRpcn0vem9uZWluZm8KLSAgICAgICAgY3AgLXBQICIke1N9L3pvbmUxOTcwLnRhYiIgJHtEfSR7ZGF0YWRpcn0vem9uZWluZm8KLSAgICAgICAgY3AgLXBQICIke1N9L2lzbzMxNjYudGFiIiAke0R9JHtkYXRhZGlyfS96b25laW5mbwotCi0gICAgICAgICMgSW5zdGFsbCBkZWZhdWx0IHRpbWV6b25lCi0gICAgICAgIGlmIFsgLWUgJHtEfSR7ZGF0YWRpcn0vem9uZWluZm8vJHtERUZBVUxUX1RJTUVaT05FfSBdOyB0aGVuCi0gICAgICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9Ci0gICAgICAgICAgICBpZiBbICIke0lOU1RBTExfVElNRVpPTkVfRklMRX0iID0gIjEiIF07IHRoZW4KLSAgICAgICAgICAgICAgICBlY2hvICR7REVGQVVMVF9USU1FWk9ORX0gPiAke0R9JHtzeXNjb25mZGlyfS90aW1lem9uZQotICAgICAgICAgICAgZmkKLSAgICAgICAgICAgIGxuIC1zICR7ZGF0YWRpcn0vem9uZWluZm8vJHtERUZBVUxUX1RJTUVaT05FfSAke0R9JHtzeXNjb25mZGlyfS9sb2NhbHRpbWUKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgYmJlcnJvciAiREVGQVVMVF9USU1FWk9ORSBpcyBzZXQgdG8gYW4gaW52YWxpZCB2YWx1ZS4iCi0gICAgICAgICAgICBleGl0IDEKLSAgICAgICAgZmkKLQotICAgICAgICBjaG93biAtUiByb290OnJvb3QgJHtEfQotfQotCi1wa2dfcG9zdGluc3RfJHtQTn0gKCkgewotCWV0Y19sdD0iJEQke3N5c2NvbmZkaXJ9L2xvY2FsdGltZSIKLQlzcmM9IiREJHtzeXNjb25mZGlyfS90aW1lem9uZSIKLQotCWlmIFsgLWUgJHtzcmN9IF0gOyB0aGVuCi0JCXR6PSQoc2VkIC1lICdzOiMuKjo6JyAtZSAnczpbWzpzcGFjZTpdXSo6OmcnIC1lICcvXiQvZCcgIiR7c3JjfSIpCi0JZmkKLQkKLQlpZiBbIC16ICIke3R6fSIgXSA7IHRoZW4KLQkJZXhpdCAwCi0JZmkKLQkKLQlpZiBbICEgLWUgIiREJHtkYXRhZGlyfS96b25laW5mby8ke3R6fSIgXSA7IHRoZW4KLQkJZWNobyAiWW91IGhhdmUgYW4gaW52YWxpZCBUSU1FWk9ORSBzZXR0aW5nIGluICR7c3JjfSIKLQkJZWNobyAiWW91ciAke2V0Y19sdH0gaGFzIGJlZW4gcmVzZXQgdG8gVW5pdmVyc2FsOyBlbmpveSEiCi0JCXR6PSJVbml2ZXJzYWwiCi0JCWVjaG8gIlVwZGF0aW5nICR7ZXRjX2x0fSB3aXRoICREJHtkYXRhZGlyfS96b25laW5mby8ke3R6fSIKLQkJaWYgWyAtTCAke2V0Y19sdH0gXSA7IHRoZW4KLQkJCXJtIC1mICIke2V0Y19sdH0iCi0JCWZpCi0JCWxuIC1zICIke2RhdGFkaXJ9L3pvbmVpbmZvLyR7dHp9IiAiJHtldGNfbHR9IgotCWZpCi19Ci0KLSMgUGFja2FnZXMgcHJpbWFyaWx5IG9yZ2FuaXplZCBieSBkaXJlY3Rvcnkgd2l0aCBhIG1ham9yIGNpdHkKLSMgaW4gbW9zdCB0aW1lIHpvbmVzIGluIHRoZSBiYXNlIHBhY2thZ2UKLQotUEFDS0FHRVMgPSAidHpkYXRhIHR6ZGF0YS1taXNjIHR6ZGF0YS1wb3NpeCB0emRhdGEtcmlnaHQgdHpkYXRhLWFmcmljYSBcCi0gICAgdHpkYXRhLWFtZXJpY2FzIHR6ZGF0YS1hbnRhcmN0aWNhIHR6ZGF0YS1hcmN0aWMgdHpkYXRhLWFzaWEgXAotICAgIHR6ZGF0YS1hdGxhbnRpYyB0emRhdGEtYXVzdHJhbGlhIHR6ZGF0YS1ldXJvcGUgdHpkYXRhLXBhY2lmaWMiCi0KLUZJTEVTX3R6ZGF0YS1hZnJpY2EgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQWZyaWNhLyoiCi1SUFJPVklERVNfdHpkYXRhLWFmcmljYSA9ICJ0emRhdGEtYWZyaWNhIgotCi1GSUxFU190emRhdGEtYW1lcmljYXMgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQW1lcmljYS8qICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9VUy8qICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0JyYXppbC8qICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vQ2FuYWRhLyogICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9NZXhpY28vKiAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0NoaWxlLyoiCi1SUFJPVklERVNfdHpkYXRhLWFtZXJpY2FzID0gInR6ZGF0YS1hbWVyaWNhcyIKLQotRklMRVNfdHpkYXRhLWFudGFyY3RpY2EgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQW50YXJjdGljYS8qIgotUlBST1ZJREVTX3R6ZGF0YS1hbnRhcmN0aWNhID0gInR6ZGF0YS1hbnRhcmN0aWNhIgotCi1GSUxFU190emRhdGEtYXJjdGljICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL0FyY3RpYy8qIgotUlBST1ZJREVTX3R6ZGF0YS1hcmN0aWMgPSAidHpkYXRhLWFyY3RpYyIKLQotRklMRVNfdHpkYXRhLWFzaWEgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQXNpYS8qICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9JbmRpYW4vKiAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01pZGVhc3QvKiIKLVJQUk9WSURFU190emRhdGEtYXNpYSA9ICJ0emRhdGEtYXNpYSIKLQotRklMRVNfdHpkYXRhLWF0bGFudGljICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL0F0bGFudGljLyoiCi1SUFJPVklERVNfdHpkYXRhLWF0bGFudGljID0gInR6ZGF0YS1hdGxhbnRpYyIKLQotRklMRVNfdHpkYXRhLWF1c3RyYWxpYSArPSAiJHtkYXRhZGlyfS96b25laW5mby9BdXN0cmFsaWEvKiIKLVJQUk9WSURFU190emRhdGEtYXVzdHJhbGlhID0gInR6ZGF0YS1hdXN0cmFsaWEiCi0KLUZJTEVTX3R6ZGF0YS1ldXJvcGUgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vRXVyb3BlLyoiCi1SUFJPVklERVNfdHpkYXRhLWV1cm9wZSA9ICJ0emRhdGEtZXVyb3BlIgotCi1GSUxFU190emRhdGEtcGFjaWZpYyArPSAiJHtkYXRhZGlyfS96b25laW5mby9QYWNpZmljLyoiCi1SUFJPVklERVNfdHpkYXRhLXBhY2lmaWMgPSAidHpkYXRhLXBhY2lmaWMiCi0KLUZJTEVTX3R6ZGF0YS1wb3NpeCArPSAiJHtkYXRhZGlyfS96b25laW5mby9wb3NpeC8qIgotUlBST1ZJREVTX3R6ZGF0YS1wb3NpeCA9ICJ0emRhdGEtcG9zaXgiCi0KLUZJTEVTX3R6ZGF0YS1yaWdodCArPSAiJHtkYXRhZGlyfS96b25laW5mby9yaWdodC8qIgotUlBST1ZJREVTX3R6ZGF0YS1yaWdodCA9ICJ0emRhdGEtcmlnaHQiCi0KLQotRklMRVNfdHpkYXRhLW1pc2MgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQ3ViYSAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vRWd5cHQgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vRWlyZSAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vRmFjdG9yeSAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vR0ItRWlyZSAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSG9uZ2tvbmcgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSWNlbGFuZCAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSXJhbiAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSXNyYWVsICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSmFtYWljYSAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSmFwYW4gICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vS3dhamFsZWluICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vTGlieWEgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vTmF2YWpvICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vUG9sYW5kICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vUG9ydHVnYWwgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vU2luZ2Fwb3JlICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vVHVya2V5IgotUlBST1ZJREVTX3R6ZGF0YS1taXNjID0gInR6ZGF0YS1taXNjIgotCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL1BhY2lmaWMvSG9ub2x1bHUgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvQW5jaG9yYWdlICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvTG9zX0FuZ2VsZXMgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvRGVudmVyICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvQ2hpY2FnbyAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvTmV3X1lvcmsgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvQ2FyYWNhcyAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvU2FvX1BhdWxvICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V1cm9wZS9Mb25kb24gICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V1cm9wZS9QYXJpcyAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FmcmljYS9DYWlybyAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V1cm9wZS9Nb3Njb3cgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvRHViYWkgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvS2FyYWNoaSAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvRGhha2EgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvQmFuZ2tvayAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvSG9uZ19Lb25nICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvVG9reW8gICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9EYXJ3aW4gICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9BZGVsYWlkZSAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9CcmlzYmFuZSAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9TeWRuZXkgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BhY2lmaWMvTm91bWVhICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0NFVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0NTVDZDRFQgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VFVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VTVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VTVDVFRFQgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dCICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVCswICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVC0wICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVDAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dyZWVud2ljaCAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0hTVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01FVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01TVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01TVDdNRFQgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL05aICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL05aLUNIQVQgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BSQyAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BTVDhQRFQgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1JPQyAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1JPSyAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1VDVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1VUQyAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1VuaXZlcnNhbCAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1ctU1UgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1dFVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1p1bHUgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL3pvbmUudGFiICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL3pvbmUxOTcwLnRhYiAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL2lzbzMxNjYudGFiICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V0Yy8qIgotCi1DT05GRklMRVNfJHtQTn0gKz0gIiR7QCAiJHtzeXNjb25mZGlyfS90aW1lem9uZSIgaWYgYmIudXRpbHMudG9fYm9vbGVhbihkLmdldFZhcignSU5TVEFMTF9USU1FWk9ORV9GSUxFJykpIGVsc2UgIiIgfSIKLUNPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9sb2NhbHRpbWUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXQuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0LmluYwppbmRleCAzY2ZmNjU2Li4wN2U4ZDhlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXQuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dnZXQvd2dldC5pbmMKQEAgLTMsMTIgKzMsMTEgQEAKIFNFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgogTElDRU5TRSA9ICJHUEx2MyIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM2Nzg5NTdiMGM4ZTk2NGFhNmM3MGZkNzc2NDFhNzFlIgotREVQRU5EUyA9ICJnbnV0bHMgemxpYiBsaWJwY3JlIgogCiBpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHRleGluZm8gdXBkYXRlLWFsdGVybmF0aXZlcyBwa2djb25maWcKIAotRVhUUkFfT0VDT05GID0gIi0td2l0aC1zc2w9Z251dGxzIC0tZGlzYWJsZS1ycGF0aCAtLWRpc2FibGUtaXJpIFwKLSAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbGliZ251dGxzLXByZWZpeCBhY19jdl9oZWFkZXJfdXVpZF91dWlkX2g9bm8iCitFWFRSQV9PRUNPTkYgPSAiLS13aXRob3V0LWxpYmdudXRscy1wcmVmaXggLS13aXRob3V0LWxpYnNzbC1wcmVmaXggXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ycGF0aCIKIAogRVhUUkFfT0VNQUtFICs9ICdUT09MQ0hBSU5fT1BUSU9OUz0iJHtUT09MQ0hBSU5fT1BUSU9OU30iIFwKICAgICAgICAgICAgICAgICAgREVCVUdfUFJFRklYX01BUD0iJHtERUJVR19QUkVGSVhfTUFQfSInCkBAIC0yMSw5ICsyMCwxNyBAQAogCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKIAotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCi1QQUNLQUdFQ09ORklHW2xpYnV1aWRdID0gIi0td2l0aC1saWJ1dWlkLCAtLXdpdGhvdXQtbGlidXVpZCx1dGlsLWxpbnV4IgorUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyBwY3JlIHpsaWIgXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCitQQUNLQUdFQ09ORklHW2FyZXNdID0gIi0td2l0aC1jYXJlcywtLXdpdGhvdXQtY2FyZXMsYy1hcmVzIgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0td2l0aC1zc2w9Z251dGxzLCxnbnV0bHMiCiBQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgorUEFDS0FHRUNPTkZJR1tpcmldID0gIi0tZW5hYmxlLWlyaSwtLWRpc2FibGUtaXJpLGxpYmlkbjIiCitQQUNLQUdFQ09ORklHW2xpYnBzbF0gPSAiLS13aXRoLWxpYnBzbCwtLXdpdGhvdXQtbGlicHNsLGxpYnBzbCIKK1BBQ0tBR0VDT05GSUdbbGlidXVpZF0gPSAiLS13aXRoLWxpYnV1aWQsLS13aXRob3V0LWxpYnV1aWQsdXRpbC1saW51eCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLXNzbD1vcGVuc3NsLCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1twY3JlXSA9ICItLWVuYWJsZS1wY3JlLC0tZGlzYWJsZS1wY3JlLGxpYnBjcmUiCitQQUNLQUdFQ09ORklHW3psaWJdID0gIi0td2l0aC16bGliLC0td2l0aG91dC16bGliLHpsaWIiCiAKICMgTGV0IGFjbG9jYWwgdXNlIHRoZSByZWxhdGl2ZSBwYXRoIGZvciB0aGUgbTQgZmlsZSByYXRoZXIgdGhhbgogIyBhYnNvbHV0ZSwgb3RoZXJ3aXNlIHRoZXJlIG1pZ2h0IGJlIGFuICJBcmd1bWVudCBsaXN0IHRvbyBsb25nIiBlcnJvcgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0LzAwMDEtVW5zZXQtbmVlZF9jaGFyc2V0X2FsaWFzLXdoZW4tYnVpbGRpbmctZm9yLW11c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXQvMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGIzYzZmNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXQvMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gYjk1NjVkYzJmZTBjNGY3ZGFhZWM5MWI3ZTgzYmM3MzEzZGVlMmY0YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDEzIEFwciAyMDE1IDE3OjAyOjEzIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIFVuc2V0IG5lZWRfY2hhcnNldF9hbGlhcyB3aGVuIGJ1aWxkaW5nIGZvciBtdXNsCi0KLWxvY2FsY2hhcnNldCB1c2VzIGFjX2N2X2dudV9saWJyYXJ5XzJfMSBmcm9tIGdsaWJjMjEubTQKLXdoaWNoIGFjdHVhbGx5IHNob3VkbCBiZSBmaXhlZCBpbiBnbnVsaWIgYW5kIHRoZW4gYWxsIGRvd25zdHJlYW0KLXByb2plY3RzIHdpbGwgZ2V0IGl0IGV2ZW50dWFsbHkuIEZvciBub3cgd2UgYXBwbHkgdGhlIGZpeCB0bwotY29yZXV0aWxzCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gbGliL2dudWxpYi5tayB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotSW5kZXg6IHdnZXQtMS4xNi4zL2xpYi9NYWtlZmlsZS5hbQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHdnZXQtMS4xNi4zLm9yaWcvbGliL01ha2VmaWxlLmFtCi0rKysgd2dldC0xLjE2LjMvbGliL01ha2VmaWxlLmFtCi1AQCAtODQ2LDcgKzg0Niw3IEBAIGluc3RhbGwtZXhlYy1sb2NhbGNoYXJzZXQ6IGFsbC1sb2NhbAotIAkgIGNhc2UgJyQoaG9zdF9vcyknIGluIFwKLSAJICAgIGRhcndpbls1Nl0qKSBcCi0gCSAgICAgIG5lZWRfY2hhcnNldF9hbGlhcz10cnVlIDs7IFwKLS0JICAgIGRhcndpbiogfCBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopIFwKLSsJICAgIGRhcndpbiogfCBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyogfCBsaW51eC1tdXNsKikgXAotIAkgICAgICBuZWVkX2NoYXJzZXRfYWxpYXM9ZmFsc2UgOzsgXAotIAkgICAgKikgXAotIAkgICAgICBuZWVkX2NoYXJzZXRfYWxpYXM9dHJ1ZSA7OyBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXRfMS4xOS41LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0XzEuMTkuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTM3ZDhjNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXRfMS4xOS41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vd2dldC93Z2V0LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItaW1wcm92ZS1yZXByb2R1Y2liaWxpdHkucGF0Y2ggXAotICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjJkYjZmMDNkNjU1MDQxZjgyZWI2NGI4YzhhMWZhN2RhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImIzOTIxMmFiZTFhNzNmMmIyOGY0YzZjYjIyM2M3Mzg1NTljYWFjOTFkNmU0MTZhNmQ5MWQ0YjlkNTVjOWZhZWUiCi0KLXJlcXVpcmUgd2dldC5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dnZXQvd2dldF8xLjIwLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXRfMS4yMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxNzZiZDAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXRfMS4yMC4xLmJiCkBAIC0wLDAgKzEsOCBAQAorU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L3dnZXQvd2dldC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1pbXByb3ZlLXJlcHJvZHVjaWJpbGl0eS5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjZlYmU5YzdiMzc1ZmM5ODMyZmIxYjIwMjgyNzFmYjciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjc4M2IzOTBjYjU3MWM4MzdiMzkyODU3OTQ1ZjVhMWYwMGVjNmIwNDMxNzdjYzQyYWJiOGVlMWI1NDJlZTFiMyIKKworcmVxdWlyZSB3Z2V0LmluYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZXBpcGhhbnkvZXBpcGhhbnlfMy4yOC4zLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9lcGlwaGFueS9lcGlwaGFueV8zLjI4LjMuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjQ2YzlkMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9lcGlwaGFueS9lcGlwaGFueV8zLjI4LjMuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLVNVTU1BUlkgPSAiV2ViS2l0IGJhc2VkIHdlYiBicm93c2VyIGZvciBHTk9NRSIKLUxJQ0VOU0UgPSAiR1BMdjMrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi0KLURFUEVORFMgPSAibGlic291cC0yLjQgd2Via2l0Z3RrIGd0ayszIGlzby1jb2RlcyBhdmFoaSBsaWJub3RpZnkgZ2NyIFwKLQkgICBnc2V0dGluZ3MtZGVza3RvcC1zY2hlbWFzIGxpYnhtbDItbmF0aXZlIFwKLQkgICBnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUganNvbi1nbGliIgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgotaW5oZXJpdCBnbm9tZWJhc2UgZ3NldHRpbmdzIGRpc3Ryb19mZWF0dXJlc19jaGVjayB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ2V0dGV4dAotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSBvcGVuZ2wiCi0KLVNSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9LyR7R05PTUVCTn0vJHtAZ25vbWVfdmVyZGlyKCIke1BWfSIpfS8ke0dOT01FQk59LSR7UFZ9LnRhci4ke0dOT01FX0NPTVBSRVNTX1RZUEV9O25hbWU9YXJjaGl2ZSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWhlbHAtbWVzb24uYnVpbGQtZGlzYWJsZS10aGUtdXNlLW9mLXllbHAucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIzMWE0YTQ0M2U4ZTIyZjA4NWExMGY4MGI3ZTQxZDVmMyIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjY5MDU0NmE3MDFmMDQ2YzVjMmIzYTA5MjY1OTU4OWVhNmUxN2NiMGY5YTgxZWMzZmRiMzA0NmIwMGNlZGU2ZjciCi0KLUVYVFJBX09FTUVTT04gKz0gIiAtRGRpc3RyaWJ1dG9yX25hbWU9JHtESVNUUk99IgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEgJHtkYXRhZGlyfS9nbm9tZS1zaGVsbC9zZWFyY2gtcHJvdmlkZXJzICR7ZGF0YWRpcn0vbWV0YWluZm8iCi1SREVQRU5EU18ke1BOfSA9ICJpc28tY29kZXMgYWR3YWl0YS1pY29uLXRoZW1lIGdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9lcGlwaGFueS9lcGlwaGFueV8zLjMwLjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9lcGlwaGFueS9lcGlwaGFueV8zLjMwLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTY0YzgyZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2VwaXBoYW55L2VwaXBoYW55XzMuMzAuMy5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIldlYktpdCBiYXNlZCB3ZWIgYnJvd3NlciBmb3IgR05PTUUiCitMSUNFTlNFID0gIkdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitERVBFTkRTID0gImxpYnNvdXAtMi40IHdlYmtpdGd0ayBndGsrMyBpc28tY29kZXMgYXZhaGkgbGlibm90aWZ5IGdjciBcCisJICAgZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyBsaWJ4bWwyLW5hdGl2ZSBcCisJICAgZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIGpzb24tZ2xpYiBsaWJkYXp6bGUiCisKK0dOT01FQkFTRUJVSUxEQ0xBU1MgPSAibWVzb24iCitpbmhlcml0IGdub21lYmFzZSBnc2V0dGluZ3MgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnZXR0ZXh0CitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIG9wZW5nbCIKKworU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtHTk9NRUJOfS8ke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9LyR7R05PTUVCTn0tJHtQVn0udGFyLiR7R05PTUVfQ09NUFJFU1NfVFlQRX07bmFtZT1hcmNoaXZlIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItaGVscC1tZXNvbi5idWlsZC1kaXNhYmxlLXRoZS11c2Utb2YteWVscC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImZkMDU3MDJiMWM5YmNiNmEwNjMzZGU1NGM0YTZjY2QyIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNzZjZGI4ZGI2YWYyZGE4YzMzNzFhNzNlMmRmZDViYTY0ODY3YjVmMWU2NWZhOTYyMWYzNTM0OGE0MmZmMGQxNyIKKworRVhUUkFfT0VNRVNPTiArPSAiIC1EZGlzdHJpYnV0b3JfbmFtZT0ke0RJU1RST30iCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMSAke2RhdGFkaXJ9L2dub21lLXNoZWxsL3NlYXJjaC1wcm92aWRlcnMgJHtkYXRhZGlyfS9tZXRhaW5mbyIKK1JERVBFTkRTXyR7UE59ID0gImlzby1jb2RlcyBhZHdhaXRhLWljb24tdGhlbWUgZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2djci9nY3JfMy4yOC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2NyL2djcl8zLjI4LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA3OTYzNjIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2NyL2djcl8zLjI4LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1TVU1NQVJZID0gIkEgbGlicmFyeSBmb3IgYml0cyBvZiBjcnlwdG8gVUkgYW5kIHBhcnNpbmcgZXRjIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbm9tZS5vcmcvIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCi0KLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSIKLQotREVQRU5EUyA9ICJpbnRsdG9vbC1uYXRpdmUgZ3RrKzMgcDExLWtpdCBnbGliLTIuMCBsaWJnY3J5cHQgXAotICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnbGlieHNsdC1uYXRpdmUnLCAnJywgZCl9IgotCi1pbmhlcml0IGdub21lYmFzZSBndGstaWNvbi1jYWNoZSBndGstZG9jIGRpc3Ryb19mZWF0dXJlc19jaGVjayB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24KLSMgZGVwZW5kcyBvbiBndGsrMywgYnV0IGFsc28geDExIHRocm91Z2ggZ3RrKy14MTEKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjUzMjEzMTkzMDdkYWQzNGRjYTJmZDUyZTdjOWMwMWFiIgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMTVlMTc1ZDFkYTdlYzQ4NmQ1OTc0OWJhMzQ5MDYyNDFjNDQyODk4MTE4Y2UyMjRhN2I3MGJmMmU4NDlmYWYwYiIKLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS9kYnVzLTEgXAotICAgICR7ZGF0YWRpcn0vZ2NyLTMgXAotIgotCi0jIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy8yMDIyOS8KLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY2ID0gImFybSIKLQotIyBUaGVzZSBmaWxlcyBtYXkgYmUgb3V0IG9mIGRhdGUgb3IgbWlzc2luZyBvdXIgZml4ZXMKLSMgbGliZ2NyeXB0Lm00IGluIHBhcnRpY3VsYXIgaXMgY2FsbGluZyBpbnRvIGxpYmdjcnlwdC1jb25maWcKLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgIHJtIC1mICR7U30vYnVpbGQvbTQvKgotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2NyL2djcl8zLjI4LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nY3IvZ2NyXzMuMjguMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjk5MTk5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2NyL2djcl8zLjI4LjEuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJBIGxpYnJhcnkgZm9yIGJpdHMgb2YgY3J5cHRvIFVJIGFuZCBwYXJzaW5nIGV0YyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ25vbWUub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUiCisKK0RFUEVORFMgPSAiaW50bHRvb2wtbmF0aXZlIGd0ayszIHAxMS1raXQgZ2xpYi0yLjAgbGliZ2NyeXB0IFwKKyAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJ2xpYnhzbHQtbmF0aXZlJywgJycsIGQpfSIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWljb24tY2FjaGUgZ3RrLWRvYyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIHZhbGEgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisjIGRlcGVuZHMgb24gZ3RrKzMsIGJ1dCBhbHNvIHgxMSB0aHJvdWdoIGd0aysteDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJhZmQ4OGNhY2ZkNTRjMWFjNWIzZTBlYjM1ZTNhYTY3NCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjk1MjA0YWEyMTExYzMwMTc3OGViZmJlNjA5NzVjZTNlZDY5OGM5NTg0MzBmZmNjMmE3ODVhYzVlNTkzZDE2OGIiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAke2RhdGFkaXJ9L2djci0zIFwKKyIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjAyMjkvCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NiA9ICJhcm0iCisKKyMgVGhlc2UgZmlsZXMgbWF5IGJlIG91dCBvZiBkYXRlIG9yIG1pc3Npbmcgb3VyIGZpeGVzCisjIGxpYmdjcnlwdC5tNCBpbiBwYXJ0aWN1bGFyIGlzIGNhbGxpbmcgaW50byBsaWJnY3J5cHQtY29uZmlnCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBybSAtZiAke1N9L2J1aWxkL200LyoKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLUZpeC1hLWNvdXBsZS1vZi1kZWNpc2lvbnMtYXJvdW5kLWNyb3NzLWNvbXBpbGF0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDEtRml4LWEtY291cGxlLW9mLWRlY2lzaW9ucy1hcm91bmQtY3Jvc3MtY29tcGlsYXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTYzOGZkMwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLUZpeC1hLWNvdXBsZS1vZi1kZWNpc2lvbnMtYXJvdW5kLWNyb3NzLWNvbXBpbGF0aW9uLnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAKK0Zyb20gYmY3MTk5OWI2ZTY0ZDFmMTkxOWIwMzUxYjI3YzFjNDE3ZTJiODg1NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVGh1LCAxNCBGZWIgMjAxOSAxODowNjoyNSArMDEwMAorU3ViamVjdDogW1BBVENIXSBHZW5lcmF0ZSBsb2FkZXJzLmNhY2hlIHVzaW5nIGEgbmF0aXZlIHRvb2wgd2hlbgorIGNyb3NzLWNvbXBpbGluZworCitPdGhlcndpc2UgbWVzb24gd291bGQgYXR0ZW1wdCB0byBydW4gYSB0YXJnZXQgYmluYXJ5LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCistLS0KKyBnZGstcGl4YnVmL21lc29uLmJ1aWxkIHwgMTMgKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nZGstcGl4YnVmL21lc29uLmJ1aWxkIGIvZ2RrLXBpeGJ1Zi9tZXNvbi5idWlsZAoraW5kZXggMTk5NWZmZC4uZDY5MmNiNyAxMDA2NDQKKy0tLSBhL2dkay1waXhidWYvbWVzb24uYnVpbGQKKysrKyBiL2dkay1waXhidWYvbWVzb24uYnVpbGQKK0BAIC0yOTEsNiArMjkxLDcgQEAgZm9yZWFjaCBiaW46IGdka3BpeGJ1Zl9iaW4KKyAgIHNldF92YXJpYWJsZShiaW5fbmFtZS51bmRlcnNjb3JpZnkoKSwgYmluKQorIGVuZGZvcmVhY2gKKyAKKytpZiBub3QgbWVzb24uaXNfY3Jvc3NfYnVpbGQoKQorICMgVGhlICdsb2FkZXJzLmNhY2hlJyB1c2VkIGZvciB0ZXN0aW5nLCBzbyB3ZSBkb24ndCBhY2NpZGVudGFsbHkKKyAjIGxvYWQgdGhlIGluc3RhbGxlZCBjYWNoZTsgd2UgYWx3YXlzIGJ1aWxkIGl0IGJ5IGRlZmF1bHQKKyBsb2FkZXJzX2NhY2hlID0gY3VzdG9tX3RhcmdldCgnbG9hZGVycy5jYWNoZScsCitAQCAtMzAyLDYgKzMwMywxOCBAQCBsb2FkZXJzX2NhY2hlID0gY3VzdG9tX3RhcmdldCgnbG9hZGVycy5jYWNoZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZF9ieV9kZWZhdWx0OiB0cnVlKQorIGxvYWRlcnNfZGVwID0gZGVjbGFyZV9kZXBlbmRlbmN5KHNvdXJjZXM6IFsgbG9hZGVyc19jYWNoZSBdKQorK2Vsc2UKKytsb2FkZXJzX2NhY2hlID0gY3VzdG9tX3RhcmdldCgnbG9hZGVycy5jYWNoZScsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0OiAnbG9hZGVycy5jYWNoZScsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FwdHVyZTogdHJ1ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRzOiBbIGR5bmFtaWNfbG9hZGVyc19kZXAgXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiBbCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2RrLXBpeGJ1Zi1xdWVyeS1sb2FkZXJzJywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR5bmFtaWNfbG9hZGVycywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkX2J5X2RlZmF1bHQ6IHRydWUpCisrbG9hZGVyc19kZXAgPSBkZWNsYXJlX2RlcGVuZGVuY3koc291cmNlczogWyBsb2FkZXJzX2NhY2hlIF0pCisrZW5kaWYKKyAKKyBwa2djb25maWcgPSBpbXBvcnQoJ3BrZ2NvbmZpZycpCisgcGtnY29uZmlnLmdlbmVyYXRlKApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDEtRml4LXdpdGhvdXQtbGlidGlmZi1ub3QtaGF2aW5nLWFuLWVmZmVjdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLUZpeC13aXRob3V0LWxpYnRpZmYtbm90LWhhdmluZy1hbi1lZmZlY3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJhNTRkOGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDEtRml4LXdpdGhvdXQtbGlidGlmZi1ub3QtaGF2aW5nLWFuLWVmZmVjdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLUZyb20gNDYwYmVmYzk5MmFkYjMyNDM0YjA0MDhiNDUzYmUzOWE2ODY2Y2NmOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotRGF0ZTogVHVlLCAxMCBPY3QgMjAxNyAxNDozMzoxOCArMDMwMAotU3ViamVjdDogW1BBVENIXSBGaXggLS13aXRob3V0LWxpYnRpZmYgbm90IGhhdmluZyBhbiBlZmZlY3QuCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4NzcwXQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci0tLS0KLSBjb25maWd1cmUuYWMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDMxNWUwY2MuLjk4ZTc4MGMgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTY3Niw3ICs2NzYsNyBAQCBpZiB0ZXN0IHgkZ2lvX2Nhbl9zbmlmZiA9IHg7IHRoZW4KLSAgIEFDX0RFRklORShHREtfUElYQlVGX1VTRV9HSU9fTUlNRSwgMSwgW0RlZmluZSBpZiBnaW8gY2FuIHNuaWZmIGltYWdlIGRhdGFdKQotIGZpCi0gCi0tQU1fQ09ORElUSU9OQUwoSEFWRV9USUZGLCB0ZXN0ICJ4JGxpYnRpZmZfZm91bmQiICE9IHgpCi0rQU1fQ09ORElUSU9OQUwoSEFWRV9USUZGLCB0ZXN0ICJ4JGxpYnRpZmZfZm91bmQiICE9IHhubykKLSBBTV9DT05ESVRJT05BTChIQVZFX1BORywgdGVzdCAieCRMSUJQTkciICE9IHgpCi0gQU1fQ09ORElUSU9OQUwoSEFWRV9KUEVHLCB0ZXN0ICJ4JExJQkpQRUciICE9IHgpCi0gQU1fQ09ORElUSU9OQUwoSEFWRV9KQVNQRVIsIHRlc3QgIngkTElCSkFTUEVSIiAhPSB4KQotLS0gCi0yLjE0LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDEtV29yay1hcm91bmQtdGh1bWJuYWlsZXItY3Jvc3MtY29tcGlsZS1mYWlsdXJlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDEtV29yay1hcm91bmQtdGh1bWJuYWlsZXItY3Jvc3MtY29tcGlsZS1mYWlsdXJlLnBhdGNoCmluZGV4IDMxZWQ5ODguLjExMGIzMmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLVdvcmstYXJvdW5kLXRodW1ibmFpbGVyLWNyb3NzLWNvbXBpbGUtZmFpbHVyZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvMDAwMS1Xb3JrLWFyb3VuZC10aHVtYm5haWxlci1jcm9zcy1jb21waWxlLWZhaWx1cmUucGF0Y2gKQEAgLTEsNDcgKzEsMjggQEAKLUZyb20gNjY0NmU4YWFkYzQwMzBkODkxYWMyN2MyNTQ5NGU1NzkzZDU5ZGM4NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEp1c3NpIEt1a2tvbmVuIDxqdXNzaS5rdWtrb25lbkBpbnRlbC5jb20+Ci1EYXRlOiBXZWQsIDIyIEZlYiAyMDE3IDExOjI0OjM5ICswMjAwCitGcm9tIDhjN2NlZDk4OGRlZjUyNjU0OTQ2NDU4YTM3NzllMzgzYjI3ZjE0ZjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTQgRmViIDIwMTkgMTc6NTY6MTAgKzAxMDAKIFN1YmplY3Q6IFtQQVRDSF0gV29yay1hcm91bmQgdGh1bWJuYWlsZXIgY3Jvc3MtY29tcGlsZSBmYWlsdXJlCiAKIEluc3RhbGwgZ2RrLXBpeGJ1Zi1wcmludC1taW1lLXR5cGVzIHRoYXQncyBuZWVkZWQgZm9yIHRodW1ibmFpbAogbWV0YWRhdGEgZ2VuZXJhdGlvbi4KIAotVXNlIG5hdGl2ZSBnZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXMgd2hlbiBnZW5lcmF0aW5nIHRoZSB0aHVtYm5haWwKLW1ldGFkYXRhLiBUaGlzIHdvcmtzIGJ1dCB0aGUgbWltZSB0eXBlcyB3aWxsIGNvbWUgZnJvbSBuYXRpdmUKLWxvYWRlci5jYWNoZSAod2hpY2ggd2lsbCBvbmx5IGNvbnRhaW4gaW4tdHJlZSBsb2FkZXJzKSwgbm90IGZyb20gdGhlCi10YXJnZXQgbG9hZGVyLmNhY2hlLgotCiBUaGUgdXBzdHJlYW0gaXNzdWUgaXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTA1NwogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW3dvcmthcm91bmRdCi1TaWduZWQtb2ZmLWJ5OiBKdXNzaSBLdWtrb25lbiA8anVzc2kua3Vra29uZW5AaW50ZWwuY29tPgorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiAtLS0KLSB0aHVtYm5haWxlci9NYWtlZmlsZS5hbSB8IDcgKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisgdGh1bWJuYWlsZXIvbWVzb24uYnVpbGQgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKIAotZGlmZiAtLWdpdCBhL3RodW1ibmFpbGVyL01ha2VmaWxlLmFtIGIvdGh1bWJuYWlsZXIvTWFrZWZpbGUuYW0KLWluZGV4IGM5ZmUxMjMuLmIwYzZjNzAgMTAwNjQ0Ci0tLS0gYS90aHVtYm5haWxlci9NYWtlZmlsZS5hbQotKysrIGIvdGh1bWJuYWlsZXIvTWFrZWZpbGUuYW0KLUBAIC0xLDUgKzEsNCBAQAotLWJpbl9QUk9HUkFNUyA9IGdkay1waXhidWYtdGh1bWJuYWlsZXIKLS1ub2luc3RfUFJPR1JBTVMgPSBnZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXMKLStiaW5fUFJPR1JBTVMgPSBnZGstcGl4YnVmLXRodW1ibmFpbGVyIGdkay1waXhidWYtcHJpbnQtbWltZS10eXBlcworZGlmZiAtLWdpdCBhL3RodW1ibmFpbGVyL21lc29uLmJ1aWxkIGIvdGh1bWJuYWlsZXIvbWVzb24uYnVpbGQKK2luZGV4IGU4MDExNDQuLmFhYWZlYzggMTAwNjQ0CistLS0gYS90aHVtYm5haWxlci9tZXNvbi5idWlsZAorKysrIGIvdGh1bWJuYWlsZXIvbWVzb24uYnVpbGQKK0BAIC0xMCw2ICsxMCw3IEBAIGV4ZWN1dGFibGUoJ2dkay1waXhidWYtdGh1bWJuYWlsZXInLAorIGdka19waXhidWZfcHJpbnRfbWltZV90eXBlcyA9IGV4ZWN1dGFibGUoJ2dkay1waXhidWYtcHJpbnQtbWltZS10eXBlcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2RrLXBpeGJ1Zi1wcmludC1taW1lLXR5cGVzLmMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY19hcmdzOiBjb21tb25fY2ZsYWdzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFsbDogdHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llczogZ2RrX3BpeGJ1Zl9kZXBzICsgWyBnZGtwaXhidWZfZGVwIF0pCiAgCi0gZ2RrX3BpeGJ1Zl90aHVtYm5haWxlcl9TT1VSQ0VTID0gZ2RrLXBpeGJ1Zi10aHVtYm5haWxlci5jIGdub21lLXRodW1ibmFpbGVyLXNrZWxldG9uLmMgZ25vbWUtdGh1bWJuYWlsZXItc2tlbGV0b24uaAotIGdka19waXhidWZfdGh1bWJuYWlsZXJfQ1BQRkxBR1MgPQkJCVwKLUBAIC0yNSw5ICsyNCw5IEBAIGdka19waXhidWZfcHJpbnRfbWltZV90eXBlc19MREFERCA9CQkJXAotIAotIHRodW1ibmFpbGVyZGlyID0gJChkYXRhZGlyKS90aHVtYm5haWxlcnMvCi0gdGh1bWJuYWlsZXJfREFUQSA9IGdkay1waXhidWYtdGh1bWJuYWlsZXIudGh1bWJuYWlsZXIKLS1nZGstcGl4YnVmLXRodW1ibmFpbGVyLnRodW1ibmFpbGVyOiBnZGstcGl4YnVmLXRodW1ibmFpbGVyLnRodW1ibmFpbGVyLmluIE1ha2VmaWxlIGdkay1waXhidWYtcHJpbnQtbWltZS10eXBlcyQoRVhFRVhUKSAkKHRvcF9idWlsZGRpcikvZ2RrLXBpeGJ1Zi9sb2FkZXJzLmNhY2hlCi0rZ2RrLXBpeGJ1Zi10aHVtYm5haWxlci50aHVtYm5haWxlcjogZ2RrLXBpeGJ1Zi10aHVtYm5haWxlci50aHVtYm5haWxlci5pbiBNYWtlZmlsZSBnZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXMkKEVYRUVYVCkKLSAJJChBTV9WX0dFTikgJChTRUQpIC1lICJzfFxAYmluZGlyXEB8JChiaW5kaXIpfCIJCQkJCQlcCi0tCS1lICJzfFxAbWltZXR5cGVzXEB8YEdES19QSVhCVUZfTU9EVUxFX0ZJTEU9JCh0b3BfYnVpbGRkaXIpL2dkay1waXhidWYvbG9hZGVycy5jYWNoZSBHREtfUElYQlVGX1BJWERBVEE9JCh0b3BfYnVpbGRkaXIpL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi1waXhkYXRhICQoYnVpbGRkaXIpL2dkay1waXhidWYtcHJpbnQtbWltZS10eXBlc2B8IiBcCi0rCS1lICJzfFxAbWltZXR5cGVzXEB8YGdkay1waXhidWYtcHJpbnQtbWltZS10eXBlc2B8IiBcCi0gCSQ8ID4gJEAKLSAKLSBFWFRSQV9ESVNUID0gZ2RrLXBpeGJ1Zi10aHVtYm5haWxlci50aHVtYm5haWxlci5pbgotLS0gCi0yLjEuNAotCisgY3VzdG9tX3RhcmdldCgndGh1bWJuYWlsZXInLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDEtbG9hZGVycy5jYWNoZS1kZXBlbmQtb24tbG9hZGVycy1iZWluZy1mdWxseS1idWlsZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLWxvYWRlcnMuY2FjaGUtZGVwZW5kLW9uLWxvYWRlcnMtYmVpbmctZnVsbHktYnVpbGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE3NzUxNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLWxvYWRlcnMuY2FjaGUtZGVwZW5kLW9uLWxvYWRlcnMtYmVpbmctZnVsbHktYnVpbGQucGF0Y2gKQEAgLTAsMCArMSw1MSBAQAorRnJvbSAxMTZiYzhmN2E2MDM0Y2U0MzA1Mzg3NmE3MmExMzJmY2Q0ZTFlNDcyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDIwIEZlYiAyMDE5IDE5OjUzOjA3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGxvYWRlcnMuY2FjaGU6IGRlcGVuZCBvbiBsb2FkZXJzIGJlaW5nIGZ1bGx5IGJ1aWxkCisKK090aGVyd2lzZSwgcmFjZXMgaGF2ZSBiZWVuIG9ic2VydmVkOgoraHR0cHM6Ly9hdXRvYnVpbGRlci55b2N0b3Byb2plY3Qub3JnL3R5cGhvb24vIy9idWlsZGVycy82MS9idWlsZHMvMzEwL3N0ZXBzLzcvbG9ncy9zdGVwMWIKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworLS0tCisgZ2RrLXBpeGJ1Zi9tZXNvbi5idWlsZCB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2dkay1waXhidWYvbWVzb24uYnVpbGQgYi9nZGstcGl4YnVmL21lc29uLmJ1aWxkCitpbmRleCBmYzNlYjMzLi40ZTdlZDIwIDEwMDY0NAorLS0tIGEvZ2RrLXBpeGJ1Zi9tZXNvbi5idWlsZAorKysrIGIvZ2RrLXBpeGJ1Zi9tZXNvbi5idWlsZAorQEAgLTE3MSw2ICsxNzEsNyBAQCBnZGtwaXhidWZfZGVwID0gZGVjbGFyZV9kZXBlbmRlbmN5KGxpbmtfd2l0aDogZ2RrcGl4YnVmLAorICMgTm93IGNoZWNrIGlmIHdlIGFyZSBidWlsZGluZyBsb2FkZXJzIGFzIGluc3RhbGxlZCBzaGFyZWQgbW9kdWxlcworICMgV2UgZG8gdGhpcyBoZXJlIGJlY2F1c2Ugc2hhcmVkIG1vZHVsZXMgZGVwZW5kIG9uIGxpYmdkay1waXhidWYKKyBkeW5hbWljX2xvYWRlcnMgPSBbXQorK2R5bmFtaWNfbG9hZGVyc19kZXAgPSBbXQorIAorIGZvcmVhY2ggbDogbG9hZGVycworICAgbmFtZSA9IGxbMF0KK0BAIC0xODksNiArMTkwLDcgQEAgZm9yZWFjaCBsOiBsb2FkZXJzCisgCisgICAgICMgV2UgbmVlZCB0aGUgcGF0aCB0byBidWlsZCBsb2FkZXJzLmNhY2hlIGZvciB0ZXN0cworICAgICBkeW5hbWljX2xvYWRlcnMgKz0gbW9kLmZ1bGxfcGF0aCgpCisrICAgIGR5bmFtaWNfbG9hZGVyc19kZXAgKz0gbW9kCisgICBlbmRpZgorIGVuZGZvcmVhY2gKKyAKK0BAIC0yMDYsNiArMjA4LDcgQEAgaWYgZW5hYmxlX25hdGl2ZV93aW5kb3dzX2xvYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbGw6IHRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxsX2RpcjogZ2RrX3BpeGJ1Zl9sb2FkZXJkaXIpCisgICAgICAgZHluYW1pY19sb2FkZXJzICs9IG1vZC5mdWxsX3BhdGgoKQorKyAgICAgIGR5bmFtaWNfbG9hZGVyc19kZXAgKz0gbW9kCisgICAgIGVuZGZvcmVhY2gKKyAgIGVuZGlmCisgZW5kaWYKK0BAIC0yMzYsNiArMjM5LDcgQEAgaWYgbm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkKKyBsb2FkZXJzX2NhY2hlID0gY3VzdG9tX3RhcmdldCgnbG9hZGVycy5jYWNoZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0OiAnbG9hZGVycy5jYWNoZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FwdHVyZTogdHJ1ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRzOiBbIGR5bmFtaWNfbG9hZGVyc19kZXAgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiBbCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZGtfcGl4YnVmX3F1ZXJ5X2xvYWRlcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkeW5hbWljX2xvYWRlcnMsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvMDAwMy10YXJnZXQtb25seS1Xb3JrLWFyb3VuZC10aHVtYm5haWxlci1jcm9zcy1jb21waWxlLWZhLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDMtdGFyZ2V0LW9ubHktV29yay1hcm91bmQtdGh1bWJuYWlsZXItY3Jvc3MtY29tcGlsZS1mYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Mjg5NjJkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDMtdGFyZ2V0LW9ubHktV29yay1hcm91bmQtdGh1bWJuYWlsZXItY3Jvc3MtY29tcGlsZS1mYS5wYXRjaApAQCAtMCwwICsxLDk2IEBACitGcm9tIDZmYzdmMzQxMzk5ZWM0OWFiMDZjOTQ0MjZmNTBkYmRjYTQ5YTI4NDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjIgRmViIDIwMTkgMTM6MjI6MDYgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gKHRhcmdldCBvbmx5KSBXb3JrLWFyb3VuZCB0aHVtYm5haWxlciBhbmQgcGl4ZGF0YQorIGNyb3NzLWNvbXBpbGUgZmFpbHVyZQorCitVc2UgbmF0aXZlIGdkay1waXhidWYtcHJpbnQtbWltZS10eXBlcyBhbmQgZ2RrLXBpeGJ1Zi1waXhkYXRhCit3aGVuIGdlbmVyYXRpbmcgdGhlIHRodW1ibmFpbCBtZXRhZGF0YSBhbmQgcmVzb3VyY2VzLgorCitUaGlzIHdvcmtzIGJ1dCB0aGUgbWltZSB0eXBlcyB3aWxsIGNvbWUgZnJvbSBuYXRpdmUKK2xvYWRlci5jYWNoZSAod2hpY2ggd2lsbCBvbmx5IGNvbnRhaW4gaW4tdHJlZSBsb2FkZXJzKSwgbm90IGZyb20gdGhlCit0YXJnZXQgbG9hZGVyLmNhY2hlLgorCitUaGUgdXBzdHJlYW0gaXNzdWUgaXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTA1NworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW3dvcmthcm91bmRdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIGJ1aWxkLWF1eC9nZW4tdGh1bWJuYWlsZXIucHkgfCAgMiAtLQorIHRlc3RzL21lc29uLmJ1aWxkICAgICAgICAgICAgfCAxMSArKysrKysrKystLQorIHRodW1ibmFpbGVyL21lc29uLmJ1aWxkICAgICAgfCAgNSArLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2J1aWxkLWF1eC9nZW4tdGh1bWJuYWlsZXIucHkgYi9idWlsZC1hdXgvZ2VuLXRodW1ibmFpbGVyLnB5CitpbmRleCAwNWFjODIxLi5jNWI5OWFiIDEwMDY0NAorLS0tIGEvYnVpbGQtYXV4L2dlbi10aHVtYm5haWxlci5weQorKysrIGIvYnVpbGQtYXV4L2dlbi10aHVtYm5haWxlci5weQorQEAgLTIwLDggKzIwLDYgQEAgYXJncGFyc2VyLmFkZF9hcmd1bWVudCgnb3V0cHV0JywgaGVscD0nT3V0cHV0IGZpbGUnKQorIGFyZ3MgPSBhcmdwYXJzZXIucGFyc2VfYXJncygpCisgCisgbmV3ZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKKy1uZXdlbnZbJ0dES19QSVhCVUZfUElYREFUQSddID0gYXJncy5waXhkYXRhCistbmV3ZW52WydHREtfUElYQlVGX01PRFVMRV9GSUxFJ10gPSBhcmdzLmxvYWRlcnMKKyAjICdudCc6IE5ULWJhc2VkIFdpbmRvd3MsIHNlZSBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2xpYnJhcnkvb3MuaHRtbAorIGlmIG9zLm5hbWUgPT0gJ250JzoKKyAgICAgZ2RrX3BpeGJ1Zl9kbGxfYnVpbGRwYXRoID0gb3MucGF0aC5kaXJuYW1lKGFyZ3MucGl4ZGF0YSkKK2RpZmYgLS1naXQgYS90ZXN0cy9tZXNvbi5idWlsZCBiL3Rlc3RzL21lc29uLmJ1aWxkCitpbmRleCA0ZmEzZmJjLi5lY2E1MTY2IDEwMDY0NAorLS0tIGEvdGVzdHMvbWVzb24uYnVpbGQKKysrKyBiL3Rlc3RzL21lc29uLmJ1aWxkCitAQCAtMSwxMiArMSwxOSBAQAorICMgUmVzb3VyY2VzOyB3ZSBjYW5ub3QgdXNlIGdub21lLmNvbXBpbGVfcmVzb3VyY2VzKCkgaGVyZSwgYmVjYXVzZSB3ZSBuZWVkIHRvCisgIyBvdmVycmlkZSB0aGUgZW52aXJvbm1lbnQgaW4gb3JkZXIgdG8gdXNlIHRoZSB1dGlsaXRpZXMgd2UganVzdCBidWlsdCBpbnN0ZWFkCisgIyBvZiB0aGUgc3lzdGVtIG9uZXMKKysKKytpZiBub3QgbWVzb24uaXNfY3Jvc3NfYnVpbGQoKQorK3BpeGRhdGFfYmluYXJ5ID0gZ2RrX3BpeGJ1Zl9waXhkYXRhLmZ1bGxfcGF0aCgpCisrZWxzZQorK3BpeGRhdGFfYmluYXJ5ID0gJ2dkay1waXhidWYtcGl4ZGF0YScKKytlbmRpZgorKworIHJlc291cmNlc19jID0gY3VzdG9tX3RhcmdldCgncmVzb3VyY2VzLmMnLAorICAgaW5wdXQ6ICdyZXNvdXJjZXMuZ3Jlc291cmNlLnhtbCcsCisgICBvdXRwdXQ6ICdyZXNvdXJjZXMuYycsCisgICBjb21tYW5kOiBbCisgICAgIGdlbl9yZXNvdXJjZXMsCistICAgICctLXBpeGRhdGE9QDBAJy5mb3JtYXQoZ2RrX3BpeGJ1Zl9waXhkYXRhLmZ1bGxfcGF0aCgpKSwKKysgICAgJy0tcGl4ZGF0YT1AMEAnLmZvcm1hdChwaXhkYXRhX2JpbmFyeSksCisgICAgICctLWxvYWRlcnM9QDBAJy5mb3JtYXQobG9hZGVyc19jYWNoZS5mdWxsX3BhdGgoKSksCisgICAgICctLXNvdXJjZWRpcj1AMEAnLmZvcm1hdChtZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSksCisgICAgICctLXNvdXJjZScsCitAQCAtMjQsNyArMzEsNyBAQCByZXNvdXJjZXNfaCA9IGN1c3RvbV90YXJnZXQoJ3Jlc291cmNlcy5oJywKKyAgIG91dHB1dDogJ3Jlc291cmNlcy5oJywKKyAgIGNvbW1hbmQ6IFsKKyAgICAgZ2VuX3Jlc291cmNlcywKKy0gICAgJy0tcGl4ZGF0YT1AMEAnLmZvcm1hdChnZGtfcGl4YnVmX3BpeGRhdGEuZnVsbF9wYXRoKCkpLAorKyAgICAnLS1waXhkYXRhPUAwQCcuZm9ybWF0KHBpeGRhdGFfYmluYXJ5KSwKKyAgICAgJy0tbG9hZGVycz1AMEAnLmZvcm1hdChsb2FkZXJzX2NhY2hlLmZ1bGxfcGF0aCgpKSwKKyAgICAgJy0tc291cmNlZGlyPUAwQCcuZm9ybWF0KG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpKSwKKyAgICAgJy0taGVhZGVyJywKK2RpZmYgLS1naXQgYS90aHVtYm5haWxlci9tZXNvbi5idWlsZCBiL3RodW1ibmFpbGVyL21lc29uLmJ1aWxkCitpbmRleCBhYWFmZWM4Li43MWJkNjFiIDEwMDY0NAorLS0tIGEvdGh1bWJuYWlsZXIvbWVzb24uYnVpbGQKKysrKyBiL3RodW1ibmFpbGVyL21lc29uLmJ1aWxkCitAQCAtMTgsOSArMTgsNyBAQCBjdXN0b21fdGFyZ2V0KCd0aHVtYm5haWxlcicsCisgICAgICAgICAgICAgICBvdXRwdXQ6ICdnZGstcGl4YnVmLXRodW1ibmFpbGVyLnRodW1ibmFpbGVyJywKKyAgICAgICAgICAgICAgIGNvbW1hbmQ6IFsKKyAgICAgICAgICAgICAgICAgZ2VuX3RodW1ibmFpbGVyLAorLSAgICAgICAgICAgICAgICAnLS1wcmludGVyPUAwQCcuZm9ybWF0KGdka19waXhidWZfcHJpbnRfbWltZV90eXBlcy5mdWxsX3BhdGgoKSksCistICAgICAgICAgICAgICAgICctLXBpeGRhdGE9QDBAJy5mb3JtYXQoZ2RrX3BpeGJ1Zl9waXhkYXRhLmZ1bGxfcGF0aCgpKSwKKy0gICAgICAgICAgICAgICAgJy0tbG9hZGVycz1AMEAnLmZvcm1hdChsb2FkZXJzX2NhY2hlLmZ1bGxfcGF0aCgpKSwKKysgICAgICAgICAgICAgICAgJy0tcHJpbnRlcj1nZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXMnLAorICAgICAgICAgICAgICAgICAnLS1iaW5kaXI9QDBAJy5mb3JtYXQoZ2RrX3BpeGJ1Zl9iaW5kaXIpLAorICAgICAgICAgICAgICAgICAnQElOUFVUQCcsCisgICAgICAgICAgICAgICAgICdAT1VUUFVUQCcsCitAQCAtMjgsNyArMjYsNiBAQCBjdXN0b21fdGFyZ2V0KCd0aHVtYm5haWxlcicsCisgICAgICAgICAgICAgICBkZXBlbmRzOiBbCisgICAgICAgICAgICAgICAgIGdka19waXhidWZfcHJpbnRfbWltZV90eXBlcywKKyAgICAgICAgICAgICAgICAgZ2RrX3BpeGJ1Zl9waXhkYXRhLAorLSAgICAgICAgICAgICAgICBsb2FkZXJzX2NhY2hlLAorICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgIGluc3RhbGw6IHRydWUsCisgICAgICAgICAgICAgICBpbnN0YWxsX2Rpcjogam9pbl9wYXRocyhnZGtfcGl4YnVmX2RhdGFkaXIsICd0aHVtYm5haWxlcnMnKSkKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDA0LURvLW5vdC1ydW4tdGVzdHMtd2hlbi1idWlsZGluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDA0LURvLW5vdC1ydW4tdGVzdHMtd2hlbi1idWlsZGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NmM1NDZmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDQtRG8tbm90LXJ1bi10ZXN0cy13aGVuLWJ1aWxkaW5nLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gM2M0YTZjMTQ3YWU4YTA5NjJiYTkxOTQzNzNkOGE0MWQxNGVlZDQ0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyMiBGZWIgMjAxOSAxMzoyMzo1NSArMDEwMAorU3ViamVjdDogW1BBVENIXSBEbyBub3QgcnVuIHRlc3RzIHdoZW4gYnVpbGRpbmcKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjcm9zcy1jb21waWxlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyB0ZXN0cy9tZXNvbi5idWlsZCB8IDE3IC0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvbWVzb24uYnVpbGQgYi90ZXN0cy9tZXNvbi5idWlsZAoraW5kZXggNGZhM2ZiYy4uNmVmNzg4NCAxMDA2NDQKKy0tLSBhL3Rlc3RzL21lc29uLmJ1aWxkCisrKysgYi90ZXN0cy9tZXNvbi5idWlsZAorQEAgLTEzOCwyMyArMTM4LDYgQEAgZm9yZWFjaCB0OiBpbnN0YWxsZWRfdGVzdHMKKyAgICAgaW5zdGFsbF9kaXI6IGluc3RhbGxlZF90ZXN0X2JpbmRpciwKKyAgICkKKyAKKy0gICMgVHdvIHBhcnRpY3VsYXJseSBzbG93IHRlc3RzCistICBpZiB0ZXN0X3N1aXRlcy5jb250YWlucygnc2xvdycpCistICAgIHRpbWVvdXQgPSAzMDAKKy0gIGVsc2UKKy0gICAgdGltZW91dCA9IDMwCistICBlbmRpZgorLQorLSAgdGVzdCh0ZXN0X25hbWUsIHRlc3RfYmluLAorLSAgICBzdWl0ZTogdGVzdF9zdWl0ZXMsCistICAgIGFyZ3M6IFsgJy1rJywgJy0tdGFwJyBdLAorLSAgICBlbnY6IFsKKy0gICAgICAnR19URVNUX1NSQ0RJUj1AMEAnLmZvcm1hdChtZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSksCistICAgICAgJ0dfVEVTVF9CVUlMRERJUj1AMEAnLmZvcm1hdChtZXNvbi5jdXJyZW50X2J1aWxkX2RpcigpKSwKKy0gICAgICAnR0RLX1BJWEJVRl9NT0RVTEVfRklMRT1AMEAnLmZvcm1hdChsb2FkZXJzX2NhY2hlLmZ1bGxfcGF0aCgpKSwKKy0gICAgXSwKKy0gICAgdGltZW91dDogdGltZW91dCwKKy0gICkKKyBlbmRmb3JlYWNoCisgCisgZXhlY3V0YWJsZSgncGl4YnVmLXJlYWQnLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmL2V4dGVuZGluZy1saWJpbnN0YWxsLWRlcGVuZGVuY2llcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi9leHRlbmRpbmctbGliaW5zdGFsbC1kZXBlbmRlbmNpZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkYmRjZWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmL2V4dGVuZGluZy1saWJpbnN0YWxsLWRlcGVuZGVuY2llcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1UaGlzIHBhdGNoIGZpeGVzIHBhcmFsbGVsIGluc3RhbGwgaXNzdWUgdGhhdCBsaWIgbGlicGl4YnVmbG9hZGVyLXBuZy5sYQotZGVwZW5kcyBvbiBsaWJnZGtfcGl4YnVmLTIuMC5sYSB3aGljaCB3aWxsIGJlIHJlZ2VuZXJhdGVkIGR1cmluZyBpbnN0YS0KLWxsYXRpb24sIGlmIGxpYmdka19waXhidWYtMi4wLmxhIGlzIHJlZ2VuZXJhdGluZyBhbmQgYXQgdGhlIHNhbWUgdGltZQotbGlicGl4YnVmbG9hZGVyLXBuZy5sYSBsaW5rcyBpdCwgdGhlIGVycm9yIHdpbGwgaGFwcGVuLgotCi1FcnJvciBtZXNzYWdlIGlzOgotKiB1c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbGdka19waXhidWYtMi4wCi0qIGNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCi0KLU1ha2UgYW4gZXhwbGljaXQgZGVwZW5kZW5jeSB0byB0aGUgbGlicyBpbnN0YWxsIHRhcmdldHMgd291bGQgZml4IHRoaXMKLWlzc3VlLgotCi1TaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIGdkay1waXhidWYvTWFrZWZpbGUuYW0gfCAgICAxICsKLSBsaWJkZXBzLm1rICAgICAgICAgICAgIHwgICAgMyArKysKLSAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgbGliZGVwcy5tawotCi1kaWZmIC0tZ2l0IGEvZ2RrLXBpeGJ1Zi9NYWtlZmlsZS5hbSBiL2dkay1waXhidWYvTWFrZWZpbGUuYW0KLWluZGV4IDk1YTkzYTguLmRiNDRjYWUgMTAwNjQ0Ci0tLS0gYS9nZGstcGl4YnVmL01ha2VmaWxlLmFtCi0rKysgYi9nZGstcGl4YnVmL01ha2VmaWxlLmFtCi1AQCAtNzgzLDMgKzc4Myw0IEBAIGxvYWRlcnMuY2FjaGU6Ci0gZW5kaWYKLSAKLSAtaW5jbHVkZSAkKHRvcF9zcmNkaXIpL2dpdC5tawotKy1pbmNsdWRlICQodG9wX3NyY2RpcikvbGliZGVwcy5tawotZGlmZiAtLWdpdCBhL2xpYmRlcHMubWsgYi9saWJkZXBzLm1rCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uZDdhMTBhOAotLS0tIC9kZXYvbnVsbAotKysrIGIvbGliZGVwcy5tawotQEAgLTAsMCArMSwzIEBACi0rIyBFeHRlbmRpbmcgZGVwZW5kZW5jaWVzIG9mIGluc3RhbGwtbG9hZGVyTFRMSUJSQVJJRVM6Ci0rIyBUaGUgJChsaWItTFRMSUJSQVJJRVMpIGlzIG5lZWRlZCBieSByZWxpbmtpbmcgJChsb2FkZXJfTFRMSUJSQVJJRVMpCi0raW5zdGFsbC1sb2FkZXJMVExJQlJBUklFUzogaW5zdGFsbC1saWJMVExJQlJBUklFUwotLS0gCi0xLjcuNi4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi9mYXRhbC1sb2FkZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvZmF0YWwtbG9hZGVyLnBhdGNoCmluZGV4IDdkMGQ1NGIuLjI1NDEwYjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi9mYXRhbC1sb2FkZXIucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmL2ZhdGFsLWxvYWRlci5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gYjZhN2IzMDUyMjQ1NWNhYjM5YTBiOWVhODQ2MzMxMzM4MDE0NmU3MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZjAwNjAzZDU4ZDg0NDQyMjM2M2I4OTZlYTdkMDdhYWY0OGRkYWE2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CiBEYXRlOiBUdWUsIDEgQXByIDIwMTQgMTc6MjM6MzYgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAzLzRdIGdkay1waXhidWY6IGFkZCBhbiBvcHRpb24gc28gdGhhdCBsb2FkZXIgZXJyb3JzIGFyZSBmYXRhbAorU3ViamVjdDogW1BBVENIXSBnZGstcGl4YnVmOiBhZGQgYW4gb3B0aW9uIHNvIHRoYXQgbG9hZGVyIGVycm9ycyBhcmUgZmF0YWwKIAogSWYgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc3BlY2lmaWVkIHNldCB0aGUgcmV0dXJuIHZhbHVlIGZyb20gbWFpbigpIHRvCiBub24temVybyBpZiB0aGUgbG9hZGVyIGhhZCBlcnJvcnMgKG1pc3NpbmcgbGlicmFyaWVzLCBnZW5lcmFsbHkpLgpAQCAtMTQsMTAgKzE0LDEwIEBACiAgMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9nZGstcGl4YnVmL3F1ZXJ5bG9hZGVycy5jIGIvZ2RrLXBpeGJ1Zi9xdWVyeWxvYWRlcnMuYwotaW5kZXggYTgxYzgwNC4uMzUwYmVjOCAxMDA2NDQKK2luZGV4IDMxMmFhNzguLmI4MTNkOTkgMTAwNjQ0CiAtLS0gYS9nZGstcGl4YnVmL3F1ZXJ5bG9hZGVycy5jCiArKysgYi9nZGstcGl4YnVmL3F1ZXJ5bG9hZGVycy5jCi1AQCAtMTQ2LDcgKzE0Niw3IEBAIHdyaXRlX2xvYWRlcl9pbmZvIChHU3RyaW5nICpjb250ZW50cywgY29uc3QgY2hhciAqcGF0aCwgR2RrUGl4YnVmRm9ybWF0ICppbmZvKQorQEAgLTIxMiw3ICsyMTIsNyBAQCB3cml0ZV9sb2FkZXJfaW5mbyAoR1N0cmluZyAqY29udGVudHMsIGNvbnN0IGNoYXIgKnBhdGgsIEdka1BpeGJ1ZkZvcm1hdCAqaW5mbykKICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZF9jIChjb250ZW50cywgJ1xuJyk7CiAgfQogIApAQCAtMjYsNyArMjYsNyBAQAogIHF1ZXJ5X21vZHVsZSAoR1N0cmluZyAqY29udGVudHMsIGNvbnN0IGNoYXIgKmRpciwgY29uc3QgY2hhciAqZmlsZSkKICB7CiAgICAgICAgICBjaGFyICpwYXRoOwotQEAgLTE1NSw2ICsxNTUsNyBAQCBxdWVyeV9tb2R1bGUgKEdTdHJpbmcgKmNvbnRlbnRzLCBjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKmZpbGUpCitAQCAtMjIxLDYgKzIyMSw3IEBAIHF1ZXJ5X21vZHVsZSAoR1N0cmluZyAqY29udGVudHMsIGNvbnN0IGNoYXIgKmRpciwgY29uc3QgY2hhciAqZmlsZSkKICAgICAgICAgIHZvaWQgICAgICAgICAgICAgICAgICAgICgqZmlsbF92dGFibGUpICAgKEdka1BpeGJ1Zk1vZHVsZSAqbW9kdWxlKTsKICAgICAgICAgIGdwb2ludGVyIGZpbGxfaW5mb19wdHI7CiAgICAgICAgICBncG9pbnRlciBmaWxsX3Z0YWJsZV9wdHI7CkBAIC0zNCw3ICszNCw3IEBACiAgCiAgICAgICAgICBpZiAoZ19wYXRoX2lzX2Fic29sdXRlIChmaWxlKSkKICAgICAgICAgICAgICAgICAgcGF0aCA9IGdfc3RyZHVwIChmaWxlKTsKLUBAIC0yMDQsMTAgKzIwNSwxMyBAQCBxdWVyeV9tb2R1bGUgKEdTdHJpbmcgKmNvbnRlbnRzLCBjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKmZpbGUpCitAQCAtMjcwLDEwICsyNzEsMTMgQEAgcXVlcnlfbW9kdWxlIChHU3RyaW5nICpjb250ZW50cywgY29uc3QgY2hhciAqZGlyLCBjb25zdCBjaGFyICpmaWxlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19tb2R1bGVfZXJyb3IoKSk7CiAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICBnX2ZwcmludGYgKHN0ZGVyciwgIkNhbm5vdCBsb2FkIGxvYWRlciAlc1xuIiwgcGF0aCk7CkBAIC00OCwyNiArNDgsMjYgQEAKICB9CiAgCiAgI2lmZGVmIEdfT1NfV0lOMzIKLUBAIC0yNTcsNiArMjYxLDcgQEAgaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgICAgICAgIEdTdHJpbmcgKmNvbnRlbnRzOwotICAgICAgICAgZ2NoYXIgKmNhY2hlX2ZpbGUgPSBOVUxMOworQEAgLTMxNCw2ICszMTgsNyBAQCBpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgZ2ludCBmaXJzdF9maWxlID0gMTsKKyAgICAgICAgIEdGaWxlICpwaXhidWZfbGliZGlyX2ZpbGU7CisgICAgICAgICBnY2hhciAqcGl4YnVmX2xpYmRpcjsKICsgICAgICAgIGdib29sZWFuIHN1Y2Nlc3MgPSBUUlVFOwogIAogICNpZmRlZiBHX09TX1dJTjMyCiAgICAgICAgICBnY2hhciAqbGliZGlyOwotQEAgLTM3MCw3ICszNzUsOSBAQCBpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTQ1Miw3ICs0NTcsOSBAQCBpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIG1vZHVsZXMgPSBnX2xpc3Rfc29ydCAobW9kdWxlcywgKEdDb21wYXJlRnVuYylzdHJjbXApOwogICAgICAgICAgICAgICAgICBmb3IgKGwgPSBtb2R1bGVzOyBsICE9IE5VTEw7IGwgPSBsLT5uZXh0KQotLSAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5X21vZHVsZSAoY29udGVudHMsIHBhdGgsIGwtPmRhdGEpOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcXVlcnlfbW9kdWxlIChjb250ZW50cywgcGF0aCwgbC0+ZGF0YSkpCistICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlfbW9kdWxlIChjb250ZW50cywgbW9kdWxlZGlyLCBsLT5kYXRhKTsKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXF1ZXJ5X21vZHVsZSAoY29udGVudHMsIG1vZHVsZWRpciwgbC0+ZGF0YSkpCiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzID0gRkFMU0U7CiArCiAgICAgICAgICAgICAgICAgIGdfbGlzdF9mcmVlX2Z1bGwgKG1vZHVsZXMsIGdfZnJlZSk7CisgICAgICAgICAgICAgICAgIGdfZnJlZSAobW9kdWxlZGlyKTsKICAjZWxzZQotICAgICAgICAgICAgICAgICBnX3N0cmluZ19hcHBlbmRfcHJpbnRmIChjb250ZW50cywgIiMgZHluYW1pYyBsb2FkaW5nIG9mIG1vZHVsZXMgbm90IHN1cHBvcnRlZFxuIik7Ci1AQCAtMzg1LDcgKzM5Miw4IEBAIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCitAQCAtNDY4LDcgKzQ3NSw4IEBAIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5maWxlbmFtZSA9IGdfbG9jYWxlX3RvX3V0ZjggKGluZmlsZW5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLCBOVUxMLCBOVUxMLCBOVUxMKTsKICAjZW5kaWYKQEAgLTc3LDkgKzc3LDkgQEAKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBnX2ZyZWUgKGN3ZCk7CiAgICAgICAgICB9Ci1AQCAtNDAxLDUgKzQwOSw4IEBAIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgIGdfcHJpbnQgKCIlc1xuIiwgY29udGVudHMtPnN0cik7CitAQCAtNDg2LDUgKzQ5NCw4IEBAIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCisgICAgICAgICBnX2ZyZWUgKHBpeGJ1Zl9saWJkaXIpOwogIAogLSAgICAgICAgcmV0dXJuIDA7CiArICAgICAgICBpZiAoZ19nZXRlbnYgKCJHREtfUElYQlVGX0ZBVEFMX0xPQURFUiIpKQpAQCAtODcsNiArODcsMyBAQAogKyAgICAgICAgZWxzZQogKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKICB9Ci0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvaGFyZGNvZGVkX2xpYnRvb2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvaGFyZGNvZGVkX2xpYnRvb2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjY2E2MmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmL2hhcmRjb2RlZF9saWJ0b29sLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQotCi1JbmRleDogZ2RrLXBpeGJ1Zi0yLjIyLjEvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RrLXBpeGJ1Zi0yLjIyLjEub3JpZy9jb25maWd1cmUuYWMJMjAxMC0xMS0yNiAwOTowNjozNC4wMDAwMDAwMDAgKzA4MDAKLSsrKyBnZGstcGl4YnVmLTIuMjIuMS9jb25maWd1cmUuYWMJMjAxMC0xMS0yNiAwOTowNzozMy4wMDAwMDAwMDAgKzA4MDAKLUBAIC0yODcsNyArMjg3LDcgQEAKLSBjYXNlICRlbmFibGVfZXhwbGljaXRfZGVwcyBpbgotICAgYXV0bykKLSAgICAgZXhwb3J0IFNFRAotLSAgICBkZXBsaWJzX2NoZWNrX21ldGhvZD1gKC4vbGlidG9vbCAtLWNvbmZpZzsgZWNobyAnZXZhbCBlY2hvIFwiJGRlcGxpYnNfY2hlY2tfbWV0aG9kXCInKSB8IHNoYAotKyAgICBkZXBsaWJzX2NoZWNrX21ldGhvZD1gKC4vJGhvc3RfYWxpYXMtbGlidG9vbCAtLWNvbmZpZzsgZWNobyAnZXZhbCBlY2hvIFwiJGRlcGxpYnNfY2hlY2tfbWV0aG9kXCInKSB8IHNoYAotICAgICBpZiB0ZXN0ICJ4JGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAnIT0nIHhwYXNzX2FsbCB8fCB0ZXN0ICJ4JGVuYWJsZV9zdGF0aWMiID0geHllcyA7IHRoZW4KLSAgICAgICBlbmFibGVfZXhwbGljaXRfZGVwcz15ZXMKLSAgICAgZWxzZQotQEAgLTQ4NCw3ICs0ODQsNyBAQAotICAgICBkbmwgTm93IHdlIGNoZWNrIHRvIHNlZSBpZiBvdXIgbGlidG9vbCBzdXBwb3J0cyBzaGFyZWQgbGliIGRlcHMKLSAgICAgZG5sIChpbiBhIHJhdGhlciB1Z2x5IHdheSBldmVuKQotICAgICBpZiAkZHlud29ya3M7IHRoZW4KLS0gICAgICAgIHBpeGJ1Zl9saWJ0b29sX2NvbmZpZz0iJHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0gLi9saWJ0b29sIC0tY29uZmlnIgotKyAgICAgICAgcGl4YnVmX2xpYnRvb2xfY29uZmlnPSIke0NPTkZJR19TSEVMTC0vYmluL3NofSAuLyRob3N0X2FsaWFzLWxpYnRvb2wgLS1jb25maWciCi0gICAgICAgICBwaXhidWZfZGVwbGlic19jaGVjaz1gJHBpeGJ1Zl9saWJ0b29sX2NvbmZpZyB8IFwKLSAgICAgICAgICAgICBncmVwICdeW1thLXpfXV0qY2hlY2tbW2Etel9dXSpfbWV0aG9kPVtbJ1wnJyJdXScgfCBcCi0gICAgICAgICAgICAgc2VkICdzLy4qW1snXCcnIl1dXCguKlwpW1snXCcnIl1dJC9cMS8nYAotQEAgLTk1Nyw3ICs5NTcsNyBAQAotICMgV2UgYXJlIHVzaW5nIGdtb2R1bGUtbm8tZXhwb3J0IG5vdywgYnV0IEknbSBsZWF2aW5nIHRoZSBzdHJpcHBpbmcKLSAjIGNvZGUgaW4gcGxhY2UgZm9yIG5vdywgc2luY2UgcGFuZ28gYW5kIGF0ayBzdGlsbCByZXF1aXJlIGdtb2R1bGUuCi0gZXhwb3J0IFNFRAotLWV4cG9ydF9keW5hbWljPWAoLi9saWJ0b29sIC0tY29uZmlnOyBlY2hvIGV2YWwgZWNobyBcXCRleHBvcnRfZHluYW1pY19mbGFnX3NwZWMpIHwgc2hgCi0rZXhwb3J0X2R5bmFtaWM9YCguLyRob3N0X2FsaWFzLWxpYnRvb2wgLS1jb25maWc7IGVjaG8gZXZhbCBlY2hvIFxcJGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYykgfCBzaGAKLSBpZiB0ZXN0IC1uICIkZXhwb3J0X2R5bmFtaWMiOyB0aGVuCi0gICBHREtfUElYQlVGX0RFUF9MSUJTPWBlY2hvICRHREtfUElYQlVGX0RFUF9MSUJTIHwgc2VkIC1lICJzLyRleHBvcnRfZHluYW1pYy8vImAKLSBmaQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmXzIuMzYuMTEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWZfMi4zNi4xMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTljODRjNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWZfMi4zNi4xMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi1TVU1NQVJZID0gIkltYWdlIGxvYWRpbmcgbGlicmFyeSBmb3IgR1RLKyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3RrLm9yZy8iCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKLQotTElDRU5TRSA9ICJMR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nZGstcGl4YnVmL2dkay1waXhidWYuaDtlbmRsaW5lPTI2O21kNT03MmIzOWRhN2NiZGRlMmU2NjUzMjlmZWY2MThlMWQ2YiIKLQotU0VDVElPTiA9ICJsaWJzIgotCi1ERVBFTkRTID0gImdsaWItMi4wIGdkay1waXhidWYtbmF0aXZlIHNoYXJlZC1taW1lLWluZm8iCi0KLU1BSl9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKLQotU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtCUE59LyR7TUFKX1ZFUn0vJHtCUE59LSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly9oYXJkY29kZWRfbGlidG9vbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9leHRlbmRpbmctbGliaW5zdGFsbC1kZXBlbmRlbmNpZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovL2ZhdGFsLWxvYWRlci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVdvcmstYXJvdW5kLXRodW1ibmFpbGVyLWNyb3NzLWNvbXBpbGUtZmFpbHVyZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC13aXRob3V0LWxpYnRpZmYtbm90LWhhdmluZy1hbi1lZmZlY3QucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2ZTg0ZTU0ODVjMTdjZTdjMjVkZjc3ZmU3NmViMmQ2YSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJhZTYyYWI4NzI1MDQxMzE1NmVkNzJlZjc1NjM0N2IxMDIwOGMwMGU3NmIyMjJkODJkOWVkMzYxZWQ5ZGRlMmYzIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dCBwaXhidWZjYWNoZSBwdGVzdC1nbm9tZSB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uIGd0ay1kb2MgbGliX3BhY2thZ2UKLQotTElCViA9ICIyLjEwLjAiCi0KLUdES19QSVhCVUZfTE9BREVSUyA/PSAicG5nIGpwZWciCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0dES19QSVhCVUZfTE9BREVSU30iCi1QQUNLQUdFQ09ORklHX2xpbnV4c3RkYmFzZSA9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0gJHtHREtfUElYQlVGX0xPQURFUlN9IgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiJHtHREtfUElYQlVGX0xPQURFUlN9IgotCi1QQUNLQUdFQ09ORklHW3BuZ10gPSAiLS13aXRoLWxpYnBuZywtLXdpdGhvdXQtbGlicG5nLGxpYnBuZyIKLVBBQ0tBR0VDT05GSUdbanBlZ10gPSAiLS13aXRoLWxpYmpwZWcsLS13aXRob3V0LWxpYmpwZWcsanBlZyIKLVBBQ0tBR0VDT05GSUdbdGlmZl0gPSAiLS13aXRoLWxpYnRpZmYsLS13aXRob3V0LWxpYnRpZmYsdGlmZiIKLVBBQ0tBR0VDT05GSUdbanBlZzIwMDBdID0gIi0td2l0aC1saWJqYXNwZXIsLS13aXRob3V0LWxpYmphc3BlcixqYXNwZXIiCi0KLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteDExLC0td2l0aG91dC14MTEsdmlydHVhbC9saWJ4MTEiCi0KLVBBQ0tBR0VTID0rICIke1BOfS14bGliIgotCi0jIEZvciBHSU8gaW1hZ2UgdHlwZSBzbmlmZmluZwotUkRFUEVORFNfJHtQTn0gPSAic2hhcmVkLW1pbWUtaW5mbyIKLQotRklMRVNfJHtQTn0teGxpYiA9ICIke2xpYmRpcn0vKnBpeGJ1Zl94bGliKiR7U09MSUJTfSIKLUFMTE9XX0VNUFRZXyR7UE59LXhsaWIgPSAiMSIKLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9nZGstcGl4YnVmLTIuMC9nZGstcGl4YnVmLXF1ZXJ5LWxvYWRlcnMiCi0KLUZJTEVTXyR7UE59LWJpbiArPSAiJHtkYXRhZGlyfS90aHVtYm5haWxlcnMvZ2RrLXBpeGJ1Zi10aHVtYm5haWxlci50aHVtYm5haWxlciIKLQotRklMRVNfJHtQTn0tZGV2ICs9ICIgXAotCSR7YmluZGlyfS9nZGstcGl4YnVmLWNzb3VyY2UgXAotCSR7YmluZGlyfS9nZGstcGl4YnVmLXBpeGRhdGEgXAotICAgICAgICAke2JpbmRpcn0vZ2RrLXBpeGJ1Zi1wcmludC1taW1lLXR5cGVzIFwKLQkke2luY2x1ZGVkaXJ9LyogXAotCSR7bGliZGlyfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMvKi5sYSBcCi0iCi0KLVBBQ0tBR0VTX0RZTkFNSUMgKz0gIl5nZGstcGl4YnVmLWxvYWRlci0uKiIKLVBBQ0tBR0VTX0RZTkFNSUNfY2xhc3MtbmF0aXZlID0gIiIKLQotcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgewotICAgIHBvc3RpbnN0X3BpeGJ1ZmxvYWRlciA9IGQuZ2V0VmFyKCJwb3N0aW5zdF9waXhidWZsb2FkZXIiKQotCi0gICAgbG9hZGVyc19yb290ID0gZC5leHBhbmQoJyR7bGliZGlyfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMnKQotCi0gICAgcGFja2FnZXMgPSAnICcuam9pbihkb19zcGxpdF9wYWNrYWdlcyhkLCBsb2FkZXJzX3Jvb3QsICdebGlicGl4YnVmbG9hZGVyLSguKilcLnNvJCcsICdnZGstcGl4YnVmLWxvYWRlci0lcycsICdHREsgcGl4YnVmIGxvYWRlciBmb3IgJXMnKSkKLSAgICBkLnNldFZhcignUElYQlVGX1BBQ0tBR0VTJywgcGFja2FnZXMpCi0KLSAgICAjIFRoZSB0ZXN0IHN1aXRlIGV4ZXJjaXNlcyBhbGwgdGhlIGxvYWRlcnMsIHNvIGVuc3VyZSB0aGV5IGFyZSBhbGwKLSAgICAjIGRlcGVuZGVuY2llcyBvZiB0aGUgcHRlc3QgcGFja2FnZS4KLSAgICBkLmFwcGVuZFZhcigiUkRFUEVORFNfJXMtcHRlc3QiICUgZC5nZXRWYXIoJ1BOJyksICIgIiArIHBhY2thZ2VzKQotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQkjIE1vdmUgZ2RrLXBpeGJ1Zi1xdWVyeS1sb2FkZXJzIGludG8gbGliZGlyIHNvIGl0IGlzIGFsd2F5cyBhdmFpbGFibGUKLQkjIGluIG11bHRpbGliIGJ1aWxkcy4KLQltdiAke0R9LyR7YmluZGlyfS9nZGstcGl4YnVmLXF1ZXJ5LWxvYWRlcnMgJHtEfS8ke2xpYmRpcn0vZ2RrLXBpeGJ1Zi0yLjAvCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLQlmaW5kICR7RH0ke2xpYmRpcn0gLW5hbWUgImxpYnBpeGJ1ZmxvYWRlci0qLmxhIiAtZXhlYyBybSBce1x9IFw7Ci0KLQljcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9nZGstcGl4YnVmLWNzb3VyY2UgXAotCQlHREtfUElYQlVGX01PRFVMRV9GSUxFPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMuY2FjaGUKLQotCWNyZWF0ZV93cmFwcGVyICR7RH0vJHtiaW5kaXJ9L2dkay1waXhidWYtcGl4ZGF0YSBcCi0JCUdES19QSVhCVUZfTU9EVUxFX0ZJTEU9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dkay1waXhidWYtMi4wLyR7TElCVn0vbG9hZGVycy5jYWNoZQotCi0JY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZ2RrLXBpeGJ1Zi1wcmludC1taW1lLXR5cGVzIFwKLQkJR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzLmNhY2hlCi0KLQljcmVhdGVfd3JhcHBlciAke0R9LyR7bGliZGlyfS9nZGstcGl4YnVmLTIuMC9nZGstcGl4YnVmLXF1ZXJ5LWxvYWRlcnMgXAotCQlHREtfUElYQlVGX01PRFVMRV9GSUxFPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMuY2FjaGUgXAotCQlHREtfUElYQlVGX01PRFVMRURJUj0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzCi19Ci1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zl8yLjM4LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWZfMi4zOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1ZGU3YTkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWZfMi4zOC4wLmJiCkBAIC0wLDAgKzEsMTM2IEBACitTVU1NQVJZID0gIkltYWdlIGxvYWRpbmcgbGlicmFyeSBmb3IgR1RLKyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3RrLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi5oO2VuZGxpbmU9MjY7bWQ1PTcyYjM5ZGE3Y2JkZGUyZTY2NTMyOWZlZjYxOGUxZDZiIFwKKyAgICAgICAgICAgICAgICAgICAgIgorCitTRUNUSU9OID0gImxpYnMiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ2RrLXBpeGJ1Zi1uYXRpdmUgc2hhcmVkLW1pbWUtaW5mbyIKKworTUFKX1ZFUiA9ICIke0BvZS51dGlscy50cmltX3ZlcnNpb24oIiR7UFZ9IiwgMil9IgorCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0JQTn0vJHtNQUpfVkVSfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly9mYXRhbC1sb2FkZXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Xb3JrLWFyb3VuZC10aHVtYm5haWxlci1jcm9zcy1jb21waWxlLWZhaWx1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtYS1jb3VwbGUtb2YtZGVjaXNpb25zLWFyb3VuZC1jcm9zcy1jb21waWxhdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxvYWRlcnMuY2FjaGUtZGVwZW5kLW9uLWxvYWRlcnMtYmVpbmctZnVsbHktYnVpbGQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1Eby1ub3QtcnVuLXRlc3RzLXdoZW4tYnVpbGRpbmcucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMy10YXJnZXQtb25seS1Xb3JrLWFyb3VuZC10aHVtYm5haWxlci1jcm9zcy1jb21waWxlLWZhLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLXRhcmdldC1vbmx5LVdvcmstYXJvdW5kLXRodW1ibmFpbGVyLWNyb3NzLWNvbXBpbGUtZmEucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3Nzc2NWYyNDQ5NmRjOGM5MGM2ZTBjYmUxMGZkOGYwZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkZDUwOTczYzc3NTdiY2RlMTVkZTZiY2QzYTZkNDYyYTQ0NWVmZDU1MjYwNGFlNjQzNWEwNTMyZmJiYWRhZTQ3IgorCitpbmhlcml0IG1lc29uIHBrZ2NvbmZpZyBnZXR0ZXh0IHBpeGJ1ZmNhY2hlIHB0ZXN0LWdub21lIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ3RrLWRvYyBsaWJfcGFja2FnZQorCitHVEtET0NfRU5BQkxFX0ZMQUcgPSAiLURkb2NzPXRydWUiCitHVEtET0NfRElTQUJMRV9GTEFHID0gIi1EZG9jcz1mYWxzZSIKKworR0lfRU5BQkxFX0ZMQUcgPSAiLURnaXI9dHJ1ZSIKK0dJX0RJU0FCTEVfRkxBRyA9ICItRGdpcj1mYWxzZSIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAke0dJX0RJU0FCTEVfRkxBR30iCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJyR7R0lfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R0lfRElTQUJMRV9GTEFHfScsIGQpfSAiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dUS0RPQ19FTkFCTEVEJywgJ1RydWUnLCAnJHtHVEtET0NfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dUS0RPQ19ESVNBQkxFX0ZMQUd9JywgZCl9ICIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQVEVTVF9FTkFCTEVEJywgJzEnLCAnLURpbnN0YWxsZWRfdGVzdHM9dHJ1ZScsICctRGluc3RhbGxlZF90ZXN0cz1mYWxzZScsIGQpfSIKKworTElCViA9ICIyLjEwLjAiCisKK0dES19QSVhCVUZfTE9BREVSUyA/PSAicG5nIGpwZWciCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0dES19QSVhCVUZfTE9BREVSU30iCitQQUNLQUdFQ09ORklHX2xpbnV4c3RkYmFzZSA9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0gJHtHREtfUElYQlVGX0xPQURFUlN9IgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiJHtHREtfUElYQlVGX0xPQURFUlN9IgorCitQQUNLQUdFQ09ORklHW3BuZ10gPSAiLURwbmc9dHJ1ZSwtRHBuZz1mYWxzZSxsaWJwbmciCitQQUNLQUdFQ09ORklHW2pwZWddID0gIi1EanBlZz10cnVlLC1EanBlZz1mYWxzZSxqcGVnIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItRHRpZmY9dHJ1ZSwtRHRpZmY9ZmFsc2UsdGlmZiIKK1BBQ0tBR0VDT05GSUdbanBlZzIwMDBdID0gIi1EamFzcGVyPXRydWUsLURqYXNwZXI9ZmFsc2UsamFzcGVyIgorCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLUR4MTE9dHJ1ZSwtRHgxMT1mYWxzZSx2aXJ0dWFsL2xpYngxMSIKKworUEFDS0FHRVMgPSsgIiR7UE59LXhsaWIiCisKKyMgRm9yIEdJTyBpbWFnZSB0eXBlIHNuaWZmaW5nCitSREVQRU5EU18ke1BOfSA9ICJzaGFyZWQtbWltZS1pbmZvIgorCitGSUxFU18ke1BOfS14bGliID0gIiR7bGliZGlyfS8qcGl4YnVmX3hsaWIqJHtTT0xJQlN9IgorQUxMT1dfRU1QVFlfJHtQTn0teGxpYiA9ICIxIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dkay1waXhidWYtMi4wL2dkay1waXhidWYtcXVlcnktbG9hZGVycyIKKworRklMRVNfJHtQTn0tYmluICs9ICIke2RhdGFkaXJ9L3RodW1ibmFpbGVycy9nZGstcGl4YnVmLXRodW1ibmFpbGVyLnRodW1ibmFpbGVyIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiBcCisJJHtiaW5kaXJ9L2dkay1waXhidWYtY3NvdXJjZSBcCisJJHtiaW5kaXJ9L2dkay1waXhidWYtcGl4ZGF0YSBcCisgICAgICAgICR7YmluZGlyfS9nZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXMgXAorCSR7aW5jbHVkZWRpcn0vKiBcCisJJHtsaWJkaXJ9L2dkay1waXhidWYtMi4wLyR7TElCVn0vbG9hZGVycy8qLmxhIFwKKyIKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXmdkay1waXhidWYtbG9hZGVyLS4qIgorUEFDS0FHRVNfRFlOQU1JQ19jbGFzcy1uYXRpdmUgPSAiIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgcG9zdGluc3RfcGl4YnVmbG9hZGVyID0gZC5nZXRWYXIoInBvc3RpbnN0X3BpeGJ1ZmxvYWRlciIpCisKKyAgICBsb2FkZXJzX3Jvb3QgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L2dkay1waXhidWYtMi4wLyR7TElCVn0vbG9hZGVycycpCisKKyAgICBwYWNrYWdlcyA9ICcgJy5qb2luKGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxvYWRlcnNfcm9vdCwgcidebGlicGl4YnVmbG9hZGVyLSguKilcLnNvJCcsICdnZGstcGl4YnVmLWxvYWRlci0lcycsICdHREsgcGl4YnVmIGxvYWRlciBmb3IgJXMnKSkKKyAgICBkLnNldFZhcignUElYQlVGX1BBQ0tBR0VTJywgcGFja2FnZXMpCisKKyAgICAjIFRoZSB0ZXN0IHN1aXRlIGV4ZXJjaXNlcyBhbGwgdGhlIGxvYWRlcnMsIHNvIGVuc3VyZSB0aGV5IGFyZSBhbGwKKyAgICAjIGRlcGVuZGVuY2llcyBvZiB0aGUgcHRlc3QgcGFja2FnZS4KKyAgICBkLmFwcGVuZFZhcigiUkRFUEVORFNfJXMtcHRlc3QiICUgZC5nZXRWYXIoJ1BOJyksICIgIiArIHBhY2thZ2VzKQorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwkjIENvcHkgZ2RrLXBpeGJ1Zi1xdWVyeS1sb2FkZXJzIGludG8gbGliZGlyIHNvIGl0IGlzIGFsd2F5cyBhdmFpbGFibGUKKwkjIGluIG11bHRpbGliIGJ1aWxkcy4KKwljcCAke0R9LyR7YmluZGlyfS9nZGstcGl4YnVmLXF1ZXJ5LWxvYWRlcnMgJHtEfS8ke2xpYmRpcn0vZ2RrLXBpeGJ1Zi0yLjAvCisKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworCWZpbmQgJHtEfSR7bGliZGlyfSAtbmFtZSAibGlicGl4YnVmbG9hZGVyLSoubGEiIC1leGVjIHJtIFx7XH0gXDsKKworCWNyZWF0ZV93cmFwcGVyICR7RH0vJHtiaW5kaXJ9L2dkay1waXhidWYtY3NvdXJjZSBcCisJCVhER19EQVRBX0RJUlM9JHtTVEFHSU5HX0RBVEFESVJ9IFwKKwkJR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzLmNhY2hlCisKKwljcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9nZGstcGl4YnVmLXBpeGRhdGEgXAorCQlYREdfREFUQV9ESVJTPSR7U1RBR0lOR19EQVRBRElSfSBcCisJCUdES19QSVhCVUZfTU9EVUxFX0ZJTEU9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dkay1waXhidWYtMi4wLyR7TElCVn0vbG9hZGVycy5jYWNoZQorCisJY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZ2RrLXBpeGJ1Zi1wcmludC1taW1lLXR5cGVzIFwKKwkJWERHX0RBVEFfRElSUz0ke1NUQUdJTkdfREFUQURJUn0gXAorCQlHREtfUElYQlVGX01PRFVMRV9GSUxFPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMuY2FjaGUKKworCWNyZWF0ZV93cmFwcGVyICR7RH0vJHtsaWJkaXJ9L2dkay1waXhidWYtMi4wL2dkay1waXhidWYtcXVlcnktbG9hZGVycyBcCisJCVhER19EQVRBX0RJUlM9JHtTVEFHSU5HX0RBVEFESVJ9IFwKKwkJR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzLmNhY2hlIFwKKwkJR0RLX1BJWEJVRl9NT0RVTEVESVI9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dkay1waXhidWYtMi4wLyR7TElCVn0vbG9hZGVycworCisJY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZ2RrLXBpeGJ1Zi1xdWVyeS1sb2FkZXJzIFwKKwkJWERHX0RBVEFfRElSUz0ke1NUQUdJTkdfREFUQURJUn0gXAorCQlHREtfUElYQlVGX01PRFVMRV9GSUxFPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMuY2FjaGUgXAorCQlHREtfUElYQlVGX01PRFVMRURJUj0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzCit9CitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9hZHdhaXRhLWljb24tdGhlbWUvMDAwMS1Eb24tdC11c2UtQUNfQ0FOT05JQ0FMX0hPU1QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9hZHdhaXRhLWljb24tdGhlbWUvMDAwMS1Eb24tdC11c2UtQUNfQ0FOT05JQ0FMX0hPU1QucGF0Y2gKaW5kZXggYjU5OTJlYi4uNDNhYmRjZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvYWR3YWl0YS1pY29uLXRoZW1lLzAwMDEtRG9uLXQtdXNlLUFDX0NBTk9OSUNBTF9IT1NULnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2Fkd2FpdGEtaWNvbi10aGVtZS8wMDAxLURvbi10LXVzZS1BQ19DQU5PTklDQUxfSE9TVC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gOTY2MTk1MTgzODc3MzI1MWQwYTkxNGU4OTdlOGEwZDk1Y2UwMjdmNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNDk5MjIyZDk1YTNkMDZiYzQyNTY3MmQ1MGU4YzQ3ODY4NjY3MjUwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEp1c3NpIEt1a2tvbmVuIDxqdXNzaS5rdWtrb25lbkBpbnRlbC5jb20+CiBEYXRlOiBUdWUsIDMwIE1heSAyMDE3IDE0OjU1OjQ5ICswMzAwCiBTdWJqZWN0OiBbUEFUQ0hdIERvbid0IHVzZSBBQ19DQU5PTklDQUxfSE9TVApAQCAtMTQsMTIgKzE0LDEyIEBACiAgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggZmI3ODdkYy4uNWNhZWYwYyAxMDA2NDQKK2luZGV4IDM4ZTY0YmQuLjZlZDQ4MGUgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuYWMKICsrKyBiL2NvbmZpZ3VyZS5hYwogQEAgLTMsNyArMyw2IEBAIEFDX1BSRVJFUSgyLjUzKQogIAotIEFDX0lOSVQoW2Fkd2FpdGEtaWNvbi10aGVtZV0sIFszLjI4LjBdLAorIEFDX0lOSVQoW2Fkd2FpdGEtaWNvbi10aGVtZV0sIFszLjMwLjFdLAogICAgICAgICAgW2h0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWFkd2FpdGEtaWNvbi10aGVtZV0pCiAtQUNfQ0FOT05JQ0FMX0hPU1QKICBBQ19DT05GSUdfTUFDUk9fRElSKFttNF0pCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9hZHdhaXRhLWljb24tdGhlbWVfMy4yOC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvYWR3YWl0YS1pY29uLXRoZW1lXzMuMjguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDBkZDM1Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9hZHdhaXRhLWljb24tdGhlbWVfMy4yOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotU1VNTUFSWSA9ICJHVEsrIGljb24gdGhlbWUiCi1IT01FUEFHRSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9hZHdhaXRhLWljb24tdGhlbWUvIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCi1TRUNUSU9OID0gIngxMS9nbm9tZSIKLQotTElDRU5TRSA9ICJMR1BMLTMuMCB8IENDLUJZLVNBLTMuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM4NGNhYzg4ZTQ2ZmMwNzY0N2VhMDdlNmMyNGVlYjdjIgotCi1pbmhlcml0IGFsbGFyY2ggYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IGd0ay1pY29uLWNhY2hlIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgotCi0KLU1BSl9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKLVNSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9LyR7QlBOfS8ke01BSl9WRVJ9LyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Eb24tdC11c2UtQUNfQ0FOT05JQ0FMX0hPU1QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1SdW4taW5zdGFsbGF0aW9uLWNvbW1hbmRzLWFzLXNoZWxsLWpvYnMucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJiMjViMmQ4MmNiZWJmMmNjOWNkNDY5NDU3YjYwNGYyYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3YWFlOGMxZGZmZDY3NzJmZDFhMjFhM2QzNjVhMGVhMjhiN2MzOTg4YmRiYmVhZmJmODc0MmNkYTY4MjQyMTUwIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQkjIEJ1aWxkIHVzZXMgZ3RrLWVuY29kZS1zeW1ib2xpYy1zdmcgdG8gY3JlYXRlIHBuZyB2ZXJzaW9uczoKLSAgICAgICAgIyBubyBuZWVkIHRvIHN0b3JlIHRoZSBzdmdzIGFueW1vcmUuCi0Jcm0gLWYgJHtEfSR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhL3NjYWxhYmxlLyovKi1zeW1ib2xpYy5zdmcgXAotCSAgICAgICR7RH0ke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS9zY2FsYWJsZS8qLyotc3ltYm9saWMtcnRsLnN2ZwotfQotCi1QQUNLQUdFUyA9ICIke1BOfS1jdXJzb3JzICR7UE59LXN5bWJvbGljLWhpcmVzICR7UE59LXN5bWJvbGljICR7UE59LWhpcmVzICR7UE59IgotCi1SUkVQTEFDRVNfJHtQTn0gPSAiZ25vbWUtaWNvbi10aGVtZSIKLVJDT05GTElDVFNfJHtQTn0gPSAiZ25vbWUtaWNvbi10aGVtZSIKLVJQUk9WSURFU18ke1BOfSA9ICJnbm9tZS1pY29uLXRoZW1lIgotCi1GSUxFU18ke1BOfS1jdXJzb3JzID0gIiR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhL2N1cnNvcnMvIgotRklMRVNfJHtQTn0tc3ltYm9saWMtaGlyZXMgPSAiJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvOTZ4OTYvKi8qLnN5bWJvbGljLnBuZyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS82NHg2NC8qLyouc3ltYm9saWMucG5nIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzQ4eDQ4LyovKi5zeW1ib2xpYy5wbmcgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvMzJ4MzIvKi8qLnN5bWJvbGljLnBuZyIKLUZJTEVTXyR7UE59LXN5bWJvbGljID0gIiR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzE2eDE2LyovKi5zeW1ib2xpYy5wbmcgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvMjR4MjQvKi8qLnN5bWJvbGljLnBuZyIKLUZJTEVTXyR7UE59LWhpcmVzID0gIiR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzI1NngyNTYvIFwKLSAgICAgICAgICAgICAgICAgICAgICR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzUxMng1MTIvIgotRklMRVNfJHtQTn0gPSAiJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvIFwKLSAgICAgICAgICAgICAgICR7cHJlZml4fS9zaGFyZS9wa2djb25maWcvYWR3YWl0YS1pY29uLXRoZW1lLnBjIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvYWR3YWl0YS1pY29uLXRoZW1lXzMuMzAuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2Fkd2FpdGEtaWNvbi10aGVtZV8zLjMwLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGVhZGJkMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2Fkd2FpdGEtaWNvbi10aGVtZV8zLjMwLjEuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJHVEsrIGljb24gdGhlbWUiCitIT01FUEFHRSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9hZHdhaXRhLWljb24tdGhlbWUvIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCitTRUNUSU9OID0gIngxMS9nbm9tZSIKKworTElDRU5TRSA9ICJMR1BMLTMuMCB8IENDLUJZLVNBLTMuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM4NGNhYzg4ZTQ2ZmMwNzY0N2VhMDdlNmMyNGVlYjdjIgorCitpbmhlcml0IGFsbGFyY2ggYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IGd0ay1pY29uLWNhY2hlIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgorCitNQUpfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0JQTn0vJHtNQUpfVkVSfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG9uLXQtdXNlLUFDX0NBTk9OSUNBTF9IT1NULnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtUnVuLWluc3RhbGxhdGlvbi1jb21tYW5kcy1hcy1zaGVsbC1qb2JzLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGIzZmQ4MTI4MjFkNzJmZGQ5YTNjN2Q2MjJhOTViMzUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmQ3NTJhMmIxYmM2Njg0ODM5NTZkNDQ4NWMzOWNhZDE2NDJkOTM1OGUxMzNmZjY4OTUyNmU0MzY3NGE0ZTFjZSIKKworREVQRU5EUyArPSAibGlicnN2Zy1uYXRpdmUiCisKK1BBQ0tBR0VTID0gIiR7UE59LWN1cnNvcnMgJHtQTn0tc3ltYm9saWMtaGlyZXMgJHtQTn0tc3ltYm9saWMgJHtQTn0taGlyZXMgJHtQTn0iCisKK1JSRVBMQUNFU18ke1BOfSA9ICJnbm9tZS1pY29uLXRoZW1lIgorUkNPTkZMSUNUU18ke1BOfSA9ICJnbm9tZS1pY29uLXRoZW1lIgorUlBST1ZJREVTXyR7UE59ID0gImdub21lLWljb24tdGhlbWUiCisKK0ZJTEVTXyR7UE59LWN1cnNvcnMgPSAiJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvY3Vyc29ycy8iCitGSUxFU18ke1BOfS1zeW1ib2xpYy1oaXJlcyA9ICIke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS85Nng5Ni8qLyouc3ltYm9saWMucG5nIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzY0eDY0LyovKi5zeW1ib2xpYy5wbmcgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvNDh4NDgvKi8qLnN5bWJvbGljLnBuZyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS8zMngzMi8qLyouc3ltYm9saWMucG5nIgorRklMRVNfJHtQTn0tc3ltYm9saWMgPSAiJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvMTZ4MTYvKi8qLnN5bWJvbGljLnBuZyBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS8yNHgyNC8qLyouc3ltYm9saWMucG5nIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhL3NjYWxhYmxlLyovKi1zeW1ib2xpYyouc3ZnIgorRklMRVNfJHtQTn0taGlyZXMgPSAiJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvMjU2eDI1Ni8gXAorICAgICAgICAgICAgICAgICAgICAgJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvNTEyeDUxMi8iCitGSUxFU18ke1BOfSA9ICIke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS8gXAorICAgICAgICAgICAgICAgJHtwcmVmaXh9L3NoYXJlL3BrZ2NvbmZpZy9hZHdhaXRhLWljb24tdGhlbWUucGMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2djb25mXzMuMi42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvZ2NvbmZfMy4yLjYuYmIKaW5kZXggMTIwYWUzZS4uZTY3NDJmMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvZ2NvbmZfMy4yLjYuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvZ2NvbmZfMy4yLjYuYmIKQEAgLTIyLDEyICsyMiwxMSBAQAogRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXNoYXJlZCAtLWRpc2FibGUtc3RhdGljIFwKICAgICAgICAgICAgICAgICAtLWRpc2FibGUtb3JiaXQgLS13aXRoLW9wZW5sZGFwPW5vIC0tZGlzYWJsZS1ndGsiCiAKLSMgRGlzYWJsZSBQb2xpY3lLaXQgYnkgZGVmYXVsdAotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLSMgV2UgcmVhbGx5IGRvbid0IHdhbnQgUG9saWN5S2l0IGZvciBuYXRpdmUKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwb2xraXQnLCBkKX0iCisjIFdlIHJlYWxseSBkb24ndCB3YW50IFBvbGtpdCBmb3IgbmF0aXZlCiBQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICIiCiAKLVBBQ0tBR0VDT05GSUdbcG9saWN5a2l0XSA9ICItLWVuYWJsZS1kZWZhdWx0cy1zZXJ2aWNlLC0tZGlzYWJsZS1kZWZhdWx0cy1zZXJ2aWNlLHBvbGtpdCIKK1BBQ0tBR0VDT05GSUdbcG9sa2l0XSA9ICItLWVuYWJsZS1kZWZhdWx0cy1zZXJ2aWNlLC0tZGlzYWJsZS1kZWZhdWx0cy1zZXJ2aWNlLHBvbGtpdCIKIFBBQ0tBR0VDT05GSUdbZGVidWddID0gIi0tZW5hYmxlLWRlYnVnPXllcywgLS1lbmFibGUtZGVidWc9bWluaW11bSIKIAogZG9faW5zdGFsbF9hcHBlbmQoKSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJhcnQtbGdwbC9saWJhcnRfbGdwbC0yLjMuMjEtY3Jvc3Njb21waWxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0X2xncGwtMi4zLjIxLWNyb3NzY29tcGlsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDI2MWY1OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJhcnQtbGdwbC9saWJhcnRfbGdwbC0yLjMuMjEtY3Jvc3Njb21waWxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODQgKzAsMCBAQAotVGFrZW4gZnJvbSBwb3J0YWdlCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotRnJvbSBlMTQ0M2M5NDVhNGNmNjcwOTZkOGMyNzcyMWFhZGQ3MzY4MzgyYjNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogR2lsbGVzIERhcnRpZ3VlbG9uZ3VlIDxldmFAZ2VudG9vLm9yZz4KLURhdGU6IFR1ZSwgNiBBcHIgMjAxMCAxNToyMjoyNSArMDIwMAotU3ViamVjdDogW1BBVENIIDIvMl0gZ2VudG9vOiB1c2UgSVNPIHR5cGVzIGZvciBmaXhlZCB0eXBlIHNpemUKLQotLS0tCi0gTWFrZWZpbGUuYW0gIHwgICAxMSArKy0tLS0tLS0tLQotIGFydF9jb25maWcuaCB8ICAgIDUgKysrKysKLSBjb25maWd1cmUuaW4gfCAgIDEwIC0tLS0tLS0tLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGFydF9jb25maWcuaAotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQotaW5kZXggOTU5NTJkYS4uNmFhMmZlMyAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLmFtCi0rKysgYi9NYWtlZmlsZS5hbQotQEAgLTIsMTMgKzIsNiBAQCBjaGVja19QUk9HUkFNUyA9IHRlc3RhcnQgdGVzdHV0YQotIAotIGJpbl9TQ1JJUFRTID0gXAotIAlsaWJhcnQyLWNvbmZpZwotLQkKLS1ub2luc3RfU0NSSVBUUyA9IGdlbl9hcnRfY29uZmlnLnNoCi0tCi0tQlVJTFRfU09VUkNFUyA9IGFydF9jb25maWcuaAotLQotLWFydF9jb25maWcuaDoKLS0JLi9nZW5fYXJ0X2NvbmZpZy5zaCA+IGFydF9jb25maWcuaAotIAotIEVYVFJBX0RJU1QgPSAJCQlcCi0gCWxpYmFydC5kZWYJCVwKLUBAIC0xNzMsNSArMTY2LDUgQEAgaW5zdGFsbC1kYXRhLWxvY2FsOiBpbnN0YWxsLW1zLWxpYiBpbnN0YWxsLWxpYnRvb2wtaW1wb3J0LWxpYgotIAotIHVuaW5zdGFsbC1sb2NhbDogdW5pbnN0YWxsLW1zLWxpYiB1bmluc3RhbGwtbGlidG9vbC1pbXBvcnQtbGliCi0gCi0tQ0xFQU5GSUxFUyA9ICQoQlVJTFRfU09VUkNFUykgJChiaW5fU0NSSVBUUykKLS1ESVNUQ0xFQU5GSUxFUyA9ICQoQlVJTFRfU09VUkNFUykgJChiaW5fU0NSSVBUUykKLStDTEVBTkZJTEVTID0gJChiaW5fU0NSSVBUUykKLStESVNUQ0xFQU5GSUxFUyA9ICQoYmluX1NDUklQVFMpCi1kaWZmIC0tZ2l0IGEvYXJ0X2NvbmZpZy5oIGIvYXJ0X2NvbmZpZy5oCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uNTk4NWYxZgotLS0tIGEvYXJ0X2NvbmZpZy5oCi0rKysgYi9hcnRfY29uZmlnLmgKLUBAIC0wLDAgKzEsNSBAQAotKyNpbmNsdWRlIDxzdGRpbnQuaD4KLSsKLSt0eXBlZGVmIHVpbnQ4X3QgYXJ0X3U4OwotK3R5cGVkZWYgdWludDE2X3QgYXJ0X3UxNjsKLSt0eXBlZGVmIHVpbnQzMl90IGFydF91MzI7Ci1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCi1pbmRleCBlNDgwNGY3Li5kZGNhYzRmIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmluCi0rKysgYi9jb25maWd1cmUuaW4KLUBAIC05MiwxNSArOTIsNiBAQCBBQ19GVU5DX0FMTE9DQQotIAotIEFDX0NfQklHRU5ESUFOCi0gCi0tQUNfQ0hFQ0tfU0laRU9GKGNoYXIpCi0tQUNfU1VCU1QoQVJUX1NJWkVPRl9DSEFSLCAkYWNfY3Zfc2l6ZW9mX2NoYXIpCi0tQUNfQ0hFQ0tfU0laRU9GKHNob3J0KQotLUFDX1NVQlNUKEFSVF9TSVpFT0ZfU0hPUlQsICRhY19jdl9zaXplb2Zfc2hvcnQpCi0tQUNfQ0hFQ0tfU0laRU9GKGludCkKLS1BQ19TVUJTVChBUlRfU0laRU9GX0lOVCwgJGFjX2N2X3NpemVvZl9pbnQpCi0tQUNfQ0hFQ0tfU0laRU9GKGxvbmcpCi0tQUNfU1VCU1QoQVJUX1NJWkVPRl9MT05HLCAkYWNfY3Zfc2l6ZW9mX2xvbmcpCi0tCi0gQUNfQ09ORklHX0ZJTEVTKFsKLSBsaWJhcnQtZmVhdHVyZXMuaAotIE1ha2VmaWxlCi1AQCAtMTA5LDYgKzEwMCw1IEBAIGxpYmFydC0yLjAtdW5pbnN0YWxsZWQucGMKLSBsaWJhcnQtemlwXSkKLSAKLSBBQ19DT05GSUdfRklMRVMoW2xpYmFydC1jb25maWddLFtjaG1vZCAreCBsaWJhcnQtY29uZmlnXSkKLS1BQ19DT05GSUdfRklMRVMoW2dlbl9hcnRfY29uZmlnLnNoXSxbY2htb2QgK3ggZ2VuX2FydF9jb25maWcuc2hdKQotIAotIEFDX09VVFBVVAotLS0gCi0xLjcuMC40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2xpYmFydC1sZ3BsXzIuMy4yMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2xpYmFydC1sZ3BsXzIuMy4yMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTU1ODFiMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJhcnQtbGdwbF8yLjMuMjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1TVU1NQVJZID0gIkxpYnJhcnkgb2YgZnVuY3Rpb25zIGZvciAyRCBncmFwaGljcyIKLVNFQ1RJT04gPSAieDExL2dub21lIgotTElDRU5TRSA9ICJMR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyIKLVBSID0gInIyIgotCi0jIGNhbid0IHVzZSBnbm9tZS5vZWNsYXNzIGR1ZSB0byBfIGluIGZpbGVuYW1lCi1TUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS9saWJhcnRfbGdwbC8yLjMvbGliYXJ0X2xncGwtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9saWJhcnRfbGdwbC0yLjMuMjEtY3Jvc3Njb21waWxlLnBhdGNoIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwODU1OWZmM2M2N2ZkOTVkNTdiMGM1ZTkxYTZiNDMwMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmZGMxMWU3NGMxMGZjOWZmZTQxODg1MzdlMmIzNzBjMGFiYWNjYTdkODkwMjFkNGQzMDNhZmRmN2ZkNzQ3NmZhIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotREVQRU5EUyA9ICIiCi0KLUZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qLnNvLioiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7YmluZGlyfS9saWJhcnQyLWNvbmZpZyIKLQotUyA9ICIke1dPUktESVJ9L2xpYmFydF9sZ3BsLSR7UFZ9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dvYmplY3QtaW50cm9zcGVjdGlvbi8wMDAxLVBvcnQtY3Jvc3MtY29tcGlsYXRpb24tc3VwcG9ydC10by1tZXNvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb24vMDAwMS1Qb3J0LWNyb3NzLWNvbXBpbGF0aW9uLXN1cHBvcnQtdG8tbWVzb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODBjOWU3MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb24vMDAwMS1Qb3J0LWNyb3NzLWNvbXBpbGF0aW9uLXN1cHBvcnQtdG8tbWVzb24ucGF0Y2gKQEAgLTAsMCArMSwxNjAgQEAKK0Zyb20gZWEyNWE1YTc1NWJjODM5ZDViNTA0YWFjMjA3Zjg2MGFlNjgxMDliYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVGh1LCAxNSBOb3YgMjAxOCAxNToxMDowNSArMDEwMAorU3ViamVjdDogW1BBVENIXSBQb3J0IGNyb3NzLWNvbXBpbGF0aW9uIHN1cHBvcnQgdG8gbWVzb24KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworLS0tCisgZ2lyL21lc29uLmJ1aWxkICAgfCA1OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQorIG1lc29uLmJ1aWxkICAgICAgIHwgIDQgKysrLQorIG1lc29uX29wdGlvbnMudHh0IHwgMjAgKysrKysrKysrKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9naXIvbWVzb24uYnVpbGQgYi9naXIvbWVzb24uYnVpbGQKK2luZGV4IDFjYjUxNGEuLmY4NzMwNjggMTAwNjQ0CistLS0gYS9naXIvbWVzb24uYnVpbGQKKysrKyBiL2dpci9tZXNvbi5idWlsZAorQEAgLTM2LDE1ICszNiwyNyBAQCBnaXJfZmlsZXMgPSBbCisgdHlwZWxpYmRpciA9IGpvaW5fcGF0aHMoZ2V0X29wdGlvbignbGliZGlyJyksICdnaXJlcG9zaXRvcnktMS4wJykKKyBpbnN0YWxsX2RhdGEoZ2lyX2ZpbGVzLCBpbnN0YWxsX2RpcjogZ2lyZGlyKQorIAorLXNjYW5uZXJfY29tbWFuZCA9IFsKKy0gIHB5dGhvbiwKKy0gIGdpcnNjYW5uZXIsCistICAnLS1vdXRwdXQ9QE9VVFBVVEAnLAorLSAgJy0tbm8tbGlidG9vbCcsCistICAnLS1yZXBhcnNlLXZhbGlkYXRlJywKKy0gICctLWFkZC1pbmNsdWRlLXBhdGgnLCBqb2luX3BhdGhzKG1lc29uLmN1cnJlbnRfYnVpbGRfZGlyKCkpLAorLSAgJy0tYWRkLWluY2x1ZGUtcGF0aCcsIGpvaW5fcGF0aHMobWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCkpLAorLV0KKytpZiBnZXRfb3B0aW9uKCdlbmFibGUtaG9zdC1naScpCisrICAgIHNjYW5uZXJfY29tbWFuZCA9IFsKKysgICAgICAnZy1pci1zY2FubmVyJywKKysgICAgICAnLS1vdXRwdXQ9QE9VVFBVVEAnLAorKyAgICAgICctLW5vLWxpYnRvb2wnLAorKyAgICAgICctLXJlcGFyc2UtdmFsaWRhdGUnLAorKyAgICAgICctLWFkZC1pbmNsdWRlLXBhdGgnLCBqb2luX3BhdGhzKG1lc29uLmN1cnJlbnRfYnVpbGRfZGlyKCkpLAorKyAgICAgICctLWFkZC1pbmNsdWRlLXBhdGgnLCBqb2luX3BhdGhzKG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpKSwKKysgICAgXQorK2Vsc2UKKysgICAgc2Nhbm5lcl9jb21tYW5kID0gWworKyAgICAgIHB5dGhvbiwKKysgICAgICBnaXJzY2FubmVyLAorKyAgICAgICctLW91dHB1dD1AT1VUUFVUQCcsCisrICAgICAgJy0tbm8tbGlidG9vbCcsCisrICAgICAgJy0tcmVwYXJzZS12YWxpZGF0ZScsCisrICAgICAgJy0tYWRkLWluY2x1ZGUtcGF0aCcsIGpvaW5fcGF0aHMobWVzb24uY3VycmVudF9idWlsZF9kaXIoKSksCisrICAgICAgJy0tYWRkLWluY2x1ZGUtcGF0aCcsIGpvaW5fcGF0aHMobWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCkpLAorKyAgICBdCisrZW5kaWYKKysKKyAKKyBkZXBfdHlwZSA9IGdsaWJfZGVwLnR5cGVfbmFtZSgpCisgaWYgZGVwX3R5cGUgPT0gJ2ludGVybmFsJworQEAgLTU3LDYgKzY5LDEyIEBAIGlmIGRlcF90eXBlID09ICdpbnRlcm5hbCcKKyAgICAgICAgICAgICAgICAgICAgICAgJy0tZXh0cmEtbGlicmFyeT1nbGliLTIuMCcsICctLWV4dHJhLWxpYnJhcnk9Z29iamVjdC0yLjAnXQorIGVuZGlmCisgCisraWYgZ2V0X29wdGlvbignZW5hYmxlLWdpLWNyb3NzLXdyYXBwZXInKSAhPSAnJworKyAgc2Nhbm5lcl9jb21tYW5kICs9IFsnLS11c2UtYmluYXJ5LXdyYXBwZXI9JyArIGdldF9vcHRpb24oJ2VuYWJsZS1naS1jcm9zcy13cmFwcGVyJyldCisrZW5kaWYKKytpZiBnZXRfb3B0aW9uKCdlbmFibGUtZ2ktbGRkLXdyYXBwZXInKSAhPSAnJworKyAgc2Nhbm5lcl9jb21tYW5kICs9IFsnLS11c2UtbGRkLXdyYXBwZXI9JyArIGdldF9vcHRpb24oJ2VuYWJsZS1naS1sZGQtd3JhcHBlcicpXQorK2VuZGlmCisgIyBUYWtlIGEgZ2xvYiBhbmQgcHJpbnQgdG8gbmV3bGluZXMKKyBnbG9iYmVyID0gJycnCisgZnJvbSBnbG9iIGltcG9ydCBnbG9iCitAQCAtODMsOCArMTAxLDggQEAgZ2xpYl9jb21tYW5kID0gc2Nhbm5lcl9jb21tYW5kICsgWworIAorIGlmIGRlcF90eXBlID09ICdwa2djb25maWcnCisgICBnbGliX2NvbW1hbmQgKz0gWyctLWV4dGVybmFsLWxpYnJhcnknLCAnLS1wa2c9Z2xpYi0yLjAnXQorLSAgZ2xpYl9saWJkaXIgPSBnbGliX2RlcC5nZXRfcGtnY29uZmlnX3ZhcmlhYmxlKCdsaWJkaXInKQorLSAgZ2xpYl9pbmNkaXIgPSBqb2luX3BhdGhzKGdsaWJfZGVwLmdldF9wa2djb25maWdfdmFyaWFibGUoJ2luY2x1ZGVkaXInKSwgJ2dsaWItMi4wJykKKysgIGdsaWJfbGliZGlyID0gZ2V0X29wdGlvbigncGtnY29uZmlnLXN5c3Jvb3QtcGF0aCcpICsgZ2xpYl9kZXAuZ2V0X3BrZ2NvbmZpZ192YXJpYWJsZSgnbGliZGlyJykKKysgIGdsaWJfaW5jZGlyID0gZ2V0X29wdGlvbigncGtnY29uZmlnLXN5c3Jvb3QtcGF0aCcpICsgam9pbl9wYXRocyhnbGliX2RlcC5nZXRfcGtnY29uZmlnX3ZhcmlhYmxlKCdpbmNsdWRlZGlyJyksICdnbGliLTIuMCcpCisgICBnbGliX2xpYmluY2RpciA9IGpvaW5fcGF0aHMoZ2xpYl9saWJkaXIsICdnbGliLTIuMCcsICdpbmNsdWRlJykKKyAgIGdsaWJfZmlsZXMgKz0gam9pbl9wYXRocyhnbGliX2luY2RpciwgJ2dvYmplY3QnLCAnZ2xpYi10eXBlcy5oJykKKyAgIGdsaWJfZmlsZXMgKz0gam9pbl9wYXRocyhnbGliX2xpYmluY2RpciwgJ2dsaWJjb25maWcuaCcpCitAQCAtMzM4LDcgKzM1Niw3IEBAIGVuZGZvcmVhY2gKKyBpZiBnaW91bml4X2RlcC5mb3VuZCgpCisgICBpZiBkZXBfdHlwZSA9PSAncGtnY29uZmlnJworICAgICBnaW9fY29tbWFuZCArPSBbJy0tcGtnPWdpby11bml4LTIuMCddCistICAgIGdpb3VuaXhfaW5jbHVkZWRpciA9IGpvaW5fcGF0aHMoZ2lvdW5peF9kZXAuZ2V0X3BrZ2NvbmZpZ192YXJpYWJsZSgnaW5jbHVkZWRpcicpLCAnZ2lvLXVuaXgtMi4wJykKKysgICAgZ2lvdW5peF9pbmNsdWRlZGlyID0gZ2V0X29wdGlvbigncGtnY29uZmlnLXN5c3Jvb3QtcGF0aCcpICsgam9pbl9wYXRocyhnaW91bml4X2RlcC5nZXRfcGtnY29uZmlnX3ZhcmlhYmxlKCdpbmNsdWRlZGlyJyksICdnaW8tdW5peC0yLjAnKQorICAgICAjIEdldCB0aGUgaW5zdGFsbGVkIGdpby11bml4IGhlYWRlciBsaXN0CisgICAgIHJldCA9IHJ1bl9jb21tYW5kKHB5dGhvbiwgJy1jJywgZ2xvYmJlci5mb3JtYXQoam9pbl9wYXRocyhnaW91bml4X2luY2x1ZGVkaXIsICdnaW8nLCAnKi5oJykpKQorICAgICBpZiByZXQucmV0dXJuY29kZSgpICE9IDAKK0BAIC00MTYsMTUgKzQzNCwyNCBAQCBnaXJfZmlsZXMgKz0gY3VzdG9tX3RhcmdldCgnZ2lyLWdpcmVwb3NpdG9yeScsCisgICBdCisgKQorIAorK2lmIGdldF9vcHRpb24oJ2VuYWJsZS1naS1jcm9zcy13cmFwcGVyJykgIT0gJycKKysgICAgZ2lyY29tcGlsZXJfY29tbWFuZCA9IFtnZXRfb3B0aW9uKCdlbmFibGUtZ2ktY3Jvc3Mtd3JhcHBlcicpLCBnaXJjb21waWxlci5mdWxsX3BhdGgoKSwgJy1vJywgJ0BPVVRQVVRAJywgJ0BJTlBVVEAnLAorKyAgICAgICAgICAgICAgJy0taW5jbHVkZWRpcicsIG1lc29uLmN1cnJlbnRfYnVpbGRfZGlyKCksCisrICAgICAgICAgICAgICAnLS1pbmNsdWRlZGlyJywgbWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCksCisrICAgIF0KKytlbHNlCisrICAgIGdpcmNvbXBpbGVyX2NvbW1hbmQgPSBbZ2lyY29tcGlsZXIsICctbycsICdAT1VUUFVUQCcsICdASU5QVVRAJywKKysgICAgICAgICAgICAgICctLWluY2x1ZGVkaXInLCBtZXNvbi5jdXJyZW50X2J1aWxkX2RpcigpLAorKyAgICAgICAgICAgICAgJy0taW5jbHVkZWRpcicsIG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpLAorKyAgICBdCisrZW5kaWYKKysKKyBmb3JlYWNoIGdpciA6IGdpcl9maWxlcworICAgY3VzdG9tX3RhcmdldCgnZ2VuZXJhdGUtdHlwZWxpYi1AMEAnLmZvcm1hdChnaXIpLnVuZGVyc2NvcmlmeSgpLAorICAgICBpbnB1dDogZ2lyLAorICAgICBvdXRwdXQ6ICdAQkFTRU5BTUVALnR5cGVsaWInLAorICAgICBkZXBlbmRzOiBbZ29iamVjdF9naXIsIF0sCistICAgIGNvbW1hbmQ6IFtnaXJjb21waWxlciwgJy1vJywgJ0BPVVRQVVRAJywgJ0BJTlBVVEAnLAorLSAgICAgICAgICAgICAgJy0taW5jbHVkZWRpcicsIG1lc29uLmN1cnJlbnRfYnVpbGRfZGlyKCksCistICAgICAgICAgICAgICAnLS1pbmNsdWRlZGlyJywgbWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCksCistICAgIF0sCisrICAgIGNvbW1hbmQ6IGdpcmNvbXBpbGVyX2NvbW1hbmQsCisgICAgIGluc3RhbGw6IHRydWUsCisgICAgIGluc3RhbGxfZGlyOiB0eXBlbGliZGlyLAorICAgKQorZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDE3YWNkODIuLmUwYmI0OTUgMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC04MSw3ICs4MSw5IEBAIGxpYmZmaV9kZXAgPSBkZXBlbmRlbmN5KCdsaWJmZmknLAorIHN1YmRpcignZ2lyZXBvc2l0b3J5JykKKyBzdWJkaXIoJ3Rvb2xzJykKKyBzdWJkaXIoJ2dpc2Nhbm5lcicpCistc3ViZGlyKCdnaXInKQorK2lmIGdldF9vcHRpb24oJ2VuYWJsZS1pbnRyb3NwZWN0aW9uLWRhdGEnKSA9PSB0cnVlCisrICAgIHN1YmRpcignZ2lyJykKKytlbmRpZgorIHN1YmRpcignZXhhbXBsZXMnKQorIHN1YmRpcignZG9jcycpCisgc3ViZGlyKCd0ZXN0cycpCitkaWZmIC0tZ2l0IGEvbWVzb25fb3B0aW9ucy50eHQgYi9tZXNvbl9vcHRpb25zLnR4dAoraW5kZXggZWU2OTU4ZC4uYjE2ODE0MiAxMDA2NDQKKy0tLSBhL21lc29uX29wdGlvbnMudHh0CisrKysgYi9tZXNvbl9vcHRpb25zLnR4dAorQEAgLTI1LDMgKzI1LDIzIEBAIG9wdGlvbigncHl0aG9uJywgdHlwZTogJ3N0cmluZycsIHZhbHVlOiAncHl0aG9uMycsCisgb3B0aW9uKCdnaXItZGlyLXByZWZpeCcsIHR5cGU6ICdzdHJpbmcnLAorICAgZGVzY3JpcHRpb246ICdJbnRlcm1lZGlhdGUgcHJlZml4IGZvciBnaXIgaW5zdGFsbGF0aW9uIHVuZGVyICR7cHJlZml4fScKKyApCisrCisrb3B0aW9uKCdlbmFibGUtaG9zdC1naScsIHR5cGU6ICdib29sZWFuJywgdmFsdWUgOiBmYWxzZSwKKysgIGRlc2NyaXB0aW9uOiAnVXNlIGdvYmplY3QgaW50cm9zcGVjdGlvbiB0b29scyBpbnN0YWxsZWQgaW4gdGhlIGhvc3Qgc3lzdGVtICh1c2VmdWwgd2hlbiBjcm9zcy1jb21waWxpbmcpJworKykKKysKKytvcHRpb24oJ2VuYWJsZS1naS1jcm9zcy13cmFwcGVyJywgdHlwZTogJ3N0cmluZycsCisrICBkZXNjcmlwdGlvbjogJ1VzZSBhIHdyYXBwZXIgdG8gcnVuIGdpY29tcGlsZXIgYW5kIGJpbmFyaWVzIHByb2R1Y2VkIGJ5IGdpc2Nhbm5lciAodXNlZnVsIHdoZW4gY3Jvc3MtY29tcGlsaW5nKScKKyspCisrCisrb3B0aW9uKCdlbmFibGUtZ2ktbGRkLXdyYXBwZXInLCB0eXBlOiAnc3RyaW5nJywKKysgIGRlc2NyaXB0aW9uOiAnVXNlIGEgbGRkIHdyYXBwZXIgaW5zdGVhZCBvZiBzeXN0ZW0gbGRkIGNvbW1hbmQgaW4gZ2lzY2FubmVyICh1c2VmdWwgd2hlbiBjcm9zcy1jb21waWxpbmcpJworKykKKysKKytvcHRpb24oJ2VuYWJsZS1pbnRyb3NwZWN0aW9uLWRhdGEnLCB0eXBlOiAnYm9vbGVhbicsIHZhbHVlIDogdHJ1ZSwKKysgIGRlc2NyaXB0aW9uOiAnQnVpbGQgaW50cm9zcGVjdGlvbiBkYXRhICguZ2lyIGFuZCAudHlwZWxpYiBmaWxlcykgaW4gYWRkaXRpb24gdG8gbGlicmFyeSBhbmQgdG9vbHMnCisrKQorKworK29wdGlvbigncGtnY29uZmlnLXN5c3Jvb3QtcGF0aCcsIHR5cGU6ICdzdHJpbmcnLAorKyAgZGVzY3JpcHRpb246ICdTcGVjaWZ5IGEgc3lzcm9vdCBwYXRoIHRvIHByZXBlbmQgdG8gcGtnY29uZmlnIG91dHB1dCAodXNlZnVsIHdoZW4gY3Jvc3MtY29tcGlsaW5nKScKKyspCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ29iamVjdC1pbnRyb3NwZWN0aW9uLzAwMDEtUmVsb2NhdGUtdGhlLXJlcG9zaXRvcnktZGlyZWN0b3J5LWZvci1uYXRpdmUtYnVpbGRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dvYmplY3QtaW50cm9zcGVjdGlvbi8wMDAxLVJlbG9jYXRlLXRoZS1yZXBvc2l0b3J5LWRpcmVjdG9yeS1mb3ItbmF0aXZlLWJ1aWxkcy5wYXRjaAppbmRleCBiYTg1YzMxLi5hOTFkMjJhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ29iamVjdC1pbnRyb3NwZWN0aW9uLzAwMDEtUmVsb2NhdGUtdGhlLXJlcG9zaXRvcnktZGlyZWN0b3J5LWZvci1uYXRpdmUtYnVpbGRzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb24vMDAwMS1SZWxvY2F0ZS10aGUtcmVwb3NpdG9yeS1kaXJlY3RvcnktZm9yLW5hdGl2ZS1idWlsZHMucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDRjZjM3ZDU2ZmRkY2MyMmJjZDgxOGY2ZDQ3MDQwNGY1NmQ5MDdmM2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDdlYThjODNkODRhMDVmNjg2MTI4ZTY1MmE1NDQ3ZmI1ZjZmYjY4YmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBTYXNjaGEgU2lsYmUgPHgteW8xN0BzZS1zaWxiZS5kZT4KIERhdGU6IEZyaSwgOCBKdW4gMjAxOCAxMzo1NToxMCArMDIwMAogU3ViamVjdDogW1BBVENIXSBSZWxvY2F0ZSB0aGUgcmVwb3NpdG9yeSBkaXJlY3RvcnkgZm9yIG5hdGl2ZSBidWlsZHMKQEAgLTE3LDcgKzE3LDggQEAKIAogLS0tCiAgZ2lyZXBvc2l0b3J5L2dpcmVwb3NpdG9yeS5jIHwgMTUgKysrKysrKysrKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisgZ2lyZXBvc2l0b3J5L21lc29uLmJ1aWxkICAgIHwgIDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9naXJlcG9zaXRvcnkvZ2lyZXBvc2l0b3J5LmMgYi9naXJlcG9zaXRvcnkvZ2lyZXBvc2l0b3J5LmMKIGluZGV4IGMxZmEzZDMuLmVmYTU1N2UgMTAwNjQ0CkBAIC02MCwzICs2MSwxNiBAQAogIAogICAgICAgIHR5cGVsaWJfc2VhcmNoX3BhdGggPSBnX3NsaXN0X3ByZXBlbmQgKHR5cGVsaWJfc2VhcmNoX3BhdGgsIHR5cGVsaWJfZGlyKTsKICAKK2RpZmYgLS1naXQgYS9naXJlcG9zaXRvcnkvbWVzb24uYnVpbGQgYi9naXJlcG9zaXRvcnkvbWVzb24uYnVpbGQKK2luZGV4IDZhOGM1YjUuLjg4OTJmMmEgMTAwNjQ0CistLS0gYS9naXJlcG9zaXRvcnkvbWVzb24uYnVpbGQKKysrKyBiL2dpcmVwb3NpdG9yeS9tZXNvbi5idWlsZAorQEAgLTI3LDcgKzI3LDcgQEAgZ2lyZXBvX2ludGVybmFsc19saWIgPSBzdGF0aWNfbGlicmFyeSgnZ2lyZXBvc2l0b3J5LWludGVybmFscycsCisgICBdLAorICAgY19hcmdzOiBnaV9oaWRkZW5fdmlzaWJpbGl0eV9jZmxhZ3MsCisgICBpbmNsdWRlX2RpcmVjdG9yaWVzIDogY29uZmlnaW5jLAorLSAgZGVwZW5kZW5jaWVzOiBbZ2lyZXBvX2d0aGFzaF9kZXAsIGxpYmZmaV9kZXBdLAorKyAgZGVwZW5kZW5jaWVzOiBbZ2lyZXBvX2d0aGFzaF9kZXAsIGxpYmZmaV9kZXAsIGNjLmZpbmRfbGlicmFyeSgnZGwnKV0sCisgKQorIAorIGdpcmVwb19pbnRlcm5hbHNfZGVwID0gZGVjbGFyZV9kZXBlbmRlbmN5KApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dvYmplY3QtaW50cm9zcGVjdGlvbi8wMDEwLW1lc29uLWFkZC1vcHRpb24tZ2lyLWRpci1wcmVmaXgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ29iamVjdC1pbnRyb3NwZWN0aW9uLzAwMTAtbWVzb24tYWRkLW9wdGlvbi1naXItZGlyLXByZWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWVjNWY4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dvYmplY3QtaW50cm9zcGVjdGlvbi8wMDEwLW1lc29uLWFkZC1vcHRpb24tZ2lyLWRpci1wcmVmaXgucGF0Y2gKQEAgLTAsMCArMSw2NiBAQAorRnJvbSBiYmMzNGYwMGZkMzBhMTNlYWZjNjA3YTk1NmRlNjBkODIyMjYwMzU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDE0IFNlcCAyMDE4IDAxOjI2OjM4IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIG1lc29uOiBhZGQgb3B0aW9uICdnaXItZGlyLXByZWZpeCcKKworQWRkIG9wdGlvbiAnZ2lyLWRpci1wcmVmaXgnIGZvciBtZXNvbiB0byBtYWtlIHRoZSBpbnN0YWxsYXRpb24gcGF0aCBvZgorLmdpciBmaWxlcyBjb3VsZCBiZSBjb25maWd1cmVkIHdoaWNoIGhhcyBiZWVuIGRvbmUgZm9yIGF1dG9jb25mLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2NvbW1pdC8zOTM4Yjg2ZjUyODljMmIyOGE1ZWM0Mjk2NWI4ZGE0YjUwOTQ0NWM0XQorU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBnaXIvbWVzb24uYnVpbGQgICB8IDEgLQorIG1lc29uLmJ1aWxkICAgICAgIHwgOCArKysrKysrLQorIG1lc29uX29wdGlvbnMudHh0IHwgNCArKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ2lyL21lc29uLmJ1aWxkIGIvZ2lyL21lc29uLmJ1aWxkCitpbmRleCA2MDdiYmM0Li4xY2I1MTRhIDEwMDY0NAorLS0tIGEvZ2lyL21lc29uLmJ1aWxkCisrKysgYi9naXIvbWVzb24uYnVpbGQKK0BAIC0zNCw3ICszNCw2IEBAIGdpcl9maWxlcyA9IFsKKyBdCisgCisgdHlwZWxpYmRpciA9IGpvaW5fcGF0aHMoZ2V0X29wdGlvbignbGliZGlyJyksICdnaXJlcG9zaXRvcnktMS4wJykKKy1naXJkaXIgPSBqb2luX3BhdGhzKGdldF9vcHRpb24oJ2RhdGFkaXInKSwgJ2dpci0xLjAnKQorIGluc3RhbGxfZGF0YShnaXJfZmlsZXMsIGluc3RhbGxfZGlyOiBnaXJkaXIpCisgCisgc2Nhbm5lcl9jb21tYW5kID0gWworZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IGExNDMyZjcuLjE3YWNkODIgMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC0xOCw3ICsxOCwxMiBAQCBweXRob24gPSBweW1vZC5maW5kX2luc3RhbGxhdGlvbihnZXRfb3B0aW9uKCdweXRob24nKSkKKyBjYyA9IG1lc29uLmdldF9jb21waWxlcignYycpCisgY29uZmlnID0gY29uZmlndXJhdGlvbl9kYXRhKCkKKyBjb25maWcuc2V0X3F1b3RlZCgnR0lSX1NVRkZJWCcsICdnaXItMS4wJykKKy1jb25maWcuc2V0X3F1b3RlZCgnR0lSX0RJUicsIGpvaW5fcGF0aHMoZ2V0X29wdGlvbigncHJlZml4JyksIGdldF9vcHRpb24oJ2RhdGFkaXInKSwgJ2dpci0xLjAnKSkKKytnaXJfZGlyX3ByZWZpeCA9IGdldF9vcHRpb24oJ2dpci1kaXItcHJlZml4JykKKytpZiBnaXJfZGlyX3ByZWZpeCA9PSAnJworKyAgICBnaXJfZGlyX3ByZWZpeCA9IGdldF9vcHRpb24oJ2RhdGFkaXInKQorK2VuZGlmCisrZ2lyZGlyID0gam9pbl9wYXRocyhnZXRfb3B0aW9uKCdwcmVmaXgnKSwgZ2lyX2Rpcl9wcmVmaXgsICdnaXItMS4wJykKKytjb25maWcuc2V0X3F1b3RlZCgnR0lSX0RJUicsIGdpcmRpcikKKyBjb25maWcuc2V0X3F1b3RlZCgnR09CSkVDVF9JTlRST1NQRUNUSU9OX0xJQkRJUicsIGpvaW5fcGF0aHMoZ2V0X29wdGlvbigncHJlZml4JyksIGdldF9vcHRpb24oJ2xpYmRpcicpKSkKKyAKKyBmb3JlYWNoIHR5cGUgOiBbJ2NoYXInLCAnc2hvcnQnLCAnaW50JywgJ2xvbmcnXQorQEAgLTkzLDYgKzk4LDcgQEAgcGtnY29uZmlnX2NvbmYuc2V0KCdsaWJkaXInLCBqb2luX3BhdGhzKCcke3ByZWZpeH0nLCBnZXRfb3B0aW9uKCdsaWJkaXInKSkpCisgcGtnY29uZmlnX2NvbmYuc2V0KCdkYXRhcm9vdGRpcicsIGpvaW5fcGF0aHMoJyR7cHJlZml4fScsIGdldF9vcHRpb24oJ2RhdGFkaXInKSkpCisgcGtnY29uZmlnX2NvbmYuc2V0KCdkYXRhZGlyJywgJyR7ZGF0YXJvb3RkaXJ9JykKKyBwa2djb25maWdfY29uZi5zZXQoJ2luY2x1ZGVkaXInLCBqb2luX3BhdGhzKCcke3ByZWZpeH0nLCBnZXRfb3B0aW9uKCdpbmNsdWRlZGlyJykpKQorK3BrZ2NvbmZpZ19jb25mLnNldCgnR0lSX0RJUicsIGpvaW5fcGF0aHMoJyR7cHJlZml4fScsIGdpcl9kaXJfcHJlZml4LCAnZ2lyLTEuMCcpKQorIGlmIGhvc3Rfc3lzdGVtID09ICd3aW5kb3dzJyBvciBob3N0X3N5c3RlbSA9PSAnY3lnd2luJworICAgcGtnY29uZmlnX2NvbmYuc2V0KCdFWEVFWFQnLCAnLmV4ZScpCisgZWxzZQorZGlmZiAtLWdpdCBhL21lc29uX29wdGlvbnMudHh0IGIvbWVzb25fb3B0aW9ucy50eHQKK2luZGV4IDQ5NzI2YmUuLmVlNjk1OGQgMTAwNjQ0CistLS0gYS9tZXNvbl9vcHRpb25zLnR4dAorKysrIGIvbWVzb25fb3B0aW9ucy50eHQKK0BAIC0yMSwzICsyMSw3IEBAIG9wdGlvbignY2Fpcm8tbGlibmFtZScsIHR5cGU6ICdzdHJpbmcnLAorIG9wdGlvbigncHl0aG9uJywgdHlwZTogJ3N0cmluZycsIHZhbHVlOiAncHl0aG9uMycsCisgICBkZXNjcmlwdGlvbjogJ1BhdGggb3IgbmFtZSBvZiB0aGUgUHl0aG9uIGludGVycHJldGVyIHRvIGJ1aWxkIGZvcicKKyApCisrCisrb3B0aW9uKCdnaXItZGlyLXByZWZpeCcsIHR5cGU6ICdzdHJpbmcnLAorKyAgZGVzY3JpcHRpb246ICdJbnRlcm1lZGlhdGUgcHJlZml4IGZvciBnaXIgaW5zdGFsbGF0aW9uIHVuZGVyICR7cHJlZml4fScKKyspCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ29iamVjdC1pbnRyb3NwZWN0aW9uXzEuNTguMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb25fMS41OC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NWNhODdkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb25fMS41OC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjA0ICswLDAgQEAKLVNVTU1BUlkgPSAiTWlkZGxld2FyZSBsYXllciBiZXR3ZWVuIEdPYmplY3QtdXNpbmcgQyBsaWJyYXJpZXMgYW5kIGxhbmd1YWdlIGJpbmRpbmdzIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLmdub21lLm9yZy9hY3Rpb24vc2hvdy9Qcm9qZWN0cy9HT2JqZWN0SW50cm9zcGVjdGlvbiIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJMR1BMdjIrICYgR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzQzNGU4MTI4YTY4YmVkZDU5YjgwYjJhYzFlYjFjNGEgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vdG9vbHMvY29tcGlsZXIuYztlbmRsaW5lPTIwO21kNT1mYzUwMDdmYzIwMDIyNzIwZTZjMGIwY2RkZTQxZmFiZCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9naXNjYW5uZXIvc291cmNlc2Nhbm5lci5jO2VuZGxpbmU9MjI7bWQ1PTE5NGQ2ZTBjMWQwMDY2MmYzMmQwMzBjZTQ0ZGU4ZDM5IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dpcmVwb3NpdG9yeS9naXJlZ2lzdGVyZWR0eXBlaW5mby5jO2VuZGxpbmU9MjE7bWQ1PTY2MTg0NzYxMWFlNjk3OTQ2NTQxNWYzMWE3NTliYTI3IFwKLSAgICAgICAgICAgICAgICAgICAgIgotCi1TUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0JQTn0vJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtUmV2ZXJ0LWFuLWluY29tcGxldGUtdXBzdHJlYW0tYXR0ZW1wdC1hdC1jcm9zcy1jb21waS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWNvbmZpZ3VyZS5hYy1hZGQtaG9zdC1naS1naS1jcm9zcy13cmFwcGVyLWdpLWxkZC13cmEucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1naXNjYW5uZXItYWRkLXVzZS1iaW5hcnktd3JhcHBlci1vcHRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1naXNjYW5uZXItYWRkLWEtdXNlLWxkZC13cmFwcGVyLW9wdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LVByZWZpeC1wa2ctY29uZmlnLXBhdGhzLXdpdGgtUEtHX0NPTkZJR19TWVNST09UX0RJUi0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1naXNjYW5uZXItYWRkLWEtbGliLWRpcnMtZW52dmFyLW9wdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWdpc2Nhbm5lci1pZ25vcmUtZXJyb3ItcmV0dXJuLWNvZGVzLWZyb20tbGRkLXdyYXBwZXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtbWFrZS1HSVJfRElSLWNvbmZpZ3VyYWJsZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWctaXItdG9vbHMtcmVzcGVjdC1naXJfZGlyX3ByZWZpeC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjk0ZmVjODc1Mjc2MjYyMDM3YmZjZDUxMjI2ZGIxMmZlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI3YzE1OTBhMzI3NDlkZTBhNTQ4MWNlODk3NzcyNTQ3MDQzZTk0YmNjYmE0YmMwYTdlZGIzZDg1MTNlNDAxZWMiCi0KLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovLzAwMDEtUmVsb2NhdGUtdGhlLXJlcG9zaXRvcnktZGlyZWN0b3J5LWZvci1uYXRpdmUtYnVpbGRzLnBhdGNoIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ3RrLWRvYyBweXRob24zbmF0aXZlIHFlbXUgZ29iamVjdC1pbnRyb3NwZWN0aW9uLWRhdGEgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIG11bHRpbGliX3NjcmlwdAotCi1NVUxUSUxJQl9TQ1JJUFRTID0gIiR7UE59OiR7YmluZGlyfS9nLWlyLWFubm90YXRpb24tdG9vbCAke1BOfToke2JpbmRpcn0vZy1pci1zY2FubmVyIgotCi1ERVBFTkRTX2FwcGVuZCA9ICIgbGliZmZpIHpsaWIgZ2xpYi0yLjAgcHl0aG9uMyBmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUgYXV0b2NvbmYtYXJjaGl2ZSIKLQotIyB0YXJnZXQgYnVpbGQgbmVlZHMgcWVtdSB0byBydW4gdGVtcG9yYXJ5IGludHJvc3BlY3Rpb24gYmluYXJpZXMgY3JlYXRlZAotIyBvbiB0aGUgZmx5IGJ5IGctaXItc2Nhbm5lciBhbmQgYSBuYXRpdmUgdmVyc2lvbiBvZiBpdHNlbGYgdG8gcnVuCi0jIG5hdGl2ZSB2ZXJzaW9ucyBvZiBpdHMgb3duIHRvb2xzIGR1cmluZyBidWlsZC4KLSMgQWxzbyBwcmVsaW5rLXJ0bGQgaXMgdXNlZCB0byBmaW5kIG91dCBsaWJyYXJ5IGRlcGVuZGVuY2llcyBvZiBpbnRyb3NwZWN0aW9uIGJpbmFyaWVzCi0jIChzdGFuZGFyZCBsZGQgZG9lc24ndCB3b3JrIHdoZW4gY3Jvc3MtY29tcGlsaW5nKS4KLURFUEVORFNfY2xhc3MtdGFyZ2V0X2FwcGVuZCA9ICIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLW5hdGl2ZSBxZW11LW5hdGl2ZSBwcmVsaW5rLW5hdGl2ZSIKLQotIyBuZWVkZWQgZm9yIHdyaXRpbmcgb3V0IHRoZSBxZW11IHdyYXBwZXIgc2NyaXB0Ci1leHBvcnQgU1RBR0lOR19ESVJfSE9TVAotZXhwb3J0IEIKLQotUEFDS0FHRUNPTkZJRyA/PSAiIgotUEFDS0FHRUNPTkZJR1tkb2N0b29sXSA9ICItLWVuYWJsZS1kb2N0b29sLC0tZGlzYWJsZS1kb2N0b29sLHB5dGhvbjMtbWFrbywiCi0KLSMgQ29uZmlndXJlIHRhcmdldCBidWlsZCB0byB1c2UgbmF0aXZlIHRvb2xzIG9mIGl0c2VsZiBhbmQgdG8gdXNlIGEgcWVtdSB3cmFwcGVyCi0jIGFuZCBvcHRpb25hbGx5IHRvIGdlbmVyYXRlIGludHJvc3BlY3Rpb24gZGF0YQotRVhUUkFfT0VDT05GX2NsYXNzLXRhcmdldCA9ICIgXAotICAgIC0tZGlzYWJsZS1zdGF0aWMgXAotICAgIC0tZW5hYmxlLWhvc3QtZ2kgXAotICAgIC0tZW5hYmxlLWdpLWNyb3NzLXdyYXBwZXI9JHtCfS9nLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIgXAotICAgIC0tZW5hYmxlLWdpLWxkZC13cmFwcGVyPSR7Qn0vZy1pci1zY2FubmVyLWxkZHdyYXBwZXIgXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICctLWVuYWJsZS1pbnRyb3NwZWN0aW9uLWRhdGEnLCAnLS1kaXNhYmxlLWludHJvc3BlY3Rpb24tZGF0YScsIGQpfSBcCi0gICAgJHtAJy0td2l0aC1naXItZGlyLXByZWZpeD0ke2xpYmRpcn0nIGlmIGQuZ2V0VmFyKCdNVUxUSUxJQlMnKSBlbHNlICcnfSBcCi0iCi0KLSMgTmVlZCB0byBlbnN1cmUgbGQuc28uY29uZiBleGlzdHMgc28gcHJlbGluay1uYXRpdmUgd29ya3MKLSMgYm90aCBiZWZvcmUgd2UgYnVpbGQgYW5kIGlmIHdlIGluc3RhbGwgZnJvbSBzc3RhdGUKLWRvX2NvbmZpZ3VyZVtwcmVmdW5jc10gKz0gImdvYmplY3RfaW50cm9zcGVjdGlvbl9wcmVjb25maWd1cmUiCi1weXRob24gZ29iamVjdF9pbnRyb3NwZWN0aW9uX3ByZWNvbmZpZ3VyZSAoKSB7Ci0gICAgb2UudXRpbHMud3JpdGVfbGRfc29fY29uZihkKQotfQotCi1kb19jb25maWd1cmVfcHJlcGVuZF9jbGFzcy1uYXRpdmUoKSB7Ci0gICAgICAgICMgVHdlYWsgdGhlIG5hdGl2ZSBweXRob24gc2NyaXB0cyBzbyB0aGF0IHRoZXkgZG9uJ3QgcmVmZXIgdG8gdGhlCi0gICAgICAgICMgZnVsbCBwYXRoIG9mIG5hdGl2ZSBweXRob24gYmluYXJ5ICh0aGUgc29sdXRpb24gaXMgdGFrZW4gZnJvbSBnbGliLTIuMCByZWNpcGUpCi0gICAgICAgICMgVGhpcyByZW1vdmVzIHRoZSByaXNrIG9mIGV4Y2VlZGluZyBMaW51eCBrZXJuZWwncyBzaGViYW5nIGxpbmUgbGltaXQgKDEyOCBieXRlcykKLSAgICAgICAgc2VkIC1pIC1lICcxcywjIS4qLCMhJHtVU1JCSU5QQVRIfS9lbnYgcHl0aG9uMywnICR7U30vdG9vbHMvZy1pci10b29sLXRlbXBsYXRlLmluCi19Ci0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kX2NsYXNzLXRhcmdldCgpIHsKLSAgICAgICAgIyBXcml0ZSBvdXQgYSBxZW11IHdyYXBwZXIgdGhhdCB3aWxsIGJlIGdpdmVuIHRvIGdpLXNjYW5uZXIgc28gdGhhdCBpdAotICAgICAgICAjIGNhbiBydW4gdGFyZ2V0IGhlbHBlciBiaW5hcmllcyB0aHJvdWdoIHRoYXQuCi0gICAgICAgIHFlbXVfYmluYXJ5PSIke0BxZW11X3dyYXBwZXJfY21kbGluZShkLCAnJFNUQUdJTkdfRElSX0hPU1QnLCBbJ1wkR0lSX0VYVFJBX0xJQlNfUEFUSCcsJy5saWJzJywnJFNUQUdJTkdfRElSX0hPU1QvJHtsaWJkaXJ9JywnJFNUQUdJTkdfRElSX0hPU1QvJHtiYXNlX2xpYmRpcn0nXSl9IgotICAgICAgICBjYXQgPiAke0J9L2ctaXItc2Nhbm5lci1xZW11d3JhcHBlciA8PCBFT0YKLSMhL2Jpbi9zaAotIyBVc2UgYSBtb2R1bGVzIGRpcmVjdG9yeSB3aGljaCBkb2Vzbid0IGV4aXN0IHNvIHdlIGRvbid0IGxvYWQgcmFuZG9tIHRoaW5ncwotIyB3aGljaCBtYXkgdGhlbiBnZXQgZGVsZXRlZCAob3IgdGhlaXIgZGVwZW5kZW5jaWVzKSBhbmQgcG90ZW50aWFsbHkgc2VnZmF1bHQKLWV4cG9ydCBHSU9fTU9EVUxFX0RJUj0ke1NUQUdJTkdfTElCRElSfS9naW8vbW9kdWxlcy1kdW1teQotCi0kcWVtdV9iaW5hcnkgIlwkQCIKLWlmIFsgXCQ/IC1uZSAwIF07IHRoZW4KLSAgICBlY2hvICJJZiB0aGUgYWJvdmUgZXJyb3IgbWVzc2FnZSBpcyBhYm91dCBtaXNzaW5nIC5zbyBsaWJyYXJpZXMsIHRoZW4gc2V0dGluZyB1cCBHSVJfRVhUUkFfTElCU19QQVRIIGluIHRoZSByZWNpcGUgc2hvdWxkIGhlbHAuIgotICAgIGVjaG8gIih0eXBpY2FsbHkgbGlrZSB0aGlzOiBHSVJfRVhUUkFfTElCU19QQVRIPVwiJCIie0J9L3NvbWV0aGluZy8ubGlic1wiICkiCi0gICAgZXhpdCAxCi1maQotRU9GCi0gICAgICAgIGNobW9kICt4ICR7Qn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyCi0KLSAgICAgICAgIyBXcml0ZSBvdXQgYSB3cmFwcGVyIGZvciBnLWlyLXNjYW5uZXIgaXRzZWxmLCB3aGljaCB3aWxsIGJlIHVzZWQgd2hlbiBidWlsZGluZyBpbnRyb3NwZWN0aW9uIGZpbGVzCi0gICAgICAgICMgZm9yIGdsaWItYmFzZWQgcGFja2FnZXMuIFRoaXMgd3JhcHBlciBjYWxscyB0aGUgbmF0aXZlIHZlcnNpb24gb2YgdGhlIHNjYW5uZXIsIGFuZCB0ZWxscyBpdCB0byB1c2UKLSAgICAgICAgIyBhIHFlbXUgd3JhcHBlciBmb3IgcnVubmluZyB0cmFuc2llbnQgdGFyZ2V0IGJpbmFyaWVzIHByb2R1Y2VkIGJ5IHRoZSBzY2FubmVyLCBhbmQgYW4gaW5jbHVkZSBkaXJlY3RvcnkgCi0gICAgICAgICMgZnJvbSB0aGUgdGFyZ2V0IHN5c3Jvb3QuCi0gICAgICAgIGNhdCA+ICR7Qn0vZy1pci1zY2FubmVyLXdyYXBwZXIgPDwgRU9GCi0jIS9iaW4vc2gKLSMgVGhpcyBwcmV2ZW50cyBnLWlyLXNjYW5uZXIgZnJvbSB3cml0aW5nIGNhY2hlIGRhdGEgdG8gJEhPTUUKLWV4cG9ydCBHSV9TQ0FOTkVSX0RJU0FCTEVfQ0FDSEU9MQotCi1nLWlyLXNjYW5uZXIgLS1saWItZGlycy1lbnZ2YXI9R0lSX0VYVFJBX0xJQlNfUEFUSCAtLXVzZS1iaW5hcnktd3JhcHBlcj0ke1NUQUdJTkdfQklORElSfS9nLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIgLS11c2UtbGRkLXdyYXBwZXI9JHtTVEFHSU5HX0JJTkRJUn0vZy1pci1zY2FubmVyLWxkZHdyYXBwZXIgLS1hZGQtaW5jbHVkZS1wYXRoPSR7U1RBR0lOR19EQVRBRElSfS9naXItMS4wIC0tYWRkLWluY2x1ZGUtcGF0aD0ke1NUQUdJTkdfTElCRElSfS9naXItMS4wICJcJEAiCi1FT0YKLSAgICAgICAgY2htb2QgK3ggJHtCfS9nLWlyLXNjYW5uZXItd3JhcHBlcgotCi0gICAgICAgICMgV3JpdGUgb3V0IGEgd3JhcHBlciBmb3IgZy1pci1jb21waWxlciwgd2hpY2ggcnVucyB0aGUgdGFyZ2V0IHZlcnNpb24gb2YgaXQgdGhyb3VnaCBxZW11LgotICAgICAgICAjIGctaXItY29tcGlsZXIgd3JpdGVzIG91dCB0aGUgcmF3IGNvbnRlbnQgb2YgYSBDIHN0cnVjdCB0byBkaXNrLCBhbmQgdGhlcmVmb3JlIGlzIGFyY2hpdGVjdHVyZSBkZXBlbmRlbnQuCi0gICAgICAgIGNhdCA+ICR7Qn0vZy1pci1jb21waWxlci13cmFwcGVyIDw8IEVPRgotIyEvYmluL3NoCi0ke1NUQUdJTkdfQklORElSfS9nLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIgJHtTVEFHSU5HX0JJTkRJUn0vZy1pci1jb21waWxlciAiXCRAIgotRU9GCi0gICAgICAgIGNobW9kICt4ICR7Qn0vZy1pci1jb21waWxlci13cmFwcGVyCi0KLSAgICAgICAgIyBXcml0ZSBvdXQgYSB3cmFwcGVyIHRvIHVzZSBpbnN0ZWFkIG9mIGxkZCwgd2hpY2ggZG9lcyBub3Qgd29yayB3aGVuIGEgYmluYXJ5IGlzIGJ1aWx0Ci0gICAgICAgICMgZm9yIGEgZGlmZmVyZW50IGFyY2hpdGVjdHVyZQotICAgICAgICBjYXQgPiAke0J9L2ctaXItc2Nhbm5lci1sZGR3cmFwcGVyIDw8IEVPRgotIyEvYmluL3NoCi1wcmVsaW5rLXJ0bGQgLS1yb290PSRTVEFHSU5HX0RJUl9IT1NUICJcJEAiCi1FT0YKLSAgICAgICAgY2htb2QgK3ggJHtCfS9nLWlyLXNjYW5uZXItbGRkd3JhcHBlcgotCi0gICAgICAgICMgQWxzbyB0d2VhayB0aGUgdGFyZ2V0IHB5dGhvbiBzY3JpcHRzIHNvIHRoYXQgdGhleSBkb24ndCByZWZlciB0byB0aGUKLSAgICAgICAgIyBuYXRpdmUgdmVyc2lvbiBvZiBweXRob24gYmluYXJ5ICh0aGUgc29sdXRpb24gaXMgdGFrZW4gZnJvbSBnbGliLTIuMCByZWNpcGUpCi0gICAgICAgIHNlZCAtaSAtZSAnMXMsIyEuKiwjISR7VVNSQklOUEFUSH0vZW52IHB5dGhvbjMsJyAke1N9L3Rvb2xzL2ctaXItdG9vbC10ZW1wbGF0ZS5pbgotfQotCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0gICAgICAgICMgVGhpcyBwcmV2ZW50cyBnLWlyLXNjYW5uZXIgZnJvbSB3cml0aW5nIGNhY2hlIGRhdGEgdG8gJEhPTUUKLSAgICAgICAgZXhwb3J0IEdJX1NDQU5ORVJfRElTQUJMRV9DQUNIRT0xCi0KLSAgICAgICAgIyBOZWVkZWQgdG8gcnVuIGctaXIgdW5pdCB0ZXN0cywgd2hpY2ggd29uJ3QgYmUgYWJsZSB0byBmaW5kIHRoZSBidWlsdCBsaWJyYXJpZXMgb3RoZXJ3aXNlCi0gICAgICAgIGV4cG9ydCBHSVJfRVhUUkFfTElCU19QQVRIPSRCLy5saWJzCi19Ci0KLSMgT3VyIHdyYXBwZXJzIG5lZWQgdG8gYmUgYXZhaWxhYmxlIHN5c3RlbS13aWRlLCBiZWNhdXNlIHRoZXkgd2lsbCBiZSB1c2VkIAotIyB0byBidWlsZCBpbnRyb3NwZWN0aW9uIGZpbGVzIGZvciBhbGwgb3RoZXIgZ29iamVjdC1iYXNlZCBwYWNrYWdlcwotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0vCi0gICAgICAgIGluc3RhbGwgJHtCfS9nLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIgJHtEfSR7YmluZGlyfS8KLSAgICAgICAgaW5zdGFsbCAke0J9L2ctaXItc2Nhbm5lci13cmFwcGVyICR7RH0ke2JpbmRpcn0vCi0gICAgICAgIGluc3RhbGwgJHtCfS9nLWlyLWNvbXBpbGVyLXdyYXBwZXIgJHtEfSR7YmluZGlyfS8KLSAgICAgICAgaW5zdGFsbCAke0J9L2ctaXItc2Nhbm5lci1sZGR3cmFwcGVyICR7RH0ke2JpbmRpcn0vCi19Ci0KLSMgd2UgbmVlZCB0YXJnZXQgdmVyc2lvbnMgb2YgaW50cm9zcGVjdGlvbiB0b29scyBpbiBzeXNyb290IHNvIHRoYXQgdGhleSBjYW4gYmUgcnVuIHZpYSBxZW11Ci0jIHdoZW4gYnVpbGRpbmcgaW50cm9zcGVjdGlvbiBmaWxlcyBpbiBvdGhlciBwYWNrYWdlcwotU1lTUk9PVF9ESVJTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7YmluZGlyfSIKLQotU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIGdpX2JpbmFyaWVzX3N5c3Jvb3RfcHJlcHJvY2VzcyIKLWdpX2JpbmFyaWVzX3N5c3Jvb3RfcHJlcHJvY2VzcygpIHsKLSAgICAgICAgIyBUd2VhayB0aGUgYmluYXJ5IG5hbWVzIGluIHRoZSBpbnRyb3NwZWN0aW9uIHBrZ2NvbmZpZyBmaWxlLCBzbyB0aGF0IGl0Ci0gICAgICAgICMgcGlja3MgdXAgb3VyIHdyYXBwZXJzIHdoaWNoIGRvIHRoZSBjcm9zcy1jb21waWxlIGFuZCBxZW11IG1hZ2ljLgotICAgICAgICBzZWQgLWkgXAotICAgICAgICAgICAtZSAic3xnX2lyX3NjYW5uZXI9Lip8Z19pcl9zY2FubmVyPSR7YmluZGlyfS9nLWlyLXNjYW5uZXItd3JhcHBlcnwiIFwKLSAgICAgICAgICAgLWUgInN8Z19pcl9jb21waWxlcj0uKnxnX2lyX2NvbXBpbGVyPSR7YmluZGlyfS9nLWlyLWNvbXBpbGVyLXdyYXBwZXJ8IiBcCi0gICAgICAgICAgICR7U1lTUk9PVF9ERVNURElSfSR7bGliZGlyfS9wa2djb25maWcvZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMC5wYwotfQotCi1TWVNST09UX1BSRVBST0NFU1NfRlVOQ1NfYXBwZW5kID0gIiBnaV9sZHNvY29uZl9zeXNyb290X3ByZXByb2Nlc3MiCi1naV9sZHNvY29uZl9zeXNyb290X3ByZXByb2Nlc3MgKCkgewotCW1rZGlyIC1wICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyfQotCWRlc3Q9JHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJ9L3Bvc3RpbnN0LWxkc29jb25mLSR7UE59Ci0JZWNobyAiIyEvYmluL3NoIiA+ICRkZXN0Ci0JZWNobyAibWtkaXIgLXAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtzeXNjb25mZGlyfSIgPj4gJGRlc3QKLQllY2hvICJlY2hvICR7YmFzZV9saWJkaXJ9ID4+ICR7U1RBR0lOR19ESVJfVEFSR0VUfSR7c3lzY29uZmRpcn0vbGQuc28uY29uZiIgPj4gJGRlc3QKLQllY2hvICJlY2hvICR7bGliZGlyfSA+PiAke1NUQUdJTkdfRElSX1RBUkdFVH0ke3N5c2NvbmZkaXJ9L2xkLnNvLmNvbmYiID4+ICRkZXN0Ci0JY2htb2QgNzU1ICRkZXN0Ci19Ci0KLSMgUmVtb3ZlIHdyYXBwZXIgZmlsZXMgZnJvbSB0aGUgcGFja2FnZSwgb25seSB1c2VkIGZvciBjcm9zcy1jb21waWxpbmcKLVBBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAiZ2lfcGFja2FnZV9wcmVwcm9jZXNzIgotZ2lfcGFja2FnZV9wcmVwcm9jZXNzKCkgewotCXJtIC1mICR7UEtHRH0ke2JpbmRpcn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyCi0Jcm0gLWYgJHtQS0dEfSR7YmluZGlyfS9nLWlyLXNjYW5uZXItd3JhcHBlcgotCXJtIC1mICR7UEtHRH0ke2JpbmRpcn0vZy1pci1jb21waWxlci13cmFwcGVyCi0Jcm0gLWYgJHtQS0dEfSR7YmluZGlyfS9nLWlyLXNjYW5uZXItbGRkd3JhcHBlcgotfQotCi1TU1RBVEVfU0NBTl9GSUxFUyArPSAiZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyIGctaXItc2Nhbm5lci13cmFwcGVyIGctaXItY29tcGlsZXItd3JhcHBlciBnLWlyLXNjYW5uZXItbGRkd3JhcHBlciBHaW8tMi4wLmdpciBwb3N0aW5zdC1sZHNvY29uZi0ke1BOfSIKLQotIyAudHlwZWxpYiBmaWxlcyBhcmUgbmVlZGVkIGF0IHJ1bnRpbWUgYW5kIHNvIHRoZXkgZ28gdG8gdGhlIG1haW4gcGFja2FnZQotRklMRVNfJHtQTn1fYXBwZW5kID0gIiAke2xpYmRpcn0vZ2lyZXBvc2l0b3J5LSovKi50eXBlbGliIgotCi0jIC5naXIgZmlsZXMgZ28gdG8gZGV2IHBhY2thZ2UsIGFzIHRoZXkncmUgbmVlZGVkIGZvciBkZXZlbG9waW5nIChidXQgbm90IGZvciBydW5uaW5nKQotIyB0aGluZ3MgdGhhdCBkZXBlbmRzIG9uIGludHJvc3BlY3Rpb24uCi1GSUxFU18ke1BOfS1kZXZfYXBwZW5kID0gIiAke2RhdGFkaXJ9L2dpci0qLyouZ2lyICR7bGliZGlyfS9naXItKi8qLmdpciIKLUZJTEVTXyR7UE59LWRldl9hcHBlbmQgPSAiICR7ZGF0YWRpcn0vZ2lyLSovKi5ybmMiCi0KLSMgVGhlc2UgYXJlIHVzZWQgYnkgZ29iamVjdC1iYXNlZCBwYWNrYWdlcwotIyB0byBnZW5lcmF0ZSB0cmFuc2llbnQgaW50cm9zcGVjdGlvbiBiaW5hcmllcwotRklMRVNfJHtQTn0tZGV2X2FwcGVuZCA9ICIgJHtkYXRhZGlyfS9nb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wL2dkdW1wLmMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9nb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wL01ha2VmaWxlLmludHJvc3BlY3Rpb24iCi0KLSMgVGhlc2UgYXJlIHVzZWQgYnkgZGVwZW5kZW50IHBhY2thZ2VzIChlLmcuIHB5Z29iamVjdCkgdG8gYnVpbGQgdGhlaXIKLSMgdGVzdHN1aXRlcy4KLUZJTEVTXyR7UE59LWRldl9hcHBlbmQgPSAiICR7ZGF0YWRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMC90ZXN0cy8qLmMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9nb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wL3Rlc3RzLyouaCIKLQotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dpc2Nhbm5lci8uZGVidWcvIgotRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dpc2Nhbm5lci8qLmEiCi0KLVJERVBFTkRTXyR7UE59ID0gInB5dGhvbjMtcGlja2xlIHB5dGhvbjMteG1sIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb25fMS41OC4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dvYmplY3QtaW50cm9zcGVjdGlvbl8xLjU4LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGZmOWI3YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb25fMS41OC4zLmJiCkBAIC0wLDAgKzEsMjA2IEBACitTVU1NQVJZID0gIk1pZGRsZXdhcmUgbGF5ZXIgYmV0d2VlbiBHT2JqZWN0LXVzaW5nIEMgbGlicmFyaWVzIGFuZCBsYW5ndWFnZSBiaW5kaW5ncyIKK0hPTUVQQUdFID0gImh0dHBzOi8vd2lraS5nbm9tZS5vcmcvYWN0aW9uL3Nob3cvUHJvamVjdHMvR09iamVjdEludHJvc3BlY3Rpb24iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyKyAmIEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM0MzRlODEyOGE2OGJlZGQ1OWI4MGIyYWMxZWIxYzRhIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3Rvb2xzL2NvbXBpbGVyLmM7ZW5kbGluZT0yMDttZDU9ZmM1MDA3ZmMyMDAyMjcyMGU2YzBiMGNkZGU0MWZhYmQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ2lzY2FubmVyL3NvdXJjZXNjYW5uZXIuYztlbmRsaW5lPTIyO21kNT0xOTRkNmUwYzFkMDA2NjJmMzJkMDMwY2U0NGRlOGQzOSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9naXJlcG9zaXRvcnkvZ2lyZWdpc3RlcmVkdHlwZWluZm8uYztlbmRsaW5lPTIxO21kNT02NjE4NDc2MTFhZTY5Nzk0NjU0MTVmMzFhNzU5YmEyNyBcCisgICAgICAgICAgICAgICAgICAgICIKKworU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtCUE59LyR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0vJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVJldmVydC1hbi1pbmNvbXBsZXRlLXVwc3RyZWFtLWF0dGVtcHQtYXQtY3Jvc3MtY29tcGkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1jb25maWd1cmUuYWMtYWRkLWhvc3QtZ2ktZ2ktY3Jvc3Mtd3JhcHBlci1naS1sZGQtd3JhLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtZ2lzY2FubmVyLWFkZC11c2UtYmluYXJ5LXdyYXBwZXItb3B0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtZ2lzY2FubmVyLWFkZC1hLXVzZS1sZGQtd3JhcHBlci1vcHRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1QcmVmaXgtcGtnLWNvbmZpZy1wYXRocy13aXRoLVBLR19DT05GSUdfU1lTUk9PVF9ESVItLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZ2lzY2FubmVyLWFkZC1hLWxpYi1kaXJzLWVudnZhci1vcHRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1naXNjYW5uZXItaWdub3JlLWVycm9yLXJldHVybi1jb2Rlcy1mcm9tLWxkZC13cmFwcGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLW1ha2UtR0lSX0RJUi1jb25maWd1cmFibGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1nLWlyLXRvb2xzLXJlc3BlY3QtZ2lyX2Rpcl9wcmVmaXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMC1tZXNvbi1hZGQtb3B0aW9uLWdpci1kaXItcHJlZml4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtUG9ydC1jcm9zcy1jb21waWxhdGlvbi1zdXBwb3J0LXRvLW1lc29uLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTgyNDMyYzFmMzM4ODZiZThmNGRhMDczMjE4YjU5N2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDI1YjYzMmJiZDk0NGRjZjExZmM1MGQxOWEwY2EwODZiODNiYWY5MmIzZTM0OTM2ZDAwODE4MGQyOGNkYzNjOCIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vMDAwMS1SZWxvY2F0ZS10aGUtcmVwb3NpdG9yeS1kaXJlY3RvcnktZm9yLW5hdGl2ZS1idWlsZHMucGF0Y2giCisKK2luaGVyaXQgbWVzb24gcGtnY29uZmlnIGd0ay1kb2MgcHl0aG9uM25hdGl2ZSBxZW11IGdvYmplY3QtaW50cm9zcGVjdGlvbi1kYXRhIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBtdWx0aWxpYl9zY3JpcHQKKworTVVMVElMSUJfU0NSSVBUUyA9ICIke1BOfToke2JpbmRpcn0vZy1pci1hbm5vdGF0aW9uLXRvb2wgJHtQTn06JHtiaW5kaXJ9L2ctaXItc2Nhbm5lciIKKworREVQRU5EU19hcHBlbmQgPSAiIGxpYmZmaSB6bGliIGdsaWItMi4wIHB5dGhvbjMgZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIGF1dG9jb25mLWFyY2hpdmUiCisKKyMgdGFyZ2V0IGJ1aWxkIG5lZWRzIHFlbXUgdG8gcnVuIHRlbXBvcmFyeSBpbnRyb3NwZWN0aW9uIGJpbmFyaWVzIGNyZWF0ZWQKKyMgb24gdGhlIGZseSBieSBnLWlyLXNjYW5uZXIgYW5kIGEgbmF0aXZlIHZlcnNpb24gb2YgaXRzZWxmIHRvIHJ1bgorIyBuYXRpdmUgdmVyc2lvbnMgb2YgaXRzIG93biB0b29scyBkdXJpbmcgYnVpbGQuCisjIEFsc28gcHJlbGluay1ydGxkIGlzIHVzZWQgdG8gZmluZCBvdXQgbGlicmFyeSBkZXBlbmRlbmNpZXMgb2YgaW50cm9zcGVjdGlvbiBiaW5hcmllcworIyAoc3RhbmRhcmQgbGRkIGRvZXNuJ3Qgd29yayB3aGVuIGNyb3NzLWNvbXBpbGluZykuCitERVBFTkRTX2NsYXNzLXRhcmdldF9hcHBlbmQgPSAiIGdvYmplY3QtaW50cm9zcGVjdGlvbi1uYXRpdmUgcWVtdS1uYXRpdmUgcHJlbGluay1uYXRpdmUiCisKKyMgbmVlZGVkIGZvciB3cml0aW5nIG91dCB0aGUgcWVtdSB3cmFwcGVyIHNjcmlwdAorZXhwb3J0IFNUQUdJTkdfRElSX0hPU1QKK2V4cG9ydCBCCisKK1BBQ0tBR0VDT05GSUcgPz0gIiIKK1BBQ0tBR0VDT05GSUdbZG9jdG9vbF0gPSAiLURkb2N0b29sPXRydWUsLURkb2N0b29sPWZhbHNlLHB5dGhvbjMtbWFrbywiCisKKyMgQ29uZmlndXJlIHRhcmdldCBidWlsZCB0byB1c2UgbmF0aXZlIHRvb2xzIG9mIGl0c2VsZiBhbmQgdG8gdXNlIGEgcWVtdSB3cmFwcGVyCisjIGFuZCBvcHRpb25hbGx5IHRvIGdlbmVyYXRlIGludHJvc3BlY3Rpb24gZGF0YQorRVhUUkFfT0VNRVNPTl9jbGFzcy10YXJnZXQgPSAiIFwKKyAgICAtRGVuYWJsZS1ob3N0LWdpPXRydWUgXAorICAgIC1EZW5hYmxlLWdpLWNyb3NzLXdyYXBwZXI9JHtCfS9nLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIgXAorICAgIC1EZW5hYmxlLWdpLWxkZC13cmFwcGVyPSR7Qn0vZy1pci1zY2FubmVyLWxkZHdyYXBwZXIgXAorICAgIC1EcGtnY29uZmlnLXN5c3Jvb3QtcGF0aD0ke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnLURlbmFibGUtaW50cm9zcGVjdGlvbi1kYXRhPXRydWUnLCAnLURlbmFibGUtaW50cm9zcGVjdGlvbi1kYXRhPWZhbHNlJywgZCl9IFwKKyAgICAke0AnLURnaXItZGlyLXByZWZpeD0ke2xpYmRpcn0nIGlmIGQuZ2V0VmFyKCdNVUxUSUxJQlMnKSBlbHNlICcnfSBcCisiCisKKyMgTmVlZCB0byBlbnN1cmUgbGQuc28uY29uZiBleGlzdHMgc28gcHJlbGluay1uYXRpdmUgd29ya3MKKyMgYm90aCBiZWZvcmUgd2UgYnVpbGQgYW5kIGlmIHdlIGluc3RhbGwgZnJvbSBzc3RhdGUKK2RvX2NvbmZpZ3VyZVtwcmVmdW5jc10gKz0gImdvYmplY3RfaW50cm9zcGVjdGlvbl9wcmVjb25maWd1cmUiCitweXRob24gZ29iamVjdF9pbnRyb3NwZWN0aW9uX3ByZWNvbmZpZ3VyZSAoKSB7CisgICAgb2UudXRpbHMud3JpdGVfbGRfc29fY29uZihkKQorfQorCitkb19jb25maWd1cmVfcHJlcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgICAgICMgVHdlYWsgdGhlIG5hdGl2ZSBweXRob24gc2NyaXB0cyBzbyB0aGF0IHRoZXkgZG9uJ3QgcmVmZXIgdG8gdGhlCisgICAgICAgICMgZnVsbCBwYXRoIG9mIG5hdGl2ZSBweXRob24gYmluYXJ5ICh0aGUgc29sdXRpb24gaXMgdGFrZW4gZnJvbSBnbGliLTIuMCByZWNpcGUpCisgICAgICAgICMgVGhpcyByZW1vdmVzIHRoZSByaXNrIG9mIGV4Y2VlZGluZyBMaW51eCBrZXJuZWwncyBzaGViYW5nIGxpbmUgbGltaXQgKDEyOCBieXRlcykKKyAgICAgICAgc2VkIC1pIC1lICcxcywjIS4qLCMhJHtVU1JCSU5QQVRIfS9lbnYgcHl0aG9uMywnICR7U30vdG9vbHMvZy1pci10b29sLXRlbXBsYXRlLmluCit9CisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICAgICAgIyBXcml0ZSBvdXQgYSBxZW11IHdyYXBwZXIgdGhhdCB3aWxsIGJlIGdpdmVuIHRvIGdpLXNjYW5uZXIgc28gdGhhdCBpdAorICAgICAgICAjIGNhbiBydW4gdGFyZ2V0IGhlbHBlciBiaW5hcmllcyB0aHJvdWdoIHRoYXQuCisgICAgICAgIHFlbXVfYmluYXJ5PSIke0BxZW11X3dyYXBwZXJfY21kbGluZShkLCAnJFNUQUdJTkdfRElSX0hPU1QnLCBbJ1xcJEdJUl9FWFRSQV9MSUJTX1BBVEgnLCcubGlicycsJyRTVEFHSU5HX0RJUl9IT1NULyR7bGliZGlyfScsJyRTVEFHSU5HX0RJUl9IT1NULyR7YmFzZV9saWJkaXJ9J10pfSIKKyAgICAgICAgY2F0ID4gJHtCfS9nLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIgPDwgRU9GCisjIS9iaW4vc2gKKyMgVXNlIGEgbW9kdWxlcyBkaXJlY3Rvcnkgd2hpY2ggZG9lc24ndCBleGlzdCBzbyB3ZSBkb24ndCBsb2FkIHJhbmRvbSB0aGluZ3MKKyMgd2hpY2ggbWF5IHRoZW4gZ2V0IGRlbGV0ZWQgKG9yIHRoZWlyIGRlcGVuZGVuY2llcykgYW5kIHBvdGVudGlhbGx5IHNlZ2ZhdWx0CitleHBvcnQgR0lPX01PRFVMRV9ESVI9JHtTVEFHSU5HX0xJQkRJUn0vZ2lvL21vZHVsZXMtZHVtbXkKKworJHFlbXVfYmluYXJ5ICJcJEAiCitpZiBbIFwkPyAtbmUgMCBdOyB0aGVuCisgICAgZWNobyAiSWYgdGhlIGFib3ZlIGVycm9yIG1lc3NhZ2UgaXMgYWJvdXQgbWlzc2luZyAuc28gbGlicmFyaWVzLCB0aGVuIHNldHRpbmcgdXAgR0lSX0VYVFJBX0xJQlNfUEFUSCBpbiB0aGUgcmVjaXBlIHNob3VsZCBoZWxwLiIKKyAgICBlY2hvICIodHlwaWNhbGx5IGxpa2UgdGhpczogR0lSX0VYVFJBX0xJQlNfUEFUSD1cIiQiIntCfS9zb21ldGhpbmcvLmxpYnNcIiApIgorICAgIGV4aXQgMQorZmkKK0VPRgorICAgICAgICBjaG1vZCAreCAke0J9L2ctaXItc2Nhbm5lci1xZW11d3JhcHBlcgorCisgICAgICAgICMgV3JpdGUgb3V0IGEgd3JhcHBlciBmb3IgZy1pci1zY2FubmVyIGl0c2VsZiwgd2hpY2ggd2lsbCBiZSB1c2VkIHdoZW4gYnVpbGRpbmcgaW50cm9zcGVjdGlvbiBmaWxlcworICAgICAgICAjIGZvciBnbGliLWJhc2VkIHBhY2thZ2VzLiBUaGlzIHdyYXBwZXIgY2FsbHMgdGhlIG5hdGl2ZSB2ZXJzaW9uIG9mIHRoZSBzY2FubmVyLCBhbmQgdGVsbHMgaXQgdG8gdXNlCisgICAgICAgICMgYSBxZW11IHdyYXBwZXIgZm9yIHJ1bm5pbmcgdHJhbnNpZW50IHRhcmdldCBiaW5hcmllcyBwcm9kdWNlZCBieSB0aGUgc2Nhbm5lciwgYW5kIGFuIGluY2x1ZGUgZGlyZWN0b3J5IAorICAgICAgICAjIGZyb20gdGhlIHRhcmdldCBzeXNyb290LgorICAgICAgICBjYXQgPiAke0J9L2ctaXItc2Nhbm5lci13cmFwcGVyIDw8IEVPRgorIyEvYmluL3NoCisjIFRoaXMgcHJldmVudHMgZy1pci1zY2FubmVyIGZyb20gd3JpdGluZyBjYWNoZSBkYXRhIHRvICRIT01FCitleHBvcnQgR0lfU0NBTk5FUl9ESVNBQkxFX0NBQ0hFPTEKKworZy1pci1zY2FubmVyIC0tbGliLWRpcnMtZW52dmFyPUdJUl9FWFRSQV9MSUJTX1BBVEggLS11c2UtYmluYXJ5LXdyYXBwZXI9JHtTVEFHSU5HX0JJTkRJUn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyIC0tdXNlLWxkZC13cmFwcGVyPSR7U1RBR0lOR19CSU5ESVJ9L2ctaXItc2Nhbm5lci1sZGR3cmFwcGVyIC0tYWRkLWluY2x1ZGUtcGF0aD0ke1NUQUdJTkdfREFUQURJUn0vZ2lyLTEuMCAtLWFkZC1pbmNsdWRlLXBhdGg9JHtTVEFHSU5HX0xJQkRJUn0vZ2lyLTEuMCAiXCRAIgorRU9GCisgICAgICAgIGNobW9kICt4ICR7Qn0vZy1pci1zY2FubmVyLXdyYXBwZXIKKworICAgICAgICAjIFdyaXRlIG91dCBhIHdyYXBwZXIgZm9yIGctaXItY29tcGlsZXIsIHdoaWNoIHJ1bnMgdGhlIHRhcmdldCB2ZXJzaW9uIG9mIGl0IHRocm91Z2ggcWVtdS4KKyAgICAgICAgIyBnLWlyLWNvbXBpbGVyIHdyaXRlcyBvdXQgdGhlIHJhdyBjb250ZW50IG9mIGEgQyBzdHJ1Y3QgdG8gZGlzaywgYW5kIHRoZXJlZm9yZSBpcyBhcmNoaXRlY3R1cmUgZGVwZW5kZW50LgorICAgICAgICBjYXQgPiAke0J9L2ctaXItY29tcGlsZXItd3JhcHBlciA8PCBFT0YKKyMhL2Jpbi9zaAorJHtTVEFHSU5HX0JJTkRJUn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyICR7U1RBR0lOR19CSU5ESVJ9L2ctaXItY29tcGlsZXIgIlwkQCIKK0VPRgorICAgICAgICBjaG1vZCAreCAke0J9L2ctaXItY29tcGlsZXItd3JhcHBlcgorCisgICAgICAgICMgV3JpdGUgb3V0IGEgd3JhcHBlciB0byB1c2UgaW5zdGVhZCBvZiBsZGQsIHdoaWNoIGRvZXMgbm90IHdvcmsgd2hlbiBhIGJpbmFyeSBpcyBidWlsdAorICAgICAgICAjIGZvciBhIGRpZmZlcmVudCBhcmNoaXRlY3R1cmUKKyAgICAgICAgY2F0ID4gJHtCfS9nLWlyLXNjYW5uZXItbGRkd3JhcHBlciA8PCBFT0YKKyMhL2Jpbi9zaAorcHJlbGluay1ydGxkIC0tcm9vdD0kU1RBR0lOR19ESVJfSE9TVCAiXCRAIgorRU9GCisgICAgICAgIGNobW9kICt4ICR7Qn0vZy1pci1zY2FubmVyLWxkZHdyYXBwZXIKKworICAgICAgICAjIEFsc28gdHdlYWsgdGhlIHRhcmdldCBweXRob24gc2NyaXB0cyBzbyB0aGF0IHRoZXkgZG9uJ3QgcmVmZXIgdG8gdGhlCisgICAgICAgICMgbmF0aXZlIHZlcnNpb24gb2YgcHl0aG9uIGJpbmFyeSAodGhlIHNvbHV0aW9uIGlzIHRha2VuIGZyb20gZ2xpYi0yLjAgcmVjaXBlKQorICAgICAgICBzZWQgLWkgLWUgJzFzLCMhLiosIyEke1VTUkJJTlBBVEh9L2VudiBweXRob24zLCcgJHtTfS90b29scy9nLWlyLXRvb2wtdGVtcGxhdGUuaW4KK30KKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgICAgICAjIFRoaXMgcHJldmVudHMgZy1pci1zY2FubmVyIGZyb20gd3JpdGluZyBjYWNoZSBkYXRhIHRvICRIT01FCisgICAgICAgIGV4cG9ydCBHSV9TQ0FOTkVSX0RJU0FCTEVfQ0FDSEU9MQorCisgICAgICAgICMgTmVlZGVkIHRvIHJ1biBnLWlyIHVuaXQgdGVzdHMsIHdoaWNoIHdvbid0IGJlIGFibGUgdG8gZmluZCB0aGUgYnVpbHQgbGlicmFyaWVzIG90aGVyd2lzZQorICAgICAgICBleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0kQi8ubGlicworfQorCisjIE91ciB3cmFwcGVycyBuZWVkIHRvIGJlIGF2YWlsYWJsZSBzeXN0ZW0td2lkZSwgYmVjYXVzZSB0aGV5IHdpbGwgYmUgdXNlZCAKKyMgdG8gYnVpbGQgaW50cm9zcGVjdGlvbiBmaWxlcyBmb3IgYWxsIG90aGVyIGdvYmplY3QtYmFzZWQgcGFja2FnZXMKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9LworICAgICAgICBpbnN0YWxsICR7Qn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyICR7RH0ke2JpbmRpcn0vCisgICAgICAgIGluc3RhbGwgJHtCfS9nLWlyLXNjYW5uZXItd3JhcHBlciAke0R9JHtiaW5kaXJ9LworICAgICAgICBpbnN0YWxsICR7Qn0vZy1pci1jb21waWxlci13cmFwcGVyICR7RH0ke2JpbmRpcn0vCisgICAgICAgIGluc3RhbGwgJHtCfS9nLWlyLXNjYW5uZXItbGRkd3JhcHBlciAke0R9JHtiaW5kaXJ9LworfQorCisjIHdlIG5lZWQgdGFyZ2V0IHZlcnNpb25zIG9mIGludHJvc3BlY3Rpb24gdG9vbHMgaW4gc3lzcm9vdCBzbyB0aGF0IHRoZXkgY2FuIGJlIHJ1biB2aWEgcWVtdQorIyB3aGVuIGJ1aWxkaW5nIGludHJvc3BlY3Rpb24gZmlsZXMgaW4gb3RoZXIgcGFja2FnZXMKK1NZU1JPT1RfRElSU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke2JpbmRpcn0iCisKK1NZU1JPT1RfUFJFUFJPQ0VTU19GVU5DU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBnaV9iaW5hcmllc19zeXNyb290X3ByZXByb2Nlc3MiCitnaV9iaW5hcmllc19zeXNyb290X3ByZXByb2Nlc3MoKSB7CisgICAgICAgICMgVHdlYWsgdGhlIGJpbmFyeSBuYW1lcyBpbiB0aGUgaW50cm9zcGVjdGlvbiBwa2djb25maWcgZmlsZSwgc28gdGhhdCBpdAorICAgICAgICAjIHBpY2tzIHVwIG91ciB3cmFwcGVycyB3aGljaCBkbyB0aGUgY3Jvc3MtY29tcGlsZSBhbmQgcWVtdSBtYWdpYy4KKyAgICAgICAgc2VkIC1pIFwKKyAgICAgICAgICAgLWUgInN8Z19pcl9zY2FubmVyPS4qfGdfaXJfc2Nhbm5lcj0ke2JpbmRpcn0vZy1pci1zY2FubmVyLXdyYXBwZXJ8IiBcCisgICAgICAgICAgIC1lICJzfGdfaXJfY29tcGlsZXI9Lip8Z19pcl9jb21waWxlcj0ke2JpbmRpcn0vZy1pci1jb21waWxlci13cmFwcGVyfCIgXAorICAgICAgICAgICAke1NZU1JPT1RfREVTVERJUn0ke2xpYmRpcn0vcGtnY29uZmlnL2dvYmplY3QtaW50cm9zcGVjdGlvbi0xLjAucGMKK30KKworU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTX2FwcGVuZCA9ICIgZ2lfbGRzb2NvbmZfc3lzcm9vdF9wcmVwcm9jZXNzIgorZ2lfbGRzb2NvbmZfc3lzcm9vdF9wcmVwcm9jZXNzICgpIHsKKwlta2RpciAtcCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0KKwlkZXN0PSR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyfS9wb3N0aW5zdC1sZHNvY29uZi0ke1BOfQorCWVjaG8gIiMhL2Jpbi9zaCIgPiAkZGVzdAorCWVjaG8gIm1rZGlyIC1wICR7U1RBR0lOR19ESVJfVEFSR0VUfSR7c3lzY29uZmRpcn0iID4+ICRkZXN0CisJZWNobyAiZWNobyAke2Jhc2VfbGliZGlyfSA+PiAke1NUQUdJTkdfRElSX1RBUkdFVH0ke3N5c2NvbmZkaXJ9L2xkLnNvLmNvbmYiID4+ICRkZXN0CisJZWNobyAiZWNobyAke2xpYmRpcn0gPj4gJHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtzeXNjb25mZGlyfS9sZC5zby5jb25mIiA+PiAkZGVzdAorCWNobW9kIDc1NSAkZGVzdAorfQorCisjIFJlbW92ZSB3cmFwcGVyIGZpbGVzIGZyb20gdGhlIHBhY2thZ2UsIG9ubHkgdXNlZCBmb3IgY3Jvc3MtY29tcGlsaW5nCitQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gImdpX3BhY2thZ2VfcHJlcHJvY2VzcyIKK2dpX3BhY2thZ2VfcHJlcHJvY2VzcygpIHsKKwlybSAtZiAke1BLR0R9JHtiaW5kaXJ9L2ctaXItc2Nhbm5lci1xZW11d3JhcHBlcgorCXJtIC1mICR7UEtHRH0ke2JpbmRpcn0vZy1pci1zY2FubmVyLXdyYXBwZXIKKwlybSAtZiAke1BLR0R9JHtiaW5kaXJ9L2ctaXItY29tcGlsZXItd3JhcHBlcgorCXJtIC1mICR7UEtHRH0ke2JpbmRpcn0vZy1pci1zY2FubmVyLWxkZHdyYXBwZXIKK30KKworU1NUQVRFX1NDQU5fRklMRVMgKz0gImctaXItc2Nhbm5lci1xZW11d3JhcHBlciBnLWlyLXNjYW5uZXItd3JhcHBlciBnLWlyLWNvbXBpbGVyLXdyYXBwZXIgZy1pci1zY2FubmVyLWxkZHdyYXBwZXIgR2lvLTIuMC5naXIgcG9zdGluc3QtbGRzb2NvbmYtJHtQTn0iCisKKyMgLnR5cGVsaWIgZmlsZXMgYXJlIG5lZWRlZCBhdCBydW50aW1lIGFuZCBzbyB0aGV5IGdvIHRvIHRoZSBtYWluIHBhY2thZ2UKK0ZJTEVTXyR7UE59X2FwcGVuZCA9ICIgJHtsaWJkaXJ9L2dpcmVwb3NpdG9yeS0qLyoudHlwZWxpYiIKKworIyAuZ2lyIGZpbGVzIGdvIHRvIGRldiBwYWNrYWdlLCBhcyB0aGV5J3JlIG5lZWRlZCBmb3IgZGV2ZWxvcGluZyAoYnV0IG5vdCBmb3IgcnVubmluZykKKyMgdGhpbmdzIHRoYXQgZGVwZW5kcyBvbiBpbnRyb3NwZWN0aW9uLgorRklMRVNfJHtQTn0tZGV2X2FwcGVuZCA9ICIgJHtkYXRhZGlyfS9naXItKi8qLmdpciAke2xpYmRpcn0vZ2lyLSovKi5naXIiCitGSUxFU18ke1BOfS1kZXZfYXBwZW5kID0gIiAke2RhdGFkaXJ9L2dpci0qLyoucm5jIgorCisjIFRoZXNlIGFyZSB1c2VkIGJ5IGdvYmplY3QtYmFzZWQgcGFja2FnZXMKKyMgdG8gZ2VuZXJhdGUgdHJhbnNpZW50IGludHJvc3BlY3Rpb24gYmluYXJpZXMKK0ZJTEVTXyR7UE59LWRldl9hcHBlbmQgPSAiICR7ZGF0YWRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMC9nZHVtcC5jIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMC9NYWtlZmlsZS5pbnRyb3NwZWN0aW9uIgorCisjIFRoZXNlIGFyZSB1c2VkIGJ5IGRlcGVuZGVudCBwYWNrYWdlcyAoZS5nLiBweWdvYmplY3QpIHRvIGJ1aWxkIHRoZWlyCisjIHRlc3RzdWl0ZXMuCitGSUxFU18ke1BOfS1kZXZfYXBwZW5kID0gIiAke2RhdGFkaXJ9L2dvYmplY3QtaW50cm9zcGVjdGlvbi0xLjAvdGVzdHMvKi5jIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMC90ZXN0cy8qLmgiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dvYmplY3QtaW50cm9zcGVjdGlvbi9naXNjYW5uZXIvLmRlYnVnLyIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2dvYmplY3QtaW50cm9zcGVjdGlvbi9naXNjYW5uZXIvKi5hIgorCitSREVQRU5EU18ke1BOfSA9ICJweXRob24zLXBpY2tsZSBweXRob24zLXhtbCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0aysuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrLmluYwppbmRleCAxNGVkOGQ4Li5kNmQxNGE3IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0aysuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKy5pbmMKQEAgLTI2LDcgKzI2LDcgQEAKIFBBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteD15ZXMgLS13aXRoLWdka3RhcmdldD14MTEsLS13aXRoLXg9bm8sJHtYMTFERVBFTkRTfSIKICMgd2l0aG91dCAtLXdpdGgtZ2RrdGFyZ2V0PWRpcmVjdGZiIGl0IHdpbGwgY2hlY2sgZm9yIGNhaXJvLXhsaWIgd2hpY2ggaXNuJ3QgYXZhaWxhYmxlIHdpdGhvdXQgWDExIERJU1RST19GRUFUVVJFCiBQQUNLQUdFQ09ORklHW2RpcmVjdGZiXSA9ICItLXdpdGgtZ2RrdGFyZ2V0PWRpcmVjdGZiLCxkaXJlY3RmYiIKLVBBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi0tZW5hYmxlLW1hbiAtLXdpdGgteG1sLWNhdGFsb2c9JHtTVEFHSU5HX0VUQ0RJUl9OQVRJVkV9L3htbC9jYXRhbG9nLnhtbCwgLS1kaXNhYmxlLW1hbiwgbGlieHNsdC1uYXRpdmUgeG1sdG8tbmF0aXZlIgorUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS1lbmFibGUtbWFuIC0td2l0aC14bWwtY2F0YWxvZz0ke1NUQUdJTkdfRVRDRElSX05BVElWRX0veG1sL2NhdGFsb2csIC0tZGlzYWJsZS1tYW4sIGxpYnhzbHQtbmF0aXZlIHhtbHRvLW5hdGl2ZSIKIAogaW5oZXJpdCBhdXRvdG9vbHMgZ3RrLWRvYyBwa2djb25maWcgdXBkYXRlLWFsdGVybmF0aXZlcyBndGstaW1tb2R1bGVzLWNhY2hlIGdvYmplY3QtaW50cm9zcGVjdGlvbiBtYW5wYWdlcwogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzMuaW5jCmluZGV4IDYzMzFhNDMuLjc3YjZjMzEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzMuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzMuaW5jCkBAIC0xMiw2ICsxMiwxMCBAQAogCiBpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBndGstZG9jIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgZ3RrLWltbW9kdWxlcy1jYWNoZSBnc2V0dGluZ3MgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGdvYmplY3QtaW50cm9zcGVjdGlvbgogCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK0dTRVRUSU5HU19QQUNLQUdFX2NsYXNzLW5hdGl2ZSA9ICIiCisKICMgdmVyc2lvbnMgPj0gMy45MCBhcmUgZGV2ZWxvcG1lbnQgdmVyc2lvbnMsIG90aGVyd2lzZSBsaWtlIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgogVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiW15cZFwuXSg/UDxwdmVyPjNcLihbMS04XT9bMDI0NjhdKSsoXC5cZCspKylcLnRhciIKIApAQCAtMzMsNyArMzcsNiBAQAogICAgICAgICAgICAgICAgICAtLWRpc2FibGUtZ2xpYnRlc3QgXAogICAgICAgICAgICAgICAgICAtLWRpc2FibGUteGluZXJhbWEgXAogICAgICAgICAgICAgICAgICAtLWVuYWJsZS1tb2R1bGVzIFwKLSAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWN1cHMgXAogICAgICAgICAgICAgICAgICAtLWRpc2FibGUtY29sb3JkIFwKICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAiIiwgIi0tZGlzYWJsZS1ndGstZG9jIiwgZCl9IFwKICAgICAgICAgICAgICAgICAgIgpAQCAtNTAsMTUgKzUzLDMyIEBACiBQQUNLQUdFQ09ORklHW29wZW5nbF0gPSAiLS1lbmFibGUtb3BlbmdsLC0tZGlzYWJsZS1vcGVuZ2wsbGliZXBveHkiCiBQQUNLQUdFQ09ORklHW2dseF0gPSAiLS1lbmFibGUtZ2x4LC0tZGlzYWJsZS1nbHgsLGxpYmdsIgogUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSA9ICItLWVuYWJsZS13YXlsYW5kLWJhY2tlbmQsLS1kaXNhYmxlLXdheWxhbmQtYmFja2VuZCx3YXlsYW5kIHdheWxhbmQtcHJvdG9jb2xzIGxpYnhrYmNvbW1vbiB2aXJ0dWFsL21lc2Egd2F5bGFuZC1uYXRpdmUiCitQQUNLQUdFQ09ORklHW2N1cHNdID0gIi0tZW5hYmxlLWN1cHMsLS1kaXNhYmxlLWN1cHMsY3VwcyIKIAotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0JbXYgJHtEfSR7YmluZGlyfS9ndGstdXBkYXRlLWljb24tY2FjaGUgJHtEfSR7YmluZGlyfS9ndGstdXBkYXRlLWljb24tY2FjaGUtMy4wCitwcmVwYXJlX2d0a19zY3JpcHRzKCkgeworICAgIG12ICR7RH0ke2JpbmRpcn0vZ3RrLXVwZGF0ZS1pY29uLWNhY2hlICR7RH0ke2JpbmRpcn0vZ3RrLXVwZGF0ZS1pY29uLWNhY2hlLTMuMAogCiAgICAgIyBkdXBsaWNhdGUgZ3RrLXF1ZXJ5LWltbW9kdWxlcyBmb3IgcG9zdCBpbnN0YWxsIHNjcmlwdCB1cGRhdGVfZ3RrX2ltbW9kdWxlc19jYWNoZQogICAgIG1rZGlyIC1wICR7RH0ke2xpYmV4ZWNkaXJ9CiAgICAgbG4gJHtEfSR7YmluZGlyfS9ndGstcXVlcnktaW1tb2R1bGVzLTMuMCAke0R9JHtsaWJleGVjZGlyfS8ke01MUFJFRklYfWd0ay1xdWVyeS1pbW1vZHVsZXMtMy4wCiB9CiAKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICBwcmVwYXJlX2d0a19zY3JpcHRzCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKKyAgICBwcmVwYXJlX2d0a19zY3JpcHRzCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICAgICAgY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZ3RrLXVwZGF0ZS1pY29uLWNhY2hlIFwKKyAgICAgICAgICAgICAgICBHREtfUElYQlVGX01PRFVMRV9GSUxFPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9nZGstcGl4YnVmLTIuMC8yLjEwLjAvbG9hZGVycy5jYWNoZQorICAgICAgICBjcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9ndGstZW5jb2RlLXN5bWJvbGljLXN2ZyBcCisgICAgICAgICAgICAgICAgR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvMi4xMC4wL2xvYWRlcnMuY2FjaGUKK30KKworUFJPVklERVMgKz0gImd0ay1pY29uLXV0aWxzIgogUEFDS0FHRVMgPSsgIiR7UE59LWRlbW8iCiBMSUJWID0gIjMuMC4wIgogCkBAIC0xMDQsNiArMTI0LDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZWQtbWltZS1pbmZvIFwKICAgICAgICAgICAgICAgICAgICAgICAgIGFkd2FpdGEtaWNvbi10aGVtZS1zeW1ib2xpYyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAiCisKK0dUS0JBU0VfUlJFQ09NTUVORFNfY2xhc3MtbmF0aXZlID89ICJcCisgICAgICAgICAgICAgICAgICAgICAgICAiCisKIEdUS0dMSUJDX1JSRUNPTU1FTkRTID89ICIke0dUS0JBU0VfUlJFQ09NTUVORFN9IGdsaWJjLWdjb252LWlzbzg4NTktMSIKIAogUlJFQ09NTUVORFNfJHtQTn0gPSAiJHtHVEtCQVNFX1JSRUNPTU1FTkRTfSIKQEAgLTEyMywxMSArMTQ3LDExIEBACiAgICAgaW1tb2R1bGVzX3Jvb3QgPSBvcy5wYXRoLmpvaW4oZ3RrX2xpYmRpciwgJ2ltbW9kdWxlcycpCiAgICAgcHJpbnRtb2R1bGVzX3Jvb3QgPSBvcy5wYXRoLmpvaW4oZ3RrX2xpYmRpciwgJ3ByaW50YmFja2VuZHMnKTsKIAotICAgIGltbW9kdWxlcyA9IGRvX3NwbGl0X3BhY2thZ2VzKGQsIGltbW9kdWxlc19yb290LCAnXmltLSguKilcLnNvJCcsICdndGszLWltbW9kdWxlLSVzJywgJ0dUSyBpbnB1dCBtb2R1bGUgZm9yICVzJykKKyAgICBpbW1vZHVsZXMgPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBpbW1vZHVsZXNfcm9vdCwgcideaW0tKC4qKVwuc28kJywgJ2d0azMtaW1tb2R1bGUtJXMnLCAnR1RLIGlucHV0IG1vZHVsZSBmb3IgJXMnKQogICAgIGlmIGltbW9kdWxlczoKICAgICAgICAgZC5zZXRWYXIoIkdUS0lNTU9EVUxFU19QQUNLQUdFUyIsICIgIi5qb2luKGltbW9kdWxlcykpCiAKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwcmludG1vZHVsZXNfcm9vdCwgJ15saWJwcmludGJhY2tlbmQtKC4qKVwuc28kJywgJ2d0azMtcHJpbnRiYWNrZW5kLSVzJywgJ0dUSyBwcmludGJhY2tlbmQgbW9kdWxlIGZvciAlcycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcHJpbnRtb2R1bGVzX3Jvb3QsIHInXmxpYnByaW50YmFja2VuZC0oLiopXC5zbyQnLCAnZ3RrMy1wcmludGJhY2tlbmQtJXMnLCAnR1RLIHByaW50YmFja2VuZCBtb2R1bGUgZm9yICVzJykKIAogICAgIGlmIChkLmdldFZhcignREVCSUFOX05BTUVTJykpOgogICAgICAgICBkLnNldFZhcihkLmV4cGFuZCgnUEtHXyR7UE59JyksICcke01MUFJFRklYfWxpYmd0ay0zLjAnKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrMy8wMDAzLUFkZC1kaXNhYmxlLW9wZW5nbC1jb25maWd1cmUtb3B0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrMy8wMDAzLUFkZC1kaXNhYmxlLW9wZW5nbC1jb25maWd1cmUtb3B0aW9uLnBhdGNoCmluZGV4IGQyZjEyZGMuLmU1YTY3ZDAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzMvMDAwMy1BZGQtZGlzYWJsZS1vcGVuZ2wtY29uZmlndXJlLW9wdGlvbi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszLzAwMDMtQWRkLWRpc2FibGUtb3BlbmdsLWNvbmZpZ3VyZS1vcHRpb24ucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGRlMzZkZjcwZDg3YmEzNDUzZWQ0ZjJiOTJlOTkwMDIxYzY3MjM4ZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDllMjQzNDc0ZWVhNDMzMGI1OTNlMGY2ZGQ0MThiNjFiNzk2OTlkOGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKdXNzaSBLdWtrb25lbiA8anVzc2kua3Vra29uZW5AaW50ZWwuY29tPgogRGF0ZTogVHVlLCAyMSBKdW4gMjAxNiAxNToxMTozOSArMDMwMAotU3ViamVjdDogW1BBVENIIDMvNF0gQWRkIC0tZGlzYWJsZS1vcGVuZ2wgY29uZmlndXJlIG9wdGlvbgorU3ViamVjdDogW1BBVENIXSBBZGQgLS1kaXNhYmxlLW9wZW5nbCBjb25maWd1cmUgb3B0aW9uCiAKIC0tZGlzYWJsZS1vcGVuZ2wgd2lsbCByZW1vdmUgdGhlIGRlcGVuZGVuY3kgb24gbGliZXBveHkgYW5kIG9uIHRoZQogT3BlbkdMIEFQSXMuIFRoaXMgaXMgdXNlZnVsIGZvciB0aG9zZSB3aG8gd2FudCB0byBrZWVwIHVzaW5nIGd0ayszCkBAIC0yMSwzMiArMjEsMzIgQEAKIFNpZ25lZC1vZmYtYnk6IEp1c3NpIEt1a2tvbmVuIDxqdXNzaS5rdWtrb25lbkBpbnRlbC5jb20+CiAKIC0tLQotIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKysrLS0KLSBkZW1vcy9ndGstZGVtby9nbGFyZWEuYyAgICAgICAgICAgICAgICAgICAgfCAxNCArKysrKysrKwotIGRvY3MvdG9vbHMvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICB8ICA5ICsrKy0tCi0gZG9jcy90b29scy93aWRnZXRzLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystCi0gZ2RrL2dka2Rpc3BsYXkuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystCi0gZ2RrL2dka2dsLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKysrKysrCi0gZ2RrL2dka2dsY29udGV4dC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrKwotIGdkay9nZGt3aW5kb3cuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKysrKysKLSBnZGsveDExL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgfCAzMCArKysrKysrKysrKysrLS0tCi0gZ2RrL3gxMS9nZGtkaXNwbGF5LXgxMS5jICAgICAgICAgICAgICAgICAgIHwgIDYgKysrLQotIGdkay94MTEvZ2Rrc2NyZWVuLXgxMS5jICAgICAgICAgICAgICAgICAgICB8ICA1ICsrKwotIGdkay94MTEvZ2Rrd2luZG93LXgxMS5jICAgICAgICAgICAgICAgICAgICB8ICA0ICsrKwotIGdkay94MTEvZ2RreC1hdXRvY2xlYW51cHMuaCAgICAgICAgICAgICAgICB8ICAyICsrCisgY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKy0KKyBkZW1vcy9ndGstZGVtby9nbGFyZWEuYyAgICAgICAgICAgICAgICAgICAgfCAxNCArKysrKysKKyBkb2NzL3Rvb2xzL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgfCAgOSArKystCisgZG9jcy90b29scy93aWRnZXRzLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KKyBnZGsvZ2RrZGlzcGxheS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQorIGdkay9nZGtnbC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrKysKKyBnZGsvZ2RrZ2xjb250ZXh0LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKysKKyBnZGsvZ2Rrd2luZG93LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMyArKysrKworIGdkay94MTEvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICB8IDMwICsrKysrKysrKy0tCisgZ2RrL3gxMS9nZGtkaXNwbGF5LXgxMS5jICAgICAgICAgICAgICAgICAgIHwgIDYgKystCisgZ2RrL3gxMS9nZGtzY3JlZW4teDExLmMgICAgICAgICAgICAgICAgICAgIHwgIDUgKysKKyBnZGsveDExL2dka3dpbmRvdy14MTEuYyAgICAgICAgICAgICAgICAgICAgfCAgNCArKworIGdkay94MTEvZ2RreC1hdXRvY2xlYW51cHMuaCAgICAgICAgICAgICAgICB8ICAyICsKICBnZGsveDExL3tnZGt4LmggPT4gZ2RreC13aXRoLWdsLWNvbnRleHQuaH0gfCAgMSAtCi0gZ2RrL3gxMS9nZGt4LXdpdGhvdXQtZ2wtY29udGV4dC5oICAgICAgICAgIHwgNTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RrL3gxMS9nZGt4LXdpdGhvdXQtZ2wtY29udGV4dC5oICAgICAgICAgIHwgNTggKysrKysrKysrKysrKysrKysrKysrKwogIGd0ay9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzICstCi0gZ3RrL2d0a2dsYXJlYS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAgKysrKysrKysrKy0KLSBndGsvaW5zcGVjdG9yL2dlbmVyYWwuYyAgICAgICAgICAgICAgICAgICAgfCAgNiArKysrCi0gdGVzdHMvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKysrKy0tCi0gdGVzdHN1aXRlL2d0ay9vYmplY3RzLWZpbmFsaXplLmMgICAgICAgICAgIHwgIDIgKysKKyBndGsvZ3RrZ2xhcmVhLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMCArKysrKysrLQorIGd0ay9pbnNwZWN0b3IvZ2VuZXJhbC5jICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKworIHRlc3RzL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrLS0KKyB0ZXN0c3VpdGUvZ3RrL29iamVjdHMtZmluYWxpemUuYyAgICAgICAgICAgfCAgMiArCiAgMjAgZmlsZXMgY2hhbmdlZCwgMjAyIGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQogIHJlbmFtZSBnZGsveDExL3tnZGt4LmggPT4gZ2RreC13aXRoLWdsLWNvbnRleHQuaH0gKDk4JSkKICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RrL3gxMS9nZGt4LXdpdGhvdXQtZ2wtY29udGV4dC5oCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDBhNDg4NzUuLjZmMGEzYTYgMTAwNjQ0CitpbmRleCBhOTFiMjljLi41NjFkM2I1IDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFjCiArKysgYi9jb25maWd1cmUuYWMKIEBAIC0zNTEsNiArMzUxLDE1IEBAIEFDX0FSR19FTkFCTEUoY2xvdWRwcm92aWRlcnMsCkBAIC02NSw3ICs2NSw3IEBACiAgQUNfQVJHX0VOQUJMRShnbHgsCiAgICAgICAgICAgICAgICBbQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWdseF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1doZW4gZW5hYmxlZCBHZGsgd2lsbCB0cnkgdG8gaW5pdGlhbGl6ZSBHTFhdKV0pCi1AQCAtMTM3Miw3ICsxMzgxLDcgQEAgQ0ZMQUdTPSIkc2F2ZWRfY2ZsYWdzIgorQEAgLTEzODEsNyArMTM5MCw3IEBAIENGTEFHUz0iJHNhdmVkX2NmbGFncyIKICBMREZMQUdTPSIkc2F2ZWRfbGRmbGFncyIKICAKICBHREtfUEFDS0FHRVM9IiRQQU5HT19QQUNLQUdFUyBnZGstcGl4YnVmLTIuMCA+PSBnZGtfcGl4YnVmX3JlcXVpcmVkX3ZlcnNpb24gY2Fpcm8gPj0gY2Fpcm9fcmVxdWlyZWRfdmVyc2lvbiBjYWlyby1nb2JqZWN0ID49IGNhaXJvX3JlcXVpcmVkX3ZlcnNpb24iCkBAIC03NCw3ICs3NCw3IEBACiAgCiAgUEtHX0NIRUNLX01PRFVMRVMoR0RLX0RFUCwgJEdES19QQUNLQUdFUyAkR0RLX1BSSVZBVEVfUEFDS0FHRVMpCiAgR0RLX0RFUF9MSUJTPSIkR0RLX0VYVFJBX0xJQlMgJEdES19ERVBfTElCUyAkTUFUSF9MSUIiCi1AQCAtMTQwNiw3ICsxNDE1LDcgQEAgZmkKK0BAIC0xNDE1LDcgKzE0MjQsNyBAQCBmaQogIFBLR19DSEVDS19NT0RVTEVTKEFUSywgJEFUS19QQUNLQUdFUykKICAKICBHVEtfUEFDS0FHRVM9ImF0ayA+PSBhdGtfcmVxdWlyZWRfdmVyc2lvbiBjYWlybyA+PSBjYWlyb19yZXF1aXJlZF92ZXJzaW9uIGNhaXJvLWdvYmplY3QgPj0gY2Fpcm9fcmVxdWlyZWRfdmVyc2lvbiBnZGstcGl4YnVmLTIuMCA+PSBnZGtfcGl4YnVmX3JlcXVpcmVkX3ZlcnNpb24gZ2lvLTIuMCA+PSBnbGliX3JlcXVpcmVkX3ZlcnNpb24iCkBAIC0yMjQsMTIgKzIyNCwxMiBAQAogIAogIEdka1JlbmRlcmluZ01vZGUKIGRpZmYgLS1naXQgYS9nZGsvZ2RrZ2wuYyBiL2dkay9nZGtnbC5jCi1pbmRleCA4ZTdiOGMyLi5iNTc5YjIyIDEwMDY0NAoraW5kZXggOTMzZTIwNC4uMTc2NzUwOCAxMDA2NDQKIC0tLSBhL2dkay9nZGtnbC5jCiArKysgYi9nZGsvZ2RrZ2wuYwotQEAgLTIyLDcgKzIyLDkgQEAKLSAKLSAjaW5jbHVkZSAiZ2RraW50ZXJuYWxzLmgiCitAQCAtMjYsNyArMjYsOSBAQAorICMgaW5jbHVkZSAid2luMzIvZ2Rrd2luMzIuaCIKKyAjZW5kaWYKICAKICsjaWZkZWYgSEFWRV9PUEVOR0wKICAjaW5jbHVkZSA8ZXBveHkvZ2wuaD4KQEAgLTIzNyw3ICsyMzcsNyBAQAogICNpbmNsdWRlIDxtYXRoLmg+CiAgI2luY2x1ZGUgPHN0cmluZy5oPgogIAotQEAgLTM2LDYgKzM4LDcgQEAgZ2RrX2NhaXJvX3N1cmZhY2VfbWFya19hc19kaXJlY3QgKGNhaXJvX3N1cmZhY2VfdCAqc3VyZmFjZSwKK0BAIC00MCw2ICs0Miw3IEBAIGdka19jYWlyb19zdXJmYWNlX21hcmtfYXNfZGlyZWN0IChjYWlyb19zdXJmYWNlX3QgKnN1cmZhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfb2JqZWN0X3JlZiAod2luZG93KSwgIGdfb2JqZWN0X3VucmVmKTsKICB9CiAgCkBAIC0yNDUsNyArMjQ1LDcgQEAKICBzdGF0aWMgY29uc3QgY2hhciAqCiAgZ2V0X3ZlcnRleF90eXBlX25hbWUgKGludCB0eXBlKQogIHsKLUBAIC0yMDgsNiArMjExLDcgQEAgdXNlX3RleHR1cmVfcmVjdF9wcm9ncmFtIChHZGtHTENvbnRleHRQYWludERhdGEgKnBhaW50X2RhdGEpCitAQCAtMjEyLDYgKzIxNSw3IEBAIHVzZV90ZXh0dXJlX3JlY3RfcHJvZ3JhbSAoR2RrR0xDb250ZXh0UGFpbnREYXRhICpwYWludF9kYXRhKQogICAgICAgIGdsVXNlUHJvZ3JhbSAocGFpbnRfZGF0YS0+Y3VycmVudF9wcm9ncmFtLT5wcm9ncmFtKTsKICAgICAgfQogIH0KQEAgLTI1Myw3ICsyNTMsNyBAQAogIAogIHZvaWQKICBnZGtfZ2xfdGV4dHVyZV9xdWFkcyAoR2RrR0xDb250ZXh0ICpwYWludF9jb250ZXh0LAotQEAgLTIxNiw2ICsyMjAsNyBAQCBnZGtfZ2xfdGV4dHVyZV9xdWFkcyAoR2RrR0xDb250ZXh0ICpwYWludF9jb250ZXh0LAorQEAgLTIyMCw2ICsyMjQsNyBAQCBnZGtfZ2xfdGV4dHVyZV9xdWFkcyAoR2RrR0xDb250ZXh0ICpwYWludF9jb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICBHZGtUZXh0dXJlZFF1YWQgKnF1YWRzLAogICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiBmbGlwX2NvbG9ycykKICB7CkBAIC0yNjEsNyArMjYxLDcgQEAKICAgIEdka0dMQ29udGV4dFBhaW50RGF0YSAqcGFpbnRfZGF0YSAgPSBnZGtfZ2xfY29udGV4dF9nZXRfcGFpbnRfZGF0YSAocGFpbnRfY29udGV4dCk7CiAgICBHZGtHTENvbnRleHRQcm9ncmFtICpwcm9ncmFtOwogICAgR2RrV2luZG93ICp3aW5kb3cgPSBnZGtfZ2xfY29udGV4dF9nZXRfd2luZG93IChwYWludF9jb250ZXh0KTsKLUBAIC0yODksNiArMjk0LDcgQEAgZ2RrX2dsX3RleHR1cmVfcXVhZHMgKEdka0dMQ29udGV4dCAqcGFpbnRfY29udGV4dCwKK0BAIC0yOTMsNiArMjk4LDcgQEAgZ2RrX2dsX3RleHR1cmVfcXVhZHMgKEdka0dMQ29udGV4dCAqcGFpbnRfY29udGV4dCwKICAKICAgIGdsRGlzYWJsZVZlcnRleEF0dHJpYkFycmF5IChwcm9ncmFtLT5wb3NpdGlvbl9sb2NhdGlvbik7CiAgICBnbERpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSAocHJvZ3JhbS0+dXZfbG9jYXRpb24pOwpAQCAtMjY5LDcgKzI2OSw3IEBACiAgfQogIAogIC8qIHgseSx3aWR0aCxoZWlnaHQgZGVzY3JpYmVzIGEgcmVjdGFuZ2xlIGluIHRoZSBnbCByZW5kZXIgYnVmZmVyCi1AQCAtMzM3LDYgKzM0Myw3IEBAIGdka19jYWlyb19kcmF3X2Zyb21fZ2wgKGNhaXJvX3QgICAgICAgICAgICAgICpjciwKK0BAIC0zNDEsNiArMzQ3LDcgQEAgZ2RrX2NhaXJvX2RyYXdfZnJvbV9nbCAoY2Fpcm9fdCAgICAgICAgICAgICAgKmNyLAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCAgICAgICAgICAgICAgICAgICB3aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgICAgICAgICAgICAgICAgICAgaGVpZ2h0KQogIHsKQEAgLTI3Nyw3ICsyNzcsNyBAQAogICAgR2RrR0xDb250ZXh0ICpwYWludF9jb250ZXh0OwogICAgY2Fpcm9fc3VyZmFjZV90ICppbWFnZTsKICAgIGNhaXJvX21hdHJpeF90IG1hdHJpeDsKLUBAIC03MDcsNiArNzE0LDcgQEAgb3V0OgorQEAgLTcxOCw2ICs3MjUsNyBAQCBvdXQ6CiAgICBpZiAoY2xpcF9yZWdpb24pCiAgICAgIGNhaXJvX3JlZ2lvbl9kZXN0cm95IChjbGlwX3JlZ2lvbik7CiAgCkBAIC0yODUsNyArMjg1LDcgQEAKICB9CiAgCiAgLyogVGhpcyBpcyBhbHdheXMgY2FsbGVkIHdpdGggdGhlIHBhaW50IGNvbnRleHQgY3VycmVudCAqLwotQEAgLTcxNCw2ICs3MjIsNyBAQCB2b2lkCitAQCAtNzI1LDYgKzczMyw3IEBAIHZvaWQKICBnZGtfZ2xfdGV4dHVyZV9mcm9tX3N1cmZhY2UgKGNhaXJvX3N1cmZhY2VfdCAqc3VyZmFjZSwKICAJCQkgICAgIGNhaXJvX3JlZ2lvbl90ICAqcmVnaW9uKQogIHsKQEAgLTI5MywxNCArMjkzLDE0IEBACiAgICBHZGtHTENvbnRleHQgKnBhaW50X2NvbnRleHQ7CiAgICBjYWlyb19zdXJmYWNlX3QgKmltYWdlOwogICAgZG91YmxlIGRldmljZV94X29mZnNldCwgZGV2aWNlX3lfb2Zmc2V0OwotQEAgLTgxNCw0ICs4MjMsNSBAQCBnZGtfZ2xfdGV4dHVyZV9mcm9tX3N1cmZhY2UgKGNhaXJvX3N1cmZhY2VfdCAqc3VyZmFjZSwKK0BAIC04MjUsNCArODM0LDUgQEAgZ2RrX2dsX3RleHR1cmVfZnJvbV9zdXJmYWNlIChjYWlyb19zdXJmYWNlX3QgKnN1cmZhY2UsCiAgCiAgICBnbERpc2FibGUgKEdMX1NDSVNTT1JfVEVTVCk7CiAgICBnbERlbGV0ZVRleHR1cmVzICgxLCAmdGV4dHVyZV9pZCk7CiArI2VuZGlmCiAgfQogZGlmZiAtLWdpdCBhL2dkay9nZGtnbGNvbnRleHQuYyBiL2dkay9nZGtnbGNvbnRleHQuYwotaW5kZXggYzc5ZGNhMC4uOGE3YmVjMiAxMDA2NDQKK2luZGV4IGRmYmVkNjMuLjU1NmYwYTMgMTAwNjQ0CiAtLS0gYS9nZGsvZ2RrZ2xjb250ZXh0LmMKICsrKyBiL2dkay9nZGtnbGNvbnRleHQuYwogQEAgLTg1LDcgKzg1LDkgQEAKQEAgLTMzNyw3ICszMzcsNyBAQAogICAgR2RrR0xDb250ZXh0UHJpdmF0ZSAqcHJpdiA9IGdka19nbF9jb250ZXh0X2dldF9pbnN0YW5jZV9wcml2YXRlIChjb250ZXh0KTsKICAgIGdib29sZWFuIGhhc19ucG90LCBoYXNfdGV4dHVyZV9yZWN0YW5nbGU7CiAgCi1AQCAtODQ3LDYgKzg1Miw3IEBAIGdka19nbF9jb250ZXh0X2NoZWNrX2V4dGVuc2lvbnMgKEdka0dMQ29udGV4dCAqY29udGV4dCkKK0BAIC04NTMsNiArODU4LDcgQEAgZ2RrX2dsX2NvbnRleHRfY2hlY2tfZXh0ZW5zaW9ucyAoR2RrR0xDb250ZXh0ICpjb250ZXh0KQogICAgICAgICAgICAgICAgICAgICAgICAgcHJpdi0+dXNlX3RleHR1cmVfcmVjdGFuZ2xlID8gInllcyIgOiAibm8iKSk7CiAgCiAgICBwcml2LT5leHRlbnNpb25zX2NoZWNrZWQgPSBUUlVFOwpAQCAtMzQ2LDcgKzM0Niw3IEBACiAgCiAgLyoqCiBkaWZmIC0tZ2l0IGEvZ2RrL2dka3dpbmRvdy5jIGIvZ2RrL2dka3dpbmRvdy5jCi1pbmRleCBjMGUwYTdkLi40MzdhYjAzIDEwMDY0NAoraW5kZXggNmIyMzFmMC4uOTA0Yjg2ZCAxMDA2NDQKIC0tLSBhL2dkay9nZGt3aW5kb3cuYwogKysrIGIvZ2RrL2dka3dpbmRvdy5jCiBAQCAtNDUsNyArNDUsOSBAQApAQCAtNDc4LDcgKzQ3OCw3IEBACiArCiAgLWluY2x1ZGUgJCh0b3Bfc3JjZGlyKS9naXQubWsKIGRpZmYgLS1naXQgYS9nZGsveDExL2dka2Rpc3BsYXkteDExLmMgYi9nZGsveDExL2dka2Rpc3BsYXkteDExLmMKLWluZGV4IGU5YTI2M2YuLjI4MjlhMzEgMTAwNjQ0CitpbmRleCA2NTliOWZhLi5iMTU1MzZiIDEwMDY0NAogLS0tIGEvZ2RrL3gxMS9nZGtkaXNwbGF5LXgxMS5jCiArKysgYi9nZGsveDExL2dka2Rpc3BsYXkteDExLmMKIEBAIC0zNyw3ICszNyw5IEBACkBAIC00OTEsNyArNDkxLDcgQEAKICAjaW5jbHVkZSAiZ2RrLXByaXZhdGUuaCIKICAKICAjaW5jbHVkZSA8Z2xpYi5oPgotQEAgLTMxNjksNyArMzE3MSw5IEBAIGdka194MTFfZGlzcGxheV9jbGFzc19pbml0IChHZGtYMTFEaXNwbGF5Q2xhc3MgKiBjbGFzcykKK0BAIC0zMTk0LDcgKzMxOTYsOSBAQCBnZGtfeDExX2Rpc3BsYXlfY2xhc3NfaW5pdCAoR2RrWDExRGlzcGxheUNsYXNzICogY2xhc3MpCiAgICBkaXNwbGF5X2NsYXNzLT50ZXh0X3Byb3BlcnR5X3RvX3V0ZjhfbGlzdCA9IF9nZGtfeDExX2Rpc3BsYXlfdGV4dF9wcm9wZXJ0eV90b191dGY4X2xpc3Q7CiAgICBkaXNwbGF5X2NsYXNzLT51dGY4X3RvX3N0cmluZ190YXJnZXQgPSBfZ2RrX3gxMV9kaXNwbGF5X3V0ZjhfdG9fc3RyaW5nX3RhcmdldDsKICAKQEAgLTUwMywxMCArNTAzLDEwIEBACiAgICBkaXNwbGF5X2NsYXNzLT5nZXRfZGVmYXVsdF9zZWF0ID0gZ2RrX3gxMV9kaXNwbGF5X2dldF9kZWZhdWx0X3NlYXQ7CiAgCiBkaWZmIC0tZ2l0IGEvZ2RrL3gxMS9nZGtzY3JlZW4teDExLmMgYi9nZGsveDExL2dka3NjcmVlbi14MTEuYwotaW5kZXggN2JmOTk3OS4uY2QxY2M5ZCAxMDA2NDQKK2luZGV4IDI3MmNlY2QuLjJiYjM0YWMgMTAwNjQ0CiAtLS0gYS9nZGsveDExL2dka3NjcmVlbi14MTEuYwogKysrIGIvZ2RrL3gxMS9nZGtzY3JlZW4teDExLmMKLUBAIC0xNjQzLDMgKzE2NDMsOCBAQCBnZGtfeDExX3NjcmVlbl9nZXRfY3VycmVudF9kZXNrdG9wIChHZGtTY3JlZW4gKnNjcmVlbikKK0BAIC0xNjc1LDMgKzE2NzUsOCBAQCBnZGtfeDExX3NjcmVlbl9nZXRfY3VycmVudF9kZXNrdG9wIChHZGtTY3JlZW4gKnNjcmVlbikKICB7CiAgICByZXR1cm4gZ2V0X25ldHdtX2NhcmRpbmFsX3Byb3BlcnR5IChzY3JlZW4sICJfTkVUX0NVUlJFTlRfREVTS1RPUCIpOwogIH0KQEAgLTUxNiw3ICs1MTYsNyBAQAogK3ZvaWQgX2dka194MTFfc2NyZWVuX3VwZGF0ZV92aXN1YWxzX2Zvcl9nbCAoR2RrU2NyZWVuICpzY3JlZW4pIHt9CiArI2VuZGlmCiBkaWZmIC0tZ2l0IGEvZ2RrL3gxMS9nZGt3aW5kb3cteDExLmMgYi9nZGsveDExL2dka3dpbmRvdy14MTEuYwotaW5kZXggM2Q2ZmQzYi4uMmJkNWM4NyAxMDA2NDQKK2luZGV4IGM2MjA1ZTQuLmRmMjMzNGYgMTAwNjQ0CiAtLS0gYS9nZGsveDExL2dka3dpbmRvdy14MTEuYwogKysrIGIvZ2RrL3gxMS9nZGt3aW5kb3cteDExLmMKIEBAIC0zNiw3ICszNiw5IEBACkBAIC01MjksNyArNTI5LDcgQEAKICAjaW5jbHVkZSAiZ2RrcHJpdmF0ZS14MTEuaCIKICAjaW5jbHVkZSAiZ2RrLXByaXZhdGUuaCIKICAKLUBAIC01ODAxLDcgKzU4MDMsOSBAQCBnZGtfd2luZG93X2ltcGxfeDExX2NsYXNzX2luaXQgKEdka1dpbmRvd0ltcGxYMTFDbGFzcyAqa2xhc3MpCitAQCAtNTgwNCw3ICs1ODA2LDkgQEAgZ2RrX3dpbmRvd19pbXBsX3gxMV9jbGFzc19pbml0IChHZGtXaW5kb3dJbXBsWDExQ2xhc3MgKmtsYXNzKQogICAgaW1wbF9jbGFzcy0+c2V0X29wYXF1ZV9yZWdpb24gPSBnZGtfeDExX3dpbmRvd19zZXRfb3BhcXVlX3JlZ2lvbjsKICAgIGltcGxfY2xhc3MtPnNldF9zaGFkb3dfd2lkdGggPSBnZGtfeDExX3dpbmRvd19zZXRfc2hhZG93X3dpZHRoOwogICAgaW1wbF9jbGFzcy0+c2hvd193aW5kb3dfbWVudSA9IGdka194MTFfd2luZG93X3Nob3dfd2luZG93X21lbnU7CkBAIC02MzMsMTAgKzYzMywxMCBAQAogKwogKyNlbmRpZiAvKiBfX0dES19YX0hfXyAqLwogZGlmZiAtLWdpdCBhL2d0ay9NYWtlZmlsZS5hbSBiL2d0ay9NYWtlZmlsZS5hbQotaW5kZXggODQyYzJmOS4uMDkyMWJjNyAxMDA2NDQKK2luZGV4IDU1OTQ0MjkuLjIyNTliYjMgMTAwNjQ0CiAtLS0gYS9ndGsvTWFrZWZpbGUuYW0KICsrKyBiL2d0ay9NYWtlZmlsZS5hbQotQEAgLTE0MTYsMTQgKzE0MTYsMTMgQEAgZ3RrcHJpdmF0ZXR5cGVidWlsdGlucy5jOiAkKGd0a19wcml2YXRlX3R5cGVfaF9zb3VyY2VzKSAgZ3RrcHJpdmF0ZXR5cGVidWlsdGlucy4KK0BAIC0xNDM0LDE0ICsxNDM0LDEzIEBAIGd0a3ByaXZhdGV0eXBlYnVpbHRpbnMuYzogJChndGtfcHJpdmF0ZV90eXBlX2hfc291cmNlcykgIGd0a3ByaXZhdGV0eXBlYnVpbHRpbnMuCiAgCSYmIGNwIHhnZW4tZ3B0YmMgZ3RrcHJpdmF0ZXR5cGVidWlsdGlucy5jICBcCiAgCSYmIHJtIC1mIHhnZW4tZ3B0YmMKICAKQEAgLTY1MCwxMCArNjUwLDEwIEBACiAtCSAgJChTRUQpICd7IHMvXi8qdHArKyA9IC87IHMvJCQvKCk7Lzsgcy9eLipcKGdka194MTFcfGd0a19wbHVnX1x8Z3RrX3NvY2tldF9cKS4qJCQvI2lmZGVmIEdES19XSU5ET1dJTkdfWDExXG4mXG4jZW5kaWYvOyB9JyA+PiB4Z2VuLWd0ZiBcCiArCSAgJChTRUQpICd7IHMvXi8qdHArKyA9IC87IHMvJCQvKCk7Lzsgcy9eLipcKGdka194MTFcfGd0a19wbHVnX1x8Z3RrX3NvY2tldF9cKS4qJCQvI2lmZGVmIEdES19XSU5ET1dJTkdfWDExXG4mXG4jZW5kaWYvOyBzL14uKmdka194MTFfZ2wuKiQkLyNpZmRlZiBIQVZFX09QRU5HTFxuJlxuI2VuZGlmLzsgfScgPj4geGdlbi1ndGYgXAogIAkmJiBjcCB4Z2VuLWd0ZiAkQCAmJiBybSAtZiB4Z2VuLWd0ZgotIGd0a3Rlc3R1dGlscy5jOiBndGt0eXBlZnVuY3MuYworICQoc3JjZGlyKS9ndGt0ZXN0dXRpbHMuYzogZ3RrdHlwZWZ1bmNzLmMKICAKIGRpZmYgLS1naXQgYS9ndGsvZ3RrZ2xhcmVhLmMgYi9ndGsvZ3RrZ2xhcmVhLmMKLWluZGV4IDA5NDM3OGUuLmY3YzdmNDcgMTAwNjQ0CitpbmRleCBlYTM4M2MwLi5iYjRlYjY0IDEwMDY0NAogLS0tIGEvZ3RrL2d0a2dsYXJlYS5jCiArKysgYi9ndGsvZ3RrZ2xhcmVhLmMKIEBAIC0yOCw3ICsyOCw5IEBACkBAIC03OTYsNyArNzk2LDcgQEAKICAgIGlmIChHREtfSVNfV0FZTEFORF9ESVNQTEFZIChnZGtfZGlzcGxheV9nZXRfZGVmYXVsdCAoKSkpCiAgICAgIHsKIGRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5hbSBiL3Rlc3RzL01ha2VmaWxlLmFtCi1pbmRleCBlMmRiNmU0Li5lNTFjZjM0IDEwMDY0NAoraW5kZXggN2M1Y2E5OS4uZTRhNDU0NiAxMDA2NDQKIC0tLSBhL3Rlc3RzL01ha2VmaWxlLmFtCiArKysgYi90ZXN0cy9NYWtlZmlsZS5hbQogQEAgLTgwLDggKzgwLDYgQEAgbm9pbnN0X1BST0dSQU1TID0gICQoVEVTVF9QUk9HUykJXApAQCAtODA4LDcgKzgwOCw3IEBACiAgCXRlc3RncmlkCQkJXAogIAl0ZXN0Z3RrCQkJCVwKICAJdGVzdGhlYWRlcmJhcgkJCVwKLUBAIC0xNzAsMTIgKzE2OCwxOCBAQCBub2luc3RfUFJPR1JBTVMgPSAgJChURVNUX1BST0dTKQlcCitAQCAtMTcyLDEyICsxNzAsMTggQEAgbm9pbnN0X1BST0dSQU1TID0gICQoVEVTVF9QUk9HUykJXAogIAl0ZXN0YWN0aW9uYmFyCQkJXAogIAl0ZXN0d2luZG93c2l6ZQkJCVwKICAJdGVzdHBvcG92ZXIJCQlcCkBAIC04NDIsNiArODQyLDMgQEAKICAjZW5kaWYKICAJICAvKiBOb3QgYWxsb3dlZCB0byBmaW5hbGl6ZSBhIEdka1BpeGJ1ZkxvYWRlciB3aXRob3V0IGNhbGxpbmcgZ2RrX3BpeGJ1Zl9sb2FkZXJfY2xvc2UoKSAqLwogIAkgIGFsbF90eXBlc1tpXSAhPSBHREtfVFlQRV9QSVhCVUZfTE9BREVSICYmCi0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszL2xpbmtfZnJpYmlkaS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzMvbGlua19mcmliaWRpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0YmJkNzkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszL2xpbmtfZnJpYmlkaS5wYXRjaApAQCAtMCwwICsxLDE5IEBACitMaW5rIHdpdGggbGliZnJpYmlkaSwgdGhpcyBpcyB0byBhdm9pZCB1bmRlciBsaW5raW5nIHdoZXJlIHRoZXNlIGZ1bmN0aW9ucyBhcmUKK3VzZWQgYnV0IHRoZSBsaWJyYXJ5IGlzIG5vdCBsaW5rZWQgaW4sIGFuZCB0aGV5IGFyZSBtYXJrZWQgdW5kZWZpbmVkIGJ5IEJGRCBsaW5rZXIKK2J1dCBnb2xkIGxpbmtlciByZWZ1c2VzIHRvIGxpbmsKKworfCAuLy5saWJzL2xpYmdkay0zLnNvOiBlcnJvcjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byAnZnJpYmlkaV9nZXRfYmlkaV90eXBlJworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKy0tLSBhL2dkay9NYWtlZmlsZS5hbQorKysrIGIvZ2RrL01ha2VmaWxlLmFtCitAQCAtNTUsNiArNTUsNyBAQCBMREFERCA9IAkJCQkJXAorIAktdmVyc2lvbi1pbmZvICQoTFRfVkVSU0lPTl9JTkZPKQlcCisgCS1leHBvcnQtZHluYW1pYyAJCQlcCisgCS1ycGF0aCAkKGxpYmRpcikgCQkJXAorKwktbGZyaWJpZGkJIAkJCVwKKyAJJChub191bmRlZmluZWQpCisgCisgIwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrM18zLjIyLjMwLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrM18zLjIyLjMwLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OTdiNTE4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzNfMy4yMi4zMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLXJlcXVpcmUgZ3RrKzMuaW5jCi0KLU1BSl9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKLQotU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvZ25vbWUvc291cmNlcy9ndGsrLyR7TUFKX1ZFUn0vZ3RrKy0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1IYXJkY29kZWQtbGlidG9vbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLURvLW5vdC10cnktdG8taW5pdGlhbGl6ZS1HTC13aXRob3V0LWxpYkdMLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtQWRkLWRpc2FibGUtb3BlbmdsLWNvbmZpZ3VyZS1vcHRpb24ucGF0Y2ggXAotICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI2MWU2MGRjMDczZTBhNjg5M2M3MjA0M2QyMDU3OWRjMCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJhMWE0YTVjMTI3MDNkNGUxY2NkYTI4MzMzYjg3ZmY0NjI3NDFkYzM2NTEzMWZiYzk0YzIxOGFlODFkOWE2NTY3IgotCi1TID0gIiR7V09SS0RJUn0vZ3RrKy0ke1BWfSIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3RrL2d0ay5oO2VuZGxpbmU9MjU7bWQ1PTFkOGRjMGZjY2RiZmEyNjI4N2EyNzFkY2U4OGFmNzM3IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dkay9nZGsuaDtlbmRsaW5lPTI1O21kNT1jOTIwY2UzOWRjODhjNmYwNmQzZTdjNTBlMDgwODZmMiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly90ZXN0cy90ZXN0Z3RrLmM7ZW5kbGluZT0yNTttZDU9Y2I3MzJkYWVlMWQ4MmFmN2EyYmY5NTNjZjNjZjI2ZjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszXzMuMjQuNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzNfMy4yNC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyYzlhM2UKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszXzMuMjQuNS5iYgpAQCAtMCwwICsxLDE5IEBACityZXF1aXJlIGd0ayszLmluYworCitNQUpfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL2dub21lL3NvdXJjZXMvZ3RrKy8ke01BSl9WRVJ9L2d0aystJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtSGFyZGNvZGVkLWxpYnRvb2wucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1Eby1ub3QtdHJ5LXRvLWluaXRpYWxpemUtR0wtd2l0aG91dC1saWJHTC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLUFkZC1kaXNhYmxlLW9wZW5nbC1jb25maWd1cmUtb3B0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2xpbmtfZnJpYmlkaS5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjMyODYyMzU1YzA4ZjZhZjNlNzg0OGM2OTVjZDQwODFiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBiZTVmYjBkMzAyYmMzZGUyNmFiNThjMzI5OTBkODk1ODMxZTJiN2M3NDE4ZDBmZmVhMTIwNmQ2YTNkZGIwMmYiCisKK1MgPSAiJHtXT1JLRElSfS9ndGsrLSR7UFZ9IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ndGsvZ3RrLmg7ZW5kbGluZT0yNTttZDU9MWQ4ZGMwZmNjZGJmYTI2Mjg3YTI3MWRjZTg4YWY3MzcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ2RrL2dkay5oO2VuZGxpbmU9MjU7bWQ1PWM5MjBjZTM5ZGM4OGM2ZjA2ZDNlN2M1MGUwODA4NmYyIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3Rlc3RzL3Rlc3RndGsuYztlbmRsaW5lPTI1O21kNT1jYjczMmRhZWUxZDgyYWY3YTJiZjk1M2NmM2NmMjZmMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrK18yLjI0LjMyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrXzIuMjQuMzIuYmIKaW5kZXggODlmY2E3My4uNjgyZDMxZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrXzIuMjQuMzIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrXzIuMjQuMzIuYmIKQEAgLTI3LDggKzI3LDggQEAKICAgICBpbW1vZHVsZXNfcm9vdCA9IG9zLnBhdGguam9pbihndGtfbGliZGlyLCAnaW1tb2R1bGVzJykKICAgICBwcmludG1vZHVsZXNfcm9vdCA9IG9zLnBhdGguam9pbihndGtfbGliZGlyLCAncHJpbnRiYWNrZW5kcycpOwogCi0gICAgZC5zZXRWYXIoJ0dUS0lNTU9EVUxFU19QQUNLQUdFUycsICcgJy5qb2luKGRvX3NwbGl0X3BhY2thZ2VzKGQsIGltbW9kdWxlc19yb290LCAnXmltLSguKilcLnNvJCcsICdndGstaW1tb2R1bGUtJXMnLCAnR1RLIGlucHV0IG1vZHVsZSBmb3IgJXMnKSkpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcHJpbnRtb2R1bGVzX3Jvb3QsICdebGlicHJpbnRiYWNrZW5kLSguKilcLnNvJCcsICdndGstcHJpbnRiYWNrZW5kLSVzJywgJ0dUSyBwcmludGJhY2tlbmQgbW9kdWxlIGZvciAlcycpCisgICAgZC5zZXRWYXIoJ0dUS0lNTU9EVUxFU19QQUNLQUdFUycsICcgJy5qb2luKGRvX3NwbGl0X3BhY2thZ2VzKGQsIGltbW9kdWxlc19yb290LCByJ15pbS0oLiopXC5zbyQnLCAnZ3RrLWltbW9kdWxlLSVzJywgJ0dUSyBpbnB1dCBtb2R1bGUgZm9yICVzJykpKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHByaW50bW9kdWxlc19yb290LCByJ15saWJwcmludGJhY2tlbmQtKC4qKVwuc28kJywgJ2d0ay1wcmludGJhY2tlbmQtJXMnLCAnR1RLIHByaW50YmFja2VuZCBtb2R1bGUgZm9yICVzJykKIAogICAgIGlmIChkLmdldFZhcignREVCSUFOX05BTUVTJykpOgogICAgICAgICBkLnNldFZhcihkLmV4cGFuZCgnUEtHXyR7UE59JyksICcke01MUFJFRklYfWxpYmd0ay0yLjAnKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGstaWNvbi11dGlscy1uYXRpdmVfMy4yMi4zMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrLWljb24tdXRpbHMtbmF0aXZlXzMuMjIuMzAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4ZTdhMzEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGstaWNvbi11dGlscy1uYXRpdmVfMy4yMi4zMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDYzICswLDAgQEAKLVNVTU1BUlkgPSAiTmF0aXZlIGljb24gdXRpbHMgZm9yIEdUSysiCi1ERVNDUklQVElPTiA9ICJndGstdXBkYXRlLWljb24tY2FjaGUgYW5kIGd0ay1lbmNvZGUtc3ltYm9saWMtc3ZnIGJ1aWx0IGZyb20gR1RLKyBuYXRpdmVseSwgZm9yIGJ1aWxkIHRpbWUgYW5kIG9uLWhvc3QgcG9zdGluc3Qgc2NyaXB0IGV4ZWN1dGlvbi4iCi1TRUNUSU9OID0gImxpYnMiCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAtbmF0aXZlIGdkay1waXhidWYtbmF0aXZlIGxpYnJzdmctbmF0aXZlIgotCi1MSUNFTlNFID0gIkxHUEx2MiAmIExHUEx2MisgJiBMR1BMdjIuMSsiCi0KLU1BSl9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKLQotU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvZ25vbWUvc291cmNlcy9ndGsrLyR7TUFKX1ZFUn0vZ3RrKy0ke1BWfS50YXIueHogXAotICAgICAgICAgIGZpbGU6Ly9SZW1vdmUtR2RrLWRlcGVuZGVuY3ktZnJvbS1ndGstZW5jb2RlLXN5bWJvbGljLXN2Zy5wYXRjaCIKLVNSQ19VUklbbWQ1c3VtXSA9ICI2MWU2MGRjMDczZTBhNjg5M2M3MjA0M2QyMDU3OWRjMCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJhMWE0YTVjMTI3MDNkNGUxY2NkYTI4MzMzYjg3ZmY0NjI3NDFkYzM2NTEzMWZiYzk0YzIxOGFlODFkOWE2NTY3IgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ndGsvZ3RrLmg7ZW5kbGluZT0yNTttZDU9MWQ4ZGMwZmNjZGJmYTI2Mjg3YTI3MWRjZTg4YWY3MzcgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ2RrL2dkay5oO2VuZGxpbmU9MjU7bWQ1PWM5MjBjZTM5ZGM4OGM2ZjA2ZDNlN2M1MGUwODA4NmYyIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3Rlc3RzL3Rlc3RndGsuYztlbmRsaW5lPTI1O21kNT1jYjczMmRhZWUxZDgyYWY3YTJiZjk1M2NmM2NmMjZmMSIKLQotUyA9ICIke1dPUktESVJ9L2d0aystJHtQVn0iCi0KLWluaGVyaXQgcGtnY29uZmlnIG5hdGl2ZQotCi0jIHZlcnNpb25zID49IDMuOTAgYXJlIGRldmVsb3BtZW50IHZlcnNpb25zLCBvdGhlcndpc2UgbGlrZSB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIlteXGRcLl0oP1A8cHZlcj4zXC4oWzEtOF0/WzAyNDY4XSkrKFwuXGQrKSspXC50YXIiCi0KLVBLR19DT05GSUdfRk9SX0JVSUxEID0gIiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wa2ctY29uZmlnLW5hdGl2ZSIKLQotZG9fY29uZmlndXJlKCkgewotCSMgUXVpdGUgdWdseSBidXQgZGVmaW5lcyBlbm91Z2ggdG8gY29tcGlsZSB0aGUgdG9vbHMuCi0JaWYgISB0ZXN0IC1mIGd0ay9jb25maWcuaDsgdGhlbgotCQllY2hvICIjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSBcImd0azMwXCIiID4+IGd0ay9jb25maWcuaAotCQllY2hvICIjZGVmaW5lIEhBVkVfVU5JU1REX0ggMSIgPj4gZ3RrL2NvbmZpZy5oCi0JCWVjaG8gIiNkZWZpbmUgSEFWRV9GVFdfSCAxIiA+PiBndGsvY29uZmlnLmgKLQlmaQotCWlmICEgdGVzdCAtZiBnZGsvY29uZmlnLmg7IHRoZW4KLQkJdG91Y2ggZ2RrL2NvbmZpZy5oCi0JZmkKLX0KLQotZG9fY29tcGlsZSgpIHsKLQkke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSBcCi0JCSR7U30vZ3RrL3VwZGF0ZWljb25jYWNoZS5jIFwKLQkJJCgke1BLR19DT05GSUdfRk9SX0JVSUxEfSAtLWNmbGFncyAtLWxpYnMgZ2RrLXBpeGJ1Zi0yLjApIFwKLQkJLW8gZ3RrLXVwZGF0ZS1pY29uLWNhY2hlCi0KLQkke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSBcCi0JCSR7U30vZ3RrL2VuY29kZXN5bWJvbGljLmMgXAotCQkkKCR7UEtHX0NPTkZJR19GT1JfQlVJTER9IC0tY2ZsYWdzIC0tbGlicyBnaW8tMi4wIGdkay1waXhidWYtMi4wKSBcCi0JCS1vIGd0ay1lbmNvZGUtc3ltYm9saWMtc3ZnCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0JaW5zdGFsbCAtbSAwNzU1ICR7Qn0vZ3RrLXVwZGF0ZS1pY29uLWNhY2hlICR7RH0ke2JpbmRpcn0KLQlpbnN0YWxsIC1tIDA3NTUgJHtCfS9ndGstZW5jb2RlLXN5bWJvbGljLXN2ZyAke0R9JHtiaW5kaXJ9Ci0KLQljcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9ndGstdXBkYXRlLWljb24tY2FjaGUgXAotCQlHREtfUElYQlVGX01PRFVMRV9GSUxFPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9nZGstcGl4YnVmLTIuMC8yLjEwLjAvbG9hZGVycy5jYWNoZQotCWNyZWF0ZV93cmFwcGVyICR7RH0vJHtiaW5kaXJ9L2d0ay1lbmNvZGUtc3ltYm9saWMtc3ZnIFwKLQkJR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvMi4xMC4wL2xvYWRlcnMuY2FjaGUKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrLWljb24tdXRpbHMvUmVtb3ZlLUdkay1kZXBlbmRlbmN5LWZyb20tZ3RrLWVuY29kZS1zeW1ib2xpYy1zdmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ay1pY29uLXV0aWxzL1JlbW92ZS1HZGstZGVwZW5kZW5jeS1mcm9tLWd0ay1lbmNvZGUtc3ltYm9saWMtc3ZnLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMzdmODAzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrLWljb24tdXRpbHMvUmVtb3ZlLUdkay1kZXBlbmRlbmN5LWZyb20tZ3RrLWVuY29kZS1zeW1ib2xpYy1zdmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDIgKzAsMCBAQAotRnJvbSA0ZDA5ZmYzMjQ0MTlmZTRlNjcxMjMzMDQ0ZTQyNDM3OGRhNTM5NjliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KLURhdGU6IFR1ZSwgOSBKdW4gMjAxNSAxNDoyMDozMCArMDMwMAotU3ViamVjdDogW1BBVENIXSBSZW1vdmUgR2RrLWRlcGVuZGVuY3kgZnJvbSBndGstZW5jb2RlLXN5bWJvbGljLXN2ZwotCi1CdWlsZGluZyBndGstZW5jb2RlLXN5bWJvbGljLXN2ZyB3aXRob3V0IGJ1aWxkaW5nIEdkayBpcyB1c2VmdWwKLWFzIG9ubHkgdGhlIGljb24gdG9vbHMgYXJlIG5lZWRlZCBvbiB0aGUgbmF0aXZlIGJ1aWxkOiB0aGlzIG1ha2VzCi1uYXRpdmUgYnVpbGQgbXVjaCBmYXN0ZXIgYW5kIHJlcXVpcmVzIG11Y2ggbGVzcyBkZXBlbmRlbmNpZXMuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBKdXNzaSBLdWtrb25lbiA8anVzc2kua3Vra29uZW5AaW50ZWwuY29tPgotLS0tCi0gZ3RrL2VuY29kZXN5bWJvbGljLmMgfCAzNiArKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9ndGsvZW5jb2Rlc3ltYm9saWMuYyBiL2d0ay9lbmNvZGVzeW1ib2xpYy5jCi1pbmRleCA5ZjdkMDE1Li4xZjA3NTYzIDEwMDY0NAotLS0tIGEvZ3RrL2VuY29kZXN5bWJvbGljLmMKLSsrKyBiL2d0ay9lbmNvZGVzeW1ib2xpYy5jCi1AQCAtMTksNyArMTksNiBAQAotIAotICNpbmNsdWRlIDxnbGliLmg+Ci0gI2luY2x1ZGUgPGdkay1waXhidWYvZ2RrLXBpeGRhdGEuaD4KLS0jaW5jbHVkZSA8Z2RrL2dkay5oPgotICNpbmNsdWRlIDxnbGliL2dpMThuLmg+Ci0gCi0gI2lmZGVmIEhBVkVfVU5JU1REX0gKLUBAIC00MywzMCArNDIsMTggQEAgc3RhdGljIEdka1BpeGJ1ZiAqCi0gbG9hZF9zeW1ib2xpY19zdmcgKGNoYXIgKmZpbGVfZGF0YSwgZ3NpemUgZmlsZV9sZW4sCi0gICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCwKLS0gICAgICAgICAgICAgICAgICAgY29uc3QgR2RrUkdCQSAgKmZnLAotLSAgICAgICAgICAgICAgICAgICBjb25zdCBHZGtSR0JBICAqc3VjY2Vzc19jb2xvciwKLS0gICAgICAgICAgICAgICAgICAgY29uc3QgR2RrUkdCQSAgKndhcm5pbmdfY29sb3IsCi0tICAgICAgICAgICAgICAgICAgIGNvbnN0IEdka1JHQkEgICplcnJvcl9jb2xvciwKLSsgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqY3NzX2ZnLAotKyAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjc3Nfc3VjY2VzcywKLSsgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqY3NzX3dhcm5pbmcsCi0rICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNzc19lcnJvciwKLSAgICAgICAgICAgICAgICAgICAgR0Vycm9yICAgICAgICAqKmVycm9yKQotIHsKLSAgIEdJbnB1dFN0cmVhbSAqc3RyZWFtOwotICAgR2RrUGl4YnVmICpwaXhidWY7Ci0tICBnY2hhciAqY3NzX2ZnOwotLSAgZ2NoYXIgKmNzc19zdWNjZXNzOwotLSAgZ2NoYXIgKmNzc193YXJuaW5nOwotLSAgZ2NoYXIgKmNzc19lcnJvcjsKLSAgIGdjaGFyICpkYXRhOwotICAgZ2NoYXIgKnN2Z193aWR0aCwgKnN2Z19oZWlnaHQ7Ci0gICBnY2hhciAqZXNjYXBlZF9maWxlX2RhdGE7Ci0gCi0tICBjc3NfZmcgPSBnZGtfcmdiYV90b19zdHJpbmcgKGZnKTsKLS0KLS0gIGNzc19zdWNjZXNzID0gY3NzX3dhcm5pbmcgPSBjc3NfZXJyb3IgPSBOVUxMOwotLQotLSAgY3NzX3dhcm5pbmcgPSBnZGtfcmdiYV90b19zdHJpbmcgKHdhcm5pbmdfY29sb3IpOwotLSAgY3NzX2Vycm9yID0gZ2RrX3JnYmFfdG9fc3RyaW5nIChlcnJvcl9jb2xvcik7Ci0tICBjc3Nfc3VjY2VzcyA9IGdka19yZ2JhX3RvX3N0cmluZyAoc3VjY2Vzc19jb2xvcik7Ci0tCi0gICAvKiBGZXRjaCBzaXplIGZyb20gdGhlIG9yaWdpbmFsIGljb24gKi8KLSAgIHN0cmVhbSA9IGdfbWVtb3J5X2lucHV0X3N0cmVhbV9uZXdfZnJvbV9kYXRhIChmaWxlX2RhdGEsIGZpbGVfbGVuLCBOVUxMKTsKLSAgIHBpeGJ1ZiA9IGdka19waXhidWZfbmV3X2Zyb21fc3RyZWFtIChzdHJlYW0sIE5VTEwsIGVycm9yKTsKLUBAIC0xMDUsMTAgKzkyLDYgQEAgbG9hZF9zeW1ib2xpY19zdmcgKGNoYXIgKmZpbGVfZGF0YSwgZ3NpemUgZmlsZV9sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICI8L3N2Zz4iLAotICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKLSAgIGdfZnJlZSAoZXNjYXBlZF9maWxlX2RhdGEpOwotLSAgZ19mcmVlIChjc3NfZmcpOwotLSAgZ19mcmVlIChjc3Nfd2FybmluZyk7Ci0tICBnX2ZyZWUgKGNzc19lcnJvcik7Ci0tICBnX2ZyZWUgKGNzc19zdWNjZXNzKTsKLSAgIGdfZnJlZSAoc3ZnX3dpZHRoKTsKLSAgIGdfZnJlZSAoc3ZnX2hlaWdodCk7Ci0gCi1AQCAtMTY3LDcgKzE1MCw4IEBAIG1ha2Vfc3ltYm9saWNfcGl4YnVmIChjaGFyICpmaWxlLAotICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAgICoqZXJyb3IpCi0gCi0gewotLSAgR2RrUkdCQSByID0geyAxLDAsMCwxfSwgZyA9IHswLDEsMCwxfTsKLSsgIGNvbnN0IGNoYXIgcltdID0gInJnYmEoMjU1LDAsMCwxKSI7Ci0rICBjb25zdCBjaGFyIGdbXSA9ICJyZ2JhKDAsMjU1LDAsMSkiOwotICAgR2RrUGl4YnVmICpsb2FkZWQ7Ci0gICBHZGtQaXhidWYgKnBpeGJ1ZjsKLSAgIGludCBwbGFuZTsKLUBAIC0xOTYsMTAgKzE4MCwxMCBAQCBtYWtlX3N5bWJvbGljX3BpeGJ1ZiAoY2hhciAqZmlsZSwKLSAgICAgICAgKiB0aGUgInJlc3QiLCBhcyBhbGwgY29sb3IgZnJhY3Rpb25zIHNob3VsZCBhZGQgdXAgdG8gMS4KLSAgICAgICAgKi8KLSAgICAgICBsb2FkZWQgPSBsb2FkX3N5bWJvbGljX3N2ZyAoZmlsZV9kYXRhLCBmaWxlX2xlbiwgd2lkdGgsIGhlaWdodCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmcsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYW5lID09IDAgPyAmciA6ICZnLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFuZSA9PSAxID8gJnIgOiAmZywKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhbmUgPT0gMiA/ICZyIDogJmcsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYW5lID09IDAgPyByIDogZywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhbmUgPT0gMSA/IHIgOiBnLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFuZSA9PSAyID8gciA6IGcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yKTsKLSAgICAgICBpZiAobG9hZGVkID09IE5VTEwpCi0gICAgICAgICByZXR1cm4gTlVMTDsKLS0tIAotMi4xLjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvaGljb2xvci1pY29uLXRoZW1lL2hpY29sb3ItaWNvbi10aGVtZV8wLjE3LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvaGljb2xvci1pY29uLXRoZW1lL2hpY29sb3ItaWNvbi10aGVtZV8wLjE3LmJiCmluZGV4IDcwNjRiMTkuLmZiODAzMzQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2hpY29sb3ItaWNvbi10aGVtZS9oaWNvbG9yLWljb24tdGhlbWVfMC4xNy5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9oaWNvbG9yLWljb24tdGhlbWUvaGljb2xvci1pY29uLXRoZW1lXzAuMTcuYmIKQEAgLTEyLDMgKzEyLDUgQEAKIGluaGVyaXQgYWxsYXJjaCBhdXRvdG9vbHMKIAogRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vaWNvbnMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2pzb24tZ2xpYi9qc29uLWdsaWIvcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvanNvbi1nbGliL2pzb24tZ2xpYi9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM2Mzk4YQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2pzb24tZ2xpYi9qc29uLWdsaWIvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMyBAQAorIyEgL2Jpbi9zaAorCitnbm9tZS1kZXNrdG9wLXRlc3RpbmctcnVubmVyIGpzb24tZ2xpYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvanNvbi1nbGliL2pzb24tZ2xpYl8xLjQuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2pzb24tZ2xpYi9qc29uLWdsaWJfMS40LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5ZmUzY2MuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvanNvbi1nbGliL2pzb24tZ2xpYl8xLjQuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLVNVTU1BUlkgPSAiSlNPTi1HTGliIGltcGxlbWVudHMgYSBmdWxsIEpTT04gcGFyc2VyIHVzaW5nIEdMaWIgYW5kIEdPYmplY3QiCi1ERVNDUklQVElPTiA9ICJVc2UgSlNPTi1HTGliIGl0IGlzIHBvc3NpYmxlIHRvIHBhcnNlIGFuZCBnZW5lcmF0ZSB2YWxpZCBKU09OXAotIGRhdGEgc3RydWN0dXJlcywgdXNpbmcgYSBET00tbGlrZSBBUEkuIEpTT04tR0xpYiBhbHNvIG9mZmVycyBHT2JqZWN0IFwKLWludGVncmF0aW9uLCBwcm92aWRpbmcgdGhlIGFiaWxpdHkgdG8gc2VyaWFsaXplIGFuZCBkZXNlcmlhbGl6ZSBHT2JqZWN0IFwKLWluc3RhbmNlcyB0byBhbmQgZnJvbSBKU09OIGRhdGEgdHlwZXMuIgotSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL0pzb25HbGliIgotCi1MSUNFTlNFID0gIkxHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAiCi0KLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjM1MTA3ZTIzYTdiYmJjNzBmMzFjMzRmN2I5YWRmMWMzIgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMmQ3NzA5YTQ0NzQ5YzczMTg1OTlhNjgyOTMyMmUwODE5MTViZGM3M2Y1YmU1MDQ1ODgyZWQxMjBiYjY4NmRjOCIKLQotR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKLWluaGVyaXQgZ25vbWViYXNlIGxpYl9wYWNrYWdlIGdvYmplY3QtaW50cm9zcGVjdGlvbiBndGstZG9jIGdldHRleHQKLQotIyBUaGlzIGJ1aWxkcyBib3RoIEFQSSBkb2NzICh2aWEgZ3RrLWRvYykgYW5kIG1hbnBhZ2VzCi1HVEtET0NfRU5BQkxFX0ZMQUcgPSAiLURkb2NzPXRydWUiCi1HVEtET0NfRElTQUJMRV9GTEFHID0gIi1EZG9jcz1mYWxzZSIKLQotR0lfRU5BQkxFX0ZMQUcgPSAiLURpbnRyb3NwZWN0aW9uPXRydWUiCi1HSV9ESVNBQkxFX0ZMQUcgPSAiLURpbnRyb3NwZWN0aW9uPWZhbHNlIgotCi1FWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJyR7R1RLRE9DX0VOQUJMRV9GTEFHfScsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dUS0RPQ19ESVNBQkxFX0ZMQUd9JywgZCl9ICIKLUVYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJyR7R0lfRU5BQkxFX0ZMQUd9JywgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R0lfRElTQUJMRV9GTEFHfScsIGQpfSAiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgICMgRklYTUU6IHRoZXNlIG5lZWQgdG8gYmUgcHJvdmlkZWQgdmlhIHB0ZXN0Ci0gICAgcm0gLXJmICR7RH0ke2RhdGFkaXJ9L2luc3RhbGxlZC10ZXN0cyAke0R9JHtsaWJleGVjZGlyfQotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLSMgQ3VycmVudGx5IGl0J3Mgbm90IHBvc3NpYmxlIHRvIGRpc2FibGUgZ2V0dGV4dCBpbiBNZXNvbiwgc28gd2UgbmVlZCB0byBmb3JjZQotIyB0aGlzIGJhY2sgb24uCi1VU0VfTkxTX2NsYXNzLW5hdGl2ZSA9ICJ5ZXMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9qc29uLWdsaWIvanNvbi1nbGliXzEuNC40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvanNvbi1nbGliL2pzb24tZ2xpYl8xLjQuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NWY5MDU2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvanNvbi1nbGliL2pzb24tZ2xpYl8xLjQuNC5iYgpAQCAtMCwwICsxLDQ0IEBACitTVU1NQVJZID0gIkpTT04tR0xpYiBpbXBsZW1lbnRzIGEgZnVsbCBKU09OIHBhcnNlciB1c2luZyBHTGliIGFuZCBHT2JqZWN0IgorREVTQ1JJUFRJT04gPSAiVXNlIEpTT04tR0xpYiBpdCBpcyBwb3NzaWJsZSB0byBwYXJzZSBhbmQgZ2VuZXJhdGUgdmFsaWQgSlNPTlwKKyBkYXRhIHN0cnVjdHVyZXMsIHVzaW5nIGEgRE9NLWxpa2UgQVBJLiBKU09OLUdMaWIgYWxzbyBvZmZlcnMgR09iamVjdCBcCitpbnRlZ3JhdGlvbiwgcHJvdmlkaW5nIHRoZSBhYmlsaXR5IHRvIHNlcmlhbGl6ZSBhbmQgZGVzZXJpYWxpemUgR09iamVjdCBcCitpbnN0YW5jZXMgdG8gYW5kIGZyb20gSlNPTiBkYXRhIHR5cGVzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9saXZlLmdub21lLm9yZy9Kc29uR2xpYiIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IgorCitERVBFTkRTID0gImdsaWItMi4wIgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgoraW5oZXJpdCBnbm9tZWJhc2UgbGliX3BhY2thZ2UgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGd0ay1kb2MgZ2V0dGV4dCBwdGVzdC1nbm9tZSBtYW5wYWdlcworCitTUkNfVVJJICs9ICJmaWxlOi8vcnVuLXB0ZXN0IgorU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNGQ0YmI5ODM3ZjZkMzFlMzJkMGNlNjU4YWUxMzVmNjgiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI3MjBjNWY0Mzc5NTEzZGMxMWZkOTdkYzc1MzM2ZWIwYzBkMzMzOGM1MzEyODA0NGQ5ZmFiZWM0Mzc0ZjRiYzQ3IgorCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItRG1hbj10cnVlLC1EbWFuPWZhbHNlLGxpYnhzbHQtbmF0aXZlIHhtbHRvLW5hdGl2ZSIKKworIyBUaGlzIGJ1aWxkcyBib3RoIEFQSSBkb2NzICh2aWEgZ3RrLWRvYykKK0dUS0RPQ19FTkFCTEVfRkxBRyA9ICItRGRvY3M9dHJ1ZSIKK0dUS0RPQ19ESVNBQkxFX0ZMQUcgPSAiLURkb2NzPWZhbHNlIgorCitHSV9FTkFCTEVfRkxBRyA9ICItRGludHJvc3BlY3Rpb249dHJ1ZSIKK0dJX0RJU0FCTEVfRkxBRyA9ICItRGludHJvc3BlY3Rpb249ZmFsc2UiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dUS0RPQ19FTkFCTEVEJywgJ1RydWUnLCAnJHtHVEtET0NfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R1RLRE9DX0RJU0FCTEVfRkxBR30nLCBkKX0gIgorRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnJHtHSV9FTkFCTEVfRkxBR30nLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHSV9ESVNBQkxFX0ZMQUd9JywgZCl9ICIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJaWYgISAke0BiYi51dGlscy5jb250YWlucygnUFRFU1RfRU5BQkxFRCcsICcxJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKwkJcm0gLXJmICR7RH0ke2RhdGFkaXJ9L2luc3RhbGxlZC10ZXN0cyAke0R9JHtsaWJleGVjZGlyfQorCWZpCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworIyBDdXJyZW50bHkgaXQncyBub3QgcG9zc2libGUgdG8gZGlzYWJsZSBnZXR0ZXh0IGluIE1lc29uLCBzbyB3ZSBuZWVkIHRvIGZvcmNlCisjIHRoaXMgYmFjayBvbi4KK1VTRV9OTFNfY2xhc3MtbmF0aXZlID0gInllcyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYmRhenpsZS9saWJkYXp6bGUvMDAwMS1BZGQtYS1kZWZpbmUtc28tdGhhdC1naXItY29tcGlsYXRpb24tc3VjY2VlZHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9saWJkYXp6bGUvbGliZGF6emxlLzAwMDEtQWRkLWEtZGVmaW5lLXNvLXRoYXQtZ2lyLWNvbXBpbGF0aW9uLXN1Y2NlZWRzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NTlkNDMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9saWJkYXp6bGUvbGliZGF6emxlLzAwMDEtQWRkLWEtZGVmaW5lLXNvLXRoYXQtZ2lyLWNvbXBpbGF0aW9uLXN1Y2NlZWRzLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gNTQ2ZDUzYzM1MTVlOGE0ODhhMjA0NzYzNDM3ZDFmYTA5MTcwOTdlNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVHVlLCAxMSBEZWMgMjAxOCAxMjozOTozMCArMDEwMAorU3ViamVjdDogW1BBVENIXSBBZGQgYSBkZWZpbmUgc28gdGhhdCBnaXIgY29tcGlsYXRpb24gc3VjY2VlZHMKKworRm9yIHNvbWUgcmVhc29uIG1lc29uIDAuNDkuMCBkb2VzIG5vdCBhbnltb3JlIHBhc3MgZ2xvYmFsIGFyZ3VtZW50cyB0byBnaXIgY29tcGlsZXIuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBzcmMvbWVzb24uYnVpbGQgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbWVzb24uYnVpbGQgYi9zcmMvbWVzb24uYnVpbGQKK2luZGV4IDZmZjhhNmEuLmYwYjI4ODcgMTAwNjQ0CistLS0gYS9zcmMvbWVzb24uYnVpbGQKKysrKyBiL3NyYy9tZXNvbi5idWlsZAorQEAgLTEzMiw3ICsxMzIsNyBAQCBpZiBnZXRfb3B0aW9uKCd3aXRoX2ludHJvc3BlY3Rpb24nKQorICAgICAgICAgaW5zdGFsbF9kaXJfZ2lyOiBnaXJkaXIsCisgICAgIGluc3RhbGxfZGlyX3R5cGVsaWI6IHR5cGVsaWJkaXIsCisgICAgICAgICBleHBvcnRfcGFja2FnZXM6IGxpYmRhenpsZV9wYWNrYWdlLAorLSAgICAgICAgICAgICBleHRyYV9hcmdzOiBbICctLWMtaW5jbHVkZT1kYXp6bGUuaCcsICctLXF1aWV0JyBdLAorKyAgICAgICAgICAgICBleHRyYV9hcmdzOiBbICctLWMtaW5jbHVkZT1kYXp6bGUuaCcsICctLXF1aWV0JywgJy1EREFaWkxFX0NPTVBJTEFUSU9OJyBdLAorICAgKQorIAorICAgaWYgZ2V0X29wdGlvbignd2l0aF92YXBpJykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYmRhenpsZS9saWJkYXp6bGVfMy4zMC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvbGliZGF6emxlL2xpYmRhenpsZV8zLjMwLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzc3OWIxNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYmRhenpsZS9saWJkYXp6bGVfMy4zMC4yLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiVGhlIGxpYmRhenpsZSBsaWJyYXJ5IGlzIGEgY29tcGFuaW9uIGxpYnJhcnkgdG8gR09iamVjdCBhbmQgR3RrKy4iCitMSUNFTlNFID0gIkdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThmMGUyY2Q0MGUwNTE4OWVjODEyMzJkYTg0YmQ2ZTFhIgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgoraW5oZXJpdCBnbm9tZWJhc2UgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIHZhbGEgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitERVBFTkRTID0gImdsaWItMi4wLW5hdGl2ZSBnbGliLTIuMCBndGsrMyIKKworU1JDX1VSSSArPSAiIGZpbGU6Ly8wMDAxLUFkZC1hLWRlZmluZS1zby10aGF0LWdpci1jb21waWxhdGlvbi1zdWNjZWVkcy5wYXRjaCIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjI0ZTJlMWI5MTRhMzRmNWI4ODY4YTk1MDdkMWYzYzRjIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNzg3NzBlYWU5ZmExNWFjNWFjYjljNzMzZDI5NDU5MzMwYjI1NDBhZmZiZjcyOTMzMTE5ZTM2ZGJkOTBiMzZkNSIKKworR0lfRU5BQkxFX0ZMQUcgPSAiLUR3aXRoX2ludHJvc3BlY3Rpb249dHJ1ZSIKK0dJX0RJU0FCTEVfRkxBRyA9ICItRHdpdGhfaW50cm9zcGVjdGlvbj1mYWxzZSIKKworQU5ZX09GX0RJU1RST19GRUFUVVJFUyA9ICIke0dUSzNESVNUUk9GRUFUVVJFU30iCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJyR7R0lfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R0lfRElTQUJMRV9GTEFHfScsIGQpfSAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9saWJzZWNyZXQvbGlic2VjcmV0XzAuMTguNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYnNlY3JldC9saWJzZWNyZXRfMC4xOC42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MThjNzFmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYnNlY3JldC9saWJzZWNyZXRfMC4xOC42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotU1VNTUFSWSA9ICJsaWJzZWNyZXQgaXMgYSBsaWJyYXJ5IGZvciBzdG9yaW5nIGFuZCByZXRyaWV2aW5nIHBhc3N3b3JkcyBhbmQgb3RoZXIgc2VjcmV0cyIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yM2MyYTVlMDEwNmI5OWQ3NTIzODk4NjU1OWJiNWZjNiIKLQotaW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWRvYyB2YWxhIGdvYmplY3QtaW50cm9zcGVjdGlvbiBtYW5wYWdlcwotCi1ERVBFTkRTICs9ICJnbGliLTIuMCBsaWJnY3J5cHQgZ2V0dGV4dC1uYXRpdmUgaW50bHRvb2wtbmF0aXZlIgotCi1QQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1tYW5wYWdlcywgLS1kaXNhYmxlLW1hbnBhZ2VzLCBsaWJ4c2x0LW5hdGl2ZSB4bWx0by1uYXRpdmUiCi0KLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImM2Y2YxMzJhNTZiZDM0NmZiZjQ5YTQzYWJiMDJlNWMyIgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNWVmYmM4OTBiYTQxYTMyM2ZmZTA1OTljZDI2MGZkMTJiZDhlYjYyYTA0YWExYmQxYjI3NjI1NzVkMjUzZDY2ZiIKLQotIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjAyMjgvCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NiA9ICJhcm0iCi0KLSMgdmFwaWdlbi5tNCBidW5kbGVkIHdpdGggdGhlIHRhcmJhbGwgZG9lcyBub3QgeWV0IGhhdmUgb3VyIGNyb3NzLWNvbXBpbGF0aW9uIGZpeGVzCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICBybSAtZiAke1N9L2J1aWxkL200L3ZhcGlnZW4ubTQKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYnNlY3JldC9saWJzZWNyZXRfMC4xOC43LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvbGlic2VjcmV0L2xpYnNlY3JldF8wLjE4LjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmEzOGQxMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYnNlY3JldC9saWJzZWNyZXRfMC4xOC43LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAibGlic2VjcmV0IGlzIGEgbGlicmFyeSBmb3Igc3RvcmluZyBhbmQgcmV0cmlldmluZyBwYXNzd29yZHMgYW5kIG90aGVyIHNlY3JldHMiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjNjMmE1ZTAxMDZiOTlkNzUyMzg5ODY1NTliYjVmYzYiCisKK2luaGVyaXQgZ25vbWViYXNlIGd0ay1kb2MgdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24gbWFucGFnZXMKKworREVQRU5EUyArPSAiZ2xpYi0yLjAgbGliZ2NyeXB0IGdldHRleHQtbmF0aXZlIgorCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1tYW5wYWdlcywgLS1kaXNhYmxlLW1hbnBhZ2VzLCBsaWJ4c2x0LW5hdGl2ZSB4bWx0by1uYXRpdmUiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjM3NjE1M2VjZTE3MDgxZWI1NDEwODcwZTBkYzVjMDMxIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMGQ2NmZlMWZjNDU2MWIzZTA0NmVlMjgxZDdjNWE3MDNhOWJhYWM4OGE4YzRmYjQyZWJjNzM5ZDMxZGFiZDQ4NyIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjAyMjgvCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NiA9ICJhcm0iCisKKyMgdmFwaWdlbi5tNCBidW5kbGVkIHdpdGggdGhlIHRhcmJhbGwgZG9lcyBub3QgeWV0IGhhdmUgb3VyIGNyb3NzLWNvbXBpbGF0aW9uIGZpeGVzCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBybSAtZiAke1N9L2J1aWxkL200L3ZhcGlnZW4ubTQKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvLzAwMDEtY2Fpcm8tRml4LUNWRS0yMDE3LTk4MTQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyby8wMDAxLWNhaXJvLUZpeC1DVkUtMjAxNy05ODE0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZDAyYWI5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvLzAwMDEtY2Fpcm8tRml4LUNWRS0yMDE3LTk4MTQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi1Gcm9tIDA0MjQyMWU5ZTNkMjY2YWQwYmI3ODA1MTMyMDQxZWY1MWFkMzIzNGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBZHJpYW4gSm9obnNvbiA8YWpvaG5zb25AcmVkbmVvbi5jb20+Ci1EYXRlOiBXZWQsIDE2IEF1ZyAyMDE3IDIyOjUyOjM1IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNhaXJvOiBGaXggQ1ZFLTIwMTctOTgxNAotCi1UaGUgYnVnIGhhcHBlbnMgYmVjYXVzZSBpbiBzb21lIHNjZW5hcmlvcyB0aGUgdmFyaWFibGUgc2l6ZSBjYW4KLWhhdmUgYSB2YWx1ZSBvZiAwIGF0IGxpbmUgMTI4OC4gQW5kIG1hbGxvYygwKSBpcyBub3QgcmV0dXJuaW5nCi1OVUxMIGFzIHNvbWUgcGVvcGxlIGNvdWxkIGV4cGVjdDoKLQotICAgIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzEwNzMxNTcvemVyby1zaXplLW1hbGxvYwotCi1tYWxsb2MoMCkgcmV0dXJucyB0aGUgc21hbGxlc3QgY2h1bmsgcG9zc2libGUuIFNvIHRoZSBsaW5lIDEyOTAKLXdpdGggdGhlIHJldHVybiBpcyBub3QgZXhlY3V0ZS4gQW5kIHRoZSBleGVjdXRpb24gY29udGludWVzIHdpdGgKLWFuIGludmFsaWQgbWFwLgotCi1TaW5jZSB0aGUgc2l6ZSBpcyAwIHRoZSB2YXJpYWJsZSBtYXAgaXMgbm90IGluaXRpYWxpemVkIGNvcnJlY3RseQotYXQgbG9hZF90cnV0eXBlX3RhYmxlLiBTbywgbGF0ZXIgd2hlbiB0aGUgdmFyaWFibGUgbWFwIGlzIGFjY2Vzc2VkCi1wcmV2aW91cyB2YWx1ZXMgZnJvbSBhIGZyZWVkIGNodW5rIGFyZSB1c2VkLiBUaGlzIGNvdWxkIGFsbG93cyBhbgotYXR0YWNrZXIgdG8gY29udHJvbCB0aGUgdmFyaWFibGUgbWFwLgotCi1UaGlzIHBhdGNoIGhhdmUgbm90IG1lcmdlIGluIHVwc3RyZWFtIG5vdy4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNTQ3XQotQ1ZFOiBDVkUtMjAxNy05ODE0Ci1TaWduZWQtb2ZmLWJ5OiBEZW5na2UgRHUgPGRlbmdrZS5kdUB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2NhaXJvLXRydWV0eXBlLXN1YnNldC5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NhaXJvLXRydWV0eXBlLXN1YnNldC5jIGIvc3JjL2NhaXJvLXRydWV0eXBlLXN1YnNldC5jCi1pbmRleCBlMzQ0OWEwLi5mNzdkMTFjIDEwMDY0NAotLS0tIGEvc3JjL2NhaXJvLXRydWV0eXBlLXN1YnNldC5jCi0rKysgYi9zcmMvY2Fpcm8tdHJ1ZXR5cGUtc3Vic2V0LmMKLUBAIC0xMjg1LDcgKzEyODUsNyBAQCBfY2Fpcm9fdHJ1ZXR5cGVfcmV2ZXJzZV9jbWFwIChjYWlyb19zY2FsZWRfZm9udF90ICpzY2FsZWRfZm9udCwKLSAJcmV0dXJuIENBSVJPX0lOVF9TVEFUVVNfVU5TVVBQT1JURUQ7Ci0gCi0gICAgIHNpemUgPSBiZTE2X3RvX2NwdSAobWFwLT5sZW5ndGgpOwotLSAgICBtYXAgPSBtYWxsb2MgKHNpemUpOwotKyAgICBtYXAgPSBfY2Fpcm9fbWFsbG9jIChzaXplKTsKLSAgICAgaWYgKHVubGlrZWx5IChtYXAgPT0gTlVMTCkpCi0gCXJldHVybiBfY2Fpcm9fZXJyb3IgKENBSVJPX1NUQVRVU19OT19NRU1PUlkpOwotIAotLS0gCi0yLjguMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyby9DVkUtMjAxOC0xOTg3Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvL0NWRS0yMDE4LTE5ODc2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyNTJhNTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyby9DVkUtMjAxOC0xOTg3Ni5wYXRjaApAQCAtMCwwICsxLDM0IEBACitDVkU6IENWRS0yMDE4LTE5ODc2CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDkwZTg1YzI0OTNmZGZhMzU1MWYyMDJmZjEwMjgyNDYzZjFlMzY2NDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDYXJsb3MgR2FyY2lhIENhbXBvcyA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorRGF0ZTogTW9uLCAxOSBOb3YgMjAxOCAxMjozMzowNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBmdDogVXNlIEZUX0RvbmVfTU1fVmFyIGluc3RlYWQgb2YgZnJlZSB3aGVuIGF2YWlsYWJsZSBpbgorIGNhaXJvX2Z0X2FwcGx5X3ZhcmlhdGlvbnMKKworRml4ZXMgYSBjcmFzaCB3aGVuIHVzaW5nIGZyZWV0eXBlID49IDIuOQorLS0tCisgc3JjL2NhaXJvLWZ0LWZvbnQuYyB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9jYWlyby1mdC1mb250LmMgYi9zcmMvY2Fpcm8tZnQtZm9udC5jCitpbmRleCAzMjVkZDYxYjQuLjk4MTk3M2Y3OCAxMDA2NDQKKy0tLSBhL3NyYy9jYWlyby1mdC1mb250LmMKKysrKyBiL3NyYy9jYWlyby1mdC1mb250LmMKK0BAIC0yMzkzLDcgKzIzOTMsMTEgQEAgc2tpcDoKKyBkb25lOgorICAgICAgICAgZnJlZSAoY29vcmRzKTsKKyAgICAgICAgIGZyZWUgKGN1cnJlbnRfY29vcmRzKTsKKysjaWYgSEFWRV9GVF9ET05FX01NX1ZBUgorKyAgICAgICAgRlRfRG9uZV9NTV9WYXIgKGZhY2UtPmdseXBoLT5saWJyYXJ5LCBmdF9tbV92YXIpOworKyNlbHNlCisgICAgICAgICBmcmVlIChmdF9tbV92YXIpOworKyNlbmRpZgorICAgICB9CisgfQorIAorLS0gCisyLjExLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm8vQ1ZFLTIwMTktNjQ2MS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvL0NWRS0yMDE5LTY0NjEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTIzMmNmNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvL0NWRS0yMDE5LTY0NjEucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorVGhlcmUgaXMgYSBwb3RlbnRpYWwgaW5maW5pdGUtbG9vcCBpbiBmdW5jdGlvbiBfYXJjX2Vycm9yX25vcm1hbGl6ZWQoKS4KKworQ1ZFOiBDVkUtMjAxOS02NDYxCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9zcmMvY2Fpcm8tYXJjLmMgYi9zcmMvY2Fpcm8tYXJjLmMKK2luZGV4IDM5MDM5N2JhZS4uZjkyNDlkYmViIDEwMDY0NAorLS0tIGEvc3JjL2NhaXJvLWFyYy5jCisrKysgYi9zcmMvY2Fpcm8tYXJjLmMKK0BAIC05OSw3ICs5OSw3IEBAIF9hcmNfbWF4X2FuZ2xlX2Zvcl90b2xlcmFuY2Vfbm9ybWFsaXplZCAoZG91YmxlIHRvbGVyYW5jZSkKKyAgICAgZG8geworIAlhbmdsZSA9IE1fUEkgLyBpKys7CisgCWVycm9yID0gX2FyY19lcnJvcl9ub3JtYWxpemVkIChhbmdsZSk7CistICAgIH0gd2hpbGUgKGVycm9yID4gdG9sZXJhbmNlKTsKKysgICAgfSB3aGlsZSAoZXJyb3IgPiB0b2xlcmFuY2UgJiYgZXJyb3IgPiBfX0RCTF9FUFNJTE9OX18pOworIAorICAgICByZXR1cm4gYW5nbGU7CisgfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm8vQ1ZFLTIwMTktNjQ2Mi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvL0NWRS0yMDE5LTY0NjIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGU0NTk4YwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvL0NWRS0yMDE5LTY0NjIucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorVGhlcmUgaXMgYW4gYXNzZXJ0aW9uIGluIGZ1bmN0aW9uIF9jYWlyb19hcmNfaW5fZGlyZWN0aW9uKCkuCisKK0NWRTogQ1ZFLTIwMTktNjQ2MgorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvc3JjL2NhaXJvLWFyYy5jIGIvc3JjL2NhaXJvLWFyYy5jCitpbmRleCAzOTAzOTdiYWUuLjFiZGU3NzRhNCAxMDA2NDQKKy0tLSBhL3NyYy9jYWlyby1hcmMuYworKysrIGIvc3JjL2NhaXJvLWFyYy5jCitAQCAtMTg2LDcgKzE4Niw4IEBAIF9jYWlyb19hcmNfaW5fZGlyZWN0aW9uIChjYWlyb190CSAgKmNyLAorICAgICBpZiAoY2Fpcm9fc3RhdHVzIChjcikpCisgICAgICAgICByZXR1cm47CisgCistICAgIGFzc2VydCAoYW5nbGVfbWF4ID49IGFuZ2xlX21pbik7CisrICAgIGlmIChhbmdsZV9tYXggPCBhbmdsZV9taW4pCisrICAgICAgIHJldHVybjsKKyAKKyAgICAgaWYgKGFuZ2xlX21heCAtIGFuZ2xlX21pbiA+IDIgKiBNX1BJICogTUFYX0ZVTExfQ0lSQ0xFUykgeworIAlhbmdsZV9tYXggPSBmbW9kIChhbmdsZV9tYXggLSBhbmdsZV9taW4sIDIgKiBNX1BJKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvXzEuMTQuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyb18xLjE0LjEyLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOGI5NDc5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvXzEuMTQuMTIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi1TVU1NQVJZID0gIlRoZSBDYWlybyAyRCB2ZWN0b3IgZ3JhcGhpY3MgbGlicmFyeSIKLURFU0NSSVBUSU9OID0gIkNhaXJvIGlzIGEgbXVsdGktcGxhdGZvcm0gbGlicmFyeSBwcm92aWRpbmcgYW50aS1hbGlhc2VkIFwKLXZlY3Rvci1iYXNlZCByZW5kZXJpbmcgZm9yIG11bHRpcGxlIHRhcmdldCBiYWNrZW5kcy4gUGF0aHMgY29uc2lzdCBcCi1vZiBsaW5lIHNlZ21lbnRzIGFuZCBjdWJpYyBzcGxpbmVzIGFuZCBjYW4gYmUgcmVuZGVyZWQgYXQgYW55IHdpZHRoIFwKLXdpdGggdmFyaW91cyBqb2luIGFuZCBjYXAgc3R5bGVzLiBBbGwgY29sb3JzIG1heSBiZSBzcGVjaWZpZWQgd2l0aCBcCi1vcHRpb25hbCB0cmFuc2x1Y2VuY2UgKG9wYWNpdHkvYWxwaGEpIGFuZCBjb21iaW5lZCB1c2luZyB0aGUgXAotZXh0ZW5kZWQgUG9ydGVyL0R1ZmYgY29tcG9zaXRpbmcgYWxnZWJyYSBhcyBmb3VuZCBpbiB0aGUgWCBSZW5kZXIgXAotRXh0ZW5zaW9uLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnIgotU0VDVElPTiA9ICJsaWJzIgotCi1MSUNFTlNFID0gIk1QTC0xICYgTEdQTHYyLjEgJiBHUEx2MysiCi1MSUNFTlNFXyR7UE59ID0gIk1QTC0xICYgTEdQTHYyLjEiCi1MSUNFTlNFXyR7UE59LWRldiA9ICJNUEwtMSAmIExHUEx2Mi4xIgotTElDRU5TRV8ke1BOfS1kb2MgPSAiTVBMLTEgJiBMR1BMdjIuMSIKLUxJQ0VOU0VfJHtQTn0tZ29iamVjdCA9ICJNUEwtMSAmIExHUEx2Mi4xIgotTElDRU5TRV8ke1BOfS1zY3JpcHQtaW50ZXJwcmV0ZXIgPSAiTVBMLTEgJiBMR1BMdjIuMSIKLUxJQ0VOU0VfJHtQTn0tcGVyZi11dGlscyA9ICJHUEx2MysiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU3M2U5OTllMGM3MmI1YWM5MDEyNDI0ZmExNTdhZDc3IgotCi1ERVBFTkRTID0gImZvbnRjb25maWcgZ2xpYi0yLjAgbGlicG5nIHBpeG1hbiB6bGliIgotCi1TUkNfVVJJID0gImh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZy9yZWxlYXNlcy9jYWlyby0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vY2Fpcm8tZ2V0X2JpdG1hcF9zdXJmYWNlLWJzYzEwMzY3ODktQ1ZFLTIwMTctNzQ3NS5kaWZmIFwgCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNhaXJvLUZpeC1DVkUtMjAxNy05ODE0LnBhdGNoIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5ZjBkYjlkYmZjYTA5NjZiZThhY2Q2ODJlNjM2ZDE2NSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4YzkwZjAwYzUwMGIyMjk5YzBhMzIzZGQ5YmVlYWQyYTAwMzUzNzUyYjIwOTJlYWQ1NTgxMzliZDY3ZjdiZjE2IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGd0ay1kb2MgbXVsdGlsaWJfc2NyaXB0Ci0KLU1VTFRJTElCX1NDUklQVFMgPSAiJHtQTn0tcGVyZi11dGlsczoke2JpbmRpcn0vY2Fpcm8tdHJhY2UiCi0KLVgxMURFUEVORFMgPSAidmlydHVhbC9saWJ4MTEgbGlic20gbGlieHJlbmRlciBsaWJ4ZXh0IgotCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnZGlyZWN0ZmInLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMSB4Y2InLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMSBvcGVuZ2wnLCAnb3BlbmdsJywgJycsIGQpfSIKLQotUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14PXllcyAtZW5hYmxlLXhsaWIsLS13aXRoLXg9bm8gLS1kaXNhYmxlLXhsaWIsJHtYMTFERVBFTkRTfSIKLVBBQ0tBR0VDT05GSUdbeGNiXSA9ICItLWVuYWJsZS14Y2IsLS1kaXNhYmxlLXhjYixsaWJ4Y2IiCi1QQUNLQUdFQ09ORklHW2RpcmVjdGZiXSA9ICItLWVuYWJsZS1kaXJlY3RmYj15ZXMsLGRpcmVjdGZiIgotUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLS1lbmFibGUtdmFsZ3JpbmQ9eWVzLC0tZGlzYWJsZS12YWxncmluZCx2YWxncmluZCIKLVBBQ0tBR0VDT05GSUdbZWdsXSA9ICItLWVuYWJsZS1lZ2w9eWVzLC0tZGlzYWJsZS1lZ2wsdmlydHVhbC9lZ2wiCi1QQUNLQUdFQ09ORklHW2dsZXN2Ml0gPSAiLS1lbmFibGUtZ2xlc3YyLC0tZGlzYWJsZS1nbGVzdjIsdmlydHVhbC9saWJnbGVzMiIKLVBBQ0tBR0VDT05GSUdbb3BlbmdsXSA9ICItLWVuYWJsZS1nbCwtLWRpc2FibGUtZ2wsdmlydHVhbC9saWJnbCIKLQotRVhUUkFfT0VDT05GICs9ICIgXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUQVJHRVRfRlBVJywgJ3NvZnQnLCAnLS1kaXNhYmxlLXNvbWUtZmxvYXRpbmctcG9pbnQnLCAnJywgZCl9IFwKLSAgICAtLWVuYWJsZS10ZWUgXAotIgotCi0jIFdlIGRvbid0IGRlcGVuZCBvbiBiaW51dGlscyBzbyB3ZSBuZWVkIHRvIGRpc2FibGUgdGhpcwotZXhwb3J0IGFjX2N2X2xpYl9iZmRfYmZkX29wZW5yPSJubyIKLSMgRW5zdXJlIHdlIGRvbid0IGRlcGVuZCBvbiBMWk8KLWV4cG9ydCBhY19jdl9saWJfbHpvMl9sem8yYV9kZWNvbXByZXNzPSJubyIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCXJtIC1yZiAke0R9JHtiaW5kaXJ9L2NhaXJvLXNwaGlueAotCXJtIC1yZiAke0R9JHtsaWJkaXJ9L2NhaXJvL2NhaXJvLWZkcioKLQlybSAtcmYgJHtEfSR7bGliZGlyfS9jYWlyby9jYWlyby1zcGhpbngqCi0Jcm0gLXJmICR7RH0ke2xpYmRpcn0vY2Fpcm8vLmRlYnVnL2NhaXJvLWZkcioKLQlybSAtcmYgJHtEfSR7bGliZGlyfS9jYWlyby8uZGVidWcvY2Fpcm8tc3BoaW54KgotfQotCi1QQUNLQUdFUyA9KyAiY2Fpcm8tZ29iamVjdCBjYWlyby1zY3JpcHQtaW50ZXJwcmV0ZXIgY2Fpcm8tcGVyZi11dGlscyIKLQotU1VNTUFSWV9jYWlyby1nb2JqZWN0ID0gIlRoZSBDYWlybyBsaWJyYXJ5IEdPYmplY3Qgd3JhcHBlciBsaWJyYXJ5IgotREVTQ1JJUFRJT05fY2Fpcm8tZ29iamVjdCA9ICJBIEdPYmplY3Qgd3JhcHBlciBsaWJyYXJ5IGZvciB0aGUgQ2Fpcm8gQVBJLiIKLQotU1VNTUFSWV9jYWlyby1zY3JpcHQtaW50ZXJwcmV0ZXIgPSAiVGhlIENhaXJvIGxpYnJhcnkgc2NyaXB0IGludGVycHJldGVyIgotREVTQ1JJUFRJT05fY2Fpcm8tc2NyaXB0LWludGVycHJldGVyID0gIlRoZSBDYWlybyBzY3JpcHQgaW50ZXJwcmV0ZXIgaW1wbGVtZW50cyBcCi1DYWlyb1NjcmlwdC4gIENhaXJvU2NyaXB0IGlzIHVzZWQgYnkgdHJhY2luZyB1dGlsaXRpZXMgdG8gZW5hYmxlIHRoZSBhYmlsaXR5IFwKLXRvIHJlcGxheSByZW5kZXJpbmcuIgotCi1ERVNDUklQVElPTl9jYWlyby1wZXJmLXV0aWxzID0gIlRoZSBDYWlybyBsaWJyYXJ5IHBlcmZvcm1hbmNlIHV0aWxpdGllcyIKLQotRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYmNhaXJvLnNvLioiCi1GSUxFU18ke1BOfS1nb2JqZWN0ID0gIiR7bGliZGlyfS9saWJjYWlyby1nb2JqZWN0LnNvLioiCi1GSUxFU18ke1BOfS1zY3JpcHQtaW50ZXJwcmV0ZXIgPSAiJHtsaWJkaXJ9L2xpYmNhaXJvLXNjcmlwdC1pbnRlcnByZXRlci5zby4qIgotRklMRVNfJHtQTn0tcGVyZi11dGlscyA9ICIke2JpbmRpcn0vY2Fpcm8tdHJhY2UqICR7bGliZGlyfS9jYWlyby8qLmxhICR7bGliZGlyfS9jYWlyby9saWJjYWlyby10cmFjZS5zby4qIgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vY2Fpcm8vKi5zbyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyb18xLjE2LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyb18xLjE2LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI2MjhhZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvXzEuMTYuMC5iYgpAQCAtMCwwICsxLDkwIEBACitTVU1NQVJZID0gIlRoZSBDYWlybyAyRCB2ZWN0b3IgZ3JhcGhpY3MgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIkNhaXJvIGlzIGEgbXVsdGktcGxhdGZvcm0gbGlicmFyeSBwcm92aWRpbmcgYW50aS1hbGlhc2VkIFwKK3ZlY3Rvci1iYXNlZCByZW5kZXJpbmcgZm9yIG11bHRpcGxlIHRhcmdldCBiYWNrZW5kcy4gUGF0aHMgY29uc2lzdCBcCitvZiBsaW5lIHNlZ21lbnRzIGFuZCBjdWJpYyBzcGxpbmVzIGFuZCBjYW4gYmUgcmVuZGVyZWQgYXQgYW55IHdpZHRoIFwKK3dpdGggdmFyaW91cyBqb2luIGFuZCBjYXAgc3R5bGVzLiBBbGwgY29sb3JzIG1heSBiZSBzcGVjaWZpZWQgd2l0aCBcCitvcHRpb25hbCB0cmFuc2x1Y2VuY2UgKG9wYWNpdHkvYWxwaGEpIGFuZCBjb21iaW5lZCB1c2luZyB0aGUgXAorZXh0ZW5kZWQgUG9ydGVyL0R1ZmYgY29tcG9zaXRpbmcgYWxnZWJyYSBhcyBmb3VuZCBpbiB0aGUgWCBSZW5kZXIgXAorRXh0ZW5zaW9uLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIk1QTC0xICYgTEdQTHYyLjEgJiBHUEx2MysiCitMSUNFTlNFXyR7UE59ID0gIk1QTC0xICYgTEdQTHYyLjEiCitMSUNFTlNFXyR7UE59LWRldiA9ICJNUEwtMSAmIExHUEx2Mi4xIgorTElDRU5TRV8ke1BOfS1kb2MgPSAiTVBMLTEgJiBMR1BMdjIuMSIKK0xJQ0VOU0VfJHtQTn0tZ29iamVjdCA9ICJNUEwtMSAmIExHUEx2Mi4xIgorTElDRU5TRV8ke1BOfS1zY3JpcHQtaW50ZXJwcmV0ZXIgPSAiTVBMLTEgJiBMR1BMdjIuMSIKK0xJQ0VOU0VfJHtQTn0tcGVyZi11dGlscyA9ICJHUEx2MysiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU3M2U5OTllMGM3MmI1YWM5MDEyNDI0ZmExNTdhZDc3IgorCitERVBFTkRTID0gImZvbnRjb25maWcgZ2xpYi0yLjAgbGlicG5nIHBpeG1hbiB6bGliIgorCitTUkNfVVJJID0gImh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZy9yZWxlYXNlcy9jYWlyby0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vY2Fpcm8tZ2V0X2JpdG1hcF9zdXJmYWNlLWJzYzEwMzY3ODktQ1ZFLTIwMTctNzQ3NS5kaWZmIFwgCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xOTg3Ni5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOS02NDYxLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTY0NjIucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImYxOWUwMzUzODI4MjY5YzIyYmQ3MmUyNzEyNDNhNTUyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVlN2IyOWIzZjExM2VmODcwZDFlM2VjZjhhZGYyMWY5MjMzOTY0MDE2MDRiZGExNmQ0NGJlNDVlNjYwNTIzMzEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ3RrLWRvYyBtdWx0aWxpYl9zY3JpcHQKKworTVVMVElMSUJfU0NSSVBUUyA9ICIke1BOfS1wZXJmLXV0aWxzOiR7YmluZGlyfS9jYWlyby10cmFjZSIKKworWDExREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYngxMSBsaWJzbSBsaWJ4cmVuZGVyIGxpYnhleHQiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdkaXJlY3RmYicsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExIHhjYicsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExIG9wZW5nbCcsICdvcGVuZ2wnLCAnJywgZCl9IgorCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS13aXRoLXg9eWVzIC1lbmFibGUteGxpYiwtLXdpdGgteD1ubyAtLWRpc2FibGUteGxpYiwke1gxMURFUEVORFN9IgorUEFDS0FHRUNPTkZJR1t4Y2JdID0gIi0tZW5hYmxlLXhjYiwtLWRpc2FibGUteGNiLGxpYnhjYiIKK1BBQ0tBR0VDT05GSUdbZGlyZWN0ZmJdID0gIi0tZW5hYmxlLWRpcmVjdGZiPXllcywsZGlyZWN0ZmIiCitQQUNLQUdFQ09ORklHW3ZhbGdyaW5kXSA9ICItLWVuYWJsZS12YWxncmluZD15ZXMsLS1kaXNhYmxlLXZhbGdyaW5kLHZhbGdyaW5kIgorUEFDS0FHRUNPTkZJR1tlZ2xdID0gIi0tZW5hYmxlLWVnbD15ZXMsLS1kaXNhYmxlLWVnbCx2aXJ0dWFsL2VnbCIKK1BBQ0tBR0VDT05GSUdbZ2xlc3YyXSA9ICItLWVuYWJsZS1nbGVzdjIsLS1kaXNhYmxlLWdsZXN2Mix2aXJ0dWFsL2xpYmdsZXMyIgorUEFDS0FHRUNPTkZJR1tvcGVuZ2xdID0gIi0tZW5hYmxlLWdsLC0tZGlzYWJsZS1nbCx2aXJ0dWFsL2xpYmdsIgorCitFWFRSQV9PRUNPTkYgKz0gIiBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RBUkdFVF9GUFUnLCAnc29mdCcsICctLWRpc2FibGUtc29tZS1mbG9hdGluZy1wb2ludCcsICcnLCBkKX0gXAorICAgIC0tZW5hYmxlLXRlZSBcCisiCisKKyMgV2UgZG9uJ3QgZGVwZW5kIG9uIGJpbnV0aWxzIHNvIHdlIG5lZWQgdG8gZGlzYWJsZSB0aGlzCitleHBvcnQgYWNfY3ZfbGliX2JmZF9iZmRfb3BlbnI9Im5vIgorIyBFbnN1cmUgd2UgZG9uJ3QgZGVwZW5kIG9uIExaTworZXhwb3J0IGFjX2N2X2xpYl9sem8yX2x6bzJhX2RlY29tcHJlc3M9Im5vIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisJcm0gLXJmICR7RH0ke2JpbmRpcn0vY2Fpcm8tc3BoaW54CisJcm0gLXJmICR7RH0ke2xpYmRpcn0vY2Fpcm8vY2Fpcm8tZmRyKgorCXJtIC1yZiAke0R9JHtsaWJkaXJ9L2NhaXJvL2NhaXJvLXNwaGlueCoKKwlybSAtcmYgJHtEfSR7bGliZGlyfS9jYWlyby8uZGVidWcvY2Fpcm8tZmRyKgorCXJtIC1yZiAke0R9JHtsaWJkaXJ9L2NhaXJvLy5kZWJ1Zy9jYWlyby1zcGhpbngqCit9CisKK1BBQ0tBR0VTID0rICJjYWlyby1nb2JqZWN0IGNhaXJvLXNjcmlwdC1pbnRlcnByZXRlciBjYWlyby1wZXJmLXV0aWxzIgorCitTVU1NQVJZX2NhaXJvLWdvYmplY3QgPSAiVGhlIENhaXJvIGxpYnJhcnkgR09iamVjdCB3cmFwcGVyIGxpYnJhcnkiCitERVNDUklQVElPTl9jYWlyby1nb2JqZWN0ID0gIkEgR09iamVjdCB3cmFwcGVyIGxpYnJhcnkgZm9yIHRoZSBDYWlybyBBUEkuIgorCitTVU1NQVJZX2NhaXJvLXNjcmlwdC1pbnRlcnByZXRlciA9ICJUaGUgQ2Fpcm8gbGlicmFyeSBzY3JpcHQgaW50ZXJwcmV0ZXIiCitERVNDUklQVElPTl9jYWlyby1zY3JpcHQtaW50ZXJwcmV0ZXIgPSAiVGhlIENhaXJvIHNjcmlwdCBpbnRlcnByZXRlciBpbXBsZW1lbnRzIFwKK0NhaXJvU2NyaXB0LiAgQ2Fpcm9TY3JpcHQgaXMgdXNlZCBieSB0cmFjaW5nIHV0aWxpdGllcyB0byBlbmFibGUgdGhlIGFiaWxpdHkgXAordG8gcmVwbGF5IHJlbmRlcmluZy4iCisKK0RFU0NSSVBUSU9OX2NhaXJvLXBlcmYtdXRpbHMgPSAiVGhlIENhaXJvIGxpYnJhcnkgcGVyZm9ybWFuY2UgdXRpbGl0aWVzIgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliY2Fpcm8uc28uKiIKK0ZJTEVTXyR7UE59LWdvYmplY3QgPSAiJHtsaWJkaXJ9L2xpYmNhaXJvLWdvYmplY3Quc28uKiIKK0ZJTEVTXyR7UE59LXNjcmlwdC1pbnRlcnByZXRlciA9ICIke2xpYmRpcn0vbGliY2Fpcm8tc2NyaXB0LWludGVycHJldGVyLnNvLioiCitGSUxFU18ke1BOfS1wZXJmLXV0aWxzID0gIiR7YmluZGlyfS9jYWlyby10cmFjZSogJHtsaWJkaXJ9L2NhaXJvLyoubGEgJHtsaWJkaXJ9L2NhaXJvL2xpYmNhaXJvLXRyYWNlLnNvIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gImNhaXJvLSg/UDxwdmVyPlxkKyhcLlxkKykrKS50YXIueHoiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3N0LTMuMF8zLjAuMjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3N0LTMuMF8zLjAuMjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhMGRkYTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWdzdC0zLjBfMy4wLjI2LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1yZXF1aXJlIGNsdXR0ZXItZ3N0LTMuMC5pbmMKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vY2x1dHRlci1nc3QvY2x1dHRlci1nc3QuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTI0O21kNT05NWJhYWNiYTE5NGU4MTRjMTEwZWEzYmRmMjVkZGJmNCIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNzgwOWNhNmNlOWQxYTM0OTA1OTdmZDRhNzM3NWMzODkiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJkODYxOGE2ZDlhY2NlYzBmMmE4NTc0YzVlMTIyMDA1MWY4NTA1ZmI4MmIyMDMzNmMyNmJkYmQ0ODJhYTZjYjNhIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWdzdC0zLjBfMy4wLjI3LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWdzdC0zLjBfMy4wLjI3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1MzgyNDUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3N0LTMuMF8zLjAuMjcuYmIKQEAgLTAsMCArMSw3IEBACityZXF1aXJlIGNsdXR0ZXItZ3N0LTMuMC5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vY2x1dHRlci1nc3QvY2x1dHRlci1nc3QuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTI0O21kNT05NWJhYWNiYTE5NGU4MTRjMTEwZWEzYmRmMjVkZGJmNCIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMmJmOWQ3Y2ExNDZjOWQ3MWU4NmM0NWNkMDBlOWEyOGUiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJmZTY5YmQ2YzY1OWQyNGFiMzBkYTNmMDkxZWI5MWNkMTk3MDAyNmQ0MzExNzliMDcyNGYxMzc5MWU4YWQ5ZjlkIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWd0ay0xLjAuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWd0ay0xLjAuaW5jCmluZGV4IDA1YzRlNWYuLjRlODJmNTYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ndGstMS4wLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3RrLTEuMC5pbmMKQEAgLTIsNyArMiw5IEBACiBIT01FUEFHRSA9ICJodHRwOi8vd3d3LmNsdXR0ZXItcHJvamVjdC5vcmcvIgogTElDRU5TRSA9ICJMR1BMdjIrIgogCi1pbmhlcml0IGNsdXR0ZXIgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnb2JqZWN0LWludHJvc3BlY3Rpb24KK0NMVVRURVJCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKK2luaGVyaXQgY2x1dHRlciBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdvYmplY3QtaW50cm9zcGVjdGlvbiBndGstZG9jCisKICMgZGVwZW5kcyBvbiBjbHV0dGVyLTEuMCB3aGljaCBkZXBlbmRzIG9uIGNvZ2wtMS4wCiBSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPz0gIm9wZW5nbCIKICMgZGVwZW5kcyBvbiBndGsrMwpAQCAtMTAsNiArMTIsMjAgQEAKIAogREVQRU5EUyA9ICJjbHV0dGVyLTEuMCBndGsrMyIKIFBBQ0tBR0VTICA9KyAiJHtQTn0tZXhhbXBsZXMiCi1BVVRPVE9PTFNfQVVYRElSID0gIiR7U30vYnVpbGQiCisKK0dUS0RPQ19FTkFCTEVfRkxBRyA9ICItRGVuYWJsZV9kb2NzPXRydWUiCitHVEtET0NfRElTQUJMRV9GTEFHID0gIi1EZW5hYmxlX2RvY3M9ZmFsc2UiCisKK0dJX0VOQUJMRV9GTEFHID0gIi1EZW5hYmxlX2dpPXRydWUiCitHSV9ESVNBQkxFX0ZMQUcgPSAiLURlbmFibGVfZ2k9ZmFsc2UiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgJHtHSV9ESVNBQkxFX0ZMQUd9IgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dJX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dJX0RJU0FCTEVfRkxBR30nLCBkKX0gIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJyR7R1RLRE9DX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHVEtET0NfRElTQUJMRV9GTEFHfScsIGQpfSAiCisKIAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3RrLTEuMC8wMDAxLUFkZC1hLWNvbmZpZy12YXJpYWJsZS1mb3ItZW5hYmxpbmctZGlzYWJsaW5nLWludHJvc3AucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3RrLTEuMC8wMDAxLUFkZC1hLWNvbmZpZy12YXJpYWJsZS1mb3ItZW5hYmxpbmctZGlzYWJsaW5nLWludHJvc3AucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTIxYzZmZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ndGstMS4wLzAwMDEtQWRkLWEtY29uZmlnLXZhcmlhYmxlLWZvci1lbmFibGluZy1kaXNhYmxpbmctaW50cm9zcC5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDcyMzM4ODNjNmJkNGU4MGMwZTkxYjI5YjVjNzZmZTc5ODAyM2U5ZmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTEgRmViIDIwMTkgMTY6NDE6MTMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIGEgY29uZmlnIHZhcmlhYmxlIGZvciBlbmFibGluZy9kaXNhYmxpbmcgaW50cm9zcGVjdGlvbgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgY2x1dHRlci1ndGsvbWVzb24uYnVpbGQgfCAyICstCisgbWVzb25fb3B0aW9ucy50eHQgICAgICAgfCA0ICsrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY2x1dHRlci1ndGsvbWVzb24uYnVpbGQgYi9jbHV0dGVyLWd0ay9tZXNvbi5idWlsZAoraW5kZXggNWQ2ODQ3ZC4uNWQ5MzRiNiAxMDA2NDQKKy0tLSBhL2NsdXR0ZXItZ3RrL21lc29uLmJ1aWxkCisrKysgYi9jbHV0dGVyLWd0ay9tZXNvbi5idWlsZAorQEAgLTQ5LDcgKzQ5LDcgQEAgY2x1dHRlcl9ndGtfZGVwID0gZGVjbGFyZV9kZXBlbmRlbmN5KGxpbmtfd2l0aDogY2x1dHRlcl9ndGssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llczogWyBtYXRobGliX2RlcCwgY2x1dHRlcl9kZXAsIGd0a19kZXAgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJlY3RvcmllczogaW5jbHVkZV9kaXJlY3RvcmllcygnLicpKQorIAorLWlmIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpCisraWYgZ2V0X29wdGlvbignZW5hYmxlX2dpJykKKyAgIGdub21lLmdlbmVyYXRlX2dpcihjbHV0dGVyX2d0aywKKyAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VzOiBjbHV0dGVyX2d0a19oZWFkZXJzICsgY2x1dHRlcl9ndGtfc291cmNlcywKKyAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6ICdHdGtDbHV0dGVyJywKK2RpZmYgLS1naXQgYS9tZXNvbl9vcHRpb25zLnR4dCBiL21lc29uX29wdGlvbnMudHh0CitpbmRleCBhYWY1OWYxLi5iN2U1MWMzIDEwMDY0NAorLS0tIGEvbWVzb25fb3B0aW9ucy50eHQKKysrKyBiL21lc29uX29wdGlvbnMudHh0CitAQCAtMiwzICsyLDcgQEAgb3B0aW9uKCdlbmFibGVfZG9jcycsCisgICAgICAgIHR5cGU6ICdib29sZWFuJywKKyAgICAgICAgdmFsdWU6IGZhbHNlLAorICAgICAgICBkZXNjcmlwdGlvbjogJ0VuYWJsZSBnZW5lcmF0aW5nIHRoZSBBUEkgcmVmZXJlbmNlIChkZXBlbmRzIG9uIEdUSy1Eb2MpJykKKytvcHRpb24oJ2VuYWJsZV9naScsCisrICAgICAgIHR5cGU6ICdib29sZWFuJywKKysgICAgICAgdmFsdWU6IGZhbHNlLAorKyAgICAgICBkZXNjcmlwdGlvbjogJ0VuYWJsZSBnb2JqZWN0IGludHJvc3BlY3Rpb24nKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWd0ay0xLjBfMS44LjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3RrLTEuMF8xLjguNC5iYgppbmRleCBmMDMwMGM3Li41Mzk0OGM4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3RrLTEuMF8xLjguNC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3RrLTEuMF8xLjguNC5iYgpAQCAtMiw1ICsyLDYgQEAKIAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCiAKK1NSQ19VUkkgKz0gIiBmaWxlOi8vMDAwMS1BZGQtYS1jb25maWctdmFyaWFibGUtZm9yLWVuYWJsaW5nLWRpc2FibGluZy1pbnRyb3NwLnBhdGNoIgogU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiYjM2M2FjOTg3OGUyMzM3YmU4ODdiOGVlOWUxZGEwMGUiCiBTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI1MjE0OTNlYzAzODk3M2M3N2VkY2I4YmM1ZWFjMjNlZWQ0MTY0NTExNzg5NGFhZWU3MzAwYjI0ODdjYjQyYjA2IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZHJtL2xpYmRybV8yLjQuOTQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9kcm0vbGliZHJtXzIuNC45NC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDY1NDI5Mi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9kcm0vbGliZHJtXzIuNC45NC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAKLVNVTU1BUlkgPSAiVXNlcnNwYWNlIGludGVyZmFjZSB0byB0aGUga2VybmVsIERSTSBzZXJ2aWNlcyIKLURFU0NSSVBUSU9OID0gIlRoZSBydW50aW1lIGxpYnJhcnkgZm9yIGFjY2Vzc2luZyB0aGUga2VybmVsIERSTSBzZXJ2aWNlcy4gIERSTSBcCi1zdGFuZHMgZm9yIFwiRGlyZWN0IFJlbmRlcmluZyBNYW5hZ2VyXCIsIHdoaWNoIGlzIHRoZSBrZXJuZWwgcG9ydGlvbiBvZiB0aGUgXAotXCJEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlXCIgKERSSSkuICBEUkkgaXMgcmVxdWlyZWQgZm9yIG1hbnkgaGFyZHdhcmUgXAotYWNjZWxlcmF0ZWQgT3BlbkdMIGRyaXZlcnMuIgotSE9NRVBBR0UgPSAiaHR0cDovL2RyaS5mcmVlZGVza3RvcC5vcmciCi1TRUNUSU9OID0gIngxMS9iYXNlIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly94Zjg2ZHJtLmM7YmVnaW5saW5lPTk7ZW5kbGluZT0zMjttZDU9YzhhM2I5NjFhZjc2NjdjNTMwODE2NzYxZTk0OWRjNzEiCi1QUk9WSURFUyA9ICJkcm0iCi1ERVBFTkRTID0gImxpYnB0aHJlYWQtc3R1YnMiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2RyaS5mcmVlZGVza3RvcC5vcmcvbGliZHJtLyR7QlB9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vbXVzbC1pb2N0bC5wYXRjaCIKLVNSQ19VUklbbWQ1c3VtXSA9ICJlOTgwMzIzMzgzODAwNzA0N2YzOWViMzg1YzcwZDllMCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiNzNjNTliMGEzNzYwNTAyYzQyOGJhODFkZTQ5Y2Q0ODA3NjU3ZDI2YmU1ZTY5N2ViYTNhODdkZDAyMWQxNmJlIgotCi1pbmhlcml0IG1lc29uIHBrZ2NvbmZpZyBtYW5wYWdlcwotCi1QQUNLQUdFQ09ORklHID8/PSAibGlia21zIGludGVsIHJhZGVvbiBhbWRncHUgbm91dmVhdSB2bXdnZnggb21hcCBmcmVlZHJlbm8gdmM0IGV0bmF2aXYgaW5zdGFsbC10ZXN0LXByb2dyYW1zIgotUEFDS0FHRUNPTkZJR1tsaWJrbXNdID0gIi1EbGlia21zPXRydWUsLURsaWJrbXM9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2ludGVsXSA9ICItRGludGVsPXRydWUsLURpbnRlbD1mYWxzZSxsaWJwY2lhY2Nlc3MiCi1QQUNLQUdFQ09ORklHW3JhZGVvbl0gPSAiLURyYWRlb249dHJ1ZSwtRHJhZGVvbj1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbYW1kZ3B1XSA9ICItRGFtZGdwdT10cnVlLC1EYW1kZ3B1PWZhbHNlIgotUEFDS0FHRUNPTkZJR1tub3V2ZWF1XSA9ICItRG5vdXZlYXU9dHJ1ZSwtRG5vdXZlYXU9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW3Ztd2dmeF0gPSAiLUR2bXdnZng9dHJ1ZSwtRHZtd2dmeD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbb21hcF0gPSAiLURvbWFwPXRydWUsLURvbWFwPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tleHlub3NdID0gIi1EZXh5bm9zPXRydWUsLURleHlub3M9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2ZyZWVkcmVub10gPSAiLURmcmVlZHJlbm89dHJ1ZSwtRGZyZWVkcmVubz1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbdGVncmFdID0gIi1EdGVncmE9dHJ1ZSwtRHRlZ3JhPWZhbHNlIgotUEFDS0FHRUNPTkZJR1t2YzRdID0gIi1EdmM0PXRydWUsLUR2YzQ9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2V0bmF2aXZdID0gIi1EZXRuYXZpdj10cnVlLC1EZXRuYXZpdj1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbZnJlZWRyZW5vLWtnc2xdID0gIi1EZnJlZWRyZW5vLWtnc2w9dHJ1ZSwtRGZyZWVkcmVuby1rZ3NsPWZhbHNlIgotUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLUR2YWxncmluZD10cnVlLC1EdmFsZ3JpbmQ9ZmFsc2UsdmFsZ3JpbmQiCi1QQUNLQUdFQ09ORklHW2luc3RhbGwtdGVzdC1wcm9ncmFtc10gPSAiLURpbnN0YWxsLXRlc3QtcHJvZ3JhbXM9dHJ1ZSwtRGluc3RhbGwtdGVzdC1wcm9ncmFtcz1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbY2Fpcm8tdGVzdHNdID0gIi1EY2Fpcm8tdGVzdHM9dHJ1ZSwtRGNhaXJvLXRlc3RzPWZhbHNlIgotUEFDS0FHRUNPTkZJR1t1ZGV2XSA9ICItRHVkZXY9dHJ1ZSwtRHVkZXY9ZmFsc2UsdWRldiIKLVBBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi1EbWFuLXBhZ2VzPXRydWUsLURtYW4tcGFnZXM9ZmFsc2UsbGlieHNsdC1uYXRpdmUgeG1sdG8tbmF0aXZlIgotCi1BTExPV19FTVBUWV8ke1BOfS1kcml2ZXJzID0gIjEiCi1QQUNLQUdFUyA9KyAiJHtQTn0tdGVzdHMgJHtQTn0tZHJpdmVycyAke1BOfS1yYWRlb24gJHtQTn0tbm91dmVhdSAke1BOfS1vbWFwIFwKLSAgICAgICAgICAgICAke1BOfS1pbnRlbCAke1BOfS1leHlub3MgJHtQTn0ta21zICR7UE59LWZyZWVkcmVubyAke1BOfS1hbWRncHUgXAotICAgICAgICAgICAgICR7UE59LWV0bmF2aXYiCi0KLVJSRUNPTU1FTkRTXyR7UE59LWRyaXZlcnMgPSAiJHtQTn0tcmFkZW9uICR7UE59LW5vdXZlYXUgJHtQTn0tb21hcCAke1BOfS1pbnRlbCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7UE59LWV4eW5vcyAke1BOfS1mcmVlZHJlbm8gJHtQTn0tYW1kZ3B1IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXRuYXZpdiIKLQotRklMRVNfJHtQTn0tdGVzdHMgPSAiJHtiaW5kaXJ9LyoiCi1GSUxFU18ke1BOfS1yYWRlb24gPSAiJHtsaWJkaXJ9L2xpYmRybV9yYWRlb24uc28uKiIKLUZJTEVTXyR7UE59LW5vdXZlYXUgPSAiJHtsaWJkaXJ9L2xpYmRybV9ub3V2ZWF1LnNvLioiCi1GSUxFU18ke1BOfS1vbWFwID0gIiR7bGliZGlyfS9saWJkcm1fb21hcC5zby4qIgotRklMRVNfJHtQTn0taW50ZWwgPSAiJHtsaWJkaXJ9L2xpYmRybV9pbnRlbC5zby4qIgotRklMRVNfJHtQTn0tZXh5bm9zID0gIiR7bGliZGlyfS9saWJkcm1fZXh5bm9zLnNvLioiCi1GSUxFU18ke1BOfS1rbXMgPSAiJHtsaWJkaXJ9L2xpYmttcyouc28uKiIKLUZJTEVTXyR7UE59LWZyZWVkcmVubyA9ICIke2xpYmRpcn0vbGliZHJtX2ZyZWVkcmVuby5zby4qIgotRklMRVNfJHtQTn0tYW1kZ3B1ID0gIiR7bGliZGlyfS9saWJkcm1fYW1kZ3B1LnNvLioiCi1GSUxFU18ke1BOfS1ldG5hdml2ID0gIiR7bGliZGlyfS9saWJkcm1fZXRuYXZpdi5zby4qIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9kcm0vbGliZHJtXzIuNC45Ny5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2RybS9saWJkcm1fMi40Ljk3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiZTlhMzMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9kcm0vbGliZHJtXzIuNC45Ny5iYgpAQCAtMCwwICsxLDYwIEBACitTVU1NQVJZID0gIlVzZXJzcGFjZSBpbnRlcmZhY2UgdG8gdGhlIGtlcm5lbCBEUk0gc2VydmljZXMiCitERVNDUklQVElPTiA9ICJUaGUgcnVudGltZSBsaWJyYXJ5IGZvciBhY2Nlc3NpbmcgdGhlIGtlcm5lbCBEUk0gc2VydmljZXMuICBEUk0gXAorc3RhbmRzIGZvciBcIkRpcmVjdCBSZW5kZXJpbmcgTWFuYWdlclwiLCB3aGljaCBpcyB0aGUga2VybmVsIHBvcnRpb24gb2YgdGhlIFwKK1wiRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZVwiIChEUkkpLiAgRFJJIGlzIHJlcXVpcmVkIGZvciBtYW55IGhhcmR3YXJlIFwKK2FjY2VsZXJhdGVkIE9wZW5HTCBkcml2ZXJzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9kcmkuZnJlZWRlc2t0b3Aub3JnIgorU0VDVElPTiA9ICJ4MTEvYmFzZSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8veGY4NmRybS5jO2JlZ2lubGluZT05O2VuZGxpbmU9MzI7bWQ1PWM4YTNiOTYxYWY3NjY3YzUzMDgxNjc2MWU5NDlkYzcxIgorUFJPVklERVMgPSAiZHJtIgorREVQRU5EUyA9ICJsaWJwdGhyZWFkLXN0dWJzIgorCitTUkNfVVJJID0gImh0dHA6Ly9kcmkuZnJlZWRlc2t0b3Aub3JnL2xpYmRybS8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL211c2wtaW9jdGwucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiYWNlZjIyZDBjNjJjODk2OTIzNDhjMmRkNTU5MTM5M2UiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzdkMGNjZGEzZTEwZDY1OTMzOThlZGI3MGIxNTY2YmZlMWEyM2EzOWJkM2RhOThhY2UyMTQ3NjkyZWFkZDEyMyIKKworaW5oZXJpdCBtZXNvbiBwa2djb25maWcgbWFucGFnZXMKKworUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmttcyBpbnRlbCByYWRlb24gYW1kZ3B1IG5vdXZlYXUgdm13Z2Z4IG9tYXAgZnJlZWRyZW5vIHZjNCBldG5hdml2IGluc3RhbGwtdGVzdC1wcm9ncmFtcyIKK1BBQ0tBR0VDT05GSUdbbGlia21zXSA9ICItRGxpYmttcz10cnVlLC1EbGlia21zPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tpbnRlbF0gPSAiLURpbnRlbD10cnVlLC1EaW50ZWw9ZmFsc2UsbGlicGNpYWNjZXNzIgorUEFDS0FHRUNPTkZJR1tyYWRlb25dID0gIi1EcmFkZW9uPXRydWUsLURyYWRlb249ZmFsc2UiCitQQUNLQUdFQ09ORklHW2FtZGdwdV0gPSAiLURhbWRncHU9dHJ1ZSwtRGFtZGdwdT1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbbm91dmVhdV0gPSAiLURub3V2ZWF1PXRydWUsLURub3V2ZWF1PWZhbHNlIgorUEFDS0FHRUNPTkZJR1t2bXdnZnhdID0gIi1Edm13Z2Z4PXRydWUsLUR2bXdnZng9ZmFsc2UiCitQQUNLQUdFQ09ORklHW29tYXBdID0gIi1Eb21hcD10cnVlLC1Eb21hcD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbZXh5bm9zXSA9ICItRGV4eW5vcz10cnVlLC1EZXh5bm9zPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tmcmVlZHJlbm9dID0gIi1EZnJlZWRyZW5vPXRydWUsLURmcmVlZHJlbm89ZmFsc2UiCitQQUNLQUdFQ09ORklHW3RlZ3JhXSA9ICItRHRlZ3JhPXRydWUsLUR0ZWdyYT1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbdmM0XSA9ICItRHZjND10cnVlLC1EdmM0PWZhbHNlIgorUEFDS0FHRUNPTkZJR1tldG5hdml2XSA9ICItRGV0bmF2aXY9dHJ1ZSwtRGV0bmF2aXY9ZmFsc2UiCitQQUNLQUdFQ09ORklHW2ZyZWVkcmVuby1rZ3NsXSA9ICItRGZyZWVkcmVuby1rZ3NsPXRydWUsLURmcmVlZHJlbm8ta2dzbD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi1EdmFsZ3JpbmQ9dHJ1ZSwtRHZhbGdyaW5kPWZhbHNlLHZhbGdyaW5kIgorUEFDS0FHRUNPTkZJR1tpbnN0YWxsLXRlc3QtcHJvZ3JhbXNdID0gIi1EaW5zdGFsbC10ZXN0LXByb2dyYW1zPXRydWUsLURpbnN0YWxsLXRlc3QtcHJvZ3JhbXM9ZmFsc2UiCitQQUNLQUdFQ09ORklHW2NhaXJvLXRlc3RzXSA9ICItRGNhaXJvLXRlc3RzPXRydWUsLURjYWlyby10ZXN0cz1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbdWRldl0gPSAiLUR1ZGV2PXRydWUsLUR1ZGV2PWZhbHNlLHVkZXYiCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItRG1hbi1wYWdlcz10cnVlLC1EbWFuLXBhZ2VzPWZhbHNlLGxpYnhzbHQtbmF0aXZlIHhtbHRvLW5hdGl2ZSIKKworQUxMT1dfRU1QVFlfJHtQTn0tZHJpdmVycyA9ICIxIgorUEFDS0FHRVMgPSsgIiR7UE59LXRlc3RzICR7UE59LWRyaXZlcnMgJHtQTn0tcmFkZW9uICR7UE59LW5vdXZlYXUgJHtQTn0tb21hcCBcCisgICAgICAgICAgICAgJHtQTn0taW50ZWwgJHtQTn0tZXh5bm9zICR7UE59LWttcyAke1BOfS1mcmVlZHJlbm8gJHtQTn0tYW1kZ3B1IFwKKyAgICAgICAgICAgICAke1BOfS1ldG5hdml2IgorCitSUkVDT01NRU5EU18ke1BOfS1kcml2ZXJzID0gIiR7UE59LXJhZGVvbiAke1BOfS1ub3V2ZWF1ICR7UE59LW9tYXAgJHtQTn0taW50ZWwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke1BOfS1leHlub3MgJHtQTn0tZnJlZWRyZW5vICR7UE59LWFtZGdwdSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7UE59LWV0bmF2aXYiCisKK0ZJTEVTXyR7UE59LXRlc3RzID0gIiR7YmluZGlyfS8qIgorRklMRVNfJHtQTn0tcmFkZW9uID0gIiR7bGliZGlyfS9saWJkcm1fcmFkZW9uLnNvLioiCitGSUxFU18ke1BOfS1ub3V2ZWF1ID0gIiR7bGliZGlyfS9saWJkcm1fbm91dmVhdS5zby4qIgorRklMRVNfJHtQTn0tb21hcCA9ICIke2xpYmRpcn0vbGliZHJtX29tYXAuc28uKiIKK0ZJTEVTXyR7UE59LWludGVsID0gIiR7bGliZGlyfS9saWJkcm1faW50ZWwuc28uKiIKK0ZJTEVTXyR7UE59LWV4eW5vcyA9ICIke2xpYmRpcn0vbGliZHJtX2V4eW5vcy5zby4qIgorRklMRVNfJHtQTn0ta21zID0gIiR7bGliZGlyfS9saWJrbXMqLnNvLioiCitGSUxFU18ke1BOfS1mcmVlZHJlbm8gPSAiJHtsaWJkaXJ9L2xpYmRybV9mcmVlZHJlbm8uc28uKiIKK0ZJTEVTXyR7UE59LWFtZGdwdSA9ICIke2xpYmRpcn0vbGliZHJtX2FtZGdwdS5zby4qIgorRklMRVNfJHtQTn0tZXRuYXZpdiA9ICIke2xpYmRpcn0vbGliZHJtX2V0bmF2aXYuc28uKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9lZ2xpbmZvLXdheWxhbmRfMS4wLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2VnbGluZm8td2F5bGFuZF8xLjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44N2ExMzFhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9lZ2xpbmZvLXdheWxhbmRfMS4wLjAuYmIKQEAgLTAsMCArMSwxMyBAQAorRUdMSU5GT19QTEFURk9STSA/PSAid2F5bGFuZCIKK0VHTElORk9fQklOQVJZX05BTUUgPz0gImVnbGluZm8td2F5bGFuZCIKKworcmVxdWlyZSBlZ2xpbmZvLmluYworCitERVBFTkRTICs9ICJ3YXlsYW5kIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworCisjIGRlcGVuZHMgb24gd2F5bGFuZAorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTICs9ICJ3YXlsYW5kIgorCitTVU1NQVJZICs9ICIoV2F5bGFuZCB2ZXJzaW9uKSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZWdsaW5mby5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2VnbGluZm8uaW5jCmluZGV4IDA3YWQwNzIuLjZkY2IwYzUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZWdsaW5mby5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9lZ2xpbmZvLmluYwpAQCAtMTEsNyArMTEsNyBAQAogICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtU1RBR0lOR19JTkNESVItdG8tc2VhcmNocGF0aC1mb3ItZWdsLWhlYWRlcnMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1DaGVjay1mb3ItbGliZWdsLXVzaW5nLXBrZy1jb25maWcucGF0Y2ggXAogICAgICAgICAgICAiCi1TUkNSRVYgPSAiNGIzMTc2NDhlYzZjZjM5NTU2YTllNWQ4MDc4ZjYwNWJjMGVkZDVkZSIKK1NSQ1JFViA9ICIyMjM4MTdlZTM3OTg4MDQyZGI3ODczY2ZiNWIyZTg5OWRmZTM1YzEwIgogCiBDVkVfUFJPRFVDVCA9ICJlZ2xpbmZvIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2ZpbGVzLzAwMDEtQWRkLVNUQUdJTkdfSU5DRElSLXRvLXNlYXJjaHBhdGgtZm9yLWVnbC1oZWFkZXJzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9maWxlcy8wMDAxLUFkZC1TVEFHSU5HX0lOQ0RJUi10by1zZWFyY2hwYXRoLWZvci1lZ2wtaGVhZGVycy5wYXRjaAppbmRleCBjYTlmNTVjLi42MTMyN2ViIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2ZpbGVzLzAwMDEtQWRkLVNUQUdJTkdfSU5DRElSLXRvLXNlYXJjaHBhdGgtZm9yLWVnbC1oZWFkZXJzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZmlsZXMvMDAwMS1BZGQtU1RBR0lOR19JTkNESVItdG8tc2VhcmNocGF0aC1mb3ItZWdsLWhlYWRlcnMucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDk0YjFlNmRhZjdkNzA1NTBiMGUzMmZiYjI2OWZjZjY4ODc5NDhkM2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDk5YTU3ODRkMzNhZDVlMGU2ZmEwMDMzOGQyNzMyY2JjY2FkNzY2MWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxMyBKYW4gMjAxNiAxNjowODoyMiAtMDgwMAogU3ViamVjdDogW1BBVENIXSBBZGQgU1RBR0lOR19JTkNESVIgdG8gc2VhcmNocGF0aCBmb3IgZWdsIGhlYWRlcnMKQEAgLTE0LDEwICsxNCwxMCBAQAogIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL3dzY3JpcHQgYi93c2NyaXB0Ci1pbmRleCBmY2JiNTViLi5jZWNlOGJmIDEwMDY0NAoraW5kZXggMTk1ZTI0Ny4uMGY2ZWM1MyAxMDA2NDQKIC0tLSBhL3dzY3JpcHQKICsrKyBiL3dzY3JpcHQKLUBAIC0xNjMsOSArMTYzLDEwIEBAIGRlZiBjb25maWd1cmVfcmFzcGJlcnJ5cGlfZGV2aWNlKGNvbmYsIHBsYXRmb3JtKToKK0BAIC0xNzcsOSArMTc3LDEwIEBAIGRlZiBjb25maWd1cmVfcmFzcGJlcnJ5cGlfZGV2aWNlKGNvbmYsIHBsYXRmb3JtKToKICAJY29uZi5jaGVja19jeHgobWFuZGF0b3J5ID0gMSwgbGliID0gWydHTEVTdjInLCAnRUdMJywgJ2JjbV9ob3N0J10sIHVzZWxpYl9zdG9yZSA9ICdFR0wnKQogIAlpbXBvcnQgb3MKICAJc3lzcm9vdCA9IGNvbmYub3B0aW9ucy5zeXNyb290ICsgY29uZi5vcHRpb25zLnByZWZpeApAQCAtMzAsNSArMzAsNCBAQAogIAljb25mLmVudlsnV0lUSF9BUElTJ10gPSBbXQogIAlpZiBjaGVja19nbGVzMihjb25mKToKIC0tIAotMi43LjAKLQorMi4xOS4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2ZpbGVzLzAwMDEtQ2hlY2stZm9yLWxpYmVnbC11c2luZy1wa2ctY29uZmlnLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9maWxlcy8wMDAxLUNoZWNrLWZvci1saWJlZ2wtdXNpbmctcGtnLWNvbmZpZy5wYXRjaAppbmRleCAwMjg5YWMyLi41NzJjODAxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2ZpbGVzLzAwMDEtQ2hlY2stZm9yLWxpYmVnbC11c2luZy1wa2ctY29uZmlnLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZmlsZXMvMDAwMS1DaGVjay1mb3ItbGliZWdsLXVzaW5nLXBrZy1jb25maWcucGF0Y2gKQEAgLTEsMjIgKzEsMjUgQEAKLUZyb20gNThkNTFkOTQxZDNmNGRmYTM4YmUxODI4MmQzZTI4NWQ3NmQ5MDIwZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTdmNWQyZjU3NDIzNmY4YzM0NTlmOWVmYWRlZjJmMGY2MjIwYTRkZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDEzIEF1ZyAyMDE4IDE1OjQ2OjUzIC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0hdIENoZWNrIGZvciBsaWJlZ2wgdXNpbmcgcGtnLWNvbmZpZwogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitbUm9tYW46IHBhdGNoIGhhcyBiZWVuIHJlYmFzZWQgdG8gMjIzODE3ZWUzNzk4ICgiQWRkIFdheWxhbmQgc3VwcG9ydCIpCisgdHJpdmlhbCBtZXJnZSBjb25mbGljdHMgcmVzb2x2ZWRdCitTaWduZWQtb2ZmLWJ5OiBSb21hbiBTdHJhdGlpZW5rbyA8cm9tYW4uc3RyYXRpaWVua29AZ2xvYmFsbG9naWMuY29tPgogLS0tCi0gd3NjcmlwdCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorIHdzY3JpcHQgfCA3ICstLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDYgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBnaXQvd3NjcmlwdAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL3dzY3JpcHQKLSsrKyBnaXQvd3NjcmlwdAotQEAgLTE2MCwxNCArMTYwLDkgQEAgZGVmIGNvbmZpZ3VyZV9yYXNwYmVycnlwaV9kZXZpY2UoY29uZiwgcAotIAkJY29uZi5lbnZbJ1BMQVRGT1JNX1VTRUxJQlMnXSArPSBbIlgxMSJdCi0gCWVsaWYgcGxhdGZvcm0gPT0gImZiIjoKLSAJCWNvbmYuZW52WydQTEFURk9STV9TT1VSQ0UnXSA9IFsnc3JjL3BsYXRmb3JtX2ZiX3Jhc3BiZXJyeXBpLmNwcCddCitkaWZmIC0tZ2l0IGEvd3NjcmlwdCBiL3dzY3JpcHQKK2luZGV4IDBmNmVjNTMuLjQwMWY2MmUgMTAwNjQ0CistLS0gYS93c2NyaXB0CisrKysgYi93c2NyaXB0CitAQCAtMTc0LDE0ICsxNzQsOSBAQCBkZWYgY29uZmlndXJlX3Jhc3BiZXJyeXBpX2RldmljZShjb25mLCBwbGF0Zm9ybSk6CisgCWVsc2U6CisgCQljb25mLmZhdGFsKCdVbnN1cHBvcnRlZCBSYXNwYmVycnkgUGkgcGxhdGZvcm0gIiVzIicgJSBwbGF0Zm9ybSkKKyAJCXJldHVybgogLQljb25mLmNoZWNrX2N4eChtYW5kYXRvcnkgPSAxLCBsaWIgPSBbJ0dMRVN2MicsICdFR0wnLCAnYmNtX2hvc3QnXSwgdXNlbGliX3N0b3JlID0gJ0VHTCcpCiArCWNvbmYuY2hlY2tfY2ZnKHBhY2thZ2U9J2VnbCcsIGFyZ3M9Jy0tbGlicyAtLWNmbGFncycpCiAgCWltcG9ydCBvcwpAQCAtMjksMyArMzIsNSBAQAogIAljb25mLmVudlsnV0lUSF9BUElTJ10gPSBbXQogIAlpZiBjaGVja19nbGVzMihjb25mKToKICAJCWNvbmYuZW52WydXSVRIX0FQSVMnXSArPSBbJ0dMRVMxJywgJ0dMRVMyJ10KKy0tIAorMi4xOS4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9mb250Y29uZmlnL2ZvbnRjb25maWcvMDAwMS1zcmMtZmNjYWNoZS5jLUZpeC1kZWZpbmUtZm9yLUhBVkVfUE9TSVhfRkFEVklTRS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRjb25maWcvZm9udGNvbmZpZy8wMDAxLXNyYy1mY2NhY2hlLmMtRml4LWRlZmluZS1mb3ItSEFWRV9QT1NJWF9GQURWSVNFLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5YmNlMjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9mb250Y29uZmlnL2ZvbnRjb25maWcvMDAwMS1zcmMtZmNjYWNoZS5jLUZpeC1kZWZpbmUtZm9yLUhBVkVfUE9TSVhfRkFEVklTRS5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIGFiOTUyMjE3N2E4Mzk2YTUxODEyZmRiZWJiNjM4N2RmNDUxYTg0OTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjQgRGVjIDIwMTggMTE6MDM6NTggKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gc3JjL2ZjY2FjaGUuYzogRml4IGRlZmluZSBmb3IgSEFWRV9QT1NJWF9GQURWSVNFCisKK090aGVyd2lzZSwgdGhlcmUgd291bGQgYmUgYnVpbGQgZXJyb3JzIGluIHRoZSBmb2xsb3dpbmcgMiBjYXNlczoKKyogZGVmaW5lIEhBVkVfUE9TSVhfRkFEVklTRQorT3I6CisqIHVuZGVmIEhBVkVfUE9TSVhfRkFEVklTRQorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZm9udGNvbmZpZy9mb250Y29uZmlnL2NvbW1pdC81ODZlMzU0NTBlOWNhN2MxZGM2NDdjZWI5ZDc1YWM4ZWQwOGM1YzE2XQorCitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGZjY2FjaGUuYyB8ICAgIDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9mY2NhY2hlLmMgYi9zcmMvZmNjYWNoZS5jCitpbmRleCA2ZjNjNjhhLi44NWNjNGI0IDEwMDY0NAorLS0tIGEvc3JjL2ZjY2FjaGUuYworKysrIGIvc3JjL2ZjY2FjaGUuYworQEAgLTcwMCw3ICs3MDAsNyBAQCBGY0RpckNhY2hlTWFwRmQgKEZjQ29uZmlnICpjb25maWcsIGludCBmZCwgc3RydWN0IHN0YXQgKmZkX3N0YXQsIHN0cnVjdCBzdGF0ICpkaQorICAgICB7CisgI2lmIGRlZmluZWQoSEFWRV9NTUFQKSB8fCBkZWZpbmVkKF9fQ1lHV0lOX18pCisgCWNhY2hlID0gbW1hcCAoMCwgZmRfc3RhdC0+c3Rfc2l6ZSwgUFJPVF9SRUFELCBNQVBfU0hBUkVELCBmZCwgMCk7CistI2lmIChIQVZFX1BPU0lYX0ZBRFZJU0UpICYmIGRlZmluZWQoUE9TSVhfRkFEVl9XSUxMTkVFRCkKKysjaWYgZGVmaW5lZChIQVZFX1BPU0lYX0ZBRFZJU0UpICYmIGRlZmluZWQoUE9TSVhfRkFEVl9XSUxMTkVFRCkKKyAJcG9zaXhfZmFkdmlzZSAoZmQsIDAsIGZkX3N0YXQtPnN0X3NpemUsIFBPU0lYX0ZBRFZfV0lMTE5FRUQpOworICNlbmRpZgorIAlpZiAoY2FjaGUgPT0gTUFQX0ZBSUxFRCkKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZm9udGNvbmZpZy9mb250Y29uZmlnXzIuMTIuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRjb25maWcvZm9udGNvbmZpZ18yLjEyLjYuYmIKaW5kZXggY2VjNTI0Ny4uOGZhNzM5ZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZm9udGNvbmZpZy9mb250Y29uZmlnXzIuMTIuNi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9mb250Y29uZmlnL2ZvbnRjb25maWdfMi4xMi42LmJiCkBAIC0yMyw2ICsyMyw3IEBACiBTUkNfVVJJID0gImh0dHA6Ly9mb250Y29uZmlnLm9yZy9yZWxlYXNlL2ZvbnRjb25maWctJHtQVn0udGFyLmd6IFwKICAgICAgICAgICAgZmlsZTovL3JldmVydC1zdGF0aWMtcGtnY29uZmlnLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtc3JjLWZjeG1sLmMtYXZvaWQtZG91YmxlLWZyZWUtb2YtZmlsZW5hbWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1zcmMtZmNjYWNoZS5jLUZpeC1kZWZpbmUtZm9yLUhBVkVfUE9TSVhfRkFEVklTRS5wYXRjaCBcCiAgICAgICAgICAgICIKIAogU1JDX1VSSVttZDVzdW1dID0gIjAwZTc0OGM2N2ZhZDExZTcwNTdhNzFlZDM4NWU4YmRiIgpAQCAtNDEsNiArNDIsMTIgQEAKICAgICBsbiAke0R9JHtiaW5kaXJ9L2ZjLWNhY2hlICR7RH0ke2xpYmV4ZWNkaXJ9LyR7TUxQUkVGSVh9ZmMtY2FjaGUKIH0KIAorZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgeworICAgICMgZHVwbGljYXRlIGZjLWNhY2hlIGZvciBwb3N0aW5zdGFsbCBzY3JpcHQKKyAgICBta2RpciAtcCAke0R9JHtsaWJleGVjZGlyfQorICAgIGxuICR7RH0ke2JpbmRpcn0vZmMtY2FjaGUgJHtEfSR7bGliZXhlY2Rpcn0vJHtNTFBSRUZJWH1mYy1jYWNoZQorfQorCiBQQUNLQUdFUyA9KyAiZm9udGNvbmZpZy11dGlscyIKIEZJTEVTXyR7UE59ID0rICIke2RhdGFkaXJ9L3htbC8qIgogRklMRVNfZm9udGNvbmZpZy11dGlscyA9ICIke2JpbmRpcn0vKiAke2xpYmV4ZWNkaXJ9LyoiCkBAIC02MSw0ICs2OCw0IEBACiAKIEVYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLWRvY3MgLS13aXRoLWRlZmF1bHQtZm9udHM9JHtkYXRhZGlyfS9mb250cyAtLXdpdGgtY2FjaGUtZGlyPSR7Rk9OVENPTkZJR19DQUNIRV9ESVJ9IC0td2l0aC1hZGQtZm9udHM9JHtGT05UQ09ORklHX0ZPTlRfRElSU30iCiAKLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZ2xldy9nbGV3LzAwMDEtRml4ZWQtY29tcGlsYXRpb24td2l0aC1jdXJyZW50LW1lc2EtdmVyc2lvbnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9nbGV3L2dsZXcvMDAwMS1GaXhlZC1jb21waWxhdGlvbi13aXRoLWN1cnJlbnQtbWVzYS12ZXJzaW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGYzZTJmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZ2xldy9nbGV3LzAwMDEtRml4ZWQtY29tcGlsYXRpb24td2l0aC1jdXJyZW50LW1lc2EtdmVyc2lvbnMucGF0Y2gKQEAgLTAsMCArMSw3MyBAQAorRnJvbSA3ZjY1YTM2ODY2ZjRlMjRkZDE0NDZmZTFjOWQyMTQyNGYyOGJjYWJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGV2ZSA8ZGV2ZWVlQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTQgTm92IDIwMTggMjE6MDc6MjkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4ZWQgY29tcGlsYXRpb24gd2l0aCBjdXJyZW50IG1lc2EgdmVyc2lvbnMuCisKK0FzIHlvdSBjYW4gc2VlIGluCitodHRwczovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL21lc2EvbWVzYS90cmVlL2luY2x1ZGUvR0wvZ2xleHQuaAorbm93IHRoZSBmaWxlIHVzZXMgX19nbF9nbGV4dF9oXyBpbnN0ZWFkIG9mIF9fZ2xleHRfaF8KK0l0J3MgcHJlY2lzZWx5IGNhdXNlZCBieSBjb21taXQgZjdkNDJlZTdkMzE5MjU2NjA4YWQ2MDc3OGY2Nzg3YzE0MGJhZGFkYQorCitCYWNrb3BydCBub3RlczogCisKKyogVGhlIG9yaWdpbmFsIHBhdGNoIGFkanVzdHMgYXV0by9zcmMvZ2xld19oZWFkLmggb25seQorKiBpbmNsdWRlL0dML2dsZXcuaCBpcyBub3QgcGFydCBvZiBnaXQgcmVwbyBhbmQgZ2V0cyBjcmVhdGVkIG9uIHRhcmJhbGwKKyAgY3JlYXRpb24KKworPT4gcGF0Y2ggaW5jbHVkZS9HTC9nbGV3LmggZWl0aGVyIHRvIGNhdXNlIHRoZSBkZXNpcmVkIGZpeAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFsxXQorCitbMV0gaHR0cHM6Ly9naXRodWIuY29tL25pZ2Vscy1jb20vZ2xldy9jb21taXQvN2Y2NWEzNjg2NmY0ZTI0ZGQxNDQ2ZmUxYzlkMjE0MjRmMjhiY2FiZAorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorLS0tCisgYXV0by9zcmMvZ2xld19oZWFkLmggfCAzICsrLQorIGluY2x1ZGUvR0wvZ2xldy5oICAgIHwgMyArKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2F1dG8vc3JjL2dsZXdfaGVhZC5oIGIvYXV0by9zcmMvZ2xld19oZWFkLmgKK2luZGV4IGMxOWNlZmIuLjhmMzEzZDkgMTAwNjQ0CistLS0gYS9hdXRvL3NyYy9nbGV3X2hlYWQuaAorKysrIGIvYXV0by9zcmMvZ2xld19oZWFkLmgKK0BAIC0xNCw3ICsxNCw3IEBACisgI2lmIGRlZmluZWQoX19SRUdBTF9IX18pCisgI2Vycm9yIFJlZ2FsLmggaW5jbHVkZWQgYmVmb3JlIGdsZXcuaAorICNlbmRpZgorLSNpZiBkZWZpbmVkKF9fZ2xleHRfaF8pIHx8IGRlZmluZWQoX19HTEVYVF9IXykKKysjaWYgZGVmaW5lZChfX2dsZXh0X2hfKSB8fCBkZWZpbmVkKF9fR0xFWFRfSF8pIHx8IGRlZmluZWQoX19nbF9nbGV4dF9oXykKKyAjZXJyb3IgZ2xleHQuaCBpbmNsdWRlZCBiZWZvcmUgZ2xldy5oCisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19nbF9BVElfaF8pCitAQCAtMzAsNiArMzAsNyBAQAorICNkZWZpbmUgX19YX0dMX0gKKyAjZGVmaW5lIF9fZ2xleHRfaF8KKyAjZGVmaW5lIF9fR0xFWFRfSF8KKysjZGVmaW5lIF9fZ2xfZ2xleHRfaF8KKyAjZGVmaW5lIF9fZ2xfQVRJX2hfCisgCisgI2lmIGRlZmluZWQoX1dJTjMyKQorZGlmZiAtLWdpdCBhL2luY2x1ZGUvR0wvZ2xldy5oIGIvaW5jbHVkZS9HTC9nbGV3LmgKK2luZGV4IGI1YjY5ODcuLmE5ZjllNGIgMTAwNjQ0CistLS0gYS9pbmNsdWRlL0dML2dsZXcuaAorKysrIGIvaW5jbHVkZS9HTC9nbGV3LmgKK0BAIC05Myw3ICs5Myw3IEBACisgI2lmIGRlZmluZWQoX19SRUdBTF9IX18pCisgI2Vycm9yIFJlZ2FsLmggaW5jbHVkZWQgYmVmb3JlIGdsZXcuaAorICNlbmRpZgorLSNpZiBkZWZpbmVkKF9fZ2xleHRfaF8pIHx8IGRlZmluZWQoX19HTEVYVF9IXykKKysjaWYgZGVmaW5lZChfX2dsZXh0X2hfKSB8fCBkZWZpbmVkKF9fR0xFWFRfSF8pIHx8IGRlZmluZWQoX19nbF9nbGV4dF9oXykKKyAjZXJyb3IgZ2xleHQuaCBpbmNsdWRlZCBiZWZvcmUgZ2xldy5oCisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19nbF9BVElfaF8pCitAQCAtMTA5LDYgKzEwOSw3IEBACisgI2RlZmluZSBfX1hfR0xfSAorICNkZWZpbmUgX19nbGV4dF9oXworICNkZWZpbmUgX19HTEVYVF9IXworKyNkZWZpbmUgX19nbF9nbGV4dF9oXworICNkZWZpbmUgX19nbF9BVElfaF8KKyAKKyAjaWYgZGVmaW5lZChfV0lOMzIpCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9nbGV3L2dsZXdfMi4xLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9nbGV3L2dsZXdfMi4xLjAuYmIKaW5kZXggYmU3MjVlMC4uMThlNjkwOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZ2xldy9nbGV3XzIuMS4wLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2dsZXcvZ2xld18yLjEuMC5iYgpAQCAtNiw3ICs2LDggQEAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT0yYWMyNTE1NThkZTY4NWM2Yjk0NzhkODliZTMxNDljMiIKIAogU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC9nbGV3L2dsZXcvJHtQVn0vZ2xldy0ke1BWfS50Z3ogXAotICAgICAgICAgICBmaWxlOi8vbm8tc3RyaXAucGF0Y2giCisgICAgICAgICAgIGZpbGU6Ly9uby1zdHJpcC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeGVkLWNvbXBpbGF0aW9uLXdpdGgtY3VycmVudC1tZXNhLXZlcnNpb25zLnBhdGNoIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiYjJhYjEyMzMxMDMzZGRmYWE1MGRjMzkzNDUzNDM5ODAiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDRkZTkxZTdlNjc2MzAzOWJjMTE5NDAwOTVjZDljN2Y4ODBiYWJhODIxOTZhNzc2NWY3MjdhYzA1YTk5M2M5NSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2hhcmZidXp6L2hhcmZidXp6XzEuOC44LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvaGFyZmJ1enovaGFyZmJ1enpfMS44LjguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5MDRkOTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvaGFyZmJ1enovaGFyZmJ1enpfMS44LjguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1TVU1NQVJZID0gIlRleHQgc2hhcGluZyBsaWJyYXJ5IgotREVTQ1JJUFRJT04gPSAiSGFyZkJ1enogaXMgYW4gT3BlblR5cGUgdGV4dCBzaGFwaW5nIGVuZ2luZS4iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL0hhcmZCdXp6IgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1IYXJmQnV6eiIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTAyMWRkNmRkYTZmZjFlNmIxMDQ0MDAyZmM2NjJiOWIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2hiLXVjZG4vQ09QWUlORzttZDU9OTk0YmEwZjEyOTVmMTViNGJkYTQ5OTlhNWJiZWRkZWYgXAotIgotCi1ERVBFTkRTID0gImdsaWItMi4wIGNhaXJvIGZvbnRjb25maWcgZnJlZXR5cGUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvaGFyZmJ1enovcmVsZWFzZS8ke0JQfS50YXIuYnoyIgotU1JDX1VSSVttZDVzdW1dID0gIjgxZGJjZTgyZDY0NzFlYzJiMmE2MjdjZTAyZDAzZTVkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImE4ZTVjODZlNGQ5OWUxY2M5ODY1ZWMxYjhlOWIwNWI5OGU0MTNjMmE4ODVjZDExZjhlOWJiOTUwMmRkM2UzYTkiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBsaWJfcGFja2FnZSBndGstZG9jCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJpY3UiCi1QQUNLQUdFQ09ORklHW2ljdV0gPSAiLS13aXRoLWljdSwtLXdpdGhvdXQtaWN1LGljdSIKLQotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS13aXRoLWNhaXJvIFwKLSAgICAtLXdpdGgtZm9udGNvbmZpZyBcCi0gICAgLS13aXRoLWZyZWV0eXBlIFwKLSAgICAtLXdpdGgtZ2xpYiBcCi0gICAgLS13aXRob3V0LWdyYXBoaXRlMiBcCi0iCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgICMgVGhpcyBpcyBhbmNpZW50IGFuZCBjYW4gZ2V0IHVzZWQgaW5zdGVhZCBvZiB0aGUgcGF0Y2hlZCBvbmUgd2Ugc2hpcCwKLSAgICAjIHNvIGRlbGV0ZSBpdC4gSW4gMS44LjkgdGhpcyBzaG91bGQgYmUgcmVtb3ZlZCB1cHN0cmVhbS4KLSAgICBybSAtZiAke1N9L200L3BrZy5tNAotfQotCi1QQUNLQUdFUyA9KyAiJHtQTn0taWN1ICR7UE59LWljdS1kZXYiCi0KLUxFQURfU09OQU1FID0gImxpYmhhcmZidXp6LnNvIgotCi1GSUxFU18ke1BOfS1pY3UgPSAiJHtsaWJkaXJ9L2xpYmhhcmZidXp6LWljdS5zby4qIgotRklMRVNfJHtQTn0taWN1LWRldiA9ICIke2xpYmRpcn0vbGliaGFyZmJ1enotaWN1LmxhIFwKLSAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYmhhcmZidXp6LWljdS5zbyBcCi0gICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wa2djb25maWcvaGFyZmJ1enotaWN1LnBjIFwKLSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9oYXJmYnV6ei9oYXJmYnV6el8yLjMuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2hhcmZidXp6L2hhcmZidXp6XzIuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiMjkyZDgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9oYXJmYnV6ei9oYXJmYnV6el8yLjMuMS5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIlRleHQgc2hhcGluZyBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiSGFyZkJ1enogaXMgYW4gT3BlblR5cGUgdGV4dCBzaGFwaW5nIGVuZ2luZS4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL0hhcmZCdXp6IgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1IYXJmQnV6eiIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTAyMWRkNmRkYTZmZjFlNmIxMDQ0MDAyZmM2NjJiOWIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2hiLXVjZG4vQ09QWUlORzttZDU9OTk0YmEwZjEyOTVmMTViNGJkYTQ5OTlhNWJiZWRkZWYgXAorIgorCitERVBFTkRTID0gImdsaWItMi4wIGNhaXJvIGZvbnRjb25maWcgZnJlZXR5cGUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvaGFyZmJ1enovcmVsZWFzZS8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjUzMWRlOWRmN2M4YTU0MDVkZDljNmE4NzNmY2VlOGMyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImYyMDU2OTlkNWI5MTM3NDAwOGQ2ZjhlMzZjNTllNDE5YWUyZDlhN2JiOGM1ZDlmMzQwNDFiOWE1YWJjYWU0NjgiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBsaWJfcGFja2FnZSBndGstZG9jCisKK1BBQ0tBR0VDT05GSUcgPz89ICJpY3UiCitQQUNLQUdFQ09ORklHW2ljdV0gPSAiLS13aXRoLWljdSwtLXdpdGhvdXQtaWN1LGljdSIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS13aXRoLWNhaXJvIFwKKyAgICAtLXdpdGgtZm9udGNvbmZpZyBcCisgICAgLS13aXRoLWZyZWV0eXBlIFwKKyAgICAtLXdpdGgtZ2xpYiBcCisgICAgLS13aXRob3V0LWdyYXBoaXRlMiBcCisiCisKK1BBQ0tBR0VTID0rICIke1BOfS1pY3UgJHtQTn0taWN1LWRldiIKKworTEVBRF9TT05BTUUgPSAibGliaGFyZmJ1enouc28iCisKK0ZJTEVTXyR7UE59LWljdSA9ICIke2xpYmRpcn0vbGliaGFyZmJ1enotaWN1LnNvLioiCitGSUxFU18ke1BOfS1pY3UtZGV2ID0gIiR7bGliZGlyfS9saWJoYXJmYnV6ei1pY3UubGEgXAorICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGliaGFyZmJ1enotaWN1LnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy9oYXJmYnV6ei1pY3UucGMgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9qcGVnL2ZpbGVzLzAwMDEtbGlianBlZy10dXJiby1maXgtcGFja2FnZV9xYS1lcnJvci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvZmlsZXMvMDAwMS1saWJqcGVnLXR1cmJvLWZpeC1wYWNrYWdlX3FhLWVycm9yLnBhdGNoCmluZGV4IDQ0YzJjNzYuLjgyZmZmZTEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvZmlsZXMvMDAwMS1saWJqcGVnLXR1cmJvLWZpeC1wYWNrYWdlX3FhLWVycm9yLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvZmlsZXMvMDAwMS1saWJqcGVnLXR1cmJvLWZpeC1wYWNrYWdlX3FhLWVycm9yLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAwYTI0ZjAzYTY3NDI1YTdiNThiM2ZkNDBkOTY1YzBjOTgwMWFlN2ExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA1Y2Y4NDdiNWJlZjhkYzNmOWY4OWJkMDlkZDVhZjRlNjYwM2YzOTNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KIERhdGU6IE1vbiwgMjcgQXVnIDIwMTggMTY6MTA6NTUgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSF0gbGlianBlZy10dXJibzogZml4IHBhY2thZ2VfcWEgZXJyb3IKQEAgLTEwLDIzICsxMCwyMyBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlW29lLXNwZWNpZmljXQogCiBTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KIC0tLQotIENNYWtlTGlzdHMudHh0IHwgMiAtLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQorIENNYWtlTGlzdHMudHh0IHwgNCAtLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Ci1pbmRleCAxNzE5NTIyLi42ODJjZWYxIDEwMDY0NAoraW5kZXggMmJjMzQ1OC4uZWEzMDQxZSAxMDA2NDQKIC0tLSBhL0NNYWtlTGlzdHMudHh0CiArKysgYi9DTWFrZUxpc3RzLnR4dAotQEAgLTEwOSw4ICsxMDksNiBAQCBlbmRpZigpCitAQCAtMTg5LDEwICsxODksNiBAQCBlbmRpZigpCisgcmVwb3J0X29wdGlvbihFTkFCTEVfU0hBUkVEICJTaGFyZWQgbGlicmFyaWVzIikKKyByZXBvcnRfb3B0aW9uKEVOQUJMRV9TVEFUSUMgIlN0YXRpYyBsaWJyYXJpZXMiKQogIAotIGluY2x1ZGUoY21ha2VzY3JpcHRzL0dOVUluc3RhbGxEaXJzLmNtYWtlKQotIAotLXNldChDTUFLRV9JTlNUQUxMX1JQQVRIICR7Q01BS0VfSU5TVEFMTF9GVUxMX0xJQkRJUn0pCistaWYoRU5BQkxFX1NIQVJFRCkKKy0gIHNldChDTUFLRV9JTlNUQUxMX1JQQVRIICR7Q01BS0VfSU5TVEFMTF9GVUxMX0xJQkRJUn0pCistZW5kaWYoKQogLQotIG1hY3JvKHJlcG9ydF9kaXJlY3RvcnkgdmFyKQotICAgaWYoQ01BS0VfSU5TVEFMTF8ke3Zhcn0gU1RSRVFVQUwgQ01BS0VfSU5TVEFMTF9GVUxMXyR7dmFyfSkKLSAgICAgbWVzc2FnZShTVEFUVVMgIkNNQUtFX0lOU1RBTExfJHt2YXJ9ID0gJHtDTUFLRV9JTlNUQUxMXyR7dmFyfX0iKQotLS0gCi0yLjcuNAotCisgaWYoV0lUSF8xMkJJVCkKKyAgIHNldChXSVRIX0FSSVRIX0RFQyAwKQorICAgc2V0KFdJVEhfQVJJVEhfRU5DIDApCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9qcGVnL2ZpbGVzLzAwMDEtbGlianBlZy10dXJiby1maXgtd3JvbmdseS1kZWZpbmVkLWRlZmluZS1IQVZFX1NURExJQi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvZmlsZXMvMDAwMS1saWJqcGVnLXR1cmJvLWZpeC13cm9uZ2x5LWRlZmluZWQtZGVmaW5lLUhBVkVfU1RETElCLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjc2N2ViLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvZmlsZXMvMDAwMS1saWJqcGVnLXR1cmJvLWZpeC13cm9uZ2x5LWRlZmluZWQtZGVmaW5lLUhBVkVfU1RETElCLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTE5ICswLDAgQEAKLUZyb20gZDMwMTAxOWQwZjIzZDEyYjk2NjZkM2Q4OGIwODU5MDY3YTRhZGU3NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDMwIEF1ZyAyMDE4IDE1OjA4OjIzICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxpYmpwZWctdHVyYm86IGZpeCB3cm9uZ2x5IGRlZmluZWQgZGVmaW5lIEhBVkVfU1RETElCX0gKLQotd2hlbiBjaGFuZ2UgYnVpbGQgc3lzdGVtIGZyb20gYXV0b3Rvb2xzIHRvIGNtYWtlLCBiZWxvdwotcGFydCBpcyByZXBsYWNlIHdyb25nbHk6Ci0KLSIjdW5kZWYgSEFWRV9TVERMSUJfSCIKLXNob3VsZCBiZSBjaGFuZ2UgdG8gIiNjbWFrZWRlZmluZSBIQVZFX1NURExJQl9IIDEiCi1ub3QgIiNjbWFrZWRlZmluZSBIQVZFX1NURExJQl9IIgotCi1vdGhlcndpc2UsIGV2ZW4gaWYgc3RkbGliLmggaXMgZm91bmQsIG91dHB1dCBmaWxlCi1vZiBjb25maWd1cmVfZmlsZSgpIHdpbGwgZGVmaW5lIGxpa2U6ICNkZWZpbmUgSEFWRV9TVERMSUJfSAotYnV0IHdlIG5lZWQgaXQgYXMgI2RlZmluZSBIQVZFX1NURExJQl9IIDEsIHNpbmNlIGZvcgotZGlmZmVyZW50IGRlZmluYXRpb24gb2YgSEFWRV9TVERMSUJfSCB3aWxsIGNhdXNlIGJlbG93IGVycm9yOgotZXJyb3I6ICJIQVZFX1NURExJQl9IIiByZWRlZmluZWQgWy1XZXJyb3JdCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkW2h0dHBzOi8vZ2l0aHViLmNvbS9saWJqcGVnLXR1cmJvL2xpYmpwZWctdHVyYm8vcHVsbC8yNzVdCi0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBqY29uZmlnLmguaW4gICAgfCAyOCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCi0gamNvbmZpZ2ludC5oLmluIHwgIDQgKystLQotIDIgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9qY29uZmlnLmguaW4gYi9qY29uZmlnLmguaW4KLWluZGV4IDI4NDI3NTQuLjE4YTY5YTQgMTAwNjQ0Ci0tLS0gYS9qY29uZmlnLmguaW4KLSsrKyBiL2pjb25maWcuaC5pbgotQEAgLTEwLDE2ICsxMCwxNiBAQAotICNkZWZpbmUgTElCSlBFR19UVVJCT19WRVJTSU9OX05VTUJFUiAgQExJQkpQRUdfVFVSQk9fVkVSU0lPTl9OVU1CRVJACi0gCi0gLyogU3VwcG9ydCBhcml0aG1ldGljIGVuY29kaW5nICovCi0tI2NtYWtlZGVmaW5lIENfQVJJVEhfQ09ESU5HX1NVUFBPUlRFRAotKyNjbWFrZWRlZmluZSBDX0FSSVRIX0NPRElOR19TVVBQT1JURUQgMQotIAotIC8qIFN1cHBvcnQgYXJpdGhtZXRpYyBkZWNvZGluZyAqLwotLSNjbWFrZWRlZmluZSBEX0FSSVRIX0NPRElOR19TVVBQT1JURUQKLSsjY21ha2VkZWZpbmUgRF9BUklUSF9DT0RJTkdfU1VQUE9SVEVEIDEKLSAKLSAvKiBTdXBwb3J0IGluLW1lbW9yeSBzb3VyY2UvZGVzdGluYXRpb24gbWFuYWdlcnMgKi8KLS0jY21ha2VkZWZpbmUgTUVNX1NSQ0RTVF9TVVBQT1JURUQKLSsjY21ha2VkZWZpbmUgTUVNX1NSQ0RTVF9TVVBQT1JURUQgMQotIAotIC8qIFVzZSBhY2NlbGVyYXRlZCBTSU1EIHJvdXRpbmVzLiAqLwotLSNjbWFrZWRlZmluZSBXSVRIX1NJTUQKLSsjY21ha2VkZWZpbmUgV0lUSF9TSU1EIDEKLSAKLSAvKgotICAqIERlZmluZSBCSVRTX0lOX0pTQU1QTEUgYXMgZWl0aGVyCi1AQCAtMzMsMzcgKzMzLDM3IEBACi0gI2RlZmluZSBCSVRTX0lOX0pTQU1QTEUgIEBCSVRTX0lOX0pTQU1QTEVAICAgICAgLyogdXNlIDggb3IgMTIgKi8KLSAKLSAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxvY2FsZS5oPiBoZWFkZXIgZmlsZS4gKi8KLS0jY21ha2VkZWZpbmUgSEFWRV9MT0NBTEVfSAotKyNjbWFrZWRlZmluZSBIQVZFX0xPQ0FMRV9IIDEKLSAKLSAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGRlZi5oPiBoZWFkZXIgZmlsZS4gKi8KLS0jY21ha2VkZWZpbmUgSEFWRV9TVERERUZfSAotKyNjbWFrZWRlZmluZSBIQVZFX1NURERFRl9IIDEKLSAKLSAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGxpYi5oPiBoZWFkZXIgZmlsZS4gKi8KLS0jY21ha2VkZWZpbmUgSEFWRV9TVERMSUJfSAotKyNjbWFrZWRlZmluZSBIQVZFX1NURExJQl9IIDEKLSAKLSAvKiBEZWZpbmUgaWYgeW91IG5lZWQgdG8gaW5jbHVkZSA8c3lzL3R5cGVzLmg+IHRvIGdldCBzaXplX3QuICovCi0tI2NtYWtlZGVmaW5lIE5FRURfU1lTX1RZUEVTX0gKLSsjY21ha2VkZWZpbmUgTkVFRF9TWVNfVFlQRVNfSCAxCi0gCi0gLyogRGVmaW5lIGlmIHlvdSBoYXZlIEJTRC1saWtlIGJ6ZXJvIGFuZCBiY29weSBpbiA8c3RyaW5ncy5oPiByYXRoZXIgdGhhbgotICAgIG1lbXNldC9tZW1jcHkgaW4gPHN0cmluZy5oPi4gKi8KLS0jY21ha2VkZWZpbmUgTkVFRF9CU0RfU1RSSU5HUwotKyNjbWFrZWRlZmluZSBORUVEX0JTRF9TVFJJTkdTIDEKLSAKLSAvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgdW5zaWduZWQgY2hhcicuICovCi0tI2NtYWtlZGVmaW5lIEhBVkVfVU5TSUdORURfQ0hBUgotKyNjbWFrZWRlZmluZSBIQVZFX1VOU0lHTkVEX0NIQVIgMQotIAotIC8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGB1bnNpZ25lZCBzaG9ydCcuICovCi0tI2NtYWtlZGVmaW5lIEhBVkVfVU5TSUdORURfU0hPUlQKLSsjY21ha2VkZWZpbmUgSEFWRV9VTlNJR05FRF9TSE9SVCAxCi0gCi0gLyogQ29tcGlsZXIgZG9lcyBub3Qgc3VwcG9ydCBwb2ludGVycyB0byB1bmRlZmluZWQgc3RydWN0dXJlcy4gKi8KLS0jY21ha2VkZWZpbmUgSU5DT01QTEVURV9UWVBFU19CUk9LRU4KLSsjY21ha2VkZWZpbmUgSU5DT01QTEVURV9UWVBFU19CUk9LRU4gMQotIAotIC8qIERlZmluZSBpZiB5b3VyIChicm9rZW4pIGNvbXBpbGVyIHNoaWZ0cyBzaWduZWQgdmFsdWVzIGFzIGlmIHRoZXkgd2VyZQotICAgIHVuc2lnbmVkLiAqLwotLSNjbWFrZWRlZmluZSBSSUdIVF9TSElGVF9JU19VTlNJR05FRAotKyNjbWFrZWRlZmluZSBSSUdIVF9TSElGVF9JU19VTlNJR05FRCAxCi0gCi0gLyogRGVmaW5lIHRvIDEgaWYgdHlwZSBgY2hhcicgaXMgdW5zaWduZWQgYW5kIHlvdSBhcmUgbm90IHVzaW5nIGdjYy4gICovCi0gI2lmbmRlZiBfX0NIQVJfVU5TSUdORURfXwotLSAgI2NtYWtlZGVmaW5lIF9fQ0hBUl9VTlNJR05FRF9fCi0rICAjY21ha2VkZWZpbmUgX19DSEFSX1VOU0lHTkVEX18gMQotICNlbmRpZgotIAotIC8qIERlZmluZSB0byBlbXB0eSBpZiBgY29uc3QnIGRvZXMgbm90IGNvbmZvcm0gdG8gQU5TSSBDLiAqLwotZGlmZiAtLWdpdCBhL2pjb25maWdpbnQuaC5pbiBiL2pjb25maWdpbnQuaC5pbgotaW5kZXggNTVkZjA1My4uNmM4OThhYyAxMDA2NDQKLS0tLSBhL2pjb25maWdpbnQuaC5pbgotKysrIGIvamNvbmZpZ2ludC5oLmluCi1AQCAtMTcsMTAgKzE3LDEwIEBACi0gI2RlZmluZSBTSVpFT0ZfU0laRV9UICBAU0laRV9UQAotIAotIC8qIERlZmluZSBpZiB5b3VyIGNvbXBpbGVyIGhhcyBfX2J1aWx0aW5fY3R6bCgpIGFuZCBzaXplb2YodW5zaWduZWQgbG9uZykgPT0gc2l6ZW9mKHNpemVfdCkuICovCi0tI2NtYWtlZGVmaW5lIEhBVkVfQlVJTFRJTl9DVFpMCi0rI2NtYWtlZGVmaW5lIEhBVkVfQlVJTFRJTl9DVFpMIDEKLSAKLSAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGludHJpbi5oPiBoZWFkZXIgZmlsZS4gKi8KLS0jY21ha2VkZWZpbmUgSEFWRV9JTlRSSU5fSAotKyNjbWFrZWRlZmluZSBIQVZFX0lOVFJJTl9IIDEKLSAKLSAjaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgZGVmaW5lZChIQVZFX0lOVFJJTl9IKQotICNpZiAoU0laRU9GX1NJWkVfVCA9PSA4KQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9qcGVnL2xpYmpwZWctdHVyYm9fMi4wLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9qcGVnL2xpYmpwZWctdHVyYm9fMi4wLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4MmJmOTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvanBlZy9saWJqcGVnLXR1cmJvXzIuMC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotU1VNTUFSWSA9ICJIYXJkd2FyZSBhY2NlbGVyYXRlZCBKUEVHIGNvbXByZXNzaW9uL2RlY29tcHJlc3Npb24gbGlicmFyeSIKLURFU0NSSVBUSU9OID0gImxpYmpwZWctdHVyYm8gaXMgYSBkZXJpdmF0aXZlIG9mIGxpYmpwZWcgdGhhdCB1c2VzIFNJTUQgaW5zdHJ1Y3Rpb25zIChNTVgsIFNTRTIsIE5FT04pIHRvIGFjY2VsZXJhdGUgYmFzZWxpbmUgSlBFRyBjb21wcmVzc2lvbiBhbmQgZGVjb21wcmVzc2lvbiIKLUhPTUVQQUdFID0gImh0dHA6Ly9saWJqcGVnLXR1cmJvLm9yZy8iCi0KLUxJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vY2RqcGVnLmg7ZW5kbGluZT0xMzttZDU9ODE4NGJjYzdjNGFjN2I5ZWRjNmE3YmMwMGYyMzFkMGIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vanBlZ2xpYi5oO2VuZGxpbmU9MTY7bWQ1PTdlYTk3ZGM4M2IwZjU5MDUyZWU4MzdlNjFlZjBlMDhmIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RqcGVnLmM7ZW5kbGluZT0xMTttZDU9YzU5ZTE5ODExYzAwNmNiMzhmODJkNjQ3NzEzNGQzMTQgXAotIgotREVQRU5EU19hcHBlbmRfeDg2LTY0X2NsYXNzLXRhcmdldCA9ICIgbmFzbS1uYXRpdmUiCi1ERVBFTkRTX2FwcGVuZF94ODZfY2xhc3MtdGFyZ2V0ICAgID0gIiBuYXNtLW5hdGl2ZSIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJqcGVnLXR1cmJvLWZpeC1wYWNrYWdlX3FhLWVycm9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbGlianBlZy10dXJiby1maXgtd3JvbmdseS1kZWZpbmVkLWRlZmluZS1IQVZFX1NURExJQi5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gImIxMmEzZmNmMWQwNzhkYjM4NDEwZjI3NzE4YTkxYjgzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc3ODg3NjEwNWQwZDMxNjIwM2M5MjhmZDJhMDM3NGM4YzAxZjc1NWQwYTAwYjEyYTFjODkzNGFlY2NmZjg4NjgiCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJqcGVnLXR1cmJvL2ZpbGVzLyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIi9saWJqcGVnLXR1cmJvL2ZpbGVzLyg/UDxwdmVyPihcZCtbXC5cLV9dKikrKS8iCi0KLVBFPSAiMSIKLQotIyBEcm9wLWluIHJlcGxhY2VtZW50IGZvciBqcGVnCi1QUk9WSURFUyA9ICJqcGVnIgotUlBST1ZJREVTXyR7UE59ICs9ICJqcGVnIgotUlJFUExBQ0VTXyR7UE59ICs9ICJqcGVnIgotUkNPTkZMSUNUU18ke1BOfSArPSAianBlZyIKLQotaW5oZXJpdCBjbWFrZSBwa2djb25maWcKLQotIyBBZGQgbmFzbS1uYXRpdmUgZGVwZW5kZW5jeSBjb25zaXN0ZW50bHkgZm9yIGFsbCBidWlsZCBhcmNoZXMgaXMgaGFyZAotRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtRFdJVEhfU0lNRD1GYWxzZSIKLQotIyBXb3JrIGFyb3VuZCBtaXNzaW5nIHgzMiBBQkkgc3VwcG9ydAotRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJteDMyIiwgIi1EV0lUSF9TSU1EPUZhbHNlIiwgIiIsIGQpfSIKLQotIyBXb3JrIGFyb3VuZCBtaXNzaW5nIG5vbi1mbG9hdGluZyBwb2ludCBBQkkgc3VwcG9ydCBpbiBNSVBTCi1FWFRSQV9PRUNNQUtFX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJNSVBTUEtHU0ZYX0ZQVSIsICItbmYiLCAiLURXSVRIX1NJTUQ9RmFsc2UiLCAiIiwgZCl9IgotCi0jIFByb3ZpZGUgYSB3b3JrYXJvdW5kIGlmIEFsdGl2ZWMgdW5pdCBpcyBub3QgcHJlc2VudCBpbiBQUEMKLUVYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLXRhcmdldF9wb3dlcnBjID0gIiAke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJhbHRpdmVjIiwgIiIsICItRFdJVEhfU0lNRD1GYWxzZSIsIGQpfSIKLUVYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLXRhcmdldF9wb3dlcnBjNjQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgImFsdGl2ZWMiLCAiIiwgIi1EV0lUSF9TSU1EPUZhbHNlIiwgZCl9IgotCi1ERUJVR19PUFRJTUlaQVRJT05fYXBwZW5kX2FybXY0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnVFVORV9DQ0FSR1MnLCAnLW10aHVtYicsICctZm9taXQtZnJhbWUtcG9pbnRlcicsICcnLCBkKX0iCi1ERUJVR19PUFRJTUlaQVRJT05fYXBwZW5kX2FybXY1ID0gIiAke0BiYi51dGlscy5jb250YWlucygnVFVORV9DQ0FSR1MnLCAnLW10aHVtYicsICctZm9taXQtZnJhbWUtcG9pbnRlcicsICcnLCBkKX0iCi0KLVBBQ0tBR0VTID0rICJqcGVnLXRvb2xzIGxpYnR1cmJvanBlZyIKLQotREVTQ1JJUFRJT05fanBlZy10b29scyA9ICJUaGUganBlZy10b29scyBwYWNrYWdlIGluY2x1ZGVzIGNsaWVudCBwcm9ncmFtcyB0byBhY2Nlc3MgbGlianBlZyBmdW5jdGlvbmFsaXR5LiAgVGhlc2UgdG9vbHMgYWxsb3cgZm9yIHRoZSBjb21wcmVzc2lvbiwgZGVjb21wcmVzc2lvbiwgdHJhbnNmb3JtYXRpb24gYW5kIGRpc3BsYXkgb2YgSlBFRyBmaWxlcyBhbmQgYmVuY2htYXJraW5nIG9mIHRoZSBsaWJqcGVnIGxpYnJhcnkuIgotRklMRVNfanBlZy10b29scyA9ICIke2JpbmRpcn0vKiIKLQotREVTQ1JJUFRJT05fbGlidHVyYm9qcGVnID0gIkEgU0lNRC1hY2NlbGVyYXRlZCBKUEVHIGNvZGVjIHdoaWNoIHByb3ZpZGVzIG9ubHkgVHVyYm9KUEVHIEFQSXMiCi1GSUxFU19saWJ0dXJib2pwZWcgPSAiJHtsaWJkaXJ9L2xpYnR1cmJvanBlZy5zby4qIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvbGlianBlZy10dXJib18yLjAuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvbGlianBlZy10dXJib18yLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWRmNzU0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvanBlZy9saWJqcGVnLXR1cmJvXzIuMC4yLmJiCkBAIC0wLDAgKzEsNTcgQEAKK1NVTU1BUlkgPSAiSGFyZHdhcmUgYWNjZWxlcmF0ZWQgSlBFRyBjb21wcmVzc2lvbi9kZWNvbXByZXNzaW9uIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJsaWJqcGVnLXR1cmJvIGlzIGEgZGVyaXZhdGl2ZSBvZiBsaWJqcGVnIHRoYXQgdXNlcyBTSU1EIGluc3RydWN0aW9ucyAoTU1YLCBTU0UyLCBORU9OKSB0byBhY2NlbGVyYXRlIGJhc2VsaW5lIEpQRUcgY29tcHJlc3Npb24gYW5kIGRlY29tcHJlc3Npb24iCitIT01FUEFHRSA9ICJodHRwOi8vbGlianBlZy10dXJiby5vcmcvIgorCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2NkanBlZy5oO2VuZGxpbmU9MTM7bWQ1PTgxODRiY2M3YzRhYzdiOWVkYzZhN2JjMDBmMjMxZDBiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2pwZWdsaWIuaDtlbmRsaW5lPTE2O21kNT03ZWE5N2RjODNiMGY1OTA1MmVlODM3ZTYxZWYwZTA4ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kanBlZy5jO2VuZGxpbmU9MTE7bWQ1PWM1OWUxOTgxMWMwMDZjYjM4ZjgyZDY0NzcxMzRkMzE0IFwKKyIKK0RFUEVORFNfYXBwZW5kX3g4Ni02NF9jbGFzcy10YXJnZXQgPSAiIG5hc20tbmF0aXZlIgorREVQRU5EU19hcHBlbmRfeDg2X2NsYXNzLXRhcmdldCAgICA9ICIgbmFzbS1uYXRpdmUiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbGlianBlZy10dXJiby1maXgtcGFja2FnZV9xYS1lcnJvci5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjc5Zjc2ZmJmYjBjNjEwOTYzMTMzMjc2MmQxMGUxNmQyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFjYjg1OTlmZTUzOTlhZjExNDI4N2VlNTkwN2FlYTQ0NTZmOGYyYzFjYzk2ZDI2YzI4YWViZmRmNWVlODJmZWQiCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJqcGVnLXR1cmJvL2ZpbGVzLyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIi9saWJqcGVnLXR1cmJvL2ZpbGVzLyg/UDxwdmVyPihcZCtbXC5cLV9dKikrKS8iCisKK1BFPSAiMSIKKworIyBEcm9wLWluIHJlcGxhY2VtZW50IGZvciBqcGVnCitQUk9WSURFUyA9ICJqcGVnIgorUlBST1ZJREVTXyR7UE59ICs9ICJqcGVnIgorUlJFUExBQ0VTXyR7UE59ICs9ICJqcGVnIgorUkNPTkZMSUNUU18ke1BOfSArPSAianBlZyIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcKKworIyBBZGQgbmFzbS1uYXRpdmUgZGVwZW5kZW5jeSBjb25zaXN0ZW50bHkgZm9yIGFsbCBidWlsZCBhcmNoZXMgaXMgaGFyZAorRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtRFdJVEhfU0lNRD1GYWxzZSIKK0VYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgLURXSVRIX1NJTUQ9RmFsc2UiCisKKyMgV29yayBhcm91bmQgbWlzc2luZyB4MzIgQUJJIHN1cHBvcnQKK0VYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAibXgzMiIsICItRFdJVEhfU0lNRD1GYWxzZSIsICIiLCBkKX0iCisKKyMgV29yayBhcm91bmQgbWlzc2luZyBub24tZmxvYXRpbmcgcG9pbnQgQUJJIHN1cHBvcnQgaW4gTUlQUworRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygiTUlQU1BLR1NGWF9GUFUiLCAiLW5mIiwgIi1EV0lUSF9TSU1EPUZhbHNlIiwgIiIsIGQpfSIKKworIyBQcm92aWRlIGEgd29ya2Fyb3VuZCBpZiBBbHRpdmVjIHVuaXQgaXMgbm90IHByZXNlbnQgaW4gUFBDCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9jbGFzcy10YXJnZXRfcG93ZXJwYyA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAiYWx0aXZlYyIsICIiLCAiLURXSVRIX1NJTUQ9RmFsc2UiLCBkKX0iCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9jbGFzcy10YXJnZXRfcG93ZXJwYzY0ID0gIiAke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJhbHRpdmVjIiwgIiIsICItRFdJVEhfU0lNRD1GYWxzZSIsIGQpfSIKKworREVCVUdfT1BUSU1JWkFUSU9OX2FwcGVuZF9hcm12NCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfQ0NBUkdTJywgJy1tdGh1bWInLCAnLWZvbWl0LWZyYW1lLXBvaW50ZXInLCAnJywgZCl9IgorREVCVUdfT1BUSU1JWkFUSU9OX2FwcGVuZF9hcm12NSA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfQ0NBUkdTJywgJy1tdGh1bWInLCAnLWZvbWl0LWZyYW1lLXBvaW50ZXInLCAnJywgZCl9IgorCitQQUNLQUdFUyA9KyAianBlZy10b29scyBsaWJ0dXJib2pwZWciCisKK0RFU0NSSVBUSU9OX2pwZWctdG9vbHMgPSAiVGhlIGpwZWctdG9vbHMgcGFja2FnZSBpbmNsdWRlcyBjbGllbnQgcHJvZ3JhbXMgdG8gYWNjZXNzIGxpYmpwZWcgZnVuY3Rpb25hbGl0eS4gIFRoZXNlIHRvb2xzIGFsbG93IGZvciB0aGUgY29tcHJlc3Npb24sIGRlY29tcHJlc3Npb24sIHRyYW5zZm9ybWF0aW9uIGFuZCBkaXNwbGF5IG9mIEpQRUcgZmlsZXMgYW5kIGJlbmNobWFya2luZyBvZiB0aGUgbGlianBlZyBsaWJyYXJ5LiIKK0ZJTEVTX2pwZWctdG9vbHMgPSAiJHtiaW5kaXJ9LyoiCisKK0RFU0NSSVBUSU9OX2xpYnR1cmJvanBlZyA9ICJBIFNJTUQtYWNjZWxlcmF0ZWQgSlBFRyBjb2RlYyB3aGljaCBwcm92aWRlcyBvbmx5IFR1cmJvSlBFRyBBUElzIgorRklMRVNfbGlidHVyYm9qcGVnID0gIiR7bGliZGlyfS9saWJ0dXJib2pwZWcuc28uKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mva21zY3ViZS9rbXNjdWJlX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ttc2N1YmUva21zY3ViZV9naXQuYmIKaW5kZXggNDZhZWViMC4uYjJkZDZiMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mva21zY3ViZS9rbXNjdWJlX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9rbXNjdWJlL2ttc2N1YmVfZ2l0LmJiCkBAIC0yLDE3ICsyLDIwIEBACiBIT01FUEFHRSA9ICJodHRwczovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL21lc2Eva21zY3ViZS8iCiBMSUNFTlNFID0gIk1JVCIKIFNFQ1RJT04gPSAiZ3JhcGhpY3MiCi1ERVBFTkRTID0gInZpcnR1YWwvbGliZ2xlczIgdmlydHVhbC9lZ2wgbGliZHJtIGdzdHJlYW1lcjEuMCBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIgorREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYmdsZXMyIHZpcnR1YWwvZWdsIGxpYmRybSIKIAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8va21zY3ViZS5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjM7bWQ1PThiMzA5ZDRlZTY3YjczMTVmZjczODEyNzBkZDYzMWZiIgogCi1TUkNSRVYgPSAiOWRjY2U3MWU2MDM2MTZlZTdhNTQ3MDdlOTMyZjk2MmNkZjhmYjIwYSIKK1NSQ1JFViA9ICJkOGRhM2RjZmRmZTMzZWU1MjVjZjU2MmU5MjhhNTI2NmFjNjk4NDNjIgogU1JDX1VSSSA9ICJnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9tZXNhL2ttc2N1YmU7YnJhbmNoPW1hc3Rlcjtwcm90b2NvbD1naXQgXAogICAgIGZpbGU6Ly9kZXRlY3QtZ3N0X2JvX21hcC1fdW5tYXAtYW5kLXVzZS1pdC1vci1hdm9pZC1pdC5wYXRjaCIKIFVQU1RSRUFNX0NIRUNLX0NPTU1JVFMgPSAiMSIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIAotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworaW5oZXJpdCBtZXNvbiBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCiAKIFJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJvcGVuZ2wiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLURnc3RyZWFtZXI9ZW5hYmxlZCwtRGdzdHJlYW1lcj1kaXNhYmxlZCxnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYmVwb3h5L2xpYmVwb3h5XzEuNS4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGliZXBveHkvbGliZXBveHlfMS41LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEwNjcyMTIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGliZXBveHkvbGliZXBveHlfMS41LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1TVU1NQVJZID0gIk9wZW5HTCBmdW5jdGlvbiBwb2ludGVyIG1hbmFnZW1lbnQgbGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9hbmhvbHQvbGliZXBveHkvIgotU0VDVElPTiA9ICJsaWJzIgotCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU4ZWY0YzgwZDQwMWUwN2JkOWVlOGI2YjU4Y2Y0NjRiIgotCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9hbmhvbHQvJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci54eiBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI0YTZiOWU1ODFkYTIyOWRlZTc0YzIyNjNjODRiMWVjYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJhOTU2MjM4NjUxOWViM2ZkN2YwMzIwOWYyNzlmNjk3YThjYmE1MjBkM2MxNTVkNmUyNTNjM2UxMzhiZWNhN2Q4IgotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9hbmhvbHQvbGliZXBveHkvcmVsZWFzZXMiCi0KLWluaGVyaXQgbWVzb24gcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAib3BlbmdsIgotCi1QQUNLQUdFQ09ORklHW2VnbF0gPSAiLURlZ2w9eWVzLCAtRGVnbD1ubywgdmlydHVhbC9lZ2wiCi1QQUNLQUdFQ09ORklHW3gxMV0gPSAiLURnbHg9eWVzLCAtRGdseD1ubywgdmlydHVhbC9saWJ4MTEgdmlydHVhbC9saWJnbCIKLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0gZWdsIgotCi1FWFRSQV9PRU1FU09OICs9ICItRHRlc3RzPWZhbHNlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGliZXBveHkvbGliZXBveHlfMS41LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJlcG94eS9saWJlcG94eV8xLjUuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDcwNmE5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGliZXBveHkvbGliZXBveHlfMS41LjMuYmIKQEAgLTAsMCArMSwzOCBAQAorU1VNTUFSWSA9ICJPcGVuR0wgZnVuY3Rpb24gcG9pbnRlciBtYW5hZ2VtZW50IGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vYW5ob2x0L2xpYmVwb3h5LyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OGVmNGM4MGQ0MDFlMDdiZDllZThiNmI1OGNmNDY0YiIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vYW5ob2x0LyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke1BWfS8ke0JQfS50YXIueHogXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiZTI4NDVkZThkMjc4MmIyZDMxYzAxYWU4ZDdjZDRjYmIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDAyOTU4YzU1MjgzMjFlZGQ1MzQ0MDIzNWQzYzQ0ZTcxYjViMWUwOWI5MTc3ZThkYWY2Nzc0NTBiNmM0NDMzZCIKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vYW5ob2x0L2xpYmVwb3h5L3JlbGVhc2VzIgorCitpbmhlcml0IG1lc29uIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIm9wZW5nbCIKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFU19jbGFzcy1uYXRpdmUgPSAiIgorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTX2NsYXNzLW5hdGl2ZXNkayA9ICIiCisKK1BBQ0tBR0VDT05GSUdbZWdsXSA9ICItRGVnbD15ZXMsIC1EZWdsPW5vLCB2aXJ0dWFsL2VnbCIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItRGdseD15ZXMsIC1EZ2x4PW5vLCB2aXJ0dWFsL2xpYngxMSB2aXJ0dWFsL2xpYmdsIgorUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSBlZ2wiCisKK0VYVFJBX09FTUVTT04gKz0gIi1EdGVzdHM9ZmFsc2UiCisKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gImVnbCIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID0gImVnbCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCisjIFRoaXMgd2lsbCBlbnN1cmUgdGhhdCBkbG9wZW4gd2lsbCBhdHRlbXB0IG9ubHkgR0wgbGlicmFyaWVzIHByb3ZpZGVkIGJ5IGhvc3QKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKwljaHJwYXRoIC0tZGVsZXRlICR7RH0ke2xpYmRpcn0vKi5zbworfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsoKSB7CisJY2hycGF0aCAtLWRlbGV0ZSAke0R9JHtsaWJkaXJ9Lyouc28KK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbDIvbGlic2RsMi8wMDAxLUdMRVMyLUdldC1zaW4tY29zLW91dC1vZi12ZXJ0ZXgtc2hhZGVyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2RsMi9saWJzZGwyLzAwMDEtR0xFUzItR2V0LXNpbi1jb3Mtb3V0LW9mLXZlcnRleC1zaGFkZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliMzJiMzcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2RsMi9saWJzZGwyLzAwMDEtR0xFUzItR2V0LXNpbi1jb3Mtb3V0LW9mLXZlcnRleC1zaGFkZXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNDEgKzAsMCBAQAotRnJvbSBjMjE1YmExZDUyYTNkNGVmMDNhZjNhYjFhNWJhYTE4NjNmODEyYWVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjQgQXVnIDIwMTggMjM6MTA6MjUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gR0xFUzI6IEdldCBzaW4vY29zIG91dCBvZiB2ZXJ0ZXggc2hhZGVyCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVRoZSBvbmx5IHBsYWNlIGFuZ2xlIGlzIGFjdGl2YXRlZCBhbmQgY2F1c2VzIGVmZmVjdCBpcyBSZW5kZXJDb3B5RXguIEFsbCBvdGhlcgotbWV0aG9kcyB3aGljaCB1c2UgdmVydGV4IHNoYWRlciwgbGVhdmUgYW5nbGUgZGlzYWJsZWQgYW5kIGNhdXNlIHVzZWxlc3Mgc2luL2NvcwotY2FsY3VsYXRpb24gaW4gc2hhZGVyLgotCi1UbyBnZXQgYXJvdW5kIHNoYWRlcidzIGludGVyZmFjZSBpcyBjaGFuZ2VkIHRvIGEgdmVjdG9yIHRoYXQgY29udGFpbnMgcmVzdWx0cwotb2Ygc2luIGFuZCBjb3MuIFRvIGJlaGF2ZSBwcm9wZXJseSB3aGVuIGRpc2FibGVkLCBjb3MgdmFsdWUgaXMgc2V0IHdpdGggb2Zmc2V0Ci0tMS4wIG1ha2luZyAwLjAgZGVmYXVsdCB3aGVuIGRlYWN0aXZhdGVkLgotCi1BcyBuaWNlIHNpZGUgZWZmZWN0IGl0IHNpbXBsaWZpZXMgR0xFUzJfVXBkYXRlVmVydGV4QnVmZmVyOiBBbGwgYXR0cmlidXRlcyBhcmUKLXZlY3RvcnMgbm93LgotCi1BZGRpdGlvbmFsIGJhY2tncm91bmQ6Ci0KLSogT24gUmFzcGJlcnJ5UGkgaXQgZ2l2ZXMgYSBwZXJmb3JtYWNlIHdpbiBmb3Igb3BlcmF0aW9ucy4gVGVzdGVkIHdpdGgKLSAgWzFdIG51bWJlcnMgZ28gZG93biBmb3IgNS0xMCUgKG5vdCBlYXN5IHRvIGVzdGltYXRlIGR1ZSB0byBodWdlIHZhcmlhdGlvbikuCi0qIFNETF9SZW5kZXJDb3B5RXggd2FzIHRlc3RlZCB3aXRoIFsyXQotKiBJdCB3b3JrcyBhcm91bmQgbGVmdCByb3RhdGVkIGRpc3BsYXkgY2F1c2VkIGJ5IGxvdyBhY2N1cmFjeSBzaW4gaW1wbGVtZXRhdGlvbgotICBpbiBSYXNwYmVycnlQaS9WQzQgWzNdCi0KLVVwc3RyZWFtLVN0YXR1czogQWNjZXB0ZWQgWzRdCi0KLVsxXSBodHRwczovL2dpdGh1Yi5jb20vc2Nobml0emVsdG9ueS9zZGwyYm94Ci1bMl0gaHR0cHM6Ly9naXRodWIuY29tL3NjaG5pdHplbHRvbnkvc2RsMnJlbmRlcmNvcHlleAotWzNdIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmhvbHQvbWVzYS9pc3N1ZXMvMTEwCi1bNF0gaHR0cHM6Ly9oZy5saWJzZGwub3JnL1NETC9yZXYvZTVhNjY2NDA1NzUwCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvcmVuZGVyL29wZW5nbGVzMi9TRExfcmVuZGVyX2dsZXMyLmMgIHwgMTcgKysrKysrKysrKysrLS0tLS0KLSBzcmMvcmVuZGVyL29wZW5nbGVzMi9TRExfc2hhZGVyc19nbGVzMi5jIHwgMTQgKysrKysrKysrLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3JlbmRlci9vcGVuZ2xlczIvU0RMX3JlbmRlcl9nbGVzMi5jIGIvc3JjL3JlbmRlci9vcGVuZ2xlczIvU0RMX3JlbmRlcl9nbGVzMi5jCi1pbmRleCAxNDY3MWY3YzguLjdjNTRhNzMzMyAxMDA2NDQKLS0tLSBhL3NyYy9yZW5kZXIvb3BlbmdsZXMyL1NETF9yZW5kZXJfZ2xlczIuYwotKysrIGIvc3JjL3JlbmRlci9vcGVuZ2xlczIvU0RMX3JlbmRlcl9nbGVzMi5jCi1AQCAtMTUzMCw3ICsxNTMwLDcgQEAgR0xFUzJfVXBkYXRlVmVydGV4QnVmZmVyKFNETF9SZW5kZXJlciAqcmVuZGVyZXIsIEdMRVMyX0F0dHJpYnV0ZSBhdHRyLAotICAgICBHTEVTMl9Ecml2ZXJDb250ZXh0ICpkYXRhID0gKEdMRVMyX0RyaXZlckNvbnRleHQgKilyZW5kZXJlci0+ZHJpdmVyZGF0YTsKLSAKLSAjaWYgIVNETF9HTEVTMl9VU0VfVkJPUwotLSAgICBkYXRhLT5nbFZlcnRleEF0dHJpYlBvaW50ZXIoYXR0ciwgYXR0ciA9PSBHTEVTMl9BVFRSSUJVVEVfQU5HTEUgPyAxIDogMiwgR0xfRkxPQVQsIEdMX0ZBTFNFLCAwLCB2ZXJ0ZXhEYXRhKTsKLSsgICAgZGF0YS0+Z2xWZXJ0ZXhBdHRyaWJQb2ludGVyKGF0dHIsIDIsIEdMX0ZMT0FULCBHTF9GQUxTRSwgMCwgdmVydGV4RGF0YSk7Ci0gI2Vsc2UKLSAgICAgaWYgKCFkYXRhLT52ZXJ0ZXhfYnVmZmVyc1thdHRyXSkgewotICAgICAgICAgZGF0YS0+Z2xHZW5CdWZmZXJzKDEsICZkYXRhLT52ZXJ0ZXhfYnVmZmVyc1thdHRyXSk7Ci1AQCAtMTU0NSw3ICsxNTQ1LDcgQEAgR0xFUzJfVXBkYXRlVmVydGV4QnVmZmVyKFNETF9SZW5kZXJlciAqcmVuZGVyZXIsIEdMRVMyX0F0dHJpYnV0ZSBhdHRyLAotICAgICAgICAgZGF0YS0+Z2xCdWZmZXJTdWJEYXRhKEdMX0FSUkFZX0JVRkZFUiwgMCwgZGF0YVNpemVJbkJ5dGVzLCB2ZXJ0ZXhEYXRhKTsKLSAgICAgfQotIAotLSAgICBkYXRhLT5nbFZlcnRleEF0dHJpYlBvaW50ZXIoYXR0ciwgYXR0ciA9PSBHTEVTMl9BVFRSSUJVVEVfQU5HTEUgPyAxIDogMiwgR0xfRkxPQVQsIEdMX0ZBTFNFLCAwLCAwKTsKLSsgICAgZGF0YS0+Z2xWZXJ0ZXhBdHRyaWJQb2ludGVyKGF0dHIsIDIsIEdMX0ZMT0FULCBHTF9GQUxTRSwgMCwgMCk7Ci0gI2VuZGlmCi0gCi0gICAgIHJldHVybiAwOwotQEAgLTE4NTMsNiArMTg1Myw4IEBAIEdMRVMyX1JlbmRlckNvcHkoU0RMX1JlbmRlcmVyICpyZW5kZXJlciwgU0RMX1RleHR1cmUgKnRleHR1cmUsIGNvbnN0IFNETF9SZWN0ICpzCi0gICAgIHJldHVybiBHTF9DaGVja0Vycm9yKCIiLCByZW5kZXJlcik7Ci0gfQotIAotKyNkZWZpbmUgUEkgMy4xNDE1OTI2NWYKLSsKLSBzdGF0aWMgaW50Ci0gR0xFUzJfUmVuZGVyQ29weUV4KFNETF9SZW5kZXJlciAqcmVuZGVyZXIsIFNETF9UZXh0dXJlICp0ZXh0dXJlLCBjb25zdCBTRExfUmVjdCAqc3JjcmVjdCwKLSAgICAgICAgICAgICAgICAgIGNvbnN0IFNETF9GUmVjdCAqZHN0cmVjdCwgY29uc3QgZG91YmxlIGFuZ2xlLCBjb25zdCBTRExfRlBvaW50ICpjZW50ZXIsIGNvbnN0IFNETF9SZW5kZXJlckZsaXAgZmxpcCkKLUBAIC0xODYxLDggKzE4NjMsOSBAQCBHTEVTMl9SZW5kZXJDb3B5RXgoU0RMX1JlbmRlcmVyICpyZW5kZXJlciwgU0RMX1RleHR1cmUgKnRleHR1cmUsIGNvbnN0IFNETF9SZWN0Ci0gICAgIEdMZmxvYXQgdmVydGljZXNbOF07Ci0gICAgIEdMZmxvYXQgdGV4Q29vcmRzWzhdOwotICAgICBHTGZsb2F0IHRyYW5zbGF0ZVs4XTsKLS0gICAgR0xmbG9hdCBmQW5nbGVbNF07Ci0rICAgIEdMZmxvYXQgZkFuZ2xlWzhdOwotICAgICBHTGZsb2F0IHRtcDsKLSsgICAgZmxvYXQgcmFkaWFuX2FuZ2xlOwotIAotICAgICBHTEVTMl9BY3RpdmF0ZVJlbmRlcmVyKHJlbmRlcmVyKTsKLSAKLUBAIC0xODcyLDcgKzE4NzUsMTEgQEAgR0xFUzJfUmVuZGVyQ29weUV4KFNETF9SZW5kZXJlciAqcmVuZGVyZXIsIFNETF9UZXh0dXJlICp0ZXh0dXJlLCBjb25zdCBTRExfUmVjdAotIAotICAgICBkYXRhLT5nbEVuYWJsZVZlcnRleEF0dHJpYkFycmF5KEdMRVMyX0FUVFJJQlVURV9DRU5URVIpOwotICAgICBkYXRhLT5nbEVuYWJsZVZlcnRleEF0dHJpYkFycmF5KEdMRVMyX0FUVFJJQlVURV9BTkdMRSk7Ci0tICAgIGZBbmdsZVswXSA9IGZBbmdsZVsxXSA9IGZBbmdsZVsyXSA9IGZBbmdsZVszXSA9IChHTGZsb2F0KSgzNjAuMGYgLSBhbmdsZSk7Ci0rCi0rICAgIHJhZGlhbl9hbmdsZSA9IFBJICogKDM2MC4wZiAtIGFuZ2xlKSAvIDE4MC5mOwotKyAgICBmQW5nbGVbMF0gPSBmQW5nbGVbMl0gPSBmQW5nbGVbNF0gPSBmQW5nbGVbNl0gPSAoR0xmbG9hdClzaW4ocmFkaWFuX2FuZ2xlKTsKLSsgICAgLyogcmVuZGVyIGV4cGVjdHMgY29zIHZhbHVlIC0gMSAoc2VlIEdMRVMyX1ZlcnRleFNyY19EZWZhdWx0XykgKi8KLSsgICAgZkFuZ2xlWzFdID0gZkFuZ2xlWzNdID0gZkFuZ2xlWzVdID0gZkFuZ2xlWzddID0gKEdMZmxvYXQpY29zKHJhZGlhbl9hbmdsZSkgLSAxLjBmOwotICAgICAvKiBDYWxjdWxhdGUgdGhlIGNlbnRlciBvZiByb3RhdGlvbiAqLwotICAgICB0cmFuc2xhdGVbMF0gPSB0cmFuc2xhdGVbMl0gPSB0cmFuc2xhdGVbNF0gPSB0cmFuc2xhdGVbNl0gPSAoY2VudGVyLT54ICsgZHN0cmVjdC0+eCk7Ci0gICAgIHRyYW5zbGF0ZVsxXSA9IHRyYW5zbGF0ZVszXSA9IHRyYW5zbGF0ZVs1XSA9IHRyYW5zbGF0ZVs3XSA9IChjZW50ZXItPnkgKyBkc3RyZWN0LT55KTsKLUBAIC0xOTAxLDcgKzE5MDgsNyBAQCBHTEVTMl9SZW5kZXJDb3B5RXgoU0RMX1JlbmRlcmVyICpyZW5kZXJlciwgU0RMX1RleHR1cmUgKnRleHR1cmUsIGNvbnN0IFNETF9SZWN0Ci0gICAgIGRhdGEtPmdsVmVydGV4QXR0cmliUG9pbnRlcihHTEVTMl9BVFRSSUJVVEVfQ0VOVEVSLCAyLCBHTF9GTE9BVCwgR0xfRkFMU0UsIDAsIHRyYW5zbGF0ZSk7Ci0gICAgIGRhdGEtPmdsVmVydGV4QXR0cmliUG9pbnRlcihHTEVTMl9BVFRSSUJVVEVfUE9TSVRJT04sIDIsIEdMX0ZMT0FULCBHTF9GQUxTRSwgMCwgdmVydGljZXMpOyovCi0gCi0tICAgIEdMRVMyX1VwZGF0ZVZlcnRleEJ1ZmZlcihyZW5kZXJlciwgR0xFUzJfQVRUUklCVVRFX0FOR0xFLCBmQW5nbGUsIDQgKiBzaXplb2YoR0xmbG9hdCkpOwotKyAgICBHTEVTMl9VcGRhdGVWZXJ0ZXhCdWZmZXIocmVuZGVyZXIsIEdMRVMyX0FUVFJJQlVURV9BTkdMRSwgZkFuZ2xlLCA4ICogc2l6ZW9mKEdMZmxvYXQpKTsKLSAgICAgR0xFUzJfVXBkYXRlVmVydGV4QnVmZmVyKHJlbmRlcmVyLCBHTEVTMl9BVFRSSUJVVEVfQ0VOVEVSLCB0cmFuc2xhdGUsIDggKiBzaXplb2YoR0xmbG9hdCkpOwotICAgICBHTEVTMl9VcGRhdGVWZXJ0ZXhCdWZmZXIocmVuZGVyZXIsIEdMRVMyX0FUVFJJQlVURV9QT1NJVElPTiwgdmVydGljZXMsIDggKiBzaXplb2YoR0xmbG9hdCkpOwotIAotZGlmZiAtLWdpdCBhL3NyYy9yZW5kZXIvb3BlbmdsZXMyL1NETF9zaGFkZXJzX2dsZXMyLmMgYi9zcmMvcmVuZGVyL29wZW5nbGVzMi9TRExfc2hhZGVyc19nbGVzMi5jCi1pbmRleCBiMGJjZGZmMjUuLmY0MjhhNDk0NSAxMDA2NDQKLS0tLSBhL3NyYy9yZW5kZXIvb3BlbmdsZXMyL1NETF9zaGFkZXJzX2dsZXMyLmMKLSsrKyBiL3NyYy9yZW5kZXIvb3BlbmdsZXMyL1NETF9zaGFkZXJzX2dsZXMyLmMKLUBAIC0zMCwyMCArMzAsMjQgQEAKLSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIFZlcnRleC9mcmFnbWVudCBzaGFkZXIgc291cmNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0tCi0rLyogTm90ZXMgb24gYV9hbmdsZToKLSsgICAqIEl0IGlzIGEgdmVjdG9yIGNvbnRhaW5pbmcgc2luIGFuZCBjb3MgZm9yIHJvdGF0aW9uIG1hdHJpeAotKyAgICogVG8gZ2V0IGNvcnJlY3Qgcm90YXRpb24gZm9yIG1vc3QgY2FzZXMgd2hlbiBhX2FuZ2xlIGlzIGRpc2FibGVkIGNvcwotKyAgICAgdmFsdWUgaXMgZGVjcmVtZW50ZWQgYnkgMS4wIHRvIGdldCBwcm9wZXIgb3V0cHV0IHdpdGggMC4wIHdoaWNoIGlzCi0rICAgICBkZWZhdWx0IHZhbHVlCi0rKi8KLSBzdGF0aWMgY29uc3QgVWludDggR0xFUzJfVmVydGV4U3JjX0RlZmF1bHRfW10gPSAiIFwKLSAgICAgdW5pZm9ybSBtYXQ0IHVfcHJvamVjdGlvbjsgXAotICAgICBhdHRyaWJ1dGUgdmVjMiBhX3Bvc2l0aW9uOyBcCi0gICAgIGF0dHJpYnV0ZSB2ZWMyIGFfdGV4Q29vcmQ7IFwKLS0gICAgYXR0cmlidXRlIGZsb2F0IGFfYW5nbGU7IFwKLSsgICAgYXR0cmlidXRlIHZlYzIgYV9hbmdsZTsgXAotICAgICBhdHRyaWJ1dGUgdmVjMiBhX2NlbnRlcjsgXAotICAgICB2YXJ5aW5nIHZlYzIgdl90ZXhDb29yZDsgXAotICAgICBcCi0gICAgIHZvaWQgbWFpbigpIFwKLSAgICAgeyBcCi0tICAgICAgICBmbG9hdCBhbmdsZSA9IHJhZGlhbnMoYV9hbmdsZSk7IFwKLS0gICAgICAgIGZsb2F0IGMgPSBjb3MoYW5nbGUpOyBcCi0tICAgICAgICBmbG9hdCBzID0gc2luKGFuZ2xlKTsgXAotKyAgICAgICAgZmxvYXQgcyA9IGFfYW5nbGVbMF07IFwKLSsgICAgICAgIGZsb2F0IGMgPSBhX2FuZ2xlWzFdICsgMS4wOyBcCi0gICAgICAgICBtYXQyIHJvdGF0aW9uTWF0cml4ID0gbWF0MihjLCAtcywgcywgYyk7IFwKLSAgICAgICAgIHZlYzIgcG9zaXRpb24gPSByb3RhdGlvbk1hdHJpeCAqIChhX3Bvc2l0aW9uIC0gYV9jZW50ZXIpICsgYV9jZW50ZXI7IFwKLSAgICAgICAgIHZfdGV4Q29vcmQgPSBhX3RleENvb3JkOyBcCi0tLSAKLTIuMTQuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJzZGwyL2xpYnNkbDJfMi4wLjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJzZGwyL2xpYnNkbDJfMi4wLjguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxMmE5YWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2RsMi9saWJzZGwyXzIuMC44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotU1VNTUFSWSA9ICJTaW1wbGUgRGlyZWN0TWVkaWEgTGF5ZXIiCi1ERVNDUklQVElPTiA9ICJTaW1wbGUgRGlyZWN0TWVkaWEgTGF5ZXIgaXMgYSBjcm9zcy1wbGF0Zm9ybSBtdWx0aW1lZGlhIFwKLWxpYnJhcnkgZGVzaWduZWQgdG8gcHJvdmlkZSBsb3cgbGV2ZWwgYWNjZXNzIHRvIGF1ZGlvLCBrZXlib2FyZCwgbW91c2UsIFwKLWpveXN0aWNrLCAzRCBoYXJkd2FyZSB2aWEgT3BlbkdMLCBhbmQgMkQgdmlkZW8gZnJhbWVidWZmZXIuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saWJzZGwub3JnIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vYnVnemlsbGEubGlic2RsLm9yZy8iCi0KLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJabGliIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy50eHQ7bWQ1PTAyZWUyNjgxNGRkMDQ0YmQ3ODM4YWUyNGUwNWI4ODBmIgotCi1QUk9WSURFUyA9ICJ2aXJ0dWFsL2xpYnNkbDIiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5saWJzZGwub3JnL3JlbGVhc2UvU0RMMi0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vbW9yZS1nZW4tZGVwZW5kcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUdMRVMyLUdldC1zaW4tY29zLW91dC1vZi12ZXJ0ZXgtc2hhZGVyLnBhdGNoIFwKLSIKLQotUyA9ICIke1dPUktESVJ9L1NETDItJHtQVn0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIzODAwZDcwNWNlZjc0MmM2YTYzNGYyMDJjMzdmMjYzZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlZGM3N2M1NzMwODY2MWQ1NzZlODQzMzQ0ZDg2MzhlMDI1YTc4MThiZmY3M2Y4ZmJmYWIwOWMzYzVmZDA5MmVjIgotCi1pbmhlcml0IGF1dG90b29scyBsaWJfcGFja2FnZSBiaW5jb25maWcgcGtnY29uZmlnCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtb3NzIC0tZGlzYWJsZS1lc2QgLS1kaXNhYmxlLWFydHMgXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kaXNrYXVkaW8gLS1kaXNhYmxlLW5hcyAtLWRpc2FibGUtZXNkLXNoYXJlZCAtLWRpc2FibGUtZXNkdGVzdCBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLXZpZGVvLWR1bW15IFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1wdGhyZWFkcyBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtc2RsLWRsb3BlbiBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLXJwYXRoIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtc25kaW8gXAotICAgICAgICAgICAgICAgICIKLQotIyBvcGVuZ2wgcGFja2FnZWNvbmZpZyBmYWN0b3JlZCBvdXQgdG8gbWFrZSBpdCBlYXN5IGZvciBkaXN0cm9zCi0jIGFuZCBCU1AgbGF5ZXJzIHRvIHBpY2sgZWl0aGVyIChkZXNrdG9wKSBvcGVuZ2wsIGdsZXMyLCBvciBubyBHTAotUEFDS0FHRUNPTkZJR19HTCA/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgZCl9IgotCi1QQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICJ4MTEiCi1QQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0iCi1QQUNLQUdFQ09ORklHID8/PSAiIFwKLSAgICAke1BBQ0tBR0VDT05GSUdfR0x9IFwKLSAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhbHNhIGRpcmVjdGZiIHB1bHNlYXVkaW8geDExJywgZCl9IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3dheWxhbmQnLCAnd2F5bGFuZCBnbGVzMicsICcnLCBkKX0gXAotIgotUEFDS0FHRUNPTkZJR1thbHNhXSAgICAgICA9ICItLWVuYWJsZS1hbHNhIC0tZGlzYWJsZS1hbHNhdGVzdCwtLWRpc2FibGUtYWxzYSxhbHNhLWxpYiwiCi1QQUNLQUdFQ09ORklHW2RpcmVjdGZiXSAgID0gIi0tZW5hYmxlLXZpZGVvLWRpcmVjdGZiLC0tZGlzYWJsZS12aWRlby1kaXJlY3RmYixkaXJlY3RmYiIKLVBBQ0tBR0VDT05GSUdbZ2xlczJdICAgICAgPSAiLS1lbmFibGUtdmlkZW8tb3BlbmdsZXMsLS1kaXNhYmxlLXZpZGVvLW9wZW5nbGVzLHZpcnR1YWwvbGliZ2xlczIiCi1QQUNLQUdFQ09ORklHW29wZW5nbF0gICAgID0gIi0tZW5hYmxlLXZpZGVvLW9wZW5nbCwtLWRpc2FibGUtdmlkZW8tb3BlbmdsLHZpcnR1YWwvbGliZ2wiCi1QQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi0tZW5hYmxlLXB1bHNlYXVkaW8sLS1kaXNhYmxlLXB1bHNlYXVkaW8scHVsc2VhdWRpbyIKLVBBQ0tBR0VDT05GSUdbdHNsaWJdICAgICAgPSAiLS1lbmFibGUtaW5wdXQtdHNsaWIsLS1kaXNhYmxlLWlucHV0LXRzbGliLHRzbGliIgotUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSAgICA9ICItLWVuYWJsZS12aWRlby13YXlsYW5kLC0tZGlzYWJsZS12aWRlby13YXlsYW5kLHdheWxhbmQtbmF0aXZlIHdheWxhbmQgd2F5bGFuZC1wcm90b2NvbHMgbGlieGtiY29tbW9uIgotUEFDS0FHRUNPTkZJR1t4MTFdICAgICAgICA9ICItLWVuYWJsZS12aWRlby14MTEsLS1kaXNhYmxlLXZpZGVvLXgxMSx2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGxpYnhyYW5kciBsaWJ4cmVuZGVyIgotCi1FWFRSQV9BVVRPUkVDT05GICs9ICItLWluY2x1ZGU9YWNpbmNsdWRlIC0tZXhjbHVkZT1hdXRvaGVhZGVyIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICAgICAgIyBSZW1vdmUgb2xkIGxpYnRvb2wgbWFjcm9zLgotICAgICAgICBNQUNST1M9ImxpYnRvb2wubTQgbHR+b2Jzb2xldGUubTQgbHRvcHRpb25zLm00IGx0c3VnYXIubTQgbHR2ZXJzaW9uLm00IgotICAgICAgICBmb3IgaSBpbiAke01BQ1JPU307IGRvCi0gICAgICAgICAgICAgICBybSAtZiAke1N9L2FjaW5jbHVkZS8kaQotICAgICAgICBkb25lCi0gICAgICAgIGV4cG9ydCBTWVNST09UPSRQS0dfQ09ORklHX1NZU1JPT1RfRElSCi19Ci0KLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2NtYWtlIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJzZGwyL2xpYnNkbDJfMi4wLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJzZGwyL2xpYnNkbDJfMi4wLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzc0MWNmYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbDIvbGlic2RsMl8yLjAuOS5iYgpAQCAtMCwwICsxLDcwIEBACitTVU1NQVJZID0gIlNpbXBsZSBEaXJlY3RNZWRpYSBMYXllciIKK0RFU0NSSVBUSU9OID0gIlNpbXBsZSBEaXJlY3RNZWRpYSBMYXllciBpcyBhIGNyb3NzLXBsYXRmb3JtIG11bHRpbWVkaWEgXAorbGlicmFyeSBkZXNpZ25lZCB0byBwcm92aWRlIGxvdyBsZXZlbCBhY2Nlc3MgdG8gYXVkaW8sIGtleWJvYXJkLCBtb3VzZSwgXAoram95c3RpY2ssIDNEIGhhcmR3YXJlIHZpYSBPcGVuR0wsIGFuZCAyRCB2aWRlbyBmcmFtZWJ1ZmZlci4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpYnNkbC5vcmciCitCVUdUUkFDS0VSID0gImh0dHA6Ly9idWd6aWxsYS5saWJzZGwub3JnLyIKKworU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIlpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLnR4dDttZDU9MDJlZTI2ODE0ZGQwNDRiZDc4MzhhZTI0ZTA1Yjg4MGYiCisKK1BST1ZJREVTID0gInZpcnR1YWwvbGlic2RsMiIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpYnNkbC5vcmcvcmVsZWFzZS9TREwyLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9tb3JlLWdlbi1kZXBlbmRzLnBhdGNoIFwKKyIKKworUyA9ICIke1dPUktESVJ9L1NETDItJHtQVn0iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmMmVjZmJhOTE1YzU0ZjcyMDBmNTA0ZDhiNDhhNWRmZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNTUxODZkYzY3NmVjZDBjMWRiZjEwZWM4YTJjYzVkNjg2OWI1MDc5ZDhhMzgxOTRjMmFlY2RmZjU0YjMyNGIxIgorCitpbmhlcml0IGF1dG90b29scyBsaWJfcGFja2FnZSBiaW5jb25maWcgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtb3NzIC0tZGlzYWJsZS1lc2QgLS1kaXNhYmxlLWFydHMgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kaXNrYXVkaW8gLS1kaXNhYmxlLW5hcyAtLWRpc2FibGUtZXNkLXNoYXJlZCAtLWRpc2FibGUtZXNkdGVzdCBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXZpZGVvLWR1bW15IFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1wdGhyZWFkcyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtc2RsLWRsb3BlbiBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXJwYXRoIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtc25kaW8gXAorICAgICAgICAgICAgICAgICIKKworIyBvcGVuZ2wgcGFja2FnZWNvbmZpZyBmYWN0b3JlZCBvdXQgdG8gbWFrZSBpdCBlYXN5IGZvciBkaXN0cm9zCisjIGFuZCBCU1AgbGF5ZXJzIHRvIHBpY2sgZWl0aGVyIChkZXNrdG9wKSBvcGVuZ2wsIGdsZXMyLCBvciBubyBHTAorUEFDS0FHRUNPTkZJR19HTCA/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgZCl9IgorCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICJ4MTEiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0iCitQQUNLQUdFQ09ORklHID8/PSAiIFwKKyAgICAke1BBQ0tBR0VDT05GSUdfR0x9IFwKKyAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhbHNhIGRpcmVjdGZiIHB1bHNlYXVkaW8geDExJywgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3dheWxhbmQnLCAnd2F5bGFuZCBnbGVzMicsICcnLCBkKX0gXAorIgorUEFDS0FHRUNPTkZJR1thbHNhXSAgICAgICA9ICItLWVuYWJsZS1hbHNhIC0tZGlzYWJsZS1hbHNhdGVzdCwtLWRpc2FibGUtYWxzYSxhbHNhLWxpYiwiCitQQUNLQUdFQ09ORklHW2RpcmVjdGZiXSAgID0gIi0tZW5hYmxlLXZpZGVvLWRpcmVjdGZiLC0tZGlzYWJsZS12aWRlby1kaXJlY3RmYixkaXJlY3RmYiIKK1BBQ0tBR0VDT05GSUdbZ2xlczJdICAgICAgPSAiLS1lbmFibGUtdmlkZW8tb3BlbmdsZXMsLS1kaXNhYmxlLXZpZGVvLW9wZW5nbGVzLHZpcnR1YWwvbGliZ2xlczIiCitQQUNLQUdFQ09ORklHW2phY2tdICAgICAgID0gIi0tZW5hYmxlLWphY2ssLS1kaXNhYmxlLWphY2ssamFjayIKK1BBQ0tBR0VDT05GSUdba21zZHJtXSAgICAgPSAiLS1lbmFibGUtdmlkZW8ta21zZHJtLC0tZGlzYWJsZS12aWRlby1rbXNkcm0sbGliZHJtIHZpcnR1YWwvbGliZ2JtIgorUEFDS0FHRUNPTkZJR1tvcGVuZ2xdICAgICA9ICItLWVuYWJsZS12aWRlby1vcGVuZ2wsLS1kaXNhYmxlLXZpZGVvLW9wZW5nbCx2aXJ0dWFsL2xpYmdsIgorUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItLWVuYWJsZS1wdWxzZWF1ZGlvLC0tZGlzYWJsZS1wdWxzZWF1ZGlvLHB1bHNlYXVkaW8iCitQQUNLQUdFQ09ORklHW3RzbGliXSAgICAgID0gIi0tZW5hYmxlLWlucHV0LXRzbGliLC0tZGlzYWJsZS1pbnB1dC10c2xpYix0c2xpYiIKK1BBQ0tBR0VDT05GSUdbd2F5bGFuZF0gICAgPSAiLS1lbmFibGUtdmlkZW8td2F5bGFuZCwtLWRpc2FibGUtdmlkZW8td2F5bGFuZCx3YXlsYW5kLW5hdGl2ZSB3YXlsYW5kIHdheWxhbmQtcHJvdG9jb2xzIGxpYnhrYmNvbW1vbiIKK1BBQ0tBR0VDT05GSUdbeDExXSAgICAgICAgPSAiLS1lbmFibGUtdmlkZW8teDExLC0tZGlzYWJsZS12aWRlby14MTEsdmlydHVhbC9saWJ4MTEgbGlieGV4dCBsaWJ4cmFuZHIgbGlieHJlbmRlciIKKworRVhUUkFfQVVUT1JFQ09ORiArPSAiLS1pbmNsdWRlPWFjaW5jbHVkZSAtLWV4Y2x1ZGU9YXV0b2hlYWRlciIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgICAgICMgUmVtb3ZlIG9sZCBsaWJ0b29sIG1hY3Jvcy4KKyAgICAgICAgTUFDUk9TPSJsaWJ0b29sLm00IGx0fm9ic29sZXRlLm00IGx0b3B0aW9ucy5tNCBsdHN1Z2FyLm00IGx0dmVyc2lvbi5tNCIKKyAgICAgICAgZm9yIGkgaW4gJHtNQUNST1N9OyBkbworICAgICAgICAgICAgICAgcm0gLWYgJHtTfS9hY2luY2x1ZGUvJGkKKyAgICAgICAgZG9uZQorICAgICAgICBleHBvcnQgU1lTUk9PVD0kUEtHX0NPTkZJR19TWVNST09UX0RJUgorfQorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9jbWFrZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmEtdXRpbHMvMDAwMS1CdWlsZC1zZmNzYW1wbGUtb25seS13aGVuLVgxMS1iYWNrZW5kLWlzLWVuYWJsZWQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ2YS9saWJ2YS11dGlscy8wMDAxLUJ1aWxkLXNmY3NhbXBsZS1vbmx5LXdoZW4tWDExLWJhY2tlbmQtaXMtZW5hYmxlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMWZiNzE5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmEtdXRpbHMvMDAwMS1CdWlsZC1zZmNzYW1wbGUtb25seS13aGVuLVgxMS1iYWNrZW5kLWlzLWVuYWJsZWQucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSA4ZmMxNGU0YmM4MTg4NWI4MGMzMDcyZTU0OWMyZTZmNTk1MzNkN2VmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KK0RhdGU6IEZyaSwgOCBGZWIgMjAxOSAxMTo0NTo1NSArMDgwMAorU3ViamVjdDogW1BBVENIXSBCdWlsZCBzZmNzYW1wbGUgb25seSB3aGVuIFgxMSBiYWNrZW5kIGlzIGVuYWJsZWQKKworU2VlOiBodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvbGlidmEtdXRpbHMvcHVsbC8xNDksIGFuZAoraHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2xpYnZhLXV0aWxzL2lzc3Vlcy8xNTAKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKKworU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCitpbmRleCBkMjgxNzVhLi5lMjk0ZTI1IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuYW0KKysrKyBiL01ha2VmaWxlLmFtCitAQCAtMjQsMTAgKzI0LDExIEBAIEFDTE9DQUxfQU1GTEFHUyA9IC1JIG00ICR7QUNMT0NBTF9GTEFHU30KKyAKKyBBVVRPTUFLRV9PUFRJT05TID0gZm9yZWlnbgorIAorLVNVQkRJUlMgPSBjb21tb24gZGVjb2RlIGVuY29kZSB2YWluZm8gdmlkZW9wcm9jZXNzIHZlbmRvci9pbnRlbCB2ZW5kb3IvaW50ZWwvc2Zjc2FtcGxlCisrU1VCRElSUyA9IGNvbW1vbiBkZWNvZGUgZW5jb2RlIHZhaW5mbyB2aWRlb3Byb2Nlc3MgdmVuZG9yL2ludGVsCisgCisgaWYgVVNFX1gxMQorIFNVQkRJUlMgKz0gcHV0c3VyZmFjZQorK1NVQkRJUlMgKz0gdmVuZG9yL2ludGVsL3NmY3NhbXBsZQorIGVsc2UKKyBpZiBVU0VfV0FZTEFORAorIFNVQkRJUlMgKz0gcHV0c3VyZmFjZQorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmEtdXRpbHNfMi4yLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ2YS9saWJ2YS11dGlsc18yLjIuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTM1MDg1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ2YS9saWJ2YS11dGlsc18yLjIuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLVNVTU1BUlkgPSAibGlidmEtdXRpbHMgaXMgYSBjb2xsZWN0aW9uIG9mIHV0aWxpdGllcyBmcm9tIGxpYnZhIHByb2plY3QiCi0KLURFU0NSSVBUSU9OID0gImxpYnZhLXV0aWxzIGlzIGEgY29sbGVjdGlvbiBvZiB1dGlsaXRpZXMgXAotYW5kIGV4YW1wbGVzIHRvIGV4ZXJjaXNlIFZBLUFQSSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIGxpYnZhIFwKLXByb2plY3QuVkEtQVBJIGlzIGFuIG9wZW4tc291cmNlIGxpYnJhcnkgYW5kIEFQSSBzcGVjaWZpY2F0aW9uLCBcCi13aGljaCBwcm92aWRlcyBhY2Nlc3MgdG8gZ3JhcGhpY3MgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIGNhcGFiaWxpdGllcyBcCi1mb3IgdmlkZW8gcHJvY2Vzc2luZy4gSXQgY29uc2lzdHMgb2YgYSBtYWluIGxpYnJhcnkgYW5kIGRyaXZlci1zcGVjaWZpYyBcCi1hY2NlbGVyYXRpb24gYmFja2VuZHMgZm9yIGVhY2ggc3VwcG9ydGVkIGhhcmR3YXJlIHZlbmRvciIKLQotSE9NRVBBR0UgPSAiaHR0cHM6Ly8wMS5vcmcvbGludXhtZWRpYS92YWFwaSIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2xpYnZhLXV0aWxzL2lzc3VlcyIKLQotU0VDVElPTiA9ICJ4MTEiCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIxNDhmYzhhZGYxOWRjOWFlYzE3Y2Y5Y2QyOWE5YTVlIgotCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC8ke0JQTn0vcmVsZWFzZXMvZG93bmxvYWQvJHtQVn0vJHtCUH0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI5M2I1OGFhNWIxNGMxNmY0YmFjZThhNDVkYzI1NWVjOSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlZDdhNmVkMWZhYjY1N2RmNGU4M2VhMTFmOTAzMTBlZmNmMzFjMjc4MjhmMzJkNjUzNTFhMjhjYTNjNDA0ZGMwIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2xpYnZhLXV0aWxzL3JlbGVhc2VzIgotCi1ERVBFTkRTID0gImxpYnZhIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLSMgZGVwZW5kcyBvbiBsaWJ2YSB3aGljaCByZXF1aXJlcyBvcGVuZ2wKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJvcGVuZ2wiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd3YXlsYW5kIHgxMScsIGQpfSIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14MTEsLS1kaXNhYmxlLXgxMSx2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGxpYnhmaXhlcyIKLVBBQ0tBR0VDT05GSUdbd2F5bGFuZF0gPSAiLS1lbmFibGUtd2F5bGFuZCwtLWRpc2FibGUtd2F5bGFuZCx3YXlsYW5kLW5hdGl2ZSB3YXlsYW5kIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmEtdXRpbHNfMi40LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ2YS9saWJ2YS11dGlsc18yLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Yjc2NDMxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmEtdXRpbHNfMi40LjAuYmIKQEAgLTAsMCArMSwzNSBAQAorU1VNTUFSWSA9ICJsaWJ2YS11dGlscyBpcyBhIGNvbGxlY3Rpb24gb2YgdXRpbGl0aWVzIGZyb20gbGlidmEgcHJvamVjdCIKKworREVTQ1JJUFRJT04gPSAibGlidmEtdXRpbHMgaXMgYSBjb2xsZWN0aW9uIG9mIHV0aWxpdGllcyBcCithbmQgZXhhbXBsZXMgdG8gZXhlcmNpc2UgVkEtQVBJIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgbGlidmEgXAorcHJvamVjdC5WQS1BUEkgaXMgYW4gb3Blbi1zb3VyY2UgbGlicmFyeSBhbmQgQVBJIHNwZWNpZmljYXRpb24sIFwKK3doaWNoIHByb3ZpZGVzIGFjY2VzcyB0byBncmFwaGljcyBoYXJkd2FyZSBhY2NlbGVyYXRpb24gY2FwYWJpbGl0aWVzIFwKK2ZvciB2aWRlbyBwcm9jZXNzaW5nLiBJdCBjb25zaXN0cyBvZiBhIG1haW4gbGlicmFyeSBhbmQgZHJpdmVyLXNwZWNpZmljIFwKK2FjY2VsZXJhdGlvbiBiYWNrZW5kcyBmb3IgZWFjaCBzdXBwb3J0ZWQgaGFyZHdhcmUgdmVuZG9yIgorCitIT01FUEFHRSA9ICJodHRwczovLzAxLm9yZy9saW51eG1lZGlhL3ZhYXBpIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvbGlidmEtdXRpbHMvaXNzdWVzIgorCitTRUNUSU9OID0gIngxMSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjE0OGZjOGFkZjE5ZGM5YWVjMTdjZjljZDI5YTlhNWUiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsLyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke1BWfS8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQnVpbGQtc2Zjc2FtcGxlLW9ubHktd2hlbi1YMTEtYmFja2VuZC1pcy1lbmFibGVkLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjUzNzRjNGMzMmNlMTM2ZTUwYWVhMDI2Nzg4N2FlZDUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWI3ZDE5NTRiNDBmY2IyYzA1NDRiZTIwMTI1YzcxYTA4NTIwNDk3MTVhYjg1YTNlOGFiYTYwNDM0YTQwYzZiMyIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9saWJ2YS11dGlscy9yZWxlYXNlcyIKKworREVQRU5EUyA9ICJsaWJ2YSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCisjIGRlcGVuZHMgb24gbGlidmEgd2hpY2ggcmVxdWlyZXMgb3BlbmdsCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAib3BlbmdsIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnd2F5bGFuZCB4MTEnLCBkKX0iCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS1lbmFibGUteDExLC0tZGlzYWJsZS14MTEsdmlydHVhbC9saWJ4MTEgbGlieGV4dCBsaWJ4Zml4ZXMiCitQQUNLQUdFQ09ORklHW3dheWxhbmRdID0gIi0tZW5hYmxlLXdheWxhbmQsLS1kaXNhYmxlLXdheWxhbmQsd2F5bGFuZC1uYXRpdmUgd2F5bGFuZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZhL2xpYnZhXzIuMi4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmFfMi4yLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExZTU3ZTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmFfMi4yLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1TVU1NQVJZID0gIlZpZGVvIEFjY2VsZXJhdGlvbiAoVkEpIEFQSSBmb3IgTGludXgiCi1ERVNDUklQVElPTiA9ICJWaWRlbyBBY2NlbGVyYXRpb24gQVBJIChWQSBBUEkpIGlzIGEgbGlicmFyeSAobGliVkEpIFwKLWFuZCBBUEkgc3BlY2lmaWNhdGlvbiB3aGljaCBlbmFibGVzIGFuZCBwcm92aWRlcyBhY2Nlc3MgdG8gZ3JhcGhpY3MgXAotaGFyZHdhcmUgKEdQVSkgYWNjZWxlcmF0aW9uIGZvciB2aWRlbyBwcm9jZXNzaW5nIG9uIExpbnV4IGFuZCBVTklYIFwKLWJhc2VkIG9wZXJhdGluZyBzeXN0ZW1zLiBBY2NlbGVyYXRlZCBwcm9jZXNzaW5nIGluY2x1ZGVzIHZpZGVvIFwKLWRlY29kaW5nLCB2aWRlbyBlbmNvZGluZywgc3VicGljdHVyZSBibGVuZGluZyBhbmQgcmVuZGVyaW5nLiBUaGUgXAotc3BlY2lmaWNhdGlvbiB3YXMgb3JpZ2luYWxseSBkZXNpZ25lZCBieSBJbnRlbCBmb3IgaXRzIEdNQSAoR3JhcGhpY3MgXAotTWVkaWEgQWNjZWxlcmF0b3IpIHNlcmllcyBvZiBHUFUgaGFyZHdhcmUsIHRoZSBBUEkgaXMgaG93ZXZlciBub3QgXAotbGltaXRlZCB0byBHUFVzIG9yIEludGVsIHNwZWNpZmljIGhhcmR3YXJlLCBhcyBvdGhlciBoYXJkd2FyZSBhbmQgXAotbWFudWZhY3R1cmVycyBjYW4gYWxzbyBmcmVlbHkgdXNlIHRoaXMgQVBJIGZvciBoYXJkd2FyZSBhY2NlbGVyYXRlZCBcCi12aWRlbyBkZWNvZGluZy4iCi0KLUhPTUVQQUdFID0gImh0dHBzOi8vMDEub3JnL2xpbnV4bWVkaWEvdmFhcGkiCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9saWJ2YS9pc3N1ZXMiCi0KLVNFQ1RJT04gPSAieDExIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZTQ4OTQwZjk0YWNiMGFmNTgyZTVlZjAzNTM3ODAwZiIKLQotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci5iejIiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5MmQwNGFkMTcwMDEzNmRjNzViMWU1ZjQ3NTE2ZTcwNCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZjZjYTA0Yzc4NTU0NGQzMGQzMTVlZjEzMGE2YWViOTQzNWI3NWY5MzRkN2ZiZTBlNGU5YmE2MDg0Y2U0ZWYyIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2xpYnZhL3JlbGVhc2VzIgotCi1ERVBFTkRTID0gImxpYmRybSB2aXJ0dWFsL21lc2EiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIm9wZW5nbCIKLQotRVhUUkFfT0VDT05GID0gImFjX2N2X3Byb2dfV0FZTEFORF9TQ0FOTkVSPXdheWxhbmQtc2Nhbm5lciIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3dheWxhbmQgeDExJywgZCl9IgotUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0tZW5hYmxlLXgxMSwtLWRpc2FibGUteDExLHZpcnR1YWwvbGlieDExIGxpYnhleHQgbGlieGZpeGVzIgotUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSA9ICItLWVuYWJsZS13YXlsYW5kLC0tZGlzYWJsZS13YXlsYW5kLHdheWxhbmQtbmF0aXZlIHdheWxhbmQiCi0KLVBBQ0tBR0VTID0rICIke1BOfS14MTEgJHtQTn0tZ2x4ICR7UE59LXdheWxhbmQiCi0KLVJERVBFTkRTXyR7UE59LXgxMSA9KyAiJHtQTn0iCi1SREVQRU5EU18ke1BOfS1nbHggPSsgIiR7UE59LXgxMSIKLQotRklMRVNfJHtQTn0teDExID0rICIke2xpYmRpcn0vbGlidmEteDExKiR7U09MSUJTfSIKLUZJTEVTXyR7UE59LWdseCA9KyAiJHtsaWJkaXJ9L2xpYnZhLWdseCoke1NPTElCU30iCi1GSUxFU18ke1BOfS13YXlsYW5kID0rICIke2xpYmRpcn0vbGlidmEtd2F5bGFuZCoke1NPTElCU30iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ2YS9saWJ2YV8yLjQuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZhL2xpYnZhXzIuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmYTFhYjgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ2YS9saWJ2YV8yLjQuMC5iYgpAQCAtMCwwICsxLDQ2IEBACitTVU1NQVJZID0gIlZpZGVvIEFjY2VsZXJhdGlvbiAoVkEpIEFQSSBmb3IgTGludXgiCitERVNDUklQVElPTiA9ICJWaWRlbyBBY2NlbGVyYXRpb24gQVBJIChWQSBBUEkpIGlzIGEgbGlicmFyeSAobGliVkEpIFwKK2FuZCBBUEkgc3BlY2lmaWNhdGlvbiB3aGljaCBlbmFibGVzIGFuZCBwcm92aWRlcyBhY2Nlc3MgdG8gZ3JhcGhpY3MgXAoraGFyZHdhcmUgKEdQVSkgYWNjZWxlcmF0aW9uIGZvciB2aWRlbyBwcm9jZXNzaW5nIG9uIExpbnV4IGFuZCBVTklYIFwKK2Jhc2VkIG9wZXJhdGluZyBzeXN0ZW1zLiBBY2NlbGVyYXRlZCBwcm9jZXNzaW5nIGluY2x1ZGVzIHZpZGVvIFwKK2RlY29kaW5nLCB2aWRlbyBlbmNvZGluZywgc3VicGljdHVyZSBibGVuZGluZyBhbmQgcmVuZGVyaW5nLiBUaGUgXAorc3BlY2lmaWNhdGlvbiB3YXMgb3JpZ2luYWxseSBkZXNpZ25lZCBieSBJbnRlbCBmb3IgaXRzIEdNQSAoR3JhcGhpY3MgXAorTWVkaWEgQWNjZWxlcmF0b3IpIHNlcmllcyBvZiBHUFUgaGFyZHdhcmUsIHRoZSBBUEkgaXMgaG93ZXZlciBub3QgXAorbGltaXRlZCB0byBHUFVzIG9yIEludGVsIHNwZWNpZmljIGhhcmR3YXJlLCBhcyBvdGhlciBoYXJkd2FyZSBhbmQgXAorbWFudWZhY3R1cmVycyBjYW4gYWxzbyBmcmVlbHkgdXNlIHRoaXMgQVBJIGZvciBoYXJkd2FyZSBhY2NlbGVyYXRlZCBcCit2aWRlbyBkZWNvZGluZy4iCisKK0hPTUVQQUdFID0gImh0dHBzOi8vMDEub3JnL2xpbnV4bWVkaWEvdmFhcGkiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9saWJ2YS9pc3N1ZXMiCisKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZTQ4OTQwZjk0YWNiMGFmNTgyZTVlZjAzNTM3ODAwZiIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci5iejIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjZmM2OWMyYTVmNTI2ZGQxODU4ZTA5OGZiOGVlYmZhNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5OTI2MzA1NmMyMTU5M2EyNmYyZWNlODEyYWVlNmZlNjAxNDJiNDllNmNkNDZjYjMzYzhkZGRmMThmYzE5MzkxIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2xpYnZhL3JlbGVhc2VzIgorCitERVBFTkRTID0gImxpYmRybSB2aXJ0dWFsL21lc2EiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIm9wZW5nbCIKKworRVhUUkFfT0VDT05GID0gImFjX2N2X3Byb2dfV0FZTEFORF9TQ0FOTkVSPXdheWxhbmQtc2Nhbm5lciIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3dheWxhbmQgeDExJywgZCl9IgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0tZW5hYmxlLXgxMSwtLWRpc2FibGUteDExLHZpcnR1YWwvbGlieDExIGxpYnhleHQgbGlieGZpeGVzIgorUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSA9ICItLWVuYWJsZS13YXlsYW5kLC0tZGlzYWJsZS13YXlsYW5kLHdheWxhbmQtbmF0aXZlIHdheWxhbmQiCisKK1BBQ0tBR0VTID0rICIke1BOfS14MTEgJHtQTn0tZ2x4ICR7UE59LXdheWxhbmQiCisKK1JERVBFTkRTXyR7UE59LXgxMSA9KyAiJHtQTn0iCitSREVQRU5EU18ke1BOfS1nbHggPSsgIiR7UE59LXgxMSIKKworRklMRVNfJHtQTn0teDExID0rICIke2xpYmRpcn0vbGlidmEteDExKiR7U09MSUJTfSIKK0ZJTEVTXyR7UE59LWdseCA9KyAiJHtsaWJkaXJ9L2xpYnZhLWdseCoke1NPTElCU30iCitGSUxFU18ke1BOfS13YXlsYW5kID0rICIke2xpYmRpcn0vbGlidmEtd2F5bGFuZCoke1NPTElCU30iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZW51LWNhY2hlL21lbnUtY2FjaGVfMS4wLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZW51LWNhY2hlL21lbnUtY2FjaGVfMS4wLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxNTQwY2YuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVudS1jYWNoZS9tZW51LWNhY2hlXzEuMC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBjYWNoaW5nIGFwcGxpY2F0aW9uIG1lbnVzIgotREVTQ1JJUFRJT04gPSAiQSBsaWJyYXJ5IGNyZWF0aW5nIGFuZCB1dGlsaXppbmcgY2FjaGVzIHRvIHNwZWVkIHVwIGZyZWVkZXNrdG9wLm9yZyBhcHBsaWNhdGlvbiBtZW51cyIKLUhPTUVQQUdFID0gImh0dHA6Ly9seGRlLnNvdXJjZWZvcmdlLm5ldC8iCi0KLUxJQ0VOU0UgPSAiTEdQTHYyLjErIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDk2NGM2ODlmY2Y0YzIxYzY3OTdlYTg3NDA4NDE2YjYiCi0KLVNFQ1RJT04gPSAieDExL2xpYnMiCi1ERVBFTkRTID0gImdsaWItMi4wIGxpYmZtLWV4dHJhIgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9seGRlL21lbnUtY2FjaGUtJHtQVn0udGFyLnh6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOGRkZTdhM2Y1YmQ5Nzk4ZDAxMjlkMTk3OWE1ZDc2NDAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmY4M2VkZjJkZTM0ZjgzZTcwMWRjYjUyMTQ1ZDc1NTI1MGE1Njc3NTgwY2Q0MTM0NzZjYzRkN2YyZDIwMTJkNSIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbHhkZS9maWxlcy9tZW51LWNhY2hlLzEuMC8iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnIGd0ay1kb2MKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lbnUtY2FjaGUvbWVudS1jYWNoZV8xLjEuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lbnUtY2FjaGUvbWVudS1jYWNoZV8xLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGJiZDk0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVudS1jYWNoZS9tZW51LWNhY2hlXzEuMS4wLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3IgY2FjaGluZyBhcHBsaWNhdGlvbiBtZW51cyIKK0RFU0NSSVBUSU9OID0gIkEgbGlicmFyeSBjcmVhdGluZyBhbmQgdXRpbGl6aW5nIGNhY2hlcyB0byBzcGVlZCB1cCBmcmVlZGVza3RvcC5vcmcgYXBwbGljYXRpb24gbWVudXMiCitIT01FUEFHRSA9ICJodHRwOi8vbHhkZS5zb3VyY2Vmb3JnZS5uZXQvIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA5NjRjNjg5ZmNmNGMyMWM2Nzk3ZWE4NzQwODQxNmI2IgorCitTRUNUSU9OID0gIngxMS9saWJzIgorREVQRU5EUyA9ICJnbGliLTIuMCBsaWJmbS1leHRyYSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbHhkZS9tZW51LWNhY2hlLSR7UFZ9LnRhci54eiIKKworU1JDX1VSSVttZDVzdW1dID0gIjk5OTk5YTBiY2E0OGI5ODAxMDUyMDg3NjBjOGZkODkzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVkMDJlYjQ1OWRjYjM5OGY2OWI5ZmE1YmY0ZGQ4MTMwMjA0MDVhZmM4NDMzMTExNTQ2OWNkZjdiZTkyNzNlYzciCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2x4ZGUvZmlsZXMvbWVudS1jYWNoZS8xLjEvIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBndGstZG9jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDEtU2ltcGxpZnktd2F5bGFuZC1zY2FubmVyLWxvb2t1cC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMS1TaW1wbGlmeS13YXlsYW5kLXNjYW5uZXItbG9va3VwLnBhdGNoCmluZGV4IGE1MGQyYTIuLmQwNjVlMjIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMS1TaW1wbGlmeS13YXlsYW5kLXNjYW5uZXItbG9va3VwLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMS1TaW1wbGlmeS13YXlsYW5kLXNjYW5uZXItbG9va3VwLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA3ZThlMGY4YThhYzI0MjVlMTlhMmYzNDBjOWUzZGE5MzQ1ZjI1OTQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KLURhdGU6IFR1ZSwgMTUgTm92IDIwMTYgMTU6MjA6NDkgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzZdIFNpbXBsaWZ5IHdheWxhbmQtc2Nhbm5lciBsb29rdXAKK0Zyb20gZTUzODM3YWQ3YjAxMzY0ZjM0YTUzM2I5NWY0ODE3YzE3OTU3ODlkZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+CitEYXRlOiBXZWQsIDIwIEZlYiAyMDE5IDE2OjE3OjAwIC0wMzAwCitTdWJqZWN0OiBbUEFUQ0ggMS80XSBTaW1wbGlmeSB3YXlsYW5kLXNjYW5uZXIgbG9va3VwCiBPcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgogCiBEb24ndCB1c2UgcGtnLWNvbmZpZyB0byBsb29rdXAgdGhlIHBhdGggb2YgYSBiaW5hcnkgdGhhdCdzIGluIHRoZSBwYXRoLgpAQCAtMTIsMjEgKzEyLDI2IEBACiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIFNpZ25lZC1vZmYtYnk6IEp1c3NpIEt1a2tvbmVuIDxqdXNzaS5rdWtrb25lbkBpbnRlbC5jb20+CiBTaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorU2lnbmVkLW9mZi1ieTogRmFiaW8gQmVydG9uIDxmYWJpby5iZXJ0b25Ab3NzeXN0ZW1zLmNvbS5icj4KIC0tLQogIGNvbmZpZ3VyZS5hYyB8IDcgKy0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggMTRmMWFmMmIyZi4uOTE2ZDBiZDIwNyAxMDA2NDQKK2luZGV4IDFlZjY4ZmU2OGU2Li4xODE2YTRjZDQ3NSAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMTgyNSwxMiArMTgyNSw3IEBAIGZvciBwbGF0IGluICRwbGF0Zm9ybXM7IGRvCi0gICAgICAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhbV0FZTEFORF9QUk9UT0NPTFNdLCBbd2F5bGFuZC1wcm90b2NvbHMgPj0gJFdBWUxBTkRfUFJPVE9DT0xTX1JFUVVJUkVEXSkKK0BAIC0xODU0LDE2ICsxODU0LDExIEBAIGZvciBwbGF0IGluICRwbGF0Zm9ybXM7IGRvCisgICAgICAgICBmaQogICAgICAgICAgV0FZTEFORF9QUk9UT0NPTFNfREFUQURJUj1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1wa2dkYXRhZGlyIHdheWxhbmQtcHJvdG9jb2xzYAogIAogLSAgICAgICAgUEtHX0NIRUNLX01PRFVMRVMoW1dBWUxBTkRfU0NBTk5FUl0sIFt3YXlsYW5kLXNjYW5uZXJdLAogLSAgICAgICAgICAgICAgICAgICAgICAgICAgV0FZTEFORF9TQ0FOTkVSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPXdheWxhbmRfc2Nhbm5lciB3YXlsYW5kLXNjYW5uZXJgLAogLSAgICAgICAgICAgICAgICAgICAgICAgICAgV0FZTEFORF9TQ0FOTkVSPScnKQorICAgICAgICAgUEtHX0NIRUNLX0VYSVNUUyhbd2F5bGFuZC1zY2FubmVyID49IDEuMTVdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNfU1VCU1QoU0NBTk5FUl9BUkcsICdwcml2YXRlLWNvZGUnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEFDX1NVQlNUKFNDQU5ORVJfQVJHLCAnY29kZScpKQorIAogLSAgICAgICAgaWYgdGVzdCAieCRXQVlMQU5EX1NDQU5ORVIiID0geDsgdGhlbgogLSAgICAgICAgICAgIEFDX1BBVEhfUFJPRyhbV0FZTEFORF9TQ0FOTkVSXSwgW3dheWxhbmQtc2Nhbm5lcl0sIFs6XSkKIC0gICAgICAgIGZpCkBAIC0zNSw1ICs0MCw1IEBACiAgICAgICAgICBpZiB0ZXN0ICJ4JFdBWUxBTkRfU0NBTk5FUiIgPSAieDoiOyB0aGVuCiAgICAgICAgICAgICAgICAgIEFDX01TR19FUlJPUihbd2F5bGFuZC1zY2FubmVyIGlzIG5lZWRlZCB0byBjb21waWxlIHRoZSB3YXlsYW5kIHBsYXRmb3JtXSkKIC0tIAotMi4xOC4wCisyLjIxLjAKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDAyLXdpbnN5cy1zdmdhLWRybS1JbmNsdWRlLXN5cy10eXBlcy5oLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDAyLXdpbnN5cy1zdmdhLWRybS1JbmNsdWRlLXN5cy10eXBlcy5oLnBhdGNoCmluZGV4IGZmYjNiZjcuLmFhZWIwZjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMi13aW5zeXMtc3ZnYS1kcm0tSW5jbHVkZS1zeXMtdHlwZXMuaC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDItd2luc3lzLXN2Z2EtZHJtLUluY2x1ZGUtc3lzLXR5cGVzLmgucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDc3OTJmMjI4OTkxNzQ0YTAzOTZiOGJmODExZTI4MWRjYTg2MTY1ZDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGYyMTJiNmJlZDRiZjI2NWFlYzA2OWMyMWNkYzRiN2MyZDljYjMyZGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxNiBBdWcgMjAxNyAxODo1ODoyMCAtMDcwMAotU3ViamVjdDogW1BBVENIIDIvNl0gd2luc3lzL3N2Z2EvZHJtOiBJbmNsdWRlIHN5cy90eXBlcy5oCitTdWJqZWN0OiBbUEFUQ0ggMi80XSB3aW5zeXMvc3ZnYS9kcm06IEluY2x1ZGUgc3lzL3R5cGVzLmgKIE9yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCiAKIHZtd19zY3JlZW4uaCB1c2VzIGRldl90IHdoaWNoIGlzIGRlZmluZXMgaW4gc3lzL3R5cGVzLmgKQEAgLTEzLDEyICsxMywxMyBAQAogU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIFVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgWzdkZmRmYmY4YzM3ZTUyZTdiOWIwOWY3ZDFkNDM0ZWRhZDNlYmM4NjRdCiBTaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorU2lnbmVkLW9mZi1ieTogRmFiaW8gQmVydG9uIDxmYWJpby5iZXJ0b25Ab3NzeXN0ZW1zLmNvbS5icj4KIC0tLQogIHNyYy9nYWxsaXVtL3dpbnN5cy9zdmdhL2RybS92bXdfc2NyZWVuLmggfCAxICsKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKIAogZGlmZiAtLWdpdCBhL3NyYy9nYWxsaXVtL3dpbnN5cy9zdmdhL2RybS92bXdfc2NyZWVuLmggYi9zcmMvZ2FsbGl1bS93aW5zeXMvc3ZnYS9kcm0vdm13X3NjcmVlbi5oCi1pbmRleCBmMjFjYWJiNTFmLi40Yzk3MmZkYWE5IDEwMDY0NAoraW5kZXggYTg3YzA4N2Q5YzUuLmNiMzRmZWM0OGU3IDEwMDY0NAogLS0tIGEvc3JjL2dhbGxpdW0vd2luc3lzL3N2Z2EvZHJtL3Ztd19zY3JlZW4uaAogKysrIGIvc3JjL2dhbGxpdW0vd2luc3lzL3N2Z2EvZHJtL3Ztd19zY3JlZW4uaAogQEAgLTQxLDYgKzQxLDcgQEAKQEAgLTMwLDUgKzMxLDUgQEAKICAjZGVmaW5lIFZNV19HTVJfUE9PTF9TSVpFICgxNioxMDI0KjEwMjQpCiAgI2RlZmluZSBWTVdfUVVFUllfUE9PTF9TSVpFICg4MTkyKQogLS0gCi0yLjE4LjAKKzIuMjEuMAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDMtUHJvcGVybHktZ2V0LUxMVk0tdmVyc2lvbi13aGVuLXVzaW5nLUxMVk0tR2l0LXJlbGVhcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMy1Qcm9wZXJseS1nZXQtTExWTS12ZXJzaW9uLXdoZW4tdXNpbmctTExWTS1HaXQtcmVsZWFzLnBhdGNoCmluZGV4IDVlNzM1Y2EuLjk2ZWRjMjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMy1Qcm9wZXJseS1nZXQtTExWTS12ZXJzaW9uLXdoZW4tdXNpbmctTExWTS1HaXQtcmVsZWFzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMy1Qcm9wZXJseS1nZXQtTExWTS12ZXJzaW9uLXdoZW4tdXNpbmctTExWTS1HaXQtcmVsZWFzLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA4YjQyZmI0NzEzOGY5MWQ5Mzc4NDM5YWI3MTZiYWM3NzAxZTRlMzI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBjZTdiOWZmNjUxN2ZkYTA4OWYyOTZiMmFmMmMxYzQ5NjA0ODcyNTE0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KIERhdGU6IFR1ZSwgNSBKdW4gMjAxOCAxMToxMToxMCAtMDMwMAotU3ViamVjdDogW1BBVENIIDMvNl0gUHJvcGVybHkgZ2V0IExMVk0gdmVyc2lvbiB3aGVuIHVzaW5nIExMVk0gR2l0IHJlbGVhc2VzCitTdWJqZWN0OiBbUEFUQ0ggMy80XSBQcm9wZXJseSBnZXQgTExWTSB2ZXJzaW9uIHdoZW4gdXNpbmcgTExWTSBHaXQgcmVsZWFzZXMKIE9yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCiAKICQgbGx2bS1jb25maWctaG9zdCAtLXZlcnNpb24KQEAgLTEzLDE1ICsxMywxNiBAQAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KK1NpZ25lZC1vZmYtYnk6IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+CiAtLS0KICBjb25maWd1cmUuYWMgfCA0ICsrLS0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCA5MTZkMGJkMjA3Li5kZDE3MmYxZWJlIDEwMDY0NAoraW5kZXggMTgxNmE0Y2Q0NzUuLjEzZmVkOWRhZjU5IDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFjCiArKysgYi9jb25maWd1cmUuYWMKLUBAIC0xMDkwLDcgKzEwOTAsNyBAQCBzdHJpcF91bndhbnRlZF9sbHZtX2ZsYWdzKCkgeworQEAgLTExMjQsNyArMTEyNCw3IEBAIHN0cmlwX3Vud2FudGVkX2xsdm1fZmxhZ3MoKSB7CiAgCiAgbGx2bV9zZXRfZW52aXJvbm1lbnRfdmFyaWFibGVzKCkgewogICAgICBpZiB0ZXN0ICJ4JExMVk1fQ09ORklHIiAhPSB4bm87IHRoZW4KQEAgLTMwLDcgKzMxLDcgQEAKICAgICAgICAgIExMVk1fQ1BQRkxBR1M9YHN0cmlwX3Vud2FudGVkX2xsdm1fZmxhZ3MgIiRMTFZNX0NPTkZJRyAtLWNwcGZsYWdzImAKICAgICAgICAgIExMVk1fSU5DTFVERURJUj1gJExMVk1fQ09ORklHIC0taW5jbHVkZWRpcmAKICAgICAgICAgIExMVk1fTElCRElSPWAkTExWTV9DT05GSUcgLS1saWJkaXJgCi1AQCAtMjgwOCw3ICsyODA4LDcgQEAgZGV0ZWN0X29sZF9idWdneV9sbHZtKCkgeworQEAgLTI4NzAsNyArMjg3MCw3IEBAIGRldGVjdF9vbGRfYnVnZ3lfbGx2bSgpIHsKICAgICAgZG5sIG91cnNlbHZlcy4KICAgICAgZG5sIChTZWUgaHR0cHM6Ly9sbHZtLm9yZy9idWdzL3Nob3dfYnVnLmNnaT9pZD02ODIzKQogICAgICBkbmwgV2UgY2FuJ3QgdXNlICRMTFZNX1ZFUlNJT04gYmVjYXVzZSBpdCBoYXMgJ3N2bicgc3RyaXBwZWQgb3V0LApAQCAtNDAsNSArNDEsNSBAQAogIAogICAgICBpZiB0ZXN0ICJ4JGxsdm1faGF2ZV9vbmVfc28iID0geHllczsgdGhlbgogLS0gCi0yLjE4LjAKKzIuMjEuMAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDQtVXNlLVB5dGhvbi0zLXRvLWV4ZWN1dGUtdGhlLXNjcmlwdHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDQtVXNlLVB5dGhvbi0zLXRvLWV4ZWN1dGUtdGhlLXNjcmlwdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg5NTNjNGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA0LVVzZS1QeXRob24tMy10by1leGVjdXRlLXRoZS1zY3JpcHRzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotRnJvbSBlYmU2MDc3YTFkNzRlNTZiMjgyNDlmNzFlODc2MDI5NWZhODQ2ZWQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KLURhdGU6IEZyaSwgMjkgRGVjIDIwMTcgMTA6Mjc6NTkgLTAyMDAKLVN1YmplY3Q6IFtQQVRDSCA0LzZdIFVzZSBQeXRob24gMyB0byBleGVjdXRlIHRoZSBzY3JpcHRzCi1Pcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgotCi1UaGUgTUVTQSBidWlsZCBzeXN0ZW0gdXNlcyBQeXRob24gMiBidXQgYXMgT0UtQ29yZSBoYXMgbW92ZWQgYXdheSBmcm9tCi1pdCwgd2UgY2hhbmdlIGl0IHRvIHVzZSBQeXRob24gMyBpbnN0ZWFkLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgWyBjb25maWd1cmF0aW9uIF0KLQotU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KLS0tLQotIGNvbmZpZ3VyZS5hYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggZGQxNzJmMWViZS4uNDBjYWMzNmFjMiAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMTIyLDcgKzEyMiw3IEBAIEFNX1BST0dfQ0NfQ19PCi0gQUNfUFJPR19OTQotIEFNX1BST0dfQVMKLSBBWF9DSEVDS19HTlVfTUFLRQotLUFDX0NIRUNLX1BST0dTKFtQWVRIT04yXSwgW3B5dGhvbjIuNyBweXRob24yIHB5dGhvbl0pCi0rQUNfQ0hFQ0tfUFJPR1MoW1BZVEhPTjJdLCBbcHl0aG9uMy41IHB5dGhvbjMgcHl0aG9uXSkKLSBBQ19QUk9HX1NFRAotIEFDX1BST0dfTUtESVJfUAotIAotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA0LXVzZS1QS0dfQ0hFQ0tfVkFSLWZvci1kZWZpbmluZy1XQVlMQU5EX1BST1RPQ09MU19EQVQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDQtdXNlLVBLR19DSEVDS19WQVItZm9yLWRlZmluaW5nLVdBWUxBTkRfUFJPVE9DT0xTX0RBVC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NWJjZDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA0LXVzZS1QS0dfQ0hFQ0tfVkFSLWZvci1kZWZpbmluZy1XQVlMQU5EX1BST1RPQ09MU19EQVQucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRnJvbSA1NDg5ZTFkMjJlMTg3NDBhMTkyNDYyOGM1Yzk3MDk2ZDQ4ZGNmYmY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRmFiaW8gQmVydG9uIDxmYWJpby5iZXJ0b25Ab3NzeXN0ZW1zLmNvbS5icj4KK0RhdGU6IEZyaSwgMTUgRmViIDIwMTkgMTA6NTc6MDYgLTAyMDAKK1N1YmplY3Q6IFtQQVRDSCA0LzRdIHVzZSBQS0dfQ0hFQ0tfVkFSIGZvciBkZWZpbmluZyBXQVlMQU5EX1BST1RPQ09MU19EQVRBRElSCitPcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgorCitUaGlzIGFsbG93cyB0byBvdmVycmlkZSB0aGUgd2F5bGFuZC1wcm90b2NvbHMgcGtnZGF0YWRpciB3aXRoIHRoZQorV0FZTEFORF9QUk9UT0NPTFNfREFUQURJUiBmcm9tIGVudmlyb25tZW50LgorCitwa2djb25maWcgd291bGQgcmV0dXJuIGFuIGFic29sdXRlIHBhdGggaW4KKy91c3Ivc2hhcmUvd2F5bGFuZC1wcm90b2NvbHMKK2ZvciB0aGUgcGtnZGF0YWRpciB2YWx1ZSwgd2hpY2ggaXMgbm90IHN1aXRhYmxlIGZvciBjcm9zcy1jb21waWxpbmcuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KK1NpZ25lZC1vZmYtYnk6IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+CistLS0KKyBjb25maWd1cmUuYWMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDEzZmVkOWRhZjU5Li42Y2ZmOGFmYjdjZiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTg1Miw3ICsxODUyLDcgQEAgZm9yIHBsYXQgaW4gJHBsYXRmb3JtczsgZG8KKyAgICAgICAgIGlmIHRlc3QgIngkZW5hYmxlX2VnbCIgPSB4eWVzOyB0aGVuCisgICAgICAgICAgIFBLR19DSEVDS19NT0RVTEVTKFtXQVlMQU5EX0VHTF0sIFt3YXlsYW5kLWVnbC1iYWNrZW5kID49ICRXQVlMQU5EX0VHTF9CQUNLRU5EX1JFUVVJUkVEXSkKKyAgICAgICAgIGZpCistICAgICAgICBXQVlMQU5EX1BST1RPQ09MU19EQVRBRElSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPXBrZ2RhdGFkaXIgd2F5bGFuZC1wcm90b2NvbHNgCisrICAgICAgICBQS0dfQ0hFQ0tfVkFSKFtXQVlMQU5EX1BST1RPQ09MU19EQVRBRElSXSwgW3dheWxhbmQtcHJvdG9jb2xzID49ICRXQVlMQU5EX1BST1RPQ09MU19SRVFVSVJFRF0sIHBrZ2RhdGFkaXIpCisgCisgICAgICAgICBQS0dfQ0hFQ0tfRVhJU1RTKFt3YXlsYW5kLXNjYW5uZXIgPj0gMS4xNV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICBBQ19TVUJTVChTQ0FOTkVSX0FSRywgJ3ByaXZhdGUtY29kZScpLAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA1LWRyaS1pOTY1LUFkZC1taXNzaW5nLXRpbWUuaC1pbmNsdWRlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA1LWRyaS1pOTY1LUFkZC1taXNzaW5nLXRpbWUuaC1pbmNsdWRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNDBlN2I1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwNS1kcmktaTk2NS1BZGQtbWlzc2luZy10aW1lLmgtaW5jbHVkZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLUZyb20gOWUwMzY4YWY0NzFhZjNhMzZlMGViNTI2NDUzZjg5MjU5ODEyMDA2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+Ci1EYXRlOiBXZWQsIDYgSnVuIDIwMTggMDk6NTA6MzUgLTAzMDAKLVN1YmplY3Q6IFtQQVRDSCA1LzZdIGRyaTogaTk2NTogQWRkIG1pc3NpbmcgdGltZS5oIGluY2x1ZGUKLU9yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCi0KLVRoaXMgZml4ZXMgYSBidWlsZCBlcnJvciB3aGVuIHVzaW5nIG11c2w6Ci0KLSwtLS0tCi18IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi4vc3JjL21lc2EvZHJpdmVycy9kcmkvaTk2NS9pbnRlbF91cGxvYWQuYzozMzowOgotfCAuLi4vc3JjL21lc2EvZHJpdmVycy9kcmkvaTk2NS9icndfYnVmbWdyLmg6MTMyOjQ6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAndGltZV90JwotfCAgICAgdGltZV90IGZyZWVfdGltZTsKLXwgICAgIF5+fn5+fgotYC0tLS0KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbM2MyODhkYTVlZWM4MWVlNThiODU5MjdkZjE4ZDkxOTRlYWQ4ZjVjMl0KLVNpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+Ci0tLS0KLSBzcmMvbWVzYS9kcml2ZXJzL2RyaS9pOTY1L2Jyd19idWZtZ3IuaCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL21lc2EvZHJpdmVycy9kcmkvaTk2NS9icndfYnVmbWdyLmggYi9zcmMvbWVzYS9kcml2ZXJzL2RyaS9pOTY1L2Jyd19idWZtZ3IuaAotaW5kZXggNjhmNWUwYzJjOC4uNWI2MGEyMzc2MyAxMDA2NDQKLS0tLSBhL3NyYy9tZXNhL2RyaXZlcnMvZHJpL2k5NjUvYnJ3X2J1Zm1nci5oCi0rKysgYi9zcmMvbWVzYS9kcml2ZXJzL2RyaS9pOTY1L2Jyd19idWZtZ3IuaAotQEAgLTM3LDYgKzM3LDcgQEAKLSAjaW5jbHVkZSA8c3RkYm9vbC5oPgotICNpbmNsdWRlIDxzdGRpbnQuaD4KLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSsjaW5jbHVkZSA8dGltZS5oPgotICNpbmNsdWRlICJ1dGlsL3VfYXRvbWljLmgiCi0gI2luY2x1ZGUgInV0aWwvbGlzdC5oIgotIAotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA2LXVzZS1QS0dfQ0hFQ0tfVkFSLWZvci1kZWZpbmluZy1XQVlMQU5EX1BST1RPQ09MU19EQVQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDYtdXNlLVBLR19DSEVDS19WQVItZm9yLWRlZmluaW5nLVdBWUxBTkRfUFJPVE9DT0xTX0RBVC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDIxMjkyMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDYtdXNlLVBLR19DSEVDS19WQVItZm9yLWRlZmluaW5nLVdBWUxBTkRfUFJPVE9DT0xTX0RBVC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLUZyb20gNzU0Y2NmODlhNzMyZmMzZGE2ZTliYzYyZWJkNmIyODY4NmZmM2QyNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+Ci1EYXRlOiBXZWQsIDI5IEF1ZyAyMDE4IDIyOjEwOjMwIC0wMzAwCi1TdWJqZWN0OiBbUEFUQ0ggNi82XSB1c2UgUEtHX0NIRUNLX1ZBUiBmb3IgZGVmaW5pbmcgV0FZTEFORF9QUk9UT0NPTFNfREFUQURJUgotT3JnYW5pemF0aW9uOiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTFREQS4KLQotVGhpcyBhbGxvd3MgdG8gb3ZlcnJpZGUgdGhlIHdheWxhbmQtcHJvdG9jb2xzIHBrZ2RhdGFkaXIgd2l0aCB0aGUKLVdBWUxBTkRfUFJPVE9DT0xTX0RBVEFESVIgZnJvbSBlbnZpcm9ubWVudC4KLQotcGtnY29uZmlnIHdvdWxkIHJldHVybiBhbiBhYnNvbHV0ZSBwYXRoIGluCi0vdXNyL3NoYXJlL3dheWxhbmQtcHJvdG9jb2xzCi1mb3IgdGhlIHBrZ2RhdGFkaXIgdmFsdWUsIHdoaWNoIGlzIG5vdCBzdWl0YWJsZSBmb3IgY3Jvc3MtY29tcGlsaW5nLgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+Ci0tLS0KLSBjb25maWd1cmUuYWMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDQwY2FjMzZhYzIuLjcyOGJiZGNiYzQgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTE4MjMsNyArMTgyMyw3IEBAIGZvciBwbGF0IGluICRwbGF0Zm9ybXM7IGRvCi0gICAgICAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhbV0FZTEFORF9DTElFTlRdLCBbd2F5bGFuZC1jbGllbnQgPj0gJFdBWUxBTkRfUkVRVUlSRURdKQotICAgICAgICAgUEtHX0NIRUNLX01PRFVMRVMoW1dBWUxBTkRfU0VSVkVSXSwgW3dheWxhbmQtc2VydmVyID49ICRXQVlMQU5EX1JFUVVJUkVEXSkKLSAgICAgICAgIFBLR19DSEVDS19NT0RVTEVTKFtXQVlMQU5EX1BST1RPQ09MU10sIFt3YXlsYW5kLXByb3RvY29scyA+PSAkV0FZTEFORF9QUk9UT0NPTFNfUkVRVUlSRURdKQotLSAgICAgICAgV0FZTEFORF9QUk9UT0NPTFNfREFUQURJUj1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1wa2dkYXRhZGlyIHdheWxhbmQtcHJvdG9jb2xzYAotKyAgICAgICAgUEtHX0NIRUNLX1ZBUihbV0FZTEFORF9QUk9UT0NPTFNfREFUQURJUl0sIFt3YXlsYW5kLXByb3RvY29scyA+PSAkV0FZTEFORF9QUk9UT0NPTFNfUkVRVUlSRURdLCBwa2dkYXRhZGlyKQotIAotICAgICAgICAgQUNfUEFUSF9QUk9HKFtXQVlMQU5EX1NDQU5ORVJdLCBbd2F5bGFuZC1zY2FubmVyXSwgWzpdKQotIAotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWdsXzE4LjEuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1nbF8xOC4xLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczMjY3ZWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWdsXzE4LjEuOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotcmVxdWlyZSBtZXNhXyR7UFZ9LmJiCi0KLVNVTU1BUlkgKz0gIiAoT3BlbkdMIG9ubHksIG5vIEVHTC9HTEVTKSIKLQotUFJPVklERVMgPSAidmlydHVhbC9saWJnbCB2aXJ0dWFsL21lc2EiCi0KLVMgPSAiJHtXT1JLRElSfS9tZXNhLSR7UFZ9IgotCi1QQUNLQUdFQ09ORklHID8/PSAib3BlbmdsIGRyaSAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZ2xfMTkuMC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWdsXzE5LjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNGIxYzFjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWdsXzE5LjAuMS5iYgpAQCAtMCwwICsxLDEwIEBACityZXF1aXJlIG1lc2FfJHtQVn0uYmIKKworU1VNTUFSWSArPSAiIChPcGVuR0wgb25seSwgbm8gRUdML0dMRVMpIgorCitQUk9WSURFUyA9ICJ2aXJ0dWFsL2xpYmdsIHZpcnR1YWwvbWVzYSIKKworUyA9ICIke1dPUktESVJ9L21lc2EtJHtQVn0iCisKK1BBQ0tBR0VDT05GSUcgPz89ICJvcGVuZ2wgZHJpICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtdGFyZ2V0ID0gIm9wZW5nbCBkcmkgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgZCl9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS5pbmMKaW5kZXggZjQ3ZjFhYS4uZWNlNzQ5NyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EuaW5jCkBAIC0yNiw3ICsyNiw5IEBACiAKIGluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBweXRob24zbmF0aXZlIGdldHRleHQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCiAKLUFOWV9PRl9ESVNUUk9fRkVBVFVSRVMgPSAib3BlbmdsIHZ1bGthbiIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworQU5ZX09GX0RJU1RST19GRUFUVVJFU19jbGFzcy10YXJnZXQgPSAib3BlbmdsIHZ1bGthbiIKIAogUExBVEZPUk1TID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdQQUNLQUdFQ09ORklHJywgJ3gxMSB3YXlsYW5kJywgZCl9IFwKICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dibScsICdkcm0nLCAnJywgZCl9IFwKQEAgLTQwLDI2ICs0MiwzMSBAQAogICAgICAgICAgICAgICAgIC0tZW5hYmxlLWdseC1yZWFkLW9ubHktdGV4dCBcCiAgICAgICAgICAgICAgICAgUFlUSE9OMj1weXRob24yIFwKICAgICAgICAgICAgICAgICAtLXdpdGgtbGx2bS1wcmVmaXg9JHtTVEFHSU5HX0xJQkRJUn0vbGx2bSR7TUVTQV9MTFZNX1JFTEVBU0V9IFwKLSAgICAgICAgICAgICAgICAtLXdpdGgtcGxhdGZvcm1zPScke1BMQVRGT1JNU30nIgorICAgICAgICAgICAgICAgIC0td2l0aC1wbGF0Zm9ybXM9JyR7UExBVEZPUk1TfScgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWF1dG90b29scyBcCisiCiAKLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd3YXlsYW5kIHZ1bGthbicsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnb3BlbmdsIGVnbCBnbGVzIGdibSBkcmknLCAnJywgZCl9IFwKK1BBQ0tBR0VDT05GSUdfY2xhc3MtdGFyZ2V0ID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnd2F5bGFuZCB2dWxrYW4nLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ29wZW5nbCBlZ2wgZ2xlcyBnYm0gZHJpIGdhbGxpdW0nLCAnJywgZCl9IFwKICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMSBvcGVuZ2wnLCAneDExIGRyaTMnLCAnJywgZCl9IFwKICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMSB2dWxrYW4nLCAnZHJpMycsICcnLCBkKX0gXAogCQkgICAiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA/PSAiZ2JtIGRyaSBlZ2wgb3BlbmdsIgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmVzZGsgPz0gImdibSBkcmkgZWdsIG9wZW5nbCIKIAogIyAiZ2JtIiByZXF1aXJlcyAiZHJpIiwgIm9wZW5nbCIKIFBBQ0tBR0VDT05GSUdbZ2JtXSA9ICItLWVuYWJsZS1nYm0sLS1kaXNhYmxlLWdibSIKIAotWDExX0RFUFMgPSAieG9yZ3Byb3RvIHZpcnR1YWwvbGlieDExIGxpYnhleHQgbGlieHhmODZ2bSBsaWJ4ZGFtYWdlIGxpYnhmaXhlcyIKK1gxMV9ERVBTID0gInhvcmdwcm90byB2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGxpYnh4Zjg2dm0gbGlieGRhbWFnZSBsaWJ4Zml4ZXMgeHJhbmRyIgogIyAieDExIiByZXF1aXJlcyAib3BlbmdsIgogUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0tZW5hYmxlLWdseC10bHMsLS1kaXNhYmxlLWdseCwke1gxMV9ERVBTfSIKIFBBQ0tBR0VDT05GSUdbeHZtY10gPSAiLS1lbmFibGUteHZtYywtLWRpc2FibGUteHZtYyxsaWJ4dm1jIgogUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSA9ICIsLHdheWxhbmQtbmF0aXZlIHdheWxhbmQgbGliZHJtIHdheWxhbmQtcHJvdG9jb2xzIgogCi1EUklEUklWRVJTID0gInN3cmFzdCIKLURSSURSSVZFUlNfYXBwZW5kX3g4NiA9ICIscmFkZW9uLHIyMDAsbm91dmVhdSxpOTY1LGk5MTUiCi1EUklEUklWRVJTX2FwcGVuZF94ODYtNjQgPSAiLHJhZGVvbixyMjAwLG5vdXZlYXUsaTk2NSxpOTE1IgorRFJJRFJJVkVSU19jbGFzcy1uYXRpdmUgPSAic3dyYXN0IgorRFJJRFJJVkVSU19jbGFzcy1uYXRpdmVzZGsgPSAic3dyYXN0IgorRFJJRFJJVkVSU19hcHBlbmRfeDg2X2NsYXNzLXRhcmdldCA9ICIscmFkZW9uLHIyMDAsbm91dmVhdSxpOTY1LGk5MTUiCitEUklEUklWRVJTX2FwcGVuZF94ODYtNjRfY2xhc3MtdGFyZ2V0ID0gIixyYWRlb24scjIwMCxub3V2ZWF1LGk5NjUsaTkxNSIKICMgImRyaSIgcmVxdWlyZXMgIm9wZW5nbCIKIFBBQ0tBR0VDT05GSUdbZHJpXSA9ICItLWVuYWJsZS1kcmkgLS13aXRoLWRyaS1kcml2ZXJzPSR7RFJJRFJJVkVSU30sIC0tZGlzYWJsZS1kcmksIHhvcmdwcm90byBsaWJkcm0iCiBQQUNLQUdFQ09ORklHW2RyaTNdID0gIi0tZW5hYmxlLWRyaTMsIC0tZGlzYWJsZS1kcmkzLCB4b3JncHJvdG8gbGlieHNobWZlbmNlIgpAQCAtNjcsOCArNzQsOCBAQAogIyBWdWxrYW4gZHJpdmVycyBuZWVkIGRyaTMgZW5hYmxlZAogIyByYWRlb24gY291bGQgYmUgZW5hYmxlZCBhcyB3ZWxsIGJ1dCByZXF1aXJlcyBnYWxsaXVtLWxsdm0gd2l0aCBsbHZtID49IDMuOQogVlVMS0FOX0RSSVZFUlMgPSAiIgotVlVMS0FOX0RSSVZFUlNfYXBwZW5kX3g4NiA9ICIsaW50ZWwiCi1WVUxLQU5fRFJJVkVSU19hcHBlbmRfeDg2LTY0ID0gIixpbnRlbCIKK1ZVTEtBTl9EUklWRVJTX2FwcGVuZF94ODZfY2xhc3MtdGFyZ2V0ID0gIixpbnRlbCIKK1ZVTEtBTl9EUklWRVJTX2FwcGVuZF94ODYtNjRfY2xhc3MtdGFyZ2V0ID0gIixpbnRlbCIKIFBBQ0tBR0VDT05GSUdbdnVsa2FuXSA9ICItLXdpdGgtdnVsa2FuLWRyaXZlcnM9JHtWVUxLQU5fRFJJVkVSU30sIC0td2l0aG91dC12dWxrYW4tZHJpdmVycywgcHl0aG9uMy1tYWtvLW5hdGl2ZSIKIAogUEFDS0FHRUNPTkZJR1tvcGVuZ2xdID0gIi0tZW5hYmxlLW9wZW5nbCwgLS1kaXNhYmxlLW9wZW5nbCIKQEAgLTg1LDE3ICs5MiwyMSBAQAogR0FMTElVTURSSVZFUlMgPSAic3dyYXN0IgogR0FMTElVTURSSVZFUlNfYXBwZW5kID0iJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZXRuYXZpdicsICcsZXRuYXZpdicsICcnLCBkKX0iCiBHQUxMSVVNRFJJVkVSU19hcHBlbmQgPSIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdpbXgnLCAnLGlteCcsICcnLCBkKX0iCi1HQUxMSVVNRFJJVkVSU19MTFZNMzMgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncjYwMCcsICdyYWRlb25zaSxyNjAwJywgJycsIGQpfSIKLVBBQ0tBR0VDT05GSUdbcjYwMF0gPSAiIgorCisjIHJhZGVvbnNpIHJlcXVpcmVzIExMVk0KK0dBTExJVU1EUklWRVJTX0xMVk0zMyA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdyNjAwJywgJyxyYWRlb25zaScsICcnLCBkKX0iCiBHQUxMSVVNRFJJVkVSU19MTFZNMzNfRU5BQkxFRCA9ICIke0BvZS51dGlscy52ZXJzaW9uX2xlc3Nfb3JfZXF1YWwoJ01FU0FfTExWTV9SRUxFQVNFJywgJzMuMicsIEZhbHNlLCBsZW4oJyR7R0FMTElVTURSSVZFUlNfTExWTTMzfScpID4gMCwgZCl9IgogR0FMTElVTURSSVZFUlNfTExWTSA9ICJyMzAwLHN2Z2Esbm91dmVhdSR7QCcsJHtHQUxMSVVNRFJJVkVSU19MTFZNMzN9JyBpZiAke0dBTExJVU1EUklWRVJTX0xMVk0zM19FTkFCTEVEfSBlbHNlICcnfSIKLUdBTExJVU1EUklWRVJTX2FwcGVuZF94ODYgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ2FsbGl1bS1sbHZtJywgJywke0dBTExJVU1EUklWRVJTX0xMVk19JywgJycsIGQpfSIKLUdBTExJVU1EUklWRVJTX2FwcGVuZF94ODYtNjQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ2FsbGl1bS1sbHZtJywgJywke0dBTExJVU1EUklWRVJTX0xMVk19JywgJycsIGQpfSIKLUdBTExJVU1EUklWRVJTX2FwcGVuZF94ODYgPSAiLHZpcmdsIgotR0FMTElVTURSSVZFUlNfYXBwZW5kX3g4Ni02NCA9ICIsdmlyZ2wiCisKK1BBQ0tBR0VDT05GSUdbcjYwMF0gPSAiIgorCitHQUxMSVVNRFJJVkVSU19hcHBlbmQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ2FsbGl1bS1sbHZtJywgJywke0dBTExJVU1EUklWRVJTX0xMVk19JywgJycsIGQpfSIKK0dBTExJVU1EUklWRVJTX2FwcGVuZCA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdyNjAwJywgJyxyNjAwJywgJycsIGQpfSIKK0dBTExJVU1EUklWRVJTX2FwcGVuZCA9ICIsdmlyZ2wiCisKICMga2VlcCAtLXdpdGgtZ2FsbGl1bS1kcml2ZXJzIHNlcGFyYXRlLCBiZWNhdXNlIHdoZW4gb25seSBvbmUgb2YgZ2FsbGl1bSB2ZXJzaW9ucyBpcyBlbmFibGVkLCBvdGhlciAyIHdlcmUgYWRkaW5nIC0td2l0aG91dC1nYWxsaXVtLWRyaXZlcnMKLVBBQ0tBR0VDT05GSUdbZ2FsbGl1bV0gICAgICA9ICItLWVuYWJsZS10ZXh0dXJlLWZsb2F0IC0td2l0aC1nYWxsaXVtLWRyaXZlcnM9JHtHQUxMSVVNRFJJVkVSU30sIC0td2l0aG91dC1nYWxsaXVtLWRyaXZlcnMiCi1NRVNBX0xMVk1fUkVMRUFTRSA/PSAiNi4wIgorUEFDS0FHRUNPTkZJR1tnYWxsaXVtXSA9ICItLXdpdGgtZ2FsbGl1bS1kcml2ZXJzPSR7R0FMTElVTURSSVZFUlN9LCAtLXdpdGhvdXQtZ2FsbGl1bS1kcml2ZXJzIgorTUVTQV9MTFZNX1JFTEVBU0UgPz0gIjguMC4wIgogUEFDS0FHRUNPTkZJR1tnYWxsaXVtLWxsdm1dID0gIi0tZW5hYmxlLWxsdm0gLS1lbmFibGUtbGx2bS1zaGFyZWQtbGlicywgLS1kaXNhYmxlLWxsdm0sIGxsdm0ke01FU0FfTExWTV9SRUxFQVNFfSBsbHZtLW5hdGl2ZSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtAJ2VsZnV0aWxzJyBpZiAke0dBTExJVU1EUklWRVJTX0xMVk0zM19FTkFCTEVEfSBlbHNlICcnfSIKIGV4cG9ydCBXQU5UX0xMVk1fUkVMRUFTRSA9ICIke01FU0FfTExWTV9SRUxFQVNFfSIKQEAgLTE0MSw2ICsxNTIsNyBAQAogICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vZ2FsbGl1bS1waXBlLyoubGEKICAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2dibS8qLmxhCiAKKyAgICAjIGl0IHdhcyBwYWNrYWdlZCBpbiBsaWJkcmljb3JlOS4xLjMtMSBhbmQgcHJldmVudGluZyB1cGdyYWRlcyB3aGVuIGRlYmlhbi5iYmNsYXNzIHdhcyB1c2VkIAogICAgIGNocnBhdGggLS1kZWxldGUgJHtEfSR7bGliZGlyfS9kcmkvKl9kcmkuc28gfHwgdHJ1ZQogCiAgICAgIyBsaWJ3YXlsYW5kLWVnbCBoYXMgYmVlbiBtb3ZlZCB0byB3YXlsYW5kIDEuMTUrCkBAIC0xOTIsNyArMjA0LDcgQEAKICAgICAgICAgZHJpX3BrZ3MgPSBvcy5saXN0ZGlyKGRyaV9kcml2ZXJzX3Jvb3QpCiAgICAgICAgIGxpYl9uYW1lID0gZC5leHBhbmQoIiR7TUxQUkVGSVh9bWVzYS1tZWdhZHJpdmVyIikKICAgICAgICAgZm9yIHAgaW4gZHJpX3BrZ3M6Ci0gICAgICAgICAgICBtID0gcmUubWF0Y2goJ14oLiopX2RyaVwuc28kJywgcCkKKyAgICAgICAgICAgIG0gPSByZS5tYXRjaChyJ14oLiopX2RyaVwuc28kJywgcCkKICAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICAgcGtnX25hbWUgPSAiICR7TUxQUkVGSVh9bWVzYS1kcml2ZXItJXMiICUgbGVnaXRpbWl6ZV9wYWNrYWdlX25hbWUobS5ncm91cCgxKSkKICAgICAgICAgICAgICAgICBkLmFwcGVuZFZhcigiUlBST1ZJREVTXyVzIiAlIGxpYl9uYW1lLCBwa2dfbmFtZSkKQEAgLTIwMCwxNSArMjEyLDE0IEBACiAgICAgICAgICAgICAgICAgZC5hcHBlbmRWYXIoIlJSRVBMQUNFU18lcyIgJSBsaWJfbmFtZSwgcGtnX25hbWUpCiAKICAgICBwaXBlX2RyaXZlcnNfcm9vdCA9IG9zLnBhdGguam9pbihkLmdldFZhcignbGliZGlyJyksICJnYWxsaXVtLXBpcGUiKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBpcGVfZHJpdmVyc19yb290LCAnXnBpcGVfKC4qKVwuc28kJywgJ21lc2EtZHJpdmVyLXBpcGUtJXMnLCAnTWVzYSAlcyBwaXBlIGRyaXZlcicsIGV4dHJhX2RlcGVuZHM9JycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGlwZV9kcml2ZXJzX3Jvb3QsIHInXnBpcGVfKC4qKVwuc28kJywgJ21lc2EtZHJpdmVyLXBpcGUtJXMnLCAnTWVzYSAlcyBwaXBlIGRyaXZlcicsIGV4dHJhX2RlcGVuZHM9JycpCiB9CiAKIFBBQ0tBR0VTUExJVEZVTkNTX3ByZXBlbmQgPSAibWVzYV9wb3B1bGF0ZV9wYWNrYWdlcyAiCiAKIFBBQ0tBR0VTX0RZTkFNSUMgKz0gIl5tZXNhLWRyaXZlci0uKiIKIAotRklMRVNfJHtQTn0gPSAiIgotRklMRVNfbWVzYS1tZWdhZHJpdmVyID0gIiR7bGliZGlyfS9kcmkvKiAke3N5c2NvbmZkaXJ9IgorRklMRVNfbWVzYS1tZWdhZHJpdmVyID0gIiR7bGliZGlyfS9kcmkvKiAke2RhdGFkaXJ9L2RyaXJjLmQvMDAtbWVzYS1kZWZhdWx0cy5jb25mIgogRklMRVNfbWVzYS12dWxrYW4tZHJpdmVycyA9ICIke2xpYmRpcn0vbGlidnVsa2FuXyouc28gJHtkYXRhZGlyfS92dWxrYW4iCiBGSUxFU19saWJlZ2wtbWVzYSA9ICIke2xpYmRpcn0vbGliRUdMLnNvLioiCiBGSUxFU19saWJnYm0gPSAiJHtsaWJkaXJ9L2xpYmdibS5zby4qIgpAQCAtMjMxLDMgKzI0Miw4IEBACiBGSUxFU19saWJ4YXRyYWNrZXItZGV2ID0gIiR7bGliZGlyfS9saWJ4YXRyYWNrZXIuc28gJHtsaWJkaXJ9L2xpYnhhdHJhY2tlci5sYSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aW5jbHVkZWRpcn0veGFfdHJhY2tlci5oICR7aW5jbHVkZWRpcn0veGFfY29tcG9zaXRlLmggJHtpbmNsdWRlZGlyfS94YV9jb250ZXh0LmggXAogICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGtnY29uZmlnL3hhdHJhY2tlci5wYyIKKworIyBGaXggdXBncmFkZSBwYXRoIGZyb20gbWVzYSB0byBtZXNhLW1lZ2Fkcml2ZXIKK1JSRVBMQUNFU19tZXNhLW1lZ2Fkcml2ZXIgPSAibWVzYSIKK1JDT05GTElDVFNfbWVzYS1tZWdhZHJpdmVyID0gIm1lc2EiCitSUFJPVklERVNfbWVzYS1tZWdhZHJpdmVyID0gIm1lc2EiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2FfMTguMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhXzE4LjEuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODZkNmE2Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2FfMTguMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotcmVxdWlyZSAke0JQTn0uaW5jCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9tZXNhLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlL21lc2EtJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtU2ltcGxpZnktd2F5bGFuZC1zY2FubmVyLWxvb2t1cC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLXdpbnN5cy1zdmdhLWRybS1JbmNsdWRlLXN5cy10eXBlcy5oLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtUHJvcGVybHktZ2V0LUxMVk0tdmVyc2lvbi13aGVuLXVzaW5nLUxMVk0tR2l0LXJlbGVhcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LVVzZS1QeXRob24tMy10by1leGVjdXRlLXRoZS1zY3JpcHRzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtZHJpLWk5NjUtQWRkLW1pc3NpbmctdGltZS5oLWluY2x1ZGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNi11c2UtUEtHX0NIRUNLX1ZBUi1mb3ItZGVmaW5pbmctV0FZTEFORF9QUk9UT0NPTFNfREFULnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjJmOGQyMDk4YWI0NzhiYzM5MDdlNDIxMzA1NzdiNTRhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU1ZjU3NzhkNThhNzEwYTYzZDY2MzVmMDAwNTM1NzY4ZmFmN2RiOWU4MTQ0ZGMwZjRmZDE5ODlmOTM2YzFhODMiCi0KLSNiZWNhdXNlIHdlIGNhbm5vdCByZWx5IG9uIHRoZSBmYWN0IHRoYXQgYWxsIGFwcHMgd2lsbCB1c2UgcGtnY29uZmlnLAotI21ha2UgZWdscGxhdGZvcm0uaCBpbmRlcGVuZGVudCBvZiBNRVNBX0VHTF9OT19YMTFfSEVBREVSCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdlZ2wnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBzZWQgLWkgLWUgJ3MvXiNpZiBkZWZpbmVkKE1FU0FfRUdMX05PX1gxMV9IRUFERVJTKSQvI2lmIGRlZmluZWQoTUVTQV9FR0xfTk9fWDExX0hFQURFUlMpIHx8ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3gxMScsICcwJywgJzEnLCBkKX0vJyAke0R9JHtpbmNsdWRlZGlyfS9FR0wvZWdscGxhdGZvcm0uaAotICAgIGZpCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2FfMTkuMC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhXzE5LjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTBiZThhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhXzE5LjAuMS5iYgpAQCAtMCwwICsxLDE5IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDX1VSSSA9ICJodHRwczovL21lc2EuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmUvbWVzYS0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1TaW1wbGlmeS13YXlsYW5kLXNjYW5uZXItbG9va3VwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItd2luc3lzLXN2Z2EtZHJtLUluY2x1ZGUtc3lzLXR5cGVzLmgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1Qcm9wZXJseS1nZXQtTExWTS12ZXJzaW9uLXdoZW4tdXNpbmctTExWTS1HaXQtcmVsZWFzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtdXNlLVBLR19DSEVDS19WQVItZm9yLWRlZmluaW5nLVdBWUxBTkRfUFJPVE9DT0xTX0RBVC5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxOTYzNmJiM2RhMzVjMjFmNDMwNDBkMzFlNTc1ZDVjZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ODg0MTYzYzBlYTllNGM5ODM3OGFiOGZlY2Q3MmZlN2I1ZjQzNzcxM2ExNDQ3MWJlZGEzNzhkZjI0Nzk5OWQ0IgorCisjYmVjYXVzZSB3ZSBjYW5ub3QgcmVseSBvbiB0aGUgZmFjdCB0aGF0IGFsbCBhcHBzIHdpbGwgdXNlIHBrZ2NvbmZpZywKKyNtYWtlIGVnbHBsYXRmb3JtLmggaW5kZXBlbmRlbnQgb2YgTUVTQV9FR0xfTk9fWDExX0hFQURFUgorZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZWdsJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgc2VkIC1pIC1lICdzL14jaWYgZGVmaW5lZChNRVNBX0VHTF9OT19YMTFfSEVBREVSUykkLyNpZiBkZWZpbmVkKE1FU0FfRUdMX05PX1gxMV9IRUFERVJTKSB8fCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd4MTEnLCAnMCcsICcxJywgZCl9LycgJHtEfSR7aW5jbHVkZWRpcn0vRUdML2VnbHBsYXRmb3JtLmgKKyAgICBmaQorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ28vMDAwMS1FbmZvcmNlLXJlY3JlYXRpb24tb2YtZG9jcy1wYW5nby50eXBlcy1pdC1pcy1idWlsZC1jLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ28vMDAwMS1FbmZvcmNlLXJlY3JlYXRpb24tb2YtZG9jcy1wYW5nby50eXBlcy1pdC1pcy1idWlsZC1jLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2Nzg0YTEwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvLzAwMDEtRW5mb3JjZS1yZWNyZWF0aW9uLW9mLWRvY3MtcGFuZ28udHlwZXMtaXQtaXMtYnVpbGQtYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0NyArMCwwIEBACi1Gcm9tIDUyNmE2YTlmYzlhMWNmZTc1YzUyMWM4YmIzOWI2MTc1NGZlNDJmZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMiBTZXAgMjAxNiAxNDowMDoyNCArMDMwMAotU3ViamVjdDogW1BBVENIXSBFbmZvcmNlIHJlY3JlYXRpb24gb2YgZG9jcy9wYW5nby50eXBlczsgaXQgaXMgYnVpbGQKLSBjb25maWd1cmF0aW9uLXNwZWNpZmljLgotCi1JbiBwYXJ0aWN1bGFyLCBpdCBuZWVkcyB0byBleGNsdWRlIHJlZmVyZW5jZXMgdG8gUGFuZ29YZnQgaWYgWGZ0IGlzIG5vdCBhdmFpbGFibGUuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci0tLS0KLSBkb2NzL01ha2VmaWxlLmFtIHwgMTcgKysrKy0tLS0tLS0tCi0gZG9jcy9wYW5nby50eXBlcyB8IDgwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDkyIGRlbGV0aW9ucygtKQotIGRlbGV0ZSBtb2RlIDEwMDY0NCBkb2NzL3BhbmdvLnR5cGVzCi0KLWRpZmYgLS1naXQgYS9kb2NzL01ha2VmaWxlLmFtIGIvZG9jcy9NYWtlZmlsZS5hbQotaW5kZXggZjVmMTMxNy4uODk0N2E5OSAxMDA2NDQKLS0tLSBhL2RvY3MvTWFrZWZpbGUuYW0KLSsrKyBiL2RvY3MvTWFrZWZpbGUuYW0KLUBAIC00OSw2ICs0OSwxMCBAQCBJR05PUkVfSEZJTEVTPQkJCVwKLSAJcGFuZ29jb3JldGV4dC1wcml2YXRlLmgJCVwKLSAJcGFuZ29hdHN1aS1wcml2YXRlLmgKLSAKLStpZiAhSEFWRV9YRlQKLStJR05PUkVfSEZJTEVTICs9IHBhbmdveGZ0IHBhbmdveGZ0LXJlbmRlci5oCi0rZW5kaWYKLSsKLSAjIENGTEFHUyBhbmQgTERGTEFHUyBmb3IgY29tcGlsaW5nIHNjYW4gcHJvZ3JhbS4gT25seSBuZWVkZWQKLSAjIGlmICQoRE9DX01PRFVMRSkudHlwZXMgaXMgbm9uLWVtcHR5LgotIElOQ0xVREVTID0gICAgICAgICAgICAgICAJXAotQEAgLTEwMywxNiArMTA3LDYgQEAgaW5jbHVkZSAkKHRvcF9zcmNkaXIpL2d0ay1kb2MubWFrZQotICMgVGhpcyBsaW5lIHJlYWxseSBiZWxvbmdzIGluIGd0ay1kb2MubWsKLSAkKFJFUE9SVF9GSUxFUyk6IHNnbWwtYnVpbGQuc3RhbXAKLSAKLS1wYW5nby50eXBlczoKLS0JQGVjaG8gIlJlYnVpbGRpbmcgJEAiCi0tCUBMQU5HPUM7IExJU1Q9JCQoZ3JlcCAncGFuZ29fW19hLXpBLVowLTldKl9nZXRfdHlwZScgJChIRklMRV9HTE9CKSB8IGdyZXAgLXYgJ1wocHJpdmF0ZVx8YXRzdWlcfGNvcmVfdGV4dFx8d2luMzJcKScgfCBzZWQgJ3MvXChbXjpdKjpcKS4qXChwYW5nb1tfYS16QS1aMC05XSpfZ2V0X3R5cGVcKS4qL1wxXDIvJykgJiYgXAotLQllY2hvICIkJExJU1QiIHwgc2VkICdzLy4qXC9cKHBhbmdvXC8uKlwpOi4qLyNpbmNsdWRlIDxcMT4vJyB8IHNvcnQgLXUgPiAkQC50bXAgJiYgXAotLQllY2hvID4+ICRALnRtcCAmJiBcCi0tCWVjaG8gIiQkTElTVCIgfCBjdXQgLWQgOiAtZiAyIHwgc29ydCAtdSA+PiAkQC50bXAgJiYgXAotLQltdiAkQC50bXAgJEAKLS0KLS1CVUlMVF9TT1VSQ0VTID0gcGFuZ28udHlwZXMKLS0KLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAKLSBNQUlOVEFJTkVSQ0xFQU5GSUxFUyA9ICQoQlVJTFRfU09VUkNFUykKLUBAIC0xMjAsOCArMTE0LDcgQEAgRVhUUkFfRElTVCArPQkJCQlcCi0gCWxheW91dC5maWcJCQlcCi0gCWxheW91dC5lcHMJCQlcCi0gCXZlcnNpb24ueG1sLmluCQkJXAotLQljaGVjay5kb2NzCQkJXAotLQlwYW5nby50eXBlcwotKwljaGVjay5kb2NzCi0gCi0gIyBmb3JjZSBkb2MgcmVidWxpZCBhZnRlciBjb25maWd1cmUKLSBkaXN0LWhvb2stbG9jYWw6IGRpc3QtbG9jYWwtY2hlY2stbm8tY3Jvc3MtcmVmZXJlbmNlcyBhbGwtbG9jYWwKLWRpZmYgLS1naXQgYS9kb2NzL3BhbmdvLnR5cGVzIGIvZG9jcy9wYW5nby50eXBlcwotZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCA3ZDkzY2RhLi4wMDAwMDAwCi0tLS0gYS9kb2NzL3BhbmdvLnR5cGVzCi0rKysgL2Rldi9udWxsCi1AQCAtMSw4MCArMCwwIEBACi0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvLWF0dHJpYnV0ZXMuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tY29udGV4dC5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby1lbmdpbmUuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tZW51bS10eXBlcy5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby1mb250Lmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvLWZvbnRtYXAuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tZm9udHNldC5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby1nbHlwaC1pdGVtLmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvLWdseXBoLmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvLWl0ZW0uaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tbGFuZ3VhZ2UuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tbGF5b3V0Lmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvLW1hdHJpeC5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby1vdC5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby1yZW5kZXJlci5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby10YWJzLmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvY2Fpcm8tZmMuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ29jYWlyby5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nb2ZjLWRlY29kZXIuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ29mYy1mb250Lmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvZmMtZm9udG1hcC5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nb2Z0Mi5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nb3hmdC1yZW5kZXIuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ294ZnQuaD4KLS0KLS1wYW5nb19hbGlnbm1lbnRfZ2V0X3R5cGUKLS1wYW5nb19hdHRyX2xpc3RfZ2V0X3R5cGUKLS1wYW5nb19hdHRyX3R5cGVfZ2V0X3R5cGUKLS1wYW5nb19iaWRpX3R5cGVfZ2V0X3R5cGUKLS1wYW5nb19jYWlyb19mY19mb250X21hcF9nZXRfdHlwZQotLXBhbmdvX2NhaXJvX2ZvbnRfZ2V0X3R5cGUKLS1wYW5nb19jYWlyb19mb250X21hcF9nZXRfdHlwZQotLXBhbmdvX2NvbG9yX2dldF90eXBlCi0tcGFuZ29fY29udGV4dF9nZXRfdHlwZQotLXBhbmdvX2NvdmVyYWdlX2xldmVsX2dldF90eXBlCi0tcGFuZ29fZGlyZWN0aW9uX2dldF90eXBlCi0tcGFuZ29fZWxsaXBzaXplX21vZGVfZ2V0X3R5cGUKLS1wYW5nb19lbmdpbmVfZ2V0X3R5cGUKLS1wYW5nb19lbmdpbmVfbGFuZ19nZXRfdHlwZQotLXBhbmdvX2VuZ2luZV9zaGFwZV9nZXRfdHlwZQotLXBhbmdvX2ZjX2RlY29kZXJfZ2V0X3R5cGUKLS1wYW5nb19mY19mb250X2dldF90eXBlCi0tcGFuZ29fZmNfZm9udF9tYXBfZ2V0X3R5cGUKLS1wYW5nb19mb250X2Rlc2NyaXB0aW9uX2dldF90eXBlCi0tcGFuZ29fZm9udF9mYWNlX2dldF90eXBlCi0tcGFuZ29fZm9udF9mYW1pbHlfZ2V0X3R5cGUKLS1wYW5nb19mb250X2dldF90eXBlCi0tcGFuZ29fZm9udF9tYXBfZ2V0X3R5cGUKLS1wYW5nb19mb250X21hc2tfZ2V0X3R5cGUKLS1wYW5nb19mb250X21ldHJpY3NfZ2V0X3R5cGUKLS1wYW5nb19mb250c2V0X2dldF90eXBlCi0tcGFuZ29fZm9udHNldF9zaW1wbGVfZ2V0X3R5cGUKLS1wYW5nb19mdDJfZm9udF9tYXBfZ2V0X3R5cGUKLS1wYW5nb19nbHlwaF9pdGVtX2dldF90eXBlCi0tcGFuZ29fZ2x5cGhfaXRlbV9pdGVyX2dldF90eXBlCi0tcGFuZ29fZ2x5cGhfc3RyaW5nX2dldF90eXBlCi0tcGFuZ29fZ3Jhdml0eV9nZXRfdHlwZQotLXBhbmdvX2dyYXZpdHlfaGludF9nZXRfdHlwZQotLXBhbmdvX2l0ZW1fZ2V0X3R5cGUKLS1wYW5nb19sYW5ndWFnZV9nZXRfdHlwZQotLXBhbmdvX2xheW91dF9nZXRfdHlwZQotLXBhbmdvX2xheW91dF9pdGVyX2dldF90eXBlCi0tcGFuZ29fbGF5b3V0X2xpbmVfZ2V0X3R5cGUKLS1wYW5nb19tYXRyaXhfZ2V0X3R5cGUKLS1wYW5nb19vdF9pbmZvX2dldF90eXBlCi0tcGFuZ29fb3RfcnVsZXNldF9nZXRfdHlwZQotLXBhbmdvX3JlbmRlcl9wYXJ0X2dldF90eXBlCi0tcGFuZ29fcmVuZGVyZXJfZ2V0X3R5cGUKLS1wYW5nb19zY3JpcHRfZ2V0X3R5cGUKLS1wYW5nb19zdHJldGNoX2dldF90eXBlCi0tcGFuZ29fc3R5bGVfZ2V0X3R5cGUKLS1wYW5nb190YWJfYWxpZ25fZ2V0X3R5cGUKLS1wYW5nb190YWJfYXJyYXlfZ2V0X3R5cGUKLS1wYW5nb191bmRlcmxpbmVfZ2V0X3R5cGUKLS1wYW5nb192YXJpYW50X2dldF90eXBlCi0tcGFuZ29fd2VpZ2h0X2dldF90eXBlCi0tcGFuZ29fd3JhcF9tb2RlX2dldF90eXBlCi0tcGFuZ29feGZ0X2ZvbnRfZ2V0X3R5cGUKLS1wYW5nb194ZnRfZm9udF9tYXBfZ2V0X3R5cGUKLS1wYW5nb194ZnRfcmVuZGVyZXJfZ2V0X3R5cGUKLS0tIAotMi45LjMKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ28vaW5zZW5zaXRpdmUtZGlmZi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvL2luc2Vuc2l0aXZlLWRpZmYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFhYTk2MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvL2luc2Vuc2l0aXZlLWRpZmYucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRG8gY2FzZS1pbnNlbnNpdGl2ZSBkaWZmcyBhcyB0aGUgdGVzdCBpcyBzZW5zaXRpdmUgYXMgdG8gd2hldGhlciAweDAgaXMgcHJpbnRlZAorYXMgKG51bGwpIG9yIChOVUxMKS4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9wYW5nby9tZXJnZV9yZXF1ZXN0cy80NF0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS90ZXN0cy9tYXJrdXAtcGFyc2UuYyBiL3Rlc3RzL21hcmt1cC1wYXJzZS5jCitpbmRleCA2MzNmM2U4OS4uMzZkMmM3NzYgMTAwNjQ0CistLS0gYS90ZXN0cy9tYXJrdXAtcGFyc2UuYworKysrIGIvdGVzdHMvbWFya3VwLXBhcnNlLmMKK0BAIC0yMTcsNyArMjE3LDcgQEAgZGlmZl93aXRoX2ZpbGUgKGNvbnN0IGNoYXIgICpmaWxlMSwKKyAgICAgICAgICAgICAgICAgR1N0cmluZyAgICAgKnN0cmluZywKKyAgICAgICAgICAgICAgICAgR0Vycm9yICAgICAqKmVycm9yKQorIHsKKy0gIGNvbnN0IGNoYXIgKmNvbW1hbmRbXSA9IHsgImRpZmYiLCAiLXUiLCBmaWxlMSwgTlVMTCwgTlVMTCB9OworKyAgY29uc3QgY2hhciAqY29tbWFuZFtdID0geyAiZGlmZiIsICItdSIsICItaSIsIGZpbGUxLCBOVUxMLCBOVUxMIH07CisgICBjaGFyICpkaWZmLCAqdG1wZmlsZTsKKyAgIGludCBmZDsKKyAKK0BAIC0yMzcsNyArMjM3LDcgQEAgZGlmZl93aXRoX2ZpbGUgKGNvbnN0IGNoYXIgICpmaWxlMSwKKyAgICAgICBnb3RvIGRvbmU7CisgICAgIH0KKyAgIGNsb3NlIChmZCk7CistICBjb21tYW5kWzNdID0gdG1wZmlsZTsKKysgIGNvbW1hbmRbNF0gPSB0bXBmaWxlOworIAorICAgLyogcnVuIGRpZmYgY29tbWFuZCAqLworICAgZ19zcGF3bl9zeW5jIChOVUxMLCAoY2hhciAqKiljb21tYW5kLCBOVUxMLCBHX1NQQVdOX1NFQVJDSF9QQVRILCBOVUxMLCBOVUxMLCAmZGlmZiwgTlVMTCwgTlVMTCwgZXJyb3IpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ29fMS40Mi40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ29fMS40Mi40LmJiCmluZGV4IDIyZmUzYWYuLmQzMzU3ZjggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvXzEuNDIuNC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nb18xLjQyLjQuYmIKQEAgLTExLDI5ICsxMSwzOCBAQAogCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyIKIAorR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKKwogaW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWRvYyBwdGVzdC1nbm9tZSB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uCiAKIFNSQ19VUkkgKz0gImZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICAgZmlsZTovLzAwMDEtRW5mb3JjZS1yZWNyZWF0aW9uLW9mLWRvY3MtcGFuZ28udHlwZXMtaXQtaXMtYnVpbGQtYy5wYXRjaCBcCi0iCisgICAgICAgICAgICBmaWxlOi8vaW5zZW5zaXRpdmUtZGlmZi5wYXRjaCIKKwogU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZGViMTcxYTMxYTNhZDc2MzQyZDUxOTVhMWI1YmJjN2MiCiBTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIxZDJiNzRjZDYzZThiZDQxOTYxZjJmOGQ5NTIzNTVhYTBmOWJlNjAwMmI1MmM4YWE3Njk5ZDlmNWRhNTk3YzlkIgogCiBERVBFTkRTID0gImdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSBmb250Y29uZmlnIGZyZWV0eXBlIHZpcnR1YWwvbGliaWNvbnYgY2Fpcm8gaGFyZmJ1enogZnJpYmlkaSIKIAogUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteGZ0LC0td2l0aG91dC14ZnQsdmlydHVhbC9saWJ4MTEgbGlieGZ0IgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIiwsdmlydHVhbC9saWJ4MTEgbGlieGZ0IgorCitHVEtET0NfRU5BQkxFX0ZMQUcgPSAiLURlbmFibGVfZG9jcz10cnVlIgorR1RLRE9DX0RJU0FCTEVfRkxBRyA9ICItRGVuYWJsZV9kb2NzPWZhbHNlIgorCitHSV9FTkFCTEVfRkxBRyA9ICItRGdpcj10cnVlIgorR0lfRElTQUJMRV9GTEFHID0gIi1EZ2lyPWZhbHNlIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiICR7R0lfRElTQUJMRV9GTEFHfSIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnJHtHSV9FTkFCTEVfRkxBR30nLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHSV9ESVNBQkxFX0ZMQUd9JywgZCl9ICIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR1RLRE9DX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dUS0RPQ19FTkFCTEVfRkxBR30nLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R1RLRE9DX0RJU0FCTEVfRkxBR30nLCBkKX0gIgogCiBMRUFEX1NPTkFNRSA9ICJsaWJwYW5nby0xLjAqIgogTElCViA9ICIxLjguMCIKIAotIyBUaGlzIGJpbmFyeSBuZWVkcyB0byBiZSBjb21waWxlZCBmb3IgdGhlIGhvc3QgYXJjaGl0ZWN0dXJlLiAgVGhpcyBpc24ndCBwcmV0dHkhCi1kb19jb21waWxlX3ByZXBlbmRfY2xhc3MtdGFyZ2V0ICgpIHsKLQlpZiAke0BiYi51dGlscy5jb250YWlucygnUFRFU1RfRU5BQkxFRCcsICcxJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLQkJbWFrZSBDQz0iJHtCVUlMRF9DQ30iIENGTEFHUz0iIiBMREZMQUdTPSIke0JVSUxEX0xERkxBR1N9IiBBTV9DUFBGTEFHUz0iJChwa2ctY29uZmlnLW5hdGl2ZSAtLWNmbGFncyBnbGliLTIuMCkiIGdlbl9hbGxfdW5pY29kZV9MREFERD0iJChwa2ctY29uZmlnLW5hdGl2ZSAtLWxpYnMgZ2xpYi0yLjApIiAtQyAke0J9L3Rlc3RzIGdlbi1hbGwtdW5pY29kZQotCWZpCi19Ci0KIEZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS8qICR7bGliZGlyfS9saWJwYW5nbyoke1NPTElCU30iCiBGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9wYW5nby8ke0xJQlZ9L21vZHVsZXMvKi5sYSIKIApAQCAtNDIsNCArNTEsMTEgQEAKIFJQUk9WSURFU18ke1BOfSArPSAicGFuZ28tbW9kdWxlcyBwYW5nby1tb2R1bGUtaW5kaWMtbGFuZyBcCiAgICAgICAgICAgICAgICAgICAgIHBhbmdvLW1vZHVsZS1iYXNpYy1mYyBwYW5nby1tb2R1bGUtYXJhYmljLWxhbmciCiAKLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisJaWYgWyAiJHtQVEVTVF9FTkFCTEVEfSIgIT0gIjEiIF07IHRoZW4KKwkJcm0gLXJmICR7RH0ke2xpYmV4ZWNkaXJ9L2luc3RhbGxlZC10ZXN0cyAke0R9JHtkYXRhZGlyfS9pbnN0YWxsZWQtdGVzdHMKKyAgICAgICAgICAgICAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAke0R9JHtsaWJleGVjZGlyfSAke0R9JHtkYXRhZGlyfQorCWZpCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9waWdsaXQvcGlnbGl0LzAwMDEtdGVzdHMtVXNlLUZFX1VQV0FSRC1vbmx5LWlmLWl0cy1kZWZpbmVkLWluLWZlbnYuaC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXQvMDAwMS10ZXN0cy1Vc2UtRkVfVVBXQVJELW9ubHktaWYtaXRzLWRlZmluZWQtaW4tZmVudi5oLnBhdGNoCmluZGV4IGY4NTFhOTIuLjU3ZWRhMmUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXQvMDAwMS10ZXN0cy1Vc2UtRkVfVVBXQVJELW9ubHktaWYtaXRzLWRlZmluZWQtaW4tZmVudi5oLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXQvMDAwMS10ZXN0cy1Vc2UtRkVfVVBXQVJELW9ubHktaWYtaXRzLWRlZmluZWQtaW4tZmVudi5oLnBhdGNoCkBAIC0xLDU0ICsxLDc1IEBACi1Gcm9tIDBmYzJjMjkzMjY5OWNmZDY4YmU5NmM4MjBmZGRmZGQ3OWI0OGI3ODggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbbWFpbGluZyBsaXN0XQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSAwZTBhMmE2OTI2MTAzMWQ1NWQ1MmI2MDQ1OTkwZTg5ODJlYTEyOTEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFNhdCwgOSBKdWwgMjAxNiAwNzo1MjoxOSArMDAwMAotU3ViamVjdDogW1BBVENIXSB0ZXN0czogVXNlIEZFX1VQV0FSRCBvbmx5IGlmIGl0cyBkZWZpbmVkIGluIGZlbnYuaAorU3ViamVjdDogW1BBVENIXSB0ZXN0czogb25seSBydW4gcm91bmRpbmcgdGVzdHMgaWYgRkVfVVBXQVJEIGlzIHByZXNlbnQKIAotT24gQVJNLCBtdXNsIGRvZXMgbm90IGRlZmluZSBGRV8qIHdoZW4gYXJjaCBkb2VzIG5vdCBoYXZlCi1WRlAsICh3aGljaCBpcyByaWdodCBpbnRlcnByZXRhdGlvbiksIHRoZXJlZm9yZSBjaGVjayBpZgotaXRzIGRlZmluZWQgYmVmb3JlIHVzaW5nIGl0CitPbiBBUk0sIG11c2wgZG9lcyBub3QgZGVmaW5lIEZFXyogd2hlbiB0aGUgYXJjaGl0ZWN0dXJlIGRvZXMgbm90IGhhdmUgVkZQICh3aGljaAoraXMgdGhlIHJpZ2h0IGludGVycHJldGF0aW9uKS4KIAotRml4ZXMgZXJyb3JzIGxpa2UKK0FzIHRoZXNlIHRlc3RzIGRlcGVuZCBvbiBjYWxsaW5nIGZlc2V0cm91bmQoKSwgc2tpcCB0aGUgdGVzdCBpZiBGRV9VUFdBUkQgaXNuJ3QKK2F2YWlsYWJsZS4KIAotdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtcGl4ZWxzdG9yZS5jOjgyOjE5OiBlcnJvcjogJ0ZFX1VQV0FSRCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCi0gIHJldCA9IGZlc2V0cm91bmQoRkVfVVBXQVJEKTsKLSAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CiAtLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtZ2V0aW50ZWdlcnYuYyB8IDIgKysKLSB0ZXN0cy9nZW5lcmFsL3JvdW5kbW9kZS1waXhlbHN0b3JlLmMgIHwgMiArKwotIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisgdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtZ2V0aW50ZWdlcnYuYyB8IDEyICsrKysrKysrLS0tLQorIHRlc3RzL2dlbmVyYWwvcm91bmRtb2RlLXBpeGVsc3RvcmUuYyAgfCAxMiArKysrKysrKy0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS90ZXN0cy9nZW5lcmFsL3JvdW5kbW9kZS1nZXRpbnRlZ2Vydi5jIGIvdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtZ2V0aW50ZWdlcnYuYwotaW5kZXggMjhlY2ZhZi4uNWMyNzU3OSAxMDA2NDQKK2luZGV4IDI4ZWNmYWY1NS4uYWE5OTA0NGExIDEwMDY0NAogLS0tIGEvdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtZ2V0aW50ZWdlcnYuYwogKysrIGIvdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtZ2V0aW50ZWdlcnYuYwotQEAgLTgxLDcgKzgxLDkgQEAgcGlnbGl0X2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTc5LDEzICs3OSwxNyBAQCB0ZXN0KGZsb2F0IHZhbCwgaW50IGV4cGVjdCkKKyB2b2lkCisgcGlnbGl0X2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogIHsKLSAJaW50IHJldDsKKy0JaW50IHJldDsKICAJYm9vbCBwYXNzID0gdHJ1ZTsKKy0JcmV0ID0gZmVzZXRyb3VuZChGRV9VUFdBUkQpOworLQlpZiAocmV0ICE9IDApIHsKKy0JCXByaW50ZigiQ291bGRuJ3Qgc2V0IHJvdW5kaW5nIG1vZGVcbiIpOworKwogKyNpZmRlZiBGRV9VUFdBUkQKLSAJcmV0ID0gZmVzZXRyb3VuZChGRV9VUFdBUkQpOwotKyNlbmRpZgotIAlpZiAocmV0ICE9IDApIHsKLSAJCXByaW50ZigiQ291bGRuJ3Qgc2V0IHJvdW5kaW5nIG1vZGVcbiIpOworKwlpZiAoZmVzZXRyb3VuZChGRV9VUFdBUkQpICE9IDApIHsKKysJCXByaW50ZigiU2V0dGluZyByb3VuZGluZyBtb2RlIGZhaWxlZFxuIik7CiAgCQlwaWdsaXRfcmVwb3J0X3Jlc3VsdChQSUdMSVRfU0tJUCk7CisgCX0KKysjZWxzZQorKwlwcmludGYoIkNhbm5vdCBzZXQgcm91bmRpbmcgbW9kZVxuIik7CisrCXBpZ2xpdF9yZXBvcnRfcmVzdWx0KFBJR0xJVF9TS0lQKTsKKysjZW5kaWYKKyAKKyAJcGFzcyA9IHRlc3QoMi4yLCAyKSAmJiBwYXNzOworIAlwYXNzID0gdGVzdCgyLjgsIDMpICYmIHBhc3M7CiBkaWZmIC0tZ2l0IGEvdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtcGl4ZWxzdG9yZS5jIGIvdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtcGl4ZWxzdG9yZS5jCi1pbmRleCA5Mjg0ZjQzLi4zZmNiMzk2IDEwMDY0NAoraW5kZXggOGEwMjliMjU3Li41N2VjMTFjMDkgMTAwNjQ0CiAtLS0gYS90ZXN0cy9nZW5lcmFsL3JvdW5kbW9kZS1waXhlbHN0b3JlLmMKICsrKyBiL3Rlc3RzL2dlbmVyYWwvcm91bmRtb2RlLXBpeGVsc3RvcmUuYwotQEAgLTc5LDcgKzc5LDkgQEAgcGlnbGl0X2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTc5LDEzICs3OSwxNyBAQCB0ZXN0KGZsb2F0IHZhbCwgaW50IGV4cGVjdCkKKyB2b2lkCisgcGlnbGl0X2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogIHsKLSAJaW50IHJldDsKKy0JaW50IHJldDsKICAJYm9vbCBwYXNzID0gdHJ1ZTsKKy0JcmV0ID0gZmVzZXRyb3VuZChGRV9VUFdBUkQpOworLQlpZiAocmV0ICE9IDApIHsKKy0JCXByaW50ZigiQ291bGRuJ3Qgc2V0IHJvdW5kaW5nIG1vZGVcbiIpOworKwogKyNpZmRlZiBGRV9VUFdBUkQKLSAJcmV0ID0gZmVzZXRyb3VuZChGRV9VUFdBUkQpOwotKyNlbmRpZgotIAlpZiAocmV0ICE9IDApIHsKLSAJCXByaW50ZigiQ291bGRuJ3Qgc2V0IHJvdW5kaW5nIG1vZGVcbiIpOworKwlpZiAoZmVzZXRyb3VuZChGRV9VUFdBUkQpICE9IDApIHsKKysJCXByaW50ZigiU2V0dGluZyByb3VuZGluZyBtb2RlIGZhaWxlZFxuIik7CiAgCQlwaWdsaXRfcmVwb3J0X3Jlc3VsdChQSUdMSVRfU0tJUCk7CisgCX0KKysjZWxzZQorKwlwcmludGYoIkNhbm5vdCBzZXQgcm91bmRpbmcgbW9kZVxuIik7CisrCXBpZ2xpdF9yZXBvcnRfcmVzdWx0KFBJR0xJVF9TS0lQKTsKKysjZW5kaWYKKyAKKyAJcGFzcyA9IHRlc3QoMi4yLCAyKSAmJiBwYXNzOworIAlwYXNzID0gdGVzdCgyLjgsIDMpICYmIHBhc3M7CiAtLSAKLTEuOC4zLjEKKzIuMTEuMAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9waWdsaXQvcGlnbGl0L2Zvcm1hdC1maXgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9waWdsaXQvcGlnbGl0L2Zvcm1hdC1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzNkNTM5ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXQvZm9ybWF0LWZpeC5wYXRjaApAQCAtMCwwICsxLDY5IEBACitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbbWFpbGluZyBsaXN0XQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSBmMGM2OTgxMzIyODA3ZTE3OWUzOWNlNjdhZWViZDQyY2Y3YTU0ZDM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KK0RhdGU6IFdlZCwgMjEgTm92IDIwMTggMTI6NDQ6MzYgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gYXJiX3RleHR1cmVfdmlldzogZml4IHNlY3VyaXR5IGZvcm1hdCB3YXJuaW5ncworCitJZiBidWlsdCB3aXRoIC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IHRoZW4gUGlnbGl0IGZhaWxzIHRvIGJ1aWxkOgorCisvdGVzdHMvc3BlYy9hcmJfdGV4dHVyZV92aWV3L3JlbmRlcmluZy1sYXllcnMtaW1hZ2UuYzoxNTA6ODoKK2Vycm9yOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XQorICAgICAgICAgKGRlc2MpKTsgXAorICAgICAgICAgXn5+fn5+CisKK0luIHRoaXMgY2FzZSB0ZXN0LT51bmlmb3JtX3R5cGUgaXMgYmVpbmcgdHVybmVkIGludG8gYSBzdHJpbmcgdXNpbmcgc25wcmludGYoKQorYW5kIHRoZW4gcGFzc2VkIHRvIHBpZ2xpdF9yZXBvcnRfc3VidGVzdF9yZXN1bHQoKSB3aGljaCB0YWtlcyBhIGZvcm1hdCBzdHJpbmcsCitidXQgR0NDIGNhbid0IHZlcmlmeSB0aGUgZm9ybWF0LgorCitBcyBfc3VidGVzdF9yZXBvcnQoKSB0YWtlcyBhIGZvcm1hdCBzdHJpbmcsIHdlIGNhbiBqdXN0IHJlbW92ZSB0aGUgc25wcmludGYoKQorYW5kIGxldCBpdCBjb25zdHJ1Y3QgdGhlIGxhYmVsLgorCitBbHNvIGFzIFggaXMgdXNlZCBvbmNlIGFuZCBkb2Vzbid0IG1ha2UgdGhlIGNvZGUgY2xlYXJlciwganVzdCBpbmxpbmUgaXQuCisKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CistLS0KKyB0ZXN0cy9zcGVjL2FyYl90ZXh0dXJlX3ZpZXcvcmVuZGVyaW5nLWxheWVycy1pbWFnZS5jIHwgMTkgKysrKysrLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvc3BlYy9hcmJfdGV4dHVyZV92aWV3L3JlbmRlcmluZy1sYXllcnMtaW1hZ2UuYyBiL3Rlc3RzL3NwZWMvYXJiX3RleHR1cmVfdmlldy9yZW5kZXJpbmctbGF5ZXJzLWltYWdlLmMKK2luZGV4IDQxNWIwMTY1Ny4uODYxNDgwNzViIDEwMDY0NAorLS0tIGEvdGVzdHMvc3BlYy9hcmJfdGV4dHVyZV92aWV3L3JlbmRlcmluZy1sYXllcnMtaW1hZ2UuYworKysrIGIvdGVzdHMvc3BlYy9hcmJfdGV4dHVyZV92aWV3L3JlbmRlcmluZy1sYXllcnMtaW1hZ2UuYworQEAgLTE0MiwyNiArMTQyLDE5IEBAIHRlc3RfcmVuZGVyX2xheWVycyhjb25zdCBzdHJ1Y3QgdGVzdF9pbmZvICp0ZXN0KQorIAlyZXR1cm4gcGFzczsKKyB9CisgCistI2RlZmluZSBYKGYsIGRlc2MpIFwKKy0JZG8geyBcCistCQljb25zdCBib29sIHN1YnRlc3RfcGFzcyA9IChmKTsgXAorLQkJcGlnbGl0X3JlcG9ydF9zdWJ0ZXN0X3Jlc3VsdChzdWJ0ZXN0X3Bhc3MgXAorLQkJCQkJCSA/IFBJR0xJVF9QQVNTIDogUElHTElUX0ZBSUwsIFwKKy0JCQkJCQkgKGRlc2MpKTsgXAorLQkJcGFzcyA9IHBhc3MgJiYgc3VidGVzdF9wYXNzOyBcCistCX0gd2hpbGUgKDApCistCisgZW51bSBwaWdsaXRfcmVzdWx0CisgcGlnbGl0X2Rpc3BsYXkodm9pZCkKKyB7CisgCWJvb2wgcGFzcyA9IHRydWU7CisgCWZvciAoaW50IHRlc3RfaWR4ID0gMDsgdGVzdF9pZHggPCBBUlJBWV9TSVpFKHRlc3RzKTsgdGVzdF9pZHgrKykgeworIAkJY29uc3Qgc3RydWN0IHRlc3RfaW5mbyAqdGVzdCA9ICZ0ZXN0c1t0ZXN0X2lkeF07CistCQljaGFyIHRlc3RfbmFtZVsxMjhdOworLQkJc25wcmludGYodGVzdF9uYW1lLCBzaXplb2YodGVzdF9uYW1lKSwgImxheWVycyByZW5kZXJpbmcgb2YgJXMiLCB0ZXN0LT51bmlmb3JtX3R5cGUpOworLQkJWCh0ZXN0X3JlbmRlcl9sYXllcnModGVzdCksIHRlc3RfbmFtZSk7CisrCisrCQljb25zdCBib29sIHN1YnRlc3RfcGFzcyA9IHRlc3RfcmVuZGVyX2xheWVycyh0ZXN0KTsKKysKKysJCXBpZ2xpdF9yZXBvcnRfc3VidGVzdF9yZXN1bHQoc3VidGVzdF9wYXNzID8gUElHTElUX1BBU1MgOiBQSUdMSVRfRkFJTCwKKysJCQkJCSAgICAgImxheWVycyByZW5kZXJpbmcgb2YgJXMiLCB0ZXN0LT51bmlmb3JtX3R5cGUpOworKwkJcGFzcyA9IHBhc3MgJiYgc3VidGVzdF9wYXNzOworIAl9CistI3VuZGVmIFgKKyAJcGFzcyA9IHBpZ2xpdF9jaGVja19nbF9lcnJvcihHTF9OT19FUlJPUikgJiYgcGFzczsKKyAJcmV0dXJuIHBhc3MgPyBQSUdMSVRfUEFTUyA6IFBJR0xJVF9GQUlMOworIH0KKy0tIAorMi4xMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXRfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGlnbGl0L3BpZ2xpdF9naXQuYmIKaW5kZXggMWY3YzZmOS4uNTlkMTM0OCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGlnbGl0L3BpZ2xpdF9naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGlnbGl0L3BpZ2xpdF9naXQuYmIKQEAgLTYsMTEgKzYsMTIgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDEtY21ha2UtaW5zdGFsbC1iYXNoLWNvbXBsZXRpb25zLWluLXRoZS1yaWdodC1wbGFjZS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXRlc3RzLVVzZS1GRV9VUFdBUkQtb25seS1pZi1pdHMtZGVmaW5lZC1pbi1mZW52LmgucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1jbWFrZS11c2UtcHJvcGVyLVdBWUxBTkRfSU5DTFVERV9ESVJTLXZhcmlhYmxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Zvcm1hdC1maXgucGF0Y2ggXAogICAgICAgICAgICAiCiBVUFNUUkVBTV9DSEVDS19DT01NSVRTID0gIjEiCiAKLSMgRnJvbSAyMDE4LTA4LTEzCi1TUkNSRVYgPSAiNTc4NTllMTVkYzhiYTQwMzQzNDhiMDRkMGI3MmYyMTNiNzRkNjM0NyIKKyMgRnJvbSAyMDE4LTEwLTI2CitTUkNSRVYgPSAiYjkwNjZjNzcxN2FmMWQxNjlhNjE2YzllNjE3MDZiOTlmZjg1MTViNSIKICMgKHdoZW4gUFYgZ29lcyBhYm92ZSAxLjAgcmVtb3ZlIHRoZSB0cmFpbGluZyByKQogUFYgPSAiMS4wK2dpdHIke1NSQ1BWfSIKIApAQCAtNTEsMyArNTIsNiBAQAogCSIKIAogSU5TQU5FX1NLSVBfJHtQTn0gKz0gImRldi1zbyBhbHJlYWR5LXN0cmlwcGVkIgorCisjIENhbid0IGJlIGJ1aWx0IHdpdGggY2NhY2hlCitDQ0FDSEVfRElTQUJMRSA9ICIxIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL2xpYmVyYXRpb24tZm9udHNfMi4wMC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL2xpYmVyYXRpb24tZm9udHNfMi4wMC4xLmJiCmluZGV4IDQxMmRhNDguLmY1ZGY5ZWYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9saWJlcmF0aW9uLWZvbnRzXzIuMDAuMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvbGliZXJhdGlvbi1mb250c18yLjAwLjEuYmIKQEAgLTM3LDMgKzM3LDUgQEAKIAogUEFDS0FHRVMgPSAiJHtQTn0iCiBGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfSAke2RhdGFkaXJ9IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy92aXJnbHJlbmRlcmVyL3ZpcmdscmVuZGVyZXIvMDAwMS1NYWtlZmlsZS5hbS1leHBsaWNpdGx5LWxpbmstd2l0aC1saWJkcm0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy92aXJnbHJlbmRlcmVyL3ZpcmdscmVuZGVyZXIvMDAwMS1NYWtlZmlsZS5hbS1leHBsaWNpdGx5LWxpbmstd2l0aC1saWJkcm0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWE4ZDgxNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3ZpcmdscmVuZGVyZXIvdmlyZ2xyZW5kZXJlci8wMDAxLU1ha2VmaWxlLmFtLWV4cGxpY2l0bHktbGluay13aXRoLWxpYmRybS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIGQ2MWY3MDczYjhjZTE1OWQyMTgxMWIyOTFjMjJiMjczYjA0MGMzMzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTIgRmViIDIwMTkgMTI6MDQ6NTIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGUuYW06IGV4cGxpY2l0bHkgbGluayB3aXRoIGxpYmRybQorCitPdGhlcndpc2UsIGEgZmFpbHVyZSBoYXBwZW5zIHdpdGggZ29sZCBsaW5rZXI6CisKKy4uL3NyYy8ubGlicy9saWJ2aXJnbHJlbmRlcmVyLnNvOiBlcnJvcjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byAnZHJtUHJpbWVIYW5kbGVUb0ZEJworCitodHRwczovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzIyMjA0Ni8KKworVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZCBbaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3ZpcmdsL3ZpcmdscmVuZGVyZXIvbWVyZ2VfcmVxdWVzdHMvMTUzXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBzcmMvTWFrZWZpbGUuYW0gfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQoraW5kZXggOWEwYTQ0ZS4uOWI2NjhjOCAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL01ha2VmaWxlLmFtCitAQCAtMSw1ICsxLDYgQEAKKyBTVUJESVJTIDo9IGdhbGxpdW0vYXV4aWxpYXJ5CisgQU1fTERGTEFHUyA9IC1sbSBcCisrCSQoTElCRFJNX0xJQlMpIFwKKyAJJChHQk1fTElCUykgXAorIAkkKEVQT1hZX0xJQlMpIFwKKyAJJChYMTFfTElCUykgXAorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdmlyZ2xyZW5kZXJlci92aXJnbHJlbmRlcmVyLzAwMDEtdnRlc3QtYWRkLW1pc3NpbmctaW5jbHVkZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy92aXJnbHJlbmRlcmVyL3ZpcmdscmVuZGVyZXIvMDAwMS12dGVzdC1hZGQtbWlzc2luZy1pbmNsdWRlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjRmZmE5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdmlyZ2xyZW5kZXJlci92aXJnbHJlbmRlcmVyLzAwMDEtdnRlc3QtYWRkLW1pc3NpbmctaW5jbHVkZXMucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRnJvbSAwNWM1YzVmNDNmYmZmYjMzMTdiZDlkYTI3ZDQxNDg5MGQyZWY0OTNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBGcmksIDE4IEphbiAyMDE5IDEzOjQ3OjIzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHZ0ZXN0OiBhZGQgbWlzc2luZyBpbmNsdWRlcworCitUaGlzIGZpeGVzIGJ1aWxkIGZhaWx1cmVzIHdpdGggbXVzbCBDIGxpYnJhcnkKKworVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZCBbaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3ZpcmdsL3ZpcmdscmVuZGVyZXIvbWVyZ2VfcmVxdWVzdHMvMTI1XQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyB2dGVzdC91dGlsLmMgICAgICAgICB8IDEgKworIHZ0ZXN0L3Z0ZXN0X3NlcnZlci5jIHwgMSArCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3Z0ZXN0L3V0aWwuYyBiL3Z0ZXN0L3V0aWwuYworaW5kZXggMGQzYzc4Zi4uYzYwNTI1MyAxMDA2NDQKKy0tLSBhL3Z0ZXN0L3V0aWwuYworKysrIGIvdnRlc3QvdXRpbC5jCitAQCAtMjYsNiArMjYsNyBAQAorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisrI2luY2x1ZGUgPHN5cy9zZWxlY3QuaD4KKyAKKyBpbnQgdnRlc3Rfd2FpdF9mb3JfZmRfcmVhZChpbnQgZmQpCisgeworZGlmZiAtLWdpdCBhL3Z0ZXN0L3Z0ZXN0X3NlcnZlci5jIGIvdnRlc3QvdnRlc3Rfc2VydmVyLmMKK2luZGV4IGJjNmM5NWYuLjAxMDcyMWYgMTAwNjQ0CistLS0gYS92dGVzdC92dGVzdF9zZXJ2ZXIuYworKysrIGIvdnRlc3QvdnRlc3Rfc2VydmVyLmMKK0BAIC0zMSw2ICszMSw3IEBACisgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyAjaW5jbHVkZSA8c3lzL3VuLmg+CisgI2luY2x1ZGUgPGZjbnRsLmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorIAorICNpbmNsdWRlICJ1dGlsLmgiCisgI2luY2x1ZGUgInZ0ZXN0LmgiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy92aXJnbHJlbmRlcmVyL3ZpcmdscmVuZGVyZXJfMC43LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy92aXJnbHJlbmRlcmVyL3ZpcmdscmVuZGVyZXJfMC43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI1YTBiOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3ZpcmdscmVuZGVyZXIvdmlyZ2xyZW5kZXJlcl8wLjcuMC5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIlZpckdMIHZpcnR1YWwgT3BlbkdMIHJlbmRlcmVyIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly92aXJnaWwzZC5naXRodWIuaW8vIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM4MWMwOGVlZWZkOTQxOGZjYThmODgzMDlhNzZkYjEwIgorCitERVBFTkRTID0gImxpYmRybSBtZXNhIGxpYmVwb3h5IgorU1JDUkVWID0gIjQwMmMyMjg4NjFjOTg5M2Y2NGNmZmJiY2I0Y2IyMzA0NGI4YzcyMWMiCitTUkNfVVJJID0gImdpdDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL3ZpcmdscmVuZGVyZXIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS12dGVzdC1hZGQtbWlzc2luZy1pbmNsdWRlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLWV4cGxpY2l0bHktbGluay13aXRoLWxpYmRybS5wYXRjaCBcCisgICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJvcGVuZ2wiCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVNfY2xhc3MtbmF0aXZlID0gIiIKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFU19jbGFzcy1uYXRpdmVzZGsgPSAiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdnVsa2FuL3Z1bGthbl8xLjEuNzMuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3Z1bGthbi92dWxrYW5fMS4xLjczLjAuYmIKaW5kZXggNTQ5NmY1My4uMDJlNDMzMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdnVsa2FuL3Z1bGthbl8xLjEuNzMuMC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy92dWxrYW4vdnVsa2FuXzEuMS43My4wLmJiCkBAIC00LDEzICs0LDEzIEBACiBwcm92aWRlIG9ubHkgdGhlIGNvbW1vbiB2ZW5kb3ItYWdub3N0aWMgbGlicmFyeSBsb2FkZXIsIGhlYWRlcnMgYW5kIFwKIHRoZSB2dWxrYW5pbmZvIHV0aWxpdHkuIgogSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cua2hyb25vcy5vcmcvdnVsa2FuLyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9WdWxrYW4tTG9hZGVyQW5kVmFsaWRhdGlvbkxheWVycyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9WdWxrYW4tTG9hZGVyIgogU0VDVElPTiA9ICJsaWJzIgogCiBMSUNFTlNFID0gIkFwYWNoZS0yLjAiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9OTljNjQ3Y2EzZDRmNmE0YjlkODYyOGY3NTdhYWQxNTYgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbG9hZGVyL2xvYWRlci5jO2VuZGxpbmU9MjU7bWQ1PTE1MWIzOTJmNDY1NjhhYWVkYjRhZDIyYjI0NjIzN2VjIgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9WdWxrYW4tTG9hZGVyQW5kVmFsaWRhdGlvbkxheWVycy5naXQ7YnJhbmNoPXNkay0xLjEuNzMgXAorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9WdWxrYW4tTG9hZGVyLmdpdDtub2JyYW5jaD0xIFwKICAgICAgICAgICAgZmlsZTovL2RlbW9zLURvbi10LWJ1aWxkLXRyaS1vci1jdWJlLnBhdGNoIFwKICAgICAgICAgICAgIgogU1JDUkVWID0gIjU5OThkNmY0NDRhODVlNjM4MWI3YTA4OWViZjNmOWU4NjQ4MmEzMWQiCkBAIC0zNSwzICszNSw2IEBACiAKIFJSRUNPTU1FTkRTXyR7UE59ID0gIm1lc2EtdnVsa2FuLWRyaXZlcnMiCiBJTlNBTkVfU0tJUF8ke1BOfS1kZXYgKz0gImRldi1lbGYiCisKKyMgQ2FuJ3QgYmUgYnVpbHQgd2l0aCBjY2FjaGUKK0NDQUNIRV9ESVNBQkxFID0gIjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL2xpYmlucHV0XzEuMTEuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvbGliaW5wdXRfMS4xMS4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMmUyMDkxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvbGliaW5wdXRfMS4xMS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotU1VNTUFSWSA9ICJMaWJyYXJ5IHRvIGhhbmRsZSBpbnB1dCBkZXZpY2VzIGluIFdheWxhbmQgY29tcG9zaXRvcnMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL2xpYmlucHV0LyIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xZjJlYTllYmZmM2EyYzZkNDU4ZmFmNTg0OTJlZmI2MyIKLQotREVQRU5EUyA9ICJsaWJldmRldiB1ZGV2IG10ZGV2IgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlLyR7QlBOfS8ke0JQfS50YXIueHogXAotICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiZGY2ZTg3N2YxMWRlNGE5NzkzNTExZTlhYmZlN2VmMDEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjMxMTkxZDk2ZTQyNWI0ZjE2MzE5ODQyMjc5ZDY1OTQ2ZDlkOTgzZGNkM2Q5ZTQ2NmFlMTIwNmFhMTBlY2IwNiIKLQotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAibGliaW5wdXQtKD9QPHB2ZXI+XGQrXC5cZCtcLig/ITlcZCspXGQrKSIKLWluaGVyaXQgbWVzb24gcGtnY29uZmlnIGxpYl9wYWNrYWdlCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHW2xpYndhY29tXSA9ICItRGxpYndhY29tPXRydWUsLURsaWJ3YWNvbT1mYWxzZSxsaWJ3YWNvbSIKLVBBQ0tBR0VDT05GSUdbZ3VpXSA9ICItRGRlYnVnLWd1aT10cnVlLC1EZGVidWctZ3VpPWZhbHNlLGNhaXJvIGd0ayszIgotCi1VREVWRElSID0gImBwa2ctY29uZmlnIC0tdmFyaWFibGU9dWRldmRpciB1ZGV2YCIKLQotRVhUUkFfT0VNRVNPTiArPSAiLUR1ZGV2LWRpcj0ke1VERVZESVJ9IC1EZG9jdW1lbnRhdGlvbj1mYWxzZSAtRHRlc3RzPWZhbHNlIgotCi0jIHBhY2thZ2UgbmFtZSBjaGFuZ2VkIGluIDEuOC4xIHVwZ3JhZGU6IG1ha2Ugc3VyZSBwYWNrYWdlIHVwZ3JhZGVzIHdvcmsKLVJQUk9WSURFU18ke1BOfSA9ICJsaWJpbnB1dCIKLVJSRVBMQUNFU18ke1BOfSA9ICJsaWJpbnB1dCIKLVJDT05GTElDVFNfJHtQTn0gPSAibGliaW5wdXQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL2xpYmlucHV0XzEuMTIuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvbGliaW5wdXRfMS4xMi42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2MzY2YjcKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL2xpYmlucHV0XzEuMTIuNi5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkxpYnJhcnkgdG8gaGFuZGxlIGlucHV0IGRldmljZXMgaW4gV2F5bGFuZCBjb21wb3NpdG9ycyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvbGliaW5wdXQvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFmMmVhOWViZmYzYTJjNmQ0NThmYWY1ODQ5MmVmYjYzIgorCitERVBFTkRTID0gImxpYmV2ZGV2IHVkZXYgbXRkZXYiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvJHtCUE59LyR7QlB9LnRhci54eiBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4Y2YxMGNjMGZkZmFiODY1YjEwNWRkMjgyODNmYTBmZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxMmI0MDIzYTNmYzY4M2QzZDgxMjdkYjU3M2JkZjkyNWEyZWYzNjY2MTUwNDJmNjljODdlNTdjMzJhNTBmNDVkIgorCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJsaWJpbnB1dC0oP1A8cHZlcj5cZCtcLlxkK1wuKD8hOVxkKylcZCspIgoraW5oZXJpdCBtZXNvbiBwa2djb25maWcgbGliX3BhY2thZ2UKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbGlid2Fjb21dID0gIi1EbGlid2Fjb209dHJ1ZSwtRGxpYndhY29tPWZhbHNlLGxpYndhY29tIgorUEFDS0FHRUNPTkZJR1tndWldID0gIi1EZGVidWctZ3VpPXRydWUsLURkZWJ1Zy1ndWk9ZmFsc2UsY2Fpcm8gZ3RrKzMiCisKK1VERVZESVIgPSAiYHBrZy1jb25maWcgLS12YXJpYWJsZT11ZGV2ZGlyIHVkZXZgIgorCitFWFRSQV9PRU1FU09OICs9ICItRHVkZXYtZGlyPSR7VURFVkRJUn0gLURkb2N1bWVudGF0aW9uPWZhbHNlIC1EdGVzdHM9ZmFsc2UiCisKKyMgcGFja2FnZSBuYW1lIGNoYW5nZWQgaW4gMS44LjEgdXBncmFkZTogbWFrZSBzdXJlIHBhY2thZ2UgdXBncmFkZXMgd29yaworUlBST1ZJREVTXyR7UE59ID0gImxpYmlucHV0IgorUlJFUExBQ0VTXyR7UE59ID0gImxpYmlucHV0IgorUkNPTkZMSUNUU18ke1BOfSA9ICJsaWJpbnB1dCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZC1wcm90b2NvbHNfMS4xNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZC1wcm90b2NvbHNfMS4xNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmM0YjcxMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dheWxhbmQtcHJvdG9jb2xzXzEuMTYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1TVU1NQVJZID0gIkNvbGxlY3Rpb24gb2YgYWRkaXRpb25hbCBXYXlsYW5kIHByb3RvY29scyIKLURFU0NSSVBUSU9OID0gIldheWxhbmQgcHJvdG9jb2xzIHRoYXQgYWRkIGZ1bmN0aW9uYWxpdHkgbm90IFwKLWF2YWlsYWJsZSBpbiB0aGUgV2F5bGFuZCBjb3JlIHByb3RvY29sLiBTdWNoIHByb3RvY29scyBlaXRoZXIgYWRkIFwKLWNvbXBsZXRlbHkgbmV3IGZ1bmN0aW9uYWxpdHksIG9yIGV4dGVuZCB0aGUgZnVuY3Rpb25hbGl0eSBvZiBzb21lIG90aGVyIFwKLXByb3RvY29sIGVpdGhlciBpbiBXYXlsYW5kIGNvcmUsIG9yIHNvbWUgb3RoZXIgcHJvdG9jb2wgaW4gXAotd2F5bGFuZC1wcm90b2NvbHMuIgotSE9NRVBBR0UgPSAiaHR0cDovL3dheWxhbmQuZnJlZWRlc2t0b3Aub3JnIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jN2IxMmI2NzAyZGEzOGNhMDI4YWNlNTRhYWUzZDQ4NCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zdGFibGUvcHJlc2VudGF0aW9uLXRpbWUvcHJlc2VudGF0aW9uLXRpbWUueG1sO2VuZGxpbmU9MjY7bWQ1PTQ2NDZjZDdkOWVkYzlmYTU1ZGI5NDFmMmQzYTdkYzUzIgotCi1TUkNfVVJJID0gImh0dHBzOi8vd2F5bGFuZC5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICJlMGI1MjNmZjE2MmUzMGJhYjQ2YmUxZDY1ZDUyNzY4MyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2YjE0ODU5NTFmZGNkMzZhOTYwYzg3MGM0NmYyOGIwM2EzZTUxMjFmYjQ2MjQ2OTE2MzMzZWQwN2Y3OGM5OGM1IgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy5odG1sIgotCi1pbmhlcml0IGFsbGFyY2ggYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1QQUNLQUdFUyA9ICIke1BOfSIKLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3BrZ2NvbmZpZy93YXlsYW5kLXByb3RvY29scy5wYyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZC1wcm90b2NvbHNfMS4xNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZC1wcm90b2NvbHNfMS4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYThmMDZjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kLXByb3RvY29sc18xLjE3LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiQ29sbGVjdGlvbiBvZiBhZGRpdGlvbmFsIFdheWxhbmQgcHJvdG9jb2xzIgorREVTQ1JJUFRJT04gPSAiV2F5bGFuZCBwcm90b2NvbHMgdGhhdCBhZGQgZnVuY3Rpb25hbGl0eSBub3QgXAorYXZhaWxhYmxlIGluIHRoZSBXYXlsYW5kIGNvcmUgcHJvdG9jb2wuIFN1Y2ggcHJvdG9jb2xzIGVpdGhlciBhZGQgXAorY29tcGxldGVseSBuZXcgZnVuY3Rpb25hbGl0eSwgb3IgZXh0ZW5kIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHNvbWUgb3RoZXIgXAorcHJvdG9jb2wgZWl0aGVyIGluIFdheWxhbmQgY29yZSwgb3Igc29tZSBvdGhlciBwcm90b2NvbCBpbiBcCit3YXlsYW5kLXByb3RvY29scy4iCitIT01FUEFHRSA9ICJodHRwOi8vd2F5bGFuZC5mcmVlZGVza3RvcC5vcmciCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM3YjEyYjY3MDJkYTM4Y2EwMjhhY2U1NGFhZTNkNDg0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3N0YWJsZS9wcmVzZW50YXRpb24tdGltZS9wcmVzZW50YXRpb24tdGltZS54bWw7ZW5kbGluZT0yNjttZDU9NDY0NmNkN2Q5ZWRjOWZhNTVkYjk0MWYyZDNhN2RjNTMiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjU1ZGRkNWZkYjAyYjczYjlkZTk1NTlhYWVjMjY3MzE1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRmMTMxOWNmOTcwNTY0M2FlYTlmZDE2ZjkwNTZmNGU1YjI0NzFiZDEwYzBjYzM3MTNkNGE0Y2RjMjNkNjgxMmYiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL3dheWxhbmQuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzLmh0bWwiCisKK2luaGVyaXQgYWxsYXJjaCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VTID0gIiR7UE59IgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vcGtnY29uZmlnL3dheWxhbmQtcHJvdG9jb2xzLnBjIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kXzEuMTYuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZF8xLjE2LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExMmVlMWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kXzEuMTYuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLVNVTU1BUlkgPSAiV2F5bGFuZCwgYSBwcm90b2NvbCBiZXR3ZWVuIGEgY29tcG9zaXRvciBhbmQgY2xpZW50cyIKLURFU0NSSVBUSU9OID0gIldheWxhbmQgaXMgYSBwcm90b2NvbCBmb3IgYSBjb21wb3NpdG9yIHRvIHRhbGsgdG8gaXRzIGNsaWVudHMgXAotYXMgd2VsbCBhcyBhIEMgbGlicmFyeSBpbXBsZW1lbnRhdGlvbiBvZiB0aGF0IHByb3RvY29sLiBUaGUgY29tcG9zaXRvciBjYW4gYmUgXAotYSBzdGFuZGFsb25lIGRpc3BsYXkgc2VydmVyIHJ1bm5pbmcgb24gTGludXgga2VybmVsIG1vZGVzZXR0aW5nIGFuZCBldmRldiBcCi1pbnB1dCBkZXZpY2VzLCBhbiBYIGFwcGxpY2F0aW9uLCBvciBhIHdheWxhbmQgY2xpZW50IGl0c2VsZi4gVGhlIGNsaWVudHMgY2FuIFwKLWJlIHRyYWRpdGlvbmFsIGFwcGxpY2F0aW9ucywgWCBzZXJ2ZXJzIChyb290bGVzcyBvciBmdWxsc2NyZWVuKSBvciBvdGhlciBcCi1kaXNwbGF5IHNlcnZlcnMuIgotSE9NRVBBR0UgPSAiaHR0cDovL3dheWxhbmQuZnJlZWRlc2t0b3Aub3JnIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMzFkOGY1M2I2YWFmMmI0OTg1ZDdkZDc4MTBhNzBkMSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvd2F5bGFuZC1zZXJ2ZXIuYztlbmRsaW5lPTI0O21kNT1iOGUwNDYxNjRhNzY2YmIxZWRlOGJhMzhlOWRjZDdjZSIKLQotREVQRU5EUyA9ICJleHBhdCBsaWJ4bWwyIGxpYmZmaSB3YXlsYW5kLW5hdGl2ZSIKLQotU1JDX1VSSSA9ICJodHRwczovL3dheWxhbmQuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIueHogXAotCSAgIGZpbGU6Ly9maXhwYXRoaW5wY2ZpbGVzLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjBjMjE1ZTUzZGU3MWQ2ZmIyNmY3MTAyY2RjNjQzMmQzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRlNzJjMmI1NjEwOWNjZmI2NjEwZDc3NmU0NjVmNGNhMGFmMjI4MGM5YzJmN2Q1Y2MyM2YwZWQyNTQ4NzUyZjUiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL3dheWxhbmQuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzLmh0bWwiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gLS13aXRoLWhvc3Qtc2Nhbm5lciIKLUVYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gLS1kaXNhYmxlLWxpYnJhcmllcyIKLQotIyBXYXlsYW5kIGluc3RhbGxzIGEgTTQgbWFjcm8gZm9yIG90aGVyIHByb2plY3RzIHRvIHVzZSwgd2hpY2ggdXNlcyB0aGUgdGFyZ2V0Ci0jIHBrZy1jb25maWcgdG8gZmluZCBmaWxlcy4gIFJlcGxhY2UgcGtnLWNvbmZpZyB3aXRoIHBrZy1jb25maWctbmF0aXZlLgotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgewotICBzZWQgLWUgJ3MsUEtHX0NIRUNLX01PRFVMRVMoLiopLCxnJyBcCi0gICAgICAtZSAncywkUEtHX0NPTkZJRyxwa2ctY29uZmlnLW5hdGl2ZSxnJyBcCi0gICAgICAtaSAke0R9LyR7ZGF0YWRpcn0vYWNsb2NhbC93YXlsYW5kLXNjYW5uZXIubTQKLX0KLQotc3lzcm9vdF9zdGFnZV9hbGxfYXBwZW5kX2NsYXNzLXRhcmdldCAoKSB7Ci0Jcm0gJHtTWVNST09UX0RFU1RESVJ9LyR7ZGF0YWRpcn0vYWNsb2NhbC93YXlsYW5kLXNjYW5uZXIubTQKLQljcCAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2FjbG9jYWwvd2F5bGFuZC1zY2FubmVyLm00ICR7U1lTUk9PVF9ERVNURElSfS8ke2RhdGFkaXJ9L2FjbG9jYWwvCi19Ci0KLUZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qJHtTT0xJQlN9IgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2JpbmRpcn0gJHtkYXRhZGlyfS93YXlsYW5kIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dheWxhbmRfMS4xNy4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kXzEuMTcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzRiYjM5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kXzEuMTcuMC5iYgpAQCAtMCwwICsxLDQ0IEBACitTVU1NQVJZID0gIldheWxhbmQsIGEgcHJvdG9jb2wgYmV0d2VlbiBhIGNvbXBvc2l0b3IgYW5kIGNsaWVudHMiCitERVNDUklQVElPTiA9ICJXYXlsYW5kIGlzIGEgcHJvdG9jb2wgZm9yIGEgY29tcG9zaXRvciB0byB0YWxrIHRvIGl0cyBjbGllbnRzIFwKK2FzIHdlbGwgYXMgYSBDIGxpYnJhcnkgaW1wbGVtZW50YXRpb24gb2YgdGhhdCBwcm90b2NvbC4gVGhlIGNvbXBvc2l0b3IgY2FuIGJlIFwKK2Egc3RhbmRhbG9uZSBkaXNwbGF5IHNlcnZlciBydW5uaW5nIG9uIExpbnV4IGtlcm5lbCBtb2Rlc2V0dGluZyBhbmQgZXZkZXYgXAoraW5wdXQgZGV2aWNlcywgYW4gWCBhcHBsaWNhdGlvbiwgb3IgYSB3YXlsYW5kIGNsaWVudCBpdHNlbGYuIFRoZSBjbGllbnRzIGNhbiBcCitiZSB0cmFkaXRpb25hbCBhcHBsaWNhdGlvbnMsIFggc2VydmVycyAocm9vdGxlc3Mgb3IgZnVsbHNjcmVlbikgb3Igb3RoZXIgXAorZGlzcGxheSBzZXJ2ZXJzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjMxZDhmNTNiNmFhZjJiNDk4NWQ3ZGQ3ODEwYTcwZDEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3dheWxhbmQtc2VydmVyLmM7ZW5kbGluZT0yNDttZDU9YjhlMDQ2MTY0YTc2NmJiMWVkZThiYTM4ZTlkY2Q3Y2UiCisKK0RFUEVORFMgPSAiZXhwYXQgbGlieG1sMiBsaWJmZmkgd2F5bGFuZC1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKwkgICBmaWxlOi8vZml4cGF0aGlucGNmaWxlcy5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkOTFmOTcwYWVhMTFmZDU0OWVhZTAyM2QwNmY5MWFmMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3MmFhMTFiOGFjNmUyMmY0Nzc3MzAyYzkyNTFlOGZlYzc2NTVkYzIyZjlkOTRlZTY3NmM2YjI3NmY5NWY5MWE0IgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy5odG1sIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1kb2N1bWVudGF0aW9uIC0td2l0aC1ob3N0LXNjYW5uZXIiCitFWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlID0gIi0tZGlzYWJsZS1kb2N1bWVudGF0aW9uIC0tZGlzYWJsZS1saWJyYXJpZXMiCisKKyMgV2F5bGFuZCBpbnN0YWxscyBhIE00IG1hY3JvIGZvciBvdGhlciBwcm9qZWN0cyB0byB1c2UsIHdoaWNoIHVzZXMgdGhlIHRhcmdldAorIyBwa2ctY29uZmlnIHRvIGZpbmQgZmlsZXMuICBSZXBsYWNlIHBrZy1jb25maWcgd2l0aCBwa2ctY29uZmlnLW5hdGl2ZS4KK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKyAgc2VkIC1lICdzLFBLR19DSEVDS19NT0RVTEVTKC4qKSwsZycgXAorICAgICAgLWUgJ3MsJFBLR19DT05GSUcscGtnLWNvbmZpZy1uYXRpdmUsZycgXAorICAgICAgLWkgJHtEfS8ke2RhdGFkaXJ9L2FjbG9jYWwvd2F5bGFuZC1zY2FubmVyLm00Cit9CisKK3N5c3Jvb3Rfc3RhZ2VfYWxsX2FwcGVuZF9jbGFzcy10YXJnZXQgKCkgeworCXJtICR7U1lTUk9PVF9ERVNURElSfS8ke2RhdGFkaXJ9L2FjbG9jYWwvd2F5bGFuZC1zY2FubmVyLm00CisJY3AgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9hY2xvY2FsL3dheWxhbmQtc2Nhbm5lci5tNCAke1NZU1JPT1RfREVTVERJUn0vJHtkYXRhZGlyfS9hY2xvY2FsLworfQorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKiR7U09MSUJTfSIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9ICR7ZGF0YWRpcn0vd2F5bGFuZCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGlucHV0LWNhbGlicmF0b3IveGlucHV0LWNhbGlicmF0b3IvMDAwMS1jYWxpYnJhdG9yLmhoLUluY2x1ZGUtc3RyaW5nLXRvLWdldC1zdGQtc3RyaW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGlucHV0LWNhbGlicmF0b3IveGlucHV0LWNhbGlicmF0b3IvMDAwMS1jYWxpYnJhdG9yLmhoLUluY2x1ZGUtc3RyaW5nLXRvLWdldC1zdGQtc3RyaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3NjE3NjAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94aW5wdXQtY2FsaWJyYXRvci94aW5wdXQtY2FsaWJyYXRvci8wMDAxLWNhbGlicmF0b3IuaGgtSW5jbHVkZS1zdHJpbmctdG8tZ2V0LXN0ZC1zdHJpbmcucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSA3OWJjNTA3YjQ4ZDRhY2QzZGVjOGE4NWFiNmIzNDFiODcyZDQ0YTA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjkgSmFuIDIwMTkgMjI6NDA6MjQgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gY2FsaWJyYXRvci5oaDogSW5jbHVkZSA8c3RyaW5nPiB0byBnZXQgc3RkOjpzdHJpbmcKKworRm91bmQgd2l0aCBsaWJjKysKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS90aWFzL3hpbnB1dF9jYWxpYnJhdG9yL3B1bGwvNzZdCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3JjL2NhbGlicmF0b3IuaGggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJhdG9yLmhoIGIvc3JjL2NhbGlicmF0b3IuaGgKK2luZGV4IGE2Zjk1MDQuLmU3NWJjZWYgMTAwNjQ0CistLS0gYS9zcmMvY2FsaWJyYXRvci5oaAorKysrIGIvc3JjL2NhbGlicmF0b3IuaGgKK0BAIC0yOSw2ICsyOSw3IEBACisgI2luY2x1ZGUgPFgxMS9YbGliLmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHZlY3Rvcj4KKysjaW5jbHVkZSA8c3RyaW5nPgorIAorIC8vIFhYWDogd2UgY3VycmVudGx5IGRvbid0IGhhbmRsZSBsaW5lcyB0aGF0IGFyZSBsb25nZXIgdGhhbiB0aGlzCisgI2RlZmluZSBNQVhfTElORV9MRU4gMTAyNAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGlucHV0LWNhbGlicmF0b3IveGlucHV0LWNhbGlicmF0b3JfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGlucHV0LWNhbGlicmF0b3IveGlucHV0LWNhbGlicmF0b3JfZ2l0LmJiCmluZGV4IDY4ZTYyZWEuLjk4NzNkM2YgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hpbnB1dC1jYWxpYnJhdG9yL3hpbnB1dC1jYWxpYnJhdG9yX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94aW5wdXQtY2FsaWJyYXRvci94aW5wdXQtY2FsaWJyYXRvcl9naXQuYmIKQEAgLTE0LDcgKzE0LDkgQEAKIFNSQ1JFViA9ICIwM2RhZGY1NTEwOWJkNDNkMzM4MGYwNDBkZWJlOWY4MmY2NmYyZjM1IgogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3RpYXMveGlucHV0X2NhbGlicmF0b3IuZ2l0IFwKICAgICAgICAgICAgZmlsZTovLzMweGlucHV0X2NhbGlicmF0ZS5zaCBcCi0gICAgICAgICAgIGZpbGU6Ly9BbGxvdy14aW5wdXRfY2FsaWJyYXRvcl9wb2ludGVyY2FsLnNoLXRvLWJlLXJ1bi1hcy1uLnBhdGNoIgorICAgICAgICAgICBmaWxlOi8vQWxsb3cteGlucHV0X2NhbGlicmF0b3JfcG9pbnRlcmNhbC5zaC10by1iZS1ydW4tYXMtbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNhbGlicmF0b3IuaGgtSW5jbHVkZS1zdHJpbmctdG8tZ2V0LXN0ZC1zdHJpbmcucGF0Y2ggXAorICAgICAgICAgICAiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldi9kaWV0LXgxMS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldi9kaWV0LXgxMS5wYXRjaAppbmRleCA2MTMwOTU5Li41M2MwYWMyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94ZXYvZGlldC14MTEucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGV2L2RpZXQteDExLnBhdGNoCkBAIC00LDc5ICs0LDEwNiBAQAogIHhldi5jIHwgICAxNiArKysrKysrKy0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IHhldi0xLjIuMC94ZXYuYworSW5kZXg6IHhldi0xLjIuMy94ZXYuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHhldi0xLjIuMC5vcmlnL3hldi5jCi0rKysgeGV2LTEuMi4wL3hldi5jCi1AQCAtMTE2LDcgKzExNiw3IEBAIGRvX0tleVByZXNzIChYRXZlbnQgKmV2ZW50cCkKLSAgICAgbmJ5dGVzID0gWExvb2t1cFN0cmluZyAoZSwgc3RyLCAyNTYsICZrcywgTlVMTCk7CistLS0geGV2LTEuMi4zLm9yaWcveGV2LmMKKysrKyB4ZXYtMS4yLjMveGV2LmMKK0BAIC0xMjUsMTcgKzEyNSw2IEBAIGRvX0tleVByZXNzKFhFdmVudCAqZXZlbnRwKQorICAgICBuYnl0ZXMgPSBYTG9va3VwU3RyaW5nKGUsIHN0ciwgMjU2LCAma3MsIE5VTEwpOwogIAogICAgICAvKiBub3Qgc3VwcG9zZWQgdG8gY2FsbCBYbWJMb29rdXBTdHJpbmcgb24gYSBrZXkgcmVsZWFzZSBldmVudCAqLwogLSAgICBpZiAoZS0+dHlwZSA9PSBLZXlQcmVzcyAmJiB4aWMpIHsKLSsgICAgLyppZiAoZS0+dHlwZSA9PSBLZXlQcmVzcyAmJiB4aWMpIHsKLSAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICBubWJieXRlcyA9IFhtYkxvb2t1cFN0cmluZyAoeGljLCBlLCBidWYsIGJzaXplIC0gMSwgJmtzLCAmc3RhdHVzKTsKLSAgICAgICAgICAgICBidWZbbm1iYnl0ZXNdID0gJ1wwJzsKLUBAIC0xMjYsNyArMTI2LDcgQEAgZG9fS2V5UHJlc3MgKFhFdmVudCAqZXZlbnRwKQotICAgICAgICAgICAgICAgICBidWYgPSByZWFsbG9jIChidWYsIGJzaXplKTsKLSAgICAgICAgICAgICB9Ci0gICAgICAgICB9IHdoaWxlIChzdGF0dXMgPT0gWEJ1ZmZlck92ZXJmbG93KTsKKy0gICAgICAgIGRvIHsKKy0gICAgICAgICAgICBubWJieXRlcyA9IFhtYkxvb2t1cFN0cmluZyh4aWMsIGUsIGJ1ZiwgYnNpemUgLSAxLCAma3MsICZzdGF0dXMpOworLSAgICAgICAgICAgIGJ1ZltubWJieXRlc10gPSAnXDAnOworLQorLSAgICAgICAgICAgIGlmIChzdGF0dXMgPT0gWEJ1ZmZlck92ZXJmbG93KSB7CistICAgICAgICAgICAgICAgIGJzaXplID0gbm1iYnl0ZXMgKyAxOworLSAgICAgICAgICAgICAgICBidWYgPSByZWFsbG9jKGJ1ZiwgYnNpemUpOworLSAgICAgICAgICAgIH0KKy0gICAgICAgIH0gd2hpbGUgKHN0YXR1cyA9PSBYQnVmZmVyT3ZlcmZsb3cpOwogLSAgICB9Ci0rICAgIH0qLwogIAogICAgICBpZiAoa3MgPT0gTm9TeW1ib2wpCi0gCWtzbmFtZSA9ICJOb1N5bWJvbCI7Ci1AQCAtMTU2LDcgKzE1Niw3IEBAIGRvX0tleVByZXNzIChYRXZlbnQgKmV2ZW50cCkKKyAgICAgICAgIGtzbmFtZSA9ICJOb1N5bWJvbCI7CitAQCAtMTY4LDE2ICsxNTcsNiBAQCBkb19LZXlQcmVzcyhYRXZlbnQgKmV2ZW50cCkKICAgICAgfQogIAogICAgICAvKiBub3Qgc3VwcG9zZWQgdG8gY2FsbCBYbWJMb29rdXBTdHJpbmcgb24gYSBrZXkgcmVsZWFzZSBldmVudCAqLwogLSAgICBpZiAoZS0+dHlwZSA9PSBLZXlQcmVzcyAmJiB4aWMpIHsKLSsgICAgLyppZiAoZS0+dHlwZSA9PSBLZXlQcmVzcyAmJiB4aWMpIHsKLSAgICAgICAgIHByaW50ZiAoIiAgICBYbWJMb29rdXBTdHJpbmcgZ2l2ZXMgJWQgYnl0ZXM6ICIsIG5tYmJ5dGVzKTsKLSAgICAgICAgIGlmIChubWJieXRlcyA+IDApIHsKLSAgICAgICAgICAgIGR1bXAgKGJ1Ziwgbm1iYnl0ZXMpOwotQEAgLTE2NCw3ICsxNjQsNyBAQCBkb19LZXlQcmVzcyAoWEV2ZW50ICpldmVudHApCi0gICAgICAgICB9IGVsc2UgewotICAgICAJICAgcHJpbnRmICgiXG4iKTsKKy0gICAgICAgIHByaW50ZigiICAgIFhtYkxvb2t1cFN0cmluZyBnaXZlcyAlZCBieXRlczogIiwgbm1iYnl0ZXMpOworLSAgICAgICAgaWYgKG5tYmJ5dGVzID4gMCkgeworLSAgICAgICAgICAgIGR1bXAoYnVmLCBubWJieXRlcyk7CistICAgICAgICAgICAgcHJpbnRmKCIgXCIlc1wiXG4iLCBidWYpOworLSAgICAgICAgfQorLSAgICAgICAgZWxzZSB7CistICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworLSAgICAgICAgfQorLSAgICB9CisgCisgICAgIHByaW50ZigiICAgIFhGaWx0ZXJFdmVudCByZXR1cm5zOiAlc1xuIiwKKyAgICAgICAgICAgIFhGaWx0ZXJFdmVudChldmVudHAsIGUtPndpbmRvdykgPyAiVHJ1ZSIgOiAiRmFsc2UiKTsKK0BAIC0xMTQxLDcgKzExMjAsNyBAQCBwYXJzZV9ldmVudF9tYXNrKGNvbnN0IGNoYXIgKnMsIGxvbmcgZXZlCisgICAgICAgICAgICAgaWYgKHMpCisgICAgICAgICAgICAgICAgIHJldHVybiBUcnVlOwogICAgICAgICAgfQogLSAgICB9Ci0rICAgIH0gKi8KKysJfQogIAotICAgICBwcmludGYgKCIgICAgWEZpbHRlckV2ZW50IHJldHVybnM6ICVzXG4iLAotIAkgICAgWEZpbHRlckV2ZW50IChldmVudHAsIGUtPndpbmRvdykgPyAiVHJ1ZSIgOiAiRmFsc2UiKTsKLUBAIC0xMDE1LDcgKzEwMTUsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICAgICAgICBmcHJpbnRmIChzdGRlcnIsICIlczogIFhTZXRMb2NhbGVNb2RpZmllcnMgZmFpbGVkXG4iLCBQcm9ncmFtTmFtZSk7CisgICAgIGlmIChzICE9IE5VTEwpCisgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiVzOiB1bnJlY29nbml6ZWQgZXZlbnQgbWFzayAnJXMnXG4iLCBQcm9ncmFtTmFtZSwgcyk7CitAQCAtMTI4OCwzNyArMTI2Nyw2IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlczogIFhTZXRMb2NhbGVNb2RpZmllcnMgZmFpbGVkXG4iLCBQcm9ncmFtTmFtZSk7CiAgICAgIH0KICAKLS0gICAgeGltID0gWE9wZW5JTSAoZHB5LCBOVUxMLCBOVUxMLCBOVUxMKTsKLSsgICAgLyp4aW0gPSBYT3BlbklNIChkcHksIE5VTEwsIE5VTEwsIE5VTEwpOwotICAgICBpZiAoeGltID09IE5VTEwpIHsKLSAgICAgICAgIGZwcmludGYgKHN0ZGVyciwgIiVzOiAgWE9wZW5JTSBmYWlsZWRcbiIsIFByb2dyYW1OYW1lKTsKLSAgICAgfQotQEAgLTEwNDIsNyArMTA0Miw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgWEZyZWUgKHhpbV9zdHlsZXMpOwotICAgICAgICAgfQorLSAgICB4aW0gPSBYT3BlbklNKGRweSwgTlVMTCwgTlVMTCwgTlVMTCk7CistICAgIGlmICh4aW0gPT0gTlVMTCkgeworLSAgICAgICAgZnByaW50ZihzdGRlcnIsICIlczogIFhPcGVuSU0gZmFpbGVkXG4iLCBQcm9ncmFtTmFtZSk7CiAtICAgIH0KLSsJfSovCistCistICAgIGlmICh4aW0pIHsKKy0gICAgICAgIGltdmFscmV0ID0gWEdldElNVmFsdWVzKHhpbSwgWE5RdWVyeUlucHV0U3R5bGUsICZ4aW1fc3R5bGVzLCBOVUxMKTsKKy0gICAgICAgIGlmIChpbXZhbHJldCAhPSBOVUxMIHx8IHhpbV9zdHlsZXMgPT0gTlVMTCkgeworLSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXM6ICBpbnB1dCBtZXRob2QgZG9lc24ndCBzdXBwb3J0IGFueSBzdHlsZXNcbiIsCistICAgICAgICAgICAgICAgICAgICBQcm9ncmFtTmFtZSk7CistICAgICAgICB9CistCistICAgICAgICBpZiAoeGltX3N0eWxlcykgeworLSAgICAgICAgICAgIHhpbV9zdHlsZSA9IDA7CistICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHhpbV9zdHlsZXMtPmNvdW50X3N0eWxlczsgaSsrKSB7CistICAgICAgICAgICAgICAgIGlmICh4aW1fc3R5bGVzLT5zdXBwb3J0ZWRfc3R5bGVzW2ldID09CistICAgICAgICAgICAgICAgICAgICAoWElNUHJlZWRpdE5vdGhpbmcgfCBYSU1TdGF0dXNOb3RoaW5nKSkgeworLSAgICAgICAgICAgICAgICAgICAgeGltX3N0eWxlID0geGltX3N0eWxlcy0+c3VwcG9ydGVkX3N0eWxlc1tpXTsKKy0gICAgICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgIGlmICh4aW1fc3R5bGUgPT0gMCkgeworLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAiJXM6IGlucHV0IG1ldGhvZCBkb2Vzbid0IHN1cHBvcnQgdGhlIHN0eWxlIHdlIHN1cHBvcnRcbiIsCistICAgICAgICAgICAgICAgICAgICAgICAgUHJvZ3JhbU5hbWUpOworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBYRnJlZSh4aW1fc3R5bGVzKTsKKy0gICAgICAgIH0KKy0gICAgfQorLQorICAgICBzY3JlZW4gPSBEZWZhdWx0U2NyZWVuKGRweSk7CiAgCi0gICAgIHNjcmVlbiA9IERlZmF1bHRTY3JlZW4gKGRweSk7Ci0gCi1AQCAtMTEwOSw3ICsxMTA5LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotIAlwcmludGYgKCJPdXRlciB3aW5kb3cgaXMgMHglbHgsIGlubmVyIHdpbmRvdyBpcyAweCVseFxuIiwgdywgc3Vidyk7CisgICAgIGF0dHIuZXZlbnRfbWFzayA9IGV2ZW50X21hc2tzW0VWRU5UX01BU0tfSU5ERVhfQ09SRV07CitAQCAtMTM3MywxNiArMTMyMSw2IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICAgICAgICAgcHJpbnRmKCJPdXRlciB3aW5kb3cgaXMgMHglbHgsIGlubmVyIHdpbmRvdyBpcyAweCVseFxuIiwgdywgc3Vidyk7CiAgICAgIH0KICAKIC0gICAgaWYgKHhpbSAmJiB4aW1fc3R5bGUpIHsKLSsgICAgLyppZiAoeGltICYmIHhpbV9zdHlsZSkgewotICAgICAgICAgeGljID0gWENyZWF0ZUlDICh4aW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFhOSW5wdXRTdHlsZSwgeGltX3N0eWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBYTkNsaWVudFdpbmRvdywgdywKLUBAIC0xMTE5LDcgKzExMTksNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICAgICAgICBpZiAoeGljID09IE5VTEwpIHsKLSAgICAgICAgICAgICBmcHJpbnRmIChzdGRlcnIsICJYQ3JlYXRlSUMgZmFpbGVkXG4iKTsKLSAgICAgICAgIH0KKy0gICAgICAgIHhpYyA9IFhDcmVhdGVJQyh4aW0sCistICAgICAgICAgICAgICAgICAgICAgICAgWE5JbnB1dFN0eWxlLCB4aW1fc3R5bGUsCistICAgICAgICAgICAgICAgICAgICAgICAgWE5DbGllbnRXaW5kb3csIHcsIFhORm9jdXNXaW5kb3csIHcsIE5VTEwpOworLQorLSAgICAgICAgaWYgKHhpYyA9PSBOVUxMKSB7CistICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJYQ3JlYXRlSUMgZmFpbGVkXG4iKTsKKy0gICAgICAgIH0KIC0gICAgfQotKyAgICB9Ki8KLSAKLSAgICAgaGF2ZV9yciA9IFhSUlF1ZXJ5RXh0ZW5zaW9uIChkcHksICZycl9ldmVudF9iYXNlLCAmcnJfZXJyb3JfYmFzZSk7CistCisgICAgIGhhdmVfcnIgPSBYUlJRdWVyeUV4dGVuc2lvbihkcHksICZycl9ldmVudF9iYXNlLCAmcnJfZXJyb3JfYmFzZSk7CiAgICAgIGlmIChoYXZlX3JyKSB7CisgICAgICAgICBpbnQgcnJfbWFqb3IsIHJyX21pbm9yOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGV2XzEuMi4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGV2XzEuMi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNzA1YjdmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldl8xLjIuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLXJlcXVpcmUgeG9yZy1hcHAtY29tbW9uLmluYwotCi1TVU1NQVJZID0gIlggRXZlbnQgVmlld2VyIgotREVTQ1JJUFRJT04gPSAiWGV2IGNyZWF0ZXMgYSB3aW5kb3cgYW5kIHRoZW4gYXNrcyB0aGUgWCBzZXJ2ZXIgdG8gc2VuZCBpdCBldmVudHMgXAotd2hlbmV2ZXIgYW55dGhpbmcgaGFwcGVucyB0byB0aGUgd2luZG93IChzdWNoIGFzIGl0IGJlaW5nIG1vdmVkLCByZXNpemVkLCBcCi10eXBlZCBpbiwgY2xpY2tlZCBpbiwgZXRjLikuIFlvdSBjYW4gYWxzbyBhdHRhY2ggaXQgdG8gYW4gZXhpc3Rpbmcgd2luZG93LiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8veGV2LmM7YmVnaW5saW5lPTE7ZW5kbGluZT0zMzttZDU9NTc3Yzk5NDIxZjE4MDNiODkxZDJjNzkwOTdhZTQ2ODIiCi1MSUNFTlNFID0gIk1JVCIKLQotUEUgPSAiMSIKLQotREVQRU5EUyArPSAibGlieHJhbmRyIHhvcmdwcm90byIKLQotU1JDX1VSSSArPSAiZmlsZTovL2RpZXQteDExLnBhdGNoIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMjQ5YmRkZTkwZjAxYzBkODYxYWY1MmRjOGZlYzM3OWUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDk0YWU2MmE2YzFhZjU2YzI5NjFkNzFmNTc4MjA3NmFjNDExNmYwZmE0ZTQwMTQyMGFjN2UwZGIzM2RjMzE0ZiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldl8xLjIuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldl8xLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTY5ZTc0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGV2XzEuMi4zLmJiCkBAIC0wLDAgKzEsMTggQEAKK3JlcXVpcmUgeG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gIlggRXZlbnQgVmlld2VyIgorREVTQ1JJUFRJT04gPSAiWGV2IGNyZWF0ZXMgYSB3aW5kb3cgYW5kIHRoZW4gYXNrcyB0aGUgWCBzZXJ2ZXIgdG8gc2VuZCBpdCBldmVudHMgXAord2hlbmV2ZXIgYW55dGhpbmcgaGFwcGVucyB0byB0aGUgd2luZG93IChzdWNoIGFzIGl0IGJlaW5nIG1vdmVkLCByZXNpemVkLCBcCit0eXBlZCBpbiwgY2xpY2tlZCBpbiwgZXRjLikuIFlvdSBjYW4gYWxzbyBhdHRhY2ggaXQgdG8gYW4gZXhpc3Rpbmcgd2luZG93LiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8veGV2LmM7YmVnaW5saW5lPTE7ZW5kbGluZT0zMzttZDU9NTc3Yzk5NDIxZjE4MDNiODkxZDJjNzkwOTdhZTQ2ODIiCitMSUNFTlNFID0gIk1JVCIKKworUEUgPSAiMSIKKworREVQRU5EUyArPSAibGlieHJhbmRyIHhvcmdwcm90byIKKworU1JDX1VSSSArPSAiZmlsZTovL2RpZXQteDExLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWVjODJhNWQ0YjU5OTczNmYwZmE2MzdlOTYxMzY3NDYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjZiYzRmMWNmYTE5NDZkNjI2MTI3Mzc4MTVjMzQxNjRlNGNlNDBmY2ViZDJjOWUxZDdlN2ExMTE3YWQzYWQwOSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hob3N0XzEuMC43LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGhvc3RfMS4wLjcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3NDkwZjUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGhvc3RfMS4wLjcuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1yZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKLQotU1VNTUFSWSA9ICJTZXJ2ZXIgYWNjZXNzIGNvbnRyb2wgcHJvZ3JhbSBmb3IgWCIKLQotREVTQ1JJUFRJT04gPSAiVGhlIHhob3N0IHByb2dyYW0gaXMgdXNlZCB0byBhZGQgYW5kIGRlbGV0ZSBob3N0IG5hbWVzIG9yIFwKLXVzZXIgbmFtZXMgdG8gdGhlIGxpc3QgYWxsb3dlZCB0byBtYWtlIGNvbm5lY3Rpb25zIHRvIHRoZSBYIHNlcnZlci4gSW4gXAotdGhlIGNhc2Ugb2YgaG9zdHMsIHRoaXMgcHJvdmlkZXMgYSBydWRpbWVudGFyeSBmb3JtIG9mIHByaXZhY3kgY29udHJvbCBcCi1hbmQgc2VjdXJpdHkuIEVudmlyb25tZW50cyB3aGljaCByZXF1aXJlIG1vcmUgc29waGlzdGljYXRlZCBtZWFzdXJlcyBcCi1zaG91bGQgaW1wbGVtZW50IHRoZSB1c2VyLWJhc2VkIG1lY2hhbmlzbSBvciB1c2UgdGhlIGhvb2tzIGluIHRoZSBcCi1wcm90b2NvbCBmb3IgcGFzc2luZyBvdGhlciBhdXRoZW50aWNhdGlvbiBkYXRhIHRvIHRoZSBzZXJ2ZXIuIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04ZmJlZDcxZGRkZjQ4NTQxODE4Y2VmODA3OTEyNDE5OSIKLURFUEVORFMgKz0gImxpYnhtdSBsaWJ4YXUiCi1QRSA9ICIxIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZjVkNDkwNzM4YjE0OGNiN2YyZmU3NjBmNDBmOTI1MTYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTNlNjE5ZWUxNTQ3MWY1NzZjZmIzMGM2NjNlMThmNWJjNzBhY2E1NzdhNjNkMmMyYzAzZjAwNmE3ODM3YzI5YSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGhvc3RfMS4wLjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94aG9zdF8xLjAuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNmJlYzNmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGhvc3RfMS4wLjguYmIKQEAgLTAsMCArMSwyMCBAQAorcmVxdWlyZSB4b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiU2VydmVyIGFjY2VzcyBjb250cm9sIHByb2dyYW0gZm9yIFgiCisKK0RFU0NSSVBUSU9OID0gIlRoZSB4aG9zdCBwcm9ncmFtIGlzIHVzZWQgdG8gYWRkIGFuZCBkZWxldGUgaG9zdCBuYW1lcyBvciBcCit1c2VyIG5hbWVzIHRvIHRoZSBsaXN0IGFsbG93ZWQgdG8gbWFrZSBjb25uZWN0aW9ucyB0byB0aGUgWCBzZXJ2ZXIuIEluIFwKK3RoZSBjYXNlIG9mIGhvc3RzLCB0aGlzIHByb3ZpZGVzIGEgcnVkaW1lbnRhcnkgZm9ybSBvZiBwcml2YWN5IGNvbnRyb2wgXAorYW5kIHNlY3VyaXR5LiBFbnZpcm9ubWVudHMgd2hpY2ggcmVxdWlyZSBtb3JlIHNvcGhpc3RpY2F0ZWQgbWVhc3VyZXMgXAorc2hvdWxkIGltcGxlbWVudCB0aGUgdXNlci1iYXNlZCBtZWNoYW5pc20gb3IgdXNlIHRoZSBob29rcyBpbiB0aGUgXAorcHJvdG9jb2wgZm9yIHBhc3Npbmcgb3RoZXIgYXV0aGVudGljYXRpb24gZGF0YSB0byB0aGUgc2VydmVyLiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGZiZWQ3MWRkZGY0ODU0MTgxOGNlZjgwNzkxMjQxOTkiCitERVBFTkRTICs9ICJsaWJ4bXUgbGlieGF1IgorUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gImE0OGM3Mjk1NGFlNjY2NWUwNjE2ZjY2NTM2MzZkYThjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEyZGMzYzU3OWUxMzY3NDk0NzM5NWVmOGNjYzFiMzc2M2Y4OTAxMmEyMTZjMmNjNjI3NzA5NjQ4OWFhZGMzOTYiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hpbml0XzEuNC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGluaXRfMS40LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjMmEwNmIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGluaXRfMS40LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1yZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKLQotU1VNTUFSWSA9ICJYIFdpbmRvdyBTeXN0ZW0gaW5pdGlhbGl6ZXIiCi0KLURFU0NSSVBUSU9OID0gIlRoZSB4aW5pdCBwcm9ncmFtIGlzIHVzZWQgdG8gc3RhcnQgdGhlIFggV2luZG93IFN5c3RlbSBcCi1zZXJ2ZXIgYW5kIGEgZmlyc3QgY2xpZW50IHByb2dyYW0gb24gc3lzdGVtcyB0aGF0IGNhbm5vdCBzdGFydCBYIFwKLWRpcmVjdGx5IGZyb20gL2V0Yy9pbml0IG9yIGluIGVudmlyb25tZW50cyB0aGF0IHVzZSBtdWx0aXBsZSB3aW5kb3cgXAotc3lzdGVtcy4gV2hlbiB0aGlzIGZpcnN0IGNsaWVudCBleGl0cywgeGluaXQgd2lsbCBraWxsIHRoZSBYIHNlcnZlciBhbmQgXAotdGhlbiB0ZXJtaW5hdGUuIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xOGYwMWU3YjM5ODA3YmViZTJiOGRmMTAxYTAzOWI2OCIKLQotUEUgPSAiMSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjJkYTE1NGIyZjgwY2E5NjM3YjFhMTdiMTNhZjA4ODBjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIzMDgzNWVlZjJmNTk3OGExZTEzNDQ5MjgxNjgxMTkzNzNmNmRmMWQwYTMyYzA5NTE1ZTU0NTcyMWVlNTgyZWYiCi0KLUVYVFJBX09FQ09ORiA9ICJhY19jdl9wYXRoX01DT09LSUU9JHtiaW5kaXJ9L21jb29raWUiCi0KLVJERVBFTkRTXyR7UE59ICs9ICJ1dGlsLWxpbnV4LW1jb29raWUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94aW5pdF8xLjQuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hpbml0XzEuNC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2MjZlYmIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94aW5pdF8xLjQuMS5iYgpAQCAtMCwwICsxLDIwIEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYIFdpbmRvdyBTeXN0ZW0gaW5pdGlhbGl6ZXIiCisKK0RFU0NSSVBUSU9OID0gIlRoZSB4aW5pdCBwcm9ncmFtIGlzIHVzZWQgdG8gc3RhcnQgdGhlIFggV2luZG93IFN5c3RlbSBcCitzZXJ2ZXIgYW5kIGEgZmlyc3QgY2xpZW50IHByb2dyYW0gb24gc3lzdGVtcyB0aGF0IGNhbm5vdCBzdGFydCBYIFwKK2RpcmVjdGx5IGZyb20gL2V0Yy9pbml0IG9yIGluIGVudmlyb25tZW50cyB0aGF0IHVzZSBtdWx0aXBsZSB3aW5kb3cgXAorc3lzdGVtcy4gV2hlbiB0aGlzIGZpcnN0IGNsaWVudCBleGl0cywgeGluaXQgd2lsbCBraWxsIHRoZSBYIHNlcnZlciBhbmQgXAordGhlbiB0ZXJtaW5hdGUuIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xOGYwMWU3YjM5ODA3YmViZTJiOGRmMTAxYTAzOWI2OCIKKworUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjZkNTA2YWIyZWZjMTdhMDhlODc3Nzg2NTRlMDk5ZDM3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRlOWI4ZjYxN2I2OGE3MGY2Y2FmODdkYTAxZmNmMGViZDJiNzU2OTBjZGNiYTljOTIxZDBlZjU0ZmE1NGFiYjkiCisKK0VYVFJBX09FQ09ORiA9ICJhY19jdl9wYXRoX01DT09LSUU9JHtiaW5kaXJ9L21jb29raWUiCisKK1JERVBFTkRTXyR7UE59ICs9ICJ1dGlsLWxpbnV4LW1jb29raWUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94bW9kbWFwXzEuMC4xMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3htb2RtYXBfMS4wLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkZWRiMDMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94bW9kbWFwXzEuMC4xMC5iYgpAQCAtMCwwICsxLDE2IEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJVdGlsaXR5IGZvciBtb2RpZnlpbmcga2V5bWFwcyBhbmQgcG9pbnRlciBidXR0b24gbWFwcGluZ3MgaW4gWCIKKworREVTQ1JJUFRJT04gPSAiVGhlIHhtb2RtYXAgcHJvZ3JhbSBpcyB1c2VkIHRvIGVkaXQgYW5kIGRpc3BsYXkgdGhlIFwKK2tleWJvYXJkIG1vZGlmaWVyIG1hcCBhbmQga2V5bWFwIHRhYmxlIHRoYXQgYXJlIHVzZWQgYnkgY2xpZW50IFwKK2FwcGxpY2F0aW9ucyB0byBjb252ZXJ0IGV2ZW50IGtleWNvZGVzIGludG8ga2V5c3ltcy4gSXQgaXMgdXN1YWxseSBydW4gXAorZnJvbSB0aGUgdXNlcidzIHNlc3Npb24gc3RhcnR1cCBzY3JpcHQgdG8gY29uZmlndXJlIHRoZSBrZXlib2FyZCBcCithY2NvcmRpbmcgdG8gcGVyc29uYWwgdGFzdGVzLiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNzJjMTdlOTYzNzBlMWU3NDc3M2ZhMjJkOTk4OTYyMSIKKworUEUgPSAiMSIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MWYxZDMwYTUyNWU5OTAzMjgwZmZlZWEyNzQ0YjFmNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0NzNmMDk0MWQ3NDM5ZDUwMWJiODk1ZmYzNTg4MzJiOTM2ZWMzNGM3NDliOTcwNGMzN2ExNWUxMWMzMTg0ODdjIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG1vZG1hcF8xLjAuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3htb2RtYXBfMS4wLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkZWFjNmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG1vZG1hcF8xLjAuOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLXJlcXVpcmUgeG9yZy1hcHAtY29tbW9uLmluYwotCi1TVU1NQVJZID0gIlV0aWxpdHkgZm9yIG1vZGlmeWluZyBrZXltYXBzIGFuZCBwb2ludGVyIGJ1dHRvbiBtYXBwaW5ncyBpbiBYIgotCi1ERVNDUklQVElPTiA9ICJUaGUgeG1vZG1hcCBwcm9ncmFtIGlzIHVzZWQgdG8gZWRpdCBhbmQgZGlzcGxheSB0aGUgXAota2V5Ym9hcmQgbW9kaWZpZXIgbWFwIGFuZCBrZXltYXAgdGFibGUgdGhhdCBhcmUgdXNlZCBieSBjbGllbnQgXAotYXBwbGljYXRpb25zIHRvIGNvbnZlcnQgZXZlbnQga2V5Y29kZXMgaW50byBrZXlzeW1zLiBJdCBpcyB1c3VhbGx5IHJ1biBcCi1mcm9tIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBzdGFydHVwIHNjcmlwdCB0byBjb25maWd1cmUgdGhlIGtleWJvYXJkIFwKLWFjY29yZGluZyB0byBwZXJzb25hbCB0YXN0ZXMuIgotCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI3MmMxN2U5NjM3MGUxZTc0NzczZmEyMmQ5OTg5NjIxIgotCi1QRSA9ICIxIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNzIzZjAyZDNhNWY5ODQ1MDU1NDU1NjIwNWYwYTk0OTciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjdiMGU1Y2M1ZjEwZDBmYjZkMmQ2ZWE0ZjAwYzc3ZThhYzBlODQ3Y2M1YTczYmU5NGNkODYxMzlhYzRhYzQ3OCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hwcm9wXzEuMi4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHByb3BfMS4yLjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNhNThkNDcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHByb3BfMS4yLjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1yZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKLQotU1VNTUFSWSA9ICJVdGlsaXR5IHRvIGRpc3BsYXkgd2luZG93IGFuZCBmb250IHByb3BlcnRpZXMgb2YgYW4gWCBzZXJ2ZXIiCi0KLURFU0NSSVBUSU9OID0gIlRoZSB4cHJvcCB1dGlsaXR5IGlzIGZvciBkaXNwbGF5aW5nIHdpbmRvdyBhbmQgZm9udCBcCi1wcm9wZXJ0aWVzIGluIGFuIFggc2VydmVyLiBPbmUgd2luZG93IG9yIGZvbnQgaXMgc2VsZWN0ZWQgdXNpbmcgdGhlIFwKLWNvbW1hbmQgbGluZSBhcmd1bWVudHMgb3IgcG9zc2libHkgaW4gdGhlIGNhc2Ugb2YgYSB3aW5kb3csIGJ5IGNsaWNraW5nIFwKLW9uIHRoZSBkZXNpcmVkIHdpbmRvdy4gQSBsaXN0IG9mIHByb3BlcnRpZXMgaXMgdGhlbiBnaXZlbiwgcG9zc2libHkgd2l0aCBcCi1mb3JtYXR0aW5nIGluZm9ybWF0aW9uLiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTIyNmFiOGRiODhhYzBiYzAzOTE2NzNiZTQwYzlmOTEiCi0KLURFUEVORFMgKz0gImxpYnhtdSIKLQotUEUgPSAiMSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjRiZWNiM2RkYzQ2NzRkNzQxNDg3MTg5ZTRjZTNkMGI2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQyMmFmYjI4Yzg2ZDg1ZmZmMTBhNTAxNTZhN2QwZmE5MzBjODBhZTg2NWQ3MGIyNmQ4MDVmZDI4YTE3YTUyMWIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94cHJvcF8xLjIuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hwcm9wXzEuMi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyODA4MTMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94cHJvcF8xLjIuNC5iYgpAQCAtMCwwICsxLDE4IEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJVdGlsaXR5IHRvIGRpc3BsYXkgd2luZG93IGFuZCBmb250IHByb3BlcnRpZXMgb2YgYW4gWCBzZXJ2ZXIiCisKK0RFU0NSSVBUSU9OID0gIlRoZSB4cHJvcCB1dGlsaXR5IGlzIGZvciBkaXNwbGF5aW5nIHdpbmRvdyBhbmQgZm9udCBcCitwcm9wZXJ0aWVzIGluIGFuIFggc2VydmVyLiBPbmUgd2luZG93IG9yIGZvbnQgaXMgc2VsZWN0ZWQgdXNpbmcgdGhlIFwKK2NvbW1hbmQgbGluZSBhcmd1bWVudHMgb3IgcG9zc2libHkgaW4gdGhlIGNhc2Ugb2YgYSB3aW5kb3csIGJ5IGNsaWNraW5nIFwKK29uIHRoZSBkZXNpcmVkIHdpbmRvdy4gQSBsaXN0IG9mIHByb3BlcnRpZXMgaXMgdGhlbiBnaXZlbiwgcG9zc2libHkgd2l0aCBcCitmb3JtYXR0aW5nIGluZm9ybWF0aW9uLiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTIyNmFiOGRiODhhYzBiYzAzOTE2NzNiZTQwYzlmOTEiCisKK0RFUEVORFMgKz0gImxpYnhtdSIKKworUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gImNjMzY5YzI4MzgzYTVkNzE0NGU3MTk3ZWU3ZDMwYmZhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhjNzdmYjA5NmU0NmM2MDAzMmI3ZTJiZGU5NDkyYzNmZmNjMTg3MzRmNTBiMzk1MDg1YTVmMTBiZmQzY2Y3NTMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94dmluZm9fMS4xLjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94dmluZm9fMS4xLjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5NjVlZjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHZpbmZvXzEuMS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotcmVxdWlyZSB4b3JnLWFwcC1jb21tb24uaW5jCi0KLVNVTU1BUlkgPSAiUHJpbnQgb3V0IFgtVmlkZW8gZXh0ZW5zaW9uIGFkYXB0b3IgaW5mb3JtYXRpb24iCi0KLURFU0NSSVBUSU9OID0gInh2aW5mbyBwcmludHMgb3V0IHRoZSBjYXBhYmlsaXRpZXMgb2YgYW55IHZpZGVvIGFkYXB0b3JzIFwKLWFzc29jaWF0ZWQgd2l0aCB0aGUgZGlzcGxheSB0aGF0IGFyZSBhY2Nlc3NpYmxlIHRocm91Z2ggdGhlIFgtVmlkZW8gXAotZXh0ZW5zaW9uLiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjY2NDEwMWFkN2ExZGM3NThhNGM0MTA5YmY5NzhlNjgiCi1ERVBFTkRTICs9ICIgbGlieHYiCi1QRSA9ICIxIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNTU4MzYwMTc2YjcxOGRlZTNjMzliYzA2NDhjMGQxMGMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWZiYThiNjhkYWY1Mzg2M2U2NmQ1MDA0ZmE5YzcwM2ZjZWNmNjlkYjRkMTUxZWEyZDNkODg1ZDYyMWU2ZTVlYiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3h2aW5mb18xLjEuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3h2aW5mb18xLjEuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTEzYWUxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHZpbmZvXzEuMS40LmJiCkBAIC0wLDAgKzEsMTQgQEAKK3JlcXVpcmUgeG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gIlByaW50IG91dCBYLVZpZGVvIGV4dGVuc2lvbiBhZGFwdG9yIGluZm9ybWF0aW9uIgorCitERVNDUklQVElPTiA9ICJ4dmluZm8gcHJpbnRzIG91dCB0aGUgY2FwYWJpbGl0aWVzIG9mIGFueSB2aWRlbyBhZGFwdG9ycyBcCithc3NvY2lhdGVkIHdpdGggdGhlIGRpc3BsYXkgdGhhdCBhcmUgYWNjZXNzaWJsZSB0aHJvdWdoIHRoZSBYLVZpZGVvIFwKK2V4dGVuc2lvbi4iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI2NjQxMDFhZDdhMWRjNzU4YTRjNDEwOWJmOTc4ZTY4IgorREVQRU5EUyArPSAiIGxpYnh2IgorUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gImIxM2FmZWMxMzdiOWIzMzE4MTRhOTgyNGFiMDNlYzgwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjAzNTMyMjBkNjYwNjA3N2JhNDIzNjNkYjY1ZjUwNDEwNzU5Zjk4MTUzNTJmNzdhZGM3OTllMmFkZmE3NmU3M2YiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LWxpYmlucHV0XzAuMjguMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbGliaW5wdXRfMC4yOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ODUzYjViLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbGliaW5wdXRfMC4yOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotcmVxdWlyZSB4b3JnLWRyaXZlci1pbnB1dC5pbmMKLQotU1VNTUFSWSA9ICJHZW5lcmljIGlucHV0IGRyaXZlciBmb3IgdGhlIFguT3JnIHNlcnZlciBiYXNlZCBvbiBsaWJpbnB1dCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVlNmIyMGVhMmVmOTRhOTk4MTQ1ZjBlYTNmNzg4ZWUwIgotCi1ERVBFTkRTICs9ICJsaWJpbnB1dCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjJkNzUxOWFjMGUzOWQ0Yzg4ZjNiZTMyZTgxYTYzN2FhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIxOTk0ZDA2NWZjMjZlODVkMWMzZmM4N2Q4NDc5YjljMjI2OTllZDVhMDExOWRmOThmYmUwMDAwZTg0NjMwYTEiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L1gxMS94b3JnLmNvbmYuZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbGliaW5wdXRfMC4yOC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC1saWJpbnB1dF8wLjI4LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTkxMjNlMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbGliaW5wdXRfMC4yOC4yLmJiCkBAIC0wLDAgKzEsMTEgQEAKK3JlcXVpcmUgeG9yZy1kcml2ZXItaW5wdXQuaW5jCisKK1NVTU1BUlkgPSAiR2VuZXJpYyBpbnB1dCBkcml2ZXIgZm9yIHRoZSBYLk9yZyBzZXJ2ZXIgYmFzZWQgb24gbGliaW5wdXQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZTZiMjBlYTJlZjk0YTk5ODE0NWYwZWEzZjc4OGVlMCIKKworREVQRU5EUyArPSAibGliaW5wdXQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiNzU0OGJjMWQ3ZTgyZDE4OTIwNTc5NGZmODYzMDdhZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiOGIzNDY5NjJjNmI2MmI4MDY5OTI4YzI5YzBkYjgzYjZmNTQ0ODYzYmYyZmM2ODMwZjMyNGRlODQxZGUyODIwIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9YMTEveG9yZy5jb25mLmQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWludGVsLzAwMDEtQWRkLUNvZmZlZWxha2UtUENJLUlEcy1mb3ItUy1Ta3VzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC8wMDAxLUFkZC1Db2ZmZWVsYWtlLVBDSS1JRHMtZm9yLVMtU2t1cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDZlZjEwNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWludGVsLzAwMDEtQWRkLUNvZmZlZWxha2UtUENJLUlEcy1mb3ItUy1Ta3VzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTE2ICswLDAgQEAKLUZyb20gOTZkNGU4ZTdiOGE2OTlmMGVmNzdmYTdiMjEwZDRkZTVmMWM3MDNkMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IExpd2VpIFNvbmcgPGxpd2VpLnNvbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMjIgTm92IDIwMTcgMDg6NTk6MDMgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gQWRkIENvZmZlZWxha2UgUENJIElEcyBmb3IgUyBTa3VzCi0KLUFkZCB0aGUgQ29mZmVlbGFrZSBQQ0kgSURzIGJhc2VkIG9uIHRoZSBmb2xsb3dpbmcga2VybmVsIHBhdGNoZXM6Ci0KLWNvbW1pdCBiMDU2ZjhmM2Q2YjkwMGU4YWZkMTlmMzEyNzE5MTYwMzQ2ZDI2M2I0Ci1BdXRob3I6IEFudXNoYSBTcml2YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KLURhdGU6ICAgVGh1IEp1biA4IDE2OjQxOjA1IDIwMTcgLTA3MDAKLQotICAgIGRybS9pOTE1L2NmbDogQWRkIENvZmZlZSBMYWtlIFBDSSBJRHMgZm9yIFMgU2t1cy4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcGF0Y2gvMTAxMzk5MDVdCi0KLVNpZ25lZC1vZmYtYnk6IExpd2VpIFNvbmcgPGxpd2VpLnNvbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9pOTE1X3BjaWlkcy5oICAgICB8ICA3ICsrKysrKysKLSBzcmMvaW50ZWxfbW9kdWxlLmMgICAgfCAxMyArKysrKysrKysrKysrCi0gc3JjL3NuYS9nZW45X3JlbmRlci5jIHwgMTIgKysrKysrKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvaTkxNV9wY2lpZHMuaCBiL3NyYy9pOTE1X3BjaWlkcy5oCi1pbmRleCAwMzcwZjgzMGM1NDEuLjExY2NmYTljMDQ3YSAxMDA2NDQKLS0tLSBhL3NyYy9pOTE1X3BjaWlkcy5oCi0rKysgYi9zcmMvaTkxNV9wY2lpZHMuaAotQEAgLTM0MCw0ICszNDAsMTEgQEAKLSAJSU5URUxfVkdBX0RFVklDRSgweDMxODQsIGluZm8pLCBcCi0gCUlOVEVMX1ZHQV9ERVZJQ0UoMHgzMTg1LCBpbmZvKQotIAotKyNkZWZpbmUgSU5URUxfQ0ZMX1NfSURTKGluZm8pIFwKLSsJSU5URUxfVkdBX0RFVklDRSgweDNFOTAsIGluZm8pLCAvKiBTUlYgR1QxICovIFwKLSsJSU5URUxfVkdBX0RFVklDRSgweDNFOTMsIGluZm8pLCAvKiBTUlYgR1QxICovIFwKLSsJSU5URUxfVkdBX0RFVklDRSgweDNFOTEsIGluZm8pLCAvKiBTUlYgR1QyICovIFwKLSsJSU5URUxfVkdBX0RFVklDRSgweDNFOTIsIGluZm8pLCAvKiBTUlYgR1QyICovIFwKLSsJSU5URUxfVkdBX0RFVklDRSgweDNFOTYsIGluZm8pICAvKiBTUlYgR1QyICovCi0rCi0gI2VuZGlmIC8qIF9JOTE1X1BDSUlEU19IICovCi1kaWZmIC0tZ2l0IGEvc3JjL2ludGVsX21vZHVsZS5jIGIvc3JjL2ludGVsX21vZHVsZS5jCi1pbmRleCA2YjA0ODU3ZTI4NTMuLjQ4MjdhNjcyNTVmMCAxMDA2NDQKLS0tLSBhL3NyYy9pbnRlbF9tb2R1bGUuYwotKysrIGIvc3JjL2ludGVsX21vZHVsZS5jCi1AQCAtMTM4LDYgKzEzOCwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2dlbWluaWxha2VfaW5mbyA9IHsKLSAJLmdlbiA9IDAxMTMsCi0gfTsKLSAKLStzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2NvZmZlZWxha2VfaW5mbyA9IHsKLSsJLmdlbiA9IDAxMTQsCi0rfTsKLSsKLSBzdGF0aWMgY29uc3QgU3ltVGFiUmVjIGludGVsX2NoaXBzZXRzW10gPSB7Ci0gCXtQQ0lfQ0hJUF9JODEwLAkJCQkiaTgxMCJ9LAotIAl7UENJX0NISVBfSTgxMF9EQzEwMCwJCQkiaTgxMC1kYzEwMCJ9LAotQEAgLTMwMyw2ICszMDcsMTMgQEAgc3RhdGljIGNvbnN0IFN5bVRhYlJlYyBpbnRlbF9jaGlwc2V0c1tdID0gewotIAl7MHg1OTE2LCAiSEQgR3JhcGhpY3MgNjIwIn0sCi0gCXsweDU5MUUsICJIRCBHcmFwaGljcyA2MTUifSwKLSAKLSsJLypDb2ZmZWVsYWtlKi8KLSsJezB4M0U5MCwgIkhEIEdyYXBoaWNzIn0sCi0rCXsweDNFOTMsICJIRCBHcmFwaGljcyJ9LAotKwl7MHgzRTkxLCAiSEQgR3JhcGhpY3MifSwKLSsJezB4M0U5MiwgIkhEIEdyYXBoaWNzIn0sCi0rCXsweDNFOTYsICJIRCBHcmFwaGljcyJ9LAotKwotIAkvKiBXaGVuIGFkZGluZyBuZXcgaWRlbnRpZmllcnMsIGFsc28gdXBkYXRlOgotIAkgKiAxLiBpbnRlbF9pZGVudGlmeSgpCi0gCSAqIDIuIG1hbi9pbnRlbC5tYW4KLUBAIC0zNjgsNiArMzc5LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfaWRfbWF0Y2ggaW50ZWxfZGV2aWNlX21hdGNoW10gPSB7Ci0gCi0gCUlOVEVMX0dMS19JRFMoJmludGVsX2dlbWluaWxha2VfaW5mbyksCi0gCi0rCUlOVEVMX0NGTF9TX0lEUygmaW50ZWxfY29mZmVlbGFrZV9pbmZvKSwKLSsKLSAJSU5URUxfVkdBX0RFVklDRShQQ0lfTUFUQ0hfQU5ZLCAmaW50ZWxfZ2VuZXJpY19pbmZvKSwKLSAjZW5kaWYKLSAKLWRpZmYgLS1naXQgYS9zcmMvc25hL2dlbjlfcmVuZGVyLmMgYi9zcmMvc25hL2dlbjlfcmVuZGVyLmMKLWluZGV4IGU1ZjEyYzcyMzk1Ni4uN2Y0OTA1MmM1ZWMxIDEwMDY0NAotLS0tIGEvc3JjL3NuYS9nZW45X3JlbmRlci5jCi0rKysgYi9zcmMvc25hL2dlbjlfcmVuZGVyLmMKLUBAIC0yNDUsNiArMjQ1LDExIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZ3RfaW5mbyBnbGtfZ3RfaW5mbyA9IHsKLSAJLnVyYiA9IHsgLm1heF92c19lbnRyaWVzID0gMzIwIH0sCi0gfTsKLSAKLStzdGF0aWMgY29uc3Qgc3RydWN0IGd0X2luZm8gY2ZsX2d0X2luZm8gPSB7Ci0rCS5uYW1lID0gIkNvZmZlZWxha2UgKGdlbjkpIiwKLSsJLnVyYiA9IHsgLm1heF92c19lbnRyaWVzID0gOTYwIH0sCi0rfTsKLSsKLSBzdGF0aWMgYm9vbCBpc19za2woc3RydWN0IHNuYSAqc25hKQotIHsKLSAJcmV0dXJuIHNuYS0+a2dlbS5nZW4gPT0gMDExMDsKLUBAIC0yNjUsNiArMjcwLDExIEBAIHN0YXRpYyBib29sIGlzX2dsayhzdHJ1Y3Qgc25hICpzbmEpCi0gCXJldHVybiBzbmEtPmtnZW0uZ2VuID09IDAxMTM7Ci0gfQotIAotK3N0YXRpYyBib29sIGlzX2NmbChzdHJ1Y3Qgc25hICpzbmEpCi0rewotKwlyZXR1cm4gc25hLT5rZ2VtLmdlbiA9PSAwMTE0OwotK30KLSsKLSAKLSBzdGF0aWMgaW5saW5lIGJvb2wgdG9vX2xhcmdlKGludCB3aWR0aCwgaW50IGhlaWdodCkKLSB7Ci1AQCAtNDA0MCw2ICs0MDUwLDggQEAgc3RhdGljIGJvb2wgZ2VuOV9yZW5kZXJfc2V0dXAoc3RydWN0IHNuYSAqc25hKQotIAkJc3RhdGUtPmluZm8gPSAma2JsX2d0X2luZm87Ci0gCWlmIChpc19nbGsoc25hKSkKLSAJCXN0YXRlLT5pbmZvID0gJmdsa19ndF9pbmZvOwotKwlpZiAoaXNfY2ZsKHNuYSkpCi0rCQlzdGF0ZS0+aW5mbyA9ICZjZmxfZ3RfaW5mbzsKLSAKLSAJc25hX3N0YXRpY19zdHJlYW1faW5pdCgmZ2VuZXJhbCk7Ci0gCi0tLSAKLTIuMTMuMwotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWludGVsLzAxX0ZpeC1idWlsZC1vbi1pNjg2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC8wMV9GaXgtYnVpbGQtb24taTY4Ni5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjkxNmY4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC8wMV9GaXgtYnVpbGQtb24taTY4Ni5wYXRjaApAQCAtMCwwICsxLDU1IEBACitGcm9tIGE0MTRkNGUyNDQ2MWRhMWNiNGNlZjhlZTkxMGJjNTdiYWIzNjBjZWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBZGFtIEphY2tzb24gPGFqYXhAcmVkaGF0LmNvbT4KK0RhdGU6IFR1ZSwgNiBNYXIgMjAxOCAxMjowNzo0NiAtMDUwMAorU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGQgb24gaTY4NgorCitQcmVzdW1hYmx5IHRoaXMgb25seSBtYXR0ZXJzIGZvciBpNjg2IGJlY2F1c2UgYW1kNjQgaW1wbGllcyBzc2UyLCBidXQ6CisKK0JVSUxEU1RERVJSOiBJbiBmaWxlIGluY2x1ZGVkIGZyb20gZ2VuNF92ZXJ0ZXguYzozNDoKK0JVSUxEU1RERVJSOiBnZW40X3ZlcnRleC5jOiBJbiBmdW5jdGlvbiAnZW1pdF92ZXJ0ZXgnOgorQlVJTERTVERFUlI6IHNuYV9yZW5kZXJfaW5saW5lLmg6NDA6MjY6IGVycm9yOiBpbmxpbmluZyBmYWlsZWQgaW4gY2FsbCB0byBhbHdheXNfaW5saW5lICd2ZXJ0ZXhfZW1pdF8ycyc6IHRhcmdldCBzcGVjaWZpYyBvcHRpb24gbWlzbWF0Y2gKK0JVSUxEU1RERVJSOiAgc3RhdGljIGZvcmNlX2lubGluZSB2b2lkIHZlcnRleF9lbWl0XzJzKHN0cnVjdCBzbmEgKnNuYSwgaW50MTZfdCB4LCBpbnQxNl90IHkpCitCVUlMRFNUREVSUjogICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgorQlVJTERTVERFUlI6IGdlbjRfdmVydGV4LmM6MzA4OjI1OiBub3RlOiBjYWxsZWQgZnJvbSBoZXJlCitCVUlMRFNUREVSUjogICNkZWZpbmUgT1VUX1ZFUlRFWCh4LHkpIHZlcnRleF9lbWl0XzJzKHNuYSwgeCx5KSAvKiBYWFggYXNzZXJ0KCF0b29fbGFyZ2UoeCwgeSkpOyAqLworQlVJTERTVERFUlI6ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK0JVSUxEU1RERVJSOiBnZW40X3ZlcnRleC5jOjM2MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ09VVF9WRVJURVgnCitCVUlMRFNUREVSUjogICBPVVRfVkVSVEVYKGRzdFgsIGRzdFkpOworQlVJTERTVERFUlI6ICAgXn5+fn5+fn5+fgorCitUaGUgYnVnIGhlcmUgYXBwZWFycyB0byBiZSB0aGF0IGVtaXRfdmVydGV4KCkgaXMgZGVjbGFyZWQgJ3NzZTInIGJ1dAordmVydGV4X2VtaXRfMnMgaXMgbWVyZWx5IGFsd2F5c19pbmxpbmUuIGdjYzggZGVjaWRlcyB0aGF0IHNpbmNlIHlvdSBzYWlkCithbHdheXNfaW5saW5lIHlvdSBuZWVkIHRvIGhhdmUgZXhwbGljaXRseSBjbG9uZWQgaXQgZm9yIGV2ZXJ5CitwZXJtdXRhdGlvbiBvZiB0YXJnZXRzLiBNZXJlbHkgc2F5aW5nIGlubGluZSBzZWVtcyB0byBkbyB0aGUgam9iIG9mCitjbG9uaW5nIHZlcnRleF9lbWl0XzJzIGFzIG11Y2ggYXMgbmVjZXNzYXJ5LgorCitTbyB0byByZWl0ZXJhdGU6IGlmIHlvdSBzYXkgYWx3YXlzLWlubGluZSwgaXQgd29uJ3QsIGJ1dCBpZiB5b3UganVzdCBzYXkKK21heWJlIGlubGluZSwgaXQgd2lsbC4gVGhhbmtzIGdjYywgdGhhdCdzIGhlbHBmdWwuCisKKy0gYWpheAorCitQYXRjaCB0YWtlbiBmcm9tIEZlZG9yYS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgorCistLS0KKyBzcmMvc25hL2NvbXBpbGVyLmggfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvc25hL2NvbXBpbGVyLmggYi9zcmMvc25hL2NvbXBpbGVyLmgKK2luZGV4IDNjMTc2YTE2Li5iYzQ0N2M3YSAxMDA2NDQKKy0tLSBhL3NyYy9zbmEvY29tcGlsZXIuaAorKysrIGIvc3JjL3NuYS9jb21waWxlci5oCitAQCAtMzIsNyArMzIsNyBAQAorICNkZWZpbmUgbGlrZWx5KGV4cHIpIChfX2J1aWx0aW5fZXhwZWN0ICghIShleHByKSwgMSkpCisgI2RlZmluZSB1bmxpa2VseShleHByKSAoX19idWlsdGluX2V4cGVjdCAoISEoZXhwciksIDApKQorICNkZWZpbmUgbm9pbmxpbmUgX19hdHRyaWJ1dGVfXygobm9pbmxpbmUpKQorLSNkZWZpbmUgZm9yY2VfaW5saW5lIGlubGluZSBfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkKKysjZGVmaW5lIGZvcmNlX2lubGluZSBpbmxpbmUKKyAjZGVmaW5lIGZhc3RjYWxsIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKQorICNkZWZpbmUgbXVzdF9jaGVjayBfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKQorICNkZWZpbmUgY29uc3RhbnQgX19hdHRyaWJ1dGVfXygoY29uc3QpKQorLS0gCisyLjE2LjIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC9nbGliYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWwvZ2xpYmMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkYTllYjUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC9nbGliYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLUFkZCBhIG1pc3NpbmcgaW5jbHVkZSBuZWVkZWQgZm9yIGdsaWJjIDIuMjggdG8gYXZvaWQ6Ci0KLXwgLi4vLi4vZ2l0L3Rvb2xzL2JhY2tsaWdodF9oZWxwZXIuYzogSW4gZnVuY3Rpb24gJ21haW4nOgotfCAuLi8uLi9naXQvdG9vbHMvYmFja2xpZ2h0X2hlbHBlci5jOjU0OjM0OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ21ham9yJyBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KLXwgICBpZiAoZmQgPCAwIHx8IGZzdGF0KGZkLCAmc3QpIHx8IG1ham9yKHN0LnN0X2RldikpCi18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fgotfCAuLi8uLi9naXQvdG9vbHMvYmFja2xpZ2h0X2hlbHBlci5jOjU0OjM0OiB3YXJuaW5nOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mICdtYWpvcicgWy1XbmVzdGVkLWV4dGVybnNdCi18IGNjMTogc29tZSB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwotfCBNYWtlZmlsZTo2NjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdiYWNrbGlnaHRfaGVscGVyLm8nIGZhaWxlZAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLVJQIDIwMTgvOC8xMgotCi1JbmRleDogZ2l0L3Rvb2xzL2JhY2tsaWdodF9oZWxwZXIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL3Rvb2xzL2JhY2tsaWdodF9oZWxwZXIuYwotKysrIGdpdC90b29scy9iYWNrbGlnaHRfaGVscGVyLmMKLUBAIC04LDYgKzgsNyBAQAotIAotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotIAotICNpZiBNQUpPUl9JTl9NS0RFVgotICNpbmNsdWRlIDxzeXMvbWtkZXYuaD4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWxfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbF9naXQuYmIKaW5kZXggNjU1ZmQ0ZC4uYmY5MDA5YiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbF9naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbF9naXQuYmIKQEAgLTksMjAgKzksMjAgQEAKIAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ODczMGFkNThkMTFjN2JiYWQ5YTcwNjZkNjlmNzgwOGUiCiAKLVNSQ1JFViA9ICJlNGZlNzljZjBkOWEwNWVlM2YzYTAyNzE0OGVmMGFlYjJiMWIzNGUxIgorU1JDUkVWID0gIjMzZWUwYzNiMjFlYTI3OWUwOGQwODYzZmNiMmU4NzRmMDk3NGIwMGUiCiBQViA9ICIyLjk5LjkxNytnaXQke1NSQ1BWfSIKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKIFNSQ19VUkkgPSAiZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcveG9yZy9kcml2ZXIveGY4Ni12aWRlby1pbnRlbCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1Db2ZmZWVsYWtlLVBDSS1JRHMtZm9yLVMtU2t1cy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9nbGliYy5wYXRjaCBcCiAgICAgICAgICAgICIKIAorU1JDX1VSSV9hcHBlbmRfcWVtdXg4NiA9ICJmaWxlOi8vMDFfRml4LWJ1aWxkLW9uLWk2ODYucGF0Y2giCisKIFVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIig/UDxwdmVyPlxkKyhcLlxkKykrKSIKIAogREVQRU5EUyArPSAidmlydHVhbC9saWJ4MTEgZHJtIGxpYnBjaWFjY2VzcyBwaXhtYW4iCiAKLVBBQ0tBR0VDT05GSUcgPz89ICJ4dm1jIHV4YSB1ZGV2ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ2RyaSBkcmkyIGRyaTMnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJRyA/Pz0gInNuYSB4dm1jIHV4YSB1ZGV2ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ2RyaSBkcmkyIGRyaTMnLCAnJywgZCl9IgogCiBQQUNLQUdFQ09ORklHW2RyaV0gPSAiLS1lbmFibGUtZHJpLC0tZGlzYWJsZS1kcmkiCiBQQUNLQUdFQ09ORklHW2RyaTFdID0gIi0tZW5hYmxlLWRyaTEsLS1kaXNhYmxlLWRyaTEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC11dGlsXzEuMy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtdXRpbF8xLjMuMS5iYgppbmRleCAzNDY0NmZmLi4xMjg5YzE2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC11dGlsXzEuMy4xLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LXV0aWxfMS4zLjEuYmIKQEAgLTEyLDcgKzEyLDcgQEAKIERFUEVORFMgPSAiZW5jb2RpbmdzIHV0aWwtbWFjcm9zIgogREVQRU5EU19jbGFzcy1uYXRpdmUgPSAidXRpbC1tYWNyb3MtbmF0aXZlIgogUkRFUEVORFNfJHtQTn0gPSAibWtmb250ZGlyIG1rZm9udHNjYWxlIGVuY29kaW5ncyIKLVJERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICJta2ZvbnRkaXItbmF0aXZlIG1rZm9udHNjYWxlLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCiAKIEJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJmb250ZW5jXzEuMS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGliZm9udGVuY18xLjEuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzRkNWZjNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJmb250ZW5jXzEuMS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotU1VNTUFSWSA9ICJYIGZvbnQgZW5jb2RpbmcgbGlicmFyeSIKLQotREVTQ1JJUFRJT04gPSAibGliZm9udGVuYyBpcyBhIGxpYnJhcnkgd2hpY2ggaGVscHMgZm9udCBsaWJyYXJpZXMgXAotcG9ydGFibHkgZGV0ZXJtaW5lIGFuZCBkZWFsIHdpdGggZGlmZmVyZW50IGVuY29kaW5ncyBvZiBmb250cy4iCi0KLXJlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYwotCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk2MjU0YzIwYWI4MWM2M2U2NWIyNmYwZGJjZDRhMWMxIgotCi1ERVBFTkRTICs9ICJ6bGliIHhvcmdwcm90byBmb250LXV0aWwiCi1QRSA9ICIxIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjA5MjA5MjRjM2E5ZWJjMTI2NTUxN2JkZDJmOWZkZTUwIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjcwNTg4OTMwZTZmYzk1NDJmZjM4ZTA4ODQ3NzhmYmM2ZTZmZWJmMjFhZGJhYjkyZmQ4ZjUyNGZlNjBhZWZkMjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJmb250ZW5jXzEuMS40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGliZm9udGVuY18xLjEuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZmM3NGIxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGliZm9udGVuY18xLjEuNC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIlggZm9udCBlbmNvZGluZyBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJsaWJmb250ZW5jIGlzIGEgbGlicmFyeSB3aGljaCBoZWxwcyBmb250IGxpYnJhcmllcyBcCitwb3J0YWJseSBkZXRlcm1pbmUgYW5kIGRlYWwgd2l0aCBkaWZmZXJlbnQgZW5jb2RpbmdzIG9mIGZvbnRzLiIKKworcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTYyNTRjMjBhYjgxYzYzZTY1YjI2ZjBkYmNkNGExYzEiCisKK0RFUEVORFMgKz0gInpsaWIgeG9yZ3Byb3RvIGZvbnQtdXRpbCIKK1BFID0gIjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NDQ3ZGI2YTY4OWZiNTMwYzIxOGYwZjgzMjhjM2FiYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyY2ZjY2U4MTBkZGQ0OGYyZTVkYzY1OGQyOGMxODA4ZTg2ZGNmMzAzZWFmZjE2NzI4YjlhYTNkYmMwMDkyMDc5IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmljZV8xLjAuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmljZV8xLjAuOS5iYgppbmRleCA5OTk0MzRlLi5jMWIxOTEzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJpY2VfMS4wLjkuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGliaWNlXzEuMC45LmJiCkBAIC0xOCw3ICsxOCw3IEBACiAKIFhPUkdfUE4gPSAibGliSUNFIgogCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKIAogU1JDX1VSSVttZDVzdW1dID0gImFkZGZiMWU4OTdjYTgwNzk1MzE2NjljN2M3NzExNzI2IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhmNzAzMmYyYzFjNjQzNTJiNTQyM2Y2YjQ4YThlYmRjMzM5Y2M2MzA2NGFmMzRkNjZhNmM5YWE3OTc1OWUyMDIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJzbV8xLjIuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnNtXzEuMi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZGM2OTNiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnNtXzEuMi4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotU1VNTUFSWSA9ICJTTTogU2Vzc2lvbiBNYW5hZ2VtZW50IGxpYnJhcnkiCi0KLURFU0NSSVBUSU9OID0gIlRoZSBTZXNzaW9uIE1hbmFnZW1lbnQgTGlicmFyeSAoU01saWIpIGlzIGEgbG93LWxldmVsIFwiQ1wiIFwKLWxhbmd1YWdlIGludGVyZmFjZSB0byBYU01QLiAgVGhlIHB1cnBvc2Ugb2YgdGhlIFggU2Vzc2lvbiBNYW5hZ2VtZW50IFwKLVByb3RvY29sIChYU01QKSBpcyB0byBwcm92aWRlIGEgdW5pZm9ybSBtZWNoYW5pc20gZm9yIHVzZXJzIHRvIHNhdmUgYW5kIFwKLXJlc3RvcmUgdGhlaXIgc2Vzc2lvbnMuICBBIHNlc3Npb24gaXMgYSBncm91cCBvZiBjbGllbnRzLCBlYWNoIG9mIHdoaWNoIFwKLWhhcyBhIHBhcnRpY3VsYXIgc3RhdGUuIgotCi1yZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKLQotTElDRU5TRSA9ICJNSVQtc3R5bGUiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMGZiMzdmNDRlMDJiZGJkZTgwNTQ2MDI0NDAwNzI4ZCIKLQotREVQRU5EUyArPSAibGliaWNlIHhvcmdwcm90byB4dHJhbnMiCi0KLSMgbGliU00gY2FuIHdvcmsgd2l0aG91dCBsaWJ1dWlkLCB3ZSBleHBsaWNpdGx5IGRpc2FibGUgaXQgdG8gYnJlYWsgdGhlIGZvbGxvd2luZyBjaXJjdWxhciBkZXBlbmRlbmN5Ci0jIHdoZW4gRElTVFJPX0ZFQVRVUkVTIGNvbnRhaW5zICdzeXN0ZW1kJyBhbmQgJ3gxMScuCi0jIHN5c3RlbWQgLT4gZGJ1cyAtPiBsaWJzbSAtPiB1dGlsLWxpbnV4IC0+IHN5c3RlbWQKLUVYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LWxpYnV1aWQiCi0KLVBFID0gIjEiCi0KLVhPUkdfUE4gPSAibGliU00iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNDk5YTc3NzNjNjVhYmE1MTM2MDlmZTY1MTg1M2M1ZjMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGJhY2E4YzlmNWQ5MzQ0NTBhNzA4OTZjNGFkMzhkMDY0NzU1MjEyNTVjYTYzYjcxN2E2NTEwZmRiNmUyODdiZCIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlic21fMS4yLjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJzbV8xLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWRmNjkwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlic21fMS4yLjMuYmIKQEAgLTAsMCArMSwzMSBAQAorU1VNTUFSWSA9ICJTTTogU2Vzc2lvbiBNYW5hZ2VtZW50IGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gIlRoZSBTZXNzaW9uIE1hbmFnZW1lbnQgTGlicmFyeSAoU01saWIpIGlzIGEgbG93LWxldmVsIFwiQ1wiIFwKK2xhbmd1YWdlIGludGVyZmFjZSB0byBYU01QLiAgVGhlIHB1cnBvc2Ugb2YgdGhlIFggU2Vzc2lvbiBNYW5hZ2VtZW50IFwKK1Byb3RvY29sIChYU01QKSBpcyB0byBwcm92aWRlIGEgdW5pZm9ybSBtZWNoYW5pc20gZm9yIHVzZXJzIHRvIHNhdmUgYW5kIFwKK3Jlc3RvcmUgdGhlaXIgc2Vzc2lvbnMuICBBIHNlc3Npb24gaXMgYSBncm91cCBvZiBjbGllbnRzLCBlYWNoIG9mIHdoaWNoIFwKK2hhcyBhIHBhcnRpY3VsYXIgc3RhdGUuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworTElDRU5TRSA9ICJNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMGZiMzdmNDRlMDJiZGJkZTgwNTQ2MDI0NDAwNzI4ZCIKKworREVQRU5EUyArPSAibGliaWNlIHhvcmdwcm90byB4dHJhbnMiCisKKyMgbGliU00gY2FuIHdvcmsgd2l0aG91dCBsaWJ1dWlkLCB3ZSBleHBsaWNpdGx5IGRpc2FibGUgaXQgdG8gYnJlYWsgdGhlIGZvbGxvd2luZyBjaXJjdWxhciBkZXBlbmRlbmN5CisjIHdoZW4gRElTVFJPX0ZFQVRVUkVTIGNvbnRhaW5zICdzeXN0ZW1kJyBhbmQgJ3gxMScuCisjIHN5c3RlbWQgLT4gZGJ1cyAtPiBsaWJzbSAtPiB1dGlsLWxpbnV4IC0+IHN5c3RlbWQKK0VYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LWxpYnV1aWQiCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliU00iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4N2M3ZmFkMWMxODEzNTE3OTc5MTg0YzhjY2Q3NjYyOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZDI2NDQ5OWRjYjA1ZjU2NDM4ZGVlMTJhMWI0YjcxZDc2NzM2Y2U3YmE3YWE2ZWZiZjE1ZWJiMTEzNzY5Y2JiIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS1kaWV0XzEuNi42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExLWRpZXRfMS42LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0YmE0ZTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExLWRpZXRfMS42LjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1yZXF1aXJlIGxpYngxMS5pbmMKLQotREVTQ1JJUFRJT04gKz0gIiBTdXBwb3J0IGZvciBYQ01TIGFuZCBYTE9DQUxFIGlzIGRpc2FibGVkIGluIFwKLXRoaXMgdmVyc2lvbi4iCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9YMThOQ01Tc3R1YnMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2ZpeC1kaXNhYmxlLXhsb2NhbGUucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2ZpeC11dGY4LXdyb25nLWRlZmluZS5wYXRjaCBcCi0gICAgICAgICAgICIKLQotUlBST1ZJREVTXyR7UE59LWRldiA9ICJsaWJ4MTEtZGV2IgotUlBST1ZJREVTXyR7UE59LWxvY2FsZSA9ICJsaWJ4MTEtbG9jYWxlIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNmIwZjgzZTg1MWIzYjQ2OWRkNjYwZjNhOTVhYzNlNDIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjVmZTE4MWQ0MGVjNzdmNDU0MTc3MTBjNmE2NzQzMTgxNGFiMjUyZDIxYzJlODVjNzVkZDFlZDU2OGFmNDE0ZiIKLQotRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUteGxvY2FsZSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS1kaWV0XzEuNi43LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExLWRpZXRfMS42LjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM3NzNhMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS1kaWV0XzEuNi43LmJiCkBAIC0wLDAgKzEsMTYgQEAKK3JlcXVpcmUgbGlieDExLmluYworCitERVNDUklQVElPTiArPSAiIFN1cHBvcnQgZm9yIFhDTVMgYW5kIFhMT0NBTEUgaXMgZGlzYWJsZWQgaW4gXAordGhpcyB2ZXJzaW9uLiIKKworU1JDX1VSSSArPSAiZmlsZTovL1gxOE5DTVNzdHVicy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vZml4LWRpc2FibGUteGxvY2FsZS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vZml4LXV0Zjgtd3JvbmctZGVmaW5lLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitSUFJPVklERVNfJHtQTn0tZGV2ID0gImxpYngxMS1kZXYiCitSUFJPVklERVNfJHtQTn0tbG9jYWxlID0gImxpYngxMS1sb2NhbGUiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXhsb2NhbGUiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExLmluYwppbmRleCAzNmM5NTBhLi5lYTJlYmZiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS5pbmMKQEAgLTEwLDYgKzEwLDkgQEAKIAogUEUgPSAiMSIKIAorU1JDX1VSSVttZDVzdW1dID0gIjAzNGZkZDZjYzUzOTM5NzRkODhhZWM2ZjViYzk2MTYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkxMGU5ZTMwZWZiYTRhZDM2NzJjYTI3Nzc0MWMyNzI4YWViZmZhN2JjNTI2ZjA0ZGNmYTc0ZGYyZTUyYTEzNDgiCisKIFBST1ZJREVTID0gInZpcnR1YWwvbGlieDExIgogCiBYT1JHX1BOID0gImxpYlgxMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS9GaXgtaGFuZ2luZy1pc3N1ZS1pbi1fWFJlcGx5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExL0ZpeC1oYW5naW5nLWlzc3VlLWluLV9YUmVwbHkucGF0Y2gKaW5kZXggODk3ODgyYi4uMmE3MjNiNyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExL0ZpeC1oYW5naW5nLWlzc3VlLWluLV9YUmVwbHkucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExL0ZpeC1oYW5naW5nLWlzc3VlLWluLV9YUmVwbHkucGF0Y2gKQEAgLTE3LDE5ICsxNywxOSBAQAogCiBTaWduZWQtb2ZmLWJ5OiBUYXR1IEZyaXNrIDx0YXR1LmZyaXNrQGdlLmNvbT4KIFNpZ25lZC1vZmYtYnk6IEpvc2UgQWxhcmNvbiA8am9zZS5hbGFyY29uQGdlLmNvbT4KKworW1JlZnJlc2hlZCBmb3IgMS42LjcgdXBkYXRlXQorU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKwogLS0tCiAgc3JjL3hjYl9pby5jIHwgMTkgKysrKysrKy0tLS0tLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQogCi1kaWZmIC0tZ2l0IGEvc3JjL3hjYl9pby5jIGIvc3JjL3hjYl9pby5jCi1pbmRleCA1OTg3MzI5Li5jNjRlYjA0IDEwMDY0NAotLS0tIGEvc3JjL3hjYl9pby5jCi0rKysgYi9zcmMveGNiX2lvLmMKLUBAIC02MDksMjIgKzYwOSwxNyBAQCBTdGF0dXMgX1hSZXBseShEaXNwbGF5ICpkcHksIHhSZXBseSAqcmVwLCBpbnQgZXh0cmEsIEJvb2wgZGlzY2FyZCkKLSAJCSAqIGxldHRpbmcgYW55b25lIGVsc2UgcHJvY2VzcyB0aGlzIHNlcXVlbmNlIG51bWJlciwgd2UKLSAJCSAqIG5lZWQgdG8gcHJvY2VzcyBhbnkgZXZlbnRzIHRoYXQgc2hvdWxkIGhhdmUgY29tZQotIAkJICogZWFybGllci4gKi8KLS0KK0luZGV4OiBsaWJYMTEtMS42Ljcvc3JjL3hjYl9pby5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGliWDExLTEuNi43Lm9yaWcvc3JjL3hjYl9pby5jCisrKysgbGliWDExLTEuNi43L3NyYy94Y2JfaW8uYworQEAgLTYyMCwxOCArNjIwLDE0IEBAIFN0YXR1cyBfWFJlcGx5KERpc3BsYXkgKmRweSwgeFJlcGx5ICpyZXAKICAJCWlmKGRweS0+eGNiLT5ldmVudF9vd25lciA9PSBYbGliT3duc0V2ZW50UXVldWUpCiAgCQl7CiAgCQkJeGNiX2dlbmVyaWNfcmVwbHlfdCAqZXZlbnQ7CkBAIC00Miw2ICs0Miw5IEBACiAtCQkJd2hpbGUoZHB5LT54Y2ItPmV2ZW50X3dhaXRlcikKIC0JCQl7IC8qIG5lZWQgYnJhY2VzIGFyb3VuZCBDb25kaXRpb25XYWl0ICovCiAtCQkJCUNvbmRpdGlvbldhaXQoZHB5LCBkcHktPnhjYi0+ZXZlbnRfbm90aWZ5KTsKKy0JCQl9CistCQkJd2hpbGUoKGV2ZW50ID0gcG9sbF9mb3JfZXZlbnQoZHB5LCBUcnVlKSkpCistCQkJCWhhbmRsZV9yZXNwb25zZShkcHksIGV2ZW50LCBUcnVlKTsKICsKICsJCQkvKiBBc3N1bWUgZXZlbnQgcXVldWUgaXMgZW1wdHkgaWYgYW5vdGhlciB0aHJlYWQgaXMgYmxvY2tpbmcKICsJCQkgKiB3YWl0aW5nIGZvciBldmVudC4gKi8KQEAgLTQ5LDEyICs1Miw3IEBACiArCQkJewogKwkJCQl3aGlsZSgoZXZlbnQgPSBwb2xsX2Zvcl9yZXNwb25zZShkcHkpKSkKICsJCQkJCWhhbmRsZV9yZXNwb25zZShkcHksIGV2ZW50LCBUcnVlKTsKLSAJCQl9Ci0tCQkJd2hpbGUoKGV2ZW50ID0gcG9sbF9mb3JfZXZlbnQoZHB5KSkpCi0tCQkJCWhhbmRsZV9yZXNwb25zZShkcHksIGV2ZW50LCBUcnVlKTsKKysgICAgICAgICAgICAgICAgICAgICAgICB9CiAgCQl9CiAgCiAgCQlyZXEtPnJlcGx5X3dhaXRlciA9IDA7Ci0tLSAKLTIuMTAuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTFfMS42LjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTFfMS42LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBmZWUxYTkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExXzEuNi42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotcmVxdWlyZSBsaWJ4MTEuaW5jCi1pbmhlcml0IGdldHRleHQKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1TUkNfVVJJICs9ICJmaWxlOi8vZGlzYWJsZV90ZXN0cy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vRml4LWhhbmdpbmctaXNzdWUtaW4tX1hSZXBseS5wYXRjaCBcCi0gICAgICAgICAgICIKLWRvX2NvbmZpZ3VyZV9hcHBlbmQgKCkgewotICAgIHNlZCAtaSAtZSAiL1gxMV9DRkxBR1MvZCIgJHtCfS9zcmMvdXRpbC9NYWtlZmlsZQotfQotCi1TUkNfVVJJW21kNXN1bV0gPSAiNmIwZjgzZTg1MWIzYjQ2OWRkNjYwZjNhOTVhYzNlNDIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjVmZTE4MWQ0MGVjNzdmNDU0MTc3MTBjNmE2NzQzMTgxNGFiMjUyZDIxYzJlODVjNzVkZDFlZDU2OGFmNDE0ZiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMV8xLjYuNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMV8xLjYuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTQxZjU3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExXzEuNi43LmJiCkBAIC0wLDAgKzEsMTMgQEAKK3JlcXVpcmUgbGlieDExLmluYworCitTUkNfVVJJICs9ICJmaWxlOi8vZGlzYWJsZV90ZXN0cy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vRml4LWhhbmdpbmctaXNzdWUtaW4tX1hSZXBseS5wYXRjaCBcCisgICAgICAgICAgICIKKworaW5oZXJpdCBnZXR0ZXh0CisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQgKCkgeworICAgIHNlZCAtaSAtZSAiL1gxMV9DRkxBR1MvZCIgJHtCfS9zcmMvdXRpbC9NYWtlZmlsZQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4YXVfMS4wLjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4YXVfMS4wLjguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjNTI0NzUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGF1XzEuMC44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotU1VNTUFSWSA9ICJYYXU6IFggQXV0aG9yaXR5IERhdGFiYXNlIGxpYnJhcnkiCi0KLURFU0NSSVBUSU9OID0gImxpYnhhdSBwcm92aWRlcyB0aGUgbWFpbiBpbnRlcmZhY2VzIHRvIHRoZSBYMTEgXAotYXV0aG9yaXNhdGlvbiBoYW5kbGluZywgd2hpY2ggY29udHJvbHMgYXV0aG9yaXNhdGlvbiBmb3IgWCBjb25uZWN0aW9ucywgXAotYm90aCBjbGllbnQtc2lkZSBhbmQgc2VydmVyLXNpZGUuIgotCi1yZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKLQotaW5oZXJpdCBnZXR0ZXh0Ci0KLUxJQ0VOU0UgPSAiTUlULXN0eWxlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzkwOGUzNDI0OTExOTg0MDEzMjFjZWMxOTU2ODA3ZWMiCi0KLURFUEVORFMgKz0gIiB4b3JncHJvdG8iCi1QUk9WSURFUyA9ICJ4YXUiCi0KLVBFID0gIjEiCi0KLVhPUkdfUE4gPSAibGliWGF1IgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2ODVmOGFiYmZmYTZkMTQ1YzBmOTMwZjAwNzAzYjIxYiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmZGQ0NzczMjBhZWI1Y2RkNjcyNzI4Mzg3MjJkNmI3ZDU0NDg4N2RmZTdkZTQ2ZTFlN2NjMGMyN2MyYmVhNGYyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGF1XzEuMC45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGF1XzEuMC45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjZmM2NjYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4YXVfMS4wLjkuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJYYXU6IFggQXV0aG9yaXR5IERhdGFiYXNlIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gImxpYnhhdSBwcm92aWRlcyB0aGUgbWFpbiBpbnRlcmZhY2VzIHRvIHRoZSBYMTEgXAorYXV0aG9yaXNhdGlvbiBoYW5kbGluZywgd2hpY2ggY29udHJvbHMgYXV0aG9yaXNhdGlvbiBmb3IgWCBjb25uZWN0aW9ucywgXAorYm90aCBjbGllbnQtc2lkZSBhbmQgc2VydmVyLXNpZGUuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworaW5oZXJpdCBnZXR0ZXh0CisKK0xJQ0VOU0UgPSAiTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzkwOGUzNDI0OTExOTg0MDEzMjFjZWMxOTU2ODA3ZWMiCisKK0RFUEVORFMgKz0gIiB4b3JncHJvdG8iCitQUk9WSURFUyA9ICJ4YXUiCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliWGF1IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjNWYxNjI4OGYyZGE5ZjA3MWIyOTExMWQ2ODc5NzQ4MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjY2Y4Y2JmMGRiZjY3NmZhYTJlYTBhNmQ2NGJjYzNiNjc0NjA2NDcyMmI2MDZjOGM1MjkxN2VkMDBkY2I3M2VjIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNiXzEuMTMuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjYl8xLjEzLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQzMDNlNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjYl8xLjEzLjEuYmIKQEAgLTAsMCArMSwzOSBAQAorU1VNTUFSWSA9ICJYQ0I6IFRoZSBYIHByb3RvY29sIEMgYmluZGluZyBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiVGhlIFggcHJvdG9jb2wgQy1sYW5ndWFnZSBCaW5kaW5nIChYQ0IpIGlzIGEgcmVwbGFjZW1lbnQgXAorZm9yIFhsaWIgZmVhdHVyaW5nIGEgc21hbGwgZm9vdHByaW50LCBsYXRlbmN5IGhpZGluZywgZGlyZWN0IGFjY2VzcyB0byBcCit0aGUgcHJvdG9jb2wsIGltcHJvdmVkIHRocmVhZGluZyBzdXBwb3J0LCBhbmQgZXh0ZW5zaWJpbGl0eS4iCitIT01FUEFHRSA9ICJodHRwOi8veGNiLmZyZWVkZXNrdG9wLm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9WENCIgorU0VDVElPTiA9ICJ4MTEvbGlicyIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kNzYzYjA4MWNiMTBjMjIzNDM1YjAxZTAwZGMwYWJhNyIKKworU1JDX1VSSSA9ICJodHRwOi8veGNiLmZyZWVkZXNrdG9wLm9yZy9kaXN0L2xpYnhjYi0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3hjYmluY2x1ZGVkaXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1jaGVjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nY2MtbWlwcy1wcjY4MzAyLW1pcHMtd29ya2Fyb3VuZC5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjMzY2RmYzY3MzQ2ZjcyMTdhOTMyNmMwZDg2Nzk5NzUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTg5ZmI3YWY3YTExZjQzZDJjZTg0YTg0NGE0YjM4ZGY2ODhjMDkyYmY0YjY3NjgzYWVmMTc5Y2RmMmE2NDdjNCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitERVBFTkRTID0gInhjYi1wcm90byB4b3JncHJvdG8gbGlieGF1IGxpYnB0aHJlYWQtc3R1YnMgbGlieGRtY3AiCisKK1BBQ0tBR0VTX0RZTkFNSUMgPSAiXmxpYnhjYi0uKiIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYnhjYi5zby4qIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKKyMgVGhlIGxpYnhhdSBhbmQgb3RoZXJzIHJlcXVpcmVzIHgxMSBpbiBESVNUUk9fRkVBVFVSRVMKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVNfY2xhc3MtbmF0aXZlID0gIiIKKworZXhwb3J0IFBZVEhPTiA9ICJweXRob24zIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgJyR7bGliZGlyfScsIHInXmxpYnhjYi0oLiopXC5zb1wuLiokJywgJ2xpYnhjYi0lcycsICdYQ0IgbGlicmFyeSBtb2R1bGUgZm9yICVzJywgYWxsb3dfbGlua3M9VHJ1ZSkKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjYl8xLjEzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNiXzEuMTMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4ZTAzMDcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNiXzEuMTMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1TVU1NQVJZID0gIlhDQjogVGhlIFggcHJvdG9jb2wgQyBiaW5kaW5nIGxpYnJhcnkiCi1ERVNDUklQVElPTiA9ICJUaGUgWCBwcm90b2NvbCBDLWxhbmd1YWdlIEJpbmRpbmcgKFhDQikgaXMgYSByZXBsYWNlbWVudCBcCi1mb3IgWGxpYiBmZWF0dXJpbmcgYSBzbWFsbCBmb290cHJpbnQsIGxhdGVuY3kgaGlkaW5nLCBkaXJlY3QgYWNjZXNzIHRvIFwKLXRoZSBwcm90b2NvbCwgaW1wcm92ZWQgdGhyZWFkaW5nIHN1cHBvcnQsIGFuZCBleHRlbnNpYmlsaXR5LiIKLUhPTUVQQUdFID0gImh0dHA6Ly94Y2IuZnJlZWRlc2t0b3Aub3JnIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1YQ0IiCi1TRUNUSU9OID0gIngxMS9saWJzIgotCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ3NjNiMDgxY2IxMGMyMjM0MzViMDFlMDBkYzBhYmE3IgotCi1TUkNfVVJJID0gImh0dHA6Ly94Y2IuZnJlZWRlc2t0b3Aub3JnL2Rpc3QvbGlieGNiLSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8veGNiaW5jbHVkZWRpci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLWNoZWNrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2djYy1taXBzLXByNjgzMDItbWlwcy13b3JrYXJvdW5kLnBhdGNoIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJjMmI2Y2Y5MjhhZmExNmIwMDQ3Yzk3NGU3YWFhNzgzZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxODhjODc1MjE5M2M1MGZmMmRiZTg5ZGI0NTU0YzYzZGYyZTI2YTJlNDdiMGZhNDE1YTcwOTE4YjViODUxZGFhIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLURFUEVORFMgPSAieGNiLXByb3RvIHhvcmdwcm90byBsaWJ4YXUgbGlicHRocmVhZC1zdHVicyBsaWJ4ZG1jcCIKLQotUEFDS0FHRVNfRFlOQU1JQyA9ICJebGlieGNiLS4qIgotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGlieGNiLnNvLioiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotIyBUaGUgbGlieGF1IGFuZCBvdGhlcnMgcmVxdWlyZXMgeDExIGluIERJU1RST19GRUFUVVJFUwotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFU19jbGFzcy1uYXRpdmUgPSAiIgotCi1leHBvcnQgUFlUSE9OID0gInB5dGhvbjMiCi0KLXB5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCAnJHtsaWJkaXJ9JywgJ15saWJ4Y2ItKC4qKVwuc29cLi4qJCcsICdsaWJ4Y2ItJXMnLCAnWENCIGxpYnJhcnkgbW9kdWxlIGZvciAlcycsIGFsbG93X2xpbmtzPVRydWUpCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y29tcG9zaXRlXzAuNC40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNvbXBvc2l0ZV8wLjQuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzNlMjk0OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y29tcG9zaXRlXzAuNC40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotU1VNTUFSWSA9ICJYY29tcG9zaXRlOiBYIENvbXBvc2l0ZSBleHRlbnNpb24gbGlicmFyeSIKLQotREVTQ1JJUFRJT04gPSAiVGhlIGNvbXBvc2l0ZSBleHRlbnNpb24gcHJvdmlkZXMgdGhyZWUgcmVsYXRlZCBcCi1tZWNoYW5pc21zOiBwZXItaGllcmFyY2h5IHN0b3JhZ2UsIGF1dG9tYXRpYyBzaGFkb3cgdXBkYXRlLCBhbmQgZXh0ZXJuYWwgXAotcGFyZW50LiAgSW4gcGVyLWhpZXJhcmNoeSBzdG9yYWdlLCB0aGUgcmVuZGVyaW5nIG9mIGFuIGVudGlyZSBoaWVyYXJjaHkgXAotb2Ygd2luZG93cyBpcyByZWRpcmVjdGVkIHRvIG9mZi1zY3JlZW4gc3RvcmFnZS4gIEluIGF1dG9tYXRpYyBzaGFkb3cgXAotdXBkYXRlLCB3aGVuIGEgaGllcmFyY2h5IGlzIHJlbmRlcmVkIG9mZi1zY3JlZW4sIHRoZSBYIHNlcnZlciBwcm92aWRlcyBcCi1hbiBhdXRvbWF0aWMgbWVjaGFuaXNtIGZvciBwcmVzZW50aW5nIHRob3NlIGNvbnRlbnRzIHdpdGhpbiB0aGUgcGFyZW50IFwKLXdpbmRvdy4gIEluIGV4dGVybmFsIHBhcmVudCwgYSBtZWNoYW5pc20gZm9yIHByb3ZpZGluZyByZWRpcmVjdGlvbiBvZiBcCi1jb21wb3NpdGluZyB0cmFuc2Zvcm1hdGlvbnMgdGhyb3VnaCBhIGNsaWVudC4iCi0KLXJlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYwotCi1MSUNFTlNFID0gIk1JVC1zdHlsZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNmMjkwN2FhZDU0MWY2ZjIyNmZiYzU4Y2MxYjNjZGYxIgotCi1ERVBFTkRTICs9ICIgeG9yZ3Byb3RvIHZpcnR1YWwvbGlieDExIGxpYnhmaXhlcyBsaWJ4ZXh0IgotUFJPVklERVMgPSAieGNvbXBvc2l0ZSIKLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotCi1QRSA9ICIxIgotCi1YT1JHX1BOID0gImxpYlhjb21wb3NpdGUiCi0KLVNSQ19VUkkgKz0gIiBmaWxlOi8vY2hhbmdlLWluY2x1ZGUtb3JkZXIucGF0Y2giCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJmN2EyMThkY2JmNmYwODQ4NTk5YzZjMzZmYzY1YzUxYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlZGUyNTBjZDIwN2Q4YmVlNGEzMzgyNjVjMzAwN2Q3YTY4ZDVhY2E3OTFiNmFjNDFhZjE4ZTlhMmFlYjM0MTc4IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNvbXBvc2l0ZV8wLjQuNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjb21wb3NpdGVfMC40LjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2VmM2RkYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjb21wb3NpdGVfMC40LjUuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJYY29tcG9zaXRlOiBYIENvbXBvc2l0ZSBleHRlbnNpb24gbGlicmFyeSIKKworREVTQ1JJUFRJT04gPSAiVGhlIGNvbXBvc2l0ZSBleHRlbnNpb24gcHJvdmlkZXMgdGhyZWUgcmVsYXRlZCBcCittZWNoYW5pc21zOiBwZXItaGllcmFyY2h5IHN0b3JhZ2UsIGF1dG9tYXRpYyBzaGFkb3cgdXBkYXRlLCBhbmQgZXh0ZXJuYWwgXAorcGFyZW50LiAgSW4gcGVyLWhpZXJhcmNoeSBzdG9yYWdlLCB0aGUgcmVuZGVyaW5nIG9mIGFuIGVudGlyZSBoaWVyYXJjaHkgXAorb2Ygd2luZG93cyBpcyByZWRpcmVjdGVkIHRvIG9mZi1zY3JlZW4gc3RvcmFnZS4gIEluIGF1dG9tYXRpYyBzaGFkb3cgXAordXBkYXRlLCB3aGVuIGEgaGllcmFyY2h5IGlzIHJlbmRlcmVkIG9mZi1zY3JlZW4sIHRoZSBYIHNlcnZlciBwcm92aWRlcyBcCithbiBhdXRvbWF0aWMgbWVjaGFuaXNtIGZvciBwcmVzZW50aW5nIHRob3NlIGNvbnRlbnRzIHdpdGhpbiB0aGUgcGFyZW50IFwKK3dpbmRvdy4gIEluIGV4dGVybmFsIHBhcmVudCwgYSBtZWNoYW5pc20gZm9yIHByb3ZpZGluZyByZWRpcmVjdGlvbiBvZiBcCitjb21wb3NpdGluZyB0cmFuc2Zvcm1hdGlvbnMgdGhyb3VnaCBhIGNsaWVudC4iCisKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitMSUNFTlNFID0gIk1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNmMjkwN2FhZDU0MWY2ZjIyNmZiYzU4Y2MxYjNjZGYxIgorCitERVBFTkRTICs9ICIgeG9yZ3Byb3RvIHZpcnR1YWwvbGlieDExIGxpYnhmaXhlcyBsaWJ4ZXh0IgorUFJPVklERVMgPSAieGNvbXBvc2l0ZSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworUEUgPSAiMSIKKworWE9SR19QTiA9ICJsaWJYY29tcG9zaXRlIgorCitTUkNfVVJJICs9ICIgZmlsZTovL2NoYW5nZS1pbmNsdWRlLW9yZGVyLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2ZhMDg0MWVhODkwMjQ3MTliMjBjZDcwMmE5YjU0ZTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjMyMThhMmMxNWJhYjgwMzVkMTY4MTBkZjViODI1MWZmYzcxMzJmZjNhYTcwNjUxYTFmYmEwYmZlOTYzNGU4ZiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjdXJzb3JfMS4xLjE1LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGN1cnNvcl8xLjEuMTUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjOWFmMjMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGN1cnNvcl8xLjEuMTUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1TVU1NQVJZID0gIlhjdXJzb3I6IFggQ3Vyc29yIG1hbmFnZW1lbnQgbGlicmFyeSIKLQotREVTQ1JJUFRJT04gPSAiWGN1cnNvciBpcyBhIHNpbXBsZSBsaWJyYXJ5IGRlc2lnbmVkIHRvIGhlbHAgbG9jYXRlIGFuZCBcCi1sb2FkIGN1cnNvcnMuIEN1cnNvcnMgY2FuIGJlIGxvYWRlZCBmcm9tIGZpbGVzIG9yIG1lbW9yeS4gQSBsaWJyYXJ5IG9mIFwKLWNvbW1vbiBjdXJzb3JzIGV4aXN0cyB3aGljaCBtYXAgdG8gdGhlIHN0YW5kYXJkIFggY3Vyc29yIG5hbWVzLiBDdXJzb3JzIFwKLWNhbiBleGlzdCBpbiBzZXZlcmFsIHNpemVzIGFuZCB0aGUgbGlicmFyeSBhdXRvbWF0aWNhbGx5IHBpY2tzIHRoZSBiZXN0IFwKLXNpemUuIgotCi1yZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKLQotTElDRU5TRSA9ICJNSVQtc3R5bGUiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04OTAyZTY2NDNmN2JjZDc3OTNiMjNkY2Q1ZDgwMzFhNCIKLQotREVQRU5EUyArPSAibGlieHJlbmRlciBsaWJ4Zml4ZXMiCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLVBFID0gIjEiCi0KLVhPUkdfUE4gPSAibGliWGN1cnNvciIKLQotU1JDX1VSSVttZDVzdW1dID0gIjU4ZmUzNTE0ZTFlNzEzNWNmMzY0MTAxZTcxNGQxYTE0IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI5NGU2NzBkZDM3Y2QyMzk5NWU2OWFhZTYyNjYyOWQ0YTJkZmU1NzA4ODUxYmJjMTNkMDMyNDAxYjdhM2RmNmIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y3Vyc29yXzEuMi4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGN1cnNvcl8xLjIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGY3YTNhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGN1cnNvcl8xLjIuMC5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIlhjdXJzb3I6IFggQ3Vyc29yIG1hbmFnZW1lbnQgbGlicmFyeSIKKworREVTQ1JJUFRJT04gPSAiWGN1cnNvciBpcyBhIHNpbXBsZSBsaWJyYXJ5IGRlc2lnbmVkIHRvIGhlbHAgbG9jYXRlIGFuZCBcCitsb2FkIGN1cnNvcnMuIEN1cnNvcnMgY2FuIGJlIGxvYWRlZCBmcm9tIGZpbGVzIG9yIG1lbW9yeS4gQSBsaWJyYXJ5IG9mIFwKK2NvbW1vbiBjdXJzb3JzIGV4aXN0cyB3aGljaCBtYXAgdG8gdGhlIHN0YW5kYXJkIFggY3Vyc29yIG5hbWVzLiBDdXJzb3JzIFwKK2NhbiBleGlzdCBpbiBzZXZlcmFsIHNpemVzIGFuZCB0aGUgbGlicmFyeSBhdXRvbWF0aWNhbGx5IHBpY2tzIHRoZSBiZXN0IFwKK3NpemUuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworTElDRU5TRSA9ICJNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04OTAyZTY2NDNmN2JjZDc3OTNiMjNkY2Q1ZDgwMzFhNCIKKworREVQRU5EUyArPSAibGlieHJlbmRlciBsaWJ4Zml4ZXMiCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliWGN1cnNvciIKKworU1JDX1VSSVttZDVzdW1dID0gIjliOWJlMGUyODkxMzBmYjgyMGFlZGY2NzcwNWZjNTQ5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNhZDNlOWY4MjUxMDk0YWY2ZmU4Y2I0YWZjZjYzZTI4ZGY1MDRkNDZiZmE1YTU1MjlkYjc0YTUwNWQ2Mjg3ODIiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhkYW1hZ2VfMS4xLjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZGFtYWdlXzEuMS40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDZmZmFkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhkYW1hZ2VfMS4xLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1TVU1NQVJZID0gIlhkYW1hZ2U6IFggRGFtYWdlIGV4dGVuc2lvbiBsaWJyYXJ5IgotCi1ERVNDUklQVElPTiA9ICInRGFtYWdlJyBpcyBhIHRlcm0gdGhhdCBkZXNjcmliZXMgY2hhbmdlcyBtYWtlIHRvIHBpeGVsIFwKLWNvbnRlbnRzIG9mIHdpbmRvd3MgYW5kIHBpeG1hcHMuICBEYW1hZ2UgYWNjdW11bGF0ZXMgYXMgZHJhd2luZyBvY2N1cnMgXAotaW4gdGhlIGRyYXdhYmxlLiAgRWFjaCBkcmF3aW5nIG9wZXJhdGlvbiAnZGFtYWdlcycgb25lIG9yIG1vcmUgXAotcmVjdGFuZ3VsYXIgYXJlYXMgd2l0aGluIHRoZSBkcmF3YWJsZS4gIFRoZSByZWN0YW5nbGVzIGFyZSBndWFyYW50ZWVkIHRvIFwKLWluY2x1ZGUgdGhlIHNldCBvZiBwaXhlbHMgbW9kaWZpZWQgYnkgZWFjaCBvcGVyYXRpb24sIGJ1dCBtYXkgaW5jbHVkZSBcCi1zaWduaWZpY2FudGx5IG1vcmUgdGhhbiBqdXN0IHRob3NlIHBpeGVscy4gIFRoZSBEQU1BR0UgZXh0ZW5zaW9uIGFsbG93cyBcCi1hcHBsaWNhdGlvbnMgdG8gZWl0aGVyIHJlY2VpdmUgdGhlIHJhdyByZWN0YW5nbGVzIGFzIGEgc3RyZWFtIG9mIGV2ZW50cywgXAotb3IgdG8gaGF2ZSB0aGVtIHBhcnRpYWxseSBwcm9jZXNzZWQgd2l0aGluIHRoZSBYIHNlcnZlciB0byByZWR1Y2UgdGhlIFwKLWFtb3VudCBvZiBkYXRhIHRyYW5zbWl0dGVkIGFzIHdlbGwgYXMgcmVkdWNlIHRoZSBwcm9jZXNzaW5nIGxhdGVuY3kgb25jZSBcCi10aGUgcmVwYWludCBvcGVyYXRpb24gaGFzIHN0YXJ0ZWQuIgotCi1yZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKLQotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05ZmUxMDFmMzBkZDI0MTM0Y2Y0MzE0Njg2MzI0MTg2OCIKLQotREVQRU5EUyArPSAidmlydHVhbC9saWJ4MTEgeG9yZ3Byb3RvIGxpYnhmaXhlcyIKLVBST1ZJREVTID0gInhkYW1hZ2UiCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLQotUEUgPSAiMSIKLQotWE9SR19QTiA9ICJsaWJYZGFtYWdlIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMGNmMjkyZGUyYTlmYTJlOWE5MzlhZWZkZTY4ZmQzNGYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2MzZmU3YzY1N2U4MzU0N2Y0ODIyYmZkZTMwYTkwZDg0NTI0ZWZiNTYzNjU0NDg3Njg0MDliNzdmMDUzNTVhZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhkYW1hZ2VfMS4xLjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZGFtYWdlXzEuMS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMDExMjQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZGFtYWdlXzEuMS41LmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiWGRhbWFnZTogWCBEYW1hZ2UgZXh0ZW5zaW9uIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gIidEYW1hZ2UnIGlzIGEgdGVybSB0aGF0IGRlc2NyaWJlcyBjaGFuZ2VzIG1ha2UgdG8gcGl4ZWwgXAorY29udGVudHMgb2Ygd2luZG93cyBhbmQgcGl4bWFwcy4gIERhbWFnZSBhY2N1bXVsYXRlcyBhcyBkcmF3aW5nIG9jY3VycyBcCitpbiB0aGUgZHJhd2FibGUuICBFYWNoIGRyYXdpbmcgb3BlcmF0aW9uICdkYW1hZ2VzJyBvbmUgb3IgbW9yZSBcCityZWN0YW5ndWxhciBhcmVhcyB3aXRoaW4gdGhlIGRyYXdhYmxlLiAgVGhlIHJlY3RhbmdsZXMgYXJlIGd1YXJhbnRlZWQgdG8gXAoraW5jbHVkZSB0aGUgc2V0IG9mIHBpeGVscyBtb2RpZmllZCBieSBlYWNoIG9wZXJhdGlvbiwgYnV0IG1heSBpbmNsdWRlIFwKK3NpZ25pZmljYW50bHkgbW9yZSB0aGFuIGp1c3QgdGhvc2UgcGl4ZWxzLiAgVGhlIERBTUFHRSBleHRlbnNpb24gYWxsb3dzIFwKK2FwcGxpY2F0aW9ucyB0byBlaXRoZXIgcmVjZWl2ZSB0aGUgcmF3IHJlY3RhbmdsZXMgYXMgYSBzdHJlYW0gb2YgZXZlbnRzLCBcCitvciB0byBoYXZlIHRoZW0gcGFydGlhbGx5IHByb2Nlc3NlZCB3aXRoaW4gdGhlIFggc2VydmVyIHRvIHJlZHVjZSB0aGUgXAorYW1vdW50IG9mIGRhdGEgdHJhbnNtaXR0ZWQgYXMgd2VsbCBhcyByZWR1Y2UgdGhlIHByb2Nlc3NpbmcgbGF0ZW5jeSBvbmNlIFwKK3RoZSByZXBhaW50IG9wZXJhdGlvbiBoYXMgc3RhcnRlZC4iCisKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTlmZTEwMWYzMGRkMjQxMzRjZjQzMTQ2ODYzMjQxODY4IgorCitERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYngxMSB4b3JncHJvdG8gbGlieGZpeGVzIgorUFJPVklERVMgPSAieGRhbWFnZSIKKworUEUgPSAiMSIKKworWE9SR19QTiA9ICJsaWJYZGFtYWdlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTNmNTU0MjY3YTdhMDRiMDQyZGMxZjYzNTJiZDZkOTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjczNDA2ODY0M2NhYzNiNWYzZDJjODI3OWRkMzY2YjViZjI4YzcyMTlkOWU5ZDg3MTdlMTM4Mzk5NWUwZWE0NSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGZ0XzIuMy4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGZ0XzIuMy4yLmJiCmluZGV4IGI0NTQ3ODEuLjQ1NjVhZTIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhmdF8yLjMuMi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZnRfMi4zLjIuYmIKQEAgLTI1LDcgKzI1LDcgQEAKIAogWE9SR19QTiA9ICJsaWJYZnQiCiAKLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgogCiBweXRob24gKCkgewogICAgICAgICBpZiBkLmdldFZhcignREVCSUFOX05BTUVTJyk6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4aV8xLjcuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhpXzEuNy45LmJiCmluZGV4IDA4MzgxZDkuLmFiNDljZGIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhpXzEuNy45LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhpXzEuNy45LmJiCkBAIC0yMCwzICsyMCw1IEBACiBTUkNfVVJJW21kNXN1bV0gPSAiMWYwZjI3MTljMDIwNjU1YTYwYWVlMzM0ZGRkMjZkNjciCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzJlNmI4ZmY4NGY5NDQ4Mzg2YzFiNTUxMGE1Y2Y1YTE2ZDc4OGY3NmRiMDE4MTk0ZGFjZGMyMDAxODBmYWY0NSIKIAorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4a2Jjb21tb25fMC44LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4a2Jjb21tb25fMC44LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjZjUwOGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGtiY29tbW9uXzAuOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotU1VNTUFSWSA9ICJHZW5lcmljIFhLQiBrZXltYXAgbGlicmFyeSIKLURFU0NSSVBUSU9OID0gImxpYnhrYmNvbW1vbiBpcyBhIGtleW1hcCBjb21waWxlciBhbmQgc3VwcG9ydCBsaWJyYXJ5IHdoaWNoIFwKLXByb2Nlc3NlcyBhIHJlZHVjZWQgc3Vic2V0IG9mIGtleW1hcHMgYXMgZGVmaW5lZCBieSB0aGUgWEtCIHNwZWNpZmljYXRpb24uIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy54a2Jjb21tb24ub3JnIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZTUyNWVkOTgwOWUxZjhhMDdjZjRiY2U4YjA5ZThiODciCi1MSUNFTlNFID0gIk1JVCAmIE1JVC1zdHlsZSIKLQotREVQRU5EUyA9ICJ1dGlsLW1hY3JvcyBmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3hrYmNvbW1vbi5vcmcvZG93bmxvYWQvJHtCUE59LSR7UFZ9LnRhci54eiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjVmN2Y4NTMzZjkwN2ViY2ZiMWNmOGRjZWI5NTAxMjY0IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdhYjhjNGIzNDAzZDg5ZDAxODk4MDY2YjcyY2I2MDY5YmRkZWI1YWY5NDkwNWE2NTM2OGY2NzFhMDI2ZWQ1OGMiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8veGtiY29tbW9uLm9yZy8iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWRvY3MiCi0KLVBBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14MTEsLS1kaXNhYmxlLXgxMSxsaWJ4Y2IgeGtleWJvYXJkLWNvbmZpZywiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4a2Jjb21tb25fMC44LjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4a2Jjb21tb25fMC44LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZjYWUxMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhrYmNvbW1vbl8wLjguNC5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkdlbmVyaWMgWEtCIGtleW1hcCBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAibGlieGtiY29tbW9uIGlzIGEga2V5bWFwIGNvbXBpbGVyIGFuZCBzdXBwb3J0IGxpYnJhcnkgd2hpY2ggXAorcHJvY2Vzc2VzIGEgcmVkdWNlZCBzdWJzZXQgb2Yga2V5bWFwcyBhcyBkZWZpbmVkIGJ5IHRoZSBYS0Igc3BlY2lmaWNhdGlvbi4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnhrYmNvbW1vbi5vcmciCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1lNTI1ZWQ5ODA5ZTFmOGEwN2NmNGJjZThiMDllOGI4NyIKK0xJQ0VOU0UgPSAiTUlUICYgTUlULXN0eWxlIgorCitERVBFTkRTID0gInV0aWwtbWFjcm9zIGZsZXgtbmF0aXZlIGJpc29uLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8veGtiY29tbW9uLm9yZy9kb3dubG9hZC8ke0JQTn0tJHtQVn0udGFyLnh6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2M0NDA5MDU4ZGZkMjAzZjY0MWE1NjMzNThlMDE4N2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjBkZGNmZjkzMmI3ZmQzNTI3NTJkNTFhNWM0ZjA0ZjNkMDQwMzIzMGE1ODRkZjlhMmUwZDVlZDg3YzQ4NmM4YiIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly94a2Jjb21tb24ub3JnLyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZG9jcyIKKworUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgZCl9IgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0tZW5hYmxlLXgxMSwtLWRpc2FibGUteDExLGxpYnhjYiB4a2V5Ym9hcmQtY29uZmlnLCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhwbV8zLjUuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4cG1fMy41LjEyLmJiCmluZGV4IDEzYTFiOTEuLjU3YjIwMmMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhwbV8zLjUuMTIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHBtXzMuNS4xMi5iYgpAQCAtMTIsNyArMTIsNyBAQAogCiBMSUNFTlNFID0gIkJTRCIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTUxZjQyNzBiMDEyZWNkNGFiMWExNjRmNWY0ZWQ2Y2Y3IgotREVQRU5EUyArPSAibGlieGV4dCBsaWJzbSBsaWJ4dCIKK0RFUEVORFMgKz0gImxpYnhleHQgbGlic20gbGlieHQgZ2V0dGV4dC1uYXRpdmUiCiBQRSA9ICIxIgogCiBYT1JHX1BOID0gImxpYlhwbSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnh0XzEuMS41LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHRfMS4xLjUuYmIKaW5kZXggZjhkOTRhMi4uMjNkOWRiNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHRfMS4xLjUuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHRfMS4xLjUuYmIKQEAgLTI3LDcgKzI3LDcgQEAKICAgICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJYdC11dGlsLWRvbi10LWxpbmstbWFrZXN0cnMtd2l0aC10YXJnZXQtY2ZsYWdzLnBhdGNoIFwKICAgICAgICAgICAgICIKIAotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCiAKIEVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXhrYiIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHRzdF8xLjIuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnh0c3RfMS4yLjMuYmIKaW5kZXggMjY2YmQxYy4uNzgzN2Y2OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHRzdF8xLjIuMy5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4dHN0XzEuMi4zLmJiCkBAIC0xOSwzICsxOSw0IEBACiBTUkNfVVJJW21kNXN1bV0gPSAiZWY4YzJjMWQxNmEwMGJkOTViOWZkY2VmNjNiOGEyY2EiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDY1NTQ5OGExYjhlODQ0ZTNkNmYyMWYzYjJjNGUyYjU3MWVmZmI1ZmQ4MzE5OWQ0MjhhNmJhN2VhNGJmNTIwNCIKIAorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvcGl4bWFuL2FzbV9pbmNsdWRlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvcGl4bWFuL2FzbV9pbmNsdWRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNTJhNTcwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3BpeG1hbi9hc21faW5jbHVkZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUZpeGVzIGVycm9ycyBsaWtlCi0KLUFzc2VtYmxlciBtZXNzYWdlczoKLUZhdGFsIGVycm9yOiBjYW4ndCBjcmVhdGUgLmxpYnMvcGl4bWFuLW1pcHMtZHNwcjItYXNtLm86IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKLQotaXQgd29ya3Mgd2l0aCBnbGliYyBiZWNhdXNlIGl0IHVzZXMgZ2NjIGZpeGVkLWhlYWRlcnMgYnV0IHRoYXRzIG5vdCByaWdodC4KLQotV2UgbW92ZSB0aGUgaW5jbHVkZSB1bmRlciBDIGJsb2NrCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLUluZGV4OiBwaXhtYW4tMC4zMi42L3BpeG1hbi9waXhtYW4tcHJpdmF0ZS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcGl4bWFuLTAuMzIuNi5vcmlnL3BpeG1hbi9waXhtYW4tcHJpdmF0ZS5oCi0rKysgcGl4bWFuLTAuMzIuNi9waXhtYW4vcGl4bWFuLXByaXZhdGUuaAotQEAgLTEsNCArMSwzIEBACi0tI2luY2x1ZGUgPGZsb2F0Lmg+Ci0gCi0gI2lmbmRlZiBQSVhNQU5fUFJJVkFURV9ICi0gI2RlZmluZSBQSVhNQU5fUFJJVkFURV9ICi1AQCAtMTcsNiArMTYsOCBAQAotIAotICNpZm5kZWYgX19BU1NFTUJMRVJfXwotIAotKyNpbmNsdWRlIDxmbG9hdC5oPgotKwotICNpZm5kZWYgUEFDS0FHRQotICMgIGVycm9yIGNvbmZpZy5oIG11c3QgYmUgaW5jbHVkZWQgYmVmb3JlIHBpeG1hbi1wcml2YXRlLmgKLSAjZW5kaWYKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3BpeG1hbl8wLjM0LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9waXhtYW5fMC4zNC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjkwZmE0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3BpeG1hbl8wLjM0LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1TVU1NQVJZID0gIlBpeG1hbjogUGl4ZWwgTWFuaXB1bGF0aW9uIGxpYnJhcnkiCi0KLURFU0NSSVBUSU9OID0gIlBpeG1hbiBwcm92aWRlcyBhIGxpYnJhcnkgZm9yIG1hbmlwdWxhdGluZyBwaXhlbCByZWdpb25zIFwKLS0tIGEgc2V0IG9mIFktWCBiYW5kZWQgcmVjdGFuZ2xlcywgaW1hZ2UgY29tcG9zaXRpbmcgdXNpbmcgdGhlIFwKLVBvcnRlci9EdWZmIG1vZGVsIGFuZCBpbXBsaWNpdCBtYXNrIGdlbmVyYXRpb24gZm9yIGdlb21ldHJpYyBwcmltaXRpdmVzIFwKLWluY2x1ZGluZyB0cmFwZXpvaWRzLCB0cmlhbmdsZXMsIGFuZCByZWN0YW5nbGVzLiIKLQotcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCi0KLSMgc2VlIGh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZy9yZWxlYXNlcy8gLSBvbmx5IGV2ZW4gbWlub3IgdmVyc2lvbnMgYXJlIHN0YWJsZQotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAicGl4bWFuLSg/UDxwdmVyPlxkK1wuKFxkKlswMjQ2OF0pKyhcLlxkKykrKSIKLQotTElDRU5TRSA9ICJNSVQgJiBNSVQtc3R5bGUgJiBQRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTE0MDk2Yzc2OWFlMGNiYjVmY2I5NGVjNDY4YmUxMWIzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BpeG1hbi9waXhtYW4tbWF0cml4LmM7ZW5kbGluZT0yMTttZDU9NGEwMThkZmYzZTRlMjUzMDI3MjRjODhmZjk1YzI0NTYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGl4bWFuL3BpeG1hbi1hcm0tbmVvbi1hc20uaDtlbmRsaW5lPTI0O21kNT05YTljYzFlNTFhYmJmMWRhNThmNGQ5NTI4ZWM5ZDQ5YiBcCi0gICAgICAgICAgICAgICAgICAgIgotREVQRU5EUyArPSAiemxpYiBsaWJwbmciCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLVBFID0gIjEiCi0KLUlXTU1YVCA9ICItLWRpc2FibGUtYXJtLWl3bW14dCIKLUxPT05HU09OX01NSSA9ICItLWRpc2FibGUtbG9vbmdzb24tbW1pIgotIyBJZiB0YXJnZXQgc3VwcG9ydHMgbmVvbiB0aGVuIGRpc2FibGUgdGhlICdzaW1kJyAoaWUgVkZQdjIpIGZhbGxiYWNrLCBvdGhlcndpc2UgZGlzYWJsZSBuZW9uLgotTkVPTiA9ICIke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJuZW9uIiwgIi0tZGlzYWJsZS1hcm0tc2ltZCIsICItLWRpc2FibGUtYXJtLW5lb24iICxkKX0iCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZ3RrICR7SVdNTVhUfSAke0xPT05HU09OX01NSX0gJHtORU9OfSIKLUVYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS1kaXNhYmxlLWd0ayIKLUVYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmVzZGsgPSAiLS1kaXNhYmxlLWd0ayIKLQotU1JDX1VSSSArPSAiXAotICAgICAgICAgICAgZmlsZTovLzAwMDEtQVJNLXFlbXUtcmVsYXRlZC13b3JrYXJvdW5kcy1pbi1jcHUtZmVhdHVyZXMtZGV0ZWN0aS5wYXRjaCBcCi0JICAgIGZpbGU6Ly9hc21faW5jbHVkZS5wYXRjaCBcCi0JICAgIGZpbGU6Ly8wMDAxLXRlc3QtdXRpbHMtQ2hlY2stZm9yLUZFX0lOVkFMSUQtZGVmaW5pdGlvbi1iZWZvcmUtdXMucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMDAyYTRmY2I2NDRkZGZjYjRiMGU0MTkxNTc2YTBkNTkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzliYTM0MzhmM2QxN2M0NjRiMGNiOGJlMDA2ZGFjYmNhMGFiNWFlZTk3ZWJkZTY5ZmVjN2VjZGJmODU3OTRhMCIKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3BpeG1hbl8wLjM4LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9waXhtYW5fMC4zOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5YzNkNjIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9waXhtYW5fMC4zOC4wLmJiCkBAIC0wLDAgKzEsNDAgQEAKK1NVTU1BUlkgPSAiUGl4bWFuOiBQaXhlbCBNYW5pcHVsYXRpb24gbGlicmFyeSIKKworREVTQ1JJUFRJT04gPSAiUGl4bWFuIHByb3ZpZGVzIGEgbGlicmFyeSBmb3IgbWFuaXB1bGF0aW5nIHBpeGVsIHJlZ2lvbnMgXAorLS0gYSBzZXQgb2YgWS1YIGJhbmRlZCByZWN0YW5nbGVzLCBpbWFnZSBjb21wb3NpdGluZyB1c2luZyB0aGUgXAorUG9ydGVyL0R1ZmYgbW9kZWwgYW5kIGltcGxpY2l0IG1hc2sgZ2VuZXJhdGlvbiBmb3IgZ2VvbWV0cmljIHByaW1pdGl2ZXMgXAoraW5jbHVkaW5nIHRyYXBlem9pZHMsIHRyaWFuZ2xlcywgYW5kIHJlY3RhbmdsZXMuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworIyBzZWUgaHR0cDovL2NhaXJvZ3JhcGhpY3Mub3JnL3JlbGVhc2VzLyAtIG9ubHkgZXZlbiBtaW5vciB2ZXJzaW9ucyBhcmUgc3RhYmxlCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJwaXhtYW4tKD9QPHB2ZXI+XGQrXC4oXGQqWzAyNDY4XSkrKFwuXGQrKSspIgorCitMSUNFTlNFID0gIk1JVCAmIE1JVC1zdHlsZSAmIFBEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTQwOTZjNzY5YWUwY2JiNWZjYjk0ZWM0NjhiZTExYjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGl4bWFuL3BpeG1hbi1tYXRyaXguYztlbmRsaW5lPTIxO21kNT00YTAxOGRmZjNlNGUyNTMwMjcyNGM4OGZmOTVjMjQ1NiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9waXhtYW4vcGl4bWFuLWFybS1uZW9uLWFzbS5oO2VuZGxpbmU9MjQ7bWQ1PTlhOWNjMWU1MWFiYmYxZGE1OGY0ZDk1MjhlYzlkNDliIFwKKyAgICAgICAgICAgICAgICAgICAiCitERVBFTkRTICs9ICJ6bGliIGxpYnBuZyIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworUEUgPSAiMSIKKworSVdNTVhUID0gIi0tZGlzYWJsZS1hcm0taXdtbXh0IgorTE9PTkdTT05fTU1JID0gIi0tZGlzYWJsZS1sb29uZ3Nvbi1tbWkiCisjIElmIHRhcmdldCBzdXBwb3J0cyBuZW9uIHRoZW4gZGlzYWJsZSB0aGUgJ3NpbWQnIChpZSBWRlB2MikgZmFsbGJhY2ssIG90aGVyd2lzZSBkaXNhYmxlIG5lb24uCitORU9OID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgIm5lb24iLCAiLS1kaXNhYmxlLWFybS1zaW1kIiwgIi0tZGlzYWJsZS1hcm0tbmVvbiIgLGQpfSIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1ndGsgJHtJV01NWFR9ICR7TE9PTkdTT05fTU1JfSAke05FT059IgorRVhUUkFfT0VDT05GX2NsYXNzLW5hdGl2ZSA9ICItLWRpc2FibGUtZ3RrIgorRVhUUkFfT0VDT05GX2NsYXNzLW5hdGl2ZXNkayA9ICItLWRpc2FibGUtZ3RrIgorCitTUkNfVVJJICs9ICJcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1BUk0tcWVtdS1yZWxhdGVkLXdvcmthcm91bmRzLWluLWNwdS1mZWF0dXJlcy1kZXRlY3RpLnBhdGNoIFwKKwkgICAgZmlsZTovLzAwMDEtdGVzdC11dGlscy1DaGVjay1mb3ItRkVfSU5WQUxJRC1kZWZpbml0aW9uLWJlZm9yZS11cy5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNGVjYWQyOGVkY2MxNGU3ZWI1ZjdlZDZkZjI5YzdhMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiNzY4ZTNmNzg5NWRkZWJkYzBmMDc0Nzg3MjlkOWNlYzRmZTBhOWQyMjAxZjgyOGM5MDBkNjdiMGU1YjQzNmE4IgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveGtleWJvYXJkLWNvbmZpZ18yLjI0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveGtleWJvYXJkLWNvbmZpZ18yLjI0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZDBlNjA4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hrZXlib2FyZC1jb25maWdfMi4yNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLVNVTU1BUlkgPSAiS2V5Ym9hcmQgY29uZmlndXJhdGlvbiBkYXRhYmFzZSBmb3IgWCBXaW5kb3ciCi0KLURFU0NSSVBUSU9OID0gIlRoZSBub24tYXJjaCBrZXlib2FyZCBjb25maWd1cmF0aW9uIGRhdGFiYXNlIGZvciBYIFwKLVdpbmRvdy4gIFRoZSBnb2FsIGlzIHRvIHByb3ZpZGUgdGhlIGNvbnNpc3RlbnQsIHdlbGwtc3RydWN0dXJlZCwgXAotZnJlcXVlbnRseSByZWxlYXNlZCBvcGVuIHNvdXJjZSBvZiBYIGtleWJvYXJkIGNvbmZpZ3VyYXRpb24gZGF0YSBmb3IgWCBcCi1XaW5kb3cgU3lzdGVtIGltcGxlbWVudGF0aW9ucy4gIFRoZSBwcm9qZWN0IGlzIHRhcmdldGVkIHRvIFhLQi1iYXNlZCBcCi1zeXN0ZW1zLiIKLQotSE9NRVBBR0UgPSAiaHR0cDovL2ZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL1hLZXlib2FyZENvbmZpZyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9eGtleWJvYXJkLWNvbmZpZyIKLQotTElDRU5TRSA9ICJNSVQgJiBNSVQtc3R5bGUiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wZTdmMjFjYTdkYjk3NWM2MzQ2N2QyZTc2MjRhMTJmOSIKLQotU1JDX1VSSSA9ICIke1hPUkdfTUlSUk9SfS9pbmRpdmlkdWFsL2RhdGEveGtleWJvYXJkLWNvbmZpZy8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjc0YzRiZGY1MjM4MjEyN2NiNTgwMmMzZjJhYjQ0MWUwIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkxYjE4NTgwZjQ2YjRlNGVhOTEzNzA3ZjZjOGQ2OGFiNTI4Njg3OWMzYTY1OTE0NjJmM2I5ZTc2MGQzYWM0ZDciCi0KLVNFQ1RJT04gPSAieDExL2xpYnMiCi1ERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSB1dGlsLW1hY3JvcyBsaWJ4c2x0LW5hdGl2ZSIKLQotRVhUUkFfT0VDT05GID0gIi0td2l0aC14a2ItcnVsZXMtc3ltbGluaz14b3JnIC0tZGlzYWJsZS1ydW50aW1lLWRlcHMiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L1gxMS94a2IiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0Ci0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L1gxMS94a2IvY29tcGlsZWQKLSAgICBjZCAke0R9JHtkYXRhZGlyfS9YMTEveGtiL3J1bGVzICYmIGxuIC1zZiBiYXNlIHhvcmcKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hrZXlib2FyZC1jb25maWdfMi4yNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hrZXlib2FyZC1jb25maWdfMi4yNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzIzMjg4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveGtleWJvYXJkLWNvbmZpZ18yLjI2LmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiS2V5Ym9hcmQgY29uZmlndXJhdGlvbiBkYXRhYmFzZSBmb3IgWCBXaW5kb3ciCisKK0RFU0NSSVBUSU9OID0gIlRoZSBub24tYXJjaCBrZXlib2FyZCBjb25maWd1cmF0aW9uIGRhdGFiYXNlIGZvciBYIFwKK1dpbmRvdy4gIFRoZSBnb2FsIGlzIHRvIHByb3ZpZGUgdGhlIGNvbnNpc3RlbnQsIHdlbGwtc3RydWN0dXJlZCwgXAorZnJlcXVlbnRseSByZWxlYXNlZCBvcGVuIHNvdXJjZSBvZiBYIGtleWJvYXJkIGNvbmZpZ3VyYXRpb24gZGF0YSBmb3IgWCBcCitXaW5kb3cgU3lzdGVtIGltcGxlbWVudGF0aW9ucy4gIFRoZSBwcm9qZWN0IGlzIHRhcmdldGVkIHRvIFhLQi1iYXNlZCBcCitzeXN0ZW1zLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL2ZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL1hLZXlib2FyZENvbmZpZyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9eGtleWJvYXJkLWNvbmZpZyIKKworTElDRU5TRSA9ICJNSVQgJiBNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wZTdmMjFjYTdkYjk3NWM2MzQ2N2QyZTc2MjRhMTJmOSIKKworU1JDX1VSSSA9ICIke1hPUkdfTUlSUk9SfS9pbmRpdmlkdWFsL2RhdGEveGtleWJvYXJkLWNvbmZpZy8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gImUyZTk4MDYyOWJmZWI5ZjQwYTdkNDQ0ODhiMThiYTEyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM5MzcxOGM3NDYwY2QwNmM0ZThjYjgxOWQ5NDNjYTU0ODEyZWE0NzZmMzI3MTRjNGQ4OTc1Yzc3MDMxYTAzOGUiCisKK1NFQ1RJT04gPSAieDExL2xpYnMiCitERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSB1dGlsLW1hY3JvcyBsaWJ4c2x0LW5hdGl2ZSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC14a2ItcnVsZXMtc3ltbGluaz14b3JnIC0tZGlzYWJsZS1ydW50aW1lLWRlcHMiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L1gxMS94a2IiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L1gxMS94a2IvY29tcGlsZWQKKyAgICBjZCAke0R9JHtkYXRhZGlyfS9YMTEveGtiL3J1bGVzICYmIGxuIC1zZiBiYXNlIHhvcmcKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8veGNiLXByb3RvXzEuMTMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3hjYi1wcm90b18xLjEzLmJiCmluZGV4IGQ1MDM3ODYuLjc0NjcwOTAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8veGNiLXByb3RvXzEuMTMuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Y2ItcHJvdG9fMS4xMy5iYgpAQCAtMTIsNDAgKzEyLDE4IEBACiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZHJpMi54bWw7YmVnaW5saW5lPTI7ZW5kbGluZT0yODttZDU9Zjg3NjNiMTNmZjQzMmU4NTk3ZTBkNjEwY2Y1OThlNjUiCiAKIFNSQ19VUkkgPSAiaHR0cDovL3hjYi5mcmVlZGVza3RvcC5vcmcvZGlzdC8ke0JQfS50YXIuYnoyIgotCiBTUkNfVVJJW21kNXN1bV0gPSAiYWJlOWFhNDg4NjEzODE1MGJiYzA0YWU0ZjI5YjkwZTMiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2I5ODcyMWU2NjliZTgwMjg0ZTliYmZlYWIwMmQyZDBkNTRjZDExMTcyYjcyMjcxZTQ3YTJmZTg3NWUyYmRlMSIKIAotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLSMgRm9yY2UgdGhlIHVzZSBvZiBQeXRob24gMyBhbmQgYSBzcGVjaWZpYyBsaWJyYXJ5IHBhdGggc28gd2UgZG9uJ3QgbmVlZCB0bwotIyBkZXBlbmQgb24gcHl0aG9uMy1uYXRpdmUKLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJQWVRIT049cHl0aG9uMyBhbV9jdl9weXRob25fcHl0aG9uZGlyPSR7bGliZGlyfS94Y2ItcHJvdG8iCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcHl0aG9uM25hdGl2ZQogCiBQQUNLQUdFUyArPSAicHl0aG9uLXhjYmdlbiIKIAogRklMRVNfJHtQTn0gPSAiIgogRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9L3hjYi8qLnhtbCAke2RhdGFkaXJ9L3hjYi8qLnhzZCIKLUZJTEVTX3B5dGhvbi14Y2JnZW4gPSAiJHtsaWJkaXJ9L3hjYi1wcm90byIKK0ZJTEVTX3B5dGhvbi14Y2JnZW4gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0iCiAKIFJERVBFTkRTXyR7UE59LWRldiA9ICIiCiBSUkVDT01NRU5EU18ke1BOfS1kYmcgPSAiJHtQTn0tZGV2ICg9ICR7RVhURU5EUEtHVn0pIgogCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLSMgTmVlZCB0byBkbyB0aGlzIGRhbmNlIGJlY2F1c2Ugd2UncmUgZm9yY2luZyB0aGUgdXNlIG9mIGhvc3QgUHl0aG9uIGFib3ZlIGFuZAotIyBpZiB4Y2ItcHJvdG8gaXMgYnVpbHQgd2l0aCBQeTMuNSBhbmQgdGhlbiByZS11c2VkIGZyb20gc3N0YXRlIG9uIGEgaG9zdCB3aXRoCi0jIFB5My42IHRoZSBzZWNvbmQgYnVpbGQgd2lsbCB3cml0ZSBuZXcgY2FjaGUgZmlsZXMgaW50byB0aGUgc3lzcm9vdCB3aGljaCB3b24ndAotIyBiZSBsaXN0ZWQgaW4gdGhlIG1hbmlmZXN0IHNvIHdvbid0IGJlIGRlbGV0ZWQsIHJlc3VsdGluZyBpbiBhbiBlcnJvciBvbgotIyByZWJ1aWxkcy4gIFNvbHZlIHRoaXMgYnkgZGVsZXRpbmcgdGhlIGVudGlyZSBjYWNoZSBkaXJlY3Rvcnkgd2hlbiB0aGlzIHBhY2thZ2UKLSMgaXMgcmVtb3ZlZCBmcm9tIHRoZSBzeXNyb290LgotU1NUQVRFUE9TVElOU1RGVU5DUyArPSAieGNiX3NzdGF0ZV9wb3N0aW5zdCIKLXhjYl9zc3RhdGVfcG9zdGluc3QoKSB7Ci0JaWYgWyAiJHtCQl9DVVJSRU5UVEFTS30iID0gInBvcHVsYXRlX3N5c3Jvb3QiIC1vICIke0JCX0NVUlJFTlRUQVNLfSIgPSAicG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZSIgXQotCXRoZW4KLQkJY2F0IDw8RU9GID4ke1NTVEFURV9JTlNUX1BPU1RSTX0KLSMhL2Jpbi9zaAotcm0gLXJmICR7bGliZGlyfS94Y2ItcHJvdG8veGNiZ2VuL19fcHljYWNoZV9fCi1FT0YKLQlmaQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnLmluYwppbmRleCA0ODlhNDI4Li42MTVhZDZkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnLmluYwpAQCAtMTgsNiArMTgsOCBAQAogWE9SR19QTiA9ICJ4b3JnLXNlcnZlciIKIFNSQ19VUkkgPSAiJHtYT1JHX01JUlJPUn0vaW5kaXZpZHVhbC94c2VydmVyLyR7WE9SR19QTn0tJHtQVn0udGFyLmJ6MiIKIAorQ1ZFX1BST0RVQ1QgPSAieG9yZy1zZXJ2ZXIiCisKIFMgPSAiJHtXT1JLRElSfS8ke1hPUkdfUE59LSR7UFZ9IgogCiBpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmcvMDAwMS10ZXN0LXh0ZXN0LUluaXRpYWxpemUtYXJyYXktd2l0aC1icmFjZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnLzAwMDEtdGVzdC14dGVzdC1Jbml0aWFsaXplLWFycmF5LXdpdGgtYnJhY2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwYzI0MjgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnLzAwMDEtdGVzdC14dGVzdC1Jbml0aWFsaXplLWFycmF5LXdpdGgtYnJhY2VzLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gOGEzODJjMDE1Y2QzYzY5ZmNmYzE0NmVmMDNkY2JmMzBjNzdmZjIwNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDEgTWFyIDIwMTkgMDk6NDc6NTcgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gdGVzdC94dGVzdDogSW5pdGlhbGl6ZSBhcnJheSB3aXRoIGJyYWNlcworCitGaXhlcyBhbiBlcnJvciB3aGVuIGV4dHJhIHdhcm5pbmdzIGFyZSBlbmFibGVkLCB0aGlzIGlzIGNhdWdodCB3aXRoIGNsYW5nCisKK3Rlc3QveHRlc3QuYzo2NDoyMzogZXJyb3I6IHN1Z2dlc3QgYnJhY2VzIGFyb3VuZCBpbml0aWFsaXphdGlvbiBvZiBzdWJvYmplY3QgWy1XZXJyb3IsLVdtaXNzaW5nLWJyYWNlc10KKyAgICBXaW5kb3dSZWMgcm9vdCA9IHswfTsKKyAgICAgICAgICAgICAgICAgICAgICBeCisgICAgICAgICAgICAgICAgICAgICAge30KKzEgZXJyb3IgZ2VuZXJhdGVkLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHRlc3QveHRlc3QuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3Rlc3QveHRlc3QuYyBiL3Rlc3QveHRlc3QuYworaW5kZXggZmM1ZTQzMy4uZDdlNjYyMCAxMDA2NDQKKy0tLSBhL3Rlc3QveHRlc3QuYworKysrIGIvdGVzdC94dGVzdC5jCitAQCAtNjEsNyArNjEsNyBAQCB4dGVzdF9pbml0X2RldmljZXModm9pZCkKKyB7CisgICAgIFNjcmVlblJlYyBzY3JlZW4gPSB7MH07CisgICAgIENsaWVudFJlYyBzZXJ2ZXJfY2xpZW50ID0gezB9OworLSAgICBXaW5kb3dSZWMgcm9vdCA9IHswfTsKKysgICAgV2luZG93UmVjIHJvb3QgPSB7ezB9fTsKKyAgICAgV2luZG93T3B0UmVjIG9wdGlvbmFsID0gezB9OworIAorICAgICAvKiByYW5kb20gc3R1ZmYgdGhhdCBuZWVkcyBpbml0aWFsaXphdGlvbiAqLworLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZy9DVkUtMjAxOC0xNDY2NS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmcvQ1ZFLTIwMTgtMTQ2NjUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmNjIzNWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZy9DVkUtMjAxOC0xNDY2NS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLUluY29ycmVjdCBjb21tYW5kLWxpbmUgcGFyYW1ldGVyIHZhbGlkYXRpb24gaW4gdGhlIFhvcmcgWCBzZXJ2ZXIgY2FuIGxlYWQgdG8KLXByaXZpbGVnZSBlbGV2YXRpb24gYW5kL29yIGFyYml0cmFyeSBmaWxlcyBvdmVyd3JpdGUsIHdoZW4gdGhlIFggc2VydmVyIGlzCi1ydW5uaW5nIHdpdGggZWxldmF0ZWQgcHJpdmlsZWdlcyAoaWUgd2hlbiBYb3JnIGlzIGluc3RhbGxlZCB3aXRoIHRoZSBzZXR1aWQgYml0Ci1zZXQgYW5kIHN0YXJ0ZWQgYnkgYSBub24tcm9vdCB1c2VyKS4gVGhlIC1tb2R1bGVwYXRoIGFyZ3VtZW50IGNhbiBiZSB1c2VkIHRvCi1zcGVjaWZ5IGFuIGluc2VjdXJlIHBhdGggdG8gbW9kdWxlcyB0aGF0IGFyZSBnb2luZyB0byBiZSBsb2FkZWQgaW4gdGhlIFggc2VydmVyLAotYWxsb3dpbmcgdG8gZXhlY3V0ZSB1bnByaXZpbGVnZWQgY29kZSBpbiB0aGUgcHJpdmlsZWdlZCBwcm9jZXNzLiBUaGUgLWxvZ2ZpbGUKLWFyZ3VtZW50IGNhbiBiZSB1c2VkIHRvIG92ZXJ3cml0ZSBhcmJpdHJhcnkgZmlsZXMgaW4gdGhlIGZpbGUgc3lzdGVtLCBkdWUgdG8KLWluY29ycmVjdCBjaGVja3MgaW4gdGhlIHBhcnNpbmcgb2YgdGhlIG9wdGlvbi4KLQotQ1ZFOiBDVkUtMjAxOC0xNDY2NQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSA1MGMwY2Y4ODVhNmU5MWMwZWE3MWZiNDlmYThmMWI3Yzg2ZmUzMzBlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0dGhpZXUgSGVycmIgPG1hdHRoaWV1QGhlcnJiLmV1PgotRGF0ZTogVHVlLCAyMyBPY3QgMjAxOCAyMToyOTowOCArMDIwMAotU3ViamVjdDogW1BBVENIXSBEaXNhYmxlIC1sb2dmaWxlIGFuZCAtbW9kdWxlcGF0aCB3aGVuIHJ1bm5pbmcgd2l0aCBlbGV2YXRlZAotIHByaXZpbGVnZXMKLQotQ291bGQgY2F1c2UgcHJpdmlsZWdlIGVsZXZhdGlvbiBhbmQvb3IgYXJiaXRyYXJ5IGZpbGVzIG92ZXJ3cml0ZSwgd2hlbgotdGhlIFggc2VydmVyIGlzIHJ1bm5pbmcgd2l0aCBlbGV2YXRlZCBwcml2aWxlZ2VzIChpZSB3aGVuIFhvcmcgaXMKLWluc3RhbGxlZCB3aXRoIHRoZSBzZXR1aWQgYml0IHNldCBhbmQgc3RhcnRlZCBieSBhIG5vbi1yb290IHVzZXIpLgotCi1DVkUtMjAxOC0xNDY2NQotCi1Jc3N1ZSByZXBvcnRlZCBieSBOYXJlbmRyYSBTaGluZGUgYW5kIFJlZCBIYXQuCi0KLVNpZ25lZC1vZmYtYnk6IE1hdHRoaWV1IEhlcnJiIDxtYXR0aGlldUBoZXJyYi5ldT4KLVJldmlld2VkLWJ5OiBBbGFuIENvb3BlcnNtaXRoIDxhbGFuLmNvb3BlcnNtaXRoQG9yYWNsZS5jb20+Ci1SZXZpZXdlZC1ieTogUGV0ZXIgSHV0dGVyZXIgPHBldGVyLmh1dHRlcmVyQHdoby10Lm5ldD4KLVJldmlld2VkLWJ5OiBBZGFtIEphY2tzb24gPGFqYXhAcmVkaGF0LmNvbT4KLS0tLQotIGh3L3hmcmVlODYvY29tbW9uL3hmODZJbml0LmMgfCA4ICsrKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2h3L3hmcmVlODYvY29tbW9uL3hmODZJbml0LmMgYi9ody94ZnJlZTg2L2NvbW1vbi94Zjg2SW5pdC5jCi1pbmRleCA2YzI1ZWRhNzMuLjBmNTdlZmE4NiAxMDA2NDQKLS0tLSBhL2h3L3hmcmVlODYvY29tbW9uL3hmODZJbml0LmMKLSsrKyBiL2h3L3hmcmVlODYvY29tbW9uL3hmODZJbml0LmMKLUBAIC05MzUsMTQgKzkzNSwxOCBAQCBkZHhQcm9jZXNzQXJndW1lbnQoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBpbnQgaSkKLSAgICAgLyogRmlyc3QgdGhlIG9wdGlvbnMgdGhhdCBhcmUgbm90IGFsbG93ZWQgd2l0aCBlbGV2YXRlZCBwcml2aWxlZ2VzICovCi0gICAgIGlmICghc3RyY21wKGFyZ3ZbaV0sICItbW9kdWxlcGF0aCIpKSB7Ci0gICAgICAgICBDSEVDS19GT1JfUkVRVUlSRURfQVJHVU1FTlQoKTsKLS0gICAgICAgIHhmODZDaGVja1ByaXZzKGFyZ3ZbaV0sIGFyZ3ZbaSArIDFdKTsKLSsgICAgICAgIGlmICh4Zjg2UHJpdnNFbGV2YXRlZCgpKQotKyAgICAgICAgICAgICAgRmF0YWxFcnJvcigiXG5JbnZhbGlkIGFyZ3VtZW50IC1tb2R1bGVwYXRoICIKLSsgICAgICAgICAgICAgICAgIndpdGggZWxldmF0ZWQgcHJpdmlsZWdlc1xuIik7Ci0gICAgICAgICB4Zjg2TW9kdWxlUGF0aCA9IGFyZ3ZbaSArIDFdOwotICAgICAgICAgeGY4Nk1vZFBhdGhGcm9tID0gWF9DTURMSU5FOwotICAgICAgICAgcmV0dXJuIDI7Ci0gICAgIH0KLSAgICAgaWYgKCFzdHJjbXAoYXJndltpXSwgIi1sb2dmaWxlIikpIHsKLSAgICAgICAgIENIRUNLX0ZPUl9SRVFVSVJFRF9BUkdVTUVOVCgpOwotLSAgICAgICAgeGY4NkNoZWNrUHJpdnMoYXJndltpXSwgYXJndltpICsgMV0pOwotKyAgICAgICAgaWYgKHhmODZQcml2c0VsZXZhdGVkKCkpCi0rICAgICAgICAgICAgICBGYXRhbEVycm9yKCJcbkludmFsaWQgYXJndW1lbnQgLWxvZ2ZpbGUgIgotKyAgICAgICAgICAgICAgICAid2l0aCBlbGV2YXRlZCBwcml2aWxlZ2VzXG4iKTsKLSAgICAgICAgIHhmODZMb2dGaWxlID0gYXJndltpICsgMV07Ci0gICAgICAgICB4Zjg2TG9nRmlsZUZyb20gPSBYX0NNRExJTkU7Ci0gICAgICAgICByZXR1cm4gMjsKLS0tIAotMi4xOC4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnXzEuMjAuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmdfMS4yMC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZmQyZThkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmdfMS4yMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotcmVxdWlyZSB4c2VydmVyLXhvcmcuaW5jCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9tdXNsLWFybS1pbmItb3V0Yi5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS14Zjg2cGNpQnVzLmMtdXNlLUludGVsLWRkeC1vbmx5LWZvci1wcmUtZ2VuNC1oYXJkd2FyLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9wa2djb25maWcucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE0NjY1LnBhdGNoIFwKLSAgICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICJlNTI1ODQ2ZDFkMGFmNTczMmJhODM1ZjJlMmVjMDY2ZCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1OWM5OWZlODZmZTc1YjgxNjRjNjU2N2JmYzZlOTgyYWVjYzJlNGE1MWU2ZmJhYzFiODQyZDVkMDA1NDllOTE4IgotCi0jIFRoZXNlIGV4dGVuc2lvbnMgYXJlIG5vdyBpbnRlZ3JhdGVkIGludG8gdGhlIHNlcnZlciwgc28gZGVjbGFyZSB0aGUgbWlncmF0aW9uCi0jIHBhdGggZm9yIGluLXBsYWNlIHVwZ3JhZGVzLgotCi1SUkVQTEFDRVNfJHtQTn0gPSAgIiR7UE59LWV4dGVuc2lvbi1kcmkgXAotICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZHJpMiBcCi0gICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1yZWNvcmQgXAotICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZXh0bW9kIFwKLSAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWRiZSBcCi0gICAgICAgICAgICAgICAgICAgIgotUlBST1ZJREVTXyR7UE59ID0gICIke1BOfS1leHRlbnNpb24tZHJpIFwKLSAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWRyaTIgXAotICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tcmVjb3JkIFwKLSAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWV4dG1vZCBcCi0gICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kYmUgXAotICAgICAgICAgICAgICAgICAgICIKLVJDT05GTElDVFNfJHtQTn0gPSAiJHtQTn0tZXh0ZW5zaW9uLWRyaSBcCi0gICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kcmkyIFwKLSAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLXJlY29yZCBcCi0gICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1leHRtb2QgXAotICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZGJlIFwKLSAgICAgICAgICAgICAgICAgICAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnXzEuMjAuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmdfMS4yMC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkOTlkNmIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnXzEuMjAuNC5iYgpAQCAtMCwwICsxLDMxIEBACityZXF1aXJlIHhzZXJ2ZXIteG9yZy5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovL211c2wtYXJtLWluYi1vdXRiLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXhmODZwY2lCdXMuYy11c2UtSW50ZWwtZGR4LW9ubHktZm9yLXByZS1nZW40LWhhcmR3YXIucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3BrZ2NvbmZpZy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS10ZXN0LXh0ZXN0LUluaXRpYWxpemUtYXJyYXktd2l0aC1icmFjZXMucGF0Y2ggXAorICAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImM0ODQxY2MyNGI3OTQyMDIwNWQwODJmZTgyZTBhNjUwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZlMGZkNDkzZWJlOTNiZmM1NmJlZGUzODJmYTIwNDQ1OGZmNWY2MzZlYTU0ZDQxM2E1ZDFiZDU4ZTE5MTY2ZWUiCisKKyMgVGhlc2UgZXh0ZW5zaW9ucyBhcmUgbm93IGludGVncmF0ZWQgaW50byB0aGUgc2VydmVyLCBzbyBkZWNsYXJlIHRoZSBtaWdyYXRpb24KKyMgcGF0aCBmb3IgaW4tcGxhY2UgdXBncmFkZXMuCisKK1JSRVBMQUNFU18ke1BOfSA9ICAiJHtQTn0tZXh0ZW5zaW9uLWRyaSBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kcmkyIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLXJlY29yZCBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1leHRtb2QgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZGJlIFwKKyAgICAgICAgICAgICAgICAgICAiCitSUFJPVklERVNfJHtQTn0gPSAgIiR7UE59LWV4dGVuc2lvbi1kcmkgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZHJpMiBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1yZWNvcmQgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZXh0bW9kIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWRiZSBcCisgICAgICAgICAgICAgICAgICAgIgorUkNPTkZMSUNUU18ke1BOfSA9ICIke1BOfS1leHRlbnNpb24tZHJpIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWRyaTIgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tcmVjb3JkIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWV4dG1vZCBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kYmUgXAorICAgICAgICAgICAgICAgICAgICIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3h2aWRlby10ZXN0cy94dmlkZW8tdGVzdHNfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveHZpZGVvLXRlc3RzL3h2aWRlby10ZXN0c19naXQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkMjc1YTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveHZpZGVvLXRlc3RzL3h2aWRlby10ZXN0c19naXQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gIlNpbXBsZSBYVmlkZW8gdGVzdCBhcHBsaWNhdGlvbiIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3Rlc3QteHZpZGVvLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9NmFlM2I0YzNjMmZmOWU1MWRiYmMzNWJiMjM3YWZhMDAiCi1ERVBFTkRTID0gImxpYnh2IgotCi1TUkNSRVYgPSAiN2QzOGI4ODFlOTllYjc0MTY5ZDI5MmI0MGY3MTY0ZTQ2MWE2NTA5MiIKLVBWID0gIjAuMStnaXQke1NSQ1BWfSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy90ZXN0LXh2aWRlbyIKLVVQU1RSRUFNX0NIRUNLX0NPTU1JVFMgPSAiMSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLSMgVGhlIGxpYnh2IHJlcXVpcmVzIHgxMSBpbiBESVNUUk9fRkVBVFVSRVMKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi1saW51eF8xLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi1saW51eF8xLjEwLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi1saW51eF8xLjkuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LWxpbnV4XzEuMTAuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LW1vZHVsZV8xLjEwLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9jcnlwdG9kZXYtbW9kdWxlXzEuMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTUyZWI2YQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LW1vZHVsZV8xLjEwLmJiCkBAIC0wLDAgKzEsMTcgQEAKK3JlcXVpcmUgY3J5cHRvZGV2LmluYworCitTVU1NQVJZID0gIkEgL2Rldi9jcnlwdG8gZGV2aWNlIGRyaXZlciBrZXJuZWwgbW9kdWxlIgorCitpbmhlcml0IG1vZHVsZQorCisjIEhlYWRlciBmaWxlIHByb3ZpZGVkIGJ5IGEgc2VwYXJhdGUgcGFja2FnZQorREVQRU5EUyArPSAiY3J5cHRvZGV2LWxpbnV4IgorCitTUkNfVVJJICs9ICIgXAorZmlsZTovLzAwMDEtRGlzYWJsZS1pbnN0YWxsaW5nLWhlYWRlci1maWxlLXByb3ZpZGVkLWJ5LWFub3RoZXItcC5wYXRjaCBcCisiCisKK0VYVFJBX09FTUFLRT0nS0VSTkVMX0RJUj0iJHtTVEFHSU5HX0tFUk5FTF9ESVJ9IiBQUkVGSVg9IiR7RH0iJworCitSQ09ORkxJQ1RTXyR7UE59ID0gIm9jZi1saW51eCIKK1JSRVBMQUNFU18ke1BOfSA9ICJvY2YtbGludXgiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi1tb2R1bGVfMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9jcnlwdG9kZXYtbW9kdWxlXzEuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWQ0MzI3ZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi1tb2R1bGVfMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotcmVxdWlyZSBjcnlwdG9kZXYuaW5jCi0KLVNVTU1BUlkgPSAiQSAvZGV2L2NyeXB0byBkZXZpY2UgZHJpdmVyIGtlcm5lbCBtb2R1bGUiCi0KLWluaGVyaXQgbW9kdWxlCi0KLSMgSGVhZGVyIGZpbGUgcHJvdmlkZWQgYnkgYSBzZXBhcmF0ZSBwYWNrYWdlCi1ERVBFTkRTICs9ICJjcnlwdG9kZXYtbGludXgiCi0KLVNSQ19VUkkgKz0gIiBcCi1maWxlOi8vMDAwMS1EaXNhYmxlLWluc3RhbGxpbmctaGVhZGVyLWZpbGUtcHJvdmlkZWQtYnktYW5vdGhlci1wLnBhdGNoIFwKLWZpbGU6Ly8wMDAxLWlvY3RsLmMtRml4LWJ1aWxkLXdpdGgtbGludXgtNC4xMy5wYXRjaCBcCi1maWxlOi8vMDAwMS1pb2N0bC5jLUZpeC1idWlsZC13aXRoLWxpbnV4LTQuMTcucGF0Y2ggXAotZmlsZTovLzAwMDEtcmVmYWN0b3Jpbmctc3BsaXQtYmlnLWZ1bmN0aW9uLXRvLXNpbXBsaWZ5LW1haW50YWluYS5wYXRjaCBcCi1maWxlOi8vMDAwMi1yZWZhY3RvcmluZy1yZWxvY2F0ZS1jb2RlLXRvLXNpbXBsaWZ5LWxhdGVyLXBhdGNoZXMucGF0Y2ggXAotZmlsZTovLzAwMDMtY29udmVydC10by1uZXctQUVBRC1pbnRlcmZhY2UtaW4ta2VybmVscy12NC4yLnBhdGNoIFwKLSIKLQotRVhUUkFfT0VNQUtFPSdLRVJORUxfRElSPSIke1NUQUdJTkdfS0VSTkVMX0RJUn0iIFBSRUZJWD0iJHtEfSInCi0KLVJDT05GTElDVFNfJHtQTn0gPSAib2NmLWxpbnV4IgotUlJFUExBQ0VTXyR7UE59ID0gIm9jZi1saW51eCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LXRlc3RzXzEuMTAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi10ZXN0c18xLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljYjVkY2IKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi10ZXN0c18xLjEwLmJiCkBAIC0wLDAgKzEsMjEgQEAKK3JlcXVpcmUgY3J5cHRvZGV2LmluYworCitTVU1NQVJZID0gIkEgdGVzdCBzdWl0ZSBmb3IgL2Rldi9jcnlwdG8gZGV2aWNlIGRyaXZlciIKKworREVQRU5EUyArPSAib3BlbnNzbCIKKworU1JDX1VSSSArPSAiIFwKK2ZpbGU6Ly8wMDAxLUFkZC10aGUtY29tcGlsZS1hbmQtaW5zdGFsbC1ydWxlcy1mb3ItY3J5cHRvZGV2LXRlc3QucGF0Y2ggXAorIgorCitFWFRSQV9PRU1BS0U9J0tFUk5FTF9ESVI9IiR7U1RBR0lOR19FWEVDUFJFRklYRElSfSIgUFJFRklYPSIke0R9IicKKworZG9fY29tcGlsZSgpIHsKKwlvZV9ydW5tYWtlIHRlc3Rwcm9ncworfQorCitkb19pbnN0YWxsKCkgeworCW9lX3J1bm1ha2UgaW5zdGFsbF90ZXN0cworfQorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vKiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LXRlc3RzXzEuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LXRlc3RzXzEuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjE3ZGI2Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi10ZXN0c18xLjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1yZXF1aXJlIGNyeXB0b2Rldi5pbmMKLQotU1VNTUFSWSA9ICJBIHRlc3Qgc3VpdGUgZm9yIC9kZXYvY3J5cHRvIGRldmljZSBkcml2ZXIiCi0KLURFUEVORFMgKz0gIm9wZW5zc2wiCi0KLVNSQ19VUkkgKz0gIiBcCi1maWxlOi8vMDAwMS1BZGQtdGhlLWNvbXBpbGUtYW5kLWluc3RhbGwtcnVsZXMtZm9yLWNyeXB0b2Rldi10ZXN0LnBhdGNoIFwKLWZpbGU6Ly8wMDAxLVBvcnQtdGVzdHMtdG8tb3BlbnNzbC0xLjEucGF0Y2ggXAotIgotCi1FWFRSQV9PRU1BS0U9J0tFUk5FTF9ESVI9IiR7U1RBR0lOR19FWEVDUFJFRklYRElSfSIgUFJFRklYPSIke0R9IicKLQotZG9fY29tcGlsZSgpIHsKLQlvZV9ydW5tYWtlIHRlc3Rwcm9ncwotfQotCi1kb19pbnN0YWxsKCkgewotCW9lX3J1bm1ha2UgaW5zdGFsbF90ZXN0cwotfQotCi1GSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vKiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LmluYwppbmRleCBhYjE1YmMxLi4yNTJkMzlkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9jcnlwdG9kZXYuaW5jCkBAIC00LDcgKzQsNyBAQAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCiAKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9jcnlwdG9kZXYtbGludXgvY3J5cHRvZGV2LWxpbnV4IgotU1JDUkVWID0gIjg3ZDk1OWQ5YTI3OWMwNTViMzYxZGU4ZTczMGZhYjZhNzE0NGVkZDciCitTUkNSRVYgPSAiZmQ4YjE1ZWYxYzgzOThhNjlhMzc5MzJlZTQ4Yzc0YWI0MDMyOWEyOSIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAxLVBvcnQtdGVzdHMtdG8tb3BlbnNzbC0xLjEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDEtUG9ydC10ZXN0cy10by1vcGVuc3NsLTEuMS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzk2OTEyNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDEtUG9ydC10ZXN0cy10by1vcGVuc3NsLTEuMS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi1Gcm9tIDJmZTRiZGViOGNkZDBiMGY0NmQ5Y2FlZDgwNzgxMjg1NWQ1MWVhNTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgMjggTWFyIDIwMTggMjA6MTE6MDUgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gUG9ydCB0ZXN0cyB0byBvcGVuc3NsIDEuMQotCi1VcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFtodHRwczovL2dpdGh1Yi5jb20vY3J5cHRvZGV2LWxpbnV4L2NyeXB0b2Rldi1saW51eC9wdWxsLzM2XQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci0KLS0tLQotIHRlc3RzL29wZW5zc2xfd3JhcHBlci5jIHwgMzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3Rlc3RzL29wZW5zc2xfd3JhcHBlci5jIGIvdGVzdHMvb3BlbnNzbF93cmFwcGVyLmMKLWluZGV4IDAzOGM1OGYuLmRlYTI0OTYgMTAwNjQ0Ci0tLS0gYS90ZXN0cy9vcGVuc3NsX3dyYXBwZXIuYwotKysrIGIvdGVzdHMvb3BlbnNzbF93cmFwcGVyLmMKLUBAIC00LDYgKzQsNyBAQAotICNpbmNsdWRlIDxvcGVuc3NsL2Flcy5oPgotICNpbmNsdWRlIDxvcGVuc3NsL2V2cC5oPgotICNpbmNsdWRlIDxvcGVuc3NsL2htYWMuaD4KLSsjaW5jbHVkZSA8b3BlbnNzbC9vcGVuc3Nsdi5oPgotIAotIC8vI2RlZmluZSBERUJVRwotIAotQEAgLTIzLDEwICsyNCwxNyBAQCBlbnVtIGN0eF90eXBlIHsKLSAJY3R4X3R5cGVfbWQsCi0gfTsKLSAKLSsjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAotK3VuaW9uIG9wZW5zc2xfY3R4IHsKLSsJSE1BQ19DVFggKmhtYWM7Ci0rCUVWUF9NRF9DVFggKm1kOwotK307Ci0rI2Vsc2UKLSB1bmlvbiBvcGVuc3NsX2N0eCB7Ci0gCUhNQUNfQ1RYIGhtYWM7Ci0gCUVWUF9NRF9DVFggbWQ7Ci0gfTsKLSsjZW5kaWYKLSAKLSBzdHJ1Y3QgY3R4X21hcHBpbmcgewotIAlfX3UzMiBzZXM7Ci1AQCAtNjMsNiArNzEsMTYgQEAgc3RhdGljIHZvaWQgcmVtb3ZlX21hcHBpbmcoX191MzIgc2VzKQotIAlzd2l0Y2ggKG1hcHBpbmctPnR5cGUpIHsKLSAJY2FzZSBjdHhfdHlwZV9ub25lOgotIAkJYnJlYWs7Ci0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwMEwKLSsJY2FzZSBjdHhfdHlwZV9obWFjOgotKwkJZGJncCgiJXM6IGNhbGxpbmcgSE1BQ19DVFhfZnJlZVxuIiwgX19mdW5jX18pOwotKwkJSE1BQ19DVFhfZnJlZShtYXBwaW5nLT5jdHguaG1hYyk7Ci0rCQlicmVhazsKLSsJY2FzZSBjdHhfdHlwZV9tZDoKLSsJCWRiZ3AoIiVzOiBjYWxsaW5nIEVWUF9NRF9DVFhfZnJlZVxuIiwgX19mdW5jX18pOwotKwkJRVZQX01EX0NUWF9mcmVlKG1hcHBpbmctPmN0eC5tZCk7Ci0rCQlicmVhazsKLSsjZWxzZQotIAljYXNlIGN0eF90eXBlX2htYWM6Ci0gCQlkYmdwKCIlczogY2FsbGluZyBITUFDX0NUWF9jbGVhbnVwXG4iLCBfX2Z1bmNfXyk7Ci0gCQlITUFDX0NUWF9jbGVhbnVwKCZtYXBwaW5nLT5jdHguaG1hYyk7Ci1AQCAtNzEsNiArODksNyBAQCBzdGF0aWMgdm9pZCByZW1vdmVfbWFwcGluZyhfX3UzMiBzZXMpCi0gCQlkYmdwKCIlczogY2FsbGluZyBFVlBfTURfQ1RYX2NsZWFudXBcbiIsIF9fZnVuY19fKTsKLSAJCUVWUF9NRF9DVFhfY2xlYW51cCgmbWFwcGluZy0+Y3R4Lm1kKTsKLSAJCWJyZWFrOwotKyNlbmRpZgotIAl9Ci0gCW1lbXNldChtYXBwaW5nLCAwLCBzaXplb2YoKm1hcHBpbmcpKTsKLSB9Ci1AQCAtMTI3LDEwICsxNDYsMTcgQEAgc3RhdGljIGludCBvcGVuc3NsX2htYWMoc3RydWN0IHNlc3Npb25fb3AgKnNlc3MsIHN0cnVjdCBjcnlwdF9vcCAqY29wKQotIAotIAkJbWFwcGluZy0+c2VzID0gc2Vzcy0+c2VzOwotIAkJbWFwcGluZy0+dHlwZSA9IGN0eF90eXBlX2htYWM7Ci0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwMEwKLSsJCWN0eCA9IG1hcHBpbmctPmN0eC5obWFjOwotKwotKwkJZGJncCgiY2FsbGluZyBITUFDX0NUWF9uZXciKTsKLSsJCWN0eCA9IEhNQUNfQ1RYX25ldygpOwotKyNlbHNlCi0gCQljdHggPSAmbWFwcGluZy0+Y3R4LmhtYWM7Ci0gCi0gCQlkYmdwKCJjYWxsaW5nIEhNQUNfQ1RYX2luaXQiKTsKLSAJCUhNQUNfQ1RYX2luaXQoY3R4KTsKLSsjZW5kaWYKLSAJCWRiZ3AoImNhbGxpbmcgSE1BQ19Jbml0X2V4Iik7Ci0gCQlpZiAoIUhNQUNfSW5pdF9leChjdHgsIHNlc3MtPm1hY2tleSwgc2Vzcy0+bWFja2V5bGVuLAotIAkJCQlzZXNzX3RvX2V2cF9tZChzZXNzKSwgTlVMTCkpIHsKLUBAIC0xNzIsMTAgKzE5OCwxNyBAQCBzdGF0aWMgaW50IG9wZW5zc2xfbWQoc3RydWN0IHNlc3Npb25fb3AgKnNlc3MsIHN0cnVjdCBjcnlwdF9vcCAqY29wKQotIAotIAkJbWFwcGluZy0+c2VzID0gc2Vzcy0+c2VzOwotIAkJbWFwcGluZy0+dHlwZSA9IGN0eF90eXBlX21kOwotKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAxMDAwMDBMCi0rCQljdHggPSBtYXBwaW5nLT5jdHgubWQ7Ci0rCi0rCQlkYmdwKCJjYWxsaW5nIEVWUF9NRF9DVFhfbmV3Iik7Ci0rCQljdHggPSBFVlBfTURfQ1RYX25ldygpOwotKyNlbHNlCi0gCQljdHggPSAmbWFwcGluZy0+Y3R4Lm1kOwotIAotIAkJZGJncCgiY2FsbGluZyBFVlBfTURfQ1RYX2luaXQiKTsKLSAJCUVWUF9NRF9DVFhfaW5pdChjdHgpOwotKyNlbmRpZgotIAkJZGJncCgiY2FsbGluZyBFVlBfRGlnZXN0SW5pdCIpOwotIAkJRVZQX0RpZ2VzdEluaXQoY3R4LCBzZXNzX3RvX2V2cF9tZChzZXNzKSk7Ci0gCX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMS1pb2N0bC5jLUZpeC1idWlsZC13aXRoLWxpbnV4LTQuMTMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDEtaW9jdGwuYy1GaXgtYnVpbGQtd2l0aC1saW51eC00LjEzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNDFlZmFjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMS1pb2N0bC5jLUZpeC1idWlsZC13aXRoLWxpbnV4LTQuMTMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1Gcm9tIGYwZDY5Nzc0YWZiMjdmZmM2MmJmMzUzNDY1ZmJhMTQ1ZTcwY2I4NWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSaWNhcmRvIFJpYmFsZGEgRGVsZ2FkbyA8cmljYXJkby5yaWJhbGRhQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgNCBTZXAgMjAxNyAxMTowNTowOCArMDIwMAotU3ViamVjdDogW1BBVENIXSBpb2N0bC5jOiBGaXggYnVpbGQgd2l0aCBsaW51eCA0LjEzCi0KLWdpdC9pb2N0bC5jOjExMjc6MzogZXJyb3I6IHBvc2l0aW9uYWwgaW5pdGlhbGl6YXRpb24gb2YgZmllbGQgaW4gJ3N0cnVjdCcgZGVjbGFyZWQgd2l0aCAnZGVzaWduYXRlZF9pbml0JyBhdHRyaWJ1dGUgWy1XZXJyb3I9ZGVzaWduYXRlZC1pbml0XQotICAgezAsIH0sCi0gICAgXgotbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yICd2ZXJib3NpdHlfY3RsX2RpclsxXScpCi1naXQvaW9jdGwuYzoxMTM2OjM6IGVycm9yOiBwb3NpdGlvbmFsIGluaXRpYWxpemF0aW9uIG9mIGZpZWxkIGluICdzdHJ1Y3QnIGRlY2xhcmVkIHdpdGggJ2Rlc2lnbmF0ZWRfaW5pdCcgYXR0cmlidXRlIFstV2Vycm9yPWRlc2lnbmF0ZWQtaW5pdF0KLSAgIHswLCB9LAotICAgIF4KLQotTGludXgga2VybmVsIGhhcyBhZGRlZCAtV2Vycm9yPWRlc2lnbmF0ZWQtaW5pdCBhcm91bmQgNC4xMSAoYzgzNGYwZThhOGIpCi10cmlnZ2VyaW5nIGJ1aWxkIGVycm9ycyB3aXRoIGdjYyA1IGFuZCA2IChidXQgbm90IHdpdGggZ2NjIDQpCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogUmljYXJkbyBSaWJhbGRhIERlbGdhZG8gPHJpY2FyZG8ucmliYWxkYUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDcmlzdGlhbiBTdG9pY2EgPGNyaXN0aWFuLnN0b2ljYUBueHAuY29tPgotLS0tCi0gaW9jdGwuYyB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pb2N0bC5jIGIvaW9jdGwuYwotaW5kZXggMDM4NTIwMy4uOGQ0YTE2MiAxMDA2NDQKLS0tLSBhL2lvY3RsLmMKLSsrKyBiL2lvY3RsLmMKLUBAIC0xMTI0LDcgKzExMjQsNyBAQCBzdGF0aWMgc3RydWN0IGN0bF90YWJsZSB2ZXJib3NpdHlfY3RsX2RpcltdID0gewotIAkJLm1vZGUgICAgICAgICAgID0gMDY0NCwKLSAJCS5wcm9jX2hhbmRsZXIgICA9IHByb2NfZG9pbnR2ZWMsCi0gCX0sCi0tCXswLCB9LAotKwl7fSwKLSB9OwotIAotIHN0YXRpYyBzdHJ1Y3QgY3RsX3RhYmxlIHZlcmJvc2l0eV9jdGxfcm9vdFtdID0gewotQEAgLTExMzMsNyArMTEzMyw3IEBAIHN0YXRpYyBzdHJ1Y3QgY3RsX3RhYmxlIHZlcmJvc2l0eV9jdGxfcm9vdFtdID0gewotIAkJLm1vZGUgICAgICAgICAgID0gMDU1NSwKLSAJCS5jaGlsZCAgICAgICAgICA9IHZlcmJvc2l0eV9jdGxfZGlyLAotIAl9LAotLQl7MCwgfSwKLSsJe30sCi0gfTsKLSBzdGF0aWMgc3RydWN0IGN0bF90YWJsZV9oZWFkZXIgKnZlcmJvc2l0eV9zeXNjdGxfaGVhZGVyOwotIHN0YXRpYyBpbnQgX19pbml0IGluaXRfY3J5cHRvZGV2KHZvaWQpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMS1pb2N0bC5jLUZpeC1idWlsZC13aXRoLWxpbnV4LTQuMTcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDEtaW9jdGwuYy1GaXgtYnVpbGQtd2l0aC1saW51eC00LjE3LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ODgxZDFjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMS1pb2N0bC5jLUZpeC1idWlsZC13aXRoLWxpbnV4LTQuMTcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1Gcm9tIGY2MGFhMDhjNjNmYzAyNzgwNTU0YTBhMTIxODBhNDc4Y2EyN2Q0OWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/SG9yaWE9MjBHZWFudD1DND04Mz89IDxob3JpYS5nZWFudGFAbnhwLmNvbT4KLURhdGU6IFdlZCwgMjMgTWF5IDIwMTggMTg6NDM6MzkgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gaW9jdGwuYzogRml4IGJ1aWxkIHdpdGggbGludXggNC4xNwotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1TaW5jZSBrZXJuZWwgNC4xNy1yYzEsIHN5c18qIHN5c2NhbGxzIGNhbiBubyBsb25nZXIgYmUgY2FsbGVkIGRpcmVjdGx5OgotODE5NjcxZmY4NDliICgic3lzY2FsbHM6IGRlZmluZSBhbmQgZXhwbGFpbiBnb2FsIHRvIG5vdCBjYWxsIHN5c2NhbGxzIGluIHRoZSBrZXJuZWwiKQotCi1TaW5jZSBjcnlwdG9kZXYgdXNlcyBzeXNfY2xvc2UoKSAtIGFuZCB0aGlzIGhhcyBiZWVuIHJlbW92ZWQgaW4gY29tbWl0OgotMmNhMmEwOWQ2MjE1ICgiZnM6IGFkZCBrc3lzX2Nsb3NlKCkgd3JhcHBlcjsgcmVtb3ZlIGluLWtlcm5lbCBjYWxscyB0byBzeXNfY2xvc2UoKSIpCi1jcnlwdG9kZXYgaGFzIHRvIGJlIHVwZGF0ZWQgdG8gdXNlIHRoZSBrc3lzX2Nsb3NlKCkgd3JhcHBlci4KLQotU2lnbmVkLW9mZi1ieTogSG9yaWEgR2VhbnTEgyA8aG9yaWEuZ2VhbnRhQG54cC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogSGUgWmhlIDx6aGUuaGVAd2luZHJpdmVyLmNvbT4KLS0tLQotIGlvY3RsLmMgfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9pb2N0bC5jIGIvaW9jdGwuYwotaW5kZXggZDgzMWIwYy4uMjU3MTAzNCAxMDA2NDQKLS0tLSBhL2lvY3RsLmMKLSsrKyBiL2lvY3RsLmMKLUBAIC04MjgsNyArODI4LDExIEBAIGNyeXB0b2Rldl9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmdfKQotIAkJZmQgPSBjbG9uZWZkKGZpbHApOwotIAkJcmV0ID0gcHV0X3VzZXIoZmQsIHApOwotIAkJaWYgKHVubGlrZWx5KHJldCkpIHsKLSsjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDQsIDE3LCAwKSkKLSAJCQlzeXNfY2xvc2UoZmQpOwotKyNlbHNlCi0rCQkJa3N5c19jbG9zZShmZCk7Ci0rI2VuZGlmCi0gCQkJcmV0dXJuIHJldDsKLSAJCX0KLSAJCXJldHVybiByZXQ7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMS1yZWZhY3RvcmluZy1zcGxpdC1iaWctZnVuY3Rpb24tdG8tc2ltcGxpZnktbWFpbnRhaW5hLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAxLXJlZmFjdG9yaW5nLXNwbGl0LWJpZy1mdW5jdGlvbi10by1zaW1wbGlmeS1tYWludGFpbmEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1NTdiNWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAxLXJlZmFjdG9yaW5nLXNwbGl0LWJpZy1mdW5jdGlvbi10by1zaW1wbGlmeS1tYWludGFpbmEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTAgKzAsMCBAQAotRnJvbSAyMGRjZjA3MWJjMzA3NmVlN2RiOWQ2MDNjZmJlNmEwNmU4NmM3ZDVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ3Jpc3RpYW4gU3RvaWNhIDxjcmlzdGlhbi5zdG9pY2FAbnhwLmNvbT4KLURhdGU6IFRodSwgNCBNYXkgMjAxNyAxNTowNjoyMCArMDMwMAotU3ViamVjdDogW1BBVENIIDEvM10gcmVmYWN0b3Jpbmc6IHNwbGl0IGJpZyBmdW5jdGlvbiB0byBzaW1wbGlmeSBtYWludGFpbmFuY2UKLQotVGhlIHNldHVwIG9mIGF1dGhfYnVmIGluIHRscyBhbmQgYWVhZCBpcyBub3cgZHVwbGljYXRlZCBidXQgdGhpcwotaXMgdGVtcG9yYXJ5IGFuZCBhbGxvd3MgbmVjZXNzYXJ5IGNvcnJlY3Rpb25zIGZvciB0aGUgYWVhZCBjYXNlCi13aXRoIHY0LjIrIGtlcm5lbHMuCi0KLVNpZ25lZC1vZmYtYnk6IENyaXN0aWFuIFN0b2ljYSA8Y3Jpc3RpYW4uc3RvaWNhQG54cC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotQ29tbWl0IElEOiAyMGRjZjA3MWJjMzA3NmVlN2RiOWQ2MDNjCi0KLVNpZ25lZC1vZmYtYnk6IEhvbmd6aGkuU29uZyA8aG9uZ3poaS5zb25nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBhdXRoZW5jLmMgfCAxOTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTI2IGluc2VydGlvbnMoKyksIDcxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYXV0aGVuYy5jIGIvYXV0aGVuYy5jCi1pbmRleCAxYmQ3Mzc3Li4yOGViMGY5IDEwMDY0NAotLS0tIGEvYXV0aGVuYy5jCi0rKysgYi9hdXRoZW5jLmMKLUBAIC02MDksOTYgKzYwOSwxNTEgQEAgYXV0aF9uX2NyeXB0KHN0cnVjdCBjc2Vzc2lvbiAqc2VzX3B0ciwgc3RydWN0IGtlcm5lbF9jcnlwdF9hdXRoX29wICprY2FvcCwKLSAJcmV0dXJuIDA7Ci0gfQotIAotLS8qIFRoaXMgaXMgdGhlIG1haW4gY3J5cHRvIGZ1bmN0aW9uIC0gemVyby1jb3B5IGVkaXRpb24gKi8KLS1zdGF0aWMgaW50Ci0tX19jcnlwdG9fYXV0aF9ydW5femMoc3RydWN0IGNzZXNzaW9uICpzZXNfcHRyLCBzdHJ1Y3Qga2VybmVsX2NyeXB0X2F1dGhfb3AgKmtjYW9wKQotK3N0YXRpYyBpbnQgY3J5cHRvX2F1dGhfemNfc3J0cChzdHJ1Y3QgY3Nlc3Npb24gKnNlc19wdHIsIHN0cnVjdCBrZXJuZWxfY3J5cHRfYXV0aF9vcCAqa2Nhb3ApCi0gewotLQlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKmRzdF9zZywgKmF1dGhfc2csICpzcmNfc2c7Ci0rCXN0cnVjdCBzY2F0dGVybGlzdCAqZHN0X3NnLCAqYXV0aF9zZzsKLSAJc3RydWN0IGNyeXB0X2F1dGhfb3AgKmNhb3AgPSAma2Nhb3AtPmNhb3A7Ci0tCWludCByZXQgPSAwOwotKwlpbnQgcmV0OwotIAotLQlpZiAoY2FvcC0+ZmxhZ3MgJiBDT1BfRkxBR19BRUFEX1NSVFBfVFlQRSkgewotLQkJaWYgKHVubGlrZWx5KHNlc19wdHItPmNkYXRhLmluaXQgIT0gMCAmJgotLQkJICAgICAgICAgICAgIChzZXNfcHRyLT5jZGF0YS5zdHJlYW0gPT0gMCB8fAotLQkJCSAgICAgIHNlc19wdHItPmNkYXRhLmFlYWQgIT0gMCkpKSB7Ci0tCQkJZGVycigwLCAiT25seSBzdHJlYW0gbW9kZXMgYXJlIGFsbG93ZWQgaW4gU1JUUCBtb2RlIChidXQgbm90IEFFQUQpIik7Ci0tCQkJcmV0dXJuIC1FSU5WQUw7Ci0tCQl9Ci0rCWlmICh1bmxpa2VseShzZXNfcHRyLT5jZGF0YS5pbml0ICE9IDAgJiYKLSsJCShzZXNfcHRyLT5jZGF0YS5zdHJlYW0gPT0gMCB8fCBzZXNfcHRyLT5jZGF0YS5hZWFkICE9IDApKSkgewotKwkJZGVycigwLCAiT25seSBzdHJlYW0gbW9kZXMgYXJlIGFsbG93ZWQgaW4gU1JUUCBtb2RlIChidXQgbm90IEFFQUQpIik7Ci0rCQlyZXR1cm4gLUVJTlZBTDsKLSsJfQotIAotLQkJcmV0ID0gZ2V0X3VzZXJidWZfc3J0cChzZXNfcHRyLCBrY2FvcCwgJmF1dGhfc2csICZkc3Rfc2cpOwotLQkJaWYgKHVubGlrZWx5KHJldCkpIHsKLS0JCQlkZXJyKDEsICJnZXRfdXNlcmJ1Zl9zcnRwKCk6IEVycm9yIGdldHRpbmcgdXNlciBwYWdlcy4iKTsKLS0JCQlyZXR1cm4gcmV0OwotLQkJfQotKwlyZXQgPSBnZXRfdXNlcmJ1Zl9zcnRwKHNlc19wdHIsIGtjYW9wLCAmYXV0aF9zZywgJmRzdF9zZyk7Ci0rCWlmICh1bmxpa2VseShyZXQpKSB7Ci0rCQlkZXJyKDEsICJnZXRfdXNlcmJ1Zl9zcnRwKCk6IEVycm9yIGdldHRpbmcgdXNlciBwYWdlcy4iKTsKLSsJCXJldHVybiByZXQ7Ci0rCX0KLSAKLS0JCXJldCA9IHNydHBfYXV0aF9uX2NyeXB0KHNlc19wdHIsIGtjYW9wLCBhdXRoX3NnLCBjYW9wLT5hdXRoX2xlbiwKLS0JCQkgICBkc3Rfc2csIGNhb3AtPmxlbik7Ci0rCXJldCA9IHNydHBfYXV0aF9uX2NyeXB0KHNlc19wdHIsIGtjYW9wLCBhdXRoX3NnLCBjYW9wLT5hdXRoX2xlbiwKLSsJCQlkc3Rfc2csIGNhb3AtPmxlbik7Ci0gCi0tCQlyZWxlYXNlX3VzZXJfcGFnZXMoc2VzX3B0cik7Ci0tCX0gZWxzZSB7IC8qIFRMUyBhbmQgbm9ybWFsIGNhc2VzLiBIZXJlIGF1dGggZGF0YSBhcmUgdXN1YWxseSBzbWFsbAotLQkgICAgICAgICAgKiBzbyB3ZSBqdXN0IGNvcHkgdGhlbSB0byBhIGZyZWUgcGFnZSwgaW5zdGVhZCBvZiB0cnlpbmcKLS0JICAgICAgICAgICogdG8gbWFwIHRoZW0uCi0tCSAgICAgICAgICAqLwotLQkJdW5zaWduZWQgY2hhciAqYXV0aF9idWYgPSBOVUxMOwotLQkJc3RydWN0IHNjYXR0ZXJsaXN0IHRtcDsKLSsJcmVsZWFzZV91c2VyX3BhZ2VzKHNlc19wdHIpOwotIAotLQkJaWYgKHVubGlrZWx5KGNhb3AtPmF1dGhfbGVuID4gUEFHRV9TSVpFKSkgewotLQkJCWRlcnIoMSwgImF1dGggZGF0YSBsZW4gaXMgZXhjZXNzaXZlLiIpOwotLQkJCXJldHVybiAtRUlOVkFMOwotLQkJfQotKwlyZXR1cm4gcmV0OwotK30KLSAKLS0JCWF1dGhfYnVmID0gKGNoYXIgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCk7Ci0tCQlpZiAodW5saWtlbHkoIWF1dGhfYnVmKSkgewotLQkJCWRlcnIoMSwgInVuYWJsZSB0byBnZXQgYSBmcmVlIHBhZ2UuIik7Ci0tCQkJcmV0dXJuIC1FTk9NRU07Ci0tCQl9Ci0rc3RhdGljIGludCBjcnlwdG9fYXV0aF96Y190bHMoc3RydWN0IGNzZXNzaW9uICpzZXNfcHRyLCBzdHJ1Y3Qga2VybmVsX2NyeXB0X2F1dGhfb3AgKmtjYW9wKQotK3sKLSsJc3RydWN0IGNyeXB0X2F1dGhfb3AgKmNhb3AgPSAma2Nhb3AtPmNhb3A7Ci0rCXN0cnVjdCBzY2F0dGVybGlzdCAqZHN0X3NnLCAqYXV0aF9zZzsKLSsJdW5zaWduZWQgY2hhciAqYXV0aF9idWYgPSBOVUxMOwotKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgdG1wOwotKwlpbnQgcmV0OwotIAotLQkJaWYgKGNhb3AtPmF1dGhfc3JjICYmIGNhb3AtPmF1dGhfbGVuID4gMCkgewotLQkJCWlmICh1bmxpa2VseShjb3B5X2Zyb21fdXNlcihhdXRoX2J1ZiwgY2FvcC0+YXV0aF9zcmMsIGNhb3AtPmF1dGhfbGVuKSkpIHsKLS0JCQkJZGVycigxLCAidW5hYmxlIHRvIGNvcHkgYXV0aCBkYXRhIGZyb20gdXNlcnNwYWNlLiIpOwotLQkJCQlyZXQgPSAtRUZBVUxUOwotLQkJCQlnb3RvIGZyZWVfYXV0aF9idWY7Ci0tCQkJfQotKwlpZiAodW5saWtlbHkoc2VzX3B0ci0+Y2RhdGEuYWVhZCAhPSAwKSkgewotKwkJcmV0dXJuIC1FSU5WQUw7Ci0rCX0KLSsKLSsJaWYgKHVubGlrZWx5KGNhb3AtPmF1dGhfbGVuID4gUEFHRV9TSVpFKSkgewotKwkJZGVycigxLCAiYXV0aCBkYXRhIGxlbiBpcyBleGNlc3NpdmUuIik7Ci0rCQlyZXR1cm4gLUVJTlZBTDsKLSsJfQotKwotKwlhdXRoX2J1ZiA9IChjaGFyICopX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwpOwotKwlpZiAodW5saWtlbHkoIWF1dGhfYnVmKSkgewotKwkJZGVycigxLCAidW5hYmxlIHRvIGdldCBhIGZyZWUgcGFnZS4iKTsKLSsJCXJldHVybiAtRU5PTUVNOwotKwl9Ci0gCi0tCQkJc2dfaW5pdF9vbmUoJnRtcCwgYXV0aF9idWYsIGNhb3AtPmF1dGhfbGVuKTsKLS0JCQlhdXRoX3NnID0gJnRtcDsKLS0JCX0gZWxzZSB7Ci0tCQkJYXV0aF9zZyA9IE5VTEw7Ci0rCWlmIChjYW9wLT5hdXRoX3NyYyAmJiBjYW9wLT5hdXRoX2xlbiA+IDApIHsKLSsJCWlmICh1bmxpa2VseShjb3B5X2Zyb21fdXNlcihhdXRoX2J1ZiwgY2FvcC0+YXV0aF9zcmMsIGNhb3AtPmF1dGhfbGVuKSkpIHsKLSsJCQlkZXJyKDEsICJ1bmFibGUgdG8gY29weSBhdXRoIGRhdGEgZnJvbSB1c2Vyc3BhY2UuIik7Ci0rCQkJcmV0ID0gLUVGQVVMVDsKLSsJCQlnb3RvIGZyZWVfYXV0aF9idWY7Ci0gCQl9Ci0gCi0tCQlpZiAoY2FvcC0+ZmxhZ3MgJiBDT1BfRkxBR19BRUFEX1RMU19UWVBFICYmIHNlc19wdHItPmNkYXRhLmFlYWQgPT0gMCkgewotLQkJCXJldCA9IGdldF91c2VyYnVmX3RscyhzZXNfcHRyLCBrY2FvcCwgJmRzdF9zZyk7Ci0tCQkJaWYgKHVubGlrZWx5KHJldCkpIHsKLS0JCQkJZGVycigxLCAiZ2V0X3VzZXJidWZfdGxzKCk6IEVycm9yIGdldHRpbmcgdXNlciBwYWdlcy4iKTsKLS0JCQkJZ290byBmcmVlX2F1dGhfYnVmOwotLQkJCX0KLSsJCXNnX2luaXRfb25lKCZ0bXAsIGF1dGhfYnVmLCBjYW9wLT5hdXRoX2xlbik7Ci0rCQlhdXRoX3NnID0gJnRtcDsKLSsJfSBlbHNlIHsKLSsJCWF1dGhfc2cgPSBOVUxMOwotKwl9Ci0gCi0tCQkJcmV0ID0gdGxzX2F1dGhfbl9jcnlwdChzZXNfcHRyLCBrY2FvcCwgYXV0aF9zZywgY2FvcC0+YXV0aF9sZW4sCi0tCQkJCSAgIGRzdF9zZywgY2FvcC0+bGVuKTsKLS0JCX0gZWxzZSB7Ci0tCQkJaWYgKHVubGlrZWx5KHNlc19wdHItPmNkYXRhLmluaXQgPT0gMCB8fAotLQkJCSAgICAgICAgICAgICAoc2VzX3B0ci0+Y2RhdGEuc3RyZWFtID09IDAgJiYKLS0JCQkJICAgICAgc2VzX3B0ci0+Y2RhdGEuYWVhZCA9PSAwKSkpIHsKLS0JCQkJZGVycigwLCAiT25seSBzdHJlYW0gYW5kIEFFQUQgY2lwaGVycyBhcmUgYWxsb3dlZCBmb3IgYXV0aGVuYyIpOwotLQkJCQlyZXQgPSAtRUlOVkFMOwotLQkJCQlnb3RvIGZyZWVfYXV0aF9idWY7Ci0tCQkJfQotKwlyZXQgPSBnZXRfdXNlcmJ1Zl90bHMoc2VzX3B0ciwga2Nhb3AsICZkc3Rfc2cpOwotKwlpZiAodW5saWtlbHkocmV0KSkgewotKwkJZGVycigxLCAiZ2V0X3VzZXJidWZfdGxzKCk6IEVycm9yIGdldHRpbmcgdXNlciBwYWdlcy4iKTsKLSsJCWdvdG8gZnJlZV9hdXRoX2J1ZjsKLSsJfQotIAotLQkJCXJldCA9IGdldF91c2VyYnVmKHNlc19wdHIsIGNhb3AtPnNyYywgY2FvcC0+bGVuLCBjYW9wLT5kc3QsIGtjYW9wLT5kc3RfbGVuLAotLQkJCQkJICBrY2FvcC0+dGFzaywga2Nhb3AtPm1tLCAmc3JjX3NnLCAmZHN0X3NnKTsKLS0JCQlpZiAodW5saWtlbHkocmV0KSkgewotLQkJCQlkZXJyKDEsICJnZXRfdXNlcmJ1ZigpOiBFcnJvciBnZXR0aW5nIHVzZXIgcGFnZXMuIik7Ci0tCQkJCWdvdG8gZnJlZV9hdXRoX2J1ZjsKLS0JCQl9Ci0rCXJldCA9IHRsc19hdXRoX25fY3J5cHQoc2VzX3B0ciwga2Nhb3AsIGF1dGhfc2csIGNhb3AtPmF1dGhfbGVuLAotKwkJCWRzdF9zZywgY2FvcC0+bGVuKTsKLSsJcmVsZWFzZV91c2VyX3BhZ2VzKHNlc19wdHIpOwotKwotK2ZyZWVfYXV0aF9idWY6Ci0rCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylhdXRoX2J1Zik7Ci0rCXJldHVybiByZXQ7Ci0rfQotKwotK3N0YXRpYyBpbnQgY3J5cHRvX2F1dGhfemNfYWVhZChzdHJ1Y3QgY3Nlc3Npb24gKnNlc19wdHIsIHN0cnVjdCBrZXJuZWxfY3J5cHRfYXV0aF9vcCAqa2Nhb3ApCi0rewotKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKmRzdF9zZywgKmF1dGhfc2csICpzcmNfc2c7Ci0rCXN0cnVjdCBjcnlwdF9hdXRoX29wICpjYW9wID0gJmtjYW9wLT5jYW9wOwotKwl1bnNpZ25lZCBjaGFyICphdXRoX2J1ZiA9IE5VTEw7Ci0rCXN0cnVjdCBzY2F0dGVybGlzdCB0bXA7Ci0rCWludCByZXQ7Ci0gCi0tCQkJcmV0ID0gYXV0aF9uX2NyeXB0KHNlc19wdHIsIGtjYW9wLCBhdXRoX3NnLCBjYW9wLT5hdXRoX2xlbiwKLS0JCQkJCSAgIHNyY19zZywgZHN0X3NnLCBjYW9wLT5sZW4pOwotKwlpZiAodW5saWtlbHkoc2VzX3B0ci0+Y2RhdGEuaW5pdCA9PSAwIHx8Ci0rCQkoc2VzX3B0ci0+Y2RhdGEuc3RyZWFtID09IDAgJiYgc2VzX3B0ci0+Y2RhdGEuYWVhZCA9PSAwKSkpIHsKLSsJCWRlcnIoMCwgIk9ubHkgc3RyZWFtIGFuZCBBRUFEIGNpcGhlcnMgYXJlIGFsbG93ZWQgZm9yIGF1dGhlbmMiKTsKLSsJCXJldHVybiAtRUlOVkFMOwotKwl9Ci0rCi0rCWlmICh1bmxpa2VseShjYW9wLT5hdXRoX2xlbiA+IFBBR0VfU0laRSkpIHsKLSsJCWRlcnIoMSwgImF1dGggZGF0YSBsZW4gaXMgZXhjZXNzaXZlLiIpOwotKwkJcmV0dXJuIC1FSU5WQUw7Ci0rCX0KLSsKLSsJYXV0aF9idWYgPSAoY2hhciAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMKTsKLSsJaWYgKHVubGlrZWx5KCFhdXRoX2J1ZikpIHsKLSsJCWRlcnIoMSwgInVuYWJsZSB0byBnZXQgYSBmcmVlIHBhZ2UuIik7Ci0rCQlyZXR1cm4gLUVOT01FTTsKLSsJfQotKwotKwlpZiAoY2FvcC0+YXV0aF9zcmMgJiYgY2FvcC0+YXV0aF9sZW4gPiAwKSB7Ci0rCQlpZiAodW5saWtlbHkoY29weV9mcm9tX3VzZXIoYXV0aF9idWYsIGNhb3AtPmF1dGhfc3JjLCBjYW9wLT5hdXRoX2xlbikpKSB7Ci0rCQkJZGVycigxLCAidW5hYmxlIHRvIGNvcHkgYXV0aCBkYXRhIGZyb20gdXNlcnNwYWNlLiIpOwotKwkJCXJldCA9IC1FRkFVTFQ7Ci0rCQkJZ290byBmcmVlX2F1dGhfYnVmOwotIAkJfQotIAotLQkJcmVsZWFzZV91c2VyX3BhZ2VzKHNlc19wdHIpOwotKwkJc2dfaW5pdF9vbmUoJnRtcCwgYXV0aF9idWYsIGNhb3AtPmF1dGhfbGVuKTsKLSsJCWF1dGhfc2cgPSAmdG1wOwotKwl9IGVsc2UgewotKwkJYXV0aF9zZyA9IE5VTEw7Ci0rCX0KLSsKLSsJcmV0ID0gZ2V0X3VzZXJidWYoc2VzX3B0ciwgY2FvcC0+c3JjLCBjYW9wLT5sZW4sIGNhb3AtPmRzdCwga2Nhb3AtPmRzdF9sZW4sCi0rCQkJa2Nhb3AtPnRhc2ssIGtjYW9wLT5tbSwgJnNyY19zZywgJmRzdF9zZyk7Ci0rCWlmICh1bmxpa2VseShyZXQpKSB7Ci0rCQlkZXJyKDEsICJnZXRfdXNlcmJ1ZigpOiBFcnJvciBnZXR0aW5nIHVzZXIgcGFnZXMuIik7Ci0rCQlnb3RvIGZyZWVfYXV0aF9idWY7Ci0rCX0KLSsKLSsJcmV0ID0gYXV0aF9uX2NyeXB0KHNlc19wdHIsIGtjYW9wLCBhdXRoX3NnLCBjYW9wLT5hdXRoX2xlbiwKLSsJCQlzcmNfc2csIGRzdF9zZywgY2FvcC0+bGVuKTsKLSsKLSsJcmVsZWFzZV91c2VyX3BhZ2VzKHNlc19wdHIpOwotIAotIGZyZWVfYXV0aF9idWY6Ci0tCQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpYXV0aF9idWYpOwotKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpYXV0aF9idWYpOwotKwotKwlyZXR1cm4gcmV0OwotK30KLSsKLStzdGF0aWMgaW50Ci0rX19jcnlwdG9fYXV0aF9ydW5femMoc3RydWN0IGNzZXNzaW9uICpzZXNfcHRyLCBzdHJ1Y3Qga2VybmVsX2NyeXB0X2F1dGhfb3AgKmtjYW9wKQotK3sKLSsJc3RydWN0IGNyeXB0X2F1dGhfb3AgKmNhb3AgPSAma2Nhb3AtPmNhb3A7Ci0rCWludCByZXQ7Ci0rCi0rCWlmIChjYW9wLT5mbGFncyAmIENPUF9GTEFHX0FFQURfU1JUUF9UWVBFKSB7Ci0rCQlyZXQgPSBjcnlwdG9fYXV0aF96Y19zcnRwKHNlc19wdHIsIGtjYW9wKTsKLSsJfSBlbHNlIGlmIChjYW9wLT5mbGFncyAmIENPUF9GTEFHX0FFQURfVExTX1RZUEUpIHsKLSsJCXJldCA9IGNyeXB0b19hdXRoX3pjX3RscyhzZXNfcHRyLCBrY2FvcCk7Ci0rCX0gZWxzZSB7Ci0rCQlyZXQgPSBjcnlwdG9fYXV0aF96Y19hZWFkKHNlc19wdHIsIGtjYW9wKTsKLSAJfQotIAotIAlyZXR1cm4gcmV0OwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAyLXJlZmFjdG9yaW5nLXJlbG9jYXRlLWNvZGUtdG8tc2ltcGxpZnktbGF0ZXItcGF0Y2hlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMi1yZWZhY3RvcmluZy1yZWxvY2F0ZS1jb2RlLXRvLXNpbXBsaWZ5LWxhdGVyLXBhdGNoZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzZDkwMDUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAyLXJlZmFjdG9yaW5nLXJlbG9jYXRlLWNvZGUtdG8tc2ltcGxpZnktbGF0ZXItcGF0Y2hlcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLUZyb20gYzJiZjBlNDJiMWQ5ZmRhNjBjZGU0YTNhNjgyNzg0ZDM0OWVmMWMwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENyaXN0aWFuIFN0b2ljYSA8Y3Jpc3RpYW4uc3RvaWNhQG54cC5jb20+Ci1EYXRlOiBUaHUsIDQgTWF5IDIwMTcgMTU6MDY6MjEgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzNdIHJlZmFjdG9yaW5nOiByZWxvY2F0ZSBjb2RlIHRvIHNpbXBsaWZ5IGxhdGVyIHBhdGNoZXMKLQotVGhpcyBjb2RlIG1vdmUgd2lsbCBzaW1wbGlmeSB0aGUgY29udmVyc2lvbiB0byBuZXcgQUVBRCBpbnRlcmZhY2UgaW4KLW5leHQgcGF0Y2hlcwotCi1TaWduZWQtb2ZmLWJ5OiBDcmlzdGlhbiBTdG9pY2EgPGNyaXN0aWFuLnN0b2ljYUBueHAuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLUNvbW1pdCBJRDogYzJiZjBlNDJiMWQ5ZmRhCi0KLVNpZ25lZC1vZmYtYnk6IEhvbmd6aGkuU29uZyA8aG9uZ3poaS5zb25nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBhdXRoZW5jLmMgfCAxNyArKysrKysrKystLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9hdXRoZW5jLmMgYi9hdXRoZW5jLmMKLWluZGV4IDI4ZWIwZjkuLjk1NzI3YjQgMTAwNjQ0Ci0tLS0gYS9hdXRoZW5jLmMKLSsrKyBiL2F1dGhlbmMuYwotQEAgLTcxMSwxMSArNzExLDE4IEBAIHN0YXRpYyBpbnQgY3J5cHRvX2F1dGhfemNfYWVhZChzdHJ1Y3QgY3Nlc3Npb24gKnNlc19wdHIsIHN0cnVjdCBrZXJuZWxfY3J5cHRfYXV0Ci0gCQlyZXR1cm4gLUVOT01FTTsKLSAJfQotIAotKwlyZXQgPSBnZXRfdXNlcmJ1ZihzZXNfcHRyLCBjYW9wLT5zcmMsIGNhb3AtPmxlbiwgY2FvcC0+ZHN0LCBrY2FvcC0+ZHN0X2xlbiwKLSsJCQlrY2FvcC0+dGFzaywga2Nhb3AtPm1tLCAmc3JjX3NnLCAmZHN0X3NnKTsKLSsJaWYgKHVubGlrZWx5KHJldCkpIHsKLSsJCWRlcnIoMSwgImdldF91c2VyYnVmKCk6IEVycm9yIGdldHRpbmcgdXNlciBwYWdlcy4iKTsKLSsJCWdvdG8gZnJlZV9hdXRoX2J1ZjsKLSsJfQotKwotIAlpZiAoY2FvcC0+YXV0aF9zcmMgJiYgY2FvcC0+YXV0aF9sZW4gPiAwKSB7Ci0gCQlpZiAodW5saWtlbHkoY29weV9mcm9tX3VzZXIoYXV0aF9idWYsIGNhb3AtPmF1dGhfc3JjLCBjYW9wLT5hdXRoX2xlbikpKSB7Ci0gCQkJZGVycigxLCAidW5hYmxlIHRvIGNvcHkgYXV0aCBkYXRhIGZyb20gdXNlcnNwYWNlLiIpOwotIAkJCXJldCA9IC1FRkFVTFQ7Ci0tCQkJZ290byBmcmVlX2F1dGhfYnVmOwotKwkJCWdvdG8gZnJlZV9wYWdlczsKLSAJCX0KLSAKLSAJCXNnX2luaXRfb25lKCZ0bXAsIGF1dGhfYnVmLCBjYW9wLT5hdXRoX2xlbik7Ci1AQCAtNzI0LDE2ICs3MzEsMTAgQEAgc3RhdGljIGludCBjcnlwdG9fYXV0aF96Y19hZWFkKHN0cnVjdCBjc2Vzc2lvbiAqc2VzX3B0ciwgc3RydWN0IGtlcm5lbF9jcnlwdF9hdXQKLSAJCWF1dGhfc2cgPSBOVUxMOwotIAl9Ci0gCi0tCXJldCA9IGdldF91c2VyYnVmKHNlc19wdHIsIGNhb3AtPnNyYywgY2FvcC0+bGVuLCBjYW9wLT5kc3QsIGtjYW9wLT5kc3RfbGVuLAotLQkJCWtjYW9wLT50YXNrLCBrY2FvcC0+bW0sICZzcmNfc2csICZkc3Rfc2cpOwotLQlpZiAodW5saWtlbHkocmV0KSkgewotLQkJZGVycigxLCAiZ2V0X3VzZXJidWYoKTogRXJyb3IgZ2V0dGluZyB1c2VyIHBhZ2VzLiIpOwotLQkJZ290byBmcmVlX2F1dGhfYnVmOwotLQl9Ci0tCi0gCXJldCA9IGF1dGhfbl9jcnlwdChzZXNfcHRyLCBrY2FvcCwgYXV0aF9zZywgY2FvcC0+YXV0aF9sZW4sCi0gCQkJc3JjX3NnLCBkc3Rfc2csIGNhb3AtPmxlbik7Ci0gCi0rZnJlZV9wYWdlczoKLSAJcmVsZWFzZV91c2VyX3BhZ2VzKHNlc19wdHIpOwotIAotIGZyZWVfYXV0aF9idWY6Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDMtY29udmVydC10by1uZXctQUVBRC1pbnRlcmZhY2UtaW4ta2VybmVscy12NC4yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAzLWNvbnZlcnQtdG8tbmV3LUFFQUQtaW50ZXJmYWNlLWluLWtlcm5lbHMtdjQuMi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODYwMjMwNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDMtY29udmVydC10by1uZXctQUVBRC1pbnRlcmZhY2UtaW4ta2VybmVscy12NC4yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAyICswLDAgQEAKLUZyb20gYTcwNTM2MDE5NzI2MGQyODUzNTc0NmFlOThjNDYxYmEyY2ZiN2E5ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENyaXN0aWFuIFN0b2ljYSA8Y3Jpc3RpYW4uc3RvaWNhQG54cC5jb20+Ci1EYXRlOiBUaHUsIDQgTWF5IDIwMTcgMTU6MDY6MjIgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCAzLzNdIGNvbnZlcnQgdG8gbmV3IEFFQUQgaW50ZXJmYWNlIGluIGtlcm5lbHMgdjQuMisKLQotVGhlIGNyeXB0byBBUEkgZm9yIEFFQUQgY2lwaGVycyBjaGFuZ2VkIGluIHJlY2VudCBrZXJuZWxzIHNvIHRoYXQKLWFzc29jaWF0ZWQgZGF0YSBpcyBub3cgcGFydCBvZiBib3RoIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gc2NhdHRlcgotZ2F0aGVycy4gVGhlIHNvdXJjZSwgZGVzdGluYXRpb24gYW5kIGFzc29jaWF0ZWQgZGF0YSBidWZmZXJzIG5lZWQKLXRvIGJlIHN0aWNoZWQgYWNjb3JkaW5nbHkgZm9yIHRoZSBvcGVyYXRpb25zIHRvIHN1Y2NlZWQ6Ci0KLXNyY19zZzogYXV0aF9idWYgKyBzcmNfYnVmCi1kc3Rfc2c6IGF1dGhfYnVmICsgKGRzdF9idWYgKyB0YWcgc3BhY2UpCi0KLVRoaXMgcGF0Y2ggZml4ZXMgYSBrZXJuZWwgY3Jhc2ggb2JzZXJ2ZWQgd2l0aCBjaXBoZXItZ2NtIHRlc3QuCi0KLVNlZSBhbHNvIGtlcm5lbCBwYXRjaDogODFjNGMzNWViNjFhNjljMjI5ODcxYzQ5MGIwMTFjMTE3MTUxMWQ1YQotICAgIGNyeXB0bzogY2NtIC0gQ29udmVydCB0byBuZXcgQUVBRCBpbnRlcmZhY2UKLQotUmVwb3J0ZWQtYnk6IFBoaWwgU3V0dGVyIDxwaGlsQG53bC5jYz4KLVNpZ25lZC1vZmYtYnk6IENyaXN0aWFuIFN0b2ljYSA8Y3Jpc3RpYW4uc3RvaWNhQG54cC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotQ29tbWl0IElEOiBhNzA1MzYwMTk3MjYwZDI4NTM1NzQKLQotU2lnbmVkLW9mZi1ieTogSG9uZ3poaS5Tb25nIDxob25nemhpLnNvbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIGF1dGhlbmMuYyB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2F1dGhlbmMuYyBiL2F1dGhlbmMuYwotaW5kZXggOTU3MjdiNC4uNjkyOTUxZiAxMDA2NDQKLS0tLSBhL2F1dGhlbmMuYwotKysrIGIvYXV0aGVuYy5jCi1AQCAtNjg4LDEyICs2ODgsMjAgQEAgZnJlZV9hdXRoX2J1ZjoKLSAKLSBzdGF0aWMgaW50IGNyeXB0b19hdXRoX3pjX2FlYWQoc3RydWN0IGNzZXNzaW9uICpzZXNfcHRyLCBzdHJ1Y3Qga2VybmVsX2NyeXB0X2F1dGhfb3AgKmtjYW9wKQotIHsKLS0Jc3RydWN0IHNjYXR0ZXJsaXN0ICpkc3Rfc2csICphdXRoX3NnLCAqc3JjX3NnOwotKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKmRzdF9zZzsKLSsJc3RydWN0IHNjYXR0ZXJsaXN0ICpzcmNfc2c7Ci0gCXN0cnVjdCBjcnlwdF9hdXRoX29wICpjYW9wID0gJmtjYW9wLT5jYW9wOwotIAl1bnNpZ25lZCBjaGFyICphdXRoX2J1ZiA9IE5VTEw7Ci0tCXN0cnVjdCBzY2F0dGVybGlzdCB0bXA7Ci0gCWludCByZXQ7Ci0gCi0rI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTig0LCAyLCAwKSkKLSsJc3RydWN0IHNjYXR0ZXJsaXN0IHRtcDsKLSsJc3RydWN0IHNjYXR0ZXJsaXN0ICphdXRoX3NnOwotKyNlbHNlCi0rCXN0cnVjdCBzY2F0dGVybGlzdCBhdXRoMVsyXTsKLSsJc3RydWN0IHNjYXR0ZXJsaXN0IGF1dGgyWzJdOwotKyNlbmRpZgotKwotIAlpZiAodW5saWtlbHkoc2VzX3B0ci0+Y2RhdGEuaW5pdCA9PSAwIHx8Ci0gCQkoc2VzX3B0ci0+Y2RhdGEuc3RyZWFtID09IDAgJiYgc2VzX3B0ci0+Y2RhdGEuYWVhZCA9PSAwKSkpIHsKLSAJCWRlcnIoMCwgIk9ubHkgc3RyZWFtIGFuZCBBRUFEIGNpcGhlcnMgYXJlIGFsbG93ZWQgZm9yIGF1dGhlbmMiKTsKLUBAIC03MTgsNiArNzI2LDcgQEAgc3RhdGljIGludCBjcnlwdG9fYXV0aF96Y19hZWFkKHN0cnVjdCBjc2Vzc2lvbiAqc2VzX3B0ciwgc3RydWN0IGtlcm5lbF9jcnlwdF9hdXQKLSAJCWdvdG8gZnJlZV9hdXRoX2J1ZjsKLSAJfQotIAotKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oNCwgMiwgMCkpCi0gCWlmIChjYW9wLT5hdXRoX3NyYyAmJiBjYW9wLT5hdXRoX2xlbiA+IDApIHsKLSAJCWlmICh1bmxpa2VseShjb3B5X2Zyb21fdXNlcihhdXRoX2J1ZiwgY2FvcC0+YXV0aF9zcmMsIGNhb3AtPmF1dGhfbGVuKSkpIHsKLSAJCQlkZXJyKDEsICJ1bmFibGUgdG8gY29weSBhdXRoIGRhdGEgZnJvbSB1c2Vyc3BhY2UuIik7Ci1AQCAtNzMzLDYgKzc0MiwzMyBAQCBzdGF0aWMgaW50IGNyeXB0b19hdXRoX3pjX2FlYWQoc3RydWN0IGNzZXNzaW9uICpzZXNfcHRyLCBzdHJ1Y3Qga2VybmVsX2NyeXB0X2F1dAotIAotIAlyZXQgPSBhdXRoX25fY3J5cHQoc2VzX3B0ciwga2Nhb3AsIGF1dGhfc2csIGNhb3AtPmF1dGhfbGVuLAotIAkJCXNyY19zZywgZHN0X3NnLCBjYW9wLT5sZW4pOwotKyNlbHNlCi0rCWlmIChjYW9wLT5hdXRoX3NyYyAmJiBjYW9wLT5hdXRoX2xlbiA+IDApIHsKLSsJCWlmICh1bmxpa2VseShjb3B5X2Zyb21fdXNlcihhdXRoX2J1ZiwgY2FvcC0+YXV0aF9zcmMsIGNhb3AtPmF1dGhfbGVuKSkpIHsKLSsJCQlkZXJyKDEsICJ1bmFibGUgdG8gY29weSBhdXRoIGRhdGEgZnJvbSB1c2Vyc3BhY2UuIik7Ci0rCQkJcmV0ID0gLUVGQVVMVDsKLSsJCQlnb3RvIGZyZWVfcGFnZXM7Ci0rCQl9Ci0rCi0rCQlzZ19pbml0X3RhYmxlKGF1dGgxLCAyKTsKLSsJCXNnX3NldF9idWYoYXV0aDEsIGF1dGhfYnVmLCBjYW9wLT5hdXRoX2xlbik7Ci0rCQlzZ19jaGFpbihhdXRoMSwgMiwgc3JjX3NnKTsKLSsKLSsJCWlmIChzcmNfc2cgPT0gZHN0X3NnKSB7Ci0rCQkJc3JjX3NnID0gYXV0aDE7Ci0rCQkJZHN0X3NnID0gYXV0aDE7Ci0rCQl9IGVsc2UgewotKwkJCXNnX2luaXRfdGFibGUoYXV0aDIsIDIpOwotKwkJCXNnX3NldF9idWYoYXV0aDIsIGF1dGhfYnVmLCBjYW9wLT5hdXRoX2xlbik7Ci0rCQkJc2dfY2hhaW4oYXV0aDIsIDIsIGRzdF9zZyk7Ci0rCQkJc3JjX3NnID0gYXV0aDE7Ci0rCQkJZHN0X3NnID0gYXV0aDI7Ci0rCQl9Ci0rCX0KLSsKLSsJcmV0ID0gYXV0aF9uX2NyeXB0KHNlc19wdHIsIGtjYW9wLCBOVUxMLCBjYW9wLT5hdXRoX2xlbiwKLSsJCQlzcmNfc2csIGRzdF9zZywgY2FvcC0+bGVuKTsKLSsjZW5kaWYKLSAKLSBmcmVlX3BhZ2VzOgotIAlyZWxlYXNlX3VzZXJfcGFnZXMoc2VzX3B0cik7Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva2Vybi10b29scy9rZXJuLXRvb2xzLW5hdGl2ZV9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva2Vybi10b29scy9rZXJuLXRvb2xzLW5hdGl2ZV9naXQuYmIKaW5kZXggYjM1M2MyMS4uNWMxZDdmNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tlcm4tdG9vbHMva2Vybi10b29scy1uYXRpdmVfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rZXJuLXRvb2xzL2tlcm4tdG9vbHMtbmF0aXZlX2dpdC5iYgpAQCAtNCw3ICs0LDcgQEAKIAogREVQRU5EUyA9ICJnaXQtbmF0aXZlIgogCi1TUkNSRVYgPSAiZDY1MjlmODZmYzViY2IzNTE0OTUzZmY5ZmEyZjUxYTNmYmYwM2EwZiIKK1NSQ1JFViA9ICJhZjFhNzc5ZjY2MmM4MWRhNTIxZTRkNjAyZjNjNjQ0NjU0N2QxMmEyIgogUFIgPSAicjEyIgogUFYgPSAiMC4yK2dpdCR7U1JDUFZ9IgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMvMDAwMS1rZXhlYy1maXgtZm9yLVVuaGFuZGxlZC1yZWxhLXJlbG9jYXRpb24tUl9YODZfNjRfUExULnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLzAwMDEta2V4ZWMtZml4LWZvci1VbmhhbmRsZWQtcmVsYS1yZWxvY2F0aW9uLVJfWDg2XzY0X1BMVC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTBjY2VkNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMvMDAwMS1rZXhlYy1maXgtZm9yLVVuaGFuZGxlZC1yZWxhLXJlbG9jYXRpb24tUl9YODZfNjRfUExULnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotRnJvbSBiOWRlMjFlZjUxYTdjZWFiNzEyMmE3MDdjMTg4NjAyZWFlMjJjNGVlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hyaXMgQ2xheXRvbiA8Y2hyaXMyNTUzQGdvb2dsZW1haWwuY29tPgotRGF0ZTogTW9uLCAyMCBBdWcgMjAxOCAxMjowMDozMSArMDEwMAotU3ViamVjdDogW1BBVENIXSBrZXhlYzogZml4IGZvciAiVW5oYW5kbGVkIHJlbGEgcmVsb2NhdGlvbjogUl9YODZfNjRfUExUMzIiIGVycm9yCi0KLUluIHJlc3BvbnNlIHRvIGEgY2hhbmdlIGluIGJpbnV0aWxzLCBjb21taXQgYjIxZWJmMmZiNGMKLSh4ODY6IFRyZWF0IFJfWDg2XzY0X1BMVDMyIGFzIFJfWDg2XzY0X1BDMzIpIHdhcyBhcHBsaWVkIHRvCi10aGUgbGludXgga2VybmVsIGR1cmluZyB0aGUgNC4xNiBkZXZlbG9wbWVudCBjeWNsZSBhbmQgaGFzCi1zaW5jZSBiZWVuIGJhY2twb3J0ZWQgdG8gZWFybGllciBzdGFibGUga2VybmVsIHNlcmllcy4gVGhlCi1jaGFuZ2UgcmVzdWx0cyBpbiB0aGUgZmFpbHVyZSBtZXNzYWdlIGluICRTVUJKRUNUIHdoZW4KLXJlYm9vdGluZyB2aWEga2V4ZWMuCi0KLUZpeCB0aGlzIGJ5IHJlcGxpY2F0aW5nIHRoZSBjaGFuZ2UgaW4ga2V4ZWMuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnRbaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL3V0aWxzL2tlcm5lbC9rZXhlYy9rZXhlYy10b29scy5naXQvY29tbWl0Lz9pZD1iOWRlMjFlZjUxYTdjZWFiNzEyMmE3MDdjMTg4NjAyZWFlMjJjNGVlXQotCi1TaWduZWQtb2ZmLWJ5OiBDaHJpcyBDbGF5dG9uIDxjaHJpczI1NTNAZ29vZ2xlbWFpbC5jb20+Ci1BY2tlZC1ieTogQmFvcXVhbiBIZSA8YmhlQHJlZGhhdC5jb20+Ci1UZXN0ZWQtYnk6IEJodXBlc2ggU2hhcm1hIDxiaHNoYXJtYUByZWRoYXQuY29tPgotQWNrZWQtYnk6IEJodXBlc2ggU2hhcm1hIDxiaHNoYXJtYUByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Ci1TaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPE1pbmdsaS5ZdUB3aW5kcml2ZXIuY29tPgotLS0tCi0ga2V4ZWMvYXJjaC94ODZfNjQva2V4ZWMtZWxmLXJlbC14ODZfNjQuYyB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEva2V4ZWMvYXJjaC94ODZfNjQva2V4ZWMtZWxmLXJlbC14ODZfNjQuYyBiL2tleGVjL2FyY2gveDg2XzY0L2tleGVjLWVsZi1yZWwteDg2XzY0LmMKLWluZGV4IDdmZGRlNzMuLmRiODViNDQgMTAwNjQ0Ci0tLS0gYS9rZXhlYy9hcmNoL3g4Nl82NC9rZXhlYy1lbGYtcmVsLXg4Nl82NC5jCi0rKysgYi9rZXhlYy9hcmNoL3g4Nl82NC9rZXhlYy1lbGYtcmVsLXg4Nl82NC5jCi1AQCAtNzksNiArNzksNyBAQCB2b2lkIG1hY2hpbmVfYXBwbHlfZWxmX3JlbChzdHJ1Y3QgbWVtX2VoZHIgKlVOVVNFRChlaGRyKSwKLSAJCQlnb3RvIG92ZXJmbG93OwotIAkJYnJlYWs7Ci0gCWNhc2UgUl9YODZfNjRfUEMzMjogCi0rCWNhc2UgUl9YODZfNjRfUExUMzI6Ci0gCQkqKHVpbnQzMl90ICopbG9jYXRpb24gPSB2YWx1ZSAtIGFkZHJlc3M7Ci0gCQlicmVhazsKLSAJZGVmYXVsdDoKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzXzIuMC4xNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29sc18yLjAuMTcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiOWI1YWMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzXzIuMC4xNy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDg4ICswLDAgQEAKLQotU1VNTUFSWSA9ICJLZXhlYyBmYXN0IHJlYm9vdCB0b29scyIKLURFU0NSSVBUSU9OID0gIktleGVjIGlzIGEgZmFzdCByZWJvb3QgZmVhdHVyZSB0aGF0IGxldHMgeW91IHJlYm9vdCB0byBhIG5ldyBMaW51eCBrZXJuZWwiCi1BVVRIT1IgPSAiRXJpYyBCaWVkZXJtYW4iCi1IT01FUEFHRSA9ICJodHRwOi8va2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMva2VybmVsL2tleGVjLyIKLVNFQ1RJT04gPSAia2VybmVsL3VzZXJsYW5kIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVhNWJlZDJmNjBkMzU3NjE4Y2ExNjFhZDUzOWY3YzBhIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2tleGVjL2tleGVjLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9YWYxMGY2YWU0YTg3MTU5NjVlNjQ4YWE2ODdhZDNlMDkiCi1ERVBFTkRTID0gInpsaWIgeHoiCi0KLVNSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC91dGlscy9rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2tkdW1wIFwKLSAgICAgICAgICAgZmlsZTovL2tkdW1wLmNvbmYgXAotICAgICAgICAgICBmaWxlOi8va2R1bXAuc2VydmljZSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLXBvd2VycGMtY2hhbmdlLXRoZS1tZW1vcnktc2l6ZS1saW1pdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXB1cmdhdG9yeS1QYXNzLXItZGlyZWN0bHktdG8tbGlua2VyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTAta2V4ZWMtQVJNLUZpeC1hZGRfYnVmZmVyX3BoeXNfdmlydC1hbGlnbi1pc3N1ZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXhlYy14MzIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1EaXNhYmxlLVBJRS1kdXJpbmctbGluay5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWtleGVjLWZpeC1mb3ItVW5oYW5kbGVkLXJlbGEtcmVsb2NhdGlvbi1SX1g4Nl82NF9QTFQucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI4ZTA3MWNhNDczNjk0YTcxZTRhZTYwZWQ3ZWY2ZjM3NyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0NTBjODdiYTA0ODY0MWViMDVmOTcxN2Y1NTY3YWNhNTdmMDYzYzI2NjE0OWFlNjYzYjU4YTM0ZTU4NTJkZWFmIgotCi1pbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzeXN0ZW1kCi0KLWV4cG9ydCBMREZMQUdTID0gIi1MJHtTVEFHSU5HX0xJQkRJUn0iCi1FWFRSQV9PRUNPTkYgPSAiIC0td2l0aC16bGliPXllcyIKLQotZG9fY29tcGlsZV9wcmVwZW5kKCkgewotICAgICMgUmVtb3ZlIHRoZSBwcmVwYWNrYWdlZCBjb25maWcuaCBmcm9tIHRoZSBzb3VyY2UgdHJlZSBhcyBpdCBvdmVycmlkZXMKLSAgICAjIHRoZSBzYW1lIGZpbGUgZ2VuZXJhdGVkIGJ5IGNvbmZpZ3VyZSBhbmQgcGxhY2VkIGluIHRoZSBidWlsZCB0cmVlCi0gICAgcm0gLWYgJHtTfS9pbmNsdWRlL2NvbmZpZy5oCi0KLSAgICAjIFJlbW92ZSB0aGUgJyouZCcgZmlsZSB0byBtYWtlIHN1cmUgdGhlIHJlY29tcGlsZSBpcyBPSwotICAgIGZvciBkZXAgaW4gYGZpbmQgJHtCfSAtdHlwZSBmIC1uYW1lICcqLmQnYDsgZG8KLSAgICAgICAgZGVwX25vX2Q9ImBlY2hvICRkZXAgfCBzZWQgJ3MjLmQkIyMnYCIKLSAgICAgICAgIyBSZW1vdmUgZmlsZS5kIHdoZW4gdGhlcmUgaXMgYSBmaWxlLm8KLSAgICAgICAgaWYgWyAtZiAiJGRlcF9ub19kLm8iIF07IHRoZW4KLSAgICAgICAgICAgIHJtIC1mICRkZXAKLSAgICAgICAgZmkKLSAgICBkb25lCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zeXNjb25maWcKLSAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0va2R1bXAuY29uZiAke0R9JHtzeXNjb25mZGlyfS9zeXNjb25maWcKLQotICAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLSAgICAgICAgICAgICAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtXT1JLRElSfS9rZHVtcCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQva2R1bXAKLSAgICAgICAgZmkKLQotICAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICAgICAgICAgIGluc3RhbGwgLUQgLW0gMDc1NSAke1dPUktESVJ9L2tkdW1wICR7RH0ke2xpYmV4ZWNkaXJ9L2tkdW1wLWhlbHBlcgotICAgICAgICAgICAgICAgIGluc3RhbGwgLUQgLW0gMDY0NCAke1dPUktESVJ9L2tkdW1wLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0va2R1bXAuc2VydmljZQotICAgICAgICAgICAgICAgIHNlZCAtaSAtZSAncyxATElCRVhFQ0RJUkAsJHtsaWJleGVjZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9rZHVtcC5zZXJ2aWNlCi0gICAgICAgIGZpCi19Ci0KLVBBQ0tBR0VTID0rICJrZXhlYyBrZHVtcCB2bWNvcmUtZG1lc2ciCi0KLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCi1SUkVDT01NRU5EU18ke1BOfSA9ICJrZXhlYyBrZHVtcCB2bWNvcmUtZG1lc2ciCi0KLUZJTEVTX2tleGVjID0gIiR7c2JpbmRpcn0va2V4ZWMiCi1GSUxFU19rZHVtcCA9ICIke3NiaW5kaXJ9L2tkdW1wIFwKLSAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vc3lzY29uZmlnL2tkdW1wLmNvbmYgXAotICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQva2R1bXAgXAotICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9rZHVtcC1oZWxwZXIgXAotICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9rZHVtcC5zZXJ2aWNlIFwKLSIKLQotRklMRVNfdm1jb3JlLWRtZXNnID0gIiR7c2JpbmRpcn0vdm1jb3JlLWRtZXNnIgotCi1JTklUU0NSSVBUX1BBQ0tBR0VTID0gImtkdW1wIgotSU5JVFNDUklQVF9OQU1FX2tkdW1wID0gImtkdW1wIgotSU5JVFNDUklQVF9QQVJBTVNfa2R1bXAgPSAic3RhcnQgNTYgMiAzIDQgNSAuIHN0b3AgNTYgMCAxIDYgLiIKLQotU1lTVEVNRF9QQUNLQUdFUyA9ICJrZHVtcCIKLVNZU1RFTURfU0VSVklDRV9rZHVtcCA9ICJrZHVtcC5zZXJ2aWNlIgotCi1TRUNVUklUWV9QSUVfQ0ZMQUdTX3JlbW92ZSA9ICItZlBJRSAtcGllIgotCi1DT01QQVRJQkxFX0hPU1QgPSAnKHg4Nl82NC4qfGkuODYuKnxhcm0uKnxhYXJjaDY0Lip8cG93ZXJwYy4qfG1pcHMuKiktKGxpbnV4fGZyZWVic2QuKiknCi0KLUlOU0FORV9TS0lQXyR7UE59ID0gImFyY2giCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHNfMi4wLjE5LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzXzIuMC4xOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjVjZDlmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzXzIuMC4xOS5iYgpAQCAtMCwwICsxLDg3IEBACisKK1NVTU1BUlkgPSAiS2V4ZWMgZmFzdCByZWJvb3QgdG9vbHMiCitERVNDUklQVElPTiA9ICJLZXhlYyBpcyBhIGZhc3QgcmVib290IGZlYXR1cmUgdGhhdCBsZXRzIHlvdSByZWJvb3QgdG8gYSBuZXcgTGludXgga2VybmVsIgorQVVUSE9SID0gIkVyaWMgQmllZGVybWFuIgorSE9NRVBBR0UgPSAiaHR0cDovL2tlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL2tlcm5lbC9rZXhlYy8iCitTRUNUSU9OID0gImtlcm5lbC91c2VybGFuZCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lYTViZWQyZjYwZDM1NzYxOGNhMTYxYWQ1MzlmN2MwYSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9rZXhlYy9rZXhlYy5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjA7bWQ1PWFmMTBmNmFlNGE4NzE1OTY1ZTY0OGFhNjg3YWQzZTA5IgorREVQRU5EUyA9ICJ6bGliIHh6IgorCitTUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMva2VybmVsL2tleGVjL2tleGVjLXRvb2xzLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9rZHVtcCBcCisgICAgICAgICAgIGZpbGU6Ly9rZHVtcC5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL2tkdW1wLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1wb3dlcnBjLWNoYW5nZS10aGUtbWVtb3J5LXNpemUtbGltaXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1wdXJnYXRvcnktUGFzcy1yLWRpcmVjdGx5LXRvLWxpbmtlci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDEwLWtleGVjLUFSTS1GaXgtYWRkX2J1ZmZlcl9waHlzX3ZpcnQtYWxpZ24taXNzdWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8va2V4ZWMteDMyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRGlzYWJsZS1QSUUtZHVyaW5nLWxpbmsucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNTI0NThmMGEzNWMyYTNiMGQyMzAyY2FhMzMxOGU5ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MTNjOGRlZTkxOGU1ODU1YTRiYTYwZDYwOTM3MTM5MDk3ODE0NGI0YzhkMTVkNjQ0NmNhMDA1N2I3YmM1ZTU4IgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK2V4cG9ydCBMREZMQUdTID0gIi1MJHtTVEFHSU5HX0xJQkRJUn0iCitFWFRSQV9PRUNPTkYgPSAiIC0td2l0aC16bGliPXllcyIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgICMgUmVtb3ZlIHRoZSBwcmVwYWNrYWdlZCBjb25maWcuaCBmcm9tIHRoZSBzb3VyY2UgdHJlZSBhcyBpdCBvdmVycmlkZXMKKyAgICAjIHRoZSBzYW1lIGZpbGUgZ2VuZXJhdGVkIGJ5IGNvbmZpZ3VyZSBhbmQgcGxhY2VkIGluIHRoZSBidWlsZCB0cmVlCisgICAgcm0gLWYgJHtTfS9pbmNsdWRlL2NvbmZpZy5oCisKKyAgICAjIFJlbW92ZSB0aGUgJyouZCcgZmlsZSB0byBtYWtlIHN1cmUgdGhlIHJlY29tcGlsZSBpcyBPSworICAgIGZvciBkZXAgaW4gYGZpbmQgJHtCfSAtdHlwZSBmIC1uYW1lICcqLmQnYDsgZG8KKyAgICAgICAgZGVwX25vX2Q9ImBlY2hvICRkZXAgfCBzZWQgJ3MjLmQkIyMnYCIKKyAgICAgICAgIyBSZW1vdmUgZmlsZS5kIHdoZW4gdGhlcmUgaXMgYSBmaWxlLm8KKyAgICAgICAgaWYgWyAtZiAiJGRlcF9ub19kLm8iIF07IHRoZW4KKyAgICAgICAgICAgIHJtIC1mICRkZXAKKyAgICAgICAgZmkKKyAgICBkb25lCit9CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zeXNjb25maWcKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0va2R1bXAuY29uZiAke0R9JHtzeXNjb25mZGlyfS9zeXNjb25maWcKKworICAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgICAgICAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtXT1JLRElSfS9rZHVtcCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQva2R1bXAKKyAgICAgICAgZmkKKworICAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICAgICAgICAgIGluc3RhbGwgLUQgLW0gMDc1NSAke1dPUktESVJ9L2tkdW1wICR7RH0ke2xpYmV4ZWNkaXJ9L2tkdW1wLWhlbHBlcgorICAgICAgICAgICAgICAgIGluc3RhbGwgLUQgLW0gMDY0NCAke1dPUktESVJ9L2tkdW1wLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0va2R1bXAuc2VydmljZQorICAgICAgICAgICAgICAgIHNlZCAtaSAtZSAncyxATElCRVhFQ0RJUkAsJHtsaWJleGVjZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9rZHVtcC5zZXJ2aWNlCisgICAgICAgIGZpCit9CisKK1BBQ0tBR0VTID0rICJrZXhlYyBrZHVtcCB2bWNvcmUtZG1lc2ciCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXhlYyBrZHVtcCB2bWNvcmUtZG1lc2ciCisKK0ZJTEVTX2tleGVjID0gIiR7c2JpbmRpcn0va2V4ZWMiCitGSUxFU19rZHVtcCA9ICIke3NiaW5kaXJ9L2tkdW1wIFwKKyAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vc3lzY29uZmlnL2tkdW1wLmNvbmYgXAorICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQva2R1bXAgXAorICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9rZHVtcC1oZWxwZXIgXAorICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9rZHVtcC5zZXJ2aWNlIFwKKyIKKworRklMRVNfdm1jb3JlLWRtZXNnID0gIiR7c2JpbmRpcn0vdm1jb3JlLWRtZXNnIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gImtkdW1wIgorSU5JVFNDUklQVF9OQU1FX2tkdW1wID0gImtkdW1wIgorSU5JVFNDUklQVF9QQVJBTVNfa2R1bXAgPSAic3RhcnQgNTYgMiAzIDQgNSAuIHN0b3AgNTYgMCAxIDYgLiIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICJrZHVtcCIKK1NZU1RFTURfU0VSVklDRV9rZHVtcCA9ICJrZHVtcC5zZXJ2aWNlIgorCitTRUNVUklUWV9QSUVfQ0ZMQUdTX3JlbW92ZSA9ICItZlBJRSAtcGllIgorCitDT01QQVRJQkxFX0hPU1QgPSAnKHg4Nl82NC4qfGkuODYuKnxhcm0uKnxhYXJjaDY0Lip8cG93ZXJwYy4qfG1pcHMuKiktKGxpbnV4fGZyZWVic2QuKiknCisKK0lOU0FORV9TS0lQXyR7UE59ID0gImFyY2giCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kLW5hdGl2ZV9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kLW5hdGl2ZV9naXQuYmIKaW5kZXggZjBlMjc0ZS4uZjYxMTM0YiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2ttb2Qva21vZC1uYXRpdmVfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QtbmF0aXZlX2dpdC5iYgpAQCAtNyw5ICs3LDYgQEAKIAogaW5oZXJpdCBuYXRpdmUKIAotU1JDX1VSSSArPSAiZmlsZTovL0NoYW5nZS10by1jYWxsaW5nLWJzd2FwXy1pbnN0ZWFkLW9mLWh0b2JlLWFuZC1iZS10b2gucGF0Y2ggXAotICAgICAgICAgICAiCi0KIGRvX2luc3RhbGxfYXBwZW5kICgpewogCWZvciB0b29sIGluIGRlcG1vZCBpbnNtb2QgbHNtb2QgbW9kaW5mbyBtb2Rwcm9iZSBybW1vZAogCWRvCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QuaW5jCmluZGV4IDI5ODg1ZmIuLmU2ODg2MGYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QuaW5jCkBAIC0xNCwxNCArMTQsMTMgQEAKICAgICAgICAgICAgICAgICAgICAiCiBpbmhlcml0IGF1dG90b29scyBndGstZG9jIHBrZ2NvbmZpZyBtYW5wYWdlcwogCi1TUkNSRVYgPSAiYWNhNGVjYTEwM2Q2Njk5NTQzZjdlZDY2MzMzNWMyOGMyZTk5MDhiYiIKK1NSQ1JFViA9ICI1ODEzM2E5NmM4OTRjMDQzZTQ4Yzc0ZGRmMGJmZThkYjkwYmFjNjJmIgogIyBMb29rb3V0IGZvciBQViBidW1wIHRvbyB3aGVuIFNSQ1JFViBpcyBjaGFuZ2VkCi1QViA9ICIyNStnaXQke1NSQ1BWfSIKK1BWID0gIjI2IgogCiBTUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vdXRpbHMva2VybmVsL2ttb2Qva21vZC5naXQgXAogICAgICAgICAgICBmaWxlOi8vZGVwbW9kLXNlYXJjaC5jb25mIFwKICAgICAgICAgICAgZmlsZTovL2F2b2lkX3BhcmFsbGVsX3Rlc3RzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2ZpeC1PX0NMT0VYRUMucGF0Y2ggXAogICAgICAgICAgICIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QvQ2hhbmdlLXRvLWNhbGxpbmctYnN3YXBfLWluc3RlYWQtb2YtaHRvYmUtYW5kLWJlLXRvaC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QvQ2hhbmdlLXRvLWNhbGxpbmctYnN3YXBfLWluc3RlYWQtb2YtaHRvYmUtYW5kLWJlLXRvaC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjcyMjE4My4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kL0NoYW5nZS10by1jYWxsaW5nLWJzd2FwXy1pbnN0ZWFkLW9mLWh0b2JlLWFuZC1iZS10b2gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1TdWJqZWN0OiBDaGFuZ2UgdG8gY2FsbGluZyBic3dhcF8qIGluc3RlYWQgb2YgaHRvYmUqIGFuZCBiZSp0b2gKLQotV2UgY2FuJ3QgdXNlIGh0b2JlKiBhbmQgYmUqdG9oIGZ1bmN0aW9ucyBiZWNhdXNlIHRoZXkgYXJlIG5vdAotYXZhaWxhYmxlIG9uIG9sZGVyIHZlcnNpb25zIG9mIGdsaWJjLCBGb3IgZXhhbXBsZSwgc2hpcHBlZCBvbiBDZW50b3MgNS41LgotCi1DaGFuZ2UgdG8gZGlyZWN0bHkgY2FsbGluZyBic3dhcF8qIGFzIGRlZmluZWQgaW4rYnl0ZXN3YXAuaC4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlCi0KLVNpZ25lZC1vZmYtYnk6IFRpbmcgTGl1IDxiMjg0OTVAZnJlZXNjYWxlLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIGxpYmttb2QvbGlia21vZC1zaWduYXR1cmUuYyB8IDMgKystCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGlia21vZC9saWJrbW9kLXNpZ25hdHVyZS5jIGIvbGlia21vZC9saWJrbW9kLXNpZ25hdHVyZS5jCi1pbmRleCA2ZmMwNmZjLi45MTIxODVhIDEwMDY0NAotLS0tIGEvbGlia21vZC9saWJrbW9kLXNpZ25hdHVyZS5jCi0rKysgYi9saWJrbW9kL2xpYmttb2Qtc2lnbmF0dXJlLmMKLUBAIC0xOCw2ICsxOCw3IEBACi0gICovCi0gCi0gI2luY2x1ZGUgPGVuZGlhbi5oPgotKyNpbmNsdWRlIDxieXRlc3dhcC5oPgotICNpbmNsdWRlIDxpbnR0eXBlcy5oPgotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxzdGRsaWIuaD4KLUBAIC0xMjcsNyArMTI4LDcgQEAgYm9vbCBrbW9kX21vZHVsZV9zaWduYXR1cmVfaW5mbyhjb25zdCBzdHJ1Y3Qga21vZF9maWxlICpmaWxlLCBzdHJ1Y3Qga21vZF9zaWduYXQKLSAJCQltb2RzaWctPmhhc2ggPj0gUEtFWV9IQVNIX19MQVNUIHx8Ci0gCQkJbW9kc2lnLT5pZF90eXBlID49IFBLRVlfSURfVFlQRV9fTEFTVCkKLSAJCXJldHVybiBmYWxzZTsKLS0Jc2lnX2xlbiA9IGJlMzJ0b2goZ2V0X3VuYWxpZ25lZCgmbW9kc2lnLT5zaWdfbGVuKSk7Ci0rCXNpZ19sZW4gPSBic3dhcF8zMihnZXRfdW5hbGlnbmVkKCZtb2RzaWctPnNpZ19sZW4pKTsKLSAJaWYgKHNpZ19sZW4gPT0gMCB8fAotIAkgICAgc2l6ZSA8IChpbnQ2NF90KShtb2RzaWctPnNpZ25lcl9sZW4gKyBtb2RzaWctPmtleV9pZF9sZW4gKyBzaWdfbGVuKSkKLSAJCXJldHVybiBmYWxzZTsKLS0tIAotMS45LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2ttb2Qva21vZC9hdm9pZF9wYXJhbGxlbF90ZXN0cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QvYXZvaWRfcGFyYWxsZWxfdGVzdHMucGF0Y2gKaW5kZXggNWY0NWZjZS4uOTkwYzMzOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2ttb2Qva21vZC9hdm9pZF9wYXJhbGxlbF90ZXN0cy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kL2F2b2lkX3BhcmFsbGVsX3Rlc3RzLnBhdGNoCkBAIC0xLDMgKzEsOCBAQAorRnJvbSBiZTZmODJjNTRmNjk0NjE3YzY0NmNhMWY4YjViY2Y5MzY5NGUyMGFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVHVkb3IgRmxvcmVhIDx0dWRvci5mbG9yZWFAZW5lYS5jb20+CitEYXRlOiBGcmksIDYgU2VwIDIwMTMgMjE6MTE6NTcgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0ga21vZDogYXZvaWQgcGFyYWxsZWwtdGVzdHMKKwogQXZvaWQgcGFyYWxsZWwtdGVzdHMgYXMgaXQgcmVtb3ZlCiBidWlsZHRlc3QtVEVTVFMgYW5kIHJ1bnRlc3QtVEVTVFMgdGFyZ2V0cyByZXF1aXJlZCBieSBwdGVzdC4KIEluIGF1dG9tYWtlIDEuMTMuNCBwYXJhbGxlbC10ZXN0cyBpcyBhc3N1bWVkIGJ5IGRlZmF1bHMuCkBAIC01LDE2ICsxMCwxNiBAQAogc2VyaWFsLXRlc3RzIGlzIG5vdyByZXF1aXJlZAogCiBTaWduZWQtb2ZmLWJ5OiBUdWRvciBGbG9yZWEgPHR1ZG9yLmZsb3JlYUBlbmVhLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSAoZGlzYWJsZSBmZWF0dXJlIGluY29tcGF0aWJsZSB3aXRoIHB0ZXN0KSAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSAoZGlzYWJsZSBmZWF0dXJlIGluY29tcGF0aWJsZSB3aXRoIHB0ZXN0KQogCiAtLS0KICBjb25maWd1cmUuYWMgfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBnaXQvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvY29uZmlndXJlLmFjCi0rKysgZ2l0L2NvbmZpZ3VyZS5hYworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggZWU3MjI4My4uNjA5ODBjMCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCiBAQCAtMTQsNyArMTQsNyBAQCBBQ19VU0VfU1lTVEVNX0VYVEVOU0lPTlMKICBBQ19TWVNfTEFSR0VGSUxFCiAgQUNfUFJFRklYX0RFRkFVTFQoWy91c3JdKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2ttb2Qva21vZC9maXgtT19DTE9FWEVDLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2ttb2Qva21vZC9maXgtT19DTE9FWEVDLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZDlkNDBjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QvZml4LU9fQ0xPRVhFQy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gYmQ0MzM2N2VlZTg2ODA1OTc3MDE4OGZkOWU5ZGIzODUyMGRjNmZmZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogV2VkLCAyMiBKYW4gMjAxNCAwMTowNjo0MCAtMDUwMAotU3ViamVjdDogW1BBVENIXSBsaWJrbW9kL2xpYmttb2QtaW50ZXJuYWwuaDogY2hlY2sgd2hldGhlciBPX0NMT0VYRUMgaXMKLSBkZWZpbmVkIG9yIG5vdAotCi1PX0NMT0VYRUMgaXMgaW50cm9kdWNlZCBmcm9tIExpbnV4IDIuNi4yMywgc28gb2xkIGtlcm5lbCBkb2Vzbid0IGhhdmUKLWl0LCB3ZSBuZWVkIGNoZWNrIGJlZm9yZSB1c2UuCi0KLVRoaXMgcGF0Y2ggaXMgbXVjaCBtb3JlIGxpa2UgYSB3b3JrYXJvdW5kLCBzaW5jZSBpdCBtYXkgbmVlZCBmY250bCgpIHVzZQotRkRfQ0xPRVhFQyB0byByZXBsYWNlLgotCi1UaGlzIHByb2JsZW0gd2FzIHJlcG9ydGVkIGJ5ICJUaW5nIExpdSA8YjI4NDk1QGZyZWVzY2FsZS5jb20+IgotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbGlia21vZC9saWJrbW9kLWludGVybmFsLmggfCAgICA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLUluZGV4OiBnaXQvbGlia21vZC9saWJrbW9kLWludGVybmFsLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9saWJrbW9kL2xpYmttb2QtaW50ZXJuYWwuaAotKysrIGdpdC9saWJrbW9kL2xpYmttb2QtaW50ZXJuYWwuaAotQEAgLTEwLDYgKzEwLDEwIEBACi0gCi0gI2luY2x1ZGUgImxpYmttb2QuaCIKLSAKLSsjaWZuZGVmIE9fQ0xPRVhFQwotKyNkZWZpbmUgT19DTE9FWEVDIDAKLSsjZW5kaWYKLSsKLSBzdGF0aWMgX2Fsd2F5c19pbmxpbmVfIF9wcmludGZfZm9ybWF0XygyLCAzKSB2b2lkCi0gCWttb2RfbG9nX251bGwoc3RydWN0IGttb2RfY3R4ICpjdHgsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKSB7fQotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWZpcm13YXJlL2xpbnV4LWZpcm13YXJlX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1maXJtd2FyZS9saW51eC1maXJtd2FyZV9naXQuYmIKaW5kZXggZmRmOGYxOS4uYWQ3YmFiZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWZpcm13YXJlL2xpbnV4LWZpcm13YXJlX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtZmlybXdhcmUvbGludXgtZmlybXdhcmVfZ2l0LmJiCkBAIC0xMjIsNyArMTIyLDcgQEAKICAgICBmaWxlOi8vTElDRU5DRS54YzQwMDA7bWQ1PTBmZjUxZDJkYzQ5ZmNlMDQ4MTRjOTE1NTA4MTA5MmYwIFwKICAgICBmaWxlOi8vTElDRU5DRS54YzUwMDA7bWQ1PTFlMTcwYzEzMTc1MzIzYzMyYzdmNGQwOTk4ZDUzZjY2IFwKICAgICBmaWxlOi8vTElDRU5DRS54YzUwMDBjO21kNT0xMmIwMmVmYTMwNDlkYjY1ZDUyNGFlYjQxOGRkODdjYSBcCi0gICAgZmlsZTovL1dIRU5DRTttZDU9NjZhYmYwZmI2OWIwOWQ2ZjNkMmRiNjA4ODU5NGM4MDggXAorICAgIGZpbGU6Ly9XSEVOQ0U7bWQ1PWVmMzZkMzM4M2JlY2QxOGYzNmNlMzJkODQxMDkzODZmIFwKICIKIAogIyBUaGVzZSBhcmUgbm90IGNvbW1vbiBsaWNlbnNlcywgc2V0IE5PX0dFTkVSSUNfTElDRU5TRSBmb3IgdGhlbQpAQCAtMTg4LDcgKzE4OCw3IEBACiBOT19HRU5FUklDX0xJQ0VOU0VbRmlybXdhcmUteGM1MDAwY10gPSAiTElDRU5DRS54YzUwMDBjIgogTk9fR0VORVJJQ19MSUNFTlNFW1dIRU5DRV0gPSAiV0hFTkNFIgogCi1TUkNSRVYgPSAiNzEwOTYzZmU1M2VlM2YyMjc1NTZkMzY4MzlkZjM4NThkYWY2ZTIzMiIKK1NSQ1JFViA9ICI3YmMyNDY0NTEzMThiMzUzNmQ5YmZkM2M0ZTQ2ZDU0MWE5ODMxYjMzIgogUEUgPSAiMSIKIFBWID0gIjAuMCtnaXQke1NSQ1BWfSIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnMuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnMuaW5jCmluZGV4IGJlMjE1YWYuLjdmODM4ZjYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1saWJjLWhlYWRlcnMvbGludXgtbGliYy1oZWFkZXJzLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtbGliYy1oZWFkZXJzL2xpbnV4LWxpYmMtaGVhZGVycy5pbmMKQEAgLTM4LDYgKzM4LDggQEAKICAgICAgICAgZC5zZXRWYXIoIkhFQURFUl9GRVRDSF9WRVIiLCAiMy4wIikKICAgICBlbGlmIG1ham9yID09ICI0IjoKICAgICAgICAgZC5zZXRWYXIoIkhFQURFUl9GRVRDSF9WRVIiLCAiNC54IikKKyAgICBlbGlmIG1ham9yID09ICI1IjoKKyAgICAgICAgZC5zZXRWYXIoIkhFQURFUl9GRVRDSF9WRVIiLCAiNS54IikKICAgICBlbHNlOgogICAgICAgICBkLnNldFZhcigiSEVBREVSX0ZFVENIX1ZFUiIsICIyLjYiKQogfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnMvMDAwMS1rYnVpbGQtaW5zdGFsbF9oZWFkZXJzLnNoLVN0cmlwLV9VQVBJLWZyb20taWYtZGVmaW5lLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnMvMDAwMS1rYnVpbGQtaW5zdGFsbF9oZWFkZXJzLnNoLVN0cmlwLV9VQVBJLWZyb20taWYtZGVmaW5lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4ZWJkMzEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtbGliYy1oZWFkZXJzL2xpbnV4LWxpYmMtaGVhZGVycy8wMDAxLWtidWlsZC1pbnN0YWxsX2hlYWRlcnMuc2gtU3RyaXAtX1VBUEktZnJvbS1pZi1kZWZpbmUucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSA5Y2E2YzZhNTEwYmRhOTA5NTRhYTI1MzI3MTEyMDBiODlkZDFkZjg5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGF2ZSBNYXJ0aW4gPERhdmUuTWFydGluQGFybS5jb20+CitEYXRlOiBUdWUsIDExIERlYyAyMDE4IDE5OjI2OjQ1ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMS8zXSBrYnVpbGQ6IGluc3RhbGxfaGVhZGVycy5zaDogU3RyaXAgX1VBUEkgZnJvbQorICNpZi1kZWZpbmVkKCkgZ3VhcmRzCisKK2luc3RhbGxfaGVhZGVycy5zaCBrbm93cyBob3cgdG8gc3RyaXAgdGhlIF9VQVBJIHByZWZpeCBmcm9tICNpZmRlZi8KK2lmbmRlZiBhbmQgI2RlZmluZSBkaXJlY3RpdmVzIHVzZWQgdG8gZ3VhcmQgaGVhZGVycyBhZ2FpbnN0IG11bHRpcGxlCitvciBpbmFwcHJvcHJpYXRlIGluY2x1c2lvbi4gIEN1cnJlbnRseSB0aGlzIGRvZXMgbm90IHdvcmsgZm9yIGd1YXJkcworaW4gdGhlICIjaWYgZGVmaW5lZCgpIiBzdHlsZSwgd2hpY2ggbWF5IGJlIG5lZWRlZCBmb3Igbm9uLXRyaXZpYWwKK2Nhc2VzLgorCitUaGlzIHBhdGNoIGFkZHMgc2ltaWxhciBsb2dpYyBzbyB0aGF0IHRoZSBfVUFQSSBwcmVmaXggaXMgYWxzbworc3RyaXBwZWQgZnJvbSBndWFyZCBkaXJlY3RpdmVzIHdyaXR0ZW4gdXNpbmcgIiNpZiBkZWZpbmVkKCkiIGV0Yy4KKworVGhpcyBpcyBub3QgY29tcGxldGVseSBmb29scHJvb2YsIGJ1dCB3aWxsIHdvcmsgZm9yIHNpbXBsZSBjYXNlcyBvZgordXNpbmcgI2lmIGRlZmluZWQoKSB0byBndWFyZCBhZ2FpbnN0IGluYXBwcm9wcmlhdGUgaGVhZGVyIGluY2x1c2lvbi4KKworU2lnbmVkLW9mZi1ieTogRGF2ZSBNYXJ0aW4gPERhdmUuTWFydGluQGFybS5jb20+CitTaWduZWQtb2ZmLWJ5OiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vd3d3LnNwaW5pY3MubmV0L2xpc3RzL2FybS1rZXJuZWwvbXNnNjk0ODAwLmh0bWxdCistLS0KKyBzY3JpcHRzL2hlYWRlcnNfaW5zdGFsbC5zaCB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvc2NyaXB0cy9oZWFkZXJzX2luc3RhbGwuc2ggYi9zY3JpcHRzL2hlYWRlcnNfaW5zdGFsbC5zaAoraW5kZXggNTkzZjg4NzljNjQxLi5mZTFkM2ZjMGQzM2EgMTAwNzU1CistLS0gYS9zY3JpcHRzL2hlYWRlcnNfaW5zdGFsbC5zaAorKysrIGIvc2NyaXB0cy9oZWFkZXJzX2luc3RhbGwuc2gKK0BAIC0zOCw2ICszOCw3IEBAIGRvCisgCQktZSAncy8oXnxbXmEtekEtWjAtOV0pX19wYWNrZWQoW15hLXpBLVowLTlfXXwkKS9cMV9fYXR0cmlidXRlX18oKHBhY2tlZCkpXDIvZycgXAorIAkJLWUgJ3MvKF58W1s6c3BhY2U6XShdKShpbmxpbmV8YXNtfHZvbGF0aWxlKShbWzpzcGFjZTpdKF18JCkvXDFfX1wyX19cMy9nJyBcCisgCQktZSAnc0AjKGlmbmRlZnxkZWZpbmV8ZW5kaWZbWzpzcGFjZTpdXSovWypdKVtbOnNwYWNlOl1dKl9VQVBJQCNcMSBAJyBcCisrCQktZSAnOjE7cy8oIyhpZnxlbGlmKSguKlteQS1aYS16MC05X10pZGVmaW5lZFwoW1s6c3BhY2U6XV0qKV9VQVBJL1wxLzt0MScgXAorIAkJIiRTUkNESVIvJGkiID4gIiRPVVRESVIvJEZJTEUuc2VkIiB8fCBleGl0IDEKKyAJc2NyaXB0cy91bmlmZGVmIC1VX19LRVJORUxfXyAtRF9fRVhQT1JURURfSEVBREVSU19fICIkT1VURElSLyRGSUxFLnNlZCIgXAorIAkJPiAiJE9VVERJUi8kRklMRSIKKy0tIAorMi41LjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnMvMDAwMS1zY3JpcHRzLVVzZS1maXhlZC1pbnB1dC1hbmQtb3V0cHV0LWZpbGVzLWluc3RlYWQtb2YtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnMvMDAwMS1zY3JpcHRzLVVzZS1maXhlZC1pbnB1dC1hbmQtb3V0cHV0LWZpbGVzLWluc3RlYWQtb2YtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1ZGVkNjAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtbGliYy1oZWFkZXJzL2xpbnV4LWxpYmMtaGVhZGVycy8wMDAxLXNjcmlwdHMtVXNlLWZpeGVkLWlucHV0LWFuZC1vdXRwdXQtZmlsZXMtaW5zdGVhZC1vZi0ucGF0Y2gKQEAgLTAsMCArMSw2NyBAQAorRnJvbSA2OTRlYmE3YmI5NzRmNmI4YmQzMDg4MDRjYjI0MzUwMTUwMTA4YjJiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSGUgWmhlIDx6aGUuaGVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMjEgTm92IDIwMTggMTU6MTI6NDMgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gc2NyaXB0czogVXNlIGZpeGVkIGlucHV0IGFuZCBvdXRwdXQgZmlsZXMgaW5zdGVhZCBvZiBwaXBlIGZvciBoZXJlLWRvYworCitUaGVyZSB3YXMgYSBidWcgb2YgImFzIiBpbiBiaW51dGlscyB0aGF0IHdoZW4gaXQgY2hlY2tzIGlmIHRoZSBpbnB1dCBmaWxlIGFuZAorb3V0cHV0IGZpbGUgYXJlIHRoZSBzYW1lIG9uZSwgaXQgd291bGQgbm90IGNoZWNrIGlmIHRoZXkgYXJlIG9uIHRoZSBzYW1lIGJsb2NrCitkZXZpY2UuIFRoZSBjaGVjayBpcyBpbnRyb2R1Y2VkIGJ5IHRoZSBmb2xsb3dpbmcgY29tbWl0IGluIHYyLjMxLgorCitodHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC9naXR3ZWIuY2dpP3A9YmludXRpbHMtZ2RiLmdpdDthPWNvbW1pdDtoPQorNjdmODQ2YjU5YjMyZjNkNzA0YzYwMTY2OTQwOWMyNTg0MzgzZmVhOQorCitUaGUgaGVyZS1kb2MgdXNhZ2UgaW4gdGhpcyBzY3JpcHQgY3JlYXRlcyB0ZW1wb3JhcnkgZmlsZSBpbiAvdG1wLiBXaGVuIHdlIHJ1biBpbgorYW4gZW52aXJvbm1lbnQgd2hlcmUgL3RtcCBoYXMgcmFyZWx5IGJlZW4gdXNlZCwgdGhlIG5ld2x5IGNyZWF0ZWQgdGVtcG9yYXJ5IGZpbGUKK21heSBoYXZlIGEgdmVyeSBsb3cgaW5vZGUgbnVtYmVyLiBJZiB0aGUgaW5vZGUgbnVtYmVyIHdhcyA2IHdoaWNoIGlzIHRoZSBzYW1lIGFzCisvZGV2L251bGwsIHRoZSBhcyB3b3VsZCB3cm9uZ2x5IHRoaW5rIHRoZSBpbnB1dCBmaWxlIGFuZCB0aGUgb3V0cHV0IGZpbGUgYXJlIHRoZQorc2FtZSBhbmQgcmVwb3J0IHRoZSBmb2xsb3dpbmcgZXJyb3IuCisKKyoqKiBDb21waWxlciBsYWNrcyBhc20tZ290byBzdXBwb3J0Li4gU3RvcC4KKworT25lIG9ic2VydmVkIGNhc2UgaGFwcGVuZWQgaW4gZG9ja2VyIHdoZXJlIHRoZSAvdG1wIGNvdWxkIGJlIHNvIHJhcmVseSB1c2VkIHRoYXQKK3ZlcnkgbG93IG51bWJlciBpbm9kZSBtYXkgYmUgYWxsb2NhdGVkIGFuZCB0cmlnZ2VycyB0aGUgZXJyb3IuCisKK1RoZSBmaXggYmVsb3cgZm9yIHRoZSBidWcgb25seSBleGlzdHMgb24gdGhlIG1hc3RlciBicmFuY2ggb2YgYmludXRpbHMgc28gZmFyCithbmQgaGFzIG5vdCBiZWVuIHJlbGVhc2VkIGZyb20gdXBzdHJlYW0uIEFzIHRoZSBjb252aWN0IGlzIGludHJvZHVjZWQgc2luY2UKK3YyLjMxLCBvbmx5IHYyLjMxIGlzIGFmZmVjdGVkLgorCitodHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC9naXR3ZWIuY2dpP3A9YmludXRpbHMtZ2RiLmdpdDthPWNvbW1pdDtoPQorMmE1MDM2NmRlZDMyOWJmYjM5ZDM4NzI1MzQ1MGM5ZDUzMDJjMzUwMworCitXaGVuIGJ1aWxkaW5nIGxpbnV4LWxpYmMtaGVhZGVycyB3ZSBuZWVkIHRvIHVzZSAiYXMiIGluIGJpbnV0aWxzIHdoaWNoIGRvZXMgbm90Citjb250YWluIHRoZSBmaXggZm9yIHRoZSBtb21lbnQuIFRvIHdvcmsgYXJvdW5kIHRoZSBlcnJvciwgd2UgY3JlYXRlIGEgZml4ZWQKK3RlbXBvcmFyeSBmaWxlIHRvIGNvbnRhaW4gdGhlIHByb2dyYW0gYmVpbmcgdGVzdGVkLgorCitUaGlzIHBhdGNoIGFsc28gcmVtb3ZlcyAiPi9kZXYvbnVsbCAyPiYxIiBzbyB3ZSB3aWxsIGhhdmUgbW9yZSBkaXJlY3QgZXJyb3IKK2luZm9ybWF0aW9uIGluIGNhc2Ugc29tZXRoaW5nIGVsc2Ugd3JvbmcgaGFwcGVuZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbQSB3b3JrIGFyb3VuZCBmb3IgYmludXRpbHMgdjIuMzFdCisKK1NpZ25lZC1vZmYtYnk6IEhlIFpoZSA8emhlLmhlQHdpbmRyaXZlci5jb20+CistLS0KKyBzY3JpcHRzL2djYy1nb3RvLnNoIHwgNSArKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NjcmlwdHMvZ2NjLWdvdG8uc2ggYi9zY3JpcHRzL2djYy1nb3RvLnNoCitpbmRleCA4Yjk4MGZiMjIuLmQyNTZhOTQzOCAxMDA3NTUKKy0tLSBhL3NjcmlwdHMvZ2NjLWdvdG8uc2gKKysrKyBiL3NjcmlwdHMvZ2NjLWdvdG8uc2gKK0BAIC0zLDcgKzMsNyBAQAorICMgVGVzdCBmb3IgZ2NjICdhc20gZ290bycgc3VwcG9ydAorICMgQ29weXJpZ2h0IChDKSAyMDEwLCBKYXNvbiBCYXJvbiA8amJhcm9uQHJlZGhhdC5jb20+CisgCistY2F0IDw8ICJFTkQiIHwgJEAgLXggYyAtIC1mbm8tUElFIC1jIC1vIC9kZXYvbnVsbAorK2NhdCA8PCAiRU5EIiA+IC4vaW5wdXQKKyBpbnQgbWFpbih2b2lkKQorIHsKKyAjaWYgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKQorQEAgLTIwLDMgKzIwLDYgQEAgZW50cnk6CisgCXJldHVybiAwOworIH0KKyBFTkQKKysKKyskQCAteCBjIC4vaW5wdXQgLWZuby1QSUUgLWMgLW8gLi9vdXRwdXQKKytybSAuL2lucHV0IC4vb3V0cHV0CistLSAKKzIuMTkuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtbGliYy1oZWFkZXJzL2xpbnV4LWxpYmMtaGVhZGVyc180LjE4LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnNfNC4xOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWI3YmVlNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtbGliYy1oZWFkZXJzL2xpbnV4LWxpYmMtaGVhZGVyc180LjE4LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotcmVxdWlyZSBsaW51eC1saWJjLWhlYWRlcnMuaW5jCi0KLVNSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9ICJcCi0gICAgZmlsZTovLzAwMDEtbGliYy1jb21wYXQuaC1maXgtc29tZS1pc3N1ZXMtYXJpc2luZy1mcm9tLWluNi5oLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMi1saWJjLWNvbXBhdC5oLXByZXZlbnQtcmVkZWZpbml0aW9uLW9mLXN0cnVjdC1ldGhoZHIucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAzLXJlbW92ZS1pbmNsdXNpb24tb2Ytc3lzaW5mby5oLWluLWtlcm5lbC5oLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1saWJjLWNvbXBhdC5oLW11c2wtX2RvZXNfLWRlZmluZS1JRkZfTE9XRVJfVVAtRE9STUFOLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1pZl9ldGhlci1tb3ZlLW11c2xjLWV0aGhkci1wcm90ZWN0aW9uLXRvLXVhcGktZmlsZS5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDEtaW5jbHVkZS1saW51eC1zdGRkZWYuaC1pbi1zd2FiLmgtdWFwaS1oZWFkZXIucGF0Y2ggXAotICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYmVlNWZlNTNlZTFjMzE0MmI4ZjBjMTJjMGQzMzQ4ZjkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTlkOGJjZjQ5ZWY1MzBjZDRlMzY0YTQ1YjRhMjJmYTcwNzE0YjcwMzQ5YzgxMDBlNzMwODQ4OGUyNmYxZWFmMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1saWJjLWhlYWRlcnMvbGludXgtbGliYy1oZWFkZXJzXzUuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1saWJjLWhlYWRlcnMvbGludXgtbGliYy1oZWFkZXJzXzUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzYxMjBjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnNfNS4wLmJiCkBAIC0wLDAgKzEsMTggQEAKK3JlcXVpcmUgbGludXgtbGliYy1oZWFkZXJzLmluYworCitTUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiXAorICAgIGZpbGU6Ly8wMDAxLWxpYmMtY29tcGF0LmgtZml4LXNvbWUtaXNzdWVzLWFyaXNpbmctZnJvbS1pbjYuaC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItbGliYy1jb21wYXQuaC1wcmV2ZW50LXJlZGVmaW5pdGlvbi1vZi1zdHJ1Y3QtZXRoaGRyLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMy1yZW1vdmUtaW5jbHVzaW9uLW9mLXN5c2luZm8uaC1pbi1rZXJuZWwuaC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtbGliYy1jb21wYXQuaC1tdXNsLV9kb2VzXy1kZWZpbmUtSUZGX0xPV0VSX1VQLURPUk1BTi5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtaWZfZXRoZXItbW92ZS1tdXNsYy1ldGhoZHItcHJvdGVjdGlvbi10by11YXBpLWZpbGUucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtbGludXgtc3RkZGVmLmgtaW4tc3dhYi5oLXVhcGktaGVhZGVyLnBhdGNoIFwKKyAgICIKKworU1JDX1VSSV9hcHBlbmQgPSAiXAorICAgIGZpbGU6Ly8wMDAxLXNjcmlwdHMtVXNlLWZpeGVkLWlucHV0LWFuZC1vdXRwdXQtZmlsZXMtaW5zdGVhZC1vZi0ucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLWtidWlsZC1pbnN0YWxsX2hlYWRlcnMuc2gtU3RyaXAtX1VBUEktZnJvbS1pZi1kZWZpbmUucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzM4MWNlOGFhYzgwYTAxNDQ4ZTA2NWNlNzk1YzE5YzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDM3YjE0MWE2NDk5MTU5ZjVhNzI4MmQ1ZWI0YjJiZTA1NWY4ZTg2MmNjY2U0NGQ3NDY0ZTg3NTljMzFhMmU0MyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9rZXJuZWwtZGV2c3JjLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2tlcm5lbC1kZXZzcmMuYmIKaW5kZXggMzYxYWQyMS4uNjlhOGVhZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2tlcm5lbC1kZXZzcmMuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2tlcm5lbC1kZXZzcmMuYmIKQEAgLTMyLDcgKzMyLDcgQEAKIAogUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKIAotS0VSTkVMX0JVSUxEX1JPT1Q9Ii9saWIvbW9kdWxlcy8iCitLRVJORUxfQlVJTERfUk9PVD0iJHtub25hcmNoX2Jhc2VfbGliZGlyfS9tb2R1bGVzLyIKIAogZG9faW5zdGFsbCgpIHsKICAgICBrZXJuZWxkaXI9JHtEfSR7S0VSTkVMX0JVSUxEX1JPT1R9JHtLRVJORUxfVkVSU0lPTn0KQEAgLTQ4LDcgKzQ4LDcgQEAKICAgICBta2RpciAtcCAke0R9L3Vzci9zcmMKICAgICAoCiAJY2QgJHtEfS91c3Ivc3JjCi0JbG4gLXMgJHtLRVJORUxfQlVJTERfUk9PVH0ke0tFUk5FTF9WRVJTSU9OfS9zb3VyY2Uga2VybmVsCisJbG5yICR7RH0ke0tFUk5FTF9CVUlMRF9ST09UfSR7S0VSTkVMX1ZFUlNJT059L3NvdXJjZSBrZXJuZWwKICAgICApCiAKICAgICAjIGZvciBvbiB0YXJnZXQgcHVycG9zZXMsIHdlIHVuaWZ5IGJ1aWxkIGFuZCBzb3VyY2UKQEAgLTE1MCw2ICsxNTAsMTMgQEAKICAgICAgICAgICAgIGNwIC1hIC0tcGFyZW50cyBhcmNoL2FybTY0L2tlcm5lbC9tb2R1bGUubGRzICRrZXJuZWxkaXIvYnVpbGQvCiAJZmkKIAorCWlmIFsgIiR7QVJDSH0iID0gInBvd2VycGMiIF07IHRoZW4KKwkgICAgIyA1LjAgbmVlZHMgdGhlc2UgZmlsZXMsIGJ1dCBkb24ndCBlcnJvciBpZiB0aGV5IGFyZW4ndCBwcmVzZW50IGluIHRoZSBzb3VyY2UKKwkgICAgY3AgLWEgLS1wYXJlbnRzIGFyY2gvJHtBUkNIfS9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50YmwgJGtlcm5lbGRpci9idWlsZC8gMj4vZGV2L251bGwgfHwgOgorCSAgICBjcCAtYSAtLXBhcmVudHMgYXJjaC8ke0FSQ0h9L2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsdGJsLnNoICRrZXJuZWxkaXIvYnVpbGQvIDI+L2Rldi9udWxsIHx8IDoKKwkgICAgY3AgLWEgLS1wYXJlbnRzIGFyY2gvJHtBUkNIfS9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbGhkci5zaCAka2VybmVsZGlyL2J1aWxkLyAyPi9kZXYvbnVsbCB8fCA6CisJZmkKKwogCSMgaW5jbHVkZSB0aGUgbWFjaGluZSBzcGVjaWZpYyBoZWFkZXJzIGZvciBBUk0gdmFyaWFudHMsIGlmIGF2YWlsYWJsZS4KIAlpZiBbICIke0FSQ0h9IiA9ICJhcm0iIF07IHRoZW4KIAkgICAgY3AgLWEgLS1wYXJlbnRzIGFyY2gvJHtBUkNIfS9tYWNoLSovaW5jbHVkZSAka2VybmVsZGlyL2J1aWxkLwpAQCAtMTU3LDcgKzE2NCwxMiBAQAogCSAgICAjIGluY2x1ZGUgYSBmZXcgZmlsZXMgZm9yICdtYWtlIHByZXBhcmUnCiAJICAgIGNwIC1hIC0tcGFyZW50cyBhcmNoL2FybS90b29scy9nZW4tbWFjaC10eXBlcyAka2VybmVsZGlyL2J1aWxkLwogCSAgICBjcCAtYSAtLXBhcmVudHMgYXJjaC9hcm0vdG9vbHMvbWFjaC10eXBlcyAka2VybmVsZGlyL2J1aWxkLwotCSAgICBjcCAtYSAtLXBhcmVudHMgYXJjaC9hcm0vdG9vbHMvc3lzY2FsbCogJGtlcm5lbGRpci9idWlsZC8KKworCSAgICAjIEFSTSBzeXNjYWxsIHRhYmxlIHRvb2xzIG9ubHkgZXhpc3QgZm9yIGtlcm5lbHMgdjQuMTAgb3IgbGF0ZXIKKyAgICAgICAgICAgIFNZU0NBTExfVE9PTFM9JChmaW5kIGFyY2gvYXJtL3Rvb2xzIC1uYW1lICJzeXNjYWxsKiIpCisgICAgICAgICAgICBpZiBbIC1uICIkU1lTQ0FMTF9UT09MUyIgXSA7IHRoZW4KKwkgICAgICAgIGNwIC1hIC0tcGFyZW50cyAkU1lTQ0FMTF9UT09MUyAka2VybmVsZGlyL2J1aWxkLworICAgICAgICAgICAgZmkKIAogICAgICAgICAgICAgY3AgLWEgLS1wYXJlbnRzIGFyY2gvYXJtL2tlcm5lbC9tb2R1bGUubGRzICRrZXJuZWxkaXIvYnVpbGQvCiAJZmkKQEAgLTIwOSw2ICsyMjEsOSBAQAogCSAgICBjcCAtYSAtLXBhcmVudHMga2VybmVsL3RpbWUvdGltZWNvbnN0LmJjICRrZXJuZWxkaXIvYnVpbGQKIAkgICAgY3AgLWEgLS1wYXJlbnRzIGtlcm5lbC9ib3VuZHMuYyAka2VybmVsZGlyL2J1aWxkCiAJICAgIGNwIC1hIC0tcGFyZW50cyBLYnVpbGQgJGtlcm5lbGRpci9idWlsZAorCSAgICBjcCAtYSAtLXBhcmVudHMgYXJjaC9taXBzL2tlcm5lbC9zeXNjYWxscy8qLnNoICRrZXJuZWxkaXIvYnVpbGQgMj4vZGV2L251bGwgfHwgOgorCSAgICBjcCAtYSAtLXBhcmVudHMgYXJjaC9taXBzL2tlcm5lbC9zeXNjYWxscy8qLnRibCAka2VybmVsZGlyL2J1aWxkIDI+L2Rldi9udWxsIHx8IDoKKwkgICAgY3AgLWEgLS1wYXJlbnRzIGFyY2gvbWlwcy90b29scy9lbGYtZW50cnkuYyAka2VybmVsZGlyL2J1aWxkIDI+L2Rldi9udWxsIHx8IDoKIAlmaQogCiAgICAgICAgICMgcmVxdWlyZWQgdG8gYnVpbGQgc2NyaXB0cy9zZWxpbnV4L2dlbmhlYWRlcnMvZ2VuaGVhZGVycwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLWRldi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by1kZXYuYmIKaW5kZXggMjNjYjM1NS4uYWU4YzM0MyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLWRldi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tZGV2LmJiCkBAIC0zMCw3ICszMCw3IEBACiBTUkNSRVZfbWFjaGluZSA/PSAnJHtAb2UudXRpbHMuY29uZGl0aW9uYWwoIlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCIsICJsaW51eC15b2N0by1kZXYiLCAiJHtBVVRPUkVWfSIsICIyOTU5NDQwNGQ3ZmU3M2NkODBlYWE0ZWU4YzQzZGNjNTM5NzBjNjBlIiwgZCl9JwogU1JDUkVWX21ldGEgPz0gJyR7QG9lLnV0aWxzLmNvbmRpdGlvbmFsKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwiLCAibGludXgteW9jdG8tZGV2IiwgIiR7QVVUT1JFVn0iLCAiMjk1OTQ0MDRkN2ZlNzNjZDgwZWFhNGVlOGM0M2RjYzUzOTcwYzYwZSIsIGQpfScKIAotTElOVVhfVkVSU0lPTiA/PSAiNC4xOS1yYysiCitMSU5VWF9WRVJTSU9OID89ICI1LjAtcmMrIgogTElOVVhfVkVSU0lPTl9FWFRFTlNJT04gPz0gIi15b2N0b2Rldi0ke0xJTlVYX0tFUk5FTF9UWVBFfSIKIFBWID0gIiR7TElOVVhfVkVSU0lPTn0rZ2l0JHtTUkNQVn0iCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by1ydF80LjE0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXJ0XzQuMTQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxODlmYzguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXJ0XzQuMTQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1LQlJBTkNIID89ICJ2NC4xNC9zdGFuZGFyZC9wcmVlbXB0LXJ0L2Jhc2UiCi0KLXJlcXVpcmUgcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8uaW5jCi0KLSMgU2tpcCBwcm9jZXNzaW5nIG9mIHRoaXMgcmVjaXBlIGlmIGl0IGlzIG5vdCBleHBsaWNpdGx5IHNwZWNpZmllZCBhcyB0aGUKLSMgUFJFRkVSUkVEX1BST1ZJREVSIGZvciB2aXJ0dWFsL2tlcm5lbC4gVGhpcyBhdm9pZHMgZXJyb3JzIHdoZW4gdHJ5aW5nCi0jIHRvIGJ1aWxkIG11bHRpcGxlIHZpcnR1YWwva2VybmVsIHByb3ZpZGVycywgZS5nLiBhcyBkZXBlbmRlbmN5IG9mCi0jIGNvcmUtaW1hZ2UtcnQtc2RrLCBjb3JlLWltYWdlLXJ0LgotcHl0aG9uICgpIHsKLSAgICBpZiBkLmdldFZhcigiS0VSTkVMX1BBQ0tBR0VfTkFNRSIpID09ICJrZXJuZWwiIGFuZCBkLmdldFZhcigiUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwva2VybmVsIikgIT0gImxpbnV4LXlvY3RvLXJ0IjoKLSAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiU2V0IFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCB0byBsaW51eC15b2N0by1ydCB0byBlbmFibGUgaXQiKQotfQotCi1TUkNSRVZfbWFjaGluZSA/PSAiODJhYzdiMmI4MDQ4YjUzNzQ4MWJmMTZiOGFjZGExY2M5YmZlOTU2NSIKLVNSQ1JFVl9tZXRhID89ICI2YTMyNTRlN2IzNzBjYmI4NmMxZjczMzc5ZGNmMzg4ODVjMWM2OWUwIgotCi1TUkNfVVJJID0gImdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2xpbnV4LXlvY3RvLmdpdDticmFuY2g9JHtLQlJBTkNIfTtuYW1lPW1hY2hpbmUgXAotICAgICAgICAgICBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy95b2N0by1rZXJuZWwtY2FjaGU7dHlwZT1rbWV0YTtuYW1lPW1ldGE7YnJhbmNoPXlvY3RvLTQuMTQ7ZGVzdHN1ZmZpeD0ke0tNRVRBfSIKLQotTElOVVhfVkVSU0lPTiA/PSAiNC4xNC43OSIKLQotREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0FSQ0gnLCAneDg2JywgJ2VsZnV0aWxzLW5hdGl2ZScsICcnLCBkKX0iCi1ERVBFTkRTICs9ICJvcGVuc3NsLW5hdGl2ZSB1dGlsLWxpbnV4LW5hdGl2ZSIKLQotUFYgPSAiJHtMSU5VWF9WRVJTSU9OfStnaXQke1NSQ1BWfSIKLQotS01FVEEgPSAia2VybmVsLW1ldGEiCi1LQ09ORl9CU1BfQVVESVRfTEVWRUwgPSAiMiIKLQotTElOVVhfS0VSTkVMX1RZUEUgPSAicHJlZW1wdC1ydCIKLQotQ09NUEFUSUJMRV9NQUNISU5FID0gIihxZW11eDg2fHFlbXV4ODYtNjR8cWVtdWFybXxxZW11cHBjfHFlbXVtaXBzKSIKLQotS0VSTkVMX0RFVklDRVRSRUVfcWVtdWFybSA9ICJ2ZXJzYXRpbGUtcGIuZHRiIgotCi0jIEZ1bmN0aW9uYWxpdHkgZmxhZ3MKLUtFUk5FTF9FWFRSQV9GRUFUVVJFUyA/PSAiZmVhdHVyZXMvbmV0ZmlsdGVyL25ldGZpbHRlci5zY2MgZmVhdHVyZXMvdGFza3N0YXRzL3Rhc2tzdGF0cy5zY2MiCi1LRVJORUxfRkVBVFVSRVNfYXBwZW5kID0gIiAke0tFUk5FTF9FWFRSQV9GRUFUVVJFU30iCi1LRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXVhbGw9IiBjZmcvdmlydGlvLnNjYyIKLUtFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdXg4Nj0iIGNmZy9zb3VuZC5zY2MgY2ZnL3BhcmF2aXJ0X2t2bS5zY2MiCi1LRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXV4ODYtNjQ9IiBjZmcvc291bmQuc2NjIGNmZy9wYXJhdmlydF9rdm0uc2NjIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXJ0XzQuMTkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tcnRfNC4xOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjE2NDBkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXJ0XzQuMTkuYmIKQEAgLTAsMCArMSw0MyBAQAorS0JSQU5DSCA/PSAidjQuMTkvc3RhbmRhcmQvcHJlZW1wdC1ydC9iYXNlIgorCityZXF1aXJlIHJlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYworCisjIFNraXAgcHJvY2Vzc2luZyBvZiB0aGlzIHJlY2lwZSBpZiBpdCBpcyBub3QgZXhwbGljaXRseSBzcGVjaWZpZWQgYXMgdGhlCisjIFBSRUZFUlJFRF9QUk9WSURFUiBmb3IgdmlydHVhbC9rZXJuZWwuIFRoaXMgYXZvaWRzIGVycm9ycyB3aGVuIHRyeWluZworIyB0byBidWlsZCBtdWx0aXBsZSB2aXJ0dWFsL2tlcm5lbCBwcm92aWRlcnMsIGUuZy4gYXMgZGVwZW5kZW5jeSBvZgorIyBjb3JlLWltYWdlLXJ0LXNkaywgY29yZS1pbWFnZS1ydC4KK3B5dGhvbiAoKSB7CisgICAgaWYgZC5nZXRWYXIoIktFUk5FTF9QQUNLQUdFX05BTUUiKSA9PSAia2VybmVsIiBhbmQgZC5nZXRWYXIoIlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCIpICE9ICJsaW51eC15b2N0by1ydCI6CisgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoIlNldCBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwgdG8gbGludXgteW9jdG8tcnQgdG8gZW5hYmxlIGl0IikKK30KKworU1JDUkVWX21hY2hpbmUgPz0gIjJjNmU0NGU0NzZiZDI5N2Q2NWQ1Y2IxYjVmNTUzOGQzMDNmYzA1YTAiCitTUkNSRVZfbWV0YSA/PSAiZDg1ZjA3ZTAzYzk4MGVjYTVmZmQ1YmEwNTg5ODVkNmVkM2E4MzgwMSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9saW51eC15b2N0by5naXQ7YnJhbmNoPSR7S0JSQU5DSH07bmFtZT1tYWNoaW5lIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcveW9jdG8ta2VybmVsLWNhY2hlO3R5cGU9a21ldGE7bmFtZT1tZXRhO2JyYW5jaD15b2N0by00LjE5O2Rlc3RzdWZmaXg9JHtLTUVUQX0iCisKK0xJTlVYX1ZFUlNJT04gPz0gIjQuMTkuMzAiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJiZWE4MTVlZTI3OTViMmY0MjMwODI2YzBjNmI4ODE0IgorCitERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnQVJDSCcsICd4ODYnLCAnZWxmdXRpbHMtbmF0aXZlJywgJycsIGQpfSIKK0RFUEVORFMgKz0gIm9wZW5zc2wtbmF0aXZlIHV0aWwtbGludXgtbmF0aXZlIgorCitQViA9ICIke0xJTlVYX1ZFUlNJT059K2dpdCR7U1JDUFZ9IgorCitLTUVUQSA9ICJrZXJuZWwtbWV0YSIKK0tDT05GX0JTUF9BVURJVF9MRVZFTCA9ICIyIgorCitMSU5VWF9LRVJORUxfVFlQRSA9ICJwcmVlbXB0LXJ0IgorCitDT01QQVRJQkxFX01BQ0hJTkUgPSAiKHFlbXV4ODZ8cWVtdXg4Ni02NHxxZW11YXJtfHFlbXVhcm12NXxxZW11YXJtNjR8cWVtdXBwY3xxZW11bWlwcykiCisKK0tFUk5FTF9ERVZJQ0VUUkVFX3FlbXVhcm0gPSAidmVyc2F0aWxlLXBiLmR0YiIKKworIyBGdW5jdGlvbmFsaXR5IGZsYWdzCitLRVJORUxfRVhUUkFfRkVBVFVSRVMgPz0gImZlYXR1cmVzL25ldGZpbHRlci9uZXRmaWx0ZXIuc2NjIGZlYXR1cmVzL3Rhc2tzdGF0cy90YXNrc3RhdHMuc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZCA9ICIgJHtLRVJORUxfRVhUUkFfRkVBVFVSRVN9IgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11YWxsPSIgY2ZnL3ZpcnRpby5zY2MiCitLRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXV4ODY9IiBjZmcvc291bmQuc2NjIGNmZy9wYXJhdmlydF9rdm0uc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11eDg2LTY0PSIgY2ZnL3NvdW5kLnNjYyBjZmcvcGFyYXZpcnRfa3ZtLnNjYyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by1ydF81LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tcnRfNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1YzM2OTgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tcnRfNS4wLmJiCkBAIC0wLDAgKzEsNDMgQEAKK0tCUkFOQ0ggPz0gInY1LjAvc3RhbmRhcmQvcHJlZW1wdC1ydC9iYXNlIgorCityZXF1aXJlIHJlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYworCisjIFNraXAgcHJvY2Vzc2luZyBvZiB0aGlzIHJlY2lwZSBpZiBpdCBpcyBub3QgZXhwbGljaXRseSBzcGVjaWZpZWQgYXMgdGhlCisjIFBSRUZFUlJFRF9QUk9WSURFUiBmb3IgdmlydHVhbC9rZXJuZWwuIFRoaXMgYXZvaWRzIGVycm9ycyB3aGVuIHRyeWluZworIyB0byBidWlsZCBtdWx0aXBsZSB2aXJ0dWFsL2tlcm5lbCBwcm92aWRlcnMsIGUuZy4gYXMgZGVwZW5kZW5jeSBvZgorIyBjb3JlLWltYWdlLXJ0LXNkaywgY29yZS1pbWFnZS1ydC4KK3B5dGhvbiAoKSB7CisgICAgaWYgZC5nZXRWYXIoIktFUk5FTF9QQUNLQUdFX05BTUUiKSA9PSAia2VybmVsIiBhbmQgZC5nZXRWYXIoIlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCIpICE9ICJsaW51eC15b2N0by1ydCI6CisgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoIlNldCBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwgdG8gbGludXgteW9jdG8tcnQgdG8gZW5hYmxlIGl0IikKK30KKworU1JDUkVWX21hY2hpbmUgPz0gIjA2ZTFmZjc5ZWE5ZWZlZjA1MjQwNGVlMTk4OWNhZTAzOGIyOGU5NTQiCitTUkNSRVZfbWV0YSA/PSAiNzA1NDU3ODM3ZTdkZGQyN2U0ZTJlY2Y2ZDNkYmQyNTViMWFhZjg0OCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9saW51eC15b2N0by5naXQ7YnJhbmNoPSR7S0JSQU5DSH07bmFtZT1tYWNoaW5lIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcveW9jdG8ta2VybmVsLWNhY2hlO3R5cGU9a21ldGE7bmFtZT1tZXRhO2JyYW5jaD15b2N0by01LjA7ZGVzdHN1ZmZpeD0ke0tNRVRBfSIKKworTElOVVhfVkVSU0lPTiA/PSAiNS4wLjMiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJiZWE4MTVlZTI3OTViMmY0MjMwODI2YzBjNmI4ODE0IgorCitERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnQVJDSCcsICd4ODYnLCAnZWxmdXRpbHMtbmF0aXZlJywgJycsIGQpfSIKK0RFUEVORFMgKz0gIm9wZW5zc2wtbmF0aXZlIHV0aWwtbGludXgtbmF0aXZlIgorCitQViA9ICIke0xJTlVYX1ZFUlNJT059K2dpdCR7U1JDUFZ9IgorCitLTUVUQSA9ICJrZXJuZWwtbWV0YSIKK0tDT05GX0JTUF9BVURJVF9MRVZFTCA9ICIyIgorCitMSU5VWF9LRVJORUxfVFlQRSA9ICJwcmVlbXB0LXJ0IgorCitDT01QQVRJQkxFX01BQ0hJTkUgPSAiKHFlbXV4ODZ8cWVtdXg4Ni02NHxxZW11YXJtfHFlbXVhcm12NXxxZW11YXJtNjR8cWVtdXBwY3xxZW11bWlwcykiCisKK0tFUk5FTF9ERVZJQ0VUUkVFX3FlbXVhcm0gPSAidmVyc2F0aWxlLXBiLmR0YiIKKworIyBGdW5jdGlvbmFsaXR5IGZsYWdzCitLRVJORUxfRVhUUkFfRkVBVFVSRVMgPz0gImZlYXR1cmVzL25ldGZpbHRlci9uZXRmaWx0ZXIuc2NjIGZlYXR1cmVzL3Rhc2tzdGF0cy90YXNrc3RhdHMuc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZCA9ICIgJHtLRVJORUxfRVhUUkFfRkVBVFVSRVN9IgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11YWxsPSIgY2ZnL3ZpcnRpby5zY2MiCitLRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXV4ODY9IiBjZmcvc291bmQuc2NjIGNmZy9wYXJhdmlydF9rdm0uc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11eDg2LTY0PSIgY2ZnL3NvdW5kLnNjYyBjZmcvcGFyYXZpcnRfa3ZtLnNjYyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by10aW55XzQuMTQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tdGlueV80LjE0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWY1YzQ3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by10aW55XzQuMTQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1LQlJBTkNIID89ICJ2NC4xNC9zdGFuZGFyZC90aW55L2Jhc2UiCi1MSU5VWF9LRVJORUxfVFlQRSA9ICJ0aW55IgotS0NPTkZJR19NT0RFID0gIi0tYWxsbm9jb25maWciCi0KLXJlcXVpcmUgcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8uaW5jCi0KLUxJTlVYX1ZFUlNJT04gPz0gIjQuMTQuNzkiCi0KLURFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdBUkNIJywgJ3g4NicsICdlbGZ1dGlscy1uYXRpdmUnLCAnJywgZCl9IgotREVQRU5EUyArPSAib3BlbnNzbC1uYXRpdmUgdXRpbC1saW51eC1uYXRpdmUiCi0KLUtNRVRBID0gImtlcm5lbC1tZXRhIgotS0NPTkZfQlNQX0FVRElUX0xFVkVMID0gIjIiCi0KLVNSQ1JFVl9tYWNoaW5lID89ICI2Y2UxN2VhZTVkOTYyYjMwODQ2YTUyNTg5NTYyNDY0MzhkNjhkNjBhIgotU1JDUkVWX21ldGEgPz0gIjZhMzI1NGU3YjM3MGNiYjg2YzFmNzMzNzlkY2YzODg4NWMxYzY5ZTAiCi0KLVBWID0gIiR7TElOVVhfVkVSU0lPTn0rZ2l0JHtTUkNQVn0iCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvbGludXgteW9jdG8uZ2l0O2JyYW5jaD0ke0tCUkFOQ0h9O25hbWU9bWFjaGluZSBcCi0gICAgICAgICAgIGdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3lvY3RvLWtlcm5lbC1jYWNoZTt0eXBlPWttZXRhO25hbWU9bWV0YTticmFuY2g9eW9jdG8tNC4xNDtkZXN0c3VmZml4PSR7S01FVEF9IgotCi1DT01QQVRJQkxFX01BQ0hJTkUgPSAicWVtdXg4NnxxZW11eDg2LTY0IgotCi0jIEZ1bmN0aW9uYWxpdHkgZmxhZ3MKLUtFUk5FTF9GRUFUVVJFUyA9ICIiCi0KLUtFUk5FTF9ERVZJQ0VUUkVFX3FlbXVhcm0gPSAidmVyc2F0aWxlLXBiLmR0YiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by10aW55XzQuMTkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tdGlueV80LjE5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlMTMyY2EKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tdGlueV80LjE5LmJiCkBAIC0wLDAgKzEsMzIgQEAKK0tCUkFOQ0ggPz0gInY0LjE5L3N0YW5kYXJkL3RpbnkvYmFzZSIKK0tCUkFOQ0hfcWVtdWFybSAgPz0gInY0LjE5L3N0YW5kYXJkL3RpbnkvYXJtLXZlcnNhdGlsZS05MjZlanMiCisKK0xJTlVYX0tFUk5FTF9UWVBFID0gInRpbnkiCitLQ09ORklHX01PREUgPSAiLS1hbGxub2NvbmZpZyIKKworcmVxdWlyZSByZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by5pbmMKKworTElOVVhfVkVSU0lPTiA/PSAiNC4xOS4zMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJiZWE4MTVlZTI3OTViMmY0MjMwODI2YzBjNmI4ODE0IgorCitERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnQVJDSCcsICd4ODYnLCAnZWxmdXRpbHMtbmF0aXZlJywgJycsIGQpfSIKK0RFUEVORFMgKz0gIm9wZW5zc2wtbmF0aXZlIHV0aWwtbGludXgtbmF0aXZlIgorCitLTUVUQSA9ICJrZXJuZWwtbWV0YSIKK0tDT05GX0JTUF9BVURJVF9MRVZFTCA9ICIyIgorCitTUkNSRVZfbWFjaGluZV9xZW11YXJtID89ICIwM2ViNjEwNjk5MDQ5OGU4NjI5ODY0NmM2ODJmY2U5ZmM2MWYyMTMxIgorU1JDUkVWX21hY2hpbmUgPz0gIjI1M2MzOWEyNTJmMjU4NDMxMTFiN2JlMGM4MjQ3ZWI0YmQ2YzMyOGQiCitTUkNSRVZfbWV0YSA/PSAiZDg1ZjA3ZTAzYzk4MGVjYTVmZmQ1YmEwNTg5ODVkNmVkM2E4MzgwMSIKKworUFYgPSAiJHtMSU5VWF9WRVJTSU9OfStnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9saW51eC15b2N0by5naXQ7YnJhbmNoPSR7S0JSQU5DSH07bmFtZT1tYWNoaW5lIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcveW9jdG8ta2VybmVsLWNhY2hlO3R5cGU9a21ldGE7bmFtZT1tZXRhO2JyYW5jaD15b2N0by00LjE5O2Rlc3RzdWZmaXg9JHtLTUVUQX0iCisKK0NPTVBBVElCTEVfTUFDSElORSA9ICJxZW11eDg2fHFlbXV4ODYtNjR8cWVtdWFybXxxZW11YXJtdjUiCisKKyMgRnVuY3Rpb25hbGl0eSBmbGFncworS0VSTkVMX0ZFQVRVUkVTID0gIiIKKworS0VSTkVMX0RFVklDRVRSRUVfcWVtdWFybSA9ICJ2ZXJzYXRpbGUtcGIuZHRiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXRpbnlfNS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXRpbnlfNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjNjA1NDgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tdGlueV81LjAuYmIKQEAgLTAsMCArMSwzMiBAQAorS0JSQU5DSCA/PSAidjUuMC9zdGFuZGFyZC90aW55L2Jhc2UiCitLQlJBTkNIX3FlbXVhcm0gID89ICJ2NS4wL3N0YW5kYXJkL3RpbnkvYXJtLXZlcnNhdGlsZS05MjZlanMiCisKK0xJTlVYX0tFUk5FTF9UWVBFID0gInRpbnkiCitLQ09ORklHX01PREUgPSAiLS1hbGxub2NvbmZpZyIKKworcmVxdWlyZSByZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by5pbmMKKworTElOVVhfVkVSU0lPTiA/PSAiNS4wLjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iYmVhODE1ZWUyNzk1YjJmNDIzMDgyNmMwYzZiODgxNCIKKworREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0FSQ0gnLCAneDg2JywgJ2VsZnV0aWxzLW5hdGl2ZScsICcnLCBkKX0iCitERVBFTkRTICs9ICJvcGVuc3NsLW5hdGl2ZSB1dGlsLWxpbnV4LW5hdGl2ZSIKKworS01FVEEgPSAia2VybmVsLW1ldGEiCitLQ09ORl9CU1BfQVVESVRfTEVWRUwgPSAiMiIKKworU1JDUkVWX21hY2hpbmVfcWVtdWFybSA/PSAiYjA0NzcyNzk4NzdiYjJiNWNjYTZlYzQ5YzY0ZTkzMTkwMWZmMjAyMiIKK1NSQ1JFVl9tYWNoaW5lID89ICIzZGY0YWFlNjA3NGU5NGU3OTRlMjdmZTdmMTc0NTFkOTM1M2NkZjNkIgorU1JDUkVWX21ldGEgPz0gIjcwNTQ1NzgzN2U3ZGRkMjdlNGUyZWNmNmQzZGJkMjU1YjFhYWY4NDgiCisKK1BWID0gIiR7TElOVVhfVkVSU0lPTn0rZ2l0JHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvbGludXgteW9jdG8uZ2l0O2JyYW5jaD0ke0tCUkFOQ0h9O25hbWU9bWFjaGluZSBcCisgICAgICAgICAgIGdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3lvY3RvLWtlcm5lbC1jYWNoZTt0eXBlPWttZXRhO25hbWU9bWV0YTticmFuY2g9eW9jdG8tNS4wO2Rlc3RzdWZmaXg9JHtLTUVUQX0iCisKK0NPTVBBVElCTEVfTUFDSElORSA9ICJxZW11eDg2fHFlbXV4ODYtNjR8cWVtdWFybXxxZW11YXJtdjUiCisKKyMgRnVuY3Rpb25hbGl0eSBmbGFncworS0VSTkVMX0ZFQVRVUkVTID0gIiIKKworS0VSTkVMX0RFVklDRVRSRUVfcWVtdWFybSA9ICJ2ZXJzYXRpbGUtcGIuZHRiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by5pbmMKaW5kZXggMWViZmI2MC4uZjE5MTk0NiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8uaW5jCkBAIC0yNiw2ICsyNiwxMCBAQAogS0VSTkVMX0NDX2FwcGVuZF9uaW9zMiA9ICIgJHtUT09MQ0hBSU5fT1BUSU9OU30iCiBLRVJORUxfTERfYXBwZW5kX25pb3MyID0gIiAke1RPT0xDSEFJTl9PUFRJT05TfSIKIAorREVQRU5EU19hcHBlbmRfYXJjID0gIiBsaWJnY2MiCitLRVJORUxfQ0NfYXBwZW5kX2FyYyA9ICIgJHtUT09MQ0hBSU5fT1BUSU9OU30iCitLRVJORUxfTERfYXBwZW5kX2FyYyA9ICIgJHtUT09MQ0hBSU5fT1BUSU9OU30iCisKIEtFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdWFsbD0iIGZlYXR1cmVzL2RlYnVnL3ByaW50ay5zY2MiCiAKIEtFUk5FTF9GRUFUVVJFU19hcHBlbmQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdNQUNISU5FX0ZFQVRVUkVTJywgJ251bWEnLCAnZmVhdHVyZXMvbnVtYS9udW1hLnNjYycsICcnLCBkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NWIyNDQ0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotS0JSQU5DSCA/PSAidjQuMTQvc3RhbmRhcmQvYmFzZSIKLQotcmVxdWlyZSByZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by5pbmMKLQotIyBib2FyZCBzcGVjaWZpYyBicmFuY2hlcwotS0JSQU5DSF9xZW11YXJtICA/PSAidjQuMTQvc3RhbmRhcmQvYXJtLXZlcnNhdGlsZS05MjZlanMiCi1LQlJBTkNIX3FlbXVhcm02NCA/PSAidjQuMTQvc3RhbmRhcmQvcWVtdWFybTY0IgotS0JSQU5DSF9xZW11bWlwcyA/PSAidjQuMTQvc3RhbmRhcmQvbXRpLW1hbHRhMzIiCi1LQlJBTkNIX3FlbXVwcGMgID89ICJ2NC4xNC9zdGFuZGFyZC9xZW11cHBjIgotS0JSQU5DSF9xZW11eDg2ICA/PSAidjQuMTQvc3RhbmRhcmQvYmFzZSIKLUtCUkFOQ0hfcWVtdXg4Ni02NCA/PSAidjQuMTQvc3RhbmRhcmQvYmFzZSIKLUtCUkFOQ0hfcWVtdW1pcHM2NCA/PSAidjQuMTQvc3RhbmRhcmQvbXRpLW1hbHRhNjQiCi0KLVNSQ1JFVl9tYWNoaW5lX3FlbXVhcm0gPz0gIjg3NTJiODQyMWVmZThiNWE0NzhmMTdmYmZmYWNmNGFmOTc0ZWM3MDMiCi1TUkNSRVZfbWFjaGluZV9xZW11YXJtNjQgPz0gImFjNjY0NzRiYTdmN2U5M2QxNmFlM2VhMDA1ZjIxNDExM2JiMTI3YzUiCi1TUkNSRVZfbWFjaGluZV9xZW11bWlwcyA/PSAiYWIwMzFiMjY3ZTJhNzlmY2Q0OGRhNWQxMGQ1MDNmNGQwNjVmNDgyMSIKLVNSQ1JFVl9tYWNoaW5lX3FlbXVwcGMgPz0gImY0N2MzOTQ1ZThkZDIzMGVhMzc3NzFiY2FjYzgzNjI0NWZjNzlkMjIiCi1TUkNSRVZfbWFjaGluZV9xZW11eDg2ID89ICJmMWQ5M2IyMTliZGUzN2E4YTI4NmNkMThkNmFmMmRjZjBkMDJjMWE4IgotU1JDUkVWX21hY2hpbmVfcWVtdXg4Ni02NCA/PSAiZjFkOTNiMjE5YmRlMzdhOGEyODZjZDE4ZDZhZjJkY2YwZDAyYzFhOCIKLVNSQ1JFVl9tYWNoaW5lX3FlbXVtaXBzNjQgPz0gIjgwNjNhNzI1OGZjNjcwYTM2MWZlZDg1Yjg1OGZhYmIyMzc0ODVmMWMiCi1TUkNSRVZfbWFjaGluZSA/PSAiZjFkOTNiMjE5YmRlMzdhOGEyODZjZDE4ZDZhZjJkY2YwZDAyYzFhOCIKLVNSQ1JFVl9tZXRhID89ICI2YTMyNTRlN2IzNzBjYmI4NmMxZjczMzc5ZGNmMzg4ODVjMWM2OWUwIgotCi1TUkNfVVJJID0gImdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2xpbnV4LXlvY3RvLmdpdDtuYW1lPW1hY2hpbmU7YnJhbmNoPSR7S0JSQU5DSH07IFwKLSAgICAgICAgICAgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcveW9jdG8ta2VybmVsLWNhY2hlO3R5cGU9a21ldGE7bmFtZT1tZXRhO2JyYW5jaD15b2N0by00LjE0O2Rlc3RzdWZmaXg9JHtLTUVUQX0iCi0KLUxJTlVYX1ZFUlNJT04gPz0gIjQuMTQuNzkiCi0KLURFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdBUkNIJywgJ3g4NicsICdlbGZ1dGlscy1uYXRpdmUnLCAnJywgZCl9IgotREVQRU5EUyArPSAib3BlbnNzbC1uYXRpdmUgdXRpbC1saW51eC1uYXRpdmUiCi0KLVBWID0gIiR7TElOVVhfVkVSU0lPTn0rZ2l0JHtTUkNQVn0iCi0KLUtNRVRBID0gImtlcm5lbC1tZXRhIgotS0NPTkZfQlNQX0FVRElUX0xFVkVMID0gIjIiCi0KLUtFUk5FTF9ERVZJQ0VUUkVFX3FlbXVhcm0gPSAidmVyc2F0aWxlLXBiLmR0YiIKLQotQ09NUEFUSUJMRV9NQUNISU5FID0gInFlbXVhcm18cWVtdWFybTY0fHFlbXV4ODZ8cWVtdXBwY3xxZW11bWlwc3xxZW11bWlwczY0fHFlbXV4ODYtNjQiCi0KLSMgRnVuY3Rpb25hbGl0eSBmbGFncwotS0VSTkVMX0VYVFJBX0ZFQVRVUkVTID89ICJmZWF0dXJlcy9uZXRmaWx0ZXIvbmV0ZmlsdGVyLnNjYyIKLUtFUk5FTF9GRUFUVVJFU19hcHBlbmQgPSAiICR7S0VSTkVMX0VYVFJBX0ZFQVRVUkVTfSIKLUtFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdWFsbD0iIGNmZy92aXJ0aW8uc2NjIgotS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11eDg2PSIgY2ZnL3NvdW5kLnNjYyBjZmcvcGFyYXZpcnRfa3ZtLnNjYyIKLUtFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdXg4Ni02ND0iIGNmZy9zb3VuZC5zY2MgY2ZnL3BhcmF2aXJ0X2t2bS5zY2MiCi1LRVJORUxfRkVBVFVSRVNfYXBwZW5kID0gIiAke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJteDMyIiwgIiBjZmcveDMyLnNjYyIsICIiICxkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyMTdkYWEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xOS5iYgpAQCAtMCwwICsxLDQ5IEBACitLQlJBTkNIID89ICJ2NC4xOS9zdGFuZGFyZC9iYXNlIgorCityZXF1aXJlIHJlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYworCisjIGJvYXJkIHNwZWNpZmljIGJyYW5jaGVzCitLQlJBTkNIX3FlbXVhcm0gID89ICJ2NC4xOS9zdGFuZGFyZC9hcm0tdmVyc2F0aWxlLTkyNmVqcyIKK0tCUkFOQ0hfcWVtdWFybTY0ID89ICJ2NC4xOS9zdGFuZGFyZC9xZW11YXJtNjQiCitLQlJBTkNIX3FlbXVtaXBzID89ICJ2NC4xOS9zdGFuZGFyZC9tdGktbWFsdGEzMiIKK0tCUkFOQ0hfcWVtdXBwYyAgPz0gInY0LjE5L3N0YW5kYXJkL3FlbXVwcGMiCitLQlJBTkNIX3FlbXV4ODYgID89ICJ2NC4xOS9zdGFuZGFyZC9iYXNlIgorS0JSQU5DSF9xZW11eDg2LTY0ID89ICJ2NC4xOS9zdGFuZGFyZC9iYXNlIgorS0JSQU5DSF9xZW11bWlwczY0ID89ICJ2NC4xOS9zdGFuZGFyZC9tdGktbWFsdGE2NCIKKworU1JDUkVWX21hY2hpbmVfcWVtdWFybSA/PSAiM2RmNDlkYjJlYTliOGU4MDBjYjMwZDVkNjk1ZDRkMmEyZjhjMWJlZCIKK1NSQ1JFVl9tYWNoaW5lX3FlbXVhcm02NCA/PSAiMjUzYzM5YTI1MmYyNTg0MzExMWI3YmUwYzgyNDdlYjRiZDZjMzI4ZCIKK1NSQ1JFVl9tYWNoaW5lX3FlbXVtaXBzID89ICI1ZGM5NzVkMGU1ODZlZGQ1ZDMzYmNlNjI1NjBmOTk4ZjlhMjQ2YmU2IgorU1JDUkVWX21hY2hpbmVfcWVtdXBwYyA/PSAiMjUzYzM5YTI1MmYyNTg0MzExMWI3YmUwYzgyNDdlYjRiZDZjMzI4ZCIKK1NSQ1JFVl9tYWNoaW5lX3FlbXV4ODYgPz0gIjI1M2MzOWEyNTJmMjU4NDMxMTFiN2JlMGM4MjQ3ZWI0YmQ2YzMyOGQiCitTUkNSRVZfbWFjaGluZV9xZW11eDg2LTY0ID89ICIyNTNjMzlhMjUyZjI1ODQzMTExYjdiZTBjODI0N2ViNGJkNmMzMjhkIgorU1JDUkVWX21hY2hpbmVfcWVtdW1pcHM2NCA/PSAiYmI3YWU4YThjYmU3NmM5Y2UyODA0ZjY1MTkzNmYwNTlmOWY2MjFhMiIKK1NSQ1JFVl9tYWNoaW5lID89ICIyNTNjMzlhMjUyZjI1ODQzMTExYjdiZTBjODI0N2ViNGJkNmMzMjhkIgorU1JDUkVWX21ldGEgPz0gImQ4NWYwN2UwM2M5ODBlY2E1ZmZkNWJhMDU4OTg1ZDZlZDNhODM4MDEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvbGludXgteW9jdG8uZ2l0O25hbWU9bWFjaGluZTticmFuY2g9JHtLQlJBTkNIfTsgXAorICAgICAgICAgICBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy95b2N0by1rZXJuZWwtY2FjaGU7dHlwZT1rbWV0YTtuYW1lPW1ldGE7YnJhbmNoPXlvY3RvLTQuMTk7ZGVzdHN1ZmZpeD0ke0tNRVRBfSBcCisgICAgICAgICAgIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iYmVhODE1ZWUyNzk1YjJmNDIzMDgyNmMwYzZiODgxNCIKK0xJTlVYX1ZFUlNJT04gPz0gIjQuMTkuMzAiCisKK0RFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdBUkNIJywgJ3g4NicsICdlbGZ1dGlscy1uYXRpdmUnLCAnJywgZCl9IgorREVQRU5EUyArPSAib3BlbnNzbC1uYXRpdmUgdXRpbC1saW51eC1uYXRpdmUiCisKK1BWID0gIiR7TElOVVhfVkVSU0lPTn0rZ2l0JHtTUkNQVn0iCisKK0tNRVRBID0gImtlcm5lbC1tZXRhIgorS0NPTkZfQlNQX0FVRElUX0xFVkVMID0gIjIiCisKK0tFUk5FTF9ERVZJQ0VUUkVFX3FlbXVhcm0gPSAidmVyc2F0aWxlLXBiLmR0YiIKKworQ09NUEFUSUJMRV9NQUNISU5FID0gInFlbXVhcm18cWVtdWFybXY1fHFlbXVhcm02NHxxZW11eDg2fHFlbXVwcGN8cWVtdW1pcHN8cWVtdW1pcHM2NHxxZW11eDg2LTY0IgorCisjIEZ1bmN0aW9uYWxpdHkgZmxhZ3MKK0tFUk5FTF9FWFRSQV9GRUFUVVJFUyA/PSAiZmVhdHVyZXMvbmV0ZmlsdGVyL25ldGZpbHRlci5zY2MiCitLRVJORUxfRkVBVFVSRVNfYXBwZW5kID0gIiAke0tFUk5FTF9FWFRSQV9GRUFUVVJFU30iCitLRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXVhbGw9IiBjZmcvdmlydGlvLnNjYyIKK0tFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdXg4Nj0iIGNmZy9zb3VuZC5zY2MgY2ZnL3BhcmF2aXJ0X2t2bS5zY2MiCitLRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXV4ODYtNjQ9IiBjZmcvc291bmQuc2NjIGNmZy9wYXJhdmlydF9rdm0uc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAibXgzMiIsICIgY2ZnL3gzMi5zY2MiLCAiIiAsZCl9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzUuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b181LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU1ZGJhZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b181LjAuYmIKQEAgLTAsMCArMSw1MSBAQAorS0JSQU5DSCA/PSAidjUuMC9zdGFuZGFyZC9iYXNlIgorCityZXF1aXJlIHJlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYworCisjIGJvYXJkIHNwZWNpZmljIGJyYW5jaGVzCitLQlJBTkNIX3FlbXVhcm0gID89ICJ2NS4wL3N0YW5kYXJkL2FybS12ZXJzYXRpbGUtOTI2ZWpzIgorS0JSQU5DSF9xZW11YXJtNjQgPz0gInY1LjAvc3RhbmRhcmQvcWVtdWFybTY0IgorS0JSQU5DSF9xZW11bWlwcyA/PSAidjUuMC9zdGFuZGFyZC9tdGktbWFsdGEzMiIKK0tCUkFOQ0hfcWVtdXBwYyAgPz0gInY1LjAvc3RhbmRhcmQvcWVtdXBwYyIKK0tCUkFOQ0hfcWVtdXg4NiAgPz0gInY1LjAvc3RhbmRhcmQvYmFzZSIKK0tCUkFOQ0hfcWVtdXg4Ni02NCA/PSAidjUuMC9zdGFuZGFyZC9iYXNlIgorS0JSQU5DSF9xZW11bWlwczY0ID89ICJ2NS4wL3N0YW5kYXJkL210aS1tYWx0YTY0IgorCitTUkNSRVZfbWFjaGluZV9xZW11YXJtID89ICIxOGE1ZmZhMGU5MDE4NGM4NTAzZmYxZGY0NWU0ZTVlNTAxYjFiYWIzIgorU1JDUkVWX21hY2hpbmVfcWVtdWFybTY0ID89ICIzZGY0YWFlNjA3NGU5NGU3OTRlMjdmZTdmMTc0NTFkOTM1M2NkZjNkIgorU1JDUkVWX21hY2hpbmVfcWVtdW1pcHMgPz0gImM0ZDNjZDY0MzczMjk0MDdlMmNjN2UzZTQ2MTU3Njk0NTJkNDI2YjEiCitTUkNSRVZfbWFjaGluZV9xZW11cHBjID89ICIzZGY0YWFlNjA3NGU5NGU3OTRlMjdmZTdmMTc0NTFkOTM1M2NkZjNkIgorU1JDUkVWX21hY2hpbmVfcWVtdXg4NiA/PSAiM2RmNGFhZTYwNzRlOTRlNzk0ZTI3ZmU3ZjE3NDUxZDkzNTNjZGYzZCIKK1NSQ1JFVl9tYWNoaW5lX3FlbXV4ODYtNjQgPz0gIjNkZjRhYWU2MDc0ZTk0ZTc5NGUyN2ZlN2YxNzQ1MWQ5MzUzY2RmM2QiCitTUkNSRVZfbWFjaGluZV9xZW11bWlwczY0ID89ICIyNDY4YzIwYzE1NDc3ZWJlNWVjZDczYzBlMDE2MmQ3NDMyMTQ5MzE4IgorU1JDUkVWX21hY2hpbmUgPz0gIjNkZjRhYWU2MDc0ZTk0ZTc5NGUyN2ZlN2YxNzQ1MWQ5MzUzY2RmM2QiCitTUkNSRVZfbWV0YSA/PSAiNzA1NDU3ODM3ZTdkZGQyN2U0ZTJlY2Y2ZDNkYmQyNTViMWFhZjg0OCIKKworIyByZW1hcCBxZW11YXJtIHRvIHFlbXVhcm1hMTUgZm9yIHRoZSA1LjAga2VybmVsCisjIEtNQUNISU5FX3FlbXVhcm0gPz0gInFlbXVhcm1hMTUiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvbGludXgteW9jdG8uZ2l0O25hbWU9bWFjaGluZTticmFuY2g9JHtLQlJBTkNIfTsgXAorICAgICAgICAgICBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy95b2N0by1rZXJuZWwtY2FjaGU7dHlwZT1rbWV0YTtuYW1lPW1ldGE7YnJhbmNoPXlvY3RvLTUuMDtkZXN0c3VmZml4PSR7S01FVEF9IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iYmVhODE1ZWUyNzk1YjJmNDIzMDgyNmMwYzZiODgxNCIKK0xJTlVYX1ZFUlNJT04gPz0gIjUuMC4zIgorCitERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnQVJDSCcsICd4ODYnLCAnZWxmdXRpbHMtbmF0aXZlJywgJycsIGQpfSIKK0RFUEVORFMgKz0gIm9wZW5zc2wtbmF0aXZlIHV0aWwtbGludXgtbmF0aXZlIgorCitQViA9ICIke0xJTlVYX1ZFUlNJT059K2dpdCR7U1JDUFZ9IgorCitLTUVUQSA9ICJrZXJuZWwtbWV0YSIKK0tDT05GX0JTUF9BVURJVF9MRVZFTCA9ICIyIgorCitLRVJORUxfREVWSUNFVFJFRV9xZW11YXJtID0gInZlcnNhdGlsZS1wYi5kdGIiCisKK0NPTVBBVElCTEVfTUFDSElORSA9ICJxZW11YXJtfHFlbXVhcm12NXxxZW11YXJtNjR8cWVtdXg4NnxxZW11cHBjfHFlbXVtaXBzfHFlbXVtaXBzNjR8cWVtdXg4Ni02NCIKKworIyBGdW5jdGlvbmFsaXR5IGZsYWdzCitLRVJORUxfRVhUUkFfRkVBVFVSRVMgPz0gImZlYXR1cmVzL25ldGZpbHRlci9uZXRmaWx0ZXIuc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZCA9ICIgJHtLRVJORUxfRVhUUkFfRkVBVFVSRVN9IgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11YWxsPSIgY2ZnL3ZpcnRpby5zY2MiCitLRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXV4ODY9IiBjZmcvc291bmQuc2NjIGNmZy9wYXJhdmlydF9rdm0uc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11eDg2LTY0PSIgY2ZnL3NvdW5kLnNjYyBjZmcvcGFyYXZpcnRfa3ZtLnNjYyIKK0tFUk5FTF9GRUFUVVJFU19hcHBlbmQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgIm14MzIiLCAiIGNmZy94MzIuc2NjIiwgIiIgLGQpfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDEtRml4LWJ0cmZzLVJlbW92ZS11bm5lY2Vzc2FyeS1mc19pbmZvLXBhcmFtZXRlci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDEtRml4LWJ0cmZzLVJlbW92ZS11bm5lY2Vzc2FyeS1mc19pbmZvLXBhcmFtZXRlci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGZlNGVlOC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDAxLUZpeC1idHJmcy1SZW1vdmUtdW5uZWNlc3NhcnktZnNfaW5mby1wYXJhbWV0ZXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTYgKzAsMCBAQAotRnJvbSA1MWFiMGIxZGEyOTM1NDM3NWExOWY4NjVhYmNkMjMzZGQyMTc4Mjk1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+Ci1EYXRlOiBNb24sIDE4IEp1biAyMDE4IDE0OjUzOjE5IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeDogYnRyZnM6IFJlbW92ZSB1bm5lY2Vzc2FyeSBmc19pbmZvIHBhcmFtZXRlcgotCi1TZWUgdXBzdHJlYW0gY29tbWl0OgotCi0gIGNvbW1pdCAzZGNhNWM5NDJkYWM2MDE2NGU2YTZlODkxNzJmMjViODZhZjA3Y2U3Ci0gIEF1dGhvcjogUXUgV2VucnVvIDx3cXVAc3VzZS5jb20+Ci0gIERhdGU6ICAgVGh1IEFwciAyNiAxNDoyNDoyNSAyMDE4ICswODAwCi0KLSAgICBidHJmczogdHJhY2U6IFJlbW92ZSB1bm5lY2Vzc2FyeSBmc19pbmZvIHBhcmFtZXRlciBmb3IgYnRyZnNfX3Jlc2VydmVfZXh0ZW50IGV2ZW50IGNsYXNzCi0KLSAgICBmc19pbmZvIGNhbiBiZSBleHRyYWN0ZWQgZnJvbSBidHJmc19ibG9ja19ncm91cF9jYWNoZSwgYW5kIGFsbAotICAgIGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlIGlzIGNyZWF0ZWQgYnkgYnRyZnNfY3JlYXRlX2Jsb2NrX2dyb3VwX2NhY2hlKCkKLSAgICB3aXRoIGZzX2luZm8gaW5pdGlhbGl6ZWQsIG5vIG5lZWQgdG8gd29ycnkgYWJvdXQgTlVMTCBwb2ludGVyCi0gICAgZGVyZWZlcmVuY2UuCi0KLVNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgotU2lnbmVkLW9mZi1ieTogTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IEhlIFpoZSA8emhlLmhlQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBpbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9idHJmcy5oIHwgNTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvYnRyZnMuaCBiL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL2J0cmZzLmgKLWluZGV4IDc1Y2M3M2IuLmZkMWI2YjggMTAwNjQ0Ci0tLS0gYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9idHJmcy5oCi0rKysgYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9idHJmcy5oCi1AQCAtMTY1OCw4ICsxNjU4LDU3IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX3Jlc2VydmVkX2V4dGVudCwgIGJ0cmZzX3Jlc2VydmVkX2V4dGVudF9mCi0gCi0gI2VuZGlmIC8qICNlbHNlICNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMTAsMCkpICovCi0gCi0tI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwxNCwwKSkKLSsjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDE4LDApKQotK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQKGZpbmRfZnJlZV9leHRlbnQsCi0rCi0rCWJ0cmZzX2ZpbmRfZnJlZV9leHRlbnQsCi0rCi0rCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCB1NjQgbnVtX2J5dGVzLCB1NjQgZW1wdHlfc2l6ZSwKLSsJCSB1NjQgZGF0YSksCi0rCi0rCVRQX0FSR1MoaW5mbywgbnVtX2J5dGVzLCBlbXB0eV9zaXplLCBkYXRhKSwKLSsKLSsJVFBfRklFTERTKAotKwkJY3RmX2FycmF5KHU4LCBmc2lkLCBpbmZvLT5mc2lkLCBCVFJGU19VVUlEX1NJWkUpCi0rCQljdGZfaW50ZWdlcih1NjQsIG51bV9ieXRlcywgbnVtX2J5dGVzKQotKwkJY3RmX2ludGVnZXIodTY0LCBlbXB0eV9zaXplLCBlbXB0eV9zaXplKQotKwkJY3RmX2ludGVnZXIodTY0LCBkYXRhLCBkYXRhKQotKwkpCi0rKQotKwotK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LAotKwotKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfYmxvY2tfZ3JvdXBfY2FjaGUgKmJsb2NrX2dyb3VwLCB1NjQgc3RhcnQsCi0rCQkgdTY0IGxlbiksCi0rCi0rCVRQX0FSR1MoYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pLAotKwotKwlUUF9GSUVMRFMoCi0rCQljdGZfYXJyYXkodTgsIGZzaWQsIGJsb2NrX2dyb3VwLT5mc19pbmZvLT5mc2lkLCBCVFJGU19VVUlEX1NJWkUpCi0rCQljdGZfaW50ZWdlcih1NjQsIGJnX29iamVjdGlkLCBibG9ja19ncm91cC0+a2V5Lm9iamVjdGlkKQotKwkJY3RmX2ludGVnZXIodTY0LCBmbGFncywgYmxvY2tfZ3JvdXAtPmZsYWdzKQotKwkJY3RmX2ludGVnZXIodTY0LCBzdGFydCwgc3RhcnQpCi0rCQljdGZfaW50ZWdlcih1NjQsIGxlbiwgbGVuKQotKwkpCi0rKQotKwotK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LCBidHJmc19yZXNlcnZlX2V4dGVudCwKLSsKLSsJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlICpibG9ja19ncm91cCwgdTY0IHN0YXJ0LAotKwkJIHU2NCBsZW4pLAotKwotKwlUUF9BUkdTKGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKQotKykKLSsKLStMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19yZXNlcnZlX2V4dGVudCwgYnRyZnNfcmVzZXJ2ZV9leHRlbnRfY2x1c3RlciwKLSsKLSsJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlICpibG9ja19ncm91cCwgdTY0IHN0YXJ0LAotKwkJIHU2NCBsZW4pLAotKwotKwlUUF9BUkdTKGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKQotKykKLSAKLSsjZWxpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMTQsMCkpCi0gTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAoZmluZF9mcmVlX2V4dGVudCwKLSAKLSAJYnRyZnNfZmluZF9mcmVlX2V4dGVudCwKLUBAIC0xNjcwLDYgKzE3MTksNyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChmaW5kX2ZyZWVfZXh0ZW50LAotIAlUUF9BUkdTKGluZm8sIG51bV9ieXRlcywgZW1wdHlfc2l6ZSwgZGF0YSksCi0gCi0gCVRQX0ZJRUxEUygKLSsJCWN0Zl9hcnJheSh1OCwgZnNpZCwgaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQotIAkJY3RmX2ludGVnZXIodTY0LCBudW1fYnl0ZXMsIG51bV9ieXRlcykKLSAJCWN0Zl9pbnRlZ2VyKHU2NCwgZW1wdHlfc2l6ZSwgZW1wdHlfc2l6ZSkKLSAJCWN0Zl9pbnRlZ2VyKHU2NCwgZGF0YSwgZGF0YSkKLUBAIC0xNjg1LDYgKzE3MzUsNyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKGJ0cmZzX19yZXNlcnZlX2V4dGVudCwKLSAJVFBfQVJHUyhpbmZvLCBibG9ja19ncm91cCwgc3RhcnQsIGxlbiksCi0gCi0gCVRQX0ZJRUxEUygKLSsJCWN0Zl9hcnJheSh1OCwgZnNpZCwgaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQotIAkJY3RmX2ludGVnZXIodTY0LCBiZ19vYmplY3RpZCwgYmxvY2tfZ3JvdXAtPmtleS5vYmplY3RpZCkKLSAJCWN0Zl9pbnRlZ2VyKHU2NCwgZmxhZ3MsIGJsb2NrX2dyb3VwLT5mbGFncykKLSAJCWN0Zl9pbnRlZ2VyKHU2NCwgc3RhcnQsIHN0YXJ0KQotQEAgLTE3MjIsNiArMTc3Myw3IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQKGZpbmRfZnJlZV9leHRlbnQsCi0gCVRQX0FSR1MoaW5mbywgbnVtX2J5dGVzLCBlbXB0eV9zaXplLCBkYXRhKSwKLSAKLSAJVFBfRklFTERTKAotKwkJY3RmX2FycmF5KHU4LCBmc2lkLCBpbmZvLT5mc2lkLCBCVFJGU19VVUlEX1NJWkUpCi0gCQljdGZfaW50ZWdlcih1NjQsIG51bV9ieXRlcywgbnVtX2J5dGVzKQotIAkJY3RmX2ludGVnZXIodTY0LCBlbXB0eV9zaXplLCBlbXB0eV9zaXplKQotIAkJY3RmX2ludGVnZXIodTY0LCBkYXRhLCBkYXRhKQotLS0gCi0yLjEzLjMKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwMS1GaXgtc2lnbmFsLURpc3Rpbmd1aXNoLWJldHdlZW4ta2VybmVsX3NpZ2luZm8tYW5kLXNpLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwMS1GaXgtc2lnbmFsLURpc3Rpbmd1aXNoLWJldHdlZW4ta2VybmVsX3NpZ2luZm8tYW5kLXNpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1MTE4NGQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDAxLUZpeC1zaWduYWwtRGlzdGluZ3Vpc2gtYmV0d2Vlbi1rZXJuZWxfc2lnaW5mby1hbmQtc2kucGF0Y2gKQEAgLTAsMCArMSwxMzMgQEAKK0Zyb20gMGEwZDczNmVjODlkZmZkYmM4M2U3MTgxMTY2YTk5ZDU1NjNhY2ZlOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorRGF0ZTogTW9uLCA1IE5vdiAyMDE4IDExOjM1OjUyIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggMS85XSBGaXg6IHNpZ25hbDogRGlzdGluZ3Vpc2ggYmV0d2VlbiBrZXJuZWxfc2lnaW5mbyBhbmQKKyBzaWdpbmZvICh2NC4yMCkKKworU2VlIHVwc3RyZWFtIGNvbW1pdCA6CisKKyAgY29tbWl0IGFlNzc5NWJjNjE4N2ExNWVjNTFjZjI1OGFiYWU2NTZhNjI1Zjk5ODAKKyAgQXV0aG9yOiBFcmljIFcuIEJpZWRlcm1hbiA8ZWJpZWRlcm1AeG1pc3Npb24uY29tPgorICBEYXRlOiAgIFR1ZSBTZXAgMjUgMTE6Mjc6MjAgMjAxOCArMDIwMAorCisgICAgc2lnbmFsOiBEaXN0aW5ndWlzaCBiZXR3ZWVuIGtlcm5lbF9zaWdpbmZvIGFuZCBzaWdpbmZvCisKKyAgICBMaW51cyByZWNlbnRseSBvYnNlcnZlZCB0aGF0IGlmIHdlIGRpZCBub3Qgd29ycnkgYWJvdXQgdGhlIHBhZGRpbmcKKyAgICBtZW1iZXIgaW4gc3RydWN0IHNpZ2luZm8gaXQgaXMgb25seSBhYm91dCA0OCBieXRlcywgYW5kIDQ4IGJ5dGVzIGlzCisgICAgbXVjaCBuaWNlciB0aGFuIDEyOCBieXRlcyBmb3IgYWxsb2NhdGluZyBvbiB0aGUgc3RhY2sgYW5kIGNvcHlpbmcKKyAgICBhcm91bmQgaW4gdGhlIGtlcm5lbC4KKworICAgIFRoZSBvYnZpb3VzIHRoaW5nIG9mIG9ubHkgYWRkaW5nIHRoZSBwYWRkaW5nIHdoZW4gdXNlcnNwYWNlIGlzCisgICAgaW5jbHVkaW5nIHNpZ2luZm8uaCB3b24ndCB3b3JrIGFzIHRoZXJlIGFyZSBzaWdmcmFtZSBkZWZpbml0aW9ucyBpbgorICAgIHRoZSBrZXJuZWwgdGhhdCBlbWJlZCBzdHJ1Y3Qgc2lnaW5mby4KKworICAgIFNvIHNwbGl0IHNpZ2luZm8gaW4gdHdvOyBrZXJuZWxfc2lnaW5mbyBhbmQgc2lnaW5mby4gIEtlZXBpbmcgdGhlCisgICAgdHJhZGl0aW9uYWwgbmFtZSBmb3IgdGhlIHVzZXJzcGFjZSBkZWZpbml0aW9uLiAgV2hpbGUgdGhlIHZlcnNpb24gdGhhdAorICAgIGlzIHVzZWQgaW50ZXJuYWxseSB0byB0aGUga2VybmVsIGFuZCB1bHRpbWF0ZWx5IHdpbGwgbm90IGJlIHBhZGRlZCB0bworICAgIDEyOCBieXRlcyBpcyBjYWxsZWQga2VybmVsX3NpZ2luZm8uCisKKyAgICBUaGUgZGVmaW5pdGlvbiBvZiBzdHJ1Y3Qga2VybmVsX3NpZ2luZm8gSSBoYXZlIHB1dCBpbiBpbmNsdWRlL3NpZ25hbF90eXBlcy5oCisKKyAgICBBIHNldCBvZiBidWlsZHRpbWUgY2hlY2tzIGhhcyBiZWVuIGFkZGVkIHRvIHZlcmlmeSB0aGUgdHdvIHN0cnVjdHVyZXMgaGF2ZQorICAgIHRoZSBzYW1lIGZpZWxkIG9mZnNldHMuCisKKyAgICBUbyBtYWtlIGl0IGVhc3kgdG8gdmVyaWZ5IHRoZSBjaGFuZ2Uga2VybmVsX3NpZ2luZm8gcmV0YWlucyB0aGUgc2FtZQorICAgIHNpemUgYXMgc2lnaW5mby4gIFRoZSByZWR1Y3Rpb24gaW4gc2l6ZSBjb21lcyBpbiBhIGZvbGxvd2luZyBjaGFuZ2UuCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorU2lnbmVkLW9mZi1ieTogTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBiYWNrcG9ydCBodHRwczovL2dpdGh1Yi5jb20vbHR0bmcvbHR0bmctbW9kdWxlcy9jb21taXQvMGEwZDczNmVjODlkZmZkYmM4M2U3MTgxMTY2YTk5ZDU1NjNhY2ZlOAorCitTaWduZWQtb2ZmLWJ5OiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPgorLS0tCisgaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvc2lnbmFsLmggfCA0MSArKysrKysrKysrKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvc2lnbmFsLmggYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9zaWduYWwuaAoraW5kZXggYjNjOTEyNi4uODc4M2I1MiAxMDA2NDQKKy0tLSBhL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3NpZ25hbC5oCisrKysgYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9zaWduYWwuaAorQEAgLTM1LDIxICszNSwyNCBAQAorICAqIFNFTkRfU0lHX05PSU5GTyBtZWFucyB0aGF0IHNpX2NvZGUgaXMgU0lfVVNFUiwgYW5kIFNFTkRfU0lHX1BSSVYKKyAgKiBtZWFucyB0aGF0IHNpX2NvZGUgaXMgU0lfS0VSTkVMLgorICAqLworLSNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw0LDApKQorKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMjAsMCkpCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChzaWduYWxfZ2VuZXJhdGUsCisgCistCVRQX1BST1RPKGludCBzaWcsIHN0cnVjdCBzaWdpbmZvICppbmZvLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spLAorKwlUUF9QUk9UTyhpbnQgc2lnLCBzdHJ1Y3Qga2VybmVsX3NpZ2luZm8gKmluZm8sIHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywKKysJCQlpbnQgZ3JvdXAsIGludCByZXN1bHQpLAorIAorLQlUUF9BUkdTKHNpZywgaW5mbywgdGFzayksCisrCVRQX0FSR1Moc2lnLCBpbmZvLCB0YXNrLCBncm91cCwgcmVzdWx0KSwKKyAKKyAJVFBfRklFTERTKAorIAkJY3RmX2ludGVnZXIoaW50LCBzaWcsIHNpZykKKyAJCUxUVE5HX0ZJRUxEU19TSUdJTkZPKGluZm8pCisgCQljdGZfYXJyYXlfdGV4dChjaGFyLCBjb21tLCB0YXNrLT5jb21tLCBUQVNLX0NPTU1fTEVOKQorIAkJY3RmX2ludGVnZXIocGlkX3QsIHBpZCwgdGFzay0+cGlkKQorKwkJY3RmX2ludGVnZXIoaW50LCBncm91cCwgZ3JvdXApCisrCQljdGZfaW50ZWdlcihpbnQsIHJlc3VsdCwgcmVzdWx0KQorIAkpCisgKQorLSNlbHNlCisrI2VsaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDQsMCkpCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChzaWduYWxfZ2VuZXJhdGUsCisgCisgCVRQX1BST1RPKGludCBzaWcsIHN0cnVjdCBzaWdpbmZvICppbmZvLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssCitAQCAtNjYsNiArNjksMjAgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChzaWduYWxfZ2VuZXJhdGUsCisgCQljdGZfaW50ZWdlcihpbnQsIHJlc3VsdCwgcmVzdWx0KQorIAkpCisgKQorKyNlbHNlCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChzaWduYWxfZ2VuZXJhdGUsCisrCisrCVRQX1BST1RPKGludCBzaWcsIHN0cnVjdCBzaWdpbmZvICppbmZvLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spLAorKworKwlUUF9BUkdTKHNpZywgaW5mbywgdGFzayksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyKGludCwgc2lnLCBzaWcpCisrCQlMVFROR19GSUVMRFNfU0lHSU5GTyhpbmZvKQorKwkJY3RmX2FycmF5X3RleHQoY2hhciwgY29tbSwgdGFzay0+Y29tbSwgVEFTS19DT01NX0xFTikKKysJCWN0Zl9pbnRlZ2VyKHBpZF90LCBwaWQsIHRhc2stPnBpZCkKKysJKQorKykKKyAjZW5kaWYKKyAKKyAvKioKK0BAIC04Miw2ICs5OSwyMSBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UKHNpZ25hbF9nZW5lcmF0ZSwKKyAgKiBUaGlzIG1lYW5zLCB0aGlzIGNhbiBzaG93IHdoaWNoIHNpZ25hbHMgYXJlIGFjdHVhbGx5IGRlbGl2ZXJlZCwgYnV0CisgICogbWF0Y2hpbmcgZ2VuZXJhdGVkIHNpZ25hbHMgYW5kIGRlbGl2ZXJlZCBzaWduYWxzIG1heSBub3QgYmUgY29ycmVjdC4KKyAgKi8KKysjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDIwLDApKQorK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlQoc2lnbmFsX2RlbGl2ZXIsCisrCisrCVRQX1BST1RPKGludCBzaWcsIHN0cnVjdCBrZXJuZWxfc2lnaW5mbyAqaW5mbywgc3RydWN0IGtfc2lnYWN0aW9uICprYSksCisrCisrCVRQX0FSR1Moc2lnLCBpbmZvLCBrYSksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyKGludCwgc2lnLCBzaWcpCisrCQlMVFROR19GSUVMRFNfU0lHSU5GTyhpbmZvKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgbG9uZywgc2FfaGFuZGxlciwgKHVuc2lnbmVkIGxvbmcpIGthLT5zYS5zYV9oYW5kbGVyKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgbG9uZywgc2FfZmxhZ3MsIGthLT5zYS5zYV9mbGFncykKKysJKQorKykKKysjZWxzZQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoc2lnbmFsX2RlbGl2ZXIsCisgCisgCVRQX1BST1RPKGludCBzaWcsIHN0cnVjdCBzaWdpbmZvICppbmZvLCBzdHJ1Y3Qga19zaWdhY3Rpb24gKmthKSwKK0BAIC05NSw2ICsxMjcsNyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UKHNpZ25hbF9kZWxpdmVyLAorIAkJY3RmX2ludGVnZXIodW5zaWduZWQgbG9uZywgc2FfZmxhZ3MsIGthLT5zYS5zYV9mbGFncykKKyAJKQorICkKKysjZW5kaWYKKyAKKyAjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsNCwwKSkKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHNpZ25hbF9xdWV1ZV9vdmVyZmxvdywKKy0tIAorMi4xOS4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDItRml4LXNpZ25hbC1SZW1vdmUtU0VORF9TSUdfRk9SQ0VELXY0LjIwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwMi1GaXgtc2lnbmFsLVJlbW92ZS1TRU5EX1NJR19GT1JDRUQtdjQuMjAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTA1YjY4MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDItRml4LXNpZ25hbC1SZW1vdmUtU0VORF9TSUdfRk9SQ0VELXY0LjIwLnBhdGNoCkBAIC0wLDAgKzEsNjcgQEAKK0Zyb20gMjZiYzA2NGE0ZDRjODVlNjAwMDM5M2FhZGIzODY1OWY5OWI1OTE2MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorRGF0ZTogTW9uLCA1IE5vdiAyMDE4IDExOjM1OjUzIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggMi85XSBGaXg6IHNpZ25hbDogUmVtb3ZlIFNFTkRfU0lHX0ZPUkNFRCAodjQuMjApCisKK1NlZSB1cHN0cmVhbSBjb21taXQgOgorCisgIGNvbW1pdCA0ZmY0YzMxYTZlODVmNGM0OWZiZWViZWFhMjgwMThkMDAyODg0YjVhCisgIEF1dGhvcjogRXJpYyBXLiBCaWVkZXJtYW4gPGViaWVkZXJtQHhtaXNzaW9uLmNvbT4KKyAgRGF0ZTogICBNb24gU2VwIDMgMTA6Mzk6MDQgMjAxOCArMDIwMAorCisgICAgc2lnbmFsOiBSZW1vdmUgU0VORF9TSUdfRk9SQ0VECisKKyAgICBUaGVyZSBhcmUgbm8gbW9yZSB1c2VycyBvZiBTRU5EX1NJR19GT1JDRUQgc28gaXQgbWF5IGJlIHNhZmVseSByZW1vdmVkLgorCisgICAgUmVtb3ZlIHRoZSBkZWZpbml0aW9uIG9mIFNFTkRfU0lHX0ZPUkNFRCwgaXQncyB1c2UgaW4gaXNfc2lfc3BlY2lhbCwKKyAgICBpdCdzIHVzZSBpbiBUUF9TVE9SRV9TSUdJTkZPLCBhbmQgaXQncyB1c2UgaW4gX19zZW5kX3NpZ25hbCBhcyB3aXRob3V0CisgICAgYW55IHVzZXJzIHRoZSB1c2VzIG9mIFNFTkRfU0lHX0ZPUkNFRCBhcmUgbm93IHVubmNlc3NhcnkuCisKKyAgICBUaGlzIG1ha2VzIHRoZSBjb2RlIHNpbXBsZXIsIGVhc2llciB0byB1bmRlcnN0YW5kIGFuZCB1c2UuICBVc2VycyBvZgorICAgIHNpZ25hbCBzZW5kaW5nIGZ1bmN0aW9ucyBub3cgbm8gbG9uZ2VyIG5lZWQgdG8gYXNrIHRoZW1zZWx2ZXMgZG8gSQorICAgIG5lZWQgdG8gdXNlIFNFTkRfU0lHX0ZPUkNFRC4KKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXRoaWV1IERlc25veWVycyA8bWF0aGlldS5kZXNub3llcnNAZWZmaWNpb3MuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IGJhY2twb3J0IGh0dHBzOi8vZ2l0aHViLmNvbS9sdHRuZy9sdHRuZy1tb2R1bGVzL2NvbW1pdC8yNmJjMDY0YTRkNGM4NWU2MDAwMzkzYWFkYjM4NjU5Zjk5YjU5MTYyCisKK1NpZ25lZC1vZmYtYnk6IEJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+IAorCistLS0KKyBpbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9zaWduYWwuaCB8IDEyICsrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9zaWduYWwuaCBiL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3NpZ25hbC5oCitpbmRleCA4NzgzYjUyLi5hZDhmZTY5IDEwMDY0NAorLS0tIGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvc2lnbmFsLmgKKysrKyBiL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3NpZ25hbC5oCitAQCAtMTIsNiArMTIsMTcgQEAKKyAjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+CisgI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisgI3VuZGVmIExUVE5HX0ZJRUxEU19TSUdJTkZPCisrI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwyMCwwKSkKKysjZGVmaW5lIExUVE5HX0ZJRUxEU19TSUdJTkZPKGluZm8pCQkJCVwKKysJCWN0Zl9pbnRlZ2VyKGludCwgZXJybm8sCQkJCVwKKysJCQkoaW5mbyA9PSBTRU5EX1NJR19OT0lORk8gfHwgaW5mbyA9PSBTRU5EX1NJR19QUklWKSA/IFwKKysJCQkwIDoJCQkJCVwKKysJCQlpbmZvLT5zaV9lcnJubykJCQkJXAorKwkJY3RmX2ludGVnZXIoaW50LCBjb2RlLAkJCQlcCisrCQkJKGluZm8gPT0gU0VORF9TSUdfTk9JTkZPKSA/IAkJXAorKwkJCVNJX1VTRVIgOiAJCQkJXAorKwkJCSgoaW5mbyA9PSBTRU5EX1NJR19QUklWKSA/IFNJX0tFUk5FTCA6IGluZm8tPnNpX2NvZGUpKQorKyNlbHNlIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDIwLDApICovCisgI2RlZmluZSBMVFROR19GSUVMRFNfU0lHSU5GTyhpbmZvKQkJCQlcCisgCQljdGZfaW50ZWdlcihpbnQsIGVycm5vLAkJCQlcCisgCQkJKGluZm8gPT0gU0VORF9TSUdfTk9JTkZPIHx8IGluZm8gPT0gU0VORF9TSUdfRk9SQ0VEIHx8IGluZm8gPT0gU0VORF9TSUdfUFJJVikgPyBcCitAQCAtMjEsNiArMzIsNyBAQAorIAkJCShpbmZvID09IFNFTkRfU0lHX05PSU5GTyB8fCBpbmZvID09IFNFTkRfU0lHX0ZPUkNFRCkgPyBcCisgCQkJU0lfVVNFUiA6IAkJCQlcCisgCQkJKChpbmZvID09IFNFTkRfU0lHX1BSSVYpID8gU0lfS0VSTkVMIDogaW5mby0+c2lfY29kZSkpCisrI2VuZGlmIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDIwLDApICovCisgI2VuZGlmIC8qIF9UUkFDRV9TSUdOQUxfREVGICovCisgCisgLyoqCistLSAKKzIuMTkuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDAzLUZpeC1leHQ0LWFkanVzdC1yZXNlcnZlZC1jbHVzdGVyLWNvdW50LXdoZW4tcmVtb3ZpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDAzLUZpeC1leHQ0LWFkanVzdC1yZXNlcnZlZC1jbHVzdGVyLWNvdW50LXdoZW4tcmVtb3ZpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2VkZmZlZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDMtRml4LWV4dDQtYWRqdXN0LXJlc2VydmVkLWNsdXN0ZXItY291bnQtd2hlbi1yZW1vdmluZy5wYXRjaApAQCAtMCwwICsxLDE0OSBAQAorRnJvbSBjYjlmMWE4MjFiY2Y1NWNlY2YzODEzMTk1ZmQ2ZDRlZmY4MDcwOTI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitEYXRlOiBNb24sIDUgTm92IDIwMTggMTE6MzU6NTQgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCAzLzldIEZpeDogZXh0NDogYWRqdXN0IHJlc2VydmVkIGNsdXN0ZXIgY291bnQgd2hlbiByZW1vdmluZworIGV4dGVudHMgKHY0LjIwKQorCitTZWUgdXBzdHJlYW0gY29tbWl0IDoKKworICBjb21taXQgOWZlNjcxNDk2YjZjMjg2ZjkwMzNhZWRmYzE3MThkNjc3MjFkYTBhZQorICBBdXRob3I6IEVyaWMgV2hpdG5leSA8ZW53bGludXhAZ21haWwuY29tPgorICBEYXRlOiAgIE1vbiBPY3QgMSAxNDoyNTowOCAyMDE4IC0wNDAwCisKKyAgICBleHQ0OiBhZGp1c3QgcmVzZXJ2ZWQgY2x1c3RlciBjb3VudCB3aGVuIHJlbW92aW5nIGV4dGVudHMKKworICAgIE1vZGlmeSBleHQ0X2V4dF9yZW1vdmVfc3BhY2UoKSBhbmQgdGhlIGNvZGUgaXQgY2FsbHMgdG8gY29ycmVjdCB0aGUKKyAgICByZXNlcnZlZCBjbHVzdGVyIGNvdW50IGZvciBwZW5kaW5nIHJlc2VydmF0aW9ucyAoZGVsYXllZCBhbGxvY2F0ZWQKKyAgICBjbHVzdGVycyBzaGFyZWQgd2l0aCBhbGxvY2F0ZWQgYmxvY2tzKSB3aGVuIGEgYmxvY2sgcmFuZ2UgaXMgcmVtb3ZlZAorICAgIGZyb20gdGhlIGV4dGVudCB0cmVlLiAgUGVuZGluZyByZXNlcnZhdGlvbnMgbWF5IGJlIGZvdW5kIGZvciB0aGUgY2x1c3RlcnMKKyAgICBhdCB0aGUgZW5kcyBvZiB3cml0dGVuIG9yIHVud3JpdHRlbiBleHRlbnRzIHdoZW4gYSBibG9jayByYW5nZSBpcyByZW1vdmVkLgorICAgIElmIGEgcGh5c2ljYWwgY2x1c3RlciBhdCB0aGUgZW5kIG9mIGFuIGV4dGVudCBpcyBmcmVlZCwgaXQncyBuZWNlc3NhcnkKKyAgICB0byBpbmNyZW1lbnQgdGhlIHJlc2VydmVkIGNsdXN0ZXIgY291bnQgdG8gbWFpbnRhaW4gY29ycmVjdCBhY2NvdW50aW5nCisgICAgaWYgdGhlIGNvcnJlc3BvbmRpbmcgbG9naWNhbCBjbHVzdGVyIGlzIHNoYXJlZCB3aXRoIGF0IGxlYXN0IG9uZQorICAgIGRlbGF5ZWQgYW5kIHVud3JpdHRlbiBleHRlbnQgYXMgZm91bmQgaW4gdGhlIGV4dGVudHMgc3RhdHVzIHRyZWUuCisKKyAgICBBZGQgYSBuZXcgZnVuY3Rpb24sIGV4dDRfcmVyZXNlcnZlX2NsdXN0ZXIoKSwgdG8gcmVhcHBseSBhIHJlc2VydmF0aW9uCisgICAgb24gYSBkZWxheWVkIGFsbG9jYXRlZCBjbHVzdGVyIHNoYXJpbmcgYmxvY2tzIHdpdGggYSBmcmVlZCBhbGxvY2F0ZWQKKyAgICBjbHVzdGVyLiAgVG8gYXZvaWQgRU5PU1BDIG9uIHJlc2VydmF0aW9uLCBhIGZsYWcgaXMgYXBwbGllZCB0bworICAgIGV4dDRfZnJlZV9ibG9ja3MoKSB0byBicmllZmx5IGRlZmVyIHVwZGF0aW5nIHRoZSBmcmVlY2x1c3RlcnMgY291bnRlcgorICAgIHdoZW4gYW4gYWxsb2NhdGVkIGNsdXN0ZXIgaXMgZnJlZWQuICBUaGlzIHByZXZlbnRzIGFub3RoZXIgdGhyZWFkCisgICAgZnJvbSBhbGxvY2F0aW5nIHRoZSBmcmVlZCBibG9jayBiZWZvcmUgdGhlIHJlc2VydmF0aW9uIGNhbiBiZSByZWFwcGxpZWQuCisKKyAgICBSZWRlZmluZSB0aGUgcGFydGlhbCBjbHVzdGVyIG9iamVjdCBhcyBhIHN0cnVjdCB0byBjYXJyeSBtb3JlIHN0YXRlCisgICAgaW5mb3JtYXRpb24gYW5kIHRvIGNsYXJpZnkgdGhlIGNvZGUgdXNpbmcgaXQuCisKKyAgICBBZGp1c3QgdGhlIGNvbmRpdGlvbmFsIGNvZGUgc3RydWN0dXJlIGluIGV4dDRfZXh0X3JlbW92ZV9zcGFjZSB0bworICAgIHJlZHVjZSB0aGUgaW5kZW50YXRpb24gbGV2ZWwgaW4gdGhlIG1haW4gYm9keSBvZiB0aGUgY29kZSB0byBpbXByb3ZlCisgICAgcmVhZGFiaWxpdHkuCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorU2lnbmVkLW9mZi1ieTogTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBiYWNrcG9ydCBodHRwczovL2dpdGh1Yi5jb20vbHR0bmcvbHR0bmctbW9kdWxlcy9jb21taXQvY2I5ZjFhODIxYmNmNTVjZWNmMzgxMzE5NWZkNmQ0ZWZmODA3MDkyNworCitTaWduZWQtb2ZmLWJ5OiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPgorCistLS0KKyBpbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9leHQ0LmggfCA3MiArKysrKysrKysrKysrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDY5IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9leHQ0LmggYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9leHQ0LmgKK2luZGV4IGZlNmY4MDIuLjgzYTgwYmEgMTAwNjQ0CistLS0gYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9leHQ0LmgKKysrKyBiL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL2V4dDQuaAorQEAgLTE2MDIsNyArMTYwMiwzMCBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UKGV4dDRfZXh0X3Nob3dfZXh0ZW50LAorIAkpCisgKQorIAorLSNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsMTEsMCkpCisrI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwyMCwwKSkKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UKGV4dDRfcmVtb3ZlX2Jsb2NrcywKKysJVFBfUFJPVE8oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGV4dDRfZXh0ZW50ICpleCwKKysJCSBleHQ0X2xibGtfdCBmcm9tLCBleHQ0X2ZzYmxrX3QgdG8sCisrCQkgc3RydWN0IHBhcnRpYWxfY2x1c3RlciAqcGMpLAorKworKwlUUF9BUkdTKGlub2RlLCBleCwgZnJvbSwgdG8sIHBjKSwKKysKKysJVFBfRklFTERTKAorKwkJY3RmX2ludGVnZXIoZGV2X3QsIGRldiwgaW5vZGUtPmlfc2ItPnNfZGV2KQorKwkJY3RmX2ludGVnZXIoaW5vX3QsIGlubywgaW5vZGUtPmlfaW5vKQorKwkJY3RmX2ludGVnZXIoZXh0NF9sYmxrX3QsIGZyb20sIGZyb20pCisrCQljdGZfaW50ZWdlcihleHQ0X2xibGtfdCwgdG8sIHRvKQorKwkJY3RmX2ludGVnZXIoZXh0NF9mc2Jsa190LCBlZV9wYmxrLCBleHQ0X2V4dF9wYmxvY2soZXgpKQorKwkJY3RmX2ludGVnZXIoZXh0NF9sYmxrX3QsIGVlX2xibGssIGxlMzJfdG9fY3B1KGV4LT5lZV9ibG9jaykpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBzaG9ydCwgZWVfbGVuLCBleHQ0X2V4dF9nZXRfYWN0dWFsX2xlbihleCkpCisrCQljdGZfaW50ZWdlcihleHQ0X2ZzYmxrX3QsIHBjX3BjbHUsIHBjLT5wY2x1KQorKwkJY3RmX2ludGVnZXIoZXh0NF9sYmxrX3QsIHBjX2xibGssIHBjLT5sYmxrKQorKwkJY3RmX2ludGVnZXIoaW50LCBwY19zdGF0ZSwgcGMtPnN0YXRlKQorKwkpCisrKQorKworKyNlbGlmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxMSwwKSkKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UKGV4dDRfcmVtb3ZlX2Jsb2NrcywKKyAJICAgIFRQX1BST1RPKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBleHQ0X2V4dGVudCAqZXgsCitAQCAtMTY0Niw3ICsxNjY5LDI5IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoZXh0NF9yZW1vdmVfYmxvY2tzLAorIAorICNlbmRpZgorIAorLSNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsMTEsMCkpCisrI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwyMCwwKSkKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UKGV4dDRfZXh0X3JtX2xlYWYsCisrCVRQX1BST1RPKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGV4dDRfbGJsa190IHN0YXJ0LAorKwkJIHN0cnVjdCBleHQ0X2V4dGVudCAqZXgsCisrCQkgc3RydWN0IHBhcnRpYWxfY2x1c3RlciAqcGMpLAorKworKwlUUF9BUkdTKGlub2RlLCBzdGFydCwgZXgsIHBjKSwKKysKKysJVFBfRklFTERTKAorKwkJY3RmX2ludGVnZXIoZGV2X3QsIGRldiwgaW5vZGUtPmlfc2ItPnNfZGV2KQorKwkJY3RmX2ludGVnZXIoaW5vX3QsIGlubywgaW5vZGUtPmlfaW5vKQorKwkJY3RmX2ludGVnZXIoZXh0NF9sYmxrX3QsIHN0YXJ0LCBzdGFydCkKKysJCWN0Zl9pbnRlZ2VyKGV4dDRfbGJsa190LCBlZV9sYmxrLCBsZTMyX3RvX2NwdShleC0+ZWVfYmxvY2spKQorKwkJY3RmX2ludGVnZXIoZXh0NF9mc2Jsa190LCBlZV9wYmxrLCBleHQ0X2V4dF9wYmxvY2soZXgpKQorKwkJY3RmX2ludGVnZXIoc2hvcnQsIGVlX2xlbiwgZXh0NF9leHRfZ2V0X2FjdHVhbF9sZW4oZXgpKQorKwkJY3RmX2ludGVnZXIoZXh0NF9mc2Jsa190LCBwY19wY2x1LCBwYy0+cGNsdSkKKysJCWN0Zl9pbnRlZ2VyKGV4dDRfbGJsa190LCBwY19sYmxrLCBwYy0+bGJsaykKKysJCWN0Zl9pbnRlZ2VyKGludCwgcGNfc3RhdGUsIHBjLT5zdGF0ZSkKKysJKQorKykKKysKKysjZWxpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsMTEsMCkpCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChleHQ0X2V4dF9ybV9sZWFmLAorIAlUUF9QUk9UTyhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBleHQ0X2xibGtfdCBzdGFydCwKK0BAIC0xNzMzLDcgKzE3NzgsMjggQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChleHQ0X2V4dF9yZW1vdmVfc3BhY2UsCisgCisgI2VuZGlmCisgCistI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxMSwwKSkKKysjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDIwLDApKQorKworK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlQoZXh0NF9leHRfcmVtb3ZlX3NwYWNlX2RvbmUsCisrCVRQX1BST1RPKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGV4dDRfbGJsa190IHN0YXJ0LCBleHQ0X2xibGtfdCBlbmQsCisrCQkgaW50IGRlcHRoLCBzdHJ1Y3QgcGFydGlhbF9jbHVzdGVyICpwYywgX19sZTE2IGVoX2VudHJpZXMpLAorKworKwlUUF9BUkdTKGlub2RlLCBzdGFydCwgZW5kLCBkZXB0aCwgcGMsIGVoX2VudHJpZXMpLAorKworKwlUUF9GSUVMRFMoCisrCQljdGZfaW50ZWdlcihkZXZfdCwgZGV2LCBpbm9kZS0+aV9zYi0+c19kZXYpCisrCQljdGZfaW50ZWdlcihpbm9fdCwgaW5vLCBpbm9kZS0+aV9pbm8pCisrCQljdGZfaW50ZWdlcihleHQ0X2xibGtfdCwgc3RhcnQsIHN0YXJ0KQorKwkJY3RmX2ludGVnZXIoZXh0NF9sYmxrX3QsIGVuZCwgZW5kKQorKwkJY3RmX2ludGVnZXIoaW50LCBkZXB0aCwgZGVwdGgpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBzaG9ydCwgZWhfZW50cmllcywgbGUxNl90b19jcHUoZWhfZW50cmllcykpCisrCQljdGZfaW50ZWdlcihleHQ0X2ZzYmxrX3QsIHBjX3BjbHUsIHBjLT5wY2x1KQorKwkJY3RmX2ludGVnZXIoZXh0NF9sYmxrX3QsIHBjX2xibGssIHBjLT5sYmxrKQorKwkJY3RmX2ludGVnZXIoaW50LCBwY19zdGF0ZSwgcGMtPnN0YXRlKQorKwkpCisrKQorKworKyNlbGlmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxMSwwKSkKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UKGV4dDRfZXh0X3JlbW92ZV9zcGFjZV9kb25lLAorIAlUUF9QUk9UTyhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBleHQ0X2xibGtfdCBzdGFydCwgZXh0NF9sYmxrX3QgZW5kLAorLS0gCisyLjE5LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwNC1GaXgtdGltZXItaW5zdHJ1bWVudGF0aW9uLWZvci1SSEVMLTcuNi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDQtRml4LXRpbWVyLWluc3RydW1lbnRhdGlvbi1mb3ItUkhFTC03LjYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjVkNTBkYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDQtRml4LXRpbWVyLWluc3RydW1lbnRhdGlvbi1mb3ItUkhFTC03LjYucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSA0ZWFlYjU0YTI3ZmJmNzAxYzJhNDkwOGE2ZTkwYTk3OGI5M2RlYjA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitEYXRlOiBUaHUsIDYgRGVjIDIwMTggMTE6MzE6NTEgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCA0LzldIEZpeDogdGltZXIgaW5zdHJ1bWVudGF0aW9uIGZvciBSSEVMIDcuNgorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hdGhpZXUgRGVzbm95ZXJzIDxtYXRoaWV1LmRlc25veWVyc0BlZmZpY2lvcy5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogYmFja3BvcnQgaHR0cHM6Ly9naXRodWIuY29tL2x0dG5nL2x0dG5nLW1vZHVsZXMvY29tbWl0LzRlYWViNTRhMjdmYmY3MDFjMmE0OTA4YTZlOTBhOTc4YjkzZGViMDYKKworU2lnbmVkLW9mZi1ieTogQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4KKy0tLQorIGluc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmggfCAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmggYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oCitpbmRleCA2ZjBjYjdmLi44ODA3YWQ1IDEwMDY0NAorLS0tIGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaAorKysrIGIvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaAorQEAgLTQ0LDcgKzQ0LDggQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRSh0aW1lcl9jbGFzcywgdGltZXJfaW5pdCwKKyAJVFBfQVJHUyh0aW1lcikKKyApCisgCistI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwyLDApKQorKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMiwwKSB8fCBcCisrCUxUVE5HX1JIRUxfS0VSTkVMX1JBTkdFKDMsMTAsMCw5NTcsMCwwLCAzLDExLDAsMCwwLDApKQorIC8qKgorICAqIHRpbWVyX3N0YXJ0IC0gY2FsbGVkIHdoZW4gdGhlIHRpbWVyIGlzIHN0YXJ0ZWQKKyAgKiBAdGltZXI6CXBvaW50ZXIgdG8gc3RydWN0IHRpbWVyX2xpc3QKKy0tIAorMi4xOS4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDUtRml4LVJlbW92ZS10eXBlLWFyZ3VtZW50LWZyb20tYWNjZXNzX29rLWZ1bmN0aW9uLXY1Li5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDUtRml4LVJlbW92ZS10eXBlLWFyZ3VtZW50LWZyb20tYWNjZXNzX29rLWZ1bmN0aW9uLXY1Li5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjY2YmJkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwNS1GaXgtUmVtb3ZlLXR5cGUtYXJndW1lbnQtZnJvbS1hY2Nlc3Nfb2stZnVuY3Rpb24tdjUuLnBhdGNoCkBAIC0wLDAgKzEsMjA0IEBACitGcm9tIDAwMzlkYmU5ODkxY2ZkZjJjMGQwNDY5MWY4M2MyZjM0Mjk5M2RmZDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK0RhdGU6IFdlZCwgOSBKYW4gMjAxOSAxNDo1OToxNSAtMDUwMAorU3ViamVjdDogW1BBVENIIDUvOV0gRml4OiBSZW1vdmUgJ3R5cGUnIGFyZ3VtZW50IGZyb20gYWNjZXNzX29rKCkgZnVuY3Rpb24KKyAodjUuMCkKKworU2VlIHVwc3RyZWFtIGNvbW1pdCA6CisKKyAgY29tbWl0IDk2ZDRmMjY3ZTQwZjk1MDllOGE2NmUyYjM5ZThiOTU2NTU2MTc2OTMKKyAgQXV0aG9yOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+CisgIERhdGU6ICAgVGh1IEphbiAzIDE4OjU3OjU3IDIwMTkgLTA4MDAKKworICAgIFJlbW92ZSAndHlwZScgYXJndW1lbnQgZnJvbSBhY2Nlc3Nfb2soKSBmdW5jdGlvbgorCisgICAgTm9ib2R5IGhhcyBhY3R1YWxseSB1c2VkIHRoZSB0eXBlIChWRVJJRllfUkVBRCB2cyBWRVJJRllfV1JJVEUpIGFyZ3VtZW50CisgICAgb2YgdGhlIHVzZXIgYWRkcmVzcyByYW5nZSB2ZXJpZmljYXRpb24gZnVuY3Rpb24gc2luY2Ugd2UgZ290IHJpZCBvZiB0aGUKKyAgICBvbGQgcmFjeSBpMzg2LW9ubHkgY29kZSB0byB3YWxrIHBhZ2UgdGFibGVzIGJ5IGhhbmQuCisKKyAgICBJdCBleGlzdGVkIGJlY2F1c2UgdGhlIG9yaWdpbmFsIDgwMzg2IHdvdWxkIG5vdCBob25vciB0aGUgd3JpdGUgcHJvdGVjdAorICAgIGJpdCB3aGVuIGluIGtlcm5lbCBtb2RlLCBzbyB5b3UgaGFkIHRvIGRvIENPVyBieSBoYW5kIGJlZm9yZSBkb2luZyBhbnkKKyAgICB1c2VyIGFjY2Vzcy4gIEJ1dCB3ZSBoYXZlbid0IHN1cHBvcnRlZCB0aGF0IGluIGEgbG9uZyB0aW1lLCBhbmQgdGhlc2UKKyAgICBkYXlzIHRoZSAndHlwZScgYXJndW1lbnQgaXMgYSBwdXJlbHkgaGlzdG9yaWNhbCBhcnRpZmFjdC4KKworICAgIEEgZGlzY3Vzc2lvbiBhYm91dCBleHRlbmRpbmcgJ3VzZXJfYWNjZXNzX2JlZ2luKCknIHRvIGRvIHRoZSByYW5nZQorICAgIGNoZWNraW5nIHJlc3VsdGVkIHRoaXMgcGF0Y2gsIGJlY2F1c2UgdGhlcmUgaXMgbm8gd2F5IHdlJ3JlIGdvaW5nIHRvCisgICAgbW92ZSB0aGUgb2xkIFZFUklGWV94eXogaW50ZXJmYWNlIHRvIHRoYXQgbW9kZWwuICBBbmQgaXQncyBiZXN0IGRvbmUgYXQKKyAgICB0aGUgZW5kIG9mIHRoZSBtZXJnZSB3aW5kb3cgd2hlbiBJJ3ZlIGRvbmUgbW9zdCBvZiBteSBtZXJnZXMsIHNvIGxldCdzCisgICAganVzdCBnZXQgdGhpcyBkb25lIG9uY2UgYW5kIGZvciBhbGwuCisKKyAgICBUaGlzIHBhdGNoIHdhcyBtb3N0bHkgZG9uZSB3aXRoIGEgc2VkLXNjcmlwdCwgd2l0aCBtYW51YWwgZml4LXVwcyBmb3IKKyAgICB0aGUgY2FzZXMgdGhhdCB3ZXJlbid0IG9mIHRoZSB0cml2aWFsICdhY2Nlc3Nfb2soVkVSSUZZX3h5eicgZm9ybS4KKworICAgIFRoZXJlIHdlcmUgYSBjb3VwbGUgb2Ygbm90YWJsZSBjYXNlczoKKworICAgICAtIGNza3kgc3RpbGwgaGFkIHRoZSBvbGQgInZlcmlmeV9hcmVhKCkiIG5hbWUgYXMgYW4gYWxpYXMuCisKKyAgICAgLSB0aGUgaXRlcl9pb3YgY29kZSBoYWQgbWFnaWNhbCBoYXJkY29kZWQga25vd2xlZGdlIG9mIHRoZSBhY3R1YWwKKyAgICAgICB2YWx1ZXMgb2YgVkVSSUZZX3tSRUFELFdSSVRFfSAobm90IHRoYXQgdGhleSBtYXR0ZXJlZCwgc2luY2Ugbm90aGluZworICAgICAgIHJlYWxseSB1c2VkIGl0KQorCisgICAgIC0gbWljcm9ibGF6ZSB1c2VkIHRoZSB0eXBlIGFyZ3VtZW50IGZvciBhIGRlYnVnIHByaW50b3V0CisKKyAgICBidXQgb3RoZXIgdGhhbiB0aG9zZSBvZGRpdGllcyB0aGlzIHNob3VsZCBiZSBhIHRvdGFsIG5vLW9wIHBhdGNoLgorCisgICAgSSB0cmllZCB0byBmaXggdXAgYWxsIGFyY2hpdGVjdHVyZXMsIGRpZCBmYWlybHkgZXh0ZW5zaXZlIGdyZXBwaW5nIGZvcgorICAgIGFjY2Vzc19vaygpIHVzZXMsIGFuZCB0aGUgY2hhbmdlcyBhcmUgdHJpdmlhbCwgYnV0IEkgbWF5IGhhdmUgbWlzc2VkCisgICAgc29tZXRoaW5nLiAgQW55IG1pc3NlZCBjb252ZXJzaW9uIHNob3VsZCBiZSB0cml2aWFsbHkgZml4YWJsZSwgdGhvdWdoLgorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hdGhpZXUgRGVzbm95ZXJzIDxtYXRoaWV1LmRlc25veWVyc0BlZmZpY2lvcy5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogYmFja3BvcnQgaHR0cHM6Ly9naXRodWIuY29tL2x0dG5nL2x0dG5nLW1vZHVsZXMvY29tbWl0LzAwMzlkYmU5ODkxY2ZkZjJjMGQwNDY5MWY4M2MyZjM0Mjk5M2RmZDcKKworU2lnbmVkLW9mZi1ieTogQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4KKy0tLQorIGxpYi9yaW5nYnVmZmVyL2JhY2tlbmQuaCAgICAgICAgICAgICAgfCAgOCArKysrLS0tLQorIGxpYi9yaW5nYnVmZmVyL3JpbmdfYnVmZmVyX2l0ZXJhdG9yLmMgfCAgMyArKy0KKyBsdHRuZy1maWx0ZXItaW50ZXJwcmV0ZXIuYyAgICAgICAgICAgIHwgIDQgKystLQorIHByb2Jlcy9sdHRuZy1wcm9iZS11c2VyLmMgICAgICAgICAgICAgfCAgMyArKy0KKyB3cmFwcGVyL3VhY2Nlc3MuaCAgICAgICAgICAgICAgICAgICAgIHwgMjggKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgNSBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB3cmFwcGVyL3VhY2Nlc3MuaAorCitkaWZmIC0tZ2l0IGEvbGliL3JpbmdidWZmZXIvYmFja2VuZC5oIGIvbGliL3JpbmdidWZmZXIvYmFja2VuZC5oCitpbmRleCAwYjc1ZGU4Li4zZjhjMTA4IDEwMDY0NAorLS0tIGEvbGliL3JpbmdidWZmZXIvYmFja2VuZC5oCisrKysgYi9saWIvcmluZ2J1ZmZlci9iYWNrZW5kLmgKK0BAIC0zNCw3ICszNCw3IEBACisgI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyAjaW5jbHVkZSA8bGludXgvZnMuaD4KKyAjaW5jbHVkZSA8bGludXgvbW0uaD4KKy0jaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorKyNpbmNsdWRlIDx3cmFwcGVyL3VhY2Nlc3MuaD4KKyAKKyAvKiBJbnRlcm5hbCBoZWxwZXJzICovCisgI2luY2x1ZGUgPHdyYXBwZXIvcmluZ2J1ZmZlci9iYWNrZW5kX2ludGVybmFsLmg+CitAQCAtMzAyLDcgKzMwMiw3IEBAIHZvaWQgbGliX3JpbmdfYnVmZmVyX2NvcHlfZnJvbV91c2VyX2luYXRvbWljKGNvbnN0IHN0cnVjdCBsaWJfcmluZ19idWZmZXJfY29uZmlnCisgCisgCXNldF9mcyhLRVJORUxfRFMpOworIAlwYWdlZmF1bHRfZGlzYWJsZSgpOworLQlpZiAodW5saWtlbHkoIWFjY2Vzc19vayhWRVJJRllfUkVBRCwgc3JjLCBsZW4pKSkKKysJaWYgKHVubGlrZWx5KCFsdHRuZ19hY2Nlc3Nfb2soVkVSSUZZX1JFQUQsIHNyYywgbGVuKSkpCisgCQlnb3RvIGZpbGxfYnVmZmVyOworIAorIAlpZiAobGlrZWx5KHBhZ2VjcHkgPT0gbGVuKSkgeworQEAgLTM3Miw3ICszNzIsNyBAQCB2b2lkIGxpYl9yaW5nX2J1ZmZlcl9zdHJjcHlfZnJvbV91c2VyX2luYXRvbWljKGNvbnN0IHN0cnVjdCBsaWJfcmluZ19idWZmZXJfY29uZgorIAorIAlzZXRfZnMoS0VSTkVMX0RTKTsKKyAJcGFnZWZhdWx0X2Rpc2FibGUoKTsKKy0JaWYgKHVubGlrZWx5KCFhY2Nlc3Nfb2soVkVSSUZZX1JFQUQsIHNyYywgbGVuKSkpCisrCWlmICh1bmxpa2VseSghbHR0bmdfYWNjZXNzX29rKFZFUklGWV9SRUFELCBzcmMsIGxlbikpKQorIAkJZ290byBmaWxsX2J1ZmZlcjsKKyAKKyAJaWYgKGxpa2VseShwYWdlY3B5ID09IGxlbikpIHsKK0BAIC00NjIsNyArNDYyLDcgQEAgdW5zaWduZWQgbG9uZyBsaWJfcmluZ19idWZmZXJfY29weV9mcm9tX3VzZXJfY2hlY2tfbm9mYXVsdCh2b2lkICpkZXN0LAorIAl1bnNpZ25lZCBsb25nIHJldDsKKyAJbW1fc2VnbWVudF90IG9sZF9mczsKKyAKKy0JaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1JFQUQsIHNyYywgbGVuKSkKKysJaWYgKCFsdHRuZ19hY2Nlc3Nfb2soVkVSSUZZX1JFQUQsIHNyYywgbGVuKSkKKyAJCXJldHVybiAxOworIAlvbGRfZnMgPSBnZXRfZnMoKTsKKyAJc2V0X2ZzKEtFUk5FTF9EUyk7CitkaWZmIC0tZ2l0IGEvbGliL3JpbmdidWZmZXIvcmluZ19idWZmZXJfaXRlcmF0b3IuYyBiL2xpYi9yaW5nYnVmZmVyL3JpbmdfYnVmZmVyX2l0ZXJhdG9yLmMKK2luZGV4IDYxZWFhNWIuLjk2NDU5NDYgMTAwNjQ0CistLS0gYS9saWIvcmluZ2J1ZmZlci9yaW5nX2J1ZmZlcl9pdGVyYXRvci5jCisrKysgYi9saWIvcmluZ2J1ZmZlci9yaW5nX2J1ZmZlcl9pdGVyYXRvci5jCitAQCAtMjcsNiArMjcsNyBAQAorIAorICNpbmNsdWRlIDx3cmFwcGVyL3JpbmdidWZmZXIvaXRlcmF0b3IuaD4KKyAjaW5jbHVkZSA8d3JhcHBlci9maWxlLmg+CisrI2luY2x1ZGUgPHdyYXBwZXIvdWFjY2Vzcy5oPgorICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CisgI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisgI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorQEAgLTYyMSw3ICs2MjIsNyBAQCBzc2l6ZV90IGNoYW5uZWxfcmluZ19idWZmZXJfZmlsZV9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLAorIAlzc2l6ZV90IGxlbjsKKyAKKyAJbWlnaHRfc2xlZXAoKTsKKy0JaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1dSSVRFLCB1c2VyX2J1ZiwgY291bnQpKQorKwlpZiAoIWx0dG5nX2FjY2Vzc19vayhWRVJJRllfV1JJVEUsIHVzZXJfYnVmLCBjb3VudCkpCisgCQlyZXR1cm4gLUVGQVVMVDsKKyAKKyAJLyogRmluaXNoIGNvcHkgb2YgcHJldmlvdXMgcmVjb3JkICovCitkaWZmIC0tZ2l0IGEvbHR0bmctZmlsdGVyLWludGVycHJldGVyLmMgYi9sdHRuZy1maWx0ZXItaW50ZXJwcmV0ZXIuYworaW5kZXggZTEzMTQ2Mi4uYmVlMjkxOCAxMDA2NDQKKy0tLSBhL2x0dG5nLWZpbHRlci1pbnRlcnByZXRlci5jCisrKysgYi9sdHRuZy1maWx0ZXItaW50ZXJwcmV0ZXIuYworQEAgLTI0LDcgKzI0LDcgQEAKKyAgKiBTT0ZUV0FSRS4KKyAgKi8KKyAKKy0jaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorKyNpbmNsdWRlIDx3cmFwcGVyL3VhY2Nlc3MuaD4KKyAjaW5jbHVkZSA8d3JhcHBlci9mcmFtZS5oPgorICNpbmNsdWRlIDx3cmFwcGVyL3R5cGVzLmg+CisgCitAQCAtNDYsNyArNDYsNyBAQCBjaGFyIGdldF9jaGFyKHN0cnVjdCBlc3RhY2tfZW50cnkgKnJlZywgc2l6ZV90IG9mZnNldCkKKyAJCWNoYXIgYzsKKyAKKyAJCS8qIEhhbmRsZSBpbnZhbGlkIGFjY2VzcyBhcyBlbmQgb2Ygc3RyaW5nLiAqLworLQkJaWYgKHVubGlrZWx5KCFhY2Nlc3Nfb2soVkVSSUZZX1JFQUQsCisrCQlpZiAodW5saWtlbHkoIWx0dG5nX2FjY2Vzc19vayhWRVJJRllfUkVBRCwKKyAJCQkJcmVnLT51LnMudXNlcl9zdHIgKyBvZmZzZXQsCisgCQkJCXNpemVvZihjKSkpKQorIAkJCXJldHVybiAnXDAnOworZGlmZiAtLWdpdCBhL3Byb2Jlcy9sdHRuZy1wcm9iZS11c2VyLmMgYi9wcm9iZXMvbHR0bmctcHJvYmUtdXNlci5jCitpbmRleCAwOTlhNjZiLi5lZDU2NmRkIDEwMDY0NAorLS0tIGEvcHJvYmVzL2x0dG5nLXByb2JlLXVzZXIuYworKysrIGIvcHJvYmVzL2x0dG5nLXByb2JlLXVzZXIuYworQEAgLTIwLDYgKzIwLDcgQEAKKyAKKyAjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKysjaW5jbHVkZSA8d3JhcHBlci91YWNjZXNzLmg+CisgI2luY2x1ZGUgPHByb2Jlcy9sdHRuZy1wcm9iZS11c2VyLmg+CisgCisgLyoKK0BAIC00Myw3ICs0NCw3IEBAIGxvbmcgbHR0bmdfc3RybGVuX3VzZXJfaW5hdG9taWMoY29uc3QgY2hhciAqYWRkcikKKyAJCWNoYXIgdjsKKyAJCXVuc2lnbmVkIGxvbmcgcmV0OworIAorLQkJaWYgKHVubGlrZWx5KCFhY2Nlc3Nfb2soVkVSSUZZX1JFQUQsCisrCQlpZiAodW5saWtlbHkoIWx0dG5nX2FjY2Vzc19vayhWRVJJRllfUkVBRCwKKyAJCQkJKF9fZm9yY2UgY29uc3QgY2hhciBfX3VzZXIgKikgYWRkciwKKyAJCQkJc2l6ZW9mKHYpKSkpCisgCQkJYnJlYWs7CitkaWZmIC0tZ2l0IGEvd3JhcHBlci91YWNjZXNzLmggYi93cmFwcGVyL3VhY2Nlc3MuaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmM1NjQyN2MKKy0tLSAvZGV2L251bGwKKysrKyBiL3dyYXBwZXIvdWFjY2Vzcy5oCitAQCAtMCwwICsxLDI4IEBACisrLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wIG9yIExHUEwtMi4xKQorKyAqCisrICogd3JhcHBlci91YWNjZXNzLmgKKysgKgorKyAqIHdyYXBwZXIgYXJvdW5kIGxpbnV4L3VhY2Nlc3MuaC4KKysgKgorKyAqIENvcHlyaWdodCAoQykgMjAxOSBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KKysgKi8KKysKKysjaWZuZGVmIF9MVFROR19XUkFQUEVSX1VBQ0NFU1NfSAorKyNkZWZpbmUgX0xUVE5HX1dSQVBQRVJfVUFDQ0VTU19ICisrCisrI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKysjaW5jbHVkZSA8bHR0bmcta2VybmVsLXZlcnNpb24uaD4KKysKKysjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig1LDAsMCkpCisrCisrI2RlZmluZSBWRVJJRllfUkVBRAkwCisrI2RlZmluZSBWRVJJRllfV1JJVEUJMQorKyNkZWZpbmUgbHR0bmdfYWNjZXNzX29rKHR5cGUsIGFkZHIsIHNpemUpIGFjY2Vzc19vayhhZGRyLCBzaXplKQorKworKyNlbHNlIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig1LDAsMCkgKi8KKysKKysjZGVmaW5lIGx0dG5nX2FjY2Vzc19vayh0eXBlLCBhZGRyLCBzaXplKSBhY2Nlc3Nfb2sodHlwZSwgYWRkciwgc2l6ZSkKKysKKysjZW5kaWYgLyogTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDUsMCwwKSAqLworKworKyNlbmRpZiAvKiBfTFRUTkdfV1JBUFBFUl9VQUNDRVNTX0ggKi8KKy0tIAorMi4xOS4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDYtRml4LVJlcGxhY2UtcG9pbnRlci12YWx1ZXMtd2l0aC10YXNrLXRrX3BpZC1hbmQtcnBjXy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDYtRml4LVJlcGxhY2UtcG9pbnRlci12YWx1ZXMtd2l0aC10YXNrLXRrX3BpZC1hbmQtcnBjXy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODk0ODZmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwNi1GaXgtUmVwbGFjZS1wb2ludGVyLXZhbHVlcy13aXRoLXRhc2stdGtfcGlkLWFuZC1ycGNfLnBhdGNoCkBAIC0wLDAgKzEsMTg2IEBACitGcm9tIDg5ZjBiZTM1ZTFiYWY0MTFkZjY4NTIwMTQwMTNhYzY0YWQxYmJjZjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK0RhdGU6IFdlZCwgOSBKYW4gMjAxOSAxNDo1OToxNiAtMDUwMAorU3ViamVjdDogW1BBVENIIDYvOV0gRml4OiBSZXBsYWNlIHBvaW50ZXIgdmFsdWVzIHdpdGggdGFzay0+dGtfcGlkIGFuZAorIHJwY19jbG50LT5jbF9jbGlkCisKK0ludHJvZHVjZWQgaW4gdjMuMTIuCisKK1NlZSB1cHN0cmVhbSBjb21taXQgOgorCisgIGNvbW1pdCA5MmNiNmM1YmU4MTM0ZGI2ZjdjMzhmMjVmNmFmZDEzZTQ0NGNlYmFmCisgIEF1dGhvcjogVHJvbmQgTXlrbGVidXN0IDxUcm9uZC5NeWtsZWJ1c3RAbmV0YXBwLmNvbT4KKyAgRGF0ZTogICBXZWQgU2VwIDQgMjI6MDk6NTAgMjAxMyAtMDQwMAorCisgICAgU1VOUlBDOiBSZXBsYWNlIHBvaW50ZXIgdmFsdWVzIHdpdGggdGFzay0+dGtfcGlkIGFuZCBycGNfY2xudC0+Y2xfY2xpZAorCisgICAgSW5zdGVhZCBvZiB0aGUgcG9pbnRlciB2YWx1ZXMsIHVzZSB0aGUgdGFzayBhbmQgY2xpZW50IGlkZW50aWZpZXIgdmFsdWVzCisgICAgZm9yIHRyYWNpbmcgcHVycG9zZXMuCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorU2lnbmVkLW9mZi1ieTogTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBiYWNrcG9ydCBodHRwczovL2dpdGh1Yi5jb20vbHR0bmcvbHR0bmctbW9kdWxlcy9jb21taXQvODlmMGJlMzVlMWJhZjQxMWRmNjg1MjAxNDAxM2FjNjRhZDFiYmNmOAorCitTaWduZWQtb2ZmLWJ5OiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPgorLS0tCisgaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvcnBjLmggfCAxMDggKysrKysrKysrKysrKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3JwYy5oIGIvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvcnBjLmgKK2luZGV4IGI5ZTQ1ZmUuLmE0YWM1NTcgMTAwNjQ0CistLS0gYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9ycGMuaAorKysrIGIvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvcnBjLmgKK0BAIC04LDYgKzgsMjAgQEAKKyAjaW5jbHVkZSA8bGludXgvc3VucnBjL3NjaGVkLmg+CisgI2luY2x1ZGUgPGxpbnV4L3N1bnJwYy9jbG50Lmg+CisgCisrI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxMiwwKSkKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3N0YXR1cywKKysKKysJVFBfUFJPVE8oc3RydWN0IHJwY190YXNrICp0YXNrKSwKKysKKysJVFBfQVJHUyh0YXNrKSwKKysKKysJVFBfRklFTERTKAorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCB0YXNrX2lkLCB0YXNrLT50a19waWQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIGNsaWVudF9pZCwgdGFzay0+dGtfY2xpZW50LT5jbF9jbGlkKQorKwkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKKysJKQorKykKKysjZWxzZQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfc3RhdHVzLAorIAorIAlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spLAorQEAgLTIwLDYgKzM0LDcgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhycGNfdGFza19zdGF0dXMsCisgCQljdGZfaW50ZWdlcihpbnQsIHN0YXR1cywgdGFzay0+dGtfc3RhdHVzKQorIAkpCisgKQorKyNlbmRpZgorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfc3RhdHVzLCBycGNfY2FsbF9zdGF0dXMsCisgCVRQX1BST1RPKHN0cnVjdCBycGNfdGFzayAqdGFzayksCitAQCAtNDAsOCArNTUsOCBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UKHJwY19jb25uZWN0X3N0YXR1cywKKyAJVFBfQVJHUyh0YXNrKSwKKyAKKyAJVFBfRklFTERTKAorLQkJY3RmX2ludGVnZXJfaGV4KGNvbnN0IHN0cnVjdCBycGNfdGFzayAqLCB0YXNrLCB0YXNrKQorLQkJY3RmX2ludGVnZXJfaGV4KGNvbnN0IHN0cnVjdCBycGNfY2xudCAqLCBjbG50LCB0YXNrLT50a19jbGllbnQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIHRhc2tfaWQsIHRhc2stPnRrX3BpZCkKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgY2xpZW50X2lkLCB0YXNrLT50a19jbGllbnQtPmNsX2NsaWQpCisgCQljdGZfaW50ZWdlcihpbnQsIHN0YXR1cywgdGFzay0+dGtfc3RhdHVzKQorIAkpCisgKQorQEAgLTUzLDggKzY4LDggQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhycGNfdGFza19ydW5uaW5nLAorIAlUUF9BUkdTKHRhc2ssIGFjdGlvbiksCisgCisgCVRQX0ZJRUxEUygKKy0JCWN0Zl9pbnRlZ2VyX2hleChjb25zdCBzdHJ1Y3QgcnBjX2NsbnQgKiwgY2xudCwgdGFzay0+dGtfY2xpZW50KQorLQkJY3RmX2ludGVnZXJfaGV4KGNvbnN0IHN0cnVjdCBycGNfdGFzayAqLCB0YXNrLCB0YXNrKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCB0YXNrX2lkLCB0YXNrLT50a19waWQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIGNsaWVudF9pZCwgdGFzay0+dGtfY2xpZW50LT5jbF9jbGlkKQorIAkJY3RmX2ludGVnZXJfaGV4KGNvbnN0IHZvaWQgKiwgYWN0aW9uLCBhY3Rpb24pCisgCQljdGZfaW50ZWdlcih1bnNpZ25lZCBsb25nLCBydW5zdGF0ZSwgdGFzay0+dGtfcnVuc3RhdGUpCisgCQljdGZfaW50ZWdlcihpbnQsIHN0YXR1cywgdGFzay0+dGtfc3RhdHVzKQorQEAgLTkwLDggKzEwNSw4IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfcXVldWVkLAorIAlUUF9BUkdTKHRhc2ssIHEpLAorIAorIAlUUF9GSUVMRFMoCistCQljdGZfaW50ZWdlcl9oZXgoY29uc3Qgc3RydWN0IHJwY19jbG50ICosIGNsbnQsIHRhc2stPnRrX2NsaWVudCkKKy0JCWN0Zl9pbnRlZ2VyX2hleChjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKiwgdGFzaywgdGFzaykKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgdGFza19pZCwgdGFzay0+dGtfcGlkKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCBjbGllbnRfaWQsIHRhc2stPnRrX2NsaWVudC0+Y2xfY2xpZCkKKyAJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGxvbmcsIHRpbWVvdXQsIHRhc2stPnRrX3RpbWVvdXQpCisgCQljdGZfaW50ZWdlcih1bnNpZ25lZCBsb25nLCBydW5zdGF0ZSwgdGFzay0+dGtfcnVuc3RhdGUpCisgCQljdGZfaW50ZWdlcihpbnQsIHN0YXR1cywgdGFzay0+dGtfc3RhdHVzKQorQEAgLTExNCw2ICsxMjksODcgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19xdWV1ZWQsIHJwY190YXNrX3dha2V1cCwKKyAJVFBfQVJHUyh0YXNrLCBxKQorICkKKyAKKysjZWxpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsMTIsMCkpCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChycGNfY29ubmVjdF9zdGF0dXMsCisrCVRQX1BST1RPKHN0cnVjdCBycGNfdGFzayAqdGFzaywgaW50IHN0YXR1cyksCisrCisrCVRQX0FSR1ModGFzaywgc3RhdHVzKSwKKysKKysJVFBfRklFTERTKAorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCB0YXNrX2lkLCB0YXNrLT50a19waWQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIGNsaWVudF9pZCwgdGFzay0+dGtfY2xpZW50LT5jbF9jbGlkKQorKwkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHN0YXR1cykKKysJKQorKykKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3J1bm5pbmcsCisrCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBycGNfY2xudCAqY2xudCwgY29uc3Qgc3RydWN0IHJwY190YXNrICp0YXNrLCBjb25zdCB2b2lkICphY3Rpb24pLAorKworKwlUUF9BUkdTKGNsbnQsIHRhc2ssIGFjdGlvbiksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgdGFza19pZCwgdGFzay0+dGtfcGlkKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCBjbGllbnRfaWQsIHRhc2stPnRrX2NsaWVudC0+Y2xfY2xpZCkKKysJCWN0Zl9pbnRlZ2VyX2hleChjb25zdCB2b2lkICosIGFjdGlvbiwgYWN0aW9uKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgbG9uZywgcnVuc3RhdGUsIHRhc2stPnRrX3J1bnN0YXRlKQorKwkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIHNob3J0LCBmbGFncywgdGFzay0+dGtfZmxhZ3MpCisrCSkKKyspCisrCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19ydW5uaW5nLCBycGNfdGFza19iZWdpbiwKKysKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY19jbG50ICpjbG50LCBjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGNvbnN0IHZvaWQgKmFjdGlvbiksCisrCisrCVRQX0FSR1MoY2xudCwgdGFzaywgYWN0aW9uKQorKykKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKHJwY190YXNrX3J1bm5pbmcsIHJwY190YXNrX3J1bl9hY3Rpb24sCisrCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBycGNfY2xudCAqY2xudCwgY29uc3Qgc3RydWN0IHJwY190YXNrICp0YXNrLCBjb25zdCB2b2lkICphY3Rpb24pLAorKworKwlUUF9BUkdTKGNsbnQsIHRhc2ssIGFjdGlvbikKKyspCisrCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19ydW5uaW5nLCBycGNfdGFza19jb21wbGV0ZSwKKysKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY19jbG50ICpjbG50LCBjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGNvbnN0IHZvaWQgKmFjdGlvbiksCisrCisrCVRQX0FSR1MoY2xudCwgdGFzaywgYWN0aW9uKQorKykKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3F1ZXVlZCwKKysKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY19jbG50ICpjbG50LCBjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGNvbnN0IHN0cnVjdCBycGNfd2FpdF9xdWV1ZSAqcSksCisrCisrCVRQX0FSR1MoY2xudCwgdGFzaywgcSksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgdGFza19pZCwgdGFzay0+dGtfcGlkKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCBjbGllbnRfaWQsIHRhc2stPnRrX2NsaWVudC0+Y2xfY2xpZCkKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGxvbmcsIHRpbWVvdXQsIHRhc2stPnRrX3RpbWVvdXQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBsb25nLCBydW5zdGF0ZSwgdGFzay0+dGtfcnVuc3RhdGUpCisrCQljdGZfaW50ZWdlcihpbnQsIHN0YXR1cywgdGFzay0+dGtfc3RhdHVzKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgc2hvcnQsIGZsYWdzLCB0YXNrLT50a19mbGFncykKKysJCWN0Zl9zdHJpbmcocV9uYW1lLCBycGNfcW5hbWUocSkpCisrCSkKKyspCisrCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19xdWV1ZWQsIHJwY190YXNrX3NsZWVwLAorKworKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgcnBjX2NsbnQgKmNsbnQsIGNvbnN0IHN0cnVjdCBycGNfdGFzayAqdGFzaywgY29uc3Qgc3RydWN0IHJwY193YWl0X3F1ZXVlICpxKSwKKysKKysJVFBfQVJHUyhjbG50LCB0YXNrLCBxKQorKykKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKHJwY190YXNrX3F1ZXVlZCwgcnBjX3Rhc2tfd2FrZXVwLAorKworKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgcnBjX2NsbnQgKmNsbnQsIGNvbnN0IHN0cnVjdCBycGNfdGFzayAqdGFzaywgY29uc3Qgc3RydWN0IHJwY193YWl0X3F1ZXVlICpxKSwKKysKKysJVFBfQVJHUyhjbG50LCB0YXNrLCBxKQorKykKKysKKyAjZWxzZQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQocnBjX2Nvbm5lY3Rfc3RhdHVzLAorIAlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGludCBzdGF0dXMpLAorLS0gCisyLjE5LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwNy1GaXgtU1VOUlBDLVNpbXBsaWZ5LWRlZmluaW5nLWNvbW1vbi1SUEMtdHJhY2UtZXZlbnRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwNy1GaXgtU1VOUlBDLVNpbXBsaWZ5LWRlZmluaW5nLWNvbW1vbi1SUEMtdHJhY2UtZXZlbnRzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzNjczMzAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA3LUZpeC1TVU5SUEMtU2ltcGxpZnktZGVmaW5pbmctY29tbW9uLVJQQy10cmFjZS1ldmVudHMucGF0Y2gKQEAgLTAsMCArMSwxODMgQEAKK0Zyb20gZDExYjU2ODY4MWY4N2MyZGY2ZWNiMDUxNmQzZjE2ZDE1M2YyNGJkMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorRGF0ZTogV2VkLCA5IEphbiAyMDE5IDE0OjU5OjE3IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggNy85XSBGaXg6IFNVTlJQQzogU2ltcGxpZnkgZGVmaW5pbmcgY29tbW9uIFJQQyB0cmFjZSBldmVudHMKKyAodjUuMCkKKworU2VlIHVwc3RyZWFtIGNvbW1pdCA6CisKKyAgY29tbWl0IGRjNTgyMGJkMjFkODRlZTM0NzcwYjBhMWUyZmNhOTM3OGY4Zjc0NTYKKyAgQXV0aG9yOiBDaHVjayBMZXZlciA8Y2h1Y2subGV2ZXJAb3JhY2xlLmNvbT4KKyAgRGF0ZTogICBXZWQgRGVjIDE5IDExOjAwOjE2IDIwMTggLTA1MDAKKworICAgIFNVTlJQQzogU2ltcGxpZnkgZGVmaW5pbmcgY29tbW9uIFJQQyB0cmFjZSBldmVudHMKKworICAgIENsZWFuIHVwLCBubyBmdW5jdGlvbmFsIGNoYW5nZSBpcyBleHBlY3RlZC4KKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXRoaWV1IERlc25veWVycyA8bWF0aGlldS5kZXNub3llcnNAZWZmaWNpb3MuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IGJhY2twb3J0IGh0dHBzOi8vZ2l0aHViLmNvbS9sdHRuZy9sdHRuZy1tb2R1bGVzL2NvbW1pdC9kMTFiNTY4NjgxZjg3YzJkZjZlY2IwNTE2ZDNmMTZkMTUzZjI0YmQyCisKK1NpZ25lZC1vZmYtYnk6IEJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+CistLS0KKyBpbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9ycGMuaCB8IDk5ICsrKysrKysrKysrKysrKystLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDcyIGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvcnBjLmggYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9ycGMuaAoraW5kZXggYTRhYzU1Ny4uNDIzOTI4MCAxMDA2NDQKKy0tLSBhL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3JwYy5oCisrKysgYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9ycGMuaAorQEAgLTgsNyArOCwzMiBAQAorICNpbmNsdWRlIDxsaW51eC9zdW5ycGMvc2NoZWQuaD4KKyAjaW5jbHVkZSA8bGludXgvc3VucnBjL2NsbnQuaD4KKyAKKy0jaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDEyLDApKQorKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDUsMCwwKSkKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3N0YXR1cywKKysKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY190YXNrICp0YXNrKSwKKysKKysJVFBfQVJHUyh0YXNrKSwKKysKKysJVFBfRklFTERTKAorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCB0YXNrX2lkLCB0YXNrLT50a19waWQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIGNsaWVudF9pZCwgdGFzay0+dGtfY2xpZW50LT5jbF9jbGlkKQorKwkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKKysJKQorKykKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKHJwY190YXNrX3N0YXR1cywgcnBjX2NhbGxfc3RhdHVzLAorKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spLAorKworKwlUUF9BUkdTKHRhc2spCisrKQorKworK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfc3RhdHVzLCBycGNfYmluZF9zdGF0dXMsCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBycGNfdGFzayAqdGFzayksCisrCisrCVRQX0FSR1ModGFzaykKKyspCisrI2VsaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDEyLDApKQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfc3RhdHVzLAorIAorIAlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spLAorQEAgLTIxLDYgKzQ2LDE4IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfc3RhdHVzLAorIAkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKKyAJKQorICkKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKHJwY190YXNrX3N0YXR1cywgcnBjX2NhbGxfc3RhdHVzLAorKwlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spLAorKworKwlUUF9BUkdTKHRhc2spCisrKQorKworK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfc3RhdHVzLCBycGNfYmluZF9zdGF0dXMsCisrCVRQX1BST1RPKHN0cnVjdCBycGNfdGFzayAqdGFzayksCisrCisrCVRQX0FSR1ModGFzaykKKyspCisgI2Vsc2UKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3N0YXR1cywKKyAKK0BAIC0zNCw3ICs3MSw2IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfc3RhdHVzLAorIAkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKKyAJKQorICkKKy0jZW5kaWYKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKHJwY190YXNrX3N0YXR1cywgcnBjX2NhbGxfc3RhdHVzLAorIAlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spLAorQEAgLTQ3LDggKzgzLDE1IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfc3RhdHVzLCBycGNfYmluZF9zdGF0dXMsCisgCisgCVRQX0FSR1ModGFzaykKKyApCisrI2VuZGlmCisgCistI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwxNywwKSkKKysjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig1LDAsMCkpCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19zdGF0dXMsIHJwY19jb25uZWN0X3N0YXR1cywKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY190YXNrICp0YXNrKSwKKysKKysJVFBfQVJHUyh0YXNrKQorKykKKysjZWxpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMTcsMCkpCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChycGNfY29ubmVjdF9zdGF0dXMsCisgCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBycGNfdGFzayAqdGFzayksCisgCitAQCAtNjAsNyArMTAzLDMzIEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQocnBjX2Nvbm5lY3Rfc3RhdHVzLAorIAkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKKyAJKQorICkKKysjZWxpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsMTIsMCkpCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChycGNfY29ubmVjdF9zdGF0dXMsCisrCVRQX1BST1RPKHN0cnVjdCBycGNfdGFzayAqdGFzaywgaW50IHN0YXR1cyksCisrCisrCVRQX0FSR1ModGFzaywgc3RhdHVzKSwKKysKKysJVFBfRklFTERTKAorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCB0YXNrX2lkLCB0YXNrLT50a19waWQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIGNsaWVudF9pZCwgdGFzay0+dGtfY2xpZW50LT5jbF9jbGlkKQorKwkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHN0YXR1cykKKysJKQorKykKKysjZWxzZQorK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlQocnBjX2Nvbm5lY3Rfc3RhdHVzLAorKwlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGludCBzdGF0dXMpLAorKworKwlUUF9BUkdTKHRhc2ssIHN0YXR1cyksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyX2hleChjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKiwgdGFzaywgdGFzaykKKysJCWN0Zl9pbnRlZ2VyX2hleChjb25zdCBzdHJ1Y3QgcnBjX2NsbnQgKiwgY2xudCwgdGFzay0+dGtfY2xpZW50KQorKwkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHN0YXR1cykKKysJKQorKykKKysjZW5kaWYKKyAKKysjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDE3LDApKQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfcnVubmluZywKKyAKKyAJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY190YXNrICp0YXNrLCBjb25zdCB2b2lkICphY3Rpb24pLAorQEAgLTEzMCwxOCArMTk5LDYgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19xdWV1ZWQsIHJwY190YXNrX3dha2V1cCwKKyApCisgCisgI2VsaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDEyLDApKQorLUxUVE5HX1RSQUNFUE9JTlRfRVZFTlQocnBjX2Nvbm5lY3Rfc3RhdHVzLAorLQlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGludCBzdGF0dXMpLAorLQorLQlUUF9BUkdTKHRhc2ssIHN0YXR1cyksCistCistCVRQX0ZJRUxEUygKKy0JCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgdGFza19pZCwgdGFzay0+dGtfcGlkKQorLQkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCBjbGllbnRfaWQsIHRhc2stPnRrX2NsaWVudC0+Y2xfY2xpZCkKKy0JCWN0Zl9pbnRlZ2VyKGludCwgc3RhdHVzLCBzdGF0dXMpCistCSkKKy0pCistCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhycGNfdGFza19ydW5uaW5nLAorIAorIAlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgcnBjX2NsbnQgKmNsbnQsIGNvbnN0IHN0cnVjdCBycGNfdGFzayAqdGFzaywgY29uc3Qgdm9pZCAqYWN0aW9uKSwKK0BAIC0yMTEsMTggKzI2OCw2IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfcXVldWVkLCBycGNfdGFza193YWtldXAsCisgKQorIAorICNlbHNlCistTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChycGNfY29ubmVjdF9zdGF0dXMsCistCVRQX1BST1RPKHN0cnVjdCBycGNfdGFzayAqdGFzaywgaW50IHN0YXR1cyksCistCistCVRQX0FSR1ModGFzaywgc3RhdHVzKSwKKy0KKy0JVFBfRklFTERTKAorLQkJY3RmX2ludGVnZXJfaGV4KGNvbnN0IHN0cnVjdCBycGNfdGFzayAqLCB0YXNrLCB0YXNrKQorLQkJY3RmX2ludGVnZXJfaGV4KGNvbnN0IHN0cnVjdCBycGNfY2xudCAqLCBjbG50LCB0YXNrLT50a19jbGllbnQpCistCQljdGZfaW50ZWdlcihpbnQsIHN0YXR1cywgc3RhdHVzKQorLQkpCistKQorLQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfcnVubmluZywKKyAKKyAJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY19jbG50ICpjbG50LCBjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGNvbnN0IHZvaWQgKmFjdGlvbiksCistLSAKKzIuMTkuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA4LUZpeC1idHJmcy1SZW1vdmUtZnNpZC1tZXRhZGF0YV9mc2lkLWZpZWxkcy1mcm9tLWJ0cmYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA4LUZpeC1idHJmcy1SZW1vdmUtZnNpZC1tZXRhZGF0YV9mc2lkLWZpZWxkcy1mcm9tLWJ0cmYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWYxMjk4OQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDgtRml4LWJ0cmZzLVJlbW92ZS1mc2lkLW1ldGFkYXRhX2ZzaWQtZmllbGRzLWZyb20tYnRyZi5wYXRjaApAQCAtMCwwICsxLDM0MSBAQAorRnJvbSA4YWY4MjQ1ZjZmODYzNzBkMDFjYzRhY2FhYmFmYjkwZGU0NWUxNDNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitEYXRlOiBUaHUsIDEwIEphbiAyMDE5IDE0OjU2OjE1IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggOC85XSBGaXg6IGJ0cmZzOiBSZW1vdmUgZnNpZC9tZXRhZGF0YV9mc2lkIGZpZWxkcyBmcm9tCisgYnRyZnNfaW5mbworCitJbnRyb2R1Y2VkIGluIHY1LjAuCisKK1NlZSB1cHN0cmVhbSBjb21taXQgOgorCisgIGNvbW1pdCBkZTM3YWE1MTMxMDVmODY0ZDNjMjExMDViZjU1NDJkNDk4ZjIxY2EyCisgIEF1dGhvcjogTmlrb2xheSBCb3Jpc292IDxuYm9yaXNvdkBzdXNlLmNvbT4KKyAgRGF0ZTogICBUdWUgT2N0IDMwIDE2OjQzOjI0IDIwMTggKzAyMDAKKworICAgIGJ0cmZzOiBSZW1vdmUgZnNpZC9tZXRhZGF0YV9mc2lkIGZpZWxkcyBmcm9tIGJ0cmZzX2luZm8KKworICAgIEN1cnJlbnRseSBidHJmc19mc19pbmZvIHN0cnVjdHVyZSBjb250YWlucyBhIGNvcHkgb2YgdGhlCisgICAgZnNpZC9tZXRhZGF0YV91dWlkIGZpZWxkcy4gU2FtZSB2YWx1ZXMgYXJlIGFsc28gY29udGFpbmVkIGluIHRoZQorICAgIGJ0cmZzX2ZzX2RldmljZXMgc3RydWN0dXJlIHdoaWNoIGZzX2luZm8gaGFzIGEgcmVmZXJlbmNlIHRvLiBMZXQncworICAgIHJlZHVjZSBkdXBsaWNhdGlvbiBieSByZW1vdmluZyB0aGUgZmllbGRzIGZyb20gZnNfaW5mbyBhbmQgYWx3YXlzIHJlZmVyCisgICAgdG8gdGhlIG9uZXMgaW4gZnNfZGV2aWNlcy4gTm8gZnVuY3Rpb25hbCBjaGFuZ2VzLgorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hdGhpZXUgRGVzbm95ZXJzIDxtYXRoaWV1LmRlc25veWVyc0BlZmZpY2lvcy5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogYmFja3BvcnQgaHR0cHM6Ly9naXRodWIuY29tL2x0dG5nL2x0dG5nLW1vZHVsZXMvY29tbWl0LzhhZjgyNDVmNmY4NjM3MGQwMWNjNGFjYWFiYWZiOTBkZTQ1ZTE0M2YKKworU2lnbmVkLW9mZi1ieTogQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4KKy0tLQorIGluc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL2J0cmZzLmggfCAxMDAgKysrKysrKysrKystLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgNDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9idHJmcy5oIGIvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvYnRyZnMuaAoraW5kZXggNGRmYmY1Yi4uZWM0NWExZSAxMDA2NDQKKy0tLSBhL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL2J0cmZzLmgKKysrKyBiL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL2J0cmZzLmgKK0BAIC0zMiw2ICszMiwxMiBAQCBzdHJ1Y3QgZXh0ZW50X3N0YXRlOworIAorICNkZWZpbmUgQlRSRlNfVVVJRF9TSVpFIDE2CisgCisrI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNSwwLDApKQorKyNkZWZpbmUgbHR0bmdfZnNfaW5mb19mc2lkIGZzX2luZm8tPmZzX2RldmljZXMtPmZzaWQKKysjZWxzZQorKyNkZWZpbmUgbHR0bmdfZnNfaW5mb19mc2lkIGZzX2luZm8tPmZzaWQKKysjZW5kaWYKKysKKyAjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDE0LDApIHx8IFwKKyAJTFRUTkdfU0xFX0tFUk5FTF9SQU5HRSg0LDQsNzMsNSwwLDAsIDQsNCw3Myw2LDAsMCkgfHwgXAorIAlMVFROR19TTEVfS0VSTkVMX1JBTkdFKDQsNCw4Miw2LDAsMCwgNCw0LDgyLDcsMCwwKSB8fCBcCitAQCAtNjI5LDcgKzYzNSw3IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoYnRyZnNfYWRkX2Jsb2NrX2dyb3VwLAorIAlUUF9BUkdTKGZzX2luZm8sIGJsb2NrX2dyb3VwLCBjcmVhdGUpLAorIAorIAlUUF9GSUVMRFMoCistCQljdGZfYXJyYXkodTgsIGZzaWQsIGZzX2luZm8tPmZzaWQsIEJUUkZTX1VVSURfU0laRSkKKysJCWN0Zl9hcnJheSh1OCwgZnNpZCwgbHR0bmdfZnNfaW5mb19mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisgCQljdGZfaW50ZWdlcih1NjQsIG9mZnNldCwgYmxvY2tfZ3JvdXAtPmtleS5vYmplY3RpZCkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgc2l6ZSwgYmxvY2tfZ3JvdXAtPmtleS5vZmZzZXQpCisgCQljdGZfaW50ZWdlcih1NjQsIGZsYWdzLCBibG9ja19ncm91cC0+ZmxhZ3MpCitAQCAtNjQ3LDcgKzY1Myw3IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoYnRyZnNfYWRkX2Jsb2NrX2dyb3VwLAorIAlUUF9BUkdTKGZzX2luZm8sIGJsb2NrX2dyb3VwLCBjcmVhdGUpLAorIAorIAlUUF9GSUVMRFMoCistCQljdGZfYXJyYXkodTgsIGZzaWQsIGZzX2luZm8tPmZzaWQsIEJUUkZTX1VVSURfU0laRSkKKysJCWN0Zl9hcnJheSh1OCwgZnNpZCwgbHR0bmdfZnNfaW5mb19mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisgCQljdGZfaW50ZWdlcih1NjQsIG9mZnNldCwgYmxvY2tfZ3JvdXAtPmtleS5vYmplY3RpZCkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgc2l6ZSwgYmxvY2tfZ3JvdXAtPmtleS5vZmZzZXQpCisgCQljdGZfaW50ZWdlcih1NjQsIGZsYWdzLCBibG9ja19ncm91cC0+ZmxhZ3MpCitAQCAtMTAxNSwxOCArMTAyMSwxOCBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKGJ0cmZzX19jaHVuaywKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19jaHVuaywgIGJ0cmZzX2NodW5rX2FsbG9jLAorIAorLQlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IG1hcF9sb29rdXAgKm1hcCwKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIGNvbnN0IHN0cnVjdCBtYXBfbG9va3VwICptYXAsCisgCQkgdTY0IG9mZnNldCwgdTY0IHNpemUpLAorIAorLQlUUF9BUkdTKGluZm8sIG1hcCwgb2Zmc2V0LCBzaXplKQorKwlUUF9BUkdTKGZzX2luZm8sIG1hcCwgb2Zmc2V0LCBzaXplKQorICkKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19jaHVuaywgIGJ0cmZzX2NodW5rX2ZyZWUsCisgCistCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCBjb25zdCBzdHJ1Y3QgbWFwX2xvb2t1cCAqbWFwLAorKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywgY29uc3Qgc3RydWN0IG1hcF9sb29rdXAgKm1hcCwKKyAJCSB1NjQgb2Zmc2V0LCB1NjQgc2l6ZSksCisgCistCVRQX0FSR1MoaW5mbywgbWFwLCBvZmZzZXQsIHNpemUpCisrCVRQX0FSR1MoZnNfaW5mbywgbWFwLCBvZmZzZXQsIHNpemUpCisgKQorIAorICNlbGlmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwxMCwwKSkKK0BAIC0xMDUwLDE4ICsxMDU2LDE4IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MoYnRyZnNfX2NodW5rLAorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX2NodW5rLCAgYnRyZnNfY2h1bmtfYWxsb2MsCisgCistCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCBzdHJ1Y3QgbWFwX2xvb2t1cCAqbWFwLAorKwlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywgc3RydWN0IG1hcF9sb29rdXAgKm1hcCwKKyAJCSB1NjQgb2Zmc2V0LCB1NjQgc2l6ZSksCisgCistCVRQX0FSR1MoaW5mbywgbWFwLCBvZmZzZXQsIHNpemUpCisrCVRQX0FSR1MoZnNfaW5mbywgbWFwLCBvZmZzZXQsIHNpemUpCisgKQorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX2NodW5rLCAgYnRyZnNfY2h1bmtfZnJlZSwKKyAKKy0JVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmluZm8sIHN0cnVjdCBtYXBfbG9va3VwICptYXAsCisrCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLCBzdHJ1Y3QgbWFwX2xvb2t1cCAqbWFwLAorIAkJIHU2NCBvZmZzZXQsIHU2NCBzaXplKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBtYXAsIG9mZnNldCwgc2l6ZSkKKysJVFBfQVJHUyhmc19pbmZvLCBtYXAsIG9mZnNldCwgc2l6ZSkKKyApCisgCisgI2VsaWYgKExUVE5HX1NMRV9LRVJORUxfUkFOR0UoNCw0LDczLDUsMCwwLCA0LDQsNzMsNiwwLDApIHx8IFwKK0BAIC0xMTkyLDcgKzExOTgsNyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UKGJ0cmZzX3NwYWNlX3Jlc2VydmF0aW9uLAorIAlUUF9BUkdTKGZzX2luZm8sIHR5cGUsIHZhbCwgYnl0ZXMsIHJlc2VydmUpLAorIAorIAlUUF9GSUVMRFMoCistCQljdGZfYXJyYXkodTgsIGZzaWQsIGZzX2luZm8tPmZzaWQsIEJUUkZTX1VVSURfU0laRSkKKysJCWN0Zl9hcnJheSh1OCwgZnNpZCwgbHR0bmdfZnNfaW5mb19mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisgCQljdGZfc3RyaW5nKHR5cGUsIHR5cGUpCisgCQljdGZfaW50ZWdlcih1NjQsIHZhbCwgdmFsKQorIAkJY3RmX2ludGVnZXIodTY0LCBieXRlcywgYnl0ZXMpCitAQCAtMTIwOCw3ICsxMjE0LDcgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChidHJmc19zcGFjZV9yZXNlcnZhdGlvbiwKKyAJVFBfQVJHUyhmc19pbmZvLCB0eXBlLCB2YWwsIGJ5dGVzLCByZXNlcnZlKSwKKyAKKyAJVFBfRklFTERTKAorLQkJY3RmX2FycmF5KHU4LCBmc2lkLCBmc19pbmZvLT5mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisrCQljdGZfYXJyYXkodTgsIGZzaWQsIGx0dG5nX2ZzX2luZm9fZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQorIAkJY3RmX3N0cmluZyh0eXBlLCB0eXBlKQorIAkJY3RmX2ludGVnZXIodTY0LCB2YWwsIHZhbCkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgYnl0ZXMsIGJ5dGVzKQorQEAgLTEyMjEsOSArMTIyNyw5IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoYnRyZnNfc3BhY2VfcmVzZXJ2YXRpb24sCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhidHJmc19fcmVzZXJ2ZWRfZXh0ZW50LAorIAorLQlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywgdTY0IHN0YXJ0LCB1NjQgbGVuKSwKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIHU2NCBzdGFydCwgdTY0IGxlbiksCisgCistCVRQX0FSR1MoaW5mbywgc3RhcnQsIGxlbiksCisrCVRQX0FSR1MoZnNfaW5mbywgc3RhcnQsIGxlbiksCisgCisgCVRQX0ZJRUxEUygKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgc3RhcnQsIHN0YXJ0KQorQEAgLTEyMzMsMjUgKzEyMzksMjUgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhidHJmc19fcmVzZXJ2ZWRfZXh0ZW50LAorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX3Jlc2VydmVkX2V4dGVudCwgIGJ0cmZzX3Jlc2VydmVkX2V4dGVudF9hbGxvYywKKyAKKy0JVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmluZm8sIHU2NCBzdGFydCwgdTY0IGxlbiksCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLCB1NjQgc3RhcnQsIHU2NCBsZW4pLAorIAorLQlUUF9BUkdTKGluZm8sIHN0YXJ0LCBsZW4pCisrCVRQX0FSR1MoZnNfaW5mbywgc3RhcnQsIGxlbikKKyApCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShidHJmc19fcmVzZXJ2ZWRfZXh0ZW50LCAgYnRyZnNfcmVzZXJ2ZWRfZXh0ZW50X2ZyZWUsCisgCistCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCB1NjQgc3RhcnQsIHU2NCBsZW4pLAorKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywgdTY0IHN0YXJ0LCB1NjQgbGVuKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBzdGFydCwgbGVuKQorKwlUUF9BUkdTKGZzX2luZm8sIHN0YXJ0LCBsZW4pCisgKQorIAorICNlbGlmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwxMCwwKSkKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKGJ0cmZzX19yZXNlcnZlZF9leHRlbnQsCisgCistCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCB1NjQgc3RhcnQsIHU2NCBsZW4pLAorKwlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywgdTY0IHN0YXJ0LCB1NjQgbGVuKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBzdGFydCwgbGVuKSwKKysJVFBfQVJHUyhmc19pbmZvLCBzdGFydCwgbGVuKSwKKyAKKyAJVFBfRklFTERTKAorIAkJY3RmX2ludGVnZXIodTY0LCBzdGFydCwgc3RhcnQpCitAQCAtMTI2MSwxNiArMTI2NywxNiBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKGJ0cmZzX19yZXNlcnZlZF9leHRlbnQsCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShidHJmc19fcmVzZXJ2ZWRfZXh0ZW50LCAgYnRyZnNfcmVzZXJ2ZWRfZXh0ZW50X2FsbG9jLAorIAorLQlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywgdTY0IHN0YXJ0LCB1NjQgbGVuKSwKKysJVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIHU2NCBzdGFydCwgdTY0IGxlbiksCisgCistCVRQX0FSR1MoaW5mbywgc3RhcnQsIGxlbikKKysJVFBfQVJHUyhmc19pbmZvLCBzdGFydCwgbGVuKQorICkKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19yZXNlcnZlZF9leHRlbnQsICBidHJmc19yZXNlcnZlZF9leHRlbnRfZnJlZSwKKyAKKy0JVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmluZm8sIHU2NCBzdGFydCwgdTY0IGxlbiksCisrCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLCB1NjQgc3RhcnQsIHU2NCBsZW4pLAorIAorLQlUUF9BUkdTKGluZm8sIHN0YXJ0LCBsZW4pCisrCVRQX0FSR1MoZnNfaW5mbywgc3RhcnQsIGxlbikKKyApCisgCisgI2VsaWYgKExUVE5HX1NMRV9LRVJORUxfUkFOR0UoNCw0LDczLDUsMCwwLCA0LDQsNzMsNiwwLDApIHx8IFwKK0BAIC0xMzQxLDEzICsxMzQ3LDEzIEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQKGZpbmRfZnJlZV9leHRlbnQsCisgCisgCWJ0cmZzX2ZpbmRfZnJlZV9leHRlbnQsCisgCistCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCB1NjQgbnVtX2J5dGVzLCB1NjQgZW1wdHlfc2l6ZSwKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIHU2NCBudW1fYnl0ZXMsIHU2NCBlbXB0eV9zaXplLAorIAkJIHU2NCBkYXRhKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBudW1fYnl0ZXMsIGVtcHR5X3NpemUsIGRhdGEpLAorKwlUUF9BUkdTKGZzX2luZm8sIG51bV9ieXRlcywgZW1wdHlfc2l6ZSwgZGF0YSksCisgCisgCVRQX0ZJRUxEUygKKy0JCWN0Zl9hcnJheSh1OCwgZnNpZCwgaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQorKwkJY3RmX2FycmF5KHU4LCBmc2lkLCBsdHRuZ19mc19pbmZvX2ZzaWQsIEJUUkZTX1VVSURfU0laRSkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgbnVtX2J5dGVzLCBudW1fYnl0ZXMpCisgCQljdGZfaW50ZWdlcih1NjQsIGVtcHR5X3NpemUsIGVtcHR5X3NpemUpCisgCQljdGZfaW50ZWdlcih1NjQsIGRhdGEsIGRhdGEpCitAQCAtMTM2Miw3ICsxMzY4LDcgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhidHJmc19fcmVzZXJ2ZV9leHRlbnQsCisgCVRQX0FSR1MoYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pLAorIAorIAlUUF9GSUVMRFMoCistCQljdGZfYXJyYXkodTgsIGZzaWQsIGJsb2NrX2dyb3VwLT5mc19pbmZvLT5mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisrCQljdGZfYXJyYXkodTgsIGZzaWQsIGJsb2NrX2dyb3VwLT5sdHRuZ19mc19pbmZvX2ZzaWQsIEJUUkZTX1VVSURfU0laRSkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgYmdfb2JqZWN0aWQsIGJsb2NrX2dyb3VwLT5rZXkub2JqZWN0aWQpCisgCQljdGZfaW50ZWdlcih1NjQsIGZsYWdzLCBibG9ja19ncm91cC0+ZmxhZ3MpCisgCQljdGZfaW50ZWdlcih1NjQsIHN0YXJ0LCBzdGFydCkKK0BAIC0xMzkxLDEzICsxMzk3LDEzIEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQKGZpbmRfZnJlZV9leHRlbnQsCisgCisgCWJ0cmZzX2ZpbmRfZnJlZV9leHRlbnQsCisgCistCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCB1NjQgbnVtX2J5dGVzLCB1NjQgZW1wdHlfc2l6ZSwKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIHU2NCBudW1fYnl0ZXMsIHU2NCBlbXB0eV9zaXplLAorIAkJIHU2NCBkYXRhKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBudW1fYnl0ZXMsIGVtcHR5X3NpemUsIGRhdGEpLAorKwlUUF9BUkdTKGZzX2luZm8sIG51bV9ieXRlcywgZW1wdHlfc2l6ZSwgZGF0YSksCisgCisgCVRQX0ZJRUxEUygKKy0JCWN0Zl9hcnJheSh1OCwgZnNpZCwgaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQorKwkJY3RmX2FycmF5KHU4LCBmc2lkLCBsdHRuZ19mc19pbmZvX2ZzaWQsIEJUUkZTX1VVSURfU0laRSkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgbnVtX2J5dGVzLCBudW1fYnl0ZXMpCisgCQljdGZfaW50ZWdlcih1NjQsIGVtcHR5X3NpemUsIGVtcHR5X3NpemUpCisgCQljdGZfaW50ZWdlcih1NjQsIGRhdGEsIGRhdGEpCitAQCAtMTQwNiwxNCArMTQxMiwxNCBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChmaW5kX2ZyZWVfZXh0ZW50LAorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LAorIAorLQlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sCisgCQkgY29uc3Qgc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlICpibG9ja19ncm91cCwgdTY0IHN0YXJ0LAorIAkJIHU2NCBsZW4pLAorIAorLQlUUF9BUkdTKGluZm8sIGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKSwKKysJVFBfQVJHUyhmc19pbmZvLCBibG9ja19ncm91cCwgc3RhcnQsIGxlbiksCisgCisgCVRQX0ZJRUxEUygKKy0JCWN0Zl9hcnJheSh1OCwgZnNpZCwgaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQorKwkJY3RmX2FycmF5KHU4LCBmc2lkLCBsdHRuZ19mc19pbmZvX2ZzaWQsIEJUUkZTX1VVSURfU0laRSkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgYmdfb2JqZWN0aWQsIGJsb2NrX2dyb3VwLT5rZXkub2JqZWN0aWQpCisgCQljdGZfaW50ZWdlcih1NjQsIGZsYWdzLCBibG9ja19ncm91cC0+ZmxhZ3MpCisgCQljdGZfaW50ZWdlcih1NjQsIHN0YXJ0LCBzdGFydCkKK0BAIC0xNDIzLDIwICsxNDI5LDIwIEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LAorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LCBidHJmc19yZXNlcnZlX2V4dGVudCwKKyAKKy0JVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmluZm8sCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLAorIAkJIGNvbnN0IHN0cnVjdCBidHJmc19ibG9ja19ncm91cF9jYWNoZSAqYmxvY2tfZ3JvdXAsIHU2NCBzdGFydCwKKyAJCSB1NjQgbGVuKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBibG9ja19ncm91cCwgc3RhcnQsIGxlbikKKysJVFBfQVJHUyhmc19pbmZvLCBibG9ja19ncm91cCwgc3RhcnQsIGxlbikKKyApCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShidHJmc19fcmVzZXJ2ZV9leHRlbnQsIGJ0cmZzX3Jlc2VydmVfZXh0ZW50X2NsdXN0ZXIsCisgCistCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLAorKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywKKyAJCSBjb25zdCBzdHJ1Y3QgYnRyZnNfYmxvY2tfZ3JvdXBfY2FjaGUgKmJsb2NrX2dyb3VwLCB1NjQgc3RhcnQsCisgCQkgdTY0IGxlbiksCisgCistCVRQX0FSR1MoaW5mbywgYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pCisrCVRQX0FSR1MoZnNfaW5mbywgYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pCisgKQorIAorICNlbGlmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwxMCwwKSkKK0BAIC0xNDQ1LDEzICsxNDUxLDEzIEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQKGZpbmRfZnJlZV9leHRlbnQsCisgCisgCWJ0cmZzX2ZpbmRfZnJlZV9leHRlbnQsCisgCistCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCB1NjQgbnVtX2J5dGVzLCB1NjQgZW1wdHlfc2l6ZSwKKysJVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIHU2NCBudW1fYnl0ZXMsIHU2NCBlbXB0eV9zaXplLAorIAkJIHU2NCBkYXRhKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBudW1fYnl0ZXMsIGVtcHR5X3NpemUsIGRhdGEpLAorKwlUUF9BUkdTKGZzX2luZm8sIG51bV9ieXRlcywgZW1wdHlfc2l6ZSwgZGF0YSksCisgCisgCVRQX0ZJRUxEUygKKy0JCWN0Zl9hcnJheSh1OCwgZnNpZCwgaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQorKwkJY3RmX2FycmF5KHU4LCBmc2lkLCBsdHRuZ19mc19pbmZvX2ZzaWQsIEJUUkZTX1VVSURfU0laRSkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgbnVtX2J5dGVzLCBudW1fYnl0ZXMpCisgCQljdGZfaW50ZWdlcih1NjQsIGVtcHR5X3NpemUsIGVtcHR5X3NpemUpCisgCQljdGZfaW50ZWdlcih1NjQsIGRhdGEsIGRhdGEpCitAQCAtMTQ2MCwxMSArMTQ2NiwxMSBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChmaW5kX2ZyZWVfZXh0ZW50LAorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LAorIAorLQlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywKKysJVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sCisgCQkgc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlICpibG9ja19ncm91cCwgdTY0IHN0YXJ0LAorIAkJIHU2NCBsZW4pLAorIAorLQlUUF9BUkdTKGluZm8sIGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKSwKKysJVFBfQVJHUyhmc19pbmZvLCBibG9ja19ncm91cCwgc3RhcnQsIGxlbiksCisgCisgCVRQX0ZJRUxEUygKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgYmdfb2JqZWN0aWQsIGJsb2NrX2dyb3VwLT5rZXkub2JqZWN0aWQpCitAQCAtMTQ3NiwyMCArMTQ4MiwyMCBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKGJ0cmZzX19yZXNlcnZlX2V4dGVudCwKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19yZXNlcnZlX2V4dGVudCwgYnRyZnNfcmVzZXJ2ZV9leHRlbnQsCisgCistCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLAorKwlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywKKyAJCSBzdHJ1Y3QgYnRyZnNfYmxvY2tfZ3JvdXBfY2FjaGUgKmJsb2NrX2dyb3VwLCB1NjQgc3RhcnQsCisgCQkgdTY0IGxlbiksCisgCistCVRQX0FSR1MoaW5mbywgYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pCisrCVRQX0FSR1MoZnNfaW5mbywgYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pCisgKQorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LCBidHJmc19yZXNlcnZlX2V4dGVudF9jbHVzdGVyLAorIAorLQlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywKKysJVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sCisgCQkgc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlICpibG9ja19ncm91cCwgdTY0IHN0YXJ0LAorIAkJIHU2NCBsZW4pLAorIAorLQlUUF9BUkdTKGluZm8sIGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKQorKwlUUF9BUkdTKGZzX2luZm8sIGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKQorICkKKyAjZWxpZiAoTFRUTkdfU0xFX0tFUk5FTF9SQU5HRSg0LDQsNzMsNSwwLDAsIDQsNCw3Myw2LDAsMCkgfHwgXAorIAlMVFROR19TTEVfS0VSTkVMX1JBTkdFKDQsNCw4Miw2LDAsMCwgNCw0LDgyLDcsMCwwKSB8fCBcCistLSAKKzIuMTkuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA5LUNsZWFudXAtdHAtbWVtcG9vbC1SZW1vdmUtbG9naWNhbGx5LWRlYWQtY29kZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDktQ2xlYW51cC10cC1tZW1wb29sLVJlbW92ZS1sb2dpY2FsbHktZGVhZC1jb2RlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmZmU0ODgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA5LUNsZWFudXAtdHAtbWVtcG9vbC1SZW1vdmUtbG9naWNhbGx5LWRlYWQtY29kZS5wYXRjaApAQCAtMCwwICsxLDQ2IEBACitGcm9tIDQxNmNlZTg3MDcwNTNhOTAxNWRmZWM4MzMyZTEyZjhjMjYzMDk4ZTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXRoaWV1IERlc25veWVycyA8bWF0aGlldS5kZXNub3llcnNAZWZmaWNpb3MuY29tPgorRGF0ZTogVGh1LCAxNCBGZWIgMjAxOSAxMTo0MDo1MCAtMDUwMAorU3ViamVjdDogW1BBVENIIDkvOV0gQ2xlYW51cDogdHAgbWVtcG9vbDogUmVtb3ZlIGxvZ2ljYWxseSBkZWFkIGNvZGUKKworRm91bmQgYnkgQ292ZXJpdHk6CitDSUQgMTM5MTA0NSAoIzEgb2YgMSk6IExvZ2ljYWxseSBkZWFkIGNvZGUgKERFQURDT0RFKQorCitTaWduZWQtb2ZmLWJ5OiBNYXRoaWV1IERlc25veWVycyA8bWF0aGlldS5kZXNub3llcnNAZWZmaWNpb3MuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IGJhY2twb3J0IGh0dHBzOi8vZ2l0aHViLmNvbS9sdHRuZy9sdHRuZy1tb2R1bGVzL2NvbW1pdC80MTZjZWU4NzA3MDUzYTkwMTVkZmVjODMzMmUxMmY4YzI2MzA5OGUzCisKK1NpZ25lZC1vZmYtYnk6IEJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+CistLS0KKyBsdHRuZy10cC1tZW1wb29sLmMgfCAxMSArKy0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9sdHRuZy10cC1tZW1wb29sLmMgYi9sdHRuZy10cC1tZW1wb29sLmMKK2luZGV4IGQ5ODRiZDQuLjIxZTgzNzYgMTAwNjQ0CistLS0gYS9sdHRuZy10cC1tZW1wb29sLmMKKysrKyBiL2x0dG5nLXRwLW1lbXBvb2wuYworQEAgLTE1MSwxOSArMTUxLDEyIEBAIHZvaWQgbHR0bmdfdHBfbWVtcG9vbF9mcmVlKHZvaWQgKnB0cikKKyAJc3RydWN0IGx0dG5nX3RwX2J1Zl9lbnRyeSAqZW50cnk7CisgCXN0cnVjdCBwZXJfY3B1X2J1ZiAqY3B1X2J1ZjsKKyAKKy0JaWYgKCFwdHIpIHsKKysJaWYgKCFwdHIpCisgCQlnb3RvIGVuZDsKKy0JfQorLQorIAllbnRyeSA9IGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBsdHRuZ190cF9idWZfZW50cnksIGJ1Zik7CistCWlmICghZW50cnkpIHsKKy0JCWdvdG8gZW5kOworLQl9CistCisgCWNwdV9idWYgPSBwZXJfY3B1X3B0cihwb29sLCBlbnRyeS0+Y3B1KTsKKy0JaWYgKCFjcHVfYnVmKSB7CisrCWlmICghY3B1X2J1ZikKKyAJCWdvdG8gZW5kOworLQl9CisgCS8qIEFkZCBpdCB0byB0aGUgZnJlZSBsaXN0LiAqLworIAlsaXN0X2FkZF90YWlsKCZlbnRyeS0+bGlzdCwgJmNwdV9idWYtPmZyZWVfbGlzdCk7CisgCistLSAKKzIuMTkuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjEwLjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjEwLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTVlNzVlNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXzIuMTAuOC5iYgpAQCAtMCwwICsxLDQ1IEBACitTRUNUSU9OID0gImRldmVsIgorU1VNTUFSWSA9ICJMaW51eCBUcmFjZSBUb29sa2l0IEtFUk5FTCBNT0RVTEUiCitERVNDUklQVElPTiA9ICJUaGUgbHR0bmctbW9kdWxlcyAyLjAgcGFja2FnZSBjb250YWlucyB0aGUga2VybmVsIHRyYWNlciBtb2R1bGVzIgorTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyICYgTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzQ2MTNkMWY4YTk1ODdiZDdiMzY2MTkxODMwMzY0YjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3BsLTIuMC50eHQ7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xncGwtMi4xLnR4dDttZDU9MjQzYjcyNWQ3MWJiNWRmNGExZTU5MjBiMzQ0Yjg2YWQgXAorICAgICAgICAgICAgICAgICAgICAiCisKK2luaGVyaXQgbW9kdWxlCisKK0NPTVBBVElCTEVfSE9TVCA9ICcoeDg2XzY0fGkuODZ8cG93ZXJwY3xhYXJjaDY0fG1pcHN8bmlvczJ8YXJtfHJpc2N2KS4qLWxpbnV4JworCisjaHR0cHM6Ly9sdHRuZy5vcmcvZmlsZXMvbHR0bmctbW9kdWxlcy9sdHRuZy1tb2R1bGVzLTIuMTAuNy50YXIuYnoyCitTUkNfVVJJID0gImh0dHBzOi8vbHR0bmcub3JnL2ZpbGVzLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS1Eby1ub3QtZmFpbC1pZi1DT05GSUdfVFJBQ0VQT0lOVFMtaXMtbm90LWVuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0JVSUxEX1JVTlRJTUVfQlVHX09OLXZzLWdjYzcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtc2lnbmFsLURpc3Rpbmd1aXNoLWJldHdlZW4ta2VybmVsX3NpZ2luZm8tYW5kLXNpLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItRml4LXNpZ25hbC1SZW1vdmUtU0VORF9TSUdfRk9SQ0VELXY0LjIwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtRml4LWV4dDQtYWRqdXN0LXJlc2VydmVkLWNsdXN0ZXItY291bnQtd2hlbi1yZW1vdmluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LUZpeC10aW1lci1pbnN0cnVtZW50YXRpb24tZm9yLVJIRUwtNy42LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtRml4LVJlbW92ZS10eXBlLWFyZ3VtZW50LWZyb20tYWNjZXNzX29rLWZ1bmN0aW9uLXY1Li5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA2LUZpeC1SZXBsYWNlLXBvaW50ZXItdmFsdWVzLXdpdGgtdGFzay10a19waWQtYW5kLXJwY18ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1GaXgtU1VOUlBDLVNpbXBsaWZ5LWRlZmluaW5nLWNvbW1vbi1SUEMtdHJhY2UtZXZlbnRzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDgtRml4LWJ0cmZzLVJlbW92ZS1mc2lkLW1ldGFkYXRhX2ZzaWQtZmllbGRzLWZyb20tYnRyZi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA5LUNsZWFudXAtdHAtbWVtcG9vbC1SZW1vdmUtbG9naWNhbGx5LWRlYWQtY29kZS5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjU0YmQ5ZmNhNjE0ODdiYmVjMWIzZmNhMmYyMjEzYzk4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZlMWQyNjliY2E3MjNlODk0OGFmODcxYzMyMmMzN2QzOTAwZTY0N2NkYzVlYjNlZmJlODIxZTQzNGJlZWU0NGMiCisKK2V4cG9ydCBJTlNUQUxMX01PRF9ESVI9Imtlcm5lbC9sdHRuZy1tb2R1bGVzIgorCitFWFRSQV9PRU1BS0UgKz0gIktFUk5FTERJUj0nJHtTVEFHSU5HX0tFUk5FTF9ESVJ9JyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJIyBEZWxldGUgZW1wdHkgZGlyZWN0b3JpZXMgdG8gYXZvaWQgUUEgZmFpbHVyZXMgaWYgbm8gbW9kdWxlcyB3ZXJlIGJ1aWx0CisJZmluZCAke0R9LyR7bm9uYXJjaF9iYXNlX2xpYmRpcn0gLWRlcHRoIC10eXBlIGQgLWVtcHR5IC1leGVjIHJtZGlyIHt9IFw7Cit9CisKK3B5dGhvbiBkb19wYWNrYWdlX3ByZXBlbmQoKSB7CisgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihkLmdldFZhcignRCcpLCBkLmdldFZhcignbm9uYXJjaF9iYXNlX2xpYmRpcicpWzE6XSwgJ21vZHVsZXMnKSk6CisgICAgICAgIGJiLndhcm4oIiVzOiBubyBtb2R1bGVzIHdlcmUgY3JlYXRlZDsgdGhpcyBtYXkgYmUgZHVlIHRvIENPTkZJR19UUkFDRVBPSU5UUyBub3QgYmVpbmcgZW5hYmxlZCBpbiB5b3VyIGtlcm5lbC4iICUgZC5nZXRWYXIoJ1BOJykpCit9CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXzIuMTAuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXzIuMTAuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDI5NzM3Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjEwLjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1TRUNUSU9OID0gImRldmVsIgotU1VNTUFSWSA9ICJMaW51eCBUcmFjZSBUb29sa2l0IEtFUk5FTCBNT0RVTEUiCi1ERVNDUklQVElPTiA9ICJUaGUgbHR0bmctbW9kdWxlcyAyLjAgcGFja2FnZSBjb250YWlucyB0aGUga2VybmVsIHRyYWNlciBtb2R1bGVzIgotTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyICYgTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzQ2MTNkMWY4YTk1ODdiZDdiMzY2MTkxODMwMzY0YjMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3BsLTIuMC50eHQ7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xncGwtMi4xLnR4dDttZDU9MjQzYjcyNWQ3MWJiNWRmNGExZTU5MjBiMzQ0Yjg2YWQgXAotICAgICAgICAgICAgICAgICAgICAiCi0KLWluaGVyaXQgbW9kdWxlCi0KLUNPTVBBVElCTEVfSE9TVCA9ICcoeDg2XzY0fGkuODZ8cG93ZXJwY3xhYXJjaDY0fG1pcHN8bmlvczJ8YXJtKS4qLWxpbnV4JwotCi0jaHR0cHM6Ly9sdHRuZy5vcmcvZmlsZXMvbHR0bmctbW9kdWxlcy9sdHRuZy1tb2R1bGVzLTIuMTAuNy50YXIuYnoyCi1TUkNfVVJJID0gImh0dHBzOi8vbHR0bmcub3JnL2ZpbGVzLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS1Eby1ub3QtZmFpbC1pZi1DT05GSUdfVFJBQ0VQT0lOVFMtaXMtbm90LWVuLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0JVSUxEX1JVTlRJTUVfQlVHX09OLXZzLWdjYzcucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMDlkZjBhYzJlOGYyNDU3NDBhMmYzMjQxMWQxMGMwZDEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTE4NTViYmQwMmQwZjcxZWJkMTgwZTk4NzIzMDk4NjIwMzY2MjRmMDEyNDQyYWI5Y2M1ODUyZWI2MDM0MDE0NSIKLQotZXhwb3J0IElOU1RBTExfTU9EX0RJUj0ia2VybmVsL2x0dG5nLW1vZHVsZXMiCi0KLUVYVFJBX09FTUFLRSArPSAiS0VSTkVMRElSPScke1NUQUdJTkdfS0VSTkVMX0RJUn0nIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQkjIERlbGV0ZSBlbXB0eSBkaXJlY3RvcmllcyB0byBhdm9pZCBRQSBmYWlsdXJlcyBpZiBubyBtb2R1bGVzIHdlcmUgYnVpbHQKLQlmaW5kICR7RH0vJHtub25hcmNoX2Jhc2VfbGliZGlyfSAtZGVwdGggLXR5cGUgZCAtZW1wdHkgLWV4ZWMgcm1kaXIge30gXDsKLX0KLQotcHl0aG9uIGRvX3BhY2thZ2VfcHJlcGVuZCgpIHsKLSAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGQuZ2V0VmFyKCdEJyksIGQuZ2V0VmFyKCdub25hcmNoX2Jhc2VfbGliZGlyJylbMTpdLCAnbW9kdWxlcycpKToKLSAgICAgICAgYmIud2FybigiJXM6IG5vIG1vZHVsZXMgd2VyZSBjcmVhdGVkOyB0aGlzIG1heSBiZSBkdWUgdG8gQ09ORklHX1RSQUNFUE9JTlRTIG5vdCBiZWluZyBlbmFibGVkIGluIHlvdXIga2VybmVsLiIgJSBkLmdldFZhcignUE4nKSkKLX0KLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDEtQWxsb3ctbXVsdGlwbGUtYXR0ZW1wdHMtdG8tY29ubmVjdC10by1yZWxheWQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwMS1BbGxvdy1tdWx0aXBsZS1hdHRlbXB0cy10by1jb25uZWN0LXRvLXJlbGF5ZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDk5OGZjMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwMS1BbGxvdy1tdWx0aXBsZS1hdHRlbXB0cy10by1jb25uZWN0LXRvLXJlbGF5ZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLUZyb20gNzBlZmY4OTkxMDRiODZiYWUwMjg2MjkyN2M3NmNhYWVmNWRlNWQzYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pa2FlbCBCZWNraXVzIDxtaWthZWwuYmVja2l1c0B3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCA3IE1heSAyMDE1IDE2OjE0OjI1ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFsbG93IG11bHRpcGxlIGF0dGVtcHRzIHRvIGNvbm5lY3QgdG8gcmVsYXlkLgotCi1JdCBpcyB1bmNsZWFyIHdoeSBhIHNlc3Npb24gbmVlZHMgdG8gYmUgbWFkZQotdW51c2FibGUgYWZ0ZXIgYSBmYWlsdXJlIHRvIGNvbm5lY3QgdG8gcmVsYXlkCi1zaW5jZSBhIGNoZWNrIGZvciBhIHJlbGF5ZCBjb25uZWN0aW9uIGlzCi1hbHdheXMgbWFkZSBiZWZvcmUgYSBzZXNzaW9uIGNhbiBiZSBjb25maWd1cmVkLgotCi1UaGUgYmVoYXZpb3VyIHdhcyBpbnRyb2R1Y2VkIGluOgotZDkwNzhkMGMwMDBkMDRkNDljNTk5YTcyYzFhNzI1MDI2YjYzNmVjMAotCi1TaWduZWQtb2ZmLWJ5OiBNaWthZWwgQmVja2l1cyA8bWlrYWVsLmJlY2tpdXNAd2luZHJpdmVyLmNvbT4KLVsgVGhlIGNvbnRleHQgaGFzIG1vdmVkLCBhZGp1c3QgdGhlIGh1bmsgYWNjb3JkaW5nbHkgXQotU2lnbmVkLW9mZi1ieTogSGUgWmhlIDx6aGUuaGVAd2luZHJpdmVyLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9jbWQuYyB8IDggLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvY21kLmMgYi9zcmMvYmluL2x0dG5nLXNlc3Npb25kL2NtZC5jCi1pbmRleCBjZjMwYjhlLi5jYzQxYTQ4IDEwMDY0NAotLS0tIGEvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9jbWQuYwotKysrIGIvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9jbWQuYwotQEAgLTk0NSwxNCArOTQ1LDYgQEAgc3RhdGljIGludCBzZW5kX2NvbnN1bWVyX3JlbGF5ZF9zb2NrZXQoZW51bSBsdHRuZ19kb21haW5fdHlwZSBkb21haW4sCi0gCSAqLwotIAotIGNsb3NlX3NvY2s6Ci0tCWlmIChyZXQgIT0gTFRUTkdfT0spIHsKLS0JCS8qCi0tCQkgKiBUaGUgY29uc3VtZXIgb3V0cHV0IGZvciB0aGlzIHNlc3Npb24gc2hvdWxkIG5vdCBiZSB1c2VkIGFueW1vcmUKLS0JCSAqIHNpbmNlIHRoZSByZWxheWQgY29ubmVjdGlvbiBmYWlsZWQgdGh1cyBtYWtpbmcgYW55IHRyYWNpbmcgb3IvYW5kCi0tCQkgKiBzdHJlYW1pbmcgbm90IHVzYWJsZS4KLS0JCSAqLwotLQkJY29uc3VtZXItPmVuYWJsZWQgPSAwOwotLQl9Ci0gCSh2b2lkKSByZWxheWRfY2xvc2UocnNvY2spOwotIAlmcmVlKHJzb2NrKTsKLSAKLS0tIAotMi4xNy4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwMS1GaXgtdGVzdHMtbGluay1saWJwYXVzZV9jb25zdW1lci1vbi1saWJsdHRuZy1jdGwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwMS1GaXgtdGVzdHMtbGluay1saWJwYXVzZV9jb25zdW1lci1vbi1saWJsdHRuZy1jdGwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGYxOGRjOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDAxLUZpeC10ZXN0cy1saW5rLWxpYnBhdXNlX2NvbnN1bWVyLW9uLWxpYmx0dG5nLWN0bC5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDcyNDRlYWM0NGJlOTI5ZmFiZDZlZDEzMzNmOTY5MjllZjhkYTU2NGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CitEYXRlOiBUdWUsIDE5IE1hciAyMDE5IDE3OjU2OjQ5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeDogdGVzdHM6IGxpbmsgbGlicGF1c2VfY29uc3VtZXIgb24gbGlibHR0bmctY3RsCisKK1RoaXMgcHJlbG9hZCB0ZXN0IGxpYnJhcnkgdXNlcyBzeW1ib2xzIGZyb20gbGlibHR0bmctY3RsIHdoaWNoIGFyZQorcmVzb2x2ZWQgd2hlbiBwcmVsb2FkZWQgYnkgR0xJQkMgYnV0IG5vdCBieSBNVVNMLgorCitVcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFtmNjY3ZmJkN2Y4Yjk1MTJmOTk0M2VkYjI1OTdjMjI2ZmNjNDI0ZWU5XQorQmFja3BvcnRlZCB0byAyLjExIGFuZCAyLjEwLgorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KKy0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL01ha2VmaWxlLmFtIHwgNSArKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL01ha2VmaWxlLmFtIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vTWFrZWZpbGUuYW0KK2luZGV4IDQxYWRjNjkuLmEzNTJiYjggMTAwNjQ0CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL25vdGlmaWNhdGlvbi9NYWtlZmlsZS5hbQorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vTWFrZWZpbGUuYW0KK0BAIC0yMCw3ICsyMCwxMCBAQCBGT1JDRV9TSEFSRURfTElCX09QVElPTlMgPSAtbW9kdWxlIC1zaGFyZWQgLWF2b2lkLXZlcnNpb24gXAorIAkJCSAgIC1ycGF0aCAkKGFic19idWlsZGRpcikKKyAKKyBsaWJwYXVzZV9jb25zdW1lcl9sYV9TT1VSQ0VTID0gY29uc3VtZXJfdGVzdHBvaW50cy5jCistbGlicGF1c2VfY29uc3VtZXJfbGFfTElCQUREID0gJCh0b3BfYnVpbGRkaXIpL3NyYy9jb21tb24vbGliY29tbW9uLmxhICQoRExfTElCUykKKytsaWJwYXVzZV9jb25zdW1lcl9sYV9MSUJBREQgPSBcCisrICAgICAkKHRvcF9idWlsZGRpcikvc3JjL2NvbW1vbi9saWJjb21tb24ubGEgXAorKyAgICAgJCh0b3BfYnVpbGRkaXIpL3NyYy9saWIvbHR0bmctY3RsL2xpYmx0dG5nLWN0bC5sYSBcCisrICAgICAkKERMX0xJQlMpCisgbGlicGF1c2VfY29uc3VtZXJfbGFfTERGTEFHUyA9ICQoRk9SQ0VfU0hBUkVEX0xJQl9PUFRJT05TKQorIG5vaW5zdF9MVExJQlJBUklFUyA9IGxpYnBhdXNlX2NvbnN1bWVyLmxhCisgCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwMi1GaXgtdGVzdC1za2lwLXRlc3RfZ2V0Y3B1X292ZXJyaWRlLW9uLXNpbmdsZS10aHJlYWQtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDItRml4LXRlc3Qtc2tpcC10ZXN0X2dldGNwdV9vdmVycmlkZS1vbi1zaW5nbGUtdGhyZWFkLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YmI4OGQyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDItRml4LXRlc3Qtc2tpcC10ZXN0X2dldGNwdV9vdmVycmlkZS1vbi1zaW5nbGUtdGhyZWFkLS5wYXRjaApAQCAtMCwwICsxLDUyIEBACitGcm9tIGU3ZGIyNzY2OGE5ZDdmZDI3OWQ0NWJjNDNmM2EyZDU4NDczNzRlN2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CitEYXRlOiBUdWUsIDEyIE1hciAyMDE5IDEyOjA0OjU4IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggbHR0bmctdG9vbHMgMS8yXSBGaXg6IHRlc3Q6IHNraXAgdGVzdF9nZXRjcHVfb3ZlcnJpZGUgb24KKyBzaW5nbGUgdGhyZWFkIHN5c3RlbQorCitUaGVyZSBpcyBubyB2YWx1ZSBpbiBwZXJmb3JtaW5nIHRoaXMgdGVzdCBvbiBzaW5nbGUgdGhyZWFkIHN5c3RlbQorc2luY2UgdGhlIG9ubHkgdmFsaWQgdmFsdWUgZm9yIHRoZSBjcHUgZmllbGQgaXMgMC4KKworVGhpcyB0ZXN0IGN1cnJlbnRseSBmYWlscyBvbiBzaW5nbGUgdGhyZWFkIHN5c3RlbSAoaS5lIHlvY3RvIHJ1bnF1ZW11KQorb24gdGhlIHRlc3RfZ2V0Y3B1X292ZXJyaWRlX2ZhaWwgdGVzdCBjYXNlLgorCitVcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFtmODdkMGNhMzcwYzE3YjU5Nzc2MmY1ZWUyMThmMGU4MjFlZDI0NTJkXQorQmFja3BvcnRlZCB0byAyLjExIGFuZCAyLjEwCisKK1NpZ25lZC1vZmYtYnk6IEpvbmF0aGFuIFJham90dGUgPGpvbmF0aGFuLnJham90dGUtanVsaWVuQGVmZmljaW9zLmNvbT4KKy0tLQorIC4uLi91c3QvZ2V0Y3B1LW92ZXJyaWRlL3Rlc3RfZ2V0Y3B1X292ZXJyaWRlICAgICB8IDE2ICsrKysrKysrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdXN0L2dldGNwdS1vdmVycmlkZS90ZXN0X2dldGNwdV9vdmVycmlkZSBiL3Rlc3RzL3JlZ3Jlc3Npb24vdXN0L2dldGNwdS1vdmVycmlkZS90ZXN0X2dldGNwdV9vdmVycmlkZQoraW5kZXggNGNhMzg1YWViLi5lZTNlMzE5NTMgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3VzdC9nZXRjcHUtb3ZlcnJpZGUvdGVzdF9nZXRjcHVfb3ZlcnJpZGUKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdXN0L2dldGNwdS1vdmVycmlkZS90ZXN0X2dldGNwdV9vdmVycmlkZQorQEAgLTE1NywxMyArMTU3LDE5IEBAIHBsYW5fdGVzdHMgJE5VTV9URVNUUworIAorIHByaW50X3Rlc3RfYmFubmVyICIkVEVTVF9ERVNDIgorIAorLWlmIFsgLXggIiRDVVJESVIvLmxpYnMvbHR0bmctdXN0LWdldGNwdS1vdmVycmlkZS10ZXN0LnNvIiBdOyB0aGVuCistCWZvdW5kb2JqPTEKKy1lbHNlCistCWZvdW5kb2JqPTAKKytpZiBbICEgLXggIiRDVVJESVIvLmxpYnMvbHR0bmctdXN0LWdldGNwdS1vdmVycmlkZS10ZXN0LnNvIiBdOyB0aGVuCisrCXNraXAgMCAiTm8gc2hhcmVkIG9iamVjdCBnZW5lcmF0ZWQuIFNraXBwaW5nIGFsbCB0ZXN0cy4iICROVU1fVEVTVFMgJiYgZXhpdCAwCisrZmkKKysKKytpZiBbICIkbnVtX2NwdXMiIC1lcSAiMSIgXTsgdGhlbgorKwkjIFNraXAgdGhlIHRlc3Qgc2luY2Ugd2UgY2Fubm90IHBlcmZvcm0gaXQgYXMgZGVzaWduZWQgc2luY2UgTiBtb2QgMQorKwkjIGlzIGFsd2F5cyBlcXVhbHMgdG8gemVyby4gVGhlcmUgaXMgbm8gcG9pbnQgdGVzdGluZyB0aGlzIG9uIGEgc3lzdGVtCisrCSMgd2l0aCBhIHNpbmdsZSB0aHJlYWQuIExUVG5nLVVTVCBsaW1pdHMgdGhlIGdldF9jcHUgZnVuY3Rpb24gdG8gcmV0dXJuCisrCSMgdmFsdWUgaW5zaWRlIHRoZSBbMCwgTlVNX0NQVSAtIDFdIHJhbmdlIGZvciBhIHZhbGlkIGV2ZW50IChwcmVzZW50IGluCisrCSMgdHJhY2UpLgorKwlza2lwIDAgIlRlc3Qgc3lzdGVtIG9ubHkgaGF2ZSBhIHNpbmdsZSB0aHJlYWQuIFNraXBwaW5nIGFsbCB0ZXN0cy4iICROVU1fVEVTVFMgJiYgZXhpdCAwCisgZmkKKyAKKy1za2lwICRmb3VuZG9iaiAiTm8gc2hhcmVkIG9iamVjdCBnZW5lcmF0ZWQuIFNraXBwaW5nIGFsbCB0ZXN0cy4iICROVU1fVEVTVFMgJiYgZXhpdCAwCisgCisgVEVTVFM9KAorIAl0ZXN0X2dldGNwdV9vdmVycmlkZV9mYWlsCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwMy1GaXgtdGVzdC11bml0LXRoZS10cmVlLW9yaWdpbi1jYW4tYmUtYS1zeW1saW5rLWl0c2VsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDMtRml4LXRlc3QtdW5pdC10aGUtdHJlZS1vcmlnaW4tY2FuLWJlLWEtc3ltbGluay1pdHNlbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjJiMjZhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDMtRml4LXRlc3QtdW5pdC10aGUtdHJlZS1vcmlnaW4tY2FuLWJlLWEtc3ltbGluay1pdHNlbC5wYXRjaApAQCAtMCwwICsxLDgwIEBACitGcm9tIDgzZDE2NTQ0MmQxYzM2NThiNmJhZmEyOGRkYWRlOGZmZWU3MDkyYWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CitEYXRlOiBXZWQsIDYgTWFyIDIwMTkgMTY6NDY6NDkgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCBsdHRuZy10b29scyAyLzJdIEZpeDogdGVzdDogdW5pdDogdGhlIHRyZWUgb3JpZ2luIGNhbiBiZSBhCisgc3ltbGluayBpdHNlbGYKKworUHJvYmxlbToKKworVGhlIGJhc2UgdHJlZSBpcyBkZWZpbmVkIGFzICIvdG1wLy4uLi4uWFhYWFhYIi4KK09uIHN5c3RlbXMgd2hlcmUgIi90bXAvIiBpcyBpdHNlbGYgYSBzeW1saW5rIHV0aWxzX2V4cGFuZF9wYXRoIHdpbGwKK2V4cGFuZCB0aGUgdHJlZSBvcmlnaW4gaXRzZWxmLgorCitGb3IgZXhhbXBsZSBvbiBhIGJhc2UgY29yZS1pbWFnZS1taW5pbWFsIFlvY3RvIGJ1aWxkIC90bXAgaXMgYSBzeW1saW5rCit0byAiL3Zhci90bXAiLCB3aGljaCBpcyBhIHN5bWxpbmsgdG8gIi92YXIvdm9sYXRpbGUiLgorCit1dGlsc19leHBhbmRfcGF0aCB3aWxsIHJldHVybiBzb21ldGhpbmcgbGlrZSB0aGlzIGZvciB0aGUgc3ltbGluayB0ZXN0OgorIi92YXIvdm9sYXRpdmUvLi4uLi5YWFhYWFgvLi4uLiIgd2hpY2ggaXMgdGhlIHZhbGlkIHJlc3VsdC4KKworU29sdXRpb246CisKK1NpbXBseSB1c2UgcmVhbHBhdGggb24gdGhlIHRyZWVfb3JpZ2luIGFuZCB1c2UgdGhpcyBwYXRoIHRvIHBlcmZvcm0gdGhlCit0ZXN0IHZhbGlkYXRpb24uCisKK1RoaXMgd29yayB3YXMgcGVyZm9ybWVkIGluIHRoZSBlZmZvcnQgdG8gc3VwcG9ydCB5b2N0byBmdWxseSBhbmQgYmUgYWJsZQordG8gcnVuIHRoZSB0ZXN0IHN1aXRlIHRvIGRldGVjdCBwcm9ibGVtIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgorCisKK1Vwc3RyZWFtLVN0YXR1czogQWNjZXB0ZWQgW2Y2NmU5NjRhMmUwYzc1ZjVlMWE1NWZiY2M5NjNiMWM1ZTJiNDUxOWRdCitCYWNrcG9ydGVkIHRvIDIuMTEgYW5kIDIuMTAKKworU2lnbmVkLW9mZi1ieTogSm9uYXRoYW4gUmFqb3R0ZSA8am9uYXRoYW4ucmFqb3R0ZS1qdWxpZW5AZWZmaWNpb3MuY29tPgorLS0tCisgdGVzdHMvdW5pdC90ZXN0X3V0aWxzX2V4cGFuZF9wYXRoLmMgfCAxOCArKysrKysrKysrKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF91dGlsc19leHBhbmRfcGF0aC5jIGIvdGVzdHMvdW5pdC90ZXN0X3V0aWxzX2V4cGFuZF9wYXRoLmMKK2luZGV4IGQ1Y2FiMDAyZS4uZDA0N2MyMDdkIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X3V0aWxzX2V4cGFuZF9wYXRoLmMKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF91dGlsc19leHBhbmRfcGF0aC5jCitAQCAtMjgxLDggKzI4MSw4IEBAIGVycm9yOgorIHN0YXRpYyB2b2lkIHRlc3RfdXRpbHNfZXhwYW5kX3BhdGgodm9pZCkKKyB7CisgCWNoYXIgKnJlc3VsdDsKKy0JY2hhciBuYW1lWzEwMF0sIHRtcHBhdGhbUEFUSF9NQVhdOworLQlpbnQgaTsKKysJY2hhciBuYW1lWzEwMF0sIHRtcHBhdGhbUEFUSF9NQVhdLCByZWFsX3RyZWVfb3JpZ2luW1BBVEhfTUFYXTsKKysJaW50IGksIHRyZWVsZW47CisgCisgCS8qIFRlc3QgdmFsaWQgY2FzZXMgKi8KKyAJZm9yIChpID0gMDsgaSA8IG51bV92YWxpZF90ZXN0czsgaSsrKSB7CitAQCAtMjk1LDE0ICsyOTUsMjQgQEAgc3RhdGljIHZvaWQgdGVzdF91dGlsc19leHBhbmRfcGF0aCh2b2lkKQorIAkJZnJlZShyZXN1bHQpOworIAl9CisgCisrCS8qCisrCSAqIEdldCB0aGUgcmVhbHBhdGggZm9yIHRoZSB0cmVlX29yaWdpbiBzaW5jZSBpdCBjYW4gaXRzZWxmIGJlIGEKKysJICogc3ltbGluay4KKysJICovCisrCXJlc3VsdCA9IHJlYWxwYXRoKHRyZWVfb3JpZ2luLCByZWFsX3RyZWVfb3JpZ2luKTsKKysJaWYgKCFyZXN1bHQpIHsKKysJCWZhaWwoInJlYWxwYXRoIGZhaWxlZC4iKTsKKysJCXJldHVybjsKKysJfQorKworIAkvKiBUZXN0IHN5bWxpbmsgdHJlZSBjYXNlcyAqLworLQlpbnQgdHJlZWxlbiA9IHN0cmxlbih0cmVlX29yaWdpbikgKyAxOworKwl0cmVlbGVuID0gc3RybGVuKHJlYWxfdHJlZV9vcmlnaW4pICsgMTsKKyAJZm9yIChpID0gMDsgaSA8IG51bV9zeW1saW5rX3Rlc3RzOyBpKyspIHsKKyAJCXNwcmludGYobmFtZSwgInN5bWxpbmsgdHJlZSB0ZXN0IGNhc2U6IFt0bXBwYXRoL10lcyIsCisgCQkJCXN5bWxpbmtfdGVzdHNfaW5wdXRzW2ldLmlucHV0KTsKKyAKKyAJCXNucHJpbnRmKHRtcHBhdGgsIFBBVEhfTUFYLCAiJXMvJXMiLAorLQkJCQl0cmVlX29yaWdpbiwgc3ltbGlua190ZXN0c19pbnB1dHNbaV0uaW5wdXQpOworKwkJCQlyZWFsX3RyZWVfb3JpZ2luLCBzeW1saW5rX3Rlc3RzX2lucHV0c1tpXS5pbnB1dCk7CisgCQlyZXN1bHQgPSB1dGlsc19leHBhbmRfcGF0aCh0bXBwYXRoKTsKKyAJCW9rKHJlc3VsdCAhPSBOVUxMICYmIHN0cmNtcChyZXN1bHQgKyB0cmVlbGVuLAorIAkJCQkJc3ltbGlua190ZXN0c19pbnB1dHNbaV0uZXhwZWN0ZWRfcmVzdWx0KSA9PSAwLCBuYW1lKTsKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDA0LVNraXAtd2hlbi10ZXN0YXBwLWlzLW5vdC1wcmVzZW50LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDQtU2tpcC13aGVuLXRlc3RhcHAtaXMtbm90LXByZXNlbnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmM5ZjdlNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDA0LVNraXAtd2hlbi10ZXN0YXBwLWlzLW5vdC1wcmVzZW50LnBhdGNoCkBAIC0wLDAgKzEsNjEwIEBACitGcm9tIDk1YzI3ZTZhY2NlYWVkYTU1YzcyOWI5ZTkyZTU5NDMyMmFkZWYxM2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CitEYXRlOiBXZWQsIDMgQXByIDIwMTkgMTY6MzE6MTggLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCBsdHRuZy10b29sc10gU2tpcCB3aGVuIHRlc3RhcHAgaXMgbm90IHByZXNlbnQKKworV2UgZXhwZWN0IGx0dG5nLXVzdCBkbyBiZSBwcmVzZW50LCB0aGlzIGlzIGEgd3JvbmcgYXNzdW1wdGlvbnMuCisKK1RoaXMgaXMgYSBxdWljayBmaXguIFRoZSByZWFsIGZpeCBpcyB0byBlaXRoZXIgZGV0ZWN0IGF0IHJ1bnRpbWUKK2x0dG5nLXVzdCBzdXBwb3J0IG9yIGF0IGJ1aWxkIHRpbWUgKEhBVkVfTElCTFRUTkdfVVNUX0NUTCkuCisKK1RoaXMgcHJldmVudCBoYW5nIGZvciBtYWtlIGNoZWNrIGRvbmUgb24gYSBidWlsZCBjb25maWd1cmVkIHdpdGgKKy0td2l0aG91dC1sdHRuZy11c3QuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb3RoZXJdIAorUmVhc29uOiBUaGlzIHBhdGNoIGlzIGluYXBwcm9wcmlhdGUgZm9yIHVwc3RyZWFtIGZvciAyLjEwIHN0YWJsZSByZWxlYXNlIAorc2luY2Ugd2UgZG8gbm90IGJhY2twb3J0ICJzdXBlcmZpY2lhbCIgZml4IHRvIHRoZSB0ZXN0IHN1aXRlLiBXZSBkbyAKK2JhY2twb3J0IHdoZW4gYSB0ZXN0IGlzIGJyb2tlbi4gVGhlIGZhY3QgdGhhdCBvbiAtLXdpdGhvdXQtbHR0bmctdXN0IAoraGFuZyBpcyBub3QgYSAiYnJva2VuIiB0ZXN0IHBlci1zZWUuIFN0aWxsLCBhIHZhcmlhdGlvbiBvZiB0aGlzIGZpeCB3aWxsIAorYmUgdXBzdHJlYW1lZCBpbiBvdXIgbWFzdGVyIGJyYW5jaCBhbmQgcG9zc2libHkgMi4xMS4gVGhlIHVwc3RyZWFtZWQgCit2ZXJzaW9uIHdpbGwgc3BsaXQgdGhlIHRlc3QgaW4ga2VybmVsL3VzdCB0ZXN0IGFuZCBza2lwIHRoZW0gYXQgdGhlIAorYnVpbGQgc3lzdGVtIGxldmVsLiBUaGlzIHBhdGNoIGlzIG1vcmUgc3VjY2luY3QuCisKK1NpZ25lZC1vZmYtYnk6IEpvbmF0aGFuIFJham90dGUgPGpvbmF0aGFuLnJham90dGUtanVsaWVuQGVmZmljaW9zLmNvbT4KKy0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvY3Jhc2gvdGVzdF9jcmFzaCAgICAgICB8ICA0ICsrCisgLi4uL3JlZ3Jlc3Npb24vdG9vbHMvZXhjbHVzaW9uL3Rlc3RfZXhjbHVzaW9uIHwgIDQgKysKKyAuLi4vdG9vbHMvZmlsdGVyaW5nL3Rlc3RfdmFsaWRfZmlsdGVyICAgICAgICAgfCAyMSArKysrLS0KKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2hlYWx0aC90ZXN0X3RocmVhZF9vayAgfCAyOSArKysrKy0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS9NYWtlZmlsZS5hbSAgICAgICB8ICAyIC0KKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvdGVzdF9sdHRuZ191c3QgICAgfCAgNCArKworIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS90ZXN0X3VzdCAgICAgICAgICB8ICA0ICsrCisgLi4uL3Rvb2xzL2xpdmUvdGVzdF91c3RfdHJhY2VmaWxlX2NvdW50ICAgICAgIHwgIDQgKysKKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL21pL3Rlc3RfbWkgICAgICAgICAgICAgfCAgNCArKworIC4uLi9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fbXVsdGlfYXBwICB8IDE4ICsrKy0tCisgLi4uL3Rvb2xzL25vdGlmaWNhdGlvbi90ZXN0X25vdGlmaWNhdGlvbl91c3QgIHwgIDQgKysKKyAuLi4vcmVncmVzc2lvbi90b29scy9yZWdlbi1tZXRhZGF0YS90ZXN0X3VzdCAgfCAgMiArLQorIC4uLi9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLXN0YXRlZHVtcC90ZXN0X3VzdCB8ICAyICstCisgLi4uL3JlZ3Jlc3Npb24vdG9vbHMvc2F2ZS1sb2FkL3Rlc3RfYXV0b2xvYWQgIHwgIDcgKysKKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X2xvYWQgICAgfCAgOCArKysKKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X3NhdmUgICAgfCAgNyArKworIC4uLi9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9mYXN0ICB8ICAyICstCisgLi4uL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X2xvbmcgIHwgIDIgKy0KKyAuLi4vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X3N0cmVhbWluZyAgICAgICAgfCAgMiArLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3VzdF90ZXN0ICAgICB8ICAyICstCisgLi4uL3N0cmVhbWluZy90ZXN0X2hpZ2hfdGhyb3VnaHB1dF9saW1pdHMgICAgIHwgIDIgKy0KKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3N0cmVhbWluZy90ZXN0X3VzdCAgICAgfCAgMiArLQorIC4uLi90cmFjZWZpbGUtbGltaXRzL3Rlc3RfdHJhY2VmaWxlX2NvdW50ICAgICB8ICAyICstCisgLi4uL3RyYWNlZmlsZS1saW1pdHMvdGVzdF90cmFjZWZpbGVfc2l6ZSAgICAgIHwgIDIgKy0KKyAuLi4vdG9vbHMvd2lsZGNhcmQvdGVzdF9ldmVudF93aWxkY2FyZCAgICAgICAgfCA2NyArKysrKysrKysrLS0tLS0tLS0tCisgMjUgZmlsZXMgY2hhbmdlZCwgMTQ3IGluc2VydGlvbnMoKyksIDYwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9jcmFzaC90ZXN0X2NyYXNoIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9jcmFzaC90ZXN0X2NyYXNoCitpbmRleCA4YzYyYzUxM2QuLjNjYmU5NzY4OCAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvY3Jhc2gvdGVzdF9jcmFzaAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9jcmFzaC90ZXN0X2NyYXNoCitAQCAtMzUsNiArMzUsMTAgQEAgTlVNX1RFU1RTPTc3CisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisraWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorK2ZpCisrCisgIyBHbG9iYWwgZGVjbGFyYXRpb24gZm9yIHNpbXBsaWZpY2F0aW9uCisgTFRUTkdfQ1JBU0g9JFRFU1RESVIvLi4vc3JjL2Jpbi9sdHRuZy1jcmFzaC8kQ1JBU0hfQklOCisgCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9leGNsdXNpb24vdGVzdF9leGNsdXNpb24gYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2V4Y2x1c2lvbi90ZXN0X2V4Y2x1c2lvbgoraW5kZXggOTQ5Y2Q0MWRmLi40MmU0ZDcyZmIgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2V4Y2x1c2lvbi90ZXN0X2V4Y2x1c2lvbgorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9leGNsdXNpb24vdGVzdF9leGNsdXNpb24KK0BAIC0zMCw2ICszMCwxMCBAQCBOVU1fVEVTVFM9MTQ5CisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisraWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorK2ZpCisrCisgZnVuY3Rpb24gZW5hYmxlX3VzdF9sdHRuZ19hbGxfZXZlbnRfZXhjbHVzaW9uKCkKKyB7CisgCXNlc3NfbmFtZT0iJDEiCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9maWx0ZXJpbmcvdGVzdF92YWxpZF9maWx0ZXIgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2ZpbHRlcmluZy90ZXN0X3ZhbGlkX2ZpbHRlcgoraW5kZXggMTYzYjMyMTgyLi4xZThkYTYzMGIgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2ZpbHRlcmluZy90ZXN0X3ZhbGlkX2ZpbHRlcgorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9maWx0ZXJpbmcvdGVzdF92YWxpZF9maWx0ZXIKK0BAIC00MTgsMTIgKzQxOCwxOCBAQCBpc3N1ZV8zNTZfZmlsdGVyKz0iaW50ZmllbGQgPiA0ICYmIGludGZpZWxkID4gNSAmJiAiCisgaXNzdWVfMzU2X2ZpbHRlcis9ImludGZpZWxkID4gNiAmJiBpbnRmaWVsZCA+IDcgJiYgIgorIGlzc3VlXzM1Nl9maWx0ZXIrPSJpbnRmaWVsZCA+IDggfHwgaW50ZmllbGQgPiAwIgorIAorK0JJTl9OQU1FPSJnZW4tdXN0LWV2ZW50cyIKKysKKytza2lwX3VzdD0xCisraWYgWyAhIC14ICIkQ1VSRElSLyRCSU5fTkFNRSIgXTsgdGhlbgorKwlza2lwX3VzdD0wCisrCXNraXAgMCAiTm8gVVNUIG5ldmVudHMgYmluYXJ5IGRldGVjdGVkLiIgJE5VTV9VU1RfVEVTVFMKKytmaQorKworIHN0YXJ0X2x0dG5nX3Nlc3Npb25kCisgCisgIyMjIFVTVCBURVNUUworIAorLUJJTl9OQU1FPSJnZW4tdXN0LWV2ZW50cyIKKy0KKyBLSVJLX0tSQVVTU19URVNUUz0oCisgCSMgdGhlIHRlc3RzIGJlbG93IHdlcmUgd3JpdHRlbiBieSBLaXJrIEtyYXVzcyBpbiB0aGlzIGFydGljbGU6CisgCSMgaHR0cDovL3d3dy5kcmRvYmJzLmNvbS9hcmNoaXRlY3R1cmUtYW5kLWRlc2lnbi9tYXRjaGluZy13aWxkY2FyZHMtYW4tZW1waXJpY2FsLXdheS10by10LzI0MDE2OTEyMworQEAgLTg5Nyw5ICs5MDMsNiBAQCBVU1RfU1RSX0ZJTFRFUlM9KAorIAlFTkQKKyApCisgCistaWYgWyAhIC14ICIkQ1VSRElSLyRCSU5fTkFNRSIgXTsgdGhlbgorLQlCQUlMX09VVCAiTm8gVVNUIG5ldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKy1maQorIAorIElGUz0iJE9MRElGUyIKKyAKK0BAIC05MTAsNiArOTEzLDEwIEBAIGk9MAorIHdoaWxlIHRydWU7IGRvCisgCXZhbGlkYXRvcj0iJHtVU1RfRklMVEVSU1skaV19IgorIAorKwlpZiBbICRza2lwX3VzdCAtZXEgMCBdOyB0aGVuCisrCQlicmVhaworKwlmaQorKworIAlpZiBbICIkdmFsaWRhdG9yIiA9IEVORCBdOyB0aGVuCisgCQlicmVhaworIAlmaQorQEAgLTkyOSw2ICs5MzYsMTAgQEAgaT0wCisgd2hpbGUgdHJ1ZTsgZG8KKyAJdmFsaWRhdG9yPSIke1VTVF9TVFJfRklMVEVSU1skaV19IgorIAorKwlpZiBbICRza2lwX3VzdCAtZXEgMCBdOyB0aGVuCisrCQlicmVhaworKwlmaQorKworIAlpZiBbICIkdmFsaWRhdG9yIiA9IEVORCBdOyB0aGVuCisgCQlicmVhaworIAlmaQorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvaGVhbHRoL3Rlc3RfdGhyZWFkX29rIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9oZWFsdGgvdGVzdF90aHJlYWRfb2sKK2luZGV4IGU4MWQ2ZWQyNC4uODQ5YjdlNzFmIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9oZWFsdGgvdGVzdF90aHJlYWRfb2sKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvaGVhbHRoL3Rlc3RfdGhyZWFkX29rCitAQCAtMjcsNiArMjcsOSBAQCBDSEFOTkVMX05BTUU9InRlc3RjaGFuIgorIEhFQUxUSF9DSEVDS19CSU49ImhlYWx0aF9jaGVjayIKKyBOVU1fVEVTVFM9MTcKKyBTTEVFUF9USU1FPTMwCisrVEVTVEFQUF9QQVRIPSIkVEVTVERJUi91dGlscy90ZXN0YXBwIgorK1RFU1RBUFBfTkFNRT0iZ2VuLXVzdC1ldmVudHMiCisrVEVTVEFQUF9CSU49IiRURVNUQVBQX1BBVEgvJFRFU1RBUFBfTkFNRS8kVEVTVEFQUF9OQU1FIgorIAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorQEAgLTc2LDE1ICs3OSwxOSBAQCBmdW5jdGlvbiB0ZXN0X3RocmVhZF9vaworIAkkQ1VSRElSLyRIRUFMVEhfQ0hFQ0tfQklOID4gJHtTVERPVVRfUEFUSH0gMj4gJHtTVERFUlJfUEFUSH0KKyAJcmVwb3J0X2Vycm9ycworIAorLQlkaWFnICJXaXRoIFVTVCBjb25zdW1lciBkYWVtb25zIgorLQljcmVhdGVfbHR0bmdfc2Vzc2lvbl9ub19vdXRwdXQgJFNFU1NJT05fTkFNRQorLQllbmFibGVfdXN0X2x0dG5nX2V2ZW50X29rICRTRVNTSU9OX05BTUUgJFVTVF9FVkVOVF9OQU1FICRDSEFOTkVMX05BTUUKKy0Jc3RhcnRfbHR0bmdfdHJhY2luZ19vayAkU0VTU0lPTl9OQU1FCistCWRlc3Ryb3lfbHR0bmdfc2Vzc2lvbl9vayAkU0VTU0lPTl9OQU1FCisrCXNraXAgJHNraXBfdXN0ICJVc3QgZG9lcyBub3Qgc2VlbXMgdG8gYmUgc3VwcG9ydGVkIiAiNSIgfHwKKysJeworKwkJZGlhZyAiV2l0aCBVU1QgY29uc3VtZXIgZGFlbW9ucyIKKysJCWNyZWF0ZV9sdHRuZ19zZXNzaW9uX25vX291dHB1dCAkU0VTU0lPTl9OQU1FCisrCQllbmFibGVfdXN0X2x0dG5nX2V2ZW50X29rICRTRVNTSU9OX05BTUUgJFVTVF9FVkVOVF9OQU1FICRDSEFOTkVMX05BTUUKKysJCXN0YXJ0X2x0dG5nX3RyYWNpbmdfb2sgJFNFU1NJT05fTkFNRQorKwkJZGVzdHJveV9sdHRuZ19zZXNzaW9uX29rICRTRVNTSU9OX05BTUUKKyAKKy0JIyBDaGVjayBoZWFsdGggc3RhdHVzCistCSRDVVJESVIvJEhFQUxUSF9DSEVDS19CSU4gPiAke1NURE9VVF9QQVRIfSAyPiAke1NUREVSUl9QQVRIfQorLQlyZXBvcnRfZXJyb3JzCisrCisrCQkjIENoZWNrIGhlYWx0aCBzdGF0dXMKKysJCSRDVVJESVIvJEhFQUxUSF9DSEVDS19CSU4gPiAke1NURE9VVF9QQVRIfSAyPiAke1NUREVSUl9QQVRIfQorKwkJcmVwb3J0X2Vycm9ycworKwl9CisgCisgCXNraXAgJGlzcm9vdCAiUm9vdCBhY2Nlc3MgaXMgbmVlZGVkLiBTa2lwcGluZyBrZXJuZWwgY29uc3VtZXIgaGVhbHRoIGNoZWNrIHRlc3QuIiAiNSIgfHwKKyAJeworQEAgLTE0MSw2ICsxNDgsMTIgQEAgZWxzZQorIAlpc3Jvb3Q9MAorIGZpCisgCisraWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKysJc2tpcF91c3Q9MAorK2Vsc2UKKysJc2tpcF91c3Q9MQorK2ZpCisrCisgdGVzdF90aHJlYWRfb2sKKyAKKyBybSAtcmYgJHtIRUFMVEhfUEFUSH0KK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvTWFrZWZpbGUuYW0gYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvTWFrZWZpbGUuYW0KK2luZGV4IDQ2MTg2ZDM4My4uZGI3NGRlOGQ1IDEwMDY0NAorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL01ha2VmaWxlLmFtCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvTWFrZWZpbGUuYW0KK0BAIC0xNiw5ICsxNiw3IEBAIExJVkU9JCh0b3BfYnVpbGRkaXIpL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvc2Vzc2lvbi4kKE9CSkVYVCkgXAorIG5vaW5zdF9QUk9HUkFNUyA9IGxpdmVfdGVzdAorIEVYVFJBX0RJU1QgPSB0ZXN0X2tlcm5lbCB0ZXN0X2x0dG5nX2tlcm5lbAorIAorLWlmIEhBVkVfTElCTFRUTkdfVVNUX0NUTAorIEVYVFJBX0RJU1QgKz0gdGVzdF91c3QgdGVzdF91c3RfdHJhY2VmaWxlX2NvdW50IHRlc3RfbHR0bmdfdXN0CistZW5kaWYKKyAKKyBsaXZlX3Rlc3RfU09VUkNFUyA9IGxpdmVfdGVzdC5jCisgbGl2ZV90ZXN0X0xEQUREID0gJChMSUJUQVApICQoTElCQ09NTU9OKSAkKExJQlJFTEFZRCkgJChMSUJTRVNTSU9ORF9DT01NKSBcCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL3Rlc3RfbHR0bmdfdXN0IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL3Rlc3RfbHR0bmdfdXN0CitpbmRleCAwNjAxN2QwMWQuLmJlOWIzZDdmNyAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS90ZXN0X2x0dG5nX3VzdAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL3Rlc3RfbHR0bmdfdXN0CitAQCAtMzgsNiArMzgsMTAgQEAgTlVNX1RFU1RTPTEyCisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisraWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorK2ZpCisrCisgIyBNVVNUIHNldCBURVNURElSIGJlZm9yZSBjYWxsaW5nIHRob3NlIGZ1bmN0aW9ucworIHBsYW5fdGVzdHMgJE5VTV9URVNUUworIAorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS90ZXN0X3VzdCBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS90ZXN0X3VzdAoraW5kZXggMDM4NGE3MDZmLi5hZGQ1MjFiZmMgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvdGVzdF91c3QKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS90ZXN0X3VzdAorQEAgLTM2LDYgKzM2LDEwIEBAIERJUj0kKHJlYWRsaW5rIC1mICRURVNURElSKQorIAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorK2lmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKytmaQorKworIGVjaG8gIiRURVNUX0RFU0MiCisgCisgZnVuY3Rpb24gc2V0dXBfbGl2ZV90cmFjaW5nKCkKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvdGVzdF91c3RfdHJhY2VmaWxlX2NvdW50IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL3Rlc3RfdXN0X3RyYWNlZmlsZV9jb3VudAoraW5kZXggNmRhMzY4ZmM2Li4xMDUwNGY4YzYgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvdGVzdF91c3RfdHJhY2VmaWxlX2NvdW50CisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvdGVzdF91c3RfdHJhY2VmaWxlX2NvdW50CitAQCAtMzYsNiArMzYsMTAgQEAgRElSPSQocmVhZGxpbmsgLWYgJFRFU1RESVIpCisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisraWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorK2ZpCisrCisgZWNobyAiJFRFU1RfREVTQyIKKyAKKyBmdW5jdGlvbiBzZXR1cF9saXZlX3RyYWNpbmcoKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbWkvdGVzdF9taSBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbWkvdGVzdF9taQoraW5kZXggNDhkZGE3ZGE2Li4yY2MzMGIyOWEgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL21pL3Rlc3RfbWkKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbWkvdGVzdF9taQorQEAgLTYxLDYgKzYxLDEwIEBAIE5VTV9URVNUUz0yMjgKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKytpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrZmkKKysKKyAjT3ZlcndyaXRlIHRoZSBsdHRuZ19iaW4gdG8gZ2V0IG1pIG91dHB1dAorIExUVE5HX0JJTj0ibHR0bmcgLS1taSB4bWwiCisgCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fbXVsdGlfYXBwIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fbXVsdGlfYXBwCitpbmRleCAwYTA1ZWE2YTAuLjI5YjBmNjJmYSAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL3Rlc3Rfbm90aWZpY2F0aW9uX211bHRpX2FwcAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fbXVsdGlfYXBwCitAQCAtNTIsNiArNTIsMTEgQEAgcGxhbl90ZXN0cyAkTlVNX1RFU1RTCisgCisgcHJpbnRfdGVzdF9iYW5uZXIgIiRURVNUX0RFU0MiCisgCisrc2tpcF91c3Q9MQorK2lmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCisrCXNraXBfdXN0PTAKKytmaQorKworIGFwcF9waWRzPSgpCisgCisgZnVuY3Rpb24ga2VybmVsX2V2ZW50X2dlbmVyYXRvcl90b29nbGVfc3RhdGUKK0BAIC00NjgsMTAgKzQ3MywxNSBAQCBmdW5jdGlvbiB0ZXN0X29uX3JlZ2lzdGVyX2V2YWx1YXRpb24gKCkKKyB9CisgCisgCistVEVTVFM9KAorLQl0ZXN0X211bHRpX2FwcF91c3QKKy0JdGVzdF9vbl9yZWdpc3Rlcl9ldmFsdWF0aW9uX3VzdAorLSkKKytURVNUUz0oKQorK2lmIFsgJHNraXBfdXN0IC1lcSAiMSIgXTsgdGhlbgorKwlURVNUUys9KAorKwkJdGVzdF9tdWx0aV9hcHBfdXN0CisrCQl0ZXN0X29uX3JlZ2lzdGVyX2V2YWx1YXRpb25fdXN0CisrCSkKKytlbHNlCisrCXNraXAgMCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIiAkTlVNX1RFU1RfVVNUCisrZmkKKyAKKyBpZiBbICIkKGlkIC11KSIgPT0gIjAiIF07IHRoZW4KKyAJVEVTVFMrPSgKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL25vdGlmaWNhdGlvbi90ZXN0X25vdGlmaWNhdGlvbl91c3QgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL25vdGlmaWNhdGlvbi90ZXN0X25vdGlmaWNhdGlvbl91c3QKK2luZGV4IDg5NDFlNDc2ZC4uZWIyZTE1Y2FkIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fdXN0CisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL25vdGlmaWNhdGlvbi90ZXN0X25vdGlmaWNhdGlvbl91c3QKK0BAIC00Niw2ICs0NiwxMCBAQCBESVI9JChyZWFkbGluayAtZiAkVEVTVERJUikKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKytpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrZmkKKysKKyBmdW5jdGlvbiB1c3RfZXZlbnRfZ2VuZXJhdG9yX3Rvb2dsZV9zdGF0ZQorIHsKKyAJdXN0X2V2ZW50X2dlbmVyYXRvcl9zdXNwZW5kZWQ9JCgodXN0X2V2ZW50X2dlbmVyYXRvcl9zdXNwZW5kZWQ9PTApKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tbWV0YWRhdGEvdGVzdF91c3QgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLW1ldGFkYXRhL3Rlc3RfdXN0CitpbmRleCBiN2YxYWYxZDguLjMxMmM4YTQwZCAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tbWV0YWRhdGEvdGVzdF91c3QKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tbWV0YWRhdGEvdGVzdF91c3QKK0BAIC0zNCw3ICszNCw3IEBAIE5VTV9URVNUUz0zMworIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorIGlmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCistCUJBSUxfT1VUICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKyBmaQorIAorIGZ1bmN0aW9uIGx0dG5nX2NyZWF0ZV9zZXNzaW9uX3VyaQorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tc3RhdGVkdW1wL3Rlc3RfdXN0IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9yZWdlbi1zdGF0ZWR1bXAvdGVzdF91c3QKK2luZGV4IDQ4NmI5YTU2MC4uOGQ0NTViMjZhIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9yZWdlbi1zdGF0ZWR1bXAvdGVzdF91c3QKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tc3RhdGVkdW1wL3Rlc3RfdXN0CitAQCAtMzQsNyArMzQsNyBAQCBOVU1fVEVTVFM9MTEKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKyBpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorLQlCQUlMX09VVCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisgZmkKKyAKKyBmdW5jdGlvbiB0ZXN0X3VzdF9sb2NhbCAoKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc2F2ZS1sb2FkL3Rlc3RfYXV0b2xvYWQgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X2F1dG9sb2FkCitpbmRleCA3ZWU1ZTk5MDYuLmVjMzc2Y2ZiMyAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc2F2ZS1sb2FkL3Rlc3RfYXV0b2xvYWQKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc2F2ZS1sb2FkL3Rlc3RfYXV0b2xvYWQKK0BAIC0yMSw2ICsyMSw5IEBAIENVUkRJUj0kKGRpcm5hbWUgJDApLworIENPTkZJR19ESVI9IiR7Q1VSRElSfS9jb25maWd1cmF0aW9uIgorIFRFU1RESVI9JENVUkRJUi8uLi8uLi8uLi8KKyBleHBvcnQgTFRUTkdfU0VTU0lPTl9DT05GSUdfWFNEX1BBVEg9JChyZWFkbGluayAtbSAke1RFU1RESVJ9Li4vc3JjL2NvbW1vbi9jb25maWcvKQorK1RFU1RBUFBfUEFUSD0iJFRFU1RESVIvdXRpbHMvdGVzdGFwcCIKKytURVNUQVBQX05BTUU9Imdlbi11c3QtZXZlbnRzIgorK1RFU1RBUFBfQklOPSIkVEVTVEFQUF9QQVRILyRURVNUQVBQX05BTUUvJFRFU1RBUFBfTkFNRSIKKyAKKyBESVI9JChyZWFkbGluayAtZiAkVEVTVERJUikKKyAKK0BAIC0yOCw2ICszMSwxMCBAQCBOVU1fVEVTVFM9OQorIAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorK2lmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKytmaQorKworICMgTVVTVCBzZXQgVEVTVERJUiBiZWZvcmUgY2FsbGluZyB0aG9zZSBmdW5jdGlvbnMKKyBwbGFuX3Rlc3RzICROVU1fVEVTVFMKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X2xvYWQgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X2xvYWQKK2luZGV4IDVlMzhiNDZiNi4uYjZmZGQ4MTkyIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zYXZlLWxvYWQvdGVzdF9sb2FkCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X2xvYWQKK0BAIC0yMCw2ICsyMCwxMCBAQCBURVNUX0RFU0M9IkxvYWQgc2Vzc2lvbihzKSIKKyBDVVJESVI9JChkaXJuYW1lICQwKS8KKyBDT05GSUdfRElSPSIke0NVUkRJUn0vY29uZmlndXJhdGlvbiIKKyBURVNURElSPSRDVVJESVIvLi4vLi4vLi4vCisrVEVTVEFQUF9QQVRIPSIkVEVTVERJUi91dGlscy90ZXN0YXBwIgorK1RFU1RBUFBfTkFNRT0iZ2VuLXVzdC1ldmVudHMiCisrVEVTVEFQUF9CSU49IiRURVNUQVBQX1BBVEgvJFRFU1RBUFBfTkFNRS8kVEVTVEFQUF9OQU1FIgorKworIGV4cG9ydCBMVFROR19TRVNTSU9OX0NPTkZJR19YU0RfUEFUSD0kKHJlYWRsaW5rIC1tICR7VEVTVERJUn0uLi9zcmMvY29tbW9uL2NvbmZpZy8pCisgCisgU0VTU0lPTl9OQU1FPSJsb2FkLTQyIgorQEAgLTMxLDYgKzM1LDEwIEBAIE5VTV9URVNUUz02NworIAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorK2lmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKytmaQorKworICMgTVVTVCBzZXQgVEVTVERJUiBiZWZvcmUgY2FsbGluZyB0aG9zZSBmdW5jdGlvbnMKKyBwbGFuX3Rlc3RzICROVU1fVEVTVFMKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X3NhdmUgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X3NhdmUKK2luZGV4IGM1ZjZiMTM0MS4uY2ZhZjY3YjdhIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zYXZlLWxvYWQvdGVzdF9zYXZlCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X3NhdmUKK0BAIC0yMyw2ICsyMyw5IEBAIFRFU1RESVI9JENVUkRJUi8uLi8uLi8uLi8KKyBTRVNTSU9OX05BTUU9InNhdmUtNDIiCisgQ0hBTk5FTF9OQU1FPSJjaGFuLXNhdmUiCisgRVZFTlRfTkFNRT0idHA6dHB0ZXN0IgorK1RFU1RBUFBfUEFUSD0iJFRFU1RESVIvdXRpbHMvdGVzdGFwcCIKKytURVNUQVBQX05BTUU9Imdlbi11c3QtZXZlbnRzIgorK1RFU1RBUFBfQklOPSIkVEVTVEFQUF9QQVRILyRURVNUQVBQX05BTUUvJFRFU1RBUFBfTkFNRSIKKyAKKyBESVI9JChyZWFkbGluayAtZiAkVEVTVERJUikKKyAKK0BAIC0zMCw2ICszMywxMCBAQCBOVU1fVEVTVFM9NDEKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKytpZiBbICEgLXggIlRFU1RBUFBfQklOIiBdOyB0aGVuCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKytmaQorKworICMgTVVTVCBzZXQgVEVTVERJUiBiZWZvcmUgY2FsbGluZyB0aG9zZSBmdW5jdGlvbnMKKyBwbGFuX3Rlc3RzICROVU1fVEVTVFMKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9mYXN0IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF91c3RfZmFzdAoraW5kZXggZWRiNDM1YzUyLi41YTY4ZWM1NmQgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9mYXN0CisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9mYXN0CitAQCAtMjMsNyArMjMsNyBAQCBURVNUX0JJTj0idXN0X3Rlc3QiCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisgaWYgWyAhIC14ICIkQ1VSRElSLyRURVNUX0JJTiIgXTsgdGhlbgorLQlCQUlMX09VVCAiTm8gVVNUIHRlc3QgZm91bmQ6ICRURVNUX0JJTiIKKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIHRlc3QgZm91bmQ6ICRURVNUX0JJTiIKKyBmaQorIAorIC4vJENVUkRJUi8kVEVTVF9CSU4gJE5SX1NOQVBTSE9UCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF91c3RfbG9uZyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X2xvbmcKK2luZGV4IDllMWEwYzI2Mi4uYWZhMDE5ZjZhIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF91c3RfbG9uZworKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF91c3RfbG9uZworQEAgLTIzLDcgKzIzLDcgQEAgVEVTVF9CSU49InVzdF90ZXN0IgorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorIGlmIFsgISAteCAiJENVUkRJUi8kVEVTVF9CSU4iIF07IHRoZW4KKy0JQkFJTF9PVVQgIk5vIFVTVCB0ZXN0IGZvdW5kOiAkVEVTVF9CSU4iCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCB0ZXN0IGZvdW5kOiAkVEVTVF9CSU4iCisgZmkKKyAKKyAuLyRDVVJESVIvJFRFU1RfQklOICROUl9TTkFQU0hPVAorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X3N0cmVhbWluZyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X3N0cmVhbWluZworaW5kZXggOTNiMDk1N2YzLi42OTI5MWFiNGQgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9zdHJlYW1pbmcKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X3N0cmVhbWluZworQEAgLTM3LDcgKzM3LDcgQEAgTlVNX1RFU1RTPTc1Cisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisgaWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKy0JQkFJTF9PVVQgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorIGZpCisgCisgZnVuY3Rpb24gc25hcHNob3RfYWRkX291dHB1dCAoKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3VzdF90ZXN0IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdXN0X3Rlc3QKK2luZGV4IDc1NWNlZjllMC4uOTJmOWY2Y2ZmIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdXN0X3Rlc3QKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3VzdF90ZXN0CitAQCAtMzQsNyArMzQsNyBAQCBUUkFDRV9QQVRIPSQobWt0ZW1wIC1kKQorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorIGlmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCistCUJBSUxfT1VUICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKyBmaQorIAorICMgTmVlZCB0aGUgbnVtYmVyIG9mIHNuYXBzaG90IHRvIGRvLgorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3RfaGlnaF90aHJvdWdocHV0X2xpbWl0cyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3RfaGlnaF90aHJvdWdocHV0X2xpbWl0cworaW5kZXggMzJjM2YxZjJiLi5mNTQxNzg5MjMgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3N0cmVhbWluZy90ZXN0X2hpZ2hfdGhyb3VnaHB1dF9saW1pdHMKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3RfaGlnaF90aHJvdWdocHV0X2xpbWl0cworQEAgLTM4LDcgKzM4LDcgQEAgTlVNX1RFU1RTPTEwNAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorIGlmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCistCUJBSUxfT1VUICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKyBmaQorIAorIGZ1bmN0aW9uIHNldF9id19saW1pdAorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3RfdXN0IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF91c3QKK2luZGV4IGE1ZDViNWU5Mi4uZTFkZDk4ZWU3IDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF91c3QKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3RfdXN0CitAQCAtMzQsNyArMzQsNyBAQCBOVU1fVEVTVFM9MTYKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKyBpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorLQlCQUlMX09VVCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisgZmkKKyAKKyBmdW5jdGlvbiBsdHRuZ19jcmVhdGVfc2Vzc2lvbl91cmkKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3RyYWNlZmlsZS1saW1pdHMvdGVzdF90cmFjZWZpbGVfY291bnQgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3RyYWNlZmlsZS1saW1pdHMvdGVzdF90cmFjZWZpbGVfY291bnQKK2luZGV4IDZhZGE4NTgwZi4uNzU1M2M3ZDFmIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy90cmFjZWZpbGUtbGltaXRzL3Rlc3RfdHJhY2VmaWxlX2NvdW50CisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3RyYWNlZmlsZS1saW1pdHMvdGVzdF90cmFjZWZpbGVfY291bnQKK0BAIC0zMyw3ICszMyw3IEBAIFBBR0VfU0laRT0kKGdldGNvbmYgUEFHRV9TSVpFKQorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorIGlmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCistCUJBSUxfT1VUICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKyBmaQorIAorIGZ1bmN0aW9uIGVuYWJsZV9sdHRuZ19jaGFubmVsX2NvdW50X2xpbWl0ICgpCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy90cmFjZWZpbGUtbGltaXRzL3Rlc3RfdHJhY2VmaWxlX3NpemUgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3RyYWNlZmlsZS1saW1pdHMvdGVzdF90cmFjZWZpbGVfc2l6ZQoraW5kZXggM2RkZGJlNjEzLi4xMDg5NDg3ZmYgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3RyYWNlZmlsZS1saW1pdHMvdGVzdF90cmFjZWZpbGVfc2l6ZQorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy90cmFjZWZpbGUtbGltaXRzL3Rlc3RfdHJhY2VmaWxlX3NpemUKK0BAIC0zMyw3ICszMyw3IEBAIE5VTV9URVNUUz02NgorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorIGlmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCistCUJBSUxfT1VUICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKyBmaQorIAorIGZ1bmN0aW9uIGVuYWJsZV9sdHRuZ19jaGFubmVsX3NpemVfbGltaXQgKCkKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3dpbGRjYXJkL3Rlc3RfZXZlbnRfd2lsZGNhcmQgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3dpbGRjYXJkL3Rlc3RfZXZlbnRfd2lsZGNhcmQKK2luZGV4IDYxZWE2N2E3Mi4uOTIxYTIzMDFkIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy93aWxkY2FyZC90ZXN0X2V2ZW50X3dpbGRjYXJkCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3dpbGRjYXJkL3Rlc3RfZXZlbnRfd2lsZGNhcmQKK0BAIC05Nyw0MiArOTcsNDcgQEAgcHJpbnRfdGVzdF9iYW5uZXIgIiRURVNUX0RFU0MiCisgCisgc3RhcnRfbHR0bmdfc2Vzc2lvbmQKKyAKKy1kaWFnICJUZXN0IFVTVCB3aWxkY2FyZCIKKy0KKyBpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorLQlCQUlMX09VVCAiTm8gVVNUIG5ldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKysJc2tpcF91c3Q9MAorK2Vsc2UKKysJc2tpcF91c3Q9MQorIGZpCisgCistRVZFTlRfTkFNRT0idHA6dHB0ZXN0IgorK3NraXAgJHNraXBfdXN0ICJObyBVU1QgbmV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIiAkTlVNX1VTVF9URVNUUyB8fAorK3sKKysJZGlhZyAiVGVzdCBVU1Qgd2lsZGNhcmQiCisgCistIyBub24tbWF0Y2hpbmcKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAwICd0cDphYmMqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDAgJyphYmMnCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAnKnoqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDAgJypcKionCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAnKlwqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDAgJ1wqKicKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAwICcqOip0cHRlKnMnCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAndHAqKnRwVGVzdCcKKysJRVZFTlRfTkFNRT0idHA6dHB0ZXN0IgorIAorLSMgbWF0Y2hpbmcKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICd0cDp0cConCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKicKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICd0cDp0cHRlc3QqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyoqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyoqKicKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqdHB0ZXN0JworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyoqdHB0ZXN0JworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyp0cHRlKicKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqdHAqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyp0cCoqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyo6KnRwdGVzdCcKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqOip0cHRlKnQnCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAndCpwKjoqdCplKnMqdCcKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqdCpwKjoqdCplKnMqdConCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAndHAqdHB0ZXN0JworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJ3RwKip0cHRlc3QnCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAndHAqdGVzdCcKKysJIyBub24tbWF0Y2hpbmcKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAndHA6YWJjKicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAnKmFiYycKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAnKnoqJworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAwICcqXCoqJworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAwICcqXConCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDAgJ1wqKicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAnKjoqdHB0ZSpzJworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAwICd0cCoqdHBUZXN0JworKworKwkjIG1hdGNoaW5nCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJ3RwOnRwKicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAndHA6dHB0ZXN0KicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKionCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyoqKicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKnRwdGVzdCcKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKip0cHRlc3QnCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyp0cHRlKicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKnRwKicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKnRwKionCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyo6KnRwdGVzdCcKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKjoqdHB0ZSp0JworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICd0KnAqOip0KmUqcyp0JworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqdCpwKjoqdCplKnMqdConCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJ3RwKnRwdGVzdCcKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAndHAqKnRwdGVzdCcKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAndHAqdGVzdCcKKyt9CisgCisgaWYgWyAiJChpZCAtdSkiID09ICIwIiBdOyB0aGVuCisgCWlzcm9vdD0xCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwNS1UZXN0cy11c2UtbW9kcHJvYmUtdG8tdGVzdC1mb3ItdGhlLXByZXNlbmNlLW9mLWx0dG5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDUtVGVzdHMtdXNlLW1vZHByb2JlLXRvLXRlc3QtZm9yLXRoZS1wcmVzZW5jZS1vZi1sdHRuZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmRmM2U2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDUtVGVzdHMtdXNlLW1vZHByb2JlLXRvLXRlc3QtZm9yLXRoZS1wcmVzZW5jZS1vZi1sdHRuZy5wYXRjaApAQCAtMCwwICsxLDE3NiBAQAorRnJvbSA5YmM4MWE0NDZkMGEzZWE5YTg4NDczOWVlZTQ4ZDNmMTRkYjMyODNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9uYXRoYW4gUmFqb3R0ZSA8am9uYXRoYW4ucmFqb3R0ZS1qdWxpZW5AZWZmaWNpb3MuY29tPgorRGF0ZTogV2VkLCAyOCBNYXIgMjAxOCAxNToyMToyNiAtMDQwMAorU3ViamVjdDogW1BBVENIIGx0dG5nLXRvb2xzXSBUZXN0czogdXNlIG1vZHByb2JlIHRvIHRlc3QgZm9yIHRoZSBwcmVzZW5jZSBvZgorIGx0dG5nLW1vZHVsZXMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbMjg3MDI3MzAxOTJhZTFkZWQwNjEwNWM1NGM1ZGNdCisKK1NpZ25lZC1vZmYtYnk6IEpvbmF0aGFuIFJham90dGUgPGpvbmF0aGFuLnJham90dGUtanVsaWVuQGVmZmljaW9zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IErDqXLDqW1pZSBHYWxhcm5lYXUgPGplcmVtaWUuZ2FsYXJuZWF1QGVmZmljaW9zLmNvbT4KKy0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tbWV0YWRhdGEvdGVzdF9rZXJuZWwgICAgICB8ICA4ICsrLS0tLS0tCisgdGVzdHMvcmVncmVzc2lvbi90b29scy9yZWdlbi1zdGF0ZWR1bXAvdGVzdF9rZXJuZWwgICAgIHwgIDcgKy0tLS0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsICAgICAgICAgICB8ICA5ICsrKy0tLS0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsX3N0cmVhbWluZyB8ICA4ICsrLS0tLS0tCisgdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF9rZXJuZWwgICAgICAgICAgIHwgIDggKystLS0tLS0KKyB0ZXN0cy91dGlscy91dGlscy5zaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMCArKysrKysrKysrCisgNiBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tbWV0YWRhdGEvdGVzdF9rZXJuZWwgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLW1ldGFkYXRhL3Rlc3Rfa2VybmVsCitpbmRleCBmZDEzOWFlZWYuLjE4NDliOWNkMCAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tbWV0YWRhdGEvdGVzdF9rZXJuZWwKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tbWV0YWRhdGEvdGVzdF9rZXJuZWwKK0BAIC0yOCwxMiArMjgsNiBAQCBOVU1fVEVTVFM9MTgKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKy0jIExUVG5nIGtlcm5lbCBtb2R1bGVzIGNoZWNrCistb3V0PWBscyAvbGliL21vZHVsZXMvJCh1bmFtZSAtcikvZXh0cmEgfCBncmVwIGx0dG5nYAorLWlmIFsgLXogIiRvdXQiIF07IHRoZW4KKy0JQkFJTF9PVVQgIkxUVG5nIG1vZHVsZXMgbm90IGRldGVjdGVkLiIKKy1maQorLQorIGZ1bmN0aW9uIGx0dG5nX2NyZWF0ZV9zZXNzaW9uX3VyaQorIHsKKyAJIyBDcmVhdGUgc2Vzc2lvbiB3aXRoIGRlZmF1bHQgcGF0aAorQEAgLTkxLDYgKzg1LDggQEAgZmkKKyAKKyBza2lwICRpc3Jvb3QgIlJvb3QgYWNjZXNzIGlzIG5lZWRlZC4gU2tpcHBpbmcgYWxsIGtlcm5lbCBzdHJlYW1pbmcgdGVzdHMuIiAkTlVNX1RFU1RTIHx8CisgeworKwl2YWxpZGF0ZV9sdHRuZ19tb2R1bGVzX3ByZXNlbnQKKysKKyAJc3RhcnRfbHR0bmdfcmVsYXlkICItbyAkVFJBQ0VfUEFUSCIKKyAJc3RhcnRfbHR0bmdfc2Vzc2lvbmQKKyAJbW9kcHJvYmUgbHR0bmctdGVzdAorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tc3RhdGVkdW1wL3Rlc3Rfa2VybmVsIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9yZWdlbi1zdGF0ZWR1bXAvdGVzdF9rZXJuZWwKK2luZGV4IDg1YWZlNzZhMS4uNTAwNTRlYjA3IDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9yZWdlbi1zdGF0ZWR1bXAvdGVzdF9rZXJuZWwKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tc3RhdGVkdW1wL3Rlc3Rfa2VybmVsCitAQCAtMjksMTIgKzI5LDYgQEAgTlVNX1RFU1RTPTExCisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCistIyBMVFRuZyBrZXJuZWwgbW9kdWxlcyBjaGVjaworLW91dD1gbHMgL2xpYi9tb2R1bGVzLyQodW5hbWUgLXIpL2V4dHJhIHwgZ3JlcCBsdHRuZ2AKKy1pZiBbIC16ICIkb3V0IiBdOyB0aGVuCistCUJBSUxfT1VUICJMVFRuZyBtb2R1bGVzIG5vdCBkZXRlY3RlZC4iCistZmkKKy0KKyBmdW5jdGlvbiB0ZXN0X2tlcm5lbF9sb2NhbCAoKQorIHsKKyAJZGlhZyAiVGVzdCBrZXJuZWwgbG9jYWwgd2l0aCBzdGF0ZWR1bXAgcmVnZW5lcmF0aW9uIgorQEAgLTY0LDYgKzU4LDcgQEAgZmkKKyAKKyBza2lwICRpc3Jvb3QgIlJvb3QgYWNjZXNzIGlzIG5lZWRlZC4gU2tpcHBpbmcgYWxsIGtlcm5lbCBzdHJlYW1pbmcgdGVzdHMuIiAkTlVNX1RFU1RTIHx8CisgeworKwl2YWxpZGF0ZV9sdHRuZ19tb2R1bGVzX3ByZXNlbnQKKyAJc3RhcnRfbHR0bmdfc2Vzc2lvbmQKKyAJbW9kcHJvYmUgbHR0bmctdGVzdAorIAorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF9rZXJuZWwKK2luZGV4IDg4NmM0NTU3YS4uZmY1NjMxMDBiIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF9rZXJuZWwKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsCitAQCAtMjksMTIgKzI5LDYgQEAgTlVNX1RFU1RTPTIwNjAKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKy0jIExUVG5nIGtlcm5lbCBtb2R1bGVzIGNoZWNrCistb3V0PWBscyAvbGliL21vZHVsZXMvJCh1bmFtZSAtcikvZXh0cmEgfCBncmVwIGx0dG5nYAorLWlmIFsgLXogIiRvdXQiIF07IHRoZW4KKy0JQkFJTF9PVVQgIkxUVG5nIG1vZHVsZXMgbm90IGRldGVjdGVkLiIKKy1maQorLQorIGZ1bmN0aW9uIHRlc3Rfa2VybmVsX2xvY2FsX3NuYXBzaG90ICgpCisgeworIAlkaWFnICJUZXN0IGxvY2FsIGtlcm5lbCBzbmFwc2hvdHMiCitAQCAtMjQxLDYgKzIzNSw5IEBAIGZpCisgCisgc2tpcCAkaXNyb290ICJSb290IGFjY2VzcyBpcyBuZWVkZWQuIFNraXBwaW5nIGFsbCBrZXJuZWwgc25hcHNob3QgdGVzdHMuIiAkTlVNX1RFU1RTIHx8CisgeworKworKwl2YWxpZGF0ZV9sdHRuZ19tb2R1bGVzX3ByZXNlbnQKKysKKyAJc3RhcnRfbHR0bmdfc2Vzc2lvbmQKKyAKKyAJI3Rlc3RzPSggdGVzdF9rZXJuZWxfMTAwMF9sb2NhbF9zbmFwc2hvdHMgKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsX3N0cmVhbWluZyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsX3N0cmVhbWluZworaW5kZXggN2I5NmVmMjcwLi4xZDk3NTE5YWEgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X2tlcm5lbF9zdHJlYW1pbmcKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsX3N0cmVhbWluZworQEAgLTI5LDEyICsyOSw2IEBAIE5VTV9URVNUUz02MQorIAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorLSMgTFRUbmcga2VybmVsIG1vZHVsZXMgY2hlY2sKKy1vdXQ9YGxzIC9saWIvbW9kdWxlcy8kKHVuYW1lIC1yKS9leHRyYSB8IGdyZXAgbHR0bmdgCistaWYgWyAteiAiJG91dCIgXTsgdGhlbgorLQlCQUlMX09VVCAiTFRUbmcgbW9kdWxlcyBub3QgZGV0ZWN0ZWQuIgorLWZpCistCisgZnVuY3Rpb24gc25hcHNob3RfYWRkX291dHB1dCAoKQorIHsKKyAJbG9jYWwgc2Vzc19uYW1lPSQxCitAQCAtMTY5LDYgKzE2Myw4IEBAIGZpCisgCisgc2tpcCAkaXNyb290ICJSb290IGFjY2VzcyBpcyBuZWVkZWQuIFNraXBwaW5nIGFsbCBrZXJuZWwgc3RyZWFtaW5nIHRlc3RzLiIgJE5VTV9URVNUUyB8fAorIHsKKysJdmFsaWRhdGVfbHR0bmdfbW9kdWxlc19wcmVzZW50CisrCisgCXN0YXJ0X2x0dG5nX3JlbGF5ZCAiLW8gJFRSQUNFX1BBVEgiCisgCXN0YXJ0X2x0dG5nX3Nlc3Npb25kCisgCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF9rZXJuZWwgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3N0cmVhbWluZy90ZXN0X2tlcm5lbAoraW5kZXggZDU0YmNlZGY1Li42YmIyM2Q5ZjUgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3N0cmVhbWluZy90ZXN0X2tlcm5lbAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF9rZXJuZWwKK0BAIC0yOCwxMiArMjgsNiBAQCBOVU1fVEVTVFM9MTAKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKy0jIExUVG5nIGtlcm5lbCBtb2R1bGVzIGNoZWNrCistb3V0PWBscyAvbGliL21vZHVsZXMvJCh1bmFtZSAtcikvZXh0cmEgfCBncmVwIGx0dG5nYAorLWlmIFsgLXogIiRvdXQiIF07IHRoZW4KKy0JQkFJTF9PVVQgIkxUVG5nIG1vZHVsZXMgbm90IGRldGVjdGVkLiIKKy1maQorLQorIGZ1bmN0aW9uIGx0dG5nX2NyZWF0ZV9zZXNzaW9uX3VyaQorIHsKKyAJIyBDcmVhdGUgc2Vzc2lvbiB3aXRoIGRlZmF1bHQgcGF0aAorQEAgLTgwLDYgKzc0LDggQEAgZmkKKyAKKyBza2lwICRpc3Jvb3QgIlJvb3QgYWNjZXNzIGlzIG5lZWRlZC4gU2tpcHBpbmcgYWxsIGtlcm5lbCBzdHJlYW1pbmcgdGVzdHMuIiAkTlVNX1RFU1RTIHx8CisgeworKwl2YWxpZGF0ZV9sdHRuZ19tb2R1bGVzX3ByZXNlbnQKKysKKyAJc3RhcnRfbHR0bmdfcmVsYXlkICItbyAkVFJBQ0VfUEFUSCIKKyAJc3RhcnRfbHR0bmdfc2Vzc2lvbmQKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy91dGlscy91dGlscy5zaCBiL3Rlc3RzL3V0aWxzL3V0aWxzLnNoCitpbmRleCBhZjYzODI0Y2UuLjI2ZTU5ZTM4MyAxMDA2NDQKKy0tLSBhL3Rlc3RzL3V0aWxzL3V0aWxzLnNoCisrKysgYi90ZXN0cy91dGlscy91dGlscy5zaAorQEAgLTEyNSw2ICsxMjUsMTYgQEAgZnVuY3Rpb24gY29uZl9wcm9jX2NvdW50KCkKKyAJZWNobworIH0KKyAKKysjIENoZWNrIGlmIGJhc2UgbHR0bmctbW9kdWxlcyBhcmUgcHJlc2VudC4KKysjIEJhaWwgb3V0IG9uIGZhaWx1cmUKKytmdW5jdGlvbiB2YWxpZGF0ZV9sdHRuZ19tb2R1bGVzX3ByZXNlbnQgKCkKKyt7CisrCW1vZHByb2JlIC1uIGx0dG5nLXRyYWNlciAyPi9kZXYvbnVsbAorKwlpZiBbICQ/IC1uZSAwICBdOyB0aGVuCisrCQlCQUlMX09VVCAiTFRUbmcgbW9kdWxlcyBub3QgZGV0ZWN0ZWQuIgorKwlmaQorK30KKysKKyBmdW5jdGlvbiBlbmFibGVfa2VybmVsX2x0dG5nX2V2ZW50CisgeworIAlsb2NhbCB3aXRodGFwPSIkMSIKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDA2LVRlc3RzLWNoZWNrLWZvci1sdHRuZy1tb2R1bGVzLXByZXNlbmNlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDYtVGVzdHMtY2hlY2stZm9yLWx0dG5nLW1vZHVsZXMtcHJlc2VuY2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA3YzIyNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDA2LVRlc3RzLWNoZWNrLWZvci1sdHRuZy1tb2R1bGVzLXByZXNlbmNlLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gOTJmOTMyMzhmMWRmMDA1YWFkYzk4ZTEwNWMwZGQwZTA0YTU5NTVhNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvbmF0aGFuIFJham90dGUgPGpvbmF0aGFuLnJham90dGUtanVsaWVuQGVmZmljaW9zLmNvbT4KK0RhdGU6IE1vbiwgMjUgTWFyIDIwMTkgMTQ6MjQ6NTEgLTA0MDAKK1N1YmplY3Q6IFsyLzJdIHRlc3RzOiBjaGVjayBmb3IgbHR0bmctbW9kdWxlcyBwcmVzZW5jZQorCitVcHN0cmVhbS1zdGF0dXM6IEFjY2VwdGVkIFs1ZGEzZmM4NTc5YTlmOTNlYTQ3Njc3MjlhMTA3Nzg0YmYyZDAzNGFlXQorQmFja3BvcnRlZCB0byAyLjExIGFuZCAyLjEwCisKK1NpZ25lZC1vZmYtYnk6IEpvbmF0aGFuIFJham90dGUgPGpvbmF0aGFuLnJham90dGUtanVsaWVuQGVmZmljaW9zLmNvbT4KKy0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL3Rlc3Rfbm90aWZpY2F0aW9uX2tlcm5lbCB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fa2VybmVsIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fa2VybmVsCitpbmRleCA2ZDdmMjU2YWUuLmU3MzY4ZGYyNiAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL3Rlc3Rfbm90aWZpY2F0aW9uX2tlcm5lbAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fa2VybmVsCitAQCAtMTA4LDYgKzEwOCw3IEBAIGZ1bmN0aW9uIGtlcm5lbF90ZXN0CisgfQorIAorIGlmIFsgIiQoaWQgLXUpIiA9PSAiMCIgXTsgdGhlbgorKwl2YWxpZGF0ZV9sdHRuZ19tb2R1bGVzX3ByZXNlbnQKKyAJa2VybmVsX3Rlc3QKKyBlbHNlCisgCSMgS2VybmVsIHRlc3RzIGFyZSBza2lwcGVkLgorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDctRml4LWdldGdybmFtLWlzLW5vdC1NVC1TYWZlLXVzZS1nZXRncm5hbV9yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDctRml4LWdldGdybmFtLWlzLW5vdC1NVC1TYWZlLXVzZS1nZXRncm5hbV9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0MzdkZTIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwNy1GaXgtZ2V0Z3JuYW0taXMtbm90LU1ULVNhZmUtdXNlLWdldGdybmFtX3IucGF0Y2gKQEAgLTAsMCArMSwzNDUgQEAKK0Zyb20gMTBlODAwMWFkODc2ZDhjYjNiNWExN2M3NDkyZTcxM2JiYzA0Nzk3NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvbmF0aGFuIFJham90dGUgPGpvbmF0aGFuLnJham90dGUtanVsaWVuQGVmZmljaW9zLmNvbT4KK0RhdGU6IFRodSwgMjggTWFyIDIwMTkgMTg6MzE6MjkgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4OiBnZXRncm5hbSBpcyBub3QgTVQtU2FmZSwgdXNlIGdldGdybmFtX3IKKworUnVubmluZyB0aGUgdGVzdCBzdWl0ZSB1bmRlciBhIFlvY3RvIG11c2wgYnVpbGQgcmVzdWx0ZWQgaW4gbXVzbAorY29yZWR1bXAgZHVlIHRvIGRvdWJsZSBmcmVlaW5nLgorCitXZSBnZXQgdGhlIGZvbGxvd2luZyBiYWNrdHJhY2VzOgorCiswICBhX2NyYXNoICgpIGF0IC4vYXJjaC94ODZfNjQvYXRvbWljX2FyY2guaDoxMDgKKzEgIHVubWFwX2NodW5rIChzZWxmPTxvcHRpbWl6ZWQgb3V0PikgYXQgc3JjL21hbGxvYy9tYWxsb2MuYzo1MTUKKzIgIGZyZWUgKHA9PG9wdGltaXplZCBvdXQ+KSBhdCBzcmMvbWFsbG9jL21hbGxvYy5jOjUyNgorMyAgMHgwMDAwN2Y0NmQ5ZGMzODQ5IGluIF9fZ2V0Z3JlbnRfYSAoZj1mQGVudHJ5PTB4N2Y0NmQ5ZDFmN2UwLCBncj1nckBlbnRyeT0weDdmNDZkOWUyNDQ2MCA8Z3I+LCBsaW5lPWxpbmVAZW50cnk9MHg3ZjQ2ZDllMjYwNTggPGxpbmU+LCBzaXplPXNpemVAZW50cnk9MHg3ZjQ2ZDkyZGI1NTAsIG1lbT1tZW1AZW50cnk9MHg3ZjQ2ZDllMjYwNTAgPG1lbT4sIG5tZW09bm1lbUBlbnRyeT0weDdmNDZkOTJkYjU1OCwgcmVzPTB4N2Y0NmQ5MmRiNTQ4KSBhdCBzcmMvcGFzc3dkL2dldGdyZW50X2EuYzo0NQorNCAgMHgwMDAwN2Y0NmQ5ZGMyZTZiIGluIF9fZ2V0Z3JfYSAobmFtZT0weDQ4NzI0MiAidHJhY2luZyIsIGdpZD1naWRAZW50cnk9MCwgZ3I9Z3JAZW50cnk9MHg3ZjQ2ZDllMjQ0NjAgPGdyPiwgYnVmPWJ1ZkBlbnRyeT0weDdmNDZkOWUyNjA1OCA8bGluZT4sIHNpemU9c2l6ZUBlbnRyeT0weDdmNDZkOTJkYjU1MCwgbWVtPW1lbUBlbnRyeT0weDdmNDZkOWUyNjA1MCA8bWVtPiwgbm1lbT0weDdmNDZkOTJkYjU1OCwgcmVzPTB4N2Y0NmQ5MmRiNTQ4KSBhdCBzcmMvcGFzc3dkL2dldGdyX2EuYzozMAorNSAgMHgwMDAwN2Y0NmQ5ZGMzNzMzIGluIGdldGdybmFtIChuYW1lPTxvcHRpbWl6ZWQgb3V0PikgYXQgc3JjL3Bhc3N3ZC9nZXRncmVudC5jOjM3Cis2ICAweDAwMDAwMDAwMDA0NjBiMjkgaW4gdXRpbHNfZ2V0X2dyb3VwX2lkIChuYW1lPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vLi4vbHR0bmctdG9vbHMtMi4xMC42L3NyYy9jb21tb24vdXRpbHMuYzoxMjQxCis3ICAweDAwMDAwMDAwMDA0NGVlNjkgaW4gdGhyZWFkX21hbmFnZV9oZWFsdGggKGRhdGE9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8uLi8uLi8uLi9sdHRuZy10b29scy0yLjEwLjYvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9tYWluLmM6NDExNQorOCAgMHgwMDAwN2Y0NmQ5ZGUxNTQxIGluIHN0YXJ0IChwPTxvcHRpbWl6ZWQgb3V0PikgYXQgc3JjL3RocmVhZC9wdGhyZWFkX2NyZWF0ZS5jOjE5NQorOSAgMHgwMDAwN2Y0NmQ5ZGVlNjYxIGluIF9fY2xvbmUgKCkgYXQgc3JjL3RocmVhZC94ODZfNjQvY2xvbmUuczoyMgorCitGcm9tIGFub3RoZXIgcnVuOgorCiswICBhX2NyYXNoICgpIGF0IC4vYXJjaC94ODZfNjQvYXRvbWljX2FyY2guaDoxMDgKKzEgIHVubWFwX2NodW5rIChzZWxmPTxvcHRpbWl6ZWQgb3V0PikgYXQgc3JjL21hbGxvYy9tYWxsb2MuYzo1MTUKKzIgIGZyZWUgKHA9PG9wdGltaXplZCBvdXQ+KSBhdCBzcmMvbWFsbG9jL21hbGxvYy5jOjUyNgorMyAgMHgwMDAwN2Y1YWJjMjEwODQ5IGluIF9fZ2V0Z3JlbnRfYSAoZj1mQGVudHJ5PTB4N2Y1YWJjMjczM2UwLCBncj1nckBlbnRyeT0weDdmNWFiYzI3MTQ2MCA8Z3I+LCBsaW5lPWxpbmVAZW50cnk9MHg3ZjVhYmMyNzMwNTggPGxpbmU+LCBzaXplPXNpemVAZW50cnk9MHg3ZjVhYmFlZjU1MTAsIG1lbT1tZW1AZW50cnk9MHg3ZjVhYmMyNzMwNTAgPG1lbT4sIG5tZW09bm1lbUBlbnRyeT0weDdmNWFiYWVmNTUxOCwgcmVzPTB4N2Y1YWJhZWY1NTA4KSBhdCBzcmMvcGFzc3dkL2dldGdyZW50X2EuYzo0NQorNCAgMHgwMDAwN2Y1YWJjMjBmZTZiIGluIF9fZ2V0Z3JfYSAobmFtZT0weDQ4NzI0MiAidHJhY2luZyIsIGdpZD1naWRAZW50cnk9MCwgZ3I9Z3JAZW50cnk9MHg3ZjVhYmMyNzE0NjAgPGdyPiwgYnVmPWJ1ZkBlbnRyeT0weDdmNWFiYzI3MzA1OCA8bGluZT4sIHNpemU9c2l6ZUBlbnRyeT0weDdmNWFiYWVmNTUxMCwgbWVtPW1lbUBlbnRyeT0weDdmNWFiYzI3MzA1MCA8bWVtPiwgbm1lbT0weDdmNWFiYWVmNTUxOCwgcmVzPTB4N2Y1YWJhZWY1NTA4KSBhdCBzcmMvcGFzc3dkL2dldGdyX2EuYzozMAorNSAgMHgwMDAwN2Y1YWJjMjEwNzMzIGluIGdldGdybmFtIChuYW1lPTxvcHRpbWl6ZWQgb3V0PikgYXQgc3JjL3Bhc3N3ZC9nZXRncmVudC5jOjM3Cis2ICAweDAwMDAwMDAwMDA0NjBiMjkgaW4gdXRpbHNfZ2V0X2dyb3VwX2lkIChuYW1lPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vLi4vbHR0bmctdG9vbHMtMi4xMC42L3NyYy9jb21tb24vdXRpbHMuYzoxMjQxCis3ICAweDAwMDAwMDAwMDA0MmRlZTQgaW4gbm90aWZpY2F0aW9uX2NoYW5uZWxfc29ja2V0X2NyZWF0ZSAoKSBhdCAuLi8uLi8uLi8uLi9sdHRuZy10b29scy0yLjEwLjYvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9ub3RpZmljYXRpb24tdGhyZWFkLmM6MjM4Cis4ICBpbml0X3RocmVhZF9zdGF0ZSAoc3RhdGU9MHg3ZjVhYmFlZjU1NjAsIGhhbmRsZT0weDdmNWFiYmY5YmU0MCkgYXQgLi4vLi4vLi4vLi4vbHR0bmctdG9vbHMtMi4xMC42L3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbm90aWZpY2F0aW9uLXRocmVhZC5jOjM3NQorOSAgdGhyZWFkX25vdGlmaWNhdGlvbiAoZGF0YT0weDdmNWFiYmY5YmU0MCkgYXQgLi4vLi4vLi4vLi4vbHR0bmctdG9vbHMtMi4xMC42L3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbm90aWZpY2F0aW9uLXRocmVhZC5jOjQ5NQorMTAgMHgwMDAwN2Y1YWJjMjJlNTQxIGluIHN0YXJ0IChwPTxvcHRpbWl6ZWQgb3V0PikgYXQgc3JjL3RocmVhZC9wdGhyZWFkX2NyZWF0ZS5jOjE5NQorMTEgMHgwMDAwN2Y1YWJjMjNiNjYxIGluIF9fY2xvbmUgKCkgYXQgc3JjL3RocmVhZC94ODZfNjQvY2xvbmUuczoyMgorCitUaGUgcHJvYmxlbSB3YXMgZWFzaWx5IHJlcHJvZHVjaWJsZSAofjYgY3Jhc2ggb24gfjMwMCBydW5zKS4gQSBwcm90b3R5cGUgZml4Cit1c2luZyBtdXRleCBhcm91bmQgdGhlIGdldGdybmFtIHlpZWxkZWQgbm8gY3Jhc2ggaW4gb3ZlciAxMDAwIHJ1bnMuIFRoaXMKK3BhdGNoIHlpZWxkZWQgdGhlIHNhbWUgcmVzdWx0cyBhcyB0aGUgcHJvdG90eXBlIGZpeC4KKworVW5mb3J0dW5hdGVseSB3ZSBjYW5ub3QgcmVseSBvbiBhIG11dGV4IGluIGxpYmx0dG5nLWN0bCBzaW5jZSB3ZSBjYW5ub3QKK2VuZm9yY2UgdGhlIGxvY2tpbmcgZm9yIHRoZSBhcHBsaWNhdGlvbiB1c2luZyB0aGUgbGliLgorCitVc2UgZ2V0Z3JuYW1fciBpbnN0ZWFkLgorCitUaGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24gb2YgdXRpbHNfZ2V0X2dyb3VwX2lkIHJldHVybmVkIHRoZSBnaWQgb2YKK3RoZSByb290IGdyb3VwICgwKSBvbiBlcnJvci9ub3QgZm91bmQuIGx0dG5nX2NoZWNrX3RyYWNpbmdfZ3JvdXAgbmVlZHMKK3RvIGtub3cgaWYgYW4gZXJyb3Ivbm90IGZvdW5kIG9jY3VyZWQsIHJldHVybmluZyB0aGUgcm9vdCBncm91cCBpcyBub3QKK2Vub3VnaC4gV2Ugbm93IHJldHVybiB0aGUgZ2lkIHZpYSB0aGUgcGFzc2VkIHBhcmFtZXRlci4gVGhlIGNhbGxlciBpcworcmVzcG9uc2libGUgZm9yIGVpdGhlciBkZWZhdWx0aW5nIHRvIHRoZSByb290IGdyb3VwIG9yIHByb3BhZ2F0aW5nIHRoZQorZXJyb3IuCisKK1dlIGFsc28gZG8gbm90IHdhbnQgdG8gd2FybiB3aGVuIHVzZWQgaW4gbGlibHR0bmctY3RsIGNvbnRleHQuIFdlIG1pZ2h0Cit3YW50IHRvIG1vdmUgdGhlIHdhcm5pbmcgZWxzZXdoZXJlIGluIHRoZSBmdXR1cmUuIEZvciBub3csIHBhc3MgYSBib29sCitpZiB3ZSBuZWVkIHRvIHdhcm4gb3Igbm90LgorCitTaWduZWQtb2ZmLWJ5OiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CistLS0KKyBzcmMvYmluL2x0dG5nLWNvbnN1bWVyZC9oZWFsdGgtY29uc3VtZXJkLmMgICB8IDEwICsrLQorIHNyYy9iaW4vbHR0bmctcmVsYXlkL2hlYWx0aC1yZWxheWQuYyAgICAgICAgIHwgMjAgKysrKy0tCisgc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9tYWluLmMgICAgICAgICAgICAgICAgfCAyNCArKysrKy0tCisgc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9ub3RpZmljYXRpb24tdGhyZWFkLmMgfCAxMCArKy0KKyBzcmMvY29tbW9uL3V0aWxzLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDc1ICsrKysrKysrKysrKysrKysrLS0tCisgc3JjL2NvbW1vbi91dGlscy5oICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQorIHNyYy9saWIvbHR0bmctY3RsL2x0dG5nLWN0bC5jICAgICAgICAgICAgICAgIHwgIDggKy0tCisgNyBmaWxlcyBjaGFuZ2VkLCAxMjIgaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvYmluL2x0dG5nLWNvbnN1bWVyZC9oZWFsdGgtY29uc3VtZXJkLmMgYi9zcmMvYmluL2x0dG5nLWNvbnN1bWVyZC9oZWFsdGgtY29uc3VtZXJkLmMKK2luZGV4IDFlMmYzMWU0Li42MDQ1NDAxYSAxMDA2NDQKKy0tLSBhL3NyYy9iaW4vbHR0bmctY29uc3VtZXJkL2hlYWx0aC1jb25zdW1lcmQuYworKysrIGIvc3JjL2Jpbi9sdHRuZy1jb25zdW1lcmQvaGVhbHRoLWNvbnN1bWVyZC5jCitAQCAtMTg0LDggKzE4NCwxNCBAQCB2b2lkICp0aHJlYWRfbWFuYWdlX2hlYWx0aCh2b2lkICpkYXRhKQorIAlpc19yb290ID0gIWdldHVpZCgpOworIAlpZiAoaXNfcm9vdCkgeworIAkJLyogbHR0bmcgaGVhbHRoIGNsaWVudCBzb2NrZXQgcGF0aCBwZXJtaXNzaW9ucyAqLworLQkJcmV0ID0gY2hvd24oaGVhbHRoX3VuaXhfc29ja19wYXRoLCAwLAorLQkJCQl1dGlsc19nZXRfZ3JvdXBfaWQodHJhY2luZ19ncm91cF9uYW1lKSk7CisrCQlnaWRfdCBnaWQ7CisrCisrCQlyZXQgPSB1dGlsc19nZXRfZ3JvdXBfaWQodHJhY2luZ19ncm91cF9uYW1lLCB0cnVlLCAmZ2lkKTsKKysJCWlmIChyZXQpIHsKKysJCQlnaWQgPSAwOyAvKiBEZWZhdWx0IHRvIHJvb3QgZ3JvdXAuICovCisrCQl9CisrCisrCQlyZXQgPSBjaG93bihoZWFsdGhfdW5peF9zb2NrX3BhdGgsIDAsIGdpZCk7CisgCQlpZiAocmV0IDwgMCkgeworIAkJCUVSUigiVW5hYmxlIHRvIHNldCBncm91cCBvbiAlcyIsIGhlYWx0aF91bml4X3NvY2tfcGF0aCk7CisgCQkJUEVSUk9SKCJjaG93biIpOworZGlmZiAtLWdpdCBhL3NyYy9iaW4vbHR0bmctcmVsYXlkL2hlYWx0aC1yZWxheWQuYyBiL3NyYy9iaW4vbHR0bmctcmVsYXlkL2hlYWx0aC1yZWxheWQuYworaW5kZXggYmE5OTY2MjEuLjk2MmU4OGM0IDEwMDY0NAorLS0tIGEvc3JjL2Jpbi9sdHRuZy1yZWxheWQvaGVhbHRoLXJlbGF5ZC5jCisrKysgYi9zcmMvYmluL2x0dG5nLXJlbGF5ZC9oZWFsdGgtcmVsYXlkLmMKK0BAIC0xMDUsOCArMTA1LDE0IEBAIHN0YXRpYyBpbnQgY3JlYXRlX2x0dG5nX3J1bmRpcl93aXRoX3Blcm0oY29uc3QgY2hhciAqcnVuZGlyKQorIAkJaW50IGlzX3Jvb3QgPSAhZ2V0dWlkKCk7CisgCisgCQlpZiAoaXNfcm9vdCkgeworLQkJCXJldCA9IGNob3duKHJ1bmRpciwgMCwKKy0JCQkJCXV0aWxzX2dldF9ncm91cF9pZCh0cmFjaW5nX2dyb3VwX25hbWUpKTsKKysJCQlnaWRfdCBnaWQ7CisrCisrCQkJcmV0ID0gdXRpbHNfZ2V0X2dyb3VwX2lkKHRyYWNpbmdfZ3JvdXBfbmFtZSwgdHJ1ZSwgJmdpZCk7CisrCQkJaWYgKHJldCkgeworKwkJCQlnaWQgPSAwOyAvKiBEZWZhdWx0IHRvIHJvb3QgZ3JvdXAuKi8KKysJCQl9CisrCisrCQkJcmV0ID0gY2hvd24ocnVuZGlyLCAwLCBnaWQpOworIAkJCWlmIChyZXQgPCAwKSB7CisgCQkJCUVSUigiVW5hYmxlIHRvIHNldCBncm91cCBvbiAlcyIsIHJ1bmRpcik7CisgCQkJCVBFUlJPUigiY2hvd24iKTsKK0BAIC0yNTYsOCArMjYyLDE0IEBAIHZvaWQgKnRocmVhZF9tYW5hZ2VfaGVhbHRoKHZvaWQgKmRhdGEpCisgCWlzX3Jvb3QgPSAhZ2V0dWlkKCk7CisgCWlmIChpc19yb290KSB7CisgCQkvKiBsdHRuZyBoZWFsdGggY2xpZW50IHNvY2tldCBwYXRoIHBlcm1pc3Npb25zICovCistCQlyZXQgPSBjaG93bihoZWFsdGhfdW5peF9zb2NrX3BhdGgsIDAsCistCQkJCXV0aWxzX2dldF9ncm91cF9pZCh0cmFjaW5nX2dyb3VwX25hbWUpKTsKKysJCWdpZF90IGdpZDsKKysKKysJCXJldCA9IHV0aWxzX2dldF9ncm91cF9pZCh0cmFjaW5nX2dyb3VwX25hbWUsIHRydWUsICZnaWQpOworKwkJaWYgKHJldCkgeworKwkJCWdpZCA9IDA7IC8qIERlZmF1bHQgdG8gcm9vdCBncm91cCAqLworKwkJfQorKworKwkJcmV0ID0gY2hvd24oaGVhbHRoX3VuaXhfc29ja19wYXRoLCAwLCBnaWQpOworIAkJaWYgKHJldCA8IDApIHsKKyAJCQlFUlIoIlVuYWJsZSB0byBzZXQgZ3JvdXAgb24gJXMiLCBoZWFsdGhfdW5peF9zb2NrX3BhdGgpOworIAkJCVBFUlJPUigiY2hvd24iKTsKK2RpZmYgLS1naXQgYS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL21haW4uYyBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbWFpbi5jCitpbmRleCBmYTZmYTQ4My4uNDkzMDcwNjQgMTAwNjQ0CistLS0gYS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL21haW4uYworKysrIGIvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9tYWluLmMKK0BAIC00MTEyLDggKzQxMTIsMTQgQEAgc3RhdGljIHZvaWQgKnRocmVhZF9tYW5hZ2VfaGVhbHRoKHZvaWQgKmRhdGEpCisgCisgCWlmIChpc19yb290KSB7CisgCQkvKiBsdHRuZyBoZWFsdGggY2xpZW50IHNvY2tldCBwYXRoIHBlcm1pc3Npb25zICovCistCQlyZXQgPSBjaG93bihjb25maWcuaGVhbHRoX3VuaXhfc29ja19wYXRoLnZhbHVlLCAwLAorLQkJCQl1dGlsc19nZXRfZ3JvdXBfaWQoY29uZmlnLnRyYWNpbmdfZ3JvdXBfbmFtZS52YWx1ZSkpOworKwkJZ2lkX3QgZ2lkOworKworKwkJcmV0ID0gdXRpbHNfZ2V0X2dyb3VwX2lkKGNvbmZpZy50cmFjaW5nX2dyb3VwX25hbWUudmFsdWUsIHRydWUsICZnaWQpOworKwkJaWYgKHJldCkgeworKwkJCWdpZCA9IDA7IC8qIERlZmF1bHQgdG8gcm9vdCBncm91cCAqLworKwkJfQorKworKwkJcmV0ID0gY2hvd24oY29uZmlnLmhlYWx0aF91bml4X3NvY2tfcGF0aC52YWx1ZSwgMCwgJmdpZCk7CisgCQlpZiAocmV0IDwgMCkgeworIAkJCUVSUigiVW5hYmxlIHRvIHNldCBncm91cCBvbiAlcyIsIGNvbmZpZy5oZWFsdGhfdW5peF9zb2NrX3BhdGgudmFsdWUpOworIAkJCVBFUlJPUigiY2hvd24iKTsKK0BAIC01MjM4LDcgKzUyNDQsMTAgQEAgc3RhdGljIGludCBzZXRfcGVybWlzc2lvbnMoY2hhciAqcnVuZGlyKQorIAlpbnQgcmV0OworIAlnaWRfdCBnaWQ7CisgCistCWdpZCA9IHV0aWxzX2dldF9ncm91cF9pZChjb25maWcudHJhY2luZ19ncm91cF9uYW1lLnZhbHVlKTsKKysJcmV0ID0gdXRpbHNfZ2V0X2dyb3VwX2lkKGNvbmZpZy50cmFjaW5nX2dyb3VwX25hbWUudmFsdWUsIHRydWUsICZnaWQpOworKwlpZiAocmV0KSB7CisrCQlnaWQgPSAwOyAvKiBEZWZhdWx0IHRvIHJvb3QgZ3JvdXAgKi8KKysJfQorIAorIAkvKiBTZXQgbHR0bmcgcnVuIGRpciAqLworIAlyZXQgPSBjaG93bihydW5kaXIsIDAsIGdpZCk7CitAQCAtNTM0OSw3ICs1MzU4LDE0IEBAIHN0YXRpYyBpbnQgc2V0X2NvbnN1bWVyX3NvY2tldHMoc3RydWN0IGNvbnN1bWVyX2RhdGEgKmNvbnN1bWVyX2RhdGEpCisgCQlnb3RvIGVycm9yOworIAl9CisgCWlmIChpc19yb290KSB7CistCQlyZXQgPSBjaG93bihwYXRoLCAwLCB1dGlsc19nZXRfZ3JvdXBfaWQoY29uZmlnLnRyYWNpbmdfZ3JvdXBfbmFtZS52YWx1ZSkpOworKwkJZ2lkX3QgZ2lkOworKworKwkJcmV0ID0gdXRpbHNfZ2V0X2dyb3VwX2lkKGNvbmZpZy50cmFjaW5nX2dyb3VwX25hbWUudmFsdWUsIHRydWUsICZnaWQpOworKwkJaWYgKHJldCkgeworKwkJCWdpZCA9IDA7IC8qIERlZmF1bHQgdG8gcm9vdCBncm91cCAqLworKwkJfQorKworKwkJcmV0ID0gY2hvd24ocGF0aCwgMCwgZ2lkKTsKKyAJCWlmIChyZXQgPCAwKSB7CisgCQkJRVJSKCJVbmFibGUgdG8gc2V0IGdyb3VwIG9uICVzIiwgcGF0aCk7CisgCQkJUEVSUk9SKCJjaG93biIpOworZGlmZiAtLWdpdCBhL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbm90aWZpY2F0aW9uLXRocmVhZC5jIGIvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9ub3RpZmljYXRpb24tdGhyZWFkLmMKK2luZGV4IDkyYWM1OTdmLi4xOGEyNjRkOSAxMDA2NDQKKy0tLSBhL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbm90aWZpY2F0aW9uLXRocmVhZC5jCisrKysgYi9zcmMvYmluL2x0dG5nLXNlc3Npb25kL25vdGlmaWNhdGlvbi10aHJlYWQuYworQEAgLTIzNSw4ICsyMzUsMTQgQEAgaW50IG5vdGlmaWNhdGlvbl9jaGFubmVsX3NvY2tldF9jcmVhdGUodm9pZCkKKyAJfQorIAorIAlpZiAoZ2V0dWlkKCkgPT0gMCkgeworLQkJcmV0ID0gY2hvd24oc29ja19wYXRoLCAwLAorLQkJCQl1dGlsc19nZXRfZ3JvdXBfaWQoY29uZmlnLnRyYWNpbmdfZ3JvdXBfbmFtZS52YWx1ZSkpOworKwkJZ2lkX3QgZ2lkOworKworKwkJcmV0ID0gIHV0aWxzX2dldF9ncm91cF9pZChjb25maWcudHJhY2luZ19ncm91cF9uYW1lLnZhbHVlLCB0cnVlLCAmZ2lkKTsKKysJCWlmIChyZXQpIHsKKysJCQlnaWQgPSAwOyAvKiBEZWZhdWx0IHRvIHJvb3QgZ3JvdXAuICovCisrCQl9CisrCisrCQlyZXQgPSBjaG93bihzb2NrX3BhdGgsIDAsIGdpZCk7CisgCQlpZiAocmV0KSB7CisgCQkJRVJSKCJGYWlsZWQgdG8gc2V0IHRoZSBub3RpZmljYXRpb24gY2hhbm5lbCBzb2NrZXQncyBncm91cCIpOworIAkJCXJldCA9IC0xOworZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vdXRpbHMuYyBiL3NyYy9jb21tb24vdXRpbHMuYworaW5kZXggYzBiYjAzMWUuLjc3OGJjMDBmIDEwMDY0NAorLS0tIGEvc3JjL2NvbW1vbi91dGlscy5jCisrKysgYi9zcmMvY29tbW9uL3V0aWxzLmMKK0BAIC0xMjMxLDI0ICsxMjMxLDc3IEBAIHNpemVfdCB1dGlsc19nZXRfY3VycmVudF90aW1lX3N0cihjb25zdCBjaGFyICpmb3JtYXQsIGNoYXIgKmRzdCwgc2l6ZV90IGxlbikKKyB9CisgCisgLyoKKy0gKiBSZXR1cm4gdGhlIGdyb3VwIElEIG1hdGNoaW5nIG5hbWUsIGVsc2UgMCBpZiBpdCBjYW5ub3QgYmUgZm91bmQuCisrICogUmV0dXJuIDAgb24gc3VjY2VzcyBhbmQgc2V0ICpnaWQgdG8gdGhlIGdyb3VwX0lEIG1hdGNoaW5nIHRoZSBwYXNzZWQgbmFtZS4KKysgKiBFbHNlIC0xIGlmIGl0IGNhbm5vdCBiZSBmb3VuZCBvciBhbiBlcnJvciBvY2N1cnJlZC4KKyAgKi8KKyBMVFROR19ISURERU4KKy1naWRfdCB1dGlsc19nZXRfZ3JvdXBfaWQoY29uc3QgY2hhciAqbmFtZSkKKytpbnQgdXRpbHNfZ2V0X2dyb3VwX2lkKGNvbnN0IGNoYXIgKm5hbWUsIGJvb2wgd2FybiwgZ2lkX3QgKmdpZCkKKyB7CistCXN0cnVjdCBncm91cCAqZ3JwOworKwlzdGF0aWMgdm9sYXRpbGUgaW50IHdhcm5fb25jZTsKKyAKKy0JZ3JwID0gZ2V0Z3JuYW0obmFtZSk7CistCWlmICghZ3JwKSB7CistCQlzdGF0aWMgdm9sYXRpbGUgaW50IHdhcm5fb25jZTsKKysJaW50IHJldDsKKysJbG9uZyBzeXNfbGVuOworKwlzaXplX3QgbGVuOworKwlzdHJ1Y3QgZ3JvdXAgZ3JwOworKwlzdHJ1Y3QgZ3JvdXAgKnJlc3VsdDsKKysJY2hhciAqYnVmZmVyID0gTlVMTDsKKyAKKy0JCWlmICghd2Fybl9vbmNlKSB7CistCQkJV0FSTigiTm8gdHJhY2luZyBncm91cCBkZXRlY3RlZCIpOworLQkJCXdhcm5fb25jZSA9IDE7CisrCS8qIEdldCB0aGUgc3lzdGVtIGxpbWl0IGlmIGl0IGV4aXN0cyAqLworKwlzeXNfbGVuID0gc3lzY29uZihfU0NfR0VUR1JfUl9TSVpFX01BWCk7CisrCWlmIChzeXNfbGVuID09IC0xKSB7CisrCQlsZW4gPSAxMDI0OworKwl9IGVsc2UgeworKwkJbGVuID0gKHNpemVfdCkgc3lzX2xlbjsKKysJfQorKworKwlidWZmZXIgPSBtYWxsb2MobGVuKTsKKysJaWYgKCFidWZmZXIpIHsKKysJCVBFUlJPUigiZ2V0Z3JuYW1fciBtYWxsb2MiKTsKKysJCXJldCA9IC0xOworKwkJZ290byBlcnJvcjsKKysJfQorKworKwl3aGlsZSAoKHJldCA9IGdldGdybmFtX3IobmFtZSwgJmdycCwgYnVmZmVyLCBsZW4sICZyZXN1bHQpKSA9PSBFUkFOR0UpCisrCXsKKysJCS8qIEJ1ZmZlciBpcyBub3QgYmlnIGVub3VnaCwgaW5jcmVhc2UgaXRzIHNpemUuICovCisrCQlzaXplX3QgbmV3X2xlbiA9IDIgKiBsZW47CisrCQljaGFyICpuZXdfYnVmZmVyID0gTlVMTDsKKysJCWlmIChuZXdfbGVuIDwgbGVuKSB7CisrCQkJRVJSKCJnZXRncm5hbV9yIGJ1ZmZlciBzaXplIG92ZXJmbG93Iik7CisrCQkJcmV0ID0gLTE7CisrCQkJZ290byBlcnJvcjsKKysJCX0KKysJCWxlbiA9IG5ld19sZW47CisrCQluZXdfYnVmZmVyID0gcmVhbGxvYyhidWZmZXIsIGxlbik7CisrCQlpZiAoIW5ld19idWZmZXIpIHsKKysJCQlQRVJST1IoImdldGdybmFtX3IgcmVhbGxvYyIpOworKwkJCXJldCA9IC0xOworKwkJCWdvdG8gZXJyb3I7CisgCQl9CistCQlyZXR1cm4gMDsKKysJCWJ1ZmZlciA9IG5ld19idWZmZXI7CisrCX0KKysJaWYgKHJldCAhPSAwKSB7CisrCQlQRVJST1IoImdldGdybmFtX3IiKTsKKysJCXJldCA9IC0xOworKwkJZ290byBlcnJvcjsKKysJfQorKworKwkvKiBHcm91cCBub3QgZm91bmQuICovCisrCWlmICghcmVzdWx0KSB7CisrCQlyZXQgPSAtMTsKKysJCWdvdG8gZXJyb3I7CisrCX0KKysKKysJKmdpZCA9IHJlc3VsdC0+Z3JfZ2lkOworKwlyZXQgPSAwOworKworK2Vycm9yOgorKwlmcmVlKGJ1ZmZlcik7CisrCWlmIChyZXQgJiYgd2FybiAmJiAhd2Fybl9vbmNlKSB7CisrCQlXQVJOKCJObyB0cmFjaW5nIGdyb3VwIGRldGVjdGVkIik7CisrCQl3YXJuX29uY2UgPSAxOworIAl9CistCXJldHVybiBncnAtPmdyX2dpZDsKKysJcmV0dXJuIHJldDsKKyB9CisgCisgLyoKK2RpZmYgLS1naXQgYS9zcmMvY29tbW9uL3V0aWxzLmggYi9zcmMvY29tbW9uL3V0aWxzLmgKK2luZGV4IDE4ZjE5ZWYxLi45YzcyNDMxZCAxMDA2NDQKKy0tLSBhL3NyYy9jb21tb24vdXRpbHMuaAorKysrIGIvc3JjL2NvbW1vbi91dGlscy5oCitAQCAtMjIsNiArMjIsOCBAQAorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgI2luY2x1ZGUgPGdldG9wdC5oPgorKyNpbmNsdWRlIDxzdGRib29sLmg+CisrI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIAorICNkZWZpbmUgS0lCSV9MT0cyIDEwCisgI2RlZmluZSBNRUJJX0xPRzIgMjAKK0BAIC01Miw3ICs1NCw3IEBAIGludCB1dGlsc19nZXRfY291bnRfb3JkZXJfdTY0KHVpbnQ2NF90IHgpOworIGNoYXIgKnV0aWxzX2dldF9ob21lX2Rpcih2b2lkKTsKKyBjaGFyICp1dGlsc19nZXRfdXNlcl9ob21lX2Rpcih1aWRfdCB1aWQpOworIHNpemVfdCB1dGlsc19nZXRfY3VycmVudF90aW1lX3N0cihjb25zdCBjaGFyICpmb3JtYXQsIGNoYXIgKmRzdCwgc2l6ZV90IGxlbik7CistZ2lkX3QgdXRpbHNfZ2V0X2dyb3VwX2lkKGNvbnN0IGNoYXIgKm5hbWUpOworK2ludCB1dGlsc19nZXRfZ3JvdXBfaWQoY29uc3QgY2hhciAqbmFtZSwgYm9vbCB3YXJuLCBnaWRfdCAqZ2lkKTsKKyBjaGFyICp1dGlsc19nZW5lcmF0ZV9vcHRzdHJpbmcoY29uc3Qgc3RydWN0IG9wdGlvbiAqbG9uZ19vcHRpb25zLAorIAkJc2l6ZV90IG9wdF9jb3VudCk7CisgaW50IHV0aWxzX2NyZWF0ZV9sb2NrX2ZpbGUoY29uc3QgY2hhciAqZmlsZXBhdGgpOworZGlmZiAtLWdpdCBhL3NyYy9saWIvbHR0bmctY3RsL2x0dG5nLWN0bC5jIGIvc3JjL2xpYi9sdHRuZy1jdGwvbHR0bmctY3RsLmMKK2luZGV4IDJkODRhYWQ5Li41NjFiMGJjZiAxMDA2NDQKKy0tLSBhL3NyYy9saWIvbHR0bmctY3RsL2x0dG5nLWN0bC5jCisrKysgYi9zcmMvbGliL2x0dG5nLWN0bC9sdHRuZy1jdGwuYworQEAgLTIwOCwxNSArMjA4LDEzIEBAIGVuZDoKKyBMVFROR19ISURERU4KKyBpbnQgbHR0bmdfY2hlY2tfdHJhY2luZ19ncm91cCh2b2lkKQorIHsKKy0Jc3RydWN0IGdyb3VwICpncnBfdHJhY2luZzsJLyogbm8gZnJlZSgpLiBTZWUgZ2V0Z3JuYW0oMykgKi8KKy0JZ2lkX3QgKmdycF9saXN0OworKwlnaWRfdCAqZ3JwX2xpc3QsIHRyYWNpbmdfZ2lkOworIAlpbnQgZ3JwX2xpc3Rfc2l6ZSwgZ3JwX2lkLCBpOworIAlpbnQgcmV0ID0gLTE7CisgCWNvbnN0IGNoYXIgKmdycF9uYW1lID0gdHJhY2luZ19ncm91cDsKKyAKKyAJLyogR2V0IEdJRCBvZiBncm91cCAndHJhY2luZycgKi8KKy0JZ3JwX3RyYWNpbmcgPSBnZXRncm5hbShncnBfbmFtZSk7CistCWlmICghZ3JwX3RyYWNpbmcpIHsKKysJaWYgKHV0aWxzX2dldF9ncm91cF9pZChncnBfbmFtZSwgZmFsc2UsICZ0cmFjaW5nX2dpZCkpIHsKKyAJCS8qIElmIGdycF90cmFjaW5nIGlzIE5VTEwsIHRoZSBncm91cCBkb2VzIG5vdCBleGlzdC4gKi8KKyAJCWdvdG8gZW5kOworIAl9CitAQCAtMjQxLDcgKzIzOSw3IEBAIGludCBsdHRuZ19jaGVja190cmFjaW5nX2dyb3VwKHZvaWQpCisgCX0KKyAKKyAJZm9yIChpID0gMDsgaSA8IGdycF9saXN0X3NpemU7IGkrKykgeworLQkJaWYgKGdycF9saXN0W2ldID09IGdycF90cmFjaW5nLT5ncl9naWQpIHsKKysJCWlmIChncnBfbGlzdFtpXSA9PSB0cmFjaW5nX2dpZCkgeworIAkJCXJldCA9IDE7CisgCQkJYnJlYWs7CisgCQl9CistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzL3J1bi1wdGVzdAppbmRleCA3MDUwMzBlLi5kYmIxODgyIDEwMDc1NQotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvcnVuLXB0ZXN0CisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy9ydW4tcHRlc3QKQEAgLTMsNCArMyw0IEBACiAjIHRlc3QgcGxhbiB0byByYWlzZSBFUlJPUnM7IHRoaXMgaXMganVzdCBub2lzZS4KIG1ha2VhcmdzPSJMT0dfRFJJVkVSX0ZMQUdTPS0taWdub3JlLWV4aXQgdG9wX3NyY2Rpcj0kUFdEIHRvcF9idWlsZGRpcj0kUFdEIgogbWFrZSAtayAtdCBhbGwgPi9kZXYvbnVsbCAyPiYxCi1leGVjIG1ha2UgLXMgJG1ha2VhcmdzIGNoZWNrIDI+L2Rldi9udWxsCitleGVjIG1ha2UgLWsgLXMgJG1ha2VhcmdzIGNoZWNrIDI+L2Rldi9udWxsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMveDMyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzL3gzMi5wYXRjaAppbmRleCBiMWJiOGU0Li40MmNlYmY5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMveDMyLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy94MzIucGF0Y2gKQEAgLTEsMTEgKzEsMzEgQEAKIEZpeCBidWlsZCBmb3IgeDMyCiAKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoZXIgTGFyc29uIDxjaHJpc19sYXJzb25AbWVudG9yLmNvbT4KIAotLS0tIGx0dG5nLXRvb2xzLTIuNi4wL3NyYy9iaW4vbHR0bmcvdXRpbHMuY34JMjAxNS0wMS0yNiAxODoxNzoxNS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBsdHRuZy10b29scy0yLjYuMC9zcmMvYmluL2x0dG5nL3V0aWxzLmMJMjAxNS0wNy0zMCAxOTo0NToyNS42MzIwNDU3MTIgKzAyMDAKLUBAIC0xMzAsNyArMTMwLDcgQEAKK0ZpeCBidWlsZCBlcnJvciBvZiBzcmMvY29tbW9uL3V0aWxzLmMgZm9yIHgzMi4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9sdHRuZy9sdHRuZy10b29scy9wdWxsLzE1MF0KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CisKK2RpZmYgLS1naXQgYS9zcmMvYmluL2x0dG5nL3V0aWxzLmMgYi9zcmMvYmluL2x0dG5nL3V0aWxzLmMKK2luZGV4IDBlOTZlZjBjLi41Yzc5YzhjNyAxMDA2NDQKKy0tLSBhL3NyYy9iaW4vbHR0bmcvdXRpbHMuYworKysrIGIvc3JjL2Jpbi9sdHRuZy91dGlscy5jCitAQCAtMTU4LDcgKzE1OCw3IEBAIHVuc2lnbmVkIGludCBmbHNfdTMyKHVpbnQzMl90IHgpCisgI2RlZmluZSBIQVNfRkxTX1UzMgorICNlbmRpZgorIAorLSNpZiBkZWZpbmVkKF9feDg2XzY0KQorKyNpZiBkZWZpbmVkKF9feDg2XzY0KSAmJiAhZGVmaW5lZChfX0lMUDMyX18pCisgc3RhdGljIGlubGluZQorIHVuc2lnbmVkIGludCBmbHNfdTY0KHVpbnQ2NF90IHgpCisgeworZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vdXRpbHMuYyBiL3NyYy9jb21tb24vdXRpbHMuYworaW5kZXggMDgxMzllNWUuLjNjMzg5OTgxIDEwMDY0NAorLS0tIGEvc3JjL2NvbW1vbi91dGlscy5jCisrKysgYi9zcmMvY29tbW9uL3V0aWxzLmMKK0BAIC0xMjIzLDcgKzEyMjMsNyBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBmbHNfdTMyKHVpbnQzMl90IHgpCiAgI2RlZmluZSBIQVNfRkxTX1UzMgogICNlbmRpZgogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzXzIuMTAuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29sc18yLjEwLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTNmYWJiMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29sc18yLjEwLjYuYmIKQEAgLTAsMCArMSwxNjcgQEAKK1NFQ1RJT04gPSAiZGV2ZWwiCitTVU1NQVJZID0gIkxpbnV4IFRyYWNlIFRvb2xraXQgQ29udHJvbCIKK0RFU0NSSVBUSU9OID0gIlRoZSBMaW51eCB0cmFjZSB0b29sa2l0IGlzIGEgc3VpdGUgb2YgdG9vbHMgZGVzaWduZWQgXAordG8gZXh0cmFjdCBwcm9ncmFtIGV4ZWN1dGlvbiBkZXRhaWxzIGZyb20gdGhlIExpbnV4IG9wZXJhdGluZyBzeXN0ZW0gXAorYW5kIGludGVycHJldCB0aGVtLiIKKworTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MDFkN2ZjNDQ5NmFhY2YzN2Q5MGRmOTBiOTBiMGNhYzEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3BsLTIuMC50eHQ7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xncGwtMi4xLnR4dDttZDU9MGYwZDcxNTAwZTZhNTdmZDI0ZDgyNWYzMzI0MmI5Y2EiCisKK0RFUEVORFMgPSAibGlidXJjdSBwb3B0IGxpYnhtbDIgdXRpbC1saW51eCIKK1JERVBFTkRTXyR7UE59ID0gImxpYmdjYyIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJtYWtlIHBlcmwgYmFzaCBnYXdrICR7UE59IGJhYmVsdHJhY2UgcHJvY3BzIHBlcmwtbW9kdWxlLW92ZXJsb2FkaW5nIGNvcmV1dGlscyB1dGlsLWxpbnV4IGttb2QiCitSREVQRU5EU18ke1BOfS1wdGVzdF9hcHBlbmRfbGliYy1nbGliYyA9ICIgZ2xpYmMtdXRpbHMiCitSREVQRU5EU18ke1BOfS1wdGVzdF9hcHBlbmRfbGliYy1tdXNsID0gIiBtdXNsLXV0aWxzIgorIyBiYWJlbHN0YXRzLnBsIHdhbnRzIGdldG9wdC1sb25nCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAicGVybC1tb2R1bGUtZ2V0b3B0LWxvbmciCisKK1BZVEhPTl9PUFRJT04gPSAiYW1fY3ZfcHl0aG9uX3B5ZXhlY2Rpcj0nJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0nIFwKKyAgICAgICAgICAgICAgICAgYW1fY3ZfcHl0aG9uX3B5dGhvbmRpcj0nJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0nIFwKKyAgICAgICAgICAgICAgICAgUFlUSE9OX0lOQ0xVREU9Jy1JJHtTVEFHSU5HX0lOQ0RJUn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059JHtQWVRIT05fQUJJfScgXAorIgorUEFDS0FHRUNPTkZJRyA/Pz0gImx0dG5nLXVzdCIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICItLWVuYWJsZS1weXRob24tYmluZGluZ3MgJHtQWVRIT05fT1BUSU9OfSwscHl0aG9uMyBzd2lnLW5hdGl2ZSIKK1BBQ0tBR0VDT05GSUdbbHR0bmctdXN0XSA9ICItLXdpdGgtbHR0bmctdXN0LCAtLXdpdGhvdXQtbHR0bmctdXN0LCBsdHRuZy11c3QiCitQQUNLQUdFQ09ORklHW2ttb2RdID0gIi0td2l0aC1rbW9kLCAtLXdpdGhvdXQta21vZCwga21vZCIKK1BBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi0tZW5hYmxlLW1hbi1wYWdlcywgLS1kaXNhYmxlLW1hbi1wYWdlcywgYXNjaWlkb2MtbmF0aXZlIHhtbHRvLW5hdGl2ZSBsaWJ4c2x0LW5hdGl2ZSIKK1BBQ0tBR0VDT05GSUdfcmVtb3ZlX2FyYyA9ICJsdHRuZy11c3QiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9sdHRuZy5vcmcvZmlsZXMvbHR0bmctdG9vbHMvbHR0bmctdG9vbHMtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly94MzIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL2x0dG5nLXNlc3Npb25kLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtdGVzdHMtbGluay1saWJwYXVzZV9jb25zdW1lci1vbi1saWJsdHRuZy1jdGwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1GaXgtdGVzdC1za2lwLXRlc3RfZ2V0Y3B1X292ZXJyaWRlLW9uLXNpbmdsZS10aHJlYWQtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtRml4LXRlc3QtdW5pdC10aGUtdHJlZS1vcmlnaW4tY2FuLWJlLWEtc3ltbGluay1pdHNlbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LVNraXAtd2hlbi10ZXN0YXBwLWlzLW5vdC1wcmVzZW50LnBhdGNoXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1UZXN0cy11c2UtbW9kcHJvYmUtdG8tdGVzdC1mb3ItdGhlLXByZXNlbmNlLW9mLWx0dG5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtVGVzdHMtY2hlY2stZm9yLWx0dG5nLW1vZHVsZXMtcHJlc2VuY2UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1GaXgtZ2V0Z3JuYW0taXMtbm90LU1ULVNhZmUtdXNlLWdldGdybmFtX3IucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlODhjNTIxYjVkYTZiYjQ4YTgxODdhZjYzMzMzNmVjYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMDVkZjUyYmJlYmY4Y2U4OGQxYjI5ZTllOThjZmM5NTdkMmVkNzM4YTM0NTExODAxODIzN2ViZGI1ODE1MzdjIgorCitpbmhlcml0IGF1dG90b29scyBwdGVzdCBwa2djb25maWcgdXNlcmFkZCBweXRob24zLWRpciBtYW5wYWdlcyBzeXN0ZW1kCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJsdHRuZy1zZXNzaW9uZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAidHJhY2luZyIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9sdHRuZy9saWJleGVjLyogJHtkYXRhZGlyfS94bWwvbHR0bmcgXAorICAgICAgICAgICAgICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyouYSIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKi5sYSIKKworIyBTaW5jZSBmaWxlcyBhcmUgaW5zdGFsbGVkIGludG8gJHtsaWJkaXJ9L2x0dG5nL2xpYmV4ZWMgd2UgbWF0Y2ggCisjIHRoZSBsaWJleGVjIGluc2FuZSB0ZXN0IHNvIHNraXAgaXQuCisjIFB5dGhvbiBtb2R1bGUgbmVlZHMgdG8ga2VlcCBfbHR0bmcuc28KK0lOU0FORV9TS0lQXyR7UE59ID0gImxpYmV4ZWMgZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtQTn0tZGJnID0gImxpYmV4ZWMiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICAjIGluc3RhbGwgc3lzdGVtZCB1bml0IGZpbGUKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbHR0bmctc2Vzc2lvbmQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorfQorCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKyAgICBmb3IgZiBpbiBNYWtlZmlsZSB0ZXN0cy9NYWtlZmlsZSB0ZXN0cy91dGlscy91dGlscy5zaCB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC9sb2FkLTQyKi5sdHRuZyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC9jb25maWd1cmF0aW9uL2xvYWQtNDIqLmx0dG5nIDsgZG8KKyAgICAgICAgaW5zdGFsbCAtRCAiJHtCfS8kZiIgIiR7RH0ke1BURVNUX1BBVEh9LyRmIgorICAgIGRvbmUKKworICAgIGZvciBmIGluIGNvbmZpZy90YXAtZHJpdmVyLnNoIGNvbmZpZy90ZXN0LWRyaXZlciBzcmMvY29tbW9uL2NvbmZpZy9zZXNzaW9uLnhzZCBzcmMvY29tbW9uL21pLWx0dG5nLTMuMC54c2Q7IGRvCisgICAgICAgIGluc3RhbGwgLUQgIiR7U30vJGYiICIke0R9JHtQVEVTVF9QQVRIfS8kZiIKKyAgICBkb25lCisKKyAgICAjIFByZXZlbnQgJ21ha2UgY2hlY2snIGZyb20gcmVjdXJzaW5nIGludG8gbm9uLXRlc3Qgc3ViZGlyZWN0b3JpZXMuCisgICAgc2VkIC1pIC1lICdzIV5TVUJESVJTID0gLiohU1VCRElSUyA9IHRlc3RzIScgIiR7RH0ke1BURVNUX1BBVEh9L01ha2VmaWxlIgorCisgICAgIyBXZSBkb24ndCBuZWVkIHRoZXNlCisgICAgc2VkIC1pIC1lICcvZGlzdF9ub2luc3RfU0NSSVBUUyA9IC8sL14kL2QnICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy9NYWtlZmlsZSIKKworICAgICMgV2Ugc2hvdWxkbid0IG5lZWQgdG8gYnVpbGQgYW55dGhpbmcgaW4gdGVzdHMvdXRpbHMKKyAgICBzZWQgLWkgLWUgJ3MhYW1fX2FwcGVuZF8xID0gLiB1dGlscyFhbV9fYXBwZW5kXzEgPSAuICEnIFwKKyAgICAgICAgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL01ha2VmaWxlIgorCisgICAgIyBDb3B5IHRoZSB0ZXN0cyBkaXJlY3RvcnkgdHJlZSBhbmQgdGhlIGV4ZWN1dGFibGVzIGFuZAorICAgICMgTWFrZWZpbGVzIGZvdW5kIHdpdGhpbi4KKyAgICBmb3IgZCBpbiAkKGZpbmQgIiR7Qn0vdGVzdHMiIC10eXBlIGQgLW5vdCAtbmFtZSAubGlicyAtcHJpbnRmICclUCAnKSA7IGRvCisgICAgICAgIGluc3RhbGwgLWQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkIgorICAgICAgICBmaW5kICIke0J9L3Rlc3RzLyRkIiAtbWF4ZGVwdGggMSAtZXhlY3V0YWJsZSAtdHlwZSBmIFwKKyAgICAgICAgICAgIC1leGVjIGluc3RhbGwgLXQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkIiB7fSArCisgICAgICAgICMgVGFrZSBhbGwgLnB5IHNjcmlwdHMgZm9yIHRlc3RzIHVzaW5nIHRoZSBweXRob24gYmluZGluZ3MuCisgICAgICAgIGZpbmQgIiR7Qn0vdGVzdHMvJGQiIC1tYXhkZXB0aCAxIC10eXBlIGYgLW5hbWUgIioucHkiIFwKKyAgICAgICAgICAgIC1leGVjIGluc3RhbGwgLXQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkIiB7fSArCisgICAgICAgIHRlc3QgLXIgIiR7Qn0vdGVzdHMvJGQvTWFrZWZpbGUiICYmIFwKKyAgICAgICAgICAgIGluc3RhbGwgLXQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkIiAiJHtCfS90ZXN0cy8kZC9NYWtlZmlsZSIKKyAgICBkb25lCisKKyAgICBmb3IgZCBpbiAkKGZpbmQgIiR7Qn0vdGVzdHMiIC10eXBlIGQgLW5hbWUgLmxpYnMgLXByaW50ZiAnJVAgJykgOyBkbworICAgICAgICBmb3IgZiBpbiAkKGZpbmQgIiR7Qn0vdGVzdHMvJGQiIC1tYXhkZXB0aCAxIC1leGVjdXRhYmxlIC10eXBlIGYgLXByaW50ZiAnJVAgJykgOyBkbworICAgICAgICAgICAgY3AgJHtCfS90ZXN0cy8kZC8kZiAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy9gZGlybmFtZSAkZGAvJGYKKyAgICAgICAgICAgIGNhc2UgJGYgaW4KKyAgICAgICAgICAgICAgICAqLnNvKQorICAgICAgICAgICAgICAgICAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkLworICAgICAgICAgICAgICAgICAgICBsbiAtcyAgLi4vJGYgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvJGQvJGYKKyAgICAgICAgICAgICAgICAgICAgIyBSZW1vdmUgYW55IHJwYXRoL3J1bnBhdGggdG8gcGFzcyBRQSBjaGVjay4KKyAgICAgICAgICAgICAgICAgICAgY2hycGF0aCAtLWRlbGV0ZSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy8kZC8kZgorICAgICAgICAgICAgICAgICAgICA7OworICAgICAgICAgICAgZXNhYworICAgICAgICBkb25lCisgICAgZG9uZQorCisgICAgIworICAgICMgVXNlIHRoZSB2ZXJzaW9uZWQgbGlicyBvZiBsaWJsdHRuZy11c3QtZGwuCisgICAgIworICAgIHVzdGRsPSIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy9yZWdyZXNzaW9uL3VzdC91c3QtZGwvdGVzdF91c3QtZGwucHkiCisgICAgaWYgWyAtZSAkdXN0ZGwgXTsgdGhlbgorICAgICAgICBzZWQgLWkgLWUgJ3MhOmxpYmx0dG5nLXVzdC1kbC5zbyE6bGlibHR0bmctdXN0LWRsLnNvLjAhJyAkdXN0ZGwKKyAgICBmaQorCisgICAgaW5zdGFsbCAke0J9L3Rlc3RzL3VuaXQvaW5pX2NvbmZpZy9zYW1wbGUuaW5pICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL3VuaXQvaW5pX2NvbmZpZy8KKworICAgICMgV2Ugc2hvdWxkbid0IG5lZWQgdG8gYnVpbGQgYW55dGhpbmcgaW4gdGVzdHMvcmVncmVzc2lvbi90b29scworICAgIHNlZCAtaSAtZSAncyFeU1VCRElSUyA9IHRvb2xzICFTVUJESVJTID0gIScgXAorICAgICAgICAiJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvcmVncmVzc2lvbi9NYWtlZmlsZSIKKworICAgICMgUHJldmVudCBhdHRlbXB0cyB0byB1cGRhdGUgTWFrZWZpbGVzIGR1cmluZyB0ZXN0IHJ1bnMsIGFuZAorICAgICMgc2lsZW5jZSAiTWFraW5nIGNoZWNrIGluICRTVUJESVIiIG1lc3NhZ2VzLgorICAgIGZpbmQgIiR7RH0ke1BURVNUX1BBVEh9IiAtbmFtZSBNYWtlZmlsZSAtdHlwZSBmIC1leGVjIFwKKyAgICAgICAgc2VkIC1pIC1lICcvTWFrZWZpbGU6LywvXiQvZCcgLWUgJy8lOiAlLmluLywvXiQvZCcgXAorICAgICAgICAtZSAnL2VjaG8gIk1ha2luZyAkJHRhcmdldCBpbiAkJHN1YmRpciI7IFxcL2QnIFwKKyAgICAgICAgLWUgJ3MvXnNyY2RpciA9IFwoLipcKS9zcmNkaXIgPSAuLycgXAorICAgICAgICAtZSAncy9eYnVpbGRkaXIgPSBcKC4qXCkvYnVpbGRkaXIgPSAuLycgXAorICAgICAgICAtZSAncy9eYWxsLWFtOi4qL2FsbC1hbTovJyBcCisgICAgICAgIHt9ICsKKworICAgIGZpbmQgIiR7RH0ke1BURVNUX1BBVEh9IiAtbmFtZSBNYWtlZmlsZSAtdHlwZSBmIC1leGVjIFwKKyAgICAgICAgdG91Y2ggLXIgIiR7Qn0vTWFrZWZpbGUiIHt9ICsKKworICAgICMKKyAgICAjIE5lZWQgdG8gc3RvcCBnZW5lcmF0ZWQgYmluYXJpZXMgZnJvbSByZWJ1aWxkaW5nIGJ5IHJlbW92aW5nIHRoZWlyIHNvdXJjZSBkZXBlbmRlbmNpZXMKKyAgICAjCisgICAgc2VkIC1lICdzI1woXnRlc3QuKk9CSkVDVFMuPVwpI2Rpc2FibGVcMSNnJyBcCisgICAgICAgIC1lICdzI1woXnRlc3QuKkRFUEVOREVOQ0lFUy49XCkjZGlzYWJsZVwxI2cnIFwKKyAgICAgICAgLWUgJ3MjXChedGVzdC4qU09VUkNFUy49XCkjZGlzYWJsZVwxI2cnIFwKKyAgICAgICAgLWUgJ3MjXChedGVzdC4qTERBREQuPVwpI2Rpc2FibGVcMSNnJyBcCisgICAgICAgIC1pICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL3VuaXQvTWFrZWZpbGUKKworICAgICMgU3Vic3RpdHV0ZSBsaW5rcyB0byBpbnN0YWxsZWQgYmluYXJpZXMuCisgICAgZm9yIHByb2cgaW4gbHR0bmcgbHR0bmctcmVsYXlkIGx0dG5nLXNlc3Npb25kIGx0dG5nLWNvbnN1bWVyZCBsdHRuZy1jcmFzaDsgZG8KKyAgICAgICAgZXhlZGlyPSIke0R9JHtQVEVTVF9QQVRIfS9zcmMvYmluLyR7cHJvZ30iCisgICAgICAgIGluc3RhbGwgLWQgIiRleGVkaXIiCisgICAgICAgIGNhc2UgIiRwcm9nIiBpbgorICAgICAgICAgICAgbHR0bmctY29uc3VtZXJkKQorICAgICAgICAgICAgICAgIGxuIC1zICIke2xpYmRpcn0vbHR0bmcvbGliZXhlYy8kcHJvZyIgIiRleGVkaXIiCisgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgICopCisgICAgICAgICAgICAgICAgbG4gLXMgIiR7YmluZGlyfS8kcHJvZyIgIiRleGVkaXIiCisgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgZXNhYworICAgIGRvbmUKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29sc18yLjkuMTEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHNfMi45LjExLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTNmYzFhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29sc18yLjkuMTEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMzQgKzAsMCBAQAotU0VDVElPTiA9ICJkZXZlbCIKLVNVTU1BUlkgPSAiTGludXggVHJhY2UgVG9vbGtpdCBDb250cm9sIgotREVTQ1JJUFRJT04gPSAiVGhlIExpbnV4IHRyYWNlIHRvb2xraXQgaXMgYSBzdWl0ZSBvZiB0b29scyBkZXNpZ25lZCBcCi10byBleHRyYWN0IHByb2dyYW0gZXhlY3V0aW9uIGRldGFpbHMgZnJvbSB0aGUgTGludXggb3BlcmF0aW5nIHN5c3RlbSBcCi1hbmQgaW50ZXJwcmV0IHRoZW0uIgotCi1MSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wMWQ3ZmM0NDk2YWFjZjM3ZDkwZGY5MGI5MGIwY2FjMSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ncGwtMi4wLnR4dDttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGdwbC0yLjEudHh0O21kNT0wZjBkNzE1MDBlNmE1N2ZkMjRkODI1ZjMzMjQyYjljYSIKLQotREVQRU5EUyA9ICJsaWJ1cmN1IHBvcHQgbGlieG1sMiB1dGlsLWxpbnV4IgotUkRFUEVORFNfJHtQTn0gPSAibGliZ2NjIgotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm1ha2UgcGVybCBiYXNoIGdhd2sgJHtQTn0gYmFiZWx0cmFjZSBwcm9jcHMiCi0jIGJhYmVsc3RhdHMucGwgd2FudHMgZ2V0b3B0LWxvbmcKLVJERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyIKLQotUFlUSE9OX09QVElPTiA9ICJhbV9jdl9weXRob25fcHlleGVjZGlyPScke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfScgXAotICAgICAgICAgICAgICAgICBhbV9jdl9weXRob25fcHl0aG9uZGlyPScke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfScgXAotICAgICAgICAgICAgICAgICBQWVRIT05fSU5DTFVERT0nLUkke1NUQUdJTkdfSU5DRElSfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0ke1BZVEhPTl9BQkl9JyBcCi0iCi1QQUNLQUdFQ09ORklHID8/PSAibHR0bmctdXN0IgotUEFDS0FHRUNPTkZJR1tweXRob25dID0gIi0tZW5hYmxlLXB5dGhvbi1iaW5kaW5ncyAke1BZVEhPTl9PUFRJT059LCxweXRob24zIHN3aWctbmF0aXZlIgotUEFDS0FHRUNPTkZJR1tsdHRuZy11c3RdID0gIi0td2l0aC1sdHRuZy11c3QsIC0td2l0aG91dC1sdHRuZy11c3QsIGx0dG5nLXVzdCIKLVBBQ0tBR0VDT05GSUdba21vZF0gPSAiLS1lbmFibGUta21vZCwgLS1kaXNhYmxlLWttb2QsIGttb2QiCi1QQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1tYW4tcGFnZXMsIC0tZGlzYWJsZS1tYW4tcGFnZXMsIGFzY2lpZG9jLW5hdGl2ZSB4bWx0by1uYXRpdmUgbGlieHNsdC1uYXRpdmUiCi1QQUNLQUdFQ09ORklHX3JlbW92ZV9saWJjLW11c2wgPSAibHR0bmctdXN0IgotUEFDS0FHRUNPTkZJR19yZW1vdmVfcmlzY3Y2NCA9ICJsdHRuZy11c3QiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9sdHRuZy5vcmcvZmlsZXMvbHR0bmctdG9vbHMvbHR0bmctdG9vbHMtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly94MzIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQWxsb3ctbXVsdGlwbGUtYXR0ZW1wdHMtdG8tY29ubmVjdC10by1yZWxheWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbHR0bmctc2Vzc2lvbmQuc2VydmljZSBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gImY5YzJiMzU4MTA3OTBmNWJkODAyNDgzZWIxNGNiMzAxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJjNDUxNDRhY2Y4ZGM2ZmNkNjU1YmU3MzcwYTAyMmU5YzAzYzhiNzQxOWFmNDg5YzljMmU3ODZhMzM1MDA2ZGIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHB0ZXN0IHBrZ2NvbmZpZyB1c2VyYWRkIHB5dGhvbjMtZGlyIG1hbnBhZ2VzIHN5c3RlbWQKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImx0dG5nLXNlc3Npb25kLnNlcnZpY2UiCi1TWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1HUk9VUEFERF9QQVJBTV8ke1BOfSA9ICJ0cmFjaW5nIgotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2x0dG5nL2xpYmV4ZWMvKiAke2RhdGFkaXJ9L3htbC9sdHRuZyBcCi0gICAgICAgICAgICAgICAgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKi5hIgotRklMRVNfJHtQTn0tZGV2ICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qLmxhIgotCi0jIFNpbmNlIGZpbGVzIGFyZSBpbnN0YWxsZWQgaW50byAke2xpYmRpcn0vbHR0bmcvbGliZXhlYyB3ZSBtYXRjaCAKLSMgdGhlIGxpYmV4ZWMgaW5zYW5lIHRlc3Qgc28gc2tpcCBpdC4KLSMgUHl0aG9uIG1vZHVsZSBuZWVkcyB0byBrZWVwIF9sdHRuZy5zbwotSU5TQU5FX1NLSVBfJHtQTn0gPSAibGliZXhlYyBkZXYtc28iCi1JTlNBTkVfU0tJUF8ke1BOfS1kYmcgPSAibGliZXhlYyIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotICAgICMgaW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9sdHRuZy1zZXNzaW9uZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QgKCkgewotICAgIGZvciBmIGluIE1ha2VmaWxlIHRlc3RzL01ha2VmaWxlIHRlc3RzL3V0aWxzL3V0aWxzLnNoIDsgZG8KLSAgICAgICAgaW5zdGFsbCAtRCAiJHtCfS8kZiIgIiR7RH0ke1BURVNUX1BBVEh9LyRmIgotICAgIGRvbmUKLQotICAgIGZvciBmIGluIGNvbmZpZy90YXAtZHJpdmVyLnNoIGNvbmZpZy90ZXN0LWRyaXZlciA7IGRvCi0gICAgICAgIGluc3RhbGwgLUQgIiR7U30vJGYiICIke0R9JHtQVEVTVF9QQVRIfS8kZiIKLSAgICBkb25lCi0KLSAgICAjIFByZXZlbnQgJ21ha2UgY2hlY2snIGZyb20gcmVjdXJzaW5nIGludG8gbm9uLXRlc3Qgc3ViZGlyZWN0b3JpZXMuCi0gICAgc2VkIC1pIC1lICdzIV5TVUJESVJTID0gLiohU1VCRElSUyA9IHRlc3RzIScgIiR7RH0ke1BURVNUX1BBVEh9L01ha2VmaWxlIgotCi0gICAgIyBXZSBkb24ndCBuZWVkIHRoZXNlCi0gICAgc2VkIC1pIC1lICcvZGlzdF9ub2luc3RfU0NSSVBUUyA9IC8sL14kL2QnICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy9NYWtlZmlsZSIKLQotICAgICMgV2Ugc2hvdWxkbid0IG5lZWQgdG8gYnVpbGQgYW55dGhpbmcgaW4gdGVzdHMvdXRpbHMKLSAgICBzZWQgLWkgLWUgJ3MhYW1fX2FwcGVuZF8xID0gLiB1dGlscyFhbV9fYXBwZW5kXzEgPSAuICEnIFwKLSAgICAgICAgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL01ha2VmaWxlIgotCi0gICAgIyBDb3B5IHRoZSB0ZXN0cyBkaXJlY3RvcnkgdHJlZSBhbmQgdGhlIGV4ZWN1dGFibGVzIGFuZAotICAgICMgTWFrZWZpbGVzIGZvdW5kIHdpdGhpbi4KLSAgICBmb3IgZCBpbiAkKGZpbmQgIiR7Qn0vdGVzdHMiIC10eXBlIGQgLW5vdCAtbmFtZSAubGlicyAtcHJpbnRmICclUCAnKSA7IGRvCi0gICAgICAgIGluc3RhbGwgLWQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkIgotICAgICAgICBmaW5kICIke0J9L3Rlc3RzLyRkIiAtbWF4ZGVwdGggMSAtZXhlY3V0YWJsZSAtdHlwZSBmIFwKLSAgICAgICAgICAgIC1leGVjIGluc3RhbGwgLXQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkIiB7fSArCi0gICAgICAgIHRlc3QgLXIgIiR7Qn0vdGVzdHMvJGQvTWFrZWZpbGUiICYmIFwKLSAgICAgICAgICAgIGluc3RhbGwgLXQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkIiAiJHtCfS90ZXN0cy8kZC9NYWtlZmlsZSIKLSAgICBkb25lCi0KLSAgICAjIFdlIHNob3VsZG4ndCBuZWVkIHRvIGJ1aWxkIGFueXRoaW5nIGluIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMKLSAgICBzZWQgLWkgLWUgJ3MhXlNVQkRJUlMgPSB0b29scyAhU1VCRElSUyA9ICEnIFwKLSAgICAgICAgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL3JlZ3Jlc3Npb24vTWFrZWZpbGUiCi0KLSAgICAjIFByZXZlbnQgYXR0ZW1wdHMgdG8gdXBkYXRlIE1ha2VmaWxlcyBkdXJpbmcgdGVzdCBydW5zLCBhbmQKLSAgICAjIHNpbGVuY2UgIk1ha2luZyBjaGVjayBpbiAkU1VCRElSIiBtZXNzYWdlcy4KLSAgICBmaW5kICIke0R9JHtQVEVTVF9QQVRIfSIgLW5hbWUgTWFrZWZpbGUgLXR5cGUgZiAtZXhlYyBcCi0gICAgICAgIHNlZCAtaSAtZSAnL01ha2VmaWxlOi8sL14kL2QnIC1lICcvJTogJS5pbi8sL14kL2QnIFwKLSAgICAgICAgLWUgJy9lY2hvICJNYWtpbmcgJCR0YXJnZXQgaW4gJCRzdWJkaXIiOyBcXC9kJyBcCi0gICAgICAgIC1lICdzL15zcmNkaXIgPSBcKC4qXCkvc3JjZGlyID0gLi8nIFwKLSAgICAgICAgLWUgJ3MvXmJ1aWxkZGlyID0gXCguKlwpL2J1aWxkZGlyID0gLi8nIFwKLSAgICAgICAgLWUgJ3MvXmFsbC1hbTouKi9hbGwtYW06LycgXAotICAgICAgICB7fSArCi0KLSAgICAjIFRoZXNlIG9iamVjdHMgdHJpZ2dlciBbcnBhdGhzXSBRQSBjaGVja3M7IHRoZSB0ZXN0IGhhcm5lc3MKLSAgICAjIHNraXBzIHRoZSBhc3NvY2lhdGVkIHRlc3RzIGlmIHRoZXkncmUgbWlzc2luZywgc28gZGVsZXRlCi0gICAgIyB0aGVtLgotICAgIG9ianM9IiIKLSAgICBvYmpzPSIkb2JqcyByZWdyZXNzaW9uL3VzdC91c3QtZGwvbGliYmFyLnNvIgotICAgIG9ianM9IiRvYmpzIHJlZ3Jlc3Npb24vdXN0L3VzdC1kbC9saWJmb28uc28iCi0gICAgZm9yIG9iaiBpbiAkb2JqcyA7IGRvCi0gICAgICAgIHJtIC1mICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy8ke29ian0iCi0gICAgZG9uZQotCi0gICAgZmluZCAiJHtEfSR7UFRFU1RfUEFUSH0iIC1uYW1lIE1ha2VmaWxlIC10eXBlIGYgLWV4ZWMgXAotICAgICAgICB0b3VjaCAtciAiJHtCfS9NYWtlZmlsZSIge30gKwotCi0gICAgIyBTdWJzdGl0dXRlIGxpbmtzIHRvIGluc3RhbGxlZCBiaW5hcmllcy4KLSAgICBmb3IgcHJvZyBpbiBsdHRuZyBsdHRuZy1yZWxheWQgbHR0bmctc2Vzc2lvbmQgbHR0bmctY29uc3VtZXJkIDsgZG8KLSAgICAgICAgZXhlZGlyPSIke0R9JHtQVEVTVF9QQVRIfS9zcmMvYmluLyR7cHJvZ30iCi0gICAgICAgIGluc3RhbGwgLWQgIiRleGVkaXIiCi0gICAgICAgIGNhc2UgIiRwcm9nIiBpbgotICAgICAgICAgICAgbHR0bmctY29uc3VtZXJkKQotICAgICAgICAgICAgICAgIGxuIC1zICIke2xpYmRpcn0vbHR0bmcvbGliZXhlYy8kcHJvZyIgIiRleGVkaXIiCi0gICAgICAgICAgICAgICAgOzsKLSAgICAgICAgICAgICopCi0gICAgICAgICAgICAgICAgbG4gLXMgIiR7YmluZGlyfS8kcHJvZyIgIiRleGVkaXIiCi0gICAgICAgICAgICAgICAgOzsKLSAgICAgICAgZXNhYwotICAgIGRvbmUKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy11c3QvMDAwMS1jb21wYXQtd29yay1hcm91bmQtYnJva2VuLV9TQ19OUFJPQ0VTU09SU19DT05GLW9uLU1VLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXVzdC8wMDAxLWNvbXBhdC13b3JrLWFyb3VuZC1icm9rZW4tX1NDX05QUk9DRVNTT1JTX0NPTkYtb24tTVUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWM0YmQzNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy11c3QvMDAwMS1jb21wYXQtd29yay1hcm91bmQtYnJva2VuLV9TQ19OUFJPQ0VTU09SU19DT05GLW9uLU1VLnBhdGNoCkBAIC0wLDAgKzEsMTA5IEBACitGcm9tIDVkZTdjMzE4ODA0YTdiMWVkY2U4NTYyZDQ4OTFiNGM3NGFhYzA2NzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK0RhdGU6IFdlZCwgMjAgTWFyIDIwMTkgMTE6MDc6MzUgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29tcGF0OiB3b3JrIGFyb3VuZCBicm9rZW4gX1NDX05QUk9DRVNTT1JTX0NPTkYgb24gTVVTTCBsaWJjCisKK09uIE1VU0wgbGliYyB0aGUgX1NDX05QUk9DRVNTT1JTX0NPTkYgc3lzY29uZiB3aWxsIHJlcG9ydCB0aGUgbnVtYmVyIG9mCitDUFVzIGFsbG9jYXRlZCB0byB0aGUgdGFzayBiYXNlZCBvbiB0aGUgYWZmaW5pdHkgbWFzayBpbnN0ZWFkIG9mIHRoZQordG90YWwgbnVtYmVyIG9mIENQVXMgY29uZmlndXJlZCBvbiB0aGUgc3lzdGVtLgorCitVcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFsxXSBbNWRlN2MzMTg4MDRhN2IxZWRjZTg1NjJkNDg5MWI0Yzc0YWFjMDY3N10KK1sxXSBodHRwczovL2xpc3RzLmx0dG5nLm9yZy9waXBlcm1haWwvbHR0bmctZGV2LzIwMTktTWFyY2gvMDI4NjE2Lmh0bWwKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXRoaWV1IERlc25veWVycyA8bWF0aGlldS5kZXNub3llcnNAZWZmaWNpb3MuY29tPgorLS0tCisgbGlicmluZ2J1ZmZlci9zbXAuYyB8IDY2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9saWJyaW5nYnVmZmVyL3NtcC5jIGIvbGlicmluZ2J1ZmZlci9zbXAuYworaW5kZXggOWU3MTE0YmUuLjY1NmE3NWRhIDEwMDY0NAorLS0tIGEvbGlicmluZ2J1ZmZlci9zbXAuYworKysrIGIvbGlicmluZ2J1ZmZlci9zbXAuYworQEAgLTIsNiArMiw3IEBACisgICogbGlicmluZ2J1ZmZlci9zbXAuYworICAqCisgICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTIgTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KKysgKiBDb3B5cmlnaHQgKEMpIDIwMTkgTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CisgICoKKyAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworQEAgLTI2LDYgKzI3LDcgQEAKKyAKKyBpbnQgX19udW1fcG9zc2libGVfY3B1czsKKyAKKysjaWYgKGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKCBfX1VDTElCQ19fKSkKKyB2b2lkIF9nZXRfbnVtX3Bvc3NpYmxlX2NwdXModm9pZCkKKyB7CisgCWludCByZXN1bHQ7CitAQCAtNDMsMyArNDUsNjcgQEAgdm9pZCBfZ2V0X251bV9wb3NzaWJsZV9jcHVzKHZvaWQpCisgCQlyZXR1cm47CisgCV9fbnVtX3Bvc3NpYmxlX2NwdXMgPSByZXN1bHQ7CisgfQorKworKyNlbHNlCisrCisrLyoKKysgKiBUaGUgTVVTTCBsaWJjIGltcGxlbWVudGF0aW9uIG9mIHRoZSBfU0NfTlBST0NFU1NPUlNfQ09ORiBzeXNjb25mIGRvZXMgbm90CisrICogcmV0dXJuIHRoZSBudW1iZXIgb2YgY29uZmlndXJlZCBDUFVzIGluIHRoZSBzeXN0ZW0gYnV0IHJlbGllcyBvbiB0aGUgY3B1CisrICogYWZmaW5pdHkgbWFzayBvZiB0aGUgY3VycmVudCB0YXNrLgorKyAqCisrICogU28gaW5zdGVhZCB3ZSB1c2UgYSBzdHJhdGVneSBzaW1pbGFyIHRvIEdMSUJDJ3MsIGNvdW50aW5nIHRoZSBjcHUKKysgKiBkaXJlY3RvcmllcyBpbiAiL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUiIGFuZCBmYWxsYmFjayBvbiB0aGUgdmFsdWUgZnJvbQorKyAqIHN5c2NvbmYgaWYgaXQgZmFpbHMuCisrICovCisrCisrI2luY2x1ZGUgPGRpcmVudC5oPgorKyNpbmNsdWRlIDxsaW1pdHMuaD4KKysjaW5jbHVkZSA8c3RkbGliLmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKysKKysjZGVmaW5lIF9fbWF4KGEsYikgKChhKT4oYik/KGEpOihiKSkKKysKKyt2b2lkIF9nZXRfbnVtX3Bvc3NpYmxlX2NwdXModm9pZCkKKyt7CisrCWludCByZXN1bHQsIGNvdW50ID0gMDsKKysJRElSICpjcHVkaXI7CisrCXN0cnVjdCBkaXJlbnQgKmVudHJ5OworKworKwljcHVkaXIgPSBvcGVuZGlyKCIvc3lzL2RldmljZXMvc3lzdGVtL2NwdSIpOworKwlpZiAoY3B1ZGlyID09IE5VTEwpCisrCQlnb3RvIGVuZDsKKysKKysJLyoKKysJICogQ291bnQgdGhlIG51bWJlciBvZiBkaXJlY3RvcmllcyBuYW1lZCAiY3B1IiBmb2xsb3dlZCBieSBhbmQKKysJICogaW50ZWdlci4gVGhpcyBpcyB0aGUgc2FtZSBzdHJhdGVneSBhcyBnbGliYyB1c2VzLgorKwkgKi8KKysJd2hpbGUgKChlbnRyeSA9IHJlYWRkaXIoY3B1ZGlyKSkpIHsKKysJCWlmIChlbnRyeS0+ZF90eXBlID09IERUX0RJUiAmJgorKwkJCXN0cm5jbXAoZW50cnktPmRfbmFtZSwgImNwdSIsIDMpID09IDApIHsKKysKKysJCQljaGFyICplbmRwdHI7CisrCQkJdW5zaWduZWQgbG9uZyBjcHVfbnVtOworKworKwkJCWNwdV9udW0gPSBzdHJ0b3VsKGVudHJ5LT5kX25hbWUgKyAzLCAmZW5kcHRyLCAxMCk7CisrCQkJaWYgKChjcHVfbnVtIDwgVUxPTkdfTUFYKSAmJiAoZW5kcHRyICE9IGVudHJ5LT5kX25hbWUgKyAzKQorKwkJCQkJJiYgKCplbmRwdHIgPT0gJ1wwJykpIHsKKysJCQkJY291bnQrKzsKKysJCQl9CisrCQl9CisrCX0KKysKKytlbmQ6CisrCS8qCisrCSAqIEdldCB0aGUgc3lzY29uZiB2YWx1ZSBhcyBhIGZhbGxiYWNrLiBLZWVwIHRoZSBoaWdoZXN0IG51bWJlci4KKysJICovCisrCXJlc3VsdCA9IF9fbWF4KHN5c2NvbmYoX1NDX05QUk9DRVNTT1JTX0NPTkYpLCBjb3VudCk7CisrCisrCS8qCisrCSAqIElmIGJvdGggbWV0aG9kcyBmYWlsZWQsIGRvbid0IHN0b3JlIHRoZSB2YWx1ZS4KKysJICovCisrCWlmIChyZXN1bHQgPCAxKQorKwkJcmV0dXJuOworKwlfX251bV9wb3NzaWJsZV9jcHVzID0gcmVzdWx0OworK30KKysjZW5kaWYKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy11c3RfMi4xMC4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXVzdF8yLjEwLjMuYmIKaW5kZXggYjVjNDMyMC4uZDU0NjEwNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXVzdF8yLjEwLjMuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXVzdF8yLjEwLjMuYmIKQEAgLTgsNyArOCwxMiBAQAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc25wcmludGYvc25wcmludGYuYztlbmRsaW5lPTMyO21kNT1kM2Q1NDQ5NTlkOGEzNzgyYjJlMDc0NTFiZTBhOTAzYyBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zbnByaW50Zi92YXJpb3VzLmg7ZW5kbGluZT0zMTttZDU9ODlmMjUwOWI2YjQ2ODJjNGZjOTUyNTVlZWM0YWJlNDQiCiAKLWluaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlIG1hbnBhZ2VzCitQWVRIT05fT1BUSU9OID0gImFtX2N2X3B5dGhvbl9weWV4ZWNkaXI9JyR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9JyBcCisgICAgICAgICAgICAgICAgIGFtX2N2X3B5dGhvbl9weXRob25kaXI9JyR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9JyBcCisgICAgICAgICAgICAgICAgIFBZVEhPTl9JTkNMVURFPSctSSR7U1RBR0lOR19JTkNESVJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfSR7UFlUSE9OX0FCSX0nIFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UgbWFucGFnZXMgcHl0aG9uM25hdGl2ZQogCiBERVBFTkRTID0gImxpYnVyY3UgdXRpbC1saW51eCIKIFJERVBFTkRTXyR7UE59LWJpbiA9ICJweXRob24zLWNvcmUiCkBAIC0yMiwxMyArMjcsMjAgQEAKIAogU1JDX1VSSSA9ICJodHRwczovL2x0dG5nLm9yZy9maWxlcy9sdHRuZy11c3QvbHR0bmctdXN0LSR7UFZ9LnRhci5iejIgXAogICAgICAgICAgICBmaWxlOi8vbHR0bmctdXN0LWRvYy1leGFtcGxlcy1kaXNhYmxlLnBhdGNoIFwKKwkgICBmaWxlOi8vMDAwMS1jb21wYXQtd29yay1hcm91bmQtYnJva2VuLV9TQ19OUFJPQ0VTU09SU19DT05GLW9uLU1VLnBhdGNoIFwKICAgICAgICAgICAiCisKIFNSQ19VUklbbWQ1c3VtXSA9ICJmZmNmYThjMWJhOWE1MmYwMDJkMjQwZTkzNmU5YWZhMiIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZTg0MjBmOTBkNWY5NjNmN2FhMzJiYzZkNDRhZGMxZTQ5MTEzNmY2ODdjNjlmZmI3YTMwNzVkMzNiNDA4NTJiIgogCiBDVkVfUFJPRFVDVCA9ICJ1c3QiCiAKIFBBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi0tZW5hYmxlLW1hbi1wYWdlcywgLS1kaXNhYmxlLW1hbi1wYWdlcywgYXNjaWlkb2MtbmF0aXZlIHhtbHRvLW5hdGl2ZSBsaWJ4c2x0LW5hdGl2ZSIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uMy1hZ2VudF0gPSAiLS1lbmFibGUtcHl0aG9uLWFnZW50ICR7UFlUSE9OX09QVElPTn0sIC0tZGlzYWJsZS1weXRob24tYWdlbnQsIHB5dGhvbjMsIHB5dGhvbjMiCisKK0ZJTEVTXyR7UE59ICs9ICIgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyouYSIKK0ZJTEVTXyR7UE59LWRldiArPSAiICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoubGEiCiAKIGRvX2luc3RhbGxfYXBwZW5kKCkgewogICAgICAgICAjIFBhdGNoIHB5dGhvbiB0b29scyB0byB1c2UgUHl0aG9uIDM7IHRoZXkgc2hvdWxkIGJlIHNvdXJjZSBjb21wYXRpYmxlLCBidXQKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9wZXJmL3BlcmYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvcGVyZi9wZXJmLmJiCmluZGV4IGJhZTQ5NDguLjVhY2RjZmIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9wZXJmL3BlcmYuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3BlcmYvcGVyZi5iYgpAQCAtODAsNiArODAsNyBAQAogICAgIE5PX0dUSzI9MSBcCiAgICAgJHtQQUNLQUdFQ09ORklHX0NPTkZBUkdTfSBcCiAgICAgVE1QRElSPSIke0J9IiBcCisgICAgTElCVU5XSU5EX0RJUj0ke1NUQUdJTkdfRVhFQ1BSRUZJWERJUn0gXAogJwogCiBFWFRSQV9PRU1BS0UgKz0gIlwKQEAgLTIzNCw2ICsyMzUsMTAgQEAKICAgICBmb3IgcyBpbiBgZmluZCAke1N9L3Rvb2xzL3BlcmYvc2NyaXB0cy9weXRob24vIC1uYW1lICcqLnB5J2A7IGRvCiAgICAgICAgIHNlZCAtaSAncywvdXNyL2Jpbi9weXRob24yLC91c3IvYmluL2VudiBweXRob24sJyAiJHtzfSIKICAgICBkb25lCisKKyAgICAjIHVuaXN0ZC5oIGNhbiBiZSBvdXQgb2Ygc3luYyBiZXR3ZWVuIGxpYmMtaGVhZGVycyBhbmQgdGhlIGNhcHR1cmVkIHZlcnNpb24gaW4gdGhlIHBlcmYgc291cmNlCisgICAgIyBzbyB3ZSBjb3B5IGl0IGZyb20gdGhlIHN5c3Jvb3QgdW5pc3RkLmggdG8gdGhlIHBlcmYgdW5pc3RkLmgKKyAgICBjcCAke1NUQUdJTkdfSU5DRElSfS9hc20tZ2VuZXJpYy91bmlzdGQuaCAke1N9L3Rvb2xzL2luY2x1ZGUvdWFwaS9hc20tZ2VuZXJpYy91bmlzdGQuaAogfQogCiBweXRob24gZG9fcGFja2FnZV9wcmVwZW5kKCkgewpAQCAtMjU0LDcgKzI1OSw4IEBACiBSU1VHR0VTVFNfU0NSSVBUSU5HID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3NjcmlwdGluZycsICcke1BOfS1wZXJsICR7UE59LXB5dGhvbicsICcnLGQpfSIKIFJTVUdHRVNUU18ke1BOfSArPSAiJHtQTn0tYXJjaGl2ZSAke1BOfS10ZXN0cyAke1JTVUdHRVNUU19TQ1JJUFRJTkd9IgogCi1GSUxFU18ke1BOfSArPSAiJHtsaWJleGVjZGlyfS9wZXJmLWNvcmUgJHtleGVjX3ByZWZpeH0vbGliZXhlYy9wZXJmLWNvcmUgJHtsaWJkaXJ9L3RyYWNlZXZlbnQiCitGSUxFU19TT0xJQlNERVYgPSAiIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZXhlY2Rpcn0vcGVyZi1jb3JlICR7ZXhlY19wcmVmaXh9L2xpYmV4ZWMvcGVyZi1jb3JlICR7bGliZGlyfS90cmFjZWV2ZW50ICR7bGliZGlyfS9saWJwZXJmLWp2bXRpLnNvIgogRklMRVNfJHtQTn0tYXJjaGl2ZSA9ICIke2xpYmRpcn0vcGVyZi9wZXJmLWNvcmUvcGVyZi1hcmNoaXZlIgogRklMRVNfJHtQTn0tdGVzdHMgPSAiJHtsaWJkaXJ9L3BlcmYvcGVyZi1jb3JlL3Rlc3RzICR7bGliZXhlY2Rpcn0vcGVyZi1jb3JlL3Rlc3RzIgogRklMRVNfJHtQTn0tcHl0aG9uID0gIiBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvcG93ZXJ0b3AvcG93ZXJ0b3BfMi4xMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9wb3dlcnRvcC9wb3dlcnRvcF8yLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5NDNiYTkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvcG93ZXJ0b3AvcG93ZXJ0b3BfMi4xMC5iYgpAQCAtMCwwICsxLDMzIEBACitTVU1NQVJZID0gIlBvd2VyIHVzYWdlIHRvb2wiCitERVNDUklQVElPTiA9ICJMaW51eCB0b29sIHRvIGRpYWdub3NlIGlzc3VlcyB3aXRoIHBvd2VyIGNvbnN1bXB0aW9uIGFuZCBwb3dlciBtYW5hZ2VtZW50LiIKK0hPTUVQQUdFID0gImh0dHA6Ly8wMS5vcmcvcG93ZXJ0b3AvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vYnVnemlsbGEubGVzc3dhdHRzLm9yZy8iCitERVBFTkRTID0gIm5jdXJzZXMgbGlibmwgcGNpdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTJmODg0ZDJhZTFmZjg3YzA5ZTViN2NjYzJjNGNhN2UiCisKK1NSQ19VUkkgPSAiaHR0cDovLzAxLm9yZy9zaXRlcy9kZWZhdWx0L2ZpbGVzL2Rvd25sb2Fkcy9wb3dlcnRvcC12JHtQVn0udGFyLmd6IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImE2OWJkNTU5MDFjZjkxOWNjNTY0MTg3NDAyZWEyYzljIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzYjc0NTllYWJhN2QwMWM4ODQxZGQzM2EzYjRkMzY5NDE2YzAxZTliZDg5NTFiMGQ4ODIzNGNmMThmZTRhNzUiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovLzAxLm9yZy9wb3dlcnRvcC9kb3dubG9hZHMiCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJwb3dlcnRvcC1bdl0/KD9QPHB2ZXI+XGQrKFwuXGQrKSspXC50YXIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tdiR7UFZ9IgorCisjIHdlIGRvIG5vdCB3YW50IGxpYm5jdXJzZXN3IGlmIHdlIGNhbgorZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyBjb25maWd1cmUuYWMgY2hlY2tzIGZvciBkZWx3aW4oKSBpbiAibmN1cnNlc3cgbmN1cnNlcyIgc28gbGV0J3MgZHJvcCBmaXJzdCBvbmUKKyAgICBzZWQgLWkgLWUgInMvbmN1cnNlc3cvL2ciICR7U30vY29uZmlndXJlLmFjCisgICAgbWtkaXIgLXAgJHtCfS9zcmMvdHVuaW5nLworfQorCitpbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKK0FMVEVSTkFUSVZFXyR7UE59ID0gInBvd2VydG9wIgorQUxURVJOQVRJVkVfVEFSR0VUW3Bvd2VydG9wXSA9ICIke3NiaW5kaXJ9L3Bvd2VydG9wIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3Bvd2VydG9wXSA9ICIke3NiaW5kaXJ9L3Bvd2VydG9wIgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3Bvd2VydG9wL3Bvd2VydG9wXzIuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9wb3dlcnRvcC9wb3dlcnRvcF8yLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmZTU0NDcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3Bvd2VydG9wL3Bvd2VydG9wXzIuOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLVNVTU1BUlkgPSAiUG93ZXIgdXNhZ2UgdG9vbCIKLURFU0NSSVBUSU9OID0gIkxpbnV4IHRvb2wgdG8gZGlhZ25vc2UgaXNzdWVzIHdpdGggcG93ZXIgY29uc3VtcHRpb24gYW5kIHBvd2VyIG1hbmFnZW1lbnQuIgotSE9NRVBBR0UgPSAiaHR0cDovLzAxLm9yZy9wb3dlcnRvcC8iCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9idWd6aWxsYS5sZXNzd2F0dHMub3JnLyIKLURFUEVORFMgPSAibmN1cnNlcyBsaWJubCBwY2l1dGlscyIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xMmY4ODRkMmFlMWZmODdjMDllNWI3Y2NjMmM0Y2E3ZSIKLQotU1JDX1VSSSA9ICJodHRwOi8vMDEub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvZG93bmxvYWRzL3Bvd2VydG9wL3Bvd2VydG9wLXYke1BWfS50YXIuZ3ogXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNTgzNTE4YzVjNDQzNGM2ZTliOWM1OGMzOTIwOTUwYjYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWE3ZmI3ZDhlOWEwMGYwNWU3ZDhhN2EyODY2ZDg1OTI5NzQxZTBkMDNhNWJmNDBjYWIyMmQyMDIxYzk1OTI1MCIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vMDEub3JnL3Bvd2VydG9wL2Rvd25sb2FkcyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gInBvd2VydG9wLVt2XT8oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRhciIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKLQotUyA9ICIke1dPUktESVJ9LyR7QlBOfS12JHtQVn0iCi0KLSMgd2UgZG8gbm90IHdhbnQgbGlibmN1cnNlc3cgaWYgd2UgY2FuCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICAjIGNvbmZpZ3VyZS5hYyBjaGVja3MgZm9yIGRlbHdpbigpIGluICJuY3Vyc2VzdyBuY3Vyc2VzIiBzbyBsZXQncyBkcm9wIGZpcnN0IG9uZQotICAgIHNlZCAtaSAtZSAicy9uY3Vyc2Vzdy8vZyIgJHtTfS9jb25maWd1cmUuYWMKLSAgICBta2RpciAtcCAke0J9L3NyYy90dW5pbmcvCi19Ci0KLWluaGVyaXQgdXBkYXRlLWFsdGVybmF0aXZlcwotQUxURVJOQVRJVkVfJHtQTn0gPSAicG93ZXJ0b3AiCi1BTFRFUk5BVElWRV9UQVJHRVRbcG93ZXJ0b3BdID0gIiR7c2JpbmRpcn0vcG93ZXJ0b3AiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbcG93ZXJ0b3BdID0gIiR7c2JpbmRpcn0vcG93ZXJ0b3AiCi1BTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzcHJvZi9maWxlcy8wMDAxLWZpeC1ub24tbGl0ZXJhbC1mb3JtYXQtc3RyaW5nLWlzc3Vlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL2ZpbGVzLzAwMDEtZml4LW5vbi1saXRlcmFsLWZvcm1hdC1zdHJpbmctaXNzdWVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOGY5ZjVmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL2ZpbGVzLzAwMDEtZml4LW5vbi1saXRlcmFsLWZvcm1hdC1zdHJpbmctaXNzdWVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotRnJvbSBkZTEzZDFmOTA4MzM1Y2M4ODJjNDQ3ZTRkN2M0MzYwYjllNWRhMTkwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFRodSwgNiBTZXAgMjAxOCAxNzo0OTo0NCAtMDcwMAotU3ViamVjdDogW1BBVENIXSBmaXggbm9uLWxpdGVyYWwgZm9ybWF0IHN0cmluZyBpc3N1ZXMKLQotY2xhbmcgZXJyb3JzIG91dCB3aGVuIHVzaW5nIC1XZXJyb3I9Zm9ybWF0LW5vbmxpdGVyYWwKLXNpbmNlIHRoZSBkZWZpbml0aW9uIG9mIGdfc3RyZHVwX3ZwcmludGYoKSBmcm9tIGdsaWItMi4wCi1pcyB1c2luZyB2YV9saXN0IGFuZCBjbGFuZ3Mgc3RpbGwgd2FybnMgd2hlcmUgYXMKLWdjYyBkb2Vzbid0IGRvIHRoYXQgZm9yIHZhX2xpc3QgYXJndW1lbnRzCi0KLUZpeGVzCi1zcmMvc3Atd2luZG93LmM6OTY6Mjc6IGVycm9yOiBmb3JtYXQgc3RyaW5nIGlzIG5vdCBhIHN0cmluZyBsaXRlcmFsIFstV2Vycm9yLC1XZm9ybWF0LW5vbmxpdGVyYWxdCi18ICAgc3RyID0gZ19zdHJkdXBfdnByaW50ZiAoZm9ybWF0LCBhcmdzKTsKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9zeXNwcm9mL21lcmdlX3JlcXVlc3RzLzZdCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL3NwLXdpbmRvdy5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3NwLXdpbmRvdy5jIGIvc3JjL3NwLXdpbmRvdy5jCi1pbmRleCA0ZGZhYzJkLi5hZmY0Nzc5IDEwMDY0NAotLS0tIGEvc3JjL3NwLXdpbmRvdy5jCi0rKysgYi9zcmMvc3Atd2luZG93LmMKLUBAIC04MCw3ICs4MCw3IEBAIHN0YXRpYyBndWludCBzaWduYWxzIFtOX1NJR05BTFNdOwotIHN0YXRpYyB2b2lkIHNwX3dpbmRvd19zZXRfcHJvZmlsZXIgKFNwV2luZG93ICAgKnNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3BQcm9maWxlciAqcHJvZmlsZXIpOwotIAotLXN0YXRpYyB2b2lkCi0rc3RhdGljIEdfR05VQ19QUklOVEYoMywgNCkgdm9pZAotIHNwX3dpbmRvd19ub3RpZnlfdXNlciAoU3BXaW5kb3cgICAgICAgKnNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICBHdGtNZXNzYWdlVHlwZSAgbWVzc2FnZV90eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgKmZvcm1hdCwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL2ZpbGVzL3dvcmRzaXplLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3Byb2YvZmlsZXMvd29yZHNpemUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2NWIxM2EuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3Byb2YvZmlsZXMvd29yZHNpemUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL3N5c3Byb2YvbWVyZ2VfcmVxdWVzdHMvNV0KLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLUZyb20gYmM3ZTNlMjdjMjhkMGJhYjhiZWE3MmYyMzE0MTkxNTMyYjJlNzg0MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci1EYXRlOiBGcmksIDcgU2VwIDIwMTggMDE6MzA6MDkgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gY2FwdHVyZTogdXNlIHNpemUgb2Ygdm9pZCogaW5zdGVhZCBvZiBnbGliYy1zcGVjaWZpYwotIF9fV09SRFNJWkUKLQotX19XT1JEU0laRSBpcyBnbGliYy1zcGVjaWZpYyBzbyBzcC1jYXB0dXJlLXR5cGVzLmggZG9lc24ndCB3b3JrIHdpdGggbXVzbC4KLS0tLQotIGxpYi9jYXB0dXJlL3NwLWNhcHR1cmUtdHlwZXMuaCB8IDYgKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYi9jYXB0dXJlL3NwLWNhcHR1cmUtdHlwZXMuaCBiL2xpYi9jYXB0dXJlL3NwLWNhcHR1cmUtdHlwZXMuaAotaW5kZXggNDhmY2ZiOC4uMWQ2Y2QxZCAxMDA2NDQKLS0tLSBhL2xpYi9jYXB0dXJlL3NwLWNhcHR1cmUtdHlwZXMuaAotKysrIGIvbGliL2NhcHR1cmUvc3AtY2FwdHVyZS10eXBlcy5oCi1AQCAtMzIsMTIgKzMyLDE0IEBAIEdfQkVHSU5fREVDTFMKLSAjZGVmaW5lIFNQX0NBUFRVUkVfTUFHSUMgKEdVSU5UMzJfVE9fTEUoMHhGRENBOTc1RSkpCi0gI2RlZmluZSBTUF9DQVBUVVJFX0FMSUdOIChzaXplb2YoU3BDYXB0dXJlQWRkcmVzcykpCi0gCi0tI2lmIF9fV09SRFNJWkUgPT0gNjQKLSsjaWYgR0xJQl9TSVpFT0ZfVk9JRF9QID09IDgKLSAjIGRlZmluZSBTUF9DQVBUVVJFX0pJVE1BUF9NQVJLICAgIEdfR1VJTlQ2NF9DT05TVEFOVCgweEUwMDAwMDAwMDAwMDAwMDApCi0gIyBkZWZpbmUgU1BfQ0FQVFVSRV9BRERSRVNTX0ZPUk1BVCAiMHglMDE2bHgiCi0tI2Vsc2UKLSsjZWxpZiBHTElCX1NJWkVPRl9WT0lEX1AgPT0gNAotICMgZGVmaW5lIFNQX0NBUFRVUkVfSklUTUFQX01BUksgICAgR19HVUlOVDY0X0NPTlNUQU5UKDB4RTAwMDAwMDApCi0gIyBkZWZpbmUgU1BfQ0FQVFVSRV9BRERSRVNTX0ZPUk1BVCAiMHglMDE2bGx4IgotKyNlbHNlCi0rI2Vycm9yIFVua25vd24gR0xJQl9TSVpFT0ZfVk9JRF9QCi0gI2VuZGlmCi0gCi0gI2RlZmluZSBTUF9DQVBUVVJFX0NVUlJFTlRfVElNRSAgIChzcF9jbG9ja19nZXRfY3VycmVudF90aW1lKCkpCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzcHJvZi9zeXNwcm9mXzMuMzAuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL3N5c3Byb2ZfMy4zMC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOWRjZjI1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL3N5c3Byb2ZfMy4zMC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotU1VNTUFSWSA9ICJTeXN0ZW0td2lkZSBQZXJmb3JtYW5jZSBQcm9maWxlciBmb3IgTGludXgiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnN5c3Byb2YuY29tIgotTElDRU5TRSA9ICJHUEx2MysiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvc3AtYXBwbGljYXRpb24uYztlbmRsaW5lPTE3O21kNT00MGU1NTU3N2VmMTIyYzg4ZmUyMDA1MmFjZGE2NDg3NSIKLQotR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKLWluaGVyaXQgZ25vbWViYXNlIGdldHRleHQgc3lzdGVtZCB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KLQotREVQRU5EUyA9ICJnbGliLTIuMCBsaWJ4bWwyLW5hdGl2ZSBnbGliLTIuMC1uYXRpdmUiCi0KLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImFlODk2YThhMjM2NGUxOGMwN2ZhZmE5NTczMjAyZjU5IgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMjljZDJjNGJlMjc3ZjAwNjk4ZGNlNDgyNTkyMTk1NTdjNGZkZGMyYzAxMjU0YjhmYWM5NTkwMGE4YzY2M2Y2MyIKLVNSQ19VUkkgKz0gIiBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWZpbmUtTlRfR05VX0JVSUxEX0lELnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWJ1aWxkLWFueXRoaW5nLWluLWhlbHAtYXMtaXQtcmVxdWlyZXMtaXRzdG9vbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly93b3Jkc2l6ZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1ub24tbGl0ZXJhbC1mb3JtYXQtc3RyaW5nLWlzc3Vlcy5wYXRjaCBcCi0gICAgICAgICAgICIKLVJFQ0lQRV9OT19VUERBVEVfUkVBU09OID0gIldhaXRpbmcgZm9yIHJlc29sdXRpb24gb2YgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDYyNSIKLQotUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuY29udGFpbnNfYW55KCdESVNUUk9fRkVBVFVSRVMnLCAnJHtHVEszRElTVFJPRkVBVFVSRVN9JywgJ2d0aycsICcnLCBkKX0iCi1QQUNLQUdFQ09ORklHW2d0a10gPSAiLURlbmFibGVfZ3RrPXRydWUsLURlbmFibGVfZ3RrPWZhbHNlLGd0ayszIgotUEFDS0FHRUNPTkZJR1tzeXNwcm9mZF0gPSAiLUR3aXRoX3N5c3Byb2ZkPWJ1bmRsZWQsLUR3aXRoX3N5c3Byb2ZkPW5vbmUscG9sa2l0IgotCi1TT0xJQlMgPSAiLnNvIgotRklMRVNfU09MSUJTREVWID0gIiIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3N5c3Byb2ZkJywgJ3N5c3Byb2YyLnNlcnZpY2UnLCAnJywgZCl9IgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcyBcCi0gICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZCBcCi0gICAgICAgICAgICAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKLSAgICAgICAgICAgICAgICIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL3N5c3Byb2ZfMy4zMC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3Byb2Yvc3lzcHJvZl8zLjMwLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRlNDljYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL3N5c3Byb2ZfMy4zMC4yLmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiU3lzdGVtLXdpZGUgUGVyZm9ybWFuY2UgUHJvZmlsZXIgZm9yIExpbnV4IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zeXNwcm9mLmNvbSIKK0xJQ0VOU0UgPSAiR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3NwLWFwcGxpY2F0aW9uLmM7ZW5kbGluZT0xNzttZDU9NDBlNTU1NzdlZjEyMmM4OGZlMjAwNTJhY2RhNjQ4NzUiCisKK0dOT01FQkFTRUJVSUxEQ0xBU1MgPSAibWVzb24iCitpbmhlcml0IGdub21lYmFzZSBnZXR0ZXh0IHN5c3RlbWQgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdzZXR0aW5ncworCitERVBFTkRTID0gImdsaWItMi4wIGxpYnhtbDItbmF0aXZlIGdsaWItMi4wLW5hdGl2ZSIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiODBjYjQ3OTA2ZWNlZDJlN2I5OTc2YmYwMGRlZWMzMjMiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJlOTA4NzhlNWE1MDliZDc5ZDE3MGE3YTUxZDQ3Y2M1NTA4YWIxMzYzYWZhZjBkOTc2NTQzNzNkZmQ5YzhiYTBiIgorU1JDX1VSSSArPSAiIFwKKyAgICAgICAgICAgZmlsZTovL2RlZmluZS1OVF9HTlVfQlVJTERfSUQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtYnVpbGQtYW55dGhpbmctaW4taGVscC1hcy1pdC1yZXF1aXJlcy1pdHN0b29sLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitQQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5jb250YWluc19hbnkoJ0RJU1RST19GRUFUVVJFUycsICcke0dUSzNESVNUUk9GRUFUVVJFU30nLCAnZ3RrJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbZ3RrXSA9ICItRGVuYWJsZV9ndGs9dHJ1ZSwtRGVuYWJsZV9ndGs9ZmFsc2UsZ3RrKzMiCitQQUNLQUdFQ09ORklHW3N5c3Byb2ZkXSA9ICItRHdpdGhfc3lzcHJvZmQ9YnVuZGxlZCwtRHdpdGhfc3lzcHJvZmQ9bm9uZSxwb2xraXQiCisKK1NPTElCUyA9ICIuc28iCitGSUxFU19TT0xJQlNERVYgPSAiIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc3lzcHJvZmQnLCAnc3lzcHJvZjIuc2VydmljZScsICcnLCBkKX0iCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vbWV0YWluZm8gXAorICAgICAgICAgICAgICAgIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3RlbXRhcC9zeXN0ZW10YXAvMDAwMS1zdGFwcnVuLXN0YXBicGYtZG9uLXQtc3VwcG9ydC1pbnN0YWxsaW5nLWEtbm9uLXJvb3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzdGVtdGFwL3N5c3RlbXRhcC8wMDAxLXN0YXBydW4tc3RhcGJwZi1kb24tdC1zdXBwb3J0LWluc3RhbGxpbmctYS1ub24tcm9vdC5wYXRjaAppbmRleCA5ZjExNjQ4Li5lMmY4YjNiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzdGVtdGFwL3N5c3RlbXRhcC8wMDAxLXN0YXBydW4tc3RhcGJwZi1kb24tdC1zdXBwb3J0LWluc3RhbGxpbmctYS1ub24tcm9vdC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzdGVtdGFwL3N5c3RlbXRhcC8wMDAxLXN0YXBydW4tc3RhcGJwZi1kb24tdC1zdXBwb3J0LWluc3RhbGxpbmctYS1ub24tcm9vdC5wYXRjaApAQCAtMTQsNDkgKzE0LDI0IEBACiAgc3RhcHJ1bi9NYWtlZmlsZS5hbSB8IDEyICsrKysrKy0tLS0tLQogIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCiAKLWRpZmYgLS1naXQgYS9zdGFwYnBmL01ha2VmaWxlLmFtIGIvc3RhcGJwZi9NYWtlZmlsZS5hbQotaW5kZXggNDIxYjA0NGVmLi5mN2RhZWIyYjIgMTAwNjQ0Ci0tLS0gYS9zdGFwYnBmL01ha2VmaWxlLmFtCi0rKysgYi9zdGFwYnBmL01ha2VmaWxlLmFtCi1AQCAtMzksMTEgKzM5LDExIEBAIGdpdF92ZXJzaW9uLnN0YW1wIC4uL2dpdF92ZXJzaW9uLmg6CitJbmRleDogZ2l0L3N0YXBicGYvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9zdGFwYnBmL01ha2VmaWxlLmFtCisrKysgZ2l0L3N0YXBicGYvTWFrZWZpbGUuYW0KK0BAIC00MSwxMCArNDEsMTAgQEAKICAKICAjIFdoeSB0aGUgImlkIC11IiBjb25kaXRpb24/ICBUaGlzIHdheSwgYW4gdW5wcml2aWxlZ2VkIHVzZXIgY2FuIHJ1bgogICMgbWFrZSBpbnN0YWxsLCBhbmQgaGF2ZSAic3VkbyBzdGFwIC4uLi4iIG9yICJzdWRvIHN0YXBicGYgLi4uLiIgd29yayBsYXRlci4KIC1pbnN0YWxsLWV4ZWMtaG9vazoKLS0JaWYgWyBgaWQgLXVgIC1lcSAwIF07IHRoZW4gXAotLQkJZ2V0ZW50IGdyb3VwIHN0YXB1c3IgPi9kZXYvbnVsbCB8fCBncm91cGFkZCAtZyAxNTYgLXIgc3RhcHVzciAyPi9kZXYvbnVsbCB8fCBncm91cGFkZCAtciBzdGFwdXNyOyBcCi0tCQlnZXRlbnQgZ3JvdXAgc3RhcHVzciA+L2Rldi9udWxsIFwKLS0JCSYmIGNoZ3JwIHN0YXB1c3IgIiQoREVTVERJUikkKGJpbmRpcikvc3RhcGJwZiIgXAorLQlpZiBbIGBpZCAtdWAgLWVxIDAgXSAmJiAoZ2V0ZW50IGdyb3VwIHN0YXB1c3IgPi9kZXYvbnVsbCBcCistCSAgICAgICAgICAgICAgICAgICAgICAgICB8fCBncm91cGFkZCAtZiAtZyAxNTYgLXIgc3RhcHVzcik7IHRoZW4gXAorLQkJY2hncnAgc3RhcHVzciAiJChERVNURElSKSQoYmluZGlyKS9zdGFwYnBmIiBcCiAtCQkmJiBjaG1vZCAwNDExMCAiJChERVNURElSKSQoYmluZGlyKS9zdGFwYnBmIjsgXAogLQlmaQogKyNpbnN0YWxsLWV4ZWMtaG9vazoKLSsjCWlmIFsgYGlkIC11YCAtZXEgMCBdOyB0aGVuIFwKLSsjCQlnZXRlbnQgZ3JvdXAgc3RhcHVzciA+L2Rldi9udWxsIHx8IGdyb3VwYWRkIC1nIDE1NiAtciBzdGFwdXNyIDI+L2Rldi9udWxsIHx8IGdyb3VwYWRkIC1yIHN0YXB1c3I7IFwKLSsjCQlnZXRlbnQgZ3JvdXAgc3RhcHVzciA+L2Rldi9udWxsIFwKLSsjCQkmJiBjaGdycCBzdGFwdXNyICIkKERFU1RESVIpJChiaW5kaXIpL3N0YXBicGYiIFwKKysjIwlpZiBbIGBpZCAtdWAgLWVxIDAgXSAmJiAoZ2V0ZW50IGdyb3VwIHN0YXB1c3IgPi9kZXYvbnVsbCBcCisrIyMJICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGdyb3VwYWRkIC1mIC1nIDE1NiAtciBzdGFwdXNyKTsgdGhlbiBcCisrIyMJCWNoZ3JwIHN0YXB1c3IgIiQoREVTVERJUikkKGJpbmRpcikvc3RhcGJwZiIgXAogKyMJCSYmIGNobW9kIDA0MTEwICIkKERFU1RESVIpJChiaW5kaXIpL3N0YXBicGYiOyBcCiArIwlmaQogIGVuZGlmCi1kaWZmIC0tZ2l0IGEvc3RhcHJ1bi9NYWtlZmlsZS5hbSBiL3N0YXBydW4vTWFrZWZpbGUuYW0KLWluZGV4IDQwNzNhYTAxYy4uMjkyNWUzNGMzIDEwMDY0NAotLS0tIGEvc3RhcHJ1bi9NYWtlZmlsZS5hbQotKysrIGIvc3RhcHJ1bi9NYWtlZmlsZS5hbQotQEAgLTcyLDkgKzcyLDkgQEAgZ2l0X3ZlcnNpb24uc3RhbXAgLi4vZ2l0X3ZlcnNpb24uaDoKLSAKLSAjIFdoeSB0aGUgImlkIC11IiBjb25kaXRpb24/ICBUaGlzIHdheSwgYW4gdW5wcml2aWxlZ2VkIHVzZXIgY2FuIHJ1bgotICMgbWFrZSBpbnN0YWxsLCBhbmQgaGF2ZSAic3VkbyBzdGFwIC4uLi4iIG9yICJzdWRvIHN0YXBydW4gLi4uLiIgd29yayBsYXRlci4KLS1pbnN0YWxsLWV4ZWMtaG9vazoKLS0JaWYgWyBgaWQgLXVgIC1lcSAwIF07IHRoZW4gXAotLQkJZ2V0ZW50IGdyb3VwIHN0YXB1c3IgPi9kZXYvbnVsbCB8fCBncm91cGFkZCAtZyAxNTYgLXIgc3RhcHVzciAyPi9kZXYvbnVsbCB8fCBncm91cGFkZCAtciBzdGFwdXNyOyBcCi0tCQlnZXRlbnQgZ3JvdXAgc3RhcHVzciA+L2Rldi9udWxsICYmIGNoZ3JwIHN0YXB1c3IgIiQoREVTVERJUikkKGJpbmRpcikvc3RhcHJ1biI7IFwKLS0JCWNobW9kIDA0MTEwICIkKERFU1RESVIpJChiaW5kaXIpL3N0YXBydW4iOyBcCi0tCWZpCi0rI2luc3RhbGwtZXhlYy1ob29rOgotKyMJaWYgWyBgaWQgLXVgIC1lcSAwIF07IHRoZW4gXAotKyMJCWdldGVudCBncm91cCBzdGFwdXNyID4vZGV2L251bGwgfHwgZ3JvdXBhZGQgLWcgMTU2IC1yIHN0YXB1c3IgMj4vZGV2L251bGwgfHwgZ3JvdXBhZGQgLXIgc3RhcHVzcjsgXAotKyMJCWdldGVudCBncm91cCBzdGFwdXNyID4vZGV2L251bGwgJiYgY2hncnAgc3RhcHVzciAiJChERVNURElSKSQoYmluZGlyKS9zdGFwcnVuIjsgXAotKyMJCWNobW9kIDA0MTEwICIkKERFU1RESVIpJChiaW5kaXIpL3N0YXBydW4iOyBcCi0rIwlmaQotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3RlbXRhcC9zeXN0ZW10YXBfZ2l0LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXN0ZW10YXAvc3lzdGVtdGFwX2dpdC5pbmMKaW5kZXggMjc0ZmNkZS4uNTRkZTcyMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3RlbXRhcC9zeXN0ZW10YXBfZ2l0LmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzdGVtdGFwL3N5c3RlbXRhcF9naXQuaW5jCkBAIC0xLDYgKzEsNiBAQAogTElDRU5TRSA9ICJHUEx2MiIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotU1JDUkVWID0gIjQyOGY4NGU5ZTY1NmJjZTcxMDE4ZTg5MDJlNGVkYjhhYWNhZmNjMGUiCitTUkNSRVYgPSAiOTBmZjM0YWMwNTA2ZjBkNTQ0MDM5M2E0Yzc4NTY1ZjZhYWY5YjcyNiIKIFBWID0gIjQuMCIKIAogU1JDX1VSSSA9ICJnaXQ6Ly9zb3VyY2V3YXJlLm9yZy9naXQvc3lzdGVtdGFwLmdpdCBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS1saWJfMS4xLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS1saWJfMS4xLjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1ZTdhM2MuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtbGliXzEuMS42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotU1VNTUFSWSA9ICJBTFNBIHNvdW5kIGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmFsc2EtcHJvamVjdC5vcmciCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9hbHNhLXByb2plY3Qub3JnL21haW4vaW5kZXgucGhwL0J1Z19UcmFja2luZyIKLVNFQ1RJT04gPSAibGlicy9tdWx0aW1lZGlhIgotTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWE5MTY0NjdiOTEwNzZlNjMxZGQ4ZWRiNzQyNDc2OWM3IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9zb2NrZXQuYzttZDU9ZGQxYmM3ZjQ0ODcyNjkwMjI0ZDg5YzFhOTgwNmU0OTU7YmVnaW5saW5lPTE7ZW5kbGluZT0yNiBcCi0gICAgICAgICAgICAgICAgICAgICIKLQotU1JDX1VSSSA9ICJmdHA6Ly9mdHAuYWxzYS1wcm9qZWN0Lm9yZy9wdWIvbGliLyR7QlB9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiMmY5ODFhOGY3ODk3YzU5ZWMyZGRjNDQ5MTZkMzM3ODgiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWYyY2QyNzRiMjcyY2FlMGQwZDExMWU4YTllMzYzZjA4NzgzMzI5MTU3ZThkZDY4YjNkZTBjMDk2ZGU2ZDcyNCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLUVYVFJBX09FQ09ORiArPSAiIFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnVEFSR0VUX0ZQVScsICdzb2Z0JywgJy0td2l0aC1zb2Z0ZmxvYXQnLCAnJywgZCl9IFwKLSAgICAtLWRpc2FibGUtcHl0aG9uIFwKLSIKLQotUEFDS0FHRVMgPSsgImFsc2Etc2VydmVyIGFsc2EtY29uZiBhbHNhLWRvYyIKLQotRklMRVNfYWxzYS1zZXJ2ZXIgPSAiJHtiaW5kaXJ9LyoiCi1GSUxFU19hbHNhLWNvbmYgPSAiJHtkYXRhZGlyfS9hbHNhLyIKLQotUkRFUEVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ID0gImFsc2EtY29uZiIKLQotIyB1cGdyYWRlIHBhdGgKLVJQUk9WSURFU18ke1BOfSA9ICJsaWJhc291bmQiCi1SUkVQTEFDRVNfJHtQTn0gPSAibGliYXNvdW5kIgotUkNPTkZMSUNUU18ke1BOfSA9ICJsaWJhc291bmQiCi0KLVJQUk9WSURFU18ke1BOfS1kZXYgPSAiYWxzYS1kZXYiCi1SUkVQTEFDRVNfJHtQTn0tZGV2ID0gImFsc2EtZGV2IgotUkNPTkZMSUNUU18ke1BOfS1kZXYgPSAiYWxzYS1kZXYiCi0KLVJQUk9WSURFU19hbHNhLWNvbmYgPSAiYWxzYS1jb25mLWJhc2UiCi1SUkVQTEFDRVNfYWxzYS1jb25mID0gImFsc2EtY29uZi1iYXNlIgotUkNPTkZMSUNUU19hbHNhLWNvbmYgPSAiYWxzYS1jb25mLWJhc2UiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLWxpYl8xLjEuOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLWxpYl8xLjEuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NmNjOTYyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtbGliXzEuMS44LmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiQUxTQSBzb3VuZCBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hbHNhLXByb2plY3Qub3JnIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vYWxzYS1wcm9qZWN0Lm9yZy9tYWluL2luZGV4LnBocC9CdWdfVHJhY2tpbmciCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hOTE2NDY3YjkxMDc2ZTYzMWRkOGVkYjc0MjQ3NjljNyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvc29ja2V0LmM7bWQ1PWRkMWJjN2Y0NDg3MjY5MDIyNGQ4OWMxYTk4MDZlNDk1O2JlZ2lubGluZT0xO2VuZGxpbmU9MjYgXAorICAgICAgICAgICAgICAgICAgICAiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93d3cuYWxzYS1wcm9qZWN0Lm9yZy9maWxlcy9wdWIvbGliLyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiMGVlYzBkNjU3YTA3OTI3Nzk1ODA5YzhmODdmYjc2Y2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2NkYzNhOTNhNjQyN2EyNmQ4ZWZhYjRhZGEyMTUyZTY0ZGQ4OTE0MGQ5ODFmNmZmYTAwM2U4NWJlNzA3YWVkZiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiArPSAiIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnVEFSR0VUX0ZQVScsICdzb2Z0JywgJy0td2l0aC1zb2Z0ZmxvYXQnLCAnJywgZCl9IFwKKyAgICAtLWRpc2FibGUtcHl0aG9uIFwKKyIKKworUEFDS0FHRVMgPSsgImFsc2Etc2VydmVyIGFsc2EtY29uZiBhbHNhLWRvYyIKKworRklMRVNfYWxzYS1zZXJ2ZXIgPSAiJHtiaW5kaXJ9LyoiCitGSUxFU19hbHNhLWNvbmYgPSAiJHtkYXRhZGlyfS9hbHNhLyIKKworUkRFUEVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ID0gImFsc2EtY29uZiIKKworIyB1cGdyYWRlIHBhdGgKK1JQUk9WSURFU18ke1BOfSA9ICJsaWJhc291bmQiCitSUkVQTEFDRVNfJHtQTn0gPSAibGliYXNvdW5kIgorUkNPTkZMSUNUU18ke1BOfSA9ICJsaWJhc291bmQiCisKK1JQUk9WSURFU18ke1BOfS1kZXYgPSAiYWxzYS1kZXYiCitSUkVQTEFDRVNfJHtQTn0tZGV2ID0gImFsc2EtZGV2IgorUkNPTkZMSUNUU18ke1BOfS1kZXYgPSAiYWxzYS1kZXYiCisKK1JQUk9WSURFU19hbHNhLWNvbmYgPSAiYWxzYS1jb25mLWJhc2UiCitSUkVQTEFDRVNfYWxzYS1jb25mID0gImFsc2EtY29uZi1iYXNlIgorUkNPTkZMSUNUU19hbHNhLWNvbmYgPSAiYWxzYS1jb25mLWJhc2UiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXBsdWdpbnNfMS4xLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS1wbHVnaW5zXzEuMS42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxN2MxODc5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXBsdWdpbnNfMS4xLjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMDMgKzAsMCBAQAotU1VNTUFSWSA9ICJBTFNBIFBsdWdpbnMiCi1IT01FUEFHRSA9ICJodHRwOi8vYWxzYS1wcm9qZWN0Lm9yZyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2Fsc2EtcHJvamVjdC5vcmcvbWFpbi9pbmRleC5waHAvQnVnX1RyYWNraW5nIgotU0VDVElPTiA9ICJtdWx0aW1lZGlhIgotCi0jIFRoZSBwcmltYXJ5IGxpY2Vuc2Ugb2YgYWxzYS1wbHVnaW5zIGlzIExHUEx2Mi4xLgotIwotIyBtNC9hdHRyaWJ1dGVzLm00IGlzIGxpY2Vuc2VkIHVuZGVyIEdQTHYyKy4gbTQvYXR0cmlidXRlcy5tNCBpcyBwYXJ0IG9mIHRoZQotIyBidWlsZCBzeXN0ZW0sIGFuZCBkb2Vzbid0IGFmZmVjdCB0aGUgbGljZW5zaW5nIG9mIHRoZSBidWlsZCByZXN1bHQuCi0jCi0jIFRoZSBzYW1wbGVyYXRlIHBsdWdpbiBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciBHUEx2MisgdG8gYmUgY29uc2lzdGVudAotIyB3aXRoIHRoZSBsaWJzYW1wbGVyYXRlIGxpY2Vuc2UuIEhvd2V2ZXIsIGlmIHRoZSBsaWNlbnNlZSBoYXMgYSBjb21tZXJjaWFsCi0jIGxpY2Vuc2UgZm9yIGxpYnNhbXBsZXJhdGUsIHRoZSBzYW1wbGVyYXRlIHBsdWdpbiBtYXkgYmUgdXNlZCB1bmRlciB0aGUgdGVybXMKLSMgb2YgTEdQTHYyLjEgbGlrZSB0aGUgcmVzdCBvZiB0aGUgcGx1Z2lucy4KLUxJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gIlwKLSAgICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWE5MTY0NjdiOTEwNzZlNjMxZGQ4ZWRiNzQyNDc2OWM3IFwKLSAgICAgICAgZmlsZTovL0NPUFlJTkcuR1BMO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCi0gICAgICAgIGZpbGU6Ly9tNC9hdHRyaWJ1dGVzLm00O2VuZGxpbmU9MzM7bWQ1PWIyNTk1OGRhNDRjMDIyMzFlMzY0MWYxYmNjZWY1M2ViIFwKLSAgICAgICAgZmlsZTovL3JhdGUvcmF0ZV9zYW1wbGVyYXRlLmM7ZW5kbGluZT0zNTttZDU9ZmQ3N2JjZTg1ZjRhMzM4YzBlOGFiMTg0MzBiNjlmYWUgXAotIgotCi1TUkNfVVJJID0gImZ0cDovL2Z0cC5hbHNhLXByb2plY3Qub3JnL3B1Yi9wbHVnaW5zLyR7QlB9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiODM4NzI3OWU5OWZlZWIyZWNmZmFhYzVmMjkzMjIzZDciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmYxZDMxZWJlM2IxZmExY2M4ZGFkZTYwYjdiZWQxY2IyNTgzYWM5OTgxNjcwMDJkMzUwZGMwYTVlM2U0MGMxMyIKLQotREVQRU5EUyArPSAiYWxzYS1saWIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1QQUNLQUdFQ09ORklHID8/PSAiXAotICAgICAgICBzYW1wbGVyYXRlIFwKLSAgICAgICAgc3BlZXhkc3AgXAotICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwdWxzZWF1ZGlvJywgZCl9IFwKLSIKLVBBQ0tBR0VDT05GSUdbYXZjb2RlY10gPSAiLS1lbmFibGUtYXZjb2RlYywtLWRpc2FibGUtYXZjb2RlYyxsaWJhdiIKLVBBQ0tBR0VDT05GSUdbamFja10gPSAiLS1lbmFibGUtamFjaywtLWRpc2FibGUtamFjayxqYWNrIgotUEFDS0FHRUNPTkZJR1ttYWVtby1wbHVnaW5dID0gIi0tZW5hYmxlLW1hZW1vLXBsdWdpbiwtLWRpc2FibGUtbWFlbW8tcGx1Z2luIgotUEFDS0FHRUNPTkZJR1ttYWVtby1yZXNvdXJjZS1tYW5hZ2VyXSA9ICItLWVuYWJsZS1tYWVtby1yZXNvdXJjZS1tYW5hZ2VyLC0tZGlzYWJsZS1tYWVtby1yZXNvdXJjZS1tYW5hZ2VyLGRidXMiCi1QQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi0tZW5hYmxlLXB1bHNlYXVkaW8sLS1kaXNhYmxlLXB1bHNlYXVkaW8scHVsc2VhdWRpbyIKLVBBQ0tBR0VDT05GSUdbc2FtcGxlcmF0ZV0gPSAiLS1lbmFibGUtc2FtcGxlcmF0ZSwtLWRpc2FibGUtc2FtcGxlcmF0ZSxsaWJzYW1wbGVyYXRlMCIKLVBBQ0tBR0VDT05GSUdbc3BlZXhkc3BdID0gIi0td2l0aC1zcGVleD1saWIsLS13aXRoLXNwZWV4PW5vLHNwZWV4ZHNwIgotCi1QQUNLQUdFUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHVsc2VhdWRpbycsICdhbHNhLXBsdWdpbnMtcHVsc2VhdWRpby1jb25mJywgJycsIGQpfSIKLQotUEFDS0FHRVNfRFlOQU1JQyA9ICJebGliYXNvdW5kLW1vZHVsZS0uKiIKLQotIyBUaGUgYWxzYS1wbHVnaW5zIHBhY2thZ2UgZG9lc24ndCBpdHNlbGYgY29udGFpbiBhbnl0aGluZywgaXQganVzdCBkZXBlbmRzIG9uCi0jIGFsbCBidWlsdCBwbHVnaW5zLgotQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0Jcm0gJHtEfSR7bGliZGlyfS9hbHNhLWxpYi8qLmxhCi0KLQkjIFdlIHVzZSB0aGUgZXhhbXBsZSBhcyBpcywgc28ganVzdCBkcm9wIHRoZSAuZXhhbXBsZSBzdWZmaXguCi0JaWYgWyAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHVsc2VhdWRpbycsICd5ZXMnLCAnbm8nLCBkKX0iID0gInllcyIgXTsgdGhlbgotCQltdiAke0R9JHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzk5LXB1bHNlYXVkaW8tZGVmYXVsdC5jb25mLmV4YW1wbGUgJHtEfSR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC85OS1wdWxzZWF1ZGlvLWRlZmF1bHQuY29uZgotCWZpCi19Ci0KLXB5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kKCkgewotICAgIHBsdWdpbmRpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0vYWxzYS1saWIvJykKLSAgICBwYWNrYWdlcyA9ICIgIi5qb2luKGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbmRpciwgJ15saWJhc291bmRfbW9kdWxlXyguKilcLnNvJCcsICdsaWJhc291bmQtbW9kdWxlLSVzJywgJ0Fsc2EgcGx1Z2luIGZvciAlcycsIGV4dHJhX2RlcGVuZHM9JycpKQotICAgIGQuc2V0VmFyKCJSREVQRU5EU19hbHNhLXBsdWdpbnMiLCBwYWNrYWdlcykKLX0KLQotIyBUaGUgcmF0ZSBwbHVnaW5zIGNyZWF0ZSBzb21lIHN5bWxpbmtzLiBGb3IgZXhhbXBsZSwgdGhlIHNhbXBsZXJhdGUgcGx1Z2luCi0jIGNyZWF0ZXMgdGhlc2UgbGlua3MgdG8gdGhlIG1haW4gcGx1Z2luIGZpbGU6Ci0jCi0jICAgbGliYXNvdW5kX21vZHVsZV9yYXRlX3NhbXBsZXJhdGVfYmVzdC5zbwotIyAgIGxpYmFzb3VuZF9tb2R1bGVfcmF0ZV9zYW1wbGVyYXRlX2xpbmVhci5zbwotIyAgIGxpYmFzb3VuZF9tb2R1bGVfcmF0ZV9zYW1wbGVyYXRlX21lZGl1bS5zbwotIyAgIGxpYmFzb3VuZF9tb2R1bGVfcmF0ZV9zYW1wbGVyYXRlX29yZGVyLnNvCi0jCi0jIFRoZSBvdGhlciByYXRlIHBsdWdpbnMgY3JlYXRlIHNpbWlsYXIgbGlua3MuIFdlIGhhdmUgdG8gYWRkIHRoZSBsaW5rcyB0bwotIyBGSUxFUyBtYW51YWxseSwgYmVjYXVzZSBkb19zcGxpdF9wYWNrYWdlcygpIHNraXBzIHRoZSBsaW5rcyAod2hpY2ggaXMgZ29vZCwKLSMgYmVjYXVzZSB3ZSB3b3VsZG4ndCB3YW50IGRvX3NwbGl0X3BhY2thZ2VzKCkgdG8gY3JlYXRlIHNlcGFyYXRlIHBhY2thZ2VzIGZvcgotIyB0aGUgc3ltbGlua3MpLgotIwotIyBUaGUgc3ltbGlua3MgY2F1c2UgUUEgZXJyb3JzLCBiZWNhdXNlIHVzdWFsbHkgaXQncyBhIGJ1ZyBpZiBhIG5vbgotIyAtZGV2Ly1kYmcvLW5hdGl2ZXNkayBwYWNrYWdlIGNvbnRhaW5zIGxpbmtzIHRvIC5zbyBmaWxlcywgYnV0IGluIHRoaXMgY2FzZQotIyB0aGUgZXJyb3JzIGFyZSBmYWxzZSBwb3NpdGl2ZXMsIHNvIHdlIGRpc2FibGUgdGhlIFFBIGNoZWNrcy4KLUZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLWxhdmNyYXRlICs9ICIke2xpYmRpcn0vYWxzYS1saWIvKnJhdGVfbGF2Y3JhdGVfKi5zbyIKLUZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLXNhbXBsZXJhdGUgKz0gIiR7bGliZGlyfS9hbHNhLWxpYi8qcmF0ZV9zYW1wbGVyYXRlXyouc28iCi1GSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcmF0ZS1zcGVleHJhdGUgKz0gIiR7bGliZGlyfS9hbHNhLWxpYi8qcmF0ZV9zcGVleHJhdGVfKi5zbyIKLUlOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLWxhdmNyYXRlID0gImRldi1zbyIKLUlOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLXNhbXBsZXJhdGUgPSAiZGV2LXNvIgotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXJhdGUtc3BlZXhyYXRlID0gImRldi1zbyIKLQotIyA1MC1wdWxzZWF1ZGlvLmNvbmYgZGVmaW5lcyBhIGRldmljZSBuYW1lZCAicHVsc2UiIHRoYXQgYXBwbGljYXRpb25zIGNhbiB1c2UKLSMgaWYgdGhleSBleHBsaWNpdGx5IHdhbnQgdG8gdXNlIHRoZSBQdWxzZUF1ZGlvIHBsdWdpbi4KLSMgOTktcHVsc2VhdWRpby1kZWZhdWx0LmNvbmYgY29uZmlndXJlcyB0aGUgImRlZmF1bHQiIGRldmljZSB0byB1c2UgdGhlCi0jIFB1bHNlQXVkaW8gcGx1Z2luLgotRklMRVNfJHtQTn0tcHVsc2VhdWRpby1jb25mICs9ICJcCi0gICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC81MC1wdWxzZWF1ZGlvLmNvbmYgXAotICAgICAgICAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvOTktcHVsc2VhdWRpby1kZWZhdWx0LmNvbmYgXAotIgotCi1SREVQRU5EU18ke1BOfS1wdWxzZWF1ZGlvLWNvbmYgKz0gIlwKLSAgICAgICAgbGliYXNvdW5kLW1vZHVsZS1jb25mLXB1bHNlIFwKLSAgICAgICAgbGliYXNvdW5kLW1vZHVsZS1jdGwtcHVsc2UgXAotICAgICAgICBsaWJhc291bmQtbW9kdWxlLXBjbS1wdWxzZSBcCi0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS1wbHVnaW5zXzEuMS44LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtcGx1Z2luc18xLjEuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDljYzA2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtcGx1Z2luc18xLjEuOC5iYgpAQCAtMCwwICsxLDE3MyBAQAorU1VNTUFSWSA9ICJBTFNBIFBsdWdpbnMiCitIT01FUEFHRSA9ICJodHRwOi8vYWxzYS1wcm9qZWN0Lm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2Fsc2EtcHJvamVjdC5vcmcvbWFpbi9pbmRleC5waHAvQnVnX1RyYWNraW5nIgorU0VDVElPTiA9ICJtdWx0aW1lZGlhIgorCisjIFRoZSBwcmltYXJ5IGxpY2Vuc2Ugb2YgYWxzYS1wbHVnaW5zIGlzIExHUEx2Mi4xLgorIworIyBtNC9hdHRyaWJ1dGVzLm00IGlzIGxpY2Vuc2VkIHVuZGVyIEdQTHYyKy4gbTQvYXR0cmlidXRlcy5tNCBpcyBwYXJ0IG9mIHRoZQorIyBidWlsZCBzeXN0ZW0sIGFuZCBkb2Vzbid0IGFmZmVjdCB0aGUgbGljZW5zaW5nIG9mIHRoZSBidWlsZCByZXN1bHQuCisjCisjIFRoZSBzYW1wbGVyYXRlIHBsdWdpbiBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciBHUEx2MisgdG8gYmUgY29uc2lzdGVudAorIyB3aXRoIHRoZSBsaWJzYW1wbGVyYXRlIGxpY2Vuc2UuIEhvd2V2ZXIsIGlmIHRoZSBsaWNlbnNlZSBoYXMgYSBjb21tZXJjaWFsCisjIGxpY2Vuc2UgZm9yIGxpYnNhbXBsZXJhdGUsIHRoZSBzYW1wbGVyYXRlIHBsdWdpbiBtYXkgYmUgdXNlZCB1bmRlciB0aGUgdGVybXMKKyMgb2YgTEdQTHYyLjEgbGlrZSB0aGUgcmVzdCBvZiB0aGUgcGx1Z2lucy4KK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gIlwKKyAgICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWE5MTY0NjdiOTEwNzZlNjMxZGQ4ZWRiNzQyNDc2OWM3IFwKKyAgICAgICAgZmlsZTovL0NPUFlJTkcuR1BMO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCisgICAgICAgIGZpbGU6Ly9tNC9hdHRyaWJ1dGVzLm00O2VuZGxpbmU9MzM7bWQ1PWIyNTk1OGRhNDRjMDIyMzFlMzY0MWYxYmNjZWY1M2ViIFwKKyAgICAgICAgZmlsZTovL3JhdGUvcmF0ZV9zYW1wbGVyYXRlLmM7ZW5kbGluZT0zNTttZDU9ZmQ3N2JjZTg1ZjRhMzM4YzBlOGFiMTg0MzBiNjlmYWUgXAorIgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LmFsc2EtcHJvamVjdC5vcmcvZmlsZXMvcHViL3BsdWdpbnMvJHtCUH0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMGY4NzIxMWQxNTYwZjJjMDdjOGVhZTQyOTdiYzRmNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3Zjc3ZGYxNzE2ODVjY2VjOTE4MjY4NDc3NjIzYTM5ZGI0ZDlmMzJkNWRjNWU3Njg3NGVmMjQ2N2EyNDA1OTk0IgorCitERVBFTkRTICs9ICJhbHNhLWxpYiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz89ICJcCisgICAgICAgIHNhbXBsZXJhdGUgXAorICAgICAgICBzcGVleGRzcCBcCisgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCBkKX0gXAorIgorUEFDS0FHRUNPTkZJR1thYWZdID0gIi0tZW5hYmxlLWFhZiwtLWRpc2FibGUtYWFmLGF2dHAiCitQQUNLQUdFQ09ORklHW2phY2tdID0gIi0tZW5hYmxlLWphY2ssLS1kaXNhYmxlLWphY2ssamFjayIKK1BBQ0tBR0VDT05GSUdbbGliYXZdID0gIi0tZW5hYmxlLWxpYmF2LC0tZGlzYWJsZS1saWJhdixsaWJhdiIKK1BBQ0tBR0VDT05GSUdbbWFlbW8tcGx1Z2luXSA9ICItLWVuYWJsZS1tYWVtby1wbHVnaW4sLS1kaXNhYmxlLW1hZW1vLXBsdWdpbiIKK1BBQ0tBR0VDT05GSUdbbWFlbW8tcmVzb3VyY2UtbWFuYWdlcl0gPSAiLS1lbmFibGUtbWFlbW8tcmVzb3VyY2UtbWFuYWdlciwtLWRpc2FibGUtbWFlbW8tcmVzb3VyY2UtbWFuYWdlcixkYnVzIgorUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItLWVuYWJsZS1wdWxzZWF1ZGlvLC0tZGlzYWJsZS1wdWxzZWF1ZGlvLHB1bHNlYXVkaW8iCitQQUNLQUdFQ09ORklHW3NhbXBsZXJhdGVdID0gIi0tZW5hYmxlLXNhbXBsZXJhdGUsLS1kaXNhYmxlLXNhbXBsZXJhdGUsbGlic2FtcGxlcmF0ZTAiCitQQUNLQUdFQ09ORklHW3NwZWV4ZHNwXSA9ICItLXdpdGgtc3BlZXg9bGliLC0td2l0aC1zcGVleD1ubyxzcGVleGRzcCIKKworUEFDS0FHRVMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B1bHNlYXVkaW8nLCAnYWxzYS1wbHVnaW5zLXB1bHNlYXVkaW8tY29uZicsICcnLCBkKX0iCisKK1BBQ0tBR0VTX0RZTkFNSUMgPSAiXmxpYmFzb3VuZC1tb2R1bGUtLioiCisKKyMgVGhlIGFsc2EtcGx1Z2lucyBwYWNrYWdlIGRvZXNuJ3QgaXRzZWxmIGNvbnRhaW4gYW55dGhpbmcsIGl0IGp1c3QgZGVwZW5kcyBvbgorIyBhbGwgYnVpbHQgcGx1Z2lucy4KK0ZJTEVTXyR7UE59ID0gIiIKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCXJtICR7RH0ke2xpYmRpcn0vYWxzYS1saWIvKi5sYQorCisJaWYgWyAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHVsc2VhdWRpbycsICd5ZXMnLCAnbm8nLCBkKX0iID0gInllcyIgXTsgdGhlbgorCQkjIFdlIHVzZSB0aGUgZXhhbXBsZSBhcyBpcy4gVXBzdHJlYW0gaW5zdGFsbHMgdGhlIGZpbGUgdW5kZXIKKwkJIyAvZXRjLCBidXQgd2UgbW92ZSBpdCB1bmRlciAvdXNyL3NoYXJlIGFuZCBhZGQgYSBzeW1saW5rIHVuZGVyCisJCSMgL2V0YyB0byBiZSBjb25zaXN0ZW50IHdpdGggb3RoZXIgaW5zdGFsbGVkIGNvbmZpZ3VyYXRpb24KKwkJIyBmaWxlcy4KKwkJbXYgJHtEfSR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvOTktcHVsc2VhdWRpby1kZWZhdWx0LmNvbmYuZXhhbXBsZSAke0R9JHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzk5LXB1bHNlYXVkaW8tZGVmYXVsdC5jb25mCisJCWxuIC1zICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC85OS1wdWxzZWF1ZGlvLWRlZmF1bHQuY29uZiAke0R9JHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC85OS1wdWxzZWF1ZGlvLWRlZmF1bHQuY29uZgorCWZpCit9CisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kKCkgeworICAgIHBsdWdpbmRpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0vYWxzYS1saWIvJykKKyAgICBwYWNrYWdlcyA9ICIgIi5qb2luKGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbmRpciwgcidebGliYXNvdW5kX21vZHVsZV8oLiopXC5zbyQnLCAnbGliYXNvdW5kLW1vZHVsZS0lcycsICdBbHNhIHBsdWdpbiBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnKSkKKyAgICBkLnNldFZhcigiUkRFUEVORFNfYWxzYS1wbHVnaW5zIiwgcGFja2FnZXMpCit9CisKKyMgTWFueSBwbHVnaW5zIGhhdmUgYSBjb25maWd1cmF0aW9uIGZpbGUgKHBsdXMgYSBzeW1saW5rIGluIC9ldGMpIGFzc29jaWF0ZWQKKyMgd2l0aCB0aGVtLiBXZSBwdXQgdGhlIHBsdWdpbiBhbmQgaXQncyBjb25maWd1cmF0aW9uIHVzdWFsbHkgaW4gdGhlIHNhbWUKKyMgcGFja2FnZSwgYnV0IHRoYXQncyBwcm9ibGVtYXRpYyB3aGVuIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgaXMgcmVsYXRlZCB0bworIyBtdWx0aXBsZSBwbHVnaW5zLCBhcyBpcyB0aGUgY2FzZSB3aXRoIHRoZSBwdWxzZSwgb3NzIGFuZCBtYWVtbyBwbHVnaW5zLiBJbgorIyBjYXNlIG9mIHRoZSBwdWxzZSBwbHVnaW5zLCB3ZSBoYXZlIGEgc2VwYXJhdGUgYWxzYS1wbHVnaW5zLXB1bHNlYXVkaW8tY29uZgorIyBwYWNrYWdlIHRoYXQgZGVwZW5kcyBvbiBhbGwgdGhlIHB1bHNlIHBsdWdpbnMsIHdoaWNoIGVuc3VyZXMgdGhhdCBhbGwgcGx1Z2lucworIyB0aGF0IHRoZSBjb25maWd1cmF0aW9uIHJlZmVyZW5jZXMgYXJlIGluc3RhbGxlZC4gVGhlIG9zcyBhbmQgbWFlbW8KKyMgY29uZmlndXJhdGlvbiBmaWxlcywgb24gdGhlIG90aGVyIGhhbmQsIGFyZSBpbiB0aGUgcmVzcGVjdGl2ZSBwY20gcGx1Z2luCisjIHBhY2thZ2VzLiBUaGVyZWZvcmUgaXQncyBwb3NzaWJsZSB0byBpbnN0YWxsIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgd2l0aG91dAorIyB0aGUgY3RsIHBsdWdpbiB0aGF0IHRoZSBjb25maWd1cmF0aW9uIGZpbGUgcmVmZXJlbmNlcy4gVGhpcyBpcyB1bmxpa2VseSB0bworIyBjYXVzZSBiaWcgcHJvYmxlbXMsIGJ1dCBzb21lIGtpbmQgb2YgaW1wcm92ZW1lbnQgdG8gdGhlIHBhY2thZ2luZyBjb3VsZAorIyBwcm9iYWJseSBiZSBkb25lIGhlcmUgKGF0IGxlYXN0IGl0IHdvdWxkIGJlIGdvb2QgdG8gaGFuZGxlIHRoZSBkaWZmZXJlbnQKKyMgcGx1Z2lucyBpbiBhIGNvbnNpc3RlbnQgd2F5KS4KK0ZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1jdGwtYXJjYW0tYXYgKz0gIlwKKyAgICAgICAgJHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzUwLWFyY2FtLWF2LWN0bC5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC81MC1hcmNhbS1hdi1jdGwuY29uZiBcCisiCitGSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcGNtLWE1MiArPSAiXAorICAgICAgICAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvNjAtYTUyLWVuY29kZXIuY29uZiBcCisgICAgICAgICR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvNjAtYTUyLWVuY29kZXIuY29uZiBcCisiCitGSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcGNtLWFsc2EtZHNwICs9ICJcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC85OC1tYWVtby5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC85OC1tYWVtby5jb25mIFwKKyIKK0ZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1wY20tamFjayArPSAiXAorICAgICAgICAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvNTAtamFjay5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC81MC1qYWNrLmNvbmYgXAorIgorRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXBjbS1vc3MgKz0gIlwKKyAgICAgICAgJHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzUwLW9zcy5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC81MC1vc3MuY29uZiBcCisiCitGSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcGNtLXNwZWV4ICs9ICJcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC82MC1zcGVleC5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC82MC1zcGVleC5jb25mIFwKKyIKK0ZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1wY20tdXBtaXggKz0gIlwKKyAgICAgICAgJHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzYwLXVwbWl4LmNvbmYgXAorICAgICAgICAke3N5c2NvbmZkaXJ9L2Fsc2EvY29uZi5kLzYwLXVwbWl4LmNvbmYgXAorIgorRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXBjbS11c2Itc3RyZWFtICs9ICJcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC85OC11c2Itc3RyZWFtLmNvbmYgXAorICAgICAgICAke3N5c2NvbmZkaXJ9L2Fsc2EvY29uZi5kLzk4LXVzYi1zdHJlYW0uY29uZiBcCisiCitGSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcGNtLXZkb3dubWl4ICs9ICJcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC82MC12ZG93bm1peC5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC82MC12ZG93bm1peC5jb25mIFwKKyIKK0ZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLWxhdnJhdGUgKz0gIlwKKyAgICAgICAgJHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzEwLXJhdGUtbGF2LmNvbmYgXAorICAgICAgICAke3N5c2NvbmZkaXJ9L2Fsc2EvY29uZi5kLzEwLXJhdGUtbGF2LmNvbmYgXAorIgorRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXJhdGUtc2FtcGxlcmF0ZSArPSAiXAorICAgICAgICAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvMTAtc2FtcGxlcmF0ZS5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC8xMC1zYW1wbGVyYXRlLmNvbmYgXAorIgorRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXJhdGUtc3BlZXhyYXRlICs9ICJcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC8xMC1zcGVleHJhdGUuY29uZiBcCisgICAgICAgICR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvMTAtc3BlZXhyYXRlLmNvbmYgXAorIgorCisjIFRoZSByYXRlIHBsdWdpbnMgY3JlYXRlIHNvbWUgc3ltbGlua3MuIEZvciBleGFtcGxlLCB0aGUgc2FtcGxlcmF0ZSBwbHVnaW4KKyMgY3JlYXRlcyB0aGVzZSBsaW5rcyB0byB0aGUgbWFpbiBwbHVnaW4gZmlsZToKKyMKKyMgICBsaWJhc291bmRfbW9kdWxlX3JhdGVfc2FtcGxlcmF0ZV9iZXN0LnNvCisjICAgbGliYXNvdW5kX21vZHVsZV9yYXRlX3NhbXBsZXJhdGVfbGluZWFyLnNvCisjICAgbGliYXNvdW5kX21vZHVsZV9yYXRlX3NhbXBsZXJhdGVfbWVkaXVtLnNvCisjICAgbGliYXNvdW5kX21vZHVsZV9yYXRlX3NhbXBsZXJhdGVfb3JkZXIuc28KKyMKKyMgVGhlIG90aGVyIHJhdGUgcGx1Z2lucyBjcmVhdGUgc2ltaWxhciBsaW5rcy4gV2UgaGF2ZSB0byBhZGQgdGhlIGxpbmtzIHRvCisjIEZJTEVTIG1hbnVhbGx5LCBiZWNhdXNlIGRvX3NwbGl0X3BhY2thZ2VzKCkgc2tpcHMgdGhlIGxpbmtzICh3aGljaCBpcyBnb29kLAorIyBiZWNhdXNlIHdlIHdvdWxkbid0IHdhbnQgZG9fc3BsaXRfcGFja2FnZXMoKSB0byBjcmVhdGUgc2VwYXJhdGUgcGFja2FnZXMgZm9yCisjIHRoZSBzeW1saW5rcykuCisjCisjIFRoZSBzeW1saW5rcyBjYXVzZSBRQSBlcnJvcnMsIGJlY2F1c2UgdXN1YWxseSBpdCdzIGEgYnVnIGlmIGEgbm9uCisjIC1kZXYvLWRiZy8tbmF0aXZlc2RrIHBhY2thZ2UgY29udGFpbnMgbGlua3MgdG8gLnNvIGZpbGVzLCBidXQgaW4gdGhpcyBjYXNlCisjIHRoZSBlcnJvcnMgYXJlIGZhbHNlIHBvc2l0aXZlcywgc28gd2UgZGlzYWJsZSB0aGUgUUEgY2hlY2tzLgorRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXJhdGUtbGF2cmF0ZSArPSAiJHtsaWJkaXJ9L2Fsc2EtbGliLypyYXRlX2xhdnJhdGVfKi5zbyIKK0ZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLXNhbXBsZXJhdGUgKz0gIiR7bGliZGlyfS9hbHNhLWxpYi8qcmF0ZV9zYW1wbGVyYXRlXyouc28iCitGSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcmF0ZS1zcGVleHJhdGUgKz0gIiR7bGliZGlyfS9hbHNhLWxpYi8qcmF0ZV9zcGVleHJhdGVfKi5zbyIKK0lOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLWxhdnJhdGUgPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXJhdGUtc2FtcGxlcmF0ZSA9ICJkZXYtc28iCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcmF0ZS1zcGVleHJhdGUgPSAiZGV2LXNvIgorCisjIDUwLXB1bHNlYXVkaW8uY29uZiBkZWZpbmVzIGEgZGV2aWNlIG5hbWVkICJwdWxzZSIgdGhhdCBhcHBsaWNhdGlvbnMgY2FuIHVzZQorIyBpZiB0aGV5IGV4cGxpY2l0bHkgd2FudCB0byB1c2UgdGhlIFB1bHNlQXVkaW8gcGx1Z2luLgorIyA5OS1wdWxzZWF1ZGlvLWRlZmF1bHQuY29uZiBjb25maWd1cmVzIHRoZSAiZGVmYXVsdCIgZGV2aWNlIHRvIHVzZSB0aGUKKyMgUHVsc2VBdWRpbyBwbHVnaW4uCitGSUxFU18ke1BOfS1wdWxzZWF1ZGlvLWNvbmYgKz0gIlwKKyAgICAgICAgJHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzUwLXB1bHNlYXVkaW8uY29uZiBcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC85OS1wdWxzZWF1ZGlvLWRlZmF1bHQuY29uZiBcCisgICAgICAgICR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvNTAtcHVsc2VhdWRpby5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC85OS1wdWxzZWF1ZGlvLWRlZmF1bHQuY29uZiBcCisiCisKK1JERVBFTkRTXyR7UE59LXB1bHNlYXVkaW8tY29uZiArPSAiXAorICAgICAgICBsaWJhc291bmQtbW9kdWxlLWNvbmYtcHVsc2UgXAorICAgICAgICBsaWJhc291bmQtbW9kdWxlLWN0bC1wdWxzZSBcCisgICAgICAgIGxpYmFzb3VuZC1tb2R1bGUtcGNtLXB1bHNlIFwKKyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXRvb2xzLzAwMDItRml4LWNsYW5nLVdyZXNlcnZlZC11c2VyLWRlZmluZWQtbGl0ZXJhbC13YXJuaW5ncy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXRvb2xzLzAwMDItRml4LWNsYW5nLVdyZXNlcnZlZC11c2VyLWRlZmluZWQtbGl0ZXJhbC13YXJuaW5ncy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzEzN2JjOC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS10b29scy8wMDAyLUZpeC1jbGFuZy1XcmVzZXJ2ZWQtdXNlci1kZWZpbmVkLWxpdGVyYWwtd2FybmluZ3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1Gcm9tIGE4NjFiZGFiZjAyY2Q5YmZiM2VjN2MwNTcxYzU2M2MwZmExNGFkZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyNCBBcHIgMjAxOCAxMjoyNDozMiAtMDcwMAotU3ViamVjdDogW1BBVENIXSB1czQyOGNvbnRyb2w6IEZpeCBjbGFuZyAtV3Jlc2VydmVkLXVzZXItZGVmaW5lZC1saXRlcmFsCi0gd2FybmluZ3MKLQotfCB1czQyOGNvbnRyb2wuY2M6NjY6MTg6IGVycm9yOiBpbnZhbGlkIHN1ZmZpeCBvbiBsaXRlcmFsOyBDKysxMSByZXF1aXJlcyBhIHNwYWNlIGJldHdlZW4gbGl0ZXJhbCBhbmQgaWRlbnRpZmllciBbLVdyZXNlcnZlZC11c2VyLWRlZmluZWQtbGl0ZXJhbF0KLXwgICAgICAgICBwcmludGYoInVzYWdlOiAiUFJPR05BTUUiIFstdiB2ZXJib3NpdHlfbGV2ZWwgMC4uMl0gWy1jIGNhcmRdIFstRCBkZXZpY2VdIFstdSB1c2ItZGV2aWNlXSBbLW0gbW9kZV1cbiIpOwotfCAgICAgICAgICAgICAgICAgICAgICAgICBeCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBUYWthc2hpIEl3YWkgPHRpd2FpQHN1c2UuZGU+Ci0tLS0KLSB1czQyOGNvbnRyb2wvdXM0Mjhjb250cm9sLmNjIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdXM0Mjhjb250cm9sL3VzNDI4Y29udHJvbC5jYyBiL3VzNDI4Y29udHJvbC91czQyOGNvbnRyb2wuY2MKLWluZGV4IGU4MzliZjQuLjhjYjNjNDIgMTAwNjQ0Ci0tLS0gYS91czQyOGNvbnRyb2wvdXM0Mjhjb250cm9sLmNjCi0rKysgYi91czQyOGNvbnRyb2wvdXM0Mjhjb250cm9sLmNjCi1AQCAtNjMsNyArNjMsNyBAQCBzdGF0aWMgdm9pZCB1c2FnZSh2b2lkKQotIHsKLSAJcHJpbnRmKCJUYXNjYW0gVVMtNDI4IENvbnRyb2xcbiIpOwotIAlwcmludGYoInZlcnNpb24gJXNcbiIsIFZFUlNJT04pOwotLQlwcmludGYoInVzYWdlOiAiUFJPR05BTUUiIFstdiB2ZXJib3NpdHlfbGV2ZWwgMC4uMl0gWy1jIGNhcmRdIFstRCBkZXZpY2VdIFstdSB1c2ItZGV2aWNlXSBbLW0gbW9kZV1cbiIpOwotKwlwcmludGYoInVzYWdlOiAiIFBST0dOQU1FICIgWy12IHZlcmJvc2l0eV9sZXZlbCAwLi4yXSBbLWMgY2FyZF0gWy1EIGRldmljZV0gWy11IHVzYi1kZXZpY2VdIFstbSBtb2RlXVxuIik7Ci0gCXByaW50ZigibW9kZSBpcyBvbmUgb2YgKHVzMjI0LCB1czQyOCwgbWl4eHgpXG4iKTsKLSB9Ci0gLyoKLS0tIAotMS43LjExLjcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXRvb2xzL211c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS10b29scy9tdXNsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZWIxMjljLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXRvb2xzL211c2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1Gcm9tIDIzNWQ5YzVlODM4MTUxOGIwYTg2NjE3ODZlN2UwY2JkZDFiYmNkMDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotRGF0ZTogVHVlLCAxMiBKdW4gMjAxOCAxMzoyNDozNCArMDEwMAotU3ViamVjdDogW1BBVENIXSBsZDEwazE6IGRlZmluZSBfR05VX1NPVVJDRSBhbmQgdXNlIHNpZ2hhbmRsZXJfdAotCi1fX3NpZ2hhbmRsZXJfdCBpcyBhIGdsaWJjIGludGVybmFsIHR5cGUgd2hpY2ggZG9lc24ndCBleGlzdCBpbiBtdXNsLiAgQnkgdXNpbmcKLUFDX1VTRV9TWVNURU1fRVhURU5TSU9OUyB0byBnZXQgX0dOVV9TT1VSQ0UgZGVmaW5lZCwgYm90aCBnbGliYyBhbmQgbXVzbAotdGhlbiBleHBvc2Ugc2lnaGFuZGxlcl90LgotCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogVGFrYXNoaSBJd2FpIDx0aXdhaUBzdXNlLmRlPgotLS0tCi0gbGQxMGsxL2NvbmZpZ3VyZS5hYyAgICAgIHwgMSArCi0gbGQxMGsxL3NyYy9sZDEwazFfZm5jMS5jIHwgMiArLQotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9sZDEwazEvY29uZmlndXJlLmFjIGIvbGQxMGsxL2NvbmZpZ3VyZS5hYwotaW5kZXggMjc2YjI0ZS4uZjQ4Y2EzMSAxMDA2NDQKLS0tLSBhL2xkMTBrMS9jb25maWd1cmUuYWMKLSsrKyBiL2xkMTBrMS9jb25maWd1cmUuYWMKLUBAIC00LDYgKzQsNyBAQCBBQ19DT05GSUdfTUFDUk9fRElSKFttNF0pCi0gQU1fTUFJTlRBSU5FUl9NT0RFKFtlbmFibGVdKQotIAotIEFDX0NPTkZJR19IRUFERVJTKGNvbmZpZy5oKQotK0FDX1VTRV9TWVNURU1fRVhURU5TSU9OUwotIEFDX1BST0dfQ0MKLSBBQ19QUk9HX0xECi0gQUNfUFJPR19JTlNUQUxMCi1kaWZmIC0tZ2l0IGEvbGQxMGsxL3NyYy9sZDEwazFfZm5jMS5jIGIvbGQxMGsxL3NyYy9sZDEwazFfZm5jMS5jCi1pbmRleCAzNDM1ODRjLi5kZGM0M2M2IDEwMDY0NAotLS0tIGEvbGQxMGsxL3NyYy9sZDEwazFfZm5jMS5jCi0rKysgYi9sZDEwazEvc3JjL2xkMTBrMV9mbmMxLmMKLUBAIC0xNzksNyArMTc5LDcgQEAgaW50IG1haW5fbG9vcChjb21tX3BhcmFtICpwYXJhbSwgaW50IGF1ZGlneSwgY29uc3QgY2hhciAqY2FyZF9pZCwgaW50IHRyYW1fc2l6ZSwKLSB7Ci0gCWZkX3NldCBhY3RpdmVfZmRfc2V0LyosIHJlYWRfZmRfc2V0Ki87Ci0gCWludCBpLCBqLCByZXMgPSAwOwotLQlfX3NpZ2hhbmRsZXJfdCBvbGRfc2lnX3BpcGU7Ci0rCXNpZ2hhbmRsZXJfdCBvbGRfc2lnX3BpcGU7Ci0gCi0gCWludCBtYWluX3NvY2sgPSAwOwotIAlpbnQgZGF0YV9zb2NrID0gMDsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXRvb2xzXzEuMS42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdG9vbHNfMS4xLjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwZTU0ZGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdG9vbHNfMS4xLjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi1TVU1NQVJZID0gIkFkdmFuY2VkIHRvb2xzIGZvciBjZXJ0YWluIEFMU0Egc291bmQgY2FyZCBkcml2ZXJzIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hbHNhLXByb2plY3Qub3JnIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vYWxzYS1wcm9qZWN0Lm9yZy9tYWluL2luZGV4LnBocC9CdWdfVHJhY2tpbmciCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi1MSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyKyIKLURFUEVORFMgPSAiYWxzYS1saWIiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2hkc3Bsb2FkZXIvQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGQxMGsxL0NPUFlJTkcuTElCO21kNT1hOTE2NDY3YjkxMDc2ZTYzMWRkOGVkYjc0MjQ3NjljNyBcCi0gICAgICAgICAgICAgICAgICAgICIKLQotU1JDX1VSSSA9ICJmdHA6Ly9mdHAuYWxzYS1wcm9qZWN0Lm9yZy9wdWIvdG9vbHMvJHtCUH0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLUZpeC1jbGFuZy1XcmVzZXJ2ZWQtdXNlci1kZWZpbmVkLWxpdGVyYWwtd2FybmluZ3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbXVzbC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjVjYThjOTQzN2FlNzc5OTk3Y2Q2MmZiMjgxNWZlZjE5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ2OWM0ZGMyZmI2NDFhOTc0ZDk5MDNlOWViNzhjOTRjYjBjN2FjNmM0NWJhZTY2NGYwYzlkNmMwYTE1OTMyMjciCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKLSMgYnJva2Vuc2VwIGFzIGFzMTBrMSAoYW5kIHByb2JhYmx5IG1vcmUpIGZhaWwgb3V0IG9mIHRyZWUKLUNMRUFOQlJPS0VOID0gIjEiCi0KLSMgSGVyZSB3ZSB1c2UgUEFDS0FHRUNPTkZJRyBvcHRpb25zIHRvIHBpY2sgd2hpY2ggZGlyZWN0b3JpZXMgd2UgY29uZmlndXJlL2J1aWxkLgotIyBSZW1lbWJlciBvbiB1cGdyYWRlcyB0byBjaGVjayB0aGF0IG5vIG5ldyB0b29scyBoYXZlIGJlZW4gYWRkZWQuCi1QQUNLQUdFQ09ORklHID8/PSAiYXMxMGsxIGhkYWphY2tzZW5zZXRlc3QgaGRhLXZlcmIgaGRzcGxvYWRlciBsZDEwazEgbWl4YXJ0bG9hZGVyIHBjeGhybG9hZGVyIFwKLSAgICAgICAgICAgICAgICAgICBzYjE2X2NzcCBzZXEtLXNiaWxvYWQgc3NjYXBlX2N0bCB1czQyOGNvbnRyb2wgdXN4Mnlsb2FkZXIgdnhsb2FkZXIgXAotICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnRElTVFJPX0ZFQVRVUkVTJywgJyR7R1RLMkRJU1RST0ZFQVRVUkVTfScsICdlY2hvbWl4ZXIgZW52eTI0Y29udHJvbCBybWVkaWdpY29udHJvbCcsICcnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnRElTVFJPX0ZFQVRVUkVTJywgJyR7R1RLM0RJU1RST0ZFQVRVUkVTfScsICdoZGFqYWNrcmV0YXNrJywgJycsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgIgotCi1QQUNLQUdFQ09ORklHW2FzMTBrMV0gPSAiIgotUEFDS0FHRUNPTkZJR1tlY2hvbWl4ZXJdID0gIiwsZ3RrKyIKLVBBQ0tBR0VDT05GSUdbZW52eTI0Y29udHJvbF0gPSAiLCxndGsrIgotUEFDS0FHRUNPTkZJR1toZGEtdmVyYl0gPSAiIgotUEFDS0FHRUNPTkZJR1toZGFqYWNrcmV0YXNrXSA9ICIsLGd0ayszIgotUEFDS0FHRUNPTkZJR1toZGFqYWNrc2Vuc2V0ZXN0XSA9ICIsLGdsaWItMi4wIgotUEFDS0FHRUNPTkZJR1toZHNwY29uZl0gPSAiLCxmbHRrIgotUEFDS0FHRUNPTkZJR1toZHNwbG9hZGVyXSA9ICIiCi1QQUNLQUdFQ09ORklHW2hkc3BtaXhlcl0gPSAiLCxmbHRrIgotUEFDS0FHRUNPTkZJR1tod21peHZvbHVtZV0gPSAiLCwscHl0aG9uLWNvcmUgcHl0aG9uLXB5Z3RrIgotUEFDS0FHRUNPTkZJR1tsZDEwazFdID0gIiIKLVBBQ0tBR0VDT05GSUdbbWl4YXJ0bG9hZGVyXSA9ICIiCi1QQUNLQUdFQ09ORklHW3BjeGhybG9hZGVyXSA9ICIiCi1QQUNLQUdFQ09ORklHW3FsbzEwazFdID0gIiwscXQteDExLWZyZWUiCi1QQUNLQUdFQ09ORklHW3JtZWRpZ2ljb250cm9sXSA9ICIsLGd0aysiCi1QQUNLQUdFQ09ORklHW3NiMTZfY3NwXSA9ICIiCi1QQUNLQUdFQ09ORklHW3NlcS0tc2JpbG9hZF0gPSAiIgotUEFDS0FHRUNPTkZJR1tzc2NhcGVfY3RsXSA9ICIiCi1QQUNLQUdFQ09ORklHW3VzNDI4Y29udHJvbF0gPSAiIgotUEFDS0FHRUNPTkZJR1t1c3gyeWxvYWRlcl0gPSAiIgotUEFDS0FHRUNPTkZJR1t2eGxvYWRlcl0gPSAiIgotCi1weXRob24gZG9fY29uZmlndXJlKCkgewotICAgIGZvciBzdWJkaXIgaW4gZC5nZXRWYXIoIlBBQ0tBR0VDT05GSUciKS5zcGxpdCgpOgotICAgICAgICBzdWJkaXIgPSBzdWJkaXIucmVwbGFjZSgiLS0iLCAiLyIpCi0gICAgICAgIGJiLm5vdGUoIkNvbmZpZ3VyaW5nICVzIiAlIHN1YmRpcikKLSAgICAgICAgZGQgPSBkLmNyZWF0ZUNvcHkoKQotICAgICAgICBkZC5zZXRWYXIoIlMiLCBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoIlMiKSwgc3ViZGlyKSkKLSAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKCJhdXRvdG9vbHNfZG9fY29uZmlndXJlIiwgZGQpCi19Ci0KLXB5dGhvbiBkb19jb21waWxlKCkgewotICAgIGZvciBzdWJkaXIgaW4gZC5nZXRWYXIoIlBBQ0tBR0VDT05GSUciKS5zcGxpdCgpOgotICAgICAgICBzdWJkaXIgPSBzdWJkaXIucmVwbGFjZSgiLS0iLCAiLyIpCi0gICAgICAgIGJiLm5vdGUoIkNvbXBpbGluZyAlcyIgJSBzdWJkaXIpCi0gICAgICAgIGRkID0gZC5jcmVhdGVDb3B5KCkKLSAgICAgICAgZGQuc2V0VmFyKCJTIiwgb3MucGF0aC5qb2luKGQuZ2V0VmFyKCJTIiksIHN1YmRpcikpCi0gICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygiYXV0b3Rvb2xzX2RvX2NvbXBpbGUiLCBkZCkKLX0KLQotcHl0aG9uIGRvX2luc3RhbGwoKSB7Ci0gICAgZm9yIHN1YmRpciBpbiBkLmdldFZhcigiUEFDS0FHRUNPTkZJRyIpLnNwbGl0KCk6Ci0gICAgICAgIHN1YmRpciA9IHN1YmRpci5yZXBsYWNlKCItLSIsICIvIikKLSAgICAgICAgYmIubm90ZSgiSW5zdGFsbGluZyAlcyIgJSBzdWJkaXIpCi0gICAgICAgIGRkID0gZC5jcmVhdGVDb3B5KCkKLSAgICAgICAgZGQuc2V0VmFyKCJTIiwgb3MucGF0aC5qb2luKGQuZ2V0VmFyKCJTIiksIHN1YmRpcikpCi0gICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygiYXV0b3Rvb2xzX2RvX2luc3RhbGwiLCBkZCkKLQotICAgICMgSnVzdCByZW1vdmUgYmFzaC1uZWVkaW5nIGluaXQgc2NyaXB0IHRoYXQgaXNuJ3QgaW5zdGFsbGVkIGFzIGFuIGluaXQgc2NyaXB0Ci0gICAgdHJ5OgotICAgICAgICBvcy5yZW1vdmUob2UucGF0aC5qb2luKGQuZ2V0VmFyKCJEIiksIGQuZ2V0VmFyKCJzYmluZGlyIiksICJsZDEwazFkIikpCi0gICAgZXhjZXB0OgotICAgICAgICBwYXNzCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdG9vbHNfMS4xLjcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS10b29sc18xLjEuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWI1MGZhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdG9vbHNfMS4xLjcuYmIKQEAgLTAsMCArMSw4NyBAQAorU1VNTUFSWSA9ICJBZHZhbmNlZCB0b29scyBmb3IgY2VydGFpbiBBTFNBIHNvdW5kIGNhcmQgZHJpdmVycyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYWxzYS1wcm9qZWN0Lm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2Fsc2EtcHJvamVjdC5vcmcvbWFpbi9pbmRleC5waHAvQnVnX1RyYWNraW5nIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2MisiCitERVBFTkRTID0gImFsc2EtbGliIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9oZHNwbG9hZGVyL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xkMTBrMS9DT1BZSU5HLkxJQjttZDU9YTkxNjQ2N2I5MTA3NmU2MzFkZDhlZGI3NDI0NzY5YzcgXAorICAgICAgICAgICAgICAgICAgICAiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93d3cuYWxzYS1wcm9qZWN0Lm9yZy9maWxlcy9wdWIvdG9vbHMvJHtCUH0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ3NWJkZjY0NTdiY2Y1NWM4Yzg5NWQ2NTNlZTU2YTU0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEwMjQzMzI4YThmNmY2OTFhMzA1NWM0ODRmZDhkMzMyNjM5MzA5NjMyNWU5Mzc0M2IyNDYwMjlkMzI3YzRlZjYiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKyMgYnJva2Vuc2VwIGFzIGFzMTBrMSAoYW5kIHByb2JhYmx5IG1vcmUpIGZhaWwgb3V0IG9mIHRyZWUKK0NMRUFOQlJPS0VOID0gIjEiCisKKyMgSGVyZSB3ZSB1c2UgUEFDS0FHRUNPTkZJRyBvcHRpb25zIHRvIHBpY2sgd2hpY2ggZGlyZWN0b3JpZXMgd2UgY29uZmlndXJlL2J1aWxkLgorIyBSZW1lbWJlciBvbiB1cGdyYWRlcyB0byBjaGVjayB0aGF0IG5vIG5ldyB0b29scyBoYXZlIGJlZW4gYWRkZWQuCitQQUNLQUdFQ09ORklHID8/PSAiYXMxMGsxIGhkYWphY2tzZW5zZXRlc3QgaGRhLXZlcmIgaGRzcGxvYWRlciBsZDEwazEgbWl4YXJ0bG9hZGVyIHBjeGhybG9hZGVyIFwKKyAgICAgICAgICAgICAgICAgICBzYjE2X2NzcCBzZXEtLXNiaWxvYWQgc3NjYXBlX2N0bCB1czQyOGNvbnRyb2wgdXN4Mnlsb2FkZXIgdnhsb2FkZXIgXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnRElTVFJPX0ZFQVRVUkVTJywgJyR7R1RLMkRJU1RST0ZFQVRVUkVTfScsICdlY2hvbWl4ZXIgZW52eTI0Y29udHJvbCBybWVkaWdpY29udHJvbCcsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnRElTVFJPX0ZFQVRVUkVTJywgJyR7R1RLM0RJU1RST0ZFQVRVUkVTfScsICdoZGFqYWNrcmV0YXNrJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgIgorCitQQUNLQUdFQ09ORklHW2FzMTBrMV0gPSAiIgorUEFDS0FHRUNPTkZJR1tlY2hvbWl4ZXJdID0gIiwsZ3RrKyIKK1BBQ0tBR0VDT05GSUdbZW52eTI0Y29udHJvbF0gPSAiLCxndGsrIgorUEFDS0FHRUNPTkZJR1toZGEtdmVyYl0gPSAiIgorUEFDS0FHRUNPTkZJR1toZGFqYWNrcmV0YXNrXSA9ICIsLGd0ayszIgorUEFDS0FHRUNPTkZJR1toZGFqYWNrc2Vuc2V0ZXN0XSA9ICIsLGdsaWItMi4wIgorUEFDS0FHRUNPTkZJR1toZHNwY29uZl0gPSAiLCxmbHRrIgorUEFDS0FHRUNPTkZJR1toZHNwbG9hZGVyXSA9ICIiCitQQUNLQUdFQ09ORklHW2hkc3BtaXhlcl0gPSAiLCxmbHRrIgorUEFDS0FHRUNPTkZJR1tsZDEwazFdID0gIiIKK1BBQ0tBR0VDT05GSUdbbWl4YXJ0bG9hZGVyXSA9ICIiCitQQUNLQUdFQ09ORklHW3BjeGhybG9hZGVyXSA9ICIiCitQQUNLQUdFQ09ORklHW3FsbzEwazFdID0gIiwscXQteDExLWZyZWUiCitQQUNLQUdFQ09ORklHW3JtZWRpZ2ljb250cm9sXSA9ICIsLGd0aysiCitQQUNLQUdFQ09ORklHW3NiMTZfY3NwXSA9ICIiCitQQUNLQUdFQ09ORklHW3NlcS0tc2JpbG9hZF0gPSAiIgorUEFDS0FHRUNPTkZJR1tzc2NhcGVfY3RsXSA9ICIiCitQQUNLQUdFQ09ORklHW3VzNDI4Y29udHJvbF0gPSAiIgorUEFDS0FHRUNPTkZJR1t1c3gyeWxvYWRlcl0gPSAiIgorUEFDS0FHRUNPTkZJR1t2eGxvYWRlcl0gPSAiIgorCisjIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgcHlhbHNhIGlzIG5vdCBwYWNrYWdlZCBmb3IgT0UsIHNvIHRoaXMgaXMgbm90IGV4cGVjdGVkCisjIHRvIHdvcmsuCitQQUNLQUdFQ09ORklHW2h3bWl4dm9sdW1lXSA9ICIsLCxweXRob24tY29yZSBweXRob24tcHlnb2JqZWN0IHB5YWxzYSIKKworcHl0aG9uIGRvX2NvbmZpZ3VyZSgpIHsKKyAgICBmb3Igc3ViZGlyIGluIGQuZ2V0VmFyKCJQQUNLQUdFQ09ORklHIikuc3BsaXQoKToKKyAgICAgICAgc3ViZGlyID0gc3ViZGlyLnJlcGxhY2UoIi0tIiwgIi8iKQorICAgICAgICBiYi5ub3RlKCJDb25maWd1cmluZyAlcyIgJSBzdWJkaXIpCisgICAgICAgIGRkID0gZC5jcmVhdGVDb3B5KCkKKyAgICAgICAgZGQuc2V0VmFyKCJTIiwgb3MucGF0aC5qb2luKGQuZ2V0VmFyKCJTIiksIHN1YmRpcikpCisgICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygiYXV0b3Rvb2xzX2RvX2NvbmZpZ3VyZSIsIGRkKQorfQorCitweXRob24gZG9fY29tcGlsZSgpIHsKKyAgICBmb3Igc3ViZGlyIGluIGQuZ2V0VmFyKCJQQUNLQUdFQ09ORklHIikuc3BsaXQoKToKKyAgICAgICAgc3ViZGlyID0gc3ViZGlyLnJlcGxhY2UoIi0tIiwgIi8iKQorICAgICAgICBiYi5ub3RlKCJDb21waWxpbmcgJXMiICUgc3ViZGlyKQorICAgICAgICBkZCA9IGQuY3JlYXRlQ29weSgpCisgICAgICAgIGRkLnNldFZhcigiUyIsIG9zLnBhdGguam9pbihkLmdldFZhcigiUyIpLCBzdWJkaXIpKQorICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoImF1dG90b29sc19kb19jb21waWxlIiwgZGQpCit9CisKK3B5dGhvbiBkb19pbnN0YWxsKCkgeworICAgIGZvciBzdWJkaXIgaW4gZC5nZXRWYXIoIlBBQ0tBR0VDT05GSUciKS5zcGxpdCgpOgorICAgICAgICBzdWJkaXIgPSBzdWJkaXIucmVwbGFjZSgiLS0iLCAiLyIpCisgICAgICAgIGJiLm5vdGUoIkluc3RhbGxpbmcgJXMiICUgc3ViZGlyKQorICAgICAgICBkZCA9IGQuY3JlYXRlQ29weSgpCisgICAgICAgIGRkLnNldFZhcigiUyIsIG9zLnBhdGguam9pbihkLmdldFZhcigiUyIpLCBzdWJkaXIpKQorICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoImF1dG90b29sc19kb19pbnN0YWxsIiwgZGQpCisKKyAgICAjIEp1c3QgcmVtb3ZlIGJhc2gtbmVlZGluZyBpbml0IHNjcmlwdCB0aGF0IGlzbid0IGluc3RhbGxlZCBhcyBhbiBpbml0IHNjcmlwdAorICAgIHRyeToKKyAgICAgICAgb3MucmVtb3ZlKG9lLnBhdGguam9pbihkLmdldFZhcigiRCIpLCBkLmdldFZhcigic2JpbmRpciIpLCAibGQxMGsxZCIpKQorICAgIGV4Y2VwdDoKKyAgICAgICAgcGFzcworfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXV0aWxzLXNjcmlwdHNfMS4xLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS11dGlscy1zY3JpcHRzXzEuMS44LmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS11dGlscy1zY3JpcHRzXzEuMS42LmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS11dGlscy1zY3JpcHRzXzEuMS44LmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS11dGlsc18xLjEuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXV0aWxzXzEuMS42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOGJhMGNiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXV0aWxzXzEuMS42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTA3ICswLDAgQEAKLVNVTU1BUlkgPSAiQUxTQSBzb3VuZCB1dGlsaXRpZXMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmFsc2EtcHJvamVjdC5vcmciCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9hbHNhLXByb2plY3Qub3JnL21haW4vaW5kZXgucGhwL0J1Z19UcmFja2luZyIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vYWxzYWN0bC91dGlscy5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjA7bWQ1PTJjZTdmN2I2NzM5NDg3ZmI3MmM2ODlkNDY1MjFmOTU4IgotREVQRU5EUyA9ICJhbHNhLWxpYiBuY3Vyc2VzIGxpYnNhbXBsZXJhdGUwIgotCi1QQUNLQUdFQ09ORklHID8/PSAidWRldiIKLQotIyBhbHNhYmF0IGNhbiBiZSBidWlsdCBhbHNvIHdpdGhvdXQgZmZ0dyBzdXBwb3J0ICh3aXRoIHJlZHVjZWQgZnVuY3Rpb25hbGl0eSkuCi0jIEl0IHdvdWxkIGJlIGJldHRlciB0byBhbHdheXMgZW5hYmxlIGFsc2FiYXQsIGJ1dCBwcm92aWRlIGFuIG9wdGlvbiBmb3IKLSMgZW5hYmxpbmcvZGlzYWJsaW5nIGZmdHcuIFRoZSBjb25maWd1cmUgc2NyaXB0IGRvZXNuJ3Qgc3VwcG9ydCB0aGF0LCBob3dldmVyCi0jIChhdCBsZWFzdCBpbiBhbnkgb2J2aW91cyB3YXkpLCBzbyBmb3Igbm93IHdlIG9ubHkgc3VwcG9ydCBhbHNhYmF0IHdpdGggZmZ0dwotIyBvciBubyBhbHNhYmF0IGF0IGFsbC4KLVBBQ0tBR0VDT05GSUdbYmF0XSA9ICItLWVuYWJsZS1iYXQsLS1kaXNhYmxlLWJhdCxmZnR3ZiIKLQotUEFDS0FHRUNPTkZJR1t1ZGV2XSA9ICItLXdpdGgtdWRldi1ydWxlcy1kaXI9YHBrZy1jb25maWcgLS12YXJpYWJsZT11ZGV2ZGlyIHVkZXZgL3J1bGVzLmQsLS13aXRoLXVkZXYtcnVsZXMtZGlyPS91bndhbnRlZC9ydWxlcy5kLHVkZXYiCi1QQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS14bWx0bywgLS1kaXNhYmxlLXhtbHRvLCB4bWx0by1uYXRpdmUgZG9jYm9vay14bWwtZHRkNC1uYXRpdmUgZG9jYm9vay14c2wtc3R5bGVzaGVldHMtbmF0aXZlIgotCi1TUkNfVVJJID0gImZ0cDovL2Z0cC5hbHNhLXByb2plY3Qub3JnL3B1Yi91dGlscy9hbHNhLXV0aWxzLSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjUwYWU3NTU2NzQ1OTY0NmI4NDNiZWQ3OGQ5MTZiMDAyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE1NWNhZWNjNDBiMjIyMGY2ODZmMzRiYTM2NTVhNTNlM2JkYmMwNTg2YWRiMTA1NjczMzk0OWZlYWFmN2QzNmUiCi0KLSMgT24gYnVpbGQgbWFjaGluZXMgd2l0aCBweXRob24tZG9jdXRpbHMgKG5vdCBweXRob24zLWRvY3V0aWxzICEhKSBpbnN0YWxsZWQKLSMgcnN0Mm1hbiAobm90IHJzdDJtYW4ucHkpIGlzIGRldGVjdGVkIGFuZCBjb21waWxlIGZhaWxzIHdpdGgKLSMgfCBtYWtlWzFdOiAqKiogTm8gcnVsZSB0byBtYWtlIHRhcmdldCAnYWxzYXVjbS4xJywgbmVlZGVkIGJ5ICdhbGwtYW0nLiAgU3RvcC4KLSMgQXZvaWQgdGhpcyBieSBkaXNhYmxpbmcgZXhwaWNpdGx5Ci1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXJzdDJtYW4iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnIG1hbnBhZ2VzCi0KLSMgVGhpcyBhcmUgYWxsIHBhY2thZ2VzIHRoYXQgd2UgbmVlZCB0byBtYWtlLiBBbHNvLCB0aGUgbm93IGVtcHR5IGFsc2EtdXRpbHMKLSMgaXBrIGRlcGVuZHMgb24gdGhlbS4KLQotQUxTQV9VVElMU19QS0dTID0gIlwKLSAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdiYXQnLCAnYWxzYS11dGlscy1hbHNhYmF0JywgJycsIGQpfSBcCi0gICAgICAgICAgICAgYWxzYS11dGlscy1hbHNhbWl4ZXIgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtYWxzYXRwbGcgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtbWlkaSBcCi0gICAgICAgICAgICAgYWxzYS11dGlscy1hcGxheSBcCi0gICAgICAgICAgICAgYWxzYS11dGlscy1hbWl4ZXIgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtYWNvbm5lY3QgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtaWVjc2V0IFwKLSAgICAgICAgICAgICBhbHNhLXV0aWxzLXNwZWFrZXJ0ZXN0IFwKLSAgICAgICAgICAgICBhbHNhLXV0aWxzLWFzZXFuZXQgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtYXNlcWR1bXAgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtYWxzYWN0bCBcCi0gICAgICAgICAgICAgYWxzYS11dGlscy1hbHNhbG9vcCBcCi0gICAgICAgICAgICAgYWxzYS11dGlscy1hbHNhdWNtIFwKLSAgICAgICAgICAgICIKLQotUEFDS0FHRVMgKz0gIiR7QUxTQV9VVElMU19QS0dTfSIKLVJERVBFTkRTXyR7UE59ICs9ICIke0FMU0FfVVRJTFNfUEtHU30iCi0KLUZJTEVTXyR7UE59ID0gIiIKLUZJTEVTX2Fsc2EtdXRpbHMtYWxzYWJhdCAgICAgPSAiJHtiaW5kaXJ9L2Fsc2FiYXQiCi1GSUxFU19hbHNhLXV0aWxzLWFsc2F0cGxnICAgID0gIiR7YmluZGlyfS9hbHNhdHBsZyIKLUZJTEVTX2Fsc2EtdXRpbHMtYXBsYXkgICAgICAgPSAiJHtiaW5kaXJ9L2FwbGF5ICR7YmluZGlyfS9hcmVjb3JkIgotRklMRVNfYWxzYS11dGlscy1hbWl4ZXIgICAgICA9ICIke2JpbmRpcn0vYW1peGVyIgotRklMRVNfYWxzYS11dGlscy1hbHNhbWl4ZXIgICA9ICIke2JpbmRpcn0vYWxzYW1peGVyIgotRklMRVNfYWxzYS11dGlscy1zcGVha2VydGVzdCA9ICIke2JpbmRpcn0vc3BlYWtlci10ZXN0ICR7ZGF0YWRpcn0vc291bmRzL2Fsc2EvICR7ZGF0YWRpcn0vYWxzYS9zcGVha2VyLXRlc3QvIgotRklMRVNfYWxzYS11dGlscy1taWRpICAgICAgICA9ICIke2JpbmRpcn0vYXBsYXltaWRpICR7YmluZGlyfS9hcmVjb3JkbWlkaSAke2JpbmRpcn0vYW1pZGkiCi1GSUxFU19hbHNhLXV0aWxzLWFjb25uZWN0ICAgID0gIiR7YmluZGlyfS9hY29ubmVjdCIKLUZJTEVTX2Fsc2EtdXRpbHMtYXNlcW5ldCAgICAgPSAiJHtiaW5kaXJ9L2FzZXFuZXQiCi1GSUxFU19hbHNhLXV0aWxzLWllY3NldCAgICAgID0gIiR7YmluZGlyfS9pZWNzZXQiCi1GSUxFU19hbHNhLXV0aWxzLWFsc2FjdGwgICAgID0gIiR7c2JpbmRpcn0vYWxzYWN0bCAqL3VkZXYvcnVsZXMuZCAqLyovdWRldi9ydWxlcy5kICR7c3lzdGVtZF91bml0ZGlyfSAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9hbHNhICR7ZGF0YWRpcn0vYWxzYS9pbml0LyIKLUZJTEVTX2Fsc2EtdXRpbHMtYXNlcWR1bXAgICAgPSAiJHtiaW5kaXJ9L2FzZXFkdW1wIgotRklMRVNfYWxzYS11dGlscy1hbHNhbG9vcCAgICA9ICIke2JpbmRpcn0vYWxzYWxvb3AiCi1GSUxFU19hbHNhLXV0aWxzLWFsc2F1Y20gICAgID0gIiR7YmluZGlyfS9hbHNhdWNtIgotCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYWJhdCAgICAgID0gIkNvbW1hbmQtbGluZSBzb3VuZCB0ZXN0ZXIgZm9yIEFMU0Egc291bmQgY2FyZCBkcml2ZXIiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYXRwbGcgICAgID0gIkNvbnZlcnRzIHRvcG9sb2d5IHRleHQgZmlsZXMgaW50byBiaW5hcnkgZm9ybWF0IGZvciBrZXJuZWwiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYXBsYXkgICAgICAgID0gIlBsYXkgKGFuZCByZWNvcmQpIHNvdW5kIGZpbGVzIHVzaW5nIEFMU0EiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYW1peGVyICAgICAgID0gIkNvbW1hbmQtbGluZSBjb250cm9sIGZvciBBTFNBIG1peGVyIGFuZCBzZXR0aW5ncyIKLVNVTU1BUllfYWxzYS11dGlscy1hbHNhbWl4ZXIgICAgPSAibmN1cnNlcy1iYXNlZCBjb250cm9sIGZvciBBTFNBIG1peGVyIGFuZCBzZXR0aW5ncyIKLVNVTU1BUllfYWxzYS11dGlscy1zcGVha2VydGVzdCAgPSAiQUxTQSBzdXJyb3VuZCBzcGVha2VyIHRlc3QgdXRpbGl0eSIKLVNVTU1BUllfYWxzYS11dGlscy1taWRpICAgICAgICAgPSAiTWlzY2VsbGFuZW91cyBNSURJIHV0aWxpdGllcyBmb3IgQUxTQSIKLVNVTU1BUllfYWxzYS11dGlscy1hY29ubmVjdCAgICAgPSAiQUxTQSBzZXF1ZW5jZXIgY29ubmVjdGlvbiBtYW5hZ2VyIgotU1VNTUFSWV9hbHNhLXV0aWxzLWFzZXFuZXQgICAgICA9ICJOZXR3b3JrIGNsaWVudC9zZXJ2ZXIgZm9yIEFMU0Egc2VxdWVuY2VyIgotU1VNTUFSWV9hbHNhLXV0aWxzLWllY3NldCAgICAgICA9ICJBTFNBIHV0aWxpdHkgZm9yIHNldHRpbmcvc2hvd2luZyBJRUM5NTggKFMvUERJRikgc3RhdHVzIGJpdHMiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYWN0bCAgICAgID0gIlNhdmVzL3Jlc3RvcmVzIEFMU0Etc2V0dGluZ3MgaW4gL2V0Yy9hc291bmQuc3RhdGUiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYXNlcWR1bXAgICAgID0gIlNob3dzIHRoZSBldmVudHMgcmVjZWl2ZWQgYXQgYW4gQUxTQSBzZXF1ZW5jZXIgcG9ydCIKLVNVTU1BUllfYWxzYS11dGlscy1hbHNhbG9vcCAgICAgPSAiQUxTQSBQQ00gbG9vcGJhY2sgdXRpbGl0eSIKLVNVTU1BUllfYWxzYS11dGlscy1hbHNhdWNtICAgICAgPSAiQUxTQSBVc2UgQ2FzZSBNYW5hZ2VyIgotCi1SUkVDT01NRU5EU19hbHNhLXV0aWxzLWFsc2FjdGwgPSAiYWxzYS1zdGF0ZXMiCi0KLUFMTE9XX0VNUFRZX2Fsc2EtdXRpbHMgPSAiMSIKLQotZG9faW5zdGFsbCgpIHsKLQlhdXRvdG9vbHNfZG9faW5zdGFsbAotCi0JIyBXZSBkb24ndCBzaGlwIHRoaXMgaGVyZSBiZWNhdXNlIGl0IHJlcXVpcmVzIGEgZGVwZW5kZW5jeSBvbiBiYXNoLgotCSMgU2VlIGFsc2EtdXRpbHMtc2NyaXB0c18ke1BWfS5iYgotCXJtICR7RH0ke3NiaW5kaXJ9L2Fsc2Fjb25mCi0Jcm0gJHtEfSR7c2JpbmRpcn0vYWxzYS1pbmZvLnNoCi0Jcm0gLWYgJHtEfSR7c2JpbmRpcn0vYWxzYWJhdC10ZXN0LnNoCi0KLQkjIElmIHVkZXYgaXMgZGlzYWJsZWQsIHdlIHRvbGQgY29uZmlndXJlIHRvIGluc3RhbGwgdGhlIHJ1bGVzCi0JIyBpbiAvdW53YW50ZWQsIHNvIHdlIGNhbiByZW1vdmUgdGhlbSBub3cuIElmIHVkZXYgaXMgZW5hYmxlZCwKLQkjIHRoZW4gL3Vud2FudGVkIHdvbid0IGV4aXN0IGFuZCB0aGlzIHdpbGwgaGF2ZSBubyBlZmZlY3QuCi0Jcm0gLXJmICR7RH0vdW53YW50ZWQKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXV0aWxzXzEuMS44LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdXRpbHNfMS4xLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZkNTRlNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXV0aWxzXzEuMS44LmJiCkBAIC0wLDAgKzEsMTA2IEBACitTVU1NQVJZID0gIkFMU0Egc291bmQgdXRpbGl0aWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hbHNhLXByb2plY3Qub3JnIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vYWxzYS1wcm9qZWN0Lm9yZy9tYWluL2luZGV4LnBocC9CdWdfVHJhY2tpbmciCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2Fsc2FjdGwvdXRpbHMuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTIwO21kNT0yY2U3ZjdiNjczOTQ4N2ZiNzJjNjg5ZDQ2NTIxZjk1OCIKK0RFUEVORFMgPSAiYWxzYS1saWIgbmN1cnNlcyBsaWJzYW1wbGVyYXRlMCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gInVkZXYiCisKKyMgYWxzYWJhdCBjYW4gYmUgYnVpbHQgYWxzbyB3aXRob3V0IGZmdHcgc3VwcG9ydCAod2l0aCByZWR1Y2VkIGZ1bmN0aW9uYWxpdHkpLgorIyBJdCB3b3VsZCBiZSBiZXR0ZXIgdG8gYWx3YXlzIGVuYWJsZSBhbHNhYmF0LCBidXQgcHJvdmlkZSBhbiBvcHRpb24gZm9yCisjIGVuYWJsaW5nL2Rpc2FibGluZyBmZnR3LiBUaGUgY29uZmlndXJlIHNjcmlwdCBkb2Vzbid0IHN1cHBvcnQgdGhhdCwgaG93ZXZlcgorIyAoYXQgbGVhc3QgaW4gYW55IG9idmlvdXMgd2F5KSwgc28gZm9yIG5vdyB3ZSBvbmx5IHN1cHBvcnQgYWxzYWJhdCB3aXRoIGZmdHcKKyMgb3Igbm8gYWxzYWJhdCBhdCBhbGwuCitQQUNLQUdFQ09ORklHW2JhdF0gPSAiLS1lbmFibGUtYmF0LC0tZGlzYWJsZS1iYXQsZmZ0d2YiCisKK1BBQ0tBR0VDT05GSUdbdWRldl0gPSAiLS13aXRoLXVkZXYtcnVsZXMtZGlyPWBwa2ctY29uZmlnIC0tdmFyaWFibGU9dWRldmRpciB1ZGV2YC9ydWxlcy5kLC0td2l0aC11ZGV2LXJ1bGVzLWRpcj0vdW53YW50ZWQvcnVsZXMuZCx1ZGV2IgorUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS1lbmFibGUteG1sdG8sIC0tZGlzYWJsZS14bWx0bywgeG1sdG8tbmF0aXZlIGRvY2Jvb2steG1sLWR0ZDQtbmF0aXZlIGRvY2Jvb2steHNsLXN0eWxlc2hlZXRzLW5hdGl2ZSIKKworIyBhbHNhLXV0aWxzIHNwZWNpZmllZCBpbiBTUkNfVVJJIGR1ZSB0byBhbHNhLXV0aWxzLXNjcmlwdHMgcmVjaXBlCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LmFsc2EtcHJvamVjdC5vcmcvZmlsZXMvcHViL3V0aWxzL2Fsc2EtdXRpbHMtJHtQVn0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NGQ2ZjliNDgzMTQ0ODIzZDBmYzBjMjZlOGNlYTAyOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZDliZjUyODkyMmIzODI5YTkxOTEzYjg5YTE4NThjNThhMGIyNDI3MWE3YjVmNTI5OTIzYWE5ZWExMmZhNGNmIgorCisjIE9uIGJ1aWxkIG1hY2hpbmVzIHdpdGggcHl0aG9uLWRvY3V0aWxzIChub3QgcHl0aG9uMy1kb2N1dGlscyAhISkgaW5zdGFsbGVkCisjIHJzdDJtYW4gKG5vdCByc3QybWFuLnB5KSBpcyBkZXRlY3RlZCBhbmQgY29tcGlsZSBmYWlscyB3aXRoCisjIHwgbWFrZVsxXTogKioqIE5vIHJ1bGUgdG8gbWFrZSB0YXJnZXQgJ2Fsc2F1Y20uMScsIG5lZWRlZCBieSAnYWxsLWFtJy4gIFN0b3AuCisjIEF2b2lkIHRoaXMgYnkgZGlzYWJsaW5nIGV4cGljaXRseQorRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1yc3QybWFuIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBtYW5wYWdlcworCisjIFRoaXMgYXJlIGFsbCBwYWNrYWdlcyB0aGF0IHdlIG5lZWQgdG8gbWFrZS4gQWxzbywgdGhlIG5vdyBlbXB0eSBhbHNhLXV0aWxzCisjIGlwayBkZXBlbmRzIG9uIHRoZW0uCisKK0FMU0FfVVRJTFNfUEtHUyA9ICJcCisgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnYmF0JywgJ2Fsc2EtdXRpbHMtYWxzYWJhdCcsICcnLCBkKX0gXAorICAgICAgICAgICAgIGFsc2EtdXRpbHMtYWxzYW1peGVyIFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLWFsc2F0cGxnIFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLW1pZGkgXAorICAgICAgICAgICAgIGFsc2EtdXRpbHMtYXBsYXkgXAorICAgICAgICAgICAgIGFsc2EtdXRpbHMtYW1peGVyIFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLWFjb25uZWN0IFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLWllY3NldCBcCisgICAgICAgICAgICAgYWxzYS11dGlscy1zcGVha2VydGVzdCBcCisgICAgICAgICAgICAgYWxzYS11dGlscy1hc2VxbmV0IFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLWFzZXFkdW1wIFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLWFsc2FjdGwgXAorICAgICAgICAgICAgIGFsc2EtdXRpbHMtYWxzYWxvb3AgXAorICAgICAgICAgICAgIGFsc2EtdXRpbHMtYWxzYXVjbSBcCisgICAgICAgICAgICAiCisKK1BBQ0tBR0VTICs9ICIke0FMU0FfVVRJTFNfUEtHU30iCitSREVQRU5EU18ke1BOfSArPSAiJHtBTFNBX1VUSUxTX1BLR1N9IgorCitGSUxFU18ke1BOfSA9ICIiCitGSUxFU19hbHNhLXV0aWxzLWFsc2FiYXQgICAgID0gIiR7YmluZGlyfS9hbHNhYmF0IgorRklMRVNfYWxzYS11dGlscy1hbHNhdHBsZyAgICA9ICIke2JpbmRpcn0vYWxzYXRwbGciCitGSUxFU19hbHNhLXV0aWxzLWFwbGF5ICAgICAgID0gIiR7YmluZGlyfS9hcGxheSAke2JpbmRpcn0vYXJlY29yZCAke2JpbmRpcn0vYXhmZXIiCitGSUxFU19hbHNhLXV0aWxzLWFtaXhlciAgICAgID0gIiR7YmluZGlyfS9hbWl4ZXIiCitGSUxFU19hbHNhLXV0aWxzLWFsc2FtaXhlciAgID0gIiR7YmluZGlyfS9hbHNhbWl4ZXIiCitGSUxFU19hbHNhLXV0aWxzLXNwZWFrZXJ0ZXN0ID0gIiR7YmluZGlyfS9zcGVha2VyLXRlc3QgJHtkYXRhZGlyfS9zb3VuZHMvYWxzYS8gJHtkYXRhZGlyfS9hbHNhL3NwZWFrZXItdGVzdC8iCitGSUxFU19hbHNhLXV0aWxzLW1pZGkgICAgICAgID0gIiR7YmluZGlyfS9hcGxheW1pZGkgJHtiaW5kaXJ9L2FyZWNvcmRtaWRpICR7YmluZGlyfS9hbWlkaSIKK0ZJTEVTX2Fsc2EtdXRpbHMtYWNvbm5lY3QgICAgPSAiJHtiaW5kaXJ9L2Fjb25uZWN0IgorRklMRVNfYWxzYS11dGlscy1hc2VxbmV0ICAgICA9ICIke2JpbmRpcn0vYXNlcW5ldCIKK0ZJTEVTX2Fsc2EtdXRpbHMtaWVjc2V0ICAgICAgPSAiJHtiaW5kaXJ9L2llY3NldCIKK0ZJTEVTX2Fsc2EtdXRpbHMtYWxzYWN0bCAgICAgPSAiJHtzYmluZGlyfS9hbHNhY3RsICovdWRldi9ydWxlcy5kLzkwLWFsc2EtcmVzdG9yZS5ydWxlcyAqLyovdWRldi9ydWxlcy5kLzkwLWFsc2EtcmVzdG9yZS5ydWxlcyAke3N5c3RlbWRfdW5pdGRpcn0gJHtsb2NhbHN0YXRlZGlyfS9saWIvYWxzYSAke2RhdGFkaXJ9L2Fsc2EvaW5pdC8iCitGSUxFU19hbHNhLXV0aWxzLWFzZXFkdW1wICAgID0gIiR7YmluZGlyfS9hc2VxZHVtcCIKK0ZJTEVTX2Fsc2EtdXRpbHMtYWxzYWxvb3AgICAgPSAiJHtiaW5kaXJ9L2Fsc2Fsb29wIgorRklMRVNfYWxzYS11dGlscy1hbHNhdWNtICAgICA9ICIke2JpbmRpcn0vYWxzYXVjbSAqL3VkZXYvcnVsZXMuZC84OS1hbHNhLXVjbS5ydWxlcyAqLyovdWRldi9ydWxlcy5kLzg5LWFsc2EtdWNtLnJ1bGVzIgorCitTVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYWJhdCAgICAgID0gIkNvbW1hbmQtbGluZSBzb3VuZCB0ZXN0ZXIgZm9yIEFMU0Egc291bmQgY2FyZCBkcml2ZXIiCitTVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYXRwbGcgICAgID0gIkNvbnZlcnRzIHRvcG9sb2d5IHRleHQgZmlsZXMgaW50byBiaW5hcnkgZm9ybWF0IGZvciBrZXJuZWwiCitTVU1NQVJZX2Fsc2EtdXRpbHMtYXBsYXkgICAgICAgID0gIlBsYXkgKGFuZCByZWNvcmQpIHNvdW5kIGZpbGVzIHVzaW5nIEFMU0EiCitTVU1NQVJZX2Fsc2EtdXRpbHMtYW1peGVyICAgICAgID0gIkNvbW1hbmQtbGluZSBjb250cm9sIGZvciBBTFNBIG1peGVyIGFuZCBzZXR0aW5ncyIKK1NVTU1BUllfYWxzYS11dGlscy1hbHNhbWl4ZXIgICAgPSAibmN1cnNlcy1iYXNlZCBjb250cm9sIGZvciBBTFNBIG1peGVyIGFuZCBzZXR0aW5ncyIKK1NVTU1BUllfYWxzYS11dGlscy1zcGVha2VydGVzdCAgPSAiQUxTQSBzdXJyb3VuZCBzcGVha2VyIHRlc3QgdXRpbGl0eSIKK1NVTU1BUllfYWxzYS11dGlscy1taWRpICAgICAgICAgPSAiTWlzY2VsbGFuZW91cyBNSURJIHV0aWxpdGllcyBmb3IgQUxTQSIKK1NVTU1BUllfYWxzYS11dGlscy1hY29ubmVjdCAgICAgPSAiQUxTQSBzZXF1ZW5jZXIgY29ubmVjdGlvbiBtYW5hZ2VyIgorU1VNTUFSWV9hbHNhLXV0aWxzLWFzZXFuZXQgICAgICA9ICJOZXR3b3JrIGNsaWVudC9zZXJ2ZXIgZm9yIEFMU0Egc2VxdWVuY2VyIgorU1VNTUFSWV9hbHNhLXV0aWxzLWllY3NldCAgICAgICA9ICJBTFNBIHV0aWxpdHkgZm9yIHNldHRpbmcvc2hvd2luZyBJRUM5NTggKFMvUERJRikgc3RhdHVzIGJpdHMiCitTVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYWN0bCAgICAgID0gIlNhdmVzL3Jlc3RvcmVzIEFMU0Etc2V0dGluZ3MgaW4gL2V0Yy9hc291bmQuc3RhdGUiCitTVU1NQVJZX2Fsc2EtdXRpbHMtYXNlcWR1bXAgICAgID0gIlNob3dzIHRoZSBldmVudHMgcmVjZWl2ZWQgYXQgYW4gQUxTQSBzZXF1ZW5jZXIgcG9ydCIKK1NVTU1BUllfYWxzYS11dGlscy1hbHNhbG9vcCAgICAgPSAiQUxTQSBQQ00gbG9vcGJhY2sgdXRpbGl0eSIKK1NVTU1BUllfYWxzYS11dGlscy1hbHNhdWNtICAgICAgPSAiQUxTQSBVc2UgQ2FzZSBNYW5hZ2VyIgorCitSUkVDT01NRU5EU19hbHNhLXV0aWxzLWFsc2FjdGwgPSAiYWxzYS1zdGF0ZXMiCisKK0FMTE9XX0VNUFRZX2Fsc2EtdXRpbHMgPSAiMSIKKworZG9faW5zdGFsbCgpIHsKKwlhdXRvdG9vbHNfZG9faW5zdGFsbAorCisJIyBXZSBkb24ndCBzaGlwIHRoaXMgaGVyZSBiZWNhdXNlIGl0IHJlcXVpcmVzIGEgZGVwZW5kZW5jeSBvbiBiYXNoLgorCSMgU2VlIGFsc2EtdXRpbHMtc2NyaXB0c18ke1BWfS5iYgorCXJtICR7RH0ke3NiaW5kaXJ9L2Fsc2Fjb25mCisJcm0gJHtEfSR7c2JpbmRpcn0vYWxzYS1pbmZvLnNoCisJcm0gLWYgJHtEfSR7c2JpbmRpcn0vYWxzYWJhdC10ZXN0LnNoCisKKwkjIElmIHVkZXYgaXMgZGlzYWJsZWQsIHdlIHRvbGQgY29uZmlndXJlIHRvIGluc3RhbGwgdGhlIHJ1bGVzCisJIyBpbiAvdW53YW50ZWQsIHNvIHdlIGNhbiByZW1vdmUgdGhlbSBub3cuIElmIHVkZXYgaXMgZW5hYmxlZCwKKwkjIHRoZW4gL3Vud2FudGVkIHdvbid0IGV4aXN0IGFuZCB0aGlzIHdpbGwgaGF2ZSBubyBlZmZlY3QuCisJcm0gLXJmICR7RH0vdW53YW50ZWQKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZmZtcGVnL2ZmbXBlZy9DVkUtMjAxOC0xNTgyMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZmZtcGVnL2ZmbXBlZy9DVkUtMjAxOC0xNTgyMi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Q1ODY4YS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZmbXBlZy9mZm1wZWcvQ1ZFLTIwMTgtMTU4MjIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1Gcm9tIDZiNjdkN2YwNTkxOGY3YTFlZThmYzZmZjIxMzU1ZDdlODczNmFhMTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotRGF0ZTogU2F0LCAyOCBKdWwgMjAxOCAxNTowMzo1MCArMDIwMAotU3ViamVjdDogW1BBVENIXSBhdmZvcm1hdC9mbHZlbmM6IENoZWNrIGF1ZGlvIHBhY2tldCBzaXplCi0KLUZpeGVzOiBBc3NlcnRpb24gZmFpbHVyZQotRml4ZXM6IGFzc2VydF9mbHZlbmMuYzo5NDFfMS5zd2YKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL0ZGbXBlZy9GRm1wZWcvY29tbWl0LzZiNjdkN2YwNTkxOGY3YTFlZThmYzZmZjIxMzU1ZDdlODczNmFhMTBdCi1DVkU6IENWRS0yMDE4LTE1ODIyCi0KLUZvdW5kLWJ5OiAjQ0hFTiBIT05HWFUjIDxIQ0hFTjAxN0BlLm50dS5lZHUuc2c+Ci1TaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotU2lnbmVkLW9mZi1ieTogTWluZ2xpIFl1IDxNaW5nbGkuWXVAd2luZHJpdmVyLmNvbT4KLS0tLQotIGxpYmF2Zm9ybWF0L2ZsdmVuYy5jIHwgNSArKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2ZsdmVuYy5jIGIvbGliYXZmb3JtYXQvZmx2ZW5jLmMKLWluZGV4IDFjNTUyYTNlNmIuLmU0ODYzZjFmYzcgMTAwNjQ0Ci0tLS0gYS9saWJhdmZvcm1hdC9mbHZlbmMuYwotKysrIGIvbGliYXZmb3JtYXQvZmx2ZW5jLmMKLUBAIC04ODMsNiArODgzLDExIEBAIHN0YXRpYyBpbnQgZmx2X3dyaXRlX3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsIEFWUGFja2V0ICpwa3QpCi0gICAgIGludCBmbGFncyA9IC0xLCBmbGFnc19zaXplLCByZXQ7Ci0gICAgIGludDY0X3QgY3VyX29mZnNldCA9IGF2aW9fdGVsbChwYik7Ci0gCi0rICAgIGlmIChwYXItPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX0FVRElPICYmICFwa3QtPnNpemUpIHsKLSsgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfV0FSTklORywgIkVtcHR5IGF1ZGlvIFBhY2tldFxuIik7Ci0rICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOwotKyAgICB9Ci0rCi0gICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQNkYgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WUDZBIHx8Ci0gICAgICAgICBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQNiAgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9BQUMpCi0gICAgICAgICBmbGFnc19zaXplID0gMjsKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZmZtcGVnL2ZmbXBlZ180LjAuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZmZtcGVnL2ZmbXBlZ180LjAuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2QxYWYwNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZmbXBlZy9mZm1wZWdfNC4wLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNTggKzAsMCBAQAotU1VNTUFSWSA9ICJBIGNvbXBsZXRlLCBjcm9zcy1wbGF0Zm9ybSBzb2x1dGlvbiB0byByZWNvcmQsIGNvbnZlcnQgYW5kIHN0cmVhbSBhdWRpbyBhbmQgdmlkZW8uIgotREVTQ1JJUFRJT04gPSAiRkZtcGVnIGlzIHRoZSBsZWFkaW5nIG11bHRpbWVkaWEgZnJhbWV3b3JrLCBhYmxlIHRvIGRlY29kZSwgZW5jb2RlLCB0cmFuc2NvZGUsIFwKLSAgICAgICAgICAgICAgIG11eCwgZGVtdXgsIHN0cmVhbSwgZmlsdGVyIGFuZCBwbGF5IHByZXR0eSBtdWNoIGFueXRoaW5nIHRoYXQgaHVtYW5zIGFuZCBtYWNoaW5lcyBcCi0gICAgICAgICAgICAgICBoYXZlIGNyZWF0ZWQuIEl0IHN1cHBvcnRzIHRoZSBtb3N0IG9ic2N1cmUgYW5jaWVudCBmb3JtYXRzIHVwIHRvIHRoZSBjdXR0aW5nIGVkZ2UuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cuZmZtcGVnLm9yZy8iCi1TRUNUSU9OID0gImxpYnMiCi0KLUxJQ0VOU0UgPSAiQlNEICYgR1BMdjIrICYgTEdQTHYyLjErICYgTUlUIgotTElDRU5TRV8ke1BOfSA9ICJHUEx2MisiCi1MSUNFTlNFX2xpYmF2Y29kZWMgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3BsJywgJ0dQTHYyKycsICdMR1BMdjIuMSsnLCBkKX0iCi1MSUNFTlNFX2xpYmF2ZGV2aWNlID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgotTElDRU5TRV9saWJhdmZpbHRlciA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKLUxJQ0VOU0VfbGliYXZmb3JtYXQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3BsJywgJ0dQTHYyKycsICdMR1BMdjIuMSsnLCBkKX0iCi1MSUNFTlNFX2xpYmF2cmVzYW1wbGUgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3BsJywgJ0dQTHYyKycsICdMR1BMdjIuMSsnLCBkKX0iCi1MSUNFTlNFX2xpYmF2dXRpbCA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKLUxJQ0VOU0VfbGlicG9zdHByb2MgPSAiR1BMdjIrIgotTElDRU5TRV9saWJzd3Jlc2FtcGxlID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgotTElDRU5TRV9saWJzd3NjYWxlID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgotTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkdQTHYyO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkdQTHYzO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxHUEx2Mi4xO21kNT1iZDdhNDQzMzIwYWY4YzgxMmU0YzE4ZDFiNzlkZjAwNCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxHUEx2MzttZDU9ZTZhNjAwZmQ1ZTFkOWNiZGUyZDk4MzY4MDIzM2FkMDIiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly93d3cuZmZtcGVnLm9yZy9yZWxlYXNlcy8ke0JQfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vbWlwczY0X2NwdV9kZXRlY3Rpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTU4MjIucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiYWUwYmZkZjgwOTMwNmEyMTJiNGYwZTZlYjhkMWM3NWUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTk1YzBjYzllYjk5MGU5NDAzMWQyMTgzZjJlNmU0NDRjYzYxYzk5ZjZmMTgyZDE1NzVjNDMzZDYyYWZiMmY5NyIKLQotIyBCdWlsZCBmYWlscyB3aGVuIHRodW1iIGlzIGVuYWJsZWQ6IGh0dHBzOi8vYnVnemlsbGEueW9jdG9wcm9qZWN0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxNwotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjYgPSAiYXJtIgotCi0jIFNob3VsZCBiZSBBUEkgY29tcGF0aWJsZSB3aXRoIGxpYmF2ICh3aGljaCB3YXMgYSBmb3JrIG9mIGZmbXBlZykKLSMgbGlicG9zdHByb2Mgd2FzIHByZXZpb3VzbHkgcGFja2FnZWQgZnJvbSBhIHNlcGFyYXRlIHJlY2lwZQotUFJPVklERVMgPSAibGliYXYgbGlicG9zdHByb2MiCi0KLURFUEVORFMgPSAiYWxzYS1saWIgemxpYiBsaWJvZ2cgbmFzbS1uYXRpdmUiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1QQUNLQUdFQ09ORklHID8/PSAiYXZkZXZpY2UgYXZmaWx0ZXIgYXZjb2RlYyBhdmZvcm1hdCBzd3Jlc2FtcGxlIHN3c2NhbGUgcG9zdHByb2MgXAotICAgICAgICAgICAgICAgICAgIGJ6bGliIGdwbCBsem1hIHRoZW9yYSB4MjY0IFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4dicsICcnLCBkKX0iCi0KLSMgbGlicmFyaWVzIHRvIGJ1aWxkIGluIGFkZGl0aW9uIHRvIGF2dXRpbAotUEFDS0FHRUNPTkZJR1thdmRldmljZV0gPSAiLS1lbmFibGUtYXZkZXZpY2UsLS1kaXNhYmxlLWF2ZGV2aWNlIgotUEFDS0FHRUNPTkZJR1thdmZpbHRlcl0gPSAiLS1lbmFibGUtYXZmaWx0ZXIsLS1kaXNhYmxlLWF2ZmlsdGVyIgotUEFDS0FHRUNPTkZJR1thdmNvZGVjXSA9ICItLWVuYWJsZS1hdmNvZGVjLC0tZGlzYWJsZS1hdmNvZGVjIgotUEFDS0FHRUNPTkZJR1thdmZvcm1hdF0gPSAiLS1lbmFibGUtYXZmb3JtYXQsLS1kaXNhYmxlLWF2Zm9ybWF0IgotUEFDS0FHRUNPTkZJR1tzd3Jlc2FtcGxlXSA9ICItLWVuYWJsZS1zd3Jlc2FtcGxlLC0tZGlzYWJsZS1zd3Jlc2FtcGxlIgotUEFDS0FHRUNPTkZJR1tzd3NjYWxlXSA9ICItLWVuYWJsZS1zd3NjYWxlLC0tZGlzYWJsZS1zd3NjYWxlIgotUEFDS0FHRUNPTkZJR1twb3N0cHJvY10gPSAiLS1lbmFibGUtcG9zdHByb2MsLS1kaXNhYmxlLXBvc3Rwcm9jIgotUEFDS0FHRUNPTkZJR1thdnJlc2FtcGxlXSA9ICItLWVuYWJsZS1hdnJlc2FtcGxlLC0tZGlzYWJsZS1hdnJlc2FtcGxlIgotCi0jIGZlYXR1cmVzIHRvIHN1cHBvcnQKLVBBQ0tBR0VDT05GSUdbYnpsaWJdID0gIi0tZW5hYmxlLWJ6bGliLC0tZGlzYWJsZS1iemxpYixiemlwMiIKLVBBQ0tBR0VDT05GSUdbZ3BsXSA9ICItLWVuYWJsZS1ncGwsLS1kaXNhYmxlLWdwbCIKLVBBQ0tBR0VDT05GSUdbZ3NtXSA9ICItLWVuYWJsZS1saWJnc20sLS1kaXNhYmxlLWxpYmdzbSxsaWJnc20iCi1QQUNLQUdFQ09ORklHW2phY2tdID0gIi0tZW5hYmxlLWluZGV2PWphY2ssLS1kaXNhYmxlLWluZGV2PWphY2ssamFjayIKLVBBQ0tBR0VDT05GSUdbbGlidm9yYmlzXSA9ICItLWVuYWJsZS1saWJ2b3JiaXMsLS1kaXNhYmxlLWxpYnZvcmJpcyxsaWJ2b3JiaXMiCi1QQUNLQUdFQ09ORklHW2x6bWFdID0gIi0tZW5hYmxlLWx6bWEsLS1kaXNhYmxlLWx6bWEseHoiCi1QQUNLQUdFQ09ORklHW21wM2xhbWVdID0gIi0tZW5hYmxlLWxpYm1wM2xhbWUsLS1kaXNhYmxlLWxpYm1wM2xhbWUsbGFtZSIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtb3BlbnNzbCwtLWRpc2FibGUtb3BlbnNzbCxvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1tzZGwyXSA9ICItLWVuYWJsZS1zZGwyLC0tZGlzYWJsZS1zZGwyLHZpcnR1YWwvbGlic2RsMiIKLVBBQ0tBR0VDT05GSUdbc3BlZXhdID0gIi0tZW5hYmxlLWxpYnNwZWV4LC0tZGlzYWJsZS1saWJzcGVleCxzcGVleCIKLVBBQ0tBR0VDT05GSUdbdGhlb3JhXSA9ICItLWVuYWJsZS1saWJ0aGVvcmEsLS1kaXNhYmxlLWxpYnRoZW9yYSxsaWJ0aGVvcmEiCi1QQUNLQUdFQ09ORklHW3ZhYXBpXSA9ICItLWVuYWJsZS12YWFwaSwtLWRpc2FibGUtdmFhcGksbGlidmEiCi1QQUNLQUdFQ09ORklHW3ZkcGF1XSA9ICItLWVuYWJsZS12ZHBhdSwtLWRpc2FibGUtdmRwYXUsbGlidmRwYXUiCi1QQUNLQUdFQ09ORklHW3ZweF0gPSAiLS1lbmFibGUtbGlidnB4LC0tZGlzYWJsZS1saWJ2cHgsbGlidnB4IgotUEFDS0FHRUNPTkZJR1t4MjY0XSA9ICItLWVuYWJsZS1saWJ4MjY0LC0tZGlzYWJsZS1saWJ4MjY0LHgyNjQiCi1QQUNLQUdFQ09ORklHW3h2XSA9ICItLWVuYWJsZS1vdXRkZXY9eHYsLS1kaXNhYmxlLW91dGRldj14dixsaWJ4diIKLQotIyBDaGVjayBjb2RlY3MgdGhhdCByZXF1aXJlIC0tZW5hYmxlLW5vbmZyZWUKLVVTRV9OT05GUkVFID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnUEFDS0FHRUNPTkZJRycsIFsgJ29wZW5zc2wnIF0sICd5ZXMnLCAnJywgZCl9IgotCi1kZWYgY3B1KGQpOgotICAgIGZvciBhcmcgaW4gKGQuZ2V0VmFyKCdUVU5FX0NDQVJHUycpIG9yICcnKS5zcGxpdCgpOgotICAgICAgICBpZiBhcmcuc3RhcnRzd2l0aCgnLW1jcHU9Jyk6Ci0gICAgICAgICAgICByZXR1cm4gYXJnWzY6XQotICAgIHJldHVybiAnZ2VuZXJpYycKLQotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS1kaXNhYmxlLXN0cmlwcGluZyBcCi0gICAgLS1lbmFibGUtcGljIFwKLSAgICAtLWVuYWJsZS1zaGFyZWQgXAotICAgIC0tZW5hYmxlLXB0aHJlYWRzIFwKLSAgICAtLWRpc2FibGUtbGlieGNiIFwKLSAgICAtLWRpc2FibGUtbGlieGNiLXNobSBcCi0gICAgLS1kaXNhYmxlLWxpYnhjYi14Zml4ZXMgXAotICAgIC0tZGlzYWJsZS1saWJ4Y2Itc2hhcGUgXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdVU0VfTk9ORlJFRScsICd5ZXMnLCAnLS1lbmFibGUtbm9uZnJlZScsICcnLCBkKX0gXAotICAgIFwKLSAgICAtLWNyb3NzLXByZWZpeD0ke1RBUkdFVF9QUkVGSVh9IFwKLSAgICBcCi0gICAgLS1sZD0iJHtDQ0xEfSIgXAotICAgIC0tY2M9IiR7Q0N9IiBcCi0gICAgLS1jeHg9IiR7Q1hYfSIgXAotICAgIC0tYXJjaD0ke1RBUkdFVF9BUkNIfSBcCi0gICAgLS10YXJnZXQtb3M9ImxpbnV4IiBcCi0gICAgLS1lbmFibGUtY3Jvc3MtY29tcGlsZSBcCi0gICAgLS1leHRyYS1jZmxhZ3M9IiR7VEFSR0VUX0NGTEFHU30gJHtIT1NUX0NDX0FSQ0h9JHtUT09MQ0hBSU5fT1BUSU9OU30iIFwKLSAgICAtLWV4dHJhLWxkZmxhZ3M9IiR7VEFSR0VUX0xERkxBR1N9IiBcCi0gICAgLS1zeXNyb290PSIke1NUQUdJTkdfRElSX1RBUkdFVH0iIFwKLSAgICAtLWVuYWJsZS1oYXJkY29kZWQtdGFibGVzIFwKLSAgICAke0VYVFJBX0ZGQ09ORn0gXAotICAgIC0tbGliZGlyPSR7bGliZGlyfSBcCi0gICAgLS1zaGxpYmRpcj0ke2xpYmRpcn0gXAotICAgIC0tZGF0YWRpcj0ke2RhdGFkaXJ9L2ZmbXBlZyBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0FWQUlMVFVORVMnLCAnbWlwczMycjInLCAnJywgJy0tZGlzYWJsZS1taXBzZHNwIC0tZGlzYWJsZS1taXBzZHNwcjInLCBkKX0gXAotICAgIC0tY3B1PSR7QGNwdShkKX0gXAotICAgIC0tcGtnLWNvbmZpZz1wa2ctY29uZmlnIFwKLSIKLQotRVhUUkFfT0VDT05GX2FwcGVuZF9saW51eC1nbnV4MzIgPSAiIC0tZGlzYWJsZS1hc20iCi0jIGdvbGQgY3Jhc2hlcyBvbiB4ODYsIGFub3RoZXIgc29sdXRpb24gaXMgdG8gLS1kaXNhYmxlLWFzbSBidXQgdGhhdHMgbW9yZSBoYWNreQotIyBsZC5nb2xkOiBpbnRlcm5hbCBlcnJvciBpbiByZWxvY2F0ZV9zZWN0aW9uLCBhdCAuLi8uLi9nb2xkL2kzODYuY2M6MzY4NAotCi1MREZMQUdTX2FwcGVuZF94ODYgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZC1pcy1nb2xkJywgJyAtZnVzZS1sZD1iZmQgJywgJycsIGQpfSIKLQotZG9fY29uZmlndXJlKCkgewotICAgICR7U30vY29uZmlndXJlICR7RVhUUkFfT0VDT05GfQotfQotCi1QQUNLQUdFUyA9KyAibGliYXZjb2RlYyBcCi0gICAgICAgICAgICAgbGliYXZkZXZpY2UgXAotICAgICAgICAgICAgIGxpYmF2ZmlsdGVyIFwKLSAgICAgICAgICAgICBsaWJhdmZvcm1hdCBcCi0gICAgICAgICAgICAgbGliYXZyZXNhbXBsZSBcCi0gICAgICAgICAgICAgbGliYXZ1dGlsIFwKLSAgICAgICAgICAgICBsaWJwb3N0cHJvYyBcCi0gICAgICAgICAgICAgbGlic3dyZXNhbXBsZSBcCi0gICAgICAgICAgICAgbGlic3dzY2FsZSIKLQotRklMRVNfbGliYXZjb2RlYyA9ICIke2xpYmRpcn0vbGliYXZjb2RlYyR7U09MSUJTfSIKLUZJTEVTX2xpYmF2ZGV2aWNlID0gIiR7bGliZGlyfS9saWJhdmRldmljZSR7U09MSUJTfSIKLUZJTEVTX2xpYmF2ZmlsdGVyID0gIiR7bGliZGlyfS9saWJhdmZpbHRlciR7U09MSUJTfSIKLUZJTEVTX2xpYmF2Zm9ybWF0ID0gIiR7bGliZGlyfS9saWJhdmZvcm1hdCR7U09MSUJTfSIKLUZJTEVTX2xpYmF2cmVzYW1wbGUgPSAiJHtsaWJkaXJ9L2xpYmF2cmVzYW1wbGUke1NPTElCU30iCi1GSUxFU19saWJhdnV0aWwgPSAiJHtsaWJkaXJ9L2xpYmF2dXRpbCR7U09MSUJTfSIKLUZJTEVTX2xpYnBvc3Rwcm9jID0gIiR7bGliZGlyfS9saWJwb3N0cHJvYyR7U09MSUJTfSIKLUZJTEVTX2xpYnN3cmVzYW1wbGUgPSAiJHtsaWJkaXJ9L2xpYnN3cmVzYW1wbGUke1NPTElCU30iCi1GSUxFU19saWJzd3NjYWxlID0gIiR7bGliZGlyfS9saWJzd3NjYWxlJHtTT0xJQlN9IgotCi0jIGZmbXBlZyBkaXNhYmxlcyBQSUMgb24gc29tZSBwbGF0Zm9ybXMgKGUuZy4geDg2LTMyKQotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdmNvZGVjID0gInRleHRyZWwiCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2ZGV2aWNlID0gInRleHRyZWwiCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2ZmlsdGVyID0gInRleHRyZWwiCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2Zm9ybWF0ID0gInRleHRyZWwiCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2dXRpbCA9ICJ0ZXh0cmVsIgotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdnJlc2FtcGxlID0gInRleHRyZWwiCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYnN3c2NhbGUgPSAidGV4dHJlbCIKLUlOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGlic3dyZXNhbXBsZSA9ICJ0ZXh0cmVsIgotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJwb3N0cHJvYyA9ICJ0ZXh0cmVsIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9mZm1wZWcvZmZtcGVnXzQuMS4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9mZm1wZWcvZmZtcGVnXzQuMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0OWIzZDAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZmbXBlZy9mZm1wZWdfNC4xLjEuYmIKQEAgLTAsMCArMSwxNTcgQEAKK1NVTU1BUlkgPSAiQSBjb21wbGV0ZSwgY3Jvc3MtcGxhdGZvcm0gc29sdXRpb24gdG8gcmVjb3JkLCBjb252ZXJ0IGFuZCBzdHJlYW0gYXVkaW8gYW5kIHZpZGVvLiIKK0RFU0NSSVBUSU9OID0gIkZGbXBlZyBpcyB0aGUgbGVhZGluZyBtdWx0aW1lZGlhIGZyYW1ld29yaywgYWJsZSB0byBkZWNvZGUsIGVuY29kZSwgdHJhbnNjb2RlLCBcCisgICAgICAgICAgICAgICBtdXgsIGRlbXV4LCBzdHJlYW0sIGZpbHRlciBhbmQgcGxheSBwcmV0dHkgbXVjaCBhbnl0aGluZyB0aGF0IGh1bWFucyBhbmQgbWFjaGluZXMgXAorICAgICAgICAgICAgICAgaGF2ZSBjcmVhdGVkLiBJdCBzdXBwb3J0cyB0aGUgbW9zdCBvYnNjdXJlIGFuY2llbnQgZm9ybWF0cyB1cCB0byB0aGUgY3V0dGluZyBlZGdlLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3LmZmbXBlZy5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkJTRCAmIEdQTHYyKyAmIExHUEx2Mi4xKyAmIE1JVCIKK0xJQ0VOU0VfJHtQTn0gPSAiR1BMdjIrIgorTElDRU5TRV9saWJhdmNvZGVjID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgorTElDRU5TRV9saWJhdmRldmljZSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKK0xJQ0VOU0VfbGliYXZmaWx0ZXIgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3BsJywgJ0dQTHYyKycsICdMR1BMdjIuMSsnLCBkKX0iCitMSUNFTlNFX2xpYmF2Zm9ybWF0ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgorTElDRU5TRV9saWJhdnJlc2FtcGxlID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgorTElDRU5TRV9saWJhdnV0aWwgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3BsJywgJ0dQTHYyKycsICdMR1BMdjIuMSsnLCBkKX0iCitMSUNFTlNFX2xpYnBvc3Rwcm9jID0gIkdQTHYyKyIKK0xJQ0VOU0VfbGlic3dyZXNhbXBsZSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKK0xJQ0VOU0VfbGlic3dzY2FsZSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKK0xJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5HUEx2MjttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5HUEx2MzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMdjIuMTttZDU9YmQ3YTQ0MzMyMGFmOGM4MTJlNGMxOGQxYjc5ZGYwMDQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMdjM7bWQ1PWU2YTYwMGZkNWUxZDljYmRlMmQ5ODM2ODAyMzNhZDAyIgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LmZmbXBlZy5vcmcvcmVsZWFzZXMvJHtCUH0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovL21pcHM2NF9jcHVfZGV0ZWN0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjcyMGZjODQ2MTdhMmMzOGFlYWU3OWFmZjM2ODlhNTY3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM3Mzc0OTgyNGRmZDMzNGQ4NGU1NWRmZjQwNjcyOWVkZmQxNjA2NTc1ZWU0NGRkNDg1ZDk3ZDQ1ZWE0ZDJkODYiCisKKyMgQnVpbGQgZmFpbHMgd2hlbiB0aHVtYiBpcyBlbmFibGVkOiBodHRwczovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTcKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY2ID0gImFybSIKKworIyBTaG91bGQgYmUgQVBJIGNvbXBhdGlibGUgd2l0aCBsaWJhdiAod2hpY2ggd2FzIGEgZm9yayBvZiBmZm1wZWcpCisjIGxpYnBvc3Rwcm9jIHdhcyBwcmV2aW91c2x5IHBhY2thZ2VkIGZyb20gYSBzZXBhcmF0ZSByZWNpcGUKK1BST1ZJREVTID0gImxpYmF2IGxpYnBvc3Rwcm9jIgorCitERVBFTkRTID0gImFsc2EtbGliIHpsaWIgbGlib2dnIG5hc20tbmF0aXZlIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/Pz0gImF2ZGV2aWNlIGF2ZmlsdGVyIGF2Y29kZWMgYXZmb3JtYXQgc3dyZXNhbXBsZSBzd3NjYWxlIHBvc3Rwcm9jIGF2cmVzYW1wbGUgXAorICAgICAgICAgICAgICAgICAgIGJ6bGliIGdwbCBsem1hIHRoZW9yYSB4MjY0IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4dicsICcnLCBkKX0iCisKKyMgbGlicmFyaWVzIHRvIGJ1aWxkIGluIGFkZGl0aW9uIHRvIGF2dXRpbAorUEFDS0FHRUNPTkZJR1thdmRldmljZV0gPSAiLS1lbmFibGUtYXZkZXZpY2UsLS1kaXNhYmxlLWF2ZGV2aWNlIgorUEFDS0FHRUNPTkZJR1thdmZpbHRlcl0gPSAiLS1lbmFibGUtYXZmaWx0ZXIsLS1kaXNhYmxlLWF2ZmlsdGVyIgorUEFDS0FHRUNPTkZJR1thdmNvZGVjXSA9ICItLWVuYWJsZS1hdmNvZGVjLC0tZGlzYWJsZS1hdmNvZGVjIgorUEFDS0FHRUNPTkZJR1thdmZvcm1hdF0gPSAiLS1lbmFibGUtYXZmb3JtYXQsLS1kaXNhYmxlLWF2Zm9ybWF0IgorUEFDS0FHRUNPTkZJR1tzd3Jlc2FtcGxlXSA9ICItLWVuYWJsZS1zd3Jlc2FtcGxlLC0tZGlzYWJsZS1zd3Jlc2FtcGxlIgorUEFDS0FHRUNPTkZJR1tzd3NjYWxlXSA9ICItLWVuYWJsZS1zd3NjYWxlLC0tZGlzYWJsZS1zd3NjYWxlIgorUEFDS0FHRUNPTkZJR1twb3N0cHJvY10gPSAiLS1lbmFibGUtcG9zdHByb2MsLS1kaXNhYmxlLXBvc3Rwcm9jIgorUEFDS0FHRUNPTkZJR1thdnJlc2FtcGxlXSA9ICItLWVuYWJsZS1hdnJlc2FtcGxlLC0tZGlzYWJsZS1hdnJlc2FtcGxlIgorCisjIGZlYXR1cmVzIHRvIHN1cHBvcnQKK1BBQ0tBR0VDT05GSUdbYnpsaWJdID0gIi0tZW5hYmxlLWJ6bGliLC0tZGlzYWJsZS1iemxpYixiemlwMiIKK1BBQ0tBR0VDT05GSUdbZ3BsXSA9ICItLWVuYWJsZS1ncGwsLS1kaXNhYmxlLWdwbCIKK1BBQ0tBR0VDT05GSUdbZ3NtXSA9ICItLWVuYWJsZS1saWJnc20sLS1kaXNhYmxlLWxpYmdzbSxsaWJnc20iCitQQUNLQUdFQ09ORklHW2phY2tdID0gIi0tZW5hYmxlLWluZGV2PWphY2ssLS1kaXNhYmxlLWluZGV2PWphY2ssamFjayIKK1BBQ0tBR0VDT05GSUdbbGlidm9yYmlzXSA9ICItLWVuYWJsZS1saWJ2b3JiaXMsLS1kaXNhYmxlLWxpYnZvcmJpcyxsaWJ2b3JiaXMiCitQQUNLQUdFQ09ORklHW2x6bWFdID0gIi0tZW5hYmxlLWx6bWEsLS1kaXNhYmxlLWx6bWEseHoiCitQQUNLQUdFQ09ORklHW21wM2xhbWVdID0gIi0tZW5hYmxlLWxpYm1wM2xhbWUsLS1kaXNhYmxlLWxpYm1wM2xhbWUsbGFtZSIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtb3BlbnNzbCwtLWRpc2FibGUtb3BlbnNzbCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tzZGwyXSA9ICItLWVuYWJsZS1zZGwyLC0tZGlzYWJsZS1zZGwyLHZpcnR1YWwvbGlic2RsMiIKK1BBQ0tBR0VDT05GSUdbc3BlZXhdID0gIi0tZW5hYmxlLWxpYnNwZWV4LC0tZGlzYWJsZS1saWJzcGVleCxzcGVleCIKK1BBQ0tBR0VDT05GSUdbdGhlb3JhXSA9ICItLWVuYWJsZS1saWJ0aGVvcmEsLS1kaXNhYmxlLWxpYnRoZW9yYSxsaWJ0aGVvcmEiCitQQUNLQUdFQ09ORklHW3ZhYXBpXSA9ICItLWVuYWJsZS12YWFwaSwtLWRpc2FibGUtdmFhcGksbGlidmEiCitQQUNLQUdFQ09ORklHW3ZkcGF1XSA9ICItLWVuYWJsZS12ZHBhdSwtLWRpc2FibGUtdmRwYXUsbGlidmRwYXUiCitQQUNLQUdFQ09ORklHW3ZweF0gPSAiLS1lbmFibGUtbGlidnB4LC0tZGlzYWJsZS1saWJ2cHgsbGlidnB4IgorUEFDS0FHRUNPTkZJR1t4MjY0XSA9ICItLWVuYWJsZS1saWJ4MjY0LC0tZGlzYWJsZS1saWJ4MjY0LHgyNjQiCitQQUNLQUdFQ09ORklHW3h2XSA9ICItLWVuYWJsZS1vdXRkZXY9eHYsLS1kaXNhYmxlLW91dGRldj14dixsaWJ4diIKKworIyBDaGVjayBjb2RlY3MgdGhhdCByZXF1aXJlIC0tZW5hYmxlLW5vbmZyZWUKK1VTRV9OT05GUkVFID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnUEFDS0FHRUNPTkZJRycsIFsgJ29wZW5zc2wnIF0sICd5ZXMnLCAnJywgZCl9IgorCitkZWYgY3B1KGQpOgorICAgIGZvciBhcmcgaW4gKGQuZ2V0VmFyKCdUVU5FX0NDQVJHUycpIG9yICcnKS5zcGxpdCgpOgorICAgICAgICBpZiBhcmcuc3RhcnRzd2l0aCgnLW1jcHU9Jyk6CisgICAgICAgICAgICByZXR1cm4gYXJnWzY6XQorICAgIHJldHVybiAnZ2VuZXJpYycKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1kaXNhYmxlLXN0cmlwcGluZyBcCisgICAgLS1lbmFibGUtcGljIFwKKyAgICAtLWVuYWJsZS1zaGFyZWQgXAorICAgIC0tZW5hYmxlLXB0aHJlYWRzIFwKKyAgICAtLWRpc2FibGUtbGlieGNiIFwKKyAgICAtLWRpc2FibGUtbGlieGNiLXNobSBcCisgICAgLS1kaXNhYmxlLWxpYnhjYi14Zml4ZXMgXAorICAgIC0tZGlzYWJsZS1saWJ4Y2Itc2hhcGUgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdVU0VfTk9ORlJFRScsICd5ZXMnLCAnLS1lbmFibGUtbm9uZnJlZScsICcnLCBkKX0gXAorICAgIFwKKyAgICAtLWNyb3NzLXByZWZpeD0ke1RBUkdFVF9QUkVGSVh9IFwKKyAgICBcCisgICAgLS1sZD0iJHtDQ0xEfSIgXAorICAgIC0tY2M9IiR7Q0N9IiBcCisgICAgLS1jeHg9IiR7Q1hYfSIgXAorICAgIC0tYXJjaD0ke1RBUkdFVF9BUkNIfSBcCisgICAgLS10YXJnZXQtb3M9ImxpbnV4IiBcCisgICAgLS1lbmFibGUtY3Jvc3MtY29tcGlsZSBcCisgICAgLS1leHRyYS1jZmxhZ3M9IiR7VEFSR0VUX0NGTEFHU30gJHtIT1NUX0NDX0FSQ0h9JHtUT09MQ0hBSU5fT1BUSU9OU30iIFwKKyAgICAtLWV4dHJhLWxkZmxhZ3M9IiR7VEFSR0VUX0xERkxBR1N9IiBcCisgICAgLS1zeXNyb290PSIke1NUQUdJTkdfRElSX1RBUkdFVH0iIFwKKyAgICAtLWVuYWJsZS1oYXJkY29kZWQtdGFibGVzIFwKKyAgICAke0VYVFJBX0ZGQ09ORn0gXAorICAgIC0tbGliZGlyPSR7bGliZGlyfSBcCisgICAgLS1zaGxpYmRpcj0ke2xpYmRpcn0gXAorICAgIC0tZGF0YWRpcj0ke2RhdGFkaXJ9L2ZmbXBlZyBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0FWQUlMVFVORVMnLCAnbWlwczMycjInLCAnJywgJy0tZGlzYWJsZS1taXBzZHNwIC0tZGlzYWJsZS1taXBzZHNwcjInLCBkKX0gXAorICAgIC0tY3B1PSR7QGNwdShkKX0gXAorICAgIC0tcGtnLWNvbmZpZz1wa2ctY29uZmlnIFwKKyIKKworRVhUUkFfT0VDT05GX2FwcGVuZF9saW51eC1nbnV4MzIgPSAiIC0tZGlzYWJsZS1hc20iCisjIGdvbGQgY3Jhc2hlcyBvbiB4ODYsIGFub3RoZXIgc29sdXRpb24gaXMgdG8gLS1kaXNhYmxlLWFzbSBidXQgdGhhdHMgbW9yZSBoYWNreQorIyBsZC5nb2xkOiBpbnRlcm5hbCBlcnJvciBpbiByZWxvY2F0ZV9zZWN0aW9uLCBhdCAuLi8uLi9nb2xkL2kzODYuY2M6MzY4NAorCitMREZMQUdTX2FwcGVuZF94ODYgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZC1pcy1nb2xkJywgJyAtZnVzZS1sZD1iZmQgJywgJycsIGQpfSIKKworZG9fY29uZmlndXJlKCkgeworICAgICR7U30vY29uZmlndXJlICR7RVhUUkFfT0VDT05GfQorfQorCitQQUNLQUdFUyA9KyAibGliYXZjb2RlYyBcCisgICAgICAgICAgICAgbGliYXZkZXZpY2UgXAorICAgICAgICAgICAgIGxpYmF2ZmlsdGVyIFwKKyAgICAgICAgICAgICBsaWJhdmZvcm1hdCBcCisgICAgICAgICAgICAgbGliYXZyZXNhbXBsZSBcCisgICAgICAgICAgICAgbGliYXZ1dGlsIFwKKyAgICAgICAgICAgICBsaWJwb3N0cHJvYyBcCisgICAgICAgICAgICAgbGlic3dyZXNhbXBsZSBcCisgICAgICAgICAgICAgbGlic3dzY2FsZSIKKworRklMRVNfbGliYXZjb2RlYyA9ICIke2xpYmRpcn0vbGliYXZjb2RlYyR7U09MSUJTfSIKK0ZJTEVTX2xpYmF2ZGV2aWNlID0gIiR7bGliZGlyfS9saWJhdmRldmljZSR7U09MSUJTfSIKK0ZJTEVTX2xpYmF2ZmlsdGVyID0gIiR7bGliZGlyfS9saWJhdmZpbHRlciR7U09MSUJTfSIKK0ZJTEVTX2xpYmF2Zm9ybWF0ID0gIiR7bGliZGlyfS9saWJhdmZvcm1hdCR7U09MSUJTfSIKK0ZJTEVTX2xpYmF2cmVzYW1wbGUgPSAiJHtsaWJkaXJ9L2xpYmF2cmVzYW1wbGUke1NPTElCU30iCitGSUxFU19saWJhdnV0aWwgPSAiJHtsaWJkaXJ9L2xpYmF2dXRpbCR7U09MSUJTfSIKK0ZJTEVTX2xpYnBvc3Rwcm9jID0gIiR7bGliZGlyfS9saWJwb3N0cHJvYyR7U09MSUJTfSIKK0ZJTEVTX2xpYnN3cmVzYW1wbGUgPSAiJHtsaWJkaXJ9L2xpYnN3cmVzYW1wbGUke1NPTElCU30iCitGSUxFU19saWJzd3NjYWxlID0gIiR7bGliZGlyfS9saWJzd3NjYWxlJHtTT0xJQlN9IgorCisjIGZmbXBlZyBkaXNhYmxlcyBQSUMgb24gc29tZSBwbGF0Zm9ybXMgKGUuZy4geDg2LTMyKQorSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdmNvZGVjID0gInRleHRyZWwiCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2ZGV2aWNlID0gInRleHRyZWwiCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2ZmlsdGVyID0gInRleHRyZWwiCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2Zm9ybWF0ID0gInRleHRyZWwiCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2dXRpbCA9ICJ0ZXh0cmVsIgorSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdnJlc2FtcGxlID0gInRleHRyZWwiCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYnN3c2NhbGUgPSAidGV4dHJlbCIKK0lOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGlic3dyZXNhbXBsZSA9ICJ0ZXh0cmVsIgorSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJwb3N0cHJvYyA9ICJ0ZXh0cmVsIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZmlsZXMvMDAwMi1nc3Rjb25maWcuaC5pbi1pbml0aWFsLVJJU0MtVi1zdXBwb3J0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZmlsZXMvMDAwMi1nc3Rjb25maWcuaC5pbi1pbml0aWFsLVJJU0MtVi1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiNzQyZGUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9maWxlcy8wMDAyLWdzdGNvbmZpZy5oLmluLWluaXRpYWwtUklTQy1WLXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSA4YTE1NmQxNzI1ZWNkMDNmMmU4Y2RjODg3NGUwODFkZGEyZDNiNDNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQXVyZWxpZW4gSmFybm8gPGF1cmVsaWVuQGF1cmVsMzIubmV0PgorRGF0ZTogU3VuLCAxNSBBcHIgMjAxOCAwMDo0OTo1NSArMDIwMAorU3ViamVjdDogW1BBVENIXSBnc3Rjb25maWcuaC5pbjogaW5pdGlhbCBSSVNDLVYgc3VwcG9ydAorCitSSVNDLVYgc3VwcG9ydHMgdW5hbGlnbmVkIGFjY2Vzc2VzLCBidXQgdGhlc2UgbWlnaHQgcnVuIGV4dHJlbWVseSBzbG93bHkKK2RlcGVuZGluZyBvbiB0aGUgaW1wbGVtZW50YXRpb24uIFRoZXJlZm9yZSBzZXQgR1NUX0hBVkVfVU5BTElHTkVEX0FDQ0VTUwordG8gMCBvbiB0aGlzIGFyY2hpdGVjdHVyZS4KKworaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTI3MQorCitTaWduZWQtb2ZmLWJ5OiBBbGlzdGFpciBGcmFuY2lzIDxhbGlzdGFpci5mcmFuY2lzQHdkYy5jb20+CitVcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFsxLjE1LjEgLSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MjcxXQorLS0tCisgZ3N0L2dzdGNvbmZpZy5oLmluIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ3N0L2dzdGNvbmZpZy5oLmluIGIvZ3N0L2dzdGNvbmZpZy5oLmluCitpbmRleCA2MzUxYzA0ZGEuLjMzZGZlZDFmNiAxMDA2NDQKKy0tLSBhL2dzdC9nc3Rjb25maWcuaC5pbgorKysrIGIvZ3N0L2dzdGNvbmZpZy5oLmluCitAQCAtMTA0LDcgKzEwNCw3IEBACisgICogaHR0cDovL2RvY3Mub3JhY2xlLmNvbS9jZC9FMTkyMDUtMDEvODIwLTQxNTUvYysrX2ZhcS5odG1sI1ZlcnM2CisgICogaHR0cHM6Ly9zb2Z0d2FyZS5pbnRlbC5jb20vZW4tdXMvbm9kZS81ODM0MDIKKyAgKi8KKy0jaWYgZGVmaW5lZChfX2FscGhhX18pIHx8IGRlZmluZWQoX19hcmNfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fYmZpbikgfHwgZGVmaW5lZChfX2hwcGFfXykgfHwgZGVmaW5lZChfX25pb3MyX18pIHx8IGRlZmluZWQoX19NSUNST0JMQVpFX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoX19vcjFrX18pIHx8IGRlZmluZWQoX19zaF9fKSB8fCBkZWZpbmVkKF9fU0g0X18pIHx8IGRlZmluZWQoX19zcGFyY19fKSB8fCBkZWZpbmVkKF9fc3BhcmMpIHx8IGRlZmluZWQoX19pYTY0X18pIHx8IGRlZmluZWQoX01fQUxQSEEpIHx8IGRlZmluZWQoX01fQVJNKSB8fCBkZWZpbmVkKF9NX0lBNjQpIHx8IGRlZmluZWQoX194dGVuc2FfXykgfHwgZGVmaW5lZChfX2Uya19fKQorKyNpZiBkZWZpbmVkKF9fYWxwaGFfXykgfHwgZGVmaW5lZChfX2FyY19fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19iZmluKSB8fCBkZWZpbmVkKF9faHBwYV9fKSB8fCBkZWZpbmVkKF9fbmlvczJfXykgfHwgZGVmaW5lZChfX01JQ1JPQkxBWkVfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX29yMWtfXykgfHwgZGVmaW5lZChfX3NoX18pIHx8IGRlZmluZWQoX19TSDRfXykgfHwgZGVmaW5lZChfX3NwYXJjX18pIHx8IGRlZmluZWQoX19zcGFyYykgfHwgZGVmaW5lZChfX2lhNjRfXykgfHwgZGVmaW5lZChfTV9BTFBIQSkgfHwgZGVmaW5lZChfTV9BUk0pIHx8IGRlZmluZWQoX01fSUE2NCkgfHwgZGVmaW5lZChfX3h0ZW5zYV9fKSB8fCBkZWZpbmVkKF9fZTJrX18pIHx8IGRlZmluZWQoX19yaXNjdikKKyAjICBkZWZpbmUgR1NUX0hBVkVfVU5BTElHTkVEX0FDQ0VTUyAwCisgI2VsaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2kzODYpIHx8IGRlZmluZWQoX19hbWQ2NF9fKSB8fCBkZWZpbmVkKF9fYW1kNjQpIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX3BwY19fKSB8fCBkZWZpbmVkKF9fcHBjNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGNfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBkZWZpbmVkKF9fbTY4a19fKSB8fCBkZWZpbmVkKF9NX0lYODYpIHx8IGRlZmluZWQoX01fQU1ENjQpIHx8IGRlZmluZWQoX01fWDY0KSB8fCBkZWZpbmVkKF9fczM5MF9fKSB8fCBkZWZpbmVkKF9fczM5MHhfXykgfHwgZGVmaW5lZChfX3phcmNoX18pCisgIyAgZGVmaW5lIEdTVF9IQVZFX1VOQUxJR05FRF9BQ0NFU1MgMQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0LWV4YW1wbGVzX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdC1leGFtcGxlc19naXQuYmIKaW5kZXggMWQ4N2YyNC4uNzVhYzliNyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0LWV4YW1wbGVzX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3QtZXhhbXBsZXNfZ2l0LmJiCkBAIC00LDExICs0LDExIEBACiAKIERFUEVORFMgPSAiZ2xpYi0yLjAgZ3N0cmVhbWVyMS4wIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFkIGd0ayszIGdsaWItMi4wLW5hdGl2ZSIKIAotU1JDX1VSSSA9ICJnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LWV4YW1wbGVzIFwKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LWV4YW1wbGVzLmdpdDtwcm90b2NvbD1odHRwcyBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2UtcGxheWVyLWV4YW1wbGVzLWluc3RhbGxhYmxlLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2dzdC1wbGF5ZXIuZGVza3RvcCIKIAotU1JDUkVWID0gIjQ4MjQ3YzZhYjY4MDdkNmFlMTc5Y2Y2NTNjYmRjNjQ3MTRkMzMxM2MiCitTUkNSRVYgPSAiMmIzZmMxNzVjMjUyY2Q1YTUzN2U0YjI4NjRiNTcyYTgzNzI0NzNkNiIKIFBWID0gIjAuMC4xK2dpdCR7U1JDUFZ9IgogVVBTVFJFQU1fQ0hFQ0tfQ09NTUlUUyA9ICIxIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1wYWNrYWdlLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLXBhY2thZ2UuaW5jCmluZGV4IDNmZGIxMGUuLjY3ODFlOTggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLXBhY2thZ2UuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLXBhY2thZ2UuaW5jCkBAIC02LDI2ICs2LDI2IEBACiAgICAgcG9zdGluc3QgPSBkLmdldFZhcigncGx1Z2luX3Bvc3RpbnN0JykKICAgICBnbGliZGlyID0gZC5nZXRWYXIoJ2xpYmRpcicpCiAKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBnbGliZGlyLCAnXmxpYiguKilcLnNvXC4qJywgJ2xpYiVzJywgJ2dzdHJlYW1lciAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBnc3RfbGliZGlyLCAnbGliZ3N0KC4qKVwuc28kJywgZC5leHBhbmQoJyR7UE59LSVzJyksICdHU3RyZWFtZXIgcGx1Z2luIGZvciAlcycsIHBvc3RpbnN0PXBvc3RpbnN0LCBleHRyYV9kZXBlbmRzPScnKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdsaWJkaXIrJy9naXJlcG9zaXRvcnktMS4wJywgJ0dzdCguKiktMS4wXC50eXBlbGliJCcsIGQuZXhwYW5kKCcke1BOfS0lcy10eXBlbGliJyksICdHU3RyZWFtZXIgdHlwZWxpYiBmaWxlIGZvciAlcycsIHBvc3RpbnN0PXBvc3RpbnN0LCBleHRyYV9kZXBlbmRzPScnKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdzdF9saWJkaXIsICdsaWJnc3QoLiopXC5sYSQnLCBkLmV4cGFuZCgnJHtQTn0tJXMtZGV2JyksICdHU3RyZWFtZXIgcGx1Z2luIGZvciAlcyAoZGV2ZWxvcG1lbnQgZmlsZXMpJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBnc3RfbGliZGlyLCAnbGliZ3N0KC4qKVwuYSQnLCBkLmV4cGFuZCgnJHtQTn0tJXMtc3RhdGljZGV2JyksICdHU3RyZWFtZXIgcGx1Z2luIGZvciAlcyAoc3RhdGljIGRldmVsb3BtZW50IGZpbGVzKScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LXN0YXRpY2RldicpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZ2xpYmRpciwgcidebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnZ3N0cmVhbWVyICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdzdF9saWJkaXIsIHInbGliZ3N0KC4qKVwuc28kJywgZC5leHBhbmQoJyR7UE59LSVzJyksICdHU3RyZWFtZXIgcGx1Z2luIGZvciAlcycsIHBvc3RpbnN0PXBvc3RpbnN0LCBleHRyYV9kZXBlbmRzPScnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdsaWJkaXIrJy9naXJlcG9zaXRvcnktMS4wJywgcidHc3QoLiopLTEuMFwudHlwZWxpYiQnLCBkLmV4cGFuZCgnJHtQTn0tJXMtdHlwZWxpYicpLCAnR1N0cmVhbWVyIHR5cGVsaWIgZmlsZSBmb3IgJXMnLCBwb3N0aW5zdD1wb3N0aW5zdCwgZXh0cmFfZGVwZW5kcz0nJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBnc3RfbGliZGlyLCByJ2xpYmdzdCguKilcLmxhJCcsIGQuZXhwYW5kKCcke1BOfS0lcy1kZXYnKSwgJ0dTdHJlYW1lciBwbHVnaW4gZm9yICVzIChkZXZlbG9wbWVudCBmaWxlcyknLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdzdF9saWJkaXIsIHInbGliZ3N0KC4qKVwuYSQnLCBkLmV4cGFuZCgnJHtQTn0tJXMtc3RhdGljZGV2JyksICdHU3RyZWFtZXIgcGx1Z2luIGZvciAlcyAoc3RhdGljIGRldmVsb3BtZW50IGZpbGVzKScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LXN0YXRpY2RldicpCiB9CiAKIHB5dGhvbiBzZXRfbWV0YXBrZ19yZGVwZW5kcyAoKSB7CiAgICAgaW1wb3J0IG9zCisgICAgaW1wb3J0IG9lLnV0aWxzCiAKICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICAgbWV0YXBrZyA9ICBwbiArICctbWV0YScKICAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKICAgICBkLnNldFZhcignRklMRVNfJyArIG1ldGFwa2csICIiKQotICAgIGJsYWNrbGlzdCA9IFsgcG4sIHBuICsgJy1sb2NhbGUnLCBwbiArICctZGV2JywgcG4gKyAnLWRiZycsIHBuICsgJy1kb2MnLCBwbiArICctbWV0YScgXQorICAgIGJsYWNrbGlzdCA9IFsgcG4sIHBuICsgJy1tZXRhJyBdCiAgICAgbWV0YXBrZ19yZGVwZW5kcyA9IFtdCi0gICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKS5zcGxpdCgpCiAgICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJykKLSAgICBmb3IgcGtnIGluIHBhY2thZ2VzWzE6XToKLSAgICAgICAgaWYgbm90IHBrZyBpbiBibGFja2xpc3QgYW5kIG5vdCBwa2cgaW4gbWV0YXBrZ19yZGVwZW5kcyBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLWRldicpIGFuZCBub3QgcGtnLmVuZHN3aXRoKCctZGJnJykgYW5kIG5vdCBwa2cuY291bnQoJ2xvY2FsZScpIGFuZCBub3QgcGtnLmNvdW50KCctc3RhdGljZGV2Jyk6CisgICAgZm9yIHBrZyBpbiBvZS51dGlscy5wYWNrYWdlc19maWx0ZXJfb3V0X3N5c3RlbShkKToKKyAgICAgICAgaWYgcGtnIG5vdCBpbiBibGFja2xpc3QgYW5kIHBrZyBub3QgaW4gbWV0YXBrZ19yZGVwZW5kczoKICAgICAgICAgICAgICMgU2VlIGlmIHRoZSBwYWNrYWdlIGlzIGVtcHR5IGJ5IGxvb2tpbmcgYXQgdGhlIGNvbnRlbnRzIG9mIGl0cyBQS0dERVNUIHN1YmRpcmVjdG9yeS4gCiAgICAgICAgICAgICAjIElmIHRoaXMgc3ViZGlyZWN0b3J5IGlzIGVtcHR5LCB0aGVuIHRoZSBwYWNrYWdlIGlzLgogICAgICAgICAgICAgIyBFbXB0eSBwYWNrYWdlcyBkbyBub3QgZ2V0IGFkZGVkIHRvIHRoZSBtZXRhIHBhY2thZ2UncyBSREVQRU5EUwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFkXzEuMTQuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMC1wbHVnaW5zLWJhZF8xLjE0LjQuYmIKaW5kZXggOGM3YzIzNS4uNDk4N2JlOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFkXzEuMTQuNC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3RyZWFtZXIxLjAtcGx1Z2lucy1iYWRfMS4xNC40LmJiCkBAIC0xOCw3ICsxOCw3IEBACiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03M2E1ODU1YTgxMTlkZWIwMTdmNWYxM2NmMzI3MDk1ZCBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MjE2ODJlNGU4ZmVhNTI0MTNmZDI2YzYwYWNiOTA3ZTUgIgogCi1ERVBFTkRTICs9ICJnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIGpwZWciCitERVBFTkRTICs9ICJnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIgogCiBpbmhlcml0IGdldHRleHQgYmx1ZXRvb3RoCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMC1wbHVnaW5zLXVnbHlfMS4xNC40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0cmVhbWVyMS4wLXBsdWdpbnMtdWdseV8xLjE0LjQuYmIKaW5kZXggYzU5YmExZC4uMTY4ZTY0ZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0cmVhbWVyMS4wLXBsdWdpbnMtdWdseV8xLjE0LjQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0cmVhbWVyMS4wLXBsdWdpbnMtdWdseV8xLjE0LjQuYmIKQEAgLTE1LDcgKzE1LDcgQEAKIAogUyA9ICIke1dPUktESVJ9L2dzdC1wbHVnaW5zLXVnbHktJHtQVn0iCiAKLURFUEVORFMgKz0gImdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UgbGliaWQzdGFnIgorREVQRU5EUyArPSAiZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSIKIAogaW5oZXJpdCBnZXR0ZXh0CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMF8xLjE0LjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3RyZWFtZXIxLjBfMS4xNC40LmJiCmluZGV4IDIzMjIzNGIuLjk4YzlhMjggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMF8xLjE0LjQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0cmVhbWVyMS4wXzEuMTQuNC5iYgpAQCAtMjUsNiArMjUsNyBAQAogICAgIGZpbGU6Ly9ndGstZG9jLXR3ZWFrcy5wYXRjaCBcCiAgICAgZmlsZTovLzAwMDEtZ3N0LWdzdHBsdWdpbmxvYWRlci5jLXdoZW4tZW52LXZhci1pcy1zZXQtZG8tbm90LWZhbC5wYXRjaCBcCiAgICAgZmlsZTovL2FkZC1hLXRhcmdldC10by1jb21waWxlLXRlc3RzLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1nc3Rjb25maWcuaC5pbi1pbml0aWFsLVJJU0MtVi1zdXBwb3J0LnBhdGNoIFwKICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKICIKIFNSQ19VUklbbWQ1c3VtXSA9ICJmNjdmYmJjNDJiZDg1YTA3MDFkZjExOWY1MmZiNTJiZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGliaWQzdGFnL2xpYmlkM3RhZy8xMF91dGYxNi5kcGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmlkM3RhZy9saWJpZDN0YWcvMTBfdXRmMTYucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGliaWQzdGFnL2xpYmlkM3RhZy8xMF91dGYxNi5kcGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGliaWQzdGFnL2xpYmlkM3RhZy8xMF91dGYxNi5wYXRjaApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJpZDN0YWcvbGliaWQzdGFnXzAuMTUuMWIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmlkM3RhZy9saWJpZDN0YWdfMC4xNS4xYi5iYgppbmRleCBmZTMxNjQ2Li40M2VkZDNmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmlkM3RhZy9saWJpZDN0YWdfMC4xNS4xYi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmlkM3RhZy9saWJpZDN0YWdfMC4xNS4xYi5iYgpAQCAtMTMsNyArMTMsNyBAQAogICAgICAgICAgICBmaWxlOi8vYWRkcGtnY29uZmlnLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL29ic29sZXRlX2F1dG9tYWtlX21hY3Jvcy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1ncGVyZi0zLjEtaW5jb21wYXRpYmlsaXR5LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzEwX3V0ZjE2LmRwYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8xMF91dGYxNi5wYXRjaCBcCiAgICAgICAgICAgICIKIFVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9tYWQvZmlsZXMvbGliaWQzdGFnLyIKIFVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIi9wcm9qZWN0cy9tYWQvZmlsZXMvbGliaWQzdGFnLyg/UDxwdmVyPi4qKS8kIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxLzAwMDEtYS11bGF3LWZpeC1tdWx0aXBsZS1idWZmZXItb3ZlcmZsb3dzLTQzMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS8wMDAxLWEtdWxhdy1maXgtbXVsdGlwbGUtYnVmZmVyLW92ZXJmbG93cy00MzIucGF0Y2gKaW5kZXggYzNmNDRjYS4uYTQ2NzljZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxLzAwMDEtYS11bGF3LWZpeC1tdWx0aXBsZS1idWZmZXItb3ZlcmZsb3dzLTQzMi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvMDAwMS1hLXVsYXctZml4LW11bHRpcGxlLWJ1ZmZlci1vdmVyZmxvd3MtNDMyLnBhdGNoCkBAIC0xLDMgKzEsMTUgQEAKK1RoaXMgcGF0Y2ggZml4ZXMgIzQyOSAoQ1ZFLTIwMTgtMTk2NjEgQ1ZFLTIwMTgtMTk2NjIpIGFuZCAjMzQ0IChDVkUtMjAxNy0xNzQ1NgorQ1ZFLTIwMTctMTc0NTcpLiBBcyBwZXIKK2h0dHBzOi8vZ2l0aHViLmNvbS9lcmlrZC9saWJzbmRmaWxlL2lzc3Vlcy8zNDQjaXNzdWVjb21tZW50LTQ0ODUwNDQyNSBpdCBhbHNvCitmaXhlcyAjMzE3IChDVkUtMjAxNy0xNDI0NSBDVkUtMjAxNy0xNDI0NikuCisKK0NWRTogQ1ZFLTIwMTctMTQyNDUgQ1ZFLTIwMTctMTQyNDYKK0NWRTogQ1ZFLTIwMTctMTc0NTYgQ1ZFLTIwMTctMTc0NTcKK0NWRTogQ1ZFLTIwMTgtMTk2NjEgQ1ZFLTIwMTgtMTk2NjIKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbOGRkYzQ0MmQ1MzljYTc3NWQ4MGNkYmM3YWYxN2E3MTg2MzRhNzQzZl0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKIEZyb20gMzk0NTM4OTlmZTFiYjM5YjJlMDQxZmRmNTFhODVhZWNkMTc3ZTljNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiBEYXRlOiBNb24sIDcgSmFuIDIwMTkgMTU6NTU6MDMgKzA4MDAKQEAgLTE3LDEyICsyOSw2IEBACiBUaGlzIGNvbW1pdCBmaXhlcyAjNDI5IChDVkUtMjAxOC0xOTY2MSBhbmQgQ1ZFLTIwMTgtMTk2NjIpIGFuZAogZml4ZXMgIzM0NCAoQ1ZFLTIwMTctMTc0NTYgYW5kIENWRS0yMDE3LTE3NDU3KS4KIAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydFtodHRwczovL2dpdGh1Yi5jb20vZXJpa2QvbGlic25kZmlsZS8KLWNvbW1pdC81ODVjYzI4YTkzYmUyN2Q2OTM4ZjI3NmFmMDAxMTQwMWI5ZjdjMGNhXQotCi1DVkU6IENWRS0yMDE3LTE3NDU2IENWRS0yMDE3LTE3NDU3IENWRS0yMDE4LTE5NjYxIENWRS0yMDE4LTE5NjYyCi0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KICBzcmMvYWxhdy5jIHwgOSArKysrKysrLS0KICBzcmMvdWxhdy5jIHwgOSArKysrKysrLS0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS9DVkUtMjAxNy0xMjU2Mi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS9DVkUtMjAxNy0xMjU2Mi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTFkYWUzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE3LTEyNTYyLnBhdGNoCkBAIC0wLDAgKzEsOTYgQEAKK0hlYXAtYmFzZWQgQnVmZmVyIE92ZXJmbG93IGluIHRoZSBwc2ZfYmluaGVhZGVyX3dyaXRlZiBmdW5jdGlvbiBpbiBjb21tb24uYyBpbgorbGlic25kZmlsZSB0aHJvdWdoIDEuMC4yOCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBjYXVzZSBhIGRlbmlhbCBvZiBzZXJ2aWNlCisoYXBwbGljYXRpb24gY3Jhc2gpIG9yIHBvc3NpYmx5IGhhdmUgdW5zcGVjaWZpZWQgb3RoZXIgaW1wYWN0LgorCitDVkU6IENWRS0yMDE3LTEyNTYyCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtjZjdhODE4MmMyNjQyYzUwZjFjZjkwZGRkZWE5Y2U5NmE4YmFkMmU4XQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSBiNmE5ZDdlOTU4ODhmZmE3N2Q4Yzc1Y2UzZjAzZTZjNzE2NTU4N2NkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0o9QzM9QjZybj0yMEhldXNpcHA/PSA8b3NtYW54QHByb2JsZW1sb2VzdW5nc21hc2NoaW5lLmRlPgorRGF0ZTogV2VkLCAxNCBKdW4gMjAxNyAxMjoyNTo0MCArMDIwMAorU3ViamVjdDogW1BBVENIXSBzcmMvY29tbW9uLmM6IEZpeCBoZWFwIGJ1ZmZlciBvdmVyZmxvd3Mgd2hlbiB3cml0aW5nIHN0cmluZ3MKKyBpbiBiaW5oZWFkZXIKKworRml4ZXMgdGhlIGZvbGxvd2luZyBwcm9ibGVtczoKKyAxLiBDYXNlICdzJyBvbmx5IGVubGFyZ2VzIHRoZSBidWZmZXIgYnkgMTYgYnl0ZXMgaW5zdGVhZCBvZiBzaXplIGJ5dGVzLgorIDIuIHBzZl9iaW5oZWFkZXJfd3JpdGVmKCkgZW5sYXJnZXMgdGhlIGhlYWRlciBidWZmZXIgKGlmIG5lZWRlZCkgcHJpb3IgdG8gdGhlCisgICAgYmlnIHN3aXRjaCBzdGF0ZW1lbnQgYnkgYW4gYW1vdW50ICgxNiBieXRlcykgd2hpY2ggaXMgZW5vdWdoIGZvciBhbGwgY2FzZXMKKyAgICB3aGVyZSBvbmx5IGEgc2luZ2xlIHZhbHVlIGdldHMgYWRkZWQuIENhc2VzICdzJywgJ1MnLCAncCcgaG93ZXZlcgorICAgIGFkZGl0aW9uYWxseSB3cml0ZSBhbiBhcmJpdHJhcnkgbGVuZ3RoIGJsb2NrIG9mIGRhdGEgYW5kIGFnYWluIGVubGFyZ2UgdGhlCisgICAgYnVmZmVyIHRvIHRoZSByZXF1aXJlZCBhbW91bnQuIEhvd2V2ZXIsIHRoZSByZXF1aXJlZCBzcGFjZSBjYWxjdWxhdGlvbiBkb2VzCisgICAgbm90IHRha2UgaW50byBhY2NvdW50IHRoZSBzaXplIG9mIHRoZSBsZW5ndGggZmllbGQgd2hpY2ggZ2V0cyBvdXRwdXQgYmVmb3JlCisgICAgdGhlIGRhdGEuCisgMy4gQnVmZmVyIHNpemUgcmVxdWlyZW1lbnQgY2FsY3VsYXRpb24gaW4gY2FzZSAnUycgZG9lcyBub3QgYWNjb3VudCBmb3IgdGhlCisgICAgcGFkZGluZyBieXRlICgic2l6ZSArPSAoc2l6ZSAmIDEpIDsiIGhhcHBlbnMgYWZ0ZXIgdGhlIGNhbGN1bGF0aW9uIHdoaWNoCisgICAgdXNlcyAic2l6ZSIpLgorIDQuIENhc2UgJ1MnIGNhbiBvdmVycnVuIHRoZSBoZWFkZXIgYnVmZmVyIGJ5IDEgYnl0ZSB3aGVuIG5vIHBhZGRpbmcgaXMKKyAgICBpbnZvbHZlZAorICAgICgibWVtY3B5ICgmKHBzZi0+aGVhZGVyLnB0ciBbcHNmLT5oZWFkZXIuaW5keF0pLCBzdHJwdHIsIHNpemUgKyAxKSA7IiB3aGlsZQorICAgIHRoZSBidWZmZXIgaXMgb25seSBndWFyYW50ZWVkIHRvIGhhdmUgInNpemUiIHNwYWNlIGF2YWlsYWJsZSkuCisgNS4gInBzZi0+aGVhZGVyLnB0ciBbcHNmLT5oZWFkZXIuaW5keF0gPSAwIDsiIGluIGNhc2UgJ1MnIGFsd2F5cyB3cml0ZXMgMSBieXRlCisgICAgYmV5b25kIHRoZSBzcGFjZSB3aGljaCBpcyBndWFyYW50ZWVkIHRvIGJlIGFsbG9jYXRlZCBpbiB0aGUgaGVhZGVyIGJ1ZmZlci4KKyA2LiBDYXNlICdzJyBjYW4gb3ZlcnJ1biB0aGUgcHJvdmlkZWQgc291cmNlIHN0cmluZyBieSAxIGJ5dGUgaWYgcGFkZGluZyBpcworICAgIGludm9sdmVkICgibWVtY3B5ICgmKHBzZi0+aGVhZGVyLnB0ciBbcHNmLT5oZWFkZXIuaW5keF0pLCBzdHJwdHIsIHNpemUpIDsiCisgICAgd2hlcmUgInNpemUiIGlzICJzdHJsZW4gKHN0cnB0cikgKyAxIiAod2hpY2ggaW5jbHVkZXMgdGhlIDAgdGVybWluYXRvciwKKyAgICBwbHVzIG9wdGlvbmFsbHkgYW5vdGhlciAxIHdoaWNoIGlzIHBhZGRpbmcgYW5kIG5vdCBndWFyYW50ZWVkIHRvIGJlCisgICAgcmVhZGFibGUgdmlhIHRoZSBzb3VyY2Ugc3RyaW5nIHBvaW50ZXIpLgorCitDbG9zZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9lcmlrZC9saWJzbmRmaWxlL2lzc3Vlcy8yOTIKKy0tLQorIHNyYy9jb21tb24uYyB8IDE1ICsrKysrKystLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvY29tbW9uLmMgYi9zcmMvY29tbW9uLmMKK2luZGV4IDFhNjIwNGNhLi42YjJhMmVlOSAxMDA2NDQKKy0tLSBhL3NyYy9jb21tb24uYworKysrIGIvc3JjL2NvbW1vbi5jCitAQCAtNjgxLDE2ICs2ODEsMTYgQEAgcHNmX2JpbmhlYWRlcl93cml0ZWYgKFNGX1BSSVZBVEUgKnBzZiwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCisgCQkJCQkvKiBXcml0ZSBhIEMgc3RyaW5nIChndWFyYW50ZWVkIHRvIGhhdmUgYSB6ZXJvIHRlcm1pbmF0b3IpLiAqLworIAkJCQkJc3RycHRyID0gdmFfYXJnIChhcmdwdHIsIGNoYXIgKikgOworIAkJCQkJc2l6ZSA9IHN0cmxlbiAoc3RycHRyKSArIDEgOworLQkJCQkJc2l6ZSArPSAoc2l6ZSAmIDEpIDsKKyAKKy0JCQkJCWlmIChwc2YtPmhlYWRlci5pbmR4ICsgKHNmX2NvdW50X3QpIHNpemUgPj0gcHNmLT5oZWFkZXIubGVuICYmIHBzZl9idW1wX2hlYWRlcl9hbGxvY2F0aW9uIChwc2YsIDE2KSkKKysJCQkJCWlmIChwc2YtPmhlYWRlci5pbmR4ICsgNCArIChzZl9jb3VudF90KSBzaXplICsgKHNmX2NvdW50X3QpIChzaXplICYgMSkgPiBwc2YtPmhlYWRlci5sZW4gJiYgcHNmX2J1bXBfaGVhZGVyX2FsbG9jYXRpb24gKHBzZiwgNCArIHNpemUgKyAoc2l6ZSAmIDEpKSkKKyAJCQkJCQlyZXR1cm4gY291bnQgOworIAorIAkJCQkJaWYgKHBzZi0+cndmX2VuZGlhbiA9PSBTRl9FTkRJQU5fQklHKQorLQkJCQkJCWhlYWRlcl9wdXRfYmVfaW50IChwc2YsIHNpemUpIDsKKysJCQkJCQloZWFkZXJfcHV0X2JlX2ludCAocHNmLCBzaXplICsgKHNpemUgJiAxKSkgOworIAkJCQkJZWxzZQorLQkJCQkJCWhlYWRlcl9wdXRfbGVfaW50IChwc2YsIHNpemUpIDsKKysJCQkJCQloZWFkZXJfcHV0X2xlX2ludCAocHNmLCBzaXplICsgKHNpemUgJiAxKSkgOworIAkJCQkJbWVtY3B5ICgmKHBzZi0+aGVhZGVyLnB0ciBbcHNmLT5oZWFkZXIuaW5keF0pLCBzdHJwdHIsIHNpemUpIDsKKysJCQkJCXNpemUgKz0gKHNpemUgJiAxKSA7CisgCQkJCQlwc2YtPmhlYWRlci5pbmR4ICs9IHNpemUgOworIAkJCQkJcHNmLT5oZWFkZXIucHRyIFtwc2YtPmhlYWRlci5pbmR4IC0gMV0gPSAwIDsKKyAJCQkJCWNvdW50ICs9IDQgKyBzaXplIDsKK0BAIC03MDMsMTYgKzcwMywxNSBAQCBwc2ZfYmluaGVhZGVyX3dyaXRlZiAoU0ZfUFJJVkFURSAqcHNmLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKKyAJCQkJCSovCisgCQkJCQlzdHJwdHIgPSB2YV9hcmcgKGFyZ3B0ciwgY2hhciAqKSA7CisgCQkJCQlzaXplID0gc3RybGVuIChzdHJwdHIpIDsKKy0JCQkJCWlmIChwc2YtPmhlYWRlci5pbmR4ICsgKHNmX2NvdW50X3QpIHNpemUgPiBwc2YtPmhlYWRlci5sZW4gJiYgcHNmX2J1bXBfaGVhZGVyX2FsbG9jYXRpb24gKHBzZiwgc2l6ZSkpCisrCQkJCQlpZiAocHNmLT5oZWFkZXIuaW5keCArIDQgKyAoc2ZfY291bnRfdCkgc2l6ZSArIChzZl9jb3VudF90KSAoc2l6ZSAmIDEpID4gcHNmLT5oZWFkZXIubGVuICYmIHBzZl9idW1wX2hlYWRlcl9hbGxvY2F0aW9uIChwc2YsIDQgKyBzaXplICsgKHNpemUgJiAxKSkpCisgCQkJCQkJcmV0dXJuIGNvdW50IDsKKyAJCQkJCWlmIChwc2YtPnJ3Zl9lbmRpYW4gPT0gU0ZfRU5ESUFOX0JJRykKKyAJCQkJCQloZWFkZXJfcHV0X2JlX2ludCAocHNmLCBzaXplKSA7CisgCQkJCQllbHNlCisgCQkJCQkJaGVhZGVyX3B1dF9sZV9pbnQgKHBzZiwgc2l6ZSkgOworLQkJCQkJbWVtY3B5ICgmKHBzZi0+aGVhZGVyLnB0ciBbcHNmLT5oZWFkZXIuaW5keF0pLCBzdHJwdHIsIHNpemUgKyAxKSA7CisrCQkJCQltZW1jcHkgKCYocHNmLT5oZWFkZXIucHRyIFtwc2YtPmhlYWRlci5pbmR4XSksIHN0cnB0ciwgc2l6ZSArIChzaXplICYgMSkpIDsKKyAJCQkJCXNpemUgKz0gKHNpemUgJiAxKSA7CisgCQkJCQlwc2YtPmhlYWRlci5pbmR4ICs9IHNpemUgOworLQkJCQkJcHNmLT5oZWFkZXIucHRyIFtwc2YtPmhlYWRlci5pbmR4XSA9IDAgOworIAkJCQkJY291bnQgKz0gNCArIHNpemUgOworIAkJCQkJYnJlYWsgOworIAorQEAgLTcyNCw3ICs3MjMsNyBAQCBwc2ZfYmluaGVhZGVyX3dyaXRlZiAoU0ZfUFJJVkFURSAqcHNmLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKKyAJCQkJCXNpemUgPSAoc2l6ZSAmIDEpID8gc2l6ZSA6IHNpemUgKyAxIDsKKyAJCQkJCXNpemUgPSAoc2l6ZSA+IDI1NCkgPyAyNTQgOiBzaXplIDsKKyAKKy0JCQkJCWlmIChwc2YtPmhlYWRlci5pbmR4ICsgKHNmX2NvdW50X3QpIHNpemUgPiBwc2YtPmhlYWRlci5sZW4gJiYgcHNmX2J1bXBfaGVhZGVyX2FsbG9jYXRpb24gKHBzZiwgc2l6ZSkpCisrCQkJCQlpZiAocHNmLT5oZWFkZXIuaW5keCArIDEgKyAoc2ZfY291bnRfdCkgc2l6ZSA+IHBzZi0+aGVhZGVyLmxlbiAmJiBwc2ZfYnVtcF9oZWFkZXJfYWxsb2NhdGlvbiAocHNmLCAxICsgc2l6ZSkpCisgCQkJCQkJcmV0dXJuIGNvdW50IDsKKyAKKyAJCQkJCWhlYWRlcl9wdXRfYnl0ZSAocHNmLCBzaXplKSA7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTctMTQyNDUtMTQyNDYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTctMTQyNDUtMTQyNDYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExN2VjMjEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE3LTE0MjQ1LTE0MjQ2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIxICswLDAgQEAKLUZyb20gMmQ1NDUxNGE0ZjY0MzdiNjc4Mjk3MTdjMDU0NzJkMmUzMzAwYTI1OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZhYmlhbiBHcmVmZnJhdGggPGZhYmlhbkBncmVmZnJhdGguY29tPgotRGF0ZTogV2VkLCAyNyBTZXAgMjAxNyAxNDo0NjoxNyArMDIwMAotU3ViamVjdDogW1BBVENIXSBzZmVfY29weV9kYXRhX2ZwOiBjaGVjayB2YWx1ZSBvZiAibWF4IiB2YXJpYWJsZSBmb3IgYmVpbmcKLSBub3JtYWwKLQotYW5kIGNoZWNrIGVsZW1lbnRzIG9mIHRoZSBkYXRhW10gYXJyYXkgZm9yIGJlaW5nIGZpbml0ZS4KLQotQm90aCBjaGVja3MgdXNlIGZ1bmN0aW9ucyBwcm92aWRlZCBieSB0aGUgPG1hdGguaD4gaGVhZGVyIGFzIGRlY2xhcmVkCi1ieSB0aGUgQzk5IHN0YW5kYXJkLgotCi1GaXhlcyAjMzE3Ci1DVkU6IENWRS0yMDE3LTE0MjQ1Ci1DVkU6IENWRS0yMDE3LTE0MjQ2Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9mYWJpYW5ncmVmZnJhdGgvbGlic25kZmlsZS9jb21taXQvMmQ1NDUxNGE0ZjY0MzdiNjc4Mjk3MTdjMDU0NzJkMmUzMzAwYTI1OF0KLQotU2lnbmVkLW9mZi1ieTogRmFiaWFuIEdyZWZmcmF0aCA8ZmFiaWFuQGdyZWZmcmF0aC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBKYWdhZGVlc2ggS3Jpc2huYW5qYW5hcHBhIDxqa3Jpc2huYW5qYW5hcHBhQG12aXN0YS5jb20+Ci0tLS0KLSBwcm9ncmFtcy9jb21tb24uYyAgICAgICAgICB8IDIwICsrKysrKysrKysrKysrKystLS0tCi0gcHJvZ3JhbXMvY29tbW9uLmggICAgICAgICAgfCAgMiArLQotIHByb2dyYW1zL3NuZGZpbGUtY29udmVydC5jIHwgIDYgKysrKystCi0gMyBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvY29tbW9uLmMgYi9wcm9ncmFtcy9jb21tb24uYwotaW5kZXggYTIxZTYyYy4uYTI0OWE1OCAxMDA2NDQKLS0tLSBhL3Byb2dyYW1zL2NvbW1vbi5jCi0rKysgYi9wcm9ncmFtcy9jb21tb24uYwotQEAgLTM2LDYgKzM2LDcgQEAKLSAjaW5jbHVkZSA8c3RyaW5nLmg+Ci0gI2luY2x1ZGUgPGN0eXBlLmg+Ci0gI2luY2x1ZGUgPHN0ZGludC5oPgotKyNpbmNsdWRlIDxtYXRoLmg+Ci0gCi0gI2luY2x1ZGUgPHNuZGZpbGUuaD4KLSAKLUBAIC00NSw3ICs0Niw3IEBACi0gCi0gI2RlZmluZQlNSU4oeCwgeSkJKCh4KSA8ICh5KSA/ICh4KSA6ICh5KSkKLSAKLS12b2lkCi0raW50Ci0gc2ZlX2NvcHlfZGF0YV9mcCAoU05ERklMRSAqb3V0ZmlsZSwgU05ERklMRSAqaW5maWxlLCBpbnQgY2hhbm5lbHMsIGludCBub3JtYWxpemUpCi0gewlzdGF0aWMgZG91YmxlCWRhdGEgW0JVRkZFUl9MRU5dLCBtYXggOwotIAlpbnQJCWZyYW1lcywgcmVhZGNvdW50LCBrIDsKLUBAIC01NCw2ICs1NSw4IEBAIHNmZV9jb3B5X2RhdGFfZnAgKFNOREZJTEUgKm91dGZpbGUsIFNOREZJTEUgKmluZmlsZSwgaW50IGNoYW5uZWxzLCBpbnQgbm9ybWFsaXplCi0gCXJlYWRjb3VudCA9IGZyYW1lcyA7Ci0gCi0gCXNmX2NvbW1hbmQgKGluZmlsZSwgU0ZDX0NBTENfU0lHTkFMX01BWCwgJm1heCwgc2l6ZW9mIChtYXgpKSA7Ci0rCWlmICghaXNub3JtYWwgKG1heCkpIC8qIG5laXRoZXIgemVybywgc3Vibm9ybWFsLCBpbmZpbml0ZSwgbm9yIE5hTiAqLwotKwkJcmV0dXJuIDEgOwotIAotIAlpZiAoIW5vcm1hbGl6ZSAmJiBtYXggPCAxLjApCi0gCXsJd2hpbGUgKHJlYWRjb3VudCA+IDApCi1AQCAtNjcsMTIgKzcwLDE2IEBAIHNmZV9jb3B5X2RhdGFfZnAgKFNOREZJTEUgKm91dGZpbGUsIFNOREZJTEUgKmluZmlsZSwgaW50IGNoYW5uZWxzLCBpbnQgbm9ybWFsaXplCi0gCQl3aGlsZSAocmVhZGNvdW50ID4gMCkKLSAJCXsJcmVhZGNvdW50ID0gc2ZfcmVhZGZfZG91YmxlIChpbmZpbGUsIGRhdGEsIGZyYW1lcykgOwotIAkJCWZvciAoayA9IDAgOyBrIDwgcmVhZGNvdW50ICogY2hhbm5lbHMgOyBrKyspCi0tCQkJCWRhdGEgW2tdIC89IG1heCA7Ci0rCQkJewlkYXRhIFtrXSAvPSBtYXggOwotKwotKwkJCQlpZiAoIWlzZmluaXRlIChkYXRhIFtrXSkpIC8qIGluZmluaXRlIG9yIE5hTiAqLwotKwkJCQkJcmV0dXJuIDE7Ci0rCQkJCX0KLSAJCQlzZl93cml0ZWZfZG91YmxlIChvdXRmaWxlLCBkYXRhLCByZWFkY291bnQpIDsKLSAJCQl9IDsKLSAJCX0gOwotIAotLQlyZXR1cm4gOwotKwlyZXR1cm4gMCA7Ci0gfSAvKiBzZmVfY29weV9kYXRhX2ZwICovCi0gCi0gdm9pZAotQEAgLTI1Miw3ICsyNTksMTIgQEAgc2ZlX2FwcGx5X21ldGFkYXRhX2NoYW5nZXMgKGNvbnN0IGNoYXIgKiBmaWxlbmFtZXMgWzJdLCBjb25zdCBNRVRBREFUQV9JTkZPICogaW4KLSAKLSAJCS8qIElmIHRoZSBpbnB1dCBmaWxlIGlzIG5vdCB0aGUgc2FtZSBhcyB0aGUgb3V0cHV0IGZpbGUsIGNvcHkgdGhlIGRhdGEuICovCi0gCQlpZiAoKGluZmlsZW1pbm9yID09IFNGX0ZPUk1BVF9ET1VCTEUpIHx8IChpbmZpbGVtaW5vciA9PSBTRl9GT1JNQVRfRkxPQVQpKQotLQkJCXNmZV9jb3B5X2RhdGFfZnAgKG91dGZpbGUsIGluZmlsZSwgc2ZpbmZvLmNoYW5uZWxzLCBTRl9GQUxTRSkgOwotKwkJewlpZiAoc2ZlX2NvcHlfZGF0YV9mcCAob3V0ZmlsZSwgaW5maWxlLCBzZmluZm8uY2hhbm5lbHMsIFNGX0ZBTFNFKSAhPSAwKQotKwkJCXsJcHJpbnRmICgiRXJyb3IgOiBOb3QgYWJsZSB0byBkZWNvZGUgaW5wdXQgZmlsZSAnJXMnXG4iLCBmaWxlbmFtZXMgWzBdKSA7Ci0rCQkJCWVycm9yX2NvZGUgPSAxIDsKLSsJCQkJZ290byBjbGVhbnVwX2V4aXQgOwotKwkJCQl9IDsKLSsJCQl9Ci0gCQllbHNlCi0gCQkJc2ZlX2NvcHlfZGF0YV9pbnQgKG91dGZpbGUsIGluZmlsZSwgc2ZpbmZvLmNoYW5uZWxzKSA7Ci0gCQl9IDsKLWRpZmYgLS1naXQgYS9wcm9ncmFtcy9jb21tb24uaCBiL3Byb2dyYW1zL2NvbW1vbi5oCi1pbmRleCBlZGEyZDdkLi45ODYyNzdlIDEwMDY0NAotLS0tIGEvcHJvZ3JhbXMvY29tbW9uLmgKLSsrKyBiL3Byb2dyYW1zL2NvbW1vbi5oCi1AQCAtNjIsNyArNjIsNyBAQCB0eXBlZGVmIFNGX0JST0FEQ0FTVF9JTkZPX1ZBUiAoMjA0OCkgU0ZfQlJPQURDQVNUX0lORk9fMksgOwotIAotIHZvaWQgc2ZlX2FwcGx5X21ldGFkYXRhX2NoYW5nZXMgKGNvbnN0IGNoYXIgKiBmaWxlbmFtZXMgWzJdLCBjb25zdCBNRVRBREFUQV9JTkZPICogaW5mbykgOwotIAotLXZvaWQgc2ZlX2NvcHlfZGF0YV9mcCAoU05ERklMRSAqb3V0ZmlsZSwgU05ERklMRSAqaW5maWxlLCBpbnQgY2hhbm5lbHMsIGludCBub3JtYWxpemUpIDsKLStpbnQgc2ZlX2NvcHlfZGF0YV9mcCAoU05ERklMRSAqb3V0ZmlsZSwgU05ERklMRSAqaW5maWxlLCBpbnQgY2hhbm5lbHMsIGludCBub3JtYWxpemUpIDsKLSAKLSB2b2lkIHNmZV9jb3B5X2RhdGFfaW50IChTTkRGSUxFICpvdXRmaWxlLCBTTkRGSUxFICppbmZpbGUsIGludCBjaGFubmVscykgOwotIAotZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3NuZGZpbGUtY29udmVydC5jIGIvcHJvZ3JhbXMvc25kZmlsZS1jb252ZXJ0LmMKLWluZGV4IGRmZjdmNzkuLmU2ZGU1OTMgMTAwNjQ0Ci0tLS0gYS9wcm9ncmFtcy9zbmRmaWxlLWNvbnZlcnQuYwotKysrIGIvcHJvZ3JhbXMvc25kZmlsZS1jb252ZXJ0LmMKLUBAIC0zMzUsNyArMzM1LDExIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICogYXJndiBbXSkKLSAJCQl8fCAob3V0ZmlsZW1pbm9yID09IFNGX0ZPUk1BVF9ET1VCTEUpIHx8IChvdXRmaWxlbWlub3IgPT0gU0ZfRk9STUFUX0ZMT0FUKQotIAkJCXx8IChpbmZpbGVtaW5vciA9PSBTRl9GT1JNQVRfRE9VQkxFKSB8fCAoaW5maWxlbWlub3IgPT0gU0ZfRk9STUFUX0ZMT0FUKQotIAkJCXx8IChpbmZpbGVtaW5vciA9PSBTRl9GT1JNQVRfVk9SQklTKSB8fCAob3V0ZmlsZW1pbm9yID09IFNGX0ZPUk1BVF9WT1JCSVMpKQotLQkJc2ZlX2NvcHlfZGF0YV9mcCAob3V0ZmlsZSwgaW5maWxlLCBzZmluZm8uY2hhbm5lbHMsIG5vcm1hbGl6ZSkgOwotKwl7CWlmIChzZmVfY29weV9kYXRhX2ZwIChvdXRmaWxlLCBpbmZpbGUsIHNmaW5mby5jaGFubmVscywgbm9ybWFsaXplKSAhPSAwKQotKwkJewlwcmludGYgKCJFcnJvciA6IE5vdCBhYmxlIHRvIGRlY29kZSBpbnB1dCBmaWxlICVzLlxuIiwgaW5maWxlbmFtZSkgOwotKwkJCXJldHVybiAxIDsKLSsJCQl9IDsKLSsJCX0KLSAJZWxzZQotIAkJc2ZlX2NvcHlfZGF0YV9pbnQgKG91dGZpbGUsIGluZmlsZSwgc2ZpbmZvLmNoYW5uZWxzKSA7Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS9DVkUtMjAxOC0xMzEzOS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS9DVkUtMjAxOC0xMzEzOS5wYXRjaAppbmRleCA0YWUzNjc0Li43MDczNzNkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTgtMTMxMzkucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE4LTEzMTM5LnBhdGNoCkBAIC0xLDIzICsxLDI1IEBACi1Gcm9tIDU0NzNhZWVmNzg3NWU1NGJkMGY3ODZmYmRkMjU5YTM1YWFlZTg3NWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogV2VkLCAxMCBPY3QgMjAxOCAwODo1OTozMCArMDgwMAotU3ViamVjdDogW1BBVENIXSBsaWJzbmRmaWxlMTogcGF0Y2ggZm9yIENWRS0yMDE4LTEzMTM5Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9id2FyZGVuL2xpYnNuZGZpbGUvCi1jb21taXQvZGYxODMyM2M2MjJiNTQyMjFlZTdhY2U3NGIxNzdjZGNjY2MxNTJkN10KLQogQ1ZFOiBDVkUtMjAxOC0xMzEzOQorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbOWRjOTg5ZWI4OWNkNjk3ZTE5ODk3YWZhNjE2ZDZhYjBkZWJlNDgyMl0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CiAKLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitGcm9tIDlkYzk4OWViODljZDY5N2UxOTg5N2FmYTYxNmQ2YWIwZGViZTQ4MjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiQnJldHQgVC4gV2FyZGVuIiA8YnJldHQudC53YXJkZW5AaW50ZWwuY29tPgorRGF0ZTogVHVlLCAyOCBBdWcgMjAxOCAxMjowMToxNyAtMDcwMAorU3ViamVjdDogW1BBVENIXSBDaGVjayBNQVhfQ0hBTk5FTFMgaW4gc25kZmlsZS1kZWludGVybGVhdmUKKworQWxsb2NhdGVkIGJ1ZmZlciBoYXMgc3BhY2UgZm9yIG9ubHkgMTYgY2hhbm5lbHMuIFZlcmlmeSB0aGF0IGlucHV0IGZpbGUKK21lZXRzIHRoaXMgbGltaXQuCisKK0ZpeGVzICMzOTcKIC0tLQotIHByb2dyYW1zL3NuZGZpbGUtZGVpbnRlcmxlYXZlLmMgfCA2ICsrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKKyBwcm9ncmFtcy9zbmRmaWxlLWRlaW50ZXJsZWF2ZS5jIHwgNyArKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvc25kZmlsZS1kZWludGVybGVhdmUuYyBiL3Byb2dyYW1zL3NuZGZpbGUtZGVpbnRlcmxlYXZlLmMKLWluZGV4IGUyNzU5M2UuLjcyMWJlZTcgMTAwNjQ0CitpbmRleCBlMjc1OTNlMi4uY2I0OTdlMWYgMTAwNjQ0CiAtLS0gYS9wcm9ncmFtcy9zbmRmaWxlLWRlaW50ZXJsZWF2ZS5jCiArKysgYi9wcm9ncmFtcy9zbmRmaWxlLWRlaW50ZXJsZWF2ZS5jCi1AQCAtODksNiArODksMTIgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTg5LDYgKzg5LDEzIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAJCWV4aXQgKDEpIDsKICAJCX0gOwogIApAQCAtMjcsOSArMjksOSBAQAogKwkJZXhpdCAoMSkgOwogKwkJfSA7CiArCisrCiAgCXN0YXRlLmNoYW5uZWxzID0gc2ZpbmZvLmNoYW5uZWxzIDsKICAJc2ZpbmZvLmNoYW5uZWxzID0gMSA7CiAgCiAtLSAKLTIuNy40Ci0KKzIuMTEuMApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE4LTE5NzU4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE4LTE5NzU4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzNTg2ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTgtMTk3NTgucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorVGhlcmUgaXMgYSBoZWFwLWJhc2VkIGJ1ZmZlciBvdmVyLXJlYWQgYXQgd2F2LmMgaW4gd2F2X3dyaXRlX2hlYWRlciBpbgorbGlic25kZmlsZSAxLjAuMjggdGhhdCB3aWxsIGNhdXNlIGEgZGVuaWFsIG9mIHNlcnZpY2UuCisKK0NWRTogQ1ZFLTIwMTgtMTk3NTgKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgWzQyMTMyYzU0MzM1OGNlZTlmN2MzZTllOWIxNWJiNmMxMDYzYTYwOGVdCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIGMxMjE3M2IwMTk3ZGQwYzVjZmEyY2QyNzk3N2U5ODJkMmFlNTk0ODYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBFcmlrIGRlIENhc3RybyBMb3BvIDxlcmlrZEBtZWdhLW5lcmQuY29tPgorRGF0ZTogVHVlLCAxIEphbiAyMDE5IDIwOjExOjQ2ICsxMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHNyYy93YXYuYzogRml4IGhlYXAgcmVhZCBvdmVyZmxvdworCitUaGlzIGlzIENWRS0yMDE4LTE5NzU4LgorCitDbG9zZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9lcmlrZC9saWJzbmRmaWxlL2lzc3Vlcy80MzUKKy0tLQorIHNyYy93YXYuYyB8IDIgKysKKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvd2F2LmMgYi9zcmMvd2F2LmMKK2luZGV4IGU4NDA1YjU1Li42ZmI5NGFlOCAxMDA2NDQKKy0tLSBhL3NyYy93YXYuYworKysrIGIvc3JjL3dhdi5jCitAQCAtMTA5NCw2ICsxMDk0LDggQEAgd2F2X3dyaXRlX2hlYWRlciAoU0ZfUFJJVkFURSAqcHNmLCBpbnQgY2FsY19sZW5ndGgpCisgCQlwc2ZfYmluaGVhZGVyX3dyaXRlZiAocHNmLCAiNDQiLCAwLCAwKSA7IC8qIFNNVFBFIGZvcm1hdCAqLworIAkJcHNmX2JpbmhlYWRlcl93cml0ZWYgKHBzZiwgIjQ0IiwgcHNmLT5pbnN0cnVtZW50LT5sb29wX2NvdW50LCAwKSA7CisgCisrCQkvKiBMb29wIGNvdW50IGlzIHNpZ25lZCAxNiBiaXQgbnVtYmVyIHNvIHdlIGxpbWl0IGl0IHJhbmdlIHRvIHNvbWV0aGluZyBzZW5zaWJsZS4gKi8KKysJCXBzZi0+aW5zdHJ1bWVudC0+bG9vcF9jb3VudCAmPSAweDdmZmYgOworIAkJZm9yICh0bXAgPSAwIDsgdG1wIDwgcHNmLT5pbnN0cnVtZW50LT5sb29wX2NvdW50IDsgdG1wKyspCisgCQl7CWludCB0eXBlIDsKKyAKKy0tIAorMi4xMS4wCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTktMzgzMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS9DVkUtMjAxOS0zODMyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiMzcyMTEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTktMzgzMi5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDQzODg2ZWZjNDA4YzIxZTFlMzI5MDg2ZWY3MGM4ODg2MDMxMGYyNWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBFbWlsaW8gUG96dWVsbyBNb25mb3J0IDxwb2NodTI3QGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNSBNYXIgMjAxOSAxMToyNzoxNyArMDEwMAorU3ViamVjdDogW1BBVENIXSB3YXZfd3JpdGVfaGVhZGVyOiBkb24ndCByZWFkIHBhc3QgdGhlIGFycmF5IGVuZAorCitDVkUtMjAxOC0xOTc1OCB3YXNuJ3QgZW50aXJlbHkgZml4ZWQgaW4gdGhlIGZpeCwgc28gZml4IGl0IGhhcmRlci4KKworQ1ZFOiBDVkUtMjAxOS0zODMyCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFs3NDA4YzRjNzg4Y2UwNDdkNGU2NTJiNjBhMDRlNzc5NmJjZDcyNjdlXQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworSWYgbG9vcF9jb3VudCBpcyBiaWdnZXIgdGhhbiB0aGUgYXJyYXksIHRydW5jYXRlIGl0IHRvIHRoZSBhcnJheQorbGVuZ3RoIChhbmQgbm90IHRvIDMyaykuCisKK0NWRS0yMDE5LTM4MzIKKworLS0tCisgc3JjL3dhdi5jIHwgNiArKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3dhdi5jIGIvc3JjL3dhdi5jCitpbmRleCBkYWFlM2NjLi44ODUxNTQ5IDEwMDY0NAorLS0tIGEvc3JjL3dhdi5jCisrKysgYi9zcmMvd2F2LmMKK0BAIC0xMDk0LDggKzEwOTQsMTAgQEAgd2F2X3dyaXRlX2hlYWRlciAoU0ZfUFJJVkFURSAqcHNmLCBpbnQgY2FsY19sZW5ndGgpCisgCQlwc2ZfYmluaGVhZGVyX3dyaXRlZiAocHNmLCAiNDQiLCAwLCAwKSA7IC8qIFNNVFBFIGZvcm1hdCAqLworIAkJcHNmX2JpbmhlYWRlcl93cml0ZWYgKHBzZiwgIjQ0IiwgcHNmLT5pbnN0cnVtZW50LT5sb29wX2NvdW50LCAwKSA7CisgCistCQkvKiBMb29wIGNvdW50IGlzIHNpZ25lZCAxNiBiaXQgbnVtYmVyIHNvIHdlIGxpbWl0IGl0IHJhbmdlIHRvIHNvbWV0aGluZyBzZW5zaWJsZS4gKi8KKy0JCXBzZi0+aW5zdHJ1bWVudC0+bG9vcF9jb3VudCAmPSAweDdmZmYgOworKwkJLyogTWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgcGFzdCB0aGUgbG9vcHMgYXJyYXkgZW5kLiAqLworKwkJaWYgKHBzZi0+aW5zdHJ1bWVudC0+bG9vcF9jb3VudCA+IEFSUkFZX0xFTiAocHNmLT5pbnN0cnVtZW50LT5sb29wcykpCisrCQkJcHNmLT5pbnN0cnVtZW50LT5sb29wX2NvdW50ID0gQVJSQVlfTEVOIChwc2YtPmluc3RydW1lbnQtPmxvb3BzKSA7CisrCisgCQlmb3IgKHRtcCA9IDAgOyB0bXAgPCBwc2YtPmluc3RydW1lbnQtPmxvb3BfY291bnQgOyB0bXArKykKKyAJCXsJaW50IHR5cGUgOworIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxXzEuMC4yOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMV8xLjAuMjguYmIKaW5kZXggOTcwMGY0YS4uNzczOTNkYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxXzEuMC4yOC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTFfMS4wLjI4LmJiCkBAIC0xMCwxMSArMTAsMTMgQEAKICAgICAgICAgICAgZmlsZTovL0NWRS0yMDE3LTgzNjEtODM2NS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNy04MzYyLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL0NWRS0yMDE3LTgzNjMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTctMTQyNDUtMTQyNDYucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTctMTQ2MzQucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTMxMzkucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1hLXVsYXctZml4LW11bHRpcGxlLWJ1ZmZlci1vdmVyZmxvd3MtNDMyLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE5NDMyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE3LTEyNTYyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE5NzU4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTM4MzIucGF0Y2ggXAogICAgICAgICAgICIKIAogU1JDX1VSSVttZDVzdW1dID0gIjY0NmI1Zjk4Y2U4OWFjNjBjZGIwNjBmY2QzOTgyNDdjIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE3LTE3MDk1LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE3LTE3MDk1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Yjk5NjJlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxNy0xNzA5NS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLUZyb20gOTE3MWRhNTk2Yzg4ZTZhMmRhZGNhYjRhM2E4OWRkZGQ2ZTFiNDY1NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5hdGhhbiBCYWtlciA8ZWxpdGViYWRnZXJAZ21haWwuY29tPgotRGF0ZTogVGh1LCAyNSBKYW4gMjAxOCAyMToyODoxNSArMDAwMAotU3ViamVjdDogW1BBVENIXSBBZGQgd29ya2Fyb3VuZCB0byBwYWwycmdiIGJ1ZmZlciBvdmVyZmxvdy4KLQotQ1ZFOiBDVkUtMjAxNy0xNzA5NQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0ICh1bmNoYW5nZWQpIFtnaXRsYWIuY29tL2xpYnRpZmYvbGlidGlmZi9jb21taXQvOTE3MWRhNS4uLl0KLQotU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tLgotCi0tLS0KLSB0b29scy9wYWwycmdiLmMgfCAgIDE3ICsrKysrKysrKysrKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90b29scy9wYWwycmdiLmMgYi90b29scy9wYWwycmdiLmMKLWluZGV4IDA0MjM1OTguLjAxZmNmOTQgMTAwNjQ0Ci0tLS0gYS90b29scy9wYWwycmdiLmMKLSsrKyBiL3Rvb2xzL3BhbDJyZ2IuYwotQEAgLTE4Miw4ICsxODIsMjEgQEAgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQotIAl7IHVuc2lnbmVkIGNoYXIgKmlidWYsICpvYnVmOwotIAkgIHJlZ2lzdGVyIHVuc2lnbmVkIGNoYXIqIHBwOwotIAkgIHJlZ2lzdGVyIHVpbnQzMiB4OwotLQkgIGlidWYgPSAodW5zaWduZWQgY2hhciopX1RJRkZtYWxsb2MoVElGRlNjYW5saW5lU2l6ZShpbikpOwotLQkgIG9idWYgPSAodW5zaWduZWQgY2hhciopX1RJRkZtYWxsb2MoVElGRlNjYW5saW5lU2l6ZShvdXQpKTsKLSsJICB0bXNpemVfdCB0c3NfaW4gPSBUSUZGU2NhbmxpbmVTaXplKGluKTsKLSsJICB0bXNpemVfdCB0c3Nfb3V0ID0gVElGRlNjYW5saW5lU2l6ZShvdXQpOwotKwkgIGlmICh0c3Nfb3V0IC8gdHNzX2luIDwgMykgewotKwkJLyoKLSsJCSAqIEJVRyAyNzUwOiBUaGUgZm9sbG93aW5nIGNvZGUgZG9lcyBub3Qga25vdyBhYm91dCBjaHJvbWEKLSsJCSAqIHN1YnNhbXBsaW5nIG9mIEpQRUcgZGF0YS4gSXQgYXNzdW1lcyB0aGF0IHRoZSBvdXRwdXQgYnVmZmVyIGlzIDN4Ci0rCQkgKiB0aGUgbGVuZ3RoIG9mIHRoZSBpbnB1dCBidWZmZXIgZHVlIHRvIGV4cGxvZGluZyB0aGUgcGFsZXR0ZSBpbnRvCi0rCQkgKiBSR0IgdHVwbGVzLiBJZiB0aGlzIGFzc3VtcHRpb24gaXMgaW5jb3JyZWN0LCBpdCBjb3VsZCBsZWFkIHRvIGEKLSsJCSAqIGJ1ZmZlciBvdmVyZmxvdy4gR28gYWhlYWQgYW5kIGZhaWwgbm93IHRvIHByZXZlbnQgdGhhdC4KLSsJCSAqLwotKwkJZnByaW50ZihzdGRlcnIsICJDb3VsZCBub3QgZGV0ZXJtaW5lIGNvcnJlY3QgaW1hZ2Ugc2l6ZSBmb3Igb3V0cHV0LiBFeGl0aW5nLlxuIik7Ci0rCQlyZXR1cm4gLTE7Ci0rICAgICAgfQotKwkgIGlidWYgPSAodW5zaWduZWQgY2hhciopX1RJRkZtYWxsb2ModHNzX2luKTsKLSsJICBvYnVmID0gKHVuc2lnbmVkIGNoYXIqKV9USUZGbWFsbG9jKHRzc19vdXQpOwotIAkgIHN3aXRjaCAoY29uZmlnKSB7Ci0gCSAgY2FzZSBQTEFOQVJDT05GSUdfQ09OVElHOgotIAkJZm9yIChyb3cgPSAwOyByb3cgPCBpbWFnZWxlbmd0aDsgcm93KyspIHsKLS0tIAotMS43LjkuNQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTctMTgwMTMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTctMTgwMTMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3OGUwZGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE3LTE4MDEzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSAyOTNjOGIwMjk4ZTkxZDIwYmE1MTI5MWUyMzUxYWI3ZDExMDY3MWQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRXZlbiBSb3VhdWx0IDxldmVuLnJvdWF1bHRAc3BhdGlhbHlzLmNvbT4KLURhdGU6IFN1biwgMzEgRGVjIDIwMTcgMTU6MDk6NDEgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gbGlidGlmZi90aWZfcHJpbnQuYzogVElGRlByaW50RGlyZWN0b3J5KCk6IGZpeCBudWxsIHBvaW50ZXIKLSBkZXJlZmVyZW5jZSBvbiBjb3JydXB0ZWQgZmlsZS4gRml4ZXMKLSBodHRwOi8vYnVnemlsbGEubWFwdG9vbHMub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzcwCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVtodHRwczovL2dpdGxhYi5jb20vbGlidGlmZi9saWJ0aWZmL2NvbW1pdC9jNmY0MWRmN2I1ODE0MDJkZmJhM2MxOWExZTNkZjQ0NTRjNTUxYTAxXQotCi1DVkU6IENWRS0yMDE3LTE4MDEzCi0KLVNpZ25lZC1vZmYtYnk6IFlpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4KLS0tLQotIGxpYnRpZmYvdGlmX3ByaW50LmMgfCA4ICsrKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYnRpZmYvdGlmX3ByaW50LmMgYi9saWJ0aWZmL3RpZl9wcmludC5jCi1pbmRleCAyNGQ0Yjk4Li5mNDk0Y2ZiIDEwMDY0NAotLS0tIGEvbGlidGlmZi90aWZfcHJpbnQuYwotKysrIGIvbGlidGlmZi90aWZfcHJpbnQuYwotQEAgLTY2NywxMyArNjY3LDEzIEBAIFRJRkZQcmludERpcmVjdG9yeShUSUZGKiB0aWYsIEZJTEUqIGZkLCBsb25nIGZsYWdzKQotICNpZiBkZWZpbmVkKF9fV0lOMzJfXykgJiYgKGRlZmluZWQoX01TQ19WRVIpIHx8IGRlZmluZWQoX19NSU5HVzMyX18pKQotIAkJCWZwcmludGYoZmQsICIgICAgJTNsdTogWyU4STY0dSwgJThJNjR1XVxuIiwKLSAJCQkgICAgKHVuc2lnbmVkIGxvbmcpIHMsCi0tCQkJICAgICh1bnNpZ25lZCBfX2ludDY0KSB0ZC0+dGRfc3RyaXBvZmZzZXRbc10sCi0tCQkJICAgICh1bnNpZ25lZCBfX2ludDY0KSB0ZC0+dGRfc3RyaXBieXRlY291bnRbc10pOwotKwkJCSAgICB0ZC0+dGRfc3RyaXBvZmZzZXQgPyAodW5zaWduZWQgX19pbnQ2NCkgdGQtPnRkX3N0cmlwb2Zmc2V0W3NdIDogMCwKLSsJCQkgICAgdGQtPnRkX3N0cmlwYnl0ZWNvdW50ID8gKHVuc2lnbmVkIF9faW50NjQpIHRkLT50ZF9zdHJpcGJ5dGVjb3VudFtzXSA6IDApOwotICNlbHNlCi0gCQkJZnByaW50ZihmZCwgIiAgICAlM2x1OiBbJThsbHUsICU4bGx1XVxuIiwKLSAJCQkgICAgKHVuc2lnbmVkIGxvbmcpIHMsCi0tCQkJICAgICh1bnNpZ25lZCBsb25nIGxvbmcpIHRkLT50ZF9zdHJpcG9mZnNldFtzXSwKLS0JCQkgICAgKHVuc2lnbmVkIGxvbmcgbG9uZykgdGQtPnRkX3N0cmlwYnl0ZWNvdW50W3NdKTsKLSsJCQkgICAgdGQtPnRkX3N0cmlwb2Zmc2V0ID8gKHVuc2lnbmVkIGxvbmcgbG9uZykgdGQtPnRkX3N0cmlwb2Zmc2V0W3NdIDogMCwKLSsJCQkgICAgdGQtPnRkX3N0cmlwYnl0ZWNvdW50ID8gKHVuc2lnbmVkIGxvbmcgbG9uZykgdGQtPnRkX3N0cmlwYnl0ZWNvdW50W3NdIDogMCk7Ci0gI2VuZGlmCi0gCX0KLSB9Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxNy05OTM1LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE3LTk5MzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYwNjg0ZGQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE3LTk5MzUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNjAgKzAsMCBAQAotRnJvbSBhYmIwMDU1ZDIxYzUyYTk5MjUzMTRkNWIwNjI4ZmIyYjYzMDc2MTljIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJpYW4gTWF5IDxicmlhbkBsaW51eHBlbmd1aW5zLnh5ej4KLURhdGU6IFRodSwgNyBEZWMgMjAxNyAwNzo0Njo0NyArMTEwMAotU3ViamVjdDogW1BBVENIXSB0aWZmMnBkZjogRml4IENWRS0yMDE3LTk5MzUKLQotRml4IGZvciBodHRwOi8vYnVnemlsbGEubWFwdG9vbHMub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzA0Ci0KLVRoaXMgdnVsbmVyYWJpbGl0eSAtIGF0IGxlYXN0IGZvciB0aGUgc3VwcGxpZWQgdGVzdCBjYXNlIC0gaXMgYmVjYXVzZSB3ZQotYXNzdW1lIHRoYXQgYSB0aWZmIHdpbGwgb25seSBoYXZlIG9uZSB0cmFuc2ZlciBmdW5jdGlvbiB0aGF0IGlzIHRoZSBzYW1lCi1mb3IgYWxsIHBhZ2VzLiBUaGlzIGlzIG5vdCByZXF1aXJlZCBieSB0aGUgVElGRiBzdGFuZGFyZHMuCi0KLVdlIHRoYW4gcmVhZCB0aGUgdHJhbnNmZXIgZnVuY3Rpb24gZm9yIGV2ZXJ5IHBhZ2UuICBEZXBlbmRpbmcgb24gdGhlCi10cmFuc2ZlciBmdW5jdGlvbiwgd2UgYWxsb2NhdGUgZWl0aGVyIDIgb3IgNCBieXRlcyB0byB0aGUgWFJFRiBidWZmZXIuCi1XZSBhbGxvY2F0ZSB0aGlzIG1lbW9yeSBhZnRlciB3ZSByZWFkIGluIHRoZSB0cmFuc2ZlciBmdW5jdGlvbiBmb3IgdGhlCi1wYWdlLgotCi1Gb3IgdGhlIGZpcnN0IGV4cGxvaXQgLSBQT0MxLCB0aGlzIGZpbGUgaGFzIDMgcGFnZXMuIEZvciB0aGUgZmlyc3QgcGFnZQotd2UgYWxsb2NhdGUgMiBleHRyYSBleHRyYSBYUkVGIGVudHJpZXMuIFRoZW4gZm9yIHRoZSBuZXh0IHBhZ2UgMiBtb3JlCi1lbnRyaWVzLiBUaGVuIGZvciB0aGUgbGFzdCBwYWdlIHRoZSB0cmFuc2ZlciBmdW5jdGlvbiBjaGFuZ2VzIGFuZCB3ZQotYWxsb2NhdGUgNCBtb3JlIGVudHJpZXMuCi0KLVdoZW4gd2UgcmVhZCB0aGUgZmlsZSBpbnRvIG1lbW9yeSwgd2UgYXNzdW1lIHdlIGhhdmUgNCBieXRlcyBleHRyYSBmb3IKLWVhY2ggYW5kIGV2ZXJ5IHBhZ2UgKGFzIHBlciB0aGUgbGFzdCB0cmFuc2ZlciBmdW5jdGlvbiB3ZSByZWFkKS4gV2hpY2gKLWlzIG5vdCBjb3JyZWN0LCB3ZSBvbmx5IGhhdmUgMiBieXRlcyBleHRyYSBmb3IgdGhlIGZpcnN0IDIgcGFnZXMuIEFzIGEKLXJlc3VsdCwgd2UgZW5kIHVwIHdyaXRpbmcgcGFzdCB0aGUgZW5kIG9mIHRoZSBidWZmZXIuCi0KLVRoZXJlIGFyZSBhbHNvIHNvbWUgcmVsYXRlZCBpc3N1ZXMgdGhhdCB0aGlzIGFsc28gZml4ZXMuIEZvciBleGFtcGxlLAotVElGRkdldEZpZWxkIGNhbiByZXR1cm4gdW5pbml0YWxpemVkIHBvaW50ZXIgdmFsdWVzLCBhbmQgdGhlIGxvZ2ljIHRvCi1kZXRlY3QgYSBOPTMgdnMgTj0xIHRyYW5zZmVyIGZ1bmN0aW9uIHNlZW1lZCByYXRoZXIgc3RyYW5nZS4KLQotSXQgaXMgYWxzbyBzdHJhbmdlIHRoYXQgd2UgZGVjbGFyZSB0aGUgdHJhbnNmZXIgZnVuY3Rpb25zIHRvIGJlIG9mIHR5cGUKLWZsb2F0LCB3aGVuIHRoZSBzdGFuZGFyZCBzYXlzIHRoZXkgYXJlIHVuc2lnbmVkIDE2IGJpdCB2YWx1ZXMuIFRoaXMgaXMKLWZpeGVkIGluIGFub3RoZXIgcGF0Y2guCi0KLVRoaXMgcGF0Y2ggd2lsbCBjaGVjayB0byBlbnN1cmUgdGhhdCB0aGUgTiB2YWx1ZSBmb3IgZXZlcnkgdHJhbnNmZXIKLWZ1bmN0aW9uIGlzIHRoZSBzYW1lIGZvciBldmVyeSBwYWdlLiBJZiB0aGlzIGNoYW5nZXMsIHdlIGFib3J0IHdpdGggYW4KLWVycm9yLiBJbiB0aGVvcnksIHdlIHNob3VsZCBwZXJoYXBzIGNoZWNrIHRoYXQgdGhlIHRyYW5zZmVyIGZ1bmN0aW9uCi1pdHNlbGYgaXMgaWRlbnRpY2FsIGZvciBldmVyeSBwYWdlLCBob3dldmVyIHdlIGRvbid0IGRvIHRoYXQgZHVlIHRvIHRoZQotY29uZnVzaW9uIG9mIHRoZSB0eXBlIG9mIHRoZSBkYXRhIGluIHRoZSB0cmFuc2ZlciBmdW5jdGlvbi4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotW2h0dHBzOi8vZ2l0bGFiLmNvbS9saWJ0aWZmL2xpYnRpZmYvY29tbWl0LzNkZDhmNmEzNTc5ODFhNDA5MGYxMjZhYjkwMjUwNTZjOTM4YjY5NDBdCi0KLUNWRTogQ1ZFLTIwMTctOTkzNQotCi1TaWduZWQtb2ZmLWJ5OiBZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBsaWJ0aWZmL3RpZl9kaXIuYyB8ICAzICsrKwotIHRvb2xzL3RpZmYycGRmLmMgIHwgNjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJ0aWZmL3RpZl9kaXIuYyBiL2xpYnRpZmYvdGlmX2Rpci5jCi1pbmRleCBmMDBmODA4Li5jMzZhNWYzIDEwMDY0NAotLS0tIGEvbGlidGlmZi90aWZfZGlyLmMKLSsrKyBiL2xpYnRpZmYvdGlmX2Rpci5jCi1AQCAtMTA2Nyw2ICsxMDY3LDkgQEAgX1RJRkZWR2V0RmllbGQoVElGRiogdGlmLCB1aW50MzIgdGFnLCB2YV9saXN0IGFwKQotIAkJCWlmICh0ZC0+dGRfc2FtcGxlc3BlcnBpeGVsIC0gdGQtPnRkX2V4dHJhc2FtcGxlcyA+IDEpIHsKLSAJCQkJKnZhX2FyZyhhcCwgdWludDE2KiopID0gdGQtPnRkX3RyYW5zZmVyZnVuY3Rpb25bMV07Ci0gCQkJCSp2YV9hcmcoYXAsIHVpbnQxNioqKSA9IHRkLT50ZF90cmFuc2ZlcmZ1bmN0aW9uWzJdOwotKwkJCX0gZWxzZSB7Ci0rCQkJCSp2YV9hcmcoYXAsIHVpbnQxNioqKSA9IE5VTEw7Ci0rCQkJCSp2YV9hcmcoYXAsIHVpbnQxNioqKSA9IE5VTEw7Ci0gCQkJfQotIAkJCWJyZWFrOwotIAkJY2FzZSBUSUZGVEFHX1JFRkVSRU5DRUJMQUNLV0hJVEU6Ci1kaWZmIC0tZ2l0IGEvdG9vbHMvdGlmZjJwZGYuYyBiL3Rvb2xzL3RpZmYycGRmLmMKLWluZGV4IDQ1NGJlZmIuLjBiNTk3M2UgMTAwNjQ0Ci0tLS0gYS90b29scy90aWZmMnBkZi5jCi0rKysgYi90b29scy90aWZmMnBkZi5jCi1AQCAtMTA0Nyw2ICsxMDQ3LDggQEAgdm9pZCB0MnBfcmVhZF90aWZmX2luaXQoVDJQKiB0MnAsIFRJRkYqIGlucHV0KXsKLSAJdWludDE2IHBhZ2VuPTA7Ci0gCXVpbnQxNiBwYWdlZD0wOwotIAl1aW50MTYgeHVpbnQxNj0wOwotKwl1aW50MTYgdGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQ9MDsKLSsJZmxvYXQqIHRpZmZfdHJhbnNmZXJmdW5jdGlvblszXTsKLSAKLSAJZGlyZWN0b3J5Y291bnQ9VElGRk51bWJlck9mRGlyZWN0b3JpZXMoaW5wdXQpOwotIAl0MnAtPnRpZmZfcGFnZXMgPSAoVDJQX1BBR0UqKSBfVElGRm1hbGxvYyhUSUZGU2FmZU11bHRpcGx5KHRtc2l6ZV90LGRpcmVjdG9yeWNvdW50LHNpemVvZihUMlBfUEFHRSkpKTsKLUBAIC0xMTQ3LDI2ICsxMTQ5LDQ4IEBAIHZvaWQgdDJwX3JlYWRfdGlmZl9pbml0KFQyUCogdDJwLCBUSUZGKiBpbnB1dCl7Ci0gICAgICAgICAgICAgICAgIH0KLSAjZW5kaWYKLSAJCWlmIChUSUZGR2V0RmllbGQoaW5wdXQsIFRJRkZUQUdfVFJBTlNGRVJGVU5DVElPTiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzBdKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzFdKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzJdKSkpIHsKLS0JCQlpZigodDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMV0gIT0gKGZsb2F0KikgTlVMTCkgJiYKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAodDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMl0gIT0gKGZsb2F0KikgTlVMTCkgJiYKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAodDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMV0gIT0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMF0pKSB7Ci0tCQkJCXQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQgPSAzOwotLQkJCQl0MnAtPnRpZmZfcGFnZXNbaV0ucGFnZV9leHRyYSArPSA0OwotLQkJCQl0MnAtPnBkZl94cmVmY291bnQgKz0gNDsKLS0JCQl9IGVsc2UgewotLQkJCQl0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvbmNvdW50ID0gMTsKLS0JCQkJdDJwLT50aWZmX3BhZ2VzW2ldLnBhZ2VfZXh0cmEgKz0gMjsKLS0JCQkJdDJwLT5wZGZfeHJlZmNvdW50ICs9IDI7Ci0tCQkJfQotLQkJCWlmKHQycC0+cGRmX21pbm9ydmVyc2lvbiA8IDIpCi0tCQkJCXQycC0+cGRmX21pbm9ydmVyc2lvbiA9IDI7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJih0aWZmX3RyYW5zZmVyZnVuY3Rpb25bMF0pLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYodGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzFdKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmKHRpZmZfdHJhbnNmZXJmdW5jdGlvblsyXSkpKSB7Ci0rCi0rICAgICAgICAgICAgICAgICAgICAgICAgaWYoKHRpZmZfdHJhbnNmZXJmdW5jdGlvblsxXSAhPSAoZmxvYXQqKSBOVUxMKSAmJgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aWZmX3RyYW5zZmVyZnVuY3Rpb25bMl0gIT0gKGZsb2F0KikgTlVMTCkKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICkgewotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aWZmX3RyYW5zZmVyZnVuY3Rpb25jb3VudD0zOwotKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpZmZfdHJhbnNmZXJmdW5jdGlvbmNvdW50PTE7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICB9IGVsc2UgewotLQkJCXQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQ9MDsKLSsJCQl0aWZmX3RyYW5zZmVyZnVuY3Rpb25jb3VudD0wOwotIAkJfQotKwotKyAgICAgICAgICAgICAgICBpZiAoaSA+IDApewotKyAgICAgICAgICAgICAgICAgICAgaWYgKHRpZmZfdHJhbnNmZXJmdW5jdGlvbmNvdW50ICE9IHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQpewotKyAgICAgICAgICAgICAgICAgICAgICAgIFRJRkZFcnJvcigKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElGRjJQREZfTU9EVUxFLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGlmZmVyZW50IHRyYW5zZmVyIGZ1bmN0aW9uIG9uIHBhZ2UgJWQiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICB0MnAtPnQycF9lcnJvciA9IFQyUF9FUlJfRVJST1I7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotKyAgICAgICAgICAgICAgICAgICAgfQotKyAgICAgICAgICAgICAgICB9Ci0rCi0rICAgICAgICAgICAgICAgIHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQgPSB0aWZmX3RyYW5zZmVyZnVuY3Rpb25jb3VudDsKLSsgICAgICAgICAgICAgICAgdDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMF0gPSB0aWZmX3RyYW5zZmVyZnVuY3Rpb25bMF07Ci0rICAgICAgICAgICAgICAgIHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzFdID0gdGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzFdOwotKyAgICAgICAgICAgICAgICB0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvblsyXSA9IHRpZmZfdHJhbnNmZXJmdW5jdGlvblsyXTsKLSsgICAgICAgICAgICAgICAgaWYodGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQgPT0gMyl7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgdDJwLT50aWZmX3BhZ2VzW2ldLnBhZ2VfZXh0cmEgKz0gNDsKLSsgICAgICAgICAgICAgICAgICAgICAgICB0MnAtPnBkZl94cmVmY291bnQgKz0gNDsKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZih0MnAtPnBkZl9taW5vcnZlcnNpb24gPCAyKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdDJwLT5wZGZfbWlub3J2ZXJzaW9uID0gMjsKLSsgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aWZmX3RyYW5zZmVyZnVuY3Rpb25jb3VudCA9PSAxKXsKLSsgICAgICAgICAgICAgICAgICAgICAgICB0MnAtPnRpZmZfcGFnZXNbaV0ucGFnZV9leHRyYSArPSAyOwotKyAgICAgICAgICAgICAgICAgICAgICAgIHQycC0+cGRmX3hyZWZjb3VudCArPSAyOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGlmKHQycC0+cGRmX21pbm9ydmVyc2lvbiA8IDIpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0MnAtPnBkZl9taW5vcnZlcnNpb24gPSAyOwotKyAgICAgICAgICAgICAgICB9Ci0rCi0gCQlpZiggVElGRkdldEZpZWxkKAotIAkJCWlucHV0LCAKLSAJCQlUSUZGVEFHX0lDQ1BST0ZJTEUsIAotQEAgLTE4MjgsOSArMTg1Miw4IEBAIHZvaWQgdDJwX3JlYWRfdGlmZl9kYXRhKFQyUCogdDJwLCBUSUZGKiBpbnB1dCl7Ci0gCQkJICYodDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMV0pLAotIAkJCSAmKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzJdKSkpIHsKLSAJCWlmKCh0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvblsxXSAhPSAoZmxvYXQqKSBOVUxMKSAmJgotLSAgICAgICAgICAgICAgICAgICAodDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMl0gIT0gKGZsb2F0KikgTlVMTCkgJiYKLS0gICAgICAgICAgICAgICAgICAgKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzFdICE9Ci0tICAgICAgICAgICAgICAgICAgICB0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvblswXSkpIHsKLSsgICAgICAgICAgICAgICAgICAgKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzJdICE9IChmbG9hdCopIE5VTEwpCi0rICAgICAgICAgICAgICAgICAgKSB7Ci0gCQkJdDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25jb3VudD0zOwotIAkJfSBlbHNlIHsKLSAJCQl0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvbmNvdW50PTE7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC0xMDk2My5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC0xMDk2My5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzI1MjI5OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTgtMTA5NjMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1Gcm9tIGRlMTQ0ZmQyMjhlNGJlOGFhNDg0YzNjYWYzZDgxNGI2ZmE4OGM2ZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBFdmVuIFJvdWF1bHQgPGV2ZW4ucm91YXVsdEBzcGF0aWFseXMuY29tPgotRGF0ZTogU2F0LCAxMiBNYXkgMjAxOCAxNDoyNDoxNSArMDIwMAotU3ViamVjdDogW1BBVENIXSBUSUZGV3JpdGVEaXJlY3RvcnlTZWM6IGF2b2lkIGFzc2VydGlvbi4gRml4ZXMKLSBodHRwOi8vYnVnemlsbGEubWFwdG9vbHMub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzk1LgotIENWRS0yMDE4LTEwOTYzCi0KLS0tLQotQ1ZFOiBDVkUtMjAxOC0xMDk2MwotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtnaXRsYWIuY29tL2xpYnRpZmYvbGlidGlmZi9jb21taXQvZGUxNDRmLi4uXQotCi1TaWduZWQtb2ZmLWJ5OiBKb2UgU2xhdGVyIDxqb2Uuc2xhdGVyQHdpbmRyaXZlci5jb20+Ci0KLS0tLQotIGxpYnRpZmYvdGlmX2RpcndyaXRlLmMgfCAgICA3ICsrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbGlidGlmZi90aWZfZGlyd3JpdGUuYyBiL2xpYnRpZmYvdGlmX2RpcndyaXRlLmMKLWluZGV4IDI0MzBkZTYuLmMxNWEyOGQgMTAwNjQ0Ci0tLS0gYS9saWJ0aWZmL3RpZl9kaXJ3cml0ZS5jCi0rKysgYi9saWJ0aWZmL3RpZl9kaXJ3cml0ZS5jCi1AQCAtNjk1LDggKzY5NSwxMSBAQCBUSUZGV3JpdGVEaXJlY3RvcnlTZWMoVElGRiogdGlmLCBpbnQgaXNpbWFnZSwgaW50IGltYWdlZG9uZSwgdWludDY0KiBwZGlyb2ZmKQotIAkJCQkJCQkJfQotIAkJCQkJCQkJYnJlYWs7Ci0gCQkJCQkJCWRlZmF1bHQ6Ci0tCQkJCQkJCQlhc3NlcnQoMCk7ICAgLyogd2Ugc2hvdWxkIG5ldmVyIGdldCBoZXJlICovCi0tCQkJCQkJCQlicmVhazsKLSsJCQkJCQkJCVRJRkZFcnJvckV4dCh0aWYtPnRpZl9jbGllbnRkYXRhLG1vZHVsZSwKLSsJCQkJCQkJCSAgICAgICAgICAgICJDYW5ub3Qgd3JpdGUgdGFnICVkICglcykiLAotKwkJCQkJCQkJICAgICAgICAgICAgVElGRkZpZWxkVGFnKG8pLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvLT5maWVsZF9uYW1lID8gby0+ZmllbGRfbmFtZSA6ICJ1bmtub3duIik7Ci0rCQkJCQkJCQlnb3RvIGJhZDsKLSAJCQkJCQl9Ci0gCQkJCQl9Ci0gCQkJCX0KLS0tIAotMS43LjkuNQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTgtNTc4NC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC01Nzg0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MDYwMDFkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC01Nzg0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM1ICswLDAgQEAKLUZyb20gNmNkZWExNTIxM2JlNmI2N2Q5ZjgzODBjN2JiNDBlMzI1ZDNhZGFjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5hdGhhbiBCYWtlciA8bmF0aGFuYkBsZW5vdm8tY2hyb21lLmNvbT4KLURhdGU6IFR1ZSwgNiBGZWIgMjAxOCAxMDoxMzo1NyAtMDUwMAotU3ViamVjdDogW1BBVENIXSBGaXggZm9yIGJ1ZyAyNzcyCi0KLUl0IGlzIHBvc3NpYmxlIHRvIGNyYWZ0IGEgVElGRiBkb2N1bWVudCB3aGVyZSB0aGUgSUZEIGxpc3QgaXMgY2lyY3VsYXIsCi1sZWFkaW5nIHRvIGFuIGluZmluaXRlIGxvb3Agd2hpbGUgdHJhdmVyc2luZyB0aGUgY2hhaW4uIFRoZSBsaWJ0aWZmCi1kaXJlY3RvcnkgcmVhZGVyIGhhcyBhIGZhaWxzYWZlIHRoYXQgd2lsbCBicmVhayBvdXQgb2YgdGhpcyBsb29wIGFmdGVyCi1yZWFkaW5nIDY1NTM1IGRpcmVjdG9yeSBlbnRyaWVzLCBidXQgaXQgd2lsbCBjb250aW51ZSBwcm9jZXNzaW5nLAotY29uc3VtaW5nIHRpbWUgYW5kIHJlc291cmNlcyB0byBwcm9jZXNzIHdoYXQgaXMgZXNzZW50aWFsbHkgYSBib2d1cyBUSUZGCi1kb2N1bWVudC4KLQotVGhpcyBjaGFuZ2UgZml4ZXMgdGhlIGFib3ZlIGJlaGF2aW9yIGJ5IGJyZWFraW5nIG91dCBvZiBwcm9jZXNzaW5nIHdoZW4KLWEgVElGRiBkb2N1bWVudCBoYXMgPj0gNjU1MzUgZGlyZWN0b3JpZXMgYW5kIHRlcm1pbmF0aW5nIHdpdGggYW4gZXJyb3IuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVtodHRwczovL2dpdGxhYi5jb20vbGlidGlmZi9saWJ0aWZmL2NvbW1pdC80NzM4NTFkMjExY2Y4ODA1YTE2MTgyMDMzN2NhNzRjYzk2MTVkNmVmXQotCi1DVkU6IENWRS0yMDE4LTU3ODQKLQotU2lnbmVkLW9mZi1ieTogWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPgotLS0tCi0gY29udHJpYi9hZGR0aWZmby90aWZfb3ZlcnZpZXcuYyB8IDE0ICsrKysrKysrKysrKystCi0gdG9vbHMvdGlmZjJwZGYuYyAgICAgICAgICAgICAgICB8IDEwICsrKysrKysrKysKLSB0b29scy90aWZmY3JvcC5jICAgICAgICAgICAgICAgIHwgMTMgKysrKysrKysrKystLQotIDMgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbnRyaWIvYWRkdGlmZm8vdGlmX292ZXJ2aWV3LmMgYi9jb250cmliL2FkZHRpZmZvL3RpZl9vdmVydmlldy5jCi1pbmRleCBjNjFmZmJiLi4wM2IzNTczIDEwMDY0NAotLS0tIGEvY29udHJpYi9hZGR0aWZmby90aWZfb3ZlcnZpZXcuYwotKysrIGIvY29udHJpYi9hZGR0aWZmby90aWZfb3ZlcnZpZXcuYwotQEAgLTY1LDYgKzY1LDggQEAKLSAjICBkZWZpbmUgTUFYKGEsYikgICAgICAoKGE+YikgPyBhIDogYikKLSAjZW5kaWYKLSAKLSsjZGVmaW5lIFRJRkZfRElSX01BWCAgNjU1MzQKLSsKLSB2b2lkIFRJRkZCdWlsZE92ZXJ2aWV3cyggVElGRiAqLCBpbnQsIGludCAqLCBpbnQsIGNvbnN0IGNoYXIgKiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICgqKShkb3VibGUsdm9pZCopLCB2b2lkICogKTsKLSAKLUBAIC05MSw2ICs5Myw3IEBAIHVpbnQzMiBUSUZGX1dyaXRlT3ZlcnZpZXcoIFRJRkYgKmhUSUZGLCB1aW50MzIgblhTaXplLCB1aW50MzIgbllTaXplLAotIHsKLSAgICAgdG9mZl90CW5CYXNlRGlyT2Zmc2V0OwotICAgICB0b2ZmX3QJbk9mZnNldDsKLSsgICAgdGRpcl90CWlOdW1EaXI7Ci0gCi0gICAgICh2b2lkKSBiVXNlU3ViSUZEczsKLSAKLUBAIC0xNDcsNyArMTUwLDE2IEBAIHVpbnQzMiBUSUZGX1dyaXRlT3ZlcnZpZXcoIFRJRkYgKmhUSUZGLCB1aW50MzIgblhTaXplLCB1aW50MzIgbllTaXplLAotICAgICAgICAgcmV0dXJuIDA7Ci0gCi0gICAgIFRJRkZXcml0ZURpcmVjdG9yeSggaFRJRkYgKTsKLS0gICAgVElGRlNldERpcmVjdG9yeSggaFRJRkYsICh0ZGlyX3QpIChUSUZGTnVtYmVyT2ZEaXJlY3RvcmllcyhoVElGRiktMSkgKTsKLSsgICAgaU51bURpciA9IFRJRkZOdW1iZXJPZkRpcmVjdG9yaWVzKGhUSUZGKTsKLSsgICAgaWYoIGlOdW1EaXIgPiBUSUZGX0RJUl9NQVggKQotKyAgICB7Ci0rICAgICAgICBUSUZGRXJyb3JFeHQoIFRJRkZDbGllbnRkYXRhKGhUSUZGKSwKLSsgICAgICAgICAgICAgICAgICAgICAgIlRJRkZfV3JpdGVPdmVydmlldyIsCi0rICAgICAgICAgICAgICAgICAgICAgICJGaWxlIGAlcycgaGFzIHRvbyBtYW55IGRpcmVjdG9yaWVzLlxuIiwKLSsgICAgICAgICAgICAgICAgICAgICAgVElGRkZpbGVOYW1lKGhUSUZGKSApOwotKyAgICAgICAgZXhpdCgtMSk7Ci0rICAgIH0KLSsgICAgVElGRlNldERpcmVjdG9yeSggaFRJRkYsICh0ZGlyX3QpIChpTnVtRGlyIC0gMSkgKTsKLSAKLSAgICAgbk9mZnNldCA9IFRJRkZDdXJyZW50RGlyT2Zmc2V0KCBoVElGRiApOwotIAotZGlmZiAtLWdpdCBhL3Rvb2xzL3RpZmYycGRmLmMgYi90b29scy90aWZmMnBkZi5jCi1pbmRleCAwYjU5NzNlLi5lZjVkNmEwIDEwMDY0NAotLS0tIGEvdG9vbHMvdGlmZjJwZGYuYwotKysrIGIvdG9vbHMvdGlmZjJwZGYuYwotQEAgLTY4LDYgKzY4LDggQEAgZXh0ZXJuIGludCBnZXRvcHQoaW50LCBjaGFyKiosIGNoYXIqKTsKLSAKLSAjZGVmaW5lIFBTX1VOSVRfU0laRQk3Mi4wRgotIAotKyNkZWZpbmUgVElGRl9ESVJfTUFYICAgIDY1NTM0Ci0rCi0gLyogVGhpcyB0eXBlIGlzIG9mIFBERiBjb2xvciBzcGFjZXMuICovCi0gdHlwZWRlZiBlbnVtIHsKLSAJVDJQX0NTX0JJTEVWRUwgPSAweDAxLAkvKiBCaWxldmVsLCBibGFjayBhbmQgd2hpdGUgKi8KLUBAIC0xMDUxLDYgKzEwNTMsMTQgQEAgdm9pZCB0MnBfcmVhZF90aWZmX2luaXQoVDJQKiB0MnAsIFRJRkYqIGlucHV0KXsKLSAJZmxvYXQqIHRpZmZfdHJhbnNmZXJmdW5jdGlvblszXTsKLSAKLSAJZGlyZWN0b3J5Y291bnQ9VElGRk51bWJlck9mRGlyZWN0b3JpZXMoaW5wdXQpOwotKwlpZihkaXJlY3Rvcnljb3VudCA+IFRJRkZfRElSX01BWCkgewotKwkJVElGRkVycm9yKAotKwkJCVRJRkYyUERGX01PRFVMRSwKLSsJCQkiVElGRiBjb250YWlucyB0b28gbWFueSBkaXJlY3RvcmllcywgJXMiLAotKwkJCVRJRkZGaWxlTmFtZShpbnB1dCkpOwotKwkJdDJwLT50MnBfZXJyb3IgPSBUMlBfRVJSX0VSUk9SOwotKwkJcmV0dXJuOwotKwl9Ci0gCXQycC0+dGlmZl9wYWdlcyA9IChUMlBfUEFHRSopIF9USUZGbWFsbG9jKFRJRkZTYWZlTXVsdGlwbHkodG1zaXplX3QsZGlyZWN0b3J5Y291bnQsc2l6ZW9mKFQyUF9QQUdFKSkpOwotIAlpZih0MnAtPnRpZmZfcGFnZXM9PU5VTEwpewotIAkJVElGRkVycm9yKAotZGlmZiAtLWdpdCBhL3Rvb2xzL3RpZmZjcm9wLmMgYi90b29scy90aWZmY3JvcC5jCi1pbmRleCBjNjkxNzdlLi5jNjBjYjM4IDEwMDY0NAotLS0tIGEvdG9vbHMvdGlmZmNyb3AuYwotKysrIGIvdG9vbHMvdGlmZmNyb3AuYwotQEAgLTIxNyw2ICsyMTcsOCBAQCBleHRlcm4gaW50IGdldG9wdChpbnQgYXJnYywgY2hhciAqIGNvbnN0IGFyZ3ZbXSwgY29uc3QgY2hhciAqb3B0c3RyaW5nKTsKLSAjZGVmaW5lIERVTVBfVEVYVCAgIDEKLSAjZGVmaW5lIERVTVBfUkFXICAgIDIKLSAKLSsjZGVmaW5lIFRJRkZfRElSX01BWCAgNjU1MzQKLSsKLSAvKiBPZmZzZXRzIGludG8gYnVmZmVyIGZvciBtYXJnaW5zIGFuZCBmaXhlZCB3aWR0aCBhbmQgbGVuZ3RoIHNlZ21lbnRzICovCi0gc3RydWN0IG9mZnNldCB7Ci0gICB1aW50MzIgIHRtYXJnaW47Ci1AQCAtMjIzMyw3ICsyMjM1LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQotICAgICBwYWdlTnVtID0gLTE7Ci0gICBlbHNlCi0gICAgIHRvdGFsX2ltYWdlcyA9IDA7Ci0tICAvKiByZWFkIG11bHRpcGxlIGlucHV0IGZpbGVzIGFuZCB3cml0ZSB0byBvdXRwdXQgZmlsZShzKSAqLwotKyAgLyogUmVhZCBtdWx0aXBsZSBpbnB1dCBmaWxlcyBhbmQgd3JpdGUgdG8gb3V0cHV0IGZpbGUocykgKi8KLSAgIHdoaWxlIChvcHRpbmQgPCBhcmdjIC0gMSkKLSAgICAgewotICAgICBpbiA9IFRJRkZPcGVuIChhcmd2W29wdGluZF0sICJyIik7Ci1AQCAtMjI0MSw3ICsyMjQzLDE0IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKLSAgICAgICByZXR1cm4gKC0zKTsKLSAKLSAgICAgLyogSWYgb25seSBvbmUgaW5wdXQgZmlsZSBpcyBzcGVjaWZpZWQsIHdlIGNhbiB1c2UgZGlyZWN0b3J5IGNvdW50ICovCi0tICAgIHRvdGFsX2ltYWdlcyA9IFRJRkZOdW1iZXJPZkRpcmVjdG9yaWVzKGluKTsgCi0rICAgIHRvdGFsX2ltYWdlcyA9IFRJRkZOdW1iZXJPZkRpcmVjdG9yaWVzKGluKTsKLSsgICAgaWYgKHRvdGFsX2ltYWdlcyA+IFRJRkZfRElSX01BWCkKLSsgICAgICB7Ci0rICAgICAgVElGRkVycm9yIChUSUZGRmlsZU5hbWUoaW4pLCAiRmlsZSBjb250YWlucyB0b28gbWFueSBkaXJlY3RvcmllcyIpOwotKyAgICAgIGlmIChvdXQgIT0gTlVMTCkKLSsgICAgICAgICh2b2lkKSBUSUZGQ2xvc2Uob3V0KTsKLSsgICAgICByZXR1cm4gKDEpOwotKyAgICAgIH0KLSAgICAgaWYgKGltYWdlX2NvdW50ID09IDApCi0gICAgICAgewotICAgICAgIGRpcm51bSA9IDA7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC03NDU2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE4LTc0NTYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJjMTFmOTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE4LTc0NTYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNzggKzAsMCBAQAotRnJvbSBiZTRjODViMTZlODgwMWExNmVlYzI1ZTgwZWI5ZjNkZDZhOTY3MzFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSHVnbyBMZWZldXZyZSA8aGxlQGRlYmlhbi5vcmc+Ci1EYXRlOiBTdW4sIDggQXByIDIwMTggMTQ6MDc6MDggLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiBUSUZGUHJpbnREaXJlY3RvcnkKLQotVGhlIFRJRkZQcmludERpcmVjdG9yeSBmdW5jdGlvbiByZWxpZXMgb24gdGhlIGZvbGxvd2luZyBhc3N1bXB0aW9ucywKLXN1cHBvc2VkIHRvIGJlIGd1YXJhbnRlZWQgYnkgdGhlIHNwZWNpZmljYXRpb246Ci0KLShhKSBBIFRyYW5zZmVyIEZ1bmN0aW9uIGZpZWxkIGlzIG9ubHkgcHJlc2VudCBpZiB0aGUgVElGRiBmaWxlIGhhcwotICAgIHBob3RvbWV0cmljIHR5cGUgPCAzLgotCi0oYikgSWYgU2FtcGxlc1BlclBpeGVsID4gQ29sb3IgQ2hhbm5lbHMsIHRoZW4gdGhlIEV4dHJhU2FtcGxlcyBmaWVsZAotICAgIGhhcyBjb3VudCBTYW1wbGVzUGVyUGl4ZWwgLSAoQ29sb3IgQ2hhbm5lbHMpIGFuZCBjb250YWlucwotICAgIGluZm9ybWF0aW9uIGFib3V0IHN1cHBsZW1lbnRhcnkgY2hhbm5lbHMuCi0KLVdoaWxlIHJlc3BlY3Qgb2YgKGEpIGFuZCAoYikgYXJlIGVzc2VudGlhbCBmb3IgdGhlIHdlbGwgZnVuY3Rpb25pbmcgb2YKLVRJRkZQcmludERpcmVjdG9yeSwgbm8gY2hlY2tzIGFyZSByZWFsaXplZCBuZWl0aGVyIGJ5IHRoZSBjYWxsZWUgbm9yCi1ieSBUSUZGUHJpbnREaXJlY3RvcnkgaXRzZWxmLiBIZW5jZSwgZm9sbG93aW5nIHNjZW5hcmlvcyBtaWdodCBoYXBwZW4KLWFuZCB0cmlnZ2VyIHRoZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2U6Ci0KLSgxKSBUSUZGIEZpbGUgb2YgcGhvdG9tZXRyaWMgdHlwZSA0IG9yIG1vcmUgaGFzIGlsbGVnYWwgVHJhbnNmZXIKLSAgICBGdW5jdGlvbiBmaWVsZC4KLQotKDIpIFRJRkYgRmlsZSBoYXMgcGhvdG9tZXRyaWMgdHlwZSAzIG9yIGxlc3MgYW5kIGRlZmluZXMgYQotICAgIFNhbXBsZXNQZXJQaXhlbCBmaWVsZCBzdWNoIHRoYXQgU2FtcGxlc1BlclBpeGVsID4gQ29sb3IgQ2hhbm5lbHMKLSAgICB3aXRob3V0IGRlZmluaW5nIGFsbCBleHRyYSBzYW1wbGVzIGluIHRoZSBFeHRyYVNhbXBsZXMgZmllbGRzLgotCi1JbiB0aGlzIHBhdGNoLCB3ZSBhZGRyZXNzIGJvdGggaXNzdWVzIHdpdGggcmVzcGVjdCBvZiB0aGUgZm9sbG93aW5nCi1wcmluY2lwbGVzOgotCi0oQSkgSW4gdGhlIGNhc2Ugb2YgKDEpLCB0aGUgZGVmaW5lZCB0cmFuc2ZlciB0YWJsZSBzaG91bGQgYmUgcHJpbnRlZAotICAgIHNhZmVseSBldmVuIGlmIGl0IGlzbid0ICdsZWdhbCcuIFRoaXMgYWxsb3dzIHVzIHRvIGF2b2lkIGV4cGVuc2l2ZQotICAgIGNoZWNrcyBpbiBUSUZGUHJpbnREaXJlY3RvcnkuIEFsc28sIGl0IGlzIHF1aXRlIHBvc3NpYmxlIHRoYXQKLSAgICBhbiBhbHRlcm5hdGl2ZSBwaG90b21ldHJpYyB0eXBlIHdvdWxkIGJlIGRldmVsb3BlZCAobm90IHBhcnQgb2YgdGhlCi0gICAgc3RhbmRhcmQpIGFuZCB3b3VsZCBhbGxvdyBkZWZpbml0aW9uIG9mIFRyYW5zZmVyIFRhYmxlLiBXZSB3YW50Ci0gICAgbGlidGlmZiB0byBiZSBhYmxlIHRvIGhhbmRsZSB0aGlzIHNjZW5hcmlvIG91dCBvZiB0aGUgYm94LgotCi0oQikgSW4gdGhlIGNhc2Ugb2YgKDIpLCB0aGUgdHJhbnNmZXIgdGFibGUgc2hvdWxkIGJlIHByaW50ZWQgYXQgaXRzCi0gICAgcmlnaHQgc2l6ZSwgdGhhdCBpcyBpZiBUSUZGIGZpbGUgaGFzIHBob3RvbWV0cmljIHR5cGUgUGFsZXR0ZQotICAgIHRoZW4gdGhlIHRyYW5zZmVyIHRhYmxlIHNob3VsZCBoYXZlIG9uZSByb3cgYW5kIG5vdCB0aHJlZSwgZXZlbgotICAgIGlmIHR3byBleHRyYSBzYW1wbGVzIGFyZSBkZWNsYXJlZC4KLQotSW4gb3JkZXIgdG8gZnVsZmlsbCAoQSkgd2Ugc2ltcGx5IGFkZCBhIG5ldyAnaSA8IDMnIGVuZCBjb25kaXRpb24gdG8KLXRoZSBicm9rZW4gVElGRlByaW50RGlyZWN0b3J5IGxvb3AuIFRoaXMgbWFrZXMgc3VyZSB0aGF0IGluIGFueSBjYXNlCi13aGVyZSAoYikgd291bGQgYmUgcmVzcGVjdGVkIGJ1dCBub3QgKGEpLCBldmVyeXRoaW5nIHN0YXlzIGZpbmUuCi0KLShCKSBpcyBmdWxmaWxsZWQgYnkgdGhlIGxvb3AgY29uZGl0aW9uCi0naSA8IHRkLT50ZF9zYW1wbGVzcGVycGl4ZWwgLSB0ZC0+dGRfZXh0cmFzYW1wbGVzJy4gVGhpcyBpcyBlbm91Z2ggYXMKLWxvbmcgYXMgKGIpIGlzIHJlc3BlY3RlZC4KLQotTmF0dXJhbGx5LCB3ZSBhbHNvIG1ha2Ugc3VyZSAoYikgaXMgcmVzcGVjdGVkLiBUaGlzIGlzIGRvbmUgaW4gdGhlCi1USUZGUmVhZERpcmVjdG9yeSBmdW5jdGlvbiBieSBtYWtpbmcgc3VyZSBhbnkgbm9uLWNvbG9yIGNoYW5uZWwgaXMKLWNvdW50ZWQgaW4gRXh0cmFTYW1wbGVzLgotCi1UaGlzIGNvbW1pdCBhZGRyZXNzZXMgQ1ZFLTIwMTgtNzQ1Ni4KLQotLS0tCi1DVkU6IENWRS0yMDE4LTc0NTYKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbZ2l0bGFiLmNvbS9saWJ0aWZmL2xpYnRpZmYvY29tbWl0L2JlNGM4NWIuLi5dCi0KLVNpZ25lZC1vZmYtYnk6IEpvZSBTbGF0ZXIgPGpvZS5zbGF0ZXJAd2luZHJpdmVyLmNvbT4KLQotLS0tCi0gbGlidGlmZi90aWZfZGlycmVhZC5jIHwgICA2MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gbGlidGlmZi90aWZfcHJpbnQuYyAgIHwgICAgMiArLQotIDIgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGlidGlmZi90aWZfZGlycmVhZC5jIGIvbGlidGlmZi90aWZfZGlycmVhZC5jCi1pbmRleCA2YmFhN2IzLi5hZjViODRhIDEwMDY0NAotLS0tIGEvbGlidGlmZi90aWZfZGlycmVhZC5jCi0rKysgYi9saWJ0aWZmL3RpZl9kaXJyZWFkLmMKLUBAIC0xNjUsNiArMTY1LDcgQEAgc3RhdGljIGludCBUSUZGRmV0Y2hTdHJpcFRoaW5nKFRJRkYqIHRpZiwgVElGRkRpckVudHJ5KiBkaXIsIHVpbnQzMiBuc3RyaXBzLCB1aW4KLSBzdGF0aWMgaW50IFRJRkZGZXRjaFN1YmplY3REaXN0YW5jZShUSUZGKiwgVElGRkRpckVudHJ5Kik7Ci0gc3RhdGljIHZvaWQgQ2hvcFVwU2luZ2xlVW5jb21wcmVzc2VkU3RyaXAoVElGRiopOwotIHN0YXRpYyB1aW50NjQgVElGRlJlYWRVSW50NjQoY29uc3QgdWludDggKnZhbHVlKTsKLStzdGF0aWMgaW50IF9USUZGR2V0TWF4Q29sb3JDaGFubmVscyh1aW50MTYgcGhvdG9tZXRyaWMpOwotIAotIHN0YXRpYyBpbnQgX1RJRkZGaWxsU3RyaWxlc0ludGVybmFsKCBUSUZGICp0aWYsIGludCBsb2FkU3RyaXBCeXRlQ291bnQgKTsKLSAKLUBAIC0zNTA1LDYgKzM1MDYsMzUgQEAgc3RhdGljIHZvaWQgVElGRlJlYWREaXJFbnRyeU91dHB1dEVycihUSUZGKiB0aWYsIGVudW0gVElGRlJlYWREaXJFbnRyeUVyciBlcnIsIGMKLSB9Ci0gCi0gLyoKLSsgKiBSZXR1cm4gdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbG9yIGNoYW5uZWxzIHNwZWNpZmllZCBmb3IgYSBnaXZlbiBwaG90b21ldHJpYwotKyAqIHR5cGUuIDAgaXMgcmV0dXJuZWQgaWYgcGhvdG9tZXRyaWMgdHlwZSBpc24ndCBzdXBwb3J0ZWQgb3Igbm8gZGVmYXVsdCB2YWx1ZQotKyAqIGlzIGRlZmluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24uCi0rICovCi0rc3RhdGljIGludCBfVElGRkdldE1heENvbG9yQ2hhbm5lbHMoIHVpbnQxNiBwaG90b21ldHJpYyApCi0rewotKyAgICBzd2l0Y2ggKHBob3RvbWV0cmljKSB7Ci0rCWNhc2UgUEhPVE9NRVRSSUNfUEFMRVRURToKLSsJY2FzZSBQSE9UT01FVFJJQ19NSU5JU1dISVRFOgotKwljYXNlIFBIT1RPTUVUUklDX01JTklTQkxBQ0s6Ci0rICAgICAgICAgICAgcmV0dXJuIDE7Ci0rCWNhc2UgUEhPVE9NRVRSSUNfWUNCQ1I6Ci0rCWNhc2UgUEhPVE9NRVRSSUNfUkdCOgotKwljYXNlIFBIT1RPTUVUUklDX0NJRUxBQjoKLSsgICAgICAgICAgICByZXR1cm4gMzsKLSsJY2FzZSBQSE9UT01FVFJJQ19TRVBBUkFURUQ6Ci0rCWNhc2UgUEhPVE9NRVRSSUNfTUFTSzoKLSsgICAgICAgICAgICByZXR1cm4gNDsKLSsJY2FzZSBQSE9UT01FVFJJQ19MT0dMOgotKwljYXNlIFBIT1RPTUVUUklDX0xPR0xVVjoKLSsJY2FzZSBQSE9UT01FVFJJQ19DRkE6Ci0rCWNhc2UgUEhPVE9NRVRSSUNfSVRVTEFCOgotKwljYXNlIFBIT1RPTUVUUklDX0lDQ0xBQjoKLSsJZGVmYXVsdDoKLSsgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgfQotK30KLSsKLSsvKgotICAqIFJlYWQgdGhlIG5leHQgVElGRiBkaXJlY3RvcnkgZnJvbSBhIGZpbGUgYW5kIGNvbnZlcnQgaXQgdG8gdGhlIGludGVybmFsCi0gICogZm9ybWF0LiBXZSByZWFkIGRpcmVjdG9yaWVzIHNlcXVlbnRpYWxseS4KLSAgKi8KLUBAIC0zNTIwLDYgKzM1NTAsNyBAQCBUSUZGUmVhZERpcmVjdG9yeShUSUZGKiB0aWYpCi0gCXVpbnQzMiBmaWk9RkFJTEVEX0ZJSTsKLSAgICAgICAgIHRvZmZfdCBuZXh0ZGlyb2ZmOwotICAgICBpbnQgYml0c3BlcnNhbXBsZV9yZWFkID0gRkFMU0U7Ci0rICAgICAgICBpbnQgY29sb3JfY2hhbm5lbHM7Ci0gCi0gCXRpZi0+dGlmX2Rpcm9mZj10aWYtPnRpZl9uZXh0ZGlyb2ZmOwotIAlpZiAoIVRJRkZDaGVja0Rpck9mZnNldCh0aWYsdGlmLT50aWZfbmV4dGRpcm9mZikpCi1AQCAtNDAyNCw2ICs0MDU1LDM3IEBAIFRJRkZSZWFkRGlyZWN0b3J5KFRJRkYqIHRpZikKLSAJCQl9Ci0gCQl9Ci0gCX0KLSsKLSsJLyoKLSsJICogTWFrZSBzdXJlIGFsbCBub24tY29sb3IgY2hhbm5lbHMgYXJlIGV4dHJhc2FtcGxlcy4KLSsJICogSWYgaXQncyBub3QgdGhlIGNhc2UsIGRlZmluZSB0aGVtIGFzIHN1Y2guCi0rCSAqLwotKyAgICAgICAgY29sb3JfY2hhbm5lbHMgPSBfVElGRkdldE1heENvbG9yQ2hhbm5lbHModGlmLT50aWZfZGlyLnRkX3Bob3RvbWV0cmljKTsKLSsgICAgICAgIGlmIChjb2xvcl9jaGFubmVscyAmJiB0aWYtPnRpZl9kaXIudGRfc2FtcGxlc3BlcnBpeGVsIC0gdGlmLT50aWZfZGlyLnRkX2V4dHJhc2FtcGxlcyA+IGNvbG9yX2NoYW5uZWxzKSB7Ci0rICAgICAgICAgICAgICAgIHVpbnQxNiBvbGRfZXh0cmFzYW1wbGVzOwotKyAgICAgICAgICAgICAgICB1aW50MTYgKm5ld19zYW1wbGVpbmZvOwotKwotKyAgICAgICAgICAgICAgICBUSUZGV2FybmluZ0V4dCh0aWYtPnRpZl9jbGllbnRkYXRhLG1vZHVsZSwgIlN1bSBvZiBQaG90b21ldHJpYyB0eXBlLXJlbGF0ZWQgIgotKyAgICAgICAgICAgICAgICAgICAgImNvbG9yIGNoYW5uZWxzIGFuZCBFeHRyYVNhbXBsZXMgZG9lc24ndCBtYXRjaCBTYW1wbGVzUGVyUGl4ZWwuICIKLSsgICAgICAgICAgICAgICAgICAgICJEZWZpbmluZyBub24tY29sb3IgY2hhbm5lbHMgYXMgRXh0cmFTYW1wbGVzLiIpOwotKwotKyAgICAgICAgICAgICAgICBvbGRfZXh0cmFzYW1wbGVzID0gdGlmLT50aWZfZGlyLnRkX2V4dHJhc2FtcGxlczsKLSsgICAgICAgICAgICAgICAgdGlmLT50aWZfZGlyLnRkX2V4dHJhc2FtcGxlcyA9ICh0aWYtPnRpZl9kaXIudGRfc2FtcGxlc3BlcnBpeGVsIC0gY29sb3JfY2hhbm5lbHMpOwotKwotKyAgICAgICAgICAgICAgICAvLyBzYW1wbGVpbmZvIHNob3VsZCBjb250YWluIGluZm9ybWF0aW9uIHJlbGF0aXZlIHRvIHRoZXNlIG5ldyBleHRyYSBzYW1wbGVzCi0rICAgICAgICAgICAgICAgIG5ld19zYW1wbGVpbmZvID0gKHVpbnQxNiopIF9USUZGY2FsbG9jKHRpZi0+dGlmX2Rpci50ZF9leHRyYXNhbXBsZXMsIHNpemVvZih1aW50MTYpKTsKLSsgICAgICAgICAgICAgICAgaWYgKCFuZXdfc2FtcGxlaW5mbykgewotKyAgICAgICAgICAgICAgICAgICAgVElGRkVycm9yRXh0KHRpZi0+dGlmX2NsaWVudGRhdGEsIG1vZHVsZSwgIkZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yICIKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZW1wb3JhcnkgbmV3IHNhbXBsZWluZm8gYXJyYXkgKCVkIDE2IGJpdCBlbGVtZW50cykiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlmLT50aWZfZGlyLnRkX2V4dHJhc2FtcGxlcyk7Ci0rICAgICAgICAgICAgICAgICAgICBnb3RvIGJhZDsKLSsgICAgICAgICAgICAgICAgfQotKwotKyAgICAgICAgICAgICAgICBtZW1jcHkobmV3X3NhbXBsZWluZm8sIHRpZi0+dGlmX2Rpci50ZF9zYW1wbGVpbmZvLCBvbGRfZXh0cmFzYW1wbGVzICogc2l6ZW9mKHVpbnQxNikpOwotKyAgICAgICAgICAgICAgICBfVElGRnNldFNob3J0QXJyYXkoJnRpZi0+dGlmX2Rpci50ZF9zYW1wbGVpbmZvLCBuZXdfc2FtcGxlaW5mbywgdGlmLT50aWZfZGlyLnRkX2V4dHJhc2FtcGxlcyk7Ci0rICAgICAgICAgICAgICAgIF9USUZGZnJlZShuZXdfc2FtcGxlaW5mbyk7Ci0rICAgICAgICB9Ci0rCi0gCS8qCi0gCSAqIFZlcmlmeSBQYWxldHRlIGltYWdlIGhhcyBhIENvbG9ybWFwLgotIAkgKi8KLWRpZmYgLS1naXQgYS9saWJ0aWZmL3RpZl9wcmludC5jIGIvbGlidGlmZi90aWZfcHJpbnQuYwotaW5kZXggOGRlY2ViMi4uMWQ4NmFkYiAxMDA2NDQKLS0tLSBhL2xpYnRpZmYvdGlmX3ByaW50LmMKLSsrKyBiL2xpYnRpZmYvdGlmX3ByaW50LmMKLUBAIC01NDQsNyArNTQ0LDcgQEAgVElGRlByaW50RGlyZWN0b3J5KFRJRkYqIHRpZiwgRklMRSogZmQsIGxvbmcgZmxhZ3MpCi0gCQkJCXVpbnQxNiBpOwotIAkJCQlmcHJpbnRmKGZkLCAiICAgICUybGQ6ICU1dSIsCi0gCQkJCSAgICBsLCB0ZC0+dGRfdHJhbnNmZXJmdW5jdGlvblswXVtsXSk7Ci0tCQkJCWZvciAoaSA9IDE7IGkgPCB0ZC0+dGRfc2FtcGxlc3BlcnBpeGVsOyBpKyspCi0rCQkJCWZvciAoaSA9IDE7IGkgPCB0ZC0+dGRfc2FtcGxlc3BlcnBpeGVsIC0gdGQtPnRkX2V4dHJhc2FtcGxlcyAmJiBpIDwgMzsgaSsrKQotIAkJCQkJZnByaW50ZihmZCwgIiAlNXUiLAotIAkJCQkJICAgIHRkLT50ZF90cmFuc2ZlcmZ1bmN0aW9uW2ldW2xdKTsKLSAJCQkJZnB1dGMoJ1xuJywgZmQpOwotLS0gCi0xLjcuOS41Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC04OTA1LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE4LTg5MDUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2MjY0NmQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE4LTg5MDUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi1Gcm9tIDU4YTg5OGNiNDQ1OTA1NWJiNDg4Y2E4MTVjMjNiODgwYzI0MmEyN2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBFdmVuIFJvdWF1bHQgPGV2ZW4ucm91YXVsdEBzcGF0aWFseXMuY29tPgotRGF0ZTogU2F0LCAxMiBNYXkgMjAxOCAxNTozMjozMSArMDIwMAotU3ViamVjdDogW1BBVENIXSBMWldEZWNvZGVDb21wYXQoKTogZml4IHBvdGVudGlhbCBpbmRleC1vdXQtb2YtYm91bmRzIHdyaXRlLgotIEZpeGVzIGh0dHA6Ly9idWd6aWxsYS5tYXB0b29scy5vcmcvc2hvd19idWcuY2dpP2lkPTI3ODAgLwotIENWRS0yMDE4LTg5MDUKLQotVGhlIGZpeCBjb25zaXN0cyBpbiB1c2luZyB0aGUgc2ltaWxhciBjb2RlIExaV0RlY29kZSgpIHRvIHZhbGlkYXRlIHdlCi1kb24ndCB3cml0ZSBvdXRzaWRlIG9mIHRoZSBvdXRwdXQgYnVmZmVyLgotCi0tLS0KLUNWRTogQ1ZFLTIwMTgtODkwNQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtnaXRsYWIuY29tL2xpYnRpZmYvbGlidGlmZi9jb21taXQvNThhODk4Li4uXQotCi1TaWduZWQtb2ZmLWJ5OiBKb2UgU2xhdGVyIDxqb2Uuc2xhdGVyQHdpbmRyaXZlci5jb20+Ci0KLS0tLQotIGxpYnRpZmYvdGlmX2x6dy5jIHwgICAxOCArKysrKysrKysrKystLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYnRpZmYvdGlmX2x6dy5jIGIvbGlidGlmZi90aWZfbHp3LmMKLWluZGV4IDRjY2I0NDMuLjk0ZDg1ZTMgMTAwNjQ0Ci0tLS0gYS9saWJ0aWZmL3RpZl9sencuYwotKysrIGIvbGlidGlmZi90aWZfbHp3LmMKLUBAIC02MDIsNiArNjAyLDcgQEAgTFpXRGVjb2RlQ29tcGF0KFRJRkYqIHRpZiwgdWludDgqIG9wMCwgdG1zaXplX3Qgb2NjMCwgdWludDE2IHMpCi0gCWNoYXIgKnRwOwotIAl1bnNpZ25lZCBjaGFyICpicDsKLSAJaW50IGNvZGUsIG5iaXRzOwotKwlpbnQgbGVuOwotIAlsb25nIG5leHRiaXRzLCBuZXh0ZGF0YSwgbmJpdHNtYXNrOwotIAljb2RlX3QgKmNvZGVwLCAqZnJlZV9lbnRwLCAqbWF4Y29kZXAsICpvbGRjb2RlcDsKLSAKLUBAIC03NTMsMTMgKzc1NCwxOCBAQCBMWldEZWNvZGVDb21wYXQoVElGRiogdGlmLCB1aW50OCogb3AwLCB0bXNpemVfdCBvY2MwLCB1aW50MTYgcykKLSAJCQkJfSAgd2hpbGUgKC0tb2NjKTsKLSAJCQkJYnJlYWs7Ci0gCQkJfQotLQkJCWFzc2VydChvY2MgPj0gY29kZXAtPmxlbmd0aCk7Ci0tCQkJb3AgKz0gY29kZXAtPmxlbmd0aDsKLS0JCQlvY2MgLT0gY29kZXAtPmxlbmd0aDsKLS0JCQl0cCA9IG9wOwotKwkJCWxlbiA9IGNvZGVwLT5sZW5ndGg7Ci0rCQkJdHAgPSBvcCArIGxlbjsKLSAJCQlkbyB7Ci0tCQkJCSotLXRwID0gY29kZXAtPnZhbHVlOwotLQkJCX0gd2hpbGUoIChjb2RlcCA9IGNvZGVwLT5uZXh0KSAhPSBOVUxMICk7Ci0rCQkJCWludCB0OwotKwkJCQktLXRwOwotKwkJCQl0ID0gY29kZXAtPnZhbHVlOwotKwkJCQljb2RlcCA9IGNvZGVwLT5uZXh0OwotKwkJCQkqdHAgPSAoY2hhcil0OwotKwkJCX0gd2hpbGUgKGNvZGVwICYmIHRwID4gb3ApOwotKwkJCWFzc2VydChvY2MgPj0gbGVuKTsKLSsJCQlvcCArPSBsZW47Ci0rCQkJb2NjIC09IGxlbjsKLSAJCX0gZWxzZSB7Ci0gCQkJKm9wKysgPSAoY2hhciljb2RlOwotIAkJCW9jYy0tOwotLS0gCi0xLjcuOS41Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9saWJ0b29sMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9saWJ0b29sMi5wYXRjaAppbmRleCBhODRjNjg4Li45NjIzM2I0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvbGlidG9vbDIucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL2xpYnRvb2wyLnBhdGNoCkBAIC0xLDE2ICsxLDIxIEBACitGcm9tIDViODkzMjA2ZTBhMGQ1MjliYTJkMGNhZjU4Y2ZmZmMwM2JjY2I1OTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJjaW4gSnVzemtpZXdpY3ogPGhyd0BvcGVuZWRoYW5kLmNvbT4KK0RhdGU6IFNhdCwgMTQgSnVuIDIwMDggMTM6NDI6MjIgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gdGlmZjogbWFrZSBpdCB3b3JrIGFmdGVyIGxpYnRvb2wgdXBncmFkZQorCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCiAKIC0tLQotIGNvbmZpZ3VyZS5hYyB8ICAgIDIgKy0KKyBjb25maWd1cmUuYWMgfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiB0aWZmLTQuMC45L2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHRpZmYtNC4wLjkub3JpZy9jb25maWd1cmUuYWMKLSsrKyB0aWZmLTQuMC45L2NvbmZpZ3VyZS5hYwotQEAgLTI3LDcgKzI3LDcgQEAgZG5sIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b2NvbmYgdG8gcAorZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYzdiMDJlMi4uYWUxYzk2NCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMjcsNyArMjcsNyBAQCBkbmwgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvY29uZiB0byBwcm9kdWNlIGEgY29uZmlndXJlIHNjcmlwdC4KICBBQ19QUkVSRVEoMi42NCkKLSBBQ19JTklUKFtMaWJUSUZGIFNvZnR3YXJlXSxbNC4wLjldLFt0aWZmQGxpc3RzLm1hcHRvb2xzLm9yZ10sW3RpZmZdKQorIEFDX0lOSVQoW0xpYlRJRkYgU29mdHdhcmVdLFs0LjAuMTBdLFt0aWZmQGxpc3RzLm1hcHRvb2xzLm9yZ10sW3RpZmZdKQogIEFDX0NPTkZJR19BVVhfRElSKGNvbmZpZykKIC1BQ19DT05GSUdfTUFDUk9fRElSKG00KQogK2RubCBBQ19DT05GSUdfTUFDUk9fRElSKG00KQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL3RpZmZfNC4wLjEwLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL3RpZmZfNC4wLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1MmZhODEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvdGlmZl80LjAuMTAuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJQcm92aWRlcyBzdXBwb3J0IGZvciB0aGUgVGFnIEltYWdlIEZpbGUgRm9ybWF0IChUSUZGKSIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT0zNGRhM2RiNDZmYWI3NTAxOTkyZjk2MTVkN2UxNThjZiIKKworQ1ZFX1BST0RVQ1QgPSAibGlidGlmZiIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQub3NnZW8ub3JnL2xpYnRpZmYvdGlmZi0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbGlidG9vbDIucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxMTQxOTJkN2ViZTUzNzkxMmEyYjk3NDA4ODMyZTdmZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyYzUyZDExY2NhZjc2NzQ1N2RiMGM0Njc5NWQ5YzdkMWE4ZDhmNzZmNjhiMGI4MDBhM2RmZTQ1Nzg2Yjk5NmU0IgorCisjIGV4Y2x1ZGUgYmV0YXMKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInRpZmYtKD9QPHB2ZXI+XGQrKFwuXGQrKSspLnRhciIKKworaW5oZXJpdCBhdXRvdG9vbHMgbXVsdGlsaWJfaGVhZGVyCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTID0gImF4X2N2X2NoZWNrX2dsX2xpYmdsPW5vIgorCitQQUNLQUdFQ09ORklHID89ICJjeHgganBlZyB6bGliIGx6bWEgXAorICAgICAgICAgICAgICAgICAgc3RyaXAtY2hvcHBpbmcgZXh0cmFzYW1wbGUtYXMtYWxwaGEgY2hlY2steWNiY3Itc3Vic2FtcGxpbmciCisKK1BBQ0tBR0VDT05GSUdbY3h4XSA9ICItLWVuYWJsZS1jeHgsLS1kaXNhYmxlLWN4eCwsIgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItLWVuYWJsZS1qcGVnLC0tZGlzYWJsZS1qcGVnLGpwZWcsIgorUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItLWVuYWJsZS16bGliLC0tZGlzYWJsZS16bGliLHpsaWIsIgorUEFDS0FHRUNPTkZJR1tsem1hXSA9ICItLWVuYWJsZS1sem1hLC0tZGlzYWJsZS1sem1hLHh6LCIKKworIyBDb252ZXJ0IHNpbmdsZS1zdHJpcCB1bmNvbXByZXNzZWQgaW1hZ2VzIHRvIG11bHRpcGxlIHN0cmlwcyBvZiBzcGVjaWZpZWQKKyMgc2l6ZSAoZGVmYXVsdDogODE5MikgdG8gcmVkdWNlIG1lbW9yeSB1c2FnZQorUEFDS0FHRUNPTkZJR1tzdHJpcC1jaG9wcGluZ10gPSAiLS1lbmFibGUtc3RyaXAtY2hvcHBpbmcsLS1kaXNhYmxlLXN0cmlwLWNob3BwaW5nLCwiCisKKyMgVHJlYXQgYSBmb3VydGggc2FtcGxlIHdpdGggbm8gRVhUUkFTQU1QTEVfIHZhbHVlIGFzIGJlaW5nIEFTU09DQUxQSEEKK1BBQ0tBR0VDT05GSUdbZXh0cmFzYW1wbGUtYXMtYWxwaGFdID0gIi0tZW5hYmxlLWV4dHJhc2FtcGxlLWFzLWFscGhhLC0tZGlzYWJsZS1leHRyYXNhbXBsZS1hcy1hbHBoYSwsIgorCisjIENvbnRyb2wgcGlja2luZyB1cCBZQ2JDciBzdWJzYW1wbGUgaW5mby4gRGlzYWJsZSB0byBzdXBwb3J0IGZpbGVzIGxhY2tpbmcKKyMgdGhlIHRhZworUEFDS0FHRUNPTkZJR1tjaGVjay15Y2Jjci1zdWJzYW1wbGluZ10gPSAiLS1lbmFibGUtY2hlY2steWNiY3Itc3Vic2FtcGxpbmcsLS1kaXNhYmxlLWNoZWNrLXljYmNyLXN1YnNhbXBsaW5nLCwiCisKKyMgU3VwcG9ydCBhIG1lY2hhbmlzbSBhbGxvd2luZyByZWFkaW5nIGxhcmdlIHN0cmlwcyAodXN1YWxseSBvbmUgc3RyaXAgZmlsZXMpCisjIGluIGNodW5rcyB3aGVuIHVzaW5nIFRJRkZSZWFkU2NhbmxpbmUuIEV4cGVyaW1lbnRhbCA0LjArIGZlYXR1cmUKK1BBQ0tBR0VDT05GSUdbY2h1bmt5LXN0cmlwLXJlYWRdID0gIi0tZW5hYmxlLWNodW5reS1zdHJpcC1yZWFkLC0tZGlzYWJsZS1jaHVua3ktc3RyaXAtcmVhZCwsIgorCitQQUNLQUdFUyA9KyAidGlmZnh4IHRpZmYtdXRpbHMiCitGSUxFU190aWZmeHggPSAiJHtsaWJkaXJ9L2xpYnRpZmZ4eC5zby4qIgorRklMRVNfdGlmZi11dGlscyA9ICIke2JpbmRpcn0vKiIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgb2VfbXVsdGlsaWJfaGVhZGVyIHRpZmZjb25mLmgKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvdGlmZl80LjAuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi90aWZmXzQuMC45LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5M2JlZGRiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi90aWZmXzQuMC45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotU1VNTUFSWSA9ICJQcm92aWRlcyBzdXBwb3J0IGZvciB0aGUgVGFnIEltYWdlIEZpbGUgRm9ybWF0IChUSUZGKSIKLUxJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT0zNGRhM2RiNDZmYWI3NTAxOTkyZjk2MTVkN2UxNThjZiIKLQotQ1ZFX1BST0RVQ1QgPSAibGlidGlmZiIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQub3NnZW8ub3JnL2xpYnRpZmYvdGlmZi0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vbGlidG9vbDIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTctOTkzNS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNy0xODAxMy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC01Nzg0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTEwOTYzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTg5MDUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtNzQ1Ni5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNy0xNzA5NS5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNTRiYWQyMTEyNzljYzkzZWI0ZmNhMzFiYTliZmRjNzkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmU3YmRlZWMyYzMxMDczNGU3MzRkMTlhYWUzYTcxZWJlMzdhNGQ4NDJlMGUyM2RiYjFiODkyMWMwMDI2Y2ZjZCIKLQotIyBleGNsdWRlIGJldGFzCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJ0aWZmLSg/UDxwdmVyPlxkKyhcLlxkKykrKS50YXIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIG11bHRpbGliX2hlYWRlcgotCi1DQUNIRURfQ09ORklHVVJFVkFSUyA9ICJheF9jdl9jaGVja19nbF9saWJnbD1ubyIKLQotUEFDS0FHRUNPTkZJRyA/PSAiY3h4IGpwZWcgemxpYiBsem1hIFwKLSAgICAgICAgICAgICAgICAgIHN0cmlwLWNob3BwaW5nIGV4dHJhc2FtcGxlLWFzLWFscGhhIGNoZWNrLXljYmNyLXN1YnNhbXBsaW5nIgotCi1QQUNLQUdFQ09ORklHW2N4eF0gPSAiLS1lbmFibGUtY3h4LC0tZGlzYWJsZS1jeHgsLCIKLVBBQ0tBR0VDT05GSUdbanBlZ10gPSAiLS1lbmFibGUtanBlZywtLWRpc2FibGUtanBlZyxqcGVnLCIKLVBBQ0tBR0VDT05GSUdbemxpYl0gPSAiLS1lbmFibGUtemxpYiwtLWRpc2FibGUtemxpYix6bGliLCIKLVBBQ0tBR0VDT05GSUdbbHptYV0gPSAiLS1lbmFibGUtbHptYSwtLWRpc2FibGUtbHptYSx4eiwiCi0KLSMgQ29udmVydCBzaW5nbGUtc3RyaXAgdW5jb21wcmVzc2VkIGltYWdlcyB0byBtdWx0aXBsZSBzdHJpcHMgb2Ygc3BlY2lmaWVkCi0jIHNpemUgKGRlZmF1bHQ6IDgxOTIpIHRvIHJlZHVjZSBtZW1vcnkgdXNhZ2UKLVBBQ0tBR0VDT05GSUdbc3RyaXAtY2hvcHBpbmddID0gIi0tZW5hYmxlLXN0cmlwLWNob3BwaW5nLC0tZGlzYWJsZS1zdHJpcC1jaG9wcGluZywsIgotCi0jIFRyZWF0IGEgZm91cnRoIHNhbXBsZSB3aXRoIG5vIEVYVFJBU0FNUExFXyB2YWx1ZSBhcyBiZWluZyBBU1NPQ0FMUEhBCi1QQUNLQUdFQ09ORklHW2V4dHJhc2FtcGxlLWFzLWFscGhhXSA9ICItLWVuYWJsZS1leHRyYXNhbXBsZS1hcy1hbHBoYSwtLWRpc2FibGUtZXh0cmFzYW1wbGUtYXMtYWxwaGEsLCIKLQotIyBDb250cm9sIHBpY2tpbmcgdXAgWUNiQ3Igc3Vic2FtcGxlIGluZm8uIERpc2FibGUgdG8gc3VwcG9ydCBmaWxlcyBsYWNraW5nCi0jIHRoZSB0YWcKLVBBQ0tBR0VDT05GSUdbY2hlY2steWNiY3Itc3Vic2FtcGxpbmddID0gIi0tZW5hYmxlLWNoZWNrLXljYmNyLXN1YnNhbXBsaW5nLC0tZGlzYWJsZS1jaGVjay15Y2Jjci1zdWJzYW1wbGluZywsIgotCi0jIFN1cHBvcnQgYSBtZWNoYW5pc20gYWxsb3dpbmcgcmVhZGluZyBsYXJnZSBzdHJpcHMgKHVzdWFsbHkgb25lIHN0cmlwIGZpbGVzKQotIyBpbiBjaHVua3Mgd2hlbiB1c2luZyBUSUZGUmVhZFNjYW5saW5lLiBFeHBlcmltZW50YWwgNC4wKyBmZWF0dXJlCi1QQUNLQUdFQ09ORklHW2NodW5reS1zdHJpcC1yZWFkXSA9ICItLWVuYWJsZS1jaHVua3ktc3RyaXAtcmVhZCwtLWRpc2FibGUtY2h1bmt5LXN0cmlwLXJlYWQsLCIKLQotUEFDS0FHRVMgPSsgInRpZmZ4eCB0aWZmLXV0aWxzIgotRklMRVNfdGlmZnh4ID0gIiR7bGliZGlyfS9saWJ0aWZmeHguc28uKiIKLUZJTEVTX3RpZmYtdXRpbHMgPSAiJHtiaW5kaXJ9LyoiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIG9lX211bHRpbGliX2hlYWRlciB0aWZmY29uZi5oCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9tcGVnMmRlYy9maWxlcy82MV9nbG9iYWwtc3ltYm9sLXRlc3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL21wZWcyZGVjL2ZpbGVzLzYxX2dsb2JhbC1zeW1ib2wtdGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMGI2NjdkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9tcGVnMmRlYy9maWxlcy82MV9nbG9iYWwtc3ltYm9sLXRlc3QucGF0Y2gKQEAgLTAsMCArMSw3MCBAQAorUmV3cml0ZSB0aGUgcHVibGljIHN5bWJvbCBjaGVjayB0byB2ZXJpZnkgdGhlIHNoYXJlZCBsaWJyYXJpZXMsIHRvIGNoZWNrIGZvcgorbW9yZSB0aGluZ3MsIGFuZCB0byBhdm9pZCBkdXBsaWNhdGlvbjsgZml4ZXMgbWFrZSBjaGVjayBvbiBBUk0KKworVGFrZW4gRnJvbQoraHR0cHM6Ly9zb3VyY2VzLmRlYmlhbi5vcmcvc3JjL21wZWcyZGVjLzAuNS4xLTgvZGViaWFuL3BhdGNoZXMvNjFfZ2xvYmFsLXN5bWJvbC10ZXN0LnBhdGNoLworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHRlc3QvZ2xvYmFscyB8ICAgNDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQorCistLS0gbXBlZzJkZWMub3JpZy90ZXN0L2dsb2JhbHMKKysrKyBtcGVnMmRlYy90ZXN0L2dsb2JhbHMKK0BAIC0xLDQgKzEsOCBAQAorICMhL2Jpbi9zaAorKyMgVE9ETworKyMgLSBmaXggY2hlY2tpbmcgb2YgLmEgbGliczsgcHJvYmxlbSBpcyB0aGF0ICJubSAtZyAtLWRlZmluZWQtb25seSIgbGlzdHMKKysjICAgaW50ZXJuYWwgc3ltYm9sczsgdGhpcyBjYW4gYmUgc29sdmVkIGJ5IHVzaW5nIG9iamR1bXAsIGJ1dCBpdCdzIHByb2JhYmx5CisrIyAgIGdvb2QgZW5vdWdoIHRvIGp1c3QgcnVuIHRoZSB0ZXN0cyBvbiB0aGUgc2hhcmVkIGxpYgorIAorIGlmIHRlc3QgeCIkc3JjZGlyIiAhPSB4IiI7IHRoZW4KKyAgICAgYnVpbGRkaXI9Ii4iCSMgcnVubmluZyBmcm9tIG1ha2UgY2hlY2ssIGJ1dCBpdCBkb2VzIG5vdCBkZWZpbmUgdGhhdAorQEAgLTE0LDIyICsxOCwzMCBAQCBidWlsZGRpcj1gY2QgJGJ1aWxkZGlyO3B3ZGAKKyAKKyBlcnJvcj0wCisgCistYmFkX2dsb2JhbHM9YG5tIC1nIC0tZGVmaW5lZC1vbmx5ICRidWlsZGRpci8uLi9saWJtcGVnMi8qLm8gfFwKKy0gICAgYXdrICd7aWYgKCQzKSBwcmludCAkM30nIHwgZ3JlcCAtdiAnXl9cP21wZWcyXydgCistCistaWYgdGVzdCB4IiRiYWRfZ2xvYmFscyIgIT0geCIiOyB0aGVuCistICAgIGVjaG8gQkFEIEdMT0JBTCBTWU1CT0xTOgorLSAgICBmb3IgcyBpbiAkYmFkX2dsb2JhbHM7IGRvIGVjaG8gJHM7IGRvbmUKKysjIGNoZWNrX2JhZF9wdWJsaWNfc3ltYm9scyA8c3ltYm9sIHByZWZpeD4gPGxpYiBmaWxlPiBbPGxpYiBmaWxlPi4uLl0KKysjCisrIyBjaGVja3MgcHVibGljIHN5bWJvbHMgaW4gc2hhcmVkIGxpYnM6CisrIyAtIGFsbG93IHByZWZpeF9hbnl0aGluZworKyMgLSByZWplY3QgX3ByZWZpeGFueXRoaW5nCisrIyAtIGFsbG93IF9hbnl0aGluZworKyMgLSByZWplY3QgYW55dGhpbmcgZWxzZQorKyMKKysjIE5COiBza2lwcyBtaXNzaW5nIGZpbGVzCisrY2hlY2tfYmFkX3B1YmxpY19zeW1ib2xzKCkgeworKyAgICBzeW1ib2xzX3ByZWZpeD0iJDEiCisrICAgIHNoaWZ0CisrICAgIGxpYl9maWxlcz1gbHMgIiRAIiAyPi9kZXYvbnVsbGAKKysgICAgWyAteiAiJGxpYl9maWxlcyIgXSAmJiByZXR1cm4KKysgICAgYmFkX2dsb2JhbHM9YG5tIC1nIC0tZGVmaW5lZC1vbmx5ICRsaWJfZmlsZXMgfAorKyAgICAgICAgYXdrICd7aWYgKCQzKSBwcmludCAkM30nIHwKKysgICAgICAgIHNlZCAtbiAiL14ke3N5bWJvbHNfcHJlZml4fV8vIGQ7IC9eXyR7c3ltYm9sc19wcmVmaXh9LyB7IHA7IGQgfTsgL15fLyBkOyBwImAKKysgICAgWyAteiAiJGJhZF9nbG9iYWxzIiBdICYmIHJldHVybgorICAgICBlcnJvcj0xCistZmkKKy0KKy1iYWRfZ2xvYmFscz1gbm0gLWcgLS1kZWZpbmVkLW9ubHkgJGJ1aWxkZGlyLy4uL2xpYm1wZWcyL2NvbnZlcnQvKi5vIHxcCistICAgIGF3ayAne2lmICgkMykgcHJpbnQgJDN9JyB8IGdyZXAgLXYgJ15fXD9tcGVnMmNvbnZlcnRfJ2AKKysgICAgZWNobyBCQUQgR0xPQkFMIFNZTUJPTFMgaW4gJGxpYl9maWxlczoKKysgICAgZWNobyAiJGJhZF9nbG9iYWxzIgorK30KKyAKKy1pZiB0ZXN0IHgiJGJhZF9nbG9iYWxzIiAhPSB4IiI7IHRoZW4KKy0gICAgZWNobyBCQUQgR0xPQkFMIFNZTUJPTFM6CistICAgIGZvciBzIGluICRiYWRfZ2xvYmFsczsgZG8gZWNobyAkczsgZG9uZQorLSAgICBlcnJvcj0xCistZmkKKytjaGVja19iYWRfcHVibGljX3N5bWJvbHMgbXBlZzIgJGJ1aWxkZGlyLy4uL2xpYm1wZWcyLy5saWJzL2xpYm1wZWcyLnNvCisrY2hlY2tfYmFkX3B1YmxpY19zeW1ib2xzIG1wZWcyY29udmVydCAkYnVpbGRkaXIvLi4vbGlibXBlZzIvY29udmVydC8ubGlicy9saWJtcGVnMmNvbnZlcnQuc28KKyAKKyBleGl0ICRlcnJvcgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9tcGVnMmRlYy9tcGVnMmRlY18wLjUuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbXBlZzJkZWMvbXBlZzJkZWNfMC41LjEuYmIKaW5kZXggNzcxMWMyZC4uNmI1OWQ0ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9tcGVnMmRlYy9tcGVnMmRlY18wLjUuMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL21wZWcyZGVjL21wZWcyZGVjXzAuNS4xLmJiCkBAIC0xMCw2ICsxMCw3IEBACiAgICAgICAgICAgIGZpbGU6Ly9hbHRpdmVjX2hfbmVlZGVkLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtY2hlY2stZm9yLWF2YWlsYWJsZS1hcm0tb3B0aW1pemF0aW9ucy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAyLVNldC12aXNpYmlsaXR5LW9mLWdsb2JhbC1zeW1ib2xzLXVzZWQtaW4tQVJNLXNwZWNpZmkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vNjFfZ2xvYmFsLXN5bWJvbC10ZXN0LnBhdGNoIFwKICAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0vbGlibXBlZzItJHtQVn0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcHVsc2VhdWRpby5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcHVsc2VhdWRpby5pbmMKaW5kZXggZjUyNjY5MC4uOWE5NWU3YyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW8uaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvcHVsc2VhdWRpby9wdWxzZWF1ZGlvLmluYwpAQCAtNTgsMTAgKzU4LDEwIEBACiAKIERFUEVORFMgPSAibGliYXRvbWljLW9wcyBsaWJzbmRmaWxlMSBsaWJ0b29sIGludGx0b29sLW5hdGl2ZSIKICMgb3B0aW9uYWwKLURFUEVORFMgKz0gInVkZXYgYWxzYS1saWIgZ2xpYi0yLjAgZ2NvbmYiCitERVBFTkRTICs9ICJ1ZGV2IGFsc2EtbGliIGdsaWItMi4wIgogREVQRU5EUyArPSAic3BlZXhkc3AgbGlieG1sLXBhcnNlci1wZXJsLW5hdGl2ZSBsaWJjYXAiCiAKLWluaGVyaXQgYXV0b3Rvb2xzIGJhc2gtY29tcGxldGlvbiBwa2djb25maWcgdXNlcmFkZCBnZXR0ZXh0IHBlcmxuYXRpdmUgYmx1ZXRvb3RoIHN5c3RlbWQgbWFucGFnZXMKK2luaGVyaXQgYXV0b3Rvb2xzIGJhc2gtY29tcGxldGlvbiBwa2djb25maWcgdXNlcmFkZCBnZXR0ZXh0IHBlcmxuYXRpdmUgYmx1ZXRvb3RoIHN5c3RlbWQgbWFucGFnZXMgZ3NldHRpbmdzCiAKICMgKi5kZXNrdG9wIHJ1bGVzIHdvbnQgYmUgZ2VuZXJhdGVkIGR1cmluZyBjb25maWd1cmUgYW5kIGJ1aWxkIHdpbGwgZmFpbAogIyBpZiB1c2luZyAtLWRpc2FibGUtbmxzCkBAIC03Niw4ICs3Niw5IEBACiAJCS0td2l0aC1kYXRhYmFzZT1zaW1wbGUgXAogCQktLXdpdGhvdXQtenNoLWNvbXBsZXRpb24tZGlyIFwKIAkJLS13aXRoLXVkZXYtcnVsZXMtZGlyPWBwa2ctY29uZmlnIC0tdmFyaWFibGU9dWRldmRpciB1ZGV2YC9ydWxlcy5kIFwKLSAgICAgICAgICAgICAgICBhY19jdl9oZWFkZXJfdmFsZ3JpbmRfbWVtY2hlY2tfaD1ubyBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLXRlc3RzIFwKKwkJYWNfY3ZfaGVhZGVyX3ZhbGdyaW5kX21lbWNoZWNrX2g9bm8gXAorCQktLWRpc2FibGUtdGVzdHMgXAorCQktLWRpc2FibGUtcnVubmluZy1mcm9tLWJ1aWxkLXRyZWUgXAogIgogCiAjIHNveHIgKHRoZSBTb1ggUmVzYW1wbGVyIGxpYnJhcnkpIGRvZXNuJ3Qgc2VlbSB0byBiZSBjdXJyZW50bHkgcGFja2FnZWQgaW4KQEAgLTk3LDIwICs5OCwxOCBAQAogIyB2ZXJ5IGdvb2QgYW55d2F5LCBiZXR0ZXIgYWx0ZXJuYXRpdmVzIGV4aXN0IChzdWNoIGFzIHRoZSB3ZWJydGMgY2FuY2VsbGVyKS4KIEVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWFkcmlhbi1hZWMiCiAKLSMgRklYTUU6IFRoZSBnc2V0dGluZ3MgbW9kdWxlIGlzIHRlbXBvcmFyaWx5IGRpc2FibGVkLCBiZWNhdXNlIGFkZGluZyBzdXBwb3J0Ci0jIGZvciBpdCBpcyBhIGJpdCBjb21wbGljYXRlZC4KLUVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWdzZXR0aW5ncyIKLQogUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXRvb3RoJywgJyR7QkxVRVp9JywgJycsIGQpfSBcCiAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd6ZXJvY29uZicsICdhdmFoaScsICcnLCBkKX0gXAogICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnM2cnLCAnb2Zvbm8nLCAnJywgZCl9IFwKICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2IHN5c3RlbWQgeDExJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICBkYnVzIFwKKyAgICAgICAgICAgICAgICAgICBkYnVzIGdzZXR0aW5ncyBcCiAgICAgICAgICAgICAgICAgICAgIgogCiBQQUNLQUdFQ09ORklHW2RidXNdID0gIi0tZW5hYmxlLWRidXMsLS1kaXNhYmxlLWRidXMsZGJ1cyIKIFBBQ0tBR0VDT05GSUdbYmx1ZXo0XSA9ICItLWVuYWJsZS1ibHVlejQsLS1kaXNhYmxlLWJsdWV6NCxibHVlejQgc2JjIgogUEFDS0FHRUNPTkZJR1tibHVlejVdID0gIi0tZW5hYmxlLWJsdWV6NSwtLWRpc2FibGUtYmx1ZXo1LGJsdWV6NSBzYmMiCitQQUNLQUdFQ09ORklHW2djb25mXSA9ICItLWVuYWJsZS1nY29uZiwtLWRpc2FibGUtZ2NvbmYsZ2NvbmYiCitQQUNLQUdFQ09ORklHW2dzZXR0aW5nc10gPSAiLS1lbmFibGUtZ3NldHRpbmdzLC0tZGlzYWJsZS1nc2V0dGluZ3MsZ2xpYi0yLjAtbmF0aXZlIGdsaWItMi4wIgogUEFDS0FHRUNPTkZJR1tvZm9ub10gPSAiLS1lbmFibGUtYmx1ZXo1LW9mb25vLWhlYWRzZXQsLS1kaXNhYmxlLWJsdWV6NS1vZm9uby1oZWFkc2V0LG9mb25vIgogUEFDS0FHRUNPTkZJR1tndGtdID0gIi0tZW5hYmxlLWd0azMsLS1kaXNhYmxlLWd0azMsZ3RrKzMiCiBQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0tZW5hYmxlLXN5c3RlbWQtZGFlbW9uIC0tZW5hYmxlLXN5c3RlbWQtbG9naW4gLS1lbmFibGUtc3lzdGVtZC1qb3VybmFsIC0td2l0aC1zeXN0ZW1kdXNlcnVuaXRkaXI9JHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0sLS1kaXNhYmxlLXN5c3RlbWQtZGFlbW9uIC0tZGlzYWJsZS1zeXN0ZW1kLWxvZ2luIC0tZGlzYWJsZS1zeXN0ZW1kLWpvdXJuYWwsc3lzdGVtZCIKQEAgLTE5Myw2ICsxOTIsNyBAQAogRklMRVNfJHtQTn0tbWlzYyA9ICIke2JpbmRpcn0vKiAke2xpYmRpcn0vcHVsc2VhdWRpby9saWJwdWxzZWRzcC5zbyIKIAogIyBBbGxvdyB0aGUgcHVsc2VhdWRpbyBwYWNrYWdlIHRvIGJlIGNyZWF0ZWQgZW1wdHkgYXMgYSBwbGFjZWhvbGRlciAoLWRiZyBhbmQgLWRldiBkZXBlbmQgb24gaXQpCitGSUxFU18ke1BOfSA9ICIiCiBBTExPV19FTVBUWV8ke1BOfSA9ICIxIgogCiBDT05GRklMRVNfbGlicHVsc2UgPSAiJHtzeXNjb25mZGlyfS9wdWxzZS9jbGllbnQuY29uZiIKQEAgLTIxMCwxMSArMjEwLDkgQEAKIH0KIAogcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQoKSB7Ci0gICAgI2Quc2V0VmFyKCdQS0dfcHVsc2VhdWRpbycsICdwdWxzZWF1ZGlvJykKLQogICAgIHBsdWdpbmRpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0vcHVsc2UtJHtQVn0vbW9kdWxlcy8nKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbmRpciwgJ15tb2R1bGUtKC4qKVwuc28kJywgJ3B1bHNlYXVkaW8tbW9kdWxlLSVzJywgJ1B1bHNlQXVkaW8gbW9kdWxlIGZvciAlcycsIGV4dHJhX2RlcGVuZHM9JycsIHByZXBlbmQ9VHJ1ZSkKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5kaXIsICdebGliKC4qKVwuc28kJywgJ3B1bHNlYXVkaW8tbGliLSVzJywgJ1B1bHNlQXVkaW8gbGlicmFyeSBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGx1Z2luZGlyLCByJ15tb2R1bGUtKC4qKVwuc28kJywgJyR7UE59LW1vZHVsZS0lcycsICdQdWxzZUF1ZGlvIG1vZHVsZSBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGx1Z2luZGlyLCByJ15saWIoLiopXC5zbyQnLCAnJHtQTn0tbGliLSVzJywgJ1B1bHNlQXVkaW8gbGlicmFyeSBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUpCiB9CiAKIFJERVBFTkRTX3B1bHNlYXVkaW8tc2VydmVyID0gIiBcCkBAIC0yNTAsOCArMjQ4LDExIEBACiBSREVQRU5EU19wdWxzZWF1ZGlvLW1vZHVsZS1jb25zb2xlLWtpdCA9KyAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAnY29uc29sZWtpdCcsICcnLCBkKX0iCiBSREVQRU5EU19wdWxzZWF1ZGlvLW1pc2MgKz0gInB1bHNlYXVkaW8tbW9kdWxlLWNsaS1wcm90b2NvbC11bml4IgogCi1GSUxFU19wdWxzZWF1ZGlvLW1vZHVsZS1nY29uZiArPSAiJHtsaWJleGVjZGlyfS9wdWxzZS9nY29uZi1oZWxwZXIiCi1GSUxFU19wdWxzZWF1ZGlvLW1vZHVsZS1hbHNhLWNhcmQgKz0gIiR7ZGF0YWRpcn0vcHVsc2VhdWRpby9hbHNhLW1peGVyIgorRklMRVNfJHtQTn0tbW9kdWxlLWFsc2EtY2FyZCArPSAiJHtkYXRhZGlyfS9wdWxzZWF1ZGlvL2Fsc2EtbWl4ZXIiCitGSUxFU18ke1BOfS1tb2R1bGUtZ2NvbmYgKz0gIiR7bGliZXhlY2Rpcn0vcHVsc2UvZ2NvbmYtaGVscGVyIgorCitHU0VUVElOR1NfUEFDS0FHRSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdnc2V0dGluZ3MnLCAnJHtQTn0tbW9kdWxlLWdzZXR0aW5ncycsICcnLCBkKX0iCitGSUxFU18ke1BOfS1tb2R1bGUtZ3NldHRpbmdzICs9ICIke2xpYmV4ZWNkaXJ9L3B1bHNlL2dzZXR0aW5ncy1oZWxwZXIgJHtkYXRhZGlyfS9HQ29uZi9nc2V0dGluZ3MgJHtkYXRhZGlyfS9nbGliLTIuMC9zY2hlbWFzIgogCiAjIFRoZSBjb25zb2xlLWtpdCBtb2R1bGUgaXMgZ29vZCB0byBoYXZlIG9uIFgxMSBzeXN0ZW1zIChpdCBrZWVwcyBQdWxzZUF1ZGlvCiAjIHJ1bm5pbmcgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgdXNlciBsb2dpbiBzZXNzaW9uKS4gVGhlIGRldmljZS1tYW5hZ2VyIGFuZApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW8vMDAwMS1pbnRyb2R1Y2UtYS1zcGVjaWFsLWJ1aWxkLWZsYWctdG8tZXhwbGljaXRseS1kaXNhYmxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW8vMDAwMS1pbnRyb2R1Y2UtYS1zcGVjaWFsLWJ1aWxkLWZsYWctdG8tZXhwbGljaXRseS1kaXNhYmxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3ZTljZDgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcHVsc2VhdWRpby8wMDAxLWludHJvZHVjZS1hLXNwZWNpYWwtYnVpbGQtZmxhZy10by1leHBsaWNpdGx5LWRpc2FibGUucGF0Y2gKQEAgLTAsMCArMSwxNjEgQEAKK0Zyb20gMzZmZWI5OGU1NjgyMjFlMjQyODY2MTU3MzA4ODhkNWY2ZmYzMjNmMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0RhdGU6IEZyaSwgNyBEZWMgMjAxOCAxNToxMjozOCArMDgwMAorU3ViamVjdDogW1BBVENIXSBpbnRyb2R1Y2UgYSBzcGVjaWFsIGJ1aWxkIGZsYWcgdG8gZXhwbGljaXRseSBkaXNhYmxlcyBydW5uaW5nCisgZnJvbSBidWlsZCB0cmVlCisKK0l0IGlzIGhlbHBmdWwgdG8gaW1wcm92ZSByZXByb2R1Y2liaWxpdHkgYnVpbGQgWzFdIHNpbmNlCitQQV9TUkNESVIvUEFfQlVJTERESVIgY29udGFpbnMgYnVpbGQgcGF0aCwgZGlzYWJsZSBydW5uaW5nCitmcm9tIGJ1aWxkIHRyZWUgY291bGQgZHJvcCB0aGVzZSBtYWNyb3MgYXQgcHJlY29tcGlsYXRpb24uCisKK1sxXSBodHRwczovL3JlcHJvZHVjaWJsZS1idWlsZHMub3JnLworCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbcHVsc2VhdWRpby1kaXNjdXNzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZ10KK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0Fja2VkLWJ5OiBUYW51IEthc2tpbmVuIDx0YW51a0Bpa2kuZmk+CistLS0KKyBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKysrKysrKysrKworIHNyYy9kYWVtb24vZGFlbW9uLWNvbmYuYyAgICAgICAgICAgICAgICAgfCAgNCArKystCisgc3JjL2RhZW1vbi9tYWluLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKysrKworIHNyYy9tb2R1bGVzL2Fsc2EvYWxzYS1taXhlci5jICAgICAgICAgICAgfCAgNCArKysrCisgc3JjL21vZHVsZXMvZ2NvbmYvbW9kdWxlLWdjb25mLmMgICAgICAgICB8ICAyICstCisgc3JjL21vZHVsZXMvZ3NldHRpbmdzL21vZHVsZS1nc2V0dGluZ3MuYyB8ICAyICstCisgc3JjL3B1bHNlY29yZS9jb3JlLXV0aWwuYyAgICAgICAgICAgICAgICB8ICA0ICsrKy0KKyA3IGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGM5YzQxNGYuLjhiMzQ1ZWYgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTk5OCw2ICs5OTgsMTYgQEAgQVNfSUYoW3Rlc3QgIngkZW5hYmxlX2FzeW5jbnMiID0gInh5ZXMiICYmIHRlc3QgIngkSEFWRV9MSUJBU1lOQ05TIiA9ICJ4MCJdLAorIEFNX0NPTkRJVElPTkFMKFtIQVZFX0xJQkFTWU5DTlNdLCBbdGVzdCAieCRIQVZFX0xJQkFTWU5DTlMiID0geDFdKQorIEFTX0lGKFt0ZXN0ICJ4JEhBVkVfTElCQVNZTkNOUyIgPSAieDEiXSwgQUNfREVGSU5FKFtIQVZFX0xJQkFTWU5DTlNdLCAxLCBbSGF2ZSBsaWJhc3luY25zP10pKQorIAorKyMjIyMgUnVubmluZyBmcm9tIGJ1aWxkIHRyZWUgKG9wdGlvbmFsKSAjIyMjCisrCisrQUNfQVJHX0VOQUJMRShbcnVubmluZy1mcm9tLWJ1aWxkLXRyZWVdLAorKyAgICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXJ1bm5pbmctZnJvbS1idWlsZC10cmVlXSxbRGlzYWJsZSBydW5uaW5nIGZyb20gYnVpbGQgdHJlZV0pKQorKworK0FTX0lGKFt0ZXN0ICJ4JGVuYWJsZV9ydW5uaW5nX2Zyb21fYnVpbGRfdHJlZSIgIT0gInhubyJdLAorKyAgICAgIEFDX0RFRklORShbSEFWRV9SVU5OSU5HX0ZST01fQlVJTERfVFJFRV0sIDEsIFtIYXZlIHJ1bm5pbmcgZnJvbSBidWlsZCB0cmVlXSkpCisrCisrQUNfU1VCU1QoSEFWRV9SVU5OSU5HX0ZST01fQlVJTERfVFJFRSkKKysKKyAjIyMjIFRDUCB3cmFwcGVycyAob3B0aW9uYWwpICMjIyMKKyAKKyBBQ19BUkdfRU5BQkxFKFt0Y3B3cmFwXSwKK2RpZmYgLS1naXQgYS9zcmMvZGFlbW9uL2RhZW1vbi1jb25mLmMgYi9zcmMvZGFlbW9uL2RhZW1vbi1jb25mLmMKK2luZGV4IDk4ODMxMjYuLmYwMWVmZjQgMTAwNjQ0CistLS0gYS9zcmMvZGFlbW9uL2RhZW1vbi1jb25mLmMKKysrKyBiL3NyYy9kYWVtb24vZGFlbW9uLWNvbmYuYworQEAgLTE1NSwxMiArMTU1LDE0IEBAIHBhX2RhZW1vbl9jb25mICpwYV9kYWVtb25fY29uZl9uZXcodm9pZCkgeworICAgICBjLT5kbF9zZWFyY2hfcGF0aCA9IHBhX3NwcmludGZfbWFsbG9jKCIlcyIgUEFfUEFUSF9TRVAgImxpYiIgUEFfUEFUSF9TRVAgInB1bHNlLSVkLiVkIiBQQV9QQVRIX1NFUCAibW9kdWxlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFfd2luMzJfZ2V0X3RvcGxldmVsKE5VTEwpLCBQQV9NQUpPUiwgUEFfTUlOT1IpOworICNlbHNlCisrI2lmZGVmIEhBVkVfUlVOTklOR19GUk9NX0JVSUxEX1RSRUUKKyAgICAgaWYgKHBhX3J1bl9mcm9tX2J1aWxkX3RyZWUoKSkgeworICAgICAgICAgcGFfbG9nX25vdGljZSgiRGV0ZWN0ZWQgdGhhdCB3ZSBhcmUgcnVuIGZyb20gdGhlIGJ1aWxkIHRyZWUsIGZpeGluZyBzZWFyY2ggcGF0aC4iKTsKKyAgICAgICAgIGMtPmRsX3NlYXJjaF9wYXRoID0gcGFfeHN0cmR1cChQQV9CVUlMRERJUik7CisgICAgIH0gZWxzZQorLSAgICAgICAgYy0+ZGxfc2VhcmNoX3BhdGggPSBwYV94c3RyZHVwKFBBX0RMU0VBUkNIUEFUSCk7CisgI2VuZGlmCisrICAgICAgICBjLT5kbF9zZWFyY2hfcGF0aCA9IHBhX3hzdHJkdXAoUEFfRExTRUFSQ0hQQVRIKTsKKysjZW5kaWYgLy9FbmRvZiAjaWZkZWYgT1NfSVNfV0lOMzIKKyAKKyAgICAgcmV0dXJuIGM7CisgfQorZGlmZiAtLWdpdCBhL3NyYy9kYWVtb24vbWFpbi5jIGIvc3JjL2RhZW1vbi9tYWluLmMKK2luZGV4IGM4MGZhOTQuLjFlMDAzODggMTAwNjQ0CistLS0gYS9zcmMvZGFlbW9uL21haW4uYworKysrIGIvc3JjL2RhZW1vbi9tYWluLmMKK0BAIC05MzIsNiArOTMyLDEyIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKKyAKKyAgICAgcGFfbG9nX2RlYnVnKCJSdW5uaW5nIGluIFZNOiAlcyIsIHBhX3llc19ubyhwYV9ydW5uaW5nX2luX3ZtKCkpKTsKKyAKKysjaWZkZWYgSEFWRV9SVU5OSU5HX0ZST01fQlVJTERfVFJFRQorKyAgICBwYV9sb2dfZGVidWcoIlJ1bm5pbmcgZnJvbSBidWlsZCB0cmVlOiAlcyIsIHBhX3llc19ubyhwYV9ydW5fZnJvbV9idWlsZF90cmVlKCkpKTsKKysjZWxzZQorKyAgICBwYV9sb2dfZGVidWcoIlJ1bm5pbmcgZnJvbSBidWlsZCB0cmVlOiBubyIpOworKyNlbmRpZgorKworICNpZmRlZiBfX09QVElNSVpFX18KKyAgICAgcGFfbG9nX2RlYnVnKCJPcHRpbWl6ZWQgYnVpbGQ6IHllcyIpOworICNlbHNlCitkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYWxzYS9hbHNhLW1peGVyLmMgYi9zcmMvbW9kdWxlcy9hbHNhL2Fsc2EtbWl4ZXIuYworaW5kZXggYTUyNGQ2ZC4uNjcwZjY0NiAxMDA2NDQKKy0tLSBhL3NyYy9tb2R1bGVzL2Fsc2EvYWxzYS1taXhlci5jCisrKysgYi9zcmMvbW9kdWxlcy9hbHNhL2Fsc2EtbWl4ZXIuYworQEAgLTI1NzEsOSArMjU3MSwxMSBAQCBzdGF0aWMgaW50IHBhdGhfdmVyaWZ5KHBhX2Fsc2FfcGF0aCAqcCkgeworIH0KKyAKKyBzdGF0aWMgY29uc3QgY2hhciAqZ2V0X2RlZmF1bHRfcGF0aHNfZGlyKHZvaWQpIHsKKysjaWZkZWYgSEFWRV9SVU5OSU5HX0ZST01fQlVJTERfVFJFRQorICAgICBpZiAocGFfcnVuX2Zyb21fYnVpbGRfdHJlZSgpKQorICAgICAgICAgcmV0dXJuIFBBX1NSQ0RJUiAiL21vZHVsZXMvYWxzYS9taXhlci9wYXRocy8iOworICAgICBlbHNlCisrI2VuZGlmCisgICAgICAgICByZXR1cm4gUEFfQUxTQV9QQVRIU19ESVI7CisgfQorIAorQEAgLTQ0NTUsNyArNDQ1Nyw5IEBAIHBhX2Fsc2FfcHJvZmlsZV9zZXQqIHBhX2Fsc2FfcHJvZmlsZV9zZXRfbmV3KGNvbnN0IGNoYXIgKmZuYW1lLCBjb25zdCBwYV9jaGFubmVsCisgICAgICAgICBmbmFtZSA9ICJkZWZhdWx0LmNvbmYiOworIAorICAgICBmbiA9IHBhX21heWJlX3ByZWZpeF9wYXRoKGZuYW1lLAorKyNpZmRlZiBIQVZFX1JVTk5JTkdfRlJPTV9CVUlMRF9UUkVFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFfcnVuX2Zyb21fYnVpbGRfdHJlZSgpID8gUEFfU1JDRElSICIvbW9kdWxlcy9hbHNhL21peGVyL3Byb2ZpbGUtc2V0cy8iIDoKKysjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQV9BTFNBX1BST0ZJTEVfU0VUU19ESVIpOworIAorICAgICByID0gcGFfY29uZmlnX3BhcnNlKGZuLCBOVUxMLCBpdGVtcywgTlVMTCwgZmFsc2UsIHBzKTsKK2RpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9nY29uZi9tb2R1bGUtZ2NvbmYuYyBiL3NyYy9tb2R1bGVzL2djb25mL21vZHVsZS1nY29uZi5jCitpbmRleCBjMGY0ZGRlLi43NmExZjE5IDEwMDY0NAorLS0tIGEvc3JjL21vZHVsZXMvZ2NvbmYvbW9kdWxlLWdjb25mLmMKKysrKyBiL3NyYy9tb2R1bGVzL2djb25mL21vZHVsZS1nY29uZi5jCitAQCAtNTEsNyArNTEsNyBAQCBpbnQgcGFfX2luaXQocGFfbW9kdWxlKm0pIHsKKyAgICAgdS0+YnVmX2ZpbGwgPSAwOworIAorICAgICBpZiAoKHUtPmZkID0gcGFfc3RhcnRfY2hpbGRfZm9yX3JlYWQoCistI2lmIGRlZmluZWQoX19saW51eF9fKSAmJiAhZGVmaW5lZChfX09QVElNSVpFX18pCisrI2lmIGRlZmluZWQoX19saW51eF9fKSAmJiBkZWZpbmVkKEhBVkVfUlVOTklOR19GUk9NX0JVSUxEX1RSRUUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFfcnVuX2Zyb21fYnVpbGRfdHJlZSgpID8gUEFfQlVJTERESVIgIi9nY29uZi1oZWxwZXIiIDoKKyAjZW5kaWYKKyAgICAgICAgICAgICAgICAgIFBBX0dDT05GX0hFTFBFUiwgTlVMTCwgJnUtPnBpZCkpIDwgMCkKK2RpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9nc2V0dGluZ3MvbW9kdWxlLWdzZXR0aW5ncy5jIGIvc3JjL21vZHVsZXMvZ3NldHRpbmdzL21vZHVsZS1nc2V0dGluZ3MuYworaW5kZXggMzMwZWNhMS4uMjA5Yzg1NyAxMDA2NDQKKy0tLSBhL3NyYy9tb2R1bGVzL2dzZXR0aW5ncy9tb2R1bGUtZ3NldHRpbmdzLmMKKysrKyBiL3NyYy9tb2R1bGVzL2dzZXR0aW5ncy9tb2R1bGUtZ3NldHRpbmdzLmMKK0BAIC01MSw3ICs1MSw3IEBAIGludCBwYV9faW5pdChwYV9tb2R1bGUqbSkgeworICAgICB1LT5idWZfZmlsbCA9IDA7CisgCisgICAgIGlmICgodS0+ZmQgPSBwYV9zdGFydF9jaGlsZF9mb3JfcmVhZCgKKy0jaWYgZGVmaW5lZChfX2xpbnV4X18pICYmICFkZWZpbmVkKF9fT1BUSU1JWkVfXykKKysjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoSEFWRV9SVU5OSU5HX0ZST01fQlVJTERfVFJFRSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYV9ydW5fZnJvbV9idWlsZF90cmVlKCkgPyBQQV9CVUlMRERJUiAiL2dzZXR0aW5ncy1oZWxwZXIiIDoKKyAjZW5kaWYKKyAgICAgICAgICAgICAgICAgIFBBX0dTRVRUSU5HU19IRUxQRVIsIE5VTEwsICZ1LT5waWQpKSA8IDApCitkaWZmIC0tZ2l0IGEvc3JjL3B1bHNlY29yZS9jb3JlLXV0aWwuYyBiL3NyYy9wdWxzZWNvcmUvY29yZS11dGlsLmMKK2luZGV4IDY0ZTlmMjEuLmY4NWRkMjAgMTAwNjQ0CistLS0gYS9zcmMvcHVsc2Vjb3JlL2NvcmUtdXRpbC5jCisrKysgYi9zcmMvcHVsc2Vjb3JlL2NvcmUtdXRpbC5jCitAQCAtMzQzNiwxNSArMzQzNiwxNyBAQCB2b2lkIHBhX3Jlc2V0X3BlcnNvbmFsaXR5KHZvaWQpIHsKKyB9CisgCisgYm9vbCBwYV9ydW5fZnJvbV9idWlsZF90cmVlKHZvaWQpIHsKKy0gICAgY2hhciAqcnA7CisgICAgIHN0YXRpYyBib29sIGIgPSBmYWxzZTsKKyAKKysjaWZkZWYgSEFWRV9SVU5OSU5HX0ZST01fQlVJTERfVFJFRQorKyAgICBjaGFyICpycDsKKyAgICAgUEFfT05DRV9CRUdJTiB7CisgICAgICAgICBpZiAoKHJwID0gcGFfcmVhZGxpbmsoIi9wcm9jL3NlbGYvZXhlIikpKSB7CisgICAgICAgICAgICAgYiA9IHBhX3N0YXJ0c3dpdGgocnAsIFBBX0JVSUxERElSKTsKKyAgICAgICAgICAgICBwYV94ZnJlZShycCk7CisgICAgICAgICB9CisgICAgIH0gUEFfT05DRV9FTkQ7CisrI2VuZGlmCisgCisgICAgIHJldHVybiBiOworIH0KKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW8vMDAwMi1kby1ub3QtZGlzcGxheS1DTEZBR1MtdG8taW1wcm92ZS1yZXByb2R1Y2liaWxpdHktYnVpLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW8vMDAwMi1kby1ub3QtZGlzcGxheS1DTEZBR1MtdG8taW1wcm92ZS1yZXByb2R1Y2liaWxpdHktYnVpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzYWRkNzUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcHVsc2VhdWRpby8wMDAyLWRvLW5vdC1kaXNwbGF5LUNMRkFHUy10by1pbXByb3ZlLXJlcHJvZHVjaWJpbGl0eS1idWkucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSBmMGRkZDdjMzY1NTZhZDA1YzEzOThmZGQxMzI5NDczMjNhZDI2NDczIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCA2IERlYyAyMDE4IDExOjQzOjQxICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBkbyBub3QgZGlzcGxheSBDTEZBR1MgdG8gaW1wcm92ZSByZXByb2R1Y2liaWxpdHkgYnVpbGQKKworTWFjcm8gUEFfQ0ZMQUdTIGNvbnRhaW5zIGJ1aWxkIHBhdGgsIGRvIG5vdCB1c2UgaXQgdG8KK2Rpc3BsYXkgQ0ZMQUdTIHdoaWNoIGNvdWxkIGltcHJvdmUgcmVwcm9kdWNpYmlsaXR5IGJ1aWxkLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2RhZW1vbi9tYWluLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZGFlbW9uL21haW4uYyBiL3NyYy9kYWVtb24vbWFpbi5jCitpbmRleCBjODBmYTk0Li43NTQ5NmJlIDEwMDY0NAorLS0tIGEvc3JjL2RhZW1vbi9tYWluLmMKKysrKyBiL3NyYy9kYWVtb24vbWFpbi5jCitAQCAtOTA4LDcgKzkwOCw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKKyAKKyAgICAgcGFfbG9nX2luZm8oIlRoaXMgaXMgUHVsc2VBdWRpbyAlcyIsIFBBQ0tBR0VfVkVSU0lPTik7CisgICAgIHBhX2xvZ19kZWJ1ZygiQ29tcGlsYXRpb24gaG9zdDogJXMiLCBDQU5PTklDQUxfSE9TVCk7CistICAgIHBhX2xvZ19kZWJ1ZygiQ29tcGlsYXRpb24gQ0ZMQUdTOiAlcyIsIFBBX0NGTEFHUyk7CisrICAgIHBhX2xvZ19kZWJ1ZygiQ29tcGlsYXRpb24gQ0ZMQUdTOiAqKioiKTsKKyAKKyAjaWZkZWYgSEFWRV9MSUJTQU1QTEVSQVRFCisgICAgIHBhX2xvZ193YXJuKCJDb21waWxlZCB3aXRoIERFUFJFQ0FURUQgbGlic2FtcGxlcmF0ZSBzdXBwb3J0ISIpOworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcHVsc2VhdWRpb18xMi4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW9fMTIuMi5iYgppbmRleCAzNmQ5MmJjLi5jMDIwZmJkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcHVsc2VhdWRpb18xMi4yLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvcHVsc2VhdWRpby9wdWxzZWF1ZGlvXzEyLjIuYmIKQEAgLTIsNiArMiw4IEBACiAKIFNSQ19VUkkgPSAiaHR0cDovL2ZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS9wdWxzZWF1ZGlvL3JlbGVhc2VzLyR7QlB9LnRhci54eiBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNsaWVudC1jb25mLUFkZC1hbGxvdy1hdXRvc3Bhd24tZm9yLXJvb3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1pbnRyb2R1Y2UtYS1zcGVjaWFsLWJ1aWxkLWZsYWctdG8tZXhwbGljaXRseS1kaXNhYmxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItZG8tbm90LWRpc3BsYXktQ0xGQUdTLXRvLWltcHJvdmUtcmVwcm9kdWNpYmlsaXR5LWJ1aS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly92b2xhdGlsZXMuMDRfcHVsc2UgXAogICAgICAgICAgICAiCiBTUkNfVVJJW21kNXN1bV0gPSAiYzQyZjFmMTQ2NWU4ZGY5ODU5ZDAyM2RjMTg0NzM0YmYiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3NiYy9zYmNfMS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9zYmMvc2JjXzEuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmJiODk1ZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3NiYy9zYmNfMS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotU1VNTUFSWSA9ICJTQkMgQXVkaW8gQ29kZWMiCi1ERVNDUklQVElPTiA9ICJCbHVldG9vdGggbG93LWNvbXBsZXhpdHksIHN1YmJhbmQgY29kZWMgKFNCQykgbGlicmFyeS4iCi1IT01FUEFHRSA9ICJodHRwczovL3d3dy5ibHVlei5vcmciCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2Mi4xKyIKLUxJQ0VOU0VfJHtQTn0gPSAiTEdQTHYyLjErIgotTElDRU5TRV8ke1BOfS1leGFtcGxlcyA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xMmY4ODRkMmFlMWZmODdjMDllNWI3Y2NjMmM0Y2E3ZSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9ZmI1MDRiNjdjNTAzMzFmYzc4NzM0ZmVkOTBmYjBlMDkgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3NiY2VuYy5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjQ7bWQ1PTA4ZTdhNzBiMTI3ZjQxMDBmZjJjZDdkNjI5MTQ3ZDhkIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NiYy9zYmMuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTI2O21kNT0wZjU3ZDBkZjIyYjBkNDA3NDZiZGQyOTgwNWE0MzYxYiIKLQotREVQRU5EUyA9ICJsaWJzbmRmaWxlMSIKLQotU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L2JsdWV0b290aC8ke0JQfS50YXIueHoiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIyZDhiNzg0MWYyYzExYWIyODc3MThkNTYyZjJiOTgxYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlNjEwMjJjZjU3NmYxNDE5MDI0MWU3MDcxNzUzZmRhY2RjZTVkMWRlYTg5ZmZkNzA0MTEwZmM1MGJlNjg5MzA5IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotUEFDS0FHRVMgPSsgIiR7UE59LWV4YW1wbGVzIgotRklMRVNfJHtQTn0tZXhhbXBsZXMgKz0gIiR7YmluZGlyfS8qIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9zYmMvc2JjXzEuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvc2JjL3NiY18xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc0ZDc3ZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvc2JjL3NiY18xLjQuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJTQkMgQXVkaW8gQ29kZWMiCitERVNDUklQVElPTiA9ICJCbHVldG9vdGggbG93LWNvbXBsZXhpdHksIHN1YmJhbmQgY29kZWMgKFNCQykgbGlicmFyeS4iCitIT01FUEFHRSA9ICJodHRwczovL3d3dy5ibHVlei5vcmciCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2Mi4xKyIKK0xJQ0VOU0VfJHtQTn0gPSAiTEdQTHYyLjErIgorTElDRU5TRV8ke1BOfS1leGFtcGxlcyA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xMmY4ODRkMmFlMWZmODdjMDllNWI3Y2NjMmM0Y2E3ZSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9ZmI1MDRiNjdjNTAzMzFmYzc4NzM0ZmVkOTBmYjBlMDkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3NiY2VuYy5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjQ7bWQ1PTA4ZTdhNzBiMTI3ZjQxMDBmZjJjZDdkNjI5MTQ3ZDhkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NiYy9zYmMuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTI2O21kNT0wZjU3ZDBkZjIyYjBkNDA3NDZiZGQyOTgwNWE0MzYxYiIKKworREVQRU5EUyA9ICJsaWJzbmRmaWxlMSIKKworU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L2JsdWV0b290aC8ke0JQfS50YXIueHoiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4MDBmYjA5MDg4OTliYWE0OGRjMjE2ZDhlMTU2Y2MwNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1MThiZjQ2ZTZiYjNkYzgwOGE5NWUxZWFiYWQyNmZkZWJlOGEwOTljMWU3ODFjMjdlZDdmY2E2YzJmNGE1NGM5IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUEFDS0FHRVMgPSsgIiR7UE59LWV4YW1wbGVzIgorRklMRVNfJHtQTn0tZXhhbXBsZXMgKz0gIiR7YmluZGlyfS8qIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJwL2xpYndlYnBfMS4wLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYnAvbGlid2VicF8xLjAuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWE5Njc5Zi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYnAvbGlid2VicF8xLjAuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLVNVTU1BUlkgPSAiV2ViUCBpcyBhbiBpbWFnZSBmb3JtYXQgZGVzaWduZWQgZm9yIHRoZSBXZWIiCi1ERVNDUklQVElPTiA9ICJXZWJQIGlzIGEgbWV0aG9kIG9mIGxvc3N5IGFuZCBsb3NzbGVzcyBjb21wcmVzc2lvbiB0aGF0IGNhbiBiZSBcCi0gICAgICAgICAgICAgICB1c2VkIG9uIGEgbGFyZ2UgdmFyaWV0eSBvZiBwaG90b2dyYXBoaWMsIHRyYW5zbHVjZW50IGFuZCBcCi0gICAgICAgICAgICAgICBncmFwaGljYWwgaW1hZ2VzIGZvdW5kIG9uIHRoZSB3ZWIuIFRoZSBkZWdyZWUgb2YgbG9zc3kgXAotICAgICAgICAgICAgICAgY29tcHJlc3Npb24gaXMgYWRqdXN0YWJsZSBzbyBhIHVzZXIgY2FuIGNob29zZSB0aGUgdHJhZGUtb2ZmIFwKLSAgICAgICAgICAgICAgIGJldHdlZW4gZmlsZSBzaXplIGFuZCBpbWFnZSBxdWFsaXR5LiBXZWJQIHR5cGljYWxseSBhY2hpZXZlcyBcCi0gICAgICAgICAgICAgICBhbiBhdmVyYWdlIG9mIDMwJSBtb3JlIGNvbXByZXNzaW9uIHRoYW4gSlBFRyBhbmQgSlBFRyAyMDAwLCBcCi0gICAgICAgICAgICAgICB3aXRob3V0IGxvc3Mgb2YgaW1hZ2UgcXVhbGl0eS4iCi1IT01FUEFHRSA9ICJodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9zcGVlZC93ZWJwLyIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02ZThkZWU5MzJjMjZmMmRhYjUwM2FiZjcwYzk2ZDhiYiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9QQVRFTlRTO21kNT1jNjkyNmQwY2IwN2QyOTZmODg2YWI2ZTBjYzVhODViNyIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLndlYm1wcm9qZWN0Lm9yZy9yZWxlYXNlcy93ZWJwLyR7QlB9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI5NjdiOGYwODdjYjM5MmU2Y2M5NGQ1ZTExNmExMjBjMCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4NDI1OWM0Mzg4ZjE4NjM3YWYzYzVhNjM2MTUzNmQ3NTRhNTM5NDQ5MmY5MWJlMWFiYzJlOTgxZDQ5ODMyMjViIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL2Rvd25sb2Fkcy53ZWJtcHJvamVjdC5vcmcvcmVsZWFzZXMvd2VicC9pbmRleC5odG1sIgotCi1FWFRSQV9PRUNPTkYgPSAiIFwKLSAgICAtLWRpc2FibGUtd2ljIFwKLSAgICAtLWVuYWJsZS1saWJ3ZWJwbXV4IFwKLSAgICAtLWVuYWJsZS1saWJ3ZWJwZGVtdXggXAotICAgIC0tZW5hYmxlLXRocmVhZGluZyBcCi0iCi0jIERvIG5vdCB0cnVzdCBjb25maWd1cmUgdG8gZGV0ZXJtaW5lIGlmIG5lb24gaXMgYXZhaWxhYmxlLgotIwotRVhUUkFfT0VDT05GX2FwcGVuZF9hcm0gPSAiIFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsIm5lb24iLCItLWVuYWJsZS1uZW9uIiwiLS1kaXNhYmxlLW5lb24iLGQpfSBcCi0iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIiCi0KLSMgbGlid2VicGRlY29kZXIgaXMgYSBzdWJzZXQgb2YgbGlid2VicCwgZG9uJ3QgYnVpbGQgaXQgdW5sZXNzIHJlcXVlc3RlZAotUEFDS0FHRUNPTkZJR1tkZWNvZGVyXSA9ICItLWVuYWJsZS1saWJ3ZWJwZGVjb2RlciwtLWRpc2FibGUtbGlid2VicGRlY29kZXIiCi0KLSMgQXBwbHkgZm9yIGV4YW1wbGVzIHByb2dyYW1zOiBjd2VicCBhbmQgZHdlYnAKLVBBQ0tBR0VDT05GSUdbZ2lmXSA9ICItLWVuYWJsZS1naWYsLS1kaXNhYmxlLWdpZixnaWZsaWIiCi1QQUNLQUdFQ09ORklHW2pwZWddID0gIi0tZW5hYmxlLWpwZWcsLS1kaXNhYmxlLWpwZWcsanBlZyIKLVBBQ0tBR0VDT05GSUdbcG5nXSA9ICItLWVuYWJsZS1wbmcsLS1kaXNhYmxlLXBuZywsbGlicG5nIgotUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItLWVuYWJsZS10aWZmLC0tZGlzYWJsZS10aWZmLHRpZmYiCi0KLSMgQXBwbHkgb25seSBmb3IgZXhhbXBsZSBwcm9ncmFtIHZ3ZWJwCi1QQUNLQUdFQ09ORklHW2dsXSA9ICItLWVuYWJsZS1nbCwtLWRpc2FibGUtZ2wsbWVzYS1nbHV0IgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tZ2lmMndlYnAiCi0KLURFU0NSSVBUSU9OXyR7UE59LWdpZjJ3ZWJwID0gIlNpbXBsZSB0b29sIHRvIGNvbnZlcnQgYW5pbWF0ZWQgR0lGcyB0byBXZWJQIgotRklMRVNfJHtQTn0tZ2lmMndlYnAgPSAiJHtiaW5kaXJ9L2dpZjJ3ZWJwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJwL2xpYndlYnBfMS4wLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYnAvbGlid2VicF8xLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjNmZmUwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJwL2xpYndlYnBfMS4wLjIuYmIKQEAgLTAsMCArMSw1MyBAQAorU1VNTUFSWSA9ICJXZWJQIGlzIGFuIGltYWdlIGZvcm1hdCBkZXNpZ25lZCBmb3IgdGhlIFdlYiIKK0RFU0NSSVBUSU9OID0gIldlYlAgaXMgYSBtZXRob2Qgb2YgbG9zc3kgYW5kIGxvc3NsZXNzIGNvbXByZXNzaW9uIHRoYXQgY2FuIGJlIFwKKyAgICAgICAgICAgICAgIHVzZWQgb24gYSBsYXJnZSB2YXJpZXR5IG9mIHBob3RvZ3JhcGhpYywgdHJhbnNsdWNlbnQgYW5kIFwKKyAgICAgICAgICAgICAgIGdyYXBoaWNhbCBpbWFnZXMgZm91bmQgb24gdGhlIHdlYi4gVGhlIGRlZ3JlZSBvZiBsb3NzeSBcCisgICAgICAgICAgICAgICBjb21wcmVzc2lvbiBpcyBhZGp1c3RhYmxlIHNvIGEgdXNlciBjYW4gY2hvb3NlIHRoZSB0cmFkZS1vZmYgXAorICAgICAgICAgICAgICAgYmV0d2VlbiBmaWxlIHNpemUgYW5kIGltYWdlIHF1YWxpdHkuIFdlYlAgdHlwaWNhbGx5IGFjaGlldmVzIFwKKyAgICAgICAgICAgICAgIGFuIGF2ZXJhZ2Ugb2YgMzAlIG1vcmUgY29tcHJlc3Npb24gdGhhbiBKUEVHIGFuZCBKUEVHIDIwMDAsIFwKKyAgICAgICAgICAgICAgIHdpdGhvdXQgbG9zcyBvZiBpbWFnZSBxdWFsaXR5LiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3NwZWVkL3dlYnAvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTZlOGRlZTkzMmMyNmYyZGFiNTAzYWJmNzBjOTZkOGJiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL1BBVEVOVFM7bWQ1PWM2OTI2ZDBjYjA3ZDI5NmY4ODZhYjZlMGNjNWE4NWI3IgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMud2VibXByb2plY3Qub3JnL3JlbGVhc2VzL3dlYnAvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjAyYzBjNTVmMWRkODYxMmNkNGQ0NjJlMzQwOWFkMzVkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNkNDdiNDhjNDBlZDY0NzZlODA0N2IyZGRiODFkOTM4MzVlMGNhMWI4ZDNlOGM2NzlhZmJiMzAwNGRkNTY0YjEiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLndlYm1wcm9qZWN0Lm9yZy9yZWxlYXNlcy93ZWJwL2luZGV4Lmh0bWwiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS13aWMgXAorICAgIC0tZW5hYmxlLWxpYndlYnBtdXggXAorICAgIC0tZW5hYmxlLWxpYndlYnBkZW11eCBcCisgICAgLS1lbmFibGUtdGhyZWFkaW5nIFwKKyIKKyMgRG8gbm90IHRydXN0IGNvbmZpZ3VyZSB0byBkZXRlcm1pbmUgaWYgbmVvbiBpcyBhdmFpbGFibGUuCisjCitFWFRSQV9PRUNPTkZfYXBwZW5kX2FybSA9ICIgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwibmVvbiIsIi0tZW5hYmxlLW5lb24iLCItLWRpc2FibGUtbmVvbiIsZCl9IFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKKworIyBsaWJ3ZWJwZGVjb2RlciBpcyBhIHN1YnNldCBvZiBsaWJ3ZWJwLCBkb24ndCBidWlsZCBpdCB1bmxlc3MgcmVxdWVzdGVkCitQQUNLQUdFQ09ORklHW2RlY29kZXJdID0gIi0tZW5hYmxlLWxpYndlYnBkZWNvZGVyLC0tZGlzYWJsZS1saWJ3ZWJwZGVjb2RlciIKKworIyBBcHBseSBmb3IgZXhhbXBsZXMgcHJvZ3JhbXM6IGN3ZWJwIGFuZCBkd2VicAorUEFDS0FHRUNPTkZJR1tnaWZdID0gIi0tZW5hYmxlLWdpZiwtLWRpc2FibGUtZ2lmLGdpZmxpYiIKK1BBQ0tBR0VDT05GSUdbanBlZ10gPSAiLS1lbmFibGUtanBlZywtLWRpc2FibGUtanBlZyxqcGVnIgorUEFDS0FHRUNPTkZJR1twbmddID0gIi0tZW5hYmxlLXBuZywtLWRpc2FibGUtcG5nLCxsaWJwbmciCitQQUNLQUdFQ09ORklHW3RpZmZdID0gIi0tZW5hYmxlLXRpZmYsLS1kaXNhYmxlLXRpZmYsdGlmZiIKKworIyBBcHBseSBvbmx5IGZvciBleGFtcGxlIHByb2dyYW0gdndlYnAKK1BBQ0tBR0VDT05GSUdbZ2xdID0gIi0tZW5hYmxlLWdsLC0tZGlzYWJsZS1nbCxtZXNhLWdsdXQiCisKK1BBQ0tBR0VTID0rICIke1BOfS1naWYyd2VicCIKKworREVTQ1JJUFRJT05fJHtQTn0tZ2lmMndlYnAgPSAiU2ltcGxlIHRvb2wgdG8gY29udmVydCBhbmltYXRlZCBHSUZzIHRvIFdlYlAiCitGSUxFU18ke1BOfS1naWYyd2VicCA9ICIke2JpbmRpcn0vZ2lmMndlYnAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3gyNjQveDI2NF9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3gyNjQveDI2NF9naXQuYmIKaW5kZXggNDE3NGNiMi4uMzRjN2RjNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS94MjY0L3gyNjRfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEveDI2NC94MjY0X2dpdC5iYgpAQCAtMTQsMTYgKzE0LDE2IEBACiAgICAgICAgICAgICIKIFVQU1RSRUFNX0NIRUNLX0NPTU1JVFMgPSAiMSIKIAotU1JDUkVWID0gImU5YTU5MDNlZGY4Y2E1OWVmMjBlNmY0ODk0YzE5NmYxMzVhZjczNWUiCitTUkNSRVYgPSAiMGE4NGQ5ODZlNzAyMGY4MzQ0ZjAwNzUyZTM2MDBiOTc2OWNjMWU4NSIKIAotUFYgPSAicjI4NTQrZ2l0JHtTUkNQVn0iCitQViA9ICJyMjkxNytnaXQke1NSQ1BWfSIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIAotaW5oZXJpdCBsaWJfcGFja2FnZSBwa2djb25maWcgcGVybG5hdGl2ZQoraW5oZXJpdCBsaWJfcGFja2FnZSBwa2djb25maWcKIAogWDI2NF9ESVNBQkxFX0FTTSA9ICIiCi1YMjY0X0RJU0FCTEVfQVNNX3g4Nl9saWJjLW11c2wgPSAiLS1kaXNhYmxlLWFzbSIKK1gyNjRfRElTQUJMRV9BU01feDg2ID0gIi0tZGlzYWJsZS1hc20iCiBYMjY0X0RJU0FCTEVfQVNNX2FybXY0ID0gIi0tZGlzYWJsZS1hc20iCiBYMjY0X0RJU0FCTEVfQVNNX2FybXY1ID0gIi0tZGlzYWJsZS1hc20iCiBYMjY0X0RJU0FCTEVfQVNNX3Bvd2VycGMgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAic3BlIiwgIi0tZGlzYWJsZS1hc20iLCAiIiwgZCl9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9pbWFnZXMvY29yZS1pbWFnZS1zYXRvLXNkay1wdGVzdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vaW1hZ2VzL2NvcmUtaW1hZ2Utc2F0by1zZGstcHRlc3QuYmIKaW5kZXggNTMxNTcxZS4uMTAyN2VjMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9pbWFnZXMvY29yZS1pbWFnZS1zYXRvLXNkay1wdGVzdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL2ltYWdlcy9jb3JlLWltYWdlLXNhdG8tc2RrLXB0ZXN0LmJiCkBAIC00LDggKzQsMTIgQEAKIAogSU1BR0VfRkVBVFVSRVMgKz0gInB0ZXN0LXBrZ3MiCiAKLSMgVGhpcyBpbWFnZSBpcyBzdWZmaWNpZW50bHkgbGFyZ2UgKH4zR0IpIHRoYXQgaXQgY2FuJ3QgYWN0dWFsbHkgZml0IGluIGEgbGl2ZQorIyBUaGlzIGltYWdlIGlzIHN1ZmZpY2llbnRseSBsYXJnZSAofjEuOEdCKSB0aGF0IHdlIG5lZWQgdG8gYmUgY2FyZWZ1bCB0aGF0IGl0IGZpdHMgaW4gYSBsaXZlCiAjIGltYWdlICh3aGljaCBoYXMgYSA0R0IgbGltaXQpLCBzbyBudWxsaWZ5IHRoZSBvdmVyaGVhZCBmYWN0b3IgKDEuM3ggb3V0IG9mIHRoZQotIyBib3gpIGFuZCBleHBsaWNpdGx5IGFkZCBqdXN0IDUwME1CLgorIyBib3gpIGFuZCBleHBsaWNpdGx5IGFkZCBqdXN0IDE1MDBNQi4KKyMgc3RyYWNlLXB0ZXN0IGluIHBhcnRpY3VsYXIgbmVlZHMgbW9yZSB0aGFuIDUwME1CCiBJTUFHRV9PVkVSSEVBRF9GQUNUT1IgPSAiMS4wIgotSU1BR0VfUk9PVEZTX0VYVFJBX1NQQUNFID0gIjUyNDI4OCIKK0lNQUdFX1JPT1RGU19FWFRSQV9TUEFDRSA9ICIxNTI0Mjg4IgorCisjIHB0ZXN0cyBuZWVkIG1vcmUgbWVtb3J5IHRoYW4gc3RhbmRhcmQgdG8gYXZvaWQgdGhlIE9PTSBraWxsZXIKK1FCX01FTSA9ICItbSAxMDI0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wY21hbmZtL3BjbWFuZm1fMS4zLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3BjbWFuZm0vcGNtYW5mbV8xLjMuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzU2ZGEwMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3BjbWFuZm0vcGNtYW5mbV8xLjMuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLVNVTU1BUlkgPSAiRmFzdCBsaWdodHdlaWdodCB0YWJiZWQgZmlsZW1hbmFnZXIiCi1IT01FUEFHRSA9ICJodHRwOi8vcGNtYW5mbS5zb3VyY2Vmb3JnZS5uZXQvIgotCi1MSUNFTlNFID0gIkdQTHYyICYgR1BMdjIrICYgTEdQTHYyLjErIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3BjbWFuZm0uaDtlbmRsaW5lPTIyO21kNT00MTdiMzg1NTc3MWEzYTg3ZjhhZDc1M2Q5OTQ0OTFmMCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZ3NlYWwtZ3RrLWNvbXBhdC5oO2VuZGxpbmU9MjE7bWQ1PTQ2OTIyYzg2OTFmNThkMTI0Zjk0MjBmZTE2MTQ5Y2UyIgotCi1TRUNUSU9OID0gIngxMSIKLURFUEVORFMgPSAiZ3RrKzMgc3RhcnR1cC1ub3RpZmljYXRpb24gbGliZm0gaW50bHRvb2wtbmF0aXZlIGdldHRleHQtbmF0aXZlIGdsaWItMi4wLW5hdGl2ZSIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcGNtYW5mbS9wY21hbmZtLSR7UFZ9LnRhci54eiBcCi0JICAgZmlsZTovL2dub21lLWZzLWRpcmVjdG9yeS5wbmcgXAotCSAgIGZpbGU6Ly9nbm9tZS1mcy1yZWd1bGFyLnBuZyBcCi0JICAgZmlsZTovL2dub21lLW1pbWUtdGV4dC1wbGFpbi5wbmcgXAotCSAgIGZpbGU6Ly9lbWJsZW0tc3ltYm9saWMtbGluay5wbmcgXAotCSAgIGZpbGU6Ly9uby1kZXNrdG9wLnBhdGNoIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiODI3ODM4ZjdmNmIxN2RjOTdlMTY5MGMwN2RhOGZkYjMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWE2OTNlOWJmM2YzMjk0ZjBlZTcyNjRjMWMxYTYwMGE4OGVlMjdkMTU3MmU3ZGQ1YzRiMGU4NGFhNzc3OGZmYiIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvcGNtYW5mbS9maWxlcy9QQ01hbkZNJTIwJTJCJTIwTGliZm0lMjAlMjh0YXJiYWxsJTIwcmVsZWFzZSUyOS9QQ01hbkZNLyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi0jIFRoZSBzdGFydHVwLW5vdGlmaWNhdGlvbiByZXF1aXJlcyB4MTEgaW4gRElTVFJPX0ZFQVRVUkVTCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1FWFRSQV9PRUNPTkYgPSAiLS13aXRoLWd0az0zIgotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0JaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0KLQlpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfS9waXhtYXBzLwotCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vKi5wbmcgJHtEfS8ke2RhdGFkaXJ9L3BpeG1hcHMKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9wY21hbmZtIgotCi1SUkVDT01NRU5EU18ke1BOfSArPSAiYWR3YWl0YS1pY29uLXRoZW1lIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wY21hbmZtL3BjbWFuZm1fMS4zLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3BjbWFuZm0vcGNtYW5mbV8xLjMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNWUzYTFhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wY21hbmZtL3BjbWFuZm1fMS4zLjEuYmIKQEAgLTAsMCArMSw0MCBAQAorU1VNTUFSWSA9ICJGYXN0IGxpZ2h0d2VpZ2h0IHRhYmJlZCBmaWxlbWFuYWdlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9wY21hbmZtLnNvdXJjZWZvcmdlLm5ldC8iCisKK0xJQ0VOU0UgPSAiR1BMdjIgJiBHUEx2MisgJiBMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvcGNtYW5mbS5oO2VuZGxpbmU9MjI7bWQ1PTQxN2IzODU1NzcxYTNhODdmOGFkNzUzZDk5NDQ5MWYwIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9nc2VhbC1ndGstY29tcGF0Lmg7ZW5kbGluZT0yMTttZDU9NDY5MjJjODY5MWY1OGQxMjRmOTQyMGZlMTYxNDljZTIiCisKK1NFQ1RJT04gPSAieDExIgorREVQRU5EUyA9ICJndGsrMyBzdGFydHVwLW5vdGlmaWNhdGlvbiBsaWJmbSBpbnRsdG9vbC1uYXRpdmUgZ2V0dGV4dC1uYXRpdmUgZ2xpYi0yLjAtbmF0aXZlIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wY21hbmZtL3BjbWFuZm0tJHtQVn0udGFyLnh6IFwKKwkgICBmaWxlOi8vZ25vbWUtZnMtZGlyZWN0b3J5LnBuZyBcCisJICAgZmlsZTovL2dub21lLWZzLXJlZ3VsYXIucG5nIFwKKwkgICBmaWxlOi8vZ25vbWUtbWltZS10ZXh0LXBsYWluLnBuZyBcCisJICAgZmlsZTovL2VtYmxlbS1zeW1ib2xpYy1saW5rLnBuZyBcCisJICAgZmlsZTovL25vLWRlc2t0b3AucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMzJhZDJjOWM3YzUyYmZmMjAwNGJiYzEyMGI1MzQyMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ODA0MDQzYjNlZTNhNzAzZWRkZTQxYzcyNDk0NjE3NGI1MDVmZTk1ODcwM2VhZGJkN2UwODc2ZWNlODM2ODU1IgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9wY21hbmZtL2ZpbGVzL1BDTWFuRk0lMjAlMkIlMjBMaWJmbSUyMCUyOHRhcmJhbGwlMjByZWxlYXNlJTI5L1BDTWFuRk0vIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKKyMgVGhlIHN0YXJ0dXAtbm90aWZpY2F0aW9uIHJlcXVpcmVzIHgxMSBpbiBESVNUUk9fRkVBVFVSRVMKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtZ3RrPTMiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKwlpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfQorCWluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L3BpeG1hcHMvCisKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS8qLnBuZyAke0R9LyR7ZGF0YWRpcn0vcGl4bWFwcworfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3BjbWFuZm0iCisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJhZHdhaXRhLWljb24tdGhlbWUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3B1enpsZXMvZmlsZXMvMDAwMS1wYXR0ZXJuLmMtQ2hhbmdlLXN0cmluZy1sZW5naHQtcGFyYW1ldGVyLXRvLWJlLXNpemVfLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wdXp6bGVzL2ZpbGVzLzAwMDEtcGF0dGVybi5jLUNoYW5nZS1zdHJpbmctbGVuZ2h0LXBhcmFtZXRlci10by1iZS1zaXplXy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YWM2MjAxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wdXp6bGVzL2ZpbGVzLzAwMDEtcGF0dGVybi5jLUNoYW5nZS1zdHJpbmctbGVuZ2h0LXBhcmFtZXRlci10by1iZS1zaXplXy5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDAzNTQ2N2FhMGFiZmJjMGRlN2U1ZDI0NTQzZDRhYWIzNzMwMTU5M2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVGh1LCA3IE1hciAyMDE5IDIxOjU2OjU3IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIHBhdHRlcm4uYzogQ2hhbmdlIHN0cmluZyBsZW5naHQgcGFyYW1ldGVyIHRvIGJlIHNpemVfdCBpbgorIGRvX3JvdygpCisKK1RoaXMgZml4ZXMgYmVsb3cgZXJyb3Igb24gc29tZSBhcmNoaXRlY3R1cmVzIGUuZy4gUklTQy1WCisKK3BhdHRlcm4uYzo0NTU6OTogZXJyb3I6ICdtZW1zZXQnIHNwZWNpZmllZCBzaXplIGJldHdlZW4gMTg0NDY3NDQwNzE1NjIwNjc5NjggYW5kIDE4NDQ2NzQ0MDczNzA5NTUxNjE1IGV4Y2VlZHMgbWF4aW11bSBvYmplY3Qgc2l6ZSA5MjIzMzcyMDM2ODU0Nzc1ODA3IFstV2Vycm9yPXN0cmluZ29wLW92ZXJmbG93PV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NTUgfCAgICAgICAgIG1lbXNldChkZWR1Y2VkLCBET1QsIChzaXplX3QpbGVuKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBwYXR0ZXJuLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9wYXR0ZXJuLmMgYi9wYXR0ZXJuLmMKK2luZGV4IDQ1YjFiMGMuLmY3M2E0YzIgMTAwNjQ0CistLS0gYS9wYXR0ZXJuLmMKKysrKyBiL3BhdHRlcm4uYworQEAgLTQyOCw3ICs0MjgsNyBAQCBzdGF0aWMgaW50IGRvX3Jvdyh1bnNpZ25lZCBjaGFyICprbm93biwgdW5zaWduZWQgY2hhciAqZGVkdWNlZCwKKyAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpyb3csCisgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqbWlucG9zX2RvbmUsIHVuc2lnbmVkIGNoYXIgKm1heHBvc19kb25lLAorIAkJICB1bnNpZ25lZCBjaGFyICptaW5wb3Nfb2ssIHVuc2lnbmVkIGNoYXIgKm1heHBvc19vaywKKy0gICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpzdGFydCwgaW50IGxlbiwgaW50IHN0ZXAsIGludCAqZGF0YSwKKysgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpzdGFydCwgc2l6ZV90IGxlbiwgaW50IHN0ZXAsIGludCAqZGF0YSwKKyAJCSAgdW5zaWduZWQgaW50ICpjaGFuZ2VkCisgI2lmZGVmIFNUQU5EQUxPTkVfU09MVkVSCisgCQkgICwgY29uc3QgY2hhciAqcm93Y29sLCBpbnQgaW5kZXgsIGludCBjbHVld2lkCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3B1enpsZXMvZmlsZXMvZml4LWtpLXVuaW5pdGlhbGl6ZWQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3B1enpsZXMvZmlsZXMvZml4LWtpLXVuaW5pdGlhbGl6ZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzIxOGQ2MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vcHV6emxlcy9maWxlcy9maXgta2ktdW5pbml0aWFsaXplZC5wYXRjaApAQCAtMCwwICsxLDI1IEBACitwdXp6bGVzOiBhdm9pZCBjb21waWxlciB1bml0aWFsaXplZCB2YXJpYWJsZSBlcnJvcgorCitUaGUgY29tcGlsZXIgZG9lcyBub3QgcmVhbGl6ZSB0aGF0IHdlIG11c3QgZ28gdGhyb3VnaCB0aGUgd2hpbGUoKQorbG9vcCBhdCBsZWFzdCBvbmNlLCBzbyB3ZSByZXBsYWNlIGl0IHdpdGggYSBmb3IoKSBsb29wLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tPgorCistLS0gYS90cmVlMjM0LmMKKysrKyBiL3RyZWUyMzQuYworQEAgLTMyNiw4ICszMjYsMTEgQEAgc3RhdGljIHZvaWQgKmFkZDIzNF9pbnRlcm5hbCh0cmVlMjM0ICp0LAorIAlyZXR1cm4gb3JpZ19lOworICAgICB9CisgCistICAgIG4gPSB0LT5yb290OworLSAgICB3aGlsZSAobikgeworKyAgICAvKgorKyAgICAgKiBXZSBrbm93IHQtPnJvb3QgaXMgbm90IE5VTEwuICBUaGUgbG9naWMKKysgICAgICogdG8gYnJlYWsgb3V0IG9mIHRoaXMgaXMgYXQgdGhlIGVuZCBvZiB0aGUgbG9vcC4KKysgICAgICovCisrICAgIGZvciAobiA9IHQtPnJvb3Q7OykgeworIAlMT0coKCIgIG5vZGUgJXA6ICVwLyVkIFwiJXNcIiAlcC8lZCBcIiVzXCIgJXAvJWQgXCIlc1wiICVwLyVkXG4iLAorIAkgICAgIG4sCisgCSAgICAgbi0+a2lkc1swXSwgbi0+Y291bnRzWzBdLCBuLT5lbGVtc1swXSwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vcHV6emxlcy9wdXp6bGVzX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vcHV6emxlcy9wdXp6bGVzX2dpdC5iYgppbmRleCA3ZDA4Yjk2Li41OWI5NTI1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3B1enpsZXMvcHV6emxlc19naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wdXp6bGVzL3B1enpsZXNfZ2l0LmJiCkBAIC0xMyw2ICsxMyw4IEBACiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1sYWJzLWluc3RlYWQtb2YtYWJzLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtcGFsaXNhZGUtRml4LXdhcm5pbmdzLXdpdGgtY2xhbmctb24tYXJtLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLVduby1lcnJvci1mb3JtYXQtb3ZlcmZsb3ctaWYtdGhlLWNvbXBpbGVyLXN1cHBvci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXBhdHRlcm4uYy1DaGFuZ2Utc3RyaW5nLWxlbmdodC1wYXJhbWV0ZXItdG8tYmUtc2l6ZV8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LWtpLXVuaW5pdGlhbGl6ZWQucGF0Y2ggXAogICAgICAgICAgICAiCiAKIFVQU1RSRUFNX0NIRUNLX0NPTU1JVFMgPSAiMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLUZpeC1QYWludGluZ0RhdGEtaGFzLW5vLW1lbWJlci1uYW1lZC1saWdodFZlY3Rvci1vbi0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAwMS1GaXgtUGFpbnRpbmdEYXRhLWhhcy1uby1tZW1iZXItbmFtZWQtbGlnaHRWZWN0b3Itb24tLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNWY0ODQ2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLUZpeC1QYWludGluZ0RhdGEtaGFzLW5vLW1lbWJlci1uYW1lZC1saWdodFZlY3Rvci1vbi0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1Gcm9tIGE1ZDRlMDM4MjY4YWUyMzQ4NmZlY2MxOTY2ZmQyZTE2YTdmNDBjZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDI1IEp1bCAyMDE4IDAwOjIzOjQ4IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBQYWludGluZ0RhdGEnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2xpZ2h0VmVjdG9yJyBvbgotIEFSTV9ORU9OCi0KLSogcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmg6Ci0oV2ViQ29yZTo6RkVMaWdodGluZzo6cGxhdGZvcm1BcHBseU5lb24pOgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAotaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Nzk5MQotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdodGluZ05FT04uaCB8IDYgKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUxpZ2h0aW5nTkVPTi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmgKLWluZGV4IDQyYWY5MjIuLmI1NDJhNGMgMTAwNjQ0Ci0tLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdodGluZ05FT04uaAotKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmgKLUBAIC0xNDQsOSArMTQ0LDkgQEAgaW5saW5lIHZvaWQgRkVMaWdodGluZzo6cGxhdGZvcm1BcHBseU5lb24oY29uc3QgTGlnaHRpbmdEYXRhJiBkYXRhLCBjb25zdCBMaWdodFMKLSAgICAgICAgICAgICBuZW9uRGF0YS5mbGFncyB8PSBGTEFHX0NPTkVfRVhQT05FTlRfSVNfMTsKLSAgICAgfSBlbHNlIHsKLSAgICAgICAgIEFTU0VSVChtX2xpZ2h0U291cmNlLT50eXBlKCkgPT0gTFNfRElTVEFOVCk7Ci0tICAgICAgICBmbG9hdEFyZ3VtZW50cy5saWdodFggPSBwYWludGluZ0RhdGEubGlnaHRWZWN0b3IueCgpOwotLSAgICAgICAgZmxvYXRBcmd1bWVudHMubGlnaHRZID0gcGFpbnRpbmdEYXRhLmxpZ2h0VmVjdG9yLnkoKTsKLS0gICAgICAgIGZsb2F0QXJndW1lbnRzLmxpZ2h0WiA9IHBhaW50aW5nRGF0YS5saWdodFZlY3Rvci56KCk7Ci0rICAgICAgICBmbG9hdEFyZ3VtZW50cy5saWdodFggPSBwYWludGluZ0RhdGEuaW5pdGlhbExpZ2h0aW5nRGF0YS5saWdodFZlY3Rvci54KCk7Ci0rICAgICAgICBmbG9hdEFyZ3VtZW50cy5saWdodFkgPSBwYWludGluZ0RhdGEuaW5pdGlhbExpZ2h0aW5nRGF0YS5saWdodFZlY3Rvci55KCk7Ci0rICAgICAgICBmbG9hdEFyZ3VtZW50cy5saWdodFogPSBwYWludGluZ0RhdGEuaW5pdGlhbExpZ2h0aW5nRGF0YS5saWdodFZlY3Rvci56KCk7Ci0gICAgICAgICBmbG9hdEFyZ3VtZW50cy5wYWRkaW5nMiA9IDE7Ci0gICAgIH0KLSAKLS0tIAotMi4xMC4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLUZpeC1idWlsZC13aXRoLW11c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAwMS1GaXgtYnVpbGQtd2l0aC1tdXNsLnBhdGNoCmluZGV4IDA0MWVjNDYuLmQ5YTE4ZTAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLUZpeC1idWlsZC13aXRoLW11c2wucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrLzAwMDEtRml4LWJ1aWxkLXdpdGgtbXVzbC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNGY5ZDczNmUwNDU4ZWQzM2NkMTYxY2QxNjRhZDBhY2RhYzkzOWY0NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMzIyOTY2MjczYThlMDg1ODI5MjYxYTM5N2FmMzdkZTBmYmY1MWFhZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogRGF0ZTogRnJpLCA2IE9jdCAyMDE3IDE3OjAwOjA4ICswMzAwCiBTdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCB3aXRoIG11c2wKQEAgLTcsNjkgKzcsNjkgQEAKIFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogCiAtLS0KLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oIHwgMTggKysrKysrKysrKysrKysrKystCisgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRleHQuaCB8IDEwICsrKysrLS0tLS0KICBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRleHQuaAotaW5kZXggYmYwYmRjNy4uODRiOGE4YSAxMDA2NDQKK2luZGV4IDgzNmQ3NTUuLjc2NjVkMjUgMTAwNjQ0CiAtLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCiArKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCi1AQCAtMTQ2LDcgKzE0Niw3IEBAIGlubGluZSB2b2lkKiYgc3RhY2tQb2ludGVyKG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQorQEAgLTE4OCw3ICsxODgsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQqJiBzdGFja1BvaW50ZXJJbXBsKG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQogICNlcnJvciBVbmtub3duIEFyY2hpdGVjdHVyZQogICNlbmRpZgogIAotLSNlbGlmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pCistI2VsaWYgT1MoRlVDSFNJQSkgfHwgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19CSU9OSUNfXykKICsjZWxpZiBkZWZpbmVkKF9fbGludXhfXykKICAKICAjaWYgQ1BVKFg4NikKICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZComPigodWludHB0cl90JikgbWFjaGluZUNvbnRleHQuZ3JlZ3NbUkVHX0VTUF0pOwotQEAgLTI1MSw3ICsyNTEsNyBAQCBpbmxpbmUgdm9pZComIGZyYW1lUG9pbnRlcihtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKK0BAIC0zMzUsNyArMzM1LDcgQEAgc3RhdGljIGlubGluZSB2b2lkKiYgZnJhbWVQb2ludGVySW1wbChtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKICAjZXJyb3IgVW5rbm93biBBcmNoaXRlY3R1cmUKICAjZW5kaWYKICAKLS0jZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChfX0JJT05JQ19fKQorLSNlbGlmIE9TKEZVQ0hTSUEpIHx8IGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pCiArI2VsaWYgZGVmaW5lZChfX2xpbnV4X18pCiAgCiAgLy8gVGhlIGZvbGxvd2luZyBzZXF1ZW5jZSBkZXBlbmRzIG9uIGdsaWJjJ3Mgc3lzL3Vjb250ZXh0LmguCiAgI2lmIENQVShYODYpCi1AQCAtMzU0LDcgKzM1NCw3IEBAIGlubGluZSB2b2lkKiYgaW5zdHJ1Y3Rpb25Qb2ludGVyKG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQorQEAgLTQ4Miw3ICs0ODIsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQqJiBpbnN0cnVjdGlvblBvaW50ZXJJbXBsKG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQogICNlcnJvciBVbmtub3duIEFyY2hpdGVjdHVyZQogICNlbmRpZgogIAotLSNlbGlmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pCistI2VsaWYgT1MoRlVDSFNJQSkgfHwgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19CSU9OSUNfXykKICsjZWxpZiBkZWZpbmVkKF9fbGludXhfXykKICAKICAvLyBUaGUgZm9sbG93aW5nIHNlcXVlbmNlIGRlcGVuZHMgb24gZ2xpYmMncyBzeXMvdWNvbnRleHQuaC4KICAjaWYgQ1BVKFg4NikKLUBAIC00NjYsNyArNDY2LDcgQEAgaW5saW5lIHZvaWQqJiBhcmd1bWVudFBvaW50ZXI8MT4obWNvbnRleHRfdCYgbWFjaGluZUNvbnRleHQpCitAQCAtNjM5LDcgKzYzOSw3IEBAIGlubGluZSB2b2lkKiYgYXJndW1lbnRQb2ludGVyPDE+KG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQogICNlcnJvciBVbmtub3duIEFyY2hpdGVjdHVyZQogICNlbmRpZgogIAotLSNlbGlmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pCistI2VsaWYgT1MoRlVDSFNJQSkgfHwgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19CSU9OSUNfXykKICsjZWxpZiBkZWZpbmVkKF9fbGludXhfXykKICAKICAvLyBUaGUgZm9sbG93aW5nIHNlcXVlbmNlIGRlcGVuZHMgb24gZ2xpYmMncyBzeXMvdWNvbnRleHQuaC4KICAjaWYgQ1BVKFg4NikKLUBAIC01ODMsNyArNTgzLDcgQEAgaW5saW5lIHZvaWQqJiBsbGludEluc3RydWN0aW9uUG9pbnRlcihtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKK0BAIC03NTYsNyArNzU2LDcgQEAgaW5saW5lIHZvaWQqJiBsbGludEluc3RydWN0aW9uUG9pbnRlcihtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKICAjZXJyb3IgVW5rbm93biBBcmNoaXRlY3R1cmUKICAjZW5kaWYKICAKLS0jZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChfX0JJT05JQ19fKQorLSNlbGlmIE9TKEZVQ0hTSUEpIHx8IGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pCiArI2VsaWYgZGVmaW5lZChfX2xpbnV4X18pCiAgCiAgLy8gVGhlIGZvbGxvd2luZyBzZXF1ZW5jZSBkZXBlbmRzIG9uIGdsaWJjJ3Mgc3lzL3Vjb250ZXh0LmguCiAgI2lmIENQVShYODYpCiBkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKLWluZGV4IDU1MWMwNDcuLmU1MGIwNWEgMTAwNjQ0CitpbmRleCBhODQxOTQ2Li4xZTVjN2RkIDEwMDY0NAogLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAogKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAotQEAgLTY4Myw3ICs2ODMsNyBAQAorQEAgLTcwMSw3ICs3MDEsNyBAQAogICNkZWZpbmUgSEFWRV9DRk5FVFdPUktfU1RPUkFHRV9QQVJUSVRJT05JTkcgMQogICNlbmRpZgogIAotLSNpZiBPUyhEQVJXSU4pIHx8ICgoT1MoRlJFRUJTRCkgfHwgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19CSU9OSUNfXykpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNKSB8fCBDUFUoQVJNNjQpIHx8IENQVShNSVBTKSkpCi0rI2lmIE9TKERBUldJTikgfHwgKChPUyhGUkVFQlNEKSB8fCBkZWZpbmVkKF9fbGludXhfXykpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNKSB8fCBDUFUoQVJNNjQpIHx8IENQVShNSVBTKSkpCistI2lmIE9TKERBUldJTikgfHwgT1MoRlVDSFNJQSkgfHwgKChPUyhGUkVFQlNEKSB8fCBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChfX0JJT05JQ19fKSkgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShBUk02NCkgfHwgQ1BVKE1JUFMpKSkKKysjaWYgT1MoREFSV0lOKSB8fCBPUyhGVUNIU0lBKSB8fCAoKE9TKEZSRUVCU0QpIHx8IGRlZmluZWQoX19saW51eF9fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTSkgfHwgQ1BVKEFSTTY0KSB8fCBDUFUoTUlQUykpKQogICNkZWZpbmUgSEFWRV9NQUNISU5FX0NPTlRFWFQgMQogICNlbmRpZgogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrLzAwMDEtV2hlbi1idWlsZGluZy1pbnRyb3NwZWN0aW9uLWZpbGVzLWFkZC1DTUFLRV9DX0ZMQUdTLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLVdoZW4tYnVpbGRpbmctaW50cm9zcGVjdGlvbi1maWxlcy1hZGQtQ01BS0VfQ19GTEFHUy0ucGF0Y2gKaW5kZXggOTIzZDAwYy4uM2UwM2FhOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrLzAwMDEtV2hlbi1idWlsZGluZy1pbnRyb3NwZWN0aW9uLWZpbGVzLWFkZC1DTUFLRV9DX0ZMQUdTLS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAwMS1XaGVuLWJ1aWxkaW5nLWludHJvc3BlY3Rpb24tZmlsZXMtYWRkLUNNQUtFX0NfRkxBR1MtLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBmOTc2N2E0NzkxMTFmOWM2ZjI4MGM0MzE3NmMzM2RlNTBhZWU3ZjY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA4ZjFlMTcwYTZkZTgwMzZhYjUwZWIzNTgzNGE3N2YyYzc5NDEyZWUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDI4IE9jdCAyMDE1IDE0OjE4OjU3ICswMjAwCiBTdWJqZWN0OiBbUEFUQ0hdIFdoZW4gYnVpbGRpbmcgaW50cm9zcGVjdGlvbiBmaWxlcywgYWRkIENNQUtFX0NfRkxBR1MgdG8gdGhlCkBAIC0xMSwxNCArMTEsMjggQEAKIFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogCiAtLS0KLSBTb3VyY2UvV2ViS2l0L1BsYXRmb3JtR1RLLmNtYWtlIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1HVEsuY21ha2UgfCAyICstCisgU291cmNlL1dlYktpdC9QbGF0Zm9ybUdUSy5jbWFrZSAgICAgICAgIHwgNCArKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKK2RpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1HVEsuY21ha2UKK2luZGV4IDBiMjk2OGQyLi4yNzQyYWQ4MCAxMDA2NDQKKy0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybUdUSy5jbWFrZQorKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCitAQCAtNzEsNyArNzEsNyBAQCBpZiAoRU5BQkxFX0lOVFJPU1BFQ1RJT04pCisgICAgIGFkZF9jdXN0b21fY29tbWFuZCgKKyAgICAgICAgIE9VVFBVVCAke0NNQUtFX0JJTkFSWV9ESVJ9L0phdmFTY3JpcHRDb3JlLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5naXIKKyAgICAgICAgIERFUEVORFMgSmF2YVNjcmlwdENvcmUKKy0gICAgICAgIENPTU1BTkQgQ0M9JHtDTUFLRV9DX0NPTVBJTEVSfSBDRkxBR1M9LVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucyBMREZMQUdTPQorKyAgICAgICAgQ09NTUFORCBDQz0ke0NNQUtFX0NfQ09NUElMRVJ9IENGTEFHUz0tV25vLWRlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXCAke0NNQUtFX0NfRkxBR1N9IExERkxBR1M9CisgICAgICAgICAgICAgJHtMT0FERVJfTElCUkFSWV9QQVRIX1ZBUn09IiR7SU5UUk9TUEVDVElPTl9BRERJVElPTkFMX0xJQlJBUllfUEFUSH0iCisgICAgICAgICAgICAgJHtJTlRST1NQRUNUSU9OX1NDQU5ORVJ9CisgICAgICAgICAgICAgLS1xdWlldAogZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtR1RLLmNtYWtlCi1pbmRleCBkYzZiMzA2Li5hMDc0YTgwIDEwMDY0NAoraW5kZXggZTM2ZTRjMzUuLjk0M2Y5Nzk0IDEwMDY0NAogLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUdUSy5jbWFrZQogKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybUdUSy5jbWFrZQotQEAgLTczMiw3ICs3MzIsNyBAQCBpZiAoRU5BQkxFX0lOVFJPU1BFQ1RJT04pCitAQCAtNzQyLDcgKzc0Miw3IEBAIGlmIChFTkFCTEVfSU5UUk9TUEVDVElPTikKICAgICAgICAgIE9VVFBVVCAke0NNQUtFX0JJTkFSWV9ESVJ9L1dlYktpdDItJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LmdpcgogICAgICAgICAgREVQRU5EUyBXZWJLaXQKICAgICAgICAgIERFUEVORFMgJHtDTUFLRV9CSU5BUllfRElSfS9KYXZhU2NyaXB0Q29yZS0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0uZ2lyCkBAIC0yNyw3ICs0MSw3IEBACiAgICAgICAgICAgICAgJHtMT0FERVJfTElCUkFSWV9QQVRIX1ZBUn09IiR7SU5UUk9TUEVDVElPTl9BRERJVElPTkFMX0xJQlJBUllfUEFUSH0iCiAgICAgICAgICAgICAgJHtJTlRST1NQRUNUSU9OX1NDQU5ORVJ9CiAgICAgICAgICAgICAgLS1xdWlldAotQEAgLTc3NCw3ICs3NzQsNyBAQCBpZiAoRU5BQkxFX0lOVFJPU1BFQ1RJT04pCitAQCAtNzg2LDcgKzc4Niw3IEBAIGlmIChFTkFCTEVfSU5UUk9TUEVDVElPTikKICAgICAgICAgIE9VVFBVVCAke0NNQUtFX0JJTkFSWV9ESVJ9L1dlYktpdDJXZWJFeHRlbnNpb24tJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LmdpcgogICAgICAgICAgREVQRU5EUyAke0NNQUtFX0JJTkFSWV9ESVJ9L0phdmFTY3JpcHRDb3JlLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5naXIKICAgICAgICAgIERFUEVORFMgJHtDTUFLRV9CSU5BUllfRElSfS9XZWJLaXQyLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5naXIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLXdlYmtpdGd0ay1maXgtQ1ZFLTIwMTctMTc4MjEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAwMS13ZWJraXRndGstZml4LUNWRS0yMDE3LTE3ODIxLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhM2Y3NTk5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLXdlYmtpdGd0ay1maXgtQ1ZFLTIwMTctMTc4MjEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi1CYWNrcG9ydCBwYXRjaCB0byBmaXggQ1ZFLTIwMTctMTc4MjEuIFJlZmVyIHRvCi1odHRwczovL3NlY3VyaXR5LXRyYWNrZXIuZGViaWFuLm9yZy90cmFja2VyL0NWRS0yMDE3LTE3ODIxLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjMyMTE5L3dlYmtpdF0KLUNWRTogQ1ZFLTIwMTctMTc4MjEKLQotU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+Ci0KLUZyb20gMmExN2IxNTI5N2ViODg2YjBiZmI3ZDA5OGVmNjA3Y2ZhZDZjM2RhMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ICJtY2F0YW56YXJvQGlnYWxpYS5jb20iCi0gPG1jYXRhbnphcm9AaWdhbGlhLmNvbUAyNjhmNDVjYy1jZDA5LTA0MTAtYWIzYy1kNTI2OTFiNGRiZmM+Ci1EYXRlOiBXZWQsIDIzIE1heSAyMDE4IDE3OjU0OjAxICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIFByb2hpYml0IHNocmlua2luZyB0aGUgRmFzdEJpdFZlY3RvcgotIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODEwMjAKLQotUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCi0KLVByb2hpYml0IHNocmlua2luZyB0aGUgRmFzdEJpdFZlY3Rvci4gSXQncyBub3QgcHJlcGFyZWQgZm9yIHRoaXMgYW5kIHRoZSBjdXJyZW50IHVzYWdlIGRvZXMKLW5vdCByZXF1aXJlIGl0LgotCi0qIHd0Zi9GYXN0Qml0VmVjdG9yLmNwcDoKLShXVEY6OkZhc3RCaXRWZWN0b3JXb3JkT3duZXI6OnJlc2l6ZVNsb3cpOgotCi1naXQtc3ZuLWlkOiBodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQvdHJ1bmtAMjMyMTE5IDI2OGY0NWNjLWNkMDktMDQxMC1hYjNjLWQ1MjY5MWI0ZGJmYwotLS0tCi0gU291cmNlL1dURi93dGYvRmFzdEJpdFZlY3Rvci5jcHAgfCAgMiArKwotIDIgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmFzdEJpdFZlY3Rvci5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0Qml0VmVjdG9yLmNwcAotaW5kZXggZWVkMzE2OTc1ZjQuLjhiMDE5YWFhM2VkIDEwMDY0NAotLS0tIGEvU291cmNlL1dURi93dGYvRmFzdEJpdFZlY3Rvci5jcHAKLSsrKyBiL1NvdXJjZS9XVEYvd3RmL0Zhc3RCaXRWZWN0b3IuY3BwCi1AQCAtNDIsNiArNDIsOCBAQCB2b2lkIEZhc3RCaXRWZWN0b3JXb3JkT3duZXI6OnNldEVxdWFsc1Nsb3coY29uc3QgRmFzdEJpdFZlY3RvcldvcmRPd25lciYgb3RoZXIpCi0gdm9pZCBGYXN0Qml0VmVjdG9yV29yZE93bmVyOjpyZXNpemVTbG93KHNpemVfdCBudW1CaXRzKQotIHsKLSAgICAgc2l6ZV90IG5ld0xlbmd0aCA9IGZhc3RCaXRWZWN0b3JBcnJheUxlbmd0aChudW1CaXRzKTsKLSsKLSsgICAgUkVMRUFTRV9BU1NFUlQobmV3TGVuZ3RoID49IGFycmF5TGVuZ3RoKCkpOwotICAgICAKLSAgICAgLy8gVXNlIGZhc3RDYWxsb2MgaW5zdGVhZCBvZiBmYXN0UmVhbGxvYyBiZWNhdXNlIHdlIGV4cGVjdCB0aGUgY29tbW9uCi0gICAgIC8vIHVzZSBjYXNlIGZvciB0aGlzIG1ldGhvZCB0byBiZSBpbml0aWFsaXppbmcgdGhlIHNpemUgb2YgdGhlIGJpdHZlY3Rvci4KLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDEyLXNvdXAtRm9yd2FyZC1kZWNsYXJlLVVSTC1jbGFzcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDEyLXNvdXAtRm9yd2FyZC1kZWNsYXJlLVVSTC1jbGFzcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzhmZDRkYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAxMi1zb3VwLUZvcndhcmQtZGVjbGFyZS1VUkwtY2xhc3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi1Gcm9tIDU5ZjY5MDNhZDk2ZjMyMTNmMjQ4YjY3MmQ1ZmQ1MjZjYzBkNjY2Y2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU3VuLCAyMCBNYXkgMjAxOCAxNDoyODoyNyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBzb3VwOiBGb3J3YXJkIGRlY2xhcmUgVVJMIGNsYXNzCi0KLVRoaXMgaGVscHMgZ2V0dGluZyBhd2F5IHdpdGggY29tcGlsZXIgZXJyb3JzIHNlZW4gd2l0aCBjbGFuZwotCi0vbW50L2Evb2Uvd29ya3NwYWNlL3NvdXJjZXMvd2Via2l0Z3RrL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29ya1Nlc3Npb24uaDo2ODo2MjoKLWVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnVVJMJwotICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFJlc291cmNlRXJyb3I+IGNoZWNrVExTRXJyb3JzKGNvbnN0IFVSTCYsCi1HVGxzQ2VydGlmaWNhdGUqLCBHVGxzQ2VydGlmaWNhdGVGbGFncyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIzMTg3Ni93ZWJraXRdCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU291cE5ldHdvcmtTZXNzaW9uLmggfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29ya1Nlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29ya1Nlc3Npb24uaAotaW5kZXggMDNiZDcyYmEuLjdjYTg3OTJkIDEwMDY0NAotLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvdXBOZXR3b3JrU2Vzc2lvbi5oCi0rKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU291cE5ldHdvcmtTZXNzaW9uLmgKLUBAIC00Myw2ICs0Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAKLSBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87Ci0gY2xhc3MgUmVzb3VyY2VFcnJvcjsKLStjbGFzcyBVUkw7Ci0gc3RydWN0IFNvdXBOZXR3b3JrUHJveHlTZXR0aW5nczsKLSAKLSBjbGFzcyBTb3VwTmV0d29ya1Nlc3Npb24gewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrL2JhZF9vcHRpb25hbF9hY2Nlc3MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvYmFkX29wdGlvbmFsX2FjY2Vzcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZDBkNTBiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrL2JhZF9vcHRpb25hbF9hY2Nlc3MucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAordW5icmVhayBidWlsZCB3aXRoIGxpYmMrKyA3CisKK2Jhc2VkIG9uCitodHRwczovL3N2bndlYi5mcmVlYnNkLm9yZy9wb3J0cy9oZWFkL3d3dy93ZWJraXQyLWd0azMvZmlsZXMvcGF0Y2gtU291cmNlX1dURl93dGZfT3B0aW9uYWwuaD92aWV3PW1hcmt1cCZwYXRocmV2PTQ3NzgxMgorCitGaXhlcworCisvdXNyL2luY2x1ZGUvYysrL3YxL29wdGlvbmFsOjE3MToyOTogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiAnYmFkX29wdGlvbmFsX2FjY2VzcycKK2NsYXNzIF9MSUJDUFBfRVhDRVBUSU9OX0FCSSBiYWRfb3B0aW9uYWxfYWNjZXNzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorRGVyaXZlZFNvdXJjZXMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL09wdGlvbmFsLmg6Mjk1Ojc6IG5vdGU6IHByZXZpb3VzIGRlZmluaXRpb24gaXMgaGVyZQorY2xhc3MgYmFkX29wdGlvbmFsX2FjY2VzcyA6IHB1YmxpYyBzdGQ6OmxvZ2ljX2Vycm9yIHsKKyAgICAgIF4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tIGEvU291cmNlL1dURi93dGYvT3B0aW9uYWwuaAorKysrIGIvU291cmNlL1dURi93dGYvT3B0aW9uYWwuaAorQEAgLTI3NiwxNCArMjc2LDE0IEBAIHN0cnVjdCBudWxsb3B0X3QKKyB9OworIGNvbnN0ZXhwciBudWxsb3B0X3QgbnVsbG9wdHtudWxsb3B0X3Q6OmluaXQoKX07CisgCistCisrIyBpZiAhZGVmaW5lZChfTElCQ1BQX1ZFUlNJT04pIHx8IF9MSUJDUFBfVkVSU0lPTiA8IDcwMDAKKyAvLyAyMC41LjgsIGNsYXNzIGJhZF9vcHRpb25hbF9hY2Nlc3MKKyBjbGFzcyBiYWRfb3B0aW9uYWxfYWNjZXNzIDogcHVibGljIHN0ZDo6bG9naWNfZXJyb3IgeworIHB1YmxpYzoKKyAgIGV4cGxpY2l0IGJhZF9vcHRpb25hbF9hY2Nlc3MoY29uc3Qgc3RkOjpzdHJpbmcmIHdoYXRfYXJnKSA6IHN0ZDo6bG9naWNfZXJyb3J7d2hhdF9hcmd9IHt9CisgICBleHBsaWNpdCBiYWRfb3B0aW9uYWxfYWNjZXNzKGNvbnN0IGNoYXIqIHdoYXRfYXJnKSA6IHN0ZDo6bG9naWNfZXJyb3J7d2hhdF9hcmd9IHt9CisgfTsKKy0KKysjIGVuZGlmIC8vIF9MSUJDUFBfVkVSU0lPTiA8IDcwMDAKKyAKKyB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyB1bmlvbiBzdG9yYWdlX3QKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0a18yLjIwLjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGtfMi4yMC41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZjFmZmNlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0a18yLjIwLjUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMjQgKzAsMCBAQAotU1VNTUFSWSA9ICJXZWJLaXQgd2ViIHJlbmRlcmluZyBlbmdpbmUgZm9yIHRoZSBHVEsrIHBsYXRmb3JtIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53ZWJraXRndGsub3JnLyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy8iCi0KLUxJQ0VOU0UgPSAiQlNEICYgTEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DT1BZSU5HLkxJQjttZDU9ZDBjNmQ2Mzk3YTVkODQyODZkZGE3NThkYTU3YmQ2OTEgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vU291cmNlL1dlYkNvcmUvTElDRU5TRS1BUFBMRTttZDU9NDY0NmY5MDA4MmM0MGJjZjI5OGMyODVmOGJhYjBiMTIgXAotCQkgICAgZmlsZTovL1NvdXJjZS9XZWJDb3JlL0xJQ0VOU0UtTEdQTC0yO21kNT0zNjM1N2ZmZGUyYjY0YWUxNzdiMjQ5NDQ0NWI3OWQyMSBcCi0JCSAgICBmaWxlOi8vU291cmNlL1dlYkNvcmUvTElDRU5TRS1MR1BMLTIuMTttZDU9YTc3OGEzM2VmMzM4YWJiYWY4YjhhN2MzNmI2ZWVjODAgXAotCQkgICAiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy53ZWJraXRndGsub3JnL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaW5kR09iamVjdEludHJvc3BlY3Rpb24uY21ha2UtcHJlZml4LXZhcmlhYmxlcy1vYnRhLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtV2hlbi1idWlsZGluZy1pbnRyb3NwZWN0aW9uLWZpbGVzLWFkZC1DTUFLRV9DX0ZMQUdTLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLU9wdGlvbnNHVEsuY21ha2UtZHJvcC10aGUtaGFyZGNvZGVkLWludHJvc3BlY3Rpb24tZ3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtcmFjeS1wYXJhbGxlbC1idWlsZC1vZi1XZWJLaXQyLTQuMC5naXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Ud2Vhay1ndGtkb2Mtc2V0dGluZ3Mtc28tdGhhdC1ndGtkb2MtZ2VuZXJhdGlvbi13b3JrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3gzMl9zdXBwb3J0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2Nyb3NzLWNvbXBpbGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1XZWJLaXRNYWNyb3MtQXBwZW5kLXRvLUktYW5kLW5vdC10by1pc3lzdGVtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLXdpdGgtbXVzbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZXRlY3QtZ3N0cmVhbWVyLWdsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTItc291cC1Gb3J3YXJkLWRlY2xhcmUtVVJMLWNsYXNzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LVBhaW50aW5nRGF0YS1oYXMtbm8tbWVtYmVyLW5hbWVkLWxpZ2h0VmVjdG9yLW9uLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXdlYmtpdGd0ay1maXgtQ1ZFLTIwMTctMTc4MjEucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI3MmEwNWY2YTRkYzFjNzhiMDc5NTkwYThmZDI4MDQwMSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxNWMwZjhkMjZlOTYwNWFmZTA5NDhkMTYxYmE1ZmQ4MmVmZWU4ZWRhMmRlYmQ0MDlmZDQwYTQ0MGFjM2FmOTkwIgotCi1pbmhlcml0IGNtYWtlIHBrZ2NvbmZpZyBnb2JqZWN0LWludHJvc3BlY3Rpb24gcGVybG5hdGl2ZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGd0ay1kb2MKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSBvcGVuZ2wiCi0KLURFUEVORFMgPSAiemxpYiBsaWJzb3VwLTIuNCBjdXJsIGxpYnhtbDIgY2Fpcm8gbGlieHNsdCBsaWJ4dCBsaWJpZG4gbGliZ2NyeXB0IFwKLSAgICAgICAgICAgZ3RrKzMgZ3N0cmVhbWVyMS4wIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UgZmxleC1uYXRpdmUgZ3BlcmYtbmF0aXZlIHNxbGl0ZTMgXAotCSAgIHBhbmdvIGljdSBiaXNvbi1uYXRpdmUgZ2F3ayBpbnRsdG9vbC1uYXRpdmUgbGlid2VicCBcCi0JICAgYXRrIHVkZXYgaGFyZmJ1enoganBlZyBsaWJwbmcgcHVsc2VhdWRpbyBsaWJyc3ZnIGxpYnRoZW9yYSBsaWJ2b3JiaXMgbGlieGNvbXBvc2l0ZSBsaWJ4dHN0IFwKLQkgICBydWJ5LW5hdGl2ZSBsaWJub3RpZnkgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFkIFwKLQkgICBnZXR0ZXh0LW5hdGl2ZSBnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgbGlidGFzbjEgXAotICAgICAgICAgICIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMScsICd3YXlsYW5kJyAsZCl9IFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ29wZW5nbCcsICd3ZWJnbCBvcGVuZ2wnLCAnJyAsZCl9IFwKLSAgICAgICAgICAgICAgICAgICBlbmNoYW50IFwKLSAgICAgICAgICAgICAgICAgICBsaWJzZWNyZXQgXAotICAgICAgICAgICAgICAgICAgIgotCi1QQUNLQUdFQ09ORklHW3dheWxhbmRdID0gIi1ERU5BQkxFX1dBWUxBTkRfVEFSR0VUPU9OLC1ERU5BQkxFX1dBWUxBTkRfVEFSR0VUPU9GRix3YXlsYW5kIgotUEFDS0FHRUNPTkZJR1t4MTFdID0gIi1ERU5BQkxFX1gxMV9UQVJHRVQ9T04sLURFTkFCTEVfWDExX1RBUkdFVD1PRkYsdmlydHVhbC9saWJ4MTEiCi1QQUNLQUdFQ09ORklHW2dlb2NsdWVdID0gIi1ERU5BQkxFX0dFT0xPQ0FUSU9OPU9OLC1ERU5BQkxFX0dFT0xPQ0FUSU9OPU9GRixnZW9jbHVlIgotUEFDS0FHRUNPTkZJR1tlbmNoYW50XSA9ICItREVOQUJMRV9TUEVMTENIRUNLPU9OLC1ERU5BQkxFX1NQRUxMQ0hFQ0s9T0ZGLGVuY2hhbnQiCi1QQUNLQUdFQ09ORklHW2d0azJdID0gIi1ERU5BQkxFX1BMVUdJTl9QUk9DRVNTX0dUSzI9T04sLURFTkFCTEVfUExVR0lOX1BST0NFU1NfR1RLMj1PRkYsZ3RrKyIKLVBBQ0tBR0VDT05GSUdbZ2xlczJdID0gIi1ERU5BQkxFX0dMRVMyPU9OLC1ERU5BQkxFX0dMRVMyPU9GRix2aXJ0dWFsL2xpYmdsZXMyIgotUEFDS0FHRUNPTkZJR1t3ZWJnbF0gPSAiLURFTkFCTEVfV0VCR0w9T04sLURFTkFCTEVfV0VCR0w9T0ZGLHZpcnR1YWwvbGliZ2wiCi1QQUNLQUdFQ09ORklHW29wZW5nbF0gPSAiLURFTkFCTEVfT1BFTkdMPU9OLC1ERU5BQkxFX09QRU5HTD1PRkYsdmlydHVhbC9saWJnbCIKLVBBQ0tBR0VDT05GSUdbbGlic2VjcmV0XSA9ICItRFVTRV9MSUJTRUNSRVQ9T04sLURVU0VfTElCU0VDUkVUPU9GRixsaWJzZWNyZXQiCi1QQUNLQUdFQ09ORklHW2xpYmh5cGhlbl0gPSAiLURVU0VfTElCSFlQSEVOPU9OLC1EVVNFX0xJQkhZUEhFTj1PRkYsbGliaHlwaGVuIgotIyBTb3VyY2UgaXMgYXQgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS93b2ZmMgotUEFDS0FHRUNPTkZJR1t3b2ZmMl0gPSAiLURVU0VfV09GRjI9T04sLURVU0VfV09GRjI9T0ZGLHdvZmYyIgotCi1FWFRSQV9PRUNNQUtFID0gIiBcCi0JCS1EUE9SVD1HVEsgXAotCQktRENNQUtFX0JVSUxEX1RZUEU9UmVsZWFzZSBcCi0JCSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICctREVOQUJMRV9JTlRST1NQRUNUSU9OPU9OJywgJy1ERU5BQkxFX0lOVFJPU1BFQ1RJT049T0ZGJywgZCl9IFwKLQkJJHtAYmIudXRpbHMuY29udGFpbnMoJ0dUS0RPQ19FTkFCTEVEJywgJ1RydWUnLCAnLURFTkFCTEVfR1RLRE9DPU9OJywgJy1ERU5BQkxFX0dUS0RPQz1PRkYnLCBkKX0gXAotCQktREVOQUJMRV9NSU5JQlJPV1NFUj1PTiBcCi0gICAgICAgICAgICAgICAgLURQWVRIT05fRVhFQ1VUQUJMRT1gd2hpY2ggcHl0aG9uYCBcCi0JCSIKLQotIyBHTC9HTEVTIGhlYWRlciBjbGFzaDogYm90aCBkZWZpbmUgdGhlIHNhbWUgdGhpbmcsIGRpZmZlcmVudGx5LCBvbiAzMiBiaXQgeDg2Ci1FWFRSQV9PRUNNQUtFX2FwcGVuZF94ODYgPSAiIC1EVVNFX0dTVFJFQU1FUl9HTD1PRkYgIgotRVhUUkFfT0VDTUFLRV9hcHBlbmRfeDg2LXgzMiA9ICIgLURVU0VfR1NUUkVBTUVSX0dMPU9GRiAiCi0KLSMgSmF2YXNjcmlwdCBKSVQgaXMgbm90IHN1cHBvcnRlZCBvbiBwb3dlcnBjCi1FWFRSQV9PRUNNQUtFX2FwcGVuZF9wb3dlcnBjID0gIiAtREVOQUJMRV9KSVQ9T0ZGICIKLUVYVFJBX09FQ01BS0VfYXBwZW5kX3Bvd2VycGM2NCA9ICIgLURFTkFCTEVfSklUPU9GRiAiCi0KLSMgQVJNIEpJVCBjb2RlIGRvZXMgbm90IGJ1aWxkIG9uIEFSTXY0LzUvNiBhbnltb3JlCi1FWFRSQV9PRUNNQUtFX2FwcGVuZF9hcm12NSA9ICIgLURFTkFCTEVfSklUPU9GRiAiCi1FWFRSQV9PRUNNQUtFX2FwcGVuZF9hcm12NiA9ICIgLURFTkFCTEVfSklUPU9GRiAiCi1FWFRSQV9PRUNNQUtFX2FwcGVuZF9hcm12NCA9ICIgLURFTkFCTEVfSklUPU9GRiAiCi0KLSMgYmludXRpbHMgMi4yNS4xIGhhcyBhIGJ1ZyBvbiBhYXJjaDY0OgotIyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xODQzMAotRVhUUkFfT0VDTUFLRV9hcHBlbmRfYWFyY2g2NCA9ICIgLURVU0VfTERfR09MRD1PRkYgIgotRVhUUkFfT0VDTUFLRV9hcHBlbmRfbWlwc2FyY2ggPSAiIC1EVVNFX0xEX0dPTEQ9T0ZGICIKLUVYVFJBX09FQ01BS0VfYXBwZW5kX3Bvd2VycGMgPSAiIC1EVVNFX0xEX0dPTEQ9T0ZGICIKLQotRVhUUkFfT0VDTUFLRV9hcHBlbmRfYWFyY2g2NCA9ICIgLURXVEZfQ1BVX0FSTTY0X0NPUlRFWEE1Mz1PTiIKLQotIyBKSVQgbm90IHN1cHBvcnRlZCBvbiBNSVBTIGVpdGhlcgotRVhUUkFfT0VDTUFLRV9hcHBlbmRfbWlwc2FyY2ggPSAiIC1ERU5BQkxFX0pJVD1PRkYgIgotCi0jIEpJVCBub3Qgc3VwcG9ydGVkIG9uIFgzMgotIyBBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIHVwc3RyZWFtIEpJVCBzdXBwb3J0IGZvciB4MzIgaW4KLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDQ1MCwgYnV0IHRoaXMgd2FzIGNsb3NlZCBhcwotIyB1bnJlc29sdmVkIGR1ZSB0byBsaW1pdGVkIFgzMiBhZG9wdGlvbi4KLUVYVFJBX09FQ01BS0VfYXBwZW5kX3g4Ni14MzIgPSAiIC1ERU5BQkxFX0pJVD1PRkYgIgotCi1TRUNVUklUWV9DRkxBR1NfcmVtb3ZlX2FhcmNoNjQgPSAiLWZwaWUiCi1TRUNVUklUWV9DRkxBR1NfYXBwZW5kX2FhcmNoNjQgPSAiIC1mUElFIgotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3dlYmtpdDJndGstNC4wL2luamVjdGVkLWJ1bmRsZS9saWJ3ZWJraXQyZ3RraW5qZWN0ZWRidW5kbGUuc28iCi0KLVJSRUNPTU1FTkRTXyR7UE59ICs9ICJjYS1jZXJ0aWZpY2F0ZXMgc2hhcmVkLW1pbWUtaW5mbyIKLQotIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjAzNzAvCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NiA9ICJhcm0iCi0KLSMgaHR0cHM6Ly9idWd6aWxsYS55b2N0b3Byb2plY3Qub3JnL3Nob3dfYnVnLmNnaT9pZD05NDc0Ci0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk4ODAKLSMgSlNDIEpJVCBjYW4gYnVpbGQgb24gQVJNdjcgd2l0aCAtbWFybSwgYnV0IGRvZXNuJ3Qgd29yayBvbiBydW50aW1lLgotIyBVcHN0cmVhbSBvbmx5IHRlc3RzIHJlZ3VsYXJseSB0aGUgSlNDIEpJVCBvbiBBUk12NyB3aXRoIFRodW1iMiAoLW10aHVtYikuCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY3YSA9ICJ0aHVtYiIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjdyID0gInRodW1iIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12N3ZlID0gInRodW1iIgotCi0jIHFlbXU6IHVuY2F1Z2h0IHRhcmdldCBzaWduYWwgMTEgKFNlZ21lbnRhdGlvbiBmYXVsdCkgLSBjb3JlIGR1bXBlZAotIyBTZWdtZW50YXRpb24gZmF1bHQKLUdJX0RBVEFfRU5BQkxFRF9hcm12N2EgPSAiRmFsc2UiCi1HSV9EQVRBX0VOQUJMRURfYXJtdjd2ZSA9ICJGYWxzZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0a18yLjIyLjcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGtfMi4yMi43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwMWJmMTAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGtfMi4yMi43LmJiCkBAIC0wLDAgKzEsMTM0IEBACitTVU1NQVJZID0gIldlYktpdCB3ZWIgcmVuZGVyaW5nIGVuZ2luZSBmb3IgdGhlIEdUSysgcGxhdGZvcm0iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LndlYmtpdGd0ay5vcmcvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vYnVncy53ZWJraXQub3JnLyIKKworTElDRU5TRSA9ICJCU0QgJiBMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vU291cmNlL0phdmFTY3JpcHRDb3JlL0NPUFlJTkcuTElCO21kNT1kMGM2ZDYzOTdhNWQ4NDI4NmRkYTc1OGRhNTdiZDY5MSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9Tb3VyY2UvV2ViQ29yZS9MSUNFTlNFLUFQUExFO21kNT00NjQ2ZjkwMDgyYzQwYmNmMjk4YzI4NWY4YmFiMGIxMiBcCisJCSAgICBmaWxlOi8vU291cmNlL1dlYkNvcmUvTElDRU5TRS1MR1BMLTI7bWQ1PTM2MzU3ZmZkZTJiNjRhZTE3N2IyNDk0NDQ1Yjc5ZDIxIFwKKwkJICAgIGZpbGU6Ly9Tb3VyY2UvV2ViQ29yZS9MSUNFTlNFLUxHUEwtMi4xO21kNT1hNzc4YTMzZWYzMzhhYmJhZjhiOGE3YzM2YjZlZWM4MCBcCisJCSAgICIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LndlYmtpdGd0ay5vcmcvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpbmRHT2JqZWN0SW50cm9zcGVjdGlvbi5jbWFrZS1wcmVmaXgtdmFyaWFibGVzLW9idGEucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1XaGVuLWJ1aWxkaW5nLWludHJvc3BlY3Rpb24tZmlsZXMtYWRkLUNNQUtFX0NfRkxBR1MtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtT3B0aW9uc0dUSy5jbWFrZS1kcm9wLXRoZS1oYXJkY29kZWQtaW50cm9zcGVjdGlvbi1ndC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1yYWN5LXBhcmFsbGVsLWJ1aWxkLW9mLVdlYktpdDItNC4wLmdpci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVR3ZWFrLWd0a2RvYy1zZXR0aW5ncy1zby10aGF0LWd0a2RvYy1nZW5lcmF0aW9uLXdvcmsucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8veDMyX3N1cHBvcnQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3MtY29tcGlsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVdlYktpdE1hY3Jvcy1BcHBlbmQtdG8tSS1hbmQtbm90LXRvLWlzeXN0ZW0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtYnVpbGQtd2l0aC1tdXNsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RldGVjdC1nc3RyZWFtZXItZ2wucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYmFkX29wdGlvbmFsX2FjY2Vzcy5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ3Mzg2YzEwYTljMzk3NWY5MzNjODU0MDRmMzVmZjNiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRiZTZmN2Q2MDVjZDBhNjkwZmQyNmU4YWE4M2IwODlhMzNhZDlkNDE5MTQ4ZWFmY2ZiNjA1ODBkZDJhZjMwZmYiCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnIGdvYmplY3QtaW50cm9zcGVjdGlvbiBwZXJsbmF0aXZlIGRpc3Ryb19mZWF0dXJlc19jaGVjayB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ3RrLWRvYworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIG9wZW5nbCIKKworREVQRU5EUyA9ICJ6bGliIGxpYnNvdXAtMi40IGN1cmwgbGlieG1sMiBjYWlybyBsaWJ4c2x0IGxpYnh0IGxpYmlkbiBsaWJnY3J5cHQgXAorICAgICAgICAgICBndGsrMyBnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSBmbGV4LW5hdGl2ZSBncGVyZi1uYXRpdmUgc3FsaXRlMyBcCisJICAgcGFuZ28gaWN1IGJpc29uLW5hdGl2ZSBnYXdrIGludGx0b29sLW5hdGl2ZSBsaWJ3ZWJwIFwKKwkgICBhdGsgdWRldiBoYXJmYnV6eiBqcGVnIGxpYnBuZyBwdWxzZWF1ZGlvIGxpYnJzdmcgbGlidGhlb3JhIGxpYnZvcmJpcyBsaWJ4Y29tcG9zaXRlIGxpYnh0c3QgXAorCSAgIHJ1YnktbmF0aXZlIGxpYm5vdGlmeSBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYWQgXAorCSAgIGdldHRleHQtbmF0aXZlIGdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSBsaWJ0YXNuMSBcCisgICAgICAgICAgIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJ3dheWxhbmQnICxkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ3dlYmdsIG9wZW5nbCcsICcnICxkKX0gXAorICAgICAgICAgICAgICAgICAgIGVuY2hhbnQgXAorICAgICAgICAgICAgICAgICAgIGxpYnNlY3JldCBcCisgICAgICAgICAgICAgICAgICAiCisKK1BBQ0tBR0VDT05GSUdbd2F5bGFuZF0gPSAiLURFTkFCTEVfV0FZTEFORF9UQVJHRVQ9T04sLURFTkFCTEVfV0FZTEFORF9UQVJHRVQ9T0ZGLHdheWxhbmQiCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLURFTkFCTEVfWDExX1RBUkdFVD1PTiwtREVOQUJMRV9YMTFfVEFSR0VUPU9GRix2aXJ0dWFsL2xpYngxMSIKK1BBQ0tBR0VDT05GSUdbZ2VvY2x1ZV0gPSAiLURFTkFCTEVfR0VPTE9DQVRJT049T04sLURFTkFCTEVfR0VPTE9DQVRJT049T0ZGLGdlb2NsdWUiCitQQUNLQUdFQ09ORklHW2VuY2hhbnRdID0gIi1ERU5BQkxFX1NQRUxMQ0hFQ0s9T04sLURFTkFCTEVfU1BFTExDSEVDSz1PRkYsZW5jaGFudCIKK1BBQ0tBR0VDT05GSUdbZ3RrMl0gPSAiLURFTkFCTEVfUExVR0lOX1BST0NFU1NfR1RLMj1PTiwtREVOQUJMRV9QTFVHSU5fUFJPQ0VTU19HVEsyPU9GRixndGsrIgorUEFDS0FHRUNPTkZJR1tnbGVzMl0gPSAiLURFTkFCTEVfR0xFUzI9T04sLURFTkFCTEVfR0xFUzI9T0ZGLHZpcnR1YWwvbGliZ2xlczIiCitQQUNLQUdFQ09ORklHW3dlYmdsXSA9ICItREVOQUJMRV9XRUJHTD1PTiwtREVOQUJMRV9XRUJHTD1PRkYsdmlydHVhbC9saWJnbCIKK1BBQ0tBR0VDT05GSUdbb3BlbmdsXSA9ICItREVOQUJMRV9PUEVOR0w9T04sLURFTkFCTEVfT1BFTkdMPU9GRix2aXJ0dWFsL2xpYmdsIgorUEFDS0FHRUNPTkZJR1tsaWJzZWNyZXRdID0gIi1EVVNFX0xJQlNFQ1JFVD1PTiwtRFVTRV9MSUJTRUNSRVQ9T0ZGLGxpYnNlY3JldCIKK1BBQ0tBR0VDT05GSUdbbGliaHlwaGVuXSA9ICItRFVTRV9MSUJIWVBIRU49T04sLURVU0VfTElCSFlQSEVOPU9GRixsaWJoeXBoZW4iCisjIFNvdXJjZSBpcyBhdCBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL3dvZmYyCitQQUNLQUdFQ09ORklHW3dvZmYyXSA9ICItRFVTRV9XT0ZGMj1PTiwtRFVTRV9XT0ZGMj1PRkYsd29mZjIiCisKK0VYVFJBX09FQ01BS0UgPSAiIFwKKwkJLURQT1JUPUdUSyBcCisJCS1EQ01BS0VfQlVJTERfVFlQRT1SZWxlYXNlIFwKKwkJJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJy1ERU5BQkxFX0lOVFJPU1BFQ1RJT049T04nLCAnLURFTkFCTEVfSU5UUk9TUEVDVElPTj1PRkYnLCBkKX0gXAorCQkke0BiYi51dGlscy5jb250YWlucygnR1RLRE9DX0VOQUJMRUQnLCAnVHJ1ZScsICctREVOQUJMRV9HVEtET0M9T04nLCAnLURFTkFCTEVfR1RLRE9DPU9GRicsIGQpfSBcCisJCS1ERU5BQkxFX01JTklCUk9XU0VSPU9OIFwKKyAgICAgICAgICAgICAgICAtRFBZVEhPTl9FWEVDVVRBQkxFPWB3aGljaCBweXRob25gIFwKKwkJIgorCisjIEdML0dMRVMgaGVhZGVyIGNsYXNoOiBib3RoIGRlZmluZSB0aGUgc2FtZSB0aGluZywgZGlmZmVyZW50bHksIG9uIDMyIGJpdCB4ODYKK0VYVFJBX09FQ01BS0VfYXBwZW5kX3g4NiA9ICIgLURVU0VfR1NUUkVBTUVSX0dMPU9GRiAiCitFWFRSQV9PRUNNQUtFX2FwcGVuZF94ODYteDMyID0gIiAtRFVTRV9HU1RSRUFNRVJfR0w9T0ZGICIKKworIyBKYXZhc2NyaXB0IEpJVCBpcyBub3Qgc3VwcG9ydGVkIG9uIEFSQworRVhUUkFfT0VDTUFLRV9hcHBlbmRfYXJjID0gIiAtREVOQUJMRV9KSVQ9T0ZGICIKKyMgQnkgZGVmYXVsdCAyNS1iaXQgIm1lZGl1bSIgY2FsbHMgYXJlIHVzZWQgb24gQVJDCisjIHdoaWNoIGlzIG5vdCBlbm91Z2ggZm9yIGJpbmFyaWVzIGxhcmdlciB0aGFuIDMyIE1pQgorQ0ZMQUdTX2FwcGVuZF9hcmMgPSAiIC1tbG9uZy1jYWxscyIKK0NYWEZMQUdTX2FwcGVuZF9hcmMgPSAiIC1tbG9uZy1jYWxscyIKKworIyBKYXZhc2NyaXB0IEpJVCBpcyBub3Qgc3VwcG9ydGVkIG9uIHBvd2VycGMKK0VYVFJBX09FQ01BS0VfYXBwZW5kX3Bvd2VycGMgPSAiIC1ERU5BQkxFX0pJVD1PRkYgIgorRVhUUkFfT0VDTUFLRV9hcHBlbmRfcG93ZXJwYzY0ID0gIiAtREVOQUJMRV9KSVQ9T0ZGICIKKworIyBBUk0gSklUIGNvZGUgZG9lcyBub3QgYnVpbGQgb24gQVJNdjQvNS82IGFueW1vcmUKK0VYVFJBX09FQ01BS0VfYXBwZW5kX2FybXY1ID0gIiAtREVOQUJMRV9KSVQ9T0ZGICIKK0VYVFJBX09FQ01BS0VfYXBwZW5kX2FybXY2ID0gIiAtREVOQUJMRV9KSVQ9T0ZGICIKK0VYVFJBX09FQ01BS0VfYXBwZW5kX2FybXY0ID0gIiAtREVOQUJMRV9KSVQ9T0ZGICIKKworIyBiaW51dGlscyAyLjI1LjEgaGFzIGEgYnVnIG9uIGFhcmNoNjQ6CisjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTE4NDMwCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9hYXJjaDY0ID0gIiAtRFVTRV9MRF9HT0xEPU9GRiAiCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9taXBzYXJjaCA9ICIgLURVU0VfTERfR09MRD1PRkYgIgorRVhUUkFfT0VDTUFLRV9hcHBlbmRfcG93ZXJwYyA9ICIgLURVU0VfTERfR09MRD1PRkYgIgorCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9hYXJjaDY0ID0gIiAtRFdURl9DUFVfQVJNNjRfQ09SVEVYQTUzPU9OIgorCisjIEpJVCBub3Qgc3VwcG9ydGVkIG9uIE1JUFMgZWl0aGVyCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9taXBzYXJjaCA9ICIgLURFTkFCTEVfSklUPU9GRiAiCisKKyMgSklUIG5vdCBzdXBwb3J0ZWQgb24gWDMyCisjIEFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gdXBzdHJlYW0gSklUIHN1cHBvcnQgZm9yIHgzMiBpbgorIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNDUwLCBidXQgdGhpcyB3YXMgY2xvc2VkIGFzCisjIHVucmVzb2x2ZWQgZHVlIHRvIGxpbWl0ZWQgWDMyIGFkb3B0aW9uLgorRVhUUkFfT0VDTUFLRV9hcHBlbmRfeDg2LXgzMiA9ICIgLURFTkFCTEVfSklUPU9GRiAiCisKK1NFQ1VSSVRZX0NGTEFHU19yZW1vdmVfYWFyY2g2NCA9ICItZnBpZSIKK1NFQ1VSSVRZX0NGTEFHU19hcHBlbmRfYWFyY2g2NCA9ICIgLWZQSUUiCisKK0xERkxBR1NfYXBwZW5kX3Rvb2xjaGFpbi1jbGFuZyA9ICIgLXJ0bGliPWNvbXBpbGVyLXJ0IgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3dlYmtpdDJndGstNC4wL2luamVjdGVkLWJ1bmRsZS9saWJ3ZWJraXQyZ3RraW5qZWN0ZWRidW5kbGUuc28iCisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJjYS1jZXJ0aWZpY2F0ZXMgc2hhcmVkLW1pbWUtaW5mbyIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjAzNzAvCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NiA9ICJhcm0iCisKKyMgaHR0cHM6Ly9idWd6aWxsYS55b2N0b3Byb2plY3Qub3JnL3Nob3dfYnVnLmNnaT9pZD05NDc0CisjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk4ODAKKyMgSlNDIEpJVCBjYW4gYnVpbGQgb24gQVJNdjcgd2l0aCAtbWFybSwgYnV0IGRvZXNuJ3Qgd29yayBvbiBydW50aW1lLgorIyBVcHN0cmVhbSBvbmx5IHRlc3RzIHJlZ3VsYXJseSB0aGUgSlNDIEpJVCBvbiBBUk12NyB3aXRoIFRodW1iMiAoLW10aHVtYikuCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY3YSA9ICJ0aHVtYiIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjdyID0gInRodW1iIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12N3ZlID0gInRodW1iIgorCisjIHFlbXU6IHVuY2F1Z2h0IHRhcmdldCBzaWduYWwgMTEgKFNlZ21lbnRhdGlvbiBmYXVsdCkgLSBjb3JlIGR1bXBlZAorIyBTZWdtZW50YXRpb24gZmF1bHQKK0dJX0RBVEFfRU5BQkxFRF9hcm12N2EgPSAiRmFsc2UiCitHSV9EQVRBX0VOQUJMRURfYXJtdjd2ZSA9ICJGYWxzZSIKKworIyBDYW4ndCBiZSBidWlsdCB3aXRoIGNjYWNoZQorQ0NBQ0hFX0RJU0FCTEUgPSAiMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXByL2Fwci8wMDA4LWFwci1maXgtcHRlc3QtaGFuZy1pbi10ZXN0c3RyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hcHIvYXByLzAwMDgtYXByLWZpeC1wdGVzdC1oYW5nLWluLXRlc3RzdHIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MDlmYTYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hcHIvYXByLzAwMDgtYXByLWZpeC1wdGVzdC1oYW5nLWluLXRlc3RzdHIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIDAzNmY5MDc0ODI0NzQxN2RiZmE3MTRiMWI5MTJjYTdkZDQwNTNmMDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCAyMyBKdWwgMjAxOCAxNDoxMjozNSArMDgwMAotU3ViamVjdDogW1BBVENIXSBhcHI6IGZpeCBwdGVzdCBoYW5nIGluIHRlc3RzdHIKLQotcHRlc3QgaGFuZyBpbiB0ZXN0c3RyIHNpbmNlIHR1cm5zIGludG8gYSBub24tdGVybWluYXRpbmcgbG9vcCwKLWZpeCBieSBiZWxvdyBiYWNrcG9ydGVkIHBhdGNoLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0W2h0dHBzOi8vZ2l0aHViLmNvbS9hcGFjaGUvYXByL2NvbW1pdC8KLSAgICAgICAgIDJlOGZiZmY0ZWNmODJkMGRlY2Y2YmFmNzc0YzIwOTk0OGYyZjQ5OTg/ZGlmZj11bmlmaWVkXQotCi1TaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotLS0tCi0gdGVzdC90ZXN0c3RyLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0L3Rlc3RzdHIuYyBiL3Rlc3QvdGVzdHN0ci5jCi1pbmRleCBkOWE1MDU0Li45NTFhODMwIDEwMDY0NAotLS0tIGEvdGVzdC90ZXN0c3RyLmMKLSsrKyBiL3Rlc3QvdGVzdHN0ci5jCi1AQCAtMzA3LDcgKzMwNyw3IEBAIHN0YXRpYyB2b2lkIG92ZXJmbG93X3N0cmZzaXplKGFidHNfY2FzZSAqdGMsIHZvaWQgKmRhdGEpCi0gICAgIGZvciAoOyBvZmYgPCA5OTk5OTk5OTk7IG9mZiArPSA5OTkpIHsKLSAgICAgICAgIGFwcl9zdHJmc2l6ZShvZmYsIGJ1Zik7Ci0gICAgIH0KLS0gICAgZm9yIChvZmYgPSAxOyBvZmYgPCBMT05HX01BWCAmJiBvZmYgPiAwOyBvZmYgKj0gMikgewotKyAgICBmb3IgKG9mZiA9IExPTkdfTUFYOyBvZmYgPiAxOyBvZmYgLz0gMikgewotICAgICAgICAgYXByX3N0cmZzaXplKG9mZiwgYnVmKTsKLSAgICAgICAgIGFwcl9zdHJmc2l6ZShvZmYgKyAxLCBidWYpOwotICAgICAgICAgYXByX3N0cmZzaXplKG9mZiAtIDEsIGJ1Zik7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXByL2Fwcl8xLjYuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXByL2Fwcl8xLjYuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2JmYjY5OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2Fwci9hcHJfMS42LjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMTggKzAsMCBAQAotU1VNTUFSWSA9ICJBcGFjaGUgUG9ydGFibGUgUnVudGltZSAoQVBSKSBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL2Fwci5hcGFjaGUub3JnLyIKLVNFQ1RJT04gPSAibGlicyIKLURFUEVORFMgPSAidXRpbC1saW51eCIKLQotTElDRU5TRSA9ICJBcGFjaGUtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NGRmZDRjZDIxNjgyOGM4Y2FlNWRlNWExMmYzODQ0YzggXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vaW5jbHVkZS9hcHJfbGliLmg7ZW5kbGluZT0xNTttZDU9ODIzYjNkMWE3MjI1ZGY4ZjdiNjhhNjljM2MyYjRjNzEiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQotU1JDX1VSSSA9ICIke0FQQUNIRV9NSVJST1J9L2Fwci8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1idWlsZC1idWlsZGNoZWNrLnNoLWltcHJvdmUtbGlidG9vbC1kZXRlY3Rpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1hcHItUmVtb3ZlLXdvcmtkaXItcGF0aC1yZWZlcmVuY2VzLWZyb20taW5zdGFsbGVkLWFwLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtTWFrZWZpbGUuaW4tY29uZmlndXJlLmluLXN1cHBvcnQtY3Jvc3MtY29tcGlsaW5nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtRml4LXBhY2tldC1kaXNjYXJkcy1IVFRQLXJlZGlyZWN0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtY29uZmlndXJlLmluLWZpeC1MVEZMQUdTLXRvLW1ha2UtaXQtd29yay13aXRoLWNjYWNoZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LWFwci1maXgtb2ZmX3Qtc2l6ZS1kb2Vzbi10LW1hdGNoLWluLWdsaWJjLXdoZW4tY3Jvc3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1leHBsaWNpdGx5LWxpbmstbGliYXByLWFnYWluc3QtcGh0cmVhZC10by1tYWtlLWdvbGQtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDgtYXByLWZpeC1wdGVzdC1oYW5nLWluLXRlc3RzdHIucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMTJmMmEzNDk0ODNhZDZmMTJkYjQ5YmEwMWZiZmRiZmEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTMxZjA2ZDE2ZDdhYWJkMDk3ZmE5OTJhMzNlZWMyYjZhZjM5NjJmOTNlNmQ1NzBhOWJkNGQ4NWU5NTk5MzE3MiIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIGxpYl9wYWNrYWdlIGJpbmNvbmZpZyBtdWx0aWxpYl9oZWFkZXIgcHRlc3QKLQotT0VfQklOQ09ORklHX0VYVFJBX01BTkdMRSA9ICIgLWUgJ3M6bG9jYXRpb249c291cmNlOmxvY2F0aW9uPWluc3RhbGxlZDonIgotCi0jIEFkZGVkIHRvIGZpeCBzb21lIGlzc3VlcyB3aXRoIGNtYWtlLiBSZWZlciB0byBodHRwczovL2dpdGh1Yi5jb20vYm13Y2FyaXQvbWV0YS1yb3MvaXNzdWVzLzY4I2lzc3VlY29tbWVudC0xOTg5NjkyOAotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFwcl9jdl9tdXRleF9yZWN1cnNpdmU9eWVzIgotCi0jIEFsc28gc3VwcHJlc3MgdHJ5aW5nIHRvIHVzZSBzY3RwLgotIwotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X2hlYWRlcl9uZXRpbmV0X3NjdHBfaD1ubyBhY19jdl9oZWFkZXJfbmV0aW5ldF9zY3RwX3Vpb19oPW5vIgotCi1DQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3Zfc2l6ZW9mX3N0cnVjdF9pb3ZlYz15ZXMiCi1DQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfZmlsZV9fZGV2X3plcm89eWVzIgotCi0jIE90aGVyd2lzZSBsaWJ0b29sIGZhaWxzIHRvIGNvbXBpbGUgYXByLXV0aWxzCi0jIHg4Nl82NC1saW51eC1saWJ0b29sOiBjb21waWxlOiB1bmFibGUgdG8gaW5mZXIgdGFnZ2VkIGNvbmZpZ3VyYXRpb24KLSMgeDg2XzY0LWxpbnV4LWxpYnRvb2w6ICAgZXJyb3I6IHNwZWNpZnkgYSB0YWcgd2l0aCAnLS10YWcnCi1DQ0FDSEUgPSAiIgotCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSIKLVBBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotCSMgQXZvaWQgYWJzb2x1dGUgcGF0aHMgZm9yIGdyZXAgc2luY2UgaXQgY2F1c2VzIGZhaWx1cmVzCi0JIyB3aGVuIHVzaW5nIHNzdGF0ZSBiZXR3ZWVuIGRpZmZlcmVudCBob3N0cyB3aXRoIGRpZmZlcmVudAotCSMgaW5zdGFsbCBwYXRocyBmb3IgZ3JlcC4KLQlleHBvcnQgR1JFUD0iZ3JlcCIKLQotCWNkICR7U30KLQlsaWJ0b29sPScke0hPU1RfU1lTfS1saWJ0b29sJyAuL2J1aWxkY29uZgotfQotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9hcHIuZXhwICR7ZGF0YWRpcn0vYnVpbGQtMS8qIgotUkRFUEVORFNfJHtQTn0tZGV2ICs9ICJiYXNoIgotCi0jZm9yIHNvbWUgcmVhc29uLCBidWlsZC9saWJ0b29sLm00IGhhbmRsZWQgYnkgYnVpbGRjb25mIHN0aWxsIGJlIG92ZXJ3cml0dGVuCi0jd2hlbiBhdXRvY29uZiwgc28gaGFuZGxlIGl0IGFnYWluLgotZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKLQlzZWQgLWkgLWUgJ3MvTElCVE9PTD1cKC4qXCl0b3BfYnVpbGQvTElCVE9PTD1cMWFwcl9idWlsZC8nICR7U30vYnVpbGQvbGlidG9vbC5tNAotCXNlZCAtaSAtZSAncy9MSUJUT09MPVwoLipcKXRvcF9idWlsZC9MSUJUT09MPVwxYXByX2J1aWxkLycgJHtTfS9idWlsZC9hcHJfcnVsZXMubWsKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0Jb2VfbXVsdGlsaWJfaGVhZGVyIGFwci5oCi0JaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9hcHIKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotCXNlZCAtaSAtZSAncywke0RFQlVHX1BSRUZJWF9NQVB9LCxnJyBcCi0JICAgICAgIC1lICdzLCR7U1RBR0lOR19ESVJfSE9TVH0sLGcnICR7RH0ke2RhdGFkaXJ9L2J1aWxkLTEvYXByX3J1bGVzLm1rCi0Jc2VkIC1pIC1lICdzLCR7U1RBR0lOR19ESVJfSE9TVH0sLGcnIFwKLQkgICAgICAgLWUgJ3MsQVBSX1NPVVJDRV9ESVI9LiosQVBSX1NPVVJDRV9ESVI9LGcnIFwKLQkgICAgICAgLWUgJ3MsQVBSX0JVSUxEX0RJUj0uKixBUFJfQlVJTERfRElSPSxnJyAke0R9JHtiaW5kaXJ9L2Fwci0xLWNvbmZpZwotfQotCi1TU1RBVEVfU0NBTl9GSUxFUyArPSAiYXByX3J1bGVzLm1rIGxpYnRvb2wiCi0KLVNZU1JPT1RfUFJFUFJPQ0VTU19GVU5DUyArPSAiYXByX3N5c3Jvb3RfcHJlcHJvY2VzcyIKLQotYXByX3N5c3Jvb3RfcHJlcHJvY2VzcyAoKSB7Ci0JZD0ke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9L2FwcgotCWluc3RhbGwgLWQgJGQvCi0JY3AgJHtTfS9idWlsZC9hcHJfcnVsZXMubWsgJGQvCi0Jc2VkIC1pIHMsYXByX2J1aWxkZGlyPS4qLGFwcl9idWlsZGRpcj0sZyAkZC9hcHJfcnVsZXMubWsKLQlzZWQgLWkgcyxhcHJfYnVpbGRlcnM9LiosYXByX2J1aWxkZXJzPSxnICRkL2Fwcl9ydWxlcy5tawotCXNlZCAtaSBzLExJQlRPT0w9LiosTElCVE9PTD0ke0hPU1RfU1lTfS1saWJ0b29sLGcgJGQvYXByX3J1bGVzLm1rCi0Jc2VkIC1pIHMsXCRcKGFwcl9idWlsZGVyc1wpLCR7U1RBR0lOR19EQVRBRElSfS9hcHIvLGcgJGQvYXByX3J1bGVzLm1rCi0JY3AgJHtTfS9idWlsZC9ta2Rpci5zaCAkZC8KLQljcCAke1N9L2J1aWxkL21ha2VfZXhwb3J0cy5hd2sgJGQvCi0JY3AgJHtTfS9idWlsZC9tYWtlX3Zhcl9leHBvcnQuYXdrICRkLwotCWNwICR7U30vJHtIT1NUX1NZU30tbGlidG9vbCAke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9L2J1aWxkLTEvbGlidG9vbAotfQotCi1kb19jb21waWxlX3B0ZXN0KCkgewotCWNkICR7U30vdGVzdAotCW9lX3J1bm1ha2UKLX0KLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLQl0PSR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKLQlta2RpciAtcCAkdC8ubGlicwotCWNwIC1yICR7U30vdGVzdC9kYXRhICR0LwotCWNwIC1yICR7U30vdGVzdC8ubGlicy8qLnNvICR0Ly5saWJzLwotCWNwICR7U30vdGVzdC9wcm9jX2NoaWxkICR0LwotCWNwICR7U30vdGVzdC9yZWFkY2hpbGQgJHQvCi0JY3AgJHtTfS90ZXN0L3NvY2tjaGlsZCAkdC8KLQljcCAke1N9L3Rlc3Qvc29ja3BlcmYgJHQvCi0JY3AgJHtTfS90ZXN0L3Rlc3RhbGwgJHQvCi0JY3AgJHtTfS90ZXN0L3RyeXJlYWQgJHQvCi19Ci0KLWV4cG9ydCBDT05GSUdfU0hFTEw9Ii9iaW4vYmFzaCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXByL2Fwcl8xLjYuNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXByL2Fwcl8xLjYuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzJlNGVkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hcHIvYXByXzEuNi41LmJiCkBAIC0wLDAgKzEsMTEyIEBACitTVU1NQVJZID0gIkFwYWNoZSBQb3J0YWJsZSBSdW50aW1lIChBUFIpIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vYXByLmFwYWNoZS5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJ1dGlsLWxpbnV4IgorCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00ZGZkNGNkMjE2ODI4YzhjYWU1ZGU1YTEyZjM4NDRjOCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9pbmNsdWRlL2Fwcl9saWIuaDtlbmRsaW5lPTE1O21kNT04MjNiM2QxYTcyMjVkZjhmN2I2OGE2OWMzYzJiNGM3MSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitTUkNfVVJJID0gIiR7QVBBQ0hFX01JUlJPUn0vYXByLyR7QlBOfS0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWJ1aWxkLWJ1aWxkY2hlY2suc2gtaW1wcm92ZS1saWJ0b29sLWRldGVjdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWFwci1SZW1vdmUtd29ya2Rpci1wYXRoLXJlZmVyZW5jZXMtZnJvbS1pbnN0YWxsZWQtYXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1NYWtlZmlsZS5pbi1jb25maWd1cmUuaW4tc3VwcG9ydC1jcm9zcy1jb21waWxpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1GaXgtcGFja2V0LWRpc2NhcmRzLUhUVFAtcmVkaXJlY3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1jb25maWd1cmUuaW4tZml4LUxURkxBR1MtdG8tbWFrZS1pdC13b3JrLXdpdGgtY2NhY2hlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtYXByLWZpeC1vZmZfdC1zaXplLWRvZXNuLXQtbWF0Y2gtaW4tZ2xpYmMtd2hlbi1jcm9zcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA3LWV4cGxpY2l0bHktbGluay1saWJhcHItYWdhaW5zdC1waHRyZWFkLXRvLW1ha2UtZ29sZC0ucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZDRhZGQ4ZWZkZmU4NzMzMGI4OGU1ZTc4ODI0MTc3NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhNjdjYTlmY2Y5YzRmZjU5YmNlN2Y0MjhhMzIzYzhiNWUxODY2N2ZkZWE3YjBlYmFkNDdkMTk0MzcxYjBhMTA1IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgbGliX3BhY2thZ2UgYmluY29uZmlnIG11bHRpbGliX2hlYWRlciBwdGVzdAorCitPRV9CSU5DT05GSUdfRVhUUkFfTUFOR0xFID0gIiAtZSAnczpsb2NhdGlvbj1zb3VyY2U6bG9jYXRpb249aW5zdGFsbGVkOiciCisKKyMgQWRkZWQgdG8gZml4IHNvbWUgaXNzdWVzIHdpdGggY21ha2UuIFJlZmVyIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS9ibXdjYXJpdC9tZXRhLXJvcy9pc3N1ZXMvNjgjaXNzdWVjb21tZW50LTE5ODk2OTI4CitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYXByX2N2X211dGV4X3JlY3Vyc2l2ZT15ZXMiCisKKyMgQWxzbyBzdXBwcmVzcyB0cnlpbmcgdG8gdXNlIHNjdHAuCisjCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfaGVhZGVyX25ldGluZXRfc2N0cF9oPW5vIGFjX2N2X2hlYWRlcl9uZXRpbmV0X3NjdHBfdWlvX2g9bm8iCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9zaXplb2Zfc3RydWN0X2lvdmVjPXllcyIKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9maWxlX19kZXZfemVybz15ZXMiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisJIyBBdm9pZCBhYnNvbHV0ZSBwYXRocyBmb3IgZ3JlcCBzaW5jZSBpdCBjYXVzZXMgZmFpbHVyZXMKKwkjIHdoZW4gdXNpbmcgc3N0YXRlIGJldHdlZW4gZGlmZmVyZW50IGhvc3RzIHdpdGggZGlmZmVyZW50CisJIyBpbnN0YWxsIHBhdGhzIGZvciBncmVwLgorCWV4cG9ydCBHUkVQPSJncmVwIgorCisJY2QgJHtTfQorCWxpYnRvb2w9JyR7SE9TVF9TWVN9LWxpYnRvb2wnIC4vYnVpbGRjb25mCit9CisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2Fwci5leHAgJHtkYXRhZGlyfS9idWlsZC0xLyoiCitSREVQRU5EU18ke1BOfS1kZXYgKz0gImJhc2giCisKKyNmb3Igc29tZSByZWFzb24sIGJ1aWxkL2xpYnRvb2wubTQgaGFuZGxlZCBieSBidWlsZGNvbmYgc3RpbGwgYmUgb3ZlcndyaXR0ZW4KKyN3aGVuIGF1dG9jb25mLCBzbyBoYW5kbGUgaXQgYWdhaW4uCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworCXNlZCAtaSAtZSAncy9MSUJUT09MPVwoLipcKXRvcF9idWlsZC9MSUJUT09MPVwxYXByX2J1aWxkLycgJHtTfS9idWlsZC9saWJ0b29sLm00CisJc2VkIC1pIC1lICdzL0xJQlRPT0w9XCguKlwpdG9wX2J1aWxkL0xJQlRPT0w9XDFhcHJfYnVpbGQvJyAke1N9L2J1aWxkL2Fwcl9ydWxlcy5taworfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwlvZV9tdWx0aWxpYl9oZWFkZXIgYXByLmgKKwlpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2FwcgorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisJc2VkIC1pIC1lICdzLCR7REVCVUdfUFJFRklYX01BUH0sLGcnIFwKKwkgICAgICAgLWUgJ3MsJHtTVEFHSU5HX0RJUl9IT1NUfSwsZycgJHtEfSR7ZGF0YWRpcn0vYnVpbGQtMS9hcHJfcnVsZXMubWsKKwlzZWQgLWkgLWUgJ3MsJHtTVEFHSU5HX0RJUl9IT1NUfSwsZycgXAorCSAgICAgICAtZSAncyxBUFJfU09VUkNFX0RJUj0uKixBUFJfU09VUkNFX0RJUj0sZycgXAorCSAgICAgICAtZSAncyxBUFJfQlVJTERfRElSPS4qLEFQUl9CVUlMRF9ESVI9LGcnICR7RH0ke2JpbmRpcn0vYXByLTEtY29uZmlnCit9CisKK1NTVEFURV9TQ0FOX0ZJTEVTICs9ICJhcHJfcnVsZXMubWsgbGlidG9vbCIKKworU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTICs9ICJhcHJfc3lzcm9vdF9wcmVwcm9jZXNzIgorCithcHJfc3lzcm9vdF9wcmVwcm9jZXNzICgpIHsKKwlkPSR7U1lTUk9PVF9ERVNURElSfSR7ZGF0YWRpcn0vYXByCisJaW5zdGFsbCAtZCAkZC8KKwljcCAke1N9L2J1aWxkL2Fwcl9ydWxlcy5tayAkZC8KKwlzZWQgLWkgcyxhcHJfYnVpbGRkaXI9LiosYXByX2J1aWxkZGlyPSxnICRkL2Fwcl9ydWxlcy5taworCXNlZCAtaSBzLGFwcl9idWlsZGVycz0uKixhcHJfYnVpbGRlcnM9LGcgJGQvYXByX3J1bGVzLm1rCisJc2VkIC1pIHMsTElCVE9PTD0uKixMSUJUT09MPSR7SE9TVF9TWVN9LWxpYnRvb2wsZyAkZC9hcHJfcnVsZXMubWsKKwlzZWQgLWkgcyxcJFwoYXByX2J1aWxkZXJzXCksJHtTVEFHSU5HX0RBVEFESVJ9L2Fwci8sZyAkZC9hcHJfcnVsZXMubWsKKwljcCAke1N9L2J1aWxkL21rZGlyLnNoICRkLworCWNwICR7U30vYnVpbGQvbWFrZV9leHBvcnRzLmF3ayAkZC8KKwljcCAke1N9L2J1aWxkL21ha2VfdmFyX2V4cG9ydC5hd2sgJGQvCisJY3AgJHtTfS8ke0hPU1RfU1lTfS1saWJ0b29sICR7U1lTUk9PVF9ERVNURElSfSR7ZGF0YWRpcn0vYnVpbGQtMS9saWJ0b29sCit9CisKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisJY2QgJHtTfS90ZXN0CisJb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworCXQ9JHtEfSR7UFRFU1RfUEFUSH0vdGVzdAorCW1rZGlyIC1wICR0Ly5saWJzCisJY3AgLXIgJHtTfS90ZXN0L2RhdGEgJHQvCisJY3AgLXIgJHtTfS90ZXN0Ly5saWJzLyouc28gJHQvLmxpYnMvCisJY3AgJHtTfS90ZXN0L3Byb2NfY2hpbGQgJHQvCisJY3AgJHtTfS90ZXN0L3JlYWRjaGlsZCAkdC8KKwljcCAke1N9L3Rlc3Qvc29ja2NoaWxkICR0LworCWNwICR7U30vdGVzdC9zb2NrcGVyZiAkdC8KKwljcCAke1N9L3Rlc3QvdGVzdGFsbCAkdC8KKwljcCAke1N9L3Rlc3QvdHJ5cmVhZCAkdC8KK30KKworZXhwb3J0IENPTkZJR19TSEVMTD0iL2Jpbi9iYXNoIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXQtc3BpMi1hdGtfMi4yNi4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXQtc3BpMi1hdGtfMi4yNi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNmQ4ZTQ1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0LXNwaTItYXRrXzIuMjYuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLVNVTU1BUlkgPSAiQVQtU1BJIDIgVG9vbGtpdCBCcmlkZ2UiCi1IT01FUEFHRSA9ICJodHRwczovL3dpa2kubGludXhmb3VuZGF0aW9uLm9yZy9hY2Nlc3NpYmlsaXR5L2QtYnVzIgotTElDRU5TRSA9ICJMR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lOWYyODhiYTk4MmQ2MDUxOGYzNzViNTg5ODI4Mzg4NiIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMzU1Yzc5MTZhNjk1MTM0OTBjYjgzYWQzNDAxNmIxNjkiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI2MTg5MWYwYWJhZTE2ODlmNjYxN2E5NjMxMDVhM2YxZGNkYWI1OTcwYzRhMzZkZWQ5Yzc5YTdhNTQ0YjE2YTZlIgotCi1ERVBFTkRTID0gImRidXMgZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIGF0ayBhdC1zcGkyLWNvcmUgbGlieG1sMiIKLQotR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKLWluaGVyaXQgZ25vbWViYXNlIGRpc3Ryb19mZWF0dXJlc19jaGVjayB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KLQotIyBUaGUgYXQtc3BpMi1jb3JlIHJlcXVpcmVzIHgxMSBpbiBESVNUUk9fRkVBVFVSRVMKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVBBQ0tBR0VTID0rICIke1BOfS1nbm9tZSAke1BOfS1ndGsyIgotCi1GSUxFU18ke1BOfS1nbm9tZSA9ICIke2xpYmRpcn0vZ25vbWUtc2V0dGluZ3MtZGFlbW9uLTMuMC9ndGstbW9kdWxlcyIKLUZJTEVTXyR7UE59LWd0azIgPSAiJHtsaWJkaXJ9L2d0ay0yLjAvbW9kdWxlcy9saWJhdGstYnJpZGdlLioiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdC1zcGkyLWF0a18yLjMwLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdC1zcGkyLWF0a18yLjMwLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI0NDc5NzAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdC1zcGkyLWF0a18yLjMwLjAuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJBVC1TUEkgMiBUb29sa2l0IEJyaWRnZSIKK0hPTUVQQUdFID0gImh0dHBzOi8vd2lraS5saW51eGZvdW5kYXRpb24ub3JnL2FjY2Vzc2liaWxpdHkvZC1idXMiCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU5ZjI4OGJhOTgyZDYwNTE4ZjM3NWI1ODk4MjgzODg2IgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIxYWQ3NTRiOTBiY2IxNDI0NGI3M2NhNGQwYzE0ZDI3NCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImUyZTE1NzEwMDRlYTdiMTA1Yzk2OTQ3M2NlNDU1YTk1YmU0MDM4ZmIyNTQxNDcxNzE0YWViMzNhMjZkYThhOWEiCisKK0RFUEVORFMgPSAiZGJ1cyBnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgYXRrIGF0LXNwaTItY29yZSBsaWJ4bWwyIgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgoraW5oZXJpdCBnbm9tZWJhc2UgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgorCisjIFRoZSBhdC1zcGkyLWNvcmUgcmVxdWlyZXMgeDExIGluIERJU1RST19GRUFUVVJFUworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworUEFDS0FHRVMgPSsgIiR7UE59LWdub21lICR7UE59LWd0azIiCisKK0ZJTEVTXyR7UE59LWdub21lID0gIiR7bGliZGlyfS9nbm9tZS1zZXR0aW5ncy1kYWVtb24tMy4wL2d0ay1tb2R1bGVzIgorRklMRVNfJHtQTn0tZ3RrMiA9ICIke2xpYmRpcn0vZ3RrLTIuMC9tb2R1bGVzL2xpYmF0ay1icmlkZ2UuKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXQtc3BpMi1jb3JlXzIuMjguMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0LXNwaTItY29yZV8yLjI4LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5NzVmNTguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXQtc3BpMi1jb3JlXzIuMjguMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLVNVTU1BUlkgPSAiQXNzaXN0aXZlIFRlY2hub2xvZ3kgU2VydmljZSBQcm92aWRlciBJbnRlcmZhY2UgKGRidXMgY29yZSkiCi1IT01FUEFHRSA9ICJodHRwczovL3dpa2kubGludXhmb3VuZGF0aW9uLm9yZy9hY2Nlc3NpYmlsaXR5L2QtYnVzIgotTElDRU5TRSA9ICJMR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lOWYyODhiYTk4MmQ2MDUxOGYzNzViNTg5ODI4Mzg4NiIKLQotTUFKX1ZFUiA9ICIke0BvZS51dGlscy50cmltX3ZlcnNpb24oIiR7UFZ9IiwgMil9IgotCi1TUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0JQTn0vJHtNQUpfVkVSfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOWM0MmY3OTYzNmVkMWMwZTkwOGI3NDgzZDc4OWIzMmUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDJhMjQ4N2FiMTFjZTQzYzI4OGU3M2IyNjY4ZWY4YjFhYjQwYTBlMmI0Zjk0ZTgwZmNhMDRhZDI3YjZmMWM4NyIKLQotREVQRU5EUyA9ICJkYnVzIGdsaWItMi4wIHZpcnR1YWwvbGlieDExIGxpYnhpIGxpYnh0c3QiCi0KLWluaGVyaXQgbWVzb24gZ3RrLWRvYyBnZXR0ZXh0IHN5c3RlbWQgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjayB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0jIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLUVYVFJBX09FTUVTT04gPSAiIC1Ec3lzdGVtZF91c2VyX2Rpcj0ke3N5c3RlbWRfdXNlcl91bml0ZGlyfSBcCi0gICAgICAgICAgICAgICAgICAtRGRidXNfZGFlbW9uPSR7YmluZGlyfSIKLQotR1RLRE9DX0VOQUJMRV9GTEFHID0gIi1EZW5hYmxlX2RvY3M9dHJ1ZSIKLUdUS0RPQ19ESVNBQkxFX0ZMQUcgPSAiLURlbmFibGVfZG9jcz1mYWxzZSIKLQotR0lfRU5BQkxFX0ZMQUcgPSAiLURlbmFibGUtaW50cm9zcGVjdGlvbj15ZXMiCi1HSV9ESVNBQkxFX0ZMQUcgPSAiLURlbmFibGUtaW50cm9zcGVjdGlvbj1ubyIKLQotRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnJHtHSV9FTkFCTEVfRkxBR30nLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHSV9ESVNBQkxFX0ZMQUd9JywgZCl9ICIKLQotRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR1RLRE9DX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dUS0RPQ19FTkFCTEVfRkxBR30nLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R1RLRE9DX0RJU0FCTEVfRkxBR30nLCBkKX0gIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMvKi5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9hY2Nlc3NpYmlsaXR5LXNlcnZpY2VzLyouc2VydmljZSBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kZWZhdWx0cy9hdC1zcGkyIFwKLSAgICAgICAgICAgICAgICAke3N5c3RlbWRfdXNlcl91bml0ZGlyfS9hdC1zcGktZGJ1cy1idXMuc2VydmljZcKgXAotICAgICAgICAgICAgICAgICIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0LXNwaTItY29yZV8yLjMwLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdC1zcGkyLWNvcmVfMi4zMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwYjU2N2EKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdC1zcGkyLWNvcmVfMi4zMC4wLmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiQXNzaXN0aXZlIFRlY2hub2xvZ3kgU2VydmljZSBQcm92aWRlciBJbnRlcmZhY2UgKGRidXMgY29yZSkiCitIT01FUEFHRSA9ICJodHRwczovL3dpa2kubGludXhmb3VuZGF0aW9uLm9yZy9hY2Nlc3NpYmlsaXR5L2QtYnVzIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lOWYyODhiYTk4MmQ2MDUxOGYzNzViNTg5ODI4Mzg4NiIKKworTUFKX1ZFUiA9ICIke0BvZS51dGlscy50cmltX3ZlcnNpb24oIiR7UFZ9IiwgMil9IgorCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0JQTn0vJHtNQUpfVkVSfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDRmMjJjNjZiMzIxMGZmZTZiMTBkMDFjMDRlMDA4YjUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDE3NWY1MzkzZDE5ZGE1MWY0YzExNDYyY2JhNGJhNmVmM2ZhMDQyYWJmMTYxMWE3MGJkZmVkNTg2YjdiZmIyYiIKKworWDExREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYngxMSBsaWJ4aSBsaWJ4dHN0IgorCitERVBFTkRTID0gImRidXMgZ2xpYi0yLjAiCitERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICcke1gxMURFUEVORFN9JywgJycsIGQpfSIKKworaW5oZXJpdCBtZXNvbiBndGstZG9jIGdldHRleHQgc3lzdGVtZCBwa2djb25maWcgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitFWFRSQV9PRU1FU09OID0gIiAtRHN5c3RlbWRfdXNlcl9kaXI9JHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAorICAgICAgICAgICAgICAgICAgLURkYnVzX2RhZW1vbj0ke2JpbmRpcn0vZGJ1cy1kYWVtb24iCisKK0dUS0RPQ19FTkFCTEVfRkxBRyA9ICItRGVuYWJsZV9kb2NzPXRydWUiCitHVEtET0NfRElTQUJMRV9GTEFHID0gIi1EZW5hYmxlX2RvY3M9ZmFsc2UiCisKK0dJX0VOQUJMRV9GTEFHID0gIi1EZW5hYmxlLWludHJvc3BlY3Rpb249eWVzIgorR0lfRElTQUJMRV9GTEFHID0gIi1EZW5hYmxlLWludHJvc3BlY3Rpb249bm8iCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJyR7R0lfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R0lfRElTQUJMRV9GTEFHfScsIGQpfSAiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dUS0RPQ19FTkFCTEVEJywgJ1RydWUnLCAnJHtHVEtET0NfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dUS0RPQ19ESVNBQkxFX0ZMQUd9JywgZCl9ICIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzLyouc2VydmljZSBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvYWNjZXNzaWJpbGl0eS1zZXJ2aWNlcy8qLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGVmYXVsdHMvYXQtc3BpMiBcCisgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0vYXQtc3BpLWRidXMtYnVzLnNlcnZpY2XCoFwKKyAgICAgICAgICAgICAgICAiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdGsvMDAwMS1tZXNvbi5idWlsZC1lbmFibGUtaW50cm9zcGVjdGlvbi1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0ay8wMDAxLW1lc29uLmJ1aWxkLWVuYWJsZS1pbnRyb3NwZWN0aW9uLWZvci1jcm9zcy1jb21waWxlLnBhdGNoCmluZGV4IGM2MDRhOTguLjFkODE0Y2MgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0ay8wMDAxLW1lc29uLmJ1aWxkLWVuYWJsZS1pbnRyb3NwZWN0aW9uLWZvci1jcm9zcy1jb21waWxlLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0ay8wMDAxLW1lc29uLmJ1aWxkLWVuYWJsZS1pbnRyb3NwZWN0aW9uLWZvci1jcm9zcy1jb21waWxlLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAzODM4NzU3ZDI5NTkwY2MxZWY5OWM5N2Y3MjY4Mzc3MzIyZmMxN2U5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBjM2ViNWIyZTc0YzM4YmI4Mzc0YmMwMjdmODRlNDJkN2U5NGY2MmY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KIERhdGU6IEZyaSwgNiBBcHIgMjAxOCAxMjowNDowMCArMDgwMAogU3ViamVjdDogW1BBVENIXSBtZXNvbi5idWlsZDogZW5hYmxlIGludHJvc3BlY3Rpb24gZm9yIGNyb3NzLWNvbXBpbGUKQEAgLTE0LDE1ICsxNCwxNSBAQAogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvYXRrL21lc29uLmJ1aWxkIGIvYXRrL21lc29uLmJ1aWxkCi1pbmRleCA3YjVhNjgzLi44NTVlMjhmIDEwMDY0NAoraW5kZXggNjE2YTNlNi4uOTQxZGVkOCAxMDA2NDQKIC0tLSBhL2F0ay9tZXNvbi5idWlsZAogKysrIGIvYXRrL21lc29uLmJ1aWxkCi1AQCAtMTM5LDcgKzEzOSw3IEBAIGxpYmF0a19kZXAgPSBkZWNsYXJlX2RlcGVuZGVuY3kobGlua193aXRoOiBsaWJhdGssCitAQCAtMTM3LDcgKzEzNyw3IEBAIGxpYmF0a19kZXAgPSBkZWNsYXJlX2RlcGVuZGVuY3kobGlua193aXRoOiBsaWJhdGssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXM6IGdvYmplY3RfZGVwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlczogYXRrX2VudW1faCkKICAKLSBkaXNhYmxlX2ludHJvc3BlY3Rpb24gPSBnZXRfb3B0aW9uKCdkaXNhYmxlX2ludHJvc3BlY3Rpb24nKQotIAotLWlmIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpIGFuZCBub3QgZGlzYWJsZV9pbnRyb3NwZWN0aW9uCi0raWYgbm90IGRpc2FibGVfaW50cm9zcGVjdGlvbgorLWlmIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpIGFuZCBnZXRfb3B0aW9uKCdpbnRyb3NwZWN0aW9uJykKKytpZiBnZXRfb3B0aW9uKCdpbnRyb3NwZWN0aW9uJykKICAgIGdub21lLmdlbmVyYXRlX2dpcihsaWJhdGssCiAgICAgICAgICAgICAgICAgICAgICAgc291cmNlczogYXRrX3NvdXJjZXMgKyBhdGtfaGVhZGVycyArIFsgYXRrX2VudW1faCBdICsgWyBhdGtfdmVyc2lvbl9oIF0sCiAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlOiAnQXRrJywKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0a18yLjI4LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdGtfMi4yOC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNmIxM2I2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0a18yLjI4LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1TVU1NQVJZID0gIkFjY2Vzc2liaWxpdHkgdG9vbGtpdCBmb3IgR05PTUUiCi1IT01FUEFHRSA9ICJodHRwOi8vbGl2ZS5nbm9tZS5vcmcvR0FQLyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgotU0VDVElPTiA9ICJ4MTEvbGlicyIKLQotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2JmNTAwMDJhZWZkMDAyZjQ5ZTdiYjg1NDA2M2Y3ZTcgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vYXRrL2F0a3V0aWwuYztlbmRsaW5lPTE4O21kNT02ZmQzMWNkMmZkYzliMzBmNjE5Y2E4ZDgxOWJjMTJkMyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9hdGsvYXRrLmg7ZW5kbGluZT0xODttZDU9ZmNkNzcxMDE4N2UwZWFlNDg1ZTM1NmMzMGQxYjBjM2IiCi0KLSMgTmVlZCBnZXR0ZXh0LW5hdGl2ZSBhcyBNZXNvbiBjYW4ndCB0dXJuIG9mZiBpMThuCi1ERVBFTkRTID0gImdldHRleHQtbmF0aXZlIGdsaWItMi4wIgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgotaW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWRvYyBnZXR0ZXh0IHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnb2JqZWN0LWludHJvc3BlY3Rpb24KLQotR1RLRE9DX0VOQUJMRV9GTEFHID0gIi1EZW5hYmxlX2RvY3M9dHJ1ZSIKLUdUS0RPQ19ESVNBQkxFX0ZMQUcgPSAiLURlbmFibGVfZG9jcz1mYWxzZSIKLQotR0lfRU5BQkxFX0ZMQUcgPSAiLURkaXNhYmxlX2ludHJvc3BlY3Rpb249ZmFsc2UiCi1HSV9ESVNBQkxFX0ZMQUcgPSAiLURkaXNhYmxlX2ludHJvc3BlY3Rpb249dHJ1ZSIKLQotRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnJHtHSV9FTkFCTEVfRkxBR30nLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHSV9ESVNBQkxFX0ZMQUd9JywgZCl9ICIKLQotRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR1RLRE9DX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dUS0RPQ19FTkFCTEVfRkxBR30nLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R1RLRE9DX0RJU0FCTEVfRkxBR30nLCBkKX0gIgotCi1TUkNfVVJJX2FwcGVuZCA9ICIgXAotICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1lc29uLmJ1aWxkLWVuYWJsZS1pbnRyb3NwZWN0aW9uLWZvci1jcm9zcy1jb21waWxlLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICBmaWxlOi8vMDAwMS1Td2l0Y2gtZnJvbS1maWxlbmFtZS10by1iYXNlbmFtZS5wYXRjaCBcCi0gICAgICAgICAgICAgICAgICAgIgotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZGZiNWU3NDc0MjIwYWZhM2Y0Y2E3ZTQ1YWY5ZjNhMTEiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJjZDNhMWVhNmVjYzI2OGEyNDk3ZjBjZDAxOGU5NzA4NjBkZTI0YTZkNDIwODY5MTlkNmJmNmM4ZThkNTNmNGZjIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXRrXzIuMzAuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0a18yLjMwLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUyZGFjYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0a18yLjMwLjAuYmIKQEAgLTAsMCArMSwzOSBAQAorU1VNTUFSWSA9ICJBY2Nlc3NpYmlsaXR5IHRvb2xraXQgZm9yIEdOT01FIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL0dBUC8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKK1NFQ1RJT04gPSAieDExL2xpYnMiCisKK0xJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNiZjUwMDAyYWVmZDAwMmY0OWU3YmI4NTQwNjNmN2U3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2F0ay9hdGt1dGlsLmM7ZW5kbGluZT0xODttZDU9NmZkMzFjZDJmZGM5YjMwZjYxOWNhOGQ4MTliYzEyZDMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vYXRrL2F0ay5oO2VuZGxpbmU9MTg7bWQ1PWZjZDc3MTAxODdlMGVhZTQ4NWUzNTZjMzBkMWIwYzNiIgorCisjIE5lZWQgZ2V0dGV4dC1uYXRpdmUgYXMgTWVzb24gY2FuJ3QgdHVybiBvZmYgaTE4bgorREVQRU5EUyA9ICJnZXR0ZXh0LW5hdGl2ZSBnbGliLTIuMCIKKworR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKK2luaGVyaXQgZ25vbWViYXNlIGd0ay1kb2MgZ2V0dGV4dCB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK0dUS0RPQ19FTkFCTEVfRkxBRyA9ICItRGRvY3M9dHJ1ZSIKK0dUS0RPQ19ESVNBQkxFX0ZMQUcgPSAiLURkb2NzPWZhbHNlIgorCitHSV9FTkFCTEVfRkxBRyA9ICItRGludHJvc3BlY3Rpb249dHJ1ZSIKK0dJX0RJU0FCTEVfRkxBRyA9ICItRGludHJvc3BlY3Rpb249ZmFsc2UiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgJHtHSV9ESVNBQkxFX0ZMQUd9IgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dJX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dJX0RJU0FCTEVfRkxBR30nLCBkKX0gIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJyR7R1RLRE9DX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHVEtET0NfRElTQUJMRV9GTEFHfScsIGQpfSAiCisKK1NSQ19VUklfYXBwZW5kID0gIiBcCisgICAgICAgICAgICAgICAgICAgZmlsZTovLzAwMDEtbWVzb24uYnVpbGQtZW5hYmxlLWludHJvc3BlY3Rpb24tZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAxLVN3aXRjaC1mcm9tLWZpbGVuYW1lLXRvLWJhc2VuYW1lLnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAiCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI3NjljODUwMDVkMzkyYWQxN2ZmYmMwNjNmMmQyNjQ1NCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImRkNGQ5MGQ0MjE3ZjJhMGMxZmVlNzA4YTU1NTU5NmMyYzE5ZDI2ZmVmMDk1MmUxZWFkMTkzOGFiNjMyYzAyN2IiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdHRyL2FjbF8yLjIuNTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0dHIvYWNsXzIuMi41Mi5iYgppbmRleCA4Yjg5ZGU5Li42YmM3N2Q4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0dHIvYWNsXzIuMi41Mi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0dHIvYWNsXzIuMi41Mi5iYgpAQCAtMzksMTUgKzM5LDEyIEBACiAKIGluaGVyaXQgcHRlc3QKIAorUFRFU1RfQlVJTERfSE9TVF9GSUxFUyA9ICJidWlsZGRlZnMiCitQVEVTVF9CVUlMRF9IT1NUX1BBVFRFUk4gPSAiXlJQTSIKIGRvX2luc3RhbGxfcHRlc3QoKSB7CiAJdGFyIC1jIC0tZXhjbHVkZT1uZnMgdGVzdC8gfCAoIGNkICR7RH0ke1BURVNUX1BBVEh9ICYmIHRhciAteGYgLSApCi0JbWtkaXIgJHtEfSR7UFRFU1RfUEFUSH0vaW5jbHVkZQotCWNwICR7U30vaW5jbHVkZS9idWlsZGRlZnMgJHtTfS9pbmNsdWRlL2J1aWxkbWFjcm9zICR7U30vaW5jbHVkZS9idWlsZHJ1bGVzICR7RH0ke1BURVNUX1BBVEh9L2luY2x1ZGUvCi0JIyBSZW1vdmUgYW55IGJ1aWxkIGhvc3QgcmVmZXJlbmNlcwotCXNlZCAtZSAiczotLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9OjpnIiBcCi0JICAgIC1lICdzOiR7SE9TVFRPT0xTX0RJUn0vOjpnJyBcCi0JICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1RfTkFUSVZFfTo6ZycgXAotCSAgICAtaSAke0R9JHtQVEVTVF9QQVRIfS9pbmNsdWRlL2J1aWxkZGVmcworCWluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vaW5jbHVkZQorCWluc3RhbGwgLW0gNjQ0ICR7U30vaW5jbHVkZS9idWlsZGRlZnMgJHtTfS9pbmNsdWRlL2J1aWxkbWFjcm9zICR7U30vaW5jbHVkZS9idWlsZHJ1bGVzICR7RH0ke1BURVNUX1BBVEh9L2luY2x1ZGUvCiB9CiAKIFJERVBFTkRTXyR7UE59LXB0ZXN0ID0gImFjbCBiYXNoIGNvcmV1dGlscyBwZXJsIHBlcmwtbW9kdWxlLWZpbGVoYW5kbGUgcGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCBwZXJsLW1vZHVsZS1wb3NpeCBzaGFkb3ciCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0dHIvYXR0ci5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0dHIvYXR0ci5pbmMKaW5kZXggOWZjMGYzMy4uY2ZhMzhhNyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdHRyL2F0dHIuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXR0ci9hdHRyLmluYwpAQCAtMjksNiArMjksOSBAQAogQUxURVJOQVRJVkVfJHtQTn0gPSAic2V0ZmF0dHIiCiBBTFRFUk5BVElWRV9UQVJHRVRbc2V0ZmF0dHJdID0gIiR7YmluZGlyfS9zZXRmYXR0ciIKIAorUFRFU1RfQlVJTERfSE9TVF9GSUxFUyA9ICJidWlsZGRlZnMiCitQVEVTVF9CVUlMRF9IT1NUX1BBVFRFUk4gPSAiXlJQTSIKKwogZG9faW5zdGFsbF9wdGVzdCgpIHsKIAl0YXIgLWMgLS1leGNsdWRlPWV4dCB0ZXN0LyB8ICggY2QgJHtEfSR7UFRFU1RfUEFUSH0gJiYgdGFyIC14ZiAtICkKIAlta2RpciAke0R9JHtQVEVTVF9QQVRIfS9pbmNsdWRlCkBAIC0zNiwxMiArMzksNiBAQAogCSAgZG8gY3AgJHtTfS9pbmNsdWRlLyRpICR7RH0ke1BURVNUX1BBVEh9L2luY2x1ZGUvOyBcCiAJZG9uZQogCXNlZCAtZSAnc3w7IEBlY2hvfDsgZWNob3wnIC1pICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QvTWFrZWZpbGUKLSAgICAKLQkjIFJlbW92ZSBhbnkgYnVpbGQgaG9zdCByZWZlcmVuY2VzCi0Jc2VkIC1lICJzOi0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH06OmciIFwKLQkgICAgLWUgJ3M6JHtIT1NUVE9PTFNfRElSfS86OmcnIFwKLQkgICAgLWUgJ3M6JHtSRUNJUEVfU1lTUk9PVF9OQVRJVkV9OjpnJyBcCi0JICAgIC1pICR7RH0ke1BURVNUX1BBVEh9L2luY2x1ZGUvYnVpbGRkZWZzCiB9CiAKIFJERVBFTkRTXyR7UE59LXB0ZXN0ID0gImF0dHIgY29yZXV0aWxzIHBlcmwtbW9kdWxlLWZpbGVoYW5kbGUgcGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCBwZXJsLW1vZHVsZS1wb3NpeCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYm1hcC10b29scy9ibWFwLXRvb2xzXzMuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYm1hcC10b29scy9ibWFwLXRvb2xzXzMuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmFhZTlhMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2JtYXAtdG9vbHMvYm1hcC10b29sc18zLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1TVU1NQVJZID0gIlRvb2xzIHRvIGdlbmVyYXRlIGJsb2NrIG1hcCAoQUtBIGJtYXApIGFuZCBmbGFzaCBpbWFnZXMgdXNpbmcgYm1hcCIKLURFU0NSSVBUSU9OID0gIkJtYXAtdG9vbHMgLSB0b29scyB0byBnZW5lcmF0ZSBibG9jayBtYXAgKEFLQSBibWFwKSBhbmQgZmxhc2ggaW1hZ2VzIHVzaW5nIFwKLWJtYXAuIEJtYXB0b29sIGlzIGEgZ2VuZXJpYyB0b29sIGZvciBjcmVhdGluZyB0aGUgYmxvY2sgbWFwIChibWFwKSBmb3IgYSBmaWxlLCBcCi1hbmQgY29weWluZyBmaWxlcyB1c2luZyB0aGUgYmxvY2sgbWFwLiBUaGUgaWRlYSBpcyB0aGF0IGxhcmdlIGZpbGUgY29udGFpbmluZyBcCi11bnVzZWQgYmxvY2tzLCBsaWtlIHJhdyBzeXN0ZW0gaW1hZ2UgZmlsZXMsIGNhbiBiZSBjb3BpZWQgb3IgZmxhc2hlZCBhIGxvdCBcCi1mYXN0ZXIgd2l0aCBibWFwdG9vbCB0aGFuIHdpdGggdHJhZGl0aW9uYWwgdG9vbHMgbGlrZSAiZGQiIG9yICJjcCIuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tLzAxb3JnL2JtYXAtdG9vbHMiCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsLyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC92JHtQVn0vJHtCUH0udGd6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiODgzNDIwMTgzNjExYWExMzdjYmFmNjhhOTFlZjBkN2UiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDA2NDg5MTI3MGMxODBjMTkwZjQxOTI1YjBmNmZiOWNlY2FjMzA1NmYxMTY4ZDI1OTJkYmU5MGU1ZjIyNmMwYSIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC8ke0JQTn0vcmVsZWFzZXMiCi0KLVJERVBFTkRTXyR7UE59ID0gInB5dGhvbjMtY29yZSBweXRob24zLWNvbXByZXNzaW9uIHB5dGhvbjMtbW1hcCBweXRob24zLXNldHVwdG9vbHMgcHl0aG9uMy1mY250bCIKLQotaW5oZXJpdCBweXRob24zbmF0aXZlCi1pbmhlcml0IHNldHVwdG9vbHMzCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ibWFwLXRvb2xzL2JtYXAtdG9vbHNfMy41LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ibWFwLXRvb2xzL2JtYXAtdG9vbHNfMy41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjNGRiODUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2JtYXAtdG9vbHMvYm1hcC10b29sc18zLjUuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJUb29scyB0byBnZW5lcmF0ZSBibG9jayBtYXAgKEFLQSBibWFwKSBhbmQgZmxhc2ggaW1hZ2VzIHVzaW5nIGJtYXAiCitERVNDUklQVElPTiA9ICJCbWFwLXRvb2xzIC0gdG9vbHMgdG8gZ2VuZXJhdGUgYmxvY2sgbWFwIChBS0EgYm1hcCkgYW5kIGZsYXNoIGltYWdlcyB1c2luZyBcCitibWFwLiBCbWFwdG9vbCBpcyBhIGdlbmVyaWMgdG9vbCBmb3IgY3JlYXRpbmcgdGhlIGJsb2NrIG1hcCAoYm1hcCkgZm9yIGEgZmlsZSwgXAorYW5kIGNvcHlpbmcgZmlsZXMgdXNpbmcgdGhlIGJsb2NrIG1hcC4gVGhlIGlkZWEgaXMgdGhhdCBsYXJnZSBmaWxlIGNvbnRhaW5pbmcgXAordW51c2VkIGJsb2NrcywgbGlrZSByYXcgc3lzdGVtIGltYWdlIGZpbGVzLCBjYW4gYmUgY29waWVkIG9yIGZsYXNoZWQgYSBsb3QgXAorZmFzdGVyIHdpdGggYm1hcHRvb2wgdGhhbiB3aXRoIHRyYWRpdGlvbmFsIHRvb2xzIGxpa2UgImRkIiBvciAiY3AiLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS8wMW9yZy9ibWFwLXRvb2xzIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vaW50ZWwvJHtCUE59IgorCitTUkNSRVYgPSAiZGI3MDg3Yjg4M2JmNTJjYmZmMDYzYWQxN2E0MWNjMWNiYjg1MTA0ZCIKK1MgPSAiJHtXT1JLRElSfS9naXQiCitQViAuPSAiK2dpdCR7U1JDUFZ9IgorCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJ2KD9QPHB2ZXI+XGQrKFwuXGQrKSspIgorCitSREVQRU5EU18ke1BOfSA9ICJweXRob24zLWNvcmUgcHl0aG9uMy1jb21wcmVzc2lvbiBweXRob24zLW1tYXAgcHl0aG9uMy1zZXR1cHRvb2xzIHB5dGhvbjMtZmNudGwgcHl0aG9uMy1zaXgiCisKK2luaGVyaXQgcHl0aG9uM25hdGl2ZQoraW5oZXJpdCBzZXR1cHRvb2xzMworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY2EtY2VydGlmaWNhdGVzL2NhLWNlcnRpZmljYXRlc18yMDE5MDExMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY2EtY2VydGlmaWNhdGVzL2NhLWNlcnRpZmljYXRlc18yMDE5MDExMC5iYgppbmRleCBiOWY1NzkwLi40YzA0MjUzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2NhLWNlcnRpZmljYXRlcy9jYS1jZXJ0aWZpY2F0ZXNfMjAxOTAxMTAuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jYS1jZXJ0aWZpY2F0ZXMvY2EtY2VydGlmaWNhdGVzXzIwMTkwMTEwLmJiCkBAIC0xMSw3ICsxMSw3IEBACiBERVBFTkRTID0gIiIKIERFUEVORFNfY2xhc3MtbmF0aXZlID0gIm9wZW5zc2wtbmF0aXZlIgogREVQRU5EU19jbGFzcy1uYXRpdmVzZGsgPSAib3BlbnNzbC1uYXRpdmUiCi0jIE5lZWQgY19yZWhhc2ggZnJvbSBvcGVuc3NsIGFuZCBydW4tcGFydHMgZnJvbSBkZWJpYW51dGlscworIyBOZWVkIHJlaGFzaCBmcm9tIG9wZW5zc2wgYW5kIHJ1bi1wYXJ0cyBmcm9tIGRlYmlhbnV0aWxzCiBQQUNLQUdFX1dSSVRFX0RFUFMgKz0gIm9wZW5zc2wtbmF0aXZlIGRlYmlhbnV0aWxzLW5hdGl2ZSIKIAogU1JDUkVWID0gImMyODc5OWIxMzhiMDQ0Yzk2M2QyNGM0YTY5NjU5YjZlNTQ4NmUzYmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2NvbnNvbGVraXQvY29uc29sZWtpdF8wLjQuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY29uc29sZWtpdC9jb25zb2xla2l0XzAuNC42LmJiCmluZGV4IDgwZDQ4YmYuLmExN2Y3MzkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY29uc29sZWtpdC9jb25zb2xla2l0XzAuNC42LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY29uc29sZWtpdC9jb25zb2xla2l0XzAuNC42LmJiCkBAIC0yMywxMCArMjMsMTAgQEAKIAogUyA9ICIke1dPUktESVJ9L0NvbnNvbGVLaXQtJHtQVn0iCiAKLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0gc3lzdGVtZCcsIGQpfSIKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0gc3lzdGVtZCBwb2xraXQnLCBkKX0iCiAKIFBBQ0tBR0VDT05GSUdbcGFtXSA9ICItLWVuYWJsZS1wYW0tbW9kdWxlIC0td2l0aC1wYW0tbW9kdWxlLWRpcj0ke2Jhc2VfbGliZGlyfS9zZWN1cml0eSwtLWRpc2FibGUtcGFtLW1vZHVsZSxsaWJwYW0iCi1QQUNLQUdFQ09ORklHW3BvbGljeWtpdF0gPSAiLS13aXRoLXBvbGtpdCwtLXdpdGhvdXQtcG9sa2l0LHBvbGtpdCIKK1BBQ0tBR0VDT05GSUdbcG9sa2l0XSA9ICItLXdpdGgtcG9sa2l0LC0td2l0aG91dC1wb2xraXQscG9sa2l0IgogUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8sLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSIKIAogRklMRVNfJHtQTn0gKz0gIiR7ZXhlY19wcmVmaXh9L2xpYi9Db25zb2xlS2l0IFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsL0NWRS0yMDE4LTE0NjE4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTQ2MTgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiMDdiNDMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTQ2MTgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1Gcm9tIDU3ZDI5OWE0OTkxNTVkNGIzMjdlMzQxYzYwMjRlMjkzYjA0MTgyNDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRhbmllbEBoYXh4LnNlPgotRGF0ZTogTW9uLCAxMyBBdWcgMjAxOCAxMDozNTo1MiArMDIwMAotU3ViamVjdDogW1BBVENIXSBDdXJsX250bG1fY29yZV9ta19udF9oYXNoOiByZXR1cm4gZXJyb3Igb24gdG9vIGxvbmcgcGFzc3dvcmQKLQotLi4uIHNpbmNlIGl0IHdvdWxkIGNhdXNlIGFuIGludGVnZXIgb3ZlcmZsb3cgaWYgbG9uZ2VyIHRoYW4gKG1heCBzaXplX3QKLS8gMikuCi0KLVRoaXMgaXMgQ1ZFLTIwMTgtMTQ2MTgKLQotQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL0NWRS0yMDE4LTE0NjE4Lmh0bWwKLUNsb3NlcyAjMjc1NgotUmVwb3J0ZWQtYnk6IFpoYW95YW5nIFd1Ci0KLUNWRTogQ1ZFLTIwMTgtMTQ2MTgKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IFpoaXhpb25nIENoaSA8emhpeGlvbmcuY2hpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBsaWIvY3VybF9udGxtX2NvcmUuYyB8IDUgKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9saWIvY3VybF9udGxtX2NvcmUuYyBiL2xpYi9jdXJsX250bG1fY29yZS5jCi1pbmRleCBlMjdjYWIzNTNjLi45MjJlODVhOTI2IDEwMDY0NAotLS0tIGEvbGliL2N1cmxfbnRsbV9jb3JlLmMKLSsrKyBiL2xpYi9jdXJsX250bG1fY29yZS5jCi1AQCAtNTU3LDggKzU1NywxMSBAQCBDVVJMY29kZSBDdXJsX250bG1fY29yZV9ta19udF9oYXNoKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpudGJ1ZmZlciAvKiAyMSBieXRlcyAqLykKLSB7Ci0gICBzaXplX3QgbGVuID0gc3RybGVuKHBhc3N3b3JkKTsKLS0gIHVuc2lnbmVkIGNoYXIgKnB3ID0gbGVuID8gbWFsbG9jKGxlbiAqIDIpIDogc3RyZHVwKCIiKTsKLSsgIHVuc2lnbmVkIGNoYXIgKnB3OwotICAgQ1VSTGNvZGUgcmVzdWx0OwotKyAgaWYobGVuID4gU0laRV9UX01BWC8yKSAvKiBhdm9pZCBpbnRlZ2VyIG92ZXJmbG93ICovCi0rICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwotKyAgcHcgPSBsZW4gPyBtYWxsb2MobGVuICogMikgOiBzdHJkdXAoIiIpOwotICAgaWYoIXB3KQotICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsL0NWRS0yMDE4LTE2ODM5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTY4MzkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmOTcyZDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTY4MzkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIDU1YjkwNTMyZjkxOTBkY2U0MGEzMjViMzMxMmQwMTRjNjZkYzNhZTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCAxIE5vdiAyMDE4IDE1OjI3OjM1ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIEN1cmxfYXV0aF9jcmVhdGVfcGxhaW5fbWVzc2FnZTogZml4IHRvby1sYXJnZS1pbnB1dC1jaGVjawotCi1DVkUtMjAxOC0xNjgzOQotUmVwb3J0ZWQtYnk6IEhhcnJ5IFNpbnRvbmVuCi1CdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvQ1ZFLTIwMTgtMTY4MzkuaHRtbAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2NvbW1pdAotL2YzYTI0ZDc5MTZiOTE3M2M2OWEzZTBlZTc5MDEwMjk5MzgzM2Q2YzU/ZGlmZj11bmlmaWVkXQotCi1DVkU6IENWRS0yMDE4LTE2ODM5Ci0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBsaWIvdmF1dGgvY2xlYXJ0ZXh0LmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9saWIvdmF1dGgvY2xlYXJ0ZXh0LmMgYi9saWIvdmF1dGgvY2xlYXJ0ZXh0LmMKLWluZGV4IDVkNjFjZTYuLjEzNjcxNDMgMTAwNjQ0Ci0tLS0gYS9saWIvdmF1dGgvY2xlYXJ0ZXh0LmMKLSsrKyBiL2xpYi92YXV0aC9jbGVhcnRleHQuYwotQEAgLTc0LDcgKzc0LDcgQEAgQ1VSTGNvZGUgQ3VybF9hdXRoX2NyZWF0ZV9wbGFpbl9tZXNzYWdlKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsCi0gICBwbGVuID0gc3RybGVuKHBhc3N3ZHApOwotIAotICAgLyogQ29tcHV0ZSBiaW5hcnkgbWVzc2FnZSBsZW5ndGguIENoZWNrIGZvciBvdmVyZmxvd3MuICovCi0tICBpZigodWxlbiA+IFNJWkVfVF9NQVgvMikgfHwgKHBsZW4gPiAoU0laRV9UX01BWC8yIC0gMikpKQotKyAgaWYoKHVsZW4gPiBTSVpFX1RfTUFYLzQpIHx8IChwbGVuID4gKFNJWkVfVF9NQVgvMiAtIDIpKSkKLSAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7Ci0gICBwbGFpbmxlbiA9IDIgKiB1bGVuICsgcGxlbiArIDI7Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsL0NWRS0yMDE4LTE2ODQwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTY4NDAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNkMDg2YzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTY4NDAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1Gcm9tIDNjMjg0NmJlYzAwOGUwM2Q0NTZlMTgxZDlhYjU1Njg2ZGE4M2YxNDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCAxIE5vdiAyMDE4IDE1OjMzOjM1ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIEN1cmxfY2xvc2U6IGNsZWFyIGRhdGEtPm11bHRpX2Vhc3kgb24gZnJlZSB0byBhdm9pZAotIHVzZS1hZnRlci1mcmVlCi0KLVJlZ3Jlc3Npb24gZnJvbSBiNDZjZmJjICg3LjU5LjApCi1DVkUtMjAxOC0xNjg0MAotUmVwb3J0ZWQtYnk6IEJyaWFuIENhcnBlbnRlciAoR2Vla25payBMYWJzKQotCi1CdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvQ1ZFLTIwMTgtMTY4NDAuaHRtbAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2NvbW1pdC8KLTgxZDEzNWQ2NzE1NWM1Mjk1YjEwMzM2NzljNjA2MTY1ZDRlMjhmM2ZdCi0KLUNWRTogQ1ZFLTIwMTgtMTY4NDAKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGxpYi91cmwuYyB8IDQgKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xpYi91cmwuYyBiL2xpYi91cmwuYwotaW5kZXggMjdiMmMxZS4uN2VmN2MyMCAxMDA2NDQKLS0tLSBhL2xpYi91cmwuYwotKysrIGIvbGliL3VybC5jCi1AQCAtMzIwLDEwICszMjAsMTIgQEAgQ1VSTGNvZGUgQ3VybF9jbG9zZShzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhKQotICAgICAgICBhbmQgZGV0YWNoIHRoaXMgaGFuZGxlIGZyb20gdGhlcmUuICovCi0gICAgIGN1cmxfbXVsdGlfcmVtb3ZlX2hhbmRsZShkYXRhLT5tdWx0aSwgZGF0YSk7Ci0gCi0tICBpZihkYXRhLT5tdWx0aV9lYXN5KQotKyAgaWYoZGF0YS0+bXVsdGlfZWFzeSkgewotICAgICAvKiB3aGVuIGN1cmxfZWFzeV9wZXJmb3JtKCkgaXMgdXNlZCwgaXQgY3JlYXRlcyBpdHMgb3duIG11bHRpIGhhbmRsZSB0bwotICAgICAgICB1c2UgYW5kIHRoaXMgaXMgdGhlIG9uZSAqLwotICAgICBjdXJsX211bHRpX2NsZWFudXAoZGF0YS0+bXVsdGlfZWFzeSk7Ci0rICAgIGRhdGEtPm11bHRpX2Vhc3kgPSBOVUxMOwotKyAgfQotIAotICAgLyogRGVzdHJveSB0aGUgdGltZW91dCBsaXN0IHRoYXQgaXMgaGVsZCBpbiB0aGUgZWFzeSBoYW5kbGUuIEl0IGlzCi0gICAgICAvbm9ybWFsbHkvIGRvbmUgYnkgY3VybF9tdWx0aV9yZW1vdmVfaGFuZGxlKCkgYnV0IHRoaXMgaXMgImp1c3QgaW4KLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTY4NDIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2N1cmwvY3VybC9DVkUtMjAxOC0xNjg0Mi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODJlNzU1Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2N1cmwvY3VybC9DVkUtMjAxOC0xNjg0Mi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gMGU0YTYwNThiMTMwZjA3Y2ZhNTJmZGU4YTNjYjZmMmFiZmU0YzcwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDEgTm92IDIwMTggMTU6MzA6NTYgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gdm91dGY6IGZpeCBiYWQgYXJldGhtZXRpYyB3aGVuIG91dHB1dHRpbmcgd2FybmluZ3MgdG8gc3RkZXJyCi0KLUNWRS0yMDE4LTE2ODQyCi1SZXBvcnRlZC1ieTogQnJpYW4gQ2FycGVudGVyCi1CdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvQ1ZFLTIwMTgtMTY4NDIuaHRtbAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2NvbW1pdAotL2Q1MzBlOTJmNTlhZTliYjJkNDcwNjZjM2M0NjBiMjVkMmZmZWIyMTFdCi0KLUNWRTogQ1ZFLTIwMTgtMTY4NDIKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy90b29sX21zZ3MuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy90b29sX21zZ3MuYyBiL3NyYy90b29sX21zZ3MuYwotaW5kZXggOWNjZTgwNi4uMDViZWMzOSAxMDA2NDQKLS0tLSBhL3NyYy90b29sX21zZ3MuYwotKysrIGIvc3JjL3Rvb2xfbXNncy5jCi1AQCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgdm9pZCB2b3V0ZihzdHJ1Y3QgR2xvYmFsQ29uZmlnICpjb25maWcsCi0gICAgICAgICAodm9pZClmd3JpdGUocHRyLCBjdXQgKyAxLCAxLCBjb25maWctPmVycm9ycyk7Ci0gICAgICAgICBmcHV0cygiXG4iLCBjb25maWctPmVycm9ycyk7Ci0gICAgICAgICBwdHIgKz0gY3V0ICsgMTsgLyogc2tpcCB0aGUgc3BhY2UgdG9vICovCi0tICAgICAgICBsZW4gLT0gY3V0OwotKyAgICAgICAgbGVuIC09IGN1dCArIDE7Ci0gICAgICAgfQotICAgICAgIGVsc2UgewotICAgICAgICAgZnB1dHMocHRyLCBjb25maWctPmVycm9ycyk7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsXzcuNjEuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsXzcuNjEuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTYzMjdhNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2N1cmwvY3VybF83LjYxLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4MyArMCwwIEBACi1TVU1NQVJZID0gIkNvbW1hbmQgbGluZSB0b29sIGFuZCBsaWJyYXJ5IGZvciBjbGllbnQtc2lkZSBVUkwgdHJhbnNmZXJzIgotSE9NRVBBR0UgPSAiaHR0cDovL2N1cmwuaGF4eC5zZS8iCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9jdXJsLmhheHguc2UvbWFpbC9saXN0LmNnaT9saXN0PWN1cmwtdHJhY2tlciIKLVNFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lZjg4OWEzN2E1YTg3NDQ5MGFjN2NlMTE2Mzk2ZjI5YSIKLQotU1JDX1VSSSA9ICJodHRwOi8vY3VybC5oYXh4LnNlL2Rvd25sb2FkL2N1cmwtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXJlcGxhY2Uta3JiNS1jb25maWctd2l0aC1wa2ctY29uZmlnLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE0NjE4LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE2ODM5LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE2ODQwLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE2ODQyLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjMxZDBhOWY0OGRjNzk2YTdkYjM1MTg5OGExZTUwNThhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVmNmYzMzY5MjFjZjViODRkZTU2YWZiZDA4ZGZiNzBhZGVlZjIzMDM3NTFmZmIzZTU3MGM5MzZjNmQ2NTZjOWMiCi0KLUNWRV9QUk9EVUNUID0gImN1cmwgbGliY3VybCIKLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBiaW5jb25maWcgbXVsdGlsaWJfaGVhZGVyCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IGdudXRscyBsaWJpZG4gcHJveHkgdGhyZWFkZWQtcmVzb2x2ZXIgdmVyYm9zZSB6bGliIgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiaXB2NiBwcm94eSBzc2wgdGhyZWFkZWQtcmVzb2x2ZXIgdmVyYm9zZSB6bGliIgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmVzZGsgPSAiaXB2NiBwcm94eSBzc2wgdGhyZWFkZWQtcmVzb2x2ZXIgdmVyYm9zZSB6bGliIgotCi0jICdhcmVzJyBhbmQgJ3RocmVhZGVkLXJlc29sdmVyJyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlCi1QQUNLQUdFQ09ORklHW2FyZXNdID0gIi0tZW5hYmxlLWFyZXMsLS1kaXNhYmxlLWFyZXMsYy1hcmVzIgotUEFDS0FHRUNPTkZJR1ticm90bGldID0gIi0td2l0aC1icm90bGksLS13aXRob3V0LWJyb3RsaSxicm90bGkiCi1QQUNLQUdFQ09ORklHW2J1aWx0aW5tYW51YWxdID0gIi0tZW5hYmxlLW1hbnVhbCwtLWRpc2FibGUtbWFudWFsIgotUEFDS0FHRUNPTkZJR1tkaWN0XSA9ICItLWVuYWJsZS1kaWN0LC0tZGlzYWJsZS1kaWN0LCIKLVBBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItLXdpdGgtZ251dGxzLC0td2l0aG91dC1nbnV0bHMsZ251dGxzIgotUEFDS0FHRUNPTkZJR1tnb3BoZXJdID0gIi0tZW5hYmxlLWdvcGhlciwtLWRpc2FibGUtZ29waGVyLCIKLVBBQ0tBR0VDT05GSUdbaW1hcF0gPSAiLS1lbmFibGUtaW1hcCwtLWRpc2FibGUtaW1hcCwiCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgotUEFDS0FHRUNPTkZJR1trcmI1XSA9ICItLXdpdGgtZ3NzYXBpLC0td2l0aG91dC1nc3NhcGksa3JiNSIKLVBBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS1lbmFibGUtbGRhcCwtLWRpc2FibGUtbGRhcCwiCi1QQUNLQUdFQ09ORklHW2xkYXBzXSA9ICItLWVuYWJsZS1sZGFwcywtLWRpc2FibGUtbGRhcHMsIgotUEFDS0FHRUNPTkZJR1tsaWJpZG5dID0gIi0td2l0aC1saWJpZG4yLC0td2l0aG91dC1saWJpZG4yLGxpYmlkbjIiCi1QQUNLQUdFQ09ORklHW2xpYnNzaDJdID0gIi0td2l0aC1saWJzc2gyLC0td2l0aG91dC1saWJzc2gyLGxpYnNzaDIiCi1QQUNLQUdFQ09ORklHW21iZWR0bHNdID0gIi0td2l0aC1tYmVkdGxzPSR7U1RBR0lOR19ESVJfVEFSR0VUfSwtLXdpdGhvdXQtbWJlZHRscyxtYmVkdGxzIgotUEFDS0FHRUNPTkZJR1tuZ2h0dHAyXSA9ICItLXdpdGgtbmdodHRwMiwtLXdpdGhvdXQtbmdodHRwMixuZ2h0dHAyIgotUEFDS0FHRUNPTkZJR1twb3AzXSA9ICItLWVuYWJsZS1wb3AzLC0tZGlzYWJsZS1wb3AzLCIKLVBBQ0tBR0VDT05GSUdbcHJveHldID0gIi0tZW5hYmxlLXByb3h5LC0tZGlzYWJsZS1wcm94eSwiCi1QQUNLQUdFQ09ORklHW3J0bXBkdW1wXSA9ICItLXdpdGgtbGlicnRtcCwtLXdpdGhvdXQtbGlicnRtcCxydG1wZHVtcCIKLVBBQ0tBR0VDT05GSUdbcnRzcF0gPSAiLS1lbmFibGUtcnRzcCwtLWRpc2FibGUtcnRzcCwiCi1QQUNLQUdFQ09ORklHW3NtYl0gPSAiLS1lbmFibGUtc21iLC0tZGlzYWJsZS1zbWIsIgotUEFDS0FHRUNPTkZJR1tzbXRwXSA9ICItLWVuYWJsZS1zbXRwLC0tZGlzYWJsZS1zbXRwLCIKLVBBQ0tBR0VDT05GSUdbc3NsXSA9ICItLXdpdGgtc3NsIC0td2l0aC1yYW5kb209L2Rldi91cmFuZG9tLC0td2l0aG91dC1zc2wsb3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbdGVsbmV0XSA9ICItLWVuYWJsZS10ZWxuZXQsLS1kaXNhYmxlLXRlbG5ldCwiCi1QQUNLQUdFQ09ORklHW3RmdHBdID0gIi0tZW5hYmxlLXRmdHAsLS1kaXNhYmxlLXRmdHAsIgotUEFDS0FHRUNPTkZJR1t0aHJlYWRlZC1yZXNvbHZlcl0gPSAiLS1lbmFibGUtdGhyZWFkZWQtcmVzb2x2ZXIsLS1kaXNhYmxlLXRocmVhZGVkLXJlc29sdmVyIgotUEFDS0FHRUNPTkZJR1t2ZXJib3NlXSA9ICItLWVuYWJsZS12ZXJib3NlLC0tZGlzYWJsZS12ZXJib3NlIgotUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItLXdpdGgtemxpYj0ke1NUQUdJTkdfTElCRElSfS8uLi8sLS13aXRob3V0LXpsaWIsemxpYiIKLQotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS1kaXNhYmxlLWxpYmN1cmwtb3B0aW9uIFwKLSAgICAtLWRpc2FibGUtbnRsbS13YiBcCi0gICAgLS1lbmFibGUtY3J5cHRvLWF1dGggXAotICAgIC0td2l0aC1jYS1idW5kbGU9JHtzeXNjb25mZGlyfS9zc2wvY2VydHMvY2EtY2VydGlmaWNhdGVzLmNydCBcCi0gICAgLS13aXRob3V0LWxpYm1ldGFsaW5rIFwKLSAgICAtLXdpdGhvdXQtbGlicHNsIFwKLSIKLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotCSMgY2xlYW51cCBidWlsZHBhdGhzIGZyb20gY3VybC1jb25maWcKLQlzZWQgLWkgXAotCSAgICAtZSAncywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LCxnJyBcCi0JICAgIC1lICdzLC0td2l0aC1saWJ0b29sLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LCxnJyBcCi0JICAgIC1lICdzfCR7REVCVUdfUFJFRklYX01BUH18fGcnIFwKLQkgICAgJHtEfSR7YmluZGlyfS9jdXJsLWNvbmZpZwotfQotCi1QQUNLQUdFUyA9KyAibGliJHtCUE59IgotCi1GSUxFU19saWIke0JQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiIKLVJSRUNPTU1FTkRTX2xpYiR7QlBOfSArPSAiY2EtY2VydGlmaWNhdGVzIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS96c2giCi0KLWluaGVyaXQgbXVsdGlsaWJfc2NyaXB0Ci1NVUxUSUxJQl9TQ1JJUFRTID0gIiR7UE59LWRldjoke2JpbmRpcn0vY3VybC1jb25maWciCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsXzcuNjQuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsXzcuNjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMWI1ZTdkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmxfNy42NC4wLmJiCkBAIC0wLDAgKzEsODAgQEAKK1NVTU1BUlkgPSAiQ29tbWFuZCBsaW5lIHRvb2wgYW5kIGxpYnJhcnkgZm9yIGNsaWVudC1zaWRlIFVSTCB0cmFuc2ZlcnMiCitIT01FUEFHRSA9ICJodHRwOi8vY3VybC5oYXh4LnNlLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2N1cmwuaGF4eC5zZS9tYWlsL2xpc3QuY2dpP2xpc3Q9Y3VybC10cmFja2VyIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJlNWQ5ZTE0MTljNDM2M2Y0YjMyMDM3YTJkM2I3ZmZhIgorCitTUkNfVVJJID0gImh0dHA6Ly9jdXJsLmhheHguc2UvZG93bmxvYWQvY3VybC0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcmVwbGFjZS1rcmI1LWNvbmZpZy13aXRoLXBrZy1jb25maWcucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDBiY2M1ODY4NzNjZmVmMDhiNGI5NTk0ZTUzOTVhMzMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDU3M2JhMWMyZDFjZjlkODUzM2ZhZGNjZTQ4MGQ3Nzg0MTc5NjRlOGQwNGNjZGRjYzc2ZTU5MWQ1NDRjZjJlYiIKKworQ1ZFX1BST0RVQ1QgPSAiY3VybCBsaWJjdXJsIgoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJpbmNvbmZpZyBtdWx0aWxpYl9oZWFkZXIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0gZ251dGxzIGxpYmlkbiBwcm94eSB0aHJlYWRlZC1yZXNvbHZlciB2ZXJib3NlIHpsaWIiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICJpcHY2IHByb3h5IHNzbCB0aHJlYWRlZC1yZXNvbHZlciB2ZXJib3NlIHpsaWIiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA9ICJpcHY2IHByb3h5IHNzbCB0aHJlYWRlZC1yZXNvbHZlciB2ZXJib3NlIHpsaWIiCisKKyMgJ2FyZXMnIGFuZCAndGhyZWFkZWQtcmVzb2x2ZXInIGFyZSBtdXR1YWxseSBleGNsdXNpdmUKK1BBQ0tBR0VDT05GSUdbYXJlc10gPSAiLS1lbmFibGUtYXJlcywtLWRpc2FibGUtYXJlcyxjLWFyZXMiCitQQUNLQUdFQ09ORklHW2Jyb3RsaV0gPSAiLS13aXRoLWJyb3RsaSwtLXdpdGhvdXQtYnJvdGxpLGJyb3RsaSIKK1BBQ0tBR0VDT05GSUdbYnVpbHRpbm1hbnVhbF0gPSAiLS1lbmFibGUtbWFudWFsLC0tZGlzYWJsZS1tYW51YWwiCitQQUNLQUdFQ09ORklHW2RpY3RdID0gIi0tZW5hYmxlLWRpY3QsLS1kaXNhYmxlLWRpY3QsIgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0td2l0aC1nbnV0bHMsLS13aXRob3V0LWdudXRscyxnbnV0bHMiCitQQUNLQUdFQ09ORklHW2dvcGhlcl0gPSAiLS1lbmFibGUtZ29waGVyLC0tZGlzYWJsZS1nb3BoZXIsIgorUEFDS0FHRUNPTkZJR1tpbWFwXSA9ICItLWVuYWJsZS1pbWFwLC0tZGlzYWJsZS1pbWFwLCIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCitQQUNLQUdFQ09ORklHW2tyYjVdID0gIi0td2l0aC1nc3NhcGksLS13aXRob3V0LWdzc2FwaSxrcmI1IgorUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLWVuYWJsZS1sZGFwLC0tZGlzYWJsZS1sZGFwLCIKK1BBQ0tBR0VDT05GSUdbbGRhcHNdID0gIi0tZW5hYmxlLWxkYXBzLC0tZGlzYWJsZS1sZGFwcywiCitQQUNLQUdFQ09ORklHW2xpYmlkbl0gPSAiLS13aXRoLWxpYmlkbjIsLS13aXRob3V0LWxpYmlkbjIsbGliaWRuMiIKK1BBQ0tBR0VDT05GSUdbbGlic3NoMl0gPSAiLS13aXRoLWxpYnNzaDIsLS13aXRob3V0LWxpYnNzaDIsbGlic3NoMiIKK1BBQ0tBR0VDT05GSUdbbWJlZHRsc10gPSAiLS13aXRoLW1iZWR0bHM9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LC0td2l0aG91dC1tYmVkdGxzLG1iZWR0bHMiCitQQUNLQUdFQ09ORklHW25naHR0cDJdID0gIi0td2l0aC1uZ2h0dHAyLC0td2l0aG91dC1uZ2h0dHAyLG5naHR0cDIiCitQQUNLQUdFQ09ORklHW3BvcDNdID0gIi0tZW5hYmxlLXBvcDMsLS1kaXNhYmxlLXBvcDMsIgorUEFDS0FHRUNPTkZJR1twcm94eV0gPSAiLS1lbmFibGUtcHJveHksLS1kaXNhYmxlLXByb3h5LCIKK1BBQ0tBR0VDT05GSUdbcnRtcGR1bXBdID0gIi0td2l0aC1saWJydG1wLC0td2l0aG91dC1saWJydG1wLHJ0bXBkdW1wIgorUEFDS0FHRUNPTkZJR1tydHNwXSA9ICItLWVuYWJsZS1ydHNwLC0tZGlzYWJsZS1ydHNwLCIKK1BBQ0tBR0VDT05GSUdbc21iXSA9ICItLWVuYWJsZS1zbWIsLS1kaXNhYmxlLXNtYiwiCitQQUNLQUdFQ09ORklHW3NtdHBdID0gIi0tZW5hYmxlLXNtdHAsLS1kaXNhYmxlLXNtdHAsIgorUEFDS0FHRUNPTkZJR1tzc2xdID0gIi0td2l0aC1zc2wgLS13aXRoLXJhbmRvbT0vZGV2L3VyYW5kb20sLS13aXRob3V0LXNzbCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tuc3NdID0gIi0td2l0aC1uc3MsLS13aXRob3V0LW5zcyxuc3MiCitQQUNLQUdFQ09ORklHW3RlbG5ldF0gPSAiLS1lbmFibGUtdGVsbmV0LC0tZGlzYWJsZS10ZWxuZXQsIgorUEFDS0FHRUNPTkZJR1t0ZnRwXSA9ICItLWVuYWJsZS10ZnRwLC0tZGlzYWJsZS10ZnRwLCIKK1BBQ0tBR0VDT05GSUdbdGhyZWFkZWQtcmVzb2x2ZXJdID0gIi0tZW5hYmxlLXRocmVhZGVkLXJlc29sdmVyLC0tZGlzYWJsZS10aHJlYWRlZC1yZXNvbHZlciIKK1BBQ0tBR0VDT05GSUdbdmVyYm9zZV0gPSAiLS1lbmFibGUtdmVyYm9zZSwtLWRpc2FibGUtdmVyYm9zZSIKK1BBQ0tBR0VDT05GSUdbemxpYl0gPSAiLS13aXRoLXpsaWI9JHtTVEFHSU5HX0xJQkRJUn0vLi4vLC0td2l0aG91dC16bGliLHpsaWIiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1saWJjdXJsLW9wdGlvbiBcCisgICAgLS1kaXNhYmxlLW50bG0td2IgXAorICAgIC0tZW5hYmxlLWNyeXB0by1hdXRoIFwKKyAgICAtLXdpdGgtY2EtYnVuZGxlPSR7c3lzY29uZmRpcn0vc3NsL2NlcnRzL2NhLWNlcnRpZmljYXRlcy5jcnQgXAorICAgIC0td2l0aG91dC1saWJtZXRhbGluayBcCisgICAgLS13aXRob3V0LWxpYnBzbCBcCisiCisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKwkjIGNsZWFudXAgYnVpbGRwYXRocyBmcm9tIGN1cmwtY29uZmlnCisJc2VkIC1pIFwKKwkgICAgLWUgJ3MsLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSwsZycgXAorCSAgICAtZSAncywtLXdpdGgtbGlidG9vbC1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSwsZycgXAorCSAgICAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCisJICAgICR7RH0ke2JpbmRpcn0vY3VybC1jb25maWcKK30KKworUEFDS0FHRVMgPSsgImxpYiR7QlBOfSIKKworRklMRVNfbGliJHtCUE59ID0gIiR7bGliZGlyfS9saWIqLnNvLioiCitSUkVDT01NRU5EU19saWIke0JQTn0gKz0gImNhLWNlcnRpZmljYXRlcyIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0venNoIgorCitpbmhlcml0IG11bHRpbGliX3NjcmlwdAorTVVMVElMSUJfU0NSSVBUUyA9ICIke1BOfS1kZXY6JHtiaW5kaXJ9L2N1cmwtY29uZmlnIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2RiL2RiLzAwMDEtRml4LWxpYmMtY29tcGF0aWJpbGl0eS1ieS1yZW5hbWluZy1hdG9taWNfaW5pdC1BUEkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2RiL2RiLzAwMDEtRml4LWxpYmMtY29tcGF0aWJpbGl0eS1ieS1yZW5hbWluZy1hdG9taWNfaW5pdC1BUEkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRmZjJlYwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGIvZGIvMDAwMS1GaXgtbGliYy1jb21wYXRpYmlsaXR5LWJ5LXJlbmFtaW5nLWF0b21pY19pbml0LUFQSS5wYXRjaApAQCAtMCwwICsxLDE0NyBAQAorRnJvbSBhMzU2OWYxMThmZDk1YjdhZDQxZTFhMTEyOGUxN2MwYjg5Mjg1NTZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjAgSmFuIDIwMTkgMTg6MzA6MjMgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGxpYmMrKyBjb21wYXRpYmlsaXR5IGJ5IHJlbmFtaW5nIGF0b21pY19pbml0IEFQSQorCitkYjUgZG9lcyBub3QgYnVpbGQgYmVjYXVzZSBpdCBpcyByZWRlZmluaW5nIGEgQysrMTEgc3RhbmRhcmQKK2xpYnJhcnkgaWRlbnRpZmllciwgYXRvbWljX2luaXQoKS4gIFRoZXJlZm9yZSBwcmVmaXggYWxsCitpdHMgaW50ZXJuYWwgZGVmaW5lcyB3aXRoICdfX2RiXycsIHRvIGF2b2lkIGNvbGxpc2lvbnMuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3JjL2RiaW5jL2F0b21pYy5oICAgICB8IDQgKystLQorIHNyYy9tcC9tcF9mZ2V0LmMgICAgICAgfCA0ICsrLS0KKyBzcmMvbXAvbXBfbXZjYy5jICAgICAgIHwgNCArKy0tCisgc3JjL21wL21wX3JlZ2lvbi5jICAgICB8IDQgKystLQorIHNyYy9tdXRleC9tdXRfbWV0aG9kLmMgfCAyICstCisgc3JjL211dGV4L211dF90YXMuYyAgICB8IDQgKystLQorIDYgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZGJpbmMvYXRvbWljLmggYi9zcmMvZGJpbmMvYXRvbWljLmgKK2luZGV4IDFiNDlkZTUuLjdiZjM1M2MgMTAwNjQ0CistLS0gYS9zcmMvZGJpbmMvYXRvbWljLmgKKysrKyBiL3NyYy9kYmluYy9hdG9taWMuaAorQEAgLTcwLDcgKzcwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgeworICAqIFRoZXNlIGhhdmUgbm8gbWVtb3J5IGJhcnJpZXJzOyB0aGUgY2FsbGVyIG11c3QgaW5jbHVkZSB0aGVtIHdoZW4gbmVjZXNzYXJ5LgorICAqLworICNkZWZpbmUJYXRvbWljX3JlYWQocCkJCSgocCktPnZhbHVlKQorLSNkZWZpbmUJYXRvbWljX2luaXQocCwgdmFsKQkoKHApLT52YWx1ZSA9ICh2YWwpKQorKyNkZWZpbmUJX19kYl9hdG9taWNfaW5pdChwLCB2YWwpCSgocCktPnZhbHVlID0gKHZhbCkpCisgCisgI2lmZGVmIEhBVkVfQVRPTUlDX1NVUFBPUlQKKyAKK0BAIC0yMDYsNyArMjA2LDcgQEAgc3RhdGljIGlubGluZSBpbnQgX19kYl9hdG9taWNfY29tcGFyZV9leGNoYW5nZSgKKyAjZGVmaW5lCWF0b21pY19kZWMoZW52LCBwKQkoLS0ocCktPnZhbHVlKQorICNkZWZpbmUJYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2UoZW52LCBwLCBvbGR2YWwsIG5ld3ZhbCkJCVwKKyAJKERCX0FTU0VSVChlbnYsIGF0b21pY19yZWFkKHApID09IChvbGR2YWwpKSwJCVwKKy0JYXRvbWljX2luaXQocCwgKG5ld3ZhbCkpLCAxKQorKwlfX2RiX2F0b21pY19pbml0KHAsIChuZXd2YWwpKSwgMSkKKyAjZWxzZQorICNkZWZpbmUgYXRvbWljX2luYyhlbnYsIHApCV9fYXRvbWljX2luYyhlbnYsIHApCisgI2RlZmluZSBhdG9taWNfZGVjKGVudiwgcCkJX19hdG9taWNfZGVjKGVudiwgcCkKK2RpZmYgLS1naXQgYS9zcmMvbXAvbXBfZmdldC5jIGIvc3JjL21wL21wX2ZnZXQuYworaW5kZXggMTZkZTY5NS4uNTE1OTUyMCAxMDA2NDQKKy0tLSBhL3NyYy9tcC9tcF9mZ2V0LmMKKysrKyBiL3NyYy9tcC9tcF9mZ2V0LmMKK0BAIC02NDksNyArNjQ5LDcgQEAgYWxsb2M6CQkvKiBBbGxvY2F0ZSBhIG5ldyBidWZmZXIgaGVhZGVyIGFuZCBkYXRhIHNwYWNlLiAqLworIAorIAkJLyogSW5pdGlhbGl6ZSBlbm91Z2ggc28gd2UgY2FuIGNhbGwgX19tZW1wX2JoZnJlZS4gKi8KKyAJCWFsbG9jX2JocC0+ZmxhZ3MgPSAwOworLQkJYXRvbWljX2luaXQoJmFsbG9jX2JocC0+cmVmLCAxKTsKKysJCV9fZGJfYXRvbWljX2luaXQoJmFsbG9jX2JocC0+cmVmLCAxKTsKKyAjaWZkZWYgRElBR05PU1RJQworIAkJaWYgKCh1aW50cHRyX3QpYWxsb2NfYmhwLT5idWYgJiAoc2l6ZW9mKHNpemVfdCkgLSAxKSkgeworIAkJCV9fZGJfZXJyeChlbnYsIERCX1NUUigiMzAyNSIsCitAQCAtOTU1LDcgKzk1NSw3IEBAIGFsbG9jOgkJLyogQWxsb2NhdGUgYSBuZXcgYnVmZmVyIGhlYWRlciBhbmQgZGF0YSBzcGFjZS4gKi8KKyAJCQlNVkNDX01QUk9URUNUKGJocC0+YnVmLCBtZnAtPnBhZ2VzaXplLAorIAkJCSAgICBQUk9UX1JFQUQpOworIAorLQkJYXRvbWljX2luaXQoJmFsbG9jX2JocC0+cmVmLCAxKTsKKysJCV9fZGJfYXRvbWljX2luaXQoJmFsbG9jX2JocC0+cmVmLCAxKTsKKyAJCU1VVEVYX0xPQ0soZW52LCBhbGxvY19iaHAtPm10eF9idWYpOworIAkJYWxsb2NfYmhwLT5wcmlvcml0eSA9IGJocC0+cHJpb3JpdHk7CisgCQlhbGxvY19iaHAtPnBnbm8gPSBiaHAtPnBnbm87CitkaWZmIC0tZ2l0IGEvc3JjL21wL21wX212Y2MuYyBiL3NyYy9tcC9tcF9tdmNjLmMKK2luZGV4IDc3MGJhZDguLmRiY2U0ZjMgMTAwNjQ0CistLS0gYS9zcmMvbXAvbXBfbXZjYy5jCisrKysgYi9zcmMvbXAvbXBfbXZjYy5jCitAQCAtMjc2LDcgKzI3Niw3IEBAIF9fbWVtcF9iaF9mcmVlemUoZGJtcCwgaW5mb3AsIGhwLCBiaHAsIG5lZWRfZnJvemVucCkKKyAjZWxzZQorIAltZW1jcHkoZnJvemVuX2JocCwgYmhwLCBTU1pBKEJILCBidWYpKTsKKyAjZW5kaWYKKy0JYXRvbWljX2luaXQoJmZyb3plbl9iaHAtPnJlZiwgMCk7CisrCV9fZGJfYXRvbWljX2luaXQoJmZyb3plbl9iaHAtPnJlZiwgMCk7CisgCWlmIChtdXRleCAhPSBNVVRFWF9JTlZBTElEKQorIAkJZnJvemVuX2JocC0+bXR4X2J1ZiA9IG11dGV4OworIAllbHNlIGlmICgocmV0ID0gX19tdXRleF9hbGxvYyhlbnYsIE1UWF9NUE9PTF9CSCwKK0BAIC00MjgsNyArNDI4LDcgQEAgX19tZW1wX2JoX3RoYXcoZGJtcCwgaW5mb3AsIGhwLCBmcm96ZW5fYmhwLCBhbGxvY19iaHApCisgI2VuZGlmCisgCQlhbGxvY19iaHAtPm10eF9idWYgPSBtdXRleDsKKyAJCU1VVEVYX0xPQ0soZW52LCBhbGxvY19iaHAtPm10eF9idWYpOworLQkJYXRvbWljX2luaXQoJmFsbG9jX2JocC0+cmVmLCAxKTsKKysJCV9fZGJfYXRvbWljX2luaXQoJmFsbG9jX2JocC0+cmVmLCAxKTsKKyAJCUZfQ0xSKGFsbG9jX2JocCwgQkhfRlJPWkVOKTsKKyAJfQorIAorZGlmZiAtLWdpdCBhL3NyYy9tcC9tcF9yZWdpb24uYyBiL3NyYy9tcC9tcF9yZWdpb24uYworaW5kZXggNDk1MjAzMC4uMDg0ZjQ5OSAxMDA2NDQKKy0tLSBhL3NyYy9tcC9tcF9yZWdpb24uYworKysrIGIvc3JjL21wL21wX3JlZ2lvbi5jCitAQCAtMjQ1LDcgKzI0NSw3IEBAIF9fbWVtcF9pbml0KGVudiwgZGJtcCwgcmVnaW5mb19vZmYsIGh0YWJfYnVja2V0cywgbWF4X25yZWcpCisgCQkJICAgICBNVFhfTVBPT0xfRklMRV9CVUNLRVQsIDAsICZodGFiW2ldLm10eF9oYXNoKSkgIT0gMCkKKyAJCQkJcmV0dXJuIChyZXQpOworIAkJCVNIX1RBSUxRX0lOSVQoJmh0YWJbaV0uaGFzaF9idWNrZXQpOworLQkJCWF0b21pY19pbml0KCZodGFiW2ldLmhhc2hfcGFnZV9kaXJ0eSwgMCk7CisrCQkJX19kYl9hdG9taWNfaW5pdCgmaHRhYltpXS5oYXNoX3BhZ2VfZGlydHksIDApOworIAkJfQorIAorIAkJLyoKK0BAIC0zMDIsNyArMzAyLDcgQEAgbm9fcHJlYWxsb2M6CisgCQl9IGVsc2UKKyAJCQlocC0+bXR4X2hhc2ggPSBtdHhfYmFzZSArIChpICUgZGJlbnYtPm1wX210eGNvdW50KTsKKyAJCVNIX1RBSUxRX0lOSVQoJmhwLT5oYXNoX2J1Y2tldCk7CistCQlhdG9taWNfaW5pdCgmaHAtPmhhc2hfcGFnZV9kaXJ0eSwgMCk7CisrCQlfX2RiX2F0b21pY19pbml0KCZocC0+aGFzaF9wYWdlX2RpcnR5LCAwKTsKKyAjaWZkZWYgSEFWRV9TVEFUSVNUSUNTCisgCQlocC0+aGFzaF9pb193YWl0ID0gMDsKKyAJCWhwLT5oYXNoX2Zyb3plbiA9IGhwLT5oYXNoX3RoYXdlZCA9IGhwLT5oYXNoX2Zyb3plbl9mcmVlZCA9IDA7CitkaWZmIC0tZ2l0IGEvc3JjL211dGV4L211dF9tZXRob2QuYyBiL3NyYy9tdXRleC9tdXRfbWV0aG9kLmMKK2luZGV4IDA5MzUzYjAuLjNjOTU0YjkgMTAwNjQ0CistLS0gYS9zcmMvbXV0ZXgvbXV0X21ldGhvZC5jCisrKysgYi9zcmMvbXV0ZXgvbXV0X21ldGhvZC5jCitAQCAtNDc0LDcgKzQ3NCw3IEBAIGF0b21pY19jb21wYXJlX2V4Y2hhbmdlKGVudiwgdiwgb2xkdmFsLCBuZXd2YWwpCisgCU1VVEVYX0xPQ0soZW52LCBtdHgpOworIAlyZXQgPSBhdG9taWNfcmVhZCh2KSA9PSBvbGR2YWw7CisgCWlmIChyZXQpCistCQlhdG9taWNfaW5pdCh2LCBuZXd2YWwpOworKwkJX19kYl9hdG9taWNfaW5pdCh2LCBuZXd2YWwpOworIAlNVVRFWF9VTkxPQ0soZW52LCBtdHgpOworIAorIAlyZXR1cm4gKHJldCk7CitkaWZmIC0tZ2l0IGEvc3JjL211dGV4L211dF90YXMuYyBiL3NyYy9tdXRleC9tdXRfdGFzLmMKK2luZGV4IDEwNmIxNjEuLjVhM2IwMzMgMTAwNjQ0CistLS0gYS9zcmMvbXV0ZXgvbXV0X3Rhcy5jCisrKysgYi9zcmMvbXV0ZXgvbXV0X3Rhcy5jCitAQCAtNDcsNyArNDcsNyBAQCBfX2RiX3Rhc19tdXRleF9pbml0KGVudiwgbXV0ZXgsIGZsYWdzKQorIAorICNpZmRlZiBIQVZFX1NIQVJFRF9MQVRDSEVTCisgCWlmIChGX0lTU0VUKG11dGV4cCwgREJfTVVURVhfU0hBUkVEKSkKKy0JCWF0b21pY19pbml0KCZtdXRleHAtPnNoYXJlY291bnQsIDApOworKwkJX19kYl9hdG9taWNfaW5pdCgmbXV0ZXhwLT5zaGFyZWNvdW50LCAwKTsKKyAJZWxzZQorICNlbmRpZgorIAlpZiAoTVVURVhfSU5JVCgmbXV0ZXhwLT50YXMpKSB7CitAQCAtNTM2LDcgKzUzNiw3IEBAIF9fZGJfdGFzX211dGV4X3VubG9jayhlbnYsIG11dGV4KQorIAkJCUZfQ0xSKG11dGV4cCwgREJfTVVURVhfTE9DS0VEKTsKKyAJCQkvKiBGbHVzaCBmbGFnIHVwZGF0ZSBiZWZvcmUgemVyb2luZyBjb3VudCAqLworIAkJCU1FTUJBUl9FWElUKCk7CistCQkJYXRvbWljX2luaXQoJm11dGV4cC0+c2hhcmVjb3VudCwgMCk7CisrCQkJX19kYl9hdG9taWNfaW5pdCgmbXV0ZXhwLT5zaGFyZWNvdW50LCAwKTsKKyAJCX0gZWxzZSB7CisgCQkJREJfQVNTRVJUKGVudiwgc2hhcmVjb3VudCA+IDApOworIAkJCU1FTUJBUl9FWElUKCk7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2RiL2RiXzUuMy4yOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGIvZGJfNS4zLjI4LmJiCmluZGV4IGI3ZWQyYzcuLjg5NzU2NDcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGIvZGJfNS4zLjI4LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGIvZGJfNS4zLjI4LmJiCkBAIC0yNSwxMSArMjUsMTIgQEAKICAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWF0b21pYy1SZW5hbWUtbG9jYWwtX19hdG9taWNfY29tcGFyZV9leGNoYW5nZS10by1hdm8ucGF0Y2ggXAogICAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLUFkZC1leHBsaWNpdC10YWctb3B0aW9ucy10by1saWJ0b29sLWludm9jYS5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vc2VxdWVuY2UtdHlwZS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtbGliYy1jb21wYXRpYmlsaXR5LWJ5LXJlbmFtaW5nLWF0b21pY19pbml0LUFQSS5wYXRjaCBcCiAgICAgICAgICAgICIKICMgV2UgYXJlIG5vdCBpbnRlcmVzdGVkIGluIG9mZmljaWFsIGxhdGVzdCA2LnggdmVyc2lvbnM7CiAjIGxldCdzIHRyYWNrIHdoYXQgZGViaWFuIGlzIHVzaW5nLgogVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9kL2RiNS4zLyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gImRiNVwuM18oP1A8cHZlcj4uKylcLm9yaWciCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJkYjVcLjNfKD9QPHB2ZXI+XGQrKFwuXGQrKSspLitcLm9yaWciCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICJiOTk0NTQ1NjRkNWI0NDc5NzUwNTY3MDMxZDY2ZmUyNCIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJlMGE5OTJkNzQwNzA5ODkyZTgxZjlkOTNmMDZkYWYzMDVjZjczZmI4MWI1NDVhZmU3MjQ3ODA0MzE3MmMzNjI4IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9kZWJpYW51dGlscy9kZWJpYW51dGlsc180LjguNi4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9kZWJpYW51dGlscy9kZWJpYW51dGlsc180LjguNi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjYzc4YTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2RlYmlhbnV0aWxzL2RlYmlhbnV0aWxzXzQuOC42LjEuYmIKQEAgLTAsMCArMSw1NyBAQAorU1VNTUFSWSA9ICJNaXNjZWxsYW5lb3VzIHV0aWxpdGllcyBzcGVjaWZpYyB0byBEZWJpYW4iCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIkdQTHYyICYgU01BSUxfR1BMIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGViaWFuL2NvcHlyaWdodDttZDU9ZjAxYTUyMDNkNTA1MTJmYzQ4MzBiNDMzMmI2OTZhOWYiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4vMjAxOTAyMTdUMTYwNzE2Wi9wb29sL21haW4vZC8ke0JQTn0vJHtCUE59XyR7UFZ9LnRhci54eiIKKyMgdGhlIHBhY2thZ2UgaXMgdGFrZW4gZnJvbSBzbmFwc2hvdHMuZGViaWFuLm9yZzsgdGhhdCBzb3VyY2UgaXMgc3RhdGljIGFuZCBnb2VzIHN0YWxlCisjIHNvIHdlIGNoZWNrIHRoZSBsYXRlc3QgdXBzdHJlYW0gZnJvbSBhIGRpcmVjdG9yeSB0aGF0IGRvZXMgZ2V0IHVwZGF0ZWQKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vZC8ke0JQTn0vIgorCitTUkNfVVJJW21kNXN1bV0gPSAiODBlMmU2NzBkOGY2YzAwMzY3NzBlOTcxMjM3ZjFmNWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDk5ZjFlOGE3Mjc4YjI2MTQ1YTJiYTJkZGE4NGM0MTE4NDAzYmZhYjM4YzhkNzA3MGE2MjM1YTdmZmNiNTVlZCIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcworCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgJ3M6dGVtcGZpbGUuMSB3aGljaC4xOndoaWNoLjE6ZycgJHtTfS9NYWtlZmlsZS5hbQorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpZiBbICIke2Jhc2VfYmluZGlyfSIgIT0gIiR7YmluZGlyfSIgXTsgdGhlbgorICAgICAgICAjIERlYmlhbiBwbGFjZXMgc29tZSB1dGlscyBpbnRvICR7YmFzZV9iaW5kaXJ9IGFzIGRvZXMgYnVzeWJveAorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2Jhc2VfYmluZGlyfQorICAgICAgICBmb3IgYXBwIGluIHJ1bi1wYXJ0cyB0ZW1wZmlsZTsgZG8KKyAgICAgICAgICAgIG12ICR7RH0ke2JpbmRpcn0vJGFwcCAke0R9JHtiYXNlX2JpbmRpcn0vJGFwcAorICAgICAgICBkb25lCisgICAgZmkKK30KKworIyBOb3RlIHRoYXQgd2UgcGFja2FnZSB0aGUgdXBkYXRlLWFsdGVybmF0aXZlcyBuYW1lLgorIworUEFDS0FHRVMgPSsgIiR7UE59LXJ1bi1wYXJ0cyIKK0ZJTEVTXyR7UE59LXJ1bi1wYXJ0cyA9ICIke2Jhc2VfYmluZGlyfS9ydW4tcGFydHMuZGViaWFudXRpbHMiCisKK1JERVBFTkRTXyR7UE59ICs9ICIke1BOfS1ydW4tcGFydHMiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorCitBTFRFUk5BVElWRV9QUklPUklUWT0iMzAiCitBTFRFUk5BVElWRV8ke1BOfSA9ICJhZGQtc2hlbGwgaW5zdGFsbGtlcm5lbCByZW1vdmUtc2hlbGwgc2F2ZWxvZyB0ZW1wZmlsZSB3aGljaCIKKworQUxURVJOQVRJVkVfUFJJT1JJVFlfJHtQTn0tcnVuLXBhcnRzID0gIjYwIgorQUxURVJOQVRJVkVfJHtQTn0tcnVuLXBhcnRzID0gInJ1bi1wYXJ0cyIKKworQUxURVJOQVRJVkVfJHtQTn0tZG9jID0gIndoaWNoLjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbd2hpY2guMV0gPSAiJHttYW5kaXJ9L21hbjEvd2hpY2guMSIKKworQUxURVJOQVRJVkVfTElOS19OQU1FW2FkZC1zaGVsbF09IiR7c2JpbmRpcn0vYWRkLXNoZWxsIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2luc3RhbGxrZXJuZWxdPSIke3NiaW5kaXJ9L2luc3RhbGxrZXJuZWwiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcmVtb3ZlLXNoZWxsXT0iJHtzYmluZGlyfS9yZW1vdmUtc2hlbGwiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcnVuLXBhcnRzXT0iJHtiYXNlX2JpbmRpcn0vcnVuLXBhcnRzIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3NhdmVsb2ddPSIke2JpbmRpcn0vc2F2ZWxvZyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0ZW1wZmlsZV09IiR7YmFzZV9iaW5kaXJ9L3RlbXBmaWxlIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3doaWNoXT0iJHtiaW5kaXJ9L3doaWNoIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGViaWFudXRpbHMvZGViaWFudXRpbHNfNC44LjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2RlYmlhbnV0aWxzL2RlYmlhbnV0aWxzXzQuOC42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMzdlODQyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGViaWFudXRpbHMvZGViaWFudXRpbHNfNC44LjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi1TVU1NQVJZID0gIk1pc2NlbGxhbmVvdXMgdXRpbGl0aWVzIHNwZWNpZmljIHRvIERlYmlhbiIKLVNFQ1RJT04gPSAiYmFzZSIKLUxJQ0VOU0UgPSAiR1BMdjIgJiBTTUFJTF9HUEwiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT1mMDFhNTIwM2Q1MDUxMmZjNDgzMGI0MzMyYjY5NmE5ZiIKLQotU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE4MDYyNlQyMDUyMzhaL3Bvb2wvbWFpbi9kLyR7QlBOfS8ke0JQTn1fJHtQVn0udGFyLnh6IgotIyB0aGUgcGFja2FnZSBpcyB0YWtlbiBmcm9tIHNuYXBzaG90cy5kZWJpYW4ub3JnOyB0aGF0IHNvdXJjZSBpcyBzdGF0aWMgYW5kIGdvZXMgc3RhbGUKLSMgc28gd2UgY2hlY2sgdGhlIGxhdGVzdCB1cHN0cmVhbSBmcm9tIGEgZGlyZWN0b3J5IHRoYXQgZG9lcyBnZXQgdXBkYXRlZAotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9kLyR7QlBOfS8iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJmMGYxZmEzOTM4MzgxNWZiNzk1MGRjZWU1MmJlNDM2MSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkYjA5MDQ3MTQ0ZGFkZjZhMzVkMGYyODk3N2ZiZWY4M2IwZGQ2MGNhMzJlNmM4NTEyY2NlMjQ0NGE2NDIzZjczIgotCi1pbmhlcml0IGF1dG90b29scyB1cGRhdGUtYWx0ZXJuYXRpdmVzCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgIHNlZCAtaSAtZSAnczp0ZW1wZmlsZS4xIHdoaWNoLjE6d2hpY2guMTpnJyAke1N9L01ha2VmaWxlLmFtCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGlmIFsgIiR7YmFzZV9iaW5kaXJ9IiAhPSAiJHtiaW5kaXJ9IiBdOyB0aGVuCi0gICAgICAgICMgRGViaWFuIHBsYWNlcyBzb21lIHV0aWxzIGludG8gJHtiYXNlX2JpbmRpcn0gYXMgZG9lcyBidXN5Ym94Ci0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9Ci0gICAgICAgIGZvciBhcHAgaW4gcnVuLXBhcnRzIHRlbXBmaWxlOyBkbwotICAgICAgICAgICAgbXYgJHtEfSR7YmluZGlyfS8kYXBwICR7RH0ke2Jhc2VfYmluZGlyfS8kYXBwCi0gICAgICAgIGRvbmUKLSAgICBmaQotfQotCi0jIE5vdGUgdGhhdCB3ZSBwYWNrYWdlIHRoZSB1cGRhdGUtYWx0ZXJuYXRpdmVzIG5hbWUuCi0jCi1QQUNLQUdFUyA9KyAiJHtQTn0tcnVuLXBhcnRzIgotRklMRVNfJHtQTn0tcnVuLXBhcnRzID0gIiR7YmFzZV9iaW5kaXJ9L3J1bi1wYXJ0cy5kZWJpYW51dGlscyIKLQotUkRFUEVORFNfJHtQTn0gKz0gIiR7UE59LXJ1bi1wYXJ0cyIKLVJERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCi0KLUFMVEVSTkFUSVZFX1BSSU9SSVRZPSIzMCIKLUFMVEVSTkFUSVZFXyR7UE59ID0gImFkZC1zaGVsbCBpbnN0YWxsa2VybmVsIHJlbW92ZS1zaGVsbCBzYXZlbG9nIHRlbXBmaWxlIHdoaWNoIgotCi1BTFRFUk5BVElWRV9QUklPUklUWV8ke1BOfS1ydW4tcGFydHMgPSAiNjAiCi1BTFRFUk5BVElWRV8ke1BOfS1ydW4tcGFydHMgPSAicnVuLXBhcnRzIgotCi1BTFRFUk5BVElWRV8ke1BOfS1kb2MgPSAid2hpY2guMSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVt3aGljaC4xXSA9ICIke21hbmRpcn0vbWFuMS93aGljaC4xIgotCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbYWRkLXNoZWxsXT0iJHtzYmluZGlyfS9hZGQtc2hlbGwiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbaW5zdGFsbGtlcm5lbF09IiR7c2JpbmRpcn0vaW5zdGFsbGtlcm5lbCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtyZW1vdmUtc2hlbGxdPSIke3NiaW5kaXJ9L3JlbW92ZS1zaGVsbCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtydW4tcGFydHNdPSIke2Jhc2VfYmluZGlyfS9ydW4tcGFydHMiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbc2F2ZWxvZ109IiR7YmluZGlyfS9zYXZlbG9nIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3RlbXBmaWxlXT0iJHtiYXNlX2JpbmRpcn0vdGVtcGZpbGUiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbd2hpY2hdPSIke2JpbmRpcn0vd2hpY2giCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nZGJtL2dkYm1fMS4xOC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nZGJtL2dkYm1fMS4xOC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2ZWNjNTAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dkYm0vZ2RibV8xLjE4LjEuYmIKQEAgLTAsMCArMSw0MyBAQAorU1VNTUFSWSA9ICJLZXkvdmFsdWUgZGF0YWJhc2UgbGlicmFyeSB3aXRoIGV4dGVuc2libGUgaGFzaGluZyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nZGJtLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNDFkYTFiOWZlNDJlNjQyY2JiMmMyNGQ1ZTBjNGQyNCIKKworCitTUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZ2RibS9nZGJtLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vcHRlc3QucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjk4OGRjODIxODIxMjFjNzU3MGUwY2I4YjRmY2Q1NDE1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg2ZTYxMzUyN2U1ZGJhNTQ0ZTczMjA4ZjQyYjc4YjdjMDIyZDRmYTVhNmQ1NDk4YmYxOGM4ZDZmNzQ1YjkxZGMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdGV4aW5mbyBsaWJfcGFja2FnZSBwdGVzdAorCisjIE5lZWRlZCBmb3IgZGJtIHB5dGhvbiBtb2R1bGUKK0VYVFJBX09FQ09ORiA9ICItZW5hYmxlLWxpYmdkYm0tY29tcGF0IgorCisjIFN0b3AgcHJlc2VuY2Ugb2YgZGJtL25iZG0gb24gdGhlIGhvc3QgY29udGFtaW5hdGluZyBidWlsZHMKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9saWJfbmRibV9tYWluPW5vIGFjX2N2X2xpYl9kYm1fbWFpbj1ubyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgIyBDcmVhdGUgYSBzeW1saW5rIHRvIG5kYm0uaCBhbmQgZ2RibS5oIGluIGluY2x1ZGUvZ2RibSB0byBsZXQgb3RoZXIgcGFja2FnZXMgdG8gZmluZAorICAgICMgdGhlc2UgaGVhZGVycworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vZ2RibQorICAgIGxuIC1zZiAuLi9uZGJtLmggJHtEfS8ke2luY2x1ZGVkaXJ9L2dkYm0vbmRibS5oCisgICAgbG4gLXNmIC4uL2dkYm0uaCAke0R9LyR7aW5jbHVkZWRpcn0vZ2RibS9nZGJtLmgKK30KKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gImRpZmZ1dGlscyAke1BOfS1iaW4iCisKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisgICAgb2VfcnVubWFrZSAtQyB0ZXN0cyBidWlsZHRlc3RzCit9CisKK1BBQ0tBR0VTID0rICIke1BOfS1jb21wYXQgXAorICAgICAgICAgICAgIgorRklMRVNfJHtQTn0tY29tcGF0ID0gIiR7bGliZGlyfS9saWJnZGJtX2NvbXBhdCR7U09MSUJTfSBcCisgICAgICAgICAgICAgICAgICAgICAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dkYm0vZ2RibV8xLjE4LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nZGJtL2dkYm1fMS4xOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWFkNDMwMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dkYm0vZ2RibV8xLjE4LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotU1VNTUFSWSA9ICJLZXkvdmFsdWUgZGF0YWJhc2UgbGlicmFyeSB3aXRoIGV4dGVuc2libGUgaGFzaGluZyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nZGJtLyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNDFkYTFiOWZlNDJlNjQyY2JiMmMyNGQ1ZTBjNGQyNCIKLQotCi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZ2RibS9nZGJtLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICBmaWxlOi8vcHRlc3QucGF0Y2ggXAotICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gImUzMTZmOGU0YTNlN2U0ZjIzOTU1YmU2NWQ1NGZlYzQ4IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImI4ODIyY2I0NzY5ZTJkNzU5YzgyOGMwNmYxOTY2MTQ5MzZjODhjMTQxYzMxMzJiMTgyNTJmZTI1YzJiNjM1Y2UiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdGV4aW5mbyBsaWJfcGFja2FnZSBwdGVzdAotCi0jIE5lZWRlZCBmb3IgZGJtIHB5dGhvbiBtb2R1bGUKLUVYVFJBX09FQ09ORiA9ICItZW5hYmxlLWxpYmdkYm0tY29tcGF0IgotCi0jIFN0b3AgcHJlc2VuY2Ugb2YgZGJtL25iZG0gb24gdGhlIGhvc3QgY29udGFtaW5hdGluZyBidWlsZHMKLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9saWJfbmRibV9tYWluPW5vIGFjX2N2X2xpYl9kYm1fbWFpbj1ubyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0gICAgIyBDcmVhdGUgYSBzeW1saW5rIHRvIG5kYm0uaCBhbmQgZ2RibS5oIGluIGluY2x1ZGUvZ2RibSB0byBsZXQgb3RoZXIgcGFja2FnZXMgdG8gZmluZAotICAgICMgdGhlc2UgaGVhZGVycwotICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vZ2RibQotICAgIGxuIC1zZiAuLi9uZGJtLmggJHtEfS8ke2luY2x1ZGVkaXJ9L2dkYm0vbmRibS5oCi0gICAgbG4gLXNmIC4uL2dkYm0uaCAke0R9LyR7aW5jbHVkZWRpcn0vZ2RibS9nZGJtLmgKLX0KLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gImRpZmZ1dGlscyAke1BOfS1iaW4iCi0KLWRvX2NvbXBpbGVfcHRlc3QoKSB7Ci0gICAgb2VfcnVubWFrZSAtQyB0ZXN0cyBidWlsZHRlc3RzCi19Ci0KLVBBQ0tBR0VTID0rICIke1BOfS1jb21wYXQgXAotICAgICAgICAgICAgIgotRklMRVNfJHtQTn0tY29tcGF0ID0gIiR7bGliZGlyfS9saWJnZGJtX2NvbXBhdCR7U09MSUJTfSBcCi0gICAgICAgICAgICAgICAgICAgICAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvMDAwMS1nc3lzdGVtLXN1YnByb2Nlc3MuYy1FbmFibGUtR05VLWV4dGVuc2lvbnMtaW4tc3lzdGVtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvZ25vbWUtZGVza3RvcC10ZXN0aW5nLzAwMDEtZ3N5c3RlbS1zdWJwcm9jZXNzLmMtRW5hYmxlLUdOVS1leHRlbnNpb25zLWluLXN5c3RlbS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQwNjY2Zi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvMDAwMS1nc3lzdGVtLXN1YnByb2Nlc3MuYy1FbmFibGUtR05VLWV4dGVuc2lvbnMtaW4tc3lzdGVtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotRnJvbSBiMWRlMmM2MjkwYmMwNjUxZmU4N2E4YzRmYjUyZTdhMGE1ZmU2MzIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgNSBPY3QgMjAxNCAxNjowMTo0OSAtMDcwMAotU3ViamVjdDogW1BBVENIXSBnc3lzdGVtLXN1YnByb2Nlc3MuYzogRW5hYmxlIEdOVSBleHRlbnNpb25zIGluIHN5c3RlbSAgQwotIGxpYnJhcnkKLQotVGhpcyBzaG91bGQgZXhwb3J0IE9fQ0xPRVhFQyB3aGVyZSBpdCBpcyBvbmx5Ci1hdmFpbGFibGUgd2hlbiBfR05VX1NPVVJDRSBpcyBkZWZpbmVkIC5lLmcuIHVjbGliYyBiYXNlZCBzeXN0ZW1zCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0tLS0KLSBzcmMvbGliZ3N5c3RlbS9nc3lzdGVtLXN1YnByb2Nlc3MuYyB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9saWJnc3lzdGVtL2dzeXN0ZW0tc3VicHJvY2Vzcy5jIGIvc3JjL2xpYmdzeXN0ZW0vZ3N5c3RlbS1zdWJwcm9jZXNzLmMKLWluZGV4IGE5Njc4OTYuLmE1MmEzNjIgMTAwNjQ0Ci0tLS0gYS9zcmMvbGliZ3N5c3RlbS9nc3lzdGVtLXN1YnByb2Nlc3MuYwotKysrIGIvc3JjL2xpYmdzeXN0ZW0vZ3N5c3RlbS1zdWJwcm9jZXNzLmMKLUBAIC0xOCw2ICsxOCwxMCBAQAotIAotICNpbmNsdWRlICJjb25maWcuaCIKLSAKLSsjaWZuZGVmIF9HTlVfU09VUkNFCi0rI2RlZmluZSBfR05VX1NPVVJDRQotKyNlbmRpZgotKwotICNkZWZpbmUgX0dTWVNURU1fTk9fTE9DQUxfQUxMT0MKLSAjaW5jbHVkZSAibGliZ3N5c3RlbS5oIgotIAotLS0gCi0yLjEuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvdXBkYXRlLW91dHB1dC1zeW50YXgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvdXBkYXRlLW91dHB1dC1zeW50YXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5YzUyNGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvZ25vbWUtZGVza3RvcC10ZXN0aW5nL3VwZGF0ZS1vdXRwdXQtc3ludGF4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotCi1UaGUgdGVybXMgYEZBSUxgIGluc3RlYWQgb2YgYEZBSUxFRGAgYW5kIGBTS0lQYCBpbnN0ZWFkIG9mIGBTS0lQUEVEYAotbWF0Y2ggd2hhdCBBdXRvbWFrZSBkb2VzCi0KLVVwc3RyZWFtLVN0YXR1czogQWNjZXB0ZWQKLVsgaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLWRlc2t0b3AtdGVzdGluZy9jb21taXQvMDQ4ODUwNzMxYTY0MDUzMmVmNTVhNjFkZjczNTdmY2M2ZDJhZDUwMSBdCi0KLVNpZ25lZC1vZmYtYnk6IE1heGluIEIuIEpvaG4gPG1heGluLmpvaG5AaW50ZWwuY29tPgotLS0tCi1kaWZmIC1OYXVyIGdub21lLWRlc2t0b3AtdGVzdGluZy0yMDE0LjEtb3JpZy9zcmMvZ25vbWUtZGVza3RvcC10ZXN0aW5nLXJ1bm5lci5jIGdub21lLWRlc2t0b3AtdGVzdGluZy0yMDE0LjEvc3JjL2dub21lLWRlc2t0b3AtdGVzdGluZy1ydW5uZXIuYwotLS0tIGdub21lLWRlc2t0b3AtdGVzdGluZy0yMDE0LjEtb3JpZy9zcmMvZ25vbWUtZGVza3RvcC10ZXN0aW5nLXJ1bm5lci5jCTIwMTQtMDEtMTYgMTI6NTg6MjYuMDAwMDAwMDAwICswMjAwCi0rKysgZ25vbWUtZGVza3RvcC10ZXN0aW5nLTIwMTQuMS9zcmMvZ25vbWUtZGVza3RvcC10ZXN0aW5nLXJ1bm5lci5jCTIwMTUtMTEtMDIgMTE6Mjc6MzQuMDEwNTk0MTI2ICswMjAwCi1AQCAtMjgwLDEyICsyODAsMTIgQEAKLSAgIGVsc2UgaWYgKHRlc3QtPnN0YXRlID09IFRFU1RfU1RBVEVfQ09NUExFVEVfRkFJTEVEKQotICAgICB7Ci0gICAgICAgbXNnaWRfdmFsdWUgPSBPTkVfVEVTVF9GQUlMRURfTVNHSUQ7Ci0tICAgICAgbXNnID0gZ19zdHJjb25jYXQgKCJGQUlMRUQ6ICIsIHRlc3QtPm5hbWUsICIgKCIsIHJlYXNvbiwgIikiLCBOVUxMKTsKLSsgICAgICBtc2cgPSBnX3N0cmNvbmNhdCAoIkZBSUw6ICIsIHRlc3QtPm5hbWUsICIgKCIsIHJlYXNvbiwgIikiLCBOVUxMKTsKLSAgICAgfQotICAgZWxzZSBpZiAodGVzdC0+c3RhdGUgPT0gVEVTVF9TVEFURV9DT01QTEVURV9TS0lQUEVEKQotICAgICB7Ci0gICAgICAgbXNnaWRfdmFsdWUgPSBPTkVfVEVTVF9TS0lQUEVEX01TR0lEOwotLSAgICAgIG1zZyA9IGdfc3RyY29uY2F0ICgiU0tJUFBFRDogIiwgdGVzdC0+bmFtZSwgTlVMTCk7Ci0rICAgICAgbXNnID0gZ19zdHJjb25jYXQgKCJTS0lQOiAiLCB0ZXN0LT5uYW1lLCBOVUxMKTsKLSAgICAgfQotICAgZWxzZQotICAgICBnX2Fzc2VydF9ub3RfcmVhY2hlZCAoKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ25vbWUtZGVza3RvcC10ZXN0aW5nL2dub21lLWRlc2t0b3AtdGVzdGluZ18yMDE0LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmdfMjAxNC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjY2IzZDNiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ25vbWUtZGVza3RvcC10ZXN0aW5nL2dub21lLWRlc2t0b3AtdGVzdGluZ18yMDE0LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1TVU1NQVJZID0gIlRlc3QgcnVubmVyIGZvciBHTk9NRS1zdHlsZSBpbnN0YWxsZWQgdGVzdHMiCi1IT01FUEFHRSA9ICJodHRwczovL3dpa2kuZ25vbWUub3JnL0dub21lR29hbHMvSW5zdGFsbGVkVGVzdHMiCi1MSUNFTlNFID0gIkxHUEx2MisiCi0KLVNSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9LyR7QlBOfS8ke1BWfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZ3N5c3RlbS1zdWJwcm9jZXNzLmMtRW5hYmxlLUdOVS1leHRlbnNpb25zLWluLXN5c3RlbS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly91cGRhdGUtb3V0cHV0LXN5bnRheC5wYXRjaCBcCi0gICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gImE2MDhhZDcyYTc3ZTIzYTFhZWNkZmQ4ZDA3YTk0YmFmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFhM2VlZDczNjc4ZGQyMmQwOWQ2YTdlYzRmODk5NTU3ZGYzZThiNGE4MDJhZmZhNzZkMGYxNjNiMzEyODY1MzkiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNiZjUwMDAyYWVmZDAwMmY0OWU3YmI4NTQwNjNmN2U3IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9nbm9tZS1kZXNrdG9wLXRlc3RpbmctcnVubmVyLmM7ZW5kbGluZT0xOTttZDU9NjczMTFhNjAwYjgzZmQwMDY4ZGZjN2U1Yjg0ZmZiM2YiCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1QUiA9ICJyMSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbam91cm5hbGRdID0gIi0td2l0aC1zeXN0ZW1kLWpvdXJuYWwsLS13aXRob3V0LXN5c3RlbWQtam91cm5hbCxzeXN0ZW1kLHN5c3RlbWQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmdfMjAxOC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvZ25vbWUtZGVza3RvcC10ZXN0aW5nXzIwMTguMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGVmZWJlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvZ25vbWUtZGVza3RvcC10ZXN0aW5nXzIwMTguMS5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIlRlc3QgcnVubmVyIGZvciBHTk9NRS1zdHlsZSBpbnN0YWxsZWQgdGVzdHMiCitIT01FUEFHRSA9ICJodHRwczovL3dpa2kuZ25vbWUub3JnL0dub21lR29hbHMvSW5zdGFsbGVkVGVzdHMiCitMSUNFTlNFID0gIkxHUEx2MisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNiZjUwMDAyYWVmZDAwMmY0OWU3YmI4NTQwNjNmN2U3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9nbm9tZS1kZXNrdG9wLXRlc3RpbmctcnVubmVyLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9N2VmM2FkOWRhMmZmY2Y3NzA3ZGMxMTE1MWZlMDA3ZjQiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1kZXNrdG9wLXRlc3RpbmcuZ2l0O3Byb3RvY29sPWh0dHAiCitTUkNSRVYgPSAiNGRlY2FkZTY3YjI5YWQxNzBmY2YzZGUxNDhlNDE2OTVmYzQ1OWY0OCIKKworREVQRU5EUyA9ICJnbGliLTIuMCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICIsLHN5c3RlbWQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnLzAwMDEtV292ZXJyaWRlLWluaXQtaXMtbm90LW5lZWRlZC13aXRoLWdjYy05LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZy8wMDAxLVdvdmVycmlkZS1pbml0LWlzLW5vdC1uZWVkZWQtd2l0aC1nY2MtOS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTI4MGY5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZy8wMDAxLVdvdmVycmlkZS1pbml0LWlzLW5vdC1uZWVkZWQtd2l0aC1nY2MtOS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDBkZjU4MDBjYzJlNzIwYWFkODgzYTUxN2Y3ZDI0YTk3MjJmZTU4NDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVGh1LCAyMCBEZWMgMjAxOCAxNzozNzo0OCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBXb3ZlcnJpZGUtaW5pdCBpcyBub3QgbmVlZGVkIHdpdGggZ2NjIDkKKworRml4ZXMKK3wgLi4vLi4vZ251cGctMi4yLjEyL2Rpcm1uZ3IvZG5zLmg6NTI1OjE2OiBlcnJvcjogbHZhbHVlIHJlcXVpcmVkIGFzCit1bmFyeSAnJicgb3BlcmFuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cis1MjUgfCAgZG5zX3JyX2lfaW5pdCgmZG5zX3F1aWV0aW5pdCgoc3RydWN0IGRuc19ycl9pKXsgMCwgX19WQV9BUkdTX18KK30pLCAoUCkpCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZGlybW5nci9kbnMuaCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2Rpcm1uZ3IvZG5zLmggYi9kaXJtbmdyL2Rucy5oCitpbmRleCAzMGQwYjQ1Li45OGZlNDEyIDEwMDY0NAorLS0tIGEvZGlybW5nci9kbnMuaAorKysrIGIvZGlybW5nci9kbnMuaAorQEAgLTE1NCw3ICsxNTQsNyBAQCBETlNfUFVCTElDIGludCAqZG5zX2RlYnVnX3Aodm9pZCk7CisgCisgI2RlZmluZSBkbnNfcXVpZXRpbml0KC4uLikgXAorIAlETlNfUFJBR01BX1BVU0ggRE5TX1BSQUdNQV9RVUlFVCBfX1ZBX0FSR1NfXyBETlNfUFJBR01BX1BPUAorLSNlbGlmIChfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID49IDYpIHx8IF9fR05VQ19fID4gNAorKyNlbGlmIChfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID49IDYpIHx8IChfX0dOVUNfXyA+IDQgJiYgX19HTlVDX18gPCA5KQorICNkZWZpbmUgRE5TX1BSQUdNQV9QVVNIIF9QcmFnbWEoIkdDQyBkaWFnbm9zdGljIHB1c2giKQorICNkZWZpbmUgRE5TX1BSQUdNQV9RVUlFVCBfUHJhZ21hKCJHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdvdmVycmlkZS1pbml0XCIiKQorICNkZWZpbmUgRE5TX1BSQUdNQV9QT1AgX1ByYWdtYSgiR0NDIGRpYWdub3N0aWMgcG9wIikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251cGcvZ251cGcvMDAwMS1jb25maWd1cmUuYWMtdXNlLWEtY3VzdG9tLXZhbHVlLWZvci10aGUtbG9jYXRpb24tb2YtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZy8wMDAxLWNvbmZpZ3VyZS5hYy11c2UtYS1jdXN0b20tdmFsdWUtZm9yLXRoZS1sb2NhdGlvbi1vZi0ucGF0Y2gKaW5kZXggM2YxYzNhYi4uMmMyMDRlMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZy8wMDAxLWNvbmZpZ3VyZS5hYy11c2UtYS1jdXN0b20tdmFsdWUtZm9yLXRoZS1sb2NhdGlvbi1vZi0ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZy8wMDAxLWNvbmZpZ3VyZS5hYy11c2UtYS1jdXN0b20tdmFsdWUtZm9yLXRoZS1sb2NhdGlvbi1vZi0ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDhlYjRkMjVjMjVhMWMxMzIzNzk3ZDk0ZTA3MjdhM2U0MmI3ZjMyODcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGU3YWQxMWNmNTQ0NzVlNDU1ZmRiODRkMTE4ZTQ3ODI5NjE2OTg1NjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIERhdGU6IE1vbiwgMjIgSmFuIDIwMTggMTg6MDA6MjEgKzAyMDAKIFN1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlLmFjOiB1c2UgYSBjdXN0b20gdmFsdWUgZm9yIHRoZSBsb2NhdGlvbiBvZgpAQCAtMTQsMTAgKzE0LDEwIEBACiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDRkNjZhZjkuLmI5ZWYyMzUgMTAwNjQ0CitpbmRleCA5MTlhYjMxLi5jZDU4ZmRiIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFjCiArKysgYi9jb25maWd1cmUuYWMKLUBAIC0xODQ4LDcgKzE4NDgsNyBAQCBBQ19ERUZJTkVfVU5RVU9URUQoR1BHQ09ORl9ESVNQX05BTUUsICJHUEdDb25mIiwKK0BAIC0xODU1LDcgKzE4NTUsNyBAQCBBQ19ERUZJTkVfVU5RVU9URUQoR1BHQ09ORl9ESVNQX05BTUUsICJHUEdDb25mIiwKICAKICBBQ19ERUZJTkVfVU5RVU9URUQoR1BHVEFSX05BTUUsICJncGd0YXIiLCBbVGhlIG5hbWUgb2YgdGhlIGdwZ3RhciB0b29sXSkKICAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251cGcvZ251cGcvcmVsb2NhdGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnL3JlbG9jYXRlLnBhdGNoCmluZGV4IGM0OTRlZjguLmU1YTgyYWEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251cGcvZ251cGcvcmVsb2NhdGUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZy9yZWxvY2F0ZS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gZjlmYzIxNGIwYmYyZjY3YjUxNWNhOGE1MzMzZjM5YzQ5N2QxYjUxOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNTljMDc3ZjMyZTgxMTkwOTU1OTEwY2FlMDI1OTljN2EzZWRmYTdmYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CiBEYXRlOiBXZWQsIDE5IFNlcCAyMDE4IDE0OjQ0OjQwICswMTAwCiBTdWJqZWN0OiBbUEFUQ0hdIEFsbG93IHRoZSBlbnZpcm9ubWVudCB0byBvdmVycmlkZSB3aGVyZSBnbnVwZyBsb29rcyBmb3IgaXRzCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnXzIuMi4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251cGcvZ251cGdfMi4yLjEyLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZjM4MWMyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251cGcvZ251cGdfMi4yLjEyLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotU1VNTUFSWSA9ICJHTlUgUHJpdmFjeSBHdWFyZCAtIGVuY3J5cHRpb24gYW5kIHNpZ25pbmcgdG9vbHMgKDIueCkiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudXBnLm9yZy8iCi1MSUNFTlNFID0gIkdQTHYzICYgTEdQTHYzIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTg5YWY4YWZjYTZkNjA3NWJhNmM5ZTBhYTgwNzc2MjYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMMzttZDU9YTJiNmJmMmNiMzhlZTUyNjE5ZTYwZjMwYTFmYzcyNTciCi0KLURFUEVORFMgPSAibnB0aCBsaWJhc3N1YW4gbGlia3NiYSB6bGliIGJ6aXAyIHJlYWRsaW5lIGxpYmdjcnlwdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB0ZXhpbmZvIHBrZ2NvbmZpZwotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9nbnVwZy5vcmcvZG93bmxvYWQvaW5kZXguaHRtbCIKLVNSQ19VUkkgPSAiJHtHTlVQR19NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWZpbmQtcHRoLWluc3RlYWQtb2YtcHRoLWNvbmZpZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLXVzZS1wa2djb25maWctaW5zdGVhZC1vZi1ucHRoLWNvbmZpZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLWRpcm1uZ3ItdXNlcy1saWJncGctZXJyb3IucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1hdXRvZ2VuLnNoLWZpeC1maW5kLXZlcnNpb24tZm9yLWJldGEtY2hlY2tpbmcucGF0Y2ggXAotICAgICAgICAgICIKLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLXVzZS1hLWN1c3RvbS12YWx1ZS1mb3ItdGhlLWxvY2F0aW9uLW9mLS5wYXRjaCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9yZWxvY2F0ZS5wYXRjaCIKLQotCi1TUkNfVVJJW21kNXN1bV0gPSAiNDIxYjE3MDI4ODc4YjI1M2M1YWNmZWYwNTZiYzYxNDEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGIwMzBmOGI0Yzk4NjQwZTkxMzAwZDM2ZDUxNmYxZjRmOGZlMDk1MTRhOTRlYTlmYzc0MTFlZTFhMzQwODJjYiIKLQotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1sZGFwIFwKLQkJLS1kaXNhYmxlLWNjaWQtZHJpdmVyIFwKLQkJLS13aXRoLXpsaWI9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAotCQktLXdpdGgtYnppcDI9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAotCQktLXdpdGgtcmVhZGxpbmU9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAotCQktLWVuYWJsZS1ncGctaXMtZ3BnMiBcCi0gICAgICAgICAgICAgICAiCi1SUkVDT01NRU5EU18ke1BOfSA9ICJwaW5lbnRyeSIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotCSMgRWxzZSB0aGVzZSBjb3VsZCBiZSB1c2VkIGluIHByZWZlcm5jZSB0byB0aG9zZSBpbiBhY2xvY2FsLWNvcHkKLQlybSAtZiAke1N9L200L2dwZy1lcnJvci5tNAotCXJtIC1mICR7U30vbTQvbGliYXNzdWFuLm00Ci0Jcm0gLWYgJHtTfS9tNC9rc2JhLm00Ci0Jcm0gLWYgJHtTfS9tNC9saWJnY3J5cHQubTQKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0JbG4gLXNmIGdwZzIgJHtEfSR7YmluZGlyfS9ncGcKLQlsbiAtc2YgZ3BndjIgJHtEfSR7YmluZGlyfS9ncGd2Ci19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLQljcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L2dwZzIgR05VUEdfQklORElSPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfQotfQotCi1QQUNLQUdFQ09ORklHID8/PSAiZ251dGxzIgotUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0tZW5hYmxlLWdudXRscywgLS1kaXNhYmxlLWdudXRscywgZ251dGxzIgotUEFDS0FHRUNPTkZJR1tzcWxpdGUzXSA9ICItLWVuYWJsZS1zcWxpdGUsIC0tZGlzYWJsZS1zcWxpdGUsIHNxbGl0ZTMiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZ18yLjIuMTMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnXzIuMi4xMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zY2UyYTM4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZ18yLjIuMTMuYmIKQEAgLTAsMCArMSw1NiBAQAorU1VNTUFSWSA9ICJHTlUgUHJpdmFjeSBHdWFyZCAtIGVuY3J5cHRpb24gYW5kIHNpZ25pbmcgdG9vbHMgKDIueCkiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudXBnLm9yZy8iCitMSUNFTlNFID0gIkdQTHYzICYgTEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTg5YWY4YWZjYTZkNjA3NWJhNmM5ZTBhYTgwNzc2MjYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMMzttZDU9YTJiNmJmMmNiMzhlZTUyNjE5ZTYwZjMwYTFmYzcyNTciCisKK0RFUEVORFMgPSAibnB0aCBsaWJhc3N1YW4gbGlia3NiYSB6bGliIGJ6aXAyIHJlYWRsaW5lIGxpYmdjcnlwdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB0ZXhpbmZvIHBrZ2NvbmZpZworCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9nbnVwZy5vcmcvZG93bmxvYWQvaW5kZXguaHRtbCIKK1NSQ19VUkkgPSAiJHtHTlVQR19NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWZpbmQtcHRoLWluc3RlYWQtb2YtcHRoLWNvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLXVzZS1wa2djb25maWctaW5zdGVhZC1vZi1ucHRoLWNvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLWRpcm1uZ3ItdXNlcy1saWJncGctZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1hdXRvZ2VuLnNoLWZpeC1maW5kLXZlcnNpb24tZm9yLWJldGEtY2hlY2tpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Xb3ZlcnJpZGUtaW5pdC1pcy1ub3QtbmVlZGVkLXdpdGgtZ2NjLTkucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5hYy11c2UtYS1jdXN0b20tdmFsdWUtZm9yLXRoZS1sb2NhdGlvbi1vZi0ucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcmVsb2NhdGUucGF0Y2giCisKKworU1JDX1VSSVttZDVzdW1dID0gIjU2M2I5NTlkMGMzODU2ZTM0NTI2ZTljYTUxYzgwZDdiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc2Yzc4N2E5NTVmOWU2ZTBlYWQ0N2M5YmU3MDBiZmI5ZDQ1NGY5NTVhN2I3YzdlNjk3YWE3MTliYWM3YjExZDgiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtbGRhcCBcCisJCS0tZGlzYWJsZS1jY2lkLWRyaXZlciBcCisJCS0td2l0aC16bGliPSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKKwkJLS13aXRoLWJ6aXAyPSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKKwkJLS13aXRoLXJlYWRsaW5lPSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKKwkJLS1lbmFibGUtZ3BnLWlzLWdwZzIgXAorICAgICAgICAgICAgICAgIgorUlJFQ09NTUVORFNfJHtQTn0gPSAicGluZW50cnkiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKwkjIEVsc2UgdGhlc2UgY291bGQgYmUgdXNlZCBpbiBwcmVmZXJuY2UgdG8gdGhvc2UgaW4gYWNsb2NhbC1jb3B5CisJcm0gLWYgJHtTfS9tNC9ncGctZXJyb3IubTQKKwlybSAtZiAke1N9L200L2xpYmFzc3Vhbi5tNAorCXJtIC1mICR7U30vbTQva3NiYS5tNAorCXJtIC1mICR7U30vbTQvbGliZ2NyeXB0Lm00Cit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCWxuIC1zZiBncGcyICR7RH0ke2JpbmRpcn0vZ3BnCisJbG4gLXNmIGdwZ3YyICR7RH0ke2JpbmRpcn0vZ3BndgorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisJY3JlYXRlX3dyYXBwZXIgJHtEfSR7YmluZGlyfS9ncGcyIEdOVVBHX0JJTkRJUj0ke1NUQUdJTkdfQklORElSX05BVElWRX0KK30KKworUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyIKK1BBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItLWVuYWJsZS1nbnV0bHMsIC0tZGlzYWJsZS1nbnV0bHMsIGdudXRscyIKK1BBQ0tBR0VDT05GSUdbc3FsaXRlM10gPSAiLS1lbmFibGUtc3FsaXRlLCAtLWRpc2FibGUtc3FsaXRlLCBzcWxpdGUzIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251dGxzL2dudXRsc18zLjYuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251dGxzL2dudXRsc18zLjYuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQyYTExZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXRscy9nbnV0bHNfMy42LjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi1TVU1NQVJZID0gIkdOVSBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkgTGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nbnV0bHMvIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL3NhdmFubmFoLmdudS5vcmcvc3VwcG9ydC8/Z3JvdXA9Z251dGxzIgotCi1MSUNFTlNFID0gIkdQTHYzKyAmIExHUEx2Mi4xKyIKLUxJQ0VOU0VfJHtQTn0gPSAiTEdQTHYyLjErIgotTElDRU5TRV8ke1BOfS14eCA9ICJMR1BMdjIuMSsiCi1MSUNFTlNFXyR7UE59LWJpbiA9ICJHUEx2MysiCi1MSUNFTlNFXyR7UE59LW9wZW5zc2wgPSAiR1BMdjMrIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT03MTM5MWM4ZTBjMWNmZTY4MDc3ZTdmY2UzYjU4NjI4MyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2MvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jL0NPUFlJTkcuTEVTU0VSO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyIKLQotREVQRU5EUyA9ICJuZXR0bGUgZ21wIHZpcnR1YWwvbGliaWNvbnYgbGlidW5pc3RyaW5nIgotREVQRU5EU19hcHBlbmRfbGliYy1tdXNsID0gIiBhcmdwLXN0YW5kYWxvbmUiCi0KLVNIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgotCi1TUkNfVVJJID0gImh0dHBzOi8vd3d3LmdudXBnLm9yZy9mdHAvZ2NyeXB0L2dudXRscy92JHtTSFJUX1ZFUn0vZ251dGxzLSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly9hcm1fZWFiaS5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2MzM2M2QxYzAwNjAxZjRkMTFhNWNhZGM4YjVlMDc5OSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJjNjYzYTc5MmZiYzg0MzQ5YzI3YzM2MDU5MTgxZjJjYTg2Yzk0NDJlNzVlZThiMGFkNzJmNWY5YjM1ZGVhYjNhIgotCi1pbmhlcml0IGF1dG90b29scyB0ZXhpbmZvIGJpbmNvbmZpZyBwa2djb25maWcgZ2V0dGV4dCBsaWJfcGFja2FnZSBndGstZG9jCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJsaWJpZG4iCi0KLSMgWW91IG11c3QgYWxzbyBoYXZlIENPTkZJR19TRUNDT01QIGVuYWJsZWQgaW4gdGhlIGtlcm5lbCBmb3IKLSMgc2VjY29tcCB0byB3b3JrLgotUEFDS0FHRUNPTkZJR1tzZWNjb21wXSA9ICJhY19jdl9saWJzZWNjb21wPXllcyxhY19jdl9saWJzZWNjb21wPW5vLGxpYnNlY2NvbXAiCi1QQUNLQUdFQ09ORklHW2xpYmlkbl0gPSAiLS13aXRoLWlkbiwtLXdpdGhvdXQtaWRuLGxpYmlkbjIiCi1QQUNLQUdFQ09ORklHW2xpYnRhc24xXSA9ICItLXdpdGgtaW5jbHVkZWQtbGlidGFzbjE9bm8sLS13aXRoLWluY2x1ZGVkLWxpYnRhc24xLGxpYnRhc24xIgotUEFDS0FHRUNPTkZJR1twMTEta2l0XSA9ICItLXdpdGgtcDExLWtpdCwtLXdpdGhvdXQtcDExLWtpdCxwMTEta2l0IgotUEFDS0FHRUNPTkZJR1t0cG1dID0gIi0td2l0aC10cG0sLS13aXRob3V0LXRwbSx0cm91c2VycyIKLQotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS1lbmFibGUtZG9jIFwKLSAgICAtLWRpc2FibGUtbGliZGFuZSBcCi0gICAgLS1kaXNhYmxlLWd1aWxlIFwKLSAgICAtLWRpc2FibGUtcnBhdGggXAotICAgIC0tZW5hYmxlLWxvY2FsLWxpYm9wdHMgXAotICAgIC0tZW5hYmxlLW9wZW5zc2wtY29tcGF0aWJpbGl0eSBcCi0gICAgLS13aXRoLWxpYnB0aHJlYWQtcHJlZml4PSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH0gXAotICAgIC0td2l0aG91dC1saWJ1bmlzdHJpbmctcHJlZml4IFwKLSIKLQotTERGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtbGFyZ3AiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotCWZvciBkaXIgaW4gLiBsaWI7IGRvCi0JCXJtIC1mICR7ZGlyfS9hY2xvY2FsLm00ICR7ZGlyfS9tNC9saWJ0b29sLm00ICR7ZGlyfS9tNC9sdCoubTQKLQlkb25lCi19Ci0KLVBBQ0tBR0VTID0rICIke1BOfS1vcGVuc3NsICR7UE59LXh4IgotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7YmluZGlyfS9nbnV0bHMtY2xpLWRlYnVnIgotRklMRVNfJHtQTn0tb3BlbnNzbCA9ICIke2xpYmRpcn0vbGliZ251dGxzLW9wZW5zc2wuc28uKiIKLUZJTEVTXyR7UE59LXh4ID0gIiR7bGliZGlyfS9saWJnbnV0bHN4eC5zby4qIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXRscy9nbnV0bHNfMy42LjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXRscy9nbnV0bHNfMy42LjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGZjMzUwNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251dGxzL2dudXRsc18zLjYuNS5iYgpAQCAtMCwwICsxLDY0IEBACitTVU1NQVJZID0gIkdOVSBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkgTGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nbnV0bHMvIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL3NhdmFubmFoLmdudS5vcmcvc3VwcG9ydC8/Z3JvdXA9Z251dGxzIgorCitMSUNFTlNFID0gIkdQTHYzKyAmIExHUEx2Mi4xKyIKK0xJQ0VOU0VfJHtQTn0gPSAiTEdQTHYyLjErIgorTElDRU5TRV8ke1BOfS14eCA9ICJMR1BMdjIuMSsiCitMSUNFTlNFXyR7UE59LWJpbiA9ICJHUEx2MysiCitMSUNFTlNFXyR7UE59LW9wZW5zc2wgPSAiR1BMdjMrIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT03MTM5MWM4ZTBjMWNmZTY4MDc3ZTdmY2UzYjU4NjI4MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2MvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jL0NPUFlJTkcuTEVTU0VSO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyIKKworREVQRU5EUyA9ICJuZXR0bGUgZ21wIHZpcnR1YWwvbGliaWNvbnYgbGlidW5pc3RyaW5nIgorREVQRU5EU19hcHBlbmRfbGliYy1tdXNsID0gIiBhcmdwLXN0YW5kYWxvbmUiCisKK1NIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LmdudXBnLm9yZy9mdHAvZ2NyeXB0L2dudXRscy92JHtTSFJUX1ZFUn0vZ251dGxzLSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9hcm1fZWFiaS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzNDc0ODQ5ZTFiYmQ0ZDE2NDAzYjgyYWIyNTc5MDAwYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNzNlY2VkM2FjZWY0OWEzODgzZTY5ZmZkNWYwZjBiNWY0NmUyNzYwYWQ4NmVkZGM2YzA4NjZkZjRlN2FiYjM1IgorCitpbmhlcml0IGF1dG90b29scyB0ZXhpbmZvIHBrZ2NvbmZpZyBnZXR0ZXh0IGxpYl9wYWNrYWdlIGd0ay1kb2MKKworUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmlkbiIKKworIyBZb3UgbXVzdCBhbHNvIGhhdmUgQ09ORklHX1NFQ0NPTVAgZW5hYmxlZCBpbiB0aGUga2VybmVsIGZvcgorIyBzZWNjb21wIHRvIHdvcmsuCitQQUNLQUdFQ09ORklHW3NlY2NvbXBdID0gImFjX2N2X2xpYnNlY2NvbXA9eWVzLGFjX2N2X2xpYnNlY2NvbXA9bm8sbGlic2VjY29tcCIKK1BBQ0tBR0VDT05GSUdbbGliaWRuXSA9ICItLXdpdGgtaWRuLC0td2l0aG91dC1pZG4sbGliaWRuMiIKK1BBQ0tBR0VDT05GSUdbbGlidGFzbjFdID0gIi0td2l0aC1pbmNsdWRlZC1saWJ0YXNuMT1ubywtLXdpdGgtaW5jbHVkZWQtbGlidGFzbjEsbGlidGFzbjEiCitQQUNLQUdFQ09ORklHW3AxMS1raXRdID0gIi0td2l0aC1wMTEta2l0LC0td2l0aG91dC1wMTEta2l0LHAxMS1raXQiCitQQUNLQUdFQ09ORklHW3RwbV0gPSAiLS13aXRoLXRwbSwtLXdpdGhvdXQtdHBtLHRyb3VzZXJzIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWVuYWJsZS1kb2MgXAorICAgIC0tZGlzYWJsZS1saWJkYW5lIFwKKyAgICAtLWRpc2FibGUtZ3VpbGUgXAorICAgIC0tZGlzYWJsZS1ycGF0aCBcCisgICAgLS1lbmFibGUtbG9jYWwtbGlib3B0cyBcCisgICAgLS1lbmFibGUtb3BlbnNzbC1jb21wYXRpYmlsaXR5IFwKKyAgICAtLXdpdGgtbGlicHRocmVhZC1wcmVmaXg9JHtTVEFHSU5HX0RJUl9IT1NUfSR7cHJlZml4fSBcCisgICAgLS13aXRob3V0LWxpYnVuaXN0cmluZy1wcmVmaXggXAorIgorCitMREZMQUdTX2FwcGVuZF9saWJjLW11c2wgPSAiIC1sYXJncCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisJZm9yIGRpciBpbiAuIGxpYjsgZG8KKwkJcm0gLWYgJHtkaXJ9L2FjbG9jYWwubTQgJHtkaXJ9L200L2xpYnRvb2wubTQgJHtkaXJ9L200L2x0Ki5tNAorCWRvbmUKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LW9wZW5zc2wgJHtQTn0teHgiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9L2dudXRscy1jbGktZGVidWciCitGSUxFU18ke1BOfS1vcGVuc3NsID0gIiR7bGliZGlyfS9saWJnbnV0bHMtb3BlbnNzbC5zby4qIgorRklMRVNfJHtQTn0teHggPSAiJHtsaWJkaXJ9L2xpYmdudXRsc3h4LnNvLioiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwMS1wa2djb25maWcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDEtcGtnY29uZmlnLnBhdGNoCmluZGV4IGFlOWE0NmUuLjE3NjcyM2MgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwMS1wa2djb25maWcucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDAxLXBrZ2NvbmZpZy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gYzQ1MmJhNThkZDJmOTlkNmU2MjQ0MjE2OTc0MTdjYzAxOGY5YTY3YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNjQ5MmM5NTJkNjFiYjkzYThiZjgyMDBjMDkzZDdlNDkxNDU2YWE1YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPgogRGF0ZTogRnJpLCAyOSBKdW4gMjAxOCAxNDozNTo0MSArMDgwMAogU3ViamVjdDogW1BBVENIIDEvN10gcGtnY29uZmlnCkBAIC0yNSwxMCArMjUsMTAgQEAKICBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2dwZ21lLnBjLmluCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDJhMzU0MDQuLjc0ODVjZGYgMTAwNjQ0CitpbmRleCBhZjU2OWFjLi44NjViZDEwIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFjCiArKysgYi9jb25maWd1cmUuYWMKLUBAIC04ODYsNiArODg2LDcgQEAgQUNfQ09ORklHX0ZJTEVTKE1ha2VmaWxlIHNyYy9NYWtlZmlsZQorQEAgLTg5NSw2ICs4OTUsNyBAQCBBQ19DT05GSUdfRklMRVMoTWFrZWZpbGUgc3JjL01ha2VmaWxlCiAgICAgICAgICAgICAgICAgIHNyYy92ZXJzaW9uaW5mby5yYwogICAgICAgICAgICAgICAgICBzcmMvZ3BnbWUuaCkKICBBQ19DT05GSUdfRklMRVMoc3JjL2dwZ21lLWNvbmZpZywgY2htb2QgK3ggc3JjL2dwZ21lLWNvbmZpZykKQEAgLTM3LDcgKzM3LDcgQEAKICBBQ19DT05GSUdfRklMRVMobGFuZy9jcHAvc3JjL0dwZ21lcHBDb25maWctdzMyLmNtYWtlLmluKQogIEFDX0NPTkZJR19GSUxFUyhsYW5nL2NwcC9zcmMvR3BnbWVwcENvbmZpZy5jbWFrZS5pbikKIGRpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KLWluZGV4IDBhMTk2ZTAuLmNlY2FmOGYgMTAwNjQ0CitpbmRleCAxMzk0YzAyLi44NDUxYzNhIDEwMDY0NAogLS0tIGEvc3JjL01ha2VmaWxlLmFtCiArKysgYi9zcmMvTWFrZWZpbGUuYW0KIEBAIC0xOSwxMiArMTksMTQgQEAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwMi1ncGdtZS1sYW5nLXB5dGhvbi1ncGctZXJyb3ItY29uZmlnLXNob3VsZC1ub3QtYmUtdXNlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDAyLWdwZ21lLWxhbmctcHl0aG9uLWdwZy1lcnJvci1jb25maWctc2hvdWxkLW5vdC1iZS11c2UucGF0Y2gKaW5kZXggNGY1Y2VkYS4uMGQwZDBjNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDAyLWdwZ21lLWxhbmctcHl0aG9uLWdwZy1lcnJvci1jb25maWctc2hvdWxkLW5vdC1iZS11c2UucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDAyLWdwZ21lLWxhbmctcHl0aG9uLWdwZy1lcnJvci1jb25maWctc2hvdWxkLW5vdC1iZS11c2UucGF0Y2gKQEAgLTEsNiArMSw2IEBACi1Gcm9tIDQ1ZDgyODM1NmVmYzE0MGExNDkyYmVmYjFlNmRjNTlhOWY0ZTE2YjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDAzODE5YWQxMjcwYTI3OTIyMzIxOWMwZTcwYmE2MzFiZmU1MTc3MTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDMxIEphbiAyMDE4IDEwOjQ0OjE5ICswODAwCitEYXRlOiBXZWQsIDE3IE9jdCAyMDE4IDIzOjMyOjE5ICswODAwCiBTdWJqZWN0OiBbUEFUQ0ggMi83XSBncGdtZS9sYW5nL3B5dGhvbjogZ3BnLWVycm9yLWNvbmZpZyBzaG91bGQgbm90IGJlIHVzZWQKIAogZ3BnLWVycm9yLWNvbmZpZyB3YXMgbW9kaWZpZWQgYnkgT0UgdG8gYWx3YXlzIHJldHVybiBhbiBlcnJvci4KQEAgLTExLDM4ICsxMSw0MCBAQAogCiBTaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+CiAKLVJld29yayB0byAxLjEwLjAKK1JlYmFzZSB0byAxLjEyLjAKIAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogLS0tCi0gbGFuZy9weXRob24vc2V0dXAucHkuaW4gfCAxMCArLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCA5IGRlbGV0aW9ucygtKQorIGxhbmcvcHl0aG9uL3NldHVwLnB5LmluIHwgMTEgKy0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEwIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbGFuZy9weXRob24vc2V0dXAucHkuaW4gYi9sYW5nL3B5dGhvbi9zZXR1cC5weS5pbgotaW5kZXggMjU5NTA3My4uNjBiNTI1NyAxMDA3NTUKK2luZGV4IDY1YTRiZTAuLjExYjg0MTMgMTAwNzU1CiAtLS0gYS9sYW5nL3B5dGhvbi9zZXR1cC5weS5pbgogKysrIGIvbGFuZy9weXRob24vc2V0dXAucHkuaW4KLUBAIC0yNiw3ICsyNiw2IEBAIGltcG9ydCBzaHV0aWwKLSBpbXBvcnQgc3VicHJvY2VzcworQEAgLTMwLDcgKzMwLDYgQEAgaW1wb3J0IHN1YnByb2Nlc3MKKyBpbXBvcnQgc3lzCiAgCiAgIyBPdXQtb2YtdHJlZSBidWlsZCBvZiB0aGUgZ3BnIGJpbmRpbmdzLgogLWdwZ19lcnJvcl9jb25maWcgPSBbImdwZy1lcnJvci1jb25maWciXQogIGdwZ21lX2NvbmZpZ19mbGFncyA9IFsiLS10aHJlYWQ9cHRocmVhZCJdCiAgZ3BnbWVfY29uZmlnID0gWyJncGdtZS1jb25maWciXSArIGdwZ21lX2NvbmZpZ19mbGFncwogIGdwZ21lX2ggPSAiIgotQEAgLTE1NywxNCArMTU2LDcgQEAgY2xhc3MgQnVpbGRFeHRGaXJzdEhhY2soYnVpbGQpOgorQEAgLTE4MSwxNiArMTgwLDggQEAgY2xhc3MgQnVpbGRFeHRGaXJzdEhhY2soYnVpbGQpOgorICAgICAgICAgc2h1dGlsLmNvcHkyKHNvdXJjZV9uYW1lLCBzaW5rX25hbWUpCiAgCiAgICAgIGRlZiBfZ2VuZXJhdGVfZXJyb3JzX2koc2VsZik6Ci0gCistCiAtICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGdwZ19lcnJvcl9jb25maWcgKyBbJy0tdmVyc2lvbiddLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9ZGV2bnVsbCkKKy0gICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoCistICAgICAgICAgICAgICAgIGdwZ19lcnJvcl9jb25maWcgKyBbJy0tdmVyc2lvbiddLCBzdGRvdXQ9ZGV2bnVsbCkKIC0gICAgICAgIGV4Y2VwdDoKIC0gICAgICAgICAgICBzeXMuZXhpdCgiQ291bGQgbm90IGZpbmQgZ3BnLWVycm9yLWNvbmZpZy4gICIgKwogLSAgICAgICAgICAgICAgICAgICAgICJQbGVhc2UgaW5zdGFsbCB0aGUgbGliZ3BnLWVycm9yIGRldmVsb3BtZW50IHBhY2thZ2UuIikKIC0KLS0gICAgICAgIGdwZ19lcnJvcl9jb250ZW50ID0gc2VsZi5fcmVhZF9oZWFkZXIoImdwZy1lcnJvci5oIiwgZ2V0Y29uZmlnKCJjZmxhZ3MiLCBjb25maWc9Z3BnX2Vycm9yX2NvbmZpZykpCi0rICAgICAgICBncGdfZXJyb3JfY29udGVudCA9IHNlbGYuX3JlYWRfaGVhZGVyKCJncGctZXJyb3IuaCIsIG9zLmVudmlyb24uZ2V0KCdDRkxBR1MnKS5zcGxpdCgpKQorICAgICAgICAgZ3BnX2Vycm9yX2NvbnRlbnQgPSBzZWxmLl9yZWFkX2hlYWRlcigKKy0gICAgICAgICAgICAiZ3BnLWVycm9yLmgiLCBnZXRjb25maWcoImNmbGFncyIsIGNvbmZpZz1ncGdfZXJyb3JfY29uZmlnKSkKKysgICAgICAgICAgICAiZ3BnLWVycm9yLmgiLCBvcy5lbnZpcm9uLmdldCgnQ0ZMQUdTJykuc3BsaXQoKSkKICAKICAgICAgICAgIGZpbHRlcl9yZSA9IHJlLmNvbXBpbGUocidHUEdfRVJSX1teIF0qID0nKQogICAgICAgICAgcmV3cml0ZV9yZSA9IHJlLmNvbXBpbGUocicgKiguKikgPSAuKicpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDMtQ29ycmVjdGx5LWluc3RhbGwtcHl0aG9uLW1vZHVsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDMtQ29ycmVjdGx5LWluc3RhbGwtcHl0aG9uLW1vZHVsZXMucGF0Y2gKaW5kZXggMzMwYmVjNi4uZGUxNjg5ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDAzLUNvcnJlY3RseS1pbnN0YWxsLXB5dGhvbi1tb2R1bGVzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwMy1Db3JyZWN0bHktaW5zdGFsbC1weXRob24tbW9kdWxlcy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNjBiYWY5ZWJmMzBiZWQwZTJlZTNjN2M1YTc0ZDViNmQ1MDAzNTg2MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZjYzMjE0OGZjYzg3NTdiYjlhOTYwMWE2ZGFiMjc1ZTg4Y2QzMDlkMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIERhdGU6IFR1ZSwgMzAgSmFuIDIwMTggMTU6Mjg6NDkgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCAzLzddIENvcnJlY3RseSBpbnN0YWxsIHB5dGhvbiBtb2R1bGVzCkBAIC0xNywxMCArMTcsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKIAogZGlmZiAtLWdpdCBhL2xhbmcvcHl0aG9uL01ha2VmaWxlLmFtIGIvbGFuZy9weXRob24vTWFrZWZpbGUuYW0KLWluZGV4IDhkNzRjYmQuLmNlNGYwYTUgMTAwNjQ0CitpbmRleCA2OTg4ZmFmLi4zNmM2ZjdiIDEwMDY0NAogLS0tIGEvbGFuZy9weXRob24vTWFrZWZpbGUuYW0KICsrKyBiL2xhbmcvcHl0aG9uL01ha2VmaWxlLmFtCi1AQCAtOTEsNiArOTEsNyBAQCBpbnN0YWxsLWV4ZWMtbG9jYWw6CitAQCAtOTMsNiArOTMsNyBAQCBpbnN0YWxsLWV4ZWMtbG9jYWw6CiAgCSAgLS1idWlsZC1iYXNlPSIkJChiYXNlbmFtZSAiJCR7UFlUSE9OfSIpLWdwZyIgXAogIAkgIGluc3RhbGwgXAogIAkgIC0tcHJlZml4ICIkKERFU1RESVIpJChwcmVmaXgpIiBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDQtcHl0aG9uLWltcG9ydC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNC1weXRob24taW1wb3J0LnBhdGNoCmluZGV4IDFhNjBmNzkuLmZhMGVjY2YgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNC1weXRob24taW1wb3J0LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNC1weXRob24taW1wb3J0LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBmZDdkY2NlZWVlNDM5ZWI0NzllZGJiNDE4YmFiNjM1MzQzNDE0ZWU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBmNTFiZjExMTRiZWU2ZDU2YTk1MGRjYzZlYmI0NmQ2MTM4YjNmYWVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KIERhdGU6IFdlZCwgMTYgQXVnIDIwMTcgMDI6MDY6NDUgLTA0MDAKIFN1YmplY3Q6IFtQQVRDSCA0LzddIHB5dGhvbiBpbXBvcnQKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNS1ncGdtZS1jb25maWctc2tpcC1hbGwtbGliLW9yLXVzci1saWItZGlyZWN0b3JpZXMtaW4tLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA1LWdwZ21lLWNvbmZpZy1za2lwLWFsbC1saWItb3ItdXNyLWxpYi1kaXJlY3Rvcmllcy1pbi0ucGF0Y2gKaW5kZXggMmRhNzkwNC4uNTBiZjIxNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA1LWdwZ21lLWNvbmZpZy1za2lwLWFsbC1saWItb3ItdXNyLWxpYi1kaXJlY3Rvcmllcy1pbi0ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA1LWdwZ21lLWNvbmZpZy1za2lwLWFsbC1saWItb3ItdXNyLWxpYi1kaXJlY3Rvcmllcy1pbi0ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGE1OGQ5MDYzMmE5OTA3YmUzZTgwMDE4MDBhMTQzYWMxOTA3NTI0MWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDhkOTYxM2MzNGFlNDk1YmJjYmQ3MjVhMmU3YWM0ODEzOGJhNTNjMzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIERhdGU6IFRodSwgMTMgQXByIDIwMTcgMTY6NDA6MjcgKzAzMDAKIFN1YmplY3Q6IFtQQVRDSCA1LzddIGdwZ21lLWNvbmZpZzogc2tpcCBhbGwgL2xpYiogb3IgL3Vzci9saWIqIGRpcmVjdG9yaWVzIGluCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDYtZml4LWJ1aWxkLXBhdGgtaXNzdWUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDYtZml4LWJ1aWxkLXBhdGgtaXNzdWUucGF0Y2gKaW5kZXggMjZmZjQ3Mi4uMTQ3MTE4NCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA2LWZpeC1idWlsZC1wYXRoLWlzc3VlLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNi1maXgtYnVpbGQtcGF0aC1pc3N1ZS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNGY4Mzc1MGNlNDAyYjY1ZDE2Y2MwOWY4YTAyNzRhN2VjNzZmYzYzNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZWY5MjA2ODhiZmUxYzczMjhjOWU5NzIyOWQ2MmNjZDM1MzA0YWQ4NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIERhdGU6IFdlZCwgMzEgSmFuIDIwMTggMTE6MDE6MDkgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCA2LzddIGZpeCBidWlsZCBwYXRoIGlzc3VlCkBAIC0xNywxMCArMTcsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbGFuZy9weXRob24vTWFrZWZpbGUuYW0gYi9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbQotaW5kZXggY2U0ZjBhNS4uNWE0NjhmMSAxMDA2NDQKK2luZGV4IDM2YzZmN2IuLmNlOWExMDggMTAwNjQ0CiAtLS0gYS9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbQogKysrIGIvbGFuZy9weXRob24vTWFrZWZpbGUuYW0KLUBAIC05MCw4ICs5MCw5IEBAIGluc3RhbGwtZXhlYy1sb2NhbDoKK0BAIC05Miw4ICs5Miw5IEBAIGluc3RhbGwtZXhlYy1sb2NhbDoKICAJICBidWlsZCBcCiAgCSAgLS1idWlsZC1iYXNlPSIkJChiYXNlbmFtZSAiJCR7UFlUSE9OfSIpLWdwZyIgXAogIAkgIGluc3RhbGwgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA3LXB5dGhvbi1BZGQtdmFyaWFibGVzLXRvLXRlc3RzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA3LXB5dGhvbi1BZGQtdmFyaWFibGVzLXRvLXRlc3RzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmOWRkYmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDctcHl0aG9uLUFkZC12YXJpYWJsZXMtdG8tdGVzdHMucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorRnJvbSAzMTdjZGY2MDE2NWQ3NjA1NzJhMjZkYjMxN2UzZDZlZGIxNTliMDRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCAxNyBPY3QgMjAxOCAyMzo0MTowOSArMDgwMAorU3ViamVjdDogW1BBVENIIDcvN10gcHl0aG9uOiBBZGQgdmFyaWFibGVzIHRvIHRlc3RzCisKKyogY29uZmlndXJlLmFjLCBsYW5nL3B5dGhvbi9NYWtlZmlsZS5hbToKKyAgTmV3IHZhcmlhYmxlIHRvIGBsYW5nL3B5dGhvbicsIHNldCB0byBgbGFuZy9weXRob24nIGlmIFJVTl9MQU5HX1BZVEhPTl9URVNUUworCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbZ251cGctZGV2ZWxAZ251cGcub3JnXQorCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuYWMgICAgICAgICAgICB8IDUgKysrKysKKyBsYW5nL3B5dGhvbi9NYWtlZmlsZS5hbSB8IDMgKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggODY1YmQxMC4uMDM1NTU1YSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNTM1LDYgKzUzNSwxMSBAQCBBQ19BUkdfRU5BQkxFKGcxMy10ZXN0LAorICAgICAgICAgIHJ1bl9nMTNfdGVzdD0kZW5hYmxldmFsKQorIEFNX0NPTkRJVElPTkFMKFJVTl9HMTNfVEVTVFMsIHRlc3QgIiRydW5fZzEzX3Rlc3QiID0gInllcyIpCisgCisrcnVuX2xhbmdfcHl0aG9uX3Rlc3Q9InllcyIKKytBQ19BUkdfRU5BQkxFKGxhbmctcHl0aG9uLXRlc3QsCisrICBBQ19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWxhbmctcHl0aG9uLXRlc3RdLCBbZGlzYWJsZSBQeXRob24gcmVncmVzc2lvbiB0ZXN0XSksCisrICAgICAgICAgcnVuX2xhbmdfcHl0aG9uX3Rlc3Q9JGVuYWJsZXZhbCkKKytBTV9DT05ESVRJT05BTChSVU5fTEFOR19QWVRIT05fVEVTVFMsIHRlc3QgIiRydW5fbGFuZ19weXRob25fdGVzdCIgPSAieWVzIikKKyAKKyAjIENoZWNrcyBmb3IgaGVhZGVyIGZpbGVzLgorIEFDX0NIRUNLX0hFQURFUlNfT05DRShbbG9jYWxlLmggc3lzL3NlbGVjdC5oIHN5cy91aW8uaCBhcmdwLmggc3RkaW50LmgKK2RpZmYgLS1naXQgYS9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbSBiL2xhbmcvcHl0aG9uL01ha2VmaWxlLmFtCitpbmRleCBjZTlhMTA4Li4wYzhjZmRjIDEwMDY0NAorLS0tIGEvbGFuZy9weXRob24vTWFrZWZpbGUuYW0KKysrKyBiL2xhbmcvcHl0aG9uL01ha2VmaWxlLmFtCitAQCAtMjUsNyArMjUsMTAgQEAgRVhUUkFfRElTVCA9IFwKKyAJZG9jIFwKKyAJc3JjCisgCisraWYgUlVOX0xBTkdfUFlUSE9OX1RFU1RTCisgU1VCRElSUyA9IC4gdGVzdHMKKytlbmRpZgorKworIAorIC5QSE9OWTogcHJlcGFyZQorIHByZXBhcmU6IGNvcHlzdGFtcAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDctcXQtcHl0aG9uLUFkZC12YXJpYWJsZXMtdG8tdGVzdHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDctcXQtcHl0aG9uLUFkZC12YXJpYWJsZXMtdG8tdGVzdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzZWVhY2YuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA3LXF0LXB5dGhvbi1BZGQtdmFyaWFibGVzLXRvLXRlc3RzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAsMCBAQAotRnJvbSBkMzA4NzM0ODM0OGI0YTdmY2ZiMDViZjJhNzViNGE2MzQ1M2UxYzc3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCAxIEZlYiAyMDE4IDEwOjE0OjMwICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggNy83XSBxdC9weXRob246IEFkZCB2YXJpYWJsZXMgdG8gdGVzdHMKLQotKiBjb25maWd1cmUuYWMsIGxhbmcvcHl0aG9uL01ha2VmaWxlLmFtOgotICBOZXcgdmFyaWFibGUgdG8gYGxhbmcvcHl0aG9uJywgc2V0IHRvIGBsYW5nL3B5dGhvbicgaWYgUlVOX0xBTkdfUFlUSE9OX1RFU1RTCi0KLSogY29uZmlndXJlLmFjLCBsYW5nL3F0L01ha2VmaWxlLmFtOgotICBOZXcgdmFyaWFibGUgdG8gYGxhbmcvcXQnLCBzZXQgdG8gYGxhbmcvcXQnIGlmIFJVTl9MQU5HX1FUX1RFU1RTCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtnbnVwZy1kZXZlbEBnbnVwZy5vcmddCi0KLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgIHwgMTEgKysrKysrKysrKysKLSBsYW5nL3B5dGhvbi9NYWtlZmlsZS5hbSB8ICAzICsrKwotIGxhbmcvcXQvTWFrZWZpbGUuYW0gICAgIHwgIDggKysrKysrKy0KLSAzIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggNzQ4NWNkZi4uNGFhMjE2ZCAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtNTM1LDYgKzUzNSwxNyBAQCBBQ19BUkdfRU5BQkxFKGcxMy10ZXN0LAotICAgICAgICAgIHJ1bl9nMTNfdGVzdD0kZW5hYmxldmFsKQotIEFNX0NPTkRJVElPTkFMKFJVTl9HMTNfVEVTVFMsIHRlc3QgIiRydW5fZzEzX3Rlc3QiID0gInllcyIpCi0gCi0rcnVuX2xhbmdfcHl0aG9uX3Rlc3Q9InllcyIKLStBQ19BUkdfRU5BQkxFKGxhbmctcHl0aG9uLXRlc3QsCi0rICBBQ19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWxhbmctcHl0aG9uLXRlc3RdLCBbZGlzYWJsZSBQeXRob24gcmVncmVzc2lvbiB0ZXN0XSksCi0rICAgICAgICAgcnVuX2xhbmdfcHl0aG9uX3Rlc3Q9JGVuYWJsZXZhbCkKLStBTV9DT05ESVRJT05BTChSVU5fTEFOR19QWVRIT05fVEVTVFMsIHRlc3QgIiRydW5fbGFuZ19weXRob25fdGVzdCIgPSAieWVzIikKLSsKLStydW5fbGFuZ19xdF90ZXN0PSJ5ZXMiCi0rQUNfQVJHX0VOQUJMRShsYW5nLXF0LXRlc3QsCi0rICBBQ19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWxhbmctcXQtdGVzdF0sIFtkaXNhYmxlIFF0IHJlZ3Jlc3Npb24gdGVzdF0pLAotKyAgICAgICAgIHJ1bl9sYW5nX3F0X3Rlc3Q9JGVuYWJsZXZhbCkKLStBTV9DT05ESVRJT05BTChSVU5fTEFOR19RVF9URVNUUywgdGVzdCAiJHJ1bl9sYW5nX3F0X3Rlc3QiID0gInllcyIpCi0gCi0gIyBDaGVja3MgZm9yIGhlYWRlciBmaWxlcy4KLSBBQ19DSEVDS19IRUFERVJTX09OQ0UoW2xvY2FsZS5oIHN5cy9zZWxlY3QuaCBzeXMvdWlvLmggYXJncC5oCi1kaWZmIC0tZ2l0IGEvbGFuZy9weXRob24vTWFrZWZpbGUuYW0gYi9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbQotaW5kZXggNWE0NjhmMS4uNDNiOTc4OCAxMDA2NDQKLS0tLSBhL2xhbmcvcHl0aG9uL01ha2VmaWxlLmFtCi0rKysgYi9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbQotQEAgLTI0LDcgKzI0LDEwIEBAIEVYVFJBX0RJU1QgPSBcCi0gCWV4YW1wbGVzIFwKLSAJc3JjCi0gCi0raWYgUlVOX0xBTkdfUFlUSE9OX1RFU1RTCi0gU1VCRElSUyA9IC4gdGVzdHMKLStlbmRpZgotKwotIAotIC5QSE9OWTogcHJlcGFyZQotIHByZXBhcmU6IGNvcHlzdGFtcAotZGlmZiAtLWdpdCBhL2xhbmcvcXQvTWFrZWZpbGUuYW0gYi9sYW5nL3F0L01ha2VmaWxlLmFtCi1pbmRleCBhYjg1OTYwLi5hMjQ0ZWRlIDEwMDY0NAotLS0tIGEvbGFuZy9xdC9NYWtlZmlsZS5hbQotKysrIGIvbGFuZy9xdC9NYWtlZmlsZS5hbQotQEAgLTE5LDYgKzE5LDEyIEBACi0gIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEKLSAjIDAyMTExLTEzMDcsIFVTQQotIAotLVNVQkRJUlMgPSBzcmMgdGVzdHMgZG9jCi0raWYgUlVOX0xBTkdfUVRfVEVTVFMKLStxdHRlc3RzID0gdGVzdHMKLStlbHNlCi0rcXR0ZXN0cyA9Ci0rZW5kaWYKLSsKLStTVUJESVJTID0gc3JjICR7cXR0ZXN0c30gZG9jCi0gCi0gRVhUUkFfRElTVCA9IFJFQURNRQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lXzEuMTEuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWVfMS4xMS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NmZhZTk0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWVfMS4xMS4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotU1VNTUFSWSA9ICJIaWdoLWxldmVsIEdudVBHIGVuY3J5cHRpb24vc2lnbmluZyBBUEkiCi1ERVNDUklQVElPTiA9ICJHbnVQRyBNYWRlIEVhc3kgKEdQR01FKSBpcyBhIGxpYnJhcnkgZGVzaWduZWQgdG8gbWFrZSBhY2Nlc3MgdG8gR251UEcgZWFzaWVyIGZvciBhcHBsaWNhdGlvbnMuIEl0IHByb3ZpZGVzIGEgSGlnaC1MZXZlbCBDcnlwdG8gQVBJIGZvciBlbmNyeXB0aW9uLCBkZWNyeXB0aW9uLCBzaWduaW5nLCBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIGFuZCBrZXkgbWFuYWdlbWVudCIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251cGcub3JnL2dwZ21lLmh0bWwiCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5nMTBjb2RlLmNvbS9nbnVwZy9pbmRleCIKLQotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIuMSsiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxFU1NFUjttZDU9YmJiNDYxMjExYTMzYjEzNGQ0MmVkNWVlODAyYjM3ZmYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2dwZ21lLmguaW47ZW5kbGluZT0yMzttZDU9NGQ2MzE5ZTU4N2ZkOTQ0YWRmZTYxYTQxYThmMTViMzYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2VuZ2luZS5oO2VuZGxpbmU9MjI7bWQ1PTRiNmQ4YmEzMTNkOWI1NjRjYzRkNGNmYjE2NDBhZjlkIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9nbnVwZy5vcmcvZG93bmxvYWQvaW5kZXguaHRtbCIKLVNSQ19VUkkgPSAiJHtHTlVQR19NSVJST1J9L2dwZ21lLyR7QlB9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1wa2djb25maWcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1ncGdtZS1sYW5nLXB5dGhvbi1ncGctZXJyb3ItY29uZmlnLXNob3VsZC1ub3QtYmUtdXNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtQ29ycmVjdGx5LWluc3RhbGwtcHl0aG9uLW1vZHVsZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1weXRob24taW1wb3J0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtZ3BnbWUtY29uZmlnLXNraXAtYWxsLWxpYi1vci11c3ItbGliLWRpcmVjdG9yaWVzLWluLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LWZpeC1idWlsZC1wYXRoLWlzc3VlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDctcXQtcHl0aG9uLUFkZC12YXJpYWJsZXMtdG8tdGVzdHMucGF0Y2ggXAotICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjEyOWM0NmZiODVhN2ZmYTQxZTQzMzQ1ZTQ4YWVlODg0IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJkMWIxMTE3NzRkMmUzZGQyNmRjZDdjMjUxODE5Y2U0ZWY3NzRlYzVlNTY2MjUxZWI5MzA4ZmE3NTQyZmJkNmYiCi0KLURFUEVORFMgPSAibGliZ3BnLWVycm9yIGxpYmFzc3VhbiIKLVJERVBFTkRTXyR7UE59LWNwcCArPSAibGlic3RkYysrIgotCi1SREVQRU5EU19weXRob24yLWdwZyArPSAicHl0aG9uLXVuaXhhZG1pbiIKLVJERVBFTkRTX3B5dGhvbjMtZ3BnICs9ICJweXRob24zLXVuaXhhZG1pbiIKLQotQklOQ09ORklHID0gIiR7YmluZGlyfS9ncGdtZS1jb25maWciCi0KLSMgTm90ZSBzZWxlY3QgcHl0aG9uMiBvciBweXRob24zLCBidXQgeW91IGNhbid0IHNlbGVjdCBib3RoIGF0IHRoZSBzYW1lIHRpbWUKLVBBQ0tBR0VDT05GSUcgPz89ICJweXRob24zIgotUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICIsLHB5dGhvbiBzd2lnLW5hdGl2ZSwiCi1QQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIiwscHl0aG9uMyBzd2lnLW5hdGl2ZSwiCi0KLSMgRGVmYXVsdCBpbiBjb25maWd1cmUuYWM6ICJjbCBjcHAgcHl0aG9uIHF0IgotIyBTdXBwb3J0ZWQ6ICJjbCBjcHAgcHl0aG9uIHB5dGhvbjIgcHl0aG9uMyBxdCIKLSMgcHl0aG9uIHNheXMgJ3NlYXJjaCBhbmQgZmluZCBweXRob24yIG9yIHB5dGhvbjMnCi0KLSMgQnVpbGRpbmcgdGhlIEMrKyBiaW5kaW5ncyBmb3IgbmF0aXZlIHJlcXVpcmVzIGEgQysrIGNvbXBpbGVyIHdpdGggQysrMTEKLSMgc3VwcG9ydC4gU2luY2UgdGhlc2UgYmluZGluZ3MgYXJlIGN1cnJlbnRseSBub3QgbmVlZGVkLCB3ZSBjYW4gZGlzYWJsZSB0aGVtLgotREVGQVVMVF9MQU5HVUFHRVMgPSAiIgotREVGQVVMVF9MQU5HVUFHRVNfY2xhc3MtdGFyZ2V0ID0gImNwcCIKLUxBTkdVQUdFUyA/PSAiJHtERUZBVUxUX0xBTkdVQUdFU30iCi1MQU5HVUFHRVMgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjInLCAnIHB5dGhvbjInLCAnJywgZCl9IgotTEFOR1VBR0VTIC49ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJyBweXRob24zJywgJycsIGQpfSIKLQotUFlUSE9OX0lOSEVSSVQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMicsICdweXRob25uYXRpdmUnLCAnJywgZCl9IgotUFlUSE9OX0lOSEVSSVQgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uM25hdGl2ZScsICcnLCBkKX0iCi0KLUVYVFJBX09FQ09ORiArPSAnLS1lbmFibGUtbGFuZ3VhZ2VzPSIke0xBTkdVQUdFU30iIFwKLSAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWdwZ2NvbmYtdGVzdCBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ncGctdGVzdCBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ncGdzbS10ZXN0IFwKLSAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWcxMy10ZXN0IFwKLSAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWxhbmctcXQtdGVzdCBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1sYW5nLXB5dGhvbi10ZXN0IFwKLScKLQotaW5oZXJpdCBhdXRvdG9vbHMgdGV4aW5mbyBiaW5jb25maWctZGlzYWJsZWQgcGtnY29uZmlnIGRpc3R1dGlscy1jb21tb24tYmFzZSAke1BZVEhPTl9JTkhFUklUfQotCi1leHBvcnQgUEtHX0NPTkZJRz0ncGtnLWNvbmZpZycKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tY3BwIgotUEFDS0FHRVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjInLCAncHl0aG9uMi1ncGcgJywgJycsIGQpfSIKLVBBQ0tBR0VTID0uICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJ3B5dGhvbjMtZ3BnICcsICcnLCBkKX0iCi0KLUZJTEVTXyR7UE59LWNwcCA9ICIke2xpYmRpcn0vbGliZ3BnbWVwcC5zby4qIgotRklMRVNfcHl0aG9uMi1ncGcgPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKLUZJTEVTX3B5dGhvbjMtZ3BnID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vY29tbW9uLWxpc3Avc291cmNlL2dwZ21lLyogXAotICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vY21ha2UvKiBcCi0iCi0KLUNGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtRF9fZXJyb3JfdF9kZWZpbmVkICIKLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLQkjIEVsc2UgdGhlc2UgY291bGQgYmUgdXNlZCBpbiBwcmVmZXJlbmNlIHRvIHRob3NlIGluIGFjbG9jYWwtY29weQotCXJtIC1mICR7U30vbTQvZ3BnLWVycm9yLm00Ci0Jcm0gLWYgJHtTfS9tNC9saWJhc3N1YW4ubTQKLQlybSAtZiAke1N9L200L3B5dGhvbi5tNAotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZV8xLjEyLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lXzEuMTIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDZjNWZjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZV8xLjEyLjAuYmIKQEAgLTAsMCArMSw4NSBAQAorU1VNTUFSWSA9ICJIaWdoLWxldmVsIEdudVBHIGVuY3J5cHRpb24vc2lnbmluZyBBUEkiCitERVNDUklQVElPTiA9ICJHbnVQRyBNYWRlIEVhc3kgKEdQR01FKSBpcyBhIGxpYnJhcnkgZGVzaWduZWQgdG8gbWFrZSBhY2Nlc3MgdG8gR251UEcgZWFzaWVyIGZvciBhcHBsaWNhdGlvbnMuIEl0IHByb3ZpZGVzIGEgSGlnaC1MZXZlbCBDcnlwdG8gQVBJIGZvciBlbmNyeXB0aW9uLCBkZWNyeXB0aW9uLCBzaWduaW5nLCBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIGFuZCBrZXkgbWFuYWdlbWVudCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251cGcub3JnL2dwZ21lLmh0bWwiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5nMTBjb2RlLmNvbS9nbnVwZy9pbmRleCIKKworTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxFU1NFUjttZDU9YmJiNDYxMjExYTMzYjEzNGQ0MmVkNWVlODAyYjM3ZmYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2dwZ21lLmguaW47ZW5kbGluZT0yMzttZDU9NGQ2MzE5ZTU4N2ZkOTQ0YWRmZTYxYTQxYThmMTViMzYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2VuZ2luZS5oO2VuZGxpbmU9MjI7bWQ1PTRiNmQ4YmEzMTNkOWI1NjRjYzRkNGNmYjE2NDBhZjlkIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9nbnVwZy5vcmcvZG93bmxvYWQvaW5kZXguaHRtbCIKK1NSQ19VUkkgPSAiJHtHTlVQR19NSVJST1J9L2dwZ21lLyR7QlB9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1wa2djb25maWcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1ncGdtZS1sYW5nLXB5dGhvbi1ncGctZXJyb3ItY29uZmlnLXNob3VsZC1ub3QtYmUtdXNlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtQ29ycmVjdGx5LWluc3RhbGwtcHl0aG9uLW1vZHVsZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1weXRob24taW1wb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtZ3BnbWUtY29uZmlnLXNraXAtYWxsLWxpYi1vci11c3ItbGliLWRpcmVjdG9yaWVzLWluLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA2LWZpeC1idWlsZC1wYXRoLWlzc3VlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDctcHl0aG9uLUFkZC12YXJpYWJsZXMtdG8tdGVzdHMucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjkwMmZjYTNhOTQ5MDdlZmU0ZTkyOWIyYWRlNTQ1YTdjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI0ZGM5NTFjMzc0M2E2MGUyZTEyMGE3Nzg5MmU5ZTg2NGZiOTM2YjJlNThlN2M3N2U4NTgxZjRkMDUwZThjZDgiCisKK0RFUEVORFMgPSAibGliZ3BnLWVycm9yIGxpYmFzc3VhbiIKK1JERVBFTkRTXyR7UE59LWNwcCArPSAibGlic3RkYysrIgorCitSREVQRU5EU19weXRob24yLWdwZyArPSAicHl0aG9uLXVuaXhhZG1pbiIKK1JERVBFTkRTX3B5dGhvbjMtZ3BnICs9ICJweXRob24zLXVuaXhhZG1pbiIKKworQklOQ09ORklHID0gIiR7YmluZGlyfS9ncGdtZS1jb25maWciCisKKyMgTm90ZSBzZWxlY3QgcHl0aG9uMiBvciBweXRob24zLCBidXQgeW91IGNhbid0IHNlbGVjdCBib3RoIGF0IHRoZSBzYW1lIHRpbWUKK1BBQ0tBR0VDT05GSUcgPz89ICJweXRob24zIgorUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICIsLHB5dGhvbiBzd2lnLW5hdGl2ZSwiCitQQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIiwscHl0aG9uMyBzd2lnLW5hdGl2ZSwiCisKKyMgRGVmYXVsdCBpbiBjb25maWd1cmUuYWM6ICJjbCBjcHAgcHl0aG9uIHF0IgorIyBTdXBwb3J0ZWQ6ICJjbCBjcHAgcHl0aG9uIHB5dGhvbjIgcHl0aG9uMyBxdCIKKyMgcHl0aG9uIHNheXMgJ3NlYXJjaCBhbmQgZmluZCBweXRob24yIG9yIHB5dGhvbjMnCisKKyMgQnVpbGRpbmcgdGhlIEMrKyBiaW5kaW5ncyBmb3IgbmF0aXZlIHJlcXVpcmVzIGEgQysrIGNvbXBpbGVyIHdpdGggQysrMTEKKyMgc3VwcG9ydC4gU2luY2UgdGhlc2UgYmluZGluZ3MgYXJlIGN1cnJlbnRseSBub3QgbmVlZGVkLCB3ZSBjYW4gZGlzYWJsZSB0aGVtLgorREVGQVVMVF9MQU5HVUFHRVMgPSAiIgorREVGQVVMVF9MQU5HVUFHRVNfY2xhc3MtdGFyZ2V0ID0gImNwcCIKK0xBTkdVQUdFUyA/PSAiJHtERUZBVUxUX0xBTkdVQUdFU30iCitMQU5HVUFHRVMgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjInLCAnIHB5dGhvbjInLCAnJywgZCl9IgorTEFOR1VBR0VTIC49ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJyBweXRob24zJywgJycsIGQpfSIKKworUFlUSE9OX0lOSEVSSVQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMicsICdweXRob25uYXRpdmUnLCAnJywgZCl9IgorUFlUSE9OX0lOSEVSSVQgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uM25hdGl2ZScsICcnLCBkKX0iCisKK0VYVFJBX09FQ09ORiArPSAnLS1lbmFibGUtbGFuZ3VhZ2VzPSIke0xBTkdVQUdFU30iIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWdwZ2NvbmYtdGVzdCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ncGctdGVzdCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ncGdzbS10ZXN0IFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWcxMy10ZXN0IFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWxhbmctcHl0aG9uLXRlc3QgXAorJworCitpbmhlcml0IGF1dG90b29scyB0ZXhpbmZvIGJpbmNvbmZpZy1kaXNhYmxlZCBwa2djb25maWcgZGlzdHV0aWxzLWNvbW1vbi1iYXNlICR7UFlUSE9OX0lOSEVSSVR9CisKK2V4cG9ydCBQS0dfQ09ORklHPSdwa2ctY29uZmlnJworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1BBQ0tBR0VTID0rICIke1BOfS1jcHAiCitQQUNLQUdFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMicsICdweXRob24yLWdwZyAnLCAnJywgZCl9IgorUEFDS0FHRVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uMy1ncGcgJywgJycsIGQpfSIKKworRklMRVNfJHtQTn0tY3BwID0gIiR7bGliZGlyfS9saWJncGdtZXBwLnNvLioiCitGSUxFU19weXRob24yLWdwZyA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgorRklMRVNfcHl0aG9uMy1ncGcgPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtkYXRhZGlyfS9jb21tb24tbGlzcC9zb3VyY2UvZ3BnbWUvKiBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9jbWFrZS8qIFwKKyIKKworQ0ZMQUdTX2FwcGVuZF9saWJjLW11c2wgPSAiIC1EX19lcnJvcl90X2RlZmluZWQgIgorZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworCSMgRWxzZSB0aGVzZSBjb3VsZCBiZSB1c2VkIGluIHByZWZlcmVuY2UgdG8gdGhvc2UgaW4gYWNsb2NhbC1jb3B5CisJcm0gLWYgJHtTfS9tNC9ncGctZXJyb3IubTQKKwlybSAtZiAke1N9L200L2xpYmFzc3Vhbi5tNAorCXJtIC1mICR7U30vbTQvcHl0aG9uLm00Cit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2ljdS9pY3UvQ1ZFLTIwMTgtMTg5MjgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2ljdS9pY3UvQ1ZFLTIwMTgtMTg5MjgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTljNTBlNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaWN1L2ljdS9DVkUtMjAxOC0xODkyOC5wYXRjaApAQCAtMCwwICsxLDYzIEBACitDVkU6IENWRS0yMDE4LTE4OTI4CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDUzZDhjOGYzZDE4MWQ4N2E2YWE5MjViNDQ5YjUxYzRhMmM5MjJhNTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTaGFuZSBDYXJyIDxzaGFuZUB1bmljb2RlLm9yZz4KK0RhdGU6IE1vbiwgMjkgT2N0IDIwMTggMjM6NTI6NDQgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gSUNVLTIwMjQ2IEZpeGluZyBhbm90aGVyIGludGVnZXIgb3ZlcmZsb3cgaW4gbnVtYmVyIHBhcnNpbmcuCisKKy0tLQorIGkxOG4vZm10YWJsZS5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBpMThuL251bWJlcl9kZWNpbWFscXVhbnRpdHkuY3BwICAgICAgICAgICB8ICA1ICsrKystCisgdGVzdC9pbnRsdGVzdC9udW1mbXRzdC5jcHAgICAgICAgICAgICAgICAgfCAgOCArKysrKysrKworIDYgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2kxOG4vZm10YWJsZS5jcHAgYi9pMThuL2ZtdGFibGUuY3BwCitpbmRleCA0NWM3MDI0ZmMyOS4uODYwMWQ5NWY0YTYgMTAwNjQ0CistLS0gYS9pMThuL2ZtdGFibGUuY3BwCisrKysgYi9pMThuL2ZtdGFibGUuY3BwCitAQCAtNzM0LDcgKzczNCw3IEBAIENoYXJTdHJpbmcgKkZvcm1hdHRhYmxlOjppbnRlcm5hbEdldENoYXJTdHJpbmcoVUVycm9yQ29kZSAmc3RhdHVzKSB7CisgICAgICAgLy8gbm90IHByaW50IHNjaWVudGlmaWMgbm90YXRpb24gZm9yIG1hZ25pdHVkZXMgZ3JlYXRlciB0aGFuIC01IGFuZCBzbWFsbGVyIHRoYW4gc29tZSBhbW91bnQgKCs1PykuCisgICAgICAgaWYgKGZEZWNpbWFsUXVhbnRpdHktPmlzWmVybygpKSB7CisgICAgICAgICBmRGVjaW1hbFN0ci0+YXBwZW5kKCIwIiwgLTEsIHN0YXR1cyk7CistICAgICAgfSBlbHNlIGlmIChzdGQ6OmFicyhmRGVjaW1hbFF1YW50aXR5LT5nZXRNYWduaXR1ZGUoKSkgPCA1KSB7CisrICAgICAgfSBlbHNlIGlmIChmRGVjaW1hbFF1YW50aXR5LT5nZXRNYWduaXR1ZGUoKSAhPSBJTlQzMl9NSU4gJiYgc3RkOjphYnMoZkRlY2ltYWxRdWFudGl0eS0+Z2V0TWFnbml0dWRlKCkpIDwgNSkgeworICAgICAgICAgZkRlY2ltYWxTdHItPmFwcGVuZEludmFyaWFudENoYXJzKGZEZWNpbWFsUXVhbnRpdHktPnRvUGxhaW5TdHJpbmcoKSwgc3RhdHVzKTsKKyAgICAgICB9IGVsc2UgeworICAgICAgICAgZkRlY2ltYWxTdHItPmFwcGVuZEludmFyaWFudENoYXJzKGZEZWNpbWFsUXVhbnRpdHktPnRvU2NpZW50aWZpY1N0cmluZygpLCBzdGF0dXMpOworZGlmZiAtLWdpdCBhL2kxOG4vbnVtYmVyX2RlY2ltYWxxdWFudGl0eS5jcHAgYi9pMThuL251bWJlcl9kZWNpbWFscXVhbnRpdHkuY3BwCitpbmRleCA0N2I5MzBhNTY0Yi4uZDVkZDdhZTY5NGMgMTAwNjQ0CistLS0gYS9pMThuL251bWJlcl9kZWNpbWFscXVhbnRpdHkuY3BwCisrKysgYi9pMThuL251bWJlcl9kZWNpbWFscXVhbnRpdHkuY3BwCitAQCAtODk4LDcgKzg5OCwxMCBAQCBVbmljb2RlU3RyaW5nIERlY2ltYWxRdWFudGl0eTo6dG9TY2llbnRpZmljU3RyaW5nKCkgY29uc3QgeworICAgICB9CisgICAgIHJlc3VsdC5hcHBlbmQodSdFJyk7CisgICAgIGludDMyX3QgX3NjYWxlID0gdXBwZXJQb3MgKyBzY2FsZTsKKy0gICAgaWYgKF9zY2FsZSA8IDApIHsKKysgICAgaWYgKF9zY2FsZSA9PSBJTlQzMl9NSU4pIHsKKysgICAgICAgIHJlc3VsdC5hcHBlbmQoe3UiLTIxNDc0ODM2NDgiLCAtMX0pOworKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysgICAgfSBlbHNlIGlmIChfc2NhbGUgPCAwKSB7CisgICAgICAgICBfc2NhbGUgKj0gLTE7CisgICAgICAgICByZXN1bHQuYXBwZW5kKHUnLScpOworICAgICB9IGVsc2UgeworZGlmZiAtLWdpdCBhL3Rlc3QvaW50bHRlc3QvbnVtZm10c3QuY3BwIGIvdGVzdC9pbnRsdGVzdC9udW1mbXRzdC5jcHAKK2luZGV4IDM0MzU1OTM5MTEzLi44ZDUyZGMxMjJiZiAxMDA2NDQKKy0tLSBhL3Rlc3QvaW50bHRlc3QvbnVtZm10c3QuY3BwCisrKysgYi90ZXN0L2ludGx0ZXN0L251bWZtdHN0LmNwcAorQEAgLTkyMjYsNiArOTIyNiwxNCBAQCB2b2lkIE51bWJlckZvcm1hdFRlc3Q6OlRlc3QyMDAzN19TY2llbnRpZmljSW50ZWdlck92ZXJmbG93KCkgeworICAgICBhc3NlcnRFcXVhbHModSJTaG91bGQgbm90IG92ZXJmbG93IGFuZCBzaG91bGQgcGFyc2Ugb25seSB0aGUgZmlyc3QgZXhwb25lbnQiLAorICAgICAgICAgICAgICAgICAgdSIxRS0yMTQ3NDgzNjQ3IiwKKyAgICAgICAgICAgICAgICAgIHtzcC5kYXRhKCksIHNwLmxlbmd0aCgpLCBVU19JTlZ9KTsKKysKKysgICAgLy8gVGVzdCBlZGdlIGNhc2Ugb3ZlcmZsb3cgb2YgZXhwb25lbnQKKysgICAgcmVzdWx0ID0gRm9ybWF0dGFibGUoKTsKKysgICAgbmYtPnBhcnNlKHUiLjAwMDNlLTIxNDc0ODM2NDQiLCByZXN1bHQsIHN0YXR1cyk7CisrICAgIHNwID0gcmVzdWx0LmdldERlY2ltYWxOdW1iZXIoc3RhdHVzKTsKKysgICAgYXNzZXJ0RXF1YWxzKHUiU2hvdWxkIG5vdCBvdmVyZmxvdyIsCisrICAgICAgICAgICAgICAgICB1IjNFLTIxNDc0ODM2NDgiLAorKyAgICAgICAgICAgICAgICAge3NwLmRhdGEoKSwgc3AubGVuZ3RoKCksIFVTX0lOVn0pOworIH0KKyAKKyB2b2lkIE51bWJlckZvcm1hdFRlc3Q6OlRlc3QxMzg0MF9QYXJzZUxvbmdTdHJpbmdDcmFzaCgpIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaWN1L2ljdS9maXgtaW5zdGFsbC1tYW54LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pY3UvaWN1L2ZpeC1pbnN0YWxsLW1hbngucGF0Y2gKaW5kZXggODE4NmZiNC4uOTI1YjA2NCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pY3UvaWN1L2ZpeC1pbnN0YWxsLW1hbngucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pY3UvaWN1L2ZpeC1pbnN0YWxsLW1hbngucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDMwNjNhOTIxMTY2OWJlZTY3Mzg0MGVlODFmODFkMzA2OTliOWI3MDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGE2ZGRhYmM4Y2FkYjc2YmZlMmQyZTM3NGE2NzAyNDQyY2ZlNTFjY2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgogRGF0ZTogRnJpLCA5IE9jdCAyMDE1IDE3OjUwOjQxICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMi80XSBpY3U6IGZpeCBpbnN0YWxsIHJhY2UKK1N1YmplY3Q6IFtQQVRDSF0gaWN1OiBmaXggaW5zdGFsbCByYWNlCiAKIFRoZSBnZW5lcmljIHJlY3Vyc2l2ZSB0YXJnZXQgY2FsbHMgdGFyZ2V0LWxvY2FsIHNvIGFsc28gYWRkaW5nIGl0IHRvIHRoZQogZGVwZW5kZW5jeSBsaXN0IHJlc3VsdHMgaW4gcmFjZXMgZHVlIHRvIGluc3RhbGwtbG9jYWwgYmVpbmcgZXhlY3V0ZWQgdHdpY2UgaW4KQEAgLTE4LDExICsxOCwxMSBAQAogIHNvdXJjZS9NYWtlZmlsZS5pbiB8IDggKysrKy0tLS0KICAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogCi1kaWZmIC0tZ2l0IGEvc291cmNlL01ha2VmaWxlLmluIGIvc291cmNlL01ha2VmaWxlLmluCi1pbmRleCBjMWRiMTViLi40OTQ4ZGViIDEwMDY0NAorZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KK2luZGV4IGJlOTQzNWIuLmFkYTIwZDcgMTAwNjQ0CiAtLS0gYS9NYWtlZmlsZS5pbgogKysrIGIvTWFrZWZpbGUuaW4KLUBAIC03Myw3ICs3Myw3IEBAIEVYVFJBX0RBVEEgPQorQEAgLTc3LDcgKzc3LDcgQEAgRVhUUkFfREFUQSA9CiAgCiAgIyMgTGlzdCBvZiBwaG9ueSB0YXJnZXRzCiAgLlBIT05ZIDogYWxsIGFsbC1sb2NhbCBhbGwtcmVjdXJzaXZlIGluc3RhbGwgaW5zdGFsbC1sb2NhbCBpbnN0YWxsLXVkYXRhIGluc3RhbGwtdWRhdGEtZmlsZXMgaW5zdGFsbC11ZGF0YS1kbGxzCQlcCkBAIC0zMSw3ICszMSw3IEBACiAgZGlzdGNsZWFuLWxvY2FsIGRpc3RjbGVhbi1yZWN1cnNpdmUgZG9jIGRpc3QgZGlzdC1sb2NhbCBkaXN0LXJlY3Vyc2l2ZQlcCiAgY2hlY2sgY2hlY2stbG9jYWwgY2hlY2stcmVjdXJzaXZlIGNsZWFuLXJlY3Vyc2l2ZS13aXRoLXR3aXN0IGluc3RhbGwtaWN1IFwKICBkb2MgaW5zdGFsbC1kb2MgdGVzdHMgaWN1NGotZGF0YSBpY3U0ai1kYXRhLWluc3RhbGwgdXBkYXRlLXdpbmRvd3MtbWFrZWZpbGVzIHhjaGVjay1sb2NhbCB4Y2hlY2stcmVjdXJzaXZlIHhwZXJmIHhjaGVjayB4cGVyZi1yZWN1cnNpdmUgXAotQEAgLTg0LDkgKzg0LDkgQEAgY2hlY2stZXhoYXVzdGl2ZSBjaGVjay1leGhhdXN0aXZlLWxvY2FsIGNoZWNrLWV4aGF1c3RpdmUtcmVjdXJzaXZlIHJlbGVhc2VEaXN0CitAQCAtODgsOSArODgsOSBAQCBjaGVjay1leGhhdXN0aXZlIGNoZWNrLWV4aGF1c3RpdmUtbG9jYWwgY2hlY2stZXhoYXVzdGl2ZS1yZWN1cnNpdmUgcmVsZWFzZURpc3QKICAKICAjIyBMaXN0IG9mIHN0YW5kYXJkIHRhcmdldHMKICBhbGw6IGFsbC1sb2NhbCBhbGwtcmVjdXJzaXZlCkBAIC00MywxNSArNDMsMTIgQEAKICBkaXN0OiBkaXN0LXJlY3Vyc2l2ZQogIGNoZWNrOiBhbGwgY2hlY2stcmVjdXJzaXZlCiAgY2hlY2stcmVjdXJzaXZlOiBhbGwKLUBAIC0zNTAsNyArMzUwLDcgQEAgY29uZmlnLnN0YXR1czogJChzcmNkaXIpL2NvbmZpZ3VyZSAkKHNyY2RpcikvY29tbW9uL3VuaWNvZGUvdXZlcm51bS5oCi0gCitAQCAtMzU3LDcgKzM1Nyw3IEBAIGNvbmZpZy5zdGF0dXM6ICQoc3JjZGlyKS9jb25maWd1cmUgJChzcmNkaXIpL2NvbW1vbi91bmljb2RlL3V2ZXJudW0uaAogIGluc3RhbGwtbWFueDogJChNQU5YX0ZJTEVTKQogIAkkKE1LSU5TVEFMTERJUlMpICQoREVTVERJUikkKG1hbmRpcikvbWFuJChTRUNUSU9OKQorIGlmbmVxICgkKE1BTlhfRklMRVMpLCkKIC0JJChJTlNUQUxMX0RBVEEpICQ/ICQoREVTVERJUikkKG1hbmRpcikvbWFuJChTRUNUSU9OKQogKwkkKElOU1RBTExfREFUQSkgJF4gJChERVNURElSKSQobWFuZGlyKS9tYW4kKFNFQ1RJT04pCisgZW5kaWYKICAKICBjb25maWcvJS4kKFNFQ1RJT04pOiAkKHNyY2RpcikvY29uZmlnLyUuJChTRUNUSU9OKS5pbgotIAljZCAkKHRvcF9idWlsZGRpcikgXAotLS0gCi0yLjE0LjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pY3UvaWN1XzYyLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2ljdS9pY3VfNjIuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGUzNzUwYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2ljdS9pY3VfNjIuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLXJlcXVpcmUgaWN1LmluYwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9MSUNFTlNFO21kNT02Mzc1MmM1N2JkMGIzNjVjOWFmOWY0MjdlZjc5YzgxOSIKLQotZGVmIGljdV9kb3dubG9hZF92ZXJzaW9uKGQpOgotICAgIHB2c3BsaXQgPSBkLmdldFZhcignUFYnKS5zcGxpdCgnLicpCi0gICAgcmV0dXJuIHB2c3BsaXRbMF0gKyAiXyIgKyBwdnNwbGl0WzFdCi0KLUlDVV9QViA9ICIke0BpY3VfZG93bmxvYWRfdmVyc2lvbihkKX0iCi0KLSMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzIwNDg2LwotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKLQotQkFTRV9TUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5pY3UtcHJvamVjdC5vcmcvZmlsZXMvaWN1NGMvJHtQVn0vaWN1NGMtJHtJQ1VfUFZ9LXNyYy50Z3oiCi1TUkNfVVJJID0gIiR7QkFTRV9TUkNfVVJJfSBcCi0gICAgICAgICAgIGZpbGU6Ly9pY3UtcGtnZGF0YS1sYXJnZS1jbWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZml4LWluc3RhbGwtbWFueC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLUFkZC1BUkMtc3VwcG9ydC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIlwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRGlzYWJsZS1MREZMQUdTSUNVRFQtZm9yLUxpbnV4LnBhdGNoIFwKLSAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiNDkwYWQ5ZDkyMDE1OGUwMzE0ZTEwYmE3NGFlOWExNTAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2RkOTg2OGQ2NjYzNTBkZGE2NmE2ZTMwNWVlY2RlOWQ0NzlmYjcwYjMwZDViNTVkNzhhMWRlZmZiOTdkNWFhMyIKLQotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSspLyIKLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuaWN1LXByb2plY3Qub3JnL2ZpbGVzL2ljdTRjLyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaWN1L2ljdV82My4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pY3UvaWN1XzYzLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTYxZjAyMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaWN1L2ljdV82My4xLmJiCkBAIC0wLDAgKzEsMzAgQEAKK3JlcXVpcmUgaWN1LmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9MSUNFTlNFO21kNT02Mzc1MmM1N2JkMGIzNjVjOWFmOWY0MjdlZjc5YzgxOSIKKworZGVmIGljdV9kb3dubG9hZF92ZXJzaW9uKGQpOgorICAgIHB2c3BsaXQgPSBkLmdldFZhcignUFYnKS5zcGxpdCgnLicpCisgICAgcmV0dXJuIHB2c3BsaXRbMF0gKyAiXyIgKyBwdnNwbGl0WzFdCisKK0lDVV9QViA9ICIke0BpY3VfZG93bmxvYWRfdmVyc2lvbihkKX0iCisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzIwNDg2LworQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKKworQkFTRV9TUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5pY3UtcHJvamVjdC5vcmcvZmlsZXMvaWN1NGMvJHtQVn0vaWN1NGMtJHtJQ1VfUFZ9LXNyYy50Z3oiCitTUkNfVVJJID0gIiR7QkFTRV9TUkNfVVJJfSBcCisgICAgICAgICAgIGZpbGU6Ly9pY3UtcGtnZGF0YS1sYXJnZS1jbWQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LWluc3RhbGwtbWFueC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUFkZC1BUkMtc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xODkyOC5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIlwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRGlzYWJsZS1MREZMQUdTSUNVRFQtZm9yLUxpbnV4LnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiOWU0MGY2MDU1Mjk0Mjg0ZGY5NTgyMDBlMzA4YmNlNTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDVjNDkwYjY5NDU0ZmNlNTg2MGI3ZThlMjgyMTIzMTY3NGFmMGExMWQ3ZWYyZmViZWE5YTMyNTEyOTk4Y2I5ZCIKKworVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSspLyIKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuaWN1LXByb2plY3Qub3JnL2ZpbGVzL2ljdTRjLyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaXNvLWNvZGVzL2lzby1jb2Rlc180LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2lzby1jb2Rlcy9pc28tY29kZXNfNC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzYxZGVkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaXNvLWNvZGVzL2lzby1jb2Rlc180LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1TVU1NQVJZID0gIklTTyBsYW5ndWFnZSwgdGVycml0b3J5LCBjdXJyZW5jeSwgc2NyaXB0IGNvZGVzIGFuZCB0aGVpciB0cmFuc2xhdGlvbnMiCi1IT01FUEFHRSA9ICJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaXNvLWNvZGVzLXRlYW0vaXNvLWNvZGVzIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaXNvLWNvZGVzLXRlYW0vaXNvLWNvZGVzL2lzc3VlcyIKLQotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgotCi1TUkNfVVJJID0gImdpdDovL3NhbHNhLmRlYmlhbi5vcmcvaXNvLWNvZGVzLXRlYW0vaXNvLWNvZGVzLmdpdDtwcm90b2NvbD1odHRwIgotU1JDUkVWID0gIjE2NDgwMmQ1ZmQ4YzdhODE2NzgxNmZkODZhNjJiMjg2NjgwNjE5ZjAiCi0KLSMgaW5oZXJpdCBnZXR0ZXh0IGNhbm5vdCBiZSB1c2VkLCBiZWNhdXNlIGl0IGFkZHMgZ2V0dGV4dC1uYXRpdmUgdG8gQkFTRURFUEVORFMgd2hpY2gKLSMgYXJlIGluaGliaXRlZCBieSBhbGxhcmNoCi1ERVBFTkRTID0gImdldHRleHQtbmF0aXZlIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGFsbGFyY2ggYXV0b3Rvb2xzCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3htbC8iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2lzby1jb2Rlcy9pc28tY29kZXNfNC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pc28tY29kZXMvaXNvLWNvZGVzXzQuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTEzMGRkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pc28tY29kZXMvaXNvLWNvZGVzXzQuMi5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIklTTyBsYW5ndWFnZSwgdGVycml0b3J5LCBjdXJyZW5jeSwgc2NyaXB0IGNvZGVzIGFuZCB0aGVpciB0cmFuc2xhdGlvbnMiCitIT01FUEFHRSA9ICJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaXNvLWNvZGVzLXRlYW0vaXNvLWNvZGVzIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaXNvLWNvZGVzLXRlYW0vaXNvLWNvZGVzL2lzc3VlcyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitTUkNfVVJJID0gImdpdDovL3NhbHNhLmRlYmlhbi5vcmcvaXNvLWNvZGVzLXRlYW0vaXNvLWNvZGVzLmdpdDtwcm90b2NvbD1odHRwIgorU1JDUkVWID0gIjU4YTRmMjBmOGU2ZjRkOGY5NTQ1MzMzZjNlYWU0Y2ZlNTY3OGRlMTYiCisKKyMgaW5oZXJpdCBnZXR0ZXh0IGNhbm5vdCBiZSB1c2VkLCBiZWNhdXNlIGl0IGFkZHMgZ2V0dGV4dC1uYXRpdmUgdG8gQkFTRURFUEVORFMgd2hpY2gKKyMgYXJlIGluaGliaXRlZCBieSBhbGxhcmNoCitERVBFTkRTID0gImdldHRleHQtbmF0aXZlIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGFsbGFyY2ggYXV0b3Rvb2xzCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3htbC8iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmFzc3Vhbi9saWJhc3N1YW4vbGliYXNzdWFuLWFkZC1wa2djb25maWctc3VwcG9ydC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliYXNzdWFuL2xpYmFzc3Vhbi9saWJhc3N1YW4tYWRkLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoCmluZGV4IDUyNWIwNzYuLjBlODE0NTQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliYXNzdWFuL2xpYmFzc3Vhbi9saWJhc3N1YW4tYWRkLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliYXNzdWFuL2xpYmFzc3Vhbi9saWJhc3N1YW4tYWRkLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoCkBAIC05LDYwICs5LDExIEBACiBmb3J3YXJkIHBvcnRlZCB0byAyLjQuNAogU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyQG12aXN0YS5jb20+CiAKLUluZGV4OiBsaWJhc3N1YW4tMi40LjQvbGliYXNzdWFuLnBjLmluCitJbmRleDogbGliYXNzdWFuLTIuNS4yL3NyYy9saWJhc3N1YW4ubTQKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwKLSsrKyBsaWJhc3N1YW4tMi40LjQvbGliYXNzdWFuLnBjLmluCi1AQCAtMCwwICsxLDEzIEBACi0rcHJlZml4PUBleGVjX3ByZWZpeEAKLStsaWJkaXI9QGxpYmRpckAKLStpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAotK2FwaV92ZXJzaW9uPUBMSUJBU1NVQU5fQ09ORklHX0FQSV9WRVJTSU9OQAotK2hvc3Q9QExJQkFTU1VBTl9DT05GSUdfSE9TVEAKLSsKLStOYW1lOiBsaWJhc3N1YW4KLStEZXNjcmlwdGlvbjogSVBDIGxpYnJhcnkgdXNlZCBieSBHbnVQRyBhbmQgR1BHTUUKLStSZXF1aXJlczoKLStWZXJzaW9uOiBAVkVSU0lPTkAKLStMaWJzOiAtTCR7bGliZGlyfSAtbGFzc3VhbgotK0xpYnMucHJpdmF0ZTogLWxncGctZXJyb3IKLStDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQotSW5kZXg6IGxpYmFzc3Vhbi0yLjQuNC9NYWtlZmlsZS5hbQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGEvTWFrZWZpbGUuYW0KLSsrKyBiL01ha2VmaWxlLmFtCi1AQCAtMjUsMTAgKzI1LDEzIEBAIERJU1RDSEVDS19DT05GSUdVUkVfRkxBR1MgPSAtLWVuYWJsZS1kb2MKLSAjIChBIHN1aXRhYmxlIGdpdGxvZy10by1jaGFuZ2Vsb2cgc2NyaXB0IGNhbiBiZSBmb3VuZCBpbiBHbnVQRyBtYXN0ZXIuKQotIEdJVExPR19UT19DSEFOR0VMT0c9Z2l0bG9nLXRvLWNoYW5nZWxvZwotIAotK3BrZ2NvbmZpZ2RpciA9ICQobGliZGlyKS9wa2djb25maWcKLStwa2djb25maWdfREFUQSA9IGxpYmFzc3Vhbi5wYwotKwotIEVYVFJBX0RJU1QgPSBhdXRvZ2VuLnNoIGF1dG9nZW4ucmMgUkVBRE1FLkdJVCBWRVJTSU9OICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgQ2hhbmdlTG9nLTIwMTEgZG9jL0NoYW5nZUxvZy0yMDExIHNyYy9DaGFuZ2VMb2ctMjAxMSAJXAotICAgICAgICAgICAgICB0ZXN0cy9DaGFuZ2VMb2ctMjAxMSBjb250cmliL0NoYW5nZUxvZy0yMDExICAgICAJCVwKLS0gICAgICAgICAgICAgYnVpbGQtYXV4L2dpdC1sb2ctZm9vdGVyIGJ1aWxkLWF1eC9naXQtbG9nLWZpeAotKyAgICAgICAgICAgICBidWlsZC1hdXgvZ2l0LWxvZy1mb290ZXIgYnVpbGQtYXV4L2dpdC1sb2ctZml4IGxpYmFzc3Vhbi5wYy5pbgotIAotIGlmIEJVSUxEX0RPQwotIGRvYyA9IGRvYwotSW5kZXg6IDIuNC40LXIwL2xpYmFzc3Vhbi0yLjQuNC9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtNDg1LDYgKzQ4NSw3IEBAIEFDX0NPTkZJR19GSUxFUyhbZG9jL01ha2VmaWxlXSkKLSBBQ19DT05GSUdfRklMRVMoW3Rlc3RzL01ha2VmaWxlXSkKLSBBQ19DT05GSUdfRklMRVMoW3NyYy9saWJhc3N1YW4tY29uZmlnXSwgW2NobW9kICt4IHNyYy9saWJhc3N1YW4tY29uZmlnXSkKLSBBQ19DT05GSUdfRklMRVMoW3NyYy92ZXJzaW9uaW5mby5yY10pCi0rQUNfQ09ORklHX0ZJTEVTKFtsaWJhc3N1YW4ucGNdKQotIAotIEFDX09VVFBVVAotIAotSW5kZXg6IGxpYmFzc3Vhbi0yLjQuNC9zcmMvbGliYXNzdWFuLm00Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gYS9zcmMvbGliYXNzdWFuLm00Ci0rKysgYi9zcmMvbGliYXNzdWFuLm00Ci1AQCAtMTYsMTggKzE2LDYgQEAgZG5sIFJldHVybnMgb2sgc2V0IHRvIHllcyBvciBuby4KKy0tLSBsaWJhc3N1YW4tMi41LjIub3JpZy9zcmMvbGliYXNzdWFuLm00CisrKysgbGliYXNzdWFuLTIuNS4yL3NyYy9saWJhc3N1YW4ubTQKK0BAIC0xNiwyNyArMTYsNiBAQCBkbmwgUmV0dXJucyBvayBzZXQgdG8geWVzIG9yIG5vLgogIGRubAogIEFDX0RFRlVOKFtfQU1fUEFUSF9MSUJBU1NVQU5fQ09NTU9OXSwKICBbIEFDX1JFUVVJUkUoW0FDX0NBTk9OSUNBTF9IT1NUXSkKQEAgLTcxLDI0ICsyMiwzMiBAQAogLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ByZWZpeCB3aGVyZSBMSUJBU1NVQU4gaXMgaW5zdGFsbGVkIChvcHRpb25hbCldKSwKIC0gICAgIGxpYmFzc3Vhbl9jb25maWdfcHJlZml4PSIkd2l0aHZhbCIsIGxpYmFzc3Vhbl9jb25maWdfcHJlZml4PSIiKQogLSAgaWYgdGVzdCB4JGxpYmFzc3Vhbl9jb25maWdfcHJlZml4ICE9IHggOyB0aGVuCi0tICAgIGxpYmFzc3Vhbl9jb25maWdfYXJncz0iJGxpYmFzc3Vhbl9jb25maWdfYXJncyAtLXByZWZpeD0kbGliYXNzdWFuX2NvbmZpZ19wcmVmaXgiCiAtICAgIGlmIHRlc3QgeCR7TElCQVNTVUFOX0NPTkZJRytzZXR9ICE9IHhzZXQgOyB0aGVuCiAtICAgICAgTElCQVNTVUFOX0NPTkZJRz0kbGliYXNzdWFuX2NvbmZpZ19wcmVmaXgvYmluL2xpYmFzc3Vhbi1jb25maWcKIC0gICAgZmkKIC0gIGZpCiAtCi0tICBBQ19QQVRIX1RPT0woTElCQVNTVUFOX0NPTkZJRywgbGliYXNzdWFuLWNvbmZpZywgbm8pCistICB1c2VfZ3BncnRfY29uZmlnPSIiCistICBpZiB0ZXN0IHgiJHtMSUJBU1NVQU5fQ09ORklHfSIgPSB4IC1hIHgiJEdQR1JUX0NPTkZJRyIgIT0geCAtYSAiJEdQR1JUX0NPTkZJRyIgIT0gIm5vIjsgdGhlbgorLSAgICBpZiAkR1BHUlRfQ09ORklHIGxpYmFzc3VhbiAtLWV4aXN0czsgdGhlbgorLSAgICAgIExJQkFTU1VBTl9DT05GSUc9IiRHUEdSVF9DT05GSUcgbGliYXNzdWFuIgorLSAgICAgIEFDX01TR19OT1RJQ0UoW1VzZSBncGdydC1jb25maWcgYXMgbGliYXNzdWFuLWNvbmZpZ10pCistICAgICAgdXNlX2dwZ3J0X2NvbmZpZz15ZXMKKy0gICAgZmkKKy0gIGZpCistICBpZiB0ZXN0IC16ICIkdXNlX2dwZ3J0X2NvbmZpZyI7IHRoZW4KKy0gICAgQUNfUEFUSF9QUk9HKExJQkFTU1VBTl9DT05GSUcsIGxpYmFzc3Vhbi1jb25maWcsIG5vKQorLSAgZmkKICAKICAgIHRtcD1pZmVsc2UoWyQxXSwgLDE6MC45LjIsJDEpCiAgICBpZiBlY2hvICIkdG1wIiB8IGdyZXAgJzonID4vZGV2L251bGwgMj4vZGV2L251bGwgOyB0aGVuCi1AQCAtMzgsNTEgKzI2LDEyIEBAIEFDX0RFRlVOKFtfQU1fUEFUSF9MSUJBU1NVQU5fQ09NTU9OXSwKK0BAIC00Nyw1OCArMjYsMTEgQEAgQUNfREVGVU4oW19BTV9QQVRIX0xJQkFTU1VBTl9DT01NT05dLAogICAgICBtaW5fbGliYXNzdWFuX3ZlcnNpb249IiR0bXAiCiAgICBmaQogIAogLSAgQUNfTVNHX0NIRUNLSU5HKGZvciBMSUJBU1NVQU4gLSB2ZXJzaW9uID49ICRtaW5fbGliYXNzdWFuX3ZlcnNpb24pCiAtICBvaz1ubwotLSAgaWYgdGVzdCAiJExJQkFTU1VBTl9DT05GSUciICE9ICJubyIgXAotLSAgICAgJiYgdGVzdCAtZiAiJExJQkFTU1VBTl9DT05GSUciIDsgdGhlbgorLSAgaWYgdGVzdCAiJExJQkFTU1VBTl9DT05GSUciICE9ICJubyI7IHRoZW4KIC0gICAgcmVxX21ham9yPWBlY2hvICRtaW5fbGliYXNzdWFuX3ZlcnNpb24gfCBcCiAtICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkvXDEvJ2AKIC0gICAgcmVxX21pbm9yPWBlY2hvICRtaW5fbGliYXNzdWFuX3ZlcnNpb24gfCBcCkBAIC05Niw3ICs1NSwxMSBAQAogLSAgICByZXFfbWljcm89YGVjaG8gJG1pbl9saWJhc3N1YW5fdmVyc2lvbiB8IFwKIC0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS9cMy8nYAogLQotLSAgICBsaWJhc3N1YW5fY29uZmlnX3ZlcnNpb249YCRMSUJBU1NVQU5fQ09ORklHIC0tdmVyc2lvbmAKKy0gICAgaWYgdGVzdCAteiAiJHVzZV9ncGdydF9jb25maWciOyB0aGVuCistICAgICAgbGliYXNzdWFuX2NvbmZpZ192ZXJzaW9uPWAkTElCQVNTVUFOX0NPTkZJRyAtLXZlcnNpb25gCistICAgIGVsc2UKKy0gICAgICBsaWJhc3N1YW5fY29uZmlnX3ZlcnNpb249YCRMSUJBU1NVQU5fQ09ORklHIC0tbW9kdmVyc2lvbmAKKy0gICAgZmkKIC0gICAgbWFqb3I9YGVjaG8gJGxpYmFzc3Vhbl9jb25maWdfdmVyc2lvbiB8IFwKIC0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS4qL1wxLydgCiAtICAgIG1pbm9yPWBlY2hvICRsaWJhc3N1YW5fY29uZmlnX3ZlcnNpb24gfCBcCkBAIC0xMzAsMjYgKzkzLDMyIEBACiAgCiAgICBpZiB0ZXN0ICRvayA9IHllczsgdGhlbgogICAgICBpZiB0ZXN0ICIkcmVxX2xpYmFzc3Vhbl9hcGkiIC1ndCAwIDsgdGhlbgotICAgICAgIHRtcD1gJExJQkFTU1VBTl9DT05GSUcgLS1hcGktdmVyc2lvbiAyPi9kZXYvbnVsbCB8fCBlY2hvIDBgCistICAgICAgaWYgdGVzdCAteiAiJHVzZV9ncGdydF9jb25maWciOyB0aGVuCistICAgICAgICB0bXA9YCRMSUJBU1NVQU5fQ09ORklHIC0tYXBpLXZlcnNpb24gMj4vZGV2L251bGwgfHwgZWNobyAwYAorLSAgICAgIGVsc2UKKy0gICAgICAgIHRtcD1gJExJQkFTU1VBTl9DT05GSUcgLS12YXJpYWJsZT1hcGlfdmVyc2lvbiAyPi9kZXYvbnVsbCB8fCBlY2hvIDBgCistICAgICAgZmkKICsgICAgICB0bXA9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9YXBpX3ZlcnNpb24gbGliYXNzdWFuYAogICAgICAgIGlmIHRlc3QgIiR0bXAiIC1ndCAwIDsgdGhlbgogICAgICAgICAgQUNfTVNHX0NIRUNLSU5HKFtMSUJBU1NVQU4gQVBJIHZlcnNpb25dKQogICAgICAgICAgaWYgdGVzdCAiJHJlcV9saWJhc3N1YW5fYXBpIiAtZXEgIiR0bXAiIDsgdGhlbgotQEAgLTk3LDcgKzQ2LDcgQEAgQUNfREVGVU4oW19BTV9QQVRIX0xJQkFTU1VBTl9DT01NT05dLAotIAorQEAgLTExNCw5ICs0Niw3IEBAIEFDX0RFRlVOKFtfQU1fUEFUSF9MSUJBU1NVQU5fQ09NTU9OXSwKICAgIGlmIHRlc3QgJG9rID0geWVzOyB0aGVuCiAgICAgIGlmIHRlc3QgeCIkaG9zdCIgIT0geCA7IHRoZW4KLS0gICAgICBsaWJhc3N1YW5fY29uZmlnX2hvc3Q9YCRMSUJBU1NVQU5fQ09ORklHIC0taG9zdCAyPi9kZXYvbnVsbCB8fCBlY2hvIG5vbmVgCi0rICAgICAgbGliYXNzdWFuX2NvbmZpZ19ob3N0PWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWhvc3QgbGliYXNzdWFuYAorICAgICAgIGlmIHRlc3QgLXogIiR1c2VfZ3BncnRfY29uZmlnIjsgdGhlbgorLSAgICAgICAgbGliYXNzdWFuX2NvbmZpZ19ob3N0PWAkTElCQVNTVUFOX0NPTkZJRyAtLWhvc3QgMj4vZGV2L251bGwgfHwgZWNobyBub25lYAorLSAgICAgIGVsc2UKKy0gICAgICAgIGxpYmFzc3Vhbl9jb25maWdfaG9zdD1gJExJQkFTU1VBTl9DT05GSUcgLS12YXJpYWJsZT1ob3N0IDI+L2Rldi9udWxsIHx8IGVjaG8gbm9uZWAKKysgICAgICAgIGxpYmFzc3Vhbl9jb25maWdfaG9zdD1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1ob3N0IGxpYmFzc3VhbmAKKyAgICAgICBmaQogICAgICAgIGlmIHRlc3QgeCIkbGliYXNzdWFuX2NvbmZpZ19ob3N0IiAhPSB4bm9uZSA7IHRoZW4KICAgICAgICAgIGlmIHRlc3QgeCIkbGliYXNzdWFuX2NvbmZpZ19ob3N0IiAhPSB4IiRob3N0IiA7IHRoZW4KLSAgIEFDX01TR19XQVJOKFtbCi1AQCAtMTM4LDEyICs4Nyw4IEBAIGRubAorQEAgLTE1OCwxMiArODgsOCBAQCBkbmwKICBBQ19ERUZVTihbQU1fUEFUSF9MSUJBU1NVQU5dLAogIFsgX0FNX1BBVEhfTElCQVNTVUFOX0NPTU1PTigkMSkKICAgIGlmIHRlc3QgJG9rID0geWVzOyB0aGVuCi0tICAgIExJQkFTU1VBTl9DRkxBR1M9YCRMSUJBU1NVQU5fQ09ORklHICRsaWJhc3N1YW5fY29uZmlnX2FyZ3MgLS1jZmxhZ3NgCi0tICAgIExJQkFTU1VBTl9MSUJTPWAkTElCQVNTVUFOX0NPTkZJRyAkbGliYXNzdWFuX2NvbmZpZ19hcmdzIC0tbGlic2AKKy0gICAgTElCQVNTVUFOX0NGTEFHUz1gJExJQkFTU1VBTl9DT05GSUcgLS1jZmxhZ3NgCistICAgIExJQkFTU1VBTl9MSUJTPWAkTElCQVNTVUFOX0NPTkZJRyAtLWxpYnNgCiAgICAgIGlmZWxzZShbJDJdLCAsIDosIFskMl0pCiAgICBlbHNlCiAtICAgIExJQkFTU1VBTl9DRkxBR1M9IiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliYXNzdWFuL2xpYmFzc3Vhbl8yLjUuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliYXNzdWFuL2xpYmFzc3Vhbl8yLjUuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzRkNWYxNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmFzc3Vhbi9saWJhc3N1YW5fMi41LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1TVU1NQVJZID0gIklQQyBsaWJyYXJ5IHVzZWQgYnkgR251UEcgYW5kIEdQR01FIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnVwZy5vcmcvcmVsYXRlZF9zb2Z0d2FyZS9saWJhc3N1YW4vIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3MuZzEwY29kZS5jb20vZ251cGcvaW5kZXgiCi0KLUxJQ0VOU0UgPSAiR1BMdjMrICYgTEdQTHYyLjErIgotTElDRU5TRV8ke1BOfSA9ICJMR1BMdjIuMSsiCi1MSUNFTlNFXyR7UE59LWRvYyA9ICJHUEx2MysiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mMjdkZWZlMWU5NmMyZTFlY2Q0ZTBjOWJlODk2Nzk0OSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2Fzc3Vhbi5jO2VuZGxpbmU9MjA7bWQ1PWFiOTIxNDNhNWEyYWRhYmQwNmQ3OTk0ZDE0NjdlYTVjXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2Fzc3Vhbi1kZWZzLmg7ZW5kbGluZT0yMDttZDU9MTVkOTUwYzgzZTgyOTc4ZTM1YjM1ZTc5MGQ3ZTRkMzkiCi0KLURFUEVORFMgPSAibGliZ3BnLWVycm9yIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9nbnVwZy5vcmcvZG93bmxvYWQvaW5kZXguaHRtbCIKLVNSQ19VUkkgPSAiJHtHTlVQR19NSVJST1J9L2xpYmFzc3Vhbi9saWJhc3N1YW4tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9saWJhc3N1YW4tYWRkLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI0MzU0YjdhZTI5Njg5NGYyMzJhZGEyMjZhMDYyZDdkNyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0N2Y5NmMzN2I0ZjJhYWMyODlmMGJjMWJhY2ZhOGJkOGI0YjIwOWE0ODhkM2QxNWUyMjI5Y2I2Y2M5YjI2NDQ5IgotCi1CSU5DT05GSUcgPSAiJHtiaW5kaXJ9L2xpYmFzc3Vhbi1jb25maWciCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHRleGluZm8gYmluY29uZmlnLWRpc2FibGVkIHBrZ2NvbmZpZwotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0JIyBFbHNlIHRoZXNlIGNvdWxkIGJlIHVzZWQgaW4gcHJlZmVyZW5jZSB0byB0aG9zZSBpbiBhY2xvY2FsLWNvcHkKLQlybSAtZiAke1N9L200LyoubTQKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhc3N1YW4vbGliYXNzdWFuXzIuNS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhc3N1YW4vbGliYXNzdWFuXzIuNS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmYjNkMmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmFzc3Vhbi9saWJhc3N1YW5fMi41LjMuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJJUEMgbGlicmFyeSB1c2VkIGJ5IEdudVBHIGFuZCBHUEdNRSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251cGcub3JnL3JlbGF0ZWRfc29mdHdhcmUvbGliYXNzdWFuLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmcxMGNvZGUuY29tL2dudXBnL2luZGV4IgorCitMSUNFTlNFID0gIkdQTHYzKyAmIExHUEx2Mi4xKyIKK0xJQ0VOU0VfJHtQTn0gPSAiTEdQTHYyLjErIgorTElDRU5TRV8ke1BOfS1kb2MgPSAiR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjI3ZGVmZTFlOTZjMmUxZWNkNGUwYzliZTg5Njc5NDkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9hc3N1YW4uYztlbmRsaW5lPTIwO21kNT1hYjkyMTQzYTVhMmFkYWJkMDZkNzk5NGQxNDY3ZWE1Y1wKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9hc3N1YW4tZGVmcy5oO2VuZGxpbmU9MjA7bWQ1PTE1ZDk1MGM4M2U4Mjk3OGUzNWIzNWU3OTBkN2U0ZDM5IgorCitERVBFTkRTID0gImxpYmdwZy1lcnJvciIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ251cGcub3JnL2Rvd25sb2FkL2luZGV4Lmh0bWwiCitTUkNfVVJJID0gIiR7R05VUEdfTUlSUk9SfS9saWJhc3N1YW4vbGliYXNzdWFuLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vbGliYXNzdWFuLWFkZC1wa2djb25maWctc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjI2YzUwNGVhNzhhMjMyMjI0YmYzYjY4NDZiM2FkYjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTFiY2IwNDAzODY2YjRlN2M0YmMxY2M1MmVkNGMzNjRhOWI1NDE0YjM5OTRmNzE4YzcwMzAzZjdmNzY1ZTcwMiIKKworQklOQ09ORklHID0gIiR7YmluZGlyfS9saWJhc3N1YW4tY29uZmlnIgorCitpbmhlcml0IGF1dG90b29scyB0ZXhpbmZvIGJpbmNvbmZpZy1kaXNhYmxlZCBwa2djb25maWcKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworCSMgRWxzZSB0aGVzZSBjb3VsZCBiZSB1c2VkIGluIHByZWZlcmVuY2UgdG8gdGhvc2UgaW4gYWNsb2NhbC1jb3B5CisJcm0gLWYgJHtTfS9tNC8qLm00Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliYXRvbWljLW9wcy9saWJhdG9taWMtb3BzXzcuNi44LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhdG9taWMtb3BzL2xpYmF0b21pYy1vcHNfNy42LjguYmIKaW5kZXggYjQwZTU2Ny4uODI5MmMzYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhdG9taWMtb3BzL2xpYmF0b21pYy1vcHNfNy42LjguYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhdG9taWMtb3BzL2xpYmF0b21pYy1vcHNfNy42LjguYmIKQEAgLTgsNiArOCw3IEBACiAgICAgICAgICAgICAgICAgICAgICIKIAogU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vaXZtYWkvbGliYXRvbWljX29wcy9yZWxlYXNlcy9kb3dubG9hZC92JHtQVn0vbGliYXRvbWljX29wcy0ke1BWfS50YXIuZ3oiCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2l2bWFpL2xpYmF0b21pY19vcHMvcmVsZWFzZXMiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICI5OTEyOGYwNWUzZTNmNGUwY2QzOWFhMjNmMjNiYmUwYyIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICIxZDZhMjc5ZWRmODE3NjdlNzRkMmFkMmM5ZmNlMDk0NTliYzY1ZjEyYzY1MjVhNDBiMGNiM2U1M2MwODlmNjY1IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjYXAvZmlsZXMvMDAwMS1GaXgtYnVpbGQtd2l0aC1ncGVyZi0zLjEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNhcC9maWxlcy8wMDAxLUZpeC1idWlsZC13aXRoLWdwZXJmLTMuMS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTEwZWY5MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNhcC9maWxlcy8wMDAxLUZpeC1idWlsZC13aXRoLWdwZXJmLTMuMS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLUZyb20gYTA1ZWJhNjhjNDIyMjJmMDI0NjVkN2JhMzc2MDE1OTI2NDMzYzUzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotRGF0ZTogV2VkLCAyNiBKdWwgMjAxNyAxMzozNzo0OSArMDMwMAotU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGQgd2l0aCBncGVyZiAzLjEKLQotVGhlIGdlbmVyYXRlZCBncGVyZiBmaWxlIHJlZmVycyB0byBzaXplX3Qgd2hpY2ggbmVlZHMgdG8gYmUKLXByb3ZpZGVkIGJ5IHN0ZGRlZi5oIGluY2x1ZGUuIEFsc28sIGFkanVzdCB0aGUgbWFrZWZpbGUKLXRvIG1hdGNoIHRoZSBkZWNsYXJhdGlvbiBpbiB0aGUgZ3BlcmYgZmlsZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLQotLS0tCi0gbGliY2FwL01ha2VmaWxlIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYmNhcC9NYWtlZmlsZSBiL2xpYmNhcC9NYWtlZmlsZQotaW5kZXggZDE4OTc3Ny4uMWE1NzIwNiAxMDA2NDQKLS0tLSBhL2xpYmNhcC9NYWtlZmlsZQotKysrIGIvbGliY2FwL01ha2VmaWxlCi1AQCAtMjIsNyArMjIsNyBAQCBhbGw6ICQoTUlOTElCTkFNRSkgJChTVEFMSUJOQU1FKSBsaWJjYXAucGMKLSAKLSBpZmVxICgkKEJVSUxEX0dQRVJGKSx5ZXMpCi0gVVNFX0dQRVJGX09VVFBVVCA9ICQoR1BFUkZfT1VUUFVUKQotLUlOQ0xVREVfR1BFUkZfT1VUUFVUID0gLWluY2x1ZGUgJChHUEVSRl9PVVRQVVQpCi0rSU5DTFVERV9HUEVSRl9PVVRQVVQgPSAtaW5jbHVkZSBzdGRkZWYuaCAtaW5jbHVkZSAkKEdQRVJGX09VVFBVVCkKLSBlbmRpZgotIAotIGxpYmNhcC5wYzogbGliY2FwLnBjLmluCi1AQCAtNDEsNyArNDEsNyBAQCBjYXBfbmFtZXMuaDogX21ha2VuYW1lcwotIAkuL19tYWtlbmFtZXMgPiBjYXBfbmFtZXMuaAotIAotICQoR1BFUkZfT1VUUFVUKTogY2FwX25hbWVzLmxpc3QuaAotLQlwZXJsIC1lICdwcmludCAic3RydWN0IF9fY2FwX3Rva2VuX3MgeyBjb25zdCBjaGFyICpuYW1lOyBpbnQgaW5kZXg7IH07XG4le1xuY29uc3Qgc3RydWN0IF9fY2FwX3Rva2VuX3MgKl9fY2FwX2xvb2t1cF9uYW1lKGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgaW50KTtcbiV9XG4lJVxuIjsgd2hpbGUgKCQkbCA9IDw+KSB7ICQkbCA9fiBzL1tce1wiXS8vZzsgJCRsID1+IHMvXH0uKi8vIDsgcHJpbnQgJCRsOyB9JyA8ICQ8IHwgZ3BlcmYgLS1pZ25vcmUtY2FzZSAtLWxhbmd1YWdlPUFOU0ktQyAtLXJlYWRvbmx5IC0tbnVsbC1zdHJpbmdzIC0tZ2xvYmFsLXRhYmxlIC0taGFzaC1mdW5jdGlvbi1uYW1lPV9fY2FwX2hhc2hfbmFtZSAtLWxvb2t1cC1mdW5jdGlvbi1uYW1lPSJfX2NhcF9sb29rdXBfbmFtZSIgLWMgLXQgLW0yMCAkKElOREVOVCkgPiAkQAotKwlwZXJsIC1lICdwcmludCAic3RydWN0IF9fY2FwX3Rva2VuX3MgeyBjb25zdCBjaGFyICpuYW1lOyBpbnQgaW5kZXg7IH07XG4le1xuY29uc3Qgc3RydWN0IF9fY2FwX3Rva2VuX3MgKl9fY2FwX2xvb2t1cF9uYW1lKGNvbnN0IGNoYXIgKiwgcmVnaXN0ZXIgc2l6ZV90KTtcbiV9XG4lJVxuIjsgd2hpbGUgKCQkbCA9IDw+KSB7ICQkbCA9fiBzL1tce1wiXS8vZzsgJCRsID1+IHMvXH0uKi8vIDsgcHJpbnQgJCRsOyB9JyA8ICQ8IHwgZ3BlcmYgLS1pZ25vcmUtY2FzZSAtLWxhbmd1YWdlPUFOU0ktQyAtLXJlYWRvbmx5IC0tbnVsbC1zdHJpbmdzIC0tZ2xvYmFsLXRhYmxlIC0taGFzaC1mdW5jdGlvbi1uYW1lPV9fY2FwX2hhc2hfbmFtZSAtLWxvb2t1cC1mdW5jdGlvbi1uYW1lPSJfX2NhcF9sb29rdXBfbmFtZSIgLWMgLXQgLW0yMCAkKElOREVOVCkgPiAkQAotIAotIGNhcF9uYW1lcy5saXN0Lmg6IE1ha2VmaWxlICQoS0VSTkVMX0hFQURFUlMpL2xpbnV4L2NhcGFiaWxpdHkuaAotIAlAZWNobyAiPT4gbWFraW5nICRAIGZyb20gJChLRVJORUxfSEVBREVSUykvbGludXgvY2FwYWJpbGl0eS5oIgotLS0gCi0yLjEzLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjYXAvbGliY2FwXzIuMjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNhcC9saWJjYXBfMi4yNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRmNjc0NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNhcC9saWJjYXBfMi4yNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLVNVTU1BUlkgPSAiTGlicmFyeSBmb3IgZ2V0dGluZy9zZXR0aW5nIFBPU0lYLjFlIGNhcGFiaWxpdGllcyIKLUhPTUVQQUdFID0gImh0dHA6Ly9zaXRlcy5nb29nbGUuY29tL3NpdGUvZnVsbHljYXBhYmxlLyIKLQotIyBubyBzcGVjaWZpYyBHUEwgdmVyc2lvbiByZXF1aXJlZAotTElDRU5TRSA9ICJCU0QgfCBHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xpY2Vuc2U7bWQ1PTNmODRmZDZmMjlkNDUzYTU2NTE0Y2I3ZTRlYWQyNWYxIgotCi1ERVBFTkRTID0gImhvc3RwZXJsLXJ1bnRpbWUtbmF0aXZlIGdwZXJmLW5hdGl2ZSIKLQotU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L2xpYnMvc2VjdXJpdHkvbGludXgtcHJpdnMvJHtCUE59Mi8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZW5zdXJlLXRoZS1YQVRUUl9OQU1FX0NBUFMtaXMtZGVmaW5lZC13aGVuLWl0LWlzLXVzZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC13aXRoLWdwZXJmLTMuMS5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI2NjY2YjgzOWU1ZDQ2YzJhZDMzZmM4YWEyY2ViNWY3NyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2OTNjOGFjNTFlOTgzZWU2NzgyMDU1NzFlZjI3MjQzOWQ4M2FmZTYyZGQ4ZTQyNGVhMTRhZDk3OTBiYzM1MTYyIgotCi1pbmhlcml0IGxpYl9wYWNrYWdlCi0KLSMgZG8gTk9UIHBhc3MgdGFyZ2V0IGNmbGFncyB0byBob3N0IGNvbXBpbGF0aW9ucwotIwotZG9fY29uZmlndXJlKCkgewotCSMgbGliY2FwIHVzZXMgOj0gZm9yIGNvbXBpbGVycywgZm9ydHVuYXRlbHksIGl0IGdpdmVzIHVzIGEgaGludAotCSMgb24gd2hhdCBzaG91bGQgYmUgcmVwbGFjZWQgd2l0aCA/PQotCXNlZCAtZSAncyw6PSw/PSxnJyAtaSBNYWtlLlJ1bGVzCi0Jc2VkIC1lICdzLF5CVUlMRF9DRkxBR1MgPz0gJCguKkNGTEFHUyksQlVJTERfQ0ZMQUdTIDo9ICQoQlVJTERfQ0ZMQUdTKSwnIC1pIE1ha2UuUnVsZXMKLX0KLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSIKLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID8/PSAiIgotCi1QQUNLQUdFQ09ORklHW3BhbV0gPSAiUEFNX0NBUD15ZXMsUEFNX0NBUD1ubyxsaWJwYW0iCi0KLUVYVFJBX09FTUFLRSA9ICIgXAotICBJTkRFTlQ9ICBcCi0gIGxpYj0nJHtiYXNlbGlifScgXAotICBSQUlTRV9TRVRGQ0FQPW5vIFwKLSAgRFlOQU1JQz15ZXMgXAotICBCVUlMRF9HUEVSRj15ZXMgXAotIgotCi1FWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgU1lTVEVNX0hFQURFUlM9JHtTVEFHSU5HX0lOQ0RJUn0iCi0KLSMgdGhlc2UgYXJlIHByZXNlbnQgaW4gdGhlIGxpYmNhcCBkZWZhdWx0cywgc28gaW5jbHVkZSBpbiBvdXIgQ0ZMQUdTIHRvbwotQ0ZMQUdTICs9ICItRF9MQVJHRUZJTEU2NF9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKLQotZG9fY29tcGlsZSgpIHsKLQlvZV9ydW5tYWtlICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30KLX0KLQotZG9faW5zdGFsbCgpIHsKLQlvZV9ydW5tYWtlIGluc3RhbGwgXAotCQkke1BBQ0tBR0VDT05GSUdfQ09ORkFSR1N9IFwKLQkJREVTVERJUj0iJHtEfSIgXAotCQlwcmVmaXg9IiR7cHJlZml4fSIgXAotCQlTQklORElSPSIke3NiaW5kaXJ9IgotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQkjIE1vdmUgdGhlIGxpYnJhcnkgdG8gYmFzZV9saWJkaXIKLQlpbnN0YWxsIC1kICR7RH0ke2Jhc2VfbGliZGlyfQotCWlmIFsgISAke0R9JHtsaWJkaXJ9IC1lZiAke0R9JHtiYXNlX2xpYmRpcn0gXTsgdGhlbgotCQltdiAke0R9JHtsaWJkaXJ9L2xpYmNhcCogJHtEfSR7YmFzZV9saWJkaXJ9Ci0gICAgICAgICAgICAgICAgaWYgWyAtZCAke0R9JHtsaWJkaXJ9L3NlY3VyaXR5IF07IHRoZW4KLQkJCW12ICR7RH0ke2xpYmRpcn0vc2VjdXJpdHkgJHtEfSR7YmFzZV9saWJkaXJ9Ci0JCWZpCi0JZmkKLX0KLQotRklMRVNfJHtQTn0tZGV2ICs9ICIke2Jhc2VfbGliZGlyfS8qLnNvIgotCi0jIHBhbSBmaWxlcwotRklMRVNfJHtQTn0gKz0gIiR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5Lyouc28iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY2FwL2xpYmNhcF8yLjI2LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjYXAvbGliY2FwXzIuMjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ4NDFkZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY2FwL2xpYmNhcF8yLjI2LmJiCkBAIC0wLDAgKzEsNzMgQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3IgZ2V0dGluZy9zZXR0aW5nIFBPU0lYLjFlIGNhcGFiaWxpdGllcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9zaXRlcy5nb29nbGUuY29tL3NpdGUvZnVsbHljYXBhYmxlLyIKKworIyBubyBzcGVjaWZpYyBHUEwgdmVyc2lvbiByZXF1aXJlZAorTElDRU5TRSA9ICJCU0QgfCBHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xpY2Vuc2U7bWQ1PTNmODRmZDZmMjlkNDUzYTU2NTE0Y2I3ZTRlYWQyNWYxIgorCitERVBFTkRTID0gImhvc3RwZXJsLXJ1bnRpbWUtbmF0aXZlIGdwZXJmLW5hdGl2ZSIKKworU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L2xpYnMvc2VjdXJpdHkvbGludXgtcHJpdnMvJHtCUE59Mi8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZW5zdXJlLXRoZS1YQVRUUl9OQU1FX0NBUFMtaXMtZGVmaW5lZC13aGVuLWl0LWlzLXVzZS5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5NjhhYzRkNDJhMWE3MTc1NDMxMzUyN2JlMmFiNWRmMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiNjMwYjdjNDg0MjcxYjNiYTg2NzY4MGQ2YTE0YjEwYTg2Y2ZhNjcyNDdhMTQ2MzFiMTRjMDY3MzFkNWE0NThiIgorCitpbmhlcml0IGxpYl9wYWNrYWdlCisKKyMgZG8gTk9UIHBhc3MgdGFyZ2V0IGNmbGFncyB0byBob3N0IGNvbXBpbGF0aW9ucworIworZG9fY29uZmlndXJlKCkgeworCSMgbGliY2FwIHVzZXMgOj0gZm9yIGNvbXBpbGVycywgZm9ydHVuYXRlbHksIGl0IGdpdmVzIHVzIGEgaGludAorCSMgb24gd2hhdCBzaG91bGQgYmUgcmVwbGFjZWQgd2l0aCA/PQorCXNlZCAtZSAncyw6PSw/PSxnJyAtaSBNYWtlLlJ1bGVzCisJc2VkIC1lICdzLF5CVUlMRF9DRkxBR1MgPz0gJCguKkNGTEFHUyksQlVJTERfQ0ZMQUdTIDo9ICQoQlVJTERfQ0ZMQUdTKSwnIC1pIE1ha2UuUnVsZXMKK30KKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID8/PSAiIgorCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiUEFNX0NBUD15ZXMsUEFNX0NBUD1ubyxsaWJwYW0iCisKK0VYVFJBX09FTUFLRSA9ICIgXAorICBJTkRFTlQ9ICBcCisgIGxpYj0nJHtiYXNlbGlifScgXAorICBSQUlTRV9TRVRGQ0FQPW5vIFwKKyAgRFlOQU1JQz15ZXMgXAorICBCVUlMRF9HUEVSRj15ZXMgXAorIgorCitFWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgU1lTVEVNX0hFQURFUlM9JHtTVEFHSU5HX0lOQ0RJUn0iCisKKyMgdGhlc2UgYXJlIHByZXNlbnQgaW4gdGhlIGxpYmNhcCBkZWZhdWx0cywgc28gaW5jbHVkZSBpbiBvdXIgQ0ZMQUdTIHRvbworQ0ZMQUdTICs9ICItRF9MQVJHRUZJTEU2NF9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKKworZG9fY29tcGlsZSgpIHsKKwlvZV9ydW5tYWtlICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30KK30KKworZG9faW5zdGFsbCgpIHsKKwlvZV9ydW5tYWtlIGluc3RhbGwgXAorCQkke1BBQ0tBR0VDT05GSUdfQ09ORkFSR1N9IFwKKwkJREVTVERJUj0iJHtEfSIgXAorCQlwcmVmaXg9IiR7cHJlZml4fSIgXAorCQlTQklORElSPSIke3NiaW5kaXJ9IgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwkjIE1vdmUgdGhlIGxpYnJhcnkgdG8gYmFzZV9saWJkaXIKKwlpbnN0YWxsIC1kICR7RH0ke2Jhc2VfbGliZGlyfQorCWlmIFsgISAke0R9JHtsaWJkaXJ9IC1lZiAke0R9JHtiYXNlX2xpYmRpcn0gXTsgdGhlbgorCQltdiAke0R9JHtsaWJkaXJ9L2xpYmNhcCogJHtEfSR7YmFzZV9saWJkaXJ9CisgICAgICAgICAgICAgICAgaWYgWyAtZCAke0R9JHtsaWJkaXJ9L3NlY3VyaXR5IF07IHRoZW4KKwkJCW12ICR7RH0ke2xpYmRpcn0vc2VjdXJpdHkgJHtEfSR7YmFzZV9saWJkaXJ9CisJCWZpCisJZmkKK30KKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2Jhc2VfbGliZGlyfS8qLnNvIgorCisjIHBhbSBmaWxlcworRklMRVNfJHtQTn0gKz0gIiR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5Lyouc28iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY2hlY2svbGliY2hlY2tfMC4xMi4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjaGVjay9saWJjaGVja18wLjEyLjAuYmIKaW5kZXggM2JiNDhhNy4uOTRiMGRjMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjaGVjay9saWJjaGVja18wLjEyLjAuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjaGVjay9saWJjaGVja18wLjEyLjAuYmIKQEAgLTEsNSArMSw1IEBACiBTVU1NQVJZICA9ICJDaGVjayAtIHVuaXQgdGVzdGluZyBmcmFtZXdvcmsgZm9yIEMgY29kZSIKLUhPTUVQQUdFID0gImh0dHA6Ly9jaGVjay5zb3VyY2Vmb3JnZS5uZXQvIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9saWJjaGVjay5naXRodWIuaW8vY2hlY2svIgogU0VDVElPTiA9ICJkZXZlbCIKIAogTElDRU5TRSAgPSAiTEdQTHYyLjErIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjcm9jby9saWJjcm9jby9DVkUtMjAxNy03OTYxLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjcm9jby9saWJjcm9jby9DVkUtMjAxNy03OTYxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1NDcxZWMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNyb2NvL2xpYmNyb2NvL0NWRS0yMDE3LTc5NjEucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorQ1ZFOiBDVkUtMjAxNy03OTYxCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDlhZDcyODc1ZTlmMDhlNGM1MTllZjYzZDQ0Y2RiZDk0YWE5NTA0ZjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBJZ25hY2lvIENhc2FsIFF1aW50ZWlybyA8cWlnbmFjaW9AYW1hem9uLmNvbT4KK0RhdGU6IFN1biwgMTYgQXByIDIwMTcgMTM6NTY6MDkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gdGtuenI6IHN1cHBvcnQgb25seSBtYXggbG9uZyByZ2IgdmFsdWVzCisKK1RoaXMgZml4ZXMgYSBwb3NzaWJsZSBvdXQgb2YgYm91bmQgd2hlbiByZWFkaW5nIHJnYnMgd2hpY2gKK2FyZSBsb25nZXIgdGhhbiB0aGUgc3VwcG9ydCBNQVhMT05HCistLS0KKyBzcmMvY3ItdGtuenIuYyB8IDEwICsrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NyLXRrbnpyLmMgYi9zcmMvY3ItdGtuenIuYworaW5kZXggMWE3Y2ZlYi4uMTU0OGMzNSAxMDA2NDQKKy0tLSBhL3NyYy9jci10a256ci5jCisrKysgYi9zcmMvY3ItdGtuenIuYworQEAgLTEyNzksNiArMTI3OSwxMSBAQCBjcl90a256cl9wYXJzZV9yZ2IgKENSVGtuenIgKiBhX3RoaXMsIENSUmdiICoqIGFfcmdiKQorICAgICAgICAgc3RhdHVzID0gY3JfdGtuenJfcGFyc2VfbnVtIChhX3RoaXMsICZudW0pOworICAgICAgICAgRU5TVVJFX1BBUlNJTkdfQ09ORCAoKHN0YXR1cyA9PSBDUl9PSykgJiYgKG51bSAhPSBOVUxMKSk7CisgCisrICAgICAgICBpZiAobnVtLT52YWwgPiBHX01BWExPTkcpIHsKKysgICAgICAgICAgICAgICAgc3RhdHVzID0gQ1JfUEFSU0lOR19FUlJPUjsKKysgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKysgICAgICAgIH0KKysKKyAgICAgICAgIHJlZCA9IG51bS0+dmFsOworICAgICAgICAgY3JfbnVtX2Rlc3Ryb3kgKG51bSk7CisgICAgICAgICBudW0gPSBOVUxMOworQEAgLTEyOTgsNiArMTMwMywxMSBAQCBjcl90a256cl9wYXJzZV9yZ2IgKENSVGtuenIgKiBhX3RoaXMsIENSUmdiICoqIGFfcmdiKQorICAgICAgICAgICAgICAgICBzdGF0dXMgPSBjcl90a256cl9wYXJzZV9udW0gKGFfdGhpcywgJm51bSk7CisgICAgICAgICAgICAgICAgIEVOU1VSRV9QQVJTSU5HX0NPTkQgKChzdGF0dXMgPT0gQ1JfT0spICYmIChudW0gIT0gTlVMTCkpOworIAorKyAgICAgICAgICAgICAgICBpZiAobnVtLT52YWwgPiBHX01BWExPTkcpIHsKKysgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXMgPSBDUl9QQVJTSU5HX0VSUk9SOworKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisrICAgICAgICAgICAgICAgIH0KKysKKyAgICAgICAgICAgICAgICAgUEVFS19CWVRFIChhX3RoaXMsIDEsICZuZXh0X2J5dGVzWzBdKTsKKyAgICAgICAgICAgICAgICAgaWYgKG5leHRfYnl0ZXNbMF0gPT0gJyUnKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgU0tJUF9DSEFSUyAoYV90aGlzLCAxKTsKKy0tIAorMi4xOC4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNyb2NvL2xpYmNyb2NvXzAuNi4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY3JvY28vbGliY3JvY29fMC42LjEyLmJiCmluZGV4IDViOTYyZWUuLmY5NWE1ODMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY3JvY28vbGliY3JvY29fMC42LjEyLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY3JvY28vbGliY3JvY29fMC42LjEyLmJiCkBAIC0xNiw3ICsxNiw5IEBACiAKIGluaGVyaXQgZ25vbWViYXNlIGd0ay1kb2MgYmluY29uZmlnLWRpc2FibGVkCiAKLVNSQ19VUkkgKz0gImZpbGU6Ly9DVkUtMjAxNy03OTYwLnBhdGNoIgorU1JDX1VSSSArPSAiZmlsZTovL0NWRS0yMDE3LTc5NjAucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL0NWRS0yMDE3LTc5NjEucGF0Y2ggXAorICAgICAgICAgICAgIgogCiBTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJiYzA5ODRmY2UwNzhiYTJjZTI5Zjk1MDBjNmI5ZGRjZSIKIFNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImRkYzRiNTU0NmM5ZmI0MjgwYTUwMTdlMjcwN2ZiZDQ4MzkwMzRlZDFhYmE1YjdkNDM3MjIxMmYzNGY4NGY4NjAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV2ZGV2L2xpYmV2ZGV2XzEuNS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJldmRldi9saWJldmRldl8xLjUuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjU5YzYwZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV2ZGV2L2xpYmV2ZGV2XzEuNS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotU1VNTUFSWSA9ICJXcmFwcGVyIGxpYnJhcnkgZm9yIGV2ZGV2IGRldmljZXMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL2xpYmV2ZGV2LyIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJNSVQtWCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1YWFlMGQzOGZlZWE2ZmRhOTdjYTM4MWNiOTEzMmViIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYmV2ZGV2L2xpYmV2ZGV2Lmg7ZW5kbGluZT0yMTttZDU9N2ZmNGYwYjUxMTMyNTJjMmYxYTgyOGUwYmJhZDk4ZDEiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvbGliZXZkZXYvJHtCUH0udGFyLnh6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYTFjYTExZTk2MWMxZWZlZDcyMGZhYzQxMzA4ODE5MDQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTE2NjM3NTE0NDNiZWQ5ZDNlNzZhNGZlMmNhZjZmYTg2NmE3OTcwNWQ5MWNhY2FkODE1YzA0ZTcwNjE5OGE3NSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV2ZGV2L2xpYmV2ZGV2XzEuNi4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJldmRldi9saWJldmRldl8xLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMmNmNTE5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJldmRldi9saWJldmRldl8xLjYuMC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIldyYXBwZXIgbGlicmFyeSBmb3IgZXZkZXYgZGV2aWNlcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvbGliZXZkZXYvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIk1JVC1YIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzVhYWUwZDM4ZmVlYTZmZGE5N2NhMzgxY2I5MTMyZWIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliZXZkZXYvbGliZXZkZXYuaDtlbmRsaW5lPTIxO21kNT03ZmY0ZjBiNTExMzI1MmMyZjFhODI4ZTBiYmFkOThkMSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS9saWJldmRldi8ke0JQfS50YXIueHoiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxNTRiMjRmMDE0MjVjNGM4MmZkYzNlMTFmMmMxM2FmNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNTAwNWM4NjU5ODdkOTgwY2MxMjc5YjllYzYxMzFiMDZhODlmZDk4OTJmNjQ5ZjJhNjgyNjJiODc4NmVmODE0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZXhpZi9saWJleGlmL0NWRS0yMDE2LTYzMjgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV4aWYvbGliZXhpZi9DVkUtMjAxNi02MzI4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2ZjMwNzQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV4aWYvbGliZXhpZi9DVkUtMjAxNi02MzI4LnBhdGNoCkBAIC0wLDAgKzEsNjQgQEAKK0NWRTogQ1ZFLTIwMTYtNjMyOAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSA0MWJkMDQyMzRiMTA0MzEyZjU0ZDI1ODIyZjY4NzM4YmE4ZDcxMzNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CitEYXRlOiBUdWUsIDI1IEp1bCAyMDE3IDIzOjQ0OjQ0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeGVzIHNvbWUgKG5vdCBhbGwpIGJ1ZmZlciBvdmVycmVhZHMgZHVyaW5nIGRlY29kaW5nIHBlbnRheAorIG1ha2Vybm90ZSBlbnRyaWVzLgorCitUaGlzIHNob3VsZCBmaXg6CitodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL2xpYmV4aWYvYnVncy8xMjUvIENWRS0yMDE2LTYzMjgKKy0tLQorIGxpYmV4aWYvcGVudGF4L21ub3RlLXBlbnRheC1lbnRyeS5jIHwgMTYgKysrKysrKysrKysrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliZXhpZi9wZW50YXgvbW5vdGUtcGVudGF4LWVudHJ5LmMgYi9saWJleGlmL3BlbnRheC9tbm90ZS1wZW50YXgtZW50cnkuYworaW5kZXggZDAzZDE1OS4uZWEwNDI5YSAxMDA2NDQKKy0tLSBhL2xpYmV4aWYvcGVudGF4L21ub3RlLXBlbnRheC1lbnRyeS5jCisrKysgYi9saWJleGlmL3BlbnRheC9tbm90ZS1wZW50YXgtZW50cnkuYworQEAgLTQyNSwyNCArNDI1LDM0IEBAIG1ub3RlX3BlbnRheF9lbnRyeV9nZXRfdmFsdWUgKE1ub3RlUGVudGF4RW50cnkgKmVudHJ5LAorIAkJY2FzZSBFWElGX0ZPUk1BVF9TSE9SVDoKKyAJCSAgeworIAkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEgPSBlbnRyeS0+ZGF0YTsKKy0JCSAgCXNpemVfdCBrLCBsZW4gPSBzdHJsZW4odmFsKTsKKysJCSAgCXNpemVfdCBrLCBsZW4gPSBzdHJsZW4odmFsKSwgc2l6ZWxlZnQ7CisrCisrCQkJc2l6ZWxlZnQgPSBlbnRyeS0+c2l6ZTsKKyAJCSAgCWZvcihrPTA7IGs8ZW50cnktPmNvbXBvbmVudHM7IGsrKykgeworKwkJCQlpZiAoc2l6ZWxlZnQgPCAyKQorKwkJCQkJYnJlYWs7CisgCQkJCXZzID0gZXhpZl9nZXRfc2hvcnQgKGRhdGEsIGVudHJ5LT5vcmRlcik7CisgCQkJCXNucHJpbnRmICh2YWwrbGVuLCBtYXhsZW4tbGVuLCAiJWkgIiwgdnMpOworIAkJCQlsZW4gPSBzdHJsZW4odmFsKTsKKyAJCQkJZGF0YSArPSAyOworKwkJCQlzaXplbGVmdCAtPSAyOworIAkJCX0KKyAJCSAgfQorIAkJICBicmVhazsKKyAJCWNhc2UgRVhJRl9GT1JNQVRfTE9ORzoKKyAJCSAgeworIAkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEgPSBlbnRyeS0+ZGF0YTsKKy0JCSAgCXNpemVfdCBrLCBsZW4gPSBzdHJsZW4odmFsKTsKKysJCSAgCXNpemVfdCBrLCBsZW4gPSBzdHJsZW4odmFsKSwgc2l6ZWxlZnQ7CisrCisrCQkJc2l6ZWxlZnQgPSBlbnRyeS0+c2l6ZTsKKyAJCSAgCWZvcihrPTA7IGs8ZW50cnktPmNvbXBvbmVudHM7IGsrKykgeworKwkJCQlpZiAoc2l6ZWxlZnQgPCA0KQorKwkJCQkJYnJlYWs7CisgCQkJCXZsID0gZXhpZl9nZXRfbG9uZyAoZGF0YSwgZW50cnktPm9yZGVyKTsKKyAJCQkJc25wcmludGYgKHZhbCtsZW4sIG1heGxlbi1sZW4sICIlbGkiLCAobG9uZyBpbnQpIHZsKTsKKyAJCQkJbGVuID0gc3RybGVuKHZhbCk7CisgCQkJCWRhdGEgKz0gNDsKKysJCQkJc2l6ZWxlZnQgLT0gNDsKKyAJCQl9CisgCQkgIH0KKyAJCSAgYnJlYWs7CitAQCAtNDU1LDUgKzQ2NSw1IEBAIG1ub3RlX3BlbnRheF9lbnRyeV9nZXRfdmFsdWUgKE1ub3RlUGVudGF4RW50cnkgKmVudHJ5LAorIAkJYnJlYWs7CisgCX0KKyAKKy0JcmV0dXJuICh2YWwpOworKwlyZXR1cm4gdmFsOworIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZXhpZi9saWJleGlmL0NWRS0yMDE4LTIwMDMwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJleGlmL2xpYmV4aWYvQ1ZFLTIwMTgtMjAwMzAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzYyMzNlNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZXhpZi9saWJleGlmL0NWRS0yMDE4LTIwMDMwLnBhdGNoCkBAIC0wLDAgKzEsMTE1IEBACitDVkU6IENWRS0yMDE4LTIwMDMwCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDZhYTExZGY1NDkxMTRlYmRhNTIwZGRlNGNkYWVhMmY5MzU3YjJjODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEYW4gRmFuZHJpY2ggPGRhbkBjb25laGFydmVzdGVycy5jb20+CitEYXRlOiBGcmksIDEyIE9jdCAyMDE4IDE2OjAxOjQ1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEltcHJvdmUgZGVlcCByZWN1cnNpb24gZGV0ZWN0aW9uIGluCisgZXhpZl9kYXRhX2xvYWRfZGF0YV9jb250ZW50LgorCitUaGUgZXhpc3RpbmcgZGV0ZWN0aW9uIHdhcyBzdGlsbCB2dWxuZXJhYmxlIHRvIHBhdGhvbG9naWNhbCBjYXNlcworY2F1c2luZyBEb1MgYnkgd2FzdGluZyBDUFUuIFRoZSBuZXcgYWxnb3JpdGhtIHRha2VzIHRoZSBudW1iZXIgb2YgdGFncworaW50byBhY2NvdW50IHRvIG1ha2UgaXQgaGFyZGVyIHRvIGFidXNlIGJ5IGNhc2VzIHVzaW5nIHNoYWxsb3cgcmVjdXJzaW9uCitidXQgd2l0aCBhIHZlcnkgbGFyZ2UgbnVtYmVyIG9mIHRhZ3MuICBUaGlzIGltcHJvdmVzIG9uIGNvbW1pdCA1ZDI4MDExYword2hpY2ggd2Fzbid0IHN1ZmZpY2llbnQgdG8gY291bnRlciB0aGlzIGtpbmQgb2YgY2FzZS4KKworVGhlIGxpbWl0YXRpb24gaW4gdGhlIHByZXZpb3VzIGZpeCB3YXMgZGlzY292ZXJlZCBieSBMYXVyZW50IERlbG9zaWVyZXMsCitTZWN1bmlhIFJlc2VhcmNoIGF0IEZsZXhlcmEgKFNlY3VuaWEgQWR2aXNvcnkgU0E4NDY1MikgYW5kIGlzIGFzc2lnbmVkCit0aGUgaWRlbnRpZmllciBDVkUtMjAxOC0yMDAzMC4KKworZGlmZiAtLWdpdCBhL2xpYmV4aWYvZXhpZi1kYXRhLmMgYi9saWJleGlmL2V4aWYtZGF0YS5jCitpbmRleCA2N2RmNGRiLi44ZDk4OTdlIDEwMDY0NAorLS0tIGEvbGliZXhpZi9leGlmLWRhdGEuYworKysrIGIvbGliZXhpZi9leGlmLWRhdGEuYworQEAgLTM1LDYgKzM1LDcgQEAKKyAjaW5jbHVkZSA8bGliZXhpZi9vbHltcHVzL2V4aWYtbW5vdGUtZGF0YS1vbHltcHVzLmg+CisgI2luY2x1ZGUgPGxpYmV4aWYvcGVudGF4L2V4aWYtbW5vdGUtZGF0YS1wZW50YXguaD4KKyAKKysjaW5jbHVkZSA8bWF0aC5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CitAQCAtMzQ0LDYgKzM0NSwyMCBAQCBpZiAoZGF0YS0+aWZkWyhpKV0tPmNvdW50KSB7CQkJCVwKKyAJYnJlYWs7CQkJCQkJXAorIH0KKyAKKysvKiEgQ2FsY3VsYXRlIHRoZSByZWN1cnNpb24gY29zdCBhZGRlZCBieSBvbmUgbGV2ZWwgb2YgSUZEIGxvYWRpbmcuCisrICoKKysgKiBUaGUgd29yayBwZXJmb3JtZWQgaXMgcmVsYXRlZCB0byB0aGUgY29zdCBpbiB0aGUgZXhwb25lbnRpYWwgcmVsYXRpb24KKysgKiAgIHdvcms9MS4xKipjb3N0CisrICovCisrc3RhdGljIHVuc2lnbmVkIGludAorK2xldmVsX2Nvc3QodW5zaWduZWQgaW50IG4pCisreworKyAgICBzdGF0aWMgY29uc3QgZG91YmxlIGxvZ18xXzEgPSAwLjA5NTMxMDE3OTgwNDMyNDkzOworKworKwkvKiBBZGRpbmcgMC4xIHByb3RlY3RzIGFnYWluc3QgdGhlIGNhc2Ugd2hlcmUgbj09MSAqLworKwlyZXR1cm4gY2VpbChsb2cobiArIDAuMSkvbG9nXzFfMSk7CisrfQorKworIC8qISBMb2FkIGRhdGEgZm9yIGFuIElGRC4KKyAgKgorICAqIFxwYXJhbVtpbixvdXRdIGRhdGEgI0V4aWZEYXRhCitAQCAtMzUxLDEzICszNjYsMTMgQEAgaWYgKGRhdGEtPmlmZFsoaSldLT5jb3VudCkgewkJCQlcCisgICogXHBhcmFtW2luXSBkIHBvaW50ZXIgdG8gYnVmZmVyIGNvbnRhaW5pbmcgcmF3IElGRCBkYXRhCisgICogXHBhcmFtW2luXSBkcyBzaXplIG9mIHJhdyBkYXRhIGluIGJ1ZmZlciBhdCBcYyBkCisgICogXHBhcmFtW2luXSBvZmZzZXQgb2Zmc2V0IGludG8gYnVmZmVyIGF0IFxjIGQgYXQgd2hpY2ggSUZEIHN0YXJ0cworLSAqIFxwYXJhbVtpbl0gcmVjdXJzaW9uX2RlcHRoIG51bWJlciBvZiB0aW1lcyB0aGlzIGZ1bmN0aW9uIGhhcyBiZWVuCistICogcmVjdXJzaXZlbHkgY2FsbGVkIHdpdGhvdXQgcmV0dXJuaW5nCisrICogXHBhcmFtW2luXSByZWN1cnNpb25fY29zdCBmYWN0b3IgaW5kaWNhdGluZyBob3cgZXhwZW5zaXZlIHRoaXMgcmVjdXJzaXZlCisrICogY2FsbCBjb3VsZCBiZQorICAqLworIHN0YXRpYyB2b2lkCisgZXhpZl9kYXRhX2xvYWRfZGF0YV9jb250ZW50IChFeGlmRGF0YSAqZGF0YSwgRXhpZklmZCBpZmQsCisgCQkJICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkLAorLQkJCSAgICAgdW5zaWduZWQgaW50IGRzLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB1bnNpZ25lZCBpbnQgcmVjdXJzaW9uX2RlcHRoKQorKwkJCSAgICAgdW5zaWduZWQgaW50IGRzLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB1bnNpZ25lZCBpbnQgcmVjdXJzaW9uX2Nvc3QpCisgeworIAlFeGlmTG9uZyBvLCB0aHVtYm5haWxfb2Zmc2V0ID0gMCwgdGh1bWJuYWlsX2xlbmd0aCA9IDA7CisgCUV4aWZTaG9ydCBuOworQEAgLTM3Miw5ICszODcsMjAgQEAgZXhpZl9kYXRhX2xvYWRfZGF0YV9jb250ZW50IChFeGlmRGF0YSAqZGF0YSwgRXhpZklmZCBpZmQsCisgCWlmICgoKChpbnQpaWZkKSA8IDApIHx8ICggKChpbnQpaWZkKSA+PSBFWElGX0lGRF9DT1VOVCkpCisgCSAgcmV0dXJuOworIAorLQlpZiAocmVjdXJzaW9uX2RlcHRoID4gMzApIHsKKysJaWYgKHJlY3Vyc2lvbl9jb3N0ID4gMTcwKSB7CisrCQkvKgorKwkJICogcmVjdXJzaW9uX2Nvc3QgaXMgYSBsb2dhcml0aG1pYy1zY2FsZSBpbmRpY2F0b3Igb2YgaG93IGV4cGVuc2l2ZSB0aGlzCisrCQkgKiByZWN1cnNpdmUgY2FsbCBtaWdodCBlbmQgdXAgYmVpbmcuIEl0IGlzIGFuIGluZGljYXRvciBvZiB0aGUgZGVwdGggb2YKKysJCSAqIHJlY3Vyc2lvbiBhcyB3ZWxsIGFzIHRoZSBwb3RlbnRpYWwgZm9yIHdvcnN0LWNhc2UgZnV0dXJlIHJlY3Vyc2l2ZQorKwkJICogY2FsbHMuIFNpbmNlIGl0J3MgZGlmZmljdWx0IHRvIHRlbGwgYWhlYWQgb2YgdGltZSBob3cgb2Z0ZW4gcmVjdXJzaW9uCisrCQkgKiB3aWxsIG9jY3VyLCB0aGlzIGFzc3VtZXMgdGhlIHdvcnN0IGJ5IGFzc3VtaW5nIGV2ZXJ5IHRhZyBjb3VsZCBlbmQgdXAKKysJCSAqIGNhdXNpbmcgcmVjdXJzaW9uLgorKwkJICogVGhlIHZhbHVlIG9mIDE3MCB3YXMgY2hvc2VuIHRvIGxpbWl0IHR5cGljYWwgRVhJRiBzdHJ1Y3R1cmVzIHRvIGEKKysJCSAqIHJlY3Vyc2l2ZSBkZXB0aCBvZiBhYm91dCA2LCBidXQgcGF0aG9sb2dpY2FsIG9uZXMgKHRob3NlIHdpdGggdmVyeQorKwkJICogbWFueSB0YWdzKSB0byBvbmx5IDIuCisrCQkgKi8KKyAJCWV4aWZfbG9nIChkYXRhLT5wcml2LT5sb2csIEVYSUZfTE9HX0NPREVfQ09SUlVQVF9EQVRBLCAiRXhpZkRhdGEiLAorLQkJCSAgIkRlZXAgcmVjdXJzaW9uIGRldGVjdGVkISIpOworKwkJCSAgIkRlZXAvZXhwZW5zaXZlIHJlY3Vyc2lvbiBkZXRlY3RlZCEiKTsKKyAJCXJldHVybjsKKyAJfQorIAorQEAgLTQxNiwxNSArNDQyLDE4IEBAIGV4aWZfZGF0YV9sb2FkX2RhdGFfY29udGVudCAoRXhpZkRhdGEgKmRhdGEsIEV4aWZJZmQgaWZkLAorIAkJCXN3aXRjaCAodGFnKSB7CisgCQkJY2FzZSBFWElGX1RBR19FWElGX0lGRF9QT0lOVEVSOgorIAkJCQlDSEVDS19SRUMgKEVYSUZfSUZEX0VYSUYpOworLQkJCQlleGlmX2RhdGFfbG9hZF9kYXRhX2NvbnRlbnQgKGRhdGEsIEVYSUZfSUZEX0VYSUYsIGQsIGRzLCBvLCByZWN1cnNpb25fZGVwdGggKyAxKTsKKysJCQkJZXhpZl9kYXRhX2xvYWRfZGF0YV9jb250ZW50IChkYXRhLCBFWElGX0lGRF9FWElGLCBkLCBkcywgbywKKysJCQkJCXJlY3Vyc2lvbl9jb3N0ICsgbGV2ZWxfY29zdChuKSk7CisgCQkJCWJyZWFrOworIAkJCWNhc2UgRVhJRl9UQUdfR1BTX0lORk9fSUZEX1BPSU5URVI6CisgCQkJCUNIRUNLX1JFQyAoRVhJRl9JRkRfR1BTKTsKKy0JCQkJZXhpZl9kYXRhX2xvYWRfZGF0YV9jb250ZW50IChkYXRhLCBFWElGX0lGRF9HUFMsIGQsIGRzLCBvLCByZWN1cnNpb25fZGVwdGggKyAxKTsKKysJCQkJZXhpZl9kYXRhX2xvYWRfZGF0YV9jb250ZW50IChkYXRhLCBFWElGX0lGRF9HUFMsIGQsIGRzLCBvLAorKwkJCQkJcmVjdXJzaW9uX2Nvc3QgKyBsZXZlbF9jb3N0KG4pKTsKKyAJCQkJYnJlYWs7CisgCQkJY2FzZSBFWElGX1RBR19JTlRFUk9QRVJBQklMSVRZX0lGRF9QT0lOVEVSOgorIAkJCQlDSEVDS19SRUMgKEVYSUZfSUZEX0lOVEVST1BFUkFCSUxJVFkpOworLQkJCQlleGlmX2RhdGFfbG9hZF9kYXRhX2NvbnRlbnQgKGRhdGEsIEVYSUZfSUZEX0lOVEVST1BFUkFCSUxJVFksIGQsIGRzLCBvLCByZWN1cnNpb25fZGVwdGggKyAxKTsKKysJCQkJZXhpZl9kYXRhX2xvYWRfZGF0YV9jb250ZW50IChkYXRhLCBFWElGX0lGRF9JTlRFUk9QRVJBQklMSVRZLCBkLCBkcywgbywKKysJCQkJCXJlY3Vyc2lvbl9jb3N0ICsgbGV2ZWxfY29zdChuKSk7CisgCQkJCWJyZWFrOworIAkJCWNhc2UgRVhJRl9UQUdfSlBFR19JTlRFUkNIQU5HRV9GT1JNQVQ6CisgCQkJCXRodW1ibmFpbF9vZmZzZXQgPSBvOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJleGlmL2xpYmV4aWZfMC42LjIxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJleGlmL2xpYmV4aWZfMC42LjIxLmJiCmluZGV4IGI1NTBhMTEuLmQ4NDdiZWEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZXhpZi9saWJleGlmXzAuNi4yMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV4aWYvbGliZXhpZl8wLjYuMjEuYmIKQEAgLTUsMTQgKzUsMTMgQEAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI0M2I3MjVkNzFiYjVkZjRhMWU1OTIwYjM0NGI4NmFkIgogCiBTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9saWJleGlmL2xpYmV4aWYtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNy03NTQ0LnBhdGNoIgorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTctNzU0NC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNi02MzI4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTIwMDMwLnBhdGNoIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiMjczMzliODk4NTBmMjhjOGYxYzIzN2YyMzNlMDViMjciCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTZjZGFlYjYyZWIzZTZkZmFiMjQzNWY3ZDdiY2NkMmYzNzQzOGQyMWM1MjE4ZWM0ZTU4ZWZhOTE1N2Q0ZDQxYSIKIAogaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dAogCi1kb19jb25maWd1cmVfYXBwZW5kKCkgewotCXNlZCAtaSBzOmRvY1wgYmluYXJ5OmJpbmFyeTpnIE1ha2VmaWxlCi19Ci0KK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWRvY3MiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmZtL2xpYmZtLWV4dHJhXzEuMy4wLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmZtL2xpYmZtLWV4dHJhXzEuMy4wLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczNGQwMTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJmbS9saWJmbS1leHRyYV8xLjMuMC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBmaWxlIG1hbmFnZW1lbnQiCi1IT01FUEFHRSA9ICJodHRwOi8vcGNtYW5mbS5zb3VyY2Vmb3JnZS5uZXQvIgotCi1MSUNFTlNFID0gIkxHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zcmMvZm0tZXh0cmEuaDtiZWdpbmxpbmU9ODtlbmRsaW5lPTIxO21kNT1lZjFmODRkYTY0YjNjMDFjY2E0NDcyMTJmN2VmNjAwNyIKLQotU0VDVElPTiA9ICJ4MTEvbGlicyIKLURFUEVORFMgPSAiZ2xpYi0yLjAtbmF0aXZlIGdsaWItMi4wIGludGx0b29sLW5hdGl2ZSIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcGNtYW5mbS9saWJmbS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1ubHMubTQtVGFrZS1pdC1mcm9tLWdldHRleHQtMC4xNS5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMDJhMDI0NzE0ZDUxZTBkMzdhZmM3YmQ1OTZhNDRmM2IiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMThkMDZmNzk5NmNlMWNmODk0N2RmNmUxMDZiYzAzMzhjNmFlMGM0MTM4YzMxNmYyNTAxZjZmNmY0MzVjN2M3MiIKLQotUyA9ICIke1dPUktESVJ9L2xpYmZtLSR7UFZ9IgotCi1FWFRSQV9PRUNPTkYgPSAiLS13aXRoLWV4dHJhLW9ubHkgLS13aXRoLWd0az1ubyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1kb2MgZ2V0dGV4dAotCi1kb19jb25maWd1cmVbZGlyc10gPSsgIiR7U30vbTQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmZtL2xpYmZtLWV4dHJhXzEuMy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJmbS9saWJmbS1leHRyYV8xLjMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NTEwMmExCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJmbS9saWJmbS1leHRyYV8xLjMuMS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIGZpbGUgbWFuYWdlbWVudCIKK0hPTUVQQUdFID0gImh0dHA6Ly9wY21hbmZtLnNvdXJjZWZvcmdlLm5ldC8iCisKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy9mbS1leHRyYS5oO2JlZ2lubGluZT04O2VuZGxpbmU9MjE7bWQ1PWVmMWY4NGRhNjRiM2MwMWNjYTQ0NzIxMmY3ZWY2MDA3IgorCitTRUNUSU9OID0gIngxMS9saWJzIgorREVQRU5EUyA9ICJnbGliLTIuMC1uYXRpdmUgZ2xpYi0yLjAgaW50bHRvb2wtbmF0aXZlIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wY21hbmZtL2xpYmZtLSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW5scy5tNC1UYWtlLWl0LWZyb20tZ2V0dGV4dC0wLjE1LnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjMTVlY2QyYzkzMTdlMmMzODVjZDNmMDQ2ZDBiNjFiYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NmIxMjQ0YmRlNDFjYTBlZWYwMzMyY2ZiNWM2N2JiMTY3MjVkZmQxMDIxMjhmM2U2Zjc0ZmFkYzEzYTFjZmU0IgorCitTID0gIiR7V09SS0RJUn0vbGliZm0tJHtQVn0iCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtZXh0cmEtb25seSAtLXdpdGgtZ3RrPW5vIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ3RrLWRvYyBnZXR0ZXh0CisKK2RvX2NvbmZpZ3VyZVtkaXJzXSA9KyAiJHtTfS9tNCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZm0vbGliZm1fMS4zLjAuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZm0vbGliZm1fMS4zLjAuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjJkNmE1MS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmZtL2xpYmZtXzEuMy4wLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi1TVU1NQVJZID0gIkxpYnJhcnkgZm9yIGZpbGUgbWFuYWdlbWVudCIKLUhPTUVQQUdFID0gImh0dHA6Ly9wY21hbmZtLnNvdXJjZWZvcmdlLm5ldC8iCi0KLUxJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQ2NDFlOTRlYzk2Zjk4ZmFiYzU2ZmY5Y2M0OGJlMTRiIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9mbS5oO2JlZ2lubGluZT04O2VuZGxpbmU9MjE7bWQ1PWVmMWY4NGRhNjRiM2MwMWNjYTQ0NzIxMmY3ZWY2MDA3IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9iYXNlL2ZtLWNvbmZpZy5oO2JlZ2lubGluZT0xMDtlbmRsaW5lPTIzO21kNT1lZjFmODRkYTY0YjNjMDFjY2E0NDcyMTJmN2VmNjAwNyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZm0tZ3RrLmg7YmVnaW5saW5lPTY7ZW5kbGluZT0xOTttZDU9NjQ2YmFhNDk1NWMwNGZlNzY4ZjJjYTI3YjkyYWM4ZGQiCi0KLQotU0VDVElPTiA9ICJ4MTEvbGlicyIKLURFUEVORFMgPSAiZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIHBhbmdvIGd0ayszIG1lbnUtY2FjaGUgaW50bHRvb2wtbmF0aXZlIGxpYmV4aWYgbGliZm0tZXh0cmEiCi0KLVNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3BjbWFuZm0vbGliZm0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQ29ycmVjdGx5LWNoZWNrLXRoZS1zdGFtcC1maWxlLXRoYXQtaW5kaWNhdGVzLWlmLXdlLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1hZGQtbGlicmFyeS1wYXRoLXRvLWF2b2lkLWhvc3QtY29udGFtaW5hdGlvbi5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjAyYTAyNDcxNGQ1MWUwZDM3YWZjN2JkNTk2YTQ0ZjNiIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE4ZDA2Zjc5OTZjZTFjZjg5NDdkZjZlMTA2YmMwMzM4YzZhZTBjNDEzOGMzMTZmMjUwMWY2ZjZmNDM1YzdjNzIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstZG9jIGdldHRleHQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi1BTllfT0ZfRElTVFJPX0ZFQVRVUkVTID0gIiR7R1RLM0RJU1RST0ZFQVRVUkVTfSIKLQotRVhUUkFfT0VDT05GID0gIi0td2l0aC1ndGs9MyIKLQotZG9fY29uZmlndXJlW2RpcnNdID0rICIke1N9L200IgotCi1QQUNLQUdFUyA9KyAibGliZm0tZ3RrIgotUEFDS0FHRVMgKz0gIiR7UE59LW1pbWUiCi1GSUxFU19saWJmbS1ndGsgPSAiIFwKLSAgICAke2xpYmRpcn0vbGliZm0tZ3RrKnNvLiogXAotICAgICR7bGliZGlyfS9saWJmbS9tb2R1bGVzL2d0ayogXAotICAgICR7YmluZGlyfS9saWJmbS1wcmVmLWFwcHMgXAotICAgICR7YmluZGlyfS9seHNob3J0Y3V0IFwKLSAgICAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucy9saWJmbS1wcmVmLWFwcHMuZGVza3RvcCBcCi0gICAgJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMvbHhzaG9ydGN1dC5kZXNrdG9wIFwKLSAgICAke2RhdGFkaXJ9L2xpYmZtL2ltYWdlcy9mb2xkZXIucG5nIFwKLSAgICAke2RhdGFkaXJ9L2xpYmZtL2ltYWdlcy91bmtub3duLnBuZyBcCi0gICAgJHtkYXRhZGlyfS9saWJmbS91aS8qLnVpIFwKLSIKLUZJTEVTXyR7UE59LW1pbWUgPSAiJHtkYXRhZGlyfS9taW1lLyIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotICAgICMgcmVtb3ZlIGZpbGVzIHdoaWNoIGFyZSBwYXJ0IG9mIGxpYmZtLWV4dHJhCi0gICAgcm0gLWYgJHtEfSR7aW5jbHVkZWRpcn0vbGliZm0tMS4wL2ZtLXhtbC1maWxlLmgKLSAgICBybSAtZiAke0R9JHtpbmNsdWRlZGlyfS9saWJmbS0xLjAvZm0tdmVyc2lvbi5oCi0gICAgcm0gLWYgJHtEfSR7aW5jbHVkZWRpcn0vbGliZm0tMS4wL2ZtLWV4dHJhLmgKLSAgICBybSAtZiAke0R9JHtpbmNsdWRlZGlyfS9saWJmbQotICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL2xpYmZtLWV4dHJhLnBjCi0gICAgcm0gLWYgJHtEfSR7bGliZGlyfS9saWJmbS1leHRyYS5zbyoKLSAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2xpYmZtLWV4dHJhLmEKLSAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2xpYmZtLWV4dHJhLmxhCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmZtL2xpYmZtXzEuMy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJmbS9saWJmbV8xLjMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWE2ZjhlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJmbS9saWJmbV8xLjMuMS5iYgpAQCAtMCwwICsxLDU0IEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIGZpbGUgbWFuYWdlbWVudCIKK0hPTUVQQUdFID0gImh0dHA6Ly9wY21hbmZtLnNvdXJjZWZvcmdlLm5ldC8iCisKK0xJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQ2NDFlOTRlYzk2Zjk4ZmFiYzU2ZmY5Y2M0OGJlMTRiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9mbS5oO2JlZ2lubGluZT04O2VuZGxpbmU9MjE7bWQ1PWVmMWY4NGRhNjRiM2MwMWNjYTQ0NzIxMmY3ZWY2MDA3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9iYXNlL2ZtLWNvbmZpZy5oO2JlZ2lubGluZT0xMDtlbmRsaW5lPTIzO21kNT1lZjFmODRkYTY0YjNjMDFjY2E0NDcyMTJmN2VmNjAwNyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZm0tZ3RrLmg7YmVnaW5saW5lPTY7ZW5kbGluZT0xOTttZDU9NjQ2YmFhNDk1NWMwNGZlNzY4ZjJjYTI3YjkyYWM4ZGQiCisKKworU0VDVElPTiA9ICJ4MTEvbGlicyIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIHBhbmdvIGd0ayszIG1lbnUtY2FjaGUgaW50bHRvb2wtbmF0aXZlIGxpYmV4aWYgbGliZm0tZXh0cmEiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3BjbWFuZm0vbGliZm0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQ29ycmVjdGx5LWNoZWNrLXRoZS1zdGFtcC1maWxlLXRoYXQtaW5kaWNhdGVzLWlmLXdlLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1hZGQtbGlicmFyeS1wYXRoLXRvLWF2b2lkLWhvc3QtY29udGFtaW5hdGlvbi5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImMxNWVjZDJjOTMxN2UyYzM4NWNkM2YwNDZkMGI2MWJhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk2YjEyNDRiZGU0MWNhMGVlZjAzMzJjZmI1YzY3YmIxNjcyNWRmZDEwMjEyOGYzZTZmNzRmYWRjMTNhMWNmZTQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstZG9jIGdldHRleHQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCitBTllfT0ZfRElTVFJPX0ZFQVRVUkVTID0gIiR7R1RLM0RJU1RST0ZFQVRVUkVTfSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1ndGs9MyIKKworZG9fY29uZmlndXJlW2RpcnNdID0rICIke1N9L200IgorCitQQUNLQUdFUyA9KyAibGliZm0tZ3RrIgorUEFDS0FHRVMgKz0gIiR7UE59LW1pbWUiCitGSUxFU19saWJmbS1ndGsgPSAiIFwKKyAgICAke2xpYmRpcn0vbGliZm0tZ3RrKnNvLiogXAorICAgICR7bGliZGlyfS9saWJmbS9tb2R1bGVzL2d0ayogXAorICAgICR7YmluZGlyfS9saWJmbS1wcmVmLWFwcHMgXAorICAgICR7YmluZGlyfS9seHNob3J0Y3V0IFwKKyAgICAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucy9saWJmbS1wcmVmLWFwcHMuZGVza3RvcCBcCisgICAgJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMvbHhzaG9ydGN1dC5kZXNrdG9wIFwKKyAgICAke2RhdGFkaXJ9L2xpYmZtL2ltYWdlcy9mb2xkZXIucG5nIFwKKyAgICAke2RhdGFkaXJ9L2xpYmZtL2ltYWdlcy91bmtub3duLnBuZyBcCisgICAgJHtkYXRhZGlyfS9saWJmbS91aS8qLnVpIFwKKyIKK0ZJTEVTXyR7UE59LW1pbWUgPSAiJHtkYXRhZGlyfS9taW1lLyIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgICMgcmVtb3ZlIGZpbGVzIHdoaWNoIGFyZSBwYXJ0IG9mIGxpYmZtLWV4dHJhCisgICAgcm0gLWYgJHtEfSR7aW5jbHVkZWRpcn0vbGliZm0tMS4wL2ZtLXhtbC1maWxlLmgKKyAgICBybSAtZiAke0R9JHtpbmNsdWRlZGlyfS9saWJmbS0xLjAvZm0tdmVyc2lvbi5oCisgICAgcm0gLWYgJHtEfSR7aW5jbHVkZWRpcn0vbGliZm0tMS4wL2ZtLWV4dHJhLmgKKyAgICBybSAtZiAke0R9JHtpbmNsdWRlZGlyfS9saWJmbQorICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL2xpYmZtLWV4dHJhLnBjCisgICAgcm0gLWYgJHtEfSR7bGliZGlyfS9saWJmbS1leHRyYS5zbyoKKyAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2xpYmZtLWV4dHJhLmEKKyAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2xpYmZtLWV4dHJhLmxhCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3IvMDAwMS1zeXNjZmctU3VwcG9ydC1BUkMtQ1BVcy1hbmQtc2ltcGxpZnktYWxpYXNpbmctdGFibGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3IvMDAwMS1zeXNjZmctU3VwcG9ydC1BUkMtQ1BVcy1hbmQtc2ltcGxpZnktYWxpYXNpbmctdGFibGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzYjBjZTcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yLzAwMDEtc3lzY2ZnLVN1cHBvcnQtQVJDLUNQVXMtYW5kLXNpbXBsaWZ5LWFsaWFzaW5nLXRhYmxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjk4ICswLDAgQEAKLUZyb20gZDRmZDY5NzU2NzE0Nzc3MjE5MzYwNjA3NzFhYTRkN2QwN2ZiMDkxMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFdlcm5lciBLb2NoIDx3a0BnbnVwZy5vcmc+Ci1EYXRlOiBUdWUsIDE4IFNlcCAyMDE4IDE0OjU0OjA4ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggbGliZ3BnLWVycm9yXSBzeXNjZmc6IFN1cHBvcnQgQVJDIENQVXMgYW5kIHNpbXBsaWZ5IGFsaWFzaW5nCi0gdGFibGUuCi0KLSogc3JjL21raGVhZGVyLmMgKHhtYWxsb2MpOiBOZXcuCi0oeHN0cmR1cCk6IEltcGxlbWVudCB1c2luZyB4bWFsbG9jLgotKGNhbm9uX2hvc3RfdHJpcGxldCk6IEFkZCBzdXBwb3JyIGZvciBhcmMgQ1BVLiAgQWRqdXN0IGFsaWFzIHRhYmxlIHRvCi1hbHNvIGFsaWFzICotcGMtKi4gIFJlbmFtZSBpYm0gdG8gdW5rbm93bi4gQWRkIGludGVybmFsIGFyZy4gIEFkZAotdW5rbm93biB2ZW5kb3IgaGFjay4KLShtYWluKTogTmV3IG1vZGUgdG8ganVzdCBwcmludCB0aGUgY2Fub25pY2FsaXplZCBmb3JtLgotKiBzcmMvTWFrZWZpbGUuYW0gKGxvY2tfb2JqX3B1Yik6IHMvLShwY3xpYm0pLS8tdW5rbm93bi8uICBBbHNvIHJlbmFtZQotZmlsZXMgYWNjb3JkaW5nbHkuCi0tLQotCi1jb25maWcuc3ViIGRvZXMgbm8gcmVhbCBhbGlhc2luZyBhbmQgdGh1cyB3ZSB3b3VsZCBuZWVkIHRvIGFkZCBzZXZlcmFsCi12ZW5kb3JzIHRvIHRoZSBhbGlzaW5nIHRhYmxlcyBkZXNwaXRlIHRoYXQgdGhpcyBoYXMgbm8gdGVjaG5pY2FsCi1tZWFuZGluZy4gIEluc3RlYWQgd2Ugbm93IHJlcGxhY2UgdGhlIHZlbmRvciB3aXRoICJ1bmtub3duIiBmb3IgdGhlCi00LXBhcnQtInRyaXBsZXRzIi4gIFRoaXMgY2hhbmdlIHdpbGwgbWFrZSBtYWludGVuYWNlIGVhc2llci4KLQotU2lnbmVkLW9mZi1ieTogV2VybmVyIEtvY2ggPHdrQGdudXBnLm9yZz4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbIGh0dHA6Ly9naXQuZ251cGcub3JnL2NnaS1iaW4vZ2l0d2ViLmNnaT9wPWxpYmdwZy1lcnJvci5naXQ7YT1jb21taXQ7aD00OGM4ZjhkZGZjODAgXQotLS0tCi0gc3JjL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTYgKystLQotIHNyYy9ta2hlYWRlci5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDkyICsrKysrKysrKysrKysrKystLS0KLSAuLi4tZ251LmggPT4gbG9jay1vYmotcHViLmk2ODYtdW5rbm93bi1nbnUuaH0gfCAgMAotIC4uLiBsb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWtmcmVlYnNkLWdudS5ofSB8ICAwCi0gLi4uID0+IGxvY2stb2JqLXB1Yi5pNjg2LXVua25vd24tbGludXgtZ251Lmh9IHwgIDAKLSAuLi49PiBsb2NrLW9iai1wdWIuczM5MHgtdW5rbm93bi1saW51eC1nbnUuaH0gfCAgMAotIC4uLm9jay1vYmotcHViLng4Nl82NC11bmtub3duLWtmcmVlYnNkLWdudS5ofSB8ICAwCi0gLi4uPiBsb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtZ251Lmh9IHwgIDAKLSAuLi5vY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1saW51eC1nbnV4MzIuaH0gfCAgMAotIC4uLiBsb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtbXVzbC5ofSB8ICAwCi0gMTAgZmlsZXMgY2hhbmdlZCwgODUgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCi0gcmVuYW1lIHNyYy9zeXNjZmcve2xvY2stb2JqLXB1Yi5pNjg2LXBjLWdudS5oID0+IGxvY2stb2JqLXB1Yi5pNjg2LXVua25vd24tZ251Lmh9ICgxMDAlKQotIHJlbmFtZSBzcmMvc3lzY2ZnL3tsb2NrLW9iai1wdWIuaTY4Ni1wYy1rZnJlZWJzZC1nbnUuaCA9PiBsb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWtmcmVlYnNkLWdudS5ofSAoMTAwJSkKLSByZW5hbWUgc3JjL3N5c2NmZy97bG9jay1vYmotcHViLmk2ODYtcGMtbGludXgtZ251LmggPT4gbG9jay1vYmotcHViLmk2ODYtdW5rbm93bi1saW51eC1nbnUuaH0gKDEwMCUpCi0gcmVuYW1lIHNyYy9zeXNjZmcve2xvY2stb2JqLXB1Yi5zMzkweC1pYm0tbGludXgtZ251LmggPT4gbG9jay1vYmotcHViLnMzOTB4LXVua25vd24tbGludXgtZ251Lmh9ICgxMDAlKQotIHJlbmFtZSBzcmMvc3lzY2ZnL3tsb2NrLW9iai1wdWIueDg2XzY0LXBjLWtmcmVlYnNkLWdudS5oID0+IGxvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1rZnJlZWJzZC1nbnUuaH0gKDEwMCUpCi0gcmVuYW1lIHNyYy9zeXNjZmcve2xvY2stb2JqLXB1Yi54ODZfNjQtcGMtbGludXgtZ251LmggPT4gbG9jay1vYmotcHViLng4Nl82NC11bmtub3duLWxpbnV4LWdudS5ofSAoMTAwJSkKLSByZW5hbWUgc3JjL3N5c2NmZy97bG9jay1vYmotcHViLng4Nl82NC1wYy1saW51eC1nbnV4MzIuaCA9PiBsb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtZ251eDMyLmh9ICgxMDAlKQotIHJlbmFtZSBzcmMvc3lzY2ZnL3tsb2NrLW9iai1wdWIueDg2XzY0LXBjLWxpbnV4LW11c2wuaCA9PiBsb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtbXVzbC5ofSAoMTAwJSkKLQotZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQotaW5kZXggNDI5OThlNDZhM2JjLi44ZWM1ODJlZjk5ZmIgMTAwNjQ0Ci0tLS0gYS9zcmMvTWFrZWZpbGUuYW0KLSsrKyBiL3NyYy9NYWtlZmlsZS5hbQotQEAgLTUyLDkgKzUyLDkgQEAgbG9ja19vYmpfcHViID0gXAotIAlzeXNjZmcvbG9jay1vYmotcHViLmFybS1hcHBsZS1kYXJ3aW4uaCAgICAgICAgICAgICAgXAotICAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5ocHBhLXVua25vd24tbGludXgtZ251LmggICAgICAgIFwKLSAJc3lzY2ZnL2xvY2stb2JqLXB1Yi5pMzg2LWFwcGxlLWRhcndpbi5oICAgICAgICAgICAgIFwKLS0gICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni1wYy1nbnUuaCAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLmk2ODYtcGMta2ZyZWVic2QtZ251LmggICAgICAgICAgXAotLSAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXBjLWxpbnV4LWdudS5oICAgICAgICAgICAgIFwKLSsgICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWdudS5oICAgICAgICAgICAgICBcCi0rICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLmk2ODYtdW5rbm93bi1rZnJlZWJzZC1nbnUuaCAgICAgXAotKyAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXVua25vd24tbGludXgtZ251LmggICAgICAgIFwKLSAgICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIubTY4ay11bmtub3duLWxpbnV4LWdudS5oICAgICAgICBcCi0gICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLm1pcHMtdW5rbm93bi1saW51eC1nbnUuaCAgICAgICAgXAotICAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5taXBzNjRlbC11bmtub3duLWxpbnV4LWdudWFiaTY0LmggXAotQEAgLTY2LDE2ICs2NiwxNiBAQCBsb2NrX29ial9wdWIgPSBcCi0gCXN5c2NmZy9sb2NrLW9iai1wdWIucG93ZXJwYzY0bGUtdW5rbm93bi1saW51eC1nbnUuaCBcCi0gCXN5c2NmZy9sb2NrLW9iai1wdWIucG93ZXJwYy11bmtub3duLWxpbnV4LWdudXNwZS5oICBcCi0gCXN5c2NmZy9sb2NrLW9iai1wdWIucmlzY3Y2NC11bmtub3duLWxpbnV4LWdudS5oICAgICBcCi0tICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLnMzOTB4LWlibS1saW51eC1nbnUuaCAgICAgICAgICAgXAotKyAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5zMzkweC11bmtub3duLWxpbnV4LWdudS5oICAgICAgIFwKLSAgICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIuc2gzLXVua25vd24tbGludXgtZ251LmggICAgICAgICBcCi0gICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLnNoNC11bmtub3duLWxpbnV4LWdudS5oICAgICAgICAgXAotICAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5zcGFyYy11bmtub3duLWxpbnV4LWdudS5oICAgICAgIFwKLSAgICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIuc3BhcmM2NC11bmtub3duLWxpbnV4LWdudS5oICAgICBcCi0gCXN5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LWFwcGxlLWRhcndpbi5oICAgICAgICAgICBcCi0tICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC1wYy1rZnJlZWJzZC1nbnUuaCAgICAgICAgXAotLSAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtcGMtbGludXgtZ251LmggICAgICAgICAgIFwKLS0gICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXBjLWxpbnV4LWdudXgzMi5oICAgICAgICBcCi0tICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC1wYy1saW51eC1tdXNsLmggICAgICAgICAgXAotKyAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1rZnJlZWJzZC1nbnUuaCAgIFwKLSsgICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtZ251LmggICAgICBcCi0rICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC11bmtub3duLWxpbnV4LWdudXgzMi5oICAgXAotKyAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1saW51eC1tdXNsLmggICAgIFwKLSAJc3lzY2ZnL2xvY2stb2JqLXB1Yi50aWxlZ3gtdW5rbm93bi1saW51eC1nbnUuaCAgICAgIFwKLSAJc3lzY2ZnL2xvY2stb2JqLXB1Yi5pYTY0LXVua25vd24tbGludXgtZ251LmggICAgICAgIFwKLSAJc3lzY2ZnL2xvY2stb2JqLXB1Yi5taW5ndzMyLmgKLWRpZmYgLS1naXQgYS9zcmMvbWtoZWFkZXIuYyBiL3NyYy9ta2hlYWRlci5jCi1pbmRleCAyZmM1ZmFkYTY2YTQuLjdhMzhhMWJlYzFhNCAxMDA2NDQKLS0tLSBhL3NyYy9ta2hlYWRlci5jCi0rKysgYi9zcmMvbWtoZWFkZXIuYwotQEAgLTUxLDE3ICs1MSwyNyBAQCB4ZnJlZSAodm9pZCAqYSkKLSAKLSAKLSBzdGF0aWMgY2hhciAqCi0teHN0cmR1cCAoY29uc3QgY2hhciAqc3RyaW5nKQotK3htYWxsb2MgKHNpemVfdCBuKQotIHsKLSAgIGNoYXIgKnA7Ci0tICBzaXplX3QgbGVuID0gc3RybGVuIChzdHJpbmcpICsgMTsKLSAKLS0gIHAgPSBtYWxsb2MgKGxlbik7Ci0rICBwID0gbWFsbG9jIChuKTsKLSAgIGlmICghcCkKLSAgICAgewotICAgICAgIGZwdXRzIChQR00gIjogb3V0IG9mIGNvcmVcbiIsIHN0ZGVycik7Ci0gICAgICAgZXhpdCAoMSk7Ci0gICAgIH0KLSsgIHJldHVybiBwOwotK30KLSsKLSsKLStzdGF0aWMgY2hhciAqCi0reHN0cmR1cCAoY29uc3QgY2hhciAqc3RyaW5nKQotK3sKLSsgIGNoYXIgKnA7Ci0rICBzaXplX3QgbGVuID0gc3RybGVuIChzdHJpbmcpICsgMTsKLSsKLSsgIHAgPSB4bWFsbG9jIChsZW4pOwotICAgbWVtY3B5IChwLCBzdHJpbmcsIGxlbik7Ci0gICByZXR1cm4gcDsKLSB9Ci1AQCAtNjksMjMgKzc5LDMxIEBAIHhzdHJkdXAgKGNvbnN0IGNoYXIgKnN0cmluZykKLSAKLSAvKiBSZXR1cm4gYSBtYWxsb2NlZCBzdHJpbmcgd2l0aCBUUklQTEVULiAgSWYgVFJJUExFVCBoYXMgYW4gYWxpYXMKLSAgICByZXR1cm4gdGhhdCBpbnN0ZWFkLiAgSW4gZ2VuZXJhbCBidWlsZC1hdXgvY29uZmlnLnN1YiBzaG91bGQgZG8gdGhlCi0tICAgYWxpYXNpbmcgYnV0IHNvbWUgcmV0dXJuZWQgdHJpcGxldHMgYXJlIGFueXdheSBpZGVudGljYWwgYW5kIHRodXMgd2UKLS0gICB1c2UgdGhpcyBmdW5jdGlvbiB0byBtYXAgaXQgdG8gdGhlIGNhbm9uaWNhbCBmb3JtLiAgKi8KLSsgICBhbGlhc2luZyBidXQgc29tZSByZXR1cm5lZCB0cmlwbGV0cyBhcmUgYW55d2F5IGlkZW50aWNhbCBhbmQgdGh1cwotKyAgIHdlIHVzZSB0aGlzIGZ1bmN0aW9uIHRvIG1hcCBpdCB0byB0aGUgY2Fub25pY2FsIGZvcm0uCi0rICAgTk9fVkVORE9SX0hBQ0sgaXMgZm9yIGludGVybmFsIHVzZTsgY2FsbGVyIG11c3QgY2FsbCB3aXRoIDAuICovCi0gc3RhdGljIGNoYXIgKgotLWNhbm9uX2hvc3RfdHJpcGxldCAoY29uc3QgY2hhciAqdHJpcGxldCkKLStjYW5vbl9ob3N0X3RyaXBsZXQgKGNvbnN0IGNoYXIgKnRyaXBsZXQsIGludCBub192ZW5kb3JfaGFjaykKLSB7Ci0gICBzdHJ1Y3QgewotICAgICBjb25zdCBjaGFyICpuYW1lOwotICAgICBjb25zdCBjaGFyICphbGlhczsKLSAgIH0gdGJsW10gPSB7Ci0tICAgIHsiaTQ4Ni1wYy1saW51eC1nbnUiLCAiaTY4Ni1wYy1saW51eC1nbnUiIH0sCi0rICAgIHsiaTQ4Ni1wYy1saW51eC1nbnUiLCAiaTY4Ni11bmtub3duLWxpbnV4LWdudSIgfSwKLSAgICAgeyJpNTg2LXBjLWxpbnV4LWdudSIgfSwKLS0gICAgeyJpNDg2LXBjLWdudSIsICJpNjg2LXBjLWdudSJ9LAotKyAgICB7Imk2ODYtcGMtbGludXgtZ251IiB9LAotKyAgICB7ImFyYy1vZS1saW51eC11Y2xpYmMiIH0sIC8qIE90aGVyIENQVSBidXQgc2FtZSBzdHJ1Y3QuICAqLwotKwotKyAgICB7Imk0ODYtcGMtZ251IiwgImk2ODYtdW5rbm93bi1nbnUifSwKLSAgICAgeyJpNTg2LXBjLWdudSJ9LAotLSAgICB7Imk0ODYtcGMta2ZyZWVic2QtZ251IiwgImk2ODYtcGMta2ZyZWVic2QtZ251In0sCi0rICAgIHsiaTY4Ni1wYy1nbnUifSwKLSsKLSsgICAgeyJpNDg2LXBjLWtmcmVlYnNkLWdudSIsICJpNjg2LXVua25vd24ta2ZyZWVic2QtZ251In0sCi0gICAgIHsiaTU4Ni1wYy1rZnJlZWJzZC1nbnUifSwKLSsgICAgeyJpNjg2LXBjLWtmcmVlYnNkLWdudSJ9LAotIAotLSAgICB7Ing4Nl82NC1wYy1saW51eC1nbnVoYXJkZW5lZDEiLCAieDg2XzY0LXBjLWxpbnV4LWdudSIgfSwKLSsgICAgeyJ4ODZfNjQtcGMtbGludXgtZ251aGFyZGVuZWQxIiwgIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIgfSwKLSsgICAgeyJ4ODZfNjQtcGMtbGludXgtZ251IiB9LAotIAotICAgICB7InBvd2VycGMtdW5rbm93bi1saW51eC1nbnVzcGUiLCAicG93ZXJwYy11bmtub3duLWxpbnV4LWdudSIgfSwKLSAKLUBAIC05OCw2ICsxMTYsNyBAQCBjYW5vbl9ob3N0X3RyaXBsZXQgKGNvbnN0IGNoYXIgKnRyaXBsZXQpCi0gICB9OwotICAgaW50IGk7Ci0gICBjb25zdCBjaGFyICpsYXN0YWxpYXMgPSBOVUxMOwotKyAgY29uc3QgY2hhciAqczsKLSAKLSAgIGZvciAoaT0wOyB0YmxbaV0ubmFtZTsgaSsrKQotICAgICB7Ci1AQCAtMTEwLDYgKzEyOSwzNiBAQCBjYW5vbl9ob3N0X3RyaXBsZXQgKGNvbnN0IGNoYXIgKnRyaXBsZXQpCi0gICAgICAgICAgIHJldHVybiB4c3RyZHVwIChsYXN0YWxpYXMpOwotICAgICAgICAgfQotICAgICB9Ci0rICBmb3IgKGk9MCwgcz10cmlwbGV0OyAqczsgcysrKQotKyAgICBpZiAoKnMgPT0gJy0nKQotKyAgICAgIGkrKzsKLSsgIGlmIChpID4gMiAmJiAhbm9fdmVuZG9yX2hhY2spCi0rICAgIHsKLSsgICAgICAvKiBXZSBoYXZlIGEgNCBwYXJ0ICJ0cmlwbGV0IjogQ1BVLVZFTkRPUi1LRVJORUwtU1lTVEVNIHdoZXJlCi0rICAgICAgICogdGhlIGxhc3QgdHdvIHBhcnRzIHJlcGxhY2UgdGhlIE9TIHBhcnQgb2YgYSByZWFsIHRyaXBsZXQuCi0rICAgICAgICogVGhlIFZFTkRPUiBwYXJ0IGlzIHRoZW4gaW4gZ2VuZXJhbCB1c2VsZXNzIGJlY2F1c2UKLSsgICAgICAgKiBLRVJORUwtU1lTVEVNIGlzIHNwZWNpZmljIGVub3VnaC4gIFdlIG5vdyBkbyBhIHNlY29uZCBwYXNzIGJ5Ci0rICAgICAgICogcmVwbGFjaW5nIFZFTkRPUiB3aXRoICJ1bmtub3duIi4gICovCi0rICAgICAgY2hhciAqcDsKLSsgICAgICBjaGFyICpidWYgPSB4bWFsbG9jIChzdHJsZW4gKHRyaXBsZXQpICsgNyArIDEpOwotKwotKyAgICAgIGZvciAocD1idWYscz10cmlwbGV0LGk9MDsgKnM7IHMrKykKLSsgICAgICAgIHsKLSsgICAgICAgICAgKnArKyA9ICpzOwotKyAgICAgICAgICBpZiAoKnMgPT0gJy0nICYmICsraSA9PSAxKQotKyAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAgIG1lbWNweSAocCwgInVua25vd24tIiw4KTsKLSsgICAgICAgICAgICAgIHAgKz0gODsKLSsgICAgICAgICAgICAgIGZvciAocysrOyAqcyAhPSAnLSc7IHMrKykKLSsgICAgICAgICAgICAgICAgOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgIH0KLSsgICAgICAqcCA9IDA7Ci0rICAgICAgcCA9IGNhbm9uX2hvc3RfdHJpcGxldCAoYnVmLCAxKTsKLSsgICAgICB4ZnJlZSAoYnVmKTsKLSsgICAgICByZXR1cm4gcDsKLSsgICAgfQotKwotICAgcmV0dXJuIHhzdHJkdXAgKHRyaXBsZXQpOwotIH0KLSAKLUBAIC01NTgsNyArNjA3LDcgQEAgd3JpdGVfc3BlY2lhbCAoY29uc3QgY2hhciAqZm5hbWUsIGludCBsbnIsIGNvbnN0IGNoYXIgKnRhZykKLSBpbnQKLSBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gewotLSAgRklMRSAqZnA7Ci0rICBGSUxFICpmcCA9IE5VTEw7Ci0gICBjaGFyIGxpbmVbTElORVNJWkVdOwotICAgaW50IGxuciA9IDA7Ci0gICBjb25zdCBjaGFyICpmbmFtZSwgKnM7Ci1AQCAtNTcxLDExICs2MjAsMjIgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotICAgICAgIGFyZ2MtLTsgYXJndisrOwotICAgICB9Ci0gCi0tICBpZiAoYXJnYyAhPSA2KQotKyAgaWYgKGFyZ2MgPT0gMSkKLSsgICAgewotKyAgICAgIC8qIFByaW50IGp1c3QgdGhlIGNhbm9uaWNhbGl6ZWQgaG9zdCB0cmlwbGV0LiAgKi8KLSsgICAgICBob3N0X3RyaXBsZXQgPSBjYW5vbl9ob3N0X3RyaXBsZXQgKGFyZ3ZbMF0sIDApOwotKyAgICAgIHByaW50ZiAoIiVzXG4iLCBob3N0X3RyaXBsZXQpOwotKyAgICAgIGdvdG8gbGVhdmU7Ci0rICAgIH0KLSsgIGVsc2UgaWYgKGFyZ2MgPT0gNikKLSsgICAgOyAvKiBTdGFuZGFyZCBvcGVyYXRpb24uICAqLwotKyAgZWxzZQotICAgICB7Ci0gICAgICAgZnB1dHMgKCJ1c2FnZTogIiBQR00KLSAgICAgICAgICAgICAgIiBob3N0X29zIGhvc3RfdHJpcGxldCB0ZW1wbGF0ZS5oIGNvbmZpZy5oIgotLSAgICAgICAgICAgICAiIHZlcnNpb24gdmVyc2lvbl9udW1iZXJcbiIsCi0rICAgICAgICAgICAgICIgdmVyc2lvbiB2ZXJzaW9uX251bWJlclxuIgotKyAgICAgICAgICAgICAiICAgICAgICIgUEdNCi0rICAgICAgICAgICAgICIgaG9zdF90cmlwbGV0XG4iLAotICAgICAgICAgICAgICBzdGRlcnIpOwotICAgICAgIHJldHVybiAxOwotICAgICB9Ci1AQCAtNTg2LDcgKzY0Niw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgIGhkcl92ZXJzaW9uID0gYXJndls0XTsKLSAgIGhkcl92ZXJzaW9uX251bWJlciA9IGFyZ3ZbNV07Ci0gCi0tICBob3N0X3RyaXBsZXQgPSBjYW5vbl9ob3N0X3RyaXBsZXQgKGhvc3RfdHJpcGxldF9yYXcpOwotKyAgaG9zdF90cmlwbGV0ID0gY2Fub25faG9zdF90cmlwbGV0IChob3N0X3RyaXBsZXRfcmF3LCAwKTsKLSAKLSAgIHNyY2RpciA9IG1hbGxvYyAoc3RybGVuIChmbmFtZSkgKyAyICsgMSk7Ci0gICBpZiAoIXNyY2RpcikKLUBAIC02NzcsMTMgKzczNywxNSBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICAgICAgICAgIkVuZDpcbiIKLSAgICAgICAgICAiKi9cbiIsIHN0ZG91dCk7Ci0gCi0rIGxlYXZlOgotICAgaWYgKGZlcnJvciAoc3Rkb3V0KSkKLSAgICAgewotICAgICAgIGZwcmludGYgKHN0ZGVyciwgUEdNICI6IGVycm9yIHdyaXRpbmcgdG8gc3Rkb3V0OiAlc1xuIiwgc3RyZXJyb3IgKGVycm5vKSk7Ci0gICAgICAgcmV0dXJuIDE7Ci0gICAgIH0KLSAKLS0gIGZjbG9zZSAoZnApOwotKyAgaWYgKGZwKQotKyAgICBmY2xvc2UgKGZwKTsKLSAKLSAgIHhmcmVlIChob3N0X3RyaXBsZXQpOwotICAgcmV0dXJuIDA7Ci1kaWZmIC0tZ2l0IGEvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni1wYy1nbnUuaCBiL3NyYy9zeXNjZmcvbG9jay1vYmotcHViLmk2ODYtdW5rbm93bi1nbnUuaAotc2ltaWxhcml0eSBpbmRleCAxMDAlCi1yZW5hbWUgZnJvbSBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXBjLWdudS5oCi1yZW5hbWUgdG8gc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWdudS5oCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni1wYy1rZnJlZWJzZC1nbnUuaCBiL3NyYy9zeXNjZmcvbG9jay1vYmotcHViLmk2ODYtdW5rbm93bi1rZnJlZWJzZC1nbnUuaAotc2ltaWxhcml0eSBpbmRleCAxMDAlCi1yZW5hbWUgZnJvbSBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXBjLWtmcmVlYnNkLWdudS5oCi1yZW5hbWUgdG8gc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWtmcmVlYnNkLWdudS5oCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni1wYy1saW51eC1nbnUuaCBiL3NyYy9zeXNjZmcvbG9jay1vYmotcHViLmk2ODYtdW5rbm93bi1saW51eC1nbnUuaAotc2ltaWxhcml0eSBpbmRleCAxMDAlCi1yZW5hbWUgZnJvbSBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXBjLWxpbnV4LWdudS5oCi1yZW5hbWUgdG8gc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWxpbnV4LWdudS5oCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuczM5MHgtaWJtLWxpbnV4LWdudS5oIGIvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuczM5MHgtdW5rbm93bi1saW51eC1nbnUuaAotc2ltaWxhcml0eSBpbmRleCAxMDAlCi1yZW5hbWUgZnJvbSBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5zMzkweC1pYm0tbGludXgtZ251LmgKLXJlbmFtZSB0byBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5zMzkweC11bmtub3duLWxpbnV4LWdudS5oCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXBjLWtmcmVlYnNkLWdudS5oIGIvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24ta2ZyZWVic2QtZ251LmgKLXNpbWlsYXJpdHkgaW5kZXggMTAwJQotcmVuYW1lIGZyb20gc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXBjLWtmcmVlYnNkLWdudS5oCi1yZW5hbWUgdG8gc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24ta2ZyZWVic2QtZ251LmgKLWRpZmYgLS1naXQgYS9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtcGMtbGludXgtZ251LmggYi9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1saW51eC1nbnUuaAotc2ltaWxhcml0eSBpbmRleCAxMDAlCi1yZW5hbWUgZnJvbSBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtcGMtbGludXgtZ251LmgKLXJlbmFtZSB0byBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1saW51eC1nbnUuaAotZGlmZiAtLWdpdCBhL3NyYy9zeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC1wYy1saW51eC1nbnV4MzIuaCBiL3NyYy9zeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC11bmtub3duLWxpbnV4LWdudXgzMi5oCi1zaW1pbGFyaXR5IGluZGV4IDEwMCUKLXJlbmFtZSBmcm9tIHNyYy9zeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC1wYy1saW51eC1nbnV4MzIuaAotcmVuYW1lIHRvIHNyYy9zeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC11bmtub3duLWxpbnV4LWdudXgzMi5oCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXBjLWxpbnV4LW11c2wuaCBiL3NyYy9zeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC11bmtub3duLWxpbnV4LW11c2wuaAotc2ltaWxhcml0eSBpbmRleCAxMDAlCi1yZW5hbWUgZnJvbSBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtcGMtbGludXgtbXVzbC5oCi1yZW5hbWUgdG8gc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtbXVzbC5oCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3IvMDAwMi1zeXNjZmctQWRkLXN1cHBvcnQtZm9yLWFyYy11bmtub3duLWxpbnV4LWdudS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvci8wMDAyLXN5c2NmZy1BZGQtc3VwcG9ydC1mb3ItYXJjLXVua25vd24tbGludXgtZ251LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOTc2NTJmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvci8wMDAyLXN5c2NmZy1BZGQtc3VwcG9ydC1mb3ItYXJjLXVua25vd24tbGludXgtZ251LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotRnJvbSBhZTZhM2YyMDM0NWRhYzRiOWRhYWI4YzM5YWMyZDNmYjNmMmMyMWUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogV2VybmVyIEtvY2ggPHdrQGdudXBnLm9yZz4KLURhdGU6IEZyaSwgMjEgU2VwIDIwMTggMTQ6Mzc6MjEgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCBMaWJncGctZXJyb3JdIHN5c2NmZzogQWRkIHN1cHBvcnQgZm9yIGFyYy11bmtub3duLWxpbnV4LWdudQotCi0qIHNyYy9ta2hlYWRlci5jIChjYW5vbl9ob3N0X3RyaXBsZXQpOiBBZGQgdG8gdGFibGUuCi0tLQotCi1Ob3RlIHRoYXQgdW5rbm93biBpbiB0aGUgYWJvdmUgdHJpcGxldCBpcyBhY3R1YWxseSBhIHdpbGRjYXJkIGZvciA0Ci1wYXJ0IHRyaXBsZXRzLgotCi1TaWduZWQtb2ZmLWJ5OiBXZXJuZXIgS29jaCA8d2tAZ251cGcub3JnPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwOi8vZ2l0LmdudXBnLm9yZy9jZ2ktYmluL2dpdHdlYi5jZ2k/cD1saWJncGctZXJyb3IuZ2l0O2E9Y29tbWl0O2g9ZjRmMGRhNzRmNTI2ZDdlMzVjZWRiYzJlOTM0NTRkZjY0NDBkYmZhNV0KLS0tLQotIHNyYy9ta2hlYWRlci5jIHwgMyArKy0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvbWtoZWFkZXIuYyBiL3NyYy9ta2hlYWRlci5jCi1pbmRleCA3YTM4YTFiZWMxYTQuLmE0ODY2ZTk2ZWY0MyAxMDA2NDQKLS0tLSBhL3NyYy9ta2hlYWRlci5jCi0rKysgYi9zcmMvbWtoZWFkZXIuYwotQEAgLTkyLDcgKzkyLDggQEAgY2Fub25faG9zdF90cmlwbGV0IChjb25zdCBjaGFyICp0cmlwbGV0LCBpbnQgbm9fdmVuZG9yX2hhY2spCi0gICAgIHsiaTQ4Ni1wYy1saW51eC1nbnUiLCAiaTY4Ni11bmtub3duLWxpbnV4LWdudSIgfSwKLSAgICAgeyJpNTg2LXBjLWxpbnV4LWdudSIgfSwKLSAgICAgeyJpNjg2LXBjLWxpbnV4LWdudSIgfSwKLS0gICAgeyJhcmMtb2UtbGludXgtdWNsaWJjIiB9LCAvKiBPdGhlciBDUFUgYnV0IHNhbWUgc3RydWN0LiAgKi8KLSsgICAgeyJhcmMtb2UtbGludXgtZ251IiAgICB9LCAvKiBPdGhlciBDUFUgYnV0IHNhbWUgc3RydWN0LiAgKi8KLSsgICAgeyJhcmMtb2UtbGludXgtdWNsaWJjIiB9LCAvKiBhbmQgdWNsaWJjIGlzIGFsc28gdGhlIHNhbWUuICAqLwotIAotICAgICB7Imk0ODYtcGMtZ251IiwgImk2ODYtdW5rbm93bi1nbnUifSwKLSAgICAgeyJpNTg2LXBjLWdudSJ9LAotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yL3BrZ2NvbmZpZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvci9wa2djb25maWcucGF0Y2gKaW5kZXggMzA2NjYxMy4uY2E1ZjZiNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yL3BrZ2NvbmZpZy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3IvcGtnY29uZmlnLnBhdGNoCkBAIC04LDUzICs4LDIxIEBACiBSZWJhc2UgdG8gMS4yOAogCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKK1JlZmFjdG9yZWQgZm9yIDEuMzMKK1NpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKIC0tLQogIGNvbmZpZ3VyZS5hYyAgICAgICAgfCAgMSArCi0gc3JjL01ha2VmaWxlLmFtICAgICB8ICA0ICsrLQogIHNyYy9ncGctZXJyb3IubTQgICAgfCA3MSArKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHNyYy9ncGctZXJyb3IucGMuaW4gfCAxMSArKysrKysrKysKICA0IGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDY5IGRlbGV0aW9ucygtKQogIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvZ3BnLWVycm9yLnBjLmluCiAKLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IGFjYTkzMDAuLmY3Nzk0ZTkgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTYyMSw2ICs2MjEsNyBAQCBBQ19DT05GSUdfRklMRVMoW3NyYy9NYWtlZmlsZSB0ZXN0cy9NYWtlZmlsZV0pCi0gQUNfQ09ORklHX0ZJTEVTKFtsYW5nL01ha2VmaWxlIGxhbmcvY2wvTWFrZWZpbGUgbGFuZy9jbC9ncGctZXJyb3IuYXNkXSkKLSBBQ19DT05GSUdfRklMRVMoW3NyYy92ZXJzaW9uaW5mby5yYyBzcmMvZ3BnLWVycm9yLnczMi1tYW5pZmVzdF0pCi0gQUNfQ09ORklHX0ZJTEVTKFtzcmMvZ3BnLWVycm9yLWNvbmZpZ10sIFtjaG1vZCAreCBzcmMvZ3BnLWVycm9yLWNvbmZpZ10pCi0rQUNfQ09ORklHX0ZJTEVTKFtzcmMvZ3BnLWVycm9yLnBjXSkKLSAKLSBBQ19PVVRQVVQKLSAKLWRpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KLWluZGV4IDI2OGMyYWIuLjk1Zjg0NTkgMTAwNjQ0Ci0tLS0gYS9zcmMvTWFrZWZpbGUuYW0KLSsrKyBiL3NyYy9NYWtlZmlsZS5hbQotQEAgLTg3LDYgKzg3LDggQEAgYmluX1NDUklQVFMgPSBncGctZXJyb3ItY29uZmlnCi0gbm9kaXN0X2Jpbl9TQ1JJUFRTID0gZ3BncnQtY29uZmlnCi0gbTRkYXRhZGlyID0gJChkYXRhZGlyKS9hY2xvY2FsCi0gbTRkYXRhX0RBVEEgPSBncGctZXJyb3IubTQgZ3BncnQubTQKLStwa2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmlnCi0rcGtnY29uZmlnX0RBVEEgPSBncGctZXJyb3IucGMKLSAKLSBFWFRSQV9ESVNUID0gbWtzdHJ0YWJsZS5hd2sgZXJyLXNvdXJjZXMuaC5pbiBlcnItY29kZXMuaC5pbiBcCi0gCW1rZXJybm9zLmF3ayBlcnJub3MuaW4gUkVBRE1FIFwKLUBAIC05NCw3ICs5Niw3IEBAIEVYVFJBX0RJU1QgPSBta3N0cnRhYmxlLmF3ayBlcnItc291cmNlcy5oLmluIGVyci1jb2Rlcy5oLmluIFwKLSAJbWtoZWFkZXIuYyBncGctZXJyb3IuaC5pbiBta3czMmVycm1hcC5jIHczMi1hZGQuaCB3MzJjZS1hZGQuaCBcCi0gCWVyci1zb3VyY2VzLmggZXJyLWNvZGVzLmggZ3BnLWVycm9yLWNvbmZpZy5pbiBncGctZXJyb3IubTQgZ3BncnQubTQgXAotIAlncGctZXJyb3IudmVycyBncGctZXJyb3IuZGVmLmluIFwKLS0gICAgICAgIHZlcnNpb25pbmZvLnJjLmluIGdwZy1lcnJvci53MzItbWFuaWZlc3QuaW4gXAotKyAgICAgICAgdmVyc2lvbmluZm8ucmMuaW4gZ3BnLWVycm9yLnczMi1tYW5pZmVzdC5pbiBncGctZXJyb3IucGMgXAotIAkkKGxvY2tfb2JqX3B1YikKLSAKLSBCVUlMVF9TT1VSQ0VTID0gZXJyLXNvdXJjZXMuaCBlcnItY29kZXMuaCBjb2RlLXRvLWVycm5vLmggY29kZS1mcm9tLWVycm5vLmggXAotZGlmZiAtLWdpdCBhL3NyYy9ncGctZXJyb3IubTQgYi9zcmMvZ3BnLWVycm9yLm00Ci1pbmRleCA2MGM4OGQ4Li4yZWY3ZTNlIDEwMDY0NAotLS0tIGEvc3JjL2dwZy1lcnJvci5tNAotKysrIGIvc3JjL2dwZy1lcnJvci5tNAotQEAgLTI2LDczICsyNiwxMyBAQCBkbmwgaXMgYWRkZWQgdG8gdGhlIGdwZ19jb25maWdfc2NyaXB0X3dhcm4gdmFyaWFibGUuCitJbmRleDogbGliZ3BnLWVycm9yLTEuMzMvc3JjL2dwZy1lcnJvci5tNAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYmdwZy1lcnJvci0xLjMzLm9yaWcvc3JjL2dwZy1lcnJvci5tNAorKysrIGxpYmdwZy1lcnJvci0xLjMzL3NyYy9ncGctZXJyb3IubTQKK0BAIC0yNiwxMzkgKzI2LDEzIEBAIGRubCBpcyBhZGRlZCB0byB0aGUgZ3BnX2NvbmZpZ19zY3JpcHRfd2EKICBkbmwKICBBQ19ERUZVTihbQU1fUEFUSF9HUEdfRVJST1JdLAogIFsgQUNfUkVRVUlSRShbQUNfQ0FOT05JQ0FMX0hPU1RdKQpAQCAtNjYsMTQgKzM0LDE1IEBACiAtICAgICAgICAgICAgICBBQ19IRUxQX1NUUklORyhbLS13aXRoLWxpYmdwZy1lcnJvci1wcmVmaXg9UEZYXSwKIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmVmaXggd2hlcmUgR1BHIEVycm9yIGlzIGluc3RhbGxlZCAob3B0aW9uYWwpXSksCiAtICAgICAgICAgICAgICBbZ3BnX2Vycm9yX2NvbmZpZ19wcmVmaXg9IiR3aXRodmFsIl0pCi0tCisrICBtaW5fZ3BnX2Vycm9yX3ZlcnNpb249aWZlbHNlKFskMV0sICwwLjAsJDEpCisrICBQS0dfQ0hFQ0tfTU9EVUxFUyhHUEdfRVJST1IsIFtncGctZXJyb3IgPj0gJG1pbl9ncGdfZXJyb3JfdmVyc2lvbl0sIFtvaz15ZXNdLCBbb2s9bm9dKQorIAogLSAgZG5sIEFjY2VwdCAtLXdpdGgtZ3BnLWVycm9yLXByZWZpeCBhbmQgbWFrZSBpdCB3b3JrIHRoZSBzYW1lIGFzCiAtICBkbmwgLS13aXRoLWxpYmdwZy1lcnJvci1wcmVmaXggYWJvdmUsIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwKIC0gIGRubCBidXQgZG8gbm90IGRvY3VtZW50IHRoaXMgb2xkLCBpbmNvbnNpc3RlbnRseS1uYW1lZCBvcHRpb24uCiAtICBBQ19BUkdfV0lUSChncGctZXJyb3ItcHJlZml4LCwKIC0gICAgICAgICAgICAgIFtncGdfZXJyb3JfY29uZmlnX3ByZWZpeD0iJHdpdGh2YWwiXSkKLSsgIG1pbl9ncGdfZXJyb3JfdmVyc2lvbj1pZmVsc2UoWyQxXSwgLDAuMCwkMSkKLSAKKy0KIC0gIGlmIHRlc3QgeCIke0dQR19FUlJPUl9DT05GSUd9IiA9IHggOyB0aGVuCiAtICAgICBpZiB0ZXN0IHgiJHtncGdfZXJyb3JfY29uZmlnX3ByZWZpeH0iICE9IHggOyB0aGVuCiAtICAgICAgICBHUEdfRVJST1JfQ09ORklHPSIke2dwZ19lcnJvcl9jb25maWdfcHJlZml4fS9iaW4vZ3BnLWVycm9yLWNvbmZpZyIKQEAgLTkyLDE5ICs2MSw1NyBAQAogLSAgICAgICBlc2FjCiAtICAgICBmaQogLSAgZmkKLSsgIFBLR19DSEVDS19NT0RVTEVTKEdQR19FUlJPUiwgW2dwZy1lcnJvciA+PSAkbWluX2dwZ19lcnJvcl92ZXJzaW9uXSwgW29rPXllc10sIFtvaz1ub10pCi0gCistCiAtICBBQ19QQVRIX1BST0coR1BHX0VSUk9SX0NPTkZJRywgZ3BnLWVycm9yLWNvbmZpZywgbm8pCi0tICBtaW5fZ3BnX2Vycm9yX3ZlcnNpb249aWZlbHNlKFskMV0sICwwLjAsJDEpCi0tICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIEdQRyBFcnJvciAtIHZlcnNpb24gPj0gJG1pbl9ncGdfZXJyb3JfdmVyc2lvbikKKy0gIG1pbl9ncGdfZXJyb3JfdmVyc2lvbj1pZmVsc2UoWyQxXSwgLDEuMzMsJDEpCiAtICBvaz1ubwotLSAgaWYgdGVzdCAiJEdQR19FUlJPUl9DT05GSUciICE9ICJubyIgXAotLSAgICAgJiYgdGVzdCAtZiAiJEdQR19FUlJPUl9DT05GSUciIDsgdGhlbgorLQorLSAgaWYgdGVzdCAiJHByZWZpeCIgPSBOT05FIDsgdGhlbgorLSAgICBwcmVmaXhfb3B0aW9uX2V4cGFuZGVkPS91c3IvbG9jYWwKKy0gIGVsc2UKKy0gICAgcHJlZml4X29wdGlvbl9leHBhbmRlZD0iJHByZWZpeCIKKy0gIGZpCistICBpZiB0ZXN0ICIkZXhlY19wcmVmaXgiID0gTk9ORSA7IHRoZW4KKy0gICAgZXhlY19wcmVmaXhfb3B0aW9uX2V4cGFuZGVkPSRwcmVmaXhfb3B0aW9uX2V4cGFuZGVkCistICBlbHNlCistICAgIGV4ZWNfcHJlZml4X29wdGlvbl9leHBhbmRlZD0kKHByZWZpeD0kcHJlZml4X29wdGlvbl9leHBhbmRlZCBldmFsIGVjaG8gJGV4ZWNfcHJlZml4KQorLSAgZmkKKy0gIGxpYmRpcl9vcHRpb25fZXhwYW5kZWQ9JChwcmVmaXg9JHByZWZpeF9vcHRpb25fZXhwYW5kZWQgZXhlY19wcmVmaXg9JGV4ZWNfcHJlZml4X29wdGlvbl9leHBhbmRlZCBldmFsIGVjaG8gJGxpYmRpcikKKy0KKy0gIGlmIHRlc3QgLWYgJGxpYmRpcl9vcHRpb25fZXhwYW5kZWQvcGtnY29uZmlnL2dwZy1lcnJvci5wYzsgdGhlbgorLSAgICBncGdydF9saWJkaXI9JGxpYmRpcl9vcHRpb25fZXhwYW5kZWQKKy0gIGVsc2UKKy0gICAgaWYgY3J0MV9wYXRoPSQoJHtDQzotY2N9IC1wcmludC1maWxlLW5hbWU9Y3J0MS5vIDI+L2Rldi9udWxsKTsgdGhlbgorLSAgICAgIGlmIHBvc3NpYmxlX2xpYmRpcj0kKGNkICR7Y3J0MV9wYXRoJS8qfSAmJiBwd2QgMj4vZGV2L251bGwpOyB0aGVuCistICAgICAgICBpZiB0ZXN0IC1mICRwb3NzaWJsZV9saWJkaXIvcGtnY29uZmlnL2dwZy1lcnJvci5wYzsgdGhlbgorLSAgICAgICAgICBncGdydF9saWJkaXI9JHBvc3NpYmxlX2xpYmRpcgorLSAgICAgICAgZmkKKy0gICAgICBmaQorLSAgICBmaQorLSAgZmkKKy0KKy0gIGlmIHRlc3QgIiRHUEdfRVJST1JfQ09ORklHIiA9ICJubyIgLWEgLW4gIiRncGdydF9saWJkaXIiOyB0aGVuCistICAgIEFDX1BBVEhfUFJPRyhHUEdSVF9DT05GSUcsIGdwZ3J0LWNvbmZpZywgbm8pCistICAgIGlmIHRlc3QgIiRHUEdSVF9DT05GSUciID0gIm5vIjsgdGhlbgorLSAgICAgIHVuc2V0IEdQR1JUX0NPTkZJRworLSAgICBlbHNlCistICAgICAgR1BHUlRfQ09ORklHPSIkR1BHUlRfQ09ORklHIC0tbGliZGlyPSRncGdydF9saWJkaXIiCistICAgICAgaWYgJEdQR1JUX0NPTkZJRyBncGctZXJyb3IgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICAgICAgICBHUEdfRVJST1JfQ09ORklHPSIkR1BHUlRfQ09ORklHIGdwZy1lcnJvciIKKy0gICAgICAgIEFDX01TR19OT1RJQ0UoW1VzZSBncGdydC1jb25maWcgd2l0aCAkZ3BncnRfbGliZGlyIGFzIGdwZy1lcnJvci1jb25maWddKQorLSAgICAgICAgZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uPWAkR1BHX0VSUk9SX0NPTkZJRyAtLW1vZHZlcnNpb25gCistICAgICAgZWxzZQorLSAgICAgICAgdW5zZXQgR1BHUlRfQ09ORklHCistICAgICAgZmkKKy0gICAgZmkKKy0gIGVsc2UKKy0gICAgZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uPWAkR1BHX0VSUk9SX0NPTkZJRyAtLXZlcnNpb25gCistICBmaQorLSAgaWYgdGVzdCAiJEdQR19FUlJPUl9DT05GSUciICE9ICJubyI7IHRoZW4KIC0gICAgcmVxX21ham9yPWBlY2hvICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24gfCBcCiAtICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpL1wxLydgCiAtICAgIHJlcV9taW5vcj1gZWNobyAkbWluX2dwZ19lcnJvcl92ZXJzaW9uIHwgXAogLSAgICAgICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS9cMi8nYAotLSAgICBncGdfZXJyb3JfY29uZmlnX3ZlcnNpb249YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS12ZXJzaW9uYAogLSAgICBtYWpvcj1gZWNobyAkZ3BnX2Vycm9yX2NvbmZpZ192ZXJzaW9uIHwgXAogLSAgICAgICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS4qL1wxLydgCiAtICAgIG1pbm9yPWBlY2hvICRncGdfZXJyb3JfY29uZmlnX3ZlcnNpb24gfCBcCkBAIC0xMTgsMjAgKzEyNSw0NyBAQAogLSAgICAgICAgICAgIGZpCiAtICAgICAgICBmaQogLSAgICBmaQorLSAgICBpZiB0ZXN0IC16ICIkR1BHUlRfQ09ORklHIiAtYSAtbiAiJGdwZ3J0X2xpYmRpciI7IHRoZW4KKy0gICAgICBpZiB0ZXN0ICIkbWFqb3IiIC1ndCAxIC1vICIkbWFqb3IiIC1lcSAxIC1hICIkbWlub3IiIC1nZSAzMzsgdGhlbgorLSAgICAgICAgQUNfUEFUSF9QUk9HKEdQR1JUX0NPTkZJRywgZ3BncnQtY29uZmlnLCBubykKKy0gICAgICAgIGlmIHRlc3QgIiRHUEdSVF9DT05GSUciID0gIm5vIjsgdGhlbgorLSAgICAgICAgICB1bnNldCBHUEdSVF9DT05GSUcKKy0gICAgICAgIGVsc2UKKy0gICAgICAgICAgR1BHUlRfQ09ORklHPSIkR1BHUlRfQ09ORklHIC0tbGliZGlyPSRncGdydF9saWJkaXIiCistICAgICAgICAgIGlmICRHUEdSVF9DT05GSUcgZ3BnLWVycm9yID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgICAgICAgICAgIEdQR19FUlJPUl9DT05GSUc9IiRHUEdSVF9DT05GSUcgZ3BnLWVycm9yIgorLSAgICAgICAgICAgIEFDX01TR19OT1RJQ0UoW1VzZSBncGdydC1jb25maWcgd2l0aCAkZ3BncnRfbGliZGlyIGFzIGdwZy1lcnJvci1jb25maWddKQorLSAgICAgICAgICBlbHNlCistICAgICAgICAgICAgdW5zZXQgR1BHUlRfQ09ORklHCistICAgICAgICAgIGZpCistICAgICAgICBmaQorLSAgICAgIGZpCistICAgIGZpCiAtICBmaQorLSAgQUNfTVNHX0NIRUNLSU5HKGZvciBHUEcgRXJyb3IgLSB2ZXJzaW9uID49ICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24pCiAgICBpZiB0ZXN0ICRvayA9IHllczsgdGhlbgotLSAgICBHUEdfRVJST1JfQ0ZMQUdTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0tY2ZsYWdzYAotLSAgICBHUEdfRVJST1JfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLWxpYnNgCi0tICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWNmbGFncyAyPi9kZXYvbnVsbGAKLS0gICAgR1BHX0VSUk9SX01UX0xJQlM9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1tdCAtLWxpYnMgMj4vZGV2L251bGxgCistICAgIEdQR19FUlJPUl9DRkxBR1M9YCRHUEdfRVJST1JfQ09ORklHIC0tY2ZsYWdzYAorLSAgICBHUEdfRVJST1JfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgLS1saWJzYAorLSAgICBpZiB0ZXN0IC16ICIkR1BHUlRfQ09ORklHIjsgdGhlbgorLSAgICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9YCRHUEdfRVJST1JfQ09ORklHIC0tbXQgLS1jZmxhZ3MgMj4vZGV2L251bGxgCistICAgICAgR1BHX0VSUk9SX01UX0xJQlM9YCRHUEdfRVJST1JfQ09ORklHIC0tbXQgLS1saWJzIDI+L2Rldi9udWxsYAorLSAgICBlbHNlCistICAgICAgR1BHX0VSUk9SX01UX0NGTEFHUz1gJEdQR19FUlJPUl9DT05GSUcgLS12YXJpYWJsZT1tdGNmbGFncyAyPi9kZXYvbnVsbGAKKy0gICAgICBHUEdfRVJST1JfTVRfQ0ZMQUdTPSIkR1BHX0VSUk9SX0NGTEFHUyR7R1BHX0VSUk9SX0NGTEFHUzorIH0kR1BHX0VSUk9SX01UX0NGTEFHUyIKKy0gICAgICBHUEdfRVJST1JfTVRfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgLS12YXJpYWJsZT1tdGxpYnMgMj4vZGV2L251bGxgCistICAgICAgR1BHX0VSUk9SX01UX0xJQlM9IiRHUEdfRVJST1JfTElCUyR7R1BHX0VSUk9SX0xJQlM6KyB9JEdQR19FUlJPUl9NVF9MSUJTIgorLSAgICBmaQogLSAgICBBQ19NU0dfUkVTVUxUKFt5ZXMgKCRncGdfZXJyb3JfY29uZmlnX3ZlcnNpb24pXSkKICAgICAgaWZlbHNlKFskMl0sICwgOiwgWyQyXSkKLS0gICAgZ3BnX2Vycm9yX2NvbmZpZ19ob3N0PWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0taG9zdCAyPi9kZXYvbnVsbCB8fCBlY2hvIG5vbmVgCi0rICAgIGdwZ19lcnJvcl9jb25maWdfaG9zdD1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1ob3N0IGdwZy1lcnJvcmAKKyAgICAgaWYgdGVzdCAteiAiJEdQR1JUX0NPTkZJRyI7IHRoZW4KKy0gICAgICBncGdfZXJyb3JfY29uZmlnX2hvc3Q9YCRHUEdfRVJST1JfQ09ORklHIC0taG9zdCAyPi9kZXYvbnVsbCB8fCBlY2hvIG5vbmVgCistICAgIGVsc2UKKy0gICAgICBncGdfZXJyb3JfY29uZmlnX2hvc3Q9YCRHUEdfRVJST1JfQ09ORklHIC0tdmFyaWFibGU9aG9zdCAyPi9kZXYvbnVsbCB8fCBlY2hvIG5vbmVgCisrICAgICAgZ3BnX2Vycm9yX2NvbmZpZ19ob3N0PWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWhvc3QgZ3BnLWVycm9yYAorICAgICBmaQogICAgICBpZiB0ZXN0IHgiJGdwZ19lcnJvcl9jb25maWdfaG9zdCIgIT0geG5vbmUgOyB0aGVuCiAgICAgICAgaWYgdGVzdCB4IiRncGdfZXJyb3JfY29uZmlnX2hvc3QiICE9IHgiJGhvc3QiIDsgdGhlbgotICAgQUNfTVNHX1dBUk4oW1sKLUBAIC0xMDcsMTEgKzQ3LDYgQEAgQUNfREVGVU4oW0FNX1BBVEhfR1BHX0VSUk9SXSwKK0BAIC0xNzQsMTUgKzQ4LDYgQEAgQUNfREVGVU4oW0FNX1BBVEhfR1BHX0VSUk9SXSwKICAgICAgICBmaQogICAgICBmaQogICAgZWxzZQpAQCAtMTQyLDI0ICsxNzYsOCBAQAogLSAgICBBQ19NU0dfUkVTVUxUKG5vKQogICAgICBpZmVsc2UoWyQzXSwgLCA6LCBbJDNdKQogICAgZmkKLSAgIEFDX1NVQlNUKEdQR19FUlJPUl9DRkxBR1MpCi1kaWZmIC0tZ2l0IGEvc3JjL2dwZy1lcnJvci5wYy5pbiBiL3NyYy9ncGctZXJyb3IucGMuaW4KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5iYzBiMTc0Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9zcmMvZ3BnLWVycm9yLnBjLmluCi1AQCAtMCwwICsxLDExIEBACi0rcHJlZml4PUBwcmVmaXhACi0rZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4QAotK2xpYmRpcj1AbGliZGlyQAotK2luY2x1ZGVkaXI9QGluY2x1ZGVkaXJACi0raG9zdD1AR1BHX0VSUk9SX0NPTkZJR19IT1NUQAotKwotK05hbWU6IGdwZy1lcnJvcgotK0Rlc2NyaXB0aW9uOiBhIGxpYnJhcnkgdGhhdCBkZWZpbmVzIGNvbW1vbiBlcnJvciB2YWx1ZXMgZm9yIGFsbCBHbnVQRyBjb21wb25lbnRzCi0rVmVyc2lvbjogQFZFUlNJT05ACi0rTGliczogLUwke2xpYmRpcn0gLWxncGctZXJyb3IKLStDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQotLS0gCi0xLjguMy4xCi0KKy0gIEFDX1NVQlNUKEdQR19FUlJPUl9DRkxBR1MpCistICBBQ19TVUJTVChHUEdfRVJST1JfTElCUykKKy0gIEFDX1NVQlNUKEdQR19FUlJPUl9NVF9DRkxBR1MpCistICBBQ19TVUJTVChHUEdfRVJST1JfTVRfTElCUykKKyBdKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yXzEuMzIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3JfMS4zMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTU1MjAwMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3JfMS4zMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLVNVTU1BUlkgPSAiU21hbGwgbGlicmFyeSB0aGF0IGRlZmluZXMgY29tbW9uIGVycm9yIHZhbHVlcyBmb3IgYWxsIEdudVBHIGNvbXBvbmVudHMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudXBnLm9yZy9yZWxhdGVkX3NvZnR3YXJlL2xpYmdwZy1lcnJvci8iCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5nMTBjb2RlLmNvbS9nbnVwZy9pbmRleCIKLQotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIuMSsiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2dwZy1lcnJvci5oLmluO2JlZ2lubGluZT0yO2VuZGxpbmU9MTg7bWQ1PTUyNGQ0ZTgxMGM0ZGNkYzM4ZTRmYTI4ZTcwYTEzYmY4IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9pbml0LmM7YmVnaW5saW5lPTI7ZW5kbGluZT0xNzttZDU9ZjAxY2RmY2Y3NDdhZjUzODA1OTBjZmQ5YmJmZWFhZjciCi0KLQotU0VDVElPTiA9ICJsaWJzIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9nbnVwZy5vcmcvZG93bmxvYWQvaW5kZXguaHRtbCIKLVNSQ19VUkkgPSAiJHtHTlVQR19NSVJST1J9L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3ItJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9wa2djb25maWcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1zeXNjZmctU3VwcG9ydC1BUkMtQ1BVcy1hbmQtc2ltcGxpZnktYWxpYXNpbmctdGFibGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1zeXNjZmctQWRkLXN1cHBvcnQtZm9yLWFyYy11bmtub3duLWxpbnV4LWdudS5wYXRjaCBcCi0JICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiZWYzZDkyOGE1YTQ1M2ZhNzAxZWNjM2JiMjJiZTFjNjQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzM0NWM1ZTczY2MyMzMyZjhkNTBkYjg0YTIyODBhYmZiMWQ4ZjZkNGYxODU4YjlkYWEzMDQwNGRiNDQ1NDBjYSIKLQotQklOQ09ORklHID0gIiR7YmluZGlyfS9ncGctZXJyb3ItY29uZmlnIgotCi1pbmhlcml0IGF1dG90b29scyBiaW5jb25maWctZGlzYWJsZWQgcGtnY29uZmlnIGdldHRleHQgbXVsdGlsaWJfaGVhZGVyIG11bHRpbGliX3NjcmlwdAotCi1NVUxUSUxJQl9TQ1JJUFRTID0gIiR7UE59LWRldjoke2JpbmRpcn0vZ3BncnQtY29uZmlnIgotCi1DUFBGTEFHUyArPSAiLVAiCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0JVEFSR0VUX0ZJTEU9bGludXgtZ251Ci0JaWYgWyAke1RBUkdFVF9PU30gPSAibWluZ3czMiIgXTsgdGhlbgotCQkjIFRoZXJlIGFyZSBubyBhcmNoIHNwZWNpZmljIHN5c2NmZyBmaWxlcyBmb3IgbWluZ3czMgotCQlUQVJHRVRfRklMRT0KLQllbGlmIFsgJHtUQVJHRVRfQVJDSH0gPSAiYXJjIiBdOyB0aGVuCi0JCSMgQVJDIHN5c2NmZyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgYWxpYXNlZCB0byBpNjg2LXBjLWxpbnV4LWdudQotCQlUQVJHRVRfRklMRT0KLQllbGlmIFsgJHtUQVJHRVRfT1N9ICE9ICJsaW51eCIgXTsgdGhlbgotCQlUQVJHRVRfRklMRT0ke1RBUkdFVF9PU30KLQlmaQotCi0JY2FzZSAke1RBUkdFVF9BUkNIfSBpbgotCSAgYWFyY2g2NF9iZSkgVFVQTEU9YWFyY2g2NC11bmtub3duLWxpbnV4LWdudSA7OwotCSAgYXJtKQkgICAgICBUVVBMRT1hcm0tdW5rbm93bi1saW51eC1nbnVlYWJpIDs7Ci0JICBhcm1lYikgICAgICBUVVBMRT1hcm0tdW5rbm93bi1saW51eC1nbnVlYWJpIDs7Ci0JICBpNTg2fGk2ODYpICBUVVBMRT1pNjg2LXVua25vd24tbGludXgtZ251OzsKLQkgIG1pcHM2NCopICAgIFRVUExFPW1pcHM2NGVsLXVua25vd24tbGludXgtZ251YWJpNjQgOzsKLQkgIG1pcHMqZWwpICAgIFRVUExFPW1pcHNlbC11bmtub3duLWxpbnV4LWdudSA7OwotCSAgbWlwcyopICAgICAgVFVQTEU9bWlwcy11bmtub3duLWxpbnV4LWdudSA7OwotCSAgeDg2XzY0KSAgICAgVFVQTEU9eDg2XzY0LXVua25vd24tbGludXgtZ251IDs7Ci0JICBwcGM2NCkgICAgICBUVVBMRT1wb3dlcnBjNjQtdW5rbm93bi1saW51eC1nbnUgOzsKLQkgIHBwYzY0bGUpICAgIFRVUExFPXBvd2VycGM2NGxlLXVua25vd24tbGludXgtZ251IDs7Ci0JICAqKSAgICAgICAgICBUVVBMRT0ke1RBUkdFVF9BUkNIfS11bmtub3duLWxpbnV4LWdudSA7OwotCWVzYWMKLQotCWlmIFsgLW4gIiRUQVJHRVRfRklMRSIgXTsgdGhlbgotCQljcCAke1N9L3NyYy9zeXNjZmcvbG9jay1vYmotcHViLiRUVVBMRS5oIFwKLQkJCSR7U30vc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuJFRBUkdFVF9GSUxFLmgKLQlmaQotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQkjIHdlIGRvbid0IGhhdmUgY29tbW9uIGxpc3AgaW4gT0UKLQlybSAtcmYgIiR7RH0ke2RhdGFkaXJ9L2NvbW1vbi1saXNwLyIKLQlvZV9tdWx0aWxpYl9oZWFkZXIgZ3BnLWVycm9yLmggZ3BncnQuaAotfQotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7YmluZGlyfS9ncGctZXJyb3IiCi1GSUxFU18ke1BOfS1kb2MgKz0gIiR7ZGF0YWRpcn0vbGliZ3BnLWVycm9yL2Vycm9ycmVmLnR4dCIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yXzEuMzUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3JfMS4zNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2FjMTQzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yXzEuMzUuYmIKQEAgLTAsMCArMSw3MSBAQAorU1VNTUFSWSA9ICJTbWFsbCBsaWJyYXJ5IHRoYXQgZGVmaW5lcyBjb21tb24gZXJyb3IgdmFsdWVzIGZvciBhbGwgR251UEcgY29tcG9uZW50cyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251cGcub3JnL3JlbGF0ZWRfc29mdHdhcmUvbGliZ3BnLWVycm9yLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmcxMGNvZGUuY29tL2dudXBnL2luZGV4IgorCitMSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZ3BnLWVycm9yLmguaW47YmVnaW5saW5lPTI7ZW5kbGluZT0xODttZDU9Y2Q5MWUzYWQxMjY1YTBjMjY4ZWZhZDU0MWEzOTM0NWUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2luaXQuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTE3O21kNT1mMDFjZGZjZjc0N2FmNTM4MDU5MGNmZDliYmZlYWFmNyIKKworCitTRUNUSU9OID0gImxpYnMiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dudXBnLm9yZy9kb3dubG9hZC9pbmRleC5odG1sIgorU1JDX1VSSSA9ICIke0dOVVBHX01JUlJPUn0vbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvci0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3BrZ2NvbmZpZy5wYXRjaCBcCisJICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyODA4YTllMDQ0Zjg4M2Y3NTU0YzViYTZhMzgwYjcxMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjYmQ1ZWU2MmE4YThjODhkNDhjMTU4ZmZmNGZjOWVhZDQxMzJhYWNkMWI0YTU2ZWI3OTFmOWY5OTdkMDdlMDY3IgorCitCSU5DT05GSUcgPSAiJHtiaW5kaXJ9L2dwZy1lcnJvci1jb25maWciCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZy1kaXNhYmxlZCBwa2djb25maWcgZ2V0dGV4dCBtdWx0aWxpYl9oZWFkZXIgbXVsdGlsaWJfc2NyaXB0CisKK01VTFRJTElCX1NDUklQVFMgPSAiJHtQTn0tZGV2OiR7YmluZGlyfS9ncGdydC1jb25maWciCisKK0NQUEZMQUdTICs9ICItUCIKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKwlUQVJHRVRfRklMRT1saW51eC1nbnUKKwlpZiBbICR7VEFSR0VUX09TfSA9ICJtaW5ndzMyIiBdOyB0aGVuCisJCSMgVGhlcmUgYXJlIG5vIGFyY2ggc3BlY2lmaWMgc3lzY2ZnIGZpbGVzIGZvciBtaW5ndzMyCisJCVRBUkdFVF9GSUxFPQorCWVsaWYgWyAke1RBUkdFVF9BUkNIfSA9ICJhcmMiIF07IHRoZW4KKwkJIyBBUkMgc3lzY2ZnIGZpbGUgaXMgYXV0b21hdGljYWxseSBhbGlhc2VkIHRvIGk2ODYtcGMtbGludXgtZ251CisJCVRBUkdFVF9GSUxFPQorCWVsaWYgWyAke1RBUkdFVF9PU30gIT0gImxpbnV4IiBdOyB0aGVuCisJCVRBUkdFVF9GSUxFPSR7VEFSR0VUX09TfQorCWZpCisKKwljYXNlICR7VEFSR0VUX0FSQ0h9IGluCisJICBhYXJjaDY0X2JlKSBUVVBMRT1hYXJjaDY0LXVua25vd24tbGludXgtZ251IDs7CisJICBhcm0pCSAgICAgIFRVUExFPWFybS11bmtub3duLWxpbnV4LWdudWVhYmkgOzsKKwkgIGFybWViKSAgICAgIFRVUExFPWFybS11bmtub3duLWxpbnV4LWdudWVhYmkgOzsKKwkgIGk1ODZ8aTY4NikgIFRVUExFPWk2ODYtdW5rbm93bi1saW51eC1nbnU7OworCSAgbWlwczY0KikgICAgVFVQTEU9bWlwczY0ZWwtdW5rbm93bi1saW51eC1nbnVhYmk2NCA7OworCSAgbWlwcyplbCkgICAgVFVQTEU9bWlwc2VsLXVua25vd24tbGludXgtZ251IDs7CisJICBtaXBzKikgICAgICBUVVBMRT1taXBzLXVua25vd24tbGludXgtZ251IDs7CisJICB4ODZfNjQpICAgICBUVVBMRT14ODZfNjQtdW5rbm93bi1saW51eC1nbnUgOzsKKwkgIHBwYykgICAgICAgIFRVUExFPXBvd2VycGMtdW5rbm93bi1saW51eC1nbnUgOzsKKwkgIHBwYzY0KSAgICAgIFRVUExFPXBvd2VycGM2NC11bmtub3duLWxpbnV4LWdudSA7OworCSAgcHBjNjRsZSkgICAgVFVQTEU9cG93ZXJwYzY0bGUtdW5rbm93bi1saW51eC1nbnUgOzsKKwkgICopICAgICAgICAgIFRVUExFPSR7VEFSR0VUX0FSQ0h9LXVua25vd24tbGludXgtZ251IDs7CisJZXNhYworCisJaWYgWyAtbiAiJFRBUkdFVF9GSUxFIiBdOyB0aGVuCisJCWNwICR7U30vc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuJFRVUExFLmggXAorCQkJJHtTfS9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi4kVEFSR0VUX0ZJTEUuaAorCWZpCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCSMgd2UgZG9uJ3QgaGF2ZSBjb21tb24gbGlzcCBpbiBPRQorCXJtIC1yZiAiJHtEfSR7ZGF0YWRpcn0vY29tbW9uLWxpc3AvIgorCW9lX211bHRpbGliX2hlYWRlciBncGctZXJyb3IuaCBncGdydC5oCit9CisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9L2dwZy1lcnJvciIKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS9saWJncGctZXJyb3IvZXJyb3JyZWYudHh0IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmppdHRlcmVudHJvcHkvZmlsZXMvMDAwMS1maXgtZG9faW5zdGFsbC1mYWlsdXJlLW9uLW9lLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJqaXR0ZXJlbnRyb3B5L2ZpbGVzLzAwMDEtZml4LWRvX2luc3RhbGwtZmFpbHVyZS1vbi1vZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMGZmNGZlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJqaXR0ZXJlbnRyb3B5L2ZpbGVzLzAwMDEtZml4LWRvX2luc3RhbGwtZmFpbHVyZS1vbi1vZS5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDAwY2VmY2EwZWVmZWNlYzY1Nzk2OWI1MGNkNGUxZWQ1YjA1N2E4NTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDI1IE9jdCAyMDE4IDE2OjMwOjA2ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBkb19pbnN0YWxsIGZhaWx1cmUgb24gb2UKKworLSBEbyBub3Qgc3RyaXAgYXQgZG9faW5zdGFsbAorCistIENyZWF0ZSBpbmNsdWRlZGlyCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBNYWtlZmlsZSB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggNWUzMTI3Ni4uNzZmY2JmYSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTUxLDcgKzUxLDggQEAgaW5zdGFsbDoKKyAJaW5zdGFsbCAtbSA2NDQgZG9jLyQoTkFNRSkuMyAkKERFU1RESVIpJChQUkVGSVgpL3NoYXJlL21hbi9tYW4zLworIAlnemlwIC05ICQoREVTVERJUikkKFBSRUZJWCkvc2hhcmUvbWFuL21hbjMvJChOQU1FKS4zCisgCWluc3RhbGwgLWQgLW0gMDc1NSAkKERFU1RESVIpJChQUkVGSVgpLyQoTElCRElSKQorLQlpbnN0YWxsIC1tIDA3NTUgLXMgbGliJChOQU1FKS5zby4kKExJQlZFUlNJT04pICQoREVTVERJUikkKFBSRUZJWCkvJChMSUJESVIpLworKwlpbnN0YWxsIC1tIDA3NTUgbGliJChOQU1FKS5zby4kKExJQlZFUlNJT04pICQoREVTVERJUikkKFBSRUZJWCkvJChMSUJESVIpLworKwlpbnN0YWxsIC1kIC1tIDA3NTUgJChERVNURElSKSQoUFJFRklYKS8kKElOQ0RJUikvCisgCWluc3RhbGwgLW0gMDY0NCBqaXR0ZXJlbnRyb3B5LmggJChERVNURElSKSQoUFJFRklYKS8kKElOQ0RJUikvCisgCWluc3RhbGwgLW0gMDY0NCBqaXR0ZXJlbnRyb3B5LWJhc2UtdXNlci5oICQoREVTVERJUikkKFBSRUZJWCkvJChJTkNESVIpLworIAkkKFJNKSAkKERFU1RESVIpJChQUkVGSVgpLyQoTElCRElSKS9saWIkKE5BTUUpLnNvLiQoTElCTUFKT1IpCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliaml0dGVyZW50cm9weS9saWJqaXR0ZXJlbnRyb3B5XzIuMS4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJqaXR0ZXJlbnRyb3B5L2xpYmppdHRlcmVudHJvcHlfMi4xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2I1YjRlNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliaml0dGVyZW50cm9weS9saWJqaXR0ZXJlbnRyb3B5XzIuMS4yLmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiSGFyZHdhcmUgUk5HIGJhc2VkIG9uIENQVSB0aW1pbmcgaml0dGVyIgorREVTQ1JJUFRJT04gPSAiVGhlIEppdHRlciBSTkcgcHJvdmlkZXMgYSBub2lzZSBzb3VyY2UgdXNpbmcgdGhlIENQVSBleGVjdXRpb24gdGltaW5nIGppdHRlci4gXAorSXQgZG9lcyBub3QgZGVwZW5kIG9uIGFueSBzeXN0ZW0gcmVzb3VyY2Ugb3RoZXIgdGhhbiBhIGhpZ2gtcmVzb2x1dGlvbiB0aW1lIFwKK3N0YW1wLiBJdCBpcyBhIHNtYWxsLXNjYWxlLCB5ZXQgZmFzdCBlbnRyb3B5IHNvdXJjZSB0aGF0IGlzIHZpYWJsZSBpbiBhbG1vc3QgXAorYWxsIGVudmlyb25tZW50cyBhbmQgb24gYSBsb3Qgb2YgQ1BVIGFyY2hpdGVjdHVyZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5jaHJvbm94LmRlL2plbnQuaHRtbCIKK0xJQ0VOU0UgPSAiR1BMdjIrIHwgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTUyMzY1NzUyYjM2Y2ZjZDdmOTYwMWQ4MGRlN2Q4YzYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5ncGx2MjttZDU9ZWI3MjNiNjE1MzlmZWVmMDEzZGU0NzZlNjhiNWM1MGEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5ic2Q7bWQ1PTY2YTVjZWRhZjYyYzRiMjYzNzAyNWYwNDlmOWI4MjZmIFwKKyAgICAgICAgICAgICAgICAgICAiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc211ZWxsZXJERC9qaXR0ZXJlbnRyb3B5LWxpYnJhcnkuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWRvX2luc3RhbGwtZmFpbHVyZS1vbi1vZS5wYXRjaCBcCisgICAgICAgICAgIgorU1JDUkVWID0gImY1YTgwYzZmM2ZjYzZkZWViZDBlYWJmNzUzMjRmNDhhZWQxYWZiY2UiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgorCitMREZMQUdTICs9ICItV2wsLU8wIgorCitkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgSU5DRElSPSIvaW5jbHVkZSIgXAorICAgICAgICAgICAgICAgICAgICAgICBERVNURElSPSIke0R9IiBcCisgICAgICAgICAgICAgICAgICAgICAgIFBSRUZJWD0iJHtleGVjX3ByZWZpeH0iIFwKKyAgICAgICAgICAgICAgICAgICAgICAgTElCRElSPSIke2Jhc2VsaWJ9IgorfQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZS9vdXQtb2YtdHJlZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicGNyZS9saWJwY3JlL291dC1vZi10cmVlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1Njc4OTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZS9vdXQtb2YtdHJlZS5wYXRjaApAQCAtMCwwICsxLDI2IEBACitJbiBvdXQtb2YtdHJlZSBidWlsZHMgdGhlICNpbmNsdWRlIGZhaWxzIGJlY2F1c2UgJHNyY2RpciBpc24ndCBpbiB0aGUgaW5jbHVkZSBwYXRoLiAgU2V0IENQUEZMQUdTIHNvIHRoYXQgaXQgaXMuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW3IxNzUwXQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworSW5kZXg6IGNvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvY29uZmlndXJlLmFjCShyZXZpc2lvbiAxNzQ5KQorKysrIGIvY29uZmlndXJlLmFjCSh3b3JraW5nIGNvcHkpCitAQCAtMTU5LDYgKzE1OSw4IEBACisgCisgaWYgdGVzdCAiJGVuYWJsZV9qaXQiID0gImF1dG8iOyB0aGVuCisgICBBQ19MQU5HKEMpCisrICBTQVZFX0NQUEZMQUdTPSRDUFBGTEFHUworKyAgQ1BQRkxBR1M9LUkkc3JjZGlyCisgICBBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKKyAgICNkZWZpbmUgU0xKSVRfQ09ORklHX0FVVE8gMQorICAgI2luY2x1ZGUgInNsaml0L3Nsaml0Q29uZmlnSW50ZXJuYWwuaCIKK0BAIC0xNjUsNiArMTY3LDcgQEAKKyAgICNpZiAoZGVmaW5lZCBTTEpJVF9DT05GSUdfVU5TVVBQT1JURUQgJiYgU0xKSVRfQ09ORklHX1VOU1VQUE9SVEVEKQorICAgI2Vycm9yIHVuc3VwcG9ydGVkCisgICAjZW5kaWZdXSldLCBlbmFibGVfaml0PXllcywgZW5hYmxlX2ppdD1ubykKKysgIENQUEZMQUdTPSRTQVZFX0NQUEZMQUdTCisgZmkKKyAKKyAjIEhhbmRsZSAtLWRpc2FibGUtcGNyZWdyZXAtaml0IChlbmFibGVkIGJ5IGRlZmF1bHQpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZS9wY3JlLWNyb3NzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmUvcGNyZS1jcm9zcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODM4ODBmNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZS9wY3JlLWNyb3NzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLS0tLSBwY3JlLTguMzIub3JpZy9NYWtlZmlsZS5hbQotKysrIHBjcmUtOC4zMi9NYWtlZmlsZS5hbQotQEAgLTE5Nyw4ICsxOTcsMTggQEAgYmluX1NDUklQVFMgPSBwY3JlLWNvbmZpZwotIAotK0NDX0ZPUl9CVUlMRCA9IEBDQ19GT1JfQlVJTERACi0rQ0ZMQUdTX0ZPUl9CVUlMRCA9IEBDRkxBR1NfRk9SX0JVSUxEQAotK0NDTERfRk9SX0JVSUxEID0gQENDTERfRk9SX0JVSUxEQAotK0xERkxBR1NfRk9SX0JVSUxEID0gQExERkxBR1NfRk9SX0JVSUxEQAotKwotIGlmIFdJVEhfUkVCVUlMRF9DSEFSVEFCTEVTCi0gCi0gbm9pbnN0X1BST0dSQU1TICs9IGRmdGFibGVzCi0gZGZ0YWJsZXNfU09VUkNFUyA9IGRmdGFibGVzLmMKLStkZnRhYmxlc19MSU5LID0gJChDQ0xEX0ZPUl9CVUlMRCkgLW8gJEAKLStkZnRhYmxlc19MREZMQUdTID0gJChMREZMQUdTX0ZPUl9CVUlMRCkKLSsKLStkZnRhYmxlcy5vOiAkKHNyY2RpcikvZGZ0YWJsZXMuYwotKwkkKENDX0ZPUl9CVUlMRCkgLWMgJChDRkxBR1NfRk9SX0JVSUxEKSAtbyAkQCAkKHNyY2RpcikvZGZ0YWJsZXMuYwotIAotIHBjcmVfY2hhcnRhYmxlcy5jOiBkZnRhYmxlcyQoRVhFRVhUKQotIAkuL2RmdGFibGVzJChFWEVFWFQpICRACi0tLS0gcGNyZS04LjMyLm9yaWcvY29uZmlndXJlLmFjCi0rKysgcGNyZS04LjMyL2NvbmZpZ3VyZS5hYwotQEAgLTcyLDYgKzcyLDIyIEBAIHRoZW4KLSAgIGZpCi0gZmkKLSAKLStpZiB0ZXN0IHgiJGNyb3NzX2NvbXBpbGluZyIgPSB4eWVzOyB0aGVuCi0rICAgIENDX0ZPUl9CVUlMRD0iJHtDQ19GT1JfQlVJTEQtZ2NjfSIKLSsgICAgQ0NMRF9GT1JfQlVJTEQ9IiR7Q0NMRF9GT1JfQlVJTEQtZ2NjfSIKLSsgICAgQ0ZMQUdTX0ZPUl9CVUlMRD0iJHtDRkxBR1NfRk9SX0JVSUxEfSIKLSsgICAgTERGTEFHU19GT1JfQlVJTEQ9IiR7TERGTEFHU19GT1JfQlVJTER9IgotK2Vsc2UKLSsgICAgQ0NfRk9SX0JVSUxEPSIke0NDX0ZPUl9CVUlMRC1cJChDQyl9IgotKyAgICBDQ0xEX0ZPUl9CVUlMRD0iJHtDQ0xEX0ZPUl9CVUlMRC1cJChDQ0xEKX0iCi0rICAgIENGTEFHU19GT1JfQlVJTEQ9IiR7Q0ZMQUdTX0ZPUl9CVUlMRC1cJChDRkxBR1MpfSIKLSsgICAgTERGTEFHU19GT1JfQlVJTEQ9IiR7TERGTEFHU19GT1JfQlVJTEQtXCQoTERGTEFHUyl9IgotK2ZpCi0rQUNfQVJHX1ZBUihDQ19GT1JfQlVJTEQsIFtidWlsZCBzeXN0ZW0gQyBjb21waWxlcl0pCi0rQUNfQVJHX1ZBUihDQ0xEX0ZPUl9CVUlMRCwgW2J1aWxkIHN5c3RlbSBDIGxpbmtlciBmcm9udGVuZF0pCi0rQUNfQVJHX1ZBUihDRkxBR1NfRk9SX0JVSUxELCBbYnVpbGQgc3lzdGVtIEMgY29tcGlsZXIgYXJndW1lbnRzXSkKLStBQ19BUkdfVkFSKExERkxBR1NfRk9SX0JVSUxELCBbYnVpbGQgc3lzdGVtIEMgbGlua2VyIGZyb250ZW5kIGFyZ3VtZW50c10pCi0rCi0gIyBBQ19QUk9HX0NYWCB3aWxsIHJldHVybiAiZysrIiBldmVuIGlmIG5vIGMrKyBjb21waWxlciBpcyBpbnN0YWxsZWQuCi0gIyBDaGVjayBmb3IgdGhhdCBjYXNlLCBhbmQganVzdCBkaXNhYmxlIGMrKyBjb2RlIGlmIGcrKyBkb2Vzbid0IHJ1bi4KLSBBQ19MQU5HX1BVU0goQysrKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmUyXzEwLjMxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmUyXzEwLjMxLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMTBjMzEyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicGNyZS9saWJwY3JlMl8xMC4zMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLURFU0NSSVBUSU9OID0gIlRoZXJlIGFyZSB0d28gbWFqb3IgdmVyc2lvbnMgb2YgdGhlIFBDUkUgbGlicmFyeS4gVGhlIFwKLW5ld2VzdCB2ZXJzaW9uIGlzIFBDUkUyLCB3aGljaCBpcyBhIHJlLXdvcmtpbmcgb2YgdGhlIG9yaWdpbmFsIFBDUkUgXAotbGlicmFyeSB0byBwcm92aWRlIGFuIGVudGlyZWx5IG5ldyBBUEkuIFRoZSBvcmlnaW5hbCwgdmVyeSB3aWRlbHkgXAotZGVwbG95ZWQgUENSRSBsaWJyYXJ5J3MgQVBJIGFuZCBmZWF0dXJlIGFyZSBzdGFibGUsIGZ1dHVyZSByZWxlYXNlcyBcCi0gd2lsbCBiZSBmb3IgYnVnZml4ZXMgb25seS4gQWxsIG5ldyBmdXR1cmUgZmVhdHVyZXMgd2lsbCBiZSB0byBQQ1JFMiwgXAotbm90IHRoZSBvcmlnaW5hbCBQQ1JFIDgueCBzZXJpZXMuIgotU1VNTUFSWSA9ICJQZXJsIENvbXBhdGlibGUgUmVndWxhciBFeHByZXNzaW9ucyB2ZXJzaW9uIDIiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnBjcmUub3JnIgotU0VDVElPTiA9ICJkZXZlbCIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRTttZDU9ZjVlNGJkZTlmZDA0OTNkMDk2N2I0ZGJhOTg5OTU5MGYiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9mdHAucGNyZS5vcmcvcHViL3BjcmUvcGNyZTItJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9wY3JlLWNyb3NzLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImUwYjkxYzg5MWEzYzQ5MDUwZjdmZDE1ZGUzM2QwYmE0IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImUwN2Q1Mzg3MDRhYTY1ZTQ3N2I2YTM5MmIzMmZmOWZjNWVkZjc1YWI5YTQwZGRmYzg3NjE4NmM0ZmY0ZDY4YWMiCi0KLUNWRV9QUk9EVUNUID0gInBjcmUyIgotCi1TID0gIiR7V09SS0RJUn0vcGNyZTItJHtQVn0iCi0KLVBST1ZJREVTICs9ICJwY3JlMiIKLURFUEVORFMgKz0gImJ6aXAyIHpsaWIiCi0KLUJJTkNPTkZJRyA9ICIke2JpbmRpcn0vcGNyZTItY29uZmlnIgotCi1pbmhlcml0IGF1dG90b29scyBiaW5jb25maWctZGlzYWJsZWQKLQotRVhUUkFfT0VDT05GID0gIlwKLSAgICAtLWVuYWJsZS1uZXdsaW5lLWlzLWxmIFwKLSAgICAtLWVuYWJsZS1yZWJ1aWxkLWNoYXJ0YWJsZXMgXAotICAgIC0td2l0aC1saW5rLXNpemU9MiBcCi0gICAgLS13aXRoLW1hdGNoLWxpbWl0PTEwMDAwMDAwIFwKLSAgICAtLWVuYWJsZS1wY3JlMi0xNiBcCi0gICAgLS1lbmFibGUtcGNyZTItMzIgXAotIgotIyBTZXQgTElOS19TSVpFIGluIEJVSUxEX0NGTEFHUyBnaXZlbiB0aGF0IHRoZSBhdXRvdG9vbHMgYmJjbGFzcyB1c2UgaXQgdG8KLSMgc2V0IENGTEFHU19GT1JfQlVJTEQsIHJlcXVpcmVkIGZvciB0aGUgbGlicGNyZSBidWlsZC4KLUJVSUxEX0NGTEFHUyA9KyAiLURMSU5LX1NJWkU9MiAtSSR7Qn0vc3JjIgotQ0ZMQUdTICs9ICItRF9SRUVOVFJBTlQiCi1DWFhGTEFHU19hcHBlbmRfcG93ZXJwYyA9ICIgLWxzdGRjKysiCi0KLWV4cG9ydCBDQ0xEX0ZPUl9CVUlMRCA9IiR7QlVJTERfQ0NMRH0iCi0KLVBBQ0tBR0VTID0rICJsaWJwY3JlMi0xNiBsaWJwY3JlMi0zMiBwY3JlMmdyZXAgcGNyZTJncmVwLWRvYyBwY3JlMnRlc3QgcGNyZTJ0ZXN0LWRvYyIKLQotU1VNTUFSWV9wY3JlMmdyZXAgPSAiZ3JlcCB1dGlsaXR5IHRoYXQgdXNlcyBwZXJsIDUgY29tcGF0aWJsZSByZWdleGVzIgotU1VNTUFSWV9wY3JlMmdyZXAtZG9jID0gImdyZXAgdXRpbGl0eSB0aGF0IHVzZXMgcGVybCA1IGNvbXBhdGlibGUgcmVnZXhlcyAtIGRvY3MiCi1TVU1NQVJZX3BjcmUydGVzdCA9ICJwcm9ncmFtIGZvciB0ZXN0aW5nIFBlcmwtY29tYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCi1TVU1NQVJZX3BjcmUydGVzdC1kb2MgPSAicHJvZ3JhbSBmb3IgdGVzdGluZyBQZXJsLWNvbWF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIC0gZG9jcyIKLQotRklMRVNfbGlicGNyZTItMTYgPSAiJHtsaWJkaXJ9L2xpYnBjcmUyLTE2LnNvLioiCi1GSUxFU19saWJwY3JlMi0zMiA9ICIke2xpYmRpcn0vbGlicGNyZTItMzIuc28uKiIKLUZJTEVTX3BjcmUyZ3JlcCA9ICIke2JpbmRpcn0vcGNyZTJncmVwIgotRklMRVNfcGNyZTJncmVwLWRvYyA9ICIke21hbmRpcn0vbWFuMS9wY3JlMmdyZXAuMSIKLUZJTEVTX3BjcmUydGVzdCA9ICIke2JpbmRpcn0vcGNyZTJ0ZXN0IgotRklMRVNfcGNyZTJ0ZXN0LWRvYyA9ICIke21hbmRpcn0vbWFuMS9wY3JlMnRlc3QuMSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmUyXzEwLjMyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmUyXzEwLjMyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhMGFhNTMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZTJfMTAuMzIuYmIKQEAgLTAsMCArMSw2MSBAQAorREVTQ1JJUFRJT04gPSAiVGhlcmUgYXJlIHR3byBtYWpvciB2ZXJzaW9ucyBvZiB0aGUgUENSRSBsaWJyYXJ5LiBUaGUgXAorbmV3ZXN0IHZlcnNpb24gaXMgUENSRTIsIHdoaWNoIGlzIGEgcmUtd29ya2luZyBvZiB0aGUgb3JpZ2luYWwgUENSRSBcCitsaWJyYXJ5IHRvIHByb3ZpZGUgYW4gZW50aXJlbHkgbmV3IEFQSS4gVGhlIG9yaWdpbmFsLCB2ZXJ5IHdpZGVseSBcCitkZXBsb3llZCBQQ1JFIGxpYnJhcnkncyBBUEkgYW5kIGZlYXR1cmUgYXJlIHN0YWJsZSwgZnV0dXJlIHJlbGVhc2VzIFwKKyB3aWxsIGJlIGZvciBidWdmaXhlcyBvbmx5LiBBbGwgbmV3IGZ1dHVyZSBmZWF0dXJlcyB3aWxsIGJlIHRvIFBDUkUyLCBcCitub3QgdGhlIG9yaWdpbmFsIFBDUkUgOC54IHNlcmllcy4iCitTVU1NQVJZID0gIlBlcmwgQ29tcGF0aWJsZSBSZWd1bGFyIEV4cHJlc3Npb25zIHZlcnNpb24gMiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucGNyZS5vcmciCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTkNFO21kNT1jZjY2ZDMwN2JmMDNiYWU2NWQ0MTNlYjdhOGU2MDNhMCIKKworU1JDX1VSSSA9ICJodHRwczovL2Z0cC5wY3JlLm9yZy9wdWIvcGNyZS9wY3JlMi0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3BjcmUtY3Jvc3MucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGEwOTYyODcxNTNmYjk5NDk3MGRmMzU3MGU5MGZjYjUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjI5ZTg5Y2M1ZGU4MTNmNDU3ODY1ODAxMDFhYWVlMzk4NGE2NTgxODYzMWQ0ZGRiZGE3YjMyZjY5OWI4N2MyZSIKKworQ1ZFX1BST0RVQ1QgPSAicGNyZTIiCisKK1MgPSAiJHtXT1JLRElSfS9wY3JlMi0ke1BWfSIKKworUFJPVklERVMgKz0gInBjcmUyIgorREVQRU5EUyArPSAiYnppcDIgemxpYiIKKworQklOQ09ORklHID0gIiR7YmluZGlyfS9wY3JlMi1jb25maWciCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZy1kaXNhYmxlZAorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZW5hYmxlLW5ld2xpbmUtaXMtbGYgXAorICAgIC0tZW5hYmxlLXJlYnVpbGQtY2hhcnRhYmxlcyBcCisgICAgLS13aXRoLWxpbmstc2l6ZT0yIFwKKyAgICAtLXdpdGgtbWF0Y2gtbGltaXQ9MTAwMDAwMDAgXAorICAgIC0tZW5hYmxlLXBjcmUyLTE2IFwKKyAgICAtLWVuYWJsZS1wY3JlMi0zMiBcCisiCisjIFNldCBMSU5LX1NJWkUgaW4gQlVJTERfQ0ZMQUdTIGdpdmVuIHRoYXQgdGhlIGF1dG90b29scyBiYmNsYXNzIHVzZSBpdCB0bworIyBzZXQgQ0ZMQUdTX0ZPUl9CVUlMRCwgcmVxdWlyZWQgZm9yIHRoZSBsaWJwY3JlIGJ1aWxkLgorQlVJTERfQ0ZMQUdTID0rICItRExJTktfU0laRT0yIC1JJHtCfS9zcmMiCitDRkxBR1MgKz0gIi1EX1JFRU5UUkFOVCIKK0NYWEZMQUdTX2FwcGVuZF9wb3dlcnBjID0gIiAtbHN0ZGMrKyIKKworZXhwb3J0IENDTERfRk9SX0JVSUxEID0iJHtCVUlMRF9DQ0xEfSIKKworUEFDS0FHRVMgPSsgImxpYnBjcmUyLTE2IGxpYnBjcmUyLTMyIHBjcmUyZ3JlcCBwY3JlMmdyZXAtZG9jIHBjcmUydGVzdCBwY3JlMnRlc3QtZG9jIgorCitTVU1NQVJZX3BjcmUyZ3JlcCA9ICJncmVwIHV0aWxpdHkgdGhhdCB1c2VzIHBlcmwgNSBjb21wYXRpYmxlIHJlZ2V4ZXMiCitTVU1NQVJZX3BjcmUyZ3JlcC1kb2MgPSAiZ3JlcCB1dGlsaXR5IHRoYXQgdXNlcyBwZXJsIDUgY29tcGF0aWJsZSByZWdleGVzIC0gZG9jcyIKK1NVTU1BUllfcGNyZTJ0ZXN0ID0gInByb2dyYW0gZm9yIHRlc3RpbmcgUGVybC1jb21hdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKK1NVTU1BUllfcGNyZTJ0ZXN0LWRvYyA9ICJwcm9ncmFtIGZvciB0ZXN0aW5nIFBlcmwtY29tYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgLSBkb2NzIgorCitGSUxFU19saWJwY3JlMi0xNiA9ICIke2xpYmRpcn0vbGlicGNyZTItMTYuc28uKiIKK0ZJTEVTX2xpYnBjcmUyLTMyID0gIiR7bGliZGlyfS9saWJwY3JlMi0zMi5zby4qIgorRklMRVNfcGNyZTJncmVwID0gIiR7YmluZGlyfS9wY3JlMmdyZXAiCitGSUxFU19wY3JlMmdyZXAtZG9jID0gIiR7bWFuZGlyfS9tYW4xL3BjcmUyZ3JlcC4xIgorRklMRVNfcGNyZTJ0ZXN0ID0gIiR7YmluZGlyfS9wY3JlMnRlc3QiCitGSUxFU19wY3JlMnRlc3QtZG9jID0gIiR7bWFuZGlyfS9tYW4xL3BjcmUydGVzdC4xIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZV84LjQyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmVfOC40Mi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2E0ODhjMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZV84LjQyLmJiCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiVGhlIFBDUkUgbGlicmFyeSBpcyBhIHNldCBvZiBmdW5jdGlvbnMgdGhhdCBpbXBsZW1lbnQgcmVndWxhciBcCi1leHByZXNzaW9uIHBhdHRlcm4gbWF0Y2hpbmcgdXNpbmcgdGhlIHNhbWUgc3ludGF4IGFuZCBzZW1hbnRpY3MgYXMgUGVybCA1LiBQQ1JFIFwKLWhhcyBpdHMgb3duIG5hdGl2ZSBBUEksIGFzIHdlbGwgYXMgYSBzZXQgb2Ygd3JhcHBlciBmdW5jdGlvbnMgdGhhdCBjb3JyZXNwb25kIFwKLXRvIHRoZSBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb24gQVBJLiIKLVNVTU1BUlkgPSAiUGVybCBDb21wYXRpYmxlIFJlZ3VsYXIgRXhwcmVzc2lvbnMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnBjcmUub3JnIgotU0VDVElPTiA9ICJkZXZlbCIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRTttZDU9ZmM1MDI2NDAzYjQ0Yzg2OGMyNWZjOTU0NmY3ZmViMDUiCi1TUkNfVVJJID0gImh0dHBzOi8vZnRwLnBjcmUub3JnL3B1Yi9wY3JlL3BjcmUtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9wY3JlLWNyb3NzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2ZpeC1wY3JlLW5hbWUtY29sbGlzaW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZSBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwODViNmFhMjUzZTBmOTFjYWU3MGIzY2RiZThjMWFjMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyY2QwNGI3Yzg4NzgwOGJlMDMwMjU0ZThkNzdkZTExZDNmZTlkNDUwNWMzOWQ0YjE1ZDI2NjRmZmU4YmY5MzAxIgotCi1DVkVfUFJPRFVDVCA9ICJwY3JlIgotCi1TID0gIiR7V09SS0RJUn0vcGNyZS0ke1BWfSIKLQotUFJPVklERVMgKz0gInBjcmUiCi1ERVBFTkRTICs9ICJiemlwMiB6bGliIgotCi1QQUNLQUdFQ09ORklHID8/PSAicGNyZTggdW5pY29kZS1wcm9wZXJ0aWVzIgotCi1QQUNLQUdFQ09ORklHW3BjcmU4XSA9ICItLWVuYWJsZS1wY3JlOCwtLWRpc2FibGUtcGNyZTgiCi1QQUNLQUdFQ09ORklHW3BjcmUxNl0gPSAiLS1lbmFibGUtcGNyZTE2LC0tZGlzYWJsZS1wY3JlMTYiCi1QQUNLQUdFQ09ORklHW3BjcmUzMl0gPSAiLS1lbmFibGUtcGNyZTMyLC0tZGlzYWJsZS1wY3JlMzIiCi1QQUNLQUdFQ09ORklHW3BjcmV0ZXN0LXJlYWRsaW5lXSA9ICItLWVuYWJsZS1wY3JldGVzdC1saWJyZWFkbGluZSwtLWRpc2FibGUtcGNyZXRlc3QtbGlicmVhZGxpbmUscmVhZGxpbmUsIgotUEFDS0FHRUNPTkZJR1t1bmljb2RlLXByb3BlcnRpZXNdID0gIi0tZW5hYmxlLXVuaWNvZGUtcHJvcGVydGllcywtLWRpc2FibGUtdW5pY29kZS1wcm9wZXJ0aWVzIgotCi1CSU5DT05GSUcgPSAiJHtiaW5kaXJ9L3BjcmUtY29uZmlnIgotCi1pbmhlcml0IGF1dG90b29scyBiaW5jb25maWctZGlzYWJsZWQgcHRlc3QKLQotRVhUUkFfT0VDT05GID0gIlwKLSAgICAtLWVuYWJsZS1uZXdsaW5lLWlzLWxmIFwKLSAgICAtLWVuYWJsZS1yZWJ1aWxkLWNoYXJ0YWJsZXMgXAotICAgIC0tZW5hYmxlLXV0ZiBcCi0gICAgLS13aXRoLWxpbmstc2l6ZT0yIFwKLSAgICAtLXdpdGgtbWF0Y2gtbGltaXQ9MTAwMDAwMDAgXAotIgotCi0jIFNldCBMSU5LX1NJWkUgaW4gQlVJTERfQ0ZMQUdTIGdpdmVuIHRoYXQgdGhlIGF1dG90b29scyBiYmNsYXNzIHVzZSBpdCB0bwotIyBzZXQgQ0ZMQUdTX0ZPUl9CVUlMRCwgcmVxdWlyZWQgZm9yIHRoZSBsaWJwY3JlIGJ1aWxkLgotQlVJTERfQ0ZMQUdTID0rICItRExJTktfU0laRT0yIC1JJHtCfSIKLUNGTEFHUyArPSAiLURfUkVFTlRSQU5UIgotQ1hYRkxBR1NfYXBwZW5kX3Bvd2VycGMgPSAiIC1sc3RkYysrIgotCi1leHBvcnQgQ0NMRF9GT1JfQlVJTEQgPSIke0JVSUxEX0NDTER9IgotCi1QQUNLQUdFUyA9KyAibGlicGNyZWNwcCBsaWJwY3JlcG9zaXggcGNyZWdyZXAgcGNyZWdyZXAtZG9jIHBjcmV0ZXN0IHBjcmV0ZXN0LWRvYyIKLQotU1VNTUFSWV9saWJwY3JlY3BwID0gIiR7U1VNTUFSWX0gLSBDKysgd3JhcHBlciBmdW5jdGlvbnMiCi1TVU1NQVJZX2xpYnBjcmVwb3NpeCA9ICIke1NVTU1BUll9IC0gQyB3cmFwcGVyIGZ1bmN0aW9ucyBiYXNlZCBvbiB0aGUgUE9TSVggcmVnZXggQVBJIgotU1VNTUFSWV9wY3JlZ3JlcCA9ICJncmVwIHV0aWxpdHkgdGhhdCB1c2VzIHBlcmwgNSBjb21wYXRpYmxlIHJlZ2V4ZXMiCi1TVU1NQVJZX3BjcmVncmVwLWRvYyA9ICJncmVwIHV0aWxpdHkgdGhhdCB1c2VzIHBlcmwgNSBjb21wYXRpYmxlIHJlZ2V4ZXMgLSBkb2NzIgotU1VNTUFSWV9wY3JldGVzdCA9ICJwcm9ncmFtIGZvciB0ZXN0aW5nIFBlcmwtY29tYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCi1TVU1NQVJZX3BjcmV0ZXN0LWRvYyA9ICJwcm9ncmFtIGZvciB0ZXN0aW5nIFBlcmwtY29tYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgLSBkb2NzIgotCi1GSUxFU19saWJwY3JlY3BwID0gIiR7bGliZGlyfS9saWJwY3JlY3BwLnNvLioiCi1GSUxFU19saWJwY3JlcG9zaXggPSAiJHtsaWJkaXJ9L2xpYnBjcmVwb3NpeC5zby4qIgotRklMRVNfcGNyZWdyZXAgPSAiJHtiaW5kaXJ9L3BjcmVncmVwIgotRklMRVNfcGNyZWdyZXAtZG9jID0gIiR7bWFuZGlyfS9tYW4xL3BjcmVncmVwLjEiCi1GSUxFU19wY3JldGVzdCA9ICIke2JpbmRpcn0vcGNyZXRlc3QiCi1GSUxFU19wY3JldGVzdC1kb2MgPSAiJHttYW5kaXJ9L21hbjEvcGNyZXRlc3QuMSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1kb19pbnN0YWxsX3B0ZXN0KCkgewotCXQ9JHtEfSR7UFRFU1RfUEFUSH0KLQljcCAke1dPUktESVJ9L01ha2VmaWxlICR0Ci0JY3AgLXIgJHtTfS90ZXN0ZGF0YSAkdAotCWZvciBpIGluIHBjcmVfc3RyaW5ncGllY2VfdW5pdHRlc3QgcGNyZWdyZXAgcGNyZXRlc3Q7IFwKLQkgIGRvIGNwICR7Qn0vLmxpYnMvJGkgJHQ7IFwKLQlkb25lCi0JZm9yIGkgaW4gUnVuVGVzdCBSdW5HcmVwVGVzdCB0ZXN0LWRyaXZlcjsgXAotCSAgZG8gY3AgJHtTfS8kaSAkdDsgXAotCWRvbmUKLQkjIFNraXAgdGhlIGZyX0ZSIGxvY2FsZSB0ZXN0LiBJZiB0aGUgbG9jYWxlIGZyX0ZSIGlzIGZvdW5kLCBpdCBpcyB0ZXN0ZWQuCi0JIyBJZiBub3QgZm91bmQsIHRoZSB0ZXN0IGlzIHNraXBwZWQuIFRoZSB0ZXN0IHByb2dyYW0gYXNzdW1lcyBmcl9GUiBpcyBub24tVVRGLTgKLQkjIGxvY2FsZSBzbyB0aGUgdGVzdCBmYWlscyBpZiBmcl9GUiBpcyBVVEYtOCBsb2NhbGUuCi0Jc2VkIC1pIC1lICdzOmRvMz15ZXM6ZG8zPW5vOmcnICR7RH0ke1BURVNUX1BBVEh9L1J1blRlc3QgCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZV84LjQzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmVfOC40My5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODMxNGVmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmVfOC40My5iYgpAQCAtMCwwICsxLDc0IEBACitERVNDUklQVElPTiA9ICJUaGUgUENSRSBsaWJyYXJ5IGlzIGEgc2V0IG9mIGZ1bmN0aW9ucyB0aGF0IGltcGxlbWVudCByZWd1bGFyIFwKK2V4cHJlc3Npb24gcGF0dGVybiBtYXRjaGluZyB1c2luZyB0aGUgc2FtZSBzeW50YXggYW5kIHNlbWFudGljcyBhcyBQZXJsIDUuIFBDUkUgXAoraGFzIGl0cyBvd24gbmF0aXZlIEFQSSwgYXMgd2VsbCBhcyBhIHNldCBvZiB3cmFwcGVyIGZ1bmN0aW9ucyB0aGF0IGNvcnJlc3BvbmQgXAordG8gdGhlIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbiBBUEkuIgorU1VNTUFSWSA9ICJQZXJsIENvbXBhdGlibGUgUmVndWxhciBFeHByZXNzaW9ucyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucGNyZS5vcmciCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTkNFO21kNT05MWJlZTU5ZDFiMzI3ZWIxNTk5YjRjNjczZTJmYjNkMSIKK1NSQ19VUkkgPSAiaHR0cHM6Ly9mdHAucGNyZS5vcmcvcHViL3BjcmUvcGNyZS0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1wY3JlLW5hbWUtY29sbGlzaW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL291dC1vZi10cmVlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZSBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MzYyMjJlNzllMzkyYzNkOTVkY2M1NDVmMjRmOThjNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MWU3NjI1MjAwMDMwMTM4MzRhYzFhZGI0YTkzOGQ1M2IyMmEyMTYzNDFjMDYxYjBjZjA1NjAzYjI5MGZhZjZiIgorCitDVkVfUFJPRFVDVCA9ICJwY3JlIgorCitTID0gIiR7V09SS0RJUn0vcGNyZS0ke1BWfSIKKworUFJPVklERVMgKz0gInBjcmUiCitERVBFTkRTICs9ICJiemlwMiB6bGliIgorCitQQUNLQUdFQ09ORklHID8/PSAicGNyZTggdW5pY29kZS1wcm9wZXJ0aWVzIGppdCIKKworUEFDS0FHRUNPTkZJR1twY3JlOF0gPSAiLS1lbmFibGUtcGNyZTgsLS1kaXNhYmxlLXBjcmU4IgorUEFDS0FHRUNPTkZJR1twY3JlMTZdID0gIi0tZW5hYmxlLXBjcmUxNiwtLWRpc2FibGUtcGNyZTE2IgorUEFDS0FHRUNPTkZJR1twY3JlMzJdID0gIi0tZW5hYmxlLXBjcmUzMiwtLWRpc2FibGUtcGNyZTMyIgorUEFDS0FHRUNPTkZJR1twY3JldGVzdC1yZWFkbGluZV0gPSAiLS1lbmFibGUtcGNyZXRlc3QtbGlicmVhZGxpbmUsLS1kaXNhYmxlLXBjcmV0ZXN0LWxpYnJlYWRsaW5lLHJlYWRsaW5lLCIKK1BBQ0tBR0VDT05GSUdbdW5pY29kZS1wcm9wZXJ0aWVzXSA9ICItLWVuYWJsZS11bmljb2RlLXByb3BlcnRpZXMsLS1kaXNhYmxlLXVuaWNvZGUtcHJvcGVydGllcyIKK1BBQ0tBR0VDT05GSUdbaml0XSA9ICItLWVuYWJsZS1qaXQ9YXV0bywtLWRpc2FibGUtaml0IgorCitCSU5DT05GSUcgPSAiJHtiaW5kaXJ9L3BjcmUtY29uZmlnIgorCitpbmhlcml0IGF1dG90b29scyBiaW5jb25maWctZGlzYWJsZWQgcHRlc3QKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXV0ZiIKKworUEFDS0FHRVMgPSsgImxpYnBjcmVjcHAgbGlicGNyZXBvc2l4IHBjcmVncmVwIHBjcmVncmVwLWRvYyBwY3JldGVzdCBwY3JldGVzdC1kb2MiCisKK1NVTU1BUllfbGlicGNyZWNwcCA9ICIke1NVTU1BUll9IC0gQysrIHdyYXBwZXIgZnVuY3Rpb25zIgorU1VNTUFSWV9saWJwY3JlcG9zaXggPSAiJHtTVU1NQVJZfSAtIEMgd3JhcHBlciBmdW5jdGlvbnMgYmFzZWQgb24gdGhlIFBPU0lYIHJlZ2V4IEFQSSIKK1NVTU1BUllfcGNyZWdyZXAgPSAiZ3JlcCB1dGlsaXR5IHRoYXQgdXNlcyBwZXJsIDUgY29tcGF0aWJsZSByZWdleGVzIgorU1VNTUFSWV9wY3JlZ3JlcC1kb2MgPSAiZ3JlcCB1dGlsaXR5IHRoYXQgdXNlcyBwZXJsIDUgY29tcGF0aWJsZSByZWdleGVzIC0gZG9jcyIKK1NVTU1BUllfcGNyZXRlc3QgPSAicHJvZ3JhbSBmb3IgdGVzdGluZyBQZXJsLWNvbWF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgorU1VNTUFSWV9wY3JldGVzdC1kb2MgPSAicHJvZ3JhbSBmb3IgdGVzdGluZyBQZXJsLWNvbWF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIC0gZG9jcyIKKworRklMRVNfbGlicGNyZWNwcCA9ICIke2xpYmRpcn0vbGlicGNyZWNwcC5zby4qIgorRklMRVNfbGlicGNyZXBvc2l4ID0gIiR7bGliZGlyfS9saWJwY3JlcG9zaXguc28uKiIKK0ZJTEVTX3BjcmVncmVwID0gIiR7YmluZGlyfS9wY3JlZ3JlcCIKK0ZJTEVTX3BjcmVncmVwLWRvYyA9ICIke21hbmRpcn0vbWFuMS9wY3JlZ3JlcC4xIgorRklMRVNfcGNyZXRlc3QgPSAiJHtiaW5kaXJ9L3BjcmV0ZXN0IgorRklMRVNfcGNyZXRlc3QtZG9jID0gIiR7bWFuZGlyfS9tYW4xL3BjcmV0ZXN0LjEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKwl0PSR7RH0ke1BURVNUX1BBVEh9CisJY3AgJHtXT1JLRElSfS9NYWtlZmlsZSAkdAorCWNwIC1yICR7U30vdGVzdGRhdGEgJHQKKwlmb3IgaSBpbiBwY3JlX3N0cmluZ3BpZWNlX3VuaXR0ZXN0IHBjcmVncmVwIHBjcmV0ZXN0OyBcCisJICBkbyBjcCAke0J9Ly5saWJzLyRpICR0OyBcCisJZG9uZQorCWZvciBpIGluIFJ1blRlc3QgUnVuR3JlcFRlc3QgdGVzdC1kcml2ZXI7IFwKKwkgIGRvIGNwICR7U30vJGkgJHQ7IFwKKwlkb25lCisJIyBTa2lwIHRoZSBmcl9GUiBsb2NhbGUgdGVzdC4gSWYgdGhlIGxvY2FsZSBmcl9GUiBpcyBmb3VuZCwgaXQgaXMgdGVzdGVkLgorCSMgSWYgbm90IGZvdW5kLCB0aGUgdGVzdCBpcyBza2lwcGVkLiBUaGUgdGVzdCBwcm9ncmFtIGFzc3VtZXMgZnJfRlIgaXMgbm9uLVVURi04CisJIyBsb2NhbGUgc28gdGhlIHRlc3QgZmFpbHMgaWYgZnJfRlIgaXMgVVRGLTggbG9jYWxlLgorCXNlZCAtaSAtZSAnczpkbzM9eWVzOmRvMz1ubzpnJyAke0R9JHtQVEVTVF9QQVRIfS9SdW5UZXN0IAorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwcm94eS9saWJwcm94eS8wMDAxLWdldC1wYWMtdGVzdC1GaXgtYnVpbGQtd2l0aC1jbGFuZy1saWJjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwcm94eS9saWJwcm94eS8wMDAxLWdldC1wYWMtdGVzdC1GaXgtYnVpbGQtd2l0aC1jbGFuZy1saWJjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlZGRhOWQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnByb3h5L2xpYnByb3h5LzAwMDEtZ2V0LXBhYy10ZXN0LUZpeC1idWlsZC13aXRoLWNsYW5nLWxpYmMucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSAyZDczNDY5YzdhMTdlYmZlNDMzMGFjNjY0M2IwYzhhYmRjMTI1ZDA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMzAgSmFuIDIwMTkgMDk6Mjk6NDQgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZ2V0LXBhYy10ZXN0OiBGaXggYnVpbGQgd2l0aCBjbGFuZy9saWJjKysKKworZ2V0LXBhYy10ZXN0LmNwcDo1NToxMDogZXJyb3I6IGFzc2lnbmluZyB0byAnaW50JyBmcm9tIGluY29tcGF0aWJsZSB0eXBlICdfX2JpbmQ8aW50ICYsIHNvY2thZGRyICosIHVuc2lnbmVkIGludD4nCisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSBiaW5kKG1fc29jaywgKHNvY2thZGRyKikmYWRkciwgc2l6ZW9mIChzdHJ1Y3Qgc29ja2FkZHJfaW4pKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL2xpYnByb3h5L2xpYnByb3h5L3B1bGwvOTddCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBsaWJwcm94eS90ZXN0L2dldC1wYWMtdGVzdC5jcHAgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9saWJwcm94eS90ZXN0L2dldC1wYWMtdGVzdC5jcHAgYi9saWJwcm94eS90ZXN0L2dldC1wYWMtdGVzdC5jcHAKK2luZGV4IDAwNTlkZmIuLjkxMWYyOTYgMTAwNjQ0CistLS0gYS9saWJwcm94eS90ZXN0L2dldC1wYWMtdGVzdC5jcHAKKysrKyBiL2xpYnByb3h5L3Rlc3QvZ2V0LXBhYy10ZXN0LmNwcAorQEAgLTUyLDcgKzUyLDcgQEAgY2xhc3MgVGVzdFNlcnZlciB7CisgCisgCQkJc2V0c29ja29wdChtX3NvY2ssIFNPTF9TT0NLRVQsIFNPX1JFVVNFQUREUiwgJmksIHNpemVvZihpKSk7CisgCistCQkJcmV0ID0gYmluZChtX3NvY2ssIChzb2NrYWRkciopJmFkZHIsIHNpemVvZiAoc3RydWN0IHNvY2thZGRyX2luKSk7CisrCQkJcmV0ID0gOjpiaW5kKG1fc29jaywgKHNvY2thZGRyKikmYWRkciwgc2l6ZW9mIChzdHJ1Y3Qgc29ja2FkZHJfaW4pKTsKKyAJCQlhc3NlcnQoIXJldCk7CisgCisgCQkJcmV0ID0gbGlzdGVuKG1fc29jaywgMSk7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnByb3h5L2xpYnByb3h5XzAuNC4xNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicHJveHkvbGlicHJveHlfMC40LjE1LmJiCmluZGV4IGRkN2FkOTIuLjE5ZGRkZWIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicHJveHkvbGlicHJveHlfMC40LjE1LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicHJveHkvbGlicHJveHlfMC40LjE1LmJiCkBAIC04LDcgKzgsOSBAQAogCiBERVBFTkRTID0gImdsaWItMi4wIgogCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS8ke0JQTn0vJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci54eiIKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tLyR7QlBOfS8ke0JQTn0vcmVsZWFzZXMvZG93bmxvYWQvJHtQVn0vJHtCUH0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZ2V0LXBhYy10ZXN0LUZpeC1idWlsZC13aXRoLWNsYW5nLWxpYmMucGF0Y2ggXAorICAgICAgICAgICIKIFNSQ19VUklbbWQ1c3VtXSA9ICJmNmIxZDJhMWUxN2E5OWNkM2RlYmFhZTZkMDRhYjE1MiIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICI2NTRkYjQ2NDEyMGM5NTM0NjU0NTkwYjY2ODNjN2ZhMzg4N2IzZGFkMGNhMWM0Y2Q0MTJhZjI0ZmJmY2E2ZDRmIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBzbC9saWJwc2xfMC4yMC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwc2wvbGlicHNsXzAuMjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2IyMGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwc2wvbGlicHNsXzAuMjAuMi5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIlB1YmxpYyBTdWZmaXggTGlzdCBsaWJyYXJ5IgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTU0MzcwMzBkOWU0ZmJlNzI2N2NlZDA1OGRkYjhhN2Y1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWY0MWQxMDk5N2ExMmRhNWVlM2MyNGNlZWIwMTQ4ZDE4IgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yb2NrZGFib290LyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke0JQfS8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZjYwNGY3ZDMwZDY0YmM2NzM4NzBlY2Y4NGI4NjBhMWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjhmZDBhZWI2NjI1MmRmY2M2MzhmMTRkOWJlMWUyMzYyZmRhZjJjYTg2YmRlMDQ0NGZmNGQ1Y2M5NjFiNTYwZiIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yb2NrZGFib290L2xpYnBzbC9yZWxlYXNlcyIKKworREVQRU5EUyA9ICJsaWJpZG4yIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IGd0ay1kb2MgbWFucGFnZXMgcGtnY29uZmlnIGxpYl9wYWNrYWdlCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1tYW4sLS1kaXNhYmxlLW1hbixsaWJ4c2x0LW5hdGl2ZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJzb3VwL2xpYnNvdXAtMi40LzAwMDEtRG8tbm90LWVuZm9yY2Utbm8taW50cm9zcGVjdGlvbi13aGVuLWNyb3NzLWJ1aWxkaW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJzb3VwL2xpYnNvdXAtMi40LzAwMDEtRG8tbm90LWVuZm9yY2Utbm8taW50cm9zcGVjdGlvbi13aGVuLWNyb3NzLWJ1aWxkaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyYjAyOWEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnNvdXAvbGlic291cC0yLjQvMDAwMS1Eby1ub3QtZW5mb3JjZS1uby1pbnRyb3NwZWN0aW9uLXdoZW4tY3Jvc3MtYnVpbGRpbmcucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorRnJvbSA5MjE4ODhhZmZlNjY5NTNjOTJhMDhhZTQ0MGU5MTFiMDE2YjEyNGJlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBGcmksIDE1IEZlYiAyMDE5IDE0OjIxOjA2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBlbmZvcmNlIG5vLWludHJvc3BlY3Rpb24gd2hlbiBjcm9zcy1idWlsZGluZworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgbWVzb24uYnVpbGQgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCitpbmRleCA1YTkyY2RhLi5jZmIzNTIwIDEwMDY0NAorLS0tIGEvbWVzb24uYnVpbGQKKysrKyBiL21lc29uLmJ1aWxkCitAQCAtMjYyLDcgKzI2Miw3IEBAIGVuYWJsZV9nbm9tZSA9IGdldF9vcHRpb24oJ2dub21lJykgYW5kIGhvc3RfbWFjaGluZS5zeXN0ZW0oKSAhPSAnd2luZG93cycKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIyBHT2JqZWN0IGludHJvc3BlY3Rpb24gIworICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy1lbmFibGVfaW50cm9zcGVjdGlvbiA9IGdldF9vcHRpb24oJ2ludHJvc3BlY3Rpb24nKSBhbmQgZmluZF9wcm9ncmFtKCdnLWlyLXNjYW5uZXInLCByZXF1aXJlZDogZmFsc2UpLmZvdW5kKCkgYW5kIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpCisrZW5hYmxlX2ludHJvc3BlY3Rpb24gPSBnZXRfb3B0aW9uKCdpbnRyb3NwZWN0aW9uJykgYW5kIGZpbmRfcHJvZ3JhbSgnZy1pci1zY2FubmVyJywgcmVxdWlyZWQ6IGZhbHNlKS5mb3VuZCgpCisgCisgIyMjIyMjIyMjIyMjCisgIyBWYWxhIEFQSSAjCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnNvdXAvbGlic291cC0yLjRfMi42Mi4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJzb3VwL2xpYnNvdXAtMi40XzIuNjIuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWFhM2NjNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnNvdXAvbGlic291cC0yLjRfMi42Mi4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotU1VNTUFSWSA9ICJBbiBIVFRQIGxpYnJhcnkgaW1wbGVtZW50YXRpb24gaW4gQyIKLUhPTUVQQUdFID0gImh0dHBzOi8vd2lraS5nbm9tZS5vcmcvUHJvamVjdHMvbGlic291cCIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgotU0VDVElPTiA9ICJ4MTEvZ25vbWUvbGlicyIKLUxJQ0VOU0UgPSAiTEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIiCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIGxpYnhtbDIgc3FsaXRlMyBpbnRsdG9vbC1uYXRpdmUiCi0KLVNIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgotCi1TUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS9saWJzb3VwLyR7U0hSVF9WRVJ9L2xpYnNvdXAtJHtQVn0udGFyLnh6IgotU1JDX1VSSVttZDVzdW1dID0gImRmYmYzMGFmNWZiNjE5MGJmYWZjNWFhNmFiY2M5ZGNlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzMTJhZGU1NDc0OTVjMjA5M2ZmOGJkYTYxZjliOTcyN2E5OGNmZGFlMzM5ZjMyNjMyNzdkZDM5YzA0NTExNzIiCi0KLVMgPSAiJHtXT1JLRElSfS9saWJzb3VwLSR7UFZ9IgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uIGd0ay1kb2MKLQotIyBsaWJzb3VwLWdub21lIGlzIGVudGlyZWx5IGRlcHJlY2F0ZWQgYW5kIGp1c3Qgc3R1YnMgaW4gMi40MiBvbndhcmRzLiBEaXNhYmxlIGJ5IGRlZmF1bHQuCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tnbm9tZV0gPSAiLS13aXRoLWdub21lLC0td2l0aG91dC1nbm9tZSIKLVBBQ0tBR0VDT05GSUdbZ3NzYXBpXSA9ICItLXdpdGgtZ3NzYXBpLC0td2l0aG91dC1nc3NhcGksa3JiNSIKLQotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS12YWxhIgotCi0jIFdoZW4gYnVpbHQgd2l0aG91dCBnbm9tZSBzdXBwb3J0LCBsaWJzb3VwLTIuNCB3aWxsIGNvbnRhaW4gb25seSBvbmUgc2hhcmVkIGxpYgotIyBhbmQgd2lsbCB0aGVyZWZvcmUgYmVjb21lIHN1YmplY3QgdG8gcmVuYW1pbmcgYnkgZGViaWFuLmJiY2xhc3MuIFByZXZlbnQKLSMgcmVuYW1pbmcgaW4gb3JkZXIgdG8ga2VlcCB0aGUgcGFja2FnZSBuYW1lIGNvbnNpc3RlbnQgcmVnYXJkbGVzcyBvZiB3aGV0aGVyCi0jIGdub21lIHN1cHBvcnQgaXMgZW5hYmxlZCBvciBkaXNhYmxlZC4KLURFQklBTl9OT0FVVE9OQU1FXyR7UE59ID0gIjEiCi0KLSMgZ2xpYi1uZXR3b3JraW5nIGlzIG5lZWRlZCBmb3IgU1NMLCBwcm94aWVzLCBldGMuCi1SUkVDT01NRU5EU18ke1BOfSA9ICJnbGliLW5ldHdvcmtpbmciCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnNvdXAvbGlic291cC0yLjRfMi42NC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJzb3VwL2xpYnNvdXAtMi40XzIuNjQuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTdjMWE2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJzb3VwL2xpYnNvdXAtMi40XzIuNjQuMi5iYgpAQCAtMCwwICsxLDUxIEBACitTVU1NQVJZID0gIkFuIEhUVFAgbGlicmFyeSBpbXBsZW1lbnRhdGlvbiBpbiBDIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLmdub21lLm9yZy9Qcm9qZWN0cy9saWJzb3VwIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiIKKworREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgbGlieG1sMiBzcWxpdGUzIGludGx0b29sLW5hdGl2ZSBsaWJwc2wiCisKK1NIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgorCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS9saWJzb3VwLyR7U0hSVF9WRVJ9L2xpYnNvdXAtJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWVuZm9yY2Utbm8taW50cm9zcGVjdGlvbi13aGVuLWNyb3NzLWJ1aWxkaW5nLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImNhYzc1NWRjNmM2YWNkNmUwYzcwMDA3ZjU0NzU0OGY1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc1ZGRjMTk0YTViMWQ2ZjI1MDMzYmI5ZDM1NWYwNGJmZTVjMDNlMGUxYzcxZWQwNzc0MTA0NDU3YjNhNzg2YzYiCisKK1MgPSAiJHtXT1JLRElSfS9saWJzb3VwLSR7UFZ9IgorCitpbmhlcml0IG1lc29uIGdldHRleHQgcGtnY29uZmlnIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ3RrLWRvYworCisjIGxpYnNvdXAtZ25vbWUgaXMgZW50aXJlbHkgZGVwcmVjYXRlZCBhbmQganVzdCBzdHVicyBpbiAyLjQyIG9ud2FyZHMuIERpc2FibGUgYnkgZGVmYXVsdC4KK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2dub21lXSA9ICItRGdub21lPXRydWUsLURnbm9tZT1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbZ3NzYXBpXSA9ICItRGdzc2FwaT10cnVlLC1EZ3NzYXBpPWZhbHNlLGtyYjUiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kID0gIiAtRHZhcGk9ZmFsc2UiCisKK0dUS0RPQ19FTkFCTEVfRkxBRyA9ICItRGRvYz10cnVlIgorR1RLRE9DX0RJU0FCTEVfRkxBRyA9ICItRGRvYz1mYWxzZSIKKworR0lfRU5BQkxFX0ZMQUcgPSAiLURpbnRyb3NwZWN0aW9uPXRydWUiCitHSV9ESVNBQkxFX0ZMQUcgPSAiLURpbnRyb3NwZWN0aW9uPWZhbHNlIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiICR7R0lfRElTQUJMRV9GTEFHfSIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnJHtHSV9FTkFCTEVfRkxBR30nLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHSV9ESVNBQkxFX0ZMQUd9JywgZCl9ICIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR1RLRE9DX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dUS0RPQ19FTkFCTEVfRkxBR30nLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R1RLRE9DX0RJU0FCTEVfRkxBR30nLCBkKX0gIgorCisKKyMgV2hlbiBidWlsdCB3aXRob3V0IGdub21lIHN1cHBvcnQsIGxpYnNvdXAtMi40IHdpbGwgY29udGFpbiBvbmx5IG9uZSBzaGFyZWQgbGliCisjIGFuZCB3aWxsIHRoZXJlZm9yZSBiZWNvbWUgc3ViamVjdCB0byByZW5hbWluZyBieSBkZWJpYW4uYmJjbGFzcy4gUHJldmVudAorIyByZW5hbWluZyBpbiBvcmRlciB0byBrZWVwIHRoZSBwYWNrYWdlIG5hbWUgY29uc2lzdGVudCByZWdhcmRsZXNzIG9mIHdoZXRoZXIKKyMgZ25vbWUgc3VwcG9ydCBpcyBlbmFibGVkIG9yIGRpc2FibGVkLgorREVCSUFOX05PQVVUT05BTUVfJHtQTn0gPSAiMSIKKworIyBnbGliLW5ldHdvcmtpbmcgaXMgbmVlZGVkIGZvciBTU0wsIHByb3hpZXMsIGV0Yy4KK1JSRUNPTU1FTkRTXyR7UE59ID0gImdsaWItbmV0d29ya2luZyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLUFkZC1BT19SRVFVSVJFX0NBUy10by1maXgtYnVpbGQtb24tQVJNLXY2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDEtQWRkLUFPX1JFUVVJUkVfQ0FTLXRvLWZpeC1idWlsZC1vbi1BUk0tdjYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM3Yjg3OAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLUFkZC1BT19SRVFVSVJFX0NBUy10by1maXgtYnVpbGQtb24tQVJNLXY2LnBhdGNoCkBAIC0wLDAgKzEsNjIgQEAKK0Zyb20gNTk5ZjEwYWMzYTI0ZTQxOWE5M2Y5N2ZkZGJlMTRkZTAxYjExODVlYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRob21hcyBQZXRhenpvbmkgPHRob21hcy5wZXRhenpvbmlAZnJlZS1lbGVjdHJvbnMuY29tPgorRGF0ZTogVHVlLCAxMyBNYXkgMjAxNCAyMzozMjoyNyArMDIwMAorU3ViamVjdDogW1BBVENIIDEvNl0gQWRkIEFPX1JFUVVJUkVfQ0FTIHRvIGZpeCBidWlsZCBvbiBBUk0gPCB2NgorCitBUk0gZWFybGllciB0aGFuIEFSTXY2LCBzdWNoIGFzIEFSTXY0IGFuZCBBUk12NSBkbyBub3QgcHJvdmlkZQorb3B0aW1pemUgYXRvbWljIG9wZXJhdGlvbnMgaW4gbGliYXRvbWljX29wcy4gU2luY2UgbGlidW53aW5kIGlzIHVzaW5nCitzdWNoIG9wZXJhdGlvbnMsIGl0IHNob3VsZCBkZWZpbmUgQU9fUkVRVUlSRV9DQVMgYmVmb3JlIGluY2x1ZGluZworPGF0b21pY19vcHMuaD4gc28gdGhhdCBsaWJhdG9taWNfb3BzIGtub3dzIGl0IHNob3VsZCB1c2UgZW11bGF0ZWQKK2F0b21pYyBvcGVyYXRpb25zIGluc3RlYWQgKGV2ZW4gdGhvdWdoIHRoZXkgYXJlIG9idmlvdXNseSBhIGxvdCBtb3JlCitleHBlbnNpdmUpLgorCitBbHNvLCB3aGlsZSByZWFsIGF0b21pYyBvcGVyYXRpb25zIGFyZSBhbGwgaW5saW5lIGZ1bmN0aW9ucyBhbmQKK3RoZXJlZm9yZSBsaW5raW5nIGFnYWluc3QgbGliYXRvbWljX29wcyB3YXMgbm90IHJlcXVpcmVkLCB0aGUgZW11bGF0ZWQKK2F0b21pYyBvcGVyYXRpb25zIGFjdHVhbGx5IHJlcXVpcmUgbGlua2luZyBhZ2FpbnN0IGxpYmF0b21pY19vcHMsIHNvCit0aGUgY29tbWVudGVkIEFDX0NIRUNLX0xJQiB0ZXN0IGluIGFjaW5jbHVkZS5tNCBpcyB1bmNvbW1lbnRlZCB0byBtYWtlCitzdXJlIHdlIGxpbmsgYWdhaW5zdCBsaWJhdG9taWNfb3BzLgorCitTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgUGV0YXp6b25pIDx0aG9tYXMucGV0YXp6b25pQGZyZWUtZWxlY3Ryb25zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitUYWtlbiBmcm9tOgoraHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3JkbmV0dG8vdGVhcG90LWJ1aWxkcm9vdC9tYXN0ZXIvcGFja2FnZS9saWJ1bndpbmQvbGlidW53aW5kLTAyLUFkZC1BT19SRVFVSVJFX0NBUy10by1maXgtYnVpbGQtb24tQVJNLXY2LnBhdGNoCisKKy0tLQorIGFjaW5jbHVkZS5tNCAgICAgICAgICB8IDggKy0tLS0tLS0KKyBpbmNsdWRlL2xpYnVud2luZF9pLmggfCAxICsKKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2FjaW5jbHVkZS5tNCBiL2FjaW5jbHVkZS5tNAoraW5kZXggNDk3ZjdjMi4uOWMxNWFmMSAxMDA2NDQKKy0tLSBhL2FjaW5jbHVkZS5tNAorKysrIGIvYWNpbmNsdWRlLm00CitAQCAtMjIsMTEgKzIyLDUgQEAgZmldKQorIEFDX0RFRlVOKFtDSEVDS19BVE9NSUNfT1BTXSwKKyBbZG5sIENoZWNrIHdoZXRoZXIgdGhlIHN5c3RlbSBoYXMgdGhlIGF0b21pY19vcHMgcGFja2FnZSBpbnN0YWxsZWQuCisgICBBQ19DSEVDS19IRUFERVJTKGF0b21pY19vcHMuaCkKKy0jCistIyBEb24ndCBsaW5rIGFnYWluc3QgbGliYXRvbWljX29wcyBmb3Igbm93LiAgV2UgZG9uJ3Qgd2FudCBsaWJ1bndpbmQKKy0jIHRvIGRlcGVuZCBvbiBsaWJhdG9taWNfb3BzLnNvLiAgRm9ydHVuYXRlbHksIG5vbmUgb2YgdGhlIHBsYXRmb3JtcworLSMgd2UgY2FyZSBhYm91dCBzbyBmYXIgbmVlZCBsaWJhdG9taWNfb3BzLmEgKGV2ZXJ5dGhpbmcgaXMgZG9uZSB2aWEKKy0jIGlubGluZSBtYWNyb3MpLgorLSMKKy0jICBBQ19DSEVDS19MSUIoYXRvbWljX29wcywgbWFpbikKKysgIEFDX0NIRUNLX0xJQihhdG9taWNfb3BzLCBtYWluKQorIF0pCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saWJ1bndpbmRfaS5oIGIvaW5jbHVkZS9saWJ1bndpbmRfaS5oCitpbmRleCAzNmNmN2ExLi4zM2I0Y2EzIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9saWJ1bndpbmRfaS5oCisrKysgYi9pbmNsdWRlL2xpYnVud2luZF9pLmgKK0BAIC0xMjQsNiArMTI0LDcgQEAgV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuICAqLworICAgICAgICAgKHB0aHJlYWRfbXV0ZXhfdW5sb2NrICE9IE5VTEwgPyBwdGhyZWFkX211dGV4X3VubG9jayAobCkgOiAwKQorIAorICNpZmRlZiBIQVZFX0FUT01JQ19PUFNfSAorKyMgZGVmaW5lIEFPX1JFUVVJUkVfQ0FTCisgIyBpbmNsdWRlIDxhdG9taWNfb3BzLmg+Cisgc3RhdGljIGlubGluZSBpbnQKKyBjbXB4Y2hnX3B0ciAodm9pZCAqYWRkciwgdm9pZCAqb2xkLCB2b2lkICpuZXcpCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS1GaXgtYnVpbGQtb24tbWlwcy1tdXNsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDEtRml4LWJ1aWxkLW9uLW1pcHMtbXVzbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGJjYzI1Mi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS1GaXgtYnVpbGQtb24tbWlwcy1tdXNsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODEgKzAsMCBAQAotRnJvbSBlNjIzYzc3MDM5NDVhNWViNmM5YTMwNTg2ZWM1ZTIzYjJmNzM5NmY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgMjMgTWFyIDIwMTYgMDY6MDg6NTkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGJ1aWxkIG9uIG1pcHMvbXVzbAotCi1EbyBub3QgaW5jbHVkZSBlbmRpYW4uaCBvbiBtdXNsIGl0IGluY2x1ZGVzCi1mdXJ0aGVyIGhlYWRlcnMgd2hpY2ggY2FuIG5vdCBiZSBjb21waWxlZCBpbiBfX0FTU0VNQkxFUl9fCi0gbW9kZQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotIHNyYy9jb3JlZHVtcC9fVUNEX2ludGVybmFsLmggfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gc3JjL21pcHMvZ2V0Y29udGV4dC5TICAgICAgICB8ICAzICstLQotIDIgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotSW5kZXg6IGdpdC9zcmMvY29yZWR1bXAvX1VDRF9pbnRlcm5hbC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvc3JjL2NvcmVkdW1wL19VQ0RfaW50ZXJuYWwuaAotKysrIGdpdC9zcmMvY29yZWR1bXAvX1VDRF9pbnRlcm5hbC5oCi1AQCAtNDQsNiArNDQsNDEgQEAgV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERQotIAotICNpbmNsdWRlICJsaWJ1bndpbmRfaS5oIgotIAotKyNpZm5kZWYgX19HTElCQ19fCi0rI2luY2x1ZGUgPHN5cy9yZWcuaD4KLSsKLSsjZGVmaW5lIEVGX1JFRzAJCQk2Ci0rI2RlZmluZSBFRl9SRUcxCQkJNwotKyNkZWZpbmUgRUZfUkVHMgkJCTgKLSsjZGVmaW5lIEVGX1JFRzMJCQk5Ci0rI2RlZmluZSBFRl9SRUc0CQkJMTAKLSsjZGVmaW5lIEVGX1JFRzUJCQkxMQotKyNkZWZpbmUgRUZfUkVHNgkJCTEyCi0rI2RlZmluZSBFRl9SRUc3CQkJMTMKLSsjZGVmaW5lIEVGX1JFRzgJCQkxNAotKyNkZWZpbmUgRUZfUkVHOQkJCTE1Ci0rI2RlZmluZSBFRl9SRUcxMAkJMTYKLSsjZGVmaW5lIEVGX1JFRzExCQkxNwotKyNkZWZpbmUgRUZfUkVHMTIJCTE4Ci0rI2RlZmluZSBFRl9SRUcxMwkJMTkKLSsjZGVmaW5lIEVGX1JFRzE0CQkyMAotKyNkZWZpbmUgRUZfUkVHMTUJCTIxCi0rI2RlZmluZSBFRl9SRUcxNgkJMjIKLSsjZGVmaW5lIEVGX1JFRzE3CQkyMwotKyNkZWZpbmUgRUZfUkVHMTgJCTI0Ci0rI2RlZmluZSBFRl9SRUcxOQkJMjUKLSsjZGVmaW5lIEVGX1JFRzIwCQkyNgotKyNkZWZpbmUgRUZfUkVHMjEJCTI3Ci0rI2RlZmluZSBFRl9SRUcyMgkJMjgKLSsjZGVmaW5lIEVGX1JFRzIzCQkyOQotKyNkZWZpbmUgRUZfUkVHMjQJCTMwCi0rI2RlZmluZSBFRl9SRUcyNQkJMzEKLSsjZGVmaW5lIEVGX1JFRzI4CQkzNAotKyNkZWZpbmUgRUZfUkVHMjkJCTM1Ci0rI2RlZmluZSBFRl9SRUczMAkJMzYKLSsjZGVmaW5lIEVGX1JFRzMxCQkzNwotKyNlbmRpZgotKwotIAotICNpZiBTSVpFT0ZfT0ZGX1QgPT0gNAotIHR5cGVkZWYgdWludDMyX3QgdW9mZl90OwotSW5kZXg6IGdpdC9zcmMvbWlwcy9nZXRjb250ZXh0LlMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9zcmMvbWlwcy9nZXRjb250ZXh0LlMKLSsrKyBnaXQvc3JjL21pcHMvZ2V0Y29udGV4dC5TCi1AQCAtMjQsMTIgKzI0LDExIEBAIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORwotIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLiAgKi8KLSAKLSAjaW5jbHVkZSAib2Zmc2V0cy5oIgotLSNpbmNsdWRlIDxlbmRpYW4uaD4KLSAKLSAJLnRleHQKLSAKLSAjaWYgX01JUFNfU0lNID09IF9BQklPMzIKLS0jIGlmIF9fQllURV9PUkRFUiA9PSBfX0JJR19FTkRJQU4KLSsjIGlmIF9fQllURV9PUkRFUl9fID09IF9fT1JERVJfQklHX0VORElBTl9fCi0gIyAgZGVmaW5lIE9GRlNFVCA0Ci0gIyBlbHNlCi0gIyAgZGVmaW5lIE9GRlNFVCAwCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS1hZGQta25vYnMtdG8tZGlzYWJsZS1lbmFibGUtdGVzdHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS1hZGQta25vYnMtdG8tZGlzYWJsZS1lbmFibGUtdGVzdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3M2E1YmIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDEtYWRkLWtub2JzLXRvLWRpc2FibGUtZW5hYmxlLXRlc3RzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotRnJvbSA0NTllNDcxZmNjMzNkMzAwZjdiYmNkYWYzZTBkYzMzOGQ5ZGMxNWI5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMzAgQXByIDIwMTYgMTY6NTY6MzQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gYWRkIGtub2JzIHRvIGRpc2FibGUvZW5hYmxlIHRlc3RzCi0KLVNvbWUgdGVzdHMgZG8gbm90IGNvbXBpbGUgb24gbXVzbCBsaWJjCi1pbiBnZW5lcmFsIGl0cyBnb29kIHRvIGhhdmUgc3VjaCBhIGtub2IKLXNpbmNlIG5vdCBhbGwgYnVpbGRzIG1heSB3YW50IHRvIGVuYWJsZQotdGVzdHMKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBNYWtlZmlsZS5hbSAgfCAgNiArKysrKy0KLSBjb25maWd1cmUuYWMgfCAxMiArKysrKysrKysrLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCi1pbmRleCA2YTNlZDllLi4wYzI5YjNlIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuYW0KLSsrKyBiL01ha2VmaWxlLmFtCi1AQCAtNDIsNyArNDIsMTEgQEAgZW5kaWYKLSAKLSBub2Rpc3RfaW5jbHVkZV9IRUFERVJTID0gaW5jbHVkZS9saWJ1bndpbmQtY29tbW9uLmgKLSAKLS1TVUJESVJTID0gc3JjIHRlc3RzCi0rU1VCRElSUyA9IHNyYwotKwotK2lmIENPTkZJR19URVNUUwotK1NVQkRJUlMgKz0gdGVzdHMKLStlbmRpZgotIAotIGlmIENPTkZJR19ET0NTCi0gU1VCRElSUyArPSBkb2MKLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDg1ZDc4ZjguLmQzNjIzODcgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTEyOSw2ICsxMjksMTAgQEAgQUNfQVJHX0VOQUJMRShkb2N1bWVudGF0aW9uLAotIAlBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWRvY3VtZW50YXRpb25dLFtEaXNhYmxlIGdlbmVyYXRpbmcgdGhlIG1hbiBwYWdlc10pLCwKLSAJW2VuYWJsZV9kb2N1bWVudGF0aW9uPXllc10pCi0gCi0rQUNfQVJHX0VOQUJMRSh0ZXN0cywKLSsJQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS10ZXN0c10sW0Rpc2FibGUgYnVpbGRpbmcgdGVzdHNdKSwsCi0rCVtlbmFibGVfdGVzdHM9eWVzXSkKLSsKLSBBQ19NU0dfQ0hFQ0tJTkcoW2lmIHdlIHNob3VsZCBidWlsZCBsaWJ1bndpbmQtc2V0am1wXSkKLSBBQ19NU0dfUkVTVUxUKFskZW5hYmxlX3NldGptcF0pCi0gCi1AQCAtMzk1LDkgKzM5OSwxMyBAQCBBTV9DT05ESVRJT05BTChbQ09ORklHX0RPQ1NdLCBbdGVzdCB4JGVuYWJsZV9kb2N1bWVudGF0aW9uID0geHllc10pCi0gaWYgdGVzdCAieCRlbmFibGVfZG9jdW1lbnRhdGlvbiIgPSAieHllcyI7IHRoZW4KLSAgIEFDX0NPTkZJR19GSUxFUyhkb2MvTWFrZWZpbGUgZG9jL2NvbW1vbi50ZXgpCi0gZmkKLStBTV9DT05ESVRJT05BTChbQ09ORklHX1RFU1RTXSwgW3Rlc3QgeCRlbmFibGVfdGVzdHMgPSB4eWVzXSkKLStpZiB0ZXN0ICJ4JGVuYWJsZV90ZXN0cyIgPSAieHllcyI7IHRoZW4KLSsgIEFDX0NPTkZJR19GSUxFUyh0ZXN0cy9NYWtlZmlsZSB0ZXN0cy9jaGVjay1uYW1lc3BhY2Uuc2gpCi0rZmkKLSsKLSAKLS1BQ19DT05GSUdfRklMRVMoTWFrZWZpbGUgc3JjL01ha2VmaWxlIHRlc3RzL01ha2VmaWxlIHRlc3RzL2NoZWNrLW5hbWVzcGFjZS5zaAotLQkJaW5jbHVkZS9saWJ1bndpbmQtY29tbW9uLmgKLStBQ19DT05GSUdfRklMRVMoTWFrZWZpbGUgc3JjL01ha2VmaWxlIGluY2x1ZGUvbGlidW53aW5kLWNvbW1vbi5oCi0gICAgICAgICAgICAgICAgIGluY2x1ZGUvbGlidW53aW5kLmggaW5jbHVkZS90ZGVwL2xpYnVud2luZF9pLmgpCi0gQUNfQ09ORklHX0ZJTEVTKHNyYy91bndpbmQvbGlidW53aW5kLnBjIHNyYy9jb3JlZHVtcC9saWJ1bndpbmQtY29yZWR1bXAucGMKLSAgICAgICAgICAgICAgICAgc3JjL3B0cmFjZS9saWJ1bndpbmQtcHRyYWNlLnBjIHNyYy9zZXRqbXAvbGlidW53aW5kLXNldGptcC5wYwotLS0gCi0xLjguMy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLWJhY2t0cmFjZS1Vc2Utb25seS13aXRoLWdsaWJjLWFuZC11Y2xpYmMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS1iYWNrdHJhY2UtVXNlLW9ubHktd2l0aC1nbGliYy1hbmQtdWNsaWJjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YWVkNDE5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLWJhY2t0cmFjZS1Vc2Utb25seS13aXRoLWdsaWJjLWFuZC11Y2xpYmMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi1Gcm9tIDA0NDM3MTQyMzk5NjYyYjU3NmJkNTVhODU0ODVjNmRjYzE0ZDA4MTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVGh1LCAzMSBEZWMgMjAxNSAwNjo0NDowNyArMDAwMAotU3ViamVjdDogW1BBVENIXSBiYWNrdHJhY2U6IFVzZSBvbmx5IHdpdGggZ2xpYmMgYW5kIHVjbGliYwotCi1iYWNrdHJhY2UgQVBJIGlzIGdsaWJjIHNwZWNpZmljIG5vdCBsaW51eCBzcGVjaWZpYwotc28gbWFrZSBpdCBiZWhhdmUgc28uCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gdGVzdHMvdGVzdC1jb3JlZHVtcC11bndpbmQuYyB8IDQgKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3QtY29yZWR1bXAtdW53aW5kLmMgYi90ZXN0cy90ZXN0LWNvcmVkdW1wLXVud2luZC5jCi1pbmRleCA1MjU0NzA4Li44NzY3YjQyIDEwMDY0NAotLS0tIGEvdGVzdHMvdGVzdC1jb3JlZHVtcC11bndpbmQuYwotKysrIGIvdGVzdHMvdGVzdC1jb3JlZHVtcC11bndpbmQuYwotQEAgLTU3LDcgKzU3LDkgQEAKLSAjaW5jbHVkZSA8Z3JwLmg+Ci0gCi0gLyogRm9yIFNJR1NFR1YgaGFuZGxlciBjb2RlICovCi0rI2lmZGVmIF9fR0xJQkNfXwotICNpbmNsdWRlIDxleGVjaW5mby5oPgotKyNlbmRpZgotICNpbmNsdWRlIDxzeXMvdWNvbnRleHQuaD4KLSAKLSAjaW5jbHVkZSA8bGlidW53aW5kLWNvcmVkdW1wLmg+Ci1AQCAtMjM4LDExICsyNDAsMTEgQEAgdm9pZCBoYW5kbGVfc2lnc2VndihpbnQgc2lnLCBzaWdpbmZvX3QgKmluZm8sIHZvaWQgKnVjb250ZXh0KQotIAkJCWlwKTsKLSAKLSAgIHsKLSsjaWZkZWYgX19HTElCQ19fCi0gICAgIC8qIGdsaWJjIGV4dGVuc2lvbiAqLwotICAgICB2b2lkICphcnJheVs1MF07Ci0gICAgIGludCBzaXplOwotICAgICBzaXplID0gYmFja3RyYWNlKGFycmF5LCA1MCk7Ci0tI2lmZGVmIF9fbGludXhfXwotICAgICBiYWNrdHJhY2Vfc3ltYm9sc19mZChhcnJheSwgc2l6ZSwgMik7Ci0gI2VuZGlmCi0gICB9Ci0tLSAKLTIuNi40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLXBwYzMyLUNvbnNpZGVyLXVjb250ZXh0LW1pc21hdGNoZXMtYmV0d2Vlbi1nbGliYy1hbmQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS1wcGMzMi1Db25zaWRlci11Y29udGV4dC1taXNtYXRjaGVzLWJldHdlZW4tZ2xpYmMtYW5kLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTA2NDFmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLXBwYzMyLUNvbnNpZGVyLXVjb250ZXh0LW1pc21hdGNoZXMtYmV0d2Vlbi1nbGliYy1hbmQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNDggKzAsMCBAQAotRnJvbSBlMGVlYTUzYzc3ZmNlODUzN2M1OGEwNzJiNjg0MDQzNTA3OTg3YmNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgOSBKdWwgMjAxNiAwMTowNzo1MyArMDAwMAotU3ViamVjdDogW1BBVENIXSBwcGMzMjogQ29uc2lkZXIgdWNvbnRleHQgbWlzbWF0Y2hlcyBiZXR3ZWVuIGdsaWJjIGFuZCBtdXNsCi0KLVRoaXMgaGVscHMgaW4gcG9ydGluZyBsaWJ1bndpbmQgb250byBtdXNsIGJhc2VkIHN5c3RlbXMKLXB0cmFjZS5oIGNoYW5nZSBpcyByZXF1aXJlZCBhZ2FpbiBhbiBlcnJvciB0aGF0IHN1cmZhY2VzCi13aXRoIG11c2wKLQotL21udC9vZS9vcGVuZW1iZWRkZWQtY29yZS9idWlsZC90bXAtbXVzbC9zeXNyb290cy9xZW11cHBjL3Vzci9pbmNsdWRlL2FzbS9wdHJhY2UuaDozMTo4OiBlcnJvcjogcmVkZWZpbml0aW9uIG9mICdzdHJ1Y3QgcHRfcmVncycKLSBzdHJ1Y3QgcHRfcmVncyB7Ci0gICAgICAgIF5+fn5+fn4KLUluIGZpbGUgaW5jbHVkZWQgZnJvbSAvbW50L29lL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1tdXNsL3N5c3Jvb3RzL3FlbXVwcGMvdXNyL2luY2x1ZGUvc3lzL3VzZXIuaDoxMTowLAotICAgICAgICAgICAgICAgICBmcm9tIC9tbnQvb2Uvb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLW11c2wvc3lzcm9vdHMvcWVtdXBwYy91c3IvaW5jbHVkZS9zeXMvcHJvY2ZzLmg6OSwKLSAgICAgICAgICAgICAgICAgZnJvbSAuLi8uLi9naXQvc3JjL3B0cmFjZS9fVVBUX2ludGVybmFsLmg6NDAsCi0gICAgICAgICAgICAgICAgIGZyb20gLi4vLi4vZ2l0L3NyYy9wdHJhY2UvX1VQVF9yZWdfb2Zmc2V0LmM6Mjc6Ci0vbW50L29lL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1tdXNsL3N5c3Jvb3RzL3FlbXVwcGMvdXNyL2luY2x1ZGUvYml0cy91c2VyLmg6MTo4OiBub3RlOiBvcmlnaW5hbGx5IGRlZmluZWQgaGVyZQotIHN0cnVjdCBwdF9yZWdzIHsKLSAgICAgICAgXn5+fn5+fgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotIHNyYy9wcGMzMi9HaW5pdC5jICAgICAgICAgICAgfCAgIDYgKy0KLSBzcmMvcHBjMzIvdWNvbnRleHRfaS5oICAgICAgIHwgMTU4ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBzcmMvcHRyYWNlL19VUFRfcmVnX29mZnNldC5jIHwgICA3ICsrCi0gMyBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25zKCspLCA3OSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9wcGMzMi9HaW5pdC5jIGIvc3JjL3BwYzMyL0dpbml0LmMKLWluZGV4IGYyZTZlODIuLjYxN2FhYTEgMTAwNjQ0Ci0tLS0gYS9zcmMvcHBjMzIvR2luaXQuYwotKysrIGIvc3JjL3BwYzMyL0dpbml0LmMKLUBAIC00OCwxMiArNDgsMTIgQEAgdWNfYWRkciAodWNvbnRleHRfdCAqdWMsIGludCByZWcpCi0gICB2b2lkICphZGRyOwotIAotICAgaWYgKCh1bnNpZ25lZCkgKHJlZyAtIFVOV19QUEMzMl9SMCkgPCAzMikKLS0gICAgYWRkciA9ICZ1Yy0+dWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbcmVnIC0gVU5XX1BQQzMyX1IwXTsKLSsgICAgYWRkciA9ICZ1Yy0+R0VUX1VDX1JFR1MtPmdyZWdzW3JlZyAtIFVOV19QUEMzMl9SMF07Ci0gCi0gICBlbHNlCi0gICBpZiAoICgodW5zaWduZWQpIChyZWcgLSBVTldfUFBDMzJfRjApIDwgMzIpICYmCi0gICAgICAgICgodW5zaWduZWQpIChyZWcgLSBVTldfUFBDMzJfRjApID49IDApICkKLS0gICAgYWRkciA9ICZ1Yy0+dWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1tyZWcgLSBVTldfUFBDMzJfRjBdOwotKyAgICBhZGRyID0gJnVjLT5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1tyZWcgLSBVTldfUFBDMzJfRjBdOwotIAotICAgZWxzZQotICAgICB7Ci1AQCAtNzYsNyArNzYsNyBAQCB1Y19hZGRyICh1Y29udGV4dF90ICp1YywgaW50IHJlZykKLSAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgfQotLSAgICAgIGFkZHIgPSAmdWMtPnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW2dyZWdzX2lkeF07Ci0rICAgICAgYWRkciA9ICZ1Yy0+R0VUX1VDX1JFR1MtPmdyZWdzW2dyZWdzX2lkeF07Ci0gICAgIH0KLSAgIHJldHVybiBhZGRyOwotIH0KLWRpZmYgLS1naXQgYS9zcmMvcHBjMzIvdWNvbnRleHRfaS5oIGIvc3JjL3BwYzMyL3Vjb250ZXh0X2kuaAotaW5kZXggYzZiYTgwNi4uYjc5ZjE1YyAxMDA2NDQKLS0tLSBhL3NyYy9wcGMzMi91Y29udGV4dF9pLmgKLSsrKyBiL3NyYy9wcGMzMi91Y29udGV4dF9pLmgKLUBAIC00Niw4MyArNDYsODkgQEAgV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuICAqLwotICAgIHZhcmlvdXMgc3RydWN0dXJlIG1lbWJlcnMuICovCi0gc3RhdGljIHVjb250ZXh0X3QgZG15X2N0eHQgVU5VU0VEOwotIAotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzNdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1I1ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1s1XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzZdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1I4ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1s4XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzldIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzEwXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjExICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxMiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTJdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzEzXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE0ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxNSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTVdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzE2XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE3ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxOCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMThdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzE5XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIwICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzIyXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIzICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjRdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzI1XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI2ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjddIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzI4XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI5ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IzMCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMzEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzMxXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNpZmRlZiBfX0dMSUJDX18KLSsjZGVmaW5lIEdFVF9VQ19SRUdTIHVjX21jb250ZXh0LnVjX3JlZ3MKLSsjZWxzZQotKyNkZWZpbmUgR0VUX1VDX1JFR1MgdWNfcmVncwotKyNlbmRpZgotKwotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1swXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1szXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s0XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjUgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s1XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjYgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s2XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s3XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjggKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s4XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjkgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s5XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxMiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzEyXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTNdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxNSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzE1XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE2ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTZdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxOCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzE4XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE5ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTldIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzIxXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIyICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjJdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzI0XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI1ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjVdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjYgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzI3XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI4ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjkgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IzMCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzMwXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMxICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0gCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19NU1IgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW01TUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19PUklHX0dQUjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW09SSUdfR1BSM19JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19DVFIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW0NUUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19MSU5LICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tMSU5LX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1hFUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbWEVSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0NDUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbQ0NSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1NPRlRFICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tTT0ZURV9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19UUkFQICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tUUkFQX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0RBUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbREFSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0RTSVNSICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tEU0lTUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SRVNVTFQgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW1JFU1VMVF9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19NU1IgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tNU1JfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfT1JJR19HUFIzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbT1JJR19HUFIzX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0NUUiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzW0NUUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19MSU5LICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbTElOS19JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19YRVIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tYRVJfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfQ0NSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbQ0NSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1NPRlRFICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbU09GVEVfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfVFJBUCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzW1RSQVBfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfREFSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbREFSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0RTSVNSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbRFNJU1JfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUkVTVUxUICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbUkVTVUxUX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSAKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IwICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IzICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzNdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1s0XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I2ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzZdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1s3XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I5ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzldIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTJdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTNdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTQgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTRdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTVdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTZdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTcgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTddIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMThdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTldIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjJdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjNdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjQgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjRdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjVdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjZdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjcgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjddIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjldIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMzAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMzEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19GUFNDUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1szMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1swXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1szXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzRdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I2ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1s2XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzddIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SOCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I5ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1s5XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjEwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzEyXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjEzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTRdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTUgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzE1XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjE2ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTddIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTggKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzE4XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjE5ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzIxXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjIyICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjNdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzI0XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjI1ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjZdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzI3XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjI4ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyOSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjldIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMzAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzMwXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjMxICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1szMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX0ZQU0NSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1szMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSAKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9zcmMvcHRyYWNlL19VUFRfcmVnX29mZnNldC5jIGIvc3JjL3B0cmFjZS9fVVBUX3JlZ19vZmZzZXQuYwotaW5kZXggNjg0NjFhMi4uZmNjNDNmNyAxMDA2NDQKLS0tLSBhL3NyYy9wdHJhY2UvX1VQVF9yZWdfb2Zmc2V0LmMKLSsrKyBiL3NyYy9wdHJhY2UvX1VQVF9yZWdfb2Zmc2V0LmMKLUBAIC0yNyw2ICsyNywxMyBAQCBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4gICovCi0gI2luY2x1ZGUgIl9VUFRfaW50ZXJuYWwuaCIKLSAKLSAjaW5jbHVkZSA8c3RkZGVmLmg+Ci0rI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKLSsjIGRlZmluZSBwdF9yZWdzIHVhcGlfcHRfcmVncwotKyNlbmRpZgotKyNpbmNsdWRlIDxhc20vcHRyYWNlLmg+Ci0rI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKLSsjIHVuZGVmIHB0X3JlZ3MKLSsjZW5kaWYKLSAKLSAjaWZkZWYgSEFWRV9BU01fUFRSQUNFX09GRlNFVFNfSAotICMgaW5jbHVkZSA8YXNtL3B0cmFjZV9vZmZzZXRzLmg+Ci0tLSAKLTEuOC4zLjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDEteDg2LVN0dWItb3V0LXg4Nl9sb2NhbF9yZXN1bWUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS14ODYtU3R1Yi1vdXQteDg2X2xvY2FsX3Jlc3VtZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzcxMDEzYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS14ODYtU3R1Yi1vdXQteDg2X2xvY2FsX3Jlc3VtZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLUZyb20gZjVkZjAxNjU1YTRiNzZkNGZlNDE1NzQ3ZGU1ODFkOTRhYzU5M2U2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDIyIE1hciAyMDE2IDE2OjE5OjI5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHg4NjogU3R1YiBvdXQgeDg2X2xvY2FsX3Jlc3VtZSgpCi0KLWl0cyBwdXJwb3NlIHNlZW1zCi10byBiZSB1bndpbmRpbmcgYWNyb3NzIHNpZ25hbCBoYW5kbGVyIGJvdW5kYXJpZXMsIHdoaWNoIGNhbm5vdCBoYXBwZW4KLWluIGNvcnJlY3QgcHJvZ3JhbXMgYW55d2F5LiBSZXBsYWNpbmcgdGhlIHdob2xlIGZ1bmN0aW9uIHdpdGgKLXNvbWV0aGluZyBsaWtlICoodm9sYXRpbGUgY2hhciAqKTA9MDsgKGkuZS4gY3Jhc2gpLCBnZXRzIGEgd29ya2luZwotbGlidW53aW5kCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gc3JjL3g4Ni9Hb3MtbGludXguYyB8IDIyICstLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3g4Ni9Hb3MtbGludXguYyBiL3NyYy94ODYvR29zLWxpbnV4LmMKLWluZGV4IDMxZjgzYmEuLjNhYWEzNGUgMTAwNjQ0Ci0tLS0gYS9zcmMveDg2L0dvcy1saW51eC5jCi0rKysgYi9zcmMveDg2L0dvcy1saW51eC5jCi1AQCAtMjgxLDI3ICsyODEsNyBAQCB4ODZfcl91Y19hZGRyICh1Y29udGV4dF90ICp1YywgaW50IHJlZykKLSBISURERU4gaW50Ci0geDg2X2xvY2FsX3Jlc3VtZSAodW53X2FkZHJfc3BhY2VfdCBhcywgdW53X2N1cnNvcl90ICpjdXJzb3IsIHZvaWQgKmFyZykKLSB7Ci0tICBzdHJ1Y3QgY3Vyc29yICpjID0gKHN0cnVjdCBjdXJzb3IgKikgY3Vyc29yOwotLSAgdWNvbnRleHRfdCAqdWMgPSBjLT51YzsKLS0KLS0gIC8qIEVuc3VyZSBjLT5waSBpcyB1cC10by1kYXRlLiAgT24geDg2LCBpdCdzIHJlbGF0aXZlbHkgY29tbW9uIHRvIGJlCi0tICAgICBtaXNzaW5nIERXQVJGIHVud2luZCBpbmZvLiAgV2UgZG9uJ3Qgd2FudCB0byBmYWlsIGluIHRoYXQgY2FzZSwKLS0gICAgIGJlY2F1c2UgdGhlIGZyYW1lLWNoYWluIHN0aWxsIHdvdWxkIGxldCB1cyBkbyBhIGJhY2t0cmFjZSBhdAotLSAgICAgbGVhc3QuICAqLwotLSAgZHdhcmZfbWFrZV9wcm9jX2luZm8gKCZjLT5kd2FyZik7Ci0tCi0tICBpZiAodW5saWtlbHkgKGMtPnNpZ2NvbnRleHRfZm9ybWF0ICE9IFg4Nl9TQ0ZfTk9ORSkpCi0tICAgIHsKLS0gICAgICBzdHJ1Y3Qgc2lnY29udGV4dCAqc2MgPSAoc3RydWN0IHNpZ2NvbnRleHQgKikgYy0+c2lnY29udGV4dF9hZGRyOwotLQotLSAgICAgIERlYnVnICg4LCAicmVzdW1pbmcgYXQgaXA9JXggdmlhIHNpZ3JldHVybiglcClcbiIsIGMtPmR3YXJmLmlwLCBzYyk7Ci0tICAgICAgc2lncmV0dXJuIChzYyk7Ci0tICAgIH0KLS0gIGVsc2UKLS0gICAgewotLSAgICAgIERlYnVnICg4LCAicmVzdW1pbmcgYXQgaXA9JXggdmlhIHNldGNvbnRleHQoKVxuIiwgYy0+ZHdhcmYuaXApOwotLSAgICAgIHNldGNvbnRleHQgKHVjKTsKLS0gICAgfQotKyAgKih2b2xhdGlsZSBjaGFyICopMD0wOwotICAgcmV0dXJuIC1VTldfRUlOVkFMOwotIH0KLSAjZW5kaWYKLS0tIAotMS44LjMuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMi1iYWNrdHJhY2UtVXNlLW9ubHktd2l0aC1nbGliYy1hbmQtdWNsaWJjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDItYmFja3RyYWNlLVVzZS1vbmx5LXdpdGgtZ2xpYmMtYW5kLXVjbGliYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjg2MmRjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDItYmFja3RyYWNlLVVzZS1vbmx5LXdpdGgtZ2xpYmMtYW5kLXVjbGliYy5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIGI2MTQ0NmFkZDdhZTFjMDQxMjY2YzJmYTViYTJmNTFjYjNiNjVkMzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVGh1LCAzMSBEZWMgMjAxNSAwNjo0NDowNyArMDAwMAorU3ViamVjdDogW1BBVENIIDIvNl0gYmFja3RyYWNlOiBVc2Ugb25seSB3aXRoIGdsaWJjIGFuZCB1Y2xpYmMKKworYmFja3RyYWNlIEFQSSBpcyBnbGliYyBzcGVjaWZpYyBub3QgbGludXggc3BlY2lmaWMKK3NvIG1ha2UgaXQgYmVoYXZlIHNvLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHRlc3RzL3Rlc3QtY29yZWR1bXAtdW53aW5kLmMgfCA0ICsrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0LWNvcmVkdW1wLXVud2luZC5jIGIvdGVzdHMvdGVzdC1jb3JlZHVtcC11bndpbmQuYworaW5kZXggNTM0OTgyMy4uM2IxNTNjYiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3QtY29yZWR1bXAtdW53aW5kLmMKKysrKyBiL3Rlc3RzL3Rlc3QtY29yZWR1bXAtdW53aW5kLmMKK0BAIC01Nyw3ICs1Nyw5IEBACisgI2luY2x1ZGUgPGdycC5oPgorIAorIC8qIEZvciBTSUdTRUdWIGhhbmRsZXIgY29kZSAqLworKyNpZmRlZiBfX0dMSUJDX18KKyAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KKysjZW5kaWYKKyAjaW5jbHVkZSA8c3lzL3Vjb250ZXh0Lmg+CisgCisgI2luY2x1ZGUgPGxpYnVud2luZC1jb3JlZHVtcC5oPgorQEAgLTIzOCwxMSArMjQwLDExIEBAIHZvaWQgaGFuZGxlX3NpZ3NlZ3YoaW50IHNpZywgc2lnaW5mb190ICppbmZvLCB2b2lkICp1Y29udGV4dCkKKyAJCQlpcCk7CisgCisgICB7CisrI2lmZGVmIF9fR0xJQkNfXworICAgICAvKiBnbGliYyBleHRlbnNpb24gKi8KKyAgICAgdm9pZCAqYXJyYXlbNTBdOworICAgICBpbnQgc2l6ZTsKKyAgICAgc2l6ZSA9IGJhY2t0cmFjZShhcnJheSwgNTApOworLSNpZmRlZiBfX2xpbnV4X18KKyAgICAgYmFja3RyYWNlX3N5bWJvbHNfZmQoYXJyYXksIHNpemUsIDIpOworICNlbmRpZgorICAgfQorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDMteDg2LVN0dWItb3V0LXg4Nl9sb2NhbF9yZXN1bWUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMy14ODYtU3R1Yi1vdXQteDg2X2xvY2FsX3Jlc3VtZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDhlZDZhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDMteDg2LVN0dWItb3V0LXg4Nl9sb2NhbF9yZXN1bWUucGF0Y2gKQEAgLTAsMCArMSw1NCBAQAorRnJvbSBmNjg2NmI5ZTRhNjM0MWM1MGViMWQ5MjNkYmY0OGVjYTJjYTQwMTQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjIgTWFyIDIwMTYgMTY6MTk6MjkgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzZdIHg4NjogU3R1YiBvdXQgeDg2X2xvY2FsX3Jlc3VtZSgpCisKK2l0cyBwdXJwb3NlIHNlZW1zCit0byBiZSB1bndpbmRpbmcgYWNyb3NzIHNpZ25hbCBoYW5kbGVyIGJvdW5kYXJpZXMsIHdoaWNoIGNhbm5vdCBoYXBwZW4KK2luIGNvcnJlY3QgcHJvZ3JhbXMgYW55d2F5LiBSZXBsYWNpbmcgdGhlIHdob2xlIGZ1bmN0aW9uIHdpdGgKK3NvbWV0aGluZyBsaWtlICoodm9sYXRpbGUgY2hhciAqKTA9MDsgKGkuZS4gY3Jhc2gpLCBnZXRzIGEgd29ya2luZworbGlidW53aW5kCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tCisgc3JjL3g4Ni9Hb3MtbGludXguYyB8IDIyICstLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3g4Ni9Hb3MtbGludXguYyBiL3NyYy94ODYvR29zLWxpbnV4LmMKK2luZGV4IGZiOWE1ZTMuLmMyNWFlMGMgMTAwNjQ0CistLS0gYS9zcmMveDg2L0dvcy1saW51eC5jCisrKysgYi9zcmMveDg2L0dvcy1saW51eC5jCitAQCAtMjg0LDI3ICsyODQsNyBAQCB4ODZfcl91Y19hZGRyICh1Y29udGV4dF90ICp1YywgaW50IHJlZykKKyBISURERU4gaW50CisgeDg2X2xvY2FsX3Jlc3VtZSAodW53X2FkZHJfc3BhY2VfdCBhcywgdW53X2N1cnNvcl90ICpjdXJzb3IsIHZvaWQgKmFyZykKKyB7CistICBzdHJ1Y3QgY3Vyc29yICpjID0gKHN0cnVjdCBjdXJzb3IgKikgY3Vyc29yOworLSAgdWNvbnRleHRfdCAqdWMgPSBjLT51YzsKKy0KKy0gIC8qIEVuc3VyZSBjLT5waSBpcyB1cC10by1kYXRlLiAgT24geDg2LCBpdCdzIHJlbGF0aXZlbHkgY29tbW9uIHRvIGJlCistICAgICBtaXNzaW5nIERXQVJGIHVud2luZCBpbmZvLiAgV2UgZG9uJ3Qgd2FudCB0byBmYWlsIGluIHRoYXQgY2FzZSwKKy0gICAgIGJlY2F1c2UgdGhlIGZyYW1lLWNoYWluIHN0aWxsIHdvdWxkIGxldCB1cyBkbyBhIGJhY2t0cmFjZSBhdAorLSAgICAgbGVhc3QuICAqLworLSAgZHdhcmZfbWFrZV9wcm9jX2luZm8gKCZjLT5kd2FyZik7CistCistICBpZiAodW5saWtlbHkgKGMtPnNpZ2NvbnRleHRfZm9ybWF0ICE9IFg4Nl9TQ0ZfTk9ORSkpCistICAgIHsKKy0gICAgICBzdHJ1Y3Qgc2lnY29udGV4dCAqc2MgPSAoc3RydWN0IHNpZ2NvbnRleHQgKikgYy0+c2lnY29udGV4dF9hZGRyOworLQorLSAgICAgIERlYnVnICg4LCAicmVzdW1pbmcgYXQgaXA9JXggdmlhIHNpZ3JldHVybiglcClcbiIsIGMtPmR3YXJmLmlwLCBzYyk7CistICAgICAgeDg2X3NpZ3JldHVybiAoc2MpOworLSAgICB9CistICBlbHNlCistICAgIHsKKy0gICAgICBEZWJ1ZyAoOCwgInJlc3VtaW5nIGF0IGlwPSV4IHZpYSBzZXRjb250ZXh0KClcbiIsIGMtPmR3YXJmLmlwKTsKKy0gICAgICBzZXRjb250ZXh0ICh1Yyk7CistICAgIH0KKysgICoodm9sYXRpbGUgY2hhciAqKTA9MDsKKyAgIHJldHVybiAtVU5XX0VJTlZBTDsKKyB9CisgCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwNC1GaXgtYnVpbGQtb24tbWlwcy1tdXNsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDQtRml4LWJ1aWxkLW9uLW1pcHMtbXVzbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjRkMGUwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDQtRml4LWJ1aWxkLW9uLW1pcHMtbXVzbC5wYXRjaApAQCAtMCwwICsxLDg0IEBACitGcm9tIDZiZGFiNWNjOGYxZTJlYzVmODRmYzlmNTlmMTY5OWE3MjY5ODA3MDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyMyBNYXIgMjAxNiAwNjowODo1OSArMDAwMAorU3ViamVjdDogW1BBVENIIDQvNl0gRml4IGJ1aWxkIG9uIG1pcHMvbXVzbAorCitEbyBub3QgaW5jbHVkZSBlbmRpYW4uaCBvbiBtdXNsIGl0IGluY2x1ZGVzCitmdXJ0aGVyIGhlYWRlcnMgd2hpY2ggY2FuIG5vdCBiZSBjb21waWxlZCBpbiBfX0FTU0VNQkxFUl9fCisgbW9kZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKKy0tLQorIHNyYy9jb3JlZHVtcC9fVUNEX2ludGVybmFsLmggfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIHNyYy9taXBzL2dldGNvbnRleHQuUyAgICAgICAgfCAgMyArLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvY29yZWR1bXAvX1VDRF9pbnRlcm5hbC5oIGIvc3JjL2NvcmVkdW1wL19VQ0RfaW50ZXJuYWwuaAoraW5kZXggM2M5NWEyYS4uMjFlZDFjMyAxMDA2NDQKKy0tLSBhL3NyYy9jb3JlZHVtcC9fVUNEX2ludGVybmFsLmgKKysrKyBiL3NyYy9jb3JlZHVtcC9fVUNEX2ludGVybmFsLmgKK0BAIC00NCw2ICs0NCw0MSBAQCBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4gICovCisgCisgI2luY2x1ZGUgImxpYnVud2luZF9pLmgiCisgCisrI2lmbmRlZiBfX0dMSUJDX18KKysjaW5jbHVkZSA8c3lzL3JlZy5oPgorKworKyNkZWZpbmUgRUZfUkVHMAkJCTYKKysjZGVmaW5lIEVGX1JFRzEJCQk3CisrI2RlZmluZSBFRl9SRUcyCQkJOAorKyNkZWZpbmUgRUZfUkVHMwkJCTkKKysjZGVmaW5lIEVGX1JFRzQJCQkxMAorKyNkZWZpbmUgRUZfUkVHNQkJCTExCisrI2RlZmluZSBFRl9SRUc2CQkJMTIKKysjZGVmaW5lIEVGX1JFRzcJCQkxMworKyNkZWZpbmUgRUZfUkVHOAkJCTE0CisrI2RlZmluZSBFRl9SRUc5CQkJMTUKKysjZGVmaW5lIEVGX1JFRzEwCQkxNgorKyNkZWZpbmUgRUZfUkVHMTEJCTE3CisrI2RlZmluZSBFRl9SRUcxMgkJMTgKKysjZGVmaW5lIEVGX1JFRzEzCQkxOQorKyNkZWZpbmUgRUZfUkVHMTQJCTIwCisrI2RlZmluZSBFRl9SRUcxNQkJMjEKKysjZGVmaW5lIEVGX1JFRzE2CQkyMgorKyNkZWZpbmUgRUZfUkVHMTcJCTIzCisrI2RlZmluZSBFRl9SRUcxOAkJMjQKKysjZGVmaW5lIEVGX1JFRzE5CQkyNQorKyNkZWZpbmUgRUZfUkVHMjAJCTI2CisrI2RlZmluZSBFRl9SRUcyMQkJMjcKKysjZGVmaW5lIEVGX1JFRzIyCQkyOAorKyNkZWZpbmUgRUZfUkVHMjMJCTI5CisrI2RlZmluZSBFRl9SRUcyNAkJMzAKKysjZGVmaW5lIEVGX1JFRzI1CQkzMQorKyNkZWZpbmUgRUZfUkVHMjgJCTM0CisrI2RlZmluZSBFRl9SRUcyOQkJMzUKKysjZGVmaW5lIEVGX1JFRzMwCQkzNgorKyNkZWZpbmUgRUZfUkVHMzEJCTM3CisrI2VuZGlmCisrCisgCisgI2lmIFNJWkVPRl9PRkZfVCA9PSA0CisgdHlwZWRlZiB1aW50MzJfdCB1b2ZmX3Q7CitkaWZmIC0tZ2l0IGEvc3JjL21pcHMvZ2V0Y29udGV4dC5TIGIvc3JjL21pcHMvZ2V0Y29udGV4dC5TCitpbmRleCBkMWRiZDU3Li5kZTliNjgxIDEwMDY0NAorLS0tIGEvc3JjL21pcHMvZ2V0Y29udGV4dC5TCisrKysgYi9zcmMvbWlwcy9nZXRjb250ZXh0LlMKK0BAIC0yNCwxMiArMjQsMTEgQEAgT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OCisgV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuICAqLworIAorICNpbmNsdWRlICJvZmZzZXRzLmgiCistI2luY2x1ZGUgPGVuZGlhbi5oPgorIAorIAkudGV4dAorIAorICNpZiBfTUlQU19TSU0gPT0gX0FCSU8zMgorLSMgaWYgX19CWVRFX09SREVSID09IF9fQklHX0VORElBTgorKyMgaWYgX19CWVRFX09SREVSX18gPT0gX19PUkRFUl9CSUdfRU5ESUFOX18KKyAjICBkZWZpbmUgT0ZGU0VUIDQKKyAjIGVsc2UKKyAjICBkZWZpbmUgT0ZGU0VUIDAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDA1LXBwYzMyLUNvbnNpZGVyLXVjb250ZXh0LW1pc21hdGNoZXMtYmV0d2Vlbi1nbGliYy1hbmQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwNS1wcGMzMi1Db25zaWRlci11Y29udGV4dC1taXNtYXRjaGVzLWJldHdlZW4tZ2xpYmMtYW5kLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkYWE4MjIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwNS1wcGMzMi1Db25zaWRlci11Y29udGV4dC1taXNtYXRjaGVzLWJldHdlZW4tZ2xpYmMtYW5kLnBhdGNoCkBAIC0wLDAgKzEsMjQ5IEBACitGcm9tIDAyOTE5ZDc0YjE1OTk5Nzk4ODRmOWNlZTQ2NmVkMzkyZDlmYzQ4MTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogU2F0LCA5IEp1bCAyMDE2IDAxOjA3OjUzICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggNS82XSBwcGMzMjogQ29uc2lkZXIgdWNvbnRleHQgbWlzbWF0Y2hlcyBiZXR3ZWVuIGdsaWJjIGFuZAorIG11c2wKKworVGhpcyBoZWxwcyBpbiBwb3J0aW5nIGxpYnVud2luZCBvbnRvIG11c2wgYmFzZWQgc3lzdGVtcworcHRyYWNlLmggY2hhbmdlIGlzIHJlcXVpcmVkIGFnYWluIGFuIGVycm9yIHRoYXQgc3VyZmFjZXMKK3dpdGggbXVzbAorCisvbW50L29lL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1tdXNsL3N5c3Jvb3RzL3FlbXVwcGMvdXNyL2luY2x1ZGUvYXNtL3B0cmFjZS5oOjMxOjg6IGVycm9yOiByZWRlZmluaXRpb24gb2YgJ3N0cnVjdCBwdF9yZWdzJworIHN0cnVjdCBwdF9yZWdzIHsKKyAgICAgICAgXn5+fn5+fgorSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9tbnQvb2Uvb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLW11c2wvc3lzcm9vdHMvcWVtdXBwYy91c3IvaW5jbHVkZS9zeXMvdXNlci5oOjExOjAsCisgICAgICAgICAgICAgICAgIGZyb20gL21udC9vZS9vcGVuZW1iZWRkZWQtY29yZS9idWlsZC90bXAtbXVzbC9zeXNyb290cy9xZW11cHBjL3Vzci9pbmNsdWRlL3N5cy9wcm9jZnMuaDo5LAorICAgICAgICAgICAgICAgICBmcm9tIC4uLy4uL2dpdC9zcmMvcHRyYWNlL19VUFRfaW50ZXJuYWwuaDo0MCwKKyAgICAgICAgICAgICAgICAgZnJvbSAuLi8uLi9naXQvc3JjL3B0cmFjZS9fVVBUX3JlZ19vZmZzZXQuYzoyNzoKKy9tbnQvb2Uvb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLW11c2wvc3lzcm9vdHMvcWVtdXBwYy91c3IvaW5jbHVkZS9iaXRzL3VzZXIuaDoxOjg6IG5vdGU6IG9yaWdpbmFsbHkgZGVmaW5lZCBoZXJlCisgc3RydWN0IHB0X3JlZ3MgeworICAgICAgICBefn5+fn5+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tCisgc3JjL3BwYzMyL0dpbml0LmMgICAgICAgICAgICB8ICAgNiArLQorIHNyYy9wcGMzMi91Y29udGV4dF9pLmggICAgICAgfCAxNTggKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KKyBzcmMvcHRyYWNlL19VUFRfcmVnX29mZnNldC5jIHwgICA3ICsrCisgMyBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25zKCspLCA3OSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9wcGMzMi9HaW5pdC5jIGIvc3JjL3BwYzMyL0dpbml0LmMKK2luZGV4IGJhMzAyNDQuLmM1MzEyZDkgMTAwNjQ0CistLS0gYS9zcmMvcHBjMzIvR2luaXQuYworKysrIGIvc3JjL3BwYzMyL0dpbml0LmMKK0BAIC00OCwxMiArNDgsMTIgQEAgdWNfYWRkciAodWNvbnRleHRfdCAqdWMsIGludCByZWcpCisgICB2b2lkICphZGRyOworIAorICAgaWYgKCh1bnNpZ25lZCkgKHJlZyAtIFVOV19QUEMzMl9SMCkgPCAzMikKKy0gICAgYWRkciA9ICZ1Yy0+dWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbcmVnIC0gVU5XX1BQQzMyX1IwXTsKKysgICAgYWRkciA9ICZ1Yy0+R0VUX1VDX1JFR1MtPmdyZWdzW3JlZyAtIFVOV19QUEMzMl9SMF07CisgCisgICBlbHNlCisgICBpZiAoICgodW5zaWduZWQpIChyZWcgLSBVTldfUFBDMzJfRjApIDwgMzIpICYmCisgICAgICAgICgodW5zaWduZWQpIChyZWcgLSBVTldfUFBDMzJfRjApID49IDApICkKKy0gICAgYWRkciA9ICZ1Yy0+dWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1tyZWcgLSBVTldfUFBDMzJfRjBdOworKyAgICBhZGRyID0gJnVjLT5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1tyZWcgLSBVTldfUFBDMzJfRjBdOworIAorICAgZWxzZQorICAgICB7CitAQCAtNzYsNyArNzYsNyBAQCB1Y19hZGRyICh1Y29udGV4dF90ICp1YywgaW50IHJlZykKKyAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgfQorLSAgICAgIGFkZHIgPSAmdWMtPnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW2dyZWdzX2lkeF07CisrICAgICAgYWRkciA9ICZ1Yy0+R0VUX1VDX1JFR1MtPmdyZWdzW2dyZWdzX2lkeF07CisgICAgIH0KKyAgIHJldHVybiBhZGRyOworIH0KK2RpZmYgLS1naXQgYS9zcmMvcHBjMzIvdWNvbnRleHRfaS5oIGIvc3JjL3BwYzMyL3Vjb250ZXh0X2kuaAoraW5kZXggYzZiYTgwNi4uYjc5ZjE1YyAxMDA2NDQKKy0tLSBhL3NyYy9wcGMzMi91Y29udGV4dF9pLmgKKysrKyBiL3NyYy9wcGMzMi91Y29udGV4dF9pLmgKK0BAIC00Niw4MyArNDYsODkgQEAgV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuICAqLworICAgIHZhcmlvdXMgc3RydWN0dXJlIG1lbWJlcnMuICovCisgc3RhdGljIHVjb250ZXh0X3QgZG15X2N0eHQgVU5VU0VEOworIAorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzNdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1I1ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1s1XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzZdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1I4ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1s4XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzldIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzEwXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjExICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxMiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTJdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzEzXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE0ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxNSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTVdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzE2XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE3ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxOCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMThdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzE5XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIwICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjFdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzIyXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIzICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjRdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzI1XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI2ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjddIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzI4XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI5ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IzMCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMzEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzMxXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNpZmRlZiBfX0dMSUJDX18KKysjZGVmaW5lIEdFVF9VQ19SRUdTIHVjX21jb250ZXh0LnVjX3JlZ3MKKysjZWxzZQorKyNkZWZpbmUgR0VUX1VDX1JFR1MgdWNfcmVncworKyNlbmRpZgorKworKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1swXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1szXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s0XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjUgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s1XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjYgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s2XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s3XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjggKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s4XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjkgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1s5XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTBdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxMiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzEyXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTNdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxNSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzE1XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE2ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTZdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxOCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzE4XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE5ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTldIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzIxXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIyICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjJdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzI0XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI1ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjVdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjYgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzI3XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI4ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjhdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjkgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IzMCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzMwXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMxICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCisgCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19NU1IgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW01TUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19PUklHX0dQUjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW09SSUdfR1BSM19JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19DVFIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW0NUUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19MSU5LICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tMSU5LX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1hFUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbWEVSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0NDUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbQ0NSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1NPRlRFICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tTT0ZURV9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19UUkFQICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tUUkFQX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0RBUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbREFSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0RTSVNSICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tEU0lTUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SRVNVTFQgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW1JFU1VMVF9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19NU1IgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tNU1JfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfT1JJR19HUFIzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbT1JJR19HUFIzX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0NUUiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzW0NUUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19MSU5LICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbTElOS19JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19YRVIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tYRVJfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfQ0NSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbQ0NSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1NPRlRFICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbU09GVEVfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfVFJBUCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzW1RSQVBfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfREFSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbREFSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0RTSVNSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbRFNJU1JfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUkVTVUxUICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbUkVTVUxUX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKyAKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IwICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IzICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzNdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1s0XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I2ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzZdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1s3XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I5ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzldIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTBdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTFdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTJdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTNdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTQgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTRdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTVdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTZdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTcgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTddIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMThdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMTldIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjBdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjFdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjJdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjNdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjQgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjRdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjVdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjZdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjcgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjddIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjhdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMjldIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMzAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMzEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19GUFNDUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1szMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1swXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1szXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzRdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I2ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1s2XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzddIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SOCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I5ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1s5XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjEwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTFdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzEyXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjEzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTRdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTUgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzE1XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjE2ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTddIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTggKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzE4XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjE5ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjBdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzIxXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjIyICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjNdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzI0XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjI1ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjZdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjcgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzI3XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjI4ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyOSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjldIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMzAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzMwXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjMxICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1szMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX0ZQU0NSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1szMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKyAKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9zcmMvcHRyYWNlL19VUFRfcmVnX29mZnNldC5jIGIvc3JjL3B0cmFjZS9fVVBUX3JlZ19vZmZzZXQuYworaW5kZXggYzgyZDFjOS4uNmMzMWJhYSAxMDA2NDQKKy0tLSBhL3NyYy9wdHJhY2UvX1VQVF9yZWdfb2Zmc2V0LmMKKysrKyBiL3NyYy9wdHJhY2UvX1VQVF9yZWdfb2Zmc2V0LmMKK0BAIC0yNyw2ICsyNywxMyBAQCBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4gICovCisgI2luY2x1ZGUgIl9VUFRfaW50ZXJuYWwuaCIKKyAKKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKysjIGRlZmluZSBwdF9yZWdzIHVhcGlfcHRfcmVncworKyNlbmRpZgorKyNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKysjIHVuZGVmIHB0X3JlZ3MKKysjZW5kaWYKKyAKKyAjaWZkZWYgSEFWRV9BU01fUFRSQUNFX09GRlNFVFNfSAorICMgaW5jbHVkZSA8YXNtL3B0cmFjZV9vZmZzZXRzLmg+CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwNi1GaXgtZm9yLVgzMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDA2LUZpeC1mb3ItWDMyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YWU4MTIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwNi1GaXgtZm9yLVgzMi5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIDdhNGZkNTkzM2NjNzk1ZGY4NWNkZDg1MTY4ZmU1NGZiYWVjNGRjZWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgorRGF0ZTogVHVlLCAxMyBEZWMgMjAxNiAwOTo1MDozNCAtMDcwMAorU3ViamVjdDogW1BBVENIIDYvNl0gRml4IGZvciBYMzIKKworQXBwbHkgcGF0Y2ggdG8gZml4IHRoZSBYMzIgYnVpbGQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vc2puZXdidXJ5L3gzMi4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgorCistLS0KKyBzcmMveDg2XzY0L0dvcy1saW51eC5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy94ODZfNjQvR29zLWxpbnV4LmMgYi9zcmMveDg2XzY0L0dvcy1saW51eC5jCitpbmRleCBiZDE0MjM0Li5iZTFjYjViIDEwMDY0NAorLS0tIGEvc3JjL3g4Nl82NC9Hb3MtbGludXguYworKysrIGIvc3JjL3g4Nl82NC9Hb3MtbGludXguYworQEAgLTE0NSw4ICsxNDUsOCBAQCB4ODZfNjRfc2lncmV0dXJuICh1bndfY3Vyc29yX3QgKmN1cnNvcikKKyAKKyAgIERlYnVnICg4LCAicmVzdW1pbmcgYXQgaXA9JWxseCB2aWEgc2lncmV0dXJuKCVwKVxuIiwKKyAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcgbG9uZykgYy0+ZHdhcmYuaXAsIHNjKTsKKy0gIF9fYXNtX18gX192b2xhdGlsZV9fICgibW92ICUwLCAlJXJzcDsiCistICAgICAgICAgICAgICAgICAgICAgICAgIm1vdiAlMSwgJSVyYXg7IgorKyAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJtb3YgJXEwLCAlJXJzcDsiCisrICAgICAgICAgICAgICAgICAgICAgICAgIm1vdiAlcTEsICUlcmF4OyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAic3lzY2FsbCIKKyAgICAgICAgICAgICAgICAgICAgICAgICA6OiAiciIoc2MpLCAiaSIoU1lTX3J0X3NpZ3JldHVybikKKyAgICAgICAgICAgICAgICAgICAgICAgICA6ICJtZW1vcnkiKTsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC9BZGQtQU9fUkVRVUlSRV9DQVMtdG8tZml4LWJ1aWxkLW9uLUFSTS12Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC9BZGQtQU9fUkVRVUlSRV9DQVMtdG8tZml4LWJ1aWxkLW9uLUFSTS12Ni5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzhmYWNhNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvQWRkLUFPX1JFUVVJUkVfQ0FTLXRvLWZpeC1idWlsZC1vbi1BUk0tdjYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi1Gcm9tIDI0NDg0ZTgwYjNlMzI5YzllZGVlMTk5NWUxMDJmODYxMmVlZGI3OWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUaG9tYXMgUGV0YXp6b25pIDx0aG9tYXMucGV0YXp6b25pQGZyZWUtZWxlY3Ryb25zLmNvbT4KLURhdGU6IFR1ZSwgMTMgTWF5IDIwMTQgMjM6MzI6MjcgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gQWRkIEFPX1JFUVVJUkVfQ0FTIHRvIGZpeCBidWlsZCBvbiBBUk0gPCB2NgotCi1BUk0gZWFybGllciB0aGFuIEFSTXY2LCBzdWNoIGFzIEFSTXY0IGFuZCBBUk12NSBkbyBub3QgcHJvdmlkZQotb3B0aW1pemUgYXRvbWljIG9wZXJhdGlvbnMgaW4gbGliYXRvbWljX29wcy4gU2luY2UgbGlidW53aW5kIGlzIHVzaW5nCi1zdWNoIG9wZXJhdGlvbnMsIGl0IHNob3VsZCBkZWZpbmUgQU9fUkVRVUlSRV9DQVMgYmVmb3JlIGluY2x1ZGluZwotPGF0b21pY19vcHMuaD4gc28gdGhhdCBsaWJhdG9taWNfb3BzIGtub3dzIGl0IHNob3VsZCB1c2UgZW11bGF0ZWQKLWF0b21pYyBvcGVyYXRpb25zIGluc3RlYWQgKGV2ZW4gdGhvdWdoIHRoZXkgYXJlIG9idmlvdXNseSBhIGxvdCBtb3JlCi1leHBlbnNpdmUpLgotCi1BbHNvLCB3aGlsZSByZWFsIGF0b21pYyBvcGVyYXRpb25zIGFyZSBhbGwgaW5saW5lIGZ1bmN0aW9ucyBhbmQKLXRoZXJlZm9yZSBsaW5raW5nIGFnYWluc3QgbGliYXRvbWljX29wcyB3YXMgbm90IHJlcXVpcmVkLCB0aGUgZW11bGF0ZWQKLWF0b21pYyBvcGVyYXRpb25zIGFjdHVhbGx5IHJlcXVpcmUgbGlua2luZyBhZ2FpbnN0IGxpYmF0b21pY19vcHMsIHNvCi10aGUgY29tbWVudGVkIEFDX0NIRUNLX0xJQiB0ZXN0IGluIGFjaW5jbHVkZS5tNCBpcyB1bmNvbW1lbnRlZCB0byBtYWtlCi1zdXJlIHdlIGxpbmsgYWdhaW5zdCBsaWJhdG9taWNfb3BzLgotCi1TaWduZWQtb2ZmLWJ5OiBUaG9tYXMgUGV0YXp6b25pIDx0aG9tYXMucGV0YXp6b25pQGZyZWUtZWxlY3Ryb25zLmNvbT4KLVNpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1UYWtlbiBmcm9tOgotaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3JkbmV0dG8vdGVhcG90LWJ1aWxkcm9vdC9tYXN0ZXIvcGFja2FnZS9saWJ1bndpbmQvbGlidW53aW5kLTAyLUFkZC1BT19SRVFVSVJFX0NBUy10by1maXgtYnVpbGQtb24tQVJNLXY2LnBhdGNoCi0KLS0tLQotIGFjaW5jbHVkZS5tNCAgICAgICAgICB8IDggKy0tLS0tLS0KLSBpbmNsdWRlL2xpYnVud2luZF9pLmggfCAxICsKLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotSW5kZXg6IGxpYnVud2luZC0xLjIuMS9hY2luY2x1ZGUubTQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaWJ1bndpbmQtMS4yLjEub3JpZy9hY2luY2x1ZGUubTQKLSsrKyBsaWJ1bndpbmQtMS4yLjEvYWNpbmNsdWRlLm00Ci1AQCAtMjIsMTEgKzIyLDUgQEAgZmldKQotIEFDX0RFRlVOKFtDSEVDS19BVE9NSUNfT1BTXSwKLSBbZG5sIENoZWNrIHdoZXRoZXIgdGhlIHN5c3RlbSBoYXMgdGhlIGF0b21pY19vcHMgcGFja2FnZSBpbnN0YWxsZWQuCi0gICBBQ19DSEVDS19IRUFERVJTKGF0b21pY19vcHMuaCkKLS0jCi0tIyBEb24ndCBsaW5rIGFnYWluc3QgbGliYXRvbWljX29wcyBmb3Igbm93LiAgV2UgZG9uJ3Qgd2FudCBsaWJ1bndpbmQKLS0jIHRvIGRlcGVuZCBvbiBsaWJhdG9taWNfb3BzLnNvLiAgRm9ydHVuYXRlbHksIG5vbmUgb2YgdGhlIHBsYXRmb3JtcwotLSMgd2UgY2FyZSBhYm91dCBzbyBmYXIgbmVlZCBsaWJhdG9taWNfb3BzLmEgKGV2ZXJ5dGhpbmcgaXMgZG9uZSB2aWEKLS0jIGlubGluZSBtYWNyb3MpLgotLSMKLS0jICBBQ19DSEVDS19MSUIoYXRvbWljX29wcywgbWFpbikKLSsgIEFDX0NIRUNLX0xJQihhdG9taWNfb3BzLCBtYWluKQotIF0pCi1JbmRleDogbGlidW53aW5kLTEuMi4xL2luY2x1ZGUvbGlidW53aW5kX2kuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpYnVud2luZC0xLjIuMS5vcmlnL2luY2x1ZGUvbGlidW53aW5kX2kuaAotKysrIGxpYnVud2luZC0xLjIuMS9pbmNsdWRlL2xpYnVud2luZF9pLmgKLUBAIC0xMTYsNiArMTE2LDcgQEAgV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERQotICAgICAgICAgKHB0aHJlYWRfbXV0ZXhfdW5sb2NrICE9IE5VTEwgPyBwdGhyZWFkX211dGV4X3VubG9jayAobCkgOiAwKQotIAotICNpZmRlZiBIQVZFX0FUT01JQ19PUFNfSAotKyMgZGVmaW5lIEFPX1JFUVVJUkVfQ0FTCi0gIyBpbmNsdWRlIDxhdG9taWNfb3BzLmg+Ci0gc3RhdGljIGlubGluZSBpbnQKLSBjbXB4Y2hnX3B0ciAodm9pZCAqYWRkciwgdm9pZCAqb2xkLCB2b2lkICpuZXcpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvbGlidW53aW5kLTEuMS14MzIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvbGlidW53aW5kLTEuMS14MzIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyNTE2NDYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kL2xpYnVud2luZC0xLjEteDMyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSA1MDZiZDM3YmQ1ODBkNzM4MmQ3YzU4MjU3ZGFjNGIxZTUwMmE4ODdjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hyaXN0b3BoZXIgTGFyc29uIDxjaHJpc19sYXJzb25AbWVudG9yLmNvbT4KLURhdGU6IFR1ZSwgMTMgRGVjIDIwMTYgMDk6NTA6MzQgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGZvciBYMzIKLQotQXBwbHkgcGF0Y2ggdG8gZml4IHRoZSBYMzIgYnVpbGQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vc2puZXdidXJ5L3gzMi4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgotLS0tCi0gc3JjL3g4Nl82NC9Hb3MtbGludXguYyB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMveDg2XzY0L0dvcy1saW51eC5jIGIvc3JjL3g4Nl82NC9Hb3MtbGludXguYwotaW5kZXggOWUxYWNmYy4uODE2OWQ1YSAxMDA2NDQKLS0tLSBhL3NyYy94ODZfNjQvR29zLWxpbnV4LmMKLSsrKyBiL3NyYy94ODZfNjQvR29zLWxpbnV4LmMKLUBAIC0xNDMsOCArMTQzLDggQEAgeDg2XzY0X3NpZ3JldHVybiAodW53X2N1cnNvcl90ICpjdXJzb3IpCi0gCi0gICBEZWJ1ZyAoOCwgInJlc3VtaW5nIGF0IGlwPSVsbHggdmlhIHNpZ3JldHVybiglcClcbiIsCi0gICAgICAgICAgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpIGMtPmR3YXJmLmlwLCBzYyk7Ci0tICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoIm1vdiAlMCwgJSVyc3A7IgotLSAgICAgICAgICAgICAgICAgICAgICAgICJtb3YgJTEsICUlcmF4OyIKLSsgIF9fYXNtX18gX192b2xhdGlsZV9fICgibW92ICVxMCwgJSVyc3A7IgotKyAgICAgICAgICAgICAgICAgICAgICAgICJtb3YgJXExLCAlJXJheDsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgInN5c2NhbGwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgOjogInIiKHNjKSwgImkiKFNZU19ydF9zaWdyZXR1cm4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgOiAibWVtb3J5Iik7Ci0tLSAKLTIuOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZF8xLjIuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZF8xLjIuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTdmYjJiMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmRfMS4yLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1yZXF1aXJlIGxpYnVud2luZC5pbmMKLQotU1JDX1VSSVttZDVzdW1dID0gIjA2YmE5ZTYwZDkyZmQ2ZjU1Y2Q5ZGFkYjA4NGRmMTllIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNmM2VjYjkwZTI4Y2JlNTNmYmE3YTRhMjdjY2NlN2FhZDE4OGQzMjEwYmIxOTY0YTkyM2E3MzFhMjdhNzVhY2IiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnNhdmFubmFoLm5vbmdudS5vcmcvcmVsZWFzZXMvbGlidW53aW5kL2xpYnVud2luZC0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vQWRkLUFPX1JFUVVJUkVfQ0FTLXRvLWZpeC1idWlsZC1vbi1BUk0tdjYucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1iYWNrdHJhY2UtVXNlLW9ubHktd2l0aC1nbGliYy1hbmQtdWNsaWJjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEteDg2LVN0dWItb3V0LXg4Nl9sb2NhbF9yZXN1bWUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtYnVpbGQtb24tbWlwcy1tdXNsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtYWRkLWtub2JzLXRvLWRpc2FibGUtZW5hYmxlLXRlc3RzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtcHBjMzItQ29uc2lkZXItdWNvbnRleHQtbWlzbWF0Y2hlcy1iZXR3ZWVuLWdsaWJjLWFuZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9saWJ1bndpbmQtMS4xLXgzMi5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vbXVzbC1oZWFkZXItY29uZmxpY3QucGF0Y2giCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gLS1kaXNhYmxlLXRlc3RzICIKLQotIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjA0ODcvCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgotCi1MREZMQUdTICs9ICItV2wsLXoscmVscm8sLXosbm93ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICcgLWZ1c2UtbGQ9YmZkICcsICcnLCBkKX0iCi0KLVNFQ1VSSVRZX0xERkxBR1NfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLWxzc3Bfbm9uc2hhcmVkIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kXzEuMy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kXzEuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzN2UwNGMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmRfMS4zLjEuYmIKQEAgLTAsMCArMSwyNCBAQAorcmVxdWlyZSBsaWJ1bndpbmQuaW5jCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnNhdmFubmFoLm5vbmdudS5vcmcvcmVsZWFzZXMvbGlidW53aW5kL2xpYnVud2luZC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtQU9fUkVRVUlSRV9DQVMtdG8tZml4LWJ1aWxkLW9uLUFSTS12Ni5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWJhY2t0cmFjZS1Vc2Utb25seS13aXRoLWdsaWJjLWFuZC11Y2xpYmMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy14ODYtU3R1Yi1vdXQteDg2X2xvY2FsX3Jlc3VtZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LUZpeC1idWlsZC1vbi1taXBzLW11c2wucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1wcGMzMi1Db25zaWRlci11Y29udGV4dC1taXNtYXRjaGVzLWJldHdlZW4tZ2xpYmMtYW5kLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtRml4LWZvci1YMzIucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIGZpbGU6Ly9tdXNsLWhlYWRlci1jb25mbGljdC5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImEwNGY2OWQ2NmQ4ZTE2ZjhiZjNhYjcyYTY5MTEyY2Q2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQzOTk3YTM5MzliNmNjZGYyZjY2OWI1MGZkYjhhNGQzMjA1Mzc0NzI4YzI5MjNkZGMyMzU0YzY1MjYwMjE0ZjgiCisKK0VYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsID0gIiAtLWRpc2FibGUtZG9jdW1lbnRhdGlvbiAtLWRpc2FibGUtdGVzdHMgLS1lbmFibGUtc3RhdGljIgorCisjIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy8yMDQ4Ny8KK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCisKK0xERkxBR1MgKz0gIi1XbCwteixyZWxybywteixub3cgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZC1pcy1nb2xkJywgJyAtZnVzZS1sZD1iZmQgJywgJycsIGQpfSIKKworU0VDVVJJVFlfTERGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtbHNzcF9ub25zaGFyZWQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVyY3UvbGlidXJjdV8wLjEwLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVyY3UvbGlidXJjdV8wLjEwLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlYjkxZTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1cmN1L2xpYnVyY3VfMC4xMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotU1VNTUFSWSA9ICJVc2Vyc3BhY2UgUkNVIChyZWFkLWNvcHktdXBkYXRlKSBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL2x0dG5nLm9yZy91cmN1IgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vbHR0bmcub3JnL3Byb2plY3QvaXNzdWVzIgotCi1MSUNFTlNFID0gIkxHUEx2Mi4xKyAmIE1JVC1zdHlsZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWU1NDhkMjg3MzcyODlkNzVhOGYxZTAxYmEyZmQ3ODI1IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy91cmN1Lmg7YmVnaW5saW5lPTQ7ZW5kbGluZT0zMjttZDU9NGRlMGQ2OGQzYTk5NzY0MzcxNTAzNmQyMjA5YWUxZDkgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vaW5jbHVkZS91cmN1L3VhdG9taWMveDg2Lmg7YmVnaW5saW5lPTQ7ZW5kbGluZT0yMTttZDU9NThlNTBiYmQ4YTJmMDczYmI1NTAwZTY1NTRhZjBkMGIiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2x0dG5nLm9yZy9maWxlcy91cmN1L3VzZXJzcGFjZS1yY3UtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9BZGQtc3VwcG9ydC1mb3ItdGhlLVJJU0MtVi1hcmNoaXRlY3R1cmUucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIyODFhMmY5MmZkYzM5YzQwYWQ2Yjc2ZjY2MzFmZGJkNyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5YzA5MjIwYmU0NDM1ZGMyN2ZjZDIyZDI5MTcwN2I5NGI5N2YxNTllMGM0NDJmYmNkNjBjMTY4ZjhmNzllYjA2IgotCi1TID0gIiR7V09SS0RJUn0vdXNlcnNwYWNlLXJjdS0ke1BWfSIKLWluaGVyaXQgYXV0b3Rvb2xzIG11bHRpbGliX2hlYWRlcgotCi1DUFBGTEFHU19hcHBlbmRfcmlzY3Y2NCAgPSAiIC1wdGhyZWFkIC1EX1JFRU5UUkFOVCIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgb2VfbXVsdGlsaWJfaGVhZGVyIHVyY3UvY29uZmlnLmgKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidXJjdS9saWJ1cmN1XzAuMTAuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidXJjdS9saWJ1cmN1XzAuMTAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGI2ZTIzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1cmN1L2xpYnVyY3VfMC4xMC4yLmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiVXNlcnNwYWNlIFJDVSAocmVhZC1jb3B5LXVwZGF0ZSkgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9sdHRuZy5vcmcvdXJjdSIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2x0dG5nLm9yZy9wcm9qZWN0L2lzc3VlcyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSsgJiBNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1lNTQ4ZDI4NzM3Mjg5ZDc1YThmMWUwMWJhMmZkNzgyNSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvdXJjdS5oO2JlZ2lubGluZT00O2VuZGxpbmU9MzI7bWQ1PTRkZTBkNjhkM2E5OTc2NDM3MTUwMzZkMjIwOWFlMWQ5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2luY2x1ZGUvdXJjdS91YXRvbWljL3g4Ni5oO2JlZ2lubGluZT00O2VuZGxpbmU9MjE7bWQ1PTU4ZTUwYmJkOGEyZjA3M2JiNTUwMGU2NTU0YWYwZDBiIgorCitTUkNfVVJJID0gImh0dHA6Ly9sdHRuZy5vcmcvZmlsZXMvdXJjdS91c2Vyc3BhY2UtcmN1LSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vQWRkLXN1cHBvcnQtZm9yLXRoZS1SSVNDLVYtYXJjaGl0ZWN0dXJlLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiN2M0MjRjNTE4M2VjMDA5ZDg3ZTBmNzBjMjNlOTJmMWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjNmNjg4OGRhZjZmZTAyYzFmODA5N2Y0YTA4OThlNDFiNWZlOTk3NWUxMjFkYzc5MmI5ZGRlZjRiMTcyNjFjYyIKKworUyA9ICIke1dPUktESVJ9L3VzZXJzcGFjZS1yY3UtJHtQVn0iCitpbmhlcml0IGF1dG90b29scyBtdWx0aWxpYl9oZWFkZXIKKworQ1BQRkxBR1NfYXBwZW5kX3Jpc2N2NjQgID0gIiAtcHRocmVhZCAtRF9SRUVOVFJBTlQiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIG9lX211bHRpbGliX2hlYWRlciB1cmN1L2NvbmZpZy5oCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYi9saWJ1c2IxXzEuMC4yMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiL2xpYnVzYjFfMS4wLjIyLmJiCmluZGV4IDBjNmUxMTYuLjFkOWQ3NzIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiL2xpYnVzYjFfMS4wLjIyLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiL2xpYnVzYjFfMS4wLjIyLmJiCkBAIC0yMCw5ICsyMCwxMCBAQAogCiBpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcHRlc3QKIAotIyBEb24ndCBjb25maWd1cmUgdWRldiBieSBkZWZhdWx0IHNpbmNlIGl0IHdpbGwgY2F1c2UgYSBjaXJjdWxhcgotIyBkZXBlbmRlY3kgd2l0aCB1ZGV2IHBhY2thZ2UsIHdoaWNoIGRlcGVuZHMgb24gbGlidXNiCi1FWFRSQV9PRUNPTkYgPSAiLS1saWJkaXI9JHtiYXNlX2xpYmRpcn0gLS1kaXNhYmxlLXVkZXYiCitQQUNLQUdFQ09ORklHX2NsYXNzLXRhcmdldCA/Pz0gInVkZXYiCitQQUNLQUdFQ09ORklHW3VkZXZdID0gIi0tZW5hYmxlLXVkZXYsLS1kaXNhYmxlLXVkZXYsdWRldiIKKworRVhUUkFfT0VDT05GID0gIi0tbGliZGlyPSR7YmFzZV9saWJkaXJ9IgogCiBkb19pbnN0YWxsX2FwcGVuZCgpIHsKIAlpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlieHNsdC9saWJ4c2x0L2ZpeC1ydnRzLWhhbmRsaW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ4c2x0L2xpYnhzbHQvZml4LXJ2dHMtaGFuZGxpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhM2FlNTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ4c2x0L2xpYnhzbHQvZml4LXJ2dHMtaGFuZGxpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi1saWJ4c2x0LTEuMS4zMjogRml4IGhhbmRsaW5nIG9mIFJWVHMgcmV0dXJuZWQgZnJvbSBuZXN0ZWQgRVhTTFQgZnVuY3Rpb25zCi0KLVtObyB1cHN0cmVhbSB0cmFja2luZ10gLS0gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjU4MAotCi1TZXQgdGhlIGNvbnRleHQgdmFyaWFibGUgdG8gTlVMTCB3aGVuIGV2YWx1YXRpbmcgRVhTTFQgZnVuY3Rpb25zLgotRml4ZXMgcG90ZW50aWFsIHVzZS1hZnRlci1mcmVlIGVycm9ycyBvciBtZW1vcnkgbGVha3MuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9saWJ4c2x0L2NvbW1pdC84YmQzMmY3NzUzYWMyNTNhNTQyNzlhMGI2YTg4ZDE1YTU3MDc2YmIwXQotYnVnOiA3OTI1ODAKLVNpZ25lZC1vZmYtYnk6IEFuZHJlaiBWYWxlayA8YW5kcmVqLnZhbGVrQHNpZW1lbnMuY29tPgotCi1kaWZmIC0tZ2l0IGEvbGliZXhzbHQvZnVuY3Rpb25zLmMgYi9saWJleHNsdC9mdW5jdGlvbnMuYwotaW5kZXggZGM3OTRlMy4uODUxMWNiMCAxMDA2NDQKLS0tLSBhL2xpYmV4c2x0L2Z1bmN0aW9ucy5jCi0rKysgYi9saWJleHNsdC9mdW5jdGlvbnMuYwotQEAgLTI4MCw2ICsyODAsNyBAQCBleHNsdEZ1bmNGdW5jdGlvbkZ1bmN0aW9uICh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7Ci0gICAgIGV4c2x0RnVuY0Z1bmN0aW9uRGF0YSAqZnVuYzsKLSAgICAgeG1sTm9kZVB0ciBwYXJhbU5vZGUsIG9sZEluc2VydCwgZmFrZTsKLSAgICAgaW50IG9sZEJhc2U7Ci0rICAgIHZvaWQgKm9sZEN0eHRWYXI7Ci0gICAgIHhzbHRTdGFja0VsZW1QdHIgcGFyYW1zID0gTlVMTCwgcGFyYW07Ci0gICAgIHhzbHRUcmFuc2Zvcm1Db250ZXh0UHRyIHRjdHh0ID0geHNsdFhQYXRoR2V0VHJhbnNmb3JtQ29udGV4dChjdHh0KTsKLSAgICAgaW50IGksIG5vdFNldDsKLUBAIC00MTgsMTEgKzQxOSwxNCBAQCBleHNsdEZ1bmNGdW5jdGlvbkZ1bmN0aW9uICh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7Ci0gICAgIGZha2UgPSB4bWxOZXdEb2NOb2RlKHRjdHh0LT5vdXRwdXQsIE5VTEwsCi0gCQkJIChjb25zdCB4bWxDaGFyICopImZha2UiLCBOVUxMKTsKLSAgICAgb2xkSW5zZXJ0ID0gdGN0eHQtPmluc2VydDsKLSsgICAgb2xkQ3R4dFZhciA9IHRjdHh0LT5jb250ZXh0VmFyaWFibGU7Ci0gICAgIHRjdHh0LT5pbnNlcnQgPSBmYWtlOwotKyAgICB0Y3R4dC0+Y29udGV4dFZhcmlhYmxlID0gTlVMTDsKLSAgICAgeHNsdEFwcGx5T25lVGVtcGxhdGUgKHRjdHh0LCB0Y3R4dC0+bm9kZSwKLSAJCQkgIGZ1bmMtPmNvbnRlbnQsIE5VTEwsIE5VTEwpOwotICAgICB4c2x0TG9jYWxWYXJpYWJsZVBvcCh0Y3R4dCwgdGN0eHQtPnZhcnNCYXNlLCAtMik7Ci0gICAgIHRjdHh0LT5pbnNlcnQgPSBvbGRJbnNlcnQ7Ci0rICAgIHRjdHh0LT5jb250ZXh0VmFyaWFibGUgPSBvbGRDdHh0VmFyOwotICAgICB0Y3R4dC0+dmFyc0Jhc2UgPSBvbGRCYXNlOwkvKiByZXN0b3JlIG9yaWdpbmFsIHNjb3BlICovCi0gICAgIGlmIChwYXJhbXMgIT0gTlVMTCkKLSAJeHNsdEZyZWVTdGFja0VsZW1MaXN0KHBhcmFtcyk7Ci1kaWZmIC0tZ2l0IGEvdGVzdHMvZG9jcy9idWctMjA5LnhtbCBiL3Rlc3RzL2RvY3MvYnVnLTIwOS54bWwKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi42OWQ2MmYyCi0tLS0gL2Rldi9udWxsCi0rKysgYi90ZXN0cy9kb2NzL2J1Zy0yMDkueG1sCi1AQCAtMCwwICsxIEBACi0rPGRvYy8+Ci1kaWZmIC0tZ2l0IGEvdGVzdHMvZ2VuZXJhbC9idWctMjA5Lm91dCBiL3Rlc3RzL2dlbmVyYWwvYnVnLTIwOS5vdXQKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5lODI5NzkwCi0tLS0gL2Rldi9udWxsCi0rKysgYi90ZXN0cy9nZW5lcmFsL2J1Zy0yMDkub3V0Ci1AQCAtMCwwICsxLDIgQEAKLSs8P3htbCB2ZXJzaW9uPSIxLjAiPz4KLSs8cmVzdWx0Lz4KLWRpZmYgLS1naXQgYS90ZXN0cy9nZW5lcmFsL2J1Zy0yMDkueHNsIGIvdGVzdHMvZ2VuZXJhbC9idWctMjA5LnhzbAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLmZlNjlhYzYKLS0tLSAvZGV2L251bGwKLSsrKyBiL3Rlc3RzL2dlbmVyYWwvYnVnLTIwOS54c2wKLUBAIC0wLDAgKzEsMjEgQEAKLSs8eHNsOnN0eWxlc2hlZXQKLSsgICAgdmVyc2lvbj0iMS4wIgotKyAgICB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIKLSsgICAgeG1sbnM6ZnVuYz0iaHR0cDovL2V4c2x0Lm9yZy9mdW5jdGlvbnMiCi0rICAgIGV4dGVuc2lvbi1lbGVtZW50LXByZWZpeGVzPSJmdW5jIj4KLSsKLSsgICAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iLyI+Ci0rICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InYiIHNlbGVjdD0iZnVuYzphKCkiIC8+Ci0rICAgICAgICA8eHNsOmNvcHktb2Ygc2VsZWN0PSIkdiIvPgotKyAgICA8L3hzbDp0ZW1wbGF0ZT4KLSsKLSsgICAgPGZ1bmM6ZnVuY3Rpb24gbmFtZT0iZnVuYzphIj4KLSsgICAgICAgIDxmdW5jOnJlc3VsdCBzZWxlY3Q9ImZ1bmM6YigpIiAvPgotKyAgICA8L2Z1bmM6ZnVuY3Rpb24+Ci0rCi0rICAgIDxmdW5jOmZ1bmN0aW9uIG5hbWU9ImZ1bmM6YiI+Ci0rICAgICAgICA8ZnVuYzpyZXN1bHQ+Ci0rICAgICAgICAgICAgPHJlc3VsdC8+Ci0rICAgICAgICA8L2Z1bmM6cmVzdWx0PgotKyAgICA8L2Z1bmM6ZnVuY3Rpb24+Ci0rPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlieHNsdC9saWJ4c2x0XzEuMS4zMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlieHNsdC9saWJ4c2x0XzEuMS4zMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjBmYTVlNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnhzbHQvbGlieHNsdF8xLjEuMzIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1TVU1NQVJZID0gIkdOT01FIFhTTFQgbGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgotCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NvcHlyaWdodDttZDU9MGNkOWEwN2FmYmViMjQwMjZjOWIwM2FlY2ZlYmE0NTgiCi0KLVNFQ1RJT04gPSAibGlicyIKLURFUEVORFMgPSAibGlieG1sMiIKLQotU1JDX1VSSSA9ICJodHRwOi8veG1sc29mdC5vcmcvc291cmNlcy9saWJ4c2x0LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9maXgtcnZ0cy1oYW5kbGluZy5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjFmYzcyZjk4ZTk4YmY0NDQzZjE2NTExNjVmM2FhMTQ2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUyNmVjZDBhYmFmNGE3Nzg5MDQxNjIyYzM5NTBjMGU3ZjJjNGM4ODM1NDcxNTE1ZmQ3N2VlYzY4NGEzNTU0NjAiCi0KLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gImxpYnhzbHQtKD9QPHB2ZXI+XGQrKFwuXGQrKSspXC50YXIiCi0KLVMgPSAiJHtXT1JLRElSfS9saWJ4c2x0LSR7UFZ9IgotCi1CSU5DT05GSUcgPSAiJHtiaW5kaXJ9L3hzbHQtY29uZmlnIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgYmluY29uZmlnLWRpc2FibGVkIGxpYl9wYWNrYWdlCi0KLSMgV2UgZG9uJ3QgREVQRU5EIG9uIGJpbnV0aWxzIGZvciBhbnNpZGVjbC5oIHNvIGVuc3VyZSB3ZSBkb24ndCB1c2UgdGhlIGhlYWRlcgotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotCXNlZCAtaSAtZSAncy9hbnNpZGVjbC5oLy8nICR7U30vY29uZmlndXJlLmFjCi0KLQkjIFRoZSB0aW1lc3RhbXBzIGluIHRoZSAxLjEuMjggdGFyYmFsbCBhcmUgbWVzc2VkIHVwIGNhdXNpbmcgdGhpcyBmaWxlIHRvCi0JIyBhcHBlYXIgb3V0IG9mIGRhdGUuICBUb3VjaCBpdCBzbyB0aGF0IHdlIGRvbid0IHRyeSB0byByZWdlbmVyYXRlIGl0LgotCXRvdWNoICR7U30vZG9jL3hzbHRwcm9jLjEKLX0KLQotRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC1weXRob24gLS13aXRob3V0LWRlYnVnIC0td2l0aG91dC1tZW0tZGVidWcgLS13aXRob3V0LWNyeXB0byIKLSMgb2xkZXIgdmVyc2lvbnMgb2YgdGhpcyByZWNpcGUgaGFkICR7UE59LXV0aWxzCi1SUFJPVklERVNfJHtQTn0tYmluICs9ICIke1BOfS11dGlscyIKLVJDT05GTElDVFNfJHtQTn0tYmluICs9ICIke1BOfS11dGlscyIKLVJSRVBMQUNFU18ke1BOfS1iaW4gKz0gIiR7UE59LXV0aWxzIgotCi0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7Ci0gICAgY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0veHNsdHByb2MgWE1MX0NBVEFMT0dfRklMRVM9JHtzeXNjb25mZGlyfS94bWwvY2F0YWxvZy54bWwKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9saWJ4c2x0LXBsdWdpbnMiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS94c2x0Q29uZi5zaCIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ4c2x0L2xpYnhzbHRfMS4xLjMzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ4c2x0L2xpYnhzbHRfMS4xLjMzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4ZDQwNGMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnhzbHQvbGlieHNsdF8xLjEuMzMuYmIKQEAgLTAsMCArMSw0NyBAQAorU1VNTUFSWSA9ICJHTk9NRSBYU0xUIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9Db3B5cmlnaHQ7bWQ1PTBjZDlhMDdhZmJlYjI0MDI2YzliMDNhZWNmZWJhNDU4IgorCitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gImxpYnhtbDIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3htbHNvZnQub3JnL3NvdXJjZXMvbGlieHNsdC0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiM2JkMjU0YTAzZTQ2ZDU4ZjhhZDFlNDU1OWNkMmMyZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZTM2NjA1MTQ0NDA5ZGY5NzljYWI0M2Q4MzUwMDJmNjM5ODhmM2RjOTRkNWQzNTM3YzEyNzk2ZGI5MGUzOGM4IgorCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJsaWJ4c2x0LSg/UDxwdmVyPlxkKyhcLlxkKykrKVwudGFyIgorCitTID0gIiR7V09SS0RJUn0vbGlieHNsdC0ke1BWfSIKKworQklOQ09ORklHID0gIiR7YmluZGlyfS94c2x0LWNvbmZpZyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJpbmNvbmZpZy1kaXNhYmxlZCBsaWJfcGFja2FnZQorCisjIFdlIGRvbid0IERFUEVORCBvbiBiaW51dGlscyBmb3IgYW5zaWRlY2wuaCBzbyBlbnN1cmUgd2UgZG9uJ3QgdXNlIHRoZSBoZWFkZXIKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKwlzZWQgLWkgLWUgJ3MvYW5zaWRlY2wuaC8vJyAke1N9L2NvbmZpZ3VyZS5hYworCisJIyBUaGUgdGltZXN0YW1wcyBpbiB0aGUgMS4xLjI4IHRhcmJhbGwgYXJlIG1lc3NlZCB1cCBjYXVzaW5nIHRoaXMgZmlsZSB0bworCSMgYXBwZWFyIG91dCBvZiBkYXRlLiAgVG91Y2ggaXQgc28gdGhhdCB3ZSBkb24ndCB0cnkgdG8gcmVnZW5lcmF0ZSBpdC4KKwl0b3VjaCAke1N9L2RvYy94c2x0cHJvYy4xCit9CisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGhvdXQtcHl0aG9uIC0td2l0aG91dC1kZWJ1ZyAtLXdpdGhvdXQtbWVtLWRlYnVnIC0td2l0aG91dC1jcnlwdG8gLS13aXRoLWh0bWwtc3ViZGlyPSR7QlBOfSIKKyMgb2xkZXIgdmVyc2lvbnMgb2YgdGhpcyByZWNpcGUgaGFkICR7UE59LXV0aWxzCitSUFJPVklERVNfJHtQTn0tYmluICs9ICIke1BOfS11dGlscyIKK1JDT05GTElDVFNfJHtQTn0tYmluICs9ICIke1BOfS11dGlscyIKK1JSRVBMQUNFU18ke1BOfS1iaW4gKz0gIiR7UE59LXV0aWxzIgorCisjIFRoaXMgaXMgb25seSBuZWVkZWQgdW50aWwgbGlieG1sIGNhbiBsb2FkIHRoZSByZWxvY2F0ZWQgY2F0YWxvZyBpdHNlbGYKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0veHNsdHByb2MgWE1MX0NBVEFMT0dfRklMRVM9JHtzeXNjb25mZGlyfS94bWwvY2F0YWxvZworfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2xpYnhzbHQtcGx1Z2lucyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3hzbHRDb25mLnNoIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6NC9sejRfMS44LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6NC9sejRfMS44LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhZDE3ZTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sejQvbHo0XzEuOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotU1VNTUFSWSA9ICJFeHRyZW1lbHkgRmFzdCBDb21wcmVzc2lvbiBhbGdvcml0aG0iCi1ERVNDUklQVElPTiA9ICJMWjQgaXMgYSB2ZXJ5IGZhc3QgbG9zc2xlc3MgY29tcHJlc3Npb24gYWxnb3JpdGhtLCBwcm92aWRpbmcgY29tcHJlc3Npb24gc3BlZWQgYXQgNDAwIE1CL3MgcGVyIGNvcmUsIHNjYWxhYmxlIHdpdGggbXVsdGktY29yZXMgQ1BVLiBJdCBhbHNvIGZlYXR1cmVzIGFuIGV4dHJlbWVseSBmYXN0IGRlY29kZXIsIHdpdGggc3BlZWQgaW4gbXVsdGlwbGUgR0IvcyBwZXIgY29yZSwgdHlwaWNhbGx5IHJlYWNoaW5nIFJBTSBzcGVlZCBsaW1pdHMgb24gbXVsdGktY29yZSBzeXN0ZW1zLiIKLQotTElDRU5TRSA9ICJCU0QgfCBCU0QtMi1DbGF1c2UgfCBHUEwtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vbGliL0xJQ0VOU0U7bWQ1PWViYzJlYTQ4MTRhNjRkZTc3MDhmMTU3MTkwNGIzMmNjIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3Byb2dyYW1zL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0U7bWQ1PWQ1N2MwZDIxY2I5MTdmYjRlMGFmMjQ1NGFhNDhiOTU2IFwKLSAgICAgICAgICAgICAgICAgICAgIgotCi1QRSA9ICIxIgotCi1TUkNSRVYgPSAiYjM2OTJkYjQ2ZDJiMjNhN2MwYWYyZDVlNjk5ODhjOTRmMTI2ZTEwYSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2x6NC9sejQuZ2l0IFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgICIKLVVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gInYoP1A8cHZlcj4uKikiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLUVYVFJBX09FTUFLRSA9ICJQUkVGSVg9JHtwcmVmaXh9IENDPScke0NDfScgREVTVERJUj0ke0R9IExJQkRJUj0ke2xpYmRpcn0gSU5DTFVERURJUj0ke2luY2x1ZGVkaXJ9IgotCi1kb19pbnN0YWxsKCkgewotCW9lX3J1bm1ha2UgaW5zdGFsbAotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6NC9sejRfMS44LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6NC9sejRfMS44LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI1ODM2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHo0L2x6NF8xLjguMy5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkV4dHJlbWVseSBGYXN0IENvbXByZXNzaW9uIGFsZ29yaXRobSIKK0RFU0NSSVBUSU9OID0gIkxaNCBpcyBhIHZlcnkgZmFzdCBsb3NzbGVzcyBjb21wcmVzc2lvbiBhbGdvcml0aG0sIHByb3ZpZGluZyBjb21wcmVzc2lvbiBzcGVlZCBhdCA0MDAgTUIvcyBwZXIgY29yZSwgc2NhbGFibGUgd2l0aCBtdWx0aS1jb3JlcyBDUFUuIEl0IGFsc28gZmVhdHVyZXMgYW4gZXh0cmVtZWx5IGZhc3QgZGVjb2Rlciwgd2l0aCBzcGVlZCBpbiBtdWx0aXBsZSBHQi9zIHBlciBjb3JlLCB0eXBpY2FsbHkgcmVhY2hpbmcgUkFNIHNwZWVkIGxpbWl0cyBvbiBtdWx0aS1jb3JlIHN5c3RlbXMuIgorCitMSUNFTlNFID0gIkJTRCB8IEJTRC0yLUNsYXVzZSB8IEdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9saWIvTElDRU5TRTttZDU9ZWJjMmVhNDgxNGE2NGRlNzcwOGYxNTcxOTA0YjMyY2MgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcHJvZ3JhbXMvQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRTttZDU9ZDU3YzBkMjFjYjkxN2ZiNGUwYWYyNDU0YWE0OGI5NTYgXAorICAgICAgICAgICAgICAgICAgICAiCisKK1BFID0gIjEiCisKK1NSQ1JFViA9ICI2NDFiNDUzZDlkYjUzNmVlMDIwODUxYmZjYjFkYzM5ZjYxMDA2ZjBhIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbHo0L2x6NC5naXQgXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgIgorVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAidig/UDxwdmVyPi4qKSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VNQUtFID0gIlBSRUZJWD0ke3ByZWZpeH0gQ0M9JyR7Q0N9JyBERVNURElSPSR7RH0gTElCRElSPSR7bGliZGlyfSBJTkNMVURFRElSPSR7aW5jbHVkZWRpcn0iCisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSBpbnN0YWxsCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHpvcC9sem9wLzAwMDEtdXNlLXN0YXRpYy1pbmxpbmVzLWFzLXRoZS1leHRlcm5hbC1pbmxpbmUtZGVmaW5pdGlvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHpvcC9sem9wLzAwMDEtdXNlLXN0YXRpYy1pbmxpbmVzLWFzLXRoZS1leHRlcm5hbC1pbmxpbmUtZGVmaW5pdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY3Yjg4Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6b3AvbHpvcC8wMDAxLXVzZS1zdGF0aWMtaW5saW5lcy1hcy10aGUtZXh0ZXJuYWwtaW5saW5lLWRlZmluaXRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDAgKzAsMCBAQAotRnJvbSBlY2NjYmNmNjZkYTUzNzc5ZDg4ZTM4ZTJhZjdmODJlZmY4ZGRlN2Y4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMTYgQXVnIDIwMTUgMTA6MzU6NDcgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gdXNlIHN0YXRpYyBpbmxpbmVzIGFzIHRoZSBleHRlcm5hbCBpbmxpbmUgZGVmaW5pdGlvbiBoYXMKLSBjaGFuZ2VkIHdpdGggZ2NjNQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotIHNyYy9taW5pYWNjLmggfCAyNCArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9taW5pYWNjLmggYi9zcmMvbWluaWFjYy5oCi1pbmRleCAwOWU2ZjBjLi5jYWU5OGQxIDEwMDY0NAotLS0tIGEvc3JjL21pbmlhY2MuaAotKysrIGIvc3JjL21pbmlhY2MuaAotQEAgLTI4ODAsOCArMjg4MCw3IEBAIHR5cGVkZWYgdm9pZCAoX19hY2NfY2RlY2xfc2lnaGFuZGxlciAqYWNjX3NpZ2hhbmRsZXJfdCkoYWNjX3NpZ25vX3QpOwotICNpZiAhKEFDQ19DRkdfTk9fSU5MSU5FX0FTTSkgJiYgKF9fYWNjX0hBVkVfZm9yY2VpbmxpbmUpCi0gI2lmIChBQ0NfQVJDSF9QT1dFUlBDICYmIEFDQ19BQklfQklHX0VORElBTikgJiYgKEFDQ19DQ19HTlVDKQotICNpZiAhZGVmaW5lZChBQ0NfVUFfR0VUX0xFMTYpCi0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgY29uc3Qgdm9pZCogcHApOwotLWV4dGVybiBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTE2KF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IHZvaWQqIHBwKSB7Ci0rc3RhdGljIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgY29uc3Qgdm9pZCogcHApIHsKLSAgICAgX19hY2NfdWFfdm9sYXRpbGUgY29uc3QgYWNjX3VpbnQxNmVfdCogcCA9IChfX2FjY191YV92b2xhdGlsZSBjb25zdCBhY2NfdWludDE2ZV90KikgcHA7Ci0gICAgIHVuc2lnbmVkIGxvbmcgdjsKLSAgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oImxoYnJ4ICUwLDAsJTEiIDogIj1yIiAodikgOiAiciIgKHApLCAibSIgKCpwKSk7Ci1AQCAtMjg5MCw4ICsyODg5LDcgQEAgZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgY29uc3QKLSAjZGVmaW5lIEFDQ19VQV9HRVRfTEUxNihwKSAgICAgIF9fQUNDX1VBX0dFVF9MRTE2KHApCi0gI2VuZGlmCi0gI2lmICFkZWZpbmVkKEFDQ19VQV9TRVRfTEUxNikKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUxNihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaWduZWQgbG9uZyB2KTsKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUxNihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaWduZWQgbG9uZyB2KSB7Ci0rc3RhdGljIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2lnbmVkIGxvbmcgdikgewotICAgICBfX2FjY191YV92b2xhdGlsZSBhY2NfdWludDE2ZV90KiBwID0gKF9fYWNjX3VhX3ZvbGF0aWxlIGFjY191aW50MTZlX3QqKSBwcDsKLSAgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oInN0aGJyeCAlMiwwLCUxIiA6ICI9bSIgKCpwKSA6ICJyIiAocCksICJyIiAodikpOwotIH0KLUBAIC0yOTE2LDggKzI5MTQsNyBAQCBleHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUxNihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaQotICNpZiAhKEFDQ19DRkdfTk9fSU5MSU5FX0FTTSkgJiYgKF9fYWNjX0hBVkVfZm9yY2VpbmxpbmUpCi0gI2lmIChBQ0NfQVJDSF9QT1dFUlBDICYmIEFDQ19BQklfQklHX0VORElBTikgJiYgKEFDQ19DQ19HTlVDKQotICNpZiAhZGVmaW5lZChBQ0NfVUFfR0VUX0xFMzIpCi0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgY29uc3Qgdm9pZCogcHApOwotLWV4dGVybiBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTMyKF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IHZvaWQqIHBwKSB7Ci0rc3RhdGljIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgY29uc3Qgdm9pZCogcHApIHsKLSAgICAgX19hY2NfdWFfdm9sYXRpbGUgY29uc3QgYWNjX3VpbnQzMmVfdCogcCA9IChfX2FjY191YV92b2xhdGlsZSBjb25zdCBhY2NfdWludDMyZV90KikgcHA7Ci0gICAgIHVuc2lnbmVkIGxvbmcgdjsKLSAgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oImx3YnJ4ICUwLDAsJTEiIDogIj1yIiAodikgOiAiciIgKHApLCAibSIgKCpwKSk7Ci1AQCAtMjkyNiw4ICsyOTIzLDcgQEAgZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgY29uc3QKLSAjZGVmaW5lIEFDQ19VQV9HRVRfTEUzMihwKSAgICAgIF9fQUNDX1VBX0dFVF9MRTMyKHApCi0gI2VuZGlmCi0gI2lmICFkZWZpbmVkKEFDQ19VQV9TRVRfTEUzMikKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUzMihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaWduZWQgbG9uZyB2KTsKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUzMihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaWduZWQgbG9uZyB2KSB7Ci0rc3RhdGljIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2lnbmVkIGxvbmcgdikgewotICAgICBfX2FjY191YV92b2xhdGlsZSBhY2NfdWludDMyZV90KiBwID0gKF9fYWNjX3VhX3ZvbGF0aWxlIGFjY191aW50MzJlX3QqKSBwcDsKLSAgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oInN0d2JyeCAlMiwwLCUxIiA6ICI9bSIgKCpwKSA6ICJyIiAocCksICJyIiAodikpOwotIH0KLUBAIC0zMzA3LDggKzMzMDMsNyBAQCB0eXBlZGVmIHZvaWQgKF9fYWNjX2NkZWNsX3NpZ2hhbmRsZXIgKmFjY19zaWdoYW5kbGVyX3QpKGFjY19zaWdub190KTsKLSAjaWYgIShBQ0NfQ0ZHX05PX0lOTElORV9BU00pICYmIChfX2FjY19IQVZFX2ZvcmNlaW5saW5lKQotICNpZiAoQUNDX0FSQ0hfUE9XRVJQQyAmJiBBQ0NfQUJJX0JJR19FTkRJQU4pICYmIChBQ0NfQ0NfR05VQykKLSAjaWYgIWRlZmluZWQoQUNDX1VBX0dFVF9MRTE2KQotLWV4dGVybiBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTE2KF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IHZvaWQqIHBwKTsKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdW5zaWduZWQgbG9uZyBfX0FDQ19VQV9HRVRfTEUxNihfX2FjY191YV92b2xhdGlsZSBjb25zdCB2b2lkKiBwcCkgewotK3N0YXRpYyBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTE2KF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IHZvaWQqIHBwKSB7Ci0gICAgIF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IGFjY191aW50MTZlX3QqIHAgPSAoX19hY2NfdWFfdm9sYXRpbGUgY29uc3QgYWNjX3VpbnQxNmVfdCopIHBwOwotICAgICB1bnNpZ25lZCBsb25nIHY7Ci0gICAgIF9fYXNtX18gX192b2xhdGlsZV9fKCJsaGJyeCAlMCwwLCUxIiA6ICI9ciIgKHYpIDogInIiIChwKSwgIm0iICgqcCkpOwotQEAgLTMzMTcsOCArMzMxMiw3IEBAIGV4dGVybiBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTE2KF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0Ci0gI2RlZmluZSBBQ0NfVUFfR0VUX0xFMTYocCkgICAgICBfX0FDQ19VQV9HRVRfTEUxNihwKQotICNlbmRpZgotICNpZiAhZGVmaW5lZChBQ0NfVUFfU0VUX0xFMTYpCi0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2lnbmVkIGxvbmcgdik7Ci0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2lnbmVkIGxvbmcgdikgewotK3N0YXRpYyBfX2FjY19mb3JjZWlubGluZSB2b2lkIF9fQUNDX1VBX1NFVF9MRTE2KF9fYWNjX3VhX3ZvbGF0aWxlIHZvaWQqIHBwLCB1bnNpZ25lZCBsb25nIHYpIHsKLSAgICAgX19hY2NfdWFfdm9sYXRpbGUgYWNjX3VpbnQxNmVfdCogcCA9IChfX2FjY191YV92b2xhdGlsZSBhY2NfdWludDE2ZV90KikgcHA7Ci0gICAgIF9fYXNtX18gX192b2xhdGlsZV9fKCJzdGhicnggJTIsMCwlMSIgOiAiPW0iICgqcCkgOiAiciIgKHApLCAiciIgKHYpKTsKLSB9Ci1AQCAtMzM0Myw4ICszMzM3LDcgQEAgZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2kKLSAjaWYgIShBQ0NfQ0ZHX05PX0lOTElORV9BU00pICYmIChfX2FjY19IQVZFX2ZvcmNlaW5saW5lKQotICNpZiAoQUNDX0FSQ0hfUE9XRVJQQyAmJiBBQ0NfQUJJX0JJR19FTkRJQU4pICYmIChBQ0NfQ0NfR05VQykKLSAjaWYgIWRlZmluZWQoQUNDX1VBX0dFVF9MRTMyKQotLWV4dGVybiBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTMyKF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IHZvaWQqIHBwKTsKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdW5zaWduZWQgbG9uZyBfX0FDQ19VQV9HRVRfTEUzMihfX2FjY191YV92b2xhdGlsZSBjb25zdCB2b2lkKiBwcCkgewotK3N0YXRpYyBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTMyKF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IHZvaWQqIHBwKSB7Ci0gICAgIF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IGFjY191aW50MzJlX3QqIHAgPSAoX19hY2NfdWFfdm9sYXRpbGUgY29uc3QgYWNjX3VpbnQzMmVfdCopIHBwOwotICAgICB1bnNpZ25lZCBsb25nIHY7Ci0gICAgIF9fYXNtX18gX192b2xhdGlsZV9fKCJsd2JyeCAlMCwwLCUxIiA6ICI9ciIgKHYpIDogInIiIChwKSwgIm0iICgqcCkpOwotQEAgLTMzNTMsOCArMzM0Niw3IEBAIGV4dGVybiBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTMyKF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0Ci0gI2RlZmluZSBBQ0NfVUFfR0VUX0xFMzIocCkgICAgICBfX0FDQ19VQV9HRVRfTEUzMihwKQotICNlbmRpZgotICNpZiAhZGVmaW5lZChBQ0NfVUFfU0VUX0xFMzIpCi0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2lnbmVkIGxvbmcgdik7Ci0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2lnbmVkIGxvbmcgdikgewotK3N0YXRpYyBfX2FjY19mb3JjZWlubGluZSB2b2lkIF9fQUNDX1VBX1NFVF9MRTMyKF9fYWNjX3VhX3ZvbGF0aWxlIHZvaWQqIHBwLCB1bnNpZ25lZCBsb25nIHYpIHsKLSAgICAgX19hY2NfdWFfdm9sYXRpbGUgYWNjX3VpbnQzMmVfdCogcCA9IChfX2FjY191YV92b2xhdGlsZSBhY2NfdWludDMyZV90KikgcHA7Ci0gICAgIF9fYXNtX18gX192b2xhdGlsZV9fKCJzdHdicnggJTIsMCwlMSIgOiAiPW0iICgqcCkgOiAiciIgKHApLCAiciIgKHYpKTsKLSB9Ci0tLSAKLTIuNS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHpvcC9sem9wL2x6b3AtMS4wMy1nY2M2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3AvbHpvcC0xLjAzLWdjYzYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyYjMzOTcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3AvbHpvcC0xLjAzLWdjYzYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1nY2MtNiBoYXMgYWRkaXRpb25hbCBlcnJvcnMgZS5nLgotCi0uL3Rlc3QuYzoxOjEyOiBlcnJvcjogdmFyaWFibHkgbW9kaWZpZWQgJ19fYWNjX2N0YScgYXQgZmlsZSBzY29wZQotIGV4dGVybiBpbnQgX19hY2NfY3RhWzEtMiohKCgxbCA8PCAoOCo4IC0xKSkgPCAwKV07Ci0gICAgICAgICAgICBefn5+fn5+fn4KLQotVGhpcyBpcyByaWdodGx5IHBvaW50ZWQgb3V0IHNpbmNlIHRoYXQgaW5kZXggaXMgdW5kZWZpbmVkCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotLS0tIGEvc3JjL21pbmlhY2MuaC5vcmlnCTIwMTYtMDItMTAgMTY6MDk6MjMuMjQ3MzE1ODY2ICswMTAwCi0rKysgYS9zcmMvbWluaWFjYy5oCTIwMTYtMDItMTAgMTY6MTI6MTQuOTczMjk3MDU0ICswMTAwCi1AQCAtNDQ2OSwxMiArNDQ2OSwxMiBAQAotICNpZiBkZWZpbmVkKF9fTVNET1NfXykgJiYgZGVmaW5lZChfX1RVUkJPQ19fKSAmJiAoX19UVVJCT0NfXyA8IDB4MDE1MCkKLSAjZWxpZiAxICYmIChBQ0NfQ0NfU1VOUFJPQykgJiYgIWRlZmluZWQoQUNDQ0hLX0NGR19QRURBTlRJQykKLSAjZWxzZQotLSAgICBBQ0NDSEtfQVNTRVJUKCgxICAgPDwgKDgqU0laRU9GX0lOVC0xKSkgPCAwKQotKyAgICBBQ0NDSEtfQVNTRVJUKChpbnQpKDF1ICAgPDwgKDgqU0laRU9GX0lOVC0xKSkgPCAwKQotICNlbmRpZgotICAgICBBQ0NDSEtfQVNTRVJUKCgxdSAgPDwgKDgqU0laRU9GX0lOVC0xKSkgPiAwKQotICNpZiAxICYmIChBQ0NfQ0NfU1VOUFJPQykgJiYgIWRlZmluZWQoQUNDQ0hLX0NGR19QRURBTlRJQykKLSAjZWxzZQotLSAgICBBQ0NDSEtfQVNTRVJUKCgxbCAgPDwgKDgqU0laRU9GX0xPTkctMSkpIDwgMCkKLSsgICAgQUNDQ0hLX0FTU0VSVCgobG9uZykoMXVsICA8PCAoOCpTSVpFT0ZfTE9ORy0xKSkgPCAwKQotICNlbmRpZgotICAgICBBQ0NDSEtfQVNTRVJUKCgxdWwgPDwgKDgqU0laRU9GX0xPTkctMSkpID4gMCkKLSAjaWYgZGVmaW5lZChhY2NfaW50MTZlX3QpCi1AQCAtNDcwMyw3ICs0NzAzLDcgQEAKLSAjZWxpZiAxICYmIChBQ0NfQ0NfTENDIHx8IEFDQ19DQ19MQ0NXSU4zMikgJiYgIWRlZmluZWQoQUNDQ0hLX0NGR19QRURBTlRJQykKLSAjZWxpZiAxICYmIChBQ0NfQ0NfU1VOUFJPQykgJiYgIWRlZmluZWQoQUNDQ0hLX0NGR19QRURBTlRJQykKLSAjZWxpZiAhKEFDQ19CUk9LRU5fSU5URUdSQUxfUFJPTU9USU9OKSAmJiAoU0laRU9GX0lOVCA+IDEpCi0tICAgIEFDQ0NIS19BU1NFUlQoICgoKHVuc2lnbmVkIGNoYXIpMTI4KSA8PCAoaW50KSg4KnNpemVvZihpbnQpLTgpKSA8IDApCi0rICAgIEFDQ0NIS19BU1NFUlQoIChpbnQpKCh1bnNpZ25lZCBpbnQpKCh1bnNpZ25lZCBjaGFyKTEyOCkgPDwgKGludCkoOCpzaXplb2YoaW50KS04KSkgPCAwKQotICNlbmRpZgotICNpZiAoQUNDX0NDX0JPUkxBTkRDICYmIChfX0JPUkxBTkRDX18gPj0gMHgwNTMwKSAmJiAoX19CT1JMQU5EQ19fIDwgMHgwNTYwKSkKLSAjICBwcmFnbWEgb3B0aW9uIHBvcApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3AveDMyX2FiaV9taW5pYWNjX2gucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6b3AvbHpvcC94MzJfYWJpX21pbmlhY2NfaC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzM5YmU4Mi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6b3AvbHpvcC94MzJfYWJpX21pbmlhY2NfaC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLUZpeCBnZXQgb2YgRkxBR1MgcmVnaXN0ZXIgaW4geDMyIEFCSSwKLQoteDMyIEFCSSByZXF1aXJlcyB0byBoYXZlIDY0LWJpdCB2YXJpYWJsZSB0byBzdG9yZSBGTEFHUyByZWdpc3RlcgotaW5zdGVhZCBvZiBzaXplX3QgdGhhdCBpcyAzMi1iaXQgdmFyaWFibGUsIHRoaXMgZml4IG9wZXJhbmQKLXR5cGUgbWlzbWF0Y2ggd2hlbiB0cnkgdG8gcG9wIHByZXZpb3VzIHB1c2hmIHZhbHVlLgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAotCi1TaWduZWQtb2ZmLWJ5OiBBbsOtYmFsIExpbcOzbiA8YW5pYmFsLmxpbW9uQGxpbnV4LmludGVsLmNvbT4KLQotSW5kZXg6IGx6b3AtMS4wMy9zcmMvbWluaWFjYy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbHpvcC0xLjAzLm9yaWcvc3JjL21pbmlhY2MuaAotKysrIGx6b3AtMS4wMy9zcmMvbWluaWFjYy5oCi1AQCAtNzU0LDYgKzc1NCw5IEBACi0gI2VsaWYgZGVmaW5lZChfX2FtZDY0X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfTV9BTUQ2NCkKLSAjICBkZWZpbmUgQUNDX0FSQ0hfQU1ENjQgICAgICAgICAgICAxCi0gIyAgZGVmaW5lIEFDQ19JTkZPX0FSQ0ggICAgICAgICAgICAgImFtZDY0IgotKyMgIGlmIGRlZmluZWQoX19JTFAzMl9fKQotKyMgICAgZGVmaW5lIEFDQ19BUkNIX0FNRDY0X1gzMiAgICAgIDEKLSsjICBlbmRpZgotICNlbGlmIGRlZmluZWQoX190aHVtYl9fKSB8fCAoZGVmaW5lZChfTV9BUk0pICYmIGRlZmluZWQoX01fVEhVTUIpKQotICMgIGRlZmluZSBBQ0NfQVJDSF9BUk0gICAgICAgICAgICAgIDEKLSAjICBkZWZpbmUgQUNDX0FSQ0hfQVJNX1RIVU1CICAgICAgICAxCi1AQCAtNjc4Nyw3ICs2NzkwLDExIEBAIEFDQ0xJQl9QVUJMSUNfTk9JTkxJTkUodm9pZCwgYWNjX2RlYnVnX24KLSBBQ0NMSUJfUFVCTElDX05PSU5MSU5FKGludCwgYWNjX2RlYnVnX2FsaWduX2NoZWNrX3F1ZXJ5KSAodm9pZCkKLSB7Ci0gI2lmIChBQ0NfQVJDSF9BTUQ2NCB8fCBBQ0NfQVJDSF9JMzg2KSAmJiAoQUNDX0FTTV9TWU5UQVhfR05VQykKLSsjICBpZiBkZWZpbmVkKEFDQ19BUkNIX0FNRDY0X1gzMikKLSsgICAgdW5zaWduZWQgbG9uZyBsb25nIHI7Ci0rIyAgZWxzZQotICAgICBzaXplX3QgcjsKLSsjICBlbmRpZgotICAgICBfX2FzbV9fIF9fdm9sYXRpbGVfXygicHVzaGZcbiBwb3AgJTBcbiIgOiAiPWEiIChyKSA6IDogX19BQ0NfQVNNX0NMT0JCRVIpOwotICAgICByZXR1cm4gKGludCkociA+PiAxOCkgJiAxOwotICNlbGlmIChBQ0NfQVJDSF9JMzg2KSAmJiAoQUNDX0FTTV9TWU5UQVhfTVNDKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3BfMS4wMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHpvcC9sem9wXzEuMDMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmMDkwMDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3BfMS4wMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLVNVTU1BUlkgPSAiUmVhbC10aW1lIGZpbGUgY29tcHJlc3NvciIKLURFU0NSSVBUSU9OID0gImx6b3AgaXMgYSBjb21wcmVzc2lvbiB1dGlsaXR5IHdoaWNoIGlzIGRlc2lnbmVkIHRvIGJlIGEgY29tcGFuaW9uIHRvIGd6aXAuIFxuXAotSXQgaXMgYmFzZWQgb24gdGhlIExaTyBkYXRhIGNvbXByZXNzaW9uIGxpYnJhcnkgYW5kIGl0cyBtYWluIGFkdmFudGFnZXMgb3ZlciBcblwKLWd6aXAgYXJlIG11Y2ggaGlnaGVyIGNvbXByZXNzaW9uIGFuZCBkZWNvbXByZXNzaW9uIHNwZWVkIGF0IHRoZSBjb3N0IG9mIHNvbWUgXG5cCi1jb21wcmVzc2lvbiByYXRpby4gVGhlIGx6b3AgY29tcHJlc3Npb24gdXRpbGl0eSB3YXMgZGVzaWduZWQgd2l0aCB0aGUgZ29hbHMgXG5cCi1vZiByZWxpYWJpbGl0eSwgc3BlZWQsIHBvcnRhYmlsaXR5IGFuZCB3aXRoIHJlYXNvbmFibGUgZHJvcC1pbiBjb21wYXRpYmlsaXR5IFxuXAotdG8gZ3ppcC4iCi1ERVBFTkRTICs9ICJsem8iCi0KLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGZlYWYzZGM0YmVlZjRmNWE3YmRiYzM1YjE5N2YzOWUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2x6b3AuYztiZWdpbmxpbmU9NTtlbmRsaW5lPTIxO21kNT02Nzk3YmQzZWQwYTFhNDkzMjdiN2ViZjkzNjZlYmQ4NiIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3Lmx6b3Aub3JnL2Rvd25sb2FkLyR7QlB9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9hY2luY2x1ZGUubTQgXAotICAgICAgICAgICBmaWxlOi8veDMyX2FiaV9taW5pYWNjX2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS11c2Utc3RhdGljLWlubGluZXMtYXMtdGhlLWV4dGVybmFsLWlubGluZS1kZWZpbml0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2x6b3AtMS4wMy1nY2M2LnBhdGNoIFwKLSAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiMDA2YzVlMjdmYjc4Y2RkMTRhNjI4ZmRmYTVhYTE5MDUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzE0MjViOGM3N2Q0OWY1YTY3OWQ1YTEyNmM5MGVhNmFkOTk1ODVhNTVlMzM1YTYxM2NhZTU5ZTkwOWRiYjJjOSIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotICAgIGluc3RhbGwgLURtIDA2NDQgJHtXT1JLRElSfS9hY2luY2x1ZGUubTQgJHtTfS9hY2luY2x1ZGUubTQKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3BfMS4wNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHpvcC9sem9wXzEuMDQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjUwYzIzMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHpvcC9sem9wXzEuMDQuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJSZWFsLXRpbWUgZmlsZSBjb21wcmVzc29yIgorREVTQ1JJUFRJT04gPSAibHpvcCBpcyBhIGNvbXByZXNzaW9uIHV0aWxpdHkgd2hpY2ggaXMgZGVzaWduZWQgdG8gYmUgYSBjb21wYW5pb24gdG8gZ3ppcC4gXG5cCitJdCBpcyBiYXNlZCBvbiB0aGUgTFpPIGRhdGEgY29tcHJlc3Npb24gbGlicmFyeSBhbmQgaXRzIG1haW4gYWR2YW50YWdlcyBvdmVyIFxuXAorZ3ppcCBhcmUgbXVjaCBoaWdoZXIgY29tcHJlc3Npb24gYW5kIGRlY29tcHJlc3Npb24gc3BlZWQgYXQgdGhlIGNvc3Qgb2Ygc29tZSBcblwKK2NvbXByZXNzaW9uIHJhdGlvLiBUaGUgbHpvcCBjb21wcmVzc2lvbiB1dGlsaXR5IHdhcyBkZXNpZ25lZCB3aXRoIHRoZSBnb2FscyBcblwKK29mIHJlbGlhYmlsaXR5LCBzcGVlZCwgcG9ydGFiaWxpdHkgYW5kIHdpdGggcmVhc29uYWJsZSBkcm9wLWluIGNvbXBhdGliaWxpdHkgXG5cCit0byBnemlwLiIKK0RFUEVORFMgKz0gImx6byIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvbHpvcC5jO2JlZ2lubGluZT01O2VuZGxpbmU9MjE7bWQ1PTIzZDc2N2RlNzc1NGViMjRiOWU5MDBiMDI1Y2Y3ZmM4IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubHpvcC5vcmcvZG93bmxvYWQvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2FjaW5jbHVkZS5tNCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjI3MWViMTBmZGU3N2EwYTk2YjljYmY3NDVlNzE5ZGRmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdlNzJiNjJhOGE2MGFmZjUyMDBhMDQ3ZWVhMDc3M2E4ZmIyMDVjYWY3YWNiZTE3NzRkOTUxNDdmMzA1YTJmNDEiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1EbSAwNjQ0ICR7V09SS0RJUn0vYWNpbmNsdWRlLm00ICR7U30vYWNpbmNsdWRlLm00Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbXBmci9tcGZyLzAwMDEtRml4LW9ic29sZXRlLUFSQy1hc20tY29uc3RyYWludHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L21wZnIvbXBmci8wMDAxLUZpeC1vYnNvbGV0ZS1BUkMtYXNtLWNvbnN0cmFpbnRzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OWQxYjBkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbXBmci9tcGZyLzAwMDEtRml4LW9ic29sZXRlLUFSQy1hc20tY29uc3RyYWludHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi1tcGZyLWxvbmdsb25nLmg6IEZpeCBvYnNvbGV0ZSBBUkMgYXNtIGNvbnN0cmFpbnRzCi0KLVRoaXMgcGF0Y2ggcmVwbGFjZXMgb2Jzb2xldGUgQVJDICJKIiBhc20gY29uc3RyYWludCB3aXRoCi11cC10by1kYXRlICJDYWwiIGNvbnN0cmFpbnQuCi0KLSJKIiBjb25zdHJhaW50IG9ubHkgZXhpc3RlZCBpbiBwcmUtdXBzdHJlYW0gR0NDIHBvcnQgZm9yIEFSQy4KLUluIGN1cnJlbnQgdXBzdHJlYW0gcG9ydCAiQ2FsIiBjb25zdHJhaW50IGlzIHVzZWQgd2hpY2ggbGVhZHMKLXRvIGNvbXBpbGUtdGltZSBlcnJvci4KLQotUHJvcG9zZWQgZml4IGlzIGtub3duIHRvIHdvcmsgaW4gQnVpbGRyb290LCBDcm9zc3Rvb2wtTkcgZXRjLgotCi1bMV0gaHR0cHM6Ly9nY2MuZ251Lm9yZy9naXQvP3A9Z2NjLmdpdDthPWNvbW1pdDtoPTA5Y2I2YTE3ZTcxYmQ0MGQyZmJmYWY4MmExNTAyZmMyMTBlMzNjODcKLQotU2lnbmVkLW9mZi1ieTogQ2xhdWRpdSBaaXNzdWxlc2N1IDxjbGF6aXNzQHN5bm9wc3lzLmNvbT4KLVNpZ25lZC1vZmYtYnk6IFZsYWQgWmFraGFyb3YgPHZ6YWtoYXJAc3lub3BzeXMuY29tPgotU2lnbmVkLW9mZi1ieTogQWxleGV5IEJyb2RraW4gPGFicm9ka2luQHN5bm9wc3lzLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9nZm9yZ2UuaW5yaWEuZnIvc2NtL3ZpZXd2Yy5waHAvbXBmcj92aWV3PXJldmlzaW9uJnJldmlzaW9uPTEzMjUxXQotLS0tCi1JbmRleDogc3JjL21wZnItbG9uZ2xvbmcuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGEvc3JjL21wZnItbG9uZ2xvbmcuaAkocmV2aXNpb24gMTA5NjMpCi0rKysgYi9zcmMvbXBmci1sb25nbG9uZy5oCSh3b3JraW5nIGNvcHkpCi1AQCAtNDE2LDE3ICs0MTYsMTcgQEAKLSAJICAgOiAiPXIiIChzaCksCQkJCQkJCVwKLSAJICAgICAiPSZyIiAoc2wpCQkJCQkJCVwKLSAJICAgOiAiciIgICgoVVNJdHlwZSkgKGFoKSksCQkJCQlcCi0tCSAgICAgInJJSiIgKChVU0l0eXBlKSAoYmgpKSwJCQkJCVwKLSsJICAgICAicklDYWwiICgoVVNJdHlwZSkgKGJoKSksCQkJCQlcCi0gCSAgICAgIiVyIiAoKFVTSXR5cGUpIChhbCkpLAkJCQkJXAotLQkgICAgICJySUoiICgoVVNJdHlwZSkgKGJsKSkpCi0rCSAgICAgInJJQ2FsIiAoKFVTSXR5cGUpIChibCkpKQotICNkZWZpbmUgc3ViX2RkbW1zcyhzaCwgc2wsIGFoLCBhbCwgYmgsIGJsKSBcCi0gICBfX2FzbV9fICgic3ViLmZcdCUxLCAlNCwgJTVcblx0c2JjXHQlMCwgJTIsICUzIgkJCVwKLSAJICAgOiAiPXIiIChzaCksCQkJCQkJCVwKLSAJICAgICAiPSZyIiAoc2wpCQkJCQkJCVwKLSAJICAgOiAiciIgKChVU0l0eXBlKSAoYWgpKSwJCQkJCVwKLS0JICAgICAicklKIiAoKFVTSXR5cGUpIChiaCkpLAkJCQkJXAotKwkgICAgICJySUNhbCIgKChVU0l0eXBlKSAoYmgpKSwJCQkJCVwKLSAJICAgICAiciIgKChVU0l0eXBlKSAoYWwpKSwJCQkJCVwKLS0JICAgICAicklKIiAoKFVTSXR5cGUpIChibCkpKQotKwkgICAgICJySUNhbCIgKChVU0l0eXBlKSAoYmwpKSkKLSAjZW5kaWYKLSAKLSAjaWYgZGVmaW5lZCAoX19hcm1fXykgJiYgKGRlZmluZWQgKF9fdGh1bWIyX18pIHx8ICFkZWZpbmVkIChfX3RodW1iX18pKSBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L21wZnIvbXBmcl80LjAuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbXBmci9tcGZyXzQuMC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZWVlNzZhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbXBmci9tcGZyXzQuMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotU1VNTUFSWSA9ICJDIGxpYnJhcnkgZm9yIG11bHRpcGxlLXByZWNpc2lvbiBmbG9hdGluZy1wb2ludCBjb21wdXRhdGlvbnMgd2l0aCBleGFjdCByb3VuZGluZyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cubXBmci5vcmcvIgotTElDRU5TRSA9ICJMR1BMdjMrIgotU0VDVElPTiA9ICJkZXZlbCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdGV4aW5mbwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0JCSAgICBmaWxlOi8vQ09QWUlORy5MRVNTRVI7bWQ1PTZhNmE4ZTAyMDgzOGIyMzQwNmM4MWIxOWMxZDQ2ZGY2IgotREVQRU5EUyA9ICJnbXAgYXV0b2NvbmYtYXJjaGl2ZSIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm1wZnIub3JnL21wZnItJHtQVn0vbXBmci0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtb2Jzb2xldGUtQVJDLWFzbS1jb25zdHJhaW50cy5wYXRjaCIKLVNSQ19VUklbbWQ1c3VtXSA9ICJiOGRkMTliZDliYjFlYzg4MzFhNmE1ODJhNzMwODA3MyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2Nzg3NGE2MDgyNjMwM2VlMmZiNmFmZmM2ZGMwZGRkM2U3NDllOWJmY2I0Yzg2NTVlMzk1M2QwNDU4YTZlMTZlIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3d3dy5tcGZyLm9yZy9tcGZyLWN1cnJlbnQvIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L21wZnIvbXBmcl80LjAuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbXBmci9tcGZyXzQuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzMDU5MTcKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L21wZnIvbXBmcl80LjAuMi5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkMgbGlicmFyeSBmb3IgbXVsdGlwbGUtcHJlY2lzaW9uIGZsb2F0aW5nLXBvaW50IGNvbXB1dGF0aW9ucyB3aXRoIGV4YWN0IHJvdW5kaW5nIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5tcGZyLm9yZy8iCitMSUNFTlNFID0gIkxHUEx2MysiCitTRUNUSU9OID0gImRldmVsIgorCitpbmhlcml0IGF1dG90b29scyB0ZXhpbmZvCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFlYmJkM2UzNDIzN2FmMjZkYTVkYzA4YTRlNDQwNDY0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT0zMDAwMjA4ZDUzOWVjMDYxYjg5OWJjZTFkOWNlOTQwNCBcCisgICAgICAgICAgICAgICAgICAgICIKK0RFUEVORFMgPSAiZ21wIGF1dG9jb25mLWFyY2hpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5tcGZyLm9yZy9tcGZyLSR7UFZ9L21wZnItJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gIjMyMGZiYzQ0NjNkNGM4Y2IxZTU2NjkyOWQ4YWRjNGY4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFkM2JlNzA4NjA0ZWFlMGU0MmQ1NzhiYTkzYjM5MGMyYTE0NWYxNzc0M2E3NDRkOGYzZjhjMmFkNTg1NWEzOGEiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vd3d3Lm1wZnIub3JnL21wZnItY3VycmVudC8iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQvQWRkLXRhcmdldC10by1vbmx5LWJ1aWxkLXRlc3RzLW5vdC1ydW4tdGhlbS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQuMS9BZGQtdGFyZ2V0LXRvLW9ubHktYnVpbGQtdGVzdHMtbm90LXJ1bi10aGVtLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGUtMy40L0FkZC10YXJnZXQtdG8tb25seS1idWlsZC10ZXN0cy1ub3QtcnVuLXRoZW0ucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQuMS9BZGQtdGFyZ2V0LXRvLW9ubHktYnVpbGQtdGVzdHMtbm90LXJ1bi10aGVtLnBhdGNoCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGUtMy40L2NoZWNrLWhlYWRlci1maWxlcy1vZi1vcGVuc3NsLW9ubHktaWYtZW5hYmxlXy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQuMS9jaGVjay1oZWFkZXItZmlsZXMtb2Ytb3BlbnNzbC1vbmx5LWlmLWVuYWJsZV8ucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQvY2hlY2staGVhZGVyLWZpbGVzLW9mLW9wZW5zc2wtb25seS1pZi1lbmFibGVfLnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGUtMy40LjEvY2hlY2staGVhZGVyLWZpbGVzLW9mLW9wZW5zc2wtb25seS1pZi1lbmFibGVfLnBhdGNoCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGUtMy40L2Rsb3Blbi10ZXN0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlLTMuNC4xL2Rsb3Blbi10ZXN0LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGUtMy40L2Rsb3Blbi10ZXN0LnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGUtMy40LjEvZGxvcGVuLXRlc3QucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQvcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlLTMuNC4xL3J1bi1wdGVzdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlLTMuNC9ydW4tcHRlc3QKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQuMS9ydW4tcHRlc3QKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZV8zLjQuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZV8zLjQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDQ5YzMwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlXzMuNC4xLmJiCkBAIC0wLDAgKzEsNTIgQEAKK1NVTU1BUlkgPSAiQSBsb3cgbGV2ZWwgY3J5cHRvZ3JhcGhpYyBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+bmlzc2UvbmV0dGxlLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYzKyB8IEdQTHYyKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MRVNTRVJ2MzttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlOR3YyO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zZXJwZW50LWRlY3J5cHQuYztiZWdpbmxpbmU9MTQ7ZW5kbGluZT0zNjttZDU9Y2EwZDIyMGJjNDEzZTE4NDJlY2M1MDc2OTBjZTQxNmUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc2VycGVudC1zZXQta2V5LmM7YmVnaW5saW5lPTE0O2VuZGxpbmU9MzY7bWQ1PWNhMGQyMjBiYzQxM2UxODQyZWNjNTA3NjkwY2U0MTZlIgorCitERVBFTkRTICs9ICJnbXAiCisKK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS8ke0JQTn0vJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL0FkZC10YXJnZXQtdG8tb25seS1idWlsZC10ZXN0cy1ub3QtcnVuLXRoZW0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL2NoZWNrLWhlYWRlci1maWxlcy1vZi1vcGVuc3NsLW9ubHktaWYtZW5hYmxlXy5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIlwKKyAgICAgICAgICAgIGZpbGU6Ly9kbG9wZW4tdGVzdC5wYXRjaCBcCisgICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5YmRlYmIwZTJmNjM4ZDNiOWQ5MWY3ZmMyNjRiNzBjMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmOTQxY2YxNTM1Y2Q1ZDE4MTliZTVjY2FlNWJhYmVmMDFmNmRiNjExZjliNWE3NzdiYWU5Yzc2MDRiOGE5MmFkIgorCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJuZXR0bGUtKD9QPHB2ZXI+XGQrKFwuXGQrKSspXC50YXIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHB0ZXN0IG11bHRpbGliX2hlYWRlcgorCitFWFRSQV9BVVRPUkVDT05GICs9ICItLWV4Y2x1ZGU9YWNsb2NhbCIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1vcGVuc3NsIgorQ0ZMQUdTX2FwcGVuZCA9ICIgLXN0ZD1jOTkiCisKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisgICAgICAgIG9lX3J1bm1ha2UgYnVpbGR0ZXN0Cit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIG9lX211bHRpbGliX2hlYWRlciBuZXR0bGUvbmV0dGxlLXN0ZGludC5oIG5ldHRsZS92ZXJzaW9uLmgKK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0c3VpdGUvCisgICAgICAgIGluc3RhbGwgJHtTfS90ZXN0c3VpdGUvZ29sZC1idWcudHh0ICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzdWl0ZS8KKyAgICAgICAgaW5zdGFsbCAke1N9L3Rlc3RzdWl0ZS8qLXRlc3QgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHN1aXRlLworICAgICAgICAjIHRvb2xzIGNhbiBiZSBmb3VuZCBpbiBQQVRILCBub3QgaW4gLi4vdG9vbHMvCisgICAgICAgIHNlZCAtaSAtZSAnc3wuLi90b29scy98fCcgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHN1aXRlLyotdGVzdAorICAgICAgICBpbnN0YWxsICR7Qn0vdGVzdHN1aXRlLyotdGVzdCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0c3VpdGUvCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZV8zLjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGVfMy40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTg0NTBlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZV8zLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi1TVU1NQVJZID0gIkEgbG93IGxldmVsIGNyeXB0b2dyYXBoaWMgbGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cubHlzYXRvci5saXUuc2Uvfm5pc3NlL25ldHRsZS8iCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIkxHUEx2MysgfCBHUEx2MisiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTEVTU0VSdjM7bWQ1PTZhNmE4ZTAyMDgzOGIyMzQwNmM4MWIxOWMxZDQ2ZGY2IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkd2MjttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc2VycGVudC1kZWNyeXB0LmM7YmVnaW5saW5lPTE0O2VuZGxpbmU9MzY7bWQ1PWNhMGQyMjBiYzQxM2UxODQyZWNjNTA3NjkwY2U0MTZlIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NlcnBlbnQtc2V0LWtleS5jO2JlZ2lubGluZT0xNDtlbmRsaW5lPTM2O21kNT1jYTBkMjIwYmM0MTNlMTg0MmVjYzUwNzY5MGNlNDE2ZSIKLQotREVQRU5EUyArPSAiZ21wIgotCi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vJHtCUE59LyR7QlB9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9BZGQtdGFyZ2V0LXRvLW9ubHktYnVpbGQtdGVzdHMtbm90LXJ1bi10aGVtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9jaGVjay1oZWFkZXItZmlsZXMtb2Ytb3BlbnNzbC1vbmx5LWlmLWVuYWJsZV8ucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICJcCi0gICAgICAgICAgICBmaWxlOi8vZGxvcGVuLXRlc3QucGF0Y2ggXAotICAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZGMwZjEzMDI4MjY0OTkyZjU4ZTY3YjRlODkxNWY1M2QiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWU3YTQyZGYwMjY1NTBiODVkYWNhODM4OWI2YTYwYmE2MzEzYjA1NjdmMzc0MzkyZTU0OTE4NTg4YTQxMWU5NCIKLQotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAibmV0dGxlLSg/UDxwdmVyPlxkKyhcLlxkKykrKVwudGFyIgotCi1pbmhlcml0IGF1dG90b29scyBwdGVzdCBtdWx0aWxpYl9oZWFkZXIKLQotRVhUUkFfQVVUT1JFQ09ORiArPSAiLS1leGNsdWRlPWFjbG9jYWwiCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtb3BlbnNzbCIKLQotZG9fY29tcGlsZV9wdGVzdCgpIHsKLSAgICAgICAgb2VfcnVubWFrZSBidWlsZHRlc3QKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgb2VfbXVsdGlsaWJfaGVhZGVyIG5ldHRsZS9uZXR0bGUtc3RkaW50LmggbmV0dGxlL3ZlcnNpb24uaAotfQotCi1kb19pbnN0YWxsX3B0ZXN0KCkgewotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzdWl0ZS8KLSAgICAgICAgaW5zdGFsbCAke1N9L3Rlc3RzdWl0ZS9nb2xkLWJ1Zy50eHQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHN1aXRlLwotICAgICAgICBpbnN0YWxsICR7U30vdGVzdHN1aXRlLyotdGVzdCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0c3VpdGUvCi0gICAgICAgICMgdG9vbHMgY2FuIGJlIGZvdW5kIGluIFBBVEgsIG5vdCBpbiAuLi90b29scy8KLSAgICAgICAgc2VkIC1pIC1lICdzfC4uL3Rvb2xzL3x8JyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0c3VpdGUvKi10ZXN0Ci0gICAgICAgIGluc3RhbGwgJHtCfS90ZXN0c3VpdGUvKi10ZXN0ICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzdWl0ZS8KLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHIvMDAwMi1BZGQtbmlvczItc3VwcG9ydC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNwci9uc3ByLzAwMDItQWRkLW5pb3MyLXN1cHBvcnQucGF0Y2gKaW5kZXggMjMyMjgwNi4uM2EwNGQ0MiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHIvMDAwMi1BZGQtbmlvczItc3VwcG9ydC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwci8wMDAyLUFkZC1uaW9zMi1zdXBwb3J0LnBhdGNoCkBAIC0xMiwxMSArMTIsMTEgQEAKICBuc3ByL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmggICB8IDE0ICsrKysrKysrKysrKysrCiAgMiBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspCiAKLWRpZmYgLS1naXQgYS9wci9pbmNsdWRlL21kL19saW51eC5jZmcgYi9uc3ByL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmNmZwotaW5kZXggOGNiZjBjYi4uMTUwNjc2YiAxMDA2NDQKLS0tLSBhL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmNmZwotKysrIGIvcHIvaW5jbHVkZS9tZC9fbGludXguY2ZnCi1AQCAtOTcyLDYgKzk3Miw1MSBAQAorSW5kZXg6IG5zcHIvcHIvaW5jbHVkZS9tZC9fbGludXguY2ZnCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbnNwci5vcmlnL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmNmZworKysrIG5zcHIvcHIvaW5jbHVkZS9tZC9fbGludXguY2ZnCitAQCAtOTc1LDYgKzk3NSw1MSBAQAogICNkZWZpbmUgUFJfQllURVNfUEVSX1dPUkRfTE9HMiAgIDIKICAjZGVmaW5lIFBSX0JZVEVTX1BFUl9EV09SRF9MT0cyICAzCiAgCkBAIC02OCwxMCArNjgsMTAgQEAKICAjZWxpZiBkZWZpbmVkKF9fb3Ixa19fKQogIAogICN1bmRlZiAgSVNfTElUVExFX0VORElBTgotZGlmZiAtLWdpdCBhL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmggYi9uc3ByL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmgKLWluZGV4IGQzNzhkYjUuLjE4MjYwYmUgMTAwNjQ0Ci0tLS0gYS9wci9pbmNsdWRlL21kL19saW51eC5oCi0rKysgYi9wci9pbmNsdWRlL21kL19saW51eC5oCitJbmRleDogbnNwci9wci9pbmNsdWRlL21kL19saW51eC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbnNwci5vcmlnL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmgKKysrKyBuc3ByL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmgKIEBAIC01NSw2ICs1NSw4IEBACiAgI2RlZmluZSBfUFJfU0lfQVJDSElURUNUVVJFICJhdnIzMiIKICAjZWxpZiBkZWZpbmVkKF9fbTMycl9fKQpAQCAtODAsOCArODAsOCBAQAogKyNkZWZpbmUgX1BSX1NJX0FSQ0hJVEVDVFVSRSAibmlvczIiCiAgI2VsaWYgZGVmaW5lZChfX29yMWtfXykKICAjZGVmaW5lIF9QUl9TSV9BUkNISVRFQ1RVUkUgIm9yMWsiCi0gI2Vsc2UKLUBAIC0xMjUsNiArMTI3LDE4IEBAIGV4dGVybiBQUkludDMyIF9QUl94ODZfNjRfQXRvbWljU2V0KFBSSW50MzIgKnZhbCwgUFJJbnQzMiBuZXd2YWwpOworICNlbGlmIGRlZmluZWQoX19yaXNjdikgJiYgKF9fcmlzY3ZfeGxlbiA9PSAzMikKK0BAIC0xMjksNiArMTMxLDE4IEBAIGV4dGVybiBQUkludDMyIF9QUl94ODZfNjRfQXRvbWljU2V0KFBSSW4KICAjZGVmaW5lIF9NRF9BVE9NSUNfU0VUICAgICAgICAgICAgICAgIF9QUl94ODZfNjRfQXRvbWljU2V0CiAgI2VuZGlmCiAgCkBAIC0xMDAsNiArMTAwLDMgQEAKICAjaWYgZGVmaW5lZChfX29yMWtfXykKICAjaWYgZGVmaW5lZChfX0dOVUNfXykKICAvKiBVc2UgR0NDIGJ1aWx0LWluIGZ1bmN0aW9ucyAqLwotLS0gCi0yLjcuMC5yYzMKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHIvMDAwMy1BZGQtdHlwZS1kZWZpbml0aW9ucy1mb3ItdGhlLVJJU0MtVi1hcmNoaXRlY3R1cmUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwci8wMDAzLUFkZC10eXBlLWRlZmluaXRpb25zLWZvci10aGUtUklTQy1WLWFyY2hpdGVjdHVyZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDdlMTQ3NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwci8wMDAzLUFkZC10eXBlLWRlZmluaXRpb25zLWZvci10aGUtUklTQy1WLWFyY2hpdGVjdHVyZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE1MCArMCwwIEBACi0jIEhHIGNoYW5nZXNldCBwYXRjaAotIyBVc2VyIEthcnN0ZW4gTWVya2VyIDxtZXJrZXJAZGViaWFuLm9yZz4KLSMgRGF0ZSAxNTIzOTc0MzMzIC03MjAwCi0jIE5vZGUgSUQgZjQ3ODcxZTJhZWIxNmIzOWQ0ZjUxNjY5MGUyNWM4MWIwNGQ2ZDA1YQotIyBQYXJlbnQgIDc3NmRiOTZmODM0Y2I4NmU4ODYzMDUyMjAxZDU1ZjYwYTJkYTkxY2IKLUJ1ZyAxMzA4NTg0LCBBZGQgdHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIFJJU0MtViBhcmNoaXRlY3R1cmUsIHI9a2FpZQotCi1TaWduZWQtb2ZmLWJ5OiBBbGlzdGFpciBGcmFuY2lzIDxhbGlzdGFpci5mcmFuY2lzQHdkYy5jb20+Ci1bIENoYW5nZXMgYnkgQUY6Ci0gLSBSZWJhc2Ugb24gb3RoZXIgWW9jdG8gcGF0Y2hlcwotXQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbIGh0dHBzOi8vaGcubW96aWxsYS5vcmcvcHJvamVjdHMvbnNwci9yZXYvZjQ3ODcxZTJhZWIxIF0KLQotZGlmZiAtLWdpdCBhL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmNmZyBiL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmNmZwotLS0tIGEvcHIvaW5jbHVkZS9tZC9fbGludXguY2ZnCi0rKysgYi9wci9pbmNsdWRlL21kL19saW51eC5jZmcKLUBAIC0xMDE1LDE2ICsxMDE1LDEwOCBAQAotICNkZWZpbmUgUFJfQUxJR05fT0ZfRkxPQVQgICA0Ci0gI2RlZmluZSBQUl9BTElHTl9PRl9ET1VCTEUgIDQKLSAjZGVmaW5lIFBSX0FMSUdOX09GX1BPSU5URVIgNAotICNkZWZpbmUgUFJfQUxJR05fT0ZfV09SRCAgICA0Ci0gCi0gI2RlZmluZSBQUl9CWVRFU19QRVJfV09SRF9MT0cyICAgMgotICNkZWZpbmUgUFJfQllURVNfUEVSX0RXT1JEX0xPRzIgIDMKLSAKLSsjZWxpZiBkZWZpbmVkKF9fcmlzY3YpICYmIChfX3Jpc2N2X3hsZW4gPT0gMzIpCi0rCi0rI3VuZGVmICBJU19CSUdfRU5ESUFOCi0rI2RlZmluZSBJU19MSVRUTEVfRU5ESUFOIDEKLSsjdW5kZWYgIElTXzY0Ci0rCi0rI2RlZmluZSBQUl9CWVRFU19QRVJfQllURSAgIDEKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9TSE9SVCAgMgotKyNkZWZpbmUgUFJfQllURVNfUEVSX0lOVCAgICA0Ci0rI2RlZmluZSBQUl9CWVRFU19QRVJfSU5UNjQgIDgKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9MT05HICAgNAotKyNkZWZpbmUgUFJfQllURVNfUEVSX0ZMT0FUICA0Ci0rI2RlZmluZSBQUl9CWVRFU19QRVJfRE9VQkxFIDgKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9XT1JEICAgNAotKyNkZWZpbmUgUFJfQllURVNfUEVSX0RXT1JEICA4Ci0rCi0rI2RlZmluZSBQUl9CSVRTX1BFUl9CWVRFICAgIDgKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX1NIT1JUICAgMTYKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0lOVCAgICAgMzIKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0lOVDY0ICAgNjQKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0xPTkcgICAgMzIKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0ZMT0FUICAgMzIKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0RPVUJMRSAgNjQKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX1dPUkQgICAgMzIKLSsKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0JZVEVfTE9HMiAgIDMKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX1NIT1JUX0xPRzIgIDQKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0lOVF9MT0cyICAgIDUKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0lOVDY0X0xPRzIgIDYKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0xPTkdfTE9HMiAgIDUKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0ZMT0FUX0xPRzIgIDUKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0RPVUJMRV9MT0cyIDYKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX1dPUkRfTE9HMiAgIDUKLSsKLSsjZGVmaW5lIFBSX0FMSUdOX09GX1NIT1JUICAgMgotKyNkZWZpbmUgUFJfQUxJR05fT0ZfSU5UICAgICA0Ci0rI2RlZmluZSBQUl9BTElHTl9PRl9MT05HICAgIDQKLSsjZGVmaW5lIFBSX0FMSUdOX09GX0lOVDY0ICAgOAotKyNkZWZpbmUgUFJfQUxJR05fT0ZfRkxPQVQgICA0Ci0rI2RlZmluZSBQUl9BTElHTl9PRl9ET1VCTEUgIDgKLSsjZGVmaW5lIFBSX0FMSUdOX09GX1BPSU5URVIgNAotKyNkZWZpbmUgUFJfQUxJR05fT0ZfV09SRCAgICA0Ci0rCi0rI2RlZmluZSBQUl9CWVRFU19QRVJfV09SRF9MT0cyICAyCi0rI2RlZmluZSBQUl9CWVRFU19QRVJfRFdPUkRfTE9HMiAzCi0rCi0rI2VsaWYgZGVmaW5lZChfX3Jpc2N2KSAmJiAoX19yaXNjdl94bGVuID09IDY0KQotKwotKyN1bmRlZiAgSVNfQklHX0VORElBTgotKyNkZWZpbmUgSVNfTElUVExFX0VORElBTiAxCi0rI2RlZmluZSBJU182NAotKwotKyNkZWZpbmUgUFJfQllURVNfUEVSX0JZVEUgICAxCi0rI2RlZmluZSBQUl9CWVRFU19QRVJfU0hPUlQgIDIKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9JTlQgICAgNAotKyNkZWZpbmUgUFJfQllURVNfUEVSX0lOVDY0ICA4Ci0rI2RlZmluZSBQUl9CWVRFU19QRVJfTE9ORyAgIDgKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9GTE9BVCAgNAotKyNkZWZpbmUgUFJfQllURVNfUEVSX0RPVUJMRSA4Ci0rI2RlZmluZSBQUl9CWVRFU19QRVJfV09SRCAgIDgKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9EV09SRCAgOAotKwotKyNkZWZpbmUgUFJfQklUU19QRVJfQllURSAgICA4Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9TSE9SVCAgIDE2Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9JTlQgICAgIDMyCi0rI2RlZmluZSBQUl9CSVRTX1BFUl9JTlQ2NCAgIDY0Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9MT05HICAgIDY0Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9GTE9BVCAgIDMyCi0rI2RlZmluZSBQUl9CSVRTX1BFUl9ET1VCTEUgIDY0Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9XT1JEICAgIDY0Ci0rCi0rI2RlZmluZSBQUl9CSVRTX1BFUl9CWVRFX0xPRzIgICAzCi0rI2RlZmluZSBQUl9CSVRTX1BFUl9TSE9SVF9MT0cyICA0Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9JTlRfTE9HMiAgICA1Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9JTlQ2NF9MT0cyICA2Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9MT05HX0xPRzIgICA2Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9GTE9BVF9MT0cyICA1Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9ET1VCTEVfTE9HMiA2Ci0rI2RlZmluZSBQUl9CSVRTX1BFUl9XT1JEX0xPRzIgICA2Ci0rCi0rI2RlZmluZSBQUl9BTElHTl9PRl9TSE9SVCAgIDIKLSsjZGVmaW5lIFBSX0FMSUdOX09GX0lOVCAgICAgNAotKyNkZWZpbmUgUFJfQUxJR05fT0ZfTE9ORyAgICA4Ci0rI2RlZmluZSBQUl9BTElHTl9PRl9JTlQ2NCAgIDgKLSsjZGVmaW5lIFBSX0FMSUdOX09GX0ZMT0FUICAgNAotKyNkZWZpbmUgUFJfQUxJR05fT0ZfRE9VQkxFICA4Ci0rI2RlZmluZSBQUl9BTElHTl9PRl9QT0lOVEVSIDgKLSsjZGVmaW5lIFBSX0FMSUdOX09GX1dPUkQgICAgOAotKwotKyNkZWZpbmUgUFJfQllURVNfUEVSX1dPUkRfTE9HMiAgMwotKyNkZWZpbmUgUFJfQllURVNfUEVSX0RXT1JEX0xPRzIgMwotKwotICNlbHNlCi0gCi0gI2Vycm9yICJVbmtub3duIENQVSBhcmNoaXRlY3R1cmUiCi0gCi0gI2VuZGlmCi0gCi0gI2lmbmRlZiBIQVZFX0xPTkdfTE9ORwotICNkZWZpbmUJSEFWRV9MT05HX0xPTkcKLWRpZmYgLS1naXQgYS9wci9pbmNsdWRlL21kL19saW51eC5oIGIvcHIvaW5jbHVkZS9tZC9fbGludXguaAotLS0tIGEvcHIvaW5jbHVkZS9tZC9fbGludXguaAotKysrIGIvcHIvaW5jbHVkZS9tZC9fbGludXguaAotQEAgLTU0LDE2ICs1NCwyMCBAQAotICNlbGlmIGRlZmluZWQoX19hdnIzMl9fKQotICNkZWZpbmUgX1BSX1NJX0FSQ0hJVEVDVFVSRSAiYXZyMzIiCi0gI2VsaWYgZGVmaW5lZChfX20zMnJfXykKLSAjZGVmaW5lIF9QUl9TSV9BUkNISVRFQ1RVUkUgIm0zMnIiCi0gI2VsaWYgZGVmaW5lZChfX25pb3MyX18pCi0gI2RlZmluZSBfUFJfU0lfQVJDSElURUNUVVJFICJuaW9zMiIKLSAjZWxpZiBkZWZpbmVkKF9fb3Ixa19fKQotICNkZWZpbmUgX1BSX1NJX0FSQ0hJVEVDVFVSRSAib3IxayIKLSsjZWxpZiBkZWZpbmVkKF9fcmlzY3YpICYmIChfX3Jpc2N2X3hsZW4gPT0gMzIpCi0rI2RlZmluZSBfUFJfU0lfQVJDSElURUNUVVJFICJyaXNjdjMyIgotKyNlbGlmIGRlZmluZWQoX19yaXNjdikgJiYgKF9fcmlzY3ZfeGxlbiA9PSA2NCkKLSsjZGVmaW5lIF9QUl9TSV9BUkNISVRFQ1RVUkUgInJpc2N2NjQiCi0gI2Vsc2UKLSAjZXJyb3IgIlVua25vd24gQ1BVIGFyY2hpdGVjdHVyZSIKLSAjZW5kaWYKLSAjZGVmaW5lIFBSX0RMTF9TVUZGSVgJCSIuc28iCi0gCi0gI2RlZmluZSBfUFJfVk1CQVNFICAgICAgICAgICAgICAweDMwMDAwMDAwCi0gI2RlZmluZSBfUFJfU1RBQ0tfVk1CQVNFCTB4NTAwMDAwMDAKLSAjZGVmaW5lIF9NRF9ERUZBVUxUX1NUQUNLX1NJWkUJNjU1MzZMCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNwci9uc3ByL3JlbW92ZS1ycGF0aC1mcm9tLXRlc3RzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHIvcmVtb3ZlLXJwYXRoLWZyb20tdGVzdHMucGF0Y2gKaW5kZXggZWNjNmQzMS4uN2JhNTllZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHIvcmVtb3ZlLXJwYXRoLWZyb20tdGVzdHMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHIvcmVtb3ZlLXJwYXRoLWZyb20tdGVzdHMucGF0Y2gKQEAgLTE1LDcgKzE1LDcgQEAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSBuc3ByLm9yaWcvcHIvdGVzdHMvTWFrZWZpbGUuaW4KICsrKyBuc3ByL3ByL3Rlc3RzL01ha2VmaWxlLmluCi1AQCAtMzE1LDcgKzMxNSw3IEBAIGlmZXEgKCQoT1NfQVJDSCksIFN1bk9TKQorQEAgLTMxNiw3ICszMTYsNyBAQCBpZmVxICgkKE9TX0FSQ0gpLCBTdW5PUykKICBlbmRpZiAjIFN1bk9TCiAgCiAgaWZlcSAoLCQoZmlsdGVyLW91dCBMaW51eCBHTlUgR05VXyUsJChPU19BUkNIKSkpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwcl80LjE5LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHJfNC4xOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTI2M2Y2OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwcl80LjE5LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTk1ICswLDAgQEAKLVNVTU1BUlkgPSAiTmV0c2NhcGUgUG9ydGFibGUgUnVudGltZSBMaWJyYXJ5IgotSE9NRVBBR0UgPSAgImh0dHA6Ly93d3cubW96aWxsYS5vcmcvcHJvamVjdHMvbnNwci8iCi1MSUNFTlNFID0gIkdQTC0yLjAgfCBNUEwtMi4wIHwgTEdQTC0yLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9jb25maWd1cmUuaW47YmVnaW5saW5lPTM7ZW5kbGluZT02O21kNT05MGMyZmRlZTM4ZTQ1ZDYzMDJhYmNmZTQ3NWM4YjVjNSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS5pbjtiZWdpbmxpbmU9NDtlbmRsaW5lPTM4O21kNT1iZWRhMWRiYjk4YTUxNWY1NTdkM2U1OGVmMDZiY2E5OSIKLVNFQ1RJT04gPSAibGlicy9uZXR3b3JrIgotCi1TUkNfVVJJID0gImh0dHA6Ly9mdHAubW96aWxsYS5vcmcvcHViL25zcHIvcmVsZWFzZXMvdiR7UFZ9L3NyYy9uc3ByLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtcnBhdGgtZnJvbS10ZXN0cy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9maXgtYnVpbGQtb24teDg2XzY0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3JlbW92ZS1zcmNkaXItZnJvbS1jb25maWd1cmUtaW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1BZGQtbmlvczItc3VwcG9ydC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1kLUZpeC1idWlsZC13aXRoLW11c2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1BZGQtdHlwZS1kZWZpbml0aW9ucy1mb3ItdGhlLVJJU0MtVi1hcmNoaXRlY3R1cmUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1BZGQtQVJDLXN1cHBvcnQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGUuaW4tcmVtb3ZlLV9CVUlMRF9TVFJJTkctYW5kLV9CVUlMRF9USU1FLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL25zcHIucGMuaW4gXAotIgotCi1DQUNIRURfQ09ORklHVVJFVkFSU19hcHBlbmRfbGliYy1tdXNsID0gIiBDRkxBR1M9JyR7Q0ZMQUdTfSAtRF9QUl9QT0xMX0FWQUlMQUJMRSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtRF9QUl9IQVZFX09GRjY0X1QgLURfUFJfSU5FVDYgLURfUFJfSEFWRV9JTkVUX05UT1AgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLURfUFJfSEFWRV9HRVRIT1NUQllOQU1FMiAtRF9QUl9IQVZFX0dFVEFERFJJTkZPIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1EX1BSX0lORVQ2X1BST0JFIC1ETk9fRExPUEVOX05VTEwnIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL2Z0cC5tb3ppbGxhLm9yZy9wdWIvbnNwci9yZWxlYXNlcy8iCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJ2KD9QPHB2ZXI+XGQrKFwuXGQrKSspLyIKLQotU1JDX1VSSVttZDVzdW1dID0gImUxZDI3MjgyYWQ2Mjg2YjY5ZDZiOWZkMDcyMDFkM2RkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJlZDk1OTE3ZmEyMjc3OTEwZDFkMWNmMzYwMzA2MDdkY2NjMGJhNTIyYmJhMDhlMmFmMTNjMTEzZGNkOGY3MjkiCi0KLUNWRV9QUk9EVUNUID0gIm5ldHNjYXBlX3BvcnRhYmxlX3J1bnRpbWUiCi0KLVMgPSAiJHtXT1JLRElSfS9uc3ByLSR7UFZ9L25zcHIiCi0KLVJERVBFTkRTXyR7UE59LWRldiArPSAicGVybCIKLVRBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgotCi1URVNUUyA9ICIgXAotICAgIGFjY2VwdCBcCi0gICAgYWNjZXB0cmVhZCBcCi0gICAgYWNjZXB0cmVhZGVtdSBcCi0gICAgYWZmaW5pdHkgXAotICAgIGFsYXJtIFwKLSAgICBhbm9uZm0gXAotICAgIGF0b21pYyBcCi0gICAgYXR0YWNoIFwKLSAgICBiaWdmaWxlIFwKLSAgICBjbGVhbnVwIFwKLSAgICBjbHRzcnYgIFwKLSAgICBjb25jdXIgXAotICAgIGN2YXIgXAotICAgIGN2YXIyIFwKLSAgICBkbGx0ZXN0IFwKLSAgICBkdG9hIFwKLSAgICBlcnJjb2RlcyBcCi0gICAgZXhpdCBcCi0gICAgZmRjYWNoIFwKLSAgICBmaWxlaW8gXAotICAgIGZvcmVpZ24gXAotICAgIGZvcm1hdHRtIFwKLSAgICBmc3luYyBcCi0gICAgZ2V0aG9zdCBcCi0gICAgZ2V0cHJvdG8gXAotICAgIGkybCBcCi0gICAgaW5pdGNsayBcCi0gICAgaW5ydmFsIFwKLSAgICBpbnN0cnVtdCBcCi0gICAgaW50cmlvIFwKLSAgICBpbnRydXB0IFwKLSAgICBpb190aW1lb3V0IFwKLSAgICBpb2NvbnRociBcCi0gICAgam9pbiBcCi0gICAgam9pbmtrIFwKLSAgICBqb2lua3UgXAotICAgIGpvaW51ayBcCi0gICAgam9pbnV1IFwKLSAgICBsYXllciBcCi0gICAgbGF6eWluaXQgXAotICAgIGxpYmZpbGVuYW1lIFwKLSAgICBsbHRlc3QgXAotICAgIGxvY2sgXAotICAgIGxvY2tmaWxlIFwKLSAgICBsb2dmaWxlIFwKLSAgICBsb2dnZXIgXAotICAgIG1hbnlfY3YgXAotICAgIG11bHRpd2FpdCBcCi0gICAgbmFtZXNobTEgXAotICAgIG5ibGF5ZXIgXAotICAgIG5vbmJsb2NrIFwKLSAgICBudGlvdG8gXAotICAgIG50b2ggXAotICAgIG9wXzJsb25nIFwKLSAgICBvcF9leGNsIFwKLSAgICBvcF9maWxuZiBcCi0gICAgb3BfZmlsb2sgXAotICAgIG9wX25vZmlsIFwKLSAgICBwYXJlbnQgXAotICAgIHBhcnNldG0gXAotICAgIHBlZWsgXAotICAgIHBlcmYgXAotICAgIHBpcGVwaW5nIFwKLSAgICBwaXBlcGluZzIgXAotICAgIHBpcGVzZWxmIFwKLSAgICBwb2xsX25tIFwKLSAgICBwb2xsX3RvIFwKLSAgICBwb2xsYWJsZSBcCi0gICAgcHJmdGVzdCBcCi0gICAgcHJpbWJsb2sgXAotICAgIHByb3ZpZGVyIFwKLSAgICBwcnBvbGxtbCBcCi0gICAgcmFuZmlsZSBcCi0gICAgcmFuZHNlZWQgXAotICAgIHJlaW5pdCBcCi0gICAgcndsb2NrdGVzdCBcCi0gICAgc2VsX3NwZCBcCi0gICAgc2VsY3RfZXIgXAotICAgIHNlbGN0X25tIFwKLSAgICBzZWxjdF90byBcCi0gICAgc2VsaW50ciBcCi0gICAgc2VtYSBcCi0gICAgc2VtYWVyciBcCi0gICAgc2VtYXBpbmcgXAotICAgIHNlbmR6bGYgXAotICAgIHNlcnZlcl90ZXN0IFwKLSAgICBzZXJ2cl9rayBcCi0gICAgc2VydnJfdWsgXAotICAgIHNlcnZyX2t1IFwKLSAgICBzZXJ2cl91dSBcCi0gICAgc2hvcnRfdGhyZWFkIFwKLSAgICBzaWdwaXBlIFwKLSAgICBzb2NrZXQgXAotICAgIHNvY2tvcHQgXAotICAgIHNvY2twaW5nIFwKLSAgICBzcHJpbnRmIFwKLSAgICBzdGFjayBcCi0gICAgc3RkaW8gXAotICAgIHN0cjJhZGRyIFwKLSAgICBzdHJvZCBcCi0gICAgc3dpdGNoIFwKLSAgICBzeXN0ZW0gXAotICAgIHRlc3RiaXQgXAotICAgIHRlc3RmaWxlIFwKLSAgICB0aHJlYWRzIFwKLSAgICB0aW1lbWFjIFwKLSAgICB0aW1ldGVzdCBcCi0gICAgdHBkIFwKLSAgICB1ZHBzcnYgXAotICAgIHZlcmNoZWNrIFwKLSAgICB2ZXJzaW9uIFwKLSAgICB3cml0ZXYgXAotICAgIHhub3RpZnkgXAotICAgIHplcm9sZW4iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIG11bHRpbGliX3NjcmlwdAotCi1NVUxUSUxJQl9TQ1JJUFRTID0gIiR7UE59LWRldjoke2JpbmRpcn0vbnNwci1jb25maWciCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IgotUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKLQotZG9fY29tcGlsZV9wcmVwZW5kKCkgewotCW9lX3J1bm1ha2UgQ1JPU1NfQ09NUElMRT0xIENGTEFHUz0iLURYUF9VTklYICR7QlVJTERfQ0ZMQUdTfSIgTERGTEFHUz0iIiBDQz0iJHtCVUlMRF9DQ30iIC1DIGNvbmZpZyBleHBvcnQKLX0KLQotZG9fY29tcGlsZV9hcHBlbmQoKSB7Ci0Jb2VfcnVubWFrZSAtQyBwci90ZXN0cwotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1EICR7V09SS0RJUn0vbnNwci5wYy5pbiAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9uc3ByLnBjCi0gICAgc2VkIC1pICBcCi0gICAgLWUgJ3M6TlNQUlZFUlNJT046JHtQVn06ZycgXAotICAgIC1lICdzOk9FUFJFRklYOiR7cHJlZml4fTpnJyBcCi0gICAgLWUgJ3M6T0VMSUJESVI6JHtsaWJkaXJ9OmcnIFwKLSAgICAtZSAnczpPRUlOQ0RJUjoke2luY2x1ZGVkaXJ9OmcnIFwKLSAgICAtZSAnczpPRUVYRUNQUkVGSVg6JHtleGVjX3ByZWZpeH06ZycgXAotICAgICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcHIucGMKLQotICAgIG1rZGlyIC1wICR7RH0ke2xpYmRpcn0vbnNwci90ZXN0cwotICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3ByL3Rlc3RzL3J1bnRlc3RzLnBsICR7RH0ke2xpYmRpcn0vbnNwci90ZXN0cwotICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3ByL3Rlc3RzL3J1bnRlc3RzLnNoICR7RH0ke2xpYmRpcn0vbnNwci90ZXN0cwotICAgIGNkICR7Qn0vcHIvdGVzdHMKLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtURVNUU30gJHtEfSR7bGliZGlyfS9uc3ByL3Rlc3RzCi0KLSAgICAjIGRlbGV0ZSBjb21waWxlLWV0LnBsIGFuZCBwZXJyLnByb3BlcnRpZXMgZnJvbSAke2JpbmRpcn0gYmVjYXVzZSB0aGVzZSBhcmUKLSAgICAjIG9ubHkgdXNlZCB0byBnZW5lcmF0ZSBwcmVyci5jIGFuZCBwcmVyci5oIGZpbGVzIGZyb20gcHJlcnIuZXQgYXQgY29tcGlsZQotICAgICMgdGltZQotICAgIHJtICR7RH0ke2JpbmRpcn0vY29tcGlsZS1ldC5wbCAke0R9JHtiaW5kaXJ9L3ByZXJyLnByb3BlcnRpZXMKLX0KLQotRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28iCi1GSUxFU18ke1BOfS1kZXYgPSAiJHtiaW5kaXJ9LyogJHtsaWJkaXJ9L25zcHIvdGVzdHMvKiAke2xpYmRpcn0vcGtnY29uZmlnIFwKLSAgICAgICAgICAgICAgICAke2luY2x1ZGVkaXJ9LyogJHtkYXRhZGlyfS9hY2xvY2FsLyogIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwcl80LjIxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHJfNC4yMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTU2M2U1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHJfNC4yMS5iYgpAQCAtMCwwICsxLDE5NCBAQAorU1VNTUFSWSA9ICJOZXRzY2FwZSBQb3J0YWJsZSBSdW50aW1lIExpYnJhcnkiCitIT01FUEFHRSA9ICAiaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9wcm9qZWN0cy9uc3ByLyIKK0xJQ0VOU0UgPSAiR1BMLTIuMCB8IE1QTC0yLjAgfCBMR1BMLTIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2NvbmZpZ3VyZS5pbjtiZWdpbmxpbmU9MztlbmRsaW5lPTY7bWQ1PTkwYzJmZGVlMzhlNDVkNjMwMmFiY2ZlNDc1YzhiNWM1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL01ha2VmaWxlLmluO2JlZ2lubGluZT00O2VuZGxpbmU9Mzg7bWQ1PWJlZGExZGJiOThhNTE1ZjU1N2QzZTU4ZWYwNmJjYTk5IgorU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5tb3ppbGxhLm9yZy9wdWIvbnNwci9yZWxlYXNlcy92JHtQVn0vc3JjL25zcHItJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3JlbW92ZS1ycGF0aC1mcm9tLXRlc3RzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1idWlsZC1vbi14ODZfNjQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLXNyY2Rpci1mcm9tLWNvbmZpZ3VyZS1pbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUFkZC1uaW9zMi1zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWQtRml4LWJ1aWxkLXdpdGgtbXVzbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LUFkZC1BUkMtc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS5pbi1yZW1vdmUtX0JVSUxEX1NUUklORy1hbmQtX0JVSUxEX1RJTUUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbnNwci5wYy5pbiBcCisiCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTX2FwcGVuZF9saWJjLW11c2wgPSAiIENGTEFHUz0nJHtDRkxBR1N9IC1EX1BSX1BPTExfQVZBSUxBQkxFIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1EX1BSX0hBVkVfT0ZGNjRfVCAtRF9QUl9JTkVUNiAtRF9QUl9IQVZFX0lORVRfTlRPUCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtRF9QUl9IQVZFX0dFVEhPU1RCWU5BTUUyIC1EX1BSX0hBVkVfR0VUQUREUklORk8gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLURfUFJfSU5FVDZfUFJPQkUgLUROT19ETE9QRU5fTlVMTCciCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vZnRwLm1vemlsbGEub3JnL3B1Yi9uc3ByL3JlbGVhc2VzLyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInYoP1A8cHZlcj5cZCsoXC5cZCspKykvIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjg2NTU4NmYxOTkxMmE1MGFjYzM3NTVkOGE0NWRiYWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTVlYTMyYzdiMTAwMjE3YjZlMzE5M2JjMDNlNzdmNDg1ZDliZjc1MDQwNTE0NDNiYTljZTg2ZDFjMTdjNmI1YSIKKworQ1ZFX1BST0RVQ1QgPSAibmV0c2NhcGVfcG9ydGFibGVfcnVudGltZSIKKworUyA9ICIke1dPUktESVJ9L25zcHItJHtQVn0vbnNwciIKKworUkRFUEVORFNfJHtQTn0tZGV2ICs9ICJwZXJsIgorVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK1RFU1RTID0gIiBcCisgICAgYWNjZXB0IFwKKyAgICBhY2NlcHRyZWFkIFwKKyAgICBhY2NlcHRyZWFkZW11IFwKKyAgICBhZmZpbml0eSBcCisgICAgYWxhcm0gXAorICAgIGFub25mbSBcCisgICAgYXRvbWljIFwKKyAgICBhdHRhY2ggXAorICAgIGJpZ2ZpbGUgXAorICAgIGNsZWFudXAgXAorICAgIGNsdHNydiAgXAorICAgIGNvbmN1ciBcCisgICAgY3ZhciBcCisgICAgY3ZhcjIgXAorICAgIGRsbHRlc3QgXAorICAgIGR0b2EgXAorICAgIGVycmNvZGVzIFwKKyAgICBleGl0IFwKKyAgICBmZGNhY2ggXAorICAgIGZpbGVpbyBcCisgICAgZm9yZWlnbiBcCisgICAgZm9ybWF0dG0gXAorICAgIGZzeW5jIFwKKyAgICBnZXRob3N0IFwKKyAgICBnZXRwcm90byBcCisgICAgaTJsIFwKKyAgICBpbml0Y2xrIFwKKyAgICBpbnJ2YWwgXAorICAgIGluc3RydW10IFwKKyAgICBpbnRyaW8gXAorICAgIGludHJ1cHQgXAorICAgIGlvX3RpbWVvdXQgXAorICAgIGlvY29udGhyIFwKKyAgICBqb2luIFwKKyAgICBqb2lua2sgXAorICAgIGpvaW5rdSBcCisgICAgam9pbnVrIFwKKyAgICBqb2ludXUgXAorICAgIGxheWVyIFwKKyAgICBsYXp5aW5pdCBcCisgICAgbGliZmlsZW5hbWUgXAorICAgIGxsdGVzdCBcCisgICAgbG9jayBcCisgICAgbG9ja2ZpbGUgXAorICAgIGxvZ2ZpbGUgXAorICAgIGxvZ2dlciBcCisgICAgbWFueV9jdiBcCisgICAgbXVsdGl3YWl0IFwKKyAgICBuYW1lc2htMSBcCisgICAgbmJsYXllciBcCisgICAgbm9uYmxvY2sgXAorICAgIG50aW90byBcCisgICAgbnRvaCBcCisgICAgb3BfMmxvbmcgXAorICAgIG9wX2V4Y2wgXAorICAgIG9wX2ZpbG5mIFwKKyAgICBvcF9maWxvayBcCisgICAgb3Bfbm9maWwgXAorICAgIHBhcmVudCBcCisgICAgcGFyc2V0bSBcCisgICAgcGVlayBcCisgICAgcGVyZiBcCisgICAgcGlwZXBpbmcgXAorICAgIHBpcGVwaW5nMiBcCisgICAgcGlwZXNlbGYgXAorICAgIHBvbGxfbm0gXAorICAgIHBvbGxfdG8gXAorICAgIHBvbGxhYmxlIFwKKyAgICBwcmZ0ZXN0IFwKKyAgICBwcmltYmxvayBcCisgICAgcHJvdmlkZXIgXAorICAgIHBycG9sbG1sIFwKKyAgICByYW5maWxlIFwKKyAgICByYW5kc2VlZCBcCisgICAgcmVpbml0IFwKKyAgICByd2xvY2t0ZXN0IFwKKyAgICBzZWxfc3BkIFwKKyAgICBzZWxjdF9lciBcCisgICAgc2VsY3Rfbm0gXAorICAgIHNlbGN0X3RvIFwKKyAgICBzZWxpbnRyIFwKKyAgICBzZW1hIFwKKyAgICBzZW1hZXJyIFwKKyAgICBzZW1hcGluZyBcCisgICAgc2VuZHpsZiBcCisgICAgc2VydmVyX3Rlc3QgXAorICAgIHNlcnZyX2trIFwKKyAgICBzZXJ2cl91ayBcCisgICAgc2VydnJfa3UgXAorICAgIHNlcnZyX3V1IFwKKyAgICBzaG9ydF90aHJlYWQgXAorICAgIHNpZ3BpcGUgXAorICAgIHNvY2tldCBcCisgICAgc29ja29wdCBcCisgICAgc29ja3BpbmcgXAorICAgIHNwcmludGYgXAorICAgIHN0YWNrIFwKKyAgICBzdGRpbyBcCisgICAgc3RyMmFkZHIgXAorICAgIHN0cm9kIFwKKyAgICBzd2l0Y2ggXAorICAgIHN5c3RlbSBcCisgICAgdGVzdGJpdCBcCisgICAgdGVzdGZpbGUgXAorICAgIHRocmVhZHMgXAorICAgIHRpbWVtYWMgXAorICAgIHRpbWV0ZXN0IFwKKyAgICB0cGQgXAorICAgIHVkcHNydiBcCisgICAgdmVyY2hlY2sgXAorICAgIHZlcnNpb24gXAorICAgIHdyaXRldiBcCisgICAgeG5vdGlmeSBcCisgICAgemVyb2xlbiIKKworaW5oZXJpdCBhdXRvdG9vbHMgbXVsdGlsaWJfc2NyaXB0CisKK01VTFRJTElCX1NDUklQVFMgPSAiJHtQTn0tZGV2OiR7YmluZGlyfS9uc3ByLWNvbmZpZyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCitQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisJb2VfcnVubWFrZSBDUk9TU19DT01QSUxFPTEgQ0ZMQUdTPSItRFhQX1VOSVggJHtCVUlMRF9DRkxBR1N9IiBMREZMQUdTPSIiIENDPSIke0JVSUxEX0NDfSIgLUMgY29uZmlnIGV4cG9ydAorfQorCitkb19jb21waWxlX2FwcGVuZCgpIHsKKwlvZV9ydW5tYWtlIC1DIHByL3Rlc3RzCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLUQgJHtXT1JLRElSfS9uc3ByLnBjLmluICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcHIucGMKKyAgICBzZWQgLWkgIFwKKyAgICAtZSAnczpOU1BSVkVSU0lPTjoke1BWfTpnJyBcCisgICAgLWUgJ3M6T0VQUkVGSVg6JHtwcmVmaXh9OmcnIFwKKyAgICAtZSAnczpPRUxJQkRJUjoke2xpYmRpcn06ZycgXAorICAgIC1lICdzOk9FSU5DRElSOiR7aW5jbHVkZWRpcn06ZycgXAorICAgIC1lICdzOk9FRVhFQ1BSRUZJWDoke2V4ZWNfcHJlZml4fTpnJyBcCisgICAgJHtEfSR7bGliZGlyfS9wa2djb25maWcvbnNwci5wYworCisgICAgbWtkaXIgLXAgJHtEfSR7bGliZGlyfS9uc3ByL3Rlc3RzCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vcHIvdGVzdHMvcnVudGVzdHMucGwgJHtEfSR7bGliZGlyfS9uc3ByL3Rlc3RzCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vcHIvdGVzdHMvcnVudGVzdHMuc2ggJHtEfSR7bGliZGlyfS9uc3ByL3Rlc3RzCisgICAgY2QgJHtCfS9wci90ZXN0cworICAgIGluc3RhbGwgLW0gMDc1NSAke1RFU1RTfSAke0R9JHtsaWJkaXJ9L25zcHIvdGVzdHMKKworICAgICMgZGVsZXRlIGNvbXBpbGUtZXQucGwgYW5kIHBlcnIucHJvcGVydGllcyBmcm9tICR7YmluZGlyfSBiZWNhdXNlIHRoZXNlIGFyZQorICAgICMgb25seSB1c2VkIHRvIGdlbmVyYXRlIHByZXJyLmMgYW5kIHByZXJyLmggZmlsZXMgZnJvbSBwcmVyci5ldCBhdCBjb21waWxlCisgICAgIyB0aW1lCisgICAgcm0gJHtEfSR7YmluZGlyfS9jb21waWxlLWV0LnBsICR7RH0ke2JpbmRpcn0vcHJlcnIucHJvcGVydGllcworfQorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKi5zbyIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2JpbmRpcn0vKiAke2xpYmRpcn0vbnNwci90ZXN0cy8qICR7bGliZGlyfS9wa2djb25maWcgXAorICAgICAgICAgICAgICAgICR7aW5jbHVkZWRpcn0vKiAke2RhdGFkaXJ9L2FjbG9jYWwvKiAiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNzL25zcy9uc3MtZml4LVNIQV9IVE9OTC1idWctZm9yLWFybS0zMmJlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3MvbnNzL25zcy1maXgtU0hBX0hUT05MLWJ1Zy1mb3ItYXJtLTMyYmUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJiMWM2ZTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3MvbnNzL25zcy1maXgtU0hBX0hUT05MLWJ1Zy1mb3ItYXJtLTMyYmUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBTSEFfSFRPTkwgYnVnIGZvciBhcm0gMzJiZS4KLQotSW4gYXJtIDMyYmUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gcmV2ZXJzZSB0aGUgaG9zdCB2YWx1ZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFpoZW5nIFJ1b3FpbiA8emhlbmdycS5mbnN0QGNuLmZ1aml0c3UuY29tPgotLS0tCi0gbGliL2ZyZWVibC9zaGFfZmFzdC5oIHwgMiArKwotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL25zcy9saWIvZnJlZWJsL3NoYV9mYXN0LmggYi9uc3MvbGliL2ZyZWVibC9zaGFfZmFzdC5oCi1pbmRleCA0ZjM3ZDEzLi44MDcyZWRhIDEwMDY0NAotLS0tIGEvbnNzL2xpYi9mcmVlYmwvc2hhX2Zhc3QuaAotKysrIGIvbnNzL2xpYi9mcmVlYmwvc2hhX2Zhc3QuaAotQEAgLTk5LDYgKzk5LDcgQEAgc3dhcDRiKFBSVWludDMyIHZhbHVlKQotICAgICAgIGRlZmluZWQoX19BUk1fQVJDSF83X18pIHx8ICAgXAotICAgICAgIGRlZmluZWQoX19BUk1fQVJDSF83QV9fKSB8fCAgXAotICAgICAgIGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKSkpCi0rI2lmIGRlZmluZWQoSVNfTElUVExFX0VORElBTikgIAotIHN0YXRpYyBfX2lubGluZV9fIFBSVWludDMyCi0gc3dhcDRiKFBSVWludDMyIHZhbHVlKQotIHsKLUBAIC0xMDksNiArMTEwLDcgQEAgc3dhcDRiKFBSVWludDMyIHZhbHVlKQotICAgICByZXR1cm4gcmV0OwotIH0KLSAjZGVmaW5lIFNIQV9IVE9OTCh4KSBzd2FwNGIoeCkKLSsjZW5kaWYKLSAKLSAjZW5kaWYgLyogeDg2IGZhbWlseSAqLwotIAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcy9uc3NfMy4zOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNzL25zc18zLjM5LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYThlNWQ0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNzL25zc18zLjM5LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjY1ICswLDAgQEAKLVNVTU1BUlkgPSAiTW96aWxsYSdzIFNTTCBhbmQgVExTIGltcGxlbWVudGF0aW9uIgotREVTQ1JJUFRJT04gPSAiTmV0d29yayBTZWN1cml0eSBTZXJ2aWNlcyAoTlNTKSBpcyBhIHNldCBvZiBsaWJyYXJpZXMgXAotZGVzaWduZWQgdG8gc3VwcG9ydCBjcm9zcy1wbGF0Zm9ybSBkZXZlbG9wbWVudCBvZiBcCi1zZWN1cml0eS1lbmFibGVkIGNsaWVudCBhbmQgc2VydmVyIGFwcGxpY2F0aW9ucy4gXAotQXBwbGljYXRpb25zIGJ1aWx0IHdpdGggTlNTIGNhbiBzdXBwb3J0IFNTTCB2MiBhbmQgdjMsIFwKLVRMUywgUEtDUyA1LCBQS0NTIDcsIFBLQ1MgMTEsIFBLQ1MgMTIsIFMvTUlNRSwgWC41MDkgXAotdjMgY2VydGlmaWNhdGVzLCBhbmQgb3RoZXIgc2VjdXJpdHkgc3RhbmRhcmRzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cubW96aWxsYS5vcmcvcHJvamVjdHMvc2VjdXJpdHkvcGtpL25zcy8iCi1TRUNUSU9OID0gImxpYnMiCi0KLUxJQ0VOU0UgPSAiTVBMLTIuMCB8IChNUEwtMi4wICYgR1BMLTIuMCspIHwgKE1QTC0yLjAgJiBMR1BMLTIuMSspIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9uc3MvQ09QWUlORzttZDU9M2IxZTg4ZTFiOWMwYjVhNGIyODgxZDQ2Y2NlMDZhMTggXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbnNzL2xpYi9mcmVlYmwvbXBpL2RvYy9MSUNFTlNFO21kNT00OTFmMTU4ZDA5ZDk0ODQ2NmFmY2U4NWQ2ZjFmZTE4ZiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9uc3MvbGliL2ZyZWVibC9tcGkvZG9jL0xJQ0VOU0UtTVBMO21kNT01ZDQyNWM4ZjMxNTdkYmYyMTJkYjJlYzUzZDllNTEzMiIKLQotVkVSU0lPTl9ESVIgPSAiJHtAZC5nZXRWYXIoJ0JQJykudXBwZXIoKS5yZXBsYWNlKCctJywgJ18nKS5yZXBsYWNlKCcuJywgJ18nKSArICdfUlRNJ30iCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Z0cC5tb3ppbGxhLm9yZy9wdWIvbW96aWxsYS5vcmcvc2VjdXJpdHkvbnNzL3JlbGVhc2VzLyR7VkVSU0lPTl9ESVJ9L3NyYy8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vbnNzLnBjLmluIFwKLSAgICAgICAgICAgZmlsZTovL3NpZ25saWJzLnNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbnNzLWZpeC1zdXBwb3J0LWNyb3NzLWNvbXBpbGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9uc3Mtbm8tcnBhdGgtZm9yLWNyb3NzLWNvbXBpbGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9uc3MtZml4LWluY29ycmVjdC1zaGViYW5nLW9mLXBlcmwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbnNzLWZpeC1uc2luc3RhbGwtYnVpbGQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1XdmFyYXJncy13aXRoLWNsYW5nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3BxZy5jLVVMTF9hZGRlbmQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vYmxhbmstY2VydDkuZGIgXAotICAgICAgICAgICBmaWxlOi8vYmxhbmsta2V5NC5kYiBcCi0gICAgICAgICAgIGZpbGU6Ly9zeXN0ZW0tcGtjczExLnR4dCBcCi0gICAgICAgICAgIGZpbGU6Ly9uc3MtZml4LVNIQV9IVE9OTC1idWctZm9yLWFybS0zMmJlLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMTA3MjBmYzcwZmQ0ODNkZTFiMDg1NDAyZmIxMGVkNTkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmJlNjRkZDc2ZjIxMjQxNWNjOGJjMzQzNDNhYzFlNzM4OTA0OGRiNGRiOWEwMjNhODQ4NzNjNDExZGM1ODY0YiIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Qcm9qZWN0cy9OU1MvTlNTX1JlbGVhc2VzIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiTlNTXyg/UDxwdmVyPi4rKV9yZWxlYXNlX25vdGVzIgotCi1pbmhlcml0IHNpdGVpbmZvCi0KLURFUEVORFMgPSAic3FsaXRlMyBuc3ByIHpsaWIgbnNzLW5hdGl2ZSIKLURFUEVORFNfY2xhc3MtbmF0aXZlID0gInNxbGl0ZTMtbmF0aXZlIG5zcHItbmF0aXZlIHpsaWItbmF0aXZlIgotUkRFUEVORFNfJHtQTn0tc21pbWUgPSAicGVybCIKLQotVEQgPSAiJHtTfS90ZW50YXRpdmUtZGlzdCIKLVREUyA9ICIke1N9L3RlbnRhdGl2ZS1kaXN0LXN0YWdpbmciCi0KLVRBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgotCi1kb19jb25maWd1cmVfcHJlcGVuZF9saWJjLW11c2wgKCkgewotICAgIHNlZCAtaSAtZSAnLy1ESEFWRV9TWVNfQ0RFRlNfSC9kJyAke1N9L25zcy9saWIvZGJtL2NvbmZpZy9jb25maWcubWsKLX0KLQotZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLSAgICBleHBvcnQgTlNQUl9JTkNMVURFX0RJUj0ke1NUQUdJTkdfSU5DRElSX05BVElWRX0KLSAgICBleHBvcnQgTlNQUl9MSUJfRElSPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfQotICAgIGV4cG9ydCBOU1NfRU5BQkxFX1dFUlJPUj0wCi19Ci0KLWRvX2NvbXBpbGVfcHJlcGVuZF9jbGFzcy1uYXRpdmVzZGsoKSB7Ci0gICAgZXhwb3J0IExERkxBR1M9IiIKLX0KLQotZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLSAgICAjIE5lZWQgdG8gc2V0IFJQQVRIIHNvIHRoYXQgY2hycGF0aCB3aWxsIGRvIGl0cyBqb2IgY29ycmVjdGx5Ci0gICAgUlBBVEg9Ii1XbCwtcnBhdGgtbGluaywke1NUQUdJTkdfTElCRElSX05BVElWRX0gLVdsLC1ycGF0aC1saW5rLCR7U1RBR0lOR19CQVNFX0xJQkRJUl9OQVRJVkV9IC1XbCwtcnBhdGgsJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9IC1XbCwtcnBhdGgsJHtTVEFHSU5HX0JBU0VfTElCRElSX05BVElWRX0iCi19Ci0KLWRvX2NvbXBpbGUoKSB7Ci0gICAgZXhwb3J0IENST1NTX0NPTVBJTEU9MQotICAgIGV4cG9ydCBOQVRJVkVfQ0M9IiR7QlVJTERfQ0N9IgotICAgIGV4cG9ydCBOQVRJVkVfRkxBR1M9IiR7QlVJTERfQ0ZMQUdTfSIKLSAgICBleHBvcnQgQlVJTERfT1BUPTEKLQotICAgIGV4cG9ydCBGUkVFQkxfTk9fREVQRU5EPTEKLSAgICBleHBvcnQgRlJFRUJMX0xPV0hBU0g9MQotCi0gICAgZXhwb3J0IExJQkRJUj0ke2xpYmRpcn0KLSAgICBleHBvcnQgTU9aSUxMQV9DTElFTlQ9MQotICAgIGV4cG9ydCBOU19VU0VfR0NDPTEKLSAgICBleHBvcnQgTlNTX1VTRV9TWVNURU1fU1FMSVRFPTEKLSAgICBleHBvcnQgTlNTX0VOQUJMRV9FQ0M9MQotCi0gICAgZXhwb3J0IE9TX1JFTEVBU0U9My40Ci0gICAgZXhwb3J0IE9TX1RBUkdFVD1MaW51eAotICAgIGV4cG9ydCBPU19BUkNIPUxpbnV4Ci0KLSAgICBpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAicG93ZXJwYyIgXTsgdGhlbgotICAgICAgICBPU19URVNUPXBwYwotICAgIGVsaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gInBvd2VycGM2NCIgXTsgdGhlbgotICAgICAgICBPU19URVNUPXBwYzY0Ci0gICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAibWlwcyIgLW8gIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzZWwiIC1vICIke1RBUkdFVF9BUkNIfSIgPSAibWlwczY0IiAtbyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHM2NGVsIiBdOyB0aGVuCi0gICAgICAgIE9TX1RFU1Q9bWlwcwotICAgIGVsaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gImFhcmNoNjRfYmUiIF07IHRoZW4KLSAgICAgICAgT1NfVEVTVD0iYWFyY2g2NCIKLSAgICBlbHNlCi0gICAgICAgIE9TX1RFU1Q9IiR7VEFSR0VUX0FSQ0h9IgotICAgIGZpCi0KLSAgICBpZiBbICIke1NJVEVJTkZPX0JJVFN9IiA9ICI2NCIgXTsgdGhlbgotICAgICAgICBleHBvcnQgVVNFXzY0PTEKLSAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJ4ODZfNjQiIC1hICIke1NJVEVJTkZPX0JJVFN9IiA9ICIzMiIgXTsgdGhlbgotICAgICAgICBleHBvcnQgVVNFX1gzMj0xCi0gICAgZmkKLQotICAgIGV4cG9ydCBOU1NfRElTQUJMRV9HVEVTVFM9MQotCi0gICAgIyBXZSBjYW4gbW9kaWZ5IENDIGluIHRoZSBlbnZpcm9ubWVudCwgYnV0IGlmIHdlIHNldCBpdCB2aWEgYW4KLSAgICAjIGFyZ3VtZW50IHRvIG1ha2UsIG5zaW5zdGFsbCwgYSBob3N0IHByb2dyYW0sIHdpbGwgYWxzbyBidWlsZCB3aXRoIGl0IQotICAgICMKLSAgICAjIG5zcyBwcmV0dHkgbXVjaCBkb2VzIGl0cyBvd24gdGhpbmcgd2l0aCBDRkxBR1MsIHNvIHdlIHB1dCB0aGVtIGludG8gQ0MuCi0gICAgIyBPcHRpbWl6YXRpb24gd2lsbCBnZXQgY2xvYmJlcmVkLCBidXQgbW9zdCBvZiB0aGUgc3R1ZmYgd2lsbCBzdXJ2aXZlLgotICAgICMgVGhlIG1vdGl2YXRpb24gZm9yIHRoaXMgaXMgdG8gcG9pbnQgdG8gdGhlIGNvcnJlY3QgcGxhY2UgZm9yIGRlYnVnCi0gICAgIyBzb3VyY2UgZmlsZXMgYW5kIENGTEFHUyBkb2VzIHRoYXQuICBOb3RoaW5nIHVzZXMgQ0NDLgotICAgICMKLSAgICBleHBvcnQgQ0M9IiR7Q0N9ICR7Q0ZMQUdTfSIKLSAgICBtYWtlIC1DIC4vbnNzIENDQz0iJHtDWFh9IC1nIiBcCi0gICAgICAgIE9TX1RFU1Q9JHtPU19URVNUfSBcCi0gICAgICAgIFJQQVRIPSIke1JQQVRIfSIKLX0KLWRvX2NvbXBpbGVbdmFyZGVwc2V4Y2x1ZGVdICs9ICJTSVRFSU5GT19CSVRTIgotCi0KLWRvX2luc3RhbGxfcHJlcGVuZF9jbGFzcy1uYXRpdmVzZGsoKSB7Ci0gICAgZXhwb3J0IExERkxBR1M9IiIKLX0KLQotZG9faW5zdGFsbCgpIHsKLSAgICBleHBvcnQgQ1JPU1NfQ09NUElMRT0xCi0gICAgZXhwb3J0IE5BVElWRV9DQz0iJHtCVUlMRF9DQ30iCi0gICAgZXhwb3J0IEJVSUxEX09QVD0xCi0KLSAgICBleHBvcnQgRlJFRUJMX05PX0RFUEVORD0xCi0KLSAgICBleHBvcnQgTElCRElSPSR7bGliZGlyfQotICAgIGV4cG9ydCBNT1pJTExBX0NMSUVOVD0xCi0gICAgZXhwb3J0IE5TX1VTRV9HQ0M9MQotICAgIGV4cG9ydCBOU1NfVVNFX1NZU1RFTV9TUUxJVEU9MQotICAgIGV4cG9ydCBOU1NfRU5BQkxFX0VDQz0xCi0KLSAgICBleHBvcnQgT1NfUkVMRUFTRT0zLjQKLSAgICBleHBvcnQgT1NfVEFSR0VUPUxpbnV4Ci0gICAgZXhwb3J0IE9TX0FSQ0g9TGludXgKLQotICAgIGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJwb3dlcnBjIiBdOyB0aGVuCi0gICAgICAgIE9TX1RFU1Q9cHBjCi0gICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAicG93ZXJwYzY0IiBdOyB0aGVuCi0gICAgICAgIE9TX1RFU1Q9cHBjNjQKLSAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzIiAtbyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHNlbCIgLW8gIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzNjQiIC1vICIke1RBUkdFVF9BUkNIfSIgPSAibWlwczY0ZWwiIF07IHRoZW4KLSAgICAgICAgT1NfVEVTVD1taXBzCi0gICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAiYWFyY2g2NF9iZSIgXTsgdGhlbgotICAgICAgICBDUFVfQVJDSD1hYXJjaDY0Ci0gICAgICAgIE9TX1RFU1Q9ImFhcmNoNjQiCi0gICAgZWxzZQotICAgICAgICBPU19URVNUPSIke1RBUkdFVF9BUkNIfSIKLSAgICBmaQotICAgIGlmIFsgIiR7U0lURUlORk9fQklUU30iID0gIjY0IiBdOyB0aGVuCi0gICAgICAgIGV4cG9ydCBVU0VfNjQ9MQotICAgIGVsaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gIng4Nl82NCIgLWEgIiR7U0lURUlORk9fQklUU30iID0gIjMyIiBdOyB0aGVuCi0gICAgICAgIGV4cG9ydCBVU0VfWDMyPTEKLSAgICBmaQotCi0gICAgZXhwb3J0IE5TU19ESVNBQkxFX0dURVNUUz0xCi0KLSAgICBtYWtlIC1DIC4vbnNzIFwKLSAgICAgICAgQ0NDPSIke0NYWH0iIFwKLSAgICAgICAgT1NfVEVTVD0ke09TX1RFU1R9IFwKLSAgICAgICAgU09VUkNFX0xJQl9ESVI9IiR7VER9LyR7bGliZGlyfSIgXAotICAgICAgICBTT1VSQ0VfQklOX0RJUj0iJHtURH0vJHtiaW5kaXJ9IiBcCi0gICAgICAgIGluc3RhbGwKLQotICAgIGluc3RhbGwgLWQgJHtEfS8ke2xpYmRpcn0vCi0gICAgZm9yIGZpbGUgaW4gJHtTfS9kaXN0LyouT0JKL2xpYi8qLnNvOyBkbwotICAgICAgICBlY2hvICJJbnN0YWxsaW5nIGBiYXNlbmFtZSAkZmlsZWAuLi4iCi0gICAgICAgIGNwICRmaWxlICAke0R9LyR7bGliZGlyfS8KLSAgICBkb25lCi0KLSAgICBmb3Igc2hhcmVkX2xpYiBpbiAke1REfS8ke2xpYmRpcn0vKi5zby4qOyBkbwotICAgICAgICBpZiBbIC1mICRzaGFyZWRfbGliIF07IHRoZW4KLSAgICAgICAgICAgIGNwICRzaGFyZWRfbGliICR7RH0vJHtsaWJkaXJ9Ci0gICAgICAgICAgICBsbiAtc2YgJChiYXNlbmFtZSAkc2hhcmVkX2xpYikgJHtEfS8ke2xpYmRpcn0vJChiYXNlbmFtZSAkc2hhcmVkX2xpYiAuMW9lKQotICAgICAgICBmaQotICAgIGRvbmUKLSAgICBmb3Igc2hhcmVkX2xpYiBpbiAke1REfS8ke2xpYmRpcn0vKi5zbzsgZG8KLSAgICAgICAgaWYgWyAtZiAkc2hhcmVkX2xpYiAtYSAhIC1lICR7RH0vJHtsaWJkaXJ9LyRzaGFyZWRfbGliIF07IHRoZW4KLSAgICAgICAgICAgIGNwICRzaGFyZWRfbGliICR7RH0vJHtsaWJkaXJ9Ci0gICAgICAgIGZpCi0gICAgZG9uZQotCi0gICAgaW5zdGFsbCAtZCAke0R9LyR7aW5jbHVkZWRpcn0vbnNzMwotICAgIGluc3RhbGwgLW0gNjQ0IC10ICR7RH0vJHtpbmNsdWRlZGlyfS9uc3MzIGRpc3QvcHVibGljL25zcy8qCi0KLSAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9Ci0gICAgZm9yIGJpbmFyeSBpbiAke1REfS8ke2JpbmRpcn0vKjsgZG8KLSAgICAgICAgaW5zdGFsbCAtbSA3NTUgLXQgJHtEfS8ke2JpbmRpcn0gJGJpbmFyeQotICAgIGRvbmUKLX0KLWRvX2luc3RhbGxbdmFyZGVwc2V4Y2x1ZGVdICs9ICJTSVRFSU5GT19CSVRTIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICAjIENyZWF0ZSBlbXB0eSAuY2hrIGZpbGVzIGZvciB0aGUgTlNTIGxpYnJhcmllcyBhdCBidWlsZCB0aW1lLiBUaGV5IGNvdWxkCi0gICAgIyBiZSByZWdlbmVyYXRlZCBhdCB0YXJnZXQncyBib290IHRpbWUuCi0gICAgZm9yIGZpbGUgaW4gbGlic29mdG9rbjMuY2hrIGxpYmZyZWVibDMuY2hrIGxpYm5zc2RibTMuY2hrOyBkbwotICAgICAgICB0b3VjaCAke0R9LyR7bGliZGlyfS8kZmlsZQotICAgICAgICBjaG1vZCA3NTUgJHtEfS8ke2xpYmRpcn0vJGZpbGUKLSAgICBkb25lCi0gICAgaW5zdGFsbCAtRCAtbSA3NTUgJHtXT1JLRElSfS9zaWdubGlicy5zaCAke0R9LyR7YmluZGlyfS9zaWdubGlicy5zaAotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy8KLSAgICBzZWQgJ3MvJU5TU19WRVJTSU9OJS8ke1BWfS8nICR7V09SS0RJUn0vbnNzLnBjLmluIHwgc2VkICdzLyVOU1BSX1ZFUlNJT04lLzQuOS4yLycgPiAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9uc3MucGMKLSAgICBzZWQgLWkgczpPRVBSRUZJWDoke3ByZWZpeH06ZyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9uc3MucGMKLSAgICBzZWQgLWkgczpPRUVYRUNQUkVGSVg6JHtleGVjX3ByZWZpeH06ZyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9uc3MucGMKLSAgICBzZWQgLWkgczpPRUxJQkRJUjoke2xpYmRpcn06ZyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9uc3MucGMKLSAgICBzZWQgLWkgczpPRUlOQ0RJUjoke2luY2x1ZGVkaXJ9L25zczM6ZyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9uc3MucGMKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotICAgICMgSXQgdXNlZCB0byBjYWxsIGNlcnR1dGlsIHRvIGNyZWF0ZSBhIGJsYW5rIGNlcnRpZmljYXRlIHdpdGggZW1wdHkgcGFzc3dvcmQgYXQKLSAgICAjIGJ1aWxkIHRpbWUsIGJ1dCB0aGUgY2hlY2tzdW0gb2Yga2V5NC5kYiBjaGFuZ2VzIGV2ZXJ5IHRpbWUgd2hlbiBjZXJ0dXRpbCBpcyBjYWxsZWQuCi0gICAgIyBJdCBjYXVzZXMgbm9uLWRldGVybWluaXNtIGlzc3VlLCBzbyBwcm92aWRlIGRhdGFiYXNlcyB3aXRoIGEgYmxhbmsgY2VydGlmaWNhdGUKLSAgICAjIHdoaWNoIGFyZSBvcmlnaW5hbGx5IGZyb20gb3V0cHV0IG9mIG5zcyBpbiBxZW11eDg2LTY0IGJ1aWxkLiBZb3UgY2FuIGdldCB0aGVzZQotICAgICMgZGF0YWJhc2VzIGJ5OgotICAgICMgY2VydHV0aWwgLU4gLWQgc3FsOi9kYXRhYmFzZS9wYXRoLyAtLWVtcHR5LXBhc3N3b3JkCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9wa2kvbnNzZGIvCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vYmxhbmstY2VydDkuZGIgJHtEfSR7c3lzY29uZmRpcn0vcGtpL25zc2RiL2NlcnQ5LmRiCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vYmxhbmsta2V5NC5kYiAke0R9JHtzeXNjb25mZGlyfS9wa2kvbnNzZGIva2V5NC5kYgotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3N5c3RlbS1wa2NzMTEudHh0ICR7RH0ke3N5c2NvbmZkaXJ9L3BraS9uc3NkYi9wa2NzMTEudHh0Ci19Ci0KLVBBQ0tBR0VfV1JJVEVfREVQUyArPSAibnNzLW5hdGl2ZSIKLXBrZ19wb3N0aW5zdF8ke1BOfSAoKSB7Ci0gICAgaWYgWyAtbiAiJEQiIF07IHRoZW4KLSAgICAgICAgZm9yIEkgaW4gJEQke2xpYmRpcn0vbGliKi5jaGs7IGRvCi0gICAgICAgICAgICBETj1gZGlybmFtZSAkSWAKLSAgICAgICAgICAgIEJOPWBiYXNlbmFtZSAkSSAuY2hrYAotICAgICAgICAgICAgRk49JEROLyRCTi5zbwotICAgICAgICAgICAgc2hsaWJzaWduIC1pICRGTgotICAgICAgICAgICAgaWYgWyAkPyAtbmUgMCBdOyB0aGVuCi0gICAgICAgICAgICAgICAgZXhpdCAxCi0gICAgICAgICAgICBmaQotICAgICAgICBkb25lCi0gICAgZWxzZQotICAgICAgICBzaWdubGlicy5zaAotICAgIGZpCi19Ci0KLVBBQ0tBR0VTID0rICIke1BOfS1zbWltZSIKLUZJTEVTXyR7UE59LXNtaW1lID0gIlwKLSAgICAke2JpbmRpcn0vc21pbWUgXAotIgotRklMRVNfJHtQTn0gPSAiXAotICAgICR7c3lzY29uZmRpcn0gXAotICAgICR7YmluZGlyfSBcCi0gICAgJHtsaWJkaXJ9L2xpYiouY2hrIFwKLSAgICAke2xpYmRpcn0vbGliKi5zbyBcCi0gICAgIgotRklMRVNfJHtQTn0tZGV2ID0gIlwKLSAgICAke2xpYmRpcn0vbnNzIFwKLSAgICAke2xpYmRpcn0vcGtnY29uZmlnLyogXAotICAgICR7aW5jbHVkZWRpcn0vKiBcCi0gICAgIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNzL25zc18zLjQyLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcy9uc3NfMy40Mi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2YmJkODAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcy9uc3NfMy40Mi4xLmJiCkBAIC0wLDAgKzEsMjY0IEBACitTVU1NQVJZID0gIk1vemlsbGEncyBTU0wgYW5kIFRMUyBpbXBsZW1lbnRhdGlvbiIKK0RFU0NSSVBUSU9OID0gIk5ldHdvcmsgU2VjdXJpdHkgU2VydmljZXMgKE5TUykgaXMgYSBzZXQgb2YgbGlicmFyaWVzIFwKK2Rlc2lnbmVkIHRvIHN1cHBvcnQgY3Jvc3MtcGxhdGZvcm0gZGV2ZWxvcG1lbnQgb2YgXAorc2VjdXJpdHktZW5hYmxlZCBjbGllbnQgYW5kIHNlcnZlciBhcHBsaWNhdGlvbnMuIFwKK0FwcGxpY2F0aW9ucyBidWlsdCB3aXRoIE5TUyBjYW4gc3VwcG9ydCBTU0wgdjIgYW5kIHYzLCBcCitUTFMsIFBLQ1MgNSwgUEtDUyA3LCBQS0NTIDExLCBQS0NTIDEyLCBTL01JTUUsIFguNTA5IFwKK3YzIGNlcnRpZmljYXRlcywgYW5kIG90aGVyIHNlY3VyaXR5IHN0YW5kYXJkcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm1vemlsbGEub3JnL3Byb2plY3RzL3NlY3VyaXR5L3BraS9uc3MvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIk1QTC0yLjAgfCAoTVBMLTIuMCAmIEdQTC0yLjArKSB8IChNUEwtMi4wICYgTEdQTC0yLjErKSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vbnNzL0NPUFlJTkc7bWQ1PTNiMWU4OGUxYjljMGI1YTRiMjg4MWQ0NmNjZTA2YTE4IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL25zcy9saWIvZnJlZWJsL21waS9kb2MvTElDRU5TRTttZDU9NDkxZjE1OGQwOWQ5NDg0NjZhZmNlODVkNmYxZmUxOGYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbnNzL2xpYi9mcmVlYmwvbXBpL2RvYy9MSUNFTlNFLU1QTDttZDU9NWQ0MjVjOGYzMTU3ZGJmMjEyZGIyZWM1M2Q5ZTUxMzIiCisKK1ZFUlNJT05fRElSID0gIiR7QGQuZ2V0VmFyKCdCUCcpLnVwcGVyKCkucmVwbGFjZSgnLScsICdfJykucmVwbGFjZSgnLicsICdfJykgKyAnX1JUTSd9IgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAubW96aWxsYS5vcmcvcHViL21vemlsbGEub3JnL3NlY3VyaXR5L25zcy9yZWxlYXNlcy8ke1ZFUlNJT05fRElSfS9zcmMvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL25zcy5wYy5pbiBcCisgICAgICAgICAgIGZpbGU6Ly9zaWdubGlicy5zaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW5zcy1maXgtc3VwcG9ydC1jcm9zcy1jb21waWxpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbnNzLW5vLXJwYXRoLWZvci1jcm9zcy1jb21waWxpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbnNzLWZpeC1pbmNvcnJlY3Qtc2hlYmFuZy1vZi1wZXJsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25zcy1maXgtbnNpbnN0YWxsLWJ1aWxkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Rpc2FibGUtV3ZhcmFyZ3Mtd2l0aC1jbGFuZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9wcWcuYy1VTExfYWRkZW5kLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2JsYW5rLWNlcnQ5LmRiIFwKKyAgICAgICAgICAgZmlsZTovL2JsYW5rLWtleTQuZGIgXAorICAgICAgICAgICBmaWxlOi8vc3lzdGVtLXBrY3MxMS50eHQgXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxZjZjYzZjNzAyMzc5NDc4YTNhNzIyOThjYWFlZjBhNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwODdkYjM3ZDM4ZmQ0OWRmZDU4NGRkMmE4YjViYWE3ZmM4OGRlN2M5YmQ5N2MwYzJkNWJlNGFiY2FmYzYxZmM2IgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9Nb3ppbGxhL1Byb2plY3RzL05TUy9OU1NfUmVsZWFzZXMiCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJOU1NfKD9QPHB2ZXI+LispX3JlbGVhc2Vfbm90ZXMiCisKK2luaGVyaXQgc2l0ZWluZm8KKworREVQRU5EUyA9ICJzcWxpdGUzIG5zcHIgemxpYiBuc3MtbmF0aXZlIgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAic3FsaXRlMy1uYXRpdmUgbnNwci1uYXRpdmUgemxpYi1uYXRpdmUiCitSREVQRU5EU18ke1BOfS1zbWltZSA9ICJwZXJsIgorCitURCA9ICIke1N9L3RlbnRhdGl2ZS1kaXN0IgorVERTID0gIiR7U30vdGVudGF0aXZlLWRpc3Qtc3RhZ2luZyIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kX2xpYmMtbXVzbCAoKSB7CisgICAgc2VkIC1pIC1lICcvLURIQVZFX1NZU19DREVGU19IL2QnICR7U30vbnNzL2xpYi9kYm0vY29uZmlnL2NvbmZpZy5taworfQorCitkb19jb21waWxlX3ByZXBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgIGV4cG9ydCBOU1BSX0lOQ0xVREVfRElSPSR7U1RBR0lOR19JTkNESVJfTkFUSVZFfQorICAgIGV4cG9ydCBOU1BSX0xJQl9ESVI9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9CisgICAgZXhwb3J0IE5TU19FTkFCTEVfV0VSUk9SPTAKK30KKworZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKKyAgICBleHBvcnQgTERGTEFHUz0iIgorfQorCitkb19jb21waWxlX3ByZXBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgICMgTmVlZCB0byBzZXQgUlBBVEggc28gdGhhdCBjaHJwYXRoIHdpbGwgZG8gaXRzIGpvYiBjb3JyZWN0bHkKKyAgICBSUEFUSD0iLVdsLC1ycGF0aC1saW5rLCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSAtV2wsLXJwYXRoLWxpbmssJHtTVEFHSU5HX0JBU0VfTElCRElSX05BVElWRX0gLVdsLC1ycGF0aCwke1NUQUdJTkdfTElCRElSX05BVElWRX0gLVdsLC1ycGF0aCwke1NUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSIKK30KKworZG9fY29tcGlsZSgpIHsKKyAgICBleHBvcnQgQ1JPU1NfQ09NUElMRT0xCisgICAgZXhwb3J0IE5BVElWRV9DQz0iJHtCVUlMRF9DQ30iCisgICAgZXhwb3J0IE5BVElWRV9GTEFHUz0iJHtCVUlMRF9DRkxBR1N9IgorICAgIGV4cG9ydCBCVUlMRF9PUFQ9MQorCisgICAgZXhwb3J0IEZSRUVCTF9OT19ERVBFTkQ9MQorICAgIGV4cG9ydCBGUkVFQkxfTE9XSEFTSD0xCisKKyAgICBleHBvcnQgTElCRElSPSR7bGliZGlyfQorICAgIGV4cG9ydCBNT1pJTExBX0NMSUVOVD0xCisgICAgZXhwb3J0IE5TX1VTRV9HQ0M9MQorICAgIGV4cG9ydCBOU1NfVVNFX1NZU1RFTV9TUUxJVEU9MQorICAgIGV4cG9ydCBOU1NfRU5BQkxFX0VDQz0xCisKKyAgICBleHBvcnQgT1NfUkVMRUFTRT0zLjQKKyAgICBleHBvcnQgT1NfVEFSR0VUPUxpbnV4CisgICAgZXhwb3J0IE9TX0FSQ0g9TGludXgKKworICAgIGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJwb3dlcnBjIiBdOyB0aGVuCisgICAgICAgIE9TX1RFU1Q9cHBjCisgICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAicG93ZXJwYzY0IiBdOyB0aGVuCisgICAgICAgIE9TX1RFU1Q9cHBjNjQKKyAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzIiAtbyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHNlbCIgLW8gIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzNjQiIC1vICIke1RBUkdFVF9BUkNIfSIgPSAibWlwczY0ZWwiIF07IHRoZW4KKyAgICAgICAgT1NfVEVTVD1taXBzCisgICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAiYWFyY2g2NF9iZSIgXTsgdGhlbgorICAgICAgICBPU19URVNUPSJhYXJjaDY0IgorICAgIGVsc2UKKyAgICAgICAgT1NfVEVTVD0iJHtUQVJHRVRfQVJDSH0iCisgICAgZmkKKworICAgIGlmIFsgIiR7U0lURUlORk9fQklUU30iID0gIjY0IiBdOyB0aGVuCisgICAgICAgIGV4cG9ydCBVU0VfNjQ9MQorICAgIGVsaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gIng4Nl82NCIgLWEgIiR7U0lURUlORk9fQklUU30iID0gIjMyIiBdOyB0aGVuCisgICAgICAgIGV4cG9ydCBVU0VfWDMyPTEKKyAgICBmaQorCisgICAgZXhwb3J0IE5TU19ESVNBQkxFX0dURVNUUz0xCisKKyAgICAjIFdlIGNhbiBtb2RpZnkgQ0MgaW4gdGhlIGVudmlyb25tZW50LCBidXQgaWYgd2Ugc2V0IGl0IHZpYSBhbgorICAgICMgYXJndW1lbnQgdG8gbWFrZSwgbnNpbnN0YWxsLCBhIGhvc3QgcHJvZ3JhbSwgd2lsbCBhbHNvIGJ1aWxkIHdpdGggaXQhCisgICAgIworICAgICMgbnNzIHByZXR0eSBtdWNoIGRvZXMgaXRzIG93biB0aGluZyB3aXRoIENGTEFHUywgc28gd2UgcHV0IHRoZW0gaW50byBDQy4KKyAgICAjIE9wdGltaXphdGlvbiB3aWxsIGdldCBjbG9iYmVyZWQsIGJ1dCBtb3N0IG9mIHRoZSBzdHVmZiB3aWxsIHN1cnZpdmUuCisgICAgIyBUaGUgbW90aXZhdGlvbiBmb3IgdGhpcyBpcyB0byBwb2ludCB0byB0aGUgY29ycmVjdCBwbGFjZSBmb3IgZGVidWcKKyAgICAjIHNvdXJjZSBmaWxlcyBhbmQgQ0ZMQUdTIGRvZXMgdGhhdC4gIE5vdGhpbmcgdXNlcyBDQ0MuCisgICAgIworICAgIGV4cG9ydCBDQz0iJHtDQ30gJHtDRkxBR1N9IgorICAgIG1ha2UgLUMgLi9uc3MgQ0NDPSIke0NYWH0gLWciIFwKKyAgICAgICAgT1NfVEVTVD0ke09TX1RFU1R9IFwKKyAgICAgICAgUlBBVEg9IiR7UlBBVEh9IgorfQorZG9fY29tcGlsZVt2YXJkZXBzZXhjbHVkZV0gKz0gIlNJVEVJTkZPX0JJVFMiCisKKworZG9faW5zdGFsbF9wcmVwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKKyAgICBleHBvcnQgTERGTEFHUz0iIgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGV4cG9ydCBDUk9TU19DT01QSUxFPTEKKyAgICBleHBvcnQgTkFUSVZFX0NDPSIke0JVSUxEX0NDfSIKKyAgICBleHBvcnQgQlVJTERfT1BUPTEKKworICAgIGV4cG9ydCBGUkVFQkxfTk9fREVQRU5EPTEKKworICAgIGV4cG9ydCBMSUJESVI9JHtsaWJkaXJ9CisgICAgZXhwb3J0IE1PWklMTEFfQ0xJRU5UPTEKKyAgICBleHBvcnQgTlNfVVNFX0dDQz0xCisgICAgZXhwb3J0IE5TU19VU0VfU1lTVEVNX1NRTElURT0xCisgICAgZXhwb3J0IE5TU19FTkFCTEVfRUNDPTEKKworICAgIGV4cG9ydCBPU19SRUxFQVNFPTMuNAorICAgIGV4cG9ydCBPU19UQVJHRVQ9TGludXgKKyAgICBleHBvcnQgT1NfQVJDSD1MaW51eAorCisgICAgaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gInBvd2VycGMiIF07IHRoZW4KKyAgICAgICAgT1NfVEVTVD1wcGMKKyAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJwb3dlcnBjNjQiIF07IHRoZW4KKyAgICAgICAgT1NfVEVTVD1wcGM2NAorICAgIGVsaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHMiIC1vICIke1RBUkdFVF9BUkNIfSIgPSAibWlwc2VsIiAtbyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHM2NCIgLW8gIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzNjRlbCIgXTsgdGhlbgorICAgICAgICBPU19URVNUPW1pcHMKKyAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJhYXJjaDY0X2JlIiBdOyB0aGVuCisgICAgICAgIENQVV9BUkNIPWFhcmNoNjQKKyAgICAgICAgT1NfVEVTVD0iYWFyY2g2NCIKKyAgICBlbHNlCisgICAgICAgIE9TX1RFU1Q9IiR7VEFSR0VUX0FSQ0h9IgorICAgIGZpCisgICAgaWYgWyAiJHtTSVRFSU5GT19CSVRTfSIgPSAiNjQiIF07IHRoZW4KKyAgICAgICAgZXhwb3J0IFVTRV82ND0xCisgICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAieDg2XzY0IiAtYSAiJHtTSVRFSU5GT19CSVRTfSIgPSAiMzIiIF07IHRoZW4KKyAgICAgICAgZXhwb3J0IFVTRV9YMzI9MQorICAgIGZpCisKKyAgICBleHBvcnQgTlNTX0RJU0FCTEVfR1RFU1RTPTEKKworICAgIG1ha2UgLUMgLi9uc3MgXAorICAgICAgICBDQ0M9IiR7Q1hYfSIgXAorICAgICAgICBPU19URVNUPSR7T1NfVEVTVH0gXAorICAgICAgICBTT1VSQ0VfTElCX0RJUj0iJHtURH0vJHtsaWJkaXJ9IiBcCisgICAgICAgIFNPVVJDRV9CSU5fRElSPSIke1REfS8ke2JpbmRpcn0iIFwKKyAgICAgICAgaW5zdGFsbAorCisgICAgaW5zdGFsbCAtZCAke0R9LyR7bGliZGlyfS8KKyAgICBmb3IgZmlsZSBpbiAke1N9L2Rpc3QvKi5PQkovbGliLyouc287IGRvCisgICAgICAgIGVjaG8gIkluc3RhbGxpbmcgYGJhc2VuYW1lICRmaWxlYC4uLiIKKyAgICAgICAgY3AgJGZpbGUgICR7RH0vJHtsaWJkaXJ9LworICAgIGRvbmUKKworICAgIGZvciBzaGFyZWRfbGliIGluICR7VER9LyR7bGliZGlyfS8qLnNvLio7IGRvCisgICAgICAgIGlmIFsgLWYgJHNoYXJlZF9saWIgXTsgdGhlbgorICAgICAgICAgICAgY3AgJHNoYXJlZF9saWIgJHtEfS8ke2xpYmRpcn0KKyAgICAgICAgICAgIGxuIC1zZiAkKGJhc2VuYW1lICRzaGFyZWRfbGliKSAke0R9LyR7bGliZGlyfS8kKGJhc2VuYW1lICRzaGFyZWRfbGliIC4xb2UpCisgICAgICAgIGZpCisgICAgZG9uZQorICAgIGZvciBzaGFyZWRfbGliIGluICR7VER9LyR7bGliZGlyfS8qLnNvOyBkbworICAgICAgICBpZiBbIC1mICRzaGFyZWRfbGliIC1hICEgLWUgJHtEfS8ke2xpYmRpcn0vJHNoYXJlZF9saWIgXTsgdGhlbgorICAgICAgICAgICAgY3AgJHNoYXJlZF9saWIgJHtEfS8ke2xpYmRpcn0KKyAgICAgICAgZmkKKyAgICBkb25lCisKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtpbmNsdWRlZGlyfS9uc3MzCisgICAgaW5zdGFsbCAtbSA2NDQgLXQgJHtEfS8ke2luY2x1ZGVkaXJ9L25zczMgZGlzdC9wdWJsaWMvbnNzLyoKKworICAgIGluc3RhbGwgLWQgJHtEfS8ke2JpbmRpcn0KKyAgICBmb3IgYmluYXJ5IGluICR7VER9LyR7YmluZGlyfS8qOyBkbworICAgICAgICBpbnN0YWxsIC1tIDc1NSAtdCAke0R9LyR7YmluZGlyfSAkYmluYXJ5CisgICAgZG9uZQorfQorZG9faW5zdGFsbFt2YXJkZXBzZXhjbHVkZV0gKz0gIlNJVEVJTkZPX0JJVFMiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgQ3JlYXRlIGVtcHR5IC5jaGsgZmlsZXMgZm9yIHRoZSBOU1MgbGlicmFyaWVzIGF0IGJ1aWxkIHRpbWUuIFRoZXkgY291bGQKKyAgICAjIGJlIHJlZ2VuZXJhdGVkIGF0IHRhcmdldCdzIGJvb3QgdGltZS4KKyAgICBmb3IgZmlsZSBpbiBsaWJzb2Z0b2tuMy5jaGsgbGliZnJlZWJsMy5jaGsgbGlibnNzZGJtMy5jaGs7IGRvCisgICAgICAgIHRvdWNoICR7RH0vJHtsaWJkaXJ9LyRmaWxlCisgICAgICAgIGNobW9kIDc1NSAke0R9LyR7bGliZGlyfS8kZmlsZQorICAgIGRvbmUKKyAgICBpbnN0YWxsIC1EIC1tIDc1NSAke1dPUktESVJ9L3NpZ25saWJzLnNoICR7RH0vJHtiaW5kaXJ9L3NpZ25saWJzLnNoCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnLworICAgIHNlZCAncy8lTlNTX1ZFUlNJT04lLyR7UFZ9LycgJHtXT1JLRElSfS9uc3MucGMuaW4gfCBzZWQgJ3MvJU5TUFJfVkVSU0lPTiUvNC45LjIvJyA+ICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcy5wYworICAgIHNlZCAtaSBzOk9FUFJFRklYOiR7cHJlZml4fTpnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcy5wYworICAgIHNlZCAtaSBzOk9FRVhFQ1BSRUZJWDoke2V4ZWNfcHJlZml4fTpnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcy5wYworICAgIHNlZCAtaSBzOk9FTElCRElSOiR7bGliZGlyfTpnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcy5wYworICAgIHNlZCAtaSBzOk9FSU5DRElSOiR7aW5jbHVkZWRpcn0vbnNzMzpnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcy5wYworfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgIyBJdCB1c2VkIHRvIGNhbGwgY2VydHV0aWwgdG8gY3JlYXRlIGEgYmxhbmsgY2VydGlmaWNhdGUgd2l0aCBlbXB0eSBwYXNzd29yZCBhdAorICAgICMgYnVpbGQgdGltZSwgYnV0IHRoZSBjaGVja3N1bSBvZiBrZXk0LmRiIGNoYW5nZXMgZXZlcnkgdGltZSB3aGVuIGNlcnR1dGlsIGlzIGNhbGxlZC4KKyAgICAjIEl0IGNhdXNlcyBub24tZGV0ZXJtaW5pc20gaXNzdWUsIHNvIHByb3ZpZGUgZGF0YWJhc2VzIHdpdGggYSBibGFuayBjZXJ0aWZpY2F0ZQorICAgICMgd2hpY2ggYXJlIG9yaWdpbmFsbHkgZnJvbSBvdXRwdXQgb2YgbnNzIGluIHFlbXV4ODYtNjQgYnVpbGQuIFlvdSBjYW4gZ2V0IHRoZXNlCisgICAgIyBkYXRhYmFzZXMgYnk6CisgICAgIyBjZXJ0dXRpbCAtTiAtZCBzcWw6L2RhdGFiYXNlL3BhdGgvIC0tZW1wdHktcGFzc3dvcmQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3BraS9uc3NkYi8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ibGFuay1jZXJ0OS5kYiAke0R9JHtzeXNjb25mZGlyfS9wa2kvbnNzZGIvY2VydDkuZGIKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ibGFuay1rZXk0LmRiICR7RH0ke3N5c2NvbmZkaXJ9L3BraS9uc3NkYi9rZXk0LmRiCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc3lzdGVtLXBrY3MxMS50eHQgJHtEfSR7c3lzY29uZmRpcn0vcGtpL25zc2RiL3BrY3MxMS50eHQKK30KKworUEFDS0FHRV9XUklURV9ERVBTICs9ICJuc3MtbmF0aXZlIgorcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKyAgICBpZiBbIC1uICIkRCIgXTsgdGhlbgorICAgICAgICBmb3IgSSBpbiAkRCR7bGliZGlyfS9saWIqLmNoazsgZG8KKyAgICAgICAgICAgIEROPWBkaXJuYW1lICRJYAorICAgICAgICAgICAgQk49YGJhc2VuYW1lICRJIC5jaGtgCisgICAgICAgICAgICBGTj0kRE4vJEJOLnNvCisgICAgICAgICAgICBzaGxpYnNpZ24gLWkgJEZOCisgICAgICAgICAgICBpZiBbICQ/IC1uZSAwIF07IHRoZW4KKyAgICAgICAgICAgICAgICBleGl0IDEKKyAgICAgICAgICAgIGZpCisgICAgICAgIGRvbmUKKyAgICBlbHNlCisgICAgICAgIHNpZ25saWJzLnNoCisgICAgZmkKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LXNtaW1lIgorRklMRVNfJHtQTn0tc21pbWUgPSAiXAorICAgICR7YmluZGlyfS9zbWltZSBcCisiCitGSUxFU18ke1BOfSA9ICJcCisgICAgJHtzeXNjb25mZGlyfSBcCisgICAgJHtiaW5kaXJ9IFwKKyAgICAke2xpYmRpcn0vbGliKi5jaGsgXAorICAgICR7bGliZGlyfS9saWIqLnNvIFwKKyAgICAiCitGSUxFU18ke1BOfS1kZXYgPSAiXAorICAgICR7bGliZGlyfS9uc3MgXAorICAgICR7bGliZGlyfS9wa2djb25maWcvKiBcCisgICAgJHtpbmNsdWRlZGlyfS8qIFwKKyAgICAiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wMTEta2l0L3AxMS1raXRfMC4yMy4xNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcDExLWtpdC9wMTEta2l0XzAuMjMuMTQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkMjVjMzguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wMTEta2l0L3AxMS1raXRfMC4yMy4xNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLVNVTU1BUlkgPSAiUHJvdmlkZXMgYSB3YXkgdG8gbG9hZCBhbmQgZW51bWVyYXRlIFBLQ1MjMTEgbW9kdWxlcyIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDI5MzM4ODdmNjA5ODA3ZmJiNTdhYTQyMzdkMTRhNTAiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnIGd0ay1kb2MKLQotREVQRU5EUyA9ICJsaWJ0YXNuMSBsaWJmZmkiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9wMTEtZ2x1ZS9wMTEta2l0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtTElOR1VBUy1kcm9wLXRoZS1sYW5ndWFnZXMtZm9yLXdoaWNoLXVwc3RyZWFtLWRvZXMtbi5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ1JFViA9ICIzNzcwNzkzZjAyNmU0NmEwMDBkMmQ4ODE2ZDU2MTIyNTk4Mjg5ZDVjIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotQVVUT1RPT0xTX0FVWERJUiA9ICIke1N9L2J1aWxkL2xpdHRlciIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbdHJ1c3QtcGF0aHNdID0gIi0td2l0aC10cnVzdC1wYXRocz0vZXRjL3NzbC9jZXJ0cy9jYS1jZXJ0aWZpY2F0ZXMuY3J0LC0td2l0aG91dC10cnVzdC1wYXRocywsY2EtY2VydGlmaWNhdGVzIgotCi0jIFRoaXMgcmVjaXBlIGRvZXMgbm90IHVzZSB0aGUgc3RhbmRhcmQgZ3RrLWRvYyBtNCBtYWNyb3MsIGFuZCBzbyB0aGUgLi9jb25maWd1cmUgZmxhZ3MKLSMgdGhhdCBjb250cm9sIGd0ay1kb2MgYnVpbGQgYXJlIG5vbi1zdGFuZGFyZAotRVhUUkFfT0VDT05GX3ByZXBlbmRfY2xhc3MtdGFyZ2V0ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJy0tZW5hYmxlLWRvYyAtLWVuYWJsZS1kb2MtaHRtbCAtLWRpc2FibGUtZG9jLXBkZicsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWRpc2FibGUtZG9jJywgZCl9ICIKLQotIyBXaGVuIGJ1aWxkaW5nIG5hdGl2ZSByZWNpcGVzLCBkaXNhYmxlIGd0a2RvYywgYXMgaXQgaXMgbm90IG5lY2Vzc2FyeSwKLSMgcHVsbHMgaW4gYWRkaXRpb25hbCBkZXBlbmRlbmNpZXMsIGFuZCBtYWtlcyBidWlsZCB0aW1lcyBsb25nZXIKLUVYVFJBX09FQ09ORl9wcmVwZW5kX2NsYXNzLW5hdGl2ZSA9ICItLWRpc2FibGUtZG9jICIKLUVYVFJBX09FQ09ORl9wcmVwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICItLWRpc2FibGUtZG9jICIKLQotVU5LTk9XTl9DT05GSUdVUkVfV0hJVEVMSVNUX2FwcGVuZCA9ICIgLS1lbmFibGUtZ3RrLWRvYy1odG1sIC0tZGlzYWJsZS1ndGstZG9jLXBkZiAtLWVuYWJsZS1ndGstZG9jIC0tZGlzYWJsZS1ndGstZG9jIgotCi0jIHAxMS1raXQgcmVsaWVzIG9uIHRoZXNlIHR3byBiZWluZyBjb3BpZWQgZnJvbSBzb3VyY2UgdHJlZQotIyBpbnN0ZWFkIG9mIGJlaW5nIHJlZ2VuZXJhdGVkIGJ5IGd0a2RvYy1zY2FuLCBidXQgZG9lc24ndCBzZXR1cAotIyBkZXBlbmRlbmNpZXMgY29ycmVjdGx5IHdoZW4gdGhlcmUgaXMgYSBwYXJhbGxlbCBidWlsZC4gTGV0J3MgcHJlLWNvcHkKLSMgdGhlbSBpbnN0ZWFkLgotZG9fY29tcGlsZV9wcmVwZW5kICgpIHsKLSAgICAgICAgY3AgJHtTfS9kb2MvbWFudWFsL3AxMS1raXQtb3ZlcnJpZGVzLnR4dCAke1N9L2RvYy9tYW51YWwvcDExLWtpdC1zZWN0aW9ucy50eHQgJHtCfS9kb2MvbWFudWFsLwotfQotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2xpYmRpcn0vcDExLWtpdC1wcm94eS5zbyBcCi0gICAgJHtsaWJkaXJ9L3BrY3MxMS8qLnNvIFwKLSAgICAke2xpYmRpcn0vcGtjczExLyoubGEiCi0KLSMgUE4gY29udGFpbnMgcDExLWtpdC1wcm94eS5zbywgYSBzeW1saW5rIHRvIGEgbG9hZGFibGUgbW9kdWxlCi1JTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3AxMS1raXQvcDExLWtpdF8wLjIzLjE1LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wMTEta2l0L3AxMS1raXRfMC4yMy4xNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OWU2NzViCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wMTEta2l0L3AxMS1raXRfMC4yMy4xNS5iYgpAQCAtMCwwICsxLDQ2IEBACitTVU1NQVJZID0gIlByb3ZpZGVzIGEgd2F5IHRvIGxvYWQgYW5kIGVudW1lcmF0ZSBQS0NTIzExIG1vZHVsZXMiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTAyOTMzODg3ZjYwOTgwN2ZiYjU3YWE0MjM3ZDE0YTUwIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBndGstZG9jCisKK0RFUEVORFMgPSAibGlidGFzbjEgbGliZmZpIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcDExLWdsdWUvcDExLWtpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUxJTkdVQVMtZHJvcC10aGUtbGFuZ3VhZ2VzLWZvci13aGljaC11cHN0cmVhbS1kb2VzLW4ucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNSRVYgPSAiMWJhODBjNjdjNDkyZjI1NTgxZWQ5N2M4YzMxZmZiNWYyMDYzNmQwNiIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0FVVE9UT09MU19BVVhESVIgPSAiJHtTfS9idWlsZC9saXR0ZXIiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3RydXN0LXBhdGhzXSA9ICItLXdpdGgtdHJ1c3QtcGF0aHM9L2V0Yy9zc2wvY2VydHMvY2EtY2VydGlmaWNhdGVzLmNydCwtLXdpdGhvdXQtdHJ1c3QtcGF0aHMsLGNhLWNlcnRpZmljYXRlcyIKKworIyBUaGlzIHJlY2lwZSBkb2VzIG5vdCB1c2UgdGhlIHN0YW5kYXJkIGd0ay1kb2MgbTQgbWFjcm9zLCBhbmQgc28gdGhlIC4vY29uZmlndXJlIGZsYWdzCisjIHRoYXQgY29udHJvbCBndGstZG9jIGJ1aWxkIGFyZSBub24tc3RhbmRhcmQKK0VYVFJBX09FQ09ORl9wcmVwZW5kX2NsYXNzLXRhcmdldCA9ICIke0BiYi51dGlscy5jb250YWlucygnR1RLRE9DX0VOQUJMRUQnLCAnVHJ1ZScsICctLWVuYWJsZS1kb2MgLS1lbmFibGUtZG9jLWh0bWwgLS1kaXNhYmxlLWRvYy1wZGYnLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1kaXNhYmxlLWRvYycsIGQpfSAiCisKKyMgV2hlbiBidWlsZGluZyBuYXRpdmUgcmVjaXBlcywgZGlzYWJsZSBndGtkb2MsIGFzIGl0IGlzIG5vdCBuZWNlc3NhcnksCisjIHB1bGxzIGluIGFkZGl0aW9uYWwgZGVwZW5kZW5jaWVzLCBhbmQgbWFrZXMgYnVpbGQgdGltZXMgbG9uZ2VyCitFWFRSQV9PRUNPTkZfcHJlcGVuZF9jbGFzcy1uYXRpdmUgPSAiLS1kaXNhYmxlLWRvYyAiCitFWFRSQV9PRUNPTkZfcHJlcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiLS1kaXNhYmxlLWRvYyAiCisKK1VOS05PV05fQ09ORklHVVJFX1dISVRFTElTVF9hcHBlbmQgPSAiIC0tZW5hYmxlLWd0ay1kb2MtaHRtbCAtLWRpc2FibGUtZ3RrLWRvYy1wZGYgLS1lbmFibGUtZ3RrLWRvYyAtLWRpc2FibGUtZ3RrLWRvYyIKKworIyBwMTEta2l0IHJlbGllcyBvbiB0aGVzZSB0d28gYmVpbmcgY29waWVkIGZyb20gc291cmNlIHRyZWUKKyMgaW5zdGVhZCBvZiBiZWluZyByZWdlbmVyYXRlZCBieSBndGtkb2Mtc2NhbiwgYnV0IGRvZXNuJ3Qgc2V0dXAKKyMgZGVwZW5kZW5jaWVzIGNvcnJlY3RseSB3aGVuIHRoZXJlIGlzIGEgcGFyYWxsZWwgYnVpbGQuIExldCdzIHByZS1jb3B5CisjIHRoZW0gaW5zdGVhZC4KK2RvX2NvbXBpbGVfcHJlcGVuZCAoKSB7CisgICAgICAgIGNwICR7U30vZG9jL21hbnVhbC9wMTEta2l0LW92ZXJyaWRlcy50eHQgJHtTfS9kb2MvbWFudWFsL3AxMS1raXQtc2VjdGlvbnMudHh0ICR7Qn0vZG9jL21hbnVhbC8KK30KKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtsaWJkaXJ9L3AxMS1raXQtcHJveHkuc28gXAorICAgICR7bGliZGlyfS9wa2NzMTEvKi5zbyBcCisgICAgJHtsaWJkaXJ9L3BrY3MxMS8qLmxhIgorCisjIFBOIGNvbnRhaW5zIHAxMS1raXQtcHJveHkuc28sIGEgc3ltbGluayB0byBhIGxvYWRhYmxlIG1vZHVsZQorSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wb3B0L3BvcHRfMS4xNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcG9wdC9wb3B0XzEuMTYuYmIKaW5kZXggMzc3ZDEwOC4uNDc4Mjg4ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wb3B0L3BvcHRfMS4xNi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3BvcHQvcG9wdF8xLjE2LmJiCkBAIC04LDcgKzgsNyBAQAogCiBERVBFTkRTID0gInZpcnR1YWwvbGliaWNvbnYiCiAKLVNSQ19VUkkgPSAiaHR0cHM6Ly9mb3NzaWVzLm9yZy9saW51eC9taXNjL3BvcHQtJHtQVn0udGFyLmd6IFwKK1NSQ19VUkkgPSAiaHR0cDovL3JwbTUub3JnL2ZpbGVzL3BvcHQvcG9wdC0ke1BWfS50YXIuZ3ogXAogICAgICAgICAgICBmaWxlOi8vcGtnY29uZmlnX2ZpeC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9wb3B0X2ZpeF9mb3JfYXV0b21ha2UtMS4xMi5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlX3Rlc3RzLnBhdGNoIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcHRlc3QtcnVubmVyL3B0ZXN0LXJ1bm5lcl8yLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3B0ZXN0LXJ1bm5lci9wdGVzdC1ydW5uZXJfMi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MjJkMjNiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcHRlc3QtcnVubmVyL3B0ZXN0LXJ1bm5lcl8yLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1TVU1NQVJZID0gIkEgQyBwcm9ncmFtIHRvIHJ1biBhbGwgaW5zdGFsbGVkIHB0ZXN0cyIKLURFU0NSSVBUSU9OID0gIlRoZSBwdGVzdC1ydW5uZXIyIHBhY2thZ2UgaW5zdGFsbHMgYSBwdGVzdC1ydW5uZXIgXAotcHJvZ3JhbSB3aGljaCBsb29wcyB0aHJvdWdoIGFsbCBpbnN0YWxsZWQgcHRlc3QgdGVzdCBzdWl0ZXMgYW5kIFwKLXJ1bnMgdGhlbSBpbiBzZXF1ZW5jZS4iCi1IT01FUEFHRSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9wdGVzdC1ydW5uZXIyL2Fib3V0LyIKLQotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgotCi1TUkNSRVYgPSAiNDk5NTZmNjViYjUzZWEyYTJjMWIzOTRlNWU1OWZmZGZjZGNjNDkwZiIKLVBWID0gIjIuMitnaXQke1NSQ1BWfSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9wdGVzdC1ydW5uZXIyIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9L3B0ZXN0LXJ1bm5lciIKLQotRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCi0KLWRvX2NvbXBpbGUgKCkgewotCW9lX3J1bm1ha2UKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0JaW5zdGFsbCAtRCAtbSAwNzU1ICR7U30vcHRlc3QtcnVubmVyICR7RH0ke2JpbmRpcn0vcHRlc3QtcnVubmVyCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3B0ZXN0LXJ1bm5lci9wdGVzdC1ydW5uZXJfMi4zLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3B0ZXN0LXJ1bm5lci9wdGVzdC1ydW5uZXJfMi4zLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGI3OTkyYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcHRlc3QtcnVubmVyL3B0ZXN0LXJ1bm5lcl8yLjMuMS5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIkEgQyBwcm9ncmFtIHRvIHJ1biBhbGwgaW5zdGFsbGVkIHB0ZXN0cyIKK0RFU0NSSVBUSU9OID0gIlRoZSBwdGVzdC1ydW5uZXIyIHBhY2thZ2UgaW5zdGFsbHMgYSBwdGVzdC1ydW5uZXIgXAorcHJvZ3JhbSB3aGljaCBsb29wcyB0aHJvdWdoIGFsbCBpbnN0YWxsZWQgcHRlc3QgdGVzdCBzdWl0ZXMgYW5kIFwKK3J1bnMgdGhlbSBpbiBzZXF1ZW5jZS4iCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9wdGVzdC1ydW5uZXIyL2Fib3V0LyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitTUkNSRVYgPSAiMDViMTEyYmRhN2FjMmFkYmE4ZTliMGYwODhkNmU1ODQzYjE0OGEzOCIKK1BWID0gIjIuMy4xK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3B0ZXN0LXJ1bm5lcjIiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vcHRlc3QtcnVubmVyIgorCitFWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSBDRkxBR1M9IiR7Q0ZMQUdTfSAtRERFRkFVTFRfRElSRUNUT1JZPVxcXCIke2xpYmRpcn1cXFwiIiIKKworZG9fY29tcGlsZSAoKSB7CisJb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsICgpIHsKKwlpbnN0YWxsIC1EIC1tIDA3NTUgJHtTfS9wdGVzdC1ydW5uZXIgJHtEfSR7YmluZGlyfS9wdGVzdC1ydW5uZXIKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy8wMDAxLUlmLXRoZS1saWJjLWlzLWxhY2tpbmctYXJncC11c2UtbGliYXJncC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy8wMDAxLUlmLXRoZS1saWJjLWlzLWxhY2tpbmctYXJncC11c2UtbGliYXJncC5wYXRjaAppbmRleCA0YmQ5ZDMxLi4wNmQxZDk0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvMDAwMS1JZi10aGUtbGliYy1pcy1sYWNraW5nLWFyZ3AtdXNlLWxpYmFyZ3AucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzLzAwMDEtSWYtdGhlLWxpYmMtaXMtbGFja2luZy1hcmdwLXVzZS1saWJhcmdwLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA5OTY3OWZkYTQwNWU1MzVhMjgyZjA0YTRkZWNjMjM4MTE1NGE3NDlmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAwNmJhNzE4ODdmNjY3ZDQ1ZGQyMzFhNzgyYTI3NTFmMzZlOGZlMDI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQ2hyaXN0b3BoZXIgTGFyc29uIDxjaHJpc19sYXJzb25AbWVudG9yLmNvbT4KIERhdGU6IE1vbiwgMTUgRmViIDIwMTYgMTU6NTk6NTggLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIElmIHRoZSBsaWJjIGlzIGxhY2tpbmcgYXJncCwgdXNlIGxpYmFyZ3AKK1N1YmplY3Q6IFtQQVRDSCAxLzRdIElmIHRoZSBsaWJjIGlzIGxhY2tpbmcgYXJncCwgdXNlIGxpYmFyZ3AKIAogUGF0Y2ggcHVsbGVkIGZyb20gR2VudG9vOgogCkBAIC0yMywxMCArMjMsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCAyN2EyZGJhLi4wNGZjZDI1IDEwMDY0NAoraW5kZXggNGU3OTlkYy4uYzRhNWRkOCAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCi1AQCAtODIsNiArODIsMjggQEAgQVNfSUYoCitAQCAtMTM1LDYgKzEzNSwyOCBAQCBBU19JRigKICAJXQogICkKICAKQEAgLTU2LDUgKzU2LDUgQEAKICBkbmwgQ29uZmlndXJlIG9wdGlvbnMKICBkbmwgLS0tLS0tLS0tLS0tLS0tLS0KIC0tIAotMi4yLjEKKzIuNy40CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy8wMDAxLWNvbmZpZ3VyZS5hYy1maXgtdHlwby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy8wMDAxLWNvbmZpZ3VyZS5hYy1maXgtdHlwby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNGQyOGEwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzLzAwMDEtY29uZmlndXJlLmFjLWZpeC10eXBvLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gOTliMGVmZWJkNzY1ODAzMjAzNjg2ZDg5YmM0Zjk5NWJjYjEwM2U3OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFNhdCwgMTAgTm92IDIwMTggMDk6NTM6MTkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlLmFjOiBmaXggdHlwbworCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL25ob3JtYW4vcm5nLXRvb2xzLmdpdF0KK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNGU3OTlkYy4uMDI1MTkyOCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNjIsNyArNjIsNyBAQCBBU19JRihbdGVzdCAkdGFyZ2V0X2NwdSA9IHBvd2VycGM2NGxlXSwgW0FDX0RFRklORShbSEFWRV9EQVJOXSwxLFtFbmFibGUgREFSTl0pXQorIEFNX0NPTkRJVElPTkFMKFtKSVRURVJdLCBbZmFsc2VdKQorIAorIEFDX0FSR19FTkFCTEUoaml0dGVyZW50cm9weSwKKy0JQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1qaXR0ZXJudHJvcHkgfCAtLWVuYWJsZS1qaXR0ZXJlbnRyb3B5PTxwYXRoPl0sCisrCUFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtaml0dGVyZW50cm9weSB8IC0tZW5hYmxlLWppdHRlcmVudHJvcHk9PHBhdGg+XSwKKyAJW0Rpc2FibGUgaml0dGVyZW50cm9weSBzb3VyY2UsIG9yIHNwZWNpZnkgaXRzIGxvY2F0aW9uXSksCisgCVtpZiBbIHRlc3QgLWQgJGVuYWJsZV9qaXR0ZXJlbnRyb3B5IF07IHRoZW4KKyAJCWV4cG9ydCBMREZMQUdTKz0tTCRlbmFibGVfaml0dGVyZW50cm9weTsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzLzAwMDItQWRkLWFyZ3VtZW50LXRvLWNvbnRyb2wtdGhlLWxpYmFyZ3AtZGVwZW5kZW5jeS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy8wMDAyLUFkZC1hcmd1bWVudC10by1jb250cm9sLXRoZS1saWJhcmdwLWRlcGVuZGVuY3kucGF0Y2gKaW5kZXggMWM4YTc5Yy4uYmU2MGZlOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzLzAwMDItQWRkLWFyZ3VtZW50LXRvLWNvbnRyb2wtdGhlLWxpYmFyZ3AtZGVwZW5kZW5jeS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvMDAwMi1BZGQtYXJndW1lbnQtdG8tY29udHJvbC10aGUtbGliYXJncC1kZXBlbmRlbmN5LnBhdGNoCkBAIC0xLDIzICsxLDI2IEBACi1Gcm9tIGFmYzg3MTJhOWU2YzcyZmJkMDNjMzZmODRlY2Y4NzAzZTVkMjJhOGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDcxMWUyZjc2ODkwZTNjNWIwOGY2NDg1OWQ5ZmQ5MTNkZGJlYzdkNTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgotRGF0ZTogTW9uLCAxNSBGZWIgMjAxNiAxNjoxMTozMiAtMDcwMAotU3ViamVjdDogW1BBVENIIDIvMl0gQWRkIGFyZ3VtZW50IHRvIGNvbnRyb2wgdGhlIGxpYmFyZ3AgZGVwZW5kZW5jeQorRGF0ZTogTW9uLCAyMiBPY3QgMjAxOCAxNToyNjo0NyArMDgwMAorU3ViamVjdDogW1BBVENIIDIvNF0gQWRkIGFyZ3VtZW50IHRvIGNvbnRyb2wgdGhlIGxpYmFyZ3AgZGVwZW5kZW5jeQogCiBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgYnVpbGRzIGFyZSBhbHdheXMgZGV0ZXJtaW5pc3RpYy4gSWYgdGhlIGFyZ3VtZW50IGlzbid0CiBwYXNzZWQsIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHVzZSBsaWJhcmdwIGlmIHRoZSBsaWJjIGRvZXNuJ3QgaGF2ZSBhcmdwLgogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIFNpZ25lZC1vZmYtYnk6IENocmlzdG9waGVyIExhcnNvbiA8Y2hyaXNfbGFyc29uQG1lbnRvci5jb20+CisKK1JlYmFzZSB0byA2LjYKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIC0tLQogIGNvbmZpZ3VyZS5hYyB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDA0ZmNkMjUuLjExYTUzMjEgMTAwNjQ0CitpbmRleCBjNGE1ZGQ4Li5kZDFjMzBmIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFjCiArKysgYi9jb25maWd1cmUuYWMKLUBAIC0zMiw2ICszMiwxMyBAQCBBQ19BUkdfV0lUSChbbGliZ2NyeXB0XSwKLSAJW3dpdGhfbGliZ2NyeXB0PWNoZWNrXQorQEAgLTQwLDYgKzQwLDEzIEBAIEFDX0FSR19XSVRIKFtuaXN0YmVhY29uXSwKKyAJW3dpdGhfbmlzdGJlYWNvbj1jaGVja10KICApCiAgCiArQUNfQVJHX1dJVEgoW2xpYmFyZ3BdLApAQCAtMjksOCArMzIsOCBAQAogKwogIGRubCBNYWtlIHN1cmUgYW55b25lIGNoYW5naW5nIGNvbmZpZ3VyZS5hYy9NYWtlZmlsZS5hbSBoYXMgYSBjbHVlCiAgQU1fTUFJTlRBSU5FUl9NT0RFCi0gCi1AQCAtODIsMjcgKzg5LDM3IEBAIEFTX0lGKAorIEFNX1BST0dfQVMKK0BAIC0xMzUsMjcgKzE0MiwzNyBAQCBBU19JRigKICAJXQogICkKICAKQEAgLTg4LDUgKzkxLDUgQEAKICBkbmwgLS0tLS0tLS0tLS0tLS0tLS0KICBkbmwgQ29uZmlndXJlIG9wdGlvbnMKIC0tIAotMi4yLjEKKzIuNy40CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy9yZWFkX2Vycm9yX21zZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy9yZWFkX2Vycm9yX21zZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGFhMTNiZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvcmVhZF9lcnJvcl9tc2cucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5OCArMCwwIEBACi1ybmctdG9vbHM6IG1vZGlmeSAncmVhZCBlcnJvcicgbWVzc2FnZQotCi1NYWtlIHRoZSAncmVhZCBlcnJvcicgbWVzc2FnZSBtb3JlIGRlc2NyaXB0aXZlLgotCi1Db3BpZWQgZnJvbSBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vYXR0YWNobWVudC5jZ2k/aWQ9MTI5NTg1NwotYW5kIG1vZGlmaWVkIGluIG9uZSBwbGFjZSB0byBhcHBseSBzdWNjZXNzZnVsbHkuICBFcnJvciBtZXNzYWdlIGR1cmluZwotYm9vdHN0cmFwIG1vZGlmaWVkIHRvIHNob3cgZGV2aWNlIG5hbWUuCi0KLVVwc3RyZWFtLVN0YXR1czogcGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBKb2UgU2xhdGVyIDxqb2Uuc2xhdGVyQHdpbmRyaXZlci5jb20+Ci0KLQotLS0tIGEvcm5nZC5jCi0rKysgYi9ybmdkLmMKLUBAIC0yNDcsOCArMjQ3LDExIEBAIHN0YXRpYyB2b2lkIGRvX2xvb3AoaW50IHJhbmRvbV9zdGVwKQotIAkJCQljb250aW51ZTsJLyogZmFpbGVkLCBubyB3b3JrICovCi0gCi0gCQkJcmV0dmFsID0gaXRlci0+eHJlYWQoYnVmLCBzaXplb2YgYnVmLCBpdGVyKTsKLS0JCQlpZiAocmV0dmFsKQotKwkJCWlmIChyZXR2YWwpIHsKLSsJCQkJbWVzc2FnZShMT0dfREFFTU9OfExPR19FUlIsCi0rCQkJCQkiRXJyb3IgcmVhZGluZyBmcm9tIGVudHJvcHkgc291cmNlXG4iKTsKLSAJCQkJY29udGludWU7CS8qIGZhaWxlZCwgbm8gd29yayAqLwotKwkJCX0KLSAKLSAJCQl3b3JrX2RvbmUgPSB0cnVlOwotIAotLS0tIGEvcm5nZF9lbnRzb3VyY2UuYwotKysrIGIvcm5nZF9lbnRzb3VyY2UuYwotQEAgLTYzLDEwICs2Myw4IEBAIGludCB4cmVhZCh2b2lkICpidWYsIHNpemVfdCBzaXplLCBzdHJ1Y3QKLSAJCXNpemUgLT0gcjsKLSAJfQotIAotLQlpZiAoc2l6ZSkgewotLQkJbWVzc2FnZShMT0dfREFFTU9OfExPR19FUlIsICJyZWFkIGVycm9yXG4iKTsKLSsJaWYgKHNpemUpCi0gCQlyZXR1cm4gLTE7Ci0tCX0KLSAJcmV0dXJuIDA7Ci0gfQotIAotQEAgLTE1Miw3ICsxNTAsNyBAQCBlcnJvcl9vdXQ6Ci0gfQotIAotIC8qIEluaXRpYWxpemUgZW50cm9weSBzb3VyY2UgKi8KLS1zdGF0aWMgaW50IGRpc2NhcmRfaW5pdGlhbF9kYXRhKHN0cnVjdCBybmcgKmVudF9zcmMpCi0rc3RhdGljIGludCBkaXNjYXJkX2luaXRpYWxfZGF0YShzdHJ1Y3Qgcm5nICplbnRfc3JjLCBpbnQgKmJ1ZikKLSB7Ci0gCS8qIFRyYXNoIDMyIGJpdHMgb2Ygd2hhdCBpcyBwcm9iYWJseSBzdGFsZSAobm9uLXJhbmRvbSkKLSAJICogaW5pdGlhbCBzdGF0ZSBmcm9tIHRoZSBSTkcuICBGb3IgSW50ZWwncywgOCBiaXRzIHdvdWxkCi1AQCAtMTY0LDEwICsxNjIsMTIgQEAgc3RhdGljIGludCBkaXNjYXJkX2luaXRpYWxfZGF0YShzdHJ1Y3QgcgotIAl4cmVhZCh0ZW1wYnVmLCBzaXplb2YodGVtcGJ1ZiksIGVudF9zcmMpOwotIAotIAkvKiBSZXR1cm4gMzIgYml0cyBvZiBib290c3RyYXAgZGF0YSAqLwotLQl4cmVhZCh0ZW1wYnVmLCBzaXplb2YodGVtcGJ1ZiksIGVudF9zcmMpOwotKwlpZiAoeHJlYWQodGVtcGJ1Ziwgc2l6ZW9mKHRlbXBidWYpLCBlbnRfc3JjKSAhPSAwKQotKwkJcmV0dXJuIC0xOwotIAotLQlyZXR1cm4gdGVtcGJ1ZlswXSB8ICh0ZW1wYnVmWzFdIDw8IDgpIHwKLSsJKmJ1ZiA9IHRlbXBidWZbMF0gfCAodGVtcGJ1ZlsxXSA8PCA4KSB8Ci0gCQkodGVtcGJ1ZlsyXSA8PCAxNikgfCAodGVtcGJ1ZlszXSA8PCAyNCk7Ci0rCXJldHVybiAwOwotIH0KLSAKLSAvKgotQEAgLTE3NSw2ICsxNzUsOCBAQCBzdGF0aWMgaW50IGRpc2NhcmRfaW5pdGlhbF9kYXRhKHN0cnVjdCByCi0gICovCi0gaW50IGluaXRfZW50cm9weV9zb3VyY2Uoc3RydWN0IHJuZyAqZW50X3NyYykKLSB7Ci0rCWludCBib290c3RyYXA7Ci0rCi0gCWVudF9zcmMtPnJuZ19mZCA9IG9wZW4oZW50X3NyYy0+cm5nX25hbWUsIE9fUkRPTkxZKTsKLSAJaWYgKGVudF9zcmMtPnJuZ19mZCA9PSAtMSkgewotIAkJcmV0dXJuIDE7Ci1AQCAtMTgyLDcgKzE4NCwxMSBAQCBpbnQgaW5pdF9lbnRyb3B5X3NvdXJjZShzdHJ1Y3Qgcm5nICplbnRfCi0gCXNyY19saXN0X2FkZChlbnRfc3JjKTsKLSAJLyogQm9vdHN0cmFwIEZJUFMgdGVzdHMgKi8KLSAJZW50X3NyYy0+Zmlwc2N0eCA9IG1hbGxvYyhzaXplb2YoZmlwc19jdHhfdCkpOwotLQlmaXBzX2luaXQoZW50X3NyYy0+Zmlwc2N0eCwgZGlzY2FyZF9pbml0aWFsX2RhdGEoZW50X3NyYykpOwotKwlpZiAoZGlzY2FyZF9pbml0aWFsX2RhdGEoZW50X3NyYywgJmJvb3RzdHJhcCkgIT0gMCkgewotKwkJbWVzc2FnZShMT0dfRVJSfExPR19JTkZPLCAiUmVhZCBmYWlsdXJlIGluICVzIGR1cmluZyBib290c3RyYXBcbiIsZW50X3NyYy0+cm5nX25hbWUpOwotKwkJcmV0dXJuIDE7Ci0rCX0KLSsJZmlwc19pbml0KGVudF9zcmMtPmZpcHNjdHgsIGJvb3RzdHJhcCk7Ci0gCXJldHVybiAwOwotIH0KLSAKLS0tLSBhL3JuZ3Rlc3QuYwotKysrIGIvcm5ndGVzdC5jCi1AQCAtMzM1LDYgKzMzNSw3IEBAIHN0YXRpYyBpbnQgZGlzY2FyZF9pbml0aWFsX2RhdGEodm9pZCkKLSAKLSAJcmV0dXJuIHRlbXBidWZbMF0gfCAodGVtcGJ1ZlsxXSA8PCA4KSB8Ci0gCQkodGVtcGJ1ZlsyXSA8PCAxNikgfCAodGVtcGJ1ZlszXSA8PCAyNCk7Ci0rCi0gfQotIAotIHN0YXRpYyB2b2lkIGRvX3JuZ19maXBzX3Rlc3RfbG9vcCggdm9pZCApCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvcm5nLXRvb2xzLTUtZml4LXRleHRyZWxzLW9uLVBJQy14ODYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvcm5nLXRvb2xzLTUtZml4LXRleHRyZWxzLW9uLVBJQy14ODYucGF0Y2gKaW5kZXggOTNhNTg2NC4uNjE0YWRhYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzL3JuZy10b29scy01LWZpeC10ZXh0cmVscy1vbi1QSUMteDg2LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy9ybmctdG9vbHMtNS1maXgtdGV4dHJlbHMtb24tUElDLXg4Ni5wYXRjaApAQCAtMSw1ICsxLDEwIEBACi1Gcm9tOiBGcmFuY2lzY28gQmxhcyBJenF1aWVyZG8gUmllcmEgKGtsb25kaWtlKSA8a2xvbmRpa2VAZ2VudG9vLm9yZz4KLVN1YmplY3Q6IFtQQVRDSF0gRml4IGFzc2VtYnkgdGV4dHJlbHMgb24gcmRyYW5kX2FzbS5TIG9uIFBJQyB4ODYKK0Zyb20gZDhiMWJiOGVkZDk5YjI4OTg3MjBiNGYxMGQyOTJhNjdkNTMyZGI0OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJGcmFuY2lzY28gQmxhcyBJenF1aWVyZG8gUmllcmEgKGtsb25kaWtlKSIgPGtsb25kaWtlQGdlbnRvby5vcmc+CitEYXRlOiBNb24sIDIyIE9jdCAyMDE4IDE1OjI5OjM2ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggNC80XSBGaXggYXNzZW1ieSB0ZXh0cmVscyBvbiByZHJhbmRfYXNtLlMgb24gUElDIHg4NgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAogCiBUaGlzIHBhdGNoIHVwZGF0ZXMgdGhlIGZpeGVzIGluIHRoZSBhc3NlbWJseSBpbiByZHJhbmRfYXNtLlMgaW4KIHN5cy1hcHBzL3JuZy10b29scy01IHNvIGl0IHdvbid0IGdlbmVyYXRlIHRleHRyZWxzIG9uIFBJQyBzeXN0ZW1zLgpAQCAtMTksMTEgKzI0LDE0IEBACiBUZXN0ZWQtYnk6IEFudGhvbnkgQmFzaWxlIDxibHVlbmVzc0BnZW50b28ub3JnPgogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIHJkcmFuZF9hc20uUyB8IDI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBybmctdG9vbHMtNS9yZHJhbmRfYXNtLlMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBybmctdG9vbHMtNS5vcmlnL3JkcmFuZF9hc20uUwotKysrIHJuZy10b29scy01L3JkcmFuZF9hc20uUworZGlmZiAtLWdpdCBhL3JkcmFuZF9hc20uUyBiL3JkcmFuZF9hc20uUworaW5kZXggYjVkMjYwYS4uNzgxMWNmMiAxMDA2NDQKKy0tLSBhL3JkcmFuZF9hc20uUworKysrIGIvcmRyYW5kX2FzbS5TCiBAQCAtMiw2ICsyLDcgQEAKICAgKiBDb3B5cmlnaHQgKGMpIDIwMTEtMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KICAgKiBBdXRob3JzOiBGZW5naHVhIFl1IDxmZW5naHVhLnl1QGludGVsLmNvbT4sCkBAIC0zMiw3ICs0MCw3IEBACiAgICoKICAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAogICAqIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCi1AQCAtMTc0LDcgKzE3NSwxOSBAQCBFTlRSWSh4ODZfcmRzZWVkX29yX3JkcmFuZF9ieXRlcykKK0BAIC0xNzIsNyArMTczLDE5IEBAIEVOVFJZKHg4Nl9yZHNlZWRfb3JfcmRyYW5kX2J5dGVzKQogIAlqbXAJNGIKICBFTkRQUk9DKHg4Nl9yZHNlZWRfb3JfcmRyYW5kX2J5dGVzKQogIApAQCAtNTIsNyArNjAsNyBAQAogICNkZWZpbmUgUFRSMAklZWF4CiAgI2RlZmluZSBQVFIxCSVlZHgKICAjZGVmaW5lIFBUUjIJJWVjeAotQEAgLTE5MCw2ICsyMDMsNyBAQCBFTlRSWSh4ODZfYWVzX21hbmdsZSkKK0BAIC0xODgsNiArMjAxLDcgQEAgRU5UUlkoeDg2X2Flc19tYW5nbGUpCiAgCW1vdmwJOCglZWJwKSwgJWVheAogIAltb3ZsCTEyKCVlYnApLCAlZWR4CiAgCXB1c2gJJWVzaQpAQCAtNjAsNyArNjgsNyBAQAogICNlbmRpZgogIAltb3ZsCSQ1MTIsIENUUjMJLyogTnVtYmVyIG9mIHJvdW5kcyAqLwogIAkKLUBAIC0yODAsNiArMjk0LDcgQEAgb2Zmc2V0ID0gb2Zmc2V0ICsgMTYKK0BAIC0yNzgsNiArMjkyLDcgQEAgb2Zmc2V0ID0gb2Zmc2V0ICsgMTYKICAJbW92ZHFhCSV4bW03LCAoNyoxNikoUFRSMSkKICAKICAjaWZkZWYgX19pMzg2X18KQEAgLTY4LDcgKzc2LDcgQEAKICAJcG9wCSVlc2kKICAJcG9wCSVlYnAKICAjZW5kaWYKLUBAIC0yOTQsNiArMzA5LDcgQEAgRU5UUlkoeDg2X2Flc19leHBhbmRfa2V5KQorQEAgLTI5Miw2ICszMDcsNyBAQCBFTlRSWSh4ODZfYWVzX2V4cGFuZF9rZXkpCiAgCXB1c2gJJWVicAogIAltb3YJJWVzcCwgJWVicAogIAltb3ZsCTgoJWVicCksICVlYXgKQEAgLTc2LDcgKzg0LDcgQEAKICAjZW5kaWYKICAKICAJU0VUUFRSKGFlc19yb3VuZF9rZXlzLCBQVFIxKQotQEAgLTMyMyw2ICszMzksNyBAQCBFTlRSWSh4ODZfYWVzX2V4cGFuZF9rZXkpCitAQCAtMzIxLDYgKzMzNyw3IEBAIEVOVFJZKHg4Nl9hZXNfZXhwYW5kX2tleSkKICAJY2FsbAkxZgogIAogICNpZmRlZiBfX2kzODZfXwpAQCAtODQsNyArOTIsNyBAQAogIAlwb3AJJWVicAogICNlbmRpZgogIAlyZXQKLUBAIC0zNDMsNiArMzYwLDE2IEBAIEVOVFJZKHg4Nl9hZXNfZXhwYW5kX2tleSkKK0BAIC0zNDEsNiArMzU4LDE2IEBAIEVOVFJZKHg4Nl9hZXNfZXhwYW5kX2tleSkKICAKICBFTkRQUk9DKHg4Nl9hZXNfZXhwYW5kX2tleSkKICAKQEAgLTEwMSwzICsxMDksNiBAQAogIAkuYnNzCiAgCS5iYWxpZ24gNjQKICBhZXNfcm91bmRfa2V5czoKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzL3VuZGVycXVvdGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvdW5kZXJxdW90ZS5wYXRjaAppbmRleCBhZmQwOGQ1Li5hYTRiYmNiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvdW5kZXJxdW90ZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvdW5kZXJxdW90ZS5wYXRjaApAQCAtMSw0ICsxLDggQEAKLUZpeCB1bmRlcnF1b3RlZCBtNCBlbnRyeS4gVGhpcyBjYXVzZXMgYSBmYWlsdXJlIGlmIGdjcnlwdCBpc24ndCBwcmVzZW50OgorRnJvbSAwM2ZlN2VmYTFiYzA0YTgzZmI5YjY3ODc5OThlN2JhYTdlZTkwNjQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+CitEYXRlOiBNb24sIDIyIE9jdCAyMDE4IDE1OjI3OjQxICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMy80XSBGaXggdW5kZXJxdW90ZWQgbTQgZW50cnkuIFRoaXMgY2F1c2VzIGEgZmFpbHVyZSBpZiBnY3J5cHQKKyBpc24ndCBwcmVzZW50OgogCiB8IGNvbmZpZ3VyZTogbGliZ2NyeXB0IHN1cHBvcnQgZGlzYWJsZWQKIHwgLi4vcm5nLXRvb2xzLTUvY29uZmlndXJlOiBsaW5lIDQzNDU6IGFjX2ZuX2NfdHJ5X2xpbms6IGNvbW1hbmQgbm90IGZvdW5kCkBAIC05LDExICsxMywxNyBAQAogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAotSW5kZXg6IHJuZy10b29scy01L2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHJuZy10b29scy01Lm9yaWcvY29uZmlndXJlLmFjCi0rKysgcm5nLXRvb2xzLTUvY29uZmlndXJlLmFjCi1AQCAtNzEsNyArNzEsNyBAQCBBU19JRigKK1JlYmFzZSB0byA2LjYKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGRkMWMzMGYuLjg4ZDJiZTMgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTEyNCw3ICsxMjQsNyBAQCBBU19JRigKICAJW3Rlc3QgIngkd2l0aF9saWJnY3J5cHQiICE9ICJ4bm8iXSwKICAJWwogIAkJQUNfQ0hFQ0tfSEVBREVSKFtnY3J5cHQuaF0sCkBAIC0yMiw3ICszMiw3IEBACiAgCQkJCVtnY3J5cHRdLAogIAkJCQlbZ2NyeV9jaGVja192ZXJzaW9uXSwgLAogIAkJCQlbCi1AQCAtODAsNyArODAsNyBAQCBBU19JRigKK0BAIC0xMzMsNyArMTMzLDcgQEAgQVNfSUYoCiAgCQkJCQkJQUNfTVNHX05PVElDRShbbGliZ2NyeXB0IHN1cHBvcnQgZGlzYWJsZWRdKQogIAkJCQkJZmkKICAJCQkJXQpAQCAtMzEsMyArNDEsNiBAQAogIAkJCVtpZiB0ZXN0ICJ4JHdpdGhfbGliZ2NyeXB0IiAhPSAieGNoZWNrIjsgdGhlbgogIAkJCQlBQ19NU0dfRkFJTFVSRShbbGliZ2NyeXB0IGhlYWRlcnMgbm90IGZvdW5kXSk7IGVsc2UKICAJCQkJQUNfTVNHX05PVElDRShbbGliZ2NyeXB0IHN1cHBvcnQgZGlzYWJsZWRdKQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHNfNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29sc181LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NzY1NjY3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29sc181LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotU1VNTUFSWSA9ICJSYW5kb20gbnVtYmVyIGdlbmVyYXRvciBkYWVtb24iCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGI2ZjAzM2FmZTZkYjIzNWU1NTk0NTY1ODVkYzhjZGMiCi0KLVNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2drZXJuZWwvJHtCUH0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtSWYtdGhlLWxpYmMtaXMtbGFja2luZy1hcmdwLXVzZS1saWJhcmdwLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItQWRkLWFyZ3VtZW50LXRvLWNvbnRyb2wtdGhlLWxpYmFyZ3AtZGVwZW5kZW5jeS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly91bmRlcnF1b3RlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3JuZy10b29scy01LWZpeC10ZXh0cmVscy1vbi1QSUMteDg2LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3JlYWRfZXJyb3JfbXNnLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2luaXQgXAotICAgICAgICAgICBmaWxlOi8vZGVmYXVsdCBcCi0gICAgICAgICAgIGZpbGU6Ly9ybmdkLnNlcnZpY2UgXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNjcyNmNkYzZmYWUxZjUxMjI0NjNmMjRhZTk4MGRkNjgiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjBhMTAyYjY2MDNiYmNjZTJkYTM0MTQ3MGNhZDQyZWVhYTk1NjRhMTZiNDQ5MGU3ODY3MDI2Y2ExMWEzMDc4ZSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZAotCi1QQUNLQUdFQ09ORklHID0gImxpYmdjcnlwdCIKLVBBQ0tBR0VDT05GSUdfbGliYy1tdXNsID0gImxpYmFyZ3AiCi1QQUNLQUdFQ09ORklHW2xpYmFyZ3BdID0gIi0td2l0aC1saWJhcmdwLC0td2l0aG91dC1saWJhcmdwLGFyZ3Atc3RhbmRhbG9uZSwiCi1QQUNLQUdFQ09ORklHW2xpYmdjcnlwdF0gPSAiLS13aXRoLWxpYmdjcnlwdCwtLXdpdGhvdXQtbGliZ2NyeXB0LGxpYmdjcnlwdCwiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgICMgT25seSBpbnN0YWxsIHRoZSBpbml0IHNjcmlwdCB3aGVuICdzeXN2aW5pdCcgaXMgaW4gRElTVFJPX0ZFQVRVUkVTLgotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9pbml0LmQiCi0gICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3JuZy10b29scwotICAgICAgICBzZWQgLWkgLWUgJ3MsL2V0Yy8sJHtzeXNjb25mZGlyfS8sJyAtZSAncywvdXNyL3NiaW4vLCR7c2JpbmRpcn0vLCcgXAotICAgICAgICAgICAgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3JuZy10b29scwotCi0gICAgICAgIGluc3RhbGwgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQiCi0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2RlZmF1bHQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC9ybmctdG9vbHMKLSAgICBmaQotCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3JuZ2Quc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgICAgICBzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcm5nZC5zZXJ2aWNlCi0gICAgZmkKLX0KLQotSU5JVFNDUklQVF9OQU1FID0gInJuZy10b29scyIKLUlOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDAzIDIgMyA0IDUgLiBzdG9wIDMwIDAgNiAxIC4iCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJybmdkLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHNfNi42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzXzYuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Nzk2YzliCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzXzYuNi5iYgpAQCAtMCwwICsxLDU4IEBACitTVU1NQVJZID0gIlJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIGRhZW1vbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL25ob3JtYW4vcm5nLXRvb2xzLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUlmLXRoZS1saWJjLWlzLWxhY2tpbmctYXJncC11c2UtbGliYXJncC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUFkZC1hcmd1bWVudC10by1jb250cm9sLXRoZS1saWJhcmdwLWRlcGVuZGVuY3kucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdW5kZXJxdW90ZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ybmctdG9vbHMtNS1maXgtdGV4dHJlbHMtb24tUElDLXg4Ni5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5hYy1maXgtdHlwby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0IFwKKyAgICAgICAgICAgZmlsZTovL2RlZmF1bHQgXAorICAgICAgICAgICBmaWxlOi8vcm5nZC5zZXJ2aWNlIFwKKyIKK1NSQ1JFViA9ICI0ZWJjMjFkNmYzODdiYjdiNGIzZjZiYWRjNDI5ZTI3YjIxYzBhNmVlIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZCBwa2djb25maWcKKworREVQRU5EUyA9ICIgXAorICAgICAgICAgICBzeXNmc3V0aWxzIFwKKyAgICAgICAgICAiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJsaWJnY3J5cHQgbGliaml0dGVyZW50cm9weSIKK1BBQ0tBR0VDT05GSUdfbGliYy1tdXNsID0gImxpYmFyZ3AgbGliaml0dGVyZW50cm9weSIKK1BBQ0tBR0VDT05GSUdbbGliYXJncF0gPSAiLS13aXRoLWxpYmFyZ3AsLS13aXRob3V0LWxpYmFyZ3AsYXJncC1zdGFuZGFsb25lLCIKK1BBQ0tBR0VDT05GSUdbbGliZ2NyeXB0XSA9ICItLXdpdGgtbGliZ2NyeXB0LC0td2l0aG91dC1saWJnY3J5cHQsbGliZ2NyeXB0LCIKK1BBQ0tBR0VDT05GSUdbbGliaml0dGVyZW50cm9weV0gPSAiLS1lbmFibGUtaml0dGVyZW50cm9weSwtLWRpc2FibGUtaml0dGVyZW50cm9weSxsaWJqaXR0ZXJlbnRyb3B5IgorUEFDS0FHRUNPTkZJR1tuaXN0YmVhY29uXSA9ICItLXdpdGgtbmlzdGJlYWNvbiwtLXdpdGhvdXQtbmlzdGJlYWNvbixjdXJsIGxpYnhtbDIgb3BlbnNzbCIKKworIyBSZWZlciBhdXRvZ2VuLnNoIGluIHJuZy10b29scworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgY3AgJHtTfS9SRUFETUUubWQgJHtTfS9SRUFETUUKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBPbmx5IGluc3RhbGwgdGhlIGluaXQgc2NyaXB0IHdoZW4gJ3N5c3Zpbml0JyBpcyBpbiBESVNUUk9fRkVBVFVSRVMuCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZCIKKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcm5nLXRvb2xzCisgICAgICAgIHNlZCAtaSAtZSAncywvZXRjLywke3N5c2NvbmZkaXJ9LywnIC1lICdzLC91c3Ivc2Jpbi8sJHtzYmluZGlyfS8sJyBcCisgICAgICAgICAgICAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcm5nLXRvb2xzCisKKyAgICAgICAgaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdCIKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3JuZy10b29scworICAgIGZpCisKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vcm5nZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9ybmdkLnNlcnZpY2UKKyAgICBmaQorfQorCitJTklUU0NSSVBUX05BTUUgPSAicm5nLXRvb2xzIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMDMgMiAzIDQgNSAuIHN0b3AgMzAgMCA2IDEgLiIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInJuZ2Quc2VydmljZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc2hhcmVkLW1pbWUtaW5mby9zaGFyZWQtbWltZS1pbmZvLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc2hhcmVkLW1pbWUtaW5mby9zaGFyZWQtbWltZS1pbmZvLmluYwppbmRleCAzNDRkYTdlLi4zZmUxYTQ0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3NoYXJlZC1taW1lLWluZm8vc2hhcmVkLW1pbWUtaW5mby5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zaGFyZWQtbWltZS1pbmZvL3NoYXJlZC1taW1lLWluZm8uaW5jCkBAIC0zMCw2ICszMCw4IEBACiAKIGRvX2luc3RhbGxfY2xhc3MtbmF0aXZlICgpIHsKIAlhdXRvdG9vbHNfZG9faW5zdGFsbAorCisJJHtCfS91cGRhdGUtbWltZS1kYXRhYmFzZSAke0R9JHtkYXRhZGlyfS9taW1lCiB9CiAKIEJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTMuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlMy5pbmMKaW5kZXggMTgzNDg2Ny4uZGFmM2RiNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlMy5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlMy5pbmMKQEAgLTIxLDExICsyMSwxOSBAQAogCiBpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKIAotUEFDS0FHRUNPTkZJRyA/PSAiIgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiIgorIyBlbmFibGUgdGhvc2Ugd2hpY2ggYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCBpbiBjb25maWd1cmUKK1BBQ0tBR0VDT05GSUcgPz0gImZ0czQgZnRzNSBqc29uMSBydHJlZSBkeW5fZXh0IgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPz0gImZ0czQgZnRzNSBqc29uMSBydHJlZSBkeW5fZXh0IgogCiBQQUNLQUdFQ09ORklHW2VkaXRsaW5lXSA9ICItLWVuYWJsZS1lZGl0bGluZSwtLWRpc2FibGUtZWRpdGxpbmUsbGliZWRpdCIKIFBBQ0tBR0VDT05GSUdbcmVhZGxpbmVdID0gIi0tZW5hYmxlLXJlYWRsaW5lLC0tZGlzYWJsZS1yZWFkbGluZSxyZWFkbGluZSBuY3Vyc2VzIgorUEFDS0FHRUNPTkZJR1tmdHMzXSA9ICItLWVuYWJsZS1mdHMzLC0tZGlzYWJsZS1mdHMzIgorUEFDS0FHRUNPTkZJR1tmdHM0XSA9ICItLWVuYWJsZS1mdHM0LC0tZGlzYWJsZS1mdHM0IgorUEFDS0FHRUNPTkZJR1tmdHM1XSA9ICItLWVuYWJsZS1mdHM1LC0tZGlzYWJsZS1mdHM1IgorUEFDS0FHRUNPTkZJR1tqc29uMV0gPSAiLS1lbmFibGUtanNvbjEsLS1kaXNhYmxlLWpzb24xIgorUEFDS0FHRUNPTkZJR1tydHJlZV0gPSAiLS1lbmFibGUtcnRyZWUsLS1kaXNhYmxlLXJ0cmVlIgorUEFDS0FHRUNPTkZJR1tzZXNzaW9uXSA9ICItLWVuYWJsZS1zZXNzaW9uLC0tZGlzYWJsZS1zZXNzaW9uIgorUEFDS0FHRUNPTkZJR1tkeW5fZXh0XSA9ICItLWVuYWJsZS1keW5hbWljLWV4dGVuc2lvbnMsLS1kaXNhYmxlLWR5bmFtaWMtZXh0ZW5zaW9ucyIKIAogRVhUUkFfT0VDT05GID0gIiBcCiAgICAgLS1lbmFibGUtc2hhcmVkIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTMvQ1ZFLTIwMTktOTkzNi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTMvQ1ZFLTIwMTktOTkzNi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjkwN2I5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlMy9DVkUtMjAxOS05OTM2LnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK1J1bm5pbmcgZnRzNSBwcmVmaXggcXVlcmllcyBpbnNpZGUgYSB0cmFuc2FjdGlvbiBjb3VsZCB0cmlnZ2VyIGEgaGVhcC1iYXNlZAorYnVmZmVyIG92ZXItcmVhZCBpbiBmdHM1SGFzaEVudHJ5U29ydCBpbiBzcWxpdGUzLmMsIHdoaWNoIG1heSBsZWFkIHRvIGFuCitpbmZvcm1hdGlvbiBsZWFrLgorCitDVkU6IENWRS0yMDE5LTk5MzYKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vc3FsaXRlLm9yZy9zcmMvdnBhdGNoP2Zyb209NDVjNzNkZWI0NDA0OTZlOCZ0bz1iM2ZhNThkZDc0MDNkYmQ0XQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKy0tLQorIHNxbGl0ZTMuYyB8IDQgKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NxbGl0ZTMuYyBiL3NxbGl0ZTMuYworaW5kZXggNDcyOWY0NS4uNjU1MjdkOCAxMDA2NDQKKy0tLSBhL3NxbGl0ZTMuYworKysrIGIvc3FsaXRlMy5jCitAQCAtMjA3NzU5LDcgKzIwNzc1OSw5IEBAIHN0YXRpYyBpbnQgZnRzNUhhc2hFbnRyeVNvcnQoCisgICBmb3IoaVNsb3Q9MDsgaVNsb3Q8cEhhc2gtPm5TbG90OyBpU2xvdCsrKXsKKyAgICAgRnRzNUhhc2hFbnRyeSAqcEl0ZXI7CisgICAgIGZvcihwSXRlcj1wSGFzaC0+YVNsb3RbaVNsb3RdOyBwSXRlcjsgcEl0ZXI9cEl0ZXItPnBIYXNoTmV4dCl7CistICAgICAgaWYoIHBUZXJtPT0wIHx8IDA9PW1lbWNtcChmdHM1RW50cnlLZXkocEl0ZXIpLCBwVGVybSwgblRlcm0pICl7CisrICAgICAgaWYoIHBUZXJtPT0wCisrICAgICAgIHx8IChwSXRlci0+bktleSsxPj1uVGVybSAmJiAwPT1tZW1jbXAoZnRzNUVudHJ5S2V5KHBJdGVyKSwgcFRlcm0sIG5UZXJtKSkKKysgICAgICApeworICAgICAgICAgRnRzNUhhc2hFbnRyeSAqcEVudHJ5ID0gcEl0ZXI7CisgICAgICAgICBwRW50cnktPnBTY2FuTmV4dCA9IDA7CisgICAgICAgICBmb3IoaT0wOyBhcFtpXTsgaSsrKXsKKy0tIAorMi4yMC4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUzL0NWRS0yMDE5LTk5MzcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUzL0NWRS0yMDE5LTk5MzcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmFhNTY2NgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTMvQ1ZFLTIwMTktOTkzNy5wYXRjaApAQCAtMCwwICsxLDE4NyBAQAorSW50ZXJsZWF2aW5nIHJlYWRzIGFuZCB3cml0ZXMgaW4gYSBzaW5nbGUgdHJhbnNhY3Rpb24gd2l0aCBhbiBmdHM1IHZpcnR1YWwgdGFibGUKK3dpbGwgbGVhZCB0byBhIE5VTEwgUG9pbnRlciBEZXJlZmVyZW5jZSBpbiBmdHM1Q2h1bmtJdGVyYXRlIGluIHNxbGl0ZTMuYy4KKworQ1ZFOiBDVkUtMjAxOS05OTM3CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL3NxbGl0ZS5vcmcvc3JjL3ZwYXRjaD9mcm9tPWMyZjUwYWE0ZTdiYWQ4ODImdG89NDVjNzNkZWI0NDA0OTZlOF0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKKy0tLQorIHNxbGl0ZTMuYyB8IDgzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcWxpdGUzLmMgYi9zcWxpdGUzLmMKK2luZGV4IDY1NTI3ZDguLmIxYTg3OTkgMTAwNjQ0CistLS0gYS9zcWxpdGUzLmMKKysrKyBiL3NxbGl0ZTMuYworQEAgLTIwMDY2OCw4ICsyMDA2NjgsOSBAQCBzdGF0aWMgdm9pZCBzcWxpdGUzRnRzNUhhc2hDbGVhcihGdHM1SGFzaCopOworIAorIHN0YXRpYyBpbnQgc3FsaXRlM0Z0czVIYXNoUXVlcnkoCisgICBGdHM1SGFzaCosICAgICAgICAgICAgICAgICAgICAgIC8qIEhhc2ggdGFibGUgdG8gcXVlcnkgKi8KKysgIGludCBuUHJlLAorICAgY29uc3QgY2hhciAqcFRlcm0sIGludCBuVGVybSwgICAvKiBRdWVyeSB0ZXJtICovCistICBjb25zdCB1OCAqKnBwRG9jbGlzdCwgICAgICAgICAgIC8qIE9VVDogUG9pbnRlciB0byBkb2NsaXN0IGZvciBwVGVybSAqLworKyAgdm9pZCAqKnBwT2JqLAkJCSAgLyogT1VUOiBQb2ludGVyIHRvIGRvY2xpc3QgZm9yIHBUZXJtICovCisgICBpbnQgKnBuRG9jbGlzdCAgICAgICAgICAgICAgICAgIC8qIE9VVDogU2l6ZSBvZiBkb2NsaXN0IGluIGJ5dGVzICovCisgKTsKKyAKK0BAIC0yMDc1MDEsMTkgKzIwNzUwMiwyNSBAQCBzdGF0aWMgaW50IGZ0czVIYXNoUmVzaXplKEZ0czVIYXNoICpwSGFzaCl7CisgICByZXR1cm4gU1FMSVRFX09LOworIH0KKyAKKy1zdGF0aWMgdm9pZCBmdHM1SGFzaEFkZFBvc2xpc3RTaXplKEZ0czVIYXNoICpwSGFzaCwgRnRzNUhhc2hFbnRyeSAqcCl7Cisrc3RhdGljIGludCBmdHM1SGFzaEFkZFBvc2xpc3RTaXplKAorKyAgRnRzNUhhc2ggKnBIYXNoLAorKyAgRnRzNUhhc2hFbnRyeSAqcCwKKysgIEZ0czVIYXNoRW50cnkgKnAyCisrKXsKKysgIGludCBuUmV0ID0gMDsKKyAgIGlmKCBwLT5pU3pQb3NsaXN0ICl7CistICAgIHU4ICpwUHRyID0gKHU4KilwOworKyAgICB1OCAqcFB0ciA9IHAyID8gKHU4KilwMiA6ICh1OCopcDsKKysgICAgaW50IG5EYXRhID0gcC0+bkRhdGE7CisgICAgIGlmKCBwSGFzaC0+ZURldGFpbD09RlRTNV9ERVRBSUxfTk9ORSApeworLSAgICAgIGFzc2VydCggcC0+bkRhdGE9PXAtPmlTelBvc2xpc3QgKTsKKysgICAgICBhc3NlcnQoIG5EYXRhPT1wLT5pU3pQb3NMaXN0ICk7CisgICAgICAgaWYoIHAtPmJEZWwgKXsKKy0gICAgICAgIHBQdHJbcC0+bkRhdGErK10gPSAweDAwOworKyAgICAgICAgcFB0cltuRGF0YSsrXSA9IDB4MDA7CisgICAgICAgICBpZiggcC0+YkNvbnRlbnQgKXsKKy0gICAgICAgICAgcFB0cltwLT5uRGF0YSsrXSA9IDB4MDA7CisrICAgICAgICAgIHBQdHJbbkRhdGErK10gPSAweDAwOworICAgICAgICAgfQorICAgICAgIH0KKyAgICAgfWVsc2V7CistICAgICAgaW50IG5TeiA9IChwLT5uRGF0YSAtIHAtPmlTelBvc2xpc3QgLSAxKTsgICAgICAgLyogU2l6ZSBpbiBieXRlcyAqLworKyAgICAgIGludCBuU3ogPSAobkRhdGEgLSBwLT5pU3pQb3NsaXN0IC0gMSk7ICAgICAgIC8qIFNpemUgaW4gYnl0ZXMgKi8KKyAgICAgICBpbnQgblBvcyA9IG5TeioyICsgcC0+YkRlbDsgICAgICAgICAgICAgICAgICAgICAvKiBWYWx1ZSBvZiBuUG9zIGZpZWxkICovCisgCisgICAgICAgYXNzZXJ0KCBwLT5iRGVsPT0wIHx8IHAtPmJEZWw9PTEgKTsKK0BAIC0yMDc1MjMsMTQgKzIwNzUzMCwxOSBAQCBzdGF0aWMgdm9pZCBmdHM1SGFzaEFkZFBvc2xpc3RTaXplKEZ0czVIYXNoICpwSGFzaCwgRnRzNUhhc2hFbnRyeSAqcCl7CisgICAgICAgICBpbnQgbkJ5dGUgPSBzcWxpdGUzRnRzNUdldFZhcmludExlbigodTMyKW5Qb3MpOworICAgICAgICAgbWVtbW92ZSgmcFB0cltwLT5pU3pQb3NsaXN0ICsgbkJ5dGVdLCAmcFB0cltwLT5pU3pQb3NsaXN0ICsgMV0sIG5Teik7CisgICAgICAgICBzcWxpdGUzRnRzNVB1dFZhcmludCgmcFB0cltwLT5pU3pQb3NsaXN0XSwgblBvcyk7CistICAgICAgICBwLT5uRGF0YSArPSAobkJ5dGUtMSk7CisrICAgICAgICBuRGF0YSArPSAobkJ5dGUtMSk7CisgICAgICAgfQorICAgICB9CisgCistICAgIHAtPmlTelBvc2xpc3QgPSAwOworLSAgICBwLT5iRGVsID0gMDsKKy0gICAgcC0+YkNvbnRlbnQgPSAwOworKyAgICBuUmV0ID0gbkRhdGEgLSBwLT5uRGF0YTsKKysgICAgaWYoIHAyID09IDAgKXsKKysgICAgICBwLT5pU3pQb3NsaXN0ID0gMDsKKysgICAgICBwLT5iRGVsID0gMDsKKysgICAgICBwLT5iQ29udGVudCA9IDA7CisrICAgICAgcC0+bkRhdGEgPSBuRGF0YTsKKysgICAgfQorICAgfQorKyAgcmV0dXJuIG5SZXQ7CisgfQorIAorIC8qCitAQCAtMjA3NjQyLDcgKzIwNzY1NCw3IEBAIHN0YXRpYyBpbnQgc3FsaXRlM0Z0czVIYXNoV3JpdGUoCisgICAvKiBJZiB0aGlzIGlzIGEgbmV3IHJvd2lkLCBhcHBlbmQgdGhlIDQtYnl0ZSBzaXplIGZpZWxkIGZvciB0aGUgcHJldmlvdXMKKyAgICoqIGVudHJ5LCBhbmQgdGhlIG5ldyByb3dpZCBmb3IgdGhpcyBlbnRyeS4gICovCisgICBpZiggaVJvd2lkIT1wLT5pUm93aWQgKXsKKy0gICAgZnRzNUhhc2hBZGRQb3NsaXN0U2l6ZShwSGFzaCwgcCk7CisrICAgIGZ0czVIYXNoQWRkUG9zbGlzdFNpemUocEhhc2gsIHAsIDApOworICAgICBwLT5uRGF0YSArPSBzcWxpdGUzRnRzNVB1dFZhcmludCgmcFB0cltwLT5uRGF0YV0sIGlSb3dpZCAtIHAtPmlSb3dpZCk7CisgICAgIHAtPmlSb3dpZCA9IGlSb3dpZDsKKyAgICAgYk5ldyA9IDE7CitAQCAtMjA3Nzg5LDggKzIwNzgwMSw5IEBAIHN0YXRpYyBpbnQgZnRzNUhhc2hFbnRyeVNvcnQoCisgKi8KKyBzdGF0aWMgaW50IHNxbGl0ZTNGdHM1SGFzaFF1ZXJ5KAorICAgRnRzNUhhc2ggKnBIYXNoLCAgICAgICAgICAgICAgICAvKiBIYXNoIHRhYmxlIHRvIHF1ZXJ5ICovCisrICBpbnQgblByZSwKKyAgIGNvbnN0IGNoYXIgKnBUZXJtLCBpbnQgblRlcm0sICAgLyogUXVlcnkgdGVybSAqLworLSAgY29uc3QgdTggKipwcERvY2xpc3QsICAgICAgICAgICAvKiBPVVQ6IFBvaW50ZXIgdG8gZG9jbGlzdCBmb3IgcFRlcm0gKi8KKysgIHZvaWQgKipwcE91dCwJCQkgIC8qIE9VVDogUG9pbnRlciB0byBuZXcgb2JqZWN0ICovCisgICBpbnQgKnBuRG9jbGlzdCAgICAgICAgICAgICAgICAgIC8qIE9VVDogU2l6ZSBvZiBkb2NsaXN0IGluIGJ5dGVzICovCisgKXsKKyAgIHVuc2lnbmVkIGludCBpSGFzaCA9IGZ0czVIYXNoS2V5KHBIYXNoLT5uU2xvdCwgKGNvbnN0IHU4KilwVGVybSwgblRlcm0pOworQEAgLTIwNzgwNCwxMSArMjA3ODE3LDIwIEBAIHN0YXRpYyBpbnQgc3FsaXRlM0Z0czVIYXNoUXVlcnkoCisgICB9CisgCisgICBpZiggcCApeworLSAgICBmdHM1SGFzaEFkZFBvc2xpc3RTaXplKHBIYXNoLCBwKTsKKy0gICAgKnBwRG9jbGlzdCA9IChjb25zdCB1OCopJnpLZXlbblRlcm0rMV07CistICAgICpwbkRvY2xpc3QgPSBwLT5uRGF0YSAtIChzaXplb2YoRnRzNUhhc2hFbnRyeSkgKyBuVGVybSArIDEpOworKyAgICBpbnQgbkhhc2hQcmUgPSBzaXplb2YoRnRzNUhhc2hFbnRyeSkgKyBuVGVybSArIDE7CisrICAgIGludCBuTGlzdCA9IHAtPm5EYXRhIC0gbkhhc2hQcmU7CisrICAgIHU4ICpwUmV0ID0gKHU4KikoKnBwT3V0ID0gc3FsaXRlM19tYWxsb2M2NChuUHJlICsgbkxpc3QgKyAxMCkpOworKyAgICBpZiAoIHBSZXQgKXsKKysgICAgICAgRnRzNUhhc2hFbnRyeSAqcEZhdXggPSAoRnRzNUhhc2hFbnRyeSopJnBSZXRbblByZS1uSGFzaFByZV07CisrICAgICAgIG1lbWNweSgmcFJldFtuUHJlXSwgJigodTgqKXApW25IYXNoUHJlXSwgbkxpc3QpOworKyAgICAgICBuTGlzdCArPSBmdHM1SGFzaEFkZFBvc2xpc3RTaXplKHBIYXNoLCBwLCBwRmF1eCk7CisrICAgICAgICpwbkRvY2xpc3QgPSBuTGlzdDsKKysgICAgfWVsc2V7CisrICAgICAgICpwbkRvY2xpc3QgPSAwOworKyAgICAgICByZXR1cm4gU1FMSVRFX05PTUVNOworKyAgICB9CisgICB9ZWxzZXsKKy0gICAgKnBwRG9jbGlzdCA9IDA7CisrICAgICpwcE91dCA9IDA7CisgICAgICpwbkRvY2xpc3QgPSAwOworICAgfQorIAorQEAgLTIwNzg0MSw3ICsyMDc4NjMsNyBAQCBzdGF0aWMgdm9pZCBzcWxpdGUzRnRzNUhhc2hTY2FuRW50cnkoCisgICBpZiggKHAgPSBwSGFzaC0+cFNjYW4pICl7CisgICAgIGNoYXIgKnpLZXkgPSBmdHM1RW50cnlLZXkocCk7CisgICAgIGludCBuVGVybSA9IChpbnQpc3RybGVuKHpLZXkpOworLSAgICBmdHM1SGFzaEFkZFBvc2xpc3RTaXplKHBIYXNoLCBwKTsKKysgICAgZnRzNUhhc2hBZGRQb3NsaXN0U2l6ZShwSGFzaCwgcCwgMCk7CisgICAgICpwelRlcm0gPSB6S2V5OworICAgICAqcHBEb2NsaXN0ID0gKGNvbnN0IHU4KikmektleVtuVGVybSsxXTsKKyAgICAgKnBuRG9jbGlzdCA9IHAtPm5EYXRhIC0gKHNpemVvZihGdHM1SGFzaEVudHJ5KSArIG5UZXJtICsgMSk7CitAQCAtMjEwMzExLDMxICsyMTAzMzMsNDAgQEAgc3RhdGljIHZvaWQgZnRzNVNlZ0l0ZXJIYXNoSW5pdCgKKyAgIGludCBmbGFncywgICAgICAgICAgICAgICAgICAgICAgLyogTWFzayBvZiBGVFM1SU5ERVhfWFhYIGZsYWdzICovCisgICBGdHM1U2VnSXRlciAqcEl0ZXIgICAgICAgICAgICAgIC8qIE9iamVjdCB0byBwb3B1bGF0ZSAqLworICl7CistICBjb25zdCB1OCAqcExpc3QgPSAwOworICAgaW50IG5MaXN0ID0gMDsKKyAgIGNvbnN0IHU4ICp6ID0gMDsKKyAgIGludCBuID0gMDsKKysgIEZ0czVEYXRhICpwTGVhZiA9IDA7CisgCisgICBhc3NlcnQoIHAtPnBIYXNoICk7CisgICBhc3NlcnQoIHAtPnJjPT1TUUxJVEVfT0sgKTsKKyAKKyAgIGlmKCBwVGVybT09MCB8fCAoZmxhZ3MgJiBGVFM1SU5ERVhfUVVFUllfU0NBTikgKXsKKysgICAgY29uc3QgdTggKnBMaXN0ID0gMDsKKysKKyAgICAgcC0+cmMgPSBzcWxpdGUzRnRzNUhhc2hTY2FuSW5pdChwLT5wSGFzaCwgKGNvbnN0IGNoYXIqKXBUZXJtLCBuVGVybSk7CisgICAgIHNxbGl0ZTNGdHM1SGFzaFNjYW5FbnRyeShwLT5wSGFzaCwgKGNvbnN0IGNoYXIqKikmeiwgJnBMaXN0LCAmbkxpc3QpOworICAgICBuID0gKHogPyAoaW50KXN0cmxlbigoY29uc3QgY2hhciopeikgOiAwKTsKKysgICAgaWYgKCBwTGlzdCApeworKyAgICAgIHBMZWFmID0gZnRzNUlkeE1hbGxvYyhwLCBzaXplb2YoRnRzNURhdGEpKTsKKysgICAgICBpZiAoIHBMZWFmICl7CisrICAgICAgICBwTGVhZi0+cCA9IHBMaXN0OworKyAgICAgIH0KKysgICAgfQorICAgfWVsc2V7CistICAgIHBJdGVyLT5mbGFncyB8PSBGVFM1X1NFR0lURVJfT05FVEVSTTsKKy0gICAgc3FsaXRlM0Z0czVIYXNoUXVlcnkocC0+cEhhc2gsIChjb25zdCBjaGFyKilwVGVybSwgblRlcm0sICZwTGlzdCwgJm5MaXN0KTsKKysgICAgcC0+cmMgPSBzcWxpdGUzRnRzNUhhc2hRdWVyeShwLT5wSGFzaCwgc2l6ZW9mKEZ0czVEYXRhKSwKKysgICAgICAgIChjb25zdCBjaGFyKilwVGVybSwgblRlcm0sICh2b2lkKiopJnBMZWFmLCAmbkxpc3QKKysgICAgKTsKKysgICAgaWYoIHBMZWFmICl7CisrICAgICAgcExlYWYtPnAgPSAodTgqKSZwTGVhZlsxXTsKKysgICAgfQorICAgICB6ID0gcFRlcm07CisgICAgIG4gPSBuVGVybTsKKysgICAgcEl0ZXItPmZsYWdzIHw9IEZUUzVfU0VHSVRFUl9PTkVURVJNOworICAgfQorIAorLSAgaWYoIHBMaXN0ICl7CistICAgIEZ0czVEYXRhICpwTGVhZjsKKysgIGlmKCBwTGVhZiApeworICAgICBzcWxpdGUzRnRzNUJ1ZmZlclNldCgmcC0+cmMsICZwSXRlci0+dGVybSwgbiwgeik7CistICAgIHBMZWFmID0gZnRzNUlkeE1hbGxvYyhwLCBzaXplb2YoRnRzNURhdGEpKTsKKy0gICAgaWYoIHBMZWFmPT0wICkgcmV0dXJuOworLSAgICBwTGVhZi0+cCA9ICh1OCopcExpc3Q7CisgICAgIHBMZWFmLT5ubiA9IHBMZWFmLT5zekxlYWYgPSBuTGlzdDsKKyAgICAgcEl0ZXItPnBMZWFmID0gcExlYWY7CisgICAgIHBJdGVyLT5pTGVhZk9mZnNldCA9IGZ0czVHZXRWYXJpbnQocExlYWYtPnAsICh1NjQqKSZwSXRlci0+aVJvd2lkKTsKKy0tIAorMi4yMC4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUzXzMuMjMuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTNfMy4yMy4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNzU1NzYxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTNfMy4yMy4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotcmVxdWlyZSBzcWxpdGUzLmluYwotCi1MSUNFTlNFID0gIlBEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc3FsaXRlMy5oO2VuZGxpbmU9MTE7bWQ1PTc4NmQzZGM1ODFlZmYwM2Y0ZmQ5ZTRhNzdlZDAwYzY2IgotCi1TUkNfVVJJID0gIlwKLSAgaHR0cDovL3d3dy5zcWxpdGUub3JnLzIwMTgvc3FsaXRlLWF1dG9jb25mLSR7U1FMSVRFX1BWfS50YXIuZ3ogXAotICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiOTlhNTFiNDBhNjY4NzI4NzJhOTFjOTJmNmQwMTM0ZmEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTI4NDJiMjgzZTVlNzQ0ZWZmNWRhMjllZDNjNjkzOTFkZTczNjhmY2NjNGQwZWU2YmY2MjQ5MGNlNTU1ZWYyNSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTNfMy4yNy4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlM18zLjI3LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGJkYjA0ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTNfMy4yNy4yLmJiCkBAIC0wLDAgKzEsMTMgQEAKK3JlcXVpcmUgc3FsaXRlMy5pbmMKKworTElDRU5TRSA9ICJQRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NxbGl0ZTMuaDtlbmRsaW5lPTExO21kNT03ODZkM2RjNTgxZWZmMDNmNGZkOWU0YTc3ZWQwMGM2NiIKKworU1JDX1VSSSA9ICJcCisgIGh0dHA6Ly93d3cuc3FsaXRlLm9yZy8yMDE5L3NxbGl0ZS1hdXRvY29uZi0ke1NRTElURV9QVn0udGFyLmd6IFwKKyAgZmlsZTovL0NWRS0yMDE5LTk5MzYucGF0Y2ggXAorICBmaWxlOi8vQ1ZFLTIwMTktOTkzNy5wYXRjaCBcCisgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjFmNzI2MzFjZTZlOGVmYTViNGE2ZTU1YTQzYjNiZGMwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUwYzM5ZTg1ZWEyOGI1ZWNmZGIzZjllODYwYWZlOWJhNjA2MzgxZTIxODM2YjI4NDllZmNhNmEwYmZlNmVmNmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvMDAwMS1zcmMtTWFrZWZpbGUtaW1wcm92ZS1yZXByb2R1Y2liaWxpdHkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy8wMDAxLXNyYy1NYWtlZmlsZS1pbXByb3ZlLXJlcHJvZHVjaWJpbGl0eS5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzLzAwMDEtc3JjLU1ha2VmaWxlLWltcHJvdmUtcmVwcm9kdWNpYmlsaXR5LnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy8wMDAxLXNyYy1NYWtlZmlsZS1pbXByb3ZlLXJlcHJvZHVjaWJpbGl0eS5wYXRjaApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvZGlzYWJsZV9hY2xfaGVhZGVyX2NoZWNrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvZGlzYWJsZV9hY2xfaGVhZGVyX2NoZWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzMDg5MTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy9kaXNhYmxlX2FjbF9oZWFkZXJfY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSA1ZWQyNWMwNzZhMWZiMTg4OWEzYzUwZGRkZjI5ZjIxODUwYjU5YTEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+IAorRGF0ZTogVHVlLCAyNiBKdW4gMjAxOCAxNzoyOTowOSArMDgwMAorU3ViamVjdDogW1BBVENIXSBkaXNhYmxlIGFjbCBoZWFkZXIgY2hlY2sKKworRG9uJ3QgY2hlY2sgJ3N5cy9hY2wuaCcgaWYgYWNsIHN1cHBvcnQgZGlzYWJsZWQgZm9yIHZpbS92aW0tdGlueS4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9jb25maWd1cmUuYWMgfCAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9jb25maWd1cmUuYWMgYi9zcmMvY29uZmlndXJlLmFjCitpbmRleCAyZDQwOWIzY2EwNmEuLmRiY2FmNjE0MDI2MyAxMDA2NDQKKy0tLSBhL3NyYy9jb25maWd1cmUuYWMKKysrKyBiL3NyYy9jb25maWd1cmUuYWMKK0BAIC0zMjU3LDcgKzMyNTcsNyBAQCBBQ19DSEVDS19IRUFERVJTKHN0ZGludC5oIHN0ZGxpYi5oIHN0cmluZy5oIFwKKyAJc3lzL3N5c3RlbWluZm8uaCBsb2NhbGUuaCBzeXMvc3RyZWFtLmggdGVybWlvcy5oIFwKKyAJbGliYy5oIHN5cy9zdGF0ZnMuaCBwb2xsLmggc3lzL3BvbGwuaCBwd2QuaCBcCisgCXV0aW1lLmggc3lzL3BhcmFtLmggc3lzL3B0bXMuaCBsaWJpbnRsLmggbGliZ2VuLmggXAorLQl1dGlsL2RlYnVnLmggdXRpbC9tc2cxOG4uaCBmcmFtZS5oIHN5cy9hY2wuaCBcCisrCXV0aWwvZGVidWcuaCB1dGlsL21zZzE4bi5oIGZyYW1lLmggXAorIAlzeXMvYWNjZXNzLmggc3lzL3N5c2luZm8uaCB3Y2hhci5oIHdjdHlwZS5oKQorIAorIGRubCBzeXMvcHRlbS5oIGRlcGVuZHMgb24gc3lzL3N0cmVhbS5oIG9uIFNvbGFyaXMKK0BAIC0zODg2LDYgKzM4ODYsNyBAQCBBQ19BUkdfRU5BQkxFKGFjbCwKKyAJLCBbZW5hYmxlX2FjbD0ieWVzIl0pCisgaWYgdGVzdCAiJGVuYWJsZV9hY2wiID0gInllcyI7IHRoZW4KKyAgIEFDX01TR19SRVNVTFQobm8pCisrICBBQ19DSEVDS19IRUFERVJTKHN5cy9hY2wuaCkKKyAgIEFDX0NIRUNLX0xJQihwb3NpeDFlLCBhY2xfZ2V0X2ZpbGUsIFtMSUJTPSIkTElCUyAtbHBvc2l4MWUiXSwKKyAJQUNfQ0hFQ0tfTElCKGFjbCwgYWNsX2dldF9maWxlLCBbTElCUz0iJExJQlMgLWxhY2wiCisgCQkgIEFDX0NIRUNLX0xJQihhdHRyLCBmZ2V0eGF0dHIsIExJQlM9IiRMSUJTIC1sYXR0ciIsLCldLCwpLCkKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL3ZpbS1hZGQta25vYi13aGV0aGVyLWVsZi5oLWFyZS1jaGVja2VkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvdmltLWFkZC1rbm9iLXdoZXRoZXItZWxmLmgtYXJlLWNoZWNrZWQucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy92aW0tYWRkLWtub2Itd2hldGhlci1lbGYuaC1hcmUtY2hlY2tlZC5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvdmltLWFkZC1rbm9iLXdoZXRoZXItZWxmLmgtYXJlLWNoZWNrZWQucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW0tdGlueV84LjEuMDM0Ny5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbS10aW55XzguMS4xMDE3LmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltLXRpbnlfOC4xLjAzNDcuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbS10aW55XzguMS4xMDE3LmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fOC4xLjEwMTcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fOC4xLjEwMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzYyN2QyOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbV84LjEuMTAxNy5iYgpAQCAtMCwwICsxLDEyOSBAQAorU1VNTUFSWSA9ICJWaSBJTXByb3ZlZCAtIGVuaGFuY2VkIHZpIGVkaXRvciIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKKworUFJPVklERVMgPSAieHhkIgorREVQRU5EUyA9ICJuY3Vyc2VzIGdldHRleHQtbmF0aXZlIgorIyB2aW1kaWZmIGRvZXNuJ3QgbGlrZSBidXN5Ym94IGRpZmYKK1JTVUdHRVNUU18ke1BOfSA9ICJkaWZmdXRpbHMiCitMSUNFTlNFID0gInZpbSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uL3J1bnRpbWUvZG9jL3VnYW5kYS50eHQ7ZW5kbGluZT0yODc7bWQ1PWYxZjgyYjQyMzYwMDA1YzcwYjhjMTliMGVmNDkzZjcyIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdmltL3ZpbS5naXQgXAorICAgICAgICAgICBmaWxlOi8vZGlzYWJsZV9hY2xfaGVhZGVyX2NoZWNrLnBhdGNoO3BhdGNoZGlyPS4uIFwKKyAgICAgICAgICAgZmlsZTovL3ZpbS1hZGQta25vYi13aGV0aGVyLWVsZi5oLWFyZS1jaGVja2VkLnBhdGNoO3BhdGNoZGlyPS4uIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtc3JjLU1ha2VmaWxlLWltcHJvdmUtcmVwcm9kdWNpYmlsaXR5LnBhdGNoO3BhdGNoZGlyPS4uIFwKKyIKK1NSQ1JFViA9ICI0OTNmYmU0YWJlZTY2MGQzMGI0ZjJhZWY4N2I3NTRiMGE3MjAyMTNjIgorCitTID0gIiR7V09SS0RJUn0vZ2l0L3NyYyIKKworVklNRElSID0gInZpbSR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19JHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVsxXX0iCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK0NMRUFOQlJPS0VOID0gIjEiCisKKyMgdmltIGNvbmZpZ3VyZS5pbiBjb250YWlucyBmdW5jdGlvbnMgd2hpY2ggZ290ICdkcm9wcGVkJyBieSBhdXRvdG9vbHMuYmJjbGFzcworZG9fY29uZmlndXJlICgpIHsKKyAgICBybSAtZiBhdXRvLyoKKyAgICB0b3VjaCBhdXRvL2NvbmZpZy5taworICAgIGFjbG9jYWwKKyAgICBhdXRvY29uZgorICAgIG9lX3J1bmNvbmYKKyAgICB0b3VjaCBhdXRvL2NvbmZpZ3VyZQorICAgIHRvdWNoIGF1dG8vY29uZmlnLm1rIGF1dG8vY29uZmlnLmgKK30KKworI0F2YWlsYWJsZSBQQUNLQUdFQ09ORklHIG9wdGlvbnMgYXJlIGd0a2d1aSwgYWNsLCB4MTEsIHRpbnkKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHICs9ICIgXAorICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2FjbCBzZWxpbnV4JywgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4MTEgZ3RrZ3VpJywgJycsIGQpfSBcCisiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICIiCisKK1BBQ0tBR0VDT05GSUdbZ3RrZ3VpXSA9ICItLWVuYWJsZS1ndWk9Z3RrMiwtLWVuYWJsZS1ndWk9bm8sZ3RrKywiCitQQUNLQUdFQ09ORklHW2FjbF0gPSAiLS1lbmFibGUtYWNsLC0tZGlzYWJsZS1hY2wsYWNsLCIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteCwtLXdpdGhvdXQteCx4dCwiCitQQUNLQUdFQ09ORklHW3RpbnldID0gIi0td2l0aC1mZWF0dXJlcz10aW55LC0td2l0aC1mZWF0dXJlcz1iaWcsLCIKK1BBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS1lbmFibGUtc2VsaW51eCwtLWRpc2FibGUtc2VsaW51eCxsaWJzZWxpbnV4LCIKK1BBQ0tBR0VDT05GSUdbZWxmdXRpbHNdID0gIi0tZW5hYmxlLWVsZi1jaGVjaywsZWxmdXRpbHMsIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtZ3BtIFwKKyAgICAtLWRpc2FibGUtZ3RrdGVzdCBcCisgICAgLS1kaXNhYmxlLXhpbSBcCisgICAgLS1kaXNhYmxlLW5ldGJlYW5zIFwKKyAgICAtLXdpdGgtdGxpYj1uY3Vyc2VzIFwKKyAgICBhY19jdl9zbWFsbF93Y2hhcl90PW5vIFwKKyAgICB2aW1fY3ZfZ2V0Y3dkX2Jyb2tlbj1ubyBcCisgICAgdmltX2N2X21lbW1vdmVfaGFuZGxlc19vdmVybGFwPXllcyBcCisgICAgdmltX2N2X3N0YXRfaWdub3Jlc19zbGFzaD1ubyBcCisgICAgdmltX2N2X3Rlcm1pbmZvPXllcyBcCisgICAgdmltX2N2X3RnZXRlbnQ9bm9uLXplcm8gXAorICAgIHZpbV9jdl90b3VwcGVyX2Jyb2tlbj1ubyBcCisgICAgdmltX2N2X3R0eV9ncm91cD13b3JsZCBcCisgICAgU1RSSVA9L2Jpbi90cnVlIFwKKyIKKworZG9faW5zdGFsbCgpIHsKKyAgICBhdXRvdG9vbHNfZG9faW5zdGFsbAorCisgICAgIyBXb3JrIGFyb3VuZCBmaWxlLXJkZXBzIHBpY2tpbmcgdXAgY3NoLCBhd2ssIHBlcmwgb3IgcHl0aG9uIGFzIGEgZGVwCisgICAgY2htb2QgLXggJHtEfSR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS90b29scy92aW0xMzIKKyAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzL212ZS5hd2sKKyAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzLyoucGwKKyAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzLyoucHkKKworICAgICMgSW5zdGFsbCBleGFtcGxlIHZpbXJjIGZyb20gcnVudGltZSBmaWxlcworICAgIGluc3RhbGwgLW0gMDY0NCAuLi9ydW50aW1lL3ZpbXJjX2V4YW1wbGUudmltICR7RH0vJHtkYXRhZGlyfS8ke0JQTn0vdmltcmMKKworICAgICMgd2UgdXNlIC0td2l0aC1mZWF0dXJlcz1iaWcgYXMgZGVmYXVsdAorICAgIG12ICR7RH0ke2JpbmRpcn0vJHtCUE59ICR7RH0ke2JpbmRpcn0vJHtCUE59LiR7QlBOfQorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCSMgVGhlIG1vdXNlIGJlaW5nIGF1dG9lbmFibGVkIGlzIGp1c3QgYW5ub3lpbmcgaW4geGZjZTQtdGVybWluYWwgKG1vdXNlCisJIyBkcmFnIG1ha2UgdmltIGdvIGludG8gdmlzdWFsIG1vZGUgYW5kIHRoZXJlIGlzIG5vIHJpZ2h0IGNsaWNrIG1lbnUpLAorCSMgZGVsZXRlIHRoZSBibG9jay4KKwlzZWQgLWkgJy90aGUgbW91c2Ugd29ya3MganVzdCBmaW5lLywrNGQnICR7RH0vJHtkYXRhZGlyfS8ke0JQTn0vdmltcmMKKyAgICBmaQorfQorCitQQVJBTExFTF9NQUtFSU5TVCA9ICIiCisKK1BBQ0tBR0VTID0rICIke1BOfS1jb21tb24gJHtQTn0tc3ludGF4ICR7UE59LWhlbHAgJHtQTn0tdHV0b3IgJHtQTn0tdmltcmMgJHtQTn0tdG9vbHMiCitGSUxFU18ke1BOfS1zeW50YXggPSAiJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3N5bnRheCIKK0ZJTEVTXyR7UE59LWhlbHAgPSAiJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2RvYyIKK0ZJTEVTXyR7UE59LXR1dG9yID0gIiR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS90dXRvciAke2JpbmRpcn0vJHtCUE59dHV0b3IiCitGSUxFU18ke1BOfS12aW1yYyA9ICIke2RhdGFkaXJ9LyR7QlBOfS92aW1yYyIKK0ZJTEVTXyR7UE59LWRhdGEgPSAiJHtkYXRhZGlyfS8ke0JQTn0iCitGSUxFU18ke1BOfS10b29scyA9ICIke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vdG9vbHMiCitGSUxFU18ke1BOfS1jb21tb24gPSAiIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vKi52aW0gXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9hdXRvbG9hZCBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2NvbG9ycyBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2NvbXBpbGVyIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vZnRwbHVnaW4gXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9pbmRlbnQgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9rZXltYXAgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9sYW5nIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vbWFjcm9zIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vcGx1Z2luIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vcHJpbnQgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9zcGVsbCBcCisgICAgJHtkYXRhZGlyfS9pY29ucyBcCisiCisKK1JERVBFTkRTXyR7QlBOfSA9ICJuY3Vyc2VzLXRlcm1pbmZvLWJhc2UiCisjIFJlY29tbWVuZCB0aGF0IHJ1bnRpbWUgZGF0YSBpcyBpbnN0YWxsZWQgYWxvbmcgd2l0aCB2aW0KK1JSRUNPTU1FTkRTXyR7QlBOfSA9ICIke1BOfS1zeW50YXggJHtQTn0taGVscCAke1BOfS10dXRvciAke1BOfS12aW1yYyAke1BOfS1jb21tb24iCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gInZpIHZpbSB4eGQiCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCitBTFRFUk5BVElWRV9UQVJHRVQgPSAiJHtiaW5kaXJ9LyR7QlBOfS4ke0JQTn0iCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdmldID0gIiR7YmFzZV9iaW5kaXJ9L3ZpIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3ZpbV0gPSAiJHtiaW5kaXJ9L3ZpbSIKK0FMVEVSTkFUSVZFX1RBUkdFVFt4eGRdID0gIiR7YmluZGlyfS94eGQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbeHhkXSA9ICIke2JpbmRpcn0veHhkIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdnRlL3Z0ZS8wMDAxLWFwcC5jYy11c2Utb2xkLXNjaG9vbC1hc2lnbm1lbnQtdG8tYXZvaWQtZ2NjLTQuOC1lcnIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3Z0ZS92dGUvMDAwMS1hcHAuY2MtdXNlLW9sZC1zY2hvb2wtYXNpZ25tZW50LXRvLWF2b2lkLWdjYy00LjgtZXJyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljM2Y5OGYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3Z0ZS92dGUvMDAwMS1hcHAuY2MtdXNlLW9sZC1zY2hvb2wtYXNpZ25tZW50LXRvLWF2b2lkLWdjYy00LjgtZXJyLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gNDQyZGE5MDc2YjUyMDAzNzQzZmZjNmZkN2I5ZDY0N2RlNmQ3YWE4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVGh1LCAxNyBKYW4gMjAxOSAxNjozNzo1NCArMDEwMAorU3ViamVjdDogW1BBVENIXSBhcHAuY2M6IHVzZSBvbGQgc2Nob29sIGFzaWdubWVudCB0byBhdm9pZCBnY2MgNC44IGVycm9yCisKK1RoaXMgaXMgbmVlZGVkIHRvIGJ1aWxkIHZ0ZS1uYXRpdmUgb24gQ2VudG9zIDcsCithbmQgY2FuIGJlIGRyb3BwZWQgb25jZSB0aGF0IE9TIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbYW5jaWVudCBjb21waWxlciBmaXhdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9hcHAvYXBwLmNjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2FwcC9hcHAuY2MgYi9zcmMvYXBwL2FwcC5jYworaW5kZXggZDQyNDA2NC4uNjc1ZDc4OSAxMDA2NDQKKy0tLSBhL3NyYy9hcHAvYXBwLmNjCisrKysgYi9zcmMvYXBwL2FwcC5jYworQEAgLTMwNiw3ICszMDYsNyBAQCBwdWJsaWM6CisgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYSA9IGdldF9hbHBoYSgpOworIAorLSAgICAgICAgICAgICAgICBHZGtSR0JBIGNvbG9ye2JnX2NvbG9yfTsKKysgICAgICAgICAgICAgICAgR2RrUkdCQSBjb2xvciA9IGJnX2NvbG9yOworICAgICAgICAgICAgICAgICBjb2xvci5hbHBoYSA9IGFscGhhOworICAgICAgICAgICAgICAgICByZXR1cm4gY29sb3I7CisgICAgICAgICB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3Z0ZS92dGVfMC41Mi4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC92dGUvdnRlXzAuNTIuMi5iYgppbmRleCA3MzI0YzljLi4yNzJhZTY2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3Z0ZS92dGVfMC41Mi4yLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdnRlL3Z0ZV8wLjUyLjIuYmIKQEAgLTksOCArOSw5IEBACiAKICMgdmFwaWdlbi5tNCBpcyByZXF1aXJlZCB3aGVuIHZhbGEgaXMgbm90IHByZXNlbnQgKGJ1dCB0aGUgb25lIGZyb20gdmFsYSBzaG91bGQgYmUgdXNlZCBub3JtYWxseSkKIFNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLURvbi10LWVuYWJsZS1zdGFjay1wcm90ZWN0aW9uLWJ5LWRlZmF1bHQucGF0Y2ggXAotICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndmFsYScsICcnLCAnZmlsZTovLzAwMDEtQWRkLW00LXZhcGlnZW4ubTQucGF0Y2gnLCBkKSB9IFwKLSAgICAgICAgICAgICIKKyAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndmFsYScsICcnLCAnZmlsZTovLzAwMDEtQWRkLW00LXZhcGlnZW4ubTQucGF0Y2gnLCBkKSB9IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYXBwLmNjLXVzZS1vbGQtc2Nob29sLWFzaWdubWVudC10by1hdm9pZC1nY2MtNC44LWVyci5wYXRjaCBcCisgICAgICAgICAgICIKIFNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImRlODE4MTM1MGRjY2IwMTBlOTE1ZTM2NmJkZDA2ZDE4IgogU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMGYyNjU3Y2VmNTJhY2NiZmU1NmZlZWRlNTUzMTU1NTUyZDdjMTk4NGIxMjkxODM4YWYzY2I4Y2ZjMTliMjZhZiIKIApAQCAtNDQsMyArNDUsNSBAQAogCiBQQUNLQUdFUyA9KyAibGlidnRlIgogRklMRVNfbGlidnRlID0gIiR7bGliZGlyfS8qLnNvLiogJHtsaWJkaXJ9L2dpcmVwb3NpdG9yeS0xLjAvKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9vZS1pbml0LWJ1aWxkLWVudiBiL3Bva3kvb2UtaW5pdC1idWlsZC1lbnYKaW5kZXggZTgxMzIzMC4uODYxYzNlMCAxMDA3NTUKLS0tIGEvcG9reS9vZS1pbml0LWJ1aWxkLWVudgorKysgYi9wb2t5L29lLWluaXQtYnVpbGQtZW52CkBAIC0zMSwxMyArMzEsMTggQEAKICAgICBUSElTX1NDUklQVD0kMAogZWxzZQogICAgIFRISVNfU0NSSVBUPSIkKHB3ZCkvb2UtaW5pdC1idWlsZC1lbnYiCisgICAgaWYgWyAhIC1lICIkVEhJU19TQ1JJUFQiIF07IHRoZW4KKyAgICAgICAgZWNobyAiRXJyb3I6ICRUSElTX1NDUklQVCBkb2Vzbid0IGV4aXN0ISIgPiYyCisgICAgICAgIGVjaG8gIlBsZWFzZSBydW4gdGhpcyBzY3JpcHQgaW4gb2UtaW5pdC1idWlsZC1lbnYncyBkaXJlY3RvcnkuIiA+JjIKKyAgICAgICAgZXhpdCAxCisgICAgZmkKIGZpCiBpZiBbIC1uICIkQkJTRVJWRVIiIF07IHRoZW4KICAgICB1bnNldCBCQlNFUlZFUgogZmkKIAogaWYgWyAteiAiJFpTSF9OQU1FIiBdICYmIFsgIiQwIiA9ICIkVEhJU19TQ1JJUFQiIF07IHRoZW4KLSAgICBlY2hvICJFcnJvcjogVGhpcyBzY3JpcHQgbmVlZHMgdG8gYmUgc291cmNlZC4gUGxlYXNlIHJ1biBhcyAnLiAkVEhJU19TQ1JJUFQnIgorICAgIGVjaG8gIkVycm9yOiBUaGlzIHNjcmlwdCBuZWVkcyB0byBiZSBzb3VyY2VkLiBQbGVhc2UgcnVuIGFzICcuICRUSElTX1NDUklQVCciID4mMgogICAgIGV4aXQgMQogZmkKIApkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL2F1dG9idWlsZGVyLXdvcmtlci1wcmVyZXEtdGVzdHMgYi9wb2t5L3NjcmlwdHMvYXV0b2J1aWxkZXItd29ya2VyLXByZXJlcS10ZXN0cwppbmRleCBiYjQ2YzY5Li4zNThkZDJiIDEwMDc1NQotLS0gYS9wb2t5L3NjcmlwdHMvYXV0b2J1aWxkZXItd29ya2VyLXByZXJlcS10ZXN0cworKysgYi9wb2t5L3NjcmlwdHMvYXV0b2J1aWxkZXItd29ya2VyLXByZXJlcS10ZXN0cwpAQCAtMTUsNiArMTUsMTIgQEAKICMgdGVzdCBidWlsZGlzdG9yeSBnaXQgcmVwbyB3b3Jrcz8KICMKIAoraWYgWyAhIC14ICRIT01FL3lvY3RvLWF1dG9idWlsZGVyLWhlbHBlci9zY3JpcHRzL2NoZWNrdm5jIF07IHRoZW4KKyAgICBlY2hvICIkSE9NRS95b2N0by1hdXRvYnVpbGRlci1oZWxwZXIgc2hvdWxkIGJlIGNyZWF0ZWQuIgorICAgIGV4aXQgMQorZmkKKyRIT01FL3lvY3RvLWF1dG9idWlsZGVyLWhlbHBlci9zY3JpcHRzL2NoZWNrdm5jCisKIC4gLi9vZS1pbml0LWJ1aWxkLWVudiA+IC9kZXYvbnVsbAogaWYgWyAiJD8iICE9ICIwIiBdOyB0aGVuCiAgICAgZXhpdCAxCkBAIC01MywxMiArNTksMTIgQEAKIGZpCiBwb3BkCiBiaXRiYWtlIHFlbXUtaGVscGVyLW5hdGl2ZQotcnVucWVtdSBxZW11eDg2LTY0CitESVNQTEFZPToxIHJ1bnFlbXUgc2VyaWFsc3RkaW8gcWVtdXg4Ni02NAogaWYgWyAiJD8iICE9ICIwIiBdOyB0aGVuCiAgICAgZWNobyAiVW5hYmxlIHRvIHVzZSBydW5xZW11IgogICAgIGV4aXQgMQogZmkKLXJ1bnFlbXUgcWVtdXg4Ni02NCBrdm0KK0RJU1BMQVk9OjEgcnVucWVtdSBzZXJpYWxzdGRpbyBxZW11eDg2LTY0IGt2bQogaWYgWyAiJD8iICE9ICIwIiBdOyB0aGVuCiAgICAgZWNobyAiVW5hYmxlIHRvIHVzZSBydW5xZW11IHdpdGgga3ZtIgogICAgIGV4aXQgMQpkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL2Rpc3Ryby9idWlsZC1yZWNpcGUtbGlzdC5weSBiL3Bva3kvc2NyaXB0cy9kaXN0cm8vYnVpbGQtcmVjaXBlLWxpc3QucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDIxNjI3NjQuLjAwMDAwMDAKLS0tIGEvcG9reS9zY3JpcHRzL2Rpc3Ryby9idWlsZC1yZWNpcGUtbGlzdC5weQorKysgL2Rldi9udWxsCkBAIC0xLDEyOSArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24zCi0jCi0jIENvcHlyaWdodCAoYykgMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0Ci0jIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCi0jIHZlcnNpb24gMiwgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKLSMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yCi0jIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IKLSMgbW9yZSBkZXRhaWxzLgotIwotCi1pbXBvcnQgb3MKLWltcG9ydCBzaHV0aWwKLWltcG9ydCBjc3YKLWltcG9ydCBzeXMKLWltcG9ydCBhcmdwYXJzZQotCi1fX3ZlcnNpb25fXyA9ICIwLjEuMCIKLQotIyBzZXQgb2YgQlBOcwotcmVjaXBlbmFtZXMgPSBzZXQoKQotIyBtYXAgb2YgcmVjaXBlIC0+IGRhdGEKLWFsbHJlY2lwZXMgPSB7fQotCi1kZWYgbWFrZV9icG4ocmVjaXBlKToKLSAgICBwcmVmaXhlcyA9ICgibmF0aXZlc2RrLSIsKQotICAgIHN1ZmZpeGVzID0gKCItbmF0aXZlIiwgIi1jcm9zcyIsICItaW5pdGlhbCIsICItaW50ZXJtZWRpYXRlIiwgIi1jcm9zc3NkayIsICItY3Jvc3MtY2FuYWRpYW4iKQotICAgIGZvciBpeCBpbiBwcmVmaXhlcyArIHN1ZmZpeGVzOgotICAgICAgICBpZiBpeCBpbiByZWNpcGU6Ci0gICAgICAgICAgICByZWNpcGUgPSByZWNpcGUucmVwbGFjZShpeCwgIiIpCi0gICAgcmV0dXJuIHJlY2lwZQotCi1kZWYgZ2F0aGVyX3JlY2lwZXMocm93cyk6Ci0gICAgZm9yIHJvdyBpbiByb3dzOgotICAgICAgICByZWNpcGUgPSByb3dbMF0KLSAgICAgICAgYnBuID0gbWFrZV9icG4ocmVjaXBlKQotICAgICAgICBpZiBicG4gbm90IGluIHJlY2lwZW5hbWVzOgotICAgICAgICAgICAgcmVjaXBlbmFtZXMuYWRkKGJwbikKLSAgICAgICAgaWYgcmVjaXBlIG5vdCBpbiBhbGxyZWNpcGVzOgotICAgICAgICAgICAgYWxscmVjaXBlc1tyZWNpcGVdID0gcm93Ci0KLWRlZiBnZW5lcmF0ZV9yZWNpcGVfbGlzdCgpOgotICAgICMgbWFjaGluZSBsaXN0Ci0gICAgbWFjaGluZV9saXN0ID0gKCAicWVtdWFybTY0IiwgInFlbXVhcm0iLCAicWVtdW1pcHM2NCIsICJxZW11bWlwcyIsICJxZW11cHBjIiwgInFlbXV4ODYtNjQiLCAicWVtdXg4NiIgKQotICAgICMgc2V0IGZpbGVuYW1lIGZvcm1hdAotICAgIGZuZm9ybWF0ID0gJ2Rpc3Ryb2RhdGEuJXMuY3N2JwotCi0gICAgIyBzdG9yZSBhbGwgZGF0YSBmaWxlcyBpbiBkaXN0cm9kYXRhCi0gICAgZGF0YWRpciA9ICdkaXN0cm9kYXRhJwotCi0gICAgIyBjcmVhdGUgdGhlIGRpcmVjdG9yeSBpZiBpdCBkb2VzIG5vdCBleGlzdHMKLSAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGF0YWRpcik6Ci0gICAgICAgIG9zLm1rZGlyKGRhdGFkaXIpCi0KLSAgICAjIGRvaW5nIGJpdGJha2UgZGlzdHJvZGF0YQotICAgIGZvciBtYWNoaW5lIGluIG1hY2hpbmVfbGlzdDoKLSAgICAgICAgb3Muc3lzdGVtKCdNQUNISU5FPScrIG1hY2hpbmUgKyAnIGJpdGJha2UgLWsgdW5pdmVyc2UgLWMgZGlzdHJvZGF0YScpCi0gICAgICAgIHNodXRpbC5jb3B5KCd0bXAvbG9nL2Rpc3Ryb2RhdGEuY3N2JywgJ2Rpc3Ryb2RhdGEvJyArIGZuZm9ybWF0ICUgbWFjaGluZSkKLQotICAgIGZvciBtYWNoaW5lIGluIG1hY2hpbmVfbGlzdDoKLSAgICAgICAgd2l0aCBvcGVuKCdkaXN0cm9kYXRhLycgKyBmbmZvcm1hdCAlIG1hY2hpbmUpIGFzIGY6Ci0gICAgICAgICAgICByZWFkZXIgPSBjc3YucmVhZGVyKGYpCi0gICAgICAgICAgICByb3dzID0gcmVhZGVyLl9faXRlcl9fKCkKLSAgICAgICAgICAgIGdhdGhlcl9yZWNpcGVzKHJvd3MpCi0KLSAgICB3aXRoIG9wZW4oJ3JlY2lwZS1saXN0LnR4dCcsICd3JykgYXMgZjoKLSAgICAgICAgZm9yIHJlY2lwZSBpbiBzb3J0ZWQocmVjaXBlbmFtZXMpOgotICAgICAgICAgICAgZi53cml0ZSgiJXNcbiIgJSByZWNpcGUpCi0gICAgcHJpbnQoImZpbGUgOiByZWNpcGUtbGlzdC50eHQgaXMgY3JlYXRlZCB3aXRoICVkIGVudHJpZXMuIiAlIGxlbihyZWNpcGVuYW1lcykpCi0KLSAgICB3aXRoIG9wZW4oJ2FsbC1yZWNpcGUtbGlzdC50eHQnLCAndycpIGFzIGY6Ci0gICAgICAgIGZvciByZWNpcGUsIHJvdyBpbiBzb3J0ZWQoYWxscmVjaXBlcy5pdGVtcygpKToKLSAgICAgICAgICAgIGYud3JpdGUoIiVzXG4iICUgJywnLmpvaW4ocm93KSkKLQotCi1kZWYgZGlmZl9mb3JfbmV3X3JlY2lwZXMocmVjaXBlMSwgcmVjaXBlMik6Ci0gICAgcHJldl9yZWNpcGVfcGF0aCA9IHJlY2lwZTEgKyAnLycKLSAgICBjdXJyX3JlY2lwZV9wYXRoID0gcmVjaXBlMiArICcvJwotICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShwcmV2X3JlY2lwZV9wYXRoICsgJ3JlY2lwZS1saXN0LnR4dCcpIG9yIG5vdCBvcy5wYXRoLmlzZmlsZShjdXJyX3JlY2lwZV9wYXRoICsgJ3JlY2lwZS1saXN0LnR4dCcpOgotICAgICAgICBwcmludCgicmVjaXBlIGZpbGVzIGRvIG5vdCBleGlzdHMuIHBsZWFzZSB2ZXJpZnkgdGhhdCB0aGUgZmlsZSBleGlzdHMuIikKLSAgICAgICAgZXhpdCgxKQotCi0gICAgaW1wb3J0IGNzdgotCi0gICAgcHJldiA9IFtdCi0gICAgbmV3ID0gW10KLQotICAgIHdpdGggb3BlbihwcmV2X3JlY2lwZV9wYXRoICsgJ3JlY2lwZS1saXN0LnR4dCcpIGFzIGY6Ci0gICAgICAgIHByZXYgPSBmLnJlYWRsaW5lcygpCi0KLSAgICB3aXRoIG9wZW4oY3Vycl9yZWNpcGVfcGF0aCArICdyZWNpcGUtbGlzdC50eHQnKSBhcyBmOgotICAgICAgICBuZXcgPSBmLnJlYWRsaW5lcygpCi0KLSAgICB1cGRhdGVzID0gW10KLSAgICBmb3IgcG4gaW4gbmV3OgotICAgICAgICBpZiBub3QgcG4gaW4gcHJldjoKLSAgICAgICAgICAgIHVwZGF0ZXMuYXBwZW5kKHBuLnJzdHJpcCgpKQotCi0gICAgYWxscmVjaXBlID0gW10KLSAgICB3aXRoIG9wZW4ocmVjaXBlMSArICdfJyArIHJlY2lwZTIgKyAnX25ld19yZWNpcGVfbGlzdC50eHQnLCd3JykgYXMgZHI6Ci0gICAgICAgIHdpdGggb3BlbihjdXJyX3JlY2lwZV9wYXRoICsgJ2FsbC1yZWNpcGUtbGlzdC50eHQnKSBhcyBmOgotICAgICAgICAgICAgcmVhZGVyID0gY3N2LnJlYWRlcihmLCBkZWxpbWl0ZXI9JywnKQotICAgICAgICAgICAgZm9yIHJvdyBpbiByZWFkZXI6Ci0gICAgICAgICAgICAgICAgaWYgcm93WzBdIGluIHVwZGF0ZXM6Ci0gICAgICAgICAgICAgICAgICAgIGRyLndyaXRlKCIlcywlcywlcyIgJSAocm93WzBdLCByb3dbM10sIHJvd1s1XSkpCi0gICAgICAgICAgICAgICAgICAgIGlmIGxlbihyb3dbOTpdKSA+IDA6Ci0gICAgICAgICAgICAgICAgICAgICAgICBkci53cml0ZSgiLCVzIiAlICcsJy5qb2luKHJvd1s5Ol0pKQotICAgICAgICAgICAgICAgICAgICBkci53cml0ZSgiXG4iKQotCi1kZWYgbWFpbihhcmd2KToKLSAgICBpZiBhcmd2WzBdID09ICJnZW5lcmF0ZV9yZWNpcGVfbGlzdCI6Ci0gICAgICAgIGdlbmVyYXRlX3JlY2lwZV9saXN0KCkKLSAgICBlbGlmIGFyZ3ZbMF0gPT0gImNvbXBhcmVfcmVjaXBlIjoKLSAgICAgICAgZGlmZl9mb3JfbmV3X3JlY2lwZXMoYXJndlsxXSwgYXJndlsyXSkKLSAgICBlbHNlOgotICAgICAgICBwcmludCgibm8gc3VjaCBvcHRpb24uIGNob29zZSBlaXRoZXIgJ2dlbmVyYXRlX3JlY2lwZV9saXN0JyBvciAnY29tcGFyZV9yZWNpcGUnIikKLQotICAgIGV4aXQoMCkKLQotaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICB0cnk6Ci0gICAgICAgIHN5cy5leGl0KG1haW4oc3lzLmFyZ3ZbMTpdKSkKLSAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6Ci0gICAgICAgIHByaW50KCJFeGNlcHRpb24gOiIsIGUpCi0gICAgICAgIHN5cy5leGl0KDEpCi0KZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9kaXN0cm8vZGlzdHJvY29tcGFyZS5zaCBiL3Bva3kvc2NyaXB0cy9kaXN0cm8vZGlzdHJvY29tcGFyZS5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggOTA4NzYwYy4uMDAwMDAwMAotLS0gYS9wb2t5L3NjcmlwdHMvZGlzdHJvL2Rpc3Ryb2NvbXBhcmUuc2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgYmFzaAotIwotIyBDb3B5cmlnaHQgKGMpIDIwMTcsIEludGVsIENvcnBvcmF0aW9uLgotIyBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgotIwotIyBkaXN0cm9jb21wYXJlLnNoIDogcHJvdmlkZXMgY2FwYWJpbGl0eSB0byBnZXQgYSBsaXN0IG9mIG5ldyBwYWNrYWdlcwotIyAgICAgICAgICAgICAgICAgICAgYmFzZWQgb24gdHdvIGRpc3RpbmN0IGJyYW5jaGVzLiBUaGlzIHNjcmlwdCB0YWtlcwotIyAgICAgICAgICAgICAgICAgICAgMiBwYXJhbWV0ZXJzOyBlaXRoZXIgYSBjb21taXQtaXNoIG9yIGEgYnJhbmNoIG5hbWUKLSMKLSMgICAgICAgICAgICAgICAgICAgIFRvIHJ1biA6IGRpc3Ryb2NvbXBhcmUuc2ggPG9sZGVyIGhhc2g+IDxuZXdlciBoYXNoPgotIyAgICAgICAgICAgICAgICAgICAgRS5nLiBkaXN0cm9jb21wYXJlLnNoIG1vcnR5IDkyYWEwZTcKLSMgICAgICAgICAgICAgICAgICAgIEUuZy4gZGlzdHJvY29tcGFyZS5zaCBtb3J0eSBweXJvCi0jCi0KLSMgZ2V0IGlucHV0IGFzIHZlcnNpb24KLXByZXZpb3VzX3ZlcnNpb249JDEKLWN1cnJlbnRfdmVyc2lvbj0kMgotCi0jIHNldCBwcmV2aW91cyBhbmQgY3VycmVudCB2ZXJzaW9uCi1pZiBbIC16ICIkMiIgXTsgdGhlbgotICAgIHByZXZpb3VzX3ZlcnNpb249JDEKLSAgICBjdXJyZW50X3ZlcnNpb249ImN1cnJlbnQiCi1maQotCi0jIGdldCBzY3JpcHQgbG9jYXRpb24uIFRoYXQncyB3aGVyZSB0aGUgc291cmNlIHN1cHBvc2VkbHkgbG9jYXRlZCBhcyB3ZWxsLgotc2NyaXB0ZGlyPSIkKCByZWFscGF0aCAkKGRpcm5hbWUgIiR7QkFTSF9TT1VSQ0VbMF19IiApKSIKLXNvdXJjZWRpcj0iJCggcmVhbHBhdGggJHNjcmlwdGRpci8uLi8uLiApIgotCi0jIGNyZWF0ZSB3b3JraW5nIGRpcmVjdG9yeQotd29ya2Rpcj0kKG1rdGVtcCAtZCkKLQotIyBwcmVwYXJlIHRvIHJvbGxiYWNrIHRvIHRoZSBicmFuY2ggaWYgbm90IHNpbWlsYXIKLWJyYW5jaD1gY2QgJHNvdXJjZWRpcjsgZ2l0IGJyYW5jaCB8IGdyZXAgXCogfCBjdXQgLWQgJyAnIC1mMmAKLQotIyBzZXQgY3VycmVudCB3b3JrZGlyIHRvIHN0b3JlIGZpbmFsIHJlc3VsdAotY3VycmVudHdvcmtkaXI9YHB3ZGAKLQotIyBwZXJzaXN0cyB0aGUgZmlsZSBhZnRlciBsb2NhbCByZXBvIGNoYW5nZQotY3AgJHNjcmlwdGRpci9idWlsZC1yZWNpcGUtbGlzdC5weSAkd29ya2RpcgotCi0jPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLWZ1bmN0aW9uIGJha2VfZGlzdHJvZGF0YSB7Ci0gICAgIyBnZXQgdG8gc291cmNlIGRpcmVjdG9yeSBvZiB0aGUgZ2l0Ci0gICAgY2QgJHNvdXJjZWRpcgotCi0gICAgIyBjaGFuZ2UgdGhlIGJyYW5jaCAvIGNvbW1pdC4gRG8gbm90IGNoYW5nZSBpZiBpbnB1dCBpcyBjdXJyZW50Ci0gICAgaWYgWyAiJDEiICE9ICJjdXJyZW50IiBdOyB0aGVuCi0gICAgICAgIG91dHB1dD0kKGdpdCBjaGVja291dCAkMSAyPiYxKQotCi0gICAgICAgICMgZXhpdCBpZiBnaXQgZmFpbHMKLSAgICAgICAgaWYgW1sgJG91dHB1dCA9PSAqImVycm9yIiogXV07IHRoZW4KLSAgICAgICAgICAgIGVjaG8gImdpdCBlcnJvciA6ICRvdXRwdXQiCi0gICAgICAgICAgICBlY2hvICJleGl0aW5nIC4uLiAiCi0gICAgICAgICAgICBybSAtcmYgJHdvcmtkaXIKLSAgICAgICAgICAgIGV4aXQKLSAgICAgICAgZmkKLSAgICBmaQotCi0gICAgIyBtYWtlIHRtcCBhcyB3b3JrZGlyCi0gICAgY2QgJHdvcmtkaXIKLQotICAgICMgc291cmNlIG9lLWluaXQgdG8gZ2VuZXJhdGUgYSBuZXcgYnVpbGQgZm9sZGVyCi0gICAgc291cmNlICRzb3VyY2VkaXIvb2UtaW5pdC1idWlsZC1lbnYgJDEKLQotICAgICMgaWYgZmlsZSBhbHJlYWR5IGV4aXN0cyB3aXRoIGRpc3Ryb2RhdGEsIGRvIG5vdCBhcHBlbmQKLSAgICBpZiAhIGdyZXAgLXEgImRpc3Ryb2RhdGEiICJjb25mL2xvY2FsLmNvbmYiOyB0aGVuCi0gICAgICAgICMgYWRkIGluaGVyaXQgZGlzdHJvZGF0YSB0byBsb2NhbC5jb25mIHRvIGVuYWJsZSBkaXN0cm9kYXRhIGZlYXR1cmUKLSAgICAgICAgZWNobyAnSU5IRVJJVCArPSAiZGlzdHJvZGF0YSInID4+IGNvbmYvbG9jYWwuY29uZgotICAgIGZpCi0KLSAgICAjIHVzZSBmcm9tIHRtcAotICAgICR3b3JrZGlyL2J1aWxkLXJlY2lwZS1saXN0LnB5IGdlbmVyYXRlX3JlY2lwZV9saXN0Ci19Ci0KLWJha2VfZGlzdHJvZGF0YSAkcHJldmlvdXNfdmVyc2lvbgotYmFrZV9kaXN0cm9kYXRhICRjdXJyZW50X3ZlcnNpb24KLQotIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1jZCAkd29ya2RpcgotCi0jIGNvbXBhcmUgdGhlIDIgZ2VuZXJhdGVkIHJlY2lwZS1saXN0LnR4dAotJHdvcmtkaXIvYnVpbGQtcmVjaXBlLWxpc3QucHkgY29tcGFyZV9yZWNpcGUgJHByZXZpb3VzX3ZlcnNpb24gJGN1cnJlbnRfdmVyc2lvbgotCi0jIGNvcHkgZmluYWwgcmVzdWx0IHRvIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkKLWNwICR3b3JrZGlyLypfbmV3X3JlY2lwZV9saXN0LnR4dCAkY3VycmVudHdvcmtkaXIKLQotaWYgWyAkPyAtbmUgMCBdOyB0aGVuCi0gICAgcm0gLXJmICR3b3JrZGlyLyRwcmV2aW91c192ZXJzaW9uCi0gICAgcm0gLXJmICR3b3JrZGlyLyRjdXJyZW50X3ZlcnNpb24KLSAgICBybSAkd29ya2Rpci9idWlsZC1yZWNpcGUtbGlzdC5weQotICAgICMgcHJlc2VydmUgdGhlIHJlc3VsdCBpbiAvdG1wL2Rpc3Ryb2RhdGEgaWYgZmFpbCB0byBjb3B5IHRoZSByZXN1bHQgb3ZlcgotICAgIGV4aXQKLWZpCi0KLSMgY2xlYW51cAotcm0gLXJmICR3b3JrZGlyCi0KLSMgcGVyZm9ybSByb2xsYmFjayBicmFuY2gKLWNkICRzb3VyY2VkaXIKLWN1cnJlbnRicmFuY2g9YGdpdCBicmFuY2ggfCBncmVwIFwqIHwgY3V0IC1kICcgJyAtZjJgCi1pZiBbICIkY3VycmVudGJyYW5jaCIgIT0gIiRicmFuY2giIF07IHRoZW4KLSAgICBnaXQgY2hlY2tvdXQgJGJyYW5jaAotZmkKLQotY2QgJGN1cnJlbnR3b3JrZGlyCi0KLSM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC9fX2luaXRfXy5weSBiL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC9fX2luaXRfXy5weQppbmRleCA4OWYwOThhLi44ZmM3ZmZmIDEwMDY0NAotLS0gYS9wb2t5L3NjcmlwdHMvbGliL2RldnRvb2wvX19pbml0X18ucHkKKysrIGIvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL19faW5pdF9fLnB5CkBAIC0yMDUsNiArMjA1LDcgQEAKICAgICBpbXBvcnQgb2UucGF0Y2gKICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHJlcG9kaXIsICcuZ2l0JykpOgogICAgICAgICBiYi5wcm9jZXNzLnJ1bignZ2l0IGluaXQnLCBjd2Q9cmVwb2RpcikKKyAgICAgICAgYmIucHJvY2Vzcy5ydW4oJ2dpdCBjb25maWcgLS1sb2NhbCBnYy5hdXRvZGV0YWNoIDAnLCBjd2Q9cmVwb2RpcikKICAgICAgICAgYmIucHJvY2Vzcy5ydW4oJ2dpdCBhZGQgLicsIGN3ZD1yZXBvZGlyKQogICAgICAgICBjb21taXRfY21kID0gWydnaXQnXQogICAgICAgICBvZS5wYXRjaC5HaXRBcHBseVRyZWUuZ2l0Q29tbWFuZFVzZXJPcHRpb25zKGNvbW1pdF9jbWQsIGQ9ZCkKZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC9kZXBsb3kucHkgYi9wb2t5L3NjcmlwdHMvbGliL2RldnRvb2wvZGVwbG95LnB5CmluZGV4IDg4NjAwNGIuLmYzNDVmMzEgMTAwNjQ0Ci0tLSBhL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC9kZXBsb3kucHkKKysrIGIvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL2RlcGxveS5weQpAQCAtMjExLDYgKzIxMSwxMSBAQAogICAgICAgICBpZiBub3QgYXJncy5zaG93X3N0YXR1czoKICAgICAgICAgICAgIGV4dHJhb3B0aW9ucyArPSAnIC1xJwogCisgICAgICAgIHNjcF9zc2hleGVjID0gJycKKyAgICAgICAgc3NoX3NzaGV4ZWMgPSAnc3NoJworICAgICAgICBpZiBhcmdzLnNzaF9leGVjOgorICAgICAgICAgICAgc2NwX3NzaGV4ZWMgPSAiLVMgJXMiICUgYXJncy5zc2hfZXhlYworICAgICAgICAgICAgc3NoX3NzaGV4ZWMgPSBhcmdzLnNzaF9leGVjCiAgICAgICAgIHNjcF9wb3J0ID0gJycKICAgICAgICAgc3NoX3BvcnQgPSAnJwogICAgICAgICBpZiBhcmdzLnBvcnQ6CkBAIC0yMzgsNyArMjQzLDcgQEAKICAgICAgICAgICAgICAgICBmb3IgZnBhdGgsIGZzaXplIGluIGZpbGVsaXN0OgogICAgICAgICAgICAgICAgICAgICBmLndyaXRlKCclcyAlZFxuJyAlIChmcGF0aCwgZnNpemUpKQogICAgICAgICAgICAgIyBDb3B5IHRoZW0gdG8gdGhlIHRhcmdldAotICAgICAgICAgICAgcmV0ID0gc3VicHJvY2Vzcy5jYWxsKCJzY3AgJXMgJXMgJXMvKiAlczolcyIgJSAoc2NwX3BvcnQsIGV4dHJhb3B0aW9ucywgdG1wZGlyLCBhcmdzLnRhcmdldCwgb3MucGF0aC5kaXJuYW1lKHRtcHNjcmlwdCkpLCBzaGVsbD1UcnVlKQorICAgICAgICAgICAgcmV0ID0gc3VicHJvY2Vzcy5jYWxsKCJzY3AgJXMgJXMgJXMgJXMvKiAlczolcyIgJSAoc2NwX3NzaGV4ZWMsIHNjcF9wb3J0LCBleHRyYW9wdGlvbnMsIHRtcGRpciwgYXJncy50YXJnZXQsIG9zLnBhdGguZGlybmFtZSh0bXBzY3JpcHQpKSwgc2hlbGw9VHJ1ZSkKICAgICAgICAgICAgIGlmIHJldCAhPSAwOgogICAgICAgICAgICAgICAgIHJhaXNlIERldnRvb2xFcnJvcignRmFpbGVkIHRvIGNvcHkgc2NyaXB0IHRvICVzIC0gcmVydW4gd2l0aCAtcyB0byAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdnZXQgYSBjb21wbGV0ZSBlcnJvciBtZXNzYWdlJyAlIGFyZ3MudGFyZ2V0KQpAQCAtMjQ2LDcgKzI1MSw3IEBACiAgICAgICAgICAgICBzaHV0aWwucm10cmVlKHRtcGRpcikKIAogICAgICAgICAjIE5vdyBydW4gdGhlIHNjcmlwdAotICAgICAgICByZXQgPSBleGVjX2Zha2Vyb290KHJkLCAndGFyIGNmIC0gLiB8IHNzaCAgJXMgJXMgJXMgXCdzaCAlcyAlcyAlcyAlc1wnJyAlIChzc2hfcG9ydCwgZXh0cmFvcHRpb25zLCBhcmdzLnRhcmdldCwgdG1wc2NyaXB0LCBhcmdzLnJlY2lwZW5hbWUsIGRlc3RkaXIsIHRtcGZpbGVsaXN0KSwgY3dkPXJlY2lwZV9vdXRkaXIsIHNoZWxsPVRydWUpCisgICAgICAgIHJldCA9IGV4ZWNfZmFrZXJvb3QocmQsICd0YXIgY2YgLSAuIHwgJXMgICVzICVzICVzIFwnc2ggJXMgJXMgJXMgJXNcJycgJSAoc3NoX3NzaGV4ZWMsIHNzaF9wb3J0LCBleHRyYW9wdGlvbnMsIGFyZ3MudGFyZ2V0LCB0bXBzY3JpcHQsIGFyZ3MucmVjaXBlbmFtZSwgZGVzdGRpciwgdG1wZmlsZWxpc3QpLCBjd2Q9cmVjaXBlX291dGRpciwgc2hlbGw9VHJ1ZSkKICAgICAgICAgaWYgcmV0ICE9IDA6CiAgICAgICAgICAgICByYWlzZSBEZXZ0b29sRXJyb3IoJ0RlcGxveSBmYWlsZWQgLSByZXJ1biB3aXRoIC1zIHRvIGdldCBhIGNvbXBsZXRlICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXJyb3IgbWVzc2FnZScpCkBAIC0yNzYsNiArMjgxLDExIEBACiAgICAgaWYgbm90IGFyZ3Muc2hvd19zdGF0dXM6CiAgICAgICAgIGV4dHJhb3B0aW9ucyArPSAnIC1xJwogCisgICAgc2NwX3NzaGV4ZWMgPSAnJworICAgIHNzaF9zc2hleGVjID0gJ3NzaCcKKyAgICBpZiBhcmdzLnNzaF9leGVjOgorICAgICAgICBzY3Bfc3NoZXhlYyA9ICItUyAlcyIgJSBhcmdzLnNzaF9leGVjCisgICAgICAgIHNzaF9zc2hleGVjID0gYXJncy5zc2hfZXhlYwogICAgIHNjcF9wb3J0ID0gJycKICAgICBzc2hfcG9ydCA9ICcnCiAgICAgaWYgYXJncy5wb3J0OgpAQCAtMjkyLDcgKzMwMiw3IEBACiAgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4odG1wZGlyLCBvcy5wYXRoLmJhc2VuYW1lKHRtcHNjcmlwdCkpLCAndycpIGFzIGY6CiAgICAgICAgICAgICBmLndyaXRlKHNoZWxsc2NyaXB0KQogICAgICAgICAjIENvcHkgaXQgdG8gdGhlIHRhcmdldAotICAgICAgICByZXQgPSBzdWJwcm9jZXNzLmNhbGwoInNjcCAlcyAlcyAlcy8qICVzOiVzIiAlIChzY3BfcG9ydCwgZXh0cmFvcHRpb25zLCB0bXBkaXIsIGFyZ3MudGFyZ2V0LCBvcy5wYXRoLmRpcm5hbWUodG1wc2NyaXB0KSksIHNoZWxsPVRydWUpCisgICAgICAgIHJldCA9IHN1YnByb2Nlc3MuY2FsbCgic2NwICVzICVzICVzICVzLyogJXM6JXMiICUgKHNjcF9zc2hleGVjLCBzY3BfcG9ydCwgZXh0cmFvcHRpb25zLCB0bXBkaXIsIGFyZ3MudGFyZ2V0LCBvcy5wYXRoLmRpcm5hbWUodG1wc2NyaXB0KSksIHNoZWxsPVRydWUpCiAgICAgICAgIGlmIHJldCAhPSAwOgogICAgICAgICAgICAgcmFpc2UgRGV2dG9vbEVycm9yKCdGYWlsZWQgdG8gY29weSBzY3JpcHQgdG8gJXMgLSByZXJ1biB3aXRoIC1zIHRvICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dldCBhIGNvbXBsZXRlIGVycm9yIG1lc3NhZ2UnICUgYXJncy50YXJnZXQpCkBAIC0zMDAsNyArMzEwLDcgQEAKICAgICAgICAgc2h1dGlsLnJtdHJlZSh0bXBkaXIpCiAKICAgICAjIE5vdyBydW4gdGhlIHNjcmlwdAotICAgIHJldCA9IHN1YnByb2Nlc3MuY2FsbCgnc3NoICVzICVzICVzIFwnc2ggJXMgJXNcJycgJSAoc3NoX3BvcnQsIGV4dHJhb3B0aW9ucywgYXJncy50YXJnZXQsIHRtcHNjcmlwdCwgYXJncy5yZWNpcGVuYW1lKSwgc2hlbGw9VHJ1ZSkKKyAgICByZXQgPSBzdWJwcm9jZXNzLmNhbGwoJyVzICVzICVzICVzIFwnc2ggJXMgJXNcJycgJSAoc3NoX3NzaGV4ZWMsIHNzaF9wb3J0LCBleHRyYW9wdGlvbnMsIGFyZ3MudGFyZ2V0LCB0bXBzY3JpcHQsIGFyZ3MucmVjaXBlbmFtZSksIHNoZWxsPVRydWUpCiAgICAgaWYgcmV0ICE9IDA6CiAgICAgICAgIHJhaXNlIERldnRvb2xFcnJvcignVW5kZXBsb3kgZmFpbGVkIC0gcmVydW4gd2l0aCAtcyB0byBnZXQgYSBjb21wbGV0ZSAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXJyb3IgbWVzc2FnZScpCkBAIC0zMjQsNiArMzM0LDcgQEAKICAgICBwYXJzZXJfZGVwbG95LmFkZF9hcmd1bWVudCgnLW4nLCAnLS1kcnktcnVuJywgaGVscD0nTGlzdCBmaWxlcyB0byBiZSBkZXBsb3llZCBvbmx5JywgYWN0aW9uPSdzdG9yZV90cnVlJykKICAgICBwYXJzZXJfZGVwbG95LmFkZF9hcmd1bWVudCgnLXAnLCAnLS1uby1wcmVzZXJ2ZScsIGhlbHA9J0RvIG5vdCBwcmVzZXJ2ZSBleGlzdGluZyBmaWxlcycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScpCiAgICAgcGFyc2VyX2RlcGxveS5hZGRfYXJndW1lbnQoJy0tbm8tY2hlY2stc3BhY2UnLCBoZWxwPSdEbyBub3QgY2hlY2sgZm9yIGF2YWlsYWJsZSBzcGFjZSBiZWZvcmUgZGVwbG95aW5nJywgYWN0aW9uPSdzdG9yZV90cnVlJykKKyAgICBwYXJzZXJfZGVwbG95LmFkZF9hcmd1bWVudCgnLWUnLCAnLS1zc2gtZXhlYycsIGhlbHA9J0V4ZWN1dGFibGUgdG8gdXNlIGluIHBsYWNlIG9mIHNzaCcpCiAgICAgcGFyc2VyX2RlcGxveS5hZGRfYXJndW1lbnQoJy1QJywgJy0tcG9ydCcsIGhlbHA9J1NwZWNpZnkgcG9ydCB0byB1c2UgZm9yIGNvbm5lY3Rpb24gdG8gdGhlIHRhcmdldCcpCiAKICAgICBzdHJpcF9vcHRzID0gcGFyc2VyX2RlcGxveS5hZGRfbXV0dWFsbHlfZXhjbHVzaXZlX2dyb3VwKHJlcXVpcmVkPUZhbHNlKQpAQCAtMzQ2LDUgKzM1Nyw2IEBACiAgICAgcGFyc2VyX3VuZGVwbG95LmFkZF9hcmd1bWVudCgnLXMnLCAnLS1zaG93LXN0YXR1cycsIGhlbHA9J1Nob3cgcHJvZ3Jlc3Mvc3RhdHVzIG91dHB1dCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScpCiAgICAgcGFyc2VyX3VuZGVwbG95LmFkZF9hcmd1bWVudCgnLWEnLCAnLS1hbGwnLCBoZWxwPSdVbmRlcGxveSBhbGwgcmVjaXBlcyBkZXBsb3llZCBvbiB0aGUgdGFyZ2V0JywgYWN0aW9uPSdzdG9yZV90cnVlJykKICAgICBwYXJzZXJfdW5kZXBsb3kuYWRkX2FyZ3VtZW50KCctbicsICctLWRyeS1ydW4nLCBoZWxwPSdMaXN0IGZpbGVzIHRvIGJlIHVuZGVwbG95ZWQgb25seScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScpCisgICAgcGFyc2VyX3VuZGVwbG95LmFkZF9hcmd1bWVudCgnLWUnLCAnLS1zc2gtZXhlYycsIGhlbHA9J0V4ZWN1dGFibGUgdG8gdXNlIGluIHBsYWNlIG9mIHNzaCcpCiAgICAgcGFyc2VyX3VuZGVwbG95LmFkZF9hcmd1bWVudCgnLVAnLCAnLS1wb3J0JywgaGVscD0nU3BlY2lmeSBwb3J0IHRvIHVzZSBmb3IgY29ubmVjdGlvbiB0byB0aGUgdGFyZ2V0JykKICAgICBwYXJzZXJfdW5kZXBsb3kuc2V0X2RlZmF1bHRzKGZ1bmM9dW5kZXBsb3kpCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvbGliL2RldnRvb2wvc3RhbmRhcmQucHkgYi9wb2t5L3NjcmlwdHMvbGliL2RldnRvb2wvc3RhbmRhcmQucHkKaW5kZXggYjdkNGQ0Ny4uZWEwOWJiZiAxMDA2NDQKLS0tIGEvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL3N0YW5kYXJkLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC9zdGFuZGFyZC5weQpAQCAtODQ5LDkgKzg0OSw3IEBACiAgICAgICAgICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdrZXJuZWwnLCByZCk6CiAgICAgICAgICAgICAgICAgZi53cml0ZSgnU1JDVFJFRUNPVkVSRURUQVNLUyA9ICJkb192YWxpZGF0ZV9icmFuY2hlcyBkb19rZXJuZWxfY2hlY2tvdXQgJwogICAgICAgICAgICAgICAgICAgICAgICAgJ2RvX2ZldGNoIGRvX3VucGFjayBkb19rZXJuZWxfY29uZmlnbWUgZG9fa2VybmVsX2NvbmZpZ2NoZWNrIlxuJykKLSAgICAgICAgICAgICAgICBmLndyaXRlKCdcbmRvX3BhdGNoKCkge1xuJwotICAgICAgICAgICAgICAgICAgICAgICAgJyAgICA6XG4nCi0gICAgICAgICAgICAgICAgICAgICAgICAnfVxuJykKKyAgICAgICAgICAgICAgICBmLndyaXRlKCdcbmRvX3BhdGNoW25vZXhlY10gPSAiMSJcbicpCiAgICAgICAgICAgICAgICAgZi53cml0ZSgnXG5kb19jb25maWd1cmVfYXBwZW5kKCkge1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgJyAgICBjcCAke0J9Ly5jb25maWcgJHtTfS8uY29uZmlnLmJhc2VsaW5lXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIGxuIC1zZlQgJHtCfS8uY29uZmlnICR7U30vLmNvbmZpZy5uZXdcbicKZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC91cGdyYWRlLnB5IGIvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL3VwZ3JhZGUucHkKaW5kZXggMjAyMDA3Ny4uNzVlNzY1ZSAxMDA2NDQKLS0tIGEvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL3VwZ3JhZGUucHkKKysrIGIvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL3VwZ3JhZGUucHkKQEAgLTYwMCw2ICs2MDAsMjAgQEAKICAgICAgICAgdGluZm9pbC5zaHV0ZG93bigpCiAgICAgcmV0dXJuIDAKIAorZGVmIGNoZWNrX3VwZ3JhZGVfc3RhdHVzKGFyZ3MsIGNvbmZpZywgYmFzZXBhdGgsIHdvcmtzcGFjZSk6CisgICAgaWYgbm90IGFyZ3MucmVjaXBlOgorICAgICAgICBsb2dnZXIuaW5mbygiQ2hlY2tpbmcgdGhlIHVwc3RyZWFtIHN0YXR1cyBmb3IgYWxsIHJlY2lwZXMgbWF5IHRha2UgYSBmZXcgbWludXRlcyIpCisgICAgcmVzdWx0cyA9IG9lLnJlY2lwZXV0aWxzLmdldF9yZWNpcGVfdXBncmFkZV9zdGF0dXMoYXJncy5yZWNpcGUpCisgICAgZm9yIHJlc3VsdCBpbiByZXN1bHRzOgorICAgICAgICAjIHBuLCB1cGRhdGVfc3RhdHVzLCBjdXJyZW50LCBsYXRlc3QsIG1haW50YWluZXIsIGxhdGVzdF9jb21taXQsIG5vX3VwZGF0ZV9yZWFzb24KKyAgICAgICAgaWYgYXJncy5hbGwgb3IgcmVzdWx0WzFdICE9ICdNQVRDSCc6CisgICAgICAgICAgICBsb2dnZXIuaW5mbygiezoyNX0gezoxNX0gezoxNX0ge30ge30ge30iLmZvcm1hdCggICByZXN1bHRbMF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRbMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRbMV0gaWYgcmVzdWx0WzFdICE9ICdVUERBVEUnIGVsc2UgKHJlc3VsdFszXSBpZiBub3QgcmVzdWx0WzNdLmVuZHN3aXRoKCJuZXctY29tbWl0cy1hdmFpbGFibGUiKSBlbHNlICJuZXcgY29tbWl0cyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0WzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0WzVdIGlmIHJlc3VsdFs1XSAhPSAnTi9BJyBlbHNlICIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNhbm5vdCBiZSB1cGRhdGVkIGR1ZSB0bzogJXMiICUocmVzdWx0WzZdKSBpZiByZXN1bHRbNl0gZWxzZSAiIikpCisKIGRlZiByZWdpc3Rlcl9jb21tYW5kcyhzdWJwYXJzZXJzLCBjb250ZXh0KToKICAgICAiIiJSZWdpc3RlciBkZXZ0b29sIHN1YmNvbW1hbmRzIGZyb20gdGhpcyBwbHVnaW4iIiIKIApAQCAtNjI3LDMgKzY0MSwxMCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cD0naW5mbycpCiAgICAgcGFyc2VyX2xhdGVzdF92ZXJzaW9uLmFkZF9hcmd1bWVudCgncmVjaXBlbmFtZScsIGhlbHA9J05hbWUgb2YgcmVjaXBlIHRvIHF1ZXJ5IChqdXN0IG5hbWUgLSBubyB2ZXJzaW9uLCBwYXRoIG9yIGV4dGVuc2lvbiknKQogICAgIHBhcnNlcl9sYXRlc3RfdmVyc2lvbi5zZXRfZGVmYXVsdHMoZnVuYz1sYXRlc3RfdmVyc2lvbikKKworICAgIHBhcnNlcl9jaGVja191cGdyYWRlX3N0YXR1cyA9IHN1YnBhcnNlcnMuYWRkX3BhcnNlcignY2hlY2stdXBncmFkZS1zdGF0dXMnLCBoZWxwPSJSZXBvcnQgdXBncmFkYWJpbGl0eSBmb3IgbXVsdGlwbGUgKG9yIGFsbCkgcmVjaXBlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJQcmludHMgYSB0YWJsZSBvZiByZWNpcGVzIHRvZ2V0aGVyIHdpdGggdmVyc2lvbnMgY3VycmVudGx5IHByb3ZpZGVkIGJ5IHJlY2lwZXMsIGFuZCBsYXRlc3QgdXBzdHJlYW0gdmVyc2lvbnMsIHdoZW4gdGhlcmUgaXMgYSBsYXRlciB2ZXJzaW9uIGF2YWlsYWJsZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwPSdpbmZvJykKKyAgICBwYXJzZXJfY2hlY2tfdXBncmFkZV9zdGF0dXMuYWRkX2FyZ3VtZW50KCdyZWNpcGUnLCBoZWxwPSdOYW1lIG9mIHRoZSByZWNpcGUgdG8gcmVwb3J0IChvbWl0IHRvIHJlcG9ydCB1cGdyYWRlIGluZm8gZm9yIGFsbCByZWNpcGVzKScsIG5hcmdzPScqJykKKyAgICBwYXJzZXJfY2hlY2tfdXBncmFkZV9zdGF0dXMuYWRkX2FyZ3VtZW50KCctLWFsbCcsICctYScsIGhlbHA9J1Nob3cgYWxsIHJlY2lwZXMsIG5vdCBqdXN0IHJlY2lwZXMgbmVlZGluZyB1cGdyYWRlJywgYWN0aW9uPSJzdG9yZV90cnVlIikKKyAgICBwYXJzZXJfY2hlY2tfdXBncmFkZV9zdGF0dXMuc2V0X2RlZmF1bHRzKGZ1bmM9Y2hlY2tfdXBncmFkZV9zdGF0dXMpCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvbGliL3Jlc3VsdHRvb2wvbWFudWFsZXhlY3V0aW9uLnB5IGIvcG9reS9zY3JpcHRzL2xpYi9yZXN1bHR0b29sL21hbnVhbGV4ZWN1dGlvbi5weQppbmRleCA2NDg3Y2Q5Li5jOTRmOTgxIDEwMDc1NQotLS0gYS9wb2t5L3NjcmlwdHMvbGliL3Jlc3VsdHRvb2wvbWFudWFsZXhlY3V0aW9uLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9saWIvcmVzdWx0dG9vbC9tYW51YWxleGVjdXRpb24ucHkKQEAgLTI0LDMwICsyNCwxOCBAQAogICAgIHdpdGggb3BlbihmaWxlLCAiciIpIGFzIGY6CiAgICAgICAgIHJldHVybiBqc29uLmxvYWQoZikKIAotCiBjbGFzcyBNYW51YWxUZXN0UnVubmVyKG9iamVjdCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICBzZWxmLmpkYXRhID0gJycKLSAgICAgICAgc2VsZi50ZXN0X21vZHVsZSA9ICcnCi0gICAgICAgIHNlbGYudGVzdF9jYXNlc19pZCA9ICcnCi0gICAgICAgIHNlbGYuY29uZmlndXJhdGlvbiA9ICcnCi0gICAgICAgIHNlbGYuc3RhcnR0aW1lID0gJycKLSAgICAgICAgc2VsZi5yZXN1bHRfaWQgPSAnJwotICAgICAgICBzZWxmLndyaXRlX2RpciA9ICcnCiAKICAgICBkZWYgX2dldF90ZXN0Y2FzZXMoc2VsZiwgZmlsZSk6CiAgICAgICAgIHNlbGYuamRhdGEgPSBsb2FkX2pzb25fZmlsZShmaWxlKQotICAgICAgICBzZWxmLnRlc3RfY2FzZXNfaWQgPSBbXQogICAgICAgICBzZWxmLnRlc3RfbW9kdWxlID0gc2VsZi5qZGF0YVswXVsndGVzdCddWydAYWxpYXMnXS5zcGxpdCgnLicsIDIpWzBdCi0gICAgICAgIGZvciBpIGluIHNlbGYuamRhdGE6Ci0gICAgICAgICAgICBzZWxmLnRlc3RfY2FzZXNfaWQuYXBwZW5kKGlbJ3Rlc3QnXVsnQGFsaWFzJ10pCi0gICAgCisKICAgICBkZWYgX2dldF9pbnB1dChzZWxmLCBjb25maWcpOgogICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgb3V0cHV0ID0gaW5wdXQoJ3t9ID0gJy5mb3JtYXQoY29uZmlnKSkKLSAgICAgICAgICAgIGlmIHJlLm1hdGNoKCdeW2EtekEtWjAtOV8tXSskJywgb3V0cHV0KToKKyAgICAgICAgICAgIGlmIHJlLm1hdGNoKCdeW2EtejAtOS0uXSskJywgb3V0cHV0KToKICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgcHJpbnQoJ09ubHkgYWxwaGFudW1lcmljIGFuZCB1bmRlcnNjb3JlL2h5cGhlbiBhcmUgYWxsb3dlZC4gUGxlYXNlIHRyeSBhZ2FpbicpCisgICAgICAgICAgICBwcmludCgnT25seSBsb3dlcmNhc2UgYWxwaGFudW1lcmljLCBoeXBoZW4gYW5kIGRvdCBhcmUgYWxsb3dlZC4gUGxlYXNlIHRyeSBhZ2FpbicpCiAgICAgICAgIHJldHVybiBvdXRwdXQKIAogICAgIGRlZiBfY3JlYXRlX2NvbmZpZyhzZWxmKToKQEAgLTY3LDQ0ICs1NSw0MiBAQAogICAgICAgICBleHRyYV9jb25maWcgPSBzZXQoc3RvcmVfbWFwWydtYW51YWwnXSkgLSBzZXQoc2VsZi5jb25maWd1cmF0aW9uKQogICAgICAgICBmb3IgY29uZmlnIGluIHNvcnRlZChleHRyYV9jb25maWcpOgogICAgICAgICAgICAgcHJpbnQoJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLScpCi0gICAgICAgICAgICBwcmludCgnVGhpcyBpcyBjb25maWd1cmF0aW9uICMlcy4gUGxlYXNlIHByb3ZpZGUgY29uZmlndXJhdGlvbiB2YWx1ZSh1c2UgIk5vbmUiIGlmIG5vdCBhcHBsaWNhYmxlKS4nCi0gICAgICAgICAgICAgICAgICAlIGNvbmZpZykKKyAgICAgICAgICAgIHByaW50KCdUaGlzIGlzIGNvbmZpZ3VyYXRpb24gIyVzLiBQbGVhc2UgcHJvdmlkZSBjb25maWd1cmF0aW9uIHZhbHVlKHVzZSAiTm9uZSIgaWYgbm90IGFwcGxpY2FibGUpLicgJSBjb25maWcpCiAgICAgICAgICAgICBwcmludCgnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJykKICAgICAgICAgICAgIHZhbHVlX2NvbmYgPSBzZWxmLl9nZXRfaW5wdXQoJ0NvbmZpZ3VyYXRpb24gVmFsdWUnKQogICAgICAgICAgICAgcHJpbnQoJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJykKICAgICAgICAgICAgIHNlbGYuY29uZmlndXJhdGlvbltjb25maWddID0gdmFsdWVfY29uZgogCiAgICAgZGVmIF9jcmVhdGVfcmVzdWx0X2lkKHNlbGYpOgotICAgICAgICBzZWxmLnJlc3VsdF9pZCA9ICdtYW51YWxfJyArIHNlbGYudGVzdF9tb2R1bGUgKyAnXycgKyBzZWxmLnN0YXJ0dGltZQorICAgICAgICBzZWxmLnJlc3VsdF9pZCA9ICdtYW51YWxfJXNfJXMnICUgKHNlbGYudGVzdF9tb2R1bGUsIHNlbGYuc3RhcnR0aW1lKQogCi0gICAgZGVmIF9leGVjdXRlX3Rlc3Rfc3RlcHMoc2VsZiwgdGVzdF9pZCk6CisgICAgZGVmIF9leGVjdXRlX3Rlc3Rfc3RlcHMoc2VsZiwgdGVzdCk6CiAgICAgICAgIHRlc3RfcmVzdWx0ID0ge30KLSAgICAgICAgdG90YWxfc3RlcHMgPSBsZW4oc2VsZi5qZGF0YVt0ZXN0X2lkXVsndGVzdCddWydleGVjdXRpb24nXS5rZXlzKCkpCiAgICAgICAgIHByaW50KCctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0nKQotICAgICAgICBwcmludCgnRXhlY3V0aW5nIHRlc3QgY2FzZTonICsgJycgJycgKyBzZWxmLnRlc3RfY2FzZXNfaWRbdGVzdF9pZF0pCisgICAgICAgIHByaW50KCdFeGVjdXRpbmcgdGVzdCBjYXNlOiAlcycgJSB0ZXN0Wyd0ZXN0J11bJ0BhbGlhcyddKQogICAgICAgICBwcmludCgnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJykKLSAgICAgICAgcHJpbnQoJ1lvdSBoYXZlIHRvdGFsICcgKyBzdHIodG90YWxfc3RlcHMpICsgJyB0ZXN0IHN0ZXBzIHRvIGJlIGV4ZWN1dGVkLicpCisgICAgICAgIHByaW50KCdZb3UgaGF2ZSB0b3RhbCAlcyB0ZXN0IHN0ZXBzIHRvIGJlIGV4ZWN1dGVkLicgJSBsZW4odGVzdFsndGVzdCddWydleGVjdXRpb24nXSkpCiAgICAgICAgIHByaW50KCctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbicpCi0gICAgICAgIGZvciBzdGVwIGluIHNvcnRlZCgoc2VsZi5qZGF0YVt0ZXN0X2lkXVsndGVzdCddWydleGVjdXRpb24nXSkua2V5cygpKToKLSAgICAgICAgICAgIHByaW50KCdTdGVwICVzOiAnICUgc3RlcCArIHNlbGYuamRhdGFbdGVzdF9pZF1bJ3Rlc3QnXVsnZXhlY3V0aW9uJ11bJyVzJyAlIHN0ZXBdWydhY3Rpb24nXSkKLSAgICAgICAgICAgIHByaW50KCdFeHBlY3RlZCBvdXRwdXQ6ICcgKyBzZWxmLmpkYXRhW3Rlc3RfaWRdWyd0ZXN0J11bJ2V4ZWN1dGlvbiddWyclcycgJSBzdGVwXVsnZXhwZWN0ZWRfcmVzdWx0cyddKQotICAgICAgICAgICAgZG9uZSA9IGlucHV0KCdcblBsZWFzZSBwcmVzcyBFTlRFUiB3aGVuIHlvdSBhcmUgZG9uZSB0byBwcm9jZWVkIHRvIG5leHQgc3RlcC5cbicpCisgICAgICAgIGZvciBzdGVwLCBfIGluIHNvcnRlZCh0ZXN0Wyd0ZXN0J11bJ2V4ZWN1dGlvbiddLml0ZW1zKCksIGtleT1sYW1iZGEgeDogaW50KHhbMF0pKToKKyAgICAgICAgICAgIHByaW50KCdTdGVwICVzOiAlcycgJSAoc3RlcCwgdGVzdFsndGVzdCddWydleGVjdXRpb24nXVtzdGVwXVsnYWN0aW9uJ10pKQorICAgICAgICAgICAgZXhwZWN0ZWRfb3V0cHV0ID0gdGVzdFsndGVzdCddWydleGVjdXRpb24nXVtzdGVwXVsnZXhwZWN0ZWRfcmVzdWx0cyddCisgICAgICAgICAgICBpZiBleHBlY3RlZF9vdXRwdXQ6CisgICAgICAgICAgICAgICAgcHJpbnQoJ0V4cGVjdGVkIG91dHB1dDogJXMnICUgZXhwZWN0ZWRfb3V0cHV0KQogICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgZG9uZSA9IGlucHV0KCdcblBsZWFzZSBwcm92aWRlIHRlc3QgcmVzdWx0czogKFApYXNzZWQvKEYpYWlsZWQvKEIpbG9ja2VkLyhTKWtpcHBlZD8gXG4nKQotICAgICAgICAgICAgZG9uZSA9IGRvbmUubG93ZXIoKQorICAgICAgICAgICAgZG9uZSA9IGlucHV0KCdcblBsZWFzZSBwcm92aWRlIHRlc3QgcmVzdWx0czogKFApYXNzZWQvKEYpYWlsZWQvKEIpbG9ja2VkLyhTKWtpcHBlZD8gXG4nKS5sb3dlcigpCiAgICAgICAgICAgICByZXN1bHRfdHlwZXMgPSB7J3AnOidQQVNTRUQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZic6J0ZBSUxFRCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiJzonQkxPQ0tFRCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzJzonU0tJUFBFRCd9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2YnOidGQUlMRUQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiJzonQkxPQ0tFRCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3MnOidTS0lQUEVEJ30KICAgICAgICAgICAgIGlmIGRvbmUgaW4gcmVzdWx0X3R5cGVzOgogICAgICAgICAgICAgICAgIGZvciByIGluIHJlc3VsdF90eXBlczoKICAgICAgICAgICAgICAgICAgICAgaWYgZG9uZSA9PSByOgogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gcmVzdWx0X3R5cGVzW3JdCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiByZXMgPT0gJ0ZBSUxFRCc6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nX2lucHV0ID0gaW5wdXQoJ1xuUGxlYXNlIGVudGVyIHRoZSBlcnJvciBhbmQgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBsb2c6IChFeDpsb2c6MjExIEVycm9yIEJpdGJha2UpXG4nKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfcmVzdWx0LnVwZGF0ZSh7c2VsZi50ZXN0X2Nhc2VzX2lkW3Rlc3RfaWRdOiB7J3N0YXR1cyc6ICclcycgJSByZXMsICdsb2cnOiAnJXMnICUgbG9nX2lucHV0fX0pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9yZXN1bHQudXBkYXRlKHt0ZXN0Wyd0ZXN0J11bJ0BhbGlhcyddOiB7J3N0YXR1cyc6ICclcycgJSByZXMsICdsb2cnOiAnJXMnICUgbG9nX2lucHV0fX0pCiAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfcmVzdWx0LnVwZGF0ZSh7c2VsZi50ZXN0X2Nhc2VzX2lkW3Rlc3RfaWRdOiB7J3N0YXR1cyc6ICclcycgJSByZXN9fSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3Jlc3VsdC51cGRhdGUoe3Rlc3RbJ3Rlc3QnXVsnQGFsaWFzJ106IHsnc3RhdHVzJzogJyVzJyAlIHJlc319KQogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICBwcmludCgnSW52YWxpZCBpbnB1dCEnKQogICAgICAgICByZXR1cm4gdGVzdF9yZXN1bHQKQEAgLTExOSw5ICsxMDUsOSBAQAogICAgICAgICBzZWxmLl9jcmVhdGVfcmVzdWx0X2lkKCkKICAgICAgICAgc2VsZi5fY3JlYXRlX3dyaXRlX2RpcigpCiAgICAgICAgIHRlc3RfcmVzdWx0cyA9IHt9Ci0gICAgICAgIHByaW50KCdcblRvdGFsIG51bWJlciBvZiB0ZXN0IGNhc2VzIGluIHRoaXMgdGVzdCBzdWl0ZTogJyArICclc1xuJyAlIGxlbihzZWxmLmpkYXRhKSkKLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKHNlbGYuamRhdGEpKToKLSAgICAgICAgICAgIHRlc3RfcmVzdWx0ID0gc2VsZi5fZXhlY3V0ZV90ZXN0X3N0ZXBzKGkpCisgICAgICAgIHByaW50KCdcblRvdGFsIG51bWJlciBvZiB0ZXN0IGNhc2VzIGluIHRoaXMgdGVzdCBzdWl0ZTogJXNcbicgJSBsZW4oc2VsZi5qZGF0YSkpCisgICAgICAgIGZvciB0IGluIHNlbGYuamRhdGE6CisgICAgICAgICAgICB0ZXN0X3Jlc3VsdCA9IHNlbGYuX2V4ZWN1dGVfdGVzdF9zdGVwcyh0KQogICAgICAgICAgICAgdGVzdF9yZXN1bHRzLnVwZGF0ZSh0ZXN0X3Jlc3VsdCkKICAgICAgICAgcmV0dXJuIHNlbGYuY29uZmlndXJhdGlvbiwgc2VsZi5yZXN1bHRfaWQsIHNlbGYud3JpdGVfZGlyLCB0ZXN0X3Jlc3VsdHMKIApAQCAtMTI5LDggKzExNSw3IEBACiAgICAgdGVzdHJ1bm5lciA9IE1hbnVhbFRlc3RSdW5uZXIoKQogICAgIGdldF9jb25maWd1cmF0aW9uLCBnZXRfcmVzdWx0X2lkLCBnZXRfd3JpdGVfZGlyLCBnZXRfdGVzdF9yZXN1bHRzID0gdGVzdHJ1bm5lci5ydW5fdGVzdChhcmdzLmZpbGUpCiAgICAgcmVzdWx0anNvbmhlbHBlciA9IE9FVGVzdFJlc3VsdEpTT05IZWxwZXIoKQotICAgIHJlc3VsdGpzb25oZWxwZXIuZHVtcF90ZXN0cmVzdWx0X2ZpbGUoZ2V0X3dyaXRlX2RpciwgZ2V0X2NvbmZpZ3VyYXRpb24sIGdldF9yZXN1bHRfaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRfdGVzdF9yZXN1bHRzKQorICAgIHJlc3VsdGpzb25oZWxwZXIuZHVtcF90ZXN0cmVzdWx0X2ZpbGUoZ2V0X3dyaXRlX2RpciwgZ2V0X2NvbmZpZ3VyYXRpb24sIGdldF9yZXN1bHRfaWQsIGdldF90ZXN0X3Jlc3VsdHMpCiAgICAgcmV0dXJuIDAKIAogZGVmIHJlZ2lzdGVyX2NvbW1hbmRzKHN1YnBhcnNlcnMpOgpkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL2xpYi9yZXN1bHR0b29sL3Jlc3VsdHV0aWxzLnB5IGIvcG9reS9zY3JpcHRzL2xpYi9yZXN1bHR0b29sL3Jlc3VsdHV0aWxzLnB5CmluZGV4IDE1M2YyYjguLmFkNDBhYzggMTAwNjQ0Ci0tLSBhL3Bva3kvc2NyaXB0cy9saWIvcmVzdWx0dG9vbC9yZXN1bHR1dGlscy5weQorKysgYi9wb2t5L3NjcmlwdHMvbGliL3Jlc3VsdHRvb2wvcmVzdWx0dXRpbHMucHkKQEAgLTE1LDYgKzE1LDcgQEAKIGltcG9ydCBvcwogaW1wb3J0IGpzb24KIGltcG9ydCBzY3JpcHRwYXRoCitpbXBvcnQgY29weQogc2NyaXB0cGF0aC5hZGRfb2VfbGliX3BhdGgoKQogCiBmbGF0dGVuX21hcCA9IHsKQEAgLTYwLDEyICs2MSw2IEBACiAgICAgICAgIHRlc3RwYXRoID0gIi8iLmpvaW4oZGF0YVtyZXNdWyJjb25maWd1cmF0aW9uIl0uZ2V0KGkpIGZvciBpIGluIGNvbmZpZ21hcFt0ZXN0dHlwZV0pCiAgICAgICAgIGlmIHRlc3RwYXRoIG5vdCBpbiByZXN1bHRzOgogICAgICAgICAgICAgcmVzdWx0c1t0ZXN0cGF0aF0gPSB7fQotICAgICAgICBpZiAncHRlc3RyZXN1bHQucmF3bG9ncycgaW4gZGF0YVtyZXNdWydyZXN1bHQnXToKLSAgICAgICAgICAgIGRlbCBkYXRhW3Jlc11bJ3Jlc3VsdCddWydwdGVzdHJlc3VsdC5yYXdsb2dzJ10KLSAgICAgICAgaWYgJ3B0ZXN0cmVzdWx0LnNlY3Rpb25zJyBpbiBkYXRhW3Jlc11bJ3Jlc3VsdCddOgotICAgICAgICAgICAgZm9yIGkgaW4gZGF0YVtyZXNdWydyZXN1bHQnXVsncHRlc3RyZXN1bHQuc2VjdGlvbnMnXToKLSAgICAgICAgICAgICAgICBpZiAnbG9nJyBpbiBkYXRhW3Jlc11bJ3Jlc3VsdCddWydwdGVzdHJlc3VsdC5zZWN0aW9ucyddW2ldOgotICAgICAgICAgICAgICAgICAgICBkZWwgZGF0YVtyZXNdWydyZXN1bHQnXVsncHRlc3RyZXN1bHQuc2VjdGlvbnMnXVtpXVsnbG9nJ10KICAgICAgICAgcmVzdWx0c1t0ZXN0cGF0aF1bcmVzXSA9IGRhdGFbcmVzXQogCiAjCkBAIC05MywxNSArODgsNDMgQEAKICAgICAgICAgICAgICAgICAgbmV3cmVzdWx0c1tyXVtpXSA9IHJlc3VsdHNbcl1baV0KICAgICByZXR1cm4gbmV3cmVzdWx0cwogCi1kZWYgc2F2ZV9yZXN1bHRzZGF0YShyZXN1bHRzLCBkZXN0ZGlyLCBmbj0idGVzdHJlc3VsdHMuanNvbiIpOgorZGVmIHN0cmlwX3B0ZXN0cmVzdWx0cyhyZXN1bHRzKToKKyAgICBuZXdyZXN1bHRzID0gY29weS5kZWVwY29weShyZXN1bHRzKQorICAgICNmb3IgYSBpbiBuZXdyZXN1bHRzMjoKKyAgICAjICBuZXdyZXN1bHRzID0gbmV3cmVzdWx0czJbYV0KKyAgICBmb3IgcmVzIGluIG5ld3Jlc3VsdHM6CisgICAgICAgIGlmICdyZXN1bHQnIG5vdCBpbiBuZXdyZXN1bHRzW3Jlc106CisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBpZiAncHRlc3RyZXN1bHQucmF3bG9ncycgaW4gbmV3cmVzdWx0c1tyZXNdWydyZXN1bHQnXToKKyAgICAgICAgICAgIGRlbCBuZXdyZXN1bHRzW3Jlc11bJ3Jlc3VsdCddWydwdGVzdHJlc3VsdC5yYXdsb2dzJ10KKyAgICAgICAgaWYgJ3B0ZXN0cmVzdWx0LnNlY3Rpb25zJyBpbiBuZXdyZXN1bHRzW3Jlc11bJ3Jlc3VsdCddOgorICAgICAgICAgICAgZm9yIGkgaW4gbmV3cmVzdWx0c1tyZXNdWydyZXN1bHQnXVsncHRlc3RyZXN1bHQuc2VjdGlvbnMnXToKKyAgICAgICAgICAgICAgICBpZiAnbG9nJyBpbiBuZXdyZXN1bHRzW3Jlc11bJ3Jlc3VsdCddWydwdGVzdHJlc3VsdC5zZWN0aW9ucyddW2ldOgorICAgICAgICAgICAgICAgICAgICBkZWwgbmV3cmVzdWx0c1tyZXNdWydyZXN1bHQnXVsncHRlc3RyZXN1bHQuc2VjdGlvbnMnXVtpXVsnbG9nJ10KKyAgICByZXR1cm4gbmV3cmVzdWx0cworCitkZWYgc2F2ZV9yZXN1bHRzZGF0YShyZXN1bHRzLCBkZXN0ZGlyLCBmbj0idGVzdHJlc3VsdHMuanNvbiIsIHB0ZXN0anNvbj1GYWxzZSwgcHRlc3Rsb2dzPUZhbHNlKToKICAgICBmb3IgcmVzIGluIHJlc3VsdHM6CiAgICAgICAgIGlmIHJlczoKICAgICAgICAgICAgIGRzdCA9IGRlc3RkaXIgKyAiLyIgKyByZXMgKyAiLyIgKyBmbgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZHN0ID0gZGVzdGRpciArICIvIiArIGZuCiAgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBhdGguZGlybmFtZShkc3QpLCBleGlzdF9vaz1UcnVlKQorICAgICAgICByZXN1bHRzb3V0ID0gcmVzdWx0c1tyZXNdCisgICAgICAgIGlmIG5vdCBwdGVzdGpzb246CisgICAgICAgICAgICByZXN1bHRzb3V0ID0gc3RyaXBfcHRlc3RyZXN1bHRzKHJlc3VsdHNbcmVzXSkKICAgICAgICAgd2l0aCBvcGVuKGRzdCwgJ3cnKSBhcyBmOgotICAgICAgICAgICAgZi53cml0ZShqc29uLmR1bXBzKHJlc3VsdHNbcmVzXSwgc29ydF9rZXlzPVRydWUsIGluZGVudD00KSkKKyAgICAgICAgICAgIGYud3JpdGUoanNvbi5kdW1wcyhyZXN1bHRzb3V0LCBzb3J0X2tleXM9VHJ1ZSwgaW5kZW50PTQpKQorICAgICAgICBmb3IgcmVzMiBpbiByZXN1bHRzW3Jlc106CisgICAgICAgICAgICBpZiBwdGVzdGxvZ3MgYW5kICdyZXN1bHQnIGluIHJlc3VsdHNbcmVzXVtyZXMyXToKKyAgICAgICAgICAgICAgICBpZiAncHRlc3RyZXN1bHQucmF3bG9ncycgaW4gcmVzdWx0c1tyZXNdW3JlczJdWydyZXN1bHQnXToKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKGRzdC5yZXBsYWNlKGZuLCAicHRlc3QtcmF3LmxvZyIpLCAidysiKSBhcyBmOgorICAgICAgICAgICAgICAgICAgICAgICAgZi53cml0ZShyZXN1bHRzW3Jlc11bcmVzMl1bJ3Jlc3VsdCddWydwdGVzdHJlc3VsdC5yYXdsb2dzJ11bJ2xvZyddKQorICAgICAgICAgICAgICAgIGlmICdwdGVzdHJlc3VsdC5zZWN0aW9ucycgaW4gcmVzdWx0c1tyZXNdW3JlczJdWydyZXN1bHQnXToKKyAgICAgICAgICAgICAgICAgICAgZm9yIGkgaW4gcmVzdWx0c1tyZXNdW3JlczJdWydyZXN1bHQnXVsncHRlc3RyZXN1bHQuc2VjdGlvbnMnXToKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICdsb2cnIGluIHJlc3VsdHNbcmVzXVtyZXMyXVsncmVzdWx0J11bJ3B0ZXN0cmVzdWx0LnNlY3Rpb25zJ11baV06CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKGRzdC5yZXBsYWNlKGZuLCAicHRlc3QtJXMubG9nIiAlIGkpLCAidysiKSBhcyBmOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmLndyaXRlKHJlc3VsdHNbcmVzXVtyZXMyXVsncmVzdWx0J11bJ3B0ZXN0cmVzdWx0LnNlY3Rpb25zJ11baV1bJ2xvZyddKQogCiBkZWYgZ2l0X2dldF9yZXN1bHQocmVwbywgdGFncyk6CiAgICAgZ2l0X29ianMgPSBbXQpkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL2xpYi9yZXN1bHR0b29sL3N0b3JlLnB5IGIvcG9reS9zY3JpcHRzL2xpYi9yZXN1bHR0b29sL3N0b3JlLnB5CmluZGV4IDVlMzM3MTYuLmU0YTA4MDcgMTAwNjQ0Ci0tLSBhL3Bva3kvc2NyaXB0cy9saWIvcmVzdWx0dG9vbC9zdG9yZS5weQorKysgYi9wb2t5L3NjcmlwdHMvbGliL3Jlc3VsdHRvb2wvc3RvcmUucHkKQEAgLTI5LDE1ICsyOSwxOCBAQAogICAgIHRyeToKICAgICAgICAgcmVzdWx0cyA9IHt9CiAgICAgICAgIGxvZ2dlci5pbmZvKCdSZWFkaW5nIGZpbGVzIGZyb20gJXMnICUgYXJncy5zb3VyY2UpCi0gICAgICAgIGZvciByb290LCBkaXJzLCAgZmlsZXMgaW4gb3Mud2FsayhhcmdzLnNvdXJjZSk6Ci0gICAgICAgICAgICBmb3IgbmFtZSBpbiBmaWxlczoKLSAgICAgICAgICAgICAgICBmID0gb3MucGF0aC5qb2luKHJvb3QsIG5hbWUpCi0gICAgICAgICAgICAgICAgaWYgbmFtZSA9PSAidGVzdHJlc3VsdHMuanNvbiI6Ci0gICAgICAgICAgICAgICAgICAgIHJlc3VsdHV0aWxzLmFwcGVuZF9yZXN1bHRzZGF0YShyZXN1bHRzLCBmKQotICAgICAgICAgICAgICAgIGVsaWYgYXJncy5hbGw6Ci0gICAgICAgICAgICAgICAgICAgIGRzdCA9IGYucmVwbGFjZShhcmdzLnNvdXJjZSwgdGVtcGRpciArICIvIikKLSAgICAgICAgICAgICAgICAgICAgb3MubWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKGRzdCksIGV4aXN0X29rPVRydWUpCi0gICAgICAgICAgICAgICAgICAgIHNodXRpbC5jb3B5ZmlsZShmLCBkc3QpCisgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGFyZ3Muc291cmNlKToKKyAgICAgICAgICAgIHJlc3VsdHV0aWxzLmFwcGVuZF9yZXN1bHRzZGF0YShyZXN1bHRzLCBhcmdzLnNvdXJjZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGZvciByb290LCBkaXJzLCAgZmlsZXMgaW4gb3Mud2FsayhhcmdzLnNvdXJjZSk6CisgICAgICAgICAgICAgICAgZm9yIG5hbWUgaW4gZmlsZXM6CisgICAgICAgICAgICAgICAgICAgIGYgPSBvcy5wYXRoLmpvaW4ocm9vdCwgbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgaWYgbmFtZSA9PSAidGVzdHJlc3VsdHMuanNvbiI6CisgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHR1dGlscy5hcHBlbmRfcmVzdWx0c2RhdGEocmVzdWx0cywgZikKKyAgICAgICAgICAgICAgICAgICAgZWxpZiBhcmdzLmFsbDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGRzdCA9IGYucmVwbGFjZShhcmdzLnNvdXJjZSwgdGVtcGRpciArICIvIikKKyAgICAgICAgICAgICAgICAgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBhdGguZGlybmFtZShkc3QpLCBleGlzdF9vaz1UcnVlKQorICAgICAgICAgICAgICAgICAgICAgICAgc2h1dGlsLmNvcHlmaWxlKGYsIGRzdCkKIAogICAgICAgICByZXZpc2lvbnMgPSB7fQogCkBAIC02NSw3ICs2OCw3IEBACiAgICAgICAgICAgICByZXN1bHRzID0gcmV2aXNpb25zW3JdCiAgICAgICAgICAgICBrZXl3b3JkcyA9IHsnY29tbWl0JzogclswXSwgJ2JyYW5jaCc6IHJbMV0sICJjb21taXRfY291bnQiOiByWzJdfQogICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKFsiZmluZCIsIHRlbXBkaXIsICIhIiwgIi1wYXRoIiwgIi4vLmdpdC8qIiwgIi1kZWxldGUiXSkKLSAgICAgICAgICAgIHJlc3VsdHV0aWxzLnNhdmVfcmVzdWx0c2RhdGEocmVzdWx0cywgdGVtcGRpcikKKyAgICAgICAgICAgIHJlc3VsdHV0aWxzLnNhdmVfcmVzdWx0c2RhdGEocmVzdWx0cywgdGVtcGRpciwgcHRlc3Rsb2dzPVRydWUpCiAKICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCdTdG9yaW5nIHRlc3QgcmVzdWx0IGludG8gZ2l0IHJlcG9zaXRvcnkgJXMnICUgYXJncy5naXRfZGlyKQogCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvbGliL3NjcmlwdHV0aWxzLnB5IGIvcG9reS9zY3JpcHRzL2xpYi9zY3JpcHR1dGlscy5weQppbmRleCAzMWU0OGVhLi4wNjMzYzcwIDEwMDY0NAotLS0gYS9wb2t5L3NjcmlwdHMvbGliL3NjcmlwdHV0aWxzLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9saWIvc2NyaXB0dXRpbHMucHkKQEAgLTI2LDYgKzI2LDggQEAKIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc3lzCiBpbXBvcnQgdGVtcGZpbGUKK2ltcG9ydCBpbXBvcnRsaWIKK2Zyb20gaW1wb3J0bGliIGltcG9ydCBtYWNoaW5lcnkKIAogZGVmIGxvZ2dlcl9jcmVhdGUobmFtZSwgc3RyZWFtPU5vbmUpOgogICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKG5hbWUpCkBAIC0zNywxMiArMzksMTIgQEAKIAogZGVmIGxvZ2dlcl9zZXR1cF9jb2xvcihsb2dnZXIsIGNvbG9yPSdhdXRvJyk6CiAgICAgZnJvbSBiYi5tc2cgaW1wb3J0IEJCTG9nRm9ybWF0dGVyCi0gICAgY29uc29sZSA9IGxvZ2dpbmcuU3RyZWFtSGFuZGxlcihzeXMuc3Rkb3V0KQotICAgIGZvcm1hdHRlciA9IEJCTG9nRm9ybWF0dGVyKCIlKGxldmVsbmFtZSlzOiAlKG1lc3NhZ2UpcyIpCi0gICAgY29uc29sZS5zZXRGb3JtYXR0ZXIoZm9ybWF0dGVyKQotICAgIGxvZ2dlci5oYW5kbGVycyA9IFtjb25zb2xlXQotICAgIGlmIGNvbG9yID09ICdhbHdheXMnIG9yIChjb2xvcj09J2F1dG8nIGFuZCBjb25zb2xlLnN0cmVhbS5pc2F0dHkoKSk6Ci0gICAgICAgIGZvcm1hdHRlci5lbmFibGVfY29sb3IoKQorCisgICAgZm9yIGhhbmRsZXIgaW4gbG9nZ2VyLmhhbmRsZXJzOgorICAgICAgICBpZiAoaXNpbnN0YW5jZShoYW5kbGVyLCBsb2dnaW5nLlN0cmVhbUhhbmRsZXIpIGFuZAorICAgICAgICAgICAgaXNpbnN0YW5jZShoYW5kbGVyLmZvcm1hdHRlciwgQkJMb2dGb3JtYXR0ZXIpKToKKyAgICAgICAgICAgIGlmIGNvbG9yID09ICdhbHdheXMnIG9yIChjb2xvciA9PSAnYXV0bycgYW5kIGhhbmRsZXIuc3RyZWFtLmlzYXR0eSgpKToKKyAgICAgICAgICAgICAgICBoYW5kbGVyLmZvcm1hdHRlci5lbmFibGVfY29sb3IoKQogCiAKIGRlZiBsb2FkX3BsdWdpbnMobG9nZ2VyLCBwbHVnaW5zLCBwbHVnaW5wYXRoKToKQEAgLTUwLDEyICs1Miw5IEBACiAKICAgICBkZWYgbG9hZF9wbHVnaW4obmFtZSk6CiAgICAgICAgIGxvZ2dlci5kZWJ1ZygnTG9hZGluZyBwbHVnaW4gJXMnICUgbmFtZSkKLSAgICAgICAgZnAsIHBhdGhuYW1lLCBkZXNjcmlwdGlvbiA9IGltcC5maW5kX21vZHVsZShuYW1lLCBbcGx1Z2lucGF0aF0pCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBpbXAubG9hZF9tb2R1bGUobmFtZSwgZnAsIHBhdGhuYW1lLCBkZXNjcmlwdGlvbikKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGlmIGZwOgotICAgICAgICAgICAgICAgIGZwLmNsb3NlKCkKKyAgICAgICAgc3BlYyA9IGltcG9ydGxpYi5tYWNoaW5lcnkuUGF0aEZpbmRlci5maW5kX3NwZWMobmFtZSwgcGF0aD1bcGx1Z2lucGF0aF0gKQorICAgICAgICBpZiBzcGVjOgorICAgICAgICAgICAgcmV0dXJuIHNwZWMubG9hZGVyLmxvYWRfbW9kdWxlKCkKIAogICAgIGRlZiBwbHVnaW5fbmFtZShmaWxlbmFtZSk6CiAgICAgICAgIHJldHVybiBvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGguYmFzZW5hbWUoZmlsZW5hbWUpKVswXQpAQCAtNzAsNiArNjksNyBAQAogICAgICAgICAgICAgICAgIHBsdWdpbi5wbHVnaW5faW5pdChwbHVnaW5zKQogICAgICAgICAgICAgcGx1Z2lucy5hcHBlbmQocGx1Z2luKQogCisKIGRlZiBnaXRfY29udmVydF9zdGFuZGFsb25lX2Nsb25lKHJlcG9kaXIpOgogICAgICIiIklmIHNwZWNpZmllZCBkaXJlY3RvcnkgaXMgYSBnaXQgcmVwb3NpdG9yeSwgZW5zdXJlIGl0J3MgYSBzdGFuZGFsb25lIGNsb25lIiIiCiAgICAgaW1wb3J0IGJiLnByb2Nlc3MKZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9saWIvd2ljL2VuZ2luZS5weSBiL3Bva3kvc2NyaXB0cy9saWIvd2ljL2VuZ2luZS5weQppbmRleCBlYTYwMGQyLi5hYjMzZmE2IDEwMDY0NAotLS0gYS9wb2t5L3NjcmlwdHMvbGliL3dpYy9lbmdpbmUucHkKKysrIGIvcG9reS9zY3JpcHRzL2xpYi93aWMvZW5naW5lLnB5CkBAIC0zMzgsNyArMzM4LDcgQEAKICAgICBkZWYgY29weShzZWxmLCBzcmMsIHBudW0sIHBhdGgpOgogICAgICAgICAiIiJDb3B5IHBhcnRpdGlvbiBpbWFnZSBpbnRvIHdpYyBpbWFnZS4iIiIKICAgICAgICAgaWYgc2VsZi5wYXJ0aXRpb25zW3BudW1dLmZzdHlwZS5zdGFydHN3aXRoKCdleHQnKToKLSAgICAgICAgICAgIGNtZCA9ICJwcmludGYgJ2NkIHt9XG53cml0ZSB7fSB7fScgfCB7fSAtdyB7fSIuXAorICAgICAgICAgICAgY21kID0gInByaW50ZiAnY2Qge31cbndyaXRlIHt9IHt9XG4nIHwge30gLXcge30iLlwKICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQocGF0aCwgc3JjLCBvcy5wYXRoLmJhc2VuYW1lKHNyYyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGVidWdmcywgc2VsZi5fZ2V0X3BhcnRfaW1hZ2UocG51bSkpCiAgICAgICAgIGVsc2U6ICMgZmF0CmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvbGliL3dpYy9rc3BhcnNlci5weSBiL3Bva3kvc2NyaXB0cy9saWIvd2ljL2tzcGFyc2VyLnB5CmluZGV4IDdlNWE5YzUuLjA4YmFmNzYgMTAwNjQ0Ci0tLSBhL3Bva3kvc2NyaXB0cy9saWIvd2ljL2tzcGFyc2VyLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9saWIvd2ljL2tzcGFyc2VyLnB5CkBAIC0yOCwxNCArMjgsMzAgQEAKIGltcG9ydCBvcwogaW1wb3J0IHNobGV4CiBpbXBvcnQgbG9nZ2luZworaW1wb3J0IHJlCiAKIGZyb20gYXJncGFyc2UgaW1wb3J0IEFyZ3VtZW50UGFyc2VyLCBBcmd1bWVudEVycm9yLCBBcmd1bWVudFR5cGVFcnJvcgogCiBmcm9tIHdpYy5lbmdpbmUgaW1wb3J0IGZpbmRfY2FubmVkCiBmcm9tIHdpYy5wYXJ0aXRpb24gaW1wb3J0IFBhcnRpdGlvbgorZnJvbSB3aWMubWlzYyBpbXBvcnQgZ2V0X2JpdGJha2VfdmFyCiAKIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCd3aWMnKQogCitfX2V4cGFuZF92YXJfcmVnZXhwX18gPSByZS5jb21waWxlKHIiXCR7W157fUBcblx0IDpdK30iKQorCitkZWYgZXhwYW5kX2xpbmUobGluZSk6CisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgbSA9IF9fZXhwYW5kX3Zhcl9yZWdleHBfXy5zZWFyY2gobGluZSkKKyAgICAgICAgaWYgbm90IG06CisgICAgICAgICAgICByZXR1cm4gbGluZQorICAgICAgICBrZXkgPSBtLmdyb3VwKClbMjotMV0KKyAgICAgICAgdmFsID0gZ2V0X2JpdGJha2VfdmFyKGtleSkKKyAgICAgICAgaWYgdmFsIGlzIE5vbmU6CisgICAgICAgICAgICBsb2dnZXIud2FybmluZygiY2Fubm90IGV4cGFuZCB2YXJpYWJsZSAlcyIgJSBrZXkpCisgICAgICAgICAgICByZXR1cm4gbGluZQorICAgICAgICBsaW5lID0gbGluZVs6bS5zdGFydCgpXSArIHZhbCArIGxpbmVbbS5lbmQoKTpdCisKIGNsYXNzIEtpY2tTdGFydEVycm9yKEV4Y2VwdGlvbik6CiAgICAgIiIiQ3VzdG9tIGV4Y2VwdGlvbi4iIiIKICAgICBwYXNzCkBAIC0xOTAsNiArMjA2LDcgQEAKICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCiAgICAgICAgICAgICAgICAgbGluZW5vICs9IDEKICAgICAgICAgICAgICAgICBpZiBsaW5lIGFuZCBsaW5lWzBdICE9ICcjJzoKKyAgICAgICAgICAgICAgICAgICAgbGluZSA9IGV4cGFuZF9saW5lKGxpbmUpCiAgICAgICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVfYXJncyA9IHNobGV4LnNwbGl0KGxpbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZWQgPSBwYXJzZXIucGFyc2VfYXJncyhsaW5lX2FyZ3MpCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvbGliL3dpYy9wYXJ0aXRpb24ucHkgYi9wb2t5L3NjcmlwdHMvbGliL3dpYy9wYXJ0aXRpb24ucHkKaW5kZXggM2RhN2UyMy4uY2EyMDZlYyAxMDA2NDQKLS0tIGEvcG9reS9zY3JpcHRzL2xpYi93aWMvcGFydGl0aW9uLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9saWIvd2ljL3BhcnRpdGlvbi5weQpAQCAtMTczLDcgKzE3Myw3IEBACiAgICAgICAgICAgICAjIFNwbGl0IHNvdXJjZXBhcmFtcyBzdHJpbmcgb2YgdGhlIGZvcm0ga2V5MT12YWwxWyxrZXkyPXZhbDIsLi4uXQogICAgICAgICAgICAgIyBpbnRvIGEgZGljdC4gIEFsc28gYWNjZXB0cyB2YWx1ZWxlc3Mga2V5cyBpLmUuIHdpdGhvdXQgPQogICAgICAgICAgICAgc3BsaXR0ZWQgPSBzZWxmLnNvdXJjZXBhcmFtcy5zcGxpdCgnLCcpCi0gICAgICAgICAgICBzcmNwYXJhbXNfZGljdCA9IGRpY3QocGFyLnNwbGl0KCc9JykgZm9yIHBhciBpbiBzcGxpdHRlZCBpZiBwYXIpCisgICAgICAgICAgICBzcmNwYXJhbXNfZGljdCA9IGRpY3QocGFyLnNwbGl0KCc9JywgMSkgZm9yIHBhciBpbiBzcGxpdHRlZCBpZiBwYXIpCiAKICAgICAgICAgcGx1Z2luID0gUGx1Z2luTWdyLmdldF9wbHVnaW5zKCdzb3VyY2UnKVtzZWxmLnNvdXJjZV0KICAgICAgICAgcGx1Z2luLmRvX2NvbmZpZ3VyZV9wYXJ0aXRpb24oc2VsZiwgc3JjcGFyYW1zX2RpY3QsIGNyZWF0b3IsCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvbGliL3dpYy9wbHVnaW5zL3NvdXJjZS9ib290aW1nLWVmaS5weSBiL3Bva3kvc2NyaXB0cy9saWIvd2ljL3BsdWdpbnMvc291cmNlL2Jvb3RpbWctZWZpLnB5CmluZGV4IDBlYjg2YTAuLjgzYTdlMTggMTAwNjQ0Ci0tLSBhL3Bva3kvc2NyaXB0cy9saWIvd2ljL3BsdWdpbnMvc291cmNlL2Jvb3RpbWctZWZpLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9saWIvd2ljL3BsdWdpbnMvc291cmNlL2Jvb3RpbWctZWZpLnB5CkBAIC03NywxMiArNzcsMTMgQEAKICAgICAgICAgaWYgbm90IGN1c3RvbV9jZmc6CiAgICAgICAgICAgICAjIENyZWF0ZSBncnViIGNvbmZpZ3VyYXRpb24gdXNpbmcgcGFyYW1ldGVycyBmcm9tIHdrcyBmaWxlCiAgICAgICAgICAgICBib290bG9hZGVyID0gY3JlYXRvci5rcy5ib290bG9hZGVyCisgICAgICAgICAgICB0aXRsZSA9IHNvdXJjZV9wYXJhbXMuZ2V0KCd0aXRsZScpCiAKICAgICAgICAgICAgIGdydWJlZmlfY29uZiA9ICIiCiAgICAgICAgICAgICBncnViZWZpX2NvbmYgKz0gInNlcmlhbCAtLXVuaXQ9MCAtLXNwZWVkPTExNTIwMCAtLXdvcmQ9OCAtLXBhcml0eT1ubyAtLXN0b3A9MVxuIgogICAgICAgICAgICAgZ3J1YmVmaV9jb25mICs9ICJkZWZhdWx0PWJvb3RcbiIKICAgICAgICAgICAgIGdydWJlZmlfY29uZiArPSAidGltZW91dD0lc1xuIiAlIGJvb3Rsb2FkZXIudGltZW91dAotICAgICAgICAgICAgZ3J1YmVmaV9jb25mICs9ICJtZW51ZW50cnkgJ2Jvb3Qne1xuIgorICAgICAgICAgICAgZ3J1YmVmaV9jb25mICs9ICJtZW51ZW50cnkgJyVzJ3tcbiIgJSAodGl0bGUgaWYgdGl0bGUgZWxzZSAiYm9vdCIpCiAKICAgICAgICAgICAgIGtlcm5lbCA9ICIvYnpJbWFnZSIKIApAQCAtMTUyLDkgKzE1MywxMCBAQAogICAgICAgICBpZiBub3QgY3VzdG9tX2NmZzoKICAgICAgICAgICAgICMgQ3JlYXRlIHN5c3RlbWQtYm9vdCBjb25maWd1cmF0aW9uIHVzaW5nIHBhcmFtZXRlcnMgZnJvbSB3a3MgZmlsZQogICAgICAgICAgICAga2VybmVsID0gIi9iekltYWdlIgorICAgICAgICAgICAgdGl0bGUgPSBzb3VyY2VfcGFyYW1zLmdldCgndGl0bGUnKQogCiAgICAgICAgICAgICBib290X2NvbmYgPSAiIgotICAgICAgICAgICAgYm9vdF9jb25mICs9ICJ0aXRsZSBib290XG4iCisgICAgICAgICAgICBib290X2NvbmYgKz0gInRpdGxlICVzXG4iICUgKHRpdGxlIGlmIHRpdGxlIGVsc2UgImJvb3QiKQogICAgICAgICAgICAgYm9vdF9jb25mICs9ICJsaW51eCAlc1xuIiAlIGtlcm5lbAogICAgICAgICAgICAgYm9vdF9jb25mICs9ICJvcHRpb25zIExBQkVMPUJvb3Qgcm9vdD0lcyAlc1xuIiAlIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNyZWF0b3Iucm9vdGRldiwgYm9vdGxvYWRlci5hcHBlbmQpCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvb2UtcHlsaW50IGIvcG9reS9zY3JpcHRzL29lLXB5bGludApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NGZmNGI4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9zY3JpcHRzL29lLXB5bGludApAQCAtMCwwICsxLDExIEBACisjIS9iaW4vYmFzaAorIworIyBSdW4gdGhlIHB5bGludDMgYWdhaW5zdCBvdXIgY29tbW9uIHB5dGhvbiBtb2R1bGUgc3BhY2VzIGFuZCBwcmludCBhIHJlcG9ydCBvZiBwb3RlbnRpYWwgaXNzdWVzCisjCit0aGlzX2Rpcj0kKGRpcm5hbWUgJChyZWFkbGluayAtZiAkMCkpCitFUlJPUlM9Ii1FIgorSUdOT1JFTElTVD0iJEVSUk9SUyAtZCBsb2dnaW5nLXRvby1tYW55LWFyZ3MgLWQgbWlzc2luZy1kb2NzdHJpbmcgLWQgbGluZS10b28tbG9uZyAtZCBpbnZhbGlkLW5hbWUiCitQWVRIT05QQVRIPSR0aGlzX2Rpci8uLi9iaXRiYWtlL2xpYi8gcHlsaW50MyAkSUdOT1JFTElTVCBiYgorUFlUSE9OUEFUSD0kdGhpc19kaXIvLi4vYml0YmFrZS9saWIvOiR0aGlzX2Rpci8uLi9tZXRhL2xpYiBweWxpbnQzICRJR05PUkVMSVNUIC1kIHVuZGVmaW5lZC12YXJpYWJsZSBvZQorUFlUSE9OUEFUSD0kdGhpc19kaXIvLi4vYml0YmFrZS9saWIvOiR0aGlzX2Rpci8uLi9tZXRhL2xpYiBweWxpbnQzICAkSUdOT1JFTElTVCBvZXFhCitQWVRIT05QQVRIPSR0aGlzX2Rpci8uLi9iaXRiYWtlL2xpYi86JHRoaXNfZGlyLy4uL21ldGEvbGliOiR0aGlzX2Rpci9saWIgcHlsaW50MyAkSUdOT1JFTElTVCAtZCB1bmRlZmluZWQtdmFyaWFibGUgYXJncGFyc2Vfb2UgYnVpbGRzdGF0cyAgZGV2dG9vbCByZWNpcGV0b29sIHNjcmlwdHBhdGggdGVzdGNhc2VtZ210IGJ1aWxkX3BlcmYgY2hlY2tsYXllciByZXN1bHR0b29sICBzY3JpcHR1dGlscyB3aWMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvb2VweWRldnNoZWxsLWludGVybmFsLnB5IGIvcG9reS9zY3JpcHRzL29lcHlkZXZzaGVsbC1pbnRlcm5hbC5weQppbmRleCAwNDYyMWFlLi4yZjdkNWQ0IDEwMDc1NQotLS0gYS9wb2t5L3NjcmlwdHMvb2VweWRldnNoZWxsLWludGVybmFsLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9vZXB5ZGV2c2hlbGwtaW50ZXJuYWwucHkKQEAgLTYzLDcgKzYzLDkgQEAKICAgICAgICAgICAgIChyZWFkeSwgXywgXykgPSBzZWxlY3Quc2VsZWN0KFtwdHksIHN5cy5zdGRpbl0sIHdyaXRlcnMgLCBbXSwgMCkKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBpZiBwdHkgaW4gcmVhZHk6Ci0gICAgICAgICAgICAgICAgICAgIGkgPSBpICsgcHR5LnJlYWQoKS5kZWNvZGUoJ3V0Zi04JykKKyAgICAgICAgICAgICAgICAgICAgcmVhZGRhdGEgPSBwdHkucmVhZCgpCisgICAgICAgICAgICAgICAgICAgIGlmIHJlYWRkYXRhOgorICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyByZWFkZGF0YS5kZWNvZGUoJ3V0Zi04JykKICAgICAgICAgICAgICAgICBpZiBpOgogICAgICAgICAgICAgICAgICAgICAjIFdyaXRlIGEgcGFnZSBhdCBhIHRpbWUgdG8gYXZvaWQgb3ZlcmZsb3dpbmcgb3V0cHV0IAogICAgICAgICAgICAgICAgICAgICAjIGQua2V5cygpIGlzIGEgZ29vZCB3YXkgdG8gZG8gdGhhdApkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL3B5dGhvbmRlcHMgYi9wb2t5L3NjcmlwdHMvcHl0aG9uZGVwcwppbmRleCA1OTBiOTc2Li4zZTEzYTU4IDEwMDc1NQotLS0gYS9wb2t5L3NjcmlwdHMvcHl0aG9uZGVwcworKysgYi9wb2t5L3NjcmlwdHMvcHl0aG9uZGVwcwpAQCAtOSw3ICs5LDggQEAKIAogaW1wb3J0IGFyZ3BhcnNlCiBpbXBvcnQgYXN0Ci1pbXBvcnQgaW1wCitpbXBvcnQgaW1wb3J0bGliCitmcm9tIGltcG9ydGxpYiBpbXBvcnQgbWFjaGluZXJ5CiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zLnBhdGgKIGltcG9ydCBzeXMKQEAgLTE3LDEwICsxOCw3IEBACiAKIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdweXRob25kZXBzJykKIAotc3VmZml4ZXMgPSBbXQotZm9yIHRyaXBsZSBpbiBpbXAuZ2V0X3N1ZmZpeGVzKCk6Ci0gICAgc3VmZml4ZXMuYXBwZW5kKHRyaXBsZVswXSkKLQorc3VmZml4ZXMgPSBpbXBvcnRsaWIubWFjaGluZXJ5LmFsbF9zdWZmaXhlcygpCiAKIGNsYXNzIFB5dGhvbkRlcEVycm9yKEV4Y2VwdGlvbik6CiAgICAgcGFzcwpkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL3Jlc3VsdHRvb2wgYi9wb2t5L3NjcmlwdHMvcmVzdWx0dG9vbAppbmRleCA1YTg5ZTFjLi4xOGFjMTAxIDEwMDc1NQotLS0gYS9wb2t5L3NjcmlwdHMvcmVzdWx0dG9vbAorKysgYi9wb2t5L3NjcmlwdHMvcmVzdWx0dG9vbApAQCAtNTEsMTMgKzUxLDYgQEAKIGltcG9ydCByZXN1bHR0b29sLm1hbnVhbGV4ZWN1dGlvbgogbG9nZ2VyID0gc2NyaXB0dXRpbHMubG9nZ2VyX2NyZWF0ZSgncmVzdWx0dG9vbCcpCiAKLWRlZiBfdmFsaWRhdGVfdXNlcl9pbnB1dF9hcmd1bWVudHMoYXJncyk6Ci0gICAgaWYgaGFzYXR0cihhcmdzLCAic291cmNlX2RpciIpOgotICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2RpcihhcmdzLnNvdXJjZV9kaXIpOgotICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdzb3VyY2VfZGlyIGFyZ3VtZW50IG5lZWQgdG8gYmUgYSBkaXJlY3RvcnkgOiAlcycgJSBhcmdzLnNvdXJjZV9kaXIpCi0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICByZXR1cm4gVHJ1ZQotCiBkZWYgbWFpbigpOgogICAgIHBhcnNlciA9IGFyZ3BhcnNlX29lLkFyZ3VtZW50UGFyc2VyKGRlc2NyaXB0aW9uPSJPRVFBIHRlc3QgcmVzdWx0IG1hbmlwdWxhdGlvbiB0b29sLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXBpbG9nPSJVc2UgJShwcm9nKXMgPHN1YmNvbW1hbmQ+IC0taGVscCB0byBnZXQgaGVscCBvbiBhIHNwZWNpZmljIGNvbW1hbmQiKQpAQCAtODAsOSArNzMsNiBAQAogICAgIGVsaWYgYXJncy5xdWlldDoKICAgICAgICAgbG9nZ2VyLnNldExldmVsKGxvZ2dpbmcuRVJST1IpCiAKLSAgICBpZiBub3QgX3ZhbGlkYXRlX3VzZXJfaW5wdXRfYXJndW1lbnRzKGFyZ3MpOgotICAgICAgICByZXR1cm4gLTEKLQogICAgIHRyeToKICAgICAgICAgcmV0ID0gYXJncy5mdW5jKGFyZ3MsIGxvZ2dlcikKICAgICBleGNlcHQgYXJncGFyc2Vfb2UuQXJndW1lbnRVc2FnZUVycm9yIGFzIGFlOgpkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL3J1bnFlbXUgYi9wb2t5L3NjcmlwdHMvcnVucWVtdQppbmRleCAxYzk2YjI5Li5jMGU1NjljIDEwMDc1NQotLS0gYS9wb2t5L3NjcmlwdHMvcnVucWVtdQorKysgYi9wb2t5L3NjcmlwdHMvcnVucWVtdQpAQCAtNzQsNyArNzQsMTIgQEAKICAgTUFDSElORSAtIHRoZSBtYWNoaW5lIG5hbWUgKG9wdGlvbmFsLCBhdXRvZGV0ZWN0ZWQgZnJvbSBLRVJORUwgZmlsZW5hbWUgaWYgdW5zcGVjaWZpZWQpCiAgIFNpbXBsaWZpZWQgUUVNVSBjb21tYW5kLWxpbmUgb3B0aW9ucyBjYW4gYmUgcGFzc2VkIHdpdGg6CiAgICAgbm9ncmFwaGljIC0gZGlzYWJsZSB2aWRlbyBjb25zb2xlCisgICAgc2RsIC0gY2hvb3NlIHRoZSBTREwgZnJvbnRlbmQgaW5zdGVhZCBvZiB0aGUgR3RrKyBkZWZhdWx0CisgICAgZ3RrLWdsIC0gZW5hYmxlIHZpcmdsLWJhc2VkIEdMIGFjY2VsZXJhdGlvbiB1c2luZyBHdGsrIGZyb250ZW5kCisgICAgZ3RrLWdsLWVzIC0gZW5hYmxlIHZpcmdsLWJhc2VkIEdMIGFjY2VsZXJhdGlvbiwgdXNpbmcgT3BlbkdMIEVTIGFuZCBHdGsrIGZyb250ZW5kCisgICAgZWdsLWhlYWRsZXNzIC0gZW5hYmxlIGhlYWRsZXNzIEVHTCBvdXRwdXQ7IHVzZSB2bmMgb3Igc3BpY2UgdG8gc2VlIGl0CiAgICAgc2VyaWFsIC0gZW5hYmxlIGEgc2VyaWFsIGNvbnNvbGUgb24gL2Rldi90dHlTMAorICAgIHNlcmlhbHN0ZGlvIC0gZW5hYmxlIGEgc2VyaWFsIGNvbnNvbGUgb24gdGhlIGNvbnNvbGUgKHJlZ2FyZGxlc3Mgb2YgZ3JhcGhpY3MgbW9kZSkKICAgICBzbGlycCAtIGVuYWJsZSB1c2VyIG5ldHdvcmtpbmcsIG5vIHJvb3QgcHJpdmlsZWdlcyBpcyByZXF1aXJlZAogICAgIGt2bSAtIGVuYWJsZSBLVk0gd2hlbiBydW5uaW5nIHg4Ni94ODZfNjQgKFZULWNhcGFibGUgQ1BVIHJlcXVpcmVkKQogICAgIGt2bS12aG9zdCAtIGVuYWJsZSBLVk0gd2l0aCB2aG9zdCB3aGVuIHJ1bm5pbmcgeDg2L3g4Nl82NCAoVlQtY2FwYWJsZSBDUFUgcmVxdWlyZWQpCkBAIC0xMTQsMzkgKzExOSw2IEBACiAgICAgaWYgbm90IG9zLmFjY2VzcyhkZXZfdHVuLCBvcy5XX09LKToKICAgICAgICAgcmFpc2UgUnVuUWVtdUVycm9yKCJUVU4gY29udHJvbCBkZXZpY2UgJXMgaXMgbm90IHdyaXRhYmxlLCBwbGVhc2UgZml4IChlLmcuIHN1ZG8gY2htb2QgNjY2ICVzKSIgJSAoZGV2X3R1biwgZGV2X3R1bikpCiAKLWRlZiBjaGVja19saWJnbChxZW11X2Jpbik6Ci0gICAgY21kID0gKCdsZGQnLCBxZW11X2JpbikKLSAgICBsb2dnZXIuZGVidWcoJ1J1bm5pbmcgJXMuLi4nICUgc3RyKGNtZCkpCi0gICAgbmVlZF9nbCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KGNtZCkuZGVjb2RlKCd1dGYtOCcpCi0gICAgaWYgcmUuc2VhcmNoKCdsaWJHTFUnLCBuZWVkX2dsKToKLSAgICAgICAgIyBXZSBjYW4ndCBydW4gd2l0aG91dCBhIGxpYkdMLnNvCi0gICAgICAgIGxpYmdsID0gRmFsc2UKLSAgICAgICAgY2hlY2tfZmlsZXMgPSAoKCcvdXNyL2xpYi9saWJHTC5zbycsICcvdXNyL2xpYi9saWJHTFUuc28nKSwgXAotICAgICAgICAgICAgKCcvdXNyL2xpYjY0L2xpYkdMLnNvJywgJy91c3IvbGliNjQvbGliR0xVLnNvJyksIFwKLSAgICAgICAgICAgICgnL3Vzci9saWIvKi1saW51eC1nbnUvbGliR0wuc28nLCAnL3Vzci9saWIvKi1saW51eC1nbnUvbGliR0xVLnNvJykpCi0KLSAgICAgICAgZm9yIChmMSwgZjIpIGluIGNoZWNrX2ZpbGVzOgotICAgICAgICAgICAgaWYgcmUuc2VhcmNoKCdcKicsIGYxKToKLSAgICAgICAgICAgICAgICBmb3IgZzEgaW4gZ2xvYi5nbG9iKGYxKToKLSAgICAgICAgICAgICAgICAgICAgaWYgbGliZ2w6Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhnMSk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBmb3IgZzIgaW4gZ2xvYi5nbG9iKGYyKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhnMik6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmdsID0gVHJ1ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGlmIGxpYmdsOgotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhmMSkgYW5kIG9zLnBhdGguZXhpc3RzKGYyKToKLSAgICAgICAgICAgICAgICAgICAgbGliZ2wgPSBUcnVlCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGlmIG5vdCBsaWJnbDoKLSAgICAgICAgICAgIGxvZ2dlci5lcnJvcigiWW91IG5lZWQgbGliR0wuc28gYW5kIGxpYkdMVS5zbyB0byBleGlzdCBpbiB5b3VyIGxpYnJhcnkgcGF0aCB0byBydW4gdGhlIFFFTVUgZW11bGF0b3IuIikKLSAgICAgICAgICAgIGxvZ2dlci5lcnJvcigiVWJ1bnR1IHBhY2thZ2UgbmFtZXMgYXJlOiBsaWJnbDEtbWVzYS1kZXYgYW5kIGxpYmdsdTEtbWVzYS1kZXYuIikKLSAgICAgICAgICAgIGxvZ2dlci5lcnJvcigiRmVkb3JhIHBhY2thZ2UgbmFtZXMgYXJlOiBtZXNhLWxpYkdMLWRldmVsIG1lc2EtbGliR0xVLWRldmVsLiIpCi0gICAgICAgICAgICByYWlzZSBSdW5RZW11RXJyb3IoJyVzIHJlcXVpcmVzIGxpYkdMVSwgYnV0IG5vdCBmb3VuZCcgJSBxZW11X2JpbikKLQogZGVmIGdldF9maXJzdF9maWxlKGNtZHMpOgogICAgICIiIlJldHVybiBmaXJzdCBmaWxlIGZvdW5kIGluIHdpbGRjYXJkIGNtZHMiIiIKICAgICBmb3IgY21kIGluIGNtZHM6CkBAIC0yMTIsNiArMTg0LDcgQEAKICAgICAgICAgc2VsZi5zbGlycF9lbmFibGVkID0gRmFsc2UKICAgICAgICAgc2VsZi5uZnNfaW5zdGFuY2UgPSAwCiAgICAgICAgIHNlbGYubmZzX3J1bm5pbmcgPSBGYWxzZQorICAgICAgICBzZWxmLnNlcmlhbGNvbnNvbGUgPSBGYWxzZQogICAgICAgICBzZWxmLnNlcmlhbHN0ZGlvID0gRmFsc2UKICAgICAgICAgc2VsZi5jbGVhbnRhcCA9IEZhbHNlCiAgICAgICAgIHNlbGYuc2F2ZWRfc3R0eSA9ICcnCkBAIC00MzIsOCArNDA1LDMzIEBACiAgICAgICAgICAgICBlbGlmIGFyZyA9PSAnbm9ncmFwaGljJzoKICAgICAgICAgICAgICAgICBzZWxmLnFlbXVfb3B0X3NjcmlwdCArPSAnIC1ub2dyYXBoaWMnCiAgICAgICAgICAgICAgICAgc2VsZi5rZXJuZWxfY21kbGluZV9zY3JpcHQgKz0gJyBjb25zb2xlPXR0eVMwJworICAgICAgICAgICAgZWxpZiBhcmcgPT0gJ3NkbCc6CisgICAgICAgICAgICAgICAgc2VsZi5xZW11X29wdF9zY3JpcHQgKz0gJyAtZGlzcGxheSBzZGwnCisgICAgICAgICAgICBlbGlmIGFyZyA9PSAnZ3RrLWdsJzoKKyAgICAgICAgICAgICAgICBzZWxmLnFlbXVfb3B0X3NjcmlwdCArPSAnIC12Z2EgdmlydGlvIC1kaXNwbGF5IGd0ayxnbD1vbicKKyAgICAgICAgICAgIGVsaWYgYXJnID09ICdndGstZ2wtZXMnOgorICAgICAgICAgICAgICAgIHNlbGYucWVtdV9vcHRfc2NyaXB0ICs9ICcgLXZnYSB2aXJ0aW8gLWRpc3BsYXkgZ3RrLGdsPWVzJworICAgICAgICAgICAgZWxpZiBhcmcgPT0gJ2VnbC1oZWFkbGVzcyc6CisgICAgICAgICAgICAgICAgc2VsZi5xZW11X29wdF9zY3JpcHQgKz0gJyAtdmdhIHZpcnRpbyAtZGlzcGxheSBlZ2wtaGVhZGxlc3MnCisgICAgICAgICAgICAgICAgIyBBcyBydW5xZW11IGNhbiBiZSBydW4gd2l0aGluIGJpdGJha2UgKHdoZW4gdXNpbmcgdGVzdGltYWdlLCBmb3IgZXhhbXBsZSksCisgICAgICAgICAgICAgICAgIyB3ZSBuZWVkIHRvIGVuc3VyZSB0aGF0IHdlIHJ1biBob3N0IHBrZy1jb25maWcsIGFuZCB0aGF0IGl0IGRvZXMgbm90CisgICAgICAgICAgICAgICAgIyBnZXQgbWlzLWRpcmVjdGVkIHRvIG5hdGl2ZSBidWlsZCBwYXRocyBzZXQgYnkgYml0YmFrZS4KKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGRlbCBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1BBVEgnXQorICAgICAgICAgICAgICAgICAgICBkZWwgb3MuZW52aXJvblsnUEtHX0NPTkZJR19ESVInXQorICAgICAgICAgICAgICAgICAgICBkZWwgb3MuZW52aXJvblsnUEtHX0NPTkZJR19MSUJESVInXQorICAgICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgZHJpcGF0aCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KCJQQVRIPS9iaW46L3Vzci9iaW46JFBBVEggcGtnLWNvbmZpZyAtLXZhcmlhYmxlPWRyaWRyaXZlcmRpciBkcmkiLCBzaGVsbD1UcnVlKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBSdW5RZW11RXJyb3IoIkNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIHBhdGggdG8gZHJpIGRyaXZlcnMgb24gdGhlIGhvc3QgdmlhIHBrZy1jb25maWcuXG5QbGVhc2UgaW5zdGFsbCBNZXNhIGRldmVsb3BtZW50IGZpbGVzIChwYXJ0aWN1bGFybHksIGRyaS5wYykgb24gdGhlIGhvc3QgbWFjaGluZS4iKQorICAgICAgICAgICAgICAgIG9zLmVudmlyb25bJ0xJQkdMX0RSSVZFUlNfUEFUSCddID0gZHJpcGF0aC5kZWNvZGUoJ3V0Zi04Jykuc3RyaXAoKQogICAgICAgICAgICAgZWxpZiBhcmcgPT0gJ3NlcmlhbCc6CiAgICAgICAgICAgICAgICAgc2VsZi5rZXJuZWxfY21kbGluZV9zY3JpcHQgKz0gJyBjb25zb2xlPXR0eVMwJworICAgICAgICAgICAgICAgIHNlbGYuc2VyaWFsY29uc29sZSA9IFRydWUKKyAgICAgICAgICAgIGVsaWYgYXJnID09ICJzZXJpYWxzdGRpbyI6CisgICAgICAgICAgICAgICAgc2VsZi5rZXJuZWxfY21kbGluZV9zY3JpcHQgKz0gJyBjb25zb2xlPXR0eVMwJwogICAgICAgICAgICAgICAgIHNlbGYuc2VyaWFsc3RkaW8gPSBUcnVlCiAgICAgICAgICAgICBlbGlmIGFyZyA9PSAnYXVkaW8nOgogICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJFbmFibGluZyBhdWRpbyBpbiBxZW11IikKQEAgLTExNjYsOCArMTE2NCw2IEBACiAgICAgICAgIGlmIG5vdCBvcy5hY2Nlc3MocWVtdV9iaW4sIG9zLlhfT0spOgogICAgICAgICAgICAgcmFpc2UgT0VQYXRoRXJyb3IoIk5vIFFFTVUgYmluYXJ5ICclcycgY291bGQgYmUgZm91bmQiICUgcWVtdV9iaW4pCiAKLSAgICAgICAgY2hlY2tfbGliZ2wocWVtdV9iaW4pCi0KICAgICAgICAgc2VsZi5xZW11X29wdCA9ICIlcyAlcyAlcyAlcyIgJSAocWVtdV9iaW4sIHNlbGYuZ2V0KCdORVRXT1JLX0NNRCcpLCBzZWxmLmdldCgnUk9PVEZTX09QVElPTlMnKSwgc2VsZi5nZXQoJ1FCX09QVF9BUFBFTkQnKSkKIAogICAgICAgICBmb3Igb3ZtZiBpbiBzZWxmLm92bWZfYmlvczoKQEAgLTExODcsNyArMTE4Myw3IEBACiAgICAgICAgIGlmIHNlbGYuc25hcHNob3Q6CiAgICAgICAgICAgICBzZWxmLnFlbXVfb3B0ICs9ICIgLXNuYXBzaG90IgogCi0gICAgICAgIGlmIHNlbGYuc2VyaWFsc3RkaW86CisgICAgICAgIGlmIHNlbGYuc2VyaWFsY29uc29sZToKICAgICAgICAgICAgIGlmIHN5cy5zdGRpbi5pc2F0dHkoKToKICAgICAgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoKCJzdHR5IiwgImludHIiLCAiXl0iKSkKICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygiSW50ZXJydXB0IGNoYXJhY3RlciBpcyAnXl0nIikKQEAgLTEyMTQsNyArMTIxMCw3IEBACiAgICAgICAgICMgICAgIElOSVQ6IElkICJTMSIgcmVzcGF3bmluZyB0b28gZmFzdDogZGlzYWJsZWQgZm9yIDUgbWludXRlcwogICAgICAgICBzZXJpYWxfbnVtID0gbGVuKHJlLmZpbmRhbGwoIi1zZXJpYWwiLCBzZWxmLnFlbXVfb3B0KSkKICAgICAgICAgaWYgc2VyaWFsX251bSA9PSAwOgotICAgICAgICAgICAgaWYgcmUuc2VhcmNoKCItbm9ncmFwaGljIiwgc2VsZi5xZW11X29wdCk6CisgICAgICAgICAgICBpZiByZS5zZWFyY2goIi1ub2dyYXBoaWMiLCBzZWxmLnFlbXVfb3B0KSBvciBzZWxmLnNlcmlhbHN0ZGlvOgogICAgICAgICAgICAgICAgIHNlbGYucWVtdV9vcHQgKz0gIiAtc2VyaWFsIG1vbjpzdGRpbyAtc2VyaWFsIG51bGwiCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHNlbGYucWVtdV9vcHQgKz0gIiAtc2VyaWFsIG1vbjp2YyAtc2VyaWFsIG51bGwiCg==